{"report_id":"f238756f-de9a-4c9e-be0b-b2363b12394a","version":0,"status":"done","tags":[],"date":"2026-07-27T07:14:21Z","url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":0,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"title":"Heavenwealth","dom":{"size":985,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (984), with no line terminators","md5":"b76e77ef4fece525b86f82d60242d239","sha1":"682736c7923adb32d113ee5bae951fc63b98f00f","sha256":"341f2741120524c151cefb65799e07bd79f782a58fdbf5bcd7a6a0da6a0c978b","sha512":"ae5ed9ce4fe07d45f1b86d4c28dfd9b6b3cdea5d3407c21b73d0d0789145a41e1befebb00187757a95b93d40ebc3f98b98284596ff7e1f5e23cc27aaa7e887bc","ssdeep":"","tlshash":"2f11257191c4201e8352d1d8e0e1377da3c2d40dc992cca2776829b3f1c4b3698575f8","dom_hash":"domhashdda2f72fae377190c818cc3070d0de92","first_seen":"2026-07-13T21:14:29.047764Z","last_seen":"2026-07-27T15:22:08.62856Z","times_seen":165,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":0,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:14:21Z","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":2}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null},"summary":[{"fqdn":"s3-symbol-logo.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":110931,"first_seen":"2020-11-23T08:22:37Z","last_seen":"2026-07-25T00:19:15.629884Z","alert_count":0,"request_count":8,"received_data":0,"sent_data":4624,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.googletagmanager.com","ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2011-11-11","domain_rank":283,"first_seen":"2012-10-04T01:07:32Z","last_seen":"2026-07-26T22:31:28.839046Z","alert_count":0,"request_count":2,"received_data":978294,"sent_data":946,"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"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":1,"received_data":62956,"sent_data":497,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":1,"received_data":3387,"sent_data":504,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s3.tradingview.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2010-03-20","domain_rank":165395,"first_seen":"2018-06-24T04:06:00Z","last_seen":"2026-07-25T05:38:23.80932Z","alert_count":0,"request_count":1,"received_data":33142,"sent_data":483,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"fqdn":"www.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2026-07-26T23:06:30.068608Z","alert_count":0,"request_count":1,"received_data":21136,"sent_data":602,"comment":"","tags":null,"fingerprints":null},{"fqdn":"heavenwealth.org","ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"domain_registered":"2024-11-27","domain_rank":4836906,"first_seen":"2026-07-27T04:30:29.634228Z","last_seen":"2026-07-27T04:30:29.634228Z","alert_count":0,"request_count":66,"received_data":2699636,"sent_data":34161,"comment":"","tags":null,"fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"jQuery:1.11.3","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":"Microsoft ASP.NET:4.0.30319","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":2,"received_data":81882,"sent_data":1128,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget.coinlib.io","ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-12-05","domain_rank":0,"first_seen":"2018-10-03T18:45:45Z","last_seen":"2026-07-21T04:22:09.03368Z","alert_count":0,"request_count":2,"received_data":1316,"sent_data":1212,"comment":"","tags":null,"fingerprints":[{"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":"coinlib.io","ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-12-05","domain_rank":119150,"first_seen":"2017-12-08T06:44:44Z","last_seen":"2026-07-25T05:38:23.773256Z","alert_count":0,"request_count":28,"received_data":1734099,"sent_data":14948,"comment":"","tags":null,"fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]}]},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":2,"received_data":1101,"sent_data":1252,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s.tradingview.com","ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":416574,"first_seen":"2017-01-30T05:04:39Z","last_seen":"2026-07-22T06:09:51.826411Z","alert_count":0,"request_count":2,"received_data":79283,"sent_data":1279,"comment":"","tags":null,"fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}]},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"92.223.127.157","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"The Netherlands","country_code":"NL"},"domain_registered":"2010-03-20","domain_rank":179381,"first_seen":"2015-02-20T09:47:36Z","last_seen":"2026-07-26T01:26:45.690501Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":742,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.tradingview-widget.com","ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"domain_registered":"2020-06-05","domain_rank":196495,"first_seen":"2021-04-08T06:14:48Z","last_seen":"2026-07-24T15:28:31.440139Z","alert_count":0,"request_count":256,"received_data":7399437,"sent_data":137318,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]},{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}]},{"fqdn":"binarymate.com","ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2015-08-11","domain_rank":2259338,"first_seen":"2016-07-13T09:32:44Z","last_seen":"2026-07-27T02:45:13.905814Z","alert_count":22,"request_count":11,"received_data":304957,"sent_data":6809,"comment":"","tags":null,"fingerprints":[{"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"]},{"name":"Chart.js","description":"Chart.js is an open-source JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element.","website":"https://www.chartjs.org","common_platform_enumeration":"","icon":"Chart.js.svg","categories":["JavaScript graphics"]},{"name":"Laravel","description":"Laravel is a free, open-source PHP web framework.","website":"https://laravel.com","common_platform_enumeration":"cpe:2.3:a:laravel:laravel:*:*:*:*:*:*:*:*","icon":"Laravel.svg","categories":["Web frameworks"]},{"name":"PHP","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:1.11.3","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":"Moment.js","description":"Moment.js is a free and open-source JavaScript library that removes the need to use the native JavaScript Date object directly.","website":"https://momentjs.com","common_platform_enumeration":"cpe:2.3:a:momentjs:moment:*:*:*:*:*:*:*:*","icon":"Moment.js.svg","categories":["JavaScript libraries"]}]},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-02-15","domain_rank":286,"first_seen":"2013-04-13T07:43:20Z","last_seen":"2026-07-20T08:23:54.066263Z","alert_count":0,"request_count":6,"received_data":3845660,"sent_data":6299,"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"]}]},{"fqdn":"pushstream.tradingview.com","ip":{"addr":"93.123.102.202","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"domain_registered":"2010-03-20","domain_rank":94515,"first_seen":"2016-09-22T12:08:22Z","last_seen":"2026-07-26T13:08:04.997239Z","alert_count":0,"request_count":1,"received_data":221,"sent_data":614,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget-sheriff.tradingview-widget.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2020-06-05","domain_rank":206730,"first_seen":"2024-02-01T14:12:53Z","last_seen":"2026-07-24T23:32:22.077351Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":566,"comment":"","tags":null,"fingerprints":null},{"fqdn":"telemetry.tradingview.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2010-03-20","domain_rank":64373,"first_seen":"2014-06-09T18:36:33Z","last_seen":"2026-07-24T05:20:52.484041Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":546,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s2.coinmarketcap.com","ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2013-04-28","domain_rank":209181,"first_seen":"2018-01-12T04:47:19Z","last_seen":"2026-07-27T02:47:27.888767Z","alert_count":0,"request_count":50,"received_data":124930,"sent_data":28007,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}]},{"fqdn":"scanner.tradingview.com","ip":{"addr":"143.204.238.58","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2010-03-20","domain_rank":111106,"first_seen":"2016-08-02T09:33:18Z","last_seen":"2026-07-22T10:20:45.048286Z","alert_count":0,"request_count":1,"received_data":715,"sent_data":674,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]}],"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":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","size":27733,"data":"","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-31T06:34:35.4362Z","times_seen":457,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/chart.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"d6a1bbcfea51b90230c8693bab5c33d9","sha1":"7f6a578def1b937d62bb1849871d63a7943a73f4","sha256":"9839eda0c1ae4e938bc1e4592b70fd70cd7f21a7a0c751d40743ef8e088ab35f","sha512":"a340de0a02c0d7e17315c90cb9a4fc886c4615253b8830a62e5783a0fc6ee03e5a0700395ae9aa4b73f21e4657193886f54853f0a471214a208b6aa03eacf48d","ssdeep":"768:IA+bGkw1msuAqxdcLB+xoc6s5z9DLVXz9GIydcEOpFI6NZWFcF/bHQ9SJaEI:Coc6s5z9DL6Sk","tlshash":"4a13a84a97bf1536e023312d6f4f2748a660542b0d4aeeac3d2c63e05fa453a15bdfb4","size":44839,"data":"","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-08-10T18:26:39.790175Z","times_seen":99,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-08-11T10:15:18.491713Z","times_seen":4646,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-08-11T10:15:18.492221Z","times_seen":3235,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"fa1723288f6a2cc208538bdb73447310","sha1":"a7c3bc7b298cdce447a8655b2644c9b5b087a765","sha256":"1c19e268dcea80037cfbd6735cd192e748f40a3af543964d5624f474431e50ea","sha512":"71724b49f8ccaa79aad697303629f73030b614e17f12a820719be584a523b0500258ef94290bfcd76e30fefb72a9fe139211cc8b1bd2edfda04499b38324378b","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4n30:eNogFbLr230","tlshash":"db822067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30bb7d","size":18665,"data":"","first_seen":"2026-07-27T07:14:43.859817Z","last_seen":"2026-07-27T07:26:08.897633Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-08-11T10:15:18.493263Z","times_seen":4805,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"f103cd93b96905ea7d90bf627d9ef69d","sha1":"e37e19173263d551d84957d033ef7a1a30e180ed","sha256":"30455182bf8db66b87f96444e3b4356eae13954eb33b29a9636817b091c7d25d","sha512":"8610576226b73656614eb67bb72368cab9d6d3834045eee7eeef1f25cea0d1c245c08cc7e15ef0d13a7a854d676e1ed45115d0c7fab0d4631d1b43caeeeef526","ssdeep":"","tlshash":"0711880a0135042a7ae04164b6362ef5363d3add4e43d6fc9b857c0872b3a728d50bfd","size":1016,"data":"","first_seen":"2026-05-25T20:24:44.28983Z","last_seen":"2026-08-11T04:47:30.233221Z","times_seen":653,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-08-11T10:15:18.495348Z","times_seen":3111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-08-11T10:15:18.495984Z","times_seen":4811,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","size":21217,"data":"","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-28T04:58:41.961336Z","times_seen":316,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"43cc84282ae8ae707422fe0e47a737e4","sha1":"9494dfe845f51f5f1a62975275bc212704af3f7b","sha256":"84be6de752c70c93efb10cb0b1bee2711b78342f56d6fcf411ab0f8c5c003348","sha512":"e21b2eb023b2c19c6a1bee13ac490e62d541e2f74e423ce0073b1ec70e611810dc842db685d8eedb836d0520e71553cd308175651f588f74b49a887920f060f4","ssdeep":"","tlshash":"80b092252098852637f508bcb96467d4bd3241a060096151903d899819b6f8b0990bef","size":121,"data":"","first_seen":"2026-06-05T01:28:54.596192Z","last_seen":"2026-08-11T04:47:30.208577Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10d8b01b1b865a519be7d5b88e98bcac","sha1":"80cc14de2c8bb984866e74720f37ad57a80e9acf","sha256":"ce33f60576204820a75cd31723620bd7247276841db0647fb820abea4c8ab03d","sha512":"cf9a2f01ddc7113f81551041381a6e81350c9febe4b7f24f2143df7177c5bdf87a4cc5ef95a5a14ab06aeab4a710635b1e8c60e816eeeebe0766eeaa643d7208","ssdeep":"","tlshash":"f0f00e358b3c10220aec08f9c0898be83e2d7262e0245060fc69de7d0948cafd053eef","size":525,"data":"","first_seen":"2025-07-20T14:54:50.990021Z","last_seen":"2026-08-11T04:47:30.209348Z","times_seen":4951,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"630261c66fd1cfdc1d377aeacf7cae48","sha1":"2510e79e093980a6efcdd513d4134a19f2b96ee9","sha256":"2f90d6879fdf68aabce3ae9fbf0028a10659ba1870e24687a8de1bced3e5314f","sha512":"dd63351fe827dcd768ed78b36ef29fcaafb1d0583cecbf8af4dfa8d20fb478d9e14e87640b1a089cde6ce993a61d73f992e79522c7a77368405134f12cbe01ea","ssdeep":"","tlshash":"54f0c0df1711c972c6b98167337fb355383272127a9104209658aad86920cd3c219c87","size":542,"data":"","first_seen":"2026-06-16T13:06:30.04206Z","last_seen":"2026-08-11T04:47:30.210078Z","times_seen":1865,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-08-11T11:53:38.793478Z","times_seen":220735,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ecaea12642976a1d336129f8c85369e","sha1":"a6999ecd201a6667f53a0ef41335fec9e160ad20","sha256":"bf3f74192fbb6caa6f83b6dbf1fabe1975fe5899d1b824f0ae074c30a9f8d371","sha512":"d7d20694badab3c88645a504b7d386dc31ae1972c286da756e91824726e79c7d7de2152680962ffdc1d53aaf6a811e4771038420f1405d325884044943246d55","ssdeep":"","tlshash":"65d02241b006dcd29ca2bb2a71348ca9009caa7c10a161c4b2cfc25100b39780b42a0f","size":206,"data":"","first_seen":"2026-06-12T17:57:14.031557Z","last_seen":"2026-08-11T04:47:30.212119Z","times_seen":1913,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b6821bb45424547e332af4cefb5a5a75","sha1":"4767332b287c3b15f28ce99f18aca4ddb021f181","sha256":"e0c576273d1ca8ee9a2fba609a005263c2bb272cdec1d6ab5b997dc7c586bc06","sha512":"e2a0babe63e240a4bee41e4c5c1bcc19f8666a69fcd43eb6b0c3671b929958fba310283d97fa4923654ded85f5bec8f38ed0b3ca02d30aab912ac77dee4f01e9","ssdeep":"","tlshash":"5f41ff25c50fdc0889f3cda230cdb913281a913056e22657d96e5ee9cddf43b53a2b58","size":2225,"data":"","first_seen":"2026-06-12T17:57:14.032554Z","last_seen":"2026-08-11T04:47:30.212751Z","times_seen":1913,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"0fa06e655bed2d7a59c026cb90ba9802","sha1":"547bbafeb7acece1ce2f2509f8bf346043d84fc1","sha256":"c9da0420122e0b5f04aa5bdd58c285498cc2921321de0c0a4b1fdc766c821a18","sha512":"e2aa2182136fdf4aca1b1667166168ca0fd10c964e7c6719aa561160dafae66ea577fba93d15074f86ffa35182adf99c2c96ed72627b5f52febc663e406e2921","ssdeep":"","tlshash":"cb800475c0400d1741f1001314343011515c440444010150d3517145151111d7d1fd4d","size":35,"data":"","first_seen":"2026-07-07T19:15:46.886577Z","last_seen":"2026-07-29T06:17:13.213594Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"e3204b49a85b636cc8880cbad5ba5018","sha1":"6dfed1a64fc53aee256c26a5c52cc6491df97ab5","sha256":"a765dc27704c7f8a199ae74b8af7ddf6be7485298a56dd54bc46fdb7b69b1221","sha512":"f99c67dba4af1db7d12716d800e54f232db84e89854334f126cbdea05cfeef08509cc055ae2084173338097125b435b5229d4b00d74fdc4b995a87aaa9258038","ssdeep":"768:XyOQ03DV6Ly5NEdTtWWLiQn6spuNokpvauELcQcrQ+0XjsbgXlmJJWXzIC6tLKf3:XyOR6LMELcUPwbgXl52cfIyZ589e","tlshash":"7bc39268f224e77e7d3778ac96bce44c320571a1e9f807dee95172119fc3bb26829118","size":123458,"data":"","first_seen":"2026-07-07T19:15:46.907257Z","last_seen":"2026-07-29T06:17:13.214911Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"67a5c420ee38fdc0a33429a1b395663a","sha1":"d18d9874a6ac698c63568a84f1a8b515a9adbbe5","sha256":"c2759dec8fbb791e08e0b550a68d292862d8a0a9c14170d9a1ee5942e07c5d0c","sha512":"1ece6c5b4d04d6df39312c28872d53ce4029ff463bdc2950077bc1b1861d91dcbf95cd010e6a397c48717f6ba62923783d947a93d07d403c8f5fea96c845f98a","ssdeep":"","tlshash":"2501c02a5400ee5eecaa1eb4113d8dbb268d8abfc250cdfcd459de242f4627513a79c1","size":831,"data":"","first_seen":"2026-07-23T13:38:20.570216Z","last_seen":"2026-07-29T06:17:13.216197Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1589309228d0596a56ca9637600c0ffd","sha1":"0ee2c12424b1650ebfe7c9aacade8146e4270115","sha256":"1dd1d72183717c7c8dfe538108603807a462ddc3769bb5114cee9f8b8c3ab1c8","sha512":"243e5a148dc39dbc7129e66fc0e760f5690f408adec6a19e92eb41013fbd1f25bf12881022d4afbbe487b9269f51665585861a9d985ece6eecb5df695a9e3b02","ssdeep":"","tlshash":"7a11e01eda5eee49a829cd1f143b1f3688c4dc779034156db25ecfc81262fa20ba9d91","size":1030,"data":"","first_seen":"2026-06-13T02:21:16.275218Z","last_seen":"2026-08-06T12:32:43.517227Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10967388aedd93a37687c8c1ce2fcb80","sha1":"6a3fbd3121492cb2dbc250e1078291fb40a5b933","sha256":"03728e970c199ba3374ce7b1b3f3163632fa6de63ef11aa3a05d5824e3674b52","sha512":"939dc8ddedb2b725ff92e0a41928b7227646168e4948a090c4271fcfdb7b6089f60d0945a1d5f213eef31f6000ee46460c63d2b11ca5cd9ace0b906d97445573","ssdeep":"","tlshash":"5451337d3504c96bedad785a127fbe3528d9016b07d0ceb887c8de0409418bfa756dc1","size":2768,"data":"","first_seen":"2026-06-29T23:16:30.42623Z","last_seen":"2026-07-29T06:17:13.218911Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"307cab8226db7752ba6aaaff5720e1ae","sha1":"13cddabd9f6bc9191241d2165fcb4b081f20c93f","sha256":"54426822571d255ae68721d9aabe5fc072c61606fe2ffe791667e198f94ae3b0","sha512":"f433b9e8b489e6999a6eb18a6ed6c8e3578fbb8539bf12c7149bbad162d2c1916abfcef37ee635cbebf013d407d9c370d8ba26286d9de08864aa44c8079df353","ssdeep":"","tlshash":"9331d729f045f68abd9f26b5903fdcbe218f546e0fa19ab4465789a9470103d2783ec0","size":1623,"data":"","first_seen":"2026-06-12T17:57:14.038934Z","last_seen":"2026-07-29T06:17:13.220051Z","times_seen":1701,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"04a519a0bd479c67c4ebacec3d09f64b","sha1":"85232a728bf982cc4a73732a1e798f279fd1b93e","sha256":"35f0bb0c452726724f562ca9d05532bb98aac7b8d11ed0de1cac17d2d096823f","sha512":"23d7695f631768e74b2982c8336546ae4c9e85b33dff0e986f29119c3644bf89dc262c7dc87e40d5c99c439436ddb989d78f2a3c40dde91b54522b2917651868","ssdeep":"","tlshash":"6c21926e6804de57ec3e3d69053eed3a10cd887b4650def8829ece041a0297a37dadc1","size":1206,"data":"","first_seen":"2026-06-13T02:21:16.284448Z","last_seen":"2026-08-06T12:32:43.51896Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"25365a482f6248f1da0c3425cc63a8ce","sha1":"c34437aaa7f17ead780baa8bf8043f664b4fb2c4","sha256":"61be21898e1e84434732d2734df95db4af9ecb4e5f2486f2da7641bfb09224c4","sha512":"8dce633aacfbd032476a23f6c09e157087e1598acd773f855f29b9ddc2f649c17eaf0d0b13807397663991feea665e1d9d0692e5fd6e5ffd18a16db2ac340898","ssdeep":"","tlshash":"6ad012909c82cc1dc6a60f37283a6c3622dcc66447455586adc9da695a8ae3105a5dca","size":198,"data":"","first_seen":"2026-01-16T17:39:52.610905Z","last_seen":"2026-08-11T04:47:30.221384Z","times_seen":1902,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"44652b490b6c9ea2158adc5e0daf547d","sha1":"77c456327b269bf17f3898b9250e3829e77ebc47","sha256":"92fb3cc60692c42b2fdf8a54159d9197f9d0db962357ea84f96c373efeaf761a","sha512":"6e8ad870e7e45d5b1f8d83242685835e8abac75962f49b68e99c5a3a43cb1bb6d45698153757a16ab0a91c6c7e5f610870e696c51497bac74d88ebc4c591db45","ssdeep":"","tlshash":"32c04c25c95999059825cc8e141a2f2a868ac87640280d74736dd9886161b415b59d95","size":153,"data":"","first_seen":"2026-07-07T13:53:11.726539Z","last_seen":"2026-08-11T04:47:30.222029Z","times_seen":1667,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b1691151961bb944c7869d870287a11f","sha1":"b4548e10cff0bbac231a29ceb780078813a47fbb","sha256":"d1efa1aee00140209d76ff05acbc6e90d27a3c130cb231383fd87a5ce25dc4a2","sha512":"ea9a091ece87fc089d0e9823673c4132c7f4515c8068911d43c98245b38f19657bc47ad9bc8629f396edbfefc4f14dbf897ec0cfd892705ec315e07043654c5f","ssdeep":"","tlshash":"f3418bb2ec19ec44e7c65e0c693a7ca454dd83a29186a08fb29ced784587d344df1a32","size":2250,"data":"","first_seen":"2026-07-07T13:53:11.727685Z","last_seen":"2026-08-11T04:47:30.222664Z","times_seen":1667,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9cf78eef34d81797843553088423cc4c","sha1":"4c318f4848444ebeffd7c3ec362e7a5d9d8dc1d6","sha256":"08cb761b3122248600905b315d7839106f6090b3f0b7496b3d6f817a15fa134e","sha512":"c64ab5ad79ad42752434c79a13f34faff7dcbde611281078b2454feec5c4ee3b34f5ea2011a402792e0828759876b339dcba5c7a09a5bd2ab58c9d7891b5c2bb","ssdeep":"","tlshash":"0bc08ceca97db246606b6e8c900322181763960fa4402854c51592413a33a06a50f9bc","size":160,"data":"","first_seen":"2026-07-27T00:29:31.613797Z","last_seen":"2026-07-28T07:04:56.409749Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a5c4beebe509ac3027b79744b905303","sha1":"7eea8e87ac7a5ed1631873659a90a89e9a2cf256","sha256":"212519cc555451f5eb9173d72cf1b953de12bd91b643471be5673492e5fd4df0","sha512":"0c8c00ea4bf02423fb14f74c67dae3bb80ee82ec07ec85b67af6c9a158458956589e013607b8a608b44a881e754cd710e6ebfaf8a8037aab14d3877b9ba6d90f","ssdeep":"768:3KHYGd+QIbZ15yDJjyD272qzGJOeK6+ZJT:64fDbLoRT","tlshash":"5bc2fa867011b1ad92e789d681bf055de33f396c384d4d70f2b8d8cc69a7958e326e0e","size":27782,"data":"","first_seen":"2026-07-23T14:00:31.452652Z","last_seen":"2026-07-28T04:48:50.494068Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"75a92bf0b7262ea95aeb905148bbdc0e","sha1":"878ef66813fe4ea27c7a26d305cfe8725b60719a","sha256":"551f05790db1227ade331411938bf15f6eef4de8329649c7d4f40f38c493ccc6","sha512":"648224477ebffcb9bc340f550d5a4f0e49dac46b2a95833fbd4faa0aec48d78d566322363bb443a58de62a9917a0779f2054f51074809815c7401e24558b1bac","ssdeep":"","tlshash":"5fc09247f5b0164b049ae20ae387488c72bc8509463a0e292791a0ca3eb3f9d070e1a8","size":132,"data":"","first_seen":"2023-03-13T22:54:55Z","last_seen":"2026-08-11T04:47:25.224524Z","times_seen":1368,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"1031eac5ded0c8706c7e9472a10a5896","sha1":"8399f5dfcb9819fdde2fc13586bd3db6a9b7f6c9","sha256":"a0c818b5f571059b4c698d0ed0e45749098edefb35cab3a04ee9d4a089b1a21b","sha512":"c4ecca2cf562e4c923f4ab0d383250f29366c1e6c180b34f6cea8d70f8082dcaeeba0fd9982f94222577058dd9b17f9b01af2cb904a668c9a260f278037f3dff","ssdeep":"","tlshash":"ea01eca630930c210dfb6159822f695e35e4c0072c47cd413a7de7596f76f438a97a9b","size":674,"data":"","first_seen":"2026-07-27T04:30:37.223307Z","last_seen":"2026-07-27T11:13:26.239058Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"b818091cc30a932adb8ccb574b98e8a5","sha1":"e6442e732768237312e9b18748a5da86c20295c8","sha256":"d17d7ae6c537e1381b03327325bd99d8951439be4a8e4a5ff74860a24f144405","sha512":"3d4aaca9231c343c0159562a4a41f7a76a08865b3e4f73de8c17e473c1d5a63c2cda6516a79805c664f8a8013a82e8ca196b389247ef11e7db846ddcc4b9c900","ssdeep":"","tlshash":"11d09b08b7425394399001104fec565c54f9f027ec0bcd89355f9554cff6c59e94d5f0","size":229,"data":"","first_seen":"2026-07-27T04:30:37.22545Z","last_seen":"2026-07-27T11:13:26.239813Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d44d9c48c734d0d534a6b8f775fb7675","sha1":"1a1fe2cf2d73b4c3d1b6a965d533a4bb42a8775b","sha256":"abdbb56cf6cc16ebfdbf50a1b50fe49ad2557929f2e9cb4d257e7d1b10e22df2","sha512":"931c19dd1f42d23fcf8e3a7dda62fefe83a7c6e488bead1565e9b5708cb7522772594fddd9131d3a740c7e7c76052d8cab9ce80a993ebd9338a312296f74f25b","ssdeep":"","tlshash":"74f0cd14df2a4c7714c451450ca95049150c40a75d4b385c777da5bc4f8fe5f5677bdc","size":612,"data":"","first_seen":"2026-07-27T04:30:37.227301Z","last_seen":"2026-07-29T06:14:00.482582Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"249fd4ffe02b3064e1c1ede41d90004d","sha1":"782eb53e52cef2dcddabc1227a3ac75cf1d7705b","sha256":"04ecc7b0a0e08a3c8e70395bb52eea808bbce91630b4c074c7a1da73e2ec89c3","sha512":"962ab05502f0a6086e8b9a5758f6117b6db882d1e3e96d149944779a58c112cad0c26c44476fee4607be3e7d06e43213cd5ae787256a5e3cb0c49f4b1f69856b","ssdeep":"","tlshash":"3bd0123e74f690580173b2280e0f88086533782ba08d9f44bd0d89e51f7823ca2c3a45","size":223,"data":"","first_seen":"2026-07-11T07:01:02.174518Z","last_seen":"2026-08-10T01:49:01.482398Z","times_seen":22,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"1937b1a41b4a96627a2f406ccae446b7","sha1":"e1ca665de0c5d3e6d4616e1560bd57ecdb7002b2","sha256":"4564a1a8088d568a075cf8b6f10d29bf68974362441d93f41846b17c5349d933","sha512":"3820a9a76a9e633951a301803a1b9792d5a25174c6c150886377e5dd1423143bca2b5bb0bfa3dcc4eb4b97137ed09381e7869f72d2a9ff8e298c11eca06cd2ee","ssdeep":"","tlshash":"40e05b6a55e355726a5f73bc1b5ff441773654c3900d69057d0c1d64bf80d3843b1a50","size":297,"data":"","first_seen":"2026-06-08T09:22:18.507629Z","last_seen":"2026-08-10T18:34:15.948071Z","times_seen":87,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"c94b45ac0fa692eb391f1f85f20ce025","sha1":"839324dcc71e26d373368aa741c31a68d930ac67","sha256":"63342e8a6dbcc682899a0cbd1468b4005f0cdf22fd4d96b3297ab245f3433364","sha512":"cc69f09638f0cb00a19d3ff5d55125076e2a6aa4a56445f81850b7701bf799991d8b78308a01fefaff1a57fba5bbd30c0d2849115deb12402b3dc80d37a2bcab","ssdeep":"","tlshash":"1fb01204fdf4a61180606c184c7fd0228125487168408554098242b6e6100413803c80","size":89,"data":"","first_seen":"2026-02-21T04:56:03.711999Z","last_seen":"2026-07-27T11:51:38.69123Z","times_seen":15,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f910caa148db84c6d3fe2c27a273df38","sha1":"4029451605a826ccdb7c1a3572ab0086200cb340","sha256":"b301a2ee07d186a1df735a53137598ea6b2c83a5e01a7fdb64b6d811987186b2","sha512":"2f3bc93c35a16ddfb62309dd7074d76552ea50ed17fb6c7c59625743938f17959309145cbcbea5dabdcf2b79f73dbd3e400d02a513de9b07788b3e29cc4b8ab2","ssdeep":"","tlshash":"06d02b5a7b45067446c6d1b6623bf344303ea1a8cc3350445d2949609730a423827890","size":270,"data":"","first_seen":"2025-04-25T17:06:49.174237Z","last_seen":"2026-07-27T11:51:38.69339Z","times_seen":52,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"041e44de3830f48200ff43cf74d308e9","sha1":"b7d60b89302782965e7fdcd5b4aec7aae201d87b","sha256":"4d503864a451d33a796f3f1d5aed6de51dfce57d179324a7887203e4e7d4b9f4","sha512":"904dcbe9cdd485181eaab5afaafef15e58e199e59135951b36d7cf205ec4aa4ef3c0a16a9378e5e7193599e0df2f066b2c7e0458b4968cc20dc40b5ab4980d2b","ssdeep":"","tlshash":"a6d0a73df02c615800c7112d2827d4982a1326106445514a982d20781e1c4c5394740f","size":219,"data":"","first_seen":"2025-02-11T08:36:19.140634Z","last_seen":"2026-07-27T13:29:31.744026Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"43cc84282ae8ae707422fe0e47a737e4","sha1":"9494dfe845f51f5f1a62975275bc212704af3f7b","sha256":"84be6de752c70c93efb10cb0b1bee2711b78342f56d6fcf411ab0f8c5c003348","sha512":"e21b2eb023b2c19c6a1bee13ac490e62d541e2f74e423ce0073b1ec70e611810dc842db685d8eedb836d0520e71553cd308175651f588f74b49a887920f060f4","ssdeep":"","tlshash":"80b092252098852637f508bcb96467d4bd3241a060096151903d899819b6f8b0990bef","size":121,"data":"","first_seen":"2026-06-05T01:28:54.596192Z","last_seen":"2026-08-11T04:47:30.208577Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10d8b01b1b865a519be7d5b88e98bcac","sha1":"80cc14de2c8bb984866e74720f37ad57a80e9acf","sha256":"ce33f60576204820a75cd31723620bd7247276841db0647fb820abea4c8ab03d","sha512":"cf9a2f01ddc7113f81551041381a6e81350c9febe4b7f24f2143df7177c5bdf87a4cc5ef95a5a14ab06aeab4a710635b1e8c60e816eeeebe0766eeaa643d7208","ssdeep":"","tlshash":"f0f00e358b3c10220aec08f9c0898be83e2d7262e0245060fc69de7d0948cafd053eef","size":525,"data":"","first_seen":"2025-07-20T14:54:50.990021Z","last_seen":"2026-08-11T04:47:30.209348Z","times_seen":4951,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"630261c66fd1cfdc1d377aeacf7cae48","sha1":"2510e79e093980a6efcdd513d4134a19f2b96ee9","sha256":"2f90d6879fdf68aabce3ae9fbf0028a10659ba1870e24687a8de1bced3e5314f","sha512":"dd63351fe827dcd768ed78b36ef29fcaafb1d0583cecbf8af4dfa8d20fb478d9e14e87640b1a089cde6ce993a61d73f992e79522c7a77368405134f12cbe01ea","ssdeep":"","tlshash":"54f0c0df1711c972c6b98167337fb355383272127a9104209658aad86920cd3c219c87","size":542,"data":"","first_seen":"2026-06-16T13:06:30.04206Z","last_seen":"2026-08-11T04:47:30.210078Z","times_seen":1865,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-08-11T11:53:38.793478Z","times_seen":220735,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ecaea12642976a1d336129f8c85369e","sha1":"a6999ecd201a6667f53a0ef41335fec9e160ad20","sha256":"bf3f74192fbb6caa6f83b6dbf1fabe1975fe5899d1b824f0ae074c30a9f8d371","sha512":"d7d20694badab3c88645a504b7d386dc31ae1972c286da756e91824726e79c7d7de2152680962ffdc1d53aaf6a811e4771038420f1405d325884044943246d55","ssdeep":"","tlshash":"65d02241b006dcd29ca2bb2a71348ca9009caa7c10a161c4b2cfc25100b39780b42a0f","size":206,"data":"","first_seen":"2026-06-12T17:57:14.031557Z","last_seen":"2026-08-11T04:47:30.212119Z","times_seen":1913,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b6821bb45424547e332af4cefb5a5a75","sha1":"4767332b287c3b15f28ce99f18aca4ddb021f181","sha256":"e0c576273d1ca8ee9a2fba609a005263c2bb272cdec1d6ab5b997dc7c586bc06","sha512":"e2a0babe63e240a4bee41e4c5c1bcc19f8666a69fcd43eb6b0c3671b929958fba310283d97fa4923654ded85f5bec8f38ed0b3ca02d30aab912ac77dee4f01e9","ssdeep":"","tlshash":"5f41ff25c50fdc0889f3cda230cdb913281a913056e22657d96e5ee9cddf43b53a2b58","size":2225,"data":"","first_seen":"2026-06-12T17:57:14.032554Z","last_seen":"2026-08-11T04:47:30.212751Z","times_seen":1913,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"0fa06e655bed2d7a59c026cb90ba9802","sha1":"547bbafeb7acece1ce2f2509f8bf346043d84fc1","sha256":"c9da0420122e0b5f04aa5bdd58c285498cc2921321de0c0a4b1fdc766c821a18","sha512":"e2aa2182136fdf4aca1b1667166168ca0fd10c964e7c6719aa561160dafae66ea577fba93d15074f86ffa35182adf99c2c96ed72627b5f52febc663e406e2921","ssdeep":"","tlshash":"cb800475c0400d1741f1001314343011515c440444010150d3517145151111d7d1fd4d","size":35,"data":"","first_seen":"2026-07-07T19:15:46.886577Z","last_seen":"2026-07-29T06:17:13.213594Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"e3204b49a85b636cc8880cbad5ba5018","sha1":"6dfed1a64fc53aee256c26a5c52cc6491df97ab5","sha256":"a765dc27704c7f8a199ae74b8af7ddf6be7485298a56dd54bc46fdb7b69b1221","sha512":"f99c67dba4af1db7d12716d800e54f232db84e89854334f126cbdea05cfeef08509cc055ae2084173338097125b435b5229d4b00d74fdc4b995a87aaa9258038","ssdeep":"768:XyOQ03DV6Ly5NEdTtWWLiQn6spuNokpvauELcQcrQ+0XjsbgXlmJJWXzIC6tLKf3:XyOR6LMELcUPwbgXl52cfIyZ589e","tlshash":"7bc39268f224e77e7d3778ac96bce44c320571a1e9f807dee95172119fc3bb26829118","size":123458,"data":"","first_seen":"2026-07-07T19:15:46.907257Z","last_seen":"2026-07-29T06:17:13.214911Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"67a5c420ee38fdc0a33429a1b395663a","sha1":"d18d9874a6ac698c63568a84f1a8b515a9adbbe5","sha256":"c2759dec8fbb791e08e0b550a68d292862d8a0a9c14170d9a1ee5942e07c5d0c","sha512":"1ece6c5b4d04d6df39312c28872d53ce4029ff463bdc2950077bc1b1861d91dcbf95cd010e6a397c48717f6ba62923783d947a93d07d403c8f5fea96c845f98a","ssdeep":"","tlshash":"2501c02a5400ee5eecaa1eb4113d8dbb268d8abfc250cdfcd459de242f4627513a79c1","size":831,"data":"","first_seen":"2026-07-23T13:38:20.570216Z","last_seen":"2026-07-29T06:17:13.216197Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1589309228d0596a56ca9637600c0ffd","sha1":"0ee2c12424b1650ebfe7c9aacade8146e4270115","sha256":"1dd1d72183717c7c8dfe538108603807a462ddc3769bb5114cee9f8b8c3ab1c8","sha512":"243e5a148dc39dbc7129e66fc0e760f5690f408adec6a19e92eb41013fbd1f25bf12881022d4afbbe487b9269f51665585861a9d985ece6eecb5df695a9e3b02","ssdeep":"","tlshash":"7a11e01eda5eee49a829cd1f143b1f3688c4dc779034156db25ecfc81262fa20ba9d91","size":1030,"data":"","first_seen":"2026-06-13T02:21:16.275218Z","last_seen":"2026-08-06T12:32:43.517227Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10967388aedd93a37687c8c1ce2fcb80","sha1":"6a3fbd3121492cb2dbc250e1078291fb40a5b933","sha256":"03728e970c199ba3374ce7b1b3f3163632fa6de63ef11aa3a05d5824e3674b52","sha512":"939dc8ddedb2b725ff92e0a41928b7227646168e4948a090c4271fcfdb7b6089f60d0945a1d5f213eef31f6000ee46460c63d2b11ca5cd9ace0b906d97445573","ssdeep":"","tlshash":"5451337d3504c96bedad785a127fbe3528d9016b07d0ceb887c8de0409418bfa756dc1","size":2768,"data":"","first_seen":"2026-06-29T23:16:30.42623Z","last_seen":"2026-07-29T06:17:13.218911Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"307cab8226db7752ba6aaaff5720e1ae","sha1":"13cddabd9f6bc9191241d2165fcb4b081f20c93f","sha256":"54426822571d255ae68721d9aabe5fc072c61606fe2ffe791667e198f94ae3b0","sha512":"f433b9e8b489e6999a6eb18a6ed6c8e3578fbb8539bf12c7149bbad162d2c1916abfcef37ee635cbebf013d407d9c370d8ba26286d9de08864aa44c8079df353","ssdeep":"","tlshash":"9331d729f045f68abd9f26b5903fdcbe218f546e0fa19ab4465789a9470103d2783ec0","size":1623,"data":"","first_seen":"2026-06-12T17:57:14.038934Z","last_seen":"2026-07-29T06:17:13.220051Z","times_seen":1701,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"04a519a0bd479c67c4ebacec3d09f64b","sha1":"85232a728bf982cc4a73732a1e798f279fd1b93e","sha256":"35f0bb0c452726724f562ca9d05532bb98aac7b8d11ed0de1cac17d2d096823f","sha512":"23d7695f631768e74b2982c8336546ae4c9e85b33dff0e986f29119c3644bf89dc262c7dc87e40d5c99c439436ddb989d78f2a3c40dde91b54522b2917651868","ssdeep":"","tlshash":"6c21926e6804de57ec3e3d69053eed3a10cd887b4650def8829ece041a0297a37dadc1","size":1206,"data":"","first_seen":"2026-06-13T02:21:16.284448Z","last_seen":"2026-08-06T12:32:43.51896Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"25365a482f6248f1da0c3425cc63a8ce","sha1":"c34437aaa7f17ead780baa8bf8043f664b4fb2c4","sha256":"61be21898e1e84434732d2734df95db4af9ecb4e5f2486f2da7641bfb09224c4","sha512":"8dce633aacfbd032476a23f6c09e157087e1598acd773f855f29b9ddc2f649c17eaf0d0b13807397663991feea665e1d9d0692e5fd6e5ffd18a16db2ac340898","ssdeep":"","tlshash":"6ad012909c82cc1dc6a60f37283a6c3622dcc66447455586adc9da695a8ae3105a5dca","size":198,"data":"","first_seen":"2026-01-16T17:39:52.610905Z","last_seen":"2026-08-11T04:47:30.221384Z","times_seen":1902,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"44652b490b6c9ea2158adc5e0daf547d","sha1":"77c456327b269bf17f3898b9250e3829e77ebc47","sha256":"92fb3cc60692c42b2fdf8a54159d9197f9d0db962357ea84f96c373efeaf761a","sha512":"6e8ad870e7e45d5b1f8d83242685835e8abac75962f49b68e99c5a3a43cb1bb6d45698153757a16ab0a91c6c7e5f610870e696c51497bac74d88ebc4c591db45","ssdeep":"","tlshash":"32c04c25c95999059825cc8e141a2f2a868ac87640280d74736dd9886161b415b59d95","size":153,"data":"","first_seen":"2026-07-07T13:53:11.726539Z","last_seen":"2026-08-11T04:47:30.222029Z","times_seen":1667,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b1691151961bb944c7869d870287a11f","sha1":"b4548e10cff0bbac231a29ceb780078813a47fbb","sha256":"d1efa1aee00140209d76ff05acbc6e90d27a3c130cb231383fd87a5ce25dc4a2","sha512":"ea9a091ece87fc089d0e9823673c4132c7f4515c8068911d43c98245b38f19657bc47ad9bc8629f396edbfefc4f14dbf897ec0cfd892705ec315e07043654c5f","ssdeep":"","tlshash":"f3418bb2ec19ec44e7c65e0c693a7ca454dd83a29186a08fb29ced784587d344df1a32","size":2250,"data":"","first_seen":"2026-07-07T13:53:11.727685Z","last_seen":"2026-08-11T04:47:30.222664Z","times_seen":1667,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1fff332780e527639f64c89183f49b53","sha1":"e9c0d16f6e00accc87eeddec9845e7a9714f282b","sha256":"d41142433105e76432dcf3234e68b7bf2d11ead80465d9d13da9303ca72504b4","sha512":"b3edbdd776178eba7eef0a761a0ce926f74d982caf23c61f4d82e17a12cacc50dc1a00dc0418c6fc90e3af287a4cb73ed79763f80a6bfe97c3dee08903e32ff3","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000c0000c000000003","size":2,"data":"","first_seen":"2023-03-10T13:21:30Z","last_seen":"2026-08-02T23:01:01.276572Z","times_seen":4252,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","size":16073,"data":"","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-28T06:17:53.448224Z","times_seen":85,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5403fe454468d6f2c1e00620999f84e2","sha1":"44ca84eca9d191e429fa0494fea91df1178952c2","sha256":"5eef084cbffa2f09fa8bade6dc4fa1b128d9fff17b34ac96db26ffa98e512ee2","sha512":"f19deb366e02d700af9130cae13f4430c1bb342048b478f1e93635374c68bc7cb9b251bb3635385d8925ea5caa2b266d8cbbc1884de5efb3d620725a28177fd8","ssdeep":"49152:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43rXOBBNrYqvlpRrslAf9qWka3vxS3+2lBv:mDQ","tlshash":"7b955ca2b2a134ab57e601e558b50403e35918867c07856cf67c9cef28adc4d32bef7d","size":1931549,"data":"","first_seen":"2026-07-24T11:36:48.310417Z","last_seen":"2026-07-28T06:17:53.636062Z","times_seen":200,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"42e34d43963ba5c8f37c775b35258a3f","sha1":"77848caef3f422b34490fbcc9b420a2eae91e973","sha256":"4bca020551dc54855ef72cda3d88a25ac010c32345bebd8111e1d884f56b1dfb","sha512":"1d102717114d2322ba1fd3ec6fab0b9da9bc194793c340ce4efc56611ac5ea53860b13a04ec8c3e20da463da1c752b9254516dce5bc499934db40f301037ea5a","ssdeep":"","tlshash":"8690020da4210201206830c4fa8236426c9104a04f099c100101d81061c910bc8556df","size":46,"data":"","first_seen":"2026-05-25T20:24:44.282834Z","last_seen":"2026-08-11T10:15:18.491713Z","times_seen":4646,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2d411354f21bb22b65f55d8bfad14f6e","sha1":"0a0a24845eb1cac5a48518e1bc5db6e3d5dce792","sha256":"cb1426008557b5894157468472242e22bb84d186d91063e50456abb38b79ed23","sha512":"f95f53d57cf6b8cd06137c700ea9f82b2342115f8ac40630b9fcd57322f6e4d42e6ed7ffe48e64c0dbe39388cfb9f76813d882fb40b9c5504cf0e670ab3b28fb","ssdeep":"","tlshash":"1d80002080a00000a28830c2e008002c3838c3320a8022c0838080028082ae082e02a3","size":27,"data":"","first_seen":"2026-07-16T11:36:17.999846Z","last_seen":"2026-08-11T10:15:18.492221Z","times_seen":3235,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8f253e9138f42b6d33bdfef26328fd32","sha1":"4c11800ab932414ec9808a381b4c9a75d664c2e2","sha256":"cafb35c32a6fd66d28928d2fe961f5a789e234c84ba0cea7cb503976e3888481","sha512":"e9a5598d7f113653c6cda5e07873324dcdae385cf7f0196fbc07cea6ceb6c1a58809bf462a3a460acbc5b5985ea774b2a7ca982f5c83459e2660419ae4afa2ba","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka42h30:eNogFbLr9h30","tlshash":"26822057c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30ba7d","size":18668,"data":"","first_seen":"2026-07-27T07:14:43.878853Z","last_seen":"2026-07-27T07:38:32.840661Z","times_seen":14,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8062d232826eee4ffac1e152a5142514","sha1":"1b7f2090ebcfc1380f56c34dfc4f294c7301605d","sha256":"ace81cabed19b96885e6fec0ca99bfc73b71b6ad7df50664f92e68ca7281512c","sha512":"4e11703f66d5cb936d78dc2aca12c94504819135e1040189ba4675f1c0b5c1478ece5ca2f02d7c893a38b341f34dc318703d6d7a4c51307c031d5384676f2c01","ssdeep":"","tlshash":"78f02d7c1403dcf784fa1082c6b8e2c0c653856aef942ee123408ac2220ebaf02b1bd1","size":651,"data":"","first_seen":"2026-05-25T20:24:44.288837Z","last_seen":"2026-08-11T10:15:18.493263Z","times_seen":4805,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"79e2bc5ca02b363ce208616679c02de2","sha1":"45b2168b43994b3852f7d3733cdafb828e032bb8","sha256":"0f885102e5b1f311c00788359b00bc114a7a25b8d7f43332c3620d91313f7823","sha512":"9c804e1429110f20cb41c593a77bf280290b2237f59533c2138c38896c6969cda07e3d31568771b188c0772e0a7cd399520ce2efbd4e2d61f50ae189e09a22b5","ssdeep":"384:N40xN5M2HCSQipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4XF:N40xfHCSdNogFbLrq","tlshash":"a6a28417c80c632ad9998d66bc3bb642fc2d075d45a129a46bac9c2c14c7d53e20bbbd","size":22652,"data":"","first_seen":"2026-07-27T07:14:43.879856Z","last_seen":"2026-07-27T07:38:32.842337Z","times_seen":14,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a451bd95e420d24a151cb5a25660fc44","sha1":"de8b722786339662ff8f0f6a25cd85930eddfb6d","sha256":"c8f09d6bcd1db51b6c98a3f11c98e6af82972a8fbd80e72dd14822bdc7c8ca97","sha512":"80b4700545cf6047c2c0d3f4a2156c0bef71d9bb050e302185e1806abce0b043b96d282712e02494ca2472e027a0e018e825ef23fd7a8d5f2768342dd46f086a","ssdeep":"","tlshash":"25e0cd478124c410b2d65848e53919f53109b59ae64309f1f260bf0cb1567f394d5dfc","size":321,"data":"","first_seen":"2026-07-24T11:36:48.290535Z","last_seen":"2026-07-28T07:05:00.709149Z","times_seen":1650,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"9d9bc5ffab15aed4773d569d62c5ba8b","sha1":"0c8d1aaf4c47cdfcda045dab107ca532b1f79b2c","sha256":"46a2e650802f69388f056281de89811b65b26bbb94350a0e175c7c4c4368a483","sha512":"8a7e0f121165dd69fcc12c3e8c8fa5cc13a4459d091f1229d33efba3db5cbe6adbd703665df67609399e5adc89884506e7fd6abb61759b06e7abd565d01c79e9","ssdeep":"384:RMt9Rl8Do+vHgzH6wmrebszczwhH/p5lOrylk6uNFCSF5I3epMtK3/MWFei:RWvGDo+vHgzH6/8szcyzuvCSF56yMi","tlshash":"44a2648196270c052bea174a68325103b22446f8d647395cbd786dee6e2cbc671f37fb","size":21867,"data":"","first_seen":"2026-07-24T11:36:48.297592Z","last_seen":"2026-07-31T08:20:24.788964Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"569704bfe6c1be70bea96e62c95d10b2","sha1":"1ebe9e3483f15928d18af8367a993cc1fe6f95f6","sha256":"577136df8200adf35699ebd443ff95aff588911e5451a64e7249b954d496ab08","sha512":"27482e4bae245a82e789bd6bba1746bd03fc6d2916045062e35f6bd7d8496ff54720271e9b16bf9c72972f08d7d7aeed33e1c0e2d0ef905ea9253578b05d44f2","ssdeep":"","tlshash":"6c3150f9e42264750ad310d832b7c7aa3f333595f1c72552c4bcc08a15a6dca24a3eed","size":1547,"data":"","first_seen":"2026-07-20T15:50:49.068553Z","last_seen":"2026-08-11T10:15:18.495348Z","times_seen":3111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d080aef1e28b9ced897f549e49b13916","sha1":"75abf1173fad589cc5e35b388fa0a3067188e157","sha256":"cb914bbd5f3df056d111c04f26650d699d100920c24e13e5e50c67ecd1de4e93","sha512":"746fc099bb9ed96629e79d592c09b25bb38203a52cb1dced0a65325ff096b1ce9f508f5f2a26570312d75569a6b56be634501e6fa6a59c2fbde67af8418caa04","ssdeep":"","tlshash":"48d0a754212b612234dc3054d62ee6d1f5151a922fd310ebd7992018b665893a9547ed","size":245,"data":"","first_seen":"2026-05-25T20:24:44.292788Z","last_seen":"2026-08-11T10:15:18.495984Z","times_seen":4811,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","size":50816,"data":"","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-28T04:58:42.063064Z","times_seen":361,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","size":34428,"data":"","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-28T06:17:53.61859Z","times_seen":190,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","size":11674,"data":"","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-28T06:17:53.455046Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","size":88966,"data":"","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-11T04:47:30.056543Z","times_seen":2770,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e9786cc26fbeacec181934a90f5cb6","sha1":"984c0dcbf07ca50a8b5650ef3162fb20f1dd1e83","sha256":"3882c3fec1162244ce29938529c74d5bfc8a6a308c2f75e9db60fa781c43c4ca","sha512":"2e46eca652a486e7f7bcbfdcd8db6a2023944e2a52f9cbd5930ff5b832f7f30a0b388dec9d365a931286d4d665eec10a397f88109ad48035120f91876e319046","ssdeep":"","tlshash":"c710000000000000000000000000000000030000000000000000000000000c000c0000","size":2,"data":"","first_seen":"2023-03-07T23:41:36Z","last_seen":"2026-07-31T01:37:57.594574Z","times_seen":13331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","size":133378,"data":"","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-28T06:17:53.366836Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2dd96114cb21cd5fe28e94362f0efdd2","sha1":"37e9d317dcb7145d3987b8b4b96f5b649b8db3e6","sha256":"965dcac169e4617e5deb5e95fe3bb656e89bc7de173525e1e4712851145d1928","sha512":"fc118e3fd7a7c3545200b9cd0e2e4db154f38f3ff634eb97b2027b803b180aae5b504594bc39224de239b144b54471319fe876c4604961fe646387f9fb85d7fe","ssdeep":"","tlshash":"d4e026a01c023c0e214b9abaf03b231ce550957a97894f59ec02cd297d37d43aadb680","size":353,"data":"","first_seen":"2026-07-27T00:29:31.627576Z","last_seen":"2026-07-28T07:04:56.423137Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","size":32657,"data":"","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-28T04:58:41.853687Z","times_seen":292,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eeb0a66e770d8cff3ddbbc1ee9581cc7","sha1":"9fc6ed9740257ca291f4c8a1e24c8b4d7547aebb","sha256":"d60a5521fb413d0d84580fccc7bcc14a7f7b648e79fabee34d26ea24a3b6a667","sha512":"3373fb2851d15e63be07d30fe5ba6de0eb5ac12381db687f47c9ac02e131872125bdce4ed48e9a125b7a27f98d3e3e22d869bc88783b182f2dbd740296d5d3f2","ssdeep":"","tlshash":"95c02b3c70160008ac83a221cf8f4c0a801ea0540c08890e1941a8e87c83a901eb2c42","size":130,"data":"","first_seen":"2026-07-27T00:29:31.563759Z","last_seen":"2026-07-28T07:04:56.410592Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","size":8114,"data":"","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-11T04:47:30.109196Z","times_seen":1901,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","size":31926,"data":"","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-28T04:58:42.081275Z","times_seen":293,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","size":5566,"data":"","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-28T06:17:53.537858Z","times_seen":113,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cfe749683ca1521d063fecd1aef91fc4","sha1":"14a5db185e972ebfbf33d3e75dac38b3eacbeb97","sha256":"7a8b9eba1d338c7353c5fec3fb33b660f78b1bf23660e31bd2b1658113b3be7e","sha512":"f15bc4113a72f655af8ae406355173dde59998b1dc97c5d183fbeb9d22a137ade54cb3df0a08457ca5b6600d14081432ee0179c38b22c037ce6d87ac88f785cb","ssdeep":"","tlshash":"4190029662837010119568138996646a5969694124041865804521d92cb0027e221e0e","size":49,"data":"","first_seen":"2026-07-27T00:29:31.72947Z","last_seen":"2026-07-28T07:04:56.533415Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","size":33297,"data":"","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-11T04:47:30.044519Z","times_seen":2295,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"98da94d83c6805242132c6165e921d97","sha1":"42637bb5411c7fc2679eb91a5f80c271d861e4bc","sha256":"2f4d956ebfbfba38c40a0676b6d2d6907d6f40fd04f8b2b8b189532ad525cc9d","sha512":"79ea84f90af64049f583ac430f0af0487c9464666d9d1cb46ca87457888f59dc4f3e46fd3a1567f735ce82f4e88c128422be7f5456e2d5be2c77d1b96473b50e","ssdeep":"","tlshash":"48d022fbbe8984ca22083cac8c27310c636d491afdd2ba20c551e1e008ed088884e6ac","size":210,"data":"","first_seen":"2026-07-27T00:29:31.700534Z","last_seen":"2026-07-28T07:04:56.431747Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ff44570aca8241914870afbc310cdb85","sha1":"58668e7669fd564d99db5d581fcdb6a5618440b5","sha256":"6da43b944e494e885e69af021f93c6d9331c78aa228084711429160a5bbd15b5","sha512":"3c266c0035de59eab2a0dd31b3dcb4a9dd157b310289e5db9ab4f8c2fddb7433466d48f25da7ad735a1cb8f2935aa612ad1f62f0efcece3933ba9979082e2304","ssdeep":"","tlshash":"c700000000000003c00000300000003000000000000000000003000000000000000000","size":1,"data":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:56:54.117212Z","times_seen":506049,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5c3116796f5ff62adaf85580801f3fa4","sha1":"70c94a757c2ae007ce99d35d3f02b9237082cf60","sha256":"08cf51fe8f3e7b9c9b08f6ae4803831975d480e39bc806ed7c8120fd66d8086d","sha512":"a5393b353508591af106ec0f10c733e1c3dda67474d8bf4a54b5d098bdf1d4dda6631769abcbd8687c11e0a2091e57ed70aa2760f553af98fff45296b3a078f4","ssdeep":"","tlshash":"c7100000000000000000000300000030000000000000000000030000c0000000000000","size":2,"data":"","first_seen":"2023-03-26T13:52:04Z","last_seen":"2026-07-28T07:04:56.448025Z","times_seen":383,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8673dabfddfa6347e822f593dfa1d916","sha1":"24feb390ef779b4c8d9596eceb50bba1d0ae03fa","sha256":"7418d3cb701381f05be89fb705d663a4455a26035c0dfd80576a4f716390454f","sha512":"236700f570a1ce92777c3f878d6fd174732a5786e1004dc4d95fea38b679de84d97a3de2f4ad7915815087aee4682b47e471113e9e6fedf69a85003e6c728e1e","ssdeep":"","tlshash":"c7100000000000000000000300000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-26T07:09:39Z","last_seen":"2026-07-28T07:04:56.429354Z","times_seen":2856,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7463516a439ac7bd8cbabebf99e8588e","sha1":"46c8af3f3cdcba77460d9f792f520b7c7019ec50","sha256":"6714a108bd67a28899b2266d4370bcb3c2bab1ea052ec11841e9a4c6315aaa7d","sha512":"8a109bbcd9f495cd8b3ce97f9ec64131d71f3ea0e7a4b12e5a5f9b1dd922e0e06bdab6bf8a4031a3eebeac7592707d5a0fb1f9add45bb1f0885284855471bb61","ssdeep":"","tlshash":"cb700088ac8e20080023322800cf8e082222008000300202002020820c3300a0002838","size":22,"data":"","first_seen":"2026-07-27T00:29:31.561589Z","last_seen":"2026-07-28T07:04:56.49883Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-08-11T11:35:45.849902Z","times_seen":298501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-11T11:35:45.850587Z","times_seen":262236,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-08-11T12:05:59.008408Z","times_seen":20236,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"c5e82a2e87ef33dbdf15f9249aa0d662","sha1":"ee174b8f52fd7b1107000b64b90d705f098dfdae","sha256":"1021afe569f4758ef15cc7c91f95e4f2924b0e2410f1e53e424e4ef6f7b8c5a2","sha512":"80d11c5f6dc3dd5786cca4326d29a46a5827b1fd5d8804752e46e501155370f26e2479bc57553cbb7a4974cf15e13ad0f95cf3289a5048731054815d7945fffd","ssdeep":"768:RaChGD4U3XHwUPDi7spz5JJ99aKYMdmq9zSyY/v1M6LnB8MzhPDoZgNz0tAuE0zc:4VQqcjMFbYVM6bBTzhcAH","tlshash":"e07374240868a8729893e547deb9ff3e9cf816390bc99a6dbdb7835c01ec6110d9f413","size":77212,"data":"","first_seen":"2026-07-27T07:14:43.888342Z","last_seen":"2026-07-27T07:14:43.888342Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-08-11T11:35:45.853369Z","times_seen":113835,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-08-11T12:05:59.012603Z","times_seen":20212,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-11T11:35:45.854947Z","times_seen":260316,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"b2ea9312a3bef81d310c694986b91672","sha1":"85c5e726a7920a8f0b793545c967941dfa2717df","sha256":"ce8eba4e82509dec4e669c53d7d1c10fd07dfebc61b437350c73150c9e17a62d","sha512":"5b0bd5bce0ad8f075f168ffe664eb7d2825592a64cfa3d76937bf4c4bfb6a28581674803690c1efcf8ff2cec5e4a3957b5e63bd539c4839d133dfa18c5ecd5ff","ssdeep":"","tlshash":"13014c5c0a057d9cd90648ccc7c5a6655fac9237be003114f42f454db6e3aeb9830557","size":759,"data":"","first_seen":"2026-07-24T05:33:46.187094Z","last_seen":"2026-07-27T09:49:08.563041Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-11T11:35:45.857593Z","times_seen":256982,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"884751608e818ea3f608e9d84356712b","sha1":"291002b2048ec07688b95a84c8e13870da094043","sha256":"154086c49fcd883be944a35b1f4711661abccacb9f72c16760561feea3b2bc07","sha512":"81967299b174bfa4100d71aa1b80a035325b58b78ce84982aa4db874739863c7e5f41cfe8b97529585327e4c0ca339081031cc789534522f02f140794bca659e","ssdeep":"768:K6ScNX/n57QpBGIv6wHqhSfOsoZ4Lw8eS66n9nuWCU/iMnZZnKcw1ob:n0/HgiOTZ4XeSu1/OZwceC","tlshash":"c0f2e1be86dcc9df01119f42ae4f353e55bcad50d116f6fe2aca660d8c6cd01b82e264","size":37162,"data":"","first_seen":"2026-07-27T07:14:43.892355Z","last_seen":"2026-07-27T07:14:43.892355Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"7cab844a58630327376e4784cda0d252","sha1":"0b1e30f6d0a2e9b3805306365192bc76527bd854","sha256":"b0b4fb8902c735a0d57032a079fec4ceb93bd36b84a7eec6d7b72d441575371e","sha512":"485d0e3d2427e8314733a81ae26ba4dbaef51df4c5069fa1af3324c4fab1d39cd3353089748f3ea292afaf731ff51af2d9ec9c0af52f3777c941a3f940344d02","ssdeep":"","tlshash":"25a02223c028c0030038023000c33022e02803208800a00c030a020830ea00bffc888a","size":62,"data":"","first_seen":"2023-12-22T23:17:24Z","last_seen":"2026-08-11T05:55:14.070492Z","times_seen":5770,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","size":34195,"data":"","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","size":138370,"data":"","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-11T04:47:30.172954Z","times_seen":1474,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","size":31210,"data":"","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-31T06:34:35.472553Z","times_seen":719,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","size":22216,"data":"","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-08-11T04:47:30.161809Z","times_seen":469,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","size":4812,"data":"","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-11T10:15:18.422102Z","times_seen":5333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","size":19935,"data":"","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-11T10:15:18.371779Z","times_seen":3775,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","size":307359,"data":"","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-28T06:17:53.368675Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","size":602700,"data":"","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-28T04:58:42.134177Z","times_seen":291,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","size":1538,"data":"","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-28T06:17:53.441118Z","times_seen":328,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","size":12295,"data":"","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-28T06:17:53.573257Z","times_seen":148,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ca987f27dbee6434faaa87c0bb3775e","sha1":"1514e49aadd900d255d2b68832184a9475dbbd4c","sha256":"9ecf53ae7638eb4eae44692512062b0efde9485d80d3c4e073b71d8449325bed","sha512":"d1370434890d0efd043b9d565d6ce4a6f3b6f3fe8cd770692c994332b0792a035e68789e2d02c8f2387d5cc9003c3d1f5437f9566096b888338511cf11387ea2","ssdeep":"6144:/yH5RU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/85C1WLP69VwqxVZOvg","tlshash":"17a4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","size":488553,"data":"","first_seen":"2026-07-27T07:02:55.664103Z","last_seen":"2026-07-27T14:57:18.250575Z","times_seen":250,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","size":28269,"data":"","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-28T06:17:53.533777Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/moment.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd9f0b2d1b3e08b28f14cbb6d75217ee","sha1":"65395e3e55adc5e2953e03c8378faa5cd0e324de","sha256":"330b77f348bc97849800b9f3af7d1fe52fb6e145525ad494149d7a202c0c3cbf","sha512":"651e54d33e16ab0ca2fafcfb9c06ef8de815921286358f588e4652c92258e6a74bd86390f6679bf8d2e05b73f92793955e00f358d9fe062cb60f520ca1d7941d","ssdeep":"1536:GOTnbs7GfbZ7fjl2Ulweohewa8WBnXfVo2ESDTokYiMibJUjN:GOUqTZ7/OWBto2EfBjN","tlshash":"46a32d5a59e720224a6366384fdf5001ba38c523560ede04bc8da3d49f96d7c47bafec","size":104409,"data":"","first_seen":"2023-03-07T01:19:00Z","last_seen":"2026-08-10T18:26:39.744351Z","times_seen":417,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ad17d7aaa5500fe1d163e297a0cb3628","sha1":"4607dffbd44e617ef494ece0d8770698d1541cad","sha256":"e8273aae46fb97f1786246772222f93463401dfcf2a0956928723ab6de5ebba0","sha512":"f787cdda2c4d3a5d970765c62929e3fb088af57fe2ef62bd9f8debe4064d563a4ac72ed8bd8c0425e9dc22766b1915a5004593d1b8652033d43e6d45245c3b96","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4k494v5/CTEF6:fdhuuYnFCL4MVJBJO5DtKV2hd49p","tlshash":"10755c9977e2b86343b2e0e5685f0142f23f584854ccd12cb97df9e52da0d0a617afb8","size":1597230,"data":"","first_seen":"2026-07-22T15:37:53.90669Z","last_seen":"2026-07-27T15:49:32.120651Z","times_seen":1747,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d9c307cb7f3c4a32822a51922d1ceaa","sha1":"b51a60734da64be0e618bacbea2865a8a7dcd669","sha256":"8ce86a6ae65d3692e7305e2c58ac62eebd97d3d943e093f577da25c36988246b","sha512":"6b3b006aa3a86286c359a6d243d62a61e46f0c5f7d1db587faa26fbe72718eaee33f774af164e3ba790d4ae4136a25dc993d3246f7be6691fa7346d0be0f1a71","ssdeep":"","tlshash":"c700000000000000c000c0300000000000000000003000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-07T08:49:02.07372Z","times_seen":64496,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4fcbef6e7bb2b153c0a015529ceb3f91","sha1":"2969b9477d52e35b527322b6961cc28254bc252c","sha256":"eab988586f405f0967700f5518505207e779bf4b743c126021d08c8289052560","sha512":"ef957d074e3bd5fd8c6fcbf4e7b34acbaa5358ae1064d1c029b861b88bcbbf387b577aecab35aeca5edb650f4b02ec930ffac631ad4184ab639e46ec11b48b86","ssdeep":"","tlshash":"64d097d57442422508cc0a86f8ff133f7a60bea291884a58c0cb8be02f204c3c6a3a37","size":282,"data":"","first_seen":"2026-07-27T00:29:31.732671Z","last_seen":"2026-07-28T07:04:56.541153Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c64a5dae48f04e16deab001d4b9dbd80","sha1":"a1382f8f61bcba9266e29a3fce9ccd7c9b961459","sha256":"49e72f36eb565cffdbcc8f08e9d29d128067c85592da711cfb157f62bf27a669","sha512":"31851165dd1c3a96b1dcae230b835304eb94a9dca4538821fd37c042e1ea2e84e3290ebd4013a05ca01db43c4ce2b843e7c3d7dc309a8ede31a7714a78a884f3","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000030000000c00000000","size":2,"data":"","first_seen":"2023-03-08T09:42:33Z","last_seen":"2026-07-28T07:04:56.539675Z","times_seen":2078,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"891b9b58a353597a14389f567b8d708f","sha1":"c9f894cf58c05d63f0832eae0cb257df8e3cb74e","sha256":"86b8988f0a7e2e42e9ac2e23445f2fb36ee56c3f2577fdbd85de20658776b207","sha512":"d78dacdd8dd790977d63709f6f0c956ddf6c5e81a2b07fb8df190ba68266f4d8d182de280216c7091389d193d1acde00763574c49622f15ff97a7ca8787c1fe2","ssdeep":"","tlshash":"c7100000000000000000000300000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-10T09:35:58Z","last_seen":"2026-07-28T07:04:56.52256Z","times_seen":1187,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d1b507ffa76e1fa8fa03978c66aec23","sha1":"a4c81e0e2494de576355f91584e8c90b2a4686ba","sha256":"9bde46e1b993b06bd4561dfac0ed227b202736014bf06490738b931a9d0be16b","sha512":"45d793e4ed010d40e0d2e27641f87fd41a3b033f978043f921db065cf8a13e5d362e3fd9e9892cdae33e8fd45109bc705d88d0dc38b334dc7d44067ec91a6ba2","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00003000000000000300000","size":2,"data":"","first_seen":"2023-03-08T10:00:13Z","last_seen":"2026-07-28T07:04:56.497994Z","times_seen":7482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/wow.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea81e4551d35835e87309a679fa22df4","sha1":"6ecb988432bae56dd5a710cc32fa03847670a98f","sha256":"f11c99e3d36695925003b17b9faaecf2339bd1a9b045bad6da6bd4a7f562557a","sha512":"6e00b8f29a9a090c781a838f0e64c8f98d48c0c691eeb37c9628155ca5c7a2b8ddb9732bc5c96239e8ed0790681ff79f97f93a494d839bd2d45c2ff228f2f3c8","ssdeep":"192:+HctamoFfk612qOfHUhafkasjlfri6mTOvN8HzIqfe2omJ0yaMRaUQPyPCrGJ0ID:cRZmU+GeKrAq6aItnefKh","tlshash":"ca62cc883eeb20609717717e8f4f8105b638154b1159dd08beac4be45fa053897fafb8","size":15547,"data":"","first_seen":"2023-03-07T12:11:47Z","last_seen":"2026-08-02T21:40:37.189985Z","times_seen":753,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","size":132552,"data":"","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-11T04:47:30.206142Z","times_seen":3061,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","size":698252,"data":"","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T16:56:48.623387Z","times_seen":646,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f1b1fae88e7c924e78f29b246f89be","sha1":"0803ca78502f773ba3c00003fa5553356186c5af","sha256":"6fea8a9519d7077ef74493d7d9adfd74ce31b1b351246358968fda26029df9ac","sha512":"a604211ab03e82aa91e6ed1e954a9ca6052e3a8e31afd9cda8754e80adaa33e7c4434f26e94cbf11a42f64c72e41902cfd142401d11d3e3a1a427e9ffba80146","ssdeep":"","tlshash":"f98000a82c08a080c00a3a20000fca0c222200a800000a0320820aca0f33cab8083c0c","size":26,"data":"","first_seen":"2026-07-27T00:29:31.597711Z","last_seen":"2026-07-28T07:04:56.444388Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-08-08T11:57:38.867657Z","times_seen":76121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","size":24600,"data":"","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-28T06:17:53.622711Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","size":30684,"data":"","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-11T04:47:30.031635Z","times_seen":2178,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","size":52312,"data":"","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-28T06:17:53.344523Z","times_seen":102,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","size":8151,"data":"","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-28T06:17:53.435673Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","size":221,"data":"","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-08-11T04:43:23.140185Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","size":10099,"data":"","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-08-11T04:45:48.800904Z","times_seen":533,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","size":42319,"data":"","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-08-05T03:55:36.948443Z","times_seen":956,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-08-11T11:45:31.128036Z","times_seen":137801,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","size":63316,"data":"","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-31T06:34:35.473115Z","times_seen":383,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"be1f545aca0d962a6e9de54c71048707","sha1":"d4f5e7c69c5eb9533944c52244111aaf5f0aed04","sha256":"4c290ff95bb736224e617b184ad97497af15aa53846f7067f5d0db5e8c4e617d","sha512":"6d30d1789ea8c302d698cc4bd29763fd2da46d7246dc389483ac262d8c3579e922fc0d45f29474f0580b802f1c2b494ea5df6cc70bca01170ba4a4d87a838558","ssdeep":"","tlshash":"917000883c08200008323220000bca0c0a2200c202088a88000000820c3200a800aa08","size":22,"data":"","first_seen":"2026-07-27T00:29:31.692344Z","last_seen":"2026-07-28T07:04:56.422239Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","size":3649,"data":"","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-11T04:47:30.097724Z","times_seen":1896,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","size":32550,"data":"","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-28T06:17:53.60062Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1801cf0c94344d850a7396d39794eeac","sha1":"838ec656e5a6ac06a4002e5e741f8aef38a04d36","sha256":"711086bffba7991c6bd5bc970008f28ece8414e0ff513da8b652c1586a90281d","sha512":"7973c2fc0c5dcd0edd201b4caa7f52f4c50fd43c700bfe6e0357b0df2f91423966e301412a99e4d6e473649619e9cda59e2f91873d49dd546b42c7efde54bbea","ssdeep":"","tlshash":"40a012145c751016e01d8029a40b1104008a320790145401e449058000e4824a01048b","size":71,"data":"","first_seen":"2026-07-27T00:29:31.738096Z","last_seen":"2026-07-28T07:04:56.411513Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","size":11334,"data":"","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-28T06:17:53.475158Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","size":12192,"data":"","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-28T07:05:00.655129Z","times_seen":1853,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","size":37849,"data":"","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-28T06:17:53.340954Z","times_seen":309,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","size":625,"data":"","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-08-11T04:43:23.134764Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a4d9b5501294e7f7449a79b22b21e5eb","sha1":"1354467848747256e51a9a6b2ac961ebfc54197b","sha256":"051b0b66d998b6b7f8f66d0a6ef99271b61799c668c6799df6a0755a2843b51c","sha512":"f8daea8c9048bbe6ca8ae012ce51364ab8f8b33cee83e333ff79385d953f4e9f8cb827cd74dce9faffef57547df485808b654973b99c727a2bee685a1c9feebe","ssdeep":"","tlshash":"c7c08c312f39682891a16314b9bb0c0298b0424058ac194c4f01a848a6f8f0c008ad40","size":155,"data":"","first_seen":"2026-07-27T00:29:31.721669Z","last_seen":"2026-07-28T07:04:56.413179Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-08-10T06:13:30.111131Z","times_seen":57138,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/external-embedding/embed-widget-screener.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c9e18b76bc52c50bac4466a9a4c7df33","sha1":"1e4b41bf7551f6aa2f946becfdd20823688b595d","sha256":"bb863e876b10e56b14ce02fd014ad6fe5056a7dd50c2bb1354df7d2f5cdad344","sha512":"5b3eb3ef3b5847a0b9acf46a8bead19a1d85ad6a58666a091cac1fed174c724b43836f9296531a8e3aff346aaa51292142f7e7fcb387806dac79da57a59823f5","ssdeep":"384:RYaq6uCWoofYkFGMFE9O2mNajKfUBhTUDO4HgMXt:RbqDZE9O2m8jKfUBhTUDO49Xt","tlshash":"e152d6aab660d8bd81d945cba07a2720b61d3944b247ece4b5ecd8c550edccca131f7e","size":13354,"data":"","first_seen":"2024-11-28T14:07:21.928659Z","last_seen":"2026-08-10T18:29:58.506443Z","times_seen":52,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df3acf196a66e135c3446e07e0a82708","sha1":"301ceef105300a4fabe93076248b037ffb9ef422","sha256":"4d053772fcc0218f108d840e4f4694caba2524c7cf18235bc8132a077f4edccf","sha512":"8e7b84f25d96941e7c6af5dd7182b0d22e1f06cac02e7a67a88c73253cc246276cdbcf23144784e0063b34499b696da5b84d595b081ed09df723cfa4f291afa4","ssdeep":"","tlshash":"aaa01240268b6040041a11d450a3910840d6000b60cc2cc0d14ccc420a112ac2113259","size":71,"data":"","first_seen":"2026-07-27T00:29:31.554952Z","last_seen":"2026-07-28T07:04:56.52001Z","times_seen":335,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","size":36705,"data":"","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-28T06:17:53.389232Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","size":21512,"data":"","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-08-02T16:40:36.924172Z","times_seen":416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8a3f559a9ec90c0901283b97e979c109","sha1":"8859ff86e2b1e5ed6a0e28778fb749b58ef50224","sha256":"5020851a6e6bf1d1dec6faea76630924b429593e59c4ba8ea710c2fef00421c9","sha512":"10224ffcb1d495c946a3b140433ea3ce2a3ddf84708caddfdc83e17ee16b31fe76329405be6a5dd53691d13812b706dd3927677ef7d764791bb184a03a55d9cb","ssdeep":"","tlshash":"76700088ac0c208080023a20000fcf0c8822b08888002a02808002820e3380ba02280c","size":25,"data":"","first_seen":"2026-07-27T00:29:31.630724Z","last_seen":"2026-07-28T07:04:56.532422Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da2ef09dbc6b0f85bf0db51037bfe17a","sha1":"e42f689642a1969c3e7a3da390191d81510a8ec2","sha256":"4fd64c9d5058b36498ffed3c805ae9b3d35f885c8f063a3b1372d09086e489fd","sha512":"c84b5f322afb9e1909844b8ef52b3287a27cccdfaf17361dfceecff396ae873a8d59f75fb928e2ee07f7a4bc4c8b7f0990905f642a2746fdef3b9c9d7b5a57bc","ssdeep":"","tlshash":"eef09e99f2c7d47491798634d8aa4305d6133d402006289aa465e0fced57866e932b7d","size":506,"data":"","first_seen":"2026-07-27T00:29:31.654529Z","last_seen":"2026-07-28T07:04:56.523407Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3c4a9f0faa6fb701a920a1b70924b26c","sha1":"f7db769e191400203fb2530bf2ad948431a7eb0f","sha256":"fa5a672fc4057898c72f889e9e2b394546de9c00494f7e7e7b100851e8b6ec01","sha512":"2710d162f4df552343b1a7a27f1eaa1a8cb5d8004e6c4c2ba88c22aba3dc099af302dfce3f1cb0d93c0ba5cb99760e9da25da05d34a65704f22f85008a17ee8c","ssdeep":"","tlshash":"cbd0a738002e9086181b6e5452c6991795d6d40728049d09c89cd4d441f09a554be52d","size":221,"data":"","first_seen":"2026-07-27T00:29:31.710641Z","last_seen":"2026-07-28T07:04:56.467696Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","size":145548,"data":"","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-28T06:17:53.365018Z","times_seen":88,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"038623c38228a4865caf89b1ceed9af4","sha1":"fd2acb21c02b96c3c9c1f1081dab960c7031d783","sha256":"b8d3050d5622dc00f843f06bba75b96d7e07f17b7a71a3e5b77c9d30e3c91720","sha512":"dccd582f4658fc2f09410a5304dd63fe7d4e6420b4a961d737904968f4ca733ac1a0ece06f7a4e90ebf80305f0edcfd2a5fb95ea52ea369659b342075df8d55b","ssdeep":"384:he30HE+F6f00MWmgOsLEWioQLsiJrTNk20ptZTEjifF:hJEU6f00yzsYWxQLsiJrTT0ptPF","tlshash":"6282a5cdf5c0b0a75a93b8b040bf128bb23a6940bc5d9130d116f9d57d7a81ea163fad","size":18445,"data":"","first_seen":"2026-07-23T14:00:31.677621Z","last_seen":"2026-08-11T04:45:44.381392Z","times_seen":157,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","size":282,"data":"","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-11T04:47:30.036672Z","times_seen":3051,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","size":49883,"data":"","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-11T04:47:30.060041Z","times_seen":1896,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"175c5223286c359a85dc124e70b631cc","sha1":"9783da70cc4ec9e1ee0345dcbad47674d41c5ed7","sha256":"fa42996176d82f5cca75d556891a4a400b3e145ae65e2ffa5247268459582e8b","sha512":"cfa0f26623d1cb13939c7b675013156701c25016a2eb9c8fe728cb97c652643368bb57914488e6f2ad40d97606a7cb39396905dad46897148f68f353b80b2d82","ssdeep":"768:jcaBTPMErdYHnCuKN9dPS5oPX3zp76JSAZg+hCU7aeTEPecnjfJG9CwaebQHr6na:jcainjK1pHh6i+9aeQmKSLQLOEEK","tlshash":"cc532aeff2d273710de665e2045b820d92be75525c40189eba05e7f86eb0c47e02bf29","size":62145,"data":"","first_seen":"2026-07-22T04:26:21.664288Z","last_seen":"2026-07-28T07:04:56.300909Z","times_seen":362,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","size":27443,"data":"","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-11T04:47:30.134319Z","times_seen":2156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","size":78581,"data":"","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-28T06:17:53.622022Z","times_seen":205,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","size":76578,"data":"","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-28T04:58:41.945434Z","times_seen":292,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0be6600367fee76523db94834295e241","sha1":"a2f2659dc9f4a3185878580210cde1f3e7ad093d","sha256":"e5819dfe160d11a607ca64745cf31e2f79e6d642ee0565aef7eed47c872711c9","sha512":"b83363a5ddb32adea20765f2a926ce5d4998a32d0969a18ec6cea9ca9f8dc9f42641adf366a747ae1c9a2ec1c7cf33d2e6025a719dac017ab8aa6390f7bdde67","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-07T12:23:15Z","last_seen":"2026-07-28T07:04:56.458021Z","times_seen":633,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63b39853c60d1092c257c1ab898bad0a","sha1":"f87cf1a14902692dfa942c109550a2e672b61e99","sha256":"ec587e500dad5aec5d7d7bc518e552e6ca420cf58288b14a2344fccdadf569c1","sha512":"afd219f1b06269656fc59684088ef20c04ad48cf9043340ee3f6bb2527005af6b1c4ca993410b77122c8095d055b33078fcd1866c8534a3bab8715c2f4bec9b5","ssdeep":"","tlshash":"c7100000000000000003000000000000000000000000000000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-13T11:31:48Z","last_seen":"2026-07-28T09:07:27.722802Z","times_seen":1357,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92a1f7984eba504b4eef2a9601b5ac73","sha1":"b8bd4fe4f67489638b0ef337ae8c5808bb4f16e3","sha256":"a89aad5cb9834d06e8ebfa5695b54d1ac6bdba2c3deb109738472e69db48b911","sha512":"5a10edf6f9304fb387fb7d6500bce13734bbd73dc7de0ff063c7c7dd9cc53881d92632d6b3fe38b11f2eed01010f1e7112fff046ebf8d37112ceab4abb045918","ssdeep":"","tlshash":"c710000300000000000000000000000000000000000000000000000000000000c00000","size":2,"data":"","first_seen":"2023-05-01T16:31:42Z","last_seen":"2026-08-01T06:59:53.943909Z","times_seen":719,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","size":14451,"data":"","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-28T06:17:53.447505Z","times_seen":89,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2b6fab5d43180a44762a23007cc74818","sha1":"57a42431bd8f0021426278639e1480f60600ddbc","sha256":"4daa7f339a6ee290609f5a83e28d23ee34feaa429a33d7403cf4890502acabfd","sha512":"482fc0dcff39aea620d385e9ecbe90053b7ed726e6c51f9e14dddd7f150263071d648a4c7ba8c7eb4637bee7761d193c72638a4019a4214ae774a41f8a4d53b8","ssdeep":"768:8LZLvioqCZ0JL2sWfliPTkeX0dnor9s+htUQJXRl7m:8BwL2dIAYrC+DT53K","tlshash":"4ec23a913111a49d96fbe2eed02b428ef3323659790a0e75f02c9cec11cdb693175b7a","size":27070,"data":"","first_seen":"2026-07-23T14:00:31.442829Z","last_seen":"2026-07-28T19:45:51.653444Z","times_seen":77,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","size":115596,"data":"","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-28T04:58:41.981265Z","times_seen":293,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","size":33900,"data":"","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-29T11:04:57.494393Z","times_seen":755,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","size":3144,"data":"","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-28T06:17:53.434777Z","times_seen":186,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","size":187317,"data":"","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-28T06:17:53.472191Z","times_seen":79,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c987d68cc10a227f055b84626a48a0e9","sha1":"2fdabf2d840a90c89c520a78254ab9d49a11b334","sha256":"210c163506a8612cc88bd448b4cf01d7646fa80390ad547f30383375e3264c69","sha512":"1ba28dd36ddcc1461b99b2307ee47bd0bcb5564cda9907a8bd170c86689d151b0ce435436d29fd24d0c473657b2576037e1c058afdfcd2fbcfaca1cba26bb6f1","ssdeep":"","tlshash":"c7100000000000000000000300000003000000300000000000000000c0000000000030","size":2,"data":"","first_seen":"2023-04-01T10:43:24Z","last_seen":"2026-07-28T07:04:56.478272Z","times_seen":1941,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"43d936683a74f717424b20bb2cd4f0a9","sha1":"14b0065e083c5180bc57d3cce2092e116f2d82eb","sha256":"f29458568e1530958b457baf622428227531bebacffda294b6d6441675e7b644","sha512":"d45c6b7571d6fc0eb1a54e8eb551bf84532f931fcec92502a1330b2e7ecb50b4393cfa779f3b45085f6e5c371e938e687ef3a610ff494c1c60e0f297435685e8","ssdeep":"","tlshash":"c71000000000030000000c0000000000c0000c00000000000000000c00000000000000","size":2,"data":"","first_seen":"2023-03-13T01:43:35Z","last_seen":"2026-07-28T07:04:56.499668Z","times_seen":4203,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-08-11T11:45:31.033756Z","times_seen":269402,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/jquery-1.11.3.min.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","size":95957,"data":"","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-11T10:16:24.675211Z","times_seen":18590,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","size":13031,"data":"","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-28T06:17:53.586668Z","times_seen":141,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b9ece18c950afbfa6b0fdbfa4ff731d3","sha1":"c2c53d66948214258a26ca9ca845d7ac0c17f8e7","sha256":"e632b7095b0bf32c260fa4c539e9fd7b852d0de454e9be26f24d0d6f91d069d3","sha512":"b2396a002fe7aec008808687d7cbacb340b7f7a090008382f3c95870f6fb10415f61f5737c102d4bfec58fe525407ea2001e761dab1da8a501d9523921f0ec21","ssdeep":"","tlshash":"c700000000000000c000003000000000000000000000000000000c0000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:18Z","last_seen":"2026-08-09T11:02:15.304837Z","times_seen":53757,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","size":32303,"data":"","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-28T06:17:53.408658Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","size":224417,"data":"","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-11T04:47:30.076454Z","times_seen":2060,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"90eb8e6176ec2db449b973749c08f6cc","sha1":"ba5f15b9b337f2ec6371e30b3ca0f70858136c52","sha256":"9ee3a02208f34973ce99f07605977b9557d786c345832252bbd13c9e3ad6b014","sha512":"35b9aec976337e214711f7003c87637817a65dfaea02284a7a0d4b00bae89b245ae3e20d3a02471b0991a1f95db9c4d476cd4aaa599ef780f64e4549125d63e1","ssdeep":"","tlshash":"e1e07dd020025414848d8996f87f232ba960fa62d1440e69d843d7c35f200c3ead3537","size":325,"data":"","first_seen":"2026-07-27T00:29:31.587207Z","last_seen":"2026-07-28T07:04:56.445975Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","size":19889,"data":"","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-28T06:17:53.460776Z","times_seen":90,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","size":80040,"data":"","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-28T06:17:53.380432Z","times_seen":310,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/main.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"f88e94c021290d5e027f184cc6f6a015","sha1":"7be058ade75b8dd085e874df53c1e3cddca752ba","sha256":"55acd0646cbb84b9bd51501cd287eee373c3528c42b99dd3f0393ff82c27536b","sha512":"7cdf79b3a2afb68a48d23886b15744ec8e2a2d05a96168e569c405115b061b5fb8beef01c191ca42cad0d70fb7d40fb1b1a0e6ee764176249e90da48775dc4f2","ssdeep":"","tlshash":"800164887cd338c56767303c53ef1165b0ba5907458cc604ff0c9aa29f6223e91aafc8","size":834,"data":"","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-08-10T18:26:39.651729Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13632c97439beb0cf3239688a15254e4","sha1":"796384e694ba83d7e3250c171ad59d7109728d2c","sha256":"07302499974f21b9e32dcccf30d83d15c17ad96c2e2c3b6d99e34780aba9b217","sha512":"33d7ebb45210a02bc08c24dd91af080fdaf3c5d08be2760c5984c147d9efa498721f69c2c30178acf1955930cfa38f6869364800a64ae9aaf186f66ea6cf18d4","ssdeep":"","tlshash":"c7100000000c30c0000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-03-08T15:47:57Z","last_seen":"2026-08-02T23:01:01.238801Z","times_seen":1282,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","size":16260,"data":"","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-28T06:17:53.598563Z","times_seen":66,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"146c86b697d57edadedb79e577a2b819","sha1":"fac3ccefeac950dd75b09bf983e4db643acb17cf","sha256":"e7c1e85bb4c79e48526d268113263cbed1b8dc51caa0f7ece95022ce45c6426a","sha512":"0c8f76ba43c26ac96ac8ce77228656bc32000075828146c8e3f5f6c8d83aa1124958db4a287753456a136751fe65d9fc935c7e8efead69cb7bc5587e6f54cd75","ssdeep":"384:IPLZpvbUA+tmPj2DF4ciyLHBoIUEDHfKXqEVKtwAqXrNc2G/p5RuePAU32wDP7Fb:IT78mPj0FHLHevUfKa+EwBxnJePTr6Y","tlshash":"a29219c260053875dddf6eef405b45ade33e243538055499b238adec02a9a5873a7f2f","size":20221,"data":"","first_seen":"2026-07-22T11:33:41.962494Z","last_seen":"2026-07-29T11:04:57.500007Z","times_seen":319,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/tv.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"5eece16d10d8932b75db9d137ab81107","sha1":"a2ccf44d9e18c8290d26dccd61cc203c68d8ebdb","sha256":"06756610e3b434008fdbe87b2084aaf772971dac01abd96bb3deb79f28338e66","sha512":"16166fe14664cd2e5875979199c780aa11b5126599786306171e7d988a20173a7aa5af8a5fa1e9961bb63b938e213b7026a58c135d073e6d5035cf78226bd930","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVuj+kl2okhIuWea1pYp4t6YJCWm0yoGymbLP:EqZi8k0pwkp8EpXWpvS2rYjCokhfWeWq","tlshash":"3592d86db5807a3c02cb00ed306f330c753765a4e10159a4fa78abe59558e8ea277fbd","size":20736,"data":"","first_seen":"2024-11-12T20:11:40.89791Z","last_seen":"2026-08-10T18:29:58.625927Z","times_seen":44,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cec2466c512046247fcee7b41d4febff","sha1":"f435166429f9f6b17d5e59bfeff477d80f41092f","sha256":"2c91ca6f50bc77f02def816379429b411ee5dda90eafa7e8c149a725032810a5","sha512":"6db7c130dc0c2403960e22dd6e2918ca808a4e7dab3044d5d4cce10fa832a1a5e1f38396e11c19944f02d7420f9c1f05a1320a558a071be858679e347655b68a","ssdeep":"","tlshash":"3bd02bf74c79013f021f1bd5b6d7e1ed61da32ea25564b0dae74d1d4019449ce1c4e47","size":285,"data":"","first_seen":"2026-07-27T00:29:31.745602Z","last_seen":"2026-07-28T07:04:56.481731Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4655355ed76ed0704b0d06cd2be730a3","sha1":"2e7a250d4cc5d50ea230b6b26e8deb04131580fe","sha256":"9fb8dd4a31698e889561378b9360f3369852f079f4988b5921f39f9f23c9db96","sha512":"1f93883b7592e8ddbef13c7aef7f095d53621f45c57b20fce59c50885415f2c607b03b57a69dd340bb7c906e336e6db7fcb144934e7b8e8526f81a07918c533a","ssdeep":"768:L8BTPMErdYHnCu2NPdPS5oPX3zp76JSAZg+hCU7aeTEPecn9fJG9CwaebQHr6pdc:L8inj2rpHh6i+9aeQm6SLQLUEEK","tlshash":"106319eff2d673710de665f2045b820992be7552dc40189eba05e6f86eb0c47e02bf25","size":68393,"data":"","first_seen":"2026-07-27T07:14:43.909681Z","last_seen":"2026-07-27T07:14:43.909681Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"772f886781c1a2fe0d138da864bd1a0d","sha1":"ed7bdac6b5065277c59e9b3cafee709c2af4bf9b","sha256":"9ffa72ea50ac24f7971dc4301227ab985f71fa481eded61825f752f9a907dae8","sha512":"64e6338ec403963209f36738436586dd74708ed1bda8f8829b33241c22b0ce9aa2c9296f3f3e25df707e05433452b2e4802abe7995fe947d26a5645c0eb75b82","ssdeep":"","tlshash":"04a01288490c440c451211c0f013b40401e1341b80c00c81c19c9a4105e03a25012489","size":79,"data":"","first_seen":"2026-07-27T00:29:31.735217Z","last_seen":"2026-07-28T07:04:56.434717Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1bcb2103e54b2232fa4f021206aaac2b","sha1":"f4a82203a1cf8c1edab9196faf9ea4c80702945c","sha256":"6d4e2e52887ec428faa4fc30712686fb68783e56095063b47ba21383eda8a21d","sha512":"2e0db6eaaa8d239513ff121ae21c835c93ff4ae1909f817b58f89270d5d03020a47f84acac253ad0a78ee39bace86ddd6962a39845fc0653f0855ce4699a34b2","ssdeep":"","tlshash":"12b012887d3ccc85619518c8108ad00882422c0310020940e01fcd513770d86304fdad","size":92,"data":"","first_seen":"2026-07-27T00:29:31.615229Z","last_seen":"2026-07-28T07:04:56.529124Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","size":113437,"data":"","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-28T06:17:53.587399Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","size":66470,"data":"","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-28T06:17:53.363963Z","times_seen":103,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-11T11:45:31.238426Z","times_seen":341897,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a33d79b36d31bad99801ac951429ec12","sha1":"0132a8f4734c731690767f7346c30377761aed71","sha256":"42e14e00fdcb59805d9b1fc3225db0713e0a8ce22f25639326da817409380856","sha512":"b85e7f37730215e956573da5116e3901e2dc95b7c20bf9dba114b73817e363a0af560933b8f1193dae05ec6d87310bb3f73d9facec95f9521a846a4a0bacee6f","ssdeep":"768:1VZTM7OTm7FZkgTGJPrOvJ1UKxQcGhXEwpMALDw0Iv6CCVmXRfoUUUh3W//YWXgK:1MT2AbUKuXEgMPCVmpRK","tlshash":"0353f953b3045e4e75abe1e7ce2d8d49978e50a3304ac234f5efaed8229647fd623844","size":61870,"data":"","first_seen":"2026-07-24T15:28:44.934306Z","last_seen":"2026-07-28T04:48:50.535574Z","times_seen":57,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","size":1786,"data":"","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-08-11T04:45:48.816224Z","times_seen":528,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","size":14701,"data":"","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-31T06:31:09.118223Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","size":43860,"data":"","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-28T07:05:00.665702Z","times_seen":1638,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","size":39300,"data":"","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-28T06:17:53.414435Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/time.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"20563d8ab516919f8ffa32cbb7d1c423","sha1":"ee376cf17bb0edf45396cfdcac0999592715d2cb","sha256":"ef82e573ae1e4a08adb03c9cc557fa38ef3e2b9456ef8a323b184e38138970b7","sha512":"0e9ab21b883e9b97ca33be431ddabc848d608c3f2f8b16912ccd09df92b2a1816f49b19d9d4af056b0b161ebcae83204c775f7d79d6e6aa1045284197840ecc4","ssdeep":"","tlshash":"6b21acd554b49741ae3e383d0b7e72882460402b2cc2ca2d3c5dc1849f95a970b6fae5","size":1214,"data":"","first_seen":"2023-03-07T15:53:01Z","last_seen":"2026-07-29T06:14:00.367121Z","times_seen":12,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","size":28047,"data":"","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-28T06:17:53.453122Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2f5ff47436671b6e533d8dc3614845d","sha1":"54fd1711209fb1c0781092374132c66e79e2241b","sha256":"cd0aa9856147b6c5b4ff2b7dfee5da20aa38253099ef1b4a64aced233c9afe29","sha512":"19f142b018f307bfdf1c7009d15a29417c96d8678d2982eebce4961b2e67eeb118a8ebb1d75b70087c3e65bc793450e3fe4a10002befa2d038e5aed4796937f2","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000c0000000000c000000003","size":1,"data":"","first_seen":"2023-03-07T01:15:11Z","last_seen":"2026-08-06T01:12:32.895139Z","times_seen":53353,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"70f9b6af4febd375243ce72fd0e529e7","sha1":"f6647afd27cd8d881659b76f049b5a4668a8afe7","sha256":"ed101174351023654d15c8c55d55eda1428f530dfd7e8b5702a365e60b348aa2","sha512":"1ac5fff4cf29bc440318cccfa1f3c0873b57c5fd26b00a00152c478f24dc9981f3f3b6b2b679c9e66699727d1449851b2776f49f8f883453c9e7cc2d465b86b0","ssdeep":"","tlshash":"815112965872e0dac8436c29dfef913961444037ac25ece57e9cd903ffb060ea64d9d4","size":2819,"data":"","first_seen":"2026-07-27T07:02:08.580154Z","last_seen":"2026-07-27T07:46:25.277985Z","times_seen":18,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","size":27626,"data":"","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-08-07T05:09:59.550994Z","times_seen":4614,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/jquery-1.11.3.min.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","size":95957,"data":"","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-11T10:16:24.675211Z","times_seen":18590,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","size":54012,"data":"","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-28T04:58:41.895229Z","times_seen":425,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-11T12:05:59.1911Z","times_seen":66189,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c1466f3e470c7b768dd55792ec54d047","sha1":"608ec6c74344fd48de7aec8da3b9c652091f5247","sha256":"9efd2d75eaa2c2d73d54de006191c0cb3c6ebe1e029a745c5402fc61956afba7","sha512":"028b1f70fce56b317ae85cb0a29e278bd46ad7700be717e0a760179c81ad869e9d150018b2279da473d7ce279c19b552eb01220489f2974ba1a70bb750b50897","ssdeep":"","tlshash":"f2d023d565d74434c5e2d92e01331240cc254d18dd040eb17102f245cc70745577e9c7","size":196,"data":"","first_seen":"2026-07-27T00:29:31.66023Z","last_seen":"2026-07-28T07:04:56.527426Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","size":84456,"data":"","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-11T04:47:30.054673Z","times_seen":2173,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"525e99684c16907d295ddd82473b3408","sha1":"8be034fd1d390ea633901fb8c1be4c01eeda343f","sha256":"b78837afef36e371c2dc417614664332c84a7e2c27f537edf442e730486b67d4","sha512":"bfb8507502ed1d6189fb1a60a8802458a4cac5584b4e63df602b3ef0f2441a8bbf7d4acd54f1dcec11d6e981de5153f905e672c2dd77bc318589f9c34704f719","ssdeep":"","tlshash":"bce0c0bf8237421019f25de7ce97236ce11d27a00b216c6ed32e9169d426896b258c49","size":346,"data":"","first_seen":"2026-07-27T00:29:31.571342Z","last_seen":"2026-07-28T07:04:56.433204Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d59bf62eb4d4befed1f736500ac7f27","sha1":"44b20bec79abbd3df4fbacb84a8d3d7b93cc091f","sha256":"3bba6fd3e6602d3f7ce5cf48e5c8785a2e8825e22048fca2b6c64b1342ebb72c","sha512":"08e80d61b07f2a4610ecbd2778975c49f3f5b70568eba9e0ecbe137377c0c3e17b67d2a39ccea93bfb0a5720727ab4f6868d0694fa2c1a9b2ebe829c803df86b","ssdeep":"","tlshash":"c71000300000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-07T13:57:01Z","last_seen":"2026-07-28T07:04:56.41732Z","times_seen":3791,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","size":13775,"data":"","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-28T06:17:53.620683Z","times_seen":88,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f5cb050e3ad0ed3ce59271b07f97dd51","sha1":"1bac449f3080230ba3fdbcaf0b98ccbc33c09d04","sha256":"e2872821331488fa4384f08b2a13050f6420cfe89c204db05be1d46a32c14c74","sha512":"285a9bc45e8f501f09aae916504c806ac2724d0fffdb092195360a8fd3293fba42dbdcdfe49135393686f1127deffed16576c7ab268902bba3ae48a355e85b73","ssdeep":"","tlshash":"d5a01208180d2009041201d5a0e3a00441d1341f60c00cc5b74ec1820b707e1700191c","size":77,"data":"","first_seen":"2026-07-27T00:29:31.690531Z","last_seen":"2026-07-28T07:04:56.464278Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9ab95f1af82ba1b0456232030e52b20e","sha1":"2872b47fd0067d16748856546bd53e99995ea52a","sha256":"8bae950c98153b70946a1dce7a63de32802f6d1b268c5b88faa8e9f80aa2ad9d","sha512":"6bdf046752061ce20a27a4ff921a68f42b2c6fedcf8c55f94f400461db0aee984f499969ff7d0422cb97da033d1a40234d865a6ce3e060d60203d462d9b29264","ssdeep":"","tlshash":"5cc02be6b1b72404c390f01700324300d8a90c48c70040788043a01dfd61309c97cf42","size":130,"data":"","first_seen":"2026-07-27T00:29:31.658738Z","last_seen":"2026-07-28T07:04:56.428017Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","size":19477,"data":"","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","size":340,"data":"","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-08-11T04:43:23.095228Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3f16ba6bdfd02c4e6d6ae33b270a1f81","sha1":"f5d52f0d69a9dcd7911c892ee2dcce029f1c75e5","sha256":"a104c10429792d6a042a0fb0751a968e9aa8956b47d40c1f74dc2da583ad9a37","sha512":"fab03881cc443b59aa2d84e016969b4c760c09d13de47b248ae17efa22ebff60806ce1cefc203f813781f5a760e73b5d32a8c3917bff0fefc7ac14eaac13a32f","ssdeep":"","tlshash":"87d0a744a02e504a093e2d6b759bea27729078033816cc6d965e888d0cb0813c55fc5c","size":225,"data":"","first_seen":"2026-07-27T00:29:31.667493Z","last_seen":"2026-07-28T07:04:56.471214Z","times_seen":336,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"af83da2a769d59fe45aab962f63d91ae","sha1":"567f3a3f97d8fc8dc51b36ad62cd0b88626d55df","sha256":"6eef6cfbc646c41376c99294021f2e5ac342ae76f7efa30e449cc981db20ab45","sha512":"cd7ebd3eb1f0e2edfe170b2f91c68b27aec3fd454400c27130f5bd78e53d264303562095d97fb257ef5bd1ccffa188d84a7f2e3f8b5f64df8269b74913277afb","ssdeep":"","tlshash":"aba01288490c440c451211c0f023b40401e0301b80c00c81819c9a4105e03a25052489","size":79,"data":"","first_seen":"2026-07-27T00:29:31.698944Z","last_seen":"2026-07-28T07:04:56.416516Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"51f86891ee79dc28bdaa34f0c6cacb5f","sha1":"8e8c8d6a85f6ac78978e96ad933ef6300d1aef2b","sha256":"015f7b5bad17c7eaeb457105542f879215cd8f29f0a18185e5ab0d330b4db3aa","sha512":"29dec03ba8451463072b5661f375a9c6661cda7bd01c2929bffada338f4987ecb31d0526f7436b86b16de82236ebcdb159d3b2bf504006cf924283c2bb53ae83","ssdeep":"768:0ZUKYt1k9LsYxxHyqE58nvYoZUNIB8BSOfhOSEuE0fykah+kl7Y8HgJD/xpnwv/a:+5qUZEekx8oVS3rPlc9wfgxI+DcwDtgw","tlshash":"58232a297190b47ca2e7419ec02e480ce36a2488e8659cb5f9fcecdd33d598d31655fe","size":46028,"data":"","first_seen":"2026-07-23T14:00:31.469602Z","last_seen":"2026-07-28T04:48:50.535095Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8bcca505f2517c062fdd0ad40a31ac91","sha1":"57cdc3971cc4b708a1d8c95095e37798cae41fbc","sha256":"29e99dc983760fcb49bd0bcdbc2b0ba2dbf3ae44e39ec3610d6b75c037eedfb3","sha512":"ebaebd5882e96015b06bc08ad0584b8a4a475ff6c151038d75f1c972c8223d26288021b37e2137e2823d6f2bfb3307e7def2e9f6c4f70088f68fc2ca5a9665f2","ssdeep":"","tlshash":"25a01288490c440c451215c0f013b40401e0301b80c00c81819d9a8105e03a25013499","size":79,"data":"","first_seen":"2026-07-27T00:29:31.664474Z","last_seen":"2026-07-28T07:04:56.430176Z","times_seen":332,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","size":9675,"data":"","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-28T06:17:53.613421Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","size":5444,"data":"","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-08-11T04:43:23.113969Z","times_seen":252,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"67884a7c07ba8bbb5343281aefa35921","sha1":"b1bc7fd9373dc3bd0fca386a55683e1e488c6b6b","sha256":"9d4ab4209bab35caefbfbefa29b528f93b86da33a53881492b374d11952face6","sha512":"d75cebdb7204eb1ff4839de7d237e1f8d4c45d9179f205f260f23bbe15dca4bc2d218b84388ee40400fa435cecc93ca5fff99702dfdffd6c0f959c3484475588","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000030000000000000","size":2,"data":"","first_seen":"2023-04-05T02:10:24Z","last_seen":"2026-07-28T07:04:56.50743Z","times_seen":892,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","size":5966,"data":"","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-08-07T05:09:59.618027Z","times_seen":1283,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b1a82c958451a0a4f0f7373dad43ca67","sha1":"2b0ee5ac2e3ca5ab194a88e9e280819804a71de8","sha256":"a8d0a1117e28efe9d9bcd29833dd103ca8f1110f68e814dbff635c08c6d71907","sha512":"3073a8b7f01cf71397ea52e6994c76562a2dcba867522d35339c664bf90f04531083bcde25d5af3a390de0b91c249029b5b317f0f64c12ea4439120f1df8a62e","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-11T15:11:20Z","last_seen":"2026-08-03T07:02:53.843079Z","times_seen":12540,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","size":57327,"data":"","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-28T06:17:53.420467Z","times_seen":309,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","size":16285,"data":"","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-28T06:17:53.347331Z","times_seen":308,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","size":26560,"data":"","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-08-11T04:43:23.132915Z","times_seen":271,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bb2e810ca9cabce02f0227a0a785b436","sha1":"f62801b1fbefe21f6b96033f890b17e8ff642771","sha256":"d9b0cc52f942fbeb4deca6bb2b33f074b177015803f39e625fa1d0aa9fe1adde","sha512":"4125c78e75330e3c17dfc67a055f9698b4ffa1c4c29351f18443d71935f0a4a107c821302098e15d40c800f413cd1db7f14da781b681c95906c2c2deb4137837","ssdeep":"","tlshash":"2cc02b4606010391437f29805d0b133bc1c200073c01284c89f00481e09cf400896c12","size":131,"data":"","first_seen":"2026-07-27T00:29:31.616706Z","last_seen":"2026-07-28T07:04:56.45711Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"abdac933416adad2f1f0358c34e06d0c","sha1":"0dc05aeba8286a0334c027665641bcf478994d5d","sha256":"5f564c4503176b996145604c8e659d0a1c2128953899b2e776973f0a91e17e9d","sha512":"56050afbc169f102143e4d56c74c692b0bae5319724042b3417d8740d60592b7d74fb27d1863dce300e020f33f36498a00fd31af8f94b6d301558007054ee92b","ssdeep":"192:nzHO1epgwUCqXYyY0ltStvFnUkst1siHYFhftcmrEnpsMhRl2FlQ8oCe68ciDhvx:nzJWPs0ChspEkmEnptD2FlQ8/e6Axrn","tlshash":"6c72db17c105c0fa8fb5ca227359edc0b5f8b19410f1e8c6b3a95f69c623c656838b79","size":17471,"data":"","first_seen":"2026-07-24T15:28:44.838926Z","last_seen":"2026-07-28T04:48:50.480044Z","times_seen":58,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"84e3cbc8f2cc7d16bc14251dee5f916d","sha1":"4515c758e4180ad4b3e4de054f1010b89337c5d3","sha256":"d71c6cd3abef8e38419d743ed4851ee893ff6bc105108ae88885f8524ac780a9","sha512":"166e2773f21cfcd6f793984bb2321a0513fe16cb22296e7f7a0e81915f6b387f2961404e6b1cad8c8fe209c02411ea7a4c468f0c7216b1327f2fa2ccde80acb8","ssdeep":"768:VHqwOWJaoTqN6riNXBxFRJLTiIjsxIU1azbsYttLhqpTLuvD/XV0xwk3LlEYZZBq:5qwOW0MmiMKCkLctYz3LauFKEP9mC7Oj","tlshash":"af13d68035a1b02887e6409ad07e4546f7792bd1b48a5579f0fcc8ce3e5898df136bbe","size":45019,"data":"","first_seen":"2026-07-23T14:00:31.480629Z","last_seen":"2026-07-28T04:48:50.392877Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2db95e8e1a9267b7a1188556b2013b33","sha1":"07c342be6e560e7f43842e2e21b774e61d85f047","sha256":"acac86c0e609ca906f632b0e2dacccb2b77d22b0621f20ebece1a4835b93f6f0","sha512":"f10127742e07a7705735572f823574b89aaf1cbe071935cb9e75e5cfeb817700cb484d1100a10ad5c32b59c3d6565211108aa9ef0611d7ec830c1b66f60e614d","ssdeep":"","tlshash":"c700000003000000c00000300000000000000000000000000000000000000000000300","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-11T11:45:31.245934Z","times_seen":57882,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","size":10707,"data":"","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","size":20578,"data":"","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-29T11:04:57.476864Z","times_seen":278,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","size":351,"data":"","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-08-11T04:43:23.120972Z","times_seen":625,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c8d2aa8ba9377ef9dde4c69be2c71756","sha1":"e68ebea3bac5cc4cbee63d7f3868b90062165bb5","sha256":"e57b8072fa822139451ef537ee055d4a58e1b1dd2e490fbe1733d3ac5d143f3b","sha512":"2759d01a4329cb35fba481a44483f4ac472de5adadf86dbaa7dd2e6f6ec20babcda4d9e36badbcb8b3d70ef3ca72d76f7792a3c3587ca2e463766c473dc9148f","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000300000000000c00","size":2,"data":"","first_seen":"2023-03-07T13:57:02Z","last_seen":"2026-07-28T07:04:56.412336Z","times_seen":5866,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","size":22613,"data":"","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-28T06:17:53.579611Z","times_seen":122,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","size":40229,"data":"","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-28T06:17:53.359026Z","times_seen":109,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","size":62062,"data":"","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-28T06:17:53.619977Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8b537b3294601302084dd0ee891a73fd","sha1":"af1e5bed3b4cb4260b4322a2a935e2194db4ff9e","sha256":"e46dd0dc5bebbabf4a883401e1bed90eb30123d8051a9e485fb2f079e1568c43","sha512":"a1eedd7200a6dfe05b5f70e87375c5f6c31543aef15d3f34f51699ef0bbf212e445f771acba837b8a47476562bb4c7eae094c8923f7fe62fd77de3ebfa3c9500","ssdeep":"","tlshash":"05d0a7e9929a8431b2256094055d06119085d85b14120c8dbbfdc75c6bb5c04d515e09","size":215,"data":"","first_seen":"2026-07-27T00:29:31.566404Z","last_seen":"2026-07-28T07:04:56.43827Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7c60abf1f9cbe086f9088b7022df4e43","sha1":"9e861f47a7bc785870da1bd37be033dfb3418f4e","sha256":"459990baee71111a476418d9ef771c219296d975a20f7a139b13a9e21da11067","sha512":"87064c9633c03478a62b8b2e1ea0b45bbba061ffde1fd29399820dc71ef3df2237b873e66d24f664b1d24a7d3ddbd538ac1b289a5b9004230b89f467a7c7eade","ssdeep":"","tlshash":"987000883c08200000333220000bca0c082200c202088288000000820c3200a000aa0c","size":22,"data":"","first_seen":"2026-07-27T00:29:31.731043Z","last_seen":"2026-07-28T07:04:56.465097Z","times_seen":331,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4d9ac09e2b9428fdf2e4a1080a0b7d4a","sha1":"b48305efe8b5158354f0d72d5a89a795f8456bb1","sha256":"b35f28def4481b87c38c345bde940dea7be81557d08375b8ed6464bd41023a13","sha512":"d3b0c2d5a94d0350854e08dffa8244ebc2a36b4f3bd6d1611930d9ce2976c786bc661ada3e5cdace44aeb03f23e9e4b915c4fd3d85c30fec2f67cb47c92d2a82","ssdeep":"","tlshash":"e02165eaf3c672946bd756d0accf270001687581ef794a0f4861e3b057546936085e4f","size":1286,"data":"","first_seen":"2026-07-27T00:29:31.662258Z","last_seen":"2026-07-28T07:04:56.509866Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","size":196197,"data":"","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-28T06:17:53.588069Z","times_seen":101,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1e165145a97571da936032f6bdc25987","sha1":"3708ee3564e62e191805ee96ac418dc1633d6a9b","sha256":"434e517d538444e8ecbfeac4f10b3affef8f606f57e6c7bd90b4e7678aac7721","sha512":"27cf9960df019fa54c80b623612b4b654100f5a4a1f48f0785a0483880ebc1d18b300a5fdbf7cd4a11f437ff79304ecef1f934ed5c0c1f53a38f7e344658f4dd","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-28T07:04:56.497157Z","times_seen":2666,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8ce4b16b22b58894aa86c421e8759df3","sha1":"13fbd79c3d390e5d6585a21e11ff5ec1970cff0c","sha256":"8254c329a92850f6d539dd376f4816ee2764517da5e0235514af433164480d7a","sha512":"2af8a9104b3f64ed640d8c7e298d2d480f03a3610cbc2b33474321ec59024a48592ea8545e41e09d5d1108759df48ede0054f225df39d4f0f312450e0aa9dd25","ssdeep":"","tlshash":"c700000000000000c000003000000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-11T05:54:46.982458Z","times_seen":52559,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b7af9caf2d203689250c618a39d39029","sha1":"54e22965aaf8dd894b275b582cc30705d69821ad","sha256":"2600de068f623019889e62254b9834e05e70d376b307a4ad6b859f23cdcc8f8a","sha512":"3ef3adc84c046249eb8338da914e3af339fc2a92d8f0ae731d3b82dfc79a838b32bb4601581fb9d42f1ad5dece74230ddca8b9193f7acb1a023a1892cc8633eb","ssdeep":"1536:p5+ejeWbrN0Y4NT7JDMclwUYGZTw7yhLrLl1wrFMl:p5+ejDbrSY497JDMclwUYGZTw7yhLrL5","tlshash":"4833a36890d52d392df542f540ab2010e8ade8974d9610a6efef4dbf4940ac9b13ed3f","size":50917,"data":"","first_seen":"2026-07-23T14:00:31.718819Z","last_seen":"2026-07-28T04:48:50.487518Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/calculator.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ffbcfaba5e2e1c42e300f0c8e2b409d7","sha1":"4ec29be891527ebdae23f1143db01a6614cfdb31","sha256":"1e8a113515bcc3f1250d81b2d6c6853b16f054a5d0e331a640166d8b219bffd6","sha512":"0af9d371832abd0f4668fad09bb32ba19d03dccdfc8d84c93a69329d27cfd918c239bd2485b0fa42e06d6e8dd3a6c644a9a1bc0ce97059ac94cdef95e0f9a2a6","ssdeep":"","tlshash":"1351751eaf8c21c45099a063950691f0653de57f8874ede27cc7ca28ecc81e7b5e9e89","size":3045,"data":"","first_seen":"2025-12-03T04:46:43.719699Z","last_seen":"2026-07-29T06:14:00.415998Z","times_seen":10,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","size":1863,"data":"","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-08-11T04:45:48.881688Z","times_seen":717,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5f2a6217a8d4d41ac854a9934f29d539","sha1":"66c309ccdf1880c59450b9484114f9127a8802f0","sha256":"51e3f39020a5c36d26f860b8e16d66d109a9b43fb1986cf8ca60c2ae8a5d7375","sha512":"d3f9a2aa396293953990d9331646d682ca3aef43eb476b98e3e8907c75ece2f4147271f1c1bfb00a388c16312e320017bd9e973bba6948a5a340bb0603b90547","ssdeep":"","tlshash":"ede068b6c00271aa3bcd42179ca37e1880f17915fd2e68ceb140a29dde24023600648f","size":397,"data":"","first_seen":"2026-07-27T00:29:31.665952Z","last_seen":"2026-07-28T07:04:56.415659Z","times_seen":333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"69691c7bdcc3ce6d5d8a1361f22d04ac","sha1":"c63ae6dd4fc9f9dda66970e827d13f7c73fe841c","sha256":"08f271887ce94707da822d5263bae19d5519cb3614e0daedc4c7ce5dab7473f1","sha512":"253405e03b91441a6dd354a9b72e040068b1bfe10e83eb1a64a086c05525d8ccae2bf09130c624af50d55c3522a4fbb7c18cfc8dd843e5f4801d9ad2b5164b12","ssdeep":"","tlshash":"c700000000000000c00000300000c000000000000000000000c0000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-09T07:42:55.335169Z","times_seen":58416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"de2945c844b995a4434f72c9e9f10d55","sha1":"dfa0f41fd695f4ab2068af223864f90085590f09","sha256":"29df78da8b43b5048b57229594ed6f3ad79785773f63f3001a604d1a17a206e7","sha512":"e000d576b22c638622179b6cd5b5e72b9e95c90f191dce058a700842f4ab620ffa60fabfd70814866ae1686b778f1fb6384117e7bf0c4d1c66af5945324c2137","ssdeep":"192:zD6UcCbe+/OzNJUFPphLnY8P8hfJnubwbwShMj:SUcX+/OuPphLehfJnpMShMj","tlshash":"bd32a559b2a0b02595cf6760c02f150aa2752019f70d98d4f69ed9ea3db076f213be3d","size":11058,"data":"","first_seen":"2026-05-22T13:27:07.587764Z","last_seen":"2026-08-11T04:45:44.365071Z","times_seen":283,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0de3ba01184b62b2d8e5b01ca4842f76","sha1":"dd2d76d959659ab5793eccc79cd2dec6f73433e6","sha256":"bdc33b950db6906c874faf1e5693acd3a5be7c1d5b32acf31c962026f8bad6dc","sha512":"944a8bc67c389c73a3db4b5a2c5ca593eadf35afc250aec42cf3f96c5744c8d70fd98d00e24ec8d5bf098303c5fb833df05742437f64bde0e866a9ab3c3dbf5f","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000030000","size":2,"data":"","first_seen":"2023-03-08T14:47:46Z","last_seen":"2026-08-11T05:54:46.981758Z","times_seen":2849,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89aa4b196b48c8a13a6549bb1eaebd80","sha1":"1247e024fd6d643afe2cdb7eafe74907ca00d25d","sha256":"19503ea6785ee1243cd3373fe0d201404089fb7c559d2cd4b025585ee36ff3c3","sha512":"36c3a3f8a8082a7db91e846a7d533c1ea0e04a662b60f37b245790bdb15599093360d980c5fa949d0d79b4d95aa401beb698ced062215c9707dc4d5a4fd4e54c","ssdeep":"","tlshash":"c710000000000000000000000000000000003003000000003000000000000000000000","size":2,"data":"","first_seen":"2023-03-14T01:57:03Z","last_seen":"2026-08-07T00:08:43.074784Z","times_seen":2559,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/faq.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"535e39965130a930c1f50f8e77e879c9","sha1":"cb0da761fc3292c86b41f658e6023e115eb26cd5","sha256":"7116a51ede8836afce2dd83ee455070ef9fa2ad04d0c094c669c52f6fc9e9f80","sha512":"02d3ef70035897a7db9b672af0783305525603124c3ee37924cfef03dfc3531781eba68d335b8fbdfc76b584d26d2d53f0ab8bf62391eb253e59c451d513170c","ssdeep":"","tlshash":"f251ad4af2bcd2fa22ba357305b5698d3433ac46c5cf65daf878e0305a5507d6043abc","size":2455,"data":"","first_seen":"2023-03-07T15:53:01Z","last_seen":"2026-07-29T06:14:00.364798Z","times_seen":15,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"050e1c22f7a12bc8867a7fe41d70a49a","sha1":"b9de7654a728e7ccd8cebd8e990a2f29e1ef4397","sha256":"0891030d3deca893e178c2e5760b57583e4ded2e3418ab45f1799749e337fe1d","sha512":"fd65a1dc9f76398371900c8a8f1d3581d6eb95cb39dc6b927ab63cb1bcf5b949e8291900c4dea6d0ba9212f5b9ae59990b4f8bf841fa3ba9a25a86338213c3f7","ssdeep":"","tlshash":"9ac08ce9b2a25864c3e0a82b21324200d8aa1d488e0040b5c102f448fd90349da6df81","size":146,"data":"","first_seen":"2026-07-27T00:29:31.706316Z","last_seen":"2026-07-28T07:04:56.434011Z","times_seen":334,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","size":233096,"data":"","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-28T06:17:53.599251Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79f44e5dd7602c709646d4eeecdb8f4d","sha1":"e1168a05c28ba598334dde0d6aef0c545e9b7c70","sha256":"92e9034cfa6f00cdc1749b4f56b2fc094cc4a999ff04b4012ea8727f6095e9ba","sha512":"99d6cd5f5388abc70e23b8952fd32cd2e191213b1694e4fda5f20cc66450319e392be745d0eead719e91de54f0a00445e64f7bac2a230bf528fe2e302ee36ad7","ssdeep":"","tlshash":"b7e0c037b6420427806708c630270dccc9543556f85879d9c47035a14194efb509ddc6","size":328,"data":"","first_seen":"2026-07-27T00:29:31.648585Z","last_seen":"2026-07-28T07:04:56.448814Z","times_seen":324,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"introduction_type":"scriptElement","is_inline":false,"md5":"db8665d50bbb7613ae4d5ff6618efb3c","sha1":"72a0474595ec30ff0f5b29570e7d187a4fa34bf9","sha256":"fb3be873ebdfbe3bb4183024dae7c56fffbf7bea33c01b1f7e13d8881b2d73b9","sha512":"a6a8b9b47236538cc2a9b1b522fad8d83f2d3dc7bfbe876ca6cce7a11cb9e780846d3701f295f97ada93ab31796dc3f2300f38706cefc2b939261da5325e75ca","ssdeep":"768:3iSitKD8BRCVEvoJvvI2TWRe3/E05YFa9dOJiGHE9E1RInrGhbnFT8hu7tOq+CKX:bitKDeSEAJHj3f8hbWBp","tlshash":"a5e2f7513531714852fba5eb99da062ce334732ce8248e25a8f1dc8c7ae5ae0e377d4c","size":32955,"data":"","first_seen":"2026-07-22T17:32:48.084118Z","last_seen":"2026-07-28T19:45:51.62328Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"error","text":"Widget settings parse error: SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 2 column 42 of the JSON data","filename":"https://heavenwealth.org/assets/external-embedding/embed-widget-screener.js","line_number":5,"column_number":1179},{"level":"error","text":"Invalid settings provided, fall back to defaults","filename":"https://heavenwealth.org/assets/external-embedding/embed-widget-screener.js","line_number":3,"column_number":2765}]},"http":[{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/slider.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.294Z","timestamp":1785136427294,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/slider.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-length: 1241004\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1241004,"size_decoded":1241348,"mime_type":"image/png","magic":"PNG image data, 1920 x 650, 8-bit/color RGB, non-interlaced","md5":"fc079845fee93175847e4e8c4f6cbaf6","sha1":"8f481ea9f7045f79d3cfe8273969842856f12086","sha256":"170e183b0e849be20d7d2b271f2b09221eb32895dc43603d5aca8e4d31db9a20","sha512":"06e014f1de2b19791f00ff50693b41fd853b689f9638e619d2f8e99a011139b65c6cb6eb8c4dcf007b00feadcff418787239230cbfc7c7a9eaf071a8bd88b5c2","ssdeep":"24576:Pi8pc2OnIWEf7qENeBPzYUmGtHlNgtmeJDlb6P/+7AERMXarwR:qTnif7quMkUJ3NgVHb6P/+csMV","tlshash":"eb25330acb33f9f6c83ba4589ec31975e62450fde265501933f19264e3f683e7899c68","first_seen":"2026-07-27T07:14:43.684041Z","last_seen":"2026-07-27T11:13:26.150991Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":2138,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":536,"receive":1602,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15932.2a70d397c34f2e9de94f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.407Z","timestamp":1785136428407,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15932.2a70d397c34f2e9de94f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-37f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2c060671016756c0883c016599cf0dd4\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":895,"size_decoded":1168,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (895), with no line terminators","md5":"61ab7674e7397acc0fbdbd8b60e6843d","sha1":"fcd3f559f2622c63283e4bc9c57d10811df0e449","sha256":"6612bc0b7ab79c16fbd208e005ce64f38027f232bd2fc73621c14c2401cc1abb","sha512":"25a6b08a102f5c8bd5cd31c69e9e714962ab697d5d0b27c3d6ee50b77232d869dc271761eda4f53d91748de07f2e4798911326e27fef8995b5be37d735ab9188","ssdeep":"","tlshash":"3811293871a06d2c7312ee3c17686c8c795da26ca6835eceead07128479f2cc26720a0","first_seen":"2026-03-24T10:46:27.428699Z","last_seen":"2026-08-11T10:15:18.446231Z","times_seen":5681,"resource_available":false,"data":"LnR2LWVtYmVkLXdpZGdldC13cmFwcGVye2JhY2tncm91bmQ6IzAwMDA7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjEwMCU7d2lkdGg6MH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlcntmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDozNHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9faGVhZGVyIHN2Z3toZWlnaHQ6MTVweDttYXJnaW4taW5saW5lLWVuZDo1cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3A7d2lkdGg6MjZweH0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluaywudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2xvZ28tbGluazp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDp2YXIoLS10di13aWRnZXQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1iZy1wcmltYXJ5KSk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRve292ZXJmbG93OmF1dG99aHRtbC5pcy10cmFuc3BhcmVudCAudHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHl7YmFja2dyb3VuZDojMDAwMH1odG1sLmlzLXRyYW5zcGFyZW50IC50di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keTpub3QoLnR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1ib3JkZXItb24tdHJhbnNwYXJlbnQpe2JvcmRlci13aWR0aDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.201Z","timestamp":1785136429201,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 367d7561080edeede3d4d80a0dfe9eca\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-28T06:17:53.444639Z","times_seen":386,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/92393.fbb8c271bc4a0b751269.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.825Z","timestamp":1785136429825,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/92393.fbb8c271bc4a0b751269.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4e2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a006866483df5dd4d390502f87a43322\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/3916.5481261b9512717460fe.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.828Z","timestamp":1785136429828,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/3916.5481261b9512717460fe.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-527\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4aa4acae79ef291520da93723709acb3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/57093.26600c93b6171d99b700.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.864Z","timestamp":1785136429864,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/57093.26600c93b6171d99b700.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6c86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2ddba4febedfe330c3206acf940dfce3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s3-symbol-logo.tradingview.com/country/US.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.318Z","timestamp":1785136430318,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/US.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.266Z","timestamp":1785136428266,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 363401\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-11T11:54:29.376868Z","times_seen":961682,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":72,"timings":{"blocked":-1,"dns":4,"connect":30,"send":0,"wait":16,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/33038.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.698Z","timestamp":1785136428698,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33038.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3998\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 17 Sep 2024 01:09:25 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:41:40 GMT\r\netag: \"8fae21ff4a6f0a8988b54b0e313a59a0\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 12729\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ye-R9fJNC7eMwXrYJ_Mu5qjd5y7VdOtzEyfAY-09XcaKJSoZW90u7A==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":3998,"size_decoded":4532,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8fae21ff4a6f0a8988b54b0e313a59a0","sha1":"403478a6466c3040cc8f1ffd2a7c974a5d255462","sha256":"a7d5443eca9bbdd62c689dc413dc108db9684829b85987b613b92d1d3d1f4df1","sha512":"964939d60666d7977ff00acdb432a744a824477dea921acaba2b3da1a166ec7367eb373248718b8013005aed6ba8617e8679f5ac0fe164945bb266069f9058b7","ssdeep":"","tlshash":"6f816db04b910e247ffc91243ebe5540dbc38cc2095fd2a04816a63eef5c965f1903b6","first_seen":"2025-08-09T19:29:39.018282Z","last_seen":"2026-08-11T04:47:30.113297Z","times_seen":1483,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.240Z","timestamp":1785136429240,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/14889.6210b1c56dc3b20c8ffb.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5855\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ec2d83dd9426bb96cb2846978420745a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22613,"size_decoded":9336,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"18f15990d846223cca396c3c761972f1","sha1":"8dede85b8e37373abbd001b14678c4421d37fe66","sha256":"6ebf58b388094ec25d3a4ce00e5bba7428699a6d2ed1cbc9d3d0173cde200293","sha512":"ed8e626b0b1517a097135fc060afb74f6b2ac796367fe82d704bc3ac76c4bc0077eaae8e0310851b25c711abf13380f522a22440b5e027de37de8fbcd5f41878","ssdeep":"384:hH0ZXXyspmgswwUCsoMJRWF3WW/N9MNuV62dv4xCFwUCBxDgQm7ibLeDglZnquTq:RkdmgswwrsJDWF3/N+NuVD14ECBxDgQg","tlshash":"75a2e9997199a12456eb50ee503f0406f33a7905b014ad36f2acccde3aec94cb139bb9","first_seen":"2026-07-23T14:00:31.727085Z","last_seen":"2026-07-28T06:17:53.579611Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNDg4OV0sezQ3MzE1OShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW1MRWhDclZ3IixpY29uT25seToiaWNvbk9ubHktbUxFaENyVnciLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3QtbUxFaENyVnciLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1tTEVoQ3JWdyIsc3RhcnRTbG90V3JhcDoic3RhcnRTbG90V3JhcC1tTEVoQ3JWdyIsZW5kU2xvdFdyYXA6ImVuZFNsb3RXcmFwLW1MRWhDclZ3Iix4c21hbGw6InhzbWFsbC1tTEVoQ3JWdyIsc21hbGw6InNtYWxsLW1MRWhDclZ3IixtZWRpdW06Im1lZGl1bS1tTEVoQ3JWdyIsbGFyZ2U6ImxhcmdlLW1MRWhDclZ3Iix4bGFyZ2U6InhsYXJnZS1tTEVoQ3JWdyIsY29udGVudDoiY29udGVudC1tTEVoQ3JWdyIsbGluazoibGluay1tTEVoQ3JWdyIsYmx1ZToiYmx1ZS1tTEVoQ3JWdyIscHJpbWFyeToicHJpbWFyeS1tTEVoQ3JWdyIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktbUxFaENyVnciLGdyYXk6ImdyYXktbUxFaENyVnciLGdyZWVuOiJncmVlbi1tTEVoQ3JWdyIscmVkOiJyZWQtbUxFaENyVnciLGJsYWNrOiJibGFjay1tTEVoQ3JWdyIsc2xvdDoic2xvdC1tTEVoQ3JWdyIsc3RyZXRjaDoic3RyZXRjaC1tTEVoQ3JWdyIsZ3JvdXBlZDoiZ3JvdXBlZC1tTEVoQ3JWdyIsYWRqdXN0UG9zaXRpb246ImFkanVzdFBvc2l0aW9uLW1MRWhDclZ3IixmaXJzdFJvdzoiZmlyc3RSb3ctbUxFaENyVnciLGZpcnN0Q29sOiJmaXJzdENvbC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtbGVmdCI6Im5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdyIsIm5vLWNvcm5lci10b3AtcmlnaHQiOiJuby1jb3JuZXItdG9wLXJpZ2h0LW1MRWhDclZ3Iiwibm8tY29ybmVyLWJvdHRvbS1yaWdodCI6Im5vLWNvcm5lci1ib3R0b20tcmlnaHQtbUxFaENyVnciLCJuby1jb3JuZXItYm90dG9tLWxlZnQiOiJuby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVnciLHRleHRXcmFwOiJ0ZXh0V3JhcC1tTEVoQ3JWdyIsbXVsdGlsaW5lQ29udGVudDoibXVsdGlsaW5lQ29udGVudC1tTEVoQ3JWdyIscHJpbWFyeVRleHQ6InByaW1hcnlUZXh0LW1MRWhDclZ3IixzZWNvbmRhcnlUZXh0OiJzZWNvbmRhcnlUZXh0LW1MRWhDclZ3In19LDMzMTg4MyhlKXtlLmV4cG9ydHM9e2FjdGlvbkJ1dHRvbjoiYWN0aW9uQnV0dG9uLWs1M3ZleFBhIixzbWFsbDoic21hbGwtazUzdmV4UGEiLGhpZGRlblRpdGxlOiJoaWRkZW5UaXRsZS1rNTN2ZXhQYSJ9fSw4ODgxNTkoZSl7ZS5leHBvcnRzPXtwb3B1cERpYWxvZzoicG9wdXBEaWFsb2ctQjAyVVVVTjMiLHdyYXA6IndyYXAtQjAyVVVVTjMiLG1haW46Im1haW4tQjAyVVVVTjMiLHNtYWxsOiJzbWFsbC1CMDJVVVVOMyIsdGl0bGU6InRpdGxlLUIwMlVVVU4zIixjb250ZW50OiJjb250ZW50LUIwMlVVVU4zIixodG1sOiJodG1sLUIwMlVVVU4zIixmb290ZXI6ImZvb3Rlci1CMDJVVVVOMyIsY2xvc2U6ImNsb3NlLUIwMlVVVU4zIixtYXJnaW5XaXRob3V0Q2xvc2VCdXR0b246Im1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOMyJ9fSw2NzQ3NDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QnV0dG9uOigpPT5ofSk7dmFyIG8scixuLGk9cyg3Nzk0NzQpLGw9cygyOTU3NDQpO2Z1bmN0aW9uIGEoZT0iZGVmYXVsdCIpe3N3aXRjaChlKXtjYXNlImRlZmF1bHQiOnJldHVybiJwcmltYXJ5IjtjYXNlInN0cm9rZSI6cmV0dXJuInNlY29uZGFyeSJ9fWZ1bmN0aW9uIGMoZT0icHJpbWFyeSIpe3N3aXRjaChlKXtjYXNlInByaW1hcnkiOnJldHVybiJicmFuZCI7Y2FzZSJzdWNjZXNzIjpyZXR1cm4iZ3JlZW4iO2Nhc2UiZGVmYXVsdCI6cmV0dXJuImdyYXkiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4icmVkIn19ZnVuY3Rpb24gdShlPSJtIil7c3dpdGNoKGUpe2Nhc2UicyI6cmV0dXJuInhzbWFsbCI7Y2FzZSJtIjpyZXR1cm4ic21hbGwiO2Nhc2UibCI6cmV0dXJuImxhcmdlIn19ZnVuY3Rpb24gbShlKXtjb25zdHtpbnRlbnQ6dCxzaXplOnMsYXBwZWFyYW5jZTpvLHVzZUZ1bGxXaWR0aDpyLGljb246biwuLi5pfT1lO3JldHVybnsuLi5pLGNvbG9yOmModCksc2l6ZTp1KHMpLHZhcmlhbnQ6YShvKSxzdHJldGNoOnJ9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlNxdWFyZUJ1dHRvbix7Li4ubShlKX0pfSFmdW5jdGlvbihlKXtlLlByaW1hcnk9InByaW1hcnkiLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlNtYWxsPSJzIixlLk1lZGl1bT0ibSIsZS5MYXJnZT0ibCJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLlN0cm9rZT0ic3Ryb2tlIn0obnx8KG49e30pKX0sMjQzMjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1NxdWFyZUJ1dHRvbkNvbnRlbnQ6KCk9Pm0sZ2V0U3F1YXJlQnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxuPXMubihyKSxpPXMoNjA1MTQxKSxsPXMoNDczMTU5KSxhPXMubihsKTtjb25zdCBjPSJhcHBseS1vdmVyZmxvdy10b29sdGlwIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWNoZWNrLWNoaWxkcmVuLXJlY3Vyc2l2ZWx5IGFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQgYXBwbHktY29tbW9uLXRvb2x0aXAiO2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJtZWRpdW0iLHZhcmlhbnQ6cz0icHJpbWFyeSIsY29sb3I6bz0iYnJhbmQiLHN0cmV0Y2g6cj0hMSxzdGFydFNsb3Q6bCxlbmRTbG90OnUsaWNvbk9ubHk6bT0hMSxjbGFzc05hbWU6aCxpc0dyb3VwZWQ6ZCxjZWxsU3RhdGU6cCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Onk9ITEscHJpbWFyeVRleHQ6ZixzZWNvbmRhcnlUZXh0Ol8saXNBbmNob3I6Uz0hMX09ZSxnPSJicmFuZCI9PT1vPyJibGFjayI6byxiPWZ1bmN0aW9uKGUpe2xldCB0PSIiCjtyZXR1cm4gMCE9PWUmJigxJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1sZWZ0Il0pKSwyJmUmJih0PW4oKSh0LGEoKVsibm8tY29ybmVyLXRvcC1yaWdodCJdKSksNCZlJiYodD1uKCkodCxhKClbIm5vLWNvcm5lci1ib3R0b20tcmlnaHQiXSkpLDgmZSYmKHQ9bigpKHQsYSgpWyJuby1jb3JuZXItYm90dG9tLWxlZnQiXSkpKSx0fSgoMCxpLmdldEdyb3VwQ2VsbFJlbW92ZVJvdW5kQm9yZGVycykocCkpLEM9bSYmKGx8fHUpO3JldHVybiBuKCkoaCxhKCkuYnV0dG9uLGEoKVt0XSxhKClbZ10sYSgpW3NdLHImJmEoKS5zdHJldGNoLGwmJmEoKS53aXRoU3RhcnRJY29uLHUmJmEoKS53aXRoRW5kSWNvbixDJiZhKCkuaWNvbk9ubHksYixkJiZhKCkuZ3JvdXBlZCxkJiYheSYmYSgpLmFkanVzdFBvc2l0aW9uLGQmJnAuaXNUb3AmJmEoKS5maXJzdFJvdyxkJiZwLmlzTGVmdCYmYSgpLmZpcnN0Q29sLGYmJl8mJmEoKS5tdWx0aWxpbmVDb250ZW50LFMmJmEoKS5saW5rLGMpfWZ1bmN0aW9uIG0oZSl7Y29uc3R7c3RhcnRTbG90OnQsaWNvbk9ubHk6cyxjaGlsZHJlbjpyLGVuZFNsb3Q6aSxwcmltYXJ5VGV4dDpsLHNlY29uZGFyeVRleHQ6dX09ZTtpZih0JiZpJiZzKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCk7Y29uc3QgbT1zJiYodD8/aSksaD0hdCYmIWkmJiFzJiYhciYmbCYmdTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCx0JiZvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bigpKGEoKS5zbG90LGEoKS5zdGFydFNsb3RXcmFwKX0sdCksciYmIW0mJm8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphKCkuY29udGVudH0sciksaSYmby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhKCkuc2xvdCxhKCkuZW5kU2xvdFdyYXApfSxpKSxoJiYhbSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUucHJpbWFyeVRleHQmJmUuc2Vjb25kYXJ5VGV4dCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKGEoKS50ZXh0V3JhcCxjKX0sby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5wcmltYXJ5VGV4dH0sIiAiLGUucHJpbWFyeVRleHQsIiAiKSwic3RyaW5nIj09dHlwZW9mIGUuc2Vjb25kYXJ5VGV4dD9vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LCIgIixlLnNlY29uZGFyeVRleHQsIiAiKTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YSgpLnNlY29uZGFyeVRleHR9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxlLnNlY29uZGFyeVRleHQuZmlyc3RMaW5lKSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsZS5zZWNvbmRhcnlUZXh0LnNlY29uZExpbmUpKSl9KGUpKX19LDI5NTc0NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTcXVhcmVCdXR0b246KCk9PnV9KTt2YXIgbz1zKDc3OTQ3NCkscj1zKDc3MDE0Myksbj1zKDUzMjAxMSksaT1zKDM0NTExNik7ZnVuY3Rpb24gbChlLHQpe3JldHVybiBzPT57aWYodClyZXR1cm4gcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgcy5zdG9wUHJvcGFnYXRpb24oKTtlPy4ocyl9fXZhciBhPXMoMjQzMjA3KTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNvbG9yOnMsdmFyaWFudDpvLHNpemU6cixzdHJldGNoOm4saWNvbk9ubHk6bCxzdGFydFNsb3Q6YSxlbmRTbG90OmMscHJpbWFyeVRleHQ6dSxzZWNvbmRhcnlUZXh0Om0sLi4uaH09ZTtyZXR1cm57Li4uaCwuLi4oMCxpLmZpbHRlckRhdGFQcm9wcykoZSksLi4uKDAsaS5maWx0ZXJBcmlhUHJvcHMpKGUpfX1mdW5jdGlvbiB1KGUpe2NvbnN0e3JlZmVyZW5jZTp0LHRvb2x0aXBUZXh0OnMsZGlzYWJsZWQ6aSxvbkNsaWNrOnUsb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0Omgsb25Nb3VzZURvd246ZCxvbk1vdXNlRW50ZXI6cCxhcmlhRGlzYWJsZWQ6eSwuLi5mfT1lLHtpc0dyb3VwZWQ6XyxjZWxsU3RhdGU6UyxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50Omd9PSgwLG8udXNlQ29udGV4dCkobi5Db250cm9sR3JvdXBDb250ZXh0KSxiPSgwLGEuZ2V0U3F1YXJlQnV0dG9uQ2xhc3Nlcykoey4uLmYsaXNHcm91cGVkOl8sY2VsbFN0YXRlOlMsZGlzYWJsZVBvc2l0aW9uQWRqdXN0bWVudDpnfSksQz1zPz8oZS5wcmltYXJ5VGV4dD9bZS5wcmltYXJ5VGV4dCxlLnNlY29uZGFyeVRleHRdLmpvaW4oIiAiKTooMCxyLmdldFRleHRGb3JUb29sdGlwKShlLmNoaWxkcmVuKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyhmKSwiYXJpYS1kaXNhYmxlZCI6aXx8eSx0YWJJbmRleDplLnRhYkluZGV4Pz8oaT8tMTowKSxjbGFzc05hbWU6YixyZWY6dCxvbkNsaWNrOmwodSxpKSxvbk1vdXNlRG93bjpsKGQsaSksb25Nb3VzZU92ZXI6bChtLGkpLG9uTW91c2VPdXQ6bChoLGkpLG9uTW91c2VFbnRlcjpsKHAsaSksImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC10ZXh0IjpDfSxvLmNyZWF0ZUVsZW1lbnQoYS5TcXVhcmVCdXR0b25Db250ZW50LHsuLi5mfSkpfX0sNjA1MTQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1zLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5vfSl9LDk3MTY1OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VJc01vdW50ZWQ6KCk9PnJ9KTt2YXIgbz1zKDc3OTQ3NCk7Y29uc3Qgcj0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sMTQ3OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9Pm4sZGF0YVFhSWRzOigpPT5yfSkKO3ZhciBvPXMoNTY1NzQ1KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuW2UsdF0uZmlsdGVyKG8uaXNFeGlzdGVudCkuam9pbigiICIpfWZ1bmN0aW9uIG4oZSx0KXtpZigoMCxvLmlzRXhpc3RlbnQpKHQpKXJldHVybltlLHRdLmpvaW4oIiAiKX1jb25zdCBpPSJ1aS1saWItIn0sNTY1NzQ1KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1zLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw5NjIwODEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y29tbW9uUmVuYW1lU2VwYXJhdG9yOigpPT5pfSk7dmFyIG89cygzODQwMTcpLHI9cyg1ODA1MjYpLG49cygzMDQzOTkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0LHMsaSl7Y29uc3R7b2xkU2VwYXJhdG9yOmwsbmV3U2VwYXJhdG9yOmF9PSgwLHIucmVtb3RlUmVuYW1lU2VwYXJhdG9ycykoZSxzLGkpLGM9YXdhaXQoMCxvLmZldGNoKSgoMCxuLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0LyR7dH0vJHtlfS9yZXBsYWNlX3N5bWJvbC9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHtvbGQ6bCxuZXc6YX0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSk7aWYoIWMub2spe2NvbnN0e2RldGFpbDplfT1hd2FpdCBjLmpzb24oKTt0aHJvdyBFcnJvcihlKX1yZXR1cm4oMCxuLmhhbmRsZUpTT04pKGMpfX0sNjkzMjE2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEV4dHJhSG91cnNDaGFuZ2VQZXJjZW50OigpPT5uLGlzRXh0cmFIb3Vyc1Nlc3Npb246KCk9PnJ9KTtjb25zdCBvPVsicHJlX21hcmtldCIsInBvc3RfbWFya2V0IiwibmlnaHQiXTtmdW5jdGlvbiByKGUpe3JldHVybiBCb29sZWFuKGUmJm8uaW5jbHVkZXMoZSkpfWZ1bmN0aW9uIG4oZSl7bGV0IHQ7c3dpdGNoKGUuY3VycmVudF9zZXNzaW9uKXtjYXNlIm5pZ2h0Ijp0PWUubmNocDticmVhaztjYXNlInBvc3RfbWFya2V0IjpjYXNlInByZV9tYXJrZXQiOnQ9ZS5yY2hwfXJldHVybiB0Pz9udWxsfX0sMjQzNjMxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0NvbG9yQ29udGV4dDooKT0+byxDb2xvck1hbmFnZXI6KCk9Pmx9KTt2YXIgbyxyPXMoNzEyMTM0KSxuPXMoMzU3NTMzKSxpPXMoNTAwNTE0KTshZnVuY3Rpb24oZSl7ZVtlLlN5bWJvbE1hcmtlcj0wXT0iU3ltYm9sTWFya2VyIixlW2UuU2NyZWVuZXJGaWx0ZXI9MV09IlNjcmVlbmVyRmlsdGVyIn0ob3x8KG89e30pKTtjbGFzcyBse2dldENvbG9yKCl7c3dpdGNoKHRoaXMuX2NvbnRleHQpe2Nhc2Ugby5TeW1ib2xNYXJrZXI6cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUNvbG9yKG4uU3ltYm9sTWFya2VyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpO2Nhc2Ugby5TY3JlZW5lckZpbHRlcjpyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlQ29sb3Iobi5TeW1ib2xzRmlsdGVyU2V0dGluZ3MuZ2V0RGVmYXVsdENvbG9yKCkpfX1zZXRDb2xvcihlKXtzd2l0Y2godGhpcy5fY29udGV4dCl7Y2FzZSBvLlN5bWJvbE1hcmtlcjpuLlN5bWJvbE1hcmtlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSk7YnJlYWs7Y2FzZSBvLlNjcmVlbmVyRmlsdGVyOm4uU3ltYm9sc0ZpbHRlclNldHRpbmdzLnNldERlZmF1bHRDb2xvcih0aGlzLl9nZXRBdmFpbGFibGVDb2xvcihlKSl9fV9nZXRBdmFpbGFibGVDb2xvcihlKXtyZXR1cm4oMCxpLmNoZWNrQ29sb3JQZXJtaXNzaW9ucykoZSk/ZToodGhpcy5zZXRDb2xvcihyLkxpc3RDb2xvci5SZWQpLHIuTGlzdENvbG9yLlJlZCl9Y29uc3RydWN0b3IoZSl7dGhpcy5fY29udGV4dD1lLmNvbnRleHR9fX0sNTAwNTE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0TW9kZWw6KCk9PmssY2hlY2tDb2xvclBlcm1pc3Npb25zOigpPT5ULGdldE1hcmtlZExpc3RzU3RhdGU6KCk9Pk59KTt2YXIgbz1zKDEzODYzOCkscj1zKDcxMjEzNCk7Y2xhc3MgbntkZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uKCksdGhpcy5fZGVzdHJveWVkPSEwfV9nZXRDb21tYW5kcygpe2NvbnN0IGU9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSk7cmV0dXJuKDAsci5nZXRDb21tYW5kcykoZSl9Y29uc3RydWN0b3IoZSl7dGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRDb21tYW5kcygpO2lmKGUubGVuZ3RoPjApe2lmKG51bGwhPT10aGlzLl9leGVjdXRpbmcpcmV0dXJuO2NvbnN0W3QsLi4uc109ZTtzd2l0Y2godC50eXBlKXtjYXNlImFwcGVuZCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5hcHBlbmRTeW1ib2xzKHQuY29sb3IsdC5zeW1ib2xzKS50aGVuKChlPT4hZXx8dGhpcy5fZGVzdHJveWVkP251bGw6e1t0LmNvbG9yXTp7c3ltYm9sczplfX0pKS50aGVuKChhc3luYyBlPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fc2VsZWN0b3IodGhpcy5fc3RvcmUuZ2V0U3RhdGUoKSksbz0oMCxyLmdldExpc3RCeUNvbG9yKShzLHQuY29sb3IpO2lmKG51bGwhPT1vJiZudWxsIT09by5wZXJzaXN0ZWRTdGF0ZSYmbnVsbCE9PW8ucGVyc2lzdGVkU3RhdGUuaWQpcmV0dXJuIGU7Y29uc3Qgbj1hd2FpdCB0aGlzLl9hcGkuZ2V0TGlzdHMoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmZpbmQoKGU9PmUuY29sb3I9PT10LmNvbG9yKSk7cmV0dXJuIGk/e1t0LmNvbG9yXTp7aWQ6aS5pZCxzeW1ib2xzOmkuc3ltYm9sc319Om51bGx9KSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnRoaXMuX2V4ZWN1dGluZz10aGlzLl9hcGkucmVtb3ZlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXBsYWNlIjoKdGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXBsYWNlU3ltYm9scyh0LmNvbG9yLHQuc3ltYm9scykudGhlbigoZT0+IWV8fHRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06e3N5bWJvbHM6ZX19KSk7YnJlYWs7Y2FzZSJyZXNldCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldFN5bWJvbHModC5zeW1ib2xzKS50aGVuKCgoKT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm4gbnVsbDtjb25zdCBlPXt9O2Zvcihjb25zdCBzIG9mIHIuTElTVF9DT0xPUlMpe2NvbnN0IG89dC5wcmV2TGlzdHMuYnlDb2xvcltzXTtpZighb3x8IW8ucGVyc2lzdGVkU3RhdGUpY29udGludWU7Y29uc3Qgcj1vLnBlcnNpc3RlZFN0YXRlLnN5bWJvbHMuZmlsdGVyKChlPT4hdC5zeW1ib2xzLmluY2x1ZGVzKGUpKSk7ZVtzXT17Li4uby5wZXJzaXN0ZWRTdGF0ZSxzeW1ib2xzOnJ9fXJldHVybiBlfSkpO2JyZWFrO2Nhc2UicmVuYW1lIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnJlbmFtZUxpc3QodC5jb2xvcix0Lm5hbWUpLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlImNoYW5nZS1kZXNjcmlwdGlvbiI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5jaGFuZ2VEZXNjcmlwdGlvbih0LmNvbG9yLHQuZGVzY3JpcHRpb24pLnRoZW4oKGU9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOntbdC5jb2xvcl06ZX0pKTticmVhaztjYXNlInJlc2V0LWFsbCI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZXNldEFsbCgpLnRoZW4oKCgpPT57aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2NvbnN0IGU9e307Zm9yKGNvbnN0IHMgb2Ygci5MSVNUX0NPTE9SUyl7Y29uc3Qgbz10LnByZXZMaXN0cy5ieUNvbG9yW3NdO28mJm8ucGVyc2lzdGVkU3RhdGUmJihlW3NdPXsuLi5vLnBlcnNpc3RlZFN0YXRlLHN5bWJvbHM6W119KX1yZXR1cm4gZX0pKTticmVhaztjYXNlInNoYXJlIjp0aGlzLl9leGVjdXRpbmc9dGhpcy5fYXBpLnNoYXJlTGlzdCh0LmNvbG9yLHQuc2hhcmVkKS50aGVuKChlPT50aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzaGFyZWQ6ZS5zaGFyZWR9fSkpO2JyZWFrO2Nhc2UicmVuYW1lLXNlcGFyYXRvciI6dGhpcy5fZXhlY3V0aW5nPXRoaXMuX2FwaS5yZW5hbWVTZXBhcmF0b3IodC5jb2xvcix0LnNlcGFyYXRvcix0Lm5hbWUpLnRoZW4oKGU9PiFlfHx0aGlzLl9kZXN0cm95ZWQ/bnVsbDp7W3QuY29sb3JdOntzeW1ib2xzOmV9fSkpfXRoaXMuX2V4ZWN1dGluZy50aGVuKChlPT57aWYodGhpcy5fZXhlY3V0aW5nPW51bGwsdGhpcy5fZGVzdHJveWVkKXJldHVybjtjb25zdFtvXT10aGlzLl9nZXRDb21tYW5kcygpO289PT10Pyh0aGlzLl9zdG9yZS5kaXNwYXRjaCgoMCxyLnNoaWZ0Q29tbWFuZCkoe2NvdW50OjF9KSksZSYmdGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci51cGRhdGVQZXJzaXN0ZWRTdGF0ZSkoZSkpKToodGhpcy5fb25XYXJuKGBDb21tYW5kOiAke0pTT04uc3RyaW5naWZ5KHQpfSB3YXMgc2VudCB0byB0aGUgc2VydmVyIGJ1dCBpcyBub3QgZm91bmQgaW4gdGhlIHN0YXRlYCkscy5sZW5ndGg+MCYmdGhpcy5fb25XYXJuKGBDb21tYW5kczogJHtKU09OLnN0cmluZ2lmeShzKX0gd2FzIGRyb3BwZWQgZnJvbSBzdGF0ZSB3aXRob3V0IHN5bmNpbmcgd2l0aCBzZXJ2ZXJgKSksdGhpcy5faGFuZGxlQ2hhbmdlKCl9KSwoZT0+e2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5fZXhlY3V0aW5nPW51bGw7Y29uc3R7Y29sb3JzOnMsYnlDb2xvcjpufT10LnByZXZMaXN0cyxpPXMubWFwKChlPT4oMCxvLmVuc3VyZURlZmluZWQpKG5bZV0pKSk7dGhpcy5fc3RvcmUuZGlzcGF0Y2goKDAsci5zZXR1cCkoe2xpc3RzOmksdGltZXN0YW1wOigwLG8uZW5zdXJlTm90TnVsbCkoKDAsci5nZXRUaW1lc3RhbXApKHRoaXMuX3NlbGVjdG9yKHRoaXMuX3N0b3JlLmdldFN0YXRlKCkpKSl9KSksdGhpcy5fb25FcnJvcih0LGUpfSkpfX07Y29uc3R7cm9vdDp0LHNlbGVjdG9yOnMsb25FcnJvcjpuLG9uV2FybjppLGFwaTpsfT1lO3RoaXMuX3N0b3JlPXQsdGhpcy5fc2VsZWN0b3I9cyx0aGlzLl9zdWJzY3JpcHRpb249dGhpcy5fc3RvcmUuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fb25FcnJvcj1uLHRoaXMuX29uV2Fybj1pLHRoaXMuX2FwaT1sLHRoaXMuX2hhbmRsZUNoYW5nZSgpfX12YXIgaT1zKDI5NTIzNSksbD1zKDkwMTAyMik7dmFyIGE9cygyMjEwNjEpLGM9cygxODUyNzEpLHU9cyg5MTM0MTMpLG09cyg2MzI2ODYpLGg9cygxNTI3MTcpLGQ9cyg0NTY3MDUpLHA9cyg1ODA1MjYpLHk9cyg5Mjk0ODgpLGY9cyg2NDM5MDMpLF89cygxNTk1MTMpLFM9cyg0NzkzNCksZz1zKDc3MDc1NSksYj1zKDYxMzg3MCksQz1zKDMxMzMwMCksdj1zKDU5NjA1MCksdz1zKDQzNjM5NCksRT1zKDQzMjM1MCk7Y29uc3QgeD0oMCxhLmdldExvZ2dlcikoIk1hcmtlZFN5bWJvbHMuTW9kZWwiKTt2YXIgTDtmdW5jdGlvbiBOKGUpe3JldHVybiBlLm1hcmtlZExpc3RzfSFmdW5jdGlvbihlKXtlLkxpbWl0UmVhY2hlZD0iTGltaXRSZWFjaGVkIn0oTHx8KEw9e30pKTtjbGFzcyBre2Rlc3Ryb3koKXt0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmRlc3Ryb3koKSx0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbigpLHRoaXMuX2V4ZWN1dG9yJiZ0aGlzLl9leGVjdXRvci5kZXN0cm95KCl9Z2V0U3ltYm9sc0J5Q29sb3IoZSl7aWYobnVsbD09PXRoaXMuX3NlcnZpY2UpcmV0dXJuW107Y29uc3R7c3RvcmU6dH09dGhpcy5fc2VydmljZSxzPU4odC5nZXRTdGF0ZSgpKTtyZXR1cm4gbnVsbD09PXM/W106KDAsci5nZXRTeW1ib2xzQnlDb2xvcikocyxlKT8/W119Z2V0TGlzdHMoKXtyZXR1cm4gci5MSVNUX0NPTE9SUy5yZWR1Y2UoKChlLHQpPT4oZS5zZXQodCxuZXcgU2V0KHRoaXMuZ2V0U3ltYm9sc0J5Q29sb3IodCkpKSxlKSksbmV3IE1hcCl9c2V0U3ltYm9sc0NvbG9yKGUsdCl7aWYoeC5sb2dOb3JtYWwoYFNldCBzeW1ib2xzIGNvbG9yICR7dH1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4KO2NvbnN0IHM9dGhpcy5fcmVzdHJpY3RlZE1hcmtTeW1ib2xzKHtzeW1ib2xzOmUsY29sb3I6dCxzZXBhcmF0b3JzOiExfSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaChzKX1tYXJrTWFueShlKXtpZih4LmxvZ05vcm1hbChgTWFyayBtYW55IHN5bWJvbHM6ICR7ZS5jb2xvcn1gKSxudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm47Y29uc3QgdD10aGlzLl9yZXN0cmljdGVkTWFya1N5bWJvbHMoZSk7dGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCh0KX1nZXRTeW1ib2xDb2xvcihlKXtpZihudWxsPT09dGhpcy5fc2VydmljZSlyZXR1cm4gbnVsbDtjb25zdHtzdG9yZTp0fT10aGlzLl9zZXJ2aWNlLHM9Tih0LmdldFN0YXRlKCkpO3JldHVybiBudWxsPT09cz9udWxsOigwLHIuZ2V0U3ltYm9sQ29sb3IpKHMsZSl9Y2xlYXJBbGxTeW1ib2xzQ29sb3IoKXt4LmxvZ05vcm1hbCgiQ2xlYXIgYWxsIHN5bWJvbHMgY29sb3IiKSxudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnJlc2V0KSh7fSkpfXN5bmNTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKX1hbm9ueW1pemUoKXtudWxsIT09dGhpcy5fc2VydmljZSYmdGhpcy5fc2VydmljZS5zdG9yZS5kaXNwYXRjaCgoMCxyLnNldHVwKSh7dGltZXN0YW1wOkRhdGUubm93KCksbGlzdHM6W119KSl9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmNvbm5lY3QoKX1jbG9zZUNvbm5lY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5jbG9zZUNvbm5lY3Rpb24oKX1fcmVzb2x2ZShlKXtjb25zdCB0PW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSlpZih2b2lkIDAhPT1zLnN5bWJvbHMpZm9yKGNvbnN0IGUgb2Ygcy5zeW1ib2xzKXtpZigoMCx5LmlzU2VwYXJhdG9ySXRlbSkoZSkpY29udGludWU7KDAsZi5zYWZlU2hvcnROYW1lKShlKT09PWUmJnQuYWRkKGUpfWNvbnN0IHM9QXJyYXkuZnJvbSh0KS5tYXAoKGU9PnRoaXMuX3Nlc3Npb24uc25hcHNob3QoZSkudGhlbigodD0+dC5wcm9fbmFtZXx8ZSksKCgpPT5lKSkudGhlbigodD0+W2UsdF0pKSkpO3JldHVybiBQcm9taXNlLmFsbChzKS50aGVuKCh0PT57Y29uc3Qgcz1uZXcgTWFwKHQpO3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e3N5bWJvbHM6dCxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLHAubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybntpZDplLmlkLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sY29sb3I6ZS5jb2xvcixzaGFyZWQ6ZS5zaGFyZWQsY3JlYXRlZDplLmNyZWF0ZWQsbW9kaWZpZWQ6ZS5tb2RpZmllZCx0eXBlOmUudHlwZSxhY3RpdmU6ZS5hY3RpdmUsc3ltYm9sczp0Lm1hcCgoZT0+cy5nZXQoZSk/P2UpKSxjb2xsYXBzZWRTZXBhcmF0b3JzOm8scGVyc2lzdGVkU3RhdGU6ZX19KSl9KSl9X2NyZWF0ZUV4ZWN1dG9yKCl7Y29uc3R7c3RvcmU6ZX09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9leGVjdXRvcj1uZXcgbih7cm9vdDplLHNlbGVjdG9yOmU9PigwLG8uZW5zdXJlTm90TnVsbCkoTihlKSksYXBpOnRoaXMuX2FwaSxvbkVycm9yOnRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3Isb25XYXJuOmU9Pnt4LmxvZ1dhcm4oZSl9fSkseC5sb2dOb3JtYWwoIkV4ZWN1dG9yIHdhcyBjcmVhdGVkIil9Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJvbWlzZT0oMCxkLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSx0aGlzLl9zZXJ2aWNlPW51bGwsdGhpcy5fZXhlY3V0b3I9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzPW51bGwsdGhpcy5fcmVjb3Zlcj0hMSx0aGlzLl9zeW5jaHJvbml6ZT1hc3luYyBlPT57bGV0IHQscztudWxsIT09dGhpcy5fZXhlY3V0b3ImJih0aGlzLl9leGVjdXRvci5kZXN0cm95KCksdGhpcy5fZXhlY3V0b3I9bnVsbCx4LmxvZ05vcm1hbCgiRXhlY3V0b3Igd2FzIGRlc3Ryb3llZC4iKSk7dHJ5e3RoaXMuX3JlY292ZXImJmF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpO2NvbnN0W29dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9hcGkuZ2V0TGlzdHMoKSx0aGlzLl9wcm9taXNlXSk7dD1hd2FpdCB0aGlzLl9yZXNvbHZlKG8pLHM9RGF0ZS5ub3coKSxlLmFzc2VydCgpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7aWYoeC5sb2dFcnJvcihgU3luYyBzeW1ib2xzIGVycm9yOiAke2UubWVzc2FnZX1gKSxlLm1lc3NhZ2U9PT1FLlJPVVRJTkVfQ0FOQ0VMTEVEX01FU1NBR0UpcmV0dXJuO2lmKCJBcGlFcnJvcjpub3RfYXV0aGVudGljYXRlZCI9PT1lLm5hbWUpcmV0dXJuIHRoaXMuX3JlY292ZXJ8fGF3YWl0KDAsaC5zeW5jVXNlckRhdGEpKCJtYXJrZWQtc3ltYm9scyIpLHZvaWQoMCxiLnNob3dTaWduTW9kYWwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX10aHJvdyBlfXRoaXMuX3JlY292ZXI9ITE7Y29uc3R7c3RvcmU6bn09KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKTt0aGlzLl9jcmVhdGVFeGVjdXRvcigpO2NvbnN0IGk9dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5nZXRTdGF0ZSgpLGw9bnVsbCE9PWk/TShpKTpudWxsO2lmKG51bGwhPT1sJiZsPj1zKXJldHVybjtjb25zdCBhPSgwLHIuc2V0dXApKHtsaXN0czp0Lm1hcCgoZT0+KHtuYW1lOmUubmFtZT8/bnVsbCxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uPz9udWxsLGNvbG9yOmUuY29sb3Isc3ltYm9sczplLnN5bWJvbHMsc2hhcmVkOmUuc2hhcmVkLGNvbGxhcHNlZFNlcGFyYXRvcnM6ZS5jb2xsYXBzZWRTZXBhcmF0b3JzLHBlcnNpc3RlZFN0YXRlOmUucGVyc2lzdGVkU3RhdGV9KSkpLHRpbWVzdGFtcDpzfSk7bi5kaXNwYXRjaChhKX0sdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57aWYodGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5pc0Rlc3Ryb3llZCgpKXJldHVybjtjb25zdHtzdG9yZTplfT0oMCwKby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJ2aWNlKSx0PSgwLG8uZW5zdXJlTm90TnVsbCkoTihlLmdldFN0YXRlKCkpKTtpZih0aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmdldFN0YXRlKCkhPT10KXRyeXt0aGlzLl9vcHRzLm9uQ2hhbmdlPy4odCwoMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuZ2V0U3RhdGUoKSkpfWZpbmFsbHl7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSh0KX19LHRoaXMuX2hhbmRsZUV4ZWN1dG9yRXJyb3I9KGUsdCk9PnsiQXBpRXJyb3I6cGxhbl9zeW1ib2xzX2xpbWl0X3JlYWNoZWQiIT09dC5uYW1lP3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9PT1tLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj90aGlzLl9zeW5jaHJvbml6YXRpb25TZXJ2aWNlLmlzRGVzdHJveWVkKCl8fCh4LmxvZ0Vycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSAke2UudHlwZX1gKSx0aGlzLl9yZWNvdmVyPSEwLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2Uuc3luY1N5bWJvbHMoKSk6KDAsdi5zaG93U2ltcGxlRGlhbG9nSW5zdGFuY2UpKHt0aXRsZTpjLnQobnVsbCx2b2lkIDAscygzODIwMjUpKSx0ZXh0OnQubWVzc2FnZX0sdy5XYXJuaW5nKTooMCxnLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToid2F0Y2hsaXN0U3ltYm9scyJ9KX0sdGhpcy5fb3B0cz1lLHRoaXMuX2FwaT1lLmFwaXx8bmV3IHUuTWFya2VkU3ltYm9sc0xpc3RBcGksdGhpcy5fc2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbnx8KDAsXy5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoInNpbXBsZSIpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2U9bmV3IEUuU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2Uoe3N5bmNocm9uaXplOnRoaXMuX3N5bmNocm9uaXplLGV2ZW50OmUuZXZlbnQsc3RhdGU6bnVsbCxnZXRUaW1lc3RhbXA6TSxsb2dnZXJOYW1lOiJNYXJrZWRTeW1ib2xzTGlzdE1vZGVsIn0pLHRoaXMuX3Jlc3RyaWN0ZWRNYXJrU3ltYm9scz1mdW5jdGlvbihlKXtjb25zdHtsaW1pdDp0LGNvbG9yczpzLG9uTGltaXQ6byxvblJlc3RyaWN0ZWRDb2xvcjpuLHNlbGVjdG9yOmF9PWU7cmV0dXJuIGU9PihjLHUpPT57Y29uc3QgbT11KCksaD1hKG0pLHtjb2xvcjpkLHN5bWJvbHM6cCxzZXBhcmF0b3JzOnl9PWU7aWYobnVsbCE9PWQpe2NvbnN0IGU9aC5saXN0cy5ieUNvbG9yW2RdPy5zeW1ib2xzPz9bXSxyPW5ldyBTZXQoZSksYT1pLnF1YWxpZmllZC5jYXN0TWFueShbXSk7Zm9yKGNvbnN0IGUgb2YgbmV3IFNldChwKSkheSYmKDAsbC5pc1NlcGFyYXRvckl0ZW0pKGUpfHxyLmhhcyhlKXx8YS5wdXNoKGUpO2lmKCFzKCkuaW5jbHVkZXMoZCkpcmV0dXJuIHZvaWQgbigpO2lmKGEubGVuZ3RoJiZhLmxlbmd0aCtyLnNpemU+dCgpKXJldHVybiB2b2lkIG8oKX1jKCgwLHIubWFya01hbnkpKGUpKX19KHtzZWxlY3RvcjplPT4oMCxvLmVuc3VyZU5vdE51bGwpKE4oZSkpLGxpbWl0OmUubGltaXQ/PygoKT0+KDAsQy5nZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQpKCkpLG9uTGltaXQ6KCk9Pnt4LmxvZ05vcm1hbCgiTGltaXRSZWFjaGVkIiksdGhpcy5fb3B0cy5vbkxpbWl0Py4oKX0sY29sb3JzOmUuY29sb3JzPz8oKCk9PnIuTElTVF9DT0xPUlMuZmlsdGVyKEQpKSxvblJlc3RyaWN0ZWRDb2xvcjooKT0+e3RoaXMuX29wdHMub25SZXN0cmljdGVkQ29sb3I/LigpfX0pLHRoaXMuX3Byb21pc2UudGhlbigoZT0+e2lmKHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuaXNEZXN0cm95ZWQoKSlyZXR1cm47dGhpcy5fc2VydmljZT1lO2NvbnN0e3N0b3JlOnR9PWU7dGhpcy5fc3luY2hyb25pemF0aW9uU2VydmljZS5zZXRTdGF0ZSgoMCxvLmVuc3VyZU5vdE51bGwpKE4odC5nZXRTdGF0ZSgpKSkpLHRoaXMuX3N1YnNjcmlwdGlvbj10LnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2UpfSkpLHRoaXMuX3N5bmNocm9uaXphdGlvblNlcnZpY2UuY29ubmVjdCgpfX1mdW5jdGlvbiBEKGUpe3JldHVybiByLkxpc3RDb2xvci5SZWQ9PT1lfHwoMCxTLmVuYWJsZWQpKCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyIpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuISFEKGUpfHwoKDAsZy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6ImZsYWdnZWRTeW1ib2xzIn0pLCExKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDM1NzUzMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTeW1ib2xNYXJrZXJTZXR0aW5nczooKT0+byxTeW1ib2xzRmlsdGVyU2V0dGluZ3M6KCk9PnJ9KTt2YXIgbyxyLG49cyg3MTIxMzQpLGk9cyg5MzA1NjYpOyFmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbF9tYXJrZXJfY29sb3IiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfX0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtjb25zdCB0PSJkZWZhdWx0X3N5bWJvbHNfZmlsdGVyX2NvbG9yIixzPSJtYXJrZWRfc3ltYm9sc19maWx0ZXIiO2UuZ2V0RGVmYXVsdENvbG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZ2V0VmFsdWUodCxuLkxpc3RDb2xvci5SZWQpfSxlLnNldERlZmF1bHRDb2xvcj1mdW5jdGlvbihlKXtpLnNldFZhbHVlKHQsZSx7Zm9yY2VGbHVzaDohMH0pfSxlLnNldElzQWN0aXZlPWZ1bmN0aW9uKGUpe2kuc2V0VmFsdWUocyxlLHtmb3JjZUZsdXNoOiEwfSl9LGUuZ2V0SXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCb29sKHMsITEpfX0ocnx8KHI9e30pKX0sMTU1OTAwKGUsdCxzKXsidXNlIHN0cmljdCI7cygzMTg5NzQpfSw0NTk4NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybiJodG1sImluIGU/e2h0bWw6ZS5odG1sfToidGV4dCJpbiBlP3tjb250ZW50OmUudGV4dH06e2NvbnRlbnQ6ZS5jb250ZW50fX1zLmQodCx7Z2V0Q29udGVudDooKT0+b30pfSwxODQyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTaW1wbGVEaWFsb2dDb250ZXh0OigpPT5vfSkKO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoe2lzU21hbGxUYWJsZXQ6ITEsZGlhbG9nQ2xvc2VIYW5kbGVyOigpPT57fX0pfSw3MjU4NjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2ltcGxlRGlhbG9nOigpPT5FfSk7dmFyIG89cyg3Nzk0NzQpLHI9cyg5MTQ0ODcpLG49cy5uKHIpLGk9cyg4ODA4ODYpLGw9cygxNzk3NzEpLGE9cyg1ODU4MjEpLGM9cygyMzU3MjQpLHU9cyg0MDYxMTApLG09cyg2MDM2MTIpLGg9cyg2MDk1MjgpLGQ9cyg1NTgwMzApLHA9cyg2NzQ3NDkpLHk9cyg2NDkxNjYpLGY9cygxMzg2MzgpLF89cyg5NzE2NTkpLFM9cyg2MDc4MzIpLGc9cygxODQyMiksYj1zKDMzMTg4Myk7ZnVuY3Rpb24gQyhlKXtjb25zdHtkaXNhYmxlZDp0LG5hbWU6cyx0aXRsZTpyLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCxoYW5kbGVyOmEscmVmZXJlbmNlOmMsZGF0YVFhSWQ6dSx0eXBlOm0sY2xhc3NOYW1lOmh9PWUse2lzU21hbGxUYWJsZXQ6ZCxkaWFsb2dDbG9zZUhhbmRsZXI6Q309KDAsby51c2VDb250ZXh0KShnLlNpbXBsZURpYWxvZ0NvbnRleHQpLHY9KDAsZi5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKFMuU2xvdENvbnRleHQpKSx3PSgwLF8udXNlSXNNb3VudGVkKSgpLFtFLHhdPSgwLG8udXNlU3RhdGUpKCExKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KHAuQnV0dG9uLHt0eXBlOm0sZGlzYWJsZWQ6dCxyZWZlcmVuY2U6YyxjbGFzc05hbWU6bigpKGIuYWN0aW9uQnV0dG9uLGgsZCYmYi5zbWFsbCksbmFtZTpzLHNpemU6ZD8ibCI6dm9pZCAwLGFwcGVhcmFuY2U6aSxpbnRlbnQ6bCwiZGF0YS1xYS1pZCI6dSxvbkNsaWNrOmZ1bmN0aW9uKCl7aWYoRSlyZXR1cm47Y29uc3QgZT1hKHtkaWFsb2dDbG9zZTpDLGlubmVyTWFuYWdlcjp2fSk7ZSYmKHgoITApLGUudGhlbigoKCk9Pnt3LmN1cnJlbnQmJngoITEpfSkpKX19LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoRSYmYi5oaWRkZW5UaXRsZSl9LHIpLEUmJm8uY3JlYXRlRWxlbWVudCh5LkxvYWRlcix7Y29sb3I6InByaW1hcnkiPT09bD8iYmxhY2siOiJ3aGl0ZSJ9KSl9dmFyIHY9cygxNzYyNjgpLHc9cyg4ODgxNTkpO2Z1bmN0aW9uIEUoZSl7Y29uc3R7dGl0bGU6dCxvbkNsb3NlOnMsYWN0aW9uczpyLGRhdGFOYW1lOnAsZGF0YVFhSWQ6eSxwb3B1cERpYWxvZ0NsYXNzTmFtZTpmLGNvbnRlbnRDbGFzc05hbWU6Xyx3cmFwcGVyQ2xhc3NOYW1lOlMsYmFja2Ryb3A6YixjbG9zZU9uT3V0c2lkZUNsaWNrOkU9ITAsc2hvd0Nsb3NlQnV0dG9uOng9ITAsY2xvc2VPbkVzY2FwZVByZXNzOkw9ITAsZXZlbnRzOk49ITAsY2VudGVyZWRPblJlc2l6ZTprLHNob3VsZEF1dG9DbG9zZTpEfT1lOygwLG8udXNlRWZmZWN0KSgoKCk9PihsLnN1YnNjcmliZShtLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELHMsbnVsbCksKCk9PntsLnVuc3Vic2NyaWJlKG0uQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQscyxudWxsKX0pKSxbc10pO2NvbnN0W1QsTV09KDAsby51c2VTdGF0ZSkoITApLEI9KDAsby51c2VSZWYpKG51bGwpLE89KDAsby51c2VSZWYpKG51bGwpO3JldHVybigwLG8udXNlRWZmZWN0KSgoKCk9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixVKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLFUpfSkpLFtPLGtdKSxvLmNyZWF0ZUVsZW1lbnQodS5NYXRjaE1lZGlhLHtydWxlOmguRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChsPT5vLmNyZWF0ZUVsZW1lbnQoZy5TaW1wbGVEaWFsb2dDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7aXNTbWFsbFRhYmxldDpsLGRpYWxvZ0Nsb3NlSGFuZGxlcjpzfX0sby5jcmVhdGVFbGVtZW50KGEuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTpuKCkody5wb3B1cERpYWxvZyxmKSxjb21wb25lbnRSZWY6Tyxpc09wZW5lZDpULGJhY2tkcm9wOmIsZGF0YVFhSWQ6eT8/dm9pZCAwLG9uQ2xpY2tCYWNrZHJvcDpOP1Y6dm9pZCAwLG9uQ2xpY2tPdXRzaWRlOkU/Vjp2b2lkIDAsb25LZXlEb3duOkksYXV0b2ZvY3VzOiEwLGZpeGVkQm9keTohMH0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcud3JhcCxTKSwiZGF0YS1uYW1lIjpwLCJkYXRhLXFhLWlkIjp5fSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuKCkody5tYWluLCF4JiZ3Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbixsJiZ3LnNtYWxsKX0sdCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcudGl0bGUsbCYmdy5zbWFsbCl9LHQpLGZ1bmN0aW9uKHQpe2lmKCJodG1sImluIGUpcmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHcuY29udGVudCx0JiZ3LnNtYWxsLHcuaHRtbCxfKSxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOmUuaHRtbH19KTtpZigiY29udGVudCJpbiBlKXJldHVybiBvLmNyZWF0ZUVsZW1lbnQoZC5Ub3VjaFNjcm9sbENvbnRhaW5lcix7Y2xhc3NOYW1lOm4oKSh3LmNvbnRlbnQsdCYmdy5zbWFsbCxfKX0sZS5jb250ZW50KTtyZXR1cm4gbnVsbH0obCksciYmci5sZW5ndGg+MCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bigpKHcuZm9vdGVyLGwmJncuc21hbGwpfSxyLm1hcCgoKGUsdCk9Pm8uY3JlYXRlRWxlbWVudChDLHsuLi5lLGtleTplLm5hbWUsZGF0YVFhSWQ6YCR7ZS5uYW1lfS1idG5gLHJlZmVyZW5jZTowPT09dD9COnZvaWQgMH0pKSkpKSx4JiZvLmNyZWF0ZUVsZW1lbnQoaS5OYXZCdXR0b24se2FyaWFMYWJlbDoiY2xvc2UiLHNpemU6Im1lZGl1bSIscHJlc2VydmVQYWRkaW5nczohMCxjbGFzc05hbWU6bigpKHcuY2xvc2UsbCYmdy5zbWFsbCksaWNvbjp2LG9uQ2xpY2s6ViwiZGF0YS1uYW1lIjoiY2xvc2UiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkpKSkpKTtmdW5jdGlvbiBJKGUpe3N3aXRjaCgoMCxjLmhhc2hGcm9tRXZlbnQpKGUpKXtjYXNlIDI3OlQmJkwmJihlLnByZXZlbnREZWZhdWx0KCkscygpKTticmVhaztjYXNlIDEzOgpjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoZS5kZWZhdWx0UHJldmVudGVkfHx0IGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnR8fHQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCYmInN1Ym1pdCIhPT10LnR5cGUpcmV0dXJuO2lmKFQmJnImJnIubGVuZ3RoKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1CLmN1cnJlbnQ7dCYmdC5jbGljaygpfX19ZnVuY3Rpb24gVigpe0QmJk0oITEpLHMoKX1mdW5jdGlvbiBVKCl7ayYmTy5jdXJyZW50Py5jZW50ZXJBbmRGaXQ/LigpfX19LDMzMjY2MChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBvO3MuZCh0LHtEaWFsb2dFdmVudERpc3BhdGNoZXI6KCk9Pmx9KSxmdW5jdGlvbihlKXtlLk9wZW49ImRpYWxvZy1vcGVuIixlLkNsb3NlPSJkaWFsb2ctY2xvc2UiLGUuRnVsbHNjcmVlbk9uPSJkaWFsb2ctZnVsbHNjcmVlbi1vbiIsZS5GdWxsc2NyZWVuT2ZmPSJkaWFsb2ctZnVsbHNjcmVlbi1vZmYifShvfHwobz17fSkpO3ZhciByPXMoMjIxMDYxKSxuPXMoMTUwMTUwKTtjb25zdCBpPSgwLHIuZ2V0TG9nZ2VyKSgiRGlhbG9nRXZlbnREaXNwYXRjaGVyIik7Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TZXNzaW9uSWQ9bnVsbH1kaXNwYXRjaChlKXtpZigiZGlhbG9nLW9wZW4iPT09ZSl7aWYobnVsbCE9PXRoaXMuX29wZW5TZXNzaW9uSWQpcmV0dXJuIHZvaWQgaS5sb2dFcnJvcigiTXVsdGlwbGUgY2FsbHMgdG8gb3BlbiBkaWFsb2ciKTt0aGlzLl9vcGVuU2Vzc2lvbklkPSgwLG4ucmFuZG9tSGFzaCkoKX1udWxsIT09dGhpcy5fb3BlblNlc3Npb25JZD8od2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2J1YmJsZXM6ITAsZGV0YWlsOntkaWFsb2dTZXNzaW9uSWQ6dGhpcy5fb3BlblNlc3Npb25JZH19KSksImRpYWxvZy1jbG9zZSI9PT1lJiYodGhpcy5fb3BlblNlc3Npb25JZD1udWxsKSk6aS5sb2dFcnJvcigiRW1wdHkgb3BlbiBkaWFsb2cgc2Vzc2lvbiBpZCIpfX19LDE3NjI2OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJtLjU4IDEuNDIuODItLjgyIDE1IDE1LS44Mi44MnoiLz48cGF0aCBkPSJtLjU4IDE1LjU4IDE1LTE1IC44Mi44Mi0xNSAxNXoiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.847Z","timestamp":1785136429847,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/42288.47ecaeca1012ee3e1d8c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4efd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7af1b172bdda7c0cb93732d87b7c9489\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/loc.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.082Z","timestamp":1785136422082,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/loc.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 1381\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":1381,"size_decoded":1722,"mime_type":"image/png","magic":"PNG image data, 36 x 50, 8-bit/color RGBA, non-interlaced","md5":"d5bc72863c0275d8e6f70277ee3410f0","sha1":"1d05921dfac2ec10d8c05d8c76e5ef33b6972981","sha256":"ab84c2254b176143e4b6e012e87635f5d0878d3ec02afdb3dc66ed8ba5f71baa","sha512":"974ed927f4d14e1ccbc8847a548cdd5ee3ad55933ed7a4a91a1d250b2ceadf612a79a14af8f09e39235497bad25eeacc11d57a80e135160be518a011a0377e3c","ssdeep":"","tlshash":"5121e6e42ba424a4c97ac03beac6500289b10bd94c89d57a106e8322aad57a587c03f3","first_seen":"2025-12-03T04:46:43.751864Z","last_seen":"2026-07-29T06:14:00.315875Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACQAAAAyCAYAAAA0j3keAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABQdJREFUeNq8mFtsFVUUhmd2D61pQWhBAREseAlVMWmEGoVEMQQNwQDGB+BBxMRE45O+GKNPxgdfCHKJkdgQDUTBBAiES9AYi4AKQSUtF4kXoFoq2mprS2t7OOfwr+SfZDPM3rPPzNSVfDmnp3P5Z62111p7/PqjVZ6jKTAW3A8e4udtYOJwcbh21rhGNa2mfiBfzP+F334Hp8FxcBJ0g7zLTXKOYurAU+BRcI+I4G/V4KbQsTPAfaAJLAIXwFGwi0JTCaoBj4MnwQKKibMKelKopzfngtngM3AQdCURdDtYCl4E9wKfvxe1ELqaXOtZMB/cDbaBH8sRNAW8ClYxNGIFUkGS2FTwGj39NjjjIkjy4w2wHNRqXgnEKC+dSc4t4+fr4JxNkLj2FbCSOaCLUSk8EyVqMb+/qXtKf9oqropVmpiSFirlZWujwBKwQkuL6zz0CFgNxhtqkK/9LULPg04gdedP/ibnTmDY7wSVDrVtJcO2VRdUQxc2hU4o8SRd0L/gG7ADfAsugz4eW8O8awRPs1RMiBE1g/f+CrTneKPHSDgsRd6ogt8vgQ3gU3rmSuj4/1iVfwNHWL8kJxtiSsw8pkuzYoLNZysIe6eoeUY88Q54n9X3iuUGQwznx+Ct8EoylBlxyHgRdAeYFRHvEsXkePNm8BFD5moibCd4lx61mRTM2SJoDpukFyEocHMr2Az6E6ymIvvYYXDVctwtEjrFBKwzHOTzyQ7Y+o+DSdLvZahNNg7MFEHTwGiDGLFfwOcJvRPYMFdmu+UYmRwmi6CbWaSiaoRHD7VnUAgvxYwfspKrFSt0hSGHxAa4nNOaXKcnrnortgWb+Rm1CuUwfxUUcyNvETKGpLUxhrakr8ZBEfQP68UNavk5SbI/g+Z6F6cJk4lT+uQmP8UUO7nQE1wFSU3y9GEw3XLMoCS+4q7gb1NM6eqF4IEUgqZykzDRcoxoaFPcrnQaVllB89LzHCnKtTqOGE0xA56MMMdFUAdbQ3/EeOuz3FdxpH2JolxX3q18kJcNxVe3X0VHjjds5cjQELHSStrM9AJ7jowgp1iBixHnVDKBZcfynMNMJJPED6A3xwsepqiGmBOlqj/DVfc9+JqtJehzYzk9yPT5IKeIWgdPng2ab1CoOrjtXRSqOYoeKmlhqmY+zOEMI+f2al6cxAerLCPP5OHawjP1IXCMY6fufn0L5If+N5OkMSk7LWwt1xW7U+zqnmFyHCnbz+jcsA0a4j/OaInshxI7a+tlHl72DPvz7zgZ9oTySI2AKAnRdu5cPJOgYLJrixBUyDh0F8EWlhujILGfuWnrMtSjLEzSYw84Eb6uMvSvvcynkcolqTufRA1+ytJXNmuh87USkDZsHYzAWc8yN0d5aT/feOkzbxYl4BA3kMPlCArmE3nT9WWGo+xpium0zbk2kzLwgXaBXGiaLLfmSBp8ETd4x5l46EOOJyo0J7lanrvX3XE7GBdBf3Bf30IhuQThk+q/npOBl1ZQMDy9x5dUPs/LO5aBbp7b6rpXcjXx0CaWBNd3jX1M4p2uYS5H0CBL/W5OmaO0F1q2h2i2bCJSCQpGTbnBQe1FaMkwspzksa3l1K4kmz9pKetYU3yDKAnrWrAvyX47ibVQVFdE0ZRlvZHLvPB/CZIVtoNe6A518a0sgH1J30ikmfY2cRUNME+k/62xtYY4y3nprJveqOd+TVbhuTRjyjUBBgBywEpWxCDTcQAAAABJRU5ErkJggg=="}},"time_used":5132,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5132,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/72512.6193102e3152806b8b0f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.284Z","timestamp":1785136429284,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/72512.6193102e3152806b8b0f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-960\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c58b8160bc092362850e36a34cfaf5c4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2400,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2400), with no line terminators","md5":"3a3939e3aa144594584f8ef2bfacd03e","sha1":"60f23f2501747d3d97cbff6f3683dc7e6f9374e1","sha256":"33f399d21b28081ae24569e69403a1aa51e8464cb13d8c6d5e1a3fe6e44ff992","sha512":"bb575248fe0999c8bd6ce31c8a6b01ba5b72b2a388b462c6c4224c88389d94bbf5bf990264f9671498d90cb696bba3e632a59819877bdb52b2a82db3db200912","ssdeep":"","tlshash":"29414bc9f061b23f3b0f60384319d1dc139beaa1cb521fabfb62d1e001c57e562a9426","first_seen":"2026-07-17T14:15:58.435225Z","last_seen":"2026-08-11T04:43:23.191903Z","times_seen":253,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYm9zYTojMDAwMH0uYnV0dG9uLVdNcEtLVUNxe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQpKTtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtc2l6ZTowO2hlaWdodDoyMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjIycHg7d2lkdGg6MjJweH0uYnV0dG9uLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtaG92ZXItY29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWNvbG9yLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtaG92ZXIpKX19LmJ1dHRvbi1XTXBLS1VDcS5kaXNhYmxlZC1XTXBLS1VDcSwuYnV0dG9uLVdNcEtLVUNxLmRpc2FibGVkLVdNcEtLVUNxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1fMC1ib3NhKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuZGlzYWJsZWQtV01wS0tVQ3E6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3IsdmFyKC0tXzAtYm9zYSkpfX0uYnV0dG9uLVdNcEtLVUNxe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tV01wS0tVQ3E6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tV01wS0tVQ3E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1XTXBLS1VDcTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uYnV0dG9uLVdNcEtLVUNxLmZvY3VzZWQtV01wS0tVQ3E6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYnV0dG9uLVdNcEtLVUNxLmFjdGl2ZS1XTXBLS1VDcXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpfS5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxLmhvdmVyZWQtV01wS0tVQ3EsLmJ1dHRvbi1XTXBLS1VDcS5hY3RpdmUtV01wS0tVQ3E6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tV01wS0tVQ3EuYWN0aXZlLVdNcEtLVUNxOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5oaWRkZW4tV01wS0tVQ3F7dmlzaWJpbGl0eTpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.566Z","timestamp":1785136429566,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/change-interval-dialog.7a1e205ad9ad595dc28c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7e2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4f9859f86b268b77679b768b35d6ac67\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32303,"size_decoded":12573,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"012b19873ae550b0ac01861ba22c40d6","sha1":"d046baf7d21186590435643dfcaae010980cf02d","sha256":"ea8993b45e050b00b0c9f192820f9dd9d19b496d0915eab277f8a4e8d2855894","sha512":"c67cd6ee2ca902a6a5e4e6637b02a50d545bf653062bdad2b68810086db8adba534dfa065e2596c8c605ef0d40a451acd3bad6cf06580c05446349c8e9047841","ssdeep":"768:62g2dzQiBy1d8Xne9Rsdcr5n9caI3CqAUSfGEoZd69a8J13oTRcf:62g2dzQbXVIyGGGEoGZ2af","tlshash":"6ae22d9071d1b0e956f785eb807f0546f3372968780d4c24b279dccdbaec898a136fa9","first_seen":"2026-07-23T14:00:31.699735Z","last_seen":"2026-07-28T06:17:53.408658Z","times_seen":80,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0Njc3Miw2MzU5NSw2NDY0NCw3MTMwMF0sezkxNDQ4NyhlLHQpe3ZhciBuOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07aWYobil7dmFyIHM9dHlwZW9mIG47aWYoInN0cmluZyI9PT1zfHwibnVtYmVyIj09PXMpZS5wdXNoKG4pO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxuKTtpJiZlLnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXMpZm9yKHZhciBhIGluIG4pci5jYWxsKG4sYSkmJm5bYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShuPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1uKX0oKX0sMjA3MzQyKGUpe2UuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItTjg0WFNjR24iLCJjb250YWluZXIteHhzbWFsbCI6ImNvbnRhaW5lci14eHNtYWxsLU44NFhTY0duIiwiY29udGFpbmVyLXhzbWFsbCI6ImNvbnRhaW5lci14c21hbGwtTjg0WFNjR24iLCJjb250YWluZXItc21hbGwiOiJjb250YWluZXItc21hbGwtTjg0WFNjR24iLCJjb250YWluZXItbWVkaXVtIjoiY29udGFpbmVyLW1lZGl1bS1OODRYU2NHbiIsImNvbnRhaW5lci1sYXJnZSI6ImNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiIsImludGVudC1kZWZhdWx0IjoiaW50ZW50LWRlZmF1bHQtTjg0WFNjR24iLGZvY3VzZWQ6ImZvY3VzZWQtTjg0WFNjR24iLHJlYWRvbmx5OiJyZWFkb25seS1OODRYU2NHbiIsZGlzYWJsZWQ6ImRpc2FibGVkLU44NFhTY0duIiwid2l0aC1oaWdobGlnaHQiOiJ3aXRoLWhpZ2hsaWdodC1OODRYU2NHbiIsZ3JvdXBlZDoiZ3JvdXBlZC1OODRYU2NHbiIsImFkanVzdC1wb3NpdGlvbiI6ImFkanVzdC1wb3NpdGlvbi1OODRYU2NHbiIsImZpcnN0LXJvdyI6ImZpcnN0LXJvdy1OODRYU2NHbiIsImZpcnN0LWNvbCI6ImZpcnN0LWNvbC1OODRYU2NHbiIsc3RyZXRjaDoic3RyZXRjaC1OODRYU2NHbiIsImZvbnQtc2l6ZS1tZWRpdW0iOiJmb250LXNpemUtbWVkaXVtLU44NFhTY0duIiwiZm9udC1zaXplLWxhcmdlIjoiZm9udC1zaXplLWxhcmdlLU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1sZWZ0Ijoibm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0duIiwibm8tY29ybmVyLXRvcC1yaWdodCI6Im5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR24iLCJuby1jb3JuZXItYm90dG9tLXJpZ2h0Ijoibm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbiIsIm5vLWNvcm5lci1ib3R0b20tbGVmdCI6Im5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbiIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1OODRYU2NHbiIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtTjg0WFNjR24iLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1OODRYU2NHbiIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tTjg0WFNjR24iLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1OODRYU2NHbiIsImludGVudC1zdWNjZXNzIjoiaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR24iLCJpbnRlbnQtd2FybmluZyI6ImludGVudC13YXJuaW5nLU44NFhTY0duIiwiaW50ZW50LWRhbmdlciI6ImludGVudC1kYW5nZXItTjg0WFNjR24iLCJpbnRlbnQtcHJpbWFyeSI6ImludGVudC1wcmltYXJ5LU44NFhTY0duIiwiYm9yZGVyLW5vbmUiOiJib3JkZXItbm9uZS1OODRYU2NHbiIsImJvcmRlci10aGluIjoiYm9yZGVyLXRoaW4tTjg0WFNjR24iLCJib3JkZXItdGhpY2siOiJib3JkZXItdGhpY2stTjg0WFNjR24iLGhpZ2hsaWdodDoiaGlnaGxpZ2h0LU44NFhTY0duIixzaG93bjoic2hvd24tTjg0WFNjR24ifX0sODk0NDY0KGUpe2UuZXhwb3J0cz17ImlubmVyLXNsb3QiOiJpbm5lci1zbG90LU5iR3B0RDVqIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtTmJHcHRENWoiLGljb246Imljb24tTmJHcHRENWoiLCJpbm5lci1taWRkbGUtc2xvdCI6ImlubmVyLW1pZGRsZS1zbG90LU5iR3B0RDVqIiwiYmVmb3JlLXNsb3QiOiJiZWZvcmUtc2xvdC1OYkdwdEQ1aiIsImFmdGVyLXNsb3QiOiJhZnRlci1zbG90LU5iR3B0RDVqIn19LDU5MjU1MChlKXtlLmV4cG9ydHM9e2lucHV0OiJpbnB1dC1IMHhkQ25GUyIsInNpemUteHhzbWFsbCI6InNpemUteHhzbWFsbC1IMHhkQ25GUyIsInNpemUteHNtYWxsIjoic2l6ZS14c21hbGwtSDB4ZENuRlMiLCJzaXplLXNtYWxsIjoic2l6ZS1zbWFsbC1IMHhkQ25GUyIsInNpemUtbWVkaXVtIjoic2l6ZS1tZWRpdW0tSDB4ZENuRlMiLCJzaXplLWxhcmdlIjoic2l6ZS1sYXJnZS1IMHhkQ25GUyIsIndpdGgtc3RhcnQtc2xvdCI6IndpdGgtc3RhcnQtc2xvdC1IMHhkQ25GUyIsIndpdGgtZW5kLXNsb3QiOiJ3aXRoLWVuZC1zbG90LUgweGRDbkZTIn19LDcxNzE5NShlKXtlLmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLVVHZEM2OXN3IixkaWFsb2dJbm5lcjoiZGlhbG9nSW5uZXItVUdkQzY5c3ciLHRpdGxlV3JhcHBlcjoidGl0bGVXcmFwcGVyLVVHZEM2OXN3Iix0aXRsZToidGl0bGUtVUdkQzY5c3ciLGluZm9IaW50OiJpbmZvSGludC1VR2RDNjlzdyIsZm9ybToiZm9ybS1VR2RDNjlzdyIsaW5wdXRXcmFwcGVyOiJpbnB1dFdyYXBwZXItVUdkQzY5c3ciLGlucHV0OiJpbnB1dC1VR2RDNjlzdyIsaGludDoiaGludC1VR2RDNjlzdyIsZXJyb3I6ImVycm9yLVVHZEM2OXN3In19LDg2NTU2MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUVkFwcENvbnRleHQ6KCk9PmMsVFZBcHBDb250ZXh0UHJvdmlkZXI6KCk9Pmx9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDExNTI5Mykscz1uKDk5OTUxKSxpPW4oMTE3MzEzKTtjb25zdCBhPXtpT3M6Im9sZCIsYW5kcm9pZDoibmV3IixvbGQ6Im9sZCIsbmV3OiJuZXciLGFueToiYW55In07ZnVuY3Rpb24gbChlKXsKY29uc3RbdF09KDAsci51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKGFbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChzLkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IGM9cy5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+YX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oMTI5MzY1KSxzPW4oMzM2MzM0KSxpPW4oODY1NTYwKTtmdW5jdGlvbiBhKGUsdCxuPSJsZWdhY3kiKXtjb25zdCBhPXIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LGUpO2lmKCJtb2Rlcm4iPT09bil7Y29uc3QgZT0oMCxzLmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihhKSx7cmVuZGVyKHQpe2UucmVuZGVyKHIuY3JlYXRlRWxlbWVudChpLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm59LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGEsdCkse3JlbmRlcihlKXtvLnJlbmRlcihyLmNyZWF0ZUVsZW1lbnQoaS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpufSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sNjU5ODc4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNTg1NDgpO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyByLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6bixyb290OnN9PXRoaXMucHJvcHM7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgaT1yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cz9pOnIuY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw5OTk1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBcHBDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDUzMjAxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sR3JvdXBDb250ZXh0OigpPT5zLGRlZmF1bHRDZWxsU3RhdGU6KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz17aXNUb3A6ITAsaXNSaWdodDohMCxpc0JvdHRvbTohMCxpc0xlZnQ6ITB9LHM9ci5jcmVhdGVDb250ZXh0KHtpc0dyb3VwZWQ6ITEsY2VsbFN0YXRlOm99KX0sNjA1MTQxKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtsZXQgdD0wO3JldHVybiBlLmlzVG9wJiZlLmlzTGVmdHx8KHQrPTEpLGUuaXNUb3AmJmUuaXNSaWdodHx8KHQrPTIpLGUuaXNCb3R0b20mJmUuaXNMZWZ0fHwodCs9OCksZS5pc0JvdHRvbSYmZS5pc1JpZ2h0fHwodCs9NCksdH1uLmQodCx7Z2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzOigpPT5yfSl9LDU2MDQ5MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDb250cm9sU2tlbGV0b246KCk9Pl8sSW5wdXRDbGFzc2VzOigpPT5nfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGk9bigxMzg2MzgpLGE9bigzMTk2OSksbD1uKDM0NTExNiksYz1uKDUzMjAxMSksdT1uKDYwNTE0MSk7dmFyIGQ9bigyMDczNDIpLGY9bi5uKGQpO2Z1bmN0aW9uIHAoZSl7bGV0IHQ9IiI7cmV0dXJuIDAhPT1lJiYoMSZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtbGVmdCJdKSksMiZlJiYodD1zKCkodCxmKClbIm5vLWNvcm5lci10b3AtcmlnaHQiXSkpLDQmZSYmKHQ9cygpKHQsZigpWyJuby1jb3JuZXItYm90dG9tLXJpZ2h0Il0pKSw4JmUmJih0PXMoKSh0LGYoKVsibm8tY29ybmVyLWJvdHRvbS1sZWZ0Il0pKSksdH1mdW5jdGlvbiBoKGUsdCxuLHIpe2NvbnN0e3JlbW92ZVJvdW5kQm9yZGVyOm8sY2xhc3NOYW1lOmksaW50ZW50OmE9ImRlZmF1bHQiLGJvcmRlclN0eWxlOmw9InRoaW4iLHNpemU6YyxoaWdobGlnaHQ6ZCxkaXNhYmxlZDpoLHJlYWRvbmx5Om0sc3RyZXRjaDpnLG5vUmVhZG9ubHlTdHlsZXM6dixpc0ZvY3VzZWQ6eX09ZSxfPXAobz8/KDAsdS5nZXRHcm91cENlbGxSZW1vdmVSb3VuZEJvcmRlcnMpKG4pKTtyZXR1cm4gcygpKGYoKS5jb250YWluZXIsZigpW2Bjb250YWluZXItJHtjfWBdLGYoKVtgaW50ZW50LSR7YX1gXSxmKClbYGJvcmRlci0ke2x9YF0sYyYmZigpW2BzaXplLSR7Y31gXSxfLGQmJmYoKVsid2l0aC1oaWdobGlnaHQiXSxoJiZmKCkuZGlzYWJsZWQsbSYmIXYmJmYoKS5yZWFkb25seSx5JiZmKCkuZm9jdXNlZCxnJiZmKCkuc3RyZXRjaCx0JiZmKCkuZ3JvdXBlZCwhciYmZigpWyJhZGp1c3QtcG9zaXRpb24iXSxuLmlzVG9wJiZmKClbImZpcnN0LXJvdyJdLG4uaXNMZWZ0JiZmKClbImZpcnN0LWNvbCJdLGkpfWZ1bmN0aW9uIG0oZSx0LG4pe2NvbnN0e2hpZ2hsaWdodDpyLGhpZ2hsaWdodFJlbW92ZVJvdW5kQm9yZGVyOm99PWU7aWYoIXIpcmV0dXJuIGYoKS5oaWdobGlnaHQ7Y29uc3QgaT1wKG8/PygwLHUuZ2V0R3JvdXBDZWxsUmVtb3ZlUm91bmRCb3JkZXJzKSh0KSk7cmV0dXJuIHMoKShmKCkuaGlnaGxpZ2h0LGYoKS5zaG93bixmKClbYHNpemUtJHtufWBdLGkpfWNvbnN0IGc9e0ZvbnRTaXplTWVkaXVtOigwLGkuZW5zdXJlRGVmaW5lZCkoZigpWyJmb250LXNpemUtbWVkaXVtIl0pLEZvbnRTaXplTGFyZ2U6KDAsaS5lbnN1cmVEZWZpbmVkKShmKClbImZvbnQtc2l6ZS1sYXJnZSJdKX0sdj17cGFzc2l2ZTohMX07ZnVuY3Rpb24geShlLHQpewpjb25zdHtzdHlsZTpuLGlkOm8scm9sZTpzLG9uRm9jdXM6aSxvbkJsdXI6dSxvbk1vdXNlT3ZlcjpkLG9uTW91c2VPdXQ6Zixvbk1vdXNlRW50ZXI6cCxvbk1vdXNlTGVhdmU6Zyxvbk1vdXNlRG93bjp5LG9uTW91c2VVcDpfLG9uS2V5RG93bjpDLG9uQ2xpY2s6dyx0YWJJbmRleDpTLHN0YXJ0U2xvdDpiLG1pZGRsZVNsb3Q6RSxlbmRTbG90Ongsb25XaGVlbDpOLG9uV2hlZWxOb1Bhc3NpdmU6Uj1udWxsLHNpemU6SSx0YWc6Tz0ic3BhbiIsdHlwZTpNfT1lLHtpc0dyb3VwZWQ6QSxjZWxsU3RhdGU6RCxkaXNhYmxlUG9zaXRpb25BZGp1c3RtZW50OlQ9ITF9PSgwLHIudXNlQ29udGV4dCkoYy5Db250cm9sR3JvdXBDb250ZXh0KSxHPWZ1bmN0aW9uKGUsdD1udWxsLG4pe2NvbnN0IG89KDAsci51c2VSZWYpKG51bGwpLHM9KDAsci51c2VSZWYpKG51bGwpLGk9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGE9KDAsci51c2VDYWxsYmFjaykoKCgpPT57aWYobnVsbD09PW8uY3VycmVudHx8bnVsbD09PXMuY3VycmVudClyZXR1cm47Y29uc3RbZSx0LG5dPXMuY3VycmVudDtudWxsIT09dCYmby5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG4pfSksW10pLGw9KDAsci51c2VDYWxsYmFjaykoKGU9PnthKCksby5jdXJyZW50PWUsaSgpfSksW10pO3JldHVybigwLHIudXNlRWZmZWN0KSgoKCk9PihzLmN1cnJlbnQ9W2UsdCxuXSxpKCksYSkpLFtlLHQsbl0pLGx9KCJ3aGVlbCIsUix2KSxMPU87cmV0dXJuIHIuY3JlYXRlRWxlbWVudChMLHt0eXBlOk0sc3R5bGU6bixpZDpvLHJvbGU6cyxjbGFzc05hbWU6aChlLEEsRCxUKSx0YWJJbmRleDpTLHJlZjooMCxhLnVzZU1lcmdlZFJlZnMpKFt0LEddKSxvbkZvY3VzOmksb25CbHVyOnUsb25Nb3VzZU92ZXI6ZCxvbk1vdXNlT3V0OmYsb25Nb3VzZUVudGVyOnAsb25Nb3VzZUxlYXZlOmcsb25Nb3VzZURvd246eSxvbk1vdXNlVXA6XyxvbktleURvd246QyxvbkNsaWNrOncsb25XaGVlbDpOLC4uLigwLGwuZmlsdGVyRGF0YVByb3BzKShlKSwuLi4oMCxsLmZpbHRlckFyaWFQcm9wcykoZSl9LGIsRSx4LHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTptKGUsRCxJKX0pKX15LmRpc3BsYXlOYW1lPSJDb250cm9sU2tlbGV0b24iO2NvbnN0IF89ci5mb3J3YXJkUmVmKHkpfSw1MDU2MzkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWZ0ZXJTbG90OigpPT5mLEJlZm9yZVNsb3Q6KCk9PmwsRW5kU2xvdDooKT0+ZCxNaWRkbGVTbG90OigpPT51LFN0YXJ0U2xvdDooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxpPW4oODk0NDY0KSxhPW4ubihpKTtmdW5jdGlvbiBsKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJiZWZvcmUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOml9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sbiYmYSgpLmludGVyYWN0aXZlLG8mJmEoKS5pY29uLHQpfSxpKX1mdW5jdGlvbiB1KGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkoYSgpWyJpbm5lci1zbG90Il0sYSgpWyJpbm5lci1taWRkbGUtc2xvdCJdLHQpfSxuKX1mdW5jdGlvbiBkKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGludGVyYWN0aXZlOm49ITAsaWNvbjpvPSExLGNoaWxkcmVuOmksZGF0YVFhSWQ6bH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShhKClbImlubmVyLXNsb3QiXSxuJiZhKCkuaW50ZXJhY3RpdmUsbyYmYSgpLmljb24sdCksImRhdGEtcWEtaWQiOmx9LGkpfWZ1bmN0aW9uIGYoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bixkYXRhUWFJZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGEoKVsiYWZ0ZXItc2xvdCJdLHQpLCJkYXRhLXFhLWlkIjpvfSxuKX19LDM2MTg1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnB1dDooKT0+XyxJbnB1dENvbnRyb2w6KCk9PkN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE0NzkwMSksYT1uKDM0NTExNiksbD1uKDgzMzkwMyksYz1uKDc4MDY1MSksdT1uKDMxOTY5KSxkPW4oOTA4MDk3KSxmPW4oMTQ1OTg0KSxwPW4oNTY0MjEpLGg9big1NjA0OTEpLG09big1MDU2MzkpLGc9big1OTI1NTApLHY9bi5uKGcpO2Z1bmN0aW9uIHkoZSl7cmV0dXJuISgwLGEuaXNBcmlhQXR0cmlidXRlKShlKSYmISgwLGEuaXNEYXRhQXR0cmlidXRlKShlKX1mdW5jdGlvbiBfKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixyb2xlOm8sdGFiSW5kZXg6bCxwbGFjZWhvbGRlcjpjLG5hbWU6dSx0eXBlOmQsdmFsdWU6ZixkZWZhdWx0VmFsdWU6cCxkcmFnZ2FibGU6ZyxhdXRvQ29tcGxldGU6XyxhdXRvRm9jdXM6QyxhdXRvQ2FwaXRhbGl6ZTp3LGF1dG9Db3JyZWN0OlMsbWF4TGVuZ3RoOmIsbWluOkUsbWF4Ongsc3RlcDpOLHBhdHRlcm46UixpbnB1dE1vZGU6SSxvblNlbGVjdDpPLG9uRm9jdXM6TSxvbkJsdXI6QSxvbktleURvd246RCxvbktleVVwOlQsb25LZXlQcmVzczpHLG9uQ2hhbmdlOkwsb25EcmFnU3RhcnQ6ayxzaXplOlA9InNtYWxsIixjbGFzc05hbWU6eixpbnB1dENsYXNzTmFtZTpGLGRpc2FibGVkOkIscmVhZG9ubHk6VSxjb250YWluZXJUYWJJbmRleDpYLHN0YXJ0U2xvdDpqLGVuZFNsb3Q6SCxyZWZlcmVuY2U6JCxjb250YWluZXJSZWZlcmVuY2U6VixvbkNvbnRhaW5lckZvY3VzOlcsZGF0YVFhSWQ6SywuLi5xfT1lLFE9KDAsYS5maWx0ZXJQcm9wcykocSx5KSxaPXsuLi4oMCwKYS5maWx0ZXJBcmlhUHJvcHMpKHEpLC4uLigwLGEuZmlsdGVyRGF0YVByb3BzKShxKSxpZDp0LHRpdGxlOm4scm9sZTpvLHRhYkluZGV4OmwscGxhY2Vob2xkZXI6YyxuYW1lOnUsdHlwZTpkLHZhbHVlOmYsZGVmYXVsdFZhbHVlOnAsZHJhZ2dhYmxlOmcsYXV0b0NvbXBsZXRlOl8sYXV0b0ZvY3VzOkMsYXV0b0NhcGl0YWxpemU6dyxhdXRvQ29ycmVjdDpTLG1heExlbmd0aDpiLG1pbjpFLG1heDp4LHN0ZXA6TixwYXR0ZXJuOlIsaW5wdXRNb2RlOkksb25TZWxlY3Q6TyxvbkZvY3VzOk0sb25CbHVyOkEsb25LZXlEb3duOkQsb25LZXlVcDpULG9uS2V5UHJlc3M6RyxvbkNoYW5nZTpMLG9uRHJhZ1N0YXJ0Omt9O3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Db250cm9sU2tlbGV0b24sey4uLlEsZGlzYWJsZWQ6QixyZWFkb25seTpVLHRhYkluZGV4OlgsY2xhc3NOYW1lOnosc2l6ZTpQLHJlZjpWLG9uRm9jdXM6VyxzdGFydFNsb3Q6aixtaWRkbGVTbG90OnIuY3JlYXRlRWxlbWVudChtLk1pZGRsZVNsb3QsbnVsbCxyLmNyZWF0ZUVsZW1lbnQoImlucHV0Iix7Li4uWixjbGFzc05hbWU6cygpKHYoKS5pbnB1dCx2KClbYHNpemUtJHtQfWBdLEYsaiYmdigpWyJ3aXRoLXN0YXJ0LXNsb3QiXSxIJiZ2KClbIndpdGgtZW5kLXNsb3QiXSksZGlzYWJsZWQ6QixyZWFkT25seTpVLHJlZjokLCJkYXRhLXFhLWlkIjooMCxpLmRhdGFRYUlkcykoInVpLWxpYi1JbnB1dC1pbnB1dCIsSz9gJHtLfS1pbnB1dGA6dm9pZCAwKX0pKSxlbmRTbG90OkgsImRhdGEtcWEtaWQiOigwLGkuZGF0YVFhSWRzKSgidWktbGliLUlucHV0IixLKX0pfWZ1bmN0aW9uIEMoZSl7ZT0oMCxkLnVzZUNvbnRyb2wpKGUpO2NvbnN0e2Rpc2FibGVkOnQsYXV0b1NlbGVjdE9uRm9jdXM6bix0YWJJbmRleDpvPTAsb25Gb2N1czpzLG9uQmx1cjppLHJlZmVyZW5jZTphLGNvbnRhaW5lclJlZmVyZW5jZTpoPW51bGwsZGF0YVFhSWQ6bX09ZSxnPSgwLHIudXNlUmVmKShudWxsKSx2PSgwLHIudXNlUmVmKShudWxsKSxbeSxDXT0oMCxmLnVzZUZvY3VzKSgpLHc9dD92b2lkIDA6eT8tMTpvLFM9dD92b2lkIDA6eT9vOi0xLHtpc01vdXNlRG93bjpiLGhhbmRsZU1vdXNlRG93bjpFLGhhbmRsZU1vdXNlVXA6eH09KDAscC51c2VJc01vdXNlRG93bikoKSxOPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkZvY3VzLChmdW5jdGlvbihlKXtuJiYhYi5jdXJyZW50JiYoMCxjLnNlbGVjdEFsbENvbnRlbnQpKGUuY3VycmVudFRhcmdldCl9KSxzKSxSPSgwLGwuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoQy5vbkJsdXIsaSksST0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2cuY3VycmVudD1lLGEmJigiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShlKSwib2JqZWN0Ij09dHlwZW9mIGEmJihhLmN1cnJlbnQ9ZSkpfSksW2csYV0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoXyx7Li4uZSxpc0ZvY3VzZWQ6eSxjb250YWluZXJUYWJJbmRleDp3LHRhYkluZGV4OlMsb25Db250YWluZXJGb2N1czpmdW5jdGlvbihlKXt2LmN1cnJlbnQ9PT1lLnRhcmdldCYmbnVsbCE9PWcuY3VycmVudCYmZy5jdXJyZW50LmZvY3VzKCl9LG9uRm9jdXM6TixvbkJsdXI6UixyZWZlcmVuY2U6SSxjb250YWluZXJSZWZlcmVuY2U6KDAsdS51c2VNZXJnZWRSZWZzKShbdixoXSksb25Nb3VzZURvd246RSxvbk1vdXNlVXA6eCxkYXRhUWFJZDptfSl9fSw5MDgwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29udHJvbDooKT0+c30pO3ZhciByPW4oODMzOTAzKSxvPW4oMTQ1OTg0KTtmdW5jdGlvbiBzKGUpe2NvbnN0e29uRm9jdXM6dCxvbkJsdXI6bixpbnRlbnQ6cyxoaWdobGlnaHQ6aSxkaXNhYmxlZDphfT1lLFtsLGNdPSgwLG8udXNlRm9jdXMpKHZvaWQgMCxhKSx1PSgwLHIuY3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcikoYT92b2lkIDA6Yy5vbkZvY3VzLHQpLGQ9KDAsci5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKShhP3ZvaWQgMDpjLm9uQmx1cixuKTtyZXR1cm57Li4uZSxpbnRlbnQ6c3x8KGw/InByaW1hcnkiOiJkZWZhdWx0IiksaGlnaGxpZ2h0Omk/P2wsb25Gb2N1czp1LG9uQmx1cjpkfX19LDE0NTk4NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb2N1czooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSghMSk7KDAsci51c2VFZmZlY3QpKCgoKT0+e3QmJm4mJm8oITEpfSksW3Qsbl0pO2NvbnN0IHM9e29uRm9jdXM6KDAsci51c2VDYWxsYmFjaykoKGZ1bmN0aW9uKHQpe3ZvaWQgMCE9PWUmJmUuY3VycmVudCE9PXQudGFyZ2V0fHxvKCEwKX0pLFtlXSksb25CbHVyOigwLHIudXNlQ2FsbGJhY2spKChmdW5jdGlvbih0KXt2b2lkIDAhPT1lJiZlLmN1cnJlbnQhPT10LnRhcmdldHx8byghMSl9KSxbZV0pfTtyZXR1cm5bbixzXX19LDU2NDIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUlzTW91c2VEb3duOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPSgwLHIudXNlUmVmKSghMSksdD0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntlLmN1cnJlbnQ9ITB9KSxbZV0pLG49KDAsci51c2VDYWxsYmFjaykoKCgpPT57ZS5jdXJyZW50PSExfSksW2VdKTtyZXR1cm57aXNNb3VzZURvd246ZSxoYW5kbGVNb3VzZURvd246dCxoYW5kbGVNb3VzZVVwOm59fX0sMzE5NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWVyZ2VkUmVmczooKT0+c30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTY0NTk0KTtmdW5jdGlvbiBzKGUpe3JldHVybigwLHIudXNlQ2FsbGJhY2spKCgwLG8ubWVyZ2VSZWZzKShlKSxlKX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0LG4scixvKXtmdW5jdGlvbiBzKG8pe2lmKGU+by50aW1lU3RhbXApcmV0dXJuO2NvbnN0IHM9by50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1zJiZzLm93bmVyRG9jdW1lbnQ9PT1yJiYodC5jb250YWlucyhzKXx8bihvKSl9CnJldHVybiBvLmNsaWNrJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixzLCExKSxvLm1vdXNlRG93biYmci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHMsITEpLG8udG91Y2hFbmQmJnIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMsITEpLG8udG91Y2hTdGFydCYmci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixzLCExKSwoKT0+e3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMsITEpfX1uLmQodCx7YWRkT3V0c2lkZUV2ZW50TGlzdGVuZXI6KCk9PnJ9KX0sMjM2NzY1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU91dHNpZGVFdmVudDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKSxzPW4oOTAwODQxKTtmdW5jdGlvbiBpKGUpe2NvbnN0e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmEsaGFuZGxlcjpsLHJlZmVyZW5jZTpjfT1lLHU9KDAsci51c2VSZWYpKG51bGwpLGQ9KDAsci51c2VSZWYpKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93PzA6bmV3IHdpbmRvdy5DdXN0b21FdmVudCgidGltZXN0YW1wIikudGltZVN0YW1wKTtyZXR1cm4oMCxvLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9e2NsaWNrOnQsbW91c2VEb3duOm4sdG91Y2hFbmQ6aSx0b3VjaFN0YXJ0OmF9LHI9Yz9jLmN1cnJlbnQ6dS5jdXJyZW50O3JldHVybigwLHMuYWRkT3V0c2lkZUV2ZW50TGlzdGVuZXIpKGQuY3VycmVudCxyLGwsZG9jdW1lbnQsZSl9KSxbdCxuLGksYSxsXSksY3x8dX19LDI3MzMxMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJY29uOigpPT5vfSk7dmFyIHI9big3Nzk0NzQpO2NvbnN0IG89ci5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246bj0iIix0aXRsZTpvLGFyaWFMYWJlbDpzLGFyaWFMYWJlbGxlZGJ5OmksYXJpYUhpZGRlbjphLC4uLmx9PWUsYz0hIShvfHxzfHxpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiaW1nIiwuLi5sLHJlZjp0LCJhcmlhLWxhYmVsIjpzLCJhcmlhLWxhYmVsbGVkYnkiOmksImFyaWEtaGlkZGVuIjphfHwhYyx0aXRsZTpvLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6bn19KX0pKX0sNTg1NDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDEyOTM2NSkscz1uKDg1Njc3MCksaT1uKDkwMzQyKSxhPW4oNTcwMTkzKSxsPW4oNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHMubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwoci5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PXIuY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnN9KTt2YXIgcj1uKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIHIuQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcz1yLmNyZWF0ZUNvbnRleHQobnVsbCl9LDM0NTExNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHMoZSxpKX1mdW5jdGlvbiBvKGUpe3JldHVybiBzKGUsYSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHI9e307Zm9yKGNvbnN0W2UsdF1vZiBuKXJbZV09dDtyZXR1cm4gcn1mdW5jdGlvbiBpKGUpe2NvbnN0W3Qsbl09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cihlKTtyZXR1cm4gdCYmKG5bImRhdGEtcWEtaWQiXT10KSxufW4uZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sCmZpbHRlckNoZWNrZWREYXRhUHJvcHM6KCk9PmwsZmlsdGVyRGF0YVByb3BzOigpPT5yLGZpbHRlclByb3BzOigpPT5zLGlzQXJpYUF0dHJpYnV0ZTooKT0+YSxpc0RhdGFBdHRyaWJ1dGU6KCk9Pml9KX0sMTQ3OTAxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1VJX0xJQl9EQVRBX1FBX0lEX1BSRUZJWDooKT0+aSxjb25jYXRJZk5vdE51bGw6KCk9PnMsZGF0YVFhSWRzOigpPT5vfSk7dmFyIHI9big1NjU3NDUpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm5bZSx0XS5maWx0ZXIoci5pc0V4aXN0ZW50KS5qb2luKCIgIil9ZnVuY3Rpb24gcyhlLHQpe2lmKCgwLHIuaXNFeGlzdGVudCkodCkpcmV0dXJuW2UsdF0uam9pbigiICIpfWNvbnN0IGk9InVpLWxpYi0ifSw3ODA2NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe251bGwhPT1lJiZlLnNldFNlbGVjdGlvblJhbmdlKDAsZS52YWx1ZS5sZW5ndGgpfW4uZCh0LHtzZWxlY3RBbGxDb250ZW50OigpPT5yfSl9LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sNzE4NTUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse091dHNpZGVFdmVudDooKT0+b30pO3ZhciByPW4oMjM2NzY1KTtmdW5jdGlvbiBvKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ubn09ZTtyZXR1cm4gdCgoMCxyLnVzZU91dHNpZGVFdmVudCkobikpfX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PmksZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIHI9bigxMzg2MzgpLG89big1NzAxOTMpO2NsYXNzIHN7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIGl7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcyx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCByPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKHIuc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixyLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLHIuZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHIpO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKHIsdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChyKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxyKSwrK3RoaXMuX2luZGV4LHJ9dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShvLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7dGhpcy51bnJlZ2lzdGVyV2luZG93KGUpfX1jb25zdCBhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGwoZT1kb2N1bWVudCl7Y29uc3QgdD1lLmdldEVsZW1lbnRCeUlkKCJvdmVybGFwLW1hbmFnZXItcm9vdCIpO2lmKG51bGwhPT10KXJldHVybigwLHIuZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO3sKY29uc3QgdD1uZXcgaShlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+cn0pfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sODYzNDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9PnIsZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1uZXcgTWFwfXNldEFzT3BlbmVkKGUsdCl7dGhpcy5fc3RvcmFnZS5zZXQoZSx0KX1zZXRBc0Nsb3NlZChlKXt0aGlzLl9zdG9yYWdlLmRlbGV0ZShlKX1pc09wZW5lZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5oYXMoZSl9Z2V0RGlhbG9nUGF5bG9hZChlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXQoZSl9fWNvbnN0IG89bmV3IHJ9LDY5MjI2NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDI3MzMxMCksYT1uKDU4NTQ4KSxsPW4oODA2NjkzKSxjPW4oOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6bixyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sci5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnMoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpuLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcygpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiBzKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOm4sY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTpmLGFycm93UmVmZXJlbmNlOnAsb25DbG9zZTpoLGFycm93U3R5bGU6bSxjaGlsZHJlbjpnLHJvbGU6diwuLi55fT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLnksY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjp2fSxkJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLHJlZjpwLHN0eWxlOm19KSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoYy5jb250YWluZXIsbil9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKShjLmNvbnRlbnQsbyl9LGcpLGgmJnIuY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOmh9KSkpfX0sMzM2MzM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigxMjkzNjUpO3QuY3JlYXRlUm9vdD1yLmNyZWF0ZVJvb3Qsci5oeWRyYXRlUm9vdH0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyYmImZ1bmN0aW9uIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSl0cnl7X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKGUpfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fSgpLGUuZXhwb3J0cz1uKDUzMjM4Nyl9LDEyMjc0OShlLHQpeyJ1c2Ugc3RyaWN0Igo7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHI9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGM9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIGg9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LG09T2JqZWN0LmFzc2lnbixnPXt9O2Z1bmN0aW9uIHYoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH1mdW5jdGlvbiB5KCl7fWZ1bmN0aW9uIF8oZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zyx0aGlzLnVwZGF0ZXI9bnx8aH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHkucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBDPV8ucHJvdG90eXBlPW5ldyB5O0MuY29uc3RydWN0b3I9XyxtKEMsdi5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHc9QXJyYXkuaXNBcnJheSxTPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYj17Y3VycmVudDpudWxsfSxFPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQscil7dmFyIG8scz17fSxpPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKGk9IiIrdC5rZXkpLHQpUy5jYWxsKHQsbykmJiFFLmhhc093blByb3BlcnR5KG8pJiYoc1tvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpcy5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxsKXtmb3IodmFyIGM9QXJyYXkobCksdT0wO3U8bDt1KyspY1t1XT1hcmd1bWVudHNbdSsyXTtzLmNoaWxkcmVuPWN9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1zW29dJiYoc1tvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OmkscmVmOmEscHJvcHM6cyxfb3duZXI6Yi5jdXJyZW50fX1mdW5jdGlvbiBOKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBSPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gTyhlLHQsbyxzLGkpe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSByOmw9ITB9fWlmKGwpcmV0dXJuIGk9aShsPWUpLGU9IiI9PT1zPyIuIitJKGwsMCk6cyx3KGkpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShSLCIkJi8iKSsiLyIpLE8oaSx0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1pJiYoTihpKSYmKGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShpLG8rKCFpLmtleXx8bCYmbC5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKStlKSksdC5wdXNoKGkpKSwxO2lmKGw9MCxzPSIiPT09cz8iLiI6cysiOiIsdyhlKSlmb3IodmFyIGM9MDtjPGUubGVuZ3RoO2MrKyl7dmFyIHU9cytJKGE9ZVtjXSxjKTtsKz1PKGEsdCxvLHUsaSl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9cCYmZVtwXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSxjPTA7IShhPWUubmV4dCgpKS5kb25lOylsKz1PKGE9YS52YWx1ZSx0LG8sdT1zK0koYSxjKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1hKXRocm93IHQ9U3RyaW5nKGUpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09dD8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhlKS5qb2luKCIsICIpKyJ9Ijp0KSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpCjtyZXR1cm4gbH1mdW5jdGlvbiBNKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLG89MDtyZXR1cm4gTyhlLHIsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLG8rKyl9KSkscn1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEQ9e2N1cnJlbnQ6bnVsbH0sVD17dHJhbnNpdGlvbjpudWxsfSxHPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkQsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6VCxSZWFjdEN1cnJlbnRPd25lcjpifTt0LkNoaWxkcmVuPXttYXA6TSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtNKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gTShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBNKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTihlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPWksdC5QdXJlQ29tcG9uZW50PV8sdC5TdHJpY3RNb2RlPXMsdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Ryx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89bSh7fSxlLnByb3BzKSxzPWUua2V5LGk9ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYsYT1iLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYocz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGMgaW4gdClTLmNhbGwodCxjKSYmIUUuaGFzT3duUHJvcGVydHkoYykmJihvW2NdPXZvaWQgMD09PXRbY10mJnZvaWQgMCE9PWw/bFtjXTp0W2NdKX12YXIgYz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWMpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxjKXtsPUFycmF5KGMpO2Zvcih2YXIgdT0wO3U8Yzt1KyspbFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5OnMscmVmOmkscHJvcHM6byxfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpjLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1OLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZixfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVQudHJhbnNpdGlvbjtULnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1QudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBELmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIEQuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRC5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIEQuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKGUsdCxuKX0sdC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRC5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdChlLHQpfSx0LnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KGUsdCl9LHQudXNlTWVtbz1mdW5jdGlvbihlLHQpe3JldHVybiBELmN1cnJlbnQudXNlTWVtbyhlLHQpfSx0LnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBELmN1cnJlbnQudXNlUmVkdWNlcihlLHQsbil9LHQudXNlUmVmPWZ1bmN0aW9uKGUpewpyZXR1cm4gRC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEQuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sNDUwNzgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtzaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2c6KCk9PlN9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscz1uLm4obyksaT1uKDE4NTI3MSksYT1uKDM2MTg1NSksbD1uKDU2MDQ5MSksYz1uKDIyNTI5OCksdT1uKDU4NTgyMSksZD1uKDI3MzMxMCksZj1uKDM3MTk0OCk7Y29uc3QgcD1pLnQobnVsbCx2b2lkIDAsbig0ODc3NjMpKSxoPWkudChudWxsLHZvaWQgMCxuKDIxMjA1KSk7ZnVuY3Rpb24gbShlKXtjb25zdHtjbGFzc05hbWU6dCxpc1NlY29uZHNFbmFibGVkOm59PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLkljb24se2ljb246ZixjbGFzc05hbWU6cygpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdCksdGl0bGU6bj9oOnB9KX12YXIgZz1uKDQ2NTEzNyksdj1uKDI1NDY3Myk7dmFyIHk9big3MTcxOTUpO2Z1bmN0aW9uIF8oZSl7Y29uc3R7aW5pdFZhbDp0LHNlbGVjdE9uSW5pdDpvLG9uQ2xvc2U6ZH09ZSxmPSgwLHIudXNlUmVmKShudWxsKSxbcCxoXT0oMCxyLnVzZVN0YXRlKSh0LnRvVXBwZXJDYXNlKCkpLF89KDAsci51c2VNZW1vKSgoKCk9PnYuSW50ZXJ2YWwucGFyc2UocCkpLFtwXSksQz1mdW5jdGlvbihlLHQpe3JldHVybigwLHIudXNlTWVtbykoKCgpPT57aWYoIXQuaXNWYWxpZCgpfHwhKDAsZy5pbnRlcnZhbElzU3VwcG9ydGVkKShlKSlyZXR1cm4hMTtjb25zdCBuPXYuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3JldHVybiBudWxsIT09biYmKDAsZy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpKG4pfSksW2UsdF0pfShwLF8pLHc9KDAsci51c2VNZW1vKSgoKCk9PntpZighQylyZXR1cm4gbnVsbDtyZXR1cm4oMCxnLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKF8udmFsdWUoKSkuaGludH0pLFtDLF9dKTtyZXR1cm4oMCxyLnVzZUxheW91dEVmZmVjdCkoKCgpPT57bz9mLmN1cnJlbnQ/LnNlbGVjdCgpOmYuY3VycmVudD8uZm9jdXMoKX0pLFtvXSksci5jcmVhdGVFbGVtZW50KHUuUG9wdXBEaWFsb2cse2NsYXNzTmFtZTp5LmRpYWxvZywiZGF0YS1kaWFsb2ctbmFtZSI6ImNoYW5nZS1pbnRlcnZhbC1kaWFsb2ciLGlzT3BlbmVkOiEwLG9uQ2xpY2tPdXRzaWRlOmQsb25Gb2N1czpmdW5jdGlvbigpe2YuY3VycmVudD8uZm9jdXMoKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpezI3PT09ZS5rZXlDb2RlJiZkPy4oKX19LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkuZGlhbG9nSW5uZXJ9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkudGl0bGVXcmFwcGVyfSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LnRpdGxlfSxpLnQobnVsbCx2b2lkIDAsbig1OTc3NzApKSksci5jcmVhdGVFbGVtZW50KG0se2NsYXNzTmFtZTp5LmluZm9IaW50LGlzU2Vjb25kc0VuYWJsZWQ6KDAsZy5pc1NlY29uZHNFbmFibGVkKSgpfSkpLHIuY3JlYXRlRWxlbWVudCgiZm9ybSIse2NsYXNzTmFtZTp5LmZvcm0sb25TdWJtaXQ6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCksbj12LkludGVydmFsLm5vcm1hbGl6ZShwKTtuJiZ0IT09biYmQyYmYy5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKG4sIkNoYW5nZSBpbnRlcnZhbCBkaWFsb2ciKTtkPy4oKX19LHIuY3JlYXRlRWxlbWVudChhLklucHV0Q29udHJvbCx7Y2xhc3NOYW1lOnMoKSh5LmlucHV0V3JhcHBlcixsLklucHV0Q2xhc3Nlcy5Gb250U2l6ZUxhcmdlKSxpbnB1dENsYXNzTmFtZTp5LmlucHV0LHR5cGU6InRleHQiLHNpemU6ImxhcmdlIixyZWZlcmVuY2U6Zix2YWx1ZTpwLG1heExlbmd0aDo4LGludGVudDpDP3ZvaWQgMDoiZGFuZ2VyIixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdHt2YWx1ZTp0fT1lLnRhcmdldDtoKHQudG9VcHBlckNhc2UoKSl9fSkpLEM/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6eS5oaW50fSx3KTpyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoeS5oaW50LHkuZXJyb3IpfSxpLnQobnVsbCx2b2lkIDAsbigxNDM0MTIpKSkpKX12YXIgQz1uKDg2MzQ0KSx3PW4oNTcxMzAwKTtmdW5jdGlvbiBTKGUpe2lmKEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil8fEMuZGlhbG9nc09wZW5lck1hbmFnZXIuaXNPcGVuZWQoIlN5bWJvbFNlYXJjaCIpKXJldHVybjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHtpbml0VmFsOm4sc2VsZWN0T25Jbml0Om8sb25DbG9zZTpzfT1lLGk9ci5jcmVhdGVFbGVtZW50KF8se2luaXRWYWw6bixzZWxlY3RPbkluaXQ6byxvbkNsb3NlOmZ1bmN0aW9uKCl7YS51bm1vdW50KCksQy5kaWFsb2dzT3BlbmVyTWFuYWdlci5zZXRBc0Nsb3NlZCgiQ2hhbmdlSW50ZXJ2YWxEaWFsb2ciKSxzPy4oKX19KSxhPSgwLHcuY3JlYXRlUmVhY3RSb290KShpLHQpO0MuZGlhbG9nc09wZW5lck1hbmFnZXIuc2V0QXNPcGVuZWQoIkNoYW5nZUludGVydmFsRGlhbG9nIil9fSwzMzI2NjAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7RGlhbG9nRXZlbnREaXNwYXRjaGVyOigpPT5hfSksZnVuY3Rpb24oZSl7ZS5PcGVuPSJkaWFsb2ctb3BlbiIsZS5DbG9zZT0iZGlhbG9nLWNsb3NlIixlLkZ1bGxzY3JlZW5Pbj0iZGlhbG9nLWZ1bGxzY3JlZW4tb24iLGUuRnVsbHNjcmVlbk9mZj0iZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIn0ocnx8KHI9e30pKQo7dmFyIG89bigyMjEwNjEpLHM9bigxNTAxNTApO2NvbnN0IGk9KDAsby5nZXRMb2dnZXIpKCJEaWFsb2dFdmVudERpc3BhdGNoZXIiKTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fb3BlblNlc3Npb25JZD1udWxsfWRpc3BhdGNoKGUpe2lmKCJkaWFsb2ctb3BlbiI9PT1lKXtpZihudWxsIT09dGhpcy5fb3BlblNlc3Npb25JZClyZXR1cm4gdm9pZCBpLmxvZ0Vycm9yKCJNdWx0aXBsZSBjYWxscyB0byBvcGVuIGRpYWxvZyIpO3RoaXMuX29wZW5TZXNzaW9uSWQ9KDAscy5yYW5kb21IYXNoKSgpfW51bGwhPT10aGlzLl9vcGVuU2Vzc2lvbklkPyh3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoZSx7YnViYmxlczohMCxkZXRhaWw6e2RpYWxvZ1Nlc3Npb25JZDp0aGlzLl9vcGVuU2Vzc2lvbklkfX0pKSwiZGlhbG9nLWNsb3NlIj09PWUmJih0aGlzLl9vcGVuU2Vzc2lvbklkPW51bGwpKTppLmxvZ0Vycm9yKCJFbXB0eSBvcGVuIGRpYWxvZyBzZXNzaW9uIGlkIil9fX0sMzM3MzYyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgcj1uKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDM3MTk0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDguNWgxLjVWMTQiLz48Y2lyY2xlIGZpbGw9ImN1cnJlbnRDb2xvciIgY3g9IjkiIGN5PSI1IiByPSIxIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi41IDlhNy41IDcuNSAwIDEgMS0xNSAwIDcuNSA3LjUgMCAwIDEgMTUgMHoiLz48L3N2Zz4nfSw4NTY3NzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bmFub2lkOigpPT5yfSk7bGV0IHI9KGU9MjEpPT5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKG5ldyBVaW50OEFycmF5KGUpKS5yZWR1Y2UoKChlLHQpPT5lKz0odCY9NjMpPDM2P3QudG9TdHJpbmcoMzYpOnQ8NjI/KHQtMjYpLnRvU3RyaW5nKDM2KS50b1VwcGVyQ2FzZSgpOnQ+NjI/Ii0iOiJfIiksIiIpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/jquery-1.11.3.min.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.783Z","timestamp":1785136427783,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/jquery-1.11.3.min.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=S%2BX7VOfb0pKBedqqOUhlNdTYSdvxAWKEdV1Rnh7V6r6Mltg%2F1q0PcydhKUuWiISiI%2BHwdqvHppwSfpxsz6qlTz51lRBNuerCnJcUcGvww7yYZLbzpQ5pF1Y82UfYPi7UVw%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-176d5\"\r\ncf-ray: a219d7f1bb3a0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":95957,"size_decoded":36013,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32038)","md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-11T10:16:24.675211Z","times_seen":18590,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="}},"time_used":102,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6647.ad458058dd5c882833b6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.833Z","timestamp":1785136429833,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/6647.ad458058dd5c882833b6.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-51c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c373c1fc6ac90bcd08935aebaff3da10\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"widget.coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"widget.coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.267Z","timestamp":1785136427267,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover= HTTP/1.1\r\nHost: widget.coinlib.io\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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/3 301 \r\ncontent-type: text/html; charset=UTF-8\r\nserver-timing: cfEdge;dur=1,cfOrigin;dur=0, cfExtPri\r\nlocation: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Oxz9FuFE08d1%2ByTvoabZQosfZtWSQfXSqRXfwjf%2FbYZWBNQR8L3WGfPfzZHkOMFvxi9Mo3UclITOesfE1CNrPD46rRfhbOxGmdhAgExaoOVztERxtDHR2rrhCFUU1HJvNHn4Qw%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a219d7ee9e828deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"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":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":null}},"time_used":25,"timings":{"blocked":0,"dns":5,"connect":15,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/platform.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.054Z","timestamp":1785136422054,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/platform.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 1901\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1901,"size_decoded":2242,"mime_type":"image/png","magic":"PNG image data, 252 x 25, 8-bit colormap, non-interlaced","md5":"01ba6c01bada51e9c5cf45acd1768b4c","sha1":"03e761b1928e2012dc9dbe7cbd8ca61a3dec081e","sha256":"c09a66d72f051d78b526758d5af7b67ac7512f1deef61dfbfe795ff0f1bf653d","sha512":"4d9512f9559cd230897e114e8c77b71958a1fb08dc82f8b035155c7decf1dcb5445f11f95071a338b10f194b911e78d080780745ec47854b78eaa0bce7af9e8d","ssdeep":"","tlshash":"27414de33a300dffd44b03365205ee58b1114782ac852e178457393b998ca2773102e2","first_seen":"2023-07-14T21:38:24Z","last_seen":"2026-08-10T18:41:09.108563Z","times_seen":101,"resource_available":false,"data":"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"}},"time_used":4136,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4136,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/rrc.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.055Z","timestamp":1785136422055,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/rrc.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7701\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":7701,"size_decoded":8042,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"b098b92f2a1f87db2993439b4225880f","sha1":"0380b10965382a58cfa00b265594558e4b1ee19e","sha256":"6402ea0a11452904d2dffea48f07f801d767eb73c6e5c14df3dcc3b2b95059ec","sha512":"2fbd0258a987b9cc1c23077205c49cd92c28be2a2fc0e34fc0d3d830b3c305257203937593609238085dae30effe00be03a1fde6688072585c868fcf4e9bfcee","ssdeep":"192:oiemQKtBTMw6luEe8Hgz1G3qK+/6XitjeKSHKc+7oGWGt:TQ4Mw6SvXX94xIWGt","tlshash":"e5f1cf69314d83aaf4ddb0291a03cec4ce835b26653d556e72d77b0f08f964b489f3a1","first_seen":"2025-12-03T04:46:43.736358Z","last_seen":"2026-07-29T06:14:00.428Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4267,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4267,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/server.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.043Z","timestamp":1785136422043,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/server.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 1557\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1557,"size_decoded":1898,"mime_type":"image/png","magic":"PNG image data, 24 x 24, 8-bit/color RGBA, non-interlaced","md5":"61466e644720359532accf771a0e4206","sha1":"f209f88ad47f4d75d335ccef56334599a37a53c1","sha256":"bd75da8029600a727919a7c1b337800001cbd909844c190f09072e129f0a6594","sha512":"8e64af8019e58bd455b9af293a7ad048dfe9ccbf4b11554db0cfe848abed543318bc57fa6ee0a4c1406addf23062eebe28d0fae8cdd730f8e41340e89b11ccd4","ssdeep":"","tlshash":"b731f9aab755adfda08f849342a206bb08d6355e971bf094a46d5c532b74deec0c3bc0","first_seen":"2025-12-03T04:46:43.753876Z","last_seen":"2026-07-29T06:14:00.422418Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":1767,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1767,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.560Z","timestamp":1785136429560,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19787.bbb66fa0fd2bd04d0875.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-20c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8ddc980db8330c1ca367da5ec67a375b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8387,"size_decoded":2212,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8387), with no line terminators","md5":"c76f82404888743630c3d86c6931b984","sha1":"0effb39e719c9998b27c227db4b853aba32f119e","sha256":"1196f60553689bc67d6287aaac7773cab51d29c33e4fb4892caefae123cd5457","sha512":"f666bbef0cab0de8c5308c44eb68226e8037afd2e73be527dc8033c9f0a8147c7f08bf72a1fdaecfd64cc53656d5990a9d621e6722bb9aec0844cdc9e725a756","ssdeep":"192:r4jkmQQNWw64jkmQQuFQu3ZfXQb0JRQ//gUTxhi27lHuePk/ouJp:oV/Dhi27Y","tlshash":"3a026556f393453e7933d28e1e28b788e2569db2e5233ac2b534e554f5ecaf20c06d21","first_seen":"2026-07-17T03:30:51.091379Z","last_seen":"2026-08-11T04:43:23.146422Z","times_seen":213,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV8xLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2Vzcyk7LS1fMi1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkpOy0tXzMtY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLV80LWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyKTstLV81LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1fNi1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzctY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMS1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tXzItY2tOSzp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLV8zLWNrTks6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyk7LS1fNC1ja05LOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlcik7LS1fNS1ja05LOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzYtY2tOSzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV83LWNrTks6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNvbnRhaW5lci1OODRYU2NHbnthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtY29sb3IsdmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCkpO2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6dmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLDFweCk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstLXVpLWxpYi1jb250cm9sLWRlZmF1bHQtc2xvdC1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7aGVpZ2h0OnZhcigtLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodCxhdXRvKX0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXNtYWxsLU44NFhTY0duLC5jb250YWluZXItTjg0WFNjR24uY29udGFpbmVyLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmNvbnRhaW5lci1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uaW50ZW50LWRlZmF1bHQtTjg0WFNjR246aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24uZm9jdXNlZC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSl9fS5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250YWluZXItTjg0WFNjR24ucmVhZG9ubHktTjg0WFNjR246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCl9fS5jb250YWluZXItTjg0WFNjR24uZGlzYWJsZWQtTjg0WFNjR257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1ja05LKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7Y29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tXzctY2tOSyk7LS11aS1saWItY29udHJvbC1kZWZhdWx0LXNsb3QtY29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGFpbmVyLU44NFhTY0duLmRpc2FibGVkLU44NFhTY0duOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtY2tOSyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2NvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yOnZhcigtLV83LWNrTkspOy0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KX19LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLndpdGgtaGlnaGxpZ2h0LU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi53aXRoLWhpZ2hsaWdodC1OODRYU2NHbjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7b3V0bGluZTpub25lfX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3Qtcm93LU44NFhTY0duKXttYXJnaW4tdG9wOmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX0uY29udGFpbmVyLU44NFhTY0duLmdyb3VwZWQtTjg0WFNjR24uYWRqdXN0LXBvc2l0aW9uLU44NFhTY0duOm5vdCguZmlyc3QtY29sLU44NFhTY0duKXttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGModmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKi0xKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duOmhvdmVye3otaW5kZXg6MX19LmNvbnRhaW5lci1OODRYU2NHbi5ncm91cGVkLU44NFhTY0duLmZvY3VzZWQtTjg0WFNjR257ei1pbmRleDoyfS5jb250YWluZXItTjg0WFNjR24uc3RyZXRjaC1OODRYU2NHbnt3aWR0aDoxMDAlfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLW1lZGl1bS1OODRYU2NHbnstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweH0uY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1sYXJnZS1OODRYU2NHbiwuY29udGFpbmVyLU44NFhTY0duLmZvbnQtc2l6ZS1tZWRpdW0tTjg0WFNjR257Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250YWluZXItTjg0WFNjR24uZm9udC1zaXplLWxhcmdlLU44NFhTY0duey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE2cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4fS5jb250YWluZXItTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci10b3AtcmlnaHQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0uY29udGFpbmVyLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmNvbnRhaW5lci1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0uc2l6ZS14eHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czo0cHh9LnNpemUteHNtYWxsLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtc2tlbGV0b24taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LnNpemUtc21hbGwtTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6MzRweDtib3JkZXItcmFkaXVzOjZweH0uc2l6ZS1tZWRpdW0tTjg0WFNjR257LS11aS1saWItY29udHJvbC1za2VsZXRvbi1oZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjhweH0uc2l6ZS1sYXJnZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLXNrZWxldG9uLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6OHB4fS5pbnRlbnQtZGVmYXVsdC1OODRYU2NHbnstLXVpLWxpYi1pbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7LS11aS1saWItaW50ZW50LWhpZ2hsaWdodC1jb2xvcjp2YXIoLS1fMC1ja05LKX0uaW50ZW50LXN1Y2Nlc3MtTjg0WFNjR257LS11aS1saWItaW50ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3MpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzEtY2tOSyl9LmludGVudC13YXJuaW5nLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC13YXJuaW5nKTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8zLWNrTkspfS5pbnRlbnQtZGFuZ2VyLU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpOy0tdWktbGliLWludGVudC1oaWdobGlnaHQtY29sb3I6dmFyKC0tXzQtY2tOSyl9LmludGVudC1wcmltYXJ5LU44NFhTY0duey0tdWktbGliLWludGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5KTstLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yOnZhcigtLV8yLWNrTkspfS5ib3JkZXItbm9uZS1OODRYU2NHbnstLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aDowcHh9LmJvcmRlci10aGluLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLXRoaWNrLU44NFhTY0duey0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoOjJweH0uaGlnaGxpZ2h0LU44NFhTY0due2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbnRlbnQtaGlnaGxpZ2h0LWNvbG9yLHZhcigtLV8wLWNrTkspKTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1jb250cm9sLWhpZ2hsaWdodC1ib3JkZXItcmFkaXVzLDhweCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjpjYWxjKHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSotMSk7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjN9LmhpZ2hsaWdodC1OODRYU2NHbi5zaG93bi1OODRYU2NHbnt2aXNpYmlsaXR5OnZpc2libGV9LmhpZ2hsaWdodC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NHB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14eHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXh4c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbntib3JkZXItcmFkaXVzOjZweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUteHNtYWxsLU44NFhTY0duLm5vLWNvcm5lci10b3AtbGVmdC1OODRYU2NHbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXhzbWFsbC1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS14c21hbGwtTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1sZWZ0LU44NFhTY0due2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0due2JvcmRlci1yYWRpdXM6NnB4fS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1zbWFsbC1OODRYU2NHbi5uby1jb3JuZXItdG9wLXJpZ2h0LU44NFhTY0due2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tcmlnaHQtTjg0WFNjR257Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjB9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLXNtYWxsLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR257Ym9yZGVyLXJhZGl1czo4cHh9LmhpZ2hsaWdodC1OODRYU2NHbi5zaXplLW1lZGl1bS1OODRYU2NHbi5uby1jb3JuZXItdG9wLWxlZnQtTjg0WFNjR257Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1tZWRpdW0tTjg0WFNjR24ubm8tY29ybmVyLWJvdHRvbS1yaWdodC1OODRYU2NHbntib3JkZXItZW5kLWVuZC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbWVkaXVtLU44NFhTY0duLm5vLWNvcm5lci1ib3R0b20tbGVmdC1OODRYU2NHbntib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbntib3JkZXItcmFkaXVzOjhweH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1sZWZ0LU44NFhTY0due2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0uaGlnaGxpZ2h0LU44NFhTY0duLnNpemUtbGFyZ2UtTjg0WFNjR24ubm8tY29ybmVyLXRvcC1yaWdodC1OODRYU2NHbntib3JkZXItc3RhcnQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLXJpZ2h0LU44NFhTY0due2JvcmRlci1lbmQtZW5kLXJhZGl1czowfS5oaWdobGlnaHQtTjg0WFNjR24uc2l6ZS1sYXJnZS1OODRYU2NHbi5uby1jb3JuZXItYm90dG9tLWxlZnQtTjg0WFNjR257Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83041.9c545f9868204c7700f2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.819Z","timestamp":1785136429819,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/83041.9c545f9868204c7700f2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6d97c65a53e3be152281261247730212\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/pmt.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.061Z","timestamp":1785136422061,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/pmt.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 6007\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":6007,"size_decoded":6348,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"8c1cc2d4125a27626f6047f136b3d836","sha1":"e0089d9e79b3362bab76da7654e556d6fb78fe57","sha256":"59038d471ab958b5da859395014c7638934c83e60194d64b3c2c2637618988f6","sha512":"46cb4c13dd3ef0fb995bb7f01ea3cf777cdc18cd5ee3837b7b77d794f3e9d4b7d1937be3000ea7c803f5b17f0d5571726dbb46a2e399befd6358f480f7702582","ssdeep":"96:/9nT/SzX7ExKDmn6o1gf6FY+iAjlsGfFG/HxGgy20M3aThAXqimRFuiti7i42tQ+:1nTW7UKEqSFr4/xG2B+5imXuitieYzHK","tlshash":"35c18e5b1d27060b70fbd15066650222ecc2784fac4e54cd3d557abd1bc96bbd190e17","first_seen":"2025-12-03T04:46:43.777322Z","last_seen":"2026-07-29T06:14:00.411285Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4262,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4262,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.340Z","timestamp":1785136427340,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf HTTP/1.1\r\nHost: heavenwealth.org\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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/assets/css/css.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/89044.122886591db3fa6fdc03.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.200Z","timestamp":1785136429200,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89044.122886591db3fa6fdc03.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-20da\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 47089b20bdd79f389347e740e74e93f2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8410,"size_decoded":1653,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8410), with no line terminators","md5":"d899c42dfb29ba1d8f8fc0f1e2b5cc00","sha1":"6ce7cc3eb3c8a94d03f0c12ff43b89ab13091bed","sha256":"5a3314d5c89727aff3426af5332b4c993aa516924153a2e614a7c9f48388e29c","sha512":"30c065a6fb6b82f89ea006b3367e4933eab1a6dbc5d5e2718058a7b0687755d5138f9e34c64646365a7b5d7503ec191016cd0ca012194d8ddfe911ab16a5ba75","ssdeep":"192:WMfEuIn0/i43AoFOMfEuIn0/i43AoFUaaQloN:WMQnA3AMQnA3maaQloN","tlshash":"f502e79de75851768ada97ae337d966c43166543ff008aa97f31c00210c6ff2ed8ba0d","first_seen":"2026-07-22T16:00:00.399176Z","last_seen":"2026-07-28T06:17:53.532765Z","times_seen":113,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8xLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1fMi1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV80LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzYtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV83LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV84LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV85LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzEwLVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMTEtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8xMi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8xMy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8xNC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xNS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xNi1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzE3LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTgtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTktWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMjAtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yMS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMjItWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzIzLVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzI0LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMjUtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV8yNi1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV8yNy1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV8yOC1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8yOS1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8zMC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzMxLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMzItWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMzMtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCk7LS1fMzQtWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8zNS1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fMzYtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzM3LVhEdlI6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzM4LVhEdlI6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTMwMCk7LS1fMzktWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV80MC1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV80MS1YRHZSOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwKTstLV80Mi1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV80My1YRHZSOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV80NC1YRHZSOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzQ1LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fNDYtWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fNDctWER2Ujp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzEtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjUwKTstLV8yLVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy1YRHZSOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzQtWER2Ujp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLV81LVhEdlI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1fNi1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzctWER2Ujp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzgtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzktWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMTAtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8xMS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzEyLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzEzLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzE0LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzE1LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzE2LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMTctWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8xOC1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8xOS1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8yMC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzIxLVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8yMi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMjMtWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMjQtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8yNS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzI2LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzI3LVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzI4LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzI5LVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzMwLVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fMzEtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV8zMi1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV8zMy1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKTstLV8zNC1YRHZSOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzM1LVhEdlI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zNi1YRHZSOnZhcigtLWNvbG9yLXR2LWJsdWUtYTQwMCk7LS1fMzctWER2Ujp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fMzgtWER2Ujp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV8zOS1YRHZSOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi02MDApOy0tXzQwLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzQxLVhEdlI6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzQyLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDApOy0tXzQzLVhEdlI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tXzQ0LVhEdlI6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTQwMCk7LS1fNDUtWER2Ujp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKTstLV80Ni1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLV80Ny1YRHZSOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNDAwKX0ud3JhcC1ZWnc4UlhlaXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0udWlNYXJrZXItWVp3OFJYZWl7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLV8wLVhEdlIpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNXB4fS51aU1hcmtlci1ZWnc4UlhlaSBzdmd7aGVpZ2h0OjEzcHg7d2lkdGg6MTJweH0udWlNYXJrZXItWVp3OFJYZWkgc3ZnOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0udWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMy1YRHZSKX19LnVpTWFya2VyX19zbWFsbC1ZWnc4UlhlaXt3aWR0aDoxMnB4fS51aU1hcmtlcl9fc21hbGwtWVp3OFJYZWkgc3Zne2hlaWdodDoxMnB4fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMS1YRHZSKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnJlZC1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fMzUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5ibHVlLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzM4LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuZ3JlZW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM5LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLm9yYW5nZS1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDEtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5wdXJwbGUtWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQyLVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzQ0LVhEdlIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1saWdodCAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDUtWER2Uil9fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtbGlnaHQgLnVpTWFya2VyLVladzhSWGVpLnBpbmstWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ3LVhEdlIpfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IC51aU1hcmtlci1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNC1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWl7Y29sb3I6dmFyKC0tXzItWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpe2NvbG9yOnZhcigtLV8zNC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucmVkLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zNS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuYmx1ZS1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzYtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmJsdWUtWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzM3LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5ncmVlbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fMzgtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmdyZWVuLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV8zOS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpe2NvbG9yOnZhcigtLV80MC1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkub3JhbmdlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80MS1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpe2NvbG9yOnZhcigtLV80Mi1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucHVycGxlLVladzhSWGVpOmhvdmVye2NvbG9yOnZhcigtLV80My1YRHZSKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkuY3lhbi1ZWnc4UlhlaXtjb2xvcjp2YXIoLS1fNDQtWER2Uil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnVpTWFya2VyLVladzhSWGVpLmN5YW4tWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzQ1LVhEdlIpfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC51aU1hcmtlci1ZWnc4UlhlaS5waW5rLVladzhSWGVpe2NvbG9yOnZhcigtLV80Ni1YRHZSKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWkucGluay1ZWnc4UlhlaTpob3Zlcntjb2xvcjp2YXIoLS1fNDctWER2Uil9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudWlNYXJrZXItWVp3OFJYZWk6aG92ZXJ7Y29sb3I6dmFyKC0tXzUtWER2Uil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.594Z","timestamp":1785136427594,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/800e836146d6e7eb.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 4114783\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"800e836146d6e7eb.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"7b2a7348e5acf7f61cd01b2152c769a6\"\r\nlast-modified: Tue, 09 Jun 2026 16:12:41 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/800e836146d6e7eb.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dmlt9-1781021643910-30bb6f3b3b82\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=s55N9KZrhvVKa3Pxl2WALaCRIvmM%2FSkUU5MQDpt6t%2BP%2FHmiN4pDx4e2ZcXrJRkTamesvqbE%2FScZjrwiAnv%2BMc%2B07y3%2FwFpEYCKL4smJbcJOCPPYklphTDFsn9JX0\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f07f198deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":19477,"size_decoded":7490,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (16974)","md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDI0NjAxLChlLHQsaSk9Pnt0LmV4cG9ydHM9ZS5yKDI4OTk1KX0sNzkyOTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoOTgxMzQpLGk9ZS5pKDI0NjAxKSxuPWUuaSg3NTIwMSkscz1lLmkoNzUxNTcpO2Z1bmN0aW9uIG8oe3RoZW1lOmUsY250OmksZ3JhcGg6byxwcmVmQ29pbklkOmx9KXtsZXRbYyxkXT0oMCxuLnVzZVN0YXRlKShbXSksW2gsZl09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOlN0cmluZyhpKX0pO2wmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGwpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZkKGUuZGF0YSksZS5jdXJyZW5jeSYmZihlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+cCghMSkpfSxbaSxsXSk7bGV0IGc9ImRhcmsiPT09ZSx4PWc/IiMxQjIwMzAiOiIjZmZmZmZmIix5PWc/IiNlNWU3ZWIiOiIjMWYyOTM3Iix1PWc/IiM5Y2EzYWYiOiIjNmI3MjgwIixiPWc/IiMzNzQxNTEiOiIjZTVlN2ViIixqPWc/IiMxZjI5MzciOiIjZjNmNGY2IixTPSIjMjJjNTVlIix2PSIjZWY0NDQ0IjtyZXR1cm4gbT8oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxwYWRkaW5nOjIwLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pOigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzLG92ZXJmbG93OiJhdXRvIixoZWlnaHQ6IjEwMCUifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzdHlsZSIse2NoaWxkcmVuOmAKICAgICAgICAuZnZ3LWhpZGUtc20geyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAuZnZ3LWhpZGUtc20geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcmFuayB7IHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcHJpY2UgeyB3aWR0aDogODBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAuZnZ3LXJvdyB7IHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgYH0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6Zz8iIzExMTgyNyI6IiNmOWZhZmIiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46IiMifSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Ik5hbWUifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcHJpY2UiLHN0eWxlOnt3aWR0aDoxMDAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJQcmljZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjoiTWFya2V0IENhcCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6OTAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJWb2x1bWUgMjRoIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnt3aWR0aDo3MCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46IjI0aCAlIn0pLG8mJigwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LWhpZGUtc20iLHN0eWxlOnt3aWR0aDo4MCx0ZXh0QWxpZ246InJpZ2h0IixwYWRkaW5nTGVmdDoxMn0sY2hpbGRyZW46IjdkIn0pXX0pLGMubWFwKGU9Pnt2YXIgaSxuO2xldCBsPWUucGVyY2VudF9jaGFuZ2VfMjRoPj0wO3JldHVybigwLHQuanN4cykoImEiLHtocmVmOmBodHRwczovL2NvaW5saWIuaW8keygwLHMuY29pblVybCkoZS5zeW1ib2wsZS5uYW1lKX1gLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxvbk1vdXNlRW50ZXI6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9aixvbk1vdXNlTGVhdmU6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46ZS5yYW5rfSksKDAsdC5qc3gpKCJpbWciLHtzcmM6ZS5pbWFnZSxhbHQ6ZS5uYW1lLHdpZHRoOjE4LGhlaWdodDoxOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLG1hcmdpblJpZ2h0OjZ9fSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NTAwLG1hcmdpblJpZ2h0OjR9LGNoaWxkcmVuOmUubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp1LGZvbnRTaXplOjExfSxjaGlsZHJlbjplLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LXByaWNlIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpbkxlZnQ6ImF1dG8iLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihpPWUucHJpY2VfdXNkKmgucmF0ZSxuPWguc3ltYm9sLGk+PTE/bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjEwMCx0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjExfSxjaGlsZHJlbjphKGUubWFya2V0X2NhcCpoLnJhdGUsaC5zeW1ib2wpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjkwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTF9LGNoaWxkcmVuOmEoZS52b2x1bWVfMjRoKmgucmF0ZSxoLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e3dpZHRoOjcwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo1MDAsY29sb3I6bD9TOnZ9LGNoaWxkcmVuOltsPyIrIjoiIixlLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSksbyYmKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjgwLHRleHRBbGlnbjoicmlnaHQiLHBhZGRpbmdMZWZ0OjEyfSxjaGlsZHJlbjooMCx0LmpzeCkocix7Y29pbjplLGNvbG9yOmw/Uzp2fSl9KV19LGUuaWQpfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiNHB4IDEycHgiLGZvbnRTaXplOjEwLGNvbG9yOnUsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOigwLHQuanN4KSgiYSIse2hyZWY6Imh0dHBzOi8vY29pbmxpYi5pbyIsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2NvbG9yOnUsdGV4dERlY29yYXRpb246Im5vbmUifSxjaGlsZHJlbjoiUG93ZXJlZCBieSBDb2lubGliIn0pfSldfSl9ZnVuY3Rpb24gcih7Y29pbjplLGNvbG9yOml9KXtsZXQgbixzPWUuc3BhcmtsaW5lXzdkJiZlLnNwYXJrbGluZV83ZC5sZW5ndGg+PTI/ZS5zcGFya2xpbmVfN2Q6bnVsbDtpZihzKW49cztlbHNle2xldCB0PWUucHJpY2VfdXNkLGk9dC8oMStlLnBlcmNlbnRfY2hhbmdlXzI0aC8xMDApO249W107Zm9yKGxldCBlPTA7ZTw9NjtlKyspe2xldCBzPWUvNjtuLnB1c2goaSsodC1pKSpzKy4wMSp0Kk1hdGguc2luKHMqTWF0aC5QSSoyKSl9fWxldCBvPU1hdGgubWluKC4uLm4pLHI9TWF0aC5tYXgoLi4ubiktb3x8MSxhPTcwLyhuLmxlbmd0aC0xKSxsPW4ubWFwKChlLHQpPT5gJHsodCphKS50b0ZpeGVkKDIpfSwkeygyNi0oZS1vKS9yKjI0KS50b0ZpeGVkKDIpfWApLGM9YE0gJHtsLmpvaW4oIiBMICIpfWAsZD1gJHtjfSBMIDcwLjAwLDI4IEwgMCwyOCBaYCxoPWBzcGFyay1ncmFkLSR7ZS5pZH1gO3JldHVybigwLHQuanN4cykoInN2ZyIse3dpZHRoOjcwLGhlaWdodDoyOCx2aWV3Qm94OiIwIDAgNzAgMjgiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRlZnMiLHtjaGlsZHJlbjooMCx0LmpzeHMpKCJsaW5lYXJHcmFkaWVudCIse2lkOmgseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6aSxzdG9wT3BhY2l0eToiMC4yNSJ9KSwoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjppLHN0b3BPcGFjaXR5OiIwIn0pXX0pfSksKDAsdC5qc3gpKCJwYXRoIix7ZDpkLGZpbGw6YHVybCgjJHtofSlgLHN0cm9rZToibm9uZSJ9KSwoMCx0LmpzeCkoInBhdGgiLHtkOmMsZmlsbDoibm9uZSIsc3Ryb2tlOmksc3Ryb2tlV2lkdGg6MSxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGwoe3RoZW1lOmUsY29pbklkOmkscHJlZkNvaW5JZDpzfSl7bGV0W28scl09KDAsbi51c2VTdGF0ZSkobnVsbCksW2EsbF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZCxoXT0oMCxuLnVzZVN0YXRlKShbXSksW2YsbV09KDAsbi51c2VTdGF0ZSkoNyksW3AsZ109KDAsbi51c2VTdGF0ZSkoITApLHg9KDAsbi51c2VSZWYpKG51bGwpLFt5LHVdPSgwLG4udXNlU3RhdGUpKG51bGwpOygwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7aT9lLnNldCgibGVnYWN5X2lkIixpKTplLnNldCgic3ltYm9sIiwiQlRDIikscyYmZS5zZXQoInByZWZfY29pbl9pZCIscyksZmV0Y2goYC9hcGkvdjEvd2lkZ2V0PyR7ZX1gKS50aGVuKGU9PmUuanNvbigpKS50aGVuKGU9PntlLmRhdGE/KHUoZS5kYXRhLnNsdWc/PyJiaXRjb2luIikscihlLmRhdGEpKTp1KCJiaXRjb2luIiksZS5jdXJyZW5jeSYmbChlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT51KCJiaXRjb2luIikpfSxbaSxzXSksKDAsbi51c2VFZmZlY3QpKCgpPT57eSYmKGcoITApLChhc3luYygpPT57bGV0IGU9YXdhaXQgZmV0Y2goYC9hcGkvdjEvY29pbnMvJHt5fS9jaGFydD9kYXlzPSR7Zn1gKS50aGVuKGU9PmUuanNvbigpKS5jYXRjaCgoKT0+bnVsbCk7ZT8uZGF0YT8ucHJpY2VzJiZoKGUuZGF0YS5wcmljZXMpLGcoITEpfSkoKSl9LFt5LGZdKSwoMCxuLnVzZUVmZmVjdCkoKCk9PntpZigheC5jdXJyZW50fHxkLmxlbmd0aDwyKXJldHVybjtsZXQgdD14LmN1cnJlbnQsaT10LmdldENvbnRleHQoIjJkIik7aWYoIWkpcmV0dXJuO2xldCBuPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LndpZHRoPXMud2lkdGgqbix0LmhlaWdodD1zLmhlaWdodCpuLGkuc2NhbGUobixuKTtsZXQgbz1zLndpZHRoLHI9cy5oZWlnaHQsbD0iZGFyayI9PT1lO2kuZmlsbFN0eWxlPWw/IiMxQjIwMzAiOiIjZmZmZmZmIixpLmZpbGxSZWN0KDAsMCxvLHIpO2xldCBoPW8tNjAtMTAsbT1yLTEwLTMwLHA9YS5yYXRlLGc9ZC5tYXAoZT0+ZVsxXSpwKSx5PU1hdGgubWluKC4uLmcpLHU9TWF0aC5tYXgoLi4uZyksYj11LXl8fDE7aS5zdHJva2VTdHlsZT1sPyIjMzc0MTUxIjoiI2U1ZTdlYiIsaS5saW5lV2lkdGg9LjU7Zm9yKGxldCBlPTA7ZTw9NDtlKyspe2xldCB0PTEwK20vNCplO2kuYmVnaW5QYXRoKCksaS5tb3ZlVG8oNjAsdCksaS5saW5lVG8oby0xMCx0KSxpLnN0cm9rZSgpO2xldCBuPXUtYi80KmU7aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkuZm9udD0iMTBweCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGkudGV4dEFsaWduPSJyaWdodCIsaS5maWxsVGV4dChjKG4sYS5zeW1ib2wpLDU1LHQrMyl9bGV0IGo9ZFswXVswXSxTPWRbZC5sZW5ndGgtMV1bMF07aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkudGV4dEFsaWduPSJjZW50ZXIiO2ZvcihsZXQgZT0wO2U8PTQ7ZSsrKXtsZXQgdD1qKyhTLWopLzQqZSxuPTYwK2gvNCplLHM9bmV3IERhdGUodCk7aS5maWxsVGV4dChmPD0xP3MudG9Mb2NhbGVUaW1lU3RyaW5nKCJlbiIse2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCJ9KTpzLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4iLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9KSxuLHItOCl9bGV0IHY9Z1tnLmxlbmd0aC0xXT49Z1swXTtpLnN0cm9rZVN0eWxlPXY/IiMyMmM1NWUiOiIjZWY0NDQ0IixpLmxpbmVXaWR0aD0yLGkuYmVnaW5QYXRoKCksZC5mb3JFYWNoKChbZV0sdCk9PntsZXQgbj02MCsoZS1qKS8oUy1qKSpoLHM9MTArKDEtKGdbdF0teSkvYikqbTswPT09dD9pLm1vdmVUbyhuLHMpOmkubGluZVRvKG4scyl9KSxpLnN0cm9rZSgpO2xldCBfPWkuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwxMCwwLDEwK20pO18uYWRkQ29sb3JTdG9wKDAsdj8icmdiYSgzNCwxOTcsOTQsMC4xNSkiOiJyZ2JhKDIzOSw2OCw2OCwwLjE1KSIpLF8uYWRkQ29sb3JTdG9wKDEsdj8icmdiYSgzNCwxOTcsOTQsMCkiOiJyZ2JhKDIzOSw2OCw2OCwwKSIpLGkuZmlsbFN0eWxlPV8saS5saW5lVG8oNjAraCwxMCttKSxpLmxpbmVUbyg2MCwxMCttKSxpLmNsb3NlUGF0aCgpLGkuZmlsbCgpfSxbZCxlLGFdKTtsZXQgYj0iZGFyayI9PT1lLGo9Yj8iI2U1ZTdlYiI6IiMxZjI5MzciLFM9Yj8iIzljYTNhZiI6IiM2YjcyODAiLHY9Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiO3JldHVybigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOmI/IiMxQjIwMzAiOiIjZmZmZmZmIixjb2xvcjpqLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbbyYmKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTBweCAxMnB4Iixib3JkZXJCb3R0b206YDFweCBzb2xpZCAke3Z9YCxnYXA6OH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOm8uaW1hZ2UsYWx0Om8ubmFtZSx3aWR0aDoyNCxoZWlnaHQ6MjQsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTV9LGNoaWxkcmVuOm8ubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjpTLGZvbnRTaXplOjEyfSxjaGlsZHJlbjpvLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOjE2fSxjaGlsZHJlbjpjKG8ucHJpY2VfdXNkKmEucmF0ZSxhLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6by5wZXJjZW50X2NoYW5nZV8yNGg+PTA/IiMyMmM1NWUiOiIjZWY0NDQ0In0sY2hpbGRyZW46W28ucGVyY2VudF9jaGFuZ2VfMjRoPj0wPyIrIjoiIixvLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSldfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjpbMSw3LDMwLDkwLDM2NV0ubWFwKGU9PigwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazooKT0+bShlKSxzdHlsZTp7cGFkZGluZzoiMnB4IDhweCIsZm9udFNpemU6MTEsZm9udFdlaWdodDpmPT09ZT82MDA6NDAwLGJhY2tncm91bmQ6Zj09PWU/Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiOiJ0cmFuc3BhcmVudCIsY29sb3I6Zj09PWU/ajpTLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIn0sY2hpbGRyZW46MT09PWU/IjI0SCI6Nz09PWU/IjdEIjozMD09PWU/IjFNIjo5MD09PWU/IjNNIjoiMVkifSxlKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmbGV4OjEscGFkZGluZzoiOHB4IDAiLG1pbkhlaWdodDowfSxjaGlsZHJlbjpwPygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDAlIixjb2xvcjpTLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZyBjaGFydC4uLiJ9KTooMCx0LmpzeCkoImNhbnZhcyIse3JlZjp4LHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19KX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjRweCAxMnB4Iixmb250U2l6ZToxMCxjb2xvcjpTLHRleHRBbGlnbjoicmlnaHQiLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjooMCx0LmpzeCkoImEiLHtocmVmOiJodHRwczovL2NvaW5saWIuaW8iLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHN0eWxlOntjb2xvcjpTLHRleHREZWNvcmF0aW9uOiJub25lIn0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQ29pbmxpYiJ9KX0pXX0pfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gZT49MT90K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTp0K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KX1mdW5jdGlvbiBkKHt0aGVtZTplLGNvaW5JZDppLHByZWZDb2luSWQ6c30pe3ZhciBvLHI7bGV0W2EsbF09KDAsbi51c2VTdGF0ZSkobnVsbCksW2MsZF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZixtXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztpP2Uuc2V0KCJsZWdhY3lfaWQiLGkpOmUuc2V0KCJzeW1ib2wiLCJCVEMiKSxzJiZlLnNldCgicHJlZl9jb2luX2lkIixzKSxmZXRjaChgL2FwaS92MS93aWRnZXQ/JHtlfWApLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmbChlLmRhdGEpLGUuY3VycmVuY3kmJmQoZS5jdXJyZW5jeSl9KS5jYXRjaCgoKT0+e30pLmZpbmFsbHkoKCk9Pm0oITEpKX0sW2ksc10pO2xldCBwPSJkYXJrIj09PWUsZz1wPyIjMUIyMDMwIjoiI2ZmZmZmZiIseD1wPyIjZTVlN2ViIjoiIzFmMjkzNyIseT1wPyIjOWNhM2FmIjoiIzZiNzI4MCIsdT0iIzIyYzU1ZSIsYj0iI2VmNDQ0NCI7aWYoZnx8IWEpcmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngscGFkZGluZzoxNixmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgaj1hLnBlcmNlbnRfY2hhbmdlXzI0aD49MDtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJpbWciLHtzcmM6YS5pbWFnZSxhbHQ6YS5uYW1lLHdpZHRoOjI4LGhlaWdodDoyOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUifX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjEuMn0sY2hpbGRyZW46YS5uYW1lfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2NvbG9yOnksZm9udFNpemU6MTB9LGNoaWxkcmVuOlthLnN5bWJvbCwiIMK3IFJhbmsgIyIsYS5yYW5rXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOnttYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MjAsbGluZUhlaWdodDoxLjJ9LGNoaWxkcmVuOihvPWEucHJpY2VfdXNkKmMucmF0ZSxyPWMuc3ltYm9sLG8+PTE/citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOmo/dTpifSxjaGlsZHJlbjpbaj8iKyI6IiIsYS5wZXJjZW50X2NoYW5nZV8yNGg/LnRvRml4ZWQoMiksIiUiXX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5LGZvbnRTaXplOjEwLG1hcmdpbkxlZnQ6M30sY2hpbGRyZW46IjI0aCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtwPyIjMzc0MTUxIjoiI2U1ZTdlYiJ9YCxwYWRkaW5nVG9wOjYsZm9udFNpemU6MTF9LGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2NvbG9yOnl9LGNoaWxkcmVuOiJNYXJrZXQgQ2FwIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjpoKGEubWFya2V0X2NhcCpjLnJhdGUsYy5zeW1ib2wpfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5fSxjaGlsZHJlbjoiVm9sdW1lIDI0aCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46aChhLnZvbHVtZV8yNGgqYy5yYXRlLGMuc3ltYm9sKX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSAxaCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfMWg/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzFoPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfMWg/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSA3ZCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzdkPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGYoe3RoZW1lOmV9KXtsZXRbaSxzXT0oMCxuLnVzZVN0YXRlKShbXSksW28scl09KDAsbi51c2VTdGF0ZSkoIkJUQyIpLFthLGxdPSgwLG4udXNlU3RhdGUpKCJVU0QiKSxbYyxkXT0oMCxuLnVzZVN0YXRlKSgiMSIpLFtoLGZdPSgwLG4udXNlU3RhdGUpKCIiKSxbcCxnXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57ZmV0Y2goIi9hcGkvdjEvd2lkZ2V0P3RvcD01MCIpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmcyhlLmRhdGEpfSkuY2F0Y2goKCk9Pnt9KS5maW5hbGx5KCgpPT5nKCExKSl9LFtdKTtsZXQgeD0oMCxuLnVzZUNhbGxiYWNrKSgoKT0+e2xldCBlPXBhcnNlRmxvYXQoYyl8fDA7aWYoIlVTRCI9PT1hKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1vKTt0JiZmKG0oZSp0LnByaWNlX3VzZCkpfWVsc2UgaWYoIlVTRCI9PT1vKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZ0LnByaWNlX3VzZD4wJiZmKG0oZS90LnByaWNlX3VzZCkpfWVsc2V7bGV0IHQ9aS5maW5kKGU9PmUuc3ltYm9sPT09byksbj1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZuJiZuLnByaWNlX3VzZD4wJiZmKG0oZSp0LnByaWNlX3VzZC9uLnByaWNlX3VzZCkpfX0sW2MsbyxhLGldKTsoMCxuLnVzZUVmZmVjdCkoKCk9PntpLmxlbmd0aD4wJiZ4KCl9LFtpLHhdKTtsZXQgeT0iZGFyayI9PT1lLHU9eT8iIzFCMjAzMCI6IiNmZmZmZmYiLGI9eT8iI2U1ZTdlYiI6IiMxZjI5MzciLGo9eT8iIzljYTNhZiI6IiM2YjcyODAiLFM9eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHY9eT8iIzExMTgyNyI6IiNmOWZhZmIiLF89eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHc9e3dpZHRoOiIxMDAlIixwYWRkaW5nOiI2cHggOHB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOnYsY29sb3I6Yixib3JkZXI6YDFweCBzb2xpZCAke1N9YCxib3JkZXJSYWRpdXM6NSxvdXRsaW5lOiJub25lIixhcHBlYXJhbmNlOiJhdXRvIn0saz17d2lkdGg6IjEwMCUiLHBhZGRpbmc6IjZweCA4cHgiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsYmFja2dyb3VuZDp2LGNvbG9yOmIsYm9yZGVyOmAxcHggc29saWQgJHtTfWAsYm9yZGVyUmFkaXVzOjUsb3V0bGluZToibm9uZSIsYm94U2l6aW5nOiJib3JkZXItYm94In07aWYocClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOnUsY29sb3I6YixwYWRkaW5nOjE2LGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pO2xldCBGPVt7c3ltYm9sOiJVU0QiLG5hbWU6IlVTIERvbGxhciJ9LC4uLmkubWFwKGU9Pih7c3ltYm9sOmUuc3ltYm9sLG5hbWU6ZS5uYW1lfSkpXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp1LGNvbG9yOmIsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTMsbWFyZ2luQm90dG9tOjEwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46IkNyeXB0b2N1cnJlbmN5IENvbnZlcnRlciJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7c3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixmb250U2l6ZToxMCxjb2xvcjpqLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjoiRnJvbSJ9KSwoMCx0LmpzeCkoInNlbGVjdCIse3ZhbHVlOm8sb25DaGFuZ2U6ZT0+cihlLnRhcmdldC52YWx1ZSksc3R5bGU6dyxjaGlsZHJlbjpGLm1hcChlPT4oMCx0LmpzeHMpKCJvcHRpb24iLHt2YWx1ZTplLnN5bWJvbCxjaGlsZHJlbjpbZS5zeW1ib2wsIiAtICIsZS5uYW1lXX0sYGZyb20tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImlucHV0Iix7dHlwZToibnVtYmVyIix2YWx1ZTpjLG9uQ2hhbmdlOmU9PmQoZS50YXJnZXQudmFsdWUpLHN0eWxlOnsuLi5rLG1hcmdpblRvcDo0fSxwbGFjZWhvbGRlcjoiQW1vdW50In0pXX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46KDAsdC5qc3gpKCJidXR0b24iLHtvbkNsaWNrOigpPT57cihhKSxsKG8pfSxzdHlsZTp7YmFja2dyb3VuZDpfLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUiLHdpZHRoOjI4LGhlaWdodDoyOCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGNvbG9yOmIsbGluZUhlaWdodDoiMjhweCJ9LGNoaWxkcmVuOiLih4UifSl9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse3N0eWxlOntkaXNwbGF5OiJibG9jayIsZm9udFNpemU6MTAsY29sb3I6aixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46IlRvIn0pLCgwLHQuanN4KSgic2VsZWN0Iix7dmFsdWU6YSxvbkNoYW5nZTplPT5sKGUudGFyZ2V0LnZhbHVlKSxzdHlsZTp3LGNoaWxkcmVuOkYubWFwKGU9PigwLHQuanN4cykoIm9wdGlvbiIse3ZhbHVlOmUuc3ltYm9sLGNoaWxkcmVuOltlLnN5bWJvbCwiIC0gIixlLm5hbWVdfSxgdG8tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOnsuLi5rLG1hcmdpblRvcDo0LG1pbkhlaWdodDoxNixiYWNrZ3JvdW5kOl99LGNoaWxkcmVuOmh8fCIwLjAwIn0pXX0pLCgwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazp4LHN0eWxlOnt3aWR0aDoiMTAwJSIscGFkZGluZzoiOHB4Iixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxiYWNrZ3JvdW5kOiIjM2I4MmY2Iixjb2xvcjoiI2ZmZiIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoiQ29udmVydCJ9KV19KX1mdW5jdGlvbiBtKGUpe3JldHVybiBlPj0xP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTplPj0uMDAxP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KTplLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo4fSl9ZnVuY3Rpb24gcCh7dGhlbWU6ZSxwcmVmQ29pbklkOmksaW52ZXJ0SG92ZXI6b30pe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKFtdKSxbbCxjXT0oMCxuLnVzZVN0YXRlKSh7Y29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0pLFtkLGhdPSgwLG4udXNlU3RhdGUpKCEwKSxmPSgwLG4udXNlUmVmKShudWxsKSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMSk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOiI1MCIsc3BhcmtsaW5lOiIwIn0pO2kmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGkpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZhKGUuZGF0YSksZS5jdXJyZW5jeSYmYyhlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+aCghMSkpfSxbaV0pO2xldCBnPSJkYXJrIj09PWUseD1nPyIjMUIyMDMwIjoiI2ZmZmZmZiIseT1nPyIjZTVlN2ViIjoiIzFmMjkzNyI7aWYoZClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxoZWlnaHQ6IjEwMCUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgdT1bLi4uciwuLi5yXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp4LGNvbG9yOnksZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciJ9LG9uTW91c2VFbnRlcjooKT0+cCghMCksb25Nb3VzZUxlYXZlOigpPT5wKCExKSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtyZWY6ZixzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MjQsd2hpdGVTcGFjZToibm93cmFwIixoZWlnaHQ6IjEwMCUiLHBhZGRpbmdMZWZ0OjEyLGFuaW1hdGlvbjooInllcyI9PT1vP206IW0pPyJ3aWRnZXQtbWFycXVlZSAxMjBzIGxpbmVhciBpbmZpbml0ZSI6Im5vbmUifSxjaGlsZHJlbjp1Lm1hcCgoZSxpKT0+e3ZhciBuLG87bGV0IHI9ZS5wZXJjZW50X2NoYW5nZV8yNGg+PTA7cmV0dXJuKDAsdC5qc3hzKSgiYSIse2hyZWY6YGh0dHBzOi8vY29pbmxpYi5pbyR7KDAscy5jb2luVXJsKShlLnN5bWJvbCxlLm5hbWUpfWAsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LGZvbnRTaXplOjEzLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOmUuaW1hZ2UsYWx0OmUubmFtZSx3aWR0aDoxNixoZWlnaHQ6MTYsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUuc3ltYm9sfSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihuPWUucHJpY2VfdXNkKmwucmF0ZSxvPWwuc3ltYm9sLG4+PTE/bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnI/IiMyMmM1NWUiOiIjZWY0NDQ0Iixmb250U2l6ZToxMn0sY2hpbGRyZW46W3I/IisiOiIiLGUucGVyY2VudF9jaGFuZ2VfMjRoPy50b0ZpeGVkKDIpLCIlIl19KV19LGAke2Uuc3ltYm9sfS0ke2l9YCl9KX0pLCgwLHQuanN4KSgic3R5bGUiLHtjaGlsZHJlbjpgCiAgICAgICAgQGtleWZyYW1lcyB3aWRnZXQtbWFycXVlZSB7CiAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KICAgICAgYH0pXX0pfWZ1bmN0aW9uIGcoe3R5cGU6ZSxwYXJhbXM6aX0pe2xldCBuLHM9aS50aGVtZT8/ImRhcmsiLHI9ImRhcmsiPT09cz8iIzFCMjAzMCI6IiNmZmZmZmYiO3N3aXRjaChlKXtjYXNlImZ1bGxfdjIiOm49KDAsdC5qc3gpKG8se3RoZW1lOnMsY250OnBhcnNlSW50KGkuY250Pz8iNiIsMTApLGdyYXBoOiJubyIhPT1pLmdyYXBoLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWR9KTticmVhaztjYXNlImNoYXJ0IjpuPSgwLHQuanN4KShsLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2Uic2luZ2xlX3YyIjpuPSgwLHQuanN4KShkLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2UiY29udmVydGVyIjpuPSgwLHQuanN4KShmLHt0aGVtZTpzfSk7YnJlYWs7Y2FzZSJob3Jpem9udGFsX3YyIjpuPSgwLHQuanN4KShwLHt0aGVtZTpzLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWQsaW52ZXJ0SG92ZXI6aS5pbnZlcnRfaG92ZXJ9KTticmVhaztkZWZhdWx0Om49KDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6MTYsZm9udFNpemU6MTMsZm9udEZhbWlseToic3lzdGVtLXVpLCBzYW5zLXNlcmlmIn0sY2hpbGRyZW46WyJVbmtub3duIHdpZGdldCB0eXBlOiAiLGVdfSl9cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpyLG1pbkhlaWdodDoiMTAwdmgifSxjaGlsZHJlbjpufSl9ZnVuY3Rpb24geCh7dHlwZTplfSl7bGV0IG49KDAsaS51c2VTZWFyY2hQYXJhbXMpKCkscz17fTtuLmZvckVhY2goKGUsdCk9PntzW3RdPWV9KTtsZXQgbz1lPz9zLnR5cGU/PyJmdWxsX3YyIjtyZXR1cm4oMCx0LmpzeCkoZyx7dHlwZTpvLHBhcmFtczpzfSl9ZS5zKFsiV2lkZ2V0Q2xpZW50IiwoKT0+eF0sNzkyOTQpfV0pOw=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9488.09f269f8b26b2b00a8b7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.427Z","timestamp":1785136428427,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9488.09f269f8b26b2b00a8b7.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-a1b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:33:39\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b854915da8c86d03e37f51e137ea44bb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2587,"size_decoded":1535,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2587), with no line terminators","md5":"275a3aff3912902e8be1e478039dcc68","sha1":"56cb8c5a6ac35dac135d312b22a8f19eccf84dfa","sha256":"cd8a39ef3cdfe7b217c84d018998f33c3ba27287b520ddc95b4bbe03fb4be654","sha512":"d16c152cd43b3b93c510d62f53460b1f78e47297b85227ab9f589b9d906cbf6ca86c7afa2bbc8e96298a5d1ce56229f488e750625a71241ab512eefff23b6ae7","ssdeep":"","tlshash":"92510298e5d0263a344b963e1359d5bd4274e493db42cfecf721652045c3bfb01b3628","first_seen":"2026-07-24T21:10:00.174224Z","last_seen":"2026-07-31T08:20:24.779813Z","times_seen":337,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLV8xLXgwdnM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14MHZzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzIteDB2czp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS53cmFwLXl6ajdsdktue3Bvc2l0aW9uOnJlbGF0aXZlfS5saXN0LXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7cGFkZGluZzoxNXB4IDB9Lmxpc3QteXpqN2x2S24gLml0ZW0teXpqN2x2S257Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6MTBweCAxMHB4O3BhZGRpbmctaW5saW5lOjE1cHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2hpdGUtc3BhY2U6bm93cmFwfS5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuLnNlbGVjdGVkLXl6ajdsdktue2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5pdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktue2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZToxNXB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0ubGlzdC15emo3bHZLbiAuYmx1aXNoSXRlbS15emo3bHZLbi5zZWxlY3RlZC15emo3bHZLbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLXgwdnMpO2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuOmhvdmVyOm5vdCguc2VsZWN0ZWQteXpqN2x2S24pe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteDB2cyk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS5saXN0LXl6ajdsdktuIC5ibHVpc2hJdGVtLXl6ajdsdktuLm5vUGFkZGluZy15emo3bHZLbntwYWRkaW5nOjB9Lmxpc3QtR05XNkJ2R297ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzphdXRvfS5saXN0LUdOVzZCdkdvIC5pdGVtLUdOVzZCdkdve2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MH0uY29udGFpbmVyLUhUQkpvOWJhe292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDpub3JtYWx9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGFpbmVyLUhUQkpvOWJhOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LmNvbnRhaW5lci1IVEJKbzliYTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uY29udGFpbmVyLUhUQkpvOWJhLnRvcC1IVEJKbzliYXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1027.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.636Z","timestamp":1785136428636,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1027.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2780\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:40 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 09:13:52 GMT\r\ncache-control: max-age=86400\r\netag: \"856bfdb63dc0d6fad6b92fc6a29719e1\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79197\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: tpkO5DRK_VHBFzmmNoqxZeg4Itgt-9V9M6ToC-5OHeZSOxGvfVGPNw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2780,"size_decoded":3306,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"856bfdb63dc0d6fad6b92fc6a29719e1","sha1":"2fed2e3409ce1bbbfb37f6da4abeecc30cefc021","sha256":"eebe29898b8b7de5c9e47daab474152be8095e3ab42d768b84b085c5a12b95c6","sha512":"a61c0a108d63c89ae62a2b03108480b5c08bda0e80049089a2a84cd7973bd9e94dcd2902e166b92e1d7ad5b7356357c9b181cb1b6051dd25913e82d2420154f0","ssdeep":"","tlshash":"51518cc7a707f33a9c866161bed44509f244d80a8160b31c0f33a7572c8a83ea4f324f","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-11T11:21:35.088009Z","times_seen":23213,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUxpcWx7bP///+zv8Ovu7+vu7////////+vu7////+zv8L+/v+vu7+rt7urt7uzv8Ozv7/L19u3v8Ovt7u3w8eru7uvu7+zw8e3w8aFk/+7y9Ozv8Ozu8O/y8uzv8PL19sCqquns7PD09e7u7uvv7+ft7fDy9O7y8uvu7uzu7+ru78zMzOvr7+/z8+rs7u7x8+zv8evu8O3w8e7w8uzu7+jo6+Xn5/L19vH19vL19uvu7/Dz9e7y9Ovu7+/y8/Hz9e/z9PH19vDz9Ozs7Ovw8Ovy8u3w8n////D09fH09e7x8e3w8e3w8evv7+vv8Ozv8O3x8evv7+vw8PL19e7x9Ovt7uzw8evv8O7x8u7y8+3w8uzv8C8wMIKDhBMTEzQ1NTU2Nuvu7+rt7oSFhjEyMu/y8/X4+RERES0uLoOEhfb5+jIzM/Dz9O7x8nx9fens7TAxMfP29/L19v3//+3w8fL19/z//xUVFXt8fYGCg/j8/Dc4OPT4+CQlJRQUFP7//4WGh3x9ficoKP////r9/3+AgYeJifr9/i4vLzM0NCssLPf6++nr7PT3+Hp7fCkqKiIjI35/gH1+fyorKzY3N9bY2dfa2xcXF+Xo6fn8/fv//4mKi4CBgsfJyufp6vj7/fT4+QwNDAQEBPDz9LO1tT0+PtHT1CEhIR8fH6utriMkJF1eXiYnJ0NEREVGRvX5+ra4uY+QkcHDxN7h4oyPj6WnqFNVVQcHB/Dz9WxtbpWWl8zOz77AwaGjpEtMTBsbG3d4eZyen3R2duPm53h5eujq6+Hk5ZiZmsTHyNve3rCys6msrdPV1oKEhWRlZert7xgZGZucnfj7/N3g4VpcXJKUlWZoaKChosjLzLq9vqyur/H19s3Q0TU1Nvb6+25wcGlra8rNzkFCQicnJ9nb3ODi4/L291FSU2BiYkdJSbu+vz9BQSMjI8HExezw8VdZWe/y9Kiqq7CysqSmp0xNTjo7O5aYmc3P0E5OTvT29/H09VZXWHFzc56goGJjY7i6u4a+3GEAAABbdFJOUwABAvz9+wQB/gP4BPr8/v269Nb7+hiOKe0BjuteqGLnA2H8FocVd46Q+NgFKEE/ralr74/qLiy/wv3EbW3H/oaG6+oceCh3AtPSXffQkNHOrahr9V3Pztb+/oaqvdwxAAAHE0lEQVRYw41Xd1wTZxj+wAt3AVEcQKm0bhFXW0W7696r2z8uMckll5DkIlmFpGkgCWUTCCNSFFw/91bcow7c1Vaptq6qHXbv3XR+dwG9+y5gvz8gv7t7n3vXPe/zAiA6KTHwT/TkGfcndM+IJeyxGd0T0l5MxuHFGBzc++BSAKTDR82K1bYYLLSdJO20xdCinfly2vA4eOeeENB84qDpWpvBhGFYV4KEh+gKf5oMNu20QYncAx2caBwkjh1v83eRYJwtPCoV94/AJF202RPG9gd4dEevj3qyt42WYOSdo6JpVdtvTMJk934qCsS1H/2YR7MZCUHy7EPB4LU7CCQBIR4b3U4mcBw82K1FYE6SlHbbLS3Fu0BI6rs9yD4bwR4f9TodTwrtrR8eK11Xn8W/Fk8XpaWIEaLwuAfyMeHrYQmXbKvQbFpiUvEvEp3yH4jDo5D3p/R5KK8zYk5S/jPeatcaj9AFkuyc95BU6AMuxR/OixfZhxY2qL21xZmNyyjhnfi8h3FBJmNAUr7o/bCEF7yeBUrzxg0hFXKrc/5gEMOvf99FPUX2lGW7Q69eoMw0fn0QDYLsuajv3absA5Jf6NdF/P7mxQ1yFsBcuupdBvGhS79uw0B0WwKkT78aL3bg07ccag5AZgwcbkFdiK9/Iro1DVLwfLZEnADr6iq9PAwgM1ceMCB5JCXZj4SDwPGBvR7vSorPvuo7ABrfZ3b0NsH06s/VUgoGRHCA8l+pUMvbAGAQ++rLkUd62AawLuBg4H0MIc5gk8cpvwtgzlQGrUgQxDMjE8FUWM1JtggZCB10qHkAMuP6veIs2KawzTB0iB8Tt8CHbAJ4ADLNxpVoJTr5hwyFSRihFdmT9vJtBShA5RfHTchjmHYETGJSnkScwZVcBvkAspLAYrQfJbYkWISXDJgoAZ/I247e0QYAz36/MA3YljkxIDnWhNZAxRzxhgNwygsLatvMje7PLe8I62BKHwZSt2CiDJ7iKuB06gvlezev/disaUVYvxMJAtOmgsFLEQCV6Y3FDXpori4seHuTJjNXd95drDGzzVDz1W1a8FFhS2eDBDQFlOWqQ+10egorLq6SaWqNOTqdrm5NKYQoNgYWCEuJGRJAdwuBZPBslVPu8Rzd5So2KpVKTY5u/nydLndtDRtJzTdCjrbOAxmiPt5XtVi9902FrESpVCjCAPDo5h/yyUp8uwS9QNAZINaODIIDDXIYukwBrRU8ANaN826j+8IifhD2dIB+RKcLNsDQlWFzAQALURdQXLfy80gAAu3BErfC1WaOAMzPydm9/P0yQTeBdGEIqu8vv1dTfBeBD5Bbt3z376eu8R2wx4IMWuiD3W/98Xef0SUGqNOt0Oy0GmgBK2WAeVYBgOkExRiOX/rFp6wVAuTkrjikX3JjWdZCXh0IS3e0keimH4Ihuix4tLiUi6MVgA3+n7NLQ2WNfwV5DM820mxhK1P+xuozzcw17faLlWYIwQHA4Fd89G+Z1dB0buMPRRS/lQeDVIRPKO2Zozu2k7Tf9NNmX4mLBcjRrfCdpLUW8u+Pcs5lZwm+51QwLF30OZ90eH9dzdBlJwo/qHSV1OXuzj18uyXkv7LLHfiTtKv4n3NsMoiZg3zPKua0Wl9VtbMpxJRdv1Vaunz3rsstIcPZmz6fpuQ3v8ABw1zI60koKbND1aN3eLYeZ6x/bP259uoyy7LmHYr1ZkXgoHA4SPIgpUUgVVVop0Otd1ZsazTRZc3NZa8wb20OZBpL1t9EmJ0jVRzSeieUUpbsgKSsLvAeCYYYq/bUBneN0ayp3NyM0AmkdVZbTBENFsq6uoAlVL23YV3z6YpSt9HM8tGBG1kIKU+C5lNB4shnCBGvb+V4XS93FG5aw3Gicc2OonJkut43EE5GdrjaeohGi+mCl5sMnmPs21lK3rCHVCHznRuucLz378WImb2p0MlSu7q6lhuupS50uHZ9vNfAsFSTgkfE852yNHKzoXUyadzrWsrbERhQ4kQ/US/WeNZ17HQIAxgDx9DJGl//tLRN6UWDyd3EIsuedQlqnLBG8v1cLlSrrMhKhuqsI5lHhYLOsAfm4uJGbVYHMo9thsH5EYTul606MXASqSAUmkl8odmO1FUx7zugUtW43/OrUKn7nFDqwlpKxWKblZpOr6ty1buI1O2c92yfKDyC3O9EoLXcX1Dt2rhVWAECiyD3WR9S0opEC4dl5eHKc0WihSMq8soCV556ZOUhmcLvvhWQULsrD7d0jX4MWbooa3C1heKZ78l+dEz762ccu/ZBCP7axzDU3bWPtnW09oUXz/7jJmRrIy+er9nGj0vscPEMr76Jg6ZFXn2nD5p4r9W3dfmOGz577kzh8h07a9Rw6f9ZvlkItkfx5BlpCfMy0kkiPWNeQlrqMNbxmBTx0/8BsP8D5OWd4s8AAAAASUVORK5CYII="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.52882.2898e638a68180ed6df4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.737Z","timestamp":1785136428737,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.52882.2898e638a68180ed6df4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a02f0b2-747\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 12 May 2026 09:19:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/12/2026 10:19:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 12a05ac5b00ba1ad22b36fefeb42a6c5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1863,"size_decoded":1690,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (1863), with no line terminators","md5":"b54a95821effe8d59779b9fc14228d18","sha1":"d2cbd7229e17a9b12d18689129ee09b6de60c175","sha256":"53c37f95be948df4fe80d94d0776fd26af6bf0f13d683652b1b74990e6326179","sha512":"6d4050b13aa9f106f683468ed7c071d0c67770f818a35c0245fc7121b9e6e2f75868f44a9b53f7bb110810e921f039ad158392dc1e157e8972db02bb87797d39","ssdeep":"","tlshash":"1c31ec5be30095ea2f22d646374dddc03af431a111f7d0c937860e689267d85d05dbbc","first_seen":"2026-05-05T12:17:23.709286Z","last_seen":"2026-08-11T04:45:48.881688Z","times_seen":717,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1Mjg4Ml0sezYzNTkyMyhlKXtlLmV4cG9ydHM9WyJBY2NvdW50IGlzIGZyb3plbiJdfSw5NzU4MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2Ugc3ltYm9sIl19LDQ4NzIwMShlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw1MjMyNzkoZSl7ZS5leHBvcnRzPVsiSG9saWRheSBhbGVydCwgdHJhZGVycyJdfSwxOTgwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgaGVyZSJdfSw4MjQzNDAoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIHRvIHtyZXNvbHV0aW9ufSBpbnRlcnZhbCJdfSwxMzc4MDAoZSl7ZS5leHBvcnRzPVsiUHJpY2UgY2hhcnQgaXMgb24gaXRzIHdheSJdfSw3MzA3NihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0Il19LDQwMzY3MihlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBoYXMganVzdCBsaXN0ZWQuIFN0YXkgdHVuZWQsIGl0cyBkYXRhIHdpbGwgYXBwZWFyIGhlcmUgc29vbi4iXX0sODI0MDI3KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sOTY5MDkoZSl7ZS5leHBvcnRzPVsiSG9wZSwgaXQnbGwgYXBwZWFyIG9uIHRoZSBjaGFydCBzb29uLiJdfSw3Nzg0NDgoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgaXMgbm90IHN1cHBvcnRlZCJdfSw1NDE1NzAoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHRoaXMgc3ltYm9sLiBQbGVhc2UgY2hhbmdlIHRoZSBpbnRlcnZhbCB0byBhbnkgYXZhaWxhYmxlIG9uZS4iXX0sODYwMzg5KGUpe2UuZXhwb3J0cz1bIk9ubHkge2ludGVydmFsc30gaW50ZXJ2YWxzIGFyZSBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDM3MTc3OShlKXtlLmV4cG9ydHM9WyJPdXIgc2Nhbm5lcnMgcGlja2VkIHVwIGFuIFVuaWRlbnRpZmllZCBGZXN0aXZlIE9iamVjdCBob3ZlcmluZyBvdmVyIHlvdXIgY2hhcnQuIFByb2NlZWQgd2l0aCBjaGVlci4iXX0sODMwMzg1KGUpe2UuZXhwb3J0cz1bIlN3aXRjaCB0byBhIHtyZXNvbHV0aW9ufSJdfSwyNTU3NjMoZSl7ZS5leHBvcnRzPVsiUGljayBhbm90aGVyIHR5cGUgb2YgaW50ZXJ2YWwgZm9yIHlvdXIgYW5hbHlzaXMuIl19LDQ2NTMxMyhlKXtlLmV4cG9ydHM9WyJQaWNrIGFub3RoZXIgdGltZSBpbnRlcnZhbCBmb3IgeW91ciBhbmFseXNpcy4iXX0sNTk1NTcwKGUpe2UuZXhwb3J0cz1bIlJlZHVjZSB0aGUgYm94IHNpemUgb3IgY2hhbmdlIHRoZSBtZXRob2QgdXNlZCB0byBzcGVjaWZ5IHRoZSBib3ggc2l6ZSBpbiBTZXR0aW5ncyA+IFN5bWJvbC4iXX0sNjQ2NjAxKGUpe2UuZXhwb3J0cz1bIldlIG5vdGljZWQgc29tZSBzdXNwaWNpb3VzIGFjdGl2aXR5IGZyb20geW91ciBJUCBhZGRyZXNzLCBzbyB3ZSd2ZSBoYWQgdG8gc3VzcGVuZCBpdC4gVG8gcmVzb2x2ZSB0aGlzLCBwbGVhc2Ugc2lnbiBpbnRvIHlvdXIgYWNjb3VudC4iXX0sNTkyMDE0KGUpe2UuZXhwb3J0cz1bIldlJ3ZlIG5vdGljZWQgdW51c3VhbCBhY3Rpdml0eSBvbiB5b3VyIGFjY291bnQgYW5kIGhhdmUgcmVzdHJpY3RlZCBhY2Nlc3MuIl19LDcxNjMwKGUpe2UuZXhwb3J0cz1bIlRoZSBib3ggc2l6ZSBmb3IgdGhlIHN5bWJvbCdzIHByaWNlIGFtcGxpdHVkZSBpcyB0b28gaGlnaCJdfSw1MjkzOTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sIl19LDI4MzU2MihlKXtlLmV4cG9ydHM9WyJUcnkgcGlja2luZyBhbm90aGVyIG9uZSBmb3IgeW91ciBhbmFseXNpcywgYW5kIHlvdSdsbCBzZWUgdGhlIGRhdGEgaGVyZS4iXX19XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56252.2b82f575ba1ceb54fa29.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.186Z","timestamp":1785136429186,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56252.2b82f575ba1ceb54fa29.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-53a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c75af69592d22b0d1021ebed234d6e86\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1338,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1338), with no line terminators","md5":"272e9884ff18ecde00e6bbe6ba06878b","sha1":"6a2d777adf9bfb4226124e67b1c8b6502a80d59c","sha256":"3dc13cb5344c62a4a6fec134fe9299cec0caec608238263f8e302db4d3349897","sha512":"9eca5419c42ab9d42e5bd3f970e2165b06e9be445886dc0d1a4e8130bfe731b076ed63b12ec6c8ec2fbb512a50ce326719575e5ddc215c8e035243acdd22625a","ssdeep":"","tlshash":"9821c888f3719fb3bf2325ac126ca42d79916eb8fdd2bae570b5961503e0bf18701614","first_seen":"2024-11-26T05:27:28.178302Z","last_seen":"2026-08-11T04:43:23.093072Z","times_seen":3011,"resource_available":false,"data":"Lmljb24td3JhcHBlci1kaWtkZXd3eDphY3RpdmUsLmljb24td3JhcHBlci1kaWtkZXd3eDpmb2N1c3tjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKSBhbmQgKHBvaW50ZXI6ZmluZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLXdyYXBwZXItZGlrZGV3d3g6aG92ZXJ7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfX0uaWNvbi13cmFwcGVyLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19LndpdGgtbGluay1kaWtkZXd3eHtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgKGhvdmVyOm5vbmUpIGFuZCAocG9pbnRlcjpjb2Fyc2Upey53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXMtdmlzaWJsZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9Ym9keTpoYXMoI3Rvb2x0aXAtcm9vdC1lbGVtZW50ICopIC53aXRoLXRvb2x0aXAtZGlrZGV3d3g6Zm9jdXN7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3ItaG92ZXIsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtib2R5OmhhcygjdG9vbHRpcC1yb290LWVsZW1lbnQgKikgLndpdGgtdG9vbHRpcC1kaWtkZXd3eDpob3Zlcntjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9fWJvZHk6aGFzKCN0b29sdGlwLXJvb3QtZWxlbWVudCAqKSAud2l0aC10b29sdGlwLWRpa2Rld3d4OmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX19Lm5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eHstLXVpLWxpYi1pY29uLXFpLWNvbG9yLWFjdGl2ZTp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1ob3Zlcix2YXIoLS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98084.76948764014ae1d4ccfb.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.798Z","timestamp":1785136429798,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/98084.76948764014ae1d4ccfb.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5bd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 41f66a3566d3b98919f6d4f57cf7a6e7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/80041.ff2e3df963d58c1771f5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.836Z","timestamp":1785136429836,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80041.ff2e3df963d58c1771f5.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c5beccbf84bb6ad167a1d5cb207030d1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/css/font-awesome.min.css","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.841Z","timestamp":1785136421841,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/css/font-awesome.min.css HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 6649\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":31026,"size_decoded":7034,"mime_type":"text/css","magic":"ASCII text, with very long lines (30863)","md5":"5114d0d102b713f8e16b370f322fcf50","sha1":"14f98a9a6c2dc55eefde7e93c011fb784d35142d","sha256":"60d5932905d41754e7d85f99da9e978db2e1ccf9c3e64f98c85e1b8c65bb6566","sha512":"01a609bab38cb789f279ac712cba0e6f5942a6a52890f148803bf52945031b15667272d74007a2b0c216a6723cbc206d775c0fa3a2b4dc57a7e6031110c6e808","ssdeep":"384:Uu5yWeTUKW+KlkJ5de2UYDyVfwYUas2l8yQ/8dwmaU8G:flr+Klk3Yi+fwYUf2l8yQ/e9vf","tlshash":"3fd241e8e54c01d66731c48bff81b36862b6fb3dd5854da9f01f290c29d22a512c6fb9","first_seen":"2026-07-27T04:30:36.999653Z","last_seen":"2026-07-27T11:13:26.075545Z","times_seen":5,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUzZTZlLmVvdCcpO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnRkNDFkZDQxZGQ0MWRkNDFkLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUzZTZlLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udDNlNmUzZTZlM2U2ZTNlNmUud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udDNlNmUzZTZlM2U2ZTNlNmUudHRmLmJpbicpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUzZTZlLnN2ZycpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfS5mYXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250Om5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtmb250LXNpemU6aW5oZXJpdDt0ZXh0LXJlbmRlcmluZzphdXRvOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5mYS1sZ3tmb250LXNpemU6MS4zMzMzMzMzM2VtO2xpbmUtaGVpZ2h0Oi43NWVtO3ZlcnRpY2FsLWFsaWduOi0xNSV9LmZhLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLTN4e2ZvbnQtc2l6ZTozZW19LmZhLTR4e2ZvbnQtc2l6ZTo0ZW19LmZhLTV4e2ZvbnQtc2l6ZTo1ZW19LmZhLWZ3e3dpZHRoOjEuMjg1NzE0MjllbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtdWx7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6Mi4xNDI4NTcxNGVtO2xpc3Qtc3R5bGUtdHlwZTpub25lfS5mYS11bD5saXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmEtbGl7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMi4xNDI4NTcxNGVtO3dpZHRoOjIuMTQyODU3MTRlbTt0b3A6LjE0Mjg1NzE0ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLWxpLmZhLWxne2xlZnQ6LTEuODU3MTQyODZlbX0uZmEtYm9yZGVye3BhZGRpbmc6LjJlbSAuMjVlbSAuMTVlbTtib3JkZXI6c29saWQgLjA4ZW0gI2VlZTtib3JkZXItcmFkaXVzOi4xZW19LmZhLXB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS1wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5mYS5mYS1wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLmZhLXB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0ucHVsbC1yaWdodHtmbG9hdDpyaWdodH0ucHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLnB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEucHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcn0uZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTthbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19QGtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX0uZmEtcm90YXRlLTkwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS5mYS1mbGlwLWhvcml6b250YWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7dHJhbnNmb3JtOnNjYWxlKC0xLCAxKX0uZmEtZmxpcC12ZXJ0aWNhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkiOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTt0cmFuc2Zvcm06c2NhbGUoMSwgLTEpfTpyb290IC5mYS1yb3RhdGUtOTAsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzAsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbHtmaWx0ZXI6bm9uZX0uZmEtc3RhY2t7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MmVtO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjAwMCJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZjAwMSJ9LmZhLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGYwMDIifS5mYS1lbnZlbG9wZS1vOmJlZm9yZXtjb250ZW50OiJcZjAwMyJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjAwNCJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA1In0uZmEtc3Rhci1vOmJlZm9yZXtjb250ZW50OiJcZjAwNiJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA3In0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDoiXGYwMDgifS5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGYwMDkifS5mYS10aDpiZWZvcmV7Y29udGVudDoiXGYwMGEifS5mYS10aC1saXN0OmJlZm9yZXtjb250ZW50OiJcZjAwYiJ9LmZhLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjAwYyJ9LmZhLXJlbW92ZTpiZWZvcmUsLmZhLWNsb3NlOmJlZm9yZSwuZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBkIn0uZmEtc2VhcmNoLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBlIn0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjAxMCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMTEifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtZ2VhcjpiZWZvcmUsLmZhLWNvZzpiZWZvcmV7Y29udGVudDoiXGYwMTMifS5mYS10cmFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjAxNCJ9LmZhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDE1In0uZmEtZmlsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxNiJ9LmZhLWNsb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDE3In0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTgifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTkifS5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZXtjb250ZW50OiJcZjAxYSJ9LmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjAxYiJ9LmZhLWluYm94OmJlZm9yZXtjb250ZW50OiJcZjAxYyJ9LmZhLXBsYXktY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDFkIn0uZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwuZmEtcmVwZWF0OmJlZm9yZXtjb250ZW50OiJcZjAxZSJ9LmZhLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDIxIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDIyIn0uZmEtbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMjMifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjAyNCJ9LmZhLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDI1In0uZmEtdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMjYifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDI4In0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyOSJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDJhIn0uZmEtdGFnOmJlZm9yZXtjb250ZW50OiJcZjAyYiJ9LmZhLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDJjIn0uZmEtYm9vazpiZWZvcmV7Y29udGVudDoiXGYwMmQifS5mYS1ib29rbWFyazpiZWZvcmV7Y29udGVudDoiXGYwMmUifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDoiXGYwMmYifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDMwIn0uZmEtZm9udDpiZWZvcmV7Y29udGVudDoiXGYwMzEifS5mYS1ib2xkOmJlZm9yZXtjb250ZW50OiJcZjAzMiJ9LmZhLWl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGYwMzMifS5mYS10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzQifS5mYS10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OiJcZjAzNSJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM2In0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZjAzNyJ9LmZhLWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjAzOCJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMDM5In0uZmEtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwM2EifS5mYS1kZWRlbnQ6YmVmb3JlLC5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYiJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2MifS5mYS12aWRlby1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDNkIn0uZmEtcGhvdG86YmVmb3JlLC5mYS1pbWFnZTpiZWZvcmUsLmZhLXBpY3R1cmUtbzpiZWZvcmV7Y29udGVudDoiXGYwM2UifS5mYS1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDQwIn0uZmEtbWFwLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGYwNDEifS5mYS1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDQyIn0uZmEtdGludDpiZWZvcmV7Y29udGVudDoiXGYwNDMifS5mYS1lZGl0OmJlZm9yZSwuZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NCJ9LmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NSJ9LmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NiJ9LmZhLWFycm93czpiZWZvcmV7Y29udGVudDoiXGYwNDcifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OCJ9LmZhLWZhc3QtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ5In0uZmEtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRhIn0uZmEtcGxheTpiZWZvcmV7Y29udGVudDoiXGYwNGIifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGYwNGMifS5mYS1zdG9wOmJlZm9yZXtjb250ZW50OiJcZjA0ZCJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRlIn0uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA1MCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTEifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYwNTIifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUzIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNTQifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTUifS5mYS1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU2In0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NyJ9LmZhLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTgifS5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU5In0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDVhIn0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDoiXGYwNWIifS5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwNWMifS5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwNWQifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6IlxmMDVlIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNjAifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNjEifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYwNjIifS5mYS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA2MyJ9LmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsLmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjA2NCJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGYwNjUifS5mYS1jb21wcmVzczpiZWZvcmV7Y29udGVudDoiXGYwNjYifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjA2NyJ9LmZhLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjA2OCJ9LmZhLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OiJcZjA2OSJ9LmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNmEifS5mYS1naWZ0OmJlZm9yZXtjb250ZW50OiJcZjA2YiJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMDZjIn0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDoiXGYwNmQifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZlIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjA3MCJ9LmZhLXdhcm5pbmc6YmVmb3JlLC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmV7Y29udGVudDoiXGYwNzEifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYwNzIifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYwNzMifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6IlxmMDc0In0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGYwNzUifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc2In0uZmEtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGYwNzcifS5mYS1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDc4In0uZmEtcmV0d2VldDpiZWZvcmV7Y29udGVudDoiXGYwNzkifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjA3YSJ9LmZhLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGYwN2IifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGYwN2MifS5mYS1hcnJvd3MtdjpiZWZvcmV7Y29udGVudDoiXGYwN2QifS5mYS1hcnJvd3MtaDpiZWZvcmV7Y29udGVudDoiXGYwN2UifS5mYS1iYXItY2hhcnQtbzpiZWZvcmUsLmZhLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYwODAifS5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODEifS5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgyIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OiJcZjA4MyJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDoiXGYwODQifS5mYS1nZWFyczpiZWZvcmUsLmZhLWNvZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDg1In0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtdGh1bWJzLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDg3In0uZmEtdGh1bWJzLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwODgifS5mYS1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMDg5In0uZmEtaGVhcnQtbzpiZWZvcmV7Y29udGVudDoiXGYwOGEifS5mYS1zaWduLW91dDpiZWZvcmV7Y29udGVudDoiXGYwOGIifS5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDhjIn0uZmEtdGh1bWItdGFjazpiZWZvcmV7Y29udGVudDoiXGYwOGQifS5mYS1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OiJcZjA4ZSJ9LmZhLXNpZ24taW46YmVmb3Jle2NvbnRlbnQ6IlxmMDkwIn0uZmEtdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZjA5MSJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDkyIn0uZmEtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjA5MyJ9LmZhLWxlbW9uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk0In0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk1In0uZmEtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk2In0uZmEtYm9va21hcmstbzpiZWZvcmV7Y29udGVudDoiXGYwOTcifS5mYS1waG9uZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk4In0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGYwOTkifS5mYS1mYWNlYm9vay1mOmJlZm9yZSwuZmEtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDlhIn0uZmEtZ2l0aHViOmJlZm9yZXtjb250ZW50OiJcZjA5YiJ9LmZhLXVubG9jazpiZWZvcmV7Y29udGVudDoiXGYwOWMifS5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYwOWQifS5mYS1mZWVkOmJlZm9yZSwuZmEtcnNzOmJlZm9yZXtjb250ZW50OiJcZjA5ZSJ9LmZhLWhkZC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMCJ9LmZhLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OiJcZjBhMSJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGYzIn0uZmEtY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGEzIn0uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhNCJ9LmZhLWhhbmQtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBhNSJ9LmZhLWhhbmQtby11cDpiZWZvcmV7Y29udGVudDoiXGYwYTYifS5mYS1oYW5kLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYTcifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTgifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE5In0uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjBhYSJ9LmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBhYiJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjBhYyJ9LmZhLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGYwYWQifS5mYS10YXNrczpiZWZvcmV7Y29udGVudDoiXGYwYWUifS5mYS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGIwIn0uZmEtYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZjBiMSJ9LmZhLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGIyIn0uZmEtZ3JvdXA6YmVmb3JlLC5mYS11c2VyczpiZWZvcmV7Y29udGVudDoiXGYwYzAifS5mYS1jaGFpbjpiZWZvcmUsLmZhLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMGMxIn0uZmEtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGMyIn0uZmEtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGMzIn0uZmEtY3V0OmJlZm9yZSwuZmEtc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGM0In0uZmEtY29weTpiZWZvcmUsLmZhLWZpbGVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM1In0uZmEtcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZjBjNiJ9LmZhLXNhdmU6YmVmb3JlLC5mYS1mbG9wcHktbzpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGM4In0uZmEtbmF2aWNvbjpiZWZvcmUsLmZhLXJlb3JkZXI6YmVmb3JlLC5mYS1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjBjOSJ9LmZhLWxpc3QtdWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGNhIn0uZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDoiXGYwY2IifS5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZjBjYyJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGYwY2QifS5mYS10YWJsZTpiZWZvcmV7Y29udGVudDoiXGYwY2UifS5mYS1tYWdpYzpiZWZvcmV7Y29udGVudDoiXGYwZDAifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDoiXGYwZDEifS5mYS1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMGQyIn0uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDMifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ0In0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ1In0uZmEtbW9uZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ2In0uZmEtY2FyZXQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZDcifS5mYS1jYXJldC11cDpiZWZvcmV7Y29udGVudDoiXGYwZDgifS5mYS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBkOSJ9LmZhLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBkYSJ9LmZhLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGRiIn0uZmEtdW5zb3J0ZWQ6YmVmb3JlLC5mYS1zb3J0OmJlZm9yZXtjb250ZW50OiJcZjBkYyJ9LmZhLXNvcnQtZG93bjpiZWZvcmUsLmZhLXNvcnQtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYwZGQifS5mYS1zb3J0LXVwOmJlZm9yZSwuZmEtc29ydC1hc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRlIn0uZmEtZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGUwIn0uZmEtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxmMGUxIn0uZmEtcm90YXRlLWxlZnQ6YmVmb3JlLC5mYS11bmRvOmJlZm9yZXtjb250ZW50OiJcZjBlMiJ9LmZhLWxlZ2FsOmJlZm9yZSwuZmEtZ2F2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGUzIn0uZmEtZGFzaGJvYXJkOmJlZm9yZSwuZmEtdGFjaG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGYwZTQifS5mYS1jb21tZW50LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU1In0uZmEtY29tbWVudHMtbzpiZWZvcmV7Y29udGVudDoiXGYwZTYifS5mYS1mbGFzaDpiZWZvcmUsLmZhLWJvbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGU3In0uZmEtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDoiXGYwZTgifS5mYS11bWJyZWxsYTpiZWZvcmV7Y29udGVudDoiXGYwZTkifS5mYS1wYXN0ZTpiZWZvcmUsLmZhLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGYwZWEifS5mYS1saWdodGJ1bGItbzpiZWZvcmV7Y29udGVudDoiXGYwZWIifS5mYS1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYwZWMifS5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwZWQifS5mYS1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVlIn0uZmEtdXNlci1tZDpiZWZvcmV7Y29udGVudDoiXGYwZjAifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDoiXGYwZjEifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDoiXGYwZjIifS5mYS1iZWxsLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGEyIn0uZmEtY29mZmVlOmJlZm9yZXtjb250ZW50OiJcZjBmNCJ9LmZhLWN1dGxlcnk6YmVmb3Jle2NvbnRlbnQ6IlxmMGY1In0uZmEtZmlsZS10ZXh0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY2In0uZmEtYnVpbGRpbmctbzpiZWZvcmV7Y29udGVudDoiXGYwZjcifS5mYS1ob3NwaXRhbC1vOmJlZm9yZXtjb250ZW50OiJcZjBmOCJ9LmZhLWFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDoiXGYwZjkifS5mYS1tZWRraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZhIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZiIn0uZmEtYmVlcjpiZWZvcmV7Y29udGVudDoiXGYwZmMifS5mYS1oLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmQifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmUifS5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAxIn0uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwMiJ9LmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEwMyJ9LmZhLWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTA0In0uZmEtYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTA1In0uZmEtYW5nbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTA2In0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDcifS5mYS1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZjEwOCJ9LmZhLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYxMDkifS5mYS10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBhIn0uZmEtbW9iaWxlLXBob25lOmJlZm9yZSwuZmEtbW9iaWxlOmJlZm9yZXtjb250ZW50OiJcZjEwYiJ9LmZhLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjEwYyJ9LmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uZmEtcXVvdGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBlIn0uZmEtc3Bpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYxMTAifS5mYS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTExIn0uZmEtbWFpbC1yZXBseTpiZWZvcmUsLmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjExMiJ9LmZhLWdpdGh1Yi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTEzIn0uZmEtZm9sZGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE0In0uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmV7Y29udGVudDoiXGYxMTUifS5mYS1zbWlsZS1vOmJlZm9yZXtjb250ZW50OiJcZjExOCJ9LmZhLWZyb3duLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE5In0uZmEtbWVoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFhIn0uZmEtZ2FtZXBhZDpiZWZvcmV7Y29udGVudDoiXGYxMWIifS5mYS1rZXlib2FyZC1vOmJlZm9yZXtjb250ZW50OiJcZjExYyJ9LmZhLWZsYWctbzpiZWZvcmV7Y29udGVudDoiXGYxMWQifS5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmV7Y29udGVudDoiXGYxMWUifS5mYS10ZXJtaW5hbDpiZWZvcmV7Y29udGVudDoiXGYxMjAifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjEyMSJ9LmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSwuZmEtcmVwbHktYWxsOmJlZm9yZXtjb250ZW50OiJcZjEyMiJ9LmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSwuZmEtc3Rhci1oYWxmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTIzIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDoiXGYxMjUifS5mYS1jb2RlLWZvcms6YmVmb3Jle2NvbnRlbnQ6IlxmMTI2In0uZmEtdW5saW5rOmJlZm9yZSwuZmEtY2hhaW4tYnJva2VuOmJlZm9yZXtjb250ZW50OiJcZjEyNyJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9LmZhLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxmMTI5In0uZmEtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMTJhIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJiIn0uZmEtc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYyJ9LmZhLWVyYXNlcjpiZWZvcmV7Y29udGVudDoiXGYxMmQifS5mYS1wdXp6bGUtcGllY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMTJlIn0uZmEtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGYxMzAifS5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjEzMSJ9LmZhLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGYxMzIifS5mYS1jYWxlbmRhci1vOmJlZm9yZXtjb250ZW50OiJcZjEzMyJ9LmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZXtjb250ZW50OiJcZjEzNCJ9LmZhLXJvY2tldDpiZWZvcmV7Y29udGVudDoiXGYxMzUifS5mYS1tYXhjZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTM2In0uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMzcifS5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMzgifS5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMzkifS5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEzYSJ9LmZhLWh0bWw1OmJlZm9yZXtjb250ZW50OiJcZjEzYiJ9LmZhLWNzczM6YmVmb3Jle2NvbnRlbnQ6IlxmMTNjIn0uZmEtYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZjEzZCJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTNlIn0uZmEtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQwIn0uZmEtZWxsaXBzaXMtaDpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5mYS1lbGxpcHNpcy12OmJlZm9yZXtjb250ZW50OiJcZjE0MiJ9LmZhLXJzcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uZmEtcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ0In0uZmEtdGlja2V0OmJlZm9yZXtjb250ZW50OiJcZjE0NSJ9LmZhLW1pbnVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDYifS5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYxNDcifS5mYS1sZXZlbC11cDpiZWZvcmV7Y29udGVudDoiXGYxNDgifS5mYS1sZXZlbC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE0OSJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGEifS5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0YiJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0YyJ9LmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGQifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjE0ZSJ9LmZhLXRvZ2dsZS1kb3duOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNTAifS5mYS10b2dnbGUtdXA6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmV7Y29udGVudDoiXGYxNTEifS5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNTIifS5mYS1ldXJvOmJlZm9yZSwuZmEtZXVyOmJlZm9yZXtjb250ZW50OiJcZjE1MyJ9LmZhLWdicDpiZWZvcmV7Y29udGVudDoiXGYxNTQifS5mYS1kb2xsYXI6YmVmb3JlLC5mYS11c2Q6YmVmb3Jle2NvbnRlbnQ6IlxmMTU1In0uZmEtcnVwZWU6YmVmb3JlLC5mYS1pbnI6YmVmb3Jle2NvbnRlbnQ6IlxmMTU2In0uZmEtY255OmJlZm9yZSwuZmEtcm1iOmJlZm9yZSwuZmEteWVuOmJlZm9yZSwuZmEtanB5OmJlZm9yZXtjb250ZW50OiJcZjE1NyJ9LmZhLXJ1YmxlOmJlZm9yZSwuZmEtcm91YmxlOmJlZm9yZSwuZmEtcnViOmJlZm9yZXtjb250ZW50OiJcZjE1OCJ9LmZhLXdvbjpiZWZvcmUsLmZhLWtydzpiZWZvcmV7Y29udGVudDoiXGYxNTkifS5mYS1iaXRjb2luOmJlZm9yZSwuZmEtYnRjOmJlZm9yZXtjb250ZW50OiJcZjE1YSJ9LmZhLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTViIn0uZmEtZmlsZS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjE1YyJ9LmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE1ZCJ9LmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNWUifS5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYwIn0uZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjEifS5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MiJ9LmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MyJ9LmZhLXRodW1icy11cDpiZWZvcmV7Y29udGVudDoiXGYxNjQifS5mYS10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjUifS5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNjYifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZjE2NyJ9LmZhLXhpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMTY4In0uZmEteGluZy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY5In0uZmEteW91dHViZS1wbGF5OmJlZm9yZXtjb250ZW50OiJcZjE2YSJ9LmZhLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMTZiIn0uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTZjIn0uZmEtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZjE2ZCJ9LmZhLWZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGYxNmUifS5mYS1hZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTcwIn0uZmEtYml0YnVja2V0OmJlZm9yZXtjb250ZW50OiJcZjE3MSJ9LmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTcyIn0uZmEtdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZjE3MyJ9LmZhLXR1bWJsci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc0In0uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE3NSJ9LmZhLWxvbmctYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTc2In0uZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE3NyJ9LmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTc4In0uZmEtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc5In0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGYxN2EifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjE3YiJ9LmZhLWxpbnV4OmJlZm9yZXtjb250ZW50OiJcZjE3YyJ9LmZhLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OiJcZjE3ZCJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjE3ZSJ9LmZhLWZvdXJzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgwIn0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODIifS5mYS1tYWxlOmJlZm9yZXtjb250ZW50OiJcZjE4MyJ9LmZhLWdpdHRpcDpiZWZvcmUsLmZhLWdyYXRpcGF5OmJlZm9yZXtjb250ZW50OiJcZjE4NCJ9LmZhLXN1bi1vOmJlZm9yZXtjb250ZW50OiJcZjE4NSJ9LmZhLW1vb24tbzpiZWZvcmV7Y29udGVudDoiXGYxODYifS5mYS1hcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZjE4NyJ9LmZhLWJ1ZzpiZWZvcmV7Y29udGVudDoiXGYxODgifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxOGEifS5mYS1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6IlxmMThiIn0uZmEtcGFnZWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjE4YyJ9LmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OiJcZjE4ZCJ9LmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE4ZSJ9LmZhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTkwIn0uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MSJ9LmZhLWRvdC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxOTIifS5mYS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjE5MyJ9LmZhLXZpbWVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTQifS5mYS10dXJraXNoLWxpcmE6YmVmb3JlLC5mYS10cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMTk1In0uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYxOTYifS5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZXtjb250ZW50OiJcZjE5NyJ9LmZhLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZjE5OCJ9LmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTkifS5mYS13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTlhIn0uZmEtb3BlbmlkOmJlZm9yZXtjb250ZW50OiJcZjE5YiJ9LmZhLWluc3RpdHV0aW9uOmJlZm9yZSwuZmEtYmFuazpiZWZvcmUsLmZhLXVuaXZlcnNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMTljIn0uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSwuZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTlkIn0uZmEteWFob286YmVmb3Jle2NvbnRlbnQ6IlxmMTllIn0uZmEtZ29vZ2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMCJ9LmZhLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYxYTEifS5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFhMiJ9LmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxYTMifS5mYS1zdHVtYmxldXBvbjpiZWZvcmV7Y29udGVudDoiXGYxYTQifS5mYS1kZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWE1In0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDoiXGYxYTYifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OiJcZjFhNyJ9LmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjFhOCJ9LmZhLWRydXBhbDpiZWZvcmV7Y29udGVudDoiXGYxYTkifS5mYS1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMWFhIn0uZmEtbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWFiIn0uZmEtZmF4OmJlZm9yZXtjb250ZW50OiJcZjFhYyJ9LmZhLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OiJcZjFhZCJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZjFhZSJ9LmZhLXBhdzpiZWZvcmV7Y29udGVudDoiXGYxYjAifS5mYS1zcG9vbjpiZWZvcmV7Y29udGVudDoiXGYxYjEifS5mYS1jdWJlOmJlZm9yZXtjb250ZW50OiJcZjFiMiJ9LmZhLWN1YmVzOmJlZm9yZXtjb250ZW50OiJcZjFiMyJ9LmZhLWJlaGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWI0In0uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI1In0uZmEtc3RlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMWI2In0uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNyJ9LmZhLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI4In0uZmEtYXV0b21vYmlsZTpiZWZvcmUsLmZhLWNhcjpiZWZvcmV7Y29udGVudDoiXGYxYjkifS5mYS1jYWI6YmVmb3JlLC5mYS10YXhpOmJlZm9yZXtjb250ZW50OiJcZjFiYSJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtc3BvdGlmeTpiZWZvcmV7Y29udGVudDoiXGYxYmMifS5mYS1kZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OiJcZjFiZCJ9LmZhLXNvdW5kY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWJlIn0uZmEtZGF0YWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWMwIn0uZmEtZmlsZS1wZGYtbzpiZWZvcmV7Y29udGVudDoiXGYxYzEifS5mYS1maWxlLXdvcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxYzIifS5mYS1maWxlLWV4Y2VsLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMzIn0uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM0In0uZmEtZmlsZS1waG90by1vOmJlZm9yZSwuZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLC5mYS1maWxlLWltYWdlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM1In0uZmEtZmlsZS16aXAtbzpiZWZvcmUsLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNiJ9LmZhLWZpbGUtc291bmQtbzpiZWZvcmUsLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmV7Y29udGVudDoiXGYxYzcifS5mYS1maWxlLW1vdmllLW86YmVmb3JlLC5mYS1maWxlLXZpZGVvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM4In0uZmEtZmlsZS1jb2RlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM5In0uZmEtdmluZTpiZWZvcmV7Y29udGVudDoiXGYxY2EifS5mYS1jb2RlcGVuOmJlZm9yZXtjb250ZW50OiJcZjFjYiJ9LmZhLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OiJcZjFjYyJ9LmZhLWxpZmUtYm91eTpiZWZvcmUsLmZhLWxpZmUtYnVveTpiZWZvcmUsLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLC5mYS1zdXBwb3J0OmJlZm9yZSwuZmEtbGlmZS1yaW5nOmJlZm9yZXtjb250ZW50OiJcZjFjZCJ9LmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZXtjb250ZW50OiJcZjFjZSJ9LmZhLXJhOmJlZm9yZSwuZmEtcmVzaXN0YW5jZTpiZWZvcmUsLmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OiJcZjFkMCJ9LmZhLWdlOmJlZm9yZSwuZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWdpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQyIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLC5mYS15Yy1zcXVhcmU6YmVmb3JlLC5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDoiXGYxZDQifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OiJcZjFkNiJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ4In0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDoiXGYxZDkifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OiJcZjFkYiJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGYxZGMifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDoiXGYxZTMifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDoiXGYxZTUifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OiJcZjFlNiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjFlOCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWU5In0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYxZWIifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZjFlZSJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxmMWYwIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxZjEifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDoiXGYxZjIifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OiJcZjFmMyJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZjQifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWY1In0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjYifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWY3In0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY4In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWZjIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjFmZSJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDoiXGYyMDIifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjIwMyJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMjA0In0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OiJcZjIwNSJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYnVzOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjA4In0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OiJcZjIwYSJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDoiXGYyMGMifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9LmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZXtjb250ZW50OiJcZjIwZSJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS1tb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIxYyJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uZmEtaW50ZXJzZXg6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjI1In0uZmEtdmVudXMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLXZlbnVzLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjI4In0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZXtjb250ZW50OiJcZjIzMCJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS11c2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM0In0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS1ob3RlbDpiZWZvcmUsLmZhLWJlZDpiZWZvcmV7Y29udGVudDoiXGYyMzYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEteWM6YmVmb3JlLC5mYS15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjNiIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGYyM2MifS5mYS1vcGVuY2FydDpiZWZvcmV7Y29udGVudDoiXGYyM2QifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtYmF0dGVyeS00OmJlZm9yZSwuZmEtYmF0dGVyeTpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDoiXGYyNDAifS5mYS1iYXR0ZXJ5LTM6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWJhdHRlcnktMjpiZWZvcmUsLmZhLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNDIifS5mYS1iYXR0ZXJ5LTE6YmVmb3JlLC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQzIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjI0NSJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDoiXGYyNDkifS5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZXtjb250ZW50OiJcZjI0YSJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDoiXGYyNGIifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDoiXGYyNGMifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OiJcZjI0ZSJ9LmZhLWhvdXJnbGFzcy1vOmJlZm9yZXtjb250ZW50OiJcZjI1MCJ9LmZhLWhvdXJnbGFzcy0xOmJlZm9yZSwuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZXtjb250ZW50OiJcZjI1MSJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjUyIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGYyNTQifS5mYS1oYW5kLWdyYWItbzpiZWZvcmUsLmZhLWhhbmQtcm9jay1vOmJlZm9yZXtjb250ZW50OiJcZjI1NSJ9LmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwuZmEtaGFuZC1wYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9LmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZXtjb250ZW50OiJcZjI1OCJ9LmZhLWhhbmQtc3BvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTkifS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNWEifS5mYS1oYW5kLXBlYWNlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjViIn0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OiJcZjI1YyJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDoiXGYyNWUifS5mYS1nZzpiZWZvcmV7Y29udGVudDoiXGYyNjAifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjYxIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjYyIn0uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDoiXGYyNjMifS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyNjQifS5mYS1nZXQtcG9ja2V0OmJlZm9yZXtjb250ZW50OiJcZjI2NSJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGYyNjcifS5mYS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY4In0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDoiXGYyNjkifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyNmIifS5mYS10djpiZWZvcmUsLmZhLXRlbGV2aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjZjIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzIifS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MyJ9LmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjc1In0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGYyNzYifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjc3In0uZmEtbWFwLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc4In0uZmEtbWFwOmJlZm9yZXtjb250ZW50OiJcZjI3OSJ9LmZhLWNvbW1lbnRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMjdhIn0uZmEtY29tbWVudGluZy1vOmJlZm9yZXtjb250ZW50OiJcZjI3YiJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OiJcZjI3YyJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDoiXGYyN2UifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjgwIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjgyIn0uZmEtY3JlZGl0LWNhcmQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjI4MyJ9LmZhLWNvZGllcGllOmJlZm9yZXtjb250ZW50OiJcZjI4NCJ9LmZhLW1vZHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjg1In0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjI4NiJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OiJcZjI4YSJ9LmZhLXBhdXNlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGIifS5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGMifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1zdG9wLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI4ZSJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjkxIn0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDoiXGYyOTIifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjkzIn0uZmEtYmx1ZXRvb3RoLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk0In0uZmEtcGVyY2VudDpiZWZvcmV7Y29udGVudDoiXGYyOTUifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk2In0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5mYS13cGZvcm1zOmJlZm9yZXtjb250ZW50OiJcZjI5OCJ9LmZhLWVudmlyYTpiZWZvcmV7Y29udGVudDoiXGYyOTkifS5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZjI5YSJ9LmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjI5YiJ9LmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI5YyJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjJhMCJ9LmZhLWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmExIn0uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZXtjb250ZW50OiJcZjJhMiJ9LmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5mYS1kZWFmbmVzczpiZWZvcmUsLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsLmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMmE0In0uZmEtZ2xpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmE1In0uZmEtZ2xpZGUtZzpiZWZvcmV7Y29udGVudDoiXGYyYTYifS5mYS1zaWduaW5nOmJlZm9yZSwuZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDoiXGYyYTcifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjJhOCJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZjJhYiJ9LmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjJhYyJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWQifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9LmZhLWZpcnN0LW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZjJiMCJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLC5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyYjMifS5mYS1mYTpiZWZvcmUsLmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5mYS1oYW5kc2hha2UtbzpiZWZvcmV7Y29udGVudDoiXGYyYjUifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWVudmVsb3BlLW9wZW4tbzpiZWZvcmV7Y29udGVudDoiXGYyYjcifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uZmEtYWRkcmVzcy1ib29rOmJlZm9yZXtjb250ZW50OiJcZjJiOSJ9LmZhLWFkZHJlc3MtYm9vay1vOmJlZm9yZXtjb250ZW50OiJcZjJiYSJ9LmZhLXZjYXJkOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjJiYiJ9LmZhLXZjYXJkLW86YmVmb3JlLC5mYS1hZGRyZXNzLWNhcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyYmMifS5mYS11c2VyLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyYmQifS5mYS11c2VyLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjJiZSJ9LmZhLXVzZXItbzpiZWZvcmV7Y29udGVudDoiXGYyYzAifS5mYS1pZC1iYWRnZTpiZWZvcmV7Y29udGVudDoiXGYyYzEifS5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLC5mYS1pZC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjJjMiJ9LmZhLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSwuZmEtaWQtY2FyZC1vOmJlZm9yZXtjb250ZW50OiJcZjJjMyJ9LmZhLXF1b3JhOmJlZm9yZXtjb250ZW50OiJcZjJjNCJ9LmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZXtjb250ZW50OiJcZjJjNSJ9LmZhLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OiJcZjJjNiJ9LmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlLC5mYS10aGVybW9tZXRlcjpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMmM3In0uZmEtdGhlcm1vbWV0ZXItMzpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJjOCJ9LmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjJjOSJ9LmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlLC5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjJjYSJ9LmZhLXRoZXJtb21ldGVyLTA6YmVmb3JlLC5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNjIn0uZmEtYmF0aHR1YjpiZWZvcmUsLmZhLXMxNTpiZWZvcmUsLmZhLWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMmNkIn0uZmEtcG9kY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyY2UifS5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQwIn0uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMSJ9LmZhLXdpbmRvdy1yZXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjJkMiJ9LmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGYyZDMifS5mYS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZXtjb250ZW50OiJcZjJkNCJ9LmZhLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OiJcZjJkNSJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ2In0uZmEtZXRzeTpiZWZvcmV7Y29udGVudDoiXGYyZDcifS5mYS1pbWRiOmJlZm9yZXtjb250ZW50OiJcZjJkOCJ9LmZhLXJhdmVscnk6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ5In0uZmEtZWVyY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyZGEifS5mYS1taWNyb2NoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmRiIn0uZmEtc25vd2ZsYWtlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmRjIn0uZmEtc3VwZXJwb3dlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMmRkIn0uZmEtd3BleHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyZGUifS5mYS1tZWV0dXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmUwIn0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3twb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttYXJnaW46MDtvdmVyZmxvdzp2aXNpYmxlO2NsaXA6YXV0b30K"}},"time_used":541,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":541,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/plan_images.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.052Z","timestamp":1785136422052,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/plan_images.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7312\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":7312,"size_decoded":7653,"mime_type":"image/png","magic":"PNG image data, 80 x 80, 8-bit/color RGBA, non-interlaced","md5":"b62b3eb5a1ca1af328f9b1790627c7e1","sha1":"2644f54b247a7f5e407f3730c455108c554d2a66","sha256":"3475292185e6af3118e93763fe8627fea8c66cc72165afdb29a76a3e716084dd","sha512":"fe3702c47d0104ba9fd6d8c146ac63d88c60d1c50d5807fb25810e08e80dedafbf3d542c10064281210aea0ecc7d59d52deb2886810360263997e412c9b13907","ssdeep":"192:xME0nOg/lHM+rSo5/b4RHffsCZhZSo3GJ:xB0dlsqlb4pXsCBd3GJ","tlshash":"fae19f847f50bb09a3cc9b56bc930135c5224840e19d7bdfa1bbdc9e723d1a0542b9ee","first_seen":"2025-12-03T04:46:43.746905Z","last_seen":"2026-07-29T06:14:00.436095Z","times_seen":10,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxODhjODMxMy00ZjA5LTcwNDEtYWJlNS0wMzA5ZWEwYjA4OTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDdDMDA2QTVCRTBBMTFFNzlGMzBBM0M4Nzk0OTQ3OEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDdDMDA2QTRCRTBBMTFFNzlGMzBBM0M4Nzk0OTQ3OEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZDE4ZWVkZmItZmQyZC1hOTQzLTk5MDMtNzJmYzM4ZDVkNjJhIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4OGM4MzEzLTRmMDktNzA0MS1hYmU1LTAzMDllYTBiMDg5MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlWixIMAABiwSURBVHjazF0JmFTVlf7fWmtX7xuNNIusIiiL4h5CXHCPUSeRaMaMiVnINlGzTDJJTDL6mcyo2ZgMJmr8MolGHWNcooIgBgEFZBdZGmigoffuWt/+5txb1UDbXfWqqkvxfh66uvot9/3vLP85d1G4795HkV8TSFyIgnvsG1dw4Ajsp/ueIwWotojdlf14fuZe+BQdtiPxv5muCJ9gQxRdaDZ9Jwh1SUuplwS72nalqYYrjqJ7jEvaSp3litLl1XtRpybitit20ulHM7KTpIukg6Qta5fpHm5bCIJO9wlYQLUGyC57jJI1uXd8S574UWccEVoiApF+dUjKkn74DQU+U+agDeBoE7Br6jvw+intBJSDgCtQn92Bd1CTcNTzLFuYnrCVBbojn2G7QoT+KvED3OP3Y787rsBPG6axA+Iku0mWk2wmeYNkHz7AJh8+68089c+F4UrYFG2ET7T4Z8lQoegqylIEpK6gmgCN0OfDej+2VCVAysZfuCC4StxWP5mw1ctStjzfdKVGuBmlHqQOGZDzN4kyklkZQQbQf5C8SvJYRlvfXwBFS84bQJGBRlooETIyiSHZSAZ19IQ0kIFA4SYtoG5rkCxGgQGnPGr7vtlpBa8mk5yZBs0tFKhCWpjksox8g+RFut+9dLvdpTTbQQCO5GSBzEsiEQkNkX4qBB7TOksRR/X7xBs7ZHmxbYkTitCuUrRGepufFWq1q5GSl0KT/oe+21/qm4iluxB/xWV9hv+7Wxp9m4+US/fbECakTdTFSWuSW4My4zsUQN6mz0upK+M+dAAy8JKOcn2rFlnXYYR+SsDVnEzMhoQah6t+BcltJG+T3EHiO+kAZrSuqsMMPtymh/+ScpSp+NAgl7WVk/yMZCXJWSfNBzI+mLTlsw7pkcc0W550LDgUpSWMm9np810n/Tv3mSJ0R6eIr8MkLXI4eaJgRoxHpL9JgsQ/F9nmZaL110ke+kABlAisXlNddEArX0IEtwxCEcA5BJhrcUAUOYgmtRI1ShCNagSTA9UIS0SJZB/Oi4QQkQRE7ShJP46ah3BQ388/91hd6Ld7+eUUQYUsFPw4IZKlJDMyQDrvG4BChspIdI8jRujOw1rkPifDjAvSNMfg5zQH63Fh+VjMCY/GxRWnotlfgaCo5n0pi8DvtbqxPfU23k1tx7vaNhw2Wql/ElTRB6GwkP8VkjEkt5BEC2Ii/7znqvwUxmWdlvBa35i7D2tl3y9I6zhwOiTSqssqJ+Lq6mm4oWY6KknzStUSTgxvxFZgQ2IttiY30i2dYoB8heSfSHpLBqDAwROwJ1UBMtm7D2mRwsCzDaiSDzfXn4nPNZyFs8tOed+jxKbkW3ip7xkOJHcRglrI6a+RXEfSk5cJ5wMFpWJktuE7DmnlBF6ebsKxeGC4vOY03DP2MswINX5gYfaM4Fwu76Q249HOJdin74ZfDFDAyYt0XETyZ5LLmafwxOb8rbd4BAwHxO0+9W6i+o/k84S8fJ6to85XgfvGLSTNm8UzlZPVkk4CL/Y9jed6/8KjuSrkTf9+l+GNufGp+vxcGI40rFiUl/WZ/tm7klVPOSCH4gmey02Wad3jUxdhAQUH4SSCNxCdpwVmYkpgOnbrO3jkVgQln1NZgULPFCeyA1h7+2x6bGGIMO9nu0JFi1axzHTlek/wGH9zTHy7+WN4aOL1RElCHyr2XKPU46zwBThEFOigsT9fvzg/UyLLWvMTpmy8PWuWcdQIP9JjBD7jGTTI1zHI7xt/Be5ouqBwHm3G4cT3w0m0wjX6+IvgL4Qok5ZIwrbp+kLaf4lKAHKkGWrVVMhFBCTTNbCk/T6spogdFPN6yXtJziHpHDaIsAg7HFGm3PbaHjMf8Bzumh+adCNurZ9VGHBGD/TtD8LqfAOu1k3vQUtzWTftDgRyub2dPTBSOiUlwvF6tyhDJN6oVkxA1VnfQuCU+QWZ9Jfrv0O+0I9Xoy8gJIa9TmHVpLtJvjisCVu3XoSErR6TJBNH8RN4T1GWUe3p80hbfjbhanyp8ewC1Y60a+N3Ye7/SzpiU1omSCqBo6Z/EvVhousuQUqAyf5j3wmiwn2tGT2ARMsLCDYvgByqLyANFTEzNBdtRLz363sIVM/AMpvkBQwzfCCP8/cP0b52I3gnme4kT+2jh/h288X4ZtP5BZuS3b8D1tGVENQKnvMWXoykPFgJU8DvIxCfh692RoHBRcHt9Xegm4LKPm0XfKLfiw4vIWH+KTXoZTDvNSAsNUs68rg2I/zv3uBpuJSi7U/HXlJc/SDVTiZrFAfeII4qw4ofKupcZr5frL8TIYlehGvlo4VDOJ8oZmpaDGKZOF+v6f+a44i5c2S6WZ2vEr+ZcE3xHE8KHAsMIy34MU0sto1Wm3FTzeeIIxr5HM6GCQaVf0RFsMHER7pIAaWhmwcO70rKzydcgfH+quILxeGxEOglpMtYIwNQrZw0oivMjyzErNA50JyU16GTSW4aBKCTMV3WkU4z+DXTkSpycj4yu0trpmNR7RkjM73gKEiVMwg/fQTYkfbJQfgKjP7DtVtrv4wyqZyUyPOFfvVELRR1yjiYJG0l0GP6P+4VORWKkA+Mu6Ik6ZlUO6+YEtwJhqAReGdSADl9xH2pVRpwScXVSLmeWjgnkycf10DW+i3fTSlbmZwzeJD2fbp+NqYEa0uTZo25FmLolDRxLgpBC5GpZFGCXJL+XFh2Caqk6ny0cNFxSpSZrhG31cu9fI1CXGxx47ySpVeCUgZ1/KfJjFNFYJeCn7QvPOmGkvWnjrTwnLL5+WjhAnY4B5DxPgoedURfLsxplaR9H62ciFnhUSXNUdXxn0K4/hz4yIH7iQW8V3xgYmd+ZsQ1EZBkjDr/x5x0l7LNj1xKvjCSGX/JnlqTfIQTaYZZ3FbONxy5JnfBwMUniPeVuqXIH+8buxh657fhaElOkNO1jHQdJ0aUyYQfx0fl08MCZdMWwa6YwevwpWxjfBNwemA21sVX8RpijsayhydkRqA1Rznj+FyV4YsFpwTrcX319NLW6kirr177CF5v3wdROxNOikzHcuDqRGotOz1Id5wxH+sfx3drNwJb78LShbfhhlNnl7Rf04IzsCa+0uuwhSQ+VnQRyXwX5HY4Jj5SPg6VcqCkHT2qx7C8fTcM4qFaSIVRUwGjoRJmUzXMxiqYteWwKsKw/H5YpJmWI8KyBJgkhpZCf28nnn53fcmtYk7oXFRIlV5m3MwUVjYcqS5ly6d7pW5zwk0l7+joYDVuHTMLq1tfg+TKx01A5skq/9WxHc61XQKN8i3STpvSQJPM3UCwtga3z7qs5P2qJG9Wr45CC+XIYva6IavKNsu6K9Xbbq7CGDF9IquXUAApdVO1diy1Xke/tJblREM8CC9n9fXB0HX+mZtxpuuuaEIlOtXs7M8oQ+ka877N6gTsSu3wKrzOESkC17u5MnpK20b5yjHWX1nSTtpdbyG+6mYkj6wkZy1TmHAGR9qMqBSBVTcjxPsGxM+6nDiCfX+9Eb1v3ZeZzVC6NjmQl7+fK1quONWL/9WQBvpLRFZ5Vfjgs0iu+RLcZBuZaxCMtp5YFXpvhWg44RNBWO2QwO9e81N0vLq4eEI+TGtQmqDS9d3cQxlNLBM5JTd7cdGohkvWMattGVIbv5+eoSD5S2BvEkRfBNHtj6Fz1bdK1s+wVAaf4PcCMCwarjTOK/+dFKgpjdl2riXwvpv2daJSUq8lkpvp3/owul//Tkmu6BN8RJIVL9fgFzVbjuSOwC7KS0BfHDLX1AZ6OErBvMCT6J5BykLCZB9hojjMyBXPogOBqITQu2kJojseHXF/WfCQeE9ytgCbmSB6lHwRGmm6RL5J2/QDIspHKe8P5ei0y9O3XkfGmlQQbbaKmO5DgNK86WIMzWKSDbXy7GX4vop0/SC6V/+Q8uTZUEdA/HnU9644qZTKufy/XFo40tKV0fJHWEdX8eJBthYibTtsKVjSW4tn4+XYrpPWm1Z6VpNPRbWo4TypFzcrB3GB1EUJvwhnmH6xoGITQe9ceQcar3ocolqO97EJos0rWm7OIJKwjeL9Xt870N/5FdeMbK2MzPTv8TKcs38K7uloxHaNwLNNnDVqNG45bQqPud22gmeNUfhkci5+pE8hH+VkNTBRCSJ5aDX6tywdSa0WeUxjMUW/yEd2ch6lFU0PXBi7fktZRCJdJBhO8wic11CFG/un4bBOVEmy0xE6GcNt02bh4QUXo8ZPLsRmk5V0OtrFEv1U3KFPJyfvZvU/ohpB/6bfwowWt+7Gcg26l+1lexoBaLbmBJr8ygG9r2iybLUtz6p9KhlhK1Hom+wZSNRVQiwnoAwD06rr8V8LP4VrJpwGZqhvffxK/N/ll+C0SiLzNgEsmPhffSweMsdSsLGydJty51QX+jY8WBxXdSldZGzTQ7dEEe5BryDSovUW5/v2PEqmYGd1xgq9ufvdcWhzQ6RNpFt1YdQ21OKFK2/GN85egLpwBHFNR3NZGa6ddCqq/P7MlA92SRu/NsbhqOun1Hl4DWAvLr73eVhFaCGb1cXmZwu5Y2xK9on2ztwoi+i2kqTSDj1k/sOQDvk+i3ifkIUss4dup2TtCaeB5yHp+eUWrjz9DDTXNkInE77p74/jzSP70UQATimPYENXN5n4gCtw0GkH8KTVhK8oexFz5WG10E52oH/bI6g+90cFAdhldcAgAD0G3LsZIgeFXDZMoLUbcfRZWmEm0PoMnzSULc1mue8/3EoC0c/nXQ/USsskhf+U6OGr/EEcisWw7kArHt22A0luvoPf9lt2xbDR+LgWBpBoeRFOgW7ogL6X+0CPtlVUBKdLEFw9F4C9Rj9WRVvyDx1MYzvX8Hks2Wmvi7cR4VPphBMoyHPte9GV6IOsqFi64DrsWPRpfO/cuWisiJBnt4YEqXbXBz0H0WIlf6N3NxJ7ny0IwF3adk6kPdoakUy4jeRgTm/pOFjRn78fsY6ugB3dw0KhRzl/8D0l8sgtBN6V65/By0f38u+m1tbhx+fMxZqPX4W59XXpIHICgMx0NVdCbisSkGxdmb/vdjQcNdog5S6gsBvuElXR1sKSsSxnJCZzWhc75JVYD4q+x5x9jhYZxkRkSca63iO4dN2TOP+NP+MPB3YRqzHRXFmO782amSbWJ+hxBUXkAAtAucyYLEFr3whH68qr/9tTm9BptXutO2GR9aDIUiOfYG/MeUUyrQ3RA6SFeZgxAefEWrg55gSZHnie0EdGYg95LRLzg46N1R0t+MzmNdgci3PgmgIBhvCJAyVoFDROh3IzMTYB6TD0ji15Afh2kuiX68l92Wz+HpkBGJCsdZLomPRZyeaxHCK3f+rcgo+WT8gdfbUO2LF9ngUD5rfORh+ayZBbEKSo7MAi0CaHq/DojIvxclcr1vd3YFpAwXgGHJnhYT7oRH5QOX7t+XJXbvMd8LgU4c1YK7zKIgknjm3JjflMRn+ZWwxbJE0+cEtQMt+Mmb7zsqZ15M9e6NmJLjPJl2RlVcAEuVOz39P/MQ2sgolbxDb80JnMaQnTuullNTi7fgLObphIYJEW6PvZXDj0EHj/2XmIwjRBkDT4CxorxXCVdJTy4nzWy7mwE0c8j1oTW4nDxgEEc89cZdFsLYfFdCW+Aikomiu9CpdtyS482rHRIwInMuTZu7GqypeEA5gl9FCPZG66L3fux01vPo1f7lyNzT2HYFo27t/fgnPWv4FV/d2QmyrTIBLed/n2UB5teSdcGTZhxdtyWwUFjxXRF/OZgM4mnm9Ks2S43C9XKtrvZNGOevnCB9pWI2rn4ISOhXybRQ9eSf8+IW7CRCEOmzoep5z3Twe346sbn8MzRGkYH/zmrm3YFY9CZukZCeor8YOynbhWakPSzXe1JrkhI57ziPWJ1dijvZMPgH87bpiiA4UkJJn7ymX9ZbhCTgAPJTvxYNuaHNXQwmqHSXqHY0kXnxfXY4HQQbeX+TgJ/GV4qfsw7tqzjTRT5de16MEaiGP+Ovo6Fgt7oQ2sWM6LnDp8YnpW6kJU+IW+p/MBj21kcaxiK/tFK5OwuWj0JX7RYwauy1lkJd/zk9bluKZ6KmYEG4b+OdhE1h5MT5zMI/VjrytBpsxAfFbcgJfcWvzebcJ2qQwbe/ZjTZeLOrrMaCeJy7UDuC61F6PsBKJCoUMCLpRI9tGLl/r+Stq3M5+lD3/ACUseZMMRjz1KQLReJy1c0Wf6F2QNJgSKYen42t7nsHz6v0B8T2olhsdBqpgKq3sDARnI07jAtYm9xGuFdlxF0kvkpId8Yk9PDIFUnEzdQMC1KHpLSBQBHrOebPMIW/UWPNXzGPyCZ39ZPvjAoOe1XRFpESiYCBRhk/d5+mQyp5U97+Dew68NC7Ay5pqMLyxsrJbltHECSCMJkW8cR1o53omh0tV4thwn4MyC51WnfV+gYS78o84btmz1+85f8sKB6H3tJ0iODC61YKD2n94lKCyZKypk7ZWcvjBDa+7e/wqW9e0dWqZq/gTU8YvgGtGi5kC7GZpjUPeYWFw3ixtWcMwEX0NSc97wU+Ge6H6Yr+r0qLqwxiLQfwyBYWCng7RwSmo2qPHFRKwNL1qgk5Z9cucfsX6YZQb+mf8G39TF/Kq8KsMuN+IJ5fnGC4voVAqOHoVaNZGPjfga5gw5bnn0eTzf9yS5rryWfN3FijRDjLH2C3OGLDQkct1NP/1xy5d70iWBmDJTWEYp3hUUVKpOHP6kv8m186A0XMRzUT4L1dbpweJ8jUkaUDM9m+CYWIN/J5+XisVgGSn+uzusGHy9CZusziesU7SV/FVQqT8VZy5G7QX3QCkfO6Trq6Kv4GEy3fTGFZ6my8jvl9OFy/dAcNrGzw/r1EkTy/elytcmHXWKpy+jjk8MNeDJqYuyL6ymh2XDmk50N5z4Pq6VfKyEAUsZCCffmQWGx4soAmI9XTB1LTPMOPC9mI7wbHkYvTQ2iCSQcOCqplCwmAk5x0zaVbFX8FD7A/wpJe8pK6zU99EMeR6K1dQNWVZrCmw0TrnogFa+zM1ncwrSgkZ/OZ6YejPOjzTjw9qW9z+PP3T9hl5YXuCx9kOSrOVsqfb2OVkcuQC/aB9QRTsRtf2Xet6GMoQ4+Z2nurahVglh1vswn3AkjS1z/XP37/A4BQ2210ye4LFt9T6Xi05INVkAHKAVfslaQ1FwgsZ2X/MKhAJbc2LibwTiLr0H8yJjEJF8Jx08tmfCr47eg3/Elqf3TsiPCr1DcgXn+bkYXf0XZrO1DtmFDiJy/aLmyhfqttzsDaLIV+Bti7XiTwTkaF8EpxGNOBlL/zVH41H2v9t/jg7zCEXbYL79YDt2LBwu6g4BcPQXzuRLXHMKufsyyXgh6SgXGI482rsPAmf+zKSf7NqM1dFWVCoBTA7UfiDAsbx2dexVIsi/wGvRl3llWck/e2Hrfz9B8lZeNP2Mt2/Lu2NJR248qEX+lrKV2YXuHcMKohdVnIobKJ26ue5MMm1/yYGL21G+lH9V7GWe1zLQCtwzhoF3LdIbk6GkALrcJFjdWGhq10NPRC3fuQXvmcXn2DiYQFRnfvl4XEmU4/zIWFQrxe9glHKS2EGZxKbEm3wsg23/xOb1qULBM8pYgYDtWrSioESxEABTBCDziRSZQwe0yCP9lv/6onZs44TZ4pG73leBZn8lTg/W4UzibtODDeRzfQQAMzsJtarCd8Y0iDCzcQpWcmeD3mzclk0Cbzfb+AAQ+5vKJ0UWNRV5ewa87YWeWDCAPE0TbYq2othn+e/tMEJ3uoVuQjbowhkCPTAFhJFj8p9sFoRIn6+pOYhGNQHddfkiQJ38G0v82aC3lKEjLJsYQZBahvTiwY5iTi7qdWXyZqdWSd1FYG44qod/prvSKUWByJd2sarycSfPSK7ppqeeR60oQlKcbwIk8OVfQj6Jv8c92TwSgfmTe5DekaPoNbcjWnPPeGJYMh5vDvZdVC1qv6Z+aSVhKwNrQjKbLA6IyGcgjOAGQga8lMwq7xdnsgxnJF0d8aYFDERJcPY12KnFkzvMeWHDWXa8RPYha7ZwwD0Uvt49GL6UjGVVKS5Zkk1o3QyQId3dPLbHWlgnJ/+VMpi9HyIg+yC6D7uHQuei3/dUKS8slvJibLNcsgerXNLvH+vvm9nki309KJlb0lu8nxQgOzMleLapwmdJA9vSFdDSNfn96DU3a8ohKxXtwYis/zZmqTdEbd91SVv+mOVK4eG3gS9pW430TkNs9OzwIB9Y4ia/n6+fDRG4rsAmLz0Wks3HLEccn7CVCyliX5S0lYsNR2p0jw0rnOgQCm5sos86sK3fAfY/B1j7Qam4/EHchGmky7aNF9wWArOlQnQeIZMuj9vKGAJvUtyW55FmnkFUpYZcQJCAL6NzVDpngGAyTsNm+yQz0pupljCgdpCwacrtJ8NH/L8AAwColHqLyKbKQgAAAABJRU5ErkJggg=="}},"time_used":3556,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3556,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.234Z","timestamp":1785136428234,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tZOSQBP946Q\r\nCookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; YSC=seM8HdZ9Ato; __Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; VISITOR_INFO1_LIVE=-NYM_ljp5ZA; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D\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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:42 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:42 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 238626\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":23,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.300Z","timestamp":1785136429300,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35342.7d61a7ec764ba6b2c6bd.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-327\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ccd6b54df3e4b7be74ea09d0ddc7d39\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":807,"size_decoded":1107,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (807), with no line terminators","md5":"50d3abce4215ba71259575a94352a7c1","sha1":"f6730a01f60611b0d6d8b26b0771318b8ba5e72d","sha256":"8645bbc80c253b897320c57fa607b4f6898034ea24adf1e1ef5f754c8b1255a2","sha512":"cf887dea6f55668c33daa46b54a9fe526a84dee52138a92728920e878e21d5bc8b516e76ce087a8a0580365ea43b8dba7239895e6136f44d43645ef76695bdba","ssdeep":"","tlshash":"ae0155c4a5887e3bac6233f8f61291131754dd19fdda2e427a66e08e80a62e2407a930","first_seen":"2026-07-17T14:15:58.314201Z","last_seen":"2026-07-28T06:17:53.427979Z","times_seen":123,"resource_available":false,"data":"LmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnByaW1hcnktWUZYVkpORVEsLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLVlGWFZKTkVRLnNlY29uZGFyeS1ZRlhWSk5FUSwuZmF2b3JpdGVzSWNvbkJ1dHRvblRvZ2dsZWQtWUZYVkpORVEudGVydGlhcnktWUZYVkpORVF7LS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmFjdGlvbi15bUZ1OVFFRHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG93T25Ib3Zlci15bUZ1OVFFRHstLW1lbnUtaXRlbS1pcy1ob3ZlcmVkLW9yLWZvY3VzZWQ6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZCwwKSArIHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWZvY3VzZWQtdmlzaWJsZSwwKSl9QG1lZGlhIG5vdCAoYW55LXBvaW50ZXI6Y29hcnNlKXsuc2hvd09uSG92ZXIteW1GdTlRRUR7b3BhY2l0eTptaW4oMSx2YXIoLS1tZW51LWl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tbWVudS1pdGVtLWFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc2hvd09uSG92ZXIteW1GdTlRRUQ6aGFzKDpmb2N1cy12aXNpYmxlKXstLW1lbnUtaXRlbS1hY3Rpb24tZm9yY2VWaXNpYmxlOjF9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/JP.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.315Z","timestamp":1785136430315,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/JP.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:14:01.017Z","timestamp":1785136441017,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"OPTIONS /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.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\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-encoding,content-type,x-goog-authuser\r\nReferer: https://heavenwealth.org/\r\nOrigin: https://heavenwealth.org\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://heavenwealth.org\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 07:14:01 GMT\r\nserver: Playlog\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":524,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":30,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.548Z","timestamp":1785136429548,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/price-scale-mode-buttons-renderer.3f61661793789559b605.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-2c46\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 23bf09cec5a1c4a344713ede187efbd6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11334,"size_decoded":5216,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"56b0517a2a0e43c0da91d29f067965d8","sha1":"cc29534e9373c38fabce93912d78c4f77387d041","sha256":"f05ba56fec95e4a8791aa9578861c23f07d46d60a98a78666a2670bfcdd0d2e5","sha512":"3eaec55d02c3544d9aa01a60122eac994af3c4f6ee9829185ce6c4ad79ee4a0e55932cbb67f11214a8e0021ca9cbfe4533a8e07a2af1fb1f2f7dd3b639f0966a","ssdeep":"192:/RR7jTjtKAbbSZcZ0hKoRAJ6LzcWagOzW0+CUc8BJ8Ij/cW20W90tcoMEd:n3Tjdb2hhfLMzP8z/bdzZ","tlshash":"f632c9ed70a1b0656aa328aa803f0406b2bd252d3c4e8874b695eddd35fc54c913bf6d","first_seen":"2026-07-20T16:56:18.262491Z","last_seen":"2026-07-28T06:17:53.475158Z","times_seen":97,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw3MTMwMCw3MTM3NV0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIHU9dHlwZW9mIHI7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW8uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJnJbaV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sMzM0Njg1KGUpe2UuZXhwb3J0cz17cHJpY2VTY2FsZU1vZGVCdXR0b246InByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlIixwcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQ6InByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZSJ9fSw5MDA1MzAoZSl7ZS5leHBvcnRzPXtwcmljZVNjYWxlTW9kZUJ1dHRvbnM6InByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYSIscHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWEiLHByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbi1hYUtYNksxYSJ9fSw4NjU1NjAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7VFZBcHBDb250ZXh0OigpPT5zLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5jfSk7dmFyIG49cig3Nzk0NzQpLG89cigxMTUyOTMpLHU9cig5OTk1MSksYT1yKDExNzMxMyk7Y29uc3QgaT17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIGMoZSl7Y29uc3RbdF09KDAsbi51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKGlbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCh1LkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IHM9dS5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLnIodCksci5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+aX0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTI5MzY1KSx1PXIoMzM2MzM0KSxhPXIoODY1NTYwKTtmdW5jdGlvbiBpKGUsdCxyPSJsZWdhY3kiKXtjb25zdCBpPW4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LGUpO2lmKCJtb2Rlcm4iPT09cil7Y29uc3QgZT0oMCx1LmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihpKSx7cmVuZGVyKHQpe2UucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGksdCkse3JlbmRlcihlKXtvLnJlbmRlcihuLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpyfSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sOTk5NTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7QXBwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49KDAscig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzYzMzQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEyOTM2NSk7dC5jcmVhdGVSb290PW4uY3JlYXRlUm9vdCxuLmh5ZHJhdGVSb290fSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxuPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG89U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHA9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGQ9U3ltYm9sLml0ZXJhdG9yO3ZhciBfPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx5PU9iamVjdC5hc3NpZ24saD17fTtmdW5jdGlvbiB2KGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWgsdGhpcy51cGRhdGVyPXJ8fF99ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBiKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsCnRoaXMucmVmcz1oLHRoaXMudXBkYXRlcj1yfHxffXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sbS5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIFM9Yi5wcm90b3R5cGU9bmV3IG07Uy5jb25zdHJ1Y3Rvcj1iLHkoUyx2LnByb3RvdHlwZSksUy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgTT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnPXtjdXJyZW50Om51bGx9LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBSKGUsdCxuKXt2YXIgbyx1PXt9LGE9bnVsbCxpPW51bGw7aWYobnVsbCE9dClmb3IobyBpbiB2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxvKSYmIUMuaGFzT3duUHJvcGVydHkobykmJih1W29dPXRbb10pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09Yyl1LmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgcz1BcnJheShjKSxsPTA7bDxjO2wrKylzW2xdPWFyZ3VtZW50c1tsKzJdO3UuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobyBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXVbb10mJih1W29dPWNbb10pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6aSxwcm9wczp1LF9vd25lcjpnLmN1cnJlbnR9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIGs9L1wvKy9nO2Z1bmN0aW9uIE8oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxvLHUsYSl7dmFyIGk9dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1pJiYiYm9vbGVhbiIhPT1pfHwoZT1udWxsKTt2YXIgYz0hMTtpZihudWxsPT09ZSljPSEwO2Vsc2Ugc3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6Yz0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIG46Yz0hMH19aWYoYylyZXR1cm4gYT1hKGM9ZSksZT0iIj09PXU/Ii4iK08oYywwKTp1LE0oYSk/KG89IiIsbnVsbCE9ZSYmKG89ZS5yZXBsYWNlKGssIiQmLyIpKyIvIikseChhLHQsbywiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJih3KGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbysoIWEua2V5fHxjJiZjLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShrLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYoYz0wLHU9IiI9PT11PyIuIjp1KyI6IixNKGUpKWZvcih2YXIgcz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbD11K08oaT1lW3NdLHMpO2MrPXgoaSx0LG8sbCxhKX1lbHNlIGlmKGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1kJiZlW2RdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIGwpZm9yKGU9bC5jYWxsKGUpLHM9MDshKGk9ZS5uZXh0KCkpLmRvbmU7KWMrPXgoaT1pLnZhbHVlLHQsbyxsPXUrTyhpLHMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PWkpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGN9ZnVuY3Rpb24gQShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgbj1bXSxvPTA7cmV0dXJuIHgoZSxuLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxvKyspfSkpLG59ZnVuY3Rpb24gUChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LEI9e3RyYW5zaXRpb246bnVsbH0sJD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkIsUmVhY3RDdXJyZW50T3duZXI6Z307dC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQscil7QShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpewp2YXIgdD0wO3JldHVybiBBKGUsKGZ1bmN0aW9uKCl7dCsrfSkpLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCF3KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LHQuQ29tcG9uZW50PXYsdC5GcmFnbWVudD1vLHQuUHJvZmlsZXI9YSx0LlB1cmVDb21wb25lbnQ9Yix0LlN0cmljdE1vZGU9dSx0LlN1c3BlbnNlPWwsdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHQuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbz15KHt9LGUucHJvcHMpLHU9ZS5rZXksYT1lLnJlZixpPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixpPWcuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGM9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KUUuY2FsbCh0LHMpJiYhQy5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109dm9pZCAwPT09dFtzXSYmdm9pZCAwIT09Yz9jW3NdOnRbc10pfXZhciBzPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09cylvLmNoaWxkcmVuPW47ZWxzZSBpZigxPHMpe2M9QXJyYXkocyk7Zm9yKHZhciBsPTA7bDxzO2wrKyljW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49Y31yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6dSxyZWY6YSxwcm9wczpvLF9vd25lcjppfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjppLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PVIsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PVIuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PXcsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6UH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Qi50cmFuc2l0aW9uO0IudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7Qi50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDkzMTg3MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtQcmljZVNjYWxlTW9kZUJ1dHRvbnNSZW5kZXJlcjooKT0+ZH0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTM4NjM4KSx1PXIoMTg1MjcxKSxhPXIoMzE4OTc0KSxpPXIoNTcxMzAwKSxjPXIoOTE0NDg3KSxzPXIubihjKSxsPXIoMzM0Njg1KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FjdGl2YXRlZDp0LG9uQ2xpY2s6cixjb250ZW50Om8sdG9vbHRpcDp1LGFyaWFMYWJlbDphLGNsYXNzTmFtZTppfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsewpjbGFzc05hbWU6cygpKGwucHJpY2VTY2FsZU1vZGVCdXR0b24sdCYmbC5wcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQsaSx1JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxvbkNsaWNrOnIsImRhdGEtdG9vbHRpcCI6dSwiYXJpYS1sYWJlbCI6YX0sbyl9dmFyIGY9cig5MDA1MzApO2NsYXNzIGR7Y29uc3RydWN0b3Ioe3NldE1vZGU6ZSxnZXRNb2RlOnQsY2xhc3NOYW1lOnI9IiJ9KXt0aGlzLl9yZWFjdFJvb3Q9bnVsbCx0aGlzLl9zZXRBdXRvTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJhdXRvIiksdGhpcy5fc2V0TG9nYXJpdGhtTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJsb2ciKSx0aGlzLl9zZXRNb2RlRnVuY3Rpb249ZSx0aGlzLl9nZXRNb2RlRnVuY3Rpb249dDtjb25zdCBuPXRoaXMuX3dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc0xpc3QuYWRkKHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbix7Y2FwdHVyZTohMH0pLG4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fc3RvcFByb3BhZ2F0aW9uLHtjYXB0dXJlOiEwfSksdGhpcy5fcmVuZGVyKCl9ZGVzdHJveSgpe3RoaXMuX3JlYWN0Um9vdD8udW5tb3VudCgpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbiksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9zdG9wUHJvcGFnYXRpb24pLHRoaXMuX3dyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2V0TW9kZUZ1bmN0aW9uPW51bGwsdGhpcy5fZ2V0TW9kZUZ1bmN0aW9uPW51bGx9ZWxlbWVudCgpe3JldHVybiB0aGlzLl93cmFwcGVyfXdpZHRoKCl7cmV0dXJuIDUyfXVwZGF0ZSgpe3RoaXMuX3JlbmRlcigpfV9yZW5kZXIoKXtjb25zdCBlPWEuQ2hlY2tNb2JpbGUuYW55KCkse2F1dG9TY2FsZTp0PSExLGxvZzpjPSExfT0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldE1vZGVGdW5jdGlvbikoKXx8e30scz1uLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXIsb25DbGljazplP3RoaXMuX3NldEF1dG9Nb2RlOnZvaWQgMCwiYXJpYS1sYWJlbCI6ZT91LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKTp2b2lkIDB9LG4uY3JlYXRlRWxlbWVudChwLHthY3RpdmF0ZWQ6dCxjb250ZW50OnUudChudWxsLHtjb250ZXh0OidUaGUgZmlyc3QgbGV0dGVyIG9mIHRoZSAiYXV0byIgd29yZCd9LHIoNDk5MzkyKSksdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAscig2MzM3NTIpKSxvbkNsaWNrOmU/dm9pZCAwOnRoaXMuX3NldEF1dG9Nb2RlLGFyaWFMYWJlbDplP3ZvaWQgMDp1LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKSxjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbn0pKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uV3JhcHBlcixvbkNsaWNrOmU/dGhpcy5fc2V0TG9nYXJpdGhtTW9kZTp2b2lkIDAsImFyaWEtbGFiZWwiOmU/dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSk6dm9pZCAwfSxuLmNyZWF0ZUVsZW1lbnQocCx7YWN0aXZhdGVkOmMsY29udGVudDp1LnQobnVsbCx7Y29udGV4dDonVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgImxvZ2FyaXRobWljIiB3b3JkJ30scig0MjAxODYpKSx0b29sdGlwOnUudChudWxsLHZvaWQgMCxyKDUwMzU1OCkpLG9uQ2xpY2s6ZT92b2lkIDA6dGhpcy5fc2V0TG9nYXJpdGhtTW9kZSxhcmlhTGFiZWw6ZT92b2lkIDA6dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSksY2xhc3NOYW1lOmYucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b259KSkpO3RoaXMuX3JlYWN0Um9vdD90aGlzLl9yZWFjdFJvb3QucmVuZGVyKHMpOnRoaXMuX3JlYWN0Um9vdD0oMCxpLmNyZWF0ZVJlYWN0Um9vdCkocyx0aGlzLl93cmFwcGVyLCJtb2Rlcm4iKX1fc3RvcFByb3BhZ2F0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9fX19XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/35491.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.687Z","timestamp":1785136428687,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/35491.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 332\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 00:46:09 GMT\r\nlast-modified: Wed, 30 Jul 2025 12:26:41 GMT\r\netag: \"cc548cb26fde330895dba23ae4af6f04\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 23260\r\nx-amz-cf-id: r-Ins-5D8GGh1RnBriBIqmg1Wjsxuch584c9NJi2OLSXeiJQOMqoTA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":332,"size_decoded":886,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"cc548cb26fde330895dba23ae4af6f04","sha1":"3dfabad6a0e3c3c940c77525d8214c2d18f413c0","sha256":"0a345379ac9b1705adaa73b601e126fc6ddaf9c6280b01458926ebc31b886772","sha512":"adc1c3866158c64aa3fcf20b473e44c2790fdfa62a031a17585d10c99998dc71dd5cf4b9409d9b7dddd616f82de3aab85bcd7ff62bea5dbd4877bfe12220c0b7","ssdeep":"","tlshash":"a9e078dfd7a857ed513916751de8fd204e7b00755100d5c809ed7570445f5453a52531","first_seen":"2025-08-09T19:29:39.154535Z","last_seen":"2026-08-11T04:47:30.016232Z","times_seen":1448,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABE0lEQVR4Xu2QwY3CMBQFaYQ6aIvzNkMhlEBDSHtYxCWKhpisHSOSvBnpXZ6/5e85/IVzYJGGAlikoQAWaSiARRoKYJGGAlikoQAWaSiARRrdBJyO55eU4FzLfC8UwKIVLvhuSc61zPdikQAu9czt+juEZ1NpnR93S1AAixq43HhBLllK6/y4W0K1AC7ExS4/9yGlz4371vnSbC0KYDEHP84lWz9UO1+areWjAkqf49lU5uYVoICNCegdBWxZAO9OhXcYBShgJwJ49t8oQAE7EVAK7zAKUMCGBfSIAhSwUgHfiAIUsAIBa0ktCmAxBx9cW2qpFrA3FMAiDQWwSEMBLNJQAIs0FMAiDQWwSEMBLNKIF/AAZC46QvDJoXEAAAAASUVORK5CYII="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/11092.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.714Z","timestamp":1785136428714,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/11092.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 752\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 25 Jul 2023 06:29:11 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 06:24:42 GMT\r\netag: \"0d6d3a10d16505b8652993f33a76c1ae\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 2950\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: MYU1pgBPTeSqRGv5zFPMeXzuQUhf6ck4MdpR_0B5eM7dLfQ7YC31Zg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":752,"size_decoded":1284,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0d6d3a10d16505b8652993f33a76c1ae","sha1":"6ec80ad1c8dfbec8eb00b8a42d9a8d27d346eb76","sha256":"2c9ee8102d6ed4ff59eb9cc7dcaf65db7812808c6be385bb1d49a616b52f4036","sha512":"7eccd785adcb71bf41248eb177f7c9369f127b1ec2f791e21b215e3ebaf7780e833b517a85e1e761f409605b9d4b0bb04c8997e597e13d9fce3afa2359e48b41","ssdeep":"","tlshash":"b00165541b9224d8c25d87b4aa601eb0cd3ce224ef358d95a11cee38c4a62a0305cfa7","first_seen":"2024-08-19T19:26:05.484626Z","last_seen":"2026-08-09T10:48:20.622686Z","times_seen":1148,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACt0lEQVR4XtWazW3cMBCFt4O4AsMNBHAJqcOXuIQcfUuq8DXuxAcXECANGKmA2wEDJl7B/mY15PB39gHfheIj50naH0o8HGbpGKOJi9cxBhGqnmcO71MhfjtTfF9CvOG06xXivSh0NC6Ubk0WNpsQb1nWHLGQ1UwVJ/fCcB3jq5jUG+mLeIg4kW8Cy2+TnOAy6CIOWsPv11RMOfTX03gnpD8dclAb68L/p0kczMr1jQyoQX8vqsRBrKy+8sQkmq14C3+iSK2fe6/hE0WiycLnWxlQg/4ZqGpZ1f0JMqAG/bNQxc6lXEr4E7tixxIuLXzirNiphLt7GVCD/pUIsUMJDKhB72o+qGaZy4Aa9HogxKu39Af71WdADXo9sYkH9nj4IQNq0O+NTTywBwNq0OuRt/DlLzAYUuPxSfrf8/BdevZIq0r6e/DvHQMbc7A4DXqJh5MgGkpgcRq5O8E6Hr2tiIZSWJjGyy/pJ/Ro0NuCaLDAwjToJXdfpWePT1fSX4tosMLiNOgllpNQMl4JoqEGFqaRHpjQT+jRoNeKaKiFhWnkTsLMFaZoaIGFadBLZj1dEg2tsDANesmMkyAaesDCNHIfh9EPWQ+Wv8IWWJhG7iSMesGyba7ggV48/iyHXsKQGvTusYkHvDHqDtjEA54YFT6xadT3QCsjw4vtduywmpHhE0LssJLRP32Js2KnFYy+8oldseNs0jKXATXoL2VXIX4RnWexPPxJNMwgPTFiQA36LWTVukHCCsPloN9CsWgcBcPloN+KSTT3huFy0G+lShykF7NfsVUrLRc5WCsMl4N+K83igC0wXA767TRulT1JDmyH4XLQX0NXcXDfdLryVM1OktmkrX7DxUm9MFWcfDVLFOKTKGQ2aQG3XC1bbGv5sMvLi2acCJfBz6nvg9ZnDn95kqF0JukvS23+2M6KYMsAAAAASUVORK5CYII="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89204.f6418fba73d397b29641.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.277Z","timestamp":1785136429277,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89204.f6418fba73d397b29641.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-142\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5eebd2d37440f0bdcc2ff9b6dcbeeb3b\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":322,"size_decoded":1004,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (322), with no line terminators","md5":"563945a9dc3f312146a5c158aa6e6ee9","sha1":"78cb43846e5dba44427d564e9102bc8b42099d12","sha256":"3eb3c2fc923c9e7a63bb29f65516f6a81786dbac6ef260ef42320d8dd906a9e0","sha512":"affae07e66af435a2825898cc8a27eee49f9e507ab4e765b0af5a96af6b4e80cfc8cedec4bd0c8b89033e405e0630ae24042553f017bb1f29360d57fbd1aa04d","ssdeep":"","tlshash":"5de07d062634443ec48b4a39bec34337c874c641dee27a9ba113b10611b223507f530f","first_seen":"2026-04-10T04:33:31.665375Z","last_seen":"2026-08-04T19:37:52.830456Z","times_seen":729,"resource_available":false,"data":"Lmljb24tV0IyeTBFblB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSl9Lmljb24tV0IyeTBFblAgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjRweDt3aWR0aDo4cHh9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lmljb24tV0IyeTBFblAuZHJvcHBlZC1XQjJ5MEVuUDpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8579.6f6518be4293822786e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.563Z","timestamp":1785136429563,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8579.6f6518be4293822786e0.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1a27\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: cd2ea6c2355220fea902e5208030c87a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6695,"size_decoded":1628,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6695), with no line terminators","md5":"aeecabaec60d7097b5e0df49367d3ee8","sha1":"f170c1bb6b76ce03bb8bc5e206a34a0fe91631e7","sha256":"5e3d9d49b9da950fbda835658d479573002ce3d34f5365b6f7dc9a1fe8ab3721","sha512":"d98867b86352def67f1efa0d2e1e76b45d2a102d316b7f5fb9ec3f1f1569a25c6b72f0a52ada71baf88eed1de8775c8e0163899fc4fc30d610c654508298c920","ssdeep":"192:kgzg8gGgHgDgYgygFg/g5gZgWATd8QnBiEogsOpOOO4O1O5OCO8OrO9OxOJOJ5a:kgzg8gGgHgDgYgygFg/g5gZgWATd8Qn5","tlshash":"bad1991be7e487737c638ff9c28ca0645f1ad69abe604fa6a1307e0c8bc7e555760402","first_seen":"2026-07-17T03:30:51.23738Z","last_seen":"2026-08-11T04:43:23.267415Z","times_seen":207,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTXVZODpub25lOy0tXzEtTXVZODpub25lOy0tXzItTXVZODpub25lOy0tXzMtTXVZODpub25lOy0tXzQtTXVZODpub25lfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTXVZODppbnZlcnQoMSk7LS1fMS1NdVk4OmludmVydCgxKTstLV8yLU11WTg6aW52ZXJ0KDEpOy0tXzMtTXVZODppbnZlcnQoMSk7LS1fNC1NdVk4OmludmVydCgxKX0uaW5wdXQtSDB4ZENuRlN7cGFkZGluZzowIGNhbGMoOHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAycHgpIC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUteHhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6MnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS14eHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czoycHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXh4c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzAtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTey13ZWJraXQtYXBwZWFyYW5jZTphdXRvO2FwcGVhcmFuY2U6dGV4dGZpZWxkO2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO21hcmdpbjowO21pbi13aWR0aDowO291dGxpbmU6MDt3aWR0aDoxMDAlOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLXVpLWxpYi1jb250cm9sLXRleHQtZmlsbC1jb2xvcixjdXJyZW50Q29sb3IpO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtvcmRlcjowfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jbGVhci1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS14c21hbGwtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDpmb2N1c3tib3JkZXItcmFkaXVzOjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LUgweGRDbkZTLnNpemUteHNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXhzbWFsbC1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fMS1NdVk4KX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1maWVsZC1wbGFjZWhvbGRlci1kZWZhdWx0KTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Q29sb3I7b3BhY2l0eToxfS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLmlucHV0LUgweGRDbkZTLnNpemUtc21hbGwtSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1zbWFsbC1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlLC5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXJ7Ym9yZGVyLXJhZGl1czo0cHh9fS5pbnB1dC1IMHhkQ25GUy5zaXplLXNtYWxsLUgweGRDbkZTOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7ZmlsdGVyOnZhcigtLV8yLU11WTgpfS5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GU3std2Via2l0LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOnRleHRmaWVsZDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTttYXJnaW46MDttaW4td2lkdGg6MDtvdXRsaW5lOjA7d2lkdGg6MTAwJTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS11aS1saWItY29udHJvbC10ZXh0LWZpbGwtY29sb3IsY3VycmVudENvbG9yKTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7b3JkZXI6MH0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2xlYXItYnV0dG9uLC5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsLmlucHV0LUgweGRDbkZTLnNpemUtbWVkaXVtLUgweGRDbkZTOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXN7Ym9yZGVyLXJhZGl1czo2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbnB1dC1IMHhkQ25GUy5zaXplLW1lZGl1bS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1tZWRpdW0tSDB4ZENuRlM6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntmaWx0ZXI6dmFyKC0tXzMtTXVZOCl9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlN7LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTp0ZXh0ZmllbGQ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7bWluLXdpZHRoOjA7b3V0bGluZTowO3dpZHRoOjEwMCU7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtdGV4dC1maWxsLWNvbG9yLGN1cnJlbnRDb2xvcik7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O29yZGVyOjB9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudENvbG9yO29wYWNpdHk6MX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yLC5pbnB1dC1IMHhkQ25GUy5zaXplLWxhcmdlLUgweGRDbkZTOjotd2Via2l0LWNsZWFyLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmlucHV0LUgweGRDbkZTLnNpemUtbGFyZ2UtSDB4ZENuRlM6LXdlYmtpdC1hdXRvZmlsbCwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSwuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmZvY3Vze2JvcmRlci1yYWRpdXM6NnB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzotd2Via2l0LWF1dG9maWxsOmhvdmVye2JvcmRlci1yYWRpdXM6NnB4fX0uaW5wdXQtSDB4ZENuRlMuc2l6ZS1sYXJnZS1IMHhkQ25GUzo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9ye2ZpbHRlcjp2YXIoLS1fNC1NdVk4KX0uaW5wdXQtSDB4ZENuRlMud2l0aC1zdGFydC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMoNHB4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtaW5uZXItc2xvdC1nYXAsIDJweCkpfS5pbnB1dC1IMHhkQ25GUy53aXRoLWVuZC1zbG90LUgweGRDbkZTe3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKDRweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWlubmVyLXNsb3QtZ2FwLCAycHgpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52396.ed76caf2ffe014460ba6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.161Z","timestamp":1785136429161,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52396.ed76caf2ffe014460ba6.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-37a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8df4284e951c252fecfc82b83aa94bf0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":890,"size_decoded":1183,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (890), with no line terminators","md5":"4ea5d0b6056033b75774e42fe5d68067","sha1":"748282414e5e498bf7540bb4c9a4871cb5ace801","sha256":"650d170333b85bddb948d847ac00379ef6939e1848f4e0a777b76a0413292927","sha512":"ff316d259a766190a4f00a012288d5790d1e7f304f11afb9f4d5c3e82f90cac799c49c72f2c77633bf15cf4a3b3f2573ec1b42426e65a0c959dbbdf448902c91","ssdeep":"","tlshash":"5b117aa5f54996a7f83b693b0bd89b4f1128e0055e075f69ea26b130458b3fa30b13d4","first_seen":"2026-07-17T03:30:51.146413Z","last_seen":"2026-08-11T04:43:23.263976Z","times_seen":337,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEtQODp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1MS1A4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTEtQODp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxLUDg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LmRpYWxvZy1HSFVINl8xWHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoyODBweDt0ZXh0LWFsaWduOnN0YXJ0fS5kaWFsb2ctR0hVSDZfMVgucm91bmRlZC1HSFVINl8xWHtib3JkZXItcmFkaXVzOjZweH0uZGlhbG9nLUdIVUg2XzFYLnNoYWRvd2VkLUdIVUg2XzFYe2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5kaWFsb2ctR0hVSDZfMVguZnVsbHNjcmVlbi1HSFVINl8xWHtib3R0b206MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5kaWFsb2ctR0hVSDZfMVguZGFya2VyLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtTEtQOCl9LmJhY2tkcm9wLUdIVUg2XzFYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEtTEtQOCk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7ei1pbmRleDotMX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/96587.97fdd65f2012106ff11e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.190Z","timestamp":1785136429190,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/96587.97fdd65f2012106ff11e.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-89c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eb7f142bb6cf01224f292900c4fb0e26\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2204,"size_decoded":1357,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2204), with no line terminators","md5":"f433859778b8873df447ea9031315a49","sha1":"df04d29a1667cf45c2a516da5d3bedce4fc9a55c","sha256":"0df353dbede0a246d8930b6d765ced13c2b7fa3f8ea2d8db833f33027feb0606","sha512":"ebca2adbb2080c216fa0da94a394221c5adc6469fce46f03094243ce23b3b6b93db20d13fb260b091f955307ba74cb49d451ae5705b0dd620fc7bd82be87b980","ssdeep":"","tlshash":"b5418b63a9f028a035ff95aeca15d2dc128859b7d64552dcb6307f35c6c27f881a1a0c","first_seen":"2026-07-16T13:40:49.747928Z","last_seen":"2026-08-11T04:43:23.162231Z","times_seen":424,"resource_available":false,"data":"LnNjcm9sbENvbnRhaW5lci16RzJDcURlMntoZWlnaHQ6MDtvdmVyZmxvdy15OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUye3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZmxleC1nbzBaZU5RRntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87LS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZzp2YXIoLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyLWNvbnRlbnQtdmVydGljYWwtcGFkZGluZyw2cHgpO292ZXJmbG93OmhpZGRlbn0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGe2ZsZXg6bm9uZX0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGLC5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntwYWRkaW5nOjAgdmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy10b3A6dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy1ib3R0b206dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6c2Nyb2xsfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ubWFpblNjcm9sbFdyYXBwZXItZ28wWmVOUUYubm9TY3JvbGwtZ28wWmVOUUZ7b3ZlcmZsb3cteTpoaWRkZW59Lm1haW4tZ28wWmVOUUZ7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uKX0ubWFpbkNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZzp2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZykgMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/support/support-portal-problems/?language=en","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.584Z","timestamp":1785136429584,"http_version":"HTTP/3","security_state":"","security_info":null,"request":{"raw":"GET /support/support-portal-problems/?language=en HTTP/1.1\r\nHost: s.tradingview.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://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en\r\nx-language: en\r\nx-requested-with: XMLHttpRequest\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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/3 301 \r\ncontent-type: text/html; charset=utf-8\r\ncontent-length: 0\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nlocation: https://www.tradingview.com/support/support-portal-problems/?language=en\r\nexpires: Mon, 27 Jul 2026 07:15:46 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/; base-uri 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; frame-ancestors 'none'; object-src 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\nserver: tv\r\nx-cache: Hit from cloudfront\r\nage: 3\r\nvia: 1.1 bf9e29084831d9a2b72227f617c2b80c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: 0Ddqox3kQa7WP7sSHNyGfNYfbvHMSdvfbtoIjZHqbUwZATNnOQ4bYg==\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/77578.f6db460ed1e8ce31ea86.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.850Z","timestamp":1785136429850,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/77578.f6db460ed1e8ce31ea86.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-69be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a598e48bfa9f49ee5d26ad968e38cf00\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/ri.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.051Z","timestamp":1785136422051,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/ri.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 575\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":575,"size_decoded":915,"mime_type":"image/png","magic":"PNG image data, 18 x 18, 8-bit/color RGBA, non-interlaced","md5":"0bde7acbfb37291b3b6bf21665767f40","sha1":"e2451c6f1bb655eaf083d6d19d5814d294d806f2","sha256":"a4b9a282fc181323fdf3e0bad59f098f1efad04ac9e01b6277cff6ddcb4160e2","sha512":"651483263d14cc7c5d6cfe6ed086eb36b93f9475067eb7a94a577065922a98ab05ba2e69fd640621be90a9bb074afa503ae06ccba10e4625482a6f52e3b62521","ssdeep":"","tlshash":"e7f096f23371fd02ec4ae3c79288d208a2f24e3dd7208800c17f825b8a80b5d44f1540","first_seen":"2025-12-03T04:46:43.764603Z","last_seen":"2026-07-29T06:14:00.313275Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAeFJREFUeNp81E1IVUEUwPH7nqgZVn5UtDGsjYu2mkIURR/gZxsVImzlQm2T0K4nCiUuQloFGbhTsARBfJAPPwK/oqJNIGgqUuJKKDFeSpa3/4kzcZieDvy43Dkzc2fmzNxIGIaBV3JwGdUoQobW72IJcUzgm+0U8QYqQRuOa+MxrGjsLK7hKr6jEzP/espAqgqLeIhsU+/LQjuWUOvqXbAEn9BoOuQghkG8QCsOmXgDVnFB3mVpx5jYAOZxXyd6En34itdIQzl2cAfb2u4RylAnI1fivU7Zfe0xhnDU1OVhEvdMXQbeyRLlpQedJiiznMHFFPtTj4RX14H+KNM6h0mTuSOSTXwJ/i+fkenVJXAmqudk1QTceYgE+xcbkw+GUa+zlCT2cDrFAIW60bb9nhvopzawgY+4nWKgekx5dQWSVRloAVe8YDdK0YI8nEAMp/DMa3v9796x4zc1hZkmE7mIYw1zmMUyhjXm2qXjLW5JquWSvsQHPMF5NOGXPiUZv/EDz3EYPXiDZl1Nrbu0soxevdGbug9PtbMtkvq7uIRcXWojpu3BqsEmug+4sE4XknpAA3fX7BeL8QD5eIVxd040O/IbqcAWujC33/8o0EFuoEbPUmgO4DpGMIoN2+mPAAMAAlu7L0YuT64AAAAASUVORK5CYII="}},"time_used":1938,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1938,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/21159.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.682Z","timestamp":1785136428682,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/21159.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1109\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 27 Feb 2023 08:52:26 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:06 GMT\r\netag: \"7fc6b4e871a3083132fe9efd2c32810b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86263\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 3wyGjNwLLfDUJbNXDsn7DlIW309S_Taw1n6ICsNnKNba31N8zoKpyg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":1109,"size_decoded":1643,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"7fc6b4e871a3083132fe9efd2c32810b","sha1":"af58b11f58be987c5046adfe366e54ffc442dab4","sha256":"fafa5f5e91dcd9a9df807a32d2e2f632e82116d3a6315ac4880e9faeec0c842d","sha512":"e50f074d52a4ebe7e26a28e016141af04d28452709296826a865587c6d846ea7e66e74afaacf99449a8275ebb85c53561c5990d41dac1069ec51eb435571c701","ssdeep":"","tlshash":"9611b9dbf1dfb46dd9f66a2d4a586b637cd074b500d10823a44ae025343ca4d7cd97b1","first_seen":"2024-08-19T19:26:13.825682Z","last_seen":"2026-08-11T04:47:30.166423Z","times_seen":1492,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEHElEQVR4XuWZ4ZWrNhBGp4SUQAkpgRJSAiW8DtYd5HWAO8jrgBJSAiWkhGTHRot0ZyQExhhv7jnfH+bOSNr1GuwVOZY/P/PPZ/7NRGvqfAs6sQfcmk7ehE7s5vdOJyekF7vRZ6eXk8CNrck4hdfX5GVwI7mMoWED2st5uRwKF2eGWd2Nv8Suwzyd0i1M89usPhWuG0f3+BR6sYvFORquH0f3uiuj2EVCmlmr4o/P/C12jl5rZ62KRuyckHHWHqP0t1fDh9i+2vyQOtgXont/CA5cM5g9j2aJR39RLhxUM/BDrL9XPqQM/ZBNcIjmGgtA7wD0n5USV7H+Uo+BzUtDBrEu0wW5gk5sPzME2YFuSDVsLDXTizNG3lZ0Budu3VfVcwqbSo304jSz9jCN2PlxPHJ/kkVGsQ25Ju9eXvL3gOuE6F486GmGxACUNR6NWE/TzkoR/e30cn9s1egtLPcqI/ogxXU1uX56uTO5j7o56Gl+TwzLILYnl37qydGK7dHkoHdJqhOUcgN1c/RyboBubUrQ1eS+T6TnzqbQp+Uv6LnDJpY+Pdak9OmOrsbjIgteHxVcYYKOpomFCHqPxmPNOz2dn6Vi7ZA+LX9BL46+ieXoxPpxPAap8+gkHgu/4uJEL9bLQW/JJ+xb6qc3pOUbV7HeF9lCBJ01Xu4+XSL3nOFBp9a70eYKgE6TVO+MYr3cvBo4R6NrkEas50Hnduv2ftIeW5yctwbOy83c4ozeRa/5IsuOQqdJqttoxc71oJO8y0/Quc3iBW8B1j3He0TdC87tkuodOt76rN8cXhiCHUHHG+499OwF53oPR3S89QdxHF7ogx1BxxvOuudshXO92ax7zlUchxf6SY6h4w1n3XO2wrnebNY95yqOwwvDJMfQ8Yaz7jlb4VxvNuueM4jj8ILXyLrn/JBlZyucq2sROt76rN8cXvAar7LsKHRyX1KshXM96PRp+Qad26yad2/vU5cHnZy3Bs7LzaTj/fDp3O4mtfdvOjULaLZ8DjgcbtqDzhpv6euyl8MNX5LqnZo/lQA9zZAYJ4ObzR2OTpdUZ+gtzX05g9RtlE7OU+idMQkstkn1TiPWM4Mi6J0pBgquJP57gffhJODdQs8QwyAV0gS9khug/+q4UMqJ3mNvzvXQf4Wx98hk8V7eY2LM0Asp/Tm8BTxQ6SdGr6bn9LRiD1M6EL047ay9FzyIZkiMFLpe3g4eQFN6pr+I9UsZ5f5m2B+U1TRiN60ZI8fDeyN9dS6yEQ4KaSLHoxPb88o8BIeF6Mu3BvYdnV3g0K0L6Jcv3r/inpVd4fA4Y+R9a3hw5n9BI/bgjDrfHh46l3byvyWd2APXZJD7J8p2h3jfTh8OD3hUTscodpPPyFuw9yPxKV7qj/BT7KFyGeWgA/8HnQmb9kre5jAAAAAASUVORK5CYII="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42301.2252d1cccb40351bd581.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.296Z","timestamp":1785136429296,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42301.2252d1cccb40351bd581.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 52\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-34\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3344648361d8976e1cd37cce207be3a6\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52,"size_decoded":836,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"a3f3974eb6489645604008e5c8dc9aec","sha1":"dda40c4a2b2001c0b04b64912fad682f3ad9f45a","sha256":"cc74f1cf1790e71081bd39cd986428e140164c232ebd1b0353c8da71bc484a7e","sha512":"96d6ddc62f46e0fd2299c1f3a56f7180b9d38b078a3da6cddecf77f35fd60664b3990e79485d964bfa98c68b2ee7c1619a826a84c2f582470ec3b21b4cf84963","ssdeep":"","tlshash":"d190023406a0a4a0985beed52560c88490eca01989a26e4e43fc76a525b28c4192a59d","first_seen":"2026-06-30T21:57:43.390072Z","last_seen":"2026-07-28T06:17:53.607588Z","times_seen":228,"resource_available":false,"data":"LnNwaW5uZXJXcmFwLVpadHVGSVBwe2hlaWdodDo2OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"scanner.tradingview.com/forex/metainfo?api_key=widget_user_token\u0026label-product=screener-forex-old","fqdn":"scanner.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"143.204.238.58","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.567Z","timestamp":1785136429567,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"POST /forex/metainfo?api_key=widget_user_token\u0026label-product=screener-forex-old HTTP/1.1\r\nHost: scanner.tradingview.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nContent-Length: 21\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.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":"POST","post_data":{"size":21,"data":"{\"markets\":[\"forex\"]}"}},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/json; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:49 GMT\r\nvary: Origin\r\ncontent-encoding: gzip\r\nx-perm-error: InvalidCredential\r\nserver: tv\r\nvia: 216.250.139.69:443, 1.1 93b33c2042507249d4697fdc8c6fd670.cloudfront.net (CloudFront)\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\naccess-control-allow-origin: https://www.tradingview-widget.com\r\naccess-control-allow-headers: Referer,Accept\r\naccess-control-allow-methods: GET, POST\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\nx-cache: Miss from cloudfront\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: AptPgfGr2uB5eTGhfBgW7_Q87JDkX-zNEaMlzAbbAbQtrGaHQu58wQ==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/json; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.736Z","timestamp":1785136427736,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4934aaee92d848d44a979a45468fdced\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-11T10:15:18.371779Z","times_seen":3775,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.276Z","timestamp":1785136428276,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505 HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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/3 200 \r\nage: 43\r\ncache-control: public, max-age=120, s-maxage=300, stale-while-revalidate=600\r\ncdn-cache-control: public, s-maxage=60, stale-while-revalidate=300\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\netag: W/\"tM4SvmKakO1brxR2Yo9S3Wx3gGc=\"\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /api/v1/widget\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::iad1::kq74h-1785136428285-f037a3449eeb\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\npriority: u=4,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=cmLRCszWa%2FRK4inQAeBVdhN0HKOES9Q%2BwKIr7B%2B36O3SO5lsUS5Mnzwcpt8Xl0YZrJ5gkLya%2B16fXy2zdA%2BaLLPp0e7lGPihl8dkXzkBZzMDQFDR3JvF396fadIk\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a219d7f4bf918deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":22261,"size_decoded":7570,"mime_type":"application/json","magic":"JSON text data","md5":"74a55cd84de1f56c35a8eb3d9b22b295","sha1":"b4ce12be629a90ed5baf1476628f52dd6c778067","sha256":"c5244bf05858242ecc8568194b5640e5d2db40b169643163d4f22ca70adecdb3","sha512":"3566c849b521fa731b8e465f2c566b50f4587249dd685b453db1307b97f823e6425c01dceb92af3ac2510ddcd694dca464f57a422339b70e32895235a98a33dc","ssdeep":"192:eKTyDxR5REZRtibNfbzazSvoyhgbwNp1lt:eKwxR5mvEhbzSSwWgAlt","tlshash":"99a21f8709305cefc67052b879a67b6c582e66ca48ee9d47c1dd8dad04286f3131bf4d","first_seen":"2026-07-27T07:14:43.707424Z","last_seen":"2026-07-27T07:16:32.641173Z","times_seen":8,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTMwMi42Nzg5MzgzNDMxLCJtYXJrZXRfY2FwIjoxMzEwMDkxMzA4NzA4LjI5ODYsInZvbHVtZV8yNGgiOjE3MjE2MzA2Mzc1LjYxODM2LCJyYW5rIjoxLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjgxNDkwOTIsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS40NTE3MzEzMiwicGVyY2VudF9jaGFuZ2VfN2QiOjIuMTYwNzIxMTEsImNpcmN1bGF0aW5nX3N1cHBseSI6MjAwNjE4MzEsInRvdGFsX3N1cHBseSI6MjAwNjE4MzEsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjEwMjcsInNsdWciOiJldGhlcmV1bSIsInN5bWJvbCI6IkVUSCIsIm5hbWUiOiJFdGhlcmV1bSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEwMjcucG5nIiwicHJpY2VfdXNkIjoxOTY3LjA3NDA2MDcyMTY5LCJtYXJrZXRfY2FwIjoyMzczOTE2ODI1NjYuMTYxNzQsInZvbHVtZV8yNGgiOjkxOTgxMjk1NTMuMjE2MTQ4LCJyYW5rIjoyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTUwNDU2NTQsInBlcmNlbnRfY2hhbmdlXzI0aCI6NC40ODI3MjM0NywicGVyY2VudF9jaGFuZ2VfN2QiOjYuMjM2NDc1MjEsImNpcmN1bGF0aW5nX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJ0b3RhbF9zdXBwbHkiOjEyMDY4MjYzNS44NTMxMDM3MSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo4MjUsInNsdWciOiJ0ZXRoZXIiLCJzeW1ib2wiOiJVU0RUIiwibmFtZSI6IlRldGhlciBVU0R0IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvODI1LnBuZyIsInByaWNlX3VzZCI6MC45OTkxMjUzMDI1MTA4NjA3LCJtYXJrZXRfY2FwIjoxODM5NjU2NjY3ODQuOTY0MDUsInZvbHVtZV8yNGgiOjQyMTQyNDgyNzI3Ljg4NTEzLCJyYW5rIjozLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTQyOTE0MiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAxMDg5OTUsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwNTI1OTM0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE4NDEyNjcyMTk2Ni4zNTE0NywidG90YWxfc3VwcGx5IjoxODkxMDY3MjQwMTguNjM5NiwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxODM5LCJzbHVnIjoiYm5iIiwic3ltYm9sIjoiQk5CIiwibmFtZSI6IkJOQiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE4MzkucG5nIiwicHJpY2VfdXNkIjo1NzQuNTc4NDU1ODg4MDYzNCwibWFya2V0X2NhcCI6NzY1MTQxMTAwMTQuOTI3LCJ2b2x1bWVfMjRoIjo4MTY1NjY5OTEuODQ1MTM2NCwicmFuayI6NCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE1MDQ4NDcsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC40NjkwNjc4NCwicGVyY2VudF9jaGFuZ2VfN2QiOjEuODEwNTk4MjYsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMzMTY1NjQzLjg0LCJ0b3RhbF9zdXBwbHkiOjEzMzE2NTY0My44NCwibWF4X3N1cHBseSI6MTMzMTY1NjQzLjg0LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM0MDgsInNsdWciOiJ1c2QtY29pbiIsInN5bWJvbCI6IlVTREMiLCJuYW1lIjoiVVNEQyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0MDgucG5nIiwicHJpY2VfdXNkIjowLjk5OTg5MjU4NTg2NDEyNDEsIm1hcmtldF9jYXAiOjcyNTM1NjIyNzAwLjc1NjA5LCJ2b2x1bWVfMjRoIjo3MTE5NzAyNTUxLjEyNjYyMywicmFuayI6NSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwODEwOTE0LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDAwMjk2OTYsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAxMDExMDMxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjcyNTQzNDE0ODg4Ljk3OTg3LCJ0b3RhbF9zdXBwbHkiOjcyNTQzNDE0ODg4Ljk3OTg3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjUyLCJzbHVnIjoieHJwIiwic3ltYm9sIjoiWFJQIiwibmFtZSI6IlhSUCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzUyLnBuZyIsInByaWNlX3VzZCI6MS4xMDk3NTc3NTEyMTc1NTYsIm1hcmtldF9jYXAiOjY5Mzk2NzgzMjYxLjA1NjY2LCJ2b2x1bWVfMjRoIjo3MDkxNDMwMzcuMDIxNDg4MiwicmFuayI6NiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjEyODIwNTksInBlcmNlbnRfY2hhbmdlXzI0aCI6MC45Mzg4Nzg2LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4zMDU3ODA0NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MjUzMzI3MTk1NSwidG90YWxfc3VwcGx5Ijo5OTk4NTYzNTcwNywibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjU0MjYsInNsdWciOiJzb2xhbmEiLCJzeW1ib2wiOiJTT0wiLCJuYW1lIjoiU29sYW5hIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTQyNi5wbmciLCJwcmljZV91c2QiOjc2LjY0ODIwMjM3Mjc4ODI5LCJtYXJrZXRfY2FwIjo0NDY5MzE4OTMxNy42MTUzOSwidm9sdW1lXzI0aCI6MTI0NDc3NzEwNC4zNzE5NTI1LCJyYW5rIjo3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDc3Mzc4NiwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjE3NzkyNzExLCJwZXJjZW50X2NoYW5nZV83ZCI6MS4zMDY0MzQ3NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo1ODMwOTUwNzUuMDg0MDEwMSwidG90YWxfc3VwcGx5Ijo2MzExMjMwNDcuMDkwMTI0OCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxOTU4LCJzbHVnIjoidHJvbiIsInN5bWJvbCI6IlRSWCIsIm5hbWUiOiJUUk9OIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTk1OC5wbmciLCJwcmljZV91c2QiOjAuMzMxNzI4ODc5Nzk0MjA1NCwibWFya2V0X2NhcCI6MzE0NzU4MzE2MjMuNzE0NjM0LCJ2b2x1bWVfMjRoIjozMTk5ODcyMzAuMDI2MzQ1OTcsInJhbmsiOjgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwMDQyODQyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMTk3Mjc3MDUsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjczNDQ5NDcyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjk0ODg0MjA2Nzc1LjI0NzU5LCJ0b3RhbF9zdXBwbHkiOjk0ODg0MjA1NjkxLjA0NjE5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjMyMTk2LCJzbHVnIjoiaHlwZXJsaXF1aWQiLCJzeW1ib2wiOiJIWVBFIiwibmFtZSI6Ikh5cGVybGlxdWlkIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzIxOTYucG5nIiwicHJpY2VfdXNkIjo2MC4wNzIzNzcwNTQ0NzI0LCJtYXJrZXRfY2FwIjoxNTE3OTM3MTY3MC4yNTgxNzMsInZvbHVtZV8yNGgiOjIxODM4ODYzNy4wMjQ2NDA0NywicmFuayI6OSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjIwNTM3ODAzLCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuNTE2Nzg4MjQsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4zMzI5NzExMywiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNTI2ODQ3MTguMjQ0MDI0NzIsInRvdGFsX3N1cHBseSI6OTUzMDQ0NjgzLjE2NzQ5NzgsIm1heF9zdXBwbHkiOjk1MzA0NDY4My4xNjc0OTc4LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjc0LCJzbHVnIjoiZG9nZWNvaW4iLCJzeW1ib2wiOiJET0dFIiwibmFtZSI6IkRvZ2Vjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNzQucG5nIiwicHJpY2VfdXNkIjowLjA3Mjk0NzE2NDM4NjQ4MTc5LCJtYXJrZXRfY2FwIjoxMTMyNDMxODk5NC41MDIyNzIsInZvbHVtZV8yNGgiOjUyNDk2MDEzOC42NDMyOTk5NCwicmFuayI6MTAsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4zNjQ4NDEwNCwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC44NzA5OTg4MywicGVyY2VudF9jaGFuZ2VfN2QiOjIuMjQwNjMwNzUsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU1MjQwMDE2MzgzLjcwNTIzLCJ0b3RhbF9zdXBwbHkiOjE1NTI0MDAxNjM4My43MDUyMywibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozOTU3LCJzbHVnIjoidW51cy1zZWQtbGVvIiwic3ltYm9sIjoiTEVPIiwibmFtZSI6IlVOVVMgU0VEIExFTyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM5NTcucG5nIiwicHJpY2VfdXNkIjo5LjcxOTg2NjgzODM0MDgxLCJtYXJrZXRfY2FwIjo4OTQzMzI3MTQ4LjQ0MTI5OCwidm9sdW1lXzI0aCI6MTk4Mzc1LjUxMDM0NTQ2LCJyYW5rIjoxMSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDAxNDc1NDcsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMzczNjczODYsInBlcmNlbnRfY2hhbmdlXzdkIjowLjUzMTk2MjY1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjkyMDEwNzk5MC45LCJ0b3RhbF9zdXBwbHkiOjk4NTIzOTUwNCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxNDM3LCJzbHVnIjoiemNhc2giLCJzeW1ib2wiOiJaRUMiLCJuYW1lIjoiWmNhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xNDM3LnBuZyIsInByaWNlX3VzZCI6NTAzLjgyODY5MzI1ODA5NDIsIm1hcmtldF9jYXAiOjg0NTk4ODc4NzAuODM0MjUxLCJ2b2x1bWVfMjRoIjozMzc3MjQ5MDUuNDI2NTA0NTUsInJhbmsiOjEyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTI4MTQ1NjgsInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi40Nzg4MjUyMywicGVyY2VudF9jaGFuZ2VfN2QiOi00LjkwMjc2NzksImNpcmN1bGF0aW5nX3N1cHBseSI6MTY3OTExOTkuMDQwNTQ0OCwidG90YWxfc3VwcGx5IjoxNjc5MTE5OS4wNDA1NDQ4LCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxOTc1LCJzbHVnIjoiY2hhaW5saW5rIiwic3ltYm9sIjoiTElOSyIsIm5hbWUiOiJDaGFpbmxpbmsiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xOTc1LnBuZyIsInByaWNlX3VzZCI6OC44MzEzNzc5MTQ4OTc4NTIsIm1hcmtldF9jYXAiOjY2MDY3NTM1NTYuOTQ2MDU2LCJ2b2x1bWVfMjRoIjoyNDUwNjA5NzkuMjQ2NTM0LCJyYW5rIjoxMywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE4MjY5Mzk4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjQuNjY4Njg0MDIsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjI1MzEzNjIyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjc0ODA5OTk3MC40MjQ4ODQsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozMjgsInNsdWciOiJtb25lcm8iLCJzeW1ib2wiOiJYTVIiLCJuYW1lIjoiTW9uZXJvIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzI4LnBuZyIsInByaWNlX3VzZCI6MzQ4LjY3OTI5NzAxODEwNDMsIm1hcmtldF9jYXAiOjY1NDkzNTE5MjUuMTIwNTk2LCJ2b2x1bWVfMjRoIjo3MzI3NjI2MS44NjY0MTEyNSwicmFuayI6MTQsInBlcmNlbnRfY2hhbmdlXzFoIjotMC41MTExNDcyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi00LjE2NzMzMzEzLCJwZXJjZW50X2NoYW5nZV83ZCI6NS4wMDk3MjA4NywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxODc4MzMxMS43MTY4OTk5NSwidG90YWxfc3VwcGx5IjoxODc4MzMxMS43MTY4OTk5NSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1MTIsInNsdWciOiJzdGVsbGFyIiwic3ltYm9sIjoiWExNIiwibmFtZSI6IlN0ZWxsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81MTIucG5nIiwicHJpY2VfdXNkIjowLjE4MjUxMTcwMzMwODgyNDI0LCJtYXJrZXRfY2FwIjo2MjQxMTEwODExLjQzMzAzNiwidm9sdW1lXzI0aCI6OTA0NzgxNTQuMzg2OTAyMDUsInJhbmsiOjE1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wODE0NzY5MywicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjM5NzYxMjIsInBlcmNlbnRfY2hhbmdlXzdkIjotMS4wODU4MTA4NCwiY2lyY3VsYXRpbmdfc3VwcGx5IjozNDE5NTY3NDU2OS4yNzcyNSwidG90YWxfc3VwcGx5Ijo1MDAwMTc4NjgzOS45MTI0NzYsIm1heF9zdXBwbHkiOjUwMDAxODA2ODEyLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIwMTAsInNsdWciOiJjYXJkYW5vIiwic3ltYm9sIjoiQURBIiwibmFtZSI6IkNhcmRhbm8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMDEwLnBuZyIsInByaWNlX3VzZCI6MC4xNjU5ODg3NDc5MDM4NzMwNSwibWFya2V0X2NhcCI6NjA1NjkxMjcxNC41MzE0ODgsInZvbHVtZV8yNGgiOjE0Njc3MDE1NS4wNzk3NTQ4LCJyYW5rIjoxNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE3MjQxNjc0LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjEyMjc3ODM2LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi43MzQ4MTU0MywiY2lyY3VsYXRpbmdfc3VwcGx5IjozNjQ4OTg5OTQxMS45NzE4OSwidG90YWxfc3VwcGx5Ijo0NDk5MzIwMjY1Mi4zODY1NjYsIm1heF9zdXBwbHkiOjQ1MDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM3MjYzLCJzbHVnIjoiY2FudG9uLW5ldHdvcmsiLCJzeW1ib2wiOiJDQyIsIm5hbWUiOiJDYW50b24iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNzI2My5wbmciLCJwcmljZV91c2QiOjAuMTIzMDkzMjkyMzA4MzI5MywibWFya2V0X2NhcCI6NDgyMDkwMDUyNS4wNzI4NDMsInZvbHVtZV8yNGgiOjExMDkzMTExLjE5ODIxODM1LCJyYW5rIjoxNywicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDU5ODE1ODksInBlcmNlbnRfY2hhbmdlXzI0aCI6MC45MTYzMTI1MiwicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjcyMjQ5NCwiY2lyY3VsYXRpbmdfc3VwcGx5IjozOTE2NDYwNzg3My4xNjcwMiwidG90YWxfc3VwcGx5IjozOTE2NDYwNzg3My4xNjcwMiwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo0OTQzLCJzbHVnIjoibXVsdGktY29sbGF0ZXJhbC1kYWkiLCJzeW1ib2wiOiJEQUkiLCJuYW1lIjoiRGFpIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDk0My5wbmciLCJwcmljZV91c2QiOjAuOTk5OTQyOTAzNzAxMzU1NiwibWFya2V0X2NhcCI6NDY0MjM2MTEyNS4wNTYyMSwidm9sdW1lXzI0aCI6MjQyMTkwNTYuMzY2OTg2MDMsInJhbmsiOjE4LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTM0MTg4NSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwNDU4OTg5LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMjE4OTQ0OSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0NjQyNjI2MjAxLjgyODMyMywidG90YWxfc3VwcGx5Ijo0NjQyNjI2MjAxLjgyODMyMywibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxODMxLCJzbHVnIjoiYml0Y29pbi1jYXNoIiwic3ltYm9sIjoiQkNIIiwibmFtZSI6IkJpdGNvaW4gQ2FzaCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE4MzEucG5nIiwicHJpY2VfdXNkIjoyMTcuMDI5MjQ2OTM5NTM4ODQsIm1hcmtldF9jYXAiOjQzNTUwOTYwNTYuODE0MjcyLCJ2b2x1bWVfMjRoIjo4ODUwNjkxNC4xNDU5NDg0OCwicmFuayI6MTksInBlcmNlbnRfY2hhbmdlXzFoIjotMC41NTYyOTUzNiwicGVyY2VudF9jaGFuZ2VfMjRoIjozLjI2MjU2NDc4LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi42MTU2OTgwNiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2Njg2Mi41LCJ0b3RhbF9zdXBwbHkiOjIwMDY2ODYyLjUsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjExNDE5LCJzbHVnIjoiZ3JhbSIsInN5bWJvbCI6IkdSQU0iLCJuYW1lIjoiR3JhbSAocHJldi4gVG9uY29pbikiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMTQxOS5wbmciLCJwcmljZV91c2QiOjEuNTE0OTg1NzE4NjA5ODEyMSwibWFya2V0X2NhcCI6NDE0MzI3MjAyNy44MjMxNjcsInZvbHVtZV8yNGgiOjM1MjEzMTQxLjc1NjI2Njk0LCJyYW5rIjoyMCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE5NDA3MzE4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNTU0NTU4NzcsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjQ1MTE0NywiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNzM0ODU4ODAyLjI1MDA1MywidG90YWxfc3VwcGx5Ijo1MjIxMjIwMTk2LjQ0MjM4MSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozNjE0OCwic2x1ZyI6InVzZDEiLCJzeW1ib2wiOiJVU0QxIiwibmFtZSI6IldvcmxkIExpYmVydHkgRmluYW5jaWFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MTQ4LnBuZyIsInByaWNlX3VzZCI6MC45OTg4NDM3NTE4NjExNDQ5LCJtYXJrZXRfY2FwIjo0MTAwNDYwNDk0LjQyOTI4Mywidm9sdW1lXzI0aCI6NTY2NjMwMjE2Ljc3NDAxMzMsInJhbmsiOjIxLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDEyMDQwOTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTg2MzIzNCwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAwNjgyNTA2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQxMDUyMDcxMzIuNTM1ODkyNSwidG90YWxfc3VwcGx5Ijo0MTA1MjA3MTMyLjUzNTg5MjUsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mjk0NzAsInNsdWciOiJldGhlbmEtdXNkZSIsInN5bWJvbCI6IlVTREUiLCJuYW1lIjoiRXRoZW5hIFVTRGUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yOTQ3MC5wbmciLCJwcmljZV91c2QiOjAuOTk5ODE0MzA3MDQ0NDUxNywibWFya2V0X2NhcCI6Mzk3NDY2NjM3OC4wOTk2MTIsInZvbHVtZV8yNGgiOjM2NjU4MjIwLjMzODE4MDk5LCJyYW5rIjoyMiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAxMTA4MTE3LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjAwNDg5OTIsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwODkyOTM1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM5NzU0MDQ1ODIuNzI2MDc5LCJ0b3RhbF9zdXBwbHkiOjM5NzU0MDQ1ODIuNzI2MDc5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIsInNsdWciOiJsaXRlY29pbiIsInN5bWJvbCI6IkxUQyIsIm5hbWUiOiJMaXRlY29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIucG5nIiwicHJpY2VfdXNkIjo0Ny4zNzA3MjMyODk3OTUzMywibWFya2V0X2NhcCI6MzY2ODAyNzIwNi4yNDI0ODU1LCJ2b2x1bWVfMjRoIjoyNDIyNzA4MzQuMDAxNzc2NjQsInJhbmsiOjIzLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDYwMjAyNDQsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS4xNjIwNzYzLCJwZXJjZW50X2NoYW5nZV83ZCI6MS40MDg5Mjg0MywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQzMjM2Ni40ODA5MzY5MSwidG90YWxfc3VwcGx5Ijo4NDAwMDAwMCwibWF4X3N1cHBseSI6ODQwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzM3OTMsInNsdWciOiJnbG9iYWwtZG9sbGFyLXVzZGciLCJzeW1ib2wiOiJVU0RHIiwibmFtZSI6Ikdsb2JhbCBEb2xsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzc5My5wbmciLCJwcmljZV91c2QiOjEuMDAwMDA0ODcyODUwNTUwNiwibWFya2V0X2NhcCI6MzI3OTA1MjQzMy4wMjA2ODEsInZvbHVtZV8yNGgiOjEyOTcwNjkzMC42MTA5NDIyLCJyYW5rIjoyNCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwOTkyNDkyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDA3MTAyNzEsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwNTA0Nzk5LCJjaXJjdWxhdGluZ19zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJ0b3RhbF9zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjQ2NDIsInNsdWciOiJoZWRlcmEiLCJzeW1ib2wiOiJIQkFSIiwibmFtZSI6IkhlZGVyYSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ2NDIucG5nIiwicHJpY2VfdXNkIjowLjA2OTUzNjcwMDA1MDA3MzA2LCJtYXJrZXRfY2FwIjozMDQ1MDg4MzI0Ljg5NDMyNzYsInZvbHVtZV8yNGgiOjMxMjUyMDI4LjAzNDgxMjcsInJhbmsiOjI1LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjE3MzQ3OTQsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMzQ4MzgxODgsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjI0MzQ2MzEsImNpcmN1bGF0aW5nX3N1cHBseSI6NDM3OTEwOTYyNTEuMzU0NjUsInRvdGFsX3N1cHBseSI6NTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjUwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjU5OTQsInNsdWciOiJzaGliYS1pbnUiLCJzeW1ib2wiOiJTSElCIiwibmFtZSI6IlNoaWJhIEludSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU5OTQucG5nIiwicHJpY2VfdXNkIjowLjAwMDAwNTA5OTY2NjAyNzA5NDA2NCwibWFya2V0X2NhcCI6MzAwNDkyOTY1Mi41MTY5MSwidm9sdW1lXzI0aCI6NDA5NTExNjA3LjIyMTcwMzIzLCJyYW5rIjoyNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjc3NzU0NjY1LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xMC45MjMxMTksInBlcmNlbnRfY2hhbmdlXzdkIjoyMy4xMjkzMDg3NSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo1ODkyNDA0Nzg5OTQ1MDQuOSwidG90YWxfc3VwcGx5Ijo1ODk0OTcxODQyNTA1NDcuMSwibWF4X3N1cHBseSI6NTg5NTUyNjk1MzMzNjgzLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIwOTQ3LCJzbHVnIjoic3VpIiwic3ltYm9sIjoiU1VJIiwibmFtZSI6IlN1aSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIwOTQ3LnBuZyIsInByaWNlX3VzZCI6MC43MTg2NzUzNjgxNjg4MjQzLCJtYXJrZXRfY2FwIjoyOTEyMzEyNjkwLjcyNjMwOSwidm9sdW1lXzI0aCI6MTM1MzMzMTE1LjE5NjM1NDc1LCJyYW5rIjoyNywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjM2MzMyMDI2LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjU5Nzk2ODQ0LCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMDAyMjA2MSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MDUyMzM0MDg1LjM0MjA5OSwidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTgwNSwic2x1ZyI6ImF2YWxhbmNoZSIsInN5bWJvbCI6IkFWQVgiLCJuYW1lIjoiQXZhbGFuY2hlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTgwNS5wbmciLCJwcmljZV91c2QiOjYuNjk5NTA4OTUxMzk2MDM3LCJtYXJrZXRfY2FwIjoyODkyNjYwMTE4Ljg2ODU1Mywidm9sdW1lXzI0aCI6MjAxODYzMTIyLjc5NTY2MDk3LCJyYW5rIjoyOCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE5NjEzODQ0LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjQ5MDg2NDI3LCJwZXJjZW50X2NoYW5nZV83ZCI6My4zMTk3Mjg2NSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MzE3NzE5NjEuMTc3MjExOSwidG90YWxfc3VwcGx5Ijo0NjM0NDEwNjEuMTc3MjExOSwibWF4X3N1cHBseSI6NzE1NzQ4NzE5LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM2MzUsInNsdWciOiJjcm9ub3MiLCJzeW1ib2wiOiJDUk8iLCJuYW1lIjoiQ3Jvbm9zIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzYzNS5wbmciLCJwcmljZV91c2QiOjAuMDU3MzIzNTk0OTYzNzg5NDksIm1hcmtldF9jYXAiOjI3MTAzMjIyMTYuOTc0NTYyNiwidm9sdW1lXzI0aCI6NjQ3MTM5My44MzkzMjkyOSwicmFuayI6MjksInBlcmNlbnRfY2hhbmdlXzFoIjotMC40NzY0ODExMiwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjQyODU2NjA5LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMzk3NTI4OTksImNpcmN1bGF0aW5nX3N1cHBseSI6NDcyODEwOTI4NjcuMzcyMjQsInRvdGFsX3N1cHBseSI6OTg4MTQ0MzEzMjIuNjAwODgsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyNzc3Miwic2x1ZyI6InBheXBhbC11c2QiLCJzeW1ib2wiOiJQWVVTRCIsIm5hbWUiOiJQYXlQYWwgVVNEIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjc3NzIucG5nIiwicHJpY2VfdXNkIjowLjk5OTcxODI1NDY2MDU4MywibWFya2V0X2NhcCI6MjY4NTUzNzk0NS4yNDUxNDc3LCJ2b2x1bWVfMjRoIjoxOTQzNTUzOS43ODkzMDE0OCwicmFuayI6MzAsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDcyMDQ4NCwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwODIwMzM1LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMDUxNTkyNywiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNjg2Mjk0Nzk2LjI4NDMwMTMsInRvdGFsX3N1cHBseSI6MjY4NjI5NDc5Ni4yODQzMDEzLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjUxNzYsInNsdWciOiJ0ZXRoZXItZ29sZCIsInN5bWJvbCI6IlhBVVQiLCJuYW1lIjoiVGV0aGVyIEdvbGQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81MTc2LnBuZyIsInByaWNlX3VzZCI6NDA4NC45ODg3MTE2OTA4NDgsIm1hcmtldF9jYXAiOjI1MDMzNzc3MzEuNDQ1Mjk1Mywidm9sdW1lXzI0aCI6MTkyMjEwODcwLjgzODkwOTQ1LCJyYW5rIjozMSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMTQyNjQ1MDEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC44Mjk1ODQ1LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4wNDk2NDM4OSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MTI4MjMuNjU5NTMyLCJ0b3RhbF9zdXBwbHkiOjcwNzc0Ny4wODksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzA4Mywic2x1ZyI6InVuaXN3YXAiLCJzeW1ib2wiOiJVTkkiLCJuYW1lIjoiVW5pc3dhcCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzcwODMucG5nIiwicHJpY2VfdXNkIjozLjg4OTMzMTA5NTU3Njc5NywibWFya2V0X2NhcCI6MjQzMTM1OTE3OC41MDIzNTg0LCJ2b2x1bWVfMjRoIjoxOTk4OTE2MTYuMzg2MTc5MjQsInJhbmsiOjMyLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTcxNDkzNiwicGVyY2VudF9jaGFuZ2VfMjRoIjo2LjA5NDk4ODM1LCJwZXJjZW50X2NoYW5nZV83ZCI6MTMuNzQ4MjUwNjIsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MTM1NTYxLjU1Mzg3NzUsInRvdGFsX3N1cHBseSI6ODkyMjcwNDIwLjAzMjk0NzksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NjUzNSwic2x1ZyI6Im5lYXItcHJvdG9jb2wiLCJzeW1ib2wiOiJORUFSIiwibmFtZSI6Ik5FQVIgUHJvdG9jb2wiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC82NTM1LnBuZyIsInByaWNlX3VzZCI6MS44NTA2MDc4OTEwMTA1OTc2LCJtYXJrZXRfY2FwIjoyNDA5NDA4NTM3LjI1MjU1NDQsInZvbHVtZV8yNGgiOjEwNjA0MjYxNC45MDQ2OTE5OCwicmFuayI6MzMsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4xNzg0NjM3NSwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjk5ODU1Mzg1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMDEzOTk0NzMsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMwMTk1NTE4NCwidG90YWxfc3VwcGx5IjoxMzAxOTU1MTg0LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIyOTc0LCJzbHVnIjoiYml0dGVuc29yIiwic3ltYm9sIjoiVEFPIiwibmFtZSI6IkJpdHRlbnNvciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIyOTc0LnBuZyIsInByaWNlX3VzZCI6MTk4LjUxNDMxNzgyODcwODIyLCJtYXJrZXRfY2FwIjoyMjE2ODc5OTMxLjM5NzU5MzUsInZvbHVtZV8yNGgiOjg3MDgyMTQyLjcwNDcyODAyLCJyYW5rIjozNCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjUxMDQyNzU5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNDY3NzI3OTEsInBlcmNlbnRfY2hhbmdlXzdkIjoyLjIxODk2NDU1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjExMTY3MzU1LjM2MDc4Nzk4LCJ0b3RhbF9zdXBwbHkiOjIxMDAwMDAwLCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyMTE1OSwic2x1ZyI6Im9uZG8tZmluYW5jZSIsInN5bWJvbCI6Ik9ORE8iLCJuYW1lIjoiT25kbyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIxMTU5LnBuZyIsInByaWNlX3VzZCI6MC40MTIxMDQ4MzE1NzY5Nzg2LCJtYXJrZXRfY2FwIjoyMDA2Njc0Njg2LjE3NDU1NTMsInZvbHVtZV8yNGgiOjEyNjcxODY1Ny4yNzg3NTUxNCwicmFuayI6MzUsInBlcmNlbnRfY2hhbmdlXzFoIjowLjgwMDk4OTUsInBlcmNlbnRfY2hhbmdlXzI0aCI6Ni4wOTA4OTUzNSwicGVyY2VudF9jaGFuZ2VfN2QiOjIwLjk1MzkxNjU1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ4NjkzMzA2NDcsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjQ3MDUsInNsdWciOiJwYXgtZ29sZCIsInN5bWJvbCI6IlBBWEciLCJuYW1lIjoiUEFYIEdvbGQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC80NzA1LnBuZyIsInByaWNlX3VzZCI6NDA4OS4wNTMwNDU3OTQwNTgsIm1hcmtldF9jYXAiOjE4MTkwNzcyMjQuNjE3ODU2Mywidm9sdW1lXzI0aCI6ODM4Mjc0NjEuODQ5MDA0OTUsInJhbmsiOjM2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xNDcxNzAxNiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjkwMzgzNDQ4LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4yNDYxMjYyNiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0NDQ4NjUuMTU2ODU4LCJ0b3RhbF9zdXBwbHkiOjQ0NDg2NS4xNTY4NTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mzg5Nywic2x1ZyI6Im9rYiIsInN5bWJvbCI6Ik9LQiIsIm5hbWUiOiJPS0IiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zODk3LnBuZyIsInByaWNlX3VzZCI6ODYuMDY1MDk4NTk3Njk1NDEsIm1hcmtldF9jYXAiOjE4MDczNjcwNzAuNTUxNjAzNiwidm9sdW1lXzI0aCI6MjY4ODA0MDkuOTM3NjQzNTUsInJhbmsiOjM3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjU1ODA0NzEsInBlcmNlbnRfY2hhbmdlXzI0aCI6My4wMTQ3Mzg2NCwicGVyY2VudF9jaGFuZ2VfN2QiOjcuNjgzODgwNzcsImNpcmN1bGF0aW5nX3N1cHBseSI6MjEwMDAwMDAsInRvdGFsX3N1cHBseSI6MjEwMDAwMDAsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjMzMjUxLCJzbHVnIjoid29ybGQtbGliZXJ0eS1maW5hbmNpYWwtd2xmaSIsInN5bWJvbCI6IldMRkkiLCJuYW1lIjoiV29ybGQgTGliZXJ0eSBGaW5hbmNpYWwiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzI1MS5wbmciLCJwcmljZV91c2QiOjAuMDU0NDgzMTAyNTY2MDIzMTcsIm1hcmtldF9jYXAiOjE3MzExODc5NzYuMDQ2MTM4Mywidm9sdW1lXzI0aCI6MzExNDE4NzMuMTkzNTMxODcsInJhbmsiOjM4LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuNzQzOTk5NjcsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTEuOTM4NTU0MzgsInBlcmNlbnRfY2hhbmdlXzdkIjotNC4wNDUyNzM4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjMxNzc0NzY4NTg5LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM2MzQxLCJzbHVnIjoiYXN0ZXIiLCJzeW1ib2wiOiJBU1RFUiIsIm5hbWUiOiJBc3RlciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MzQxLnBuZyIsInByaWNlX3VzZCI6MC42MjY5MzAyNzcxMDcwNDg3LCJtYXJrZXRfY2FwIjoxNjkyNzI5OTg4LjcxNjk2OSwidm9sdW1lXzI0aCI6NDA5NzE4MTEuNDEyMDY2ODYsInJhbmsiOjM5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTMyNzM2LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDI1NTAwMjYsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjI5MDkwMDEsImNpcmN1bGF0aW5nX3N1cHBseSI6MjcwMDAyOTA5NC45ODY0ODE3LCJ0b3RhbF9zdXBwbHkiOjc4MTM5ODQzNjAuNjA2NzI5LCJtYXhfc3VwcGx5Ijo4MDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM1NDkxLCJzbHVnIjoibWVtZWNvcmUiLCJzeW1ib2wiOiJNIiwibmFtZSI6Ik1lbWVDb3JlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzU0OTEucG5nIiwicHJpY2VfdXNkIjoxLjIwODg1NDE2Mjg1ODc5MTcsIm1hcmtldF9jYXAiOjE2MDU5OTY5ODUuMTAyMjU1Mywidm9sdW1lXzI0aCI6MTU5MDE3MTcuMjQ5MTI3NDEsInJhbmsiOjQwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTMzOTA0OSwicGVyY2VudF9jaGFuZ2VfMjRoIjotMy4zOTc5MjY0OSwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjg4OTEwNjE0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEzMjg1MjgzMTUuODU5MjY3NywidG90YWxfc3VwcGx5Ijo1Mzk1ODQ1MDg4LjM2NjQ5MywibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzQzODcsInNsdWciOiJyaXBwbGUtdXNkIiwic3ltYm9sIjoiUkxVU0QiLCJuYW1lIjoiUmlwcGxlIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0Mzg3LnBuZyIsInByaWNlX3VzZCI6MS4wMDAxMTc4ODkyNjYwMTgzLCJtYXJrZXRfY2FwIjoxNTg5NTM1Mzc0LjI0MDQ4MTYsInZvbHVtZV8yNGgiOjEwMTQ0MDI4Ni40MDk1ODkyMiwicmFuayI6NDEsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMTMxNDAxMSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwMjYyNjQ1LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMjEyMTAyOCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNTg5MzQ4MDA3LjE3MDQ2ODYsInRvdGFsX3N1cHBseSI6MTU4OTM0ODAwNy4xNzA0Njg2LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjcyNzgsInNsdWciOiJhYXZlIiwic3ltYm9sIjoiQUFWRSIsIm5hbWUiOiJBYXZlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNzI3OC5wbmciLCJwcmljZV91c2QiOjEwMS43Nzc1MjQyODg1NDE1MywibWFya2V0X2NhcCI6MTU2OTE3NTI0OS40MDczMjEyLCJ2b2x1bWVfMjRoIjozMDA4MTM3MjUuMzk0MjY2OTYsInJhbmsiOjQyLCJwZXJjZW50X2NoYW5nZV8xaCI6MC43NTcyMTg3NSwicGVyY2VudF9jaGFuZ2VfMjRoIjo4Ljk5NjM1OTk0LCJwZXJjZW50X2NoYW5nZV83ZCI6MTMuMzIwMTIzMDIsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU0MTc2OTkuMTQ3MDAxMDEsInRvdGFsX3N1cHBseSI6MTYwMDAwMDAsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTk4OTEsInNsdWciOiJ1c2RkIiwic3ltYm9sIjoiVVNERCIsIm5hbWUiOiJVU0REIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTk4OTEucG5nIiwicHJpY2VfdXNkIjowLjk5OTAzNjk1NDI5MzMzMDMsIm1hcmtldF9jYXAiOjE1NTM1NjA4NzYuNjE3ODA5Mywidm9sdW1lXzI0aCI6MTAyMjQ3ODAzLjgyOTA0NTc0LCJyYW5rIjo0MywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwMjA1NzcsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAxOTYyMDcsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAwNzYwOTI3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1NTUwNTg0NjksInRvdGFsX3N1cHBseSI6MTU1NTA1ODQ2OSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo2NjM2LCJzbHVnIjoicG9sa2Fkb3QtbmV3Iiwic3ltYm9sIjoiRE9UIiwibmFtZSI6IlBvbGthZG90IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNjYzNi5wbmciLCJwcmljZV91c2QiOjAuODE2MzY3OTc1MjY3MTc3NiwibWFya2V0X2NhcCI6MTM4Mzg5NTMyNC4wNDE0MjM4LCJ2b2x1bWVfMjRoIjo0NTU3MjYwNi4xMzEzMTg4LCJyYW5rIjo0NCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDMxMTA5ODksInBlcmNlbnRfY2hhbmdlXzI0aCI6LTEuMTUwMDkxMDQsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjU2MzM4MDQzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjE2OTUxODU3MDcuODc3MDI0NywidG90YWxfc3VwcGx5IjoxNjk1MTg1NzA3Ljg3NzAyNDcsIm1heF9zdXBwbHkiOjIxMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjcwNzUsInNsdWciOiJtYW50bGUiLCJzeW1ib2wiOiJNTlQiLCJuYW1lIjoiTWFudGxlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjcwNzUucG5nIiwicHJpY2VfdXNkIjowLjQxNDA1MDY5NjY0MzI3NjU0LCJtYXJrZXRfY2FwIjoxMzY3MzE3Mjg5LjYxMDU1NzMsInZvbHVtZV8yNGgiOjE4NTYwOTI2LjMxMDUzNTk0LCJyYW5rIjo0NSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjI1ODU4MDMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC40MjM1NDY3NywicGVyY2VudF9jaGFuZ2VfN2QiOi0yLjIwNzIyMjIxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjMzMDIyOTQzODIuNTM2ODQsInRvdGFsX3N1cHBseSI6NjIxOTMxNjc5NC44ODk5OTksIm1heF9zdXBwbHkiOjYyMTkzMTY3OTUsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzMwMzgsInNsdWciOiJza3kiLCJzeW1ib2wiOiJTS1kiLCJuYW1lIjoiU2t5IiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzMwMzgucG5nIiwicHJpY2VfdXNkIjowLjA1ODI3NDA4NDMwMTg3NDE4LCJtYXJrZXRfY2FwIjoxMzYwOTk0NjQwLjU5MDQ3MTUsInZvbHVtZV8yNGgiOjE2MjI5NTE2LjM3NDkxNTQyLCJyYW5rIjo0NiwicGVyY2VudF9jaGFuZ2VfMWgiOjEuNDEwMjQ0NjUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMzY1MjkzNzcsInBlcmNlbnRfY2hhbmdlXzdkIjotMy4yMDA4NDU5OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMzM1NTA1ODM3NC40OTQyNjcsInRvdGFsX3N1cHBseSI6MjM0NjI2NjUxNDcuMzY1OTY3LCJtYXhfc3VwcGx5IjoyMzQ2MjY2NTE0Nywic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMzUwMiwic2x1ZyI6IndvcmxkY29pbi1vcmciLCJzeW1ib2wiOiJXTEQiLCJuYW1lIjoiV29ybGRjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTM1MDIucG5nIiwicHJpY2VfdXNkIjowLjM1MjE5MjU2MDY3Nzc2MjMsIm1hcmtldF9jYXAiOjEzMjI0NzgzNTMuMTE0MTg0OSwidm9sdW1lXzI0aCI6MTg5MTE3NjYyLjc2Mzc1MTk1LCJyYW5rIjo0NywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjI2NzAzNDc4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjQuNjk2MzY2MTksInBlcmNlbnRfY2hhbmdlXzdkIjotMS4zNTg4OTY4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM3NTQ5ODY2MjAuMjk5OTc2LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI0NDc4LCJzbHVnIjoicGVwZSIsInN5bWJvbCI6IlBFUEUiLCJuYW1lIjoiUGVwZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI0NDc4LnBuZyIsInByaWNlX3VzZCI6MC4wMDAwMDMwNjc1NTExMTYwMDc4Njk2LCJtYXJrZXRfY2FwIjoxMjY5MjY4MTA5LjIzODYxMzEsInZvbHVtZV8yNGgiOjMxNzEyMzYwMS4wOTI3MTg5NiwicmFuayI6NDgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjg2NTY4NjQ5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuNTYwMzE2MDcsInBlcmNlbnRfY2hhbmdlXzdkIjo4LjY1MTQ0NzAyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQxMzc3MjQzOTcyMDcyNi4zLCJ0b3RhbF9zdXBwbHkiOjQxMzc3MjQzOTcyMDcyNi4zLCJtYXhfc3VwcGx5Ijo0MTM3NzI0Mzk3MjA3MjYuMywic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo4OTE2LCJzbHVnIjoiaW50ZXJuZXQtY29tcHV0ZXIiLCJzeW1ib2wiOiJJQ1AiLCJuYW1lIjoiSW50ZXJuZXQgQ29tcHV0ZXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC84OTE2LnBuZyIsInByaWNlX3VzZCI6Mi4xNzg3MDA1NTY2MTM5MSwibWFya2V0X2NhcCI6MTIwOTYzNDY3NC42ODI2MSwidm9sdW1lXzI0aCI6Mjg5ODIyMzAuMDIyMDAzNjksInJhbmsiOjQ5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjIwNDQ1NDUsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC40OTIzMDkyNSwicGVyY2VudF9jaGFuZ2VfN2QiOjIuNDc5MzExNjcsImNpcmN1bGF0aW5nX3N1cHBseSI6NTU1MjA5MjM3LjQ1NjAxNzYsInRvdGFsX3N1cHBseSI6NTU1MjA5MjM3LjQ1NjAxNzYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTEwOTIsInNsdWciOiJiaXRnZXQtdG9rZW4tbmV3Iiwic3ltYm9sIjoiQkdCIiwibmFtZSI6IkJpdGdldCBUb2tlbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzExMDkyLnBuZyIsInByaWNlX3VzZCI6MS42ODM2NTk0NDg5MjA1MDksIm1hcmtldF9jYXAiOjExNzYxMzkwNjguMDMxNjg0LCJ2b2x1bWVfMjRoIjo1ODA5MDA1LjA0MzMwNzE2LCJyYW5rIjo1MCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA2OTIwNDg1LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuOTY2NzY2NjIsInBlcmNlbnRfY2hhbmdlXzdkIjozLjM2MjA3NjQyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjY5ODU2MTE0Mi4zODg4NDUsInRvdGFsX3N1cHBseSI6OTEwOTIwODc0LjY0ODEwMzgsIm1heF9zdXBwbHkiOjkxOTk5MjAzNS45OCwic3BhcmtsaW5lXzdkIjpudWxsfV0sImN1cnJlbmN5Ijp7ImNvZGUiOiJVU0QiLCJzeW1ib2wiOiIkIiwicmF0ZSI6MX0sImVycm9yIjpudWxsfQ=="}},"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":"www.tradingview-widget.com/static/bundles/embed/86423.79783aa72b6e29252d0c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.265Z","timestamp":1785136429265,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86423.79783aa72b6e29252d0c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-106\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dd51588730b18be82d0965a1f82c3de3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":262,"size_decoded":938,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b2d8da58ed7bd3636b389eac6ba9d38f","sha1":"5bcc1477edc39bcb360e79e0aa7ddabb5a3deb56","sha256":"1d71d0b986d1200ce5725b69e4e0e27ffda213045c040697e34b3502ec819deb","sha512":"75584fc30003c79c57e5f9ed6cfbc9c56a9bdcef58189661f2a31feb1e7ca0e8d5ed7f474386b82d61c4412d71173f50d58e54d1d97f4ce2abc5bf81015b9a08","ssdeep":"","tlshash":"70d0c2b19405d16c3a244958bf22bcadf384410a2a260fd7d2362e2185496b62e6249c","first_seen":"2026-07-17T14:15:58.491012Z","last_seen":"2026-08-11T04:43:23.250814Z","times_seen":299,"resource_available":false,"data":"LmRpdmlkZXItWmRfdHF1Y0R7cGFkZGluZzo2cHggMDt3aWR0aDoxMDAlfS5kaXZpZGVyLVpkX3RxdWNEOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmRpdmlkZXItWmRfdHF1Y0Q6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTowfS5saW5lLVpkX3RxdWNEe2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWRpdmlkZXJDb2xvcix2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86178.e6fbec90af5ba6210368.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.395Z","timestamp":1785136429395,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86178.e6fbec90af5ba6210368.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 115\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a476ed7-73\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:54:54\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 578d111caaff79769901c4ae2955f9dd\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115,"size_decoded":900,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"4b00738e1f848898dbd917e3aa80b190","sha1":"c2535efbabf6d725903e58f0696fdf8adbdc8279","sha256":"25731497d819094baf761b28529348e662eb9894ff5da4667f4164b2968604c1","sha512":"197696b9cdc9294feef121c1e6aa1f9e3f72dbccfa762b6e1b3d69b961a5843bdc3a1ee3c6ca753be4b766255fcc1395b98c4031846970f426aee7f57e48c8d3","ssdeep":"","tlshash":"0eb092aa719c8a614d13ea2ec394c90ea6503981ab10e784fa0ab1014cc3fe22142710","first_seen":"2026-07-03T16:22:04.423218Z","last_seen":"2026-07-28T06:17:53.486727Z","times_seen":175,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdVN0eTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9Lm9wZXJhdG9yLUlITlFWQVFJe2NvbG9yOnZhcigtLV8wLXVTdHkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.419Z","timestamp":1785136428419,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 248737026aa608424dd31723b463c159\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-28T06:17:53.578409Z","times_seen":383,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/features.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.297Z","timestamp":1785136427297,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/images/features.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.729Z","timestamp":1785136427729,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.58667.d15fc4b5c631bb5ece8d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-6bea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e87bdec96c9c8f0975bab1237614a5d1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27626,"size_decoded":6249,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3069)","md5":"c37495f6ca72950f28ad5a6a79a0bab4","sha1":"b23429fd2dea7f2557a8a68545083949759c3ad4","sha256":"b4511e0c850bde295127e6af14148f016b9aea35ea705cdf3106a5a1edbd93b8","sha512":"ddee6e0c9cd60676d9195e2fb635982af76e72cf188acf0f42ba7ac648dbd5acc579a186a2c51fb5ac9d5e758c5289ab285ea4e80694b19f70a1715a5707b77c","ssdeep":"384:L+x0EMPsBRgXD2PTmdN2/5dQ1tHSJm/BtU:L7E2NJuJmI","tlshash":"2cc2c007cd96b099f3f6e24e0eb4d50c2cb453495270d702be868e289ae5ee69d2f315","first_seen":"2026-05-05T10:36:04.872376Z","last_seen":"2026-08-07T05:09:59.550994Z","times_seen":4614,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":13,"timings":{"blocked":-1,"dns":1,"connect":6,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.751Z","timestamp":1785136427751,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b8b681a6c854f8c0e8e0cbb1e183a5c7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-11T04:47:30.172954Z","times_seen":1474,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/8916.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.713Z","timestamp":1785136428713,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/8916.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1559\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:37 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:19:43 GMT\r\ncache-control: max-age=86400\r\netag: \"e906697de32eb7e1420f46bd4da7cd67\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86055\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: pfM_DfddH8JySRfYIOjAVfeEjhpDpf3TTcU1jN-tyu_1XNAYNB_fQg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":1559,"size_decoded":2085,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"e906697de32eb7e1420f46bd4da7cd67","sha1":"d0f7184d0ff38878e831c144adff337cc0491674","sha256":"ce49c1f0b7dc5863f73c4423b606298fd367fbe32ee3696739ba1b72d807bb4d","sha512":"df582a3537249deb5266554b8c5f88458655fae63630f007436b43cb075a4a22663277dc3873758aeae50e4fc2abaf24b5ea224c54dcf8987195a043cbdab668","ssdeep":"","tlshash":"a7310ae99993516aaff8a51387383c787c4a20e0371c1a8442a3fe8f2b0d520188ad57","first_seen":"2023-06-06T18:28:25Z","last_seen":"2026-08-11T04:47:30.175217Z","times_seen":1599,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23254.3043f6ff1396f5065c2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.301Z","timestamp":1785136429301,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23254.3043f6ff1396f5065c2a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-1ad\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b0ecbe004081ff6a902fe1faa35a14a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":429,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (429), with no line terminators","md5":"27d579b35c62ffe990fa3b3e58719791","sha1":"9e2ad92e195c20fd9832696d5dc46e995683380c","sha256":"c9e28194d44ef9378cd88ba949c9c8a339180667df4f4ec154731a7cd0d26031","sha512":"dcb22c5861af670a1b2f04c4ab8d0a11b00575c651a54472e8b1d0f0b0e73fb03cf6fa75541b6e524286fa5b13ee34cb6bb46f4cf5b5845444e1af4cab83be91","ssdeep":"","tlshash":"bee082021643901ef14f014895563ed8b20d44c3aa7b5ececa716149da7414c0a30af8","first_seen":"2026-06-30T21:57:43.455853Z","last_seen":"2026-07-28T06:17:53.450569Z","times_seen":228,"resource_available":false,"data":"LmhpZGRlbi1SM1dpQ09kbntvcGFjaXR5OjB9Lml0ZW0tSmtRWFVsdEF7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweH1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LUprUVhVbHRBe21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1Ka1FYVWx0QXtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLUprUVhVbHRBIC5pY29uLUprUVhVbHRBLC5sb2FkaW5nLUprUVhVbHRBIC5zaG9ydGN1dC1Ka1FYVWx0QXtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.400Z","timestamp":1785136429400,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66988.8458b6a0b6b6dab54ea4.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-1fd7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 182802e40328585caa1d182fb46d83f1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8151,"size_decoded":3735,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3064)","md5":"e8573dd152b6351a68d9431ffb61d357","sha1":"928cec3f4c876d4d701f3b8ae035b67e5e5bc22e","sha256":"02111defc5b8b61ff158655750e36cf18a318ecba45bd6410bd9397a5e380f2c","sha512":"21379f317449ebd372b6e4aed63443ec02937076567807d8da941855c0ae9b8b23c7fa923b3ac87cf6050146b69b4248aba05f8520df72587eb193f1b3010702","ssdeep":"192:Cm/zVycbWsCCMrRomnPpUeM+MYklUXFJmlp/aCiB86aECfSiRuve4w3qG9ytqv:Cew9CM1M+HZylQCiBTalfnuvBuqntqv","tlshash":"2df184a2b1a2a853677350fc5d75d823a5493809fc0846dcf1aeaadf284dd9c217ce7c","first_seen":"2026-07-20T16:56:18.385469Z","last_seen":"2026-07-28T06:17:53.435673Z","times_seen":97,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjY5ODhdLHs4NzcyMTcoZSx0LG8pe28uZCh0LHtBYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlldzooKT0+cH0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oMTk4OTAxKSxyPW8oOTgzMzc4KSxuPW8oOTk1MjQwKSxhPW8oMTY4MjU4KSxzPW8oNTIxOTgzKTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDplfSwoKGUsbyk9Pih7dGltZVBvaW50SW5kZXg6byt0fSkpKX1mdW5jdGlvbiBjKGUsdCxvKXtsZXQgaSxsO2NvbnN0IHI9ZS5sZW5ndGg7Zm9yKGxldCBuPXQ7bj49MCYmbjxyO24rPW8pe2NvbnN0IHQ9ZVtuXTtpZih2b2lkIDA9PT1pJiZ2b2lkIDAhPT10LnBsb3QxVmFsdWUmJihpPW4pLHZvaWQgMD09PWwmJnZvaWQgMCE9PXQucGxvdDJWYWx1ZSYmKGw9biksdm9pZCAwIT09aSYmdm9pZCAwIT09bClyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiB1KGUpe3JldHVybiAwPT09ZS50eXBlP2Ake2UuY29sb3J9YDpgJHtlLmNvbG9yMX06JHtlLmNvbG9yMn06JHtlLmNvb3JkaW5hdGUxfToke2UuY29vcmRpbmF0ZTJ9YH1jb25zdCBoPXt0eXBlOjAsY29sb3I6IiJ9O2Z1bmN0aW9uIF8oZSl7cmV0dXJuW2EuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lLGEuTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrcyxhLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc10uaW5jbHVkZXMoZSl9Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5faXNIbGluZUZpbGw9ITEsdGhpcy5fYmFuZEFLZXk9bnVsbCx0aGlzLl9iYW5kQktleT1udWxsLHRoaXMuX2NvbG9yUGxvdEluZGV4PW51bGwsdGhpcy5fYXJlYVJlbmRlcmVyPW5ldyBuLkFyZWFCYWNrZ3JvdW5kUmVuZGVyZXIsdGhpcy5fZGF0YUludmFsaWRhdGVkPW51bGwsdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSx0aGlzLl9wbEluZGV4MT1udWxsLHRoaXMuX3BsSW5kZXgyPW51bGwsdGhpcy5faXRlbXM9W10sdGhpcy5fY29sb3JBcmVhcz1uZXcgbi5DYWNoZWRNYXAsdGhpcy5fZ2VuZXJhdGVDb2xvcj0oMCxyLmdlbmVyYXRlQ29sb3JDYWNoZWQpKCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2ZpbGxHYXBzPSEhbz8uZmlsbGdhcHMsdGhpcy5fZmlsbFRvSW50ZXJzZWN0aW9uPSEhbz8uZmlsbFRvSW50ZXJzZWN0aW9ufXVwZGF0ZShlKXtpZigiZ2xvYmFsLWNoYW5nZSI9PT1lLnR5cGUpcmV0dXJuIHRoaXMuX2RhdGFJbnZhbGlkYXRlZD0oMCxzLm1lcmdlRGF0YUludmFsaWRhdGlvbikodGhpcy5fZGF0YUludmFsaWRhdGVkLHt9KSx2b2lkKHRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITApO2lmKCJkYXRhLXNvdXJjZS1jaGFuZ2UiIT09ZS50eXBlKXRoaXMuX3ZpZXdwb3J0SW52YWxpZGF0ZWQ9ITA7ZWxzZXtlLnNvdXJjZUlkPT09dGhpcy5fc291cmNlLmlkKCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9KDAscy5tZXJnZURhdGFJbnZhbGlkYXRpb24pKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCx7Zmlyc3RJbmRleDplLmZpcnN0VXBkYXRlZFRpbWVQb2ludEluZGV4LGNsZWFyRGF0YTplLmNsZWFyRGF0YX0pKX19cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkP3RoaXMuX3VwZGF0ZUltcGxGdWxsKHRoaXMuX2RhdGFJbnZhbGlkYXRlZCkmJih0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMSksdGhpcy5fYXJlYVJlbmRlcmVyfV9taW5GaXJzdEJhckluZGV4KCl7cmV0dXJuLTEvMH1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCl9X2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpe2lmKCF0aGlzLl9wbG90R2VvbWV0cnlDYWNoZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcyx0PV8oZVt0aGlzLl9wbG90QUlkKCldLnBsb3R0eXBlLnZhbHVlKCkpLG89XyhlW3RoaXMuX3Bsb3RCSWQoKV0ucGxvdHR5cGUudmFsdWUoKSk7dGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9e3Bsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeTp0LHBsb3QySGFzU3RlcGxpbmVHZW9tZXRyeTpvfX1yZXR1cm4gbmV3IG4uQXJlYUJhY2tncm91bmRJdGVtKHRoaXMuX3Bsb3RHZW9tZXRyeUNhY2hlLnBsb3QxSGFzU3RlcGxpbmVHZW9tZXRyeSx0aGlzLl9wbG90R2VvbWV0cnlDYWNoZS5wbG90Mkhhc1N0ZXBsaW5lR2VvbWV0cnkpfV9wbG90TmFtZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMubWFwKChlPT5lLmlkKSl9X3Bsb3RJbmRleDEoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3BsSW5kZXgxJiYodGhpcy5fcGxJbmRleDE9dGhpcy5fcGxvdE5hbWVzKCkuaW5kZXhPZih0aGlzLl9wbG90QUlkKCkpKzEpLHRoaXMuX3BsSW5kZXgxfV9wbG90SW5kZXgyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9wbEluZGV4MiYmKHRoaXMuX3BsSW5kZXgyPXRoaXMuX3Bsb3ROYW1lcygpLmluZGV4T2YodGhpcy5fcGxvdEJJZCgpKSsxKSx0aGlzLl9wbEluZGV4Mn1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEobnVsbCksdGhpcy5fcGxvdEdlb21ldHJ5Q2FjaGU9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmNsZWFyRGF0YSYmKHRoaXMuX2l0ZW1zPVtdKSwhdGhpcy5fdmlzaWJsZSgpKXJldHVybiExO2lmKG51bGw9PT10aGlzLl9wcmljZVNjYWxlKCkpcmV0dXJuITE7aWYobnVsbD09PXRoaXMuX2ZpcnN0VmFsdWUoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX3NvdXJjZS5wbG90cygpLnBsb3R0YWJsZVJhbmdlKCksbz10LnNpemUoKTtpZigwPT09bylyZXR1cm4hMQo7Y29uc3Qgcj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RBSWQoKSksbj10aGlzLl9zb3VyY2Uub2Zmc2V0KHRoaXMuX3Bsb3RCSWQoKSksYT1NYXRoLm1pbihyLG4pLHM9TWF0aC5tYXgocixuKTtsZXQgYz1lLmZpcnN0SW5kZXg7Y29uc3QgdT1vKyhzLWEpKzEsaD10aGlzLl9wbG90SW5kZXgxKCksXz10aGlzLl9wbG90SW5kZXgyKCk7dSE9PXRoaXMuX2l0ZW1zLmxlbmd0aCYmKHZvaWQgMD09PWN8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGM8dGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgrYT8oYz12b2lkIDAsdGhpcy5faXRlbXM9ZCh1LDFlMTApKTp0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZCh1LXRoaXMuX2l0ZW1zLmxlbmd0aCwxZTEwK3RoaXMuX2l0ZW1zLmxlbmd0aCkpKTtjb25zdCBwPXRoaXMuX2NvbG9yUGxvdEluZGV4LHY9dGhpcy5fdHJhbnNwYXJlbmN5KCksbT12b2lkIDA9PT1jP3QuZnVsbFJhbmdlSXRlcmF0b3IoKTp0LnJhbmdlSXRlcmF0b3IoYywoMCxpLmVuc3VyZU5vdE51bGwpKHQubGFzdEluZGV4KCkpKTtsZXQgST12b2lkIDAhPT1jPygwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYythLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSktYTotYTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PWUuaW5kZXgrcixvPWUuaW5kZXgrbixpPXRoaXMuX2l0ZW1zW0krcl0sbD10aGlzLl9pdGVtc1tJK25dO2lmKGkudGltZVBvaW50SW5kZXg9dCxsLnRpbWVQb2ludEluZGV4PW8sdGhpcy5faXNIbGluZUZpbGx8fChpLnBsb3QxVmFsdWU9ZS52YWx1ZVtoXT8/dm9pZCAwLGwucGxvdDJWYWx1ZT1lLnZhbHVlW19dPz92b2lkIDApLG51bGwhPT1wKXtjb25zdCB0PUkrYS0xO2lmKHQ+PTAmJnQ8dGhpcy5faXRlbXMubGVuZ3RoKXtjb25zdCBvPXRoaXMuX2l0ZW1zW3RdO2xldCBpO2k9MD09PXAudHlwZT97dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmErMV19Ont0eXBlOjEsY29sb3JJbmRleE9yUmdiYTE6dm9pZCAwPT09cC5jb2xvckluZGV4T3JSZ2JhMT92b2lkIDA6ZS52YWx1ZVtwLmNvbG9ySW5kZXhPclJnYmExKzFdLGNvbG9ySW5kZXhPclJnYmEyOnZvaWQgMD09PXAuY29sb3JJbmRleE9yUmdiYTI/dm9pZCAwOmUudmFsdWVbcC5jb2xvckluZGV4T3JSZ2JhMisxXSx2YWx1ZTE6dm9pZCAwPT09cC52YWx1ZUluZGV4MT92b2lkIDA6ZS52YWx1ZVtwLnZhbHVlSW5kZXgxKzFdLHZhbHVlMjp2b2lkIDA9PT1wLnZhbHVlSW5kZXgyP3ZvaWQgMDplLnZhbHVlW3AudmFsdWVJbmRleDIrMV19O2NvbnN0IGw9by5jb2xvcj10aGlzLl9nZXRDb2xvckJ5UGxvdFZhbHVlKGkpPz92b2lkIDA7dm9pZCAwIT09bCYmKDE9PT1sLnR5cGU/KGwuY29sb3IxPWwuY29sb3IxJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IxLHYpLGwuY29sb3IyPWwuY29sb3IyJiZ0aGlzLl9nZW5lcmF0ZUNvbG9yKGwuY29sb3IyLHYpKTpsLmNvbG9yPXRoaXMuX2dlbmVyYXRlQ29sb3IobC5jb2xvcix2KSl9fUkrPTF9cmV0dXJuIHRoaXMuX3VwZGF0ZUltcGxMaWdodCgpLCEwfV91cGRhdGVJbXBsTGlnaHQoKXtpZighdGhpcy5fdmlzaWJsZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD10aGlzLl9maXJzdFZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuO2xldCBvO2lmKHRoaXMuX2lzSGxpbmVGaWxsKXtjb25zdCBsPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYmFuZHNbKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYW5kQUtleSldLHI9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5iYW5kc1soMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhbmRCS2V5KV07bz17bGV2ZWwxOmUucHJpY2VUb0Nvb3JkaW5hdGUobC52YWx1ZS52YWx1ZSgpLHQpLGxldmVsMjplLnByaWNlVG9Db29yZGluYXRlKHIudmFsdWUudmFsdWUoKSx0KX19Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxhPXIudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1hKXJldHVybjtjb25zdCBzPWUucHJpY2VUb0Nvb3JkaW5hdGVGbih0KSxkPXRoaXMuX3RyYW5zcGFyZW5jeSgpLF89dGhpcy5fbWluRmlyc3RCYXJJbmRleCgpLHA9TWF0aC5tYXgoXyxhLmZpcnN0QmFyKCkpLHY9KDAsbC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxwLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7aWYodj49dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybjtjb25zdCBtPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLCgwLGwubG93ZXJib3VuZCkodGhpcy5faXRlbXMsYS5sYXN0QmFyKCksKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSk7bGV0IEksZjt0aGlzLl9pc0hsaW5lRmlsbD8oST1fPT09cD92Ok1hdGgubWF4KDAsdi0xKSxmPU1hdGgubWluKHRoaXMuX2l0ZW1zLmxlbmd0aC0xLG0rMSkpOihJPV89PT1wP3Y6Yyh0aGlzLl9pdGVtcyx2LTEsLTEpPz92LGY9Yyh0aGlzLl9pdGVtcyxtKzEsMSk/P20pO2NvbnN0IGc9dGhpcy5fY29sb3JBcmVhcztnLmludmFsaWRhdGVDYWNoZSgpO2xldCB4LHk9bnVsbCxDPW51bGwsYj1udWxsO2NvbnN0IFA9dGhpcy5fY29tbW9uQ29sb3IoKTtsZXQgQjsxPT09UC50eXBlPyhQLmNvb3JkaW5hdGUxPXMoUC52YWx1ZTEpLFAuY29vcmRpbmF0ZTI9cyhQLnZhbHVlMiksUC5jb2xvcjE9UC5jb2xvcjEmJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjEsZCksUC5jb2xvcjI9UC5jb2xvcjImJnRoaXMuX2dlbmVyYXRlQ29sb3IoUC5jb2xvcjIsZCkpOlAuY29sb3I9dGhpcy5fZ2VuZXJhdGVDb2xvcihQLmNvbG9yLGQpO2xldCBTPTA9PT1JO2ZvcihsZXQgZT1JO2U8PWY7ZSs9MSl7Y29uc3QgdD10aGlzLl9pdGVtc1tlXSxpPXQudGltZVBvaW50SW5kZXg7bGV0IGwsYTshdGhpcy5fZmlsbEdhcHMmJnZvaWQgMCE9PUImJmktQj4xJiYoeT1udWxsKSx2b2lkIDAhPT1vPyhsPW8ubGV2ZWwxLAphPW8ubGV2ZWwyKToobD10LnBsb3QxQ29vcmRpbmF0ZT12b2lkIDA9PT10LnBsb3QxVmFsdWU/dm9pZCAwOnModC5wbG90MVZhbHVlKSxhPXQucGxvdDJDb29yZGluYXRlPXZvaWQgMD09PXQucGxvdDJWYWx1ZT92b2lkIDA6cyh0LnBsb3QyVmFsdWUpKTtjb25zdCBkPXQueENvb3JkaW5hdGU9ci5pbmRleFRvQ29vcmRpbmF0ZSh0LnRpbWVQb2ludEluZGV4KTtpZih0LmNvbG9yJiYxPT09dC5jb2xvci50eXBlJiYodC5jb2xvci5jb29yZGluYXRlMT1zKHQuY29sb3IudmFsdWUxKSx0LmNvbG9yLmNvb3JkaW5hdGUyPXModC5jb2xvci52YWx1ZTIpKSx0aGlzLl9maWxsR2Fwcz92b2lkIDAhPT1sfHx2b2lkIDAhPT1hOnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEpe2NvbnN0IG89bnVsbCE9PXRoaXMuX2NvbG9yUGxvdEluZGV4P3QuY29sb3J8fGg6UDtpZihBPW8sIShudWxsPT09KHc9Yil8fG51bGw9PT1BP3c9PT1BOjA9PT13LnR5cGUmJjA9PT1BLnR5cGU/dy5jb2xvcj09PUEuY29sb3I6MT09PXcudHlwZSYmMT09PUEudHlwZSYmdy5jb2xvcjE9PT1BLmNvbG9yMSYmdy5jb2xvcjI9PT1BLmNvbG9yMiYmdy5jb29yZGluYXRlMT09PUEuY29vcmRpbmF0ZTEmJncuY29vcmRpbmF0ZTI9PT1BLmNvb3JkaW5hdGUyKXx8bnVsbD09PXkpe2lmKG51bGwhPT15JiYodm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpKSxlPT09Ziljb250aW51ZTtiPW87Y29uc3QgdD11KG8pLGk9Zy5nZXQodCk/P25ldyBuLkFyZWFCYWNrZ3JvdW5kSXRlbXNHcm91cChvKTtDPXkseT1pLm5ld0l0ZW0oKT8/dGhpcy5fY3JlYXRlQXJlYUJhY2tncm91bmRJdGVtKCksaS5wdXNoKHkpLGcuc2V0KHQsaSl9dm9pZCAwIT09bCYmKHkuYWRkUG9pbnRzMVBvaW50KGQsbCxTKSxTPSExKSx2b2lkIDAhPT1hJiZ5LmFkZFBvaW50czJQb2ludChkLGEpfWVsc2UgdGhpcy5fZmlsbEdhcHN8fChiPW51bGwseT1udWxsLEM9bnVsbCk7Qj1pLHg9dH12YXIgdyxBO2cuZGVsZXRlKHUoaCkpO2NvbnN0IFY9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGNvbG9yQXJlYXM6Z307dGhpcy5fYXJlYVJlbmRlcmVyLnNldERhdGEoVil9fX0sMTY2OTg4KGUsdCxvKXtvLmQodCx7QXJlYUJhY2tncm91bmRQYW5lVmlldzooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxsPW8oODc3MjE3KTtjbGFzcyByIGV4dGVuZHMgbC5BYnN0cmFjdEZpbGxlZEFyZWFQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X3Bsb3RBSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzBdLm5hbWV9X3Bsb3RCSWQoKXtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLmFyZWEpWzFdLm5hbWV9X2NvbW1vbkNvbG9yKCl7cmV0dXJue3R5cGU6MCxjb2xvcjp0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmFyZWFCYWNrZ3JvdW5kLmJhY2tncm91bmRDb2xvci52YWx1ZSgpfX1fdHJhbnNwYXJlbmN5KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuYXJlYUJhY2tncm91bmQuZmlsbEJhY2tncm91bmQudmFsdWUoKX1fZ2V0Q29sb3JCeVBsb3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fY29tbW9uQ29sb3IoKX19fSw5ODMzNzgoZSx0LG8pe28uZCh0LHtnZW5lcmF0ZUNvbG9yQ2FjaGVkOigpPT5ufSk7dmFyIGk9byg2NjMwNDYpLGw9byg4NzM1NzMpLHI9byg1MTcyOTMpO2Z1bmN0aW9uIG4oZT0xZTMpe2NvbnN0IHQ9aS5kZWZhdWx0LkNhY2hlO2kuZGVmYXVsdC5DYWNoZT1yLkNpcmN1bGFyQ2FjaGVCdWZmZXIuYmluZChyLkNpcmN1bGFyQ2FjaGVCdWZmZXIsZSk7Y29uc3Qgbz0oMCxpLmRlZmF1bHQpKGwuZ2VuZXJhdGVDb2xvciwoKGUsdCxvKT0+YCR7ZX1fJHt0fV8ke299YCkpO3JldHVybiBpLmRlZmF1bHQuQ2FjaGU9dCxvfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.417Z","timestamp":1785136429417,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/volume-footprint-study.9dc6760cb03ba41d68f1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3873\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5a56b9fc7d0a2cfda41bca84419c3038\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14451,"size_decoded":5256,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3064)","md5":"02705aa805bbac9bccc99b4d5b83d9f4","sha1":"78a6115784af9125bbdcffa02a4e496b8927e73b","sha256":"7ee5f3a19f5fe49954db3d9c732c7ec564831ce84b66ae61abcb67931f501f2a","sha512":"1ab4eee9064f0fd0b6970b0925fe5ba110fc2d334cb02d30864795e52bf9098a3d49ecd831402b6ad990e5f8c5a697078b2aecacaced188be7ee1e1d95a3f765","ssdeep":"384:Ab04y76xACAdQlDbTQ7ZiScKevr/0XV67P9kfZv/H6eS/Vns1Ln5Ind8ES:6y76xApdQRbTQHEj6xvyUGd8ES","tlshash":"3352a731b1a2bce623b410d6afe8069e856a5d50a45e6cf8f26cd0f71cd5509173db3c","first_seen":"2026-07-22T16:00:00.386345Z","last_seen":"2026-07-28T06:17:53.447505Z","times_seen":89,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTIyMjddLHs3MzQ5MDModCxlLG8pe28uZChlLHtsZWZ0Q29sdW1uQXJlYUxlZnRSaWdodDooKT0+YyxyaWdodENvbHVtbkFyZWFMZWZ0UmlnaHQ6KCk9PnAscm93VG9wQm90dG9tOigpPT5hLHN1bW1hcnlBcmVhMkNvbHVtbnNMZWZ0UmlnaHQ6KCk9Pm0sdG90YWxBcmVhTGVmdFJpZ2h0OigpPT5kLHZvbHVtZUZvb3RwcmludENvb3JkaW5hdGVTcGFjZTooKT0+Zn0pO3ZhciBpLHI9byg3MzY1MzEpLG49bygxOTg5MDEpLGw9bygxNzQzNDIpO2Z1bmN0aW9uIGEodCxlLG8scixuKXtjb25zdCBsPU1hdGgucm91bmQodC5wcmljZVRvQ29vcmRpbmF0ZShyK28sZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLGE9TWF0aC5yb3VuZCh0LnByaWNlVG9Db29yZGluYXRlKHIsZSkqbi52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9TWF0aC5tYXgoaS5MZXZlbHNTcGFjaW5nLE1hdGguZmxvb3IoaS5MZXZlbHNTcGFjaW5nKm4udmVydGljYWxQaXhlbFJhdGlvKSk7cmV0dXJue3RvcDpNYXRoLm1pbihsLGEpLGJvdHRvbTpNYXRoLm1heChsLGEpLXN9fWZ1bmN0aW9uIHModCxlLG8scil7Y29uc3Qgbj1NYXRoLnJvdW5kKHQucHJpY2VUb0Nvb3JkaW5hdGUobyxlKSpyLnZlcnRpY2FsUGl4ZWxSYXRpbyk7cmV0dXJue3RvcDpuLU1hdGgubWF4KGkuTGV2ZWxzU3BhY2luZyxNYXRoLmZsb29yKGkuTGV2ZWxzU3BhY2luZypyLnZlcnRpY2FsUGl4ZWxSYXRpbykpLGJvdHRvbTpufX1mdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbz10LnJpZ2h0LXQubGVmdDtyZXR1cm57Y2VudGVyOk1hdGgucm91bmQodC5jZW50ZXIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksY29sdW1uV2lkdGg6TWF0aC5yb3VuZChvKmkuQ29sdW1uU3BhY2UqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksb2Zmc2V0Ok1hdGgucm91bmQobyppLkNhbmRsZVNwYWNlKi41KmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pfX1mdW5jdGlvbiBjKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0O3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aStvLmNvbHVtbldpZHRofX1mdW5jdGlvbiBkKHQsZSl7Y29uc3Qgbz11KHQsZSksaT1vLmNlbnRlcitvLm9mZnNldCsxO3JldHVybntsZWZ0OmkscmlnaHQ6aSsyKm8uY29sdW1uV2lkdGh9fWZ1bmN0aW9uIG0odCxlKXtjb25zdCBvPXUodCxlKTtyZXR1cm57bGVmdDpvLmNlbnRlci1vLmNvbHVtbldpZHRoLW8ub2Zmc2V0LHJpZ2h0Om8uY2VudGVyK28ub2Zmc2V0KzErby5jb2x1bW5XaWR0aH19IWZ1bmN0aW9uKHQpe3RbdC5Db2x1bW5TcGFjZT0uMzVdPSJDb2x1bW5TcGFjZSIsdFt0LkNhbmRsZVNwYWNlPS4yXT0iQ2FuZGxlU3BhY2UiLHRbdC5TdW1tYXJ5T2Zmc2V0PTVdPSJTdW1tYXJ5T2Zmc2V0Iix0W3QuTGV2ZWxzU3BhY2luZz0xXT0iTGV2ZWxzU3BhY2luZyIsdFt0LkltYmFsYW5jZUxldmVsT2Zmc2V0PTFdPSJJbWJhbGFuY2VMZXZlbE9mZnNldCIsdFt0LkltYmFsYW5jZUxldmVsV2lkdGg9M109IkltYmFsYW5jZUxldmVsV2lkdGgiLHRbdC5JbWJhbGFuY2VMZXZlbFZpc2liaWxpdHlNaW5CYXJXaWR0aD0xMF09IkltYmFsYW5jZUxldmVsVmlzaWJpbGl0eU1pbkJhcldpZHRoIix0W3QuTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGg9MzMwXT0iTGV2ZWxUaXRsZXNWaXNpYmlsaXR5TWluQmFyV2lkdGgifShpfHwoaT17fSkpO2NvbnN0IGg9KHttaW46dCxtYXg6ZX0sbyk9Pk1hdGgucm91bmQoKGUueC10LngpKm8pO2Z1bmN0aW9uIGYodCl7Y29uc3R7dGltZVNjYWxlOmUscHJpY2VTY2FsZTpvLHZvbHVtZUZvb3RwcmludDpmLHJvd1NpemU6UyxmaXJzdFZhbHVlOmcsYmFyOngscGl4ZWxSYXRpb0luZm86dix2b2x1bWVGb290cHJpbnRUeXBlOmJ9PXQsW3cseV09KDAsbi5taW5NYXgpKFt4WzNdLC4uLigwLG4uY2FsY3VsYXRlTWluTWF4KShmLmxldmVscywodD0+dC5wcmljZSkpXSk7bGV0IFYsSTtzd2l0Y2goYil7Y2FzZSBsLlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbDpjYXNlIGwuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI6Vj1jLEk9cDticmVhaztkZWZhdWx0OlY9ZCxJPWR9Y29uc3QgVD1lLmJhckJvcmRlcnMoZi5pbmRleCksRj1ULnJpZ2h0LVQubGVmdCxDPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09VihULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxNPXQ9Pntjb25zdHtsZWZ0OmUscmlnaHQ6aX09SShULHYpLHt0b3A6bixib3R0b206bH09YShvLGcsUyx0LHYpO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShlLG4pLCgwLHIucG9pbnQpKGksbCkpfSxfPSgwLHIucG9pbnQpKDUqdi5ob3Jpem9udGFsUGl4ZWxSYXRpbywwKTtyZXR1cm57bGVmdFJvd0FyZWFCb3g6QyxyaWdodFJvd0FyZWFCb3g6TSxwZXJjZW50TGVmdFJvd0FyZWFCb3g6KHQsZSk9Pntjb25zdCBvPUModCkse21pbjppLG1heDpufT1vO3JldHVybigwLHIuYm94KSgoMCxyLnBvaW50KShuLngtaChvLGUpLGkueSksbil9LHBlcmNlbnRSaWdodFJvd0FyZWFCb3g6KHQsZSxvPSExKT0+e2NvbnN0IGk9bz8odD0+e2NvbnN0e21pbjplLG1heDpvfT10O3JldHVybigwLHIuYm94KShlLmFkZChfKSxvKX0pKE0odCkpOk0odCkse21pbjpuLG1heDpsfT1pO3JldHVybigwLHIuYm94KShuLCgwLHIucG9pbnQpKG4ueCtoKGksZSksbC55KSl9LGxldmVsQm94OnQ9Pntjb25zdCBlPVYoVCx2KSxpPUkoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUubGVmdCxuKSwoMCxyLnBvaW50KShpLnJpZ2h0LGwpKX0scHJvZmlsZVRvdGFsTGV2ZWxCb3g6dD0+ewpjb25zdCBlPWMoVCx2KSxpPWQoVCx2KSx7dG9wOm4sYm90dG9tOmx9PXMobyxnLHQsdik7cmV0dXJuKDAsci5ib3gpKCgwLHIucG9pbnQpKGUucmlnaHQsbiksKDAsci5wb2ludCkoaS5yaWdodCxsKSl9LHNob3dMZXZlbFRpdGxlczooKT0+Rj49aS5MZXZlbFRpdGxlc1Zpc2liaWxpdHlNaW5CYXJXaWR0aCxzdW1tYXJ5QXJlYTJDb2x1bW5zTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309bShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0sc3VtbWFyeUFyZWExQ29sdW1uTW9kZTooKT0+e2NvbnN0IHQ9YShvLGcsUyx3LHYpLGU9YShvLGcsUyx5LHYpLG49TWF0aC5tYXgodC5ib3R0b20sZS5ib3R0b20pLHtsZWZ0OmwscmlnaHQ6c309ZnVuY3Rpb24odCxlKXtjb25zdCBvPXUodCxlKSxpPTIqby5jb2x1bW5XaWR0aDtyZXR1cm57bGVmdDpvLmNlbnRlci1vLm9mZnNldCxyaWdodDpvLmNlbnRlcitvLm9mZnNldCsxK2l9fShULHYpO3JldHVybntib3g6KDAsci5ib3gpKCgwLHIucG9pbnQpKGwsbiksKDAsci5wb2ludCkocyxuKyh0LmJvdHRvbS10LnRvcCkpKSxtYXJnaW5Ub3A6TWF0aC5yb3VuZChpLlN1bW1hcnlPZmZzZXQqdi52ZXJ0aWNhbFBpeGVsUmF0aW8pfX0saW1iYWxhbmNlQm94Oih0LGUsbj0hMCk9PntpZihGPGkuSW1iYWxhbmNlTGV2ZWxWaXNpYmlsaXR5TWluQmFyV2lkdGgpcmV0dXJuIG51bGw7Y29uc3QgbD0ibGVmdCI9PT1lP1YoVCx2KTpJKFQsdikse3RvcDpzLGJvdHRvbTp1fT1hKG8sZyxTLHQsdiksYz1NYXRoLm1heChpLkltYmFsYW5jZUxldmVsT2Zmc2V0LE1hdGguZmxvb3IoaS5JbWJhbGFuY2VMZXZlbE9mZnNldCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSkscD1NYXRoLnJvdW5kKGkuSW1iYWxhbmNlTGV2ZWxXaWR0aCp2Lmhvcml6b250YWxQaXhlbFJhdGlvKSxkPSJsZWZ0Ij09PWUsbT0obj9kOiFkKT9sLmxlZnQtYy1wOmwucmlnaHQrYztyZXR1cm4oMCxyLmJveCkoKDAsci5wb2ludCkobSxzKSwoMCxyLnBvaW50KShtK3AsdSkpfSxjb3JyZWN0SW1iYWxhbmNlQm94OnQ9Pntjb25zdHttaW46ZSxtYXg6b309dDtyZXR1cm4oMCxyLmJveCkoZS5hZGQoXyksby5hZGQoXykpfX19fSw4NDYyOTModCxlLG8pe28ucihlKSxvLmQoZSx7Vm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9PlYsY3JlYXRlVm9sdW1lRm9vdHByaW50U3R1ZHk6KCk9Pkl9KTt2YXIgaT1vKDQzNzc0OSkscj1vKDg3MjM0Myksbj1vKDYwNTI1NyksbD1vKDE5NzI3MiksYT1vKDE1NjgyOSkscz1vKDczNzM3MSksdT1vKDE3NDM0MiksYz1vKDUwNTU2KSxwPW8oOTg0Mzc2KSxkPW8oNDAzODE3KSxtPW8oNzM0OTAzKSxoPW8oNTg4ODcwKSxmPW8oOTA4MjQ2KTtjb25zdCBTPXtwb3NpdGl2ZURlbHRhQ29sb3I6KDAsYy5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlRGVsdGFDb2xvcjooMCxjLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIil9O2NsYXNzIGcgZXh0ZW5kcyBoLlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMH1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGYudm9sdW1lRm9vdHByaW5nU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEodCxlKXtjb25zdCBvPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUoKSxuPXRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKTtpZihudWxsPT09cnx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgbD10aGlzLl9zdHVkeSxhPWwub3BlbkludGVyZXN0U3VwcG9ydGVkKCksYz1sLmV4dGVuZGVkT3BlbkludGVyZXN0U3VwcG9ydGVkKCksaD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLGY9aC50eXBlLnZhbHVlKCksZz1oLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5ibG9ja0luZm8uY2hpbGRzKCkseD1uZXcgcC5Wb2x1bWVGb3JtYXR0ZXIsdj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZm9ybWF0dGVyKCksYj10PT52LmZvcm1hdCh0KSx3PWY9PT11LlZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXMuQnV5QW5kU2VsbHx8Zj09PXUuVm9sdW1lRm9vdHByaW50VHlwZVZhbHVlcy5MYWRkZXI7bGV0IHk7aWYodyl7Y29uc3QgZT1pLmJhckJvcmRlcnMoMCksbz1pLmJhckJvcmRlcnMoMSkscj0oMCxtLnJpZ2h0Q29sdW1uQXJlYUxlZnRSaWdodCkoZSx0KSxuPSgwLG0ubGVmdENvbHVtbkFyZWFMZWZ0UmlnaHQpKG8sdCk7eT1NYXRoLnJvdW5kKChuLmxlZnQtci5yaWdodCkvMil9ZWxzZSB5PTA7Y29uc3QgVj1pLmJhclNwYWNpbmcoKSxJPW5ldyBkLkxvZ2ljYWxSYW5nZShlLmxlZnQoKS01LGUucmlnaHQoKSs1KSxUPVtdO2xldCBGO3JldHVybiBvLmZvb3RwcmludHMoKS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57aWYoIUkuY29udGFpbnMoZS5pbmRleCkpcmV0dXJuO2NvbnN0IG89ZS5zdW1tYXJ5LHI9KDAscy5kZWZhdWx0KShlLmxldmVscy5tYXAoKHQ9PnQuc2VsbFZvbHVtZSkpKSxuPSgwLHMuZGVmYXVsdCkoZS5sZXZlbHMubWFwKCh0PT50LmJ1eVZvbHVtZSkpKSxsPW4rcix1PVtdO2lmKGcudm9sdW1lLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnguZm9ybWF0KGwpfSksZy52b2x1bWVQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0OnZvaWQgMCE9PUY/YigobC1GKS9GKjEwMCk6IuKAlCJ9KSwKZy5idXlWb2x1bWUuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6eC5mb3JtYXQobil9KSxnLmJ1eVZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihuL2wqMTAwKX0pLGcuc2VsbFZvbHVtZS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDp4LmZvcm1hdChyKX0pLGcuc2VsbFZvbHVtZVBlcmNlbnRhZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihyL2wqMTAwKX0pLGcuZGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PW4tcjt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcuZGVsdGFQZXJjZW50YWdlLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0obi1yKS9sKjEwMDt1LnB1c2goe3RleHQ6Yih0KSxiYWNrZ3JvdW5kQ29sb3I6dD49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pfWlmKGcubWluRGVsdGEuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYobz91LnB1c2goe3RleHQ6YihvLm1pbkRlbHRhKSxiYWNrZ3JvdW5kQ29sb3I6by5taW5EZWx0YT49MD9TLnBvc2l0aXZlRGVsdGFDb2xvcjpTLm5lZ2F0aXZlRGVsdGFDb2xvcn0pOnUucHVzaCh7dGV4dDoi4oCUIn0pKSxnLm1heERlbHRhLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmKG8/dS5wdXNoKHt0ZXh0OmIoby5tYXhEZWx0YSksYmFja2dyb3VuZENvbG9yOm8ubWF4RGVsdGE+PTA/Uy5wb3NpdGl2ZURlbHRhQ29sb3I6Uy5uZWdhdGl2ZURlbHRhQ29sb3J9KTp1LnB1c2goe3RleHQ6IuKAlCJ9KSksZy5zZXNzaW9uQ1ZELmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/eC5mb3JtYXQoby5zZXNzaW9uQ1ZEKToi4oCUIn0pLGcucG9jUHJpY2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6YihlLnBvYyl9KSxnLmhsUmFuZ2UuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8uaGlnaExvd1JhbmdlP2Ioby5oaWdoTG93UmFuZ2UpOiLigJQifSksYSl7aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpLm9wZW5JbnRlcmVzdC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJnUucHVzaCh7dGV4dDpvPy5vcGVuSW50ZXJlc3RIaWdoP2Ioby5vcGVuSW50ZXJlc3RIaWdoKToi4oCUIn0pfWlmKGMpe2NvbnN0IHQ9aC5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKCk7dC5vcGVuSW50ZXJlc3RIaWdoLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdS5wdXNoKHt0ZXh0Om8/Lm9wZW5JbnRlcmVzdEhpZ2g/YihvLm9wZW5JbnRlcmVzdEhpZ2gpOiLigJQifSksdC5vcGVuSW50ZXJlc3RMb3cuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ1LnB1c2goe3RleHQ6bz8ub3BlbkludGVyZXN0TG93P2Ioby5vcGVuSW50ZXJlc3RMb3cpOiLigJQifSl9Y29uc3QgcD0oZT0+e2NvbnN0IG89aS5iYXJCb3JkZXJzKGUpO3JldHVybiB3PygwLG0uc3VtbWFyeUFyZWEyQ29sdW1uc0xlZnRSaWdodCkobyx0KTp7bGVmdDpvLmNlbnRlcip0Lmhvcml6b250YWxQaXhlbFJhdGlvLHJpZ2h0OihvLmNlbnRlcitWKSp0Lmhvcml6b250YWxQaXhlbFJhdGlvfX0pKGUuaW5kZXgpO1QucHVzaCh7bGVmdDpwLmxlZnQteSxyaWdodDpwLnJpZ2h0K3kscm93czp1fSksRj1sfSkpfSkpLFR9fXZhciB4PW8oMTM4NjM4KSx2PW8oNzQ1NTY5KSxiPW8oMzA1MTAyKTtjbGFzcyB3IGV4dGVuZHMgdi5TdW1tYXJ5V2lkZ2V0U2lkZUFyZWFWaWV3e19nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpe3JldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZi52b2x1bWVGb290cHJpbmdTdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IHQ9W10sZT0oMCx4LmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCkpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52b2xGb290cHJpbnRTdHlsZS5jaGlsZHMoKS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCk7cmV0dXJuIHQucHVzaCguLi5iLmJhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXMuZmlsdGVyKCh0PT5vLmJsb2NrSW5mby5jaGlsZHMoKVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKHQ9PnQudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSkpLGUub3BlbkludGVyZXN0U3VwcG9ydGVkKCkmJnQucHVzaCguLi5iLm9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8ub3BlbkludGVyZXN0QmxvY2tJbmZvLmNoaWxkcygpW3QucHJvcE5hbWVdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkpLm1hcCgodD0+dC50cmFuc2xhdGVkU3RyaW5nLnRyYW5zbGF0ZWRUZXh0KCkpKSksZS5leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpJiZ0LnB1c2goLi4uYi5leHRlbmRlZE9wZW5JbnRlcmVzdFZvbHVtZUZvb3RwcmludFJvd1RpdGxlcy5maWx0ZXIoKHQ9Pm8uZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm8uY2hpbGRzKClbdC5wcm9wTmFtZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKSkubWFwKCh0PT50LnRyYW5zbGF0ZWRTdHJpbmcudHJhbnNsYXRlZFRleHQoKSkpKSx0fX12YXIgeT1vKDcyODQzNik7Y2xhc3MgViBleHRlbmRzIGwuU3R1ZHl7Y29uc3RydWN0b3IodCxlLG8saSxyLG4sbD0hMSl7c3VwZXIodCxlLG8saSxyLG4pLHRoaXMuX3Jvd1NpemU9LjEsdGhpcy5fY2hhcnRTdHlsZU1vZGU9bCx0aGlzLl9zdW1tYXJ5UGFuZVZpZXc9bmV3IGcodGhpcyx0KSx0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXc9bmV3IHcodCl9cm93U2l6ZSgpe3JldHVybiB0aGlzLl9yb3dTaXplfW9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpewpjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT10JiYoMCxhLmlzRnV0dXJlcykodC50eXBlKSYmISgwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKHQudHlwZXNwZWNzKX1leHRlbmRlZE9wZW5JbnRlcmVzdFN1cHBvcnRlZCgpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PXQmJigoMCxhLmlzRnV0dXJlcykodC50eXBlKXx8InN3YXAiPT09dC50eXBlKSYmKDAsYS5oYXNDcnlwdG9UeXBlc3BlYykodC50eXBlc3BlY3MpfXBhbmVWaWV3cyh0KXtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGU/dCE9PXRoaXMuX21vZGVsLm1haW5QYW5lKCk/W3RoaXMuX3N1bW1hcnlQYW5lVmlld106dGhpcy5fcGFuZVZpZXdzOnN1cGVyLnBhbmVWaWV3cyh0KX1jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbnVsbH1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIG51bGx9dXBkYXRlQWxsVmlld3ModCl7c3VwZXIudXBkYXRlQWxsVmlld3ModCksdGhpcy5fc3VtbWFyeVBhbmVWaWV3LnVwZGF0ZSgpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy51cGRhdGUoKX13aWRnZXRTaWRlQXJlYVZpZXdzKHQpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBvPXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYoIW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtyZXR1cm4gdGhpcy5fY2hhcnRTdHlsZU1vZGUmJnQ9PT1pP1t0aGlzLl93aWRnZXRTaWRlQXJlYVZpZXddOm51bGx9cHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1maXJzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl9c3RhdGVDdXN0b21GaWVsZHMoKXtyZXR1cm57cm93U2l6ZTp0aGlzLl9yb3dTaXplfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHModCl7dGhpcy5fcm93U2l6ZT10LnJvd1NpemU/P3RoaXMuX3Jvd1NpemV9X2ZpbGxQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyh0KXtjb25zdCBlPSgwLGwuZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbykoKSxvPXRoaXMuX3Jvd1NpemU7aWYobnVsbD09PW8pcmV0dXJuIGU7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6aSxlbmRUaW1lUG9pbnQ6cn09dCxuPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuYmFycygpLm1pbk1heE9uUmFuZ2UoaSxyLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pO2lmKCFuKXJldHVybiBlO2NvbnN0e21pbjphLG1heDpzfT1uO2xldCB1PU1hdGguZmxvb3IoYS9vKSpvO2lmKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnZvbEZvb3RwcmludFN0eWxlLmNoaWxkcygpLnNob3dTdW1tYXJ5LnZhbHVlKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxlPXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKHUsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5maXJzdFZhbHVlKCl8fDApO3U9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkuY29vcmRpbmF0ZVRvUHJpY2UoZStNYXRoLmZsb29yKC40KnQpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZmlyc3RWYWx1ZSgpfHwwKX1yZXR1cm57Li4uZSxiYXNlVmFsdWVNaW5NYXg6e21pbjp1LG1heDpNYXRoLmNlaWwocy9vKSpvfX19X29uRGF0YVVwZGF0ZWQodCxlLG8saSl7c3VwZXIuX29uRGF0YVVwZGF0ZWQodCxlLG8saSksZT8uaW5kZXhlc19yZXBsYWNlfHwodGhpcy5fcm93U2l6ZT0oZT8uZGF0YSkucm93U2l6ZT8/dGhpcy5fcm93U2l6ZSl9fWFzeW5jIGZ1bmN0aW9uIEkodCl7Y29uc3QgZT1hd2FpdCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6eS5zdHVkeVZvbEZvb3RwcmludElkfSksbz0oMCxpLnByZXBhcmVTdHVkeVByb3BlcnRpZXMpKGUse30sbnVsbCwoMCxuLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnN0dWR5VmVyc2lvbmluZygpLFtdKTtyZXR1cm4oMCxyLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50Iix7c3R1ZHlDb25zdHJ1Y3RvcjpWLGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgVih0LG8sW10sZSxlLCExLCEwKX19LDMwNTEwMih0LGUsbyl7by5kKGUse2Jhc2VWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PncsZXh0ZW5kZWRPcGVuSW50ZXJlc3RWb2x1bWVGb290cHJpbnRSb3dUaXRsZXM6KCk9PlYsb3BlbkludGVyZXN0Vm9sdW1lRm9vdHByaW50Um93VGl0bGVzOigpPT55fSk7dmFyIGk9byg3ODMyNTQpLHI9byg1NzA2MDMpO2NvbnN0IG49aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNzI0NjYxKSksbD1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg5MTU2NDUpKSxhPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDU3MzIyNCkpLHM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNTMwOTMxKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg3NDc3NzYpKSxjPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDc5NDM4MCkpLHA9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMTM5ODcwKSksZD1pLnQobnVsbCx7CmNvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oMjE5MzA2KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg4MTEwODIpKSxoPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDI0OTQxKSksZj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlLCBhYmJyIGN1bXVsYXRpdmUgZGVsdGEifSxvKDk3MzM5NSkpLFM9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSwgYWJiciBQb2ludCBvZiBjb250cm9sIn0sbygzNDc4NDkpKSxnPWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUsIGhpZ2gtbG93IHJhbmdlIn0sbyg4MTUyNDApKSx4PWkudChudWxsLHtjb250ZXh0OiJWb2x1bWVGb290cHJpbnQgYmFyIHN0YXRpc3RpYyByb3cgdGl0bGUifSxvKDY2OTc1MykpLHY9aS50KG51bGwse2NvbnRleHQ6IlZvbHVtZUZvb3RwcmludCBiYXIgc3RhdGlzdGljIHJvdyB0aXRsZSJ9LG8oNjAwNDUzKSksYj1pLnQobnVsbCx7Y29udGV4dDoiVm9sdW1lRm9vdHByaW50IGJhciBzdGF0aXN0aWMgcm93IHRpdGxlIn0sbyg0NTY1NDIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUiLG4pLHByb3BOYW1lOiJ2b2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWb2x1bWUgY2hhbmdlLCAlIixsKSxwcm9wTmFtZToidm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIkJ1eSB2b2x1bWUiLGEpLHByb3BOYW1lOiJidXlWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJCdXkgdm9sdW1lLCAlIixzKSxwcm9wTmFtZToiYnV5Vm9sdW1lUGVyY2VudGFnZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lIix1KSxwcm9wTmFtZToic2VsbFZvbHVtZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlNlbGwgdm9sdW1lLCAlIixjKSxwcm9wTmFtZToic2VsbFZvbHVtZVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJEZWx0YSIscCkscHJvcE5hbWU6ImRlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiRGVsdGEsICUiLGQpLHByb3BOYW1lOiJkZWx0YVBlcmNlbnRhZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJNaW4gZGVsdGEiLG0pLHByb3BOYW1lOiJtaW5EZWx0YSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIk1heCBkZWx0YSIsaCkscHJvcE5hbWU6Im1heERlbHRhIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiU2Vzc2lvbiBDVkQiLGYpLHByb3BOYW1lOiJzZXNzaW9uQ1ZEIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiUE9DIixTKSxwcm9wTmFtZToicG9jUHJpY2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsZykscHJvcE5hbWU6ImhsUmFuZ2UifV0seT1be3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCIseCkscHJvcE5hbWU6Im9wZW5JbnRlcmVzdCJ9XSxWPVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJPcGVuIGludGVyZXN0IGhpZ2giLHYpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RIaWdoIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiT3BlbiBpbnRlcmVzdCBsb3ciLGIpLHByb3BOYW1lOiJvcGVuSW50ZXJlc3RMb3cifV19LDczNzM3MSh0LGUsbyl7by5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBuPWUodFtpXSk7dm9pZCAwIT09biYmKG89dm9pZCAwPT09bz9uOm8rbil9cmV0dXJuIG99O3ZhciByPW8oMjMyODU0KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9pKHQsci5kZWZhdWx0KTowfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.389Z","timestamp":1785136428389,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-19360\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a12b4a575fc74d51e67cce63219ff91d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-08-11T10:15:18.40934Z","times_seen":6417,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/6535.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.679Z","timestamp":1785136428679,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/6535.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1806\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 08 May 2023 03:42:18 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 16:40:14 GMT\r\netag: \"de7112f39c6623341a6f2e9d89ab31e6\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 52415\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: QNqd5aoELhlZMI4UOyus1FbR4N6eDzzgK3FFP1WNduSannI3XcxFjQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":1806,"size_decoded":2340,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"de7112f39c6623341a6f2e9d89ab31e6","sha1":"fa9dd8e57b43b4f0e041a86fdcae6f9d93db1a7a","sha256":"ddc134f6755b95cfa468aebe1528788a4cb82af807a7e887ad88c986e5a3f770","sha512":"2e9f9ff3bcb43c1a828a13ce4e8ae0d42152a1a3b6fd18eb6dcb6bfa8f20aff6a088c252580d9396ad95ba018a2552200f9fc30670254cf68030ae3021cc7367","ssdeep":"","tlshash":"59312bdb4fc71fb05d640aa848041b83e60f09dfcbbb159d41a094dd86c1be253e216b","first_seen":"2023-07-14T07:00:22Z","last_seen":"2026-08-11T04:47:30.13279Z","times_seen":1530,"resource_available":false,"data":"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"}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/ta.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.064Z","timestamp":1785136422064,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/ta.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4764\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":4764,"size_decoded":5105,"mime_type":"image/png","magic":"PNG image data, 71 x 71, 8-bit/color RGBA, non-interlaced","md5":"9b8ebfbed38bff50df93bf7aff86d4eb","sha1":"f3277264dc943ff6142b11212a3bfe2f642dd875","sha256":"1b33278628d964814ce5d1cbc586710f9e6f69d1f1dc86b41801258053503303","sha512":"55f813d2c7748b17cc7e993b271ad693e85968a6a5be6f4cb35927f45f6e9bf02c16eb422ef362c8290516f18aeb0690af1a1eecbf205ef054227c2269625462","ssdeep":"96:vpADEBgDOKavVcVh/9v175uK+9FgJa9FfSt/EOsqTG4VbZrAlo4rDd9lCVn0:GEu3T9vJOXB0XA5ZEn0","tlshash":"9ba16ccc375ed08c814e86577641b1bbb9d4440fcb236b562d4930d9b1a8c6bf6cd598","first_seen":"2025-12-03T04:46:43.737289Z","last_seen":"2026-07-29T06:14:00.403616Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4436,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4436,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.750Z","timestamp":1785136427750,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94825.8a90c0c3ebd413eb9c81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-846c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a12bd1c10465efe40338034072574f5f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":33900,"size_decoded":11131,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"321406610467d6dffd30c75b9184e9df","sha1":"eb120d6cc348265cbed0295dd3cfab7428c5425f","sha256":"3f94fcd41f3f37d9d46697679761c3bf1712a0f67a22b38bc5e3c44b47eb56b5","sha512":"8d1b1035b2fe029452f0a7de35ef2793e6da96377c589956a5e21eaf23f3b2ae7bcedfe568a74bb8ba9a46109cdc8876912e2d73814beca47bbfa286c3081136","ssdeep":"768:QmBTez9037WM2rFgD0Nm7YLSxeUf4DK4uA8JUJESLb/XW4xmmInIPxHgask+vvw4:Q4Ow7uxNVvpPpghBT4Uf","tlshash":"17e2b693b3f9a02966ded0dad8341403e31924447884046cf27dbdde6b5dd88b2b9b7e","first_seen":"2026-07-23T13:38:20.509185Z","last_seen":"2026-07-29T11:04:57.494393Z","times_seen":755,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTQ4MjVdLHs0MDIwNDUoZSx0LHMpe3MuZCh0LHtXYXRjaGVkT2JqZWN0OigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cygyMzIzNjQpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxyLmRlZXBFcXVhbHMpKGUsdClbMF19Y2xhc3MgbyBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdD1hKXtzdXBlcihlKSx0aGlzLl9jb21wYXJhdG9yPXR9c2V0VmFsdWUoZSx0KXshdCYmdGhpcy5fY29tcGFyYXRvcih0aGlzLnZhbHVlKCksZSl8fHN1cGVyLnNldFZhbHVlKGUsdCl9fX0sNjI0Njc4KGUsdCxzKXtzLmQodCx7RGF0ZUZvcm1hdHRlcjooKT0+YX0pO3ZhciByPXMoNDkxMTY1KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGU9Inl5eXktTU0tZGQiLHQ9ITEscz0iVVRDIil7dGhpcy5fZGF0ZUZvcm1hdEZ1bmM9dD8oMCxyLmdldERhdGVGb3JtYXRXaXRoV2Vla2RheSkoZSxzKTpyLmRhdGVGb3JtYXRGdW5jdGlvbnNbZV19Zm9ybWF0KGUpe3JldHVybiB0aGlzLl9kYXRlRm9ybWF0RnVuYyhlLCExKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdEZ1bmMoZSwhMCl9cGFyc2UoZSl7cmV0dXJuIiI9PT1lP3tyZXM6ITF9OntyZXM6ITAsdmFsdWU6ZX19fWNsYXNzIGF7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZT1uZXcgaShlLHQscyl9Zm9ybWF0KGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBhLl9jdXN0b21Gb3JtYXR0ZXI/YS5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX2RhdGVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1wYXJzZShlKXtyZXR1cm4gYS5fY3VzdG9tRm9ybWF0dGVyP2EuX2N1c3RvbUZvcm1hdHRlci5wYXJzZShlKTp0aGlzLl9kYXRlRm9ybWF0dGVySW5zdGFuY2UucGFyc2UoZSl9c3RhdGljIHNldEN1c3RvbUZvcm1hdHRlcihlKXthLl9jdXN0b21Gb3JtYXR0ZXI9ZX19YS5fY3VzdG9tRm9ybWF0dGVyPW51bGx9LDgyNjE1NihlLHQscyl7cy5kKHQse0RhdGVUaW1lRm9ybWF0dGVyOigpPT5ufSk7dmFyIHI9cygyMzgxMDMpLGk9cyg2MjQ2NzgpLGE9cygyOTcxMTEpO2NvbnN0IG89e2RhdGVGb3JtYXQ6Inl5eXktTU0tZGQiLHdpdGhXZWVrZGF5OiExLHRpbWVGb3JtYXQ6ci5ob3VyTWludXRlU2Vjb25kRm9ybWF0LGRhdGVUaW1lU2VwYXJhdG9yOiIgIn07Y2xhc3Mgbntjb25zdHJ1Y3RvcihlPXt9KXtjb25zdCB0PU9iamVjdC5hc3NpZ24oe30sbyxlKTt0aGlzLl9kYXRlRm9ybWF0dGVyPW5ldyBpLkRhdGVGb3JtYXR0ZXIodC5kYXRlRm9ybWF0LHQud2l0aFdlZWtkYXksdC50aW1lem9uZSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgYS5UaW1lRm9ybWF0dGVyKHQudGltZUZvcm1hdCksdGhpcy5fc2VwYXJhdG9yPXQuZGF0ZVRpbWVTZXBhcmF0b3J9Zm9ybWF0KGUsdCl7Y29uc3Qgcz10Py5kYXRlVGltZVNlcGFyYXRvcj8/dGhpcy5fc2VwYXJhdG9yO3JldHVybmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KGUpfSR7c30ke3RoaXMuX3RpbWVGb3JtYXR0ZXIuZm9ybWF0KGUpfWB9Zm9ybWF0TG9jYWwoZSx0KXtjb25zdCBzPXQ/LmRhdGVUaW1lU2VwYXJhdG9yPz90aGlzLl9zZXBhcmF0b3I7cmV0dXJuYCR7dGhpcy5fZGF0ZUZvcm1hdHRlci5mb3JtYXRMb2NhbChlKX0ke3N9JHt0aGlzLl90aW1lRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpfWB9fX0sMjM4MTAzKGUsdCxzKXtzLmQodCx7aG91ck1pbnV0ZUZvcm1hdDooKT0+byxob3VyTWludXRlTm9uWmVyb1NlY29uZEZvcm1hdDooKT0+aSxob3VyTWludXRlU2Vjb25kRm9ybWF0OigpPT5yLGhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdDooKT0+YSx0d2VsdmVIb3VyTWludXRlRm9ybWF0OigpPT5sLHR3ZWx2ZUhvdXJNaW51dGVOb25aZXJvU2Vjb25kRm9ybWF0OigpPT5kLHR3ZWx2ZUhvdXJNaW51dGVTZWNvbmRGb3JtYXQ6KCk9Pm59KTtjb25zdCByPSIlaDolbTolcyIsaT0iJWg6JW06JXMrIixhPSIlaDolbTolcy4lc3MrIixvPSIlaDolbSIsbj0iJWg6JW06JXMgJWFtcG0iLGQ9IiVoOiVtOiVzKyAlYW1wbSIsbD0iJWg6JW0gJWFtcG0iO3ZhciBoOyFmdW5jdGlvbihlKXtlLlR3ZW50eUZvdXJIb3Vycz0iMjQtaG91cnMiLGUuVHdlbHZlSG91cnM9IjEyLWhvdXJzIn0oaHx8KGg9e30pKX0sMjk3MTExKGUsdCxzKXtzLmQodCx7VGltZUZvcm1hdHRlcjooKT0+b30pO3ZhciByPXMoMjM4MTAzKSxpPXMoODIyNDMxKTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQ9ITEsdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycz1bXTtjb25zdCB0PWV8fHIuaG91ck1pbnV0ZVNlY29uZEZvcm1hdCxzPW5ldyBSZWdFeHAoIiVofCVtfCVzXFwrfCVzc1xcK3wlc3N8JWFtcG18JXMiLCJnIik7bGV0IGk9cy5leGVjKHQpLGE9MDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT1pWzBdOyIlYW1wbSI9PT1lJiYodGhpcy5faXNUd2VsdmVIb3Vyc0Zvcm1hdD0hMCk7Y29uc3Qgcj10LnN1YnN0cmluZyhhLGkuaW5kZXgpOyIiIT09ciYmdGhpcy5fdmFsdWVzQW5kRGVsaW1pdGVycy5wdXNoKHIpLHRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnMucHVzaChlKSxhPWkuaW5kZXgrZS5sZW5ndGgsaT1zLmV4ZWModCl9fWZvcm1hdChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlKX1mb3JtYXRMb2NhbChlKXtyZXR1cm4gdGhpcy5fZm9ybWF0VGltZShlLCEwKX1fZm9ybWF0VGltZShlLHQ9ITEpe2xldCBzPXQ/ZS5nZXRIb3VycygpOmUuZ2V0VVRDSG91cnMoKTtjb25zdCByPXQ/ZS5nZXRNaW51dGVzKCk6ZS5nZXRVVENNaW51dGVzKCksYT10P2UuZ2V0U2Vjb25kcygpOmUuZ2V0VVRDU2Vjb25kcygpLG89dD9lLmdldE1pbGxpc2Vjb25kcygpOmUuZ2V0VVRDTWlsbGlzZWNvbmRzKCk7bGV0IG49IiIKO3RoaXMuX2lzVHdlbHZlSG91cnNGb3JtYXQmJihuPXM+PTEyPyJQTSI6IkFNIixzJT0xMixzPXN8fDEyKTtsZXQgZD0iIixsPSExO2ZvcihsZXQgZT10aGlzLl92YWx1ZXNBbmREZWxpbWl0ZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCB0PXRoaXMuX3ZhbHVlc0FuZERlbGltaXRlcnNbZV07bGV0IGg7c3dpdGNoKHQpe2Nhc2UiJWgiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykocywyKTticmVhaztjYXNlIiVtIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKHIsMik7YnJlYWs7Y2FzZSIlcysiOjAhPT1hP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYSwyKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVzIjpoPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGEsMik7YnJlYWs7Y2FzZSIlc3MiOmg9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTticmVhaztjYXNlIiVzcysiOjAhPT1vP2g9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobywzKTooaD0iIixsPSEwKTticmVhaztjYXNlIiVhbXBtIjpoPW47YnJlYWs7ZGVmYXVsdDppZihsKXtsPSExO2NvbnRpbnVlfWg9dH1kPWgrZH1yZXR1cm4gZH19Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlKXt0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2U9bmV3IGEoZSl9Zm9ybWF0KGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdChlKTp0aGlzLl90aW1lRm9ybWF0dGVySW5zdGFuY2UuZm9ybWF0KGUpfWZvcm1hdExvY2FsKGUpe3JldHVybiBvLl9jdXN0b21Gb3JtYXR0ZXI/by5fY3VzdG9tRm9ybWF0dGVyLmZvcm1hdExvY2FsKGUpOnRoaXMuX3RpbWVGb3JtYXR0ZXJJbnN0YW5jZS5mb3JtYXRMb2NhbChlKX1zdGF0aWMgc2V0Q3VzdG9tRm9ybWF0dGVyKGUpe28uX2N1c3RvbUZvcm1hdHRlcj1lfX1vLl9jdXN0b21Gb3JtYXR0ZXI9bnVsbH0sNDU5OTk0KGUsdCxzKXtzLmQodCx7Q2hhcnRTZXNzaW9uOigpPT5jfSk7dmFyIHI9cyg5NDgzODApLGk9cygxMzg2MzgpLGE9cygyMzIzNjQpLG89cygyMjEwNjEpLG49cygxNTAxNTApO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJDaGFydEFwaS5BYnN0cmFjdFNlc3Npb24iKTt2YXIgbDshZnVuY3Rpb24oZSl7ZVtlLkRpc2Nvbm5lY3RlZD0wXT0iRGlzY29ubmVjdGVkIixlW2UuUmVnaXN0ZXJlZD0xXT0iUmVnaXN0ZXJlZCIsZVtlLkNvbm5lY3RlZD0yXT0iQ29ubmVjdGVkIn0obHx8KGw9e30pKTtjbGFzcyBoe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pc0Nvbm5lY3RlZD1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXRlPTAsdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExLHRoaXMuX3Nlc3Npb25JZD0iIix0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkPW5ldyByLkRlbGVnYXRlLHRoaXMuX2NoYXJ0QXBpPWUsdGhpcy5fc2Vzc2lvblByZWZpeD10LHRoaXMuX3Nob3VsZFJlY29ubmVjdEFmdGVyQ3JpdGljYWxFcnJvcj1zfWRlc3Ryb3koKXt0aGlzLl9sb2dOb3JtYWwoIkRlc3Ryb3lpbmcgc2Vzc2lvbiIpLHRoaXMuX2lzQ29ubmVjdGVkLnVuc3Vic2NyaWJlKCksdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5kZXN0cm95KCksZGVsZXRlIHRoaXMuX2NoYXJ0QXBpLHRoaXMuX2xvZ05vcm1hbCgiU2Vzc2lvbiBoYXMgYmVlbiBkZXN0cm95ZWQiKX1pc0Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9pc0Nvbm5lY3RlZH1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbklkfW9uU2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfWNvbm5lY3QoKXswPT09dGhpcy5fc3RhdGUmJigoMCxpLmFzc2VydCkoIXRoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbiwiQ2Fubm90IGNhbGwgY29ubmVjdCBiZWNhdXNlIGl0IGlzIGZvcmJpZGRlbiBhdCB0aGlzIG1vbWVudCIpLHRoaXMuX3NldFNlc3Npb25JZChgJHt0aGlzLl9zZXNzaW9uUHJlZml4fV8keygwLG4ucmFuZG9tSGFzaCkoKX1gKSx0aGlzLl9sb2dOb3JtYWwoIkNvbm5lY3Rpbmcgc2Vzc2lvbiAtIHdhaXQgdW50aWwgdHJhbnNwb3J0IHN0YXkgY29ubmVjdGVkIiksdGhpcy5fc3RhdGU9MSx0aGlzLl9jaGFydEFwaS5jcmVhdGVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCx0aGlzKSl9ZGlzY29ubmVjdCgpezAhPT10aGlzLl9zdGF0ZSYmKCgwLGkuYXNzZXJ0KSgiIiE9PXRoaXMuX3Nlc3Npb25JZCwic2Vzc2lvbklkIG11c3Qgbm90IGJlIGludmFsaWQiKSx0aGlzLl9sb2dOb3JtYWwoIkRpc2Nvbm5lY3Rpbmcgc2Vzc2lvbi4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9jaGFydEFwaS5jb25uZWN0ZWQoKSYmdGhpcy5fc2VuZFJlbW92ZVNlc3Npb24oKSx0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSkpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjpyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0QXBpQ29ubmVjdGVkKCk7Y2FzZSJkaXNjb25uZWN0ZWQiOnJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKTtjYXNlImNyaXRpY2FsX2Vycm9yIjpjb25zdCB0PVN0cmluZyhlLnBhcmFtc1swXSkscz1TdHJpbmcoZS5wYXJhbXNbMV0pO3JldHVybiB2b2lkIHRoaXMuX29uQ3JpdGljYWxFcnJvcih0LHMpfXRoaXMuX29uTWVzc2FnZShlKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLnNlcnZlclRpbWUoKX1fZ2V0Q2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGl9X2dlbmVyYXRlTG9nTWVzc2FnZShlKXtyZXR1cm5gWyR7dGhpcy5fc2Vzc2lvbklkfV0gJHtlfWB9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2xvZ0Vycm9yKGBDcml0aWNhbCBlcnJvci4gUmVhc29uPSR7ZX0sIGluZm89JHt0fS5gKSx0aGlzLl9mb3JiaWRDb25uZWN0V2hpbGUoKCgpPT57dGhpcy5fcHJvY2Vzc0Rlc3Ryb3lpbmdPblNlcnZlcigpfSkpLAp0aGlzLl9zaG91bGRSZWNvbm5lY3RBZnRlckNyaXRpY2FsRXJyb3I/KHRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yLi4uIiksdGhpcy5jb25uZWN0KCkpOnRoaXMuX2xvZ05vcm1hbCgiUmVjb25uZWN0aW5nIGFmdGVyIGNyaXRpY2FsIGVycm9yIHNraXBwZWQiKX1fb25DaGFydEFwaUNvbm5lY3RlZCgpeygwLGkuYXNzZXJ0KSgxPT09dGhpcy5fc3RhdGUsIlNlc3Npb24gaXMgbm90IHJlZ2lzdGVyZWQiKSx0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBjb25uZWN0ZWQuIENyZWF0aW5nIHNlc3Npb24gb24gdGhlIHNlcnZlciIpLHRoaXMuX3NlbmRDcmVhdGVTZXNzaW9uKCksdGhpcy5fc3RhdGU9Mix0aGlzLl9pc0Nvbm5lY3RlZC5zZXRWYWx1ZSghMCl9X29uQ2hhcnRBcGlEaXNjb25uZWN0ZWQoKXt0aGlzLl9sb2dOb3JtYWwoIlRyYW5zcG9ydCBpcyBkaXNjb25uZWN0ZWQuIFJlY29ubmVjdGluZy4uLiIpLHRoaXMuX2ZvcmJpZENvbm5lY3RXaGlsZSgoKCk9Pnt0aGlzLl9wcm9jZXNzRGVzdHJveWluZ09uU2VydmVyKCl9KSksdGhpcy5jb25uZWN0KCl9X3NldFNlc3Npb25JZChlKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25JZDt0aGlzLl9sb2dOb3JtYWwoYENoYW5naW5nIHNlc3Npb25JZDogb2xkPSR7dH0sIG5ldz0ke2V9YCksdGhpcy5fc2Vzc2lvbklkPWUsdGhpcy5fc2Vzc2lvbklkQ2hhbmdlZC5maXJlKGUsdCl9X2xvZ05vcm1hbChlKXtkLmxvZ05vcm1hbCh0aGlzLl9nZW5lcmF0ZUxvZ01lc3NhZ2UoZSkpfV9sb2dFcnJvcihlKXtkLmxvZ0Vycm9yKHRoaXMuX2dlbmVyYXRlTG9nTWVzc2FnZShlKSl9X3Byb2Nlc3NEZXN0cm95aW5nT25TZXJ2ZXIoKXt0aGlzLl9zdGF0ZT0wLHRoaXMuX2lzQ29ubmVjdGVkLnNldFZhbHVlKCExKSx0aGlzLl9jaGFydEFwaS5yZW1vdmVTZXNzaW9uKHRoaXMuX3Nlc3Npb25JZCksdGhpcy5fc2V0U2Vzc2lvbklkKCIiKX1fZm9yYmlkQ29ubmVjdFdoaWxlKGUpe3RoaXMuX2lzQ29ubmVjdEZvcmJpZGRlbj0hMCxlKCksdGhpcy5faXNDb25uZWN0Rm9yYmlkZGVuPSExfX1jbGFzcyBjIGV4dGVuZHMgaHtjb25zdHJ1Y3RvcihlLHQ9ITEpe3N1cGVyKGUsImNzIiwhMSksdGhpcy5fc2Vzc2lvbkRpc2FibGVkPSExLHRoaXMuX2hhbmRsZXI9bnVsbCx0aGlzLl9jcml0aWNhbEVycm9yPW5ldyByLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFJlc29sdmVNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXA9bmV3IE1hcCx0aGlzLl9kaXNhYmxlU3RhdGlzdGljcz10fWRlc3Ryb3koKXt0aGlzLl9jcml0aWNhbEVycm9yLmRlc3Ryb3koKSx0aGlzLl9oYW5kbGVyPW51bGwsdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5jbGVhcigpLHN1cGVyLmRlc3Ryb3koKX1zd2l0Y2hUaW1lem9uZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zd2l0Y2hUaW1lem9uZSh0aGlzLnNlc3Npb25JZCgpLGUpfWRlZmF1bHRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmRlZmF1bHRSZXNvbHV0aW9ucygpfWF2YWlsYWJsZUN1cnJlbmNpZXMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVVbml0cygpfWF2YWlsYWJsZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmF2YWlsYWJsZVByaWNlU291cmNlcyhlKX1yZXNvbHZlU3ltYm9sKGUsdCxzKXtpZih0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmhhcyh0KSl7Y29uc3RbZSxyXT10aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmdldCh0KTtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLnB1c2gocyk6ci50aGVuKHMpLGV9e2NvbnN0IHI9W3NdO3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlc29sdmVTeW1ib2wodGhpcy5zZXNzaW9uSWQoKSxlLHQsKHM9PntpZigic3ltYm9sX2Vycm9yIj09PXMubWV0aG9kKXRoaXMuX3N5bWJvbFJlc29sdmVNYXAuZGVsZXRlKHQpO2Vsc2V7dGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxQcm9taXNlLnJlc29sdmUocyldKTtjb25zdFsscl09cy5wYXJhbXMsaT17cHJvX25hbWU6ci5wcm9fbmFtZSx0aWNrZXI6ci50aWNrZXJ9O3RoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQodCxpKSxpLnByb19uYW1lJiZ0aGlzLl9sYXN0U3ltYm9sUmVzb2x2ZUluZm9NYXAuc2V0KGkucHJvX25hbWUsaSksci5mdWxsX25hbWUmJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoci5mdWxsX25hbWUsaSksaS50aWNrZXImJnRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5zZXQoaS50aWNrZXIsaSl9ci5mb3JFYWNoKChlPT5lKHMpKSl9KSksdGhpcy5fc3ltYm9sUmVzb2x2ZU1hcC5zZXQodCxbZSxyXSksZX19cmVxdWVzdEZpcnN0QmFyVGltZShlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdEZpcnN0QmFyVGltZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1sYXN0U3ltYm9sUmVzb2x2ZUluZm8oZSl7cmV0dXJuIHRoaXMuX2xhc3RTeW1ib2xSZXNvbHZlSW5mb01hcC5nZXQoZSk/P251bGx9Y3JlYXRlU2VyaWVzKGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVNlcmllcyh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSxhLG8pfW1vZGlmeVNlcmllcyhlLHQscyxyLGksYSxvKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlLHQscyxyLGksYSxvKX1yZW1vdmVTZXJpZXMoZSl7cmV0dXJuISF0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmdGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZW1vdmVTZXJpZXModGhpcy5zZXNzaW9uSWQoKSxlKX1yZXF1ZXN0TW9yZURhdGEoZSx0LHMpewpyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5fZ2V0Q2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEodGhpcy5zZXNzaW9uSWQoKSxlKTp0aGlzLl9nZXRDaGFydEFwaSgpLnJlcXVlc3RNb3JlRGF0YSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQscyl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVxdWVzdE1vcmVUaWNrbWFya3ModGhpcy5zZXNzaW9uSWQoKSxlLHQscyl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKHRoaXMuc2Vzc2lvbklkKCksZSl9Y2FuQ3JlYXRlU3R1ZHkoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCl9Z2V0U3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkuZ2V0U3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWdldEZ1bmRhbWVudGFsQ291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldEZ1bmRhbWVudGFsQ291bnRlcih0aGlzLnNlc3Npb25JZCgpKX1nZXRDaGlsZFN0dWR5Q291bnRlcigpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmdldENoaWxkU3R1ZHlDb3VudGVyKHRoaXMuc2Vzc2lvbklkKCkpfWNyZWF0ZVN0dWR5KGUsdCxzLHIsaSxhLG8pe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEsbyl9bW9kaWZ5U3R1ZHkoZSx0LHMscixpKXtyZXR1cm4gdGhpcy5fZ2V0Q2hhcnRBcGkoKS5tb2RpZnlTdHVkeSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsaSl9bm90aWZ5U3R1ZHkoZSx0LHMpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm5vdGlmeVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMpfXJlbW92ZVN0dWR5KGUpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLnJlbW92ZVN0dWR5KHRoaXMuc2Vzc2lvbklkKCksZSl9Y3JlYXRlUG9pbnRzZXQoZSx0LHMscixpLGEpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLmNyZWF0ZVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscixpLGEpfW1vZGlmeVBvaW50c2V0KGUsdCxzLHIpe3JldHVybiB0aGlzLl9nZXRDaGFydEFwaSgpLm1vZGlmeVBvaW50c2V0KHRoaXMuc2Vzc2lvbklkKCksZSx0LHMscil9cmVtb3ZlUG9pbnRzZXQoZSl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCkucmVtb3ZlUG9pbnRzZXQodGhpcy5zZXNzaW9uSWQoKSxlKX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxzLHIsaSxhLG8pe3RoaXMuX2dldENoYXJ0QXBpKCkuc2V0VmlzaWJsZVRpbWVSYW5nZSh0aGlzLnNlc3Npb25JZCgpLGUsdCxzLHIsITAsaSxhLHZvaWQgMCxvKX1jcml0aWNhbEVycm9yKCl7cmV0dXJuIHRoaXMuX2NyaXRpY2FsRXJyb3J9Y29ubmVjdChlPW51bGwpe251bGwhPT1lJiYodGhpcy5faGFuZGxlcj1lKSx0aGlzLl9zeW1ib2xSZXNvbHZlTWFwLmNsZWFyKCksc3VwZXIuY29ubmVjdCgpfXNldEhhbmRsZXIoZSl7dGhpcy5faGFuZGxlcj1lfWNvbm5lY3RlZCgpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmIXRoaXMuX3Nlc3Npb25EaXNhYmxlZH1kaXNhYmxlKCl7dGhpcy5fc2Vzc2lvbkRpc2FibGVkPSEwfWNoYXJ0QXBpKCl7cmV0dXJuIHRoaXMuX2dldENoYXJ0QXBpKCl9X3NlbmRDcmVhdGVTZXNzaW9uKCl7T2JqZWN0LmtleXModGhpcykuZm9yRWFjaCgoZT0+ey9eKHN8c3R8c3ltYm9sXylcZCskLy50ZXN0KGUpJiZkZWxldGUgdGhpc1tlXX0pKSx0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0Q3JlYXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpLHRoaXMuX2Rpc2FibGVTdGF0aXN0aWNzKX1fc2VuZFJlbW92ZVNlc3Npb24oKXt0aGlzLl9nZXRDaGFydEFwaSgpLmNoYXJ0RGVsZXRlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCgpKX1fb25NZXNzYWdlKGUpe3RoaXMuX2hhbmRsZXImJnRoaXMuX2hhbmRsZXIoZSl9X29uQ3JpdGljYWxFcnJvcihlLHQpe3RoaXMuX2NyaXRpY2FsRXJyb3IuZmlyZShlLHQpLHN1cGVyLl9vbkNyaXRpY2FsRXJyb3IoZSx0KX19fSw0NzU0NzgoZSx0LHMpe3MuZCh0LHtDb25mbGF0ZWRDaHVua3NCdWlsZGVyOigpPT5vfSk7dmFyIHI9cygxMzg2MzgpLGk9cygxOTg5MDEpO2NvbnN0IGE9W3tiYXJzVG9NZXJnZToxMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDN9LHtiYXJzVG9NZXJnZTozMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjouMDF9LHtiYXJzVG9NZXJnZToxMDAsZm9yQmFyc3BhY2luZ0xhcmdlclRoZW46LjAwM30se2JhcnNUb01lcmdlOjUwMCxmb3JCYXJzcGFjaW5nTGFyZ2VyVGhlbjowfV07Y2xhc3Mgb3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Bsb3RzPWUsdGhpcy5fc3RhdGU9e2NodW5rczpuZXcgTWFwLHByaWNlU291cmNlOm51bGwscHJpY2VTb3VyY2VzUHJvdmlkZXI6dH0sdGhpcy5fc2V0RW1wdHlDb25mbGF0ZWRDaHVua3MoKX1jb25mbGF0ZWRDaHVua3MoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUucHJpY2VTb3VyY2Upe3RoaXMuX3N0YXRlLnByaWNlU291cmNlPXQ7Y29uc3QgZT10aGlzLl9wbG90cy5maXJzdCgpO2UmJih0aGlzLl9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpLHRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MoZSkpfWNvbnN0IHM9KDAsci5lbnN1cmVEZWZpbmVkKShhLmZpbmQoKHQ9PnQuZm9yQmFyc3BhY2luZ0xhcmdlclRoZW48PWUpKSk7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKX1tZXJnZURhdGEoZSl7Y29uc3QgdD10aGlzLl9wbG90cy5zaXplKCkscz10aGlzLl9wbG90cy5tZXJnZShlKTtyZXR1cm4gcyYmbnVsbCE9PXRoaXMuX3N0YXRlLnByaWNlU291cmNlJiYodD09PXRoaXMuX3Bsb3RzLnNpemUoKSYmcy5pbmRleD09PXRoaXMuX3Bsb3RzLmxhc3RJbmRleCgpP3RoaXMuX3VwZGF0ZUxhdGVzdENodW5rcygpOnRoaXMuX3JlYnVpbGRDb25mbGF0ZWRDaHVua3MocykpLHN9bW92ZURhdGEoZSl7CnRoaXMuX3Bsb3RzLm1vdmUoZSksdGhpcy5fcGxvdHMuc2l6ZSgpPjAmJnRoaXMuX2NsZWFyU3RhdGUoKX1jbGVhckRhdGEoKXt0aGlzLl9wbG90cy5jbGVhcigpLHRoaXMuX2NsZWFyU3RhdGUoKX1fcmVidWlsZENvbmZsYXRlZENodW5rcyhlKXtjb25zdCB0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPWUuaW5kZXgsbz10aGlzLl9zdGF0ZS5wcmljZVNvdXJjZXNQcm92aWRlcih0KSxuPShlLHQscyk9PntsZXQgcj1udWxsO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9byhpLnZhbHVlKTtyJiZpLmluZGV4LXIuc3RhcnRUaW1lPj1zLmJhcnNUb01lcmdlJiYodC5wdXNoKHIpLHI9bnVsbCkscj8oci5lbmRUaW1lPWkuaW5kZXgsci5oaWdoPU1hdGgubWF4KHIuaGlnaCxlKSxyLmxvdz1NYXRoLm1pbihyLmxvdyxlKSxyLmNsb3NlPWUpOnI9e3N0YXJ0VGltZTppLmluZGV4LGVuZFRpbWU6aS5pbmRleCxvcGVuOmUsaGlnaDplLGxvdzplLGNsb3NlOmV9fXImJnQucHVzaChyKX07YS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0YXRlLmNodW5rcy5nZXQoZS5iYXJzVG9NZXJnZSkpLGE9KDAsaS5sb3dlcmJvdW5kKSh0LHMsKChlLHQpPT5lLmVuZFRpbWU8dCkpO2lmKDA9PT1hJiZ0Lmxlbmd0aD4wKXtjb25zdCBzPXRbMF0uc3RhcnRUaW1lLTEsaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bsb3RzLmZpcnN0SW5kZXgoKSksYT10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyksbz1bXTtuKGEsbyxlKTtjb25zdCBkPW8uY29uY2F0KHQpO3RoaXMuX3N0YXRlLmNodW5rcy5zZXQoZS5iYXJzVG9NZXJnZSxkKX1lbHNle2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5sYXN0SW5kZXgoKSk7dC5zcGxpY2UoYSk7bGV0IGk9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90cy5maXJzdEluZGV4KCkpO3QubGVuZ3RoJiYoaT10W3QubGVuZ3RoLTFdLmVuZFRpbWUrMSk7Y29uc3Qgbz10aGlzLl9wbG90cy5yYW5nZUl0ZXJhdG9yKGkscyk7bihvLHQsZSl9fSkpfV91cGRhdGVMYXRlc3RDaHVua3MoKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcGxvdHMubGFzdCgpKSx0PXRoaXMuX3N0YXRlLnByaWNlU291cmNlc1Byb3ZpZGVyKCJjbG9zZSIpO2EuZm9yRWFjaCgocz0+e2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0ZS5jaHVua3MuZ2V0KHMuYmFyc1RvTWVyZ2UpKSxhPXQoZS52YWx1ZSksbz1pW2kubGVuZ3RoLTFdO28uaGlnaD1NYXRoLm1heChvLmhpZ2gsYSksby5sb3c9TWF0aC5taW4oby5sb3csYSksby5jbG9zZT1hLG8uZW5kVGltZT1lLmluZGV4fSkpfV9zZXRFbXB0eUNvbmZsYXRlZENodW5rcygpe2EuZm9yRWFjaCgoZT0+dGhpcy5fc3RhdGUuY2h1bmtzLnNldChlLmJhcnNUb01lcmdlLFtdKSkpfV9jbGVhclN0YXRlKCl7dGhpcy5fc3RhdGUuY2h1bmtzLmNsZWFyKCksdGhpcy5fc3RhdGUucHJpY2VTb3VyY2U9bnVsbH19fSw5MzYzMjYoZSx0LHMpe3ZhciByO3MuZCh0LHtQbG90Um93U2VhcmNoTW9kZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5OZWFyZXN0TGVmdD0tMV09Ik5lYXJlc3RMZWZ0IixlW2UuRXhhY3Q9MF09IkV4YWN0IixlW2UuTmVhcmVzdFJpZ2h0PTFdPSJOZWFyZXN0UmlnaHQifShyfHwocj17fSkpfSw3OTE1MjEoZSx0LHMpe3ZhciByO3MuZCh0LHtTeW1ib2xFcnJvclBlcm1pc3Npb25EZW5pZWRSZWFzb246KCk9PnIsaW52YWxpZFN5bWJvbDooKT0+YSxwZXJtaXNzaW9uRGVuaWVkOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5TeW1ib2w9InN5bWJvbCIsZS5Hcm91cFBlcm1pc3Npb249Imdyb3VwIn0ocnx8KHI9e30pKTtjb25zdCBpPSJwZXJtaXNzaW9uIGRlbmllZCIsYT0iaW52YWxpZCBzeW1ib2wifSw4NDg2MDEoZSx0LHMpe3MuZCh0LHtwYXJzZU5vblNlcmllc0VudmVsb3BlOigpPT5hfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg5OTU2NTUpO2Z1bmN0aW9uIGEoZSl7aWYoIiI9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZighKDAsci5pc09iamVjdCkodCl8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiTm9uLW9iamVjdCBjb250ZW50IGluIHRoZSBub24tc2VyaWVzIGVudmVsb3BlIik7aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwiaW5kZXhlc19yZXBsYWNlIikpcmV0dXJue25zRGF0YTp7aW5kZXhlc19yZXBsYWNlOiEwfSxwYXJzZWREYXRhOnR9O2NvbnN0IHM9e2luZGV4ZXNfcmVwbGFjZTohMX07aWYoKDAsci5oYXNQcm9wZXJ0eSkodCwib2Zmc2V0cyIpJiYocy5vZmZzZXRzPXQub2Zmc2V0cyksKDAsci5oYXNQcm9wZXJ0eSkodCwiaXNVcGRhdGUiKSl7aWYoImJvb2xlYW4iIT10eXBlb2YgdC5pc1VwZGF0ZSl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHlwZSBvZiAiaXNVcGRhdGUiIGZpZWxkJyk7cy5pc1VwZGF0ZT10LmlzVXBkYXRlfXJldHVybigwLHIuaGFzUHJvcGVydHkpKHQsImRhdGEiKSYmKHMuZGF0YT10LmRhdGEpLCgwLHIuaGFzUHJvcGVydHkpKHQsImdyYXBoaWNzQ21kcyIpJiYocy5ncmFwaGljc0NtZHM9KDAsaS52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKHQuZ3JhcGhpY3NDbWRzKSkse25zRGF0YTpzLHBhcnNlZERhdGE6dH19fSw1NTA5MDQoZSx0LHMpe3MuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhOigpPT5pfSk7dmFyIHI9cyg4NDg2MDEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7cmV0dXJuKDAsci5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKT8ubnNEYXRhPz9udWxsfX0sMTU2OTA4KGUsdCxzKXtzLmQodCx7REVGQVVMVF9OVU1CQVJTOigpPT5pLGluaXRpYWxSZXF1ZXN0T3B0aW9uc1RvTnVtQmFyczooKT0+YX0pO3ZhciByPXMoMTM4NjM4KTtjb25zdCBpPTMwMDtmdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0RGF0ZT9lLmVuZERhdGV8fGUuY291bnQ/ZS5lbmREYXRlP1siZnJvbV90byIsZS5zdGFydERhdGUsZS5lbmREYXRlXTpbImJhcl9jb3VudCIsZS5zdGFydERhdGUsKDAsCnIuZW5zdXJlKShlLmNvdW50KV06WyJmcm9tX3RvIixlLnN0YXJ0RGF0ZV06ZS5jb3VudHx8aX19LDg3MTAzNyhlLHQscyl7YXN5bmMgZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PWUpcmV0dXJue3Byb2plY3Rpb25QbG90czpbXSxib3hTaXplOm51bGx9O2lmKCIiPT09ZS5kfHwibm9jaGFuZ2UiPT09ZS5pbmRleGVzKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQgdChlLmQpO2lmKG51bGw9PT1zfHxzLmluZGV4ZXNfcmVwbGFjZSlyZXR1cm4gbnVsbDtjb25zdCByPWUuaW5kZXhlcyx7YmFyczppPVtdLHByaWNlOmEsYm94U2l6ZTpvLHJldmVyc2FsQW1vdW50Om59PXMuZGF0YTtyZXR1cm57bGFzdFByaWNlOmEscHJvamVjdGlvblBsb3RzOmkubWFwKChlPT57bGV0IHQ7cmV0dXJuImZhY3RvciJpbiBlP3Q9ZS5mYWN0b3I6ImFkZGl0aW9uYWxQcmljZSJpbiBlJiYodD1lLmFkZGl0aW9uYWxQcmljZSkse2luZGV4OnJbZS50aW1lXSx2YWx1ZTpbMCxlLm9wZW4sZS5oaWdoLGUubG93LGUuY2xvc2UsZS52b2x1bWUsdF19fSkpLHJldmVyc2FsQW1vdW50Om4sYm94U2l6ZTpvfX1zLmQodCx7cGFyc2VKYXBhbmVzZVByb2plY3Rpb25CYXJzOigpPT5yfSl9LDkzNTI0MChlLHQscyl7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PkN9KTt2YXIgcj1zKDEzODYzOCksaT1zKDYwMTg0MSksYT1zKDIyMTA2MSksbz1zKDI1NDY3Myksbj1zKDYxOTE2NSksZD1zKDc5MTUyMSksbD1zKDU1MDkwNCksaD1zKDE1NjkwOCksYz1zKDExMTk1MyksdT1zKDk0ODM4MCk7Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NyZWF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fbW9kaWZpZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fY2xlYXJlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9sb2FkaW5nPW5ldyB1LkRlbGVnYXRlLHRoaXMuX2NvbXBsZXRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9lcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xSZXNvbHZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNFcnJvcj1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fc3ltYm9sSW52YWxpZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jaGFydFR5cGVOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9iYXJSZWNlaXZlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9zZXJpZXNUaW1lRnJhbWU9bmV3IHUuRGVsZWdhdGUsdGhpcy5fZGF0YVVwZGF0ZWQ9bmV3IHUuRGVsZWdhdGUsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkPW5ldyB1LkRlbGVnYXRlfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkLmRlc3Ryb3koKSx0aGlzLl9tb2RpZmllZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5fY29tcGxldGVkLmRlc3Ryb3koKSx0aGlzLl9lcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sRXJyb3IuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlc29sdmVkLmRlc3Ryb3koKSx0aGlzLl9zZXJpZXNFcnJvci5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW52YWxpZC5kZXN0cm95KCksdGhpcy5fc3ltYm9sTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkLmRlc3Ryb3koKSx0aGlzLl9pbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZGVzdHJveSgpLHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fdGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZC5kZXN0cm95KCksdGhpcy5fYmFyUmVjZWl2ZWQuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1RpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fZGF0YVVwZGF0ZWQuZGVzdHJveSgpLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZC5kZXN0cm95KCl9Y3JlYXRlZCgpe3JldHVybiB0aGlzLl9jcmVhdGVkfW1vZGlmaWVkKCl7cmV0dXJuIHRoaXMuX21vZGlmaWVkfWNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fY2xlYXJlZH1sb2FkaW5nKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZH1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvcn1zeW1ib2xFcnJvcigpe3JldHVybiB0aGlzLl9zeW1ib2xFcnJvcn1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZlZH1zZXJpZXNFcnJvcigpe3JldHVybiB0aGlzLl9zZXJpZXNFcnJvcn1zeW1ib2xJbnZhbGlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEludmFsaWR9c3ltYm9sTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbE5vdFBlcm1pdHRlZH1zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xHcm91cE5vdFBlcm1pdHRlZH1jaGFydFR5cGVOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUeXBlTm90UGVybWl0dGVkfWludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX2ludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkfWludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXtyZXR1cm4gdGhpcy5faW50cmFkYXlFeGNoYW5nZU5vdFBlcm1pdHRlZH1jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpewpyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9c2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZH10aWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl7cmV0dXJuIHRoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWR9YmFyUmVjZWl2ZWQoKXtyZXR1cm4gdGhpcy5fYmFyUmVjZWl2ZWR9c2VyaWVzVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1RpbWVGcmFtZX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH11bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkfWZpcmVDb21wbGV0ZWQoZSl7dGhpcy5fY29tcGxldGVkLmZpcmUoZSl9ZmlyZUNyZWF0ZWQoZSl7dGhpcy5fY3JlYXRlZC5maXJlKGUpfWZpcmVNb2RpZmllZCgpe3RoaXMuX21vZGlmaWVkLmZpcmUoKX1maXJlQ2xlYXJlZCgpe3RoaXMuX2NsZWFyZWQuZmlyZSgpfWZpcmVMb2FkaW5nKGUpe3RoaXMuX2xvYWRpbmcuZmlyZShlKX1maXJlRXJyb3IoKXt0aGlzLl9lcnJvci5maXJlKCl9ZmlyZVN5bWJvbEVycm9yKGUpe3RoaXMuX3N5bWJvbEVycm9yLmZpcmUoZSksdGhpcy5maXJlRXJyb3IoKX1maXJlU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fc3ltYm9sUmVzb2x2ZWQuZmlyZShlKX1maXJlU2VyaWVzRXJyb3IoZSl7dGhpcy5fc2VyaWVzRXJyb3IuZmlyZShlKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVTeW1ib2xJbnZhbGlkKCl7dGhpcy5fc3ltYm9sSW52YWxpZC5maXJlKCl9ZmlyZVN5bWJvbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9zeW1ib2xOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoZSl7dGhpcy5fc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQuZmlyZShlKX1maXJlQ2hhcnRUeXBlTm90UGVybWl0dGVkKGUpe3RoaXMuX2NoYXJ0VHlwZU5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5U3ByZWFkTm90UGVybWl0dGVkKCl7dGhpcy5faW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKXt0aGlzLl9pbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkLmZpcmUoKSx0aGlzLmZpcmVFcnJvcigpfWZpcmVDdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZChlKXt0aGlzLl9jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKGUpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZVNlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3NlY29uZHNJbnRlcnZhbE5vdFBlcm1pdHRlZC5maXJlKCksdGhpcy5maXJlRXJyb3IoKX1maXJlVGlja3NJbnRlcnZhbE5vdFBlcm1pdHRlZCgpe3RoaXMuX3RpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQuZmlyZSgpLHRoaXMuZmlyZUVycm9yKCl9ZmlyZUJhclJlY2VpdmVkKGUpe3RoaXMuX2JhclJlY2VpdmVkLmZpcmUoZSl9ZmlyZVNlcmllc1RpbWVGcmFtZShlLHQscyxyLGkpe3RoaXMuX3Nlcmllc1RpbWVGcmFtZS5maXJlKGUsdCxzLHIsaSl9ZmlyZURhdGFVcGRhdGVkKGUsdCxzLHIsaSl7dGhpcy5fZGF0YVVwZGF0ZWQuZmlyZShlLHQscyxyLGkpfWZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXt0aGlzLl91bnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQuZmlyZSgpfX12YXIgbT1zKDg3MTAzNykscD1zKDg1Mjk4MCkseT1zKDMyMjU1NCk7Y29uc3QgZz0veyhcdyspfS9nO2NvbnN0IGI9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXNEYXRhU291cmNlIik7dmFyIGY7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0yXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9M109IkFjdGl2ZSJ9KGZ8fChmPXt9KSk7bGV0IFM9MTtsZXQgdj0xO2Z1bmN0aW9uIEkoZSl7cmV0dXJuKDAsYy5leHRyYWN0RXh0ZW5kZWRTeW1ib2wpKGUpLnN5bWJvbH1jbGFzcyBDe2NvbnN0cnVjdG9yKGUsdCxzLHIpe3RoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIix0aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zPTAsdGhpcy5faW5zdGFuY2VJZD1udWxsLHRoaXMuX3N5bWJvbEluc3RhbmNlSWQ9bnVsbCx0aGlzLl9yZXNvbHV0aW9uPW51bGwsdGhpcy5fdGltZUZyYW1lPW51bGwsdGhpcy5fZGF0YT1uZXcgbi5TZXJpZXNEYXRhLHRoaXMuX2RhdGFFdmVudHM9bmV3IF8sdGhpcy5fc3RhdHVzPWYuSWRsZSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25NZXNzYWdlPXRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl90dXJuYXJvdW5kUHJlZml4PXQsdGhpcy5fY3JlYXRlU2VyaWVzUGFyYW1zPSgwLGguaW5pdGlhbFJlcXVlc3RPcHRpb25zVG9OdW1CYXJzKShzPz97Y291bnQ6aC5ERUZBVUxUX05VTUJBUlN9KSx0aGlzLl90aW1lRnJhbWU9cnx8bnVsbCx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKX1kZXN0cm95KCl7dGhpcy5zdG9wKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9kYXRhRXZlbnRzLmRlc3Ryb3koKX1jYW5Nb2RpZnlTZXJpZXMoZSx0KXtjb25zdCBzPSEoMCwKaS5kZWVwRXF1YWxzKSh0aGlzLl9leHRTeW1ib2wsZSlbMF0scj1udWxsPT09dGhpcy5fcmVzb2x1dGlvbnx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh0aGlzLl9yZXNvbHV0aW9uLHQpO3JldHVybiBzfHxyfW1vZGlmeVNlcmllcyhlLHQscz1udWxsLGE9ITEsbj1udWxsKXthJiYoYi5sb2dOb3JtYWwoIkR1ZSB0byBmb3JjZSBmbGFnIGNsZWFyaW5nIHN5bWJvbCAmIHJlc29sdXRpb24gdG8gZm9yY2UgcmUtcmVxdWVzdGluZyBkYXRhLiIpLHRoaXMuX2V4dFN5bWJvbD1udWxsLHRoaXMuX3Jlc29sdXRpb249bnVsbCk7Y29uc3QgZD1JKGUpLGw9IXRoaXMuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZCk7aWYobCYmKHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD0iIiksdGhpcy5fZXh0U3ltYm9sJiYhbCl7Y29uc3QgdD1JKHRoaXMuX2V4dFN5bWJvbCk7KDAsYy5yZXBsYWNlRXh0ZW5kZWRTeW1ib2wpKGUsdCl9Y29uc3QgaD10aGlzLl9leHRTeW1ib2wsdT10aGlzLl9yZXNvbHV0aW9uO2lmKHRoaXMuX2V4dFN5bWJvbD1lLHRoaXMuX3Jlc29sdXRpb249dCxudWxsPT09dGhpcy5faW5zdGFuY2VJZClyZXR1cm4gdm9pZCh0aGlzLl90aW1lRnJhbWU9cyk7Y29uc3QgXz0hKDAsaS5kZWVwRXF1YWxzKShoLGUpWzBdO18mJigwLGMucmVwbGFjZUV4dGVuZGVkU3ltYm9sKSh0aGlzLl9leHRTeW1ib2wsZCk7Y29uc3QgbT1udWxsPT09dXx8IW8uSW50ZXJ2YWwuaXNFcXVhbCh1LHQpOyhffHxtfHxudWxsIT09cykmJih0aGlzLl90aW1lRnJhbWU9bnVsbCwoX3x8bSkmJnRoaXMuX3R1cm5hcm91bmRDb3VudGVyKyssXyYmdGhpcy5fcmVzb2x2ZVN5bWJvbCgpLHRoaXMuX2dhdGV3YXkubW9kaWZ5U2VyaWVzKHRoaXMuX2luc3RhbmNlSWQsdGhpcy50dXJuYXJvdW5kKCksKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zeW1ib2xJbnN0YW5jZUlkKSx0aGlzLl9yZXNvbHV0aW9uLG4scyx0aGlzLl9ib3VuZE9uTWVzc2FnZSksdGhpcy5fZGF0YUV2ZW50cy5maXJlTW9kaWZpZWQoKSl9cmVxdWVzdE1vcmVEYXRhKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlRGF0YSh0aGlzLl9pbnN0YW5jZUlkLGUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpfXJlcXVlc3RNb3JlVGlja21hcmtzKGUpe251bGwhPT10aGlzLl9pbnN0YW5jZUlkJiZ0aGlzLl9nYXRld2F5LnJlcXVlc3RNb3JlVGlja21hcmtzKHRoaXMuX2luc3RhbmNlSWQsZSx0aGlzLl9ib3VuZE9uTWVzc2FnZSl9c2V0RnV0dXJlVGlja21hcmtzTW9kZShlKXtudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmdGhpcy5fZ2F0ZXdheS5zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1mLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09Zi5BY3RpdmV9cmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl9yZXNvbHV0aW9ufXN0YXJ0KCl7dGhpcy5pc1N0YXJ0ZWQoKT9iLmxvZ05vcm1hbCgic3RhcnQ6IGRhdGEgc291cmNlIGlzIGFscmVhZHkgc3RhcnRlZCwgbm90aGluZyB0byBkbyIpOigoMCxyLmFzc2VydCkobnVsbCE9PXRoaXMuX2V4dFN5bWJvbCwic3ltYm9sIG11c3QgYmUgc2V0IGJlZm9yZSBzdGFydCIpLCgwLHIuYXNzZXJ0KShudWxsIT09dGhpcy5fcmVzb2x1dGlvbiwicmVzb2x1dGlvbiBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQiKSx0aGlzLl9nYXRld2F5LmlzQ29ubmVjdGVkKCkudmFsdWUoKT90aGlzLl9jcmVhdGVTZXJpZXMoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhmLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5faW5zdGFuY2VJZCYmKHRoaXMuX2dhdGV3YXkucmVtb3ZlU2VyaWVzKHRoaXMuX2luc3RhbmNlSWQpLHRoaXMuX2luc3RhbmNlSWQ9bnVsbCksdGhpcy5fc3ltYm9sSW5zdGFuY2VJZD1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuSWRsZSkpOmIubG9nTm9ybWFsKCJzdG9wOiBkYXRhIHNvdXJjZSBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8iKX1pbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlSWR9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfXNldFRpbWVmcmFtZShlKXt0aGlzLl90aW1lRnJhbWU9ZX1jbGVhckRhdGEoKXt0aGlzLmlzU3RhcnRlZCgpP3RoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9jbGVhckRhdGFJbXBsKCkpKTp0aGlzLl9jbGVhckRhdGFJbXBsKCl9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9kYXRhRXZlbnRzfXR1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1zeW1ib2xJbnN0YW5jZUlkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluc3RhbmNlSWR9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2V4dFN5bWJvbH11cGRhdGVFeHRTeW1ib2woZSl7dGhpcy5fZXh0U3ltYm9sPWV9bW92ZURhdGEoZSl7cmV0dXJuIHRoaXMuX2VucXVldWVVcGRhdGUoKCgpPT50aGlzLl9kYXRhLm1vdmVEYXRhKGUpKSl9c2V0SW5pdGlhbFJlcXVlc3RPcHRpb25zKGUpe3RoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9KDAsaC5pbml0aWFsUmVxdWVzdE9wdGlvbnNUb051bUJhcnMpKGUpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiBudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYoMCx5LnN5bWJvbFNhbWVBc1Jlc29sdmVkKShlLEkodGhpcy5fZXh0U3ltYm9sKSx0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wpfXJlc29sdmVkU3ltYm9sKCl7cmV0dXJuIG51bGw9PT10aGlzLl9leHRTeW1ib2w/bnVsbDpJKHRoaXMuX2V4dFN5bWJvbCl9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1zdGF0aWMgc2V0U3ltYm9sRW5jb2RlcihlKXtDLl9lbmNvZGVTeW1ib2w9ZX1zdGF0aWMgc2V0RXh0cmFjdFN5bWJvbEZlYXR1cmVzZXRzKGUpe0MuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9ZX1fcmVzb2x2ZVN5bWJvbCgpewpudWxsIT09dGhpcy5fZXh0U3ltYm9sJiYodGhpcy5fc3ltYm9sSW5zdGFuY2VJZD10aGlzLl9nYXRld2F5LnJlc29sdmVTeW1ib2woInNkc19zeW1fIitTKyssQy5fZW5jb2RlU3ltYm9sKHRoaXMuX2V4dFN5bWJvbCksdGhpcy5fYm91bmRPbk1lc3NhZ2UpKX1fY2xlYXJEYXRhSW1wbCgpe3RoaXMuX2RhdGEuY2xlYXIoKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVDbGVhcmVkKCl9X2NoYW5nZVN0YXR1c1RvKGUpeygwLHIuYXNzZXJ0KSh0aGlzLl9zdGF0dXMhPT1lLCJTb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHN0YXR1cyBzaG91bGQgYmUgZGlzdGluY3QiKSxiLmxvZ05vcm1hbChgU3RhdHVzIGNoYW5nZWQgZnJvbSAke2ZbdGhpcy5fc3RhdHVzXX0gdG8gJHtmW2VdfWApLHRoaXMuX3N0YXR1cz1lfV9jcmVhdGVTZXJpZXMoKXsoMCxyLmFzc2VydCkodGhpcy5fc3RhdHVzIT09Zi5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLHRoaXMuX2luc3RhbmNlSWQ9InNkc18iK3YrKyx0aGlzLl9yZXNvbHZlU3ltYm9sKCk7Y29uc3QgZT10aGlzLl9jcmVhdGVTZXJpZXNPdmVycmlkZGVuUGFyYW1zfHx0aGlzLl9jcmVhdGVTZXJpZXNQYXJhbXM7dGhpcy5fY3JlYXRlU2VyaWVzT3ZlcnJpZGRlblBhcmFtcyYmKHRoaXMuX2NyZWF0ZVNlcmllc092ZXJyaWRkZW5QYXJhbXM9MCksdGhpcy5fZ2F0ZXdheS5jcmVhdGVTZXJpZXModGhpcy5faW5zdGFuY2VJZCx0aGlzLnR1cm5hcm91bmQoKSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEluc3RhbmNlSWQpLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fcmVzb2x1dGlvbiksZSx0aGlzLl90aW1lRnJhbWUsdGhpcy5fYm91bmRPbk1lc3NhZ2UpLHRoaXMuX3RpbWVGcmFtZT1udWxsLHRoaXMuX2NoYW5nZVN0YXR1c1RvKGYuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpLHRoaXMuX2RhdGFFdmVudHMuZmlyZUNyZWF0ZWQodGhpcy5faW5zdGFuY2VJZCl9X29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZChlKXtlP3RoaXMuX29uR2F0ZXdheUNvbm5lY3RlZCgpOnRoaXMuX29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpfV9vbkdhdGV3YXlDb25uZWN0ZWQoKXt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nQ29ubmVjdGlvbiYmdGhpcy5fY3JlYXRlU2VyaWVzKCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PWYuSWRsZSYmdGhpcy5fc3RhdHVzIT09Zi5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9pbnN0YW5jZUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5Bd2FpdGluZ0Nvbm5lY3Rpb24pKSx0aGlzLl90dXJuYXJvdW5kQ291bnRlcj0xfV9vbk1lc3NhZ2UoZSl7dGhpcy5fZW5xdWV1ZVVwZGF0ZSgoKCk9PnRoaXMuX29uTWVzc2FnZUltcGwoZSkpKX1hc3luYyBfb25NZXNzYWdlSW1wbChlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2Uic3ltYm9sX3Jlc29sdmVkIjp7Y29uc3RbdCxzXT1lLnBhcmFtcztpZih0IT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCl7bnVsbCE9PXRoaXMuX3N5bWJvbEluc3RhbmNlSWQmJmIubG9nTm9ybWFsKGBSZXNvbHZlIGZvciBvbGQgc3ltYm9sLCBleHBlY3RlZDogJHt0aGlzLl9zeW1ib2xJbnN0YW5jZUlkfSwgYWN0dWFsICR7ZS5wYXJhbXNbMF19YCk7YnJlYWt9dGhpcy5fb25TeW1ib2xSZXNvbHZlZChzKTticmVha31jYXNlInN5bWJvbF9lcnJvciI6aWYoZS5wYXJhbXNbMF0hPT10aGlzLl9zeW1ib2xJbnN0YW5jZUlkKXtudWxsIT09dGhpcy5fc3ltYm9sSW5zdGFuY2VJZCYmYi5sb2dOb3JtYWwoYFN5bWJvbCBlcnJvciBmb3Igb2xkIHN5bWJvbCwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0sIGFjdHVhbCAke2UucGFyYW1zWzBdfWApO2JyZWFrfXRoaXMuX29uU3ltYm9sRXJyb3IoZSk7YnJlYWs7Y2FzZSJzZXJpZXNfdGltZWZyYW1lIjp7Y29uc3RbdCxzLHIsaSxhLG8sbl09ZS5wYXJhbXM7aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZCh0LHMpKXtiLmxvZ05vcm1hbChgVGltZSBmcmFtZSBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzVGltZUZyYW1lKHIsaSxhLG8sbik7YnJlYWt9Y2FzZSJzZXJpZXNfZXJyb3IiOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSl7Yi5sb2dOb3JtYWwoYFNlcmllcyBlcnJvciBmb3Igb2xkIGRhdGEsIGV4cGVjdGVkOiAke3RoaXMuX3N5bWJvbEluc3RhbmNlSWR9ICgke3RoaXMudHVybmFyb3VuZCgpfSksIGFjdHVhbCAke3R9ICgke3N9KWApO2JyZWFrfXRoaXMuX29uU2VyaWVzRXJyb3IoZS5wYXJhbXNbMl0pO2JyZWFrfWNhc2Uic2VyaWVzX2xvYWRpbmciOntjb25zdFt0LHNdPWUucGFyYW1zO2lmKCF0aGlzLl9jaGVja1R1cm5hcm91bmQodCxzKSlicmVhazt0aGlzLl9vblNlcmllc0xvYWRpbmcoZS50aW1lKTticmVha31jYXNlInNlcmllc19jb21wbGV0ZWQiOntjb25zdFt0LHMscixpXT1lLnBhcmFtcztpZighdGhpcy5fY2hlY2tUdXJuYXJvdW5kKHQscikpe2IubG9nTm9ybWFsKGBTZXJpZXMgY29tcGxldGVkIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7dH0gKCR7cn0pYCk7YnJlYWt9dGhpcy5fb25TZXJpZXNDb21wbGV0ZWQocyxlLnRpbWUsaSk7YnJlYWt9Y2FzZSJkYXRhX3VwZGF0ZSI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy5jdXN0b21JZCxlLnBhcmFtcy50dXJuYXJvdW5kKSl7Yi5sb2dOb3JtYWwoYERhdGEgdXBkYXRlIGZvciBvbGQgZGF0YSwgZXhwZWN0ZWQ6ICR7dGhpcy5fc3ltYm9sSW5zdGFuY2VJZH0gKCR7dGhpcy50dXJuYXJvdW5kKCl9KSwgYWN0dWFsICR7ZS5wYXJhbXMuY3VzdG9tSWR9ICgke2UucGFyYW1zLnR1cm5hcm91bmR9KWApO2JyZWFrfQphd2FpdCB0aGlzLl9vbkRhdGFVcGRhdGUoZS5wYXJhbXMucGxvdHMsZS5wYXJhbXMubm9uc2VyaWVzLGUucGFyYW1zLmxhc3RCYXIpO2JyZWFrO2Nhc2UiY2xlYXJfZGF0YSI6e2lmKGUucGFyYW1zLnR1cm5hcm91bmQhPT10aGlzLnR1cm5hcm91bmQoKSl7Yi5sb2dOb3JtYWwoYENsZWFyIGRhdGEgZm9yIG9sZCBkYXRhLCBleHBlY3RlZDogJHt0aGlzLnR1cm5hcm91bmQoKX0sIGFjdHVhbCAke2UucGFyYW1zLnR1cm5hcm91bmR9YCk7YnJlYWt9Y29uc3QgdD10aGlzLl9kYXRhLmZpcnN0KCk7dGhpcy5fY2xlYXJEYXRhSW1wbCgpLHRoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHZvaWQgMCwhMSxudWxsLCExLHQpO2JyZWFrfX19X29uU2VyaWVzRXJyb3IoZSl7bGV0IHQscztpZigic3RyaW5nIj09dHlwZW9mIGUpcz17ZXJyb3I6ZX0sdD1lO2Vsc2UgaWYocz1lLGUuY3R4KXtjb25zdCBzPXt9O09iamVjdC5lbnRyaWVzKGUuY3R4KS5mb3JFYWNoKCgoW2UsdF0pPT57c1tlXT10LnRvU3RyaW5nKCl9KSksaT1lLmVycm9yLGE9cyx0PWkucmVwbGFjZShnLCgoZSx0KT0+dm9pZCAwIT09YVt0XT9hW3RdOmUpKX1lbHNlIHQ9ZS5lcnJvcjt2YXIgaSxhO2lmKHQuc3RhcnRzV2l0aCgic3R1ZHlfbm90X2F1dGg6Iikpe2NvbnN0IGU9dC5zcGxpdCgiOiIsMilbMV0uc3BsaXQoIkAiLDIpWzBdO2lmKFsiQmFyU2V0UmVua28iLCJCYXJTZXRQcmljZUJyZWFrIiwiQmFyU2V0S2FnaSIsIkJhclNldFBuRiJdLmluY2x1ZGVzKGUpKXRoaXMuX2RhdGFFdmVudHMuZmlyZUNoYXJ0VHlwZU5vdFBlcm1pdHRlZChlKTtlbHNle2lmKCJCYXJTZXRTcHJlYWQiPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheVNwcmVhZE5vdFBlcm1pdHRlZCgpO2lmKCJCYXJTZXRSYW5nZSI9PT1lKXtjb25zdCBlPWAkeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fZXh0U3ltYm9sKS5pbnB1dHMucmFuZ2V9UmA7dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoZSl9fX1lbHNle2lmKHQuc3RhcnRzV2l0aCgidW5zdXBwb3J0ZWQiKSlyZXR1cm4gdm9pZCB0aGlzLl9kYXRhRXZlbnRzLmZpcmVVbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKTsicmVzb2x1dGlvbl9ub3RfZW50aXRsZWQiPT09dD90aGlzLl9kYXRhRXZlbnRzLmZpcmVJbnRyYWRheUV4Y2hhbmdlTm90UGVybWl0dGVkKCk6ImN1c3RvbV9yZXNvbHV0aW9uIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlQ3VzdG9tSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXNvbHV0aW9uKSk6InNlY29uZHNfbm90X2VudGl0bGVkIj09PXQ/dGhpcy5fZGF0YUV2ZW50cy5maXJlU2Vjb25kc0ludGVydmFsTm90UGVybWl0dGVkKCk6InRpY2tzX25vdF9lbnRpdGxlZCI9PT10JiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVUaWNrc0ludGVydmFsTm90UGVybWl0dGVkKCl9dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzRXJyb3Iocyl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxzLHIsaSl7dGhpcy5fZGF0YUV2ZW50cy5maXJlU2VyaWVzVGltZUZyYW1lKGUsdCxzLHI/PyEwLGkpfV9vblN5bWJvbEVycm9yKGUpe2lmKGUucGFyYW1zWzFdPT09ZC5wZXJtaXNzaW9uRGVuaWVkKXN3aXRjaChlLnBhcmFtc1syXSl7Y2FzZSBkLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2w6dGhpcy5fZGF0YUV2ZW50cy5maXJlU3ltYm9sTm90UGVybWl0dGVkKGUucGFyYW1zWzNdKTticmVhaztjYXNlIGQuU3ltYm9sRXJyb3JQZXJtaXNzaW9uRGVuaWVkUmVhc29uLkdyb3VwUGVybWlzc2lvbjp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xHcm91cE5vdFBlcm1pdHRlZChlLnBhcmFtc1szXSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xOb3RQZXJtaXR0ZWQoZS5wYXJhbXNbMl0pfWVsc2UgZS5wYXJhbXNbMV09PT1kLmludmFsaWRTeW1ib2wmJnRoaXMuX2RhdGFFdmVudHMuZmlyZVN5bWJvbEludmFsaWQoKTt0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xFcnJvcihlLnBhcmFtc1sxXSl9X29uU3ltYm9sUmVzb2x2ZWQoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPSgwLHIuZW5zdXJlTm90TnVsbCkoKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShDLl9leHRyYWN0U3ltYm9sTmFtZUZlYXR1cmVzZXRzLGUsIiIpKSx0aGlzLl9kYXRhRXZlbnRzLmZpcmVTeW1ib2xSZXNvbHZlZChlKX1hc3luYyBfb25EYXRhVXBkYXRlKGUsdCxzKXt0aGlzLl9vbkRhdGFVbnBhY2tlZChlLHMsYXdhaXQoMCxtLnBhcnNlSmFwYW5lc2VQcm9qZWN0aW9uQmFycykodCxDLl9ub25TZXJpZXNEYXRhVW5wYWNrZXIpKX1fZW5xdWV1ZVVwZGF0ZShlKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbihlLGUpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQscyl7aWYodGhpcy5fc3RhdHVzPT09Zi5JZGxlKXJldHVybjt0aGlzLl9zdGF0dXM9PT1mLkF3YWl0aW5nRmlyc3REYXRhVXBkYXRlJiYodGhpcy5fY2hhbmdlU3RhdHVzVG8oZi5BY3RpdmUpLHRoaXMuX2NsZWFyRGF0YUltcGwoKSk7Y29uc3Qgcj10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCksaT10aGlzLl9kYXRhLmZpcnN0KCksYT10aGlzLl9kYXRhLmJhcnMoKS5maXJzdEluZGV4KCksbz10aGlzLl9kYXRhLm1lcmdlUmVndWxhckJhcnMoZSk7bnVsbCE9PXMmJih0aGlzLl9kYXRhLm5zQmFycygpLmNsZWFyKCksdGhpcy5fZGF0YS5uc0JhcnMoKS5tZXJnZShzLnByb2plY3Rpb25QbG90cyksdGhpcy5fZGF0YS5sYXN0UHJvamVjdGlvblByaWNlPXMubGFzdFByaWNlLG51bGwhPT1zLmJveFNpemUmJih0aGlzLl9kYXRhLmJveFNpemU9cy5ib3hTaXplKSx0aGlzLl9kYXRhLnJldmVyc2FsQW1vdW50PXMucmV2ZXJzYWxBbW91bnQpO2NvbnN0IG49bnVsbD09PWEsZD1ufHxudWxsIT09byYmby5pbmRleDxhO3RoaXMuX2RhdGFFdmVudHMuZmlyZURhdGFVcGRhdGVkKHQsZCxvLG4saSksCnIhPT10aGlzLl9kYXRhLmJhcnMoKS5zaXplKCkmJm51bGwhPT1vJiZ0aGlzLl9kYXRhRXZlbnRzLmZpcmVCYXJSZWNlaXZlZChvKX1fb25TZXJpZXNMb2FkaW5nKGUpe3RoaXMuX2RhdGFFdmVudHMuZmlyZUxvYWRpbmcoZSl9X29uU2VyaWVzQ29tcGxldGVkKGUsdCxzKXt0aGlzLl9kYXRhRXZlbnRzLmZpcmVDb21wbGV0ZWQoe3VwZGF0ZU1vZGU6ZSx0aW1lOnQsZmxhZ3M6c30pfV9jaGVja1R1cm5hcm91bmQoZSx0KXtyZXR1cm4gdGhpcy5faW5zdGFuY2VJZD09PWUmJih2b2lkIDA9PT10fHx0PT09dGhpcy50dXJuYXJvdW5kKCkpfX1DLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9bC51bnBhY2tOb25TZXJpZXNEYXRhLEMuX2VuY29kZVN5bWJvbD1jLmVuY29kZUV4dGVuZGVkU3ltYm9sLEMuX2V4dHJhY3RTeW1ib2xOYW1lRmVhdHVyZXNldHM9e3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOiExLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6ITEsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOiExLHVwcGVyY2FzZUluc3RydW1lbnROYW1lczohMX19LDEyMTQ3OShlLHQscyl7cy5kKHQse2dldFNlcnZlckludGVydmFsOigpPT5pfSk7dmFyIHI9cygyNTQ2NzMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuSW50ZXJ2YWwuaXNSYW5nZShlKT8iMSI6ZX19LDk5NTY1NShlLHQscyl7cy5kKHQse3ZhbGlkYXRlR3JhcGhpY3NDb21tYW5kczooKT0+YX0pO3ZhciByPXMoNjAxODQxKSxpPXMoMTM4NjM4KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxyLmlzT2JqZWN0KShlKSl0aHJvdyBuZXcgRXJyb3IoIkdyYXBoaWNzIGNvbW1hbmRzIHNob3VsZCBiZSB3cmFwcGVkIGluIGFuIG9iamVjdCIpO2lmKCgwLHIuaGFzUHJvcGVydHkpKGUsImNyZWF0ZSIpLCgwLHIuaGFzUHJvcGVydHkpKGUsImVyYXNlIikpe2NvbnN0IHQ9ZS5lcmFzZTsoMCxpLmFzc2VydCkoQXJyYXkuaXNBcnJheSh0KSwiQ29sbGVjdGlvbiBvZiBlcmFzZSBjb21tYW5kcyBzaG91bGQgYmUgYXJyYXkiKTtmb3IoY29uc3QgZSBvZiB0KXtpZighKDAsci5pc09iamVjdCkoZSl8fCEoMCxyLmhhc1Byb3BlcnR5KShlLCJhY3Rpb24iKSl0aHJvdyBuZXcgRXJyb3IoIkNvbW1hbmQgc2hvdWxkIGJlIGFuIG9iamVjdCB3aXRoICdhY3Rpb24nIHByb3BlcnR5Iik7KDAsaS5hc3NlcnQpKCJhbGwiPT09ZS5hY3Rpb258fCJvbmUiPT09ZS5hY3Rpb24sIkVyYXNlIGNvbW1hbmQgYWN0aW9uIHNob3VsZCBiZSAnYWxsJyBvciAnb25lJyIpfX1yZXR1cm4gZX19LDMyMjU1NChlLHQscyl7ZnVuY3Rpb24gcihlLHQscyl7cmV0dXJuIGU9PT10fHxlPT09c31zLmQodCx7c3ltYm9sU2FtZUFzUmVzb2x2ZWQ6KCk9PnJ9KX0sODE0NTg5KGUsdCxzKXtzLmQodCx7SU5WQUxJRF9USU1FX1BPSU5UX0lOREVYOigpPT5yLFVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVg6KCk9Pml9KTtjb25zdCByPS0yZTYsaT0tMWU2fSw4NjY3NDgoZSx0LHMpe2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3Rbe2luZmxhdGVabGliOnQsaW5mbGF0ZVJhdzpyfSx7dW5wYWNrSW1wbDppfV09YXdhaXQgUHJvbWlzZS5hbGwoWyJmdW5jdGlvbiI9PXR5cGVvZiBEZWNvbXByZXNzaW9uU3RyZWFtP3MuZSgyMTI2MCkudGhlbihzLmJpbmQocyw3MzUwOTkpKTpQcm9taXNlLmFsbChbcy5lKDI0Njk4KSxzLmUoNjIyMzQpXSkudGhlbihzLmJpbmQocywyOTU4NzMpKSxzLmUoMjEyNjApLnRoZW4ocy5iaW5kKHMsMjk0NDgzKSldKTtyZXR1cm4gaSh0LHIsZSl9cy5kKHQse3VucGFjazooKT0+cn0pfSwxODk4NjMoZSx0LHMpe3MuZCh0LHtTcGlubmVyOigpPT5hfSk7cyg4NDU1NzcpO3ZhciByPXMoNDQzNTU3KSxpPXMoNTY3NDc5KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Nob3duPSExLHRoaXMuX2VsPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoZnVuY3Rpb24oZT0iIil7cmV0dXJuYDxkaXYgY2xhc3M9InR2LXNwaW5uZXIgJHtlfSIgcm9sZT0icHJvZ3Jlc3NiYXIiPjwvZGl2PmB9KCkpLHRoaXMuc2V0U2l6ZShpLnNwaW5uZXJTaXplTWFwW2V8fGkuREVGQVVMVF9TSVpFXSl9c3BpbihlKXtyZXR1cm4gdGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgidHYtc3Bpbm5lci0tc2hvd24iKSx2b2lkIDA9PT10aGlzLl9jb250YWluZXImJih0aGlzLl9jb250YWluZXI9ZSx2b2lkIDAhPT1lJiZlLmFwcGVuZENoaWxkKHRoaXMuX2VsKSksdGhpcy5fc2hvd249ITAsdGhpc31zdG9wKGUpe3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoInR2LXNwaW5uZXItLXNob3duIiksdGhpcy5fc2hvd249ITEsdGhpc31zZXRTdHlsZShlKXtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt2b2lkIDAhPT1zJiZ0aGlzLl9lbC5zdHlsZS5zZXRQcm9wZXJ0eSh0LHMpfSkpLHRoaXN9c3R5bGUoKXtyZXR1cm4gdGhpcy5fZWwuc3R5bGV9c2V0U2l6ZShlKXtjb25zdCB0PXZvaWQgMCE9PWU/YHR2LXNwaW5uZXItLXNpemVfJHtlfWA6IiI7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTmFtZT1gdHYtc3Bpbm5lciAke3R9ICR7dGhpcy5fc2hvd24/InR2LXNwaW5uZXItLXNob3duIjoiIn1gLHRoaXN9Z2V0RWwoKXtyZXR1cm4gdGhpcy5fZWx9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLGRlbGV0ZSB0aGlzLl9lbCxkZWxldGUgdGhpcy5fY29udGFpbmVyfX19LDIyNjkzNyhlLHQscyl7cy5kKHQse0FzeW5jUmVzb3VyY2VXcmFwcGVyOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTplfSx0aGlzLl9kZXN0cm95Rm49dCxlLnRoZW4oKGU9PntpZih0aGlzLl9kZXN0cm95ZWQpdGhpcy5fZGVzdHJveUZuPy4oZSk7ZWxzZXt0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT1lO2Zvcihjb25zdCB0IG9mIHRoaXMuX2NhbGxiYWNrcyl0KGUpfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX2NhbGxiYWNrcz1bXX0pKX0KZGVzdHJveSgpe3RoaXMuX3Jlc291cmNlLnJlc291cmNlJiZ0aGlzLl9kZXN0cm95Rm4/Lih0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZSksdGhpcy5fcmVzb3VyY2U9e3BlbmRpbmdSZXNvdXJjZTpQcm9taXNlLnJlamVjdCgiUmVzb3VyY2UgaXMgZGVzdHJveWVkIikuY2F0Y2goKCgpPT57fSkpfSx0aGlzLl9jYWxsYmFja3M9W10sdGhpcy5fZGVzdHJveWVkPSEwfWNhbGxGdW5jdGlvbihlKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZT9lKHRoaXMuX3Jlc291cmNlLnJlc291cmNlKTp0aGlzLl9jYWxsYmFja3MucHVzaChlKSl9Z2V0KCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZHx8IXRoaXMuX3Jlc291cmNlLnJlc291cmNlP251bGw6dGhpcy5fcmVzb3VyY2UucmVzb3VyY2V9cHJvbWlzZSgpe3JldHVybiB0aGlzLl9yZXNvdXJjZS5wZW5kaW5nUmVzb3VyY2V9fX19XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27665.013fdb6f09fe121705b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.307Z","timestamp":1785136429307,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/27665.013fdb6f09fe121705b2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b71-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 58eb6d22a162e20542c933f108939991\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5960f9a1dbb4c19fb96b687ccea9f9af","sha1":"6688548a8b2b4c11b3d2a792734db981ac274ce2","sha256":"28010cc42c24fcf9bb5ec2914858cb3327e57c2dc3d81b34202960ca693abbf5","sha512":"704e91e72fab49c5a8600f832ccf9cbd9704c260b710bcd5e61484485576a68e55652c5861bed538fe46b5aa5fcc86f34fa5a154592084bcdb7f34ce79d87cc9","ssdeep":"","tlshash":"c08000c080a28ba820c0280a2028c0bc838c002c238a0280cc320830a30c3a022b8008","first_seen":"2026-03-30T12:30:09.597797Z","last_seen":"2026-08-11T04:43:23.181871Z","times_seen":548,"resource_available":false,"data":"Lm1lbnUtVHo4NG9QZVF7bWluLXdpZHRoOjEwMHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47092.c57238934a2f7a36a0c0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.827Z","timestamp":1785136429827,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/47092.c57238934a2f7a36a0c0.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2636687094fa63e33eee63ed57557281\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/97472.e8195405f99055a83c6f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.761Z","timestamp":1785136427761,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97472.e8195405f99055a83c6f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-f754\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: eba27635c328d868878ea62e28e0db05\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":63316,"size_decoded":11196,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0813d0ea841f3538f1f27a58a88cb1e2","sha1":"5d7c725abcc841d95866532c0d0d9d124f9138d3","sha256":"82ac84224db5ccb6f92b82013e4473a579ddf4e881af126a3359ef556f33df28","sha512":"668be712980917e4cc39f91fd0fe150ce81cfe2bb4b72aaca4cc455fe6da6d382006c963a1bfa288f628a3a80ba1e1fd9dc921af4b34cc205dd127cb231eec04","ssdeep":"768:OzYrfKPQhauyuhs+66SY4n3sWvt5r96tY9hu+3fHxx+TS4YLTnW3H5uVHevzBAEb:EzsWvl8Y9hxXa","tlshash":"095379d8c5bc1d8c75b7d2c4bced7655448c3f13986286b0f8bbb819501abd829b9cb8","first_seen":"2026-07-23T13:54:09.171546Z","last_seen":"2026-07-31T06:34:35.473115Z","times_seen":383,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzQ3Ml0sezY5NzQ3MihlLHIsbyl7InVzZSBzdHJpY3QiO28uZChyLHtnZXRFeGNoYW5nZXM6KCk9PnUsZ2V0V2lkZ2V0Q29uZmlndXJlZEV4Y2hhbmdlczooKT0+bCxnZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWc6KCk9PmR9KTt2YXIgbj1vKDk5ODcwNCksaT1vKDMxODk3NCk7ZnVuY3Rpb24gdSgpe3JldHVybiBufWZ1bmN0aW9uIGwoZSxyKXtpZih2b2lkIDA9PT1yKXJldHVybiBlO2NvbnN0e2FsbG93ZWRFeGNoYW5nZXM6b309cjtsZXQgbj1lO2lmKHZvaWQgMCE9PW8mJm8ubGVuZ3RoPjApe2NvbnN0IHI9bmV3IE1hcDtmb3IoY29uc3QgbyBvZiBlKSIiPT09by52YWx1ZXx8by5oaWRlSW5TeW1ib2xTZWFyY2h8fHIuc2V0KG8udmFsdWUsbyk7Y29uc3QgaT1vLm1hcCgoZT0+ci5nZXQoZS50b1VwcGVyQ2FzZSgpKSkpLmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpO2kubGVuZ3RoPjAmJihuPWkpfXJldHVybiBufWZ1bmN0aW9uIGQoKXtpZighKDAsaS5vbldpZGdldCkoKSlyZXR1cm47Y29uc3QgZT13aW5kb3cuaW5pdERhdGE/LndpZGdldERlZmF1bHRzO2lmKHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IHI9ZS5zeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2Usbz0ic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cj9yOnZvaWQgMCxuPWUuc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlcyx1PUFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09b3x8dm9pZCAwIT09dSYmMCE9PXUubGVuZ3RoP3tkZWZhdWx0RXhjaGFuZ2U6byxhbGxvd2VkRXhjaGFuZ2VzOnV9OnZvaWQgMH19LDk5ODcwNChlLHIsbyl7ZS5leHBvcnRzPVt7dmFsdWU6IiIsbmFtZToiQWxsIEV4Y2hhbmdlcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDU2NDIpKSxmbGFnOiIiLGNvdW50cnk6IiIsZ3JvdXA6IkFsbEV4Y2hhbmdlcyIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJMQkFOSyIsbmFtZToiTEJhbmsiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU5NjI4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMQkFOSyIscHJvdmlkZXJJZDoibGJhbmsifSx7dmFsdWU6IkxGSjJET1QyIixuYW1lOiJMRkogVjIuMiAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDM1MTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkxGSjJET1QyIixwcm92aWRlcklkOiJsZmoyZG90MiJ9LHt2YWx1ZToiQkNIQUlOIixuYW1lOiJCQ0hBSU4gKE5hc2RhcSBEYXRhIExpbmspIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJDSEFJTiIscHJvdmlkZXJJZDoicXVhbmRsX2JjaGFpbiJ9LHt2YWx1ZToiQklTV0FQIixuYW1lOiJCaXN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ2MDg2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVNXQVAiLHByb3ZpZGVySWQ6ImJpc3dhcCJ9LHt2YWx1ZToiQklUQVpaQSIsbmFtZToiQml0YXp6YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTgwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVEFaWkEiLHByb3ZpZGVySWQ6ImJpdGF6emEifSx7dmFsdWU6IkJJVEhVTUIiLG5hbWU6IkJpdGh1bWIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU4NjUwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRIVU1CIixwcm92aWRlcklkOiJiaXRodW1iIn0se3ZhbHVlOiJCSVRLVUIiLG5hbWU6IkJpdGt1YiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NzkzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUS1VCIixwcm92aWRlcklkOiJiaXRrdWIifSx7dmFsdWU6IkJJVFJVRSIsbmFtZToiQml0cnVlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NDExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUUlVFIixwcm92aWRlcklkOiJiaXRydWUifSx7dmFsdWU6IkJJVE1BUlQiLG5hbWU6IkJpdE1hcnQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjY0NTA2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRNQVJUIixwcm92aWRlcklkOiJiaXRtYXJ0In0se3ZhbHVlOiJCSVRTTyIsbmFtZToiQml0c28iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE5NzkyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRTTyIscHJvdmlkZXJJZDoiYml0c28ifSx7dmFsdWU6IkNPSU5NRVRSSUNTIixuYW1lOiJDb2luIE1ldHJpY3MiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk1MDk3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOTUVUUklDUyIscHJvdmlkZXJJZDoiY29pbm1ldHJpY3MifSx7dmFsdWU6Ik1FWEMiLG5hbWU6Ik1FWEMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUxNTkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVhDIixwcm92aWRlcklkOiJtZXhjIn0se3ZhbHVlOiJHQVRFIixuYW1lOiJHYXRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NDA2MCkpLApmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdBVEUiLHByb3ZpZGVySWQ6ImdhdGUifSx7dmFsdWU6IkhUWCIsbmFtZToiSFRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkxNTY0MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiSFRYIixwcm92aWRlcklkOiJodHgifSx7dmFsdWU6Ijc5NiIsbmFtZToiNzk2IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDgxNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJERURVU1QiLG5hbWU6IkRlRHVzdC5pbyAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjA2MjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkRFRFVTVCIscHJvdmlkZXJJZDoiZGVkdXN0In0se3ZhbHVlOiJERUVQQ09JTiIsbmFtZToiRGVlcGNvaW4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDM4NzE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUVQQ09JTiIscHJvdmlkZXJJZDoiZGVlcGNvaW4ifSx7dmFsdWU6IkRFUklCSVQiLG5hbWU6IkRlcmliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU0OTQwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJQklUIixwcm92aWRlcklkOiJkZXJpYml0In0se3ZhbHVlOiJEWURYIixuYW1lOiJkWWRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2NDAxOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiRFlEWCIscHJvdmlkZXJJZDoiZHlkeCJ9LHt2YWx1ZToiREVGSUxMQU1BIixuYW1lOiJEZWZpTGxhbWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYwMjY1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUZJTExBTUEiLHByb3ZpZGVySWQ6ImRlZmlsbGFtYSJ9LHt2YWx1ZToiR0xBU1NOT0RFIixuYW1lOiJHbGFzc25vZGUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA5ODQ2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHTEFTU05PREUiLHByb3ZpZGVySWQ6ImdsYXNzbm9kZSJ9LHt2YWx1ZToiTUVURU9SQURMTU0iLG5hbWU6Ik1ldGVvcmEgRExNTSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDcwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1FVEVPUkFETE1NIixwcm92aWRlcklkOiJtZXRlb3JhZGxtbSJ9LHt2YWx1ZToiTUVURU9SQURZTiIsbmFtZToiTWV0ZW9yYSBEWU4gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODMxOTczKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVRFT1JBRFlOIixwcm92aWRlcklkOiJtZXRlb3JhZHluIn0se3ZhbHVlOiJPS1giLG5hbWU6Ik9LWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzE1NjgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9LWCIscHJvdmlkZXJJZDoib2t4In0se3ZhbHVlOiJPUkNBIixuYW1lOiJPcmNhIChTb2xhbmEpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MDQyOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiT1JDQSIscHJvdmlkZXJJZDoib3JjYSJ9LHt2YWx1ZToiUEFOR09MSU4iLG5hbWU6IlBhbmdvbGluIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU2MjIxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOR09MSU4iLHByb3ZpZGVySWQ6InBhbmdvbGluIn0se3ZhbHVlOiJQQU5DQUtFU1dBUCIsbmFtZToiUGFuY2FrZVN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjgxNTY0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAifSx7dmFsdWU6IlBBTkNBS0VTV0FQM0FSQklUUlVNIixuYW1lOiJQYW5jYWtlc3dhcCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NTYyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQVJCSVRSVU0iLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzQkFTRSIsbmFtZToiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMDkxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQkFTRSIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNCU0MiLG5hbWU6IlBhbmNha2VTd2FwIHYzIChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjI0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUDNCU0MiLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzRVRIIixuYW1lOiJQYW5jYWtlU3dhcCB2MyAoRXRoZXJldW0pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNjEzMTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBBTkNBS0VTV0FQM0VUSCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNaS1NZTkMiLG5hbWU6IlBhbmNha2Vzd2FwIHYzICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMDM0MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzWktTWU5DIixwcm92aWRlcklkOiJwYW5jYWtlc3dhcDMifSx7dmFsdWU6IkNVUlZFIixuYW1lOiJDdXJ2ZSAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwOTAyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRSIscHJvdmlkZXJJZDoiY3VydmUifSx7dmFsdWU6IkNVUlZFQVJCSVRSVU0iLG5hbWU6IkN1cnZlIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA0MzMxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRUFSQklUUlVNIixwcm92aWRlcklkOiJjdXJ2ZSJ9LHt2YWx1ZToiUElPTkVYIixuYW1lOiJQaW9uZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc0NjcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQSU9ORVgiLHByb3ZpZGVySWQ6InBpb25leCJ9LHt2YWx1ZToiUFVMU0VYMiIsbmFtZToiUHVsc2VYIHYyIChQdWxzZWNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Nzk3NTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWDIiLHByb3ZpZGVySWQ6InB1bHNleCJ9LHt2YWx1ZToiUFlUSCIsbmFtZToiUHl0aCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDgxNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBZVEgiLHByb3ZpZGVySWQ6InB5dGgifSx7dmFsdWU6IlJBTVNFUzIiLG5hbWU6IlJhbXNlcyB2MiAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyODA0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUkFNU0VTMiIscHJvdmlkZXJJZDoicmFtc2VzMiJ9LHt2YWx1ZToiUkFZRElVTSIsbmFtZToiUmF5ZGl1bSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjU2MTEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlJBWURJVU0iLHByb3ZpZGVySWQ6InJheWRpdW0ifSx7dmFsdWU6IlJBWURJVU1DTE1NIixuYW1lOiJSYXlkaXVtIENMTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQzNzkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ0xNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNsbW0ifSx7dmFsdWU6IlJBWURJVU1DUE1NIixuYW1lOiJSYXlkaXVtIENQTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA4OTcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ1BNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNwbW0ifSx7dmFsdWU6IlNUT05GSSIsbmFtZToiU1RPTi5maSAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzI5MDkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNUT05GSSIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVE9ORkkyIixuYW1lOiJTVE9OLmZpIHYyIChUT04pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NDQ5NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1RPTkZJMiIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVU5TV0FQMiIsbmFtZToiU3VuU3dhcCB2MiAoVFJPTikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDMxNTE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVU5TV0FQMiIscHJvdmlkZXJJZDoic3Vuc3dhcCJ9LHt2YWx1ZToiV0hJVEVCSVQiLG5hbWU6IldoaXRlQklUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMjQ0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0hJVEVCSVQiLHByb3ZpZGVySWQ6IndoaXRlYml0In0se3ZhbHVlOiJXT09ORVRXT1JLIixuYW1lOiJXT08gWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjUyNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IldPT05FVFdPUksiLHByb3ZpZGVySWQ6Indvb25ldHdvcmsifSx7dmFsdWU6IlZPTE1FWCIsbmFtZToiVm9sbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzA3NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVk9MTUVYIixwcm92aWRlcklkOiJ2b2xtZXgifSx7dmFsdWU6IlpLU1dBUCIsbmFtZToiemtTd2FwICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxODIzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJaS1NXQVAiLHByb3ZpZGVySWQ6Inprc3dhcCJ9LHt2YWx1ZToiWk9PTUVYIixuYW1lOiJab29tZXgiLApkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MDQwMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWk9PTUVYIixwcm92aWRlcklkOiJ6b29tZXgifSx7dmFsdWU6IkFEWCIsbmFtZToiQURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDE1MikpLGZsYWc6ImFlIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImFlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDkwOTEpKV19LHt2YWx1ZToiSUNFQUJVRCIsbmFtZToiSUNFQUQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ0MzQ1KSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJERk0iLG5hbWU6IkRGTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDc0NDEpKSxmbGFnOiJhZSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJhZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYzMTEwKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjQ5MDkxKSldfSx7dmFsdWU6Ik5BU0RBUURVQkFJIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAzNjUwKSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJBUVVJUyIsbmFtZToiQVFVSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY5ODI4KSksZmxhZzoidWsiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InVrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1ODc1MzMpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3MykpXX0se3ZhbHVlOiJMU0UiLG5hbWU6IkxTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNDM4MDMpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkxNRSIsbmFtZToiTE1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4OTI0MykpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiTFNJTiIsbmFtZToiTFNJTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDczMzcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IlRVUlFVT0lTRSIsbmFtZToiVHVycXVvaXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2MTYzMikpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiRlRTRSIsbmFtZToiRlRTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNzkyNTcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkVVUkVYIixuYW1lOiJFVVJFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg1OTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik1HRVgiLG5hbWU6Ik1HRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTk2KSksZmxhZzoidXNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTkFTREFRIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ4NjcwKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJOWVNFIixuYW1lOiJOWVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MjQ4NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6Mixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQU1FWCIsbmFtZToiQXJjYSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njg0MDMpKSxmbGFnOiJ1c2EiLApncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDozLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJPVEMiLG5hbWU6Ik9UQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDA0MTMpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDcxNTgpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjUscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IlNQIixuYW1lOiJTUCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDgyNTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0UiLG5hbWU6IkNCT0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk5ODc3KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo3LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJNU1RBUl9JTkRJQ0VTIixuYW1lOiJNU1RBUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MTI3NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRklOUkFCVERTIixuYW1lOiJGSU5SQSBCVERTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0MjgyNikpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiT1BSQSIsbmFtZToiT1BSQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1OTQxNzApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZJTlJBQVREUyIsbmFtZToiRklOUkEgQVREUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTU1MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0VFVSIsbmFtZToiQ0JPRSBFVSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzODg4NTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IkNCT1QiLG5hbWU6IkNCT1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTAyNzIxKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo4LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDTUUiLG5hbWU6IkNNRSBHTE9CRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzcxNjY1KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo5LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWCIsbmFtZToiQ09NRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjkzOTg2KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxMCxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTllNRVgiLG5hbWU6Ik5ZTUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MTYxNykpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6MTEscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IklDRVVTIixuYW1lOiJJQ0VVUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg4MTApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjEyLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSUNFVVNDQSIsbmFtZToiSUNFVVNDQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDU2MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNTRSIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5MzkzMykpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTMscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiQ0JPRV9DQU5BREEiLG5hbWU6IkNib2UgQ2FuYWRhIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0NTAxOCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVFNYIixuYW1lOiJUU1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODk1MjQ2KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByaW9yaXR5SW5Hcm91cDoxNSxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTE4OSkpXX0se3ZhbHVlOiJUU1hWIixuYW1lOiJUU1hWIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4MzUyNCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVE1YIixuYW1lOiJUTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg1NDg0KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MTg5KSldfSx7dmFsdWU6IlJVUyIsbmFtZToiUlVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzMzNikpLGZsYWc6InJ1c3NpYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToicnUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDU5OCkpXX0se3ZhbHVlOiJNWVgiLG5hbWU6Ik1ZWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjUwNjgpKSxmbGFnOiJtYWxheXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJteSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjI3OTY3KSldfSx7dmFsdWU6IkZUU0VNWVgiLG5hbWU6IkZUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODU1NDc5KSksZmxhZzoibWFsYXlzaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibXkiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDYyNzk2NykpXX0se3ZhbHVlOiJIT1NFIixuYW1lOiJIT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4OTU2OSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IkhOWCIsbmFtZToiSE5YIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEwNTg1NSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IlVQQ09NIixuYW1lOiJITlggVVBDb00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTkxNDUpKSxmbGFnOiJ2aWV0bmFtIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InZuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTIyMSkpXX0se3ZhbHVlOiJDU0VMSyIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNTY4NCkpLGZsYWc6InNyaV9sYW5rYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJsayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA0NzY2KSldfSx7dmFsdWU6IkJJVFNUQU1QIixuYW1lOiJCaXRzdGFtcCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDY2NjYpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFNUQU1QIixwcm92aWRlcklkOiJiaXRzdGFtcCJ9LHt2YWx1ZToiQUNUSVZUUkFERVMiLG5hbWU6IkFjdGl2VHJhZGVzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzY5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQUNUSVZUUkFERVMiLHByb3ZpZGVySWQ6ImFjdGl2dHJhZGVzIn0se3ZhbHVlOiJCMlBSSU1FIixuYW1lOiJCMlBSSU1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0ODczNCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkIyUFJJTUUiLHByb3ZpZGVySWQ6ImIycHJpbWUifSx7dmFsdWU6IkJMQUNLQlVMTCIsbmFtZToiQmxhY2tCdWxsIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEyODQxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsCmNvdW50cnk6IiIsc291cmNlSWQ6IkJMQUNLQlVMTCIscHJvdmlkZXJJZDoiYmxhY2tidWxsbWFya2V0cyJ9LHt2YWx1ZToiQkxVRUJFUlJZIixuYW1lOiJCbHVlYmVycnkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAyNDMzKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUJFUlJZIixwcm92aWRlcklkOiJibHVlYmVycnkifSx7dmFsdWU6IkNNQ01BUktFVFMiLG5hbWU6IkNNQyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ5NzExMCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkNNQ01BUktFVFMiLHByb3ZpZGVySWQ6ImNtY21hcmtldHMifSx7dmFsdWU6IkNYTSIsbmFtZToiQ1hNIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1NDk3KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ1hNIixwcm92aWRlcklkOiJjeG0ifSx7dmFsdWU6IkRBUldJTkVYIixuYW1lOiJEYXJ3aW5leCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMzU5NjUpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJEQVJXSU5FWCIscHJvdmlkZXJJZDoiZGFyd2luZXgifSx7dmFsdWU6IkRFUklWIixuYW1lOiJEZXJpdiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDI4NjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJViIscHJvdmlkZXJJZDoiZGVyaXYifSx7dmFsdWU6IkZQTUFSS0VUUyIsbmFtZToiRlAgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODU2MDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGUE1BUktFVFMiLHByb3ZpZGVySWQ6ImZwbWFya2V0cyJ9LHt2YWx1ZToiRlVTSU9OTUFSS0VUUyIsbmFtZToiRnVzaW9uIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTIwMzE5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlVTSU9OTUFSS0VUUyIscHJvdmlkZXJJZDoiZnVzaW9ubWFya2V0cyJ9LHt2YWx1ZToiR09NQVJLRVRTIixuYW1lOiJHTyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0OTc4MSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdPTUFSS0VUUyIscHJvdmlkZXJJZDoiZ29tYXJrZXRzIn0se3ZhbHVlOiJJRyIsbmFtZToiSUciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU2OTY0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiSUciLHByb3ZpZGVySWQ6ImlnIn0se3ZhbHVlOiJUQVNUWUZYIixuYW1lOiJ0YXN0eWZ4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDMyMSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoidGFzdHlmeCJ9LHt2YWx1ZToiVEhJTktNQVJLRVRTIixuYW1lOiJUaGlua01hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE5MTkyKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVEhJTktNQVJLRVRTIixwcm92aWRlcklkOiJ0aGlua21hcmtldHMifSx7dmFsdWU6IlRJQ0tNSUxMIixuYW1lOiJUaWNrbWlsbCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTgwNDQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUSUNLTUlMTCIscHJvdmlkZXJJZDoidGlja21pbGwifSx7dmFsdWU6IlRSQURFTkFUSU9OIixuYW1lOiJUcmFkZSBOYXRpb24iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAwMDA1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVOQVRJT04iLHByb3ZpZGVySWQ6InRyYWRlbmF0aW9uIn0se3ZhbHVlOiJUUklWRSIsbmFtZToiVHJpdmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY1NDY1KSksZmxhZzoiRm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJJVkUiLHByb3ZpZGVySWQ6InRyaXZlIn0se3ZhbHVlOiJWQU5UQUdFIixuYW1lOiJWYW50YWdlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2MjUxNykpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZBTlRBR0UiLHByb3ZpZGVySWQ6InZhbnRhZ2VmeCJ9LHt2YWx1ZToiVkVMT0NJVFkiLG5hbWU6IlZlbG9jaXR5IFRyYWRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MDc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ2ZWxvY2l0eXRyYWRlIn0se3ZhbHVlOiJGWCIsbmFtZToiRlhDTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTI3MjYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImZ4Y20ifSx7dmFsdWU6IkZYUFJPIixuYW1lOiJGeFBybyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjE0MDApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGWFBSTyIscHJvdmlkZXJJZDoiZnhwcm8ifSx7dmFsdWU6IkZYVEYiLG5hbWU6IkZYVEYiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0MTE1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlhURiIscHJvdmlkZXJJZDoiZnh0ZiJ9LHt2YWx1ZToiRUlHSFRDQVAiLG5hbWU6IkVpZ2h0Y2FwIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1OTQ1OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkVJR0hUQ0FQIixwcm92aWRlcklkOiJlaWdodGNhcCJ9LHt2YWx1ZToiRVJSQU5URSIsbmFtZToiRXJyYW50ZSIsCmRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM2ODgpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJFUlJBTlRFIixwcm92aWRlcklkOiJlcnJhbnRlIn0se3ZhbHVlOiJFU0FGWCIsbmFtZToiRXNhRlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTA4ODQ2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJlc2FmeCJ9LHt2YWx1ZToiT1NNQU5MSUZYIixuYW1lOiJPc21hbmxpIEZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzOTU0OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoib3NtYW5saWZ4In0se3ZhbHVlOiJCVENFIixuYW1lOiJCVEMtZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzI1NzQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiSE9ORVlTV0FQIixuYW1lOiJIb25leXN3YXAgdjIgKEdub3NpcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDA2NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhPTkVZU1dBUCIscHJvdmlkZXJJZDoiaG9uZXlzd2FwIn0se3ZhbHVlOiJIWVBFUkxJUVVJRCIsbmFtZToiSHlwZXJsaXF1aWQgKEh5cGVybGlxdWlkKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMzIzMDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhZUEVSTElRVUlEIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1hZWiIsbmFtZToiSHlwZXJsaXF1aWQgKFhZWiBISVAtMykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMyMzAzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJISVAzWFlaIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1BBUkEiLG5hbWU6Ikh5cGVybGlxdWlkIChQQVJBIEhJUC0zKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQxODUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhJUDNQQVJBIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiQlNFIixuYW1lOiJCU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ1NzYwKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNU0VJIixuYW1lOiJNU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzE5ODY0KSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJOWU1FWF9NSU5JIixuYW1lOiJOWU1FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODE2MTcpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWF9NSU5JIixuYW1lOiJDT01FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTM5ODYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJJQ0VFTkRFWCIsbmFtZToiSUNFRU5ERVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjE5ODMzKSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJJQ0VFVVJGSU4iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzU1NTgpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IklDRUVVUkNPTU0iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NTU1MjcpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik5TRSIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MDcxKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNQ1giLG5hbWU6Ik1DWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MDI3OCkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiTkNERVgiLG5hbWU6Ik5DREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0MTI1NSkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiS0NCVCIsbmFtZToiS0NCVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNTgxOTQpKSxmbGFnOiJ1c2EiLApoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQ0JPVF9NSU5JIixuYW1lOiJDQk9UIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjcyMSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IktSQUtFTiIsbmFtZToiS3Jha2VuIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5MDEyMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1JBS0VOIixwcm92aWRlcklkOiJrcmFrZW4ifSx7dmFsdWU6IktVQ09JTiIsbmFtZToiS3VDb2luIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwODQwOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1VDT0lOIixwcm92aWRlcklkOiJrdWNvaW4ifSx7dmFsdWU6IkxVTkFSQ1JVU0giLG5hbWU6Ikx1bmFyQ3J1c2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIzODk0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMVU5BUkNSVVNIIixwcm92aWRlcklkOiJsdW5hcmNydXNoIn0se3ZhbHVlOiJYRVhDSEFOR0UiLG5hbWU6InhFeGNoYW5nZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM0OTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlhFWENIQU5HRSIscHJvdmlkZXJJZDoieGV4Y2hhbmdlIn0se3ZhbHVlOiJYVENPTSIsbmFtZToiWFQuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4NjExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWFRDT00iLHByb3ZpZGVySWQ6Inh0Y29tIn0se3ZhbHVlOiJDTUVfTUlOSSIsbmFtZToiQ01FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MTY2NSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjI0NzEpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJTUCIsbmFtZToiU1AiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQxOTgpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJCVENDSElOQSIsbmFtZToiQlRDIENoaW5hIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ0NzIyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJBTlgiLG5hbWU6IkFOWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTk5NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJNRVhCVCIsbmFtZToibWVYQlQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ1MTUzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5IixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkdFTUlOSSIsbmFtZToiR2VtaW5pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxODMxMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiR0VNSU5JIixwcm92aWRlcklkOiJnZW1pbmkifSx7dmFsdWU6IkJJVFZDIixuYW1lOiJCaXRWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDYwMjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklUWUVTIixuYW1lOiJCaXRZZXMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1NDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklURkxZRVIiLG5hbWU6ImJpdEZseWVyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1MTk0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURkxZRVIiLHByb3ZpZGVySWQ6ImJpdGZseWVyIn0se3ZhbHVlOiJCWUJJVCIsbmFtZToiQnliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE4OTY3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLApzb3VyY2VJZDoiQllCSVQiLHByb3ZpZGVySWQ6ImJ5Yml0In0se3ZhbHVlOiJCWURGSSIsbmFtZToiQllERmkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0OTExKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCWURGSSIscHJvdmlkZXJJZDoiYnlkZmkifSx7dmFsdWU6IkJJVE1FWCIsbmFtZToiQml0TUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1NTc2NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUTUVYIixwcm92aWRlcklkOiJiaXRtZXgifSx7dmFsdWU6IkNBUElUQUxDT00iLG5hbWU6IkNhcGl0YWwuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwNzc2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FQSVRBTENPTSIscHJvdmlkZXJJZDoiY2FwaXRhbGNvbSJ9LHt2YWx1ZToiQ0ZJIixuYW1lOiJDRkkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE1NzM4KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0ZJIixwcm92aWRlcklkOiJjZmlmaW5hbmNpYWwifSx7dmFsdWU6IkNPSU5FWCIsbmFtZToiQ29pbkV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2OTE1MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkVYIixwcm92aWRlcklkOiJjb2luZXgifSx7dmFsdWU6IkNPSU5KQVIiLG5hbWU6IkNvaW5KYXIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzAzNzQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOSkFSIixwcm92aWRlcklkOiJjb2luamFyIn0se3ZhbHVlOiJDT0lOVyIsbmFtZToiQ29pblciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzkzMDk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOVyIscHJvdmlkZXJJZDoiY29pbncifSx7dmFsdWU6IkNPSU5TV0lUQ0giLG5hbWU6IkNvaW5Td2l0Y2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM4ODI5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOU1dJVENIIixwcm92aWRlcklkOiJjb2luc3dpdGNoIn0se3ZhbHVlOiJFQVNZTUFSS0VUUyIsbmFtZToiZWFzeU1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDI0MzM0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRUFTWU1BUktFVFMiLHByb3ZpZGVySWQ6ImVhc3ltYXJrZXRzIn0se3ZhbHVlOiJGT1JFWENPTSIsbmFtZToiRk9SRVguY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3MjQ0MikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZ2FpbiJ9LHt2YWx1ZToiRlhfSURDIixuYW1lOiJJQ0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDAzNDMwKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJpY2UifSx7dmFsdWU6IklCS1IiLG5hbWU6IkludGVyYWN0aXZlIEJyb2tlcnMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyNDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQktSIixwcm92aWRlcklkOiJpYmtyIn0se3ZhbHVlOiJJQlJPS0VSIixuYW1lOiJpQnJva2VyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY1MzU3MCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IklCUk9LRVIiLHByb3ZpZGVySWQ6Imlicm9rZXIifSx7dmFsdWU6IklDTUFSS0VUUyIsbmFtZToiSUMgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDkyMTIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQ01BUktFVFMiLHByb3ZpZGVySWQ6ImljbWFya2V0cyJ9LHt2YWx1ZToiQklURklORVgiLG5hbWU6IkJpdGZpbmV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1ODAyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURklORVgiLHByb3ZpZGVySWQ6ImJpdGZpbmV4In0se3ZhbHVlOiJNVEdPWCIsbmFtZToiTXQuR294IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMjg4OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1UR09YIixwcm92aWRlcklkOiJtdGdveCJ9LHt2YWx1ZToiUEhBUkFPSCIsbmFtZToiUGhhcmFvaCAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MzM1MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBIQVJBT0giLHByb3ZpZGVySWQ6InBoYXJhb2gifSx7dmFsdWU6IlBIRU1FWCIsbmFtZToiUGhlbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwNTMyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEhFTUVYIixwcm92aWRlcklkOiJwaGVtZXgifSx7dmFsdWU6IlBPTE9OSUVYIixuYW1lOiJQb2xvbmlleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDMyMzUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBPTE9OSUVYIixwcm92aWRlcklkOiJwb2xvbmlleCJ9LHt2YWx1ZToiUFVMU0VYIixuYW1lOiJQdWxzZXggKFB1bHNlY2hhaW4pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzkzMDcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWCIscHJvdmlkZXJJZDoicHVsc2V4In0se3ZhbHVlOiJRVUlDS1NXQVAiLG5hbWU6IlF1aWNrU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyMjgxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJRVUlDS1NXQVAiLHByb3ZpZGVySWQ6InF1aWNrc3dhcCJ9LHt2YWx1ZToiUVVJQ0tTV0FQM1BPTFlHT05aS0VWTSIsbmFtZToiUXVpY2tTd2FwIHYzIChQb2x5Z29uIHprRVZNKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NzMzOTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlFVSUNLU1dBUDNQT0xZR09OWktFVk0iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlFVSUNLU1dBUDNQT0xZR09OIixuYW1lOiJRdWlja1N3YXAgdjMgKFBvbHlnb24pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NjU0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUVVJQ0tTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlNVU0hJU1dBUCIsbmFtZToiU3VzaGlTd2FwIHYyIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTAzNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1VTSElTV0FQIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNVU0hJU1dBUFBPTFlHT04iLG5hbWU6IlN1c2hpU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzI0NzA5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVVNISVNXQVBQT0xZR09OIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNZTkNTV0FQIixuYW1lOiJTeW5jU3dhcCAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDk5ODMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNZTkNTV0FQIixwcm92aWRlcklkOiJzeW5jc3dhcCJ9LHt2YWx1ZToiU1lOQ1NXQVAyIixuYW1lOiJTeW5jU3dhcCB2MiAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjExMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1lOQ1NXQVAyIixwcm92aWRlcklkOiJzeW5jc3dhcDIifSx7dmFsdWU6IlRPT0JJVCIsbmFtZToiVG9vYml0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQxNjE5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUT09CSVQiLHByb3ZpZGVySWQ6InRvb2JpdCJ9LHt2YWx1ZToiVFJBREVSSk9FIixuYW1lOiJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MDI0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVSSk9FIixwcm92aWRlcklkOiJ0cmFkZXJqb2UifSx7dmFsdWU6IlRVUkJPU0ZJTkFOQ0UiLG5hbWU6IlR1cmJvcyBGaW5hbmNlIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0OTE4MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFVSQk9TRklOQU5DRSIscHJvdmlkZXJJZDoidHVyYm9zZmluYW5jZSJ9LHt2YWx1ZToiVU5JU1dBUCIsbmFtZToiVW5pc3dhcCB2MiAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2NTk0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUCIscHJvdmlkZXJJZDoidW5pc3dhcCJ9LHt2YWx1ZToiVU5JU1dBUEJBU0UiLG5hbWU6IlVuaXN3YXAgdjIgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwMzkyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXAifSx7dmFsdWU6IlVOSVNXQVAzRVRIIixuYW1lOiJVbmlzd2FwIHYzIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNTA1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0VUSCIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzUE9MWUdPTiIsbmFtZToiVW5pc3dhcCB2MyAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzgzNzc1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0FSQklUUlVNIixuYW1lOiJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTkxOTcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2MyAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0Mzc4NCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDNPUFRJTUlTTSIsCnByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0JTQyIsbmFtZToiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDA2OTcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQlNDIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNCQVNFIixuYW1lOiJVbmlzd2FwIHYzIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTYyNjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQkFTRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzQVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHYzIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4MTUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FWQUxBTkNIRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVA0RVRIIixuYW1lOiJVbmlzd2FwIHY0IChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA4NjgyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEVUSCIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QlNDIixuYW1lOiJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0NTE2MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRCU0MiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEJBU0UiLG5hbWU6IlVuaXN3YXAgdjQgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3Mjg0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEFSQklUUlVNIixuYW1lOiJVbmlzd2FwIHY0IChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzU3NTkzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEFSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRQT0xZR09OIixuYW1lOiJVbmlzd2FwIHY0IChQb2x5Z29uKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODQxMjIpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVA0UE9MWUdPTiIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDExMTMwMCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRBVkFMQU5DSEUiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNFVOSUNIQUlOIixuYW1lOiJVbmlzd2FwIHY0IChVbmljaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjg5MzE3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNFVOSUNIQUlOIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2NCAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ3MDQ4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRPUFRJTUlTTSIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVQQklUIixuYW1lOiJVcEJpdCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxOTM4MTgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVQQklUIixwcm92aWRlcklkOiJ1cGJpdCJ9LHt2YWx1ZToiQU5UQVJDVElDIixuYW1lOiJBbnRhcmN0aWMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ2ODcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBTlRBUkNUSUMiLHByb3ZpZGVySWQ6ImFudGFyY3RpYyJ9LHt2YWx1ZToiQklOR1giLG5hbWU6IkJpbmdYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzUzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklOR1giLHByb3ZpZGVySWQ6ImJpbmd4In0se3ZhbHVlOiJCVFNFIixuYW1lOiJCVFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxMTE3NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRTRSIscHJvdmlkZXJJZDoiYnRzZSJ9LHt2YWx1ZToiQklUVFJFWCIsbmFtZToiQml0dHJleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDg0NTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFRSRVgiLHByb3ZpZGVySWQ6ImJpdHRyZXgifSx7dmFsdWU6IkJJVFZBVk8iLG5hbWU6IkJpdHZhdm8iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIwODM5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRWQVZPIixwcm92aWRlcklkOiJiaXR2YXZvIn0se3ZhbHVlOiJCSVRVTklYIixuYW1lOiJCaXR1bml4IiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg1NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFVOSVgiLHByb3ZpZGVySWQ6ImJpdHVuaXgifSx7dmFsdWU6IkJJTkFOQ0UiLG5hbWU6IkJpbmFuY2UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjA1ZTMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0UiLHByb3ZpZGVySWQ6ImJpbmFuY2UifSx7dmFsdWU6IkJJVEdFVCIsbmFtZToiQml0Z2V0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNjYwOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUR0VUIixwcm92aWRlcklkOiJiaXRnZXQifSx7dmFsdWU6IkJJTkFOQ0VVUyIsbmFtZToiQmluYW5jZS5VUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMTE2NzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0VVUyIscHJvdmlkZXJJZDoiYmluYW5jZSJ9LHt2YWx1ZToiREVMVEFJTiIsbmFtZToiRGVsdGEgRXhjaGFuZ2UgSW5kaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTc2NTQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUxUQUlOIixwcm92aWRlcklkOiJkZWx0YWluIn0se3ZhbHVlOiJCTE9GSU4iLG5hbWU6IkJsb0ZpbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDI5ODcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJMT0ZJTiIscHJvdmlkZXJJZDoiYmxvZmluIn0se3ZhbHVlOiJCTEFDS0hPTEUzIixuYW1lOiJCbGFja2hvbGUgdjMgKEF2YWxhbmNoZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgzMjg3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCTEFDS0hPTEUzIixwcm92aWRlcklkOiJibGFja2hvbGUzIn0se3ZhbHVlOiJCTFVFRklOIixuYW1lOiJCbHVlZmluIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxNTQyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUZJTiIscHJvdmlkZXJJZDoiYmx1ZWZpbiJ9LHt2YWx1ZToiQk5DIixuYW1lOiJCcmF2ZSBOZXcgQ29pbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzkxNTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJOQyIscHJvdmlkZXJJZDoiYm5jIn0se3ZhbHVlOiJCVENDIixuYW1lOiJCVENDIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NDMxNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRDQyIscHJvdmlkZXJJZDoiYnRjYyJ9LHt2YWx1ZToiS0FUQU5BIixuYW1lOiJLYXRhbmEgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODA3MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQSIscHJvdmlkZXJJZDoia2F0YW5hIn0se3ZhbHVlOiJLQVRBTkEzIixuYW1lOiJLYXRhbmEgdjMgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTc2MDUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQTMiLHByb3ZpZGVySWQ6ImthdGFuYTMifSx7dmFsdWU6IktDRVgiLG5hbWU6IktDRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDk4ODk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJLQ0VYIixwcm92aWRlcklkOiJrY2V4In0se3ZhbHVlOiJDQU1FTE9UIixuYW1lOiJDYW1lbG90IHYyIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg0MTYzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDQU1FTE9UIixwcm92aWRlcklkOiJjYW1lbG90MiJ9LHt2YWx1ZToiQ0FNRUxPVDNBUkJJVFJVTSIsbmFtZToiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzY4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FNRUxPVDNBUkJJVFJVTSIscHJvdmlkZXJJZDoiY2FtZWxvdDMifSx7dmFsdWU6IkNPSU5ERVNLIixuYW1lOiJDb2luRGVzayBJbmRpY2VzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1ODc4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkRFU0siLHByb3ZpZGVySWQ6ImNvaW5kZXNrIn0se3ZhbHVlOiJDUllQVE9DT00iLG5hbWU6IkNyeXB0by5jb20iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjI4NDQ5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDUllQVE9DT00iLHByb3ZpZGVySWQ6ImNyeXB0b2NvbSJ9LHt2YWx1ZToiVkVMT0RST01FIixuYW1lOiJWZWxvZHJvbWUgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDQ4MjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZFTE9EUk9NRSIscHJvdmlkZXJJZDoidmVsb2Ryb21lIn0se3ZhbHVlOiJWRUxPRFJPTUUyIixuYW1lOiJWZWxvZHJvbWUgdjIgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NTc3MzQpKSxmbGFnOiJiaXRjb2luIiwKZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWRUxPRFJPTUUyIixwcm92aWRlcklkOiJ2ZWxvZHJvbWUyIn0se3ZhbHVlOiJWRUxPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJWZWxvZHJvbWUgU2xpcFN0cmVhbSAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzI1MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVkVMT0RST01FU0xJUFNUUkVBTSIscHJvdmlkZXJJZDoidmVsb2Ryb21lc2xpcHN0cmVhbSJ9LHt2YWx1ZToiVlZTRklOQU5DRSIsbmFtZToiVlZTIEZpbmFuY2UgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMxMzI1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlNGSU5BTkNFIixwcm92aWRlcklkOiJ2dnNmaW5hbmNlIn0se3ZhbHVlOiJWVlMzIixuYW1lOiJWVlMgdjMgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk0MTc2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlMzIixwcm92aWRlcklkOiJ2dnMzIn0se3ZhbHVlOiJXRUJVTExQQVkiLG5hbWU6IldlYnVsbCBQYXkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY1ODUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJXRUJVTExQQVkiLHByb3ZpZGVySWQ6IndlYnVsbHBheSJ9LHt2YWx1ZToiQ0VUVVMiLG5hbWU6IkNldHVzIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDE0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0VUVVMiLHByb3ZpZGVySWQ6ImNldHVzIn0se3ZhbHVlOiJXRUVYIixuYW1lOiJXRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzNjg3MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0VFWCIscHJvdmlkZXJJZDoid2VleCJ9LHt2YWx1ZToiTU1GSU5BTkNFIixuYW1lOiJNTSBGaW5hbmNlIChDcm9ub3MpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MjUxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiTU1GSU5BTkNFIixwcm92aWRlcklkOiJtbWZpbmFuY2UifSx7dmFsdWU6IkFFUk9EUk9NRSIsbmFtZToiQWVyb2Ryb21lIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMTc4NjQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkFFUk9EUk9NRSIscHJvdmlkZXJJZDoiYWVyb2Ryb21lIn0se3ZhbHVlOiJBRVJPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJBZXJvZHJvbWUgU2xpcFN0cmVhbSAoQmFzZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI1MjEyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBRVJPRFJPTUVTTElQU1RSRUFNIixwcm92aWRlcklkOiJhZXJvZHJvbWVzbGlwc3RyZWFtIn0se3ZhbHVlOiJCQVNFU1dBUCIsbmFtZToiQmFzZVN3YXAgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIyMTM1OSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkFTRVNXQVAiLHByb3ZpZGVySWQ6ImJhc2Vzd2FwIn0se3ZhbHVlOiJCQ0JBIixuYW1lOiJCWU1BIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNjkwOSkpLGZsYWc6ImFyZ2VudGluYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiYXIiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NzU4NykpXX0se3ZhbHVlOiJNQVRCQVJPRkVYIixuYW1lOiJST0ZFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjM0MDEpKSxmbGFnOiJhcmdlbnRpbmEiLGdyb3VwOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGNvdW50cnk6ImFyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTc1ODcpKV19LHt2YWx1ZToiQk1GQk9WRVNQQSIsbmFtZToiQjMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDc5MzQxKSksZmxhZzoiYnJhc2lsIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJiciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldfSx7dmFsdWU6IkJNViIsbmFtZToiQk1WIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwOTQyNykpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCSVZBIixuYW1lOiJCSVZBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MjI0OSkpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCVkwiLG5hbWU6IkJWTCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNTEwNzYpKSxmbGFnOiJwZXJ1Iixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJwZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODUxMTExKSldfSx7dmFsdWU6IkJDUyIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMyMTE3NSkpLGZsYWc6ImNoaWxlIiwKZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY2wiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXX0se3ZhbHVlOiJCVkMiLG5hbWU6IkJWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODQ2MTkpKSxmbGFnOiJjb2xvbWJpYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY28iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzNTg2NykpXX0se3ZhbHVlOiJCVkNWIixuYW1lOiJCVkMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA1OTUyKSksZmxhZzoidmVuZXp1ZWxhIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJ2ZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldfSx7dmFsdWU6Ik5BRyIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkyMjc3MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiVFNFIixuYW1lOiJUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQxNzQpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRGRVgiLG5hbWU6IlRGRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTUxNDkxKSksZmxhZzoidGhhaWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidGgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU1MzA0NCkpXX0se3ZhbHVlOiJURlgiLG5hbWU6IlRGWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjMyNzgpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRPQ09NIixuYW1lOiJUT0NPTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODIxNjIpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6Ik9TRSIsbmFtZToiT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNDAzNykpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiU0dYIixuYW1lOiJTR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzkzMjUpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJBQkFYWCIsbmFtZToiQWJheHgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAzMjEwKSksZmxhZzoic2luZ2Fwb3JlIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InNnIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV19LHt2YWx1ZToiSUNFU0ciLG5hbWU6IklDRSBGdXR1cmVzIFNpbmdhcG9yZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NDQzMSkpLGZsYWc6InNpbmdhcG9yZSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJzZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNzk1KSldfSx7dmFsdWU6IkZUU0VTVCIsbmFtZToiRlRTRSBTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTIwNjcpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJTQVBTRSIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMzI5MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiRlNFIixuYW1lOiJGU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI3MjMwKSksZmxhZzoiamFwYW4iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToianAiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwMDA2OCkpXX0se3ZhbHVlOiJUUEVYIixuYW1lOiJUUEV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDgxOCkpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRBSUZFWCIsbmFtZToiVEFJRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMjcwNykpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRXU0UiLG5hbWU6IlRXU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE2MjUzKSksZmxhZzoidGFpd2FuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLApjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlNFVCIsbmFtZToiU0VUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3NjM0NikpLGZsYWc6InRoYWlsYW5kIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InRoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTMwNDQpKV19LHt2YWx1ZToiS1JYIixuYW1lOiJLUlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxMjg5KSksZmxhZzoic291dGhfa29yZWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToia3IiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4Nzc1MikpXX0se3ZhbHVlOiJCQUhSQUlOIixuYW1lOiJCSEIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQ0NjUpKSxmbGFnOiJiYWhyYWluIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImJoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Nzg2NjUpKV19LHt2YWx1ZToiS1NFIixuYW1lOiJLU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY2MDQwKSksZmxhZzoia3V3YWl0Iixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Imt3Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTUxMzApKV19LHt2YWx1ZToiQ1NFQ1kiLG5hbWU6IkNTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM4ODMpKSxmbGFnOiJjeXBydXMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImN5Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQ3MzcpKV19LHt2YWx1ZToiQlZNVCIsbmFtZToiQlZNVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzMzNikpLGZsYWc6InR1bmlzaWEiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToidG4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzU5KSldfSx7dmFsdWU6IkFUSEVYIixuYW1lOiJBVEhFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDExNzYpKSxmbGFnOiJncmVlY2UiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImdyIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkJFTEVYIixuYW1lOiJCRUxFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMDQyMDApKSxmbGFnOiJzZXJiaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTg1MjkpKV19LHt2YWx1ZToiRUdYIixuYW1lOiJFR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTk3MTI1KSksZmxhZzoiZWd5cHQiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiZWciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzQzNykpXX0se3ZhbHVlOiJUQURBV1VMIixuYW1lOiJUYWRhd3VsIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NzY0NykpLGZsYWc6InNhdWRpX2FyYWJpYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJzYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldfSx7dmFsdWU6IkNTRU1BIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM5MDk3KSksZmxhZzoibW9yb2NjbyIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJtYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIxNDMzKSldfSx7dmFsdWU6IklEWCIsbmFtZToiSURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1MTA1OCkpLGZsYWc6ImluZG9uZXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJpZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAyOTc1KSldfSx7dmFsdWU6IkhTSSIsbmFtZToiSFNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NTU1NSkpLGZsYWc6Imhvbmdfa29uZyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJoayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldfSx7dmFsdWU6IlFTRSIsbmFtZToiUVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NTU1NSkpLGZsYWc6InFhdGFyIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6InFhIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV19LHt2YWx1ZToiT0FOREEiLG5hbWU6Ik9BTkRBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NTE4NCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9BTkRBIixwcm92aWRlcklkOiJvYW5kYSJ9LHt2YWx1ZToiT1BPRklOQU5DRSIsbmFtZToiT3BvZmluYW5jZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzIwNzApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJPUE9GSU5BTkNFIixwcm92aWRlcklkOiJvcG9maW5hbmNlIn0se3ZhbHVlOiJTQVhPIixuYW1lOiJTYXhvIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MzQ3OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNBWE8iLHByb3ZpZGVySWQ6InNheG9iYW5rIn0se3ZhbHVlOiJQRVBQRVJTVE9ORSIsbmFtZToiUGVwcGVyc3RvbmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NDkzKSksZmxhZzoiZm9yZXgiLApncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBFUFBFUlNUT05FIixwcm92aWRlcklkOiJwZXBwZXJzdG9uZSJ9LHt2YWx1ZToiUEhJTExJUE5PVkEiLG5hbWU6IlBoaWxsaXAgTm92YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzIwMzYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InBoaWxsaXBub3ZhIn0se3ZhbHVlOiJQVVJQTEVUUkFESU5HIixuYW1lOiJQdXJwbGUgVHJhZGluZyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMTU3OTEpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQVVJQTEVUUkFESU5HIixwcm92aWRlcklkOiJwdXJwbGV0cmFkaW5nIn0se3ZhbHVlOiJTS0lMTElORyIsbmFtZToiU2tpbGxpbmciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA2OTczKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiU0tJTExJTkciLHByb3ZpZGVySWQ6InNraWxsaW5nIn0se3ZhbHVlOiJTUFJFQURFWCIsbmFtZToiU3ByZWFkZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjkxMjc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJzcHJlYWRleCJ9LHt2YWx1ZToiU1dJU1NRVU9URSIsbmFtZToiU3dpc3NxdW90ZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NjA1MzQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTV0lTU1FVT1RFIixwcm92aWRlcklkOiJzd2lzc3F1b3RlIn0se3ZhbHVlOiJHQkVCUk9LRVJTIixuYW1lOiJHQkUgYnJva2VycyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTkxNzIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHQkVCUk9LRVJTIixwcm92aWRlcklkOiJnYmVicm9rZXJzIn0se3ZhbHVlOiJFVVJPTkVYVCIsbmFtZToiRXVyb25leHQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI0NzY0KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJFVVJPTkVYVEFNUyIsbmFtZToiRVVST05FWFRBTVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDgyMDc5KSksZmxhZzoibmV0aGVybGFuZHMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Im5sIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MTY4NjIpKV19LHt2YWx1ZToiRVVST05FWFRCUlUiLG5hbWU6IkVVUk9ORVhUQlJVIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzE1NikpLGZsYWc6ImJlbGdpdW0iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImJlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzMyNCkpXX0se3ZhbHVlOiJFVVJPTkVYVERVQiIsbmFtZToiRVVST05FWFREVUIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg4MzM2KSksZmxhZzoiaXJlbGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxMTUyNykpXX0se3ZhbHVlOiJFVVJPTkVYVExJUyIsbmFtZToiRVVST05FWFRMSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzk4MzAyKSksZmxhZzoicG9ydHVnYWwiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InB0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTg5NCkpXX0se3ZhbHVlOiJFVVJPTkVYVFBBUiIsbmFtZToiRVVST05FWFRQQVIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIyODMxKSksZmxhZzoiZnJhbmNlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJmciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM2MjM4KSldfSx7dmFsdWU6Ik9TTCIsbmFtZToiRVVST05FWFRPU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTcwMTY4KSksZmxhZzoibm9yd2F5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJubyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODQ1NTIzKSldfSx7dmFsdWU6IkVVUk9UTFgiLG5hbWU6IkVVUk9UTFgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyOTg1KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiT01YIixuYW1lOiJPTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzMzMzQ5KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGV0IiLG5hbWU6IkZXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTA2MDEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkVFWCIsbmFtZToiRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk4OTI5OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiRlJBIixuYW1lOiJGUkEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc3MDgwKSksZmxhZzoiZ2VybWFueSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTFMiLG5hbWU6IkxTIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4ODA0NzEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkxTWCIsbmFtZToiTFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg4MDQ3MSkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiU1dCIixuYW1lOiJTV0IiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzA3OTYpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IlhFVFIiLG5hbWU6IlhFVFIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxODQ3KSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJCTUUiLG5hbWU6IkJNRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTE0NTYpKSxmbGFnOiJzcGFpbiIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXX0se3ZhbHVlOiJCU1NFIixuYW1lOiJCU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NzU2OSkpLGZsYWc6InNsb3Zha2lhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjYzNDMyKSldfSx7dmFsdWU6IkJWQiIsbmFtZToiQlZCIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NTY5MykpLGZsYWc6InJvbWFuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJvIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDU5NDUpKV19LHt2YWx1ZToiQkVUIixuYW1lOiJCRVQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQxMzQxKSksZmxhZzoiaHVuZ2FyeSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaHUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY2MTM2NikpXX0se3ZhbHVlOiJHUFciLG5hbWU6IkdQVyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTQzMjQpKSxmbGFnOiJwb2xhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InBsIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg2MDkpKV19LHt2YWx1ZToiTkVXQ09OTkVDVCIsbmFtZToiR1BXIOKAlCBOZXdDb25uZWN0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NjI2KSksZmxhZzoicG9sYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJwbCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldfSx7dmFsdWU6IlpTRSIsbmFtZToiWlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNzEzNykpLGZsYWc6ImNyb2F0aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImhyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDc0KSldfSx7dmFsdWU6IkxVWFNFIixuYW1lOiJMVVhTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MzYyNTMpKSxmbGFnOiJsdXhlbWJvdXJnIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTc1NDQ3KSldfSx7dmFsdWU6IkxKU0UiLG5hbWU6IkxKU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEzOTY0KSksZmxhZzoic2xvdmVuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjE4MjEpKV19LHt2YWx1ZToiTUlMIixuYW1lOiJNSUwiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzg1ODI0KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiTkdNIixuYW1lOiJOR00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjIwNTU3KSksZmxhZzoic3dlZGVuIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldfSx7dmFsdWU6IkRVUyIsbmFtZToiRFVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1MzIzNCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiSEFNIixuYW1lOiJIQU0iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg1NTUwKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJIQU4iLG5hbWU6IkhBTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY0OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTVVOIixuYW1lOiJNVU4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU0NDgzKSksCmZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiVFJBREVHQVRFIixuYW1lOiJUUkFERUdBVEUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM3NTUxKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJHRVRURVgiLG5hbWU6IkdFVFRFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3OTM2MDIpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiZmluYW56ZW4iLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTUlMU0VERVgiLG5hbWU6Ik1JTFNFREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0OTgyNikpLGZsYWc6Iml0YWx5Iixncm91cDoiRXVyb3BlIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiaXQiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5ODE2MykpXX0se3ZhbHVlOiJJU1QiLG5hbWU6IklTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzUxMjIpKSxmbGFnOiJ0dXJrZXkiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IkJJU1QiLG5hbWU6IkJJU1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NjcwKSksZmxhZzoidHVya2V5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IlRBU0UiLG5hbWU6IlRBU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMzNTUpKSxmbGFnOiJpc3JhZWwiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiaWwiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwMzM1NCkpXX0se3ZhbHVlOiJTSVgiLG5hbWU6IlNJWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjMyNykpLGZsYWc6InN3aXR6ZXJsYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzMzOTcxKSldfSx7dmFsdWU6IkJYIixuYW1lOiJCWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjI0NjEpKSxmbGFnOiJzd2l0emVybGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiY2giLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMzk3MSkpXX0se3ZhbHVlOiJQU0VDWiIsbmFtZToiUFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzMzQ2NCkpLGZsYWc6ImN6ZWNoIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjeiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTI5ODA4KSldfSx7dmFsdWU6IkFTWCIsbmFtZToiQVNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc0MTU3MykpLGZsYWc6ImF1c3RyYWxpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJhdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc5MjMzKSldfSx7dmFsdWU6IkNISVhBVSIsbmFtZToiQ2JvZSBBdXN0cmFsaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzI4ODQ3KSksZmxhZzoiYXVzdHJhbGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImF1Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzkyMzMpKV19LHt2YWx1ZToiVklFIixuYW1lOiJXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTA3MjIpKSxmbGFnOiJhdXN0cmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJhdCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM4Mjc4KSldfSx7dmFsdWU6IkRTRUJEIixuYW1lOiJEU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1MjI0KSksZmxhZzoiYmFuZ2xhZGVzaCIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJiZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDUyMDE1KSldfSx7dmFsdWU6Ik5aWCIsbmFtZToiTlpYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzYyKSksZmxhZzoibmV3X3plYWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibnoiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQyMTYpKV19LHt2YWx1ZToiQ0ZGRVgiLG5hbWU6IkNGRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MDY1OCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1NFIixuYW1lOiJTU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY4OTIpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlNIRkUiLG5hbWU6IlNIRkUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ2NjM0KSksZmxhZzoiY2hpbmEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiY24iLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1pTRSIsbmFtZToiU1pTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzQ5NjEpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlpDRSIsbmFtZToiWkNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxODg1MCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiSEtFWCIsbmFtZToiSEtFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njk4MzcpKSxmbGFnOiJob25nX2tvbmciLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2Mzc3OSkpXX0se3ZhbHVlOiJQU0UiLG5hbWU6IlBTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NjAyMTEpKSxmbGFnOiJwaGlsaXBwaW5lcyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJwaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEzNjQ3KSldfSx7dmFsdWU6IlBTWCIsbmFtZToiUFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk2MTI0NSkpLGZsYWc6InBha2lzdGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InBrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDQ0MzYpKV19LHt2YWx1ZToiTlNFTkciLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDQxMjEpKSxmbGFnOiJuaWdlcmlhIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Im5nIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDk4NjgpKV19LHt2YWx1ZToiTlNFS0UiLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDUyNDkpKSxmbGFnOiJrZW55YSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJrZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE0OTY2KSldfSx7dmFsdWU6IkpTRSIsbmFtZToiSlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxOTI4OSkpLGZsYWc6InNvdXRoX2FmcmljYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJ6YSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEwMDgyKSldfSx7dmFsdWU6IkpGWCIsbmFtZToiSkZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkzMTIzMikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiamZ4In0se3ZhbHVlOiJNQVRTVUkiLG5hbWU6Ik1BVFNVSSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjAwNjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6Im1hdHN1aSJ9LHt2YWx1ZToiQ09JTkJBU0UiLG5hbWU6IkNvaW5iYXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5NTg4NikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkJBU0UiLHByb3ZpZGVySWQ6ImNvaW5iYXNlIn0se3ZhbHVlOiJDSVRZSU5ERVgiLG5hbWU6IkNpdHkgSW5kZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUyOTUxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0lUWUlOREVYIixwcm92aWRlcklkOiJjaXR5aW5kZXgifSx7dmFsdWU6IlVTSSIsbmFtZToiVVNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzOTE0MSkpLGZsYWc6InVzYSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6Ik9NWEhFWCIsbmFtZToiSEVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5ODE4MCkpLGZsYWc6ImZpbmxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImZpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV19LHt2YWx1ZToiT01YSUNFIixuYW1lOiJJQ0VYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4OTU5MCkpLGZsYWc6ImljZWxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImlzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV19LHt2YWx1ZToiT01YQ09QIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyMzE3KSksZmxhZzoiZGVubWFyayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjUwMSkpXX0se3ZhbHVlOiJPTVhTVE8iLG5hbWU6IlNUTyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMjU1NjgpKSxmbGFnOiJzd2VkZW4iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjk5NjMpKV19LHt2YWx1ZToiT01YVlNFIixuYW1lOiJWU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk3NTAwKSksZmxhZzoibGl0aHVhbmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdCIsCnByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5MjEwMCkpXX0se3ZhbHVlOiJPTVhUU0UiLG5hbWU6IlRBTFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3Nzk3KSksZmxhZzoiZXN0b25pYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MTIwKSldfSx7dmFsdWU6Ik9NWFJTRSIsbmFtZToiT01YUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODE4MTUpKSxmbGFnOiJsYXR2aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Imx2Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3NzMpKV19LHt2YWx1ZToiT01YTk9SRElDIixuYW1lOiJPTVhOT1JESUMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTExMjcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJPTVhCQUxUSUMiLG5hbWU6Ik9NWEJBTFRJQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjAyODcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGUkVEIixuYW1lOiJGUkVEIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MTAwNikpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZnJlZDIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSVNNIixuYW1lOiJJU00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEzNjUxKSksZmxhZzoidXNhIixncm91cDoiRWNvbm9teSIsY291bnRyeToiIixwcm92aWRlcklkOiJxdWFuZGxfaXNtIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZSQk5ZIixuYW1lOiJGUkJOWSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDI4NTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InF1YW5kbF9mcmJueSIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJGUkJQIixuYW1lOiJGUkJQIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNTExNykpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoicXVhbmRsX2ZyYnAiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRUNPTk9NSUNTIixuYW1lOiJUcmFkaW5nIEVjb25vbWljcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTQzNDIpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImVjb25vbWljcyIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJXSFNFTEZJTlZFU1QiLG5hbWU6IldIIFNlbGZJbnZlc3QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDIwOTAxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ3aHNlbGZpbnZlc3QifSx7dmFsdWU6IkJTRVNPRiIsbmFtZToiQlNFU09GIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0NzQyNCkpLGZsYWc6ImJ1bGdhcmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJiZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldfV19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.409Z","timestamp":1785136428409,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a041685-15e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 13 May 2026 06:13:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/13/2026 09:56:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: be28599be63eaafb48c1535abfe00d8f\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":954,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-08-11T04:47:30.078818Z","times_seen":2653,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42033.924dab781e4477f951bf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.302Z","timestamp":1785136429302,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42033.924dab781e4477f951bf.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-546\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 098360527f21701ce92689cc7277de6c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1350,"size_decoded":1336,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1350), with no line terminators","md5":"7c98cca7bd0ab83d00f5ad750cd683ff","sha1":"7a89c6639d621619d89ea005dbf2d00101a5da91","sha256":"4f175a5b3d47d9a959efb2afb182e6fdfe4188f1e5c50966f20d7a3c7f907de3","sha512":"c05bf66db7c0da939f8bdde39e4f9f9a3863dc04077d392f374562d984d5c23208f02a5141d9dd4b1b29dc9a4cbb3b12beeccb4507174a7ac4e5c8a215037f35","ssdeep":"","tlshash":"0621a268f28972ae9913e47f5b48a7ed1a55fc03d8025bd1f706912848ca7e711b1b8c","first_seen":"2026-06-30T21:57:43.291297Z","last_seen":"2026-07-28T06:17:53.537063Z","times_seen":228,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtTFdkZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLUxXZGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi1MV2RkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS5pdGVtLVBCdHJ6WkNhe2FsbDp1bnNldDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtTFdkZCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7cGFkZGluZzowIDNweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9Lml0ZW0tUEJ0cnpaQ2E6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTowO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOmF1dG87b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MjhweDt6LWluZGV4Oi0xfS5pdGVtLVBCdHJ6WkNhOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1QQnRyelpDYTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi1MV2RkKTtjb250ZW50OiIifX0uaXRlbS1QQnRyelpDYS5hY2Nlc3NpYmxlLVBCdHJ6WkNhOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0ucm91bmQtUEJ0cnpaQ2F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLUxXZGQpO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoyMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MjBweDstLXR2LWxlYWRpbmctZW1vamktc2l6ZToxMnB4fS5hY3RpdmUtUEJ0cnpaQ2F7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49588.15426b22279561d9880b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.801Z","timestamp":1785136429801,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/49588.15426b22279561d9880b.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-9ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2944b601a193770e94514b6478efa6ae\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.710Z","timestamp":1785136427710,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b82cb09ad7526fed08762bd817516c30\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-08-11T04:47:30.066869Z","times_seen":1644,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":65,"timings":{"blocked":-1,"dns":23,"connect":2,"send":0,"wait":9,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32857.e4968cc906ac5769906a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.299Z","timestamp":1785136429299,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32857.e4968cc906ac5769906a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-36c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ec1184864cb1ee0eef1371d3925ff4fa\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":876,"size_decoded":1159,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (876), with no line terminators","md5":"2300c14fa93a6ca1be5ffcb4cde75b7a","sha1":"72f13b32bf8fc0e3ab8b60346fefa2fca04e68bd","sha256":"d1c022b9f3d492df3952eec63edac14172bf0bef9d6fc6d4b74ec034fb3daf44","sha512":"f696e9482d69b33dd34f340bf9db4d17972f5e08b58b5bd428647093fced8bfa93ad0aa0ae0ddb380e127ec490ea2c07363d59641c264138a29601add8b7c743","ssdeep":"","tlshash":"0d119088b301e03e7d0f2a3e439ac1dc62149852e9012f7db172d17044c57d676f252c","first_seen":"2026-06-30T21:57:43.416866Z","last_seen":"2026-07-28T06:17:53.357212Z","times_seen":228,"resource_available":false,"data":"LnN1bW1hcnktRTZ0eklRa1J7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxMnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MTAwJX0uc3VtbWFyeS1FNnR6SVFrUi5ob3ZlcmVkLUU2dHpJUWtSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc3VtbWFyeS1FNnR6SVFrUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LnN1bW1hcnktRTZ0eklRa1I6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5jYXJldC1FNnR6SVFrUntoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazoycHggMnB4O21hcmdpbi1pbmxpbmU6YXV0byAwO3dpZHRoOjE4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/91944.cd51b48fa4d742a11726.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.396Z","timestamp":1785136429396,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/91944.cd51b48fa4d742a11726.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-4db1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7333e5a33a7e3e6af6062d0d8de6a4a4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19889,"size_decoded":7413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"21603b1ea6d66be9e85aa0d9d193067c","sha1":"5dfac46409e281f3078e3af99e4bff3c1a5f0872","sha256":"9b43f56adbbeaa987486fbb6cacb11cabfc1b3f3a2dd72779653f53c856e5019","sha512":"cab7c1b47820cec2b3b2a91830c3ab740452d292f8365c4ddcbb24c933e951935088f8e65d6b05cf26971d02ca63b8ed69349566da982272c09dc14fad9cb99c","ssdeep":"384:lciP7w+YSd7NNsFs9s5QFdP4k3I+0rZnPb5X9D8Tq7dQYQBcOu7+sP5MgVzZtcip:lciPU+YSdHs0sJjFnPb5X9w+7dQ/SOub","tlshash":"b792a5913161697a53a622ed6cb11a03a749680af80e4d8cf1fd49ff685cc0e327db7c","first_seen":"2026-07-22T16:00:00.510452Z","last_seen":"2026-07-28T06:17:53.460776Z","times_seen":90,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTE5NDRdLHszODgzNjcoZSx0LGkpe2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT8uc3R1ZHlJZHMuaGFzKHQpPz8hMX1pLmQodCx7aGlnaGxpZ2h0Q29udGFpbnNTb3VyY2U6KCk9PnN9KX0sNzMyMDgwKGUsdCxpKXtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuKGUmdCk9PT10fWkuZCh0LHtpc1Bsb3RWaXNpYmxlOigpPT5zfSl9LDUyMTk4MyhlLHQsaSl7ZnVuY3Rpb24gcyhlLHQpe2lmKG51bGw9PT1lKXJldHVybiB0O2NvbnN0IGk9ZS5maXJzdEluZGV4LHM9dC5maXJzdEluZGV4LG49ZS5jbGVhckRhdGF8fHQuY2xlYXJEYXRhO3JldHVybntmaXJzdEluZGV4Om58fHZvaWQgMD09PWl8fHZvaWQgMD09PXM/dm9pZCAwOk1hdGgubWluKGkscyksY2xlYXJEYXRhOm59fWkuZCh0LHttZXJnZURhdGFJbnZhbGlkYXRpb246KCk9PnN9KX0sMzE1NjU0KGUsdCxpKXtpLmQodCx7U3R1ZHlQbG90UGFuZVZpZXc6KCk9PkZ9KTt2YXIgcyxuPWkoMTM4NjM4KSxvPWkoMTM0NjcpLGw9aSg2MDE4NDEpLGE9aSg5MzAyMzEpLHI9aSg2NDA3NDQpLGQ9aSg4NzM1NzMpLGg9aSg1NTY5MTEpLGM9aSg2Mzg1NzEpLHU9aSg0MTk5MjQpLF89aSg3ODkxOTApLHA9aSg0NTM2NzcpLG09aSg0NzAyMTApLHk9aSg1OTA0MjMpLEk9aSg5NzA0MzQpLFM9aSgxNDM4MDgpLGc9aSg3MzY1MzEpLGY9aSg2MDQyMTQpLHY9aSg3NjMpLFA9aSg5MzQzMDUpLHg9aSgzMTg5NzQpOyFmdW5jdGlvbihlKXtlW2UuTWluQ2lyY2xlUmFkaXVzPTEuNV09Ik1pbkNpcmNsZVJhZGl1cyIsZVtlLlNpbXBsaWZpZWRQYWludGluZ01vZGVNYXhCYXJTcGFjaW5nPTJdPSJTaW1wbGlmaWVkUGFpbnRpbmdNb2RlTWF4QmFyU3BhY2luZyJ9KHN8fChzPXt9KSk7Y2xhc3MgYiBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEsaT10LmxpbmVXaWR0aCxzPXQudmVydE9mZnNldHx8MCxuPSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK2ksbz10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxsPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7Zm9yKGxldCBhPW87YTxsO2ErKyl7Y29uc3Qgbz10Lml0ZW1zW2FdO2lmKG5ldyBnLlBvaW50KG8uY2VudGVyLG8ueStzKS5zdWJ0cmFjdChlKS5sZW5ndGgoKStpPD1uKXJldHVybiBuZXcgdi5IaXRUZXN0UmVzdWx0KHYuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEse2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnMsY29udGV4dDpufT1lLG89TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxhPW8lMj8uNTowLHt2ZXJ0T2Zmc2V0OnI9MCxsaW5lQ29sb3I6ZCxsaW5lV2lkdGg6aCxiYXJTcGFjaW5nOmN9PXQ7bGV0IHU9IiIsXz0hMTtjb25zdCBwPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLG09dC52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90Lml0ZW1zLmxlbmd0aDtmb3IobGV0IGU9cDtlPG07ZSsrKXtjb25zdCBwPXQuaXRlbXNbZV0sbT1wLmNlbnRlcix5PXAueStyO2lmKCgwLGwuaXNOYU4pKG0pfHwoMCxsLmlzTmFOKSh5KSljb250aW51ZTtsZXQgSSxTO251bGwhPXAuc3R5bGU/KEk9cC5zdHlsZS5jb2xvcixTPXAuc3R5bGUud2lkdGgpOihJPWQsUz1oKSwoSSE9PXV8fHguaXNTYWZhcmkpJiYodT1JLF8mJm4uZmlsbCgpLG4uYmVnaW5QYXRoKCksbi5maWxsU3R5bGU9SSk7Y29uc3QgZz1NYXRoLnJvdW5kKG0qaSkrYSxmPU1hdGgucm91bmQoeSpzKSthO2xldCB2PU1hdGgucm91bmQoMipNYXRoLm1heCgxLjUsUykqaSk7byUyIT12JTImJih2Kz0xKSxjPjJ8fFM+MS41PyhuLm1vdmVUbyhnK3YvMixmKSxuLmFyYyhnLGYsdi8yLDAsMipNYXRoLlBJLCExKSk6bi5yZWN0KGctdi8yLGYtdi8yLHYsdiksXz0hMH1fJiZuLmZpbGwoKX19dmFyIE49aSg3MjEzOTYpLEM9aSg3MDA3NCk7Y2xhc3MgdyBleHRlbmRzIFAuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PSgwLGYuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkuc2VyaWVzK3RoaXMuX2RhdGEubGluZVdpZHRoLzI7bGV0IGkscyxuLG87Zm9yKGxldCBsPTE7bDx0aGlzLl9kYXRhLml0ZW1zLmxlbmd0aDsrK2wpe2k9dGhpcy5fZGF0YS5pdGVtc1tsLTFdLHM9dGhpcy5fZGF0YS5pdGVtc1tsXSxuPWkuY2VudGVyLG89cy5jZW50ZXI7aWYoKDAsQy5kaXN0YW5jZVRvU2VnbWVudCkobmV3IGcuUG9pbnQobixpLnkpLG5ldyBnLlBvaW50KG8scy55KSxuZXcgZy5Qb2ludChlLngsZS55KSkuZGlzdGFuY2U8PXQpcmV0dXJuIG5ldyB2LkhpdFRlc3RSZXN1bHQodi5IaXRUYXJnZXQuUmVndWxhcil9cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0e2NvbnRleHQ6dCxob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpzfT1lO2xldCBuPSIiLG89ITE7Y29uc3QgYT10aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxyPSh0aGlzLl9kYXRhLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3RoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKS0xO2ZvcihsZXQgZT1hO2U8PXI7ZSsrKXtjb25zdCBhPXRoaXMuX2RhdGEuaXRlbXNbZV07aWYoKDAsbC5pc05hTikoYS5jZW50ZXIpfHwoMCxsLmlzTmFOKShhLnkpKWNvbnRpbnVlO2NvbnN0IHI9YS5zdHlsZT8uY29sb3I/P3RoaXMuX2RhdGEubGluZUNvbG9yLGQ9YS5zdHlsZT8ud2lkdGg/P3RoaXMuX2RhdGEubGluZVdpZHRoLGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqaSkpLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGQqcykpOyhyIT09bnx8eC5pc1NhZmFyaSkmJihuPXIsCm8mJnQuZmlsbCgpLHQuYmVnaW5QYXRoKCksdC5maWxsU3R5bGU9cik7bGV0IHU9MypoO3UlMiE9aCUyJiYodSs9MSk7bGV0IF89MypjO18lMiE9YyUyJiYoXys9MSk7Y29uc3QgcD1NYXRoLnJvdW5kKE1hdGgucm91bmQoYS5jZW50ZXIqaSktdS8yKSxtPU1hdGgucm91bmQoTWF0aC5yb3VuZChhLnkqcyktXy8yKSx5PXArTWF0aC5mbG9vcih1LzItaC8yKSxJPW0rTWF0aC5mbG9vcihfLzItYy8yKTt0LnJlY3QocCxJLHUsYyksdC5yZWN0KHksbSxoLF8pLG89ITB9byYmdC5maWxsKCl9fWNsYXNzIFIgZXh0ZW5kcyBQLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxmLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLnNlcmllcyt0aGlzLl9kYXRhLmxpbmVXaWR0aC8yLGk9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiB0aGlzLl9kYXRhLml0ZW1zKXtjb25zdCBvPXMuY2VudGVyLGw9cy55O2xldCBhPXQ7cy5zdHlsZSYmKGkuaGFzKHMuc3R5bGUud2lkdGgpP2E9KDAsbi5lbnN1cmVEZWZpbmVkKShpLmdldChzLnN0eWxlLndpZHRoKSk6aS5zZXQodGhpcy5fZGF0YS5saW5lV2lkdGgsYSkpO2lmKCgwLEMuZGlzdGFuY2VUb1NlZ21lbnQpKG5ldyBnLlBvaW50KG8sbCksbmV3IGcuUG9pbnQobyx0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UpLG5ldyBnLlBvaW50KGUueCxlLnkpKS5kaXN0YW5jZTw9YSlyZXR1cm4gbmV3IHYuSGl0VGVzdFJlc3VsdCh2LkhpdFRhcmdldC5SZWd1bGFyKX1yZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7aWYoMD09PXRoaXMuX2RhdGEuaXRlbXMubGVuZ3RoKXJldHVybjtjb25zdHtjb250ZXh0OnQsaG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86c309ZTt0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmxpbmVDb2xvcjtjb25zdCBuPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLl9kYXRhLmxpbmVXaWR0aCppKSksbz1uLzIsbD1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGE9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLmhpc3RvZ3JhbUJhc2UqcyktTWF0aC5mbG9vcihsLzIpLHI9YStsLGQ9dGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsaD0odGhpcy5fZGF0YS52aXNpYmxlSXRlbXNSYW5nZT8uZW5kSXRlbUluZGV4Pz90aGlzLl9kYXRhLml0ZW1zLmxlbmd0aCktMTtmb3IobGV0IGU9ZDtlPD1oO2UrKyl7Y29uc3QgZD10aGlzLl9kYXRhLml0ZW1zW2VdO2xldCBoPW4sYz1vO2Quc3R5bGU/KHQuZmlsbFN0eWxlPWQuc3R5bGUuY29sb3IsaD1NYXRoLm1heCgxLE1hdGguZmxvb3IoZC5zdHlsZS53aWR0aCppKSksYz1oLzIpOnQuZmlsbFN0eWxlPXRoaXMuX2RhdGEubGluZUNvbG9yO2NvbnN0IHU9aCUyPy41OjAsXz1NYXRoLnJvdW5kKGQuY2VudGVyKmkpK3UscD1NYXRoLnJvdW5kKGQueSpzKTtsZXQgbSx5O3A8PWE/KG09cCx5PXIpOihtPWEseT1wLU1hdGguZmxvb3IobC8yKStsKSx0LmZpbGxSZWN0KE1hdGguZmxvb3IoXy1jKSxtLGgseS1tKX19fXZhciBNPWkoMTY4MjU4KSxMPWkoNjU1NTY5KSxUPWkoMTk4OTAxKSxCPWkoMzAzMjcwKSxEPWkoMjI3ODI1KTtjb25zdCBWPWU9Pntjb25zdCB0PSgwLG8ucmdiVG9Ic2wpKCgwLG8ucGFyc2VSZ2IpKGUpKSxpPXRbMF0rLjA1O3JldHVybiB0WzBdPWktTWF0aC5mbG9vcihpKSwoMCxvLnJnYlRvSGV4U3RyaW5nKSgoMCxvLmhzbFRvUmdiKSh0KSl9LGs9KDAsYy5tZW1vaXplKShWKTtjbGFzcyBGIGV4dGVuZHMgQi5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITEpe3N1cGVyKHQsaSxzKSx0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGwsdGhpcy5fbGluZUNvbG9yPSIiLHRoaXMuX2xpbmVXaWR0aD0xLHRoaXMuX2NvbG9yMT0iIix0aGlzLl9jb2xvcjI9IiIsdGhpcy5fcmVuZGVyZXI9bmV3IF8uQ29tcG9zaXRlUmVuZGVyZXIsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Bsb3RJbmRleD1lLm1ldGFJbmZvKCkucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cykpLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsTC5jcmVhdGVTdHVkeVBsb3RDb2xvclByb3ZpZGVyKShlLm1ldGFJbmZvKCksZS5wcm9wZXJ0aWVzKCkscyksdGhpcy5fZXh0ZW5kU3RlcExpbmVUb0JhcnNFbmRpbmdzPW4sdGhpcy5faXNGdW5kYW1lbnRhbD0oMCxTLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlLm1ldGFJbmZvKCkpO2NvbnN0IG89dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLnN0eWxlc1t0aGlzLl9wbG90TmFtZV0ucGxvdHR5cGUudmFsdWUoKTt0aGlzLl9pc1N0ZXBMaW5lUGxvdD1vPT09TS5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhCcmVha3N8fG89PT1NLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kc31pdGVtcygpe3JldHVybiB0aGlzLl9pdGVtc31yZW5kZXJlcigpe3JldHVybiB0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLHQ9ZS5zdHlsZXNbdGhpcy5fcGxvdE5hbWVdO2xldCBpPTA7Y29uc3Qgcz10aGlzLl9zdHVkeS5tZXRhSW5mbygpO3JldHVybiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PXMuaWQmJnMudmVyc2lvbjw9NDYmJiJ0cmFuc3BhcmVuY3kiaW4gZT8oaT1lLnRyYW5zcGFyZW5jeS52YWx1ZSgpLGk9KDAsbC5pc051bWJlcikoaSk/aTowLGkpOih0LnRyYW5zcGFyZW5jeSYmKGk9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxpPSgwLGwuaXNOdW1iZXIpKGkpP2k6MCksaSl9X3VwZGF0ZUltcGxGdWxsKGUpe2lmKHRoaXMuX3JlbmRlcmVyLmNsZWFyKCksdGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSksCiF0aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fcGxvdE5hbWUsTS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCF0fHx0LmlzRW1wdHkoKSlyZXR1cm4hMTtpZihudWxsPT09dGhpcy5fc3R1ZHkuZmlyc3RWYWx1ZSh2b2lkIDAsdGhpcy5pc0ZvcmNlT3ZlcmxheSgpKSlyZXR1cm4hMTt0aGlzLl9oaXN0b2dyYW1CYXNlPW51bGw7Y29uc3QgaT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuc3R5bGVzW3RoaXMuX3Bsb3ROYW1lXSxzPWkucGxvdHR5cGUudmFsdWUoKSxvPXRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90LGw9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZShvKTtpZigwPT09bC5zaXplKCkpcmV0dXJuITE7Y29uc3QgYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLGM9KDAsTS5kb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRGaWxsQnJlYWtzKShzKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMobCwoKGUsdCk9Pih7eTpOYU4sbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU4scHJpY2U6dD8/TmFOLHRpbWVQb2ludEluZGV4OmUrYX0pKSk7bGV0IF89TmFOLHA9TmFOO2NvbnN0IG09bmV3IE1hcCx5PShlLHQpPT57bGV0IGk9bS5nZXQoZSk7dm9pZCAwPT09aSYmKGk9bmV3IE1hcCxtLnNldChlLGkpKTtsZXQgcz1pLmdldCh0KTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPSF0aGlzLl9wbG90TmFtZXx8InZvbCIhPT10aGlzLl9wbG90TmFtZTtzPSgwLGQuZ2VuZXJhdGVDb2xvcikoZSx0LG4pLGkuc2V0KHQscyl9cmV0dXJuIHN9LFM9KDAsSS5jcmVhdGVFbXB0eVN0eWxlKSgpLGc9KDAsci5jbGFtcCkodGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSwwLDEwMCksZj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWYpcmV0dXJuITE7Y29uc3R7c3RhcnRCYXI6dixlbmRCYXI6UH09dGhpcy5fY2FsY3VsYXRlU3RhcnRFbmQoZik7aWYobnVsbD09PXZ8fG51bGw9PT1QfHwwPT09dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybiExO2NvbnN0IHg9dT8/KDAsbi5lbnN1cmVOb3ROdWxsKShsLmZpcnN0SW5kZXgoKSksYj0oMCxuLmVuc3VyZU5vdE51bGwpKGwubGFzdEluZGV4KCkpKzEsTj1sLnJhbmdlSXRlcmF0b3IoeCxiKTtsZXQgQyx3PSgwLFQubG93ZXJib3VuZCkodGhpcy5faXRlbXMseCthLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Zm9yKGNvbnN0IGUgb2YgTil7bGV0IHQ9ZS5pbmRleDtjb25zdCBzPWUudmFsdWU7dCs9YSx0PU1hdGguZmxvb3IodCk7bGV0IG49c1t0aGlzLl9wbG90SW5kZXgrMV07Y29uc3Qgbz1udWxsPT1uO2lmKG49bz9OYU46bixjJiZvKXtwPW4sXz10LHcrKztjb250aW51ZX1jb25zdCBsPXRoaXMuX2l0ZW1zW3ddO2wudmFsSXNOb3RTYW1lQXNQcmV2PW4hPT1wfHx0LTEhPT1fO2lmKHRoaXMuX2NvbG9yUHJvdmlkZXIuaXNDb2xvckRlZmluZWQoKSYmKGwuc3R5bGU9e2NvbG9yOnkoaS5jb2xvci52YWx1ZSgpLDEwMCksd2lkdGg6aS5saW5ld2lkdGgudmFsdWUoKSxzdHlsZTppLmxpbmVzdHlsZS52YWx1ZSgpfSxudWxsIT1uKSl7Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHMsUyksdD1lLmNvbG9yc1swXTt2b2lkIDAhPT10JiYobC5zdHlsZS5jb2xvcj0oMCxkLmlzSGV4Q29sb3IpKHQpP3kodCxnKTp0KSxsLnN0eWxlLndpZHRoPWUubGluZVdpZHRoPz9sLnN0eWxlLndpZHRoLGwuc3R5bGUuc3R5bGU9ZS5saW5lU3R5bGU/P2wuc3R5bGUuc3R5bGV9IWMmJiFpc05hTihfKSYmXyE9PXQtMSYmdz4wJiYodGhpcy5faXRlbXNbd10uYnJlYWtCZWZvcmU9ITApLHA9bixfPXQsdysrLEM9bH1pZihDJiZ0aGlzLl9pc0Z1bmRhbWVudGFsJiZ0aGlzLl9pc1N0ZXBMaW5lUGxvdCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5sYXN0SW5kZXgoKSx0PUM7aWYobnVsbCE9PWUmJmU+dC50aW1lUG9pbnRJbmRleCl7Y29uc3QgaT0oMCxoLmRlZXBDb3B5KSh0KTtpLnRpbWVQb2ludEluZGV4PWUsaS52YWxJc05vdFNhbWVBc1ByZXY9ITEsdGhpcy5faXRlbXMubGVuZ3RoPnc/dGhpcy5faXRlbXNbd109aTp0aGlzLl9pdGVtcy5wdXNoKGkpfX1yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoZSx0KXtjb25zdCBpPXN1cGVyLl9jb3JyZWN0VmlzaWJsZUl0ZW1JbmRleGVzKGUsdCk7cmV0dXJuIHRoaXMuX2lzRnVuZGFtZW50YWwmJnRoaXMuX2lzU3RlcExpbmVQbG90JiZpLmVuZEl0ZW1JbmRleD09PXRoaXMuX2l0ZW1zLmxlbmd0aC0xJiYoaS5lbmRJdGVtSW5kZXgrPTEpLGl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCBpPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLHM9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0sbz0oMCxyLmNsYW1wKSh0aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLDAsMTAwKTt0aGlzLl9saW5lQ29sb3I9KDAsZC5nZW5lcmF0ZUNvbG9yKShpLmNvbG9yLnZhbHVlKCksbyksdGhpcy5fbGluZVdpZHRoPWkubGluZXdpZHRoLnZhbHVlKCk7bGV0IGE9aS5jb2xvci52YWx1ZSgpO2NvbnN0IGM9dGhpcy5fY29sb3JQcm92aWRlci5nZXREZWZhdWx0UGxvdFBvaW50U3R5bGUoKTtjJiYoYT1jLmNvbG9yc1swXXx8YSx0aGlzLl9saW5lV2lkdGg9Yy5saW5lV2lkdGg/P3RoaXMuX2xpbmVXaWR0aCx0aGlzLl9saW5lQ29sb3I9YT8oMCxkLmdlbmVyYXRlQ29sb3IpKGEsbyk6dGhpcy5fbGluZUNvbG9yKSx0aGlzLl9jb2xvcjI9KDAsZC5nZW5lcmF0ZUNvbG9yKShhLG8pO2NvbnN0IF89dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1JHQj9WKGEpOmsoYSk7dGhpcy5fY29sb3IxPSgwLGQuZ2VuZXJhdGVDb2xvcikoXyxvKQo7Y29uc3QgST10aGlzLl9oaXN0b2dyYW1CYXNlP3RoaXMuX2hpc3RvZ3JhbUJhc2U6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVNjYWxlKCkpLmhlaWdodCgpLFM9aS5wbG90dHlwZS52YWx1ZSgpLGc9e2JhclNwYWNpbmc6dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLGl0ZW1zOnRoaXMuX2l0ZW1zLGhpc3RvZ3JhbUJhc2U6SSxsaW5lSW5kZXg6MCxsaW5lU3R5bGU6aS5saW5lc3R5bGUudmFsdWUoKSxsaW5lQ29sb3I6dGhpcy5fbGluZUNvbG9yLGxpbmVXaWR0aDooMCxsLmlzTnVtYmVyKSh0aGlzLl9saW5lV2lkdGgpP3RoaXMuX2xpbmVXaWR0aDoxLGNvbG9yMTp0aGlzLl9jb2xvcjEsY29sb3IyOnRoaXMuX2NvbG9yMixib3R0b206SSx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH0sc2ltcGxlTW9kZTp0aGlzLl9jb2xvclByb3ZpZGVyLnNpbmdsZUNvbG9yKCksc2tpcEhvbGVzOigwLE0uZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykoUyl9LGY9dGhpcy5fcmVuZGVyZXIsdj1Cb29sZWFuKHM/LmpvaW5Qb2ludHMpO3N3aXRjaChTKXtjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkxpbmU6Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lV2l0aEJyZWFrczpmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi5nLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9fSkpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQXJlYTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFXaXRoQnJlYWtzOmYuYXBwZW5kKG5ldyB1LlBhbmVSZW5kZXJlckFyZWEoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5IaXN0b2dyYW06Zi5hcHBlbmQobmV3IFIoZykpO2JyZWFrO2Nhc2UgTS5MaW5lU3R1ZHlQbG90U3R5bGUuQ29sdW1uczpmLmFwcGVuZChuZXcgTi5QYW5lUmVuZGVyZXJDb2x1bW5zKGcpKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNyb3NzOmYuYXBwZW5kKG5ldyB3KGcpKSx2JiZmLmFwcGVuZChuZXcgcC5QYW5lUmVuZGVyZXJMaW5lKHsuLi4oMCxoLmRlZXBDb3B5KShnKSxsaW5lV2lkdGg6MSxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxmb3JjZUxpbmVXaWR0aDohMH0pKTticmVhaztjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLkNpcmNsZXM6Zi5hcHBlbmQobmV3IGIoZykpLHYmJmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLigwLGguZGVlcENvcHkpKGcpLGxpbmVXaWR0aDoxLGxpbmVDb2xvcjp7dHlwZTpELkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjp0aGlzLl9saW5lQ29sb3J9LGlnbm9yZVBhbGV0dGVMaW5lV2lkdGg6ITB9KSk7YnJlYWs7Y2FzZSBNLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZTpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aEJyZWFrczpjYXNlIE0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzOntjb25zdCBlPW5ldyBtLlBhbmVSZW5kZXJlclN0ZXBMaW5lO2Uuc2V0RGF0YSh7Li4uZyxsaW5lQ29sb3I6e3R5cGU6RC5Db2xvclR5cGUuU29saWQsY29sb3I6dGhpcy5fbGluZUNvbG9yfSxkZWNvcmF0aW9uOmkucGxvdHR5cGUudmFsdWUoKT09PU0uTGluZVN0dWR5UGxvdFN0eWxlLlN0ZXBMaW5lV2l0aERpYW1vbmRzP20uU3RlcExpbmVEZWNvcmF0aW9uLkRpYW1vbmRzOm0uU3RlcExpbmVEZWNvcmF0aW9uLk5vbmUsZXh0ZW5kVG9CYXJzRW5kaW5nczp0aGlzLl9leHRlbmRTdGVwTGluZVRvQmFyc0VuZGluZ3N9KSxmLmFwcGVuZChlKTticmVha31kZWZhdWx0OmYuYXBwZW5kKG5ldyBwLlBhbmVSZW5kZXJlckxpbmUoey4uLmcsbGluZUNvbG9yOnt0eXBlOkQuQ29sb3JUeXBlLlNvbGlkLGNvbG9yOnRoaXMuX2xpbmVDb2xvcn19KSl9dGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uRGF0YSYmZi5hcHBlbmQobmV3IHkuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpfV91cGRhdGVBZGRpdGlvbmFsUHJpY2VzKGUsdCl7Y29uc3QgaT10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnN0eWxlcz8uW3RoaXMuX3Bsb3ROYW1lXTt2b2lkIDAhPT1pPy5oaXN0b2dyYW1CYXNlJiYodGhpcy5faGlzdG9ncmFtQmFzZT1lLnByaWNlVG9Db29yZGluYXRlKGkuaGlzdG9ncmFtQmFzZSx0KSl9fX0sODQwNzcxKGUsdCxpKXtpLmQodCx7U3R1ZHlGb3JjZU92ZXJsYXlQbG90VmlldzooKT0+b30pO3ZhciBzPWkoMTM4NjM4KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Bsb3ROYW1lPWl9aXNQbG90SGlnaGxpZ2h0ZWQoKXtyZXR1cm4hIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5oaWdobGlnaHRlZFBsb3RJbmZvKCkpLnBsb3RJZD09PXRoaXMuX3Bsb3ROYW1lfX1jbGFzcyBvIGV4dGVuZHMgbntpc0ZvcmNlT3ZlcmxheSgpe3JldHVybiEhdGhpcy5fc3R1ZHkubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdE5hbWUpfV9wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuaXNGb3JjZU92ZXJsYXkoKT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3N0dWR5LnByaWNlU2NhbGUoKX19fSwzMDMyNzAoZSx0LGkpe2kuZCh0LHtTdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZTooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoNzM2NTMxKSxvPWkoNjAxODQxKSxsPWkoNTIxOTgzKSxhPWkoOTM2MzI2KSxyPWkoMTk4OTAxKSxkPWkoMTQzOTMyKSxoPWkoNTQ0ODY0KSxjPWkoODQwNzcxKTtjbGFzcyB1IGV4dGVuZHMgYy5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksCnRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9bnVsbCx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3IGQuU2VsZWN0aW9uSW5kZXhlcyh0LnRpbWVTY2FsZSgpKX11cGRhdGUoZSl7aWYoImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUpe2lmKCJnbG9iYWwtY2hhbmdlIj09PWUudHlwZSlyZXR1cm4gdGhpcy5fZGF0YUludmFsaWRhdGVkPSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse30pLHZvaWQodGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMCk7aWYoImRhdGEtc291cmNlLWNoYW5nZSIhPT1lLnR5cGUpdGhpcy5fdmlld3BvcnRJbnZhbGlkYXRlZD0hMDtlbHNle2lmKChlLnNvdXJjZUlkPT09dGhpcy5fc3R1ZHkuaWQoKXx8dGhpcy5fZGVwZW5kc09uU2VyaWVzRGF0YSgpJiZlLnNvdXJjZUlkPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCkpJiYhZS5ub25TZXJpZXNPbmx5KXtjb25zdCB0PSgwLGwubWVyZ2VEYXRhSW52YWxpZGF0aW9uKSh0aGlzLl9kYXRhSW52YWxpZGF0ZWQse2ZpcnN0SW5kZXg6ZS5maXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleCxjbGVhckRhdGE6ZS5jbGVhckRhdGF9KTt0aGlzLl9kYXRhSW52YWxpZGF0ZWQ9dH19fX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiExfV9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpe3RoaXMuX2RhdGFJbnZhbGlkYXRlZD90aGlzLl91cGRhdGVJbXBsRnVsbCh0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkKSYmKHRoaXMuX2RhdGFJbnZhbGlkYXRlZD1udWxsKTp0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkJiZ0aGlzLl91cGRhdGVJbXBsTGlnaHQoKSx0aGlzLl92aWV3cG9ydEludmFsaWRhdGVkPSExfV9wcmVhbGxvY2F0ZUl0ZW1zKGUsdCl7Y29uc3QgaT1lLnNpemUoKTtsZXQgbj10aGlzLl9kYXRhSW52YWxpZGF0ZWQ/LmZpcnN0SW5kZXg7aWYoMD09PWkpcmV0dXJuIG47Y29uc3Qgbz10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2lmKGkhPT10aGlzLl9pdGVtcy5sZW5ndGgpe2NvbnN0IGk9dm9pZCAwIT09bj9uK286dm9pZCAwO2lmKHZvaWQgMD09PWl8fDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGk8KDAscy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9pdGVtc1swXS50aW1lUG9pbnRJbmRleCkpcmV0dXJuIHRoaXMuX2l0ZW1zPVtdLGUuZWFjaCgoKGUsaSk9Pntjb25zdCBzPWlbdGhpcy5fcGxvdEluZGV4KzFdO3JldHVybiB0aGlzLl9pdGVtcy5wdXNoKHQoZSxzKSksITF9KSksdGhpcy5faXRlbXMubGVuZ3RoPygwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5faXRlbXNbMF0udGltZVBvaW50SW5kZXgpLW86dm9pZCAwO3tjb25zdCBpPSgwLHMuZW5zdXJlRGVmaW5lZCkobiksbD1vPj0wPzA6byxhPW8+PTA/bzowO2xldCBkPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsaStsLCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgaD0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpLGM9ZS5yYW5nZUl0ZXJhdG9yKGktYSxoKTtmb3IoY29uc3QgZSBvZiBjKWlmKHZvaWQgMCE9PWQmJnRoaXMuX2l0ZW1zW2RdPy50aW1lUG9pbnRJbmRleD09PWUuaW5kZXgrbylkPXRoaXMuX3VwZGF0ZUl0ZW0oZSxkKTtlbHNle2NvbnN0IGk9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07dGhpcy5faXRlbXMucHVzaCh0KGUuaW5kZXgsaSkpfX19ZWxzZSBpZihuPW4/P2UuZmlyc3RJbmRleCgpPz92b2lkIDAsdm9pZCAwIT09bil7Y29uc3QgdD1vPj0wPzA6byxpPW8+PTA/bzowO2xldCBsPSgwLHIubG93ZXJib3VuZCkodGhpcy5faXRlbXMsbit0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSk7Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzEsZD1lLnJhbmdlSXRlcmF0b3Iobi1pLGEpO2Zvcihjb25zdCBlIG9mIGQpbD10aGlzLl91cGRhdGVJdGVtKGUsbCl9cmV0dXJuIG59X3VwZGF0ZUl0ZW0oZSx0KXtjb25zdCBpPXRoaXMuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSk7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPWk/P05hTix0KzF9X2dldFZhbHVlRm9yVXBkYXRpbmcoZSl7cmV0dXJuIGUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdfV9jYWxjdWxhdGVTdGFydEVuZChlKXtjb25zdCB0PXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7bGV0IGk9ZS5maXJzdEJhcigpLU1hdGguYWJzKHQpLTEsbj1lLmxhc3RCYXIoKStNYXRoLmFicyh0KSsxO2NvbnN0IG89dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpK3Q7aWYobz5uKzEpcmV0dXJue3N0YXJ0QmFyOm51bGwsZW5kQmFyOm51bGx9O2NvbnN0IGw9dGhpcy5fc3R1ZHkucGxvdHMoKTtpZihsLmlzRW1wdHkoKSlyZXR1cm57c3RhcnRCYXI6bnVsbCxlbmRCYXI6bnVsbH07Y29uc3Qgcj1sLnJhbmdlKG8sKDAscy5lbnN1cmVOb3ROdWxsKShsLmxhc3RJbmRleCgpKSk7aT1NYXRoLm1heChpLG8pLG49TWF0aC5tYXgobixvKTtjb25zdCBkPXIuc2VhcmNoKGksYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCx0aGlzLl9wbG90SW5kZXgrMSksaD1yLnNlYXJjaChuLGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LHRoaXMuX3Bsb3RJbmRleCsxKTtyZXR1cm4gbnVsbCE9PWQmJihpPWQuaW5kZXgpLG51bGwhPT1oJiYobj1oLmluZGV4KSxpPU1hdGgubWF4KG8saSkse3N0YXJ0QmFyOmksZW5kQmFyOm59fV91cGRhdGVJbXBsTGlnaHQoKXtjb25zdCBlPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWUpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10fHx0LmlzRW1wdHkoKSlyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSkKO2NvbnN0IGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiB0aGlzLl9zZWxlY3Rpb25EYXRhPW51bGwsdm9pZCB0aGlzLl91cGRhdGVSZW5kZXJlcigwLC0xKTtjb25zdHtzdGFydEJhcjpzLGVuZEJhcjpufT10aGlzLl9jYWxjdWxhdGVTdGFydEVuZChpKTtpZihudWxsPT09c3x8bnVsbD09PW58fDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx2b2lkIHRoaXMuX3VwZGF0ZVJlbmRlcmVyKDAsLTEpO2NvbnN0e3N0YXJ0SXRlbUluZGV4Om8sZW5kSXRlbUluZGV4Omx9PXRoaXMuX2NvcnJlY3RWaXNpYmxlSXRlbUluZGV4ZXMoTWF0aC5tYXgoMCwoMCxyLmxvd2VyYm91bmQpKHRoaXMuX2l0ZW1zLHMsKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKSksTWF0aC5taW4odGhpcy5faXRlbXMubGVuZ3RoLCgwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsbiwoKGUsdCk9PmU8dC50aW1lUG9pbnRJbmRleCkpKSk7aWYobz49bClyZXR1cm4gdGhpcy5fc2VsZWN0aW9uRGF0YT1udWxsLHZvaWQgdGhpcy5fdXBkYXRlUmVuZGVyZXIoMCwtMSk7dGhpcy5fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyh0LGUsbyxsKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24oZSksdGhpcy5fdXBkYXRlUmVuZGVyZXIobyxsKX1fY29ycmVjdFZpc2libGVJdGVtSW5kZXhlcyhlLHQpe3JldHVybntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlcyhlLHQsaSxzKXt0aGlzLl9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzSW1wbChlLHQsaSxzKX1fY29udmVydEl0ZW1zVG9Db29yZGluYXRlc0ltcGwoZSx0LGkscyl7ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OmksZW5kSXRlbUluZGV4OnN9KSx0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyx7c3RhcnRJdGVtSW5kZXg6aSxlbmRJdGVtSW5kZXg6c30sITApLHRoaXMuX3VwZGF0ZUFkZGl0aW9uYWxQcmljZXMoZSx0KX1fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhlLHQpe31fY3JlYXRlU2VsZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybjtpZih0aGlzLl9zZWxlY3Rpb25EYXRhPXtwb2ludHM6W10sYmdDb2xvcnM6W10sdmlzaWJsZTohMCxoaXR0ZXN0UmVzdWx0OmguSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCksbj10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpO2Zvcihjb25zdCBzIG9mIHRoaXMuX3NlbGVjdGlvbkluZGV4ZXIuaW5kZXhlcygpKXtjb25zdCBsPXRoaXMuX3N0dWR5LnBsb3RzKCkudmFsdWVBdChzKTtpZigoMCxvLmlzQWJzZW50KShsKSljb250aW51ZTtjb25zdCBhPWxbdGhpcy5fcGxvdEluZGV4KzFdO2lmKCgwLG8uaXNBYnNlbnQpKGEpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KHQsTWF0aC5mbG9vcihzK24pLGEsZSk7dGhpcy5fc2VsZWN0aW9uRGF0YS5wb2ludHMucHVzaChyKSx0aGlzLl9zZWxlY3Rpb25EYXRhLmJnQ29sb3JzLnB1c2godGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3Aoci5wb2ludC55L2kpKX19X2NyZWF0ZVNlbGVjdGlvbkRhdGFQb2ludChlLHQsaSxzKXtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKHQpLGw9ZS5wcmljZVRvQ29vcmRpbmF0ZShpLHMpO3JldHVybntwb2ludDooMCxuLnBvaW50KShvLGwpfX19fSw2ODAxMjYoZSx0LGkpe2kuZCh0LHtTdHVkeVByaWNlQXhpc1ZpZXc6KCk9PmF9KTt2YXIgcz1pKDEzODYzOCksbj1pKDcxNjc4KSxvPWkoMTY4MjU4KSxsPWkoODczNTczKTtjbGFzcyBhIGV4dGVuZHMgbi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9tb2RlbD1lLm1vZGVsKCksdGhpcy5fc291cmNlPWUsdGhpcy5fZGF0YT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PSEhdGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaXNQbG90Rm9yY2VPdmVybGF5KHRoaXMuX2RhdGEucGxvdE5hbWUpfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmc3VwZXIudXBkYXRlKGUpfWlzUGxvdEhpZ2hsaWdodGVkKCl7cmV0dXJuISF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpJiYoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSkucGxvdElkPT09dGhpcy5fZGF0YT8ucGxvdE5hbWV9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQsaSl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCBuPXRoaXMuX3NvdXJjZS5tb2RlbCgpLG89dGhpcy5faXNGb3JjZU92ZXJsYXk/bi5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9dGhpcy5fc291cmNlLmxhc3RWYWx1ZURhdGEodGhpcy5fZGF0YS5wbG90TmFtZSwhMSk7aWYoYS5ub0RhdGEpcmV0dXJuO2NvbnN0IHI9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksZD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PXJ8fG51bGw9PT1kKXJldHVybjtsZXQgaDtpZihkPD1yLmxhc3RCYXIoKSl7aS5iYWNrZ3JvdW5kPSgwLGwucmVzZXRUcmFuc3BhcmVuY3kpKGEuY29sb3IpLApoPWkuYmFja2dyb3VuZDtsZXQgcz1hLmNvbG9yOyJ0cmFuc3BhcmVudCI9PT1zJiYocz10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kQ29sb3IudmFsdWUoKSksaS50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihzKSxpLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExfWVsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGEuY29vcmRpbmF0ZS8oMCxzLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7aS5iYWNrZ3JvdW5kPW8saS50ZXh0Q29sb3I9KDAsbC5yZXNldFRyYW5zcGFyZW5jeSkoYS5jb2xvciksaS5ib3JkZXJDb2xvcj0oMCxsLnJlc2V0VHJhbnNwYXJlbmN5KShpLnRleHRDb2xvciksaD1pLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9aS5jb29yZGluYXRlPWEuY29vcmRpbmF0ZSx0aGlzLl9zaG93QXhpc0xhYmVsKCkmJihlLnRleHQ9YS50ZXh0LGUudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj10aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3NvdXJjZSkmJiF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpfHx0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCk/aDp2b2lkIDAsdGhpcy5fdXBkYXRlUGFuZVJlbmRlcmVyRGF0YSh0KX1fc2hvd1BhbmVMYWJlbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuKGUuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbE5hbWVMYWJlbC52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3Nob3dBeGlzTGFiZWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybihlLnNob3dTdHVkeUxhc3RWYWx1ZS52YWx1ZSgpfHxlLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZS52YWx1ZSgpKSYmdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93TGFiZWxzT25QcmljZVNjYWxlLnZhbHVlKCkmJnRoaXMuX3NvdXJjZS5pc1Bsb3RWaXNpYmxlQXQodGhpcy5fZGF0YS5wbG90TmFtZSxvLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUHJpY2VTY2FsZSl9X3VwZGF0ZVBhbmVSZW5kZXJlckRhdGEoZSl7ZS50ZXh0PSIiLHRoaXMuX3Nob3dQYW5lTGFiZWwoKSYmKGUudGV4dD10aGlzLl9zb3VyY2UucHJpY2VMYWJlbFRleHQodGhpcy5fZGF0YS5wbG90TmFtZSksZS52aXNpYmxlPSEwKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.309Z","timestamp":1785136427309,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover= HTTP/1.1\r\nHost: coinlib.io\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\nReferer: https://heavenwealth.org/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 329317\r\ncache-control: public, max-age=3600, stale-while-revalidate=86400\r\ncontent-disposition: inline\r\npriority: u=4,i=?0\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors *\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-matched-path: /widget\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::t6r94-1785136427367-ad9e62828f17\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=8,cfOrigin;dur=54, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=wR5FqDbwTFBbo06wT86Zcv64etVy%2Bcxt3zi3oYhBAnOBH%2FnGpa2F%2BHtAvX6ZFdGzT73EV0fN%2BHRmdNW3uJ8iIJykV3N71%2B4qYG4v4dnql2K6Z9ZAJ5LQGFxih0Jx\"}]}\r\ncf-ray: a219d7eece958deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":264025,"size_decoded":33858,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (62918)","md5":"0b66e1b457bb677d8f58fbbe7d1dc0d3","sha1":"21d7b46ede1a80096ad8c0b24ac09e2b9d13baf6","sha256":"2d3fd1241a3c0c323de2b5fea043ea12d3cdf4aa2b288e3911976bb0ec53482c","sha512":"23db906319bb67d11230275571b08ff1a73b3c64c7aa9040d8797999624a297c817a1fad43c8a195e1eb6292fd7799ad2ba1fa36539482afc36f680433297406","ssdeep":"6144:cuwdzaVM7XPgFm+eQQ6L/c7kXl528IyIn:lMQ41k9Sn","tlshash":"7744b464f228ea7ebd3778ac92bce84c320571a1d9f847dde911b2119fc3bf25929114","first_seen":"2026-07-23T13:38:20.379492Z","last_seen":"2026-07-29T06:14:00.404739Z","times_seen":959,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PCEtLVMxSjJHRV9qQzlkRTl5aGE5aEFfdC0tPjxodG1sIGxhbmc9ImVuIj48aGVhZD48bWV0YSBjaGFyU2V0PSJ1dGYtOCIvPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIi8+PGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49IiIgdHlwZT0iZm9udC93b2ZmMiIvPjxzdHlsZSBkYXRhLXByZWNlZGVuY2U9Im5leHQiIGRhdGEtaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3MgL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3MiPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzJjNTVhMGU2MDEyMDU3N2Etcy4yYTQ4NTM0YS53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzQ2MC01MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzljNzJhYTBmNDBlNGVlZjgtcy4xOGE0OGNiYy53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMUY/P31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS81NDc2ZjY4ZDYwNDYwOTMwLXMuYzk5NWUzNTIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSszNzAtMzc3LFUrMzdBLTM3RixVKzM4NC0zOEEsVSszOEMsVSszOEUtM0ExLFUrM0EzLTNGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS8yYmJlOGQyNjcxNjEzZjFmLXMuNzZkY2IwYjIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzEwMC0yQkEsVSsyQkQtMkM1LFUrMkM3LTJDQyxVKzJDRS0yRDcsVSsyREQtMkZGLFUrMzA0LFUrMzA4LFUrMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvODNhZmUyNzhiNmE2YmIzYy1zLnAuM2E2YmEwMzYud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSs/PyxVKzEzMSxVKzE1Mi0xNTMsVSsyQkItMkJDLFUrMkM2LFUrMkRBLFUrMkRDLFUrMzA0LFUrMzA4LFUrMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkR9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlciBGYWxsYmFjaztzcmM6bG9jYWwoQXJpYWwpO2FzY2VudC1vdmVycmlkZTo5MC40NCU7ZGVzY2VudC1vdmVycmlkZToyMi41MiU7bGluZS1nYXAtb3ZlcnJpZGU6MC4wJTtzaXplLWFkanVzdDoxMDcuMTIlfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fY2xhc3NOYW1le2ZvbnQtZmFtaWx5OkludGVyLEludGVyIEZhbGxiYWNrO2ZvbnQtc3R5bGU6bm9ybWFsfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGV7LS1mb250LWludGVyOiJJbnRlciIsIkludGVyIEZhbGxiYWNrIn0KQGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LXNwYWNlLXktcmV2ZXJzZTowOy0tdHctc3BhY2UteC1yZXZlcnNlOjA7LS10dy1kaXZpZGUteS1yZXZlcnNlOjA7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbTojMDAwMDstLXR3LWdyYWRpZW50LXZpYTojMDAwMDstLXR3LWdyYWRpZW50LXRvOiMwMDAwOy0tdHctZ3JhZGllbnQtc3RvcHM6aW5pdGlhbDstLXR3LWdyYWRpZW50LXZpYS1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjowJTstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCU7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjoxMDAlOy0tdHctbGVhZGluZzppbml0aWFsOy0tdHctZm9udC13ZWlnaHQ6aW5pdGlhbDstLXR3LXRyYWNraW5nOmluaXRpYWw7LS10dy1vcmRpbmFsOmluaXRpYWw7LS10dy1zbGFzaGVkLXplcm86aW5pdGlhbDstLXR3LW51bWVyaWMtZmlndXJlOmluaXRpYWw7LS10dy1udW1lcmljLXNwYWNpbmc6aW5pdGlhbDstLXR3LW51bWVyaWMtZnJhY3Rpb246aW5pdGlhbDstLXR3LXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctaW5zZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtc2hhZG93LWFscGhhOjEwMCU7LS10dy1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1yaW5nLWluc2V0OmluaXRpYWw7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LW91dGxpbmUtc3R5bGU6c29saWQ7LS10dy1ibHVyOmluaXRpYWw7LS10dy1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1jb250cmFzdDppbml0aWFsOy0tdHctZ3JheXNjYWxlOmluaXRpYWw7LS10dy1odWUtcm90YXRlOmluaXRpYWw7LS10dy1pbnZlcnQ6aW5pdGlhbDstLXR3LW9wYWNpdHk6aW5pdGlhbDstLXR3LXNhdHVyYXRlOmluaXRpYWw7LS10dy1zZXBpYTppbml0aWFsOy0tdHctZHJvcC1zaGFkb3c6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1hbHBoYToxMDAlOy0tdHctZHJvcC1zaGFkb3ctc2l6ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtYmx1cjppbml0aWFsOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczppbml0aWFsOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaW52ZXJ0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1vcGFjaXR5OmluaXRpYWw7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2VwaWE6aW5pdGlhbDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWw7LS10dy1jb250ZW50OiIiOy0tdHctYW5pbWF0aW9uLWRlbGF5OjBzOy0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LS10dy1hbmltYXRpb24tZHVyYXRpb246aW5pdGlhbDstLXR3LWFuaW1hdGlvbi1maWxsLW1vZGU6bm9uZTstLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTstLXR3LWVudGVyLWJsdXI6MDstLXR3LWVudGVyLW9wYWNpdHk6MTstLXR3LWVudGVyLXJvdGF0ZTowOy0tdHctZW50ZXItc2NhbGU6MTstLXR3LWVudGVyLXRyYW5zbGF0ZS14OjA7LS10dy1lbnRlci10cmFuc2xhdGUteTowOy0tdHctZXhpdC1ibHVyOjA7LS10dy1leGl0LW9wYWNpdHk6MTstLXR3LWV4aXQtcm90YXRlOjA7LS10dy1leGl0LXNjYWxlOjE7LS10dy1leGl0LXRyYW5zbGF0ZS14OjA7LS10dy1leGl0LXRyYW5zbGF0ZS15OjB9fX1AbGF5ZXIgdGhlbWV7OnJvb3QsOmhvc3R7LS1jb2xvci1yZWQtNTAwOiNmYjJjMzY7LS1jb2xvci1vcmFuZ2UtNTAwOiNmZTZlMDA7LS1jb2xvci1ncmVlbi00MDA6IzA1ZGY3MjstLWNvbG9yLWdyZWVuLTYwMDojMDBhNTQ0Oy0tY29sb3ItYmxhY2s6IzAwMDstLWNvbG9yLXdoaXRlOiNmZmY7LS1zcGFjaW5nOi4yNXJlbTstLWNvbnRhaW5lci14czoyMHJlbTstLWNvbnRhaW5lci1zbToyNHJlbTstLWNvbnRhaW5lci1tZDoyOHJlbTstLWNvbnRhaW5lci1sZzozMnJlbTstLWNvbnRhaW5lci14bDozNnJlbTstLWNvbnRhaW5lci0yeGw6NDJyZW07LS1jb250YWluZXItM3hsOjQ4cmVtOy0tY29udGFpbmVyLTR4bDo1NnJlbTstLWNvbnRhaW5lci03eGw6ODByZW07LS10ZXh0LXhzOi43NXJlbTstLXRleHQteHMtLWxpbmUtaGVpZ2h0OmNhbGMoMS8uNzUpOy0tdGV4dC1zbTouODc1cmVtOy0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6Y2FsYygxLjI1Ly44NzUpOy0tdGV4dC1iYXNlOjFyZW07LS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OmNhbGMoMS41LzEpOy0tdGV4dC1sZzoxLjEyNXJlbTstLXRleHQtbGctLWxpbmUtaGVpZ2h0OmNhbGMoMS43NS8xLjEyNSk7LS10ZXh0LXhsOjEuMjVyZW07LS10ZXh0LXhsLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4yNSk7LS10ZXh0LTJ4bDoxLjVyZW07LS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLzEuNSk7LS10ZXh0LTN4bDoxLjg3NXJlbTstLXRleHQtM3hsLS1saW5lLWhlaWdodDpjYWxjKDIuMjUvMS44NzUpOy0tdGV4dC00eGw6Mi4yNXJlbTstLXRleHQtNHhsLS1saW5lLWhlaWdodDpjYWxjKDIuNS8yLjI1KTstLXRleHQtNnhsOjMuNzVyZW07LS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQ6MTstLWZvbnQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1mb250LXdlaWdodC1tZWRpdW06NTAwOy0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6NjAwOy0tZm9udC13ZWlnaHQtYm9sZDo3MDA7LS10cmFja2luZy10aWdodDotLjAyNWVtOy0tdHJhY2tpbmctd2lkZTouMDI1ZW07LS10cmFja2luZy13aWRlc3Q6LjFlbTstLWxlYWRpbmctdGlnaHQ6MS4yNTstLWxlYWRpbmctc251ZzoxLjM3NTstLWxlYWRpbmctcmVsYXhlZDoxLjYyNTstLXJhZGl1cy1tZDpjYWxjKHZhcigtLXJhZGl1cykqLjgpOy0tZWFzZS1pbi1vdXQ6Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LS1hbmltYXRlLXNwaW46c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LS1hbmltYXRlLXB1bHNlOnB1bHNlIDJzIGN1YmljLWJlemllciguNCwwLC42LDEpaW5maW5pdGU7LS1ibHVyLXhzOjRweDstLWJsdXItc206OHB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXs6cm9vdCw6aG9zdHstLWNvbG9yLXJlZC01MDA6bGFiKDU1LjQ4MTQlIDc1LjA3MzIgNDguODUyOCk7LS1jb2xvci1vcmFuZ2UtNTAwOmxhYig2NC4yNzIlIDU3LjE3ODggOTAuMzU4Myk7LS1jb2xvci1ncmVlbi00MDA6bGFiKDc4LjUwMyUgLTY0LjkyNjUgMzkuNzQ5Mik7LS1jb2xvci1ncmVlbi02MDA6bGFiKDU5LjA5NzglIC01OC42NjIxIDQxLjI1NzkpfX19QGxheWVyIGJhc2V7Kiw6YWZ0ZXIsOmJlZm9yZSw6OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsOmhvc3R7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7dGFiLXNpemU6NDtsaW5lLWhlaWdodDoxLjU7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1mb250LWZhbWlseSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSIpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2UpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mZWF0dXJlLXNldHRpbmdzLG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b31wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lfWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfWJ1dHRvbixpbnB1dCxzZWxlY3Qsb3B0Z3JvdXAsdGV4dGFyZWF7Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnttYXJnaW4taW5saW5lLWVuZDo0cHh9OjpwbGFjZWhvbGRlcntvcGFjaXR5OjF9QHN1cHBvcnRzIChub3QgKCgtd2Via2l0LWFwcGVhcmFuY2U6LWFwcGxlLXBheS1idXR0b24pKSkgb3IgKGNvbnRhaW4taW50cmluc2ljLXNpemU6MXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7OjpwbGFjZWhvbGRlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsY3VycmVudGNvbG9yIDUwJSx0cmFuc3BhcmVudCl9fX10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVle21pbi1oZWlnaHQ6MWxoO3RleHQtYWxpZ246aW5oZXJpdH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtkaXNwbGF5OmlubGluZS1mbGV4fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVye3BhZGRpbmc6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7bGluZS1oZWlnaHQ6MX06LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSxbdHlwZT1yZXNldF0sW3R5cGU9c3VibWl0XSl7YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSp7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7KntvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9Y29kZSxwcmUsa2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLCJJbnRlciIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfX1AbGF5ZXIgY29tcG9uZW50cztAbGF5ZXIgdXRpbGl0aWVzey5cQGNvbnRhaW5lclwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXC41e3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTFcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMjB7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMjApfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTBcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmxlZnQtNHtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxlZnQtMTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uaXNvbGF0ZXtpc29sYXRpb246aXNvbGF0ZX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9Lm9yZGVyLWZpcnN0e29yZGVyOi05OTk5fS5vcmRlci1sYXN0e29yZGVyOjk5OTl9LmNvbC1zdGFydC0ye2dyaWQtY29sdW1uLXN0YXJ0OjJ9LnJvdy1zcGFuLTJ7Z3JpZC1yb3c6c3BhbiAyL3NwYW4gMn0ucm93LXN0YXJ0LTF7Z3JpZC1yb3ctc3RhcnQ6MX0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS4tbXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS4tbXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm14LWF1dG97bWFyZ2luLWlubGluZTphdXRvfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5teS0ye21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxlYWQpO21hcmdpbi10b3A6MS4yZW07bWFyZ2luLWJvdHRvbToxLjJlbTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNn0ucHJvc2UgOndoZXJlKGEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWJvbGQpO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGEgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZSh0aGVhZCB0aCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPSIxIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2w+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1idWxsZXRzKX0ucHJvc2UgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjEuMjVlbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1xdW90ZXMpO2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6LjI1cmVtO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7cXVvdGVzOiLigJwiIuKAnSIi4oCYIiLigJkiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OiJgIn0ucHJvc2UgOndoZXJlKGEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgxIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6Ljg3NWVtfS5wcm9zZSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouOWVtfS5wcm9zZSA6d2hlcmUoaDQgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHRoZWFkIHRoIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO3BhZGRpbmctdG9wOi44NTcxNDNlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS4xNDI4NmVtO3BhZGRpbmctYm90dG9tOi44NTcxNDNlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xNDI4NmVtO2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNzE0Mjk7b3ZlcmZsb3cteDphdXRvfS5wcm9zZSA6d2hlcmUocHJlIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC13ZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci13aWR0aDowO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nOjB9LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTpiZWZvcmUsLnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50Om5vbmV9LnByb3NlIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0YWJsZS1sYXlvdXQ6YXV0bzt3aWR0aDoxMDAlO21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2UgOndoZXJlKHRoZWFkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZSh0Ym9keSB0cik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpfS5wcm9zZSA6d2hlcmUodGJvZHkgdHI6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ucHJvc2UgOndoZXJlKHRmb290KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci10b3AtY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnByb3NlIDp3aGVyZSh0aCx0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0ZXh0LWFsaWduOnN0YXJ0fS5wcm9zZSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtY2FwdGlvbnMpO21hcmdpbi10b3A6Ljg1NzE0M2VtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2V7LS10dy1wcm9zZS1ib2R5OiMzNjQxNTM7LS10dy1wcm9zZS1oZWFkaW5nczojMTAxODI4Oy0tdHctcHJvc2UtbGVhZDojNGE1NTY1Oy0tdHctcHJvc2UtbGlua3M6IzEwMTgyODstLXR3LXByb3NlLWJvbGQ6IzEwMTgyODstLXR3LXByb3NlLWNvdW50ZXJzOiM2YTcyODI7LS10dy1wcm9zZS1idWxsZXRzOiNkMWQ1ZGM7LS10dy1wcm9zZS1ocjojZTVlN2ViOy0tdHctcHJvc2UtcXVvdGVzOiMxMDE4Mjg7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1jYXB0aW9uczojNmE3MjgyOy0tdHctcHJvc2Uta2JkOiMxMDE4Mjg7LS10dy1wcm9zZS1rYmQtc2hhZG93czojMTAxODI4MWE7LS10dy1wcm9zZS1jb2RlOiMxMDE4Mjg7LS10dy1wcm9zZS1wcmUtY29kZTojZTVlN2ViOy0tdHctcHJvc2UtcHJlLWJnOiMxZTI5Mzk7LS10dy1wcm9zZS10aC1ib3JkZXJzOiNkMWQ1ZGM7LS10dy1wcm9zZS10ZC1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1pbnZlcnQtYm9keTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LWhlYWRpbmdzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWxpbmtzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtYm9sZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LWhyOiMzNjQxNTM7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOiNmM2Y0ZjY7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQta2JkOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3M6I2ZmZmZmZjFhOy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzojMDAwMDAwODA7LS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVyczojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LXRkLWJvcmRlcnM6IzM2NDE1Mztmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjc1fUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpey5wcm9zZXstLXR3LXByb3NlLWJvZHk6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWhlYWRpbmdzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtbGVhZDpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtbGlua3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1ib2xkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtY291bnRlcnM6bGFiKDQ3Ljc4NDElIC0uMzkzMTgyIC0xMC4wMjY4KTstLXR3LXByb3NlLWJ1bGxldHM6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaHI6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXF1b3RlczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWNhcHRpb25zOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1rYmQ6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0Ly4xKTstLXR3LXByb3NlLWNvZGU6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1wcmUtY29kZTpsYWIoOTEuNjIyOSUgLS4xNTkxMTUgLTIuMjY3OTEpOy0tdHctcHJvc2UtcHJlLWJnOmxhYigxNi4xMDUxJSAtMS4xODIzOSAtMTEuNzUzMyk7LS10dy1wcm9zZS10aC1ib3JkZXJzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLXRkLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWludmVydC1ib2R5OmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC1sZWFkOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnM6bGFiKDY1LjkyNjklIC0uODMyNzA3IC04LjE3NDczKTstLXR3LXByb3NlLWludmVydC1idWxsZXRzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtaHI6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1xdW90ZXM6bGFiKDk2LjE1OTYlIC0uMDgyMzQzOCAtMS4xMzU3NSk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCl9fS5wcm9zZSA6d2hlcmUocGljdHVyZT5pbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT5vbD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW19LnByb3NlIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbX0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZSgucHJvc2U+OmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKC5wcm9zZT46bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmU+aW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxnIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouMjIyMjIyZW07cGFkZGluZy1pbmxpbmUtZW5kOi40NDQ0NDRlbTtwYWRkaW5nLWJvdHRvbTouMjIyMjIyZW07Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNDQ0NDQ0ZW07Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKGgzIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UtbGcgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDoxZW07cGFkZGluZy1pbmxpbmUtZW5kOjEuNWVtO3BhZGRpbmctYm90dG9tOjFlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41ZW07Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjc1fS5wcm9zZS1sZyA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTttYXJnaW4tYm90dG9tOi42NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjMuMTExMTFlbTttYXJnaW4tYm90dG9tOjMuMTExMTFlbX0ucHJvc2UtbGcgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi43NWVtO3BhZGRpbmctaW5saW5lLWVuZDouNzVlbTtwYWRkaW5nLWJvdHRvbTouNzVlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNzVlbX0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjc3Nzc4ZW07bWFyZ2luLWJvdHRvbToxLjc3Nzc4ZW19LnByb3NlLWxnIDp3aGVyZShmaWd1cmU+Kik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MH0ucHJvc2Utc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2Utc20gOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW07bWFyZ2luLWJvdHRvbToxLjMzMzMzZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xMTExMWVtfS5wcm9zZS1zbSA6d2hlcmUoaDEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6Mi4xNDI4NmVtO2xpbmUtaGVpZ2h0OjEuMn0ucHJvc2Utc20gOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbTouOGVtO2ZvbnQtc2l6ZToxLjQyODU3ZW07bGluZS1oZWlnaHQ6MS40fS5wcm9zZS1zbSA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjU1NTU2ZW07bWFyZ2luLWJvdHRvbTouNDQ0NDQ0ZW07Zm9udC1zaXplOjEuMjg1NzFlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1zbSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjQyODU3ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2Utc20gOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKHBpY3R1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQyODU3MWVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNTcxNDI5ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjIuODU3MTRlbTttYXJnaW4tYm90dG9tOjIuODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1zbSA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2Utc20gOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPjpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbTowfS4tbXQtMXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5tdC0wXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVwuNXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ubWItMnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1iLTN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5tYi00e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWItNnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9Lm1iLTh7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5tYi0xMHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5tbC0xe21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm1sLTJ7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubWwtYXV0b3ttYXJnaW4tbGVmdDphdXRvfS5saW5lLWNsYW1wLTJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5uby1zY3JvbGxiYXJ7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lm5vLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmlubGluZXtkaXNwbGF5OmlubGluZX0uaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4fS5saXN0LWl0ZW17ZGlzcGxheTpsaXN0LWl0ZW19LnRhYmxle2Rpc3BsYXk6dGFibGV9LnRhYmxlLWNhcHRpb257ZGlzcGxheTp0YWJsZS1jYXB0aW9ufS50YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbH0udGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93fS5maWVsZC1zaXppbmctY29udGVudHtmaWVsZC1zaXppbmc6Y29udGVudH0uYXNwZWN0LVxbMTZcLzlcXXthc3BlY3QtcmF0aW86MTYvOX0uYXNwZWN0LVxbNjEwXC8yMDhcXXthc3BlY3QtcmF0aW86NjEwLzIwOH0uYXNwZWN0LXNxdWFyZXthc3BlY3QtcmF0aW86MX0uc2l6ZS0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5zaXplLTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uc2l6ZS01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNpemUtNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zaXplLTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uc2l6ZS04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnNpemUtOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS5zaXplLTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uc2l6ZS0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnNpemUtZnVsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5oLTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC02e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5oLTd7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNyl9LmgtOHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uaC04XCF7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCkhaW1wb3J0YW50fS5oLTl7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLTEye2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0uaC0xNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LmgtMTZ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5oLTIwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0uaC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LmgtNDB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNDApfS5oLTY0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0uaC04MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9LmgtXFs4MHB4XF17aGVpZ2h0OjgwcHh9LmgtXFszMDBweFxde2hlaWdodDozMDBweH0uaC1cWzM2MHB4XF17aGVpZ2h0OjM2MHB4fS5oLVxbNDQwcHhcXXtoZWlnaHQ6NDQwcHh9LmgtXFtjYWxjXCgxMDBcJS0xcHhcKVxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVwoLS1hdmFpbGFibGUtaGVpZ2h0XCl7bWF4LWhlaWdodDp2YXIoLS1hdmFpbGFibGUtaGVpZ2h0KX0ubWF4LWgtNjR7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWF4LWgtNzJ7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubWluLWgtMTZ7bWluLWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ubWluLWgtXFs2MHZoXF17bWluLWhlaWdodDo2MHZofS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0udy1cKC0tYW5jaG9yLXdpZHRoXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udy0xMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0udy0xMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0udy0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0udy0xNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0udy0yMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0udy0yNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0udy0yOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI4KX0udy0zMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMyKX0udy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0udy00NHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ0KX0udy00OHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0udy01Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUyKX0udy01Nnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjU2KX0udy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0udy1cWzEyMHB4XF17d2lkdGg6MTIwcHh9LnctXFsxNDBweFxde3dpZHRoOjE0MHB4fS53LVxbY2FsY1woXCgxMDBcJS0ycmVtXClcLzNcKVxde3dpZHRoOmNhbGMoMzMuMzMzMyUgLSAuNjY2NjY3cmVtKX0udy1hdXRve3dpZHRoOmF1dG99LnctZml0e3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0udy1weHt3aWR0aDoxcHh9Lm1heC13LTB7bWF4LXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1heC13LTJ4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTJ4bCl9Lm1heC13LTN4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTN4bCl9Lm1heC13LTR4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTR4bCl9Lm1heC13LTd4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTd4bCl9Lm1heC13LTQ4e21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0ubWF4LXctXFsyMDBweFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFtjYWxjXCgxMDBcJS0ycmVtXClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMnJlbSl9Lm1heC13LVxbY2FsY1woMTAwdnctMnJlbVwpXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFsycmVtXF17bWluLXdpZHRoOjJyZW19Lm1pbi13LVxbOTZweFxde21pbi13aWR0aDo5NnB4fS5taW4tdy1cWzE1MHB4XF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cKC0tdHJhbnNmb3JtLW9yaWdpblwpe3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tdHJhbnNmb3JtLW9yaWdpbil9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFszcHhcXXstLXR3LXRyYW5zbGF0ZS14OjNweDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteC1cWzE4cHhcXXstLXR3LXRyYW5zbGF0ZS14OjE4cHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteS0wey0tdHctdHJhbnNsYXRlLXk6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5yb3RhdGUtMTgwe3JvdGF0ZToxODBkZWd9LnRyYW5zZm9ybXt0cmFuc2Zvcm06dmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0udHJhbnNmb3JtLWdwdXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKXZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtcHVsc2V7YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtcHVsc2UpfS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtc3Bpbil9LmN1cnNvci1jcm9zc2hhaXJ7Y3Vyc29yOmNyb3NzaGFpcn0uY3Vyc29yLWRlZmF1bHR7Y3Vyc29yOmRlZmF1bHR9LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3ItdGV4dHtjdXJzb3I6dGV4dH0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLXB5LTF7c2Nyb2xsLXBhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmF1dG8tY29scy1mcntncmlkLWF1dG8tY29sdW1uczptaW5tYXgoMCwxZnIpfS5ncmlkLWZsb3ctY29se2dyaWQtYXV0by1mbG93OmNvbHVtbn0uYXV0by1yb3dzLW1pbntncmlkLWF1dG8tcm93czptaW4tY29udGVudH0uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC1jb2wtcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0uZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9LmNvbnRlbnQtc3RhcnR7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC00e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAtNntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZ2FwLTh7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqOCl9LmdhcC1cWzJweFxde2dhcDoycHh9OndoZXJlKC5zcGFjZS15LTBcLjU+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSouNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVwuNT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTM+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTQ+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTY+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTg+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTEwPjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLTIpKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1pbmxpbmUtZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5nYXAteS0xXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15Pjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LWRpdmlkZS15LXJldmVyc2U6MDtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6Y2FsYygxcHgqdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpO2JvcmRlci1ib3R0b20td2lkdGg6Y2FsYygxcHgqY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKX06d2hlcmUoLmRpdmlkZS1ib3JkZXI+Om5vdCg6bGFzdC1jaGlsZCkpe2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWF1dG97b3ZlcmZsb3cteDphdXRvfS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteC1zY3JvbGx7b3ZlcmZsb3cteDpzY3JvbGx9Lm92ZXJmbG93LXktYXV0b3tvdmVyZmxvdy15OmF1dG99LnJvdW5kZWR7Ym9yZGVyLXJhZGl1czouMjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtNHhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjIuNil9LnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktM3B4XClcXXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDNweCl9LnJvdW5kZWQtXFttaW5cKHZhclwoLS1yYWRpdXMtbWRcKVwsMTBweFwpXF17Ym9yZGVyLXJhZGl1czptaW4odmFyKC0tcmFkaXVzLW1kKSwxMHB4KX0ucm91bmRlZC1cW21pblwodmFyXCgtLXJhZGl1cy1tZFwpXCwxMnB4XClcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXCF7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpIWltcG9ydGFudH0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSouOCl9LnJvdW5kZWQtbm9uZXtib3JkZXItcmFkaXVzOjB9LnJvdW5kZWQtc217Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjYpfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LnJvdW5kZWQteGxcIXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpIWltcG9ydGFudH0ucm91bmRlZC10LTJ4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLXQteGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0ucm91bmRlZC1iLXhse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LmJvcmRlcntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LmJvcmRlci1iLTJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItZGFzaGVkey0tdHctYm9yZGVyLXN0eWxlOmRhc2hlZDtib3JkZXItc3R5bGU6ZGFzaGVkfS5ib3JkZXItYm9yZGVye2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9LmJvcmRlci1yZWQtNTAwXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcLzQwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItcmVkLTUwMCk0MCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXN1Y2Nlc3NcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1zdWNjZXNzXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxbXCMyMjlFRDlcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcLzgwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1iYWNrZ3JvdW5kXC84MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1iYWNrZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spMTAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA4MH1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRhbmdlcil9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1kYW5nZXJcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlLC5iZy1kZXN0cnVjdGl2ZVwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uYmctbXV0ZWQtZm9yZWdyb3VuZFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcLzI1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpMjUlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNTAlLHRyYW5zcGFyZW50KX19LmJnLXBvcG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wb3BvdmVyKX0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfS5iZy1wcmltYXJ5LWZvcmVncm91bmRcLzIwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnktZm9yZWdyb3VuZFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpNSUsdHJhbnNwYXJlbnQpfX0uYmctcHJpbWFyeVwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMTAlLHRyYW5zcGFyZW50KX19LmJnLXByaW1hcnlcLzE1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctc3VjY2Vzc1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tc3VjY2VzcykxMCUsdHJhbnNwYXJlbnQpfX0uYmctc3VjY2Vzc1wvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcLzE1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMTUlLHRyYW5zcGFyZW50KX19LmJnLXN1cmZhY2UsLmJnLXN1cmZhY2VcLzkwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3VyZmFjZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1zdXJmYWNlXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2FybmluZ1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0td2FybmluZykxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctZ3JhZGllbnQtdG8tYnJ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjp0byBib3R0b20gcmlnaHQgaW4gb2tsYWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uZnJvbS1cW1wjMzhBRkUzXF17LS10dy1ncmFkaWVudC1mcm9tOiMzOGFmZTM7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0uZnJvbS1cW1wjMjI5RUQ5XF17LS10dy1ncmFkaWVudC1mcm9tOiMyMjllZDk7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFtcIzFGOTdDQVxdey0tdHctZ3JhZGllbnQtdG86IzFmOTdjYTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS50by1cW1wjMWE3ZmIwXF17LS10dy1ncmFkaWVudC10bzojMWE3ZmIwOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmJnLWNsaXAtcGFkZGluZ3tiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wLTBcLjV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucC0xe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucC0ye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucC0ze3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucC00e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucC01e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucC0xMntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wLVxbM3B4XF17cGFkZGluZzozcHh9LnB4LTF7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucHgtMVwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB4LTJ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHgtMlwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHktMXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB5LTFcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB5LTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weS0yXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1wuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS04e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHktMTB7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ucHktMTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucHktMTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucHQtMntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wdC0ze3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnB0LTR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucHQtNntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItNHtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LnByLTh7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5wci0xMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wYi02e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9LnBiLTh7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGItMTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnBiLTE2e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wbC0xXC41e3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnBsLTh7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBsLTl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvbnQtbW9ub3tmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn0udGV4dC0yeGx7Zm9udC1zaXplOnZhcigtLXRleHQtMnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtMnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LTN4bHtmb250LXNpemU6dmFyKC0tdGV4dC0zeGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC0zeGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNHhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTR4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQpKX0udGV4dC02eGx7Zm9udC1zaXplOnZhcigtLXRleHQtNnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtNnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LWJhc2V7Zm9udC1zaXplOnZhcigtLXRleHQtYmFzZSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0KSl9LnRleHQtbGd7Zm9udC1zaXplOnZhcigtLXRleHQtbGcpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKX0udGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS50ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQteHN7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0udGV4dC1cWzBcLjhyZW1cXXtmb250LXNpemU6LjhyZW19LnRleHQtXFsxMHB4XF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LmxlYWRpbmctbm9uZXstLXR3LWxlYWRpbmc6MTtsaW5lLWhlaWdodDoxfS5sZWFkaW5nLXJlbGF4ZWR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctcmVsYXhlZCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1yZWxheGVkKX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKX0uZm9udC1tZWRpdW17LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9LmZvbnQtbm9ybWFsey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpfS5mb250LXNlbWlib2xkey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKX0udHJhY2tpbmctdGlnaHR7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy10aWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctdGlnaHQpfS50cmFja2luZy13aWRley0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSl9LnRyYWNraW5nLXdpZGVzdHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXdpZGVzdCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KX0uYnJlYWstYWxse3dvcmQtYnJlYWs6YnJlYWstYWxsfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmUtbGluZXt3aGl0ZS1zcGFjZTpwcmUtbGluZX0ud2hpdGVzcGFjZS1wcmUtd3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0udGV4dC1cW1wjMjJDNTVFXF17Y29sb3I6IzIyYzU1ZX0udGV4dC1cW1wjMjI5RUQ5XF17Y29sb3I6IzIyOWVkOX0udGV4dC1cW1wjMTg3OUE4XF17Y29sb3I6IzE4NzlhOH0udGV4dC1cW1wjRUY0NDQ0XF17Y29sb3I6I2VmNDQ0NH0udGV4dC1jYXJkLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tY2FyZC1mb3JlZ3JvdW5kKX0udGV4dC1kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udGV4dC1kZXN0cnVjdGl2ZXtjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LnRleHQtZm9yZWdyb3VuZCwudGV4dC1mb3JlZ3JvdW5kXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtZm9yZWdyb3VuZFwvODB7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LWZvcmVncm91bmRcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LW11dGVkLWZvcmVncm91bmRcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LW9yYW5nZS01MDB7Y29sb3I6dmFyKC0tY29sb3Itb3JhbmdlLTUwMCl9LnRleHQtcG9wb3Zlci1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCl9LnRleHQtcHJpbWFyeXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0udGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX0udGV4dC1yZWQtNTAwe2NvbG9yOnZhcigtLWNvbG9yLXJlZC01MDApfS50ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKX0udGV4dC1zdWNjZXNze2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC84NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzkwe2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvOTV7Y29sb3I6I2ZmZmZmZmYyfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS5jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lml0YWxpY3tmb250LXN0eWxlOml0YWxpY30udGFidWxhci1udW1zey0tdHctbnVtZXJpYy1zcGFjaW5nOnRhYnVsYXItbnVtcztmb250LXZhcmlhbnQtbnVtZXJpYzp2YXIoLS10dy1vcmRpbmFsLCl2YXIoLS10dy1zbGFzaGVkLXplcm8sKXZhcigtLXR3LW51bWVyaWMtZmlndXJlLCl2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKXZhcigtLXR3LW51bWVyaWMtZnJhY3Rpb24sKX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZX0udW5kZXJsaW5lLW9mZnNldC0ye3RleHQtdW5kZXJsaW5lLW9mZnNldDoycHh9LnVuZGVybGluZS1vZmZzZXQtNHt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6NHB4fS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0zMHtvcGFjaXR5Oi4zfS5vcGFjaXR5LTQwe29wYWNpdHk6LjR9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0ub3BhY2l0eS03MHtvcGFjaXR5Oi43fS5iZy1ibGVuZC1jb2xvcntiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6Y29sb3J9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW1key0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmV7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmVcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFwvMTB7LS10dy1yaW5nLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1mb3JlZ3JvdW5kXC8xMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpMTAlLHRyYW5zcGFyZW50KX19LnJpbmctcHJpbWFyeVwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XC8zMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMzAlLHRyYW5zcGFyZW50KX19Lm91dGxpbmUtaGlkZGVuey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsub3V0bGluZS1oaWRkZW57b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5maWx0ZXJ7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItc20pKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS50cmFuc2l0aW9ue3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG8sb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXIsZGlzcGxheSxjb250ZW50LXZpc2liaWxpdHksb3ZlcmxheSxwb2ludGVyLWV2ZW50czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWNvbG9yc3t0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tb3BhY2l0eXt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tdHJhbnNmb3Jte3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHRyYW5zbGF0ZSxzY2FsZSxyb3RhdGU7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0uZHVyYXRpb24tMTAwey0tdHctZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5lYXNlLWluLW91dHstLXR3LWVhc2U6dmFyKC0tZWFzZS1pbi1vdXQpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWVhc2UtaW4tb3V0KX0uXFt3aWxsLWNoYW5nZVw6dHJhbnNmb3JtXF17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGF1c2Vke2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZH0ucnVubmluZ3thbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfS5ncm91cC1vcGVuXDpyb3RhdGUtMTgwOmlzKDp3aGVyZSguZ3JvdXApOmlzKFtvcGVuXSw6cG9wb3Zlci1vcGVuLDpvcGVuKSAqKXtyb3RhdGU6MTgwZGVnfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6dHJhbnNsYXRlLXgtMFwuNTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqLjUpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Lmdyb3VwLWhvdmVyXDpiZy1tdXRlZDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZ3JvdXAtaG92ZXJcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcOnRleHQtd2hpdGU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfS5ncm91cC1ob3Zlclw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXC9kcm9wZG93bi1tZW51LWl0ZW1cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6aXMoOndoZXJlKC5ncm91cFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpzaXplLTEwOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyLWdyb3VwXDpzaXplLTY6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxbc2xvdFw9Y29tbWFuZC1zaG9ydGN1dFxdXC9jb21tYW5kLWl0ZW1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnB0LTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnBiLTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtjaGVja2VkXD10cnVlXF1cL2NvbW1hbmQtaXRlbVw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFwvY29tbWFuZC1pdGVtKVtkYXRhLWNoZWNrZWQ9dHJ1ZV0gKil7b3BhY2l0eToxfS5ncm91cC1kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSguZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKiksLmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXC9pbnB1dC1ncm91cFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXC9pbnB1dC1ncm91cClbZGF0YS1kaXNhYmxlZD10cnVlXSAqKXtvcGFjaXR5Oi41fS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOnNpemUtMlwuNTppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1kZWZhdWx0XSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ3JvdXAtZGF0YS1cW3NpemVcPWxnXF1cL2F2YXRhclw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXJcOnRleHQteHM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpwLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpweC0zOmlzKDp3aGVyZSguZ3JvdXBcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKil7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2NhcmRcOnRleHQtc206aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtc2VsZWN0ZWRcL2NvbW1hbmQtaXRlbVw6dGV4dC1mb3JlZ3JvdW5kOmlzKDp3aGVyZSguZ3JvdXBcL2NvbW1hbmQtaXRlbSk6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pICope2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmgtODppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKil7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcL3RhYnNcOmgtZml0OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7aGVpZ2h0OmZpdC1jb250ZW50fS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDp3LWZ1bGw6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXt3aWR0aDoxMDAlfS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDpmbGV4LWNvbDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6anVzdGlmeS1zdGFydDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5wZWVyLWRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcOm9wYWNpdHktNTA6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtvcGFjaXR5Oi41fS5maWxlXDppbmxpbmUtZmxleDo6ZmlsZS1zZWxlY3Rvci1idXR0b257ZGlzcGxheTppbmxpbmUtZmxleH0uZmlsZVw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVw6Ym9yZGVyLTA6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5maWxlXDpiZy10cmFuc3BhcmVudDo6ZmlsZS1zZWxlY3Rvci1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZmlsZVw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVw6Zm9udC1tZWRpdW06OmZpbGUtc2VsZWN0b3ItYnV0dG9uey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfS5maWxlXDp0ZXh0LWZvcmVncm91bmQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5wbGFjZWhvbGRlclw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcOmFic29sdXRlOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7cG9zaXRpb246YWJzb2x1dGV9LmFmdGVyXDppbnNldC0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYWZ0ZXJcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclw6Ym9yZGVyOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjFweH0uYWZ0ZXJcOmJvcmRlci1ib3JkZXI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYWZ0ZXJcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclw6b3BhY2l0eS0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eTowfS5hZnRlclw6bWl4LWJsZW5kLWRhcmtlbjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uYWZ0ZXJcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmFmdGVyXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFwvdGFic1w6YWZ0ZXJcOmJvdHRvbS1cWy01cHhcXTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3R0b206LTVweH0uZ3JvdXAtZGF0YS1ob3Jpem9udGFsXC90YWJzXDphZnRlclw6aC0wXC41OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOi1yaWdodC0xOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOnctMFwuNTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmZvY3VzLXdpdGhpblw6Ym9yZGVyLXJpbmc6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uZm9jdXMtd2l0aGluXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy13aXRoaW5cOnJpbmctcmluZ1wvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcLzMwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkzMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1wcmltYXJ5XC80MDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1yaW5nOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaG92ZXJcOmJnLWFjY2VudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctZGVzdHJ1Y3RpdmVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWQ6aG92ZXIsLmhvdmVyXDpiZy1tdXRlZFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctbXV0ZWRcLzQwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLW11dGVkXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJnLW11dGVkXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1tdXRlZFwvODA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpODAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1wcmltYXJ5XC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXByaW1hcnlcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMjAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2Vjb25kYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOnRleHQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXDpzaGFkb3ctbGc6aG92ZXJ7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmhvdmVyXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcOmJnLWFjY2VudDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvY3VzXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOmZvY3Vze2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZm9jdXNcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1w6XCpcKlw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDpmb2N1cyAqKSw6aXMoLm5vdC1kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6Zm9jdXNcOlwqXCpcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcOmJvcmRlci1kZXN0cnVjdGl2ZVwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6Ym9yZGVyLWRlc3RydWN0aXZlXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpNDAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOmJvcmRlci1yaW5nOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy12aXNpYmxlXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcOnJpbmctMjpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy0zOmZvY3VzLXZpc2libGUsLmZvY3VzLXZpc2libGVcOnJpbmctXFszcHhcXTpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1yaW5nXC81MDpmb2N1cy12aXNpYmxley0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0xOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1wcmltYXJ5OmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXDp0cmFuc2xhdGUteS1weDphY3RpdmV7LS10dy10cmFuc2xhdGUteToxcHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6ZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDpiZy1pbnB1dFwvNTA6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6YmctdHJhbnNwYXJlbnQ6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cW3Nsb3RcPWJ1dHRvbi1ncm91cFxdXDpyb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKX06d2hlcmUoW2RhdGEtc2xvdD1jb21ib2JveC1jb250ZW50XSkgLmluLWRhdGEtXFtzbG90XD1jb21ib2JveC1jb250ZW50XF1cOmZvY3VzLXdpdGhpblw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cW3Nsb3RcPWNvbWJvYm94LWNvbnRlbnRcXVw6Zm9jdXMtd2l0aGluXDpyaW5nLTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06d2hlcmUoW2RhdGEtc2xvdD1kaWFsb2ctY29udGVudF0pIC5pbi1kYXRhLVxbc2xvdFw9ZGlhbG9nLWNvbnRlbnRcXVw6cm91bmRlZC1sZ1whe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9Lmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXDpiZy1pbnB1dFwvNTA6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpNTAlLHRyYW5zcGFyZW50KX19Lmhhcy1kaXNhYmxlZFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cW2ljb25cPWlubGluZS1lbmRcXVw6cHItMVwuNTpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLXN0YXJ0XF1cOnBsLTFcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMjpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLWRhdGEtXFtzbG90XD1jYXJkLWFjdGlvblxdXDpncmlkLWNvbHMtXFsxZnJfYXV0b1xdOmhhcyhbZGF0YS1zbG90PWNhcmQtYWN0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciBhdXRvfS5oYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZGVzY3JpcHRpb25cXVw6Z3JpZC1yb3dzLVxbYXV0b19hdXRvXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1kZXNjcmlwdGlvbl0pe2dyaWQtdGVtcGxhdGUtcm93czphdXRvIGF1dG99Lmhhcy1kYXRhLVxbc2xvdFw9Y2FyZC1mb290ZXJcXVw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6Ym9yZGVyLXJpbmc6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctMzpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6cmluZy1yaW5nXC81MDpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctcmluZ1wvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpib3JkZXItZGVzdHJ1Y3RpdmU6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy0zOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7Lmhhcy1cW1xbZGF0YS1zbG90XF1cW2FyaWEtaW52YWxpZFw9dHJ1ZVxdXF1cOnJpbmctZGVzdHJ1Y3RpdmVcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1ibG9jay1lbmRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOmZsZXgtY29sOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stZW5kXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1zdGFydF0pe2hlaWdodDphdXRvfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpmbGV4LWNvbDpoYXMoPltkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPmJ1dHRvblxdXDptci1cWy0wXC4zcmVtXF06aGFzKD5idXR0b24pe21hcmdpbi1yaWdodDotLjNyZW19Lmhhcy1cW1w+YnV0dG9uXF1cOm1sLVxbLTBcLjNyZW1cXTpoYXMoPmJ1dHRvbil7bWFyZ2luLWxlZnQ6LS4zcmVtfS5oYXMtXFtcPmltZ1w6Zmlyc3QtY2hpbGRcXVw6cHQtMDpoYXMoPmltZzpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxbXD5rYmRcXVw6bXItXFstMFwuMTVyZW1cXTpoYXMoPmtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cW1w+a2JkXF1cOm1sLVxbLTBcLjE1cmVtXF06aGFzKD5rYmQpe21hcmdpbi1sZWZ0Oi0uMTVyZW19Lmhhcy1cW1w+c3ZnXF1cOnAtMDpoYXMoPnN2Zyl7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5oYXMtXFtcPnRleHRhcmVhXF1cOmgtYXV0bzpoYXMoPnRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFw6cG9pbnRlci1ldmVudHMtbm9uZVthcmlhLWRpc2FibGVkPXRydWVde3BvaW50ZXItZXZlbnRzOm5vbmV9LmFyaWEtZGlzYWJsZWRcOm9wYWNpdHktNTBbYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5hcmlhLWV4cGFuZGVkXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXDpiZy1zZWNvbmRhcnlbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9LmFyaWEtZXhwYW5kZWRcOnRleHQtZm9yZWdyb3VuZFthcmlhLWV4cGFuZGVkPXRydWVde2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hcmlhLWV4cGFuZGVkXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcOmJvcmRlci1kZXN0cnVjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uYXJpYS1pbnZhbGlkXDpyaW5nLTBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC8yMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmFyaWEtaW52YWxpZFw6cmluZy1kZXN0cnVjdGl2ZVwvMjBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtZW5kaW5nLXN0eWxlXDpvcGFjaXR5LTBbZGF0YS1lbmRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1pbnNldFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXDpiZy1hY2NlbnRbZGF0YS1wb3B1cC1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmRhdGEtcG9wdXAtb3Blblw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXBvcHVwLW9wZW5de2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZGF0YS1zdGFydGluZy1zdHlsZVw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6b3BhY2l0eS01MFtkYXRhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmJvdHRvbS0wW2RhdGEtc2lkZT1ib3R0b21de2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmgtYXV0b1tkYXRhLXNpZGU9Ym90dG9tXXtoZWlnaHQ6YXV0b30uZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6c2xpZGUtaW4tZnJvbS10b3AtMltkYXRhLXNpZGU9Ym90dG9tXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OmNhbGMoMip2YXIoLS1zcGFjaW5nKSotMSl9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWzJcLjVyZW1cXVtkYXRhLXNpZGU9Ym90dG9tXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9aW5saW5lLWVuZFxdXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9aW5saW5lLXN0YXJ0XF1cOnNsaWRlLWluLWZyb20tcmlnaHQtMltkYXRhLXNpZGU9aW5saW5lLXN0YXJ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9bGVmdF17aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmgtZnVsbFtkYXRhLXNpZGU9bGVmdF17aGVpZ2h0OjEwMCV9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOnctM1wvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9bGVmdFxdXDpib3JkZXItcltkYXRhLXNpZGU9bGVmdF17Ym9yZGVyLXJpZ2h0LXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC0yW2RhdGEtc2lkZT1sZWZ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteC1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPWxlZnRdW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWxlZnRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFstMlwuNXJlbVxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9cmlnaHRde2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1yaWdodFxdXDpyaWdodC0wW2RhdGEtc2lkZT1yaWdodF17cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6dy0zXC80W2RhdGEtc2lkZT1yaWdodF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNsaWRlLWluLWZyb20tbGVmdC0yW2RhdGEtc2lkZT1yaWdodF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS14LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFsyXC41cmVtXF1bZGF0YS1zaWRlPXJpZ2h0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDp0b3AtMFtkYXRhLXNpZGU9dG9wXXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDpoLWF1dG9bZGF0YS1zaWRlPXRvcF17aGVpZ2h0OmF1dG99LmRhdGEtXFtzaWRlXD10b3BcXVw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxbc2lkZVw9dG9wXF1cOnNsaWRlLWluLWZyb20tYm90dG9tLTJbZGF0YS1zaWRlPXRvcF17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtc3RhcnRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbLTJcLjVyZW1cXVtkYXRhLXNpZGU9dG9wXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpemVcPWxnXF1cOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFtzaXplXD1zbVxdXDpzaXplLTZbZGF0YS1zaXplPXNtXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5kYXRhLVxbc2l6ZVw9c21cXVw6Z2FwLTNbZGF0YS1zaXplPXNtXXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZGF0YS1cW3NpemVcPXNtXF1cOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFtzaXplXD1zbVxdXDpoYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZm9vdGVyXF1cOnBiLTBbZGF0YS1zaXplPXNtXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9OmlzKC5cKlw6ZGF0YS1cW3Nsb3RcPWF2YXRhclxdXDpyaW5nLTI+KilbZGF0YS1zbG90PWF2YXRhcl17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTppcyguXCpcOmRhdGEtXFtzbG90XD1hdmF0YXJcXVw6cmluZy1iYWNrZ3JvdW5kPiopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlwqXDpkYXRhLVxbc2xvdFw9aW5wdXQtZ3JvdXAtYWRkb25cXVw6cGwtMlwhPiopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxbc3RhdGVcPXNlbGVjdGVkXF1cOmJnLW11dGVkW2RhdGEtc3RhdGU9c2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVde2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzEwW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMTAlLHRyYW5zcGFyZW50KX19LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVw6cm91bmRlZC1ub25lW2RhdGEtdmFyaWFudD1saW5lXXtib3JkZXItcmFkaXVzOjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSBvciAoYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3KSkpey5zdXBwb3J0cy1iYWNrZHJvcC1maWx0ZXJcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOmJsb2Nre2Rpc3BsYXk6YmxvY2t9LnNtXDpoaWRkZW57ZGlzcGxheTpub25lfS5zbVw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uc21cOmgtMjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjQpfS5zbVw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6bWF4LXctc217bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9LnNtXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5zbVw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5zbVw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uc21cOmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc21cOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cOnAtNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNtXDpwLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zbVw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cOnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uc21cOnRleHQtM3hse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTN4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQteGx7Zm9udC1zaXplOnZhcigtLXRleHQteGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c21cOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNtXDptYXgtdy1zbVtkYXRhLXNpZGU9cmlnaHRde21heC13aWR0aDp2YXIoLS1jb250YWluZXItc20pfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7Lm1kXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXDpyaWdodC00e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1kXDpib3R0b20tNHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWRcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5tZFw6ZmxleHtkaXNwbGF5OmZsZXh9Lm1kXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9Lm1kXDptaW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFw6ZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZFw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0ubWRcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFw6cGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6dGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5tZFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXDpzdGlja3l7cG9zaXRpb246c3RpY2t5fS5sZ1w6dG9wLTR7dG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6aGlkZGVue2Rpc3BsYXk6bm9uZX0ubGdcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5sZ1w6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy1cWzFmcl8zNDBweFxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMzQwcHh9LmxnXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmxnXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFw6dy04MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX19LmRhcmtcOmJsb2NrOmlzKC5kYXJrICope2Rpc3BsYXk6YmxvY2t9LmRhcmtcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKXtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfS5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1w6dGV4dC1ncmVlbi00MDA6aXMoLmRhcmsgKil7Y29sb3I6dmFyKC0tY29sb3ItZ3JlZW4tNDAwKX0uZGFya1w6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXDpwcm9zZS1pbnZlcnQ6aXMoLmRhcmsgKil7LS10dy1wcm9zZS1ib2R5OnZhcigtLXR3LXByb3NlLWludmVydC1ib2R5KTstLXR3LXByb3NlLWhlYWRpbmdzOnZhcigtLXR3LXByb3NlLWludmVydC1oZWFkaW5ncyk7LS10dy1wcm9zZS1sZWFkOnZhcigtLXR3LXByb3NlLWludmVydC1sZWFkKTstLXR3LXByb3NlLWxpbmtzOnZhcigtLXR3LXByb3NlLWludmVydC1saW5rcyk7LS10dy1wcm9zZS1ib2xkOnZhcigtLXR3LXByb3NlLWludmVydC1ib2xkKTstLXR3LXByb3NlLWNvdW50ZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1jb3VudGVycyk7LS10dy1wcm9zZS1idWxsZXRzOnZhcigtLXR3LXByb3NlLWludmVydC1idWxsZXRzKTstLXR3LXByb3NlLWhyOnZhcigtLXR3LXByb3NlLWludmVydC1ocik7LS10dy1wcm9zZS1xdW90ZXM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXF1b3Rlcyk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZS1ib3JkZXJzKTstLXR3LXByb3NlLWNhcHRpb25zOnZhcigtLXR3LXByb3NlLWludmVydC1jYXB0aW9ucyk7LS10dy1wcm9zZS1rYmQ6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czp2YXIoLS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3MpOy0tdHctcHJvc2UtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY29kZSk7LS10dy1wcm9zZS1wcmUtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGUpOy0tdHctcHJvc2UtcHJlLWJnOnZhcigtLXR3LXByb3NlLWludmVydC1wcmUtYmcpOy0tdHctcHJvc2UtdGgtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVycyk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzKX0uZGFya1w6YWZ0ZXJcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1w6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmhvdmVyXDpiZy1pbnB1dFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpob3Zlclw6YmctaW5wdXRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpob3Zlclw6YmctbXV0ZWRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aG92ZXJcOmJnLW11dGVkXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6aG92ZXJcOnRleHQtZm9yZWdyb3VuZDppcyguZGFyayAqKTpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX19LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRpc2FibGVkXDpiZy1pbnB1dFwvODA6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpODAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRpc2FibGVkXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kYXJrXDpoYXMtZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzgwOmlzKC5kYXJrICopOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTgwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpoYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDphcmlhLWludmFsaWRcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXthbmltYXRpb246ZW50ZXIgdmFyKC0tdHctYW5pbWF0aW9uLWR1cmF0aW9uLHZhcigtLXR3LWR1cmF0aW9uLC4xNXMpKXZhcigtLXR3LWVhc2UsZWFzZSl2YXIoLS10dy1hbmltYXRpb24tZGVsYXksMHMpdmFyKC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwxKXZhcigtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKXZhcigtLXR3LWFuaW1hdGlvbi1maWxsLW1vZGUsbm9uZSl9LmRhdGEtb3Blblw6YmctYWNjZW50OndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLW9wZW5cOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6ZmFkZS1pbi0wOndoZXJlKFtkYXRhLW9wZW5dOm5vdChbZGF0YS1vcGVuPWZhbHNlXSkpey0tdHctZW50ZXItb3BhY2l0eTowfS5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXDphbmltYXRlLW91dDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmFuaW1hdGUtb3V0OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXthbmltYXRpb246ZXhpdCB2YXIoLS10dy1hbmltYXRpb24tZHVyYXRpb24sdmFyKC0tdHctZHVyYXRpb24sLjE1cykpdmFyKC0tdHctZWFzZSxlYXNlKXZhcigtLXR3LWFuaW1hdGlvbi1kZWxheSwwcyl2YXIoLS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LDEpdmFyKC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpdmFyKC0tdHctYW5pbWF0aW9uLWZpbGwtbW9kZSxub25lKX0uZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1jbG9zZWRdOm5vdChbZGF0YS1jbG9zZWQ9ZmFsc2VdKSl7b3ZlcmZsb3c6aGlkZGVufS5kYXRhLWNsb3NlZFw6ZmFkZS1vdXQtMDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXDp6b29tLW91dC05NTp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOnpvb20tb3V0LTk1OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXstLXR3LWV4aXQtc2NhbGU6Ljk1fS5kYXRhLXNlbGVjdGVkXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmRhdGEtZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWRdOm5vdChbZGF0YS1kaXNhYmxlZD1mYWxzZV0pKXtvcGFjaXR5Oi41fS5kYXRhLWFjdGl2ZVw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcOmJnLWJhY2tncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9ZGVmYXVsdFxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9ZGVmYXVsdF0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1kZWZhdWx0XF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1zbTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1kZWZhdWx0XSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmFmdGVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YWZ0ZXJcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKSk6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtvcGFjaXR5OjF9LmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjp2YXIoLS1pbnB1dCl9LmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpib3JkZXItdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOiMwMDAwfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6Z3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhdGEtaG9yaXpvbnRhbFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXDp3LWZ1bGw6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe3dpZHRoOjEwMCV9LmRhdGEtaG9yaXpvbnRhbFw6ZmxleC1jb2w6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGF0YS12ZXJ0aWNhbFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFw6c2VsZi1zdHJldGNoOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSl7YWxpZ24tc2VsZjpzdHJldGNofS5cW1wmX2FcXVw6dGV4dC1wcmltYXJ5IGF7Y29sb3I6dmFyKC0tcHJpbWFyeSl9LlxbXCZfaDNcXVw6bXQtNiBoM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqNil9LlxbXCZfaDNcXVw6bWItMiBoM3ttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxbXCZfaDNcXVw6dGV4dC1mb3JlZ3JvdW5kIGgze2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5cW1wmX3N2Z1xdXDpwb2ludGVyLWV2ZW50cy1ub25lIHN2Z3twb2ludGVyLWV2ZW50czpub25lfS5cW1wmX3N2Z1xdXDpzaHJpbmstMCBzdmd7ZmxleC1zaHJpbms6MH0uXFtcJl9zdmdcOm5vdFwoXFtjbGFzc1wqXD1cJ3NpemUtXCdcXVwpXF1cOnNpemUtMyBzdmc6bm90KFtjbGFzcyo9c2l6ZS1dKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS0zXC41IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZfdHJcXVw6Ym9yZGVyLWIgdHJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5cW1wmX3RyXDpsYXN0LWNoaWxkXF1cOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxbXCZcOlw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxdXDpoaWRkZW46Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS5cW1wmXDpcOi13ZWJraXQtc2Nyb2xsYmFyXF1cOmhpZGRlbjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5cW1wmXDpoYXNcKFxbcm9sZVw9Y2hlY2tib3hcXVwpXF1cOnByLTA6aGFzKFtyb2xlPWNoZWNrYm94XSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5cW1wuYm9yZGVyLWJcXVw6cGItMi5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cW1wuYm9yZGVyLWJcXVw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvY2FyZFw6XFtcLmJvcmRlci1iXF1cOnBiLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKS5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wuYm9yZGVyLXRcXVw6cHQtMi5ib3JkZXItdHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB4LTIgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB5LTFcLjUgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDpmb250LW1lZGl1bSAqKVtjbWRrLWdyb3VwLWhlYWRpbmddey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCAqKVtjbWRrLWdyb3VwLWhlYWRpbmdde2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmU+Kik6aXMoYSl7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmUtb2Zmc2V0LTM+Kik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFthXF1cOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW2FcXVw6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDpiZy1tdXRlZDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cW2FcXVw6aG92ZXJcOmJnLXNlY29uZGFyeVwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDp0ZXh0LW11dGVkLWZvcmVncm91bmQ6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9OmlzKC5cKlw6XFthXF1cOmhvdmVyXDp0ZXh0LWZvcmVncm91bmQ+Kik6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9fTppcyguXCpcOlxbaW1nXDpmaXJzdC1jaGlsZFxdXDpyb3VuZGVkLXQteGw+Kik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXCpcOlxbaW1nXDpsYXN0LWNoaWxkXF1cOnJvdW5kZWQtYi14bD4qKTppcyhpbWc6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX06aXMoLmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpcKlw6XFtzdmdcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdPiopOmlzKHN2Zyl7Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfTppcyguZGF0YS1zZWxlY3RlZFw6XCpcOlxbc3ZnXF1cOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSk+Kik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnB0LTM6aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKT5pbnB1dHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwYi0zOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKT5pbnB1dHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9aW5saW5lLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnByLTFcLjU6aGFzKD5bZGF0YS1hbGlnbj1pbmxpbmUtZW5kXSk+aW5wdXR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1pbmxpbmUtc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwbC0xXC41Omhhcyg+W2RhdGEtYWxpZ249aW5saW5lLXN0YXJ0XSk+aW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFtcJlw+a2JkXF1cOnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktNXB4XClcXT5rYmR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSA1cHgpfS5cW1wmXD5zdmdcXVw6cG9pbnRlci1ldmVudHMtbm9uZT5zdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFtcJlw+c3ZnXF1cOnNpemUtM1whPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpIWltcG9ydGFudDtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnR9LlxbXCZcPnN2Z1xdXDpzaXplLTQ+c3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpcW1wmXD5zdmdcXVw6c2l6ZS01OmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uZ3JvdXAtaGFzLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXItZ3JvdXBcOlxbXCZcPnN2Z1xdXDpzaXplLTM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICopPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOlxbXCZcPnN2Z1xdXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9ZGVmYXVsdF0gKik+c3ZnLC5ncm91cC1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyXDpcW1wmXD5zdmdcXVw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2F2YXRhclw6XFtcJlw+c3ZnXF1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKik+c3Zne2Rpc3BsYXk6bm9uZX0uXFtcJlw+c3ZnXDpub3RcKFxbY2xhc3NcKlw9XCdzaXplLVwnXF1cKVxdXDpzaXplLTNcLjU+c3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxbXCZcPnN2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00PnN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZcPnRyXF1cOmxhc3RcOmJvcmRlci1iLTA+dHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjBzfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vcm1hbH1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub25lfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1zY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWV4aXQtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtc2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXRyYW5zbGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfTpyb290ey0tYmFja2dyb3VuZDojZmZmOy0tZm9yZWdyb3VuZDojMTExODI3Oy0tY2FyZDojZjlmYWZiOy0tY2FyZC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wb3BvdmVyOiNmZmY7LS1wb3BvdmVyLWZvcmVncm91bmQ6IzExMTgyNzstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiNmM2Y0ZjY7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojMTExODI3Oy0tbXV0ZWQ6I2YzZjRmNjstLW11dGVkLWZvcmVncm91bmQ6IzZiNzI4MDstLWFjY2VudDojZjNmNGY2Oy0tYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6I2U1ZTdlYjstLWlucHV0OiNlNWU3ZWI7LS1yaW5nOiMwMDc0ZjU7LS1yYWRpdXM6LjVyZW07LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6I2Y5ZmFmYjstLXN1cmZhY2UtMjojZjNmNGY2Oy0tY2hhcnQtMTojMDA3NGY1Oy0tY2hhcnQtMjojMDBiOGE5Oy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojZjlmYWZiOy0tc2lkZWJhci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1zaWRlYmFyLXByaW1hcnk6IzAwNzRmNTstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojZjNmNGY2Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1ib3JkZXI6I2U1ZTdlYjstLXNpZGViYXItcmluZzojMDA3NGY1fS5kYXJrey0tYmFja2dyb3VuZDojMGIwZjE5Oy0tZm9yZWdyb3VuZDojZjlmYWZiOy0tY2FyZDojMTExODI3Oy0tY2FyZC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wb3BvdmVyOiMxMTE4Mjc7LS1wb3BvdmVyLWZvcmVncm91bmQ6I2Y5ZmFmYjstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiMxZjI5Mzc7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojZjlmYWZiOy0tbXV0ZWQ6IzFmMjkzNzstLW11dGVkLWZvcmVncm91bmQ6IzljYTNhZjstLWFjY2VudDojMWYyOTM3Oy0tYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6IzM3NDE1MTstLWlucHV0OiMzNzQxNTE7LS1yaW5nOiMwMDc0ZjU7LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6IzExMTgyNzstLXN1cmZhY2UtMjojMWYyOTM3Oy0tY2hhcnQtMTojM2Q5YWZmOy0tY2hhcnQtMjojMzNjOWJkOy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojMTExODI3Oy0tc2lkZWJhci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1zaWRlYmFyLXByaW1hcnk6IzNkOWFmZjstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojMWYyOTM3Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1ib3JkZXI6IzM3NDE1MTstLXNpZGViYXItcmluZzojMDA3NGY1fUBrZXlmcmFtZXMgdGV4dC1zaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJX10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlfX0udGV4dC1zaGltbWVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLW11dGVkLWZvcmVncm91bmQpNDAlLHZhcigtLWZvcmVncm91bmQpNTAlLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlKTtjb2xvcjojMDAwMDtiYWNrZ3JvdW5kLXNpemU6MjAwJTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0O2FuaW1hdGlvbjoycyBsaW5lYXIgaW5maW5pdGUgdGV4dC1zaGltbWVyfWh0bWwuY2MtY29uc2VudGVkIC5jb29raWUtbm90aWNle2Rpc3BsYXk6bm9uZX1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctc3BhY2UteC1yZXZlcnNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6Ijxjb2xvcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbntzeW50YXg6IjxsZW5ndGgtcGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9ue3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTo1MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb257c3ludGF4OiI8bGVuZ3RoLXBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctbGVhZGluZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctdHJhY2tpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcmRpbmFse3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1maWd1cmV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLXNwYWNpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6I2ZmZn1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kdXJhdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWVhc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToiIn1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHB1bHNlezUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzIGVudGVyezAle29wYWNpdHk6dmFyKC0tdHctZW50ZXItb3BhY2l0eSwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QodmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1lbnRlci1yb3RhdGUsMCkpO2ZpbHRlcjpibHVyKHZhcigtLXR3LWVudGVyLWJsdXIsMCkpfX1Aa2V5ZnJhbWVzIGV4aXR7dG97b3BhY2l0eTp2YXIoLS10dy1leGl0LW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZXhpdC10cmFuc2xhdGUteSwwKSwwKXNjYWxlM2QodmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpLHZhcigtLXR3LWV4aXQtc2NhbGUsMSkpcm90YXRlKHZhcigtLXR3LWV4aXQtcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1leGl0LWJsdXIsMCkpfX0KPC9zdHlsZT48bGluayByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNoUHJpb3JpdHk9ImxvdyIgaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIvPjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy85ZGYzYjY3YjYwNjFlYTllLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzQ5MTE0MTBlNTE1M2YwZDcuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy80ODE1YTc1ODY1N2Q0YmFlLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvdHVyYm9wYWNrLTE4YTlkZTUxMmExOTMzYWQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvZDcxYjk5MjY3YjA2NmI5Yi5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tIiBjcm9zc29yaWdpbj0iIi8+PG1ldGEgbmFtZT0ibmV4dC1zaXplLWFkanVzdCIgY29udGVudD0iIi8+PHRpdGxlPkNvaW5saWIgV2lkZ2V0IHwgQ29pbmxpYjwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9ImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXIiLz48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiLz48bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJUcmFjayByZWFsLXRpbWUgY3J5cHRvY3VycmVuY3kgcHJpY2VzLCBtYXJrZXQgY2FwLCBjaGFydHMsIGFuZCBwb3J0Zm9saW8uIEV4cGxvcmUgdGhvdXNhbmRzIG9mIGNvaW5zIGFuZCBleGNoYW5nZXMgd2l0aCBDb2lubGliLiIvPjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pbyIvPjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkNvaW5saWIiLz48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZyIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjYzMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTphbHQiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJDb2lubGliIOKAlCBDcnlwdG9jdXJyZW5jeSBQcmljZXMsIENoYXJ0cyAmYW1wOyBNYXJrZXQgRGF0YSIvPjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jb2lubGliLmlvL29nL2RlZmF1bHQucG5nIi8+PGxpbmsgcmVsPSJpY29uIiBocmVmPSIvZmF2aWNvbi5pY28/ZmF2aWNvbi4zOTBlMTEwOS5pY28iIHNpemVzPSI0OHg0OCIgdHlwZT0iaW1hZ2UveC1pY29uIi8+PGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz48c2NyaXB0PnRyeXtpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29pbmxpYi1jb29raWUtY29uc2VudCcpKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY2MtY29uc2VudGVkJyl9fWNhdGNoKGUpe308L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvYTZkYWQ5N2Q5NjM0YTcyZC5qcyIgbm9Nb2R1bGU9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWQiPjxkaXYgaGlkZGVuPSIiPjwhLS0kLS0+PCEtLS8kLS0+PC9kaXY+PHNjcmlwdD4oKGEsYixjLGQsZSxmLGcsaCk9PntsZXQgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaj1bImxpZ2h0IiwiZGFyayJdO2Z1bmN0aW9uIGsoYil7dmFyIGM7KEFycmF5LmlzQXJyYXkoYSk/YTpbYV0pLmZvckVhY2goYT0+e2xldCBjPSJjbGFzcyI9PT1hLGQ9YyYmZj9lLm1hcChhPT5mW2FdfHxhKTplO2M/KGkuY2xhc3NMaXN0LnJlbW92ZSguLi5kKSxpLmNsYXNzTGlzdC5hZGQoZiYmZltiXT9mW2JdOmIpKTppLnNldEF0dHJpYnV0ZShhLGIpfSksYz1iLGgmJmouaW5jbHVkZXMoYykmJihpLnN0eWxlLmNvbG9yU2NoZW1lPWMpfWlmKGQpayhkKTtlbHNlIHRyeXtsZXQgYT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiKXx8YyxkPWcmJiJzeXN0ZW0iPT09YT93aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImRhcmsiOiJsaWdodCI6YTtrKGQpfWNhdGNoKGEpe319KSgiY2xhc3MiLCJ0aGVtZSIsImRhcmsiLG51bGwsWyJsaWdodCIsImRhcmsiXSxudWxsLHRydWUsdHJ1ZSk8L3NjcmlwdD48c3R5bGU+aHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfTwvc3R5bGU+PCEtLSQhLS0+PHRlbXBsYXRlIGRhdGEtZGdzdD0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciPjwvdGVtcGxhdGU+PCEtLS8kLS0+PCEtLSQtLT48IS0tLyQtLT48c2NyaXB0PihmdW5jdGlvbigpe2Z1bmN0aW9uIGxvYWQoKXt3aW5kb3cuZGF0YUxheWVyPXdpbmRvdy5kYXRhTGF5ZXJ8fFtdO3dpbmRvdy5ndGFnPWZ1bmN0aW9uKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKX07Z3RhZygnanMnLG5ldyBEYXRlKCkpO2d0YWcoJ2NvbmZpZycsJ0ctVjg0WFA4V0dYWScpO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3Muc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVjg0WFA4V0dYWSc7cy5hc3luYz10cnVlO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9ZnVuY3Rpb24gc2NoZWR1bGUoKXtpZigncmVxdWVzdElkbGVDYWxsYmFjaydpbiB3aW5kb3cpe3JlcXVlc3RJZGxlQ2FsbGJhY2sobG9hZCx7dGltZW91dDozMDAwfSl9ZWxzZXtzZXRUaW1lb3V0KGxvYWQsMTUwMCl9fWlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtzY2hlZHVsZSgpfWVsc2V7YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsc2NoZWR1bGUse29uY2U6dHJ1ZX0pfX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzgxYTI5OGRkYzc0NzEwNzAuanMiIGlkPSJfUl8iIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQ+KHNlbGYuX19uZXh0X2Y9c2VsZi5fX25leHRfZnx8W10pLnB1c2goWzBdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxOlwiJFNyZWFjdC5mcmFnbWVudFwiXG5hOklbMTYxNTMsW10sXCJkZWZhdWx0XCJdXG46SExbXCIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyXCIsXCJmb250XCIse1wiY3Jvc3NPcmlnaW5cIjpcIlwiLFwidHlwZVwiOlwiZm9udC93b2ZmMlwifV1cbjI6VDg4NCwiXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiQGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmM1NWEwZTYwMTIwNTc3YS1zLjJhNDg1MzRhLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSs0NjAtNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS85YzcyYWEwZjQwZTRlZWY4LXMuMThhNDhjYmMud29mZjIpZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxRj8/fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzU0NzZmNjhkNjA0NjA5MzAtcy5jOTk1ZTM1Mi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMzcwLTM3NyxVKzM3QS0zN0YsVSszODQtMzhBLFUrMzhDLFUrMzhFLTNBMSxVKzNBMy0zRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmJiZThkMjY3MTYxM2YxZi1zLjc2ZGNiMGIyLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMTAwLTJCQSxVKzJCRC0yQzUsVSsyQzctMkNDLFUrMkNFLTJENyxVKzJERC0yRkYsVSszMDQsVSszMDgsVSszMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4zYTZiYTAzNi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrPz8sVSsxMzEsVSsxNTItMTUzLFUrMkJCLTJCQyxVKzJDNixVKzJEQSxVKzJEQyxVKzMwNCxVKzMwOCxVKzMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXIgRmFsbGJhY2s7c3JjOmxvY2FsKEFyaWFsKTthc2NlbnQtb3ZlcnJpZGU6OTAuNDQlO2Rlc2NlbnQtb3ZlcnJpZGU6MjIuNTIlO2xpbmUtZ2FwLW92ZXJyaWRlOjAuMCU7c2l6ZS1hZGp1c3Q6MTA3LjEyJX0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX2NsYXNzTmFtZXtmb250LWZhbWlseTpJbnRlcixJbnRlciBGYWxsYmFjaztmb250LXN0eWxlOm5vcm1hbH0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX3ZhcmlhYmxley0tZm9udC1pbnRlcjpcIkludGVyXCIsXCJJbnRlciBGYWxsYmFja1wifVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjM6VDFkNmU4LCJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJAbGF5ZXIgcHJvcGVydGllc3tAc3VwcG9ydHMgKCgoLXdlYmtpdC1oeXBoZW5zOm5vbmUpKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06aW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6aW5saW5lKSBhbmQgKG5vdCAoY29sb3I6cmdiKGZyb20gcmVkIHIgZyBiKSkpKXsqLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS10dy10cmFuc2xhdGUteDowOy0tdHctdHJhbnNsYXRlLXk6MDstLXR3LXRyYW5zbGF0ZS16OjA7LS10dy1yb3RhdGUteDppbml0aWFsOy0tdHctcm90YXRlLXk6aW5pdGlhbDstLXR3LXJvdGF0ZS16OmluaXRpYWw7LS10dy1za2V3LXg6aW5pdGlhbDstLXR3LXNrZXcteTppbml0aWFsOy0tdHctc3BhY2UteS1yZXZlcnNlOjA7LS10dy1zcGFjZS14LXJldmVyc2U6MDstLXR3LWRpdmlkZS15LXJldmVyc2U6MDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWdyYWRpZW50LXBvc2l0aW9uOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tOiMwMDAwOy0tdHctZ3JhZGllbnQtdmlhOiMwMDAwOy0tdHctZ3JhZGllbnQtdG86IzAwMDA7LS10dy1ncmFkaWVudC1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtdmlhLXN0b3BzOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOjEwMCU7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbDstLXR3LWNvbnRlbnQ6XCJcIjstLXR3LWFuaW1hdGlvbi1kZWxheTowczstLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsOy0tdHctYW5pbWF0aW9uLWR1cmF0aW9uOmluaXRpYWw7LS10dy1hbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7LS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LS10dy1lbnRlci1ibHVyOjA7LS10dy1lbnRlci1vcGFjaXR5OjE7LS10dy1lbnRlci1yb3RhdGU6MDstLXR3LWVudGVyLXNjYWxlOjE7LS10dy1lbnRlci10cmFuc2xhdGUteDowOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6MDstLXR3LWV4aXQtYmx1cjowOy0tdHctZXhpdC1vcGFjaXR5OjE7LS10dy1leGl0LXJvdGF0ZTowOy0tdHctZXhpdC1zY2FsZToxOy0tdHctZXhpdC10cmFuc2xhdGUteDowOy0tdHctZXhpdC10cmFuc2xhdGUteTowfX19QGxheWVyIHRoZW1lezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDojZmIyYzM2Oy0tY29sb3Itb3JhbmdlLTUwMDojZmU2ZTAwOy0tY29sb3ItZ3JlZW4tNDAwOiMwNWRmNzI7LS1jb2xvci1ncmVlbi02MDA6IzAwYTU0NDstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci13aGl0ZTojZmZmOy0tc3BhY2luZzouMjVyZW07LS1jb250YWluZXIteHM6MjByZW07LS1jb250YWluZXItc206MjRyZW07LS1jb250YWluZXItbWQ6MjhyZW07LS1jb250YWluZXItbGc6MzJyZW07LS1jb250YWluZXIteGw6MzZyZW07LS1jb250YWluZXItMnhsOjQycmVtOy0tY29udGFpbmVyLTN4bDo0OHJlbTstLWNvbnRhaW5lci00eGw6NTZyZW07LS1jb250YWluZXItN3hsOjgwcmVtOy0tdGV4dC14czouNzVyZW07LS10ZXh0LXhzLS1saW5lLWhlaWdodDpjYWxjKDEvLjc1KTstLXRleHQtc206Ljg3NXJlbTstLXRleHQtc20tLWxpbmUtaGVpZ2h0OmNhbGMoMS4yNS8uODc1KTstLXRleHQtYmFzZToxcmVtOy0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDpjYWxjKDEuNS8xKTstLXRleHQtbGc6MS4xMjVyZW07LS10ZXh0LWxnLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4xMjUpOy0tdGV4dC14bDoxLjI1cmVtOy0tdGV4dC14bC0tbGluZS1oZWlnaHQ6Y2FsYygxLjc1LzEuMjUpOy0tdGV4dC0yeGw6MS41cmVtOy0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OmNhbGMoMi8xLjUpOy0tdGV4dC0zeGw6MS44NzVyZW07LS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjI1LzEuODc1KTstLXRleHQtNHhsOjIuMjVyZW07LS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjUvMi4yNSk7LS10ZXh0LTZ4bDozLjc1cmVtOy0tdGV4dC02eGwtLWxpbmUtaGVpZ2h0OjE7LS1mb250LXdlaWdodC1ub3JtYWw6NDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnQtd2VpZ2h0LWJvbGQ6NzAwOy0tdHJhY2tpbmctdGlnaHQ6LS4wMjVlbTstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tdHJhY2tpbmctd2lkZXN0Oi4xZW07LS1sZWFkaW5nLXRpZ2h0OjEuMjU7LS1sZWFkaW5nLXNudWc6MS4zNzU7LS1sZWFkaW5nLXJlbGF4ZWQ6MS42MjU7LS1yYWRpdXMtbWQ6Y2FsYyh2YXIoLS1yYWRpdXMpKi44KTstLWVhc2UtaW4tb3V0OmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tYW5pbWF0ZS1zcGluOnNwaW4gMXMgbGluZWFyIGluZmluaXRlOy0tYW5pbWF0ZS1wdWxzZTpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKWluZmluaXRlOy0tYmx1ci14czo0cHg7LS1ibHVyLXNtOjhweDstLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzOy0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstLWRlZmF1bHQtZm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSxcIkludGVyXCIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDpsYWIoNTUuNDgxNCUgNzUuMDczMiA0OC44NTI4KTstLWNvbG9yLW9yYW5nZS01MDA6bGFiKDY0LjI3MiUgNTcuMTc4OCA5MC4zNTgzKTstLWNvbG9yLWdyZWVuLTQwMDpsYWIoNzguNTAzJSAtNjQuOTI2NSAzOS43NDkyKTstLWNvbG9yLWdyZWVuLTYwMDpsYWIoNTkuMDk3OCUgLTU4LjY2MjEgNDEuMjU3OSl9fX1AbGF5ZXIgYmFzZXsqLDphZnRlciw6YmVmb3JlLDo6YmFja2Ryb3B7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2xpbmUtaGVpZ2h0OjEuNTtmb250LWZhbWlseTp2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiLFwiTm90byBDb2xvciBFbW9qaVwiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2hlaWdodDowO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHh9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLFwiTGliZXJhdGlvbiBNb25vXCIsXCJDb3VyaWVyIE5ld1wiLG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTtmb250LXNpemU6MWVtfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX10YWJsZXt0ZXh0LWluZGVudDowO2JvcmRlci1jb2xvcjppbmhlcml0O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19b2wsdWwsbWVudXtsaXN0LXN0eWxlOm5vbmV9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99YnV0dG9uLGlucHV0LHNlbGVjdCxvcHRncm91cCx0ZXh0YXJlYXtmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKG5vdCAoKC13ZWJraXQtYXBwZWFyYW5jZTotYXBwbGUtcGF5LWJ1dHRvbikpKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZToxcHgpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y3VycmVudENvbG9yfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXs6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYixjdXJyZW50Y29sb3IgNTAlLHRyYW5zcGFyZW50KX19fXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWV7bWluLWhlaWdodDoxbGg7dGV4dC1hbGlnbjppbmhlcml0fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e2Rpc3BsYXk6aW5saW5lLWZsZXh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXJ7cGFkZGluZzowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntsaW5lLWhlaWdodDoxfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdKXthcHBlYXJhbmNlOmJ1dHRvbn06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Kntib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtvdXRsaW5lLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsqe291dGxpbmUtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1jb2RlLHByZSxrYmR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn19QGxheWVyIGNvbXBvbmVudHM7QGxheWVyIHV0aWxpdGllc3suXFxAY29udGFpbmVyXFwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXFwuNXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnRvcC0xXFwvMnt0b3A6NTAlfS50b3AtMVxcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcXC41e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucmlnaHQtM3tyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTIwe2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0wXFwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcXC41e2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5sZWZ0LTN7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTR7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5sZWZ0LTEwe2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmlzb2xhdGV7aXNvbGF0aW9uOmlzb2xhdGV9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotNDB7ei1pbmRleDo0MH0uei01MHt6LWluZGV4OjUwfS5vcmRlci1maXJzdHtvcmRlcjotOTk5OX0ub3JkZXItbGFzdHtvcmRlcjo5OTk5fS5jb2wtc3RhcnQtMntncmlkLWNvbHVtbi1zdGFydDoyfS5yb3ctc3Bhbi0ye2dyaWQtcm93OnNwYW4gMi9zcGFuIDJ9LnJvdy1zdGFydC0xe2dyaWQtcm93LXN0YXJ0OjF9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo0MHJlbX19QG1lZGlhIChtaW4td2lkdGg6NDhyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQ4cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NjRyZW19fUBtZWRpYSAobWluLXdpZHRoOjgwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo4MHJlbX19QG1lZGlhIChtaW4td2lkdGg6OTZyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjk2cmVtfX0uLW14LTF7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uLW14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi00KX0ubXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5teC1hdXRve21hcmdpbi1pbmxpbmU6YXV0b30ubXktMXttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXktMnttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHJvc2V7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9keSk7bWF4LXdpZHRoOjY1Y2h9LnByb3NlIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTttYXJnaW4tdG9wOjEuMmVtO21hcmdpbi1ib3R0b206MS4yZW07Zm9udC1zaXplOjEuMjVlbTtsaW5lLWhlaWdodDoxLjZ9LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxpbmtzKTtmb250LXdlaWdodDo1MDA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucHJvc2UgOndoZXJlKHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2xkKTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShhIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9QSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWEgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9SSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWkgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWNvdW50ZXJzKTtmb250LXdlaWdodDo0MDB9LnByb3NlIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOjptYXJrZXJ7Y29sb3I6dmFyKC0tdHctcHJvc2UtYnVsbGV0cyl9LnByb3NlIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWNvbG9yOnZhcigtLXR3LXByb3NlLWhyKTtib3JkZXItdG9wLXdpZHRoOjFweDttYXJnaW4tdG9wOjNlbTttYXJnaW4tYm90dG9tOjNlbX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOi4yNXJlbTtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLXR3LXByb3NlLXF1b3RlLWJvcmRlcnMpO3F1b3RlczpcIuKAnFwiXCLigJ1cIlwi4oCYXCJcIuKAmVwiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW19LnByb3NlIDp3aGVyZShoMyBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNCBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLXByZS1jb2RlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR3LXByb3NlLXByZS1iZyk7cGFkZGluZy10b3A6Ljg1NzE0M2VtO3BhZGRpbmctaW5saW5lLWVuZDoxLjE0Mjg2ZW07cGFkZGluZy1ib3R0b206Ljg1NzE0M2VtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjEuNzE0MjllbTttYXJnaW4tYm90dG9tOjEuNzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg2ZW07Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyOTtvdmVyZmxvdy14OmF1dG99LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXdlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmJlZm9yZSwucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RhYmxlLWxheW91dDphdXRvO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI5fS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKHRib2R5IHRyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGQtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Ym9keSB0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKHRoLHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RleHQtYWxpZ246c3RhcnR9LnByb3NlIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWNhcHRpb25zKTttYXJnaW4tdG9wOi44NTcxNDNlbTtmb250LXNpemU6Ljg3NWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3Nley0tdHctcHJvc2UtYm9keTojMzY0MTUzOy0tdHctcHJvc2UtaGVhZGluZ3M6IzEwMTgyODstLXR3LXByb3NlLWxlYWQ6IzRhNTU2NTstLXR3LXByb3NlLWxpbmtzOiMxMDE4Mjg7LS10dy1wcm9zZS1ib2xkOiMxMDE4Mjg7LS10dy1wcm9zZS1jb3VudGVyczojNmE3MjgyOy0tdHctcHJvc2UtYnVsbGV0czojZDFkNWRjOy0tdHctcHJvc2UtaHI6I2U1ZTdlYjstLXR3LXByb3NlLXF1b3RlczojMTAxODI4Oy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtY2FwdGlvbnM6IzZhNzI4MjstLXR3LXByb3NlLWtiZDojMTAxODI4Oy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6IzEwMTgyODFhOy0tdHctcHJvc2UtY29kZTojMTAxODI4Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWUyOTM5Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRjOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6Izk5YTFhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC1ocjojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM2NDE1MzstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOiNmZmZmZmYxYTstLXR3LXByb3NlLWludmVydC1jb2RlOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1wcmUtYmc6IzAwMDAwMDgwOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOiMzNjQxNTM7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS43NX1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXsucHJvc2V7LS10dy1wcm9zZS1ib2R5OmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1oZWFkaW5nczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWxlYWQ6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWxpbmtzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtYm9sZDpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWNvdW50ZXJzOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1idWxsZXRzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWhyOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1xdW90ZXM6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1jYXB0aW9uczpsYWIoNDcuNzg0MSUgLS4zOTMxODIgLTEwLjAyNjgpOy0tdHctcHJvc2Uta2JkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NC8uMSk7LS10dy1wcm9zZS1jb2RlOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtcHJlLWNvZGU6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXByZS1iZzpsYWIoMTYuMTA1MSUgLTEuMTgyMzkgLTExLjc1MzMpOy0tdHctcHJvc2UtdGgtYm9yZGVyczpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1pbnZlcnQtYm9keTpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtaW52ZXJ0LWhyOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOmxhYig5Ni4xNTk2JSAtLjA4MjM0MzggLTEuMTM1NzUpOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpfX0ucHJvc2UgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodWxcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDouMzc1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQ6Zmlyc3QtY2hpbGQsdGZvb3QgdGQ6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmxhc3QtY2hpbGQsdGZvb3QgdGQ6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UgOndoZXJlKGZpZ3VyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UtbGcgOndoZXJlKHZpZGVvKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi4yMjIyMjJlbTtwYWRkaW5nLWlubGluZS1lbmQ6LjQ0NDQ0NGVtO3BhZGRpbmctYm90dG9tOi4yMjIyMjJlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40NDQ0NDRlbTtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg3NWVtfS5wcm9zZS1sZyA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOjFlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS41ZW07cGFkZGluZy1ib3R0b206MWVtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjVlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlLWxnIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTU1NTZlbX0ucHJvc2UtbGcgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO21hcmdpbi1ib3R0b206LjY2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZShkbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41NTU1NmVtfS5wcm9zZS1sZyA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDozLjExMTExZW07bWFyZ2luLWJvdHRvbTozLjExMTExZW19LnByb3NlLWxnIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UtbGcgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODg4ODg5ZW07bGluZS1oZWlnaHQ6MS41fS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGgpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOi43NWVtO3BhZGRpbmctYm90dG9tOi43NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi43NWVtfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UtbGcgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNzVlbTtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlXHUwMDNlKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZ1x1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNzE0Mjl9LnByb3NlLXNtIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbTtmb250LXNpemU6MS4yODU3MWVtO2xpbmUtaGVpZ2h0OjEuNTU1NTZ9LnByb3NlLXNtIDp3aGVyZShibG9ja3F1b3RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuMTExMTFlbX0ucHJvc2Utc20gOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi44ZW07Zm9udC1zaXplOjIuMTQyODZlbTtsaW5lLWhlaWdodDoxLjJ9LnByb3NlLXNtIDp3aGVyZShoMik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNmVtO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6MS40Mjg1N2VtO2xpbmUtaGVpZ2h0OjEuNH0ucHJvc2Utc20gOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS41NTU1NmVtO21hcmdpbi1ib3R0b206LjQ0NDQ0NGVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGg0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS40Mjg1N2VtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3NlLXNtIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUocGljdHVyZVx1MDAzZWltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40Mjg1NzFlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGkgcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZW9sXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjU3MTQyOWVtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKGRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjI4NTcxNGVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTcxNDNlbX0ucHJvc2Utc20gOndoZXJlKGhyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Mi44NTcxNGVtO21hcmdpbi1ib3R0b206Mi44NTcxNGVtfS5wcm9zZS1zbSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg1NzE0M2VtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLXNtIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNtIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO2ZvbnQtc2l6ZTouODU3MTQzZW07bGluZS1oZWlnaHQ6MS4zMzMzM30ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc21cdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9Li1tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm10LTBcXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVxcLjV7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1iLTJ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tYi0ze21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1iLTZ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5tYi04e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ubWItMTB7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ubWwtMXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tbC0ye21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubGluZS1jbGFtcC0yey13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubm8tc2Nyb2xsYmFyey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS5uby1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uYmxvY2t7ZGlzcGxheTpibG9ja30uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pbmxpbmV7ZGlzcGxheTppbmxpbmV9LmlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0ubGlzdC1pdGVte2Rpc3BsYXk6bGlzdC1pdGVtfS50YWJsZXtkaXNwbGF5OnRhYmxlfS50YWJsZS1jYXB0aW9ue2Rpc3BsYXk6dGFibGUtY2FwdGlvbn0udGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LnRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvd30uZmllbGQtc2l6aW5nLWNvbnRlbnR7ZmllbGQtc2l6aW5nOmNvbnRlbnR9LmFzcGVjdC1cXFsxNlxcLzlcXF17YXNwZWN0LXJhdGlvOjE2Lzl9LmFzcGVjdC1cXFs2MTBcXC8yMDhcXF17YXNwZWN0LXJhdGlvOjYxMC8yMDh9LmFzcGVjdC1zcXVhcmV7YXNwZWN0LXJhdGlvOjF9LnNpemUtM1xcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9LnNpemUtN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5zaXplLTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5zaXplLTE0e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaC0yXFwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1xcLjV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0uaC00e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5oLTV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOFxcIXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KSFpbXBvcnRhbnR9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtMTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5oLTE0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uaC0xNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LmgtMjB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjApfS5oLTI0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0uaC00MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LmgtNjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5oLTgwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX0uaC1cXFs4MHB4XFxde2hlaWdodDo4MHB4fS5oLVxcWzMwMHB4XFxde2hlaWdodDozMDBweH0uaC1cXFszNjBweFxcXXtoZWlnaHQ6MzYwcHh9LmgtXFxbNDQwcHhcXF17aGVpZ2h0OjQ0MHB4fS5oLVxcW2NhbGNcXCgxMDBcXCUtMXB4XFwpXFxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVxcKC0tYXZhaWxhYmxlLWhlaWdodFxcKXttYXgtaGVpZ2h0OnZhcigtLWF2YWlsYWJsZS1oZWlnaHQpfS5tYXgtaC02NHttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5tYXgtaC03MnttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNzIpfS5taW4taC0xNnttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5taW4taC1cXFs2MHZoXFxde21pbi1oZWlnaHQ6NjB2aH0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9LnctXFwoLS1hbmNob3Itd2lkdGhcXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXFwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnctNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS53LTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0udy02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNil9LnctN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS53LTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0udy05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSl9LnctMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnctMTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnctMTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnctMTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnctMjB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyMCl9LnctMjR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnctMjh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyOCl9LnctMzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9LnctNDB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LnctNDR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0NCl9LnctNDh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9LnctNTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Mil9LnctNTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Nil9LnctNzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3Mil9LnctXFxbMTIwcHhcXF17d2lkdGg6MTIwcHh9LnctXFxbMTQwcHhcXF17d2lkdGg6MTQwcHh9LnctXFxbY2FsY1xcKFxcKDEwMFxcJS0ycmVtXFwpXFwvM1xcKVxcXXt3aWR0aDpjYWxjKDMzLjMzMzMlIC0gLjY2NjY2N3JlbSl9LnctYXV0b3t3aWR0aDphdXRvfS53LWZpdHt3aWR0aDpmaXQtY29udGVudH0udy1mdWxse3dpZHRoOjEwMCV9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy0we21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tYXgtdy0yeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0yeGwpfS5tYXgtdy0zeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0zeGwpfS5tYXgtdy00eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci00eGwpfS5tYXgtdy03eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci03eGwpfS5tYXgtdy00OHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9Lm1heC13LVxcWzIwMHB4XFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFxbY2FsY1xcKDEwMFxcJS0ycmVtXFwpXFxde21heC13aWR0aDpjYWxjKDEwMCUgLSAycmVtKX0ubWF4LXctXFxbY2FsY1xcKDEwMHZ3LTJyZW1cXClcXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFxbMnJlbVxcXXttaW4td2lkdGg6MnJlbX0ubWluLXctXFxbOTZweFxcXXttaW4td2lkdGg6OTZweH0ubWluLXctXFxbMTUwcHhcXF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cXCgtLXRyYW5zZm9ybS1vcmlnaW5cXCl7dHJhbnNmb3JtLW9yaWdpbjp2YXIoLS10cmFuc2Zvcm0tb3JpZ2luKX0uLXRyYW5zbGF0ZS14LTFcXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFxbM3B4XFxdey0tdHctdHJhbnNsYXRlLXg6M3B4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS14LVxcWzE4cHhcXF17LS10dy10cmFuc2xhdGUteDoxOHB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Li10cmFuc2xhdGUteS0xXFwvMnstLXR3LXRyYW5zbGF0ZS15OmNhbGMoY2FsYygxLzIqMTAwJSkqLTEpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnJvdGF0ZS0xODB7cm90YXRlOjE4MGRlZ30udHJhbnNmb3Jte3RyYW5zZm9ybTp2YXIoLS10dy1yb3RhdGUteCwpdmFyKC0tdHctcm90YXRlLXksKXZhcigtLXR3LXJvdGF0ZS16LCl2YXIoLS10dy1za2V3LXgsKXZhcigtLXR3LXNrZXcteSwpfS50cmFuc2Zvcm0tZ3B1e3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApdmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1wdWxzZSl9LmFuaW1hdGUtc3BpbnthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1zcGluKX0uY3Vyc29yLWNyb3NzaGFpcntjdXJzb3I6Y3Jvc3NoYWlyfS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdH0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5yZXNpemV7cmVzaXplOmJvdGh9LnJlc2l6ZS1ub25le3Jlc2l6ZTpub25lfS5zY3JvbGwtcHktMXtzY3JvbGwtcGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5saXN0LWRpc2N7bGlzdC1zdHlsZS10eXBlOmRpc2N9Lmxpc3Qtbm9uZXtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uYXV0by1jb2xzLWZye2dyaWQtYXV0by1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmdyaWQtZmxvdy1jb2x7Z3JpZC1hdXRvLWZsb3c6Y29sdW1ufS5hdXRvLXJvd3MtbWlue2dyaWQtYXV0by1yb3dzOm1pbi1jb250ZW50fS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LWNvbC1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0wXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVxcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uZ2FwLTJ7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMil9LmdhcC0yXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5nYXAtM3tnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ2FwLTR7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmdhcC02e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5nYXAtOHtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ2FwLVxcWzJweFxcXXtnYXA6MnB4fTp3aGVyZSguc3BhY2UteS0wXFwuNVx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTFcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVxcLjVcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktM1x1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS00XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTZcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktOFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS0xMFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWlubGluZS1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi0yKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LmdhcC15LTFcXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctZGl2aWRlLXktcmV2ZXJzZTowO2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDpjYWxjKDFweCp2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSk7Ym9yZGVyLWJvdHRvbS13aWR0aDpjYWxjKDFweCpjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpfTp3aGVyZSguZGl2aWRlLWJvcmRlclx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uc2VsZi1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lmp1c3RpZnktc2VsZi1lbmR7anVzdGlmeS1zZWxmOmZsZXgtZW5kfS50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59Lm92ZXJmbG93LXgtc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtfS5yb3VuZGVkLTJ4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLTR4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoyLjYpfS5yb3VuZGVkLVxcW2NhbGNcXCh2YXJcXCgtLXJhZGl1c1xcKS0zcHhcXClcXF17Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAzcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTBweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEwcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTJweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXFwhe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjgpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKi42KX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLXhsXFwhe2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCkhaW1wb3J0YW50fS5yb3VuZGVkLXQtMnhse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLWIteGx7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LmJvcmRlci1kYXNoZWR7LS10dy1ib3JkZXItc3R5bGU6ZGFzaGVkO2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ib3JkZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcil9LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRlc3RydWN0aXZlXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kZXN0cnVjdGl2ZVxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1pbnB1dFxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1wcmltYXJ5e2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXJlZC01MDApNDAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1zdWNjZXNzXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXN1Y2Nlc3NcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxcW1xcIzIyOUVEOVxcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcXC84MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmFja2dyb3VuZFxcLzgwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWJhY2tncm91bmQpODAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXFwvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1xcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWJsYWNrKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1xcLzUwe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDgwfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmxhY2tcXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclxcLzV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kYW5nZXIpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGFuZ2VyXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kYW5nZXIpNSUsdHJhbnNwYXJlbnQpfX0uYmctZGVzdHJ1Y3RpdmUsLmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk1JSx0cmFuc3BhcmVudCl9fS5iZy1kZXN0cnVjdGl2ZVxcLzEwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGVzdHJ1Y3RpdmVcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWlucHV0XFwvMzB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5iZy1tdXRlZC1mb3JlZ3JvdW5kXFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcXC8yNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTI1JSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFxcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcXC80MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXFwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFxcLzUwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTUwJSx0cmFuc3BhcmVudCl9fS5iZy1wb3BvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tcG9wb3Zlcil9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeVxcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk1JSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1zdWNjZXNzXFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zdXJmYWNlLC5iZy1zdXJmYWNlXFwvOTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdXJmYWNlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1cmZhY2VcXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdhcm5pbmdcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXFwvMTV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTUlLHRyYW5zcGFyZW50KX19LmJnLWdyYWRpZW50LXRvLWJyey0tdHctZ3JhZGllbnQtcG9zaXRpb246dG8gYm90dG9tIHJpZ2h0IGluIG9rbGFiO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmZyb20tXFxbXFwjMzhBRkUzXFxdey0tdHctZ3JhZGllbnQtZnJvbTojMzhhZmUzOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmZyb20tXFxbXFwjMjI5RUQ5XFxdey0tdHctZ3JhZGllbnQtZnJvbTojMjI5ZWQ5Oy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LnRvLVxcW1xcIzFGOTdDQVxcXXstLXR3LWdyYWRpZW50LXRvOiMxZjk3Y2E7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFxbXFwjMWE3ZmIwXFxdey0tdHctZ3JhZGllbnQtdG86IzFhN2ZiMDstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS5iZy1jbGlwLXBhZGRpbmd7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXFwuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wLTF7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wLTJ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wLTN7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wLTR7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5wLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wLTEye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnAtXFxbM3B4XFxde3BhZGRpbmc6M3B4fS5weC0xe3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB4LTFcXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXFwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHktMntwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMil9LnB5LTJcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1xcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnB5LTR7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weS02e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHktOHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnB5LTEwe3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnB5LTEye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnB5LTE2e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnB0LTJ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHQtM3twYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wdC00e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB0LTZ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHItMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnByLTR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wci04e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHItMTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wYi04e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBiLTEwe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5wYi0xNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucGwtMVxcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucGwtMntwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGwtNXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucGwtOHtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGwtOXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9udC1tb25ve2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLFwiSW50ZXJcIix1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTJ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS50ZXh0LTR4bHtmb250LXNpemU6dmFyKC0tdGV4dC00eGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTZ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC1iYXNle2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWJhc2UpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodCkpfS50ZXh0LWxne2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWxnKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtbGctLWxpbmUtaGVpZ2h0KSl9LnRleHQtc217Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0udGV4dC14bHtmb250LXNpemU6dmFyKC0tdGV4dC14bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXhsLS1saW5lLWhlaWdodCkpfS50ZXh0LXhze2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9LnRleHQtXFxbMFxcLjhyZW1cXF17Zm9udC1zaXplOi44cmVtfS50ZXh0LVxcWzEwcHhcXF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFxbMTFweFxcXXtmb250LXNpemU6MTFweH0ubGVhZGluZy1ub25ley0tdHctbGVhZGluZzoxO2xpbmUtaGVpZ2h0OjF9LmxlYWRpbmctcmVsYXhlZHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy1yZWxheGVkKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpfS5sZWFkaW5nLXNudWd7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctc251Zyk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1zbnVnKX0ubGVhZGluZy10aWdodHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy10aWdodCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy10aWdodCl9LmZvbnQtYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1ub3JtYWx7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCl9LmZvbnQtc2VtaWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpfS50cmFja2luZy10aWdodHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXRpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy10aWdodCl9LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0udHJhY2tpbmctd2lkZXN0ey0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlc3QpfS5icmVhay1hbGx7d29yZC1icmVhazpicmVhay1hbGx9LndoaXRlc3BhY2Utbm9ybWFse3doaXRlLXNwYWNlOm5vcm1hbH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS53aGl0ZXNwYWNlLXByZS1saW5le3doaXRlLXNwYWNlOnByZS1saW5lfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS50ZXh0LVxcW1xcIzIyQzU1RVxcXXtjb2xvcjojMjJjNTVlfS50ZXh0LVxcW1xcIzIyOUVEOVxcXXtjb2xvcjojMjI5ZWQ5fS50ZXh0LVxcW1xcIzE4NzlBOFxcXXtjb2xvcjojMTg3OWE4fS50ZXh0LVxcW1xcI0VGNDQ0NFxcXXtjb2xvcjojZWY0NDQ0fS50ZXh0LWNhcmQtZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1jYXJkLWZvcmVncm91bmQpfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50ZXh0LWRlc3RydWN0aXZle2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0udGV4dC1mb3JlZ3JvdW5kLC50ZXh0LWZvcmVncm91bmRcXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWZvcmVncm91bmRcXC84MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC1tdXRlZC1mb3JlZ3JvdW5kXFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtb3JhbmdlLTUwMHtjb2xvcjp2YXIoLS1jb2xvci1vcmFuZ2UtNTAwKX0udGV4dC1wb3BvdmVyLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcG9wb3Zlci1mb3JlZ3JvdW5kKX0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLXByaW1hcnkpfS50ZXh0LXByaW1hcnktZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfS50ZXh0LXJlZC01MDB7Y29sb3I6dmFyKC0tY29sb3ItcmVkLTUwMCl9LnRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnRleHQtd2FybmluZ3tjb2xvcjp2YXIoLS13YXJuaW5nKX0udGV4dC13aGl0ZXtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnRleHQtd2hpdGVcXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXFwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXFwvOTB7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVxcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVxcLzk1e2NvbG9yOiNmZmZmZmZmMn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcXC85NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTUlLHRyYW5zcGFyZW50KX19LmNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS51bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS51bmRlcmxpbmUtb2Zmc2V0LTJ7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweH0udW5kZXJsaW5lLW9mZnNldC00e3RleHQtdW5kZXJsaW5lLW9mZnNldDo0cHh9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNDB7b3BhY2l0eTouNH0ub3BhY2l0eS01MHtvcGFjaXR5Oi41fS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9LmJnLWJsZW5kLWNvbG9ye2JhY2tncm91bmQtYmxlbmQtbW9kZTpjb2xvcn0uc2hhZG93ey0tdHctc2hhZG93OjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LWxney0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbWR7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZXstLXR3LXNoYWRvdzowIDAgIzAwMDA7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZVxcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZm9yZWdyb3VuZCkxMCUsdHJhbnNwYXJlbnQpfX0ucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTMwJSx0cmFuc3BhcmVudCl9fS5vdXRsaW5lLWhpZGRlbnstLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm91dGxpbmUtaGlkZGVue291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lOjJweCBzb2xpZCAjMDAwMH19Lm91dGxpbmV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1ci1zbXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cih2YXIoLS1ibHVyLXNtKSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1jb2xvcnN7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixvdXRsaW5lLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSwtLXR3LWdyYWRpZW50LWZyb20sLS10dy1ncmFkaWVudC12aWEsLS10dy1ncmFkaWVudC10bzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLW9wYWNpdHl7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tc2hhZG93e3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LmR1cmF0aW9uLTEwMHstLXR3LWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uZHVyYXRpb24tMTUwey0tdHctZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmR1cmF0aW9uLTIwMHstLXR3LWR1cmF0aW9uOi4yczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uZWFzZS1pbi1vdXR7LS10dy1lYXNlOnZhcigtLWVhc2UtaW4tb3V0KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1lYXNlLWluLW91dCl9LlxcW3dpbGwtY2hhbmdlXFw6dHJhbnNmb3JtXFxde3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0ub3V0bGluZS1ub25ley0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uc2VsZWN0LW5vbmV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnBhdXNlZHthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9LnJ1bm5pbmd7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZ30uZ3JvdXAtb3BlblxcOnJvdGF0ZS0xODA6aXMoOndoZXJlKC5ncm91cCk6aXMoW29wZW5dLDpwb3BvdmVyLW9wZW4sOm9wZW4pICope3JvdGF0ZToxODBkZWd9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXFw6dHJhbnNsYXRlLXgtMFxcLjU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5ncm91cC1ob3ZlclxcOmJnLW11dGVkOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5ncm91cC1ob3ZlclxcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcXDp0ZXh0LXdoaXRlOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uZ3JvdXAtaG92ZXJcXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9Lmdyb3VwLWhvdmVyXFw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXFwvZHJvcGRvd24tbWVudS1pdGVtXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtMTA6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtNjppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxcW3Nsb3RcXD1jb21tYW5kLXNob3J0Y3V0XFxdXFwvY29tbWFuZC1pdGVtXFw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cXFtcXFx1MDAzZWlucHV0XFxdXFwvaW5wdXQtZ3JvdXBcXDpwdC0yOmlzKDp3aGVyZSguZ3JvdXBcXC9pbnB1dC1ncm91cCk6aGFzKFx1MDAzZWlucHV0KSAqKXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1oYXMtXFxbXFxcdTAwM2VpbnB1dFxcXVxcL2lucHV0LWdyb3VwXFw6cGItMjppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApOmhhcyhcdTAwM2VpbnB1dCkgKil7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtjaGVja2VkXFw9dHJ1ZVxcXVxcL2NvbW1hbmQtaXRlbVxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pW2RhdGEtY2hlY2tlZD10cnVlXSAqKXtvcGFjaXR5OjF9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICopLC5ncm91cC1kYXRhLVxcW2Rpc2FibGVkXFw9dHJ1ZVxcXVxcL2lucHV0LWdyb3VwXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKil7b3BhY2l0eTouNX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOnNpemUtMlxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOnNpemUtMzppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyKVtkYXRhLXNpemU9bGddICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMyk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFxbc2l6ZVxcPXNtXFxdXFwvYXZhdGFyXFw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXJcXDp0ZXh0LXhzOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cC0zOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cHgtMzppcyg6d2hlcmUoLmdyb3VwXFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDp0ZXh0LXNtOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZ3JvdXAtZGF0YS1zZWxlY3RlZFxcL2NvbW1hbmQtaXRlbVxcOnRleHQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvY29tbWFuZC1pdGVtKTp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSkgKil7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDpoLTg6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDpoLWZpdDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXtoZWlnaHQ6Zml0LWNvbnRlbnR9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6dy1mdWxsOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope3dpZHRoOjEwMCV9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6ZmxleC1jb2w6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmp1c3RpZnktc3RhcnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnBlZXItZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSgucGVlcik6ZGlzYWJsZWR+Kil7b3BhY2l0eTouNX0uZmlsZVxcOmlubGluZS1mbGV4OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlXFw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVxcOmJvcmRlci0wOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uZmlsZVxcOmJnLXRyYW5zcGFyZW50OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5maWxlXFw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVxcOmZvbnQtbWVkaXVtOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZmlsZVxcOnRleHQtZm9yZWdyb3VuZDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LnBsYWNlaG9sZGVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcXDphYnNvbHV0ZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5hZnRlclxcOmluc2V0LTA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5hZnRlclxcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclxcOmJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmFmdGVyXFw6Ym9yZGVyLWJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5hZnRlclxcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclxcOm9wYWNpdHktMDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO29wYWNpdHk6MH0uYWZ0ZXJcXDptaXgtYmxlbmQtZGFya2VuOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5hZnRlclxcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDpib3R0b20tXFxbLTVweFxcXTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym90dG9tOi01cHh9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDphZnRlclxcOmgtMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDphZnRlclxcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6YWZ0ZXJcXDotcmlnaHQtMTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmFmdGVyXFw6dy0wXFwuNTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5mb2N1cy13aXRoaW5cXDpib3JkZXItcmluZzpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy13aXRoaW5cXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblxcOnJpbmctcmluZ1xcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXFw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXFwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTMwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJvcmRlci1wcmltYXJ5XFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpib3JkZXItcHJpbWFyeVxcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpib3JkZXItcmluZzpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmhvdmVyXFw6YmctYWNjZW50OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KX0uaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLW11dGVkOmhvdmVyLC5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTgwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLXByaW1hcnlcXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1wcmltYXJ5XFwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSkyMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLXNlY29uZGFyeVxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDp0ZXh0LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmhvdmVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmhvdmVye2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5ob3ZlclxcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcXDp1bmRlcmxpbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5ob3ZlclxcOnNoYWRvdy1sZzpob3ZlcnstLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcXDpiZy1hY2NlbnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2N1c1xcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5mb2N1c1xcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXMgKiksOmlzKC5ub3QtZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcXDpib3JkZXItZGVzdHJ1Y3RpdmVcXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLWRlc3RydWN0aXZlXFwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLXJpbmc6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTI6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTM6Zm9jdXMtdmlzaWJsZSwuZm9jdXMtdmlzaWJsZVxcOnJpbmctXFxbM3B4XFxdOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5mb2N1cy12aXNpYmxlXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLTE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVxcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLXByaW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOnZhcigtLXByaW1hcnkpfS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXFw6dHJhbnNsYXRlLXktcHg6YWN0aXZley0tdHctdHJhbnNsYXRlLXk6MXB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTpkaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZFxcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcXDpiZy10cmFuc3BhcmVudDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kaXNhYmxlZFxcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cXFtzbG90XFw9YnV0dG9uLWdyb3VwXFxdXFw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyl9OndoZXJlKFtkYXRhLXNsb3Q9Y29tYm9ib3gtY29udGVudF0pIC5pbi1kYXRhLVxcW3Nsb3RcXD1jb21ib2JveC1jb250ZW50XFxdXFw6Zm9jdXMtd2l0aGluXFw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cXFtzbG90XFw9Y29tYm9ib3gtY29udGVudFxcXVxcOmZvY3VzLXdpdGhpblxcOnJpbmctMDpmb2N1cy13aXRoaW57LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTp3aGVyZShbZGF0YS1zbG90PWRpYWxvZy1jb250ZW50XSkgLmluLWRhdGEtXFxbc2xvdFxcPWRpYWxvZy1jb250ZW50XFxdXFw6cm91bmRlZC1sZ1xcIXtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cykhaW1wb3J0YW50fS5oYXMtZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uaGFzLWRpc2FibGVkXFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLWVuZFxcXVxcOnByLTFcXC41OmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1lbmRcXF1cXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtZW5kXFxdXFw6cHItMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLXN0YXJ0XFxdXFw6cGwtMVxcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1zdGFydFxcXVxcOnBsLTI6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtc3RhcnRcXF1cXDpwbC0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1zdGFydF0pe3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtzbG90XFw9Y2FyZC1hY3Rpb25cXF1cXDpncmlkLWNvbHMtXFxbMWZyX2F1dG9cXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1hY3Rpb25dKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIGF1dG99Lmhhcy1kYXRhLVxcW3Nsb3RcXD1jYXJkLWRlc2NyaXB0aW9uXFxdXFw6Z3JpZC1yb3dzLVxcW2F1dG9fYXV0b1xcXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWRlc2NyaXB0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1yb3dzOmF1dG8gYXV0b30uaGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXD1pbnB1dC1ncm91cC1jb250cm9sXFxdXFw6Zm9jdXMtdmlzaWJsZVxcXVxcOmJvcmRlci1yaW5nOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpe2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy0zOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOmJvcmRlci1kZXN0cnVjdGl2ZTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctMzpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctZGVzdHJ1Y3RpdmVcXC8yMDpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9YmxvY2stZW5kXFxdXFxdXFw6aC1hdXRvOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOmZsZXgtY29sOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1ibG9jay1zdGFydFxcXVxcXVxcOmgtYXV0bzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6ZmxleC1jb2w6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFxbXFxcdTAwM2VidXR0b25cXF1cXDptci1cXFstMFxcLjNyZW1cXF06aGFzKFx1MDAzZWJ1dHRvbil7bWFyZ2luLXJpZ2h0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlYnV0dG9uXFxdXFw6bWwtXFxbLTBcXC4zcmVtXFxdOmhhcyhcdTAwM2VidXR0b24pe21hcmdpbi1sZWZ0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlaW1nXFw6Zmlyc3QtY2hpbGRcXF1cXDpwdC0wOmhhcyhcdTAwM2VpbWc6Zmlyc3QtY2hpbGQpe3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1yLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1sLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLWxlZnQ6LS4xNXJlbX0uaGFzLVxcW1xcXHUwMDNlc3ZnXFxdXFw6cC0wOmhhcyhcdTAwM2Vzdmcpe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxcW1xcXHUwMDNldGV4dGFyZWFcXF1cXDpoLWF1dG86aGFzKFx1MDAzZXRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFxcOnBvaW50ZXItZXZlbnRzLW5vbmVbYXJpYS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5hcmlhLWRpc2FibGVkXFw6b3BhY2l0eS01MFthcmlhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmFyaWEtZXhwYW5kZWRcXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXFw6Ymctc2Vjb25kYXJ5W2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5hcmlhLWV4cGFuZGVkXFw6dGV4dC1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmFyaWEtZXhwYW5kZWRcXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcXDpib3JkZXItZGVzdHJ1Y3RpdmVbYXJpYS1pbnZhbGlkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmFyaWEtaW52YWxpZFxcOnJpbmctMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5hcmlhLWludmFsaWRcXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5kYXRhLWVuZGluZy1zdHlsZVxcOm9wYWNpdHktMFtkYXRhLWVuZGluZy1zdHlsZV17b3BhY2l0eTowfS5kYXRhLWluc2V0XFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXFw6YmctYWNjZW50W2RhdGEtcG9wdXAtb3Blbl17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLXBvcHVwLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2RhdGEtcG9wdXAtb3Blbl17Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLXN0YXJ0aW5nLXN0eWxlXFw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpvcGFjaXR5LTUwW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3R0b20tMFtkYXRhLXNpZGU9Ym90dG9tXXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aC1hdXRvW2RhdGEtc2lkZT1ib3R0b21de2hlaWdodDphdXRvfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWJvdHRvbVxcXVxcOnNsaWRlLWluLWZyb20tdG9wLTJbZGF0YS1zaWRlPWJvdHRvbV17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6ZGF0YS1zdGFydGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPWlubGluZS1lbmRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1pbmxpbmUtc3RhcnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWlubGluZS1zdGFydF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6aW5zZXQteS0wW2RhdGEtc2lkZT1sZWZ0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpoLWZ1bGxbZGF0YS1zaWRlPWxlZnRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6dy0zXFwvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6Ym9yZGVyLXJbZGF0YS1zaWRlPWxlZnRde2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWxlZnRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9bGVmdFxcXVxcOmRhdGEtZW5kaW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLWVuZGluZy1zdHlsZV0sLmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDppbnNldC15LTBbZGF0YS1zaWRlPXJpZ2h0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnJpZ2h0LTBbZGF0YS1zaWRlPXJpZ2h0XXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnctM1xcLzRbZGF0YS1zaWRlPXJpZ2h0XXt3aWR0aDo3NSV9LmRhdGEtXFxbc2lkZVxcPXJpZ2h0XFxdXFw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9cmlnaHRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKi0xKX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS14LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmRhdGEtc3RhcnRpbmctc3R5bGVcXDp0cmFuc2xhdGUteC1cXFsyXFwuNXJlbVxcXVtkYXRhLXNpZGU9cmlnaHRdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXg6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6dG9wLTBbZGF0YS1zaWRlPXRvcF17dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmgtYXV0b1tkYXRhLXNpZGU9dG9wXXtoZWlnaHQ6YXV0b30uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yW2RhdGEtc2lkZT10b3Bdey0tdHctZW50ZXItdHJhbnNsYXRlLXk6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6ZGF0YS1lbmRpbmctc3R5bGVcXDp0cmFuc2xhdGUteS1cXFstMlxcLjVyZW1cXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXktXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT10b3BdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6LTIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxcW3NpemVcXD1sZ1xcXVxcOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6c2l6ZS02W2RhdGEtc2l6ZT1zbV17d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZGF0YS1cXFtzaXplXFw9c21cXF1cXDpnYXAtM1tkYXRhLXNpemU9c21de2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5kYXRhLVxcW3NpemVcXD1zbVxcXVxcOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6aGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMFtkYXRhLXNpemU9c21dOmhhcyhbZGF0YS1zbG90PWNhcmQtZm9vdGVyXSl7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctMlx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctYmFja2dyb3VuZFx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWlucHV0LWdyb3VwLWFkZG9uXFxdXFw6cGwtMlxcIVx1MDAzZSopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxcW3N0YXRlXFw9c2VsZWN0ZWRcXF1cXDpiZy1tdXRlZFtkYXRhLXN0YXRlPXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV17Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5kYXRhLVxcW3ZhcmlhbnRcXD1kZXN0cnVjdGl2ZVxcXVxcOmZvY3VzXFw6YmctZGVzdHJ1Y3RpdmVcXC8xMFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOnRleHQtZGVzdHJ1Y3RpdmVbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXDpyb3VuZGVkLW5vbmVbZGF0YS12YXJpYW50PWxpbmVde2JvcmRlci1yYWRpdXM6MH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dykpIG9yIChiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSl7LnN1cHBvcnRzLWJhY2tkcm9wLWZpbHRlclxcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5zbVxcOmhpZGRlbntkaXNwbGF5Om5vbmV9LnNtXFw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVxcOmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnNtXFw6aC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnNtXFw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cXDp3LWF1dG97d2lkdGg6YXV0b30uc21cXDptYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0uc21cXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uc21cXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9LnNtXFw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVxcOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXFw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVxcOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cXDpwLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5zbVxcOnAtNntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNil9LnNtXFw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnNtXFw6dGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS5zbVxcOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cXDp0ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1yaWdodF17bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9fUBtZWRpYSAobWluLXdpZHRoOjQ4cmVtKXsubWRcXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXFw6cmlnaHQtNHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmJvdHRvbS00e2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFxcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5tZFxcOm1pbi13LTB7bWluLXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1kXFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubWRcXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9Lm1kXFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWRcXDppdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5tZFxcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFxcOnBiLTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWRcXDp0ZXh0LXNte2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lm1kXFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXFw6c3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0ubGdcXDp0b3AtNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubGdcXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1xcOmhpZGRlbntkaXNwbGF5Om5vbmV9LmxnXFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LmxnXFw6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5sZ1xcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcXDpncmlkLWNvbHMtNXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLVxcWzFmcl8zNDBweFxcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDM0MHB4fS5sZ1xcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubGdcXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFxcOnctODB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9fS5kYXJrXFw6YmxvY2s6aXMoLmRhcmsgKil7ZGlzcGxheTpibG9ja30uZGFya1xcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLWlucHV0XFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhcmtcXDp0ZXh0LWdyZWVuLTQwMDppcyguZGFyayAqKXtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi00MDApfS5kYXJrXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXFw6cHJvc2UtaW52ZXJ0OmlzKC5kYXJrICopey0tdHctcHJvc2UtYm9keTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9keSk7LS10dy1wcm9zZS1oZWFkaW5nczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaGVhZGluZ3MpOy0tdHctcHJvc2UtbGVhZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGVhZCk7LS10dy1wcm9zZS1saW5rczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGlua3MpOy0tdHctcHJvc2UtYm9sZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9sZCk7LS10dy1wcm9zZS1jb3VudGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnMpOy0tdHctcHJvc2UtYnVsbGV0czp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0cyk7LS10dy1wcm9zZS1ocjp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaHIpOy0tdHctcHJvc2UtcXVvdGVzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZXMpOy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVycyk7LS10dy1wcm9zZS1jYXB0aW9uczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY2FwdGlvbnMpOy0tdHctcHJvc2Uta2JkOnZhcigtLXR3LXByb3NlLWludmVydC1rYmQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzKTstLXR3LXByb3NlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWNvZGUpOy0tdHctcHJvc2UtcHJlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlKTstLXR3LXByb3NlLXByZS1iZzp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWJnKTstLXR3LXByb3NlLXRoLWJvcmRlcnM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnMpOy0tdHctcHJvc2UtdGQtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVycyl9LmRhcmtcXDphZnRlclxcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1xcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcXDpob3ZlclxcOmJnLWlucHV0XFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aG92ZXJcXDpiZy1pbnB1dFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6aG92ZXJcXDpiZy1tdXRlZFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmhvdmVyXFw6YmctbXV0ZWRcXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhvdmVyXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX0uZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6ZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzgwOmlzKC5kYXJrICopOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRpc2FibGVkXFw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1xcOmhhcy1kaXNhYmxlZFxcOmJnLWlucHV0XFwvODA6aXMoLmRhcmsgKik6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLVxcW1xcW2RhdGEtc2xvdFxcXVxcW2FyaWEtaW52YWxpZFxcPXRydWVcXF1cXF1cXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6YXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOnJpbmctZGVzdHJ1Y3RpdmVcXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtXFxbdmFyaWFudFxcPWRlc3RydWN0aXZlXFxdXFw6Zm9jdXNcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1vcGVuXFw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmFuaW1hdGUtaW46d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YW5pbWF0aW9uOmVudGVyIHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXstLXR3LWVudGVyLW9wYWNpdHk6MH0uZGF0YS1vcGVuXFw6em9vbS1pbi05NTp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe2FuaW1hdGlvbjpleGl0IHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLWNsb3NlZFxcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcXDpvdmVyZmxvdy1oaWRkZW46d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe292ZXJmbG93OmhpZGRlbn0uZGF0YS1jbG9zZWRcXDpmYWRlLW91dC0wOndoZXJlKFtkYXRhLXN0YXRlPWNsb3NlZF0pLC5kYXRhLWNsb3NlZFxcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1zY2FsZTouOTV9LmRhdGEtc2VsZWN0ZWRcXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXRhLWRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFxcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZF06bm90KFtkYXRhLWRpc2FibGVkPWZhbHNlXSkpe29wYWNpdHk6LjV9LmRhdGEtYWN0aXZlXFw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDpiZy1iYWNrZ3JvdW5kOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfS5kYXRhLWFjdGl2ZVxcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmFmdGVyXFw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDphZnRlclxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSkpOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eToxfS5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXFw6Z3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6Ym9yZGVyLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjojMDAwMH0uZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGF0YS1ob3Jpem9udGFsXFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXFw6dy1mdWxsOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKXt3aWR0aDoxMDAlfS5kYXRhLWhvcml6b250YWxcXDpmbGV4LWNvbDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kYXRhLXZlcnRpY2FsXFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFxcOnNlbGYtc3RyZXRjaDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe2FsaWduLXNlbGY6c3RyZXRjaH0uXFxbXFxcdTAwMjZfYVxcXVxcOnRleHQtcHJpbWFyeSBhe2NvbG9yOnZhcigtLXByaW1hcnkpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm10LTYgaDN7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm1iLTIgaDN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOnRleHQtZm9yZWdyb3VuZCBoM3tjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZSBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6c2hyaW5rLTAgc3Zne2ZsZXgtc2hyaW5rOjB9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTMgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFxcdTAwMjZfc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtM1xcLjUgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTQgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uXFxbXFxcdTAwMjZfdHJcXF1cXDpib3JkZXItYiB0cntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LlxcW1xcXHUwMDI2X3RyXFw6bGFzdC1jaGlsZFxcXVxcOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxcXVxcOmhpZGRlbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1zY3JvbGxiYXJcXF1cXDpoaWRkZW46Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uXFxbXFxcdTAwMjZcXDpoYXNcXChcXFtyb2xlXFw9Y2hlY2tib3hcXF1cXClcXF1cXDpwci0wOmhhcyhbcm9sZT1jaGVja2JveF0pe3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uXFxbXFwuYm9yZGVyLWJcXF1cXDpwYi0yLmJvcmRlci1ie3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxcW1xcLmJvcmRlci1iXFxdXFw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDpcXFtcXC5ib3JkZXItYlxcXVxcOnBiLTM6aXMoOndoZXJlKC5ncm91cFxcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKikuYm9yZGVyLWJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFwuYm9yZGVyLXRcXF1cXDpwdC0yLmJvcmRlci10e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDpweC0yICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOnB5LTFcXC41ICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOmZvbnQtbWVkaXVtICopW2NtZGstZ3JvdXAtaGVhZGluZ117LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LW11dGVkLWZvcmVncm91bmQgKilbY21kay1ncm91cC1oZWFkaW5nXXtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDp1bmRlcmxpbmVcdTAwM2UqKTppcyhhKXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9OmlzKC5cXCpcXDpcXFthXFxdXFw6dW5kZXJsaW5lLW9mZnNldC0zXHUwMDNlKik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFxbYVxcXVxcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOmJnLW11dGVkOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5cXFthXFxdXFw6aG92ZXJcXDpiZy1wcmltYXJ5XFwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLXByaW1hcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zZWNvbmRhcnkpODAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDppcyhhKTpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDpob3ZlclxcOnRleHQtZm9yZWdyb3VuZFx1MDAzZSopOmlzKGEpOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX06aXMoLlxcKlxcOlxcW2ltZ1xcOmZpcnN0LWNoaWxkXFxdXFw6cm91bmRlZC10LXhsXHUwMDNlKik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXFwqXFw6XFxbaW1nXFw6bGFzdC1jaGlsZFxcXVxcOnJvdW5kZWQtYi14bFx1MDAzZSopOmlzKGltZzpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV1cdTAwM2UqKTppcyhzdmcpe2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX06aXMoLmRhdGEtc2VsZWN0ZWRcXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pXHUwMDNlKik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOlxcW1xcXHUwMDI2XFxcdTAwM2VpbnB1dFxcXVxcOnB0LTM6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLWVuZF0pXHUwMDNlaW5wdXR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGItMzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKVx1MDAzZWlucHV0e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1pbmxpbmUtZW5kXFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cHItMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1lbmRdKVx1MDAzZWlucHV0e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9aW5saW5lLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGwtMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1zdGFydF0pXHUwMDNlaW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFxbXFxcdTAwMjZcXFx1MDAzZWtiZFxcXVxcOnJvdW5kZWQtXFxbY2FsY1xcKHZhclxcKC0tcmFkaXVzXFwpLTVweFxcKVxcXVx1MDAzZWtiZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDVweCl9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lXHUwMDNlc3Zne3BvaW50ZXItZXZlbnRzOm5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTNcXCFcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnQ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMykhaW1wb3J0YW50fS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS00XHUwMDNlc3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5ncm91cC1oYXMtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXItZ3JvdXBcXDpcXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXItZ3JvdXApOmhhcyhbZGF0YS1zaXplPXNtXSkgKilcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICopXHUwMDNlc3ZnLC5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPXNtXSAqKVx1MDAzZXN2Z3tkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXDpub3RcXChcXFtjbGFzc1xcKlxcPVxcJ3NpemUtXFwnXFxdXFwpXFxdXFw6c2l6ZS0zXFwuNVx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtNFx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxcW1xcXHUwMDI2XFxcdTAwM2V0clxcXVxcOmxhc3RcXDpib3JkZXItYi0wXHUwMDNldHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MHN9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub3JtYWx9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vbmV9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItcm90YXRle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZW50ZXItc2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXRyYW5zbGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1ibHVye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXNjYWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtdHJhbnNsYXRlLXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH06cm9vdHstLWJhY2tncm91bmQ6I2ZmZjstLWZvcmVncm91bmQ6IzExMTgyNzstLWNhcmQ6I2Y5ZmFmYjstLWNhcmQtZm9yZWdyb3VuZDojMTExODI3Oy0tcG9wb3ZlcjojZmZmOy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojZjNmNGY2Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IzExMTgyNzstLW11dGVkOiNmM2Y0ZjY7LS1tdXRlZC1mb3JlZ3JvdW5kOiM2YjcyODA7LS1hY2NlbnQ6I2YzZjRmNjstLWFjY2VudC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiNlNWU3ZWI7LS1pbnB1dDojZTVlN2ViOy0tcmluZzojMDA3NGY1Oy0tcmFkaXVzOi41cmVtOy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiNmOWZhZmI7LS1zdXJmYWNlLTI6I2YzZjRmNjstLWNoYXJ0LTE6IzAwNzRmNTstLWNoYXJ0LTI6IzAwYjhhOTstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6I2Y5ZmFmYjstLXNpZGViYXItZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1wcmltYXJ5OiMwMDc0ZjU7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6I2YzZjRmNjstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLXNpZGViYXItYm9yZGVyOiNlNWU3ZWI7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX0uZGFya3stLWJhY2tncm91bmQ6IzBiMGYxOTstLWZvcmVncm91bmQ6I2Y5ZmFmYjstLWNhcmQ6IzExMTgyNzstLWNhcmQtZm9yZWdyb3VuZDojZjlmYWZiOy0tcG9wb3ZlcjojMTExODI3Oy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojMWYyOTM3Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6I2Y5ZmFmYjstLW11dGVkOiMxZjI5Mzc7LS1tdXRlZC1mb3JlZ3JvdW5kOiM5Y2EzYWY7LS1hY2NlbnQ6IzFmMjkzNzstLWFjY2VudC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiMzNzQxNTE7LS1pbnB1dDojMzc0MTUxOy0tcmluZzojMDA3NGY1Oy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiMxMTE4Mjc7LS1zdXJmYWNlLTI6IzFmMjkzNzstLWNoYXJ0LTE6IzNkOWFmZjstLWNoYXJ0LTI6IzMzYzliZDstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6IzExMTgyNzstLXNpZGViYXItZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1wcmltYXJ5OiMzZDlhZmY7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6IzFmMjkzNzstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLXNpZGViYXItYm9yZGVyOiMzNzQxNTE7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX1Aa2V5ZnJhbWVzIHRleHQtc2hpbW1lcnswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCV9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJX19LnRleHQtc2hpbW1lcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTQwJSx2YXIoLS1mb3JlZ3JvdW5kKTUwJSx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSk7Y29sb3I6IzAwMDA7YmFja2dyb3VuZC1zaXplOjIwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDthbmltYXRpb246MnMgbGluZWFyIGluZmluaXRlIHRleHQtc2hpbW1lcn1odG1sLmNjLWNvbnNlbnRlZCAuY29va2llLW5vdGljZXtkaXNwbGF5Om5vbmV9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUtentzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtcG9zaXRpb257c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6XCJcdTAwM2Njb2xvclx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtc3RvcHN7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb257c3ludGF4OlwiXHUwMDNjbGVuZ3RoLXBlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbntzeW50YXg6XCJcdTAwM2NsZW5ndGgtcGVyY2VudGFnZVx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6NTAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9ue3N5bnRheDpcIlx1MDAzY2xlbmd0aC1wZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6XCJcdTAwM2NwZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OlwiXHUwMDNjbGVuZ3RoXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOlwiXCJ9QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBwdWxzZXs1MCV7b3BhY2l0eTouNX19QGtleWZyYW1lcyBlbnRlcnswJXtvcGFjaXR5OnZhcigtLXR3LWVudGVyLW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS15LDApLDApc2NhbGUzZCh2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSlyb3RhdGUodmFyKC0tdHctZW50ZXItcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1lbnRlci1ibHVyLDApKX19QGtleWZyYW1lcyBleGl0e3Rve29wYWNpdHk6dmFyKC0tdHctZXhpdC1vcGFjaXR5LDEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCh2YXIoLS10dy1leGl0LXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWV4aXQtc2NhbGUsMSksdmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1leGl0LXJvdGF0ZSwwKSk7ZmlsdGVyOmJsdXIodmFyKC0tdHctZXhpdC1ibHVyLDApKX19XG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMDp7XCJQXCI6bnVsbCxcImJcIjpcIlMxSjJHRS1qQzlkRTl5aGE5aEFfdFwiLFwiY1wiOltcIlwiLFwid2lkZ2V0XCJdLFwicVwiOlwiXCIsXCJpXCI6ZmFsc2UsXCJmXCI6W1tbXCJcIix7XCJjaGlsZHJlblwiOltcIihlbWJlZClcIix7XCJjaGlsZHJlblwiOltcIndpZGdldFwiLHtcImNoaWxkcmVuXCI6W1wiX19QQUdFX19cIix7fV19XX1dfSxcIiR1bmRlZmluZWRcIixcIiR1bmRlZmluZWRcIix0cnVlXSxbW1wiJFwiLFwiJDFcIixcImNcIix7XCJjaGlsZHJlblwiOltbW1wiJFwiLFwic3R5bGVcIixcIjBcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3NcIixcImNoaWxkcmVuXCI6XCIkMlwifV0sW1wiJFwiLFwic3R5bGVcIixcIjFcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3NcIixcImNoaWxkcmVuXCI6XCIkM1wifV0sXCIkTDRcIl0sXCIkTDVcIl19XSx7XCJjaGlsZHJlblwiOltcIiRMNlwiLHtcImNoaWxkcmVuXCI6W1wiJEw3XCIse1wiY2hpbGRyZW5cIjpbXCIkTDhcIix7fSxudWxsLGZhbHNlLGZhbHNlXX0sbnVsbCxmYWxzZSxmYWxzZV19LG51bGwsZmFsc2UsZmFsc2VdfSxudWxsLGZhbHNlLGZhbHNlXSxcIiRMOVwiLGZhbHNlXV0sXCJtXCI6XCIkdW5kZWZpbmVkXCIsXCJHXCI6W1wiJGFcIixbXV0sXCJTXCI6dHJ1ZX1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJiOklbODM2NjEsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvYzBhNmFlNTE1ZjRkMjQ1ZC5qc1wiXSxcIlRoZW1lUHJvdmlkZXJcIl1cbmM6SVszMDk3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJkZWZhdWx0XCJdXG5kOklbOTkyOTksW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvOTUyNjIzODZkOGQ0YjZkZC5qc1wiXSxcImRlZmF1bHRcIl1cbmU6XCIkU3JlYWN0LnN1c3BlbnNlXCJcbmY6SVs3OTI5NCxbXCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy9kNzFiOTkyNjdiMDY2YjliLmpzXCJdLFwiV2lkZ2V0Q2xpZW50XCJdXG4xMDpJWzM2MzQ1LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJPdXRsZXRCb3VuZGFyeVwiXVxuMTI6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiVmlld3BvcnRCb3VuZGFyeVwiXVxuMTQ6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiTWV0YWRhdGFCb3VuZGFyeVwiXVxuNDpbXCIkXCIsXCJzY3JpcHRcIixcInNjcmlwdC0wXCIse1wic3JjXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCJhc3luY1wiOnRydWUsXCJub25jZVwiOlwiJHVuZGVmaW5lZFwifV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI1OltcIiRcIixcImh0bWxcIixudWxsLHtcImxhbmdcIjpcImVuXCIsXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIjp0cnVlLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaGVhZFwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwic2NyaXB0XCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwidHJ5e2lmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb2lubGliLWNvb2tpZS1jb25zZW50Jykpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjYy1jb25zZW50ZWQnKX19Y2F0Y2goZSl7fVwifX1dLFtcIiRcIixcImxpbmtcIixudWxsLHtcInJlbFwiOlwicHJlY29ubmVjdFwiLFwiaHJlZlwiOlwiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbVwiLFwiY3Jvc3NPcmlnaW5cIjpcIlwifV1dfV0sW1wiJFwiLFwiYm9keVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWRcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMYlwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOltbW1wiJFwiLFwidGl0bGVcIixudWxsLHtcImNoaWxkcmVuXCI6XCI0MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udEZhbWlseVwiOlwic3lzdGVtLXVpLFxcXCJTZWdvZSBVSVxcXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsXFxcIlNlZ29lIFVJIEVtb2ppXFxcIlwiLFwiaGVpZ2h0XCI6XCIxMDB2aFwiLFwidGV4dEFsaWduXCI6XCJjZW50ZXJcIixcImRpc3BsYXlcIjpcImZsZXhcIixcImZsZXhEaXJlY3Rpb25cIjpcImNvbHVtblwiLFwiYWxpZ25JdGVtc1wiOlwiY2VudGVyXCIsXCJqdXN0aWZ5Q29udGVudFwiOlwiY2VudGVyXCJ9LFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wiLFwibWFyZ2luXCI6XCIwIDIwcHggMCAwXCIsXCJwYWRkaW5nXCI6XCIwIDIzcHggMCAwXCIsXCJmb250U2l6ZVwiOjI0LFwiZm9udFdlaWdodFwiOjUwMCxcInZlcnRpY2FsQWxpZ25cIjpcInRvcFwiLFwibGluZUhlaWdodFwiOlwiNDlweFwifSxcImNoaWxkcmVuXCI6NDA0fV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wifSxcImNoaWxkcmVuXCI6W1wiJFwiLFwiaDJcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udFNpemVcIjoxNCxcImZvbnRXZWlnaHRcIjo0MDAsXCJsaW5lSGVpZ2h0XCI6XCI0OXB4XCIsXCJtYXJnaW5cIjowfSxcImNoaWxkcmVuXCI6XCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV19XV19XX1dXSxbXV0sXCJmb3JiaWRkZW5cIjpcIiR1bmRlZmluZWRcIixcInVuYXV0aG9yaXplZFwiOlwiJHVuZGVmaW5lZFwifV19XSxbXCIkXCIsXCJzY3JpcHRcIixudWxsLHtcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI6e1wiX19odG1sXCI6XCIoZnVuY3Rpb24oKXtmdW5jdGlvbiBsb2FkKCl7d2luZG93LmRhdGFMYXllcj13aW5kb3cuZGF0YUxheWVyfHxbXTt3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9O2d0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdHLVY4NFhQOFdHWFknKTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzLnNyYz0naHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLVY4NFhQOFdHWFknO3MuYXN5bmM9dHJ1ZTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfWZ1bmN0aW9uIHNjaGVkdWxlKCl7aWYoJ3JlcXVlc3RJZGxlQ2FsbGJhY2snaW4gd2luZG93KXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGxvYWQse3RpbWVvdXQ6MzAwMH0pfWVsc2V7c2V0VGltZW91dChsb2FkLDE1MDApfX1pZihkb2N1bWVudC5yZWFkeVN0YXRlPT09J2NvbXBsZXRlJyl7c2NoZWR1bGUoKX1lbHNle2FkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHNjaGVkdWxlLHtvbmNlOnRydWV9KX19KSgpO1wifX1dXX1dXX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiNjpbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W251bGwsW1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVwifV0sW1wiJFwiLFwiJExjXCIsbnVsbCx7XCJwYXJhbGxlbFJvdXRlcktleVwiOlwiY2hpbGRyZW5cIixcImVycm9yXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwiZXJyb3JTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJ0ZW1wbGF0ZVwiOltcIiRcIixcIiRMZFwiLG51bGwse31dLFwidGVtcGxhdGVTdHlsZXNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlU2NyaXB0c1wiOlwiJHVuZGVmaW5lZFwiLFwibm90Rm91bmRcIjpbW1tcIiRcIixcInRpdGxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiNDA0OiBUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpjaGlsZHJlbjpwcm9wczpjaGlsZHJlbjoxOnByb3BzOnN0eWxlXCIsXCJjaGlsZHJlblwiOjQwNH1dLFtcIiRcIixcImRpdlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJoMlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpjaGlsZHJlbjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XX1dXX1dfV1dLFtdXSxcImZvcmJpZGRlblwiOlwiJHVuZGVmaW5lZFwiLFwidW5hdXRob3JpemVkXCI6XCIkdW5kZWZpbmVkXCJ9XV1dfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI3OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbbnVsbCxbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOlwiJHVuZGVmaW5lZFwiLFwiZm9yYmlkZGVuXCI6XCIkdW5kZWZpbmVkXCIsXCJ1bmF1dGhvcml6ZWRcIjpcIiR1bmRlZmluZWRcIn1dXX1dXG44OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiJGVcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJExmXCIsbnVsbCx7fV19XSxbW1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMFwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvODAwZTgzNjE0NmQ2ZTdlYi5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dLFtcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTFcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzL2Q3MWI5OTI2N2IwNjZiOWIuanNcIixcImFzeW5jXCI6dHJ1ZSxcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XV0sW1wiJFwiLFwiJEwxMFwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkZVwiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YU91dGxldFwiLFwiY2hpbGRyZW5cIjpcIiRAMTFcIn1dfV1dfV1cbjk6W1wiJFwiLFwiJDFcIixcImhcIix7XCJjaGlsZHJlblwiOltudWxsLFtcIiRcIixcIiRMMTJcIixudWxsLHtcImNoaWxkcmVuXCI6XCIkTDEzXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImhpZGRlblwiOnRydWUsXCJjaGlsZHJlblwiOltcIiRcIixcIiRMMTRcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJGVcIixudWxsLHtcIm5hbWVcIjpcIk5leHQuTWV0YWRhdGFcIixcImNoaWxkcmVuXCI6XCIkTDE1XCJ9XX1dfV0sW1wiJFwiLFwibWV0YVwiLG51bGwse1wibmFtZVwiOlwibmV4dC1zaXplLWFkanVzdFwiLFwiY29udGVudFwiOlwiXCJ9XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjEzOltbXCIkXCIsXCJtZXRhXCIsXCIwXCIse1wiY2hhclNldFwiOlwidXRmLThcIn1dLFtcIiRcIixcIm1ldGFcIixcIjFcIix7XCJuYW1lXCI6XCJ2aWV3cG9ydFwiLFwiY29udGVudFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHZpZXdwb3J0LWZpdD1jb3ZlclwifV1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTY6SVsyMDQxNCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiSWNvbk1hcmtcIl1cbjExOm51bGxcbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxNTpbW1wiJFwiLFwidGl0bGVcIixcIjBcIix7XCJjaGlsZHJlblwiOlwiQ29pbmxpYiBXaWRnZXQgfCBDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxXCIse1wibmFtZVwiOlwiZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIyXCIse1wibmFtZVwiOlwia2V5d29yZHNcIixcImNvbnRlbnRcIjpcImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXJcIn1dLFtcIiRcIixcIm1ldGFcIixcIjNcIix7XCJuYW1lXCI6XCJyb2JvdHNcIixcImNvbnRlbnRcIjpcIm5vaW5kZXhcIn1dLFtcIiRcIixcIm1ldGFcIixcIjRcIix7XCJwcm9wZXJ0eVwiOlwib2c6dGl0bGVcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiNVwiLHtcInByb3BlcnR5XCI6XCJvZzpkZXNjcmlwdGlvblwiLFwiY29udGVudFwiOlwiVHJhY2sgcmVhbC10aW1lIGNyeXB0b2N1cnJlbmN5IHByaWNlcywgbWFya2V0IGNhcCwgY2hhcnRzLCBhbmQgcG9ydGZvbGlvLiBFeHBsb3JlIHRob3VzYW5kcyBvZiBjb2lucyBhbmQgZXhjaGFuZ2VzIHdpdGggQ29pbmxpYi5cIn1dLFtcIiRcIixcIm1ldGFcIixcIjZcIix7XCJwcm9wZXJ0eVwiOlwib2c6dXJsXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW9cIn1dLFtcIiRcIixcIm1ldGFcIixcIjdcIix7XCJwcm9wZXJ0eVwiOlwib2c6c2l0ZV9uYW1lXCIsXCJjb250ZW50XCI6XCJDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCI4XCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW8vb2cvZGVmYXVsdC5wbmdcIn1dLFtcIiRcIixcIm1ldGFcIixcIjlcIix7XCJwcm9wZXJ0eVwiOlwib2c6aW1hZ2U6d2lkdGhcIixcImNvbnRlbnRcIjpcIjEyMDBcIn1dLFtcIiRcIixcIm1ldGFcIixcIjEwXCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlOmhlaWdodFwiLFwiY29udGVudFwiOlwiNjMwXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxMVwiLHtcInByb3BlcnR5XCI6XCJvZzppbWFnZTphbHRcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTJcIix7XCJwcm9wZXJ0eVwiOlwib2c6dHlwZVwiLFwiY29udGVudFwiOlwid2Vic2l0ZVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTNcIix7XCJuYW1lXCI6XCJ0d2l0dGVyOmNhcmRcIixcImNvbnRlbnRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIn1dLFtcIiRcIixcIm1ldGFcIixcIjE0XCIse1wibmFtZVwiOlwidHdpdHRlcjp0aXRsZVwiLFwiY29udGVudFwiOlwiQ29pbmxpYiDigJQgQ3J5cHRvY3VycmVuY3kgUHJpY2VzLCBDaGFydHMgXHUwMDI2IE1hcmtldCBEYXRhXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNVwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNlwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6aW1hZ2VcIixcImNvbnRlbnRcIjpcImh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZ1wifV0sW1wiJFwiLFwibGlua1wiLFwiMTdcIix7XCJyZWxcIjpcImljb25cIixcImhyZWZcIjpcIi9mYXZpY29uLmljbz9mYXZpY29uLjM5MGUxMTA5Lmljb1wiLFwic2l6ZXNcIjpcIjQ4eDQ4XCIsXCJ0eXBlXCI6XCJpbWFnZS94LWljb25cIn1dLFtcIiRcIixcImxpbmtcIixcIjE4XCIse1wicmVsXCI6XCJhcHBsZS10b3VjaC1pY29uXCIsXCJocmVmXCI6XCIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmdcIn1dLFtcIiRcIixcIiRMMTZcIixcIjE5XCIse31dXVxuIl0pPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0iaHR0cHM6Ly9zdGF0aWMuY2xvdWRmbGFyZWluc2lnaHRzLmNvbS9iZWFjb24ubWluLmpzL3Y0NTEzMjI2Y2RhZTM0NzQ2YjRkZWRmMGI0ZGZhMDk5ZTE3ODE3OTE1MDk0OTYiIGludGVncml0eT0ic2hhNTEyLVpFOXBaYVVYTkQ2NnYzODBRVXRjaC81c0U5dFBGaDJ6ZzQ1cFIyUEIwQ1ZrQ3RPUkV2MkFKS2tTaWRJU1dreXNFdVEwRUg4ZmFVVTVkdTc4Yng4N1VRPT0iIGRhdGEtY2YtYmVhY29uPSd7InZlcnNpb24iOiIyMDI0LjExLjAiLCJ0b2tlbiI6IjdkZjcwOGZjZmFhMDRhNjRhYjNiNWU4NmUzMTBkZjVhIiwiciI6MX0nIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg=="}},"time_used":89,"timings":{"blocked":10,"dns":4,"connect":0,"send":0,"wait":70,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.260Z","timestamp":1785136427260,"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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css HTTP/1.1\r\nHost: www.gstatic.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 410583\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4819,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-11T11:38:13.450367Z","times_seen":19905,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":71,"timings":{"blocked":-1,"dns":6,"connect":16,"send":0,"wait":16,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.225Z","timestamp":1785136428225,"http_version":"HTTP/3","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":"*.google-analytics.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:33 GMT","end":"Mon, 21 Sep 2026 08:37:32 GMT"},"fingerprint":{"sha1":"85:82:80:E9:F0:BC:08:B5:D8:5D:91:B4:E5:D3:DB:B1:A7:2F:E3:F3","sha256":"E3:94:E9:DA:2C:F1:36:09:33:63:D3:69:08:E7:E6:91:8D:F3:61:7F:0F:D0:5F:8E:B6:E9:D7:F3:DD:10:3C:DC"}}},"request":{"raw":"GET /gtag/js?id=G-V84XP8WGXY HTTP/1.1\r\nHost: www.googletagmanager.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: application/javascript; charset=UTF-8\r\naccess-control-allow-origin: *\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control\r\ncontent-encoding: zstd\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\nexpires: Mon, 27 Jul 2026 07:13:48 GMT\r\ncache-control: private, max-age=900\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\nserver: Google Tag Manager\r\ncontent-length: 166346\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]}],"data":{"size":488553,"size_decoded":166930,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"2ca987f27dbee6434faaa87c0bb3775e","sha1":"1514e49aadd900d255d2b68832184a9475dbbd4c","sha256":"9ecf53ae7638eb4eae44692512062b0efde9485d80d3c4e073b71d8449325bed","sha512":"d1370434890d0efd043b9d565d6ce4a6f3b6f3fe8cd770692c994332b0792a035e68789e2d02c8f2387d5cc9003c3d1f5437f9566096b888338511cf11387ea2","ssdeep":"6144:/yH5RU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/85C1WLP69VwqxVZOvg","tlshash":"17a4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T07:02:55.664103Z","last_seen":"2026-07-27T14:57:18.250575Z","times_seen":250,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hFSThJT2Mwd1lRZ09tc2t2dWx4S3FSQVJJZEFMMlBZWmFzNEo1RE8vLzVIc2p6aTJxK1ZKU0NtVXAzTTJJUTZkWWFBckRPIiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTsKfSxoYT1jYSh0aGlzKSxpYT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCIsa2E9e30sbGE9e30sbmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXt2YXIgZD1sYVtiXTtpZihkPT1udWxsKXJldHVybiBhW2JdO3ZhciBlPWFbZF07cmV0dXJuIGUhPT12b2lkIDA/ZTphW2JdfX0sb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpYTp7dmFyIGQ9YS5zcGxpdCgiLiIpLGU9ZC5sZW5ndGg9PT0xLGY9ZFswXSxnOyFlJiZmIGluIGthP2c9a2E6Zz1oYTtmb3IodmFyIGg9MDtoPGQubGVuZ3RoLTE7aCsrKXt2YXIgbD1kW2hdO2lmKCEobCBpbiBnKSlicmVhayBhO2c9Z1tsXX12YXIgbj1kW2QubGVuZ3RoLTFdLHA9aWEmJmM9PT0iZXM2Ij9nW25dOm51bGwscT1iKHApO2lmKHEhPW51bGwpaWYoZSliYShrYSxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pO2Vsc2UgaWYocSE9PXApe2lmKGxhW25dPT09dm9pZCAwKXt2YXIgcj0KTWF0aC5yYW5kb20oKSoxRTk+Pj4wO2xhW25dPWlhP2hhLlN5bWJvbChuKToiJGpzY3AkIityKyIkIitufWJhKGcsbGFbbl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpxfSl9fX0scGE7aWYoaWEmJnR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpcGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHJhO2E6e3ZhciB0YT17YTohMH0sdWE9e307dHJ5e3VhLl9fcHJvdG9fXz10YTtyYT11YS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXJhPSExfXBhPXJhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYX06bnVsbH0KdmFyIHZhPXBhLHdhPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9YWEoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYodmEpdmEoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLkZ0PWIucHJvdG90eXBlfSx4YT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sbT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6eGEoYSl9Owp0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSx5YT1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTtyZXR1cm4gY30sdz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEFycmF5P2E6eWEobShhKSl9LEFhPWZ1bmN0aW9uKGEpe3JldHVybiB6YShhLGEpfSx6YT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9LEJhPWlhJiZ0eXBlb2YgbmEoT2JqZWN0LCJhc3NpZ24iKT09ImZ1bmN0aW9uIj9uYShPYmplY3QsImFzc2lnbiIpOmZ1bmN0aW9uKGEsYil7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBudWxsaXNoIGFyZyIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTsKaWYoZClmb3IodmFyIGUgaW4gZClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O29hKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmF9LCJlczYiKTt2YXIgQ2E9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRvciByZXN1bHQgIithKyIgaXMgbm90IGFuIG9iamVjdCIpO30sRGE9ZnVuY3Rpb24oKXt0aGlzLmZhPSExO3RoaXMuUj1udWxsO3RoaXMuamE9dm9pZCAwO3RoaXMuSD0xO3RoaXMuTj10aGlzLlo9MDt0aGlzLkxhPXRoaXMuSz1udWxsfSxFYT1mdW5jdGlvbihhKXtpZihhLmZhKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTthLmZhPSEwfTtEYS5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7dGhpcy5qYT1hfTsKdmFyIEdhPWZ1bmN0aW9uKGEsYil7YS5LPXthbzpiLGlzRXhjZXB0aW9uOiEwfTthLkg9YS5afHxhLk59O0RhLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O0RhLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmphfTtEYS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGEpe3RoaXMuSz17cmV0dXJuOmF9O3RoaXMuSD10aGlzLk59O0RhLnByb3RvdHlwZVsicmV0dXJuIl09RGEucHJvdG90eXBlLnJldHVybjtEYS5wcm90b3R5cGUuQWo9ZnVuY3Rpb24oYSl7dGhpcy5LPXtuZDphfTt0aGlzLkg9dGhpcy5OfTtEYS5wcm90b3R5cGUuanVtcFRocm91Z2hGaW5hbGx5QmxvY2tzPURhLnByb3RvdHlwZS5BajtEYS5wcm90b3R5cGUuYWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9YjtyZXR1cm57dmFsdWU6YX19O0RhLnByb3RvdHlwZS55aWVsZD1EYS5wcm90b3R5cGUuYWM7CkRhLnByb3RvdHlwZS54cz1mdW5jdGlvbihhLGIpe3ZhciBjPW0oYSksZD1jLm5leHQoKTtDYShkKTtpZihkLmRvbmUpdGhpcy5qYT1kLnZhbHVlLHRoaXMuSD1iO2Vsc2UgcmV0dXJuIHRoaXMuUj1jLHRoaXMuYWMoZC52YWx1ZSxiKX07RGEucHJvdG90eXBlLnlpZWxkQWxsPURhLnByb3RvdHlwZS54cztEYS5wcm90b3R5cGUubmQ9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O0RhLnByb3RvdHlwZS5qdW1wVG89RGEucHJvdG90eXBlLm5kO0RhLnByb3RvdHlwZS5Eaj1mdW5jdGlvbigpe3RoaXMuSD0wfTtEYS5wcm90b3R5cGUuanVtcFRvRW5kPURhLnByb3RvdHlwZS5EajtEYS5wcm90b3R5cGUuTmo9ZnVuY3Rpb24oYSxiKXt0aGlzLlo9YTtiIT12b2lkIDAmJih0aGlzLk49Yil9O0RhLnByb3RvdHlwZS5zZXRDYXRjaEZpbmFsbHlCbG9ja3M9RGEucHJvdG90eXBlLk5qO0RhLnByb3RvdHlwZS52Zz1mdW5jdGlvbihhKXt0aGlzLlo9MDt0aGlzLk49YXx8MH07CkRhLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLnZnO0RhLnByb3RvdHlwZS5Jaj1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuWj1ifHwwfTtEYS5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1EYS5wcm90b3R5cGUuSWo7RGEucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfHwwO3ZhciBiPXRoaXMuSy5hbzt0aGlzLks9bnVsbDtyZXR1cm4gYn07RGEucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1EYS5wcm90b3R5cGUuUGg7RGEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuTGFbY109dGhpcy5LOnRoaXMuTGE9W3RoaXMuS107dGhpcy5aPWF8fDA7dGhpcy5OPWJ8fDB9O0RhLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1EYS5wcm90b3R5cGUua2Q7CkRhLnByb3RvdHlwZS5oZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTGEuc3BsaWNlKGJ8fDApWzBdLGQ9dGhpcy5LPXRoaXMuS3x8YztkP2QuaXNFeGNlcHRpb24/dGhpcy5IPXRoaXMuWnx8dGhpcy5OOmQubmQhPXZvaWQgMCYmdGhpcy5OPGQubmQ/KHRoaXMuSD1kLm5kLHRoaXMuSz1udWxsKTp0aGlzLkg9dGhpcy5OOnRoaXMuSD1hfTtEYS5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLmhlO0RhLnByb3RvdHlwZS5mZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEhhKGEpfTtEYS5wcm90b3R5cGUuZm9ySW49RGEucHJvdG90eXBlLmZlO3ZhciBIYT1mdW5jdGlvbihhKXt0aGlzLks9YTt0aGlzLkg9W107Zm9yKHZhciBiIGluIGEpdGhpcy5ILnB1c2goYik7dGhpcy5ILnJldmVyc2UoKX07SGEucHJvdG90eXBlLmhvPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLkgubGVuZ3RoPjA7KXt2YXIgYT10aGlzLkgucG9wKCk7aWYoYSBpbiB0aGlzLkspcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpIYS5wcm90b3R5cGUuZ2V0TmV4dD1IYS5wcm90b3R5cGUuaG87CnZhciBJYT1mdW5jdGlvbihhKXt0aGlzLkg9bmV3IERhO3RoaXMuSz1hfSxMYT1mdW5jdGlvbihhLGIpe0VhKGEuSCk7dmFyIGM9YS5ILlI7aWYoYylyZXR1cm4gSmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5ILnJldHVybik7YS5ILnJldHVybihiKTtyZXR1cm4gS2EoYSl9LEphPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5ILlIsYyk7Q2EoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5ILmZhPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5ILlI9bnVsbCxHYShhLkgsZyksS2EoYSl9YS5ILlI9bnVsbDtkLmNhbGwoYS5ILGYpO3JldHVybiBLYShhKX0sS2E9ZnVuY3Rpb24oYSl7Zm9yKDthLkguSDspdHJ5e3ZhciBiPWEuSyhhLkgpO2lmKGIpcmV0dXJuIGEuSC5mYT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChkKXthLkguamE9dm9pZCAwLEdhKGEuSCwKZCl9YS5ILmZhPSExO2lmKGEuSC5LKXt2YXIgYz1hLkguSzthLkguSz1udWxsO2lmKGMuaXNFeGNlcHRpb24pdGhyb3cgYy5hbztyZXR1cm57dmFsdWU6Yy5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX0sTWE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe3ZhciBjO0VhKGEuSCk7YS5ILlI/Yz1KYShhLGEuSC5SLm5leHQsYixhLkgueWEpOihhLkgueWEoYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7dmFyIGM7RWEoYS5IKTthLkguUj9jPUphKGEsYS5ILlJbInRocm93Il0sYixhLkgueWEpOihHYShhLkgsYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBMYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LE5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hKG5ldyBJYShiKSk7dmEmJmEucHJvdG90eXBlJiZ2YShjLAphLnByb3RvdHlwZSk7cmV0dXJuIGN9LE9hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9LFFhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgUmE9dGhpc3x8c2VsZixTYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5GdD1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EubnY9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTt2YXIgVGE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmRhdGE9Yn07dmFyIFVhPWZ1bmN0aW9uKCl7dGhpcy5tYXA9e307dGhpcy5IPXt9fTtVYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcFsiZHVzdC4iK2FdfTtVYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9ImR1c3QuIithO3RoaXMuSC5oYXNPd25Qcm9wZXJ0eShjKXx8KHRoaXMubWFwW2NdPWIpfTtVYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eSgiZHVzdC4iK2EpfTtVYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPSJkdXN0LiIrYTt0aGlzLkguaGFzT3duUHJvcGVydHkoYil8fGRlbGV0ZSB0aGlzLm1hcFtiXX07CnZhciBWYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYS5tYXApaWYoYS5tYXAuaGFzT3duUHJvcGVydHkoZCkpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO3N3aXRjaChiKXtjYXNlIDE6Yy5wdXNoKGUpO2JyZWFrO2Nhc2UgMjpjLnB1c2goYS5tYXBbZF0pO2JyZWFrO2Nhc2UgMzpjLnB1c2goW2UsYS5tYXBbZF1dKX19cmV0dXJuIGN9O1VhLnByb3RvdHlwZS5GYT1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLDEpfTtVYS5wcm90b3R5cGUuaGM9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcywyKX07VWEucHJvdG90eXBlLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsMyl9O3ZhciBXYT1mdW5jdGlvbigpe307V2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7fTt2YXIgWGE9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9O3RoaXMucHJlZml4PSJndG0uIn07az1YYS5wcm90b3R5cGU7ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnZhbHVlW3RoaXMucHJlZml4K1N0cmluZyhhKV09Yn07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVbdGhpcy5wcmVmaXgrU3RyaW5nKGEpXX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWUuaGFzT3duUHJvcGVydHkodGhpcy5wcmVmaXgrU3RyaW5nKGEpKX07ay5kZWxldGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5wcmVmaXgrU3RyaW5nKGEpO3JldHVybiB0aGlzLnZhbHVlLmhhc093blByb3BlcnR5KGIpPyhkZWxldGUgdGhpcy52YWx1ZVtiXSwhMCk6ITF9O2suY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9fTsKay52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbiBjKCl7dmFyIGQsZSxmO3JldHVybiBOYShjLGZ1bmN0aW9uKGcpe3N3aXRjaChnLkgpe2Nhc2UgMTpnLnZnKDIpLGU9Zy5mZShhLnZhbHVlKTtjYXNlIDQ6aWYoKGQ9ZS5obygpKT09bnVsbCl7Zy5uZCgyKTticmVha31pZighYS52YWx1ZS5oYXNPd25Qcm9wZXJ0eShkKSl7Zy5uZCg0KTticmVha31mPVFhO3JldHVybiBnLmFjKGEudmFsdWVbZF0sOCk7Y2FzZSA4OmYoZy5qYSk7Zy5uZCg0KTticmVhaztjYXNlIDI6Zy5rZCgpLGcuaGUoMCl9fSl9KCl9O2hhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFhhLnByb3RvdHlwZSx7c2l6ZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLmxlbmd0aH19fSk7CmZ1bmN0aW9uIFlhKCl7dHJ5e2lmKE1hcClyZXR1cm4gbmV3IE1hcH1jYXRjaChhKXt9cmV0dXJuIG5ldyBYYX07dmFyIFphPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZXM9W119O1phLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZXMuaW5kZXhPZihhKT09PS0xJiZ0aGlzLnZhbHVlcy5wdXNoKGEpfTtaYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnZhbHVlcy5pbmRleE9mKGEpPi0xfTt2YXIgJGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmZhPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLlI9dGhpcy5LPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuTj1mdW5jdGlvbihkLGUsZil7cmV0dXJuIGQuYXBwbHkoZSxmKX07dGhpcy5IPVlhKCk7dmFyIGM7YTp7dHJ5e2lmKFNldCl7Yz1uZXcgU2V0O2JyZWFrIGF9fWNhdGNoKGQpe31jPW5ldyBaYX10aGlzLlo9Y307JGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2FiKHRoaXMsYSxiLCExKX07JGEucHJvdG90eXBlLlFoPWZ1bmN0aW9uKGEsYil7YWIodGhpcyxhLGIsITApfTt2YXIgYWI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5IYnx8YS5aLmhhcyhiKXx8KGQmJmEuWi5hZGQoYiksYS5ILnNldChiLGMpKX07az0kYS5wcm90b3R5cGU7Cmsuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLkguaGFzKGEpJiZ0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaGFzKGEpP3RoaXMucGFyZW50LnNldChhLGIpOnRoaXMuWi5oYXMoYSl8fHRoaXMuSC5zZXQoYSxiKSl9O2suZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkguaGFzKGEpP3RoaXMuSC5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLkguaGFzKGEpfHwhKCF0aGlzLnBhcmVudHx8IXRoaXMucGFyZW50LmhhcyhhKSl9O2sud2I9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgJGEodGhpcy5mYSx0aGlzKTt0aGlzLksmJmEuUWIodGhpcy5LKTthLnNkKHRoaXMuTik7YS51ZSh0aGlzLlIpO3JldHVybiBhfTtrLmplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmF9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5LPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTsKay5zZD1mdW5jdGlvbihhKXt0aGlzLk49YX07ay5Qaj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk59O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkhiPSEwfTtrLnVlPWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLnhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUn07dmFyIGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtkPUVycm9yLmNhbGwodGhpcyxhLm1lc3NhZ2UpO3RoaXMubWVzc2FnZT1kLm1lc3NhZ2U7InN0YWNrImluIGQmJih0aGlzLnN0YWNrPWQuc3RhY2spO3RoaXMudm89YTt0aGlzLlNuPWM9PT12b2lkIDA/ITE6Yzt0aGlzLks9W107dGhpcy5IPWJ9O3dhKGJiLEVycm9yKTt2YXIgY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBiYj9hOm5ldyBiYihhLHZvaWQgMCwhMCl9O3ZhciBkYj1ZYSgpO2Z1bmN0aW9uIGViKGEsYil7Zm9yKHZhciBjLGQ9bShiKSxlPWQubmV4dCgpOyFlLmRvbmUmJiEoYz1mYihhLGUudmFsdWUpLGMgaW5zdGFuY2VvZiBUYSk7ZT1kLm5leHQoKSk7cmV0dXJuIGN9ZnVuY3Rpb24gZmIoYSxiKXt0cnl7dmFyIGM9YlswXSxkPWIuc2xpY2UoMSksZT1TdHJpbmcoYyksZj1kYi5oYXMoZSk/ZGIuZ2V0KGUpOmEuZ2V0KGUpO2lmKCFmfHx0eXBlb2YgZi5pbnZva2UhPT0iZnVuY3Rpb24iKXRocm93IGNiKEVycm9yKCJBdHRlbXB0aW5nIHRvIGV4ZWN1dGUgbm9uLWZ1bmN0aW9uICIrYlswXSsiLiIpKTtyZXR1cm4gZi5hcHBseShhLGQpfWNhdGNoKGgpe3ZhciBnPWEuZm8oKTtnJiZnKGgsYi5jb250ZXh0P3tpZDpiWzBdLGxpbmU6Yi5jb250ZXh0LmxpbmV9Om51bGwpO3Rocm93IGg7fX07dmFyIGdiPWZ1bmN0aW9uKCl7dGhpcy5LPW5ldyBXYTt0aGlzLkg9bmV3ICRhKHRoaXMuSyl9O2s9Z2IucHJvdG90eXBlO2suamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTtrLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07ay5zZD1mdW5jdGlvbihhKXt0aGlzLkguc2QoYSl9O2suZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yayhbYV0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpfTtrLnJrPWZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9bShPYS5hcHBseSgwLGFyZ3VtZW50cykpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWE9ZmIodGhpcy5ILGMudmFsdWUpO3JldHVybiBhfTtrLkpxPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKSxjPXRoaXMuSC53YigpO2MudWUoYSk7Zm9yKHZhciBkLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlkPWZiKGMsZi52YWx1ZSk7cmV0dXJuIGR9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07dmFyIGhiPWZ1bmN0aW9uKGEsYil7dGhpcy5SPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLk49dGhpcy5IPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuSz1mdW5jdGlvbihjLGQsZSl7cmV0dXJuIGMuYXBwbHkoZCxlKX07dGhpcy52YWx1ZXM9bmV3IFVhfTtoYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7amIodGhpcyxhLGIsITEpfTtoYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oYSxiKXtqYih0aGlzLGEsYiwhMCl9O3ZhciBqYj1mdW5jdGlvbihhLGIsYyxkKXtpZighYS5IYilpZihkKXt2YXIgZT1hLnZhbHVlcztlLnNldChiLGMpO2UuSFsiZHVzdC4iK2JdPSEwfWVsc2UgYS52YWx1ZXMuc2V0KGIsYyl9O2s9aGIucHJvdG90eXBlO2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLnZhbHVlcy5oYXMoYSkmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5oYXMoYSk/dGhpcy5wYXJlbnQuc2V0KGEsYik6dGhpcy52YWx1ZXMuc2V0KGEsYikpfTsKay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhhKT90aGlzLnZhbHVlcy5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLnZhbHVlcy5oYXMoYSl8fCEoIXRoaXMucGFyZW50fHwhdGhpcy5wYXJlbnQuaGFzKGEpKX07ay53Yj1mdW5jdGlvbigpe3ZhciBhPW5ldyBoYih0aGlzLlIsdGhpcyk7dGhpcy5IJiZhLlFiKHRoaXMuSCk7YS5zZCh0aGlzLkspO2EudWUodGhpcy5OKTtyZXR1cm4gYX07ay5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IfTtrLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSz1hfTtrLlBqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS307ay5aYT1mdW5jdGlvbigpe3RoaXMuSGI9ITB9O2sudWU9ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2sueGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTt2YXIga2I9ZnVuY3Rpb24oKXt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhfTtrPWtiLnByb3RvdHlwZTtrLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5nZXQoYSl9O2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5OYXx8dGhpcy5sYS5zZXQoYSxiKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuaGFzKGEpfTtrLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5GYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLkZhKCl9O2suaGM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5oYygpfTtrLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuZmMoKX07ay5aYT1mdW5jdGlvbigpe3RoaXMuTmE9ITB9O2suSGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OYX07ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGE9bWIsYj17fSxjPTA7YzxhLmxlbmd0aDsrK2MpYlthW2NdXT1jO3JldHVybiBifWZ1bmN0aW9uIG5iKCl7dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjthKz1hLnRvTG93ZXJDYXNlKCkrIjAxMjM0NTY3ODktXyI7cmV0dXJuIGErIi4ifXZhciBtYixvYjtmdW5jdGlvbiBwYihhKXttYj1tYnx8bmIoKTtvYj1vYnx8bGIoKTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7Yys9Myl7dmFyIGQ9YysxPGEubGVuZ3RoLGU9YysyPGEubGVuZ3RoLGY9YS5jaGFyQ29kZUF0KGMpLGc9ZD9hLmNoYXJDb2RlQXQoYysxKTowLGg9ZT9hLmNoYXJDb2RlQXQoYysyKTowLGw9Zj4+MixuPShmJjMpPDw0fGc+PjQscD0oZyYxNSk8PDJ8aD4+NixxPWgmNjM7ZXx8KHE9NjQsZHx8KHA9NjQpKTtiLnB1c2gobWJbbF0sbWJbbl0sbWJbcF0sbWJbcV0pfXJldHVybiBiLmpvaW4oIiIpfQpmdW5jdGlvbiBxYihhKXtmdW5jdGlvbiBiKGwpe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBuPWEuY2hhckF0KGQrKykscD1vYltuXTtpZihwIT1udWxsKXJldHVybiBwO2lmKCEvXltcc1x4YTBdKiQvLnRlc3QobikpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrbik7fXJldHVybiBsfW1iPW1ifHxuYigpO29iPW9ifHxsYigpO2Zvcih2YXIgYz0iIixkPTA7Oyl7dmFyIGU9YigtMSksZj1iKDApLGc9Yig2NCksaD1iKDY0KTtpZihoPT09NjQmJmU9PT0tMSlyZXR1cm4gYztjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDJ8Zj4+NCk7ZyE9PTY0JiYoYys9U3RyaW5nLmZyb21DaGFyQ29kZShmPDw0JjI0MHxnPj4yKSxoIT09NjQmJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGc8PDYmMTkyfGgpKSl9fTt2YXIgcmI9e307ZnVuY3Rpb24gc2IoYSxiKXt2YXIgYz1yYlthXTtjfHwoYz1yYlthXT1bXSk7Y1tiXT0hMH1mdW5jdGlvbiB0Yigpe2RlbGV0ZSByYi5HQTRfRVZFTlR9ZnVuY3Rpb24gdWIoKXt2YXIgYT12Yi5ILnNsaWNlKCk7cmIuR1RBR19FVkVOVF9GRUFUVVJFX0NIQU5ORUw9YX1mdW5jdGlvbiB3YihhKXtmb3IodmFyIGI9W10sYz0wLGQ9MDtkPGEubGVuZ3RoO2QrKylkJTg9PT0wJiZkPjAmJihiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSksYz0wKSxhW2RdJiYoY3w9MTw8ZCU4KTtjPjAmJmIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKTtyZXR1cm4gcGIoYi5qb2luKCIiKSkucmVwbGFjZSgvXC4rJC8sIiIpfTtmdW5jdGlvbiB4Yigpe31mdW5jdGlvbiB5YihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIHpiKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIEFiKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiYhaXNOYU4oYSl9ZnVuY3Rpb24gQmIoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19ZnVuY3Rpb24gQ2IoYSxiKXtpZihhJiZBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmIoYVtjXSkpcmV0dXJuIGFbY119ZnVuY3Rpb24gRGIoYSxiKXtpZighQWIoYSl8fCFBYihiKXx8YT5iKWE9MCxiPTIxNDc0ODM2NDc7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooYi1hKzEpK2EpfQpmdW5jdGlvbiBFYihhLGIpe2Zvcih2YXIgYz1uZXcgRmIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWMuc2V0KGFbZF0sITApO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGMuZ2V0KGJbZV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEdiKGEsYil7Zm9yKHZhciBjIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYykmJmIoYyxhW2NdKX1mdW5jdGlvbiBIYihhKXtyZXR1cm4hIWEmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBBcmd1bWVudHNdInx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImNhbGxlZSIpKX1mdW5jdGlvbiBJYihhKXtyZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIoYSkpfHwwfWZ1bmN0aW9uIEpiKGEpe3JldHVybiJmYWxzZSI9PT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKT8hMTohIWF9CmZ1bmN0aW9uIEtiKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKFN0cmluZyhhW2NdKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGIoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik6IiJ9ZnVuY3Rpb24gTWIoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSl9ZnVuY3Rpb24gTmIoKXtyZXR1cm4gTWIoKS5nZXRUaW1lKCl9dmFyIEZiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9Imd0bS4iO3RoaXMudmFsdWVzPXt9fTtGYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV09Yn07RmIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV19O0ZiLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoYSkhPT12b2lkIDB9OwpmdW5jdGlvbiBPYihhLGIsYyl7cmV0dXJuIGEmJmEuaGFzT3duUHJvcGVydHkoYik/YVtiXTpjfWZ1bmN0aW9uIFBiKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPXZvaWQgMDt0cnl7YygpfWNhdGNoKGQpe319fX1mdW5jdGlvbiBRYihhLGIpe2Zvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHkoYykmJihhW2NdPWJbY10pfWZ1bmN0aW9uIFJiKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyljLnB1c2goYVtkXSksYy5wdXNoLmFwcGx5KGMsYlthW2RdXXx8W10pO3JldHVybiBjfWZ1bmN0aW9uIFNiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoMCxiLmxlbmd0aCk9PT1ifWZ1bmN0aW9uIFRiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoYS5sZW5ndGgtYi5sZW5ndGgsYS5sZW5ndGgpPT09Yn0KZnVuY3Rpb24gVWIoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPWEsZT0wO2U8Yi5sZW5ndGgtMTtlKyspe2lmKCFkLmhhc093blByb3BlcnR5KGJbZV0pKXJldHVybjtkPWRbYltlXV07aWYoYy5pbmRleE9mKGQpPj0wKXJldHVybn1yZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYz17fSxkPWMsZT1hLnNwbGl0KCIuIiksZj0wO2Y8ZS5sZW5ndGgtMTtmKyspZD1kW2VbZl1dPXt9O2RbZVtlLmxlbmd0aC0xXV09YjtyZXR1cm4gY312YXIgV2I9L15cd3sxLDl9JC87ZnVuY3Rpb24gWWIoYSxiKXthPWF8fHt9O2I9Ynx8IiwiO3ZhciBjPVtdO0diKGEsZnVuY3Rpb24oZCxlKXtXYi50ZXN0KGQpJiZlJiZjLnB1c2goZCl9KTtyZXR1cm4gYy5qb2luKGIpfQpmdW5jdGlvbiBaYihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hLmNoYXJDb2RlQXQoYyk7ZDwxMjg/Yi5wdXNoKGQpOmQ8MjA0OD9iLnB1c2goMTkyfGQ+PjYsMTI4fGQmNjMpOmQ8NTUyOTZ8fGQ+PTU3MzQ0P2IucHVzaCgyMjR8ZD4+MTIsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpOihkPTY1NTM2KygoZCYxMDIzKTw8MTB8YS5jaGFyQ29kZUF0KCsrYykmMTAyMyksYi5wdXNoKDI0MHxkPj4xOCwxMjh8ZD4+MTImNjMsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9ZnVuY3Rpb24gJGIoYSl7aWYoIWEpcmV0dXJuIGE7dmFyIGI9YTt0cnl7Yj1kZWNvZGVVUklDb21wb25lbnQoYSl9Y2F0Y2goZCl7fXZhciBjPWIuc3BsaXQoIiwiKTtyZXR1cm4gYy5sZW5ndGg9PT0yJiZjWzBdPT09Y1sxXT9jWzBdOmF9CmZ1bmN0aW9uIGFjKGEsYixjKXtmdW5jdGlvbiBkKG4pe3ZhciBwPW4uc3BsaXQoIj0iKVswXTtpZihhLmluZGV4T2YocCk8MClyZXR1cm4gbjtpZihjIT09dm9pZCAwKXJldHVybiBwKyI9IitjfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uc3BsaXQoIiYiKS5tYXAoZCkuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiBwIT09dm9pZCAwfSkuam9pbigiJiIpfXZhciBmPWIuaHJlZi5zcGxpdCgvWz8jXS8pWzBdLGc9Yi5zZWFyY2gsaD1iLmhhc2g7Z1swXT09PSI/IiYmKGc9Zy5zdWJzdHJpbmcoMSkpO2hbMF09PT0iIyImJihoPWguc3Vic3RyaW5nKDEpKTtnPWUoZyk7aD1lKGgpO2chPT0iIiYmKGc9Ij8iK2cpO2ghPT0iIiYmKGg9IiMiK2gpO3ZhciBsPSIiK2YrZytoO2xbbC5sZW5ndGgtMV09PT0iLyImJihsPWwuc3Vic3RyaW5nKDAsbC5sZW5ndGgtMSkpO3JldHVybiBsfQpmdW5jdGlvbiBiYyhhKXtmb3IodmFyIGI9MDtiPDM7KytiKXRyeXt2YXIgYz1kZWNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvXCsvZywiICIpO2lmKGM9PT1hKWJyZWFrO2E9Y31jYXRjaChkKXtyZXR1cm4iIn1yZXR1cm4gYX1mdW5jdGlvbiBjYygpe3ZhciBhPUEsYjthOnt2YXIgYz1hLmNyeXB0b3x8YS5tc0NyeXB0bztpZihjJiZjLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoMjUpO2MuZ2V0UmFuZG9tVmFsdWVzKGQpO2I9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx3KGQpKSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKTticmVhayBhfWNhdGNoKGUpe31iPXZvaWQgMH1yZXR1cm4gYn07LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGRjPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLGVjO2Z1bmN0aW9uIGZjKCl7dmFyIGE9bnVsbDtpZighZGMpcmV0dXJuIGE7dHJ5e3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybiBjfTthPWRjLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYyl7fXJldHVybiBhfWZ1bmN0aW9uIGhjKCl7ZWM9PT12b2lkIDAmJihlYz1mYygpKTtyZXR1cm4gZWN9O3ZhciBpYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07aWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07ZnVuY3Rpb24gamMoYSl7dmFyIGI9YSxjPWhjKCksZD1jP2MuY3JlYXRlU2NyaXB0VVJMKGIpOmI7cmV0dXJuIG5ldyBpYyhkKX1mdW5jdGlvbiBrYyhhKXtpZihhIGluc3RhbmNlb2YgaWMpcmV0dXJuIGEuSDt0aHJvdyBFcnJvcigiIik7fTt2YXIgbGM9QWEoWyIiXSksbWM9emEoWyJceDAwIl0sWyJcXDAiXSksbmM9emEoWyJcbiJdLFsiXFxuIl0pLG9jPXphKFsiXHgwMCJdLFsiXFx1MDAwMCJdKTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gYS50b1N0cmluZygpLmluZGV4T2YoImAiKT09PS0xfXBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKGxjKX0pfHxwYyhmdW5jdGlvbihhKXtyZXR1cm4gYShtYyl9KXx8cGMoZnVuY3Rpb24oYSl7cmV0dXJuIGEobmMpfSl8fHBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKG9jKX0pO3ZhciBxYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07cWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSH07dmFyIHJjPWZ1bmN0aW9uKGEpe3RoaXMuSnM9YX07ZnVuY3Rpb24gc2MoYSl7cmV0dXJuIG5ldyByYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgdGM9W3NjKCJkYXRhIiksc2MoImh0dHAiKSxzYygiaHR0cHMiKSxzYygibWFpbHRvIiksc2MoImZ0cCIpLG5ldyByYyhmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldO2Z1bmN0aW9uIHVjKGEpe3ZhciBiO2I9Yj09PXZvaWQgMD90YzpiO2lmKGEgaW5zdGFuY2VvZiBxYylyZXR1cm4gYTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgcmMmJmQuSnMoYSkpcmV0dXJuIG5ldyBxYyhhKX19dmFyIHZjPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7CmZ1bmN0aW9uIHdjKGEpe3ZhciBiO2lmKGEgaW5zdGFuY2VvZiBxYylpZihhIGluc3RhbmNlb2YgcWMpYj1hLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7ZWxzZSBiPXZjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGJ9O2Z1bmN0aW9uIHhjKGEsYil7dmFyIGM9d2MoYik7YyE9PXZvaWQgMCYmKGEuYWN0aW9uPWMpfTtmdW5jdGlvbiB5YyhhLGIpe3Rocm93IEVycm9yKGI9PT12b2lkIDA/InVuZXhwZWN0ZWQgdmFsdWUgIithKyIhIjpiKTt9O3ZhciB6Yz1mdW5jdGlvbihhKXt0aGlzLkg9YX07emMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07dmFyIEJjPWZ1bmN0aW9uKCl7dGhpcy5IPUFjWzBdLnRvTG93ZXJDYXNlKCl9O0JjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O2Z1bmN0aW9uIENjKGEsYil7dmFyIGM9W25ldyBCY107aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCIiKTt2YXIgZD1jLm1hcChmdW5jdGlvbihmKXt2YXIgZztpZihmIGluc3RhbmNlb2YgQmMpZz1mLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGd9KSxlPWIudG9Mb3dlckNhc2UoKTtpZihkLmV2ZXJ5KGZ1bmN0aW9uKGYpe3JldHVybiBlLmluZGV4T2YoZikhPT0wfSkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiJytiKyciIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZShiLCJ0cnVlIil9O3ZhciBEYz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9OyJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwKIklOUFVUIl0pO2Z1bmN0aW9uIEVjKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTt2YXIgQT13aW5kb3csRmM9W10sR2M9d2luZG93Lmhpc3RvcnksQj1kb2N1bWVudCxIYz1uYXZpZ2F0b3I7ZnVuY3Rpb24gSWMoKXt2YXIgYTt0cnl7YT1IYy5zZXJ2aWNlV29ya2VyfWNhdGNoKGIpe3JldHVybn1yZXR1cm4gYX12YXIgSmM9Qi5jdXJyZW50U2NyaXB0LEtjPUpjJiZKYy5zcmM7ZnVuY3Rpb24gTWMoYSxiKXt2YXIgYz1BLGQ9Y1thXTtjW2FdPWQ9PT12b2lkIDA/YjpkO3JldHVybiBjW2FdfWZ1bmN0aW9uIE5jKGEpe3JldHVybihIYy51c2VyQWdlbnR8fCIiKS5pbmRleE9mKGEpIT09LTF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gTmMoIkZpcmVmb3giKXx8TmMoIkZ4aU9TIil9ZnVuY3Rpb24gUGMoKXtyZXR1cm4oTmMoIkdTQSIpfHxOYygiR29vZ2xlQXBwIikpJiYoTmMoImlQaG9uZSIpfHxOYygiaVBhZCIpKX1mdW5jdGlvbiBRYygpe3JldHVybiBOYygiRWRnLyIpfHxOYygiRWRnQS8iKXx8TmMoIkVkZ2lPUy8iKX0KdmFyIFJjPXthc3luYzoxLG5vbmNlOjEsb25lcnJvcjoxLG9ubG9hZDoxLHNyYzoxLHR5cGU6MX0sU2M9e2hlaWdodDoxLG9ubG9hZDoxLHNyYzoxLHN0eWxlOjEsd2lkdGg6MX07ZnVuY3Rpb24gVGMoYSxiLGMpe2ImJkdiKGIsZnVuY3Rpb24oZCxlKXtkPWQudG9Mb3dlckNhc2UoKTtjLmhhc093blByb3BlcnR5KGQpfHxhLnNldEF0dHJpYnV0ZShkLGUpfSl9CmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7dmFyIGY9Qi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtUYyhmLGQsUmMpO2YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtmLmFzeW5jPWQmJmQuYXN5bmM9PT0hMT8hMTohMDt2YXIgZztnPWpjKEVjKGEpKTtmLnNyYz1rYyhnKTt2YXIgaCxsPWYub3duZXJEb2N1bWVudDtsPWw9PT12b2lkIDA/ZG9jdW1lbnQ6bDt2YXIgbixwLHE9KHA9KG49bCkucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOnAuY2FsbChuLCJzY3JpcHRbbm9uY2VdIik7KGg9cT09bnVsbD8iIjpxLm5vbmNlfHxxLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiIpJiZmLnNldEF0dHJpYnV0ZSgibm9uY2UiLGgpO2ImJihmLm9ubG9hZD1iKTtjJiYoZi5vbmVycm9yPWMpO2U/ZS5hcHBlbmRDaGlsZChmKTpWYy5CcyhmKTtyZXR1cm4gZn0KZnVuY3Rpb24gV2MoKXtpZihLYyl7dmFyIGE9S2MudG9Mb3dlckNhc2UoKTtpZihhLmluZGV4T2YoImh0dHBzOi8vIik9PT0wKXJldHVybiAyO2lmKGEuaW5kZXhPZigiaHR0cDovLyIpPT09MClyZXR1cm4gM31yZXR1cm4gMX1mdW5jdGlvbiBYYyhhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPyEwOmY7dmFyIGc9ZSxoPSExO2d8fChnPUIuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaD0hMCk7VGMoZyxjLFNjKTtkJiZHYihkLGZ1bmN0aW9uKG4scCl7Zy5kYXRhc2V0W25dPXB9KTtmJiYoZy5oZWlnaHQ9IjAiLGcud2lkdGg9IjAiLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKTthIT09dm9pZCAwJiYoZy5zcmM9YSk7aWYoaCl7dmFyIGw9Qi5ib2R5JiZCLmJvZHkubGFzdENoaWxkfHxCLmJvZHl8fEIuaGVhZDtsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsbCl9YiYmKGcub25sb2FkPWIpO3JldHVybiBnfQpmdW5jdGlvbiBaYygpe3JldHVybiBWYy5Fci5hcHBseShWYyx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfWZ1bmN0aW9uICRjKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKGIsYywhIWQpfWZ1bmN0aW9uIGFkKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfWZ1bmN0aW9uIGJkKGEpe0Euc2V0VGltZW91dChhLDApfWZ1bmN0aW9uIGNkKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpLGQsZT0oZD1BKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdCh3KGMpKSk7RmMucHVzaChlKTtyZXR1cm4gZX0KZnVuY3Rpb24gZGQoYSl7dmFyIGI9QTt5YihiLnF1ZXVlTWljcm90YXNrKT9iLnF1ZXVlTWljcm90YXNrKGEpOnliKGIuUHJvbWlzZSkmJmIuUHJvbWlzZS5yZXNvbHZlP2IuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe2EoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk6YmQoYSl9ZnVuY3Rpb24gZWQoYSxiKXtyZXR1cm4gYSYmYiYmYS5hdHRyaWJ1dGVzJiZhLmF0dHJpYnV0ZXNbYl0/YS5hdHRyaWJ1dGVzW2JdLnZhbHVlOm51bGx9ZnVuY3Rpb24gZmQoYSl7dmFyIGI9YS5pbm5lclRleHR8fGEudGV4dENvbnRlbnR8fCIiO2ImJmIhPT0iICImJihiPWIucmVwbGFjZSgvXltcc1x4YTBdKy9nLCIiKSxiPWIucmVwbGFjZSgvW1xzXHhhMF0rJC9nLCIiKSk7YiYmKGI9Yi5yZXBsYWNlKC8oXHhhMCt8XHN7Mix9fFxufFxyXHQpL2csIiAiKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGdkKGEpe3ZhciBiPUIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1iLGQsZT1FYygiQTxkaXY+IithKyI8L2Rpdj4iKSxmPWhjKCksZz1mP2YuY3JlYXRlSFRNTChlKTplO2Q9bmV3IHpjKGcpO2lmKGMubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYy50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7dmFyIGg7aWYoZCBpbnN0YW5jZW9mIHpjKWg9ZC5IO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2MuaW5uZXJIVE1MPWg7Yj1iLmxhc3RDaGlsZDtmb3IodmFyIGw9W107YiYmYi5maXJzdENoaWxkOylsLnB1c2goYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpKTtyZXR1cm4gbH0KZnVuY3Rpb24gaGQoYSxiLGMpe2M9Y3x8MTAwO2Zvcih2YXIgZD17fSxlPTA7ZTxiLmxlbmd0aDtlKyspZFtiW2VdXT0hMDtmb3IodmFyIGY9YSxnPTA7ZiYmZzw9YztnKyspe2lmKGRbU3RyaW5nKGYudGFnTmFtZSkudG9Mb3dlckNhc2UoKV0pcmV0dXJuIGY7Zj1mLnBhcmVudEVsZW1lbnR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWQoYSxiLGMpe3ZhciBkO3RyeXtkPUhjLnNlbmRCZWFjb24mJkhjLnNlbmRCZWFjb24oYSl9Y2F0Y2goZSl7c2IoIlRBR0dJTkciLDE1KX1kP2I9PW51bGx8fGIoKTpaYyhhLGIsYyl9ZnVuY3Rpb24gamQoYSxiKXt0cnl7aWYoSGMuc2VuZEJlYWNvbiE9PXZvaWQgMClyZXR1cm4gSGMuc2VuZEJlYWNvbihhLGIpfWNhdGNoKGMpe3NiKCJUQUdHSU5HIiwxNSl9cmV0dXJuITF9ZnVuY3Rpb24ga2QoKXtyZXR1cm4gSGMuc2VuZEJlYWNvbiE9PXZvaWQgMH0KdmFyIGxkPXtjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixrZWVwYWxpdmU6ITAsbWV0aG9kOiJQT1NUIixtb2RlOiJuby1jb3JzIixyZWRpcmVjdDoiZm9sbG93In07CmZ1bmN0aW9uIG1kKGEsYixjLGQsZSl7aWYobmQoKSl7dmFyIGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxsZCk7YiYmKGYuYm9keT1iKTtjJiYoYy5hdHRyaWJ1dGlvblJlcG9ydGluZyYmKGYuYXR0cmlidXRpb25SZXBvcnRpbmc9Yy5hdHRyaWJ1dGlvblJlcG9ydGluZyksYy5icm93c2luZ1RvcGljcyE9PXZvaWQgMCYmKGYuYnJvd3NpbmdUb3BpY3M9Yy5icm93c2luZ1RvcGljcyksYy5jcmVkZW50aWFscyYmKGYuY3JlZGVudGlhbHM9Yy5jcmVkZW50aWFscyksYy5rZWVwYWxpdmUhPT12b2lkIDAmJihmLmtlZXBhbGl2ZT1jLmtlZXBhbGl2ZSksYy5tZXRob2QmJihmLm1ldGhvZD1jLm1ldGhvZCksYy5tb2RlJiYoZi5tb2RlPWMubW9kZSkpO3RyeXt2YXIgZz1BLmZldGNoKGEsZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKGwpe2wmJihsLm9rfHxsLnN0YXR1cz09PTApP2Q9PW51bGx8fGQoKTplPT1udWxsfHxlKCl9KS5jYXRjaChmdW5jdGlvbigpe2U9PQpudWxsfHxlKCl9KSwhMH1jYXRjaChsKXt9fWlmKChjPT1udWxsPzA6Yy5RZyl8fChjPT1udWxsPzA6Yy5jcmVkZW50aWFscykmJmMuY3JlZGVudGlhbHMhPT0iaW5jbHVkZSIpcmV0dXJuIGU9PW51bGx8fGUoKSwhMTtpZihiKXt2YXIgaD1qZChhLGIpO2g/ZD09bnVsbHx8ZCgpOmU9PW51bGx8fGUoKTtyZXR1cm4gaH1WYy53dChhLGQsZSk7cmV0dXJuITB9ZnVuY3Rpb24gbmQoKXtyZXR1cm4geWIoQS5mZXRjaCl9ZnVuY3Rpb24gb2QoYSxiKXt2YXIgYz1hW2JdO2MmJnR5cGVvZiBjLmFuaW1WYWw9PT0ic3RyaW5nIiYmKGM9Yy5hbmltVmFsKTtyZXR1cm4gY31mdW5jdGlvbiBwZCgpe3ZhciBhPUEucGVyZm9ybWFuY2U7aWYoYSYmeWIoYS5ub3cpKXJldHVybiBhLm5vdygpfQpmdW5jdGlvbiBxZCgpe3ZhciBhLGI9QS5wZXJmb3JtYW5jZTtpZihiJiZiLmdldEVudHJpZXNCeVR5cGUpdHJ5e3ZhciBjPWIuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2MmJmMubGVuZ3RoPjAmJihhPWNbMF0udHlwZSl9Y2F0Y2goZCl7cmV0dXJuImUifWlmKCFhKXJldHVybiJ1Ijtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJuIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJoIjtjYXNlICJyZWxvYWQiOnJldHVybiJyIjtjYXNlICJwcmVyZW5kZXIiOnJldHVybiJwIjtkZWZhdWx0OnJldHVybiJ4In19ZnVuY3Rpb24gcmQoKXtyZXR1cm4gQS5wZXJmb3JtYW5jZXx8dm9pZCAwfWZ1bmN0aW9uIHNkKCl7dmFyIGE9QS53ZWJQaXhlbHNNYW5hZ2VyO3JldHVybiBhP2EuY3JlYXRlU2hvcGlmeUV4dGVuZCE9PXZvaWQgMDohMX0KdmFyIFZjPXtFcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgSW1hZ2UoMSwxKTtUYyhlLGQse30pO2Uub25sb2FkPWZ1bmN0aW9uKCl7ZS5vbmxvYWQ9bnVsbDtiJiZiKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2Uub25lcnJvcj1udWxsO2MmJmMoKX07ZS5zcmM9YTtyZXR1cm4gZX0sQnM6ZnVuY3Rpb24oYSl7dmFyIGI9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF18fEIuYm9keXx8Qi5oZWFkO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKX0sd3Q6aWR9O2Z1bmN0aW9uIHRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdWQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKT09PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiB3ZChhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO3JldHVybiBTdHJpbmcoYykuaW5kZXhPZihTdHJpbmcoZCkpPi0xfWZ1bmN0aW9uIHhkKGEsYil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYSkpLGQ9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYikpO3JldHVybiBjLnN1YnN0cmluZygwLGQubGVuZ3RoKT09PWR9CmZ1bmN0aW9uIHlkKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYik7c3dpdGNoKGMpe2Nhc2UgInBhZ2VMb2NhdGlvbiI6dmFyIGU9QS5sb2NhdGlvbi5ocmVmO2QgaW5zdGFuY2VvZiBrYiYmZC5nZXQoInN0cmlwUHJvdG9jb2wiKSYmKGU9ZS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKSk7cmV0dXJuIGV9fTsvKgogalF1ZXJ5IChjKSAyMDA1LCAyMDEyIGpRdWVyeSBGb3VuZGF0aW9uLCBJbmMuIGpxdWVyeS5vcmcvbGljZW5zZS4KKi8KdmFyIHpkPS9cW29iamVjdCAoQm9vbGVhbnxOdW1iZXJ8U3RyaW5nfEZ1bmN0aW9ufEFycmF5fERhdGV8UmVnRXhwKVxdLyxBZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBTdHJpbmcoYSk7dmFyIGI9emQuZXhlYyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KGEpKSk7cmV0dXJuIGI/YlsxXS50b0xvd2VyQ2FzZSgpOiJvYmplY3QifSxCZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGEpLGIpfSxDZD1mdW5jdGlvbihhKXtpZighYXx8QWQoYSkhPSJvYmplY3QifHxhLm5vZGVUeXBlfHxhPT1hLndpbmRvdylyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUJkKGEsImNvbnN0cnVjdG9yIikmJiFCZChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWZvcih2YXIgYiBpbiBhKTtyZXR1cm4gYj09PXZvaWQgMHx8CkJkKGEsYil9LEVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8KEFkKGEpPT0iYXJyYXkiP1tdOnt9KSxkO2ZvcihkIGluIGEpaWYoQmQoYSxkKSl7dmFyIGU9YVtkXTtBZChlKT09ImFycmF5Ij8oQWQoY1tkXSkhPSJhcnJheSImJihjW2RdPVtdKSxjW2RdPUVkKGUsY1tkXSkpOkNkKGUpPyhDZChjW2RdKXx8KGNbZF09e30pLGNbZF09RWQoZSxjW2RdKSk6Y1tkXT1lfXJldHVybiBjfTtmdW5jdGlvbiBGZChhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIiYmYT49MCYmaXNGaW5pdGUoYSkmJmElMT09PTB8fHR5cGVvZiBhPT09InN0cmluZyImJmFbMF0hPT0iLSImJmE9PT0iIitwYXJzZUludChhKX07dmFyIEdkPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMubGE9bmV3IFVhO3RoaXMudmFsdWVzPVtdO3RoaXMuTmE9ITE7Zm9yKHZhciBiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKEZkKGIpP3RoaXMudmFsdWVzW051bWJlcihiKV09YVtOdW1iZXIoYildOnRoaXMubGEuc2V0KGIsYVtiXSkpfTtrPUdkLnByb3RvdHlwZTtrLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2lmKGEmJmEuaW5kZXhPZih0aGlzKT49MClyZXR1cm4iIjtmb3IodmFyIGI9W10sYz0wO2M8dGhpcy52YWx1ZXMubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy52YWx1ZXNbY107ZD09PW51bGx8fGQ9PT12b2lkIDA/Yi5wdXNoKCIiKTpkIGluc3RhbmNlb2YgR2Q/KGE9YXx8W10sYS5wdXNoKHRoaXMpLGIucHVzaChkLnRvU3RyaW5nKGEpKSxhLnBvcCgpKTpiLnB1c2goU3RyaW5nKGQpKX1yZXR1cm4gYi5qb2luKCIsIil9OwprLnNldD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLk5hKWlmKGE9PT0ibGVuZ3RoIil7aWYoIUZkKGIpKXRocm93IGNiKEVycm9yKCJSYW5nZUVycm9yOiBMZW5ndGggcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGludGVnZXIuIikpO3RoaXMudmFsdWVzLmxlbmd0aD1OdW1iZXIoYil9ZWxzZSBGZChhKT90aGlzLnZhbHVlc1tOdW1iZXIoYSldPWI6dGhpcy5sYS5zZXQoYSxiKX07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibGVuZ3RoIj90aGlzLmxlbmd0aCgpOkZkKGEpP3RoaXMudmFsdWVzW051bWJlcihhKV06dGhpcy5sYS5nZXQoYSl9O2subGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH07ay5GYT1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmxhLkZhKCksYj0wO2I8dGhpcy52YWx1ZXMubGVuZ3RoO2IrKyl0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYS5wdXNoKFN0cmluZyhiKSk7cmV0dXJuIGF9OwprLmhjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuaGMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2godGhpcy52YWx1ZXNbYl0pO3JldHVybiBhfTtrLmZjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuZmMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2goW1N0cmluZyhiKSx0aGlzLnZhbHVlc1tiXV0pO3JldHVybiBhfTtrLnJlbW92ZT1mdW5jdGlvbihhKXtGZChhKT9kZWxldGUgdGhpcy52YWx1ZXNbTnVtYmVyKGEpXTp0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMucG9wKCl9O2sucHVzaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSl9O2suc2hpZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMuc2hpZnQoKX07Cmsuc3BsaWNlPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpO3JldHVybiBiPT09dm9pZCAwJiZjLmxlbmd0aD09PTA/bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZShhKSk6bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZS5hcHBseSh0aGlzLnZhbHVlcyxbYSxifHwwXS5jb25jYXQodyhjKSkpKX07ay51bnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLnVuc2hpZnQuYXBwbHkodGhpcy52YWx1ZXMsdyhPYS5hcHBseSgwLGFyZ3VtZW50cykpKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEZkKGEpJiZ0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5sYS5oYXMoYSl9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLk5hPSEwO09iamVjdC5mcmVlemUodGhpcy52YWx1ZXMpfTtrLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9OwpmdW5jdGlvbiBIZChhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGgoKTtjKyspYS5oYXMoYykmJihiW2NdPWEuZ2V0KGMpKTtyZXR1cm4gYn07dmFyIElkPWZ1bmN0aW9uKGEsYil7dGhpcy5mdW5jdGlvbk5hbWU9YTt0aGlzLmllPWI7dGhpcy5sYT1uZXcgVWE7dGhpcy5OYT0hMX07az1JZC5wcm90b3R5cGU7ay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZ1bmN0aW9uTmFtZX07ay5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZnVuY3Rpb25OYW1lfTtrLmdldEtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdkKHRoaXMuRmEoKSl9O2suaW52b2tlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmllLmNhbGwuYXBwbHkodGhpcy5pZSxbbmV3IEpkKHRoaXMsYSldLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKX07ay5hcHBseT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmllLmFwcGx5KG5ldyBKZCh0aGlzLGEpLGIpfTtrLk5jPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTt0cnl7cmV0dXJuIHRoaXMuaW52b2tlLmFwcGx5KHRoaXMsW2FdLmNvbmNhdCh3KGIpKSl9Y2F0Y2goYyl7fX07CmsuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmdldChhKX07ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLk5hfHx0aGlzLmxhLnNldChhLGIpfTtrLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5oYXMoYSl9O2sucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuTmF8fHRoaXMubGEucmVtb3ZlKGEpfTtrLkZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuRmEoKX07ay5oYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmhjKCl9O2suZmM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5mYygpfTtrLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07ay5IYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hfTt2YXIgS2Q9ZnVuY3Rpb24oYSxiKXtJZC5jYWxsKHRoaXMsYSxiKX07d2EoS2QsSWQpO3ZhciBMZD1mdW5jdGlvbihhLGIpe0lkLmNhbGwodGhpcyxhLGIpfTt3YShMZCxJZCk7dmFyIEpkPWZ1bmN0aW9uKGEsYil7dGhpcy5pZT1hO3RoaXMuVD1ifTsKSmQucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuVDtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9mYihiLGEpOmF9O0pkLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWUuZ2V0TmFtZSgpfTtKZC5wcm90b3R5cGUuamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmplKCl9O3ZhciBNZD1mdW5jdGlvbigpe3RoaXMubWFwPW5ldyBNYXB9O01kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm1hcC5zZXQoYSxiKX07TWQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXAuZ2V0KGEpfTt2YXIgTmQ9ZnVuY3Rpb24oKXt0aGlzLmtleXM9W107dGhpcy52YWx1ZXM9W119O05kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmtleXMucHVzaChhKTt0aGlzLnZhbHVlcy5wdXNoKGIpfTtOZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMua2V5cy5pbmRleE9mKGEpO2lmKGI+LTEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfTtmdW5jdGlvbiBPZCgpe3RyeXtyZXR1cm4gTWFwP25ldyBNZDpuZXcgTmR9Y2F0Y2goYSl7cmV0dXJuIG5ldyBOZH19O3ZhciBQZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgUGQpcmV0dXJuIGE7dmFyIGI7YTppZihhPT12b2lkIDB8fEFycmF5LmlzQXJyYXkoYSl8fENkKGEpKWI9ITA7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOmNhc2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJmdW5jdGlvbiI6Yj0hMDticmVhayBhfWI9ITF9aWYoYil0aHJvdyBFcnJvcigiVHlwZSBvZiBnaXZlbiB2YWx1ZSBoYXMgYW4gZXF1aXZhbGVudCBQaXhpZSB0eXBlLiIpO3RoaXMudmFsdWU9YX07UGQucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O1BkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9O3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLnByb21pc2U9YTt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhO3RoaXMubGEuc2V0KCJ0aGVuIixSZCh0aGlzKSk7dGhpcy5sYS5zZXQoImNhdGNoIixSZCh0aGlzLCEwKSk7dGhpcy5sYS5zZXQoImZpbmFsbHkiLFJkKHRoaXMsITEsITApKX07az1TZC5wcm90b3R5cGU7ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuZ2V0KGEpfTtrLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTmF8fHRoaXMubGEuc2V0KGEsYil9O2suaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmhhcyhhKX07ay5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5OYXx8dGhpcy5sYS5yZW1vdmUoYSl9O2suRmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5GYSgpfTtrLmhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuaGMoKX07ay5mYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmZjKCl9Owp2YXIgUmQ9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oZCxlKXtiJiYoZT1kLGQ9dm9pZCAwKTtjJiYoZT1kKTtkIGluc3RhbmNlb2YgS2R8fChkPXZvaWQgMCk7ZSBpbnN0YW5jZW9mIEtkfHwoZT12b2lkIDApO3ZhciBmPXRoaXMuVC53YigpLGc9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYz8obC5pbnZva2UoZiksYS5wcm9taXNlKTpsLmludm9rZShmLG4pfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwIGluc3RhbmNlb2YgRXJyb3I/bmV3IFBkKHApOlN0cmluZyhwKSl9fX0saD1hLnByb21pc2UudGhlbihkJiZnKGQpLGUmJmcoZSkpO3JldHVybiBuZXcgU2QoaCl9KX07U2QucHJvdG90eXBlLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07U2QucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O2Z1bmN0aW9uIFRkKGEsYixjKXt2YXIgZD1PZCgpLGU9ZnVuY3Rpb24oZyxoKXtmb3IodmFyIGw9Zy5GYSgpLG49MDtuPGwubGVuZ3RoO24rKyloW2xbbl1dPWYoZy5nZXQobFtuXSkpfSxmPWZ1bmN0aW9uKGcpe2lmKGc9PT1udWxsfHxnPT09dm9pZCAwKXJldHVybiBnO3ZhciBoPWQuZ2V0KGcpO2lmKGgpcmV0dXJuIGg7aWYoZyBpbnN0YW5jZW9mIEdkKXt2YXIgbD1bXTtkLnNldChnLGwpO2Zvcih2YXIgbj1nLkZhKCkscD0wO3A8bi5sZW5ndGg7cCsrKWxbbltwXV09ZihnLmdldChuW3BdKSk7cmV0dXJuIGx9aWYoZyBpbnN0YW5jZW9mIFNkKXJldHVybiBnLnByb21pc2UudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gVGQodSxiLDEpfSxmdW5jdGlvbih1KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoVGQodSxiLDEpKX0pO2lmKGcgaW5zdGFuY2VvZiBrYil7dmFyIHE9e307ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9aWYoZyBpbnN0YW5jZW9mIEtkKXt2YXIgcj1mdW5jdGlvbigpe2Zvcih2YXIgdT0KW10sdj0wO3Y8YXJndW1lbnRzLmxlbmd0aDt2KyspdVt2XT1VZChhcmd1bWVudHNbdl0sYixjKTt2YXIgeD1uZXcgaGIoYj9iLmplKCk6bmV3IFdhKTtiJiZ4LnVlKGIueGIoKSk7cmV0dXJuIGYoZy5hcHBseSh4LHUpKX07ZC5zZXQoZyxyKTtlKGcscik7cmV0dXJuIHJ9dmFyIHQ9ITE7c3dpdGNoKGMpe2Nhc2UgMTp0PSEwO2JyZWFrO2Nhc2UgMjp0PSExO2JyZWFrO2Nhc2UgMzp0PSExO2JyZWFrO2RlZmF1bHQ6fWlmKGcgaW5zdGFuY2VvZiBQZCYmdClyZXR1cm4gZy5nZXRWYWx1ZSgpO3N3aXRjaCh0eXBlb2YgZyl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpjYXNlICJzdHJpbmciOmNhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGc7Y2FzZSAib2JqZWN0IjppZihnPT09Cm51bGwpcmV0dXJuIG51bGx9fTtyZXR1cm4gZihhKX0KZnVuY3Rpb24gVWQoYSxiLGMpe3ZhciBkPU9kKCksZT1mdW5jdGlvbihnLGgpe2Zvcih2YXIgbCBpbiBnKWcuaGFzT3duUHJvcGVydHkobCkmJmguc2V0KGwsZihnW2xdKSl9LGY9ZnVuY3Rpb24oZyl7dmFyIGg9ZC5nZXQoZyk7aWYoaClyZXR1cm4gaDtpZihBcnJheS5pc0FycmF5KGcpfHxIYihnKSl7dmFyIGw9bmV3IEdkO2Quc2V0KGcsbCk7Zm9yKHZhciBuIGluIGcpZy5oYXNPd25Qcm9wZXJ0eShuKSYmbC5zZXQobixmKGdbbl0pKTtyZXR1cm4gbH1pZihDZChnKSl7dmFyIHA9bmV3IGtiO2Quc2V0KGcscCk7ZShnLHApO3JldHVybiBwfWlmKHR5cGVvZiBnPT09ImZ1bmN0aW9uIil7dmFyIHE9bmV3IEtkKCIiLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PU9hLmFwcGx5KDAsYXJndW1lbnRzKSx2PVtdLHg9MDt4PHUubGVuZ3RoO3grKyl2W3hdPVRkKHRoaXMuZXZhbHVhdGUodVt4XSksYixjKTtyZXR1cm4gZih0aGlzLlQuUGooKShnLGcsdikpfSk7ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9dmFyIHI9dHlwZW9mIGc7aWYoZz09PW51bGx8fHI9PT0ic3RyaW5nInx8cj09PSJudW1iZXIifHxyPT09ImJvb2xlYW4iKXJldHVybiBnO3ZhciB0PSExO3N3aXRjaChjKXtjYXNlIDE6dD0hMDticmVhaztjYXNlIDI6dD0hMTticmVhaztkZWZhdWx0On1pZihnIT09dm9pZCAwJiZ0KXJldHVybiBuZXcgUGQoZyl9O3JldHVybiBmKGEpfTt2YXIgVmQ9e3N1cHBvcnRlZE1ldGhvZHM6ImNvbmNhdCBldmVyeSBmaWx0ZXIgZm9yRWFjaCBoYXNPd25Qcm9wZXJ0eSBpbmRleE9mIGpvaW4gbGFzdEluZGV4T2YgbWFwIHBvcCBwdXNoIHJlZHVjZSByZWR1Y2VSaWdodCByZXZlcnNlIHNoaWZ0IHNsaWNlIHNvbWUgc29ydCBzcGxpY2UgdW5zaGlmdCB0b1N0cmluZyIuc3BsaXQoIiAiKSxjb25jYXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPHRoaXMubGVuZ3RoKCk7YysrKWIucHVzaCh0aGlzLmdldChjKSk7Zm9yKHZhciBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKylpZihhcmd1bWVudHNbZF1pbnN0YW5jZW9mIEdkKWZvcih2YXIgZT1hcmd1bWVudHNbZF0sZj0wO2Y8ZS5sZW5ndGgoKTtmKyspYi5wdXNoKGUuZ2V0KGYpKTtlbHNlIGIucHVzaChhcmd1bWVudHNbZF0pO3JldHVybiBuZXcgR2QoYil9LGV2ZXJ5OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD0wO2Q8dGhpcy5sZW5ndGgoKSYmCmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJiFiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcykpcmV0dXJuITE7cmV0dXJuITB9LGZpbHRlcjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9W10sZT0wO2U8dGhpcy5sZW5ndGgoKSYmZTxjO2UrKyl0aGlzLmhhcyhlKSYmYi5pbnZva2UoYSx0aGlzLmdldChlKSxlLHRoaXMpJiZkLnB1c2godGhpcy5nZXQoZSkpO3JldHVybiBuZXcgR2QoZCl9LGZvckVhY2g6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dGhpcy5sZW5ndGgoKSxkPTA7ZDx0aGlzLmxlbmd0aCgpJiZkPGM7ZCsrKXRoaXMuaGFzKGQpJiZiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcyl9LGhhc093blByb3BlcnR5OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaGFzKGIpfSxpbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9Yz09PXZvaWQgMD8wOk51bWJlcihjKTtlPDAmJihlPU1hdGgubWF4KGQrZSwwKSk7Zm9yKHZhciBmPQplO2Y8ZDtmKyspaWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sam9pbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDx0aGlzLmxlbmd0aCgpO2QrKyljLnB1c2godGhpcy5nZXQoZCkpO3JldHVybiBjLmpvaW4oYil9LGxhc3RJbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9ZC0xO2MhPT12b2lkIDAmJihlPWM8MD9kK2M6TWF0aC5taW4oYyxlKSk7Zm9yKHZhciBmPWU7Zj49MDtmLS0paWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sbWFwOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD1bXSxlPTA7ZTx0aGlzLmxlbmd0aCgpJiZlPGM7ZSsrKXRoaXMuaGFzKGUpJiYoZFtlXT1iLmludm9rZShhLHRoaXMuZ2V0KGUpLGUsdGhpcykpO3JldHVybiBuZXcgR2QoZCl9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcCgpfSxwdXNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2guYXBwbHkodGhpcywKdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX0scmVkdWNlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGUsZj0wO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlIG9uIExpc3Qgd2l0aCBubyBlbGVtZW50cy4iKSk7Zm9yKHZhciBnPTA7ZzxkO2crKylpZih0aGlzLmhhcyhnKSl7ZT10aGlzLmdldChnKTtmPWcrMTticmVha31pZihnPT09ZCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBSZWR1Y2Ugb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aDxkO2grKyl0aGlzLmhhcyhoKSYmKGU9Yi5pbnZva2UoYSxlLHRoaXMuZ2V0KGgpLGgsdGhpcykpO3JldHVybiBlfSxyZWR1Y2VSaWdodDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5sZW5ndGgoKSxlLGY9ZC0xO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTsKZm9yKHZhciBnPTE7Zzw9ZDtnKyspaWYodGhpcy5oYXMoZC1nKSl7ZT10aGlzLmdldChkLWcpO2Y9ZC0oZysxKTticmVha31pZihnPmQpdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aD49MDtoLS0pdGhpcy5oYXMoaCkmJihlPWIuaW52b2tlKGEsZSx0aGlzLmdldChoKSxoLHRoaXMpKTtyZXR1cm4gZX0scmV2ZXJzZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1IZCh0aGlzKSxiPWEubGVuZ3RoLTEsYz0wO2I+PTA7Yi0tLGMrKylhLmhhc093blByb3BlcnR5KGIpP3RoaXMuc2V0KGMsYVtiXSk6dGhpcy5yZW1vdmUoYyk7cmV0dXJuIHRoaXN9LHNoaWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hpZnQoKX0sc2xpY2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMubGVuZ3RoKCk7Yj09PXZvaWQgMCYmKGI9MCk7Yj1iPDA/TWF0aC5tYXgoZCtiLDApOk1hdGgubWluKGIsZCk7Yz1jPT09CnZvaWQgMD9kOmM8MD9NYXRoLm1heChkK2MsMCk6TWF0aC5taW4oYyxkKTtjPU1hdGgubWF4KGIsYyk7Zm9yKHZhciBlPVtdLGY9YjtmPGM7ZisrKWUucHVzaCh0aGlzLmdldChmKSk7cmV0dXJuIG5ldyBHZChlKX0sc29tZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9MDtkPHRoaXMubGVuZ3RoKCkmJmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJmIuaW52b2tlKGEsdGhpcy5nZXQoZCksZCx0aGlzKSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydDpmdW5jdGlvbihhLGIpe3ZhciBjPUhkKHRoaXMpO2I9PT12b2lkIDA/Yy5zb3J0KCk6Yy5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIE51bWJlcihiLmludm9rZShhLGUsZikpfSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspYy5oYXNPd25Qcm9wZXJ0eShkKT90aGlzLnNldChkLGNbZF0pOnRoaXMucmVtb3ZlKGQpO3JldHVybiB0aGlzfSxzcGxpY2U6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnNwbGljZS5hcHBseSh0aGlzLApbYixjXS5jb25jYXQodyhPYS5hcHBseSgzLGFyZ3VtZW50cykpKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdW5zaGlmdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bnNoaWZ0LmFwcGx5KHRoaXMsdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX19O3ZhciBXZD17Y2hhckF0OjEsY29uY2F0OjEsaW5kZXhPZjoxLGxhc3RJbmRleE9mOjEsbWF0Y2g6MSxyZXBsYWNlOjEsc2VhcmNoOjEsc2xpY2U6MSxzcGxpdDoxLHN1YnN0cmluZzoxLHRvTG93ZXJDYXNlOjEsdG9Mb2NhbGVMb3dlckNhc2U6MSx0b1N0cmluZzoxLHRvVXBwZXJDYXNlOjEsdG9Mb2NhbGVVcHBlckNhc2U6MSx0cmltOjF9LFhkPW5ldyBUYSgiYnJlYWsiKSxZZD1uZXcgVGEoImNvbnRpbnVlIik7ZnVuY3Rpb24gWmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSt0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uICRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyk7aWYoIShmIGluc3RhbmNlb2YgR2QpKXRocm93IEVycm9yKCJFcnJvcjogTm9uLUxpc3QgYXJndW1lbnQgZ2l2ZW4gdG8gQXBwbHkgaW5zdHJ1Y3Rpb24uIik7aWYoZD09PW51bGx8fGQ9PT12b2lkIDApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogQ2FuJ3QgcmVhZCBwcm9wZXJ0eSAiK2UrIiBvZiAiK2QrIi4iKSk7dmFyIGc9dHlwZW9mIGQ9PT0ibnVtYmVyIjtpZih0eXBlb2YgZD09PSJib29sZWFuInx8Zyl7aWYoZT09PSJ0b1N0cmluZyIpe2lmKGcmJmYubGVuZ3RoKCkpe3ZhciBoPVRkKGYuZ2V0KDApKTt0cnl7cmV0dXJuIGQudG9TdHJpbmcoaCl9Y2F0Y2godSl7fX1yZXR1cm4gZC50b1N0cmluZygpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZCsiLiIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uLiIpKTt9aWYodHlwZW9mIGQ9PT0KInN0cmluZyIpe2lmKFdkLmhhc093blByb3BlcnR5KGUpKXt2YXIgbD1UZChmLHZvaWQgMCwxKTtyZXR1cm4gVWQoZFtlXS5hcHBseShkLGwpLHRoaXMuVCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKGQgaW5zdGFuY2VvZiBHZCl7aWYoZC5oYXMoZSkpe3ZhciBuPWQuZ2V0KFN0cmluZyhlKSk7aWYobiBpbnN0YW5jZW9mIEtkKXt2YXIgcD1IZChmKTtyZXR1cm4gbi5hcHBseSh0aGlzLlQscCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKFZkLnN1cHBvcnRlZE1ldGhvZHMuaW5kZXhPZihlKT49MCl7dmFyIHE9SGQoZik7cmV0dXJuIFZkW2VdLmNhbGwuYXBwbHkoVmRbZV0sW2QsdGhpcy5UXS5jb25jYXQodyhxKSkpfX1pZihkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkKXtpZihkLmhhcyhlKSl7dmFyIHI9ZC5nZXQoZSk7CmlmKHIgaW5zdGFuY2VvZiBLZCl7dmFyIHQ9SGQoZik7cmV0dXJuIHIuYXBwbHkodGhpcy5ULHQpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIikpO31pZihlPT09InRvU3RyaW5nIilyZXR1cm4gZCBpbnN0YW5jZW9mIEtkP2QuZ2V0TmFtZSgpOmQudG9TdHJpbmcoKTtpZihlPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gZC5oYXMoZi5nZXQoMCkpfWlmKGQgaW5zdGFuY2VvZiBQZCYmZT09PSJ0b1N0cmluZyIpcmV0dXJuIGQudG9TdHJpbmcoKTt0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBPYmplY3QgaGFzIG5vICciK2UrIicgcHJvcGVydHkuIikpO30KZnVuY3Rpb24gYmUoYSxiKXthPXRoaXMuZXZhbHVhdGUoYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigiSW52YWxpZCBrZXkgbmFtZSBnaXZlbiBmb3IgYXNzaWdubWVudC4iKTt2YXIgYz10aGlzLlQ7aWYoIWMuaGFzKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFzc2lnbiB0byB1bmRlZmluZWQgdmFsdWUgIitiKTt2YXIgZD10aGlzLmV2YWx1YXRlKGIpO2Muc2V0KGEsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gY2UoKXt2YXIgYT1PYS5hcHBseSgwLGFyZ3VtZW50cyksYj10aGlzLlQud2IoKSxjPWViKGIsYSk7aWYoYyBpbnN0YW5jZW9mIFRhKXJldHVybiBjfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIFhkfWZ1bmN0aW9uIGVlKGEpe2Zvcih2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShiW2NdKTtpZihkIGluc3RhbmNlb2YgVGEpcmV0dXJuIGR9fQpmdW5jdGlvbiBmZSgpe2Zvcih2YXIgYT10aGlzLlQsYj0wO2I8YXJndW1lbnRzLmxlbmd0aC0xO2IrPTIpe3ZhciBjPWFyZ3VtZW50c1tiXTtpZih0eXBlb2YgYz09PSJzdHJpbmciKXt2YXIgZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLlFoKGMsZCl9fX1mdW5jdGlvbiBnZSgpe3JldHVybiBZZH1mdW5jdGlvbiBoZShhLGIpe3JldHVybiBuZXcgVGEoYSx0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBpZShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2Q9bmV3IEdkO2Zvcih2YXIgZT10aGlzLmV2YWx1YXRlKGIpLGY9MDtmPGUubGVuZ3RoO2YrKylkLnB1c2goZVtmXSk7dmFyIGc9WzUxLGEsZF0uY29uY2F0KHcoYykpO3RoaXMuVC5hZGQoYSx0aGlzLmV2YWx1YXRlKGcpKX1mdW5jdGlvbiBqZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpL3RoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGtlKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYiksZT1jIGluc3RhbmNlb2YgUGQsZj1kIGluc3RhbmNlb2YgUGQ7cmV0dXJuIGV8fGY/ZSYmZj9jLmdldFZhbHVlKCk9PT1kLmdldFZhbHVlKCk6ITE6Yz09ZH1mdW5jdGlvbiBsZSgpe2Zvcih2YXIgYSxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylhPXRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKTtyZXR1cm4gYX1mdW5jdGlvbiBtZShhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGIoKTtlKyspe3ZhciBmPWEoYyhlKSksZz1lYihmLGQpO2lmKGcgaW5zdGFuY2VvZiBUYSl7aWYoZy50eXBlPT09ImJyZWFrIilicmVhaztpZihnLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gZ319fQpmdW5jdGlvbiBuZShhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilyZXR1cm4gbWUoYSxmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sZnVuY3Rpb24oZil7cmV0dXJuIGZ9LGMpO2lmKGIgaW5zdGFuY2VvZiBrYnx8YiBpbnN0YW5jZW9mIFNkfHxiIGluc3RhbmNlb2YgR2R8fGIgaW5zdGFuY2VvZiBLZCl7dmFyIGQ9Yi5GYSgpLGU9ZC5sZW5ndGg7cmV0dXJuIG1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24oZil7cmV0dXJuIGRbZl19LGMpfX1mdW5jdGlvbiBvZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXtnLnNldChkLGgpO3JldHVybiBnfSxlLGYpfQpmdW5jdGlvbiBwZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXt2YXIgbD1nLndiKCk7bC5RaChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIG5lKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLmFkZChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHJlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe2cuc2V0KGQsaCk7cmV0dXJuIGd9LGUsZil9CmZ1bmN0aW9uIHRlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLlFoKGQsaCk7cmV0dXJuIGx9LGUsZil9ZnVuY3Rpb24gdWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKSxnPXRoaXMuVDtyZXR1cm4gc2UoZnVuY3Rpb24oaCl7dmFyIGw9Zy53YigpO2wuYWRkKGQsaCk7cmV0dXJuIGx9LGUsZil9CmZ1bmN0aW9uIHNlKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RofSxmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0sYyk7aWYoYiBpbnN0YW5jZW9mIEdkKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RoKCl9LGZ1bmN0aW9uKGQpe3JldHVybiBiLmdldChkKX0sYyk7dGhyb3cgY2IoRXJyb3IoIlRoZSB2YWx1ZSBpcyBub3QgaXRlcmFibGUuIikpO30KZnVuY3Rpb24gdmUoYSxiLGMsZCl7ZnVuY3Rpb24gZShxLHIpe2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGgoKTt0Kyspe3ZhciB1PWYuZ2V0KHQpO3IuYWRkKHUscS5nZXQodSkpfX12YXIgZj10aGlzLmV2YWx1YXRlKGEpO2lmKCEoZiBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiVHlwZUVycm9yOiBOb24tTGlzdCBhcmd1bWVudCBnaXZlbiB0byBGb3JMZXQgaW5zdHJ1Y3Rpb24uIik7dmFyIGc9dGhpcy5ULGg9dGhpcy5ldmFsdWF0ZShkKSxsPWcud2IoKTtmb3IoZShnLGwpO2ZiKGwsYik7KXt2YXIgbj1lYihsLGgpO2lmKG4gaW5zdGFuY2VvZiBUYSl7aWYobi50eXBlPT09ImJyZWFrIilicmVhaztpZihuLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gbn12YXIgcD1nLndiKCk7ZShsLHApO2ZiKHAsYyk7bD1wfX0KZnVuY3Rpb24gd2UoYSxiKXt2YXIgYz1PYS5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzLlQsZT10aGlzLmV2YWx1YXRlKGIpO2lmKCEoZSBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiRXJyb3I6IG5vbi1MaXN0IHZhbHVlIGdpdmVuIGZvciBGbiBhcmd1bWVudCBuYW1lcy4iKTtyZXR1cm4gbmV3IEtkKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz1kLndiKCk7Zy54YigpPT09dm9pZCAwJiZnLnVlKHRoaXMuVC54YigpKTtmb3IodmFyIGg9W10sbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgbj10aGlzLmV2YWx1YXRlKGZbbF0pO2hbbF09bn1mb3IodmFyIHA9ZS5nZXQoImxlbmd0aCIpLHE9MDtxPHA7cSsrKXE8aC5sZW5ndGg/Zy5hZGQoZS5nZXQocSksaFtxXSk6Zy5hZGQoZS5nZXQocSksdm9pZCAwKTtnLmFkZCgiYXJndW1lbnRzIixuZXcgR2QoaCkpO3ZhciByPWViKGcsYyk7aWYociBpbnN0YW5jZW9mIFRhKXJldHVybiByLnR5cGU9PT0KInJldHVybiI/ci5kYXRhOnJ9fSgpKX1mdW5jdGlvbiB4ZShhKXt2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9dGhpcy5UO2lmKHllJiYhYy5oYXMoYikpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGIrIiBpcyBub3QgZGVmaW5lZC4iKTtyZXR1cm4gYy5nZXQoYil9CmZ1bmN0aW9uIHplKGEsYil7dmFyIGMsZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKTtpZihkPT09dm9pZCAwfHxkPT09bnVsbCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mICIrZCsiIChyZWFkaW5nICciK2UrIicpIikpO2lmKGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkfHxkIGluc3RhbmNlb2YgR2R8fGQgaW5zdGFuY2VvZiBLZCljPWQuZ2V0KGUpO2Vsc2UgaWYodHlwZW9mIGQ9PT0ic3RyaW5nIillPT09Imxlbmd0aCI/Yz1kLmxlbmd0aDpGZChlKSYmKGM9ZFtlXSk7ZWxzZSBpZihkIGluc3RhbmNlb2YgUGQpcmV0dXJuO3JldHVybiBjfWZ1bmN0aW9uIEFlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk+dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBCZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpPj10aGlzLmV2YWx1YXRlKGIpfQpmdW5jdGlvbiBDZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO2MgaW5zdGFuY2VvZiBQZCYmKGM9Yy5nZXRWYWx1ZSgpKTtkIGluc3RhbmNlb2YgUGQmJihkPWQuZ2V0VmFsdWUoKSk7cmV0dXJuIGM9PT1kfWZ1bmN0aW9uIERlKGEsYil7cmV0dXJuIUNlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIEVlKGEsYixjKXt2YXIgZD1bXTt0aGlzLmV2YWx1YXRlKGEpP2Q9dGhpcy5ldmFsdWF0ZShiKTpjJiYoZD10aGlzLmV2YWx1YXRlKGMpKTt2YXIgZT1lYih0aGlzLlQsZCk7aWYoZSBpbnN0YW5jZW9mIFRhKXJldHVybiBlfXZhciB5ZT0hMTsKZnVuY3Rpb24gRmUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKTx0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIEdlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk8PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gSGUoKXtmb3IodmFyIGE9bmV3IEdkLGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiXSk7YS5wdXNoKGMpfXJldHVybiBhfWZ1bmN0aW9uIEllKCl7Zm9yKHZhciBhPW5ldyBrYixiPTA7Yjxhcmd1bWVudHMubGVuZ3RoLTE7Yis9Mil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKSksZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLnNldChjLGQpfXJldHVybiBhfWZ1bmN0aW9uIEplKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkldGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gS2UoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSp0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIExlKGEpe3JldHVybi10aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE1lKGEpe3JldHVybiF0aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE5lKGEsYil7cmV0dXJuIWtlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIE9lKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gUGUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBRZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSk7dGhpcy5ldmFsdWF0ZShiKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKX1mdW5jdGlvbiBTZSgpe3JldHVybiBPYS5hcHBseSgwLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVGUoYSl7cmV0dXJuIG5ldyBUYSgicmV0dXJuIix0aGlzLmV2YWx1YXRlKGEpKX0KZnVuY3Rpb24gVWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZihkPT09bnVsbHx8ZD09PXZvaWQgMCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW4ndCBzZXQgcHJvcGVydHkgIitlKyIgb2YgIitkKyIuIikpOyhkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBHZHx8ZCBpbnN0YW5jZW9mIGtiKSYmZC5zZXQoU3RyaW5nKGUpLGYpO3JldHVybiBmfWZ1bmN0aW9uIFZlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSktdGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gV2UoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkoZikpdGhyb3cgRXJyb3IoIkVycm9yOiBNYWxmb3JtZWQgc3dpdGNoIGluc3RydWN0aW9uLiIpO2Zvcih2YXIgZyxoPSExLGw9MDtsPGUubGVuZ3RoO2wrKylpZihofHxkPT09dGhpcy5ldmFsdWF0ZShlW2xdKSlpZihnPXRoaXMuZXZhbHVhdGUoZltsXSksZyBpbnN0YW5jZW9mIFRhKXt2YXIgbj1nLnR5cGU7aWYobj09PSJicmVhayIpcmV0dXJuO2lmKG49PT0icmV0dXJuInx8bj09PSJjb250aW51ZSIpcmV0dXJuIGd9ZWxzZSBoPSEwO2lmKGYubGVuZ3RoPT09ZS5sZW5ndGgrMSYmKGc9dGhpcy5ldmFsdWF0ZShmW2YubGVuZ3RoLTFdKSxnIGluc3RhbmNlb2YgVGEmJihnLnR5cGU9PT0icmV0dXJuInx8Zy50eXBlPT09ImNvbnRpbnVlIikpKXJldHVybiBnfQpmdW5jdGlvbiBYZShhLGIsYyl7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk/dGhpcy5ldmFsdWF0ZShiKTp0aGlzLmV2YWx1YXRlKGMpfWZ1bmN0aW9uIFllKGEpe3ZhciBiPXRoaXMuZXZhbHVhdGUoYSk7cmV0dXJuIGIgaW5zdGFuY2VvZiBLZD8iZnVuY3Rpb24iOnR5cGVvZiBifWZ1bmN0aW9uIFplKCl7Zm9yKHZhciBhPXRoaXMuVCxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YXJndW1lbnRzW2JdO3R5cGVvZiBjIT09InN0cmluZyJ8fGEuYWRkKGMsdm9pZCAwKX19CmZ1bmN0aW9uICRlKGEsYixjLGQpe3ZhciBlPXRoaXMuZXZhbHVhdGUoZCk7aWYodGhpcy5ldmFsdWF0ZShjKSl7dmFyIGY9ZWIodGhpcy5ULGUpO2lmKGYgaW5zdGFuY2VvZiBUYSl7aWYoZi50eXBlPT09ImJyZWFrIilyZXR1cm47aWYoZi50eXBlPT09InJldHVybiIpcmV0dXJuIGZ9fWZvcig7dGhpcy5ldmFsdWF0ZShhKTspe3ZhciBnPWViKHRoaXMuVCxlKTtpZihnIGluc3RhbmNlb2YgVGEpe2lmKGcudHlwZT09PSJicmVhayIpYnJlYWs7aWYoZy50eXBlPT09InJldHVybiIpcmV0dXJuIGd9dGhpcy5ldmFsdWF0ZShiKX19ZnVuY3Rpb24gYWYoYSl7cmV0dXJufk51bWJlcih0aGlzLmV2YWx1YXRlKGEpKX1mdW5jdGlvbiBiZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk8PE51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBjZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk+Pk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX0KZnVuY3Rpb24gZGYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpPj4+TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGVmKGEsYil7cmV0dXJuIE51bWJlcih0aGlzLmV2YWx1YXRlKGEpKSZOdW1iZXIodGhpcy5ldmFsdWF0ZShiKSl9ZnVuY3Rpb24gZmYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpXk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBnZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSl8TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGhmKCl7fQpmdW5jdGlvbiBrZihhLGIsYyl7dHJ5e3ZhciBkPXRoaXMuZXZhbHVhdGUoYik7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfWNhdGNoKGgpe2lmKCEoaCBpbnN0YW5jZW9mIGJiJiZoLlNuKSl0aHJvdyBoO3ZhciBlPXRoaXMuVC53YigpO2EhPT0iIiYmKGggaW5zdGFuY2VvZiBiYiYmKGg9aC52byksZS5hZGQoYSxuZXcgUGQoaCkpKTt2YXIgZj10aGlzLmV2YWx1YXRlKGMpLGc9ZWIoZSxmKTtpZihnIGluc3RhbmNlb2YgVGEpcmV0dXJuIGd9fWZ1bmN0aW9uIGxmKGEsYil7dmFyIGMsZDt0cnl7ZD10aGlzLmV2YWx1YXRlKGEpfWNhdGNoKGYpe2lmKCEoZiBpbnN0YW5jZW9mIGJiJiZmLlNuKSl0aHJvdyBmO2M9Zn12YXIgZT10aGlzLmV2YWx1YXRlKGIpO2lmKGUgaW5zdGFuY2VvZiBUYSlyZXR1cm4gZTtpZihjKXRocm93IGM7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfTt2YXIgbmY9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IGdiO21mKHRoaXMpfTtuZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ILnJrKGEpfTt2YXIgbWY9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgTGQoU3RyaW5nKGMpLGQpO2UuWmEoKTt2YXIgZj1TdHJpbmcoYyk7YS5ILkguc2V0KGYsZSk7ZGIuc2V0KGYsZSl9O2IoIm1hcCIsSWUpO2IoImFuZCIsdGQpO2IoImNvbnRhaW5zIix3ZCk7YigiZXF1YWxzIix1ZCk7Yigib3IiLHZkKTtiKCJzdGFydHNXaXRoIix4ZCk7YigidmFyaWFibGUiLHlkKX07bmYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07dmFyIHBmPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3RoaXMuSD1uZXcgZ2I7b2YodGhpcyk7dGhpcy5LPSEwfTtwZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gcWYodGhpcy5ILnJrKGEpKX07dmFyIHJmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcWYoYS5ILkpxKGIsYykpfTtwZi5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07CnZhciBvZj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjLGQpe3ZhciBlPVN0cmluZyhjKSxmPW5ldyBMZChlLGQpO2YuWmEoKTthLkguSC5zZXQoZSxmKTtkYi5zZXQoZSxmKX07YigwLFpkKTtiKDEsJGQpO2IoMixhZSk7YigzLGJlKTtiKDU2LGVmKTtiKDU3LGJmKTtiKDU4LGFmKTtiKDU5LGdmKTtiKDYwLGNmKTtiKDYxLGRmKTtiKDYyLGZmKTtiKDUzLGNlKTtiKDQsZGUpO2IoNSxlZSk7Yig2OCxrZik7Yig1MixmZSk7Yig2LGdlKTtiKDQ5LGhlKTtiKDcsSGUpO2IoOCxJZSk7Yig5LGVlKTtiKDUwLGllKTtiKDEwLGplKTtiKDEyLGtlKTtiKDEzLGxlKTtiKDY3LGxmKTtiKDUxLHdlKTtiKDQ3LG9lKTtiKDU0LHBlKTtiKDU1LHFlKTtiKDYzLHZlKTtiKDY0LHJlKTtiKDY1LHRlKTtiKDY2LHVlKTtiKDE1LHhlKTtiKDE2LHplKTtiKDE3LHplKTtiKDE4LEFlKTtiKDE5LEJlKTtiKDIwLENlKTtiKDIxLERlKTtiKDIyLEVlKTtiKDIzLEZlKTtiKDI0LEdlKTtiKDI1LEplKTtiKDI2LApLZSk7YigyNyxMZSk7YigyOCxNZSk7YigyOSxOZSk7Yig0NSxPZSk7YigzMCxQZSk7YigzMixRZSk7YigzMyxRZSk7YigzNCxSZSk7YigzNSxSZSk7Yig0NixTZSk7YigzNixUZSk7Yig0MyxVZSk7YigzNyxWZSk7YigzOCxXZSk7YigzOSxYZSk7Yig0MCxZZSk7Yig0NCxoZik7Yig0MSxaZSk7Yig0MiwkZSl9O3BmLnByb3RvdHlwZS5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguamUoKX07cGYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07cGYucHJvdG90eXBlLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSC5zZChhKX07CmZ1bmN0aW9uIHFmKGEpe2lmKGEgaW5zdGFuY2VvZiBUYXx8YSBpbnN0YW5jZW9mIEtkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgUGR8fGE9PT1udWxsfHxhPT09dm9pZCAwfHx0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJudW1iZXIifHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYX07dmFyIHNmPWZ1bmN0aW9uKGEpe3RoaXMubWVzc2FnZT1hfTtmdW5jdGlvbiB0ZihhKXthLnF2PSEwO3JldHVybiBhfTt2YXIgdWY9dGYoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSx2Zj10ZihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLHdmPXRmKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO2Z1bmN0aW9uIHhmKGEpe3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIlthXTtyZXR1cm4gYj09PXZvaWQgMD9uZXcgc2YoIlZhbHVlICIrYSsiIGNhbiBub3QgYmUgZW5jb2RlZCBpbiB3ZWItc2FmZSBiYXNlNjQgZGljdGlvbmFyeS4iKTpifTtmdW5jdGlvbiB5ZihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiIxIjtjYXNlIDI6Y2FzZSA0OnJldHVybiIwIjtkZWZhdWx0OnJldHVybiItIn19O3ZhciB6Zj0vXlsxLTlhLXpBLVpfLV1bMS05YS1jXVsxLTlhLXZdXGQkLztmdW5jdGlvbiBBZihhLGIpe2Zvcih2YXIgYz0iIixkPSEwO2E+Nzspe3ZhciBlPWEmMzE7YT4+PTU7ZD9kPSExOmV8PTMyO2M9IiIreGYoZSkrY31hPDw9MjtkfHwoYXw9MzIpO3JldHVybiBjPSIiK3hmKGF8YikrY31mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPT09dm9pZCAwfHxiPT09MD8iIjoiIitBZihhLDEpK3hmKGIpfQpmdW5jdGlvbiBDZihhLGIpe3ZhciBjO3ZhciBkPWEuaGksZT1hLmJrO2Q9PT12b2lkIDA/Yz0iIjooZXx8KGU9MCksYz0iIitBZigxLDEpK3hmKGQ8PDJ8ZSkpO3ZhciBmPSI0IitjK0JmKDIsYS5xciksZyxoPWEuSW87Zz1oJiZ6Zi50ZXN0KGgpPyIiK0FmKDMsMikraDoiIjt2YXIgbDt2YXIgbj1hLmN0aWQ7aWYobiYmYil7dmFyIHA9QWYoNSwzKSxxPW4uc3BsaXQoIi0iKSxyPXFbMF0udG9VcHBlckNhc2UoKTtpZihyIT09IkdUTSImJnIhPT0iT1BUIilsPSIiO2Vsc2V7dmFyIHQ9cVsxXTtsPSIiK3AreGYoMSt0Lmxlbmd0aCkrKGEuTHN8fDApK3R9fWVsc2UgbD0iIjt2YXIgdT1hLmNhbm9uaWNhbElkLHY9YS5tYyx4PWEuenYseT1mK2crQmYoNCxhLkRvKStsK0JmKDYsYS5EdCkrKHU/IiIrQWYoNywzKSt4Zih1Lmxlbmd0aCkrdToiIikrKHY/IiIrQWYoOCwzKSt4Zih2Lmxlbmd0aCkrdjoiIikrKHg/IiIrQWYoOSwzKSt4Zih4Lmxlbmd0aCkreDoiIiksejt2YXIgQz1hLnpyO0M9CkM9PT12b2lkIDA/e306Qztmb3IodmFyIEQ9W10sST1tKE9iamVjdC5rZXlzKEMpKSxHPUkubmV4dCgpOyFHLmRvbmU7Rz1JLm5leHQoKSl7dmFyIE49Ry52YWx1ZTtEW051bWJlcihOKV09Q1tOXX1pZihELmxlbmd0aCl7dmFyIFM9QWYoMTAsMyksVztpZihELmxlbmd0aD09PTApVz14ZigwKTtlbHNle2Zvcih2YXIgZWE9W10samE9MCxmYT0hMSxzYT0wO3NhPEQubGVuZ3RoO3NhKyspe2ZhPSEwO3ZhciBkYT1zYSU2O0Rbc2FdJiYoamF8PTE8PGRhKTtkYT09PTUmJihlYS5wdXNoKHhmKGphKSksamE9MCxmYT0hMSl9ZmEmJmVhLnB1c2goeGYoamEpKTtXPWVhLmpvaW4oIiIpfXZhciBtYT1XO3o9IiIrUyt4ZihtYS5sZW5ndGgpK21hfWVsc2Ugej0iIjt2YXIgUGE9YS5VcyxGYT1hLm50O3JldHVybiB5K3orKFBhPyIiK0FmKDExLDMpK3hmKFBhLmxlbmd0aCkrUGE6IiIpKyhGYT8iIitBZigxMywzKSt4ZihGYS5sZW5ndGgpK0ZhOiIiKStCZigxNCxhLkV0KStCZigxNSxhLnJ2KStCZigxNiwKYS5Bdil9O2Z1bmN0aW9uIERmKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVmKGEsYil7Zm9yKHZhciBjPXFiKGIpLGQ9bmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgpLGU9MDtlPGMubGVuZ3RoO2UrKylkW2VdPWMuY2hhckNvZGVBdChlKTtpZihkLmxlbmd0aCE9PTMyKXRocm93IEVycm9yKCJLZXkgaXMgbm90IDMyIGJ5dGVzLiIpO3JldHVybiBGZihhLGQpfWZ1bmN0aW9uIEZmKGEsYil7aWYoYT09PSIiKXJldHVybiIiO3ZhciBjPVpiKGEpLGQ9Yi5zbGljZSgtMiksZT1bXS5jb25jYXQodyhkKSx3KGMpKS5tYXAoZnVuY3Rpb24oZyxoKXtyZXR1cm4gZ15iW2glYi5sZW5ndGhdfSksZj1uZXcgVWludDhBcnJheShbXS5jb25jYXQodyhlKSx3KGQpKSk7cmV0dXJuIHBiKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHcoZikpKS5yZXBsYWNlKC9cLiskLywiIil9O3ZhciBHZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYil7cmV0dXJue3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fX1yZXR1cm57Y3A6YSgiY29uc2VudCIpLFprOmEoImNvbnZlcnRfY2FzZV90byIpLGFsOmEoImNvbnZlcnRfZmFsc2VfdG8iKSxibDphKCJjb252ZXJ0X251bGxfdG8iKSxlcDphKCJjb252ZXJ0X3RvX2Jvb2xlYW4iKSxhaDphKCJjb252ZXJ0X3RvX251bWJlciIpLGZsOmEoImNvbnZlcnRfdHJ1ZV90byIpLGlsOmEoImNvbnZlcnRfdW5kZWZpbmVkX3RvIiksWXQ6YSgiZGVidWdfbW9kZV9tZXRhZGF0YSIpLFliOmEoImZ1bmN0aW9uIiksUm06YSgiaW5zdGFuY2VfbmFtZSIpLE5xOmEoImxpdmVfb25seSIpLE9xOmEoIm1hbHdhcmVfZGlzYWJsZWQiKSxNRVRBREFUQTphKCJtZXRhZGF0YSIpLFJxOmEoIm9yaWdpbmFsX2FjdGl2aXR5X2lkIiksVHU6YSgib3JpZ2luYWxfdmVuZG9yX3RlbXBsYXRlX2lkIiksU3U6YSgib25jZV9vbl9sb2FkIiksUXE6YSgib25jZV9wZXJfZXZlbnQiKSwKa246YSgib25jZV9wZXJfbG9hZCIpLFZ1OmEoInByaW9yaXR5X292ZXJyaWRlIiksWXU6YSgicmVzcGVjdGVkX2NvbnNlbnRfdHlwZXMiKSx0bjphKCJzZXR1cF90YWdzIikseWo6YSgidGFnX2lkIiksRG46YSgidGVhcmRvd25fdGFncyIpLHBsOmEoImRpc2FibGVkX2luX2dvb2dsZV9tb2RlIiksRnE6YSgiZ2VuZXJhdGVkX3RhZ2dpbmdfbWV0YWRhdGEiKX19KCk7ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz17fTtjW0dmLlliXT0iX18iK2E7Zm9yKHZhciBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbInZ0cF8iK2RdPWJbZF0pO3JldHVybiBjfTtmdW5jdGlvbiBJZihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjLGQ7cmV0dXJuKChjPWRhdGEpPT1udWxsPzA6KGQ9Yy5ibG9iKT09bnVsbD8wOmQuaGFzT3duUHJvcGVydHkoYSkpPyEhZGF0YS5ibG9iW2FdOmJ9ZnVuY3Rpb24gRShhKXt2YXIgYjtiPWI9PT12b2lkIDA/IiI6Yjt2YXIgYyxkO3JldHVybigoYz1kYXRhKT09bnVsbD8wOihkPWMuYmxvYik9PW51bGw/MDpkLmhhc093blByb3BlcnR5KGEpKT9TdHJpbmcoZGF0YS5ibG9iW2FdKTpifWZ1bmN0aW9uIEpmKGEpe3ZhciBiLGM7cmV0dXJuKChiPWRhdGEpPT1udWxsPzA6KGM9Yi5ibG9iKT09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihkYXRhLmJsb2JbYV0pOjB9ZnVuY3Rpb24gS2YoYSl7dmFyIGI7Yj1iPT09dm9pZCAwP1tdOmI7dmFyIGMsZCxlPShjPWRhdGEpPT1udWxsP3ZvaWQgMDooZD1jLmJsb2IpPT1udWxsP3ZvaWQgMDpkW2FdO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6Yn0KZnVuY3Rpb24gTGYoYSl7dmFyIGI7Yj1iPT09dm9pZCAwPyIiOmI7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP1N0cmluZyhjW2FdKTpifWZ1bmN0aW9uIE5mKGEsYil7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihjW2FdKTpifWZ1bmN0aW9uIE1mKGEpe3ZhciBiLGM7cmV0dXJuKGI9ZGF0YSk9PW51bGw/dm9pZCAwOihjPWIuYmxvYik9PW51bGw/dm9pZCAwOmNbYV19O3ZhciBPZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7ZD1FcnJvci5jYWxsKHRoaXMsYyk7dGhpcy5tZXNzYWdlPWQubWVzc2FnZTsic3RhY2siaW4gZCYmKHRoaXMuc3RhY2s9ZC5zdGFjayk7dGhpcy5wZXJtaXNzaW9uSWQ9YTt0aGlzLnBhcmFtZXRlcnM9Yjt0aGlzLm5hbWU9IlBlcm1pc3Npb25FcnJvciJ9O3dhKE9mLEVycm9yKTtPZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1lc3NhZ2V9O2Z1bmN0aW9uIFBmKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbnRleHQiLHt2YWx1ZTp7bGluZTpiWzBdfX0pO2Zvcih2YXIgYz0xO2M8YS5sZW5ndGg7YysrKVBmKGFbY10sYltjXSl9fTtmdW5jdGlvbiBRZigpe3JldHVybiBmdW5jdGlvbihhLGIpe3ZhciBjO3ZhciBkPVJmO2EgaW5zdGFuY2VvZiBiYj8oYS5IPWQsYz1hKTpjPW5ldyBiYihhLGQpO3ZhciBlPWM7YiYmZS5LLnB1c2goYik7dGhyb3cgZTt9fWZ1bmN0aW9uIFJmKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gYTthLnB1c2goe2lkOiJtYWluIixsaW5lOjB9KTtmb3IodmFyIGI9YS5sZW5ndGgtMTtiPjA7Yi0tKUFiKGFbYl0uaWQpJiZhLnNwbGljZShiKyssMSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz4wO2MtLSlhW2NdLmxpbmU9YVtjLTFdLmxpbmU7YS5zcGxpY2UoMCwxKTtyZXR1cm4gYX07dmFyIFNmPVJlZ0V4cCgiW14wLTlcXC4rLV0iLCJnIiksVGY9UmVnRXhwKCJbXjAtOVxcLCstXSIsImciKSxVZj1SZWdFeHAoIlteMC05Ky1dIiwiZyIpOwpmdW5jdGlvbiBWZihhLGIpe2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7dmFyIGM9U3RyaW5nKGEpLGQ7aWYoYj09PSJBVVRPTUFUSUMiKXt2YXIgZT0oYy5tYXRjaCgvXC4vZyl8fFtdKS5sZW5ndGgsZj0oYy5tYXRjaCgvLC9nKXx8W10pLmxlbmd0aCxnPSJOT05FIjtpZihlPjAmJmY+MCl7dmFyIGg9Yy5sYXN0SW5kZXhPZigiLiIpPmMubGFzdEluZGV4T2YoIiwiKTtoJiZlPT09MT9nPSJQRVJJT0QiOmh8fGYhPT0xfHwoZz0iQ09NTUEiKX1lbHNlIGU9PT0xP2c9KGMuc3BsaXQoIi4iKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJQRVJJT0QiOiJOT05FIjpmPT09MSYmKGc9KGMuc3BsaXQoIiwiKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJDT01NQSI6Ik5PTkUiKTtkPWd9ZWxzZSBkPWI9PT0iQ09NTUEiPyJDT01NQSI6IlBFUklPRCI7dmFyIGwsbjtkPT09IlBFUklPRCI/KGw9Ii4iLG49U2YpOmQ9PT0iQ09NTUEiPyhsPSIsIiwKbj1UZik6KGw9IiIsbj1VZik7dmFyIHA9Yy5yZXBsYWNlKG4sIiIpO2lmKGwhPT0iIiYmcC5zcGxpdChsKS5sZW5ndGg+MilyZXR1cm4gYTt2YXIgcT1wLnJlcGxhY2UoLywvZywiLiIpO2lmKHE9PT0iIilyZXR1cm4gYTt2YXIgcj1OdW1iZXIocSk7cmV0dXJuIGlzTmFOKHIpP2E6cn07dmFyIFdmPVtdLFhmPXt9O2Z1bmN0aW9uIFlmKGEpe3JldHVybiBXZlthXT09PXZvaWQgMD8hMTpXZlthXX07dmFyIFpmPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSwkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7KGQ9YS5IKVtiXSE9bnVsbHx8KGRbYl09W10pO2EuSFtiXS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkobnVsbCx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfSl9O2Z1bmN0aW9uIGFnKGEsYixjLGQpe2lmKGEpZm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPXZvaWQgMCxnPSJBIHBvbGljeSBmdW5jdGlvbiBkZW5pZWQgdGhlIHBlcm1pc3Npb24gcmVxdWVzdCI7dHJ5e2Y9YVtlXShiLGMsZCksZys9Ii4ifWNhdGNoKGgpe2c9dHlwZW9mIGg9PT0ic3RyaW5nIj9nKygiOiAiK2gpOmggaW5zdGFuY2VvZiBFcnJvcj9nKygiOiAiK2gubWVzc2FnZSk6ZysiLiJ9aWYoIWYpdGhyb3cgbmV3IE9mKGMsZCxnKTt9fQpmdW5jdGlvbiBiZyhhLGIpe3ZhciBjPWNnKGRnLkgsYixmdW5jdGlvbigpe3JldHVybnt9fSk7dHJ5e3JldHVybiBjKGEpLCEwfWNhdGNoKGQpe3JldHVybiExfX1mdW5jdGlvbiBjZyhhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKGQpe3ZhciBlPWEuSFtkXSxmPWEuSC5hbGw7aWYoZXx8Zil7dmFyIGc9Yy5hcHBseSh2b2lkIDAsW2RdLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKTthZyhlLGIsZCxnKTthZyhmLGIsZCxnKX19fX07dmFyIGdnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSz17fTt0aGlzLkg9bmV3IFpmO3ZhciBlPXt9LGY9e30sZz1jZyh0aGlzLkgsYSxmdW5jdGlvbihoKXtyZXR1cm4gaCYmZVtoXT9lW2hdLmFwcGx5KHZvaWQgMCxbaF0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpOnt9fSk7R2IoYixmdW5jdGlvbihoLGwpe2Z1bmN0aW9uIG4ocSl7dmFyIHI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKCFwW3FdKXRocm93IGVnKHEse30sIlRoZSByZXF1ZXN0ZWQgYWRkaXRpb25hbCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO2cuYXBwbHkobnVsbCxbcV0uY29uY2F0KHcocikpKX12YXIgcD17fTtHYihsLGZ1bmN0aW9uKHEscil7dmFyIHQ9ZmcocSxyLGMpO3BbcV09dC5hc3NlcnQ7ZVtxXXx8KGVbcV09dC5hYSk7dC5PbiYmIWZbcV0mJihmW3FdPXQuT24pfSk7ZC5LW2hdPWZ1bmN0aW9uKHEscil7dmFyIHQ9cFtxXTtpZighdCl0aHJvdyBlZyhxLAp7fSwiVGhlIHJlcXVlc3RlZCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO3ZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTt0LmFwcGx5KHZvaWQgMCx1KTtnLmFwcGx5KHZvaWQgMCx1KTt2YXIgdj1mW3FdO3YmJnYuYXBwbHkobnVsbCxbbl0uY29uY2F0KHcodS5zbGljZSgxKSkpKX19KX0saGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGRnLktbYV18fGZ1bmN0aW9uKCl7fX07CmZ1bmN0aW9uIGZnKGEsYixjKXt0cnl7dmFyIGQ9Y1siX18iK2FdO2lmKCFkKXRocm93IEVycm9yKCJObyBmdW5jdGlvbiBmb3VuZCBmb3IgcGVybWlzc2lvbjogIithKyIuIik7dmFyIGU9SGYoYSxiKTtlLnZ0cF9wZXJtaXNzaW9uTmFtZT1hO2UudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcj1lZztkZWxldGUgZVtHZi5ZYl07cmV0dXJuIGQoZSl9Y2F0Y2goZil7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihnKXt0aHJvdyBuZXcgT2YoZyx7fSwiUGVybWlzc2lvbiAiK2crIiBpcyB1bmtub3duLiIpO30sYWE6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgT2YoYSx7fSwiUGVybWlzc2lvbiAiK2ErIiBpcyB1bmtub3duLiIpO319fX1mdW5jdGlvbiBlZyhhLGIsYyl7cmV0dXJuIG5ldyBPZihhLGIsYyl9O3ZhciBpZz1FKDUpLGpnPUUoMjApLGtnPUUoMSksbGc9ITE7dmFyIG1nPXt9O21nLlBvPUlmKDI5KTttZy5Lcj1JZigyOCk7ZnVuY3Rpb24gbmcoYSl7dmFyIGI9MSxjLGQsZTtpZihhKWZvcihiPTAsZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKWU9YS5jaGFyQ29kZUF0KGQpLGI9KGI8PDYmMjY4NDM1NDU1KStlKyhlPDwxNCksYz1iJjI2NjMzODMwNCxiPWMhPT0wP2JeYz4+MjE6YjtyZXR1cm4gYn07dmFyIG9nPWZ1bmN0aW9uKGEpe3RoaXMuY2FjaGU9YX07b2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYj1uZyhhKSxjPXRoaXMuY2FjaGUuZ2V0KGIpO2lmKCFjKXJldHVybntwcm9taXNlOnZvaWQgMCxLajowfTtpZihEYXRlLm5vdygpPj1jLnRpbWVzdGFtcCs5RTUpcmV0dXJuIHRoaXMuY2FjaGUuZGVsZXRlKGIpLHtwcm9taXNlOnZvaWQgMCxLajozfTt2YXIgZD1jLnJlc29sdmVkVmFsdWU/MjoxO3JldHVybntwcm9taXNlOmMucmVzb2x2ZWRWYWx1ZT9Qcm9taXNlLnJlc29sdmUoYy5yZXNvbHZlZFZhbHVlKTpjLnByb21pc2UsS2o6ZH19O29nLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17cHJvbWlzZTpiLHJlc29sdmVkVmFsdWU6dm9pZCAwLHRpbWVzdGFtcDpEYXRlLm5vdygpfTt0aGlzLmNhY2hlLnNldChuZyhhKSxjKTtiLnRoZW4oZnVuY3Rpb24oZCl7Yy5yZXNvbHZlZFZhbHVlPWR9KX07ZnVuY3Rpb24gcGcoYSl7c3dpdGNoKGEpe2Nhc2UgMDpicmVhaztjYXNlIDk6cmV0dXJuImU0IjtjYXNlIDY6cmV0dXJuImU1IjtjYXNlIDE0OnJldHVybiJlNiI7ZGVmYXVsdDpyZXR1cm4iZTcifX07dmFyIEY9e0Q6e1hhOiJhZF9wZXJzb25hbGl6YXRpb24iLGthOiJhZF9zdG9yYWdlIixtYToiYWRfdXNlcl9kYXRhIixyYToiYW5hbHl0aWNzX3N0b3JhZ2UiLG5jOiJyZWdpb24iLHNhOiJjb25zZW50X3VwZGF0ZWQiLFlnOiJ3YWl0X2Zvcl91cGRhdGUiLGVoOiJlbmRwb2ludF90eXBlIixxcDoiYXBwX3JlbW92ZSIscnA6ImFwcF9zdG9yZV9yZWZ1bmQiLHRwOiJhcHBfc3RvcmVfc3Vic2NyaXB0aW9uX2NhbmNlbCIsdXA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY29udmVydCIsdnA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fcmVuZXciLHdwOiJjb25zZW50X3VwZGF0ZSIseHA6ImNvbnZlcnNpb24iLHZsOiJhZGRfcGF5bWVudF9pbmZvIix3bDoiYWRkX3NoaXBwaW5nX2luZm8iLHhlOiJhZGRfdG9fY2FydCIseWU6InJlbW92ZV9mcm9tX2NhcnQiLHhsOiJ2aWV3X2NhcnQiLEFkOiJiZWdpbl9jaGVja291dCIsZXU6ImdlbmVyYXRlX2xlYWQiLHplOiJzZWxlY3RfaXRlbSIsb2M6InZpZXdfaXRlbV9saXN0IiwKUWM6InNlbGVjdF9wcm9tb3Rpb24iLHFjOiJ2aWV3X3Byb21vdGlvbiIsSWI6InB1cmNoYXNlIixBZToicmVmdW5kIixyYzoidmlld19pdGVtIix5bDoiYWRkX3RvX3dpc2hsaXN0Iix5cDoiZXhjZXB0aW9uIix6cDoiZmlyc3Rfb3BlbiIsQXA6ImZpcnN0X3Zpc2l0Iix3YToiZ3RhZy5jb25maWciLEpiOiJndGFnLmdldCIsQnA6ImluX2FwcF9wdXJjaGFzZSIsc2M6InBhZ2VfdmlldyIsQ3A6InNjcmVlbl92aWV3IixEcDoic2Vzc2lvbl9zdGFydCIsRXA6InNvdXJjZV91cGRhdGUiLEZwOiJ0aW1pbmdfY29tcGxldGUiLEdwOiJ0cmFja19zb2NpYWwiLHlmOiJ1c2VyX2VuZ2FnZW1lbnQiLEhwOiJ1c2VyX2lkX3VwZGF0ZSIsZmg6ImJyYWlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLGdoOiJicmFpZF9zdG9yYWdlX3NvdXJjZSIsQmQ6ImdjbGlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLENkOiJnY2xpZF9zdG9yYWdlX3NvdXJjZSIsU2I6ImdjbGdiIixsYjoiZ2NsaWQiLHpsOiJnY2xpZF9sZW4iLApCZToiZ2NsZ3MiLENlOiJnY2xscCIsRGU6ImdjbHN0IixtYjoiYWRzX2RhdGFfcmVkYWN0aW9uIix6ZjoiZ2FkX3NvdXJjZSIsQWY6ImdhZF9zb3VyY2Vfc3JjIixEZDoiZ2NsaWRfdXJsIixBbDoiZ2Nsc3JjIixCZjoiZ2JyYWlkIixFZToid2JyYWlkIixSYzoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uX3NpZ25hbHMiLHJpOiJhbGxvd19jdXN0b21fc2NyaXB0cyIsaGg6ImFsbG93X2Rpc3BsYXlfZmVhdHVyZXMiLHNpOiJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyIsU2M6ImFsbG93X2dvb2dsZV9zaWduYWxzIix1aToiYWxsb3dfaW50ZXJlc3RfZ3JvdXBzIixJcDoiYXBwX2lkIixKcDoiYXBwX2luc3RhbGxlcl9pZCIsS3A6ImFwcF9uYW1lIixMcDoiYXBwX3ZlcnNpb24iLEVkOiJhdWlkIixmdToiYXV0b19kZXRlY3Rpb25fZW5hYmxlZCIsQmw6ImF1dG9fZXZlbnQiLENsOiJhd19yZW1hcmtldGluZyIsaWg6ImF3X3JlbWFya2V0aW5nX29ubHkiLENmOiJkaXNjb3VudCIsRGY6ImF3X2ZlZWRfY291bnRyeSIsCkVmOiJhd19mZWVkX2xhbmd1YWdlIixIYToiaXRlbXMiLEZmOiJhd19tZXJjaGFudF9pZCIsd2k6ImF3X2Jhc2tldF90eXBlIixHZjoiY2FtcGFpZ25fY29udGVudCIsSGY6ImNhbXBhaWduX2lkIixJZjoiY2FtcGFpZ25fbWVkaXVtIixKZjoiY2FtcGFpZ25fbmFtZSIsS2Y6ImNhbXBhaWduIixMZjoiY2FtcGFpZ25fc291cmNlIixNZjoiY2FtcGFpZ25fdGVybSIsS2I6ImNsaWVudF9pZCIsRGw6InJuZCIseGk6ImNvbnNlbnRfdXBkYXRlX3R5cGUiLE1wOiJjb250ZW50X2dyb3VwIixOcDoiY29udGVudF90eXBlIixGZDoiY29udmVyc2lvbl9jb29raWVfcHJlZml4Iix5aToiY29udmVyc2lvbl9pZCIsdWM6ImNvbnZlcnNpb25fbGlua2VyIixIZDoiY29udmVyc2lvbl9saW5rZXJfZGlzYWJsZWQiLEZlOiJjb252ZXJzaW9uX2FwaSIsemk6Il8mcmNiIixqaDoiY29va2llX2RlcHJlY2F0aW9uIixMYjoiY29va2llX2RvbWFpbiIsQ2I6ImNvb2tpZV9leHBpcmVzIixUYjoiY29va2llX2ZsYWdzIiwKSWQ6ImNvb2tpZV9uYW1lIix2YzoiY29va2llX3BhdGgiLG5iOiJjb29raWVfcHJlZml4IixKZDoiY29va2llX3VwZGF0ZSIsVGM6ImNvdW50cnkiLGViOiJjdXJyZW5jeSIsR2U6ImN1c3RvbWVyX2xpZmV0aW1lX3ZhbHVlIixraDoiY3VzdG9tZXJfdHlwZSIsSGU6ImN1c3RvbV9tYXAiLEFpOiJnY2xkY19saW5rX2RlY29yYXRpb25fc291cmNlIixCaToiZ2NsZGNfc3RvcmFnZV9zb3VyY2UiLE5mOiJnY2xkYyIsS2Q6ImRjbGlkIixFbDoiZGVidWdfbW9kZSIsT2E6ImRldmVsb3Blcl9pZCIsT3A6ImRpc2FibGVfbWVyY2hhbnRfcmVwb3J0ZWRfcHVyY2hhc2VzIixVYzoiZGNfY3VzdG9tX3BhcmFtcyIsUHA6ImRjX25hdHVyYWxfc2VhcmNoIixRcDoiZHluYW1pY19ldmVudF9zZXR0aW5ncyIsRmw6ImFmZmlsaWF0aW9uIixtaDoiY2hlY2tvdXRfb3B0aW9uIixDaToiY2hlY2tvdXRfc3RlcCIsR2w6ImNvdXBvbiIsT2Y6Iml0ZW1fbGlzdF9uYW1lIixEaToibGlzdF9uYW1lIixScDoicHJvbW90aW9ucyIsCkxkOiJzaGlwcGluZyIsSGw6InRheCIsbmg6ImVuZ2FnZW1lbnRfdGltZV9tc2VjIixvaDoiZW5oYW5jZWRfY2xpZW50X2lkIixTcDoiZW5oYW5jZWRfY29udmVyc2lvbnMiLGd1OiJlbmhhbmNlZF9jb252ZXJzaW9uc19hdXRvbWF0aWNfc2V0dGluZ3MiLEllOiJlc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZSIsUGY6ImV2ZW50X2NhbGxiYWNrIixUcDoiZXZlbnRfY2F0ZWdvcnkiLFZjOiJldmVudF9kZXZlbG9wZXJfaWRfc3RyaW5nIixNZDoiZXZlbnRfaWQiLEVpOiJfZXZlbnRfam9pbl9pZCIsVXA6ImV2ZW50X2xhYmVsIixVYjoiZXZlbnQiLElsOiJfJmFlIixGaToiZXZlbnRfc2V0dGluZ3MiLHBoOiJldmVudF90aW1lb3V0IixWcDoiZGVzY3JpcHRpb24iLFdwOiJmYXRhbCIsWHA6ImV4cGVyaW1lbnRzIixOZDoiZXh0X2NsaWVudF9pZCIsR2k6ImZpcmViYXNlX2lkIixRZjoiZmlyc3RfcGFydHlfY29sbGVjdGlvbiIsUmY6Il94XzIwIixWYjoiX3hfMTkiLFlwOiJmbGlnaHRfZXJyb3JfY29kZSIsClpwOiJmbGlnaHRfZXJyb3JfbWVzc2FnZSIsSGk6ImZsX2FjdGl2aXR5X2NhdGVnb3J5IixJaToiZmxfYWN0aXZpdHlfZ3JvdXAiLHFoOiJmbF9hZHZlcnRpc2VyX2lkIixKaToibWF0Y2hfaWQiLEpsOiJmbF9yYW5kb21fbnVtYmVyIixLbDoidHJhbiIsTGw6InUiLHJoOiJnYWNfZ2NsaWQiLEplOiJnYWNfd2JyYWlkIixNbDoiZ2FjX3dicmFpZF9tdWx0aXBsZV9jb252ZXJzaW9ucyIsYXE6ImdhX3Jlc3RyaWN0X2RvbWFpbiIsTmw6ImdhX3RlbXBfY2xpZW50X2lkIixicToiZ2FfdGVtcF9lY2lkIixLZToiZ2Rwcl9hcHBsaWVzIixzaDoiX2d0X21ldGFkYXRhIixPbDoiZ2VvX2dyYW51bGFyaXR5IixTZjoidmFsdWVfY2FsbGJhY2siLFRmOiJ2YWx1ZV9rZXkiLFRhOiJnb29nbGVfYW5hbHlzaXNfcGFyYW1zIixMZToiX2dvb2dsZV9uZyIsY3E6Il9vbm8iLFVmOiJnb29nbGVfc2lnbmFscyIsZnE6Imdvb2dsZV90bGQiLHRoOiJncHBfc2lkIix1aDoiZ3BwX3N0cmluZyIsT2Q6Imdyb3VwcyIsClBsOiJnc2FfZXhwZXJpbWVudF9pZCIsVmY6Imd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSIsUWw6Imd0bV91cCIsTWU6ImlmcmFtZV9zdGF0ZSIsV2Y6Imlnbm9yZV9yZWZlcnJlciIsUmw6ImludGVybmFsX3RyYWZmaWNfcmVzdWx0cyIsU2w6Il9pc19mcG0iLFljOiJpc19sZWdhY3lfY29udmVydGVkIixaYzoiaXNfbGVnYWN5X2xvYWRlZCIsS2k6ImlzX3Bhc3N0aHJvdWdoIixQZDoiX2xwcyIsdGI6Imxhbmd1YWdlIixMaToibGVnYWN5X2RldmVsb3Blcl9pZF9zdHJpbmciLERiOiJsaW5rZXIiLFhmOiJhY2NlcHRfaW5jb21pbmciLHdjOiJkZWNvcmF0ZV9mb3JtcyIsQWE6ImRvbWFpbnMiLGFkOiJ1cmxfcG9zaXRpb24iLFFkOiJtZXJjaGFudF9mZWVkX2xhYmVsIixSZDoibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSIsU2Q6Im1lcmNoYW50X2lkIixUbDoibWV0aG9kIixncToibmFtZSIsVWw6Im5hdmlnYXRpb25fdHlwZSIsTmU6Im5ld19jdXN0b21lciIsTWk6Im5vbl9pbnRlcmFjdGlvbiIsCmhxOiJvcHRpbWl6ZV9pZCIsVmw6InBhZ2VfaG9zdG5hbWUiLFlmOiJwYWdlX3BhdGgiLFVhOiJwYWdlX3JlZmVycmVyIixNYjoicGFnZV90aXRsZSIsaXE6InBhc3NlbmdlcnMiLFdsOiJwaG9uZV9jb252ZXJzaW9uX2NhbGxiYWNrIixqcToicGhvbmVfY29udmVyc2lvbl9jb3VudHJ5X2NvZGUiLFhsOiJwaG9uZV9jb252ZXJzaW9uX2Nzc19jbGFzcyIsa3E6InBob25lX2NvbnZlcnNpb25faWRzIixZbDoicGhvbmVfY29udmVyc2lvbl9udW1iZXIiLFpsOiJwaG9uZV9jb252ZXJzaW9uX29wdGlvbnMiLGxxOiJfcGxhdGludW1fcmVxdWVzdF9zdGF0dXMiLG1xOiJfcHJvdGVjdGVkX2F1ZGllbmNlX2VuYWJsZWQiLHdoOiJxdWFudGl0eSIseGg6InJlZGFjdF9kZXZpY2VfaW5mbyIsYW06InJlZmVycmFsX2V4Y2x1c2lvbl9kZWZpbml0aW9uIixodToiX3JlcXVlc3Rfc3RhcnRfdGltZSIsV2I6InJlc3RyaWN0ZWRfZGF0YV9wcm9jZXNzaW5nIixucToicmV0b2tlbiIsb3E6InNhbXBsZV9yYXRlIiwKTmk6InNjcmVlbl9uYW1lIixiZDoic2NyZWVuX3Jlc29sdXRpb24iLGJtOiJfc2NyaXB0X3NvdXJjZSIscHE6InNlYXJjaF90ZXJtIixUZDoic2VuZF9wYWdlX3ZpZXciLFhiOiJzZW5kX3RvIixPaToic2VydmVyX2NvbnRhaW5lcl8zcF9lbnJpY2htZW50IixkZDoic2VydmVyX2NvbnRhaW5lcl91cmwiLHFxOiJzZXNzaW9uX2F0dHJpYnV0ZXNfZW5jb2RlZCIseWg6InNlc3Npb25fZHVyYXRpb24iLHpoOiJzZXNzaW9uX2VuZ2FnZWQiLFBpOiJzZXNzaW9uX2VuZ2FnZWRfdGltZSIseGM6InNlc3Npb25faWQiLEFoOiJzZXNzaW9uX251bWJlciIsWmY6Il9zaGFyZWRfdXNlcl9pZCIsVWQ6ImRlbGl2ZXJ5X3Bvc3RhbF9jb2RlIixpdToiX3RhZ19maXJpbmdfZGVsYXkiLGp1OiJfdGFnX2ZpcmluZ190aW1lIixrdToidGVtcG9yYXJ5X2NsaWVudF9pZCIsUWk6InRlc3Rvbmx5IixycToiX3RpbWV6b25lIixQZToidG9wbW9zdF91cmwiLFFlOiJ0cmFja2luZ19pZCIsUmk6InRyYWZmaWNfdHlwZSIsClBhOiJ0cmFuc2FjdGlvbl9pZCIsZG06InRyYW5zYWN0aW9uX2lkX3NvdXJjZSIseWM6InRyYW5zcG9ydF91cmwiLHNxOiJ0cmlwX3R5cGUiLFZkOiJ1cGRhdGUiLHpjOiJ1cmxfcGFzc3Rocm91Z2giLGZtOiJ1cHRncyIsY2c6Il91c2VyX2FnZW50X2FyY2hpdGVjdHVyZSIsZGc6Il91c2VyX2FnZW50X2JpdG5lc3MiLGVnOiJfdXNlcl9hZ2VudF9mdWxsX3ZlcnNpb25fbGlzdCIsZmc6Il91c2VyX2FnZW50X21vYmlsZSIsZ2c6Il91c2VyX2FnZW50X21vZGVsIixoZzoiX3VzZXJfYWdlbnRfcGxhdGZvcm0iLGlnOiJfdXNlcl9hZ2VudF9wbGF0Zm9ybV92ZXJzaW9uIixqZzoiX3VzZXJfYWdlbnRfd293NjQiLEFjOiJ1c2VyX2RhdGEiLGdtOiJ1c2VyX2RhdGFfYXV0b19sYXRlbmN5IixobToidXNlcl9kYXRhX2F1dG9fbWV0YSIsaW06InVzZXJfZGF0YV9hdXRvX211bHRpIixqbToidXNlcl9kYXRhX2F1dG9fc2VsZWN0b3JzIixrbToidXNlcl9kYXRhX2F1dG9fc3RhdHVzIixCYzoidXNlcl9kYXRhX21vZGUiLApsbToidXNlcl9kYXRhX3NldHRpbmdzIixmYjoidXNlcl9pZCIsV2Q6InVzZXJfcHJvcGVydGllcyIsb206Il91c2VyX3JlZ2lvbiIsa2c6InVzX3ByaXZhY3lfc3RyaW5nIixRYToidmFsdWUiLHFtOiJ3YnJhaWRfbXVsdGlwbGVfY29udmVyc2lvbnMiLGVkOiJfZnBtX3BhcmFtZXRlcnMiLFdpOiJfaG9zdF9uYW1lIixWbToiX2luX3BhZ2VfY29tbWFuZCIsWWk6Il9pcF9vdmVycmlkZSIsWm06Il9pc19wYXNzdGhyb3VnaF9jaWQiLEpoOiJfbWVhc3VyZW1lbnRfdHlwZSIsZGU6Im5vbl9wZXJzb25hbGl6ZWRfYWRzIixvajoiX3NzdF9wYXJhbWV0ZXJzIixZcToic2d0bV9nZW9fdXNlcl9jb3VudHJ5IixHZDoiY29udmVyc2lvbl9sYWJlbCIsemE6InBhZ2VfbG9jYXRpb24iLFdjOiJfZXh0cmFjdGVkX2RhdGEiLFhjOiJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyIsT2U6InRjX3ByaXZhY3lfc3RyaW5nIn19O3ZhciBIPXtKOntTbzoiYWJvcnRfd2l0aG91dF9mYWlsIixraToiYWNjZXB0X2J5X2RlZmF1bHQiLEJrOiJhZGRfdGFnX3RpbWluZyIsRGs6ImFkc19jb25zZW50X2dyYW50ZWQiLHZkOiJhZHNfZXZlbnRfcGFnZV92aWV3Iix3ZDoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIixRdDoiYXV0b19ldmVudCIsS2s6ImJhdGNoX29uX25hdmlnYXRpb24iLFhnOiJiaXNjb3R0aV9qb2luX2lkIixQazoiY2xpZW50X2lkX3NvdXJjZSIsdWY6ImNvbnNlbnRfZXZlbnRfaWQiLHZmOiJjb25zZW50X3ByaW9yaXR5X2lkIixTdDoiY29uc2VudF9zdGF0ZSIsc2E6ImNvbnNlbnRfdXBkYXRlZCIsd2Y6ImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiLFR0OiJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIixHYToiY29va2llX29wdGlvbnMiLG9sOiJkY19yYW5kb20iLFp0OiJkZWR1cGVfaWQiLFBjOiJlbV9ldmVudCIsYnU6ImVuZHBvaW50X2Zvcl9kZWJ1ZyIsdGw6ImVuaGFuY2VkX2NsaWVudF9pZF9zb3VyY2UiLApwcDoiZW5oYW5jZWRfbWF0Y2hfcmVzdWx0IixybToiZXVpZF9sb2dnZWRfaW5fc3RhdGUiLGxnOiJldWlkX21vZGVfZW5hYmxlZCIsdHE6ImV2ZW50X3Byb3ZlbmFuY2UiLG11OiJldmVudF9zb3VyY2UiLEViOiJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiLHdtOiJldmVudF91c2FnZSIsQ2g6ImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyIscHU6ImFkZF9wYXJhbWV0ZXIiLFVpOiJjb3VudGluZ19tZXRob2QiLERoOiJzZW5kX2FzX2lmcmFtZSIscXU6InBhcmFtZXRlcl9vcmRlciIsRWg6InBhcnNlZF90YXJnZXQiLHN1OiJmb3JtX2V2ZW50X2NhbmNlbGVkIixBcToiZ2E0X2NvbGxlY3Rpb25fc3ViZG9tYWluIixWaToiZ2E0X3JlcXVlc3RfZmxhZ3MiLE5tOiJnYnJhaWRfY29va2llX21hcmtlZCIsUW06Imd0bV9leHRyYWN0ZWRfZGF0YSIsQ2M6ImhhbmRsZV9pbnRlcm5hbGx5Iix1dToiaGFzX2dhX2NvbnZlcnNpb25fY29uc2VudHMiLGRhOiJoaXRfdHlwZSIsRGM6ImhpdF90eXBlX292ZXJyaWRlIiwKSHE6Imlnbm9yZV9kdXBlX2NvbmZpZyIsT3U6ImlzX2NvbmZpZ19jb21tYW5kIixHaDoiaXNfY29uc2VudF91cGRhdGUiLG1nOiJpc19jb252ZXJzaW9uIixXbToiaXNfZWNvbW1lcmNlIixYbToiaXNfZWNfY21fc3BsaXQiLGFlOiJpc19leHRlcm5hbF9ldmVudCIsbmc6ImlzX2ZpcnN0X3Zpc2l0IixZbToiaXNfZmlyc3RfdmlzaXRfY29udmVyc2lvbiIsWmk6ImlzX2ZsX2ZhbGxiYWNrX2NvbnZlcnNpb25fZmxvd19hbGxvd2VkIixmZDoiaXNfZnBtX2VuY3J5cHRpb24iLGFqOiJpc19mcG1fc3BsaXQiLG9iOiJpc19nY3BfYnJvd3NlciIsYmo6ImlzX2dvb2dsZV9tZWFzdXJlbWVudF9hbGxvd2VkIixjajoiaXNfZ29vZ2xlX3NpZ25hbHNfZW5hYmxlZCIsYmU6ImlzX21lcmNoYW50X2NlbnRlciIsSGg6ImlzX25ld190b19zaXRlIixFYzoiaXNfcGVyc29uYWxpemF0aW9uIixkajoiaXNfc2VydmVyX3NpZGVfZGVzdGluYXRpb24iLFRlOiJpc19zZXNzaW9uX3N0YXJ0IixibjoiaXNfc2Vzc2lvbl9zdGFydF9jb252ZXJzaW9uIiwKUHU6ImlzX3NndG1fZ2FfYWRzX2NvbnZlcnNpb25fc3R1ZHlfY29udHJvbF9ncm91cCIsUXU6ImlzX3NndG1fcHJlaGl0IixkbjoiaXNfc2d0bV9zZXJ2aWNlX3dvcmtlciIsSWg6ImlzX3NwbGl0X2NvbnZlcnNpb24iLElxOiJpc19zeW4iLEZjOiJpc190ZXN0X2V2ZW50IixvZzoiam9pbl9pZCIsZWo6ImpvaW5fZWxhcHNlZCIscGc6ImpvaW5fdGltZXJfc2VjIixnbjoibG9jYWxfc3RvcmFnZV9hd19jb252ZXJzaW9uX2NvdW50ZXJzIixXZToidHVubmVsX3VwZGF0ZWQiLFV1OiJwcmVoaXRfZm9yX3JldHJ5IixXdToicHJvbWlzZXMiLFh1OiJyZWNvcmRfYXdfbGF0ZW5jeSIsWGU6InJlZGFjdF9hZHNfZGF0YSIsWWU6InJlZGFjdF9jbGlja19pZHMiLHBuOiJyZW1hcmtldGluZ19vbmx5Iixsajoic2VuZF9jY21fcGFyYWxsZWxfcGluZyIsaGQ6InNlbmRfZG91YmxlY2xpY2tfam9pbiIsTWg6InNlbmRfZnBtX2dlb19qb2luIixOaDoic2VuZF9mcG1fZ29vZ2xlX2pvaW4iLFp1OiJzZW5kX2NjbV9wYXJhbGxlbF90ZXN0X3BpbmciLApybjoic2VuZF9nb29nbGVfbWVhc3VyZW1lbnQiLHJnOiJzZW5kX3RsZF9qb2luIixzZzoic2VuZF90b19kZXN0aW5hdGlvbnMiLG1qOiJzZW5kX3RvX3RhcmdldHMiLHNuOiJzZW5kX3VzZXJfZGF0YV9oaXQiLHBqOiJzZXJ2aWNlX3dvcmtlcl9jb250ZXh0IixOYjoic291cmNlX2Nhbm9uaWNhbF9pZCIsSmE6InNwZWN1bGF0aXZlIix5bjoic3BlY3VsYXRpdmVfaW5fbWVzc2FnZSIsQW46InN1cHByZXNzX3NjcmlwdF9sb2FkIixCbjoic3luX29yX21vZCIsemo6InRyYW5zaWVudF9lY3NpZCIsdGc6InRyYW5zbWlzc2lvbl90eXBlIixZYToidXNlcl9kYXRhIixndjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljIixodjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciIsR246InVzZXJfZGF0YV9mcm9tX2NvZGUiLGlyOiJ1c2VyX2RhdGFfZnJvbV9tYW51YWwiLGp2OiJ1c2VyX2RhdGFfbW9kZSIsdWc6InVzZXJfaWRfdXBkYXRlZCJ9fTsKdmFyIHRnPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9MDtHYihhLGZ1bmN0aW9uKGUsZil7aWYoZiE9bnVsbCl7dmFyIGc9KCIiK2YpLnJlcGxhY2UoL34vZywifn4iKTtpZihxZy5oYXNPd25Qcm9wZXJ0eShlKSliW3FnW2VdXT1nO2Vsc2UgaWYocmcuaGFzT3duUHJvcGVydHkoZSkpe3ZhciBoPXJnW2VdO2IuaGFzT3duUHJvcGVydHkoaCl8fChiW2hdPWcpfWVsc2UgaWYoZT09PSJjYXRlZ29yeSIpZm9yKHZhciBsPWcuc3BsaXQoIi8iLDUpLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9YixxPXNnW25dLHI9bFtuXTtwLmhhc093blByb3BlcnR5KHEpfHwocFtxXT1yKX1lbHNlIGlmKGM8Mjcpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGUoYzwxMD80OCtjOjY1K2MtMTApO2JbImsiK3RdPSgiIitTdHJpbmcoZSkpLnJlcGxhY2UoL34vZywifn4iKTtiWyJ2Iit0XT1nO2MrK319fSk7dmFyIGQ9W107R2IoYixmdW5jdGlvbihlLGYpe2QucHVzaCgiIitlK2YpfSk7cmV0dXJuIGQuam9pbigifiIpfSwKcWc9e2l0ZW1faWQ6ImlkIixpdGVtX25hbWU6Im5tIixpdGVtX2JyYW5kOiJiciIsaXRlbV9jYXRlZ29yeToiY2EiLGl0ZW1fY2F0ZWdvcnkyOiJjMiIsaXRlbV9jYXRlZ29yeTM6ImMzIixpdGVtX2NhdGVnb3J5NDoiYzQiLGl0ZW1fY2F0ZWdvcnk1OiJjNSIsaXRlbV92YXJpYW50OiJ2YSIscHJpY2U6InByIixxdWFudGl0eToicXQiLGNvdXBvbjoiY3AiLGl0ZW1fbGlzdF9uYW1lOiJsbiIsaW5kZXg6ImxwIixpdGVtX2xpc3RfaWQ6ImxpIixkaXNjb3VudDoiZHMiLGFmZmlsaWF0aW9uOiJhZiIscHJvbW90aW9uX2lkOiJwaSIscHJvbW90aW9uX25hbWU6InBuIixjcmVhdGl2ZV9uYW1lOiJjbiIsY3JlYXRpdmVfc2xvdDoiY3MiLGxvY2F0aW9uX2lkOiJsbyJ9LHJnPXtpZDoiaWQiLG5hbWU6Im5tIixicmFuZDoiYnIiLHZhcmlhbnQ6InZhIixsaXN0X25hbWU6ImxuIixsaXN0X3Bvc2l0aW9uOiJscCIsbGlzdDoibG4iLHBvc2l0aW9uOiJscCIsY3JlYXRpdmU6ImNuIn0sc2c9WyJjYSIsCiJjMiIsImMzIiwiYzQiLCJjNSJdO3ZhciB1Zz1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSkpfSk7cmV0dXJuIGIuam9pbigiJiIpfSx2Zz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuYmFzZVVybD1iO3RoaXMuZW5kcG9pbnQ9Yzt0aGlzLmRlc3RpbmF0aW9uSWQ9Zjt0aGlzLmV2ZW50SWQ9Zzt0aGlzLnByaW9yaXR5SWQ9aDt0aGlzLkJhPWEuQmE7dGhpcy52ZT1hLnZlO3RoaXMuTGo9YS5Majt0aGlzLk49ZDt0aGlzLks9dWcoYS5CYSk7dGhpcy5IPXVnKGEuTGopO3RoaXMuUj10aGlzLkgubGVuZ3RoO2lmKGUmJnRoaXMuUj4xNjM4NCl0aHJvdyBFcnJvcigiRVZFTlRfVE9PX0xBUkdFIik7fTsKdmFyIHdnPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHM9W107dGhpcy5IPSIiO3RoaXMuQmE9e307dGhpcy5iYXNlVXJsPSIiO3RoaXMuTj0wO3RoaXMuSz0xO3RoaXMuZW5kcG9pbnQ9MH07d2cucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5SKGEpPyh0aGlzLmV2ZW50cy5wdXNoKGEpLHRoaXMuSD1hLkssdGhpcy5CYT1hLkJhLHRoaXMuYmFzZVVybD1hLmJhc2VVcmwsdGhpcy5OKz1hLlIsdGhpcy5LPWEuTix0aGlzLmVuZHBvaW50PWEuZW5kcG9pbnQsdGhpcy5kZXN0aW5hdGlvbklkPWEuZGVzdGluYXRpb25JZCx0aGlzLlo9YS5ldmVudElkLHRoaXMuZmE9YS5wcmlvcml0eUlkLCEwKTohMX07d2cucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aD90aGlzLmV2ZW50cy5sZW5ndGg+PTIwfHxhLlIrdGhpcy5OPj0xNjM4ND8hMTp0aGlzLmJhc2VVcmw9PT1hLmJhc2VVcmwmJnRoaXMuSz09PWEuTiYmdGhpcy5qYShhKTohMH07CndnLnByb3RvdHlwZS5qYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5IPT09YS5LfTt2YXIgSj17VTp7a3A6MSxtcDoyLEVuOjMsbm46NCxxbDo1LHJsOjYsRXE6NyxucDo4LERxOjksanA6MTAsaHA6MTEseG46MTIsdm46MTMsTms6MTQsVW86MTUsV286MTYsaG46MTcsc2w6MTgsZm46MTksbHA6MjAsUHE6MjEsYXA6MjIsVm86MjMsWG86MjQsbmw6MjUsTGs6MjYsZXI6MjcsSm06MjgsVW06MjksVG06MzAsU206MzEsTW06MzIsS206MzMsTG06MzQsR206MzUsRm06MzYsSG06MzcsSW06MzgsQnE6MzksQ3E6NDAsVXE6NDF9fTtKLlVbSi5VLmtwXT0iQ1JFQVRFX0VWRU5UX1NPVVJDRSI7Si5VW0ouVS5tcF09IkVESVRfRVZFTlQiO0ouVVtKLlUuRW5dPSJUUkFGRklDX1RZUEUiO0ouVVtKLlUubm5dPSJSRUZFUlJBTF9FWENMVVNJT04iO0ouVVtKLlUucWxdPSJFQ09NTUVSQ0VfRlJPTV9HVE1fVEFHIjtKLlVbSi5VLnJsXT0iRUNPTU1FUkNFX0ZST01fR1RNX1VBX1NDSEVNQSI7Si5VW0ouVS5FcV09IkdBX1NFTkQiO0ouVVtKLlUubnBdPSJFTV9GT1JNIjsKSi5VW0ouVS5EcV09IkdBX0dBTV9MSU5LIjtKLlVbSi5VLmpwXT0iQ1JFQVRFX0VWRU5UX0FVVE9fUEFHRV9QQVRIIjtKLlVbSi5VLmhwXT0iQ1JFQVRFRF9FVkVOVCI7Si5VW0ouVS54bl09IlNJREVMT0FERUQiO0ouVVtKLlUudm5dPSJTR1RNX0xFR0FDWV9DT05GSUdVUkFUSU9OIjtKLlVbSi5VLk5rXT0iQ0NEX0VNX0VWRU5UIjtKLlVbSi5VLlVvXT0iQVVUT19SRURBQ1RfRU1BSUwiO0ouVVtKLlUuV29dPSJBVVRPX1JFREFDVF9RVUVSWV9QQVJBTSI7Si5VW0ouVS5obl09Ik1VTFRJUExFX1BBR0VWSUVXX0ZST01fQ09ORklHIjtKLlVbSi5VLnNsXT0iRU1fRVZFTlRfU0VOVF9CRUZPUkVfQ09ORklHIjtKLlVbSi5VLmZuXT0iTE9BREVEX1ZJQV9DU1RfT1JfU0lERUxPQURJTkciO0ouVVtKLlUubHBdPSJERUNPREVEX1BBUkFNX01BVENIIjtKLlVbSi5VLlBxXT0iTk9OX0RFQ09ERURfUEFSQU1fTUFUQ0giO0ouVVtKLlUuYXBdPSJDQ0RfRVZFTlRfU0dUTSI7CkouVVtKLlUuVm9dPSJBVVRPX1JFREFDVF9FTUFJTF9TR1RNIjtKLlVbSi5VLlhvXT0iQVVUT19SRURBQ1RfUVVFUllfUEFSQU1fU0dUTSI7Si5VW0ouVS5ubF09IkRBSUxZX0xJTUlUX1JFQUNIRUQiO0ouVVtKLlUuTGtdPSJCVVJTVF9MSU1JVF9SRUFDSEVEIjtKLlVbSi5VLmVyXT0iU0hBUkVEX1VTRVJfSURfU0VUX0FGVEVSX1JFUVVFU1QiO0ouVVtKLlUuSm1dPSJHQTRfTVVMVElQTEVfU0VTU0lPTl9DT09LSUVTIjtKLlVbSi5VLlVtXT0iSU5WQUxJRF9HQTRfU0VTU0lPTl9DT1VOVCI7Si5VW0ouVS5UbV09IklOVkFMSURfR0E0X0xBU1RfRVZFTlRfVElNRVNUQU1QIjtKLlVbSi5VLlNtXT0iSU5WQUxJRF9HQTRfSk9JTl9USU1FUiI7Si5VW0ouVS5NbV09IkdBNF9TVEFMRV9TRVNTSU9OX0NPT0tJRV9TRUxFQ1RFRCI7Si5VW0ouVS5LbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzFfUkVBRCI7Si5VW0ouVS5MbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzJfUkVBRCI7CkouVVtKLlUuR21dPSJHQTRfRExfUEFSQU1fUkVDT1ZFUllfQVZBSUxBQkxFIjtKLlVbSi5VLkZtXT0iR0E0X0RMX1BBUkFNX1JFQ09WRVJZX0FQUExJRUQiO0ouVVtKLlUuSG1dPSJHQTRfR09PR0xFX01FQVNVUkVNRU5UX0FMTE9XRUQiO0ouVVtKLlUuSW1dPSJHQTRfR09PR0xFX1NJR05BTFNfRU5BQkxFRCI7Si5VW0ouVS5CcV09IkdBNF9GQUxMQkFDS19SRVFVRVNUIjtKLlVbSi5VLkNxXT0iR0FfQURTX0xJTktfQkVGT1JFX0NPTlZFUlNJT05fTUFSS0lORyI7Si5VW0ouVS5VcV09IlBMQVRJTlVNX0VMSUdJQkxFIjt2YXIgeGc9e30seWc9KHhnLnVhYT0hMCx4Zy51YWI9ITAseGcudWFmdmw9ITAseGcudWFtYj0hMCx4Zy51YW09ITAseGcudWFwPSEwLHhnLnVhcHY9ITAseGcudWF3PSEwLHhnKTsKdmFyIEJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ldmVudHM7aWYoYy5sZW5ndGg9PT0xKXJldHVybiB6ZyhjWzBdLGIpO3ZhciBkPVtdO2EuSCYmZC5wdXNoKGEuSCk7Zm9yKHZhciBlPXt9LGY9MDtmPGMubGVuZ3RoO2YrKylHYihjW2ZdLnZlLGZ1bmN0aW9uKHQsdSl7dSE9bnVsbCYmKGVbdF09ZVt0XXx8e30sZVt0XVtTdHJpbmcodSldPWVbdF1bU3RyaW5nKHUpXSsxfHwxKX0pO3ZhciBnPXt9O0diKGUsZnVuY3Rpb24odCx1KXt2YXIgdix4PS0xLHk9MDtHYih1LGZ1bmN0aW9uKHosQyl7eSs9Qzt2YXIgRD0oei5sZW5ndGgrdC5sZW5ndGgrMikqKEMtMSk7RD54JiYodj16LHg9RCl9KTt5PT09Yy5sZW5ndGgmJihnW3RdPXYpfSk7QWcoZyxkKTtiJiZkLnB1c2goIl9zPSIrYik7Zm9yKHZhciBoPWQuam9pbigiJiIpLGw9W10sbj17fSxwPTA7cDxjLmxlbmd0aDtuPXtmazp2b2lkIDB9LHArKyl7dmFyIHE9W107bi5maz17fTtHYihjW3BdLnZlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih1LAp2KXtnW3VdIT09IiIrdiYmKHQuZmtbdV09dil9fShuKSk7Y1twXS5IJiZxLnB1c2goY1twXS5IKTtBZyhuLmZrLHEpO2wucHVzaChxLmpvaW4oIiYiKSl9dmFyIHI9bC5qb2luKCJcclxuIik7cmV0dXJue3BhcmFtczpoLGJvZHk6cn19LHpnPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107YS5LJiZjLnB1c2goYS5LKTtiJiZjLnB1c2goIl9zPSIrYik7QWcoYS52ZSxjKTt2YXIgZD0hMTthLkgmJihjLnB1c2goYS5IKSxkPSEwKTt2YXIgZT1jLmpvaW4oIiYiKSxmPSIiLGc9ZS5sZW5ndGgrYS5iYXNlVXJsLmxlbmd0aCsxO2QmJmc+MjA0OCYmKGY9Yy5wb3AoKSxlPWMuam9pbigiJiIpKTtyZXR1cm57cGFyYW1zOmUsYm9keTpmfX0sQWc9ZnVuY3Rpb24oYSxiKXtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGQpKX0pfTsKdmFyIEVnPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWEsZT1iW2NdO2lmKCFDZy5leGVjKGUpKXRocm93IEVycm9yKCJJbnZhbGlkIGtleSB3aWxkY2FyZCIpO3ZhciBmPWUuaW5kZXhPZigiLioiKSxnPWYhPT0tMSYmZj09PWUubGVuZ3RoLTIsaD1nP2Uuc2xpY2UoMCxlLmxlbmd0aC0yKTplLGw7YTppZihkLmxlbmd0aD09PTApbD0hMTtlbHNle2Zvcih2YXIgbj1kLnNwbGl0KCIuIikscD0wO3A8bi5sZW5ndGg7cCsrKWlmKCFEZy5leGVjKG5bcF0pKXtsPSExO2JyZWFrIGF9bD0hMH1pZighbHx8aC5sZW5ndGg+ZC5sZW5ndGh8fCFnJiZkLmxlbmd0aCE9PWUubGVuZ3RoPzA6Zz9TYihkLGgpJiYoZD09PWh8fGQuY2hhckF0KGgubGVuZ3RoKT09PSIuIik6ZD09PWgpcmV0dXJuITB9cmV0dXJuITF9LERnPS9eW2EteiRfXVtcdy0kXSokL2ksQ2c9L14oPzpbYS16XyRdW2Etei1fJDAtOV0qXC4pKlthLXpfJF1bYS16LV8kMC05XSooPzpcLlwqKT8kL2k7CnZhciBGZz1bIm1hdGNoZXMiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJtc01hdGNoZXNTZWxlY3RvciIsIm9NYXRjaGVzU2VsZWN0b3IiXTtmdW5jdGlvbiBHZyhhLGIpe2lmKCFhKXJldHVybiExO3RyeXtmb3IodmFyIGM9MDtjPEZnLmxlbmd0aDtjKyspe3ZhciBkPUZnW2NdO2lmKGFbZF0hPW51bGwpcmV0dXJuIGFbZF0oYil9fWNhdGNoKGUpe31yZXR1cm4hMX1mdW5jdGlvbiBIZyhhLGIpe3ZhciBjPVN0cmluZyhhKSxkPVN0cmluZyhiKSxlPWMubGVuZ3RoLWQubGVuZ3RoO3JldHVybiBlPj0wJiZjLmluZGV4T2YoZCxlKT09PWV9ZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4gU3RyaW5nKGEpLnNwbGl0KCIsIikuaW5kZXhPZihTdHJpbmcoYikpPj0wfQpmdW5jdGlvbiBKZyhhLGIsYyxkKXt2YXIgZT1jPyJpIjp2b2lkIDA7dHJ5e3ZhciBmPVN0cmluZyhiKStTdHJpbmcoZSksZz1kPT1udWxsP3ZvaWQgMDpkLmdldChmKTtnfHwoZz1uZXcgUmVnRXhwKGIsZSksZD09bnVsbHx8ZC5zZXQoZixnKSk7cmV0dXJuIGcudGVzdChhKX1jYXRjaChoKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coYSxiKXtyZXR1cm4gU3RyaW5nKGEpLmluZGV4T2YoU3RyaW5nKGIpKT49MH1mdW5jdGlvbiBMZyhhLGIpe3JldHVybiBTdHJpbmcoYSk9PT1TdHJpbmcoYil9ZnVuY3Rpb24gTWcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPj1OdW1iZXIoYil9ZnVuY3Rpb24gTmcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPD1OdW1iZXIoYil9ZnVuY3Rpb24gT2coYSxiKXtyZXR1cm4gTnVtYmVyKGEpPk51bWJlcihiKX1mdW5jdGlvbiBQZyhhLGIpe3JldHVybiBOdW1iZXIoYSk8TnVtYmVyKGIpfQpmdW5jdGlvbiBRZyhhLGIpe3JldHVybiBTYihTdHJpbmcoYSksU3RyaW5nKGIpKX07ZnVuY3Rpb24gWGcoYSl7dmFyIGI9YS5zZWFyY2g7cmV0dXJuIGEucHJvdG9jb2wrIi8vIithLmhvc3RuYW1lK2EucGF0aG5hbWUrKGI/YisiJnJpY2hzc3Rzc2UiOiI/cmljaHNzdHNzZSIpfTt2YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlI9IiJ9LCRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5mYWxsYmFja191cmwsZD1iLmZhbGxiYWNrX3VybF9tZXRob2Q7aWYoYyYmZCl7dmFyIGU9e307WmcoYSwoZVtkXT1bY10sZS5vcHRpb25zPXt9LGUpKX19fSxhaD1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTt0eXBlb2YgZj09PSJzdHJpbmciJiZjKGYsYil9fSxaZz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPUNkKGIub3B0aW9ucyk/Yi5vcHRpb25zOnt9LGQ9bShPYmplY3Qua2V5cyhiKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1iW2ZdO3N3aXRjaChmKXtjYXNlICJzZW5kX3BpeGVsIjphaChnLGMsZnVuY3Rpb24oaCxsKXtyZXR1cm4gdm9pZCBhLksoaCxsKX0pO2JyZWFrO2Nhc2UgImZldGNoIjphaChnLApjLGZ1bmN0aW9uKGgsbCl7cmV0dXJuIHZvaWQgYS5IKGgsbCl9KX19fTt2YXIgYmg9L14oW2Etel1bYS16MC05XSopOighfFw/KShcKnxzdHJpbmd8Ym9vbGVhbnxudW1iZXJ8Rm58UGl4aWVNYXB8TGlzdHxPcGFxdWVWYWx1ZSkkL2ksY2g9e0ZuOiJmdW5jdGlvbiIsUGl4aWVNYXA6Ik9iamVjdCIsTGlzdDoiQXJyYXkifTsKZnVuY3Rpb24gZGgoYSxiKXtmb3IodmFyIGM9WyJpbnB1dDohKiJdLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9YmguZXhlYyhjW2RdKTtpZighZSl0aHJvdyBFcnJvcigiSW50ZXJuYWwgRXJyb3IgaW4gIithKTt2YXIgZj1lWzFdLGc9ZVsyXT09PSIhIixoPWVbM10sbD1iW2RdO2lmKGw9PW51bGwpe2lmKGcpdGhyb3cgRXJyb3IoIkVycm9yIGluICIrYSsiLiBSZXF1aXJlZCBhcmd1bWVudCAiK2YrIiBub3Qgc3VwcGxpZWQuIik7fWVsc2UgaWYoaCE9PSIqIil7dmFyIG49dHlwZW9mIGw7bCBpbnN0YW5jZW9mIEtkP249IkZuIjpsIGluc3RhbmNlb2YgR2Q/bj0iTGlzdCI6bCBpbnN0YW5jZW9mIGtiP249IlBpeGllTWFwIjpsIGluc3RhbmNlb2YgU2Q/bj0iUGl4aWVQcm9taXNlIjpsIGluc3RhbmNlb2YgUGQmJihuPSJPcGFxdWVWYWx1ZSIpO2lmKG4hPT1oKXRocm93IEVycm9yKCJFcnJvciBpbiAiK2ErIi4gQXJndW1lbnQgIitmKyIgaGFzIHR5cGUgIisoKGNoW25dfHxuKSsiLCB3aGljaCBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCB0eXBlICIpKwooKGNoW2hdfHxoKSsiLiIpKTt9fX1mdW5jdGlvbiBLKGEsYixjKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2cgaW5zdGFuY2VvZiBLZD9kLnB1c2goImZ1bmN0aW9uIik6ZyBpbnN0YW5jZW9mIEdkP2QucHVzaCgiQXJyYXkiKTpnIGluc3RhbmNlb2Yga2I/ZC5wdXNoKCJPYmplY3QiKTpnIGluc3RhbmNlb2YgU2Q/ZC5wdXNoKCJQcm9taXNlIik6ZyBpbnN0YW5jZW9mIFBkP2QucHVzaCgiT3BhcXVlVmFsdWUiKTpkLnB1c2godHlwZW9mIGcpfXJldHVybiBFcnJvcigiQXJndW1lbnQgZXJyb3IgaW4gIithKyIuIEV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIFsiKyhiLmpvaW4oIiwiKSsiXSwgYnV0IHJlY2VpdmVkIFsiKSsoZC5qb2luKCIsIikrIl0uIikpfWZ1bmN0aW9uIGVoKGEpe3JldHVybiBhIGluc3RhbmNlb2Yga2J9ZnVuY3Rpb24gZmgoYSl7cmV0dXJuIGVoKGEpfHxhPT09bnVsbHx8Z2goYSl9CmZ1bmN0aW9uIGhoKGEpe3JldHVybiBhIGluc3RhbmNlb2YgS2R9ZnVuY3Rpb24gaWgoYSl7cmV0dXJuIGhoKGEpfHxhPT09bnVsbHx8Z2goYSl9ZnVuY3Rpb24gamgoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBHZH1mdW5jdGlvbiBraChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFBkfWZ1bmN0aW9uIGxoKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIG1oKGEpe3JldHVybiBsaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIG5oKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn1mdW5jdGlvbiBvaChhKXtyZXR1cm4gbmgoYSl8fGdoKGEpfWZ1bmN0aW9uIHBoKGEpe3JldHVybiBuaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIHFoKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifWZ1bmN0aW9uIGdoKGEpe3JldHVybiBhPT09dm9pZCAwfTtmdW5jdGlvbiByaChhKXtyZXR1cm4iIithfQpmdW5jdGlvbiBzaChhLGIpe3ZhciBjPVtdO3JldHVybiBjfTtmdW5jdGlvbiB0aChhLGIpe3ZhciBjPW5ldyBLZChhLGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT10aGlzLmV2YWx1YXRlKGRbZV0pO3RyeXtyZXR1cm4gYi5hcHBseSh0aGlzLGQpfWNhdGNoKGcpe3Rocm93IGNiKGcpO319KTtjLlphKCk7cmV0dXJuIGN9CmZ1bmN0aW9uIHVoKGEsYil7dmFyIGM9bmV3IGtiLGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKXt2YXIgZT1iW2RdO3liKGUpP2Muc2V0KGQsdGgoYSsiXyIrZCxlKSk6Q2QoZSk/Yy5zZXQoZCx1aChhKyJfIitkLGUpKTooQWIoZSl8fHpiKGUpfHx0eXBlb2YgZT09PSJib29sZWFuIikmJmMuc2V0KGQsZSl9Yy5aYSgpO3JldHVybiBjfTtmdW5jdGlvbiB3aChhLGIpe2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydEFwaVN1YmplY3QiLApjKX07ZnVuY3Rpb24geGgoYSxiKXtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIFNkKXRocm93IEVycm9yKCJBcmd1bWVudCBhY3R1YWwgY2Fubm90IGhhdmUgdHlwZSBQcm9taXNlLiBBc3NlcnRpb25zIG9uIGFzeW5jaHJvbm91cyBjb2RlIGFyZW4ndCBzdXBwb3J0ZWQuIik7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydFRoYXRTdWJqZWN0IixjKX07ZnVuY3Rpb24geWgoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBiPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxjPVtdLGQ9dGhpcy5ULGU9MDtlPGIubGVuZ3RoOysrZSljLnB1c2goVGQoYltlXSxkKSk7cmV0dXJuIFVkKGEuYXBwbHkobnVsbCxjKSl9fWZ1bmN0aW9uIHpoKCl7Zm9yKHZhciBhPU1hdGgsYj1BaCxjPXt9LGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTthLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT15aChhW2VdLmJpbmQoYSkpKX1yZXR1cm4gY307ZnVuY3Rpb24gQmgoYSl7cmV0dXJuIGEhPW51bGwmJlNiKGEsIl9fY3Z0XyIpfTtmdW5jdGlvbiBDaChhKXt2YXIgYjtyZXR1cm4gYn07ZnVuY3Rpb24gRGgoYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3RyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhKX1jYXRjaChjKXt9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJKGEpfWNhdGNoKGIpe319O2Z1bmN0aW9uIEZoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9Y2F0Y2goYil7fX07ZnVuY3Rpb24gR2goYSxiKXt2YXIgYz0hMTt2YXIgZD1KU09OLnBhcnNlKGEpO2lmKCFkKXRocm93IEVycm9yKCJJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBzdHJpbmcgd2FzIGdpdmVuLiIpO2M9SGgoZCxiKTtyZXR1cm4gY30KdmFyIEloPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe2lmKGE9PT12b2lkIDApcmV0dXJuO2E9YVtiW2NdXX1yZXR1cm4gYX0sSmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByZUhpdDtpZihjKXt2YXIgZD1hWzBdO3N3aXRjaChkKXtjYXNlICJoaXREYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRIaXREYXRhKGFbMV0pLGEuc2xpY2UoMikpO2Nhc2UgIm1ldGFkYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRNZXRhZGF0YShhWzFdKSxhLnNsaWNlKDIpKTtjYXNlICJldmVudE5hbWUiOnJldHVybiBjLmdldEV2ZW50TmFtZSgpO2Nhc2UgImRlc3RpbmF0aW9uSWQiOnJldHVybiBjLmdldERlc3RpbmF0aW9uSWQoKTtkZWZhdWx0OnRocm93IEVycm9yKGQrIiBpcyBub3QgYSB2YWxpZCBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGZyb20gUHJlSGl0IGRhdGEuIik7fX19LApLaD1mdW5jdGlvbihhLGIpe2lmKGEpe2lmKGEuY29udGV4dFZhbHVlIT09dm9pZCAwKXt2YXIgYzthOnt2YXIgZD1hLmNvbnRleHRWYWx1ZSxlPWQua2V5UGFydHM7aWYoZSYmZS5sZW5ndGghPT0wKXt2YXIgZj1kLm5hbWVzcGFjZVR5cGU7c3dpdGNoKGYpe2Nhc2UgMTpjPUpoKGUsYik7YnJlYWsgYTtjYXNlIDI6dmFyIGc9Yi5tYWNybztjPWc/Z1tlWzBdXTp2b2lkIDA7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIE5hbWVzcGFjZSBUeXBlIHVzZWQ6ICIrZik7fX1jPXZvaWQgMH1yZXR1cm4gY31pZihhLmJvb2xlYW5FeHByZXNzaW9uVmFsdWUhPT12b2lkIDApcmV0dXJuIEhoKGEuYm9vbGVhbkV4cHJlc3Npb25WYWx1ZSxiKTtpZihhLmJvb2xlYW5WYWx1ZSE9PXZvaWQgMClyZXR1cm4hIWEuYm9vbGVhblZhbHVlO2lmKGEuc3RyaW5nVmFsdWUhPT12b2lkIDApcmV0dXJuIFN0cmluZyhhLnN0cmluZ1ZhbHVlKTtpZihhLmludGVnZXJWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuaW50ZWdlclZhbHVlKTsKaWYoYS5kb3VibGVWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuZG91YmxlVmFsdWUpO3Rocm93IEVycm9yKCJVbmtub3duIGZpZWxkIHVzZWQgZm9yIHZhcmlhYmxlIG9mIHR5cGUgRXhwcmVzc2lvblZhbHVlOiIrYSk7fX0sSGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmFyZ3M7aWYoIUFycmF5LmlzQXJyYXkoYyl8fGMubGVuZ3RoPT09MCl0aHJvdyBFcnJvcignSW52YWxpZCBib29sZWFuIGV4cHJlc3Npb24gZm9ybWF0LiBFeHBlY3RlZCAiYXJncyI6JytjKyIgcHJvcGVydHkgdG9cbiAgICAgICAgIGJlIG5vbi1lbXB0eSBhcnJheS4iKTt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4gS2goZyxiKX07c3dpdGNoKGEudHlwZSl7Y2FzZSAxOmZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGQoY1tlXSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSAyOmZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKCFkKGNbZl0pKXJldHVybiExO3JldHVybiBjLmxlbmd0aD4wO2Nhc2UgMzpyZXR1cm4hZChjWzBdKTsKY2FzZSA0OnJldHVybiBKZyhkKGNbMF0pLGQoY1sxXSksITEsYi5yZWdleENhY2hlKTtjYXNlIDU6cmV0dXJuIExnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA2OnJldHVybiBRZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgNzpyZXR1cm4gSGcoZChjWzBdKSxkKGNbMV0pKTtjYXNlIDg6cmV0dXJuIEtnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA5OnJldHVybiBQZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTA6cmV0dXJuIE5nKGQoY1swXSksZChjWzFdKSk7Y2FzZSAxMTpyZXR1cm4gT2coZChjWzBdKSxkKGNbMV0pKTtjYXNlIDEyOnJldHVybiBNZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTM6cmV0dXJuIElnKGQoY1swXSksU3RyaW5nKGQoY1sxXSkpKTtkZWZhdWx0OnRocm93IEVycm9yKCdJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBmb3JtYXQuIEV4cGVjdGVkICJ0eXBlIiBwcm9wZXJ0eSB0b2JlIGEgcG9zaXRpdmUgaW50ZWdlciB3aGljaCBpcyBsZXNzIHRoYW4gMTQuJyk7fX07CmZ1bmN0aW9uIExoKGEpe2lmKCFtaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7fTtmdW5jdGlvbiBNaChhKXt2YXIgYj1UZChhKTtyZXR1cm4gbmcoYj8iIitiOiIiKX07ZnVuY3Rpb24gTmgoYSxiKXtpZighcWgoYSl8fCFxaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsibnVtYmVyIiwibnVtYmVyIl0sYXJndW1lbnRzKTtyZXR1cm4gRGIoYSxiKX07ZnVuY3Rpb24gT2goKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX07ZnVuY3Rpb24gUGgoYSl7aWYoYT09PW51bGwpcmV0dXJuIm51bGwiO2lmKGEgaW5zdGFuY2VvZiBHZClyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBLZClyZXR1cm4iZnVuY3Rpb24iO2lmKGEgaW5zdGFuY2VvZiBQZCl7dmFyIGI9YS5nZXRWYWx1ZSgpO2lmKChiPT1udWxsP3ZvaWQgMDpiLmNvbnN0cnVjdG9yKT09PXZvaWQgMHx8Yi5jb25zdHJ1Y3Rvci5uYW1lPT09dm9pZCAwKXt2YXIgYz1TdHJpbmcoYik7cmV0dXJuIGMuc3Vic3RyaW5nKDgsYy5sZW5ndGgtMSl9cmV0dXJuIFN0cmluZyhiLmNvbnN0cnVjdG9yLm5hbWUpfXJldHVybiB0eXBlb2YgYX07ZnVuY3Rpb24gUWgoYSl7ZnVuY3Rpb24gYihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpeyhsZ3x8bWcuUG8pJiZhLmNhbGwodGhpcyxlLm1lc3NhZ2UpfX19cmV0dXJue3BhcnNlOmIoZnVuY3Rpb24oYyl7cmV0dXJuIFVkKEpTT04ucGFyc2UoYykpfSksc3RyaW5naWZ5OmIoZnVuY3Rpb24oYyl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFRkKGMpKX0pLHB1YmxpY05hbWU6IkpTT04ifX07ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIEliKFRkKGEsdGhpcy5UKSl9O2Z1bmN0aW9uIFNoKGEpe3JldHVybiBOdW1iZXIoVGQoYSx0aGlzLlQpKX07ZnVuY3Rpb24gVGgoYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEudG9TdHJpbmcoKX07ZnVuY3Rpb24gVWgoYSxiLGMpe3ZhciBkPW51bGwsZT0hMTtyZXR1cm4gZT9kOm51bGx9O3ZhciBBaD0iZmxvb3IgY2VpbCByb3VuZCBtYXggbWluIGFicyBwb3cgc3FydCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBWaCgpe3ZhciBhPXt9O3JldHVybntXcjpmdW5jdGlvbihiKXtyZXR1cm4gYS5oYXNPd25Qcm9wZXJ0eShiKT9hW2JdOnZvaWQgMH0sS286ZnVuY3Rpb24oYixjKXthW2JdPWN9LHJlc2V0OmZ1bmN0aW9uKCl7YT17fX19fWZ1bmN0aW9uIFdoKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEtkLnByb3RvdHlwZS5pbnZva2UuYXBwbHkoYSxbYl0uY29uY2F0KHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSkpfX0KZnVuY3Rpb24gWGgoYSxiKXtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7fQpmdW5jdGlvbiBZaChhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJQaXhpZU1hcCJdLGFyZ3VtZW50cyk7fTt2YXIgWmg9e307dmFyICRoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYjtpZihhIGluc3RhbmNlb2YgR2QpZm9yKHZhciBjPWEuRmEoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07YS5oYXMoZSkmJmIuc2V0KGUsYS5nZXQoZSkpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIEtkKWZvcih2YXIgZj1hLkZhKCksZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2Iuc2V0KGgsYS5nZXQoaCkpfWVsc2UgZm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYi5zZXQobCxhW2xdKTtyZXR1cm4gYn07ClpoLmtleXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5GYSgpKTtyZXR1cm4gbmV3IEdkfTsKWmgudmFsdWVzPWZ1bmN0aW9uKGEpe2RoKHRoaXMuZ2V0TmFtZSgpLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIEdkfHxhIGluc3RhbmNlb2YgS2R8fHR5cGVvZiBhPT09InN0cmluZyIpYT0kaChhKTtpZihhIGluc3RhbmNlb2Yga2J8fGEgaW5zdGFuY2VvZiBTZClyZXR1cm4gbmV3IEdkKGEuaGMoKSk7cmV0dXJuIG5ldyBHZH07ClpoLmVudHJpZXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5mYygpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbmV3IEdkKGIpfSkpO3JldHVybiBuZXcgR2R9OwpaaC5mcmVlemU9ZnVuY3Rpb24oYSl7KGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZCkmJmEuWmEoKTtyZXR1cm4gYX07WmguZGVsZXRlPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIGtiJiYhYS5IYigpKXJldHVybiBhLnJlbW92ZShiKSwhMDtyZXR1cm4hMX07ZnVuY3Rpb24gTChhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkPWEuVC54YigpO2lmKCFkKXRocm93IEVycm9yKCJNaXNzaW5nIHByb2dyYW0gc3RhdGUuIik7aWYoZC5pdCl7dHJ5e2QuUm4uYXBwbHkobnVsbCxbYl0uY29uY2F0KHcoYykpKX1jYXRjaChlKXt0aHJvdyBzYigiVEFHR0lORyIsMjEpLGU7fXJldHVybn1kLlJuLmFwcGx5KG51bGwsW2JdLmNvbmNhdCh3KGMpKSl9O3ZhciBhaT1mdW5jdGlvbigpe3RoaXMuSz17fTt0aGlzLkg9e307dGhpcy5OPSEwO307YWkucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGFpbnMoYSk/dGhpcy5LW2FdOnZvaWQgMDtyZXR1cm4gY307YWkucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLksuaGFzT3duUHJvcGVydHkoYSl9OwphaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZih0aGlzLkguaGFzT3duUHJvcGVydHkoYSkpdGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYWRkIGFuIEFQSSB3aXRoIGFuIGV4aXN0aW5nIHByaXZhdGUgQVBJIG5hbWU6ICIrYSsiLiIpO3RoaXMuS1thXT1jP3ZvaWQgMDp5YihiKT90aChhLGIpOnVoKGEsYil9O2Z1bmN0aW9uIGJpKGEsYil7dmFyIGM9dm9pZCAwO3JldHVybiBjfTtmdW5jdGlvbiBjaSgpe3ZhciBhPXt9OwpyZXR1cm4gYX07dmFyIGRpPXt9LGVpPShkaVtGLkQuc2FdPSJnY3UiLGRpW0YuRC5laF09ImVwdCIsZGlbRi5ELlNiXT0iZ2NsZ2IiLGRpW0YuRC5sYl09ImdjbGF3IixkaVtGLkQuemxdPSJnY2xpZF9sZW4iLGRpW0YuRC5CZV09ImdjbGdzIixkaVtGLkQuQ2VdPSJnY2xscCIsZGlbRi5ELkRlXT0iZ2Nsc3QiLGRpW0YuRC5FZF09ImF1aWQiLGRpW0YuRC5CbF09ImFlIixkaVtGLkQuQ2ZdPSJkc2NudCIsZGlbRi5ELkRmXT0iZmNudHIiLGRpW0YuRC5FZl09ImZsbmciLGRpW0YuRC5GZl09Im1pZCIsZGlbRi5ELndpXT0iYnR0eXBlIixkaVtGLkQuS2JdPSJnYWNpZCIsZGlbRi5ELkdkXT0ibGFiZWwiLGRpW0YuRC5GZV09ImNhcGkiLGRpW0YuRC5qaF09InBzY2RsIixkaVtGLkQuZWJdPSJjdXJyZW5jeV9jb2RlIixkaVtGLkQuR2VdPSJ2ZGx0diIsZGlbRi5ELmtoXT0iY2xvY3QiLGRpW0YuRC5FbF09Il9kYmciLGRpW0YuRC5JZV09Im9lZGVsZCIsZGlbRi5ELlZjXT0iZWRpZCIsZGlbRi5ELk1kXT0iZXZuaWQiLApkaVtGLkQuRWldPSJldmppZCIsZGlbRi5ELk5kXT0iZXhjaWQiLGRpW0YuRC5yaF09ImdhYyIsZGlbRi5ELkplXT0iZ2FjZ2IiLGRpW0YuRC5NbF09ImdhY21jb3YiLGRpW0YuRC5LZV09ImdkcHIiLGRpW0YuRC5YY109ImdkaWQiLGRpW0YuRC5MZV09Il9uZyIsZGlbRi5ELmNxXT0iX29ubyIsZGlbRi5ELnRoXT0iZ3BwX3NpZCIsZGlbRi5ELnVoXT0iZ3BwIixkaVtGLkQuUGxdPSJnc2FleHAiLGRpW0YuRC5WZl09Il90dSIsZGlbRi5ELk1lXT0iZnJtIixkaVtGLkQuS2ldPSJndG1fdXAiLGRpW0YuRC5QZF09ImxwcyIsZGlbRi5ELkxpXT0iZGlkIixkaVtGLkQuUWRdPSJmY250ciIsZGlbRi5ELlJkXT0iZmxuZyIsZGlbRi5ELlNkXT0ibWlkIixkaVtGLkQuTmVdPXZvaWQgMCxkaVtGLkQuTWJdPSJ0aWJhIixkaVtGLkQuV2JdPSJyZHAiLGRpW0YuRC54Y109ImVjc2lkIixkaVtGLkQuWmZdPSJnYV91aWQiLGRpW0YuRC5VZF09ImRlbG9wYyIsZGlbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IiwKZGlbRi5ELlBhXT0ib2lkIixkaVtGLkQuZG1dPSJvaWRzcmMiLGRpW0YuRC5mbV09InVwdGdzIixkaVtGLkQuY2ddPSJ1YWEiLGRpW0YuRC5kZ109InVhYiIsZGlbRi5ELmVnXT0idWFmdmwiLGRpW0YuRC5mZ109InVhbWIiLGRpW0YuRC5nZ109InVhbSIsZGlbRi5ELmhnXT0idWFwIixkaVtGLkQuaWddPSJ1YXB2IixkaVtGLkQuamddPSJ1YXciLGRpW0YuRC5nbV09ImVjX2xhdCIsZGlbRi5ELmhtXT0iZWNfbWV0YSIsZGlbRi5ELmltXT0iZWNfbSIsZGlbRi5ELmptXT0iZWNfc2VsIixkaVtGLkQua21dPSJlY19zIixkaVtGLkQuQmNdPSJlY19tb2RlIixkaVtGLkQuZmJdPSJ1c2VySWQiLGRpW0YuRC5rZ109InVzX3ByaXZhY3kiLGRpW0YuRC5RYV09InZhbHVlIixkaVtGLkQucW1dPSJtY292IixkaVtGLkQuV2ldPSJobiIsZGlbRi5ELlZtXT0iZ3RtX2VlIixkaVtGLkQuWWldPSJ1aXAiLGRpW0YuRC5KaF09Im10IixkaVtGLkQuZGVdPSJucGEiLGRpW0YuRC5ZcV09InNnX3VjIixkaVtGLkQueWldPQpudWxsLGRpW0YuRC5iZF09bnVsbCxkaVtGLkQudGJdPW51bGwsZGlbRi5ELkhhXT1udWxsLGRpW0YuRC56YV09bnVsbCxkaVtGLkQuVWFdPW51bGwsZGlbRi5ELlBlXT1udWxsLGRpW0YuRC5lZF09bnVsbCxkaVtGLkQuc2hdPW51bGwsZGlbRi5ELkJkXT1udWxsLGRpW0YuRC5DZF09bnVsbCxkaVtGLkQuZmhdPW51bGwsZGlbRi5ELmdoXT1udWxsLGRpW0YuRC5UYV09bnVsbCxkaVtGLkQuV2NdPW51bGwsZGkpO2Z1bmN0aW9uIGZpKGEsYil7aWYoYSl7dmFyIGM9YS5zcGxpdCgieCIpO2MubGVuZ3RoPT09MiYmKGdpKGIsInVfdyIsY1swXSksZ2koYiwidV9oIixjWzFdKSl9fWZ1bmN0aW9uIGhpKGEpe3ZhciBiPWlpO2I9Yj09PXZvaWQgMD9qaTpiO3JldHVybiBraShsaShhLGIpKX1mdW5jdGlvbiBraShhKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4hIWJ9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIigiK1ttaShiLnZhbHVlKSxtaShiLnF1YW50aXR5KSxtaShiLml0ZW1faWQpLG1pKGIuc3RhcnRfZGF0ZSksbWkoYi5lbmRfZGF0ZSldLmpvaW4oIioiKSsiKSJ9KS5qb2luKCIiKX0KZnVuY3Rpb24gbGkoYSxiKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hIWN9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJue2l0ZW1faWQ6YihjKSxxdWFudGl0eTpjLnF1YW50aXR5LHZhbHVlOmMucHJpY2Usc3RhcnRfZGF0ZTpjLnN0YXJ0X2RhdGUsZW5kX2RhdGU6Yy5lbmRfZGF0ZX19KX1mdW5jdGlvbiBqaShhKXtyZXR1cm5bYS5pdGVtX2lkLGEuaWQsYS5pdGVtX25hbWVdLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIhPW51bGx9KX1mdW5jdGlvbiBuaShhKXtpZihhJiZhLmxlbmd0aClyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGU/Yi5lc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZToiIn0pLmpvaW4oIiwiKX1mdW5jdGlvbiBnaShhLGIsYyl7Yz09PXZvaWQgMHx8Yz09PW51bGx8fGM9PT0iIiYmIXlnW2JdfHwoYVtiXT1jKX0KZnVuY3Rpb24gbWkoYSl7cmV0dXJuIHR5cGVvZiBhIT09Im51bWJlciImJnR5cGVvZiBhIT09InN0cmluZyI/IiI6YS50b1N0cmluZygpfTtmdW5jdGlvbiBvaSgpe3RoaXMuYmxvY2tTaXplPS0xfTtmdW5jdGlvbiBwaShhLGIpe3RoaXMuYmxvY2tTaXplPS0xO3RoaXMuYmxvY2tTaXplPTY0O3RoaXMuTj1SYS5VaW50OEFycmF5P25ldyBVaW50OEFycmF5KHRoaXMuYmxvY2tTaXplKTpBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5SPXRoaXMuSz0wO3RoaXMuSD1bXTt0aGlzLmZhPWE7dGhpcy5aPWI7dGhpcy5qYT1SYS5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KDY0KTpBcnJheSg2NCk7cWk9PT12b2lkIDAmJihSYS5JbnQzMkFycmF5P3FpPW5ldyBJbnQzMkFycmF5KHJpKTpxaT1yaSk7dGhpcy5yZXNldCgpfVNhKHBpLG9pKTtmb3IodmFyIHNpPVtdLHRpPTA7dGk8NjM7dGkrKylzaVt0aV09MDt2YXIgdWk9W10uY29uY2F0KDEyOCxzaSk7CnBpLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuUj10aGlzLks9MDt2YXIgYTtpZihSYS5JbnQzMkFycmF5KWE9bmV3IEludDMyQXJyYXkodGhpcy5aKTtlbHNle3ZhciBiPXRoaXMuWixjPWIubGVuZ3RoO2lmKGM+MCl7Zm9yKHZhciBkPUFycmF5KGMpLGU9MDtlPGM7ZSsrKWRbZV09YltlXTthPWR9ZWxzZSBhPVtdfXRoaXMuSD1hfTsKdmFyIHZpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLk4sYz1hLmphLGQ9MCxlPTA7ZTxiLmxlbmd0aDspY1tkKytdPWJbZV08PDI0fGJbZSsxXTw8MTZ8YltlKzJdPDw4fGJbZSszXSxlPWQqNDtmb3IodmFyIGY9MTY7Zjw2NDtmKyspe3ZhciBnPWNbZi0xNV18MCxoPWNbZi0yXXwwO2NbZl09KChjW2YtMTZdfDApKygoZz4+Pjd8Zzw8MjUpXihnPj4+MTh8Zzw8MTQpXmc+Pj4zKXwwKSsoKGNbZi03XXwwKSsoKGg+Pj4xN3xoPDwxNSleKGg+Pj4xOXxoPDwxMyleaD4+PjEwKXwwKXwwfWZvcih2YXIgbD1hLkhbMF18MCxuPWEuSFsxXXwwLHA9YS5IWzJdfDAscT1hLkhbM118MCxyPWEuSFs0XXwwLHQ9YS5IWzVdfDAsdT1hLkhbNl18MCx2PWEuSFs3XXwwLHg9MDt4PDY0O3grKyl7dmFyIHk9KChsPj4+MnxsPDwzMCleKGw+Pj4xM3xsPDwxOSleKGw+Pj4yMnxsPDwxMCkpKyhsJm5ebCZwXm4mcCl8MCx6PSh2Kygocj4+PjZ8cjw8MjYpXihyPj4+MTF8cjw8MjEpXihyPj4+MjV8cjw8NykpfAowKSsoKChyJnRefnImdSkrKHFpW3hdfDApfDApKyhjW3hdfDApfDApfDA7dj11O3U9dDt0PXI7cj1xK3p8MDtxPXA7cD1uO249bDtsPXoreXwwfWEuSFswXT1hLkhbMF0rbHwwO2EuSFsxXT1hLkhbMV0rbnwwO2EuSFsyXT1hLkhbMl0rcHwwO2EuSFszXT1hLkhbM10rcXwwO2EuSFs0XT1hLkhbNF0rcnwwO2EuSFs1XT1hLkhbNV0rdHwwO2EuSFs2XT1hLkhbNl0rdXwwO2EuSFs3XT1hLkhbN10rdnwwfTsKcGkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWEubGVuZ3RoKTt2YXIgYz0wLGQ9dGhpcy5LO2lmKHR5cGVvZiBhPT09InN0cmluZyIpZm9yKDtjPGI7KXRoaXMuTltkKytdPWEuY2hhckNvZGVBdChjKyspLGQ9PXRoaXMuYmxvY2tTaXplJiYodmkodGhpcyksZD0wKTtlbHNle3ZhciBlLGY9dHlwZW9mIGE7ZT1mIT0ib2JqZWN0Ij9mOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmY6Im51bGwiO2lmKGU9PSJhcnJheSJ8fGU9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKWZvcig7YzxiOyl7dmFyIGc9YVtjKytdO2lmKCEoIm51bWJlciI9PXR5cGVvZiBnJiYwPD1nJiYyNTU+PWcmJmc9PShnfDApKSl0aHJvdyBFcnJvcigibWVzc2FnZSBtdXN0IGJlIGEgYnl0ZSBhcnJheSIpO3RoaXMuTltkKytdPWc7ZD09dGhpcy5ibG9ja1NpemUmJih2aSh0aGlzKSxkPTApfWVsc2UgdGhyb3cgRXJyb3IoIm1lc3NhZ2UgbXVzdCBiZSBzdHJpbmcgb3IgYXJyYXkiKTsKfXRoaXMuSz1kO3RoaXMuUis9Yn07cGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5SKjg7dGhpcy5LPDU2P3RoaXMudXBkYXRlKHVpLDU2LXRoaXMuSyk6dGhpcy51cGRhdGUodWksdGhpcy5ibG9ja1NpemUtKHRoaXMuSy01NikpO2Zvcih2YXIgYz02MztjPj01NjtjLS0pdGhpcy5OW2NdPWImMjU1LGIvPTI1Njt2aSh0aGlzKTtmb3IodmFyIGQ9MCxlPTA7ZTx0aGlzLmZhO2UrKylmb3IodmFyIGY9MjQ7Zj49MDtmLT04KWFbZCsrXT10aGlzLkhbZV0+PmYmMjU1O3JldHVybiBhfTsKdmFyIHJpPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsCjQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxxaTtmdW5jdGlvbiB3aSgpe3BpLmNhbGwodGhpcyw4LHhpKX1TYSh3aSxwaSk7dmFyIHhpPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dmFyIHlpPS9eWzAtOUEtRmEtZl17NjR9JC87ZnVuY3Rpb24gemkoYSl7dHJ5e3JldHVybihuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKX1jYXRjaChiKXtyZXR1cm4gWmIoYSl9fWZ1bmN0aW9uIEFpKGEpe3ZhciBiPUE7aWYoYT09PSIifHxhPT09ImUwIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpO3ZhciBjO2lmKChjPWIuY3J5cHRvKT09bnVsbD8wOmMuc3VidGxlKXtpZih5aS50ZXN0KGEpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSk7dHJ5e3ZhciBkPXppKGEpO3JldHVybiBiLmNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBCaShlLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4iZTIifSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiZTIiKX19ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJlMSIpfQpmdW5jdGlvbiBDaShhKXt0cnl7dmFyIGI9bmV3IHdpO2IudXBkYXRlKHppKGEpKTtyZXR1cm4gYi5kaWdlc3QoKX1jYXRjaChjKXtyZXR1cm4iZTIifX1mdW5jdGlvbiBEaShhKXt2YXIgYj1BO2lmKGE9PT0iInx8YT09PSJlMCJ8fHlpLnRlc3QoYSkpcmV0dXJuIGE7dmFyIGM9Q2koYSk7aWYoYz09PSJlMiIpcmV0dXJuImUyIjt0cnl7cmV0dXJuIEJpKGMsYil9Y2F0Y2goZCl7cmV0dXJuImUyIn19ZnVuY3Rpb24gQmkoYSxiKXt2YXIgYz1BcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGEpKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZCl9KS5qb2luKCIiKTtyZXR1cm4gYi5idG9hKGMpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9O2Z1bmN0aW9uIEVpKCl7Zm9yKHZhciBhPSExLGI9ITEsYz0wO2E9PT1iOylpZihhPURiKDAsMSk9PT0wLGI9RGIoMCwxKT09PTAsYysrLGM+MzApcmV0dXJuO3JldHVybiBhfXZhciBHaT17c2s6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBGaS5zayhhLGIsYyl9fSxIaT1mdW5jdGlvbigpe3RoaXMuc3R1ZGllcz17fTt0aGlzLkg9RWl9OwpIaS5wcm90b3R5cGUuc2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc3R1ZGllc1tiXTtpZighKChjPT09dm9pZCAwP0RiKDAsOTk5OSk6YyUxRTQpPGQucHJvYmFiaWxpdHkqKGQuY29udHJvbElkMj80OjIpKjFFNCkpcmV0dXJuIGE7YTp7dmFyIGU9ZC5zdHVkeUlkLGY9ZC5leHBlcmltZW50SWQsZz1kLmNvbnRyb2xJZCxoPWQuY29udHJvbElkMjtpZighKChhLmV4cHx8e30pW2ZdfHwoYS5leHB8fHt9KVtnXXx8aCYmKGEuZXhwfHx7fSlbaF0pKXt2YXIgbD1jIT09dm9pZCAwP2MlMj09PTA6dGhpcy5IKCk7aWYobCE9PXZvaWQgMCl7dmFyIG49bD8wOjE7aWYoaCl7dmFyIHA9YyE9PXZvaWQgMD8oYz4+MSklMj09PTA6dGhpcy5IKCk7aWYocD09PXZvaWQgMClicmVhayBhO258PShwPzA6MSk8PDF9bj09PTA/SWkoYSxmLGUpOm49PT0xP0lpKGEsZyxlKTpuPT09MiYmSWkoYSxoLGUpfX19cmV0dXJuIGF9Owp2YXIgS2k9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdP0ppKGMsYil8fCEhKGEuZXhwfHx7fSlbYy5zdHVkaWVzW2JdLmV4cGVyaW1lbnRJZF06ITF9LExpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Rmk7cmV0dXJuIGMuc3R1ZGllc1tiXSYmYy5zdHVkaWVzW2JdLmNvbnRyb2xJZCYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkXTohMX0sTWk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdJiZjLnN0dWRpZXNbYl0uY29udHJvbElkMiYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkMl06ITF9LE5pPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuZXhwfHx7fSxkPW0oT2JqZWN0LmtleXMoYykubWFwKE51bWJlcikpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2lmKGNbZl09PT1iKXJldHVybiBmfX0sSmk9ZnVuY3Rpb24oYSwKYil7cmV0dXJuISFhLnN0dWRpZXNbYl0uYWN0aXZlfHxhLnN0dWRpZXNbYl0ucHJvYmFiaWxpdHk+LjV9LElpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmV4cHx8e307ZFtiXT1jO2EuZXhwPWR9LEZpPW5ldyBIaTt2YXIgaWo9ZnVuY3Rpb24oKXt0aGlzLkg9QS5nb29nbGVfdGFnX21hbmFnZXI9QS5nb29nbGVfdGFnX21hbmFnZXJ8fHt9fSxqajtmdW5jdGlvbiBraihhLGIpe2xqKCk7dmFyIGM9amo7cmV0dXJuIGMuSFthXT1jLkhbYV18fGIoKX1mdW5jdGlvbiBtaihhKXtsaigpO3JldHVybiBqai5IW2FdfWZ1bmN0aW9uIG5qKGEsYil7bGooKTtqai5IW2FdPWJ9ZnVuY3Rpb24gb2ooYSl7dmFyIGI9RSg1KTtsaigpO3ZhciBjPWpqO2MuSFtiXT1jLkhbYl18fGF9ZnVuY3Rpb24gcGooKXt2YXIgYT1FKDE5KTtsaigpO3ZhciBiPWpqO3JldHVybiBiLkhbYV09Yi5IW2FdfHx7fX1mdW5jdGlvbiBxaigpe3ZhciBhPUUoMTkpO2xqKCk7cmV0dXJuIGpqLkhbYV19ZnVuY3Rpb24gcmooKXtsaigpO3ZhciBhPWpqLGI9YS5ILnNlcXVlbmNlfHwxO2EuSC5zZXF1ZW5jZT1iKzE7cmV0dXJuIGJ9ZnVuY3Rpb24gbGooKXtqanx8KGpqPW5ldyBpail9O3ZhciBzaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgNDkxOnJldHVybiAxMjtjYXNlIDQ4MDpyZXR1cm4gMTE7Y2FzZSA0OTk6cmV0dXJuIDEwO2Nhc2UgNTAwOnJldHVybiA2O2Nhc2UgNDIxOnJldHVybiA5O2Nhc2UgNTYxOnJldHVybiAxNztjYXNlIDQ4MjpyZXR1cm4gMTU7Y2FzZSA1NzA6cmV0dXJuIDE5O2Nhc2UgNDk1OnJldHVybiAxMztjYXNlIDUxNDpyZXR1cm4gMTY7Y2FzZSA1NzM6cmV0dXJuIDE4O2Nhc2UgMjM1OnJldHVybiA4O2Nhc2UgNTM6cmV0dXJuIDE7Y2FzZSA1NDpyZXR1cm4gMjtjYXNlIDUyOnJldHVybiA0O2Nhc2UgNzU6cmV0dXJuIDN9fSx0aj1mdW5jdGlvbihhLGIpe2EuTltiXT0hMDt2YXIgYz1zaihiKTtjIT09dm9pZCAwJiYoV2ZbY109ITApfSxNPWZ1bmN0aW9uKGEpe3JldHVybiEhdWouTlthXX0sdWo9bmV3IGZ1bmN0aW9uKCl7dGhpcy5OPVtdO3RoaXMuSz1bXTt0aGlzLkg9W107CnRqKHRoaXMsMTMyKTt2YXIgYT1OZig2LDZFNCk7WGZbMV09YTt2YXIgYj1OZig3LDEpO1hmWzNdPWI7dmFyIGM9TmYoMzUsNTApO1hmWzJdPWM7dmFyIGQ9TmYoNjksMTc3NjQ0ODkyMCk7WGZbNF09ZDsKdGoodGhpcyw0MzUpO3RqKHRoaXMsMTQxKTsKfTt2YXIgdmo9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IFNldDt0aGlzLks9bmV3IFNldH0seGo9ZnVuY3Rpb24oYSl7dmFyIGI9d2ouSDthPWE9PT12b2lkIDA/W106YTt2YXIgYz1bXS5jb25jYXQodyhiLkgpKS5jb25jYXQoW10uY29uY2F0KHcoYi5LKSkpLmNvbmNhdChhKTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC1lfSk7cmV0dXJuIGN9LHlqPWZ1bmN0aW9uKCl7dmFyIGE9W10uY29uY2F0KHcod2ouSC5IKSk7YS5zb3J0KGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGItY30pO3JldHVybiBhfSx6aj1mdW5jdGlvbigpe3ZhciBhPXdqLkgsYj1FKDQ0KTthLkg9bmV3IFNldDtpZihiIT09IiIpZm9yKHZhciBjPW0oYi5zcGxpdCgifiIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9TnVtYmVyKGQudmFsdWUpO2lzTmFOKGUpfHxhLkguYWRkKGUpfX07dmFyIEFqPXt9LEJqPXtfX2NsOjEsX19lY2w6MSxfX2VobDoxLF9fZXZsOjEsX19mYWw6MSxfX2ZpbDoxLF9fZnNsOjEsX19obDoxLF9famVsOjEsX19sY2w6MSxfX3NkbDoxLF9fdGw6MSxfX3l0bDoxfSxDaj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHtfX3BhdXNlZDoxLF9fdGc6MX0sQmopLERqLEVqPSExO0RqPUVqO3ZhciBGaj0iIjtBai5xaj1Gajt2YXIgd2o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPW5ldyB2an07dmFyIEdqPS86WzAtOV0rJC8sSGo9L15cZCtcLmZsc1wuZG91YmxlY2xpY2tcLm5ldCQvO2Z1bmN0aW9uIElqKGEsYixjLGQpe3ZhciBlPUpqKGEsISFkLGIpLGYsZztyZXR1cm4gYz8oZz1lW2JdKSE9bnVsbD9nOltdOihmPWVbYl0pPT1udWxsP3ZvaWQgMDpmWzBdfWZ1bmN0aW9uIEpqKGEsYixjKXtmb3IodmFyIGQ9e30sZT1tKGEuc3BsaXQoIiYiKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPW0oZi52YWx1ZS5zcGxpdCgiPSIpKSxoPWcubmV4dCgpLnZhbHVlLGw9eWEoZyksbj1kZWNvZGVVUklDb21wb25lbnQoaC5yZXBsYWNlKC9cKy9nLCIgIikpO2lmKGM9PT12b2lkIDB8fG49PT1jKXt2YXIgcD1sLmpvaW4oIj0iKTtkW25dfHwoZFtuXT1bXSk7ZFtuXS5wdXNoKGI/cDpkZWNvZGVVUklDb21wb25lbnQocC5yZXBsYWNlKC9cKy9nLCIgIikpKX19cmV0dXJuIGR9CmZ1bmN0aW9uIEtqKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEpfWNhdGNoKGIpe319ZnVuY3Rpb24gTGooYSxiLGMsZCxlKXtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7aWYoYj09PSJwcm90b2NvbCJ8fGI9PT0icG9ydCIpYS5wcm90b2NvbD1NaihhLnByb3RvY29sKXx8TWooQS5sb2NhdGlvbi5wcm90b2NvbCk7Yj09PSJwb3J0Ij9hLnBvcnQ9U3RyaW5nKE51bWJlcihhLmhvc3RuYW1lP2EucG9ydDpBLmxvY2F0aW9uLnBvcnQpfHwoYS5wcm90b2NvbD09PSJodHRwIj84MDphLnByb3RvY29sPT09Imh0dHBzIj80NDM6IiIpKTpiPT09Imhvc3QiJiYoYS5ob3N0bmFtZT0oYS5ob3N0bmFtZXx8QS5sb2NhdGlvbi5ob3N0bmFtZSkucmVwbGFjZShHaiwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIE5qKGEsYixjLGQsZSl9CmZ1bmN0aW9uIE5qKGEsYixjLGQsZSl7dmFyIGYsZz1NaihhLnByb3RvY29sKTtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7c3dpdGNoKGIpe2Nhc2UgInVybF9ub19mcmFnbWVudCI6Zj1PaihhKTticmVhaztjYXNlICJwcm90b2NvbCI6Zj1nO2JyZWFrO2Nhc2UgImhvc3QiOmY9YS5ob3N0bmFtZS5yZXBsYWNlKEdqLCIiKS50b0xvd2VyQ2FzZSgpO2lmKGMpe3ZhciBoPS9ed3d3XGQqXC4vLmV4ZWMoZik7aCYmaFswXSYmKGY9Zi5zdWJzdHJpbmcoaFswXS5sZW5ndGgpKX1icmVhaztjYXNlICJwb3J0IjpmPVN0cmluZyhOdW1iZXIoYS5wb3J0KXx8KGc9PT0iaHR0cCI/ODA6Zz09PSJodHRwcyI/NDQzOiIiKSk7YnJlYWs7Y2FzZSAicGF0aCI6YS5wYXRobmFtZXx8YS5ob3N0bmFtZXx8c2IoIlRBR0dJTkciLDEpO2Y9YS5wYXRobmFtZS5zdWJzdHJpbmcoMCwxKT09PSIvIj9hLnBhdGhuYW1lOiIvIithLnBhdGhuYW1lO3ZhciBsPWYuc3BsaXQoIi8iKTsoZHx8W10pLmluZGV4T2YobFtsLmxlbmd0aC0KMV0pPj0wJiYobFtsLmxlbmd0aC0xXT0iIik7Zj1sLmpvaW4oIi8iKTticmVhaztjYXNlICJxdWVyeSI6Zj1hLnNlYXJjaC5yZXBsYWNlKCI/IiwiIik7ZSYmKGY9SWooZixlLCExKSk7YnJlYWs7Y2FzZSAiZXh0ZW5zaW9uIjp2YXIgbj1hLnBhdGhuYW1lLnNwbGl0KCIuIik7Zj1uLmxlbmd0aD4xP25bbi5sZW5ndGgtMV06IiI7Zj1mLnNwbGl0KCIvIilbMF07YnJlYWs7Y2FzZSAiZnJhZ21lbnQiOmY9YS5oYXNoLnJlcGxhY2UoIiMiLCIiKTticmVhaztkZWZhdWx0OmY9YSYmYS5ocmVmfXJldHVybiBmfWZ1bmN0aW9uIE1qKGEpe3JldHVybiBhP2EucmVwbGFjZSgiOiIsIiIpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gT2ooYSl7dmFyIGI9IiI7aWYoYSYmYS5ocmVmKXt2YXIgYz1hLmhyZWYuaW5kZXhPZigiIyIpO2I9YzwwP2EuaHJlZjphLmhyZWYuc3Vic3RyaW5nKDAsYyl9cmV0dXJuIGJ9dmFyIFBqPXt9LFFqPTA7CmZ1bmN0aW9uIFJqKGEpe3ZhciBiPVBqW2FdO2lmKCFiKXt2YXIgYz1CLmNyZWF0ZUVsZW1lbnQoImEiKTthJiYoYy5ocmVmPWEpO3ZhciBkPWMucGF0aG5hbWU7ZFswXSE9PSIvIiYmKGF8fHNiKCJUQUdHSU5HIiwxKSxkPSIvIitkKTt2YXIgZT1jLmhvc3RuYW1lLnJlcGxhY2UoR2osIiIpO2I9e2hyZWY6Yy5ocmVmLHByb3RvY29sOmMucHJvdG9jb2wsaG9zdDpjLmhvc3QsaG9zdG5hbWU6ZSxwYXRobmFtZTpkLHNlYXJjaDpjLnNlYXJjaCxoYXNoOmMuaGFzaCxwb3J0OmMucG9ydH07UWo8NSYmKFBqW2FdPWIsUWorKyl9cmV0dXJuIGJ9ZnVuY3Rpb24gU2ooYSxiLGMpe3ZhciBkPVJqKGEpO3JldHVybiBhYyhiLGQsYyl9CmZ1bmN0aW9uIFRqKGEpe3ZhciBiPVJqKEEubG9jYXRpb24uaHJlZiksYz1MaihiLCJob3N0IiwhMSk7aWYoYyYmYy5tYXRjaChIaikpe3ZhciBkPUxqKGIsInBhdGgiKTtpZihkKXt2YXIgZT1kLnNwbGl0KGErIj0iKTtpZihlLmxlbmd0aD4xKXJldHVybiBlWzFdLnNwbGl0KCI7IilbMF0uc3BsaXQoIj8iKVswXX19fTt2YXIgVWo9eyJodHRwczovL3d3dy5nb29nbGUuY29tIjoiL2ciLCJodHRwczovL3d3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSI6Ii9hcyIsImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iOiIvZ3MifSxWaj1bIi9hcy9kL2NjbS9jb252ZXJzaW9uIiwiL2cvZC9jY20vY29udmVyc2lvbiIsIi9ncy9jY20vY29udmVyc2lvbiIsIi9kL2NjbS9mb3JtLWRhdGEiXTtmdW5jdGlvbiBXaigpe3JldHVybiBJZig0Nyk/SmYoNTQpIT09MTohMX1mdW5jdGlvbiBYaigpe3ZhciBhPUUoMTgpLGI9YS5sZW5ndGg7cmV0dXJuIGFbYi0xXT09PSIvIj9hLnN1YnN0cmluZygwLGItMSk6YX0KZnVuY3Rpb24gWWooYSxiKXtpZihhKXt2YXIgYz0iIithO2MuaW5kZXhPZigiaHR0cDovLyIpIT09MCYmYy5pbmRleE9mKCJodHRwczovLyIpIT09MCYmKGM9Imh0dHBzOi8vIitjKTtjW2MubGVuZ3RoLTFdPT09Ii8iJiYoYz1jLnN1YnN0cmluZygwLGMubGVuZ3RoLTEpKTtyZXR1cm4gUmooIiIrYytiKS5ocmVmfX1mdW5jdGlvbiBaaihhKXtpZihhaygpKXJldHVybiBZaihhLCIvYW5hbHl0aWNzLmpzIil9ZnVuY3Rpb24gYmsoYSl7cmV0dXJuIGE9PT0yfHxhPT09M31mdW5jdGlvbiBjayhhKXtyZXR1cm4gTSg1ODgpJiZhPT09M31mdW5jdGlvbiBhaygpe3JldHVybiBXaigpfHxJZig1MCl9ZnVuY3Rpb24gZGsoKXtyZXR1cm4hIUFqLnFqJiZBai5xai5zcGxpdCgiQEAiKS5qb2luKCIiKSE9PSJTR1RNX1RPS0VOIn0KZnVuY3Rpb24gZWsoYSl7Zm9yKHZhciBiPW0oW0YuRC5kZCxGLkQueWNdKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9TyhhLGMudmFsdWUpO2lmKGQpcmV0dXJuIGR9fWZ1bmN0aW9uIGZrKGEsYixjKXtjPWM9PT12b2lkIDA/IiI6YztpZighV2ooKSlyZXR1cm4gYTt2YXIgZD1iP1VqW2FdfHwiIjoiIjtkPT09Ii9ncyImJihjPSIiKTtyZXR1cm4iIitYaigpK2QrY31mdW5jdGlvbiBnayhhKXtpZihXaigpKWZvcih2YXIgYj1tKFZqKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtpZihTYihhLCIiK1hqKCkrZCkpcmV0dXJuIjo6In19CmZ1bmN0aW9uIGhrKCl7dmFyIGE9QTtpZighYSlyZXR1cm4hMTt0cnl7aWYoYT09PWEudG9wKXJldHVybiExO3ZhciBiPWEubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGIuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIvIikhPT0tMSYmVGIoYiwiL3N3X2lmcmFtZS5odG1sIil9Y2F0Y2goYyl7cmV0dXJuITF9fTt2YXIgaWs9L2d0YWdbLlwvXWpzLyxqaz0vZ3RtWy5cL11qcy8sbGs9ZnVuY3Rpb24oYSl7dmFyIGI9a2s7aWYoKGEuc2NyaXB0Q29udGFpbmVySWR8fCIiKS5pbmRleE9mKCJHVE0tIik+PTApe3ZhciBjO2E6e3ZhciBkLGU9KGQ9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6ZC5zcmM7aWYoZSl7Zm9yKHZhciBmPUlmKDQ3KSxnPVJqKGUpLGg9Zj9nLnBhdGhuYW1lOiIiK2cuaG9zdG5hbWUrZy5wYXRobmFtZSxsPUIuc2NyaXB0cyxuPSIiLHA9MDtwPGwubGVuZ3RoOysrcCl7dmFyIHE9bFtwXTtpZighKHEuaW5uZXJIVE1MLmxlbmd0aD09PTB8fCFmJiZxLmlubmVySFRNTC5pbmRleE9mKGEuc2NyaXB0Q29udGFpbmVySWR8fCJTSE9VTERfTk9UX0JFX1NFVCIpPDB8fHEuaW5uZXJIVE1MLmluZGV4T2YoaCk8MCkpe2lmKHEuaW5uZXJIVE1MLmluZGV4T2YoIihmdW5jdGlvbih3LGQscyxsLGkpIik+PTApe2M9U3RyaW5nKHApO2JyZWFrIGF9bj1TdHJpbmcocCl9fWlmKG4pe2M9Cm47YnJlYWsgYX19Yz12b2lkIDB9dmFyIHI9YztpZihyKXJldHVybiBiLkg9ITAscn12YXIgdD1bXS5zbGljZS5jYWxsKEIuc2NyaXB0cyk7cmV0dXJuIGEuc2NyaXB0RWxlbWVudD9TdHJpbmcodC5pbmRleE9mKGEuc2NyaXB0RWxlbWVudCkpOiItMSJ9LG1rPWZ1bmN0aW9uKGEpe2lmKGtrLkgpcmV0dXJuIjEiO3ZhciBiLGM9KGI9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6Yi5zcmM7aWYoYyl7aWYoaWsudGVzdChjKSlyZXR1cm4iMyI7aWYoamsudGVzdChjKSlyZXR1cm4iMiJ9cmV0dXJuIjAifSxraz1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O2Z1bmN0aW9uIFAoYSl7c2IoIkdUTSIsYSl9O2Z1bmN0aW9uIG5rKGEpe3ZhciBiPW9rKCkuZGVzdGluYXRpb25BcnJheVthXSxjPW9rKCkuZGVzdGluYXRpb25bYV07cmV0dXJuIGImJmIubGVuZ3RoPjA/YlswXTpjfWZ1bmN0aW9uIHBrKGEsYil7dmFyIGM9b2soKTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO0NiKGMucGVuZGluZyxmdW5jdGlvbihkKXtyZXR1cm4gZC50YXJnZXQuY3RpZD09PWEuY3RpZCYmZC50YXJnZXQuaXNEZXN0aW5hdGlvbj09PWEuaXNEZXN0aW5hdGlvbn0pfHxjLnBlbmRpbmcucHVzaCh7dGFyZ2V0OmEsb25Mb2FkOmJ9KX1mdW5jdGlvbiBxaygpe3ZhciBhPUEuZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHk7QXJyYXkuaXNBcnJheShhKXx8KGE9W10pO2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYltkLnZhbHVlXT0hMDtyZXR1cm4gT2JqZWN0LmZyZWV6ZShiKX0KdmFyIHJrPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXI9e307dGhpcy5kZXN0aW5hdGlvbj17fTt0aGlzLmRlc3RpbmF0aW9uQXJyYXk9e307dGhpcy5jYW5vbmljYWw9e307dGhpcy5wZW5kaW5nPVtdO3RoaXMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz17fTt0aGlzLmluamVjdGVkRmlyc3RQYXJ0eUNvbnRhaW5lcnM9cWsoKX07CmZ1bmN0aW9uIG9rKCl7dmFyIGE9TWMoImdvb2dsZV90YWdfZGF0YSIse30pLGI9YS50aWRyO2ImJnR5cGVvZiBiPT09Im9iamVjdCJ8fChiPW5ldyByayxhLnRpZHI9Yik7dmFyIGM9YjtjLmNvbnRhaW5lcnx8KGMuY29udGFpbmVyPXt9KTtjLmRlc3RpbmF0aW9ufHwoYy5kZXN0aW5hdGlvbj17fSk7Yy5kZXN0aW5hdGlvbkFycmF5fHwoYy5kZXN0aW5hdGlvbkFycmF5PXt9KTtjLmNhbm9uaWNhbHx8KGMuY2Fub25pY2FsPXt9KTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO2MuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc3x8KGMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz1xaygpKTtyZXR1cm4gY307ZnVuY3Rpb24gc2soKXtyZXR1cm4gSWYoNykmJnRrKCkuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYT09PUUoNSl9KX1mdW5jdGlvbiB1aygpe3ZhciBhO3JldHVybihhPUtmKDU1KSkhPW51bGw/YTpbXX1mdW5jdGlvbiB2aygpe3JldHVybiBFKDYpfHwiXyIrRSg1KX1mdW5jdGlvbiB3aygpe3ZhciBhPUUoMTApO3JldHVybiBhP2Euc3BsaXQoInwiKTpbRSg1KV19ZnVuY3Rpb24gdGsoKXt2YXIgYT1LZig1OSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyJ9KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXhPZigiR1RNLSIpIT09MH0pOltdfWZ1bmN0aW9uIHhrKCl7dmFyIGE9eWsoemsoKSksYj1hJiZhLnBhcmVudDtpZihiKXJldHVybiB5ayhiKX0KZnVuY3Rpb24gQWsoKXt2YXIgYT15ayh6aygpKTtpZihhKXtmb3IoO2EucGFyZW50Oyl7dmFyIGI9eWsoYS5wYXJlbnQpO2lmKCFiKWJyZWFrO2E9Yn1yZXR1cm4gYX19ZnVuY3Rpb24geWsoYSl7dmFyIGI9b2soKTtyZXR1cm4gYS5pc0Rlc3RpbmF0aW9uP25rKGEuY3RpZCk6Yi5jb250YWluZXJbYS5jdGlkXX1mdW5jdGlvbiBCaygpe3ZhciBhPW9rKCk7aWYoYS5wZW5kaW5nKXtmb3IodmFyIGIsYz1bXSxkPSExLGU9d2soKSxmPXRrKCksZz17fSxoPTA7aDxhLnBlbmRpbmcubGVuZ3RoO2c9e1JnOnZvaWQgMH0saCsrKWcuUmc9YS5wZW5kaW5nW2hdLENiKGcuUmcudGFyZ2V0LmlzRGVzdGluYXRpb24/ZjplLGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj09PWwuUmcudGFyZ2V0LmN0aWR9fShnKSk/ZHx8KGI9Zy5SZy5vbkxvYWQsZD0hMCk6Yy5wdXNoKGcuUmcpO2EucGVuZGluZz1jO2lmKGIpdHJ5e2IodmsoKSl9Y2F0Y2gobCl7fX19CmZ1bmN0aW9uIENrKCl7Zm9yKHZhciBhPUUoNSksYj13aygpLGM9dGsoKSxkPXVrKCksZT1mdW5jdGlvbihxLHIpe3ZhciB0PXtjYW5vbmljYWxDb250YWluZXJJZDpFKDYpLHNjcmlwdENvbnRhaW5lcklkOmEsc3RhdGU6Mixjb250YWluZXJzOmIuc2xpY2UoKSxkZXN0aW5hdGlvbnM6Yy5zbGljZSgpfTtKYyYmKHQuc2NyaXB0RWxlbWVudD1KYyk7S2MmJih0LnNjcmlwdFNvdXJjZT1LYyk7eGsoKT09PXZvaWQgMCYmKHQuaHRtbExvYWRPcmRlcj1sayh0KSx0LmxvYWRTY3JpcHRUeXBlPW1rKHQpKTt2YXIgdSx2O3N3aXRjaChyKXtjYXNlIDA6dT1mdW5jdGlvbih6KXtmLmNvbnRhaW5lcltxXT16fTt2PWYuY29udGFpbmVyW3FdO2JyZWFrO2Nhc2UgMTp1PWZ1bmN0aW9uKHope2YuZGVzdGluYXRpb25BcnJheVtxXT1mLmRlc3RpbmF0aW9uQXJyYXlbcV18fFtdO2YuZGVzdGluYXRpb25BcnJheVtxXS51bnNoaWZ0KHopfTt2YXIgeCx5PSgoeD1mLmRlc3RpbmF0aW9uQXJyYXlbcV0pPT0KbnVsbD92b2lkIDA6eFswXSl8fGYuZGVzdGluYXRpb25bcV07IXl8fHkuc3RhdGUhPT0wJiZ5LnN0YXRlIT09MXx8KHY9eSk7YnJlYWs7Y2FzZSAyOnU9ZnVuY3Rpb24oeil7Zi5kZXN0aW5hdGlvbkFycmF5W3FdPWYuZGVzdGluYXRpb25BcnJheVtxXXx8W107Zi5kZXN0aW5hdGlvbkFycmF5W3FdLnB1c2goeil9LHY9dm9pZCAwfXUmJih2Pyh2LnN0YXRlPT09MCYmUCg5MyksbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx2LHQpKTp1KHQpKX0sZj1vaygpLGc9bShiKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSllKGgudmFsdWUsMCk7Zm9yKHZhciBsPW0oYyksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7ZC5pbmNsdWRlcyhwKT9lKHAsMSk6ZShwLDIpfWYuY2Fub25pY2FsW3ZrKCldPXt9O0JrKCl9ZnVuY3Rpb24gRGsoKXt2YXIgYT12aygpO3JldHVybiEhb2soKS5jYW5vbmljYWxbYV19CmZ1bmN0aW9uIEVrKGEpe3JldHVybiEhb2soKS5jb250YWluZXJbYV19ZnVuY3Rpb24gRmsoKXt2YXIgYT16aygpLGI9eWsoYSk7cmV0dXJuIGImJmIuY29udGV4dH1mdW5jdGlvbiBHayhhKXt2YXIgYj1uayhhKTtyZXR1cm4gYj9iLnN0YXRlIT09MDohMX1mdW5jdGlvbiB6aygpe3JldHVybntjdGlkOkUoNSksaXNEZXN0aW5hdGlvbjpJZig3KX19ZnVuY3Rpb24gSGsoYSxiLGMpe3ZhciBkPXprKCksZT1vaygpLmNvbnRhaW5lclthXTtlJiZlLnN0YXRlIT09M3x8KG9rKCkuY29udGFpbmVyW2FdPXtzdGF0ZToxLGNvbnRleHQ6YixwYXJlbnQ6ZH0scGsoe2N0aWQ6YSxpc0Rlc3RpbmF0aW9uOiExfSxjKSl9ZnVuY3Rpb24gSWsoYSxiLGMpe3ZhciBkPW9rKCksZT1uayhhKTtlP2Uuc3RhdGU9MTooZT17Y29udGV4dDpiLHN0YXRlOjEscGFyZW50OnprKCl9LGQuZGVzdGluYXRpb25BcnJheVthXT1bZV0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sYyl9CmZ1bmN0aW9uIEprKGEsYixjLGQpe3ZhciBlPW9rKCksZj1uayhhKTtmP2Yuc3RhdGU9MDooZj17c3RhdGU6MCx0cmFuc3BvcnRVcmw6Yixjb250ZXh0OmMscGFyZW50OnprKCl9LGUuZGVzdGluYXRpb25BcnJheVthXT1bZl0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sZCk7UCg5MSl9ZnVuY3Rpb24gS2soKXt2YXIgYT1vaygpLmNvbnRhaW5lcixiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSYmYVtiXS5zdGF0ZT09PTEpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTGsoKXt2YXIgYT17fTtHYihvaygpLmRlc3RpbmF0aW9uLGZ1bmN0aW9uKGIsYyl7KGM9PW51bGw/dm9pZCAwOmMuc3RhdGUpPT09MCYmKGFbYl09Yyl9KTtHYihvaygpLmRlc3RpbmF0aW9uQXJyYXksZnVuY3Rpb24oYixjKXt2YXIgZD1jWzBdOyhkPT1udWxsP3ZvaWQgMDpkLnN0YXRlKT09PTAmJihhW2JdPWQpfSk7cmV0dXJuIGF9CmZ1bmN0aW9uIE1rKGEpe3JldHVybiEhKGEmJmEucGFyZW50JiZhLmNvbnRleHQmJmEuY29udGV4dC5zb3VyY2U9PT0xJiZhLnBhcmVudC5jdGlkLmluZGV4T2YoIkdUTS0iKSE9PTApfWZ1bmN0aW9uIE5rKCl7Zm9yKHZhciBhPW9rKCksYj1tKHdrKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGEuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc1tjLnZhbHVlXSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIE9rPWZ1bmN0aW9uKCl7fTtPay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIn07dmFyIFBrPW5ldyBPazt2YXIgWGs9ZnVuY3Rpb24oKXt0aGlzLnN0b3JhZ2U9WWEoKX07WGsucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIpfTtYay5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KFN0cmluZyhhKSl9O3ZhciBZaztmdW5jdGlvbiBaayhhLGIpe1lrfHwoWWs9bmV3IFhrKTtZay5zZXQoYSxiKX1mdW5jdGlvbiAkayhhKXtZa3x8KFlrPW5ldyBYayk7cmV0dXJuIFlrLmdldChhKX1mdW5jdGlvbiBhbChhLGIpe1lrfHwoWWs9bmV3IFhrKTt2YXIgYz1ZaztjLnN0b3JhZ2UuaGFzKFN0cmluZyhhKSl8fGMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIoKSk7cmV0dXJuIGMuc3RvcmFnZS5nZXQoU3RyaW5nKGEpKX07ZnVuY3Rpb24gYmwoYSxiKXtmdW5jdGlvbiBjKGcpe3ZhciBoPVJqKGcpLGw9TGooaCwicHJvdG9jb2wiKSxuPUxqKGgsImhvc3QiLCEwKSxwPUxqKGgsInBvcnQiKSxxPUxqKGgsInBhdGgiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGw9PT12b2lkIDB8fGw9PT0iaHR0cCImJnA9PT0iODAifHxsPT09Imh0dHBzIiYmcD09PSI0NDMiKWw9IndlYiIscD0iZGVmYXVsdCI7cmV0dXJuW2wsbixwLHFdfWZvcih2YXIgZD1jKFN0cmluZyhhKSksZT1jKFN0cmluZyhiKSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKGRbZl0hPT1lW2ZdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGNsKGEpe3JldHVybiBkbChhKT8xOjB9CmZ1bmN0aW9uIGRsKGEpe3ZhciBiPWEuYXJnMCxjPWEuYXJnMTtpZihhLmFueV9vZiYmQXJyYXkuaXNBcnJheShjKSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPUVkKGEse30pO0VkKHthcmcxOmNbZF0sYW55X29mOnZvaWQgMH0sZSk7aWYoY2woZSkpcmV0dXJuITB9cmV0dXJuITF9c3dpdGNoKGFbImZ1bmN0aW9uIl0pe2Nhc2UgIl9jbiI6cmV0dXJuIEtnKGIsYyk7Y2FzZSAiX2NzcyI6cmV0dXJuIEdnKGIsYyk7Y2FzZSAiX2V3IjpyZXR1cm4gSGcoYixjKTtjYXNlICJfZXEiOnJldHVybiBMZyhiLGMpO2Nhc2UgIl9nZSI6cmV0dXJuIE1nKGIsYyk7Y2FzZSAiX2d0IjpyZXR1cm4gT2coYixjKTtjYXNlICJfbGMiOnJldHVybiBJZyhiLGMpO2Nhc2UgIl9sZSI6cmV0dXJuIE5nKGIsYyk7Y2FzZSAiX2x0IjpyZXR1cm4gUGcoYixjKTtjYXNlICJfcmUiOnJldHVybiBKZyhiLGMsYS5pZ25vcmVfY2FzZSxhbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSk7Y2FzZSAiX3N3IjpyZXR1cm4gUWcoYiwKYyk7Y2FzZSAiX3VtIjpyZXR1cm4gYmwoYixjKX1yZXR1cm4hMX07ZnVuY3Rpb24gZWwoYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZjtzd2l0Y2goYVswXSl7Y2FzZSAiZnVuY3Rpb25faWQiOnJldHVybiBhWzFdO2Nhc2UgImxpc3QiOmY9W107Zm9yKHZhciBnPTE7ZzxhLmxlbmd0aDtnKyspZi5wdXNoKGVsKGFbZ10sYixjLGQsZSkpO3JldHVybiBmO2Nhc2UgIm1hY3JvIjp2YXIgaD1kW2FbMV1dO3JldHVybiBoP2guZXZhbHVhdGUoYixlKTp2b2lkIDA7Y2FzZSAibWFwIjpmPXt9O2Zvcih2YXIgbD0xO2w8YS5sZW5ndGg7bCs9MilmW2VsKGFbbF0sYixjLGQsZSldPWVsKGFbbCsxXSxiLGMsZCxlKTtyZXR1cm4gZjtjYXNlICJ0ZW1wbGF0ZSI6Zj1bXTtmb3IodmFyIG49ITEscD0xO3A8YS5sZW5ndGg7cCsrKXt2YXIgcT1lbChhW3BdLGIsYyxkLGUpO2YucHVzaChxKX1yZXR1cm4gZi5qb2luKCIiKTtjYXNlICJlc2NhcGUiOmY9ZWwoYVsxXSxiLGMsZCxlKTtmPVN0cmluZyhmKTtmb3IodmFyIHk9Mjt5PGEubGVuZ3RoO3krKylVaVthW3ldXSYmKGY9VWlbYVt5XV0oZikpO3JldHVybiBmO2Nhc2UgInRhZyI6dmFyIHo9YVsxXTtpZighY1t6XSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgdGFnIHJlZmVyZW5jZSAiKwp6KyIuIik7cmV0dXJue2JvOmFbMl0saW5kZXg6en07Y2FzZSAiemIiOnZhciBDPXt9LEQ9KENbR2YuWWJdPWFbMV0sQy5hcmcwPWVsKGFbMl0sYixjLGQsZSksQy5hcmcxPWVsKGFbM10sYixjLGQsZSksQy5pZ25vcmVfY2FzZT1lbChhWzVdLGIsYyxkLGUpLEMpLEk9Y2woRCksRz0hIWFbNF07cmV0dXJuIEd8fEkhPT0yP0chPT0oST09PTEpOm51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBleHBhbmQgdW5rbm93biBWYWx1ZSB0eXBlOiAiK2FbMF0rIi4iKTt9fXJldHVybiBhfTtmdW5jdGlvbiBmbChhKXtyZXR1cm4gYSYmYS5pbmRleE9mKCJwZW5kaW5nOiIpPT09MD9nbChhLnN1YnN0cig4KSk6ITF9ZnVuY3Rpb24gZ2woYSl7aWYoYT09bnVsbHx8YS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciBiPU51bWJlcihhKSxjPU5iKCk7cmV0dXJuIGI8YyszRTUmJmI+Yy05RTV9O3ZhciBobD0hMSxpbD0hMSxqbD0hMSxrbD0wLGxsPSExLG1sPXZvaWQgMCxubD1bXTtmdW5jdGlvbiBvbChhKXtpZihrbD09PTApbGwmJm5sJiYobmwubGVuZ3RoPj0xMDAmJm5sLnNoaWZ0KCksbmwucHVzaChhKSk7ZWxzZSBpZihwbCgpKXt2YXIgYj1FKDQxKSxjPU1jKGIsW10pO2MubGVuZ3RoPj01MCYmYy5zaGlmdCgpO2MucHVzaChhKX19ZnVuY3Rpb24gcWwoKXtpbHx8KHJsKCksc2woa2wpKX1mdW5jdGlvbiBzbChhKXtpZighaWx8fGtsPT09MiYmYT09PTEpaWYoaWw9ITAsamwmJihhZChCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwpLGpsPSExKSxtbCE9PXZvaWQgMCYmKEEuY2xlYXJUaW1lb3V0KG1sKSxtbD12b2lkIDApLGtsPWEsYT09PTEpe3ZhciBiPW5sO25sPXZvaWQgMDtiPT1udWxsfHxiLmZvckVhY2goZnVuY3Rpb24oYyl7b2woYyl9KX19CmZ1bmN0aW9uIHJsKCl7dmFyIGE9Qi5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhZy1hc3Npc3RhbnQtcHJvZC1wcmVzZW50Iik7Z2woYSk/a2w9MTohZmwoYSl8fGhsfHxqbD9rbD0yOihqbD0hMCwkYyhCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwsITEpLG1sPUEuc2V0VGltZW91dChmdW5jdGlvbigpe2lsfHwocmwoKSxzbChrbCkpO2hsPSEwfSwyMDApKX1mdW5jdGlvbiBwbCgpe2lmKCFsbClyZXR1cm4hMTtzd2l0Y2goa2wpe2Nhc2UgMTpjYXNlIDA6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiB0bCgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KTtyZXR1cm4gYS5pY3M9YS5pY3N8fG5ldyB1bH12YXIgdWw9ZnVuY3Rpb24oKXt0aGlzLmVudHJpZXM9e307dGhpcy53YWl0UGVyaW9kVGltZWRPdXQ9dGhpcy53YXNTZXRMYXRlPXRoaXMuYWNjZXNzZWRBbnk9dGhpcy5hY2Nlc3NlZERlZmF1bHQ9dGhpcy51c2VkSW1wbGljaXQ9dGhpcy51c2VkVXBkYXRlPXRoaXMudXNlZERlZmF1bHQ9dGhpcy51c2VkRGVjbGFyZT10aGlzLmFjdGl2ZT0hMTt0aGlzLkg9W119Owp1bC5wcm90b3R5cGUuZGVmYXVsdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHwhdGhpcy5hY2Nlc3NlZERlZmF1bHQmJiF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWREZWZhdWx0PXRoaXMuYWN0aXZlPSEwO3NiKCJUQUdHSU5HIiwxOSk7Yj09bnVsbD9zYigiVEFHR0lORyIsMTgpOnZsKHRoaXMsYSxiPT09ImdyYW50ZWQiLGMsZCxlLGYsZyl9O3VsLnByb3RvdHlwZS53YWl0Rm9yVXBkYXRlPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl2bCh0aGlzLGFbZF0sdm9pZCAwLHZvaWQgMCwiIiwiIixiLGMpfTsKdmFyIHZsPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9YS5lbnRyaWVzLG49bFtiXXx8e30scD1uLnJlZ2lvbixxPWQmJnpiKGQpP2QudG9VcHBlckNhc2UoKTp2b2lkIDA7ZT1lLnRvVXBwZXJDYXNlKCk7Zj1mLnRvVXBwZXJDYXNlKCk7aWYoZT09PSIifHxxPT09Znx8KHE9PT1lP3AhPT1mOiFxJiYhcCkpe3ZhciByPSEhKGcmJmc+MCYmbi51cGRhdGU9PT12b2lkIDApLHQ9e3JlZ2lvbjpxLGRlY2xhcmVfcmVnaW9uOm4uZGVjbGFyZV9yZWdpb24saW1wbGljaXQ6bi5pbXBsaWNpdCxkZWZhdWx0OmMhPT12b2lkIDA/YzpuLmRlZmF1bHQsZGVjbGFyZTpuLmRlY2xhcmUsdXBkYXRlOm4udXBkYXRlLHF1aWV0OnJ9O2lmKGUhPT0iInx8bi5kZWZhdWx0IT09ITEpbFtiXT10O3ImJkEuc2V0VGltZW91dChmdW5jdGlvbigpe2xbYl09PT10JiZ0LnF1aWV0JiYoc2IoIlRBR0dJTkciLDIpLGEud2FpdFBlcmlvZFRpbWVkT3V0PSEwLGEuY2xlYXJUaW1lb3V0KGIsdm9pZCAwLGgpLAphLm5vdGlmeUxpc3RlbmVycygpKX0sZyl9fTtrPXVsLnByb3RvdHlwZTtrLmNsZWFyVGltZW91dD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W2FdLGU9Yy5kZWxlZ2F0ZWRDb25zZW50VHlwZXMsZjtmb3IoZiBpbiBlKWUuaGFzT3duUHJvcGVydHkoZikmJmVbZl09PT1hJiZkLnB1c2goZik7dmFyIGc9dGhpcy5lbnRyaWVzW2FdfHx7fSxoPXRoaXMuZ2V0Q29uc2VudFN0YXRlKGEsYyk7aWYoZy5xdWlldCl7Zy5xdWlldD0hMTtmb3IodmFyIGw9bShkKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl3bCh0aGlzLG4udmFsdWUpfWVsc2UgaWYoYiE9PXZvaWQgMCYmaCE9PWIpZm9yKHZhciBwPW0oZCkscT1wLm5leHQoKTshcS5kb25lO3E9cC5uZXh0KCkpd2wodGhpcyxxLnZhbHVlKX07CmsudXBkYXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHx0aGlzLnVzZWRVcGRhdGV8fCF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWRVcGRhdGU9dGhpcy5hY3RpdmU9ITA7aWYoYiE9bnVsbCl7dmFyIGQ9dGhpcy5nZXRDb25zZW50U3RhdGUoYSxjKSxlPXRoaXMuZW50cmllczsoZVthXT1lW2FdfHx7fSkudXBkYXRlPWI9PT0iZ3JhbnRlZCI7dGhpcy5jbGVhclRpbWVvdXQoYSxkLGMpfX07CmsuZGVjbGFyZT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudXNlZERlY2xhcmU9dGhpcy5hY3RpdmU9ITA7dmFyIGY9dGhpcy5lbnRyaWVzLGc9ZlthXXx8e30saD1nLmRlY2xhcmVfcmVnaW9uLGw9YyYmemIoYyk/Yy50b1VwcGVyQ2FzZSgpOnZvaWQgMDtkPWQudG9VcHBlckNhc2UoKTtlPWUudG9VcHBlckNhc2UoKTtpZihkPT09IiJ8fGw9PT1lfHwobD09PWQ/aCE9PWU6IWwmJiFoKSl7dmFyIG49e3JlZ2lvbjpnLnJlZ2lvbixkZWNsYXJlX3JlZ2lvbjpsLGRlY2xhcmU6Yj09PSJncmFudGVkIixpbXBsaWNpdDpnLmltcGxpY2l0LGRlZmF1bHQ6Zy5kZWZhdWx0LHVwZGF0ZTpnLnVwZGF0ZSxxdWlldDpnLnF1aWV0fTtpZihkIT09IiJ8fGcuZGVjbGFyZSE9PSExKWZbYV09bn19OwprLmltcGxpY2l0PWZ1bmN0aW9uKGEsYil7dGhpcy51c2VkSW1wbGljaXQ9ITA7dmFyIGM9dGhpcy5lbnRyaWVzLGQ9Y1thXT1jW2FdfHx7fTtkLmltcGxpY2l0IT09ITEmJihkLmltcGxpY2l0PWI9PT0iZ3JhbnRlZCIpfTsKay5nZXRDb25zZW50U3RhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmVudHJpZXMsZD1jW2FdfHx7fSxlPWQudXBkYXRlO2lmKGUhPT12b2lkIDApcmV0dXJuIGU/MToyO2lmKGIudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXt2YXIgZj1iLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2FdO2lmKGY9PT0zKXJldHVybiAxO2lmKGY9PT0yKXJldHVybiAyfWVsc2UgaWYoZT1kLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYj09bnVsbD8wOmIuZGVsZWdhdGVkQ29uc2VudFR5cGVzLmhhc093blByb3BlcnR5KGEpKXt2YXIgZz1iLmRlbGVnYXRlZENvbnNlbnRUeXBlc1thXSxoPWNbZ118fHt9O2U9aC51cGRhdGU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYi51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHMpe3ZhciBsPWIuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbZ107aWYobD09PTMpcmV0dXJuIDE7aWYobD09PTIpcmV0dXJuIDJ9ZWxzZSBpZihlPQpoLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjJ9ZT1kLmRlY2xhcmU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7ZT1kLmltcGxpY2l0O3JldHVybiBlIT09dm9pZCAwP2U/Mzo0OjB9O2suYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkgucHVzaCh7Y29uc2VudFR5cGVzOmEsaWU6Yn0pfTt2YXIgd2w9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGEuSC5sZW5ndGg7KytjKXt2YXIgZD1hLkhbY107QXJyYXkuaXNBcnJheShkLmNvbnNlbnRUeXBlcykmJmQuY29uc2VudFR5cGVzLmluZGV4T2YoYikhPT0tMSYmKGQueG89ITApfX07dWwucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5ILmxlbmd0aDsrK2Mpe3ZhciBkPXRoaXMuSFtjXTtpZihkLnhvKXtkLnhvPSExO3RyeXtkLmllKHtjb25zZW50RXZlbnRJZDphLGNvbnNlbnRQcmlvcml0eUlkOmJ9KX1jYXRjaChlKXt9fX19O3ZhciB4bD0hMSx5bD0hMSx6bD17fSxBbD17ZGVsZWdhdGVkQ29uc2VudFR5cGVzOnt9LGNvcmVQbGF0Zm9ybVNlcnZpY2VzOnt9LHVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlczohMSxzZWxlY3RlZEFsbENvcmVQbGF0Zm9ybVNlcnZpY2VzOiExLGNvbnRhaW5lclNjb3BlZERlZmF1bHRzOih6bC5hZF9zdG9yYWdlPTEsemwuYW5hbHl0aWNzX3N0b3JhZ2U9MSx6bC5hZF91c2VyX2RhdGE9MSx6bC5hZF9wZXJzb25hbGl6YXRpb249MSx6bCksdXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzOiExfTtmdW5jdGlvbiBCbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuKHpiKGEpP1thXTphKS5ldmVyeShmdW5jdGlvbihjKXtzd2l0Y2goYi5nZXRDb25zZW50U3RhdGUoYyxBbCkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOmNhc2UgNDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX0pfQpmdW5jdGlvbiBDbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuIGIuZ2V0Q29uc2VudFN0YXRlKGEsQWwpfWZ1bmN0aW9uIERsKGEpe3ZhciBiPXRsKCk7Yi5hY2Nlc3NlZEFueT0hMDtyZXR1cm4hKGIuZW50cmllc1thXXx8e30pLnF1aWV0fWZ1bmN0aW9uIEVsKCl7aWYoIVlmKDUpKXJldHVybiExO3ZhciBhPXRsKCk7YS5hY2Nlc3NlZEFueT0hMDtpZihhLmFjdGl2ZSlyZXR1cm4hMDtpZighQWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXJldHVybiExO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoQWwuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbYy52YWx1ZV0hPT0xKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEZsKGEsYil7dGwoKS5hZGRMaXN0ZW5lcihhLGIpfQpmdW5jdGlvbiBHbChhLGIpe3RsKCkubm90aWZ5TGlzdGVuZXJzKGEsYil9ZnVuY3Rpb24gSGwoYSxiKXtpZihiLmV2ZXJ5KERsKSlhKHt9KTtlbHNle3ZhciBjPSExO0ZsKGIsZnVuY3Rpb24oZCl7IWMmJmIuZXZlcnkoRGwpJiYoYz0hMCxhKGQpKX0pfX0KZnVuY3Rpb24gSWwoYSxiKXt2YXIgYz16YihiKT9bYl06YixkPXt9LGU9ZnVuY3Rpb24oKXtyZXR1cm4gYy5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIEJsKGgpJiYhZFtoXX0pfSxmPWUoKTtpZihmLmxlbmd0aCE9PWMubGVuZ3RoKXt2YXIgZz1mdW5jdGlvbihoKXtmb3IodmFyIGw9bShoKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlkW24udmFsdWVdPSEwfTtnKGYpO0ZsKGMsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbChxKXtxLmxlbmd0aCE9PTAmJihnKHEpLGguY29uc2VudFR5cGVzPXEsYShoKSl9dmFyIG49ZSgpO2lmKG4ubGVuZ3RoIT09MCl7dmFyIHA9T2JqZWN0LmtleXMoZCkubGVuZ3RoO24ubGVuZ3RoK3A+PWMubGVuZ3RoP2wobik6QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bChlKCkpfSw1MDApfX0pfX07dmFyIEpsPSExO2Z1bmN0aW9uIEtsKGEsYil7dmFyIGM9d2soKSxkPXRrKCk7RSgyNik7dmFyIGU9SWYoNDcpPzA6SWYoNTApPzE6MyxmPVhqKCk7aWYocGwoKSl7dmFyIGc9TGwoIklOSVQiKTtnLmNvbnRhaW5lckxvYWRTb3VyY2U9YSE9bnVsbD9hOjA7YiYmKGcucGFyZW50VGFyZ2V0UmVmZXJlbmNlPWIpO2cuYWxpYXNlcz1jO2cuZGVzdGluYXRpb25zPWQ7ZSE9PXZvaWQgMCYmKGcuZ3RnPXtzb3VyY2U6ZSxtUGF0aDpmIT1udWxsP2Y6IiJ9KTtvbChnKX19CmZ1bmN0aW9uIE1sKGEpe3ZhciBiLGMsZCxlO2I9YS50YXJnZXRJZDtjPWEucmVxdWVzdDtkPWEucWI7ZT1hLmlzQmF0Y2hlZDt2YXIgZjtpZihmPXBsKCkpe3ZhciBnO2E6c3dpdGNoKGMuZW5kcG9pbnQpe2Nhc2UgNjg6Y2FzZSA2OTpjYXNlIDE5OmNhc2UgNjI6Y2FzZSA0NzpnPSEwO2JyZWFrIGE7ZGVmYXVsdDpnPSExfWY9IWd9aWYoZil7dmFyIGg9TGwoIkdUQUdfSElUIix7ZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTtoLnRhcmdldD1iO2gudXJsPWMudXJsO2MucG9zdEJvZHkmJihoLnBvc3RCb2R5PWMucG9zdEJvZHkpO2gucGFyYW1ldGVyRW5jb2Rpbmc9Yy5wYXJhbWV0ZXJFbmNvZGluZztoLmVuZHBvaW50PWMuZW5kcG9pbnQ7ZSE9PXZvaWQgMCYmKGguaXNCYXRjaGVkPWUpO29sKGgpfX1mdW5jdGlvbiBObChhKXtwbCgpJiZNbChhKCkpfQpmdW5jdGlvbiBMbChhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2IuZ3JvdXBJZD1PbDt2YXIgYyxkPWIsZT1QbCxmPXtwdWJsaWNJZDpRbH07ZC5ldmVudElkIT1udWxsJiYoZi5ldmVudElkPWQuZXZlbnRJZCk7ZC5wcmlvcml0eUlkIT1udWxsJiYoZi5wcmlvcml0eUlkPWQucHJpb3JpdHlJZCk7ZC5ldmVudE5hbWUmJihmLmV2ZW50TmFtZT1kLmV2ZW50TmFtZSk7ZC5ncm91cElkJiYoZi5ncm91cElkPWQuZ3JvdXBJZCk7ZC50YWdOYW1lJiYoZi50YWdOYW1lPWQudGFnTmFtZSk7Yz17Y29udGFpbmVyUHJvZHVjdDoiR1RNIixrZXk6Zix2ZXJzaW9uOmUsbWVzc2FnZVR5cGU6YX07Yy5jb250YWluZXJQcm9kdWN0PUpsPyJPR1QiOiJHVE0iO2Mua2V5LnRhcmdldFJlZj1SbDtyZXR1cm4gY312YXIgUWw9IiIsUGw9IiIsUmw9e2N0aWQ6IiIsaXNEZXN0aW5hdGlvbjohMX0sT2w7CmZ1bmN0aW9uIFNsKGEpe3ZhciBiPUUoNSksYz1JZig0NSksZD1zaygpLGU9RSg2KSxmPUUoMSk7RSgyMyk7a2w9MDtsbD0hMDtybCgpO09sPWE7UWw9YjtQbD1mO0psPWM7Umw9e2N0aWQ6Yixpc0Rlc3RpbmF0aW9uOmQsY2Fub25pY2FsSWQ6ZX19O2Z1bmN0aW9uIFRsKGEsYixjLGQpe2lmKHBsKCkpe3ZhciBlPWIuTTtNbCh7dGFyZ2V0SWQ6ZHx8W2IudGFyZ2V0LmRlc3RpbmF0aW9uSWRdLHJlcXVlc3Q6e3VybDphLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6Y30scWI6e2V2ZW50SWQ6ZS5ldmVudElkLHByaW9yaXR5SWQ6ZS5wcmlvcml0eUlkfSxGajp7ZXZlbnRJZDpRKGIsSC5KLnVmKSxwcmlvcml0eUlkOlEoYixILkoudmYpfX0pfX07ZnVuY3Rpb24gVWwoYSxiLGMpe3ZhciBkPSJodHRwczovLyIrYStiO3JldHVybiBjP2Z1bmN0aW9uKCl7cmV0dXJuIFdqKCk/WGooKStjK2I6ZH06ZnVuY3Rpb24oKXtyZXR1cm4gZH19O3ZhciBWbD17fSxXbD0oVmxbMjJdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvYXMvZCIpLFZsWzYwXT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvZ3MiKSxWbFsyM109VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9jb252ZXJzaW9uIiwiL2cvZCIpLFZsKTt2YXIgWGw9e30sWWw9KFhsWzVdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iKSxYbFs2XT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iLCIvZ3MiKSxYbFs4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs2Nl09VWwoInd3dy5nb29nbGUuY29tIiwiL3BhZ2VhZC91Y29udmVyc2lvbiIpLFhsWzYzXT1VbCgid3d3Lmdvb2dsZWFkc2VydmljZXMuY29tIiwiL3BhZ2VhZC9jb252ZXJzaW9uIiksWGxbNjRdPVVsKCJwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSIsIi9wYWdlYWQvY29udmVyc2lvbiIsIi9ncyIpLFhsWzY1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs3NF09ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2FzL3AvYyJ9LFhsKTt2YXIgWmw9e30sJGw9KFpsWzQ1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvY2NtL2NvbGxlY3QiKSxabFs0Nl09VWwoInBhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tIiwiL2NjbS9jb2xsZWN0IiwiL2dzIiksWmxbNjldPVVsKCJhZC5kb3VibGVjbGljay5uZXQiLCIvY2NtL3MvY29sbGVjdCIpLFpsWzU4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkL3NldF9wYXJ0aXRpb25lZF9jb29raWUiKSxabFs1N109VWwoInd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSIsIi9wYWdlYWQvc2V0X3BhcnRpdGlvbmVkX2Nvb2tpZSIpLFpsKTt2YXIgYW09e30sYm09KGFtWzldPVVsKCJnb29nbGVhZHMuZy5kb3VibGVjbGljay5uZXQiLCIvcGFnZWFkL3ZpZXd0aHJvdWdoY29udmVyc2lvbiIpLGFtWzY4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcm1rdC9jb2xsZWN0IiksYW0pO3ZhciBjbT17fSxkbT0oY21bMTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVsyMV09VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9mb3JtLWRhdGEiLCIvZCIpLGNtWzcyXT1VbCgiZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVs3M109VWwoImdvb2dsZS5jb20iLCIvY2NtL2Zvcm0tZGF0YSIsIi9kIiksY20pO3ZhciBlbT17fSxmbT0oZW1bNTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi90cmF2ZWwvZmxpZ2h0cy9jbGljay9jb252ZXJzaW9uIiksZW0pO3ZhciBnbT17fSxobT0oZ21bMV09ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvYWN0aXZpdHk7In0sZ21bMl09ZnVuY3Rpb24oKXtyZXR1cm4oV2ooKT9YaigpOiJodHRwczovL2FkZS5nb29nbGVzeW5kaWNhdGlvbi5jb20iKSsiL2RkbS9hY3Rpdml0eSIrKE0oNDY3KT8iOyI6Ii8iKX0sZ21bM109ZnVuY3Rpb24oYSl7cmV0dXJuImh0dHBzOi8vIithLmxyKyIuZmxzLmRvdWJsZWNsaWNrLm5ldC9hY3Rpdml0eWk7In0sZ20pO2Z1bmN0aW9uIGltKGEpe3NiKCJIRUFMVEgiLGEpfTt2YXIgam09e2JhOntQdDoiYXdfdXNlcl9kYXRhX2NhY2hlIixvaToiY29va2llX2RlcHJlY2F0aW9uX2xhYmVsIixiaDoiZGlhZ25vc3RpY3NfcGFnZV9pZCIsb3A6ImVtZW1vIixkdToiZW1fcmVnaXN0cnkiLFNpOiJlYWIiLHJ1OiJmbF91c2VyX2RhdGFfY2FjaGUiLHR1OiJnYTRfdXNlcl9kYXRhX2NhY2hlIixMdToiaWRjX3B2X2NsYWltIixTZToiaXBfZ2VvX2RhdGFfY2FjaGUiLFhpOiJpcF9nZW9fZmV0Y2hfaW5fcHJvZ3Jlc3MiLGpuOiJuYl9kYXRhIixUcToicGFnZV9leHBlcmltZW50X2lkcyIsbG46InBsZCIsVmU6InB0X2RhdGEiLG1uOiJwdF9saXN0ZW5lcl9zZXQiLGtqOiJyZXRyeV9jb250YWluZXJzIixPaDoic2VydmljZV93b3JrZXJfZW5kcG9pbnQiLFpxOiJzaGFyZWRfdXNlcl9pZCIsYXI6InNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCIsc2o6InNoYXJlZF91c2VyX2lkX3NvdXJjZSIsYnY6ImF3aCIsaHI6InVuaXZlcnNhbF9jbGFpbV9yZWdpc3RyeSJ9fTt2YXIga209ZnVuY3Rpb24oYSl7cmV0dXJuIHRmKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBhKWlmKGI9PT1hW2NdJiYhL15bMC05XSskLy50ZXN0KGMpKXJldHVybiEwO3JldHVybiExfSl9KGptLmJhKTsKZnVuY3Rpb24gbG0oYSxiKXtiPWI9PT12b2lkIDA/ITE6YjtpZihrbShhKSl7dmFyIGMsZCxlPShkPShjPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSkueGNkKSE9bnVsbD9kOmMueGNkPXt9O2lmKGVbYV0pcmV0dXJuIGVbYV07aWYoYil7dmFyIGY9dm9pZCAwLGc9MSxoPXt9LGw9e3NldDpmdW5jdGlvbihuKXtmPW47bC5ub3RpZnkoKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHN1YnNjcmliZTpmdW5jdGlvbihuKXtoW1N0cmluZyhnKV09bjtyZXR1cm4gZysrfSx1bnN1YnNjcmliZTpmdW5jdGlvbihuKXt2YXIgcD1TdHJpbmcobik7cmV0dXJuIGguaGFzT3duUHJvcGVydHkocCk/KGRlbGV0ZSBoW3BdLCEwKTohMX0sbm90aWZ5OmZ1bmN0aW9uKCl7Zm9yKHZhciBuPW0oT2JqZWN0LmtleXMoaCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3RyeXtoW3FdKGEsZil9Y2F0Y2gocil7fX19fTtyZXR1cm4gZVthXT1sfX19CmZ1bmN0aW9uIG1tKGEsYil7dmFyIGM9bG0oYSwhMCk7YyYmYy5zZXQoYil9ZnVuY3Rpb24gbm0oYSl7dmFyIGI7cmV0dXJuKGI9bG0oYSkpPT1udWxsP3ZvaWQgMDpiLmdldCgpfWZ1bmN0aW9uIG9tKGEsYil7dmFyIGM9bG0oYSk7aWYoIWMpe2M9bG0oYSwhMCk7aWYoIWMpcmV0dXJuO2Muc2V0KGIpfXJldHVybiBjLmdldCgpfWZ1bmN0aW9uIHBtKGEsYil7aWYodHlwZW9mIGI9PT0iZnVuY3Rpb24iKXt2YXIgYztyZXR1cm4oYz1sbShhLCEwKSk9PW51bGw/dm9pZCAwOmMuc3Vic2NyaWJlKGIpfX1mdW5jdGlvbiBxbShhLGIpe3ZhciBjPWxtKGEpO3JldHVybiBjP2MudW5zdWJzY3JpYmUoYik6ITF9O3ZhciBzbT1mdW5jdGlvbigpe3RoaXMuSD17fTt0aGlzLks9ITF9O3NtLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5LfHwodGhpcy5IPXRtKCksdGhpcy5IWyIwIl0mJm9tKGptLmJhLlNlLEpTT04uc3RyaW5naWZ5KHRoaXMuSCkpKX07CnZhciB4bT1mdW5jdGlvbigpe3ZhciBhPXVtLGI9dm0sYz12b2lkIDAsZD1mdW5jdGlvbigpe2MhPT12b2lkIDAmJnFtKGptLmJhLlNlLGMpO3RyeXt2YXIgZj1ubShqbS5iYS5TZSk7Yi5IPUpTT04ucGFyc2UoZil9Y2F0Y2goZyl7UCgxMjMpLGltKDIpLGIuSD17fX1iLks9ITA7YSgpfSxlPW5tKGptLmJhLlNlKTtlP2QoZSk6KGM9cG0oam0uYmEuU2UsZCksd20oKSl9LHdtPWZ1bmN0aW9uKCl7aWYoIW5tKGptLmJhLlhpKSl7bW0oam0uYmEuWGksITApO3ZhciBhPWZ1bmN0aW9uKGIpe21tKGptLmJhLlNlLGJ8fCJ7fSIpO21tKGptLmJhLlhpLCExKX07dHJ5e0EuZmV0Y2goImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2NtL2dlbyIse21ldGhvZDoiR0VUIixjYWNoZToibm8tc3RvcmUiLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJvbWl0In0pLnRoZW4oZnVuY3Rpb24oYil7Yi5vaz9iLnRleHQoKS50aGVuKGZ1bmN0aW9uKGMpe2EoYyl9LGZ1bmN0aW9uKCl7YSgpfSk6YSgpfSxmdW5jdGlvbigpe2EoKX0pfWNhdGNoKGIpe2EoKX19fSwKdG09ZnVuY3Rpb24oKXt2YXIgYT1FKDIyKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UocWIoYSkpfWNhdGNoKGIpe3JldHVybiBQKDEyMyksaW0oMikse319fSx5bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIwIl18fCIifSx6bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIxIl18fCIifSxBbT1mdW5jdGlvbigpe3ZhciBhPXZtLGI9ITE7Yj0hIWEuSFsiMiJdO3JldHVybiBifSxCbT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyI2Il0hPT0hMX0sQ209ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSExO2I9ISFhLkhbIjkiXTtyZXR1cm4gYn0sRG09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyI0Il18fCIiOwpyZXR1cm4gYn0sRW09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyIzIl18fCIiO3JldHVybiBifSx2bT1uZXcgc207ZnVuY3Rpb24gRm0oYSl7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuImh0dHBzOi8vIisoRG0oKXx8Ind3dyIpKyIuZ29vZ2xlLWFuYWx5dGljcy5jb20vIithfWZ1bmN0aW9uIEdtKGEpe2E9YT09PXZvaWQgMD8iZy9jb2xsZWN0IjphO3ZhciBiPURtKCk7cmV0dXJuImh0dHBzOi8vIisoYj9iKyIuIjoiIikrImFuYWx5dGljcy5nb29nbGUuY29tLyIrYX12YXIgSG09e30sSW09KEhtWzE3XT1mdW5jdGlvbigpe3JldHVybiBXaigpJiYhRG0oKT9YaigpKyIvYWcvZy9jIjpHbSgpfSxIbVsxNl09ZnVuY3Rpb24oKXtyZXR1cm4gV2ooKSYmIURtKCk/WGooKSsiL2dhL2cvYyI6Rm0oKX0sSG1bNjddPWZ1bmN0aW9uKCl7dmFyIGE7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuIERtKCk/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIithfSxIbSk7ZnVuY3Rpb24gSm0oYSxiLGMpe3ZhciBkPVVsKGIsIi9tZWFzdXJlbWVudC9jb252ZXJzaW9uIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gRG0oKT9hKCJtZWFzdXJlbWVudC9jb252ZXJzaW9uIik6ZCgpfX12YXIgS209e30sTG09KEttWzU1XT1KbShGbSwicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvZ3MiKSxLbVs1NF09Sm0oR20sInd3dy5nb29nbGUuY29tIiwiL2ciKSxLbSk7dmFyIE1tPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sV2wsWWwsJGwsYm0sZG0sZm0saG0sTG0sSW0pO2Z1bmN0aW9uIE5tKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiW2RdIT1udWxsfSkubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkKyI9IitiW2RdfSkuam9pbigiJiIpO3JldHVybiBNbVthXSh2b2lkIDApKyI/IitjfTt2YXIgT209e30sUG09KE9tLnRkcD0xLE9tLmV4cD0xLE9tLmd0bT0xLE9tLnBpZD0xLE9tLmRsPTEsT20uc2VxPTEsT20udD0xLE9tLnY9MSxPbSksUm09ZnVuY3Rpb24oKXt2YXIgYT1RbTtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGEuSFtiXX0pfSxTbT1mdW5jdGlvbihhLGIsYyl7aWYoYS5IW2JdPT09dm9pZCAwfHwoYz09PXZvaWQgMD8wOmMpKWEuSFtiXT0hMH0sVG09ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1BtW2JdfHwoUW0uSFtiXT0hMSl9KX0sUW09bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuSz17fX07ZnVuY3Rpb24gVW0oYSxiLGMpe3ZhciBkPWM9PT12b2lkIDA/ITA6YyxlPVFtO2UuS1thXT1iOyhkPT09dm9pZCAwfHxkKSYmU20oZSxhKX1mdW5jdGlvbiBWbShhLGIpe1NtKFFtLGEsYj09PXZvaWQgMD8hMTpiKX07ZnVuY3Rpb24gV20oYSl7dmFyIGI9MDthLkdjLmZvckVhY2goZnVuY3Rpb24oYyl7Ynw9MTw8Y30pO3JldHVybiBifWZ1bmN0aW9uIFhtKCl7cmV0dXJue3RvdGFsOjAsamI6MCxHYzpuZXcgU2V0LGxmOnt9fX1mdW5jdGlvbiBZbShhLGIsYyxkKXt2YXIgZT1PYmplY3Qua2V5cyhhLm5mKS5zb3J0KGZ1bmN0aW9uKGYsZyl7cmV0dXJuIE51bWJlcihmKS1OdW1iZXIoZyl9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuW2YsYihhLm5mW2ZdKV19KS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGZbMV0hPT12b2lkIDB9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuam9pbihjKX0pLmpvaW4oZCk7cmV0dXJuIGU/ZTp2b2lkIDB9CmZ1bmN0aW9uIFptKGEsYil7dmFyIGMsZCxlO2M9Yz09PXZvaWQgMD8iXyI6YztkPWQ9PT12b2lkIDA/IjsiOmQ7ZT1lPT09dm9pZCAwPyJ+IjplO2Zvcih2YXIgZj1bXSxnPW0oT2JqZWN0LmtleXMoYS5sZikuc29ydCgpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPVltKGEubGZbbF0sYixjLGQpO2lmKG4pe3ZhciBwPXZvaWQgMDtmLnB1c2goIiIrKChwPWwpIT1udWxsP3A6IiIpK2Qrbil9fXJldHVybiBmLmxlbmd0aD9mLmpvaW4oZSk6dm9pZCAwfQpmdW5jdGlvbiAkbShhKXthLmpiPTA7YS5HYy5jbGVhcigpO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKGEubGYpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9YS5sZltjLnZhbHVlXTtkLmpiPTA7ZC5HYy5jbGVhcigpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGQubmYpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9ZC5uZltmLnZhbHVlXTtnLmpiPTA7Zy5HYy5jbGVhcigpfX19CmZ1bmN0aW9uIGFuKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPzE6ZDthLnRvdGFsKz1kO2EuamIrPWQ7dmFyIGYsZz1iPT09dm9pZCAwPyIiOmI7Zj1hLmxmW2ddfHwoYS5sZltnXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXQsbmY6e319KTtmLnRvdGFsKz1kO2YuamIrPWQ7dmFyIGgsbD1TdHJpbmcoYyk7aD1mLm5mW2xdfHwoZi5uZltsXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXR9KTtoLnRvdGFsKz1kO2guamIrPWQ7ZSE9PXZvaWQgMCYmKGEuR2MuYWRkKGUpLGYuR2MuYWRkKGUpLGguR2MuYWRkKGUpKX07dmFyIGJuPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCl9O2JuLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oYSxiKXthbih0aGlzLkgsYSxiKX07dmFyIGNuPW5ldyBibjtmdW5jdGlvbiBkbihhKXt2YXIgYj1TdHJpbmcoYVtHZi5ZYl18fCIiKS5yZXBsYWNlKC9fL2csIiIpO3JldHVybiBTYihiLCJjdnQiKT8iY3Z0IjpifXZhciBlbj1BLmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/Z3RtX2xhdGVuY3k9Iik+PTB8fEEubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIiZndG1fbGF0ZW5jeT0iKT49MDt2YXIgZ249ZnVuY3Rpb24oKXt2YXIgYT1mbjtyZXR1cm4gTSg2MDMpJiZJZig2NSwhMSkmJiFhLlp9LGZuPW5ldyBmdW5jdGlvbihhKXt0aGlzLlI9YSgpO3ZhciBiPUpmKDI3KTt0aGlzLk49ZW58fHRoaXMuUjxiO3ZhciBjPUpmKDQyKTt0aGlzLlo9ZW58fHRoaXMuUj49MS1jO3ZhciBkPU0oNjAzKSYmSWYoNjUsITEpO3RoaXMuSz10aGlzLlp8fGQ7dmFyIGU9SmYoMjcpLGY9SmYoNjMpO3RoaXMuSD1lbnx8Zj09PTF8fHRoaXMuUj49ZSYmdGhpcy5SPGUrZn0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKX0pO3ZhciBobj1mdW5jdGlvbigpe3RoaXMuSD17fX07aG4ucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYixjKXtpZihmbi5LKXt2YXIgZD1qbihiLGMpO2lmKGQpe3ZhciBlLGY9YjtmPT09NCYmKGY9NSk7dmFyIGc9dGhpcy5IW2ZdO2d8fChnPXRoaXMuSFtmXT17fSk7ZT1nO3ZhciBoPWVbZF07aHx8KGg9ZVtkXT1bXSk7aC5wdXNoKG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSkpO2NuLmluY3JlbWVudChhLmRlc3RpbmF0aW9uSWQsYS5lbmRwb2ludCk7YS5lbmRwb2ludCE9PTU2JiZhLmVuZHBvaW50IT09NjEmJlZtKCJtZGUiLCEwKX19fTsKdmFyIG1uPWZ1bmN0aW9uKGEsYil7dmFyIGM9a24sZD1qbihhLGIpO2lmKGQpe3ZhciBlPWxuKGMsYSk7aWYoZSl7dmFyIGY9ZVtkXTtmJiYoZVtkXT1mLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hZy5Fb30pKX19fSxsbj1mdW5jdGlvbihhLGIpe2I9PT00JiYoYj01KTtyZXR1cm4gYS5IW2JdfSxqbj1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYoYlswXT09PSIvIil7dmFyIGQ7Yz0oKGQ9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmQub3JpZ2luKStifXRyeXt2YXIgZT1uZXcgVVJMKGMpO3JldHVybiBhPT09Mj9lLm9yaWdpbjplLm9yaWdpbitlLnBhdGhuYW1lfWNhdGNoKGYpe319LGtuPW5ldyBobjsKZnVuY3Rpb24gbm4oYSl7c3dpdGNoKGEpe2Nhc2UgInNjcmlwdC1zcmMiOnJldHVybiA0O2Nhc2UgInNjcmlwdC1zcmMtZWxlbSI6cmV0dXJuIDU7Y2FzZSAiZnJhbWUtc3JjIjpyZXR1cm4gMjtjYXNlICJjb25uZWN0LXNyYyI6cmV0dXJuIDE7Y2FzZSAiaW1nLXNyYyI6cmV0dXJuIDN9fTtmdW5jdGlvbiBvbihhLGIsYyl7dmFyIGQsZT1hLkdvb2dsZWJRaENzTztlfHwoZT17fSxhLkdvb2dsZWJRaENzTz1lKTtkPWU7aWYoZFtiXSlyZXR1cm4hMTtkW2JdPVtdO2RbYl1bMF09YztyZXR1cm4hMH07dmFyIHBuLHFuO2E6e2Zvcih2YXIgcm49WyJDTE9TVVJFX0ZMQUdTIl0sc249UmEsdG49MDt0bjxybi5sZW5ndGg7dG4rKylpZihzbj1zbltyblt0bl1dLHNuPT1udWxsKXtxbj1udWxsO2JyZWFrIGF9cW49c259dmFyIHVuPXFuJiZxbls2MTA0MDEzMDFdO3BuPXVuIT1udWxsP3VuOiExO2Z1bmN0aW9uIHZuKCl7dmFyIGE9UmEubmF2aWdhdG9yO2lmKGEpe3ZhciBiPWEudXNlckFnZW50O2lmKGIpcmV0dXJuIGJ9cmV0dXJuIiJ9dmFyIHduLHhuPVJhLm5hdmlnYXRvcjt3bj14bj94bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geW4oYSl7aWYoIXBufHwhd24pcmV0dXJuITE7Zm9yKHZhciBiPTA7Yjx3bi5icmFuZHMubGVuZ3RoO2IrKyl7dmFyIGM9d24uYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gem4oYSl7cmV0dXJuIHZuKCkuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIEFuKCl7cmV0dXJuIHBuPyEhd24mJnduLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiBCbigpe3JldHVybiBBbigpPyExOnpuKCJPcGVyYSIpfWZ1bmN0aW9uIENuKCl7cmV0dXJuIHpuKCJGaXJlZm94Iil8fHpuKCJGeGlPUyIpfWZ1bmN0aW9uIERuKCl7cmV0dXJuIEFuKCk/eW4oIkNocm9taXVtIik6KHpuKCJDaHJvbWUiKXx8em4oIkNyaU9TIikpJiYhKEFuKCk/MDp6bigiRWRnZSIpKXx8em4oIlNpbGsiKX07ZnVuY3Rpb24gRW4oKXtyZXR1cm4gcG4/ISF3biYmISF3bi5wbGF0Zm9ybTohMX1mdW5jdGlvbiBGbigpe3JldHVybiB6bigiaVBob25lIikmJiF6bigiaVBvZCIpJiYhem4oImlQYWQiKX1mdW5jdGlvbiBHbigpe0ZuKCl8fHpuKCJpUGFkIil8fHpuKCJpUG9kIil9O3ZhciBIbj1mdW5jdGlvbihhKXtIblsiICJdKGEpO3JldHVybiBhfTtIblsiICJdPWZ1bmN0aW9uKCl7fTtCbigpO0FuKCl8fHpuKCJUcmlkZW50Iil8fHpuKCJNU0lFIik7em4oIkVkZ2UiKTshem4oIkdlY2tvIil8fHZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpfHx6bigiVHJpZGVudCIpfHx6bigiTVNJRSIpfHx6bigiRWRnZSIpO3ZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpJiZ6bigiTW9iaWxlIik7RW4oKXx8em4oIk1hY2ludG9zaCIpO0VuKCl8fHpuKCJXaW5kb3dzIik7KEVuKCk/d24ucGxhdGZvcm09PT0iTGludXgiOnpuKCJMaW51eCIpKXx8RW4oKXx8em4oIkNyT1MiKTtFbigpfHx6bigiQW5kcm9pZCIpO0ZuKCk7em4oImlQYWQiKTt6bigiaVBvZCIpO0duKCk7dm4oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImthaW9zIik7Q24oKTtGbigpfHx6bigiaVBvZCIpO3puKCJpUGFkIik7IXpuKCJBbmRyb2lkIil8fERuKCl8fENuKCl8fEJuKCl8fHpuKCJTaWxrIik7RG4oKTshem4oIlNhZmFyaSIpfHxEbigpfHwoQW4oKT8wOnpuKCJDb2FzdCIpKXx8Qm4oKXx8KEFuKCk/MDp6bigiRWRnZSIpKXx8KEFuKCk/eW4oIk1pY3Jvc29mdCBFZGdlIik6em4oIkVkZy8iKSl8fChBbigpP3luKCJPcGVyYSIpOnpuKCJPUFIiKSl8fENuKCl8fHpuKCJTaWxrIil8fHpuKCJBbmRyb2lkIil8fEduKCk7dmFyIEluPXt9LEpuPW51bGw7CmZ1bmN0aW9uIEtuKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZT4yNTUmJihiW2MrK109ZSYyNTUsZT4+PTgpO2JbYysrXT1lfXZhciBmPTQ7Zj09PXZvaWQgMCYmKGY9MCk7aWYoIUpuKXtKbj17fTtmb3IodmFyIGc9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksaD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxsPTA7bDw1O2wrKyl7dmFyIG49Zy5jb25jYXQoaFtsXS5zcGxpdCgiIikpO0luW2xdPW47Zm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07Sm5bcV09PT12b2lkIDAmJihKbltxXT1wKX19fWZvcih2YXIgcj1JbltmXSx0PUFycmF5KE1hdGguZmxvb3IoYi5sZW5ndGgvMykpLHU9cls2NF18fCIiLHY9MCx4PTA7djxiLmxlbmd0aC0yO3YrPTMpe3ZhciB5PWJbdl0sej1iW3YrMV0sQz1iW3YrMl0sCkQ9clt5Pj4yXSxJPXJbKHkmMyk8PDR8ej4+NF0sRz1yWyh6JjE1KTw8MnxDPj42XSxOPXJbQyY2M107dFt4KytdPSIiK0QrSStHK059dmFyIFM9MCxXPXU7c3dpdGNoKGIubGVuZ3RoLXYpe2Nhc2UgMjpTPWJbdisxXSxXPXJbKFMmMTUpPDwyXXx8dTtjYXNlIDE6dmFyIGVhPWJbdl07dFt4XT0iIityW2VhPj4yXStyWyhlYSYzKTw8NHxTPj40XStXK3V9cmV0dXJuIHQuam9pbigiIil9O3ZhciBMbj1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXCsvZywiICIpKX07dmFyIE1uPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gTm4oYSxiLGMsZCl7Zm9yKHZhciBlPWIsZj1jLmxlbmd0aDsoZT1hLmluZGV4T2YoYyxlKSk+PTAmJmU8ZDspe3ZhciBnPWEuY2hhckNvZGVBdChlLTEpO2lmKGc9PTM4fHxnPT02Myl7dmFyIGg9YS5jaGFyQ29kZUF0KGUrZik7aWYoIWh8fGg9PTYxfHxoPT0zOHx8aD09MzUpcmV0dXJuIGV9ZSs9ZisxfXJldHVybi0xfXZhciBPbj0vI3wkLzsKZnVuY3Rpb24gUG4oYSxiKXt2YXIgYz1hLnNlYXJjaChPbiksZD1ObihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gTG4oYS5zbGljZShkLGUhPT0tMT9lOjApKX12YXIgUW49L1s/Jl0oJHwjKS87CmZ1bmN0aW9uIFJuKGEsYixjKXtmb3IodmFyIGQsZT1hLnNlYXJjaChPbiksZj0wLGcsaD1bXTsoZz1ObihhLGYsYixlKSk+PTA7KWgucHVzaChhLnN1YnN0cmluZyhmLGcpKSxmPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZykrMXx8ZSxlKTtoLnB1c2goYS5zbGljZShmKSk7ZD1oLmpvaW4oIiIpLnJlcGxhY2UoUW4sIiQxIik7dmFyIGwsbj1jIT1udWxsPyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKToiIjt2YXIgcD1iK247aWYocCl7dmFyIHEscj1kLmluZGV4T2YoIiMiKTtyPDAmJihyPWQubGVuZ3RoKTt2YXIgdD1kLmluZGV4T2YoIj8iKSx1O3Q8MHx8dD5yPyh0PXIsdT0iIik6dT1kLnN1YnN0cmluZyh0KzEscik7cT1bZC5zbGljZSgwLHQpLHUsZC5zbGljZShyKV07dmFyIHY9cVsxXTtxWzFdPXA/dj92KyImIitwOnA6djtsPXFbMF0rKHFbMV0/Ij8iK3FbMV06IiIpK3FbMl19ZWxzZSBsPWQ7cmV0dXJuIGx9O2Z1bmN0aW9uIFNuKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9UG4oYywiZm10Iik7aWYoZCl7dmFyIG49UG4oYywicmFuZG9tIikscD1QbihjLCJsYWJlbCIpfHwiIjtpZighbilyZXR1cm47dmFyIHE9S24oTG4ocCkrIjoiK0xuKG4pKTtpZighb24oYSxxLGQpKXJldHVybn1sJiZOdW1iZXIobCkhPT00PyhjPVJuKGMsInJmbXQiLGwpLGM9Um4oYywiZm10Iiw0KSk6bHx8KGM9Um4oYywiZm10Iiw0KSk7VWMoYyxmdW5jdGlvbigpe2c9PW51bGx8fFRuKGcpO2g9PW51bGx8fFVuKGgsYyk7YS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzJiZkJiYoYS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzPW51bGwsZCgpKX0sZnVuY3Rpb24oKXtnPT1udWxsfHxUbihnKTtoPT1udWxsfHxVbihoLGMpO2U9PW51bGx8fGUoKX0sZixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXS5wYXJlbnRFbGVtZW50fHx2b2lkIDApO3JldHVybiBjfTtmdW5jdGlvbiBWbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwxLGJbMF0pO2lkLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gV24oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gamQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBYbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwzLGJbMF0pO1pjLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gWW4oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gbWQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBabihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSw1LGJbMF0pO1VjLmFwcGx5KG51bGwsdyhiKSl9CmZ1bmN0aW9uICRuKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTtiWzBdJiZrbi5yZWdpc3RlcihhLDIsYlswXSk7WGMuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBhbyhhKXt2YXIgYj1Tbi5hcHBseShudWxsLHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSk7YiYma24ucmVnaXN0ZXIoYSw0LGIpO3JldHVybiBifTt2YXIgYm89e01hOntSZTowLFVlOjEsTGg6Mn19O2JvLk1hW2JvLk1hLlJlXT0iRlVMTF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLlVlXT0iTElNSVRFRF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLkxoXT0iTk9fVFJBTlNNSVNTSU9OIjt2YXIgY289e2lhOntnZDowLGNiOjEseGQ6MixaYjozfX07Y28uaWFbY28uaWEuZ2RdPSJOT19RVUVVRSI7Y28uaWFbY28uaWEuY2JdPSJBRFMiO2NvLmlhW2NvLmlhLnhkXT0iQU5BTFlUSUNTIjtjby5pYVtjby5pYS5aYl09Ik1PTklUT1JJTkciO3ZhciBlbz1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuY29uc2VudFR5cGVzPWJ9O2VvLnByb3RvdHlwZS5pc0NvbnNlbnRHcmFudGVkPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuSCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnNlbnRUeXBlcy5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gQmwoYSl9KTtjYXNlIDE6cmV0dXJuIHRoaXMuY29uc2VudFR5cGVzLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIEJsKGEpfSk7ZGVmYXVsdDp5Yyh0aGlzLkgsImNvbnNlbnRzUmVxdWlyZWQgaGFkIGFuIHVua25vd24gdHlwZSIpfX07CnZhciBmbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLkg9KGFbY28uaWEuZ2RdPWJvLk1hLlJlLGFbY28uaWEuY2JdPWJvLk1hLlJlLGFbY28uaWEueGRdPWJvLk1hLlJlLGFbY28uaWEuWmJdPWJvLk1hLlJlLGEpO3ZhciBiPXt9O3RoaXMuSz0oYltjby5pYS5nZF09bmV3IGVvKDAsW10pLGJbY28uaWEuY2JdPW5ldyBlbygwLFsiYWRfc3RvcmFnZSJdKSxiW2NvLmlhLnhkXT1uZXcgZW8oMCxbImFuYWx5dGljc19zdG9yYWdlIl0pLGJbY28uaWEuWmJdPW5ldyBlbygxLFsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl0pLGIpfTt2YXIgaG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnR5cGU9YTt0aGlzLkg9W107RmwoZm8uS1thXS5jb25zZW50VHlwZXMsZnVuY3Rpb24oKXtnbyhiKXx8Yi5mbHVzaCgpfSl9O2hvLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT1tKHRoaXMuSCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe3ZhciBjPWIudmFsdWU7YygpfXRoaXMuSD1bXX07dmFyIGdvPWZ1bmN0aW9uKGEpe3JldHVybiBmby5IW2EudHlwZV09PT1iby5NYS5MaCYmIWZvLktbYS50eXBlXS5pc0NvbnNlbnRHcmFudGVkKCl9LGlvPWZ1bmN0aW9uKGEsYil7Z28oYSk/YS5ILnB1c2goYik6YigpfSxqbz1mdW5jdGlvbigpe3RoaXMuSD1uZXcgTWFwfSxsbz1mdW5jdGlvbihhKXt2YXIgYj1rbztiLkguaGFzKGEpfHxiLkguc2V0KGEsbmV3IGhvKGEpKTtyZXR1cm4gYi5ILmdldChhKX07am8ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ILmNsZWFyKCl9Owp2YXIga289bmV3IGpvO3ZhciBtbz1bImZpbiIsImZzIiwibWNjIiwibmNjIl0sbm89ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9Um0oKSxjPVFtLkssZD1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY1tlXSE9PXZvaWQgMCYmKGF8fCFtby5pbmNsdWRlcyhlKSl9KTtUbShkKTtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9Y1tlXTt0eXBlb2YgZj09PSJmdW5jdGlvbiImJihmPWYoKSk7cmV0dXJuIGY/IiYiK2UrIj0iK2Y6IiJ9KS5qb2luKCIiKSsiJno9MCJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPSJodHRwczovLyIrRSgyMSksYz0iL3RkP2lkPSIrRSg1KTtyZXR1cm4iIitmayhiKStjK2F9LHBvPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITE6YztpZigkaygyNikmJmZuLksmJkUoNSkmJihjfHwhZ24oKSkpe3ZhciBkPWxvKGNvLmlhLlpiKTtpZihnbyhkKSlhLkh8fChhLkg9ITAsaW8oZCxmdW5jdGlvbigpe3JldHVybiBwbyhhKX0pKTsKZWxzZXtiJiZVbSgiZmluIiwiMSIpO3ZhciBlPW5vKGIpLGY9b28oZSksZz17ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjYxfTtiP1luKGcsZix2b2lkIDAse1FnOiEwfSx2b2lkIDAsZnVuY3Rpb24oKXtaYyhmKyImaW1nPTEiKX0pOlhuKGcsZik7YS5IPSExO3FvKGUpfX19LHFvPWZ1bmN0aW9uKGEpe2lmKEtjJiYoU2IoS2MsImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tLyIpfHxJZig0NykpJiYhKGEuaW5kZXhPZigiJmNzcD0iKTwwJiZhLmluZGV4T2YoIiZtZGU9Iik8MCkpe3ZhciBiO2E6e3RyeXtpZihLYyl7Yj1uZXcgVVJMKEtjKTticmVhayBhfX1jYXRjaChjKXt9Yj12b2lkIDB9YiYmVWMoIiIrS2MrKEtjLmluZGV4T2YoIj8iKT49MD8iJiI6Ij8iKSsiaXNfdGQ9MSIrYSl9fSxybz1mdW5jdGlvbihhKXtSbSgpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIVBtW2JdfSkmJnBvKGEsITApfSxzbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSD0hMTsKJGMoQSwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7cm8oYSl9KX07ZnVuY3Rpb24gdG8oYSxiKXtwbyhzbyxhPT09dm9pZCAwPyExOmEsYj09PXZvaWQgMD8hMTpiKX07dmFyIHVvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIiwiYWRfdXNlcl9kYXRhIiwiYWRfcGVyc29uYWxpemF0aW9uIl0sdm89W0YuRC5kZCxGLkQueWMsRi5ELlFmLEYuRC5LYixGLkQueGMsRi5ELmZiLEYuRC5EYixGLkQubmIsRi5ELkxiLEYuRC52Y10seW89ZnVuY3Rpb24oKXt2YXIgYT13bzshYS5SJiZhLkgmJih1by5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBBbC5jb250YWluZXJTY29wZWREZWZhdWx0c1tiXSE9PTF9KXx8eG8oIm1iYyIpKTthLlI9ITB9LHhvPWZ1bmN0aW9uKGEpe2ZuLksmJihVbShhLCIxIiksdG8oKSl9LHpvPWZ1bmN0aW9uKGEsYil7dmFyIGM9d287aWYoIWMuTltiXSYmKGMuTltiXT0hMCxjLktbYl0pKWZvcih2YXIgZD1tKHZvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihPKGEsZS52YWx1ZSkpe3hvKCJlcmMiKTticmVha319LHdvPW5ldyBmdW5jdGlvbigpe3RoaXMuUj10aGlzLkg9ITE7dGhpcy5OPXt9O3RoaXMuSz17fX07dmFyIEFvPXt9LEJvPU9iamVjdC5mcmVlemUoKEFvW0YuRC5SY109MSxBb1tGLkQuaGhdPTEsQW9bRi5ELnNpXT0xLEFvW0YuRC5TY109MSxBb1tGLkQuSGFdPTEsQW9bRi5ELkxiXT0xLEFvW0YuRC5DYl09MSxBb1tGLkQuVGJdPTEsQW9bRi5ELklkXT0xLEFvW0YuRC52Y109MSxBb1tGLkQubmJdPTEsQW9bRi5ELkpkXT0xLEFvW0YuRC5IZV09MSxBb1tGLkQuT2FdPTEsQW9bRi5ELlFwXT0xLEFvW0YuRC5QZl09MSxBb1tGLkQuRmldPTEsQW9bRi5ELnBoXT0xLEFvW0YuRC5XY109MSxBb1tGLkQuUWZdPTEsQW9bRi5ELmFxXT0xLEFvW0YuRC5UYV09MSxBb1tGLkQuVWZdPTEsQW9bRi5ELmZxXT0xLEFvW0YuRC5PZF09MSxBb1tGLkQuUmxdPTEsQW9bRi5ELlljXT0xLEFvW0YuRC5aY109MSxBb1tGLkQuRGJdPTEsQW9bRi5ELmFtXT0xLEFvW0YuRC5XYl09MSxBb1tGLkQuVGRdPTEsQW9bRi5ELlhiXT0xLEFvW0YuRC5PaV09MSxBb1tGLkQuZGRdPTEsQW9bRi5ELnloXT0xLEFvW0YuRC5QaV09CjEsQW9bRi5ELlVkXT0xLEFvW0YuRC55Y109MSxBb1tGLkQuVmRdPTEsQW9bRi5ELmxtXT0xLEFvW0YuRC5XZF09MSxBb1tGLkQuZWRdPTEsQW9bRi5ELm9qXT0xLEFvKSk7T2JqZWN0LmZyZWV6ZShbRi5ELnphLEYuRC5VYSxGLkQuTWIsRi5ELnRiLEYuRC5OaSxGLkQuZmIsRi5ELkdpLEYuRC5NcF0pOwp2YXIgQ289e30sRG89T2JqZWN0LmZyZWV6ZSgoQ29bRi5ELnFwXT0xLENvW0YuRC5ycF09MSxDb1tGLkQudHBdPTEsQ29bRi5ELnVwXT0xLENvW0YuRC52cF09MSxDb1tGLkQuenBdPTEsQ29bRi5ELkFwXT0xLENvW0YuRC5CcF09MSxDb1tGLkQuRHBdPTEsQ29bRi5ELnlmXT0xLENvKSksRW89e30sRm89T2JqZWN0LmZyZWV6ZSgoRW9bRi5ELnZsXT0xLEVvW0YuRC53bF09MSxFb1tGLkQueGVdPTEsRW9bRi5ELnllXT0xLEVvW0YuRC54bF09MSxFb1tGLkQuQWRdPTEsRW9bRi5ELnplXT0xLEVvW0YuRC5vY109MSxFb1tGLkQuUWNdPTEsRW9bRi5ELnFjXT0xLEVvW0YuRC5JYl09MSxFb1tGLkQuQWVdPTEsRW9bRi5ELnJjXT0xLEVvW0YuRC55bF09MSxFbykpLEdvPU9iamVjdC5mcmVlemUoW0YuRC5SYyxGLkQuU2MsRi5ELkpkLEYuRC5RZixGLkQuV2YsRi5ELlRkLEYuRC5PaSxGLkQuVmRdKSxIbz1PYmplY3QuZnJlZXplKFtdLmNvbmNhdCh3KEdvKSkpLElvPU9iamVjdC5mcmVlemUoW0YuRC5DYiwKRi5ELnBoLEYuRC55aCxGLkQuUGksRi5ELm5oXSksSm89T2JqZWN0LmZyZWV6ZShbXS5jb25jYXQodyhJbykpKSxLbz17fSxMbz0oS29bRi5ELmthXT0iMSIsS29bRi5ELnJhXT0iMiIsS29bRi5ELm1hXT0iMyIsS29bRi5ELlhhXT0iNCIsS28pLE1vPXt9LE5vPU9iamVjdC5mcmVlemUoKE1vLnNlYXJjaD0icyIsTW8ueW91dHViZT0ieSIsTW8ucGxheXN0b3JlPSJwIixNby5zaG9wcGluZz0iaCIsTW8uYWRzPSJhIixNby5tYXBzPSJtIixNbykpO2Z1bmN0aW9uIE9vKGEpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD97fTphfWZ1bmN0aW9uIFBvKGEpe3JldHVybiBhPT09dm9pZCAwfHxhPT09bnVsbD8iIjp0eXBlb2YgYT09PSJvYmplY3QiP2EudG9TdHJpbmcoKTpTdHJpbmcoYSl9ZnVuY3Rpb24gUW8oYSl7aWYoYSE9PXZvaWQgMCYmYSE9PW51bGwpcmV0dXJuIFBvKGEpfTt2YXIgUm89W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV07ZnVuY3Rpb24gU28oYSl7Zm9yKHZhciBiPW0oYVtGLkQubmNdfHxbIiJdKSxjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyZWdpb246dm9pZCAwfSxjPWIubmV4dCgpKWQucmVnaW9uPWMudmFsdWUsR2IoYSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZixnKXtpZihmIT09Ri5ELm5jKXt2YXIgaD1QbyhnKSxsPWUucmVnaW9uLG49eW0oKSxwPXptKCk7eWw9ITA7eGwmJnNiKCJUQUdHSU5HIiwyMCk7dGwoKS5kZWNsYXJlKGYsaCxsLG4scCl9fX0oZCkpfQpmdW5jdGlvbiBUbyhhKXt5bygpO3ZhciBiPWFsKDE3LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxjPWFsKDE2LGZ1bmN0aW9uKCl7cmV0dXJuITF9KTshYiYmYyYmeG8oImNyYyIpO1prKDE3LCEwKTt2YXIgZD1hW0YuRC5ZZ107ZCYmUCg0MSk7dmFyIGU9YVtGLkQubmNdO2U/UCg0MCk6ZT1bIiJdO2Zvcih2YXIgZj1tKGUpLGc9Zi5uZXh0KCksaD17fTshZy5kb25lO2g9e0JvOnZvaWQgMH0sZz1mLm5leHQoKSloLkJvPWcudmFsdWUsR2IoYSxmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24obixwKXtpZihuIT09Ri5ELm5jJiZuIT09Ri5ELllnKXt2YXIgcT1RbyhwKSxyPWwuQm8sdD1OdW1iZXIoZCksdT15bSgpLHY9em0oKTt0PXQ9PT12b2lkIDA/MDp0O3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkuZGVmYXVsdChuLHEscix1LHYsdCxBbCl9fX0oaCkpfQpmdW5jdGlvbiBVbyhhKXtBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM9ITA7dmFyIGI9YVtGLkQubmNdO2lmKGIpe3ZhciBjPUFycmF5LmlzQXJyYXkoYik/YjpbYl07aWYoIWMuaW5jbHVkZXMoem0oKSkmJiFjLmluY2x1ZGVzKHltKCkpKXJldHVybn1HYihhLGZ1bmN0aW9uKGQsZSl7c3dpdGNoKGQpe2Nhc2UgImFkX3N0b3JhZ2UiOmNhc2UgImFuYWx5dGljc19zdG9yYWdlIjpjYXNlICJhZF91c2VyX2RhdGEiOmNhc2UgImFkX3BlcnNvbmFsaXphdGlvbiI6YnJlYWs7ZGVmYXVsdDpyZXR1cm59QWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzPSEwO0FsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2RdPWU9PT0iZ3JhbnRlZCI/MzoyfSl9CmZ1bmN0aW9uIFZvKGEsYil7eW8oKTtaaygxNiwhMCk7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPVBvKGQpO3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkudXBkYXRlKGMsZSxBbCl9KTtHbChiLmV2ZW50SWQsYi5wcmlvcml0eUlkKX1mdW5jdGlvbiBXbyhhKXthLmhhc093blByb3BlcnR5KCJhbGwiKSYmKEFsLnNlbGVjdGVkQWxsQ29yZVBsYXRmb3JtU2VydmljZXM9ITAsR2IoTm8sZnVuY3Rpb24oYil7QWwuY29yZVBsYXRmb3JtU2VydmljZXNbYl09YS5hbGw9PT0iZ3JhbnRlZCI7QWwudXNlZENvcmVQbGF0Zm9ybVNlcnZpY2VzPSEwfSkpO0diKGEsZnVuY3Rpb24oYixjKXtiIT09ImFsbCImJihBbC5jb3JlUGxhdGZvcm1TZXJ2aWNlc1tiXT1jPT09ImdyYW50ZWQiLEFsLnVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlcz0hMCl9KX0KZnVuY3Rpb24gWG8oYSl7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTtyZXR1cm4gYS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiBZbygpe3ZhciBhPVpvO0FycmF5LmlzQXJyYXkoYSl8fChhPVthXSk7cmV0dXJuIGEuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiAkbyhhLGIpe0ZsKGEsYil9ZnVuY3Rpb24gYXAoYSxiKXtJbChhLGIpfWZ1bmN0aW9uIGJwKGEsYil7SGwoYSxiKX1mdW5jdGlvbiBjcCgpe3ZhciBhPVtGLkQua2EsRi5ELlhhLEYuRC5tYV07dGwoKS53YWl0Rm9yVXBkYXRlKGEsNTAwLEFsKX1mdW5jdGlvbiBkcChhKXtmb3IodmFyIGI9bShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTt0bCgpLmNsZWFyVGltZW91dChkLHZvaWQgMCxBbCl9R2woKX0KZnVuY3Rpb24gZXAoYSl7Zm9yKHZhciBiPXt9LGM9bShhLnNwbGl0KCJ8IikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWJbZC52YWx1ZV09ITA7cmV0dXJuIGJ9O3ZhciBmcD1PYmplY3QuZnJlZXplKFtGLkQua2EsRi5ELm1hXSk7CnZhciBocD1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz1tKE9iamVjdC5rZXlzKGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtiW2dwW2VdfHxlXT1hW2VdfXJldHVybiBifSxpcD1mdW5jdGlvbihhKXtyZXR1cm4hIVEoYSxILkoudmQpJiZSKGEsRi5ELlBkKT09PSIxIiYmUihhLEYuRC5IZCkhPT0iMSImJlhvKGZwKX0sanA9ZnVuY3Rpb24oYSxiKXtpZighaXAoYSkpcmV0dXJuITE7dmFyIGM9UWMoKXx8T2MoKT81ODo1NyxkPU5tKGMsaHAoYikpO1RsKGQsYSxjKTtZbih7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKyImZm10PTgiLHZvaWQgMCx7UWc6ITAsbWV0aG9kOiJHRVQifSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtaYyhkKyImZm10PTMiKX0pO3JldHVybiEwfSxrcD17fSxncD0oa3AuZGw9InVybCIsa3AuZHI9CiJyZWYiLGtwLnVpZD0idXNlcklkIixrcCk7dmFyIGxwPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD1mdW5jdGlvbihlKXtiW2VdIT1udWxsJiZiW2VdIT09IiImJihjW2VdPWJbZV0pfTtNKDQ3NCkmJmQoIl9nc2lkIik7UihhLEYuRC5IZCkhPT0iMSImJihkKCJnY2xpZCIpLGQoImdjbHNyYyIpLGQoImF1aWQiKSxkKCJkY2xpZCIpKTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGgpcmV0dXJuIGQoImd0bSIpLGN9Owp2YXIgbXA9e30sbnA9KG1wW0YuRC5zYV09ImdjdSIsbXBbRi5ELlNiXT0iZ2NsZ2IiLG1wW0YuRC5sYl09ImdjbGF3IixtcFtGLkQuemZdPSJnYWRfc291cmNlIixtcFtGLkQuQWZdPSJnYWRfc291cmNlX3NyYyIsbXBbRi5ELkRkXT0iZ2NsaWQiLG1wW0YuRC5BbF09ImdjbHNyYyIsbXBbRi5ELkJmXT0iZ2JyYWlkIixtcFtGLkQuRWVdPSJ3YnJhaWQiLG1wW0YuRC5FZF09ImF1aWQiLG1wW0YuRC5CbF09ImFlIixtcFtGLkQuSGFdPW51bGwsbXBbRi5ELkRsXT0icm5kIixtcFtGLkQuSGRdPSJuY2wiLG1wW0YuRC5OZl09ImdjbGRjIixtcFtGLkQuS2RdPSJkY2xpZCIsbXBbRi5ELlZjXT0iZWRpZCIsbXBbRi5ELlViXT0iZW4iLG1wW0YuRC5LZV09ImdkcHIiLG1wW0YuRC5YY109ImdkaWQiLG1wW0YuRC5UYV09bnVsbCxtcFtGLkQuTGVdPSJfbmciLG1wW0YuRC50aF09ImdwcF9zaWQiLG1wW0YuRC51aF09ImdwcCIsbXBbRi5ELlZmXT0iX3R1IixtcFtGLkQuUWxdPSJndG1fdXAiLG1wW0YuRC5NZV09CiJmcm0iLG1wW0YuRC5QZF09ImxwcyIsbXBbRi5ELkxpXT0iZGlkIixtcFtGLkQuVWxdPSJuYXZ0IixtcFtGLkQuemFdPSJkbCIsbXBbRi5ELlVhXT0iZHIiLG1wW0YuRC5NYl09ImR0IixtcFtGLkQuYm1dPSJzY3JzcmMiLG1wW0YuRC5aZl09ImdhX3VpZCIsbXBbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IixtcFtGLkQuUWldPSJ0ZXN0b25seSIsbXBbRi5ELnJxXT0idV90eiIsbXBbRi5ELlBlXT0idG9wIixtcFtGLkQuUWVdPSJ0aWQiLG1wW0YuRC5mYl09InVpZCIsbXBbRi5ELmtnXT0idXNfcHJpdmFjeSIsbXBbRi5ELmVkXT1udWxsLG1wW0YuRC5kZV09Im5wYSIsbXApO2Z1bmN0aW9uIG9wKGEsYil7aWYoYiE9bnVsbCYmYiE9PSIiKXt2YXIgYz1iPT09ITA/IjEiOmI9PT0hMT8iMCI6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSk7aWYoU2IoYSwiXyYiKSlyZXR1cm57a2V5OmEuc3Vic3RyaW5nKDIpLHZhbHVlOmN9O3ZhciBkPW5wW2FdO2lmKGQhPT1udWxsKXJldHVybiBkP3trZXk6ZCx2YWx1ZTpjfTp7a2V5OkFiKGIpPyJlcG4uIithOiJlcC4iK2EsdmFsdWU6Y319fTtmdW5jdGlvbiBwcChhKXthPWE9PT12b2lkIDA/W106YTtyZXR1cm4geGooYSkuam9pbigifiIpfTtmdW5jdGlvbiBxcCgpe3ZhciBhPVtdLGI9TnVtYmVyKCcnKXx8MCxjPU51bWJlcignJyl8fDA7Y3x8KGM9Yi8xMDApO3ZhciBkPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7cmV0dXJuIHR9KCk7YS5wdXNoKHt1azoyMjgsc3R1ZHlJZDoyMjgsZXhwZXJpbWVudElkOjEwNTE3NzE1NCxjb250cm9sSWQ6MTA1MTc3MTU1LGNvbnRyb2xJZDI6MTA1MjU1MjQ1LHByb2JhYmlsaXR5OmMsYWN0aXZlOmQsWmU6MH0pO3ZhciBlPU51bWJlcignJyl8fAowLGY9TnVtYmVyKCcnKXx8MDtmfHwoZj1lLzEwMCk7dmFyIGc9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjIzNSxzdHVkeUlkOjIzNSxleHBlcmltZW50SWQ6MTA1MzU3MTUwLGNvbnRyb2xJZDoxMDUzNTcxNTEsY29udHJvbElkMjowLHByb2JhYmlsaXR5OmYsYWN0aXZlOmcsWmU6MX0pO3ZhciBoPU51bWJlcignJyl8fDAsbD1OdW1iZXIoJycpfHwKMDtsfHwobD1oLzEwMCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjI2NixzdHVkeUlkOjI2NixleHBlcmltZW50SWQ6MTE1NzE4NTI5LGNvbnRyb2xJZDoxMTU3MTg1MzAsY29udHJvbElkMjoxMTU3MTg1MzEscHJvYmFiaWxpdHk6bCxhY3RpdmU6bixaZTowfSk7dmFyIHA9TnVtYmVyKCcnKXx8MCxxPU51bWJlcignJyl8fAowO3F8fChxPXAvMTAwKTt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PSExO3JldHVybiB0fSgpO2EucHVzaCh7dWs6MjY3LHN0dWR5SWQ6MjY3LGV4cGVyaW1lbnRJZDoxMTU3MTg1MjYsY29udHJvbElkOjExNTcxODUyNyxjb250cm9sSWQyOjExNTcxODUyOCxwcm9iYWJpbGl0eTpxLGFjdGl2ZTpyLFplOjB9KTtyZXR1cm4gYX07dmFyIHJwPWZ1bmN0aW9uKCl7dGhpcy5LPXt9O3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5SPW5ldyBTZXR9LHhwPWZ1bmN0aW9uKGEsYil7dmFyIGM9YixkPWI9YS5OW2Muc3R1ZHlJZF0/bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLHthY3RpdmU6ITB9KTpjLGU9Rmk7ZC5jb250cm9sSWQyJiZkLnByb2JhYmlsaXR5PD0uMjV8fChkPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sZCx7Y29udHJvbElkMjowfSkpO2Uuc3R1ZGllc1tkLnN0dWR5SWRdPWQ7Yi5mb2N1c2VkJiYoYS5LW2Iuc3R1ZHlJZF09ITApO2lmKGIuWmU9PT0xKXt2YXIgZj1iLnN0dWR5SWQ7c3AoYSx0cCgpLGYpO3VwKGEsZik/dGoodWosZik6dnAoYSxmKT91ai5LW2ZdPSEwOndwKGEsZikmJih1ai5IW2ZdPSEwKX1lbHNlIGlmKGIuWmU9PT0wKXt2YXIgZz1iLnN0dWR5SWQ7c3AoYSxhLkgsZyk7dXAoYSxnKT90aih1aixnKTp2cChhLGcpP3VqLktbZ109ITA6d3AoYSxnKSYmCih1ai5IW2ddPSEwKX19LHNwPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPUZpO2lmKGUuc3R1ZGllc1tjXSl7dmFyIGY9ZS5zdHVkaWVzW2NdLGc9Zi5leHBlcmltZW50SWQsaD1mLnByb2JhYmlsaXR5O2lmKCEoYi5zdHVkaWVzfHx7fSlbY10pe3ZhciBsPWIuc3R1ZGllc3x8e307bFtjXT0hMDtiLnN0dWRpZXM9bDtpZighZS5zdHVkaWVzW2NdLmFjdGl2ZSlpZihlLnN0dWRpZXNbY10ucHJvYmFiaWxpdHk+LjUpSWkoYixnLGMpO2Vsc2UgaWYoIShoPD0wfHxoPjEpKXt2YXIgbj12b2lkIDA7aWYoZCl7dmFyIHA9Q2koZCsifiIrYyk7aWYocD09PSJlMiIpbj0tMTtlbHNle2Zvcih2YXIgcT1uZXcgVWludDhBcnJheShwKSxyPUJpZ0ludCgwKSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpcj1yPDxCaWdJbnQoOCl8QmlnSW50KHUudmFsdWUpO249TnVtYmVyKHIlQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSl9fUdpLnNrKGIsYyxuKX19fWlmKCFhLktbY10pe3ZhciB2PQpOaShiLGMpO3YmJndqLkguSy5hZGQodil9fSx0cD1mdW5jdGlvbigpe3JldHVybiBvbShqbS5iYS5UcSx7fSl9LHVwPWZ1bmN0aW9uKGEsYil7dmFyIGM9dHAoKTtyZXR1cm4gS2koYyxiKXx8S2koYS5ILGIpfSx2cD1mdW5jdGlvbihhLGIpe3ZhciBjPXRwKCk7cmV0dXJuIExpKGMsYil8fExpKGEuSCxiKX0sd3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz10cCgpO3JldHVybiBNaShjLGIpfHxNaShhLkgsYil9LHlwOwpmdW5jdGlvbiB6cCgpe2lmKCF5cCl7dmFyIGE9eXA9bmV3IHJwLGIsYyxkPSgoYj1BKT09bnVsbD92b2lkIDA6KGM9Yi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmMuaGFzaCl8fCIiO2lmKGRbMF09PT0iIyImJmRbMV09PT0iXyImJmRbMl09PT0idCImJmRbM109PT0iZSImJmRbNF09PT0iPSIpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO2lmKGUpZm9yKHZhciBmPW0oZS5zcGxpdCgifiIpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9TnVtYmVyKGcudmFsdWUpO2gmJihhLk5baF09ITAsdGoodWosaCkpfX1mb3IodmFyIGw9bShxcCgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl4cChhLG4udmFsdWUpO2Zvcih2YXIgcD1bXSxxPW0oTWYoNTYpfHxbXSkscj1xLm5leHQoKTshci5kb25lO3I9cS5uZXh0KCkpe3ZhciB0PXIudmFsdWUsdT17c3R1ZHlJZDp0WzFdLGFjdGl2ZTohIXRbMl0scHJvYmFiaWxpdHk6dFszXXx8MCxleHBlcmltZW50SWQ6dFs0XXx8CjAsY29udHJvbElkOnRbNV18fDAsY29udHJvbElkMjp0WzZdfHwwfSx2PTA7c3dpdGNoKHRbN10pe2Nhc2UgMjp2PTE7YnJlYWs7Y2FzZSAzOnY9MjticmVhaztjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDA6dj0wfXZhciB4O2E6c3dpdGNoKHUuc3R1ZHlJZCl7Y2FzZSA1Njc6Y2FzZSA0NjI6eD0hMDticmVhayBhO2RlZmF1bHQ6eD0hMX12YXIgeT1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHUse1plOnYsZm9jdXNlZDp4fSk7KHkuYWN0aXZlfHx5LnByb2JhYmlsaXR5Pi41JiZ5LmV4cGVyaW1lbnRJZHx8eS5leHBlcmltZW50SWQmJnkuY29udHJvbElkKSYmcC5wdXNoKHkpfWZvcih2YXIgej1tKHApLEM9ei5uZXh0KCk7IUMuZG9uZTtDPXoubmV4dCgpKXhwKGEsQy52YWx1ZSl9fQpmdW5jdGlvbiBBcChhLGIpe3pwKCk7dmFyIGM9eXA7c3AoYyx0cCgpLGEsYik7dXAoYyxhKT90aih1aixhKTp2cChjLGEpP3VqLktbYV09ITA6d3AoYyxhKSYmKHVqLkhbYV09ITApfWZ1bmN0aW9uIEJwKCl7enAoKTt2YXIgYT15cCxiPXVwKGEsNTY3KTtpZihhLktbNTY3XSl7dmFyIGMsZD10cCgpOyhjPU5pKGQsNTY3KXx8TmkoYS5ILDU2NykpJiZhLlIuYWRkKGMpfXJldHVybiBifWZ1bmN0aW9uIENwKGEpe3pwKCk7dmFyIGI9bmV3IFNldCh5cC5SKTtpZihhKWZvcih2YXIgYz1RKGEsSC5KLkNoKXx8W10sZD1tKGMpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWIuYWRkKGUudmFsdWUpO3JldHVybiBwcChbXS5jb25jYXQodyhiKSkpfTtmdW5jdGlvbiBEcChhKXt2YXIgYj1hLmxvY2F0aW9uLmhyZWY7aWYoYT09PWEudG9wKXJldHVybnt1cmw6YixJczohMH07dmFyIGM9ITEsZD1hLmRvY3VtZW50O2QmJmQucmVmZXJyZXImJihiPWQucmVmZXJyZXIsYS5wYXJlbnQ9PT1hLnRvcCYmKGM9ITApKTt2YXIgZT1hLmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztpZihlKXt2YXIgZj1lW2UubGVuZ3RoLTFdLGc7ZiYmKChnPWIpPT1udWxsP3ZvaWQgMDpnLmluZGV4T2YoZikpPT09LTEmJihjPSExLGI9Zil9cmV0dXJue3VybDpiLElzOmN9fWZ1bmN0aW9uIEVwKGEpe3RyeXt2YXIgYjtpZihiPSEhYSYmYS5sb2NhdGlvbi5ocmVmIT1udWxsKWE6e3RyeXtIbihhLmZvbyk7Yj0hMDticmVhayBhfWNhdGNoKGMpe31iPSExfXJldHVybiBifWNhdGNoKGMpe3JldHVybiExfX1mdW5jdGlvbiBGcCgpe2Zvcih2YXIgYT1BLGI9YTthJiZhIT09YS5wYXJlbnQ7KWE9YS5wYXJlbnQsRXAoYSkmJihiPWEpO3JldHVybiBifTt2YXIgR3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YS5wcm90b3R5cGU7dmFyIGQ9bmV3IGM7YS5hcHBseShkLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7cmV0dXJuIGR9LEhwPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPW51bGw7YygpfX19O2Z1bmN0aW9uIElwKGEsYil7aWYoYSlmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmYihhW2NdLGMsYSl9O2Z1bmN0aW9uIEpwKGEpe3ZhciBiPWEuc3BsaXQoL1s/I10vKSxjPS9bP10vLnRlc3QoYSk/Ij8iK2JbMV06IiI7cmV0dXJue3prOmJbMF0scGFyYW1zOmMsZnJhZ21lbnQ6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19ZnVuY3Rpb24gS3AoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gamMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIGpjKGMpfQpmdW5jdGlvbiBMcChhLGIsYyxkKXtmdW5jdGlvbiBlKGcsaCl7ZyE9bnVsbCYmKEFycmF5LmlzQXJyYXkoZyk/Zy5mb3JFYWNoKGZ1bmN0aW9uKGwpe3JldHVybiBlKGwsaCl9KTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfXZhciBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBlKGdbMV0sZ1swXSl9KTpkLmZvckVhY2goZSk7cmV0dXJuIGpjKGErYitjKX1mdW5jdGlvbiBNcChhLGIpe3ZhciBjPUpwKGtjKGEpLnRvU3RyaW5nKCkpLGQ9Yy56ay5zbGljZSgtMSk9PT0iLyI/IiI6Ii8iLGU9Yy56aytkK2VuY29kZVVSSUNvbXBvbmVudChiKTtyZXR1cm4gamMoZStjLnBhcmFtcytjLmZyYWdtZW50KX07dmFyIE5wPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEsZD0wO2Q8NTA7KytkKXt2YXIgZTt0cnl7ZT0hKCFjLmZyYW1lc3x8IWMuZnJhbWVzW2JdKX1jYXRjaChoKXtlPSExfWlmKGUpcmV0dXJuIGM7dmFyIGY7YTp7dHJ5e3ZhciBnPWMucGFyZW50O2lmKGcmJmchPT1jKXtmPWc7YnJlYWsgYX19Y2F0Y2goaCl7fWY9bnVsbH1pZighKGM9ZikpYnJlYWt9cmV0dXJuIG51bGx9LE9wPWZ1bmN0aW9uKGEpe3ZhciBiPUE7aWYoYi50b3A9PWIpcmV0dXJuIDA7aWYoYT09PXZvaWQgMD8wOmEpe3ZhciBjPWIubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zO2lmKGMpcmV0dXJuIGNbYy5sZW5ndGgtMV09PWIubG9jYXRpb24ub3JpZ2luPzE6Mn1yZXR1cm4gRXAoYi50b3ApPzE6Mn0sUHA9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiaW1nIil9O2Z1bmN0aW9uIFFwKGEpe2Zvcih2YXIgYj1bXSxjPUIuY29va2llLnNwbGl0KCI7IiksZD1uZXcgUmVnRXhwKCJeXFxzKiIrKGF8fCJfZ2FjIikrIl8oVUEtXFxkKy1cXGQrKT1cXHMqKC4rPylcXHMqJCIpLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXS5tYXRjaChkKTtmJiZiLnB1c2goe3VkOmZbMV0sdmFsdWU6ZlsyXSx0aW1lc3RhbXA6TnVtYmVyKGZbMl0uc3BsaXQoIi4iKVsxXSl8fDB9KX1iLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50aW1lc3RhbXAtZy50aW1lc3RhbXB9KTtyZXR1cm4gYn0KZnVuY3Rpb24gUnAoYSxiKXt2YXIgYz1RcChhKSxkPXt9O2lmKCFjfHwhYy5sZW5ndGgpcmV0dXJuIGQ7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0udmFsdWUuc3BsaXQoIi4iKTtpZighKGZbMF0hPT0iMSJ8fGImJmYubGVuZ3RoPDN8fCFiJiZmLmxlbmd0aCE9PTMpJiZOdW1iZXIoZlsxXSkpe2RbY1tlXS51ZF18fChkW2NbZV0udWRdPVtdKTt2YXIgZz17dmVyc2lvbjpmWzBdLHRpbWVzdGFtcDpOdW1iZXIoZlsxXSkqMUUzLGdjbGlkOmZbMl19O2ImJmYubGVuZ3RoPjMmJihnLmxhYmVscz1mLnNsaWNlKDMpKTtkW2NbZV0udWRdLnB1c2goZyl9fXJldHVybiBkfTtmdW5jdGlvbiBTcChhKXtyZXR1cm4gYS5vcmlnaW4hPT0ibnVsbCJ9O3ZhciBUcD17fSxVcD0oVHAuaz17bmE6L15bXHctXSskL30sVHAuYj17bmE6L15bXHctXSskLyxuazohMH0sVHAuaT17bmE6L15bMS05XVxkKiQvfSxUcC5oPXtuYTovXlxkKyQvfSxUcC50PXtuYTovXlsxLTldXGQqJC99LFRwLmQ9e25hOi9eW0EtWmEtejAtOV8tXSskL30sVHAuaj17bmE6L15cZCskL30sVHAudT17bmE6L15bMS05XVxkKiQvfSxUcC5sPXtuYTovXlswMV0kL30sVHAubz17bmE6L15bMS05XVxkKiQvfSxUcC5nPXtuYTovXlswMV0kL30sVHAucz17bmE6L14uKyQvfSxUcC5tPXtuYTovXlswMV0kL30sVHApO3ZhciBWcD17fSxacD0oVnBbNV09e2ppOnsyOldwfSxaajoiMiIsUmg6WyJrIiwiaSIsImIiLCJ1Il19LFZwWzRdPXtqaTp7MjpXcCxHQ0w6WHB9LFpqOiIyIixSaDpbImsiLCJpIiwiYiIsIm0iXX0sVnBbMl09e2ppOntHUzI6V3AsR1MxOllwfSxaajoiR1MyIixSaDoic29ndGpsaGQiLnNwbGl0KCIiKX0sVnApO2Z1bmN0aW9uICRwKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF07Yz09bnVsbHx8YyhlKTtpZihlKXt2YXIgZj1kLmppW2VdO2lmKGYpcmV0dXJuIGYoYSxiKX19fQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWEuc3BsaXQoIi4iKTtpZihjLmxlbmd0aD09PTMpe3ZhciBkPWNbMl07aWYoZC5pbmRleE9mKCIkIik9PT0tMSYmZC5pbmRleE9mKCIlMjQiKSE9PS0xKXRyeXtkPWRlY29kZVVSSUNvbXBvbmVudChkKX1jYXRjaCh0KXt9dmFyIGU9e30sZj1acFtiXTtpZihmKXtmb3IodmFyIGc9Zi5SaCxoPW0oZC5zcGxpdCgiJCIpKSxsPWgubmV4dCgpOyFsLmRvbmU7bD1oLm5leHQoKSl7dmFyIG49bC52YWx1ZSxwPW5bMF07aWYoZy5pbmRleE9mKHApIT09LTEpdHJ5e3ZhciBxPWRlY29kZVVSSUNvbXBvbmVudChuLnN1YnN0cmluZygxKSkscj1VcFtwXTtyJiYoci5uaz8oZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2gocSkpOmVbcF09cSl9Y2F0Y2godCl7fX1yZXR1cm4gZX19fWZ1bmN0aW9uIGFxKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXJldHVybltkLlpqLGN8fCIxIixicShhLGIpXS5qb2luKCIuIil9CmZ1bmN0aW9uIGJxKGEsYil7dmFyIGM9WnBbYl07aWYoYyl7Zm9yKHZhciBkPVtdLGU9bShjLlJoKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPVVwW2ddO2lmKGgpe3ZhciBsPWFbZ107aWYobCE9PXZvaWQgMClpZihoLm5rJiZBcnJheS5pc0FycmF5KGwpKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKWQucHVzaChlbmNvZGVVUklDb21wb25lbnQoIiIrZytwLnZhbHVlKSk7ZWxzZSBkLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCIiK2crbCkpfX1yZXR1cm4gZC5qb2luKCIkIil9fWZ1bmN0aW9uIFhwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKTtiLnNoaWZ0KCk7dmFyIGM9Yi5zaGlmdCgpLGQ9Yi5zaGlmdCgpLGU9e307cmV0dXJuIGUuaz1kLGUuaT1jLGUuYj1iLGV9CmZ1bmN0aW9uIFlwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKS5zbGljZSgyKTtpZighKGIubGVuZ3RoPDV8fGIubGVuZ3RoPjcpKXt2YXIgYz17fTtyZXR1cm4gYy5zPWJbMF0sYy5vPWJbMV0sYy5nPWJbMl0sYy50PWJbM10sYy5qPWJbNF0sYy5sPWJbNV0sYy5oPWJbNl0sY319O2Z1bmN0aW9uIGNxKGEsYixjLGQpe3ZhciBlO3JldHVybihlPWRxKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09YX0sYixjLGQpW2FdKSE9bnVsbD9lOltdfWZ1bmN0aW9uIGRxKGEsYixjLGQpe3ZhciBlO2lmKGVxKGQpKXtmb3IodmFyIGY9e30sZz1TdHJpbmcoYnx8ZnEoKSkuc3BsaXQoIjsiKSxoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBsPWdbaF0uc3BsaXQoIj0iKSxuPWxbMF0udHJpbSgpO2lmKG4mJmEobikpe3ZhciBwPWwuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtwJiZjJiYocD1kZWNvZGVVUklDb21wb25lbnQocCkpO3ZhciBxPXZvaWQgMCxyPXZvaWQgMDsoKHE9Zilbcj1uXXx8KHFbcl09W10pKS5wdXNoKHApfX1lPWZ9ZWxzZSBlPXt9O3JldHVybiBlfQpmdW5jdGlvbiBncShhLGIsYyxkLGUpe2lmKGVxKGUpKXt2YXIgZj1ocShhLGQsZSk7aWYoZi5sZW5ndGg9PT0xKXJldHVybiBmWzBdO2lmKGYubGVuZ3RoIT09MCl7Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLkpyfSxiKTtpZihmLmxlbmd0aD09PTEpcmV0dXJuIGZbMF07Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLldzfSxjKTtyZXR1cm4gZlswXX19fWZ1bmN0aW9uIGpxKGEsYixjLGQpe3ZhciBlPWZxKCksZj1BO1NwKGYpJiYoZi5kb2N1bWVudC5jb29raWU9YSk7dmFyIGc9ZnEoKTtyZXR1cm4gZSE9PWd8fGMhPT12b2lkIDAmJmNxKGIsZywhMSxkKS5pbmRleE9mKGMpPj0wfQpmdW5jdGlvbiBrcShhLGIsYyxkKXtmdW5jdGlvbiBlKHgseSx6KXtpZih6PT1udWxsKXJldHVybiBkZWxldGUgaFt5XSx4O2hbeV09ejtyZXR1cm4geCsiOyAiK3krIj0iK3p9ZnVuY3Rpb24gZih4LHkpe2lmKHk9PW51bGwpcmV0dXJuIHg7aFt5XT0hMDtyZXR1cm4geCsiOyAiK3l9aWYoIWVxKGMuTWMpKXJldHVybiAyO3ZhciBnO2I9PW51bGw/Zz1hKyI9ZGVsZXRlZDsgZXhwaXJlcz0iKyhuZXcgRGF0ZSgwKSkudG9VVENTdHJpbmcoKTooYy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSksYj1scShiKSxnPWErIj0iK2IpO3ZhciBoPXt9O2c9ZShnLCJwYXRoIixjLnBhdGgpO3ZhciBsO2MuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bD1jLmV4cGlyZXMudG9VVENTdHJpbmcoKTpjLmV4cGlyZXMhPW51bGwmJihsPSIiK2MuZXhwaXJlcyk7Zz1lKGcsImV4cGlyZXMiLGwpO2c9ZShnLCJtYXgtYWdlIixjLk9zKTtnPWUoZywic2FtZXNpdGUiLGMucnQpO2Muc2VjdXJlJiYKKGc9ZihnLCJzZWN1cmUiKSk7dmFyIG49Yy5kb21haW47aWYobiYmbi50b0xvd2VyQ2FzZSgpPT09ImF1dG8iKXtmb3IodmFyIHA9bXEoKSxxPXZvaWQgMCxyPSExLHQ9MDt0PHAubGVuZ3RoOysrdCl7dmFyIHU9cFt0XSE9PSJub25lIj9wW3RdOnZvaWQgMCx2PWUoZywiZG9tYWluIix1KTt2PWYodixjLmZsYWdzKTt0cnl7ZCYmZChhLGgpfWNhdGNoKHgpe3E9eDtjb250aW51ZX1yPSEwO2lmKCFucSh1LGMucGF0aCkmJmpxKHYsYSxiLGMuTWMpKXJldHVybiAwfWlmKHEmJiFyKXRocm93IHE7cmV0dXJuIDF9biYmbi50b0xvd2VyQ2FzZSgpIT09Im5vbmUiJiYoZz1lKGcsImRvbWFpbiIsbikpO2c9ZihnLGMuZmxhZ3MpO2QmJmQoYSxoKTtyZXR1cm4gbnEobixjLnBhdGgpPzE6anEoZyxhLGIsYy5NYyk/MDoxfWZ1bmN0aW9uIG9xKGEsYixjKXtjLnBhdGg9PW51bGwmJihjLnBhdGg9Ii8iKTtjLmRvbWFpbnx8KGMuZG9tYWluPSJhdXRvIik7cmV0dXJuIGtxKGEsYixjKX0KZnVuY3Rpb24gaXEoYSxiLGMpe2Zvcih2YXIgZD1bXSxlPVtdLGYsZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YihoKTtsPT09Yz9kLnB1c2goaCk6Zj09PXZvaWQgMHx8bDxmPyhlPVtoXSxmPWwpOmw9PT1mJiZlLnB1c2goaCl9cmV0dXJuIGQubGVuZ3RoPjA/ZDplfWZ1bmN0aW9uIGhxKGEsYixjKXtmb3IodmFyIGQ9W10sZT1jcShhLHZvaWQgMCx2b2lkIDAsYyksZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdLnNwbGl0KCIuIiksaD1nLnNoaWZ0KCk7aWYoIWJ8fCFofHxiLmluZGV4T2YoaCkhPT0tMSl7dmFyIGw9Zy5zaGlmdCgpO2lmKGwpe3ZhciBuPWwuc3BsaXQoIi0iKTtkLnB1c2goe0JyOmVbZl0sQ3I6Zy5qb2luKCIuIiksSnI6TnVtYmVyKG5bMF0pfHwxLFdzOk51bWJlcihuWzFdKXx8MX0pfX19cmV0dXJuIGR9ZnVuY3Rpb24gbHEoYSl7YSYmYS5sZW5ndGg+MTIwMCYmKGE9YS5zdWJzdHJpbmcoMCwxMjAwKSk7cmV0dXJuIGF9CnZhciBwcT0vXih3d3dcLik/Z29vZ2xlKFwuY29tPyk/KFwuW2Etel17Mn0pPyQvLHFxPS8oXnxcLilkb3VibGVjbGlja1wubmV0JC9pO2Z1bmN0aW9uIG5xKGEsYil7cmV0dXJuIGEhPT12b2lkIDAmJihxcS50ZXN0KEEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUpfHxiPT09Ii8iJiZwcS50ZXN0KGEpKX1mdW5jdGlvbiBycShhKXtpZighYSlyZXR1cm4gMTt2YXIgYj1hO1lmKDQpJiZhPT09Im5vbmUiJiYoYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTtiPWIuaW5kZXhPZigiLiIpPT09MD9iLnN1YnN0cmluZygxKTpiO3JldHVybiBiLnNwbGl0KCIuIikubGVuZ3RofWZ1bmN0aW9uIHNxKGEpe2lmKCFhfHxhPT09Ii8iKXJldHVybiAxO2FbMF0hPT0iLyImJihhPSIvIithKTthW2EubGVuZ3RoLTFdIT09Ii8iJiYoYSs9Ii8iKTtyZXR1cm4gYS5zcGxpdCgiLyIpLmxlbmd0aC0xfQpmdW5jdGlvbiB0cShhLGIpe3ZhciBjPSIiK3JxKGEpLGQ9c3EoYik7ZD4xJiYoYys9Ii0iK2QpO3JldHVybiBjfQp2YXIgZnE9ZnVuY3Rpb24oKXt2YXIgYT1BO3JldHVybiBTcChhKT9hLmRvY3VtZW50LmNvb2tpZToiIn0sZXE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJllmKDUpPyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gRGwoYikmJkJsKGIpfSk6ITB9LG1xPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT00KXt2YXIgYz1iW2IubGVuZ3RoLTFdO2lmKE51bWJlcihjKS50b1N0cmluZygpPT09YylyZXR1cm5bIm5vbmUiXX1mb3IodmFyIGQ9Yi5sZW5ndGgtMjtkPj0wO2QtLSlhLnB1c2goYi5zbGljZShkKS5qb2luKCIuIikpO3ZhciBlPUEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWU7cXEudGVzdChlKXx8cHEudGVzdChlKXx8YS5wdXNoKCJub25lIik7cmV0dXJuIGF9O2Z1bmN0aW9uIHVxKGEsYixjLGQpe3ZhciBlLGY9TnVtYmVyKGEucGQhPW51bGw/YS5wZDp2b2lkIDApO2YhPT0wJiYoZT1uZXcgRGF0ZSgoYnx8TmIoKSkrMUUzKihmfHw3Nzc2RTMpKSk7cmV0dXJue3BhdGg6YS5wYXRoLGRvbWFpbjphLmRvbWFpbixmbGFnczphLmZsYWdzLGVuY29kZTohIWMsZXhwaXJlczplLE1jOmR9fTt2YXIgdnE9bmV3IE1hcChbWzUsImFkX3N0b3JhZ2UiXSxbNCxbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXV0sWzIsImFuYWx5dGljc19zdG9yYWdlIl1dKTtmdW5jdGlvbiB3cShhLGIsYyl7aWYoWnBbYl0pe2Zvcih2YXIgZD1bXSxlPWNxKGEsdm9pZCAwLHZvaWQgMCx2cS5nZXQoYikpLGY9bShlKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9JHAoZy52YWx1ZSxiLGMpO2gmJmQucHVzaCh4cShoKSl9cmV0dXJuIGR9fQpmdW5jdGlvbiB5cShhKXt2YXIgYj16cTtpZihacFsyXSl7Zm9yKHZhciBjPXt9LGQ9ZHEoYSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSksZT1PYmplY3Qua2V5cyhkKS5zb3J0KCksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9bShkW2hdKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9JHAobi52YWx1ZSwyLGIpO3AmJihjW2hdfHwoY1toXT1bXSksY1toXS5wdXNoKHhxKHApKSl9cmV0dXJuIGN9fWZ1bmN0aW9uIEFxKGEsYixjLGQsZSl7ZD1kfHx7fTt2YXIgZj10cShkLmRvbWFpbixkLnBhdGgpLGc9YXEoYixjLGYpO2lmKCFnKXJldHVybiAxO3ZhciBoPXVxKGQsZSx2b2lkIDAsdnEuZ2V0KGMpKTtyZXR1cm4gb3EoYSxnLGgpfWZ1bmN0aW9uIEJxKGEsYil7dmFyIGM9Yi5uYTtyZXR1cm4gdHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoYSk6Yy50ZXN0KGEpfQpmdW5jdGlvbiB4cShhKXtmb3IodmFyIGI9bShPYmplY3Qua2V5cyhhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17QWc6dm9pZCAwfSxjPWIubmV4dCgpKXt2YXIgZT1jLnZhbHVlLGY9YVtlXTtkLkFnPVVwW2VdO2QuQWc/ZC5BZy5uaz9hW2VdPUFycmF5LmlzQXJyYXkoZik/Zi5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBCcShoLGcuQWcpfX0oZCkpOnZvaWQgMDp0eXBlb2YgZj09PSJzdHJpbmciJiZCcShmLGQuQWcpfHwoYVtlXT12b2lkIDApOmFbZV09dm9pZCAwfXJldHVybiBhfTt2YXIgQ3E7ZnVuY3Rpb24gRHEoKXtmdW5jdGlvbiBhKGcpe2MoZy50YXJnZXR8fGcuc3JjRWxlbWVudHx8e30pfWZ1bmN0aW9uIGIoZyl7ZChnLnRhcmdldHx8Zy5zcmNFbGVtZW50fHx7fSl9dmFyIGM9RXEsZD1GcSxlPUdxKCk7aWYoIWUuaW5pdCl7JGMoQiwibW91c2Vkb3duIixhKTskYyhCLCJrZXl1cCIsYSk7JGMoQiwic3VibWl0IixiKTt2YXIgZj1IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdDtIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbigpe2QodGhpcyk7Zi5jYWxsKHRoaXMpfTtlLmluaXQ9ITB9fWZ1bmN0aW9uIEhxKGEsYixjLGQsZSl7dmFyIGY9e2NhbGxiYWNrOmEsZG9tYWluczpiLGZyYWdtZW50OmM9PT0yLHBsYWNlbWVudDpjLGZvcm1zOmQsc2FtZUhvc3Q6ZX07R3EoKS5kZWNvcmF0b3JzLnB1c2goZil9CmZ1bmN0aW9uIElxKGEsYixjKXtmb3IodmFyIGQ9R3EoKS5kZWNvcmF0b3JzLGU9e30sZj0wO2Y8ZC5sZW5ndGg7KytmKXt2YXIgZz1kW2ZdLGg7aWYoaD0hY3x8Zy5mb3JtcylhOnt2YXIgbD1nLmRvbWFpbnMsbj1hLHA9ISFnLnNhbWVIb3N0O2lmKGwmJihwfHxuIT09Qi5sb2NhdGlvbi5ob3N0bmFtZSkpZm9yKHZhciBxPTA7cTxsLmxlbmd0aDtxKyspaWYobFtxXWluc3RhbmNlb2YgUmVnRXhwKXtpZihsW3FdLnRlc3Qobikpe2g9ITA7YnJlYWsgYX19ZWxzZSBpZihuLmluZGV4T2YobFtxXSk+PTB8fHAmJmxbcV0uaW5kZXhPZihuKT49MCl7aD0hMDticmVhayBhfWg9ITF9aWYoaCl7dmFyIHI9Zy5wbGFjZW1lbnQ7cj09PXZvaWQgMCYmKHI9Zy5mcmFnbWVudD8yOjEpO3I9PT1iJiZRYihlLGcuY2FsbGJhY2soKSl9fXJldHVybiBlfQpmdW5jdGlvbiBHcSgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSxiPWEuZ2w7YiYmYi5kZWNvcmF0b3JzfHwoYj17ZGVjb3JhdG9yczpbXX0sYS5nbD1iKTtyZXR1cm4gYn07dmFyIEpxPS8oLio/KVwqKC4qPylcKiguKikvLEtxPS9eaHR0cHM/OlwvXC8oW15cL10qPylcLj9jZG5cLmFtcHByb2plY3RcLm9yZ1wvPyguKikvLExxPS9eKD86d3d3XC58bVwufGFtcFwuKSsvLE1xPS8oW14/I10rKShcP1teI10qKT8oIy4qKT8vO2Z1bmN0aW9uIE5xKGEpe3ZhciBiPU1xLmV4ZWMoYSk7aWYoYilyZXR1cm57aGs6YlsxXSxxdWVyeTpiWzJdLGZyYWdtZW50OmJbM119fWZ1bmN0aW9uIE9xKGEpe3JldHVybiBuZXcgUmVnRXhwKCIoLio/KShefCYpIithKyI9KFteJl0qKSY/KC4qKSIpfQpmdW5jdGlvbiBQcShhLGIpe3ZhciBjPVtIYy51c2VyQWdlbnQsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpLEhjLnVzZXJMYW5ndWFnZXx8SGMubGFuZ3VhZ2UsTWF0aC5mbG9vcihOYigpLzYwLzFFMyktKGI9PT12b2lkIDA/MDpiKSxhXS5qb2luKCIqIiksZDtpZighKGQ9Q3EpKXtmb3IodmFyIGU9QXJyYXkoMjU2KSxmPTA7ZjwyNTY7ZisrKXtmb3IodmFyIGc9ZixoPTA7aDw4O2grKylnPWcmMT9nPj4+MV4zOTg4MjkyMzg0Omc+Pj4xO2VbZl09Z31kPWV9Q3E9ZDtmb3IodmFyIGw9NDI5NDk2NzI5NSxuPTA7bjxjLmxlbmd0aDtuKyspbD1sPj4+OF5DcVsobF5jLmNoYXJDb2RlQXQobikpJjI1NV07cmV0dXJuKChsXi0xKT4+PjApLnRvU3RyaW5nKDM2KX0KZnVuY3Rpb24gUXEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPVJqKEEubG9jYXRpb24uaHJlZiksZD1jLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZT1JaihkLCJfZ2wiLCExLCEwKXx8IiI7Yi5xdWVyeT1ScShlKXx8e307dmFyIGY9TGooYywiZnJhZ21lbnQiKSxnO3ZhciBoPS0xO2lmKFNiKGYsIl9nbD0iKSloPTQ7ZWxzZXt2YXIgbD1mLmluZGV4T2YoIiZfZ2w9Iik7bD4wJiYoaD1sKzMrMil9aWYoaDwwKWc9dm9pZCAwO2Vsc2V7dmFyIG49Zi5pbmRleE9mKCImIixoKTtnPW48MD9mLnN1YnN0cmluZyhoKTpmLnN1YnN0cmluZyhoLG4pfWIuZnJhZ21lbnQ9UnEoZ3x8IiIpfHx7fTthJiZTcShjLGQsZil9fWZ1bmN0aW9uIFRxKGEsYil7dmFyIGM9T3EoYSkuZXhlYyhiKSxkPWI7aWYoYyl7dmFyIGU9Y1syXSxmPWNbNF07ZD1jWzFdO2YmJihkPWQrZStmKX1yZXR1cm4gZH0KZnVuY3Rpb24gU3EoYSxiLGMpe2Z1bmN0aW9uIGQoZyxoKXt2YXIgbD1UcSgiX2dsIixnKTtsLmxlbmd0aCYmKGw9aCtsKTtyZXR1cm4gbH1pZihHYyYmR2MucmVwbGFjZVN0YXRlKXt2YXIgZT1PcSgiX2dsIik7aWYoZS50ZXN0KGIpfHxlLnRlc3QoYykpe3ZhciBmPUxqKGEsInBhdGgiKTtiPWQoYiwiPyIpO2M9ZChjLCIjIik7R2MucmVwbGFjZVN0YXRlKHt9LCIiLCIiK2YrYitjKX19fWZ1bmN0aW9uIFVxKGEsYil7dmFyIGM9UXEoISFiKSxkPUdxKCk7ZC5kYXRhfHwoZC5kYXRhPXtxdWVyeTp7fSxmcmFnbWVudDp7fX0sYyhkLmRhdGEpKTt2YXIgZT17fSxmPWQuZGF0YTtmJiYoUWIoZSxmLnF1ZXJ5KSxhJiZRYihlLGYuZnJhZ21lbnQpKTtyZXR1cm4gZX0KdmFyIFJxPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1WcShhLDMpO2lmKGIhPT12b2lkIDApe2Zvcih2YXIgYz17fSxkPWI/Yi5zcGxpdCgiKiIpOltdLGU9MDtlKzE8ZC5sZW5ndGg7ZSs9Mil7dmFyIGY9ZFtlXSxnPXFiKGRbZSsxXSk7Y1tmXT1nfXNiKCJUQUdHSU5HIiw2KTtyZXR1cm4gY319Y2F0Y2goaCl7c2IoIlRBR0dJTkciLDgpfX07ZnVuY3Rpb24gVnEoYSxiKXtpZihhKXt2YXIgYzthOntmb3IodmFyIGQ9YSxlPTA7ZTwzOysrZSl7dmFyIGY9SnEuZXhlYyhkKTtpZihmKXtjPWY7YnJlYWsgYX1kPUtqKGQpfHwiIn1jPXZvaWQgMH12YXIgZz1jO2lmKGcmJmdbMV09PT0iMSIpe3ZhciBoPWdbM10sbDthOntmb3IodmFyIG49Z1syXSxwPTA7cDxiOysrcClpZihuPT09UHEoaCxwKSl7bD0hMDticmVhayBhfWw9ITF9aWYobClyZXR1cm4gaDtzYigiVEFHR0lORyIsNyl9fX0KZnVuY3Rpb24gV3EoYSxiLGMsZCxlKXtmdW5jdGlvbiBmKHApe3A9VHEoYSxwKTt2YXIgcT1wLmNoYXJBdChwLmxlbmd0aC0xKTtwJiZxIT09IiYiJiYocCs9IiYiKTtyZXR1cm4gcCtufWQ9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO3ZhciBnPU5xKGMpO2lmKCFnKXJldHVybiIiO3ZhciBoPWcucXVlcnl8fCIiLGw9Zy5mcmFnbWVudHx8IiIsbj1hKyI9IitiO2Q/bC5zdWJzdHJpbmcoMSkubGVuZ3RoIT09MCYmZXx8KGw9IiMiK2YobC5zdWJzdHJpbmcoMSkpKTpoPSI/IitmKGguc3Vic3RyaW5nKDEpKTtyZXR1cm4iIitnLmhrK2grbH0KZnVuY3Rpb24gWHEoYSxiKXtmdW5jdGlvbiBjKG4scCxxKXt2YXIgcjthOntmb3IodmFyIHQgaW4gbilpZihuLmhhc093blByb3BlcnR5KHQpKXtyPSEwO2JyZWFrIGF9cj0hMX1pZihyKXt2YXIgdSx2PVtdLHg7Zm9yKHggaW4gbilpZihuLmhhc093blByb3BlcnR5KHgpKXt2YXIgeT1uW3hdO3khPT12b2lkIDAmJnk9PT15JiZ5IT09bnVsbCYmeS50b1N0cmluZygpIT09IltvYmplY3QgT2JqZWN0XSImJih2LnB1c2goeCksdi5wdXNoKHBiKFN0cmluZyh5KSkpKX12YXIgej12LmpvaW4oIioiKTt1PVsiMSIsUHEoeiksel0uam9pbigiKiIpO2Q/KFlmKDMpfHxZZigxKXx8IXApJiZZcSgiX2dsIix1LGEscCxxKTpacSgiX2dsIix1LGEscCxxKX19dmFyIGQ9KGEudGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk9PT0iRk9STSIsZT1JcShiLDEsZCksZj1JcShiLDIsZCksZz1JcShiLDQsZCksaD1JcShiLDMsZCk7YyhlLCExLCExKTtjKGYsITAsITEpO1lmKDEpJiZjKGcsITAsITApO2Zvcih2YXIgbCBpbiBoKWguaGFzT3duUHJvcGVydHkobCkmJgokcShsLGhbbF0sYSl9ZnVuY3Rpb24gJHEoYSxiLGMpe2MudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09ImEiP1pxKGEsYixjKTpjLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJmb3JtIiYmWXEoYSxiLGMpfWZ1bmN0aW9uIFpxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY7aWYoZj1jLmhyZWYpe3ZhciBnO2lmKCEoZz1kKSl7dmFyIGg9QS5sb2NhdGlvbi5ocmVmLGw9TnEoYy5ocmVmKSxuPU5xKGgpO2c9IShsJiZuJiZsLmhrPT09bi5oayYmbC5xdWVyeT09PW4ucXVlcnkmJmwuZnJhZ21lbnQpfWY9Z31pZihmKXt2YXIgcD1XcShhLGIsYy5ocmVmLGQsZSk7dmMudGVzdChwKSYmKGMuaHJlZj1wKX19CmZ1bmN0aW9uIFlxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7aWYoYyl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpfHwiIjtpZihmKXt2YXIgZz0oYy5tZXRob2R8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGchPT0iZ2V0Inx8ZCl7aWYoZz09PSJnZXQifHxnPT09InBvc3QiKXt2YXIgaD1XcShhLGIsZixkLGUpO3ZjLnRlc3QoaCkmJihjLmFjdGlvbj1oKX19ZWxzZXtmb3IodmFyIGw9Yy5jaGlsZE5vZGVzfHxbXSxuPSExLHA9MDtwPGwubGVuZ3RoO3ArKyl7dmFyIHE9bFtwXTtpZihxLm5hbWU9PT1hKXtxLnNldEF0dHJpYnV0ZSgidmFsdWUiLGIpO249ITA7YnJlYWt9fWlmKCFuKXt2YXIgcj1CLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ci5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKTtyLnNldEF0dHJpYnV0ZSgibmFtZSIsYSk7ci5zZXRBdHRyaWJ1dGUoInZhbHVlIixiKTtjLmFwcGVuZENoaWxkKHIpfX19fX0KZnVuY3Rpb24gRXEoYSl7dHJ5e3ZhciBiO2E6e2Zvcih2YXIgYz1hLGQ9MTAwO2MmJmQ+MDspe2lmKGMuaHJlZiYmYy5ub2RlTmFtZS5tYXRjaCgvXmEoPzpyZWEpPyQvaSkpe2I9YzticmVhayBhfWM9Yy5wYXJlbnROb2RlO2QtLX1iPW51bGx9dmFyIGU9YjtpZihlKXt2YXIgZj1lLnByb3RvY29sO2YhPT0iaHR0cDoiJiZmIT09Imh0dHBzOiJ8fFhxKGUsZS5ob3N0bmFtZSl9fWNhdGNoKGcpe319ZnVuY3Rpb24gRnEoYSl7dHJ5e3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKTtpZihiKXt2YXIgYz1MaihSaihiKSwiaG9zdCIpO1hxKGEsYyl9fWNhdGNoKGQpe319ZnVuY3Rpb24gYXIoYSxiLGMsZCl7RHEoKTt2YXIgZT1jPT09ImZyYWdtZW50Ij8yOjE7ZD0hIWQ7SHEoYSxiLGUsZCwhMSk7ZT09PTImJnNiKCJUQUdHSU5HIiwyMyk7ZCYmc2IoIlRBR0dJTkciLDI0KX0KZnVuY3Rpb24gYnIoYSxiKXtEcSgpO0hxKGEsW05qKEEubG9jYXRpb24sImhvc3QiLCEwKV0sYiwhMCwhMCl9ZnVuY3Rpb24gY3IoKXt2YXIgYT1CLmxvY2F0aW9uLmhvc3RuYW1lLGI9S3EuZXhlYyhCLnJlZmVycmVyKTtpZighYilyZXR1cm4hMTt2YXIgYz1iWzJdLGQ9YlsxXSxlPSIiO2lmKGMpe3ZhciBmPWMuc3BsaXQoIi8iKSxnPWZbMV07ZT1nPT09InMiP0tqKGZbMl0pfHwiIjpLaihnKXx8IiJ9ZWxzZSBpZihkKXtpZihkLmluZGV4T2YoInhuLS0iKT09PTApcmV0dXJuITE7ZT1kLnJlcGxhY2UoLy0vZywiLiIpLnJlcGxhY2UoL1wuXC4vZywiLSIpfXZhciBoPWEucmVwbGFjZShMcSwiIiksbD1lLnJlcGxhY2UoTHEsIiIpO3JldHVybiBoPT09bHx8VGIoaCwiLiIrbCl9ZnVuY3Rpb24gZHIoYSxiKXtyZXR1cm4gYT09PSExPyExOmF8fGJ8fGNyKCl9O3ZhciBlcj1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPTA7dGhpcy52YWx1ZT1hPT09dm9pZCAwPzA6YX07ZXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXw9MTw8YX07dmFyIGZyPWZ1bmN0aW9uKGEsYil7Yjw9MHx8KGEudmFsdWV8PTE8PGItMSl9O2VyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07ZXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe3RoaXMudmFsdWUmPX4oMTw8YSl9O2VyLnByb3RvdHlwZS5jbGVhckFsbD1mdW5jdGlvbigpe3RoaXMudmFsdWU9MH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZT09PWEudmFsdWV9O2Z1bmN0aW9uIGdyKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgVWludDhBcnJheShhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2hhckNvZGVBdCgwKX0pKX1jYXRjaChiKXt9fWZ1bmN0aW9uIGhyKGEsYil7dmFyIGM9MCxkPTAsZSxmPWI7ZG97aWYoZj49YS5sZW5ndGgpcmV0dXJuO2U9YVtmKytdO2N8PShlJjEyNyk8PGQ7ZCs9N313aGlsZShlJjEyOCk7cmV0dXJuW2MsZl19O2Z1bmN0aW9uIGlyKCl7dmFyIGE9U3RyaW5nLGI9QS5sb2NhdGlvbi5ob3N0bmFtZSxjPUEubG9jYXRpb24ucGF0aG5hbWUsZD1iPWJjKGIpO2Quc3BsaXQoIi4iKS5sZW5ndGg+MiYmKGQ9ZC5yZXBsYWNlKC9eKHd3d1swLTldKnx3ZWJ8ZnRwfHdhcHxob21lfG18d3xhbXB8bW9iaWxlKVwuLywiIikpO2I9ZDtjPWJjKGMpO3ZhciBlPWMuc3BsaXQoIjsiKVswXTtlPWUucmVwbGFjZSgvXC8oYXJ8c2xwfHdlYnxpbmRleCk/XC8/JC8sIiIpO3JldHVybiBhKG5nKCgiIitiK2UpLnRvTG93ZXJDYXNlKCkpKX07dmFyIGpyPVsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdO2Z1bmN0aW9uIGtyKGEsYil7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMiksMTA7aWYoYj09PW51bGx8fGI9PT12b2lkIDB8fGI9PT0iIilyZXR1cm4gc2IoIlRBR0dJTkciLDMzKSwxMTt2YXIgYz1scighMSk7aWYoYy5lcnJvciE9PTApcmV0dXJuIHNiKCJUQUdHSU5HIiwzNCksYy5lcnJvcjtpZighYy52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDM1KSwyO2MudmFsdWVbYV09Yjt2YXIgZD1tcihjKTtkIT09MCYmc2IoIlRBR0dJTkciLDM2KTtyZXR1cm4gZH0KZnVuY3Rpb24gbnIoYSl7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwyNykse2Vycm9yOjEwfTt2YXIgYj1scigpO2lmKGIuZXJyb3IhPT0wKXJldHVybiBzYigiVEFHR0lORyIsMjkpLGI7aWYoIWIudmFsdWUpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMCkse2Vycm9yOjJ9O2lmKCEoYSBpbiBiLnZhbHVlKSlyZXR1cm4gc2IoIlRBR0dJTkciLDMxKSx7dmFsdWU6dm9pZCAwLGVycm9yOjE1fTt2YXIgYz1iLnZhbHVlW2FdO3JldHVybiBjPT09bnVsbHx8Yz09PXZvaWQgMHx8Yz09PSIiPyhzYigiVEFHR0lORyIsMjgpLHt2YWx1ZTp2b2lkIDAsZXJyb3I6MTF9KTp7dmFsdWU6YyxlcnJvcjowfX0KZnVuY3Rpb24gb3IoYSl7aWYoYSl7dmFyIGI9bHIoITEpO2IuZXJyb3IhPT0wP3NiKCJUQUdHSU5HIiwzOCk6Yi52YWx1ZT9hIGluIGIudmFsdWU/KGRlbGV0ZSBiLnZhbHVlW2FdLG1yKGIpIT09MCYmc2IoIlRBR0dJTkciLDQxKSk6c2IoIlRBR0dJTkciLDQwKTpzYigiVEFHR0lORyIsMzkpfWVsc2Ugc2IoIlRBR0dJTkciLDM3KX0KZnVuY3Rpb24gbHIoYSl7YT1hPT09dm9pZCAwPyEwOmE7aWYoIUJsKGpyKSlyZXR1cm4gc2IoIlRBR0dJTkciLDQzKSx7ZXJyb3I6M307dHJ5e2lmKCFBLmxvY2FsU3RvcmFnZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQ0KSx7ZXJyb3I6MX19Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0NSkse2Vycm9yOjE0fX12YXIgYj17c2NoZW1hOiJnY2wiLHZlcnNpb246MX0sYz12b2lkIDA7dHJ5e2M9QS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX2djbF9scyIpfWNhdGNoKGYpe3JldHVybiBzYigiVEFHR0lORyIsNDYpLHtlcnJvcjoxM319dHJ5e2lmKGMpe3ZhciBkPUpTT04ucGFyc2UoYyk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0IiliPWQ7ZWxzZSByZXR1cm4gc2IoIlRBR0dJTkciLDQ3KSx7ZXJyb3I6MTJ9fX1jYXRjaChmKXtyZXR1cm4gc2IoIlRBR0dJTkciLDQ4KSx7ZXJyb3I6OH19aWYoYi5zY2hlbWEhPT0iZ2NsIilyZXR1cm4gc2IoIlRBR0dJTkciLDQ5KSx7ZXJyb3I6NH07CmlmKGIudmVyc2lvbiE9PTEpcmV0dXJuIHNiKCJUQUdHSU5HIiw1MCkse2Vycm9yOjV9O3RyeXt2YXIgZT1wcihiKTthJiZlJiZtcih7dmFsdWU6YixlcnJvcjowfSl9Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0OCkse2Vycm9yOjh9fXJldHVybnt2YWx1ZTpiLGVycm9yOjB9fQpmdW5jdGlvbiBwcihhKXtpZighYXx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZigiZXhwaXJlcyJpbiBhJiYidmFsdWUiaW4gYSl7dmFyIGI7dHlwZW9mIGEuZXhwaXJlcz09PSJudW1iZXIiP2I9YS5leHBpcmVzOmI9dHlwZW9mIGEuZXhwaXJlcz09PSJzdHJpbmciP051bWJlcihhLmV4cGlyZXMpOk5hTjtpZihpc05hTihiKXx8IShEYXRlLm5vdygpPD1iKSlyZXR1cm4gYS52YWx1ZT1udWxsLGEuZXJyb3I9OSxzYigiVEFHR0lORyIsNTQpLCEwfWVsc2V7Zm9yKHZhciBjPSExLGQ9bShPYmplY3Qua2V5cyhhKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYz1wcihhW2UudmFsdWVdKXx8YztyZXR1cm4gY31yZXR1cm4hMX0KZnVuY3Rpb24gbXIoYSl7aWYoYS5lcnJvcilyZXR1cm4gYS5lcnJvcjtpZighYS52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQyKSwyO3ZhciBiPWEudmFsdWUsYzt0cnl7Yz1KU09OLnN0cmluZ2lmeShiKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUyKSw2fXRyeXtBLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfZ2NsX2xzIixjKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUzKSw3fXJldHVybiAwfTt2YXIgcXI9e30scnI9KHFyLmdjbGlkPSEwLHFyLmRjbGlkPSEwLHFyLmdicmFpZD0hMCxxci53YnJhaWQ9ITAscXIpLHNyPS9eXHcrJC8sdHI9L15bXHctXSskLyx1cj17fSx2cj0odXIuYXc9IkZQR0NMQVciLHVyKSx3cj17fSx4cj0od3IuYWc9Il9hZyIsd3IuZ2I9Il9nYiIsd3IuYXc9Il9hdyIsd3IuZGM9Il9kYyIsd3IuZ2Y9Il9nZiIsd3IuaGE9Il9oYSIsd3IuZ3A9Il9ncCIsd3IuZ3M9Il9ncyIsd3IpLHlyPS9eKD86d3d3XC4pP2dvb2dsZSg/OlwuY29tPyk/KD86XC5bYS16XXsyfXQ/KT8kLyx6cj0vXnd3d1wuZ29vZ2xlYWRzZXJ2aWNlc1wuY29tJC87ZnVuY3Rpb24gQXIoKXtyZXR1cm5bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXX1mdW5jdGlvbiBCcihhKXtyZXR1cm4hWWYoNSl8fEJsKGEpfWZ1bmN0aW9uIENyKGEsYil7ZnVuY3Rpb24gYygpe3ZhciBkPUJyKGIpO2QmJmEoKTtyZXR1cm4gZH1IbChmdW5jdGlvbigpe2MoKXx8SWwoYyxiKX0sYil9CmZ1bmN0aW9uIERyKGEpe3JldHVybiBFcihhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2NsaWR9KX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gR3IoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSl9ZnVuY3Rpb24gR3IoYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1IcihhLnByZWZpeCksZD1JcigiZ2IiLGMpLGU9SXIoImFnIixjKTtpZighZXx8IWQpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uemc9bDtyZXR1cm4gbn19LGc9RXIoZCxiKS5tYXAoZigiZ2IiKSksaD1KcihlKS5tYXAoZigiYWciKSk7cmV0dXJuIGcuY29uY2F0KGgpLnNvcnQoZnVuY3Rpb24obCxuKXtyZXR1cm4gbi50aW1lc3RhbXAtbC50aW1lc3RhbXB9KX0KZnVuY3Rpb24gS3IoYSxiLGMsZCxlKXt2YXIgZj1DYihhLGZ1bmN0aW9uKGcpe3JldHVybiBnLmdjbGlkPT09Yn0pO2Y/KGYudGltZXN0YW1wPGMmJihmLnRpbWVzdGFtcD1jLGYub2Q9ZSksZi5sYWJlbHM9THIoZi5sYWJlbHN8fFtdLGR8fFtdKSk6YS5wdXNoKHt2ZXJzaW9uOiIyIixnY2xpZDpiLHRpbWVzdGFtcDpjLGxhYmVsczpkLG9kOmV9KX1mdW5jdGlvbiBNcihhKXtmb3IodmFyIGI9d3EoYSw1KXx8W10sYz1bXSxkPW0oYiksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1mLGg9TnIoZik7aCYmS3IoYyxnLmssaCxnLmJ8fFtdLGYudSl9cmV0dXJuIGMuc29ydChmdW5jdGlvbihsLG4pe3JldHVybiBuLnRpbWVzdGFtcC1sLnRpbWVzdGFtcH0pfQpmdW5jdGlvbiBFcihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPVtdO09yKGMsYSwxKTtpZihiKWlmKFRiKGEsIl9hdyIpKXt2YXIgZD1QcigpO2QmJihkLm9kPXZvaWQgMCxkLm9hPWQub2F8fFsyXSxRcihjLGQpKTtPcihjLCJnY2xfYXciLDIpfWVsc2UgVGIoYSwiX2diIikmJllmKDYpJiZPcihjLCJnY2xfZ2IiLDIpO2Muc29ydChmdW5jdGlvbihlLGYpe3JldHVybiBmLnRpbWVzdGFtcC1lLnRpbWVzdGFtcH0pO3JldHVybiBScihjKX1mdW5jdGlvbiBTcihhLGIpe2Zvcih2YXIgYz1bXSxkPW0oYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Yy5pbmNsdWRlcyhmKXx8Yy5wdXNoKGYpfWZvcih2YXIgZz1tKGIpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXt2YXIgbD1oLnZhbHVlO2MuaW5jbHVkZXMobCl8fGMucHVzaChsKX1yZXR1cm4gY30KZnVuY3Rpb24gUXIoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2Zvcih2YXIgZCxlLGY9bShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtpZihoLmdjbGlkPT09Yi5nY2xpZCl7ZD1oO2JyZWFrfWgucWEmJmIucWEmJmgucWEuZXF1YWxzKGIucWEpJiYoZT1oKX1pZihkKXt2YXIgbCxuLHA9KGw9ZC5xYSkhPW51bGw/bDpuZXcgZXIscT0obj1iLnFhKSE9bnVsbD9uOm5ldyBlcjtwLnZhbHVlfD1xLnZhbHVlO2QucWE9cDtkLnRpbWVzdGFtcDxiLnRpbWVzdGFtcCYmKGQudGltZXN0YW1wPWIudGltZXN0YW1wLGQub2Q9Yi5vZCk7ZC5sYWJlbHM9U3IoZC5sYWJlbHN8fFtdLGIubGFiZWxzfHxbXSk7ZC5vYT1TcihkLm9hfHxbXSxiLm9hfHxbXSl9ZWxzZSBjJiZlP25hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3QsZSxiKTphLnB1c2goYil9CmZ1bmN0aW9uIFRyKGEpe2lmKCFhKXJldHVybiBuZXcgZXI7dmFyIGI9bmV3IGVyO2lmKGE9PT0xKXJldHVybiBmcihiLDIpLGZyKGIsMyksYjtmcihiLGEpO3JldHVybiBifQpmdW5jdGlvbiBQcigpe3ZhciBhPW5yKCJnY2xpZCIpO2lmKCFhfHxhLmVycm9yfHwhYS52YWx1ZXx8dHlwZW9mIGEudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYj1hLnZhbHVlO3RyeXtpZighKCJ2YWx1ZSJpbiBiJiZiLnZhbHVlKXx8dHlwZW9mIGIudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYz1iLnZhbHVlLGQ9Yy52YWx1ZTtpZighZHx8IWQubWF0Y2godHIpKXJldHVybiBudWxsO3ZhciBlPWMubGlua0RlY29yYXRpb25Tb3VyY2UsZj1jLmxpbmtEZWNvcmF0aW9uU291cmNlcyxnPW5ldyBlcjt0eXBlb2YgZT09PSJudW1iZXIiP2c9VHIoZSk6dHlwZW9mIGY9PT0ibnVtYmVyIiYmKGcudmFsdWU9Zik7cmV0dXJue3ZlcnNpb246IiIsZ2NsaWQ6ZCx0aW1lc3RhbXA6TnVtYmVyKGMuY3JlYXRpb25UaW1lTXMpfHwwLGxhYmVsczpbXSxxYTpnLG9hOlsyXX19Y2F0Y2goaCl7cmV0dXJuIG51bGx9fQpmdW5jdGlvbiBVcihhKXt2YXIgYj1ucihhKTtpZihiLmVycm9yIT09MClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGIudmFsdWUucmVkdWNlKGZ1bmN0aW9uKGMsZCl7aWYoIWQudmFsdWV8fHR5cGVvZiBkLnZhbHVlIT09Im9iamVjdCIpcmV0dXJuIGM7dmFyIGU9ZC52YWx1ZSxmPWUudmFsdWU7aWYoIWZ8fCFmLm1hdGNoKHRyKSlyZXR1cm4gYzt2YXIgZz1uZXcgZXIsaD1lLmxpbmtEZWNvcmF0aW9uU291cmNlczt0eXBlb2YgaD09PSJudW1iZXIiJiYoZy52YWx1ZT1oKTt2YXIgbDtjLnB1c2goe3ZlcnNpb246IiIsZ2NsaWQ6Zix0aW1lc3RhbXA6TnVtYmVyKGUuY3JlYXRpb25UaW1lTXMpfHwwLGV4cGlyZXM6TnVtYmVyKGQuZXhwaXJlcyl8fDAsbGFiZWxzOihsPWUubGFiZWxzKSE9bnVsbD9sOltdLHFhOmcsb2E6WzJdfSk7cmV0dXJuIGN9LFtdKX1jYXRjaChjKXtyZXR1cm4gbnVsbH19CmZ1bmN0aW9uIE9yKGEsYixjKXtpZihjPT09MSlmb3IodmFyIGQ9Y3EoYixCLmNvb2tpZSx2b2lkIDAsQXIoKSksZT1tKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1WcihmLnZhbHVlLnNwbGl0KCIuIikpLGg9Zy5sZW5ndGg9PT0wP251bGw6e3ZlcnNpb246Z1swXSxnY2xpZDpnWzJdLHRpbWVzdGFtcDooTnVtYmVyKGdbMV0pfHwwKSoxRTMsbGFiZWxzOmcuc2xpY2UoMyl9O2ghPW51bGwmJihoLm9kPXZvaWQgMCxoLnFhPW5ldyBlcixoLm9hPVtjXSxRcihhLGgpKX1lbHNlIGlmKGM9PT0yKXt2YXIgbD1VcihiKTtpZihsKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3Eub2Q9dm9pZCAwO3Eub2E9cS5vYTtRcihhLHEpfX19CmZ1bmN0aW9uIFpyKGEpe3ZhciBiPUVyKGEpLGM9VXIoImdjbF9kYyIpO2lmKGMpZm9yKHZhciBkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Zi5vZD12b2lkIDA7Zi5vYT1mLm9hfHxbMl07UXIoYixmKX1iLnNvcnQoZnVuY3Rpb24oZyxoKXt2YXIgbD1nLm9hJiZnLm9hLmluY2x1ZGVzKDEpLG49aC5vYSYmaC5vYS5pbmNsdWRlcygxKTtyZXR1cm4gbCYmIW4/LTE6IWwmJm4/MTpoLnRpbWVzdGFtcC1nLnRpbWVzdGFtcH0pO3JldHVybiBScihiKX1mdW5jdGlvbiBKcihhKXtyZXR1cm4gTXIoYSkubWFwKGZ1bmN0aW9uKGIpe2IucWE9bmV3IGVyO2Iub2E9WzFdO3JldHVybiBifSl9CmZ1bmN0aW9uIExyKGEsYil7aWYoIWEubGVuZ3RoKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gYTt2YXIgYz17fTtyZXR1cm4gYS5jb25jYXQoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBjLmhhc093blByb3BlcnR5KGQpPyExOmNbZF09ITB9KX1mdW5jdGlvbiBIcihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaChzcik/YToiX2djbCJ9ZnVuY3Rpb24gJHIoYSxiKXtpZihhKXt2YXIgYz17dmFsdWU6YSxxYTpuZXcgZXJ9O2ZyKGMucWEsYik7cmV0dXJuIGN9fQpmdW5jdGlvbiBhcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpO2lmKGImJighZnx8IWUpKXt2YXIgZz1kLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Z8fChmPSRyKElqKGcsImdjbGlkIiwhMSksMykpO2V8fChlPUlqKGcsImdjbHNyYyIsITEpKX1yZXR1cm4gZiYmKGU9PT12b2lkIDB8fGU9PT0iYXcifHxlPT09ImF3LmRzInx8WWYoOCkmJmU9PT0iYXcuZHYiKT9bZl06W119CmZ1bmN0aW9uIGJzKGEsYil7dmFyIGM9UmooYSksZD1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xpZCIpLGU9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2Nsc3JjIiksZj1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJ3YnJhaWQiKTtmPSRiKGYpO3ZhciBnPUxqKGMsInF1ZXJ5IiwhMSx2b2lkIDAsImdicmFpZCIpLGg9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpLGw9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKTtpZihiJiYhKGQmJmUmJmYmJmcpKXt2YXIgbj1jLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Q9ZHx8SWoobiwiZ2NsaWQiLCExKTtlPWV8fElqKG4sImdjbHNyYyIsITEpO2Y9Znx8SWoobiwid2JyYWlkIiwhMSk7Zz1nfHxJaihuLCJnYnJhaWQiLCExKTtoPWh8fElqKG4sImdhZF9zb3VyY2UiLCExKX1yZXR1cm4gY3MoZCxlLGwsZixnLGgpfQpmdW5jdGlvbiBkcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpLGc9JHIoTGooZCwicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKSxjPzQ6Mik7aWYoYiYmKCFlfHwhZikpe3ZhciBoPWQuaGFzaC5yZXBsYWNlKCIjIiwiIik7Znx8KGY9JHIoSWooaCwiZ2NsaWQiLCExKSwzKSk7ZXx8KGU9SWooaCwiZ2Nsc3JjIiwhMSkpfXJldHVybiBmJiZlJiYoZT09PSJhdy5kcyJ8fGU9PT0iYXcuZHYifHxlPT09IjNwLmRzInx8ZT09PSJkcyIpP1tmXTpnP1tnXTpbXX1mdW5jdGlvbiBlcygpe3JldHVybiBicyhBLmxvY2F0aW9uLmhyZWYsITApfQpmdW5jdGlvbiBjcyhhLGIsYyxkLGUsZil7dmFyIGc9e30saD1mdW5jdGlvbihsLG4pe2dbbl18fChnW25dPVtdKTtnW25dLnB1c2gobCl9O2cuZ2NsaWQ9YTtnLmdjbHNyYz1iO2cuZGNsaWQ9YztpZihhIT09dm9pZCAwJiZhLm1hdGNoKHRyKSlzd2l0Y2goYil7Y2FzZSB2b2lkIDA6aChhLCJhdyIpO2JyZWFrO2Nhc2UgImF3LmRzIjpoKGEsImF3Iik7aChhLCJkYyIpO2JyZWFrO2Nhc2UgImF3LmR2IjpZZig4KSYmKGgoYSwiYXciKSxoKGEsImRjIikpO2JyZWFrO2Nhc2UgImRzIjpoKGEsImRjIik7YnJlYWs7Y2FzZSAiM3AuZHMiOmgoYSwiZGMiKTticmVhaztjYXNlICJnZiI6aChhLCJnZiIpO2JyZWFrO2Nhc2UgImhhIjpoKGEsImhhIil9YyYmaChjLCJkYyIpO2QhPT12b2lkIDAmJnRyLnRlc3QoZCkmJihnLndicmFpZD1kLGgoZCwiZ2IiKSk7ZSE9PXZvaWQgMCYmdHIudGVzdChlKSYmKGcuZ2JyYWlkPWUsaChlLCJhZyIpKTtmIT09dm9pZCAwJiZ0ci50ZXN0KGYpJiYoZy5nYWRfc291cmNlPQpmLGgoZiwiZ3MiKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZnMoKXtmb3IodmFyIGE9ZXMoKSxiPSEwLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoYVtkLnZhbHVlXSE9PXZvaWQgMCl7Yj0hMTticmVha31iJiYoYT1icyhBLmRvY3VtZW50LnJlZmVycmVyLCExKSxhLmdhZF9zb3VyY2U9dm9pZCAwKTtyZXR1cm4gYX1mdW5jdGlvbiBncyhhKXt2YXIgYj1mcygpO2hzKGIsITEsYSl9CmZ1bmN0aW9uIGlzKGEpe3ZhciBiPWFzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7Yi5sZW5ndGh8fChiPWFzKEEuZG9jdW1lbnQucmVmZXJyZXIsITEsITApKTthPWF8fHt9O2pzKGEpO2lmKGIubGVuZ3RoKXt2YXIgYz1iWzBdLGQ9TmIoKSxlPXVxKGEsZCwhMCksZj1BcigpLGc9ZnVuY3Rpb24oKXtCcihmKSYmZS5leHBpcmVzIT09dm9pZCAwJiZrcigiZ2NsaWQiLHt2YWx1ZTp7dmFsdWU6Yy52YWx1ZSxjcmVhdGlvblRpbWVNczpkLGxpbmtEZWNvcmF0aW9uU291cmNlczpjLnFhLmdldCgpfSxleHBpcmVzOk51bWJlcihlLmV4cGlyZXMpfSl9O0hsKGZ1bmN0aW9uKCl7ZygpO0JyKGYpfHxJbChnLGYpfSxmKX19CmZ1bmN0aW9uIGpzKGEpe3ZhciBiPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjtpZih5ci50ZXN0KGIpfHx6ci50ZXN0KGIpfHxrcygpKXt2YXIgYzthOntmb3IodmFyIGQ9UmooQS5sb2NhdGlvbi5ocmVmKSxlPUpqKExqKGQsInF1ZXJ5IikpLGY9bShPYmplY3Qua2V5cyhlKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7aWYoIXJyW2hdKXt2YXIgbD1lW2hdWzBdfHwiIixuO2lmKCFsfHxsLmxlbmd0aDw1MHx8bC5sZW5ndGg+MjAwKW49ITE7ZWxzZXt2YXIgcD1ncihsKSxxO2lmKHApYzp7dmFyIHI9cDtpZihyJiZyLmxlbmd0aCE9PTApe3ZhciB0PTA7dHJ5e2Zvcih2YXIgdT0xMDt0PHIubGVuZ3RoJiYhKHUtLTw9MCk7KXt2YXIgdj1ocihyLHQpO2lmKHY9PT12b2lkIDApYnJlYWs7dmFyIHg9bSh2KSx5PXgubmV4dCgpLnZhbHVlLHo9eC5uZXh0KCkudmFsdWUsQz15LEQ9eixJPUMmNztpZihDPj4zPT09MTYzODIpe2lmKEkhPT0KMClicmVhazt2YXIgRz1ocihyLEQpO2lmKEc9PT12b2lkIDApYnJlYWs7cT1tKEcpLm5leHQoKS52YWx1ZT09PTE7YnJlYWsgY312YXIgTjtkOnt2YXIgUz12b2lkIDAsVz1yLGVhPUQ7c3dpdGNoKEkpe2Nhc2UgMDpOPShTPWhyKFcsZWEpKT09bnVsbD92b2lkIDA6U1sxXTticmVhayBkO2Nhc2UgMTpOPWVhKzg7YnJlYWsgZDtjYXNlIDI6dmFyIGphPWhyKFcsZWEpO2lmKGphPT09dm9pZCAwKWJyZWFrO3ZhciBmYT1tKGphKSxzYT1mYS5uZXh0KCkudmFsdWU7Tj1mYS5uZXh0KCkudmFsdWUrc2E7YnJlYWsgZDtjYXNlIDU6Tj1lYSs0O2JyZWFrIGR9Tj12b2lkIDB9aWYoTj09PXZvaWQgMHx8Tj5yLmxlbmd0aHx8Tjw9dClicmVhazt0PU59fWNhdGNoKG1hKXt9fXE9ITF9ZWxzZSBxPSExO249cX1pZihuKXtjPWw7YnJlYWsgYX19fWM9dm9pZCAwfXZhciBkYT1jO2RhJiZscygiZ2NsX2F3IixkYSw3LGEpfX0KZnVuY3Rpb24gbHMoYSxiLGMsZCl7bXMoYSxbe3ZlcnNpb246IiIsZ2NsaWQ6Yix0aW1lc3RhbXA6TmIoKSxxYTpUcihjKX1dLGQpfQpmdW5jdGlvbiBtcyhhLGIsYyl7Yz1jfHx7fTt2YXIgZD1BcigpLGU9ZnVuY3Rpb24oKXtpZihCcihkKSYmYi5sZW5ndGg+MCl7dmFyIGY9VXIoYSl8fFtdO2IuZm9yRWFjaChmdW5jdGlvbihnKXt2YXIgaD11cShjLGcudGltZXN0YW1wLCEwKTtoLmV4cGlyZXMhPT12b2lkIDAmJlFyKGYse3ZlcnNpb246IiIsZ2NsaWQ6Zy5nY2xpZCx0aW1lc3RhbXA6Zy50aW1lc3RhbXAsZXhwaXJlczpOdW1iZXIoaC5leHBpcmVzKSxxYTpnLnFhLGxhYmVsczpnLmxhYmVsc30sITApfSk7Zi5sZW5ndGgmJmtyKGEsZi5tYXAoZnVuY3Rpb24oZyl7dmFyIGg9e3ZhbHVlOmcuZ2NsaWQsY3JlYXRpb25UaW1lTXM6Zy50aW1lc3RhbXAsbGlua0RlY29yYXRpb25Tb3VyY2VzOmcucWE/Zy5xYS5nZXQoKTowfSxsO2lmKChsPWcubGFiZWxzKT09bnVsbD8wOmwubGVuZ3RoKWgubGFiZWxzPWcubGFiZWxzO3JldHVybnt2YWx1ZTpoLGV4cGlyZXM6TnVtYmVyKGcuZXhwaXJlcyl9fSkpfX07SGwoZnVuY3Rpb24oKXtCcihkKT8KZSgpOklsKGUsZCl9LGQpfQpmdW5jdGlvbiBocyhhLGIsYyxkLGUpe2M9Y3x8e307ZT1lfHxbXTt2YXIgZj1IcihjLnByZWZpeCksZz1kfHxOYigpLGg9TWF0aC5yb3VuZChnLzFFMyksbD1BcigpLG49ITEscD0hMSxxPVlmKDkpLHI9ZnVuY3Rpb24oKXtpZihCcihsKSl7dmFyIHQ9dXEoYyxnLCEwKTt0Lk1jPWw7Zm9yKHZhciB1PWZ1bmN0aW9uKFcsZWEpe3ZhciBqYT1JcihXLGYpO2phJiYob3EoamEsZWEsdCksVyE9PSJnYiImJihuPSEwKSl9LHY9ZnVuY3Rpb24oVyl7dmFyIGVhPVsiR0NMIixoLFddO2UubGVuZ3RoPjAmJmVhLnB1c2goZS5qb2luKCIuIikpO3JldHVybiBlYS5qb2luKCIuIil9LHg9bShbImF3IiwiZGMiLCJnZiIsImhhIiwiZ3AiXSkseT14Lm5leHQoKTsheS5kb25lO3k9eC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7YVt6XSYmdSh6LHYoYVt6XVswXSkpfWlmKCghbnx8cSkmJmEuZ2Ipe3ZhciBDPWEuZ2JbMF0sRD1JcigiZ2IiLGYpOyFiJiZFcihEKS5zb21lKGZ1bmN0aW9uKFcpe3JldHVybiBXLmdjbGlkPT09QyYmClcubGFiZWxzJiZXLmxhYmVscy5sZW5ndGg+MH0pfHx1KCJnYiIsdihDKSl9fWlmKCFwJiZhLmdicmFpZCYmQnIoImFkX3N0b3JhZ2UiKSYmKHA9ITAsIW58fHEpKXt2YXIgST1hLmdicmFpZCxHPUlyKCJhZyIsZik7aWYoYnx8IUpyKEcpLnNvbWUoZnVuY3Rpb24oVyl7cmV0dXJuIFcuZ2NsaWQ9PT1JJiZXLmxhYmVscyYmVy5sYWJlbHMubGVuZ3RoPjB9KSl7dmFyIE49e30sUz0oTi5rPUksTi5pPSIiK2gsTi5iPWUsTik7QXEoRyxTLDUsYyxnKX19bnMoYSxmLGcsYyl9O0hsKGZ1bmN0aW9uKCl7cigpO0JyKGwpfHxJbChyLGwpfSxsKX0KZnVuY3Rpb24gbnMoYSxiLGMsZCl7aWYoYS5nYWRfc291cmNlIT09dm9pZCAwJiZCcigiYWRfc3RvcmFnZSIpKXt2YXIgZT1xZCgpO2lmKGUhPT0iciImJmUhPT0iaCIpe3ZhciBmPWEuZ2FkX3NvdXJjZSxnPUlyKCJncyIsYik7aWYoZyl7dmFyIGg9TWF0aC5mbG9vcigoTmIoKS0ocGQoKXx8MCkpLzFFMyksbCxuPWlyKCkscD17fTtsPShwLms9ZixwLmk9IiIraCxwLnU9bixwKTtBcShnLGwsNSxkLGMpfX19fWZ1bmN0aW9uIG9zKGEsYixjKXtmb3IodmFyIGQ9d3EoYixjKSxlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoTnIoZFtlXSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gcHMoYSl7dmFyIGI9cXMsYz1ycyhhLnByZWZpeCk7Q3IoZnVuY3Rpb24oKXtmb3IodmFyIGQ9SHIoYS5wcmVmaXgpLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPWNbZ107aWYoaCl7dmFyIGw9TWF0aC5taW4oc3MoaCksTmIoKSksbj11cShhLGwsITApO24uTWM9QXIoKTt2YXIgcD1JcihnLGQpO3AmJm9xKHAsaCxuKX19dmFyIHE9VXEoITApO2hzKGNzKHEuZ2NsaWQscS5nY2xzcmMpLCExLGEpfSxBcigpKX0KZnVuY3Rpb24gcnMoYSl7dmFyIGI9VXEoITApLGM9SHIoYSksZD17fSxlO2ZvcihlIGluIHhyKWlmKHhyLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1lLGc9SXIoZixjKTtpZihnIT09dm9pZCAwKXt2YXIgaD1iW2ddO2lmKGgpe3ZhciBsPXNzKGgpLG47YTp7Zm9yKHZhciBwPU1hdGgubWluKGwsTmIoKSl8fE5iKCkscT1jcShnLEIuY29va2llLHZvaWQgMCxBcigpKSxyPTA7cjxxLmxlbmd0aDsrK3IpaWYoc3MocVtyXSk+cCl7bj0hMDticmVhayBhfW49ITF9bnx8KGRbZl09aCl9fX1yZXR1cm4gZH0KZnVuY3Rpb24gdHMoYSl7dmFyIGI9WyJhZyJdLGM9VXEoITApLGQ9SHIoYS5wcmVmaXgpO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoZil7dmFyIGc9Y1tmXTtpZihnKXt2YXIgaD0kcChnLDUpO2lmKGgpe3ZhciBsPU5yKGgpO2x8fChsPU5iKCkpO2lmKG9zKGwsZiw1KSlicmVhaztoLmk9IiIrTWF0aC5yb3VuZChsLzFFMyk7QXEoZixoLDUsYSxsKX19fX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiBJcihhLGIpe3ZhciBjPXhyW2FdO2lmKGMhPT12b2lkIDApcmV0dXJuIGIrY31mdW5jdGlvbiBzcyhhKXtyZXR1cm4gVnIoYS5zcGxpdCgiLiIpKS5sZW5ndGghPT0wPyhOdW1iZXIoYS5zcGxpdCgiLiIpWzFdKXx8MCkqMUUzOjB9ZnVuY3Rpb24gTnIoYSl7cmV0dXJuIGE/KE51bWJlcihhLmkpfHwwKSoxRTM6MH0KZnVuY3Rpb24gVnIoYSl7cmV0dXJuIGEubGVuZ3RoPDN8fGFbMF0hPT0iR0NMIiYmYVswXSE9PSIxInx8IS9eXGQrJC8udGVzdChhWzFdKXx8IXRyLnRlc3QoYVsyXSk/W106YX1mdW5jdGlvbiB1cyhhLGIsYyxkKXt2YXIgZT1xcztpZihBcnJheS5pc0FycmF5KGEpJiZTcChBKSl7dmFyIGY9SHIoZCksZz1mdW5jdGlvbigpe2Zvcih2YXIgaD17fSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBuPUlyKGVbbF0sZik7aWYobil7dmFyIHA9Y3EobixCLmNvb2tpZSx2b2lkIDAsQXIoKSk7cC5sZW5ndGgmJihoW25dPXAuc29ydCgpW3AubGVuZ3RoLTFdKX19cmV0dXJuIGh9O0NyKGZ1bmN0aW9uKCl7YXIoZyxhLGIsYyl9LEFyKCkpfX0KZnVuY3Rpb24gdnMoYSxiLGMpe3ZhciBkPXFzO2lmKFlmKDEzKSYmQXJyYXkuaXNBcnJheShhKSYmU3AoQSkpe3ZhciBlPWZ1bmN0aW9uKCl7Zm9yKHZhciBmPXt9LGc9MDtnPGQubGVuZ3RoOysrZyl7dmFyIGg9dnJbZFtnXV07aWYoaCl7dmFyIGw9Y3EoaCxCLmNvb2tpZSx2b2lkIDAsQXIoKSk7aWYobC5sZW5ndGgpe2Zvcih2YXIgbj12b2lkIDAscD0wLHE9bShsKSxyPXEubmV4dCgpOyFyLmRvbmU7cj1xLm5leHQoKSl7dmFyIHQ9ci52YWx1ZSx1PSRwKHQsNCk7aWYodSYmKHUubT09PSIxInx8WWYoMTYpKSl7dmFyIHY9TnIodSk7dj49cCYmKHA9dixuPXQpfX1uJiYoZltoXT1uKX19fXJldHVybiBmfTtDcihmdW5jdGlvbigpe2FyKGUsYSxiLGMpfSxBcigpKX19CmZ1bmN0aW9uIHdzKGEsYixjLGQpe2lmKEFycmF5LmlzQXJyYXkoYSkmJlNwKEEpKXt2YXIgZT1bImFnIl0sZj1IcihkKSxnPWZ1bmN0aW9uKCl7Zm9yKHZhciBoPXt9LGw9MDtsPGUubGVuZ3RoOysrbCl7dmFyIG49SXIoZVtsXSxmKTtpZighbilyZXR1cm57fTt2YXIgcD13cShuLDUpO2lmKHAubGVuZ3RoKXt2YXIgcT1wLnNvcnQoZnVuY3Rpb24ocix0KXtyZXR1cm4gTnIodCktTnIocil9KVswXTtoW25dPWFxKHEsNSl9fXJldHVybiBofTtDcihmdW5jdGlvbigpe2FyKGcsYSxiLGMpfSxbImFkX3N0b3JhZ2UiXSl9fWZ1bmN0aW9uIFJyKGEpe3JldHVybiBhLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gdHIudGVzdChiLmdjbGlkKX0pfQpmdW5jdGlvbiB4cyhhLGIpe2lmKFNwKEEpKXtmb3IodmFyIGM9SHIoYi5wcmVmaXgpLGQ9e30sZT0wO2U8YS5sZW5ndGg7ZSsrKXhyW2FbZV1dJiYoZFthW2VdXT14clthW2VdXSk7Q3IoZnVuY3Rpb24oKXtHYihkLGZ1bmN0aW9uKGYsZyl7dmFyIGg9Y3EoYytnLEIuY29va2llLHZvaWQgMCxBcigpKTtoLnNvcnQoZnVuY3Rpb24odCx1KXtyZXR1cm4gc3ModSktc3ModCl9KTtpZihoLmxlbmd0aCl7dmFyIGw9aFswXSxuPXNzKGwpLHA9VnIobC5zcGxpdCgiLiIpKS5sZW5ndGghPT0wP2wuc3BsaXQoIi4iKS5zbGljZSgzKTpbXSxxPXt9LHI7cj1WcihsLnNwbGl0KCIuIikpLmxlbmd0aCE9PTA/bC5zcGxpdCgiLiIpWzJdOnZvaWQgMDtxW2ZdPVtyXTtocyhxLCEwLGIsbixwKX19KX0sQXIoKSl9fQpmdW5jdGlvbiB5cyhhKXt2YXIgYj1bImFnIl0sYz1bImdicmFpZCJdO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUhyKGEucHJlZml4KSxlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoIWYpYnJlYWs7dmFyIGc9d3EoZiw1KTtpZihnLmxlbmd0aCl7dmFyIGg9Zy5zb3J0KGZ1bmN0aW9uKHEscil7cmV0dXJuIE5yKHIpLU5yKHEpfSlbMF0sbD1OcihoKSxuPWguYixwPXt9O3BbY1tlXV09aC5rO2hzKHAsITAsYSxsLG4pfX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiB6cyhhLGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGFbYltjXV0pcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIEFzKGEpe2Z1bmN0aW9uIGIoaCxsLG4pe24mJihoW2xdPW4pfWlmKEVsKCkpe3ZhciBjPWVzKCksZDthLmluY2x1ZGVzKCJnYWRfc291cmNlIikmJihkPWMuZ2FkX3NvdXJjZSE9PXZvaWQgMD9jLmdhZF9zb3VyY2U6VXEoITEpLl9ncyk7aWYoenMoYyxhKXx8ZCl7dmFyIGU9e307YihlLCJnY2xpZCIsYy5nY2xpZCk7YihlLCJkY2xpZCIsYy5kY2xpZCk7YihlLCJnY2xzcmMiLGMuZ2Nsc3JjKTtiKGUsIndicmFpZCIsYy53YnJhaWQpO2IoZSwiZ2JyYWlkIixjLmdicmFpZCk7YnIoZnVuY3Rpb24oKXtyZXR1cm4gZX0sMyk7dmFyIGY9e30sZz0oZi5fdXA9IjEiLGYpO2IoZywiX2dzIixkKTticihmdW5jdGlvbigpe3JldHVybiBnfSwxKX19fWZ1bmN0aW9uIGtzKCl7dmFyIGE9UmooQS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gTGooYSwicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpfQpmdW5jdGlvbiBCcyhhKXtpZighWWYoMSkpcmV0dXJuIG51bGw7dmFyIGI9VXEoITApLmdhZF9zb3VyY2U7aWYoYiE9bnVsbClyZXR1cm4gQS5sb2NhdGlvbi5oYXNoPSIiLGI7aWYoWWYoMikpe2I9a3MoKTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPWVzKCk7aWYoenMoYyxhKSlyZXR1cm4iMCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ3MoYSl7dmFyIGI9QnMoYSk7YiE9bnVsbCYmYnIoZnVuY3Rpb24oKXt2YXIgYz17fTtyZXR1cm4gYy5nYWRfc291cmNlPWIsY30sNCl9CmZ1bmN0aW9uIERzKGEsYixjKXt2YXIgZD1bXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIGQ7Zm9yKHZhciBlPXt9LGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXSxoPWcuemc/Zy56ZzoiZ2NsIjtpZigoZy5sYWJlbHN8fFtdKS5pbmRleE9mKGMpPT09LTEpe2EucHVzaCgwKTt2YXIgbD0hMSxuPXZvaWQgMDtpZigobj1nLm9hKT09bnVsbD8wOm4uaW5jbHVkZXMoMikpbD0hMDt2YXIgcD12b2lkIDA7KChwPWcub2EpPT1udWxsPzA6cC5pbmNsdWRlcygxKSkmJiFlW2hdJiYobD0hMCxlW2hdPSEwKTtsJiZkLnB1c2goZyl9ZWxzZXthLnB1c2goMSk7dmFyIHE9dm9pZCAwO2lmKChxPWcub2EpPT1udWxsPzA6cS5pbmNsdWRlcygxKSllW2hdPSEwfX1yZXR1cm4gZH0KZnVuY3Rpb24gRXMoYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1bXTtjPWN8fHt9O2lmKCFCcihBcigpKSlyZXR1cm4gZjt2YXIgZz1FcihhLGUpLGg9RHMoZixnLGIpO2lmKGgubGVuZ3RoJiYhZCl7Zm9yKHZhciBsPVtdLG49ITEscD1tKGgpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlLHQ9cix1PXQudmVyc2lvbix2PXQuZ2NsaWQseD10LnRpbWVzdGFtcCx5PXQub2Esej0odC5sYWJlbHN8fFtdKS5jb25jYXQoW2JdKSxDPXZvaWQgMDtpZigoKEM9eSk9PW51bGw/MDpDLmluY2x1ZGVzKDEpKSYmIW4pe3ZhciBEPVt1LE1hdGgucm91bmQoeC8xRTMpLHZdLmNvbmNhdCh6KS5qb2luKCIuIiksST11cShjLHgsITApO0kuTWM9QXIoKTtvcShhLEQsSSk7bj0hMH12YXIgRz12b2lkIDA7ZSYmKChHPXkpPT1udWxsPzA6Ry5pbmNsdWRlcygyKSkmJmwucHVzaChuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHIse2xhYmVsczp6fSkpfWwubGVuZ3RoJiYKbXMoImdjbF9nYiIsbCxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gRnMoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2I9Ynx8e307dmFyIGU9R3IoYixjKSxmPURzKGQsZSxhKTtpZihmLmxlbmd0aCl7Zm9yKHZhciBnPVtdLGg9e30sbD1tKGYpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlLHE9SHIoYi5wcmVmaXgpLHI9SXIocC56ZyxxKTtpZighcilyZXR1cm4gZDt2YXIgdD1wLHU9dC52ZXJzaW9uLHY9dC5nY2xpZCx4PXQudGltZXN0YW1wLHk9dC5vYSx6PU1hdGgucm91bmQoeC8xRTMpLEM9THIodC5sYWJlbHN8fFtdLFthXSksRD12b2lkIDA7aWYoKEQ9eSk9PW51bGw/MDpELmluY2x1ZGVzKDEpKWlmKHAuemc9PT0iYWciJiYhaC5hZyl7dmFyIEk9e30sRz0oSS5rPXYsSS5pPSIiK3osSS5iPUMsSSk7QXEocixHLDUsYix4KTtoLmFnPSEwfWVsc2UgaWYocC56Zz09PSJnYiImJiFoLmdiKXt2YXIgTj1bdSx6LHZdLmNvbmNhdChDKS5qb2luKCIuIiksUz11cShiLHgsITApO1MuTWM9CkFyKCk7b3EocixOLFMpO2guZ2I9ITB9dmFyIFc9dm9pZCAwO2MmJigoVz15KT09bnVsbD8wOlcuaW5jbHVkZXMoMikpJiZnLnB1c2gobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxwLHtsYWJlbHM6Q30pKX1nLmxlbmd0aCYmbXMoImdjbF9nYiIsZyxiKX1yZXR1cm4gZH1mdW5jdGlvbiBHcyhhLGIpe3ZhciBjPUhyKGIpLGQ9SXIoYSxjKTtpZighZClyZXR1cm4gMDt2YXIgZTtlPWE9PT0iYWciP0pyKGQpOkVyKGQpO2Zvcih2YXIgZj0wLGc9MDtnPGUubGVuZ3RoO2crKylmPU1hdGgubWF4KGYsZVtnXS50aW1lc3RhbXApO3JldHVybiBmfWZ1bmN0aW9uIEhzKGEpe2Zvcih2YXIgYj0wLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZm9yKHZhciBlPWFbZC52YWx1ZV0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWI9TWF0aC5tYXgoYixOdW1iZXIoZVtmXS50aW1lc3RhbXApKTtyZXR1cm4gYn0KZnVuY3Rpb24gSXMoYSl7dmFyIGI9TWF0aC5tYXgoR3MoImF3IixhKSxIcyhCcihBcigpKT9ScCgpOnt9KSksYz1NYXRoLm1heChHcygiZ2IiLGEpLEhzKEJyKEFyKCkpP1JwKCJfZ2FjX2diIiwhMCk6e30pKTtjPU1hdGgubWF4KGMsR3MoImFnIixhKSk7cmV0dXJuIGM+Yn07dmFyIEpzPVJlZ0V4cCgiXlVBLVxcZCstXFxkKyUzQVtcXHctXSsoPzolMkNbXFx3LV0rKSooPzolM0JVQS1cXGQrLVxcZCslM0FbXFx3LV0rKD86JTJDW1xcdy1dKykqKSokIiksS3M9L15+P1tcdy1dKyg/Olwufj9bXHctXSspKiQvLExzPS9eXGQrXC5mbHNcLmRvdWJsZWNsaWNrXC5uZXQkLyxNcz0vO2dhYz0oW147P10rKS8sTnM9LztnYWNnYj0oW147P10rKS87CmZ1bmN0aW9uIE9zKGEsYil7aWYoTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpKXt2YXIgYz1CLmxvY2F0aW9uLmhyZWYubWF0Y2goYik7cmV0dXJuIGMmJmMubGVuZ3RoPT09MiYmY1sxXS5tYXRjaChKcyk/S2ooY1sxXSl8fCIiOiIifWZvcih2YXIgZD1bXSxlPW0oT2JqZWN0LmtleXMoYSkpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmb3IodmFyIGc9Zi52YWx1ZSxoPVtdLGw9YVtnXSxuPTA7bjxsLmxlbmd0aDtuKyspaC5wdXNoKGxbbl0uZ2NsaWQpO2QucHVzaChnKyI6IitoLmpvaW4oIiwiKSl9cmV0dXJuIGQubGVuZ3RoPjA/ZC5qb2luKCI7Iik6IiJ9CmZ1bmN0aW9uIFBzKGEsYixjKXtmb3IodmFyIGQ9QnIoQXIoKSk/UnAoIl9nYWNfZ2IiLCEwKTp7fSxlPVtdLGY9ITEsZz1tKE9iamVjdC5rZXlzKGQpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPUVzKCJfZ2FjX2diXyIrbCxhLGIsYyk7Zj1mfHxuLmxlbmd0aCE9PTAmJm4uc29tZShmdW5jdGlvbihwKXtyZXR1cm4gcD09PTF9KTtlLnB1c2gobCsiOiIrbi5qb2luKCIsIikpfXJldHVybntScjpmP2Uuam9pbigiOyIpOiIiLFFyOk9zKGQsTnMpfX1mdW5jdGlvbiBRcyhhKXt2YXIgYj1CLmxvY2F0aW9uLmhyZWYubWF0Y2gobmV3IFJlZ0V4cCgiOyIrYSsiPShbXjs/XSspIikpO3JldHVybiBiJiZiLmxlbmd0aD09PTImJmJbMV0ubWF0Y2goS3MpP2JbMV06dm9pZCAwfQpmdW5jdGlvbiBScyhhKXt2YXIgYj17fSxjLGQsZTtMcy50ZXN0KEIubG9jYXRpb24uaG9zdCkmJihjPVFzKCJnY2xncyIpLGQ9UXMoImdjbHN0IiksZT1RcygiZ2NsbHAiKSk7aWYoYyYmZCYmZSliLkVnPWMsYi5XaD1kLGIuVWg9ZTtlbHNle3ZhciBmPU5iKCksZz1NcigoYXx8Il9nY2wiKSsiX2dzIiksaD1nLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5nY2xpZH0pLGw9Zy5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIGYtcC50aW1lc3RhbXB9KSxuPWcubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm9kfSk7aC5sZW5ndGg+MCYmbC5sZW5ndGg+MCYmbi5sZW5ndGg+MCYmKGIuRWc9aC5qb2luKCIuIiksYi5XaD1sLmpvaW4oIi4iKSxiLlVoPW4uam9pbigiLiIpKX1yZXR1cm4gYn0KZnVuY3Rpb24gU3MoYSxiKXt2YXIgYz1hLnNwbGl0KCIuIiksZD1iP2Iuc3BsaXQoIi4iKTpbXSxlPWQubGVuZ3RoPT09Yy5sZW5ndGg/ZDp2b2lkIDA7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGYsZyl7dmFyIGg9e2djbGlkOmZ9O2lmKGUpe3ZhciBsPWVbZ10uc3BsaXQoIl8iKTtpZihsLmxlbmd0aD09PTIpe2gucWE9bmV3IGVyKE51bWJlcihsWzBdKSk7dmFyIG47dmFyIHA9TnVtYmVyKGxbMV0pO2lmKHA9PT0wKW49WzBdO2Vsc2V7dmFyIHE9W107cCYxJiZxLnB1c2goMSk7cCYyJiZxLnB1c2goMik7cCY0JiZxLnB1c2goMyk7cCY4JiZxLnB1c2goNCk7cCYxNiYmcS5wdXNoKDUpO249cX1oLm9hPW59fXJldHVybiBofSl9CmZ1bmN0aW9uIFRzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO2lmKExzLnRlc3QoQi5sb2NhdGlvbi5ob3N0KSl7dmFyIGU9UXMoYyk7aWYoZSl7aWYoWWYoMTcpKXt2YXIgZj1RcyhjKyJfc3JjIik7cmV0dXJuIFNzKGUsZil9aWYoZCl7dmFyIGc9bmV3IGVyO2ZyKGcsMik7ZnIoZywzKTtyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpnLG9hOlsxXX19KX1yZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpuZXcgZXIsb2E6WzFdfX0pfX1lbHNle2lmKGI9PT0iZ2NsaWQiKXtmb3IodmFyIGg9RXIoKGF8fCJfZ2NsIikrIl9hdyIsZCksbD1OdW1iZXIoWGZbNF09PT12b2lkIDA/MDpYZls0XSksbj1tKFVzKCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3EudGltZXN0YW1wPmwmJlFyKGgscSl9cmV0dXJuIGh9aWYoYj09PSJ3YnJhaWQiKXJldHVybiBFcigoYXx8CiJfZ2NsIikrIl9nYiIsZCk7aWYoYj09PSJicmFpZHMiKXJldHVybiBHcih7cHJlZml4OmF9LGQpfXJldHVybltdfWZ1bmN0aW9uIFVzKCl7cmV0dXJuKHdxKHZyLmF3LDQpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLm09PT0iMSJ9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJue2djbGlkOmEuayx0aW1lc3RhbXA6TnVtYmVyKGEuaSksdmVyc2lvbjoiIixvYTpbNV19fSl9ZnVuY3Rpb24gVnMoYSl7Zm9yKHZhciBiPTAsYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO2U+MCYmKGJ8PTE8PGUtMSl9cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBXcyhhKXtyZXR1cm4gTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpPyEoUXMoImdjbGF3Iil8fFFzKCJnYWMiKSk6SXMoYSl9CmZ1bmN0aW9uIFhzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlO2U9Yz9GcyhhLGIsZCk6RXMoKGImJmIucHJlZml4fHwiX2djbCIpKyJfZ2IiLGEsYix2b2lkIDAsZCk7cmV0dXJuIGUubGVuZ3RoPT09MHx8ZS5ldmVyeShmdW5jdGlvbihmKXtyZXR1cm4gZj09PTB9KT8iIjplLmpvaW4oIi4iKX07CnZhciBZcz1mdW5jdGlvbihhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1raigiYWRzX3BhZ2V2aWV3IixmdW5jdGlvbigpe3JldHVybnt9fSk7aWYoY1thXSlyZXR1cm4hMTtifHwoY1thXT0hMCk7cmV0dXJuITB9LFpzPWZ1bmN0aW9uKGEpe3JldHVybiBTaihhLCJnY2xpZCBkY2xpZCBnYnJhaWQgd2JyYWlkIGdjbGF3IGdjbGRjIGdjbGhhIGdjbGdmIGdjbGdiIF9nbCIuc3BsaXQoIiAiKSwiMCIpfSxhdD1mdW5jdGlvbigpe3ZhciBhPVJqKEEubG9jYXRpb24uaHJlZiksYj12b2lkIDAsYz12b2lkIDAsZD1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfc291cmNlIiksZT1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfY2FtcGFpZ25pZCIpLGYsZz1hLmhhc2gucmVwbGFjZSgiIyIsIiIpLm1hdGNoKCRzKTtmPWc/Z1sxXTp2b2lkIDA7ZCYmZj8oYj1kLGM9MSk6ZD8oYj1kLGM9Mik6ZiYmKGI9ZixjPTMpO3JldHVybntEZzpiLFNyOmMsVGg6ZX19LGJ0PWZ1bmN0aW9uKGEpe3ZhciBiPQpPcCghMSk9PT0xP0EudG9wLmxvY2F0aW9uLmhyZWY6QS5sb2NhdGlvbi5ocmVmO3JldHVybiBhKGIpfSxjdD1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZD1ScihkKTtmb3IodmFyIGU9W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKWUucHVzaChkW2ZdLmdjbGlkKTtlLmxlbmd0aCYmYi5wdXNoKGMrIjoiK2Uuam9pbigiLCIpKX0pO3JldHVybiBiLmpvaW4oIjsiKX0sZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWR0KGEpO2lmKGQpcmV0dXJuIGQ7dmFyIGU9SHIoYik7aWYoZT09PSJfZ2NsIil7dmFyIGY9IVhvKGZwKSYmYyxnPVtdO2E9PT0iYXciP2c9YXMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKTphPT09ImRjIiYmKGc9ZHMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKSk7aWYoZy5sZW5ndGg+MClyZXR1cm4gZj9be3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsZ2NsaWQ6IjAifV06Zy5tYXAoZnVuY3Rpb24obCl7cmV0dXJue3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsCmdjbGlkOmwudmFsdWUscWE6bC5xYSxvYTpbMV19fSl9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9hPT09ImF3Ij9FcihoLE0oNTYyKSk6WnIoaCk6W119LGR0PWZ1bmN0aW9uKGEpe3ZhciBiPVRqKCJnY2wiK2EpLGM9YT09PSJkYyJ8fGE9PT0iYXciP1RqKCJnY2wiK2ErIl9zcmMiKTp2b2lkIDA7aWYoYilyZXR1cm4gU3MoYixjKX0sZnQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT0iYXcifHxhPT09ImRjInx8YT09PSJnYiIpe3ZhciBkPVRqKCJnY2wiK2EpO2lmKGQpcmV0dXJuIGQuc3BsaXQoIi4iKX12YXIgZT1IcihiKTtpZihlPT09Il9nY2wiKXt2YXIgZj0hWG8oZnApJiZjLGc7Zz1lcygpW2FdfHxbXTtpZihnLmxlbmd0aD4wKXJldHVybiBmP1siMCJdOmd9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9EcihoKTpbXX0sZ3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSKGEsYil8fCFSKGEsYykpcmV0dXJuIiI7dmFyIGQ9UihhLGIpLnNwbGl0KCIuIiksZT1SKGEsYykuc3BsaXQoIi4iKTtyZXR1cm4gZC5sZW5ndGgmJgplLmxlbmd0aCYmZC5sZW5ndGg9PT1lLmxlbmd0aCYmZFswXSYmZVswXT9kLm1hcChmdW5jdGlvbihmLGcpe3JldHVybiBmKyJfIitlW2ddfSkuam9pbigiLiIpOiIifSwkcz0vXmdhZF9zb3VyY2VbXz1dKFxkKykkLztmdW5jdGlvbiBodChhLGIsYyl7dmFyIGQ9UihhLEYuRC5UYSk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0Iilmb3IodmFyIGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWUsaD1kW2ddO2lmKGghPT12b2lkIDApe2g9PT1udWxsJiYoaD0iIik7dmFyIGw9ImdhcC4iK2csbj1TdHJpbmcoaCk7Yz9jKGwsbik6YltsXT1ufX19O3ZhciBpdD0hMSxqdD1bXTtmdW5jdGlvbiBrdCgpe2lmKCFpdCl7aXQ9ITA7Zm9yKHZhciBhPWp0Lmxlbmd0aC0xO2E+PTA7YS0tKWp0W2FdKCk7anQ9W119fTtmdW5jdGlvbiBsdChhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtmdW5jdGlvbiBtdChhLGIsYyl7cmV0dXJuIHR5cGVvZiBhLmFkZEV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iPyhhLmFkZEV2ZW50TGlzdGVuZXIoYixjLCExKSwhMCk6ITF9ZnVuY3Rpb24gbnQoYSxiLGMpe3R5cGVvZiBhLnJlbW92ZUV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX07ZnVuY3Rpb24gb3QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7YS5nb29nbGVfaW1hZ2VfcmVxdWVzdHN8fChhLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cz1bXSk7dmFyIGU9UHAoYS5kb2N1bWVudCk7aWYoYyl7dmFyIGY9ZnVuY3Rpb24oKXtpZihjKXt2YXIgZz1hLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cyxoPURjKGcsZSk7aD49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGcsaCwxKX1udChlLCJsb2FkIixmKTtudChlLCJlcnJvciIsZil9O210KGUsImxvYWQiLGYpO210KGUsImVycm9yIixmKX1kJiYoZS5hdHRyaWJ1dGlvblNyYz0iIik7ZS5zcmM9YjthLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cy5wdXNoKGUpfQpmdW5jdGlvbiBwdChhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0iaHR0cHM6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvZ2VuXzIwND9pZD10Y2ZlIjtJcChhLGZ1bmN0aW9uKGQsZSl7aWYoZHx8ZD09PTApYys9IiYiK2UrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpfSk7cXQoYyxiKX0KZnVuY3Rpb24gcXQoYSxiKXt2YXIgYz13aW5kb3csZDtiPWI9PT12b2lkIDA/ITE6YjtkPWQ9PT12b2lkIDA/ITE6ZDtpZihjLmZldGNoKXt2YXIgZT17a2VlcGFsaXZlOiEwLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixyZWRpcmVjdDoiZm9sbG93IixtZXRob2Q6ImdldCIsbW9kZToibm8tY29ycyJ9O2QmJihlLm1vZGU9ImNvcnMiLCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU/ZS5hdHRyaWJ1dGlvblJlcG9ydGluZz17ZXZlbnRTb3VyY2VFbGlnaWJsZToidHJ1ZSIsdHJpZ2dlckVsaWdpYmxlOiJmYWxzZSJ9OmUuaGVhZGVycz17IkF0dHJpYnV0aW9uLVJlcG9ydGluZy1FbGlnaWJsZSI6ImV2ZW50LXNvdXJjZSJ9KTtjLmZldGNoKGEsZSl9ZWxzZSBvdChjLGEsYj09PXZvaWQgMD8hMTpiLGQ9PT12b2lkIDA/ITE6ZCl9O2Z1bmN0aW9uIHJ0KCl7dGhpcy5mYT10aGlzLmZhO3RoaXMuUj10aGlzLlJ9cnQucHJvdG90eXBlLmZhPSExO3J0LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5mYXx8KHRoaXMuZmE9ITAsdGhpcy5OKCkpfTtydC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O3J0LnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuZmE/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLlJ8fCh0aGlzLlI9W10pLGImJihhPWEuYmluZChiKSksdGhpcy5SLnB1c2goYSkpfTtydC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuUilmb3IoO3RoaXMuUi5sZW5ndGg7KXRoaXMuUi5zaGlmdCgpKCl9O2Z1bmN0aW9uIHN0KGEpe2EuYWRkdGxDb25zZW50PT09dm9pZCAwfHx2ZihhLmFkZHRsQ29uc2VudCl8fChhLmFkZHRsQ29uc2VudD12b2lkIDApO2EuZ2RwckFwcGxpZXM9PT12b2lkIDB8fHdmKGEuZ2RwckFwcGxpZXMpfHwoYS5nZHByQXBwbGllcz12b2lkIDApO3JldHVybiBhLnRjU3RyaW5nIT09dm9pZCAwJiYhdmYoYS50Y1N0cmluZyl8fGEubGlzdGVuZXJJZCE9PXZvaWQgMCYmIXVmKGEubGlzdGVuZXJJZCk/MjphLmNtcFN0YXR1cyYmYS5jbXBTdGF0dXMhPT0iZXJyb3IiPzA6M312YXIgdHQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtydC5jYWxsKHRoaXMpO3RoaXMuSD1udWxsO3RoaXMuamE9e307dGhpcy55YT0wO3RoaXMuWj1udWxsO3RoaXMuSz1hO3ZhciBjO3RoaXMudGltZW91dE1zPShjPWIudGltZW91dE1zKSE9bnVsbD9jOjUwMDt2YXIgZDt0aGlzLkVqPShkPWIuRWopIT1udWxsP2Q6ITF9O3dhKHR0LHJ0KTsKdHQucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmphPXt9O3RoaXMuWiYmKG50KHRoaXMuSywibWVzc2FnZSIsdGhpcy5aKSxkZWxldGUgdGhpcy5aKTtkZWxldGUgdGhpcy5qYTtkZWxldGUgdGhpcy5LO2RlbGV0ZSB0aGlzLkg7cnQucHJvdG90eXBlLk4uY2FsbCh0aGlzKX07dmFyIHZ0PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5LLl9fdGNmYXBpPT09ImZ1bmN0aW9uInx8dXQoYSkhPW51bGx9Owp0dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9e2ludGVybmFsQmxvY2tPbkVycm9yczp0aGlzLkVqfSxkPUhwKGZ1bmN0aW9uKCl7YShjKX0pLGU9MDt0aGlzLnRpbWVvdXRNcyE9PS0xJiYoZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSI7Yy5pbnRlcm5hbEVycm9yU3RhdGU9MTtkKCl9LHRoaXMudGltZW91dE1zKSk7dmFyIGY9ZnVuY3Rpb24oZyxoKXtjbGVhclRpbWVvdXQoZSk7Zz8oYz1nLGMuaW50ZXJuYWxFcnJvclN0YXRlPXN0KGMpLGMuaW50ZXJuYWxCbG9ja09uRXJyb3JzPWIuRWosaCYmYy5pbnRlcm5hbEVycm9yU3RhdGU9PT0wfHwoYy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsaHx8KGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpKSk6KGMudGNTdHJpbmc9InRjdW5hdmFpbGFibGUiLGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpO2EoYyl9O3RyeXt3dCh0aGlzLCJhZGRFdmVudExpc3RlbmVyIiwKZil9Y2F0Y2goZyl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsYy5pbnRlcm5hbEVycm9yU3RhdGU9MyxlJiYoY2xlYXJUaW1lb3V0KGUpLGU9MCksZCgpfX07dHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7YSYmYS5saXN0ZW5lcklkJiZ3dCh0aGlzLCJyZW1vdmVFdmVudExpc3RlbmVyIixudWxsLGEubGlzdGVuZXJJZCl9Owp2YXIgenQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2Q9ZD09PXZvaWQgMD8iNzU1IjpkO3ZhciBlO2E6e2lmKGEucHVibGlzaGVyJiZhLnB1Ymxpc2hlci5yZXN0cmljdGlvbnMpe3ZhciBmPWEucHVibGlzaGVyLnJlc3RyaWN0aW9uc1tiXTtpZihmIT09dm9pZCAwKXtlPWZbZD09PXZvaWQgMD8iNzU1IjpkXTticmVhayBhfX1lPXZvaWQgMH12YXIgZz1lO2lmKGc9PT0wKXJldHVybiExO3ZhciBoPWM7Yz09PTI/KGg9MCxnPT09MiYmKGg9MSkpOmM9PT0zJiYoaD0xLGc9PT0xJiYoaD0wKSk7dmFyIGw7aWYoaD09PTApaWYoYS5wdXJwb3NlJiZhLnZlbmRvcil7dmFyIG49eHQoYS52ZW5kb3IuY29uc2VudHMsZD09PXZvaWQgMD8iNzU1IjpkKTtsPW4mJmI9PT0iMSImJmEucHVycG9zZU9uZVRyZWF0bWVudCYmYS5wdWJsaXNoZXJDQz09PSJDSCI/ITA6biYmeHQoYS5wdXJwb3NlLmNvbnNlbnRzLGIpfWVsc2UgbD0hMDtlbHNlIGw9aD09PTE/YS5wdXJwb3NlJiZhLnZlbmRvcj94dChhLnB1cnBvc2UubGVnaXRpbWF0ZUludGVyZXN0cywKYikmJnh0KGEudmVuZG9yLmxlZ2l0aW1hdGVJbnRlcmVzdHMsZD09PXZvaWQgMD8iNzU1IjpkKTohMDohMDtyZXR1cm4gbH0seHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hKCFhfHwhYVtiXSl9LHd0PWZ1bmN0aW9uKGEsYixjLGQpe2N8fChjPWZ1bmN0aW9uKCl7fSk7dmFyIGU9YS5LO2lmKHR5cGVvZiBlLl9fdGNmYXBpPT09ImZ1bmN0aW9uIil7dmFyIGY9ZS5fX3RjZmFwaTtmKGIsMixjLGQpfWVsc2UgaWYodXQoYSkpe0F0KGEpO3ZhciBnPSsrYS55YTthLmphW2ddPWM7aWYoYS5IKXt2YXIgaD17fTthLkgucG9zdE1lc3NhZ2UoKGguX190Y2ZhcGlDYWxsPXtjb21tYW5kOmIsdmVyc2lvbjoyLGNhbGxJZDpnLHBhcmFtZXRlcjpkfSxoKSwiKiIpfX1lbHNlIGMoe30sITEpfSx1dD1mdW5jdGlvbihhKXtpZihhLkgpcmV0dXJuIGEuSDthLkg9TnAoYS5LLCJfX3RjZmFwaUxvY2F0b3IiKTtyZXR1cm4gYS5IfSxBdD1mdW5jdGlvbihhKXtpZighYS5aKXt2YXIgYj1mdW5jdGlvbihjKXtpZihjLnNvdXJjZT09PQphLkgpdHJ5e3ZhciBkO2Q9KHZmKGMuZGF0YSk/SlNPTi5wYXJzZShjLmRhdGEpOmMuZGF0YSkuX190Y2ZhcGlSZXR1cm47YS5qYVtkLmNhbGxJZF0oZC5yZXR1cm5WYWx1ZSxkLnN1Y2Nlc3MpfWNhdGNoKGUpe319O2EuWj1iO210KGEuSywibWVzc2FnZSIsYil9fSxCdD1mdW5jdGlvbihhKXtpZihhLmdkcHJBcHBsaWVzPT09ITEpcmV0dXJuITA7YS5pbnRlcm5hbEVycm9yU3RhdGU9PT12b2lkIDAmJihhLmludGVybmFsRXJyb3JTdGF0ZT1zdChhKSk7cmV0dXJuIGEuY21wU3RhdHVzPT09ImVycm9yInx8YS5pbnRlcm5hbEVycm9yU3RhdGUhPT0wP2EuaW50ZXJuYWxCbG9ja09uRXJyb3JzPyhwdCh7ZTpTdHJpbmcoYS5pbnRlcm5hbEVycm9yU3RhdGUpfSksITEpOiEwOmEuY21wU3RhdHVzIT09ImxvYWRlZCJ8fGEuZXZlbnRTdGF0dXMhPT0idGNsb2FkZWQiJiZhLmV2ZW50U3RhdHVzIT09InVzZXJhY3Rpb25jb21wbGV0ZSI/ITE6ITB9O3ZhciBDdD17MTowLDM6MCw0OjAsNzozLDk6MywxMDozfTtmdW5jdGlvbiBEdCgpe3JldHVybiBraigidGNmIixmdW5jdGlvbigpe3JldHVybnt9fSl9dmFyIEV0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dChBLHt0aW1lb3V0TXM6LTF9KX07CmZ1bmN0aW9uIEZ0KCl7dmFyIGE9RHQoKSxiPUV0KCk7dnQoYikmJiFHdCgpJiYhSHQoKSYmUCgxMjQpO2lmKCFhLmFjdGl2ZSYmdnQoYikpe0d0KCkmJihhLmFjdGl2ZT0hMCxhLnB1cnBvc2VzPXt9LGEuY21wSWQ9MCxhLnRjZlBvbGljeVZlcnNpb249MCx0bCgpLmFjdGl2ZT0hMCxhLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIik7Y3AoKTt0cnl7Yi5hZGRFdmVudExpc3RlbmVyKGZ1bmN0aW9uKGMpe2lmKGMuaW50ZXJuYWxFcnJvclN0YXRlIT09MClJdChhKSxkcChbRi5ELmthLEYuRC5YYSxGLkQubWFdKSx0bCgpLmFjdGl2ZT0hMDtlbHNlIGlmKGEuZ2RwckFwcGxpZXM9Yy5nZHByQXBwbGllcyxhLmNtcElkPWMuY21wSWQsYS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9Yy5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGUsSHQoKSYmKGEuYWN0aXZlPSEwKSwhSnQoYyl8fEd0KCl8fEh0KCkpe2EudGNmUG9saWN5VmVyc2lvbj1jLnRjZlBvbGljeVZlcnNpb247dmFyIGQ7aWYoYy5nZHByQXBwbGllcz09PQohMSl7dmFyIGU9e30sZjtmb3IoZiBpbiBDdClDdC5oYXNPd25Qcm9wZXJ0eShmKSYmKGVbZl09ITApO2Q9ZTtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyl9ZWxzZSBpZihKdChjKSl7dmFyIGc9e30saDtmb3IoaCBpbiBDdClpZihDdC5oYXNPd25Qcm9wZXJ0eShoKSlpZihoPT09IjEiKXt2YXIgbCxuPWMscD17VXI6ITB9O3A9cD09PXZvaWQgMD97fTpwO2w9QnQobik/bi5nZHByQXBwbGllcz09PSExPyEwOm4udGNTdHJpbmc9PT0idGN1bmF2YWlsYWJsZSI/IXAuaWRwY0FwcGxpZXM6KHAuaWRwY0FwcGxpZXN8fG4uZ2RwckFwcGxpZXMhPT12b2lkIDB8fHAuVXIpJiYocC5pZHBjQXBwbGllc3x8dmYobi50Y1N0cmluZykmJm4udGNTdHJpbmcubGVuZ3RoKT96dChuLCIxIiwwKTohMDohMTtnWyIxIl09bH1lbHNlIGdbaF09enQoYyxoLEN0W2hdKTtkPWd9aWYoZCl7YS50Y1N0cmluZz1jLnRjU3RyaW5nfHwidGNlbXB0eSI7YS5wdXJwb3Nlcz1kO3ZhciBxPXt9LHI9KHFbRi5ELmthXT0KYS5wdXJwb3Nlc1siMSJdPyJncmFudGVkIjoiZGVuaWVkIixxKTthLmdkcHJBcHBsaWVzIT09ITA/KGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pLHRsKCkuYWN0aXZlPSEwKToocltGLkQuWGFdPWEucHVycG9zZXNbIjMiXSYmYS5wdXJwb3Nlc1siNCJdPyJncmFudGVkIjoiZGVuaWVkIix0eXBlb2YgYS50Y2ZQb2xpY3lWZXJzaW9uPT09Im51bWJlciImJmEudGNmUG9saWN5VmVyc2lvbj49ND9yW0YuRC5tYV09YS5wdXJwb3Nlc1siMSJdJiZhLnB1cnBvc2VzWyI3Il0/ImdyYW50ZWQiOiJkZW5pZWQiOmRwKFtGLkQubWFdKSxWbyhyLHtldmVudElkOjB9LHtnZHByQXBwbGllczphP2EuZ2RwckFwcGxpZXM6dm9pZCAwLHRjU3RyaW5nOkt0KCl8fCIifSkpfX1lbHNlIGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pfSl9Y2F0Y2goYyl7SXQoYSksZHAoW0YuRC5rYSxGLkQuWGEsRi5ELm1hXSksdGwoKS5hY3RpdmU9ITB9fX0KZnVuY3Rpb24gSXQoYSl7YS50eXBlPSJlIjthLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIn1mdW5jdGlvbiBKdChhKXtyZXR1cm4gYS5ldmVudFN0YXR1cz09PSJ0Y2xvYWRlZCJ8fGEuZXZlbnRTdGF0dXM9PT0idXNlcmFjdGlvbmNvbXBsZXRlInx8YS5ldmVudFN0YXR1cz09PSJjbXB1aXNob3duIn1mdW5jdGlvbiBHdCgpe3JldHVybiBBLmd0YWdfZW5hYmxlX3RjZl9zdXBwb3J0PT09ITB9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gRHQoKS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9PT0hMH1mdW5jdGlvbiBLdCgpe3ZhciBhPUR0KCk7aWYoYS5hY3RpdmUpcmV0dXJuIGEudGNTdHJpbmd9ZnVuY3Rpb24gTHQoKXt2YXIgYT1EdCgpO2lmKGEuYWN0aXZlJiZhLmdkcHJBcHBsaWVzIT09dm9pZCAwKXJldHVybiBhLmdkcHJBcHBsaWVzPyIxIjoiMCJ9CmZ1bmN0aW9uIE10KGEpe2lmKCFDdC5oYXNPd25Qcm9wZXJ0eShTdHJpbmcoYSkpKXJldHVybiEwO3ZhciBiPUR0KCk7cmV0dXJuIGIuYWN0aXZlJiZiLnB1cnBvc2VzPyEhYi5wdXJwb3Nlc1tTdHJpbmcoYSldOiEwfTt2YXIgTnQ9W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV0sT3Q9e30sUHQ9KE90W0YuRC5rYV09MSxPdFtGLkQucmFdPTIsT3QpO2Z1bmN0aW9uIFF0KGEpe2lmKGE9PT12b2lkIDApcmV0dXJuIDA7c3dpdGNoKE8oYSxGLkQuUmMpKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICExOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDJ9fWZ1bmN0aW9uIFJ0KCl7cmV0dXJuKE0oMTgzKT9MZigxNikuc3BsaXQoIn4iKTpMZigxNykuc3BsaXQoIn4iKSkuaW5kZXhPZih6bSgpKSE9PS0xJiZIYy5nbG9iYWxQcml2YWN5Q29udHJvbD09PSEwfWZ1bmN0aW9uIFN0KGEpe2lmKFJ0KCkpcmV0dXJuITE7dmFyIGI9UXQoYSk7aWYoYj09PTMpcmV0dXJuITE7c3dpdGNoKENsKEYuRC5YYSkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2Nhc2UgNDpyZXR1cm4gYj09PTI7Y2FzZSAwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fQpmdW5jdGlvbiBUdCgpe3JldHVybiBFbCgpfHwhQmwoRi5ELmthKXx8IUJsKEYuRC5yYSl9ZnVuY3Rpb24gVXQoKXt2YXIgYT17fSxiO2ZvcihiIGluIFB0KVB0Lmhhc093blByb3BlcnR5KGIpJiYoYVtQdFtiXV09Q2woYikpO3JldHVybiJHMSIreWYoYVsxXXx8MCkreWYoYVsyXXx8MCl9dmFyIFZ0PXt9LFd0PShWdFtGLkQua2FdPTAsVnRbRi5ELnJhXT0xLFZ0W0YuRC5tYV09MixWdFtGLkQuWGFdPTMsVnQpO2Z1bmN0aW9uIFh0KGEpe3N3aXRjaChhKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICEwOnJldHVybiAzO2Nhc2UgITE6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19CmZ1bmN0aW9uIFl0KGEpe2Zvcih2YXIgYj0iMSIsYz0wO2M8TnQubGVuZ3RoO2MrKyl7dmFyIGQ9YixlLGY9TnRbY10sZz1BbC5kZWxlZ2F0ZWRDb25zZW50VHlwZXNbZl07ZT1nPT09dm9pZCAwPzA6V3QuaGFzT3duUHJvcGVydHkoZyk/MTJ8V3RbZ106ODt2YXIgaD10bCgpO2guYWNjZXNzZWRBbnk9ITA7dmFyIGw9aC5lbnRyaWVzW2ZdfHx7fTtlPWU8PDJ8WHQobC5pbXBsaWNpdCk7Yj1kKygiIisiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbZV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW1h0KGwuZGVjbGFyZSk8PDR8WHQobC5kZWZhdWx0KTw8MnxYdChsLnVwZGF0ZSldKX12YXIgbj1iLHA9KFJ0KCk/MTowKTw8MyxxPShFbCgpPzE6MCk8PDIscj1RdChhKTtiPW4rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW3B8CnF8cl07cmV0dXJuIGIrPSIiKyIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIltBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9zdG9yYWdlPDw0fEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFuYWx5dGljc19zdG9yYWdlPDwyfEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFkX3VzZXJfZGF0YV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iWyhBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM/MTowKTw8MnxBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9wZXJzb25hbGl6YXRpb25dfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIEJsKEYuRC5tYSk/ImEiOiItIn1mdW5jdGlvbiAkdCgpe3JldHVybiBCbSgpfHwoR3QoKXx8SHQoKSkmJkx0KCk9PT0iMSI/IjEiOiIwIn0KZnVuY3Rpb24gYXUoKXtyZXR1cm4oQm0oKT8hMDohKCFHdCgpJiYhSHQoKSkmJkx0KCk9PT0iMSIpfHwhQmwoRi5ELm1hKX0KZnVuY3Rpb24gYnUoKXt2YXIgYT0iMCIsYj0iMCIsYzt2YXIgZD1EdCgpO2M9ZC5hY3RpdmU/ZC5jbXBJZDp2b2lkIDA7dHlwZW9mIGM9PT0ibnVtYmVyIiYmYz49MCYmYzw9NDA5NSYmKGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2M+PjYmNjNdLGI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2MmNjNdKTt2YXIgZT0iMCIsZjt2YXIgZz1EdCgpO2Y9Zy5hY3RpdmU/Zy50Y2ZQb2xpY3lWZXJzaW9uOnZvaWQgMDt0eXBlb2YgZj09PSJudW1iZXIiJiZmPj0wJiZmPD02MyYmKGU9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2ZdKTt2YXIgaD0wO0JtKCkmJihofD0xKTtMdCgpPT09IjEiJiYoaHw9Mik7R3QoKSYmKGh8PTQpO3ZhciBsO3ZhciBuPUR0KCk7bD1uLmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZSE9PQp2b2lkIDA/bi5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU/IjEiOiIwIjp2b2lkIDA7bD09PSIxIiYmKGh8PTgpO3RsKCkud2FpdFBlcmlvZFRpbWVkT3V0JiYoaHw9MTYpO3JldHVybiIxIithK2IrZSsiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbaF19O3ZhciBjdT17VUE6MSxBVzoyLERDOjMsRzo0LEdGOjUsR1Q6MTIsR1RNOjE0LEhBOjYsTUM6N307CmZ1bmN0aW9uIGR1KGEpe2E9YT09PXZvaWQgMD97fTphO3ZhciBiPUUoNSkuc3BsaXQoIi0iKVswXS50b1VwcGVyQ2FzZSgpLGMsZD17Y3RpZDpFKDUpLERvOkpmKDE1KSxJbzpFKDE0KSxMczpJZig3KT8yOjEsRHQ6YS5wZixjYW5vbmljYWxJZDpFKDYpLG50OihjPUFrKCkpPT1udWxsP3ZvaWQgMDpjLmNhbm9uaWNhbENvbnRhaW5lcklkLEV0OmEuVGc9PT12b2lkIDA/dm9pZCAwOmEuVGc/MTA6MTJ9O2QuY2Fub25pY2FsSWQhPT1hLm1jJiYoZC5tYz1hLm1jKTt2YXIgZT14aygpO2QuVXM9ZT9lLmNhbm9uaWNhbENvbnRhaW5lcklkOnZvaWQgMDtJZig0NSk/KGQuaGk9Y3VbYl0sZC5oaXx8KGQuaGk9MCkpOmQuaGk9RGo/MTM6MTA7SWYoNDcpPyhkLmJrPTAsZC5xcj0yKTpJZig1MCk/ZC5iaz0xOmQuYms9Mzt2YXIgZj1hLGc9ezY6ITF9O0pmKDU0KT09PTI/Z1s3XT0hMDpKZig1NCk9PT0xJiYoZ1syXT0hMCk7aWYoS2Mpe3ZhciBoPUxqKFJqKEtjKSwiaG9zdCIpO2gmJihnWzhdPQpoLm1hdGNoKC9eKHd3d1wuKT9nb29nbGV0YWdtYW5hZ2VyXC5jb20kLyk9PT1udWxsKX12YXIgbDtnWzldPShsPWYuZWYpIT1udWxsP2w6ITE7dmFyIG49RmsoKSxwO2dbMTBdPShwPW49PW51bGw/dm9pZCAwOm4uZnJvbUNvbnRhaW5lckV4ZWN1dGlvbikhPW51bGw/cDohMTtkLnpyPWc7cmV0dXJuIENmKGQsYS5Qbil9Owp2YXIgZnU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9bShldShhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWUsZj1SKGEsZSksZz1RKGEsSC5KLlllKTtNKDU4OSkmJmcmJihlPT09Ri5ELnphfHxlPT09Ri5ELlVhfHxlPT09Ri5ELlBlKSYmdHlwZW9mIGY9PT0ic3RyaW5nIiYmKGY9WnMoZikpO3ZhciBoPW9wKGUsZik7aCYmKCFnfHxlIT09Ri5ELkRkJiZlIT09Ri5ELktkJiZlIT09Ri5ELkVlJiZlIT09Ri5ELkJmfHwoaC52YWx1ZT0iMCIpLE0oNTA0KSYmKGU9PT1GLkQuTWQ/aC5rZXk9ImV2bmlkIjplPT09Ri5ELk5kJiYoaC5rZXk9ImV4Y2lkIikpLGJbaC5rZXldPWgudmFsdWUpfWIuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxUZzphLk0uaXNHdG1FdmVudCxlZjpRKGEsSC5KLkNjKX0pO1R0KCkmJihiLmdjcz1iLmdjc3x8VXQoKSk7Yi5nY2Q9Yi5nY2R8fFl0KGEuTSk7YXUoKSYmKGIuZG1hX2Nwcz1adCgpKTtiLmRtYT0kdCgpO3Z0KEV0KCkpJiYKKGIudGNmZD1idSgpKTt2YXIgbD1DcChhKTtsJiYoYi50YWdfZXhwPWwpO2lmKFEoYSxILkouQmspKXtiLnRmdD1TdHJpbmcoTmIoKSk7dmFyIG49cGQoKTtuIT09dm9pZCAwJiYoYi50ZmQ9U3RyaW5nKE1hdGgucm91bmQobikpKX1iLmFwdmU9IjEiO2IuYXB2Zj1uZCgpPyJmIjoibmYiO2ZvLkhbY28uaWEuY2JdIT09Ym8uTWEuVWV8fGZvLktbY28uaWEuY2JdLmlzQ29uc2VudEdyYW50ZWQoKXx8KGIubGltaXRlZF9hZHM9IjEiKTt2YXIgcD1RKGEsSC5KLlhnKTtNKDQ3NCkmJnAhPW51bGwmJnAhPT0iIiYmKGIuX2dzaWQ9cCk7aHQoYSxiLGZ1bmN0aW9uKHEscil7YltxXT1lbmNvZGVVUklDb21wb25lbnQocil9KTtyZXR1cm4gYn07dmFyIGd1PWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5lbmRwb2ludD1hO3RoaXMuZmE9Yzt0aGlzLmphPWQ7dGhpcy5wYXJhbWV0ZXJFbmNvZGluZz1lO3RoaXMuWj1iLnNsaWNlKCl9O2d1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7cmV0dXJuIFhvKHRoaXMuWil9O2d1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtndS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhPU1tW3RoaXMuZW5kcG9pbnRdKHZvaWQgMCk7cmV0dXJuIFNiKGEsImh0dHBzOi8vIik/YS5zdWJzdHJpbmcoOCk6U2IoYSwiaHR0cDovLyIpP2Euc3Vic3RyaW5nKDcpOmF9O3ZhciBodT1mdW5jdGlvbihhLGIpe3RoaXMubWV0aG9kTmFtZT1hO3RoaXMuUj1ifTtodS5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNTdXBwb3J0ZWQoKSlpZigoYz09bnVsbD92b2lkIDA6Yy5ib2R5KT09PXZvaWQgMHx8dGhpcy5IKCkpdHJ5e3RoaXMuSyhhLGIsYyl9Y2F0Y2goZCl7YS5yZChkKX1lbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgZG9lcyBub3Qgc3VwcG9ydCBhIHJlcXVlc3QgYm9keS4iKTtlbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgaXMgbm90IHN1cHBvcnRlZC4iKX07dmFyIGl1PWZ1bmN0aW9uKCl7aHUuY2FsbCh0aGlzLCJJbWFnZVBpeGVsIiwzKX07d2EoaXUsaHUpO2l1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtpdS5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiExfTsKaXUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe1pjKGIsZnVuY3Rpb24oKXthLmpmKCl9LGZ1bmN0aW9uKCl7YS5vbkZhaWx1cmUodm9pZCAwKX0sYz09bnVsbD92b2lkIDA6Yy5hZil9O3ZhciBqdT1mdW5jdGlvbigpe2h1LmNhbGwodGhpcywiU2VuZEJlYWNvbiIsMSl9O3dhKGp1LGh1KTtqdS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2QoKX07anUucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07anUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe2pkKGIsYz09bnVsbD92b2lkIDA6Yy5ib2R5KT9hLmpmKCk6YS5yZCh2b2lkIDApfTt2YXIga3U9ZnVuY3Rpb24oKXtodS5jYWxsKHRoaXMsIkZldGNoIiwxKX07d2Eoa3UsaHUpO2t1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiB5YihBLmZldGNoKX07a3UucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Cmt1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtBLmZldGNoKGIsYz09bnVsbD92b2lkIDA6Yy5HYikudGhlbihmdW5jdGlvbihkKXtpZihkLm9rKWEucGUoZCk7ZWxzZSBpZihkLnN0YXR1cz09PTApYS5qZigpO2Vsc2UgYS5vbkZhaWx1cmUoIkZldGNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrZC5zdGF0dXMrIi4iKX0pLmNhdGNoKGZ1bmN0aW9uKGQpe2EucmQoZCl9KX07dmFyIGx1PW5ldyBpdSxtdT1uZXcganUsbnU9bmV3IGt1O3ZhciBvdT1mdW5jdGlvbigpe307b3UucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm5bXX07CnZhciBwdT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXTpiO2d1LmNhbGwodGhpcyxhLGIsMSwhMCwyKX07d2EocHUsZ3UpO3B1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe2lmKHRoaXMuWi5sZW5ndGgpe3ZhciBiPVEoYSxILkouRGspO2lmKGIhPT12b2lkIDApcmV0dXJuIGJ9cmV0dXJuIGd1LnByb3RvdHlwZS5LLmNhbGwodGhpcyxhKX07cHUucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdShhKTthLnRhcmdldC5kZXN0aW5hdGlvbklkJiYoYy50aWQ9YS50YXJnZXQuZGVzdGluYXRpb25JZCk7Yi5tZXRob2QgaW5zdGFuY2VvZiBrdT9jLmZtdD0iOCI6Yi5tZXRob2QgaW5zdGFuY2VvZiBqdT9jLmZtdD0iNSI6Yi5tZXRob2QgaW5zdGFuY2VvZiBpdSYmKGMuZm10PSIzIik7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS55YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTihhLGIpO3JldHVybiI/IitPYmplY3Qua2V5cyhjKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQrCiI9IitjW2RdfSkuam9pbigiJiIpfTtwdS5wcm90b3R5cGUuSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55YShhLGIpLGU9e307aWYoYi5tZXRob2QgaW5zdGFuY2VvZiBrdSl7ZS5HYj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGxkKTtpZih0aGlzLmVuZHBvaW50PT09NTh8fHRoaXMuZW5kcG9pbnQ9PT01NyllLkdiLm1ldGhvZD0iR0VUIjt0aGlzLmVuZHBvaW50IT09NDV8fHF1LksoYSl8fChlLkdiLmNyZWRlbnRpYWxzPSJvbWl0IixkKz0iJmdhcC51Y2ZiPTEiKX1jKGQsZSl9O3ZhciBxdT1uZXcgcHUoNDUpLHJ1PW5ldyBwdSg0NSxbXSksc3U9bmV3IHB1KDQ2LFtdKSx0dT1mdW5jdGlvbigpe3B1LmNhbGwodGhpcyw2OSl9O3dhKHR1LHB1KTt0dS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oYSl7dmFyIGI9TSg0NzQpJiYoISFSKGEsIl9nc2lkIil8fCEhUShhLEguSi5YZykpLGM9UihhLEYuRC5IZCkhPT0iMSImJighIVIoYSwiZ2NsaWQiKXx8CiEhUihhLCJkY2xpZCIpfHwhIVIoYSwiZ2Nsc3JjIil8fCEhUihhLCJhdWlkIikpO3JldHVybiBifHxjfTt0dS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1KGEpLGQ9bHAoYSxjKXx8e307T2JqZWN0LmtleXMoZCkubGVuZ3RoPjAmJihiLm1ldGhvZCBpbnN0YW5jZW9mIGt1P2QuZm10PSI4IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGp1P2QuZm10PSI1IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGl1JiYoZC5mbXQ9IjMiKSk7cmV0dXJuIGR9O3ZhciB1dT1uZXcgdHUsdnU9ZnVuY3Rpb24oKXtwdS5jYWxsKHRoaXMsNDUpfTt3YSh2dSxwdSk7dnUucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2cvZC9jY20vY29sbGVjdCJ9O3Z1LnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9cHUucHJvdG90eXBlLk4uY2FsbCh0aGlzLGEsYik7Y1siZ2FwLjFwZmIiXT0iMSI7cmV0dXJuIGN9O3ZhciB3dT1mdW5jdGlvbihhKXtwdS5jYWxsKHRoaXMsYSxbImFkX3N0b3JhZ2UiLAoiYWRfdXNlcl9kYXRhIl0pfTt3YSh3dSxwdSk7d3UucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1wdS5wcm90b3R5cGUuTi5jYWxsKHRoaXMsYSxiKTtyZXR1cm4gaHAoYyl9O3ZhciB4dT1uZXcgd3UoNTgpLHl1PW5ldyB3dSg1NyksenU9ZnVuY3Rpb24oKXt9O3dhKHp1LG91KTt6dS5wcm90b3R5cGUuSD1mdW5jdGlvbihhKXt2YXIgYj1xdS5LKGEpLGM9Yj9xdTpzdSxkPVt7ZW5kcG9pbnQ6YyxtZXRob2Q6bmQoKT9udTptdX0se2VuZHBvaW50OmMsbWV0aG9kOmx1fV07Yj9NKDUxNykmJklmKDQ3KSYmZC5wdXNoKHtlbmRwb2ludDpuZXcgdnUsbWV0aG9kOm51fSk6TSg2MDApJiZkLnB1c2goe2VuZHBvaW50OnJ1LG1ldGhvZDpudX0pO3JldHVybiBkfTt6dS5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSEhUShhLEguSi52ZCksZD1SKGEsRi5ELlBkKT09PSIxIixlPVIoYSxGLkQuSGQpPT09IjEiLGY9cXUuSyhhKSxnPWMmJmQmJiFlJiZmO2lmKGcpe3ZhciBoPQpRYygpfHxPYygpP3h1Onl1O2IucHVzaChbe2VuZHBvaW50OmgsbWV0aG9kOm51fSx7ZW5kcG9pbnQ6aCxtZXRob2Q6bHV9XSl9ZiYmKGd8fFEoYSxILkouaGQpKSYmYi5wdXNoKFt7ZW5kcG9pbnQ6dXUsbWV0aG9kOm5kKCk/bnU6bHV9XSk7cmV0dXJuIGJ9O3ZhciBBdT1uZXcgenU7dmFyIFQ9e1c6e0prOjEsbmo6MixGazozLG1sOjQsR2s6NSx5ZDo2LGtsOjcsTXE6OCxxbjo5LEhrOjEwLElrOjExLEZoOjEyLERtOjEzLEFtOjE0LENtOjE1LHptOjE2LEJtOjE3LHltOjE4LFRvOjE5LHhxOjIwLHlxOjIxLGZqOjIyLHVuOjI0LE9tOjI1LFNrOjI2LFRrOjI3LFJrOjI4LFVrOjI5LHJqOjMwLE9rOjMxLFpvOjMyfX07VC5XW1QuVy5Ka109IkFMTE9XX0lOVEVSRVNUX0dST1VQUyI7VC5XW1QuVy5ual09IlNFUlZFUl9DT05UQUlORVJfVVJMIjtULldbVC5XLkZrXT0iQURTX0RBVEFfUkVEQUNUSU9OIjtULldbVC5XLm1sXT0iQ1VTVE9NRVJfTElGRVRJTUVfVkFMVUUiO1QuV1tULlcuR2tdPSJBTExPV19DVVNUT01fU0NSSVBUUyI7VC5XW1QuVy55ZF09IkFOWV9DT09LSUVfUEFSQU1TIjtULldbVC5XLmtsXT0iQ09PS0lFX0VYUElSRVMiO1QuV1tULlcuTXFdPSJMRUdBQ1lfRU5IQU5DRURfQ09OVkVSU0lPTl9KU19WQVJJQUJMRSI7VC5XW1QuVy5xbl09IlJFU1RSSUNURURfREFUQV9QUk9DRVNTSU5HIjsKVC5XW1QuVy5Ia109IkFMTE9XX0RJU1BMQVlfRkVBVFVSRVMiO1QuV1tULlcuSWtdPSJBTExPV19HT09HTEVfU0lHTkFMUyI7VC5XW1QuVy5GaF09IkdFTkVSQVRFRF9UUkFOU0FDVElPTl9JRCI7VC5XW1QuVy5EbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOS05PV04iO1QuV1tULlcuQW1dPSJGTE9PRExJR0hUX0NPVU5USU5HX01FVEhPRF9TVEFOREFSRCI7VC5XW1QuVy5DbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOSVFVRSI7VC5XW1QuVy56bV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1BFUl9TRVNTSU9OIjtULldbVC5XLkJtXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfVFJBTlNBQ1RJT05TIjtULldbVC5XLnltXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfSVRFTVNfU09MRCI7VC5XW1QuVy5Ub109IkFEU19PR1RfVjFfVVNBR0UiO1QuV1tULlcueHFdPSJGT1JNX0lOVEVSQUNUSU9OX1BFUk1JU1NJT05fREVOSUVEIjsKVC5XW1QuVy55cV09IkZPUk1fU1VCTUlUX1BFUk1JU1NJT05fREVOSUVEIjtULldbVC5XLmZqXT0iTUlDUk9UQVNLX05PVF9TVVBQT1JURUQiO1QuV1tULlcudW5dPSJTRVRfRU5DUllQVEVEX0RBVEFfVE9fQ0FDSEUiO1QuV1tULlcuT21dPSJHRVRfRU5DUllQVEVEX0RBVEFfRlJPTV9DQUNIRSI7VC5XW1QuVy5Ta109IkNPTkZJR19ERVRFQ1RFRF9XSVRIX05PX1BBUkFNIjtULldbVC5XLlRrXT0iQ09ORklHX0RFVEVDVEVEX1dJVEhfUEFSQU0iO1QuV1tULlcuUmtdPSJDT05GSUdfQ09OU0VOVF9TRVRfQkVGT1JFIjtULldbVC5XLlVrXT0iQ09ORklHX1NFVF9VU0VEX0JFRk9SRSI7VC5XW1QuVy5yal09IlNIQURPV19ET01fQVVUT19QSUkiO1QuV1tULlcuT2tdPSJDQ0RfVVNFUl9EQVRBX1dFQl9PTl9DT05GSUciO1QuV1tULlcuWm9dPSJCTEVOREVEX1VTRVJfREFUQSI7dmFyIEJ1PXt9LEN1PShCdVtGLkQudWldPVQuVy5KayxCdVtGLkQuZGRdPVQuVy5uaixCdVtGLkQueWNdPVQuVy5uaixCdVtGLkQubWJdPVQuVy5GayxCdVtGLkQuR2VdPVQuVy5tbCxCdVtGLkQucmldPVQuVy5HayxCdVtGLkQuSmRdPVQuVy55ZCxCdVtGLkQubmJdPVQuVy55ZCxCdVtGLkQuTGJdPVQuVy55ZCxCdVtGLkQuSWRdPVQuVy55ZCxCdVtGLkQudmNdPVQuVy55ZCxCdVtGLkQuVGJdPVQuVy55ZCxCdVtGLkQuQ2JdPVQuVy5rbCxCdVtGLkQuV2JdPVQuVy5xbixCdVtGLkQuaGhdPVQuVy5IayxCdVtGLkQuU2NdPVQuVy5JayxCdSksRHU9e30sRXU9KER1LnVua25vd249VC5XLkRtLER1LnN0YW5kYXJkPVQuVy5BbSxEdS51bmlxdWU9VC5XLkNtLER1LnBlcl9zZXNzaW9uPVQuVy56bSxEdS50cmFuc2FjdGlvbnM9VC5XLkJtLER1Lml0ZW1zX3NvbGQ9VC5XLnltLER1KTt2YXIgRnU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3NiKCJHVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTCIsYik7YyYmKGEuSFtiXT0hMCl9LHZiPW5ldyBmdW5jdGlvbigpe3RoaXMuSD1bXX07ZnVuY3Rpb24gR3UoYSl7RnUodmIsYSwhMSl9ZnVuY3Rpb24gSHUoYSxiKXt2YXIgYz1iPT09dm9pZCAwPyExOmIsZD12YjtjPWM9PT12b2lkIDA/ITE6Yztmb3IodmFyIGU9T2JqZWN0LmtleXMoYSksZj1tKE9iamVjdC5rZXlzKEN1KSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5pbmNsdWRlcyhoKSYmRnUoZCxDdVtoXSxjKX19O2Z1bmN0aW9uIEl1KGEsYil7YT9hLnRoZW4oYik6Yih2b2lkIDApfWZ1bmN0aW9uIEp1KGEpe3JldHVybiBQcm9taXNlLmFsbFNldHRsZWQoYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3RhdHVzPT09ImZ1bGZpbGxlZCJ9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudmFsdWV9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGEsYjtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxyZXNvbHZlOmEscmVqZWN0OmJ9fTtmdW5jdGlvbiBMdShhLGIsYyxkLGUsZil7dmFyIGc9Yy5zbGljZSgpLGg7ZD09bnVsbHx8KGg9ZC51dik9PW51bGx8fGguY2FsbChkLGEsYixjLGUpO3ZhciBsPUt1KCksbj1sLnByb21pc2UscD1sLnJlc29sdmUscT1bXSxyPWZ1bmN0aW9uKCl7cChxKTt2YXIgdTtkPT1udWxsfHwodT1kLlJzKT09bnVsbHx8dS5jYWxsKGQsYSxiLGMsZSxxKX0sdD1mdW5jdGlvbigpe3ZhciB1PWcuc2hpZnQoKTt1P3UubWV0aG9kLmlzU3VwcG9ydGVkKCk/TXUoYSxiLHUuZW5kcG9pbnQsZCxxLHUubWV0aG9kLGUsZix0LHIpOnQoKTpyKCl9O3QoKTtyZXR1cm4gbn0KZnVuY3Rpb24gTXUoYSxiLGMsZCxlLGYsZyxoLGwsbil7dmFyIHA9Yy5SKGEpLHE9e3RrOmIsZW5kcG9pbnQ6Yyxpc1ByaW1hcnk6ZyxzYjp2b2lkIDAscGs6ZixqdDp7fX0scj0hMSx0PWZ1bmN0aW9uKHosQyl7aWYocilQKDE4Nyk7ZWxzZSBpZihyPSEwLCF1KXt2YXIgRD1DfHx7fSxJPUQuYm9keSxHPUQuR2IsTj1ELmFmO0M9T2JqZWN0LmZyZWV6ZShuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LEk/e2JvZHk6SX06e30sRz97R2I6R306e30sTj97YWY6Tn06e30pKTtpZihJJiYhZi5IKCkpeCgpLGwoKTtlbHNle3ZhciBTPU51KHopLFc9cFswXT09PSIvIj8iIitwK1M6Imh0dHBzOi8vIitwK1M7cS5zYj1XO3EuanQ9Qzt2YXIgZWE7ZD09bnVsbHx8KGVhPWQuU3MpPT1udWxsfHxlYS5jYWxsKGQsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHEpKTt2YXIgamE9e2Rlc3RpbmF0aW9uSWQ6YS50YXJnZXQuZGVzdGluYXRpb25JZCxlbmRwb2ludDpjLmVuZHBvaW50LApldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9O2YuUj09PXZvaWQgMHx8Yy5mYSE9PTImJihjLmZhIT09MXx8ZS5sZW5ndGgpfHxrbi5yZWdpc3RlcihqYSxmLlIsVyk7dmFyIGZhPWZ1bmN0aW9uKGRhLG1hKXt4KCk7aWYocS5zdGF0dXMhPT12b2lkIDApcmV0dXJuIFAoMTkyKSwhMTtxLnN0YXR1cz1kYTtlLnB1c2gocSk7dmFyIFBhO2Q9PW51bGx8fChQYT1kLnVvKT09bnVsbHx8UGEuY2FsbChkLGEsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxxKSxtYSk7cmV0dXJuITB9LHNhPXtGbzpqYSxyZDpmdW5jdGlvbigpe2ZhKDIpJiZsKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2ZhKDMpJiZsKCl9LHBlOmZ1bmN0aW9uKGRhKXtmYShkYS5zdGF0dXM9PT0wPzE6ZGEub2s/MDozLGRhKSYmbigpfSxqZjpmdW5jdGlvbigpe2ZhKDEpJiZuKCl9fTtPdShjLGEsVyxTLEkpO2Yuc2VuZFJlcXVlc3Qoc2EsVyxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LAp7fSxJJiZ7Ym9keTpJfSxHJiZ7R2I6R30sTiYme2FmOk59KSl9fX0sdT0hMSx2LHg9ZnVuY3Rpb24oKXt2IT09dm9pZCAwJiYoQS5jbGVhclRpbWVvdXQodiksdj12b2lkIDApfTtNKDU3NCkmJih2PUEuc2V0VGltZW91dChmdW5jdGlvbigpe3Y9dm9pZCAwO3U9ITA7aWYocS5zdGF0dXM9PT12b2lkIDApe3Euc3RhdHVzPTQ7cS5zYj09PXZvaWQgMCYmKHEuc2I9IltmYWlsZWQgdG8gYnVpbGRdICIrcCk7ZS5wdXNoKHEpO3ZhciB6O2Q9PW51bGx8fCh6PWQudW8pPT1udWxsfHx6LmNhbGwoZCxhLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30scSksdm9pZCAwKTtsKCl9fSw1RTMpKTt2YXIgeT17SWM6cCxtZXRob2Q6Zix5djplLGlzUHJpbWFyeTpnLEN0Omh9O3RyeXtjLkgoYSx5LHQpfWNhdGNoKHope3goKSxQKDE4OCksbCgpfX0KZnVuY3Rpb24gT3UoYSxiLGMsZCxlKXtpZihhLmphKXt2YXIgZj1iLnRhcmdldC5kZXN0aW5hdGlvbklkLGc9YS5lbmRwb2ludDtpZihnPT09NDV8fGc9PT00Nnx8Zz09PTY5fHxnPT09NTh8fGc9PT01Nyl7dmFyIGg9L1s/Jl10aWRzPShbXiZdKykvLmV4ZWMoZCk7Zj1oP2RlY29kZVVSSUNvbXBvbmVudChoWzFdKS5zcGxpdCgifiIpOltmXX1NbCh7dGFyZ2V0SWQ6ZixyZXF1ZXN0Om5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30se3VybDpjLHBhcmFtZXRlckVuY29kaW5nOmEucGFyYW1ldGVyRW5jb2RpbmcsZW5kcG9pbnQ6YS5lbmRwb2ludH0sZT97cG9zdEJvZHk6ZX06e30pLHFiOntldmVudElkOmIuTS5ldmVudElkLHByaW9yaXR5SWQ6Yi5NLnByaW9yaXR5SWR9LEZqOntldmVudElkOlEoYixILkoudWYpLHByaW9yaXR5SWQ6UShiLEguSi52Zil9fSl9fQpmdW5jdGlvbiBOdShhKXtyZXR1cm4gYSYmYSE9PSI/Ij9hWzBdIT09Ij8iPyI/Ii5jb25jYXQoYSk6YToiIn07ZnVuY3Rpb24gUHUoYSxiLGMsZCxlKXt2YXIgZjtlPT1udWxsfHwoZj1lLnZ2KT09bnVsbHx8Zi5jYWxsKGUsYSxiKTtpZighYy5sZW5ndGgpe3ZhciBnO2U9PW51bGx8fChnPWUuVHMpPT1udWxsfHxnLmNhbGwoZSxhLGIsW10pO3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfXZhciBoPVtdLGw9e3RrOmIsbWs6YyxqazpkfTtoLnB1c2goTHUoYSxiLGMsZSwhMCxsKSk7Zm9yKHZhciBuPW0oZCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpaC5wdXNoKEx1KGEsYixwLnZhbHVlLGUsITEsbCkpO3JldHVybiBKdShoKS50aGVuKGZ1bmN0aW9uKHEpe2Zvcih2YXIgcj1bXSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpci5wdXNoLmFwcGx5KHIsdyh1LnZhbHVlKSk7dmFyIHY7ZT09bnVsbHx8KHY9ZS5Ucyk9PW51bGx8fHYuY2FsbChlLGEsYixyKTtyZXR1cm4gcn0pfTtmdW5jdGlvbiBRdShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2I9PW51bGx8fChkPWIud3YpPT1udWxsfHxkLmNhbGwoYixhLGMpO2Zvcih2YXIgZT1bXSxmPW0oYyksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZS5wdXNoKFJ1KGEsZy52YWx1ZSkpO2Zvcih2YXIgaD1bXSxsPW0oZSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aC5wdXNoKFB1KGEscC50ayxwLm1rLHAuamssYikpfUp1KGgpLnRoZW4oZnVuY3Rpb24ocSl7Zm9yKHZhciByPVtdLHQ9bShxKSx1PXQubmV4dCgpOyF1LmRvbmU7dT10Lm5leHQoKSlyLnB1c2guYXBwbHkocix3KHUudmFsdWUpKTt2YXIgdjtiPT1udWxsfHwodj1iLlFzKT09bnVsbHx8di5jYWxsKGIsYSxjLHIpfSl9CmZ1bmN0aW9uIFJ1KGEsYil7dmFyIGM9ZnVuY3Rpb24oZil7cmV0dXJuIGYubWV0aG9kLmlzU3VwcG9ydGVkKCkmJmYuZW5kcG9pbnQuaXNTdXBwb3J0ZWQoYSkmJmYuZW5kcG9pbnQuSyhhKX0sZD0oYi5IKGEpfHxbXSkuZmlsdGVyKGMpLGU9W107ZC5sZW5ndGgmJihlPShiLksoYSl8fFtdKS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuZmlsdGVyKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLmxlbmd0aD4wfSkpO3JldHVybnt0azpiLG1rOmQsams6ZX19Owp2YXIgU3U9ZnVuY3Rpb24oYSxiKXtpZihNKDUxNykmJklmKDQ3KSYmYT09PTQ1KXJldHVybiBYaigpKyIvZy9kL2NjbS9jb2xsZWN0PyIrYi5zcGxpdCgiPyIpWzFdKyImZ2FwLjFwZmI9MSJ9LFd1PWZ1bmN0aW9uKCl7dmFyIGE9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGEubGVuZ3RoKXtmb3IodmFyIGI9e30sYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlLGY9VHUoZS5rZSwiYXB2YyIpLGc9VHUoZS5rZSwidGZ0IiksaD1UdShlLmtlLCJ0ZmQiKSxsPVR1KGUua2UsInRpZCIpLG49Tm0oZS5lbmRwb2ludCxlLmtlKSxwPWJbbl09YltuXXx8e3hrOltdLFpoOltdfTtwLlpoLnB1c2goZSk7bD8ocC54ay5wdXNoKGwpLHAudWR8fChwLnVkPWwpKTpwLnhrLnB1c2goIiIpO2Y9PT0iMSImJihwLlFuPSEwKTtpZihnfHxoKXAuTm49ITB9YS5sZW5ndGg9MDtmb3IodmFyIHE9bShPYmplY3Qua2V5cyhiKSkscj1xLm5leHQoKSx0PXt9OyFyLmRvbmU7dD0Ke3lrOnZvaWQgMH0scj1xLm5leHQoKSl7dmFyIHU9ci52YWx1ZSx2PWJbdV07dC55az12LnhrO3ZhciB4PXQueWsuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBmdW5jdGlvbihJLEcpe3JldHVybiBELnlrLmluZGV4T2YoSSk9PT1HfX0odCkpLmZpbHRlcihmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtpZihNKDQyNykpe3ZhciB5PVV1KHYseCk7UXUoeSx2b2lkIDAsQXUpfWVsc2V7dmFyIHo9dSsiJmFwdmM9Iisodi5Rbj8iMSI6IjAiKTt4Lmxlbmd0aCYmKHorPSImdGlkcz0iK3guam9pbigifiIpKTt2LnVkJiYoeis9IiZ0aWQ9Iit2LnVkKTtpZih2Lk5uKXt6Kz0iJnRmdD0iK1N0cmluZyhOYigpKTt2YXIgQz1wZCgpO0MhPT12b2lkIDAmJih6Kz0iJnRmZD0iK1N0cmluZyhNYXRoLnJvdW5kKEMpKSl9VnUodi5aaFswXS5ldmVudCx6LHYuWmhbMF0uZW5kcG9pbnQseC5sZW5ndGg/eDpbIiJdKX19fX0sVHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPT12b2lkIDApcmV0dXJuIGRlbGV0ZSBhW2JdLApjfSxWdT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxmPWZ1bmN0aW9uKGwsbil7dmFyIHA9YitYdShsKTtUbChwLGEsYyxkKTtyZXR1cm4gbihwKX07aWYobmQoKSl7dmFyIGc9ZnVuY3Rpb24oKXt9LGg9U3UoYyxiKTtoIT09dm9pZCAwJiYoZz1mdW5jdGlvbigpe1luKGUsaCtYdSg4KSx2b2lkIDAse1FnOiEwfSl9KTtmKDgsZnVuY3Rpb24obCl7WW4oZSxsLHZvaWQgMCx7UWc6ITB9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe1pjKGIrWHUoMyksZnVuY3Rpb24oKXt9LGcpfSl9KX1lbHNlIGYoNSxmdW5jdGlvbihsKXtyZXR1cm4gV24oZSxsKX0pfHxaYyhiK1h1KDMpKX0sVXU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlpoWzBdLGQ9eyJfJmFwdmMiOmEuUW4/IjEiOiIwIn07Yi5sZW5ndGg+MCYmKGRbIl8mdGlkcyJdPQpiLmpvaW4oIn4iKSk7aWYoYS5Obil7ZFsiXyZ0ZnQiXT1TdHJpbmcoTmIoKSk7dmFyIGU9cGQoKTtlIT09dm9pZCAwJiYoZFsiXyZ0ZmQiXT1TdHJpbmcoTWF0aC5yb3VuZChlKSkpfXJldHVybiBZdShjLmV2ZW50LGEudWR8fCIiLGQpfSxZdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxhLnRhcmdldCx7ZGVzdGluYXRpb25JZDpifSksZT1adShhLHt0YXJnZXQ6ZH0pO2J8fFUoZSxGLkQuUWUpO2Zvcih2YXIgZj1tKE9iamVjdC5rZXlzKGMpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtVKGUsaCxjW2hdKX1yZXR1cm4gZX0sWHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgODpjYXNlIDM6Y2FzZSA1OnJldHVybiImZm10PSIrYTtkZWZhdWx0OnJldHVybiIifX0sJHU9ZnVuY3Rpb24oYSxiKXthPVp1KGEpO1YoYSxILkouRGssWG8oZnApKTtUdCgpJiZVKGEsIl8mZ2NzIixVdCgpKTsKVShhLCJfJmdjZCIsWXQoYS5NKSk7dmFyIGM9WG8oZnApPzQ1OjQ2LGQ9ZnVuY3Rpb24oKXt2YXIgZj1iLnRpZDtpZihNKDQyNykpe3ZhciBnPVl1KGEsZixiKTtRdShnLHZvaWQgMCxBdSl9ZWxzZXt2YXIgaD1ObShjLGIpO1Z1KGEsaCxjLFtmXSl9fTtpZih5YihBLnF1ZXVlTWljcm90YXNrKSl7dmFyIGU9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGUubGVuZ3RoPT09MCl0cnl7QS5xdWV1ZU1pY3JvdGFzayhXdSl9Y2F0Y2goZil7R3UoVC5XLmZqKTtkKCk7cmV0dXJufWI9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxiKTtlLnB1c2goe2V2ZW50OmEsa2U6YixlbmRwb2ludDpjfSl9ZWxzZSBHdShULlcuZmopLGQoKX07dmFyIFg9e1Y6e01rOiJjYWxsX2NvbnZlcnNpb24iLHpkOiJjY21fY29udmVyc2lvbiIsUWs6ImNvbW1vbl9hdyIseGE6ImNvbnZlcnNpb24iLHdxOiJmbG9vZGxpZ2h0IixZZDoiZ2FfY29udmVyc2lvbiIsWmQ6ImdjcF9yZW1hcmtldGluZyIsS2E6InBhZ2VfdmlldyIsdWI6InJlbWFya2V0aW5nIixPYjoidXNlcl9kYXRhX2xlYWQiLEZiOiJ1c2VyX2RhdGFfd2ViIn19O2Z1bmN0aW9uIGJ2KGEsYil7YiYmR2IoYixmdW5jdGlvbihjLGQpe3R5cGVvZiBkIT09Im9iamVjdCImJmQhPT12b2lkIDAmJihhWyIxcC4iK2NdPVN0cmluZyhkKSl9KX07dmFyIG12PXtOZzoidmFsdWUiLHBiOiJjb252ZXJzaW9uQ291bnQiLE9nOjF9LG52PXtOZzoidGltZW91dHMiLHBiOiJ0aW1lb3V0cyIsT2c6MH0sb3Y9e05nOiJlb3BDb3VudCIscGI6ImVuZE9mUGFnZUNvdW50IixPZzowfSxwdj17Tmc6ImVycm9ycyIscGI6ImVycm9ycyIsT2c6MH0scXY9W212LG52LHB2LG92XTtmdW5jdGlvbiBydihhLGIpe2I9Yj09PXZvaWQgMD8xOmI7aWYoIXN2KGEpKXJldHVybnt9O3ZhciBjPXR2KHF2KSxkPWNbYS5wYl07aWYoZD09PXZvaWQgMHx8ZD09PS0xKXJldHVybiBjO3ZhciBlPXt9LGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLChlW2EucGJdPWQrYixlKSk7cmV0dXJuIHV2KGYpP2Y6Y30KZnVuY3Rpb24gdHYoYSl7dmFyIGI7YTp7dmFyIGM9bnIoImdjbF9jdHIiKTtpZihjLmVycm9yPT09MCYmYy52YWx1ZSYmdHlwZW9mIGMudmFsdWU9PT0ib2JqZWN0Iil7dmFyIGQ9Yy52YWx1ZTt0cnl7Yj0idmFsdWUiaW4gZCYmdHlwZW9mIGQudmFsdWU9PT0ib2JqZWN0Ij9kLnZhbHVlOnZvaWQgMDticmVhayBhfWNhdGNoKHApe319Yj12b2lkIDB9Zm9yKHZhciBlPWIsZj17fSxnPW0oYSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aWYoZSYmc3YobCkpe3ZhciBuPWVbbC5OZ107bj09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKG4pP2ZbbC5wYl09LTE6ZltsLnBiXT1OdW1iZXIobil9ZWxzZSBmW2wucGJdPS0xfXJldHVybiBmfQpmdW5jdGlvbiB1dihhLGIpe2I9Ynx8e307Zm9yKHZhciBjPU5iKCksZD11cShiLGMsITApLGU9e30sZj1tKHF2KSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZSxsPWFbaC5wYl07bCE9PXZvaWQgMCYmbCE9PS0xJiYoZVtoLk5nXT1sKX1lLmNyZWF0aW9uVGltZU1zPWM7cmV0dXJuIGtyKCJnY2xfY3RyIix7dmFsdWU6ZSxleHBpcmVzOk51bWJlcihkLmV4cGlyZXMpfSk9PT0wPyEwOiExfWZ1bmN0aW9uIHN2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuZnR8fFlmKGEuZnQpOiExfWZ1bmN0aW9uIHZ2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuQXN8fFlmKGEuQXMpOiExfTtmdW5jdGlvbiB3digpe2lmKHh2KCkpe3ZhciBhPW5yKCJsYXN0X2NvbnZzIik7aWYoYS5lcnJvcj09PTAmJmEudmFsdWUmJnR5cGVvZiBhLnZhbHVlPT09Im9iamVjdCIpe3ZhciBiPWEudmFsdWU7aWYoYi52YWx1ZSYmQXJyYXkuaXNBcnJheShiLnZhbHVlKSl7dmFyIGM9Yi52YWx1ZTtpZighKGMubGVuZ3RoPjEpKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2lmKHR5cGVvZiBnIT09Im9iamVjdCJ8fGc9PT1udWxsfHx0eXBlb2YgZy5yYW5kb20hPT0ibnVtYmVyInx8dHlwZW9mIGcubGFiZWwhPT0ic3RyaW5nInx8Zy5sYWJlbC5sZW5ndGg+MjAwKXJldHVybjtkLnB1c2goe3JhbmRvbTpnLnJhbmRvbSxsYWJlbDpnLmxhYmVsfSl9cmV0dXJuIGR9fX19fQpmdW5jdGlvbiB5dihhLGIpeyF4digpfHxhLmxlbmd0aD4xfHxhLmxlbmd0aD09PTEmJmFbMF0ubGFiZWwubGVuZ3RoPjIwMHx8KGI9Ynx8e30sa3IoImxhc3RfY29udnMiLHt2YWx1ZTphLGV4cGlyZXM6TnVtYmVyKHVxKGIpLmV4cGlyZXMpfSkpfWZ1bmN0aW9uIHh2KCl7cmV0dXJuIEJsKFsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdKSYmWWYoMTEpfTtmdW5jdGlvbiB6dihhKXt2YXIgYj1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7cmV0dXJuIGE/U3RyaW5nKGJebmcoYSkmMjE0NzQ4MzY0Nyk6U3RyaW5nKGIpfWZ1bmN0aW9uIEF2KGEpe3JldHVyblt6dihhKSxNYXRoLnJvdW5kKE5iKCkvMUUzKV0uam9pbigiLiIpfWZ1bmN0aW9uIEJ2KGEsYixjLGQsZSl7dmFyIGY9cnEoYiksZztyZXR1cm4oZz1ncShhLGYsc3EoYyksZCxlKSk9PW51bGw/dm9pZCAwOmcuQ3J9O3ZhciBDdj1bIjEiXSxEdj17fSxFdj17fTtmdW5jdGlvbiBGdihhKXtyZXR1cm4gRXZbR3YoYSldfWZ1bmN0aW9uIEh2KGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9R3YoYS5wcmVmaXgpO2lmKER2W2NdKUl2KGEpLEp2KGEpO2Vsc2UgaWYoS3YoYyxhLnBhdGgsYS5kb21haW4pKXt2YXIgZD1GdihhLnByZWZpeCl8fHtpZDp2b2lkIDAsa2M6dm9pZCAwfTtiJiZMdihhLGQpO0l2KGEpO0p2KGEpfWVsc2V7dmFyIGU9VGooImF1aWRkYyIpO2lmKGUpc2IoIlRBR0dJTkciLDE3KSxEdltjXT1lO2Vsc2UgaWYoYil7dmFyIGY9R3YoYS5wcmVmaXgpLGc9QXYoKTtNdihmLGcsYSk7S3YoYyxhLnBhdGgsYS5kb21haW4pO0l2KGEsITApO0p2KGEsITApfX19CmZ1bmN0aW9uIEl2KGEsYil7KGI9PT12b2lkIDA/MDpiKSYmc3YobXYpJiZvcigiZ2NsX2N0ciIpO2lmKHZ2KG12KSYmdHYoW212XSlbbXYucGJdPT09LTEpe2Zvcih2YXIgYz17fSxkPShjW212LnBiXT0wLGMpLGU9bShxdiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7ZyE9PW12JiZ2dihnKSYmKGRbZy5wYl09MCl9dXYoZCxhKX19ZnVuY3Rpb24gSnYoYSxiKXsoYj09PXZvaWQgMD8wOmIpJiZ4digpJiZvcigibGFzdF9jb252cyIpOyFCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSl8fCFZZigxMil8fHd2KCl8fHl2KFtdLGEpfQpmdW5jdGlvbiBMdihhLGIpe3ZhciBjPUd2KGEucHJlZml4KSxkPUR2W2NdO2lmKGQpe3ZhciBlPWQuc3BsaXQoIi4iKTtpZihlLmxlbmd0aD09PTIpe3ZhciBmPU51bWJlcihlWzFdKXx8MDtpZihmKXt2YXIgZz1kO1lmKDE5KSYmYi5maT9nPWQrIi4iKyhiLnNlc3Npb25JZHx8Ii0uLSIpKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSsiLiIrYi5maSsiLiIrKGIuTGM/Yi5MYzpNYXRoLmZsb29yKE5iKCkvMUUzKSk6Yi5zZXNzaW9uSWQmJihnPWQrIi4iK2Iuc2Vzc2lvbklkKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSk7TXYoYyxnLGEsZioxRTMpfX19fWZ1bmN0aW9uIE12KGEsYixjLGQpe3ZhciBlO2U9WyIxIix0cShjLmRvbWFpbixjLnBhdGgpLGJdLmpvaW4oIi4iKTt2YXIgZj11cShjLGQpO2YuTWM9TnYoKTtvcShhLGUsZil9CmZ1bmN0aW9uIEt2KGEsYixjKXt2YXIgZD1CdihhLGIsYyxDdixOdigpKTtpZighZClyZXR1cm4hMTtPdihhLGQpO3JldHVybiEwfWZ1bmN0aW9uIE92KGEsYil7dmFyIGM9Yi5zcGxpdCgiLiIpO2lmKGMubGVuZ3RoPT09MylFdlthXT17c2Vzc2lvbklkOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2Vsc2UgaWYoYy5sZW5ndGg+PTImJihEdlthXT1jWzBdKyIuIitjWzFdLGMuc2hpZnQoKSxjLnNoaWZ0KCksYy5sZW5ndGg+PTMpKXt2YXIgZD17c2Vzc2lvbklkOmNbMF09PT0iLSI/dm9pZCAwOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2lmKFlmKDE5KSYmYy5sZW5ndGg+PTYpe3ZhciBlPWNbM10rIi4iK2NbNF0sZj1OdW1iZXIoY1s1XSl8fDA7ZSYmZiE9PTAmJihkLmZpPWUsZC5MYz1mKX1FdlthXT1kfX1mdW5jdGlvbiBHdihhKXtyZXR1cm4oYXx8Il9nY2wiKSsiX2F1In0KZnVuY3Rpb24gUHYoYSl7ZnVuY3Rpb24gYigpe0JsKGMpJiZhKCl9dmFyIGM9TnYoKTtIbChmdW5jdGlvbigpe2IoKTtCbChjKXx8SWwoYixjKX0sYyl9ZnVuY3Rpb24gUXYoYSl7dmFyIGI9VXEoITApLGM9R3YoYS5wcmVmaXgpO1B2KGZ1bmN0aW9uKCl7dmFyIGQ9YltjXTtpZihkKXtPdihjLGQpO3ZhciBlPU51bWJlcihEdltjXS5zcGxpdCgiLiIpWzFdKSoxRTM7aWYoZSl7c2IoIlRBR0dJTkciLDE2KTt2YXIgZj11cShhLGUpO2YuTWM9TnYoKTt2YXIgZz1bIjEiLHRxKGEuZG9tYWluLGEucGF0aCksZF0uam9pbigiLiIpO29xKGMsZyxmKX19fSl9ZnVuY3Rpb24gUnYoYSxiLGMsZCxlKXtlPWV8fHt9O3ZhciBmPWZ1bmN0aW9uKCl7dmFyIGc9e30saD1CdihhLGUucGF0aCxlLmRvbWFpbixDdixOdigpKTtoJiYoZ1thXT1oKTtyZXR1cm4gZ307UHYoZnVuY3Rpb24oKXthcihmLGIsYyxkKX0pfQpmdW5jdGlvbiBOdigpe3JldHVyblsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdfTt2YXIgVnY9ImVtYWlsIGVtYWlsX2FkZHJlc3Mgc2hhMjU2X2VtYWlsX2FkZHJlc3MgcGhvbmVfbnVtYmVyIHNoYTI1Nl9waG9uZV9udW1iZXIgZmlyc3RfbmFtZSBsYXN0X25hbWUiLnNwbGl0KCIgIiksV3Y9ImZpcnN0X25hbWUgc2hhMjU2X2ZpcnN0X25hbWUgbGFzdF9uYW1lIHNoYTI1Nl9sYXN0X25hbWUgc3RyZWV0IHNoYTI1Nl9zdHJlZXQgY2l0eSByZWdpb24gY291bnRyeSBwb3N0YWxfY29kZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBYdihhLGIpe2lmKCFiLl90YWdfbWV0YWRhdGEpe2Zvcih2YXIgYz17fSxkPTAsZT0wO2U8YS5sZW5ndGg7ZSsrKWQrPVl2KGFbZV0sYixjKT8xOjA7ZD4wJiYoYi5fdGFnX21ldGFkYXRhPWMpfX0KZnVuY3Rpb24gWXYoYSxiLGMpe3ZhciBkPWJbYV07aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuITE7Y1thXT1BcnJheS5pc0FycmF5KGQpP2QubWFwKGZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImMifX0pOnttb2RlOiJjIn07cmV0dXJuITB9ZnVuY3Rpb24gWnYoYSl7aWYoTSg1MjMpJiZhKXtYdihWdixhKTtmb3IodmFyIGI9QmIoYS5hZGRyZXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107ZCYmWHYoV3YsZCl9dmFyIGU9YS5ob21lX2FkZHJlc3M7ZSYmWHYoV3YsZSl9fQpmdW5jdGlvbiAkdihhLGIsYyl7ZnVuY3Rpb24gZChmLGcpe2c9U3RyaW5nKGcpLnN1YnN0cmluZygwLDEwMCk7ZS5wdXNoKCIiK2YrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX1pZighYylyZXR1cm4iIjt2YXIgZT1bXTtkKCJpIixTdHJpbmcoYSkpO2QoImYiLGIpO2MubW9kZSYmZCgibSIsYy5tb2RlKTtjLmlzUHJlSGFzaGVkJiZkKCJwIiwiMSIpO2MucmF3TGVuZ3RoJiZkKCJyIixTdHJpbmcoYy5yYXdMZW5ndGgpKTtjLm5vcm1hbGl6ZWRMZW5ndGgmJmQoIm4iLFN0cmluZyhjLm5vcm1hbGl6ZWRMZW5ndGgpKTtjLmxvY2F0aW9uJiZkKCJsIixjLmxvY2F0aW9uKTtjLnNlbGVjdG9yJiZkKCJzIixjLnNlbGVjdG9yKTtyZXR1cm4gZS5qb2luKCIuIil9O3ZhciBhdz12b2lkIDA7ZnVuY3Rpb24gYncoKXtpZighYXcpe3ZhciBhPW9tKGptLmJhLm9wLG5ldyBNYXApO2F3PW5ldyBvZyhhKX1yZXR1cm4gYXd9Owp2YXIgY3c9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIGE7Zm9yKHZhciBiPXt9LGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZSE9PSJhZGRyZXNzIiYmZSE9PSJwaG9uZV9udW1iZXIiJiZlIT09InNoYTI1Nl9waG9uZV9udW1iZXIiJiYoYltlXT1hW2VdKX1yZXR1cm4gYn0sZnc9ZnVuY3Rpb24oYSl7dmFyIGI9TSg1MjMpLGM9WyJ0di4xIl0sZD1bInR2ZC4xIl0sZT1kdyhhKTtpZihlKXJldHVybiBjLnB1c2goZSkse2hhc1VwZDohMSxPbzpjLmpvaW4oIn4iKSxZbjpjLmpvaW4oIn4iKSxlbmNyeXB0aW9uS2V5U3RyaW5nOnZvaWQgMCxpaTp7fSxtZXRhZGF0YVBhcmFtOmI/ZC5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZj17fSxnPTA7dmFyIGg9MCxsPWV3KGEsZnVuY3Rpb24ocSxyLHQpe2grKzt2YXIgdT1xLnZhbHVlLHY7CmlmKHQpe3ZhciB4PXIrIl9fIitnKys7dj0iJHt1c2VyRGF0YS4iK3grInxzaGEyNTZ9IjtmW3hdPXV9ZWxzZSB2PWVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodSkpO3EuaW5kZXghPT12b2lkIDAmJihyKz1xLmluZGV4KTtjLnB1c2gocisiLiIrdik7aWYoYil7dmFyIHk9JHYoaCxyLHEubWV0YWRhdGEpO3kmJmQucHVzaCh5KX19KS5oYXNVcGQsbj1kLmpvaW4oIn4iKTt2YXIgcD1jLmpvaW4oIn4iKTtyZXR1cm57aGFzVXBkOmwsT286cCxpaTp7dXNlckRhdGE6Zn0sWW46InR2LjF+JHsiKyhwKyJ8IisoTSg1NTUpPyJlbmNyeXB0X3dpdGhfbWVtbyI6ImVuY3J5cHQiKSsifSIpLGVuY3J5cHRpb25LZXlTdHJpbmc6RSg0MyksbWV0YWRhdGFQYXJhbTpiP246dm9pZCAwfX0saHc9ZnVuY3Rpb24oYSl7aWYoIShhIT1udWxsJiZPYmplY3Qua2V5cyhhKS5sZW5ndGg+MCkpcmV0dXJuITE7CnZhciBiPWd3KGEpO3JldHVybiBldyhiLGZ1bmN0aW9uKCl7fSkuaGFzVXBkfSxldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306Yjtmb3IodmFyIGM9ITEsZD0hMSxlPW0oYSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZy52YWx1ZSl7dmFyIGg9aXdbZy5uYW1lXTtpZihoKXt2YXIgbD1qdyhnKTtsJiYoYz0hMCk7ZD0hMDtiKGcsaCxsKX19fXJldHVybntoYXNVcGQ6ZCxoYXNVcGRUb0hhc2g6Y319LGp3PWZ1bmN0aW9uKGEpe3ZhciBiPWt3KGEubmFtZSksYz0vXmVcZCskLy50ZXN0KGEudmFsdWUpLGQ7aWYoZD1iJiYhYyl7dmFyIGU9YS52YWx1ZTtkPSEobHcudGVzdChlKXx8eWkudGVzdChlKSl9cmV0dXJuIGR9LGt3PWZ1bmN0aW9uKGEpe3JldHVybiBtdy5pbmRleE9mKGEpIT09LTF9LHN3PWZ1bmN0aW9uKGEsYixjKXtpZih5YihBLlByb21pc2UpKXRyeXt2YXIgZD0hMTt2YXIgZT1ndyhhLGQpLGY9bncoZSkudGhlbihmdW5jdGlvbihoKXt2YXIgbD1oLnliLG49bC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIVNiKHEubmFtZSwicmF3Iil9KSxwPW93KHt5YjpufSk7cmV0dXJue3Jlc3VsdDp7cGFyYW06cC5wYXJhbSxoYXNVcGRUb0hhc2g6cC5oYXNVcGRUb0hhc2gsaGFzVXBkOnAuaGFzVXBkLGhhZEVycm9yOnAuaGFkRXJyb3IsbWV0YWRhdGFQYXJhbTpwLm1ldGFkYXRhUGFyYW19LHliOmx9fSk7cmV0dXJuIGYudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXN1bHR9KX1jYXRjaChoKXt9fSxxdz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9LG93PWZ1bmN0aW9uKGEpe3ZhciBiPU0oNTIzKSxjPWEueWIsZD1bInR2LjEiXSxlPVsidHZkLjEiXSxmPWR3KGMpO2lmKGYpcmV0dXJuIGQucHVzaChmKSx7cGFyYW06ZC5qb2luKCJ+IiksaGFzVXBkVG9IYXNoOiExLGhhc1VwZDohMSxoYWRFcnJvcjohMCxtZXRhZGF0YVBhcmFtOmI/ZS5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZz1jLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4hancocSl9KSxoPTAsbD1ldyhnLGZ1bmN0aW9uKHEscil7aCsrO3ZhciB0PXEudmFsdWUsdT1xLmluZGV4O3UhPT12b2lkIDAmJihyKz11KTtkLnB1c2gocisiLiIrdCk7aWYoYil7dmFyIHY9JHYoaCxyLHEubWV0YWRhdGEpO3YmJmUucHVzaCh2KX19KSxuPWwuaGFzVXBkVG9IYXNoLHA9bC5oYXNVcGQ7cmV0dXJue3BhcmFtOmVuY29kZVVSSUNvbXBvbmVudChkLmpvaW4oIn4iKSksCmhhc1VwZFRvSGFzaDpuLGhhc1VwZDpwLGhhZEVycm9yOiExLG1ldGFkYXRhUGFyYW06Yj9lLmpvaW4oIn4iKTp2b2lkIDB9fSxkdz1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTEmJmFbMF0ubmFtZT09PSJlcnJvcl9jb2RlIilyZXR1cm4gaXcuZXJyb3JfY29kZSsiLiIrYVswXS52YWx1ZX0scHc9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xJiZhWzBdLm5hbWU9PT0iZXJyb3JfY29kZSIpcmV0dXJuITE7Zm9yKHZhciBiPW0oYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWU7aWYoaXdbZC5uYW1lXSYmZC52YWx1ZSlyZXR1cm4hMH1yZXR1cm4hMX0sZ3c9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1bXTtpZihBLmxvY2F0aW9uLnByb3RvY29sIT09Imh0dHBzOiIpcmV0dXJuIGMucHVzaCh7bmFtZToiZXJyb3JfY29kZSIsdmFsdWU6ImUzIixpbmRleDp2b2lkIDB9KSxjO3ZhciBkPWMucHVzaCxlPWQuYXBwbHksZj1bXSwKZz1mLmNvbmNhdCxoLGw9YS5fdGFnX21ldGFkYXRhfHx7fTtoPVtdLmNvbmNhdCh3KHR3KHtuYW1lOiJlbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzcyxhYjpsLmVtYWlsLG1kOmwuc2hhMjU2X2VtYWlsX2FkZHJlc3N9LHV3KSksdyh0dyh7bmFtZToicGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyLGFiOmwucGhvbmVfbnVtYmVyLG1kOmwuc2hhMjU2X3Bob25lX251bWJlcn0sdncpKSk7dmFyIG49dyhoKSxwLHE9YS5fdGFnX21ldGFkYXRhfHx7fSxyPWEuaG9tZV9hZGRyZXNzfHx7fSx0PXIuX3RhZ19tZXRhZGF0YXx8e307cD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIscmF3OmEuZmlyc3RfbmFtZSxTYTphLnNoYTI1Nl9maXJzdF9uYW1lLGFiOnEuZmlyc3RfbmFtZSxtZDpxLnNoYTI1Nl9maXJzdF9uYW1lfSx3dyh4dykpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzphLmxhc3RfbmFtZSwKU2E6YS5zaGEyNTZfbGFzdF9uYW1lLGFiOnEubGFzdF9uYW1lLG1kOnEuc2hhMjU2X2xhc3RfbmFtZX0sd3coeHcpKSksdyh0dyh7bmFtZToic3RyZWV0IixyYXc6ci5zdHJlZXQsU2E6ci5zaGEyNTZfc3RyZWV0LGFiOnQuc3RyZWV0LG1kOnQuc2hhMjU2X3N0cmVldH0sd3coeXcpKSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnIuY2l0eSxhYjp0LmNpdHl9LHd3KHl3KSkpLHcodHcoe25hbWU6InBvc3RhbF9jb2RlIixyYXc6ci5wb3N0YWxfY29kZSxhYjp0LnBvc3RhbF9jb2RlfSx3dyh6dykpKSx3KHR3KHtuYW1lOiJyZWdpb24iLHJhdzpyLnJlZ2lvbixhYjp0LnJlZ2lvbn0sd3coeXcpKSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnIuY291bnRyeSxhYjp0LmNvdW50cnl9LHd3KHp3KSkpKTtmb3IodmFyIHU9dyhwKSx2PVtdLHg9QmIoYS5hZGRyZXNzfHx7fSkseT0wO3k8eC5sZW5ndGg7eSsrKXtmb3IodmFyIHo9eFt5XSxDPXouX3RhZ19tZXRhZGF0YXx8e30sRD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIsCnJhdzp6LmZpcnN0X25hbWUsU2E6ei5zaGEyNTZfZmlyc3RfbmFtZSxhYjpDLmZpcnN0X25hbWUsbWQ6Qy5zaGEyNTZfZmlyc3RfbmFtZX0seHcpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzp6Lmxhc3RfbmFtZSxTYTp6LnNoYTI1Nl9sYXN0X25hbWUsYWI6Qy5sYXN0X25hbWUsbWQ6Qy5zaGEyNTZfbGFzdF9uYW1lfSx4dykpLHcodHcoe25hbWU6InN0cmVldCIscmF3Onouc3RyZWV0LFNhOnouc2hhMjU2X3N0cmVldCxhYjpDLnN0cmVldCxtZDpDLnNoYTI1Nl9zdHJlZXR9LHl3KSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnouY2l0eSxhYjpDLmNpdHl9LHl3KSksdyh0dyh7bmFtZToicG9zdGFsX2NvZGUiLHJhdzp6LnBvc3RhbF9jb2RlLGFiOkMucG9zdGFsX2NvZGV9LHp3KSksdyh0dyh7bmFtZToicmVnaW9uIixyYXc6ei5yZWdpb24sYWI6Qy5yZWdpb259LHl3KSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnouY291bnRyeSxhYjpDLmNvdW50cnl9LHp3KSkpLEk9MDtJPApELmxlbmd0aDtJKyspRFtJXS5pbmRleD15O3YucHVzaC5hcHBseSh2LHcoRCkpfWUuY2FsbChkLGMsZy5jYWxsKGYsbix1LHcodikpKTtpZihiJiZCcCgpKXt2YXIgRz1jLnB1c2gsTj1HLmFwcGx5LFM9W107Uy5wdXNoLmFwcGx5KFMsW10uY29uY2F0KHcoQXcoe25hbWU6InJhd19lbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzc30pKSx3KEF3KHtuYW1lOiJyYXdfcGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyfSkpKSk7Zm9yKHZhciBXPUJiKGEuYWRkcmVzc3x8e30pLGVhPTA7ZWE8Vy5sZW5ndGg7ZWErKyl7dmFyIGphPVdbZWFdO1MucHVzaC5hcHBseShTLFtdLmNvbmNhdCh3KEF3KHtuYW1lOiJyYXdfZmlyc3RfbmFtZSIscmF3OmphLmZpcnN0X25hbWUsU2E6amEuc2hhMjU2X2ZpcnN0X25hbWV9LGVhKSksdyhBdyh7bmFtZToicmF3X2xhc3RfbmFtZSIscmF3OmphLmxhc3RfbmFtZSxTYTpqYS5zaGEyNTZfbGFzdF9uYW1lfSwKZWEpKSx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6amEuc3RyZWV0LFNhOmphLnNoYTI1Nl9zdHJlZXR9LGVhKSkpKX1pZihhLmZpcnN0X25hbWV8fGEuaG9tZV9hZGRyZXNzKXtTLnB1c2guYXBwbHkoUyxbXS5jb25jYXQodyhBdyh7bmFtZToicmF3X2ZpcnN0X25hbWUiLHJhdzphLmZpcnN0X25hbWUsU2E6YS5zaGEyNTZfZmlyc3RfbmFtZX0pKSx3KEF3KHtuYW1lOiJyYXdfbGFzdF9uYW1lIixyYXc6YS5sYXN0X25hbWUsU2E6YS5zaGEyNTZfbGFzdF9uYW1lfSkpKSk7dmFyIGZhPWEuaG9tZV9hZGRyZXNzfHx7fTtTLnB1c2guYXBwbHkoUyx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6ZmEuc3RyZWV0LFNhOmZhLnNoYTI1Nl9zdHJlZXR9KSkpfU4uY2FsbChHLGMsdyhTKSl9cmV0dXJuIGN9LHd3PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtQKDY0KTtyZXR1cm4gYShiKX19LEF3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107aWYoYS5TYSlyZXR1cm4gYztmb3IodmFyIGQ9CkJiKGEucmF3KSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPUJ3KGRbZV0pO2lmKGYmJiF5aS50ZXN0KGYpKWlmKC9eZVxkKyQvLnRlc3QoZikpYy5wdXNoKHtuYW1lOmEubmFtZSx2YWx1ZTpmLGluZGV4OmJ9KTtlbHNle3ZhciBnPWMsaD1nLnB1c2gsbD1hLm5hbWUsbjt2YXIgcD1BO3RyeXtuPUJpKEFycmF5LmZyb20oWmIoZikpLHApfWNhdGNoKHEpe249ImUwIn1oLmNhbGwoZyx7bmFtZTpsLHZhbHVlOm4saW5kZXg6Yn0pfX1yZXR1cm4gY30sdHc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPU0oNTIzKSxlPWEucmF3LGY9ZD9hLmFiOnZvaWQgMDtDdyhlLCExKTthLlNhJiYoZSYmUCg5MCksZT1hLlNhLGY9ZD9hLm1kOnZvaWQgMCxDdyhlLCEwKSk7Zm9yKHZhciBnPUJiKGUpLGg9QmIoZiksbD0wO2w8Zy5sZW5ndGg7KytsKXt2YXIgbjt2YXIgcD1hLm5hbWUscT1iLHI9aFtsXSx0PUJ3KGdbbF0pO2lmKHQhPT0iIilpZih5aS50ZXN0KHQpKXtyJiYoci5pc1ByZUhhc2hlZD0hMCk7CnZhciB1PXtuYW1lOnAsdmFsdWU6dCxpbmRleDp2b2lkIDB9O3ImJih1Lm1ldGFkYXRhPXIpO249dX1lbHNle3ZhciB2PXEodCkseD17bmFtZTpwLHZhbHVlOnYsaW5kZXg6dm9pZCAwfTtyJiYoeC5tZXRhZGF0YT1yLHYmJihyLnJhd0xlbmd0aD1TdHJpbmcodCkubGVuZ3RoLHIubm9ybWFsaXplZExlbmd0aD12Lmxlbmd0aCkpO249eH1lbHNlIG49dm9pZCAwO3ZhciB5PW47eSYmYy5wdXNoKHkpfXJldHVybiBjfSxDdz1mdW5jdGlvbihhLGIpe2lmKHpiKGEpfHxBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz1CYihhKSxkPTA7ZDxjLmxlbmd0aDsrK2Qpe3ZhciBlPUJ3KGNbZF0pLGY9eWkudGVzdChlKTtiJiYhZiYmUCg4OSk7IWImJmYmJlAoODgpfX0sRHc9ZnVuY3Rpb24oYSl7dmFyIGI9YT9ndyhhKTpbXTtyZXR1cm4gb3coe3liOmJ9KX0sRXc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEhPW51bGwmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wJiZ5YihBLlByb21pc2UpP2d3KGEpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudmFsdWUmJgprdyhiLm5hbWUpJiYheWkudGVzdChiLnZhbHVlKX0pOiExfSxCdz1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjp6YihhKT9MYihTdHJpbmcoYSkpOiJlMCJ9LHp3PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoRncsIiIpfSx4dz1mdW5jdGlvbihhKXtyZXR1cm4geXcoYS5yZXBsYWNlKC9ccy9nLCIiKSl9LHl3PWZ1bmN0aW9uKGEpe3JldHVybiBMYihhLnJlcGxhY2UoR3csIiIpLnRvTG93ZXJDYXNlKCkpfSx2dz1mdW5jdGlvbihhKXthPWEucmVwbGFjZSgvW1xzLSgpLy5dL2csIiIpO2EuY2hhckF0KDApIT09IisiJiYoYT0iKyIrYSk7cmV0dXJuKE0oNTk3KT9IdzpJdykudGVzdChhKT9hOiJlMCJ9LHV3PWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoPT09Mil7dmFyIGM9YlswXTsvXihnbWFpbHxnb29nbGVtYWlsKVwuLy50ZXN0KGJbMV0pJiYoYz1jLnJlcGxhY2UoL1wuL2csIiIpKTtjPWMrIkAiK2JbMV07aWYoSncudGVzdChjKSlyZXR1cm4gY31yZXR1cm4iZTAifSwKS3c9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24oYil7Yi52YWx1ZSYma3coYi5uYW1lKSYmKGIudmFsdWU9RGkoYi52YWx1ZSkpfSkse3liOmF9fWNhdGNoKGIpe3JldHVybnt5YjpbXX19fSxudz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiLnZhbHVlJiZrdyhiLm5hbWUpfSk/eWIoQS5Qcm9taXNlKT9Qcm9taXNlLmFsbChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi52YWx1ZSYma3coYi5uYW1lKT9BaShiLnZhbHVlKS50aGVuKGZ1bmN0aW9uKGMpe2IudmFsdWU9Y30pOlByb21pc2UucmVzb2x2ZSgpfSkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm57eWI6YX19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt5YjpbXX19KTp7dGhlbjpmdW5jdGlvbihiKXtiKHt5YjpbXX0pfX06UHJvbWlzZS5yZXNvbHZlKHt5YjphfSl9LEd3PS9bMC05YH4hQCMkJV4mKigpX1wtKz06Ozw+LC4/fC9cXFtcXV0vZyxKdz0vXlxTK0BcUytcLlxTKyQvLApJdz0vXlwrXGR7MTAsMTV9JC8sSHc9L15cK1xkezcsMTV9JC8sRnc9L1sufl0vZyxsdz0vXlswLTlBLVphLXpfLV17NDN9JC8sTHc9WyJyZW0iLCJycG4iLCJyZm4iLCJybG4iLCJyc2EiXSxNdz17fSxpdz0oTXcuZW1haWw9ImVtIixNdy5waG9uZV9udW1iZXI9InBuIixNdy5maXJzdF9uYW1lPSJmbiIsTXcubGFzdF9uYW1lPSJsbiIsTXcuc3RyZWV0PSJzYSIsTXcuY2l0eT0iY3QiLE13LnJlZ2lvbj0icmciLE13LmNvdW50cnk9ImNvIixNdy5wb3N0YWxfY29kZT0icGMiLE13LmVycm9yX2NvZGU9ImVjIixNdy5yYXdfZW1haWw9InJlbSIsTXcucmF3X3Bob25lX251bWJlcj0icnBuIixNdy5yYXdfZmlyc3RfbmFtZT0icmZuIixNdy5yYXdfbGFzdF9uYW1lPSJybG4iLE13LnJhd19zdHJlZXQ9InJzYSIsTXcpO3ZhciBtdz1PYmplY3QuZnJlZXplKFsiZW1haWwiLAoicGhvbmVfbnVtYmVyIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInN0cmVldCJdKTt2YXIgbXg9T2JqZWN0LmZyZWV6ZSh7YXR0cmlidXRpb25zcmM6IiJ9KSxueD1PYmplY3QuZnJlZXplKHtldmVudFNvdXJjZUVsaWdpYmxlOiExLHRyaWdnZXJFbGlnaWJsZTohMH0pO2Z1bmN0aW9uIG94KCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO3JldHVybiBhJiZ5YihhLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKX07dmFyIHB4PU9iamVjdC5mcmVlemUoe2NhY2hlOiJuby1zdG9yZSIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLG1ldGhvZDoiR0VUIixrZWVwYWxpdmU6ITAscmVkaXJlY3Q6ImZvbGxvdyJ9KTsKZnVuY3Rpb24gcXgoYSxiLGMsZCxlLGYpe2lmKCF5YihBLmZldGNoKSlyZXR1cm4gZj09bnVsbHx8Zih2b2lkIDAsdm9pZCAwKSwhMTt2YXIgZz1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHB4KTtiJiYoZy5ib2R5PWIsZy5tZXRob2Q9IlBPU1QiKTtuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGcsZCk7QS5mZXRjaChhLGcpLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5vayl7aWYoaC5ib2R5KXt2YXIgbD1oLmJvZHkuZ2V0UmVhZGVyKCksbj1uZXcgVGV4dERlY29kZXI7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe2Z1bmN0aW9uIHEoKXtsLnJlYWQoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciB0O3Q9ci5kb25lO3ZhciB1PW4uZGVjb2RlKHIudmFsdWUse3N0cmVhbTohdH0pO3U9Yy5SK3U7Zm9yKHZhciB2PXUuaW5kZXhPZigiXG5cbiIpO3YhPT0tMTspe3ZhciB4PVpnLHk7YTp7dmFyIHo9bSh1LnN1YnN0cmluZygwLHYpLnNwbGl0KCJcbiIpKSxDPQp6Lm5leHQoKS52YWx1ZSxEPXoubmV4dCgpLnZhbHVlO2lmKFNiKEMsImV2ZW50OiBtZXNzYWdlIikmJlNiKEQsImRhdGE6ICIpKXt2YXIgST1ELnN1YnN0cmluZyg2KTt0cnl7eT1KU09OLnBhcnNlKEkpO2JyZWFrIGF9Y2F0Y2goRyl7fX15PXZvaWQgMH14KGMseSk7dT11LnN1YnN0cmluZyh2KzIpO3Y9dS5pbmRleE9mKCJcblxuIil9Yy5SPXU7dD8oZT09bnVsbHx8ZShoKSxwKCkpOnEoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZT09bnVsbHx8ZShoKTtwKCl9KX1xKCl9KX1lPT1udWxsfHxlKGgpfWVsc2UgZj09bnVsbHx8ZihoLHZvaWQgMCl9KS5jYXRjaChmdW5jdGlvbihoKXtmPT1udWxsfHxmKHZvaWQgMCxoKX0pO3JldHVybiEwfTt2YXIgcng9ZnVuY3Rpb24oYSl7aHUuY2FsbCh0aGlzLCJGZXRjaFJpY2hSZXNwb25zZSIsMSk7dGhpcy5OPWF9O3dhKHJ4LGh1KTtyeC5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4geWIoQS5mZXRjaCl9O3J4LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3J4LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtxeChiLGM9PW51bGw/dm9pZCAwOmMuYm9keSx0aGlzLk4sYz09bnVsbD92b2lkIDA6Yy5HYixhLnBlLGZ1bmN0aW9uKGQsZSl7YS5vbkZhaWx1cmUoZSl9KX07dmFyIEN4PWZ1bmN0aW9uKCl7WWcuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt3YShDeCxZZyk7Q3gucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXtaYyhhLHZvaWQgMCwkZyh0aGlzLGIpLGIuYXR0cmlidXRpb25fcmVwb3J0aW5nJiZveCgpP214Ont9KX07Q3gucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmF0dHJpYnV0aW9uX3JlcG9ydGluZyYmb3goKT97YXR0cmlidXRpb25SZXBvcnRpbmc6bnh9Ont9LGQ9JGcodGhpcyxiKTtiLnByb2Nlc3NfcmVzcG9uc2U/cXgoYSx2b2lkIDAsdGhpcyxjLHZvaWQgMCxkKTptZChhLHZvaWQgMCxjLHZvaWQgMCxkKX07dmFyIFF4PWZ1bmN0aW9uKGEsYil7dGhpcy5IPWE7dGhpcy50aW1lb3V0TXM9Yjt0aGlzLlJiPXZvaWQgMH0sUng9ZnVuY3Rpb24oYSl7YS5SYnx8KGEuUmI9c2V0VGltZW91dChmdW5jdGlvbigpe2EuSCgpO2EuUmI9dm9pZCAwfSxhLnRpbWVvdXRNcykpfSxUbj1mdW5jdGlvbihhKXthLlJiJiYoY2xlYXJUaW1lb3V0KGEuUmIpLGEuUmI9dm9pZCAwKX07dmFyIFN4PWZ1bmN0aW9uKCl7dmFyIGE9TmYoNjYsMCk7dGhpcy5LPVtdO3RoaXMuUj1hO3RoaXMuSD1ZYSgpfSxVeD1mdW5jdGlvbihhKXt2YXIgYj1UeDtiLksucHVzaChhKTtiLk58fChiLk49ZnVuY3Rpb24oKXtmb3IodmFyIGM9bShiLkspLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO3RyeXtlKCl9Y2F0Y2gobCl7fX1mb3IodmFyIGY9bShiLkgudmFsdWVzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD12b2lkIDA7KGg9Zy52YWx1ZS53ZSk9PW51bGx8fFRuKGgpfWIuSC5jbGVhcigpfSwkYyhBLCJwYWdlaGlkZSIsYi5OKSl9LFZ4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goTW4pWzNdfHxudWxsLGM9KGI/ZGVjb2RlVVJJKGIpOmIpfHwiIixkPVBuKGEsImxhYmVsIil8fCIiLGU9UG4oYSwicmFuZG9tIil8fCIiO3JldHVybiBjKyI6IitMbihkKSsiOiIrTG4oZSl9LFd4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UeCwKZT1WeChhKTtpZighKGQuSC5oYXMoZSl8fGQuSC5zaXplPj1kLlIpKXt2YXIgZj17fTtiJiZiPjAmJmMmJihmLndlPW5ldyBReChjLGIpKTtkLkguc2V0KGUsZik7dmFyIGc7KGc9Zi53ZSk9PW51bGx8fFJ4KGcpfX0sVW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1WeChiKSxkLGU7KGQ9YS5ILmdldChjKSk9PW51bGx8fChlPWQud2UpPT1udWxsfHxUbihlKTthLkguZGVsZXRlKGMpfTtTeC5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguc2l6ZX07dmFyIGRnO2Z1bmN0aW9uIGh5KGEsYil7dmFyIGM7KGM9ZGcpPT1udWxsfHwkZihjLkgsYSxiKX07dmFyIGl5PUFhKFsiLyJdKSxqeT1mdW5jdGlvbihhKXt0aGlzLkg9YTt0aGlzLmZhaWx1cmVUeXBlPXZvaWQgMH07ankucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXt0cnl7dmFyIGQ9dGhpcy5ILmFjdGl2ZTtkPyhkLnBvc3RNZXNzYWdlKHt0eXBlOjEsY29tbWFuZDphfSksYih7ZGF0YToiIn0pKTpjKHtmYWlsdXJlVHlwZToxMyxkYXRhOiIifSl9Y2F0Y2goZSl7Yyh7ZmFpbHVyZVR5cGU6MTEsZGF0YTplLm1lc3NhZ2V9KX19O3ZhciBreT1mdW5jdGlvbihhLGIpe3RoaXMuZmFpbHVyZVR5cGU9YTt0aGlzLkg9Yn07a3kucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXtjKHtmYWlsdXJlVHlwZTp0aGlzLmZhaWx1cmVUeXBlLGRhdGE6ImYiK3RoaXMuZmFpbHVyZVR5cGUrKCJ0IisoKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5IKSl9KX07CnZhciBueT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuaW5pdFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5IPW5ldyBreSgxNSx0aGlzLmluaXRUaW1lKTt2YXIgYz1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LDIwKX0pLGQ9bHkoYSkudGhlbihmdW5jdGlvbihlKXtiLkg9bmV3IGp5KGUpO215KGIsZSl9KS5jYXRjaChmdW5jdGlvbigpe2IuSD1uZXcga3koNCxiLmluaXRUaW1lKX0pO3RoaXMuSz1Qcm9taXNlLnJhY2UoW2MsZF0pfSxteT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQpe2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoZC5zdGF0ZT09PSJyZWR1bmRhbnQiKXt2YXIgZT1iLmFjdGl2ZTtlJiZlLnN0YXRlIT09InJlZHVuZGFudCJ8fChhLkg9bmV3IGt5KDEwLGEuaW5pdFRpbWUpKX19KX07YyhiLmFjdGl2ZSk7YyhiLndhaXRpbmcpO2MoYi5pbnN0YWxsaW5nKTsKYi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsZnVuY3Rpb24oKXtjKGIuaW5zdGFsbGluZyl9KX07bnkucHJvdG90eXBlLmRlbGVnYXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSy50aGVuKGZ1bmN0aW9uKCl7ZC5ILmlvKGEsYixjKX0pfTtueS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gMn07CnZhciBseT1mdW5jdGlvbihhKXt2YXIgYixjPUxmKDExKTtjPUxmKDEwKTtiPWM7dmFyIGQ9e3Njb3BlOihUYihhLmhyZWYsIi8iKT9hLmhyZWYuc2xpY2UoMCwtMSk6YS5ocmVmKSsiL18vc2VydmljZV93b3JrZXIifTtiJiYoZC51cGRhdGVWaWFDYWNoZT0iYWxsIik7dmFyIGUsZj1veShhLGIpLGc9bmV3IE1hcChbWyJwYXRoIixhLnBhdGhuYW1lXV0pLGg9SnAoa2MoZikudG9TdHJpbmcoKSk7ZT1McChoLnprLGgucGFyYW1zLGguZnJhZ21lbnQsZyk7dmFyIGw9SWMoKSxuPWtjKGUpO3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLGQpfWNhdGNoKHApe3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLnRvU3RyaW5nKCksZCl9Y2F0Y2gocSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHEpfX19OwpmdW5jdGlvbiBveShhLGIpe2Zvcih2YXIgYz1LcChpeSksZD1hLnBhdGhuYW1lLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiBoLmxlbmd0aD4wfSksZT1bXS5jb25jYXQodyhkKSxbIl8iLCJzZXJ2aWNlX3dvcmtlciIsYiwic3cuanMiXSksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWM9TXAoYyxnLnZhbHVlKTtyZXR1cm4gY307ZnVuY3Rpb24gcHkoYSl7dmFyIGI9bm0oam0uYmEuT2gpLGM9Yj09bnVsbD92b2lkIDA6YlthXTtjfHxhIT09ImxpdGUifHwoYz1iPT1udWxsP3ZvaWQgMDpiLmZ1bGwpO3JldHVybiBjfXZhciBxeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cHkoImZ1bGwiKTtkP2QuZGVsZWdhdGUoYSxiLGMpOmMoe2ZhaWx1cmVUeXBlOjE2fSl9O2Z1bmN0aW9uIHJ5KGEsYixjLGQsZSl7cXkoe2NvbW1hbmRUeXBlOjAscGFyYW1zOnt1cmw6YSxtZXRob2Q6MSx0ZW1wbGF0ZXM6Yixib2R5OiIiLHByb2Nlc3NSZXNwb25zZTohMSxlbmNyeXB0aW9uS2V5U3RyaW5nOmUsc29SZWZlcnJlcjpBLmxvY2F0aW9uLmhyZWZ9fSxjLGZ1bmN0aW9uKGYpe2QoZi5mYWlsdXJlVHlwZSxmLmRhdGEpfSl9O3ZhciBEeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPTA7dGhpcy5LPSExO00oNDYyKSYmVW0oImZzIixmdW5jdGlvbigpe3JldHVybiBhLkg+MCYmYS5IPDU/U3RyaW5nKGEuSCk6dm9pZCAwfSwhMSl9LEV5O2Z1bmN0aW9uIEZ5KGEsYil7RXl8fChFeT1uZXcgRHkpO3ZhciBjPUV5O00oNDYyKSYmZm4uSyYmKGI9PT0iZ3RtLmZvcm1TdWJtaXQifHxiPT09ImZvcm1fc3VibWl0IiYmSWYoNDUpKSYmKGE9PT0xfHxjLkspJiYoYy5LPSEwLGMuSD1hLGEhPT01P1ZtKCJmcyIpOlFtLkguZnM9ITEpfTt2YXIgR3k9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5kYSk9PT1YLlYuS2Epe3ZhciBiPWZ1KGEpO2lmKCFNKDQyNykmJihqcChhLGIpfHxRKGEsSC5KLmhkKSkmJlhvKGZwKSl7dmFyIGM9bHAoYSxiKTtpZihjKXt2YXIgZD1ObSg2OSxjKTtUbChkLGEsNjkpO1luKHtkZXN0aW5hdGlvbklkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQsZW5kcG9pbnQ6NjksZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKX19dmFyIGU9eWIoYS5NLm9uU3VjY2Vzcyk/YS5NLm9uU3VjY2Vzczp4YjskdShhLGIpO2UoKX19O3ZhciBIeT17WDp7V3E6MCxFazoxLFpnOjIsWGs6MyxtaTo0LFZrOjUsV2s6NixZazo3LG5pOjgsdG06OSxzbToxMCxUaToxMSx2bToxMixCaDoxMyxFbToxNCxpajoxNSxTcToxNixqZDoxNyx1ajoxOCx2ajoxOSx3ajoyMCxDbjoyMSx4ajoyMn19O0h5LlhbSHkuWC5XcV09IlJFU0VSVkVEX1pFUk8iO0h5LlhbSHkuWC5Fa109IkFEU19DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLlpnXT0iQ09OVEFJTkVSX0VYRUNVVEVfU1RBUlQiO0h5LlhbSHkuWC5Ya109IkNPTlRBSU5FUl9TRVRVUF9FTkQiO0h5LlhbSHkuWC5taV09IkNPTlRBSU5FUl9TRVRVUF9TVEFSVCI7SHkuWFtIeS5YLlZrXT0iQ09OVEFJTkVSX0JMT0NLSU5HX0VORCI7SHkuWFtIeS5YLldrXT0iQ09OVEFJTkVSX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlguWWtdPSJDT05UQUlORVJfWUlFTERfRU5EIjtIeS5YW0h5LlgubmldPSJDT05UQUlORVJfWUlFTERfU1RBUlQiO0h5LlhbSHkuWC50bV09IkVWRU5UX0VYRUNVVEVfRU5EIjsKSHkuWFtIeS5YLnNtXT0iRVZFTlRfRVZBTFVBVElPTl9FTkQiO0h5LlhbSHkuWC5UaV09IkVWRU5UX0VWQUxVQVRJT05fU1RBUlQiO0h5LlhbSHkuWC52bV09IkVWRU5UX1NFVFVQX0VORCI7SHkuWFtIeS5YLkJoXT0iRVZFTlRfU0VUVVBfU1RBUlQiO0h5LlhbSHkuWC5FbV09IkdBNF9DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLmlqXT0iUEFHRV9MT0FEIjtIeS5YW0h5LlguU3FdPSJQQUdFVklFVyI7SHkuWFtIeS5YLmpkXT0iU05JUFBFVF9MT0FEIjtIeS5YW0h5LlgudWpdPSJUQUdfQ0FMTEJBQ0tfRVJST1IiO0h5LlhbSHkuWC52al09IlRBR19DQUxMQkFDS19GQUlMVVJFIjtIeS5YW0h5Llgud2pdPSJUQUdfQ0FMTEJBQ0tfU1VDQ0VTUyI7SHkuWFtIeS5YLkNuXT0iVEFHX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlgueGpdPSJUQUdfRVhFQ1VURV9TVEFSVCI7dmFyIEl5PXt9O0l5Llg9SHkuWDt2YXIgSnk9e1J1OiJMIixYcToiUyIsa3Y6IlkiLFJ0OiJCIixudToiRSIsTnU6IkkiLGZ2OiJUQyIsdnU6IkhUQyIsb3U6IkYiLE11OiJDIn0sS3k9e1hxOiJTIixsdToiViIsYXU6IkUiLGR2OiJ0YWcifSxMeT17fSxNeT0oTHlbSXkuWC52al09IjYiLEx5W0l5Llgud2pdPSI1IixMeVtJeS5YLnVqXT0iNyIsTHkpO2Z1bmN0aW9uIE55KGEpe3ZhciBiPUUoNSksYz1OdW1iZXIoYS5ldmVudElkKSxkPU51bWJlcihhLnRhZ0lkKTtyZXR1cm4oU2IoYiwiR1RNLSIpP2I6IkdUTS0iK2IpKyI6IisoQWIoYyk/YysiOiI6IiIpKyhBYihkKT9kKyI6IjoiIikrYS5zdGFnZX07ZnVuY3Rpb24gT3koKXt2YXIgYT1yZCgpO3JldHVybiEhKGEmJmEubWFyayBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZhLm1lYXN1cmUgaW5zdGFuY2VvZiBGdW5jdGlvbiYmYS5jbGVhck1lYXN1cmVzIGluc3RhbmNlb2YgRnVuY3Rpb24mJmEuY2xlYXJNYXJrcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKX07dmFyIFB5PWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSxReTtmdW5jdGlvbiBSeSgpe1F5fHwoUXk9bmV3IFB5KTtyZXR1cm4gUXl9ZnVuY3Rpb24gU3koYSl7dmFyIGI9UnkoKSxjPU55KGEpO3JldHVybiBiLkhbY119ZnVuY3Rpb24gVHkoYSxiKXt2YXIgYzthOnt2YXIgZD1SeSgpO2lmKE95KCkpe3ZhciBlPU55KGEpLGYsZztpZihmPShnPXJkKCkpPT1udWxsP3ZvaWQgMDpnLm1hcmsoZSxiKSl7Yz1kLkhbZV09ZjticmVhayBhfX1jPXZvaWQgMH1yZXR1cm4gY307ZnVuY3Rpb24gVXkoYSxiKXtpZihPeSgpKXthLmVudHJ5PU55KGEpO3ZhciBjPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSk7Yy5zdGFnZT1iO2RlbGV0ZSBjLnNlbnQ7dmFyIGQ9U3koYj09PUl5LlguamQ/e3N0YWdlOkl5LlguamR9OmMpLGU9U3koYSk7aWYoZCYmZSYmIShkLnN0YXJ0VGltZT5lLnN0YXJ0VGltZSkpe2Muc3RhZ2U9YisiOiIrYS5zdGFnZTt2YXIgZj1OeShjKSxnPXtzdGFydDpkLm5hbWUsZW5kOmUubmFtZX0saCxsO3JldHVybihsPShoPXJkKCkpPT1udWxsP3ZvaWQgMDpoLm1lYXN1cmUoZixnKSk9PW51bGw/dm9pZCAwOmwuZHVyYXRpb259fX07dmFyIFd5PWZ1bmN0aW9uKCl7dmFyIGE9NTtWeS5Sbz4wJiYoYT1WeS5Sbyk7dGhpcy5LPWE7dGhpcy5IPTA7dGhpcy5OPVtdfSxYeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPGEuSz8hMTpOYigpLWEuTlthLkglYS5LXTwxRTN9LFl5PWZ1bmN0aW9uKGEpe3ZhciBiPWEuSCsrJWEuSzthLk5bYl09TmIoKX07dmFyIFZ5PXtSbzpOZigzLDApfSwkeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy55YT1bXTt0aGlzLkg9dm9pZCAwO3RoaXMuWj17fTt0aGlzLks9dm9pZCAwO3RoaXMuamE9bmV3IFd5O3RoaXMuTGE9MUUzO3RoaXMuUj10aGlzLk49ITE7dGhpcy5mYT1EYigpO1p5KHRoaXMsZnVuY3Rpb24oKXt2YXIgYj1bWyJ2IiwiMyJdLFsidCIsInQiXSxbInBpZCIsU3RyaW5nKGEuZmEpXV0sYz1kdSgpO2MmJmIucHVzaChbImd0bSIsY10pO3JldHVybiBifSk7Y2QoZnVuY3Rpb24oKXthLmZhPURiKCl9LDg2NEU1KX0sWnk9ZnVuY3Rpb24oYSxiKXthLnlhLnB1c2goYil9LGF6PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkg7aWYoZD09PXZvaWQgMClpZihjKWQ9cmooKTtlbHNlIHJldHVybiIiO2Zvcih2YXIgZT1bZmsoImh0dHBzOi8vIitFKDIxKSksIi9hIiwiP2lkPSIrRSg1KV0sZj1tKGEueWEpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9Cmgoe2V2ZW50SWQ6ZCx0ZjohIWJ9KSxuPW0obCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpe3ZhciBxPW0ocC52YWx1ZSkscj1xLm5leHQoKS52YWx1ZSx0PXEubmV4dCgpLnZhbHVlO2UucHVzaCgiJiIrcisiPSIrdCl9ZS5wdXNoKCImej0wIik7cmV0dXJuIGUuam9pbigiIil9LGJ6PWZ1bmN0aW9uKGEpe2lmKCRrKDI2KSYmKGEuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCksYS5IIT09dm9pZCAwJiZhLlIpKXt2YXIgYj1sbyhjby5pYS5aYik7aWYoZ28oYikpYS5OfHwoYS5OPSEwLGlvKGIsZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBieihhKX0pKTtlbHNlIGlmKGEuWlthLkhdfHxYeShhLmphKXx8YS5MYS0tPD0wKVAoMSksYS5aW2EuSF09ITA7ZWxzZXtZeShhLmphKTt2YXIgYz1heihhLCEwKTtYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6YS5IfSxjKTthLlI9ITE7YS5OPSExfX19LGN6PWZ1bmN0aW9uKGEpe2EuS3x8KGEuSz0KQS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYnooYSl9LDUwMCkpfSxlej1mdW5jdGlvbihhKXt2YXIgYj1kejtiLlpbYV18fChhIT09Yi5IJiYoYnooYiksYi5IPWEpLGIuUj0hMCxjeihiKSxheihiKS5sZW5ndGg+PTIwMjImJmJ6KGIpKX0sZHo7ZnVuY3Rpb24gZnooYSl7Z3ooKTtaeShkeixhKX1mdW5jdGlvbiBoeigpe3ZhciBhO2E9YT09PXZvaWQgMD8hMTphO2d6KCk7dmFyIGI9YSxjPWR6O2I9Yj09PXZvaWQgMD8hMTpiO2lmKGZuLk4mJiRrKDI2KSl7dmFyIGQ9YXooYywhMCwhMCk7Yj9Wbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKTpYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKX19ZnVuY3Rpb24gZ3ooKXtkenx8KGR6PW5ldyAkeSl9O2Z1bmN0aW9uIGl6KCl7ZnVuY3Rpb24gYShjLGQpe3ZhciBlPXdiKHJiW2RdfHxbXSk7ZSYmYi5wdXNoKFtjLGVdKX12YXIgYj1bXTthKCJ1IiwiR1RNIik7YSgidXQiLCJUQUdHSU5HIik7YSgiaCIsIkhFQUxUSCIpO3JldHVybiBifTt2YXIgano9Imh0dHBzOi8vIitFKDIxKSxrej1mdW5jdGlvbigpe3RoaXMuTj0hMTt0aGlzLlI9W107dGhpcy5aPVtdO3RoaXMuSD17VEM6MCxIVEM6MH07dGhpcy5LPXt9fSxsej1mdW5jdGlvbihhLGIsYyxkKXthLktbYl18fChhLktbYl09e30pO2EuS1tiXVtjXT1kfSxvej1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiLGQ9bXooKTtBYihkKSYmKGEuSC5JPU1hdGguZmxvb3IoZCkpO2M9bnooYS5ILEp5KS50b1N0cmluZygpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGEuSykpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlLGg9YS5LW2ddLm5hbWUsbD0iIixuPW56KGEuS1tnXSxLeSk7biYmKGw9aCsiLiIrbi50b1N0cmluZygpLGIrPSJ+IitsKX12YXIgcD0ifkFXQ1QiK2EuUi5qb2luKCIuIikscT0ifkdBIithLlouam9pbigiLiIpLHI9IiZjY2lkPSIrdmsoKS50b1N0cmluZygpKyImY2lkPSIrRSg1KS50b1N0cmluZygpKyImbD0iK2MrYisoYS5SLmxlbmd0aD8KcDoiIikrKGEuWi5sZW5ndGg/cToiIik7aWYoTSgyMTQpKXt2YXIgdCx1PSh0PXJkKCkpPT1udWxsP3ZvaWQgMDp0LmdldEVudHJpZXNCeU5hbWUoS2MpLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gU3RyaW5nKHYuZHVyYXRpb24pfSkuam9pbigiLiIpO3UmJihyKz0iflNTIit1KX1yZXR1cm4gcn0scHo9ZnVuY3Rpb24oYSxiKXtpZighYi5zdGFnZXx8YS5OfHwhT3koKXx8U3koYikpcmV0dXJuITE7dmFyIGMsZD0oYz1yZCgpKT09bnVsbD92b2lkIDA6Yy50aW1lT3JpZ2luO2lmKCFBYihkKSlhLk49ITA7ZWxzZSBpZihBYigkaygyNSkpJiYhU3koe3N0YWdlOkl5LlguamR9KSYmIWEuTiYmT3koKSl0cnl7dmFyIGU9TnVtYmVyKCRrKDI1KSk7VHkoe3N0YWdlOkl5LlguamR9LHtzdGFydFRpbWU6TWF0aC5tYXgoZS1kLDApfSk7VHkoe3N0YWdlOkl5LlguaWp9LHtzdGFydFRpbWU6MH0pO3ZhciBmPVV5KHtzdGFnZTpJeS5YLmpkfSxJeS5YLmlqKTtmJiYoYS5ILkw9TWF0aC5mbG9vcihmKSl9Y2F0Y2goZyl7YS5OPQohMH1pZihhLk4pcmV0dXJuITE7dHJ5e2lmKCFUeShiKSlyZXR1cm4hMX1jYXRjaChnKXtyZXR1cm4gYS5OPSEwLCExfXJldHVybiEwfSxxej1mdW5jdGlvbihhLGIsYyl7aWYocHooYSxiKSl0cnl7dmFyIGQ9VXkoYixjKTtpZihkKXJldHVybiBNYXRoLmZsb29yKGQpfWNhdGNoKGUpe2EuTj0hMH19LHN6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKTtweihhLHtzdGFnZTpJeS5YLm1pfSl9LHR6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKSxiPXF6KGEse3N0YWdlOkl5LlguWGt9LEl5LlgubWkpO2IhPT12b2lkIDAmJihhLkguUz1iKX0sdXo9ZnVuY3Rpb24oKXt2YXIgYT1yeigpO3B6KGEse3N0YWdlOkl5Llgubml9KX0sdno9ZnVuY3Rpb24oYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlguQmgsZXZlbnRJZDphfSk7Yy5LW2FdJiZjLktbYV0ubmFtZXx8bHooYyxhLCJuYW1lIixTYihiLCJndG0uIik/YjoiKiIpfSx3ej1mdW5jdGlvbihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC52bSwKZXZlbnRJZDphfSxJeS5YLkJoKTtjIT09dm9pZCAwJiZseihiLGEsIlMiLGMpfSx5ej1mdW5jdGlvbihhLGIpe3ZhciBjPXJ6KCksZD1xeihjLHtzdGFnZTpJeS5YLnRtLGV2ZW50SWQ6YX0sSXkuWC5CaCk7ZCE9PXZvaWQgMCYmbHooYyxhLCJFIixkKTtpZihiPT09Imd0bS5sb2FkIil7dmFyIGU9cXooYyx7c3RhZ2U6SXkuWC5Xa30sSXkuWC5aZyk7ZSE9PXZvaWQgMCYmKGMuSC5FPWUpO2lvKGxvKGNvLmlhLlpiKSxmdW5jdGlvbigpe2lmKCFjLk4mJk95KCkmJkUoNSkpe3ZhciBmPXh6KCk7ZiE9PXZvaWQgMCYmKGMuSC5GPU1hdGguZmxvb3IoZikpO3RyeXtmb3IodmFyIGc9aXooe2V2ZW50SWQ6MCx0ZjohMX0pLGg9W10sbD1tKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1tKG4udmFsdWUpLHE9cC5uZXh0KCkudmFsdWUscj1wLm5leHQoKS52YWx1ZTtoLnB1c2goIiYiK3ErIj0iK3IpfXZhciB0PUNwKCksdT1bW2ZrKGp6KSwiL2E/dj0zJnQ9bCIsIiZwaWQ9IisKRGIoKS50b1N0cmluZygpLCImcnY9IitFKDE0KSx0PyImdGFnX2V4cD0iK3Q6IiIsaC5qb2luKCIiKV0uam9pbigiIiksIiZndG09IixkdSgpLG96KGMpXS5qb2luKCIiKTtpZih1Lmxlbmd0aD4yMDIyKXt2YXIgdj1NYXRoLm1heCh1Lmxhc3RJbmRleE9mKCIuVFMiLDIwMjIpLHUubGFzdEluZGV4T2YoIn4iLDIwMjIpKTt1PXUuc2xpY2UoMCx2KX1Ybih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2fSx1KX1jYXRjaCh4KXt9fX0pfX0seno7ZnVuY3Rpb24gcnooKXt6enx8KHp6PW5ldyBreik7cmV0dXJuIHp6fWZ1bmN0aW9uIG16KCl7dHJ5e3ZhciBhO3JldHVybigoYT1yZCgpKT09bnVsbD92b2lkIDA6YS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIilbMF0pLmRvbUludGVyYWN0aXZlfWNhdGNoKGIpe319CmZ1bmN0aW9uIG56KGEsYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYVtjXSE9PXZvaWQgMH0pLm1hcChmdW5jdGlvbihjKXtyZXR1cm4oIiIrKGM9PT0idGFnIj8iIjpjKSkuY29uY2F0KGFbY10udG9TdHJpbmcoKSl9KS5qb2luKCIuIil9ZnVuY3Rpb24gQXooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5LlguRW0sZXZlbnRJZDphfSxJeS5YLmpkKTtjIT09dm9pZCAwJiZiLloucHVzaChjKX1mdW5jdGlvbiBCeihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC5FayxldmVudElkOmF9LEl5LlguamQpO2MhPT12b2lkIDAmJmIuUi5wdXNoKGMpfWZ1bmN0aW9uIEN6KGEpe3ZhciBiPXJ6KCk7cHooYix7c3RhZ2U6SXkuWC5UaSxldmVudElkOmF9KX0KZnVuY3Rpb24gRHooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5Llguc20sZXZlbnRJZDphfSxJeS5YLlRpKTtjIT09dm9pZCAwJiZseihiLGEsIlYiLGMpfWZ1bmN0aW9uIHh6KCl7dHJ5e3ZhciBhLGI7cmV0dXJuKGI9KGE9cmQoKSk9PW51bGw/dm9pZCAwOmEuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWU9PT0iZmlyc3QtY29udGVudGZ1bC1wYWludCJ9KSk9PW51bGw/dm9pZCAwOmIuc3RhcnRUaW1lfWNhdGNoKGMpe319ZnVuY3Rpb24gRXooYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlgueGosZXZlbnRJZDphLmlkLHRhZ0lkOk51bWJlcihiW0dmLnlqXSl9KX0KZnVuY3Rpb24gRnooYSxiLGMpe3ZhciBkPXJ6KCksZT1kbihiKSxmPU51bWJlcihiW0dmLnlqXSksZz1xeihkLHtzdGFnZTpjLGV2ZW50SWQ6YS5pZCx0YWdJZDpmfSxJeS5YLnhqKTtpZihnIT09dm9pZCAwJiZkLktbYS5pZF0pe3ZhciBoPWQuS1thLmlkXS50YWd8fCIiLGwsbj0obD1NeVtjXSkhPW51bGw/bDoiMSIscD1uZXcgUmVnRXhwKCJUU1xcZCIrZSsiLlRJIitmKSxxPSJUUyIrbitlKyIuVEkiK2YrIi5URSIrZztoLnNlYXJjaChwKT49MD9uIT09IjEiJiZseihkLGEuaWQsInRhZyIsaC5yZXBsYWNlKHAscS5yZXBsYWNlKCIuVEUiK2csIiIpKSk6KGx6KGQsYS5pZCwidGFnIiwoaD9oKyIuIjoiIikrcSksZT09PSJodG1sIiYmKGQuSC5IVEMrPTEpLGQuSC5UQys9MSl9fTt2YXIgS3o9e2dqOnticDoiMSIsdXE6IjIiLFZxOiIzIn19Owp2YXIgTHo9e30sTXo9T2JqZWN0LmZyZWV6ZSgoTHpbRi5ELmZoXT0xLEx6W0YuRC5naF09MSxMeltGLkQuQmRdPTEsTHpbRi5ELkNkXT0xLEx6W0YuRC5SY109MSxMeltGLkQuc2ldPTEsTHpbRi5ELnVpXT0xLEx6W0YuRC5DbF09MSxMeltGLkQuaWhdPTEsTHpbRi5ELkNmXT0xLEx6W0YuRC5EZl09MSxMeltGLkQuRWZdPTEsTHpbRi5ELkhhXT0xLEx6W0YuRC5GZl09MSxMeltGLkQuRmRdPTEsTHpbRi5ELnVjXT0xLEx6W0YuRC5IZF09MSxMeltGLkQuTGJdPTEsTHpbRi5ELkNiXT0xLEx6W0YuRC5UYl09MSxMeltGLkQubmJdPTEsTHpbRi5ELmViXT0xLEx6W0YuRC5HZV09MSxMeltGLkQua2hdPTEsTHpbRi5ELk9hXT0xLEx6W0YuRC5PcF09MSxMeltGLkQuU3BdPTEsTHpbRi5ELkllXT0xLEx6W0YuRC5HaV09MSxMeltGLkQuUWZdPTEsTHpbRi5ELlRhXT0xLEx6W0YuRC5ZY109MSxMeltGLkQuWmNdPTEsTHpbRi5ELnRiXT0xLEx6W0YuRC5RZF09MSxMeltGLkQuUmRdPTEsTHpbRi5ELlNkXT0KMSxMeltGLkQuTmVdPTEsTHpbRi5ELnphXT0xLEx6W0YuRC5VYV09MSxMeltGLkQuV2xdPTEsTHpbRi5ELlhsXT0xLEx6W0YuRC5ZbF09MSxMeltGLkQuWmxdPTEsTHpbRi5ELldiXT0xLEx6W0YuRC5UZF09MSxMeltGLkQuWGJdPTEsTHpbRi5ELmRkXT0xLEx6W0YuRC5VZF09MSxMeltGLkQuUWVdPTEsTHpbRi5ELlBhXT0xLEx6W0YuRC55Y109MSxMeltGLkQuVmRdPTEsTHpbRi5ELnpjXT0xLEx6W0YuRC5BY109MSxMeltGLkQuZmJdPTEsTHpbRi5ELlFhXT0xLEx6KSksTno9e30sT3o9KE56W0YuRC5VY109MSxOeltGLkQuUHBdPTEsTnpbRi5ELkhlXT0xLE56W0YuRC5yaV09MSxOei5vcmVmPTEsTnopO3ZhciBQeixRejsKZnVuY3Rpb24gUnooYSxiKXt2YXIgYz1hW0dmLlliXSxkPWImJmIuZXZlbnQ7aWYoIWMpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBlPVF6W2NdLGY9e30sZztmb3IoZyBpbiBhKWEuaGFzT3duUHJvcGVydHkoZykmJihTYihnLCJ2dHBfIik/ZltlIT09dm9pZCAwP2c6Zy5zdWJzdHJpbmcoNCldPWFbZ106Zz09PUdmLkZxLnRvU3RyaW5nKCkmJihmW2UhPT12b2lkIDA/InZ0cF9ndG1HZW5lcmF0ZWRUYWdnaW5nTWV0YWRhdGEiOmddPWFbZ10pKTtJZig2MSkmJmUmJihmLnZ0cF9leHRyYUV4cGVyaW1lbnRJZHM9ITApO2UmJmQmJmQuY2FjaGVkTW9kZWxWYWx1ZXMmJihmLnZ0cF9ndG1DYWNoZWRWYWx1ZXM9ZC5jYWNoZWRNb2RlbFZhbHVlcyk7YiYmZSYmKGYudnRwX2d0bUVudGl0eUluZGV4PWIuaW5kZXgsZi52dHBfZ3RtRW50aXR5TmFtZT1iLm5hbWUpO3JldHVybiBlIT09dm9pZCAwP2UoZik6UHooYyxmLApiKX12YXIgVHo9ZnVuY3Rpb24oKXt2YXIgYT1TejtpZihNKDU4NSkmJmZuLkspe3ZhciBiPUUoNSkuaW5kZXhPZigiR1RNLSIpPT09MCYmSWYoNjIpLGMsZD0oKGM9RmsoKSk9PW51bGw/dm9pZCAwOmMuc291cmNlKT09PTE7YiYmIWR8fGEuSHx8KGEuSD0hMCxVbSgiYWJsIiwiMSIpLHRvKCkpfX0sU3o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPSExfTt2YXIgVXo9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5IPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5uYW1lPVN0cmluZyh0aGlzLkhbR2YuUm1dfHwiIil9OwpVei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXtpZighYlt0aGlzLmluZGV4XSYmIWEuaXNCbG9ja2VkKHRoaXMuSCkpe2JbdGhpcy5pbmRleF09ITA7dGhpcy5IW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO3ZhciBjPXRoaXMubmFtZSxkO3RyeXt2YXIgZT17fSxmO2ZvcihmIGluIHRoaXMuSCl0aGlzLkguaGFzT3duUHJvcGVydHkoZikmJihlW2ZdPWVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKSk7ZS52dHBfZ3RtRXZlbnRJZD1hLmlkO2EucHJpb3JpdHlJZCYmKGUudnRwX2d0bVByaW9yaXR5SWQ9YS5wcmlvcml0eUlkKTt2YXIgZz1kPVJ6KGUse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjIsbmFtZTpjfSk7ZVtHZi5aa10mJnR5cGVvZiBnPT09InN0cmluZyImJihnPWVbR2YuWmtdPT09MT9nLnRvTG93ZXJDYXNlKCk6Zy50b1VwcGVyQ2FzZSgpKTtlLmhhc093blByb3BlcnR5KEdmLmFoKSYmKGc9WWYoMTgpP2VbR2YuYWhdPT09MT8KVmYoZywiUEVSSU9EIik6ZVtHZi5haF09PT0yP1ZmKGcsIkNPTU1BIik6VmYoZywiQVVUT01BVElDIik6ZVtHZi5haF09PT0xP1ZmKGcsIlBFUklPRCIpOlZmKGcsIkNPTU1BIikpO2UuaGFzT3duUHJvcGVydHkoR2YuYmwpJiZnPT09bnVsbCYmKGc9ZVtHZi5ibF0pO2UuaGFzT3duUHJvcGVydHkoR2YuaWwpJiZnPT09dm9pZCAwJiYoZz1lW0dmLmlsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5lcCkmJihnPUpiKGcpKTtlLmhhc093blByb3BlcnR5KEdmLmZsKSYmZz09PSEwJiYoZz1lW0dmLmZsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5hbCkmJmc9PT0hMSYmKGc9ZVtHZi5hbF0pO2Q9Z31jYXRjaChoKXthLmxvZ01hY3JvRXJyb3ImJmEubG9nTWFjcm9FcnJvcihoLE51bWJlcih0aGlzLmluZGV4KSxjKSxkPSExfWJbdGhpcy5pbmRleF09ITE7cmV0dXJuIGR9fTtVei5wcm90b3R5cGUuRmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSx0aGlzLkgpfTt2YXIgVno9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSD1hO3RoaXMudGFncz1iO3RoaXMubWFjcm9zPWN9O1Z6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIpe3RyeXtmb3IodmFyIGM9e30sZD1tKE9iamVjdC5rZXlzKHRoaXMuSCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2NbZl09Zj09PSJmdW5jdGlvbiI/dGhpcy5IW2ZdOmVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKX1yZXR1cm4gY2woYyl9Y2F0Y2goZyl7SlNPTi5zdHJpbmdpZnkodGhpcy5IKX1yZXR1cm4gMn07VnoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5IKX07dmFyIFd6PWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD1iO3RoaXMuTj1bXTt0aGlzLlI9W107dGhpcy5LPVtdO3RoaXMuSD1bXTt0aGlzLm5hbWU9IiI7Zm9yKHZhciBjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPW0oZC52YWx1ZSksZj1lLm5leHQoKS52YWx1ZSxnPXlhKGUpLGg9ZixsPWc7aD09PSJpZiI/dGhpcy5OPWw6aD09PSJ1bmxlc3MiP3RoaXMuUj1sOmg9PT0iYWRkIj90aGlzLks9bDpoPT09ImJsb2NrIj90aGlzLkg9bDpoPT09InJ1bGVOYW1lIiYmKHRoaXMubmFtZT1sWzBdKX19OwpXei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Yeih0aGlzLGIpLGQ9W10sZT1bXTtjPyhkLnB1c2guYXBwbHkoZCx3KHRoaXMuSykpLGUucHVzaC5hcHBseShlLHcodGhpcy5IKSkpOmM9PT1udWxsJiZlLnB1c2guYXBwbHkoZSx3KHRoaXMuSCkpO3JldHVybntmaXJpbmdUYWdzOmQsYmxvY2tpbmdUYWdzOmV9fTsKdmFyIFh6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW0oYS5OKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9YihkLnZhbHVlKTtpZihlPT09MClyZXR1cm4hMTtpZihlPT09MilyZXR1cm4gbnVsbH1mb3IodmFyIGY9bShhLlIpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1iKGcudmFsdWUpO2lmKGg9PT0yKXJldHVybiBudWxsO2lmKGg9PT0xKXJldHVybiExfXJldHVybiEwfTtXei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBZej1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLklhPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5PPVN0cmluZyh0aGlzLklhW0dmLlliXSk7dGhpcy5uYW1lPVN0cmluZyh0aGlzLklhW0dmLlJtXXx8IiIpO3RoaXMudGFnSWQ9TnVtYmVyKHRoaXMuSWFbR2YueWpdKX07Cll6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7dmFyIGQsZT1jO2U9ZT09PXZvaWQgMD97fTplO3ZhciBmPXt9LGc7Zm9yKGcgaW4gdGhpcy5JYSl0aGlzLklhLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1lbCh0aGlzLklhW2ddLGEsdGhpcy50YWdzLHRoaXMubWFjcm9zLFtdKSk7ZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGYsZSk7ZC52dHBfZ3RtVGFnSWQ9dGhpcy50YWdJZDt0aGlzLklhW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO1J6KGQse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjEsbmFtZTp0aGlzLm5hbWV9KX07WXoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5JYSl9Owp2YXIgWno9ZnVuY3Rpb24oYSxiKXtpZihhLklhW0dmLnRuXSlyZXR1cm4gZWwoYS5JYVtHZi50bl0sYixhLnRhZ3MsYS5tYWNyb3MsW10pfSwkej1mdW5jdGlvbihhLGIpe2lmKGEuSWFbR2YuRG5dKXJldHVybiBlbChhLklhW0dmLkRuXSxiLGEudGFncyxhLm1hY3JvcyxbXSl9LGFBPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5JYVtHZi5jcF07aWYoYylyZXR1cm4gZWwoYyxiLGEudGFncyxhLm1hY3JvcyxbXSl9O1l6LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gZWwodGhpcy5JYVtHZi5NRVRBREFUQV0sYSx0aGlzLnRhZ3MsdGhpcy5tYWNyb3MsW10pfTtZei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBiQT1mdW5jdGlvbigpe3RoaXMubWFjcm9zPVtdO3RoaXMucnVsZXM9W107dGhpcy5wcmVkaWNhdGVzPVtdO3RoaXMudGFncz1bXTt0aGlzLnZrPVtdfTtiQS5wcm90b3R5cGUuZ2V0UnVsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydWxlc307dmFyIGNBPW5ldyBiQTtmdW5jdGlvbiBkQShhLGIsYyxkKXt2YXIgZT1XYygpLGY7aWYoZT09PTEpYTp7dmFyIGc9RSgzKTtnPWcudG9Mb3dlckNhc2UoKTtmb3IodmFyIGg9Imh0dHBzOi8vIitnLGw9Imh0dHA6Ly8iK2csbj0xLHA9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikscT0wO3E8cC5sZW5ndGgmJnE8MTAwO3ErKyl7dmFyIHI9cFtxXS5zcmM7aWYocil7cj1yLnRvTG93ZXJDYXNlKCk7aWYoci5pbmRleE9mKGwpPT09MCl7Zj0zO2JyZWFrIGF9bj09PTEmJnIuaW5kZXhPZihoKT09PTAmJihuPTIpfX1mPW59ZWxzZSBmPWU7cmV0dXJuKGY9PT0yfHxkfHwiaHR0cDoiIT09QS5sb2NhdGlvbi5wcm90b2NvbD9hOmIpK2N9O3ZhciBlQT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5LPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGEuSylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5LLGQpJiZjLnB1c2goZCsifiIrYS5LW2RdKTt2YXIgZT1bXSxmO2ZvcihmIGluIGEuSClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5ILGYpJiZlLnB1c2goZisifiIrYS5IW2ZdKTtiLnRmJiYoYS5LPXt9LGEuSD17fSk7dmFyIGc9W107Yy5sZW5ndGg+MCYmZy5wdXNoKFsiYmNzIixjLmpvaW4oIi4iKV0pO2UubGVuZ3RoPjAmJmcucHVzaChbImJldCIsZS5qb2luKCIuIildKTtyZXR1cm4gZ30pfSxmQTtmdW5jdGlvbiBnQSgpe2ZBfHwoZkE9bmV3IGVBKX07ZnVuY3Rpb24gaEEoYSxiLGMsZCxlKXtpZighRWsoYSkpe2QubG9hZEV4cGVyaW1lbnRzPXlqKCk7SGsoYSxkLGUpO3ZhciBmPWlBKGEpLGc9ZnVuY3Rpb24oKXtvaygpLmNvbnRhaW5lclthXSYmKG9rKCkuY29udGFpbmVyW2FdLnN0YXRlPTMpO2pBKCl9LGg9e2Rlc3RpbmF0aW9uSWQ6YSxlbmRwb2ludDowfTtpZihXaigpKXt2YXIgbD1YaigpLG49bCsiLyIra0EoZixhKTtabihoLG4sdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxuLGwrIi8iK2YsaCxnKX0pfWVsc2V7dmFyIHA9U2IoYSwiR1RNLSIpLHE9ZGsoKSxyPWM/Ii9ndGFnL2pzIjoiL2d0bS5qcyIsdD1tQShiLHIrZixhKTtpZighdCl7dmFyIHU9RSgzKStyO3EmJktjJiZwJiYodT1LYy5yZXBsYWNlKC9eKD86aHR0cHM/OlwvXC8pPy9pLCIiKS5zcGxpdCgvWz8jXS8pWzBdKTt0PWRBKCJodHRwczovLyIsImh0dHA6Ly8iLHUrZil9Wm4oaCx0LHZvaWQgMCxnKX19fQpmdW5jdGlvbiBqQSgpe0trKCl8fEdiKExrKCksZnVuY3Rpb24oYSxiKXtuQShhLGIudHJhbnNwb3J0VXJsLGIuY29udGV4dCk7UCg5Mil9KX1mdW5jdGlvbiBuQShhLGIsYyxkKXtpZighR2soYSkpaWYoYy5sb2FkRXhwZXJpbWVudHN8fChjLmxvYWRFeHBlcmltZW50cz15aigpKSxLaygpKUprKGEsYixjLGQpO2Vsc2V7SWsoYSxjLGQpO3ZhciBlPXtkZXN0aW5hdGlvbklkOmEsZW5kcG9pbnQ6MH07aWYoV2ooKSl7dmFyIGY9WGooKSxnPSJndGQiK2lBKGEsITApLGg9ZisiLyIra0EoZyxhKTtabihlLGgsdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxoLGYrIi8iK2csZSl9KX1lbHNle3ZhciBsPSIvZ3RhZy9kZXN0aW5hdGlvbiIraUEoYSwhMCksbj1tQShiLGwsYSk7bnx8KG49ZEEoImh0dHBzOi8vIiwiaHR0cDovLyIsRSgzKStsKSk7Wm4oZSxuKX19fQpmdW5jdGlvbiBsQShhLGIsYyxkLGUpe2lmKE0oNDEzKSl7Z0EoKTt2YXIgZj1mQTtpZihmbi5OKXt2YXIgZz1BLnBlcmZvcm1hbmNlLGg9LTE7aWYoZyYmZy5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbD1SaihiKS5ocmVmLG49Zy5nZXRFbnRyaWVzQnlOYW1lKGwpLnBvcCgpO2lmKCFuKWZvcih2YXIgcD1nLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscT0wO3E8cC5sZW5ndGg7cSsrKXt2YXIgcj1wW3FdO2lmKHIubmFtZSYmci5uYW1lLmluZGV4T2YoYikhPT0tMSl7bj1yO2JyZWFrfX1uJiZuLnJlc3BvbnNlU3RhdHVzIT09dm9pZCAwJiYoaD1uLnJlc3BvbnNlU3RhdHVzKX1mLktbYV09aH1QKDE5MCk7dmFyIHQ9bm0oam0uYmEua2opfHx7fTt0W2FdPSEwO21tKGptLmJhLmtqLHQpO3ZhciB1PWMrKGMuaW5kZXhPZigiPyIpPT09LTE/Ij9mPTEiOiImZj0xIik7ZT9abihkLHUsdm9pZCAwLGUpOlpuKGQsdSl9ZWxzZSBlJiZlKCl9CmZ1bmN0aW9uIGlBKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9Ij9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChhKSxkPUUoMTkpO2QhPT0iZGF0YUxheWVyIiYmKGMrPSImbD0iK2QpO3ZhciBlPVNiKGEsIkdUTS0iKTtpZighZXx8YiljKz0iJmN4PWMiO2UmJklmKDYyKSYmKGMrPSImZ29vZ2xlX29ubHk9dHJ1ZSIpO3ZhciBmPWMsZyxoPXtEbzpKZigxNSksSW86RSgxNCl9O2c9Q2YoaCk7Yz1mKygiJmd0bT0iK2cpO2RrKCkmJihjKz0iJnNpZ249IitBai5xaik7dmFyIGw9YyxuPUpmKDU0KTtpZihuPT09MSl7bCs9IiZmcHM9ZmMiO3ZhciBwPUUoNjApO3AmJihsKz0iJmdkZXY9IitwKX1lbHNlIG49PT0yJiYobCs9IiZmcHM9ZmUiKTtyZXR1cm4gbH0KZnVuY3Rpb24ga0EoYSxiKXtpZighTSg0MTMpfHwhWGooKSlyZXR1cm4gYTt2YXIgYz1FKDU4KTtpZighYylyZXR1cm4gUCgxODIpLGE7dHJ5e3ZhciBkPU5iKCksZT1FZihhLGMpLGY9TmIoKS1kO2dBKCk7dmFyIGc9ZkE7Zm4uTiYmKGcuSFtiXT1mKTtyZXR1cm4gZX1jYXRjaChoKXtyZXR1cm4gUCgxODMpLGF9fWZ1bmN0aW9uIG1BKGEsYixjKXtpZihhaygpJiZhKXt2YXIgZD1FKDU4KSxlPVhqKCk7aWYoZCYmZSl0cnl7dmFyIGY9TmIoKTtiPWUrIi8iK0VmKGIsZCk7dmFyIGc9TmIoKS1mO2dBKCk7dmFyIGg9ZkE7Zm4uTiYmKGguSFtjXT1nKX1jYXRjaChsKXtQKDE4Myl9cmV0dXJuIFlqKGEsYil9fTt2YXIgcEE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSz1uZXcgRmI7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLlI9e25hbWU6RSgxOSksc2V0OmZ1bmN0aW9uKGIsYyl7RWQoVmIoYixjKSxhLkgpO29BKGEpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0KGIsMil9LHJlc2V0OmZ1bmN0aW9uKCl7YS5LPW5ldyBGYjthLkg9e307b0EoYSl9fX07cEEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiBiIT0yP3RoaXMuSy5nZXQoYSk6cUEodGhpcyxhKX07dmFyIHFBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnNwbGl0KCIuIik7Yz1jfHxbXTtmb3IodmFyIGU9YS5ILGY9MDtmPGQubGVuZ3RoO2YrKyl7aWYoZT09PW51bGwpcmV0dXJuITE7aWYoZT09PXZvaWQgMClicmVhaztlPWVbZFtmXV07aWYoYy5pbmRleE9mKGUpIT09LTEpcmV0dXJufXJldHVybiBlfTsKcEEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTi5oYXNPd25Qcm9wZXJ0eShhKXx8KHRoaXMuSy5zZXQoYSxiKSxFZChWYihhLGIpLHRoaXMuSCksb0EodGhpcykpfTt2YXIgc0E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJndG0uYWxsb3dsaXN0IiwiZ3RtLmJsb2NrbGlzdCIsImd0bS53aGl0ZWxpc3QiLCJndG0uYmxhY2tsaXN0IiwidGFnVHlwZUJsYWNrbGlzdCJdLGI9ckEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9Yi5nZXQoZCwxKTtpZihBcnJheS5pc0FycmF5KGUpfHxDZChlKSllPUVkKGUsbnVsbCk7Yi5OW2RdPWV9fSxvQT1mdW5jdGlvbihhLGIpe0diKGEuTixmdW5jdGlvbihjLGQpe2EuSy5zZXQoYyxkKTtFZChWYihjKSxhLkgpO0VkKFZiKGMsZCksYS5IKTtiJiZkZWxldGUgYS5OW2NdfSl9LHJBPW5ldyBwQSx0QT1yQS5SO2Z1bmN0aW9uIHVBKGEsYil7cmV0dXJuIHJBLmdldChhLGIpfQpmdW5jdGlvbiB2QShhLGIpe3ZhciBjPWI9PT12b2lkIDA/MjpiLGQ9ckEsZSxmPShjPT09dm9pZCAwPzI6YykhPT0xP3FBKGQsYSk6ZC5LLmdldChhKTtBZChmKT09PSJhcnJheSJ8fEFkKGYpPT09Im9iamVjdCI/ZT1FZChmLG51bGwpOmU9ZjtyZXR1cm4gZX07dmFyIHdBPW5ldyBSZWdFeHAoL14oLipcLik/KGdvb2dsZXx5b3V0dWJlfGJsb2dnZXJ8d2l0aGdvb2dsZSkoXC5jb20/KT8oXC5bYS16XXsyfSk/XC4/JC8pLHhBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbIm5vbkdvb2dsZVBpeGVscyJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIiwiY3VzdG9tUGl4ZWxzIiwibm9uR29vZ2xlUGl4ZWxzIiwibm9uR29vZ2xlU2NyaXB0cyIsIm5vbkdvb2dsZUlmcmFtZXMiXSxjdXN0b21TY3JpcHRzOlsiaHRtbCIsImN1c3RvbVBpeGVscyIsIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlUGl4ZWxzOltdLG5vbkdvb2dsZVNjcmlwdHM6WyJub25Hb29nbGVQaXhlbHMiXSxub25Hb29nbGVJZnJhbWVzOlsibm9uR29vZ2xlUGl4ZWxzIl19LHlBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbImN1c3RvbVNjcmlwdHMiLAoiaHRtbCJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIl0sY3VzdG9tU2NyaXB0czpbImh0bWwiXSxub25Hb29nbGVQaXhlbHM6WyJjdXN0b21QaXhlbHMiLCJjdXN0b21TY3JpcHRzIiwiaHRtbCIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlU2NyaXB0czpbImN1c3RvbVNjcmlwdHMiLCJodG1sIl0sbm9uR29vZ2xlSWZyYW1lczpbImN1c3RvbVNjcmlwdHMiLCJodG1sIiwibm9uR29vZ2xlU2NyaXB0cyJdfSx6QT0iZ29vZ2xlIGN1c3RvbVBpeGVscyBjdXN0b21TY3JpcHRzIGh0bWwgbm9uR29vZ2xlUGl4ZWxzIG5vbkdvb2dsZVNjcmlwdHMgbm9uR29vZ2xlSWZyYW1lcyIuc3BsaXQoIiAiKTsKZnVuY3Rpb24gQUEoKXt2YXIgYT11QSgiZ3RtLmFsbG93bGlzdCIpfHx1QSgiZ3RtLndoaXRlbGlzdCIpO2EmJlAoOSk7SWYoNjIpJiYoYT12b2lkIDApO0JBKCkmJihJZig2Mik/UCgxMTYpOihQKDExNyksSWYoNDgpJiYoYT1bXSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdUTSBibG9ja2VkLiBTZWUgZ28vMTM2ODc3MjguIikpKSk7dmFyIGI9YSYmUmIoS2IoYSkseEEpLGM9dUEoImd0bS5ibG9ja2xpc3QiKXx8dUEoImd0bS5ibGFja2xpc3QiKTtjfHwoYz11QSgidGFnVHlwZUJsYWNrbGlzdCIpKSYmUCgzKTtjP1AoOCk6Yz1bXTtCQSgpJiYoYz1LYihjKSxjLnB1c2goIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJzYW5kYm94ZWRTY3JpcHRzIikpO0tiKGMpLmluZGV4T2YoImdvb2dsZSIpPj0wJiZQKDIpO3ZhciBkPWMmJlJiKEtiKGMpLHlBKSxlPXt9O3JldHVybiBmdW5jdGlvbihmKXt2YXIgZz1mJiYKZltHZi5ZYl07aWYoIWd8fHR5cGVvZiBnIT09InN0cmluZyIpcmV0dXJuITA7Zz1nLnJlcGxhY2UoL15fKi8sIiIpO2lmKGVbZ10hPT12b2lkIDApcmV0dXJuIGVbZ107dmFyIGg9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pW2ddfHxbXSxsPSEwO2EmJihsPWwmJkNBKGcsaCxiKSk7dmFyIG49ITE7YyYmKG49REEoZyxoLGQpKTt2YXIgcD0hbHx8bjshcCYmKGguaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpPT09LTF8fGImJmIuaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpIT09LTE/MDpFYihkLHpBKSkmJihwPSEwKTtyZXR1cm4gZVtnXT1wfX1mdW5jdGlvbiBDQShhLGIsYyl7aWYoYy5pbmRleE9mKGEpPDApaWYoYiYmYi5sZW5ndGg+MClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7aWYoYy5pbmRleE9mKGJbZF0pPDApcmV0dXJuIFAoMTEpLCExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9CmZ1bmN0aW9uIERBKGEsYixjKXt2YXIgZD1jLmluZGV4T2YoYSk+PTA7aWYoZClyZXR1cm4gZDt2YXIgZT1FYihjLGJ8fFtdKTtlJiZQKDEwKTtyZXR1cm4gZX1mdW5jdGlvbiBCQSgpe3JldHVybiB3QS50ZXN0KEEubG9jYXRpb24mJkEubG9jYXRpb24uaG9zdG5hbWUpfTtmdW5jdGlvbiBFQShhKXtmb3IodmFyIGI9W10sYz1bXSxkPUZBKGEpLGU9bShjQS5nZXRSdWxlcygpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zm9yKHZhciBnPWYudmFsdWUuZXZhbHVhdGUoYSxkKSxoPWcuZmlyaW5nVGFncyxsPWcuYmxvY2tpbmdUYWdzLG49MDtuPGgubGVuZ3RoO24rKyliW2hbbl1dPSEwO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKWNbbFtwXV09ITB9Zm9yKHZhciBxPVtdLHI9MDtyPGNBLnRhZ3MubGVuZ3RoO3IrKyliW3JdJiYhY1tyXSYmKHFbcl09ITApO3JldHVybiBxfWZ1bmN0aW9uIEZBKGEpe3ZhciBiPVtdO3JldHVybiBmdW5jdGlvbihjKXtiW2NdPT09dm9pZCAwJiYoYltjXT1jQS5wcmVkaWNhdGVzW2NdLmV2YWx1YXRlKGEsW10pKTtyZXR1cm4gYltjXX19O3ZhciBHQT1mdW5jdGlvbigpe3RoaXMuSz0wO3RoaXMuSD17fX07R0EucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0rK3RoaXMuSzt0aGlzLkhbYV09dGhpcy5IW2FdfHx7fTt0aGlzLkhbYV1bU3RyaW5nKGQpXT17bGlzdGVuZXI6YixyZjpjfTtyZXR1cm4gZH07R0EucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5IW2FdLGQ9U3RyaW5nKGIpO2lmKCFjfHwhY1tkXSlyZXR1cm4hMTtkZWxldGUgY1tkXTtyZXR1cm4hMH07dmFyIElBPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107R2IoSEEuSFthXSxmdW5jdGlvbihkLGUpe2MuaW5kZXhPZihlLmxpc3RlbmVyKTwwJiYoZS5yZj09PXZvaWQgMHx8Yi5pbmRleE9mKGUucmYpPj0wKSYmYy5wdXNoKGUubGlzdGVuZXIpfSk7cmV0dXJuIGN9O2Z1bmN0aW9uIEpBKGEsYixjKXtyZXR1cm57ZW50aXR5VHlwZTphLGluZGV4SW5PcmlnaW5Db250YWluZXI6YixuYW1lSW5PcmlnaW5Db250YWluZXI6YyxvcmlnaW5Db250YWluZXJJZDpFKDUpLG9yaWdpbkNJZDp2aygpfX07ZnVuY3Rpb24gS0EoYSxiKXtpZihkYXRhLmVudGl0aWVzKXt2YXIgYz1kYXRhLmVudGl0aWVzW2FdO2lmKGMpcmV0dXJuIGNbYl19fTt2YXIgTUE9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9ITE7dGhpcy5SPVtdO3RoaXMuZXZlbnREYXRhPXt0YWdzOltdfTt0aGlzLlo9ITE7dGhpcy5LPXRoaXMuTj0wO0xBKHRoaXMsYSxiKX0sTkE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoQ2ouaGFzT3duUHJvcGVydHkoYil8fGI9PT0iX196b25lIilyZXR1cm4tMTt2YXIgZT17fTtDZChkKSYmKGU9RWQoZCxlKSk7ZS5pZD1jO2Uuc3RhdHVzPSJ0aW1lb3V0IjtyZXR1cm4gYS5ldmVudERhdGEudGFncy5wdXNoKGUpLTF9LE9BPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZXZlbnREYXRhLnRhZ3NbYl07ZSYmKGUuc3RhdHVzPWMsZS5leGVjdXRpb25UaW1lPWQpfSxQQT1mdW5jdGlvbihhKXtpZighYS5IKXtmb3IodmFyIGI9YS5SLGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdKCk7YS5IPSEwO2EuUi5sZW5ndGg9MH19LExBPWZ1bmN0aW9uKGEsYixjKXtiIT09dm9pZCAwJiZhLndnKGIpO2MmJkEuc2V0VGltZW91dChmdW5jdGlvbigpe1BBKGEpfSwKTnVtYmVyKGMpKX07TUEucHJvdG90eXBlLndnPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1QYihmdW5jdGlvbigpe2JkKGZ1bmN0aW9uKCl7YShFKDUpLGIuZXZlbnREYXRhKX0pfSk7dGhpcy5IP2MoKTp0aGlzLlIucHVzaChjKX07dmFyIFFBPWZ1bmN0aW9uKGEpe2EuTisrO3JldHVybiBQYihmdW5jdGlvbigpe2EuSysrO2EuWiYmYS5LPj1hLk4mJlBBKGEpfSl9LFJBPWZ1bmN0aW9uKGEpe2EuWj0hMDthLks+PWEuTiYmUEEoYSl9O2Z1bmN0aW9uIFNBKCl7cmV0dXJuIEFbVEEoKV19CmZ1bmN0aW9uIFRBKCl7cmV0dXJuIEEuR29vZ2xlQW5hbHl0aWNzT2JqZWN0fHwiZ2EifXZhciBXQT1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9e319O2Z1bmN0aW9uIFhBKCl7YTp7dmFyIGE9RSg1KTt9fQpmdW5jdGlvbiBZQShhLGIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjPVNBKCksZD1jJiZjLmdldEJ5TmFtZSYmYy5nZXRCeU5hbWUoYSk7aWYoZCl7dmFyIGU9ZC5nZXQoInNlbmRIaXRUYXNrIik7ZC5zZXQoInNlbmRIaXRUYXNrIixmdW5jdGlvbihmKXt2YXIgZz1mLmdldCgiaGl0UGF5bG9hZCIpLGg9Zi5nZXQoImhpdENhbGxiYWNrIiksbD1nLmluZGV4T2YoIiZ0aWQ9IitiKTwwO2wmJihmLnNldCgiaGl0UGF5bG9hZCIsZy5yZXBsYWNlKC8mdGlkPVVBLVswLTldKy1bMC05XSsvLCImdGlkPSIrYiksITApLGYuc2V0KCJoaXRDYWxsYmFjayIsdm9pZCAwLCEwKSk7ZShmKTtsJiYoZi5zZXQoImhpdFBheWxvYWQiLGcsITApLGYuc2V0KCJoaXRDYWxsYmFjayIsaCwhMCksZi5zZXQoIl94XzE5Iix2b2lkIDAsITApLGUoZikpfSl9fX07dmFyIGFCPVsiZXMiLCIxIl0sYkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZXZlbnREYXRhPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYzt2YXIgZD1iLmV2ZW50SWQsZT1iLnRmO2lmKGEuZXZlbnREYXRhW2RdKXt2YXIgZj1bXTthLkhbZF18fGYucHVzaChhQik7Zi5wdXNoLmFwcGx5KGYsdyhhLmV2ZW50RGF0YVtkXSkpO2UmJihhLkhbZF09ITApO2M9Zn1lbHNlIGM9W107cmV0dXJuIGN9KX0sY0I7ZnVuY3Rpb24gZEIoYSxiKXt2YXIgYztpZigoYz1jQikhPW51bGwmJmZuLk4pe3ZhciBkPWMuZXZlbnREYXRhLGU7ZT1iLm1hdGNoKC9eKGd0bXxndGFnKVwuLyk/ZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIqIjtkW2FdPVtbImUiLGVdLFsiZWlkIixTdHJpbmcoYSldXTtneigpO2V6KGEpfX07dmFyIGVCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9e307dGhpcy5LPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbInRyIixmLmpvaW4oIi4iKV0pO3ZhciBnPWEuS1tjXXx8W107Zy5sZW5ndGgmJmUucHVzaChbInRpIixnLmpvaW4oIi4iKV0pO2QmJihkZWxldGUgYS5IW2NdLGRlbGV0ZSBhLktbY10pO3JldHVybiBlfSl9LGZCOwpmdW5jdGlvbiBnQihhLGIsYyl7ZkJ8fChmQj1uZXcgZUIpO3ZhciBkPWZCO2lmKGZuLk4mJmIpe3ZhciBlPWRuKGIpO2QuSFthXT1kLkhbYV18fFtdO2QuSFthXS5wdXNoKGMrZSk7dmFyIGY9YltHZi5ZYl07aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBnPShReltmXT8iMSI6IjIiKStlO2QuS1thXT1kLktbYV18fFtdO2QuS1thXS5wdXNoKGcpO2d6KCk7ZXooYSl9fTtmdW5jdGlvbiBoQihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aUIoKS5hZGRSZXN0cmljdGlvbigwLGEsYixjKX1mdW5jdGlvbiBqQigpe3ZhciBhPXZrKCk7cmV0dXJuIGlCKCkuZ2V0UmVzdHJpY3Rpb25zKDAsYSl9ZnVuY3Rpb24ga0IoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lCKCkuYWRkUmVzdHJpY3Rpb24oMSxhLGIsYyl9ZnVuY3Rpb24gbEIoKXt2YXIgYT12aygpO3JldHVybiBpQigpLmdldFJlc3RyaWN0aW9ucygxLGEpfXZhciBtQj1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9O3RoaXMuSD17fX0sbkI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRhaW5lcltiXTtjfHwoYz17X2VudGl0eTp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119LF9ldmVudDp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119fSxhLmNvbnRhaW5lcltiXT1jKTtyZXR1cm4gY307Cm1CLnByb3RvdHlwZS5hZGRSZXN0cmljdGlvbj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtpZighZHx8IXRoaXMuSFtiXSl7dmFyIGU9bkIodGhpcyxiKTthPT09MD9kP2UuX2VudGl0eS5leHRlcm5hbC5wdXNoKGMpOmUuX2VudGl0eS5pbnRlcm5hbC5wdXNoKGMpOmE9PT0xJiYoZD9lLl9ldmVudC5leHRlcm5hbC5wdXNoKGMpOmUuX2V2ZW50LmludGVybmFsLnB1c2goYykpfX07Cm1CLnByb3RvdHlwZS5nZXRSZXN0cmljdGlvbnM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uQih0aGlzLGIpO2lmKGE9PT0wKXt2YXIgZCxlO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZD1jLl9lbnRpdHkpPT1udWxsP3ZvaWQgMDpkLmludGVybmFsKXx8W10pLHcoKGM9PW51bGw/dm9pZCAwOihlPWMuX2VudGl0eSk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXSkpfWlmKGE9PT0xKXt2YXIgZixnO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZj1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmYuaW50ZXJuYWwpfHxbXSksdygoYz09bnVsbD92b2lkIDA6KGc9Yy5fZXZlbnQpPT1udWxsP3ZvaWQgMDpnLmV4dGVybmFsKXx8W10pKX1yZXR1cm5bXX07Cm1CLnByb3RvdHlwZS5nZXRFeHRlcm5hbFJlc3RyaWN0aW9ucz1mdW5jdGlvbihhLGIpe3ZhciBjPW5CKHRoaXMsYiksZCxlO3JldHVybiBhPT09MD8oYz09bnVsbD92b2lkIDA6KGQ9Yy5fZW50aXR5KT09bnVsbD92b2lkIDA6ZC5leHRlcm5hbCl8fFtdOihjPT1udWxsP3ZvaWQgMDooZT1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXX07bUIucHJvdG90eXBlLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPW5CKHRoaXMsYSk7Yi5fZXZlbnQmJihiLl9ldmVudC5leHRlcm5hbD1bXSk7Yi5fZW50aXR5JiYoYi5fZW50aXR5LmV4dGVybmFsPVtdKTt0aGlzLkhbYV09ITB9O2Z1bmN0aW9uIGlCKCl7cmV0dXJuIGtqKCJyIixmdW5jdGlvbigpe3JldHVybiBuZXcgbUJ9KX07ZnVuY3Rpb24gb0IoYSxiLGMsZCl7dmFyIGU9Y0EudGFnc1thXSxmPXBCKGEsYixjLGQpO2lmKCFmKXJldHVybiBudWxsO3ZhciBnPVp6KGUsYyk7aWYoZyYmZy5sZW5ndGgpe3ZhciBoPWdbMF07Zj1vQihoLmluZGV4LHtvblN1Y2Nlc3M6ZixvbkZhaWx1cmU6aC5ibz09PTE/Yi50ZXJtaW5hdGU6Zix0ZXJtaW5hdGU6Yi50ZXJtaW5hdGV9LGMsZCl9cmV0dXJuIGZ9CmZ1bmN0aW9uIHBCKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXtmdW5jdGlvbiB5KCl7aW0oMyk7dmFyIFM9TmIoKS1OO0pBKDEsYSxmLmdldE5hbWUoKSk7Z0IoYy5pZCxnLCI3Iik7T0EoYy5sZCxELCJleGNlcHRpb24iLFMpO2ZuLkgmJkZ6KGMsZyxJeS5YLnVqKTtJfHwoST0hMCxsKCkpfWlmKGYuSWFbR2YuT3FdKWwoKTtlbHNle3ZhciB6PWFBKGYsYyk7aWYoeiE9bnVsbClmb3IodmFyIEM9MDtDPHoubGVuZ3RoO0MrKylpZighWG8oeltDXSkpe2woKTtyZXR1cm59dmFyIEQ9TkEoYy5sZCxmLk8sZi50YWdJZCxmLmdldE1ldGFkYXRhKGMpKSxJPSExLEc9e3Z0cF9ndG1PblN1Y2Nlc3M6ZnVuY3Rpb24oKXtpZighSSl7ST0hMDt2YXIgUz1OYigpLU47Z0IoYy5pZCxnLCI1Iik7T0EoYy5sZCxELCJzdWNjZXNzIixTKTtmbi5IJiZGeihjLGcsSXkuWC53aik7aCgpfX0sdnRwX2d0bU9uRmFpbHVyZTpmdW5jdGlvbigpe2lmKCFJKXtJPSEwO3ZhciBTPU5iKCktTjtnQihjLmlkLGcsIjYiKTsKT0EoYy5sZCxELCJmYWlsdXJlIixTKTtmbi5IJiZGeihjLGcsSXkuWC52aik7bCgpfX19O0cudnRwX2d0bUV2ZW50SWQ9Yy5pZDtjLnByaW9yaXR5SWQmJihHLnZ0cF9ndG1Qcmlvcml0eUlkPWMucHJpb3JpdHlJZCk7Z0IoYy5pZCxnLCIxIik7Zm4uSCYmRXooYyxnKTt2YXIgTj1OYigpO3RyeXtmLmV2YWx1YXRlKGMsZCxHKX1jYXRjaChTKXt5KFMpfWZuLkgmJkZ6KGMsZyxJeS5YLkNuKX19dmFyIGY9Y0EudGFnc1thXSxnPWYuRmcoKSxoPWIub25TdWNjZXNzLGw9Yi5vbkZhaWx1cmUsbj1iLnRlcm1pbmF0ZTtpZihjLmlzQmxvY2tlZChnKSlyZXR1cm4gbnVsbDt2YXIgcD0keihmLGMpO2lmKHAmJnAubGVuZ3RoKXt2YXIgcT1wWzBdLHI9b0IocS5pbmRleCx7b25TdWNjZXNzOmgsb25GYWlsdXJlOmwsdGVybWluYXRlOm59LGMsZCk7aWYoIXIpcmV0dXJuIG51bGw7aD1yO2w9cS5ibz09PTI/bjpyfWlmKGYuSWFbR2Yua25dfHxmLklhW0dmLlFxXSl7dmFyIHQ9Zi5JYVtHZi5rbl0/CmNBLnZrOmMudmssdT1oLHY9bDtpZighdFthXSl7dmFyIHg9cUIoYSx0LFBiKGUpKTtoPXgub25TdWNjZXNzO2w9eC5vbkZhaWx1cmV9cmV0dXJuIGZ1bmN0aW9uKCl7dFthXSh1LHYpfX1yZXR1cm4gZX1mdW5jdGlvbiBxQihhLGIsYyl7dmFyIGQ9W10sZT1bXTtiW2FdPXJCKGQsZSxjKTtyZXR1cm57b25TdWNjZXNzOmZ1bmN0aW9uKCl7YlthXT1zQjtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2JbYV09dEI7Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXSgpfX19ZnVuY3Rpb24gckIoYSxiLGMpe3JldHVybiBmdW5jdGlvbihkLGUpe2EucHVzaChkKTtiLnB1c2goZSk7YygpfX1mdW5jdGlvbiBzQihhKXthKCl9ZnVuY3Rpb24gdEIoYSxiKXtiKCl9O3ZhciB3Qj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxjQS50YWdzLmxlbmd0aDtkKyspaWYoYVtkXSl7dmFyIGU9Y0EudGFnc1tkXTt2YXIgZj1RQShiLmxkKTt0cnl7dmFyIGc9b0IoZCx7b25TdWNjZXNzOmYsb25GYWlsdXJlOmYsdGVybWluYXRlOmZ9LGIsZCk7aWYoZyl7dmFyIGg9UXpbZS5PXTtjLnB1c2goe05vOmQscHJpb3JpdHlPdmVycmlkZTooaD9oLnByaW9yaXR5T3ZlcnJpZGV8fDA6MCl8fEtBKGUuTywxKXx8MCxleGVjdXRlOmd9KX1lbHNlIHVCKGQsYiksZigpfWNhdGNoKG4pe2YoKX19Yy5zb3J0KHZCKTtmb3IodmFyIGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLmV4ZWN1dGUoKTtyZXR1cm4gYy5sZW5ndGg+MH07CmZ1bmN0aW9uIHhCKGEsYil7aWYoIUhBKXJldHVybiExO3ZhciBjPWFbImd0bS50cmlnZ2VycyJdJiZTdHJpbmcoYVsiZ3RtLnRyaWdnZXJzIl0pLGQ9SUEoYS5ldmVudCxjP1N0cmluZyhjKS5zcGxpdCgiLCIpOltdKTtpZighZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPVFBKGIpO3RyeXtkW2VdKGEsZil9Y2F0Y2goZyl7ZigpfX1yZXR1cm4hMH1mdW5jdGlvbiB2QihhLGIpe3ZhciBjLGQ9Yi5wcmlvcml0eU92ZXJyaWRlLGU9YS5wcmlvcml0eU92ZXJyaWRlO2M9ZD5lPzE6ZDxlPy0xOjA7dmFyIGY7aWYoYyE9PTApZj1jO2Vsc2V7dmFyIGc9YS5ObyxoPWIuTm87Zj1nPmg/MTpnPGg/LTE6MH1yZXR1cm4gZn0KZnVuY3Rpb24gdUIoYSxiKXtpZihmbi5OKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZT1iLmlzQmxvY2tlZChjQS50YWdzW2RdLkZnKCkpPyIzIjoiNCIsZj1aeihjQS50YWdzW2RdLGIpO2YmJmYubGVuZ3RoJiZjKGZbMF0uaW5kZXgpO2dCKGIuaWQsY0EudGFnc1tkXS5GZygpLGUpO3ZhciBnPSR6KGNBLnRhZ3NbZF0sYik7ZyYmZy5sZW5ndGgmJmMoZ1swXS5pbmRleCl9O2MoYSl9fXZhciBIQTtmdW5jdGlvbiB5Qigpe0hBfHwoSEE9bmV3IEdBKTtyZXR1cm4gSEF9CmZ1bmN0aW9uIHpCKGEpe3ZhciBiPWFbImd0bS51bmlxdWVFdmVudElkIl0sYz1hWyJndG0ucHJpb3JpdHlJZCJdLGQ9YVsiZ3RtLnByaW9yaXR5UXVldWUiXSxlPWEuZXZlbnQ7Zm4uSCYmdnooYixlKTtpZihlPT09Imd0bS5qcyIpe2lmKCRrKDEzKSlyZXR1cm4hMTtaaygxMywhMCl9dmFyIGY9ITEsZz1sQigpLGg9RWQoYSxudWxsKTtpZighZy5ldmVyeShmdW5jdGlvbih1KXtyZXR1cm4gdSh7b3JpZ2luYWxFdmVudERhdGE6aH0pfSkpe2lmKGUhPT0iZ3RtLmpzIiYmZSE9PSJndG0uaW5pdCImJmUhPT0iZ3RtLmluaXRfY29uc2VudCIpcmV0dXJuITE7Zj0hMH1kQihiLGUpO3ZhciBsPWEuZXZlbnRDYWxsYmFjayxuPWEuZXZlbnRUaW1lb3V0LHA9e2lkOmIscHJpb3JpdHlJZDpjLHByaW9yaXR5UXVldWU6ZCxuYW1lOmUsaXNCbG9ja2VkOkFCKGgsZiksdms6W10sbG9nTWFjcm9FcnJvcjpmdW5jdGlvbih1LHYseCl7UCg2KTtpbSg0KTtKQSgyLHYseCl9LGNhY2hlZE1vZGVsVmFsdWVzOkJCKCksCmxkOm5ldyBNQShmdW5jdGlvbigpe2ZuLkgmJnl6KGIsZSk7RnkoNSxlKTtsJiZsLmFwcGx5KGwsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sbiksb3JpZ2luYWxFdmVudERhdGE6aH07Zm4uSCYmQ3oocC5pZCk7dmFyIHE9RUEocCk7Zm4uSCYmRHoocC5pZCk7RnkoMixlKTtjQS5nZXRSdWxlcygpO2YmJihxPUNCKHEpKTtmbi5IJiZ3eihiKTt2YXIgcj13QihxLHApO3ImJkZ5KDQsZSk7dmFyIHQ9eEIoYSxwLmxkKTtSQShwLmxkKTtlIT09Imd0bS5qcyImJmUhPT0iZ3RtLnN5bmMifHxYQSgpO3JldHVybiBEQihxLHIpfHx0fQpmdW5jdGlvbiBCQigpe3ZhciBhPXt9O2EuZXZlbnQ9dkEoImV2ZW50IiwxKTthLmVjb21tZXJjZT12QSgiZWNvbW1lcmNlIiwxKTthLmd0bT12QSgiZ3RtIik7YS5ldmVudE1vZGVsPXZBKCJldmVudE1vZGVsIik7cmV0dXJuIGF9CmZ1bmN0aW9uIEFCKGEsYil7dmFyIGM9QUEoKTtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9YyhkKTtpZihlKXJldHVybiEwO3ZhciBmPWQmJmRbR2YuWWJdO2lmKCFmfHx0eXBlb2YgZiE9PSJzdHJpbmciKXJldHVybiEwO2Y9Zi5yZXBsYWNlKC9eXyovLCIiKTt2YXIgZz1qQigpLGg9YTtiJiYoaD1FZChhLG51bGwpLGhbImd0bS51bmlxdWVFdmVudElkIl09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2Zvcih2YXIgbD0hMSxuPWFsKDI3LGZ1bmN0aW9uKCl7cmV0dXJue319KVtmXXx8W10scD1tKGcpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlO3RyeXtyKHtlbnRpdHlJZDpmLHNlY3VyaXR5R3JvdXBzOm4sb3JpZ2luYWxFdmVudERhdGE6aH0pfHwobD0hMCl9Y2F0Y2godCl7bD0hMH19cmV0dXJuIGx8fGV9fQpmdW5jdGlvbiBDQihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10pe3ZhciBkPWNBLnRhZ3NbY10uTztpZihCaltkXXx8Y0EudGFnc1tjXS5JYVtHZi5ScV0hPT12b2lkIDB8fEtBKGQsMikpYltjXT0hMH1yZXR1cm4gYn1mdW5jdGlvbiBEQihhLGIpe2lmKCFiKXJldHVybiBiO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmNBLnRhZ3NbY10mJiFDaltjQS50YWdzW2NdLk9dKXJldHVybiEwO3JldHVybiExfTt2YXIgRUI9TmYoNjEsMUUzKSxGQj1OZig2OCwyRTMpLFpvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl07ZnVuY3Rpb24gR0IoYSxiKXtpZihhKXt2YXIgYz1raigiZ3RoIixmdW5jdGlvbigpe3JldHVybnt9fSksZDthIT09Mnx8KChkPUhCKCkpPT1udWxsP3ZvaWQgMDpkLnN0YXR1cykhPT0zfHxiIT09dm9pZCAwJiZiPD1GQnx8KGE9MyxjLmRsPWI/TWF0aC5mbG9vcihiLzFFMyk6dm9pZCAwKTtjLnM9YTtJQihjKX19ZnVuY3Rpb24gSUIoYSl7aWYoYS5zKXt2YXIgYj1mdW5jdGlvbigpe3ZhciBjPXtzdGF0dXM6YS5zLGV4cGlyZXM6RGF0ZS5ub3coKSs4NjRFNX07YS5kbCE9PXZvaWQgMCYmKGMuZGVsYXk9YS5kbCk7a3IoImd0Z19sb2FkX3N0YXR1cyIsYyl9O2JwKGZ1bmN0aW9uKCl7aWYoWW8oKSliKCk7ZWxzZSBmb3IodmFyIGM9UGIoYiksZD1tKFpvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlJbChjLGUudmFsdWUpfSxabyl9fQpmdW5jdGlvbiBKQigpe3ZhciBhPUtCKCEwKTtyZXR1cm4gYT8oTEIoYS5zdGF0dXMsYS5kZWxheSksITEpOiEwfWZ1bmN0aW9uIEtCKGEpe2E9YT09PXZvaWQgMD8hMTphO2lmKGFrKCkpe3ZhciBiPW5yKCJndGdfbG9hZF9zdGF0dXMiKSxjPWIudmFsdWUsZD1hJiZBYihjPT1udWxsP3ZvaWQgMDpjLmV4cGlyZXMpJiYoYz09bnVsbD92b2lkIDA6Yy5leHBpcmVzKTxEYXRlLm5vdygpKzM2RTU7aWYoYi5lcnJvcj09PTAmJkFiKGM9PW51bGw/dm9pZCAwOmMuc3RhdHVzKSYmIWQpe3ZhciBlPXtzdGF0dXM6Yy5zdGF0dXN9OyhjPT1udWxsP3ZvaWQgMDpjLmRlbGF5KSE9PXZvaWQgMCYmKGUuZGVsYXk9Yy5kZWxheSk7cmV0dXJuIGV9cmV0dXJuIEhCKCl9fWZ1bmN0aW9uIExCKGEsYil7dmFyIGM9a2ooImd0aCIsZnVuY3Rpb24oKXtyZXR1cm57fX0pO2Mucz1hO2IhPT12b2lkIDAmJihjLmRsPWIpfQpmdW5jdGlvbiBIQigpe3ZhciBhPW1qKCJndGgiKTtpZihhIT1udWxsJiZhLnMpe3ZhciBiPXtzdGF0dXM6YS5zfTthLmRsIT09dm9pZCAwJiYoYi5kZWxheT1hLmRsKTtyZXR1cm4gYn19ZnVuY3Rpb24gTUIoKXt2YXIgYTsoKGE9SEIoKSk9PW51bGw/dm9pZCAwOmEuc3RhdHVzKT09PTEmJkdCKDMpfWZ1bmN0aW9uIE5CKCl7aWYoSkIoKSl7dmFyIGE9RGF0ZS5ub3coKTtuaigiZ3RoIix7bDpmdW5jdGlvbigpe0dCKDIsRGF0ZS5ub3coKS1hKX0sczoxfSk7dmFyIGI9RSg1KSxjPVNiKGIsIkdUTS0iKT8iL2d0bS5qcyI6Ii9ndGFnL2pzIixkPSJodHRwczovLyIrRSgzKStjKyI/aWQ9IitiKyImZ3RnX2hlYWx0aD0xIjtVYyhkLE1CLE1CKTtBLnNldFRpbWVvdXQoTUIsRUIpfX07ZnVuY3Rpb24gT0IoKXt5QigpLmFkZExpc3RlbmVyKCJndG0uaW5pdCIsZnVuY3Rpb24oYSxiKXtaaygyNiwhMCk7TSg1NTYpJiZhaygpJiYhSWYoNDUpJiYoZm8uSFtjby5pYS5aYl09Ym8uTWEuTGgpO2lmKGFrKCkpe3ZhciBjO2M9bG8oY28uaWEuWmIpO2dvKGMpP2lvKGMsTkIpOk5CKCl9dG8oITEsITApO2IoKX0pfTtmdW5jdGlvbiBQQigpe2lmKG1qKCJwc2NkbCIpIT09dm9pZCAwKW5tKGptLmJhLm9pKT09PXZvaWQgMCYmbW0oam0uYmEub2ksbWooInBzY2RsIikpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oYyl7bmooInBzY2RsIixjKTttbShqbS5iYS5vaSxjKX0sYj1mdW5jdGlvbigpe2EoImVycm9yIil9O3RyeXtIYy5jb29raWVEZXByZWNhdGlvbkxhYmVsPyhhKCJwZW5kaW5nIiksSGMuY29va2llRGVwcmVjYXRpb25MYWJlbC5nZXRWYWx1ZSgpLnRoZW4oYSkuY2F0Y2goYikpOmEoIm5vYXBpIil9Y2F0Y2goYyl7YihjKX19fTt2YXIgUkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucmVhZHk9ITE7dGhpcy5LPTA7dGhpcy5IPVtdO3ZhciBiPUE7aWYoQi5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlIiYmIUIuY3JlYXRlRXZlbnRPYmplY3R8fEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vblJlYWR5KCk7ZWxzZXskYyhCLCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTskYyhCLCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTtpZihCLmNyZWF0ZUV2ZW50T2JqZWN0JiZCLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCl7dmFyIGM9ITA7dHJ5e2M9IWIuZnJhbWVFbGVtZW50fWNhdGNoKGQpe31jJiZRQih0aGlzKX0kYyhiLCJsb2FkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KX19O1JCLnByb3RvdHlwZS5pc1JlYWR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZHl9OwpSQi5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbihhKXtpZighdGhpcy5yZWFkeSl7dmFyIGI9Qi5jcmVhdGVFdmVudE9iamVjdCxjPUIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIsZD1CLnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUiO2lmKCFhfHxhLnR5cGUhPT0icmVhZHlzdGF0ZWNoYW5nZSJ8fGN8fCFiJiZkKXt0aGlzLnJlYWR5PSEwO2Zvcih2YXIgZT0wO2U8dGhpcy5ILmxlbmd0aDtlKyspYmQodGhpcy5IW2VdKX10aGlzLkgucHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz0wO2c8Zi5sZW5ndGg7ZysrKWJkKGZbZ10pO3JldHVybiAwfX19Owp2YXIgUUI9ZnVuY3Rpb24oYSl7aWYoIWEucmVhZHkmJmEuSzwxNDApe2EuSysrO3RyeXt2YXIgYixjOyhjPShiPUIuZG9jdW1lbnRFbGVtZW50KS5kb1Njcm9sbCk9PW51bGx8fGMuY2FsbChiLCJsZWZ0Iik7YS5vblJlYWR5KCl9Y2F0Y2goZCl7QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgUUIoYSl9LDUwKX19fSxTQjtmdW5jdGlvbiBUQigpe1NCfHwoU0I9bmV3IFJCKX1mdW5jdGlvbiBVQigpe1RCKCk7dmFyIGE7cmV0dXJuKGE9U0IpPT1udWxsP3ZvaWQgMDphLmlzUmVhZHkoKX1mdW5jdGlvbiBWQihhKXtUQigpO3ZhciBiOyhiPVNCKSE9bnVsbCYmKGIucmVhZHk/YmQoYSk6Yi5ILnB1c2goYSkpfTt2YXIgWEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVdCLGU7aWYoKGU9ZC5IKT09bnVsbHx8IWUuT3Ipe3ZhciBmPU9iamVjdC5rZXlzKGIpLmxlbmd0aD4wPzI6MSxnLGgsbD0oYz09bnVsbD92b2lkIDA6KGg9Yy5vcmlnaW5hdGluZ0VudGl0eSk9PW51bGw/dm9pZCAwOmgub3JpZ2luQ29udGFpbmVySWQpfHwiIjtnPWw/U2IobCwiR1RNLSIpPzM6MjoxO2lmKCFhKWQuSD17dHlwZTpmLHNvdXJjZTpnLHBhcmFtczpifTtlbHNlIGlmKGQuSCl7UCgxODQpO3ZhciBuPSExO2QuSC5zb3VyY2U9PT1nfHxkLkguc291cmNlIT09MyYmZyE9PTN8fChVbSgiaWRjcyIsIjEiKSxuPSEwKTtkLkgudHlwZSE9PTImJmYhPT0yfHxQKDE4Nik7dmFyIHA7aWYocD1kLkgudHlwZT09PTImJmY9PT0yKWE6e3ZhciBxPWQuSC5wYXJhbXMscj1PYmplY3Qua2V5cyhxKSx0PU9iamVjdC5rZXlzKGIpO2lmKHIubGVuZ3RoIT09dC5sZW5ndGgpcD0hMDtlbHNle2Zvcih2YXIgdT1tKHIpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtpZighYi5oYXNPd25Qcm9wZXJ0eSh4KXx8cVt4XSE9PWJbeF0pe3A9ITA7YnJlYWsgYX19cD0hMX19cCYmKFVtKCJpZGNjIiwiMSIpLG49ITApO24mJih0bygpLGQuSC5Pcj0hMCl9fX0sV0I9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXZvaWQgMH07dmFyIFpCPWZ1bmN0aW9uKGEpe3ZhciBiPVlCOyghZm4uS3x8U2IoRSg1KSwiR1RNLSIpPzA6YT09PXZvaWQgMCkmJmIuSD09PTAmJihVbSgibWNjIiwiMSIpLGIuSD0xKX0sWUI9bmV3IGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9MDtVbSgibmNjIixmdW5jdGlvbigpe2lmKElmKDQ1KSYmYS5IIT09MilyZXR1cm4iMSJ9KX07dmFyICRCPS9eKD86QVd8REN8R3xHRnxHVHxIQXxNQ3xVQSkkLyxhQz0vXHMvOwpmdW5jdGlvbiBiQyhhLGIpe2lmKHpiKGEpKXthPUxiKGEpO3ZhciBjPWEuaW5kZXhPZigiLSIpO2lmKCEoYzwwKSl7dmFyIGQ9YS5zdWJzdHJpbmcoMCxjKTtpZigkQi50ZXN0KGQpKXt2YXIgZT1hLnN1YnN0cmluZyhjKzEpLGY7aWYoYil7dmFyIGc9ZnVuY3Rpb24obil7dmFyIHA9bi5pbmRleE9mKCIvIik7cmV0dXJuIHA8MD9bbl06W24uc3Vic3RyaW5nKDAscCksbi5zdWJzdHJpbmcocCsxKV19O2Y9ZyhlKTtpZihkPT09IkRDIiYmZi5sZW5ndGg9PT0yKXt2YXIgaD1nKGZbMV0pO2gubGVuZ3RoPT09MiYmKGZbMV09aFswXSxmLnB1c2goaFsxXSkpfX1lbHNle2Y9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgbD0wO2w8Zi5sZW5ndGg7bCsrKWlmKCFmW2xdfHxhQy50ZXN0KGZbbF0pJiYoZCE9PSJBVyJ8fGwhPT0xKSlyZXR1cm59cmV0dXJue2lkOmEscHJlZml4OmQsZGVzdGluYXRpb25JZDpkKyItIitmWzBdLGlkczpmLEpjOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWQhPT10aGlzLmRlc3RpbmF0aW9uSWR9fX19fX0KZnVuY3Rpb24gY0MoYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1iQyhhW2RdLGIpO2UmJihjW2UuaWRdPWUpfXZhciBmPVtdLGc7Zm9yKGcgaW4gYylpZihjLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1jW2ddO2gucHJlZml4PT09IkFXIiYmaC5pZHNbZENbMV1dJiZmLnB1c2goaC5kZXN0aW5hdGlvbklkKX1mb3IodmFyIGw9MDtsPGYubGVuZ3RoOysrbClkZWxldGUgY1tmW2xdXTtmb3IodmFyIG49W10scD1tKE9iamVjdC5rZXlzKGMpKSxxPXAubmV4dCgpOyFxLmRvbmU7cT1wLm5leHQoKSluLnB1c2goY1txLnZhbHVlXSk7cmV0dXJuIG59dmFyIGVDPXt9LGRDPShlQ1swXT0wLGVDWzFdPTEsZUNbMl09MixlQ1szXT0wLGVDWzRdPTEsZUNbNV09MCxlQ1s2XT0wLGVDWzddPTAsZUMpO3ZhciBmQz17aW5pdGlhbGl6ZWQ6MTEsY29tcGxldGU6MTIsaW50ZXJhY3RpdmU6MTN9LGdDPXt9LGhDPU9iamVjdC5mcmVlemUoKGdDW0YuRC5UZF09ITAsZ0MpKSxpQz1mdW5jdGlvbigpe3RoaXMuUj1OZigzNCw1MDApO3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5LPXZvaWQgMH0sakM9ZnVuY3Rpb24oYSxiLGMpe2lmKGMubGVuZ3RoJiZmbi5LKXt2YXIgZDsoZD1hLkgpW2JdIT1udWxsfHwoZFtiXT1bXSk7dmFyIGU7KGU9YS5OKVtiXSE9bnVsbHx8KGVbYl09W10pO3ZhciBmPWMuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiFhLk5bYl0uaW5jbHVkZXMoZyl9KTthLkhbYl0ucHVzaC5hcHBseShhLkhbYl0sdyhmKSk7YS5OW2JdLnB1c2guYXBwbHkoYS5OW2JdLHcoZikpOyFhLksmJmYubGVuZ3RoPjAmJihWbSgidGRjIiwhMCksYS5LPUEuc2V0VGltZW91dChmdW5jdGlvbigpe3RvKCk7YS5IPXt9O2EuSz12b2lkIDB9LGEuUikpfX07CmlDLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztVbSgidGRjIixmdW5jdGlvbigpe2EuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCk7dmFyIGI9W10sYztmb3IoYyBpbiBhLkgpYS5ILmhhc093blByb3BlcnR5KGMpJiZiLnB1c2goYysiKiIrYS5IW2NdLmpvaW4oIi4iKSk7cmV0dXJuIGIubGVuZ3RoP2Iuam9pbigiISIpOnZvaWQgMH0sITEpfTsKdmFyIGtDPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZDtmb3IoZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPSEwKTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT0hMCk7cmV0dXJuIGN9LGxDPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP3t9OmQ7ZT1lPT09dm9pZCAwPyIiOmU7aWYoYj09PWMpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24odCx1KXt2YXIgdjtBZCh1KT09PSJvYmplY3QiP3Y9dVt0XTpBZCh1KT09PSJhcnJheSImJih2PXVbdF0pO3JldHVybiB2PT09dm9pZCAwP2hDW3RdOnZ9LGc9a0MoYixjKSxoO2ZvcihoIGluIGcpaWYoZy5oYXNPd25Qcm9wZXJ0eShoKSYmaCE9PUYuRC5YYil7dmFyIGw9KGU/ZSsiLiI6IiIpK2gsbj1mKGgsYikscD1mKGgsYykscT1BZChuKT09PSJvYmplY3QifHxBZChuKT09PSJhcnJheSIscj1BZChwKT09PSJvYmplY3QifHxBZChwKT09PSJhcnJheSI7aWYocSYmcilsQyhhLG4scCxkLGwpOwplbHNlIGlmKHF8fHJ8fG4hPT1wKWRbbF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSxtQz1uZXcgaUM7dmFyIG5DPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSz1OYigpO3RoaXMuSD1iO3RoaXMuYXJncz1jO3RoaXMubWVzc2FnZUNvbnRleHQ9ZDt0aGlzLnR5cGU9YX0sb0M9ZnVuY3Rpb24oKXt0aGlzLldhPXt9O3RoaXMuaWI9e307dGhpcy5LPXt9O3RoaXMuTj1udWxsO3RoaXMuaGI9e307dGhpcy5IPSExO3RoaXMuc3RhdHVzPTF9O2Z1bmN0aW9uIHBDKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3FDKCJzZXQiLGEpOnFDKCJzZXQiLGEsYil9ZnVuY3Rpb24gckMoYSxiKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTE/cUMoImNvbmZpZyIsYSk6cUMoImNvbmZpZyIsYSxiKX1mdW5jdGlvbiBzQyhhLGIsYyl7Yz1jfHx7fTtjW0YuRC5YYl09YTtyZXR1cm4gcUMoImV2ZW50IixiLGMpfWZ1bmN0aW9uIHFDKCl7cmV0dXJuIGFyZ3VtZW50c307dmFyIHRDPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG4scCxxLHIpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9ZDt0aGlzLldhPWU7dGhpcy5oYj1mO3RoaXMuSGM9Zzt0aGlzLkJnPWg7dGhpcy5pYj1sO3RoaXMuZXZlbnRNZXRhZGF0YT1uO3RoaXMub25TdWNjZXNzPXA7dGhpcy5vbkZhaWx1cmU9cTt0aGlzLmlzR3RtRXZlbnQ9cn0sdUM9ZnVuY3Rpb24oYSl7dmFyIGI9e29uU3VjY2Vzczp4YixvbkZhaWx1cmU6eGJ9O2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjLGQsZSxmLGcsaCxsLG4scCxxLHIsdCx1LHYseCx5LHosQyxELEksRyxOLFMsVyxlYSxqYTtyZXR1cm4gbmV3IHRDKCh2PShjPWIpPT1udWxsP3ZvaWQgMDpjLmV2ZW50SWQpIT1udWxsP3Y6YS5ldmVudElkLCh4PShkPWIpPT1udWxsP3ZvaWQgMDpkLnByaW9yaXR5SWQpIT1udWxsP3g6YS5wcmlvcml0eUlkLCh5PShlPWIpPT1udWxsP3ZvaWQgMDplLnByaW9yaXR5UXVldWUpIT0KbnVsbD95OmEucHJpb3JpdHlRdWV1ZSwoej0oZj1iKT09bnVsbD92b2lkIDA6Zi5FYSkhPW51bGw/ejphLkVhLChDPShnPWIpPT1udWxsP3ZvaWQgMDpnLldhKSE9bnVsbD9DOmEuV2EsKEQ9KGg9Yik9PW51bGw/dm9pZCAwOmguaGIpIT1udWxsP0Q6YS5oYiwoST0obD1iKT09bnVsbD92b2lkIDA6bC5IYykhPW51bGw/STphLkhjLChHPShuPWIpPT1udWxsP3ZvaWQgMDpuLkJnKSE9bnVsbD9HOmEuQmcsKE49KHA9Yik9PW51bGw/dm9pZCAwOnAuaWIpIT1udWxsP046YS5pYiwoUz0ocT1iKT09bnVsbD92b2lkIDA6cS5ldmVudE1ldGFkYXRhKSE9bnVsbD9TOmEuZXZlbnRNZXRhZGF0YSwoVz0ocj1iKT09bnVsbD92b2lkIDA6ci5vblN1Y2Nlc3MpIT1udWxsP1c6YS5vblN1Y2Nlc3MsKGVhPSh0PWIpPT1udWxsP3ZvaWQgMDp0Lm9uRmFpbHVyZSkhPW51bGw/ZWE6YS5vbkZhaWx1cmUsKGphPSh1PWIpPT1udWxsP3ZvaWQgMDp1LmlzR3RtRXZlbnQpIT1udWxsP2phOmEuaXNHdG1FdmVudCl9LAp2Qz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO3N3aXRjaChiKXtjYXNlIDM6Yy5wdXNoKGEuRWEpO2MucHVzaChhLldhKTtjLnB1c2goYS5oYik7Yy5wdXNoKGEuSGMpO2MucHVzaChhLmliKTticmVhaztjYXNlIDI6Yy5wdXNoKGEuRWEpO2JyZWFrO2Nhc2UgMTpjLnB1c2goYS5XYSk7Yy5wdXNoKGEuaGIpO2MucHVzaChhLkhjKTtjLnB1c2goYS5pYik7YnJlYWs7Y2FzZSA0OmMucHVzaChhLkVhKSxjLnB1c2goYS5XYSksYy5wdXNoKGEuaGIpLGMucHVzaChhLkhjKX1yZXR1cm4gY30sTz1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9bSh2QyhhLGQ9PT12b2lkIDA/MzpkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZ1tiXSE9PXZvaWQgMClyZXR1cm4gZ1tiXX1yZXR1cm4gY30sd0M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9dkMoYSw0KSxkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZm9yKHZhciBmPU9iamVjdC5rZXlzKGUudmFsdWUpLApnPW0oZiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpYltoLnZhbHVlXT0xO3JldHVybiBPYmplY3Qua2V5cyhiKX07dEMucHJvdG90eXBlLmdldE1lcmdlZFZhbHVlcz1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPzM6Yjt2YXIgZD17fSxlPSExLGY9ZnVuY3Rpb24obil7Q2QobikmJkdiKG4sZnVuY3Rpb24ocCxxKXtlPSEwO2RbcF09cX0pfTtjJiZmKGMpO3ZhciBnPXZDKHRoaXMsYik7Zy5yZXZlcnNlKCk7Zm9yKHZhciBoPW0oZyksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpZihsLnZhbHVlW2FdKTtyZXR1cm4gZT9kOnZvaWQgMH07CnZhciB4Qz1mdW5jdGlvbihhKXtmb3IodmFyIGI9W0YuRC5LZixGLkQuR2YsRi5ELkhmLEYuRC5JZixGLkQuSmYsRi5ELkxmLEYuRC5NZl0sYz12QyhhLDMpLGQ9bShjKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7Zm9yKHZhciBmPWUudmFsdWUsZz17fSxoPSExLGw9bShiKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtmW3BdIT09dm9pZCAwJiYoZ1twXT1mW3BdLGg9ITApfXZhciBxPWg/Zzp2b2lkIDA7aWYocSlyZXR1cm4gcX1yZXR1cm57fX0seUM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9e307dGhpcy5XYT17fTt0aGlzLmhiPXt9O3RoaXMuSGM9e307dGhpcy5CZz17fTt0aGlzLmliPXt9O3RoaXMuZXZlbnRNZXRhZGF0YT17fTt0aGlzLmlzR3RtRXZlbnQ9ITE7dGhpcy5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt9O3RoaXMub25GYWlsdXJlPQpmdW5jdGlvbigpe319LHpDPWZ1bmN0aW9uKGEsYil7YS5FYT1iO3JldHVybiBhfSxBQz1mdW5jdGlvbihhLGIpe2EuV2E9YjtyZXR1cm4gYX0sQkM9ZnVuY3Rpb24oYSxiKXthLmhiPWI7cmV0dXJuIGF9LENDPWZ1bmN0aW9uKGEsYil7YS5IYz1iO3JldHVybiBhfSxEQz1mdW5jdGlvbihhLGIpe2EuQmc9YjtyZXR1cm4gYX0sRUM9ZnVuY3Rpb24oYSxiKXthLmliPWI7cmV0dXJuIGF9LEZDPWZ1bmN0aW9uKGEsYil7YS5ldmVudE1ldGFkYXRhPWJ8fHt9O3JldHVybiBhfSxHQz1mdW5jdGlvbihhLGIpe2Eub25TdWNjZXNzPWI7cmV0dXJuIGF9LEhDPWZ1bmN0aW9uKGEsYil7YS5vbkZhaWx1cmU9YjtyZXR1cm4gYX0sSUM9ZnVuY3Rpb24oYSxiKXthLmlzR3RtRXZlbnQ9YjtyZXR1cm4gYX0sSkM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyB0QyhhLmV2ZW50SWQsYS5wcmlvcml0eUlkLGEucHJpb3JpdHlRdWV1ZSxhLkVhLGEuV2EsYS5oYixhLkhjLGEuQmcsYS5pYixhLmV2ZW50TWV0YWRhdGEsCmEub25TdWNjZXNzLGEub25GYWlsdXJlLGEuaXNHdG1FdmVudCl9O2Z1bmN0aW9uIEtDKGEsYil7R2IoYSxmdW5jdGlvbihjKXt2YXIgZDtpZihkPWMuY2hhckF0KDApPT09Il8iKXt2YXIgZTthOnN3aXRjaChjKXtjYXNlIEYuRC5WYjpjYXNlIEYuRC5SZjpjYXNlIEYuRC5zaDplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWQ9IWV9ZCYmKGImJmIoYyksZGVsZXRlIGFbY10pfSl9O3ZhciBMQz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbImVwciIsZi5qb2luKCIuIildKTtkJiZkZWxldGUgYS5IW2NdO3JldHVybiBlfSl9LE5DPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NQztmbi5OJiZhIT09dm9pZCAwJiYoZC5IW2FdPWQuSFthXXx8W10sZC5IW2FdLnB1c2goYytiKSxneigpLGV6KGEpKX0sTUM7ZnVuY3Rpb24gT0MoKXtNQ3x8KE1DPW5ldyBMQyl9O3ZhciBQQz1mdW5jdGlvbigpe3RoaXMuZGVzdGluYXRpb25zPXt9O3RoaXMuSD17fTt0aGlzLmNvbW1hbmRzPVtdfSxRQz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmRlc3RpbmF0aW9uc1tiLmRlc3RpbmF0aW9uSWRdPWEuZGVzdGluYXRpb25zW2IuZGVzdGluYXRpb25JZF18fG5ldyBvQ30sUkM9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZC5IKXt2YXIgZT1RQyhhLGQuSCksZj1lLk47aWYoZil7dmFyIGc9RWQoYyxudWxsKSxoPUVkKGUuV2FbZC5ILmRlc3RpbmF0aW9uSWRdLG51bGwpLGw9RWQoZS5oYixudWxsKSxuPUVkKGUuaWIsbnVsbCkscD1FZChhLkgsbnVsbCkscT17fTtpZihmbi5OKXRyeXtxPUVkKHJBLkgsbnVsbCl9Y2F0Y2goeCl7UCg3Mil9dmFyIHI9ZC5ILnByZWZpeCx0PWZ1bmN0aW9uKHgpe3ZhciB5PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHkscix4KX0sdT1KQyhJQyhIQyhHQyhGQyhEQyhDQyhFQyhCQyhBQyh6QyhuZXcgeUMoZC5tZXNzYWdlQ29udGV4dC5ldmVudElkLApkLm1lc3NhZ2VDb250ZXh0LnByaW9yaXR5SWQsZC5tZXNzYWdlQ29udGV4dC5wcmlvcml0eVF1ZXVlKSxnKSxoKSxsKSxuKSxwKSxxKSxkLm1lc3NhZ2VDb250ZXh0LmV2ZW50TWV0YWRhdGEpLGZ1bmN0aW9uKCl7aWYodCl7dmFyIHg9dDt0PXZvaWQgMDt4KCIyIik7aWYoZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MpZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MoKX19KSxmdW5jdGlvbigpe2lmKHQpe3ZhciB4PXQ7dD12b2lkIDA7eCgiMyIpO2lmKGQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKWQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKCl9fSksISFkLm1lc3NhZ2VDb250ZXh0LmlzR3RtRXZlbnQpKSx2PWZ1bmN0aW9uKCl7dHJ5e3ZhciB4PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHgsciwiMSIpO3ZhciB5PWQuSC5pZCx6PW1DO2lmKGZuLksmJmI9PT1GLkQud2Epe3ZhciBDLEQ9KEM9YkMoeSkpPT1udWxsP3ZvaWQgMDpDLmlkcztpZighKEQmJkQubGVuZ3RoPgoxKSl7dmFyIEk9dS5FYVtGLkQuWGJdO2lmKCFJfHxJPT09eSl7dmFyIEcsTj1NYygiZ29vZ2xlX3RhZ19kYXRhIix7fSk7Ti50ZHx8KE4udGQ9e30pO0c9Ti50ZDt2YXIgUz1FZCh1LkhjLG51bGwpO0VkKHUuRWEsUyk7dmFyIFc9W10sZWE7Zm9yKGVhIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShlYSkmJmxDKHosR1tlYV0sUykubGVuZ3RoJiZXLnB1c2goZWEpO1cubGVuZ3RoJiYoakMoeix5LFcpLHNiKCJUQUdHSU5HIixmQ1tCLnJlYWR5U3RhdGVdfHwxNCkpO0dbeV09U319fWYoZC5ILmlkLGIsZC5LLHUpfWNhdGNoKGZhKXt2YXIgamE9ZC5tZXNzYWdlQ29udGV4dC5ldmVudElkO09DKCk7TkMoamEsciwiNCIpfX07Yj09PSJndGFnLmdldCI/digpOmlvKGUuUix2KX19fSxTQz1mdW5jdGlvbihhLGIpe2lmKGIudHlwZSE9PSJyZXF1aXJlIil7dmFyIGM9dm9pZCAwO2IudHlwZT09PSJldmVudCImJihjPWIuYXJnc1sxXSk7aWYoYi5IKWZvcih2YXIgZD1RQyhhLGIuSCkuS1tiLnR5cGVdfHwKW10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0oYyk7ZWxzZSBmb3IodmFyIGYgaW4gYS5kZXN0aW5hdGlvbnMpaWYoYS5kZXN0aW5hdGlvbnMuaGFzT3duUHJvcGVydHkoZikpe3ZhciBnPWEuZGVzdGluYXRpb25zW2ZdO2lmKGcmJmcuSylmb3IodmFyIGg9Zy5LW2IudHlwZV18fFtdLGw9MDtsPGgubGVuZ3RoO2wrKyloW2xdKGMpfX19O1BDLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1RQyh0aGlzLGEpO2Uuc3RhdHVzIT09MyYmKGUuTj1iLGUuc3RhdHVzPTMsZS5SPWxvKGMpLFRDKHRoaXMsYSxkfHx7fSksdGhpcy5mbHVzaCgpKX07ClBDLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT12b2lkIDAmJihRQyh0aGlzLGMpLnN0YXR1cz09PTEmJihRQyh0aGlzLGMpLnN0YXR1cz0yLHRoaXMucHVzaCgicmVxdWlyZSIsW3t9XSxjLHt9KSksUUModGhpcyxjKS5IJiYoZC5kZWZlcnJhYmxlPSExKSxkLmV2ZW50TWV0YWRhdGF8fChkLmV2ZW50TWV0YWRhdGE9e30pLGQuZXZlbnRNZXRhZGF0YVtILkouc2ddfHwoZC5ldmVudE1ldGFkYXRhW0guSi5zZ109W2MuZGVzdGluYXRpb25JZF0pLGQuZXZlbnRNZXRhZGF0YVtILkoubWpdfHwoZC5ldmVudE1ldGFkYXRhW0guSi5tal09W2MuaWRdKSk7dGhpcy5jb21tYW5kcy5wdXNoKG5ldyBuQyhhLGMsYixkKSk7ZC5kZWZlcnJhYmxlfHx0aGlzLmZsdXNoKCl9OwpQQy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMsYz1bXSxkPSExLGU9e307dGhpcy5jb21tYW5kcy5sZW5ndGg7ZT17Wm46dm9pZCAwfSl7dmFyIGY9dGhpcy5jb21tYW5kc1swXSxnPWYuSDtpZihmLm1lc3NhZ2VDb250ZXh0LmRlZmVycmFibGUpIWd8fFFDKHRoaXMsZykuSD8oZi5tZXNzYWdlQ29udGV4dC5kZWZlcnJhYmxlPSExLHRoaXMuY29tbWFuZHMucHVzaChmKSk6Yy5wdXNoKGYpLHRoaXMuY29tbWFuZHMuc2hpZnQoKTtlbHNle3N3aXRjaChmLnR5cGUpe2Nhc2UgInJlcXVpcmUiOmlmKFFDKHRoaXMsZykuc3RhdHVzIT09MyYmIWEpe3RoaXMuY29tbWFuZHMucHVzaC5hcHBseSh0aGlzLmNvbW1hbmRzLGMpO3JldHVybn1icmVhaztjYXNlICJzZXQiOnZhciBoPWYuYXJnc1swXTtLQyhoKTtVQyhoKTtHYihoLGZ1bmN0aW9uKHgseSl7RWQoVmIoeCx5KSxiLkgpfSk7SHUoaCwhMCk7YnJlYWs7Y2FzZSAiZXZlbnQiOmUuWm49Zi5hcmdzWzFdO3ZhciBsPQpWQyhmLmFyZ3NbMF0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fShlKSksbj1sW0YuRC5YYl07biYmbiE9PWcuaWR8fEh1KGwpO1JDKHRoaXMsZS5abixsLGYpO2JyZWFrO2Nhc2UgImdldCI6dmFyIHA9e30scT0ocFtGLkQuVGZdPWYuYXJnc1swXSxwW0YuRC5TZl09Zi5hcmdzWzFdLHApO1JDKHRoaXMsRi5ELkpiLHEsZik7YnJlYWs7Y2FzZSAiY29udGFpbmVyX2NvbmZpZyI6dmFyIHI9UUModGhpcyxnKSx0PVZDKGYuYXJnc1swXSxmdW5jdGlvbigpe30pO0h1KHQsITApO3IuSD0hMDtFZCh0LHIuaGIpO2Q9ITA7YnJlYWs7Y2FzZSAiZGVzdGluYXRpb25fY29uZmlnIjp2YXIgdT1RQyh0aGlzLGcpLHY9VkMoZi5hcmdzWzBdLGZ1bmN0aW9uKCl7fSk7SHUodiwhMCk7dS5XYVtnLmlkXXx8KHUuV2FbZy5pZF09e30pO3UuSD0hMDtFZCh2LHUuV2FbZy5pZF0pO2Q9ITA7YnJlYWs7Y2FzZSAicmVzZXRfY29udGFpbmVyX2NvbmZpZyI6UUModGhpcyxnKS5oYj17fTticmVhazsKY2FzZSAicmVzZXRfdGFyZ2V0X2NvbmZpZyI6UUModGhpcyxnKS5XYVtnLmlkXT17fX10aGlzLmNvbW1hbmRzLnNoaWZ0KCk7U0ModGhpcyxmKX19dGhpcy5jb21tYW5kcy5wdXNoLmFwcGx5KHRoaXMuY29tbWFuZHMsYyk7ZCYmdGhpcy5mbHVzaCgpfTt2YXIgVEM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUVkKGMsbnVsbCk7RWQoUUMoYSxiKS5pYixkKTtRQyhhLGIpLmliPWR9O2Z1bmN0aW9uIFZDKGEsYil7dmFyIGM9e307R2IoYSxmdW5jdGlvbihkLGUpe0VkKFZiKGQsZSksYyl9KTtLQyhjLGIpO1VDKGMpO3JldHVybiBjfQpmdW5jdGlvbiBVQyhhKXtpZihNKDYwMSkmJkJBKCkpe2Zvcih2YXIgYj0hMSxjPW0obmV3IFNldChbRi5ELnljLEYuRC5kZF0pKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTthW2VdIT09dm9pZCAwJiYoYj0hMCxkZWxldGUgYVtlXSl9YiYmIWFsKDM1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSYmKFprKDM1LCEwKSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdvb2dsZSBUYWcgTWFuYWdlcjogU2VydmVyLXNpZGUgR1RNIHBhcmFtZXRlcnMgKHRyYW5zcG9ydF91cmwvc2VydmVyX2NvbnRhaW5lcl91cmwpIGFyZSBub3QgcGVybWl0dGVkIG9uIHRoaXMgZG9tYWluIGFuZCBoYXZlIGJlZW4gaWdub3JlZC4iKSxQKDE5NykpfX07dmFyIFdDPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBQQzt0aGlzLks9ITF9O1dDLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMuSC5mbHVzaCgpfTt2YXIgWEM7ZnVuY3Rpb24gWUMoKXtYQ3x8KFhDPW5ldyBXQyk7cmV0dXJuIFhDfWZ1bmN0aW9uIFpDKGEsYixjLGQpe3ZhciBlPVlDKCksZj1iQyhjLGQuaXNHdG1FdmVudCk7ZiYmKGUuSyYmKGQuZGVmZXJyYWJsZT0hMCksZS5ILnB1c2goImV2ZW50IixbYixhXSxmLGQpKX1mdW5jdGlvbiAkQyhhLGIsYyxkKXt2YXIgZT1ZQygpLGY9YkMoYyxkLmlzR3RtRXZlbnQpO2YmJmUuSC5wdXNoKCJnZXQiLFthLGJdLGYsZCl9ZnVuY3Rpb24gYUQoYSxiLGMpe3ZhciBkPVlDKCksZT1iQyhhLGMuaXNHdG1FdmVudCk7ZSYmZC5ILnB1c2goImNvbnRhaW5lcl9jb25maWciLFtiXSxlLGMpfQpmdW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9WUMoKSxlPWJDKGEsYy5pc0d0bUV2ZW50KTtlJiZkLkgucHVzaCgiZGVzdGluYXRpb25fY29uZmlnIixbYl0sZSxjKX1mdW5jdGlvbiBjRChhKXt2YXIgYj1ZQygpLGM9YkMoYSwhMCk7YyYmYi5ILnB1c2goInJlc2V0X2NvbnRhaW5lcl9jb25maWciLFtdLGMse30pfWZ1bmN0aW9uIGREKGEpe3ZhciBiPVlDKCksYz1iQyhhLCEwKTtjJiZiLkgucHVzaCgicmVzZXRfdGFyZ2V0X2NvbmZpZyIsW10sYyx7fSl9ZnVuY3Rpb24gZUQoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5pYjp7fX1mdW5jdGlvbiBmRChhKXtyZXR1cm4gWUMoKS5ILkhbYV19ZnVuY3Rpb24gZ0QoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5IOiExfTtmdW5jdGlvbiBoRChhLGIpe2EuaGFzT3duUHJvcGVydHkoImd0bS51bmlxdWVFdmVudElkIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJndG0udW5pcXVlRXZlbnRJZCIse3ZhbHVlOnJqKCl9KTtiLmV2ZW50SWQ9YVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtiLnByaW9yaXR5SWQ9YVsiZ3RtLnByaW9yaXR5SWQiXTtyZXR1cm57ZXZlbnRJZDpiLmV2ZW50SWQscHJpb3JpdHlJZDpiLnByaW9yaXR5SWR9fWZ1bmN0aW9uIGlEKGEpe2Zvcih2YXIgYj1tKFtGLkQuZGQsRi5ELnljXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWUsZT1hJiZhW2RdfHxmRChkKTtpZihlKXJldHVybiBlfX1mdW5jdGlvbiBqRChhKXtyZXR1cm4hYS5pc0d0bUV2ZW50fHxhLmV2ZW50TWV0YWRhdGEmJmEuZXZlbnRNZXRhZGF0YVtILkouQ2NdJiZhLmV2ZW50TWV0YWRhdGFbSC5KLk5iXSE9PXZrKCk/ITE6ITB9O3ZhciBrRD1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O3ZhciBsRD1mdW5jdGlvbigpe3RoaXMubWVzc2FnZXM9W107dGhpcy5IPVtdfTtsRC5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5tZXNzYWdlcy5sZW5ndGgrMTthWyJndG0udW5pcXVlRXZlbnRJZCJdPWI7YVsiZ3RtLnByaW9yaXR5SWQiXT1kO3ZhciBlPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZXZlbnRJZDpiLHByaW9yaXR5SWQ6ZCxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOiEwfSk7aWYoTSg1OTUpKXt2YXIgZj1jLnByaW9yaXR5UXVldWU/W10uY29uY2F0KHcoYy5wcmlvcml0eVF1ZXVlKSxbZF0pOltkXTthWyJndG0ucHJpb3JpdHlRdWV1ZSJdPWY7ZS5wcmlvcml0eVF1ZXVlPWZ9dmFyIGc9e21lc3NhZ2U6YSxub3RCZWZvcmVFdmVudElkOmIscHJpb3JpdHlJZDpkLG1lc3NhZ2VDb250ZXh0OmV9O3RoaXMubWVzc2FnZXMucHVzaChnKTtmb3IodmFyIGg9MDtoPHRoaXMuSC5sZW5ndGg7aCsrKXRyeXt0aGlzLkhbaF0oZyl9Y2F0Y2gobCl7fX07CmxELnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSl7dGhpcy5ILnB1c2goYSl9O2xELnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9e30sYj0wO2I8dGhpcy5tZXNzYWdlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm1lc3NhZ2VzW2JdLGQ9YVtjLm5vdEJlZm9yZUV2ZW50SWRdO2R8fChkPVtdLGFbYy5ub3RCZWZvcmVFdmVudElkXT1kKTtkLnB1c2goYyl9cmV0dXJuIGF9O2xELnByb3RvdHlwZS5wcnVuZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1bXSxkPTA7ZDx0aGlzLm1lc3NhZ2VzLmxlbmd0aDtkKyspe3ZhciBlPXRoaXMubWVzc2FnZXNbZF07ZS5ub3RCZWZvcmVFdmVudElkPT09YT9iLnB1c2goZSk6Yy5wdXNoKGUpfXRoaXMubWVzc2FnZXM9YztyZXR1cm4gYn07CmZ1bmN0aW9uIG1EKGEsYixjKXtjLmV2ZW50TWV0YWRhdGE9Yy5ldmVudE1ldGFkYXRhfHx7fTtjLmV2ZW50TWV0YWRhdGFbSC5KLk5iXT1NKDU1MCk/dmsoKTpFKDYpO25EKCkuZW5xdWV1ZShhLGIsYyl9ZnVuY3Rpb24gbkQoKXtyZXR1cm4ga2ooIm1iIixmdW5jdGlvbigpe3JldHVybiBuZXcgbER9KX07dmFyIHBEPWZ1bmN0aW9uKGEsYil7dmFyIGM9b0Q7Yj1TdHJpbmcoYikuc3BsaXQoIiwiKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9Yy5OW2JbZF1dfHxbXTtjLk5bYltkXV09ZTtlLmluZGV4T2YoYSk8MCYmZS5wdXNoKGEpfX0scUQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9b0QsZD1bXSxlPVtdLGY9e30sZz0wO2c8YS5sZW5ndGg7Zj17bGs6dm9pZCAwLFFqOnZvaWQgMCxSajp2b2lkIDB9LGcrKyl7dmFyIGg9YVtnXTtpZihoLmluZGV4T2YoIi0iKT49MCl7aWYoZi5saz1iQyhoLGIpLGYubGspe3ZhciBsPXRrKCk7Q2IobCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIHgubGsuZGVzdGluYXRpb25JZD09PXl9fShmKSk/ZC5wdXNoKGgpOmUucHVzaChoKX19ZWxzZXtpZihNKDU1MCkpe3ZhciBuPWMuS1toXXx8W107Zi5Saj17fTtuLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIGZ1bmN0aW9uKHkpe3guUmpbeV09ITB9fShmKSk7Zm9yKHZhciBwPQp0aygpLHE9MDtxPHAubGVuZ3RoO3ErKylmLlJqW3BbcV1dJiZkLnB1c2gocFtxXSl9ZWxzZXt2YXIgcj1jLkhbaF18fFtdO2YuUWo9e307ci5mb3JFYWNoKGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbih5KXt4LlFqW3ldPSEwfX0oZikpO2Zvcih2YXIgdD13aygpLHU9MDt1PHQubGVuZ3RoO3UrKylpZihmLlFqW3RbdV1dKXtkPWQuY29uY2F0KHRrKCkpO2JyZWFrfX12YXIgdj1jLk5baF18fFtdO3YubGVuZ3RoJiYoZD1kLmNvbmNhdCh2KSl9fXJldHVybntlazpkLFBzOmV9fSxyRD1mdW5jdGlvbihhKXtHYihvRC5ILGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q+PTAmJmMuc3BsaWNlKGQsMSl9KX0sc0Q9ZnVuY3Rpb24oYSl7R2Iob0QuSyxmdW5jdGlvbihiLGMpe3ZhciBkPWMuaW5kZXhPZihhKTtkPj0wJiZjLnNwbGljZShkLDEpfSl9LHREPWZ1bmN0aW9uKGEpe0diKG9ELk4sZnVuY3Rpb24oYixjKXt2YXIgZD1jLmluZGV4T2YoYSk7ZD49MCYmYy5zcGxpY2UoZCwKMSl9KX0sb0Q9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLks9e319O2Z1bmN0aW9uIHVEKGEsYixjKXt2YXIgZD1FZChhLG51bGwpO2QuZXZlbnRJZD12b2lkIDA7ZC5pbmhlcml0UGFyZW50Q29uZmlnPXZvaWQgMDtPYmplY3Qua2V5cyhiKS5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBiW2ZdIT09dm9pZCAwfSkmJlAoMTM2KTt2YXIgZT1FZChiLG51bGwpO0VkKGMsZSk7bUQockMod2soKVswXSxlKSxhLmV2ZW50SWQsZCl9CmZ1bmN0aW9uIHZEKGEsYixjLGQpe3ZhciBlPXt9LGY9KGVbRi5ELlViXT1GLkQud2EsZVsiZ3RtLmNvbmZpZ0NvbnRhaW5lcklkIl09YS5pZCxlWyJndG0uY29uZmlnUGFyYW1ldGVycyJdPWIsZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1kLmV2ZW50SWQsZSk7Yy5wcmlvcml0eVF1ZXVlJiYoZlsiZ3RtLnByaW9yaXR5UXVldWUiXT1jLnByaW9yaXR5UXVldWUpO2MuZXZlbnRNZXRhZGF0YSYmKGZbImd0bS5ldmVudE1ldGFkYXRhIl09Yy5ldmVudE1ldGFkYXRhKTthLkpjKCkmJihmWyJndG0uY29uZmlnQ29udGFpbmVySWQiXT13aygpWzBdLGZbImd0bS5vcmlnaW5hbENvbmZpZ1RhcmdldElkIl09YS5pZCk7cmV0dXJuIGZ9ZnVuY3Rpb24gd0QoYSxiLGMpe2lmKElmKDExKSYmIWMmJiFhW0YuRC5WZF0pe3ZhciBkPWFsKDEwLGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtaaygxMCwhMCk7WEIoZCxhLGIpO2lmKGQpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIHhEKGEsYil7dmFyIGM9e30sZD0oYy5ldmVudD1hLGMpO2ImJihkLmV2ZW50TW9kZWw9RWQoYixudWxsKSxiW0YuRC5QZl0mJihkLmV2ZW50Q2FsbGJhY2s9YltGLkQuUGZdKSxiW0YuRC5waF0mJihkLmV2ZW50VGltZW91dD1iW0YuRC5waF0pKTtyZXR1cm4gZH0KZnVuY3Rpb24geUQoYSxiKXt2YXIgYz1hJiZhW0YuRC5YYl07Yz09PXZvaWQgMCYmKGM9dUEoRi5ELlhiLDIpLGM9PT12b2lkIDAmJihjPSJkZWZhdWx0IikpO2lmKHpiKGMpfHxBcnJheS5pc0FycmF5KGMpKXt2YXIgZDtkPWIuaXNHdG1FdmVudD96YihjKT9bY106YzpjLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpLnNwbGl0KCIsIik7dmFyIGU9cUQoZCxiLmlzR3RtRXZlbnQpLGY9ZS5layxnPWUuUHM7aWYoZy5sZW5ndGgpZm9yKHZhciBoPWlEKGEpLGw9MDtsPGcubGVuZ3RoO2wrKyl7dmFyIG49YkMoZ1tsXSxiLmlzR3RtRXZlbnQpO2lmKG4pe3ZhciBwPW4uZGVzdGluYXRpb25JZCxxPXZvaWQgMDsoKHE9bmsobi5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOnEuc3RhdGUpPT09MHx8bkEocCxoLHtzb3VyY2U6Myxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOmIuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbn0pfX12YXIgcj1mLmNvbmNhdChnKTtyZXR1cm57ZWs6Y0MoZixiLmlzR3RtRXZlbnQpLAptcjpjQyhyLGIuaXNHdG1FdmVudCl9fX07dmFyIHpEPXt9LEFEPSh6RC5jb25maWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRChhLGIpLGQ7YTp7aWYoIShhLmxlbmd0aDwyKSYmemIoYVsxXSkpe3ZhciBlPXt9O2lmKGEubGVuZ3RoPjIpe2lmKGFbMl0hPT12b2lkIDAmJiFDZChhWzJdKXx8YS5sZW5ndGg+Myl7ZD12b2lkIDA7YnJlYWsgYX1lPWFbMl19dmFyIGY9YkMoYVsxXSxiLmlzR3RtRXZlbnQpO2lmKGYpe2Q9e3RhcmdldDpmLHBhcmFtczplfTticmVhayBhfX1kPXZvaWQgMH12YXIgZz1kO2lmKGcpe3ZhciBoPWcudGFyZ2V0LGw9Zy5wYXJhbXMsbjthOntpZighSWYoNykpe3ZhciBwPXlrKHprKCkpO2lmKE1rKHApKXt2YXIgcT1wLnBhcmVudCxyPXEuaXNEZXN0aW5hdGlvbjtuPXtWczp5ayhxKSxNczpyfTticmVhayBhfX1uPXZvaWQgMH12YXIgdD1uLHU9dD09bnVsbD92b2lkIDA6dC5Wcyx2PXQ9PW51bGw/dm9pZCAwOnQuTXM7ZEIoYy5ldmVudElkLCJndGFnLmNvbmZpZyIpO3ZhciB4LHk9aC5kZXN0aW5hdGlvbklkOwppZihoLkpjKCk/dGsoKS5pbmRleE9mKHkpIT09LTE6d2soKS5pbmRleE9mKHkpIT09LTEpYTp7aWYodSYmKFAoMTI4KSx2JiZQKDEzMCksYi5pbmhlcml0UGFyZW50Q29uZmlnKSl7dmFyIHo7dmFyIEM9JGsoMTIpO2lmKEMpdUQoYixDLGwpLHo9ITE7ZWxzZXt2YXIgRD0kaygxMSk7IWxbRi5ELlZkXSYmKE0oNTUwKXx8SWYoMTEpKSYmRHx8WmsoMTEsRWQobCxudWxsKSk7ej0hMH16JiZ1LmNvbnRhaW5lcnMmJnUuY29udGFpbmVycy5qb2luKCIsIik7eD12b2lkIDA7YnJlYWsgYX12YXIgST0hSWYoNDUpLEc9IVNiKGguaWQsIkdUTS0iKTtJJiZHJiYoT2JqZWN0LmtleXMobCkubGVuZ3RoPT09MD9HdShULlcuU2spOkd1KFQuVy5UayksRWwoKSYmR3UoVC5XLlJrKSwkaygzMSkmJkd1KFQuVy5VaykpO3ZhciBOPVlCO2ZuLksmJihOLkg9PT0xJiYoUW0uSC5tY2M9ITEpLE4uSD0yKTtpZihNKDU1MCl8fCF3RChsLGIsaC5KYygpKSl7a0QuSHx8UCg0Myk7aWYoIU0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIFM9CmguaWQ7aWYoaC5KYygpKXREKFMpLHBEKFMsbFtGLkQuT2RdfHwiZGVmYXVsdCIpO2Vsc2V7ckQoUyk7dmFyIFc9bFtGLkQuT2RdfHwiZGVmYXVsdCIsZWE9b0Q7Vz1XLnRvU3RyaW5nKCkuc3BsaXQoIiwiKTtmb3IodmFyIGphPTA7amE8Vy5sZW5ndGg7amErKyl7dmFyIGZhPWVhLkhbV1tqYV1dfHxbXTtlYS5IW1dbamFdXT1mYTtmYS5pbmRleE9mKFMpPDAmJmZhLnB1c2goUyl9fX1kZWxldGUgbFtGLkQuT2RdfXZhciBzYT1iLmV2ZW50TWV0YWRhdGF8fHt9O3NhLmhhc093blByb3BlcnR5KEguSi5hZSl8fChzYVtILkouYWVdPSFiLmZyb21Db250YWluZXJFeGVjdXRpb24pO2IuZXZlbnRNZXRhZGF0YT1zYTtkZWxldGUgbFtGLkQuUGZdO2lmKE0oNTUwKSl7eD12RChoLGwsYixjKTticmVhayBhfXZhciBkYT0hIWxbRi5ELlZkXTtkZWxldGUgbFtGLkQuVmRdO3ZhciBtYT10aygpLFBhPWNELEZhPWFEO2guSmMoKSYmKG1hPVtoLmlkXSxQYT1kRCxGYT1iRCk7Zm9yKHZhciBxYT0wO3FhPAptYS5sZW5ndGg7cWErKyl7ZGF8fFBhKG1hW3FhXSk7dmFyIGliPWdEKG1hW3FhXSk7RmEobWFbcWFdLEVkKGwsbnVsbCksRWQoYixudWxsKSk7aWImJmRhfHxaQyhGLkQud2EsRWQobCxudWxsKSxtYVtxYV0sRWQoYixudWxsKSl9fXg9dm9pZCAwfWVsc2UgYTp7aWYoIWIuaW5oZXJpdFBhcmVudENvbmZpZyYmIWxbRi5ELlpjXSl7dmFyIFhiPWlEKGwpLExjPWguZGVzdGluYXRpb25JZDtpZihoLkpjKCkpbkEoTGMsWGIse3NvdXJjZToyLGZyb21Db250YWluZXJFeGVjdXRpb246Yi5mcm9tQ29udGFpbmVyRXhlY3V0aW9ufSk7ZWxzZSBpZih1IT09dm9pZCAwJiZ1LmNvbnRhaW5lcnMuaW5kZXhPZihMYykhPT0tMSl7dmFyIFFkPSRrKDExKSxZYz0kaygxMik7UWQ/dUQoYixsLFFkKTpZY3x8WmsoMTIsRWQobCxudWxsKSl9ZWxzZSBpZihoQShMYyxYYiwhMCx7c291cmNlOjIsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KSxNKDU1MCkpe3g9dkQoaCwKbCxiLGMpO2JyZWFrIGF9fXg9dm9pZCAwfXJldHVybiB4fX0sekQuY29uc2VudD1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09Myl7UCgzOSk7dmFyIGM9aEQoYSxiKSxkPWFbMV0sZT17fSxmPU9vKGFbMl0pLGc7Zm9yKGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO2VbZ109Zz09PUYuRC5ZZz9BcnJheS5pc0FycmF5KGgpP05hTjpOdW1iZXIoaCk6Zz09PUYuRC5uYz8oQXJyYXkuaXNBcnJheShoKT9oOltoXSkubWFwKFBvKTpRbyhoKX1iLmZyb21Db250YWluZXJFeGVjdXRpb258fChlW0YuRC5tYV0mJlAoMTM5KSxlW0YuRC5YYV0mJlAoMTQwKSk7ZD09PSJkZWZhdWx0Ij9UbyhlKTpkPT09InVwZGF0ZSI/Vm8oZSxjKTpkPT09ImRlY2xhcmUiJiZiLmZyb21Db250YWluZXJFeGVjdXRpb24mJlNvKGUpfX0sekQuY29udGFpbmVyX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9CmFbMl0sZD1iQyhhWzFdLCEwKTtkJiZhRChkLmRlc3RpbmF0aW9uSWQsYyxFZChiLG51bGwpKX19LHpELmRlc3RpbmF0aW9uX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9YVsyXSxkPWJDKGFbMV0sITApO2lmKGQpe2lmKE0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIGU9ZC5pZDtpZihkLkpjKCkpdEQoZSkscEQoZSxjW0YuRC5PZF18fCJkZWZhdWx0Iik7ZWxzZXtzRChlKTt2YXIgZj1jW0YuRC5PZF18fCJkZWZhdWx0IixnPW9EO2Y9U3RyaW5nKGYpLnNwbGl0KCIsIik7Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBsPWcuS1tmW2hdXXx8W107Zy5LW2ZbaF1dPWw7bC5pbmRleE9mKGUpPDAmJmwucHVzaChlKX19fWRlbGV0ZSBjW0YuRC5PZF19YkQoZC5pZCxjLEVkKGIsbnVsbCkpfX19LHpELmV2ZW50PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVsxXTtpZighKGEubGVuZ3RoPDIpJiYKemIoYykpe3ZhciBkPXZvaWQgMDtpZihhLmxlbmd0aD4yKXtpZighQ2QoYVsyXSkmJmFbMl0hPT12b2lkIDB8fGEubGVuZ3RoPjMpcmV0dXJuO2Q9YVsyXX12YXIgZT14RChjLGQpLGY9aEQoYSxiKSxnPWYuZXZlbnRJZCxoPWYucHJpb3JpdHlJZDtlWyJndG0udW5pcXVlRXZlbnRJZCJdPWc7aCYmKGVbImd0bS5wcmlvcml0eUlkIl09aCk7Yi5wcmlvcml0eVF1ZXVlJiYoZVsiZ3RtLnByaW9yaXR5UXVldWUiXT1iLnByaW9yaXR5UXVldWUpO2lmKGM9PT0ib3B0aW1pemUuY2FsbGJhY2siKXJldHVybiBlLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fSxlO3ZhciBsPXlEKGQsYik7aWYobCl7Zm9yKHZhciBuPWwuZWsscD1sLm1yLHE9cC5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWR9KSxyPXAubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmRlc3RpbmF0aW9uSWR9KSx0PW4ubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmlkfSksdT1tKHRrKCkpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtyLmluZGV4T2YoeCk8MCYmdC5wdXNoKHgpfWRCKGcsYyk7Zm9yKHZhciB5PW0odCksej15Lm5leHQoKTshei5kb25lO3o9eS5uZXh0KCkpe3ZhciBDPXoudmFsdWUsRD1FZChiLG51bGwpLEk9RWQoZCxudWxsKTtkZWxldGUgSVtGLkQuUGZdO3ZhciBHPUQuZXZlbnRNZXRhZGF0YXx8e307Ry5oYXNPd25Qcm9wZXJ0eShILkouYWUpfHwoR1tILkouYWVdPSFELmZyb21Db250YWluZXJFeGVjdXRpb24pO0dbSC5KLm1qXT1xLnNsaWNlKCk7R1tILkouc2ddPXIuc2xpY2UoKTtELmV2ZW50TWV0YWRhdGE9RztaQyhjLEksQyxEKX1lLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fTtxLmxlbmd0aD4wP2UuZXZlbnRNb2RlbFtGLkQuWGJdPXEuam9pbigiLCIpOmRlbGV0ZSBlLmV2ZW50TW9kZWxbRi5ELlhiXTtrRC5IfHxQKDQzKTtiLm5vR3RtRXZlbnQ9PT12b2lkIDAmJmIuZXZlbnRNZXRhZGF0YSYmYi5ldmVudE1ldGFkYXRhW0guSi5Cbl0mJihiLm5vR3RtRXZlbnQ9CiEwKTtlLmV2ZW50TW9kZWxbRi5ELlljXSYmKGIubm9HdG1FdmVudD0hMCk7cmV0dXJuIGIubm9HdG1FdmVudD92b2lkIDA6ZX19fSx6RC5nZXQ9ZnVuY3Rpb24oYSxiKXtQKDUzKTtpZihhLmxlbmd0aD09PTQmJnpiKGFbMV0pJiZ6YihhWzJdKSYmeWIoYVszXSkpe3ZhciBjPWJDKGFbMV0sYi5pc0d0bUV2ZW50KSxkPVN0cmluZyhhWzJdKSxlPWFbM107aWYoYyl7a0QuSHx8UCg0Myk7dmFyIGY9aUQoKTtpZihDYih0aygpLGZ1bmN0aW9uKGgpe3JldHVybiBjLmRlc3RpbmF0aW9uSWQ9PT1ofSkpe2hEKGEsYik7dmFyIGc9e307RWQoKGdbRi5ELlRmXT1kLGdbRi5ELlNmXT1lLGcpLG51bGwpOyRDKGQsZnVuY3Rpb24oaCl7YmQoZnVuY3Rpb24oKXtlKGgpfSl9LGMuaWQsYil9ZWxzZSBuQShjLmRlc3RpbmF0aW9uSWQsZix7c291cmNlOjQsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KX19fSx6RC5qcz1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEubGVuZ3RoPT09CjImJmFbMV0uZ2V0VGltZSl7a0QuSD0hMDt2YXIgZD1oRChhLGIpLGU9ZC5ldmVudElkLGY9ZC5wcmlvcml0eUlkLGc9e307Yz0oZy5ldmVudD0iZ3RtLmpzIixnWyJndG0uc3RhcnQiXT1hWzFdLmdldFRpbWUoKSxnWyJndG0udW5pcXVlRXZlbnRJZCJdPWUsZ1siZ3RtLnByaW9yaXR5SWQiXT1mLGcpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9LHpELnBvbGljeT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZ5YihhWzJdKSl7aWYoaHkoYVsxXSxhWzJdKSxQKDc0KSxhWzFdPT09ImFsbCIpe1AoNzUpO3ZhciBiPSExO3RyeXtiPWFbMl0oRSg1KSwidW5rbm93biIse30pfWNhdGNoKGMpe31ifHxQKDc2KX19ZWxzZSBQKDczKX0sekQucmVzZXRfdGFyZ2V0X2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTImJnpiKGFbMV0pKXt2YXIgYz1iQyhhWzFdLCEwKTtjJiZkRChjLmlkKX19LHpELnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXZvaWQgMDsKYS5sZW5ndGg9PT0yJiZDZChhWzFdKT9jPUVkKGFbMV0sbnVsbCk6YS5sZW5ndGg9PT0zJiZ6YihhWzFdKSYmKGM9e30sQ2QoYVsyXSl8fEFycmF5LmlzQXJyYXkoYVsyXSk/Y1thWzFdXT1FZChhWzJdLG51bGwpOmNbYVsxXV09YVsyXSk7aWYoYyl7WmsoMzEsITApO3ZhciBkPWhEKGEsYiksZT1kLmV2ZW50SWQsZj1kLnByaW9yaXR5SWQ7RWQoYyxudWxsKTtFKDUpO3ZhciBnPUVkKGMsbnVsbCk7WUMoKS5ILnB1c2goInNldCIsW2ddLHZvaWQgMCxiKTtjWyJndG0udW5pcXVlRXZlbnRJZCJdPWU7ZiYmKGNbImd0bS5wcmlvcml0eUlkIl09Zik7ZGVsZXRlIGMuZXZlbnQ7Yi5vdmVyd3JpdGVNb2RlbEZpZWxkcz0hMDtyZXR1cm4gY319LHpEKSxCRD17fSxDRD0oQkQucG9saWN5PSEwLEJEKTt2YXIgRUQ9ZnVuY3Rpb24oYSl7aWYoREQoYSkpcmV0dXJuIGE7dGhpcy52YWx1ZT1hfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBERD1mdW5jdGlvbihhKXtyZXR1cm4hYXx8QWQoYSkhPT0ib2JqZWN0Inx8Q2QoYSk/ITE6ImdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSJpbiBhfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPUVELnByb3RvdHlwZS5nZXRVbnRydXN0ZWRNZXNzYWdlVmFsdWU7dmFyIEZEPXtCYjoiMSIsZWU6IjIiLFhkOiIzIixjZToiNCIseGY6IjUiLHFnOiI2IixLaDoiNyIsdGo6IjgiLGxpOiI5IixqajoiMTAifTsKdmFyIEdEPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS50cmltKCkucmVwbGFjZUFsbCgvXHMrL2csIiIpLnJlcGxhY2VBbGwoLyhcZHsyLH0pXC4vZywiJDEiKS5yZXBsYWNlQWxsKC8tL2csIiIpLnJlcGxhY2VBbGwoL1woKFxkKylcKS9nLCIkMSIpO2lmKGImJmMubWF0Y2goL15cKz9cZHszLDR9JC8pKXJldHVybiBjO2MuY2hhckF0KDApIT09IisiJiYoYz0iKyIrYyk7aWYoYy5tYXRjaChuZXcgUmVnRXhwKCJeXFwrXFxkeyIrKE0oNTk3KT83OjEwKSsiLDE1fSQiKSkpcmV0dXJuIGN9fSxJRD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRyaW0oKTtpZihIRC50ZXN0KGIpKXJldHVybiBiLnRvTG93ZXJDYXNlKCkucmVwbGFjZUFsbCgvWy0gXSsvZywiIil9fSxNRD1mdW5jdGlvbihhKXt2YXIgYj1KRChLRCkoYSk7aWYoYiYmIUxEKGIpKXJldHVybiBifSxMRD1mdW5jdGlvbihhKXtpZighQS5sb2NhdGlvbilyZXR1cm4hMTt2YXIgYj1OaihBLmxvY2F0aW9uLCJob3N0IiwhMCksCmM7aWYoTSg2MDIpKWE6e2Zvcih2YXIgZD1iLnNwbGl0KCIuIiksZT1hLnRvTG93ZXJDYXNlKCksZj0wO2Y8ZC5sZW5ndGgtMTtmKyspe3ZhciBnPWQuc2xpY2UoZikuam9pbigiLiIpO2lmKGUubWF0Y2goIkAiK2crIiQiKSl7Yz0hMDticmVhayBhfX1jPSExfWVsc2UgYz1hLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihiKT49MDtyZXR1cm4gY30sSkQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubWF0Y2goYSk7cmV0dXJuIGM/Y1swXS50cmltKCkudG9Mb3dlckNhc2UoKTp2b2lkIDB9fSxLRD0vW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcLltBLVpdezIsfS9pLE5EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzKSskLyksSEQ9UmVnRXhwKCJeKD86W0EtWl17MSwyfVxcZFtBLVpcXGRdP1sgLV0/XFxkW0EtWl17Mn18W0EtWl1cXGRbQS1aXVsgLV0/XFxkW0EtWl1cXGR8XFxkezR9ID9bQS1aXXsyfXxbQS1aXVxcZHs0fVtBLVpdezN9fFxcZHs1fSg/Oi1cXGR7NH0pP3xcXGR7NX0tXFxkezN9fFxcZHs0fS1cXGR7M318XFxkezN9LVxcZHs0fXxcXGR7Mn0tXFxkezN9fFxcZHszfSA/XFxkezJ9fFxcZHs0LDd9KSQiLAoiaSIpLE9EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzfFxkKSskLyk7CnZhciBQRD1mdW5jdGlvbigpe3ZhciBhPVN0cmluZyhhbCgzMyxmdW5jdGlvbigpe3JldHVybiAwfSkpO2EuaW5kZXhPZigiLiIpIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIuIikrMykpO3ZhciBiPWFsKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTtyZXR1cm57dnQ6TnVtYmVyKGEpLHN0OmJ9fSxRRD1mdW5jdGlvbigpe3JldHVybiBhbCgzMixmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwfSl9LFNEPWZ1bmN0aW9uKGEpe3ZhciBiPXBkKCl8fDAsYz1bRkQuQmJdO00oNTY4KSYmYy5wdXNoKEZELmVlLEZELlhkLEZELmNlLEZELnhmLEZELnFnLEZELnRqLEZELmxpLEZELmpqKTtmb3IodmFyIGQ9UkQoYSxuZXcgU2V0KGMpKSxlPWFsKDMyLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSxmPW0oZCksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5zZXQoaC5EYSxoKX12YXIgbD0ocGQoKXx8MCktYixuPWFsKDMzLGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTsKWmsoMzMsbitsKTt2YXIgcD1hbCgzNCxmdW5jdGlvbigpe3JldHVybiAwfSk7WmsoMzQscCsxKX0sUkQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9TmYoMzYsMiksZD1bXSxlPVt7b286YSxkZXB0aDowfV07ZS5sZW5ndGg+MDspZm9yKHZhciBmPWUuc2hpZnQoKSxnPWYub28saD1mLmRlcHRoLGw9bShPYmplY3Qua2V5cyhnKSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aWYoIVRELmhhcyhwKSl7dmFyIHE9Z1twXTtpZihxKWlmKENkKHEpKWgrMTw9YyYmZS5wdXNoKHtvbzpxLGRlcHRoOmgrMX0pO2Vsc2V7Zm9yKHZhciByPW0oYiksdD1yLm5leHQoKTshdC5kb25lO3Q9ci5uZXh0KCkpe3ZhciB1PXQudmFsdWUsdj1VRFt1XTtpZih2JiZ2LktjLnRlc3QocCkpe3ZhciB4PXYubmEoU3RyaW5nKHEpKTtpZih4KXtkLnB1c2goe0NhOngsRGE6dX0pO2IuZGVsZXRlKHUpO2JyZWFrfX19aWYoYi5zaXplPT09MClyZXR1cm4gZH19fXJldHVybiBkfSxURD0KbmV3IFNldChbIml0ZW1zIiwiZWNvbW1lcmNlIl0pLFZEPVJlZ0V4cCgicGhvbmUiLCJpIiksV0Q9UmVnRXhwKCJmaXJzdF8/bmFtZSIsImkiKSxYRD1SZWdFeHAoImxhc3RfP25hbWUiLCJpIiksWUQ9UmVnRXhwKCJjb3VudHJ5IiwiaSIpLFpEPVJlZ0V4cCgicG9zdHx6aXAiLCJpIiksJEQ9UmVnRXhwKCJhZGRyZXNzfHN0cmVldCIsImkiKSxhRT1SZWdFeHAoImNpdHkiLCJpIiksYkU9UmVnRXhwKCJyZWdpb258c3RhdGV8cHJvdmluY2UiLCJpIiksY0U9e30sVUQ9KGNFW0ZELkJiXT17S2M6UmVnRXhwKCJlbWFpbCIsImkiKSxuYTpNRH0sY0VbRkQuZWVdPXtLYzpWRCxuYTpmdW5jdGlvbihhKXtyZXR1cm4gR0QoYSwhMSl9fSxjRVtGRC5YZF09e0tjOldELG5hOk5EfSxjRVtGRC5jZV09e0tjOlhELG5hOk5EfSxjRVtGRC50al09e0tjOiRELG5hOk9EfSxjRVtGRC5saV09e0tjOmFFLG5hOk5EfSxjRVtGRC5qal09e0tjOmJFLG5hOk5EfSxjRVtGRC5xZ109e0tjOlpELG5hOklEfSxjRVtGRC54Zl09CntLYzpZRCxuYTpORH0sY0UpO3ZhciBkRT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5sb2FkZWQ9ITE7dGhpcy5IPVtdO2lmKEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vbkxvYWQoKTtlbHNlICRjKEEsImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYS5vbkxvYWQoKX0pfTtkRS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7aWYoIXRoaXMubG9hZGVkKXt0aGlzLmxvYWRlZD0hMDtmb3IodmFyIGE9MDthPHRoaXMuSC5sZW5ndGg7YSsrKWJkKHRoaXMuSFthXSl9fTt2YXIgZkU9ZnVuY3Rpb24oYSl7dmFyIGI9ZUU7Yi5sb2FkZWQ/YmQoYSk6Yi5ILnB1c2goYSl9LGVFPW5ldyBkRTt2YXIgZ0U9ZnVuY3Rpb24oKXt0aGlzLlo9MDt0aGlzLks9e307dGhpcy5IPVtdO3RoaXMuTj1bXTt0aGlzLmZhPXRoaXMuUj10aGlzLmphPSExfSxpRT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aEU7YS5ldmVudENhbGxiYWNrPWI7YyYmKGEuZXZlbnRUaW1lb3V0PWMpO3JldHVybiBkLnB1c2goYSl9LGpFPWZ1bmN0aW9uKGEsYil7aWYoIUFiKGIpfHxiPDApYj0wO3ZhciBjPXFqKCksZD0wLGU9ITEsZj12b2lkIDA7Zj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlfHwoZT0hMCxhKCkpO2Y9dm9pZCAwfSxiKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1jP2Muc3Vic2NyaWJlcnM6MTsrK2Q9PT1nJiYoZiYmKEEuY2xlYXJUaW1lb3V0KGYpLGY9dm9pZCAwKSxlfHwoYSgpLGU9ITApKX19LGxFPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEuTi5sZW5ndGgpYj1hLk4uc2hpZnQoKTtlbHNlIGlmKGEuSC5sZW5ndGgpYj1hLkguc2hpZnQoKTtlbHNlIHJldHVybjt2YXIgYzt2YXIgZD1iO2lmKGEuamF8fAoha0UoZC5tZXNzYWdlKSljPWQ7ZWxzZXthLmphPSEwO3ZhciBlPWQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXSxmLGc7dHlwZW9mIGU9PT0ibnVtYmVyIj8oZj1lLTIsZz1lLTEpOihmPXJqKCksZz1yaigpLGQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1yaigpKTt2YXIgaD17fSxsPXttZXNzYWdlOihoLmV2ZW50PSJndG0uaW5pdF9jb25zZW50IixoWyJndG0udW5pcXVlRXZlbnRJZCJdPWYsaCksbWVzc2FnZUNvbnRleHQ6e2V2ZW50SWQ6Zn19LG49e30scD17bWVzc2FnZToobi5ldmVudD0iZ3RtLmluaXQiLG5bImd0bS51bmlxdWVFdmVudElkIl09ZyxuKSxtZXNzYWdlQ29udGV4dDp7ZXZlbnRJZDpnfX07YS5ILnVuc2hpZnQocCxkKTtjPWx9cmV0dXJuIGN9LG9FPWZ1bmN0aW9uKGEpe2EuZmF8fFAoMTk2KTtmb3IodmFyIGI9ITEsYzshYS5SJiYoYz1sRShhKSk7KXthLlI9ITA7dmFyIGQ9ckE7ZGVsZXRlIGQuSC5ldmVudE1vZGVsO29BKGQpO3ZhciBlPWMsZj0KZS5tZXNzYWdlLGc9ZS5tZXNzYWdlQ29udGV4dDtpZihmPT1udWxsKWEuUj0hMTtlbHNle2cuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbiYmc0EoKTt0cnl7aWYoeWIoZikpdHJ5e2YuY2FsbCh0QSl9Y2F0Y2goUyl7fWVsc2UgaWYoQXJyYXkuaXNBcnJheShmKSl7aWYoemIoZlswXSkpe3ZhciBoPWZbMF0uc3BsaXQoIi4iKSxsPWgucG9wKCksbj1mLnNsaWNlKDEpLHA9dUEoaC5qb2luKCIuIiksMik7aWYocCE9bnVsbCl0cnl7cFtsXS5hcHBseShwLG4pfWNhdGNoKFMpe319fWVsc2V7dmFyIHE9dm9pZCAwO2lmKEhiKGYpKWE6e2lmKGYubGVuZ3RoJiZ6YihmWzBdKSl7dmFyIHI9QURbZlswXV07aWYociYmKCFnLmZyb21Db250YWluZXJFeGVjdXRpb258fCFDRFtmWzBdXSkpe3E9cihmLGcpO2JyZWFrIGF9fXE9dm9pZCAwfWVsc2UgcT1mO2lmKHEpe3ZhciB0O2Zvcih2YXIgdT1xLHY9dS5fY2xlYXJ8fGcub3ZlcndyaXRlTW9kZWxGaWVsZHMseD1tKE9iamVjdC5rZXlzKHUpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT0KeC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7eiE9PSJfY2xlYXIiJiYodiYmckEuc2V0KHosdm9pZCAwKSxyQS5zZXQoeix1W3pdKSl9TSg1OTIpJiZTRCh1KTskaygyNSl8fFprKDI1LHVbImd0bS5zdGFydCJdKTt2YXIgQz11WyJndG0udW5pcXVlRXZlbnRJZCJdO3UuZXZlbnQ/KHR5cGVvZiBDIT09Im51bWJlciImJihDPXJqKCksdVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1DLHJBLnNldCgiZ3RtLnVuaXF1ZUV2ZW50SWQiLEMpKSx0PXpCKHUpKTp0PSExO2I9dHx8Yn19fWZpbmFsbHl7Zy5mcm9tQ29udGFpbmVyRXhlY3V0aW9uJiZvQShyQSwhMCk7dmFyIEQ9ZlsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtpZih0eXBlb2YgRD09PSJudW1iZXIiKXtmb3IodmFyIEk9YSxHPUkuS1tTdHJpbmcoRCldfHxbXSxOPTA7TjxHLmxlbmd0aDtOKyspSS5OLnB1c2gobUUoR1tOXSkpO0cubGVuZ3RoJiZJLk4uc29ydChuRSk7ZGVsZXRlIEkuS1tTdHJpbmcoRCldO0Q+YS5aJiYoYS5aPUQpfWEuUj0hMX19fXJldHVybiFifSwKcEU9ZnVuY3Rpb24oKXt2YXIgYT1oRTthLmZhJiZQKDE5NSk7YS5mYT0hMDtpZihmbi5IKXt2YXIgYj0hSWYoNTEpLGM9cnooKTtweihjLHtzdGFnZTpJeS5YLlpnfSk7aWYoYil7dmFyIGQ9cXooYyx7c3RhZ2U6SXkuWC5Za30sSXkuWC5uaSk7ZCE9PXZvaWQgMCYmKGMuSC5ZPWQpfXZhciBlPWEuSC5sZW5ndGg7cnooKS5ILkM9ZX1vRShhKTtpZihmbi5IKXt2YXIgZj1yeigpLGc9cXooZix7c3RhZ2U6SXkuWC5Wa30sSXkuWC5aZyk7ZyE9PXZvaWQgMCYmKGYuSC5CPWcpfXRyeXt2YXIgaD1BW0UoMTkpXSxsPUUoNSksbj1oLmhpZGU7aWYobiYmbltsXSE9PXZvaWQgMCYmbi5lbmQpe25bbF09ITE7dmFyIHA9ITAscTtmb3IocSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocSkmJm5bcV09PT0hMCl7cD0hMTticmVha31wJiYobi5lbmQoKSxuLmVuZD1udWxsKX19Y2F0Y2gocil7RSg1KX19LHFFPWZ1bmN0aW9uKGEsYil7aWYoYS5aPGIubm90QmVmb3JlRXZlbnRJZCl7dmFyIGM9U3RyaW5nKGIubm90QmVmb3JlRXZlbnRJZCk7CmEuS1tjXT1hLktbY118fFtdO2EuS1tjXS5wdXNoKGIpfWVsc2V7YS5OLnB1c2gobUUoYikpO2EuTi5zb3J0KG5FKTt2YXIgZD1mdW5jdGlvbigpe2EuUnx8b0UoYSl9O00oNTgwKT9kZChkKTpiZChkKX19OwpnRS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoaCl7dmFyIGw9e307aWYoREQoaCkpe3ZhciBuPWg7aD1ERChuKT9uLmdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSgpOnZvaWQgMDtsLmZyb21Db250YWluZXJFeGVjdXRpb249ITB9cmV0dXJue21lc3NhZ2U6aCxtZXNzYWdlQ29udGV4dDpsfX12YXIgYj10aGlzLGM9TWMoRSgxOSksW10pLGQ9cGooKTtkLnBydW5lZD09PSEwJiZQKDgzKTt0aGlzLks9bkQoKS5nZXQoKTtuRCgpLmxpc3RlbihmdW5jdGlvbihoKXtxRShiLGgpfSk7ZC5zdWJzY3JpYmVycz0oZC5zdWJzY3JpYmVyc3x8MCkrMTt2YXIgZT1jLnB1c2gsZj10aGlzO2MucHVzaD1mdW5jdGlvbigpe3ZhciBoO2xqKCk7aWYoamouSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPjApe2g9W107Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2xdPW5ldyBFRChhcmd1bWVudHNbbF0pfWVsc2UgaD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTsKdmFyIG49aC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEodCl9KTtmLkgucHVzaC5hcHBseShmLkgsbik7dmFyIHA9ZS5hcHBseShjLGgpLHE9TWF0aC5tYXgoMTAwLE5mKDEsMzAwKSk7aWYodGhpcy5sZW5ndGg+cSlmb3IoUCg0KSxkLnBydW5lZD0hMDt0aGlzLmxlbmd0aD5xOyl0aGlzLnNoaWZ0KCk7dmFyIHI9dHlwZW9mIHAhPT0iYm9vbGVhbiJ8fHA7cmV0dXJuIG9FKGYpJiZyfTt2YXIgZz1jLnNsaWNlKDApLm1hcChmdW5jdGlvbihoKXtyZXR1cm4gYShoKX0pO3RoaXMuSC5wdXNoLmFwcGx5KHRoaXMuSCxnKTtJZig1MSl8fChmbi5IJiZ1eigpLGJkKHJFKSk7VkIoZnVuY3Rpb24oKXtpZighZC5ndG1Eb20pe2QuZ3RtRG9tPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmRvbSIsaCkpfX0pO2ZFKGZ1bmN0aW9uKCl7aWYoIWQuZ3RtTG9hZCl7ZC5ndG1Mb2FkPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmxvYWQiLGgpKX19KX07CmdFLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEpe3JldHVybiBBW0UoMTkpXS5wdXNoKGEpfTt2YXIgaEU9bmV3IGdFO2Z1bmN0aW9uIG5FKGEsYil7dmFyIGM9YS5tZXNzYWdlQ29udGV4dCxkPWIubWVzc2FnZUNvbnRleHQ7aWYoYy5ldmVudElkIT09ZC5ldmVudElkKXJldHVybiBjLmV2ZW50SWQtZC5ldmVudElkO2lmKCFNKDU5NSkpcmV0dXJuIGMucHJpb3JpdHlJZC1kLnByaW9yaXR5SWQ7dmFyIGUsZixnO2E6e2Zvcih2YXIgaD0oZT1jLnByaW9yaXR5UXVldWUpIT1udWxsP2U6W2MucHJpb3JpdHlJZF0sbD0oZj1kLnByaW9yaXR5UXVldWUpIT1udWxsP2Y6W2QucHJpb3JpdHlJZF0sbj1NYXRoLm1pbihoLmxlbmd0aCxsLmxlbmd0aCkscD0wO3A8bjtwKyspaWYoaFtwXSE9PWxbcF0pe2c9aFtwXS1sW3BdO2JyZWFrIGF9Zz1oLmxlbmd0aC1sLmxlbmd0aH1yZXR1cm4gZ30KZnVuY3Rpb24ga0UoYSl7aWYoYT09bnVsbHx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZihhLmV2ZW50KXJldHVybiEwO2lmKEhiKGEpKXt2YXIgYj1hWzBdO2lmKGI9PT0iY29uZmlnInx8Yj09PSJldmVudCJ8fGI9PT0ianMifHxiPT09ImdldCIpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbUUoYSl7cmV0dXJue21lc3NhZ2U6YS5tZXNzYWdlLG1lc3NhZ2VDb250ZXh0OmEubWVzc2FnZUNvbnRleHR9fWZ1bmN0aW9uIHNFKGEsYixjKXtyZXR1cm4gaUUoYSxiLGMpfWZ1bmN0aW9uIHRFKGEsYil7cmV0dXJuIGpFKGEsYil9ZnVuY3Rpb24gckUoKXtwRSgpfWZ1bmN0aW9uIHVFKGEpe3JldHVybiBoRS5wdXNoKGEpfTt2YXIgdkU9ZnVuY3Rpb24oKXt9O3ZFLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGEsYj1SaihBLmxvY2F0aW9uLmhyZWYpOyhhPWIuaG9zdG5hbWUrYi5wYXRobmFtZSkmJlVtKCJkbCIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt2YXIgYzt2YXIgZD1FKDUpO2lmKGQpe3ZhciBlPUlmKDcpPzE6MCxmPUZrKCksZz1mJiZmLmZyb21Db250YWluZXJFeGVjdXRpb24/MTowLGg9ZiYmZi5zb3VyY2V8fDAsbD1FKDYpO2M9ZCsiOyIrbCsiOyIrZysiOyIraCsiOyIrZX1lbHNlIGM9dm9pZCAwO3ZhciBuPWM7biYmVW0oInRkcCIsbik7dmFyIHA9T3AoITApO3AhPT12b2lkIDAmJlVtKCJmcm0iLFN0cmluZyhwKSl9O3ZhciB3RT1uZXcgdkU7dmFyIHhFPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCk7dGhpcy5LPXZvaWQgMH0seUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWm0oYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5qYj4wP2I/Yy5qYisiXyIrV20oYyk6U3RyaW5nKGMuamIpOnZvaWQgMH0pfTsKeEUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHBsKCl8fGZuLkspVW0oImNzcCIsZnVuY3Rpb24oKXt2YXIgYj15RShhLkgsITApOyRtKGEuSCk7cmV0dXJuIGJ9LCExKSxVbSgibWRlIixmdW5jdGlvbigpe3ZhciBiPWNuLkgsYz15RShiLCExKTskbShiKTtyZXR1cm4gY30sITEpLEEuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGZ1bmN0aW9uKGIpe2lmKGIuZGlzcG9zaXRpb249PT0iZW5mb3JjZSIpe1AoMTc5KTt2YXIgYz1ubihiLmVmZmVjdGl2ZURpcmVjdGl2ZSk7aWYoYyl7dmFyIGQ7YTp7dmFyIGU9Yi5ibG9ja2VkVVJJLGY9a247aWYoZm4uSyYmZSl7dmFyIGc9am4oYyxlKTtpZihnKXt2YXIgaDtkPShoPWxuKGYsYykpPT1udWxsP3ZvaWQgMDpoW2ddO2JyZWFrIGF9fWQ9dm9pZCAwfXZhciBsPWQ7aWYobCl7dmFyIG47YTp7dHJ5e3ZhciBwPW5ldyBVUkwoYi5ibG9ja2VkVVJJKSxxPXAucGF0aG5hbWUuaW5kZXhPZigiOyIpOwpuPXE+PTA/cC5vcmlnaW4rcC5wYXRobmFtZS5zdWJzdHJpbmcoMCxxKTpwLm9yaWdpbitwLnBhdGhuYW1lO2JyZWFrIGF9Y2F0Y2goRCl7fW49dm9pZCAwfXZhciByPW47aWYocil7Zm9yKHZhciB0PW0obCksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB2PXUudmFsdWU7aWYoIXYuRW8pe3YuRW89ITA7dmFyIHg9e2V2ZW50SWQ6di5ldmVudElkLHByaW9yaXR5SWQ6di5wcmlvcml0eUlkfTtpZihwbCgpKXt2YXIgeT14LHo9e3R5cGU6MSxibG9ja2VkVXJsOnIsZW5kcG9pbnQ6di5lbmRwb2ludCx2aW9sYXRpb246Yi5lZmZlY3RpdmVEaXJlY3RpdmV9O2lmKHBsKCkpe3ZhciBDPUxsKCJUQUdfRElBR05PU1RJQ1MiLHtldmVudElkOnk9PW51bGw/dm9pZCAwOnkuZXZlbnRJZCxwcmlvcml0eUlkOnk9PW51bGw/dm9pZCAwOnkucHJpb3JpdHlJZH0pO0MudGFnRGlhZ25vc3RpY3M9ejtvbChDKX19ekUoYSx2LmRlc3RpbmF0aW9uSWQsdi5lbmRwb2ludCxjKX19bW4oYywKYi5ibG9ja2VkVVJJKX19fX19KX07dmFyIHpFPWZ1bmN0aW9uKGEsYixjLGQpe2FuKGEuSCxiLGMsMSxkKTtWbSgiY3NwIiwhMCk7Vm0oIm1kZSIsITApO2MhPT02MSYmYyE9PTU2JiZhLks9PT12b2lkIDAmJihhLks9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5ILmpiPjAmJnRvKCExKTthLks9dm9pZCAwfSw1MDApKX0sQUU9bmV3IHhFO3ZhciBCRT1mdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9MH07QkUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NFKHRoaXMpO0lmKDY1KSYmVW0oIm10YmwiLCIxIik7VW0oInYiLCIzIik7VW0oInQiLCJ0Iik7VW0oInBpZCIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKG5tKGptLmJhLmJoKSl9KTtVbSgiZ3RtIixmdW5jdGlvbigpe3JldHVybiBkdSgpfSk7VW0oInNlcSIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKCsrYS5zZXF1ZW5jZU51bWJlcil9KTtVbSgiZXhwIixmdW5jdGlvbigpe3JldHVybiBDcCgpfSl9O3ZhciBDRT1mdW5jdGlvbihhKXtpZihubShqbS5iYS5iaCk9PT12b2lkIDApe3ZhciBiPWZ1bmN0aW9uKCl7bW0oam0uYmEuYmgsRGIoKSk7YS5zZXF1ZW5jZU51bWJlcj0wfTtiKCk7Y2QoYiw4NjRFNSl9ZWxzZSBwbShqbS5iYS5iaCxmdW5jdGlvbigpe2Euc2VxdWVuY2VOdW1iZXI9MH0pO2Euc2VxdWVuY2VOdW1iZXI9MH0sREU9bmV3IEJFO2Z1bmN0aW9uIEVFKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBW2FdfX0KdmFyIEZFPXt9LEdFPShGRVsxNF09ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT1BLmNyeXB0byk9PW51bGw/dm9pZCAwOmEuZ2V0UmFuZG9tVmFsdWVzfSxGRVsxNV09ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybihhPUEuY3J5cHRvKT09bnVsbD92b2lkIDA6KGI9YS5zdWJ0bGUpPT1udWxsP3ZvaWQgMDpiLmRpZ2VzdH0sRkVbMV09RUUoImZldGNoIiksRkVbNl09RUUoIk1hcCIpLEZFWzJdPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tfSxGRVs4XT1mdW5jdGlvbigpe3JldHVybiBuYShPYmplY3QsImFzc2lnbiIpfSxGRVs5XT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllc30sRkVbMTBdPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllc30sRkVbNV09RUUoIlByb21pc2UiKSxGRVsxM109RUUoIlJlZ0V4cCIpLEZFWzNdPWZ1bmN0aW9uKCl7cmV0dXJuIEhjLnNlbmRCZWFjb259LEZFWzddPUVFKCJTZXQiKSxGRVsxMl09ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aH0sCkZFWzExXT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGh9LEZFWzRdPUVFKCJYTUxIdHRwUmVxdWVzdCIpLEZFKSxIRT17fSxJRT0oSEVbMTVdPSEwLEhFKTt2YXIgTkU9L14oaHR0cHM/Oik/XC9cLy87CgpmdW5jdGlvbiBoRigpe307ZnVuY3Rpb24gaUYoKXtJZig2MikmJihoeSgiZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuKChkPWMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmQud2FpdEZvclRhZ3MpIT09ITB9KSxoeSgiZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLndhaXRGb3JUYWdzKSE9PSEwfSksaHkoImRldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLmZpeE1pc3NpbmdBcGkpIT09ITB9KSl9O3ZhciBqRj1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O2pGLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O3ZhciBrRj1uZXcgakY7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtbMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtsdCh7R3U6MCxGdToxLEN1OjIseHU6MyxEdTo0LHl1OjUsRXU6NixBdTo3LEJ1Ojgsd3U6OSx6dToxMCxIdToxMX0pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGEpfSk7bHQoe0p1OjAsS3U6MSxJdToyfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBOdW1iZXIoYSl9KTt2YXIgbEY9ZnVuY3Rpb24oYSxiLGMsZCl7cnQuY2FsbCh0aGlzKTt0aGlzLmZlPWI7dGhpcy5rZD1jO3RoaXMuYWM9ZDt0aGlzLkxhPW5ldyBNYXA7dGhpcy5oZT0wO3RoaXMuamE9bmV3IE1hcDt0aGlzLnlhPW5ldyBNYXA7dGhpcy5aPXZvaWQgMDt0aGlzLks9YX07d2EobEYscnQpO2xGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDt0aGlzLkxhLmNsZWFyKCk7dGhpcy5qYS5jbGVhcigpO3RoaXMueWEuY2xlYXIoKTt0aGlzLlomJihudCh0aGlzLkssIm1lc3NhZ2UiLHRoaXMuWiksZGVsZXRlIHRoaXMuWik7ZGVsZXRlIHRoaXMuSztkZWxldGUgdGhpcy5hYztydC5wcm90b3R5cGUuTi5jYWxsKHRoaXMpfTsKdmFyIG1GPWZ1bmN0aW9uKGEpe2lmKGEuSClyZXR1cm4gYS5IO2Eua2QmJmEua2QoYS5LKT9hLkg9YS5LOmEuSD1OcChhLkssYS5mZSk7dmFyIGI7cmV0dXJuKGI9YS5IKSE9bnVsbD9iOm51bGx9LG9GPWZ1bmN0aW9uKGEsYixjKXtpZihtRihhKSlpZihhLkg9PT1hLkspe3ZhciBkPWEuTGEuZ2V0KGIpO2QmJmQoYS5ILGMpfWVsc2V7dmFyIGU9YS5qYS5nZXQoYik7aWYoZSYmZS5kayl7bkYoYSk7dmFyIGY9KythLmhlO2EueWEuc2V0KGYse3BlOmUucGUsSXI6ZS5ubyhjKSxwZXJzaXN0ZW50OmI9PT0iYWRkRXZlbnRMaXN0ZW5lciJ9KTthLkgucG9zdE1lc3NhZ2UoZS5kayhjLGYpLCIqIil9fX0sbkY9ZnVuY3Rpb24oYSl7YS5afHwoYS5aPWZ1bmN0aW9uKGIpe2lmKGIuc291cmNlPT09YS5IKXRyeXt2YXIgYztjPWEuYWM/YS5hYyhiKTp2b2lkIDA7aWYoYyl7dmFyIGQ9Yy5ZcyxlPWEueWEuZ2V0KGQpO2lmKGUpe2UucGVyc2lzdGVudHx8YS55YS5kZWxldGUoZCk7dmFyIGY7KGY9CmUucGUpPT1udWxsfHxmLmNhbGwoZSxlLklyLGMucGF5bG9hZCl9fX1jYXRjaChnKXt9fSxtdChhLkssIm1lc3NhZ2UiLGEuWikpfTt2YXIgcEY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxpc3RlbmVyLGQ9KDAsYS5fX2dwcCkoImFkZEV2ZW50TGlzdGVuZXIiLGMpO2QmJmMoZCwhMCl9LHFGPWZ1bmN0aW9uKGEsYil7KDAsYS5fX2dwcCkoInJlbW92ZUV2ZW50TGlzdGVuZXIiLGIubGlzdGVuZXIsYi5saXN0ZW5lcklkKX0sckY9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoiYWRkRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIn0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuO2EoYy5yZXR1cm5WYWx1ZSxjLnN1Y2Nlc3MpfX0sc0Y9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIiwKcGFyYW1ldGVyOmEubGlzdGVuZXJJZH0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuLGQ9Yy5yZXR1cm5WYWx1ZS5kYXRhO2E9PW51bGx8fGEoZCxjLnN1Y2Nlc3MpfX07ZnVuY3Rpb24gdEYoYSl7dmFyIGI9e307dmYoYS5kYXRhKT9iPUpTT04ucGFyc2UoYS5kYXRhKTpiPWEuZGF0YTtyZXR1cm57cGF5bG9hZDpiLFlzOmIuX19ncHBSZXR1cm4uY2FsbElkfX0KdmFyIHVGPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yz0oYj09PXZvaWQgMD97fTpiKS50aW1lb3V0TXM7cnQuY2FsbCh0aGlzKTt0aGlzLmNhbGxlcj1uZXcgbEYoYSwiX19ncHBMb2NhdG9yIixmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQuX19ncHA9PT0iZnVuY3Rpb24ifSx0Rik7dGhpcy5jYWxsZXIuTGEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixwRik7dGhpcy5jYWxsZXIuamEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixyRik7dGhpcy5jYWxsZXIuTGEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixxRik7dGhpcy5jYWxsZXIuamEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixzRik7dGhpcy50aW1lb3V0TXM9YyE9bnVsbD9jOjUwMH07d2EodUYscnQpO3VGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5jYWxsZXIuZGlzcG9zZSgpO3J0LnByb3RvdHlwZS5OLmNhbGwodGhpcyl9Owp1Ri5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9SHAoZnVuY3Rpb24oKXthKHZGLCEwKX0pLGQ9dGhpcy50aW1lb3V0TXM9PT0tMT92b2lkIDA6c2V0VGltZW91dChmdW5jdGlvbigpe2MoKX0sdGhpcy50aW1lb3V0TXMpO29GKHRoaXMuY2FsbGVyLCJhZGRFdmVudExpc3RlbmVyIix7bGlzdGVuZXI6ZnVuY3Rpb24oZSxmKXtjbGVhclRpbWVvdXQoZCk7dHJ5e3ZhciBnO3ZhciBoOygoaD1lLnBpbmdEYXRhKT09bnVsbD92b2lkIDA6aC5ncHBWZXJzaW9uKT09PXZvaWQgMHx8ZS5waW5nRGF0YS5ncHBWZXJzaW9uPT09IjEifHxlLnBpbmdEYXRhLmdwcFZlcnNpb249PT0iMS4wIj8oYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjEsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0lTX0RFUFJFQ0FURURfU1BFQyIsCmFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pOkFycmF5LmlzQXJyYXkoZS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMpP2c9ZTooYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjIsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0VYUEVDVEVEX0FQUExJQ0FUSU9OX1NFQ1RJT05fQVJSQVkiLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pO2EoZyxmKX1jYXRjaChsKXtpZihlPT1udWxsPzA6ZS5saXN0ZW5lcklkKXRyeXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS5saXN0ZW5lcklkKX1jYXRjaChuKXthKHdGLCEwKTtyZXR1cm59YSh4RiwhMCl9fX0pfTsKdUYucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7b0YodGhpcy5jYWxsZXIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLHtsaXN0ZW5lcjpmdW5jdGlvbigpe30sbGlzdGVuZXJJZDphfSl9Owp2YXIgeEY9e2V2ZW50TmFtZToic2lnbmFsU3RhdHVzIixkYXRhOiJyZWFkeSIscGluZ0RhdGE6e2ludGVybmFsRXJyb3JTdGF0ZToyLGdwcFN0cmluZzoiR1BQX0VSUk9SX1NUUklOR19VTkFWQUlMQUJMRSIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9LHZGPXtldmVudE5hbWU6InNpZ25hbFN0YXR1cyIsZGF0YToicmVhZHkiLHBpbmdEYXRhOntncHBTdHJpbmc6IkdQUF9FUlJPUl9TVFJJTkdfTElTVEVORVJfUkVHSVNUUkFUSU9OX1RJTUVPVVQiLGludGVybmFsRXJyb3JTdGF0ZToyLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfSxsaXN0ZW5lcklkOi0xfSx3Rj17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7Z3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX1JFTU9WRV9FVkVOVF9MSVNURU5FUl9FUlJPUiIsaW50ZXJuYWxFcnJvclN0YXRlOjIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9O2Z1bmN0aW9uIHlGKGEpe3ZhciBiO2lmKCEoYj1hLnBpbmdEYXRhLnNpZ25hbFN0YXR1cz09PSJyZWFkeSIpKXt2YXIgYz1hLnBpbmdEYXRhLmFwcGxpY2FibGVTZWN0aW9ucztiPSFjfHxjLmxlbmd0aD09PTEmJmNbMF09PT0tMX1pZihiKXtrRi5ncHBTdHJpbmc9YS5waW5nRGF0YS5ncHBTdHJpbmc7dmFyIGQ9YS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMuam9pbigiLCIpO2tGLkg9ZH19ZnVuY3Rpb24gekYoKXt0cnl7dmFyIGE9bmV3IHVGKEEse3RpbWVvdXRNczotMX0pO21GKGEuY2FsbGVyKSYmYS5hZGRFdmVudExpc3RlbmVyKHlGKX1jYXRjaChiKXt9fTtmdW5jdGlvbiBBRigpe3ZhciBhPVtbImN2IixFKDEpXSxbInJ2IixFKDE0KV0sWyJ0YyIsY0EudGFncy5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KS5sZW5ndGhdXSxiPUpmKDE1KTtiJiZhLnB1c2goWyJ4IixiXSk7dmFyIGM9Q3AoKTtjJiZhLnB1c2goWyJ0YWdfZXhwIixjXSk7cmV0dXJuIGF9O3ZhciBCRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O3RoaXMuSz17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1iLmV2ZW50SWQsZD1iLnRmLGU9W10sZj1hLkhbY118fFtdO2YubGVuZ3RoJiZlLnB1c2goWyJoZiIsZi5qb2luKCIuIildKTt2YXIgZz1hLktbY118fFtdO2cubGVuZ3RoJiZlLnB1c2goWyJodCIsZy5qb2luKCIuIildKTtkJiYoZGVsZXRlIGEuSFtjXSxkZWxldGUgYS5LW2NdKTtyZXR1cm4gZX0pfSxDRj1mdW5jdGlvbigpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKGIpe3N3aXRjaChiKXtjYXNlIDE6YXw9MTticmVhaztjYXNlIDI6YXw9MjticmVhaztjYXNlIDM6YXw9NH1yZXR1cm4gYX19LERGO3ZhciBFRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPSIiO2ZuLk4mJk0oNTE2KSYmZnooZnVuY3Rpb24oKXt2YXIgYj1bXTthLkgmJmIucHVzaChbInBzZCIsYS5IXSk7cmV0dXJuIGJ9KX0sRkY7ZnVuY3Rpb24gR0YoKXtyZXR1cm4hMX0KZnVuY3Rpb24gSEYoKXt2YXIgYT17fTtyZXR1cm4gZnVuY3Rpb24oYixjLGQpe319O2Z1bmN0aW9uIElGKCl7dmFyIGE9SkY7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1kJiZkLmV2ZW50O0tGKGMpO3ZhciBmPUJoKGIpP3ZvaWQgMDoxLGc9bmV3IGtiO0diKGMsZnVuY3Rpb24ocix0KXt2YXIgdT1VZCh0LHZvaWQgMCxmKTt1PT09dm9pZCAwJiZ0IT09dm9pZCAwJiZQKDQ0KTtnLnNldChyLHUpfSk7YS5RYihRZigpKTt2YXIgaD17Um46aGcoYiksZXZlbnRJZDplPT1udWxsP3ZvaWQgMDplLmlkLHByaW9yaXR5SWQ6ZSE9PXZvaWQgMD9lLnByaW9yaXR5SWQ6dm9pZCAwLHByaW9yaXR5UXVldWU6ZSE9PXZvaWQgMD9lLnByaW9yaXR5UXVldWU6dm9pZCAwLHdnOmUhPT12b2lkIDA/ZnVuY3Rpb24ocil7ZS5sZC53ZyhyKX06dm9pZCAwLFBiOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGxvZzpmdW5jdGlvbigpe30sTnI6e2luZGV4OmQ9PW51bGw/dm9pZCAwOmQuaW5kZXgsdHlwZTpkPT1udWxsP3ZvaWQgMDpkLnR5cGUsbmFtZTpkPT1udWxsP3ZvaWQgMDpkLm5hbWV9LAppdDohIUtBKGIsMyksb3JpZ2luYWxFdmVudERhdGE6ZT09bnVsbD92b2lkIDA6ZS5vcmlnaW5hbEV2ZW50RGF0YX07ZSYmZS5jYWNoZWRNb2RlbFZhbHVlcyYmKGguY2FjaGVkTW9kZWxWYWx1ZXM9e2d0bTplLmNhY2hlZE1vZGVsVmFsdWVzLmd0bSxlY29tbWVyY2U6ZS5jYWNoZWRNb2RlbFZhbHVlcy5lY29tbWVyY2V9KTtpZihHRigpKXt2YXIgbD1IRigpLG4scDtoLkFiPXt3azpbXSx5Zzp7fSxqYzpmdW5jdGlvbihyLHQsdSl7dD09PTEmJihuPXIpO3Q9PT03JiYocD11KTtsKHIsdCx1KX0sZWk6VmgoKX07aC5sb2c9ZnVuY3Rpb24ocil7dmFyIHQ9T2EuYXBwbHkoMSxhcmd1bWVudHMpO24mJmwobiw0LHtsZXZlbDpyLHNvdXJjZTpwLG1lc3NhZ2U6dH0pfX0KdmFyIHE9cmYoYSxoLFtiLGddKTthLlFiKCk7cSBpbnN0YW5jZW9mIFRhJiYocS50eXBlPT09InJldHVybiI/cT1xLmRhdGE6cT12b2lkIDApO3JldHVybiBUZChxLHZvaWQgMCxmKX19ZnVuY3Rpb24gS0YoYSl7dmFyIGI9YS5ndG1PblN1Y2Nlc3MsYz1hLmd0bU9uRmFpbHVyZTt5YihiKSYmKGEuZ3RtT25TdWNjZXNzPWZ1bmN0aW9uKCl7YmQoYil9KTt5YihjKSYmKGEuZ3RtT25GYWlsdXJlPWZ1bmN0aW9uKCl7YmQoYyl9KX07dmFyIE1GPWZ1bmN0aW9uKGEpe1YoYSxILkoudGcsY28uaWEuY2IpfTtmdW5jdGlvbiBORigpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApfTt2YXIgT0Y9W0YuRC56aV0ubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnNsaWNlKDIpfSk7dmFyIFBGPWZ1bmN0aW9uKGEpe1UoYSxGLkQuemksYWwoOCxORikpfTtmdW5jdGlvbiBRRihhKXt9UUYuUD0iaW50ZXJuYWwuYWRkQWRzQ2xpY2tJZHMiO2Z1bmN0aW9uIFJGKGEsYil7dmFyIGM9dGhpczt9UkYucHVibGljTmFtZT0iYWRkQ29uc2VudExpc3RlbmVyIjt2YXIgU0Y9ITE7ZnVuY3Rpb24gVEYoYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoU0YpdHJ5e2FbYl0oKX1jYXRjaChjKXtQKDc3KX1lbHNlIGFbYl0oKX1mdW5jdGlvbiBVRihhLGIsYyl7dmFyIGQ9dGhpcyxlO2lmKCFsaChhKXx8IWhoKGIpfHwhbWgoYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImZ1bmN0aW9uIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChkLCJsaXN0ZW5fZGF0YV9sYXllciIsYSl9XSk7ZT15QigpLmFkZExpc3RlbmVyKGEsVGQoYix2b2lkIDAsMSksYz09PW51bGw/dm9pZCAwOmMpO3JldHVybiBlfVVGLlA9ImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFZGKGEsYixjKXt9VkYucHVibGljTmFtZT0iYWRkRG9jdW1lbnRFdmVudExpc3RlbmVyIjtmdW5jdGlvbiBXRihhLGIsYyxkKXt9V0YucHVibGljTmFtZT0iYWRkRWxlbWVudEV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFhGKGEpe3JldHVybiBhLlQueGIoKX07ZnVuY3Rpb24gWUYoYSl7fVlGLnB1YmxpY05hbWU9ImFkZEV2ZW50Q2FsbGJhY2siOwp2YXIgWkY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YTpTdHJpbmcocmooKSl9LGJHPWZ1bmN0aW9uKGEsYil7JEYoYSwiaW5pdCIsITEpfHwoYUcoYSwiaW5pdCIsITApLGIoKSl9LCRGPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jRyhhKTtyZXR1cm4gT2IoZCxiLGMpfSxkRz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jRyhhKSxmPU9iKGUsYixkKSxnPWMoZik7cmV0dXJuIGVbYl09Z30sYUc9ZnVuY3Rpb24oYSxiLGMpe2NHKGEpW2JdPWN9LGNHPWZ1bmN0aW9uKGEpe3ZhciBiPWtqKCJhdXRvRXZlbnRzU2V0dGluZ3MiLGZ1bmN0aW9uKCl7cmV0dXJue319KTtiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSk7cmV0dXJuIGJbYV19LGVHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17ZXZlbnQ6YiwiZ3RtLmVsZW1lbnQiOmEsImd0bS5lbGVtZW50Q2xhc3NlcyI6b2QoYSwiY2xhc3NOYW1lIiksImd0bS5lbGVtZW50SWQiOmEuZm9yfHxlZChhLCJpZCIpfHwKIiIsImd0bS5lbGVtZW50VGFyZ2V0IjphLmZvcm1UYXJnZXR8fG9kKGEsInRhcmdldCIpfHwiIn07YyYmKGRbImd0bS50cmlnZ2VycyJdPWMuam9pbigiLCIpKTtkWyJndG0uZWxlbWVudFVybCJdPShhLmF0dHJpYnV0ZXMmJmEuYXR0cmlidXRlcy5mb3JtYWN0aW9uP2EuZm9ybUFjdGlvbjoiIil8fGEuYWN0aW9ufHxvZChhLCJocmVmIil8fGEuc3JjfHxhLmNvZGV8fGEuY29kZWJhc2V8fCIiO3JldHVybiBkfTt2YXIgaEc9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmVsZW1lbnRzKXJldHVybiAwO2Zvcih2YXIgZD1iLmRhdGFzZXRbY10sZT0wLGY9MTtlPGEuZWxlbWVudHMubGVuZ3RoO2UrKyl7dmFyIGc9YS5lbGVtZW50c1tlXSxoPWcudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCEoZkcuaW5kZXhPZihoKTwwfHxoPT09ImlucHV0IiYmZ0cuaW5kZXhPZihnLnR5cGUudG9Mb3dlckNhc2UoKSk+PTApKXtpZihnLmRhdGFzZXRbY109PT1kKXJldHVybiBmO2YrK319cmV0dXJuIDB9LGZHPVsiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSJdLGdHPVsiYnV0dG9uIiwiaGlkZGVuIiwiaW1hZ2UiLCJyZXNldCIsInN1Ym1pdCJdOwpmdW5jdGlvbiBpRyhhKXtpZihhLmZvcm0pe3ZhciBiO3JldHVybigoYj1hLmZvcm0pPT1udWxsPzA6Yi50YWdOYW1lKT9hLmZvcm06Qi5nZXRFbGVtZW50QnlJZChhLmZvcm0pfXJldHVybiBoZChhLFsiZm9ybSJdLDEwMCl9OwpmdW5jdGlvbiBtRyhhKXt9bUcuUD0iaW50ZXJuYWwuYWRkRm9ybUFiYW5kb25tZW50TGlzdGVuZXIiO2Z1bmN0aW9uIG5HKGEsYixjLGQpe30KbkcuUD0iaW50ZXJuYWwuYWRkRm9ybURhdGEiOwpmdW5jdGlvbiBzRyhhKXt9c0cuUD0iaW50ZXJuYWwuYWRkR2FTZW5kTGlzdGVuZXIiO2Z1bmN0aW9uIHRHKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuTnI7cmV0dXJuIEpBKGIudHlwZSxiLmluZGV4LGIubmFtZSl9ZnVuY3Rpb24gdUcoYSl7aWYoIWEpcmV0dXJue307dmFyIGI9e29yaWdpbmF0aW5nRW50aXR5OnRHKGEpfTthLnByaW9yaXR5UXVldWUmJihiLnByaW9yaXR5UXVldWU9YS5wcmlvcml0eVF1ZXVlKTtyZXR1cm4gYn07ZnVuY3Rpb24gQ0coYSl7dmFyIGI9bWooInpvbmVzIik7cmV0dXJuIGI/Yi5nZXRJc0FsbG93ZWRGbih3aygpLGEpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIERHKCl7dmFyIGE9bWooInpvbmVzIik7YSYmYS51bnJlZ2lzdGVyQ2hpbGQod2soKSl9CmZ1bmN0aW9uIEVHKCl7a0IodmsoKSxmdW5jdGlvbihhKXt2YXIgYj1hLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdLGM9bWooInpvbmVzIik7cmV0dXJuIGM/Yy5pc0FjdGl2ZSh3aygpLGIpOiEwfSk7aEIodmsoKSxmdW5jdGlvbihhKXt2YXIgYixjO2I9YS5lbnRpdHlJZDtjPWEuc2VjdXJpdHlHcm91cHM7cmV0dXJuIENHKE51bWJlcihhLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdKSkoYixjKX0pfTt2YXIgRkc9ZnVuY3Rpb24oYSxiKXt0aGlzLnRhZ0lkPWE7dGhpcy5jYW5vbmljYWxJZD1ifTsKZnVuY3Rpb24gR0coYSxiKXt2YXIgYz10aGlzO3JldHVybiBhfUdHLlA9ImludGVybmFsLmxvYWRHb29nbGVUYWciO2Z1bmN0aW9uIEhHKGEpe3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShiKTtpZihjIGluc3RhbmNlb2YgS2QpcmV0dXJuIG5ldyBLZCgiIixmdW5jdGlvbigpe3ZhciBkPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxlPXRoaXMsZj1FZChYRih0aGlzKSxudWxsKTtmLmV2ZW50SWQ9YS5ldmVudElkO2YucHJpb3JpdHlJZD1hLnByaW9yaXR5SWQ7Zi5vcmlnaW5hbEV2ZW50RGF0YT1hLm9yaWdpbmFsRXZlbnREYXRhO3ZhciBnPWQubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBlLmV2YWx1YXRlKGwpfSksaD10aGlzLlQud2IoKTtoLnVlKGYpO3JldHVybiBjLk5jLmFwcGx5KGMsW2hdLmNvbmNhdCh3KGcpKSl9KX0pfTtmdW5jdGlvbiBJRyhhLGIsYyl7dmFyIGQ9dGhpczt9SUcuUD0iaW50ZXJuYWwuYWRkR29vZ2xlVGFnUmVzdHJpY3Rpb24iOwpmdW5jdGlvbiBQRyhhLGIpe31QRy5QPSJpbnRlcm5hbC5hZGRIaXN0b3J5Q2hhbmdlTGlzdGVuZXIiO2Z1bmN0aW9uIFFHKGEsYixjKXt9UUcucHVibGljTmFtZT0iYWRkV2luZG93RXZlbnRMaXN0ZW5lciI7ZnVuY3Rpb24gUkcoYSxiKXtyZXR1cm4hMH1SRy5wdWJsaWNOYW1lPSJhbGlhc0luV2luZG93IjtmdW5jdGlvbiBTRyhhLGIsYyl7fVNHLlA9ImludGVybmFsLmFwcGVuZFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gVEcoYSl7dmFyIGI7cmV0dXJuIGJ9ClRHLnB1YmxpY05hbWU9ImNhbGxJbldpbmRvdyI7ZnVuY3Rpb24gVUcoYSl7fVVHLnB1YmxpY05hbWU9ImNhbGxMYXRlciI7ZnVuY3Rpb24gVkcoYSl7fVZHLlA9ImNhbGxPbkRvbVJlYWR5IjtmdW5jdGlvbiBXRyhhKXt9V0cuUD0iY2FsbE9uV2luZG93TG9hZCI7dmFyIFlHPWZ1bmN0aW9uKGEsYil7dmFyIGM9bm0oWEcpfHx7fSxkPWNbYV18fHt9O2lmKGRbYl0pcmV0dXJuITE7dmFyIGU9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxkKTtlW2JdPSEwO3ZhciBmPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyk7ZlthXT1lO21tKFhHLGYpO3JldHVybiEwfSxYRz1qbS5iYS5ocjtmdW5jdGlvbiBaRyhhLGIpe2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPVlHKGEsYik7cmV0dXJuIGN9WkcuUD0iaW50ZXJuYWwuY2xhaW1EZXN0aW5hdGlvbiI7ZnVuY3Rpb24gJEcoYSxiKXt2YXIgYztyZXR1cm4gY30kRy5QPSJpbnRlcm5hbC5jb21wdXRlR3RtUGFyYW1ldGVyIjtmdW5jdGlvbiBhSChhLGIpe3ZhciBjPXRoaXM7fWFILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZUZpcnN0VHJ5IjtmdW5jdGlvbiBiSChhLGIpe3ZhciBjPXRoaXM7fWJILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZVJldHJ5IjtmdW5jdGlvbiBjSChhKXt2YXIgYjtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyJdLGFyZ3VtZW50cyk7dmFyIGM9YTtpZigha20oYykpdGhyb3cgRXJyb3IoImNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTt2YXIgZD1ubShjKTtiPVVkKGQsdGhpcy5ULDEpO3JldHVybiBifWNILlA9ImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBkSChhLGIpe3ZhciBjO3ZhciBlPVVkKGMsdGhpcy5ULEJoKFhGKHRoaXMpLlBiKCkpPzI6MSk7ZT09PXZvaWQgMCYmYyE9PXZvaWQgMCYmUCg0NSk7cmV0dXJuIGV9ZEgucHVibGljTmFtZT0iY29weUZyb21EYXRhTGF5ZXIiOwpmdW5jdGlvbiBlSChhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9ZUguUD0iaW50ZXJuYWwuY29weUZyb21EYXRhTGF5ZXJDYWNoZSI7ZnVuY3Rpb24gZkgoYSl7dmFyIGI7cmV0dXJuIGJ9ZkgucHVibGljTmFtZT0iY29weUZyb21XaW5kb3ciO2Z1bmN0aW9uIGdIKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYix0aGlzLlQsMSl9Z0guUD0iaW50ZXJuYWwuY29weUtleUZyb21XaW5kb3ciO3ZhciBoSD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWNvLmlhLmNiJiZmby5IW2FdPT09Ym8uTWEuVWUmJiFYbyhGLkQua2EpfTt2YXIgaUg9ZnVuY3Rpb24oKXtyZXR1cm4iMCJ9LGpIPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuIiI7dmFyIGI9WyJnY2xpZCIsImRjbGlkIiwid2JyYWlkIiwiX2dsIl07TSgxMDIpJiZiLnB1c2goImdicmFpZCIpO3JldHVybiBTaihhLGIsIjAiKX07dmFyIGtIPXt9LGxIPXt9LG1IPXt9LG5IPXt9LG9IPXt9LHBIPXt9LHFIPXt9LHJIPXt9LHNIPXt9LHRIPXt9LHVIPXt9LHZIPXt9LHdIPXt9LHhIPXt9LHlIPXt9LHpIPXt9LEFIPXt9LEJIPXt9LENIPXt9LERIPXt9LEVIPXt9LEZIPXt9LEdIPXt9LEhIPXt9LElIPXt9LEpIPXt9LEtIPShKSFtGLkQuZmJdPShrSFsyXT1baEhdLGtIKSxKSFtGLkQuWmZdPShsSFsyXT1baEhdLGxIKSxKSFtGLkQuSmldPShtSFsyXT1baEhdLG1IKSxKSFtGLkQuZ21dPShuSFsyXT1baEhdLG5IKSxKSFtGLkQuaG1dPShvSFsyXT1baEhdLG9IKSxKSFtGLkQuaW1dPShwSFsyXT1baEhdLHBIKSxKSFtGLkQuam1dPShxSFsyXT1baEhdLHFIKSxKSFtGLkQua21dPShySFsyXT1baEhdLHJIKSxKSFtGLkQuQmNdPShzSFsyXT1baEhdLHNIKSxKSFtGLkQuY2ddPSh0SFsyXT1baEhdLHRIKSxKSFtGLkQuZGddPSh1SFsyXT1baEhdLHVIKSxKSFtGLkQuZWddPSh2SFsyXT1baEhdLHZIKSxKSFtGLkQuZmddPSh3SFsyXT0KW2hIXSx3SCksSkhbRi5ELmdnXT0oeEhbMl09W2hIXSx4SCksSkhbRi5ELmhnXT0oeUhbMl09W2hIXSx5SCksSkhbRi5ELmlnXT0oekhbMl09W2hIXSx6SCksSkhbRi5ELmpnXT0oQUhbMl09W2hIXSxBSCksSkhbRi5ELmxiXT0oQkhbMV09W2hIXSxCSCksSkhbRi5ELkRkXT0oQ0hbMV09W2hIXSxDSCksSkhbRi5ELktkXT0oREhbMV09W2hIXSxESCksSkhbRi5ELkVlXT0oRUhbMV09W2hIXSxFSCksSkhbRi5ELkJmXT0oRkhbMV09W2Z1bmN0aW9uKGEpe3JldHVybiBNKDEwMikmJmhIKGEpfV0sRkgpLEpIW0YuRC5VY109KEdIWzFdPVtoSF0sR0gpLEpIW0YuRC56YV09KEhIWzFdPVtoSF0sSEgpLEpIW0YuRC5VYV09KElIWzFdPVtoSF0sSUgpLEpIKSxMSD17fSxNSD0oTEhbRi5ELmxiXT1pSCxMSFtGLkQuRGRdPWlILExIW0YuRC5LZF09aUgsTEhbRi5ELkVlXT1pSCxMSFtGLkQuQmZdPWlILExIW0YuRC5VY109ZnVuY3Rpb24oYSl7aWYoIUNkKGEpKXJldHVybnt9O3ZhciBiPUVkKGEsCm51bGwpO2RlbGV0ZSBiLm1hdGNoX2lkO3JldHVybiBifSxMSFtGLkQuemFdPWpILExIW0YuRC5VYV09akgsTEgpLE5IPXt9LE9IPXt9LFBIPShPSFtILkouWWFdPShOSFsyXT1baEhdLE5IKSxPSCksUUg9e307dmFyIFJIPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSD1hO3RoaXMuTj1iO3RoaXMuUj1jO3RoaXMuWj1kfTtSSC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2NvLmlhLmdkOmE7aWYoIXRoaXMuTi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSkpcmV0dXJuIHRoaXMuUi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSk/dGhpcy5aKHRoaXMuSCk6dGhpcy5IfTtSSC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiBBZCh0aGlzLkgpPT09ImFycmF5Inx8Q2QodGhpcy5IKT9FZCh0aGlzLkgsbnVsbCk6dGhpcy5IfTsKdmFyIFNIPWZ1bmN0aW9uKCl7fSxUSD1mdW5jdGlvbihhLGIpe3RoaXMuY29uZGl0aW9ucz1hO3RoaXMuSD1ifSxVSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oKGQ9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZFsyXSl8fFtdLGYsZz0oKGY9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZlsxXSl8fFtdO3JldHVybiBuZXcgUkgoYyxlLGcsYS5IW2JdfHxTSCl9LFZILFdIO3ZhciBZSD1mdW5jdGlvbihhKXthLks9ITA7YS5IPSExO2lmKElmKDUyKSl7aWYoTSg1MTYpJiZYSCgpKXt2YXIgYjthLnNldHRpbmdzPShiPWRhdGEucHJvZHVjdFNldHRpbmdzKSE9bnVsbD9iOnt9O2EuSD0hMH1lbHNle3ZhciBjO2Euc2V0dGluZ3M9KGM9cHJvZHVjdFNldHRpbmdzKSE9bnVsbD9jOnt9fXByb2R1Y3RTZXR0aW5ncz12b2lkIDA7ZGF0YS5wcm9kdWN0U2V0dGluZ3M9dm9pZCAwO3ZhciBkOyhkPUZGKSE9bnVsbCYmZm4uTiYmTSg1MTYpJiYoZC5IPWEuSD8iMSI6IjAiKX19LCRIPWZ1bmN0aW9uKGEpe3ZhciBiPVpIO2IuS3x8WUgoYik7cmV0dXJuIGIuc2V0dGluZ3NbYV19LFpIPW5ldyBmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3M9e307dGhpcy5LPXRoaXMuSD0hMX07CmZ1bmN0aW9uIFhIKCl7aWYoIWRhdGEucHJvZHVjdFNldHRpbmdzJiYhcHJvZHVjdFNldHRpbmdzKXJldHVybiEwO2lmKCFkYXRhLnByb2R1Y3RTZXR0aW5nc3x8IXByb2R1Y3RTZXR0aW5nc3x8T2JqZWN0LmtleXMoZGF0YS5wcm9kdWN0U2V0dGluZ3MpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHByb2R1Y3RTZXR0aW5ncykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYSBpbiBwcm9kdWN0U2V0dGluZ3MpaWYoIWRhdGEucHJvZHVjdFNldHRpbmdzLmhhc093blByb3BlcnR5KGEpfHxkYXRhLnByb2R1Y3RTZXR0aW5nc1thXS5wcmVBdXRvUGlpIT09cHJvZHVjdFNldHRpbmdzW2FdLnByZUF1dG9QaWkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBhST1mdW5jdGlvbihhLGIsYyl7dGhpcy5ldmVudE5hbWU9Yjt0aGlzLk09Yzt0aGlzLkg9e307dGhpcy5pc0Fib3J0ZWQ9ITE7dGhpcy50YXJnZXQ9YTt0aGlzLm1ldGFkYXRhPXt9O2Zvcih2YXIgZD1jLmV2ZW50TWV0YWRhdGF8fHt9LGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Vih0aGlzLGcsZFtnXSl9fSxSPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYz1hLkhbYl0pPT1udWxsP3ZvaWQgMDooZD1jLmdldFZhbHVlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsUShhLEguSi50ZykpfSxldT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKX0sVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ILGU7Yz09PXZvaWQgMD9lPXZvaWQgMDooVkghPW51bGx8fChWSD1uZXcgVEgoS0gsTUgpKSxlPVVIKFZILGIsYykpO2RbYl09ZX07CmFJLnByb3RvdHlwZS5tZXJnZUhpdERhdGFGb3JLZXk9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7Yz0oZD10aGlzLkhbYV0pPT1udWxsP3ZvaWQgMDooZT1kLkspPT1udWxsP3ZvaWQgMDplLmNhbGwoZCk7aWYoIWMpcmV0dXJuIFUodGhpcyxhLGIpLCEwO2lmKCFDZChjKSlyZXR1cm4hMTtVKHRoaXMsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGMsYikpO3JldHVybiEwfTt2YXIgYkk9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjtmb3IodmFyIGM9bShPYmplY3Qua2V5cyhhLkgpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEuSFtlXSk9PW51bGw/dm9pZCAwOihoPShnPWYpLkspPT1udWxsP3ZvaWQgMDpoLmNhbGwoZyl9cmV0dXJuIGJ9OwphSS5wcm90b3R5cGUuY29weVRvSGl0RGF0YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Tyh0aGlzLk0sYSk7ZD09PXZvaWQgMCYmKGQ9Yik7aWYoemIoZCkmJmMhPT12b2lkIDApdHJ5e2Q9YyhkKX1jYXRjaChlKXt9ZCE9PXZvaWQgMCYmVSh0aGlzLGEsZCl9Owp2YXIgUT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWV0YWRhdGFbYl07aWYoYj09PUguSi50Zyl7dmFyIGQ7cmV0dXJuIGM9PW51bGw/dm9pZCAwOihkPWMuSyk9PW51bGw/dm9pZCAwOmQuY2FsbChjKX12YXIgZTtyZXR1cm4gYz09bnVsbD92b2lkIDA6KGU9Yy5nZXRWYWx1ZSk9PW51bGw/dm9pZCAwOmUuY2FsbChjLFEoYSxILkoudGcpKX0sVj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tZXRhZGF0YSxlO2M9PT12b2lkIDA/ZT1jOihXSCE9bnVsbHx8KFdIPW5ldyBUSChQSCxRSCkpLGU9VUgoV0gsYixjKSk7ZFtiXT1lfSxjST1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2Zvcih2YXIgYz1tKE9iamVjdC5rZXlzKGEubWV0YWRhdGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEubWV0YWRhdGFbZV0pPT1udWxsP3ZvaWQgMDooaD0oZz1mKS5LKT09bnVsbD92b2lkIDA6CmguY2FsbChnKX1yZXR1cm4gYn0sZEk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRIKGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO3JldHVybiBkJiZkW2JdIT09dm9pZCAwP2RbYl06Y30sWnU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9bmV3IGFJKChiPT1udWxsP3ZvaWQgMDpiLnRhcmdldCl8fGEudGFyZ2V0LChiPT1udWxsP3ZvaWQgMDpiLmV2ZW50TmFtZSl8fGEuZXZlbnROYW1lLChiPT1udWxsP3ZvaWQgMDpiLk0pfHxhLk0pLGQ9YkkoYSksZT1tKE9iamVjdC5rZXlzKGQpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtVKGMsZyxkW2ddKX1mb3IodmFyIGg9Y0koYSksbD1tKE9iamVjdC5rZXlzKGgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtWKGMscCxoW3BdKX1jLmlzQWJvcnRlZD1hLmlzQWJvcnRlZDtyZXR1cm4gY30sZUk9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLGM9Yi5ldmVudElkLGQ9Yi5wcmlvcml0eUlkOwpyZXR1cm4gZD9jKyJfIitkOlN0cmluZyhjKX07YUkucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbigpe3ZhciBhPW9tKGptLmJhLlNpLHt9KSxiPWVJKHRoaXMpLGM9dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZDthW2JdfHwoYVtiXT17fSk7YVtiXVtjXT12aygpO3ZhciBkPWptLmJhLlNpO2lmKGttKGQpKXt2YXIgZTsoZT1sbShkKSk9PW51bGx8fGUubm90aWZ5KCl9fTthSS5wcm90b3R5cGUuY2FuQmVBY2NlcHRlZD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5TaSk7aWYoIWIpcmV0dXJuITA7dmFyIGM9YltlSSh0aGlzKV07aWYoIWMpcmV0dXJuITA7dmFyIGQ9Y1thIT1udWxsP2E6dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZF07cmV0dXJuIGQ9PT12b2lkIDB8fGQ9PT12aygpfTtmdW5jdGlvbiBmSShhKXtyZXR1cm57Z2V0RGVzdGluYXRpb25JZDpmdW5jdGlvbigpe3JldHVybiBhLnRhcmdldC5kZXN0aW5hdGlvbklkfSxnZXRFdmVudE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5ldmVudE5hbWV9LHNldEV2ZW50TmFtZTpmdW5jdGlvbihiKXthLmV2ZW50TmFtZT1ifSxnZXRIaXREYXRhOmZ1bmN0aW9uKGIpe3JldHVybiBSKGEsYil9LHNldEhpdERhdGE6ZnVuY3Rpb24oYixjKXtVKGEsYixjKX0sc2V0SGl0RGF0YUlmTm90RGVmaW5lZDpmdW5jdGlvbihiLGMpe1IoYSxiKT09PXZvaWQgMCYmVShhLGIsYyl9LGNvcHlUb0hpdERhdGE6ZnVuY3Rpb24oYixjKXthLmNvcHlUb0hpdERhdGEoYixjKX0sZ2V0TWV0YWRhdGE6ZnVuY3Rpb24oYil7cmV0dXJuIFEoYSxiKX0sc2V0TWV0YWRhdGE6ZnVuY3Rpb24oYixjKXtWKGEsYixjKX0saXNBYm9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNBYm9ydGVkfSxhYm9ydDpmdW5jdGlvbigpe2EuaXNBYm9ydGVkPSEwfSwKZ2V0RnJvbUV2ZW50Q29udGV4dDpmdW5jdGlvbihiKXtyZXR1cm4gTyhhLk0sYil9LHJiOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEhpdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gZXUoYSl9LGdldE1lcmdlZFZhbHVlczpmdW5jdGlvbihiKXtyZXR1cm4gYS5NLmdldE1lcmdlZFZhbHVlcyhiLDMpfSxtZXJnZUhpdERhdGFGb3JLZXk6ZnVuY3Rpb24oYixjKXtyZXR1cm4gQ2QoYyk/YS5tZXJnZUhpdERhdGFGb3JLZXkoYixjKTohMX0sYWNjZXB0OmZ1bmN0aW9uKCl7YS5hY2NlcHQoKX0sY2FuQmVBY2NlcHRlZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5jYW5CZUFjY2VwdGVkKGIpfX19O2Z1bmN0aW9uIGdJKGEsYil7dmFyIGM7aWYoIWVoKGEpfHwhZmgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsIk9iamVjdHx1bmRlZmluZWQiXSxhcmd1bWVudHMpO3ZhciBkPVRkKGIpfHx7fSxlPVRkKGEsdGhpcy5ULDEpLnJiKCksZj1lLk07ZC5vbWl0RXZlbnRDb250ZXh0JiYoZj1KQyhuZXcgeUMoZS5NLmV2ZW50SWQsZS5NLnByaW9yaXR5SWQpKSk7dmFyIGc9bmV3IGFJKGUudGFyZ2V0LGUuZXZlbnROYW1lLGYpO2lmKCFkLm9taXRIaXREYXRhKWZvcih2YXIgaD1iSShlKSxsPW0oT2JqZWN0LmtleXMoaCkpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlO1UoZyxwLGhbcF0pfWlmKGQub21pdE1ldGFkYXRhKWcubWV0YWRhdGE9e307ZWxzZSBmb3IodmFyIHE9Y0koZSkscj1tKE9iamVjdC5rZXlzKHEpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD0Kci5uZXh0KCkpe3ZhciB1PXQudmFsdWU7VihnLHUscVt1XSl9Zy5pc0Fib3J0ZWQ9ZS5pc0Fib3J0ZWQ7Yz1VZChmSShnKSx0aGlzLlQsMSk7cmV0dXJuIGN9Z0kuUD0iaW50ZXJuYWwuY29weVByZUhpdCI7ZnVuY3Rpb24gaEkoYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjLHRoaXMuVCwyKX1oSS5wdWJsaWNOYW1lPSJjcmVhdGVBcmd1bWVudHNRdWV1ZSI7ZnVuY3Rpb24gaUkoYSl7cmV0dXJuIFVkKGZ1bmN0aW9uKGMpe3ZhciBkPVNBKCk7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKWQoZnVuY3Rpb24oKXtjKGZ1bmN0aW9uKGYsZyxoKXt2YXIgbD0KU0EoKSxuPWwmJmwuZ2V0QnlOYW1lJiZsLmdldEJ5TmFtZShmKTtyZXR1cm4obmV3IEEuZ2FwbHVnaW5zLkxpbmtlcihuKSkuZGVjb3JhdGUoZyxoKX0pfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGMpKXt2YXIgZT1TdHJpbmcoY1swXSkuc3BsaXQoIi4iKTtiW2UubGVuZ3RoPT09MT9lWzBdOmVbMV1dJiZkLmFwcGx5KG51bGwsYyl9ZWxzZSBpZihjPT09ImlzTG9hZGVkIilyZXR1cm4hIWQubG9hZGVkfSx0aGlzLlQsMSl9aUkuUD0iaW50ZXJuYWwuY3JlYXRlR2FDb21tYW5kUXVldWUiO2Z1bmN0aW9uIGpJKGEpe3JldHVybiBVZChmdW5jdGlvbigpe2lmKCF5YihlLnB1c2gpKXRocm93IEVycm9yKCJPYmplY3QgYXQgIithKyIgaW4gd2luZG93IGlzIG5vdCBhbiBhcnJheS4iKTtlLnB1c2guYXBwbHkoZSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfSx0aGlzLlQsCkJoKFhGKHRoaXMpLlBiKCkpPzI6MSl9akkucHVibGljTmFtZT0iY3JlYXRlUXVldWUiO2Z1bmN0aW9uIGtJKGEsYil7dmFyIGM9bnVsbDtpZighbGgoYSl8fCFtaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dHJ5e3ZhciBkPShifHwiIikuc3BsaXQoIiIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iaWciLmluZGV4T2YoZSk+PTB9KS5qb2luKCIiKTtjPW5ldyBQZChuZXcgUmVnRXhwKGEsZCkpfWNhdGNoKGUpe31yZXR1cm4gY31rSS5QPSJpbnRlcm5hbC5jcmVhdGVSZWdleCI7ZnVuY3Rpb24gbEkoYSl7fWxJLlA9ImludGVybmFsLmRlY2xhcmVDb25zZW50U3RhdGUiO2Z1bmN0aW9uIG1JKGEpe3ZhciBiPSIiO3JldHVybiBifW1JLlA9ImludGVybmFsLmRlY29kZVVybEh0bWxFbnRpdGllcyI7ZnVuY3Rpb24gbkkoYSxiLGMpe3ZhciBkO3JldHVybiBkfW5JLlA9ImludGVybmFsLmRlY29yYXRlVXJsV2l0aEdhQ29va2llcyI7ZnVuY3Rpb24gb0koKXt9b0kuUD0iaW50ZXJuYWwuZGVmZXJDdXN0b21FdmVudHMiO2Z1bmN0aW9uIHBJKGEsYil7dHJ5e3JldHVybiBhLmNsb3Nlc3QoYil9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtmdW5jdGlvbiBxSSgpe3ZhciBhPUEuc2NyZWVuO3JldHVybnt3aWR0aDphP2Eud2lkdGg6MCxoZWlnaHQ6YT9hLmhlaWdodDowfX0KZnVuY3Rpb24gckkoYSl7aWYoQi5oaWRkZW4pcmV0dXJuITA7dmFyIGI9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiLnRvcD09PWIuYm90dG9tfHxiLmxlZnQ9PT1iLnJpZ2h0fHwhQS5nZXRDb21wdXRlZFN0eWxlKXJldHVybiEwO3ZhciBjPUEuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpO2lmKGMudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcih2YXIgZD1hLGU9YztkOyl7aWYoZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO3ZhciBmPWUub3BhY2l0eSxnPWUuZmlsdGVyO2lmKGcpe3ZhciBoPWcuaW5kZXhPZigib3BhY2l0eSgiKTtoPj0wJiYoZz1nLnN1YnN0cmluZyhoKzgsZy5pbmRleE9mKCIpIixoKSksZy5jaGFyQXQoZy5sZW5ndGgtMSk9PT0iJSImJihnPWcuc3Vic3RyaW5nKDAsZy5sZW5ndGgtMSkpLGY9U3RyaW5nKE1hdGgubWluKE51bWJlcihnKSxOdW1iZXIoZikpKSl9aWYoZiE9PXZvaWQgMCYmTnVtYmVyKGYpPD0wKXJldHVybiEwOyhkPWQucGFyZW50RWxlbWVudCkmJgooZT1BLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSl9cmV0dXJuITF9CnZhciB0ST1mdW5jdGlvbihhKXt2YXIgYj1zSSgpLGM9Yi5oZWlnaHQsZD1iLndpZHRoLGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWUuYm90dG9tLWUudG9wLGc9ZS5yaWdodC1lLmxlZnQ7cmV0dXJuIGYmJmc/KDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS5sZWZ0LDApK01hdGgubWF4KGUucmlnaHQtZCwwKSkvZywxKSkqKDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS50b3AsMCkrTWF0aC5tYXgoZS5ib3R0b20tYywwKSkvZiwxKSk6MH0sc0k9ZnVuY3Rpb24oKXt2YXIgYT1CLmJvZHksYj1CLmRvY3VtZW50RWxlbWVudHx8YSYmYS5wYXJlbnRFbGVtZW50LGMsZDtpZihCLmNvbXBhdE1vZGUmJkIuY29tcGF0TW9kZSE9PSJCYWNrQ29tcGF0IiljPWI/Yi5jbGllbnRIZWlnaHQ6MCxkPWI/Yi5jbGllbnRXaWR0aDowO2Vsc2V7dmFyIGU9ZnVuY3Rpb24oZixnKXtyZXR1cm4gZiYmZz9NYXRoLm1pbihmLGcpOk1hdGgubWF4KGYsZyl9O2M9ZShiP2IuY2xpZW50SGVpZ2h0OjAsYT8KYS5jbGllbnRIZWlnaHQ6MCk7ZD1lKGI/Yi5jbGllbnRXaWR0aDowLGE/YS5jbGllbnRXaWR0aDowKX1yZXR1cm57d2lkdGg6ZCxoZWlnaHQ6Y319O3ZhciB2ST1mdW5jdGlvbihhKXtpZih1SSl7dmFyIGI9YWwoMjQsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGE+PTAmJmE8Yi5sZW5ndGgmJmJbYV0pe3ZhciBjOyhjPWJbYV0pPT1udWxsfHxjLmRpc2Nvbm5lY3QoKTtiW2FdPXZvaWQgMH19ZWxzZSBBLmNsZWFySW50ZXJ2YWwoYSl9LHlJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdPjE/Y1tkXT0xOmNbZF08MCYmKGNbZF09MCk7aWYodUkpe3ZhciBlPSExO2JkKGZ1bmN0aW9uKCl7ZXx8d0koYSxiLGMpKCl9KTtyZXR1cm4geEkoZnVuY3Rpb24oZil7ZT0hMDtmb3IodmFyIGc9e0hnOjB9O2cuSGc8Zi5sZW5ndGg7Zz17SGc6Zy5IZ30sZy5IZysrKWJkKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2EoZltoLkhnXSl9fShnKSl9LApiLGMpfXJldHVybiBjZCh3SShhLGIsYyksMUUzKX0sd0k9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoaCxsKXt2YXIgbj17dG9wOjAsYm90dG9tOjAscmlnaHQ6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0scD17Ym91bmRpbmdDbGllbnRSZWN0OmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaW50ZXJzZWN0aW9uUmF0aW86bCxpbnRlcnNlY3Rpb25SZWN0Om4saXNJbnRlcnNlY3Rpbmc6bD4wLHJvb3RCb3VuZHM6bix0YXJnZXQ6aCx0aW1lOk5iKCl9O2JkKGZ1bmN0aW9uKCl7YShwKX0pfWZvcih2YXIgZT1bXSxmPVtdLGc9MDtnPGIubGVuZ3RoO2crKyllLnB1c2goMCksZi5wdXNoKC0xKTtjLnNvcnQoZnVuY3Rpb24oaCxsKXtyZXR1cm4gaC1sfSk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBoPTA7aDxiLmxlbmd0aDtoKyspe3ZhciBsPXRJKGJbaF0pO2lmKGw+ZVtoXSlmb3IoO2ZbaF08Yy5sZW5ndGgtMSYmbD49Y1tmW2hdKzFdOylkKGJbaF0sbCksZltoXSsrO2Vsc2UgaWYobDwKZVtoXSlmb3IoO2ZbaF0+PTAmJmw8PWNbZltoXV07KWQoYltoXSxsKSxmW2hdLS07ZVtoXT1sfX19LHhJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9bmV3IEEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoYSx7dGhyZXNob2xkOmN9KSxlPTA7ZTxiLmxlbmd0aDtlKyspZC5vYnNlcnZlKGJbZV0pO2Zvcih2YXIgZj1hbCgyNCxmdW5jdGlvbigpe3JldHVybltdfSksZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKCFmW2ddKXJldHVybiBmW2ddPWQsZztyZXR1cm4gZi5wdXNoKGQpLTF9LHVJPSEoIUEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXJ8fCFBLkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOwp2YXIgSkk9ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hPT1udWxsP3ZvaWQgMDphLmluY2x1ZGVTZWxlY3RvcikhPW51bGw/YjohMCxkLGU9KGQ9YT09bnVsbD92b2lkIDA6YS5pbmNsdWRlVmlzaWJpbGl0eSkhPW51bGw/ZDohMCxmLGc9KGY9YT09bnVsbD92b2lkIDA6YS5zZWxlY3RNdWx0aXBsZUVsZW1lbnRzKSE9bnVsbD9mOiExLGg9KGE9PW51bGw/dm9pZCAwOmEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMpfHxbXSxsPShhPT1udWxsP3ZvaWQgMDphLmZpZWxkRmlsdGVycyl8fHtlbWFpbDohMCxwaG9uZTohMSxhZGRyZXNzOiExfSxuPWFsKDYsZnVuY3Rpb24oKXtyZXR1cm57fX0pLHA9ekkoe2luY2x1ZGVTZWxlY3RvcjpjLGluY2x1ZGVWaXNpYmlsaXR5OmUsZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM6aCxmaWVsZEZpbHRlcnM6bH0pLHE9bltwXTtpZihxJiZOYigpLXEudGltZXN0YW1wPDIwMCl7dmFyIHI9cS5yZXN1bHQsdDsoci5lbGVtZW50cy5zb21lKGZ1bmN0aW9uKHFhKXtyZXR1cm4gcWEuZGl9KXx8CigodD1yLmdpKT09bnVsbD8wOnQuZGkpKSYmR3UoVC5XLnJqKTtyZXR1cm4gcn12YXIgdT1BSSgpLHY9dS5zdGF0dXMseD1bXSx5LHosQz1bXTtpZihNKDU2OCkpe3ZhciBEPUJJKGwpLEk9Q0kodS5lbGVtZW50cyxEKSxHPURJKEkpLE49RUkoRyxoKSxTPUZJKE4pO3k9Uy5maWx0ZXIoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5EYT09PUZELkJifSlbMF07Zm9yKHZhciBXPVtdLGVhPXtJZzowfTtlYS5JZzxELmxlbmd0aDtlYT17SWc6ZWEuSWd9LGVhLklnKyspe3ZhciBqYT1OLmZpbHRlcihmdW5jdGlvbihxYSl7cmV0dXJuIGZ1bmN0aW9uKGliKXtyZXR1cm4gaWIuRGE9PT1EW3FhLklnXX19KGVhKSk7amEubGVuZ3RoPjEwJiYodj0iMyIsamE9amEuc2xpY2UoMCwxMCkpO1c9Vy5jb25jYXQoamEpfU49VzshZyYmUyYmKE49Uyk7Zm9yKHZhciBmYT0wO2ZhPE4ubGVuZ3RoO2ZhKyspe3ZhciBzYT1OW2ZhXTtzYS5EYSE9PUZELktoJiZDLnB1c2goR0koc2EsYyxlKSl9fWVsc2V7aWYobC5lbWFpbCl7dmFyIGRhPQpISSh1LmVsZW1lbnRzKTt4PUVJKGRhLGgpO3k9SUkoeCk7ZGEubGVuZ3RoPjEwJiYodj0iMyIpfSFnJiZ5JiYoeD1beV0pO2Zvcih2YXIgbWE9MDttYTx4Lmxlbmd0aDttYSsrKUMucHVzaChHSSh4W21hXSxjLGUpKTtDPUMuc2xpY2UoMCwxMCl9eSYmKHo9R0koeSxjLGUpKTt2YXIgUGE9e2VsZW1lbnRzOkMsZ2k6eixzdGF0dXM6dn07bltwXT17dGltZXN0YW1wOk5iKCkscmVzdWx0OlBhfTt2YXIgRmE7KFBhLmVsZW1lbnRzLnNvbWUoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5kaX0pfHwoKEZhPVBhLmdpKT09bnVsbD8wOkZhLmRpKSkmJkd1KFQuVy5yaik7cmV0dXJuIFBhfSxEST1mdW5jdGlvbihhKXt2YXIgYj1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELktofSksYz1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELlhkfSk7aWYoYS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5jZX0pLmxlbmd0aD09PTAmJmMubGVuZ3RoPT09CjApZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF0sZj1lLkNhLnNwbGl0KCIgIik7Zi5sZW5ndGg+MSYmYS5wdXNoKHtDYTpmWzBdLERhOkZELlhkLGVsZW1lbnQ6ZS5lbGVtZW50LE9jOmUuT2N9LHtDYTpmLnNsaWNlKDEpLmpvaW4oIiAiKSxEYTpGRC5jZSxlbGVtZW50OmUuZWxlbWVudCxPYzplLk9jfSl9Zm9yKHZhciBnLGg9MCxsLG49ZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5lZSYmdS5DYS5sZW5ndGg+PTMmJnUuQ2EubGVuZ3RoPD00fSxwPTA7cDxhLmxlbmd0aDtwKyspe3ZhciBxPWFbcF07aWYobihxKSYmZyYmcS5lbGVtZW50LnBhcmVudEVsZW1lbnQ9PT1nJiZoPDMpe2lmKGgrPTEsbCs9cS5DYSxoPT09Myl7dmFyIHI9cC1oKzE7aWYobD1LSVtGRC5lZV0ubmEobCkpYVtyXS5DYT1sfX1lbHNlIGlmKGg9MCxsPSIiLGc9dm9pZCAwLG4ocSkpe2grKztsPXEuQ2E7dmFyIHQ9dm9pZCAwO2c9KHQ9cS5lbGVtZW50LnBhcmVudEVsZW1lbnQpIT1udWxsPwp0OnZvaWQgMH19cmV0dXJuIGEuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiFuKHUpfSl9LE9JPWZ1bmN0aW9uKGEsYil7aWYoYS52YWx1ZSYmTEkuaW5kZXhPZigoYS50eXBlfHwidGV4dCIpLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBjPWEuYXV0b2NvbXBsZXRlO2lmKGMpZm9yKHZhciBkPWMuc3BsaXQoIiAiKSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPU1JKGEudmFsdWUsYixkW2VdKTtpZihmKXJldHVybiBmfXZhciBnLGg9W2EubmFtZSxhLmlkLChnPWEuYXJpYUxhYmVsKSE9bnVsbD9nOnZvaWQgMCxhLnBsYWNlaG9sZGVyXSxsPWEucGFyZW50RWxlbWVudDtsJiZsLnRhZ05hbWU9PT0iTEFCRUwiJiZoLnB1c2gobC5pbm5lclRleHQpO3ZhciBuPWEucHJldmlvdXNFbGVtZW50U2libGluZztuJiZuLnRhZ05hbWU9PT0iTEFCRUwiJiYhbi5odG1sRm9yJiZoLnB1c2gobi5pbm5lclRleHQpO2lmKGEuaWQpe3ZhciBwPVtdO3RyeXtwPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnbGFiZWxbZm9yPSInKwphLmlkKyciXScpfWNhdGNoKEQpe31mb3IodmFyIHE9MDtxPHAubGVuZ3RoO3ErKyloLnB1c2gocFtxXS5pbm5lclRleHQpfWg9aC5maWx0ZXIoZnVuY3Rpb24oRCl7cmV0dXJuIEQmJkQudHJpbSgpfSk7Zm9yKHZhciByLHQ9MCx1PTA7dTxoLmxlbmd0aDt1Kyspe3ZhciB2PU5JKGEsYixoW3VdKTtpZih2KXt2YXIgeD12LHk9eC5DYSx6PXguRGEsQz14LlhzO0M+dCYmKHQ9QyxyPXtDYTp5LERhOnp9KX19cmV0dXJuIHJ9fSxOST1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYoS0lbZV0ubmUpe3ZhciBmPUtJW2VdLm5lLmV4ZWMoYy50cmltKCkpO2lmKGYpe3ZhciBnPWEsaD1bXSxsPWcudmFsdWUudHJpbSgpO2wmJmgucHVzaChsKTtpZihnLnRhZ05hbWU9PT0iU0VMRUNUIil0cnl7dmFyIG49Zy5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9IicrZy52YWx1ZSsnIl0nKSxwPW4mJm4uaW5uZXJUZXh0LnRyaW0oKTtwJiZoLnB1c2gocCl9Y2F0Y2godSl7fWZvcih2YXIgcT0KaCxyPXZvaWQgMCx0PTA7dDxxLmxlbmd0aCYmIXI7dCsrKXI9S0lbZV0ubmEocVt0XSk7aWYocilyZXR1cm57RGE6ZSxDYTpyLFhzOmZbMF0ubGVuZ3RoL2MudHJpbSgpLmxlbmd0aH19fX19LE1JPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtpZihLSVtlXS5hdXRvY29tcGxldGUmJktJW2VdLmF1dG9jb21wbGV0ZS5pbmRleE9mKGMpPj0wKXt2YXIgZj1LSVtlXS5uYShhLnRyaW0oKSk7aWYoZilyZXR1cm57RGE6ZSxDYTpmfX19fSxCST1mdW5jdGlvbihhKXt2YXIgYj1bXTthLmVtYWlsJiZiLnB1c2goRkQuQmIpO2EucGhvbmUmJmIucHVzaChGRC5lZSk7YS5hZGRyZXNzJiZiLnB1c2goRkQuWGQsRkQuY2UsRkQueGYsRkQucWcsRkQuS2gpO3JldHVybiBifSxDST1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWFbZF0sZj1lLmVsZW1lbnQsZz1lLk9jLGg7YTp7dmFyIGw9ZixuPWIsCnA9bC5pbm5lckhUTUw7UEkuaW5kZXhPZihsLnRhZ05hbWUpPj0wJiYocD1sLnZhbHVlfHxwKTtpZihwKXt2YXIgcTtiOntmb3IodmFyIHI9cCx0PW4sdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgdj10W3VdO2lmKCFLSVt2XS5tZSl7dmFyIHg9S0lbdl0ubmEoci50cmltKCkpO2lmKHgpe3E9e0RhOnYsQ2E6eH07YnJlYWsgYn19fXE9dm9pZCAwfWlmKHEpe2g9cTticmVhayBhfWlmKFBJLmluZGV4T2YobC50YWdOYW1lKSE9PS0xKXtoPU9JKGwsbik7YnJlYWsgYX19aD12b2lkIDB9dmFyIHk9aDtpZih5KXt2YXIgej15O2MucHVzaCh7Q2E6ei5DYSxEYTp6LkRhLGVsZW1lbnQ6ZixPYzpnfSl9fXJldHVybiBjfSxGST1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhLmxlbmd0aD09PTApcmV0dXJuIGI7dmFyIGM9e30sZDtmb3IoZCBpbiBGRClpZihjPXtWZzpjLlZnfSxjLlZnPWQsRkQuaGFzT3duUHJvcGVydHkoYy5WZykpe3ZhciBlPWEuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZy5EYT09PQpGRFtmLlZnXX19KGMpKTtlLmxlbmd0aCE9PTAmJihGRFtjLlZnXT09PUZELkJiJiYoZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiFSSS50ZXN0KGYuQ2EpfSksZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiBmLmVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IklOUFVUIn0pLGU9UUkoZSxmdW5jdGlvbihmKXtyZXR1cm4hckkoZi5lbGVtZW50KX0pKSxiLnB1c2goZVswXSkpfXJldHVybiBifSxHST1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5lbGVtZW50LGU9YS5PYyxmPXtDYTphLkNhLHR5cGU6YS5EYSx0YWdOYW1lOmQudGFnTmFtZX07aWYoYil7dmFyIGcsaD1TSShkKTtpZihnPShlP2UrInwiK2g6aCkuc2xpY2UoMCxUSSkpZi5xdWVyeVNlbGVjdG9yPWd9YyYmKGYuaXNWaXNpYmxlPSFySShkKSk7ZSYmKGYuZGk9ITApO3JldHVybiBmfSx6ST1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtiPWEuaW5jbHVkZVNlbGVjdG9yO2M9YS5pbmNsdWRlVmlzaWJpbGl0eTtkPWEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM7CmU9YS5maWVsZEZpbHRlcnM7dmFyIGY9ISFiKyIuIishIWM7ZC5sZW5ndGgmJihmKz0iLiIrZC5qb2luKCIuIikpO3JldHVybiBmKz0iLiIrZS5lbWFpbCsiLiIrZS5waG9uZSsiLiIrZS5hZGRyZXNzfSxJST1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiO2I9UUkoYSxmdW5jdGlvbihjKXtyZXR1cm4hUkkudGVzdChjLkNhKX0pO2I9UUkoYixmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCJ9KTtiPVFJKGIsZnVuY3Rpb24oYyl7cmV0dXJuIXJJKGMuZWxlbWVudCl9KTtyZXR1cm4gYlswXX19LEVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXTtpZihnJiZwSShhW2RdLmVsZW1lbnQsZykpe2U9ITE7YnJlYWt9fWFbZF0uRGE9PT1GRC5CYiYmTSg2MDIpJiYoUkkudGVzdChhW2RdLkNhKXx8YVtkXS5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PQoiQSImJmFbZF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImhyZWYiKSYmYVtkXS5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaHJlZiIpLmluZGV4T2YoIm1haWx0bzoiKSE9PS0xP2U9ITE6YVtkXS5lbGVtZW50LmNsb3Nlc3QoImZvb3RlciIpIT09bnVsbCYmKGU9ITEpKTtlJiZjLnB1c2goYVtkXSl9cmV0dXJuIGN9LFFJPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg8PTEpcmV0dXJuIGE7dmFyIGM9YS5maWx0ZXIoYik7cmV0dXJuIGMubGVuZ3RoPT09MD9hOmN9LFNJPWZ1bmN0aW9uKGEpe2lmKGE9PT1CLmJvZHkpcmV0dXJuImJvZHkiO2lmKGEuaWQpcmV0dXJuIiMiK2EuaWQ7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGIpe3ZhciBjPVNJKGIpLGQ9VUkoYSxiKSxlPVZJKGEpKyI6bnRoLWNoaWxkKCIrZCsiKSI7cmV0dXJuIGM/YysiPiIrZTplfXZhciBmPWEucGFyZW50Tm9kZTtpZihmIGluc3RhbmNlb2YgU2hhZG93Um9vdCl7dmFyIGc9VUkoYSxmKTtyZXR1cm4gVkkoYSkrIjpudGgtY2hpbGQoIisKZysiKSJ9cmV0dXJuIGEudGFnTmFtZT9hLnRhZ05hbWUudG9Mb3dlckNhc2UoKToiIn0sVkk9ZnVuY3Rpb24oYSl7aWYoYS5jbGFzc0xpc3QmJmEuY2xhc3NMaXN0Lmxlbmd0aD4wKXt2YXIgYj1BcnJheS5mcm9tKGEuY2xhc3NMaXN0LGZ1bmN0aW9uKGMpe3JldHVybiBDU1MuZXNjYXBlKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmxlbmd0aD4wfSk7aWYoYi5sZW5ndGg+MClyZXR1cm4iLiIrYi5qb2luKCIuIil9cmV0dXJuIiJ9LFVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuY2hpbGRyZW4sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGNbZF09PT1hKXJldHVybiBkKzE7cmV0dXJuIDF9LEhJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmVsZW1lbnQsZj1kLk9jLGc9ZS50ZXh0Q29udGVudDtlLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCImJmUudmFsdWUmJihnPWUudmFsdWUpO2lmKGcpe3ZhciBoPQpnLm1hdGNoKEtEKTtpZihoKXt2YXIgbD1oWzBdO0xEKGwpfHxiLnB1c2goe2VsZW1lbnQ6ZSxDYTpsLERhOkZELkJiLE9jOmZ9KX19fXJldHVybiBifSxBST1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Qi5ib2R5O2lmKCFiKXJldHVybntlbGVtZW50czphLHN0YXR1czoiNCJ9O3ZhciBjPVdJKGIsMCwiIixhKTtyZXR1cm57ZWxlbWVudHM6YSxzdGF0dXM6Y319LFdJPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxmPWUubGVuZ3RoPjFFND8iMiI6IjEiLGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDFFNCk7ZysrKXt2YXIgaD1lW2ddO2lmKCEoWEkuaW5kZXhPZihoLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApJiZoLmNoaWxkcmVuIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24pe3ZhciBsPSExO2lmKE0oNTgyKSYmaC5zaGFkb3dSb290JiZiPDEpe3ZhciBuPVNJKGgpO1dJKGguc2hhZG93Um9vdCxiKzEsYz9jKyJ8IituOm4sZCk9PT0iMiImJgooZj0iMiIpO2w9ITB9dmFyIHA9ITE7aWYoIWwpZm9yKHZhciBxPTA7cTxNYXRoLm1pbihoLmNoaWxkRWxlbWVudENvdW50LDFFNCk7cSsrKWlmKCEoWUkuaW5kZXhPZihoLmNoaWxkcmVuW3FdLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApKXtwPSEwO2JyZWFrfSghcCYmIWx8fE0oNTY4KSYmUEkuaW5kZXhPZihoLnRhZ05hbWUpIT09LTEpJiZkLnB1c2goe2VsZW1lbnQ6aCxPYzpiPjA/Yzp2b2lkIDB9KX19cmV0dXJuIGZ9LFJJPS9zdXBwb3J0fG5vcmVwbHkvaSxYST0iU0NSSVBUIFNUWUxFIElNRyBTVkcgUEFUSCBCUiBOT1NDUklQVCBURVhUQVJFQSIuc3BsaXQoIiAiKSxZST1bIkJSIl0sVEk9TmYoNzAsNTApLFBJPVsiSU5QVVQiLCJTRUxFQ1QiXSxMST0idGV4dCB0ZWwgc2VhcmNoIG51bWJlciBoaWRkZW4gZW1haWwgc2VsZWN0LW9uZSIuc3BsaXQoIiAiKSxaST1SZWdFeHAoInBob25lfG1vYmlsZXxjb250YWN0Lj9udW1iZXJ8dGVsZWZvbm51bW1lcnx0ZWxlZm9ub3x0ZWxcdTAwZTlmb25vfHRlbGZpeGV8XHU5NmZiXHU4YTcxfHRlbGVmb25lfHRlbGVtb3ZlbHxcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDRcdTA0M2VcdTA0M2R8XHUwOTJlXHUwOTRiXHUwOTJjXHUwOTNlXHUwOTA3XHUwOTMyfFx1NzUzNVx1OGJkZHxcdTYyNGJcdTY3M2FcdTUzZjd8XHUwZDJlXHUwZDRhXHUwZDJjXHUwZDQ4XHUwZDMyXHUwZDRkXHUyMDBkfChefFstX10pdGVsWy1fXT8oXFxkKykqKFxcWy4qXFxdKSokfCg/Olx1YzgwNFx1ZDY1NHxcdWQ1NzhcdWI0ZGNcdWQzZjB8XHVkNzM0XHViMzAwXHVkM2YwfFx1ZDczNFx1YjMwMFx1YzgwNFx1ZDY1NCkoPzouP1x1YmM4OFx1ZDYzOCk/fChcXGJ8X3xcXCopdGVsZWZvbihcXGJ8X3xcXCopfHRlbGVwb258cG9uc2VsfChub21vcnxub1xcLj8pLj8oaHB8aGFuZHBob25lKSIsCiJpIiksJEk9UmVnRXhwKCJebmFtZXxmdWxsLj9uYW1lfHlvdXIuP25hbWV8Y3VzdG9tZXIuP25hbWV8YmlsbC4/bmFtZXxzaGlwLj9uYW1lfG5hbWUuKmZpcnN0LipsYXN0fGZpcnN0YW5kbGFzdG5hbWV8Y29udGFjdC4/KG5hbWV8cGVyc29uKXxub21icmUuKnkuKmFwZWxsaWRvc3xebm9tKD8hW2EtekEtWl0pfFx1MzA0YVx1NTQwZFx1NTI0ZHxcdTZjMGZcdTU0MGR8Xm5vbWV8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2NDZcdTA2MjdcdTA2NDUuKlx1MDYyZVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyZlx1MDZhZlx1MDZjY3xcdTU5ZDNcXHMqXHU1NDBkfFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQzZVx1MDQzNS4/XHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDNlfChcXGJ8X3xcXCopYWRbXHUwMTMxXT8gc295YWRbXHUwMTMxXT8oXFxifF98XFwqKXxcdWMxMzFcdWJhODV8bmFtYS4/KGxlbmdrYXB8cGVuZXJpbWF8a2FtdSkiLAoiaSIpLGFKPVJlZ0V4cCgiZmlyc3QuKm5hbWV8aW5pdGlhbHN8Zm5hbWV8Zmlyc3QkfGdpdmVuLipuYW1lfHZvcm5hbWV8bm9tYnJlfGZvcmVuYW1lfHByXHUwMGU5bm9tfHByZW5vbXxcdTU0MGR8bm9tZXxcdTA0MThcdTA0M2NcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1fFx1Yzc3NFx1Yjk4NHxcdTBkMmFcdTBkNDdcdTBkMzBcdTBkNGR8KFxcYnxffFxcKikoaXNpbXxhZHxhZChpfFx1MDEzMXxpbml6fFx1MDEzMW5cdTAxMzF6KT8pKFxcYnxffFxcKil8XHUwOTI4XHUwOTNlXHUwOTJlfG5hbWEgZGVwYW4iLCJpIiksYko9UmVnRXhwKCJsYXN0LipuYW1lfGxuYW1lfHN1cm5hbWUoPyFcXGQpfGxhc3QkfHNlY29uZG5hbWV8ZmFtaWx5LipuYW1lfG5hY2huYW1lfGFwZWxsaWRvcz98ZmFtaWxsZXxebm9tKD8hW2EtekEtWl0pfGNvZ25vbWV8XHU1OWQzfGFwZWxpZG9zfHN1cmVuYW1lfHNvYnJlbm9tZXxcdTA0MjRcdTA0MzBcdTA0M2NcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2MmVcdTA2MjdcdTA2NDZcdTA2NDhcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2N8XHUwOTA5XHUwOTJhXHUwOTI4XHUwOTNlXHUwOTJlfFx1MGQyZVx1MGQzMVx1MGQ0MVx1MGQyYVx1MGQ0N1x1MGQzMFx1MGQ0ZHwoXFxifF98XFwqKShzb3lpc2ltfHNveWFkKGl8XHUwMTMxfGluaXp8XHUwMTMxblx1MDEzMXopPykoXFxifF98XFwqKXxcXGJcdWMxMzEoPzpbXlx1YmE4NV18XFxiKXxuYW1hIGJlbGFrYW5nIiwKImkiKSxjSj1SZWdFeHAoImNvdW50cnl8Y291bnRyaWVzfHBhXHUwMGVkc3xwYWlzfChcXGJ8XylsYW5kKFxcYnxfKSg/IS4qKG1hcmsuKikpfChefFteKFx1NTE2NXxcdTUxZmEpXSlcdTU2ZmR8XHU1NmZkXHU1YmI2fFx1YWQ2ZFx1YWMwMHxcdWIwOThcdWI3N2N8KFxcYnxfKShcdTAwZmNsa2V8dWxjZXx1bGtlKShcXGJ8Xyl8XHUwNmE5XHUwNjM0XHUwNjQ4XHUwNjMxfG5lZ2FyYSIsImkiKSxkSj1SZWdFeHAoIihefFteLl0pemlwfHBvc3RhbHxwb3N0Lipjb2RlfHBjb2RlfHBpbi4/Y29kZXxwb3N0bGVpdHphaGx8XFxiY3BcXGJ8XFxiY2RwXFxifFxcYmNhcFxcYnxcdTkwZjVcdTRmYmZcdTc1NmFcdTUzZjd8Y29kaWdvfGNvZHBvc3xcXGJjZXBcXGJ8XHUwNDFmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5Lj9cdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDF8XHUwOTJhXHUwOTNmXHUwOTI4Lj9cdTA5MTVcdTA5NGJcdTA5MjF8XHUwZDJhXHUwZDNmXHUwZDI4XHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDRkfFx1OTBhZVx1NjUzZlx1N2YxNlx1NzgwMXxcdTkwYWVcdTdmMTZ8XHU5MGY1XHU5MDVlXHU1MzQwXHU4NjVmfChcXGJ8Xylwb3N0YSBrb2R1KFxcYnxfKXxcdWM2YjBcdWQzYjguP1x1YmM4OFx1ZDYzOHxrb2RlLj9wb3MiLAoiaSIpLGVKPXt9LEtJPShlSltGRC5CYl09e21lOiExLG5hOk1EfSxlSltGRC5lZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbInRlbCIsInRlbC1uYXRpb25hbCIsInRlbC1sb2NhbCJdLG5lOlpJLG5hOmZ1bmN0aW9uKGEpe3JldHVybiBHRChhLCEwKX19LGVKW0ZELktoXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsibmFtZSIsImNjLW5hbWUiXSxuZTokSSxuYTpORH0sZUpbRkQuWGRdPXttZTohMCxhdXRvY29tcGxldGU6WyJnaXZlbi1uYW1lIiwiY2MtZ2l2ZW4tbmFtZSJdLG5lOmFKLG5hOk5EfSxlSltGRC5jZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbImZhbWlseS1uYW1lIiwiY2MtZmFtaWx5LW5hbWUiXSxuZTpiSixuYTpORH0sZUpbRkQueGZdPXttZTohMCxhdXRvY29tcGxldGU6WyJjb3VudHJ5IiwiY291bnRyeS1uYW1lIl0sbmU6Y0osbmE6TkR9LGVKW0ZELnFnXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsicG9zdGFsLWNvZGUiXSxuZTpkSixuYTpJRH0sZUopO2Z1bmN0aW9uIGZKKGEpe3ZhciBiO0wodGhpcywiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iKTt2YXIgYz1UZChhKXx8e30sZD1KSSh7aW5jbHVkZVNlbGVjdG9yOiEhYy5pbmNsdWRlU2VsZWN0b3IsaW5jbHVkZVZpc2liaWxpdHk6ISFjLmluY2x1ZGVWaXNpYmlsaXR5LGV4Y2x1ZGVFbGVtZW50U2VsZWN0b3JzOmMuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMsZmllbGRGaWx0ZXJzOmMuZmllbGRGaWx0ZXJzLHNlbGVjdE11bHRpcGxlRWxlbWVudHM6ISFjLnNlbGVjdE11bHRpcGxlRWxlbWVudHN9KTtiPW5ldyBrYjt2YXIgZT1uZXcgR2Q7Yi5zZXQoImVsZW1lbnRzIixlKTtmb3IodmFyIGY9ZC5lbGVtZW50cyxnPTA7ZzxmLmxlbmd0aDtnKyspZS5wdXNoKGdKKGZbZ10pKTtkLmdpIT09dm9pZCAwJiZiLnNldCgicHJlZmVycmVkRW1haWxFbGVtZW50IiwKZ0ooZC5naSkpO2Iuc2V0KCJzdGF0dXMiLGQuc3RhdHVzKTtpZihjLnJlYWRGcm9tRGF0YUxheWVyKXtoSihlLGMpO3ZhciBoPVBEKCksbD1oLnN0O2Iuc2V0KCJkYXRhTGF5ZXJTZWFyY2hUaW1lIixoLnZ0KTtiLnNldCgiZGF0YUxheWVyU2VhcmNoQ291bnQiLGwpfXJldHVybiBifQp2YXIgaUo9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgRkQuQmI6cmV0dXJuImVtYWlsIjtjYXNlIEZELmVlOnJldHVybiJwaG9uZV9udW1iZXIiO2Nhc2UgRkQuWGQ6cmV0dXJuImZpcnN0X25hbWUiO2Nhc2UgRkQuY2U6cmV0dXJuImxhc3RfbmFtZSI7Y2FzZSBGRC50ajpyZXR1cm4ic3RyZWV0IjtjYXNlIEZELmxpOnJldHVybiJjaXR5IjtjYXNlIEZELmpqOnJldHVybiJyZWdpb24iO2Nhc2UgRkQucWc6cmV0dXJuInBvc3RhbF9jb2RlIjtjYXNlIEZELnhmOnJldHVybiJjb3VudHJ5In19LGpKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYixjPWlKKGEuRGEpO2MhPT12b2lkIDAmJmIuc2V0KCJ0eXBlIixjKTtiLnNldCgidXNlckRhdGEiLGEuQ2EpO2Iuc2V0KCJ0YWdOYW1lIiwiRExZUiIpO3JldHVybiBifSxoSj1mdW5jdGlvbihhLGIpe3ZhciBjPVFEKCk7aWYoTSg1NjgpKWZvcih2YXIgZD1uZXcgU2V0KGEuaGMoKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuZ2V0KCJ0eXBlIil9KSksCmU9bShjKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9bShmLnZhbHVlKSxoPWcubmV4dCgpLnZhbHVlLGw9Zy5uZXh0KCkudmFsdWUsbj1oLHA9bDtpZihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHMpYS5wdXNoKGpKKHApKTtlbHNle3ZhciBxPWlKKG4pO3EmJiFkLmhhcyhxKSYmYS5wdXNoKGpKKHApKX19ZWxzZSBjLmhhcyhGRC5CYikmJihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHN8fGEubGVuZ3RoKCk9PT0wKSYmYS5wdXNoKGpKKGMuZ2V0KEZELkJiKSkpfSxnSj1mdW5jdGlvbihhKXt2YXIgYj1uZXcga2I7Yi5zZXQoInVzZXJEYXRhIixhLkNhKTtiLnNldCgidGFnTmFtZSIsYS50YWdOYW1lKTthLnF1ZXJ5U2VsZWN0b3IhPT12b2lkIDAmJmIuc2V0KCJxdWVyeVNlbGVjdG9yIixhLnF1ZXJ5U2VsZWN0b3IpO2EuaXNWaXNpYmxlIT09dm9pZCAwJiZiLnNldCgiaXNWaXNpYmxlIixhLmlzVmlzaWJsZSk7aWYoTSg1NjgpKXt2YXIgYz1pSihhLnR5cGUpO2MhPT0Kdm9pZCAwJiZiLnNldCgidHlwZSIsYyl9ZWxzZSBzd2l0Y2goYS50eXBlKXtjYXNlIEZELkJiOmIuc2V0KCJ0eXBlIiwiZW1haWwiKX1yZXR1cm4gYn07ZkouUD0iaW50ZXJuYWwuZGV0ZWN0VXNlclByb3ZpZGVkRGF0YSI7CnZhciBrSj1mdW5jdGlvbihhKXt2YXIgYj1oZChhLFsiYnV0dG9uIiwiaW5wdXQiXSw1MCk7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9U3RyaW5nKGIudGFnTmFtZSkudG9Mb3dlckNhc2UoKTtpZihjPT09ImJ1dHRvbiIpcmV0dXJuIGI7aWYoYz09PSJpbnB1dCIpe3ZhciBkPWVkKGIsInR5cGUiKTtpZihkPT09ImJ1dHRvbiJ8fGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSJ8fGQ9PT0iZmlsZSJ8fGQ9PT0icmVzZXQiKXJldHVybiBifXJldHVybiBudWxsfSxsSj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy50YXJnZXQ7aWYoZCl7dmFyIGU9JEYoYSwiaW5kaXZpZHVhbEVsZW1lbnRJZHMiLFtdKTtpZihlLmxlbmd0aD4wKXt2YXIgZj1lRyhkLGIsZSk7dUUoZil9dmFyIGc9ITEsaD0kRihhLCJjb21tb25CdXR0b25JZHMiLFtdKTtpZihoLmxlbmd0aD4wKXt2YXIgbD1rSihkKTtpZihsKXt2YXIgbj1lRyhsLGIsaCk7dUUobik7Zz0hMH19dmFyIHA9JEYoYSwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLAp7fSkscTtmb3IocSBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkocSkpe3ZhciByPWc/cFtxXS5maWx0ZXIoZnVuY3Rpb24odil7cmV0dXJuIGguaW5kZXhPZih2KT09PS0xfSk6cFtxXTtpZihyLmxlbmd0aCE9PTApe3ZhciB0PXBJKGQscSk7aWYodCl7dmFyIHU9ZUcodCxiLHIpO3VFKHUpfX19fX07CmZ1bmN0aW9uIG1KKGEsYil7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgYz1hP1RkKGEpOnt9LGQ9SmIoYy5tYXRjaENvbW1vbkJ1dHRvbnMpLGU9ISFjLmNzc1NlbGVjdG9yLGY9WkYoYik7TCh0aGlzLCJkZXRlY3RfY2xpY2tfZXZlbnRzIixjLm1hdGNoQ29tbW9uQnV0dG9ucyxjLmNzc1NlbGVjdG9yKTt2YXIgZz1jLnVzZVYyRXZlbnROYW1lPyJndG0uY2xpY2stdjIiOiJndG0uY2xpY2siLGg9Yy51c2VWMkV2ZW50TmFtZT8iZWNsIjoiY2wiLGw9ZnVuY3Rpb24ocCl7cC5wdXNoKGYpO3JldHVybiBwfTtpZihlfHxkKXtpZihkJiZkRyhoLCJjb21tb25CdXR0b25JZHMiLGwsW10pLGUpe3ZhciBuPUxiKFN0cmluZyhjLmNzc1NlbGVjdG9yKSk7ZEcoaCwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLApmdW5jdGlvbihwKXtwLmhhc093blByb3BlcnR5KG4pfHwocFtuXT1bXSk7bChwW25dKTtyZXR1cm4gcH0se30pfX1lbHNlIGRHKGgsImluZGl2aWR1YWxFbGVtZW50SWRzIixsLFtdKTtiRyhoLGZ1bmN0aW9uKCl7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKHApe2xKKGgsZyxwKX0sITApfSk7cmV0dXJuIGZ9bUouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayI7CnZhciBuSj1mdW5jdGlvbigpe3RoaXMuSD1bXTt0aGlzLk49ISFBLk11dGF0aW9uT2JzZXJ2ZXJ9O25KLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5ILmxlbmd0aD09PTApe3ZhciBjPWZ1bmN0aW9uKCl7dmFyIGQ9Qi5ib2R5O2lmKGQpaWYoYi5OKShuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKS5vYnNlcnZlKGQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZWxzZXt2YXIgZT0hMTskYyhkLCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZXx8KGU9ITAsYmQoZnVuY3Rpb24oKXtlPSExO2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKX0pfX07Qi5ib2R5P2MoKTpiZChjKX10aGlzLkgucHVzaChhKX07bkoucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IKWZvcih2YXIgYj0wO2I8dGhpcy5ILmxlbmd0aDtiKyspdGhpcy5IW2JdPT09CmEmJnRoaXMuSC5zcGxpY2UoYiwxKX07dmFyIG9KPW5ldyBuSjsKZnVuY3Rpb24gdEooYSxiKXtyZXR1cm4gcH10Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVsZW1lbnRWaXNpYmlsaXR5IjtmdW5jdGlvbiB1Sigpe311Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVycm9yIjsKdmFyIHdKPWZ1bmN0aW9uKGEsYil7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPWJbY107ZSYmR2IoZCxmdW5jdGlvbihmLGcpe3ZKKGcsZSl9KX0pfSx6Sj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIitiO2lmKGNbaF0pY1toXS5wdXNoKGEpO2Vsc2V7dmFyIGw9W2FdO2NbaF09bDt2YXIgbj1kW2hdO258fChuPXt9LGRbaF09bik7ZS5wdXNoKGZ1bmN0aW9uKHApe3ZhciBxPXAudGFyZ2V0O2lmKHEpe3ZhciByPWlHKHEpO2lmKHIpe3ZhciB0PXhKKHIsImd0bUZvcm1JbnRlcmFjdElkIixmKSx1PXhKKHEsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiLGcpO2lmKHQhPT1udWxsJiZ1IT09bnVsbCl7dmFyIHY9blt0XTt2Pyh2LlJiJiYoQS5jbGVhclRpbWVvdXQodi5SYiksdi5kZi5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLWZvcm0taW50ZXJhY3QtZmllbGQtaWQiKSE9PXUmJnZKKHYsbCkpLHYuZGY9cSx5Sih2LGwsYikpOihuW3RdPXtmb3JtOnIsZGY6cSxzZXF1ZW5jZU51bWJlcjowLApSYjpudWxsfSx5SihuW3RdLGwsYikpfX19fSl9fSx2Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZm9ybSxkPWEuZGYsZT1lRyhjLCJndG0uZm9ybUludGVyYWN0IixiKSxmPWMuYWN0aW9uO2YmJmYudGFnTmFtZSYmKGY9Yy5jbG9uZU5vZGUoITEpLmFjdGlvbik7ZVsiZ3RtLmVsZW1lbnRVcmwiXT1mO2VbImd0bS5pbnRlcmFjdGVkRm9ybU5hbWUiXT1jLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2MuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUxlbmd0aCJdPWMubGVuZ3RoO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkIl09ZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl09ZC5pZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZE5hbWUiXT1kLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2QuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXT1oRyhjLGQsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiKTsKZVsiZ3RtLmludGVyYWN0ZWRGb3JtRmllbGRUeXBlIl09ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9bnVsbD9kLmdldEF0dHJpYnV0ZSgidHlwZSIpOnZvaWQgMDtlWyJndG0uaW50ZXJhY3RTZXF1ZW5jZU51bWJlciJdPWEuc2VxdWVuY2VOdW1iZXI7dUUoZSk7YS5zZXF1ZW5jZU51bWJlcisrO2EuUmI9bnVsbH0seUo9ZnVuY3Rpb24oYSxiLGMpe2M/YS5SYj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2SihhLGIpfSxjKTp2SihhLGIpfSx4Sj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7dHJ5e2lmKGQ9YS5kYXRhc2V0W2JdKXJldHVybiBkO2Q9U3RyaW5nKGMoKSk7YS5kYXRhc2V0W2JdPWR9Y2F0Y2goZSl7ZD1udWxsfXJldHVybiBkfTsKZnVuY3Rpb24gQUooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMiKX1dKTt2YXIgZD1aRihiKSxlPWEmJk51bWJlcihhLmdldCgiaW50ZXJ2YWwiKSk7ZT4wJiZpc0Zpbml0ZShlKXx8KGU9MCk7aWYoJEYoImZpbCIsImluaXQiLCExKSl7dmFyIGY9JEYoImZpbCIsInJlZyIpO2lmKGYpZihkLGUpO2Vsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciB0cmlnZ2VyOiAiK2QpO31lbHNle3ZhciBnPXt9LGg9W10sbD17fSxuPTAscD1mdW5jdGlvbigpe3JldHVybiBuKyt9LHE9MCxyPWZ1bmN0aW9uKCl7cmV0dXJuIHErK307JGMoQiwiY2hhbmdlIiwKZnVuY3Rpb24odCl7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspaFt1XSh0KX0pOyRjKEEsInBhZ2VoaWRlIixmdW5jdGlvbigpe3dKKGwsZyl9KTt6SihkLGUsZyxsLGgscCxyKTthRygiZmlsIiwicmVnIixmdW5jdGlvbih0LHUpe3pKKHQsdSxnLGwsaCxwLHIpfSk7YUcoImZpbCIsImluaXQiLCEwKX1yZXR1cm4gZH1BSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1JbnRlcmFjdGlvbiI7CnZhciBCSj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSRGKCJmc2wiLGM/Im52Lm13dCI6Im13dCIsMCksZztnPWM/JEYoImZzbCIsIm52LmlkcyIsW10pOiRGKCJmc2wiLCJpZHMiLFtdKTtpZighZy5sZW5ndGgpcmV0dXJuITA7dmFyIGg9ZUcoYSwiZ3RtLmZvcm1TdWJtaXQiLGcpLGw9YS5hY3Rpb247bCYmbC50YWdOYW1lJiYobD1hLmNsb25lTm9kZSghMSkuYWN0aW9uKTtQKDEyMSk7aWYobD09PSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHIvIilyZXR1cm4gUCgxMjIpLCEwO2hbImd0bS5lbGVtZW50VXJsIl09bDtoWyJndG0uZm9ybUNhbmNlbGVkIl09YzthLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsJiYoaFsiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdPWEuZ2V0QXR0cmlidXRlKCJuYW1lIikpO2UmJihoWyJndG0uZm9ybVN1Ym1pdEVsZW1lbnQiXT1lLGhbImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXT1lLnZhbHVlKTtpZihkJiZmKXtpZighc0UoaCxqRShiLApmKSxmKSlyZXR1cm4hMX1lbHNlIEZ5KDEsImd0bS5mb3JtU3VibWl0Iiksc0UoaCxmdW5jdGlvbigpe30sZnx8MkUzKTtyZXR1cm4hMH0sQ0o9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPWZ1bmN0aW9uKGMpe3JldHVybiBDYihhLGZ1bmN0aW9uKGQpe3JldHVybiBkLmZvcm09PT1jfSl9O3JldHVybntzdG9yZTpmdW5jdGlvbihjLGQpe3ZhciBlPWIoYyk7ZT9lLmJ1dHRvbj1kOmEucHVzaCh7Zm9ybTpjLGJ1dHRvbjpkfSl9LGdldDpmdW5jdGlvbihjKXt2YXIgZD1iKGMpO2lmKGQpcmV0dXJuIGQuYnV0dG9ufX19LERKPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiBiJiZiIT09Il9zZWxmIiYmYiE9PSJfcGFyZW50IiYmYiE9PSJfdG9wIj8hMTohMH0sRUo9ZnVuY3Rpb24oKXt2YXIgYT1DSigpLGI9SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKGQpe3ZhciBlPWhkKGQsWyJidXR0b24iLAoiaW5wdXQiXSwxMDApO2lmKGUmJihlLnR5cGU9PT0ic3VibWl0Inx8ZS50eXBlPT09ImltYWdlIikmJmUubmFtZSYmZWQoZSwidmFsdWUiKSl7dmFyIGY9aUcoZSk7ZiYmYS5zdG9yZShmLGUpfX19LCExKTskYyhCLCJzdWJtaXQiLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKCFkKXJldHVybiBjLnJldHVyblZhbHVlO3ZhciBlPWMuZGVmYXVsdFByZXZlbnRlZHx8Yy5yZXR1cm5WYWx1ZT09PSExLGY9REooZCkmJiFlLGc9YS5nZXQoZCksaD0hMDtpZihCSihkLGZ1bmN0aW9uKCl7aWYoaCl7dmFyIGw9bnVsbCxuPXt9O2cmJihsPUIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxsLnR5cGU9ImhpZGRlbiIsbC5uYW1lPWcubmFtZSxsLnZhbHVlPWcudmFsdWUsZC5hcHBlbmRDaGlsZChsKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybWFjdGlvbiIpJiYobi5hY3Rpb249ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLHhjKGQsZy5nZXRBdHRyaWJ1dGUoImZvcm1hY3Rpb24iKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtZW5jdHlwZSIpJiYKKG4uZW5jdHlwZT1kLmdldEF0dHJpYnV0ZSgiZW5jdHlwZSIpLGQuc2V0QXR0cmlidXRlKCJlbmN0eXBlIixnLmdldEF0dHJpYnV0ZSgiZm9ybWVuY3R5cGUiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtbWV0aG9kIikmJihuLm1ldGhvZD1kLmdldEF0dHJpYnV0ZSgibWV0aG9kIiksZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsZy5nZXRBdHRyaWJ1dGUoImZvcm1tZXRob2QiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtdmFsaWRhdGUiKSYmKG4udmFsaWRhdGU9ZC5nZXRBdHRyaWJ1dGUoInZhbGlkYXRlIiksZC5zZXRBdHRyaWJ1dGUoInZhbGlkYXRlIixnLmdldEF0dHJpYnV0ZSgiZm9ybXZhbGlkYXRlIikpKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybXRhcmdldCIpJiYobi50YXJnZXQ9ZC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpLGQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLGcuZ2V0QXR0cmlidXRlKCJmb3JtdGFyZ2V0IikpKSk7Yi5jYWxsKGQpO2wmJihkLnJlbW92ZUNoaWxkKGwpLG4uaGFzT3duUHJvcGVydHkoImFjdGlvbiIpJiYKeGMoZCxuLmFjdGlvbiksbi5oYXNPd25Qcm9wZXJ0eSgiZW5jdHlwZSIpJiZkLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsbi5lbmN0eXBlKSxuLmhhc093blByb3BlcnR5KCJtZXRob2QiKSYmZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsbi5tZXRob2QpLG4uaGFzT3duUHJvcGVydHkoInZhbGlkYXRlIikmJmQuc2V0QXR0cmlidXRlKCJ2YWxpZGF0ZSIsbi52YWxpZGF0ZSksbi5oYXNPd25Qcm9wZXJ0eSgidGFyZ2V0IikmJmQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLG4udGFyZ2V0KSl9fSxlLGYsZykpaD0hMTtlbHNlIHJldHVybiBlfHwoYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITEpLCExO3JldHVybiBjLnJldHVyblZhbHVlfSwhMSk7SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9ITA7QkooYyxmdW5jdGlvbigpe2QmJmIuY2FsbChjKX0sITEsREooYykpJiYoYi5jYWxsKGMpLGQ9CiExKX19OwpmdW5jdGlvbiBGSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgZD1hJiZhLmdldCgid2FpdEZvclRhZ3MiKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiLHt3YWl0Rm9yVGFnczohIWR9KX1dKTt2YXIgZT1hJiZhLmdldCgiY2hlY2tWYWxpZGF0aW9uIiksZj1aRihiKTtpZihkKXt2YXIgZz1OdW1iZXIoYS5nZXQoIndhaXRGb3JUYWdzVGltZW91dCIpKTtnPjAmJmlzRmluaXRlKGcpfHwoZz0yRTMpO3ZhciBoPWZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLm1heChnLG4pfTtkRygiZnNsIiwibXd0IixoLDApO2V8fGRHKCJmc2wiLCJudi5td3QiLGgsMCl9dmFyIGw9ZnVuY3Rpb24obil7bi5wdXNoKGYpOwpyZXR1cm4gbn07ZEcoImZzbCIsImlkcyIsbCxbXSk7ZXx8ZEcoImZzbCIsIm52LmlkcyIsbCxbXSk7JEYoImZzbCIsImluaXQiLCExKXx8KEVKKCksYUcoImZzbCIsImluaXQiLCEwKSk7cmV0dXJuIGZ9RkouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtU3VibWl0IjsKZnVuY3Rpb24gS0ooKXt2YXIgYT10aGlzO31LSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkdhU2VuZCI7CnZhciBNSj1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/e306YztkPWQ9PT12b2lkIDA/W106ZDt2YXIgZT0iIitiO2lmKGNbZV0pY1tlXS5wdXNoKGEpO2Vsc2V7dmFyIGY9W2FdO2NbZV09Zjt2YXIgZz1MSigiZ3RtLmhpc3RvcnlDaGFuZ2UtdjIiKSxoPS0xO2QucHVzaChmdW5jdGlvbihsKXtoPj0wJiZBLmNsZWFyVGltZW91dChoKTtiP2g9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyhsLGYpO2g9LTF9LGIpOmcobCxmKX0pfX0sTEo9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5ocmVmLGM9e3NvdXJjZTpudWxsLHN0YXRlOkEuaGlzdG9yeS5zdGF0ZXx8bnVsbCx1cmw6T2ooUmooYikpLGtiOkxqKFJqKGIpLCJmcmFnbWVudCIpfTtyZXR1cm4gZnVuY3Rpb24oZCxlKXt2YXIgZj1jLGc9e307Z1tmLnNvdXJjZV09ITA7Z1tkLnNvdXJjZV09ITA7aWYoIWcucG9wc3RhdGV8fCFnLmhhc2hjaGFuZ2V8fGYua2IhPT1kLmtiKXt2YXIgaD17ZXZlbnQ6YSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiOmQuc291cmNlLAoiZ3RtLm9sZFVybEZyYWdtZW50IjpjLmtiLCJndG0ubmV3VXJsRnJhZ21lbnQiOmQua2IsImd0bS5vbGRIaXN0b3J5U3RhdGUiOmMuc3RhdGUsImd0bS5uZXdIaXN0b3J5U3RhdGUiOmQuc3RhdGUsImd0bS5vbGRVcmwiOmMudXJsLCJndG0ubmV3VXJsIjpkLnVybH07ZSYmKGhbImd0bS50cmlnZ2VycyJdPWUuam9pbigiLCIpKTtjPWQ7dUUoaCl9fX0sTko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BLmhpc3RvcnksZD1jW2FdO2lmKHliKGQpKXRyeXtjW2FdPWZ1bmN0aW9uKGUsZixnKXtkLmFwcGx5KGMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpO3ZhciBoPUEubG9jYXRpb24uaHJlZjtiKHtzb3VyY2U6YSxzdGF0ZTplLHVybDpPaihSaihoKSksa2I6TGooUmooaCksImZyYWdtZW50Iil9KX19Y2F0Y2goZSl7fX0sUEo9ZnVuY3Rpb24oYSl7QS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJwb3BzdGF0ZSIsc3RhdGU6Yi5zdGF0ZSwKdXJsOk9qKFJqKGMpKSxrYjpMaihSaihjKSwiZnJhZ21lbnQiKX0pfSl9LFFKPWZ1bmN0aW9uKGEpe0EuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJoYXNoY2hhbmdlIixzdGF0ZTpudWxsLHVybDpPaihSaihjKSksa2I6TGooUmooYyksImZyYWdtZW50Iil9KX0pfSxPSj1mdW5jdGlvbihhKXt2YXIgYixjO3JldHVybigoYj1hLnRhcmdldCk9PW51bGw/dm9pZCAwOihjPWIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpjLmhyZWYpfHxBLmxvY2F0aW9uLmhyZWZ9OwpmdW5jdGlvbiBSSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiKX1dKTt2YXIgZD1hJiZhLmdldCgidXNlVjJFdmVudE5hbWUiKT8iZWhsIjoiaGwiLGU9TnVtYmVyKGEmJmEuZ2V0KCJpbnRlcnZhbCIpKTtlPjAmJmlzRmluaXRlKGUpfHwoZT0wKTt2YXIgZjtpZighJEYoZCwiaW5pdCIsITEpKXt2YXIgZz17fSxoPVtdLGw7ZD09PSJlaGwiPyhsPWZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8aC5sZW5ndGg7cSsrKWhbcV0ocCl9LGY9WkYoYiksTUooZixlLGcsaCksYUcoZCwicmVnIixmdW5jdGlvbihwLHEpe01KKHAscSxnLGgpfSkpOmw9TEooImd0bS5oaXN0b3J5Q2hhbmdlIik7ClFKKGwpO1BKKGwpO05KKCJwdXNoU3RhdGUiLGwpO05KKCJyZXBsYWNlU3RhdGUiLGwpO2FHKGQsImluaXQiLCEwKX1lbHNlIGlmKGQ9PT0iZWhsIil7dmFyIG49JEYoZCwicmVnIik7biYmKGY9WkYoYiksbihmLGUpKX1kPT09ImhsIiYmKGY9dm9pZCAwKTtyZXR1cm4gZn1SSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkhpc3RvcnlDaGFuZ2UiO3ZhciBTSj1bImh0dHA6Ly8iLCJodHRwczovLyIsImphdmFzY3JpcHQ6IiwiZmlsZTovLyJdOwp2YXIgVEo9ZnVuY3Rpb24oYSxiKXtpZihhLndoaWNoPT09Mnx8YS5jdHJsS2V5fHxhLnNoaWZ0S2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5KXJldHVybiExO3ZhciBjPW9kKGIsImhyZWYiKTtpZihjLmluZGV4T2YoIjoiKSE9PS0xJiYhU0ouc29tZShmdW5jdGlvbihoKXtyZXR1cm4gU2IoYyxoKX0pKXJldHVybiExO3ZhciBkPWMuaW5kZXhPZigiIyIpLGU9b2QoYiwidGFyZ2V0Iik7aWYoZSYmZSE9PSJfc2VsZiImJmUhPT0iX3BhcmVudCImJmUhPT0iX3RvcCJ8fGQ9PT0wKXJldHVybiExO2lmKGQ+MCl7dmFyIGY9T2ooUmooYykpLGc9T2ooUmooQS5sb2NhdGlvbi5ocmVmKSk7cmV0dXJuIGYhPT1nfXJldHVybiEwfSxVSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1MaihSaigoYi5hdHRyaWJ1dGVzJiZiLmF0dHJpYnV0ZXMuZm9ybWFjdGlvbj9iLmZvcm1BY3Rpb246IiIpfHxiLmFjdGlvbnx8b2QoYiwiaHJlZiIpfHxiLnNyY3x8Yi5jb2RlfHxiLmNvZGViYXNlfHwiIiksImhvc3QiKSwKZD0wO2Q8YS5sZW5ndGg7ZCsrKXRyeXtpZigobmV3IFJlZ0V4cChhW2RdKSkudGVzdChjKSlyZXR1cm4hMX1jYXRjaChlKXt9cmV0dXJuITB9LFZKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXt2YXIgZD1jLnRhcmdldDtpZihkJiZjLndoaWNoIT09MyYmIShjLkh8fGMudGltZVN0YW1wJiZjLnRpbWVTdGFtcD09PWIpKXtiPWMudGltZVN0YW1wO2Q9aGQoZCxbImEiLCJhcmVhIl0sMTAwKTtpZighZClyZXR1cm4gYy5yZXR1cm5WYWx1ZTt2YXIgZT1jLmRlZmF1bHRQcmV2ZW50ZWR8fGMucmV0dXJuVmFsdWU9PT0hMSxmPSRGKCJsY2wiLGU/Im52Lm13dCI6Im13dCIsMCksZztnPWU/JEYoImxjbCIsIm52LmlkcyIsW10pOiRGKCJsY2wiLCJpZHMiLFtdKTtmb3IodmFyIGg9W10sbD0wO2w8Zy5sZW5ndGg7bCsrKXt2YXIgbj1nW2xdLHA9JEYoImxjbCIsImFmZi5tYXAiLHt9KVtuXTtwJiYhVUoocCxkKXx8aC5wdXNoKG4pfWlmKGgubGVuZ3RoKXt2YXIgcT1USihjLGQpLHI9ZUcoZCwiZ3RtLmxpbmtDbGljayIsCmgpO3JbImd0bS5lbGVtZW50VGV4dCJdPWZkKGQpO3JbImd0bS53aWxsT3BlbkluTmV3V2luZG93Il09IXE7aWYocSYmIWUmJmYmJmQuaHJlZil7dmFyIHQ9ISFDYihTdHJpbmcob2QoZCwicmVsIil8fCIiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHkpe3JldHVybiB5LnRvTG93ZXJDYXNlKCk9PT0ibm9yZWZlcnJlciJ9KSx1PUFbKG9kKGQsInRhcmdldCIpfHwiX3NlbGYiKS5zdWJzdHJpbmcoMSldLHY9ITAseD10RShmdW5jdGlvbigpe3ZhciB5O2lmKHk9diYmdSl7dmFyIHo7YTppZih0KXt2YXIgQzt0cnl7Qz1uZXcgTW91c2VFdmVudChjLnR5cGUse2J1YmJsZXM6ITB9KX1jYXRjaChEKXtpZighQi5jcmVhdGVFdmVudCl7ej0hMTticmVhayBhfUM9Qi5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtDLmluaXRFdmVudChjLnR5cGUsITAsITApfUMuSD0hMDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KEMpO3o9ITB9ZWxzZSB6PSExO3k9IXp9eSYmKHUubG9jYXRpb24uaHJlZj1vZChkLAoiaHJlZiIpKX0sZik7aWYoaUUocix4LGYpKXY9ITE7ZWxzZSByZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITF9ZWxzZSBzRShyLGZ1bmN0aW9uKCl7fSxmfHwyRTMpO3JldHVybiEwfX19dmFyIGI9MDskYyhCLCJjbGljayIsYSwhMSk7JGMoQiwiYXV4Y2xpY2siLGEsITEpfTsKZnVuY3Rpb24gV0ooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7dmFyIGQ9VGQoYSk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiLGQpfV0pO3ZhciBlPWQmJiEhZC53YWl0Rm9yVGFncyxmPWQmJiEhZC5jaGVja1ZhbGlkYXRpb24sZz1kP2QuYWZmaWxpYXRlRG9tYWluczp2b2lkIDAsaD1aRihiKTtpZihlKXt2YXIgbD1OdW1iZXIoZC53YWl0Rm9yVGFnc1RpbWVvdXQpO2w+MCYmaXNGaW5pdGUobCl8fChsPTJFMyk7dmFyIG49ZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgubWF4KGwscSl9O2RHKCJsY2wiLCJtd3QiLG4sMCk7Znx8ZEcoImxjbCIsIm52Lm13dCIsbiwwKX12YXIgcD1mdW5jdGlvbihxKXtxLnB1c2goaCk7CnJldHVybiBxfTtkRygibGNsIiwiaWRzIixwLFtdKTtmfHxkRygibGNsIiwibnYuaWRzIixwLFtdKTtnJiZkRygibGNsIiwiYWZmLm1hcCIsZnVuY3Rpb24ocSl7cVtoXT1nO3JldHVybiBxfSx7fSk7JEYoImxjbCIsImluaXQiLCExKXx8KFZKKCksYUcoImxjbCIsImluaXQiLCEwKSk7cmV0dXJuIGh9V0ouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25MaW5rQ2xpY2siOwp2YXIgWEo9ZnVuY3Rpb24oYSl7cmV0dXJuICRGKCJzZGwiLGEse30pfSxZSj1mdW5jdGlvbihhLGIsYyl7aWYoYil7dmFyIGQ9QXJyYXkuaXNBcnJheShhKT9hOlthXTtkRygic2RsIixjLGZ1bmN0aW9uKGUpe2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1TdHJpbmcoZFtmXSk7ZS5oYXNPd25Qcm9wZXJ0eShnKXx8KGVbZ109W10pO2VbZ10ucHVzaChiKX1yZXR1cm4gZX0se30pfX0sYUs9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7WkooYSxiKTskSihjLCEwKX1yZXR1cm4gY30sYks9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7aD9nPUEuc2V0VGltZW91dChjLGUpOihnPTAsWkooYSxiKSwkSihkKSk7aD0hMX1mdW5jdGlvbiBkKCl7ZiYmYigpO2c/aD0hMDooZz1BLnNldFRpbWVvdXQoYyxlKSxhRygic2RsIiwicGVuZGluZyIsITApKX12YXIgZT0yNTAsZj0hMTtCLnNjcm9sbGluZ0VsZW1lbnQmJkIuZG9jdW1lbnRFbGVtZW50JiYoZT01MCxmPSEwKTt2YXIgZz0KMCxoPSExO3JldHVybiBkfSwkSj1mdW5jdGlvbihhLGIpeyRGKCJzZGwiLCJpbml0IiwhMSkmJiFjSygpJiYoYj9hZChBLCJzY3JvbGxlbmQiLGEpOmFkKEEsInNjcm9sbCIsYSksYWQoQSwicmVzaXplIixhKSxhRygic2RsIiwiaW5pdCIsITEpKX0sWko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKCksZD1jLmRlcHRoWCxlPWMuZGVwdGhZLGY9ZC9hLnNjcm9sbFdpZHRoKjEwMCxnPWUvYS5zY3JvbGxIZWlnaHQqMTAwO2RLKGQsImhvcml6LnBpeCIsIlBJWEVMUyIsImhvcml6b250YWwiKTtkSyhmLCJob3Jpei5wY3QiLCJQRVJDRU5UIiwiaG9yaXpvbnRhbCIpO2RLKGUsInZlcnQucGl4IiwiUElYRUxTIiwidmVydGljYWwiKTtkSyhnLCJ2ZXJ0LnBjdCIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbCIpO2FHKCJzZGwiLCJwZW5kaW5nIiwhMSl9LGRLPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVhKKGIpLGY9e30sZztmb3IoZyBpbiBlKWlmKGY9e3FmOmYucWZ9LGYucWY9ZyxlLmhhc093blByb3BlcnR5KGYucWYpKXt2YXIgaD0KTnVtYmVyKGYucWYpO2lmKCEoYTxoKSl7dmFyIGw9e307dUUoKGwuZXZlbnQ9Imd0bS5zY3JvbGxEZXB0aCIsbFsiZ3RtLnNjcm9sbFRocmVzaG9sZCJdPWgsbFsiZ3RtLnNjcm9sbFVuaXRzIl09Yy50b0xvd2VyQ2FzZSgpLGxbImd0bS5zY3JvbGxEaXJlY3Rpb24iXT1kLGxbImd0bS50cmlnZ2VycyJdPWVbZi5xZl0uam9pbigiLCIpLGwpKTtkRygic2RsIixiLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihwKXtkZWxldGUgcFtuLnFmXTtyZXR1cm4gcH19KGYpLHt9KX19fSxmSz1mdW5jdGlvbigpe3ZhciBhPWRHKCJzZGwiLCJzY3IiLGZ1bmN0aW9uKGMpe2N8fChjPUIuc2Nyb2xsaW5nRWxlbWVudHx8Qi5ib2R5JiZCLmJvZHkucGFyZW50Tm9kZSk7cmV0dXJuIGN9LG51bGwpLGI9ZEcoInNkbCIsImRlcHRoIixmdW5jdGlvbihjKXtjfHwoYz1lSyhhKSk7cmV0dXJuIGN9KTtyZXR1cm57c2Nyb2xsaW5nRWxlbWVudDphLHZyOmJ9fSxlSz1mdW5jdGlvbihhKXt2YXIgYj0wLGM9CjA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9c0koKSxlPWQuaGVpZ2h0O2I9TWF0aC5tYXgoYS5zY3JvbGxMZWZ0K2Qud2lkdGgsYik7Yz1NYXRoLm1heChhLnNjcm9sbFRvcCtlLGMpO3JldHVybntkZXB0aFg6YixkZXB0aFk6Y319fSxjSz1mdW5jdGlvbigpe3JldHVybiEhKE9iamVjdC5rZXlzKFhKKCJob3Jpei5waXgiKSkubGVuZ3RofHxPYmplY3Qua2V5cyhYSigiaG9yaXoucGN0IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGl4IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGN0IikpLmxlbmd0aCl9OwpmdW5jdGlvbiBnSyhhLGIpe3ZhciBjPXRoaXM7aWYoIWVoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3QiLCJhbnkiXSxhcmd1bWVudHMpO1RGKFtmdW5jdGlvbigpe0woYywiZGV0ZWN0X3Njcm9sbF9ldmVudHMiKX1dKTt2YXIgZD1mSygpLGU9ZC5zY3JvbGxpbmdFbGVtZW50LGY9ZC52cjtpZighZSlyZXR1cm47dmFyIGc9WkYoYiksaD1UZChhKTtzd2l0Y2goaC5ob3Jpem9udGFsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC5ob3Jpem9udGFsVGhyZXNob2xkcyxnLCJob3Jpei5waXgiKTticmVhaztjYXNlICJQRVJDRU5UIjpZSihoLmhvcml6b250YWxUaHJlc2hvbGRzLGcsImhvcml6LnBjdCIpfXN3aXRjaChoLnZlcnRpY2FsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsCmcsInZlcnQucGl4Iik7YnJlYWs7Y2FzZSAiUEVSQ0VOVCI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsZywidmVydC5wY3QiKX0kRigic2RsIiwiaW5pdCIsITEpPyRGKCJzZGwiLCJwZW5kaW5nIiwhMSl8fGJkKGZ1bmN0aW9uKCl7WkooZSxmKX0pOihhRygic2RsIiwiaW5pdCIsITApLGFHKCJzZGwiLCJwZW5kaW5nIiwhMCksYmQoZnVuY3Rpb24oKXtaSihlLGYpO2lmKGNLKCkpe3ZhciBsPWJLKGUsZik7Im9uc2Nyb2xsZW5kImluIEE/KGw9YUsoZSxmKSwkYyhBLCJzY3JvbGxlbmQiLGwpKTokYyhBLCJzY3JvbGwiLGwpOyRjKEEsInJlc2l6ZSIsbCl9ZWxzZSBhRygic2RsIiwiaW5pdCIsITEpfSkpO3JldHVybiBnfWdLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uU2Nyb2xsIjtmdW5jdGlvbiBoSyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihhLmxpbWl0JiZhLmdrPj1hLmxpbWl0KWEuYWkmJkEuY2xlYXJJbnRlcnZhbChhLmFpKTtlbHNle2EuZ2srKzt2YXIgYj1OYigpO3VFKHtldmVudDphLmV2ZW50TmFtZSwiZ3RtLnRpbWVySWQiOmEuYWksImd0bS50aW1lckV2ZW50TnVtYmVyIjphLmdrLCJndG0udGltZXJJbnRlcnZhbCI6YS5pbnRlcnZhbCwiZ3RtLnRpbWVyTGltaXQiOmEubGltaXQsImd0bS50aW1lclN0YXJ0VGltZSI6YS5NbywiZ3RtLnRpbWVyQ3VycmVudFRpbWUiOmIsImd0bS50aW1lckVsYXBzZWRUaW1lIjpiLWEuTW8sImd0bS50cmlnZ2VycyI6YS5MdH0pfX19CmZ1bmN0aW9uIGlLKGEsYil7CnJldHVybiBmfWlLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uVGltZXIiOwp2YXIgaks9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZz1hKCk7Zis9ZT8oTmIoKS1lKSpnLnBsYXliYWNrUmF0ZS8xRTM6MDtlPU5iKCl9dmFyIGU9MCxmPTA7cmV0dXJue2NyZWF0ZUV2ZW50OmZ1bmN0aW9uKGcsaCxsKXt2YXIgbj1hKCkscD1uLlduLHE9bD9NYXRoLnJvdW5kKGwpOmg/TWF0aC5yb3VuZChuLlduKmgpOk1hdGgucm91bmQobi5Hcikscj1oIT09dm9pZCAwP01hdGgucm91bmQoaCoxMDApOnA8PTA/MDpNYXRoLnJvdW5kKHEvcCoxMDApLHQ9Qi5oaWRkZW4/ITE6dEkoYyk+PS41O2QoKTt2YXIgdT12b2lkIDA7YiE9PXZvaWQgMCYmKHU9W2JdKTt2YXIgdj1lRyhjLCJndG0udmlkZW8iLHUpO3ZbImd0bS52aWRlb1Byb3ZpZGVyIl09InlvdXR1YmUiO3ZbImd0bS52aWRlb1N0YXR1cyJdPWc7dlsiZ3RtLnZpZGVvVXJsIl09bi51cmw7dlsiZ3RtLnZpZGVvVGl0bGUiXT1uLnRpdGxlO3ZbImd0bS52aWRlb0R1cmF0aW9uIl09TWF0aC5yb3VuZChwKTt2WyJndG0udmlkZW9DdXJyZW50VGltZSJdPQpNYXRoLnJvdW5kKHEpO3ZbImd0bS52aWRlb0VsYXBzZWRUaW1lIl09TWF0aC5yb3VuZChmKTt2WyJndG0udmlkZW9QZXJjZW50Il09cjt2WyJndG0udmlkZW9WaXNpYmxlIl09dDtyZXR1cm4gdn0sbXQ6ZnVuY3Rpb24oKXtlPU5iKCl9LEJqOmZ1bmN0aW9uKCl7ZCgpfX19O3ZhciBBYz1BYShbImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iXSksa0s9WyJ3d3cueW91dHViZS5jb20iLCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iXSxsSzsKdmFyIG1LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm1hcChmdW5jdGlvbihnKXtyZXR1cm57dGU6ZyxKbzpnLHdvOnZvaWQgMH19KTtpZighYi5sZW5ndGgpcmV0dXJuIGQ7dmFyIGU9Yi5tYXAoZnVuY3Rpb24oZyl7cmV0dXJue3RlOmcqYyxKbzp2b2lkIDAsd286Z319KTtpZighZC5sZW5ndGgpcmV0dXJuIGU7dmFyIGY9ZC5jb25jYXQoZSk7Zi5zb3J0KGZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcudGUtaC50ZX0pO3JldHVybiBmfSxuSz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/W106YTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWFbY108MHx8Yi5wdXNoKGFbY10pO2Iuc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBkLWV9KTtyZXR1cm4gYn0sb0s9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP1tdOmE7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPjEwMHx8YVtjXTwwfHwoYltjXT1hW2NdLzEwMCk7Yi5zb3J0KGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGQtCmV9KTtyZXR1cm4gYn0scEs9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2Z1bmN0aW9uIGUoKXt0PWpLKGZ1bmN0aW9uKCl7cmV0dXJue3VybDp4LHRpdGxlOnksV246dixHcjphLmdldEN1cnJlbnRUaW1lKCkscGxheWJhY2tSYXRlOnp9fSxiLnJmLGEuZ2V0SWZyYW1lKCkpO3Y9MDt5PXg9IiI7ej0xO3JldHVybiBmfWZ1bmN0aW9uIGYoRyl7c3dpdGNoKEcpe2Nhc2UgMTp2PU1hdGgucm91bmQoYS5nZXREdXJhdGlvbigpKTt4PWEuZ2V0VmlkZW9VcmwoKTtpZihhLmdldFZpZGVvRGF0YSl7dmFyIE49YS5nZXRWaWRlb0RhdGEoKTt5PU4/Ti50aXRsZToiIn16PWEuZ2V0UGxheWJhY2tSYXRlKCk7Yi55cj91RSh0LmNyZWF0ZUV2ZW50KCJzdGFydCIpKTp0LkJqKCk7dT1tSyhiLmV0LGIuY3QsYS5nZXREdXJhdGlvbigpKTtyZXR1cm4gZyhHKTtkZWZhdWx0OnJldHVybiBmfX1mdW5jdGlvbiBnKCl7Qz1hLmdldEN1cnJlbnRUaW1lKCk7RD1NYigpLmdldFRpbWUoKTt0Lm10KCk7cigpO3JldHVybiBofQpmdW5jdGlvbiBoKEcpe3ZhciBOO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIG4oRyk7Y2FzZSAyOk49InBhdXNlIjtjYXNlIDM6dmFyIFM9YS5nZXRDdXJyZW50VGltZSgpLUM7Tj1NYXRoLmFicygoTWIoKS5nZXRUaW1lKCktRCkvMUUzKnotUyk+MT8ic2VlayI6Tnx8ImJ1ZmZlcmluZyI7YS5nZXRDdXJyZW50VGltZSgpJiYoYi54cj91RSh0LmNyZWF0ZUV2ZW50KE4pKTp0LkJqKCkpO3EoKTtyZXR1cm4gbDtjYXNlIC0xOnJldHVybiBlKEcpO2RlZmF1bHQ6cmV0dXJuIGh9fWZ1bmN0aW9uIGwoRyl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gbihHKTtjYXNlIDE6cmV0dXJuIGcoRyk7Y2FzZSAtMTpyZXR1cm4gZShHKTtkZWZhdWx0OnJldHVybiBsfX1mdW5jdGlvbiBuKCl7Zm9yKDtkOyl7dmFyIEc9YztBLmNsZWFyVGltZW91dChkKTtHKCl9Yi53ciYmdUUodC5jcmVhdGVFdmVudCgiY29tcGxldGUiLDEpKTtyZXR1cm4gZSgtMSl9ZnVuY3Rpb24gcCgpe31mdW5jdGlvbiBxKCl7ZCYmCihBLmNsZWFyVGltZW91dChkKSxkPTAsYz1wKX1mdW5jdGlvbiByKCl7aWYodS5sZW5ndGgmJnohPT0wKXt2YXIgRz0tMSxOO2Rve049dVswXTtpZihOLnRlPmEuZ2V0RHVyYXRpb24oKSlyZXR1cm47Rz0oTi50ZS1hLmdldEN1cnJlbnRUaW1lKCkpL3o7aWYoRzwwJiYodS5zaGlmdCgpLHUubGVuZ3RoPT09MCkpcmV0dXJufXdoaWxlKEc8MCk7Yz1mdW5jdGlvbigpe2Q9MDtjPXA7dS5sZW5ndGg+MCYmdVswXS50ZT09PU4udGUmJih1LnNoaWZ0KCksdUUodC5jcmVhdGVFdmVudCgicHJvZ3Jlc3MiLE4ud28sTi5KbykpKTtyKCl9O2Q9QS5zZXRUaW1lb3V0KGMsRyoxRTMpfX12YXIgdCx1PVtdLHYseCx5LHosQyxELEk9ZSgtMSk7ZD0wO2M9cDtyZXR1cm57b25TdGF0ZUNoYW5nZTpmdW5jdGlvbihHKXtJPUkoRyl9LG9uUGxheWJhY2tSYXRlQ2hhbmdlOmZ1bmN0aW9uKEcpe0M9YS5nZXRDdXJyZW50VGltZSgpO0Q9TWIoKS5nZXRUaW1lKCk7dC5CaigpO3o9RztxKCk7cigpfX19LHJLPQpmdW5jdGlvbihhKXtiZChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGQ9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIiksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylxSyhkW2ZdLGEpfXZhciBjPUI7YigpO29KLksoYil9KX0scUs9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iK2IucmYpJiYoQ2MoYSwiZGF0YS1ndG0teXQtaW5zcGVjdGVkLSIrYi5yZiksc0soYSxiLmNvKSkpe2EuaWR8fChhLmlkPXRLKCkpO3ZhciBjPUEuWVQsZD1jLmdldChhLmlkKTtkfHwoZD1uZXcgYy5QbGF5ZXIoYS5pZCkpO3ZhciBlPXBLKGQsYiksZj17fSxnO2ZvcihnIGluIGUpZj17TWc6Zi5NZ30sZi5NZz1nLGUuaGFzT3duUHJvcGVydHkoZi5NZykmJmQuYWRkRXZlbnRMaXN0ZW5lcihmLk1nLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gZVtoLk1nXShsLmRhdGEpfX0oZikpfX0sc0s9ZnVuY3Rpb24oYSwKYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKHVLKGMsImVtYmVkLyIpKXtpZihjLmluZGV4T2YoImVuYWJsZWpzYXBpPTEiKT4wKXJldHVybiEwO2lmKGIpe3ZhciBkO3ZhciBlPWMuaW5kZXhPZigiPyIpIT09LTE/IiYiOiI/IjtjLmluZGV4T2YoIm9yaWdpbj0iKT4tMT9kPWMrZSsiZW5hYmxlanNhcGk9MSI6KGxLfHwobEs9Qi5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK0IubG9jYXRpb24uaG9zdG5hbWUsQi5sb2NhdGlvbi5wb3J0JiYobEsrPSI6IitCLmxvY2F0aW9uLnBvcnQpKSxkPWMrZSsiZW5hYmxlanNhcGk9MSZvcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQobEspKTt2YXIgZjtmPWpjKGQpO2Euc3JjPWtjKGYpLnRvU3RyaW5nKCk7cmV0dXJuITB9fXJldHVybiExfSx1Sz1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2Zvcih2YXIgYz0wO2M8a0subGVuZ3RoO2MrKylpZihhLmluZGV4T2YoIi8vIitrS1tjXSsiLyIrYik+PTApcmV0dXJuITA7cmV0dXJuITF9LAp0Sz1mdW5jdGlvbigpe3ZhciBhPSIiK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTkpO3JldHVybiBCLmdldEVsZW1lbnRCeUlkKGEpP3RLKCk6YX07CmZ1bmN0aW9uIHZLKGEsYil7dmFyIGM9dGhpczt2YXIgZD1mdW5jdGlvbigpe3JLKHEpfTtpZighZWgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiLHtmaXhNaXNzaW5nQXBpOiEhYS5nZXQoImZpeE1pc3NpbmdBcGkiKX0pfV0pO3ZhciBlPVpGKGIpLGY9ISFhLmdldCgiY2FwdHVyZVN0YXJ0IiksZz0hIWEuZ2V0KCJjYXB0dXJlQ29tcGxldGUiKSxoPSEhYS5nZXQoImNhcHR1cmVQYXVzZSIpLGw9b0soVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1BlcmNlbnQiKSkpLG49bksoVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1RpbWVJblNlY29uZHMiKSkpLHA9ISFhLmdldCgiZml4TWlzc2luZ0FwaSIpOwppZighKGZ8fGd8fGh8fGwubGVuZ3RofHxuLmxlbmd0aCkpcmV0dXJuO3ZhciBxPXt5cjpmLHdyOmcseHI6aCxjdDpsLGV0Om4sY286cCxyZjplfSxyPUEuWVQ7aWYocilyZXR1cm4gci5yZWFkeSYmci5yZWFkeShkKSxlO3ZhciB0PUEsdT10Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O3Qub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9ZnVuY3Rpb24oKXt1JiZ1KCk7ZCgpfTtiZChmdW5jdGlvbigpe2Zvcih2YXIgdj1CLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSx4PXYubGVuZ3RoLHk9MDt5PHg7eSsrKXt2YXIgej12W3ldLmdldEF0dHJpYnV0ZSgic3JjIik7aWYodUsoeiwiaWZyYW1lX2FwaSIpfHx1Syh6LCJwbGF5ZXJfYXBpIikpcmV0dXJuIGV9Zm9yKHZhciBDPUIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpLEQ9Qy5sZW5ndGgsST1hbCg1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxHPTA7RzxEO0crKylpZighSSYmc0soQ1tHXSxxLmNvKSlyZXR1cm4gVWMoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkiKSwKWmsoNSwhMCksZX0pO3JldHVybiBlfXZLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uWW91VHViZUFjdGl2aXR5IjtmdW5jdGlvbiB3SyhhLGIpe2lmKCFsaChhKXx8IWZoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3R8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTt2YXIgYz1iP1RkKGIpOnt9O2MucmVnZXhDYWNoZT1hbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KTtyZXR1cm4gR2goYSxjKX13Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIjtmdW5jdGlvbiB4SyhhKXt2YXIgYj0hMTtyZXR1cm4gYn14Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZU1hdGNoaW5nUnVsZXMiO3ZhciB5Sz1uZXcgTWFwKFtbImF3Iiw0XV0pO2Z1bmN0aW9uIHpLKGEpe3ZhciBiPXZyW2FdLGM9eUsuZ2V0KGEpO3JldHVybiBjPyh3cShiLGMpfHxbXSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5tPT09IjAifHxkLm09PT12b2lkIDB9KTohMX0KZnVuY3Rpb24gQUsoYSxiKXtpZihNKDQ5NSkpe2Zvcih2YXIgYz1uZXcgTWFwLGQ9bSh5SyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPW0oZS52YWx1ZSksZz1mLm5leHQoKS52YWx1ZSxoPWYubmV4dCgpLnZhbHVlLGw9ZyxuPWFbbF0scD1BcnJheS5pc0FycmF5KG4pP25bMF06bjtpZihwIT09dm9pZCAwKXt2YXIgcT17fSxyPShxLms9cCxxLmk9U3RyaW5nKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpKSxxLmI9W10scS5tPSIxIixxKSx0PWFxKHIsaCk7dCYmKHpLKGwpfHxjLnNldChsLHQpKX19aWYoYy5zaXplKXt2YXIgdSx2PVtdLHg9Yi5wYXRofHwiLyI7di5wdXNoKGVuY29kZVVSSUNvbXBvbmVudCgicCIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoeCkpO2IuQXImJnYucHVzaChlbmNvZGVVUklDb21wb25lbnQoImNlIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYi5BcikpKTt2YXIgeT1iLmRvbWFpbiYmYi5kb21haW4hPT0iYXV0byI/CmIuZG9tYWluOiJhdXRvOiIrQS5sb2NhdGlvbi5ob3N0bmFtZTt2LnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCJkIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh5KSk7Zm9yKHZhciB6PW0oYyksQz16Lm5leHQoKTshQy5kb25lO0M9ei5uZXh0KCkpe3ZhciBEPW0oQy52YWx1ZSksST1ELm5leHQoKS52YWx1ZSxHPUQubmV4dCgpLnZhbHVlO3YucHVzaChlbmNvZGVVUklDb21wb25lbnQoSSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChHKSl9dT0iXy9zZXRfY29va2llPyIrdi5qb2luKCImIik7dmFyIE4sUz1FKDU4KTtOPUVmKHUsUyk7dmFyIFc9WGooKSsiLyIrTjttZChXKX19fTtmdW5jdGlvbiBCSyhhKXtyZXR1cm4iQ1dWV2ViVmlld01lc3NhZ2UiaW4gYX1mdW5jdGlvbiBDSyhhKXt2YXIgYj1BLGM9Yi53ZWJraXQ7ZGVsZXRlIGIud2Via2l0O2EoYi53ZWJraXQpO2Iud2Via2l0PWN9ZnVuY3Rpb24gREsoYSxiKXt2YXIgYz17YWN0aW9uOiJnY2xfc2V0dXAifTtpZihCSyhhLm1lc3NhZ2VIYW5kbGVycykpcmV0dXJuIGEubWVzc2FnZUhhbmRsZXJzLkNXVldlYlZpZXdNZXNzYWdlLnBvc3RNZXNzYWdlKHtjb21tYW5kOmIscGF5bG9hZDpjfSksITA7dmFyIGQ9YS5tZXNzYWdlSGFuZGxlcnNbYl07cmV0dXJuIGQ/KGQucG9zdE1lc3NhZ2UoYyksITApOiExfTt2YXIgRUs9e30sRks9KEVLLmF3Yj17bm90Rm91bmQ6MTc4fSxFSy55dGI9e25vdEZvdW5kOjE5NH0sRUspO2Z1bmN0aW9uIEdLKGEpe3ZhciBiLGM9KGI9RktbYV0pPT1udWxsP3ZvaWQgMDpiLm5vdEZvdW5kO2MmJlAoYyl9CmZ1bmN0aW9uIEhLKGEpe2lmKCFubShqbS5iYS5qbikmJiJ3ZWJraXQiaW4gQSYmQS53ZWJraXQubWVzc2FnZUhhbmRsZXJzKXt2YXIgYj1mdW5jdGlvbigpe3RyeXtDSyhmdW5jdGlvbihjKXtpZihjKXt2YXIgZDtkPUJLKGMubWVzc2FnZUhhbmRsZXJzKXx8ImF3YiJpbiBjLm1lc3NhZ2VIYW5kbGVycz97Y29tbWFuZDoiYXdiIixzb3VyY2U6NX06KEJLKGMubWVzc2FnZUhhbmRsZXJzKXx8Inl0YiJpbiBjLm1lc3NhZ2VIYW5kbGVycykmJk0oNDk5KT97Y29tbWFuZDoieXRiIixzb3VyY2U6OH06dm9pZCAwO2QmJihtbShqbS5iYS5qbixmdW5jdGlvbihlKXt2YXIgZj1kLnNvdXJjZTtlLmdjbGlkJiZscygiZ2NsX2F3IixlLmdjbGlkLGYsYSk7ZS53YnJhaWQmJmxzKCJnY2xfZ2IiLGUud2JyYWlkLGYsYSl9KSxESyhjLGQuY29tbWFuZCl8fEdLKGQuY29tbWFuZCkpfX0pfWNhdGNoKGMpe1AoMTkzKX19O0hsKGZ1bmN0aW9uKCl7QnIoZnApP2IoKTpJbChiLGZwKX0sZnApfX07dmFyIElLPVsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly9tLnlvdXR1YmUuY29tIl07ZnVuY3Rpb24gSksoYSl7cmV0dXJuIGEuZGF0YS5hY3Rpb24hPT0iZ2NsX3RyYW5zZmVyIj8oUCgxNzMpLCEwKTphLmRhdGEuZ2FkU291cmNlP2EuZGF0YS5nY2xpZD8hMTooUCgxODEpLCEwKTooUCgxODApLCEwKX0KZnVuY3Rpb24gS0soYSxiKXtpZighYXx8TShhKSl7aWYobm0oam0uYmEuVmUpKXJldHVybiBQKDE3Niksam0uYmEuVmU7aWYobm0oam0uYmEubW4pKXJldHVybiBQKDE3MCksam0uYmEuVmU7dmFyIGM9RnAoKTtpZighYylQKDE3MSk7ZWxzZSBpZihjLm9wZW5lcil7dmFyIGQ9ZnVuY3Rpb24oZyl7aWYoIUlLLmluY2x1ZGVzKGcub3JpZ2luKSlQKDE3Mik7ZWxzZSBpZighSksoZykpe3ZhciBoPXtnYWRTb3VyY2U6Zy5kYXRhLmdhZFNvdXJjZX07aC5nY2xpZD1nLmRhdGEuZ2NsaWQ7bW0oam0uYmEuVmUsaCk7YiYmZy5kYXRhLmdjbGlkJiZscygiZ2NsX2F3IixTdHJpbmcoZy5kYXRhLmdjbGlkKSw2LGIpO3ZhciBsOyhsPWcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKT09bnVsbHx8bC5jYWxsKGcpO250KGMsIm1lc3NhZ2UiLGQpfX07aWYobXQoYywibWVzc2FnZSIsZCkpe21tKGptLmJhLm1uLCEwKTtmb3IodmFyIGU9bShJSyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpYy5vcGVuZXIucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZ2NsX3NldHVwIn0sCmYudmFsdWUpO1AoMTc0KTtyZXR1cm4gam0uYmEuVmV9UCgxNzUpfX19Owp2YXIgTEs9ZnVuY3Rpb24oYSl7dmFyIGI9e3ByZWZpeDpPKGEuTSxGLkQuRmQpfHxPKGEuTSxGLkQubmIpLGRvbWFpbjpPKGEuTSxGLkQuTGIpLHBkOk8oYS5NLEYuRC5DYiksZmxhZ3M6TyhhLk0sRi5ELlRiKX07YS5NLmlzR3RtRXZlbnQmJihiLnBhdGg9TyhhLk0sRi5ELnZjKSk7cmV0dXJuIGJ9LE1LPWZ1bmN0aW9uKGEsYil7aWYoIVEoYSxILkouV2UpKXt2YXIgYz1LSygxMTkpO2lmKGMpe3ZhciBkPW5tKGMpLGU9ZnVuY3Rpb24oZyl7VihhLEguSi5XZSwhMCk7dmFyIGg9UihhLEYuRC56ZiksbD1SKGEsRi5ELkFmKTtVKGEsRi5ELnpmLFN0cmluZyhnLmdhZFNvdXJjZSkpO1UoYSxGLkQuQWYsNik7VihhLEguSi5zYSk7VihhLEguSi51Zyk7VShhLEYuRC5zYSk7YigpO1UoYSxGLkQuemYsaCk7VShhLEYuRC5BZixsKTtWKGEsSC5KLldlLCExKX07aWYoZCllKGQpO2Vsc2V7dmFyIGY9dm9pZCAwO2Y9cG0oYyxmdW5jdGlvbihnLGgpe2UoaCk7cW0oYyxmKX0pfX19fSxQSz1mdW5jdGlvbihhKXt2YXIgYiwKYyxkLGU7Yj1hLlRuO2M9YS5tbztkPWEuUW87ZT1hLlVuO2lmKGIpe2lmKGRyKGNbRi5ELlhmXSwhIWNbRi5ELkFhXSkpe2lmKFdqKCkmJkJyKEFyKCkpKXtmb3IodmFyIGY9VXEoITApLGc9e30saD1tKE9iamVjdC5rZXlzKHZyKSksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpe3ZhciBuPWwudmFsdWUscD12cltuXSxxPWZbcF07aWYocSl7dmFyIHI9JHAocSw0KTtyJiYob3MoTWF0aC5taW4oTnIociksTmIoKSl8fE5iKCkscCw0KXx8KGdbbl09cSkpfX1mb3IodmFyIHQ9e30sdT1tKE9iamVjdC5rZXlzKGcpKSx2PXUubmV4dCgpOyF2LmRvbmU7dj11Lm5leHQoKSl7dmFyIHg9di52YWx1ZSx5PWdbeF07aWYoeSE9PXZvaWQgMCl7dmFyIHo9JHAoeSw0KTt6JiZ6Lm09PT0iMSImJih0W3hdPXouayl9fUFLKHQsZSl9cHMoZSk7dHMoZSk7UXYoZSl9aWYoT3AoKSE9PTIpe2dzKGUpO2lzKGUpO2lmKFlmKDE1KSl7dmFyIEM9ZSxEPWRzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7CkQubGVuZ3RofHwoRD1kcyhBLmRvY3VtZW50LnJlZmVycmVyLCExLCEwKSk7aWYoRC5sZW5ndGgpe0M9Q3x8e307dmFyIEk9RFswXTtJLnZhbHVlJiZtcygiZ2NsX2RjIixbe3ZlcnNpb246IiIsZ2NsaWQ6SS52YWx1ZSx0aW1lc3RhbXA6TmIoKSxxYTpJLnFhfV0sQyl9fUhLKGUpO0tLKHZvaWQgMCxlKX1lbHNlIGdzKGUpO2lmKFdqKCkmJkJyKEFyKCkpKXt2YXIgRz1mcygpO0FLKEcsZSl9eHMocXMsZSk7eXMoZSl9Y1tGLkQuQWFdJiYodnMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSksdXMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksd3MoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksUnYoR3YoZS5wcmVmaXgpLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSksUnYoIkZQQVUiLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSkpO2QmJkFzKE5LKTtDcyhPSyl9LHFzPVsiYXciLCJkYyIsCiJnYiJdLE9LPVsiYXciLCJkYyIsImdiIiwiYWciXSxOSz1bImF3IiwiZGMiLCJnYiIsImFnIiwiZ2FkX3NvdXJjZSJdO2Z1bmN0aW9uIFZLKCl7cmV0dXJuIE10KDcpJiZNdCg5KSYmTXQoMTApfTt2YXIgV0s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5vaiwoZFtiXT1jLGQpKX0sWEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kSShhLEYuRC5GaSxhLk0uaWJbRi5ELkZpXSk7aWYoYyYmY1tifHxhLmV2ZW50TmFtZV0hPT12b2lkIDApcmV0dXJuIGNbYnx8YS5ldmVudE5hbWVdfSxZSz1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLllhKTtpZihDZChiKSlyZXR1cm4gYn0sWks9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5iZSl8fCFlayhhLk0pKXJldHVybiAxO2lmKCFPKGEuTSxGLkQuZGQpKXt2YXIgYj1PKGEuTSxGLkQuUWYpO2lmKGIhPT0hMCYmYiE9PSJ0cnVlIilyZXR1cm4gMX12YXIgYz1PKGEuTSxGLkQuT2kpO3JldHVybiBjPT09ITF8fGM9PT0iZmFsc2UiPzM6Mn07CnZhciBhTD1mdW5jdGlvbihhLGIpe2EmJigkSygic2lkIixhLnRhcmdldElkLGIpLCRLKCJjYyIsYS5jbGllbnRDb3VudCxiKSwkSygidGwiLGEudG90YWxMaWZlTXMsYiksJEsoImhjIixhLmhlYXJ0YmVhdENvdW50LGIpLCRLKCJjbCIsYS5jbGllbnRMaWZlTXMsYikpfSwkSz1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmYy5wdXNoKGErIj0iK2IpfSxiTD1mdW5jdGlvbigpe3ZhciBhPUIucmVmZXJyZXI7aWYoYSl7dmFyIGI7cmV0dXJuIExqKFJqKGEpLCJob3N0Iik9PT0oKGI9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmIuaG9zdCk/MToyfXJldHVybiAwfSxkTD1mdW5jdGlvbigpe3RoaXMuamE9Y0w7dGhpcy5OPTA7dGhpcy55YT1OZig1Nyw1KTt0aGlzLlI9TmYoNTgsNTApO3RoaXMuZmE9RGIoKTt0aGlzLkxhPSJodHRwczovLyIrRSgyMSkrIi9hPyJ9O2RMLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjLGQpewp2YXIgZT1iTCgpLGYsZz1bXTtmPUE9PT1BLnRvcCYmZSE9PTAmJmI/KGI9PW51bGw/dm9pZCAwOmIuY2xpZW50Q291bnQpPjE/ZT09PTI/MToyOmU9PT0yPzA6Mzo0O2EmJiRLKCJzaSIsYS5KZyxnKTskSygibSIsMCxnKTskSygiaXNzIixmLGcpOyRLKCJpZiIsYyxnKTthTChiLGcpO2QmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGQuc3Vic3RyaW5nKDAsdGhpcy5SKSksZyk7dGhpcy5aKGcpO307ZEwucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXTskSygibSIsMSxmKTskSygicyIsYSxmKTskSygicG8iLGJMKCksZik7YiYmKCRLKCJzdCIsYi5zdGF0ZSxmKSwkSygic2kiLGIuSmcsZiksJEsoInNtIixiLlVnLGYpKTthTChjLGYpOyRLKCJjIixkLGYpO2UmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKDAsCnRoaXMuUikpLGYpO3RoaXMuWihmKTt9O2RMLnByb3RvdHlwZS5aPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphOyFmbi5OfHx0aGlzLk4+PXRoaXMueWF8fCgkSygicGlkIix0aGlzLmZhLGEpLCRLKCJiYyIsKyt0aGlzLk4sYSksYS51bnNoaWZ0KCJjdGlkPSIrRSg1KSsiJnQ9cyIpLHRoaXMuamEoIiIrdGhpcy5MYSthLmpvaW4oIiYiKSkpfTtmdW5jdGlvbiBlTChhKXtyZXR1cm4gYS5wZXJmb3JtYW5jZSYmYS5wZXJmb3JtYW5jZS5ub3coKXx8RGF0ZS5ub3coKX0KdmFyIGZMPWZ1bmN0aW9uKGEsYil7dmFyIGM9QSxkPU5mKDUzLDUwMCksZT1OZig1NCw1RTMpLGY9TmYoOCwyMCksZz1OZig1NSw1RTMpLGg7dmFyIGw9ZnVuY3Rpb24obixwLHEpe3E9cT09PXZvaWQgMD97cW86ZnVuY3Rpb24oKXt9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbigpe30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7fX06cTt0aGlzLklqPW47dGhpcy5IPXA7dGhpcy5OPXE7dGhpcy5mYT10aGlzLmphPXRoaXMuaGVhcnRiZWF0Q291bnQ9dGhpcy5Eaj0wO3RoaXMuZmU9ITE7dGhpcy5LPXt9O3RoaXMuaWQ9U3RyaW5nKE1hdGguZmxvb3IoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIqTWF0aC5yYW5kb20oKSkpO3RoaXMuc3RhdGU9MDt0aGlzLkpnPWVMKHRoaXMuSCk7dGhpcy5VZz1lTCh0aGlzLkgpO3RoaXMuWj0xMH07bC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuUigxKTsKdGhpcy5MYSgpfTtsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybntzdGF0ZTp0aGlzLnN0YXRlLEpnOk1hdGgucm91bmQoZUwodGhpcy5IKS10aGlzLkpnKSxVZzpNYXRoLnJvdW5kKGVMKHRoaXMuSCktdGhpcy5VZyl9fTtsLnByb3RvdHlwZS5SPWZ1bmN0aW9uKG4pe3RoaXMuc3RhdGUhPT1uJiYodGhpcy5zdGF0ZT1uLHRoaXMuVWc9ZUwodGhpcy5IKSl9O2wucHJvdG90eXBlLnZnPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLkRqKyspfTtsLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5oZWFydGJlYXRDb3VudCsrO3RoaXMueWEoe3R5cGU6MCxjbGllbnRJZDp0aGlzLmlkLHJlcXVlc3RJZDp0aGlzLnZnKCksbWF4RGVsYXk6dGhpcy5oZSgpfSxmdW5jdGlvbihwKXtpZihwLnR5cGU9PT0wKXt2YXIgcTtpZigoKHE9cC5mYWlsdXJlKT09bnVsbD92b2lkIDA6cS5mYWlsdXJlVHlwZSkhPW51bGwpaWYocC5zdGF0cyYmKG4uc3RhdHM9CnAuc3RhdHMpLG4uZmErKyxwLmlzRGVhZHx8bi5mYT5mKXt2YXIgcj1wLmlzRGVhZCYmcC5mYWlsdXJlLmZhaWx1cmVUeXBlO24uWj1yfHwxMDtuLlIoNCk7bi5BaigpO3ZhciB0LHU7KHU9KHQ9bi5OKS5wbyk9PW51bGx8fHUuY2FsbCh0LHtmYWlsdXJlVHlwZTpyfHwxMCxkYXRhOnAuZmFpbHVyZS5kYXRhfSl9ZWxzZSBuLlIoMyksbi5QaCgpO2Vsc2V7aWYobi5oZWFydGJlYXRDb3VudD5wLnN0YXRzLmhlYXJ0YmVhdENvdW50K2Ype24uaGVhcnRiZWF0Q291bnQ9cC5zdGF0cy5oZWFydGJlYXRDb3VudDt2YXIgdix4Oyh4PSh2PW4uTikub25GYWlsdXJlKT09bnVsbHx8eC5jYWxsKHYse2ZhaWx1cmVUeXBlOjEzfSl9bi5zdGF0cz1wLnN0YXRzO3ZhciB5PW4uc3RhdGU7bi5SKDIpO2lmKHkhPT0yKWlmKG4uZmUpe3ZhciB6LEM7KEM9KHo9bi5OKS5zbyk9PW51bGx8fEMuY2FsbCh6KX1lbHNle24uZmU9ITA7dmFyIEQsSTsoST0oRD1uLk4pLnFvKT09bnVsbHx8SS5jYWxsKEQpfW4uZmE9CjA7bi5OaigpO24uUGgoKX19fSl9O2wucHJvdG90eXBlLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0yP2U6ZH07bC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5MYSgpfSxNYXRoLm1heCgwLHRoaXMuaGUoKS0oZUwodGhpcy5IKS10aGlzLmphKSkpfTtsLnByb3RvdHlwZS5rcj1mdW5jdGlvbihuLHAscSl7dmFyIHI9dGhpczt0aGlzLnlhKHt0eXBlOjEsY2xpZW50SWQ6dGhpcy5pZCxyZXF1ZXN0SWQ6dGhpcy52ZygpLGNvbW1hbmQ6bn0sZnVuY3Rpb24odCl7aWYodC50eXBlPT09MSlpZih0LnJlc3VsdClwKHQucmVzdWx0KTtlbHNle3ZhciB1LHYseCx5PXtmYWlsdXJlVHlwZTooeD0odT10LmZhaWx1cmUpPT1udWxsP3ZvaWQgMDp1LmZhaWx1cmVUeXBlKSE9bnVsbD94OjEyLGRhdGE6KHY9dC5mYWlsdXJlKT09bnVsbD92b2lkIDA6di5kYXRhfSx6LEM7KEM9KHo9ci5OKS5vbkZhaWx1cmUpPT0KbnVsbHx8Qy5jYWxsKHoseSk7cSh5KX19KX07bC5wcm90b3R5cGUueWE9ZnVuY3Rpb24obixwKXt2YXIgcT10aGlzO2lmKHRoaXMuc3RhdGU9PT00KW4uZmFpbHVyZT17ZmFpbHVyZVR5cGU6dGhpcy5afSxwKG4pO2Vsc2V7dmFyIHI9dGhpcy5zdGF0ZSE9PTImJm4udHlwZSE9PTAsdD1uLnJlcXVlc3RJZCx1LHY9dGhpcy5ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeT1xLktbdF07eSYmKGltKDYpLHEua2QoeSw3KSl9LCh1PW4ubWF4RGVsYXkpIT1udWxsP3U6ZykseD17cmVxdWVzdDpuLEhvOnAsem86cixOczp2fTt0aGlzLktbdF09eDtyfHx0aGlzLnNlbmRSZXF1ZXN0KHgpfX07bC5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24obil7dGhpcy5qYT1lTCh0aGlzLkgpO24uem89ITE7dGhpcy5JaihuLnJlcXVlc3QpfTtsLnByb3RvdHlwZS5Oaj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT0KdGhpcy5LW3AudmFsdWVdO3Euem8mJnRoaXMuc2VuZFJlcXVlc3QocSl9fTtsLnByb3RvdHlwZS5Baj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXRoaXMua2QodGhpcy5LW3AudmFsdWVdLHRoaXMuWil9O2wucHJvdG90eXBlLmtkPWZ1bmN0aW9uKG4scCl7dGhpcy5hYyhuKTt2YXIgcT1uLnJlcXVlc3Q7cS5mYWlsdXJlPXtmYWlsdXJlVHlwZTpwfTtuLkhvKHEpfTtsLnByb3RvdHlwZS5hYz1mdW5jdGlvbihuKXtkZWxldGUgdGhpcy5LW24ucmVxdWVzdC5yZXF1ZXN0SWRdO3RoaXMuSC5jbGVhclRpbWVvdXQobi5Ocyl9O2wucHJvdG90eXBlLmtzPWZ1bmN0aW9uKG4pe3RoaXMuamE9ZUwodGhpcy5IKTt2YXIgcD10aGlzLktbbi5yZXF1ZXN0SWRdO2lmKHApdGhpcy5hYyhwKSxwLkhvKG4pO2Vsc2V7dmFyIHEscjsocj0ocT10aGlzLk4pLm9uRmFpbHVyZSk9PW51bGx8fHIuY2FsbChxLHtmYWlsdXJlVHlwZToxNH0pfX07Cmg9bmV3IGwoYSxjLGIpO3JldHVybiBofTsKdmFyIGdMPWZ1bmN0aW9uKCl7cmV0dXJuIGFsKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTH0pfSxjTD1mdW5jdGlvbihhKXtpbyhsbyhjby5pYS5aYiksZnVuY3Rpb24oKXtaYyhhKX0pfSxoTD1mdW5jdGlvbihhKXt2YXIgYj1hLnN1YnN0cmluZygwLGEuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIiKSk7cmV0dXJuIiYxcD0xIisoYj8iJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQoYik6IiIpfSxpTD1mdW5jdGlvbihhKXt2YXIgYj1BLmxvY2F0aW9uLm9yaWdpbjtpZighYilyZXR1cm4gbnVsbDsoTSg0MzIpP1dqKCk6V2ooKSYmIWEpJiYoYT0iIitiK1hqKCkrIi9fL3NlcnZpY2Vfd29ya2VyIik7dmFyIGM9YSxkLGU9TGYoMTEpO2U9TGYoMTApO2Q9ZTtjPyhjLmNoYXJBdChjLmxlbmd0aC0xKSE9PSIvIiYmCihjKz0iLyIpLGE9YytkKTphPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9zdGF0aWMvc2VydmljZV93b3JrZXIvIitkKyIvIjt2YXIgZjt0cnl7Zj1uZXcgVVJMKGEpfWNhdGNoKGcpe3JldHVybiBudWxsfXJldHVybiBmLnByb3RvY29sIT09Imh0dHBzOiI/bnVsbDpmfSxqTD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5PaCk7cmV0dXJuIGImJmJbYV19LGtMPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5LPWdMKCk7dGhpcy5aPXRoaXMuUj0hMTt0aGlzLmZhPW51bGw7dGhpcy5pbml0VGltZT1NYXRoLnJvdW5kKE5iKCkpO3RoaXMuSD0xNTt0aGlzLk49dGhpcy5GcihhKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmluaXRpYWxpemUoKX0sMUUzKTtiZChmdW5jdGlvbigpe2IuenMoYSl9KX07az1rTC5wcm90b3R5cGU7ay5kZWxlZ2F0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nZXRTdGF0ZSgpIT09Mj8odGhpcy5LLkgodGhpcy5ILHtzdGF0ZTp0aGlzLmdldFN0YXRlKCksCkpnOnRoaXMuaW5pdFRpbWUsVWc6TWF0aC5yb3VuZChOYigpKS10aGlzLmluaXRUaW1lfSx2b2lkIDAsYS5jb21tYW5kVHlwZSksYyh7ZmFpbHVyZVR5cGU6dGhpcy5IfSkpOnRoaXMuTi5rcihhLGIsYyl9O2suZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OLmdldFN0YXRlKCkuc3RhdGV9O2suenM9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5vcmlnaW4sYz10aGlzLGQ9WGMoKTt0cnl7dmFyIGU9ZC5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZj1hLnBhdGhuYW1lLGc9ZltmLmxlbmd0aC0xXT09PSIvIj9hLnRvU3RyaW5nKCk6YS50b1N0cmluZygpKyIvIixoPWEub3JpZ2luIT09Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIj9oTChmKToiIixsO00oMTMzKSYmKGw9e3NhbmRib3g6ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMifSk7WGMoZysic3dfaWZyYW1lLmh0bWw/b3JpZ2luPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKwpoLHZvaWQgMCxsLHZvaWQgMCxlKTt2YXIgbj1mdW5jdGlvbigpe2QuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MuZmE9ZS5jb250ZW50V2luZG93O2QuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihwKXtwLm9yaWdpbj09PWEub3JpZ2luJiZjLk4ua3MocC5kYXRhKX0pO2MuaW5pdGlhbGl6ZSgpfSl9O2QuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP24oKTpkLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtuKCl9KX1jYXRjaChwKXtkLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZCksdGhpcy5IPTExLHRoaXMuSy5LKHZvaWQgMCx2b2lkIDAsdGhpcy5ILHAudG9TdHJpbmcoKSl9fTtrLkZyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1mTChmdW5jdGlvbihkKXt2YXIgZTsoZT1iLmZhKT09Cm51bGx8fGUucG9zdE1lc3NhZ2UoZCxhLm9yaWdpbil9LHtxbzpmdW5jdGlvbigpe2IuUj0hMDtiLksuSyhjLmdldFN0YXRlKCksYy5zdGF0cyl9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbihkKXtiLlI/KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDEwLGIuSy5IKGIuSCxjLmdldFN0YXRlKCksYy5zdGF0cyx2b2lkIDAsZD09bnVsbD92b2lkIDA6ZC5kYXRhKSk6KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDQsYi5LLksoYy5nZXRTdGF0ZSgpLGMuc3RhdHMsYi5ILGQ9PW51bGw/dm9pZCAwOmQuZGF0YSkpfSxvbkZhaWx1cmU6ZnVuY3Rpb24oZCl7Yi5IPWQuZmFpbHVyZVR5cGU7Yi5LLkgoYi5ILGMuZ2V0U3RhdGUoKSxjLnN0YXRzLGQuY29tbWFuZCxkLmRhdGEpfX0pO3JldHVybiBjfTtrLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt0aGlzLlp8fHRoaXMuTi5pbml0KCk7dGhpcy5aPSEwfTsKdmFyIGxMPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2lmKChlPWpMKGEpKT09bnVsbHx8IWUuZGVsZWdhdGUpe3ZhciBmPUljKCk/MTY6NjtnTCgpLkgoZix2b2lkIDAsdm9pZCAwLGIuY29tbWFuZFR5cGUpO2Qoe2ZhaWx1cmVUeXBlOmZ9KTtyZXR1cm59akwoYSkuZGVsZWdhdGUoYixjLGQpO307CmZ1bmN0aW9uIG1MKGEsYixjLGQpe3ZhciBlPWlMKGEpO2lmKGU9PT1udWxsKXtkKCJfaXNfc3c9ZiIrKEljKCk/MTY6NikrInRlIik7cmV0dXJufXZhciBmPWI/MTowLGc9TWF0aC5yb3VuZChOYigpKSxoLGw9KGg9akwoZS5vcmlnaW4pKT09bnVsbD92b2lkIDA6aC5pbml0VGltZSxuPWw/Zy1sOnZvaWQgMCxwO00oNDMyKT9wPVdqKCk/dm9pZCAwOkEubG9jYXRpb24uaHJlZjpwPUEubG9jYXRpb24uaHJlZjtsTChlLm9yaWdpbix7Y29tbWFuZFR5cGU6MCxwYXJhbXM6e3VybDphLG1ldGhvZDpmLHRlbXBsYXRlczpjLGJvZHk6Ynx8IiIscHJvY2Vzc1Jlc3BvbnNlOiEwLHNpbmNlSW5pdDpuLGF0dHJpYnV0aW9uUmVwb3J0aW5nOiEwLHJlZmVyZXI6cCxzdHJpY3Q6TSg1ODQpfX0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKHEpe3ZhciByPSJfaXNfc3c9ZiIrcS5mYWlsdXJlVHlwZSx0LHU9KHQ9akwoZS5vcmlnaW4pKT09Cm51bGw/dm9pZCAwOnQuZ2V0U3RhdGUoKTt1IT09dm9pZCAwJiYocis9InMiK3UpO2Qobj9yKygidCIrbik6cisidGUiKX0pO307ZnVuY3Rpb24gbkwoYSl7aWYoSWYoNDcpJiZkSShhLCJjY2RfYWRkXzFwX2RhdGEiLCExKSYmV2ooKSl7dmFyIGI9YS5NO2lmKEljKCkmJmJnKCJpbnRlcm5hbF9zd19hbGxvd2VkIiwiIikpe3ZhciBjPWVrKGIpLGQ9V2ooKT9YaigpOnZvaWQgMCxlO2U9ZD97cGF0aDpkLGVvOiJmdWxsIn06Yz97cGF0aDpjLGVvOiJsaXRlIn06dm9pZCAwO2lmKGUpe3ZhciBmPWUuZW8sZz1uZXcgVVJMKGUucGF0aCxBLmxvY2F0aW9uLm9yaWdpbik7aWYoZy5vcmlnaW49PT1BLmxvY2F0aW9uLm9yaWdpbiYmcHkoZik9PT12b2lkIDApe3ZhciBoPW9tKGptLmJhLk9oLHt9KTtoW2ZdfHwoaFtmXT1uZXcgbnkoZykpfX19fX07ZnVuY3Rpb24gc0woKXt2YXIgYTthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTt2YXIgYjtyZXR1cm4hKChiPWEuZmVhdHVyZVBvbGljeSk9PW51bGx8fCFiLmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKSl9O2Z1bmN0aW9uIHdMKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlPUZwKCksZj1EcChlKTtpZihmLnVybClpZihkKXt2YXIgZz1jKGYudXJsKTtiIT09ZyYmVShhLEYuRC5QZSxnKX1lbHNle3ZhciBoPWYudXJsO2IhPT1oJiZVKGEsRi5ELlBlLGMoaCkpfX07CnZhciB4TD1mdW5jdGlvbihhKXtpZihhIT1udWxsKXt2YXIgYj1TdHJpbmcoYSkuc3Vic3RyaW5nKDAsNTEyKSxjPWIuaW5kZXhPZigiIyIpO3JldHVybiBjPT09LTE/YjpiLnN1YnN0cmluZygwLGMpfXJldHVybiIifSx5TD1mdW5jdGlvbigpe3ZhciBhPUIudGl0bGU7aWYoYT09PXZvaWQgMHx8YT09PSIiKXJldHVybiIiO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYj0yNTY7Yj4wJiZLaihhLnN1YnN0cmluZygwLGIpKT09PXZvaWQgMDspYi0tO3JldHVybiBLaihhLnN1YnN0cmluZygwLGIpKXx8IiJ9O2Z1bmN0aW9uIEFMKGEpe1YoYSxILkouSmEsITApO1YoYSxILkouRWIsTmIoKSk7VihhLEguSi55bixhLk0uZXZlbnRNZXRhZGF0YVtILkouSmFdKX07dmFyIFNMPWZ1bmN0aW9uKGEpe3ZhciBiPVhvKEYuRC5rYSk/bWooInBzY2RsIik6ImRlbmllZCI7YiE9bnVsbCYmVShhLEYuRC5qaCxiKX07dmFyIFRMPW5ldyBmdW5jdGlvbigpe3RoaXMuSD17fX07dmFyIFVMPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5NO2lmKGI9PT12b2lkIDA/MDpiKXt2YXIgZD1jLmdldE1lcmdlZFZhbHVlcyhGLkQuT2EpO1liKGQpJiZVKGEsRi5ELkxpLFliKGQpKX12YXIgZT1PbyhmRChGLkQuT2EpKSxmPWMuZ2V0TWVyZ2VkVmFsdWVzKEYuRC5PYSwxLGUpLGc9Yy5nZXRNZXJnZWRWYWx1ZXMoRi5ELk9hLDIpLGg9WWIobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxmLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sVEwuSCkpLCIuIiksbD1ZYihnLCIuIik7aCYmVShhLEYuRC5YYyxoKTtsJiZVKGEsRi5ELlZjLGwpfTt2YXIgVkw9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi50cSk7YiYmVShhLEYuRC5JbCxiKX07ZnVuY3Rpb24gV0woYSl7dmFyIGI9S0IoITEpO2lmKGIhPW51bGwmJmIuc3RhdHVzKXt2YXIgYz17Z3RiOmIuc3RhdHVzfTtiLmRlbGF5JiYoYy5ndGJkPWIuZGVsYXkpO2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxjKX19O3ZhciBYTD1mdW5jdGlvbihhKXt6bSgpPT09IlVTLUNPIiYmVShhLEYuRC5MZSwxKX07dmFyIFlMPXtSYTp7Q2s6MSx6bjoyLEhuOjMsSW46NCxKbjo1LHduOjZ9fTtZTC5SYVtZTC5SYS5Da109IkFET0JFX0NPTU1FUkNFIjtZTC5SYVtZTC5SYS56bl09IlNRVUFSRVNQQUNFIjtZTC5SYVtZTC5SYS5Ibl09IldPT19DT01NRVJDRSI7WUwuUmFbWUwuUmEuSW5dPSJXT09fQ09NTUVSQ0VfTEVHQUNZIjtZTC5SYVtZTC5SYS5Kbl09IldPUkRfUFJFU1MiO1lMLlJhW1lMLlJhLnduXT0iU0hPUElGWSI7ZnVuY3Rpb24gWkwoYSl7dmFyIGI9QTtyZXR1cm4gS2ooYi5lc2NhcGUoYi5hdG9iKGEpKSl9CmZ1bmN0aW9uICRMKCl7dHJ5e2lmKCFNKDQ5OCkmJiFNKDQyNSkpcmV0dXJuW107dmFyIGE9bm0oam0uYmEubG4pO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dmFyIGI9W10sYzthOnt0cnl7Yz0hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W2RhdGEtcmVxdWlyZW1vZHVsZV49Im1hZ2UvIl0nKTticmVhayBhfWNhdGNoKHkpe31jPSExfWMmJmIucHVzaChZTC5SYS5Dayk7dmFyIGQ7YTp7dHJ5e3ZhciBlPVpMKCJZWE56WlhSekxuTnhkV0Z5WlhOd1lXTmxMbU52YlM4PSIpO2Q9ZT8hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149Ii8vJytlKyciXScpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fWQ9ITF9ZCYmYi5wdXNoKFlMLlJhLnpuKTt2YXIgZjthOntpZihNKDQyNSkpdHJ5e3ZhciBnPVpMKCJjMmh2Y0dsbWVTNWpiMjA9IiksaD1aTCgiYzJodmNHbG1lV05rYmk1amIyMD0iKTtmPWcmJmg/ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJjZG4uJytnKyciXSxtZXRhW3Byb3BlcnR5PSJvZzppbWFnZSJdW2NvbnRlbnQqPSJjZG4uJysKKGcrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9ImNkbi4nKSsoZysnIl0sbGlua1tyZWw9InByZWNvbm5lY3QiXVtocmVmKj0iZm9udHMuJykrKGgrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9Iml0ZXJhYmxlLXNob3BpZnkiXSxsaW5rW3JlbD0icHJlY29ubmVjdCJdW2hyZWYqPSJ2LicpKyhnKyciXScpKTohMTticmVhayBhfWNhdGNoKHkpe31mPSExfWYmJmIucHVzaChZTC5SYS53bik7dmFyIGw7YTp7dHJ5e2w9ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJ3b29jb21tZXJjZSJdLGxpbmtbaHJlZio9Indvb2NvbW1lcmNlIl0sW2NsYXNzfD0id29vY29tbWVyY2UiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fWw9ITF9bCYmYi5wdXNoKFlMLlJhLkluKTt2YXIgbjthOnt0cnl7dmFyIHAscT0oKHA9Qi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOnAuaG9zdG5hbWUpfHwiIixyLHQ9KChyPUIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpyLm9yaWdpbil8fAoiIix1PVpMKCJMbmR2Y21Sd2NtVnpjeTVqYjIwPSIpLHY9WkwoIkx5OXpMbmN1YjNKbiIpO249dSYmdj9UYihxLHUpfHwhIUIucXVlcnlTZWxlY3RvcignW3NyY149IicrdCsnL3dwLWNvbnRlbnQiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb3JkUHJlc3MgIl0sbGlua1tyZWw9ImRucy1wcmVmZXRjaCJdW2hyZWY9IicrKHYrJyJdJykpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fW49ITF9biYmYi5wdXNoKFlMLlJhLkpuKTt2YXIgeDthOnt0cnl7eD0hIUIucXVlcnlTZWxlY3RvcignW2NsYXNzKj0id29vY29tbWVyY2UiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb29Db21tZXJjZSAiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fXg9ITF9eCYmYi5wdXNoKFlMLlJhLkhuKTtVQigpJiZtbShqbS5iYS5sbixiKTtyZXR1cm4gYn1jYXRjaCh5KXt9cmV0dXJuW119O2Z1bmN0aW9uIHdNKGEpe2lmKE0oNDI1KSYmUShhLEguSi5GYykpe3ZhciBiPU5mKDY3LDE1MDApLGM9YS5tZXJnZUhpdERhdGFGb3JLZXksZD1GLkQuVGEsZT17fTtjLmNhbGwoYSxkLGUpfX07dmFyIHhNPSJwbGF0Zm9ybSBwbGF0Zm9ybVZlcnNpb24gYXJjaGl0ZWN0dXJlIG1vZGVsIHVhRnVsbFZlcnNpb24gYml0bmVzcyBmdWxsVmVyc2lvbkxpc3Qgd293NjQiLnNwbGl0KCIgIik7ZnVuY3Rpb24geU0oYSl7dmFyIGI7cmV0dXJuKGI9YS5nb29nbGVfdGFnX2RhdGEpIT1udWxsP2I6YS5nb29nbGVfdGFnX2RhdGE9e319ZnVuY3Rpb24gek0oYSl7dmFyIGIsYztyZXR1cm4oYz0oYj1hLmdvb2dsZV90YWdfZGF0YSk9PW51bGw/dm9pZCAwOmIudWFjaF9wcm9taXNlKSE9bnVsbD9jOm51bGx9ZnVuY3Rpb24gQU0oYSl7dmFyIGIsYztyZXR1cm4gdHlwZW9mKChiPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6KGM9Yi51c2VyQWdlbnREYXRhKT09bnVsbD92b2lkIDA6Yy5nZXRIaWdoRW50cm9weVZhbHVlcyk9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBCTShhKXtpZighQU0oYSkpcmV0dXJuIG51bGw7dmFyIGI9eU0oYSk7aWYoYi51YWNoX3Byb21pc2UpcmV0dXJuIGIudWFjaF9wcm9taXNlO3ZhciBjPWEubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoeE0pLnRoZW4oZnVuY3Rpb24oZCl7Yi51YWNoIT1udWxsfHwoYi51YWNoPWQpO3JldHVybiBkfSk7cmV0dXJuIGIudWFjaF9wcm9taXNlPWN9Owp2YXIgQ009ZnVuY3Rpb24oKXt0aGlzLndpbmRvdz1BO3RoaXMuTj1OYn07Q00ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZihBTSh0aGlzLndpbmRvdykmJih0aGlzLlo9dGhpcy5OKCksIXpNKHRoaXMud2luZG93KSkpe3ZhciBhPUJNKHRoaXMud2luZG93KTthJiZhLnRoZW4oZnVuY3Rpb24oKXtQKDk1KX0pLmNhdGNoKGZ1bmN0aW9uKCl7UCg5Nil9KX19O0NNLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy53aW5kb3cuZ29vZ2xlX3RhZ19kYXRhLGI7aWYoYSE9bnVsbCYmYS51YWNoKXt2YXIgYz1hLnVhY2gsZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGMpO2MuZnVsbFZlcnNpb25MaXN0JiYoZC5mdWxsVmVyc2lvbkxpc3Q9Yy5mdWxsVmVyc2lvbkxpc3Quc2xpY2UoMCkpO2I9ZH1lbHNlIGI9bnVsbDtyZXR1cm4gYn07Q00ucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz10aGlzLGQ9ZnVuY3Rpb24oaCxsKXt0cnl7YShoLGwpfWNhdGNoKG4pe319LAplPXRoaXMuSCgpO2lmKGUpZChlKTtlbHNle3ZhciBmPXpNKHRoaXMud2luZG93KTtpZihmKXtiPU1hdGgubWluKE1hdGgubWF4KGlzRmluaXRlKGIpP2I6MCwwKSwxRTMpO3ZhciBnPXRoaXMud2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLktnfHwoZC5LZz0hMCxQKDEwNiksZChudWxsLEVycm9yKCJUaW1lb3V0IikpKX0sYik7Zi50aGVuKGZ1bmN0aW9uKGgpe2QuS2d8fChkLktnPSEwLFAoMTA0KSxjLndpbmRvdy5jbGVhclRpbWVvdXQoZyksZChoKSl9KS5jYXRjaChmdW5jdGlvbihoKXtkLktnfHwoZC5LZz0hMCxQKDEwNSksYy53aW5kb3cuY2xlYXJUaW1lb3V0KGcpLGQobnVsbCxoKSl9KX1lbHNlIGQobnVsbCl9fTtDTS5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlohPT12b2lkIDB9O3ZhciBETT1mdW5jdGlvbigpe3ZhciBhO2E9YT09PXZvaWQgMD9BOmE7cmV0dXJuIEFNKGEpfSxFTT1mdW5jdGlvbihhKXt2YXIgYj17fTtiW0YuRC5jZ109YS5hcmNoaXRlY3R1cmU7CmJbRi5ELmRnXT1hLmJpdG5lc3M7YS5mdWxsVmVyc2lvbkxpc3QmJihiW0YuRC5lZ109YS5mdWxsVmVyc2lvbkxpc3QubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoYy5icmFuZHx8IiIpKyI7IitlbmNvZGVVUklDb21wb25lbnQoYy52ZXJzaW9ufHwiIil9KS5qb2luKCJ8IikpO2JbRi5ELmZnXT1hLm1vYmlsZT8iMSI6IjAiO2JbRi5ELmdnXT1hLm1vZGVsO2JbRi5ELmhnXT1hLnBsYXRmb3JtO2JbRi5ELmlnXT1hLnBsYXRmb3JtVmVyc2lvbjtiW0YuRC5qZ109YS53b3c2ND8iMSI6IjAiO3JldHVybiBifSxGTT1uZXcgQ007dmFyIEdNPWZ1bmN0aW9uKGEpe2lmKCFETSgpKVAoODcpO2Vsc2UgaWYoRk0uSygpKXtQKDg1KTt2YXIgYj1GTS5IKCk7aWYoYil7aWYoYilmb3IodmFyIGM9RU0oYiksZD1tKE9iamVjdC5rZXlzKGMpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtVKGEsZixjW2ZdKX19ZWxzZSBQKDg2KX19O2Z1bmN0aW9uIEhNKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9UShhLEguSi5zZyksZD1kSShhLCJjdXN0b21fZXZlbnRfYWNjZXB0X3J1bGVzIiwhMSkmJiFiO2lmKGMpe3ZhciBlPWMuaW5kZXhPZihhLnRhcmdldC5kZXN0aW5hdGlvbklkKT49MCxmPSEwO1EoYSxILkouQ2MpJiYoZj1RKGEsSC5KLk5iKT09PXZrKCkpO2UmJmY/VihhLEguSi5raSwhMCk6KFYoYSxILkoua2ksITEpLGR8fChhLmlzQWJvcnRlZD0hMCkpO2lmKGEuY2FuQmVBY2NlcHRlZCgpKXt2YXIgZz11aygpLmluZGV4T2YoYS50YXJnZXQuZGVzdGluYXRpb25JZCk+PTAsaD0hMTtpZighZyl7dmFyIGwsbj0obD1uayhhLnRhcmdldC5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOmwuY2Fub25pY2FsQ29udGFpbmVySWQ7biYmKGg9dmsoKT09PW4pfWd8fGg/UShhLEguSi5raSkmJmEuYWNjZXB0KCk6YS5pc0Fib3J0ZWQ9ITB9ZWxzZSBhLmlzQWJvcnRlZD0hMH19O3ZhciBJTT1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpLGM9TyhhLk0sRi5ELlljKTtiJiYhYz8oYS5ldmVudE5hbWUhPT1GLkQud2EmJmEuZXZlbnROYW1lIT09Ri5ELnlmJiZQKDEzMSksYS5pc0Fib3J0ZWQ9ITApOiFiJiZjJiYoUCgxMzIpLGEuaXNBYm9ydGVkPSEwKX07dmFyIEpNPWZ1bmN0aW9uKGEpe2lmKGEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1JZigxMSksYz1RKGEsSC5KLkhxKTshKCFNKDU1MCkmJmJ8fGMpfHxhLnRhcmdldC5KYygpfHxZRygiaWRjX2NvbmZpZ19wdiIsYS50YXJnZXQuZGVzdGluYXRpb25JZCl8fChhLmlzQWJvcnRlZD0hMCl9fTt2YXIgTE09ZnVuY3Rpb24oYSxiKXtLTS5OKGEsYil9LE1NPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fTtNTS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuSFthXTtjfHwoYz10aGlzLkhbYV09W10pO2MucHVzaChiKX07TU0ucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5IW2EudGFyZ2V0LmRlc3RpbmF0aW9uSWRdO2lmKCFhLmlzQWJvcnRlZCYmYilmb3IodmFyIGM9ZkkoYSksZD0wO2Q8Yi5sZW5ndGg7KytkKXt0cnl7YltkXShjKX1jYXRjaChlKXthLmlzQWJvcnRlZD0hMH1pZihhLmlzQWJvcnRlZClicmVha319O3ZhciBLTT1uZXcgTU07dmFyIE5NPWZ1bmN0aW9uKGEpe0tNLksoYSk7fTt2YXIgT009ZnVuY3Rpb24oYSl7YSYmKEFwKDQ5NSxhKSxBcCg1NjcsYSksQXAoNDUwLGEpLEFwKDQ0MyxhKSxBcCg1ODcsYSksQXAoNTc2LGEpLEFwKDU3MCxhKSxBcCg1ODEsYSksQXAoNjAyLGEpKX0sUE09ZnVuY3Rpb24oYSl7aWYoUShhLEguSi53ZikmJlhvKGZwKSl7dmFyIGI9UShhLEguSi5HYSksYz1RKGEsSC5KLmRhKSE9PVguVi51YiYmUShhLEguSi5kYSkhPT1YLlYuT2ImJlEoYSxILkouZGEpIT09WC5WLkZiJiZhLmV2ZW50TmFtZSE9PUYuRC5KYjtIdihiLGMpO3ZhciBkPUR2W0d2KGIucHJlZml4KV07T00oZCk7VShhLEYuRC5FZCxkKX19O2Z1bmN0aW9uIFFNKCl7cmV0dXJuIGtqKCJkZWR1cGVfZ2NsaWQiLGZ1bmN0aW9uKCl7cmV0dXJuIEF2KCl9KX07dmFyIFJNPS9eKHd3d1wuKT9nb29nbGUoXC5jb20/KT8oXC5bYS16XXsyfXQ/KT8kLyxTTT0vXnd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSQvO2Z1bmN0aW9uIFRNKGEpe2F8fChhPVVNKCkpO3JldHVybiBhLk50PyExOmEubnN8fGEucXN8fGEudnN8fGEucnN8fGEuRGd8fGEuVGh8fGEuVHJ8fGEuVmg9PT0iYXcuZHMifHxNKDIzNSkmJmEuVmg9PT0iYXcuZHYifHxhLllyPyEwOiExfQpmdW5jdGlvbiBVTSgpe3ZhciBhPXt9LGI9VXEoITApO2EuTnQ9ISFiLl91cDt2YXIgYz1lcygpLGQ9YXQoKTthLm5zPWMuYXchPT12b2lkIDA7YS5xcz1jLmRjIT09dm9pZCAwO2EudnM9Yy53YnJhaWQhPT12b2lkIDA7YS5ycz1jLmdicmFpZCE9PXZvaWQgMDthLlZoPXR5cGVvZiBjLmdjbHNyYz09PSJzdHJpbmciP2MuZ2Nsc3JjOnZvaWQgMDthLkRnPWQuRGc7YS5UaD1kLlRoO3ZhciBlPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjthLllyPVJNLnRlc3QoZSk7YS5Ucj1TTS50ZXN0KGUpO3JldHVybiBhfTtmdW5jdGlvbiBWTSgpe3ZhciBhPUEuX191c3BhcGk7aWYoeWIoYSkpe3ZhciBiPSIiO3RyeXthKCJnZXRVU1BEYXRhIiwxLGZ1bmN0aW9uKGMsZCl7aWYoZCYmYyl7dmFyIGU9Yy51c3BTdHJpbmc7ZSYmUmVnRXhwKCJeW1xcZGEtekEtWi1dezEsMjB9JCIpLnRlc3QoZSkmJihiPWUpfX0pfWNhdGNoKGMpe31yZXR1cm4gYn19Owp2YXIgV009ZnVuY3Rpb24oYSl7dmFyIGI9WG8oZnApO1YoYSxILkouWWUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExJiYhYik7dmFyIGM9UShhLEguSi5kaiksZD1PKGEuTSxGLkQudWMpIT09ITEsZT1MSyhhKTtkfHxVKGEsRi5ELkhkLCIxIik7dmFyIGY9SHIoZS5wcmVmaXgpLGc9UShhLEguSi5zYSl8fFEoYSxILkoudWcpfHxRKGEsSC5KLldlKTtjfHxnfHxVKGEsIl8mYXB2YyIsIjAiKTthLk0uaXNHdG1FdmVudCYmVShhLEYuRC5JbCwiZyIpO1UoYSxGLkQuRWQpO1UoYSxGLkQuTWIpO2lmKGImJihVKGEsRi5ELk1iLHlMKCkpLGQpKXtIdihlKTt2YXIgaD1EdltHdihlLnByZWZpeCldO1UoYSxGLkQuRWQsaCk7T00oaCl9aWYoYS5ldmVudE5hbWU9PT1GLkQud2EmJiFnKXt2YXIgbD1PKGEuTSxGLkQuemMpLG49TyhhLk0sRi5ELkRiKXx8e307UEsoe1RuOmQsbW86bixRbzpsLFVuOmV9KTshYyYmWXMoZikmJihWKGEsSC5KLnZkLCEwKSxVKGEsIl8mYXB2YyIsCiIxIikpfWlmKGMpYS5pc0Fib3J0ZWQ9ITA7ZWxzZXthLnRhcmdldC5kZXN0aW5hdGlvbklkJiZVKGEsRi5ELlFlLGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO1UoYSxGLkQuVWIsYS5ldmVudE5hbWUpO2EuZXZlbnROYW1lPT09Ri5ELndhJiZVKGEsRi5ELlViLEYuRC5zYyk7aWYoUShhLEguSi5zYSkpVShhLEYuRC5VYixGLkQud3ApLFUoYSxGLkQuc2EsIjEiKTtlbHNlIGlmKFEoYSxILkoudWcpKVUoYSxGLkQuVWIsRi5ELkhwKTtlbHNlIGlmKFEoYSxILkouV2UpKVUoYSxGLkQuVWIsRi5ELkVwKTtlbHNle3ZhciBwPWVzKCk7VShhLEYuRC5EZCxwLmdjbGlkKTtVKGEsRi5ELktkLHAuZGNsaWQpO1UoYSxGLkQuQWwscC5nY2xzcmMpO2lmKCFSKGEsRi5ELkRkKSYmIVIoYSxGLkQuS2QpfHxNKDQyMSkpVShhLEYuRC5FZSxwLndicmFpZCksVShhLEYuRC5CZixwLmdicmFpZCk7dmFyIHE9TSg1ODkpLHI9ZnVuY3Rpb24oZmEpe3JldHVybiBmYS5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpfSwKdD0hIU8oYS5NLEYuRC56YSksdT1xP3Q/ZnVuY3Rpb24oZmEpe3JldHVybiB4TChyKGZhKSl9OmZ1bmN0aW9uKGZhKXtyZXR1cm4geEwoZmEucmVwbGFjZSgvIy4qJC8sIiIpKX06cix2PWJ0KHUpO1UoYSxGLkQuemEsdik7dmFyIHg9ISFPKGEuTSxGLkQuVWEpLHk9Qi5yZWZlcnJlcjtVKGEsRi5ELlVhLHE/eD9yKHkpOnkucmVwbGFjZSgvIy4qJC8sIiIpOkIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIik7d0woYSx2LHUsITApO2lmKEtjKXt2YXIgej1MaihSaihLYyksImhvc3QiKTt6JiZVKGEsRi5ELmJtLHopfWlmKCFRKGEsSC5KLldlKSl7dmFyIEM9YXQoKTtVKGEsRi5ELnpmLEMuRGcpO1UoYSxGLkQuQWYsQy5Tcil9dmFyIEQ9VU0oKTtUTShEKSYmVShhLEYuRC5QZCwiMSIpO1UoYSxGLkQuRGwsUU0oKSk7VXEoITEpLl91cD09PSIxIiYmVShhLEYuRC5RbCwiMSIpfXdvLkg9ITA7VShhLEYuRC5TYik7VShhLEYuRC5sYik7aWYoTSg0MjEpKXt2YXIgST1GcihlKTsKSS5sZW5ndGg+MCYmVShhLEYuRC5TYixJLmpvaW4oIi4iKSk7dmFyIEc9RHIoZisiX2F3Iik7Ry5sZW5ndGg+MCYmVShhLEYuRC5sYixHLmpvaW4oIi4iKSl9ZWxzZSBpZighUihhLEYuRC5EZCkmJiFSKGEsRi5ELktkKSYmV3MoZikpe3ZhciBOPUZyKGUpO04ubGVuZ3RoPjAmJlUoYSxGLkQuU2IsTi5qb2luKCIuIikpfWVsc2UgaWYoIVIoYSxGLkQuRWUpJiZiKXt2YXIgUz1EcihmKyJfYXciKTtTLmxlbmd0aD4wJiZVKGEsRi5ELmxiLFMuam9pbigiLiIpKX1VKGEsRi5ELlVsLHFkKCkpO2EuTS5pc0d0bUV2ZW50JiYoYS5NLkVhW0YuRC5SY109ZkQoRi5ELlJjKSk7U3QoYS5NKT9VKGEsRi5ELmRlLCExKTpVKGEsRi5ELmRlLCEwKTtWKGEsSC5KLkJrLCEwKTt2YXIgVz1WTSgpO1chPT12b2lkIDAmJlUoYSxGLkQua2csV3x8ImVycm9yIik7dmFyIGVhPUx0KCk7ZWEmJlUoYSxGLkQuS2UsZWEpO3ZhciBqYT1LdCgpO2phJiZVKGEsRi5ELk9lLGphKTtRKGEsSC5KLlBjKXx8VihhLEguSi5KYSwKITEpfX07CnZhciBYTT1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwP3t9OmM7aWYoYS5ldmVudE5hbWU9PT1GLkQuSmImJiFhLk0uaXNHdG1FdmVudCl7dmFyIGQ9TyhhLk0sRi5ELlNmKTtpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJiFRKGEsSC5KLnNhKSl7dmFyIGU9U3RyaW5nKE8oYS5NLEYuRC5UZikpLGY9ZTtjW2VdJiYoZj1jW2VdKTt2YXIgZz1SKGEsZil8fE8oYS5NLGUpO2lmKGIpe2lmKHR5cGVvZiBkPT09ImZ1bmN0aW9uIilpZihlPT09Ri5ELmxiJiZnIT09dm9pZCAwKXt2YXIgaD1nLnNwbGl0KCIuIik7aC5sZW5ndGg9PT0wP2Qodm9pZCAwKTpoLmxlbmd0aD09PTE/ZChoWzBdKTpkKGgpfWVsc2UgaWYoZT09PUYuRC5xcSYmTSgyNTgpKXt2YXIgbCxuPXt9O1hvKGZwKSYmKG4uYXVpZD1SKGEsRi5ELkVkKSk7dmFyIHA9VU0oKTtpZihUTShwKSluLmdhZF9zb3VyY2U9cC5EZyxuLmdhZF9jYW1wYWlnbmlkPXAuVGgsbi5zZXNzaW9uX3N0YXJ0X3RpbWVfdXNlYz0KKERhdGUubm93KCkqMUUzKS50b1N0cmluZygpLG4ubGFuZGluZ19wYWdlX3VybD1BLmxvY2F0aW9uLmhyZWYsbi5sYW5kaW5nX3BhZ2VfcmVmZXJyZXI9Qi5yZWZlcnJlcixuLmxhbmRpbmdfcGFnZV91c2VyX2FnZW50PUhjLnVzZXJBZ2VudDtlbHNle3ZhciBxPVEoYSxILkouR2EpO24uZ2FkX3NvdXJjZT1ScyhxLnByZWZpeCkuRWd9bD1idG9hKEpTT04uc3RyaW5naWZ5KG4pKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpO2QobCl9ZWxzZSBkKGcpfWVsc2UgZChnKX1hLmlzQWJvcnRlZD0hMH19O3ZhciBZTT1mdW5jdGlvbihhKXtpZihNKDQyNSkmJlEoYSxILkouRmMpKXtmb3IodmFyIGI9WyJfJmFwdmMiLCJ0aWRzIixGLkQuVGEsRi5ELlFpLEYuRC5VYixGLkQuUWUsRi5ELlZjLEYuRC5YY10sYz1tKGV1KGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlPT09Ri5ELnphKXt2YXIgZj1SKGEsZSk7ZiYmKGY9Zi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpKTtVKGEsZSxmKX1lbHNlIGIuaW5jbHVkZXMoZSl8fFUoYSxlKX1WKGEsSC5KLlhnKTtWKGEsSC5KLmhkKX19O2Z1bmN0aW9uIFpNKGEpe2lmKGZuLkspaWYod28uSD0hMCxhLmV2ZW50TmFtZT09PUYuRC53YSl6byhhLk0sYS50YXJnZXQuaWQpO2Vsc2V7UShhLEguSi5QYyl8fCh3by5LW2EudGFyZ2V0LmlkXT0hMCk7dmFyIGI9UShhLEguSi5OYik7WkIoYil9fTt2YXIgJE09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iPT09dm9pZCAwP3t9OmI7Yz1mLlNqPT09dm9pZCAwPyExOmYuU2o7ZD1mLk1qPT09dm9pZCAwPyExOmYuTWo7ZT1mLmtvPT09dm9pZCAwPyExOmYua287ZHx8KGEuTS5pc0d0bUV2ZW50P1EoYSxILkouZGEpIT09WC5WLnhhJiZhLmV2ZW50TmFtZSYmVShhLEYuRC5VYixhLmV2ZW50TmFtZSk6VShhLEYuRC5VYixhLmV2ZW50TmFtZSkpO0diKGEuTS5FYSxmdW5jdGlvbihnLGgpe016W2ddfHxjJiZCb1tnXXx8ZSYmT3pbZ118fFUoYSxnLGgpfSl9O3ZhciBhTj1mdW5jdGlvbihhKXtmb3IodmFyIGI9bShbRi5ELlBhLEYuRC5RYSxGLkQuZWIsRi5ELk5lLEYuRC5HZSxGLkQuVWQsRi5ELkllLEYuRC5UYyxGLkQuTGQsRi5ELmtoLEYuRC5GZixGLkQuRGYsRi5ELkVmLEYuRC5DZixGLkQud2ksRi5ELlNkLEYuRC5RZCxGLkQuUmQsRi5ELnRiXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5jb3B5VG9IaXREYXRhKGMudmFsdWUpfTtmdW5jdGlvbiBiTihhLGIpe3JldHVybiBrcigiZ3NpZF9kYyIse3ZhbHVlOntqb2luSWQ6YSxsYXN0Sm9pbmVkVGltZU1zOmJ9LGV4cGlyZXM6YiszRTV9KT09PTA/ITA6ITF9Owp2YXIgY049ZnVuY3Rpb24oYSl7aWYoWG8oZnApKXt2YXIgYjthOnt2YXIgYz1ucigiZ3NpZF9kYyIpO2lmKGMuZXJyb3I9PT0wJiZjLnZhbHVlJiZ0eXBlb2YgYy52YWx1ZT09PSJvYmplY3QiKXt2YXIgZD1jLnZhbHVlO2lmKGQudmFsdWUmJnR5cGVvZiBkLnZhbHVlPT09Im9iamVjdCIpe3ZhciBlPWQudmFsdWU7aWYoZS5qb2luSWQmJmUubGFzdEpvaW5lZFRpbWVNcyYmdHlwZW9mIGUuam9pbklkPT09InN0cmluZyImJnR5cGVvZiBlLmxhc3RKb2luZWRUaW1lTXM9PT0ibnVtYmVyIil7Yj1lO2JyZWFrIGF9fX1iPXZvaWQgMH12YXIgZj1iLGc9Zj09bnVsbD92b2lkIDA6Zi5qb2luSWQsaD1OYigpO2lmKCFmfHwhZ3x8Zi5sYXN0Sm9pbmVkVGltZU1zPGgtM0U1KXt2YXIgbD1jYygpO2c9bCYmYk4obCxOYigpKT9sOnZvaWQgMDtnJiZWKGEsSC5KLmhkLCEwKX1lbHNlIGcmJmYubGFzdEpvaW5lZFRpbWVNczxoLTZFNCYmYk4oZi5qb2luSWQsaCkmJlYoYSxILkouaGQsITApO2cmJk0oNDc0KSYmClYoYSxILkouWGcsZyl9fTt2YXIgZE49ZnVuY3Rpb24oYSl7VihhLEguSi53ZixPKGEuTSxGLkQudWMpIT09ITEpO1YoYSxILkouR2EsTEsoYSkpO1YoYSxILkouWGUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExKTtWKGEsSC5KLndkLFN0KGEuTSkpfTt2YXIgZU49e3pxOntVdDoiY2QiLGZwOiJjZSIsVnQ6ImNmIixXdDoiY3BmIixYdDoiY3UifX07dmFyIGZOPWZ1bmN0aW9uKGEpe3ZhciBiPWVOLnpxLmZwLGM9TyhhLk0sRi5ELkNiKTtSKGEsRi5ELmVkKXx8VShhLEYuRC5lZCx7fSk7UihhLEYuRC5lZClbYl09Y307ZnVuY3Rpb24gZ04oYSxiKXtiPWI9PT12b2lkIDA/ITA6Yjt2YXIgYz13YihyYi5HVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTHx8W10pO2MmJihVKGEsRi5ELlZmLGMpLGImJnViKCkpfTt2YXIgaE49ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLmdldE1lcmdlZFZhbHVlcyhGLkQuVGEpO2ImJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxiKX07dmFyIGlOPWZ1bmN0aW9uKGEpe3ZhciBiPU9wKCExKTtVKGEsRi5ELk1lLGIpfTt2YXIgak49ZnVuY3Rpb24oYSl7UShhLEguSi53ZCk/VShhLEYuRC5kZSwiMCIpOlUoYSxGLkQuZGUsIjEiKX07dmFyIGtOPWZ1bmN0aW9uKGEsYil7aWYoYj09PXZvaWQgMHx8Yil7dmFyIGM9Vk0oKTtjIT09dm9pZCAwJiZVKGEsRi5ELmtnLGN8fCJlcnJvciIpfXZhciBkPUx0KCk7ZCYmVShhLEYuRC5LZSxkKTt2YXIgZT1LdCgpO2UmJlUoYSxGLkQuT2UsZSl9O3ZhciBsTj1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5raiksYz1FKDUpO2ImJmJbY10mJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSx7cmV0cnk6IjEifSl9O3ZhciBtTj1mdW5jdGlvbihhKXtVcSghMSkuX3VwPT09IjEiJiZVKGEsRi5ELktpLCIxIil9Owp2YXIgbk49ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPT12b2lkIDApcmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZnVuY3Rpb24oKXtyZXR1cm57bW9kZToibSIsbG9jYXRpb246YixzZWxlY3RvcjpjfX0pOnttb2RlOiJtIixsb2NhdGlvbjpiLHNlbGVjdG9yOmN9fSxvTj1mdW5jdGlvbihhLGIsYyxkKXtpZighYylyZXR1cm4hMTtmb3IodmFyIGU9U3RyaW5nKGMudmFsdWUpLGYsZz12b2lkIDAsaD1lLnJlcGxhY2UoL1xbIj8nPy9nLCIuIikucmVwbGFjZSgvIj8nP1xdL2csIiIpLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSYmIVNiKHUsIiMiKSYmIVNiKHUsIi4iKX0pLGw9MDtsPGgubGVuZ3RoO2wrKyl7dmFyIG49aFtsXTtpZihTYihuLCJkYXRhTGF5ZXIuIikpZj11QShuLnN1YnN0cmluZygxMCkpLGc9bk4oZiwiZCIsbik7ZWxzZXt2YXIgcD1uLnNwbGl0KCIuIik7Zj1BW3Auc2hpZnQoKV07CmZvcih2YXIgcT0wO3E8cC5sZW5ndGg7cSsrKWY9ZiYmZltwW3FdXTtnPW5OKGYsImoiLG4pfWlmKGYhPT12b2lkIDApYnJlYWt9aWYoZj09PXZvaWQgMCl0cnl7dmFyIHI9Qi5xdWVyeVNlbGVjdG9yQWxsKGUpO2lmKHImJnIubGVuZ3RoPjApe2Y9W107Zm9yKHZhciB0PTA7dDxyLmxlbmd0aCYmdDwoYj09PSJlbWFpbCJ8fGI9PT0icGhvbmVfbnVtYmVyIj81OjEpO3QrKylmLnB1c2goZmQoclt0XSl8fExiKHJbdF0udmFsdWUpKTtmPWYubGVuZ3RoPT09MT9mWzBdOmY7Zz1uTihmLCJjIixlKX19Y2F0Y2godSl7UCgxNDkpfXJldHVybiBmPyhhW2JdPWYsZCYmZyYmKGRbYl09ZyksITApOiExfTsKdmFyIHBOPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImNjZF9hZGRfMXBfZGF0YSIsITEpJiZYbyhmcCkpe3ZhciBiPWEuTS5pYltGLkQubG1dO2lmKENkKGIpJiZiLmVuYWJsZV9jb2RlKXt2YXIgYz1PKGEuTSxGLkQuQWMpO2lmKGM9PT1udWxsKVYoYSxILkouR24sbnVsbCk7ZWxzZSBpZihiLmVuYWJsZV9jb2RlJiZDZChjKSYmKFp2KGMpLFYoYSxILkouR24sYykpLENkKGIuc2VsZWN0b3JzKSl7dmFyIGQ9SC5KLmlyLGU7dmFyIGY9Yi5zZWxlY3RvcnMsZz1NKDUyMyk7Zz1nPT09dm9pZCAwPyExOmc7aWYoZil7dmFyIGg9e30sbD0hMSxuPXt9O2w9b04oaCwiZW1haWwiLGYuZW1haWwsbil8fGw7bD1vTihoLCJwaG9uZV9udW1iZXIiLGYucGhvbmUsbil8fGw7aC5hZGRyZXNzPVtdO2Zvcih2YXIgcD1mLm5hbWVfYW5kX2FkZHJlc3N8fFtdLHE9MDtxPHAubGVuZ3RoO3ErKyl7dmFyIHI9e30sdD17fTtsPW9OKHIsImZpcnN0X25hbWUiLHBbcV0uZmlyc3RfbmFtZSx0KXx8bDtsPW9OKHIsCiJsYXN0X25hbWUiLHBbcV0ubGFzdF9uYW1lLHQpfHxsO2w9b04ociwic3RyZWV0IixwW3FdLnN0cmVldCx0KXx8bDtsPW9OKHIsImNpdHkiLHBbcV0uY2l0eSx0KXx8bDtsPW9OKHIsInJlZ2lvbiIscFtxXS5yZWdpb24sdCl8fGw7bD1vTihyLCJjb3VudHJ5IixwW3FdLmNvdW50cnksdCl8fGw7bD1vTihyLCJwb3N0YWxfY29kZSIscFtxXS5wb3N0YWxfY29kZSx0KXx8bDtoLmFkZHJlc3MucHVzaChyKTtnJiYoci5fdGFnX21ldGFkYXRhPXQpfWcmJihoLl90YWdfbWV0YWRhdGE9bik7ZT1sP2g6dm9pZCAwfWVsc2UgZT12b2lkIDA7VihhLGQsZSl9fX19O2Z1bmN0aW9uIEZPKGEsYixjLGQpe31GTy5QPSJpbnRlcm5hbC5leGVjdXRlRXZlbnRQcm9jZXNzb3IiO2Z1bmN0aW9uIEdPKGEpe3ZhciBiO3JldHVybiBVZChiLHRoaXMuVCwxKX1HTy5QPSJpbnRlcm5hbC5leGVjdXRlSmF2YXNjcmlwdFN0cmluZyI7ZnVuY3Rpb24gSE8oYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPUE7dHJ5e2I9S2ooYy5lc2NhcGUoYy5hdG9iKGEpKSl9Y2F0Y2goZCl7cmV0dXJufXJldHVybiBifTtmdW5jdGlvbiBJTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1JTy5QPSJpbnRlcm5hbC5nZW5lcmF0ZUNsaWVudElkIjtmdW5jdGlvbiBKTyhhKXt2YXIgYj17fTtyZXR1cm4gVWQoYil9Sk8uUD0iaW50ZXJuYWwuZ2V0QWRzQ29va2llV3JpdGluZ09wdGlvbnMiO2Z1bmN0aW9uIEtPKGEsYil7dmFyIGM9ITE7cmV0dXJuIGN9S08uUD0iaW50ZXJuYWwuZ2V0QWxsb3dBZFBlcnNvbmFsaXphdGlvbiI7ZnVuY3Rpb24gTE8oKXt2YXIgYTtyZXR1cm4gYX1MTy5QPSJpbnRlcm5hbC5nZXRBbmRSZXNldEV2ZW50VXNhZ2UiO2Z1bmN0aW9uIE1PKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM7cmV0dXJuIGN9TU8uUD0iaW50ZXJuYWwuZ2V0QXVpZCI7ZnVuY3Rpb24gTk8oKXt2YXIgYT1bXTtyZXR1cm4gVWQoYSl9Tk8uUD0iaW50ZXJuYWwuZ2V0Q29udGFpbmVySWRzIjtmdW5jdGlvbiBPTygpe3ZhciBhPW5ldyBrYjtMKHRoaXMsInJlYWRfY29udGFpbmVyX2RhdGEiKSxhLnNldCgiY29udGFpbmVySWQiLGlnKSxhLnNldCgidmVyc2lvbiIsa2cpLGEuc2V0KCJlbnZpcm9ubWVudE5hbWUiLGpnKSxhLnNldCgiZGVidWdNb2RlIixsZyksYS5zZXQoInByZXZpZXdNb2RlIixtZy5QbyksYS5zZXQoImVudmlyb25tZW50TW9kZSIsbWcuS3IpLGEuc2V0KCJmaXJzdFBhcnR5U2VydmluZyIsYWsoKSksYS5zZXQoImNvbnRhaW5lclVybCIsS2MpLGEuc2V0KCJpc0dvb2dsZU9ubHlNb2RlIixJZig2MikpLGEuWmEoKTtyZXR1cm4gYX1PTy5wdWJsaWNOYW1lPSJnZXRDb250YWluZXJWZXJzaW9uIjtmdW5jdGlvbiBQTyhhLGIpe2I9Yj09PXZvaWQgMD8hMDpiO3ZhciBjO3JldHVybiBjfVBPLnB1YmxpY05hbWU9ImdldENvb2tpZVZhbHVlcyI7ZnVuY3Rpb24gUU8oKXt2YXIgYT0iIjtyZXR1cm4gYX1RTy5QPSJpbnRlcm5hbC5nZXRDb3JlUGxhdGZvcm1TZXJ2aWNlc1BhcmFtIjtmdW5jdGlvbiBSTygpe3JldHVybiB5bSgpfVJPLlA9ImludGVybmFsLmdldENvdW50cnlDb2RlIjtmdW5jdGlvbiBTTygpe3ZhciBhPVtdO2E9dGsoKTtyZXR1cm4gVWQoYSl9U08uUD0iaW50ZXJuYWwuZ2V0RGVzdGluYXRpb25JZHMiO2Z1bmN0aW9uIFRPKGEpe3ZhciBiPW5ldyBrYjtyZXR1cm4gYn1UTy5QPSJpbnRlcm5hbC5nZXREZXZlbG9wZXJJZHMiO2Z1bmN0aW9uIFVPKGEpe3ZhciBiO3JldHVybiBifVVPLlA9ImludGVybmFsLmdldEVjc2lkQ29va2llVmFsdWUiO2Z1bmN0aW9uIFZPKGEsYil7dmFyIGM9bnVsbDtyZXR1cm4gY31WTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50QXR0cmlidXRlIjtmdW5jdGlvbiBXTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVdPLlA9ImludGVybmFsLmdldEVsZW1lbnRCeUlkIjtmdW5jdGlvbiBYTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1YTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50SW5uZXJUZXh0IjtmdW5jdGlvbiBZTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVlPLlA9ImludGVybmFsLmdldEVsZW1lbnRQYXJlbnQiO2Z1bmN0aW9uIFpPKGEpe3ZhciBiPW51bGw7cmV0dXJuIGJ9Wk8uUD0iaW50ZXJuYWwuZ2V0RWxlbWVudFByZXZpb3VzU2libGluZyI7ZnVuY3Rpb24gJE8oYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjKX0kTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50UHJvcGVydHkiO2Z1bmN0aW9uIGFQKGEpe3ZhciBiO3JldHVybiBifWFQLlA9ImludGVybmFsLmdldEVsZW1lbnRWYWx1ZSI7ZnVuY3Rpb24gYlAoYSl7dmFyIGI9MDtyZXR1cm4gYn1iUC5QPSJpbnRlcm5hbC5nZXRFbGVtZW50VmlzaWJpbGl0eVJhdGlvIjtmdW5jdGlvbiBjUChhKXt2YXIgYj1udWxsO3JldHVybiBifWNQLlA9ImludGVybmFsLmdldEVsZW1lbnRzQnlDc3NTZWxlY3RvciI7CmZ1bmN0aW9uIGRQKGEpe3ZhciBiO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZXZlbnRfZGF0YSIsYSk7dmFyIGM7YTp7dmFyIGQ9YSxlPVhGKHRoaXMpLm9yaWdpbmFsRXZlbnREYXRhO2lmKGUpe2Zvcih2YXIgZj1lLGc9e30saD17fSxsPXt9LG49W10scD1kLnNwbGl0KCJcXFxcIikscT0wO3E8cC5sZW5ndGg7cSsrKXtmb3IodmFyIHI9cFtxXS5zcGxpdCgiXFwuIiksdD0wO3Q8ci5sZW5ndGg7dCsrKXtmb3IodmFyIHU9clt0XS5zcGxpdCgiLiIpLHY9MDt2PHUubGVuZ3RoO3YrKyluLnB1c2godVt2XSksdiE9PXUubGVuZ3RoLTEmJm4ucHVzaChsKTt0IT09ci5sZW5ndGgtMSYmbi5wdXNoKGgpfXEhPT1wLmxlbmd0aC0xJiZuLnB1c2goZyl9Zm9yKHZhciB4PVtdLHk9IiIsej1tKG4pLEM9ei5uZXh0KCk7IUMuZG9uZTtDPQp6Lm5leHQoKSl7dmFyIEQ9Qy52YWx1ZTtEPT09bD8oeC5wdXNoKHkpLHk9IiIpOnk9RD09PWc/eSsiXFwiOkQ9PT1oP3krIi4iOnkrRH15JiZ4LnB1c2goeSk7Zm9yKHZhciBJPW0oeCksRz1JLm5leHQoKTshRy5kb25lO0c9SS5uZXh0KCkpe2lmKGY9PW51bGwpe2M9dm9pZCAwO2JyZWFrIGF9Zj1mW0cudmFsdWVdfWM9Zn1lbHNlIGM9dm9pZCAwfWI9VWQoYyx0aGlzLlQsMSk7cmV0dXJuIGJ9ZFAuUD0iaW50ZXJuYWwuZ2V0RXZlbnREYXRhIjtmdW5jdGlvbiBlUChhKXt2YXIgYj1udWxsO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZG9tX2VsZW1lbnRzIiwiY3NzIixhKTt0cnl7dmFyIGM9Qi5xdWVyeVNlbGVjdG9yKGEpO2MmJihiPW5ldyBQZChjKSl9Y2F0Y2goZCl7cmV0dXJuIG51bGx9cmV0dXJuIGJ9ZVAuUD0iaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciI7ZnVuY3Rpb24gZlAoKXt2YXIgYTtyZXR1cm4gYX1mUC5QPSJpbnRlcm5hbC5nZXRHc2FFeHBlcmltZW50SWQiO2Z1bmN0aW9uIGdQKCl7cmV0dXJuIG5ldyBQZChQayl9Z1AuUD0iaW50ZXJuYWwuZ2V0SHRtbElkIjtmdW5jdGlvbiBoUCgpe3ZhciBhO3JldHVybiBhfWhQLlA9ImludGVybmFsLmdldElmcmFtaW5nU3RhdGUiO2Z1bmN0aW9uIGlQKGEsYil7dmFyIGM9e307cmV0dXJuIFVkKGMpfWlQLlA9ImludGVybmFsLmdldExpbmtlclZhbHVlRnJvbUxvY2F0aW9uIjtmdW5jdGlvbiBqUCgpe3ZhciBhPW5ldyBrYjtyZXR1cm4gYX1qUC5QPSJpbnRlcm5hbC5nZXRQcml2YWN5U3RyaW5ncyI7ZnVuY3Rpb24ga1AoYSxiKXt2YXIgYztpZighbGgoYSl8fCFsaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nIl0sYXJndW1lbnRzKTt2YXIgZD0kSChhKXx8e307Yz1VZChkW2JdLHRoaXMuVCk7cmV0dXJuIGN9a1AuUD0iaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIjtmdW5jdGlvbiBsUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IXBoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJib29sZWFufHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7TCh0aGlzLCJnZXRfdXJsIiwicXVlcnkiLGEpO3ZhciBkPUxqKFJqKEEubG9jYXRpb24uaHJlZiksInF1ZXJ5IiksZT1JaihkLGEsYik7Yz1VZChlLHRoaXMuVCk7cmV0dXJuIGN9bFAucHVibGljTmFtZT0iZ2V0UXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBtUChhLGIpe3ZhciBjO3JldHVybiBjfW1QLnB1YmxpY05hbWU9ImdldFJlZmVycmVyUXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBuUChhKXt2YXIgYj0iIjtyZXR1cm4gYn1uUC5wdWJsaWNOYW1lPSJnZXRSZWZlcnJlclVybCI7ZnVuY3Rpb24gb1AoKXtyZXR1cm4gem0oKX1vUC5QPSJpbnRlcm5hbC5nZXRSZWdpb25Db2RlIjtmdW5jdGlvbiBwUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBkPWVEKGEpO2M9VWQoZFtiXSx0aGlzLlQpO3JldHVybiBjfXBQLlA9ImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gcVAoYSxiKXt2YXIgYz1udWxsOwpyZXR1cm4gY31xUC5QPSJpbnRlcm5hbC5nZXRTY29wZWRFbGVtZW50c0J5Q3NzU2VsZWN0b3IiO2Z1bmN0aW9uIHJQKCl7dmFyIGE9bmV3IGtiO2Euc2V0KCJ3aWR0aCIsMCk7YS5zZXQoImhlaWdodCIsMCk7cmV0dXJuIGF9clAuUD0iaW50ZXJuYWwuZ2V0U2NyZWVuRGltZW5zaW9ucyI7ZnVuY3Rpb24gc1AoKXt2YXIgYT0iIjtyZXR1cm4gYX1zUC5QPSJpbnRlcm5hbC5nZXRUb3BTYW1lRG9tYWluVXJsIjtmdW5jdGlvbiB0UCgpe3ZhciBhPSIiO3JldHVybiBhfXRQLlA9ImludGVybmFsLmdldFRvcFdpbmRvd1VybCI7ZnVuY3Rpb24gdVAoYSl7dmFyIGI9IiI7aWYoIW1oKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmd8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtMKHRoaXMsImdldF91cmwiLGEpO2I9TGooUmooQS5sb2NhdGlvbi5ocmVmKSxhKTtyZXR1cm4gYn11UC5wdWJsaWNOYW1lPSJnZXRVcmwiO2Z1bmN0aW9uIHZQKCl7TCh0aGlzLCJnZXRfdXNlcl9hZ2VudCIpO3JldHVybiBIYy51c2VyQWdlbnR9dlAucHVibGljTmFtZT0iZ2V0VXNlckFnZW50Ijt2UC5QPSJpbnRlcm5hbC5nZXRVc2VyQWdlbnQiO2Z1bmN0aW9uIHdQKCl7dmFyIGE7cmV0dXJuIGE/VWQoRU0oYSkpOmF9d1AuUD0iaW50ZXJuYWwuZ2V0VXNlckFnZW50Q2xpZW50SGludHMiO3ZhciB5UD1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50TmFtZT09PUYuRC5zYyYmRWwoKSYmYmsoWksoYSkpLGM9UShhLEguSi5kbiksZD1RKGEsSC5KLktrKSxlPVEoYSxILkoubWcpLGY9UShhLEguSi5UZSksZz1RKGEsSC5KLkZjKSxoPVEoYSxILkouaGQpLGw9UShhLEguSi5yZyksbj1RKGEsSC5KLk1oKSxwPVEoYSxILkouTmgpLHE9ISFZSyhhKXx8ISFRKGEsSC5KLnBwKTtyZXR1cm4hKCFuZCgpJiYha2QoKXx8ZXx8cXx8Znx8Z3x8aHx8bHx8cHx8bnx8Ynx8Y3x8IWQmJnhQKCkpfSx4UD1mdW5jdGlvbigpe3JldHVybiBhbCg5LGZ1bmN0aW9uKCl7cmV0dXJuITF9KX07ZnVuY3Rpb24gelAoKXt2YXIgYT1BO3JldHVybiBhLmdhR2xvYmFsPWEuZ2FHbG9iYWx8fHt9fWZ1bmN0aW9uIEFQKGEsYil7dmFyIGM9elAoKTtpZihjLnZpZD09PXZvaWQgMHx8YiYmIWMuZnJvbV9jb29raWUpYy52aWQ9YSxjLmZyb21fY29va2llPWJ9O3ZhciBCUD1bIkdBMSJdOwp2YXIgQ1A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVEoYSxILkouUGspO2lmKGQ9PT12b2lkIDB8fGM8PWQpVShhLEYuRC5LYixiKSxWKGEsSC5KLlBrLGMpfSxFUD1mdW5jdGlvbihhLGIpe3ZhciBjPVIoYSxGLkQuS2IpO2lmKE8oYS5NLEYuRC5aYykmJk8oYS5NLEYuRC5ZYyl8fGImJmM9PT1iKXJldHVybiBjO2lmKGMpe2M9IiIrYztpZighRFAoYyxhKSlyZXR1cm4gUCgzMSksYS5pc0Fib3J0ZWQ9ITAsIiI7QVAoYyxYbyhGLkQucmEpKTtyZXR1cm4gY31QKDMyKTthLmlzQWJvcnRlZD0hMDtyZXR1cm4iIn0sRlA9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYz1iLnByZWZpeCsiX2dhIixkPUJ2KGIucHJlZml4KyJfZ2EiLGIuZG9tYWluLGIucGF0aCxCUCxGLkQucmEpO2lmKCFkKXt2YXIgZT1TdHJpbmcoTyhhLk0sRi5ELklkLCIiKSk7ZSYmZSE9PWMmJihkPUJ2KGUsYi5kb21haW4sYi5wYXRoLEJQLEYuRC5yYSkpfXJldHVybiBkfSxEUD1mdW5jdGlvbihhLGIpe3ZhciBjOwp2YXIgZD1RKGIsSC5KLkdhKSxlPWQucHJlZml4KyJfZ2EiLGY9dXEoZCx2b2lkIDAsdm9pZCAwLEYuRC5yYSk7aWYoTyhiLk0sRi5ELkpkKT09PSExJiZGUChiKT09PWEpYz0hMDtlbHNle3ZhciBnO2c9W0JQWzBdLHRxKGQuZG9tYWluLGQucGF0aCksYV0uam9pbigiLiIpO2M9b3EoZSxnLGYpIT09MX1yZXR1cm4gY307CnZhciBHUD1mdW5jdGlvbihhKXt2YXIgYj0wLGM9MDtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtiPU5iKCl9LHN0b3A6ZnVuY3Rpb24oKXtjPXRoaXMuZ2V0KCl9LGdldDpmdW5jdGlvbigpe3ZhciBkPTA7YS5WaigpJiYoZD1OYigpLWIpO3JldHVybiBkK2N9fX0sSFA9ZnVuY3Rpb24oKXt0aGlzLkg9dm9pZCAwO3RoaXMuSz0wO3RoaXMuaXNBY3RpdmU9dGhpcy5pc1Zpc2libGU9dGhpcy5OPSExO3RoaXMuWj10aGlzLlI9dm9pZCAwfTtrPUhQLnByb3RvdHlwZTtrLktxPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYoIXRoaXMuSCl7dGhpcy5OPUIuaGFzRm9jdXMoKTt0aGlzLmlzVmlzaWJsZT0hQi5oaWRkZW47dGhpcy5pc0FjdGl2ZT0hMDt2YXIgYz1mdW5jdGlvbihlLGYsZyl7JGMoZSxmLGZ1bmN0aW9uKGgpe2IuSC5zdG9wKCk7ZyhoKTtiLlZqKCkmJmIuSC5zdGFydCgpfSl9LGQ9QTtjKGQsImZvY3VzIixmdW5jdGlvbigpe2IuTj0hMH0pO2MoZCwiYmx1ciIsZnVuY3Rpb24oKXtiLk49CiExfSk7YyhkLCJwYWdlc2hvdyIsZnVuY3Rpb24oZSl7Yi5pc0FjdGl2ZT0hMDtlLnBlcnNpc3RlZCYmUCg1Nik7Yi5aJiZiLlooKX0pO2MoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7Yi5pc0FjdGl2ZT0hMTtiLlImJmIuUigpfSk7YyhCLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2IuaXNWaXNpYmxlPSFCLmhpZGRlbn0pO2JrKFpLKGEpKSYmIU9jKCkmJmMoZCwiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe1prKDksITApfSk7dGhpcy5xayghMCk7dGhpcy5LPTB9fTtrLnFrPWZ1bmN0aW9uKGEpe2lmKChhPT09dm9pZCAwPzA6YSl8fHRoaXMuSCl0aGlzLksrPXRoaXMuWWgoKSx0aGlzLkg9R1AodGhpcyksdGhpcy5WaigpJiZ0aGlzLkguc3RhcnQoKX07ay5LdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLlloKCk7Yj4wJiZVKGEsRi5ELm5oLGIpfTtrLmxzPWZ1bmN0aW9uKGEpe1UoYSxGLkQubmgpO3RoaXMucWsoKTt0aGlzLks9MH07ay5Waj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4mJgp0aGlzLmlzVmlzaWJsZSYmdGhpcy5pc0FjdGl2ZX07ay5Ycj1mdW5jdGlvbigpe3JldHVybiB0aGlzLksrdGhpcy5ZaCgpfTtrLlloPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCYmdGhpcy5ILmdldCgpfHwwfTtrLmh0PWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLkNvPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfTt2YXIgSVA9ZnVuY3Rpb24oYSl7c2IoIkdBNF9FVkVOVCIsYSl9O3ZhciBKUD1mdW5jdGlvbihhKXt2YXIgYixjPVEoYSxILkoud20pO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspSVAoY1tkXSk7KGI9d2IocmIuR0E0X0VWRU5UfHxbXSkpJiZVKGEsIl9ldSIsYil9Owp2YXIgTVA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFJlZ0V4cCgiXiIrKCgoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpfHwiIikrIl9nYV9cXHcrJCIpKSxjPXlxKGZ1bmN0aW9uKHApe3JldHVybiBiLnRlc3QocCl9KSxkPXt9LGU7Zm9yKGUgaW4gYylpZihjLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1LUChjW2VdKTtpZihmKXt2YXIgZz1icShmLDIpO2lmKGcpe3ZhciBoPUxQKGcpO2lmKGgpe3ZhciBsPXZvaWQgMCxuPSgoKGw9YSk9PW51bGw/dm9pZCAwOmwucHJlZml4KXx8IiIpLmxlbmd0aCs0O2RbIkctIitlLnN1YnN0cmluZyhuKV09aH19fX1yZXR1cm4gZH0sTlA9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7YTp7dmFyIGM9KFNiKGEsInMiKSYmYS5pbmRleE9mKCIuIik9PT0tMT8iR1MyIjoiR1MxIikrIi4xLiIrYTt0cnl7Yj0kcChjLDIpO2JyZWFrIGF9Y2F0Y2goZCl7fWI9dm9pZCAwfXJldHVybiBifX0sS1A9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGghPT0wKXtmb3IodmFyIGIsCmM9LUluZmluaXR5LGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtpZihmLnQhPT12b2lkIDApe3ZhciBnPU51bWJlcihmLnQpOyFpc05hTihnKSYmZz5jJiYoYz1nLGI9Zil9fXJldHVybiBifX0senE9ZnVuY3Rpb24oYSl7YSYmKGE9PT0iR1MxIj9JUChKLlUuS20pOmE9PT0iR1MyIiYmSVAoSi5VLkxtKSl9LExQPWZ1bmN0aW9uKGEpe3ZhciBiPU5QKGEpO2lmKGIpe3ZhciBjPU51bWJlcihiLm8pLGQ9TnVtYmVyKGIudCksZT1OdW1iZXIoYi5qfHwwKTtjfHxJUChKLlUuVW0pO2R8fElQKEouVS5UbSk7aXNOYU4oZSkmJklQKEouVS5TbSk7aWYoYyYmZCYmIWlzTmFOKGUpKXt2YXIgZj1iLmgsZz1mJiZmIT09IjAiP1N0cmluZyhmKTp2b2lkIDAsaD1iLmQ/U3RyaW5nKGIuZCk6dm9pZCAwLGw9e307cmV0dXJuIGwucz1TdHJpbmcoYi5zKSxsLm89YyxsLmc9ISFOdW1iZXIoYi5nKSxsLnQ9ZCxsLmQ9aCxsLmo9ZSxsLmw9Yi5sPT09IjEiLApsLmg9ZyxsfX19Owp2YXIgUFA9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiBhO2lmKCFhKXJldHVybiBiO3ZhciBkPUxQKGEpO2lmKCFkKXJldHVybiBiO3ZhciBlLGY9SWIoKGU9TyhjLk0sRi5ELnloKSkhPW51bGw/ZTozMCksZz1RKGMsSC5KLkViKTtpZighKE1hdGguZmxvb3IoZy8xRTMpPmQudCtmKjYwKSlyZXR1cm4gYTt2YXIgaD1MUChiKTtpZighaClyZXR1cm4gYTtoLm89ZC5vKzE7dmFyIGw7cmV0dXJuKGw9T1AoaCkpIT1udWxsP2w6Yn0sUlA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1RKGIsSC5KLkdhKSxkPVFQKGIsYyksZT1OUChhKTtpZighZSlyZXR1cm4hMTt2YXIgZj11cShjfHx7fSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSk7b3EoZCx2b2lkIDAsZik7cmV0dXJuIEFxKGQsZSwyLGMpIT09MX0sU1A9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYzt2YXIgZD1RUChhLGIpLGU7Yjp7dmFyIGY9enEsZz1acFsyXTtpZihnKXt2YXIgaCxsPXJxKGIuZG9tYWluKSxuPXNxKGIucGF0aCksCnA9T2JqZWN0LmtleXMoZy5qaSkscT12cS5nZXQoMikscjtpZihoPShyPWdxKGQsbCxuLHAscSkpPT1udWxsP3ZvaWQgMDpyLkJyKXt2YXIgdD0kcChoLDIsZik7ZT10P3hxKHQpOnZvaWQgMDticmVhayBifX1lPXZvaWQgMH1pZihlKXt2YXIgdT13cShkLDIsenEpO2lmKHUmJnUubGVuZ3RoPjEpe0lQKEouVS5KbSk7dmFyIHY9S1AodSk7diYmdi50IT09ZS50JiYoSVAoSi5VLk1tKSxlPXYpfWM9YnEoZSwyKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfSxUUD1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLkViKSxjPXt9O2Mucz1SKGEsRi5ELnhjKTtjLm89UihhLEYuRC5BaCk7dmFyIGQ7ZD1SKGEsRi5ELnpoKTt2YXIgZT0oYy5nPWQsYy50PU1hdGguZmxvb3IoYi8xRTMpLGMuZD1RKGEsSC5KLm9nKSxjLmo9UShhLEguSi5wZyl8fDAsYy5sPSEhUShhLEguSi5ybSksYy5oPVIoYSxGLkQub2gpLGMpO3JldHVybiBPUChlKX0sT1A9ZnVuY3Rpb24oYSl7aWYoYS5zJiZhLm8pe3ZhciBiPQp7fSxjPShiLnM9YS5zLGIubz1TdHJpbmcoYS5vKSxiLmc9SWIoYS5nKT8iMSI6IjAiLGIudD1TdHJpbmcoYS50KSxiLmo9U3RyaW5nKGEuaiksYi5sPWEubD8iMSI6IjAiLGIuaD1hLmh8fCIwIixiLmQ9YS5kLGIpO3JldHVybiBicShjLDIpfX0sUVA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5wcmVmaXgrIl9nYV8iK2EudGFyZ2V0Lmlkc1tkQ1s2XV19Owp2YXIgVVA9ZnVuY3Rpb24oKXtyZXR1cm4gYWwoMixmdW5jdGlvbigpe3JldHVybiExfSl9LFZQPWZ1bmN0aW9uKGEpe3ZhciBiPU8oYS5NLEYuRC5EYiksYz1hLk0uaWJbRi5ELkRiXTtpZihjPT09YilyZXR1cm4gYzt2YXIgZD1FZChiLG51bGwpO2MmJmNbRi5ELkFhXSYmKGRbRi5ELkFhXT0oZFtGLkQuQWFdfHxbXSkuY29uY2F0KGNbRi5ELkFhXSkpO3JldHVybiBkfSxXUD1mdW5jdGlvbihhLGIpe3ZhciBjPVVxKCEwKTtyZXR1cm4gYy5fdXAhPT0iMSI/e306e2NsaWVudElkOmNbYV0semI6Y1tiXX19LFhQPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1VcSghMCksZT1kW2JdO2UmJihDUChhLGUsMiksRFAoZSxhKSk7dmFyIGY9ZFtjXTtmJiZSUChmLGEpO3JldHVybntjbGllbnRJZDplLHpiOmZ9fSxZUD1mdW5jdGlvbigpe3ZhciBhPU5qKEEubG9jYXRpb24sImhvc3QiKSxiPU5qKFJqKEIucmVmZXJyZXIpLCJob3N0Iik7cmV0dXJuIGEmJmI/YT09PWJ8fGEuaW5kZXhPZigiLiIrYik+PQowfHxiLmluZGV4T2YoIi4iK2EpPj0wPyEwOiExOiExfSxaUD1mdW5jdGlvbihhKXtpZighTyhhLk0sRi5ELnpjKSlyZXR1cm57fTt2YXIgYj1RKGEsSC5KLkdhKSxjPWIucHJlZml4KyJfZ2EiLGQ9UVAoYSxiKTticihmdW5jdGlvbigpe3ZhciBlO2lmKFhvKCJhbmFseXRpY3Nfc3RvcmFnZSIpKWU9e307ZWxzZXt2YXIgZj17X3VwOiIxIn0sZztnPVIoYSxGLkQuS2IpO2U9KGZbY109ZyxmW2RdPVRQKGEpLGYpfXJldHVybiBlfSwxKTtyZXR1cm4hWG8oImFuYWx5dGljc19zdG9yYWdlIikmJllQKCk/V1AoYyxkKTp7fX0sJFA9ZnVuY3Rpb24oYSl7dmFyIGI9VlAoYSl8fHt9LGM9UShhLEguSi5HYSksZD1jLnByZWZpeCsiX2dhIixlPVFQKGEsYyksZj17fTtkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pJiYoZj1YUChhLGQsZSksZi5jbGllbnRJZCYmZi56YiYmWmsoMiwhMCkpO2JbRi5ELkFhXSYmYXIoZnVuY3Rpb24oKXt2YXIgZz17fSxoPUZQKGEpO2gmJihnW2RdPWgpO3ZhciBsPVNQKGEpOwpsJiYoZ1tlXT1sKTt2YXIgbj1jcSgiRlBMQyIsdm9pZCAwLHZvaWQgMCxGLkQucmEpO24ubGVuZ3RoJiYoZy5fZnBsYz1uWzBdKTtyZXR1cm4gZ30sYltGLkQuQWFdLGJbRi5ELmFkXSwhIWJbRi5ELndjXSk7cmV0dXJuIGZ9O3ZhciBhUT1mdW5jdGlvbihhKXtpZighUShhLEguSi5iZSkmJmVrKGEuTSkpe3ZhciBiPVZQKGEpfHx7fSxjPShkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pP1VxKCEwKS5fZnBsYzp2b2lkIDApfHwoY3EoIkZQTEMiLHZvaWQgMCx2b2lkIDAsRi5ELnJhKS5sZW5ndGg+MD92b2lkIDA6IjAiKTtVKGEsIl9mcGxjIixjKX19O2Z1bmN0aW9uIGJRKGEpeyhiayhaSyhhKSl8fFdqKCkpJiZVKGEsRi5ELm9tLHptKCl8fHltKCkpOyFiayhaSyhhKSkmJldqKCkmJlUoYSxGLkQuWWksIjo6Iil9ZnVuY3Rpb24gY1EoYSl7V2ooKSYmKGJrKFpLKGEpKXx8RG0oKXx8VShhLEYuRC5TbCwhMCkpfTt2YXIgZVE9ZnVuY3Rpb24oYSxiKXtraigiZ3JsIixmdW5jdGlvbigpe3JldHVybiBkUSgpfSkoYil8fChQKDM1KSxhLmlzQWJvcnRlZD0hMCl9LGRRPWZ1bmN0aW9uKCl7dmFyIGE9TmIoKSxiPWErODY0RTUsYz0yMCxkPTVFMztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9TmIoKTtmPj1iJiYoYj1mKzg2NEU1LGQ9NUUzKTtjPU1hdGgubWluKGMrKGYtYSkvMUUzKjUsMjApO2E9Zjt2YXIgZz0hMTtkPDF8fGM8MXx8KGc9ITAsZC0tLGMtLSk7ZSYmKGUuSHI9ZCxlLnVyPWMpO3JldHVybiBnfX07CnZhciBmUT1mdW5jdGlvbihhKXt2YXIgYj1SKGEsRi5ELlVhKTtyZXR1cm4gTGooUmooYiksImhvc3QiLCEwKX0sZ1E9ZnVuY3Rpb24oYSl7aWYoTyhhLk0sRi5ELldmKSE9PXZvaWQgMClhLmNvcHlUb0hpdERhdGEoRi5ELldmKTtlbHNle3ZhciBiPU8oYS5NLEYuRC5hbSksYyxkO2E6e2lmKFVQKCkpe3ZhciBlPVZQKGEpfHx7fTtpZihlJiZlW0YuRC5BYV0pZm9yKHZhciBmPWZRKGEpLGc9ZVtGLkQuQWFdLGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdaW5zdGFuY2VvZiBSZWdFeHApe2lmKGdbaF0udGVzdChmKSl7ZD0hMDticmVhayBhfX1lbHNlIGlmKGYuaW5kZXhPZihnW2hdKT49MCl7ZD0hMDticmVhayBhfX1kPSExfWlmKCEoYz1kKSl7dmFyIGw7aWYobD1iKWE6e2Zvcih2YXIgbj1iLmluY2x1ZGVfY29uZGl0aW9uc3x8W10scD1mUShhKSxxPTA7cTxuLmxlbmd0aDtxKyspaWYobltxXS50ZXN0KHApKXtsPSEwO2JyZWFrIGF9bD0hMX1jPWx9YyYmKFUoYSxGLkQuV2YsIjEiKSwKSVAoSi5VLm5uKSl9fTtmdW5jdGlvbiBoUShhLGIsYyxkKXt2YXIgZTtpZigobmQoKXx8a2QoKSkmJlhqKCkmJlhqKCkhPT0iLyIpe3ZhciBmPVJqKGEpO2U9SWYoNTApJiZkJiZUYihmLnBhdGhuYW1lLCIvZy9jb2xsZWN0Iik/MjooZHx8IVdqKCl8fERtKCk/MDpUYihmLnBhdGhuYW1lLCIvZ2EvZy9jIil8fFRiKGYucGF0aG5hbWUsIi9hZy9nL2MiKSk/MTowfWVsc2UgZT0wO3N3aXRjaChlKXtjYXNlIDI6dmFyIGc7aWYoTSg1NDYpKXt2YXIgaD1UYihhLCIvZy9jb2xsZWN0Iik/YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xMCk6YSxsPWlRKCksbj1oK2wscD1qUSgiL2cvY29sbGVjdCIsYixjKTtnPXtJYzpuLGtmOiIiLGJvZHk6cH19ZWxzZSBnPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gZztjYXNlIDE6dmFyIHE7aWYoTSg1NDcpKXt2YXIgcj1pUSgpLHQ9YS5pbmRleE9mKHIpLHU9YS5zdWJzdHJpbmcoMCx0KStyLHY9alEoYS5zdWJzdHJpbmcodCtyLmxlbmd0aC0xKSxiLGMpO3E9e0ljOnUsa2Y6IiIsCmJvZHk6dn19ZWxzZSBxPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gcTtkZWZhdWx0OnJldHVybntJYzphLGtmOmIsYm9keTpjfX19ZnVuY3Rpb24gaVEoKXt2YXIgYT1YaigpO2lmKCFhKXJldHVybiIiO1NiKGEsIi8iKXx8KGE9Ii8iK2EpO1RiKGEsIi8iKXx8KGErPSIvIik7cmV0dXJuIGF9ZnVuY3Rpb24galEoYSxiLGMpe3ZhciBkPVthXTtiJiZkLnB1c2goIj8iLGIpO2MmJmQucHVzaCgiXHJcbiIsYyk7cmV0dXJuIGQuam9pbigiIil9Owp2YXIga1E9ZnVuY3Rpb24oYSxiKXtUdCgpJiYoYS5nY3M9VXQoKSxRKGIsSC5KLkdoKSYmKGEuZ2N1PSIxIikpO2EuZ2NkPVl0KGIuTSk7YS5ucGE9UShiLEguSi53ZCk/IjAiOiIxIjt6bSgpPT09IlVTLUNPIiYmKGEuX25nPSIxIil9LGxRPWZ1bmN0aW9uKGEpe2lmKFEoYSxILkouYmUpKXJldHVybnt1cmw6ZmsoImh0dHBzOi8vd3d3Lm1lcmNoYW50LWNlbnRlci1hbmFseXRpY3MuZ29vZyIsdm9pZCAwLCIiKSsiL21jL2NvbGxlY3QiLGVuZHBvaW50OjIwfTt2YXIgYj1ZaihlayhhLk0pLCIvZy9jb2xsZWN0Iik7aWYoYilyZXR1cm57dXJsOmIsZW5kcG9pbnQ6MTZ9O3ZhciBjO2M9UShhLEguSi5ybikmJiFRKGEsSC5KLkZjKT8xNzoxNjtyZXR1cm57dXJsOk1tW2NdKHZvaWQgMCksZW5kcG9pbnQ6Y319LG1RPXt9O21RW0YuRC5LYl09ImNpZCI7bVFbRi5ELnhpXT0iZ2N1dCI7bVFbRi5ELkZlXT0iYXJlIjttUVtGLkQuamhdPSJwc2NkbCI7bVFbRi5ELk5kXT0iZXhjaWQiO21RW0YuRC5HaV09CiJfZmlkIjttUVtGLkQuT2xdPSJfZ2VvIjttUVtGLkQuWGNdPSJnZGlkIjttUVtGLkQuTGVdPSJfbmciO21RW0YuRC5NZV09ImZybSI7bVFbRi5ELldmXT0iaXIiO21RW0YuRC5TbF09ImZwIjttUVtGLkQudGJdPSJ1bCI7bVFbRi5ELk1pXT0ibmkiO21RW0YuRC5tcV09InBhZSI7bVFbRi5ELnhoXT0iX3JkaSI7bVFbRi5ELmJkXT0ic3IiO21RW0YuRC5RaV09InRlc3Rvbmx5IjttUVtGLkQuUWVdPSJ0aWQiO21RW0YuRC5SaV09InR0IjttUVtGLkQuQmNdPSJlY19tb2RlIjttUVtGLkQuWm1dPSJndG1fdXAiO21RW0YuRC5jZ109InVhYSI7bVFbRi5ELmRnXT0idWFiIjttUVtGLkQuZWddPSJ1YWZ2bCI7bVFbRi5ELmZnXT0idWFtYiI7bVFbRi5ELmdnXT0idWFtIjsKbVFbRi5ELmhnXT0idWFwIjttUVtGLkQuaWddPSJ1YXB2IjttUVtGLkQuamddPSJ1YXciO21RW0YuRC5vbV09InVyIjttUVtGLkQuWWldPSJfdWlwIjttUVtGLkQubHFdPSJfcHJzIjttUVtGLkQuUGRdPSJscHMiO21RW0YuRC5CZV09ImdjbGdzIjttUVtGLkQuRGVdPSJnY2xzdCI7bVFbRi5ELkNlXT0iZ2NsbHAiO3ZhciBuUT17fTtuUVtGLkQuR2ZdPSJjYyI7blFbRi5ELkhmXT0iY2kiO25RW0YuRC5JZl09ImNtIjtuUVtGLkQuSmZdPSJjbiI7blFbRi5ELkxmXT0iY3MiO25RW0YuRC5NZl09ImNrIjtuUVtGLkQuZWJdPSJjdSI7blFbRi5ELlZmXT0iX3R1IjtuUVtGLkQuemFdPSJkbCI7blFbRi5ELllmXT0iZHAiO25RW0YuRC5VYV09ImRyIjtuUVtGLkQuTWJdPSJkdCI7blFbRi5ELnpoXT0ic2VnIjtuUVtGLkQueGNdPQoic2lkIjtuUVtGLkQuQWhdPSJzY3QiO25RW0YuRC5mYl09InVpZCI7dmFyIG9RPXt9O29RW0YuRC5uaF09Il9ldCI7b1FbRi5ELlZjXT0iZWRpZCI7b1FbRi5ELk1kXT0iZXZuaWQiO00oOTQpJiYob1EuX2V1PSJfZXUiKTt2YXIgcFE9e307cFFbRi5ELkdmXT0iY2MiO3BRW0YuRC5IZl09ImNpIjtwUVtGLkQuSWZdPSJjbSI7cFFbRi5ELkpmXT0iY24iO3BRW0YuRC5MZl09ImNzIjtwUVtGLkQuTWZdPSJjayI7dmFyIHFRPXt9LHJRPShxUVtGLkQuQWNdPTEscVEpLHNRPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGRhLG1hKXtpZihtYSE9PXZvaWQgMCYmIUJvLmhhc093blByb3BlcnR5KGRhKSl7bWE9PT1udWxsJiYobWE9IiIpO3ZhciBQYTt2YXIgRmE9bWE7ZGEhPT1GLkQub2g/UGE9ITE6UShhLEguSi5sZyl8fGJrKFpLKGEpKT8oZS5lY2lkPUZhLFBhPSEwKTpQYT12b2lkIDA7aWYoIVBhKXt2YXIgcWE9bWE7bWE9PT0hMCYmKHFhPSIxIik7bWE9PT0hMSYmKHFhPSIwIik7cWE9ClN0cmluZyhxYSk7dmFyIGliO2lmKGRhIT09Ri5ELk5kJiZkYSE9PUYuRC5NZHx8TSg1MDQpKWlmKG1RW2RhXSlpYj1tUVtkYV0sdltpYl09cWE7ZWxzZSBpZihuUVtkYV0paWI9blFbZGFdLGdbaWJdPXFhO2Vsc2UgaWYob1FbZGFdKWliPW9RW2RhXSxmW2liXT1xYTtlbHNlIGlmKFNiKGRhLCJfJiIpKWliPWRhLnN1YnN0cmluZygyKSx2W2liXT1xYTtlbHNlIGlmKGRhLmNoYXJBdCgwKT09PSJfIil2W2RhXT1xYTtlbHNle3ZhciBYYjtwUVtkYV0/WGI9ITA6ZGEhPT1GLkQuS2Y/WGI9ITE6KHR5cGVvZiBtYSE9PSJvYmplY3QiJiZ1KGRhLG1hKSxYYj0hMCk7WGJ8fHUoZGEsbWEpfWVsc2UgdShkYSxtYSl9fX12YXIgZT17fSxmPXt9LGc9e307ZS52PSIyIjtlLnRpZD1hLnRhcmdldC5kZXN0aW5hdGlvbklkO2UuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxlZjpRKGEsSC5KLkNjKX0pO2UuX3A9JGsoMjUpO2MmJihjLmhhc1VwZHx8Yy5oYWRFcnJvcikmJihlLmVtPWMucGFyYW0pO1EoYSwKSC5KLnJnKSYmKGUuX2dhej0xKTtrUShlLGEpO2F1KCkmJihlLmRtYV9jcHM9WnQoKSk7ZS5kbWE9JHQoKTt2dChFdCgpKSYmKGUudGNmZD1idSgpKTt2YXIgaD1DcChhKTtoJiYoZy50YWdfZXhwPWgpO3ZhciBsPVIoYSxGLkQuWGMpO2wmJihlLmdkaWQ9bCk7Zi5lbj1TdHJpbmcoYS5ldmVudE5hbWUpO2lmKFEoYSxILkoubmcpKXt2YXIgbj1RKGEsSC5KLlltKTtmLl9mdj1uPzI6MX1RKGEsSC5KLkhoKSYmKGYuX25zaT0xKTtpZihRKGEsSC5KLlRlKSl7dmFyIHA9UShhLEguSi5ibik7Zi5fc3M9cD8yOjF9UShhLEguSi5tZykmJihmLl9jPTEpO1EoYSxILkouYWUpJiYoZi5fZWU9MSk7aWYoUShhLEguSi5XbSkpe3ZhciBxPVIoYSxGLkQuSGEpfHxPKGEuTSxGLkQuSGEpO2lmKEFycmF5LmlzQXJyYXkocSkpZm9yKHZhciByPTA7cjxxLmxlbmd0aCYmcjwyMDA7cisrKWZbInByIisocisxKV09dGcocVtyXSl9dmFyIHQ9UihhLEYuRC5WYyk7dCYmKGYuZWRpZD10KTtodChhLGYpO2Zvcih2YXIgdT0KZnVuY3Rpb24oZGEsbWEpe2lmKHR5cGVvZiBtYSE9PSJvYmplY3QifHwhclFbZGFdKXt2YXIgUGE9ImVwLiIrZGEsRmE9ImVwbi4iK2RhO2RhPUFiKG1hKT9GYTpQYTt2YXIgcWE9QWIobWEpP1BhOkZhO2YuaGFzT3duUHJvcGVydHkocWEpJiZkZWxldGUgZltxYV07ZltkYV09U3RyaW5nKG1hKX19LHY9e30seD1tKGV1KGEpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT14Lm5leHQoKSl7dmFyIHo9eS52YWx1ZTtkKHosUihhLHopKX1mb3IodmFyIEM9bShPYmplY3Qua2V5cyh2KS5zb3J0KCkpLEQ9Qy5uZXh0KCk7IUQuZG9uZTtEPUMubmV4dCgpKXt2YXIgST1ELnZhbHVlO2VbSV09dltJXX0oZnVuY3Rpb24oZGEpe2JrKFpLKGEpKSYmdHlwZW9mIGRhPT09Im9iamVjdCImJkdiKGRhfHx7fSxmdW5jdGlvbihtYSxQYSl7dHlwZW9mIFBhIT09Im9iamVjdCImJihlWyJzc3QuIittYV09U3RyaW5nKFBhKSl9KX0pKFIoYSxGLkQub2opKTtidihlLFIoYSxGLkQuZWQpKTt2YXIgRz1SKGEsRi5ELldkKXx8Cnt9O0diKEcsZnVuY3Rpb24oZGEsbWEpe21hIT09dm9pZCAwJiYoKG1hPT09bnVsbCYmKG1hPSIiKSxkYSE9PUYuRC5mYnx8Zy51aWQpP2JbZGFdIT09bWEmJihmWyhBYihtYSk/InVwbi4iOiJ1cC4iKStTdHJpbmcoZGEpXT1TdHJpbmcobWEpLGJbZGFdPW1hKTpnLnVpZD1TdHJpbmcobWEpKX0pO2lmKFdqKCkmJiFEbSgpJiYhYmsoWksoYSkpKXt2YXIgTj1RKGEsSC5KLm9nKTtOP2UuX2dzaWQ9TjplLm5qaWQ9IjEifXZhciBTPVEoYSxILkouVmkpOyhTPT1udWxsP3ZvaWQgMDpTLnZhbHVlKT4wJiYoZS5nYWY9Uy5nZXQoKSk7dmFyIFc9UihhLEYuRC5XYyk7aWYoVylmb3IodmFyIGVhPW0oT2JqZWN0LmtleXMoVykpLGphPWVhLm5leHQoKTshamEuZG9uZTtqYT1lYS5uZXh0KCkpe3ZhciBmYT1qYS52YWx1ZTtmWyJleHQuIitmYV09V1tmYV18fCIifXZhciBzYT1sUShhKTt2Zy5jYWxsKHRoaXMse0JhOmUsdmU6ZyxMajpmfSxzYS51cmwsc2EuZW5kcG9pbnQsWksoYSksdm9pZCAwLAphLnRhcmdldC5kZXN0aW5hdGlvbklkLGEuTS5ldmVudElkLGEuTS5wcmlvcml0eUlkKX07d2Eoc1EsdmcpOwp2YXIgdFE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBsYWNlKC9cJFx7KFteXH1dKylcfS9nLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGJbZF18fGN9KX0sdVE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz0iIixkPWEucGF0aG5hbWUuaW5kZXhPZigiL2cvY29sbGVjdCIpO2Q+PTAmJihjPWEucGF0aG5hbWUuc3Vic3RyaW5nKDAsZCkpO2IudHJhbnNwb3J0X3VybD1hLnByb3RvY29sKyIvLyIrYS5ob3N0bmFtZStjO3ZhciBlO3RyeXtlPWVuY29kZVVSSUNvbXBvbmVudChjfHwiLyIpfWNhdGNoKGYpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KCIvIil9Yi5lbmNvZGVkX3BhdGg9ZTtyZXR1cm4gYn0sdlE9ZnVuY3Rpb24oYSxiKXtpZighTSg1NDYpKXJldHVybnt1cmw6YSxib2R5OmJ9O3ZhciBjPW0oYS5zcGxpdCgiPyIpKSxkPWMubmV4dCgpLnZhbHVlLGU9Yy5uZXh0KCkudmFsdWUsZj1oUShkLGV8fCIiLGJ8fCIiLCEwKSxnPWYuSWMsaD1mLmtmO2E9aCE9PSIiP2crIj8iK2g6ZztiPWYuYm9keTsKcmV0dXJue3VybDphLGJvZHk6Yn19LHhRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1SaihiKSxlPXVRKGQpLGY9dlEoWGcoZCksYyksZz1mdW5jdGlvbihoKXtxeChmLnVybCxmLmJvZHksbmV3IHdRKGUsaCkpJiZhJiZrbi5yZWdpc3RlcihhLDEsZi51cmwpfTshTSgxMzIpfHxOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpP2coKTptTChmLnVybCxmLmJvZHksZSxnKX0sd1E9ZnVuY3Rpb24oYSxiKXtDeC5jYWxsKHRoaXMpO3RoaXMudGVtcGxhdGVzPWE7dGhpcy5OPWJ9O3dhKHdRLEN4KTt3US5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXt2YXIgYj10UShhLHRoaXMudGVtcGxhdGVzKTtyZXR1cm4gdGhpcy5OP2IucmVwbGFjZSgiX2lzX3N3PTAiLHRoaXMuTik6Yn07d1EucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLlooYSk7Q3gucHJvdG90eXBlLksuY2FsbCh0aGlzLGMsYil9O3dRLnByb3RvdHlwZS5IPWZ1bmN0aW9uKGEsYil7dmFyIGM9CnRoaXMuWihhKTtDeC5wcm90b3R5cGUuSC5jYWxsKHRoaXMsYyxiKX07CnZhciB5UT1mdW5jdGlvbihhKXtyZXR1cm4hU2IoYSxGbSgpKSYmIVNiKGEsR20oKSl9LEFRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighbmQoKSlyZXR1cm4gelEoYSxiLGMsZCksITA7WW4oYyxiIT09IiI/YSsiPyIrYjphLGQsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxlfHx7fSx7UWc6ITB9KSx2b2lkIDAsZil8fHpRKGEsYixjLGQpO3JldHVybiEwfSx6UT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iIT09IiI/YSsiPyIrYjphO2Q/V24oYyxlLGQpOlZuKGMsZSl9LENRPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YixnPXBkKCk7ZyE9PXZvaWQgMCYmKGYrPSImdGZkPSIrTWF0aC5yb3VuZChnKSk7Yj1mO3ZhciBoPWErIj8iK2I7aWYoIWJrKGQpfHxjayhkKXx8eFAoKSl7dmFyIGw9aFEoYSxiLGMsYmsoZCkpO2E9bC5JYztiPWwua2Y7Yz1sLmJvZHk7QVEoYSxiLGUsYyx2b2lkIDAsQlEoYSxiLGUsYykpfHx6UShhLGIsZSxjKX1lbHNlIHhRKGUsaCxjKTsKYmsoZCkmJk0oNTY0KSYmbmQoKSYmVGIoYSwiL2cvY29sbGVjdCIpJiZBLmZldGNoKGEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMTApLHttZXRob2Q6IlBPU1QiLGJvZHk6IkNqQU9BVHdjQ0JnTyIsY3JlZGVudGlhbHM6Im9taXQifSl9LEJRPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCF5UShhKSl7dmFyIGU9TW1bNjddKHZvaWQgMCk7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZjt2YXIgZz1iLnJlcGxhY2UoL15cPy8sIiIpLGg9TnVtYmVyKElqKGcsImdhZiIsITEpKSxsPTA7TnVtYmVyLmlzSW50ZWdlcihoKSYmKGw9aCk7dmFyIG49bmV3IGVyKGwpO2ZyKG4sMSk7aWYobi52YWx1ZSE9PTApe3ZhciBwLHE9bi5nZXQoKSxyPVJlZ0V4cCgiKF58Wz8mXSlnYWY9W14mXSooJnwkKSIpO3A9ci50ZXN0KGcpP2cucmVwbGFjZShyLCIkMWdhZj0iK3ErIiQyIik6Zy5pbmRleE9mKCI/Iik+PTA/ZysiJmdhZj0iK3E6Z1swXT09PSIvInx8Zy5pbmRleE9mKCI6Ly8iKT49MD9nKyI/Z2FmPSIrCnE6Zy5sZW5ndGg+MD9nKyImZ2FmPSIrcToiZ2FmPSIrcTtmPWIuaW5kZXhPZigiPyIpPT09MD8iPyIrcDpwfWVsc2UgZj12b2lkIDA7QVEoZSxmfHxiLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZW5kcG9pbnQ6Njd9KSxkLGMuZW5kcG9pbnQ9PT0xNz92b2lkIDA6e2NyZWRlbnRpYWxzOiJvbWl0In0pfX19LERRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGgpe2QucHVzaChoKyI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS5CYVtoXSkpfTtkLnB1c2goInY9MiIpO2UoIl9nc2lkIik7ZSgiZ3RtIik7YS5CYS5fZ2VvJiZlKCJfZ2VvIik7dmFyIGY9Imh0dHBzOi8ve2dhNENvbGxlY3Rpb25TdWJkb21haW4ufWdvb2dsZS1hbmFseXRpY3MuY29tL2cvcy9jb2xsZWN0Ii5yZXBsYWNlKCJ7Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59IiwoYnx8Ind3dyIpKyIuIiksZz1kLmpvaW4oIiYiKTt6UShmLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwKIiIsZW5kcG9pbnQ6NjIsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9KTtNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZisiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjYyfSxxYjpjfSl9LEVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iaHR0cHM6Ly97Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59YW5hbHl0aWNzLmdvb2dsZS5jb20vZy9zL2NvbGxlY3QiLnJlcGxhY2UoIntnYTRDb2xsZWN0aW9uU3ViZG9tYWluLn0iLGI/YisiLiI6IiIpLGU9W10sZj1mdW5jdGlvbihoKXtlLnB1c2goaCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EuQmFbaF0pKX07ZigiX2dzaWQiKTtmKCJndG0iKTthLkJhLl9nZW8mJmYoIl9nZW8iKTt2YXIgZz1lLmpvaW4oIiYiKTt6UShkLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOCxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pOwpNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjE4fSxxYjpjfSl9LEZRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtjJiZiLnB1c2goInRhZ19leHA9IitjKTtiLnB1c2goIno9IitEYigpKTtpZighZSl7dmFyIGc9ZCYmU2IoZCwiZ29vZ2xlLiIpJiZkIT09Imdvb2dsZS5jb20iPyJodHRwczovL3d3dy4lL2Fkcy9nYS1hdWRpZW5jZXM/dj0xJnQ9c3Imc2xmX3JkPTEmX3I9NCYiLnJlcGxhY2UoIiUiLGQpOnZvaWQgMDtpZihnKXt2YXIgaD1nK2Iuam9pbigiJiIpO1huKHtkZXN0aW5hdGlvbklkOmEuZGVzdGluYXRpb25JZHx8IiIsZW5kcG9pbnQ6NDcsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9LGgpO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDpoLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6NDd9LHFiOmZ9KX19fSxHUT0KZnVuY3Rpb24oYSxiLGMsZCl7YyYmYi5wdXNoKCJ0YWdfZXhwPSIrYyk7elEoImh0dHBzOi8vc3RhdHMuZy5kb3VibGVjbGljay5uZXQvZy9jb2xsZWN0Iiwidj0yJiIrYi5qb2luKCImIikse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOSxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDoiaHR0cHM6Ly9zdGF0cy5nLmRvdWJsZWNsaWNrLm5ldC9nL2NvbGxlY3Q/dj0yJiIrYi5qb2luKCImIikscGFyYW1ldGVyRW5jb2Rpbmc6MixlbmRwb2ludDoxOX0scWI6ZH0pfSxIUT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGModil7cS5wdXNoKHYrIj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithLkJhW3ZdKSl9dmFyIGQ9Yi54dCxlPWIuQnQsZj1iLkF0LGc9Yi56dCxoPWIuWnIsbD1iLkNzLG49Yi5QcixwPWIuR3Q7aWYoZHx8ZXx8Znx8Zyl7dmFyIHE9CltdO2EuQmEuX25nJiZjKCJfbmciKTthLkJhLm5ncyYmYygibmdzIik7YS5CYS5pYnQmJmMoImlidCIpO2MoInRpZCIpO2MoImNpZCIpO2MoImd0bSIpO2Zvcih2YXIgcj1tKE9GKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl7dmFyIHU9dC52YWx1ZTthLkJhW3VdIT1udWxsJiZjKHUpfXEucHVzaCgiYWlwPTEiKTthLnZlLnVpZCYmcS5wdXNoKCJ1aWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS52ZS51aWQpKTtjKCJkbWEiKTthLkJhLmRtYV9jcHMhPW51bGwmJmMoImRtYV9jcHMiKTthLkJhLmdjcyE9bnVsbCYmYygiZ2NzIik7YygiZ2NkIik7YS5CYS5ucGEhPW51bGwmJmMoIm5wYSIpO2EuQmEuZnJtIT1udWxsJiZjKCJmcm0iKTtkJiZHUShhLHEuc2xpY2UoKSxwLGIucWIpO2UmJkZRKGEscS5zbGljZSgpLHAsaCxsLGIucWIpO2YmJkVRKGEsbixiLnFiKTtnJiZEUShhLG4sYi5xYil9fSxJUT1mdW5jdGlvbigpe3RoaXMuUj0xO3RoaXMuWj17fTt0aGlzLks9LTE7dGhpcy5IPQpuZXcgd2d9O0lRLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPW5ldyBzUShhLHRoaXMuWixiKSxlPXtldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9LGY9eVAoYSksZyxoO2YmJnRoaXMuSC5SKGQpfHx0aGlzLmZsdXNoKCk7dmFyIGw9ZiYmdGhpcy5ILmFkZChkKTtpZihsKXtpZih0aGlzLks8MCl7dmFyIG49QSxwPW4uc2V0VGltZW91dCxxO2JrKFpLKGEpKT9KUT8oSlE9ITEscT1LUSk6cT1MUTpxPTVFMzt0aGlzLks9cC5jYWxsKG4sZnVuY3Rpb24oKXtjLmZsdXNoKCl9LHEpfX1lbHNle3ZhciByPXpnKGQsdGhpcy5SKyspLHQ9ci5wYXJhbXMsdT1yLmJvZHk7Zz10O2g9dTtGeSgzLGEuZXZlbnROYW1lKTtDUShkLmJhc2VVcmwsdCx1LGQuTix7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmQuZW5kcG9pbnQsZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTsKdmFyIHY9UShhLEguSi5oZCkseD1RKGEsSC5KLnJnKSx5PVEoYSxILkouTmgpLHo9UShhLEguSi5NaCksQz1PKGEuTSxGLkQudWkpIT09ITEsRD1TdChhLk0pLEk9e3h0OnYsQnQ6eCxBdDp5LHp0OnosWnI6RW0oKSxtdjpDLGx2OkQsQ3M6QW0oKSxxYjplLE06YS5NLFByOkRtKCksR3Q6Q3AoYSl9O0hRKGQsSSl9Zm4uSCYmQXooYS5NLmV2ZW50SWQpO05sKGZ1bmN0aW9uKCl7aWYobCl7dmFyIEc9emcoZCksTj1HLmJvZHk7Zz1HLnBhcmFtcztoPU59cmV0dXJue3RhcmdldElkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQscmVxdWVzdDp7dXJsOmQuYmFzZVVybCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLHBvc3RCb2R5OmgsZW5kcG9pbnQ6ZC5lbmRwb2ludH0scWI6ZSxpc0JhdGNoZWQ6ITF9fSl9O0lRLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7WUsoYSkmJiF4UCgpP3RoaXMuZmEoYSk6dGhpcy5OKGEpfTtJUS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLkguZXZlbnRzLmxlbmd0aCl7dmFyIGE9CkJnKHRoaXMuSCx0aGlzLlIrKyk7Q1EodGhpcy5ILmJhc2VVcmwsYS5wYXJhbXMsYS5ib2R5LHRoaXMuSC5LLHtkZXN0aW5hdGlvbklkOnRoaXMuSC5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDp0aGlzLkguZW5kcG9pbnQsZXZlbnRJZDp0aGlzLkguWixwcmlvcml0eUlkOnRoaXMuSC5mYX0pO3RoaXMuSD1uZXcgd2c7dGhpcy5LPj0wJiYoQS5jbGVhclRpbWVvdXQodGhpcy5LKSx0aGlzLks9LTEpfX07SVEucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1ZSyhhKTtNKDU2OCkmJiFNKDU4NikmJlIoYSxGLkQuQmMpPT09ImEiJiYoYz1jdyhjKSk7aWYoRXcoYykpe3ZhciBkPXN3KGMpO2Q/ZC50aGVuKGZ1bmN0aW9uKGYpe2IuTihhLGYpfSxmdW5jdGlvbigpe2IuTihhKX0pOnRoaXMuTihhKX1lbHNle3ZhciBlPUR3KGMpO3RoaXMuTihhLGUpfX07dmFyIEtRPU5mKDI0LDUwMCksTFE9TmYoNTYsNUUzKSxKUT0hMDt2YXIgTVE9ZnVuY3Rpb24oYSl7dmFyIGI9U3QoYS5NKTtPKGEuTSxGLkQuV2IpPT09ITAmJihiPSExKTtWKGEsSC5KLndkLGIpfTsKdmFyIE5RPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz17fSk7aWYoYj09bnVsbClyZXR1cm4gYztpZih0eXBlb2YgYj09PSJvYmplY3QiKWZvcih2YXIgZD1tKE9iamVjdC5rZXlzKGIpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtOUShhKyIuIitmLGJbZl0sYyl9ZWxzZSBjW2FdPWI7cmV0dXJuIGN9LE9RPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7YltlXT0hIVhvKGUpfXJldHVybiBifSxRUT1mdW5jdGlvbihhLGIpe3ZhciBjPVBRLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hWG8oZSl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9T1EoYyk7JG8oYyxmdW5jdGlvbigpe2Zvcih2YXIgZT1PUShjKSxmPVtdLGc9bShjKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZTshZFtsXSYmZVtsXSYmZi5wdXNoKGwpO2VbbF0mJgooZFtsXT0hMCl9aWYoZi5sZW5ndGgpe1YoYixILkouR2gsITApO3ZhciBuPWYubWFwKGZ1bmN0aW9uKHApe3JldHVybiBMb1twXX0pLmpvaW4oIi4iKTtuJiZXSyhiLCJnY3V0IixuKTtNUShiKTthKGIpfX0pfX0sUlE9ZnVuY3Rpb24oYSl7UihhLEYuRC5XYykmJiFiayhaSyhhKSkmJlUoYSxGLkQuV2MpfSxTUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsIm5hdnQiLHFkKCkpfSxUUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsImxwYyIsaXIoKSl9LFVRPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9TyhhLk0sRi5ELldiKSxjO2I9PT0hMCYmKGM9IjEiKTtiPT09ITEmJihjPSIwIik7YyYmV0soYSwicmRwIixjKX19LFZRPWZ1bmN0aW9uKGEsYil7aWYoYmsoWksoYikpKXt2YXIgYz1RKGIsSC5KLm1nKTsoYi5ldmVudE5hbWU9PT0icGFnZV92aWV3Inx8YykmJlFRKGEsYil9fSxXUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkmJmEuZXZlbnROYW1lPT09Ri5ELnlmJiYKUShhLEguSi5HaCkpe3ZhciBiPVIoYSxGLkQueGkpO2ImJihXSyhhLCJnY3V0IixiKSxXSyhhLCJzeW4iLDEpKX19LFhRPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gV2ooKSYmU2IoYysiLyIsWGooKSsiLyIpPyI3IjoiMSI7aWYoVGIoYSwiLiIrYikpcmV0dXJuIjIiO2lmKFRiKGIsIi4iK2EpKXJldHVybiIzIjt2YXIgZD1hLnNwbGl0KCIuIiksZT1iLnNwbGl0KCIuIiksZj1mdW5jdGlvbihnKXtpZihkLmxlbmd0aDxnfHxlLmxlbmd0aDxnKXJldHVybiExO2Zvcih2YXIgaD0xO2g8PWc7aCsrKWlmKGRbZC5sZW5ndGgtaF0hPT1lW2UubGVuZ3RoLWhdKXJldHVybiExO3JldHVybiEwfTtyZXR1cm4gZigzKT8iNiI6ZigyKT8iNSI6IjQifSxZUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe3ZhciBiPWVrKGEuTSk7aWYoYil7dmFyIGM9WWooYiwiLyIpLGQ9UmooYyksZT1OaihkLCJob3N0IiksZj1OaihBLmxvY2F0aW9uLCJob3N0Iik7aWYoZSYmZil7dmFyIGc9TmooZCwKInBhdGgiKTthLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEse3NzdGQ6WFEoZSxmLGcpfSl9fX19LFpRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmVihhLEguSi5KYSwhMSl9LCRRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmKFEoYSxILkouSmEpJiZXSyhhLCJzcCIsMSksUShhLEguSi5JcSkmJldLKGEsInN5biIsMSksUShhLEguSi5QYykmJihXSyhhLCJlbV9ldmVudCIsMSksV0soYSwic3AiLDEpKSl9LGFSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9JGsoMjUpO2ImJldLKGEsInRmdCIsTnVtYmVyKGIpKX19LGJSPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7dmFyIGY9TlEoRi5ELkFjLGUpO0diKGYsZnVuY3Rpb24oZyxoKXtVKGEsZyxoKX0pfWlmKGJrKFpLKGEpKSl7dmFyIGM9ZEkoYSwiY2NkX2FkZF8xcF9kYXRhIiwhMSk/MTowO1dLKGEsInVkZSIsYyk7dmFyIGQ9TyhhLk0sRi5ELkFjKTtkIT09dm9pZCAwPyhadihkKSxiKGQpLFUoYSxGLkQuQmMsImMiKSk6CmIoUShhLEguSi5ZYSkpO1YoYSxILkouWWEpfX0sY1I9ZnVuY3Rpb24oYSl7aWYoYmsoWksoYSkpKXt2YXIgYj1WTSgpO2ImJldLKGEsInVzX3ByaXZhY3kiLGIpO3ZhciBjPUx0KCk7YyYmV0soYSwiZ2RwciIsYyk7dmFyIGQ9S3QoKTtkJiZXSyhhLCJnZHByX2NvbnNlbnQiLGQpO3ZhciBlPWtGLmdwcFN0cmluZztlJiZXSyhhLCJncHAiLGUpO3ZhciBmPWtGLkg7ZiYmV0soYSwiZ3BwX3NpZCIsZil9fSxkUj1mdW5jdGlvbihhKXtiayhaSyhhKSkmJkVsKCkmJk8oYS5NLEYuRC5tYikmJldLKGEsImFkciIsMSl9LGVSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9RG0oKTtiJiZXSyhhLCJnY3N1YiIsYil9fSxmUj1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe08oYS5NLEYuRC5TYyx2b2lkIDAsNCk9PT0hMSYmV0soYSwibmdzIiwxKTtBbSgpJiZXSyhhLCJnYV9yZCIsMSk7VksoKXx8V0soYSwibmdzdCIsMSk7dmFyIGI9RW0oKTtiJiZXSyhhLCJldGxkIixiKX19LGdSPQpmdW5jdGlvbihhKXt9LGhSPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmRWwoKSYmV0soYSwicm5kIixRTSgpKX0sUFE9W0YuRC5rYSxGLkQubWEsRi5ELlhhXTsKdmFyIGlSPWZ1bmN0aW9uKGEsYil7dmFyIGM7YTp7aWYoIVEoYSxILkouRmMpKXt2YXIgZD1UUChhKTtpZihkKXtpZihSUChkLGEpKXtjPWQ7YnJlYWsgYX1QKDI1KTthLmlzQWJvcnRlZD0hMH19Yz12b2lkIDB9dmFyIGU9YztyZXR1cm57Y2xpZW50SWQ6RVAoYSxiKSx6YjplfX0salI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1RbyhPKGEuTSxGLkQuS2IpKTtpZihPKGEuTSxGLkQuWmMpJiZPKGEuTSxGLkQuWWMpKWY/Q1AoYSxmLDEpOihQKDEyNyksYS5pc0Fib3J0ZWQ9ITApO2Vsc2V7dmFyIGc9Zj8xOjg7VihhLEguSi5IaCwhMSk7Znx8KGY9RlAoYSksZz0zKTtmfHwoZj1iLGc9NSk7aWYoIWYpe3ZhciBoPVhvKEYuRC5yYSksbD16UCgpO2Y9IWwuZnJvbV9jb29raWV8fGg/bC52aWQ6dm9pZCAwO2c9Nn1mP2Y9IiIrZjooZj1BdigpLGc9NyxWKGEsSC5KLm5nLCEwKSxWKGEsSC5KLkhoLCEwKSk7Q1AoYSxmLGcpfVIoYSxGLkQuS2IpO2lmKCFRKGEsSC5KLkZjKSl7dmFyIG49ClEoYSxILkouRWIpLHA9TWF0aC5mbG9vcihuLzFFMykscT12b2lkIDA7UShhLEguSi5IaCl8fChxPVNQKGEpfHxjKTt2YXIgcj1JYihPKGEuTSxGLkQueWgsMzApKTtyPU1hdGgubWluKDQ3NSxyKTtyPU1hdGgubWF4KDUscik7dmFyIHQ9SWIoTyhhLk0sRi5ELlBpLDFFNCkpLHU9TFAocSk7VihhLEguSi5uZywhMSk7VihhLEguSi5UZSwhMSk7VihhLEguSi5wZywwKTt1JiZ1LmomJlYoYSxILkoucGcsTWF0aC5tYXgoMCx1LmotTWF0aC5tYXgoMCxwLXUudCkpKTt2YXIgdj0hMTtpZighdSl7VihhLEguSi5uZywhMCk7dj0hMDt2YXIgeD17fTt1PSh4LnM9U3RyaW5nKHApLHgubz0xLHguZz0hMSx4LnQ9cCx4Lmw9ITEseC5oPXZvaWQgMCx4KX1wPnUudCtyKjYwJiYodj0hMCx1LnM9U3RyaW5nKHApLHUubysrLHUuZz0hMSx1Lmg9dm9pZCAwKTtpZih2KVYoYSxILkouVGUsITApLGQubHMoYSk7ZWxzZSBpZihkLlhyKCk+dHx8YS5ldmVudE5hbWU9PT1GLkQuc2MpdS5nPSEwO1EoYSxILkoubGcpPwpPKGEuTSxGLkQuZmIpP3UubD0hMDp1Lmw9ITE6dS5sPSExO3ZhciB5PXUuaDtpZihRKGEsSC5KLmxnKXx8YmsoWksoYSkpKXt2YXIgej1PKGEuTSxGLkQub2gpLEM9ej8xOjg7enx8KHo9eSxDPTQpO3p8fCh6PXp2KCksQz03KTt2YXIgRD16LnRvU3RyaW5nKCksST1DLEc9UShhLEguSi50bCk7aWYoRz09PXZvaWQgMHx8STw9RylVKGEsRi5ELm9oLEQpLFYoYSxILkoudGwsSSl9ZT8oYS5jb3B5VG9IaXREYXRhKEYuRC54Yyx1LnMpLGEuY29weVRvSGl0RGF0YShGLkQuQWgsdS5vKSxhLmNvcHlUb0hpdERhdGEoRi5ELnpoLHUuZz8xOjApKTooVShhLEYuRC54Yyx1LnMpLFUoYSxGLkQuQWgsdS5vKSxVKGEsRi5ELnpoLHUuZz8xOjApKTtWKGEsSC5KLnJtLHUubD8xOjApO1dqKCkmJlYoYSxILkoub2csdS5kfHxjYygpKX19Owp2YXIga1I9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI/IiksYz1iPT09LTE/YTphLnN1YnN0cmluZygwLGIpLGQ9S2ooYyk7ZCYmKGM9ZCk7cmV0dXJuIGI9PT0tMT9jOiIiK2MrYS5zdWJzdHJpbmcoYil9LGxSPWZ1bmN0aW9uKGEpe2lmKCFPKGEuTSxGLkQuWWMpfHwhTyhhLk0sRi5ELlpjKSl7dmFyIGI9YS5jb3B5VG9IaXREYXRhLGM9Ri5ELnphLGQ9IiIsZT1CLmxvY2F0aW9uO2lmKGUpe3ZhciBmPWUucGF0aG5hbWV8fCIiO2YuY2hhckF0KDApIT09Ii8iJiYoZj0iLyIrZik7dmFyIGc9ZS5zZWFyY2h8fCIiO2lmKGdbMF09PT0iPyIpZm9yKHZhciBoPWcuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksbD0wO2w8aC5sZW5ndGg7KytsKXt2YXIgbj1oW2xdLnNwbGl0KCI9Iik7biYmbi5sZW5ndGg9PT0yJiZuWzBdPT09IndicmFpZCImJihnPWcucmVwbGFjZSgvKFs/Jl0pd2JyYWlkPVteJl0rLywiJDF3YnJhaWQ9IiskYihuWzFdKSkpfWQ9ZS5wcm90b2NvbCsiLy8iK2UuaG9zdG5hbWUrCmYrZ31iLmNhbGwoYSxjLGQsa1IpO3ZhciBwPWEuY29weVRvSGl0RGF0YSxxPUYuRC5VYSxyPXVBKCJndG0uZ3RhZ1JlZmVycmVyLiIrYS50YXJnZXQuZGVzdGluYXRpb25JZCksdD1CLnJlZmVycmVyO3AuY2FsbChhLHEsKHI/IiIrcjp0KXx8dm9pZCAwLGtSKTthLmNvcHlUb0hpdERhdGEoRi5ELk1iLEIudGl0bGUpO2EuY29weVRvSGl0RGF0YShGLkQudGIsKEhjLmxhbmd1YWdlfHwiIikudG9Mb3dlckNhc2UoKSk7dmFyIHU9cUkoKTthLmNvcHlUb0hpdERhdGEoRi5ELmJkLHUud2lkdGgrIngiK3UuaGVpZ2h0KTthLmNvcHlUb0hpdERhdGEoRi5ELllmLHZvaWQgMCxrUik7VE0oKSYmYS5jb3B5VG9IaXREYXRhKEYuRC5QZCwiMSIpfX07dmFyIG5SPWZ1bmN0aW9uKGEpe3ZhciBiPXhDKGEuTSksYz1mdW5jdGlvbihkLGUpe21SW2RdJiZVKGEsZCxlKX07Q2QoYltGLkQuS2ZdKT9HYihiW0YuRC5LZl0sZnVuY3Rpb24oZCxlKXtjKChGLkQuS2YrIl8iK2QpLnRvTG93ZXJDYXNlKCksZSl9KTpHYihiLGMpfSxvUj17fSxtUj0ob1JbRi5ELkdmXT0xLG9SW0YuRC5IZl09MSxvUltGLkQuSWZdPTEsb1JbRi5ELkpmXT0xLG9SW0YuRC5MZl09MSxvUltGLkQuTWZdPTEsb1IpO3ZhciBwUj1mdW5jdGlvbihhKXtpZighYmsoWksoYSkpJiZRKGEsSC5KLm1nKSYmWG8oRi5ELmthKSYmZEkoYSwiZ2E0X2Fkc19saW5rZWQiLCExKSl7dmFyIGI9TEsoYSksYz1IcihiLnByZWZpeCksZD1ScyhjKTtVKGEsRi5ELkJlLGQuRWcpO1UoYSxGLkQuRGUsZC5XaCk7VShhLEYuRC5DZSxkLlVoKX19O3ZhciBxUj1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpO2ImJklQKEouVS54bik7UShhLEguSi5QYykmJklQKEouVS5Oayk7dmFyIGM9eWsoemsoKSk7KGJ8fE1rKGMpfHxjJiZjLnBhcmVudCYmYy5jb250ZXh0JiZjLmNvbnRleHQuc291cmNlPT09NSkmJklQKEouVS5mbik7UShhLEguSi5jaikmJklQKEouVS5JbSk7UShhLEguSi5iaikmJklQKEouVS5IbSl9O3ZhciByUj1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLlZpKXx8bmV3IGVyO1EoYSxILkouYmopJiZRKGEsSC5KLmNqKSYmZnIoYiwyKTtWKGEsSC5KLlZpLGIpfTtmdW5jdGlvbiBzUihhKXthLmNvcHlUb0hpdERhdGEoRi5ELmZiKTt2YXIgYj1PKGEuTSxGLkQuV2QpO2ImJihLQyhiLGZ1bmN0aW9uKCl7fSksVShhLEYuRC5XZCxiKSl9O3ZhciB1Uj1mdW5jdGlvbihhKXtpZih0Ui5Nci5yZXBsYWNlKC9ccysvZywiIikuc3BsaXQoIiwiKS5pbmRleE9mKGEuZXZlbnROYW1lKT49MClhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPVhLKGEpO2ImJmIuYmxhY2tsaXN0ZWQmJihhLmlzQWJvcnRlZD0hMCl9fSx0Uj17TXI6TGYoMzEpfTtmdW5jdGlvbiB2UihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4hIWMmJmMuY29udmVyc2lvbn07VihhLEguSi5tZyxiKFhLKGEpKSk7UShhLEguSi5uZykmJlYoYSxILkouWW0sYihYSyhhLCJmaXJzdF92aXNpdCIpKSk7UShhLEguSi5UZSkmJlYoYSxILkouYm4sYihYSyhhLCJzZXNzaW9uX3N0YXJ0IikpKX07dmFyIHdSPWZ1bmN0aW9uKGEpe0ZvLmhhc093blByb3BlcnR5KGEuZXZlbnROYW1lKSYmKFYoYSxILkouV20sITApLGEuY29weVRvSGl0RGF0YShGLkQuSGEpLGEuY29weVRvSGl0RGF0YShGLkQuZWIpKX07dmFyIHhSPWZ1bmN0aW9uKGEpe1EoYSxILkouYmUpP1YoYSxILkoubGcsITEpOmRJKGEsImNjZF9hZGRfZWNfc3RpdGNoaW5nIiwhMSkmJlYoYSxILkoubGcsITApfTt2YXIgeVI9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5wZyk7Yj1ifHwwO3ZhciBjPSEhUShhLEguSi5zYSksZD1iPT09MHx8YztWKGEsSC5KLmVqLGQpO2QmJlYoYSxILkoucGcsNjApfTt2YXIgQVI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9U3RyaW5nKHpSLmNvb2tpZSkuc3BsaXQoIjsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0uc3BsaXQoIj0iKSxmPWVbMF0udHJpbSgpO2lmKGYmJmEoZikpe3ZhciBnPWUuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtnJiYoZz1kZWNvZGVVUklDb21wb25lbnQoZykpO3ZhciBoPXZvaWQgMCxsPXZvaWQgMDsoKGg9YilbbD1mXXx8KGhbbF09W10pKS5wdXNoKGcpfX1yZXR1cm4gYn07dmFyIEJSPXdpbmRvdyx6Uj1kb2N1bWVudCxDUj1mdW5jdGlvbihhKXt2YXIgYj1CUi5fZ2FVc2VyUHJlZnM7aWYoYiYmYi5pb28mJmIuaW9vKCl8fHpSLmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhdGEtZ29vZ2xlLWFuYWx5dGljcy1vcHQtb3V0Iil8fGEmJkJSWyJnYS1kaXNhYmxlLSIrYV09PT0hMClyZXR1cm4hMDt0cnl7dmFyIGM9QlIuZXh0ZXJuYWw7aWYoYyYmYy5fZ2FVc2VyUHJlZnMmJmMuX2dhVXNlclByZWZzPT0ib28iKXJldHVybiEwfWNhdGNoKGYpe31mb3IodmFyIGQ9QVIoZnVuY3Rpb24oZil7cmV0dXJuIGY9PT0iQU1QX1RPS0VOIn0pLkFNUF9UT0tFTnx8W10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWlmKGRbZV09PSIkT1BUX09VVCIpcmV0dXJuITA7cmV0dXJuIHpSLmdldEVsZW1lbnRCeUlkKCJfX2dhT3B0T3V0RXh0ZW5zaW9uIik/ITA6ITF9O3ZhciBEUj1mdW5jdGlvbihhKXtpZihDUihhLnRhcmdldC5kZXN0aW5hdGlvbklkKSlQKDI4KSxhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPXhrKCk7aWYoYiYmQXJyYXkuaXNBcnJheShiLmRlc3RpbmF0aW9ucykpZm9yKHZhciBjPTA7YzxiLmRlc3RpbmF0aW9ucy5sZW5ndGg7YysrKWlmKENSKGIuZGVzdGluYXRpb25zW2NdKSl7UCgxMjUpO2EuaXNBYm9ydGVkPSEwO2JyZWFrfX19O3ZhciBFUj1mdW5jdGlvbihhKXt2YXIgYj1CLmxvY2F0aW9uLnByb3RvY29sO2IhPT0iaHR0cDoiJiZiIT09Imh0dHBzOiImJihQKDI5KSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBGUj1mdW5jdGlvbihhKXtIYyYmSGMubG9hZFB1cnBvc2U9PT0icHJldmlldyImJihQKDMwKSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBHUj1mdW5jdGlvbihhLGIpe2IuVGomJihWKGEsSC5KLnNhLCEwKSxiLlRqPSExLFdqKCkmJlYoYSxILkoub2csY2MoKSkpfTt2YXIgSFI9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjLGQpe0JvW2NdfHxkPT09dm9pZCAwfHxVKGEsYyxkKX1NKDU1MCkmJkdiKGEuTS5XYSxiKTtHYihhLk0uaGIsYik7R2IoYS5NLkVhLGIpfTt2YXIgSVI9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWU9PT1GLkQud2EmJihPKGEuTSxGLkQuVGQsITApPyhhLk0uRWFbRi5ELk9hXSYmKE0oNTUwKSYmKGEuTS5XYVtGLkQuT2FdPWEuTS5FYVtGLkQuT2FdKSxhLk0uaGJbRi5ELk9hXT1hLk0uRWFbRi5ELk9hXSxhLk0uRWFbRi5ELk9hXT12b2lkIDAsVShhLEYuRC5PYSkpLGEuZXZlbnROYW1lPUYuRC5zYyk6YS5pc0Fib3J0ZWQ9ITApfTsKdmFyIEpSPWZ1bmN0aW9uKGEpe2lmKE0oMTMyKSl7dmFyIGI9WksoYSk7aWYoYmsoYikpaWYoY2soYikpY2soWksoYSkpJiZhLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEseyIzcGQiOiIxIn0pO2Vsc2UgaWYoIShOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpKSYmWG8oRi5ELnJhKSl7VihhLEguSi5kbiwhMCk7YmsoWksoYSkpJiZXSyhhLCJzd19leHAiLDEpO2E6e2lmKCFNKDEzMil8fCFiayhaSyhhKSl8fGNrKFpLKGEpKSlicmVhayBhO2I6e3ZhciBjPXtvdDpZaihlayhhLk0pLCIvXy9zZXJ2aWNlX3dvcmtlciIpfSxkO2Q9KGM9PT12b2lkIDA/e306Yykub3Q7dmFyIGU9aUwoZCk7aWYoZT09PW51bGx8fCFiZygiaW50ZXJuYWxfc3dfYWxsb3dlZCIsIiIpfHxqTChlLm9yaWdpbikpYnJlYWsgYjsKaWYoIUljKCkpe2dMKCkuSyh2b2lkIDAsdm9pZCAwLDYpO2JyZWFrIGJ9dmFyIGY9bmV3IGtMKGUpO29tKGptLmJhLk9oLHt9KVtlLm9yaWdpbl09Zjt9fX19fTt2YXIgTFI9ZnVuY3Rpb24oYSl7YS5jb3B5VG9IaXREYXRhKEYuRC5PbCk7TyhhLk0sRi5ELnhoKSYmKFUoYSxGLkQueGgsITApLGJrKFpLKGEpKXx8S1IoYSkpfSxLUj1mdW5jdGlvbihhKXt2YXIgYj1GLkQuYmQsYztjfHwoYz1mdW5jdGlvbigpe30pO1IoYSxiKSE9PXZvaWQgMCYmVShhLGIsYyhSKGEsYikpKX07dmFyIE1SPSJnY2xpZCBkY2xpZCBnY2xzcmMgd2JyYWlkIGdicmFpZCBnYWRfc291cmNlIGdhZF9jYW1wYWlnbmlkIHV0bV9zb3VyY2UgdXRtX21lZGl1bSB1dG1fY2FtcGFpZ24gdXRtX3Rlcm0gdXRtX2NvbnRlbnQgdXRtX2lkIi5zcGxpdCgiICIpO2Z1bmN0aW9uIE5SKCl7dmFyIGE9Qi5sb2NhdGlvbixiLGM9YT09bnVsbD92b2lkIDA6KGI9YS5zZWFyY2gpPT1udWxsP3ZvaWQgMDpiLnJlcGxhY2UoIj8iLCIiKSxkO2lmKGMpe2Zvcih2YXIgZT1bXSxmPUpqKGMsITApLGc9bShNUiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWUsbj1mW2xdO2lmKG4pZm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07cSE9PXZvaWQgMCYmZS5wdXNoKHtuYW1lOmwsdmFsdWU6cX0pfX1kPWV9ZWxzZSBkPVtdO3JldHVybiBkfTt2YXIgT1I9ZnVuY3Rpb24oYSl7dmFyIGI9TSgyNjYpLGM9TSgyNjcpO2lmKGJ8fGMpe3ZhciBkPVIoYSxGLkQuemEpO2lmKGQmJmQuaW5kZXhPZigiPyIpPT09LTEpe3ZhciBlPU5SKCk7aWYoZS5sZW5ndGghPT0wJiYoYiYmSVAoSi5VLkdtKSxjKSl7SVAoSi5VLkZtKTt2YXIgZj1lLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5uYW1lKyI9IitnLnZhbHVlfSkuam9pbigiJiIpO1UoYSxGLkQuemEsZCsiPyIrZil9fX19O3ZhciBQUj1bRi5ELnJhLEYuRC5rYV0sUVI9W0YuRC5yYSxGLkQua2EsRi5ELm1hXTsKZnVuY3Rpb24gUlIoYSl7dmFyIGIsYz1NKDUwNikmJiFkSShhLCJjY2RfZ2FfYWRzX2lkc19vcHRfb3V0IiwhMSksZD0hIWRJKGEsImdvb2dsZV9uZyIsITEpLGU9WG8oYz9kP1FSOmZwOlBSKSxmO2Y9ZEkoYSxGLkQuVWYsTyhhLk0sRi5ELlVmKSl8fCEhZEkoYSwiZ29vZ2xlX25nIiwhMSk7Yj17aGY6YyxFczpkLEdvOmUsZmY6ZixMZzohIWRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSksYmk6QW0oKSxHajohVksoKSxGczpiayhaSyhhKSksRHM6ISFRKGEsSC5KLmJlKSxHczohIVEoYSxILkouVGUpLHVzOiEhTyhhLk0sRi5ELk5sKSxLczohIVEoYSxILkouZWopLHhnOk8oYS5NLEYuRC5TYyksbnI6TyhhLk0sRi5ELlNjLHZvaWQgMCw0KSxIczohIVEoYSxILkouRmMpfTtWKGEsSC5KLmNqLGIuZmYpO1YoYSxILkouYmosU1IoYikpO2IuaGYmJiFiLmZmJiZiLkxnJiZTUihiKSYmVShhLCJfJmlidCIsIjEiKTtTUihiKSYmYi5HbyYmKGIuaGY/Yi54ZyE9PSExfHxiLkxnOjEpJiZWKGEsCkguSi5ybiwhMCk7Yi5FcyYmIWIuYmkmJlUoYSxGLkQuTGUsMSk7KGIuaGY/Yi54ZzpiLm5yKT09PSExJiZVKGEsIl8mbmdzIiwiMSIpO1YoYSxILkouaGQsVFIoYikmJihiLkdzfHxiLnVzKSk7VihhLEguSi5yZyxUUihiKSYmYi5LcyYmIWIuYmkpfWZ1bmN0aW9uIFNSKGEpe3JldHVybiBhLmhmPyhhLkxnfHxhLmZmKSYmIWEuYmkmJiFhLkdqOmEuZmYmJmEueGchPT0hMSYmIWEuR2omJiFhLmJpfWZ1bmN0aW9uIFRSKGEpe2lmKGEuSHMpcmV0dXJuITE7aWYoYS5oZil7aWYoIWEuZmYmJiFhLkxnKXJldHVybiExfWVsc2UgaWYoIWEuZmYpcmV0dXJuITE7cmV0dXJuIGEuRnN8fGEuRHN8fGEuR2p8fChhLmhmP2EueGc9PT0hMSYmIWEuTGc6YS54Zz09PSExKXx8IWEuR28/ITE6ITB9O3ZhciBVUj1mdW5jdGlvbihhKXtzTCgpJiZVKGEsRi5ELkZlLCIxIil9O3ZhciBWUj1mdW5jdGlvbihhKXt2YXIgYj17cHJlZml4OlN0cmluZyhPKGEuTSxGLkQubmIsIiIpKSxwYXRoOlN0cmluZyhPKGEuTSxGLkQudmMsIi8iKSksZmxhZ3M6U3RyaW5nKE8oYS5NLEYuRC5UYiwiIikpLGRvbWFpbjpTdHJpbmcoTyhhLk0sRi5ELkxiLCJhdXRvIikpLHBkOk51bWJlcihPKGEuTSxGLkQuQ2IsNjMwNzJFMykpfTtWKGEsSC5KLkdhLGIpfTt2YXIgV1I9ZnVuY3Rpb24oYSl7aWYoTSg0MzUpfHxNKDU1Mykpe3ZhciBiPURtKCk7YiYmVihhLEguSi5BcSxiKX19O3ZhciBZUj1mdW5jdGlvbihhKXthLmNvcHlUb0hpdERhdGEoRi5ELlJpKTtmb3IodmFyIGI9TyhhLk0sRi5ELlJsKXx8W10sYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO2lmKGQucnVsZV9yZXN1bHQpe2EuY29weVRvSGl0RGF0YShGLkQuUmksZC50cmFmZmljX3R5cGUpO0lQKEouVS5Fbik7YnJlYWt9fX07dmFyIFpSPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSkmJmEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1PKGEuTSxGLkQudWMpIT09ITE7aWYoYil7dmFyIGM9TEsoYSk7Yy5wZCYmKGMucGQ9TWF0aC5taW4oYy5wZCw3Nzc2RTMpKTtQSyh7VG46YixtbzpPbyhPKGEuTSxGLkQuRGIpKSxRbzohIU8oYS5NLEYuRC56YyksVW46Y30pfX19O3ZhciAkUj1mdW5jdGlvbihhKXtWKGEsSC5KLk1oLCExKTtWKGEsSC5KLk5oLCExKTtpZighRG0oKSYmV2ooKSYmIWJrKFpLKGEpKSYmIVEoYSxILkouYmUpJiZRKGEsSC5KLmVqKSl7dmFyIGI9UShhLEguSi5yZyk7UShhLEguSi5vZykmJihiP1YoYSxILkouTmgsITApOlYoYSxILkouTWgsITApKX19O3ZhciBhUz1mdW5jdGlvbihhKXtPKGEuTSxGLkQuemMpJiYoWG8oRi5ELnJhKXx8TyhhLk0sRi5ELktiKXx8VShhLEYuRC5abSwhMCkpO3ZhciBiO3ZhciBjO2M9Yz09PXZvaWQgMD8zOmM7dmFyIGQ9QS5sb2NhdGlvbi5ocmVmO2lmKGQpe3ZhciBlPVJqKGQpLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZj1JaihlLCJfZ2wiLCExLCEwKXx8IiI7Yj1mP1ZxKGYsYykhPT12b2lkIDA6ITF9ZWxzZSBiPSExO2ImJmJrKFpLKGEpKSYmV0soYSwiZ2x2IiwxKTtpZihhLmV2ZW50TmFtZSE9PUYuRC53YSlyZXR1cm57fTtPKGEuTSxGLkQuemMpJiZBcyhbImF3IiwiZGMiXSk7Q3MoWyJhdyIsImRjIl0pO3ZhciBnPSRQKGEpLGg9WlAoYSk7cmV0dXJuIE9iamVjdC5rZXlzKGcpLmxlbmd0aD9nOmh9O3ZhciBiUz1mdW5jdGlvbihhKXt2YXIgYj0hMDtiPWI9PT12b2lkIDA/ITE6YjtpZihNKDQyNSkmJiEocGwoKXx8YiYmUShhLEguSi5kail8fGEuZXZlbnROYW1lIT09Ri5ELndhfHxRKGEsSC5KLkZjKSkpe3ZhciBjPXt9LGQ9e30sZT17ZXZlbnRNZXRhZGF0YTpuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGEuTS5ldmVudE1ldGFkYXRhLChjW0guSi5GY109ITAsYyksYj97fTooZFtILkouRGNdPVguVi5LYSxkKSksbm9HdG1FdmVudDohMH0sZj1zQyhhLnRhcmdldC5kZXN0aW5hdGlvbklkLCJzdHJ1Y3R1cmVkX2RhdGEiLGEuTS5FYSk7bUQoZixhLk0uZXZlbnRJZCxlKX19Owp2YXIgZFM9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGNTLnRlc3QoYSl8fERvLmhhc093blByb3BlcnR5KGEpfSxjUz0vXihffGdhX3xnb29nbGVffGd0YWdcLnxmaXJlYmFzZV8pLiokLyxlUz1mdW5jdGlvbihhKXt0aGlzLnlhPWE7dGhpcy5IPXRoaXMuemI9dGhpcy5jbGllbnRJZD12b2lkIDA7dGhpcy5qYT10aGlzLlI9ITE7dGhpcy5MYT0wO3RoaXMuTj0hMTt0aGlzLlo9e1RqOiExfTt0aGlzLmZhPW5ldyBJUTt0aGlzLks9bmV3IEhQfTtrPWVTLnByb3RvdHlwZTtrLlpzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGU9YkModGhpcy55YSk7aWYoZSlpZihjLmV2ZW50TWV0YWRhdGFbSC5KLmFlXSYmYS5jaGFyQXQoMCk9PT0iXyIpYy5vbkZhaWx1cmUoKTtlbHNle2EhPT1GLkQud2EmJmEhPT1GLkQuSmImJmRTKGEpJiZQKDU4KTt2YXIgZj1uZXcgYUkoZSxhLGMpO1YoZixILkouRWIsYik7dmFyIGc9W0YuRC5yYV0saD1iayhaSyhmKSk7VihmLEguSi5kaixoKTtpZihkSShmLEYuRC5VZiwKTyhmLk0sRi5ELlVmKSl8fGgpZy5wdXNoKEYuRC5rYSksZy5wdXNoKEYuRC5tYSk7Rk0uZmEoZnVuY3Rpb24oKXticChmdW5jdGlvbigpe2QuYnQoZil9LGcpfSl9ZWxzZSBjLm9uRmFpbHVyZSgpfTtrLmJ0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dHJ5e0hNKGEpO2lmKGEuaXNBYm9ydGVkKXt0YigpO3JldHVybn1KTShhKTtEUihhKTt1UihhKTtFUihhKTtGUihhKTtJTShhKTt2YXIgYz17fTtlUShhLGMpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5IPWE7dmFyIGQ9Yy51cjtjLkhyPT09MCYmSVAoSi5VLm5sKTtkPT09MCYmSVAoSi5VLkxrKTtaTShhKTtWKGEsSC5KLnRnLGNvLmlhLnhkKTtWUihhKTtIUihhKTt0aGlzLkxxKGEpO3RoaXMuSy5LdChhKTtVKGEsRi5ELnppLGFsKDgsTkYpKTt4UihhKTtwTihhKTtaUihhKTtNUShhKTt0aGlzLkFvKGFTKGEpKTtiUyhhKTt2YXIgZT1hLmV2ZW50TmFtZT09PUYuRC53YTtlJiYodGhpcy5OPQohMCk7SVIoYSk7ZSYmIWEuaXNBYm9ydGVkJiZ0aGlzLkxhKys+MCYmSVAoSi5VLmhuKTtVTChhKTtqUihhLHRoaXMuY2xpZW50SWQsdGhpcy56Yix0aGlzLkssIXRoaXMuamEpO25SKGEpO2xSKGEpO09SKGEpO1hMKGEpO0dSKGEsdGhpcy5aKTt5UihhKTt2UihhKTt3UihhKTtZUihhKTthUShhKTtnUShhKTt3TShhKTtoUihhKTtZUShhKTtnUihhKTtmUihhKTtlUihhKTtkUihhKTtjUihhKTthUihhKTskUShhKTtXUShhKTtVUShhKTtUUShhKTtTUShhKTtiUShhKTtjUShhKTtPKGEuTSxGLkQueGgpJiYhYmsoWksoYSkpfHxHTShhKTtVUihhKTtXUihhKTtpTihhKTtWTChhKTtTTChhKTtsTihhKTtoTihhKTtYTShhLCExKTtzUihhKTtSUihhKTskUihhKTtOTShhKTtyUihhKTtwUihhKTtiUihhKTtaUShhKTtSUShhKTtxUihhKTshdGhpcy5OJiZRKGEsSC5KLlBjKSYmSVAoSi5VLnNsKTtKUChhKTtpZihNKDU3NSkpe2lmKGEuaXNBYm9ydGVkKXtpZighUShhLEguSi5TbykpYS5NLm9uRmFpbHVyZSgpOwp0YigpO3JldHVybn1pZihRKGEsSC5KLkphKSl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufX1lbHNlIGlmKFEoYSxILkouSmEpfHxhLmlzQWJvcnRlZCl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufXRoaXMuQW8oaVIoYSx0aGlzLmNsaWVudElkKSk7dGhpcy5qYT0hMDt0aGlzLkh0KGEpO0pSKGEpO1ZRKGZ1bmN0aW9uKGYpe2IuTW4oZil9LGEpO3RoaXMuSy5xaygpO0xSKGEpO2dOKGEpO1dMKGEpO1lNKGEpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5NbihhKTthLk0ub25TdWNjZXNzKCl9Y2F0Y2goZil7YS5NLm9uRmFpbHVyZSgpfXRiKCl9O2suTW49ZnVuY3Rpb24oYSl7dGhpcy5mYS5hZGQoYSl9O2suQW89ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbGllbnRJZCxjPWEuemI7YiYmYyYmKHRoaXMuY2xpZW50SWQ9Yix0aGlzLnpiPWMpfTtrLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5mYS5mbHVzaCgpfTtrLkh0PWZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzO2lmKCF0aGlzLlIpe3ZhciBjPVhvKEYuRC5tYSksZD1YbyhGLkQucmEpOyRvKFtGLkQubWEsRi5ELnJhLEYuRC5rYV0sZnVuY3Rpb24oZSl7dmFyIGY7Zj0oZT09PXZvaWQgMD97fTplKS5jb25zZW50RXZlbnRJZDt2YXIgZz1YbyhGLkQubWEpLGg9WG8oRi5ELnJhKSxsPSExLG49e30scD17fTtpZihkIT09aCYmYi5IJiZiLnpiJiZiLmNsaWVudElkKXt2YXIgcT1iLmNsaWVudElkLHI7dmFyIHQ9TFAoYi56Yik7cj10P3QuaDp2b2lkIDA7aWYoaCl7dmFyIHU9RlAoYi5IKTtpZih1KXtiLmNsaWVudElkPXU7dmFyIHY9U1AoYi5IKTt2JiYoYi56Yj1QUCh2LGIuemIsYi5IKSl9ZWxzZSBEUChiLmNsaWVudElkLGIuSCksQVAoYi5jbGllbnRJZCwhMCk7UlAoYi56YixiLkgpO2w9ITA7bltGLkQuTmxdPXE7ciYmKG5bRi5ELmJxXT1yKX1lbHNlIGIuemI9dm9pZCAwLGIuY2xpZW50SWQ9dm9pZCAwLEEuZ2FHbG9iYWw9e319ZyYmIWMmJihsPSEwLHBbSC5KLkdoXT0hMCxuW0YuRC54aV09CkxvW0YuRC5tYV0pO2lmKGwpe3ZhciB4PXNDKGIueWEsRi5ELnlmLG4pO21EKHgsZiE9bnVsbD9mOmEuTS5ldmVudElkLHtldmVudE1ldGFkYXRhOnB9KX1kPWg7Yz1nO2IuWi5Uaj0hMH0pO3RoaXMuUj0hMH19O2suTHE9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWUhPT1GLkQuSmImJnRoaXMuSy5LcShhKX07dmFyIGdTPWZ1bmN0aW9uKGEpe2lmKCFmUyhhKSl7dmFyIGI9ITEsYz1mdW5jdGlvbigpeyFiJiZmUyhhKSYmKGI9ITAsYWQoQiwidmlzaWJpbGl0eWNoYW5nZSIsYyksYWQoQiwicHJlcmVuZGVyaW5nY2hhbmdlIixjKSxQKDU1KSl9OyRjKEIsInZpc2liaWxpdHljaGFuZ2UiLGMpOyRjKEIsInByZXJlbmRlcmluZ2NoYW5nZSIsYyk7UCg1NCl9fSxmUz1mdW5jdGlvbihhKXtpZigicHJlcmVuZGVyaW5nImluIEI/Qi5wcmVyZW5kZXJpbmc6Qi52aXNpYmlsaXR5U3RhdGU9PT0icHJlcmVuZGVyIilyZXR1cm4hMTthKCk7cmV0dXJuITB9O2Z1bmN0aW9uIGhTKGEpe2dTKGZ1bmN0aW9uKCl7dmFyIGI9YkMoYSk7aWYoYil7dmFyIGM9aVMoYiksZD1jby5pYS54ZCxlPVlDKCksZj1iQyhhLCEwKTtmJiZlLkgucmVnaXN0ZXIoZixjLGQsdm9pZCAwKX19KTt9ZnVuY3Rpb24gaVMoYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O3ZhciBjPW5ldyBlUyhhLmlkKSxkPWEucHJlZml4PT09Ik1DIjtiPWZ1bmN0aW9uKGUsZixnLGgpe2QmJihoLmV2ZW50TWV0YWRhdGFbSC5KLmJlXT0hMCk7Yy5acyhmLGcsaCl9O2pTKGEsYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGpTKGEsYil7dmFyIGM9Yi5LO2MuaHQoZnVuY3Rpb24oKXtaayg5LCEwKTtZQygpLmZsdXNoKCk7aWYoYy5ZaCgpPj0xRTMmJmtkKCkpe3ZhciBkPXt9LGU9e2V2ZW50SWQ6cmooKSxldmVudE1ldGFkYXRhOihkW0guSi5La109ITAsZCksZGVmZXJyYWJsZTohMH07WkMoRi5ELnlmLHt9LGEuaWQsZSl9Yi5mbHVzaCgpO2MuQ28oZnVuY3Rpb24oKXtaayg5LCExKTtjLkNvKCl9KX0pO312YXIga1M9Si5VLnFsLGxTPUouVS5ybDtmdW5jdGlvbiBtUyhhLGIpe3ZhciBjPXRrKCk7YyYmYy5pbmRleE9mKGIpPi0xJiYoYVtILkouQ2NdPSEwKX1mdW5jdGlvbiBvUyhhLGIsYyl7dmFyIGQ9dGhpczt9b1MuUD0iaW50ZXJuYWwuZ3RhZ0NvbmZpZyI7ZnVuY3Rpb24gcFMoYSxiLGMsZCl7dmFyIGU9dGhpczt9cFMuUD0iaW50ZXJuYWwuZ3RhZ0Rlc3RpbmF0aW9uQ29uZmlnIjsKZnVuY3Rpb24gclMoYSxiKXt9CnJTLnB1YmxpY05hbWU9Imd0YWdTZXQiO2Z1bmN0aW9uIHNTKCl7dmFyIGE9e307cmV0dXJuIGF9O2Z1bmN0aW9uIHRTKGEpe310Uy5QPSJpbnRlcm5hbC5pbml0aWFsaXplU2VydmljZVdvcmtlciI7ZnVuY3Rpb24gdVMoYSxiKXt9dVMucHVibGljTmFtZT0iaW5qZWN0SGlkZGVuSWZyYW1lIjtmdW5jdGlvbiB2UyhhLGIsYyxkLGUpe312Uy5QPSJpbnRlcm5hbC5pbmplY3RIdG1sIjt2YXIgQVM9e2RsOjEsaWQ6MX07CmZ1bmN0aW9uIEJTKGEsYixjLGQpe31CUy5wdWJsaWNOYW1lPSJpbmplY3RTY3JpcHQiO2Z1bmN0aW9uIENTKCl7dmFyIGE9dm0sYj0hMTtiPSEhYS5IWyI1Il07cmV0dXJuIGJ9Q1MuUD0iaW50ZXJuYWwuaXNBdXRvUGlpRWxpZ2libGUiO2Z1bmN0aW9uIERTKGEpe3ZhciBiPSEwO3JldHVybiBifURTLnB1YmxpY05hbWU9ImlzQ29uc2VudEdyYW50ZWQiO2Z1bmN0aW9uIEVTKGEpe3ZhciBiPSExO3JldHVybiBifUVTLlA9ImludGVybmFsLmlzRGVidWdNb2RlIjtmdW5jdGlvbiBGUyhhKXt2YXIgYj0hMTtyZXR1cm4gYn1GUy5QPSJpbnRlcm5hbC5pc0Rlc3RpbmF0aW9uSW5pdGlhbGl6ZWQiO2Z1bmN0aW9uIEdTKCl7cmV0dXJuIEJtKCl9R1MuUD0iaW50ZXJuYWwuaXNEbWFSZWdpb24iO2Z1bmN0aW9uIEhTKCl7cmV0dXJuIFVCKCl9SFMuUD0iaW50ZXJuYWwuaXNEb21SZWFkeSI7ZnVuY3Rpb24gSVMoYSl7dmFyIGI9ITE7cmV0dXJuIGJ9SVMuUD0iaW50ZXJuYWwuaXNFbnRpdHlJbmZyYXN0cnVjdHVyZSI7ZnVuY3Rpb24gSlMoYSl7dmFyIGI9ITE7aWYoIXFoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJudW1iZXIiXSxbYV0pO2I9TShhKTtyZXR1cm4gYn1KUy5QPSJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIjtmdW5jdGlvbiBLUygpe3ZhciBhPSExO3JldHVybiBhfUtTLlA9ImludGVybmFsLmlzRnBmZSI7ZnVuY3Rpb24gTFMoKXt2YXIgYT0hMTtyZXR1cm4gYX1MUy5QPSJpbnRlcm5hbC5pc0djcEJyb3dzZXIiO2Z1bmN0aW9uIE1TKCl7dmFyIGE9ITE7cmV0dXJuIGF9TVMuUD0iaW50ZXJuYWwuaXNMYW5kaW5nUGFnZSI7ZnVuY3Rpb24gTlMoKXt2YXIgYT0hMTtyZXR1cm4gYX1OUy5QPSJpbnRlcm5hbC5pc09ndCI7ZnVuY3Rpb24gT1MoKXt2YXIgYTtyZXR1cm4gYX1PUy5QPSJpbnRlcm5hbC5pc1NhZmFyaVBjbUVsaWdpYmxlQnJvd3NlciI7ZnVuY3Rpb24gUFMoKXt2YXIgYT1RaChmdW5jdGlvbihiKXtYRih0aGlzKS5sb2coImVycm9yIixiKX0pO2EucHVibGljTmFtZT0iSlNPTiI7cmV0dXJuIGF9O2Z1bmN0aW9uIFFTKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYil9UVMuUD0iaW50ZXJuYWwubGVnYWN5UGFyc2VVcmwiO2Z1bmN0aW9uIFJTKCl7cmV0dXJuITF9CnZhciBTUz17Z2V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj1udWxsO3JldHVybiBifSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuITF9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7fX07ZnVuY3Rpb24gVFMoKXt9VFMucHVibGljTmFtZT0ibG9nVG9Db25zb2xlIjtmdW5jdGlvbiBVUyhhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3QiXSxhcmd1bWVudHMpO3ZhciBjPWEsZD1UZChiLHRoaXMuVCksZT1ZQygpLGY9YkMoYywhMCk7ZiYmVEMoZS5ILGYsZCk7fVVTLlA9ImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIjtmdW5jdGlvbiBWUyhhLGIsYyl7Yz1jPT09dm9pZCAwPyEwOmM7dmFyIGQ9W107cmV0dXJuIFVkKGQpfVZTLlA9ImludGVybmFsLnBhcnNlQ29va2llVmFsdWVzRnJvbVN0cmluZyI7ZnVuY3Rpb24gV1MoYSl7dmFyIGI9dm9pZCAwO2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuO2EmJlNiKGEsIi8vIikmJihhPUIubG9jYXRpb24ucHJvdG9jb2wrYSk7aWYodHlwZW9mIFVSTD09PSJmdW5jdGlvbiIpe3ZhciBjO2E6e3ZhciBkO3RyeXtkPW5ldyBVUkwoYSl9Y2F0Y2goeCl7Yz12b2lkIDA7YnJlYWsgYX1mb3IodmFyIGU9e30sZj1BcnJheS5mcm9tKGQuc2VhcmNoUGFyYW1zKSxnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ11bMF0sbD1mW2ddWzFdO2UuaGFzT3duUHJvcGVydHkoaCk/dHlwZW9mIGVbaF09PT0ic3RyaW5nIj9lW2hdPVtlW2hdLGxdOmVbaF0ucHVzaChsKTplW2hdPWx9Yz17aHJlZjpkLmhyZWYsb3JpZ2luOmQub3JpZ2luLHByb3RvY29sOmQucHJvdG9jb2wsdXNlcm5hbWU6ZC51c2VybmFtZSxwYXNzd29yZDpkLnBhc3N3b3JkLGhvc3Q6ZC5ob3N0LGhvc3RuYW1lOmQuaG9zdG5hbWUsCnBvcnQ6ZC5wb3J0LHBhdGhuYW1lOmQucGF0aG5hbWUsc2VhcmNoOmQuc2VhcmNoLHNlYXJjaFBhcmFtczplLGhhc2g6ZC5oYXNofX1yZXR1cm4gVWQoYyl9dmFyIG47dHJ5e249UmooYSl9Y2F0Y2goeCl7cmV0dXJufWlmKCFuLnByb3RvY29sfHwhbi5ob3N0KXJldHVybjt2YXIgcD17fTtpZihuLnNlYXJjaClmb3IodmFyIHE9bi5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikscj0wO3I8cS5sZW5ndGg7cisrKXt2YXIgdD1xW3JdLnNwbGl0KCI9IiksdT10WzBdLHY9S2oodC5zcGxpY2UoMSkuam9pbigiPSIpKXx8IiI7dj12LnJlcGxhY2UoL1wrL2csIiAiKTtwLmhhc093blByb3BlcnR5KHUpP3R5cGVvZiBwW3VdPT09InN0cmluZyI/cFt1XT1bcFt1XSx2XTpwW3VdLnB1c2godik6cFt1XT12fW4uc2VhcmNoUGFyYW1zPXA7bi5vcmlnaW49bi5wcm90b2NvbCsiLy8iK24uaG9zdDtuLnVzZXJuYW1lPSIiO24ucGFzc3dvcmQ9IiI7Yj1VZChuKTsKcmV0dXJuIGJ9V1MucHVibGljTmFtZT0icGFyc2VVcmwiO2Z1bmN0aW9uIFhTKGEpe31YUy5QPSJpbnRlcm5hbC5wcm9jZXNzQXNOZXdFdmVudCI7ZnVuY3Rpb24gWVMoYSxiLGMpe3ZhciBkO3JldHVybiBkfVlTLlA9ImludGVybmFsLnB1c2hUb0RhdGFMYXllciI7ZnVuY3Rpb24gWlMoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9ITE7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO2Zvcih2YXIgZD1bdGhpcyxhXSxlPW0oYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZC5wdXNoKFRkKGYudmFsdWUsdGhpcy5ULDEpKTt0cnl7TC5hcHBseShudWxsLGQpLGM9ITB9Y2F0Y2goZyl7cmV0dXJuITF9cmV0dXJuIGN9WlMucHVibGljTmFtZT0icXVlcnlQZXJtaXNzaW9uIjtmdW5jdGlvbiAkUyhhKXt2YXIgYj10aGlzO30kUy5QPSJpbnRlcm5hbC5xdWV1ZUFkc1RyYW5zbWlzc2lvbiI7ZnVuY3Rpb24gYVQoYSl7dmFyIGI9dm9pZCAwO3JldHVybiBifWFULnB1YmxpY05hbWU9InJlYWRBbmFseXRpY3NTdG9yYWdlIjtmdW5jdGlvbiBiVCgpe3ZhciBhPSIiO3JldHVybiBhfWJULnB1YmxpY05hbWU9InJlYWRDaGFyYWN0ZXJTZXQiO2Z1bmN0aW9uIGNUKCl7cmV0dXJuIEUoMTkpfWNULlA9ImludGVybmFsLnJlYWREYXRhTGF5ZXJOYW1lIjtmdW5jdGlvbiBkVCgpe3ZhciBhPSIiO3JldHVybiBhfWRULnB1YmxpY05hbWU9InJlYWRUaXRsZSI7ZnVuY3Rpb24gZVQoYSxiKXt2YXIgYz10aGlzO2lmKCFsaChhKXx8IWhoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJmdW5jdGlvbiJdLGFyZ3VtZW50cyk7TE0oYSxmdW5jdGlvbihkKXtiLmludm9rZShjLlQsVWQoZCxjLlQsMSkpfSk7fWVULlA9ImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siO2Z1bmN0aW9uIGZUKGEsYil7aWYoIWxoKGEpfHwhZWgoYikmJiFnaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoQmgoWEYodGhpcykuUGIoKSkpcmV0dXJuITE7dmFyIGMsZCxlPWJDKGEsITApO2lmKCFlKXJldHVybiExO3N3aXRjaChlLnByZWZpeCl7Y2FzZSAiQVciOmM9dE47ZD1jby5pYS5jYjticmVhaztjYXNlICJEQyI6Yz1JTjtkPWNvLmlhLmNiO2JyZWFrO2Nhc2UgIkdGIjpjPU5OO2Q9Y28uaWEuZ2Q7YnJlYWs7Y2FzZSAiSEEiOmM9UE47ZD1jby5pYS5nZDticmVhaztjYXNlICJVQSI6Yz1mTztkPWNvLmlhLmdkO2JyZWFrO2Nhc2UgIk1DIjpjPWlTKGUpO2Q9Y28uaWEueGQ7YnJlYWs7Y2FzZSAiRyI6cmV0dXJuIGhTKGEpLCEwO2RlZmF1bHQ6cmV0dXJuITF9dmFyIGY9YSwKZz1jLGg9ZCxsPVRkKGIsdGhpcy5ULDEpLG49WUMoKSxwPWJDKGYsITApO3AmJm4uSC5yZWdpc3RlcihwLGcsaCxsKTtyZXR1cm4hMH1mVC5QPSJpbnRlcm5hbC5yZWdpc3RlckRlc3RpbmF0aW9uIjt2YXIgZ1Q9WyJldmVudCJdO2Z1bmN0aW9uIGhUKGEsYixjKXt9aFQuUD0iaW50ZXJuYWwucmVnaXN0ZXJHdGFnQ29tbWFuZExpc3RlbmVyIjtmdW5jdGlvbiBpVChhLGIpe3ZhciBjPSExO3JldHVybiBjfWlULlA9ImludGVybmFsLnJlbW92ZURhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIGpUKGEsYil7fQpqVC5QPSJpbnRlcm5hbC5yZW1vdmVGb3JtRGF0YSI7ZnVuY3Rpb24ga1QoKXt9a1QucHVibGljTmFtZT0icmVzZXREYXRhTGF5ZXIiO2Z1bmN0aW9uIGxUKGEsYixjKXt2YXIgZD12b2lkIDA7cmV0dXJuIGR9bFQuUD0iaW50ZXJuYWwuc2NydWJVcmxQYXJhbXMiO2Z1bmN0aW9uIG1UKGEpe31tVC5QPSJpbnRlcm5hbC5zZW5kQWRzSGl0IjtmdW5jdGlvbiBuVChhLGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fCFmaChkKXx8IWZoKGMpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJhbnkiLCJhbnkiLCJPYmplY3R8dW5kZWZpbmVkIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGU9Yz9UZChjLHRoaXMuVCwxKTp7fSxmPVRkKGEpLGc9QXJyYXkuaXNBcnJheShmKT9mOltmXTtiPVN0cmluZyhiKTt2YXIgaD1kP1RkKGQpOnt9LGw9WEYodGhpcyk7aC5vcmlnaW5hdGluZ0VudGl0eT10RyhsKTtsLnByaW9yaXR5UXVldWUmJihoLnByaW9yaXR5UXVldWU9bC5wcmlvcml0eVF1ZXVlKTtmb3IodmFyIG49MDtuPGcubGVuZ3RoO24rKyl7dmFyIHA9Z1tuXTtpZih0eXBlb2YgcD09PSJzdHJpbmciKXt2YXIgcT17fTtFZChlLHEpO3ZhciByPXt9O0VkKGgscik7dmFyIHQ9c0MocCxiLHEpO21EKHQsCmguZXZlbnRJZHx8bC5ldmVudElkLHIpfX19blQuUD0iaW50ZXJuYWwuc2VuZEd0YWdFdmVudCI7ZnVuY3Rpb24gb1QoYSxiLGMpe31vVC5wdWJsaWNOYW1lPSJzZW5kUGl4ZWwiO2Z1bmN0aW9uIHBUKGEsYil7fXBULlA9ImludGVybmFsLnNldEFuY2hvckhyZWYiO2Z1bmN0aW9uIHFUKGEpe31xVC5QPSJpbnRlcm5hbC5zZXRDb250YWluZXJDb25zZW50RGVmYXVsdHMiO2Z1bmN0aW9uIHJUKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY9ITE7CnJldHVybiBmfXJULnB1YmxpY05hbWU9InNldENvb2tpZSI7ZnVuY3Rpb24gc1QoYSl7fXNULlA9ImludGVybmFsLnNldENvcmVQbGF0Zm9ybVNlcnZpY2VzIjtmdW5jdGlvbiB0VChhLGIpe310VC5QPSJpbnRlcm5hbC5zZXREYXRhTGF5ZXJWYWx1ZSI7ZnVuY3Rpb24gdVQoYSl7fXVULnB1YmxpY05hbWU9InNldERlZmF1bHRDb25zZW50U3RhdGUiO2Z1bmN0aW9uIHZUKGEsYil7fXZULlA9ImludGVybmFsLnNldERlbGVnYXRlZENvbnNlbnRUeXBlIjtmdW5jdGlvbiB3VChhLGIpe313VC5QPSJpbnRlcm5hbC5zZXRGb3JtQWN0aW9uIjtmdW5jdGlvbiB4VChhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aWYoIWxoKGEpfHwhb2goYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSIsImJvb2xlYW58dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtpZigha20oYSkpdGhyb3cgRXJyb3IoInNldEluQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTsoY3x8bm0oYSk9PT12b2lkIDApJiZtbShhLFRkKGIsdGhpcy5ULDEpKTt9eFQuUD0iaW50ZXJuYWwuc2V0SW5Dcm9zc0NvbnRhaW5lckRhdGEiO2Z1bmN0aW9uIHlUKGEsYixjKXtyZXR1cm4hMX15VC5wdWJsaWNOYW1lPSJzZXRJbldpbmRvdyI7ZnVuY3Rpb24gelQoYSxiLGMpe316VC5QPSJpbnRlcm5hbC5zZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiO2Z1bmN0aW9uIEFUKGEsYixjKXtpZighbGgoYSl8fCFsaChiKXx8YXJndW1lbnRzLmxlbmd0aCE9PTMpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7Zm9yKHZhciBkPWIuc3BsaXQoIi4iKSxlPWVEKGEpLGY9MDtmPGQubGVuZ3RoLTE7ZisrKXtpZihlW2RbZl1dPT09dm9pZCAwKWVbZFtmXV09e307ZWxzZSBpZighQ2QoZVtkW2ZdXSkpdGhyb3cgRXJyb3IoInNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciBmYWlsZWQsIHBhdGggY29udGFpbnMgYSBub24tb2JqZWN0IHR5cGU6ICIrZFtmXSk7ZT1lW2RbZl1dfWVbZFtmXV09VGQoYyx0aGlzLlQsMSk7fUFULlA9ImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gQlQoYSxiKXt9CkJULlA9ImludGVybmFsLnNldFRyYW5zbWlzc2lvbk1vZGUiO2Z1bmN0aW9uIENUKGEsYixjLGQpe3ZhciBlPXRoaXM7fUNULnB1YmxpY05hbWU9InNoYTI1NiI7ZnVuY3Rpb24gRFQoYSxiLGMpe30KRFQuUD0iaW50ZXJuYWwuc29ydFJlbW90ZUNvbmZpZ1BhcmFtZXRlcnMiO2Z1bmN0aW9uIEVUKGEpe31FVC5QPSJpbnRlcm5hbC5zdG9yZUFkc0JyYWlkTGFiZWxzIjtmdW5jdGlvbiBGVChhLGIpe3ZhciBjPXZvaWQgMDtyZXR1cm4gY31GVC5QPSJpbnRlcm5hbC5zdWJzY3JpYmVUb0Nyb3NzQ29udGFpbmVyRGF0YSI7ZnVuY3Rpb24gR1QoYSl7fUdULlA9ImludGVybmFsLnRhc2tTZW5kQWRzSGl0cyI7dmFyIEhUPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBjPVhGKHRoaXMpLlBiKCksZD1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtkW2NdJiYoYj1kW2NdLmhhc093blByb3BlcnR5KCJndG0uIithKT9kW2NdWyJndG0uIithXTpudWxsKTtyZXR1cm4gYn0sc2V0SXRlbTpmdW5jdGlvbihhLGIpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYz1YRih0aGlzKS5QYigpLGQ9YWwoNyxmdW5jdGlvbigpe3JldHVybnt9fSk7ZFtjXT1kW2NdfHx7fTtkW2NdWyJndG0uIithXT1iO30sCnJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBiPVhGKHRoaXMpLlBiKCksYz1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtpZighY1tiXXx8IWNbYl0uaGFzT3duUHJvcGVydHkoImd0bS4iK2EpKXJldHVybjtkZWxldGUgY1tiXVsiZ3RtLiIrYV07fSxjbGVhcjpmdW5jdGlvbigpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYT1YRih0aGlzKS5QYigpO2RlbGV0ZSBhbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KVthXTt9LApwdWJsaWNOYW1lOiJ0ZW1wbGF0ZVN0b3JhZ2UifTtmdW5jdGlvbiBJVChhLGIpe3ZhciBjPSExO3JldHVybiBjfUlULlA9ImludGVybmFsLnRlc3RSZWdleCI7ZnVuY3Rpb24gSlQoYSl7dmFyIGI7cmV0dXJuIGJ9O2Z1bmN0aW9uIEtUKGEsYil7fUtULlA9ImludGVybmFsLnRyYWNrVXNhZ2UiO2Z1bmN0aW9uIExUKGEsYil7dmFyIGM7cmV0dXJuIGN9TFQuUD0iaW50ZXJuYWwudW5zdWJzY3JpYmVGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBNVChhKXt9TVQucHVibGljTmFtZT0idXBkYXRlQ29uc2VudFN0YXRlIjtmdW5jdGlvbiBOVChhKXt2YXIgYj0hMTtyZXR1cm4gYn1OVC5QPSJpbnRlcm5hbC51c2VyRGF0YU5lZWRzRW5jcnlwdGlvbiI7dmFyIE9UPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBhaX0sUVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGI7dmFyIGM9UFQuSDtpZihjLmNvbnRhaW5zKGEpKWI9Yy5nZXQoYSx0aGlzKTtlbHNle3ZhciBkO2lmKGQ9Yy5ILmhhc093blByb3BlcnR5KGEpKXt2YXIgZT10aGlzLlQueGIoKTtpZihlKXt2YXIgZj0hMSxnPWUuUGIoKTtpZihnKXtCaChnKXx8KGY9ITApO31kPWZ9ZWxzZSBkPSEwfWlmKGQpe3ZhciBoPWMuSC5oYXNPd25Qcm9wZXJ0eShhKT9jLkhbYV06dm9pZCAwO2I9aH1lbHNlIHRocm93IEVycm9yKGErIiBpcyBub3QgYSB2YWxpZCBBUEkgbmFtZS4iKTt9cmV0dXJuIGJ9fSxQVDtmdW5jdGlvbiBSVChhLGIsYyl7UFR8fChQVD1uZXcgT1QpO1BULkguYWRkKGEsYixjKX1mdW5jdGlvbiBTVChhLGIpe1BUfHwoUFQ9bmV3IE9UKTt2YXIgYz1QVC5IO2lmKGMuSC5oYXNPd25Qcm9wZXJ0eShhKSl0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhZGQgYSBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZihjLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBhbiBleGlzdGluZyBBUEkgbmFtZTogIithKyIuIik7Yy5IW2FdPXliKGIpP3RoKGEsYik6dWgoYSxiKX07ZnVuY3Rpb24gVFQoYSxiKXtmdW5jdGlvbiBjKGQpe2lmKCFlaChkKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0Il0sYXJndW1lbnRzKTt2YXIgZT1UZChkLHRoaXMuVCwxKS5yYigpO2EoZSl9Yy5QPSJpbnRlcm5hbC4iK2I7cmV0dXJuIGN9O2Z1bmN0aW9uIFVUKCl7dmFyIGE9ZnVuY3Rpb24oYyl7cmV0dXJuIHZvaWQgU1QoYy5QLGMpfSxiPWZ1bmN0aW9uKGMpe3JldHVybiB2b2lkIFJUKGMucHVibGljTmFtZSxjKX07YihSRik7YihZRik7YihSRyk7YihURyk7YihVRyk7YihkSCk7YihmSCk7YihoSSk7YihQUygpKTtiKGpJKTtiKE9PKTtiKFBPKTtiKGxQKTtiKG1QKTtiKG5QKTtiKHVQKTtiKHZQKTtiKHJTKTtiKHVTKTtiKEJTKTtiKERTKTtiKFRTKTtiKFdTKTtiKFpTKTtiKGFUKTtiKGJUKTtiKGRUKTtiKG9UKTtiKHJUKTtiKHVUKTtiKHlUKTtiKENUKTtiKEhUKTtiKE1UKTtSVCgiTWF0aCIsemgoKSk7UlQoIk9iamVjdCIsWmgpO1JUKCJUZXN0SGVscGVyIixjaSgpKTtSVCgiYXNzZXJ0QXBpIix3aCk7UlQoImFzc2VydFRoYXQiLHhoKTtSVCgiZGVjb2RlVXJpIixDaCk7UlQoImRlY29kZVVyaUNvbXBvbmVudCIsRGgpO1JUKCJlbmNvZGVVcmkiLEVoKTtSVCgiZW5jb2RlVXJpQ29tcG9uZW50IixGaCk7UlQoImZhaWwiLApMaCk7UlQoImdlbmVyYXRlUmFuZG9tIixOaCk7UlQoImdldFRpbWVzdGFtcCIsT2gpO1JUKCJnZXRUaW1lc3RhbXBNaWxsaXMiLE9oKTtSVCgiZ2V0VHlwZSIsUGgpO1JUKCJtYWtlSW50ZWdlciIsUmgpO1JUKCJtYWtlTnVtYmVyIixTaCk7UlQoIm1ha2VTdHJpbmciLFRoKTtSVCgibWFrZVRhYmxlTWFwIixVaCk7UlQoIm1vY2siLFhoKTtSVCgibW9ja09iamVjdCIsWWgpO1JUKCJmcm9tQmFzZTY0IixITywhKCJhdG9iImluIEEpKTtSVCgibG9jYWxTdG9yYWdlIixTUywhUlMoKSk7UlQoInRvQmFzZTY0IixKVCwhKCJidG9hImluIEEpKTthKFFGKTthKFVGKTthKG5HKTthKHNHKTthKElHKTthKFBHKTthKFNHKTthKFZHKTthKFdHKTthKFpHKTthKCRHKTthKGFIKTthKGJIKTthKGNIKTthKGVIKTthKGdIKTthKGdJKTthKGlJKTthKGtJKTthKGxJKTthKG1JKTthKG5JKTthKG9JKTthKGZKKTthKG1KKTthKHRKKTthKHVKKTthKEFKKTthKEZKKTthKEtKKTthKFJKKTthKFdKKTthKGdLKTsKYShpSyk7YSh2Syk7YSh3Syk7YSh4Syk7YShGTyk7YShHTyk7YShJTyk7YShKTyk7YShLTyk7YShMTyk7YShNTyk7YShOTyk7YShRTyk7YShSTyk7YShTTyk7YShUTyk7YShVTyk7YShWTyk7YShXTyk7YShYTyk7YShZTyk7YShaTyk7YSgkTyk7YShhUCk7YShiUCk7YShjUCk7YShkUCk7YShlUCk7YShmUCk7YShnUCk7YShoUCk7YShpUCk7YShqUCk7YShrUCk7YShvUCk7YShwUCk7YShxUCk7YShyUCk7YShzUCk7YSh0UCk7YSh3UCk7YShvUyk7YShwUyk7YSh0Uyk7YSh2Uyk7YShDUyk7YShFUyk7YShGUyk7YShHUyk7YShIUyk7YShJUyk7YShKUyk7YShLUyk7YShMUyk7YShNUyk7YShOUyk7YShPUyk7YShRUyk7YShHRyk7YShVUyk7YShWUyk7YShYUyk7YShZUyk7YSgkUyk7YShjVCk7YShlVCk7YShmVCk7YShoVCk7YShpVCk7YShqVCk7YShsVCk7YShtVCk7YShuVCk7YShwVCk7YShxVCk7YShzVCk7YSh0VCk7YSh2VCk7YSh3VCk7YSh4VCk7YSh6VCk7YShBVCk7YShCVCk7YShEVCk7CmEoRVQpO2EoRlQpO2EoR1QpO2EoSVQpO2EoS1QpO2EoTFQpO2EoTlQpO1NUKCJpbnRlcm5hbC5JZnJhbWluZ1N0YXRlU2NoZW1hIixzUygpKTtTVCgiaW50ZXJuYWwucXVpY2tIYXNoIixNaCk7YShUVChNRiwidGFza1NldEFkc1RyYW5zbWlzc2lvblR5cGUiKSksYShUVChQRiwidGFza1NldFVuaXZlcnNhbFBhcmFtcyIpKTtQVHx8KFBUPW5ldyBPVCk7cmV0dXJuIFFUKCl9O3ZhciBKRjtmdW5jdGlvbiBWVCgpe0pGLnNkKGZ1bmN0aW9uKGEsYixjKXtsaigpO3ZhciBkPWpqO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPWQuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFfHwwO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFKys7dHJ5e3JldHVybiBhLmFwcGx5KGIsYyl9ZmluYWxseXtsaigpLGpqLkguU0FOREJPWEVEX0pTX1NFTUFQSE9SRS0tfX0pfWZ1bmN0aW9uIFdUKGEpe2lmKGEmJmEubGVuZ3RoKWZvcih2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSksYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLnJlcGxhY2UoL15fKi8sIiIpO2JbZF09WyJzYW5kYm94ZWRTY3JpcHRzIl19fQpmdW5jdGlvbiBYVChhKXtpZihhKXt2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSk7R2IoYSxmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLnJlcGxhY2UoL15fKi8sIiIpO2JbZl09YltmXXx8W107YltmXS5wdXNoKGMpfX0pfX07ZnVuY3Rpb24gWlQoYSl7bUQocEMoImRldmVsb3Blcl9pZC4iK2EsITApLDAse30pfTtmdW5jdGlvbiAkVChhLGIpe3JldHVybiBFZChhLGJ8fG51bGwpfWZ1bmN0aW9uIFkoYSl7cmV0dXJuIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoYSl9ZnVuY3Rpb24gYVUoYSl7WmMoYSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBiVShhKXt2YXIgYj1bInZlaW50ZXJhY3RpdmUuY29tIiwidmUtaW50ZXJhY3RpdmUuY24iXTtpZighYSlyZXR1cm4hMTt2YXIgYz1MaihSaihhKSwiaG9zdCIpO2lmKCFjKXJldHVybiExO2Zvcih2YXIgZD0wO2ImJmQ8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdJiZiW2RdLnRvTG93ZXJDYXNlKCk7aWYoZSl7dmFyIGY9Yy5sZW5ndGgtZS5sZW5ndGg7Zj4wJiZlLmNoYXJBdCgwKSE9PSIuIiYmKGYtLSxlPSIuIitlKTtpZihmPj0wJiZjLmluZGV4T2YoZSxmKT09PWYpcmV0dXJuITB9fXJldHVybiExfQpmdW5jdGlvbiBjVShhLGIsYyl7Zm9yKHZhciBkPXt9LGU9ITEsZj0wO2EmJmY8YS5sZW5ndGg7ZisrKWFbZl0mJmFbZl0uaGFzT3duUHJvcGVydHkoYikmJmFbZl0uaGFzT3duUHJvcGVydHkoYykmJihkW2FbZl1bYl1dPWFbZl1bY10sZT0hMCk7cmV0dXJuIGU/ZDpudWxsfWZ1bmN0aW9uIGRVKGEsYil7dmFyIGM9e307aWYoYSlmb3IodmFyIGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT1hW2RdKTtpZihiKXt2YXIgZT1jVShiLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJWYWx1ZSIpO2UmJihjPSRUKGUsYykpfXJldHVybiBjfWZ1bmN0aW9uIGVVKGEsYixjKXtyZXR1cm4gYT09PXZvaWQgMHx8YT09PWM/YjphfWZ1bmN0aW9uIGZVKGEsYixjKXtyZXR1cm4gVWMoYSxiLGMsdm9pZCAwKX1mdW5jdGlvbiBnVShhLGIpe0FbYV09Yn1mdW5jdGlvbiBoVShhLGIsYyl7dmFyIGQ9QTtiJiYoZFthXT09PXZvaWQgMHx8YyYmIWRbYV0pJiYoZFthXT1iKTtyZXR1cm4gZFthXX12YXIgaVU9e30salU9WC5WO3ZhciBaPXtzZWN1cml0eUdyb3Vwczp7fX07CgpaLnNlY3VyaXR5R3JvdXBzLmFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPVsiZ29vZ2xlIl0sWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPWZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxaLl9fYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UuTz0iYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5pc1ZlbmRvclRlbXBsYXRlPSEwLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5wcmlvcml0eU92ZXJyaWRlPTAsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI1Il09ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI2Il09ITE7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9ldmVudF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2tleTpjfX0oZnVuY3Rpb24oYil7Wi5fX3JlYWRfZXZlbnRfZGF0YT1iO1ouX19yZWFkX2V2ZW50X2RhdGEuTz0icmVhZF9ldmVudF9kYXRhIjtaLl9fcmVhZF9ldmVudF9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5pc0luZnJhc3RydWN0dXJlPSExO1ouX19yZWFkX2V2ZW50X2RhdGFbIjUiXT0hMTtaLl9fcmVhZF9ldmVudF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9ldmVudERhdGFBY2Nlc3MsZD1iLnZ0cF9rZXlQYXR0ZXJuc3x8W10sZT1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihmLGcpe2lmKGchPW51bGwmJiF6YihnKSl0aHJvdyBlKGYse2tleTpnfSwiS2V5IG11c3QgYmUgYSBzdHJpbmcuIik7CmlmKGMhPT0iYW55Iil7dHJ5e2lmKGM9PT0ic3BlY2lmaWMiJiZnIT1udWxsJiZFZyhnLGQpKXJldHVybn1jYXRjaChoKXt0aHJvdyBlKGYse2tleTpnfSwiSW52YWxpZCBrZXkgZmlsdGVyLiIpO310aHJvdyBlKGYse2tleTpnfSwiUHJvaGliaXRlZCByZWFkIGZyb20gZXZlbnQgZGF0YS4iKTt9fSxhYTphfX0pfSgpOwoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczp7Zml4TWlzc2luZ0FwaTohIWMuZml4TWlzc2luZ0FwaX19fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzPWI7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cy5PPSJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50c1siNSJdPSExO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHNbIjYiXT0KITF9KShmdW5jdGlvbihiKXt2YXIgYz0hIWIudnRwX2FsbG93Rml4TWlzc2luZ0phdmFTY3JpcHRBcGksZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihlLGYpe2lmKCFjJiZmJiZmLmZpeE1pc3NpbmdBcGkpdGhyb3cgZChlLHt9LCJQcm9oaWJpdGVkIG9wdGlvbjogZml4TWlzc2luZ0FwaS4iKTt9LGFhOmF9fSl9KCk7CgoKCgoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1bImdvb2dsZSJdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3JldHVybnt9fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1iO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLk89ImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTphfX0pfSgpOwoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue29wdGlvbnM6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzLk89ImRldGVjdF9saW5rX2NsaWNrX2V2ZW50cyI7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWxsb3dXYWl0Rm9yVGFncyxkPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGUsCmYpe2lmKCFjJiZmJiZmLndhaXRGb3JUYWdzKXRocm93IGQoZSx7fSwiUHJvaGliaXRlZCBvcHRpb24gd2FpdEZvclRhZ3MuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczpjfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9YjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5PPSJkZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93V2FpdEZvclRhZ3MsZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7CnJldHVybnthc3NlcnQ6ZnVuY3Rpb24oZSxmKXtpZighYyYmZiYmZi53YWl0Rm9yVGFncyl0aHJvdyBkKGUse30sIlByb2hpYml0ZWQgb3B0aW9uIHdhaXRGb3JUYWdzLiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5yZWFkX2NvbnRhaW5lcl9kYXRhPVsiZ29vZ2xlIl0sWi5fX3JlYWRfY29udGFpbmVyX2RhdGE9ZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTpmdW5jdGlvbigpe3JldHVybnt9fX19LFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLk89InJlYWRfY29udGFpbmVyX2RhdGEiLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITAsWi5fX3JlYWRfY29udGFpbmVyX2RhdGEucHJpb3JpdHlPdmVycmlkZT0wLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX3JlYWRfY29udGFpbmVyX2RhdGFbIjUiXT0hMSxaLl9fcmVhZF9jb250YWluZXJfZGF0YVsiNiJdPSExOwpaLnNlY3VyaXR5R3JvdXBzLmxpc3Rlbl9kYXRhX2xheWVyPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2V2ZW50TmFtZTpjfX0oZnVuY3Rpb24oYil7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyPWI7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyLk89Imxpc3Rlbl9kYXRhX2xheWVyIjtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIucHJpb3JpdHlPdmVycmlkZT0wO1ouX19saXN0ZW5fZGF0YV9sYXllci5pc0luZnJhc3RydWN0dXJlPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNSJdPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWNjZXNzVHlwZSxkPWIudnRwX2FsbG93ZWRFdmVudHN8fFtdLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnKXtpZighemIoZykpdGhyb3cgZShmLHtldmVudE5hbWU6Z30sCiJFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcuIik7aWYoIShjPT09ImFueSJ8fGM9PT0ic3BlY2lmaWMiJiZkLmluZGV4T2YoZyk+PTApKXRocm93IGUoZix7ZXZlbnROYW1lOmd9LCJQcm9oaWJpdGVkIGxpc3RlbiBvbiBkYXRhIGxheWVyIGV2ZW50LiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2RhdGFTb3VyY2U6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPWI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuTz0iZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YVsiNSJdPSExO1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihkLAplKXtpZihlIT09ImF1dG8iJiZlIT09Im1hbnVhbCImJmUhPT0iY29kZSIpdGhyb3cgYyhkLHt9LCJVbmtub3duIHVzZXIgcHJvdmlkZWQgZGF0YSBzb3VyY2UuIik7aWYoYi52dHBfbGltaXREYXRhU291cmNlcylpZihlIT09ImF1dG8ifHxiLnZ0cF9hbGxvd0F1dG9EYXRhU291cmNlcyl7aWYoZT09PSJtYW51YWwiJiYhYi52dHBfYWxsb3dNYW51YWxEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgdmlhIG1hbnVhbGx5IHNwZWNpZmllZCBDU1Mgc2VsZWN0b3JzIGlzIG5vdCBhbGxvd2VkLiIpO2lmKGU9PT0iY29kZSImJiFiLnZ0cF9hbGxvd0NvZGVEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgZnJvbSBhbiBpbi1wYWdlIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkLiIpO31lbHNlIHRocm93IGMoZCx7fSwiQXV0b21hdGljIGRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgaXMgbm90IGFsbG93ZWQuIik7Cn0sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5nZXRfdXJsPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyxkKXtyZXR1cm57Y29tcG9uZW50OmMscXVlcnlLZXk6ZH19KGZ1bmN0aW9uKGIpe1ouX19nZXRfdXJsPWI7Wi5fX2dldF91cmwuTz0iZ2V0X3VybCI7Wi5fX2dldF91cmwuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZ2V0X3VybC5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2dldF91cmwuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZ2V0X3VybFsiNSJdPSExO1ouX19nZXRfdXJsWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF91cmxQYXJ0cz09PSJhbnkiP251bGw6W107YyYmKGIudnRwX3Byb3RvY29sJiZjLnB1c2goInByb3RvY29sIiksYi52dHBfaG9zdCYmYy5wdXNoKCJob3N0IiksYi52dHBfcG9ydCYmYy5wdXNoKCJwb3J0IiksYi52dHBfcGF0aCYmYy5wdXNoKCJwYXRoIiksYi52dHBfZXh0ZW5zaW9uJiZjLnB1c2goImV4dGVuc2lvbiIpLGIudnRwX3F1ZXJ5JiYKYy5wdXNoKCJxdWVyeSIpLGIudnRwX2ZyYWdtZW50JiZjLnB1c2goImZyYWdtZW50IikpO3ZhciBkPWMmJmIudnRwX3F1ZXJpZXNBbGxvd2VkIT09ImFueSI/Yi52dHBfcXVlcnlLZXlzfHxbXTpudWxsLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnLGgpe2lmKGcpe2lmKCF6YihnKSl0aHJvdyBlKGYse30sIlVSTCBjb21wb25lbnQgbXVzdCBiZSBhIHN0cmluZy4iKTtpZihjJiZjLmluZGV4T2YoZyk8MCl0aHJvdyBlKGYse30sIlByb2hpYml0ZWQgVVJMIGNvbXBvbmVudDogIitnKTtpZihnPT09InF1ZXJ5IiYmZCl7aWYoIWgpdGhyb3cgZShmLHt9LCJQcm9oaWJpdGVkIGZyb20gZ2V0dGluZyBlbnRpcmUgVVJMIHF1ZXJ5IHdoZW4gcXVlcnkga2V5cyBhcmUgc3BlY2lmaWVkLiIpO2lmKCF6YihoKSl0aHJvdyBlKGYse30sIlF1ZXJ5IGtleSBtdXN0IGJlIGEgc3RyaW5nLiIpO2lmKGQuaW5kZXhPZihoKTwwKXRocm93IGUoZix7fSwKIlByb2hpYml0ZWQgcXVlcnkga2V5OiAiK2gpO319ZWxzZSBpZihjKXRocm93IGUoZix7fSwiUHJvaGliaXRlZCBmcm9tIGdldHRpbmcgZW50aXJlIFVSTCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4iKTt9LGFhOmF9fSl9KCk7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9kb21fZWxlbWVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnt0eXBlOmMsdmFsdWU6ZH19KGZ1bmN0aW9uKGIpe1ouX19yZWFkX2RvbV9lbGVtZW50cz1iO1ouX19yZWFkX2RvbV9lbGVtZW50cy5PPSJyZWFkX2RvbV9lbGVtZW50cyI7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fcmVhZF9kb21fZWxlbWVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjUiXT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93ZWRFbGVtZW50SWRzfHwibm9uZSIsZD1iLnZ0cF9hbGxvd2VkQ3NzU2VsZWN0b3JzfHwibm9uZSIsZT1iLnZ0cF9lbGVtZW50SWRzfHxbXSxmPWIudnRwX2Nzc1NlbGVjdG9yc3x8W10sZz0KYi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oaCxsLG4pe3N3aXRjaChsKXtjYXNlICJpZCI6aWYoYz09PSJub25lIilicmVhaztpZihjPT09ImFueSJ8fGUuaW5kZXhPZihuKT4tMSlyZXR1cm47YnJlYWs7Y2FzZSAiY3NzIjppZihkPT09Im5vbmUiKWJyZWFrO2lmKGQ9PT0iYW55Inx8Zi5pbmRleE9mKG4pPi0xKXJldHVybjticmVhaztkZWZhdWx0OnRocm93IGcoaCx7fSwiVW5rbm93biBzZWxlY3RvciB0eXBlICIrbCsiLiIpO310aHJvdyBnKGgse30sIlByb2hpYml0ZWQgc2VsZWN0b3IgdmFsdWUgIituKyIgZm9yIHNlbGVjdG9yIHR5cGUgIitsKyIuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9jbGlja19ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnttYXRjaENvbW1vbkJ1dHRvbnM6Yyxjc3NTZWxlY3RvcjpkfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5PPSJkZXRlY3RfY2xpY2tfZXZlbnRzIjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9jbGlja19ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGQsZSxmKXtpZihlIT09dm9pZCAwJiZ0eXBlb2YgZSE9PQoiYm9vbGVhbiIpdGhyb3cgYyhkLHt9LCJtYXRjaENvbW1vbkJ1dHRvbnMgbXVzdCBiZSBhIGJvb2xlYW4uIik7aWYoZiE9PXZvaWQgMCYmdHlwZW9mIGYhPT0ic3RyaW5nIil0aHJvdyBjKGQse30sImNzc1NlbGVjdG9yIG11c3QgYmUgYSBzdHJpbmcuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9zY3JvbGxfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7cmV0dXJue319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cz1iO1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cy5PPSJkZXRlY3Rfc2Nyb2xsX2V2ZW50cyI7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6YX19KX0oKTsKCgoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57fX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cz1iO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMuTz0iZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzWyI2Il09ITF9KShmdW5jdGlvbigpe3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oKXt9LAphYTphfX0pfSgpOwpmdW5jdGlvbiBrVSgpe3ZhciBhPXt9LGI9e2RhdGFMYXllcjp0QSxjYWxsYmFjazpmdW5jdGlvbihjKXthLmhhc093blByb3BlcnR5KGMpJiZ5YihhW2NdKSYmYVtjXSgpO2RlbGV0ZSBhW2NdfSxib290c3RyYXA6MH07cmV0dXJuIGJ9CmZ1bmN0aW9uIGxVKCl7dmFyIGE9a1UoKTtvaihhKTtDaygpO2pBKCk7dmFyIGI9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pO1FiKGIsWi5zZWN1cml0eUdyb3Vwcyk7dmFyIGM9eWsoemsoKSksZCxlPWM9PW51bGw/dm9pZCAwOihkPWMuY29udGV4dCk9PW51bGw/dm9pZCAwOmQuc291cmNlO0tsKGUsYz09bnVsbD92b2lkIDA6Yy5wYXJlbnQpO2UhPT0yJiZlIT09NCYmZSE9PTN8fFAoMTQyKTtyZXR1cm4gYX1mdW5jdGlvbiBtVSgpe3ZhciBhPUUoNjApO2lmKGEpZm9yKHZhciBiPWEuc3BsaXQoIi4iKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1UTDtkJiYoZS5IW2RdPSEwKX19CmZ1bmN0aW9uIG5VKCl7enAoKTtsaigpO2Zvcih2YXIgYT1kYXRhLnJlc291cmNlfHx7fSxiPWNBLGM9YS5tYWNyb3N8fFtdLGQ9MDtkPGMubGVuZ3RoO2QrKyliLm1hY3Jvcy5wdXNoKG5ldyBVeihjW2RdLGQsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBlPWEudGFnc3x8W10sZj0wO2Y8ZS5sZW5ndGg7ZisrKWIudGFncy5wdXNoKG5ldyBZeihlW2ZdLGYsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBnPWEucHJlZGljYXRlc3x8W10saD0wO2g8Zy5sZW5ndGg7aCsrKWIucHJlZGljYXRlcy5wdXNoKG5ldyBWeihnW2hdLGIudGFncyxiLm1hY3JvcykpO2Zvcih2YXIgbD1hLnJ1bGVzfHxbXSxuPTA7bjxsLmxlbmd0aDtuKyspYi5ydWxlcy5wdXNoKG5ldyBXeihsW25dLG4pKTtRej1aO3ZhciBwPWRhdGEucGVybWlzc2lvbnN8fHt9LHE9WjtkZz1uZXcgZ2coRSg1KSxwLHEpO3ZhciByPWRhdGEuc2FuZGJveGVkX3NjcmlwdHMsdD1kYXRhLnNlY3VyaXR5X2dyb3Vwcyx1PWRhdGEucnVudGltZXx8CltdLHY9ZGF0YS5ydW50aW1lX2xpbmVzO0pGPW5ldyBwZjtWVCgpO1B6PUlGKCk7dmFyIHg9SkYseT1VVCgpLHo9bmV3IExkKCJyZXF1aXJlIix5KTt6LlphKCk7eC5ILkguc2V0KCJyZXF1aXJlIix6KTtkYi5zZXQoInJlcXVpcmUiLHopO2Zvcih2YXIgQz0wO0M8dS5sZW5ndGg7QysrKXt2YXIgRD11W0NdO2lmKCFBcnJheS5pc0FycmF5KEQpfHxELmxlbmd0aDwzKXtpZihELmxlbmd0aD09PTApY29udGludWU7YnJlYWt9diYmdltDXSYmdltDXS5sZW5ndGgmJlBmKEQsdltDXSk7dHJ5e0pGLmV4ZWN1dGUoRCl9Y2F0Y2gob1Upe319V1Qocik7WFQodCk7dmFyIEk9bFUoKTtpRigpO3ZtLmJpbmQoKTtpZighRGopZm9yKHZhciBHPUJtKCk/ZXAoTGYoNSkpOmVwKExmKDQpKSxOPW0oUm8pLFM9Ti5uZXh0KCk7IVMuZG9uZTtTPU4ubmV4dCgpKXt2YXIgVz1TLnZhbHVlLGVhPVcsamE9R1tXXT8iZ3JhbnRlZCI6ImRlbmllZCI7dGwoKS5pbXBsaWNpdChlYSxqYSl9aEUuYmluZCgpO1RCKCk7Ck9CKCk7Zm4uTiYmKGd6KCksZnooQUYpLGdBKCksY0I9bmV3IGJCLGZ6KGl6KSxPQygpLERGfHwoREY9bmV3IEJGKSxmQnx8KGZCPW5ldyBlQiksRkY9bmV3IEVGKTtpZihmbi5LKXtERS5iaW5kKCk7bUMuYmluZCgpO3dFLmJpbmQoKTt2YXIgZmE9QWsoKTtpZihmYSl7dmFyIHNhO2E6e3ZhciBkYSxtYT0oZGE9ZmEuc2NyaXB0RWxlbWVudCk9PW51bGw/dm9pZCAwOmRhLnNyYztpZihtYSl7dmFyIFBhO3RyeXt2YXIgRmE7UGE9KEZhPXJkKCkpPT1udWxsP3ZvaWQgMDpGYS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpfWNhdGNoKG9VKXt9aWYoUGEpe2Zvcih2YXIgcWE9LTEsaWI9bShQYSksWGI9aWIubmV4dCgpOyFYYi5kb25lO1hiPWliLm5leHQoKSl7dmFyIExjPVhiLnZhbHVlO2lmKExjLmluaXRpYXRvclR5cGU9PT0KInNjcmlwdCImJihxYSs9MSxMYy5uYW1lLnJlcGxhY2UoTkUsIiIpPT09bWEucmVwbGFjZShORSwiIikpKXtzYT1xYTticmVhayBhfX1QKDE0Nil9ZWxzZSBQKDE0NSl9c2E9dm9pZCAwfXZhciBRZD1zYTtRZCE9PXZvaWQgMCYmKGZhLmNhbm9uaWNhbENvbnRhaW5lcklkJiZVbSgicnRnIixTdHJpbmcoZmEuY2Fub25pY2FsQ29udGFpbmVySWQpKSxVbSgic2xvIixTdHJpbmcoUWQpKSxVbSgiaGxvIixmYS5odG1sTG9hZE9yZGVyfHwiLTEiKSxVbSgibHN0IixTdHJpbmcoZmEubG9hZFNjcmlwdFR5cGV8fCIwIikpKX1lbHNlIFAoMTQ0KTt2YXIgWWM7dmFyIERkPXhrKCk7aWYoRGQpaWYoRGQuY2Fub25pY2FsQ29udGFpbmVySWQpWWM9RGQuY2Fub25pY2FsQ29udGFpbmVySWQ7ZWxzZXt2YXIgamYsdmg9RGQuc2NyaXB0Q29udGFpbmVySWR8fCgoamY9RGQuZGVzdGluYXRpb25zKT09bnVsbD92b2lkIDA6amZbMF0pO1ljPXZoPyJfIit2aDp2b2lkIDB9ZWxzZSBZYz12b2lkIDA7dmFyIEpFPQpZYztKRSYmVW0oInBjaWQiLEpFKTtVbSgiYnQiLFN0cmluZyhJZig0Nyk/MjpJZig1MCk/MTowKSk7VW0oImN0IixTdHJpbmcoSWYoNDcpPzA6SWYoNTApPzE6MykpO0FFLmJpbmQoKTtmb3IodmFyIFdyPVtdLFhyPVtdLEtFPW0oT2JqZWN0LmtleXMoR0UpKSxZcj1LRS5uZXh0KCk7IVlyLmRvbmU7WXI9S0UubmV4dCgpKXt2YXIgcm09WXIudmFsdWU7aWYod2luZG93LmlzU2VjdXJlQ29udGV4dHx8IUlFW3JtXSl7dmFyIExFPUdFW3JtXSgpO2lmKHliKExFKSl7dmFyIE1FPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKExFKTtUYihNRSwieyBbbmF0aXZlIGNvZGVdIH0iKXx8VGIoTUUsIntcbiAgICBbbmF0aXZlIGNvZGVdXG59Iil8fFhyLnB1c2gocm0pfWVsc2UgV3IucHVzaChybSl9fVdyLmxlbmd0aD4wJiZVbSgianNtIixXci5qb2luKCJ+IikpO1hyLmxlbmd0aD4wJiZVbSgianNwIixYci5qb2luKCJ+IikpO0V5fHwoRXk9bmV3IER5KX1oRigpO2ltKDEpO0VHKCk7cmV0dXJuIEl9CmZ1bmN0aW9uIHVtKCl7dHJ5e2lmKCFoaygpJiYoSWYoNDcpfHwhTmsoKSkpe0lmKDY0KSYmd2ouSC5LLmFkZCgxMTg1MTc5MTcpO3pqKCk7Zm4uSCYmc3ooKTtXZls1XT0hMDt2YXIgYT1raigiZGVidWdHcm91cElkIixmdW5jdGlvbigpe3JldHVybiBTdHJpbmcoTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKSl9KTtTbChhKTtrdCgpO3pGKCk7RnQoKTtQQigpO2lmKERrKCkpe0UoNSk7REcoKTtpQigpLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zKHZrKCkpO31lbHNle0ZNLlIoKTtuVSgpLmJvb3RzdHJhcD1OYigpO0lmKDUxKSYmcEUoKTsKZm4uSCYmdHooKTt0eXBlb2YgQS5uYW1lPT09InN0cmluZyImJlNiKEEubmFtZSwid2ViLXBpeGVsLXNhbmRib3gtQ1VTVE9NIikmJnNkKCk/WlQoImRNRGcwWXoiKTpBLlNob3BpZnkmJihaVCgiZE4yWmtNaiIpLHNkKCkmJlpUKCJkTlRVMFl6IikpO21VKCl9fX1jYXRjaChiKXtpbSg1KSxoeigpfX0KKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtuPUIuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10YWctYXNzaXN0YW50LXByZXNlbnQiKTtnbChuKSYmKGw9aC54bSl9ZnVuY3Rpb24gYygpe2wmJktjP2cobCk6YSgpfWlmKCFBW0UoMzcpXSl7dmFyIGQ9ITE7aWYoQi5yZWZlcnJlcil7dmFyIGU9UmooQi5yZWZlcnJlcik7ZD1OaihlLCJob3N0Iik9PT1FKDM4KX1pZighZCl7dmFyIGY9Y3EoRSgzOSkpO2Q9ISghZi5sZW5ndGh8fCFmWzBdLmxlbmd0aCl9ZCYmKEFbRSgzNyldPSEwLFVjKEUoNDApKSl9dmFyIGc9ZnVuY3Rpb24odSl7dmFyIHY9IkdUTSIseD0iR1RNIjtJZig0NSkmJih2PSJPR1QiLHg9IkdUQUciKTt2YXIgeT1FKDIzKSx6PUFbeV07enx8KHo9W10sQVt5XT16LFVjKCJodHRwczovLyIrRSgzKSsiL2RlYnVnL2Jvb3RzdHJhcD9pZD0iK0UoNSkrIiZzcmM9Iit4KyImY29uZD0iK1N0cmluZyh1KSsiJmd0bT0iK2R1KCkpKTt2YXIgQz17bWVzc2FnZVR5cGU6IkNPTlRBSU5FUl9TVEFSVElORyIsCmRhdGE6e3NjcmlwdFNvdXJjZTpLYyxjb250YWluZXJQcm9kdWN0OnYsZGVidWc6ITEsaWQ6RSg1KSx0YXJnZXRSZWY6e2N0aWQ6RSg1KSxpc0Rlc3RpbmF0aW9uOnNrKCksY2Fub25pY2FsSWQ6RSg2KX0sYWxpYXNlczp3aygpLGRlc3RpbmF0aW9uczp0aygpfX0sRD1DLmRhdGE7RC5yZXN1bWU9ZnVuY3Rpb24oKXthKCl9O0QucmVzdW1lV2l0aE1lbW9zPWZ1bmN0aW9uKCl7c2woMSk7YSgpfTtJZigyKSYmKEMuZGF0YS5pbml0aWFsUHVibGlzaD0hMCk7ei5wdXNoKEMpfSxoPXtHcToxLFBtOjIsb246MyxqbDo0LHhtOjV9O2hbaC5HcV09IkdUTV9ERUJVR19MRUdBQ1lfUEFSQU0iO2hbaC5QbV09IkdUTV9ERUJVR19QQVJBTSI7aFtoLm9uXT0iUkVGRVJSRVIiO2hbaC5qbF09IkNPT0tJRSI7aFtoLnhtXT0iRVhURU5TSU9OX1BBUkFNIjt2YXIgbD12b2lkIDAsbj12b2lkIDAscD1MaihBLmxvY2F0aW9uLCJxdWVyeSIsITEsdm9pZCAwLCJndG1fZGVidWciKTtnbChwKSYmKGw9aC5QbSk7CmlmKCFsJiZCLnJlZmVycmVyKXt2YXIgcT1SaihCLnJlZmVycmVyKTtOaihxLCJob3N0Iik9PT1FKDI0KSYmKGw9aC5vbil9aWYoIWwpe3ZhciByPWNxKCJfX1RBR19BU1NJU1RBTlQiKTtyLmxlbmd0aCYmclswXS5sZW5ndGgmJihsPWguamwpfWx8fGIoKTtpZighbCYmZmwobikpe3ZhciB0PSExOyRjKEIsIlRBRGVidWdTaWduYWwiLGZ1bmN0aW9uKCl7dHx8KHQ9ITAsYigpLGMoKSl9LCExKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0fHwodD0hMCxiKCksYygpKX0sMjAwKX1lbHNlIGMoKX0pKGZ1bmN0aW9uKCl7IUlmKDQ3KXx8dG0oKVsiMCJdP3VtKCk6eG0oKX0pOwoKfSkoKQoK"}},"time_used":366,"timings":{"blocked":-1,"dns":1,"connect":17,"send":0,"wait":35,"receive":45,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38002.86d280feeabab698360b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.421Z","timestamp":1785136428421,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38002.86d280feeabab698360b.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-493\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:16:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5357490508d7ff4046e5c25e6ba3b446\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1171,"size_decoded":1246,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1171), with no line terminators","md5":"c5625ab18e2e939c0e7a1aaf8335d885","sha1":"476f700790695056f483a7540cca9876b7ec9b44","sha256":"109dfa81449a46405b7bbad3bb1fe38d13168125084d9486a17269580fa11d1e","sha512":"b0d0814df65da6664845b9aa6212db20c3810f795432ea14ecfb6d89b44ed9dea6826d34c2c7d74e8042a33898c9eb1e143d41e0f9534c42b5a733a1bf91139d","ssdeep":"","tlshash":"ff21df02d15010d8a0ffb368edd1976e8329e0c7e52f09dda1692f75d2817782b6df41","first_seen":"2026-03-24T19:47:05.239918Z","last_seen":"2026-08-11T04:47:30.203127Z","times_seen":1998,"resource_available":false,"data":"LnNiLWlubmVyLXNoYWRvd3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvdHRvbTotMTBweDtib3gtc2hhZG93OjAgMCA1cHggIzAwMDAwMDI2O2hlaWdodDoxMHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMTY2NjY2N3MgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBlYXNlO3dpZHRoOjEwMCU7ei1pbmRleDo1fS5zYi1pbm5lci1zaGFkb3cudG9we2JveC1zaGFkb3c6MCAwIDVweCAjMDAwMDAwMjY7dG9wOi0xMHB4fS5zYi1pbm5lci1zaGFkb3cuaS1pbnZpc2libGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxlLnRvcHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX0uc2ItaW5uZXItc2hhZG93LmktaW52aXNpYmxle29wYWNpdHk6MH0uc2Itc2Nyb2xsYmFye2luc2V0LWlubGluZS1lbmQ6MXB4O29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7dG9wOjczcHg7dHJhbnNpdGlvbjpvcGFjaXR5IC4zczt3aWR0aDo3cHg7ei1pbmRleDoxfS5zYi1zY3JvbGxiYXIuYWN0aXZlLC5zYi1zY3JvbGxiYXIuYWN0aXZlLWFsd2F5c3tvcGFjaXR5OjF9LnNiLXNjcm9sbGJhcl9fY29udGVudC13cmFwcGVyLS1zY3JvbGwtaW5pdGVke3Bvc2l0aW9uOnJlbGF0aXZlfS5zYi1zY3JvbGxiYXJfX2NvbnRlbnQtLXNjcm9sbC1pbml0ZWR7cG9zaXRpb246YWJzb2x1dGV9LnNiLXNjcm9sbGJhci13cmFwe2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1lbmQ6MXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjZweDt6LWluZGV4OjF9LnNiLXNjcm9sbGJhci13cmFwIC5zYi1zY3JvbGxiYXJ7aW5zZXQtaW5saW5lLWVuZDowfS5zYi1zY3JvbGxiYXItYm9keXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6MDt3aWR0aDo2cHh9LmdyYXkgLnNiLXNjcm9sbGJhci1ib2R5e2JhY2tncm91bmQ6Izc1NzU3YTtib3JkZXItY29sb3I6Izc1NzU3YTtib3JkZXItcmFkaXVzOjNweH0uc2Itc2Nyb2xsYmFyLWJvdHRvbSwuc2Itc2Nyb2xsYmFyLXRvcHtkaXNwbGF5Om5vbmV9LmFjdGl2ZS1hbHdheXMuZ3JheSwuZ3JheXtvcGFjaXR5Oi41fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83675.5ed018482723abaf9e86.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.322Z","timestamp":1785136429322,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/83675.5ed018482723abaf9e86.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1a35\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 19a614079c44db4357cef239008ab724\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6709,"size_decoded":2668,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6709), with no line terminators","md5":"3f790f633d8facc5e65117a693bcb945","sha1":"09d8046538d3d64702bb83b904211cc3b7e53315","sha256":"e836e2f9c24d09a5854a2ac144aac0e02c25f367f144431842f67ba211772f4d","sha512":"b48f882acc8ed75b94109472053e0d36b77b454d4ce805e6f9164afa42a16a8d87ef45c6c5d4d48f9083110b728c76451164751562c818d62ba7b160c3e3217b","ssdeep":"96:NACi/4ObSCZGbgQc9VUKQgJyzWsQuZdxexDyC14HIPsiCSvgd:Nji/ZZGkx9qKQgJyzWsQuM4HIE5","tlshash":"a8d1874af120916c64fbb5adb9ed830e632cbce2ef8157dc769539b144cd3e60623906","first_seen":"2026-07-24T11:36:47.840348Z","last_seen":"2026-07-28T06:17:53.593718Z","times_seen":99,"resource_available":false,"data":"LnNlcGFyYXRvci1sbHVxdWZWcXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXRvb2xiYXItZGl2aWRlci1iYWNrZ3JvdW5kKSk7aGVpZ2h0OjIycHg7bWFyZ2luOmF1dG8gNHB4O3dpZHRoOjFweH0uZ3JvdXAtTExaQWJzMEd7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItcmFkaXVzOjA7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjA7bWluLXdpZHRoOjM3cHg7b3ZlcmZsb3c6aGlkZGVufS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowfS5ncm91cC1MTFpBYnMwRzpmaXJzdC1jaGlsZCAuc2VwYXJhdG9yLUxMWkFiczBHe2Rpc3BsYXk6bm9uZX0uZ3JvdXAtTExaQWJzMEc6bGFzdC1jaGlsZHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub0xlZnREZWNvcmF0aW9uLUxMWkFiczBHe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjA7bWFyZ2luLWlubGluZS1zdGFydDowfS5ncm91cC1MTFpBYnMwRy5ub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwR3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDttYXJnaW4taW5saW5lLWVuZDowfS5ncm91cC1MTFpBYnMwRy5ub01pbmltYWxXaWR0aC1MTFpBYnMwR3ttaW4td2lkdGg6MH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwR3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wYW5lLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcGFuZS1iZykpO2Rpc3BsYXk6ZmxleH0uc2VwYXJhdG9yV3JhcC1MTFpBYnMwRzpmaXJzdC1jaGlsZHtkaXNwbGF5Om5vbmV9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXpyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0ud3JhcC1VTDNGSXBzZXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tXzAtYXpyeSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4fS53cmFwLVVMM0ZJcHNlIC5pY29uLVVMM0ZJcHNle21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMXB4fS53cmFwLVVMM0ZJcHNlIHN2Z3tmaWxsOmN1cnJlbnRDb2xvcn1bZGF0YS10aGVtZT1saWdodF17LS1fMC10NkNPOiMxZTIyMmQ5OTstLV8xLXQ2Q086I2ZmZjB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC10NkNPOiM2YTZkNzg5OTstLV8xLXQ2Q086IzEzMTcyMjAwfS53cmFwLXFZbTR4MnV1e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LndyYXAtcVltNHgydXUgc3Zne2Rpc3BsYXk6YmxvY2t9LndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1e21hcmdpbi1pbmxpbmUtZW5kOmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvO292ZXJmbG93OnZpc2libGU7d2lkdGg6Y2FsYygxMDAlIC0gNDBweCl9LndyYXAtcVltNHgydXU6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ud3JhcE92ZXJmbG93LXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5zY3JvbGxXcmFwLXFZbTR4MnV1e2hlaWdodDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2NvbnRhaW46Y29udGVudH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dXttYXJnaW4tYm90dG9tOi0xMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0uc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dS5zYi1zY3JvbGxiYXItd3JhcHtkaXNwbGF5Om5vbmV9LnNjcm9sbFdyYXAtcVltNHgydXUubm9TY3JvbGxCYXItcVltNHgydXU6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MDt3aWR0aDowfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuc2Nyb2xsV3JhcC1xWW00eDJ1dS5ub1Njcm9sbEJhci1xWW00eDJ1dTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7ZGlzcGxheTpub25lfS5zY3JvbGxXcmFwLXFZbTR4MnV1Lm5vU2Nyb2xsQmFyLXFZbTR4MnV1Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5pY29uLXFZbTR4MnV1e2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNjBtcyBlYXNlfS5zY3JvbGxMZWZ0LXFZbTR4MnV1LC5zY3JvbGxSaWdodC1xWW00eDJ1dXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2IoZnJvbSB2YXIoLS1jb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMpIHIgZyBiLy42KTtjb2xvcjp2YXIoLS1jb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLHRyYW5zZm9ybSAuMTE2NjY2NjdzIGN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7d2lkdGg6MjRweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuc2Nyb2xsTGVmdC1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC10NkNPKX19LnNjcm9sbExlZnQtcVltNHgydXU6YWN0aXZlLC5zY3JvbGxSaWdodC1xWW00eDJ1dTphY3RpdmV7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDU4LjMzMzMzbXMgZWFzZSx0cmFuc2Zvcm0gLjExNjY2NjY3cyBjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNjcm9sbExlZnQtcVltNHgydXU6aG92ZXIsLnNjcm9sbFJpZ2h0LXFZbTR4MnV1OmhvdmVye3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA1OC4zMzMzM21zIGVhc2UsdHJhbnNmb3JtIC4xMTY2NjY2N3MgY3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9fS5zY3JvbGxMZWZ0LXFZbTR4MnV1LmlzVmlzaWJsZS1xWW00eDJ1dSwuc2Nyb2xsUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5zY3JvbGxMZWZ0LXFZbTR4MnV1e2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LnNjcm9sbExlZnQtcVltNHgydXUgLmljb25XcmFwLXFZbTR4MnV1e3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zY3JvbGxSaWdodC1xWW00eDJ1dXtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfS5zY3JvbGxSaWdodC1xWW00eDJ1dSAuaWNvbldyYXAtcVltNHgydXV7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5mYWRlTGVmdC1xWW00eDJ1dSwuZmFkZVJpZ2h0LXFZbTR4MnV1e2NvbG9yOnJnYihmcm9tIHZhcigtLWNvbG9yLXBhbmUtYmcpIHIgZyBiLzApO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NTBweH1Ac3VwcG9ydHMgbm90IChiYWNrZ3JvdW5kOnJnYihmcm9tICMwMDAgciBnIGIpKXsuZmFkZUxlZnQtcVltNHgydXUsLmZhZGVSaWdodC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXQ2Q08pfX0uZmFkZUxlZnQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1LC5mYWRlUmlnaHQtcVltNHgydXUuaXNWaXNpYmxlLXFZbTR4MnV1e3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfS5mYWRlTGVmdC1xWW00eDJ1dXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZmZmLCNmZmYwKTtsZWZ0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfWh0bWwudGhlbWUtZGFyayAuZmFkZUxlZnQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzBmMGYwZiwjMGYwZjBmMDApfS5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZmYsI2ZmZjApO3JpZ2h0Oi0xcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9aHRtbC50aGVtZS1kYXJrIC5mYWRlUmlnaHQtcVltNHgydXV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCMwZjBmMGYsIzBmMGYwZjAwKX0uaW5uZXJXcmFwLWRsRkROMFpke2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2hlaWdodDozOHB4O21pbi13aWR0aDowfS5pbm5lci1kbEZETjBaZHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmZha2UtZGxGRE4wWmR7aGVpZ2h0OjM4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246Zml4ZWQ7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW59LmZpbGwtZGxGRE4wWmR7ZmxleDoxIDEgMTAwJTttaW4td2lkdGg6MH0uZmlsbC1kbEZETjBaZC5jb2xsYXBzZS1kbEZETjBaZHtmbGV4OjAgMCAwJX0uYnV0dG9uLWRsRkROMFpke3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5pY29uQnV0dG9uLWRsRkROMFpke3BhZGRpbmc6MCA1cHh9LmhpZGRlbi1kbEZETjBaZHtkaXNwbGF5Om5vbmV9LmNvbnRlbnQtZGxGRE4wWmR7ZGlzcGxheTp0YWJsZTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5OmZsZXh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsuZGVza3RvcFB1Ymxpc2gtZGxGRE4wWmQsLmRlc2t0b3BUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9fS5tb2JpbGVQdWJsaXNoLWRsRkROMFpkLC5tb2JpbGVUcmFkZS1kbEZETjBaZHtkaXNwbGF5Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsubW9iaWxlUHVibGlzaC1kbEZETjBaZCwubW9iaWxlVHJhZGUtZGxGRE4wWmR7ZGlzcGxheTpmbGV4fX1AbWVkaWEgKG1heC1oZWlnaHQ6NDQ1cHgpLChtYXgtd2lkdGg6NTY3cHgpey5kZXNrdG9wVHJhZGUtZGxGRE4wWmQsLm1vYmlsZVRyYWRlLWRsRkROMFpke2Rpc3BsYXk6bm9uZX19W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtblpSQjojMDAwMH0udG9vbGJhci1OQ1l5b3poaHtmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnRvb2xiYXItTkNZeW96aGguaXNIaWRkZW4tTkNZeW96aGh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1uWlJCKX0udG9vbGJhci1OQ1l5b3poaC5pc0hpZGRlbi1OQ1l5b3poaCAub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2Rpc3BsYXk6bm9uZX0ub3ZlcmZsb3dXcmFwLU5DWXlvemhoe2hlaWdodDozOHB4O292ZXJmbG93OmhpZGRlbn0uY3VzdG9tQnV0dG9uLU5DWXlvemhoe2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCkpO3BhZGRpbmc6MCAxMHB4fS5jdXN0b21CdXR0b24tTkNZeW96aGguaG92ZXItTkNZeW96aGgsLmN1c3RvbUJ1dHRvbi1OQ1l5b3poaDphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jdXN0b21CdXR0b24tTkNZeW96aGg6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSl9fS5jdXN0b21CdXR0b24tTkNZeW96aGguY2xpY2tlZC1OQ1l5b3poaCwuY3VzdG9tQnV0dG9uLU5DWXlvemhoOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyKSkpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.411Z","timestamp":1785136428411,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-9e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ccec7d1e16e6308367d8b01a9f2e92b1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1498,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-08-11T10:15:18.366618Z","times_seen":6148,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/3957.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.648Z","timestamp":1785136428648,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3957.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2847\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:34:38 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:36:21 GMT\r\ncache-control: max-age=86400\r\netag: \"f6894d3955fb14cdda30c8efa49a5096\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 14733\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Vxw7hcZltvLOlZ1GufezHKEtIIlevHMBG0T5W_4-xcrPiqpiNqDJUw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2847,"size_decoded":3373,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"f6894d3955fb14cdda30c8efa49a5096","sha1":"94fa4629c716af0d5a3743f37c56adfcfdf8f48c","sha256":"b2f4ab7b90bba9d8a6a7030dc77051befe48ab8f27fed2cfd8acb2060ce7b8f6","sha512":"22244597a2a22ec6011765743dda5e7ba01f9f3a23ba4c8ec9e91158f4e76835bbbd95f04cd65d18b6cd41c5b1b130971641298f9f2c00c54ce611c62f4e3232","ssdeep":"","tlshash":"2e513cc19d2d29b4dbaf4a523bf08512daceb3e53322222d9317afd10947f702459ac7","first_seen":"2023-05-16T12:20:21Z","last_seen":"2026-08-11T04:47:30.028969Z","times_seen":1585,"resource_available":false,"data":"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"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.253Z","timestamp":1785136429253,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/chart-widget-gui.13468e69e04a805f97cf.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-38e88\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 464025cb4ab802478f2023fb4bc0bcde\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":233096,"size_decoded":66241,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"4e35d66fb21ba281ba6dbf987ed9ad19","sha1":"73e3a494f412a84503c6bf08675879d8208fc592","sha256":"5653a56b0c05a5fd05b5142656859a2b962fa133463b10bef556248e9a874170","sha512":"b0ca5d7daa35d7d3028dceb3b720db89c3490e605c24bd22a4111fb473cc03df4111967e85c15c04ee5b3f778d6fb4827935324ad61a06e9280ae18ddff4cc7f","ssdeep":"3072:0LfPZKIwNAHqBrRysvaCGj4Re79+op3zathZRSEaigHKBRnE:kZKIIyOatj4Ip+oJza7Z3gH6E","tlshash":"f0344b677264783a61bb51ee08bb0503e71a6445b442407cf1bc9dde296dcc9b23af3e","first_seen":"2026-07-23T14:00:31.388594Z","last_seen":"2026-07-28T06:17:53.599251Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NTU4OCw3NDM0MV0sezg1MzMzNihlLHQpe3ZhciBpLHMsbztzPVt0XSxpPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLGk9QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKWlbdF09ZVt0XTtyZXR1cm4gaX1yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBzPXtnZXQgcGFzc2l2ZSgpe2k9ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwscyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLHMpfXZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbj1bXSxhPSExLGw9LTEscj12b2lkIDAsZD12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gbi5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxjPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9ZCxkPXZvaWQgMCksdm9pZCAwIT09ciYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9cixyPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxzKXtpZihvKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFuLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6c3x8e319O249W10uY29uY2F0KHQobiksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGw9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBpLHMsbyxuOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYocz1lLG49KGk9dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWwsIXUoaS50YXJnZXQpJiYocyYmMD09PXMuc2Nyb2xsVG9wJiYwPG58fChvPXMpJiZvLnNjcm9sbEhlaWdodC1vLnNjcm9sbFRvcDw9by5jbGllbnRIZWlnaHQmJm48MD9jKGkpOmkuc3RvcFByb3BhZ2F0aW9uKCkpKX0sYXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsYyxpP3twYXNzaXZlOiExfTp2b2lkIDApLGE9ITApfX1lbHNle189cyxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWQpe3ZhciBlPSEhXyYmITA9PT1fLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PXImJihyPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOnN8fHt9fTtuPVtdLmNvbmNhdCh0KG4pLFtwXSl9dmFyIF99LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtvPyhuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxhJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSksbj1bXSxsPS0xKTooaCgpLG49W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYobyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsbj1uLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksYSYmMD09PW4ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixjLGk/e3Bhc3NpdmU6ITF9OnZvaWQgMCksYT0hMSl9ZWxzZSAxPT09bi5sZW5ndGgmJm5bMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxuPVtdKTpuPW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkodCxzKTppKXx8KGUuZXhwb3J0cz1vKX0sODAzMjg3KGUpe2UuZXhwb3J0cz17ImRlZmF1bHQtZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UiOiIxMDBweCIsd3JhcDoid3JhcC1paWkxMThvTiIscG9zaXRpb25Cb3R0b206InBvc2l0aW9uQm90dG9tLWlpaTExOG9OIixiYWNrZHJvcDoiYmFja2Ryb3AtaWlpMTE4b04iLGRyYXdlcjoiZHJhd2VyLWlpaTExOG9OIiwKcG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sODU0NDUoZSl7ZS5leHBvcnRzPXtwaWxsczoicGlsbHMtSWVRd1BqY1oiLHByaW1hcnk6InByaW1hcnktSWVRd1BqY1oiLGdyYXk6ImdyYXktSWVRd1BqY1oiLHNlbGVjdGVkOiJzZWxlY3RlZC1JZVF3UGpjWiIsZ3JvdXBlZDoiZ3JvdXBlZC1JZVF3UGpjWiIsYWN0aXZlOiJhY3RpdmUtSWVRd1BqY1oiLGRpc2FibGVBY3RpdmVPblRvdWNoOiJkaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWiIsZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiJkaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1oiLHdpdGhHcm91cGVkOiJ3aXRoR3JvdXBlZC1JZVF3UGpjWiIsInF1aWV0LXByaW1hcnkiOiJxdWlldC1wcmltYXJ5LUllUXdQamNaIixncmVlbjoiZ3JlZW4tSWVRd1BqY1oiLHJlZDoicmVkLUllUXdQamNaIixibHVlOiJibHVlLUllUXdQamNaIixzZWNvbmRhcnk6InNlY29uZGFyeS1JZVF3UGpjWiIsZ2hvc3Q6Imdob3N0LUllUXdQamNaIn19LDM2NDgxNShlKXtlLmV4cG9ydHM9e2xpZ2h0QnV0dG9uOiJsaWdodEJ1dHRvbi1ralJmVGxmeCIsbGluazoibGluay1ralJmVGxmeCIsbHRyOiJsdHIta2pSZlRsZngiLHJ0bDoicnRsLWtqUmZUbGZ4IiwidHlwb2dyYXBoeS1yZWd1bGFyMTZweCI6InR5cG9ncmFwaHktcmVndWxhcjE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgiOiJ0eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4IjoidHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCIsInR5cG9ncmFwaHktc2VtaWJvbGQxNHB4IjoidHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZngiLCJ0eXBvZ3JhcGh5LXNlbWlib2xkMTZweCI6InR5cG9ncmFwaHktc2VtaWJvbGQxNnB4LWtqUmZUbGZ4Iixjb250ZW50OiJjb250ZW50LWtqUmZUbGZ4Iix2aXN1YWxseUhpZGRlbjoidmlzdWFsbHlIaWRkZW4ta2pSZlRsZngiLG5vd3JhcDoibm93cmFwLWtqUmZUbGZ4IixlbGxpcHNpc0NvbnRhaW5lcjoiZWxsaXBzaXNDb250YWluZXIta2pSZlRsZngiLHRleHRXcmFwQ29udGFpbmVyOiJ0ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeCIsdGV4dFdyYXBXaXRoRWxsaXBzaXM6InRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4IixzbG90OiJzbG90LWtqUmZUbGZ4IixjYXJldDoiY2FyZXQta2pSZlRsZngiLGFjdGl2ZUNhcmV0OiJhY3RpdmVDYXJldC1ralJmVGxmeCIseHNtYWxsOiJ4c21hbGwta2pSZlRsZngiLHdpdGhTdGFydFNsb3Q6IndpdGhTdGFydFNsb3Qta2pSZlRsZngiLHdpdGhFbmRTbG90OiJ3aXRoRW5kU2xvdC1ralJmVGxmeCIsbm9Db250ZW50OiJub0NvbnRlbnQta2pSZlRsZngiLHdyYXA6IndyYXAta2pSZlRsZngiLHNtYWxsOiJzbWFsbC1ralJmVGxmeCIsbWVkaXVtOiJtZWRpdW0ta2pSZlRsZngifX0sNDAyMjUzKGUpe2UuZXhwb3J0cz17bmF2QnV0dG9uOiJuYXZCdXR0b24taGJTSlZ4a1EiLGxpbms6ImxpbmstaGJTSlZ4a1EiLGJhY2tncm91bmQ6ImJhY2tncm91bmQtaGJTSlZ4a1EiLGljb246Imljb24taGJTSlZ4a1EiLGZsaXBJY29uOiJmbGlwSWNvbi1oYlNKVnhrUSIsbGFyZ2U6ImxhcmdlLWhiU0pWeGtRIixwcmVzZXJ2ZVBhZGRpbmdzOiJwcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRIixtZWRpdW06Im1lZGl1bS1oYlNKVnhrUSIsc21hbGw6InNtYWxsLWhiU0pWeGtRIix4c21hbGw6InhzbWFsbC1oYlNKVnhrUSIseHhzbWFsbDoieHhzbWFsbC1oYlNKVnhrUSIsYmxlbmRNb2RlOiJibGVuZE1vZGUtaGJTSlZ4a1EiLHZpc3VhbGx5SGlkZGVuOiJ2aXN1YWxseUhpZGRlbi1oYlNKVnhrUSJ9fSw4NjAwMjUoZSl7ZS5leHBvcnRzPXtwYWlyOiJwYWlyLXh3R3NTWFIwIix4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjM6Inh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMCIseHh4eHNtYWxsOiJ4eHh4c21hbGwteHdHc1NYUjAiLHh4eHNtYWxsOiJ4eHhzbWFsbC14d0dzU1hSMCIseHhzbWFsbDoieHhzbWFsbC14d0dzU1hSMCIseHNtYWxsOiJ4c21hbGwteHdHc1NYUjAiLHNtYWxsOiJzbWFsbC14d0dzU1hSMCIsbWVkaXVtOiJtZWRpdW0teHdHc1NYUjAiLGxhcmdlOiJsYXJnZS14d0dzU1hSMCIseGxhcmdlOiJ4bGFyZ2UteHdHc1NYUjAiLHh4bGFyZ2U6Inh4bGFyZ2UteHdHc1NYUjAiLHh4eGxhcmdlOiJ4eHhsYXJnZS14d0dzU1hSMCIsbG9nbzoibG9nby14d0dzU1hSMCIsc2tlbGV0b246InNrZWxldG9uLXh3R3NTWFIwIixlbXB0eToiZW1wdHkteHdHc1NYUjAifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sMjAzMjczKGUpe2UuZXhwb3J0cz17c2NhbGFibGVJY29uOiJzY2FsYWJsZUljb24tY2oxYkFTZjcifX0sOTc1Mjg1KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1oY3QyeUp2SyIsYW5pbWF0ZWQ6ImFuaW1hdGVkLWhjdDJ5SnZLIixwdWxzYXRpb246InB1bHNhdGlvbi1oY3QyeUp2SyJ9fSw3MTAxNTYoZSl7ZS5leHBvcnRzPXt9fSw0MTc2ODYoZSl7ZS5leHBvcnRzPXtsZWdlbmRBY3Rpb25CdXR0b246ImxlZ2VuZEFjdGlvbkJ1dHRvbi1xM082enpJSCJ9fSw2NTc1NjAoZSl7ZS5leHBvcnRzPXttYXJnaW5sZWdlbmRob3JpejoiNHB4IiwKbGVnZW5kOiJsZWdlbmQtWVRGSUo2MmgiLGxlZ2VuZF93aXRoSGlkZGVuQWN0aW9uczoibGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIixpdGVtOiJpdGVtLVlURklKNjJoIixoaWRlSW52aXNpYmxlSG92ZXI6ImhpZGVJbnZpc2libGVIb3Zlci1ZVEZJSjYyaCIsYnV0dG9uOiJidXR0b24tWVRGSUo2MmgiLGJ1dHRvbnM6ImJ1dHRvbnMtWVRGSUo2MmgiLHdpdGhBY3Rpb246IndpdGhBY3Rpb24tWVRGSUo2MmgiLHNlbGVjdGVkOiJzZWxlY3RlZC1ZVEZJSjYyaCIsbGFzdDoibGFzdC1ZVEZJSjYyaCIsc3RhdHVzZXNXcmFwcGVyOiJzdGF0dXNlc1dyYXBwZXItWVRGSUo2MmgiLHN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXM6InN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXMtWVRGSUo2MmgiLHRleHQ6InRleHQtWVRGSUo2MmgiLG5vV3JhcFdyYXBwZXI6Im5vV3JhcFdyYXBwZXItWVRGSUo2MmgiLGNvbGxhcHNlZFNvdXJjZXNDb3VudGVyOiJjb2xsYXBzZWRTb3VyY2VzQ291bnRlci1ZVEZJSjYyaCIsbm9XcmFwOiJub1dyYXAtWVRGSUo2MmgiLHNlcmllczoic2VyaWVzLVlURklKNjJoIix2YWx1ZXNBZGRpdGlvbmFsV3JhcHBlcjoidmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgiLHZhbHVlSXRlbToidmFsdWVJdGVtLVlURklKNjJoIixoaWRlVW5pcG9ydGFudFZhbHVlSXRlbXM6ImhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCIsdW5pbXBvcnRhbnQ6InVuaW1wb3J0YW50LVlURklKNjJoIix2YWx1ZXNXcmFwcGVyOiJ2YWx1ZXNXcmFwcGVyLVlURklKNjJoIix3cmFwcGFibGU6IndyYXBwYWJsZS1ZVEZJSjYyaCIsZGlyZWN0aW9uQ29sdW1uOiJkaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmgiLHRpdGxlc1dyYXBwZXI6InRpdGxlc1dyYXBwZXItWVRGSUo2MmgiLGxvZ29XcmFwcGVyOiJsb2dvV3JhcHBlci1ZVEZJSjYyaCIsYnV0dG9uc1dyYXBwZXI6ImJ1dHRvbnNXcmFwcGVyLVlURklKNjJoIixwYWlyQ29udGFpbmVyOiJwYWlyQ29udGFpbmVyLVlURklKNjJoIixsb2dvOiJsb2dvLVlURklKNjJoIixoaWRkZW46ImhpZGRlbi1ZVEZJSjYyaCIsbm9BY3Rpb25zOiJub0FjdGlvbnMtWVRGSUo2MmgiLHRpdGxlc0dyb3VwV3JhcHBlcjoidGl0bGVzR3JvdXBXcmFwcGVyLVlURklKNjJoIix0aXRsZVdyYXBwZXI6InRpdGxlV3JhcHBlci1ZVEZJSjYyaCIsdGl0bGU6InRpdGxlLVlURklKNjJoIix3aXRoRG90OiJ3aXRoRG90LVlURklKNjJoIix0aXRsZVdyYXBwZXJfX2FjdGl2ZToidGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2MmgiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtWVRGSUo2MmgiLGRpc2FibGVkOiJkaXNhYmxlZC1ZVEZJSjYyaCIsZGlzYWJsZWRPbkludGVydmFsOiJkaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmgiLHdpdGhDdXN0b21UZXh0Q29sb3I6IndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmgiLHN0dWR5OiJzdHVkeS1ZVEZJSjYyaCIsbWFpblRpdGxlOiJtYWluVGl0bGUtWVRGSUo2MmgiLGlucHV0VGl0bGU6ImlucHV0VGl0bGUtWVRGSUo2MmgiLGhpZGVWYWx1ZXM6ImhpZGVWYWx1ZXMtWVRGSUo2MmgiLGhhczVCdXR0b25zOiJoYXM1QnV0dG9ucy1ZVEZJSjYyaCIsc3RheUluSG92ZXJlZE1vZGU6InN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIix3aXRoVGFpbDoid2l0aFRhaWwtWVRGSUo2MmgiLGxvYWRlcjoibG9hZGVyLVlURklKNjJoIix2YWx1ZVZhbHVlOiJ2YWx1ZVZhbHVlLVlURklKNjJoIix2YWx1ZVRpdGxlOiJ2YWx1ZVRpdGxlLVlURklKNjJoIixkZXNjVGl0bGU6ImRlc2NUaXRsZS1ZVEZJSjYyaCIsaW50ZXJ2YWxUaXRsZToiaW50ZXJ2YWxUaXRsZS1ZVEZJSjYyaCIscHJvdmlkZXJUaXRsZToicHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCIsZXhjaGFuZ2VUaXRsZToiZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCIsc3R5bGVUaXRsZToic3R5bGVUaXRsZS1ZVEZJSjYyaCIscHJpY2VTb3VyY2VUaXRsZToicHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCIsZmxhZ2dlZDoiZmxhZ2dlZC1ZVEZJSjYyaCIsbWVkaXVtOiJtZWRpdW0tWVRGSUo2MmgiLG1pbmltaXplZDoibWluaW1pemVkLVlURklKNjJoIixtaWNybzoibWljcm8tWVRGSUo2MmgiLGxpbmtlZDoibGlua2VkLVlURklKNjJoIixvbmx5T25lQnV0dG9uQ2FuQmVTdGljazoib25seU9uZUJ1dHRvbkNhbkJlU3RpY2stWVRGSUo2MmgiLHRvdWNoTW9kZToidG91Y2hNb2RlLVlURklKNjJoIixidXR0b25JY29uOiJidXR0b25JY29uLVlURklKNjJoIixidXR0b25fX2FjdGl2ZToiYnV0dG9uX19hY3RpdmUtWVRGSUo2MmgiLGZsYWc6ImZsYWctWVRGSUo2MmgiLGV5ZToiZXllLVlURklKNjJoIixleWVMb2FkaW5nOiJleWVMb2FkaW5nLVlURklKNjJoIiwiZXllLWFuaW1hdGlvbiI6ImV5ZS1hbmltYXRpb24tWVRGSUo2MmgiLGxpbmtpbmc6ImxpbmtpbmctWVRGSUo2MmgiLGludGVydmFsRXllOiJpbnRlcnZhbEV5ZS1ZVEZJSjYyaCIsbWFya2VyQ29udGFpbmVyOiJtYXJrZXJDb250YWluZXItWVRGSUo2MmgiLGZsYWdXcmFwcGVyOiJmbGFnV3JhcHBlci1ZVEZJSjYyaCIsc291cmNlc1dyYXBwZXI6InNvdXJjZXNXcmFwcGVyLVlURklKNjJoIixsZWdlbmRNYWluU291cmNlV3JhcHBlcjoibGVnZW5kTWFpblNvdXJjZVdyYXBwZXItWVRGSUo2MmgiLHNvdXJjZXM6InNvdXJjZXMtWVRGSUo2MmgiLHRvZ2dsZXJXcmFwcGVyOiJ0b2dnbGVyV3JhcHBlci1ZVEZJSjYyaCIsdG9nZ2xlcldyYXBwZXJfX2xvYWRlcjoidG9nZ2xlcldyYXBwZXJfX2xvYWRlci1ZVEZJSjYyaCIsdG9nZ2xlcjoidG9nZ2xlci1ZVEZJSjYyaCBwYW5lLWJ1dHRvbi1MY1lkbzJONiIsb25seU9uZVNvdXJjZVNob3duOiJvbmx5T25lU291cmNlU2hvd24tWVRGSUo2MmgiLGNvdW50ZXI6ImNvdW50ZXItWVRGSUo2MmgiLGljb25BcnJvdzoiaWNvbkFycm93LVlURklKNjJoIixvYmplY3RUcmVlOiJvYmplY3RUcmVlLVlURklKNjJoIixjbG9zZWQ6ImNsb3NlZC1ZVEZJSjYyaCIsc2F2ZUFycm93V2lkdGg6InNhdmVBcnJvd1dpZHRoLVlURklKNjJoIiwKb2JqZWN0c1RyZWVDYW5CZVNob3duOiJvYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmgifX0sNDI2Mjc0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1wYW5lLWNvbnRyb2xzLXBhZGRpbmciOiI0cHgiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX21hcmdpbl90b3A6IjQiLGNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplOiIyMiIsY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemU6IjIyIixwYW5lQ29udHJvbHM6InBhbmVDb250cm9scy1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2hpZGRlbjoicGFuZUNvbnRyb2xzX2hpZGRlbi1FeHp4OUlBWiIscGFuZUNvbnRyb2xzX2ZvcmNlSGlkZGVuOiJwYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVoiLHBhbmVDb250cm9sc19yZW1vdmU6InBhbmVDb250cm9sc19yZW1vdmUtRXh6eDlJQVoiLGJ1dHRvbnM6ImJ1dHRvbnMtRXh6eDlJQVoiLGJ1dHRvbjoiYnV0dG9uLUV4eng5SUFaIixidXR0b25fYWN0aXZhdGVkOiJidXR0b25fYWN0aXZhdGVkLUV4eng5SUFaIix0b3VjaE1vZGU6InRvdWNoTW9kZS1FeHp4OUlBWiIsbWF4aW1pemU6Im1heGltaXplLUV4eng5SUFaIixjb2xsYXBzZToiY29sbGFwc2UtRXh6eDlJQVoiLCJtYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaIiwibWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldCI6Im1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVoiLG1pbmltaXplOiJtaW5pbWl6ZS1FeHp4OUlBWiIscmVzdG9yZToicmVzdG9yZS1FeHp4OUlBWiIsIm1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLXVwLWJyYWNrZXQtRXh6eDlJQVoiLCJtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0IjoibWluaW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiIsdXA6InVwLUV4eng5SUFaIixidXR0b25JY29uOiJidXR0b25JY29uLUV4eng5SUFaIiwidXAtYW5pbWF0aW9uIjoidXAtYW5pbWF0aW9uLUV4eng5SUFaIixkb3duOiJkb3duLUV4eng5SUFaIiwiZG93bi1hbmltYXRpb24iOiJkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiJ9fSw3NzIwMjgoZSl7ZS5leHBvcnRzPXtibG9ja0hpZGRlbjoiYmxvY2tIaWRkZW4tTGNZZG8yTjYiLCJwYW5lLWJ1dHRvbiI6InBhbmUtYnV0dG9uLUxjWWRvMk42In19LDc1MTg2MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtR2hEalh6QngiLGlucHV0OiJpbnB1dC1HaERqWHpCeCIsYm94OiJib3gtR2hEalh6QngiLGhvdmVyRG90OiJob3ZlckRvdC1HaERqWHpCeCIscmVkOiJyZWQtR2hEalh6QngiLGJsdWU6ImJsdWUtR2hEalh6QngiLGdyZWVuOiJncmVlbi1HaERqWHpCeCIsb3JhbmdlOiJvcmFuZ2UtR2hEalh6QngiLHB1cnBsZToicHVycGxlLUdoRGpYekJ4IixjeWFuOiJjeWFuLUdoRGpYekJ4IixwaW5rOiJwaW5rLUdoRGpYekJ4IixsYXJnZToibGFyZ2UtR2hEalh6QngiLHBpY2tlckRvdDoicGlja2VyRG90LUdoRGpYekJ4In19LDU1ODg3MyhlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXIteWZOYmd0Z04iLGJ1dHRvbnM6ImJ1dHRvbnMteWZOYmd0Z04iLGNvbG9yU2VsZWN0QnV0dG9uOiJjb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTiJ9fSw1NTg5NzIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLVZuZVFWb052IixzZWxlY3Rvcjoic2VsZWN0b3ItVm5lUVZvTnYiLGFycm93TGVmdDoiYXJyb3dMZWZ0LVZuZVFWb052Iixjb2xvclNlbGVjdEJ1dHRvbjoiY29sb3JTZWxlY3RCdXR0b24tVm5lUVZvTnYiLHBvcHVwOiJwb3B1cC1WbmVRVm9OdiJ9fSw5MTYyNihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tdlRtOE8wTE0iLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS12VG04TzBMTSIsaG92ZXJlZDoiaG92ZXJlZC12VG04TzBMTSIsZGlzYWJsZWQ6ImRpc2FibGVkLXZUbThPMExNIixhY3RpdmU6ImFjdGl2ZS12VG04TzBMTSIsc2hvcnRjdXQ6InNob3J0Y3V0LXZUbThPMExNIixub3JtYWw6Im5vcm1hbC12VG04TzBMTSIsYmlnOiJiaWctdlRtOE8wTE0iLGljb25DZWxsOiJpY29uQ2VsbC12VG04TzBMTSIsaWNvbjoiaWNvbi12VG04TzBMTSIsY29udGVudDoiY29udGVudC12VG04TzBMTSIsbGFiZWw6ImxhYmVsLXZUbThPMExNIixjaGVja2VkOiJjaGVja2VkLXZUbThPMExNIix0b29sYm94OiJ0b29sYm94LXZUbThPMExNIixzaG93VG9vbGJveE9uSG92ZXI6InNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTSIsYXJyb3dJY29uOiJhcnJvd0ljb24tdlRtOE8wTE0iLHN1Yk1lbnU6InN1Yk1lbnUtdlRtOE8wTE0iLGludmlzaWJsZUhvdGtleToiaW52aXNpYmxlSG90a2V5LXZUbThPMExNIn19LDEwNzk2NihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tZDlqTE9MclIiLGVtcHR5SWNvbnM6ImVtcHR5SWNvbnMtZDlqTE9MclIiLGxvYWRpbmc6ImxvYWRpbmctZDlqTE9MclIiLGRpc2FibGVkOiJkaXNhYmxlZC1kOWpMT0xyUiIsaW50ZXJhY3RpdmU6ImludGVyYWN0aXZlLWQ5akxPTHJSIixob3ZlcmVkOiJob3ZlcmVkLWQ5akxPTHJSIixub3JtYWw6Im5vcm1hbC1kOWpMT0xyUiIsYmlnOiJiaWctZDlqTE9MclIiLGljb246Imljb24tZDlqTE9MclIiLGxhYmVsOiJsYWJlbC1kOWpMT0xyUiIsdGl0bGU6InRpdGxlLWQ5akxPTHJSIixuZXN0ZWQ6Im5lc3RlZC1kOWpMT0xyUiIsc2hvcnRjdXQ6InNob3J0Y3V0LWQ5akxPTHJSIixyZW1vdmU6InJlbW92ZS1kOWpMT0xyUiJ9fSw5NTQ0NzgoZSl7ZS5leHBvcnRzPXtzZXBhcmF0b3I6InNlcGFyYXRvci1LSHR5TVRZRyJ9fSw4NjU1NjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZBcHBDb250ZXh0OigpPT5kLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5yfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxMTUyOTMpLG49aSg5OTk1MSksYT1pKDExNzMxMyk7Y29uc3QgbD17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIHIoZSl7Y29uc3RbdF09KDAsCnMudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKShsW2VdKSxpc1J0bDooMCxvLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQobi5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0fSxlLmNoaWxkcmVuKX1jb25zdCBkPW4uQXBwQ29udGV4dH0sNTcxMzAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtjcmVhdGVSZWFjdFJvb3Q6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDEyOTM2NSksbj1pKDMzNjMzNCksYT1pKDg2NTU2MCk7ZnVuY3Rpb24gbChlLHQsaT0ibGVnYWN5Iil7Y29uc3QgbD1zLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSxlKTtpZigibW9kZXJuIj09PWkpe2NvbnN0IGU9KDAsbi5jcmVhdGVSb290KSh0KTtyZXR1cm4gZS5yZW5kZXIobCkse3JlbmRlcih0KXtlLnJlbmRlcihzLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTppfSx0KSl9LHVubW91bnQoKXtlLnVubW91bnQoKX19fXJldHVybiBvLnJlbmRlcihsLHQpLHtyZW5kZXIoZSl7by5yZW5kZXIocy5jcmVhdGVFbGVtZW50KGEuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6aX0sZSksdCl9LHVubW91bnQoKXtvLnVubW91bnRDb21wb25lbnRBdE5vZGUodCl9fX19LDMxMzc3MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEcmF3ZXJDb250ZXh0OigpPT5hLERyYXdlck1hbmFnZXI6KCk9Pm59KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk5NTY3OCk7Y2xhc3MgbiBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9pc0JvZHlGaXhlZD0hMSx0aGlzLl9hZGREcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6Wy4uLnQuc3RhY2ssZV19KSkpfSx0aGlzLl9yZW1vdmVEcmF3ZXI9ZT0+e3RoaXMuc2V0U3RhdGUoKHQ9Pih7c3RhY2s6dC5zdGFjay5maWx0ZXIoKHQ9PnQhPT1lKSl9KSkpfSx0aGlzLnN0YXRlPXtzdGFjazpbXX19Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7IXQuc3RhY2subGVuZ3RoJiZ0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmKCgwLG8ucmVxdWVzdE1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMCksdC5zdGFjay5sZW5ndGgmJiF0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyksdGhpcy5faXNCb2R5Rml4ZWQ9ITEpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGgmJnRoaXMuX2lzQm9keUZpeGVkJiYoMCxvLnJlbGVhc2VNb2RhbFNjcm9sbExvY2spKHdpbmRvdyl9cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTp7YWRkRHJhd2VyOnRoaXMuX2FkZERyYXdlcixyZW1vdmVEcmF3ZXI6dGhpcy5fcmVtb3ZlRHJhd2VyLGN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9cy5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RHJhd2VyOigpPT5ffSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5MTQ0ODcpLG49aS5uKG8pLGE9aSgxMzg2MzgpLGw9aSg1ODU0OCkscj1pKDE1MDE1MCksZD1pKDMxMzc3MiksdT1pKDYzMjk5MiksYz1pKDU1ODAzMCksaD1pKDgwMzI4Nyk7dmFyIHA7ZnVuY3Rpb24gXyhlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6aSxjaGlsZHJlbjpvLHJlZmVyZW5jZTpjLGNsYXNzTmFtZTpwLHRoZW1lOl89aH09ZSxtPSgwLGEuZW5zdXJlTm90TnVsbCkoKDAscy51c2VDb250ZXh0KShkLkRyYXdlckNvbnRleHQpKSxbYl09KDAscy51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSx2PSgwLHMudXNlUmVmKShudWxsKSxmPSgwLHMudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkodi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGYuc3Vic2NyaWJlKG0saSksbS5hZGREcmF3ZXIoYiksKCk9PnttLnJlbW92ZURyYXdlcihiKSxmLnVuc3Vic2NyaWJlKG0saSl9KSksW10pLHMuY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmMsY2xhc3NOYW1lOm4oKShoLndyYXAsaFtgcG9zaXRpb24ke3R9YF0pfSxiPT09bS5jdXJyZW50RHJhd2VyJiZzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoLmJhY2tkcm9wLG9uQ2xpY2s6aX0pLHMuY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLGhbYHBvc2l0aW9uJHt0fWBdLHApLHJlZjp2LCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KHB8fChwPXt9KSk7Y29uc3QgZz0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChjLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKGguZHJhd2VyLGkpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sNjMyOTkyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgyNzYwMTkpO2NvbnN0IG49cy5jcmVhdGVDb250ZXh0KG8uZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDk5OTUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FwcENvbnRleHQ6KCk9PnN9KTtjb25zdCBzPSgwLGkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7CmlzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDEwNzU4NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gdHx8bnVsbD09ZXx8KCJzdHJpbmciPT10eXBlb2YgZXx8QXJyYXkuaXNBcnJheShlKSkmJjA9PT1lLmxlbmd0aH1pLmQodCx7aXNJY29uT25seTooKT0+c30pfSwyMjA3NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7QnV0dG9uR3JvdXBDb250ZXh0OigpPT5zfSk7Y29uc3Qgcz1pKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh7aXNJbkJ1dHRvbkdyb3VwOiExLGlzR3JvdXBQcmltYXJ5OiExfSl9LDMyODIxOShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt1c2VMaWdodEJ1dHRvbkNsYXNzZXM6KCk9PnV9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDMwOTkyMCksbD1pKDEwNzU4NSkscj1pKDUzMjAxMSksZD1pKDIyMDc2NCk7Y29uc3QgdT0oZSx0LGkpPT57Y29uc3Qgbz0oMCxzLnVzZUNvbnRleHQpKGEuQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCkse2NsYXNzTmFtZTp1LGlzU2VsZWN0ZWQ6YyxjaGlsZHJlbjpoLHNob3dDYXJldDpwLGZvcmNlRGlyZWN0aW9uOl8saWNvbk9ubHk6Zyxjb2xvcjptPSJncmF5Iix2YXJpYW50OmI9InByaW1hcnkiLHNpemU6dj0ibWVkaXVtIixlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczpmPW8uZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsdHlwb2dyYXBoeTpTLGlzTGluazp5PSExLHRleHRXcmFwOncsaXNQaWxsczpDLGlzQWN0aXZlOkUsc3RhcnRTbG90OngsZW5kU2xvdDpMfT10LE09ZVtgdHlwb2dyYXBoeS0keygoZSx0LGkpPT57aWYoaSl7Y29uc3QgZT1pLnJlcGxhY2UoL15cRCsvZywiIik7cmV0dXJuIHQ/YHNlbWlib2xkJHtlfWA6aX1zd2l0Y2goZSl7Y2FzZSJ4c21hbGwiOnJldHVybiB0PyJzZW1pYm9sZDE0cHgiOiJyZWd1bGFyMTRweCI7Y2FzZSJzbWFsbCI6Y2FzZSJtZWRpdW0iOnJldHVybiB0PyJzZW1pYm9sZDE2cHgiOiJyZWd1bGFyMTZweCI7ZGVmYXVsdDpyZXR1cm4iIn19KSh2LGN8fEMsU3x8dm9pZCAwKX1gXSxUPSgwLHMudXNlQ29udGV4dCkoci5Db250cm9sR3JvdXBDb250ZXh0KSx7aXNJbkJ1dHRvbkdyb3VwOlYsaXNHcm91cFByaW1hcnk6a309KDAscy51c2VDb250ZXh0KShkLkJ1dHRvbkdyb3VwQ29udGV4dCk7cmV0dXJuIG4oKSh1LGUubGlnaHRCdXR0b24seSYmZS5saW5rLEUmJmUuYWN0aXZlLGMmJmUuc2VsZWN0ZWQsKDAsbC5pc0ljb25Pbmx5KShoLGcpJiZlLm5vQ29udGVudCwhIXgmJmUud2l0aFN0YXJ0U2xvdCwocHx8ISFMKSYmZS53aXRoRW5kU2xvdCxpJiZlLndpdGhHcm91cGVkLF8mJmVbX10sZVtrPyJwcmltYXJ5IjpiXSxlW2s/ImdyYXkiOm1dLGVbdl0sTSwhZiYmZS5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMsVC5pc0dyb3VwZWQmJmUuZ3JvdXBlZCx3JiZlLndyYXAsViYmZS5kaXNhYmxlQWN0aXZlT25Ub3VjaCxDJiZlLnBpbGxzKX19LDgzMDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xpZ2h0QnV0dG9uQ29udGVudDooKT0+cH0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNzcwMTQzKSxsPWkoMTA3NTg1KSxyPWkoMjczMzEwKSxkPWkoOTM1MSksdT1pLm4oZCksYz1pKDM2NDgxNSksaD1pLm4oYyk7ZnVuY3Rpb24gcChlKXtjb25zdHtzaG93Q2FyZXQ6dCxpY29uT25seTppLGVsbGlwc2lzOm89ITAsdGV4dFdyYXA6ZCx0b29sdGlwVGV4dDpjLGNoaWxkcmVuOnAsZW5kU2xvdDpfLHN0YXJ0U2xvdDpnLGlzQWN0aXZlQ2FyZXQ6bX09ZTtbXyx0XS5maWx0ZXIoKGU9PiEhZSkpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLGcmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLnN0YXJ0U2xvdCl9LGcpLCEoMCxsLmlzSWNvbk9ubHkpKHAsaSkmJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLmNvbnRlbnQsIWQmJmgoKS5ub3dyYXAsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiLCJhcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbi1yZWN1cnNpdmVseSIsImFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWFsbG93LXRleHQiKSwiZGF0YS1vdmVyZmxvdy10b29sdGlwLXRleHQiOmM/PygwLGEuZ2V0VGV4dEZvclRvb2x0aXApKHApfSxkfHxvP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKSghZCYmbyYmaCgpLmVsbGlwc2lzQ29udGFpbmVyLGQmJmgoKS50ZXh0V3JhcENvbnRhaW5lcixkJiZvJiZoKCkudGV4dFdyYXBXaXRoRWxsaXBzaXMpfSxwKSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aCgpLnZpc3VhbGx5SGlkZGVuLCJhcmlhLWhpZGRlbiI6ITB9LHApKTpzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHAscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmgoKS52aXN1YWxseUhpZGRlbiwiYXJpYS1oaWRkZW4iOiEwfSxwKSkpLF8mJnMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkoaCgpLnNsb3QsaCgpLmVuZFNsb3QpfSxfKSx0JiYoZT0+cy5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOm4oKShoKCkuY2FyZXQsZSYmaCgpLmFjdGl2ZUNhcmV0KSxpY29uOnUoKX0pKShtKSl9fSw4NTQ4MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGlnaHRCdXR0b246KCk9Pmh9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDUzMjAxMSksbj1pKDMyODIxOSksYT1pKDgzMDEyKSxsPWkoMzQ1MTE2KSxyPWkoMzY0ODE1KSxkPWkubihyKSx1PWkoODU0NDUpLGM9aS5uKHUpO2Z1bmN0aW9uIGgoZSl7CmNvbnN0e2lzR3JvdXBlZDp0fT1zLnVzZUNvbnRleHQoby5Db250cm9sR3JvdXBDb250ZXh0KSx7cmVmZXJlbmNlOmksY2xhc3NOYW1lOnIsaXNTZWxlY3RlZDp1LGNoaWxkcmVuOmgsaWNvbk9ubHk6cCxlbGxpcHNpczpfLHNob3dDYXJldDpnLGZvcmNlRGlyZWN0aW9uOm0sZW5kU2xvdDpiLHN0YXJ0U2xvdDp2LGNvbG9yOmYsdmFyaWFudDpTLHNpemU6eSxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp3LHR5cG9ncmFwaHk6Qyx0ZXh0V3JhcDpFPSExLG1heExpbmVzOngsc3R5bGU6TD17fSxpc1BpbGxzOk0saXNBY3RpdmU6VCx0b29sdGlwVGV4dDpWLHJvbGU6ayxkYXRhUWFJZDpBLGFyaWFMYWJlbDpXLG5hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlzQWN0aXZlQ2FyZXQ6WixpZDpKLGRpc2FibGVkOlksdGFiSW5kZXg6cSx2YWx1ZTokLHRpdGxlOlEsdHlwZTpLLC4uLlh9PWUsZWU9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKFgpLHRlPSgwLGwuZmlsdGVyQXJpYVByb3BzKShYKSxpZT1FP3g/PzI6MSxzZT1pZT4wP3suLi5MLCItLXVpLWxpYi1saWdodC1idXR0b24tY29udGVudC1tYXgtbGluZXMiOmllfTpMO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse25hbWU6SSxvbkZvY3VzOkIsb25CbHVyOkgsb25Nb3VzZUVudGVyOkQsb25Nb3VzZUxlYXZlOlAsb25Nb3VzZU92ZXI6Tixvbk1vdXNlT3V0OlIsb25DbGljazpPLG9uQW5pbWF0aW9uRW5kOkYsb25Qb2ludGVyT3Zlcjp6LG9uUG9pbnRlck91dDpqLG9uS2V5RG93bjpVLGF1dG9Gb2N1czpHLGlkOkosZGlzYWJsZWQ6WSx0YWJJbmRleDpxLHZhbHVlOiQsdGl0bGU6USx0eXBlOkssImRhdGEtcWEtaWQiOkEsImFyaWEtbGFiZWwiOlcsLi4uZWUsLi4udGUsY2xhc3NOYW1lOigwLG4udXNlTGlnaHRCdXR0b25DbGFzc2VzKSh7Li4uYygpLC4uLmQoKX0se2NsYXNzTmFtZTpyLGlzU2VsZWN0ZWQ6dSxjaGlsZHJlbjpoLGljb25Pbmx5OnAsc2hvd0NhcmV0OmcsZm9yY2VEaXJlY3Rpb246bSxlbmRTbG90OmIsc3RhcnRTbG90OnYsY29sb3I6Zix2YXJpYW50OlMsc2l6ZTp5LGVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOncsdHlwb2dyYXBoeTpDLHRleHRXcmFwOkUsaXNQaWxsczpNLGlzQWN0aXZlOlR9LHQpLHJlZjppLHN0eWxlOnNlLHJvbGU6a30scy5jcmVhdGVFbGVtZW50KGEuTGlnaHRCdXR0b25Db250ZW50LHtzaG93Q2FyZXQ6Zyxpc0FjdGl2ZUNhcmV0OmcmJihNfHxUfHx1fHxaKSxpY29uT25seTpwLGVsbGlwc2lzOl8sdGV4dFdyYXA6RSx0b29sdGlwVGV4dDpWLGVuZFNsb3Q6YixzdGFydFNsb3Q6dn0saCkpfX0sOTg2NjA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse05hdkJ1dHRvbkNvbnRlbnQ6KCk9PmMsZ2V0TmF2QnV0dG9uQ2xhc3NlczooKT0+dX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoOTE0NDg3KSxuPWkubihvKSxhPWkoNDgwOTcyKSxsPWkoNDAyMjUzKSxyPWkubihsKTtjb25zdCBkPXsiLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYmxlbmRNaXhMaWdodCI6ImNvbG9yLWJ1cm4iLCItLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmsiOiJjb2xvci1kb2RnZSJ9O2Z1bmN0aW9uIHUoZSl7Y29uc3R7c2l6ZTp0PSJsYXJnZSIscHJlc2VydmVQYWRkaW5nczppLGlzTGluazpzLGZsaXBJY29uT25SdGw6byxibGVuZE1vZGU6YSxjbGFzc05hbWU6bH09ZTtyZXR1cm4gbigpKHIoKS5uYXZCdXR0b24scigpW3RdLGkmJnIoKS5wcmVzZXJ2ZVBhZGRpbmdzLG8mJnIoKS5mbGlwSWNvbixhJiZyKCkuYmxlbmRNb2RlLHMmJnIoKS5saW5rLGwpfWZ1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxpY29uOmksYmxlbmRNb2RlOm99PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnIoKS5iYWNrZ3JvdW5kLHN0eWxlOm8/ZDp2b2lkIDB9KSxzLmNyZWF0ZUVsZW1lbnQoYS5TY2FsYWJsZUljb24se2ljb246aSxjbGFzc05hbWU6cigpLmljb259KSx0JiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLnZpc3VhbGx5SGlkZGVufSx0KSl9fSw4ODA4ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TmF2QnV0dG9uOigpPT5ufSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg5ODY2MDkpO2NvbnN0IG49KDAscy5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtpY29uOmksdHlwZTpuPSJidXR0b24iLHByZXNlcnZlUGFkZGluZ3M6YSxmbGlwSWNvbk9uUnRsOmwsc2l6ZTpyLGJsZW5kTW9kZTpkLGFyaWFMYWJlbDp1LC4uLmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Li4uYyxjbGFzc05hbWU6KDAsby5nZXROYXZCdXR0b25DbGFzc2VzKSh7Li4uZSxjaGlsZHJlbjp1fSkscmVmOnQsdHlwZTpufSxzLmNyZWF0ZUVsZW1lbnQoby5OYXZCdXR0b25Db250ZW50LHtpY29uOmksYmxlbmRNb2RlOmR9LHUpKX0pKTtuLmRpc3BsYXlOYW1lPSJOYXZCdXR0b24ifSw2Mjc4NDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QmxvY2tTdHlsZUNsYXNzZXM6KCk9PnIsZ2V0TG9nb1N0eWxlQ2xhc3NlczooKT0+ZH0pO3ZhciBzPWkoOTE0NDg3KSxvPWkubihzKSxuPWkoMTM2NCksYT1pKDg2MDAyNSksbD1pLm4oYSk7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKCkobCgpLnBhaXIsbCgpW2VdLHQpfWZ1bmN0aW9uIGQoZSx0PTIsaT0hMCl7cmV0dXJuIG8oKShsKCkubG9nbyxsKClbZV0sbCgpLnNrZWxldG9uLG4uc2tlbGV0b25UaGVtZS53cmFwcGVyLCFpJiZsKCkuZW1wdHksMT09PXQmJm8oKShuLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpKX19LDM4Nzc3NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjbGVMb2dvOigpPT5sLGhpZGRlbkNpcmNsZUxvZ29DbGFzczooKT0+YX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzk0MTg3KSxuPWkoMTQwMDE3KQo7Y29uc3QgYT1pLm4obikoKS5oaWRkZW47ZnVuY3Rpb24gbChlKXtjb25zdCB0PSgwLG8uaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKSxbaSxuXT0oMCxzLnVzZVN0YXRlKSgwKSxhPSgwLHMudXNlUmVmKShudWxsKSxsPSgwLG8uZ2V0U3R5bGVDbGFzc2VzKShlLnNpemUsaSxlLmNsYXNzTmFtZSkscj1lLmFsdD8/ZS50aXRsZT8/IiIsZD10P3JbMF06ZS5wbGFjZWhvbGRlckxldHRlcjtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT5uKGEuY3VycmVudD8uY29tcGxldGU/PyF0PzI6MSkpLFt0XSksdCYmMyE9PWk/cy5jcmVhdGVFbGVtZW50KCJpbWciLHtyZWY6YSxjbGFzc05hbWU6bCxjcm9zc09yaWdpbjoiIixzcmM6ZS5sb2dvVXJsLGFsdDpyLHRpdGxlOmUudGl0bGUsbG9hZGluZzplLmxvYWRpbmcsb25Mb2FkOigpPT5uKDIpLG9uRXJyb3I6KCk9Pm4oMyksImFyaWEtbGFiZWwiOmVbImFyaWEtbGFiZWwiXSwiYXJpYS1oaWRkZW4iOmVbImFyaWEtaGlkZGVuIl19KTpzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCx0aXRsZTplLnRpdGxlLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSxkKX19LDc5NDE4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PnIsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSgxMzY0KSxhPWkoMTQwMDE3KSxsPWkubihhKTtmdW5jdGlvbiByKGUsdD0yLGkpe3JldHVybiBvKCkobCgpLmxvZ28sbCgpW2VdLGksMD09PXR8fDE9PT10P28oKShuLnNrZWxldG9uVGhlbWUud3JhcHBlcixsKCkuc2tlbGV0b24pOmwoKS5sZXR0ZXIsMT09PXQmJm4uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gZChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sNTMyMDExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xHcm91cENvbnRleHQ6KCk9Pm4sZGVmYXVsdENlbGxTdGF0ZTooKT0+b30pO3ZhciBzPWkoNzc5NDc0KTtjb25zdCBvPXtpc1RvcDohMCxpc1JpZ2h0OiEwLGlzQm90dG9tOiEwLGlzTGVmdDohMH0sbj1zLmNyZWF0ZUNvbnRleHQoe2lzR3JvdXBlZDohMSxjZWxsU3RhdGU6b30pfSwzMDk5MjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q3VzdG9tQmVoYXZpb3VyQ29udGV4dDooKT0+c30pO2NvbnN0IHM9KDAsaSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczohMH0pO3MuZGlzcGxheU5hbWU9IkN1c3RvbUJlaGF2aW91ckNvbnRleHQifSw3ODc4OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+bn0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjE2MzExKTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9KDAscy51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9aT0+e2UoaSksdC5jdXJyZW50PWl9O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e2wuY3VycmVudChlKX0pKSksW10pLGk9KDAscy51c2VSZWYpKG51bGwpLG49dD0+e2lmKG51bGw9PT10KXJldHVybiBhKGkuY3VycmVudCx0KSx2b2lkKGkuY3VycmVudD1udWxsKTtpLmN1cnJlbnQhPT1lJiYoaS5jdXJyZW50PWUsYShpLmN1cnJlbnQsdCkpfSxsPSgwLHMudXNlUmVmKShuKTtyZXR1cm4gbC5jdXJyZW50PW4sKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBsLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+bC5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sOTQ4NDUwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6bix0aXRsZTphLGljb246bD0iIiwuLi5yfT1lLGQ9cix1PSEoIW8mJiFuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6biwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpsfSxjbGFzc05hbWU6aSx0aXRsZTphLC4uLmR9KX0pKX0sMjczMzEwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ljb246KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjppPSIiLHRpdGxlOm8sYXJpYUxhYmVsOm4sYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOmwsLi4ucn09ZSxkPSEhKG98fG58fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLnIscmVmOnQsImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOmx8fCFkLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDppfX0pfSkpfSw0ODA5NzIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U2NhbGFibGVJY29uOigpPT5kfSk7dmFyIHM9aSg5MTQ0ODcpLG89aS5uKHMpLG49aSg3Nzk0NzQpLGE9aSg5NDg0NTApLGw9aSgyMDMyNzMpLHI9aS5uKGwpO2NvbnN0IGQ9bi5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTppLC4uLnN9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChhLkNvbW1vbkljb24sey4uLnMsY2xhc3NOYW1lOm8oKShpLHIoKS5zY2FsYWJsZUljb24pLHJlZjp0fSl9KSl9LDEzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2tlbGV0b25UaGVtZTooKT0+b30pO3ZhciBzPWkoOTc1Mjg1KTtjb25zdCBvPWkubihzKSgpfSwxNDkzNjQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3dpdGNoR3JvdXA6KCk9Pm59KQo7dmFyIHM9aSg3Nzk0NzQpLG89aSg4Njk4NDIpO2NsYXNzIG4gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc3Vic2NyaXB0aW9ucz1uZXcgU2V0LHRoaXMuX2dldE5hbWU9KCk9PnRoaXMucHJvcHMubmFtZSx0aGlzLl9nZXRWYWx1ZXM9KCk9PnRoaXMucHJvcHMudmFsdWVzLHRoaXMuX2dldE9uQ2hhbmdlPSgpPT50aGlzLnByb3BzLm9uQ2hhbmdlLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoZSl9LHRoaXMuX3Vuc3Vic2NyaWJlPWU9Pnt0aGlzLl9zdWJzY3JpcHRpb25zLmRlbGV0ZShlKX0sdGhpcy5zdGF0ZT17c3dpdGNoR3JvdXBDb250ZXh0OntnZXROYW1lOnRoaXMuX2dldE5hbWUsZ2V0VmFsdWVzOnRoaXMuX2dldFZhbHVlcyxnZXRPbkNoYW5nZTp0aGlzLl9nZXRPbkNoYW5nZSxzdWJzY3JpYmU6dGhpcy5fc3Vic2NyaWJlLHVuc3Vic2NyaWJlOnRoaXMuX3Vuc3Vic2NyaWJlfX19cmVuZGVyKCl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLlN3aXRjaEdyb3VwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpcy5zdGF0ZS5zd2l0Y2hHcm91cENvbnRleHR9LHRoaXMucHJvcHMuY2hpbGRyZW4pfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLl9ub3RpZnkodGhpcy5fZ2V0VXBkYXRlcyh0aGlzLnByb3BzLnZhbHVlcyxlLnZhbHVlcykpfV9ub3RpZnkoZSl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKCh0PT50KGUpKSl9X2dldFVwZGF0ZXMoZSx0KXtyZXR1cm5bLi4udCwuLi5lXS5maWx0ZXIoKGk9PnQuaW5jbHVkZXMoaSk/IWUuaW5jbHVkZXMoaSk6ZS5pbmNsdWRlcyhpKSkpfX19LDM0NTExNihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIG4oZSxhKX1mdW5jdGlvbiBvKGUpe3JldHVybiBuKGUsbCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9T2JqZWN0LmVudHJpZXMoZSkuZmlsdGVyKHQpLHM9e307Zm9yKGNvbnN0W2UsdF1vZiBpKXNbZV09dDtyZXR1cm4gc31mdW5jdGlvbiBhKGUpe2NvbnN0W3QsaV09ZTtyZXR1cm4gMD09PXQuaW5kZXhPZigiZGF0YS0iKSYmInN0cmluZyI9PXR5cGVvZiBpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDA9PT1lWzBdLmluZGV4T2YoImFyaWEtIil9ZnVuY3Rpb24gcihlLHQpe2NvbnN0IGk9cyhlKTtyZXR1cm4gdCYmKGlbImRhdGEtcWEtaWQiXT10KSxpfWkuZCh0LHtmaWx0ZXJBcmlhUHJvcHM6KCk9Pm8sZmlsdGVyQ2hlY2tlZERhdGFQcm9wczooKT0+cixmaWx0ZXJEYXRhUHJvcHM6KCk9PnMsZmlsdGVyUHJvcHM6KCk9Pm4saXNBcmlhQXR0cmlidXRlOigpPT5sLGlzRGF0YUF0dHJpYnV0ZTooKT0+YX0pfSw3NzAxNDMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VGV4dEZvclRvb2x0aXA6KCk9PmF9KTt2YXIgcz1pKDc3OTQ3NCk7Y29uc3Qgbz1lPT4oMCxzLmlzVmFsaWRFbGVtZW50KShlKSYmQm9vbGVhbihlLnByb3BzLmNoaWxkcmVuKSxuPShlLHQ9ITApPT5udWxsPT1lfHwiYm9vbGVhbiI9PXR5cGVvZiBlfHwie30iPT09SlNPTi5zdHJpbmdpZnkoZSk/IiI6ZS50b1N0cmluZygpKyh0PyIgIjoiIiksYT1lPT5BcnJheS5pc0FycmF5KGUpfHwoMCxzLmlzVmFsaWRFbGVtZW50KShlKT9zLkNoaWxkcmVuLnRvQXJyYXkoZSkucmVkdWNlKCgoZSx0KT0+e2xldCBpPSIiO3JldHVybiBpPSgwLHMuaXNWYWxpZEVsZW1lbnQpKHQpJiZvKHQpP2EodC5wcm9wcy5jaGlsZHJlbik6KDAscy5pc1ZhbGlkRWxlbWVudCkodCkmJiFvKHQpPyIiOm4odCksZS5jb25jYXQoaSl9KSwiIikudHJpbSgpOm4oZSwhMSl9LDk2NDU5NChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHMoW2VdKX1pLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnN9KX0sOTczODA0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldEltYWdlOigpPT5ufSk7Y29uc3Qgcz1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7ZS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIn1mdW5jdGlvbiBuKGUsdCxpPW8sbil7bGV0IGE9cy5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PWEmJihhPW5ldyBQcm9taXNlKCgoZSxzKT0+e2NvbnN0IG89bmV3IEltYWdlO28ub25sb2FkPSgpPT57ZShvKSxvLm9ubG9hZD1udWxsLG8ub25lcnJvcj1udWxsfSxvLm9uZXJyb3I9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0saShvKSxvLnNyYz10LG4mJihuLm9uYWJvcnQ9KCk9PntzKCksby5vbmxvYWQ9bnVsbCxvLm9uZXJyb3I9bnVsbH0pfSkpLHMuc2V0KGUsYSkpLGF9fSw3OTAwNDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2hhbmdlRGVzY3JpcHRpb246KCk9PmQsY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdDooKT0+bCxjb252ZXJ0VG9NYXJrZWRTeW1ib2xMaXN0OigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG89aSgzODQwMTcpLG49aSg1ODA1MjYpLGE9KGkoNjIxMjApLGkoOTYyMDgxKSxpKDMwNDM5OSkpO2koMTU1OTAwKSxpKDU2OTM5OCksaSg3ODgwMSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWUuaWQsaT1lLm5hbWUse3N5bWJvbHM6cyxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjdXN0b20iLGlkOnQsbmFtZTppLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6cyxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOit0fX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoZS5jb2xvcikse3N5bWJvbHM6aSxjb2xsYXBzZWRTZXBhcmF0b3JzOm99PSgwLG4ubG9jYWxDb2xsYXBzZVN0YXRlRnJvbVJlbW90ZVN5bWJvbHMpKGUuc3ltYm9scz8/W10pO3JldHVybnt0eXBlOiJjb2xvcmVkIixpZDp0LApjb2xvcjp0LG5hbWU6ZS5uYW1lPz9udWxsLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sYWN0aXZlOmUuYWN0aXZlLHN5bWJvbHM6aSxzaGFyZWQ6ZS5zaGFyZWQsY29sbGFwc2VkU2VwYXJhdG9yczpvLHBlcnNpc3RlZFN0YXRlOmUsbWV0YTp7c2VydmVyX2lkOitlLmlkfX19ZnVuY3Rpb24gZChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLGEud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihhLmhhbmRsZUpTT04pLnRoZW4obCl9fSw1ODA1MjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+cixyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT51LHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+ZCxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxvPWkoOTAxMDIyKSxuPWkoNzA1MDEyKSxhPWkoOTIyMjQ4KTtjb25zdCBsPW5ldyBSZWdFeHAoYF4ke28uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1bXSxpPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFsscyxuXT1lLm1hdGNoKGwpfHxbXTtpZihuKXtjb25zdCBlPWAke28uU0VQQVJBVE9SX1BSRUZJWH0ke259YDtzJiZpLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczppfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3QgaT1fKGUpO3JldHVybiB0Lm1hcCgoZT0+aT8uaGFzT3duUHJvcGVydHkoZSk/YyhlLGlbZV0pOmUpKX1mdW5jdGlvbiB1KGUsdCxpKXtjb25zdCBzPV8oZSk7aWYocz8uaGFzT3duUHJvcGVydHkoaSkpe2NvbnN0IGU9c1tpXTtyZXR1cm57b2xkU2VwYXJhdG9yOmModCxlKSxuZXdTZXBhcmF0b3I6YyhpLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOml9fWZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPWUucmVwbGFjZShvLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke28uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtpfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxzLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLG4uc2VydmljZSkoYS5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5zfSk7Y29uc3Qgcz1uZXcgU2V0fSw4Nzc0NDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxvLG47aS5kKHQse1RpY2tlclR5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlRpY2tlcj0idGlja2VyIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5TeW1ib2xOYW1lPSJzaG9ydF9uYW1lIixlLkxhc3Q9Imxhc3RfcHJpY2UiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ2hhbmdlSW5QZXJjZW50cz0iY2hhbmdlX3BlcmNlbnQiLGUuVm9sdW1lPSJ2b2x1bWUiLGUuUHJlUG9zdE1hcmtldD0icmNocCIsZS5GbGFnPSJmbGFnIn0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlW2UuREVTQz0tMV09IkRFU0MiLGVbZS5BU0M9MV09IkFTQyJ9KG58fChuPXt9KSl9LDQ0MDcxNShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9PnN9KTtjb25zdCBzPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6aX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShhLnNob3J0Y3V0LGkpfSx0KX19LDcyMTE2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDkxNDQ4Nyksbj1pLm4obyksYT1pKDI3MzMxMCksbD1pKDY0OTE2Nikscj1pKDc3OTEwOCksZD1pKDUyNTEpLHU9aSgzODA1NiksYz1pKDU4MDU5NiksaD1pKDQ2MjcwNCkscD1pKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOmksaXNMb2FkaW5nOm8saXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOm0sZGlzYWJsZWQ6YixjaGVja2VkOnYsaWNvbjpmLGljb25DaGVja2VkOlMsaGludDp5LHN1Ykl0ZW1zOncsbGFiZWw6QyxzdHlsZWRMYWJlbDpFLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6TSxqc3hMYWJlbDpULHNpemU6Vj0ibm9ybWFsIn09ZSxrPSgwLHMudXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksQT0hIXcubGVuZ3RoO3JldHVybiBvP3MuY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQscC5pdGVtLHAubG9hZGluZyxwW1ZdKX0scy5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpzLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LHAuaXRlbSxwLmludGVyYWN0aXZlLGkmJnAudGl0bGUsYiYmcC5kaXNhYmxlZCxfJiZwLmhvdmVyZWQsZyYmcC5hY3RpdmUsayYmcC5lbXB0eUljb25zLHBbVl0pLG9uQ2xpY2s6eH0scy5jcmVhdGVFbGVtZW50KGEuSWNvbix7Y2xhc3NOYW1lOm4oKShwLmljb24pLGljb246ZnVuY3Rpb24oKXsKaWYobSYmdilyZXR1cm4gU3x8Znx8dTtyZXR1cm4gZn0oKX0pLHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpuKCkocC5sYWJlbCl9LCFUJiZFP0UubWFwKCgoe3RleHQ6ZSwuLi50fSxpKT0+cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7a2V5Omksc3R5bGU6dH0sZSkpKTpUPz9DKSwhIU0mJnMuY3JlYXRlRWxlbWVudChhLkljb24se29uQ2xpY2s6ZnVuY3Rpb24oKXtNJiZNLmFjdGlvbigpfSxjbGFzc05hbWU6cC5yZW1vdmUsaWNvbjpofSksIUEmJnkmJnMuY3JlYXRlRWxlbWVudChkLkhpbnQse2NsYXNzTmFtZTpwLnNob3J0Y3V0LHRleHQ6eX0pLEEmJnMuY3JlYXRlRWxlbWVudChhLkljb24se2NsYXNzTmFtZTpwLm5lc3RlZCxpY29uOmN9KSxMKX19LDMyMzgzMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgcz1pKDc3OTQ3NCksbz1pKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTpvLnNlcGFyYXRvcn0pfXZhciBhPWkoNzIxMTY3KSxsPWkoNTY5Mzk4KSxyPWkoOTY0MjE0KSxkPWkoMjc2MDE5KTtjb25zdCB1PSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXU/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtpLG9dPSgwLHMudXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAscy51c2VTdGF0ZSkoITEpLGM9ISFpLnN1Ykl0ZW1zLmxlbmd0aCxoPWMmJm47cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9Pm8odC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLHMuY3JlYXRlRWxlbWVudChhLkNvbnRleHRNZW51SXRlbSx7Li4uaSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGkuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoYylyZXR1cm4gdm9pZCBsKCEwKTtpLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxkLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOmkubG9hZGluZyxpc0hvdmVyZWQ6aH0saCYmcy5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnB9LHMuY3JlYXRlRWxlbWVudChfLHtpdGVtczppLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOnB9KSkpO2Z1bmN0aW9uIHAoZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgaD1pKDc3OTEwOCkscD1pKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjppLGNsb3NlTmVzdGVkOm99PWUsbD0hQm9vbGVhbihpKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChoLkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxzLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLGkmJnMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwscy5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDppLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjpwLG9uQ2xpY2s6b30pLHMuY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGMse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+c30pO2NvbnN0IHM9aSg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztmdW5jdGlvbiBvKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9aS5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5vLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KHN8fChzPXt9KSl9LDk4MzYxNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5yLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+bCx1cGRhdGVUYWJJbmRleGVzOigpPT5kfSk7dmFyIHMsbz1pKDk2OTE2OCksbj1pKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBsKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHIoZSl7CnJldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKScpKS5maWx0ZXIoKDAsbi5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGQoKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIse2J1YmJsZXM6ITB9KSl9ZnVuY3Rpb24gdShlKXtjb25zdCB0PSgwLG8uaXNSdGwpKCk7c3dpdGNoKGUpe2Nhc2UgMzg6cmV0dXJuImJsb2NrUHJldiI7Y2FzZSA0MDpyZXR1cm4iYmxvY2tOZXh0IjtjYXNlIDM3OnJldHVybiB0PyJpbmxpbmVOZXh0IjoiaW5saW5lUHJldiI7Y2FzZSAzOTpyZXR1cm4gdD8iaW5saW5lUHJldiI6ImlubGluZU5leHQiO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSFmdW5jdGlvbihlKXtlLkJsb2NrUHJldj0iYmxvY2tQcmV2IixlLkJsb2NrTmV4dD0iYmxvY2tOZXh0IixlLklubGluZVByZXY9ImlubGluZVByZXYiLGUuSW5saW5lTmV4dD0iaW5saW5lTmV4dCJ9KHN8fChzPXt9KSl9LDg1ODAzNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBY3Rpb25zOigpPT5wfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgxODUyNzEpLG49aSg3MTIxMzQpLGE9aSg0MzE4MjMpLGw9aSg1MDkwNCkscj1pKDkxOTk4NSksZD1pKDY0MzkwMyksdT1pKDM4NjkzMSksYz1pKDYyMTkyNiksaD1pKDY3NDE5KTtmdW5jdGlvbiBwKGUsdCxwLF8pe2NvbnN0IGc9ZnVuY3Rpb24oZSx0LHIscCl7Y29uc3QgXz1vLnQobnVsbCx2b2lkIDAsaSgzMDgzOSkpLmZvcm1hdCh7c3ltYm9sOigwLGQuc2FmZVNob3J0TmFtZSkodCl9KSxnPWUuZ2V0U3ltYm9sQ29sb3IodCl8fHZvaWQgMCxtPXt9LGI9bi5MSVNUX0NPTE9SUy5tYXAoKGU9Pntjb25zdCB0PW5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7bGFiZWw6KDAsaC5mbGFnZ2VkU3ltYm9sQ29sb3JOYW1lKShlKSxvbkV4ZWN1dGU6KCk9PnYoZSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZT09PWd9fSk7cmV0dXJuIG1bZV09dCx0fSkpLHY9aT0+e3AoKSwoMCxjLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e3Iuc2V0Q29sb3IoaSksZS5zZXRTeW1ib2xzQ29sb3IoW3RdLHIuZ2V0Q29sb3IoKSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiRmxhZyIpLG4uTElTVF9DT0xPUlMuZm9yRWFjaCgoZT0+e21bZV0udXBkYXRlKHtjaGVja2VkOmU9PT1yLmdldENvbG9yKCl9KX0pKX0pLHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9sc0NvbG9ycyIsc291cmNlOiJTZXQgc3ltYm9sIGNvbG9yIn0pfSxmPXtkb05vdENsb3NlT25DbGljazohMH07cmV0dXJuW25ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5GbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpfLG9uRXhlY3V0ZTooKT0+dihyLmdldENvbG9yKCkpfX0pLG5ldyBsLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5DaGFuZ2VGbGFnZ2VkR3JvdXBDb2xvciIsb3B0aW9uczp7Li4uZixsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg5NjE2MTQpKSxzdWJJdGVtczpifSxjdXN0b21BY3Rpb25PcHRpb25zOnsuLi5mLGpzeExhYmVsOnMuY3JlYXRlRWxlbWVudChhLkxhYmVsQ29sb3JTZWxlY3Rvcix7dmFsdWU6ZyxvbkNoYW5nZTp2fSl9fSldfShlLHQscCxfKTtyZXR1cm4gbnVsbCE9PWUuZ2V0U3ltYm9sQ29sb3IodCkmJmcucHVzaChmdW5jdGlvbihlLHQpe3JldHVybiBuZXcgbC5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuVW5mbGFnU3ltYm9sIixvcHRpb25zOntsYWJlbDpvLnQobnVsbCx2b2lkIDAsaSg2OTIxKSkuZm9ybWF0KHtzeW1ib2w6KDAsZC5zYWZlU2hvcnROYW1lKSh0KX0pLG9uRXhlY3V0ZTooKT0+e2Uuc2V0U3ltYm9sc0NvbG9yKFt0XSxudWxsKSwoMCx1LnRyYWNrRXZlbnQpKCJXYXRjaGxpc3QiLCJDb250ZXh0IG1lbnUiLCJVbmZsYWciKX19fSl9KGUsdCkpLGcucHVzaChmdW5jdGlvbihlKXtyZXR1cm4gbmV3IGwuQWN0aW9uKHthY3Rpb25JZDoiV2F0Y2hsaXN0LlVuZmxhZ0FsbFN5bWJvbHMiLG9wdGlvbnM6e2xhYmVsOm8udChudWxsLHZvaWQgMCxpKDMzMjc1MykpLG9uRXhlY3V0ZTooKT0+eygwLHIuc2hvd1VuZmxhZ0FsbFN5bWJvbHNDb25maXJtKSgoKCk9PntlLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSksKDAsdS50cmFja0V2ZW50KSgiV2F0Y2hsaXN0IiwiQ29udGV4dCBtZW51IiwiVW5mbGFnIGFsbCIpfX19KX0oZSkpLGd9fSwzMDY2MDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNzEyMTM0KSxuPWkoMjM1NzI0KSxhPWkoMTQ5MzY0KSxsPWkoOTgzNjE2KSxyPWkoMzI5NjY4KSxkPWkoOTE0NDg3KSx1PWkubihkKSxjPWkoNjU4NDYpLGg9aSgyNzMzMTApLHA9aSgxODUyNzEpLF89aSg0NDA3MTUpLGc9aSgxODIzMDgpLG09aSgyNzQ4NTEpLGI9aSgyMDMzMDkpLHY9aSg3NTE4NjMpO2NvbnN0IGY9KDAsYy5tYWtlU3dpdGNoR3JvdXBJdGVtKSgoZnVuY3Rpb24oZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdmFsdWU6bj1vLkxpc3RDb2xvci5SZWQsbmFtZTphLGNoZWNrZWQ6bH09ZSxbcixkXT0oMCxnLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCksYz0oMCxzLnVzZUNvbnRleHQpKF8uQ29udGV4dE1lbnVDb250ZXh0KSxmPWM/LnR5cGU/PyJtZW51IixTPW47cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgibGFiZWwiLHtyZWY6cix0YWJJbmRleDpkLGNsYXNzTmFtZTp1KCkodCx2LndyYXAsImRyYXdlciI9PT1mJiZ2LmxhcmdlKSwiZGF0YS1jb2xvciI6Uyxyb2xlOiJtZW51aXRlbSIsImFyaWEtbGFiZWwiOnAudChudWxsLHtyZXBsYWNlOntjb2xvcjpTfX0saSg1MDY5MTUpKSwKImFyaWEtY2hlY2tlZCI6bH0scy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2NsYXNzTmFtZTp2LmlucHV0LHR5cGU6InJhZGlvIixuYW1lOmEsdmFsdWU6bixjaGVja2VkOmwsb25DaGFuZ2U6ZS5vbkNoYW5nZSxvbkNsaWNrOmw/ZnVuY3Rpb24oKXtlLm9uQ2xpY2tJZkNoZWNrZWQmJmUub25DbGlja0lmQ2hlY2tlZChuKX06dm9pZCAwfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSgpKHYuYm94LHZbU10sImRyYXdlciI9PT1mJiZ2LmxhcmdlKX0sbD9zLmNyZWF0ZUVsZW1lbnQoaC5JY29uLHtpY29uOm19KTpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LnBpY2tlckRvdH0scy5jcmVhdGVFbGVtZW50KGguSWNvbix7Y2xhc3NOYW1lOnYuaG92ZXJEb3QsaWNvbjpifSkpKSl9KSksUz1bMzksMzcsMTMsMzIsMjddO2Z1bmN0aW9uIHkoZSl7Y29uc3R7YnV0dG9uQ2xhc3NOYW1lOnQsdmFsdWU6aSxvblNlbGVjdGVkQ2xpY2s6ZCxmcm9tS2V5Ym9hcmQ6dX09ZSxjPSgwLHMudXNlUmVmKShudWxsKSxoPSgwLHMudXNlQ2FsbGJhY2spKChlPT57aWYoIWMuY3VycmVudHx8ZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoIVMuaW5jbHVkZXModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCBzPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykoYy5jdXJyZW50KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvciksYT1zLmZpbmRJbmRleCgoZT0+ZT09PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKTtpZigtMT09PWEpcmV0dXJuO2NvbnN0IGQ9c1thXTtsZXQgdTtzd2l0Y2godCl7Y2FzZSAxMzpjYXNlIDMyOl8oZC5kYXRhc2V0LmNvbG9yfHxvLkxpc3RDb2xvci5SZWQpO2JyZWFrO2Nhc2UgMjc6XyhpKX1zd2l0Y2goKDAsbC5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZU5leHQiOnU9c1thKzFdfHxzWzBdO2JyZWFrO2Nhc2UiaW5saW5lUHJldiI6dT1zW2EtMV18fHNbcy5sZW5ndGgtMV19dSBpbnN0YW5jZW9mIEhUTUxMYWJlbEVsZW1lbnQmJigoMCxyLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGQpLCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHUpLHUuZm9jdXMoKSl9KSxbXSk7KDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF1KXJldHVybjtjb25zdCBlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsdD1jLmN1cnJlbnQ7aWYoIXQpcmV0dXJuO2NvbnN0W2ldPSgwLGwucXVlcnlGb2N1c2FibGVFbGVtZW50cykodCkuc29ydChsLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO3JldHVybiBpPygoMCxyLmJlY29tZU1haW5FbGVtZW50KShpKSxpLmZvY3VzKCksKCk9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmUuZm9jdXMoKX0pOnZvaWQgMH0pLFtdKTtjb25zdCBwPW8uTElTVF9DT0xPUlMubWFwKCgoZSxpKT0+cy5jcmVhdGVFbGVtZW50KGYse2tleTppLGNsYXNzTmFtZTp0LG9uQ2xpY2tJZkNoZWNrZWQ6ZCx2YWx1ZTplfSkpKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJtZW51Iix7cmVmOmMsb25LZXlEb3duOmh9LHMuY3JlYXRlRWxlbWVudChhLlN3aXRjaEdyb3VwLHtuYW1lOiJjb2xvci1zZWxlY3RvciIsb25DaGFuZ2U6Xyx2YWx1ZXM6dm9pZCAwIT09aT9baV06W119LHApKTtmdW5jdGlvbiBfKHQpe2Uub25DaGFuZ2UmJnZvaWQgMCE9PXQmJmUub25DaGFuZ2UodCl9fX0sNjc0MTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmxhZ2dlZFN5bWJvbENvbG9yTmFtZTooKT0+bn0pO3ZhciBzPWkoNzEyMTM0KSxvPWkoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe3N3aXRjaChlKXtjYXNlIHMuTGlzdENvbG9yLlJlZDpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjU1MDQyKSk7Y2FzZSBzLkxpc3RDb2xvci5HcmVlbjpyZXR1cm4gby50KG51bGwsdm9pZCAwLGkoNjgyNjY5KSk7Y2FzZSBzLkxpc3RDb2xvci5CbHVlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2MzgxKSk7Y2FzZSBzLkxpc3RDb2xvci5PcmFuZ2U6cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDk3MTI4MykpO2Nhc2Ugcy5MaXN0Q29sb3IuUHVycGxlOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzA5MjMpKTtjYXNlIHMuTGlzdENvbG9yLkN5YW46cmV0dXJuIG8udChudWxsLHZvaWQgMCxpKDE0Njg0KSk7Y2FzZSBzLkxpc3RDb2xvci5QaW5rOnJldHVybiBvLnQobnVsbCx2b2lkIDAsaSg2NzY3NjgpKX19fSw0MzE4MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7TGFiZWxDb2xvclNlbGVjdG9yOigpPT5sfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSgzMDY2MDEpLG49aSg1MTg3NSksYT1pKDU1ODg3Myk7Y2xhc3MgbCBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHt2YWx1ZTplfT10aGlzLnByb3BzO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS53cmFwcGVyfSxzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YS5idXR0b25zLG9uQ2xpY2s6bi5wcmV2ZW50RGVmYXVsdH0scy5jcmVhdGVFbGVtZW50KG8uQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmEuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6ZSxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZSxvblNlbGVjdGVkQ2xpY2s6dGhpcy5fb25DaGFuZ2V9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vbkNoYW5nZShlKX19fX0sODM0MTg4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BvcHVwQ29sb3JTZWxlY3RvcjooKT0+eX0pO3ZhciBzPWkoNzc5NDc0KSxvPWkoNjA3ODMyKSxuPWkoNjA5NTI4KSxhPWkoNDA2MTEwKSxsPWkoMzEzNzcyKSxyPWkoOTY0MjE0KSxkPWkoMzIzODMwKSx1PWkoNDQwNzE1KSxjPWkoOTY5MTY4KSxoPWkoNTg1NDgpLHA9aSgzMDY2MDEpLF89aSgzNjMyNjkpLGc9aSg1NTg5NzIpO2NsYXNzIG0gZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29tcG9uZW50RGlkTW91bnQoKXsKZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYoXy5tb2JpbGV0b3VjaD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaFN0YXJ0KToodGhpcy5wcm9wcy5lbGVtLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6dGhpcy5wcm9wcy5lbGVtJiYodGhpcy5wcm9wcy5lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5wcm9wcy5oaWRlKSkpfXJlbmRlcigpe2NvbnN0IGU9e3RvcDowfTtpZih0aGlzLnByb3BzLmVsZW0pe2NvbnN0IHQ9dGhpcy5wcm9wcy5lbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2UudG9wPXQudG9wK3QuaGVpZ2h0LzIsKDAsYy5pc1J0bCkoKT9lLnJpZ2h0PXdpbmRvdy5pbm5lcldpZHRoLXQubGVmdDplLmxlZnQ9dC5sZWZ0K3Qud2lkdGh9ZWxzZSBlLmxlZnQ9MDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGguUG9ydGFsLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTplLGNsYXNzTmFtZTpnLnBvcHVwLHJlZjp0aGlzLl9zZXRQb3BVcEVsZW0sb25Nb3VzZUxlYXZlOl8ubW9iaWxldG91Y2g/dm9pZCAwOnRoaXMuX29uUG9wVXBNb3VzZUxlYXZlfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLndyYXBwZXJ9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuc2VsZWN0b3J9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcuYXJyb3dMZWZ0fSkscy5jcmVhdGVFbGVtZW50KHAuQ29sb3JTZWxlY3Rvcix7YnV0dG9uQ2xhc3NOYW1lOmcuY29sb3JTZWxlY3RCdXR0b24sdmFsdWU6dGhpcy5wcm9wcy5jdXJyZW50Q29sb3IsZnJvbUtleWJvYXJkOnRoaXMucHJvcHMuZnJvbUtleWJvYXJkLG9uQ2hhbmdlOnRoaXMuX29uQ2hhbmdlfSkpKSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9wb3BVcEVsZW09bnVsbCx0aGlzLl9vbkNoYW5nZT1lPT57dGhpcy5wcm9wcy5vblNlbGVjdENvbG9yKGUpLHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRhcmdldE1vdXNlTGVhdmU9ZT0+e2NvbnN0IHQ9ISFlLnJlbGF0ZWRUYXJnZXQubm9kZU5hbWUsaT1lLnJlbGF0ZWRUYXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0scz10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblBvcFVwTW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxpPWUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldD09PXRoaXMucHJvcHMuZWxlbSxzPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLm5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQpO2l8fHN8fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9vblRvdWNoU3RhcnQ9ZT0+e2NvbnN0IHQ9ISFlLnRhcmdldC5ub2RlTmFtZSxpPWUudGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLHM9ZS50YXJnZXQ9PT10aGlzLl9wb3BVcEVsZW0sbz10JiZ0aGlzLnByb3BzLmVsZW0uY29udGFpbnMoZS50YXJnZXQpLG49dGhpcy5fcG9wVXBFbGVtJiZ0JiZ0aGlzLl9wb3BVcEVsZW0uY29udGFpbnMoZS50YXJnZXQpO2l8fG98fHN8fG58fHRoaXMucHJvcHMuaGlkZSgpfSx0aGlzLl9zZXRQb3BVcEVsZW09ZT0+e3RoaXMuX3BvcFVwRWxlbT1lfX19ZnVuY3Rpb24gYihlKXtjb25zdHthY3Rpb25zOnQsLi4uaX09ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGEuTWF0Y2hNZWRpYSx7cnVsZTpuLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+ZSYmdD9zLmNyZWF0ZUVsZW1lbnQobC5EcmF3ZXJNYW5hZ2VyLG51bGwscy5jcmVhdGVFbGVtZW50KHUuQ29udGV4dE1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7dHlwZToiZHJhd2VyIn19LHMuY3JlYXRlRWxlbWVudChyLkRyYXdlcix7b25DbG9zZTppLmhpZGUscG9zaXRpb246IkJvdHRvbSJ9LHMuY3JlYXRlRWxlbWVudChkLkNvbnRleHRNZW51TGlzdCx7aXRlbXM6dH0pKSkpOnMuY3JlYXRlRWxlbWVudChtLHsuLi5pfSkpKX12YXIgdj1pKDU3MTMwMCk7bGV0IGY9bnVsbCxTPW51bGw7dmFyIHk7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtmJiZTPy51bm1vdW50KCl9ZS5zaG93PWZ1bmN0aW9uKGUpe2Z8fChmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKSx0KCksUz0oMCx2LmNyZWF0ZVJlYWN0Um9vdCkocy5jcmVhdGVFbGVtZW50KG8uU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOmUubWFuYWdlcnx8bnVsbH0scy5jcmVhdGVFbGVtZW50KGIsey4uLmUsaGlkZTp0fSkpLGYpfSxlLmhpZGU9dH0oeXx8KHk9e30pKX0sMTI5MzMzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbE1hcmtlcjooKT0+dSxjcmVhdGVTeW1ib2xNYXJrZXJTdGFuZGFsb25lOigpPT5ofSk7aSg4MjkxODApO3ZhciBzPWkoODI5NzYzKSxvPWkoODMxNTI3KSxuPWkoODM0MTg4KSxhPWkoMjQzNjMxKSxsPWkoNjA5NTI4KSxyPWkoODU4MDM3KSxkPWkoNjIxOTI2KTtjbGFzcyB1e3VwZGF0ZVN1YnNjcmlwdGlvbigpe3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9YmluZFRvKGUsdCl7dGhpcy5fc2VydmljZS5vZmZTeW1ib2xDaGFuZ2UodGhpcy5fc3ltYm9sLHRoaXMuX29uQ2hhbmdlKSx0aGlzLl9zeW1ib2w9ZSx0aGlzLl91aW1hcmtlci5hcHBlbmRUbyh0KSwKdGhpcy5fc2V0U3RhdGUodGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcihlKSksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZShlLHRoaXMuX29uQ2hhbmdlKX11bmJpbmQoKXt0aGlzLl9zZXJ2aWNlLm9mZlN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpLHRoaXMuX3VpbWFya2VyLmRldGFjaCgpfWdldEVsZW0oKXtyZXR1cm4gdGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpfWlzTWFya2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jb2xvcn1zZXRDbGFzc05hbWUoZSl7dGhpcy5fdWltYXJrZXIuZ2V0RWxlbSgpLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fY2xhc3NlcyksdGhpcy5fY2xhc3Nlcz1lLnNwbGl0KCIgIikuZmlsdGVyKEJvb2xlYW4pLHRoaXMuX3VpbWFya2VyLmdldEVsZW0oKS5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuX2NsYXNzZXMpfWRlc3Ryb3koKXt0aGlzLnVuYmluZCgpLGRlbGV0ZSB0aGlzLl91aW1hcmtlcixkZWxldGUgdGhpcy5fb3B0c310b2dnbGUoZSl7dGhpcy5fb25DbGljayhlKX1fc2V0U3RhdGUoZSl7Y29uc3QgdD10aGlzLmlzTWFya2VkKCk7dGhpcy5fY29sb3I9ZSxudWxsIT09dGhpcy5fY29sb3I/KHRoaXMuX3VpbWFya2VyLnNldENvbG9yKHRoaXMuX2NvbG9yKSx0aGlzLl9hZGRBY3RpdmVDbGFzc05hbWUoKSk6KHRoaXMuX3VpbWFya2VyLnJlbW92ZUNvbG9yKCksdGhpcy5fcmVtb3ZlQWN0aXZlQ2xhc3NOYW1lKCkpLHZvaWQgMCE9PXRoaXMuX29wdHMub25NYXJrZWRDaGFuZ2VkJiZ0IT09dGhpcy5pc01hcmtlZCgpJiZ0aGlzLl9vcHRzLm9uTWFya2VkQ2hhbmdlZCgpfV9hZGRBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIuYWRkQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfV9yZW1vdmVBY3RpdmVDbGFzc05hbWUoKXt0aGlzLl9vcHRzLmFjdGl2ZUNsYXNzTmFtZSYmdGhpcy5fdWltYXJrZXIucmVtb3ZlQ2xhc3ModGhpcy5fb3B0cy5hY3RpdmVDbGFzc05hbWUpfWNvbnN0cnVjdG9yKGUpe3RoaXMuX3NlcnZpY2U9KDAsby5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKSx0aGlzLl9jb2xvck1hbmFnZXI9bmV3IGEuQ29sb3JNYW5hZ2VyKHtjb250ZXh0OmEuQ29sb3JDb250ZXh0LlN5bWJvbE1hcmtlcn0pLHRoaXMuX2NsYXNzZXM9W10sdGhpcy5fb25DbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9KCk9Pntjb25zdCB0PSgwLHIuZ2V0QWN0aW9ucykodGhpcy5fc2VydmljZSx0aGlzLl9zeW1ib2wsdGhpcy5fY29sb3JNYW5hZ2VyLG4uUG9wdXBDb2xvclNlbGVjdG9yLmhpZGUpLGk9dGhpcy5fY29sb3JNYW5hZ2VyLmdldENvbG9yKCkscz17ZWxlbTp0aGlzLl91aW1hcmtlci5nZXRFbGVtKCksY3VycmVudENvbG9yOmksb25TZWxlY3RDb2xvcjp0aGlzLl9vblNlbGVjdENvbG9yLGFjdGlvbnM6dCxtYW5hZ2VyOnRoaXMuX29wdHMubWFuYWdlcixmcm9tS2V5Ym9hcmQ6ZSBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnR9O3dpbmRvdy5tYXRjaE1lZGlhKGwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwpLm1hdGNoZXM/bi5Qb3B1cENvbG9yU2VsZWN0b3Iuc2hvdyhzKTpudWxsPT09dGhpcy5fY29sb3I/KG4uUG9wdXBDb2xvclNlbGVjdG9yLnNob3cocyksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0saSkpOihuLlBvcHVwQ29sb3JTZWxlY3Rvci5oaWRlKCksdGhpcy5fc2VydmljZS5zZXRTeW1ib2xzQ29sb3IoW3RoaXMuX3N5bWJvbF0sbnVsbCkpfSxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkOygwLGQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57aSYmKHRoaXMuX29wdHMub25DbGljaz90aGlzLl9vcHRzLm9uQ2xpY2sodGhpcy5fc3ltYm9sLHQpOnQoKSl9KSx7ZmVhdHVyZToiZmxhZ2dlZFN5bWJvbHNDb2xvcnMiLHNvdXJjZToiU2V0IHN5bWJvbCBjb2xvciJ9KX0sdGhpcy5fb25TZWxlY3RDb2xvcj1lPT57dGhpcy5fY29sb3JNYW5hZ2VyLnNldENvbG9yKGUpLHRoaXMuX3NlcnZpY2Uuc2V0U3ltYm9sc0NvbG9yKFt0aGlzLl9zeW1ib2xdLHRoaXMuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpKX0sdGhpcy5fb25EYmxDbGljaz1lPT57ZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLl9vbkNoYW5nZT0oKT0+e3RoaXMuX3NldFN0YXRlKHRoaXMuX3NlcnZpY2UuZ2V0U3ltYm9sQ29sb3IodGhpcy5fc3ltYm9sKSl9LHRoaXMuX29wdHM9ZSx0aGlzLl9zeW1ib2w9ZS5zeW1ib2wsdGhpcy5fY29sb3I9ZS5jb2xvcnx8dGhpcy5fc2VydmljZS5nZXRTeW1ib2xDb2xvcih0aGlzLl9zeW1ib2wpLHRoaXMuX3VpbWFya2VyPW5ldyBzLlVpTWFya2VyKHtjb2xvcjp0aGlzLl9jb2xvcixjb250YWluZXI6ZS5jb250YWluZXIsb25DbGljazp0aGlzLl9vbkNsaWNrLG9uRGJsQ2xpY2s6dGhpcy5fb25EYmxDbGljayxzcGVjaWFsSW1hZ2U6ZS5zcGVjaWFsSW1hZ2V9KSxlLmNsYXNzTmFtZSYmdGhpcy5zZXRDbGFzc05hbWUoZS5jbGFzc05hbWUpLG51bGwhPT10aGlzLl9jb2xvciYmdGhpcy5fYWRkQWN0aXZlQ2xhc3NOYW1lKCksdGhpcy5fc2VydmljZS5vblN5bWJvbENoYW5nZSh0aGlzLl9zeW1ib2wsdGhpcy5fb25DaGFuZ2UpfX1jbGFzcyBjIGV4dGVuZHMgdXtkZXN0cm95KCl7dGhpcy5fc2VydmljZS5vZmZJbml0KHRoaXMuX29uSW5pdCksc3VwZXIuZGVzdHJveSgpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX29uSW5pdD0oKT0+e3RoaXMudXBkYXRlU3Vic2NyaXB0aW9uKCl9LHRoaXMuX3NlcnZpY2Uub25Jbml0KHRoaXMuX29uSW5pdCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG5ldyBjKGUpfX0sNjE2MzExKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm99KTt2YXIgcz1pKDc3OTQ3NCk7ZnVuY3Rpb24gbyhlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk0NzE2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQsewpNZXRhSW5mb0hlbHBlcjooKT0+dX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxuPWkoNjAxODQxKSxhPWkoNjI4MDYpLGw9aSg3OTE0MjcpLHI9aSgyNTA0NjcpO2NvbnN0IGQ9KDAsby5nZXRMb2dnZXIpKCJNZXRhSW5mb0hlbHBlciIpO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fbWV0YUluZm89ZX1oYXNVc2VyRWRpdGFibGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8uaW5wdXRzLnNvbWUoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9Z2V0VXNlckVkaXRhYmxlSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLmlucHV0cy5maWx0ZXIoYS51c2VyRWRpdGFibGVJbnB1dEZpbHRlcil9aGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpe3JldHVybiBsLlN0dWR5TWV0YUluZm8uaXNTY3JpcHRTdHJhdGVneSh0aGlzLl9tZXRhSW5mbyl9aGFzVXNlckVkaXRhYmxlU3R5bGVzKGUpe2NvbnN0IHQ9dGhpcy5fbWV0YUluZm87cmV0dXJuIHQucGxvdHMubGVuZ3RoPjB8fHZvaWQgMCE9PXQuYmFuZHN8fHZvaWQgMCE9PXQuZmlsbGVkQXJlYXN8fGUodC5zaG9ydElkKXx8bC5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3kodGhpcy5fbWV0YUluZm8pfHxPYmplY3QudmFsdWVzKHQuZ3JhcGhpY3MpLnNvbWUoKGU9PnZvaWQgMCE9PWUpKX1nZXRVc2VyRWRpdGFibGVQbG90cygpe2NvbnN0IGU9bmV3IFNldCx0PXRoaXMuX21ldGFJbmZvO3JldHVybiB0LnBsb3RzLmZpbHRlcigoaT0+e2lmKCgwLHIuaXNDb2xvcmVyUGxvdCkoaSl8fCgwLHIuaXNUZXh0Q29sb3JlclBsb3QpKGkpfHwoMCxyLmlzRGF0YU9mZnNldFBsb3QpKGkpfHwoMCxyLmlzT2hsY0NvbG9yZXJQbG90KShpKXx8KDAsci5pc0FsZXJ0Q29uZGl0aW9uUGxvdCkoaSl8fCgwLHIuaXNEYXRhUGxvdCkoaSkpcmV0dXJuITE7aWYoKDAsci5pc09obGNQbG90KShpKSl7Y29uc3Qgbz1pLnRhcmdldDtpZihlLmhhcyhvKSlyZXR1cm4hMTtlLmFkZChvKTtjb25zdCBuPSgwLHMuZW5zdXJlRGVmaW5lZCkodC5vaGxjUGxvdHMpO3JldHVybiEoMCxzLmVuc3VyZURlZmluZWQpKG5bb10pLmlzSGlkZGVufXtjb25zdCBlPXQuc3R5bGVzP3Quc3R5bGVzW2kuaWRdOnZvaWQgMDtyZXR1cm4gdm9pZCAwPT09ZXx8IWUuaXNIaWRkZW59fSkpfWhhc1VzZXJFZGl0YWJsZU9wdGlvbnMoZSl7cmV0dXJuIHRoaXMuaGFzVXNlckVkaXRhYmxlSW5wdXRzKCl8fHRoaXMuaGFzVXNlckVkaXRhYmxlUHJvcGVydGllcygpfHx0aGlzLmhhc1VzZXJFZGl0YWJsZVN0eWxlcyhlKX1nZXRTdHJhdGVneVByb3BlcnRpZXMoKXtjb25zdCBlPXRoaXMuX21ldGFJbmZvLHQ9ZS5pbnB1dHMuZmlsdGVyKGEuaXNTdHJhdGVneUlucHV0KSxpPXsuLi5jfTtmb3IoY29uc3QgcyBvZiB0KXtjb25zdCB0PXMuaW50ZXJuYWxJRDtpW3RdPXMsYy5oYXNPd25Qcm9wZXJ0eSh0KXx8ZC5sb2dXYXJuKGBVbmtub3duIHN0cmF0ZWd5IGlucHV0IGludGVybmFsIGlkICR7dH0gaW4gJHtlLmZ1bGxJZH1gKX1yZXR1cm4oMCxuLmNsb25lKShpKX19Y29uc3QgYz17W2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DdXJyZW5jeV06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuQmFja3Rlc3RGaWxsTGltaXRzQXNzdW10aW9uXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5DYWxjT25FdmVyeVRpY2tdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbk9yZGVyRmlsbHNdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNhbGNPbkhpc3RvcnlCYXJdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkNvbWlzc2lvblZhbHVlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Db21pc3Npb25UeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5Jbml0aWFsQ2FwaXRhbF06dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuUHlyYW1pZGluZ106dm9pZCAwLFthLlN0dWR5U3RyYXRlZ3lJbnB1dEludGVybmFsSUQuU2xpcHBhZ2VdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELkRlZmF1bHRRVFlUeXBlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5EZWZhdWx0UVRZVmFsdWVdOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpbkxvbmddOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELk1hcmdpblNob3J0XTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5CYXJEZXRhbGl6YXRpb25dOnZvaWQgMCxbYS5TdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElELlByb2Nlc3NPcmRlcnNPbkNsb3NlXTp2b2lkIDAsW2EuU3R1ZHlTdHJhdGVneUlucHV0SW50ZXJuYWxJRC5GaWxsT3JkZXJzT25TdGFuZGFyZE9ITENdOnZvaWQgMH19LDEyODgxNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtRdW90ZVNlc3Npb25TbmFwc2hvdGVyOigpPT5jfSk7dmFyIHM9aSg5NDgzODApLG89aSgxNTAxNTApLG49aSgyMTQ5ODcpLGE9aSgxMzg2MzgpLGw9aSgzNjc5NDYpLHI9aSg5NzA3NzQpLGQ9aSgzMDkwNTIpO2NvbnN0IHU9bmV3IE1hcChbWyJjaGFuZ2UiLCJjaCJdLFsibGFzdF9wcmljZSIsImxwIl0sWyJjaGFuZ2VfcGVyY2VudCIsImNocCJdLFsidXBkYXRlX21vZGVfc2Vjb25kcyIsbnVsbF1dKTtuZXcgTWFwKFtbImNoIiwiY2hhbmdlIl0sWyJscCIsImxhc3RfcHJpY2UiXSxbImNocCIsImNoYW5nZV9wZXJjZW50Il1dKTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe2lmKHRoaXMuX29uU3ltYm9sRGF0YT1uZXcgcy5EZWxlZ2F0ZSx0aGlzLl9pbmNvbXBsZXRlPW5ldyBTZXQsdGhpcy5fdXBkYXRlZEZpZWxkcz1uZXcgTWFwLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9iYXRjaGVyPW51bGwsdGhpcy5faGFuZGxlcj1lPT57c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fY29ubmVjdGVkPSEwLAp0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PXIuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG8ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IGk9Yy5jYWNoZS5nZXQoZSk7cmV0dXJuIGkmJnRoaXMuX2lzU25hcHNob3RSZWFkeShpLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP2k6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LGkpe2NvbnN0IHM9aT8uc2lnbmFsPz9udWxsLG89aT8uZnJlc2huZXNzLGw9dm9pZCAwIT09bz9EYXRlLm5vdygpLW86bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChpLG8pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHI9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxkKSxvKCgwLG4uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGQ9KG89ZSk9PntpZihvIT09ZSlyZXR1cm47Y29uc3Qgbj1jLmNhY2hlLmdldChlKTtuJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobix7dGltZXN0YW1wOmwsc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGQpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixyKSxpKG4pKX07aWYoISgoKT0+e2NvbnN0IHM9Yy5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbz0oMCxhLmVuc3VyZU5vdE51bGwpKGMuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDpsLHRpbWVzOm99KSYmKGkocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixyLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGQpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxpKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LGkpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IGkgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShpKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOmksdGltZXN0YW1wOnMsdGltZXM6byxzeW1ib2w6bn09dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbz90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbyxpLHMpOm51bGwhPT1zJiZuP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG4saSk6dGhpcy5faGFzQWxsRmllbGRzKGUsaSkpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LGkpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtjb25zdCBzPXRoaXMuX3VwZGF0ZWRGaWVsZHMuZ2V0KHQpO2lmKCFzfHwhcy5zaXplKXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpaWYoIXMuaGFzKGUpKXJldHVybiExO3JldHVybiEwfV9oYXNBbGxGaWVsZHMoZSx0KXtyZXR1cm4gYy5oYXNBbGxGaWVsZHMoZS52YWx1ZXMsQXJyYXkuZnJvbSh0KSl9X2lzQWxsRmllbGRzVXBUb0RhdGUoZSx0LGkscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2lmKCF0KXJldHVybiExO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpe2NvbnN0IGk9dC5nZXQoZSk7aWYoIXQuaGFzKGUpfHx2b2lkIDA9PT1pKXJldHVybiExO2lmKGk8cylyZXR1cm4hMX1yZXR1cm4hMH1faGFuZGxlQ29ubmVjdGVkKCl7aWYodGhpcy5fZmllbGRzLnNpemU+MCl7Y29uc3QgZT1bLi4udGhpcy5fZmllbGRzXS5mbGF0TWFwKChlPT57Y29uc3QgdD11LmdldChlKTtyZXR1cm4gbnVsbCE9PXQ/dD8/ZTpbXX0pKTt0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfXRoaXMuX2luY29tcGxldGUuc2l6ZT4wJiZ0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udGhpcy5faW5jb21wbGV0ZV0pfV9oYW5kbGVDb21wbGV0ZURhdGEoZSl7Y29uc3QgdD1jLmNhY2hlLmdldChlKT8/e3N5bWJvbG5hbWU6ZSxzdGF0dXM6Im9rIix2YWx1ZXM6e319O2MuY2FjaGUudXBkYXRlKHQsdGhpcy5fZmllbGRzLCEwKSwKdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsbC5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksYy5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLGk9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1jLmNhY2hlPWQuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2xldCB0PW51bGw7cmV0dXJuKCk9PihudWxsPT09dCYmKHQ9ZSgpKSx0KX1pLmQodCx7bGF6eVZhbHVlOigpPT5zfSl9LDc4ODAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nlc3Npb25UaGVuTG9jYWw6KCk9PnMsc2Vzc2lvblRoZW5UdlNldHRpbmdzOigpPT5vfSk7dmFyIHM9e307aS5yKHMpLGkuZChzLHtnZXQ6KCk9PmIsbG9nZ2VyOigpPT5nLHNldDooKT0+bX0pO3ZhciBvPXt9O2kucihvKSxpLmQobyx7Z2V0OigpPT55LGxvZ2dlcjooKT0+ZixzZXQ6KCk9PlN9KTt2YXIgbj1pKDIyMTA2MSksYT1pKDkzMjM2NSk7aWYoNzk3OTU9PWkuail2YXIgbD1pKDIzNzM2OSk7aWYoNzk3OTU9PWkuail2YXIgcj1pKDc3NjE3Myk7dmFyIGQ9aSg4Mzk0MjYpLHU9aSg1NjkzOTgpO2NvbnN0IGM9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7Y29uc3QgaD0oMCxkLmRlZmF1bHQpKCgoKT0+e3JldHVybiB2b2lkIDAhPT13aW5kb3cuVFZEP251bGwhPShlPXdpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2UpJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJnZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldEl0ZW0mJiJzZXRJdGVtImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNldEl0ZW0mJigwLHUuaXNGZWF0dXJlRW5hYmxlZCkoInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSIpP3dpbmRvdy5UVkQuc2Vzc2lvblN0b3JhZ2U6bnVsbDooMCx1LmlzRmVhdHVyZUVuYWJsZWQpKCJ1c2VfYnJvd3Nlcl9zZXNzaW9uX3N0b3JhZ2UiKT93aW5kb3cuc2Vzc2lvblN0b3JhZ2U6bnVsbDt2YXIgZX0pKTtmdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1oKCk7aWYobnVsbCE9PWkpdHJ5e2kuc2V0SXRlbShlLHQpfWNhdGNoKGUpe2M/LmxvZ1dhcm4oYHNlc3Npb25TdG9yYWdlLnNldEl0ZW0gZmFpbGVkLCBiZWNhdXNlIG9mIGV4Y2VwdGlvbjogJHsoMCxsLmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1oKCk7cmV0dXJuIG51bGw9PT10P251bGw6dC5nZXRJdGVtKGUpfWNvbnN0IGc9KDAsbi5nZXRMb2dnZXIpKCJMaWIuU2Vzc2lvblNjb3BlZFNldHRpbmdzIik7ZnVuY3Rpb24gbShlLHQpe3RyeXtjb25zdCBpPSgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpO3AoZSxpKSxhLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oZSxpKX1jYXRjaChlKXtnPy5sb2dXYXJuKGBzZXNzaW9uVGhlbkxvY2FsLnNldCBmYWlsZWQ6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX1mdW5jdGlvbiBiKGUsdCxpKXt0cnl7cmV0dXJuKDAsci5wYXJzZVNldHRpbmdWYWx1ZSkoZnVuY3Rpb24oZSx0KXtsZXQgaT1fKGUpO251bGw9PT1pJiYoaT1hLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/P3QscChlLGkpKTtyZXR1cm4gaX0oZSwoMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KSksaSl9Y2F0Y2goZSl7cmV0dXJuIGc/LmxvZ1dhcm4oYHNlc3Npb25UaGVuTG9jYWwuZ2V0IGlzIGFib3V0IHRvIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZSBkdWUgdG8gZXJyb3I6ICR7KDAsbC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApLHR9fXZhciB2PWkoOTMwNTY2KTtjb25zdCBmPSgwLG4uZ2V0TG9nZ2VyKSgiTGliLlNlc3Npb25TY29wZWRTZXR0aW5ncyIpO2Z1bmN0aW9uIFMoZSx0KXt0cnl7Y29uc3QgaT0oMCxyLnNldHRpbmdWYWx1ZVRvU3RyaW5nKSh0KTtwKGUsaSksdi5zZXRWYWx1ZShlLGkpfWNhdGNoKGUpe2Y/LmxvZ1dhcm4oYHNlc3Npb25UaGVuVHZTZXR0aW5ncy5zZXQgZmFpbGVkOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKX19ZnVuY3Rpb24geShlLHQsaSl7dHJ5e3JldHVybigwLHIucGFyc2VTZXR0aW5nVmFsdWUpKGZ1bmN0aW9uKGUsdCl7bGV0IGk9XyhlKTtudWxsPT09aSYmKGk9di5nZXRWYWx1ZShlKT8/dCxwKGUsaSkpO3JldHVybiBpfShlLCgwLHIuc2V0dGluZ1ZhbHVlVG9TdHJpbmcpKHQpKSxpKX1jYXRjaChlKXtyZXR1cm4gZj8ubG9nV2Fybihgc2Vzc2lvblRoZW5UdlNldHRpbmdzLmdldCBpcyBhYm91dCB0byByZXR1cm4gdGhlIGRlZmF1bHQgdmFsdWUgZHVlIHRvIGVycm9yOiAkeygwLGwuZ2V0RXJyb3JNZXNzYWdlKShlKX1gKSx0fX19LDc3NjE3MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPUpTT04ucGFyc2UoZSk7aWYodm9pZCAwPT09dClyZXR1cm4gaTtpZih0KGkpKXJldHVybiBpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlBhcnNlZCB2YWx1ZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBwcm92aWRlZCB2YWxpZGF0aW9uIHByZWRpY2F0ZSIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWkuZCh0LHtwYXJzZVNldHRpbmdWYWx1ZTooKT0+cyxzZXR0aW5nVmFsdWVUb1N0cmluZzooKT0+b30pfSwxODIzMDgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHM9aSg3Nzk0NzQpLG89aSg3ODc4OTUpLG49aSg2MTYzMTEpCjtmdW5jdGlvbiBhKGUsdD1bXSl7Y29uc3RbaSxhXT0oMCxzLnVzZVN0YXRlKSghMSksbD0oMCxvLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGUpO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1sLmN1cnJlbnQ7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9ZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6YSghMCk7YnJlYWs7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiOmEoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLCgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCl9fSksdCksW2wsaT8wOi0xXX19LDkyOTQ4OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc1NlcGFyYXRvckl0ZW06KCk9Pm99KTt2YXIgcz1pKDkwMTAyMik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4oMCxzLmlzU2VwYXJhdG9ySXRlbSkoZSl9fSwzMjA1NShlLHQsaSl7InVzZSBzdHJpY3QiO2kucih0KSxpLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmQscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+YyxzbmFwc2hvdGVyOigpPT5sfSk7dmFyIHM9aSgxMjg4MTQpLG89aSg2MjM1MTEpLG49aSg5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksbD0oMCxvLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSkscj1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTpsKCkuZ2V0U25hcHNob3QoZSxyKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoZCkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw5ODYyNzUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvczooKT0+cixyZXNvbHZlTG9nb1VybHM6KCk9PmEscmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhOigpPT5sfSk7dmFyIHM9aSg2MDE4NDEpLG89aSg4NjIyMTMpO2NvbnN0IG49KDAsby5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gYShlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe2NvbnN0IGk9ZS5sb2dvaWQscz1lWyJiYXNlLWN1cnJlbmN5LWxvZ29pZCJdLGE9ZVsiY3VycmVuY3ktbG9nb2lkIl0sbD1pJiZuLmdldFN5bWJvbExvZ29VcmwoaSx0KTtpZihsKXJldHVybltsXTtjb25zdCByPXMmJm4uZ2V0U3ltYm9sTG9nb1VybChzLHQpLGQ9YSYmbi5nZXRTeW1ib2xMb2dvVXJsKGEsdCk7cmV0dXJuIHImJmQ/W3IsZF06cj9bcl06ZD9bZF06W119ZnVuY3Rpb24gbChlLHQ9by5Mb2dvU2l6ZS5NZWRpdW0pe3JldHVybigicGFpciI9PT1lLnN0eWxlP1tlLmxvZ29pZCxlLmxvZ29pZDJdOltlLmxvZ29pZF0pLm1hcCgoZT0+bi5nZXRTeW1ib2xMb2dvVXJsKGUsdCkpKS5maWx0ZXIocy5ub3ROdWxsKX1mdW5jdGlvbiByKGUpe3JldHVybiAyIT09ZS5sZW5ndGg/ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT5kKGUpKSl9KGUpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29tZSgoZT0+ZS5pbmNsdWRlcygiY291bnRyeSIpJiYhZChlKSkpfShlKT9lLmZpbHRlcigoZT0+IWQoZSkpKTplfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUuaW5jbHVkZXMoImNvdW50cnkvVVMiKX19LDM2NDM1MChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtyZXR1cm4gZT09PXR9aS5kKHQse2NyZWF0ZVNlbGVjdG9yOigpPT5vfSk7dmFyIG89ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsaT1BcnJheSh0PjE/dC0xOjApLHM9MTtzPHQ7cysrKWlbcy0xXT1hcmd1bWVudHNbc107cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscz1BcnJheSh0KSxvPTA7bzx0O28rKylzW29dPWFyZ3VtZW50c1tvXTt2YXIgbj0wLGE9cy5wb3AoKSxsPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5LmlzQXJyYXkoZVswXSk/ZVswXTplO2lmKCF0LmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX0pKSl7dmFyIGk9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX0pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcigiU2VsZWN0b3IgY3JlYXRvcnMgZXhwZWN0IGFsbCBpbnB1dC1zZWxlY3RvcnMgdG8gYmUgZnVuY3Rpb25zLCBpbnN0ZWFkIHJlY2VpdmVkIHRoZSBmb2xsb3dpbmcgdHlwZXM6IFsiK2krIl0iKX1yZXR1cm4gdH0ocykscj1lLmFwcGx5KHZvaWQgMCxbZnVuY3Rpb24oKXsKcmV0dXJuIG4rKyxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX1dLmNvbmNhdChpKSksZD1lKChmdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PWwubGVuZ3RoLGk9MDtpPHQ7aSsrKWUucHVzaChsW2ldLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIHIuYXBwbHkobnVsbCxlKX0pKTtyZXR1cm4gZC5yZXN1bHRGdW5jPWEsZC5kZXBlbmRlbmNpZXM9bCxkLnJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGQucmVzZXRSZWNvbXB1dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBuPTB9LGR9fSgoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnMsaT1udWxsLG89bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0LGkpe2lmKG51bGw9PT10fHxudWxsPT09aXx8dC5sZW5ndGghPT1pLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIHM9dC5sZW5ndGgsbz0wO288cztvKyspaWYoIWUodFtvXSxpW29dKSlyZXR1cm4hMTtyZXR1cm4hMH0odCxpLGFyZ3VtZW50cyl8fChvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpKSxpPWFyZ3VtZW50cyxvfX0pKX0sNjY2MzMyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRyb2xCYXJOYXZpZ2F0aW9uOigpPT5lZX0pO3ZhciBzPWkoMTM4NjM4KSxvPWkoMTg1MjcxKSxuPWkoMzYzMjY5KSxhPWkoOTMwMjMxKSxsPWkoOTUyOTAwKSxyPWkoOTIzMTc2KSxkPWkoOTY5MTY4KSx1PWkoNDQzNTU3KSxjPWkoNTUyMTQ1KSxoPWkoMzQ1MTUxKSxwPWkoMzE4OTc0KSxfPWkoMjM1NzI0KSxnPWkoMTI4OTk4KSxtPWkoMzg2OTMxKSxiPWkoNDk3MDE4KSx2PWkoMTIxNDc0KSxmPWkoNzMyMDM5KSxTPWkoNTQ5NzcwKSx5PWkoOTk3ODM0KSx3PWkoMjQ3MDMwKSxDPWkoNTczNTgyKSxFPWkoMzY4OTU0KSx4PWkoMjkxMjA5KSxMPWkoODM1NTUwKSxNPWkoNDMxODUpO2koNzEwMTU2KTtjb25zdCBUPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuQWx0LCExKSxWPSgwLF8uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoXy5Nb2RpZmllcnMuU2hpZnQsITEpLGs9KDAsXy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShfLk1vZGlmaWVycy5Nb2QsITEpLEE9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJSIl0sdGV4dDoiezB9ICsgezF9In0pLFc9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltULCJDbGljayIsVCwiRW50ZXIiXSx0ZXh0OiJ7MH0gKyB7MX0sIHsyfSArIHszfSJ9KSxJPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbRV0sdGV4dDoiezB9In0pLEI9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlt4XSx0ZXh0OiJ7MH0ifSksSD0oMCxoLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6W2ssTF0sdGV4dDoiezB9ICsgezF9In0pLEQ9KDAsaC5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOltrLE1dLHRleHQ6InswfSArIHsxfSJ9KSxQPSgwLGguaG90S2V5U2VyaWFsaXplKSh7a2V5czpbVCxWLHhdLHRleHQ6InswfSArIHsxfSArIHsyfSJ9KSxOPW8udChudWxsLHZvaWQgMCxpKDMxNDUzNCkpLFI9by50KG51bGwsdm9pZCAwLGkoNDg3ODc0KSksTz1vLnQobnVsbCx2b2lkIDAsaSg1NTEzMzIpKSxGPW8udChudWxsLHZvaWQgMCxpKDY3MTgwOSkpLHo9by50KG51bGwsdm9pZCAwLGkoMjQxNzIyKSksaj1vLnQobnVsbCx2b2lkIDAsaSg3MDgyMzMpKSxVPW8udChudWxsLHZvaWQgMCxpKDIwNzg0NSkpLEc9by50KG51bGwsdm9pZCAwLGkoNjYwODEwKSk7dmFyIFosSjshZnVuY3Rpb24oZSl7ZVtlLkJhclZpc2libGVEaXN0YW5jZT0xMDBdPSJCYXJWaXNpYmxlRGlzdGFuY2UiLGVbZS5CYWNrQnV0dG9uUmlnaHRNYXJnaW49MTRdPSJCYWNrQnV0dG9uUmlnaHRNYXJnaW4iLGVbZS5TaW5nbGVCdXR0b25XaWR0aD0zNl09IlNpbmdsZUJ1dHRvbldpZHRoIixlW2UuR3JvdXBNYXJnaW5zPTE0XT0iR3JvdXBNYXJnaW5zIixlW2UuR29Ub1JlYWx0aW1lQnV0dG9uV2lkdGg9NTBdPSJHb1RvUmVhbHRpbWVCdXR0b25XaWR0aCIsZVtlLkxlZnRNYXJnaW49NTBdPSJMZWZ0TWFyZ2luIixlW2UuVGltZUF4aXNNYWluUGFuZU1hcmdpbj0yN109IlRpbWVBeGlzTWFpblBhbmVNYXJnaW4iLGVbZS5QYW5lQ29udHJvbHNIZWlnaHQ9MjhdPSJQYW5lQ29udHJvbHNIZWlnaHQifShafHwoWj17fSkpLGZ1bmN0aW9uKGUpe2UuU2Nyb2xsTGVmdFJpZ2h0PSJqcy1idG4tZ3JvdXAtc2Nyb2xsIixlLlpvb21Jblpvb21PdXQ9ImpzLWJ0bi1ncm91cC16b29tIixlLk1heGltaXplPSJqcy1idG4tZ3JvdXAtbWF4aW1pemUiLGUuUmVzZXRTY2FsZT0ianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIn0oSnx8KEo9e30pKQo7Y29uc3QgWT1gPGRpdiBjbGFzcz0iY29udHJvbC1iYXItd3JhcHBlciI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyLS1oaWRkZW4iPlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXpvb20iPlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS16b29tLW91dCBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Tn0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7RH0iPlxuXHRcdFx0XHQke3Z9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tem9vbS1pbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7Un0iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7SH0iPlxuXHRcdFx0XHQke1N9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fZ3JvdXAganMtYnRuLWdyb3VwIGpzLWJ0bi1ncm91cC1tYXhpbWl6ZSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJjb250cm9sLWJhcl9fYnRuIGNvbnRyb2wtYmFyX19idG4tLW1heGltaXplIGFwcGx5LWNvbW1vbi10b29sdGlwIiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke1d9Ij5cblx0XHRcdFx0JHt3fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2dyb3VwIGpzLWJ0bi1ncm91cCBqcy1idG4tZ3JvdXAtc2Nyb2xsIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHt6fSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtJfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz0iY29udHJvbC1iYXJfX2J0biBjb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtqfSIgZGF0YS10b29sdGlwLWhvdGtleT0iJHtCfSI+XG5cdFx0XHRcdCR7Zn1cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19ncm91cCBqcy1idG4tZ3JvdXAganMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIj5cblx0XHRcdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tdHVybi1idXR0b24gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCBqcy1idG4tcmVzZXQiIHRpdGxlPSIke1V9IiBkYXRhLXRvb2x0aXAtaG90a2V5PSIke0F9Ij5cblx0XHRcdFx0JHt5fVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+YCxxPWA8ZGl2IGNsYXNzPSJjb250cm9sLWJhci13cmFwcGVyIGNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudCI+XG5cdDxkaXYgY2xhc3M9ImNvbnRyb2wtYmFyIGNvbnRyb2wtYmFyX19idG4gY29udHJvbC1iYXJfX2J0bi0tYnRuLWhpZGRlbiBhcHBseS1jb21tb24tdG9vbHRpcCIgdGl0bGU9IiR7R30iIGRhdGEtdG9vbHRpcC1ob3RrZXk9IiR7UH0iPlxuXHRcdCR7Q31cblx0PC9kaXY+XG48L2Rpdj5gLCQ9cC5DaGVja01vYmlsZS5hbnkoKSxRPSJjb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVuIixLPSJjb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQiLFg9e3pvb21Jbk91dDohMCxtYXhpbWl6ZTohMCxzY3JvbGxMZWZ0UmlnaHQ6ITAscmVzZXRTY2FsZTohMCxnb1RvUmVhbHRpbWU6ITB9O2NsYXNzIGVle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93aWRnZXQ9KDAscy5lbnN1cmVOb3ROdWxsKSgoMCx1LnBhcnNlSHRtbCkoWSkucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyLXdyYXBwZXIiKSksdGhpcy5fY29udHJvbEJhcj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX3dpZGdldC5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXIiKSksdGhpcy5fYmFjaz0oMCxzLmVuc3VyZU5vdE51bGwpKCgwLHUucGFyc2VIdG1sKShxKS5xdWVyeVNlbGVjdG9yKCIuY29udHJvbC1iYXItd3JhcHBlciIpKSx0aGlzLl9idG5Hcm91cHM9QXJyYXkuZnJvbSh0aGlzLl9jb250cm9sQmFyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy1idG4tZ3JvdXAiKSksdGhpcy5fdGFyZ2V0UGFuZVdpZGdldD1udWxsLHRoaXMuX2JhY2tCdXR0b25WaXNpYmxlPSExLHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydE1vZGVsPW51bGwsdGhpcy5fY29udHJvbEJhclZpc2libGU9ITEsdGhpcy5fcHJpY2VBeGlzQ2hhbmdlZD1udWxsLHRoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlPW51bGwsdGhpcy5fcHJpY2VBeGlzTmFtZT0icmlnaHQiLHRoaXMuX3JhZklkPW51bGwsdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eT1udWxsLHRoaXMuX2JvdW5kVXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eT10aGlzLl91cGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5LmJpbmQodGhpcyksdGhpcy5fYm91bmRUb2dnbGVGdWxsc2NyZWVuQnV0dG9ucz10aGlzLl90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucy5iaW5kKHRoaXMpLHRoaXMuX3BhbmVXaWR0aD0wLHRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGg9MCx0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aD0wLHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2U9ZT0+eyJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSJhbHdheXNPbiI9PT1lLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyLCExKSk6KHRoaXMuX2NvbnRyb2xCYXJWaXNpYmxlPSExLAp0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9jb250cm9sc0JhclZpc2liaWxpdHlIYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fY29udHJvbHNCYXJWaXNpYmlsaXR5SGFuZGxlcikpLHRoaXMuX2NvbmZpZ3VyZUJhY2tCdXR0b25WaXNpYmlsaXR5KGUpLHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5KCl9LHRoaXMuX3Zpc2liaWxpdHlCYWNrQnV0dG9uSGFuZGxlcj1lPT57Y29uc3QgdD10aGlzLl9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0aGlzLl9iYWNrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTt2b2lkIDAhPT10JiZ0aGlzLl9iYWNrQnV0dG9uQ2FuQmVWaXNpYmxlIT09dCYmKHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX2NvbnRyb2xzQmFyVmlzaWJpbGl0eUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fY2hlY2tJc1BvaW50ZXJOZWFyQm94KGUsdGhpcy5fY29udHJvbEJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7dm9pZCAwIT09dCYmdGhpcy5fY29udHJvbEJhclZpc2libGUhPT10JiYodGhpcy5fY29udHJvbEJhclZpc2libGU9dCx0aGlzLl9zZXRSQUYoKSl9LHRoaXMuX3VwZGF0ZUNvbnRyb2xCYXJWaXNpYmlsaXR5PSgpPT57dGhpcy5fY29udHJvbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJjb250cm9sLWJhci0taGlkZGVuIiwhdGhpcy5fY29udHJvbEJhclZpc2libGUpfSx0aGlzLl9jaGFydD1lLHRoaXMuX3BhcmVudD10LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxYLGkpLHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcz10aGlzLl9pbml0R3JvdXBEZXNjcmlwdGlvbnMoKSx0aGlzLl9pbml0KCksdGhpcy5faW5pdEhhbmRsZXJzKCksdGhpcy51cGRhdGVQb3NpdGlvbigpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eSYmKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHk9bnVsbCksbnVsbCE9PXRoaXMuX2JvdW5kTW91c2VIYW5kbGVyJiYodGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fYm91bmRNb3VzZUhhbmRsZXIsITEpLHRoaXMuX3BhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9ib3VuZE1vdXNlSGFuZGxlciwhMSksdGhpcy5fYm91bmRNb3VzZUhhbmRsZXI9bnVsbCksbnVsbCE9PXRoaXMuX3ByaWNlQXhpc0NoYW5nZWQmJih0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja0J0blBvc2l0aW9uKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPW51bGwpLGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZT8uZGVzdHJveSgpO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkpLGUuZnVsbHNjcmVlbi51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFRvZ2dsZUZ1bGxzY3JlZW5CdXR0b25zKSx0aGlzLl9jaGFydD1udWxsfXVwZGF0ZVBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl90YXJnZXRQYW5lV2lkZ2V0PXRoaXMuX2dldFRhcmdldFBhbmVXaWRnZXQoKTtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lLmdldEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCIuY2hhcnQtbWFya3VwLXRhYmxlIC5wYW5lIik7aWYobnVsbD09PXQpcmV0dXJuO3RoaXMuX3BhbmVXaWR0aD1lLndpZHRoKCksdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aD10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSgibGVmdCIpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZVdpZHRoPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKCJyaWdodCIpO2NvbnN0IGk9dGhpcy5fcGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSt0aGlzLl9ib3R0b21NYXJnaW4oZSk7dGhpcy5fd2lkZ2V0LnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl9iYWNrLnN0eWxlLmJvdHRvbT1gJHtpfXB4YCx0aGlzLl91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKX1fZ2V0VGFyZ2V0UGFuZVdpZGdldCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD1bLi4udGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKV0ucmV2ZXJzZSgpO2Zvcihjb25zdCBlIG9mIHQpaWYoZS5oZWlnaHQoKT49dGhpcy5fd2lkZ2V0LmNsaWVudEhlaWdodCsyOCt0aGlzLl9ib3R0b21NYXJnaW4oZSkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2JvdHRvbU1hcmdpbihlKXtyZXR1cm4gZS5jb250YWluc01haW5TZXJpZXMoKT8yNzowfV9pbml0KCl7aWYocC5DaGVja01vYmlsZS5hbnkoKSlmb3IoY29uc3QgZSBvZiB0aGlzLl9idG5Hcm91cHMpZS5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKTt0aGlzLl9idXR0b25zPXt6b29tSW46dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS16b29tLWluIiksem9vbU91dDp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXpvb20tb3V0IiksbW92ZUxlZnQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLWxlZnQiKSxtb3ZlUmlnaHQ6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tb3ZlLXJpZ2h0IiksdHVybjp0aGlzLl93aWRnZXQucXVlcnlTZWxlY3RvcigiLmNvbnRyb2wtYmFyX19idG4tLXR1cm4tYnV0dG9uIiksbWF4aW1pemU6dGhpcy5fd2lkZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuLS1tYXhpbWl6ZSIpfSx0aGlzLl9wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2lkZ2V0KSwKdGhpcy5fcGFyZW50LmFwcGVuZENoaWxkKHRoaXMuX2JhY2spLHRoaXMuX3ByaWNlQXhpc05hbWU9KDAsZC5pc1J0bCkoKT8ibGVmdCI6InJpZ2h0Iix0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcywoKCk9Pnt0aGlzLl9jaGFydE1vZGVsPXRoaXMuX2NoYXJ0Lm1vZGVsKCksdGhpcy5faW5pdFZpc2liaWxpdHkoKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkPXRoaXMuX2NoYXJ0LmdldFByaWNlQXhpc1dpZHRoQ2hhbmdlZEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSx0aGlzLl9wcmljZUF4aXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tCdG5Qb3NpdGlvbiksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkuc3Bhd24oKSx0aGlzLl9yZXNldFNjYWxlc0F2YWlsYWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5LmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IGU9dGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS5zdWJzY3JpYmUodGhpcy5fYm91bmRVcGRhdGVNYXhpbWl6ZUJ1dHRvbnNWaXNpYmlsaXR5KSxlLmZ1bGxzY3JlZW4uc3Vic2NyaWJlKHRoaXMuX2JvdW5kVG9nZ2xlRnVsbHNjcmVlbkJ1dHRvbnMse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3VwZGF0ZU1heGltaXplQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVCYWNrQnRuUG9zaXRpb24oKSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9Pnt0aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zY3JvbGxUb1JlYWx0aW1lKCEwLCgoKT0+dGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpKSl9KSl9KSl9X2luaXRIYW5kbGVycygpe2NvbnN0IGU9bi5tb2JpbGV0b3VjaD8idG91Y2hzdGFydCI6Im1vdXNlZG93biIsdD1uLm1vYmlsZXRvdWNoP1sidG91Y2hlbmQiXTpbIm1vdXNldXAiLCJtb3VzZW91dCJdO3RoaXMuX2J1dHRvbnMubW92ZUxlZnQuYWRkRXZlbnRMaXN0ZW5lcihlLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLm1vdmVCeUJhcigxKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIExlZnQiKX0pKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2Nyb2xsSGVscGVyKCkubW92ZUJ5QmFyKC0xKSx0aGlzLl90cmFja0V2ZW50KCJNb3ZlIFJpZ2h0Iil9KSk7Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9idXR0b25zLm1vdmVMZWZ0LmFkZEV2ZW50TGlzdGVuZXIoZSwoKCk9PnRoaXMuX2NoYXJ0LnNjcm9sbEhlbHBlcigpLnN0b3BNb3ZlKCkpKSx0aGlzLl9idXR0b25zLm1vdmVSaWdodC5hZGRFdmVudExpc3RlbmVyKGUsKCgpPT50aGlzLl9jaGFydC5zY3JvbGxIZWxwZXIoKS5zdG9wTW92ZSgpKSk7dGhpcy5fYnV0dG9ucy50dXJuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFydC5HVUlSZXNldFNjYWxlcygpLHRoaXMuX3RyYWNrRXZlbnQoIlJlc2V0IHRvIERlZmF1bHQgU2V0dGluZ3MiKX0pKSx0aGlzLl9idXR0b25zLnpvb21PdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLG51bGwhPT10aGlzLl9jaGFydE1vZGVsJiZ0aGlzLl9jaGFydE1vZGVsLnpvb21PdXQoKSx0aGlzLl90cmFja0V2ZW50KCJab29tIE91dCIpfSkpLHRoaXMuX2J1dHRvbnMuem9vbUluLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCYmdGhpcy5fY2hhcnRNb2RlbC56b29tSW4oKSx0aGlzLl90cmFja0V2ZW50KCJab29tIEluIil9KSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9PntlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlKCEwKTt0aGlzLl9idXR0b25zLm1heGltaXplLmNsYXNzTGlzdC5jb250YWlucyhLKT8odGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgUmVzdG9yZSBDaGFydCIpKToodGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKSx0aGlzLl90cmFja0V2ZW50KCIgTWF4aW1pemUgQ2hhcnQiKSl9KSk7Y29uc3QgaT1lPT5lLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSk7aSh0aGlzLl9idXR0b25zLm1vdmVMZWZ0KSxpKHRoaXMuX2J1dHRvbnMubW92ZVJpZ2h0KSxpKHRoaXMuX2J1dHRvbnMudHVybiksaSh0aGlzLl9idXR0b25zLnpvb21PdXQpLGkodGhpcy5fYnV0dG9ucy56b29tSW4pLGkodGhpcy5fYnV0dG9ucy5tYXhpbWl6ZSl9X2luaXRHcm91cERlc2NyaXB0aW9ucygpe3JldHVyblt7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6dGhpcy5faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZS5iaW5kKHRoaXMpLGNsYXNzTmFtZToianMtYnRuLWdyb3VwLW1heGltaXplIixlbGVtZW50OnRoaXMuX2dldEJ0bkdyb3VwKCJqcy1idG4tZ3JvdXAtbWF4aW1pemUiKSx0b3RhbFdpZHRoOjUwfSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohMSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMucmVzZXRTY2FsZSxjbGFzc05hbWU6ImpzLWJ0bi1ncm91cC1yZXNldC1zY2FsZSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXJlc2V0LXNjYWxlIiksdG90YWxXaWR0aDo1MH0se3Nob3VsZEJlSGlkZGVuT25Nb2JpbGU6ISgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIiksYXZhaWxhYmxlOigpPT50aGlzLl9vcHRpb25zLnpvb21Jbk91dCwKY2xhc3NOYW1lOiJqcy1idG4tZ3JvdXAtem9vbSIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXpvb20iKSx0b3RhbFdpZHRoOjg2fSx7c2hvdWxkQmVIaWRkZW5Pbk1vYmlsZTohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd196b29tX2FuZF9tb3ZlX2J1dHRvbnNfb25fdG91Y2giKSxhdmFpbGFibGU6KCk9PnRoaXMuX29wdGlvbnMuc2Nyb2xsTGVmdFJpZ2h0LGNsYXNzTmFtZToianMtYnRuLWdyb3VwLXNjcm9sbCIsZWxlbWVudDp0aGlzLl9nZXRCdG5Hcm91cCgianMtYnRuLWdyb3VwLXNjcm9sbCIpLHRvdGFsV2lkdGg6ODZ9XX1fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsfHwhdGhpcy5fb3B0aW9ucy5nb1RvUmVhbHRpbWUpcmV0dXJuO2NvbnN0IGU9dGhpcy5fYmFja0J1dHRvbkNhbkJlVmlzaWJsZSYmdGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpPDA7ZSE9PXRoaXMuX2JhY2tCdXR0b25WaXNpYmxlJiYodGhpcy5fYmFja0J1dHRvblZpc2libGU9ZSx0aGlzLl9iYWNrLnF1ZXJ5U2VsZWN0b3IoIi5jb250cm9sLWJhcl9fYnRuIik/LmNsYXNzTGlzdC50b2dnbGUoUSwhdGhpcy5fYmFja0J1dHRvblZpc2libGUpKX1faW5pdFZpc2liaWxpdHkoKXt0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGwuY29tYmluZSkoKChlLHQpPT5udWxsIT09dD8iYWx3YXlzT2ZmIjplKSwoMCxjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKSgoMCxyLmFjdHVhbEJlaGF2aW9yKSgpKS5vd25lcnNoaXAoKSwoMCxnLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSgoMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwpLm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMuX29uVmlzaWJpbGl0eVR5cGVDaGFuZ2Use2NhbGxXaXRoTGFzdDohMH0pfV9jb25maWd1cmVCYWNrQnV0dG9uVmlzaWJpbGl0eShlKXsiYWx3YXlzT2ZmIj09PWU/KGNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tJbnRlcnZhbElkKSx0aGlzLl9jaGVja0ludGVydmFsSWQ9dm9pZCAwKTp0aGlzLl9jaGVja0ludGVydmFsSWQ9dGhpcy5fY2hlY2tJbnRlcnZhbElkPz9zZXRJbnRlcnZhbCgoKCk9PnRoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSksMWUzKSxwLkNoZWNrTW9iaWxlLmFueSgpP3RoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09mZiIhPT1lOiJhbHdheXNPbiI9PT1lfHwiYWx3YXlzT2ZmIj09PWU/KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ImFsd2F5c09uIj09PWUsdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSx0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyLCExKSk6KHRoaXMuX2JhY2tCdXR0b25DYW5CZVZpc2libGU9ITEsdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSx0aGlzLl9wYXJlbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fdmlzaWJpbGl0eUJhY2tCdXR0b25IYW5kbGVyKSksdGhpcy5fY2hlY2tCYWNrQnV0dG9uVmlzaWJpbGl0eSgpfV9jaGVja0lzUG9pbnRlck5lYXJCb3goZSx0KXtpZighKGUuYnV0dG9uc3x8bnVsbCE9PXRoaXMuX2NoYXJ0TW9kZWwmJnRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpKSl7aWYoIm1vdXNlbW92ZSI9PT1lLnR5cGUpe2NvbnN0IGk9MTAwLSh0aGlzLl90YXJnZXRQYW5lV2lkZ2V0P3RoaXMuX2JvdHRvbU1hcmdpbih0aGlzLl90YXJnZXRQYW5lV2lkZ2V0KTowKTtyZXR1cm4gZS5jbGllbnRYPj10LmxlZnQtMTAwJiZlLmNsaWVudFg8PXQucmlnaHQrMTAwJiZlLmNsaWVudFk+PXQudG9wLWkmJmUuY2xpZW50WTw9dC5ib3R0b20rMTAwfXJldHVybiExfX1fc2V0UkFGKCl7bnVsbD09PXRoaXMuX3JhZklkJiYodGhpcy5fcmFmSWQ9dGhpcy5fd2lkZ2V0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2NoZWNrQmFja0J1dHRvblZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVDb250cm9sQmFyVmlzaWJpbGl0eSgpLHRoaXMuX3JhZklkPW51bGx9KSkpfV91cGRhdGVCYWNrQnRuUG9zaXRpb24oKXtpZigibGVmdCI9PT10aGlzLl9wcmljZUF4aXNOYW1lfHwicmlnaHQiPT09dGhpcy5fcHJpY2VBeGlzTmFtZSl7Y29uc3QgZT10aGlzLl9jaGFydC5nZXRQcmljZUF4aXNNYXhXaWR0aEJ5TmFtZSh0aGlzLl9wcmljZUF4aXNOYW1lKSsxNDtlJiYodGhpcy5fYmFjay5zdHlsZS5tYXJnaW5SaWdodD1gJHtlfXB4YCl9fV91cGRhdGVCdG5Hcm91cFZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2xlZnRQcmljZVNjYWxlV2lkdGgrdGhpcy5fcGFuZVdpZHRoLHQ9KGUrdGhpcy5fcmlnaHRQcmljZVNjYWxlV2lkdGgpLzI7bGV0IGk9MipNYXRoLm1pbihlLXQsdC10aGlzLl9sZWZ0UHJpY2VTY2FsZVdpZHRoKS01MC01MCxzPSExO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcyl7ZS5lbm91Z2hTcGFjZUZvckdyb3VwPSExO2UuYXZhaWxhYmxlKCkmJighJHx8IWUuc2hvdWxkQmVIaWRkZW5Pbk1vYmlsZSkmJihpLT1lLnRvdGFsV2lkdGgsZS5lbm91Z2hTcGFjZUZvckdyb3VwPWk+PTAmJiFzLHM9c3x8IWUuZW5vdWdoU3BhY2VGb3JHcm91cCksIWUuZW5vdWdoU3BhY2VGb3JHcm91cCE9PWUuZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpJiZlLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZS5lbm91Z2hTcGFjZUZvckdyb3VwKX10aGlzLl91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKX1fZ2V0QnRuR3JvdXAoZSl7cmV0dXJuKDAsCnMuZW5zdXJlRGVmaW5lZCkodGhpcy5fYnRuR3JvdXBzLmZpbmQoKHQ9PnQuY2xhc3NMaXN0LmNvbnRhaW5zKGUpKSkpfV91cGRhdGVDb250cm9sQmFyUG9zaXRpb24oKXtjb25zdCBlPXRoaXMuX3Zpc2liaWxpdHlQcmlvcml0aXplZEdyb3Vwcy5yZWR1Y2UoKChlLHQpPT5lKyh0LmVub3VnaFNwYWNlRm9yR3JvdXA/dC50b3RhbFdpZHRoOjApKSwwKSx0PSh0aGlzLl9wYW5lV2lkdGgrdGhpcy5fbGVmdFByaWNlU2NhbGVXaWR0aCt0aGlzLl9yaWdodFByaWNlU2NhbGVXaWR0aCkvMi1NYXRoLmNlaWwoZS8yKTt0aGlzLl93aWRnZXQuc3R5bGUubGVmdD1gJHt0fXB4YH1fdXBkYXRlUmVzZXRTY2FsZXNCdXR0b25WaXNpYmlsaXR5KCl7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKTt0aGlzLl9idXR0b25zLnR1cm4uY2xhc3NMaXN0LnRvZ2dsZShRLCFlKX1fdXBkYXRlTWF4aW1pemVCdXR0b25zVmlzaWJpbGl0eSgpe3RoaXMuX3VwZGF0ZUJ0bkdyb3VwVmlzaWJpbGl0eSgpfV90b2dnbGVGdWxsc2NyZWVuQnV0dG9ucygpe2NvbnN0IGU9dGhpcy5fY2hhcnQuaW5GdWxsc2NyZWVuKCk7dGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS5jbGFzc0xpc3QudG9nZ2xlKEssZSksdGhpcy5fYnV0dG9ucy5tYXhpbWl6ZS50aXRsZT1lP0Y6T31faXNNYXhpbWl6ZUJ1dHRvbkF2YWlsYWJsZSgpe3JldHVybiEhdGhpcy5fb3B0aW9ucy5tYXhpbWl6ZSYmKCEhdGhpcy5fY2hhcnQuZ2V0UmVzaXplckRldGFjaGVyKCkuZnVsbHNjcmVlbmFibGUudmFsdWUoKSYmIWIubWVkaWFTdGF0ZS5pc1Bob25lU2l6ZURldmljZSgpKX1fdHJhY2tFdmVudChlKXt0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoMCxtLnRyYWNrRXZlbnQpKCJOYXZpZ2F0aW9uIGJ1dHRvbiIsZSl9fX0sMzA1NjQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ljb25zOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpO2NvbnN0IG89W3tpY29uOiLwn5S2IixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg0NzkwNzgpKX0se2ljb246IvCfjYAiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDc2MDUpKX0se2ljb246IvCfkqciLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDU3MzM0NykpfSx7aWNvbjoi4p2k77iPIixsYWJlbDpzLnQobnVsbCx2b2lkIDAsaSg2MTUyMjEpKX0se2ljb246IvCfkqkiLGxhYmVsOnMudChudWxsLHZvaWQgMCxpKDkyMzkwOSkpfV19LDY3MTgxOChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMZWdlbmRXaWRnZXQ6KCk9PmJzfSk7dmFyIHM9aSg5MTg3NzkpLG89aSg1ODcxNjgpLG49aSgxMzg2MzgpLGE9aSg2MDE4NDEpLGw9aSg5MzAyMzEpLHI9aSgyMzIzNjQpLGQ9aSg5NTI5MDApLHU9aSg5NDgzODApLGM9aSgxMzQ2NyksaD1pKDIzNTcyNCkscD1pKDkwMDg0MSksXz1pKDMxODk3NCk7ZnVuY3Rpb24gZyhlLHQpe251bGw9PT1lLmZpcnN0Q2hpbGQ/ZS50ZXh0Q29udGVudD10OmUuZmlyc3RDaGlsZC5ub2RlVmFsdWU9dH12YXIgbT1pKDMyOTY2OCksYj1pKDk4MzYxNiksdj1pKDgwMDIyNiksZj1pKDM0NDc4NSksUz1pKDc3OTQ3NCkseT1pKDEyOTM2NSksdz1pKDczNDgyKTtmdW5jdGlvbiBDKGUpe2NvbnN0e2NvbnRhaW5lcjp0LC4uLml9PWU7cmV0dXJuIHkucmVuZGVyKFMuY3JlYXRlRWxlbWVudCh3LlN0YXR1c2VzUGlsbCx7Li4uaX0pLHQpLCgpPT57eS51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpLGUuc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrPy4oITApfX12YXIgRT1pKDM4NzIzMSkseD1pKDY2MzQpO2NvbnN0IEw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT80NDoyODt2YXIgTSxUOyFmdW5jdGlvbihlKXtlW2UuVGlueT0xXT0iVGlueSIsZVtlLlNtYWxsPTJdPSJTbWFsbCIsZVtlLk1lZGl1bT0zXT0iTWVkaXVtIixlW2UuTGFyZ2U9NF09IkxhcmdlIn0oTXx8KE09e30pKSxmdW5jdGlvbihlKXtlW2UuTm9JbnRlcnZhbEZvck11bHRpQ2hhcnQ9MV09Ik5vSW50ZXJ2YWxGb3JNdWx0aUNoYXJ0IixlW2UuTm9FeGNoYW5nZVByb3ZpZGVyQW5kSW50ZXJ2YWw9Ml09Ik5vRXhjaGFuZ2VQcm92aWRlckFuZEludGVydmFsIixlW2UuQWxsVmlzaWJsZT0zXT0iQWxsVmlzaWJsZSJ9KFR8fChUPXt9KSk7dmFyIFYsayxBPWkoNjQwMjkyKSxXPWkoOTU2MzY4KSxJPWkoNTgyNDc2KTshZnVuY3Rpb24oZSl7ZVtlLlNlcmllc1RpdGxlPTBdPSJTZXJpZXNUaXRsZSIsZVtlLlNlcmllc0Rlc2NyaXB0aW9uPTFdPSJTZXJpZXNEZXNjcmlwdGlvbiIsZVtlLlNlcmllc0ludGVydmFsPTJdPSJTZXJpZXNJbnRlcnZhbCIsZVtlLlNlcmllc1Byb3ZpZGVyPTNdPSJTZXJpZXNQcm92aWRlciIsZVtlLlNlcmllc0V4Y2hhbmdlPTRdPSJTZXJpZXNFeGNoYW5nZSIsZVtlLlNlcmllc1N0eWxlPTVdPSJTZXJpZXNTdHlsZSIsZVtlLlNlcmllc1ByaWNlU291cmNlPTZdPSJTZXJpZXNQcmljZVNvdXJjZSIsZVtlLkRhdGFTb3VyY2VUaXRsZT03XT0iRGF0YVNvdXJjZVRpdGxlIixlW2UuRGF0YVNvdXJjZVN5bWJvbFRpdGxlPThdPSJEYXRhU291cmNlU3ltYm9sVGl0bGUiLGVbZS5EYXRhU291cmNlRXh0cmFUaXRsZT05XT0iRGF0YVNvdXJjZUV4dHJhVGl0bGUiLGVbZS5EYXRhU291cmNlSW5wdXQ9MTBdPSJEYXRhU291cmNlSW5wdXQifShWfHwoVj17fSkpLGZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSJ9KGt8fChrPXt9KSk7dmFyIEI9aSg0MDIwNDUpLEg9aSg4NDg5ODgpLEQ9aSg4NzM1NzMpLFA9aSgxODUyNzEpLE49aSg1NzA2MDMpLFI9aSgzODY5MzEpO2Z1bmN0aW9uIE8oZSl7KDAsUi50cmFja0V2ZW50KSgiR1VJIiwiTGVnZW5kIGFjdGlvbiIsZSl9dmFyIEY9aSg5NjkxNjgpLHo9aSg5NDM5NSk7ZnVuY3Rpb24gaihlKXtyZXR1cm4oMCxhLmlzT2JqZWN0KShlKSYmIml0ZW1zImluIGV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gdm9pZCAwIT09ZT9ELnJlc2V0VHJhbnNwYXJlbmN5KGUpOmV9ZnVuY3Rpb24gRyhlKXtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSgidG91Y2hlcyIpfQpjb25zdCBaPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoInNob3cge3RpdGxlfSIsUC50KG51bGwsdm9pZCAwLGkoNzI1MDkpKSksSj1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJoaWRlIHt0aXRsZX0iLFAudChudWxsLHZvaWQgMCxpKDU4OTgxNSkpKSxZPVAudChudWxsLHZvaWQgMCxpKDg5NzMwOSkpLHE9UC50KG51bGwsdm9pZCAwLGkoNzY5MzkxKSk7Y2xhc3MgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3RoaXMuX3RpdGxlcz1uZXcgQi5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92YWx1ZXM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9hY3Rpb25zPVtdLHRoaXMuX2xvYWRpbmc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX29uU2hvd1NldHRpbmdzQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cz0oKT0+e3RoaXMuX2xvYWRpbmcuc2V0VmFsdWUodGhpcy5fc291cmNlLmlzTG9hZGluZygpKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dCx0aGlzLl9vcHRpb25zPWksdGhpcy5fY2FsbGJhY2tzPXMsdGhpcy5fY29udGV4dE1lbnVPcHRpb25zPW8sdGhpcy5fZGlzYWJsZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldERpc2FibGVkU3RhdGUoKSksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSx0aGlzLl9zZWxlY3RlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzVGl0bGVIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSksdGhpcy5faXNWYWx1ZXNIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldFZhbHVlc0hpZGRlblZhbHVlKCkpLHRoaXMuX2lzUm93SGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRSb3dIaWRkZW5WYWx1ZSgpKSx0aGlzLl9pc0VkaXRhYmxlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLCgwLGQuY29tYmluZSkoKChlLHQsaSk9Pih7fSkpLHRoaXMuX2lzVGl0bGVIaWRkZW4ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2lzVmFsdWVzSGlkZGVuLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kaXNhYmxlZC53ZWFrUmVmZXJlbmNlKCkpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSb3dWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fdmFsdWVzLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc1ZhbHVlc0hpZGRlbi5zZXRWYWx1ZSh0aGlzLl9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC52YWx1ZSgpPy5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfXRpdGxlcygpe3JldHVybiB0aGlzLl90aXRsZXMucmVhZG9ubHkoKX12YWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnJlYWRvbmx5KCl9YWN0aW9ucygpe3JldHVybiB0aGlzLl9hY3Rpb25zfWRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnJlYWRvbmx5KCl9ZGlzYWJsZWRPbkludGVydmFsKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5yZWFkb25seSgpfXNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLnJlYWRvbmx5KCl9bG9hZGluZygpe3JldHVybiB0aGlzLl9sb2FkaW5nLnJlYWRvbmx5KCl9aXNUaXRsZUhpZGRlbigpe3JldHVybiB0aGlzLl9pc1RpdGxlSGlkZGVuLnJlYWRvbmx5KCl9aXNSb3dIaWRkZW4oKXtyZXR1cm4gdGhpcy5faXNSb3dIaWRkZW4ucmVhZG9ubHkoKX1pc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX2lzRWRpdGFibGUucmVhZG9ubHkoKX1zeW1ib2xMb2dvVmlld01vZGVsKCl7cmV0dXJuIHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWx9dXBkYXRlKCl7dGhpcy5fdXBkYXRlVGl0bGVzKCksdGhpcy5fdXBkYXRlVmFsdWVzKCksdGhpcy5fdXBkYXRlU3RhdGVzKCksdGhpcy5zeW1ib2xMb2dvVmlld01vZGVsKCk/LnZhbHVlKCk/LnVwZGF0ZSgpfW9uVG9nZ2xlRGlzYWJsZWQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZSx0PSFlLnZhbHVlKCk7dGhpcy5fbW9kZWwuc2V0UHJvcGVydHkoZSx0LCh0P1o6SikuZm9ybWF0KHt0aXRsZTpuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKHRoaXMuX3NvdXJjZS5uYW1lKCksdGhpcy5fc291cmNlLnRpdGxlKHouVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pKSxPKCh0PyJTaG93IjoiSGlkZSIpKyIgc291cmNlIil9YXN5bmMgb25TaG93U2V0dGluZ3MoZSx0KXtpZighdGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpKXJldHVybjtjb25zdCBpPWV8fCJzZXR0aW5ncyI7dGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXImJiF0aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCYmdGhpcy5fb25TaG93U2V0dGluZ3NBYm9ydENvbnRyb2xsZXIuYWJvcnQoaSk7Y29uc3Qgcz10aGlzLl9vblNob3dTZXR0aW5nc0Fib3J0Q29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyO3QmJnMuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PntzLnNpZ25hbC5yZWFzb24hPT1pJiZ0KCl9KSx7b25jZTohMH0pO2NvbnN0IG89KCk9PnMuYWJvcnQoKTtPKCJTZXR0aW5ncyBmb3Igc291cmNlIiksdGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhbGxiYWNrcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKHRoaXMuX3NvdXJjZSxlKTt0JiYodC52aXNpYmxlKCkuc3Vic2NyaWJlKG8se29uY2U6ITB9KSxzLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dC52aXNpYmxlKCkudW5zdWJzY3JpYmUobyksdC5oaWRlKCl9KSx7b25jZTohMH0pKX1jYXRjaHtvKCl9fXNldFNvdXJjZVNlbGVjdGVkKCl7dGhpcy5fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PnsKZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHRoaXMuX3NvdXJjZSl9KSl9Y2hhcnRNb2RlbElkKCl7cmV0dXJuIHRoaXMuX21vZGVsLmlkKCl9YXN5bmMgX21vcmVBY3Rpb25IYW5kbGVyKGUsdCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKWlmKGUucHJldmVudERlZmF1bHQoKSwhdGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlcnx8dGhpcy5fbW9yZUFjdGlvbkFib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7Y29uc3QgaT10aGlzLl9tb3JlQWN0aW9uQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7aS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHQse29uY2U6ITB9KTtjb25zdCBzPSgpPT5pLmFib3J0KCk7dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpO3RyeXtjb25zdCB0PWF3YWl0IHRoaXMuX29uU2hvd01vcmVBY3Rpb25zKGUscyk7aS5zaWduYWwuYWJvcnRlZCYmdCYmdC5oaWRlKCl9Y2F0Y2h7cygpfX1lbHNlIHRoaXMuX21vcmVBY3Rpb25BYm9ydENvbnRyb2xsZXIuYWJvcnQoKX1fdXBkYXRlU3RhdGVzKCl7dGhpcy5fZGlzYWJsZWQuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRTdGF0ZSgpKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc2V0VmFsdWUodGhpcy5fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSksdGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUodGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpKSx0aGlzLl9pc0VkaXRhYmxlLnNldFZhbHVlKHRoaXMuX2dldElzRWRpdGFibGUoKSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cygpfV9oYXNWYWx1ZXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzLnZhbHVlKCkubGVuZ3RoPjB9X2dldEV5ZVRpdGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlKCk/WTpxfV9nZXRJc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS51c2VyRWRpdEVuYWJsZWQoKX1fZ2V0RGlzYWJsZWRTdGF0ZSgpe3JldHVybiF0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKX1fdXBkYXRlUm93VmlzaWJpbGl0aWVzKCl7dGhpcy5faXNSb3dIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0Um93SGlkZGVuVmFsdWUoKSl9X2dldFJvd0hpZGRlblZhbHVlKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlJiZ0aGlzLl9kaXNhYmxlZC52YWx1ZSgpfHx0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkmJih0aGlzLl9pc1ZhbHVlc0hpZGRlbi52YWx1ZSgpfHx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKX1hc3luYyBfb25TaG93TW9yZUFjdGlvbnMoZSx0KXtyZXR1cm4gTygiU2hvdyBzb3VyY2UgY29udGV4dCBtZW51IiksdGhpcy5fY2FsbGJhY2tzLnNob3dDb250ZXh0TWVudUZvclNvdXJjZXMoW3RoaXMuX3NvdXJjZV0sdGhpcy5fY2FsY05ld1Bvc2l0aW9uKGUpLHsuLi50aGlzLl9jb250ZXh0TWVudU9wdGlvbnMsaXNLZXlib2FyZEV2ZW50OiFHKGUpJiYoMCxILmlzS2V5Ym9hcmRDbGljaykoZSl9LHtvcmlnaW46IkxlZ2VuZFByb3BlcnRpZXNDb250ZXh0TWVudSIsb25DbG9zZTp0fSl9X2NhbGNOZXdQb3NpdGlvbihlKXtsZXQgdD17fTtpZihHKGUpJiZlLnRvdWNoZXMubGVuZ3RoPjApdD17Y2xpZW50WDplLnRvdWNoZXNbMF0uY2xpZW50WCxjbGllbnRZOmUudG91Y2hlc1swXS5jbGllbnRZfTtlbHNlIGlmKG51bGwhPT1lLnRhcmdldCl7Y29uc3QgaT1lLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0PXtjbGllbnRYOigwLEYuaXNSdGwpKCk/aS5yaWdodDppLmxlZnQsY2xpZW50WTppLnRvcCtpLmhlaWdodCszfX1lbHNle2NvbnN0IGk9ZTt0PXtjbGllbnRYOmkuY2xpZW50WCxjbGllbnRZOmkuY2xpZW50WX19cmV0dXJuIHR9fXZhciBRPWkoNjQ5MTY2KSxLPWkoMzM2MzM0KSxYPWkoNzcyMDI4KTtjb25zdCBlZT0odGU9US5Mb2FkZXIsaWU9e3N0YXRpY1Bvc2l0aW9uOiEwLHNpemU6InNtYWxsIn0sKGUsdCk9PmZ1bmN0aW9uKGUsdCxpLHMpe2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLG49KDAsSy5jcmVhdGVSb290KShvKTtsKCExKTtjb25zdHtjbGFzc05hbWU6YX09cz8/e307cmV0dXJuIGEmJm8uY2xhc3NMaXN0LmFkZChhKSxuLnJlbmRlcigoMCxTLmNyZWF0ZUVsZW1lbnQpKHQsaSkpLGUmJnIoZSkse3RvZ2dsZVZpc2liaWxpdHk6bCxkZXN0cm95OmZ1bmN0aW9uKCl7bi51bm1vdW50KCl9LG1vdW50VG86cn07ZnVuY3Rpb24gbChlKXtvLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhZSl9ZnVuY3Rpb24gcihlKXtlLmFwcGVuZENoaWxkKG8pfX0oZSx0ZSxpZSx0KSk7dmFyIHRlLGllLHNlPWkoMTY3NTAyKSxvZT1pKDkxNDQ4NyksbmU9aS5uKG9lKSxhZT1pKDYyNzg0OCksbGU9aSg3OTQxODcpLHJlPWkoNjQzOTAzKSxkZT1pKDk3MzgwNCksdWU9aSgzODc3NzQpLGNlPWkoNjU3NTYwKTtjbGFzcyBoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sYXN0RHJhd25Mb2dvcz1bXSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fdXBkYXRlTG9nb1Zpc2liaWxpdHk9ZT0+e3RoaXMuX2xvZ29XcmFwcGVyJiZ0aGlzLl9sb2dvV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGRlbiwhZSl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ289YXN5bmMgZT0+e2lmKG51bGw9PT10aGlzLl9sb2dvV3JhcHBlciYmdGhpcy5fcmVuZGVyU3ltYm9sTG9nbygpLDAhPT10aGlzLl9sYXN0RHJhd25Mb2dvcy5sZW5ndGgmJjAhPT1lLmxlbmd0aCYmKDAsc2UuZGVmYXVsdCkodGhpcy5fbGFzdERyYXduTG9nb3MsZSkpcmV0dXJuO2NvbnN0IHQ9YXdhaXQoaT1lLHM9dGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxQcm9taXNlLmFsbChpLm1hcCgoZT0+KDAsCmRlLmdldEltYWdlKShgc3ltYm9sX2xvZ29fJHtlfWAsZSxfZSxzKS50aGVuKChlPT5lLmNsb25lTm9kZSgpKSkpKSkpLmNhdGNoKCgoKT0+W10pKTt2YXIgaSxzO3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAwOnRoaXMuX3BhaXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQoY2UuaGlkZGVuKSx0aGlzLl9sb2dvQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCksdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPy5jbGFzc0xpc3QucmVtb3ZlKHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyksdGhpcy5fbGFzdERyYXduTG9nb3M9ZTticmVhaztjYXNlIDE6cGUodGhpcy5fbG9nb0NvbnRhaW5lcix0WzBdKSx0aGlzLl9wYWlyQ29udGFpbmVyPy5jbGFzc0xpc3QuYWRkKGNlLmhpZGRlbiksdGhpcy5fbG9nb0NvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZSh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj8uY2xhc3NMaXN0LmFkZCh1ZS5oaWRkZW5DaXJjbGVMb2dvQ2xhc3MpLHRoaXMuX2xhc3REcmF3bkxvZ29zPWU7YnJlYWs7Y2FzZSAyOnBlKHRoaXMuX3ByaW1hcnlMb2dvLHRbMF0pLHBlKHRoaXMuX3NlY29uZGFyeUxvZ28sdFsxXSksdGhpcy5fcGFpckNvbnRhaW5lcj8uY2xhc3NMaXN0LnJlbW92ZShjZS5oaWRkZW4pLHRoaXMuX2xvZ29Db250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXI/LmNsYXNzTGlzdC5hZGQodWUuaGlkZGVuQ2lyY2xlTG9nb0NsYXNzKSx0aGlzLl9sYXN0RHJhd25Mb2dvcz1lfX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9yZW5kZXJTeW1ib2xMb2dvKCksdGhpcy5fbG9nb1VybHM9ZS5zeW1ib2xMb2dvVXJscygpLnNwYXduKCksdGhpcy5fbG9nb1VybHMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ28se2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzTG9nb1Zpc2libGU9ZS5pc1N5bWJvbExvZ29WaXNpYmxlKCkuc3Bhd24oKSx0aGlzLl9pc0xvZ29WaXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMb2dvVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2xvZ29XcmFwcGVyPy5yZW1vdmUoKSx0aGlzLl9sb2dvV3JhcHBlcj1udWxsLHRoaXMuX3BhaXJDb250YWluZXI9bnVsbCx0aGlzLl9wcmltYXJ5TG9nbz1udWxsLHRoaXMuX3NlY29uZGFyeUxvZ289bnVsbCx0aGlzLl9sb2dvQ29udGFpbmVyPW51bGwsdGhpcy5fc3ltYm9sTGV0dGVyQ29udGFpbmVyPW51bGwsdGhpcy5fbG9nb1VybHMuZGVzdHJveSgpLHRoaXMuX2lzTG9nb1Zpc2libGUuZGVzdHJveSgpLHRoaXMuX2Fib3J0Q29udHJvbGxlci5hYm9ydCgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fbG9nb1dyYXBwZXJ9X3JlbmRlclN5bWJvbExvZ28oKXtpZighdGhpcy5fbG9nb1dyYXBwZXIpe2NvbnN0IGU9dGhpcy5fbG9nb1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLmxvZ29XcmFwcGVyKSxlLmRhdGFzZXQucWFJZD0ibGVnZW5kLWxvZ28td3JhcHBlciI7Y29uc3QgdD10aGlzLl9wYWlyQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTt0LmNsYXNzTGlzdC5hZGQoY2UucGFpckNvbnRhaW5lcixjZS5oaWRkZW4pO2NvbnN0IGk9dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpO2kuY2xhc3NOYW1lPSgwLGFlLmdldEJsb2NrU3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKTsodGhpcy5fc2Vjb25kYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9wcmltYXJ5TG9nbz1pLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGFlLmdldExvZ29TdHlsZUNsYXNzZXMpKCJ4eHhzbWFsbCIpLGNlLmxvZ28pOyh0aGlzLl9sb2dvQ29udGFpbmVyPWUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKSkuY2xhc3NOYW1lPW5lKCkoKDAsbGUuZ2V0U3R5bGVDbGFzc2VzKSgieHh4c21hbGwiKSxjZS5sb2dvLHVlLmhpZGRlbkNpcmNsZUxvZ29DbGFzcyk7KHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcj1lLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkpLmNsYXNzTmFtZT1uZSgpKCgwLGxlLmdldFN0eWxlQ2xhc3NlcykoInh4eHNtYWxsIiksY2UubG9nbyksdGhpcy5fdXBkYXRlU3ltYm9sTGV0dGVyKCl9fV91cGRhdGVTeW1ib2xMZXR0ZXIoKXtpZih0aGlzLl9zeW1ib2xMZXR0ZXJDb250YWluZXIpe2NvbnN0IGU9KDAscmUuc2FmZVNob3J0TmFtZSkodGhpcy5fbW9kZWwuc3ltYm9sKCk/PyIiKVswXTtnKHRoaXMuX3N5bWJvbExldHRlckNvbnRhaW5lcixlKX19fWZ1bmN0aW9uIHBlKGUsdCl7ZSYmZS5yZXBsYWNlQ2hpbGRyZW4odCl9ZnVuY3Rpb24gX2UoZSl7ZS5jcm9zc09yaWdpbj0iIixlLmRlY29kaW5nPSJhc3luYyJ9Y29uc3QgZ2U9Xy5DaGVja01vYmlsZS5hbnkoKTtmdW5jdGlvbiBtZShlLHQpe2UuZGF0YXNldC5zdGF0dXM9dD8ibG9hZGluZyI6dm9pZCAwfWNvbnN0IGJlPSgwLEUubWVyZ2VUaGVtZXMpKHcuREVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUUse3N0YXR1c2VzV3JhcDpjZS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzfSk7Y2xhc3MgdmV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2VsPW51bGwsdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9bnVsbCx0aGlzLl90aXRsZXNXcmFwcGVyRWw9bnVsbCx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl92YWx1ZXNFbGVtZW50cz1bXSx0aGlzLl9hY3Rpb25zUGFyZW50RWw9bnVsbCwKdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1udWxsLHRoaXMuX2FjdGlvbkVsZW1lbnRzPVtdLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fcm93TW9kZT00LHRoaXMuX3RpdGxlc01vZGU9Myx0aGlzLl9zdGF0dXNlc1dyYXBwZXI9bnVsbCx0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPW51bGwsdGhpcy5fbG9hZGVyPW51bGwsdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwsdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW51bGwsdGhpcy5fcmVzaXplT2JzZXJ2ZXI9bnVsbCx0aGlzLl9oaWRlSW52aXNpYmxlSG92ZXI9bnVsbCx0aGlzLl9oaWRlVmFsdWVzPW51bGwsdGhpcy5fYWxsQnV0dG9uc1dpZHRoPW51bGwsdGhpcy5fbGFzdFN0YXR1c2VzV3JhcHBlcldpZHRoPW51bGwsdGhpcy5fbGFzdEFjdGlvbnNXcmFwcGVyV2lkdGg9bnVsbCx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXI9bnVsbCx0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI9bnVsbCx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcnM9W10sdGhpcy5fZGlzYWJsZVRpbWVvdXQ9bnVsbCx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlRGlzYWJsZWRTdGF0ZT0oZT10aGlzLl9kaXNhYmxlZC52YWx1ZSgpKT0+e251bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWQsZSksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0VmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCkpfSx0aGlzLl91cGRhdGVMb2FkaW5nU3RhdGU9KGU9dGhpcy5fbG9hZGluZy52YWx1ZSgpKT0+e2lmKG51bGwhPT10aGlzLl9lbCl7dGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5leWVMb2FkaW5nLGUmJiF0aGlzLl9kaXNhYmxlZC52YWx1ZSgpKSxtZSh0aGlzLl9lbCxlKX1udWxsIT09dGhpcy5fbG9hZGVyJiZ0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eShlKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9LHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlcj1lPT57aWYodGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksZSl7dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPW5ldyBoZShlKTtjb25zdCB0PXRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZmluZEluZGV4KChlPT50aGlzLl9pc1RpdGxlV2l0aFN5bWJvbExvZ28oZSkpKTtpZigtMSE9PXQpe2NvbnN0IGU9dGhpcy5fdGl0bGVDb250YWluZXJzW3RdO2lmKGUpe2NvbnN0IHQ9dGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyLmdldEVsZW1lbnQoKTt0JiZlLmluc2VydEJlZm9yZSh0LGUuZmlyc3RDaGlsZCl9fX1lbHNlIHRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj1udWxsfSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhcmVudEVsPXQsdGhpcy5fZGlzYWJsZWQ9dGhpcy5fbW9kZWwuZGlzYWJsZWQoKS5zcGF3bigpLHRoaXMuX2Rpc2FibGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWw9dGhpcy5fbW9kZWwuZGlzYWJsZWRPbkludGVydmFsKCkuc3Bhd24oKSx0aGlzLl9kaXNhYmxlZE9uSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlLmJpbmQodGhpcykpLHRoaXMuX3NlbGVjdGVkPXRoaXMuX21vZGVsLnNlbGVjdGVkKCkuc3Bhd24oKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2VsZWN0ZWRTdGF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9sb2FkaW5nPXRoaXMuX21vZGVsLmxvYWRpbmcoKS5zcGF3bigpLHRoaXMuX2xvYWRpbmcuc3Vic2NyaWJlKGZ1bmN0aW9uKGUsdCl7bGV0IGk9MDtyZXR1cm4gcz0+e2NsZWFyVGltZW91dChpKSxzP2UoKTppPXNldFRpbWVvdXQoZSx0KX19KHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0ZSw3MDApKSx0aGlzLl9pc1RpdGxlSGlkZGVuPXRoaXMuX21vZGVsLmlzVGl0bGVIaWRkZW4oKS5zcGF3bigpLHRoaXMuX2lzUm93SGlkZGVuPXRoaXMuX21vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9pc1RpdGxlSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93VGl0bGVzLmJpbmQodGhpcykpLHRoaXMuX2lzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTaG93TGluZS5iaW5kKHRoaXMpKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bj10aGlzLl9tb2RlbC50aXRsZXMoKS5zcGF3bigpLHRoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnN1YnNjcmliZSh0aGlzLl90aXRsZXNDb2xsZWN0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl92YWx1ZXM9dGhpcy5fbW9kZWwudmFsdWVzKCkuc3Bhd24oKSx0aGlzLl92YWx1ZXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlcy5iaW5kKHRoaXMpKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSx0aGlzLl9hZGRWYWx1ZXNTcGF3bnNTdWJzY3JpcHRpb25zKCksZS5zeW1ib2xMb2dvVmlld01vZGVsKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fdXBkYXRlU3ltYm9sTG9nb1JlbmRlcmVyKGUuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnZhbHVlKCkpLHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5PXRoaXMuX21vZGVsLmFjdGlvbnMoKS5tYXAoKGU9Pih7dmlzaWJsZTplLnZpc2libGUuc3Bhd24oKSxhY3RpdmU6ZS5hY3RpdmU/LnNwYXduKCksdGl0bGU6dm9pZCAwPT09ZS50aXRsZT9udWxsOmUudGl0bGUuc3Bhd24oKX0pKSk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9hY3Rpb25zU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdHt2aXNpYmxlOnQsdGl0bGU6aSxhY3RpdmU6c309dGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV07dC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxlKSksCnM/LnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUFjdGlvbkFjdGl2ZVN0YXR1cyhlKSkpLGk/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsZSkpfXRoaXMuX3dpdGhBY3Rpb25zPWkud2l0aEFjdGlvbnMsdGhpcy5faXNNdWx0aXBsZUxheW91dD1pLmlzTXVsdGlwbGVMYXlvdXQuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3I9aS5jdXN0b21UZXh0Q29sb3Iuc3Bhd24oKSx0aGlzLl9jdXN0b21UZXh0Q29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUN1c3RvbVRleHRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9yZW5kZXIoKSx0aGlzLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTaG93VGl0bGVzKCksdGhpcy5fdXBkYXRlU2hvd1ZhbHVlcygpLHRoaXMuX3VwZGF0ZVNob3dMaW5lKCksdGhpcy5fbG9hZGVyPWVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpLHtjbGFzc05hbWU6Y2UubG9hZGVyfSksdGhpcy5fd2l0aEFjdGlvbnMmJih0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPWkudG9nZ2xlSGlkZGVuQWN0aW9ucyx0aGlzLl9zaG93QWN0aW9uc0hhbmRsZXI9KDAsSS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKHRoaXMuX3Nob3dBY3Rpb25zLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcj0oMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5faGlkZUFjdGlvbnMuYmluZCh0aGlzKSksdGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyPSgwLHguZGVmYXVsdFByZXZlbnRlZEhhbmRsZXIpKHRoaXMuX21vZGVsLnNldFNvdXJjZVNlbGVjdGVkLmJpbmQodGhpcy5fbW9kZWwpKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSksdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzLnB1c2gobmV3IHguTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdGl0bGVzV3JhcHBlckVsLHttb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksZG91YmxlVGFwRXZlbnQ6dGhpcy5fbW9kZWwub25TaG93U2V0dGluZ3MuYmluZCh0aGlzLl9tb2RlbCksbW91c2VDbGlja0V2ZW50OnRoaXMuX3NlbGVjdGVkU291cmNlSGFuZGxlcix0YXBFdmVudDp0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXJ9KSkpLG51bGw9PT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsfHxudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxnZXx8KHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSl9ZGVzdHJveSgpe2lmKHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnM9bnVsbCx0aGlzLl9kaXNhYmxlZC5kZXN0cm95KCksdGhpcy5fZGlzYWJsZWRPbkludGVydmFsLmRlc3Ryb3koKSx0aGlzLl9zZWxlY3RlZC5kZXN0cm95KCksdGhpcy5fbG9hZGluZy5kZXN0cm95KCksdGhpcy5faXNUaXRsZUhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNSb3dIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2N1c3RvbVRleHRDb2xvci5kZXN0cm95KCksdGhpcy5fbG9hZGVyPy5kZXN0cm95KCksdGhpcy5faXNNdWx0aXBsZUxheW91dC5kZXN0cm95KCksdGhpcy5fbW9kZWwuc3ltYm9sTG9nb1ZpZXdNb2RlbCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29SZW5kZXJlciksdGhpcy5fc3ltYm9sTG9nb1JlbmRlcmVyPy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX2Rpc2FibGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZGlzYWJsZVRpbWVvdXQpLHRoaXMuX2FjY2Vzc2libGVUaXRsZUJ1dHRvbnM9W10sdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnM9W10sdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3RpdGxlc1dyYXBwZXJFbCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbW91c2VFdmVudEhhbmRsZXJzKWUuZGVzdHJveSgpO3RoaXMuX3RpdGxlQ29udGFpbmVycz1bXSx0aGlzLl90aXRsZUVsZW1lbnRzPVtdLHRoaXMuX3dpdGhBY3Rpb25zJiZudWxsIT09dGhpcy5fc2VsZWN0ZWRTb3VyY2VIYW5kbGVyJiZudWxsIT09dGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyJiZudWxsIT09dGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyJiYoZ2V8fCh0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5faGlkZUFjdGlvbnNIYW5kbGVyKSkpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbD1udWxsfWZvcihjb25zdCBlIG9mIHRoaXMuX2FjdGlvbnNTcGF3bkFycmF5KWUudmlzaWJsZS5kZXN0cm95KCksZS5hY3RpdmU/LmRlc3Ryb3koKSxlLnRpdGxlPy5kZXN0cm95KCk7aWYodGhpcy5fYWN0aW9uRWxlbWVudHM9W10sCm51bGwhPT10aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fd2l0aEFjdGlvbnMmJm51bGwhPT10aGlzLl9zaG93QWN0aW9uc0hhbmRsZXImJm51bGwhPT10aGlzLl9oaWRlQWN0aW9uc0hhbmRsZXImJiFnZSYmKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fc2hvd0FjdGlvbnNIYW5kbGVyKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX2hpZGVBY3Rpb25zSGFuZGxlcikpLHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCksdGhpcy5fYWN0aW9uc1BhcmVudEVsPW51bGwsdGhpcy5fcmVtb3ZlVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpLHRoaXMuX3ZhbHVlcy5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzUGFyZW50RWw9bnVsbCksdGhpcy5faGlkZUludmlzaWJsZUhvdmVyPy5kZXN0cm95KCksdGhpcy5faGlkZVZhbHVlcz8uZGVzdHJveSgpLG51bGwhPT10aGlzLl9yZXNpemVPYnNlcnZlciYmKHRoaXMuX3Jlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsKSxudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fZWwucGFyZW50Tm9kZTtlPy5yZW1vdmVDaGlsZCh0aGlzLl9lbCksdGhpcy5fZWw9bnVsbH19Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH1nZXRIZWlnaHQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2VsP251bGw6MjR9dXBkYXRlTW9kZShlLHQpe3RoaXMuX3Jvd01vZGU9PT1lJiZ0aGlzLl90aXRsZXNNb2RlPT09dCYmbnVsbCE9PXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8KHRoaXMuX3Jvd01vZGUhPT1lJiYodGhpcy5fcm93TW9kZT1lLHRoaXMuX3VwZGF0ZUFjdGlvbnNWaXNpYmlsaXRpZXNCeU1vZGUoKSksdGhpcy5fdGl0bGVzTW9kZSE9PXQmJih0aGlzLl90aXRsZXNNb2RlPXQsdGhpcy5fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCkpLHRoaXMuX3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpKX1hY2Nlc3NpYmxlQnV0dG9ucygpe3JldHVybiB0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpP1tdOlsuLi50aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLC4uLnRoaXMuX2FjY2Vzc2libGVBY3Rpb25CdXR0b25zXS5maWx0ZXIoKGU9PiFlLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpfXNob3dBY3Rpb25zKCl7bnVsbD09PXRoaXMuX2VsfHx0aGlzLl9lbC5jbGFzc0xpc3QuY29udGFpbnMoY2Uud2l0aEFjdGlvbil8fHRoaXMuX3Nob3dBY3Rpb25zKCl9aGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKSYmdGhpcy5faGlkZUFjdGlvbnMoKX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe31fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7fV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl9yZW5kZXJBY3Rpb25zKCksdGhpcy5fcmVuZGVyVmFsdWVzKCk7Y29uc3QgZT10aGlzLl9jdXN0b21UZXh0Q29sb3IudmFsdWUoKXx8IiI7dGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53aXRoQ3VzdG9tVGV4dENvbG9yLEJvb2xlYW4oZSkpLG1lKHRoaXMuX2VsLHRoaXMuX2xvYWRpbmcudmFsdWUoKSksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIuY2xhc3NMaXN0LmFkZChjZS5ub1dyYXBXcmFwcGVyKSx0aGlzLl9maXJzdEJsb2NrV3JhcHBlci5hcHBlbmRDaGlsZCgoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RpdGxlc1dyYXBwZXJFbCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2ZpcnN0QmxvY2tXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpLHRoaXMuX2VsLmFwcGVuZENoaWxkKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fdmFsdWVzUGFyZW50RWwpKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fZWwpfV9yZW5kZXJUaXRsZXMoKXtudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc1dyYXBwZXIpLHRoaXMuX3RpdGxlc1dyYXBwZXJFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10aXRsZXMiKTtmb3IoY29uc3QgZSBvZiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpKWooZSk/dGhpcy5fcmVuZGVyVGl0bGVzR3JvdXAoZSk6dGhpcy5fcmVuZGVyU2ltcGxlVGl0bGUoZSl9X3JlbmRlclRpdGxlc0dyb3VwKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKGNlLnRpdGxlc0dyb3VwV3JhcHBlciksZS5pdGVtcy5mb3JFYWNoKChlPT50aGlzLl9yZW5kZXJTaW1wbGVUaXRsZShlLHQpKSksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpLmFwcGVuZENoaWxkKHQpfV9yZW5kZXJTaW1wbGVUaXRsZShlLHQpe2NvbnN0e3RpdGxlOmksdG9vbHRpcDpzLGFjdGlvbjpvfT1lLGE9ISFvJiYoIV8uQ2hlY2tNb2JpbGUuYW55KCl8fG8uYWN0aW9uQWxsb3dlZE9uVG91Y2gpLGw9dGhpcy5fZ2V0QXR0cmlidXRlc0ZvclRpdGxlU3RhdGUoZSkscj1pPz8iIixkPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIix1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXIsY2Uud2l0aERvdCksdS5zdHlsZS5jb2xvcj1kLGw/LmNsYXNzTmFtZSYmdS5jbGFzc0xpc3QuYWRkKGwuY2xhc3NOYW1lKSwKdS5kYXRhc2V0LnFhSWQ9WyJ0aXRsZS13cmFwcGVyIixsPy5kYXRhUWFJZF0uam9pbigiICIpLnRyaW0oKSx2b2lkIDAhPT1zJiYodS5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHUuc2V0QXR0cmlidXRlKCJ0aXRsZSIscykpO2NvbnN0IGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhPyJidXR0b24iOiJkaXYiKTtpZihjLmNsYXNzTGlzdC5hZGQoY2UudGl0bGUpLHZvaWQgMCE9PW8pe3UuY2xhc3NMaXN0LmFkZChjZS53aXRoQWN0aW9uKTtjb25zdCBlPV8uQ2hlY2tNb2JpbGUuYW55KCkmJm8uYWN0aW9uQWxsb3dlZE9uVG91Y2gsdD10PT57IXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkmJih0aGlzLl9zZWxlY3RlZFNvdXJjZUhhbmRsZXI/Lih0KSxlKXx8KHUuY2xhc3NMaXN0LmFkZChjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSksby5mbigoKCk9PnUuY2xhc3NMaXN0LnJlbW92ZShjZS50aXRsZVdyYXBwZXJfX2FjdGl2ZSkpKSxhJiZjLmJsdXIoKSl9O2lmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVycy5wdXNoKG5ldyB4Lk1vdXNlRXZlbnRIYW5kbGVyKHUse21vdXNlQ2xpY2tFdmVudDp0LHRhcEV2ZW50OmU/dDp2b2lkIDB9LHtpZ25vcmVDbGlja0FuZFRhcE9uRGJsQ2xpY2tPckRibFRhcDohMH0pKSxhKXtjb25zdCBlPWM7dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKCgpPT5vLmZuKCkpLHM/PyIiKSx0aGlzLl9hY2Nlc3NpYmxlVGl0bGVCdXR0b25zLnB1c2goZSl9fWlmKHIubGVuZ3RoPjA/Yy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk6KHUuY2xhc3NMaXN0LmFkZChYLmJsb2NrSGlkZGVuKSxjLmNsYXNzTGlzdC5hZGQoWC5ibG9ja0hpZGRlbikpLHUuYXBwZW5kQ2hpbGQoYyksdGhpcy5faXNUaXRsZVdpdGhTeW1ib2xMb2dvKGUpKXtjb25zdCBlPXRoaXMuX3N5bWJvbExvZ29SZW5kZXJlcj8uZ2V0RWxlbWVudCgpO2UmJnUuaW5zZXJ0QmVmb3JlKGUsdS5maXJzdENoaWxkKX0odD8/KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl90aXRsZXNXcmFwcGVyRWwpKS5hcHBlbmRDaGlsZCh1KSx0aGlzLl90aXRsZUNvbnRhaW5lcnMucHVzaCh1KSx0aGlzLl90aXRsZUVsZW1lbnRzLnB1c2goYyl9X21ha2VJdGVtQWNjZXNzaWJsZShlLHQsaSl7IiIhPT1pJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksZS50eXBlPSJidXR0b24iLGUuY2xhc3NMaXN0LmFkZChjZS5hY2Nlc3NpYmxlKSxlLnRhYkluZGV4PS0xO2NvbnN0IHM9dD0+e3N3aXRjaCh0LnR5cGUpe2Nhc2Uicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCI6ZS50YWJJbmRleD0wO2JyZWFrO2Nhc2Uicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IjplLnRhYkluZGV4PS0xfX07ZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixzKSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIscyksZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwoZT0+e2NvbnN0IGk9KDAsaC5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PWkmJjMyIT09aXx8KGUucHJldmVudERlZmF1bHQoKSx0KGUpKX0pKX1fcmVuZGVyQWN0aW9ucygpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47bnVsbD09PXRoaXMuX2FjdGlvbnNQYXJlbnRFbCYmKHRoaXMuX2FjdGlvbnNQYXJlbnRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25zUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS5idXR0b25zV3JhcHBlciksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmRhdGFzZXQubmFtZT0iYWN0aW9ucyIsdGhpcy5fcGFyZW50RWwuYXBwZW5kKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9hY3Rpb25BZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UuYnV0dG9ucyksdGhpcy5fYWN0aW9uc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX2FjdGlvbkFkZGl0aW9uYWxXcmFwcGVyRWwpKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9uQWRkaXRpb25hbFdyYXBwZXJFbCk7dGhpcy5fbW9kZWwuYWN0aW9ucygpLmZvckVhY2goKHQ9Pntjb25zdCBpPXZvaWQgMD09PXQuZGlzYWJsZUFjY2Vzc2liaWxpdHkscz17aWNvblNpemU6di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibGFyZ2UiOiJzbWFsbCIsdGFnOmk/ImJ1dHRvbiI6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOmNlLmJ1dHRvbix3cmFwSWNvbkNsYXNzTmFtZTpjZS5idXR0b25JY29uLGhpZGRlbkNsYXNzTmFtZTpYLmJsb2NrSGlkZGVuLGJsdXJPbkNsaWNrOiEhaXx8dm9pZCAwfSxvPSgwLFcuY3JlYXRlQWN0aW9uRWxlbWVudCkodCxzKTtpZihpKXtjb25zdCBlPW87dGhpcy5fbWFrZUl0ZW1BY2Nlc3NpYmxlKGUsKGU9PnQuYWN0aW9uKGUpKSx0LnRpdGxlPy52YWx1ZSgpPz8iIiksdGhpcy5fYWNjZXNzaWJsZUFjdGlvbkJ1dHRvbnMucHVzaChlKX10aGlzLl9hY3Rpb25FbGVtZW50cy5wdXNoKG8pLGUuYXBwZW5kQ2hpbGQobyl9KSl9X2luaXRXcmFwcGVyc0lmTm90SW5pdGlhbGl6ZWQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3ZhbHVlc1BhcmVudEVsJiYodGhpcy5fdmFsdWVzUGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LmFkZChjZS52YWx1ZXNXcmFwcGVyKSx0aGlzLl92YWx1ZXNQYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1ub3QtYXZhaWxhYmxlLWNvbnRlbnQiLGAnJHtBLm5vdEF2YWlsYWJsZX0nYCksdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVzQWRkaXRpb25hbFdyYXBwZXIpLHRoaXMuX3ZhbHVlc1BhcmVudEVsLmFwcGVuZENoaWxkKHRoaXMuX3ZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyRWwpKSwoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsKX1faXNXaWR0aEJ1dHRvbnNNb2RlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmNsYXNzTGlzdC5jb250YWlucyhjZS53aXRoQWN0aW9uKXx8dGhpcy5fZGlzYWJsZWQudmFsdWUoKXx8dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuITF9X3VwZGF0ZVN0YXRlcyhlKXt0aGlzLl91cGRhdGVEaXNhYmxlZFN0YXRlKCksdGhpcy5fdXBkYXRlRGlzYWJsZWRPbkludGVydmFsU3RhdGUoKSx0aGlzLl91cGRhdGVTZWxlY3RlZFN0YXRlKCksdGhpcy5fdXBkYXRlTG9hZGluZ1N0YXRlKCksZSYmdGhpcy5fY2xlYXJEaXNhYmxlU3RhdGUoKX1fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlcihlLHQpe2coKDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKSx0KSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyKGUsdD0iIil7KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKS5zdHlsZS5jb2xvcj10fV91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyKGUsdCl7Y29uc3QgaT0oMCxuLmVuc3VyZSkodGhpcy5fdmFsdWVzRWxlbWVudHNbZV0udmFsdWUpLmNsb3Nlc3QoYC4ke2NlLnZhbHVlSXRlbX1gKTtudWxsIT09aSYmaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIXQpLHRoaXMuX3VwZGF0ZVNob3dWYWx1ZXMoKX1fdXBkYXRlU2hvd0xpbmUoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1Jvd0hpZGRlbi52YWx1ZSgpKX1fdGl0bGVzQ29sbGVjdGlvbkNoYW5nZWQoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmlubmVySFRNTD0iIiksdGhpcy5fYWNjZXNzaWJsZVRpdGxlQnV0dG9ucz1bXSx0aGlzLl90aXRsZUNvbnRhaW5lcnM9W10sdGhpcy5fdGl0bGVFbGVtZW50cz1bXSx0aGlzLl9yZW5kZXJUaXRsZXMoKSx0aGlzLl91cGRhdGVUaXRsZXNWaXNpYmlsaXRpZXNCeU1vZGUoKX1fY3JlYXRlVmFsdWVzU3Bhd25zKCl7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT10aGlzLl92YWx1ZXMudmFsdWUoKS5tYXAoKGU9Pih7dmFsdWU6ZS52YWx1ZS5zcGF3bigpLGNvbG9yOmUuY29sb3Iuc3Bhd24oKSx2aXNpYmxlOmUudmlzaWJsZS5zcGF3bigpLHRpdGxlOmUudGl0bGUuc3Bhd24oKX0pKSl9X3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKXtmb3IoY29uc3QgZSBvZiB0aGlzLl92YWx1ZXNTcGF3bkFycmF5KWUudmFsdWUuZGVzdHJveSgpLGUuY29sb3IuZGVzdHJveSgpLGUudmlzaWJsZS5kZXN0cm95KCksZS50aXRsZS5kZXN0cm95KCk7dGhpcy5fdmFsdWVzU3Bhd25BcnJheT1bXX1fYWRkVmFsdWVzU3Bhd25zU3Vic2NyaXB0aW9ucygpe2ZvcihsZXQgZT0wO2U8dGhpcy5fdmFsdWVzU3Bhd25BcnJheS5sZW5ndGg7ZSsrKXtjb25zdCB0PXRoaXMuX3ZhbHVlc1NwYXduQXJyYXlbZV07dC52YWx1ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzSFRNTEVsSGFuZGxlci5iaW5kKHRoaXMsZSkpLHQuY29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZhbHVlQ29sb3JIYW5kbGVyLmJpbmQodGhpcyxlKSksdC52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWYWx1ZVZpc2libGVIYW5kbGVyLmJpbmQodGhpcyxlKSksdC50aXRsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmFsdWVzVGl0bGVIVE1MRWxIYW5kbGVyLmJpbmQodGhpcyxlKSl9fV91cGRhdGVTaG93VmFsdWVzKCl7ZnVuY3Rpb24gZShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmV2ZXJ5KChlPT5lLmNsYXNzTGlzdC5jb250YWlucyhYLmJsb2NrSGlkZGVuKSkpO2UuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHQpfWUodGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbCksZSh0aGlzLl92YWx1ZXNQYXJlbnRFbCl9X2FkZFN0YXR1c2VzV2lkZ2V0KGUpe3RoaXMuX2hpZGVJbnZpc2libGVIb3Zlcj1lLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2hpZGVJbnZpc2libGVIb3Zlci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZUludmlzaWJsZUhvdmVyTW9kZS5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9oaWRlVmFsdWVzPSgwLGQuY29tYmluZSkoKChlLHQpPT5lfHx0KSxlLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSxlLmlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGlkZVZhbHVlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZVZhbHVlc01vZGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fc3RhdHVzZXNXcmFwcGVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3N0YXR1c2VzV3JhcHBlci5jbGFzc0xpc3QuYWRkKGNlLnN0YXR1c2VzV3JhcHBlciksdGhpcy5fc3RhdHVzZXNXcmFwcGVyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3N0YXR1c2VzV2lkZ2V0U3RhdGU9ZSx0aGlzLl9kaXNhYmxlZC52YWx1ZSgpP3RoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT1DKHtjb250YWluZXI6dGhpcy5fc3RhdHVzZXNXcmFwcGVyLHN0YXR1c2VzOmUudmlzaWJsZU1vZGVscygpLHRvb2x0aXA6ZS50b29sdGlwKCksdGhlbWU6YmUsc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrOnRoaXMuX3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpfSk6KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXJzdEJsb2NrV3JhcHBlcikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLAp0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aC5iaW5kKHRoaXMpKSxudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2FjdGlvbnNQYXJlbnRFbCksdGhpcy5fZWwmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fZWwpfV91cGRhdGVUaXRsZU1heFdpZHRoKCl7aWYobnVsbD09PXRoaXMuX2VsfHxudWxsPT09dGhpcy5fdGl0bGVzV3JhcHBlckVsKXJldHVybjtjb25zdCBlPXRoaXMuX2FsbEJ1dHRvbnNXaWR0aHx8MCx0PSh0aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8MCkrKHRoaXMuX2xhc3RTdGF0dXNlc1dyYXBwZXJXaWR0aHx8MCksaT10aGlzLl9pc1dpZHRoQnV0dG9uc01vZGUoKT9NYXRoLm1heChlLHQpOnQ7dGhpcy5fdGl0bGVzV3JhcHBlckVsLnN0eWxlLm1heFdpZHRoPWk+MD9gJHtNYXRoLmFicyh0aGlzLl9lbC5jbGllbnRXaWR0aC1pKX1weGA6IiJ9X3VwZGF0ZUFsbEJ1dHRvbnNXaWR0aCgpe3RoaXMuX2FsbEJ1dHRvbnNXaWR0aD10aGlzLl9nZXRCdXR0b25zQ291bnQoKSpMKzEsdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpfV9zaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2soKXt9X3VwZGF0ZUhpZGVJbnZpc2libGVIb3Zlck1vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVJbnZpc2libGVIb3ZlcixlKX1fdXBkYXRlSGlkZVZhbHVlc01vZGUoZSl7bnVsbCE9PXRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLmhpZGVWYWx1ZXMsZSl9X3Nob3dBY3Rpb25zKCl7aWYobnVsbD09PXRoaXMuX2VsfHwhdGhpcy5fd2l0aEFjdGlvbnMpcmV0dXJuO3RoaXMuX2VsLmNsYXNzTGlzdC5hZGQoY2Uud2l0aEFjdGlvbiksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz8uKCEwKTtjb25zdCBlPXRoaXMuX3ZhbHVlc1BhcmVudEVsPy5vZmZzZXRUb3A9PT10aGlzLl90aXRsZXNXcmFwcGVyRWw/Lm9mZnNldFRvcDt0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhUYWlsLGUpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX1faGlkZUFjdGlvbnMoKXtudWxsIT09dGhpcy5fZWwmJnRoaXMuX3dpdGhBY3Rpb25zJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoQWN0aW9uKSx0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zPy4oITEpLG51bGwhPT10aGlzLl92YWx1ZXNQYXJlbnRFbCYmdGhpcy5fdmFsdWVzUGFyZW50RWwuY2xhc3NMaXN0LnJlbW92ZShjZS53aXRoVGFpbCksdGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aCgpKX1faGFuZGxlclJlc3RyaWN0VGl0bGVXaWR0aChlKXtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dGhpcy5fZmlyc3RCbG9ja1dyYXBwZXIpcmV0dXJuO2xldCB0PW51bGwsaT0hMTtmb3IoY29uc3QgcyBvZiBlKXMudGFyZ2V0PT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiYodD1zLmNvbnRlbnRSZWN0LndpZHRoKSxzLnRhcmdldD09PXRoaXMuX2VsJiYoaT0hMCk7KHQhPT10aGlzLl9sYXN0QWN0aW9uc1dyYXBwZXJXaWR0aHx8aSkmJihudWxsIT09dCYmKHRoaXMuX2xhc3RBY3Rpb25zV3JhcHBlcldpZHRoPXQpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X2NsZWFyRGlzYWJsZVN0YXRlKCl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShjZS5leWVMb2FkaW5nKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGNlLmRpc2FibGVkKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRWaXNpYmlsaXR5KHRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKSl9X3VwZGF0ZURpc2FibGVkT25JbnRlcnZhbFN0YXRlKCl7dGhpcy5fZWw/LmNsYXNzTGlzdC50b2dnbGUoY2UuZGlzYWJsZWRPbkludGVydmFsLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC52YWx1ZSgpKX1fdXBkYXRlU2VsZWN0ZWRTdGF0ZSgpe251bGwhPT10aGlzLl9lbCYmdGhpcy5fd2l0aEFjdGlvbnMmJnRoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoY2Uuc2VsZWN0ZWQsdGhpcy5fc2VsZWN0ZWQudmFsdWUoKSl9X3VwZGF0ZVNob3dUaXRsZXMoKXtudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiYodGhpcy5fdGl0bGVzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0aGlzLl9pc1RpdGxlSGlkZGVuLnZhbHVlKCkpLG51bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNUaXRsZUhpZGRlbi52YWx1ZSgpKSl9X3VwZGF0ZVZhbHVlcygpe3RoaXMuX3JlbW92ZVZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl9jcmVhdGVWYWx1ZXNTcGF3bnMoKSxudWxsIT09dGhpcy5fdmFsdWVzUGFyZW50RWwmJm51bGwhPT10aGlzLl92YWx1ZXNBZGRpdGlvbmFsV3JhcHBlckVsJiYodGhpcy5fdmFsdWVzRWxlbWVudHM9W10sdGhpcy5fdmFsdWVzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIpLHRoaXMuX3JlbmRlclZhbHVlcygpLHRoaXMuX2FkZFZhbHVlc1NwYXduc1N1YnNjcmlwdGlvbnMoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X3VwZGF0ZUFjdGlvblZpc2liaWxpdGllcyhlKXtudWxsIT09dGhpcy5fYWN0aW9uc1BhcmVudEVsJiZ0aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhdGhpcy5fYWN0aW9uc1NwYXduQXJyYXlbZV0udmlzaWJsZS52YWx1ZSgpKX1fdXBkYXRlQWN0aW9uVGl0bGUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zU3Bhd25BcnJheVtlXS50aXRsZTtpZihudWxsPT09dGhpcy5fYWN0aW9uc1BhcmVudEVsfHxudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9hY3Rpb25zUGFyZW50RWwucXVlcnlTZWxlY3RvckFsbChgLiR7Y2UuYnV0dG9ufWApW2VdCjtpLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQudmFsdWUoKSksaS5oYXNBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSYmaS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQudmFsdWUoKSksaS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfV91cGRhdGVBY3Rpb25BY3RpdmVTdGF0dXMoZSl7Y29uc3R7YWN0aXZlOnR9PXRoaXMuX2FjdGlvbnNTcGF3bkFycmF5W2VdO251bGwhPT10aGlzLl9hY3Rpb25zUGFyZW50RWwmJnQmJnRoaXMuX2FjdGlvbnNQYXJlbnRFbC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS5idXR0b259YCkuZm9yRWFjaCgoKGkscyk9PntlPT09cyYmaS5jbGFzc0xpc3QudG9nZ2xlKGNlLmJ1dHRvbl9fYWN0aXZlLHQudmFsdWUoKSl9KSl9X3VwZGF0ZUN1c3RvbVRleHRDb2xvcigpe2NvbnN0IGU9dGhpcy5fY3VzdG9tVGV4dENvbG9yLnZhbHVlKCl8fCIiO2Zvcihjb25zdCB0IG9mIHRoaXMuX3RpdGxlQ29udGFpbmVycyludWxsIT09dCYmKHQuc3R5bGUuY29sb3I9ZSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ZhbHVlc1BhcmVudEVsKS5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjZS52YWx1ZVRpdGxlfWApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXRbaV0uc3R5bGUuY29sb3I9ZTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLndpdGhDdXN0b21UZXh0Q29sb3IsQm9vbGVhbihlKSl9X3VwZGF0ZVN0YXR1c1dpZGdldFZpc2liaWxpdHkoZSl7bnVsbCE9PXRoaXMuX3N0YXR1c2VzV3JhcHBlciYmKGU/KHRoaXMuX3N0YXR1c2VzV2lkZ2V0RGVzdHJveT8uKCksdGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCk6dGhpcy5fc3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9zdGF0dXNlc1dyYXBwZXIsc3RhdHVzZXM6dGhpcy5fc3RhdHVzZXNXaWRnZXRTdGF0ZT8udmlzaWJsZU1vZGVscygpPz9uZXcgci5XYXRjaGVkVmFsdWUoW10pLnJlYWRvbmx5KCksdG9vbHRpcDp0aGlzLl9zdGF0dXNlc1dpZGdldFN0YXRlPy50b29sdGlwKCk/P25ldyByLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKSx0aGVtZTpiZSxzaG93VG9vbHRpcE92ZXJyaWRlQ2FsbGJhY2s6dGhpcy5fc2hvd1Rvb2x0aXBPdmVycmlkZUNhbGxiYWNrKCl9KSl9X2lzVGl0bGVXaXRoU3ltYm9sTG9nbyhlKXtyZXR1cm4gOD09PWUuaWR8fDA9PT1lLmlkfX1jb25zdCBmZT1fLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjtjbGFzcyBTZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9bnVsbCx0aGlzLl9jYW5VcGRhdGVSb3dWaXNpYmlsaXR5PSEwLHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHk9dGhpcy5fbW9kZWwuZ2xvYmFsVmlzaWJpbGl0eSgpLnNwYXduKCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU2hvd0xpbmUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5faGFzNUJ1dHRvbnM9dGhpcy5fbW9kZWwuaXNBYmxlU2hvd1NvdXJjZUNvZGUoKS5zcGF3bigpLHRoaXMuX2hhczVCdXR0b25zLnN1YnNjcmliZSh0aGlzLl91cGRhdGU1QnV0dG9uc1N0eWxlcy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl91cGRhdGVTdGF0ZXMoIXRoaXMuX2Rpc2FibGVkLnZhbHVlKCkpLGkuc3RhdHVzZXNXaWRnZXRTdGF0ZSYmdGhpcy5fYWRkU3RhdHVzZXNXaWRnZXQoaS5zdGF0dXNlc1dpZGdldFN0YXRlKSx0aGlzLl9zZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGl0bGVNYXhXaWR0aC5iaW5kKHRoaXMpKSxpLndpdGhBY3Rpb25zJiYodGhpcy5fd2hlZWxDbGlja0hhbmRsZXI9dGhpcy5fb25XaGVlbENsaWNrZWQuYmluZCh0aGlzKSxudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlcikpfWRlc3Ryb3koKXt0aGlzLl9oYXM1QnV0dG9ucy5kZXN0cm95KCksdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eSYmdGhpcy5fZ2xvYmFsUm93VmlzaWJpbGl0eS5kZXN0cm95KCksbnVsbCE9PXRoaXMuX3doZWVsQ2xpY2tIYW5kbGVyJiZudWxsIT09dGhpcy5fdGl0bGVzV3JhcHBlckVsJiZ0aGlzLl90aXRsZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihmZSx0aGlzLl93aGVlbENsaWNrSGFuZGxlciksc3VwZXIuZGVzdHJveSgpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIHRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKT9zdXBlci5hY2Nlc3NpYmxlQnV0dG9ucygpOltdfV91cGRhdGVBY3Rpb25zVmlzaWJpbGl0aWVzQnlNb2RlKCl7aWYoIXRoaXMuX3dpdGhBY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX21vZGVsLmFjdGlvbnMoKSx0PVtdO2xldCBpPVtdO2lmKDI9PT10aGlzLl9yb3dNb2RlfHwxPT09dGhpcy5fcm93TW9kZSllWzBdLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzWzBdKSxlW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJnQucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLGk9dGhpcy5fYWN0aW9uRWxlbWVudHMuc2xpY2UoMSx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMSk7ZWxzZSBmb3IobGV0IGk9MDtpPHRoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xO2krKyllW2ldLnZpc2libGUudmFsdWUoKSYmdC5wdXNoKHRoaXMuX2FjdGlvbkVsZW1lbnRzW2ldKTtpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLCEwKSkpLHQuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITEpKSl9X3VwZGF0ZVRpdGxlc1Zpc2liaWxpdGllc0J5TW9kZSgpe3RoaXMuX3RpdGxlc1N0YXRlc1NwYXduLnZhbHVlKCkuZm9yRWFjaCgoKGUsdCk9PntpZig5IT09ZS5pZClyZXR1cm4KO2NvbnN0IGk9dGhpcy5faXNUaXRsZUhpZGRlbkJ5TW9kZShlKTt0aGlzLl90aXRsZUNvbnRhaW5lcnNbdF0/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixpKSx0aGlzLl90aXRsZUVsZW1lbnRzW3RdPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4saSl9KSl9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7cmV0dXJuIDk9PT1lLmlkPzMhPT10aGlzLl90aXRsZXNNb2RlOnN1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpfV91cGRhdGVTaG93TGluZSgpe2lmKG51bGw9PT10aGlzLl9lbHx8IXRoaXMuX2NhblVwZGF0ZVJvd1Zpc2liaWxpdHkpcmV0dXJuO2NvbnN0IGU9IXRoaXMuX2dsb2JhbFJvd1Zpc2liaWxpdHkudmFsdWUoKTtlP3RoaXMuX2VsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixlKTpzdXBlci5fdXBkYXRlU2hvd0xpbmUoKX1fZ2V0QnV0dG9uc0NvdW50KCl7cmV0dXJuIHRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zdHVkeSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zb3VyY2UtaXRlbSIsZS5kYXRhc2V0LmVudGl0eUlkPXRoaXMuX21vZGVsLmdldFNvdXJjZSgpLmlkKCksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X2dldEF0dHJpYnV0ZXNGb3JUaXRsZVN0YXRlKGUpe3JldHVybiA3PT09ZS5pZHx8OD09PWUuaWR8fDk9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX06MTA9PT1lLmlkP3tkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmlucHV0VGl0bGV9Om51bGx9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxzLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIscy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKTtjb25zdCBvPWkudGl0bGUudmFsdWUoKTt2b2lkIDAhPT1vJiYocy5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHMudGl0bGU9byksdC5hcHBlbmRDaGlsZChzKSx0aGlzLl92YWx1ZXNFbGVtZW50cy5wdXNoKHt2YWx1ZTpzfSksZS5hcHBlbmRDaGlsZCh0KX19X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnZhbHVlKTtpLmNsYXNzTGlzdC50b2dnbGUoImFwcGx5LWNvbW1vbi10b29sdGlwIiwwIT09dC5sZW5ndGgpLGkudGl0bGU9dH1fdXBkYXRlNUJ1dHRvbnNTdHlsZXMoZSl7bnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oYXM1QnV0dG9ucyxlKSx0aGlzLl91cGRhdGVBbGxCdXR0b25zV2lkdGgoKSl9X29uV2hlZWxDbGlja2VkKGUpezE9PT1lLmJ1dHRvbiYmdGhpcy5fbW9kZWwub25SZW1vdmVTb3VyY2UoKX19dmFyIHllPWkoMTc5NzcxKTtjbGFzcyB3ZSBleHRlbmRzIHZle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSksdGhpcy5fY2xpZW50SGVpZ2h0PW51bGwsdGhpcy5fdXBkYXRlTGlua2VkU3RhdGU9KCk9PnsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmxpbmtlZCxCb29sZWFuKHRoaXMuX2xpbmtlZD8udmFsdWUoKSkpLHRoaXMuX3VwZGF0ZVRpdGxlTWF4V2lkdGgoKX0sdGhpcy5fZmxhZ2dlZD10aGlzLl9tb2RlbC5mbGFnZ2VkKCkuc3Bhd24oKSx0aGlzLl9mbGFnZ2VkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUuYmluZCh0aGlzKSksdGhpcy5fbGlua2VkPXRoaXMuX21vZGVsLmxpbmtlZCgpLnNwYXduKCksdGhpcy5fdXBkYXRlTGlua2VkU3RhdGUmJnRoaXMuX2xpbmtlZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2VkU3RhdGUuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdXBkYXRlU3RhdGVzKCksaS5zdGF0dXNlc1dpZGdldFN0YXRlJiZ0aGlzLl9hZGRTdGF0dXNlc1dpZGdldChpLnN0YXR1c2VzV2lkZ2V0U3RhdGUpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoLmJpbmQodGhpcykpfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCksdGhpcy5fZmxhZ2dlZD8uZGVzdHJveSgpLHRoaXMuX2xpbmtlZD8uZGVzdHJveSgpfWdldEhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fZWw/bnVsbDoobnVsbD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD10aGlzLl9lbC5jbGllbnRIZWlnaHQsMD09PXRoaXMuX2NsaWVudEhlaWdodCYmKHRoaXMuX2NsaWVudEhlaWdodD1udWxsKSksdGhpcy5fY2xpZW50SGVpZ2h0KX1fdXBkYXRlQWN0aW9uc1Zpc2liaWxpdGllc0J5TW9kZSgpe2lmKCF0aGlzLl93aXRoQWN0aW9ucylyZXR1cm47Y29uc3QgZT1bXTtsZXQgdD1bXTtjb25zdCBpPXRoaXMuX21vZGVsLmFjdGlvbnMoKTtpZigxPT09dGhpcy5fcm93TW9kZSlpW3RoaXMuX2FjdGlvbkVsZW1lbnRzLmxlbmd0aC0xXS52aXNpYmxlLnZhbHVlKCkmJmUucHVzaCh0aGlzLl9hY3Rpb25FbGVtZW50c1t0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGgtMV0pLAp0PXRoaXMuX2FjdGlvbkVsZW1lbnRzLnNsaWNlKDAsdGhpcy5fYWN0aW9uRWxlbWVudHMubGVuZ3RoLTEpO2Vsc2UgZm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25FbGVtZW50cy5sZW5ndGg7dCsrKWlbdF0udmlzaWJsZS52YWx1ZSgpJiZlLnB1c2godGhpcy5fYWN0aW9uRWxlbWVudHNbdF0pO3QuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sITApKSksZS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbiwhMSkpKX1fdXBkYXRlVGl0bGVzVmlzaWJpbGl0aWVzQnlNb2RlKCl7dGhpcy5faGlkZVRpdGxlQW5kSXRzQ29udGFpbmVySWZSZXF1aXJlZCgzKSx0aGlzLl9oaWRlVGl0bGVBbmRJdHNDb250YWluZXJJZlJlcXVpcmVkKDQpLHRoaXMuX2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoMil9X2lzVGl0bGVIaWRkZW5CeU1vZGUoZSl7Y29uc3QgdD1lLmlkO3JldHVybiAyIT09dCYmMyE9PXQmJjQhPT10P3N1cGVyLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGUpOjI9PT10JiZ0aGlzLl9pc011bHRpcGxlTGF5b3V0LnZhbHVlKCk/MT09PXRoaXMuX3RpdGxlc01vZGU6MyE9PXRoaXMuX3RpdGxlc01vZGV9X2hpZGVUaXRsZUFuZEl0c0NvbnRhaW5lcklmUmVxdWlyZWQoZSl7Y29uc3QgdD10aGlzLl9nZXRUaXRsZUluZGV4QnlEYXRhTmFtZShlKTtpZigtMT09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fdGl0bGVzU3RhdGVzU3Bhd24udmFsdWUoKVt0XSxzPXRoaXMuX3RpdGxlQ29udGFpbmVyc1t0XSxvPXRoaXMuX3RpdGxlRWxlbWVudHNbdF0sbj10aGlzLl9pc1RpdGxlSGlkZGVuQnlNb2RlKGkpO3M/LmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbixuKSxvPy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sbil9X2dldEJ1dHRvbnNDb3VudCgpe3JldHVybiAxPT09dGhpcy5fcm93TW9kZT8xOnRoaXMuX2FjdGlvbkVsZW1lbnRzLmZpbHRlcigoZT0+IWUuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pKSkubGVuZ3RofV9yZW5kZXIoKXtzdXBlci5fcmVuZGVyKCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKTtlLmNsYXNzTGlzdC5hZGQoY2UuaXRlbSxjZS5zZXJpZXMpLGUuY2xhc3NMaXN0LnRvZ2dsZShjZS5vbmx5T25lQnV0dG9uQ2FuQmVTdGljayx0aGlzLl9tb2RlbC5pc09uZUJ1dHRvbkNhbkJlU3RpY2soKSksZS5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC1zZXJpZXMtaXRlbSIsZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sYmFyIil9X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVGbGFnZ2VkU3RhdGUoKSx0aGlzLl91cGRhdGVMaW5rZWRTdGF0ZT8uKCl9X3JlbmRlclZhbHVlcygpe2NvbnN0IGU9dGhpcy5faW5pdFdyYXBwZXJzSWZOb3RJbml0aWFsaXplZCgpLHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmRhdGFzZXQudGVzdElkVmFsdWVUaXRsZT1pLnRpdGxlLnZhbHVlKCksdC5jbGFzc0xpc3QuYWRkKGNlLnZhbHVlSXRlbSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sIWkudmlzaWJsZS52YWx1ZSgpKSx0LmNsYXNzTGlzdC50b2dnbGUoY2UudW5pbXBvcnRhbnQsaS51bmltcG9ydGFudC52YWx1ZSgpKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG89aS50aXRsZS52YWx1ZSgpfHwiIixuPXRoaXMuX2N1c3RvbVRleHRDb2xvci52YWx1ZSgpfHwiIjtzLmNsYXNzTGlzdC5hZGQoY2UudmFsdWVUaXRsZSkscy5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PW8ubGVuZ3RoKSxzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG8pKSxzLnN0eWxlLmNvbG9yPW4sdC5hcHBlbmRDaGlsZChzKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NMaXN0LmFkZChjZS52YWx1ZVZhbHVlKSxhLnN0eWxlLmNvbG9yPWkuY29sb3IudmFsdWUoKXx8IiIsYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShpLnZhbHVlLnZhbHVlKCkpKSx0LmFwcGVuZENoaWxkKGEpLHRoaXMuX3ZhbHVlc0VsZW1lbnRzLnB1c2goe3RpdGxlOnMsdmFsdWU6YX0pLGUuYXBwZW5kQ2hpbGQodCl9fV9nZXRBdHRyaWJ1dGVzRm9yVGl0bGVTdGF0ZShlKXtzd2l0Y2goZS5pZCl7Y2FzZSAwOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS10aXRsZSIsY2xhc3NOYW1lOmNlLm1haW5UaXRsZX07Y2FzZSAxOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1kZXNjcmlwdGlvbiIsY2xhc3NOYW1lOmNlLmRlc2NUaXRsZX07Y2FzZSAyOnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1pbnRlcnZhbCIsY2xhc3NOYW1lOmNlLmludGVydmFsVGl0bGV9O2Nhc2UgMzpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJvdmlkZXIiLGNsYXNzTmFtZTpjZS5wcm92aWRlclRpdGxlfTtjYXNlIDQ6cmV0dXJue2RhdGFRYUlkOiJsZWdlbmQtc291cmNlLWV4Y2hhbmdlIixjbGFzc05hbWU6Y2UuZXhjaGFuZ2VUaXRsZX07Y2FzZSA1OnJldHVybntkYXRhUWFJZDoibGVnZW5kLXNvdXJjZS1zdHlsZSIsY2xhc3NOYW1lOmNlLnN0eWxlVGl0bGV9O2Nhc2UgNjpyZXR1cm57ZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtcHJpY2Utc291cmNlIixjbGFzc05hbWU6Y2UucHJpY2VTb3VyY2VUaXRsZX19cmV0dXJuIG51bGx9X3VwZGF0ZVZhbHVlc1RpdGxlSFRNTEVsSGFuZGxlcihlLHQ9IiIpe2NvbnN0IGk9KDAsbi5lbnN1cmUpKHRoaXMuX3ZhbHVlc0VsZW1lbnRzW2VdLnRpdGxlKTtnKGksdCksaS5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sMD09PXQubGVuZ3RoKSx0aGlzLl91cGRhdGVTaG93VmFsdWVzKCl9X2lzV2lkdGhCdXR0b25zTW9kZSgpewpyZXR1cm4gbnVsbCE9PXRoaXMuX2VsJiYodm9pZCAwIT09dGhpcy5fZmxhZ2dlZCYmQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpfHx0aGlzLl9saW5rZWQ/LnZhbHVlKCl8fHN1cGVyLl9pc1dpZHRoQnV0dG9uc01vZGUoKSl9X3Nob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjaygpe2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfc2hvd19zZXJpZXNfc3RhdHVzZXNfdG9vbHRpcCIpKXJldHVybiBlPT57eWUuZW1pdCgidG9nZ2xlX3Nlcmllc19zdGF0dXNfdG9vbHRpcF9pbm5lciIsZSx0aGlzLl9tb2RlbC5jaGFydE1vZGVsSWQoKSl9fV91cGRhdGVGbGFnZ2VkU3RhdGUoKXtpZih2b2lkIDA9PT10aGlzLl9mbGFnZ2VkKXJldHVybjsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VsKS5jbGFzc0xpc3QudG9nZ2xlKGNlLmZsYWdnZWQsQm9vbGVhbih0aGlzLl9mbGFnZ2VkLnZhbHVlKCkpKSx0aGlzLl91cGRhdGVUaXRsZU1heFdpZHRoKCl9X2dldFRpdGxlSW5kZXhCeURhdGFOYW1lKGUpe3JldHVybiB0aGlzLl90aXRsZXNTdGF0ZXNTcGF3bi52YWx1ZSgpLmZpbmRJbmRleCgodD0+dC5pZD09PWUpKX19dmFyIENlLEVlPWkoNDcxNTE4KSx4ZT1pKDgyNDI0MiksTGU9aSg5NTI1NCksTWU9aSg0Njc1NDgpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdD0wXT0iRGVmYXVsdCIsZVtlLk1pY3JvPTFdPSJNaWNybyJ9KENlfHwoQ2U9e30pKTtjb25zdCBUZT0oMCxFLm1lcmdlVGhlbWVzKSh3LkRFRkFVTFRfU1RBVFVTX1JFTkRFUkVSX1RIRU1FLHtzdGF0dXNlc1dyYXA6Y2Uuc3RhdHVzZXNXcmFwcGVyX19zdGF0dXNlc30pO2NsYXNzIFZle2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl93cmFwcGVyVG9nZ2VyPW51bGwsdGhpcy5fZWw9bnVsbCx0aGlzLl9jb3VudGVyRWw9bnVsbCx0aGlzLl9hcnJvd0ljb25FTD1udWxsLHRoaXMuX29iamVjdFRyZWVFbD1udWxsLHRoaXMuX2xvYWRlcj1lZShudWxsLHtjbGFzc05hbWU6Y2UudG9nZ2xlcldyYXBwZXJfX2xvYWRlcn0pLHRoaXMuX21vZGU9MCx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucz1bXSx0aGlzLl9wYXJlbnRFbD1lLHRoaXMuX3RoZW1lZENvbG9yPXQuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IuYmluZCh0aGlzKSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9aS5zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5zcGF3bigpLHRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3NvdXJjZUNvdW50PWkudmlzaWJsZURhdGFTb3VyY2VDb3VudC5zcGF3bigpLHRoaXMuX3NvdXJjZUNvdW50LnN1YnNjcmliZSgoKCk9Pnt0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKX0pKSx0aGlzLl9pc1N0YXRlT3Blbj1pLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1N0YXRlT3Blbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXBkYXRlU3RhdGUoKSx0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9KSksdGhpcy5faXNNYWluUGFuZT1pLmlzTWFpblBhbmUuc3Bhd24oKSx0aGlzLl9pc01haW5QYW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVPYmplY3RUcmVlVmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQ9aS5pc1BhbmVDb2xsYXBzZWQuc3Bhd24oKSx0aGlzLl9pc1BhbmVDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU9aS5jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUsdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2liaWxpdHkoKS5zcGF3bigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnN1YnNjcmliZSh0aGlzLl91cGRhdGVWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVN0YXRlKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yKHRoaXMuX3RoZW1lZENvbG9yLnZhbHVlKCkpLHRoaXMuX3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlPSgwLGQuY29tYmluZSkoKChlLHQpPT4hZSYmdFswXSksdGhpcy5faXNTdGF0ZU9wZW4ud2Vha1JlZmVyZW5jZSgpLGkuaGFzTG9hZGluZ0RhdGFTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faXNMb2FkZXJWaXNpYmxlLnN1YnNjcmliZSh0aGlzLl9sb2FkZXIudG9nZ2xlVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyPWU9PntudWxsIT09dGhpcy5fZWwmJihlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudHx8dGhpcy5fZWw/LmJsdXIoKSwxIT09dGhpcy5fbW9kZT9pLm9uQ29sbGFwc2VEYXRhU291cmNlcygpOmkub25TaG93T2JqZWN0c1RyZWVEaWFsb2coKSl9LG51bGwhPT10aGlzLl9lbCYmKHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl90b2dnbGVTdGF0ZUhhbmRsZXIpLHRoaXMuX2VsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpKSx0aGlzLl91cGRhdGVTb3VyY2VDb3VudCgpfWRlc3Ryb3koKXt0aGlzLl9pc0xvYWRlclZpc2libGUuZGVzdHJveSgpLHRoaXMuX2xvYWRlci5kZXN0cm95KCksdGhpcy5faXNQYW5lQ29sbGFwc2VkLmRlc3Ryb3koKSwKdGhpcy5fc291cmNlQ291bnQuZGVzdHJveSgpLHRoaXMuX2lzU3RhdGVPcGVuLmRlc3Ryb3koKSx0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci5kZXN0cm95KCksdGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSxudWxsIT09dGhpcy5fb2JqZWN0VHJlZUVsJiYodGhpcy5fb2JqZWN0VHJlZUVsPW51bGwpLHRoaXMuX2Fycm93SWNvbkVMPW51bGwsdGhpcy5fY291bnRlckVsPW51bGwsbnVsbCE9PXRoaXMuX2VsJiYodGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX3RvZ2dsZVN0YXRlSGFuZGxlciksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2VsPW51bGwpfWFjY2Vzc2libGVCdXR0b25zKCl7cmV0dXJuIG51bGw9PT10aGlzLl9lbHx8dGhpcy5fZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGNlLm9ubHlPbmVTb3VyY2VTaG93bikmJjEhPT10aGlzLl9tb2RlP1tdOnRoaXMuX2FjY2Vzc2libGVCdXR0b25zfXNldE1vZGUoZSl7dGhpcy5fbW9kZT1lPzE6MCx0aGlzLl91cGRhdGVUb29sdGlwKCl9X3JlbmRlcigpe3RoaXMuX3dyYXBwZXJUb2dnZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fd3JhcHBlclRvZ2dlci5jbGFzc0xpc3QuYWRkKGNlLnRvZ2dsZXJXcmFwcGVyKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmRhdGFzZXQucWFJZD0ibGVnZW5kLXRvZ2dsZXItd3JhcHBlciIsdGhpcy5fZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksdGhpcy5fZWwuY2xhc3NOYW1lPWAke2NlLnRvZ2dsZXJ9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9lbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZC10b2dnbGVyIjtjb25zdCBlPXRoaXMuX2VsO2UudHlwZT0iYnV0dG9uIixlLmNsYXNzTGlzdC5hZGQoY2UuYWNjZXNzaWJsZSksZS50YWJJbmRleD0tMTtjb25zdCB0PXQ9PntpZihudWxsIT09ZSlzd2l0Y2godC50eXBlKXtjYXNlInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiOmUudGFiSW5kZXg9MDticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6ZS50YWJJbmRleD0tMX19O2UuYWRkRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsdCksZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9Pntjb25zdCB0PSgwLGguaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlU3RhdGVIYW5kbGVyKGUpKX0pKSx0aGlzLl9hY2Nlc3NpYmxlQnV0dG9ucy5wdXNoKGUpLHRoaXMuX2Fycm93SWNvbkVMPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2Fycm93SWNvbkVMLmNsYXNzTGlzdC5hZGQoY2UuaWNvbkFycm93KSx0aGlzLl9hcnJvd0ljb25FTC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT94ZTpFZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9hcnJvd0ljb25FTCksdGhpcy5fb2JqZWN0VHJlZUVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX29iamVjdFRyZWVFbC5jbGFzc0xpc3QuYWRkKGNlLm9iamVjdFRyZWUpLHRoaXMuX29iamVjdFRyZWVFbC5pbm5lckhUTUw9di50cmFja2luZ01vZGVJc0F2YWlsYWJsZT9NZTpMZSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9vYmplY3RUcmVlRWwpLHRoaXMuX2NvdW50ZXJFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb3VudGVyRWwuY2xhc3NMaXN0LmFkZChjZS5jb3VudGVyKSx0aGlzLl9jb3VudGVyRWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCkpKSksdGhpcy5fZWwuYXBwZW5kQ2hpbGQodGhpcy5fY291bnRlckVsKSx0aGlzLl93cmFwcGVyVG9nZ2VyLmFwcGVuZENoaWxkKHRoaXMuX2VsKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLmRhdGFzZXQucWFJZD0ibGVnZW5kLXN0YXR1c2VzLXdyYXBwZXIiLHRoaXMuX3dyYXBwZXJUb2dnZXIuYXBwZW5kQ2hpbGQodGhpcy5fY29tYmluZWRTdGF0dXNXaWRnZXRFbCksIXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCkmJnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k9Qyh7Y29udGFpbmVyOnRoaXMuX2NvbWJpbmVkU3RhdHVzV2lkZ2V0RWwsc3RhdHVzZXM6dGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlLnZpc2libGVNb2RlbHMoKSx0b29sdGlwOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS50b29sdGlwKCksdGhlbWU6VGV9KToodGhpcy5fY29tYmluZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PXZvaWQgMCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fd3JhcHBlclRvZ2dlciksdGhpcy5fbG9hZGVyLm1vdW50VG8odGhpcy5fd3JhcHBlclRvZ2dlcil9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKG51bGwhPT10aGlzLl9lbClpZihlLmxlbmd0aD4wKXtjb25zdFt0LGksc109KDAsYy5wYXJzZVJnYikoZSk7dGhpcy5fZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yPSgwLGMucmdiYVRvU3RyaW5nKShbdCxpLHMsKDAsYy5ub3JtYWxpemVBbHBoYUNvbXBvbmVudCkoLjgpXSl9ZWxzZSB0aGlzLl9lbC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiYmFja2dyb3VuZC1jb2xvciIpfV91cGRhdGVTb3VyY2VDb3VudCgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLApuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvdW50ZXJFbCk7Zyh0LFN0cmluZyhlKSksdC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sZTw9MSksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5zYXZlQXJyb3dXaWR0aCxlPD0xKX1fdXBkYXRlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fc291cmNlQ291bnQudmFsdWUoKSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLGk9MT09PWUmJiF0aGlzLl9zaG93Q29sbGFwc2VyV2l0aE9uZUluZGljYXRvci52YWx1ZSgpJiYodGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKXx8IXRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCkpLHM9ZTwxfHx0aGlzLl9pc1BhbmVDb2xsYXBzZWQudmFsdWUoKSYmKHRoaXMuX2lzTWFpblBhbmUudmFsdWUoKXx8dGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKSk7dC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sISFzKSx0LmNsYXNzTGlzdC50b2dnbGUoY2Uub25seU9uZVNvdXJjZVNob3duLGkpLHQuZGF0YXNldC5xYUlkPWBsZWdlbmQtdG9nZ2xlciR7cz8iIGhpZGRlbiI6IiJ9JHtpPyIgb25seS1vbmUtc291cmNlLXNob3duIjoiIn1gLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fd3JhcHBlclRvZ2dlcikuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLGkpLCF0aGlzLl9pc1N0YXRlT3Blbi52YWx1ZSgpJiZ0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0VmlzaWJpbGl0eS52YWx1ZSgpP3RoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb21iaW5lZFN0YXR1c1dpZGdldEVsLHN0YXR1c2VzOnRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGUudG9vbHRpcCgpLHRoZW1lOlRlfSk6KHRoaXMuX2NvbWJpbmVkU3RhdHVzZXNXaWRnZXREZXN0cm95Py4oKSx0aGlzLl9jb21iaW5lZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApfV91cGRhdGVTdGF0ZSgpe2NvbnN0IGU9IXRoaXMuX2lzU3RhdGVPcGVuLnZhbHVlKCk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5jbG9zZWQsZSksdGhpcy5fdXBkYXRlVG9vbHRpcCgpLE8oKGU/IkhpZGUiOiJTaG93IikrIiBub3QgbWFpbiBzb3VyY2VzIil9X3Rvb2x0aXAoKXtpZigxPT09dGhpcy5fbW9kZSlyZXR1cm4gUC50KG51bGwse2NvbnRleHQ6IkxlZ2VuZCB0b2dnbGVyIGJ1dHRvbiB0b29sdGlwIn0saSgzMDUwNTUpKTtjb25zdCBlPXRoaXMuX3NvdXJjZUNvdW50LnZhbHVlKCksdD1QLnQobnVsbCx7cGx1cmFsOiJIaWRlIGluZGljYXRvcnMgbGVnZW5kIixjb3VudDplfSxpKDMzMjgyOCkpLHM9UC50KG51bGwse3BsdXJhbDoiU2hvdyBpbmRpY2F0b3JzIGxlZ2VuZCIsY291bnQ6ZX0saSg2OTI3MTIpKTtyZXR1cm4gdGhpcy5faXNTdGF0ZU9wZW4udmFsdWUoKT90OnN9X3VwZGF0ZVRvb2x0aXAoKXtpZihudWxsIT09dGhpcy5fZWwpe2NvbnN0IGU9dGhpcy5fdG9vbHRpcCgpO3RoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLGUpLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZSksdGhpcy5fZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIpKX19X3VwZGF0ZU9iamVjdFRyZWVWaXNpYmlsaXR5KGUpeygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZWwpLmNsYXNzTGlzdC50b2dnbGUoY2Uub2JqZWN0c1RyZWVDYW5CZVNob3duLGUpfX12YXIga2U7IWZ1bmN0aW9uKGUpe2VbZS5NZWRpdW09MjIyXT0iTWVkaXVtIixlW2UuU21hbGw9MjA1XT0iU21hbGwiLGVbZS5UaW55PTEzM109IlRpbnkiLGVbZS5IaWRlVW5pbXBvcnRhbnRWYWx1ZXM9MjcyXT0iSGlkZVVuaW1wb3J0YW50VmFsdWVzIixlW2UuU2VyaWVzRGlyZWN0aW9uQ29sdW1uPTU0Ml09IlNlcmllc0RpcmVjdGlvbkNvbHVtbiIsZVtlLkhpZGVFeGNoYW5nZUludGV2YWxQcm92aWRlcj00NDJdPSJIaWRlRXhjaGFuZ2VJbnRldmFsUHJvdmlkZXIiLGVbZS5IaWRlSW50ZXJ2YWxNdWx0aUNoYXJ0PTE5Ml09IkhpZGVJbnRlcnZhbE11bHRpQ2hhcnQifShrZXx8KGtlPXt9KSk7Y29uc3QgQWU9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiKSxXZT1bMjcsOSwzNywzOSwzOCw0MF0sSWU9KDAsRS5tZXJnZVRoZW1lcykody5ERUZBVUxUX1NUQVRVU19SRU5ERVJFUl9USEVNRSx7c3RhdHVzZXNXcmFwOmNlLnN0YXR1c2VzV3JhcHBlcl9fc3RhdHVzZXN9KTtjbGFzcyBCZXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21vZGU9NCx0aGlzLl9yZW5kZXJUb2dnbGVyPW51bGwsdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnM9W10sdGhpcy5fcGFyZW50RWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9kYXRhU291cmNlc0FkZGl0aW9uYWxXcmFwcGVyRWw9bnVsbCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbD1udWxsLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9bnVsbCx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwPW51bGwsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQ9dGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uLmJpbmQodGhpcyksdGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQ9dGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkLmJpbmQodGhpcyksdGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9bnVsbCx0aGlzLl9sb2FkZXI9ZWUobnVsbCx7Y2xhc3NOYW1lOmNlLmNvbGxhcHNlZFNvdXJjZXNDb3VudGVyfSksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9ucz1lPT57CnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQmJihjbGVhclRpbWVvdXQodGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRCksdGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc1RpbWVvdXRJRD1udWxsKSxlP3RoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpOnRoaXMuX3RvZ2dsZUhpZGRlbkFjdGlvbnNUaW1lb3V0SUQ9c2V0VGltZW91dCgoKCk9PnRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLGUpKSwxMDApfSx0aGlzLl9vcHRpb25zPWUsdGhpcy5fdG9nZ2xlck9wdGlvbnM9dCx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW49ZS5pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Bhd24oKSx0aGlzLl9pc1N0dWRpZXNMZWdlbmRIaWRkZW4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW49ZS5pc0FsbExlZ2VuZEhpZGRlbi5zcGF3bigpLHRoaXMuX2lzQWxsTGVnZW5kSGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lPWUuaGlkZUFsbEV4Y2VwdEZpcnN0TGluZS5zcGF3bigpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lLmJpbmQodGhpcykpLHRoaXMuX3RoZW1lZENvbG9yPWUudGhlbWVkQ29sb3Iuc3Bhd24oKSx0aGlzLl90aGVtZWRDb2xvci5zdWJzY3JpYmUodGhpcy5fc2V0Q3VzdG9tQmcuYmluZCh0aGlzKSksdGhpcy5fc2hvd0JhY2tncm91bmQ9ZS5zaG93QmFja2dyb3VuZC5zcGF3bigpLHRoaXMuX3Nob3dCYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLl9zZXRDdXN0b21CZy5iaW5kKHRoaXMpKSx0aGlzLl9iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5PWUuYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kuc3Vic2NyaWJlKHRoaXMuX3NldEN1c3RvbUJnLmJpbmQodGhpcykpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bj1lLmNvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50U3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudC5iaW5kKHRoaXMpKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZT1lLmNvbWJpbmVkU3RhdHVzZXNXaWRnZXRTdGF0ZSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHk9dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmlsaXR5KCkuc3Bhd24oKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc0NvdW50KHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpKSkpLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyPXRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAuYmluZCh0aGlzKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKGNlLmxlZ2VuZCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5ub1dyYXAsIXYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2Uubm9BY3Rpb25zLCF0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLnRvdWNoTW9kZSx2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLndyYXBwYWJsZSwhdGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZS52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5kYXRhc2V0LnFhSWQ9ImxlZ2VuZCIsdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyIsInRydWUiKSx0aGlzLl9wYXJlbnRFbC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoIixgJHtMfXB4YCk7Y29uc3QgaT10PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUuc2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KHQpfTt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgeC5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl9wYXJlbnRFbCx7Y29udGV4dE1lbnVFdmVudDppLHRvdWNoQ29udGV4dE1lbnVFdmVudDppfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdGhpcy5fb25LZXlib2FyZE5hdmlnYXRpb25BY3RpdmF0aW9uQm91bmQpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0aGlzKSksdGhpcy5fb3B0aW9ucy5vbkxheW91dENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MYXlvdXRDaGFuZ2VkKSx0aGlzLl9pc0xvYWRlclZpc2libGU9KDAsZC5jb21iaW5lKSgoZT0+ZVsxXSksZS5oYXNMb2FkaW5nRGF0YVNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9pc0xvYWRlclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX2xvYWRlci50b2dnbGVWaXNpYmlsaXR5LHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2FkZXJWaXNpYmxlLmRlc3Ryb3koKSx0aGlzLl9sb2FkZXIuZGVzdHJveSgpLHRoaXMuX2ZvY3VzRXZlbnRBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2xldCB0PS0xCjtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZlIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe251bGwhPT10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSkmJih0PSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KS5pbmRleE9mKGUpKX1pZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi5kZXN0cm95KCksdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUuZGVzdHJveSgpLHRoaXMuX3RoZW1lZENvbG9yLmRlc3Ryb3koKSx0aGlzLl9zaG93QmFja2dyb3VuZC5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRyYW5zcGFyZW5jeS5kZXN0cm95KCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudFNwYXduLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFZpc2liaWxpdHkuZGVzdHJveSgpLHYudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUmJm51bGwhPT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKSx0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwJiZ0aGlzLl9vdXRzaWRlRXZlbnRGb3JDb2xsYXBzZWRUb29sdGlwKCksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCYmKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPW51bGwpLG51bGwhPT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbC5pbm5lckhUTUw9IiIsdGhpcy5fZGF0YVNvdXJjZXNFbD1udWxsKSx0aGlzLl90b2dnbGVyT3B0aW9ucy5pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnVuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmKHRoaXMuX3JlbmRlclRvZ2dsZXIuZGVzdHJveSgpLHRoaXMuX3JlbmRlclRvZ2dsZXI9bnVsbCksbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmRlc3Ryb3koKSx0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPW51bGwpLDAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzPVtdfWlmKHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsZGVsZXRlIHRoaXMuX3BhcmVudEVsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHRoaXMuX29uS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGlvbkJvdW5kKSwtMSE9PXQpe2xldCBlO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKTtjb25zdCBpPSgwLGIucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShkb2N1bWVudC5ib2R5KTtlPXQ9PT1pLmxlbmd0aD9pWzBdOmlbdF0sZSYmZS5mb2N1cygpfX1hZGRDdXN0b21XaWRnZXQoZSx0KXtpZigwPT09dC5ibG9jayl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpO2NvbnN0IGk9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9aWYoMT09PXQuYmxvY2spe3RoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKTtjb25zdCBpPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKTsxPT09dC5wb3NpdGlvbiYmZS5yZW5kZXJUbyhpLGkuZmlyc3RDaGlsZCksMD09PXQucG9zaXRpb24mJmUucmVuZGVyVG8oaSl9fWZpcnN0VGl0bGUoKXtyZXR1cm4gdGhpcy5fcGFyZW50RWwuZmlyc3RFbGVtZW50Q2hpbGR9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9wYXJlbnRFbH11cGRhdGVNb2RlKGUpe2NvbnN0IHQ9QWUmJmU8MTMzPzE6ZTwyMDU/MjplPDIyMj8zOjQsaT1lPDE5Mj8xOmU8NDQyPzI6Mzt0aGlzLl9tb2RlPXQsbnVsbCE9PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIudXBkYXRlTW9kZSh0LGkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMpZS51cGRhdGVNb2RlKHQsaSk7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5tZWRpdW0sMz09PXQpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUoY2UubWluaW1pemVkLDI9PT10KSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKGNlLm1pY3JvLDE9PT10KSxudWxsIT09dGhpcy5fcmVuZGVyVG9nZ2xlciYmdGhpcy5fcmVuZGVyVG9nZ2xlci5zZXRNb2RlKDE9PT10KTtjb25zdCBzPSF0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCkmJih2LnRyYWNraW5nTW9kZUlzQXZhaWxhYmxlfHxlPDU0Mik7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5kaXJlY3Rpb25Db2x1bW4scyksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS5oaWRlVW5pcG9ydGFudFZhbHVlSXRlbXMsIV8uQ2hlY2tNb2JpbGUuYW55KCkmJmU8PTI3Mil9Z2V0TWFpblNvdXJjZUhlaWdodCgpe3JldHVybiBudWxsPT09dGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj8wOnRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIuZ2V0SGVpZ2h0KCl9Z2V0RGF0YVNvdXJjZUhlaWdodCgpewpyZXR1cm4gMD09PXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMubGVuZ3RoPzA6dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1swXS5nZXRIZWlnaHQoKX1fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpe251bGw9PT10aGlzLl9tYWluRGF0YVNvdXJjZUVsJiYodGhpcy5fbWFpbkRhdGFTb3VyY2VFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tYWluRGF0YVNvdXJjZUVsLmNsYXNzTGlzdC5hZGQoY2UubGVnZW5kTWFpblNvdXJjZVdyYXBwZXIpLHRoaXMuX3BhcmVudEVsLmluc2VydEJlZm9yZSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsLHRoaXMuX2RhdGFTb3VyY2VzRWwpKX1fcmVuZGVyRGF0YVNvdXJjZXNFbCgpe251bGw9PT10aGlzLl9kYXRhU291cmNlc0VsJiYodGhpcy5fZGF0YVNvdXJjZXNFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kYXRhU291cmNlc0VsLmNsYXNzTGlzdC5hZGQoY2Uuc291cmNlc1dyYXBwZXIpLHRoaXMuX2RhdGFTb3VyY2VzRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtc291cmNlcy13cmFwcGVyIix0aGlzLl9yZW5kZXJUb2dnbGUodGhpcy5fZGF0YVNvdXJjZXNFbCksdGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKGNlLnNvdXJjZXMpLHRoaXMuX2RhdGFTb3VyY2VzRWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSx0aGlzLl9yZW5kZXJDb2xsYXBzZWRDb3VudGVyKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksdGhpcy5fcGFyZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVNvdXJjZXNFbCkpfV9yZW5kZXJUb2dnbGUoZSl7dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uJiYodGhpcy5fcmVuZGVyVG9nZ2xlcj1uZXcgVmUoZSx0aGlzLl9vcHRpb25zLnRoZW1lZENvbG9yLHRoaXMuX3RvZ2dsZXJPcHRpb25zKSl9X29uSXNEYXRhU291cmNlc0NvbGxhcHNlZChlKXtpZihlKXtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoMD09PWUuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXtjb25zdCB0PXRoaXMuX2dldFJvd1JlbmRlcmVyQnlDaGlsZChlWzBdKTt0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZVswXSx0KX1yZXR1cm59aWYoMCE9PSh0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5hY2Nlc3NpYmxlQnV0dG9ucygpfHxbXSkuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSkubGVuZ3RoKXJldHVybjtjb25zdCB0PVtdO3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuZm9yRWFjaCgoZT0+dC5wdXNoKC4uLmUuYWNjZXNzaWJsZUJ1dHRvbnMoKSkpKTtjb25zdCBpPXQuZmlsdGVyKChlPT5lLnRhYkluZGV4Pj0wKSk7aWYoMCE9PWkubGVuZ3RoKXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyJiZ0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLmFib3J0KCksaS5mb3JFYWNoKChlPT4oMCxtLmJlY29tZVNlY29uZGFyeUVsZW1lbnQpKGUpKSk7bGV0IGU9bnVsbCx0PW51bGw7aWYodGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcil7Y29uc3QgaT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyLmFjY2Vzc2libGVCdXR0b25zKCk7aS5sZW5ndGg+MCYmKGU9aVswXSx0PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXIpfW51bGw9PT1lJiZ0aGlzLl9yZW5kZXJUb2dnbGVyJiYoZT10aGlzLl9yZW5kZXJUb2dnbGVyLmFjY2Vzc2libGVCdXR0b25zKClbMF0sdD10aGlzLl9yZW5kZXJUb2dnbGVyKSxlJiZ0JiZ0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KX19X3JlbmRlckNvbGxhcHNlZENvdW50ZXIoZSl7dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuZGF0YXNldC5xYUlkPSJsZWdlbmQtY29sbGFwc2VkLXNvdXJjZXMtY291bnRlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuY2xhc3NOYW1lPWAke2NlLml0ZW19ICR7Y2UubGFzdH1gLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwuY2xhc3NOYW1lPWAke2NlLnRleHR9IGFwcGx5LWNvbW1vbi10b29sdGlwYCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbC5hcHBlbmQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2Uuc3RhdHVzZXNXcmFwcGVyKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQuZGF0YXNldC5xYUlkPSJsZWdlbmQtc3RhdHVzZXMtd3JhcHBlciIsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNTdGF0dXNXaWRnZXRFbGVtZW50KSxlLmFwcGVuZCh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCksdi50cmFja2luZ01vZGVJc0F2YWlsYWJsZSYmdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXBIYW5kbGVyKTtjb25zdCB0PXRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnRTcGF3bi52YWx1ZSgpO3RoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudCh0KSx0aGlzLl9sb2FkZXIubW91bnRUbyh0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1dyYXBwZXJFbCl9X3Nob3dDb2xsYXBzZWREYXRhU291cmNlc1Rvb2x0aXAoKXsoMCxmLnNob3dPbkVsZW1lbnQpKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsewp0ZXh0OnRoaXMuX29wdGlvbnMuY29sbGFwc2VkRGF0YVNvdXJjZXNUaXRsZS52YWx1ZSgpfSksdGhpcy5fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKX1fYWRkT3V0c2lkZUV2ZW50Rm9ySGlkZVRvb2x0aXAoKXtudWxsIT09dGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCYmdGhpcy5fb3V0c2lkZUV2ZW50Rm9yQ29sbGFwc2VkVG9vbHRpcCgpLHRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXA9KDAscC5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikobmV3IEN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXAsdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWwsKCgpPT57bnVsbCE9PXRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAmJnRoaXMuX291dHNpZGVFdmVudEZvckNvbGxhcHNlZFRvb2x0aXAoKSwoMCxmLmhpZGUpKCl9KSx3aW5kb3cuZG9jdW1lbnQse3RvdWNoRW5kOiEwfSl9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNDb3VudChlKXtpZihudWxsPT09dGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNXcmFwcGVyRWx8fG51bGw9PT10aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0VsKXJldHVybjtjb25zdCB0PTA9PT1lO3RoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzV3JhcHBlckVsLmNsYXNzTGlzdC50b2dnbGUoWC5ibG9ja0hpZGRlbix0KSwhdCYmdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRWaXNpYmlsaXR5LnZhbHVlKCk/dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXREZXN0cm95PUMoe2NvbnRhaW5lcjp0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1N0YXR1c1dpZGdldEVsZW1lbnQsc3RhdHVzZXM6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS52aXNpYmxlTW9kZWxzKCksdG9vbHRpcDp0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLnRvb2x0aXAoKSx0aGVtZTpJZX0pOih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldERlc3Ryb3k/LigpLHRoaXMuX2NvbGxhcHNlZFN0YXR1c2VzV2lkZ2V0RGVzdHJveT12b2lkIDApLHR8fChnKHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzRWwsYCske2V9YCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNFbC5zZXRBdHRyaWJ1dGUoInRpdGxlIix0aGlzLl9vcHRpb25zLmNvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUudmFsdWUoKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXR5KCl7bGV0IGU7Y29uc3QgdD1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiYodGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKXx8dGhpcy5faXNTdHVkaWVzTGVnZW5kSGlkZGVuLnZhbHVlKCkpO2lmKHQpe2U9dGhpcy5fZ2V0QWxsQWNjZXNzaWJsZUJ1dHRvbnMoKS5maWx0ZXIoKGU9PmUudGFiSW5kZXg+PTApKVswXX1pZih0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKFguYmxvY2tIaWRkZW4sdGhpcy5faXNBbGxMZWdlbmRIaWRkZW4udmFsdWUoKSksbnVsbCE9PXRoaXMuX2RhdGFTb3VyY2VzRWwmJnRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LnRvZ2dsZShYLmJsb2NrSGlkZGVuLHRoaXMuX2lzU3R1ZGllc0xlZ2VuZEhpZGRlbi52YWx1ZSgpKSx0KXtjb25zdCB0PXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCk7aWYoZSYmdC5pbmNsdWRlcyhlKSlyZXR1cm47aWYoZSYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShlKSwwIT09dC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHRbMF0pO2UmJnRoaXMuX21ha2VSb3dFbGVtZW50VGhlTWFpbk9uZSh0WzBdLGUpfX19X3VwZGF0ZUFsbEhpZGRlbkV4ZXB0Rmlyc3RMaW5lKCl7dGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShjZS53cmFwcGFibGUsIXRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUudmFsdWUoKSl9X3NldEN1c3RvbUJnKCl7Y29uc3QgZT10aGlzLl9zaG93QmFja2dyb3VuZC52YWx1ZSgpLHQ9dGhpcy5fdGhlbWVkQ29sb3IudmFsdWUoKSxpPXRoaXMuX2JhY2tncm91bmRUcmFuc3BhcmVuY3kudmFsdWUoKTtsZXQgcz0iIjtpZihlKXtjb25zdFtlLG8sbl09KDAsYy5wYXJzZVJnYikodCk7cz0oMCxjLnJnYmFUb1N0cmluZykoW2UsbyxuLCgwLGMubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEtaS8xMDApXSl9dGhpcy5fcGFyZW50RWwuc3R5bGUuY29sb3I9c31fb25MYXlvdXRDaGFuZ2VkKGUpe2NvbnN0e25ld01haW5Tb3VyY2U6dCxyZW1vdmVkRGF0YVNvdXJjZXM6aSxhZGRlZERhdGFTb3VyY2VzOnMsbW92ZWREYXRhU291cmNlczpvfT1lLG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtsZXQgYT0tMSxsPS0xO2NvbnN0IHI9bnVsbD09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJjA9PT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aDtpZihCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkJiZuIGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpe2NvbnN0IGU9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1lLmZpbmQoKGU9PmUuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhuKSkpO2lmKHZvaWQgMCE9PW8pe2NvbnN0IHI9bz09PXRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXImJm51bGw9PT10LGQ9byBpbnN0YW5jZW9mIFNlJiZpLmluY2x1ZGVzKHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihvKSk7aWYocnx8ZCl7YT1lLmluZGV4T2Yobyk7Y29uc3Qgcj0oMCxiLnF1ZXJ5VGFiYmFibGVFbGVtZW50cykoZG9jdW1lbnQuYm9keSkuaW5kZXhPZihuKTtsPTAhPT1zLmxlbmd0aHx8KHZvaWQgMCE9PXR8fG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyKSYmbnVsbCE9PXR8fGkubGVuZ3RoIT09dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5sZW5ndGgmJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aD9yKzE6cn19fQp2b2lkIDAhPT10JiYobnVsbCE9PXQ/dGhpcy5fYWRkTWFpbkRhdGFTb3VyY2UodC5tb2RlbCx0LnN0YXR1c2VzV2lkZ2V0U3RhdGUpOih0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyPy5kZXN0cm95KCksdGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlcj1udWxsKSk7Y29uc3QgZD1bXTtpZihvLmZvckVhY2goKGU9PntkLnB1c2goe3JlbmRlcmVyOnRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbZS5vbGRJbmRleF0sbmV3SW5kZXg6ZS5uZXdJbmRleH0pfSkpLGQuc29ydCgoKGUsdCk9PmUubmV3SW5kZXgtdC5uZXdJbmRleCkpLGkuZm9yRWFjaCgoZT0+e3RoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGUsMSlbMF0uZGVzdHJveSgpfSkpLDAhPT1zLmxlbmd0aCYmKHRoaXMuX3JlbmRlckRhdGFTb3VyY2VzRWwoKSxzLmZvckVhY2goKGU9Pnt0aGlzLl9hZGREYXRhU291cmNlKGUubW9kZWwsZS5zdGF0dXNlc1dpZGdldFN0YXRlLGUuaW5kZXgpfSkpKSwwIT09ZC5sZW5ndGgmJih0aGlzLl9yZW5kZXJEYXRhU291cmNlc0VsKCksZC5mb3JFYWNoKChlPT57dGhpcy5fbW92ZURhdGFTb3VyY2UoZS5yZW5kZXJlcixlLm5ld0luZGV4KX0pKSksQmUuX3dhc0tleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRlZCYmciYmKG51bGwhPT10aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyfHx0aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCkmJndpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKSwtMSE9PWEpe2xldCBlLHQ7Y29uc3QgaT10aGlzLl9nZXRSb3dSZW5kZXJlcnMoKTtmb3IoO2E8aS5sZW5ndGg7KXtjb25zdCBzPWlbYV0sbz1zLmFjY2Vzc2libGVCdXR0b25zKCk7aWYoby5sZW5ndGg+MCl7ZT1vWzBdLHQ9czticmVha31hKyt9aWYoZSYmdCl0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoZSx0KTtlbHNlIGlmKC0xIT09bCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpO2NvbnN0IHQ9KDAsYi5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGRvY3VtZW50LmJvZHkpO2U9bD09PXQubGVuZ3RoP3RbMF06dFtsXSxlJiYobiYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShuKSxlLmZvY3VzKCkpfX19X2FkZE1haW5EYXRhU291cmNlKGUsdCl7dGhpcy5fcmVuZGVyTWFpbkRhdGFTb3VyY2VFbCgpLHRoaXMuX21haW5EYXRhU291cmNlUmVuZGVyZXI9bmV3IHdlKGUsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGF0YVNvdXJjZUVsKSx7d2l0aEFjdGlvbnM6dGhpcy5fb3B0aW9ucy53aXRoQWN0aW9ucyxjdXN0b21UZXh0Q29sb3I6dGhpcy5fb3B0aW9ucy5jdXN0b21UZXh0Q29sb3Isc3RhdHVzZXNXaWRnZXRTdGF0ZTp0LGlzTXVsdGlwbGVMYXlvdXQ6dGhpcy5fb3B0aW9ucy5pc011bHRpcGxlTGF5b3V0LHRvZ2dsZUhpZGRlbkFjdGlvbnM6dGhpcy5fdG9nZ2xlSGlkZGVuQWN0aW9uc30pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fYWRkRGF0YVNvdXJjZShlLHQsaSl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RhdGFTb3VyY2VzQWRkaXRpb25hbFdyYXBwZXJFbCksbz1uZXcgU2UoZSxzLHt3aXRoQWN0aW9uczp0aGlzLl9vcHRpb25zLndpdGhBY3Rpb25zLGN1c3RvbVRleHRDb2xvcjp0aGlzLl9vcHRpb25zLmN1c3RvbVRleHRDb2xvcixzdGF0dXNlc1dpZGdldFN0YXRlOnQsaXNNdWx0aXBsZUxheW91dDp0aGlzLl9vcHRpb25zLmlzTXVsdGlwbGVMYXlvdXQsdG9nZ2xlSGlkZGVuQWN0aW9uczp0aGlzLl90b2dnbGVIaWRkZW5BY3Rpb25zfSksYT0oMCxuLmVuc3VyZU5vdE51bGwpKG8uZ2V0RWxlbWVudCgpKTtpZihudWxsIT09YSl7bGV0IGU9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVyc1tpXTt2b2lkIDAhPT1lP3MuaW5zZXJ0QmVmb3JlKGEsZS5nZXRFbGVtZW50KCkpOihlPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbaS0xXSx2b2lkIDAhPT1lJiZzLmluc2VydEJlZm9yZShhLCgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpLm5leHRTaWJsaW5nKSl9dGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UoaSwwLG8pLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdHkoKX1fbW92ZURhdGFTb3VyY2UoZSx0KXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuaW5kZXhPZihlKTtpZigtMT09PWl8fHQ9PT1pKXJldHVybjtjb25zdCBzPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZGF0YVNvdXJjZXNBZGRpdGlvbmFsV3JhcHBlckVsKSxvPSgwLG4uZW5zdXJlTm90TnVsbCkoZS5nZXRFbGVtZW50KCkpO2xldCBhPXRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnNbdF07dm9pZCAwIT09YT9zLmluc2VydEJlZm9yZShvLGEuZ2V0RWxlbWVudCgpKTooYT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzW3QtMV0sdm9pZCAwIT09YSYmcy5pbnNlcnRCZWZvcmUobywoMCxuLmVuc3VyZU5vdE51bGwpKGEuZ2V0RWxlbWVudCgpKS5uZXh0U2libGluZykpLHRoaXMuX2RhdGFTb3VyY2VSZW5kZXJlcnMuc3BsaWNlKGksMSksdGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycy5zcGxpY2UodCwwLGUpfV9vbktleWJvYXJkTmF2aWdhdGlvbkFjdGl2YXRpb24oKXtCZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSEwLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQudW5zdWJzY3JpYmUodGhpcy5fb25Jc0RhdGFTb3VyY2VzQ29sbGFwc2VkQm91bmQpLHRoaXMuX3RvZ2dsZXJPcHRpb25zLmlzRGF0YVNvdXJjZXNDb2xsYXBzZWQuc3Vic2NyaWJlKHRoaXMuX29uSXNEYXRhU291cmNlc0NvbGxhcHNlZEJvdW5kKTtjb25zdCBlPXRoaXMuX2dldEFsbEFjY2Vzc2libGVCdXR0b25zKCksdD1lLmZpbHRlcigoZT0+ZS50YWJJbmRleD49MCkpO2lmKDA9PT10Lmxlbmd0aCl7Y29uc3RbdF09ZS5maWx0ZXIoKGU9PmUuaGFzQXR0cmlidXRlKCJ0YWJJbmRleCIpKSk7aWYodm9pZCAwPT09dClyZXR1cm4KO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJCeUNoaWxkKHQpO2lmKG51bGw9PT1pKXJldHVybjt0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUodCxpKX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLG0uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fV9oYW5kbGVLZXlEb3duKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxoLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFXZS5pbmNsdWRlcyh0KSlyZXR1cm47Y29uc3QgaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoaSBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSlyZXR1cm47Y29uc3Qgcz10aGlzLl9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoaSk7aWYobnVsbD09PXMpcmV0dXJuO2lmKDI3PT09dClyZXR1cm4gdm9pZCBpLmJsdXIoKTtjb25zdCBvPXMuYWNjZXNzaWJsZUJ1dHRvbnMoKSxuPW8uaW5kZXhPZihpKTtpZigwPT09by5sZW5ndGh8fC0xPT09bilyZXR1cm47Y29uc3QgYT10PT57ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fZ2V0Um93UmVuZGVyZXJzKCksbz1pLmluZGV4T2Yocyk7bGV0IG4sYSxsPSJibG9ja05leHQiPT09dD9vKzE6by0xO2Zvcig7bD49MCYmbDxpLmxlbmd0aDspe2NvbnN0IGU9aVtsXSxzPWUuYWNjZXNzaWJsZUJ1dHRvbnMoKTtpZigwIT09cy5sZW5ndGgpe249ZSxhPXM7YnJlYWt9bD0iYmxvY2tOZXh0Ij09PXQ/bCsxOmwtMX1uJiZhJiZ0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQoYVswXSxuKX0sbD0oMCxiLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCk7c3dpdGNoKGwpe2Nhc2UiaW5saW5lUHJldiI6ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2NoYW5nZUZvY3VzRWxlbWVudCgwIT09bj9vW24tMV06b1tvLmxlbmd0aC0xXSxzKTticmVhaztjYXNlImlubGluZU5leHQiOmUucHJldmVudERlZmF1bHQoKSx0aGlzLl9jaGFuZ2VGb2N1c0VsZW1lbnQobiE9PW8ubGVuZ3RoLTE/b1tuKzFdOm9bMF0scyk7YnJlYWs7Y2FzZSJibG9ja1ByZXYiOmNhc2UiYmxvY2tOZXh0IjphKGwpfX1fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KXt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwoKCk9Pnt0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKGk9Pntjb25zdCBzPWkucmVsYXRlZFRhcmdldDtudWxsIT09cyYmcyBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50JiZ0LmFjY2Vzc2libGVCdXR0b25zKCkuaW5jbHVkZXMocyl8fCh0aGlzLl9zdWJzY3JpYmVFbGVtZW50VG9Gb2N1c0V2ZW50cyhlLHQpLHQgaW5zdGFuY2VvZiBWZXx8dC5oaWRlQWN0aW9ucygpKX0pLHtvbmNlOiEwLHNpZ25hbDp0aGlzLl9mb2N1c0V2ZW50QWJvcnRDb250cm9sbGVyLnNpZ25hbH0pLHRoaXMuX29wdGlvbnMub25MZWdlbmRSb3dGb2N1c2VkKCksdCBpbnN0YW5jZW9mIFZlfHx0LnNob3dBY3Rpb25zKCl9KSx7b25jZTohMCxzaWduYWw6dGhpcy5fZm9jdXNFdmVudEFib3J0Q29udHJvbGxlci5zaWduYWx9KX1fbWFrZVJvd0VsZW1lbnRUaGVNYWluT25lKGUsdCl7dGhpcy5fc3Vic2NyaWJlRWxlbWVudFRvRm9jdXNFdmVudHMoZSx0KSwoMCxtLmJlY29tZU1haW5FbGVtZW50KShlKX1fY2hhbmdlRm9jdXNFbGVtZW50KGUsdCl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbS5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSx0aGlzLl9tYWtlUm93RWxlbWVudFRoZU1haW5PbmUoZSx0KSxlLmZvY3VzKCl9X2dldFJvd1JlbmRlcmVycygpe2xldCBlPVtdO3JldHVybiB0aGlzLl9tYWluRGF0YVNvdXJjZVJlbmRlcmVyJiZlLnB1c2godGhpcy5fbWFpbkRhdGFTb3VyY2VSZW5kZXJlciksdGhpcy5fZGF0YVNvdXJjZXNFbCYmIXRoaXMuX2RhdGFTb3VyY2VzRWwuY2xhc3NMaXN0LmNvbnRhaW5zKFguYmxvY2tIaWRkZW4pJiYodGhpcy5fdG9nZ2xlck9wdGlvbnMuaXNEYXRhU291cmNlc0NvbGxhcHNlZC52YWx1ZSgpJiYxIT09dGhpcy5fbW9kZSYmKGU9ZS5jb25jYXQodGhpcy5fZGF0YVNvdXJjZVJlbmRlcmVycykpLHRoaXMuX3JlbmRlclRvZ2dsZXImJjAhPT10aGlzLl9kYXRhU291cmNlUmVuZGVyZXJzLmxlbmd0aCYmZS5wdXNoKHRoaXMuX3JlbmRlclRvZ2dsZXIpKSxlfV9nZXRBbGxBY2Nlc3NpYmxlQnV0dG9ucygpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZvckVhY2goKHQ9PntlLnB1c2goLi4udC5hY2Nlc3NpYmxlQnV0dG9ucygpKX0pKSxlfV9nZXRSb3dSZW5kZXJlckJ5Q2hpbGQoZSl7cmV0dXJuIHRoaXMuX2dldFJvd1JlbmRlcmVycygpLmZpbmQoKHQ9PnQuYWNjZXNzaWJsZUJ1dHRvbnMoKS5pbmNsdWRlcyhlKSkpPz9udWxsfX1CZS5fd2FzS2V5Ym9hcmROYXZpZ2F0aW9uQWN0aXZhdGVkPSExO3ZhciBIZT1pKDc0MTY5MCksRGU9aSgyNDE5NTYpLFBlPWkoNTUyMTQ1KSxOZT1pKDg2MjU3MiksUmU9aSg5OTQ1NDApLE9lPWkoMjg0ODMxKTtmdW5jdGlvbiBGZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy5oaWRkZW4pY29udGludWU7Y29uc3QgdD0oMCxPZS5jbGVhbikoU3RyaW5nKGVbcy5maWVsZF0/PyIiKSwhMCk7IiIhPT10JiZpLnB1c2goe3RpdGxlOnQsaWQ6cy5pZCx0b29sdGlwOnMudG9vbHRpcCxhY3Rpb246cy5hY3Rpb259KX1yZXR1cm4gaX12YXIgemU9aSgxMTczMTMpLGplPWkoMTI5MzMzKSxVZT1pKDMzMzQ1KSxHZT1pKDY3NzAxMCksWmU9aSgzMzMzMTIpLEplPWkoNTA5MDQpLFllPWkoMjUwNDM5KSxxZT1pKDMwNTY0MCksJGU9aSg0MTc2ODYpO2NsYXNzIFFle2NvbnN0cnVjdG9yKHtsaW5raW5nR3JvdXBJbmRleDplLGlzTGlua2luZ0F2YWlsYWJsZTp0LG9uQ2xpY2tIYW5kbGVyOnMsc2V0TGlua2luZ0dyb3VwSW5kZXg6b30pe3RoaXMuX2FjdGlvblZpc2libGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSwKdGhpcy5fYWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fbGlua2luZ01vZGVTdWJzY3JpcHRpb249ZT0+e2lmKG51bGw9PT1lKXJldHVybiB2b2lkKHRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW0uaW5uZXJIVE1MPVVlKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Quc3JjPSgwLFplLmdldFR3ZW1vamlVcmwpKHFlLmljb25zW2VdLmljb24sInN2ZyIpLHQud2lkdGg9dC5oZWlnaHQ9MTgsdGhpcy5fbGVnZW5kQWN0aW9uQnV0dG9uRWxlbS5yZXBsYWNlQ2hpbGRyZW4odCl9LHRoaXMuX3NldExpbmtpbmdHcm91cEluZGV4SW1wbD1hc3luYyBlPT57dGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXgoZT09PXRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnZhbHVlKCk/bnVsbDplKSx0aGlzLl9hY3RpdmUudmFsdWUoKSYmWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKX0sdGhpcy5fc2hvd0NvbnRleHRNZW51PWFzeW5jIGU9PntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1lLmN1cnJlbnRUYXJnZXQ7aWYoISh0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtpZih0aGlzLl9vbkNsaWNrSGFuZGxlcj8uKCksdGhpcy5fYWN0aXZlLnZhbHVlKCkpcmV0dXJuIHZvaWQgWWUuQ29udGV4dE1lbnVNYW5hZ2VyLmhpZGVBbGwoKTtjb25zdCBpPWF3YWl0IHRoaXMuX2dldEFjdGlvbnMoKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0e2xlZnQ6cyxib3R0b206b309dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthd2FpdCBZZS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDpzLGNsaWVudFk6b30se3JldHVybkZvY3VzOiEwLHRha2VGb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6ISgidG91Y2hlcyJpbiBlKSYmKDAsSC5pc0tleWJvYXJkQ2xpY2spKGUpfSx7bWVudU5hbWU6IlN5bWJvbEludGVydmFsQ2hhcnRTeW5jaW5nTWVudSJ9LCgoKT0+dGhpcy5fYWN0aXZlLnNldFZhbHVlKCExKSkpLHRoaXMuX2FjdGl2ZS5zZXRWYWx1ZSghMCl9LHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PWUuc3Bhd24oKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGU9dC5zcGF3bigpLHRoaXMuX29uQ2xpY2tIYW5kbGVyPXMsdGhpcy5fc2V0TGlua2luZ0dyb3VwSW5kZXg9bztjb25zdCBuPXRoaXMuX2xlZ2VuZEFjdGlvbkJ1dHRvbkVsZW09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO24uY2xhc3NOYW1lPSRlLmxlZ2VuZEFjdGlvbkJ1dHRvbix0aGlzLl9hY3Rpb249e2ljb246bix0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoUC50KG51bGwsdm9pZCAwLGkoNTQ2MzY5KSkpLGFjdGlvbjp0aGlzLl9zaG93Q29udGV4dE1lbnUsdmlzaWJsZTp0aGlzLl9hY3Rpb25WaXNpYmxlLnJlYWRvbmx5KCksYWN0aXZlOnRoaXMuX2FjdGl2ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5saW5raW5nLGRhdGFRYUlkOiJsZWdlbmQtbGF5b3V0LWNoYXJ0LXN5bmMtYWN0aW9uIn0sdGhpcy5fbGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKHRoaXMuX2xpbmtpbmdNb2RlU3Vic2NyaXB0aW9uLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuc3Vic2NyaWJlKChlPT50aGlzLl9hY3Rpb25WaXNpYmxlLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2lzRGVzdHJveWVkPSEwLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LmRlc3Ryb3koKSx0aGlzLl9pc0xpbmtpbmdBdmFpbGFibGUuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZS52YWx1ZSgpJiZZZS5Db250ZXh0TWVudU1hbmFnZXIuaGlkZUFsbCgpfWdldEFjdGlvbigpe3JldHVybiB0aGlzLl9hY3Rpb259YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdFtlLHtMYXlvdXRDaGFydHNTeW5jQ29udGV4dE1lbnVUaXRsZTp0fSx7TGF5b3V0Q2hhcnRzU3luY0NvbnRleHRNZW51SXRlbTpzfV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oaS50LmJpbmQoaSw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbaS5lKDQ5Mzk0KSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDg5NTU4KSxpLmUoNDQ0NjApLGkuZSg5NDU2MCksaS5lKDM0NjU0KV0pLnRoZW4oaS5iaW5kKGksNjA5OTUxKSksUHJvbWlzZS5hbGwoW2kuZSg0OTM5NCksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSg4OTU1OCksaS5lKDQ0NDYwKSxpLmUoOTQ1NjApLGkuZSgzNDY1NCldKS50aGVuKGkuYmluZChpLDg3MDI0NikpXSk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuW107Y29uc3Qgbz1xZS5pY29ucy5tYXAoKCh7aWNvbjplfSx0KT0+bmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMuQ2hhbmdlR3JvdXAiLG9wdGlvbnM6e2xhYmVsOmUsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgudmFsdWUoKT09PXQsb25FeGVjdXRlOigpPT50aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGwodCl9fSkpKTt0aGlzLl9saW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9PntvLmZvckVhY2goKCh0LGkpPT57dC51cGRhdGUoe2NoZWNrZWQ6aT09PWV9KX0pKX0pKTtyZXR1cm5bbmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxpbmtpbmdHcm91cFN5bmMiLG9wdGlvbnM6e2ljb246R2UsbGFiZWw6UC50KG51bGwsdm9pZCAwLGkoNDIxMjEpKSxzdWJJdGVtczpvfSxjdXN0b21BY3Rpb25PcHRpb25zOntqc3hMYWJlbDplLmNyZWF0ZUVsZW1lbnQoZS5GcmFnbWVudCxudWxsLGUuY3JlYXRlRWxlbWVudCh0LG51bGwpLGUuY3JlYXRlRWxlbWVudChzLHthY3RpdmU6dGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsaWNvbnM6cWUuaWNvbnMsb25DbGljazp0aGlzLl9zZXRMaW5raW5nR3JvdXBJbmRleEltcGx9KSksZG9Ob3RDbG9zZU9uQ2xpY2s6ITAsbm9JbnRlcmFjdGl2ZTohMH19KV19fXZhciBLZT1pKDQ5MDIwNCksWGU9aSg5MzMxMTYpLGV0PWkoOTg2Mjc1KSx0dD1pKDYyMDM1NCksaXQ9aSg1MTcyOTMpCjtjb25zdCBzdD1uZXcgaXQuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxMDApO2NsYXNzIG90e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc3ltYm9sTG9nb1VybHM9bmV3IHIuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9sb2dvRGF0YVVwZGF0ZWQ9KCk9Pntjb25zdCBlPXRoaXMuc3ltYm9sKCksdD10aGlzLl9sb2dvRGF0YS52YWx1ZSgpO3QmJmUmJnN0LnNldChlLHQpO2NvbnN0IGk9c3QuZ2V0KGUpO2k/dGhpcy5fc3ltYm9sTG9nb1VybHMuc2V0VmFsdWUoKDAsZXQucmVtb3ZlVXNkRnJvbUNyeXB0b1BhaXJMb2dvcykoKDAsZXQucmVzb2x2ZUxvZ29VcmxzRnJvbUxvZ29EYXRhKShpLHR0LkxvZ29TaXplLk1lZGl1bSkpKTp0aGlzLl9zeW1ib2xMb2dvVXJscy5zZXRWYWx1ZShbXSl9LHRoaXMuX2xvZ29Nb2RlbD1lLHRoaXMuX2lzTG9nb1Zpc2libGU9KDAsRGUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnQuc2hvd0xvZ28udmFsdWUoKSksdC5zaG93TG9nbyksdGhpcy5fbG9nb0RhdGE9dGhpcy5fbG9nb01vZGVsLmxvZ29EYXRhKCkuc3Bhd24oKSx0aGlzLl9sb2dvRGF0YS5zdWJzY3JpYmUodGhpcy5fbG9nb0RhdGFVcGRhdGVkLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5faXNMb2dvVmlzaWJsZS5kZXN0cm95KCksdGhpcy5fbG9nb01vZGVsLmRlc3Ryb3koKX1pc1N5bWJvbExvZ29WaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzTG9nb1Zpc2libGV9c3ltYm9sTG9nb1VybHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTG9nb1VybHN9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2xvZ29Nb2RlbC5zeW1ib2woKX11cGRhdGUoKXt0aGlzLl9sb2dvTW9kZWwudXBkYXRlKCl9fWZ1bmN0aW9uIG50KGUsdCl7cmV0dXJuIG5ldyBvdChlLHQpfXZhciBhdD1pKDE4NzA2MiksbHQ9aSgyMjEwNjEpO2NvbnN0IHJ0PSgwLGx0LmdldExvZ2dlcikoIkNoYXJ0LkxlZ2VuZFdpZGdldCIpO2NsYXNzIGR0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2xvZ29EYXRhPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wcmV2U3ltYm9sPSIiLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3NvdXJjZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZCksdGhpcy51cGRhdGUoKX1kZXN0cm95KCl7dGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5zeW1ib2woKX1sb2dvRGF0YSgpe3JldHVybiB0aGlzLl9sb2dvRGF0YX11cGRhdGUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7dGhpcy5fcHJldlN5bWJvbCE9PWUmJih0aGlzLl9wcmV2U3ltYm9sPWUsdGhpcy5fb25Tb3VyY2VTeW1ib2xDaGFuZ2UoKSl9X29uUXVvdGVTeW1ib2xEYXRhVXBkYXRlZChlLHQpe2NvbnN0IGk9dC52YWx1ZXM7dGhpcy5fc291cmNlLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS52YWx1ZXMucHJvX25hbWUpJiZ2b2lkIDAhPT1pLmxvZ28mJnRoaXMuX2xvZ29EYXRhLnNldFZhbHVlKGkubG9nbyl9YXN5bmMgX29uU291cmNlU3ltYm9sQ2hhbmdlKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2xldCB0PW51bGw7dHJ5e3RoaXMuX2xvZ29EYXRhLnNldFZhbHVlKG51bGwpLHQ9YXdhaXQgdGhpcy5fc291cmNlLnF1b3Rlc1Byb3ZpZGVyKCkucXVvdGVzU25hcHNob3QoZSl9Y2F0Y2goZSl7cnQubG9nV2FybihgUXVvdGUgc25hcHNob3QgZXJyb3I6ICR7ZX1gKX1maW5hbGx5e3RoaXMuc3ltYm9sKCk9PT1lJiYobnVsbD09PXQ/dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUobnVsbCwhMCk6dGhpcy5fbG9nb0RhdGEuc2V0VmFsdWUodC5sb2dvfHxudWxsKSl9fV9vblNvdXJjZVN5bWJvbFJlc29sdmVkKCl7MH19dmFyIHV0PWkoOTAzMDMxKSxjdD1pKDU1NjY0NiksaHQ9aSg4OTY5NDcpLHB0PWkoMTEzODEwKTtjb25zdCBfdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxndD1QLnQobnVsbCx2b2lkIDAsaSg3MDY0ODYpKSxtdD1QLnQobnVsbCx2b2lkIDAsaSgzNzUxNjUpKSxidD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksdnQ9UC50KG51bGwsdm9pZCAwLGkoNTk3NzcwKSksZnQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2lucGxhY2VfZWRpdCIpLFN0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIikseXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9yZXNvbHV0aW9uX2luX2xlZ2VuZCIpLHd0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1hcmtlZF9zeW1ib2xzIiksQ3Q9IV8uQ2hlY2tNb2JpbGUuYW55KCksRXQ9ISgwLHplLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCIpO2NsYXNzIHh0IGV4dGVuZHMgJHtjb25zdHJ1Y3RvcihlLHQsaSxzLG8pe3N1cGVyKGUsdCxpLHMsbyksdGhpcy5fc3ltYm9sTWFya2VyPW51bGwsdGhpcy5fc3ltYm9sTWFya2VySWNvbj1udWxsLHRoaXMuX2ZsYWdnZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N5bWJvbEFjdGlvbj1udWxsLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1udWxsLHRoaXMuX2lzT25lQnV0dG9uQ2FuQmVTdGljaz0hMSx0aGlzLl9sYXlvdXRDaGFydFN5bmNMZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX2lzQ2hhcnRMaW5rZWQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpLnNwYXduKCksQ3QmJih0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU9KDAsZC5jb21iaW5lKSgoKGUsdCxpKT0+ZSYmKHR8fGkpKSx0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5zeW1ib2wud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKS5pbnRlcnZhbC53ZWFrUmVmZXJlbmNlKCkpLAp0aGlzLl9pc0NoYXJ0TGlua2VkPSgwLGQuY29tYmluZSkoKChlLHQpPT50JiZudWxsIT09ZSksdGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLndlYWtSZWZlcmVuY2UoKSwodGhpcy5faXNMYXlvdXRDaGFydFN5bmNWaXNpYmxlfHxuZXcgci5XYXRjaGVkVmFsdWUoITEpKS53ZWFrUmVmZXJlbmNlKCkpKSx0aGlzLl9jcmVhdGVBY3Rpb25zKCksdGhpcy5fdXBkYXRlU3ltYm9sTWFya2VyKCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3RoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwuc2V0VmFsdWUobnQobmV3IGR0KHQpLG4pKSxuLnNob3dTZXJpZXNUaXRsZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbj0oMCxEZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+IW4uc2hvd1ByaWNlU291cmNlLnZhbHVlKCkpLG4uc2hvd1ByaWNlU291cmNlKSx0aGlzLl92YWx1ZXNWaXNpYmxlUHJvcGVydHk9KDAsSGUuY29tYmluZVByb3BlcnR5KSgoKGUsdCxpLHMpPT5gJHtlfToke3R9OiR7aX06JHtzfWApLG4uc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpLG4uc2hvd0JhckNoYW5nZS53ZWFrUmVmZXJlbmNlKCksbi5zaG93Vm9sdW1lLndlYWtSZWZlcmVuY2UoKSxuLnNob3dMYXN0RGF5Q2hhbmdlLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fdmFsdWVzVmlzaWJsZVByb3BlcnR5LnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMudXBkYXRlKCksdGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSksdGhpcy51cGRhdGUoKSx0aGlzLl9zb3VyY2Uuc3RhdHVzV1YoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTG9hZGluZ1N0YXR1cyl9ZGVzdHJveSgpe0N0JiYodGhpcy5fbGF5b3V0Q2hhcnRTeW5jTGVnZW5kUmVuZGVyZXI/LmRlc3Ryb3koKSx0aGlzLl9pc0NoYXJ0TGlua2VkLmRlc3Ryb3koKSx0aGlzLl9pc0xheW91dENoYXJ0U3luY1Zpc2libGU/LmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpLHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1Nlcmllc1RpdGxlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3NvdXJjZS5zdGF0dXNXVigpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxvYWRpbmdTdGF0dXMpLHRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS5kZXN0cm95KCksdGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi5kZXN0cm95KCksdGhpcy5fc3ltYm9sTWFya2VyPy5kZXN0cm95KCl9ZmxhZ2dlZCgpe3JldHVybiB0aGlzLl9mbGFnZ2VkfWxpbmtlZCgpe3JldHVybiB0aGlzLl9pc0NoYXJ0TGlua2VkfWFzeW5jIG9uU2hvd1NldHRpbmdzKGUsdCl7dGhpcy5fc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpJiZhd2FpdCB0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoYXQuVGFiTmFtZXMuc3ltYm9sKX1pc09uZUJ1dHRvbkNhbkJlU3RpY2soKXtyZXR1cm4gdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrfV91cGRhdGVUaXRsZXMoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLnN0YXR1c1ZpZXcoKSkuZ2V0U3BsaXRUaXRsZSgpLHQ9dGhpcy5fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKSxpPXRoaXMuX2dldENoYW5nZVJlc29sdXRpb25DYWxsYmFjaygpLHM9dD97Zm46dCxhY3Rpb25BbGxvd2VkT25Ub3VjaDpFdH06dm9pZCAwLG89W3tmaWVsZDoidGl0bGUiLGlkOjAsdG9vbHRpcDp0P2J0OnZvaWQgMCxhY3Rpb246c30se2ZpZWxkOiJkZXNjcmlwdGlvbiIsaWQ6MSx0b29sdGlwOnQ/YnQ6dm9pZCAwLGFjdGlvbjpzfSx7ZmllbGQ6ImludGVydmFsIixpZDoyLHRvb2x0aXA6aT92dDp2b2lkIDAsYWN0aW9uOmk/e2ZuOmksYWN0aW9uQWxsb3dlZE9uVG91Y2g6ITF9OnZvaWQgMCxoaWRkZW46eXR9LHtmaWVsZDoicHJvdmlkZXIiLGlkOjN9LHtmaWVsZDoibGlzdGVkRXhjaGFuZ2UiLGlkOjR9LHtmaWVsZDoiY2hhcnRTdHlsZSIsaWQ6NX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6NixoaWRkZW46dGhpcy5faXNQcmljZVNvdXJjZUhpZGRlbi52YWx1ZSgpfV07dGhpcy5fdGl0bGVzLnNldFZhbHVlKEZlKGUsbykpfV91cGRhdGVWYWx1ZXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5sZWdlbmRWaWV3KCksdD10aGlzLl92YWx1ZXMudmFsdWUoKSxpPWUubWFya2V0VGl0bGUoKSxzPWUubWFya2V0VGl0bGUoKS5sZW5ndGg+MCxvPWUuaXRlbXMoKTtpZigwPT09dC5sZW5ndGh8fHQubGVuZ3RoIT09by5sZW5ndGgrMSl7Y29uc3QgZT17dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSxjb2xvcjpuZXcgci5XYXRjaGVkVmFsdWUoIiIpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHMpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoITEpfSx0PW8ubWFwKChlPT4oe3ZhbHVlOm5ldyByLldhdGNoZWRWYWx1ZShlLnZhbHVlKCkpLGNvbG9yOm5ldyByLldhdGNoZWRWYWx1ZShVKGUuY29sb3IoKSkpLHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmlzaWJsZSgpKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS50aXRsZSgpKSx1bmltcG9ydGFudDpuZXcgci5XYXRjaGVkVmFsdWUoZS51bmltcG9ydGFudCgpKX0pKSk7dGhpcy5fdmFsdWVzLnNldFZhbHVlKFtlXS5jb25jYXQodCkpfWVsc2V7dFswXS50aXRsZS5zZXRWYWx1ZShpKSx0WzBdLnZpc2libGUuc2V0VmFsdWUocyk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXTt0W2UrMV0udmFsdWUuc2V0VmFsdWUoaS52YWx1ZSgpKSx0W2UrMV0uY29sb3Iuc2V0VmFsdWUoVShpLmNvbG9yKCkpKSwKdFtlKzFdLnZpc2libGUuc2V0VmFsdWUoaS52aXNpYmxlKCkpLHRbZSsxXS50aXRsZS5zZXRWYWx1ZShpLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX1fZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hMX1fZ2V0VGl0bGVIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpfV9nZXRWYWx1ZXNIaWRkZW5WYWx1ZSgpe3JldHVybiF0aGlzLl9oYXNWYWx1ZXMoKXx8IXRoaXMuX3ZhbHVlc1Zpc2libGVQcm9wZXJ0eS52YWx1ZSgpLnNwbGl0KCI6Iikuc29tZSgoZT0+InRydWUiPT09ZSkpfV9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpe2lmKGZ0JiYhKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVN5bWJvbENhbGxiYWNrfHw9YXN5bmMgZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2woKSxzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnNob3J0TmFtZS52YWx1ZSgpLG89Im9wdGlvbiI9PT10LnN5bWJvbEluZm8oKT8udHlwZSxuPXQuc3ltYm9sSW5mbygpPy5wcm9fbmFtZTtsZXQgYT10LmlzU3ByZWFkKCk/aTpzfHxpfHwiIjtpZigoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZvJiZuKXtjb25zdCBlPWF3YWl0KDAsS2UucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKG4pO2UmJihhPXt0eXBlOiJvcHRpb24iLHZhbHVlOm4sdW5kZXJseWluZzplfSl9KDAsUmUuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLG9uQ2xvc2U6ZSxzZWFyY2hUeXBlOiJjaGFydF9zdGF0dXNfbGluZSIsdHJhY2tSZXN1bHRzT3B0aW9uczp7dHJhY2tSZXN1bHRzOiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSxlbXB0eVNlYXJjaFR5cGU6ImVtcHR5X3Jlc3VsdF9fc3VwZXJjaGFydHMifX0pfX1fZ2V0Q2hhbmdlUmVzb2x1dGlvbkNhbGxiYWNrKCl7aWYoZnQmJiEoMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNhYmxlX2xlZ2VuZF9pbnBsYWNlX3Jlc29sdXRpb25fY2hhbmdlIikpcmV0dXJuIHRoaXMuX2NoYW5nZVJlc29sdXRpb25DYWxsYmFja3x8PWU9PnsoMCxOZS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCksc2VsZWN0T25Jbml0OiEwLG9uQ2xvc2U6ZX0pfX1fY3JlYXRlQWN0aW9ucygpe2lmKHd0JiZ0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc0xpc3QuYWRkKGNlLm1hcmtlckNvbnRhaW5lciksdGhpcy5fc3ltYm9sTWFya2VySWNvbj1lLHRoaXMuX3N5bWJvbEFjdGlvbj17aWNvbjplLGFjdGlvbjp0aGlzLl9zeW1ib2xBY3Rpb25IYW5kbGVyLmJpbmQodGhpcyksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoITApLGNsYXNzTmFtZTpjZS5mbGFnLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRNYXJrZXJUaXRsZSgpKSxkYXRhUWFJZDoibGVnZW5kLWZsYWctYWN0aW9uIn0sdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3N5bWJvbEFjdGlvbil9aWYoQ3QmJnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSYmKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyPW5ldyBRZSh7bGlua2luZ0dyb3VwSW5kZXg6dGhpcy5fbW9kZWwubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpLnJlYWRvbmx5KCksc2V0TGlua2luZ0dyb3VwSW5kZXg6ZT0+dGhpcy5fbW9kZWwuc2V0TGlua2luZ0dyb3VwSW5kZXgoZSksaXNMaW5raW5nQXZhaWxhYmxlOnRoaXMuX2lzTGF5b3V0Q2hhcnRTeW5jVmlzaWJsZSxvbkNsaWNrSGFuZGxlcjooKT0+dGhpcy5zZXRTb3VyY2VTZWxlY3RlZCgpfSksdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX2xheW91dENoYXJ0U3luY0xlZ2VuZFJlbmRlcmVyLmdldEFjdGlvbigpKSksU3Qpe2NvbnN0IGU9KDAsUGUuY29udmVydFByb3BlcnR5VG9XYXRjaGVkVmFsdWUpKCgwLEhlLmNvbWJpbmVQcm9wZXJ0eSkoKGU9PiFlKSx0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUud2Vha1JlZmVyZW5jZSgpKSksdD17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSh0aGlzLm9uVG9nZ2xlRGlzYWJsZWQuYmluZCh0aGlzKSksdmlzaWJsZTplLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6bmV3IHIuV2F0Y2hlZFZhbHVlKCEwKSxhY3RpdmU6ZS5yZWFkb25seSgpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShfdCksZGF0YVFhSWQ6ImxlZ2VuZC1tb3JlLWFjdGlvbiJ9KX19X2dldE1hcmtlclRpdGxlKCl7CnJldHVybiBudWxsIT09dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpP210Omd0OiIifV9zeW1ib2xBY3Rpb25IYW5kbGVyKGUpeygwLEkucHJldmVudERlZmF1bHQpKGUpLG51bGwhPT10aGlzLl9zeW1ib2xNYXJrZXImJih0aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKSxlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCYmdGhpcy5fc3ltYm9sTWFya2VyLnRvZ2dsZShlKSxPKCJDaGFuZ2UgZmxhZyBzdGF0ZSIpKX1fdXBkYXRlU3ltYm9sTWFya2VyKCl7aWYod3QmJnRoaXMuX29wdGlvbnMuc3ltYm9sTWFya2VyRW5hYmxlZCl7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbEFjdGlvbiksdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N5bWJvbE1hcmtlckljb24pLGk9dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5wcm9fbmFtZT8/dGhpcy5fbW9kZWwubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCk7dGhpcy5fc3ltYm9sTWFya2VyP3RoaXMuX3N5bWJvbEZvck1hcmtlciE9PWkmJih0aGlzLl9zeW1ib2xNYXJrZXIuYmluZFRvKGksdCksdGhpcy5fc3ltYm9sRm9yTWFya2VyPWkpOih0aGlzLl9zeW1ib2xNYXJrZXI9KDAsamUuY3JlYXRlU3ltYm9sTWFya2VyU3RhbmRhbG9uZSkoe3N5bWJvbDppLGNvbnRhaW5lcjp0LHNwZWNpYWxJbWFnZTpYZSxjbGFzc05hbWU6Y2UuZmxhZ1dyYXBwZXIsb25NYXJrZWRDaGFuZ2VkOigpPT50aGlzLl91cGRhdGVTeW1ib2xNYXJrZXIoKX0pLHRoaXMuX3N5bWJvbEZvck1hcmtlcj1pKSx0aGlzLl9mbGFnZ2VkLnNldFZhbHVlKHRoaXMuX3N5bWJvbE1hcmtlci5pc01hcmtlZCgpKTsoMCxuLmVuc3VyZURlZmluZWQpKGUudGl0bGUpLnNldFZhbHVlKHRoaXMuX2dldE1hcmtlclRpdGxlKCkpfWVsc2UgdGhpcy5faXNPbmVCdXR0b25DYW5CZVN0aWNrPSEwfX12YXIgTHQ9aSg5NTY0MzcpLE10PWkoMjkxMTI5KSxUdD1pKDk0NzE2KSxWdD1pKDQ2MDU0NCksa3Q9aSg1NDA1ODgpO3ZhciBBdD1pKDYxNDM4MCksV3Q9aSgyMzczNjkpLEl0PWkoNTc3OTk2KSxCdD1pKDIzNDk2NCksSHQ9aSg3NDI0MTUpLER0PWkoNjk4NTkwKSxQdD1pKDE0NTA5MCksTnQ9aSg4NTI2NzMpLFJ0PWkoNTYzODg2KSxPdD1pKDcyMDUyNSk7Y29uc3QgRnQ9KDAsbHQuZ2V0TG9nZ2VyKSgiQ2hhcnQuTGVnZW5kV2lkZ2V0IiksenQ9UC50KG51bGwsdm9pZCAwLGkoNzMwNTg2KSksanQ9UC50KG51bGwsdm9pZCAwLGkoNzkzNDAyKSksVXQ9UC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxHdD1QLnQobnVsbCx2b2lkIDAsaSgzOTQ5NDcpKSxadD1QLnQobnVsbCx2b2lkIDAsaSgyODgyNDQpKSxKdD1QLnQobnVsbCx2b2lkIDAsaSgyNjY1KSksWXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiKSxxdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIpLCR0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIiksUXQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9ybWF0X2J1dHRvbl9pbl9sZWdlbmQiKSxLdD0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIpLFh0PSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxlZ2VuZF9pbnBsYWNlX2VkaXQiKSxlaT0hKDAsemUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uYXRpdmVfc3ltYm9sX3NlYXJjaF9vbl90YXBfaW5fbGVnZW5kIik7Y2xhc3MgdGkgZXh0ZW5kcyAke2NvbnN0cnVjdG9yKGUsdCxpLHMsbyl7c3VwZXIoZSx0LGkscyxvKSx0aGlzLl9lcnJvcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGVJbm5lcj1uZXcgci5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fcGluZUFjdGlvbj1udWxsLHRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlPW51bGwsdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eT1uZXcgci5XYXRjaGVkVmFsdWUoITApLHRoaXMuX3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKTtjb25zdCBuPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksYT1bbi5zaG93U2VyaWVzVGl0bGUsbi5zaG93U3R1ZHlUaXRsZXNdO2Zvcihjb25zdCBlIG9mIGEpZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9pc1RpdGxlSGlkZGVuLnNldFZhbHVlKHRoaXMuX2dldFRpdGxlSGlkZGVuVmFsdWUoKSl9KSk7Y29uc3QgbD1bbi5zaG93U2VyaWVzT0hMQyxuLnNob3dCYXJDaGFuZ2Usbi5zaG93U3R1ZHlWYWx1ZXMsbi5zaG93TGFzdERheUNoYW5nZSxuLnNob3dTZXJpZXNMZWdlbmRDbG9zZU9uTW9iaWxlXTtmb3IoY29uc3QgZSBvZiBsKWUuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNWYWx1ZXNIaWRkZW4uc2V0VmFsdWUodGhpcy5fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKSl9KSk7dGhpcy51cGRhdGUoKSx5ZS5zdWJzY3JpYmUoSXQuVFZfU0NSSVBUX0RFTEVURUQsdGhpcy51cGRhdGUsdGhpcyksdGhpcy5fdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl9ZGVzdHJveSgpe3N1cGVyLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7ZS5zaG93U2VyaWVzVGl0bGUudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlUaXRsZXMudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNob3dCYXJDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyksCmUuc2hvd0xhc3REYXlDaGFuZ2UudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zaG93U2VyaWVzTGVnZW5kQ2xvc2VPbk1vYmlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx5ZS51bnN1YnNjcmliZShJdC5UVl9TQ1JJUFRfREVMRVRFRCx0aGlzLnVwZGF0ZSx0aGlzKX1lcnJvcigpe3JldHVybiB0aGlzLl9lcnJvci5yZWFkb25seSgpfWlzQWJsZVNob3dTb3VyY2VDb2RlKCl7cmV0dXJuIHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlfW9uUmVtb3ZlU291cmNlKCl7aWYodGhpcy5fc291cmNlLmlzVXNlckRlbGV0YWJsZSgpKXtpZigoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiZ0aGlzLl9zb3VyY2UuaGFzQ2hpbGRyZW4oKSl7Y29uc3QgZT10aGlzLl9zb3VyY2UuZ2V0QWxsQ2hpbGRyZW4oKS5tYXAoKGU9PmUubmFtZSghMCkpKTsoMCxNdC5zaG93RGVsZXRlU3R1ZHlUcmVlQ29uZmlybSkoZSx0aGlzLl9tb2RlbC5yZW1vdmVTb3VyY2UuYmluZCh0aGlzLl9tb2RlbCx0aGlzLl9zb3VyY2UsITEpKX1lbHNlIHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UsITEpO08oIlJlbW92ZSBzb3VyY2VzIil9fWFzeW5jIG9uU2hvd1NvdXJjZUNvZGUoKXt7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXRyeXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0Py5pc0FibGVTaG93U291cmNlQ29kZSgpLnZhbHVlKCkmJih0LnNob3dQaW5lU291cmNlQ29kZSgpLE8oIk9wZW4gc291cmNlIGNvZGUgZm9yIHBpbmUgc2NyaXB0cyIpKX1jYXRjaChlKXtGdC5sb2dFcnJvcihgJHtlfWApLCgwLEJ0LnNob3dXYXJuaW5nKSh7dGl0bGU6UC50KG51bGwsdm9pZCAwLGkoNDg3MjAwKSksdGV4dDpQLnQobnVsbCx2b2lkIDAsaSg2NDUyNjMpKSxidXR0b25UZXh0OlAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpfSl9fX1zZXRHbG9iYWxWaXNpYmlsaXR5KGUpe3RoaXMuX2dsb2JhbFZpc2liaWxpdHkuc2V0VmFsdWUoZSl9Z2xvYmFsVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9nbG9iYWxWaXNpYmlsaXR5LnJlYWRvbmx5KCl9Z2V0RnVsbFRpdGxlKCl7cmV0dXJuIHRoaXMuX3RpdGxlcy52YWx1ZSgpLm1hcCgoZT0+aihlKT9lLml0ZW1zLm1hcCgoZT0+ZS50aXRsZSkpLmpvaW4oIiAiKTplLnRpdGxlKSkuam9pbigiICIpfWdldFNvdXJjZSgpe3JldHVybiB0aGlzLl9zb3VyY2V9X3VwZGF0ZVRpdGxlcygpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zb3VyY2Uuc3RhdHVzVmlldygpKSx0PWUuZ2V0U3BsaXRUaXRsZSgpLGk9W10scz10aGlzLl9nZXRDaGFuZ2VTeW1ib2xDYWxsYmFjaygpO2lmKEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9KDAsT2UuY2xlYW4pKHRbMF0sITApOyIiIT09cyYmaS5wdXNoKHt0aXRsZTpzLGlkOjcsdG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpfSl9ZWxzZSBpLnB1c2goLi4uZnVuY3Rpb24oZSx0KXtjb25zdHtjaGFuZ2VTeW1ib2xDYWxsYmFjazppLGNoYW5nZVN5bWJvbFRvb2x0aXA6cyx0aXRsZVRvb2x0aXA6byxpc05hdGl2ZVN5bWJvbFNlYXJjaE9uTW9iaWxlRW5hYmxlZDpufT10O3JldHVybiBGZShlLFt7ZmllbGQ6InRpdGxlIixpZDppPzg6Nyx0b29sdGlwOmk/czpvLGFjdGlvbjppP3tmbjppLGFjdGlvbkFsbG93ZWRPblRvdWNoOm59OnZvaWQgMH0se2ZpZWxkOiJsaXN0ZWRFeGNoYW5nZSIsaWQ6OX0se2ZpZWxkOiJwcmljZVNvdXJjZSIsaWQ6OX1dKX0odCx7Y2hhbmdlU3ltYm9sQ2FsbGJhY2s6cyxjaGFuZ2VTeW1ib2xUb29sdGlwOkp0LHRpdGxlVG9vbHRpcDplLnRpdGxlVG9vbHRpcCgpLGlzTmF0aXZlU3ltYm9sU2VhcmNoT25Nb2JpbGVFbmFibGVkOmVpfSkpO2NvbnN0IG89W107KGUuZ2V0SW5wdXRzVGl0bGVzKCk/P1tdKS5mb3JFYWNoKChlPT57Y29uc3QgdD0oMCxPZS5jbGVhbikoZS52YWx1ZSwhMCk7IiIhPT10JiZvLnB1c2goe3RpdGxlOnQsdG9vbHRpcDplLnRpdGxlLGlkOjEwfSl9KSksMCE9PW8ubGVuZ3RoJiZpLnB1c2goe2lkOjEwLGl0ZW1zOm99KSx0aGlzLl90aXRsZXMuc2V0VmFsdWUoaSl9X3VwZGF0ZVZhbHVlcygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmxlZ2VuZFZpZXcoKTtpZihudWxsPT09ZSlyZXR1cm47aWYoMD09PWUuaXRlbXMoKS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmFsdWVzLnZhbHVlKCk7aWYoMD09PXQubGVuZ3RoKXtjb25zdCB0PWUuaXRlbXMoKS5tYXAoKGU9Pih7dmFsdWU6bmV3IHIuV2F0Y2hlZFZhbHVlKGUudmFsdWUoKSksY29sb3I6bmV3IHIuV2F0Y2hlZFZhbHVlKFUoZS5jb2xvcigpKSksdmlzaWJsZTpuZXcgci5XYXRjaGVkVmFsdWUoZS52aXNpYmxlKCkpLHVuaW1wb3J0YW50Om5ldyByLldhdGNoZWRWYWx1ZShlLnVuaW1wb3J0YW50KCkpLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShlLnRpdGxlKCkpfSkpKTt0aGlzLl92YWx1ZXMuc2V0VmFsdWUodCl9ZWxzZXtjb25zdCBpPWUuaXRlbXMoKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7Y29uc3Qgcz10W2VdLG89aVtlXTtzLnZhbHVlLnNldFZhbHVlKG8udmFsdWUoKSkscy5jb2xvci5zZXRWYWx1ZShVKG8uY29sb3IoKSkpLHMudmlzaWJsZS5zZXRWYWx1ZShvLnZpc2libGUoKSkscy50aXRsZS5zZXRWYWx1ZShvLnRpdGxlKCkpfX19X3VwZGF0ZVN0YXRlcygpe3N1cGVyLl91cGRhdGVTdGF0ZXMoKSx2b2lkIDAhPT10aGlzLl9lcnJvciYmdGhpcy5fZXJyb3Iuc2V0VmFsdWUoQm9vbGVhbih0aGlzLl9zb3VyY2UuaXNGYWlsZWQoKSkpfV9nZXRUaXRsZUhpZGRlblZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNUaXRsZS52YWx1ZSgpOiFlLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpfQpfZ2V0RGlzYWJsZWRPbkludGVydmFsU3RhdGUoKXtyZXR1cm4hKCEoMCxMdC5pc1N0dWR5KSh0aGlzLl9zb3VyY2UpJiYhKDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiYhdGhpcy5fc291cmNlLmlzQWN0dWFsSW50ZXJ2YWwoKX1fZ2V0VmFsdWVzSGlkZGVuVmFsdWUoKXtpZighdGhpcy5faGFzVmFsdWVzKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9pc1N5bWJvbExpa2VTdHVkeSgpPyFlLnNob3dTZXJpZXNPSExDLnZhbHVlKCkmJiFlLnNob3dCYXJDaGFuZ2UudmFsdWUoKSYmIWUuc2hvd0xhc3REYXlDaGFuZ2UudmFsdWUoKTohZS5zaG93U3R1ZHlWYWx1ZXMudmFsdWUoKX1faXNTeW1ib2xMaWtlU3R1ZHkoKXtyZXR1cm4oMCxMdC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSkodGhpcy5fc291cmNlKX1fZ2V0Q2hhbmdlU3ltYm9sQ2FsbGJhY2soKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihYdCYmKDAsa3QuaXNTeW1ib2xTb3VyY2VXaXRoUXVvdGVzUHJvdmlkZXIpKGUpKXJldHVybiB0aGlzLl9jaGFuZ2VTeW1ib2xDYWxsYmFja3x8PWFzeW5jIHQ9Pntjb25zdCBpPWUuc3ltYm9sKCkscz1lLnN5bWJvbEluZm8oKSxvPSgwLHJlLnNhZmVTaG9ydE5hbWUpKGkpLG49InNwcmVhZCI9PT1zPy50eXBlLGE9Im9wdGlvbiI9PT1zPy50eXBlLHI9cz8ucHJvX25hbWU7bGV0IGQ9bj9pOm98fGl8fCIiO2lmKCgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJmEmJnIpe2NvbnN0IGU9YXdhaXQoMCxLZS5yZXNvbHZlVW5kZXJseWluZ1N5bWJvbCkocik7ZSYmKGQ9e3R5cGU6Im9wdGlvbiIsdmFsdWU6cix1bmRlcmx5aW5nOmV9KX10cnl7YXdhaXQobmV3IEF0LlN5bWJvbFNlYXJjaFVJKS5zaG93KHtzZXRTeW1ib2w6dD0+e3RoaXMuX21vZGVsLnNldFN5bWJvbChlLHQuc3ltYm9sKX0sZGlhbG9nVGl0bGU6SnQsZGVmYXVsdFZhbHVlOmQsZW5hYmxlT3B0aW9uc0NoYWluOigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2hvd1NwcmVhZEFjdGlvbnM6KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19zcHJlYWRfb3BlcmF0b3JzIikmJigwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0dWRpZXNfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIiksb25DbG9zZTp0LHNlYXJjaFR5cGU6ImNoYXJ0X3N0YXR1c19saW5lIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9fSl9Y2F0Y2goZSl7RnQubG9nRXJyb3IoYEFub3RoZXIgU3ltYm9sU2VhcmNoVUkgaXMgYWxyZWFkeSBvcGVuZWQgb3IgQ3VzdG9tVUkgcmVqZWN0ZWQgc3ltYm9sIHNlbGVjdGlvbiAkeygwLFd0LmdldEVycm9yTWVzc2FnZSkoZSl9YCl9fX1hc3luYyBfdXBkYXRlQWJsZVNob3dTb3VyY2VDb2RlKCl7aWYoWXQmJnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGUmJiF0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZSl7Y29uc3QgZT10aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbD8uKCk/P1Byb21pc2UucmVzb2x2ZShudWxsKTtpZihlKXtjb25zdCB0PWF3YWl0IGU7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyLmRlc3Ryb3koKSx0aGlzLl9pc0FibGVTaG93U291cmNlQ29kZUlubmVyPXQ/LmlzQWJsZVNob3dTb3VyY2VDb2RlKCkuc3Bhd24oKT8/bmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5zcGF3bigpLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlSW5uZXIuc3Vic2NyaWJlKChlPT57dGhpcy5fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9fX1fdXBkYXRlVmlzaWJpbGl0eVBpbmVBY3Rpb24oZSl7bnVsbCE9PXRoaXMuX3BpbmVBY3Rpb25WaXNpYmxlJiYodGhpcy5fcGluZUFjdGlvblZpc2libGUuc2V0VmFsdWUoZSksdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSkpfV9jcmVhdGVBY3Rpb25zKCl7aWYoIXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlKXtpZih0aGlzLl9waW5lQWN0aW9uVmlzaWJsZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BpbmVBY3Rpb249e2ljb246bmV3IE1hcChbWyJsYXJnZSIsTnRdLFsic21hbGwiLFB0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblNob3dTb3VyY2VDb2RlLmJpbmQodGhpcykpLGRpc2FibGVBY2Nlc3NpYmlsaXR5OiEwLHZpc2libGU6dGhpcy5fcGluZUFjdGlvblZpc2libGUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoanQpLGRhdGFRYUlkOiJsZWdlbmQtcGluZS1hY3Rpb24ifSxxdCl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUoIXRoaXMuX2dldERpc2FibGVkT25JbnRlcnZhbFN0YXRlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsY3RdLFsic21hbGwiLHV0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblRvZ2dsZURpc2FibGVkLmJpbmQodGhpcykpLHZpc2libGU6ZS5yZWFkb25seSgpLGNsYXNzTmFtZTpjZS5leWUsdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEV5ZVRpdGxlKCkpLGRhdGFRYUlkOiJsZWdlbmQtc2hvdy1oaWRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9kaXNhYmxlZC5zdWJzY3JpYmUoKCgpPT57dC50aXRsZT8uc2V0VmFsdWUodGhpcy5fZ2V0RXllVGl0bGUoKSl9KSk7e2NvbnN0IHQ9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSxpPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREaXNhYmxlZE9uSW50ZXJ2YWxTdGF0ZSgpKSxzPXsKaWNvbjpuZXcgTWFwKFtbImxhcmdlIixjdF0sWyJzbWFsbCIsdXRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKGF0LlRhYk5hbWVzLnZpc2liaWxpdHksKCgpPT50LnNldFZhbHVlKCExKSkpfSkpLGFjdGl2ZTp0LnJlYWRvbmx5KCksdmlzaWJsZTppLnJlYWRvbmx5KCksY2xhc3NOYW1lOmNlLmludGVydmFsRXllLHRpdGxlOm5ldyByLldhdGNoZWRWYWx1ZShadCksZGF0YVFhSWQ6ImxlZ2VuZC1pbnRlcnZhbC1zaG93LWhpZGUtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKHMpLHRoaXMuX2Rpc2FibGVkT25JbnRlcnZhbC5zdWJzY3JpYmUoKHQ9PntpLnNldFZhbHVlKHQpLGUuc2V0VmFsdWUoIXQpfSkpfX1pZigkdCYmUXQmJighKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8bmV3IFR0Lk1ldGFJbmZvSGVscGVyKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpKS5oYXNVc2VyRWRpdGFibGVPcHRpb25zKFZ0LmlzQ3VzdG9tU3R1ZHkpKSl7Y29uc3QgZT1uZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0SXNFZGl0YWJsZSgpKSx0PW5ldyByLldhdGNoZWRWYWx1ZSghMSksaT17aWNvbjpuZXcgTWFwKFtbImxhcmdlIixEdF0sWyJzbWFsbCIsSHRdXSksYWN0aW9uOigwLEkud3JhcEhhbmRsZXJXaXRoUHJldmVudEV2ZW50KSgoKCk9Pnt0LnNldFZhbHVlKCEwKSx0aGlzLm9uU2hvd1NldHRpbmdzKHZvaWQgMCwoKCk9PnQuc2V0VmFsdWUoITEpKSl9KSksdmlzaWJsZTplLnJlYWRvbmx5KCksYWN0aXZlOnQucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoenQpLGRhdGFRYUlkOiJsZWdlbmQtc2V0dGluZ3MtYWN0aW9uIn07dGhpcy5fYWN0aW9ucy5wdXNoKGkpLHRoaXMuX2lzRWRpdGFibGUuc3Vic2NyaWJlKCh0PT57ZS5zZXRWYWx1ZSh0KX0pKX1pZigoKDAsTHQuaXNTdHVkeSkodGhpcy5fc291cmNlKXx8KDAsTHQuaXNTdHVkeVN0dWIpKHRoaXMuX3NvdXJjZSkpJiZZdCYmdGhpcy5fb3B0aW9ucy5jYW5TaG93U291cmNlQ29kZSYmdGhpcy5fYWN0aW9ucy5wdXNoKHRoaXMuX3BpbmVBY3Rpb24pLEt0KXtjb25zdCBlPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc0VkaXRhYmxlKCkpLHQ9e2ljb246bmV3IE1hcChbWyJsYXJnZSIsT3RdLFsic21hbGwiLFJ0XV0pLGFjdGlvbjooMCxJLndyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudCkodGhpcy5vblJlbW92ZVNvdXJjZS5iaW5kKHRoaXMpKSx2aXNpYmxlOmUucmVhZG9ubHkoKSx0aXRsZTpuZXcgci5XYXRjaGVkVmFsdWUoVXQpLGRhdGFRYUlkOiJsZWdlbmQtZGVsZXRlLWFjdGlvbiJ9O3RoaXMuX2FjdGlvbnMucHVzaCh0KSx0aGlzLl9pc0VkaXRhYmxlLnN1YnNjcmliZSgodD0+e2Uuc2V0VmFsdWUodCl9KSl9e2NvbnN0IGU9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKTt0aGlzLl9hY3Rpb25zLnB1c2goe2ljb246bmV3IE1hcChbWyJsYXJnZSIscHRdLFsic21hbGwiLGh0XV0pLGFjdGlvbjp0PT57ZS5zZXRWYWx1ZSghMCksdGhpcy5fbW9yZUFjdGlvbkhhbmRsZXIodCwoKCk9PmUuc2V0VmFsdWUoITEpKSl9LHZpc2libGU6dGhpcy5faXNFZGl0YWJsZS5zcGF3bigpLGFjdGl2ZTplLnJlYWRvbmx5KCksdGl0bGU6bmV3IHIuV2F0Y2hlZFZhbHVlKEd0KSxkYXRhUWFJZDoibGVnZW5kLW1vcmUtYWN0aW9uIn0pfX19X3VwZGF0ZVN5bWJvbExvZ29Nb2RlbCgpe2lmKHRoaXMuX3N5bWJvbExvZ29WaWV3TW9kZWwudmFsdWUoKT8uZGVzdHJveSgpLCgwLGt0LmlzU3ltYm9sU291cmNlV2l0aFF1b3Rlc1Byb3ZpZGVyKSh0aGlzLl9zb3VyY2UpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCksdD1udChuZXcgZHQodGhpcy5fc291cmNlKSxlKTt0aGlzLl9zeW1ib2xMb2dvVmlld01vZGVsLnNldFZhbHVlKHQpfWVsc2UgdGhpcy5fc3ltYm9sTG9nb1ZpZXdNb2RlbC5zZXRWYWx1ZShudWxsKX19dmFyIGlpPWkoMTI4OTk4KSxzaT1pKDIxNDc3MSksb2k9aSg3NjI4NTEpLG5pPWkoMTY4NzcxKSxhaT1pKDQ3NzE1NSk7ZnVuY3Rpb24gbGkoZSx0LGkpe2Uuc2V0UHJvcGVydHkodCwhdC52YWx1ZSgpLGkpfWNvbnN0IHJpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgZGVzY3JpcHRpb24gdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTU1NjY2KSkpLGRpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBvcGVuIG1hcmtldCBzdGF0dXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMTc2MjQ5KSkpLHVpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjaGFydCB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoNTY4NzMwKSkpLGNpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBsYXN0IGRheSBjaGFuZ2UgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1NjgyKSkpLGhpPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBiYXIgY2hhbmdlIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDM2Nzg2MCkpKSxwaT1uZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9yIHRpdGxlcyB2aXNpYmlsaXR5IixQLnQobnVsbCx2b2lkIDAsaSgzMjA0MjYpKSksX2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMzM1MzMpKSksZ2k9bmV3IE4uVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGluZGljYXRvciB2YWx1ZXMgdmlzaWJpbGl0eSIsUC50KG51bGwsdm9pZCAwLGkoMjE1MDI3KSkpLG1pPW5ldyBOLlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB2b2x1bWUgdmFsdWVzIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDUyMTY0KSkpLGJpPShuZXcgTi5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugc3ltYm9sIGZpZWxkIHZpc2liaWxpdHkiLFAudChudWxsLHZvaWQgMCxpKDY2ODE5MikpKSwKUC50KG51bGwsdm9pZCAwLGkoNjg3NjEpKSksdmk9UC50KG51bGwsdm9pZCAwLGkoMTY1MzQwKSksZmk9UC50KG51bGwsdm9pZCAwLGkoMjg4NTgwKSksU2k9UC50KG51bGwsdm9pZCAwLGkoNTI3MDIwKSkseWk9UC50KG51bGwsdm9pZCAwLGkoODk5NzkpKSx3aT1QLnQobnVsbCx2b2lkIDAsaSgyNDcwNjIpKSxDaT1QLnQobnVsbCx2b2lkIDAsaSg0NDMxOTIpKSxFaT1QLnQobnVsbCx2b2lkIDAsaSgyMDQ0ODgpKSx4aT1QLnQobnVsbCx2b2lkIDAsaSg5NzM5NzEpKSxMaT0oUC50KG51bGwsdm9pZCAwLGkoMjg4NzI1KSksKDAsb2kuYXBwZW5kRWxsaXBzaXMpKFAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSksTWk9KGUsdCk9PmU/ZS5kYXRhc2V0W3RdP2UuZGF0YXNldFt0XTplLnBhcmVudEVsZW1lbnQ/TWkoZS5wYXJlbnRFbGVtZW50LHQpOm51bGw6bnVsbDt2YXIgVGksVmk9aSg3OTQ5NSksa2k9aSg0NDE0NDApLEFpPWkoNjA0Mzg0KTshZnVuY3Rpb24oZSl7ZVtlLkxlZ2VuZD0wXT0iTGVnZW5kIixlW2UuSXRlbXM9MV09Ikl0ZW1zIn0oVGl8fChUaT17fSkpO3ZhciBXaT1pKDk3MDYzNSksSWk9aSg3ODM5NzgpLEJpPWkoNjQyNzgzKSxIaT1pKDM1MTE4MiksRGk9aSg4NjA1NDgpO2NvbnN0IFBpPVAudChudWxsLHZvaWQgMCxpKDkxOTEyMSkpLE5pPVAudChudWxsLHZvaWQgMCxpKDM2Mjk2KSksUmk9UC50KG51bGwsdm9pZCAwLGkoODc5NjYxKSksT2k9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLEJpXSxbIm1lZGl1bSIsSGldLFsibGFyZ2UiLEhpXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksRmk9bmV3IE1hcChbWyEwLERpLmhhc0Vycm9yXSxbITEsbnVsbF1dKSx6aT1uZXcgTWFwKFtbITAsUGldLFshMSxudWxsXV0pLGppPW5ldyBNYXAoW1shMCxQaV0sWyExLG51bGxdXSksVWk9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFshMSxudWxsXV0pLEdpPW5ldyBNYXAoW1shMCxbTmldXSxbITEsbnVsbF1dKSxaaT1uZXcgTWFwKFtbITAsW1JpXV0sWyExLG51bGxdXSk7ZnVuY3Rpb24gSmkoZSl7c3dpdGNoKGUpe2Nhc2UgMDpyZXR1cm4gR2k7Y2FzZSAxOnJldHVybiBaaTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBDb21iaW5lZFN0YXR1c1dpZGdldFR5cGUiKX19dmFyIFlpPWkoOTg5ODcyKSxxaT1pKDkxMzg0Myk7Y29uc3QgJGk9UC50KG51bGwsdm9pZCAwLGkoMjQzNTQxKSksUWk9UC50KG51bGwsdm9pZCAwLGkoNzk1MzMwKSksS2k9UC50KG51bGwsdm9pZCAwLGkoMzYxMDUpKSxYaT1uZXcgTWFwKFtbITAsbmV3IE1hcChbWyJzbWFsbCIsWWldLFsibWVkaXVtIixxaV0sWyJsYXJnZSIscWldXSldLFshMSxuZXcgTWFwKFtbInNtYWxsIiwiIl0sWyJtZWRpdW0iLCIiXSxbImxhcmdlIiwiIl1dKV1dKSxlcz1uZXcgTWFwKFtbITAsRGkudXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSx0cz1uZXcgTWFwKFtbITAsJGldLFshMSxudWxsXV0pLGlzPW5ldyBNYXAoW1shMCwkaV0sWyExLG51bGxdXSksc3M9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKSxvcz1uZXcgTWFwKFtbITAsW1FpXV0sWyExLG51bGxdXSksbnM9bmV3IE1hcChbWyEwLFtLaV1dLFshMSxudWxsXV0pO2Z1bmN0aW9uIGFzKGUpe3N3aXRjaChlKXtjYXNlIDA6cmV0dXJuIG9zO2Nhc2UgMTpyZXR1cm4gbnM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gQ29tYmluZWRTdGF0dXNXaWRnZXRUeXBlIil9fWNsYXNzIGxzIGV4dGVuZHMgSWkuU3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2V7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz1udWxsLHRoaXMuX2hhc1VwZGF0ZVN0YXR1cz1udWxsLHRoaXMuX2hhc0Vycm9yVmlld01vZGVsPW51bGwsdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eT0oKT0+e2NvbnN0IGU9MD09PXRoaXMudmlzaWJsZU1vZGVscygpLnZhbHVlKCkubGVuZ3RoO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoIWUpfSx0aGlzLl90eXBlPWV9ZGVzdHJveSgpe3RoaXMuX2hhc0Vycm9yVmlld01vZGVsPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlVmlld01vZGVsPy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfWFkZFN0YXR1c1dpZGdldChlKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cy5wdXNoKGUpLHRoaXMuX3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKSx0aGlzLl9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCl9Y2xlYXIoKXt0aGlzLl9kYXRhU291cmNlU3RhdHVzV2lkZ2V0cz1bXSx0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpLHRoaXMuX2hhc0Vycm9yU3RhdHVzPW51bGwsdGhpcy5faGFzVXBkYXRlU3RhdHVzPy5kZXN0cm95KCksdGhpcy5faGFzVXBkYXRlU3RhdHVzPW51bGwsdGhpcy5fY2xlYXJTdGF0dXNWaWV3TW9kZWxzKCksdGhpcy5faGFzRXJyb3JWaWV3TW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1udWxsLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbD1udWxsLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnNldFZhbHVlKFtdKX1hc3luYyBfY3JlYXRlU3RhdHVzZXNXaWRnZXRTdGF0ZXMoKXtjb25zdCBlPXRoaXMuX2hhc0Vycm9yU3RhdHVzO251bGwhPT1lJiYobnVsbD09PXRoaXMuX2hhc0Vycm9yVmlld01vZGVsPyh0aGlzLl9oYXNFcnJvclZpZXdNb2RlbD1uZXcgV2kuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHtjbGFzc05hbWVNYXA6RmksaHRtbE1hcDpKaSh0aGlzLl90eXBlKSxpY29uTWFwOk9pLHNpemU6dGhpcy5fc2l6ZSx0aXRsZUNvbG9yTWFwOlVpLHRpdGxlTWFwOmppLHRvb2x0aXBNYXA6eml9KSwKdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsfSkpOnRoaXMuX2hhc0Vycm9yVmlld01vZGVsLnVwZGF0ZVN0YXR1cyhlKSk7Y29uc3QgdD10aGlzLl9oYXNVcGRhdGVTdGF0dXM7bnVsbCE9PXQmJihudWxsPT09dGhpcy5faGFzVXBkYXRlVmlld01vZGVsPyh0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWw9bmV3IFdpLkJvb2xlYW5TdGF0dXNWaWV3TW9kZWwodCx7Y2xhc3NOYW1lTWFwOmVzLGh0bWxNYXA6YXModGhpcy5fdHlwZSksaWNvbk1hcDpYaSxzaXplOnRoaXMuX3NpemUsdGl0bGVDb2xvck1hcDpzcyx0aXRsZU1hcDppcyx0b29sdGlwTWFwOnRzfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2hhc1VwZGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDp0aGlzLl9oYXNVcGRhdGVWaWV3TW9kZWx9KSk6dGhpcy5faGFzVXBkYXRlVmlld01vZGVsLnVwZGF0ZVN0YXR1cyh0KSl9X3JlY3JlYXRlSGFzRXJyb3JTdGF0dXMoKXt0aGlzLl9oYXNFcnJvclN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzRXJyb3JTdGF0dXM9KDAsZC5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKChlPT5lKSkpLGUub3duZXJzaGlwKCkpfV9yZWNyZWF0ZUhhc1VwZGF0ZVN0YXR1cygpe3RoaXMuX2hhc1VwZGF0ZVN0YXR1cz8uZGVzdHJveSgpO2NvbnN0IGU9KDAsZC5jb21iaW5lKSgoZT0+dGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMubWFwKChlPT5lLmRhdGFVcGRhdGVkTW9kZVNob3duLndlYWtSZWZlcmVuY2UoKSkpKSxuZXcgci5XYXRjaGVkVmFsdWUodGhpcy5fZGF0YVNvdXJjZVN0YXR1c1dpZGdldHMpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5faGFzVXBkYXRlU3RhdHVzPSgwLGQuYWNjdW11bGF0ZSkoKGU9PmUuc29tZSgoZT0+ZSkpKSxlLm93bmVyc2hpcCgpKX19dmFyIHJzPWkoOTMwNTY2KSxkcz1pKDY2NTE4NyksdXM9aSgyODI3MTApO2NvbnN0IGNzPXtyZWFkT25seU1vZGU6ITEsY29udGV4dE1lbnU6e3NldHRpbmdzOiEwLG1haW5TZXJpZXM6ITAsc3R1ZGllczohMCxzaG93T3Blbk1hcmtldFN0YXR1czohMX0sc3ltYm9sTWFya2VyRW5hYmxlZDohMSxzaG93VG9nZ2xlQnV0dG9uOiEwLGNhblNob3dTb3VyY2VDb2RlOiExLHN0YXR1c2VzV2lkZ2V0czp7c291cmNlU3RhdHVzZXNFbmFibGVkOiExLHNvdXJjZVN0YXR1c2VzOntlcnJvclNvbHV0aW9uOiEwfSxtYXJrZXRTdGF0dXNFbmFibGVkOiExLG1hcmtldFN0YXR1czp7cHJlTWFya2V0U29sdXRpb246ITAscG9zdE1hcmtldFNvbHV0aW9uOiEwfSxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6ITEsZGF0YVVwZGF0ZU1vZGU6e3N1YnNjcmlwdGlvbkZ1bGxJbmZvOiEwfSxkYXRhUHJvYmxlbUVuYWJsZWQ6ITF9fTt2YXIgaHM7IWZ1bmN0aW9uKGUpe2UuVG9nZ2xlclN0YXRlU2V0dGluZ3NLZXk9ImxlZ2VuZC5pc1Zpc2liaWxpdHlUb2dnbGVkIixlW2UuVGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyTWF4U2l6ZT0xMzJdPSJUZXh0U291cmNlSXNBbHdheXNUaWNrZXJNYXhTaXplIn0oaHN8fChocz17fSkpO2NvbnN0IHBzPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVnZW5kX2J5X2RlZmF1bHQiKSxfcz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJmdW5kYW1lbnRhbF93aWRnZXQiKSxncz0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsZWdlbmRfY29udGV4dF9tZW51IiksbXM9cGFyc2VJbnQodXMuY3NzX3ZhbHVlX2NoYXJ0X2d1aV93cmFwcGVyX2NvbHVtbl9nYXApO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCxpLHMsbixsLGMsaCl7dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzPVtdLHRoaXMuX3NvdXJjZXNJZHM9W10sdGhpcy5fdmlzaWJsZURhdGFTb3VyY2VDb3VudD1uZXcgci5XYXRjaGVkVmFsdWUoMCksdGhpcy5fdGhlbWVkQ29sb3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCIiKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuPW51bGwsdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW49W10sdGhpcy5fY3VzdG9tV2lkZ2V0c1Zpc2liaWxpdGllcz1bXSx0aGlzLl9hbGxMZWdlbmRIaWRkZW49bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3I9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcz1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzPVtdLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9bnVsbCx0aGlzLl9hdmFpbGFibGVIZWlnaHQ9MCx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50PW5ldyByLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc1RpdGxlPW5ldyByLldhdGNoZWRWYWx1ZSgiIiksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbCx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fc3RhdHVzUHJvdmlkZXJzPW5ldyBNYXAsdGhpcy5fc2l6ZT1udWxsLHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXA9bmV3IE1hcCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwPW5ldyBNYXAsdGhpcy5fbWFyZ2luPTAsdGhpcy5fbGF5b3V0Q2hhbmdlZD1uZXcgdS5EZWxlZ2F0ZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVXaWRnZXQ9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKGNzKSxjKSwKdGhpcy5fY2FsbGJhY2tzPWgsdGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zPXtyZWFkT25seU1vZGU6dGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGUsc3ltYm9sTWFya2VyRW5hYmxlZDp0aGlzLl9vcHRpb25zLnN5bWJvbE1hcmtlckVuYWJsZWR9LHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzT3B0aW9ucz17Li4udGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbHNPcHRpb25zLGNhblNob3dTb3VyY2VDb2RlOnRoaXMuX29wdGlvbnMuY2FuU2hvd1NvdXJjZUNvZGV9LHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWU9aTtjb25zdCBwPXRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKTtpZih0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkPW5ldyByLldhdGNoZWRWYWx1ZShwLnZhbHVlKCkpLHAuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5faXNEYXRhU291cmNlc0NvbGxhcHNlZC5zZXRWYWx1ZShwLnZhbHVlKCkpfSkpLHBzJiYhcnMuZ2V0Qm9vbCgibGVnZW5kLmlzVmlzaWJpbGl0eVRvZ2dsZWQiKSl7Y29uc3QgZT10aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpO3RoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQ9dGhpcy5fc2V0TGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQuYmluZCh0aGlzKSxlLnNldFZhbHVlKCExKSxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpfWNvbnN0IF89bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpLGc9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7Zy5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PntfLnNldFZhbHVlKHRoaXMuX2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCkpfSkpO2NvbnN0IG09Zy5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dCYWNrZ3JvdW5kLGI9bmV3IHIuV2F0Y2hlZFZhbHVlKG0udmFsdWUoKSk7bS5zdWJzY3JpYmUodGhpcywoKCk9PntiLnNldFZhbHVlKG0udmFsdWUoKSl9KSk7Y29uc3Qgdj1nLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZFRyYW5zcGFyZW5jeSxmPW5ldyByLldhdGNoZWRWYWx1ZSh2LnZhbHVlKCkpO3Yuc3Vic2NyaWJlKHRoaXMsKCgpPT57Zi5zZXRWYWx1ZSh2LnZhbHVlKCkpfSkpLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcz1zLHRoaXMuX2hpZGVOb3RNYWluU291cmNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmU9bix0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnN1YnNjcmliZSh0aGlzLl91cGRhdGVDb2xsYXBzZWRTb3VyY2VzTW9kZS5iaW5kKHRoaXMpKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQ9bCx0aGlzLl9oaWRlV2hvbGVMZWdlbmQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcy5iaW5kKHRoaXMpKSx0aGlzLl9pc1BhbmVNYWluPW5ldyByLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYWluVmFsdWUoKSksdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZT0oMCxvLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlLmJpbmQodGhpcyksMTAwKSx0aGlzLl9pc1BhbmVNYWluLnN1YnNjcmliZSgoZT0+dGhpcy5fc2hvd0NvbGxhcHNlcldpdGhPbmVJbmRpY2F0b3Iuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlPW5ldyBscygxLHRoaXMuX29wdGlvbnMuc3RhdHVzZXNXaWRnZXRzKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZT1uZXcgbHMoMCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyksdGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzPSgwLGQuYWNjdW11bGF0ZSkoKChlLHQpPT57Y29uc3QgaT1lLnNvbWUoQm9vbGVhbik7cmV0dXJuW2ksISFpJiZlLmluY2x1ZGVzKCEwLC10KV19KSx0aGlzLl9kYXRhU291cmNlc0xvYWRpbmdTdGF0dXNlcy53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29sbGFwc2VkRGF0YVNvdXJjZXNDb3VudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3JlbmRlcmVyPW5ldyBCZSh7aXNNdWx0aXBsZUxheW91dDp0aGlzLl9tb2RlbC5pc011bHRpcGxlTGF5b3V0KCksd2l0aEFjdGlvbnM6IXRoaXMuX29wdGlvbnMucmVhZE9ubHlNb2RlLHNob3dUb2dnbGVCdXR0b246dGhpcy5fb3B0aW9ucy5zaG93VG9nZ2xlQnV0dG9uLGlzU3R1ZGllc0xlZ2VuZEhpZGRlbjp0aGlzLl9zdHVkaWVzTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksaXNBbGxMZWdlbmRIaWRkZW46dGhpcy5fYWxsTGVnZW5kSGlkZGVuLnJlYWRvbmx5KCksY3VzdG9tVGV4dENvbG9yOl8ucmVhZG9ubHkoKSx0aGVtZWRDb2xvcjp0aGlzLl90aGVtZWRDb2xvci5yZWFkb25seSgpLHNob3dCYWNrZ3JvdW5kOmIucmVhZG9ubHkoKSxiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OmYucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc0NvdW50OnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzQ291bnQucmVhZG9ubHkoKSxjb2xsYXBzZWREYXRhU291cmNlc1RpdGxlOnRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUucmVhZG9ubHkoKSxjb21iaW5lZFN0YXR1c2VzV2lkZ2V0U3RhdGU6dGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZSxzaG93TGVnZW5kV2lkZ2V0Q29udGV4dE1lbnU6dGhpcy5vblNob3dMZWdlbmRXaWRnZXRDb250ZXh0TWVudS5iaW5kKHRoaXMpLGhpZGVBbGxFeGNlcHRGaXJzdExpbmU6dGhpcy5faGlkZUFsbEV4Y2VwdEZpcnN0TGluZSxvbkxlZ2VuZFJvd0ZvY3VzZWQ6dGhpcy5fY2FsbGJhY2tzLm9uTGVnZW5kUm93Rm9jdXNlZCxvbkxheW91dENoYW5nZWQ6dGhpcy5fbGF5b3V0Q2hhbmdlZCxoYXNMb2FkaW5nRGF0YVNvdXJjZXM6dGhpcy5faGFzTG9hZGluZ0RhdGFTb3VyY2VzfSx7CnNob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yOnRoaXMuX3Nob3dDb2xsYXBzZXJXaXRoT25lSW5kaWNhdG9yLnJlYWRvbmx5KCksdmlzaWJsZURhdGFTb3VyY2VDb3VudDp0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnJlYWRvbmx5KCksaXNEYXRhU291cmNlc0NvbGxhcHNlZDp0aGlzLl9pc0RhdGFTb3VyY2VzQ29sbGFwc2VkLnJlYWRvbmx5KCksaGFzTG9hZGluZ0RhdGFTb3VyY2VzOnRoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcyxpc01haW5QYW5lOnRoaXMuX2lzUGFuZU1haW4ucmVhZG9ubHkoKSxvbkNvbGxhcHNlRGF0YVNvdXJjZXM6dGhpcy5vbkNvbGxhcHNlRGF0YVNvdXJjZXMuYmluZCh0aGlzKSxvblNob3dPYmplY3RzVHJlZURpYWxvZzp0aGlzLl9jYWxsYmFja3Muc2hvd09iamVjdHNUcmVlRGlhbG9nLGlzUGFuZUNvbGxhcHNlZDp0aGlzLl9wYW5lV2lkZ2V0LnZpc3VhbGx5Q29sbGFwc2VkKCksY29tYmluZWRTdGF0dXNlc1dpZGdldFN0YXRlOnRoaXMuX3RvZ2dsZWRTdGF0dXNlc1dpZGdldFN0YXRlfSl9ZGVzdHJveSgpe3RoaXMuX2hhc0xvYWRpbmdEYXRhU291cmNlcy5kZXN0cm95KCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5yZWxlYXNlKCksdGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnJlbGVhc2UoKSx0aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnJlbGVhc2UoKSx0aGlzLl9oaWRlV2hvbGVMZWdlbmQucmVsZWFzZSgpLHRoaXMuX3NvdXJjZXNJZHM9W10sbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJnRoaXMuX2Rlc3Ryb3lNYWluRGF0YVNvdXJjZSgpO2Zvcihjb25zdFssZV1vZiB0aGlzLl9zdGF0dXNQcm92aWRlcnMpZS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMpZS5kZXN0cm95KCk7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9W10sdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5kZXN0cm95KCksdGhpcy5fdG9nZ2xlZFN0YXR1c2VzV2lkZ2V0U3RhdGUuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyllLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9W10sdGhpcy5fY2xlYXJTdWJzY3JpcHRpb25zKCk7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmtleXMoKSkpdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKGUpO3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAuY2xlYXIoKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3JlbmRlcmVyLHRoaXMuX3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zaG93TGVnZW5kT3JpZ2luYWxQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpO2NvbnN0IGU9dGhpcy5fbW9kZWwubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ZS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0JhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksZS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUcmFuc3BhcmVuY3kudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fZGF0YVNvdXJjZXNMb2FkaW5nU3RhdHVzZXMuc2V0VmFsdWUoW10pfWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7Y29uc3QgaT10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLmdldCh0LmJsb2NrKXx8bmV3IE1hcCxzPWkuZ2V0KHQucG9zaXRpb24pfHxbXTtzLnB1c2goZSksaS5zZXQodC5wb3NpdGlvbixzKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yaWVzTWFwLnNldCh0LmJsb2NrLGkpLHRoaXMudXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpfW9uU2hvd0xlZ2VuZFdpZGdldENvbnRleHRNZW51KGUsdCl7aWYodGhpcy5fb3B0aW9ucy5yZWFkT25seU1vZGV8fCFncylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7TygiU2hvdyBsZWdlbmQgY29udGV4dCBtZW51Iik7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5rZXlzKCkpKXtjb25zdCB0PSgwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSkpLHM9bmV3IE1hcDtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHQua2V5cygpKSl7Y29uc3QgaT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZ2V0KGUpKSxvPXMuZ2V0KGUpfHxbXTtmb3IoY29uc3QgZSBvZiBpKW8ucHVzaCguLi5lLmNvbnRleHRNZW51QWN0aW9ucygpKTtzLnNldChlLG8pfWkuc2V0KGUscyl9cmV0dXJuIGZ1bmN0aW9uKGUsdCxpLHMsbyxuKXtjb25zdCBhPVtdLGw9cy5nZXQoMCk7aWYodm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgxKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3Qgcj1lLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7YS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlU3ltYm9sVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSxsYWJlbDpiaSxzdGF0TmFtZToiU2hvdy9IaWRlIFN5bWJvbCIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1Nlcmllc1RpdGxlLHJpKX19KSksdC5zaG93T3Blbk1hcmtldFN0YXR1cyYmIm1hcmtldCI9PT1lLm1haW5TZXJpZXMoKS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnZhbHVlKCkmJiEoMCwKaWkuaXNFY29ub21pY1N5bWJvbCkoZS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpKSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlT3Blbk1hcmtldFN0YXR1c1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSxsYWJlbDp2aSxzdGF0TmFtZToiU2hvdy9IaWRlIE9wZW4gbWFya2V0IHN0YXR1cyIsb25FeGVjdXRlOigpPT5saShlLHNpLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHksZGkpfX0pKSxhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVPaGxjVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U2VyaWVzT0hMQy52YWx1ZSgpLGxhYmVsOmZpLHN0YXROYW1lOiJTaG93L0hpZGUgY2hhcnQgdmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U2VyaWVzT0hMQyx1aSl9fSkpO2NvbnN0IGQ9ZS5tYWluU2VyaWVzKCkuc3R5bGUoKSx1PTEyIT09ZCYmMjAhPT1kO2lmKHUmJiFuaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSYmYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlQmFyQ2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93QmFyQ2hhbmdlLnZhbHVlKCksbGFiZWw6eWksc3RhdE5hbWU6IlNob3cvSGlkZSBCYXIgQ2hhbmdlIFZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd0JhckNoYW5nZSxoaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZVZvbHVtZVZpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1ZvbHVtZS52YWx1ZSgpLGxhYmVsOndpLHN0YXROYW1lOiJTaG93L0hpZGUgVm9sdW1lIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93Vm9sdW1lLG1pKX19KSksdSYmKG5pLmxhc3REYXlDaGFuZ2VBdmFpbGFibGV8fG5pLmFsd2F5c1Nob3dMYXN0UHJpY2VBbmRMYXN0RGF5Q2hhbmdlKSl7Y29uc3QgdD1uaS5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZT9yLnNob3dCYXJDaGFuZ2U6ci5zaG93TGFzdERheUNoYW5nZTthLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVMYXN0RGF5Q2hhbmdlVmFsdWVzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLGxhYmVsOlNpLHN0YXROYW1lOiJTaG93L0hpZGUgTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyIsb25FeGVjdXRlOigpPT5saShlLHQsY2kpfX0pKX1pZihhLnB1c2gobmV3IEplLlNlcGFyYXRvciksdm9pZCAwIT09bCl7Y29uc3QgZT1sLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9Y29uc3QgYz1zLmdldCgxKTtpZih2b2lkIDAhPT1jKXtjb25zdCBlPWMuZ2V0KDEpO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJihhLnB1c2goLi4uZSksYS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpKX1pZihlLm1vZGVsKCkucHJpY2VEYXRhU291cmNlcygpLnNvbWUoKGU9PiEoMCxrdC5pc1N5bWJvbFNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpKSkmJihhLnB1c2gobmV3IEplLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkxlZ2VuZC5Ub2dnbGVJbmRpY2F0b3JUaXRsZXNWaXNpYmlsaXR5IixvcHRpb25zOntjaGVja2FibGU6ITAsY2hlY2tlZDpyLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLGxhYmVsOkNpLHN0YXROYW1lOiJTaG93L0hpZGUgSW5kaWNhdG9yIFRpdGxlcyIsb25FeGVjdXRlOigpPT5saShlLHIuc2hvd1N0dWR5VGl0bGVzLHBpKX19KSksYS5wdXNoKG5ldyBKZS5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5MZWdlbmQuVG9nZ2xlSW5kaWNhdG9yQXJndW1lbnRzVmlzaWJpbGl0eSIsb3B0aW9uczp7Y2hlY2thYmxlOiEwLGNoZWNrZWQ6ci5zaG93U3R1ZHlBcmd1bWVudHMudmFsdWUoKSxsYWJlbDpFaSxzdGF0TmFtZToiU2hvdy9IaWRlIEluZGljYXRvciBBcmd1bWVudHMiLG9uRXhlY3V0ZTooKT0+bGkoZSxyLnNob3dTdHVkeUFyZ3VtZW50cyxfaSl9fSkpLGEucHVzaChuZXcgSmUuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTGVnZW5kLlRvZ2dsZUluZGljYXRvclZhbHVlc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2NoZWNrYWJsZTohMCxjaGVja2VkOnIuc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCksbGFiZWw6eGksc3RhdE5hbWU6IlNob3cvSGlkZSBJbmRpY2F0b3IgVmFsdWVzIixvbkV4ZWN1dGU6KCk9PmxpKGUsci5zaG93U3R1ZHlWYWx1ZXMsZ2kpfX0pKSksdm9pZCAwIT09Yyl7Y29uc3QgZT1jLmdldCgwKTt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiYoYS5wdXNoKC4uLmUpLGEucHVzaChuZXcgSmUuU2VwYXJhdG9yKSl9dC5zZXR0aW5ncyYmKGFbYS5sZW5ndGgtMV1pbnN0YW5jZW9mIEplLlNlcGFyYXRvcnx8YS5wdXNoKG5ldyBKZS5TZXBhcmF0b3IpLGEucHVzaChuZXcgYWkuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncy5MZWdlbmRUYWIiLG9wdGlvbnM6e2xhYmVsOkxpLGljb25JZDoiU2V0dGluZ3MiLHN0YXROYW1lOiJTZXR0aW5ncy4uLiIsb25FeGVjdXRlOigpPT5pKGF0LlRhYk5hbWVzLmxlZ2VuZCl9fSkpKTtjb25zdCBoPU1pKG8udGFyZ2V0LCJlbnRpdHlJZCIpLHA9e21lbnVOYW1lOiJMZWdlbmRQcm9wZXJ0aWVzQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZTpoPyJzdHVkeSI6InNlcmllcyIsaWQ6aD8/Il9zZXJpZXNJZCJ9fTtyZXR1cm4gWWUuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KGEsbyx7c3RhdE5hbWU6IkxlZ2VuZENvbnRleHRNZW51In0scCxuKX0odGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSx0aGlzLl9jYWxsYmFja3Muc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMsaSxlLHQpfQpvbkNvbGxhcHNlRGF0YVNvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCk7ZS5zZXRWYWx1ZSghZS52YWx1ZSgpKX11cGRhdGVMYXlvdXQoKXtpZighdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXQuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmxlZ2VuZFZpZXdTb3VyY2VzKCkuZmlsdGVyKChlPT5udWxsIT09ZS5zdGF0dXNWaWV3KCkmJmUuaXNEaXNwbGF5ZWRJbkxlZ2VuZCgpKSkucmV2ZXJzZSgpLHQ9dGhpcy5fc291cmNlc0lkcyxpPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPWUuaW5kZXhPZihpKTtsZXQgbztpZigtMSE9PXMpe2lmKGUuc3BsaWNlKHMsMSksIV9zJiZudWxsPT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbCl7Y29uc3QgZT1uZXcgeHQodGhpcy5fbW9kZWwsaSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpO3RoaXMuX21haW5TZXJpZXNWaWV3TW9kZWw9ZTtjb25zdCB0PW5ldyBWaS5NYWluRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGUodGhpcy5fc3RhdHVzU291cmNlQWRhcHRlcihpKSx0aGlzLl9tb2RlbCx0aGlzLl9vcHRpb25zLnN0YXR1c2VzV2lkZ2V0cyk7dGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9dCxvPXttb2RlbDplLHN0YXR1c2VzV2lkZ2V0U3RhdGU6dH19fWVsc2UgbnVsbCE9PXRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwmJihvPW51bGwsdGhpcy5fZGVzdHJveU1haW5EYXRhU291cmNlKCksdGhpcy5fZGVzdHJveUN1c3RvbVdpZGdldEZyb21MYXllckJsb2NrKDApKTtjb25zdCBhPWUubWFwKChlPT5lLmluc3RhbmNlSWQoKSkpO3RoaXMuX3NvdXJjZXNJZHM9YTtjb25zdCBsPVtdLHI9bmV3IE1hcCxkPVtdLHU9W10sYz10aGlzLl9kYXRhU291cmNlVmlld01vZGVscyxoPXRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcztsZXQgcD10Lmxlbmd0aC0xO2Zvcig7cD49MDspe2NvbnN0IGU9dFtwXSxpPWEuaW5kZXhPZihlKTtpZigtMT09PWkpe2wucHVzaChwKSxjW3BdLmRlc3Ryb3koKSxoW3BdLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3N0YXR1c1Byb3ZpZGVycy5nZXQoZSk7dCYmKHQuZGVzdHJveSgpLHRoaXMuX3N0YXR1c1Byb3ZpZGVycy5kZWxldGUoZSkpfWVsc2UgcCE9PWkmJihyLnNldChlLHttb2RlbDpjW3BdLHN0YXR1c2VzV2lkZ2V0U3RhdGU6aFtwXX0pLGQucHVzaCh7b2xkSW5kZXg6cCxuZXdJbmRleDppfSkpO3AtLX1jb25zdCBfPVtdLGc9W107Zm9yKGxldCBpPTA7aTxhLmxlbmd0aDtpKyspe2NvbnN0IHM9YVtpXTtsZXQgbyxsO2lmKHIuaGFzKHMpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoci5nZXQocykpO289ZS5tb2RlbCxsPWUuc3RhdHVzZXNXaWRnZXRTdGF0ZX1lbHNlIGlmKHRbaV09PT1zKW89Y1tpXSxsPWhbaV07ZWxzZXtjb25zdCB0PWVbaV07bz1uZXcgdGkodGhpcy5fbW9kZWwsdCx0aGlzLl9kYXRhU291cmNlVmlld01vZGVsc09wdGlvbnMsdGhpcy5fY2FsbGJhY2tzLHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnUpLGw9bmV3IGtpLkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlKHRoaXMuX3N0YXR1c1NvdXJjZUFkYXB0ZXIodCksdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucy5zdGF0dXNlc1dpZGdldHMpLHUucHVzaCh7bW9kZWw6byxzdGF0dXNlc1dpZGdldFN0YXRlOmwsaW5kZXg6aX0pfV8ucHVzaChvKSxnLnB1c2gobCl9dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHM9Xyx0aGlzLl9kYXRhU291cmNlU3RhdHVzZXNXaWRnZXRTdGF0ZXM9ZywwPT09dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soMSksdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHMubGVuZ3RoJiZ0aGlzLl9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpLHRoaXMuX3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpLHRoaXMuX2lzUGFuZU1haW4uc2V0VmFsdWUodGhpcy5fZ2V0SXNQYW5lTWFpblZhbHVlKCkpLHRoaXMudXBkYXRlKCk7Y29uc3QgbT1sLmxlbmd0aHx8dS5sZW5ndGh8fGQubGVuZ3RoO2lmKCh2b2lkIDAhPT1vfHxtKSYmdGhpcy5fbGF5b3V0Q2hhbmdlZC5maXJlKHtuZXdNYWluU291cmNlOm8scmVtb3ZlZERhdGFTb3VyY2VzOmwsYWRkZWREYXRhU291cmNlczp1LG1vdmVkRGF0YVNvdXJjZXM6ZH0pLC0xIT09cyYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygwKSx0aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGg+MCYmdGhpcy5fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jaygxKSx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCksbSl7dGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUoKSx0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5jbGVhcigpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlcyl0aGlzLl90b2dnbGVkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQoZSl9fXVwZGF0ZSgpe251bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiZ0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLnVwZGF0ZSgpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKWUudXBkYXRlKCl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxkcy5nZXRTdGRUaGVtZWRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIix0aGlzLl9iYWNrZ3JvdW5kVGhlbWVOYW1lLnZhbHVlKCkpKSx0aGlzLl90aGVtZWRDb2xvci5zZXRWYWx1ZShlfHwiIil9Zmlyc3RUaXRsZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5maXJzdFRpdGxlKCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9YWRkTWFyZ2luKGUpe2lmKHRoaXMuX21hcmdpbj09PWUpcmV0dXJuO3RoaXMuX21hcmdpbj1lCjt0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCkuc3R5bGUubWF4V2lkdGg9MD09PXRoaXMuX21hcmdpbj8iIjpgY2FsYygxMDAlIC0gJHt0aGlzLl9tYXJnaW4rbXN9cHgpYCx0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlTaXplKCl9dXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZShlKXt0aGlzLl9zaXplPWUsdGhpcy5fdXBkYXRlV2lkZ2V0TW9kZUJ5U2l6ZSgpfV9zdGF0dXNTb3VyY2VBZGFwdGVyKGUpe2NvbnN0IHQ9ZS5pbnN0YW5jZUlkKCk7bGV0IGk9dGhpcy5fc3RhdHVzUHJvdmlkZXJzLmdldCh0KTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZSE9PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKT9uZXcgQWkuQ2hhcnRNb2RlbFN0YXR1c1NvdXJjZUFkYXB0ZXIoZSx0aGlzLl9tb2RlbC5tb2RlbCgpKTpuZXcgQWkuQ2hhcnRNb2RlbE1haW5TZXJpZXNTdGF0dXNTb3VyY2VBZGFwdGVyKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9tb2RlbC5tb2RlbCgpKSx0aGlzLl9zdGF0dXNQcm92aWRlcnMuc2V0KHQsaSkpLGl9X3VwZGF0ZVdpZGdldE1vZGVCeVNpemUoKXt0aGlzLl91cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCgpLHRoaXMuX3VwZGF0ZVdpZGdldE1vZGVCeUhlaWdodCgpLHRoaXMuX3VwZGF0ZUN1c3RvbVdpZGdldE1vZGVCeVNpemUoKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoKXtpZihudWxsPT09dGhpcy5fc2l6ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9hdmFpbGFibGVXaWR0aCgpO3RoaXMuX3JlbmRlcmVyLnVwZGF0ZU1vZGUoZSksdGhpcy5fcGFuZVdpZGdldC5oYXNTdGF0ZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0LnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zZXRUZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQoZTw9MTMyKX1fdXBkYXRlV2lkZ2V0TW9kZUJ5SGVpZ2h0KCl7bnVsbCE9PXRoaXMuX3NpemUmJih0aGlzLl9hdmFpbGFibGVIZWlnaHQ9LjgqdGhpcy5fc2l6ZS5oZWlnaHQsdGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGVUaHJvdHRsZSgpKX1fdXBkYXRlQ3VzdG9tV2lkZ2V0TW9kZUJ5U2l6ZSgpe2lmKG51bGw9PT10aGlzLl9zaXplKXJldHVybjtjb25zdCBlPSgwLHMuc2l6ZSkoe3dpZHRoOnRoaXMuX2F2YWlsYWJsZVdpZHRoKCksaGVpZ2h0OnRoaXMuX3NpemUuaGVpZ2h0fSk7Zm9yKGNvbnN0IHQgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgaSBvZiBBcnJheS5mcm9tKHQudmFsdWVzKCkpKWZvcihjb25zdCB0IG9mIGkpdC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKGUpfV9kZXN0cm95TWFpbkRhdGFTb3VyY2UoKXsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNTdGF0dXNlc1dpZGdldFN0YXRlKS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1N0YXR1c2VzV2lkZ2V0U3RhdGU9bnVsbDsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5TZXJpZXNWaWV3TW9kZWwpLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzVmlld01vZGVsPW51bGx9X3VwZGF0ZUNvbGxhcHNlZFNvdXJjZXNNb2RlKCl7Y29uc3QgZT10aGlzLl9kYXRhU291cmNlVmlld01vZGVscy5sZW5ndGgsdD10aGlzLl9oaWRlQWxsRXhjZXB0Rmlyc3RMaW5lLnZhbHVlKCksaT1udWxsIT09dGhpcy5fbWFpblNlcmllc1ZpZXdNb2RlbDtpZih0aGlzLl9jb2xsYXBzZWRTdGF0dXNlc1dpZGdldFN0YXRlLmNsZWFyKCksdGhpcy5fYXZhaWxhYmxlSGVpZ2h0PjAmJmU+Mil7Y29uc3Qgcz1OdW1iZXIodGhpcy5fcmVuZGVyZXIuZ2V0TWFpblNvdXJjZUhlaWdodCgpKSxvPXRoaXMuX3JlbmRlcmVyLmdldERhdGFTb3VyY2VIZWlnaHQoKSxuPXRoaXMuX2dldEN1c3RvbVdpZGdldHNIZWlnaHQoKTtpZihudWxsIT09byl7Y29uc3QgYT1NYXRoLmZsb29yKCh0aGlzLl9hdmFpbGFibGVIZWlnaHQtcy1uKS9vKSxsPU1hdGgubWF4KGEsMiktMTtpZihlPmwrMSl7bGV0IHM9IiI7Zm9yKGxldCBvPTA7bzxlO28rKyl7Y29uc3QgZT1vPGw7dGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbb10uc2V0R2xvYmFsVmlzaWJpbGl0eShlJiYoIXR8fDA9PT1vJiYhaSkpLGV8fChzKz1gJHswPT09cy5sZW5ndGg/IiI6IiwgIn0ke3RoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzW29dLmdldEZ1bGxUaXRsZSgpfWAsdGhpcy5fY29sbGFwc2VkU3RhdHVzZXNXaWRnZXRTdGF0ZS5hZGRTdGF0dXNXaWRnZXQodGhpcy5fZGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGVzW29dKSl9cmV0dXJuIHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUocyksdm9pZCB0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKGUtbCl9fX1mb3IobGV0IGU9MDtlPHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLmxlbmd0aDsrK2UpdGhpcy5fZGF0YVNvdXJjZVZpZXdNb2RlbHNbZV0uc2V0R2xvYmFsVmlzaWJpbGl0eSghdHx8MD09PWUmJiFpKTt0aGlzLl9jb2xsYXBzZWREYXRhU291cmNlc0NvdW50LnNldFZhbHVlKDApLHRoaXMuX2NvbGxhcHNlZERhdGFTb3VyY2VzVGl0bGUuc2V0VmFsdWUoIiIpfV9nZXRDdXN0b21XaWRnZXRzSGVpZ2h0KCl7bGV0IGU9MDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNNYXAudmFsdWVzKCkpKWZvcihjb25zdCBpIG9mIEFycmF5LmZyb20odC52YWx1ZXMoKSkpZm9yKGNvbnN0IHQgb2YgaSllKz10LmhlaWdodCgpLnZhbHVlKCk7cmV0dXJuIGV9X2dldEN1c3RvbVRleHRDb2xvclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnRleHRDb2xvci52YWx1ZSgpO2Zvcihjb25zdCB0IG9mKDAsZHMuZ2V0U3RkVGhlbWVOYW1lcykoKSlpZigoMCxkcy5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5zY2FsZXNQcm9wZXJ0aWVzLnRleHRDb2xvciIsZSx0KSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1fY2xlYXJTdWJzY3JpcHRpb25zKCl7Cm51bGwhPT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbi5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbillLmRlc3Ryb3koKTt0aGlzLl9kYXRhU291cmNlUm93c0hpZGRlbj1bXTtmb3IoY29uc3QgZSBvZiB0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzKWUuZGVzdHJveSgpO3RoaXMuX2N1c3RvbVdpZGdldHNWaXNpYmlsaXRpZXM9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHMpZS5kZXN0cm95KCk7dGhpcy5fY3VzdG9tV2lkZ2V0c0hlaWdodHM9W119X3JlY3JlYXRlU3Vic2NyaXB0aW9ucygpe3RoaXMuX2NsZWFyU3Vic2NyaXB0aW9ucygpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsJiYodGhpcy5fbWFpblNlcmllc1Jvd0hpZGRlbj10aGlzLl9tYWluU2VyaWVzVmlld01vZGVsLmlzUm93SGlkZGVuKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzKXtjb25zdCB0PWUuaXNSb3dIaWRkZW4oKS5zcGF3bigpO3RoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudC5iaW5kKHRoaXMpKSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSl9Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKGUudmFsdWVzKCkpKWZvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9ZS52aXNpYmlsaXR5KCkuc3Bhd24oKTt0aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnB1c2godCksdC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGVnZW5kVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpO2NvbnN0IGk9ZS5oZWlnaHQoKS5zcGF3bigpO3RoaXMuX2N1c3RvbVdpZGdldHNIZWlnaHRzLnB1c2goaSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQ29sbGFwc2VkU291cmNlc01vZGUuYmluZCh0aGlzKSl9dGhpcy5fdXBkYXRlVmlzaWJsZURhdGFTb3VyY2VDb3VudCgpLHRoaXMuX3VwZGF0ZUxlZ2VuZFZpc2liaWxpdGllcygpfV9yZWNhbGN1bGF0ZUxvYWRpbmdEYXRhU291cmNlcygpe3RoaXMuX2RhdGFTb3VyY2VzTG9hZGluZ1N0YXR1c2VzLnNldFZhbHVlKHRoaXMuX2RhdGFTb3VyY2VWaWV3TW9kZWxzLm1hcCgoZT0+ZS5sb2FkaW5nKCkud2Vha1JlZmVyZW5jZSgpKSkpfV91cGRhdGVMZWdlbmRWaXNpYmlsaXRpZXMoKXtpZih0aGlzLl9oaWRlV2hvbGVMZWdlbmQudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9hbGxMZWdlbmRIaWRkZW4uc2V0VmFsdWUoITApO2NvbnN0IGU9MCE9PXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmxlbmd0aCYmdGhpcy5fZGF0YVNvdXJjZVJvd3NIaWRkZW4uZXZlcnkoKGU9PmUudmFsdWUoKSkpLHQ9dGhpcy5faGlkZU5vdE1haW5Tb3VyY2VzLnZhbHVlKCl8fGU7dGhpcy5fc3R1ZGllc0xlZ2VuZEhpZGRlbi5zZXRWYWx1ZSh0KTtjb25zdCBpPW51bGw9PT10aGlzLl9tYWluU2VyaWVzUm93SGlkZGVufHx0aGlzLl9tYWluU2VyaWVzUm93SGlkZGVuLnZhbHVlKCkscz10aGlzLl9jdXN0b21XaWRnZXRzVmlzaWJpbGl0aWVzLnNvbWUoKGU9PmUudmFsdWUoKSkpO3RoaXMuX2FsbExlZ2VuZEhpZGRlbi5zZXRWYWx1ZShlJiZpJiYhcyl9X3VwZGF0ZVZpc2libGVEYXRhU291cmNlQ291bnQoKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VSb3dzSGlkZGVuLmZpbHRlcigoZT0+IWUudmFsdWUoKSkpLmxlbmd0aDt0aGlzLl92aXNpYmxlRGF0YVNvdXJjZUNvdW50LnNldFZhbHVlKGUpfV9zZXRMZWdlbmRWaXNpYmlsaXR5VG9nZ2xlZCgpe3JzLnNldFZhbHVlKCJsZWdlbmQuaXNWaXNpYmlsaXR5VG9nZ2xlZCIsITApO3RoaXMuX3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCkudW5zdWJzY3JpYmUodGhpcywoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX29uTGVnZW5kVmlzaWJpbGl0eVRvZ2dsZWQpKX1fZ2V0SXNQYW5lTWFpblZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmVXaWRnZXQuY29udGFpbnNNYWluU2VyaWVzKCl9X3Nob3dMZWdlbmRDYWxjdWxhdGVkUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubW9kZWwoKS5zaG93TGVnZW5kKCl9X3Nob3dMZWdlbmRPcmlnaW5hbFByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZH1fYWRkQ3VzdG9tV2lkZ2V0Rm9yTGF5ZXJCbG9jayhlKXtjb25zdCB0PXRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3JpZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuO2NvbnN0IGk9dGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c01hcC5nZXQoZSl8fG5ldyBNYXA7bGV0IHM9ITE7Zm9yKGNvbnN0IG8gb2YgQXJyYXkuZnJvbSh0LmtleXMoKSkpe2NvbnN0IG49aS5nZXQobyl8fFtdLGE9dC5nZXQobyl8fFtdO2ZvcihsZXQgdD1uLmxlbmd0aDt0PGEubGVuZ3RoO3QrKyl7Y29uc3QgaT1hW3RdKHRoaXMuX21vZGVsLm1vZGVsKCksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2hpZGVBbGxFeGNlcHRGaXJzdExpbmUud2Vha1JlZmVyZW5jZSgpKTtuLnB1c2goaSksdGhpcy5fcmVuZGVyZXIuYWRkQ3VzdG9tV2lkZ2V0KGkse2Jsb2NrOmUscG9zaXRpb246b30pLHM9ITB9cyYmaS5zZXQobyxuKX1zJiZ0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLnNldChlLGkpfV9kZXN0cm95Q3VzdG9tV2lkZ2V0RnJvbUxheWVyQmxvY2soZSl7Y29uc3QgdD10aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmdldChlKQo7aWYodm9pZCAwIT09dCl7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0LnZhbHVlcygpKSlmb3IoY29uc3QgdCBvZiBlKXQuZGVzdHJveSgpO3QuY2xlYXIoKSx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzTWFwLmRlbGV0ZShlKX19X2F2YWlsYWJsZVdpZHRoKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zaXplPzA6TWF0aC5tYXgoMCx0aGlzLl9zaXplLndpZHRoLXRoaXMuX21hcmdpbi1tcyl9fX0sMjk3NzA3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BhbmVDb250cm9sc1dpZGdldDooKT0+JH0pO3ZhciBzLG89aSgzODY5MzEpLG49aSgxODUyNzEpLGE9aSgyMzU3MjQpLGw9aSgyMzIzNjQpLHI9aSg5NTI5MDApLGQ9aSgyNTUwMzYpLHU9aSg5NTY0MzcpLGM9aSgxMzg2MzgpLGg9aSgxMzQ2NykscD1pKDk1NjM2OCksXz1pKDM2MzI2OSksZz1pKDgwMDIyNiksbT1pKDQyNjI3NCksYj1pKDc3MjAyOCk7IWZ1bmN0aW9uKGUpe2VbZS5Db250ZXh0TWVudU1vZGVXaWR0aFB0PTY2Ni42NV09IkNvbnRleHRNZW51TW9kZVdpZHRoUHQiLGVbZS5WaXNpYmxlTW9kZU1pbldpZHRoPTM1Nl09IlZpc2libGVNb2RlTWluV2lkdGgifShzfHwocz17fSkpO2NsYXNzIHZ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX3BhcmVudEVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPW51bGwsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cz17fSx0aGlzLl9hY3Rpb25zU3Bhd25zPXt9LHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPW51bGwsdGhpcy5fbW91c2VPdmVyV2lkZ2V0PSExLHRoaXMuX3dyYXBFbD1lLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyPXRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQuYmluZCh0aGlzKSx0aGlzLl93cmFwRWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsdGhpcy5fb25Nb3VzZUVudGVyTGVhdmVFdmVudEhhbmRsZXIpLHRoaXMuX3dyYXBFbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fYWN0aW9ucz10LHRoaXMuX2dsb2JhbFZpc2liaWxpdHk9aS5nbG9iYWxWaXNpYmlsaXR5LnNwYXduKCksdGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl92aXNpYmlsaXR5VHlwZT1pLnZpc2liaWxpdHlUeXBlLnNwYXduKCksdGhpcy5fdmlzaWJpbGl0eVR5cGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkuYmluZCh0aGlzKSksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQ9aS5zZXBhcmF0b3JTZWxlY3RlZC5zcGF3bigpLHRoaXMuX3NlcGFyYXRvclNlbGVjdGVkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5LmJpbmQodGhpcykpLHRoaXMuX21heGltaXplZD1pLm1heGltaXplZC5zcGF3bigpLHRoaXMuX21heGltaXplZC5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eS5iaW5kKHRoaXMpKSx0aGlzLl9kb05vdFN3aXRjaFRvQ29udGV4dE1lbnVNb2RlPWkuZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZSx0aGlzLl90aGVtZWRDb2xvcj1pLnRoZW1lZENvbG9yLnNwYXduKCksdGhpcy5fdGhlbWVkQ29sb3Iuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVRoZW1lZENvbG9yLmJpbmQodGhpcykpO2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXModGhpcy5fYWN0aW9ucykpe2NvbnN0IGk9ZTt0aGlzLl9hY3Rpb25zU3Bhd25zW2ldPXt2aXNpYmxlOnQudmlzaWJsZS5zcGF3bigpLHRpdGxlOnZvaWQgMD09PXQudGl0bGU/bnVsbDp0LnRpdGxlLnNwYXduKCl9LHRoaXMuX2FjdGlvbnNTcGF3bnNbaV0udmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWN0aW9uVmlzaWJpbGl0aWVzLmJpbmQodGhpcyxpKSk7Y29uc3Qgcz10aGlzLl9hY3Rpb25zU3Bhd25zW2ldLnRpdGxlO251bGwhPT1zJiZzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBY3Rpb25UaXRsZS5iaW5kKHRoaXMsaSkpfXRoaXMuX3JlbmRlcigpLHRoaXMuX3VwZGF0ZVBhbmVDb250cm9sc1dpZGdldFZpc2liaWxpdHkoKSx0aGlzLl91cGRhdGVUaGVtZWRDb2xvcih0aGlzLl90aGVtZWRDb2xvci52YWx1ZSgpKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QudG9nZ2xlKG0udG91Y2hNb2RlLGcudHJhY2tpbmdNb2RlSXNBdmFpbGFibGUpLHRoaXMuX3BhcmVudEVsLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+ZS5wcmV2ZW50RGVmYXVsdCgpKSksdGhpcy5fcGFyZW50RWwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl93cmFwRWwubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnQoe3R5cGU6Im1vdXNlZW50ZXIifSl9ZGVzdHJveSgpe3RoaXMuX3Zpc2liaWxpdHlUeXBlLmRlc3Ryb3koKSx0aGlzLl90aGVtZWRDb2xvci5kZXN0cm95KCksdGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQuZGVzdHJveSgpO2Zvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHRoaXMuX2FjdGlvbnNTcGF3bnMpKXtjb25zdCB0PWU7dGhpcy5fYWN0aW9uc1NwYXduc1t0XS52aXNpYmxlLmRlc3Ryb3koKTtjb25zdCBpPXRoaXMuX2FjdGlvbnNTcGF3bnNbdF0udGl0bGU7bnVsbCE9PWkmJmkuZGVzdHJveSgpfW51bGwhPT10aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciYmKHRoaXMuX3dyYXBFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIix0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlciksdGhpcy5fd3JhcEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VFbnRlckxlYXZlRXZlbnRIYW5kbGVyKSx0aGlzLl9vbk1vdXNlRW50ZXJMZWF2ZUV2ZW50SGFuZGxlcj1udWxsKSx0aGlzLl9wYXJlbnRFbC5yZW1vdmUoKSx0aGlzLl9wYXJlbnRFbC5pbm5lckhUTUw9IiIsCmRlbGV0ZSB0aGlzLl9wYXJlbnRFbH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhcmVudEVsfWJvdHRvbVdpdGhNYXJnaW4oKXtjb25zdCBlPXRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC5jb250YWlucyhtLnRvdWNoTW9kZSk/TnVtYmVyKG0uY3NzX3ZhbHVlX3BhbmVfY29udHJvbHNfYnV0dG9uX3RvdWNoX3NpemUpOk51bWJlcihtLmNzc192YWx1ZV9wYW5lX2NvbnRyb2xzX2J1dHRvbl9zaXplKTtyZXR1cm4gMipOdW1iZXIobS5jc3NfdmFsdWVfcGFuZV9jb250cm9sc19tYXJnaW5fdG9wKStlfXVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUpe2NvbnN0IHQ9IXRoaXMuX2RvTm90U3dpdGNoVG9Db250ZXh0TWVudU1vZGUudmFsdWUoKSYmZTwzNTYsaT0hdGhpcy5fZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZS52YWx1ZSgpJiZlPDY2Ni42NSxzPSgwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpLG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpOygwLGMuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50RWwpLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfcmVtb3ZlLHQpLHMuY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLGkpLG8uY2xhc3NMaXN0LnRvZ2dsZShiLmJsb2NrSGlkZGVuLCFpfHwhdGhpcy5fYWN0aW9ucy5tb3JlLnZpc2libGUudmFsdWUoKSl9X3JlbmRlcigpe3RoaXMuX3JlbmRlckFjdGlvbnMoKSx0aGlzLl9wYXJlbnRFbC5jbGFzc0xpc3QuYWRkKG0ucGFuZUNvbnRyb2xzKSx0aGlzLl93cmFwRWwuYXBwZW5kKHRoaXMuX3BhcmVudEVsKX1fcmVuZGVyQWN0aW9ucygpe251bGw9PT10aGlzLl9saXN0QWN0aW9uc1dyYXBwZXJFbCYmKHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmNsYXNzTGlzdC5hZGQobS5idXR0b25zKSx0aGlzLl9wYXJlbnRFbC5hcHBlbmQodGhpcy5fbGlzdEFjdGlvbnNXcmFwcGVyRWwpKTtjb25zdCBlPXt0YWc6ImRpdiIsYnV0dG9uQ2xhc3NOYW1lOm0uYnV0dG9uLHdyYXBJY29uQ2xhc3NOYW1lOm0uYnV0dG9uSWNvbixoaWRkZW5DbGFzc05hbWU6Yi5ibG9ja0hpZGRlbn07dGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy51cD0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMudXAsZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5kb3duPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5kb3duLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2U9KDAscC5jcmVhdGVBY3Rpb25FbGVtZW50KSh0aGlzLl9hY3Rpb25zLmNvbGxhcHNlLGUpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMucmVzdG9yZT0oMCxwLmNyZWF0ZUFjdGlvbkVsZW1lbnQpKHRoaXMuX2FjdGlvbnMucmVzdG9yZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5jbG9zZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1heGltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tYXhpbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1pbmltaXplPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5taW5pbWl6ZSxlKSx0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnJlc3RvcmUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWluaW1pemUuY2xhc3NMaXN0LmFkZChtLmJ1dHRvbl9hY3RpdmF0ZWQpLHRoaXMuX2xpc3RBY3Rpb25zV3JhcHBlckVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLnVwLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuZG93bix0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLmNsb3NlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMuY29sbGFwc2UsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5yZXN0b3JlLHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHMubWF4aW1pemUsdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5taW5pbWl6ZSksdGhpcy5fbGlzdEFjdGlvbnNFbGVtZW50cy5tb3JlPSgwLHAuY3JlYXRlQWN0aW9uRWxlbWVudCkodGhpcy5fYWN0aW9ucy5tb3JlLGUpLHRoaXMuX3BhcmVudEVsLmFwcGVuZCh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzLm1vcmUpfV91cGRhdGVBY3Rpb25WaXNpYmlsaXRpZXMoZSx0KXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpc3RBY3Rpb25zRWxlbWVudHNbZV0pLmNsYXNzTGlzdC50b2dnbGUoYi5ibG9ja0hpZGRlbiwhdCl9X3VwZGF0ZUFjdGlvblRpdGxlKGUsdCl7KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saXN0QWN0aW9uc0VsZW1lbnRzW2VdKS5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KX1fb25Nb3VzZUVudGVyTGVhdmVFdmVudChlKXt0aGlzLl9tb3VzZU92ZXJXaWRnZXQ9Im1vdXNlZW50ZXIiPT09ZS50eXBlLCJ2aXNpYmxlT25Nb3VzZU92ZXIiPT09dGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSYmdGhpcy5fdXBkYXRlUGFuZUNvbnRyb2xzV2lkZ2V0VmlzaWJpbGl0eSgpfV91cGRhdGVQYW5lQ29udHJvbHNXaWRnZXRWaXNpYmlsaXR5KCl7bGV0IGUsdD0hMTtzd2l0Y2godGhpcy5fdmlzaWJpbGl0eVR5cGUudmFsdWUoKSl7Y2FzZSJhbHdheXNPZmYiOmU9ITEsdD0hMDticmVhaztjYXNlImFsd2F5c09uIjplPXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKTticmVhaztjYXNlInZpc2libGVPbk1vdXNlT3ZlciI6Y2FzZSJ2aXNpYmxlT25UYXBTZWxlY3Rpb24iOmU9dGhpcy5fZ2xvYmFsVmlzaWJpbGl0eS52YWx1ZSgpJiZ0aGlzLl9tb3VzZU92ZXJXaWRnZXR9dGhpcy5fc2VwYXJhdG9yU2VsZWN0ZWQudmFsdWUoKSYmInZpc2libGVPblRhcFNlbGVjdGlvbiI9PT10aGlzLl92aXNpYmlsaXR5VHlwZS52YWx1ZSgpJiYoZT0hMCksCnRoaXMuX21heGltaXplZC52YWx1ZSgpJiZfLm1vYmlsZXRvdWNoJiYoZT0hMCksdGhpcy5fcGFyZW50RWwuY2xhc3NMaXN0LnRvZ2dsZShtLnBhbmVDb250cm9sc19oaWRkZW4sIWUpLHRoaXMuX3BhcmVudEVsLmNsYXNzTGlzdC50b2dnbGUobS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4sIXRoaXMuX2dsb2JhbFZpc2liaWxpdHkudmFsdWUoKXx8dCl9X3VwZGF0ZVRoZW1lZENvbG9yKGUpe2lmKGUubGVuZ3RoPjApe2NvbnN0W3QsaSxzXT0oMCxoLnBhcnNlUmdiKShlKTt0aGlzLl9wYXJlbnRFbC5zdHlsZS5jb2xvcj0oMCxoLnJnYmFUb1N0cmluZykoW3QsaSxzLCgwLGgubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKC44KV0pfWVsc2UgdGhpcy5fcGFyZW50RWwuc3R5bGUucmVtb3ZlUHJvcGVydHkoImNvbG9yIil9fXZhciBmPWkoNTA5MDQpLFM9aSgyNTA0MzkpLHk9aSg2MTczMDMpLHc9aSg5NjIwNzIpLEM9aSgxNzcyNTUpLEU9aSg1MzY1MzMpLHg9aSgzNzU3MCksTD1pKDI5NjE2Myk7Y29uc3QgTT1uLnQobnVsbCx2b2lkIDAsaSgxNDg4NjUpKSxUPU0sVj0oMCxhLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGEuTW9kaWZpZXJzLk1vZCkrTTt2YXIgaz1pKDY2NTE4NyksQT1pKDM0NTE1MSksVz1pKDI4NDA3NSksST1pKDgxMjk0OCksQj1pKDQyMzY0MyksSD1pKDUzODA5KSxEPWkoNzUxNTExKSxQPWkoODcyODM4KSxOPWkoNjQ4OTUpO2NvbnN0IFI9bi50KG51bGwsdm9pZCAwLGkoODMxOTg4KSksTz1uLnQobnVsbCx2b2lkIDAsaSgzMDU4ODIpKSxGPW4udChudWxsLHZvaWQgMCxpKDgxNDA1OCkpLHo9bi50KG51bGwsdm9pZCAwLGkoNTUwNTU5KSksaj1uLnQobnVsbCx2b2lkIDAsaSgyNjA1NDkpKSxVPW4udChudWxsLHZvaWQgMCxpKDg5MDA5KSksRz1uLnQobnVsbCx2b2lkIDAsaSgxNTk0NDMpKSxaPW4udChudWxsLHZvaWQgMCxpKDE0ODg2NSkpO3ZhciBKOyFmdW5jdGlvbihlKXtlLlBhbmVDbG9zZUJ1dHRvbj0icGFuZS1idXR0b24tY2xvc2UiLGUuUGFuZVVwQnV0dG9uPSJwYW5lLWJ1dHRvbi11cCIsZS5QYW5lRG93bkJ1dHRvbj0icGFuZS1idXR0b24tZG93biIsZS5QYW5lTWF4aW1pemVCdXR0b249InBhbmUtYnV0dG9uLW1heGltaXplIixlLlBhbmVNaW5pbWl6ZUJ1dHRvbj0icGFuZS1idXR0b24tbWluaW1pemUiLGUuUGFuZUNvbGxhcHNlQnV0dG9uPSJwYW5lLWJ1dHRvbi1jb2xsYXBzZSIsZS5QYW5lUmVzdG9yZUJ1dHRvbj0icGFuZS1idXR0b24tcmVzdG9yZSIsZS5QYW5lTW9yZUJ1dHRvbj0icGFuZS1idXR0b24tbW9yZSJ9KEp8fChKPXt9KSk7Y29uc3QgWT0oMCxBLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WyIiXSx0ZXh0Olp9KSxxPSgwLEEuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShhLk1vZGlmaWVycy5Nb2QsITEpXSx0ZXh0OmB7MH0gKyAke1p9YH0pO2NsYXNzICR7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fYWN0aW9ucz17fSx0aGlzLl9tb3JlQ01TaG93bj0hMSx0aGlzLl90aGVtZWRDb2xvcj1uZXcgbC5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZT10LHRoaXMuX2Nsb3NlQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eT1uZXcgbC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0VXBCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXREb3duQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9tYXhpbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHk9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHk9KDAsci5jb21iaW5lKSgoKGUsdCxpKT0+IWUmJiF0JiZpKSx0Lm1heGltaXplZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNlZCgpLndlYWtSZWZlcmVuY2UoKSx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5PSgwLHIuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdC5tYXhpbWl6ZWQoKS53ZWFrUmVmZXJlbmNlKCksdC5jb2xsYXBzZWQoKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZUFjdGlvbnMoKSx0aGlzLl92aXNpYmlsaXR5VHlwZVByb3BlcnR5PSgwLGQuYWN0dWFsQmVoYXZpb3IpKCksdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoZT0+e3RoaXMuX3Zpc2liaWxpdHlUeXBlLnNldFZhbHVlKGUudmFsdWUoKSl9KSksdGhpcy5fdmlzaWJpbGl0eVR5cGU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX3Zpc2liaWxpdHlUeXBlUHJvcGVydHkudmFsdWUoKSksdGhpcy5faXNQYW5lTWF4aW1pemU9bmV3IGwuV2F0Y2hlZFZhbHVlKHRoaXMuX2dldElzUGFuZU1heGltaXplVmFsdWUoKSksdGhpcy5faXNXaWRnZXRTaG93PW5ldyBsLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSksdGhpcy5fYmFja2dyb3VuZFRoZW1lTmFtZT1pLmJhY2tncm91bmRUaGVtZU5hbWUsdGhpcy5fcmVuZGVyZXI9bmV3IHYocyx0aGlzLl9hY3Rpb25zLHt2aXNpYmlsaXR5VHlwZTp0aGlzLl92aXNpYmlsaXR5VHlwZS5yZWFkb25seSgpLGdsb2JhbFZpc2liaWxpdHk6dGhpcy5faXNXaWRnZXRTaG93LnJlYWRvbmx5KCksZG9Ob3RTd2l0Y2hUb0NvbnRleHRNZW51TW9kZTp0aGlzLl9pc1BhbmVNYXhpbWl6ZS5yZWFkb25seSgpLHRoZW1lZENvbG9yOnRoaXMuX3RoZW1lZENvbG9yLnJlYWRvbmx5KCksc2VwYXJhdG9yU2VsZWN0ZWQ6aS5hbnlTZXBhcmF0b3JTZWxlY3RlZCxtYXhpbWl6ZWQ6dGhpcy5faXNQYW5lTWF4aW1pemUucmVhZG9ubHkoKX0pfWRlc3Ryb3koKXsKdGhpcy5fdmlzaWJpbGl0eVR5cGVQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jb2xsYXBzZUJ1dHRvblZpc2liaWxpdHkuZGVzdHJveSgpLHRoaXMuX3Jlc3RvcmVCdXR0b25WaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9yZW5kZXJlci5kZXN0cm95KCl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9yZW5kZXJlci5nZXRFbGVtZW50KCl9Ym90dG9tV2l0aE1hcmdpbigpe3JldHVybiB0aGlzLl9yZW5kZXJlci5ib3R0b21XaXRoTWFyZ2luKCl9YWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGlvbnN9dXBkYXRlKCl7dGhpcy5fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKSx0aGlzLl9pc1BhbmVNYXhpbWl6ZS5zZXRWYWx1ZSh0aGlzLl9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCkpLHRoaXMuX2lzV2lkZ2V0U2hvdy5zZXRWYWx1ZSh0aGlzLl9nZXRJc1dpZGdldFNob3coKSl9dXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl7dGhpcy5fcmVuZGVyZXIudXBkYXRlV2lkZ2V0TW9kZUJ5V2lkdGgoZSl9dXBkYXRlVGhlbWVkQ29sb3JzKGUpe251bGw9PT1lJiYoZT0oMCxrLmdldFN0ZFRoZW1lZFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLHRoaXMuX2JhY2tncm91bmRUaGVtZU5hbWUudmFsdWUoKSkpLHRoaXMuX3RoZW1lZENvbG9yLnNldFZhbHVlKGV8fCIiKX1fdXBkYXRlQnV0dG9uc1Zpc2liaWxpdHkoKXt0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCkpLHRoaXMuX3VwQnV0dG9uVmlzaWJpbGl0eS5zZXRWYWx1ZSh0aGlzLl9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fZG93bkJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKSksdGhpcy5fbWF4aW1pemVCdXR0b25WaXNpYmlsaXR5LnNldFZhbHVlKHRoaXMuX2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpKSx0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHkuc2V0VmFsdWUodGhpcy5fZ2V0TWluaW1pemVCdXR0b25WaXNpYmlsaXR5KCkpfV9jcmVhdGVBY3Rpb25zKCl7dGhpcy5fYWN0aW9ucy51cD17aWNvbjpJLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsInVwIiksdmlzaWJsZTp0aGlzLl91cEJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKE8pLGNsYXNzTmFtZTptLnVwLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi11cCJ9LHRoaXMuX2FjdGlvbnMuZG93bj17aWNvbjpCLGFjdGlvbjp0aGlzLl9vblVwRG93bkJ1dHRvbi5iaW5kKHRoaXMsImRvd24iKSx2aXNpYmxlOnRoaXMuX2Rvd25CdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShGKSxjbGFzc05hbWU6bS5kb3duLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1kb3duIn0sdGhpcy5fYWN0aW9ucy5jbG9zZT17aWNvbjpXLGFjdGlvbjp0aGlzLl9vbkNsb3NlQnV0dG9uLmJpbmQodGhpcyksdmlzaWJsZTp0aGlzLl9jbG9zZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKFIpLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jbG9zZSJ9LHRoaXMuX2FjdGlvbnMubWF4aW1pemU9e2ljb246SCxhY3Rpb246dGhpcy5fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbi5iaW5kKHRoaXMsIk1heGltaXplIHBhbmUiKSx2aXNpYmxlOnRoaXMuX21heGltaXplQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoeiksaG90S2V5VGl0bGU6WSxjbGFzc05hbWU6bS5tYXhpbWl6ZSxkYXRhUWFJZDoicGFuZS1idXR0b24tbWF4aW1pemUifSx0aGlzLl9hY3Rpb25zLm1pbmltaXplPXtpY29uOkgsYWN0aW9uOnRoaXMuX29uVG9nZ2xlTWF4aW1pemVCdXR0b24uYmluZCh0aGlzLCJNaW5pbWl6ZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9taW5pbWl6ZUJ1dHRvblZpc2liaWxpdHksdGl0bGU6bmV3IGwuV2F0Y2hlZFZhbHVlKGopLGhvdEtleVRpdGxlOlksY2xhc3NOYW1lOm0ubWluaW1pemUsZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1pbmltaXplIn0sdGhpcy5fYWN0aW9ucy5jb2xsYXBzZT17aWNvbjpQLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiQ29sbGFwc2UgcGFuZSIpLHZpc2libGU6dGhpcy5fY29sbGFwc2VCdXR0b25WaXNpYmlsaXR5LHRpdGxlOm5ldyBsLldhdGNoZWRWYWx1ZShVKSxob3RLZXlUaXRsZTpxLGNsYXNzTmFtZTptLmNvbGxhcHNlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1jb2xsYXBzZSJ9LHRoaXMuX2FjdGlvbnMucmVzdG9yZT17aWNvbjpOLGFjdGlvbjp0aGlzLl9vblRvZ2dsZUNvbGxhcHNlQnV0dG9uLmJpbmQodGhpcywiUmVzdG9yZSBwYW5lIiksdmlzaWJsZTp0aGlzLl9yZXN0b3JlQnV0dG9uVmlzaWJpbGl0eSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoaiksaG90S2V5VGl0bGU6cSxjbGFzc05hbWU6bS5yZXN0b3JlLGRhdGFRYUlkOiJwYW5lLWJ1dHRvbi1yZXN0b3JlIn0sdGhpcy5fYWN0aW9ucy5tb3JlPXtpY29uOkQsYWN0aW9uOnRoaXMuX3Nob3dCdXR0b25zSW5Db250ZXh0TWVudS5iaW5kKHRoaXMpLHZpc2libGU6bmV3IGwuV2F0Y2hlZFZhbHVlKCEwKSx0aXRsZTpuZXcgbC5XYXRjaGVkVmFsdWUoRyksZGF0YVFhSWQ6InBhbmUtYnV0dG9uLW1vcmUifX1fZ2V0Q2xvc2VCdXR0b25WaXNpYmlsaXR5KCl7bGV0IGU9ITE7cmV0dXJuIHRoaXMuX3BhbmUuY29udGFpbnNNYWluU2VyaWVzKCl8fHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKXx8KGU9dGhpcy5fcGFuZS5kYXRhU291cmNlcygpLnNvbWUoKGU9PigwLHUuaXNTdHVkeSkoZSkpKSksZX1fb25DbG9zZUJ1dHRvbigpe3RoaXMuX3RyYWNrRXZlbnQoIkRlbGV0ZSBwYW5lIik7Y29uc3QgZT10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKTt0aGlzLl9tb2RlbC5yZW1vdmVQYW5lKGUpfV9nZXRVcEJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX3BhbmUsdD10aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihlKQo7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkuY2FuTW92ZVBhbmVVcCh0KX1fZ2V0RG93bkJ1dHRvblZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLmNhbk1vdmVQYW5lRG93bihlKX1fb25VcERvd25CdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChgTW92ZSBwYW5lICR7ZX1gKTtjb25zdCB0PXRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3BhbmUpO3RoaXMuX21vZGVsLnJlYXJyYW5nZVBhbmVzKHQsZSl9X2dldE1heGltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJiF0aGlzLl9wYW5lLm1heGltaXplZCgpLnZhbHVlKCl9X2dldE1pbmltaXplQnV0dG9uVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tb2RlbCgpLnBhbmVzKCkubGVuZ3RoPjEmJnRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fb25Ub2dnbGVNYXhpbWl6ZUJ1dHRvbihlKXt0aGlzLl90cmFja0V2ZW50KGUpLHRoaXMuX21vZGVsLnRvZ2dsZU1heGltaXplZFBhbmUodGhpcy5fcGFuZSl9X29uVG9nZ2xlQ29sbGFwc2VCdXR0b24oZSl7dGhpcy5fdHJhY2tFdmVudChlKSx0aGlzLl9tb2RlbC50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuX3BhbmUpfV9zaG93QnV0dG9uc0luQ29udGV4dE1lbnUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX21vcmVDTVNob3dufHxmdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1bXTtpZihlLm1heGltaXplLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5tYXhpbWl6ZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUubWF4aW1pemUuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLk1heGltaXplUGFuZSIsb3B0aW9uczp7aWNvbjpFLGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTWF4aW1pemUgUGFuZSIsc2hvcnRjdXRIaW50OlQsb25FeGVjdXRlOigpPT5pKCl9fSkpfWVsc2UgaWYoZS5taW5pbWl6ZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUubWluaW1pemUudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLm1pbmltaXplLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5NaW5pbWl6ZVBhbmUiLG9wdGlvbnM6e2ljb246RSxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1pbmltaXplIFBhbmUiLHNob3J0Y3V0SGludDpULG9uRXhlY3V0ZTooKT0+aSgpfX0pKX1pZihlLmNvbGxhcHNlLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5jb2xsYXBzZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUuY29sbGFwc2UuYWN0aW9uKTtzLnB1c2gobmV3IGYuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUGFuZUNvbnRyb2xzLkNvbGxhcHNlUGFuZSIsb3B0aW9uczp7aWNvbjp4LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiQ29sbGFwc2UgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUucmVzdG9yZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUucmVzdG9yZS50aXRsZSksaT0oMCxjLmVuc3VyZU5vdE51bGwpKGUucmVzdG9yZS5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuUmVzdG9yZVBhbmUiLG9wdGlvbnM6e2ljb246TCxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6IlJlc3RvcmUgcGFuZSIsc2hvcnRjdXRIaW50OlYsb25FeGVjdXRlOigpPT5pKCl9fSkpfWlmKGUudXAudmlzaWJsZS52YWx1ZSgpKXtjb25zdCB0PSgwLGMuZW5zdXJlKShlLnVwLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS51cC5hY3Rpb24pO3MucHVzaChuZXcgZi5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QYW5lQ29udHJvbHMuTW92ZVBhbmVVcCIsb3B0aW9uczp7aWNvbjp3LGxhYmVsOnQudmFsdWUoKSxzdGF0TmFtZToiTW92ZSBwYW5lIHVwIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5kb3duLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD0oMCxjLmVuc3VyZSkoZS5kb3duLnRpdGxlKSxpPSgwLGMuZW5zdXJlTm90TnVsbCkoZS5kb3duLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5Nb3ZlUGFuZURvd24iLG9wdGlvbnM6e2ljb246QyxsYWJlbDp0LnZhbHVlKCksc3RhdE5hbWU6Ik1vdmUgcGFuZSBkb3duIixvbkV4ZWN1dGU6KCk9PmkoKX19KSl9aWYoZS5jbG9zZS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHQ9KDAsYy5lbnN1cmUpKGUuY2xvc2UudGl0bGUpLGk9KDAsYy5lbnN1cmVOb3ROdWxsKShlLmNsb3NlLmFjdGlvbik7cy5wdXNoKG5ldyBmLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlBhbmVDb250cm9scy5EZWxldGVQYW5lIixvcHRpb25zOntpY29uOnksbGFiZWw6dC52YWx1ZSgpLHN0YXROYW1lOiJEZWxldGUgcGFuZSIsb25FeGVjdXRlOigpPT5pKCl9fSkpfWNvbnN0IG89KDAsYy5lbnN1cmVOb3ROdWxsKSh0LmN1cnJlbnRUYXJnZXQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudShzLHtjbGllbnRYOm8ucmlnaHQsY2xpZW50WTpvLnRvcCtvLmhlaWdodCszLGF0dGFjaFRvWEJ5OiJyaWdodCJ9LHZvaWQgMCx2b2lkIDAsaSl9KHRoaXMuX2FjdGlvbnMsZSwoKCk9Pnt0aGlzLl9tb3JlQ01TaG93bj0hMX0pKS50aGVuKCgoKT0+e3RoaXMuX21vcmVDTVNob3duPSEwfSkpfV9nZXRJc1BhbmVNYXhpbWl6ZVZhbHVlKCl7cmV0dXJuIHRoaXMuX3BhbmUubWF4aW1pemVkKCkudmFsdWUoKX1fZ2V0SXNXaWRnZXRTaG93KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1vZGVsKCkucGFuZXMoKS5sZW5ndGg+MX1fdHJhY2tFdmVudChlKXsoMCxvLnRyYWNrRXZlbnQpKCJHVUkiLCJQYW5lIGFjdGlvbiIsZSl9fX0sOTU2MzY4KGUsdCxpKXsKInVzZSBzdHJpY3QiO2kuZCh0LHtjcmVhdGVBY3Rpb25FbGVtZW50OigpPT5sfSk7dmFyIHM9aSg2NzI1MTEpLG89aSgxMzg2MzgpLG49aSg2MDE4NDEpLGE9aSg1ODI0NzYpO2Z1bmN0aW9uIGwoZSx0KXtjb25zdHtidXR0b25DbGFzc05hbWU6aSx3cmFwSWNvbkNsYXNzTmFtZTpsLGhpZGRlbkNsYXNzTmFtZTpyLGljb25TaXplOmQsYmx1ck9uQ2xpY2s6dX09dCxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC50YWcpO2MuY2xhc3NOYW1lPWksYy5jbGFzc0xpc3QudG9nZ2xlKHIsIWUudmlzaWJsZS52YWx1ZSgpKSxjLmRhdGFzZXQucWFJZD1lLmRhdGFRYUlkLHZvaWQgMCE9PWUuY2xhc3NOYW1lJiZjLmNsYXNzTGlzdC5hZGQoZS5jbGFzc05hbWUpLHZvaWQgMCE9PWUudGl0bGUmJihjLmNsYXNzTGlzdC5hZGQoImFwcGx5LWNvbW1vbi10b29sdGlwIiksYy5zZXRBdHRyaWJ1dGUoInRpdGxlIixlLnRpdGxlLnZhbHVlKCkpLHZvaWQgMCE9PWUuaG90S2V5VGl0bGUmJihjLmRhdGFzZXQudG9vbHRpcEhvdGtleT1lLmhvdEtleVRpdGxlKSksYy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKDAsYS53cmFwSGFuZGxlcldpdGhQcmV2ZW50RXZlbnQpKGUuYWN0aW9uKSksYy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCh0PT57MD09PXQuYnV0dG9uJiYoZS5hY3Rpb24odCksdSYmYy5ibHVyKCkpfSkpO2NvbnN0IGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bGV0IHA7cmV0dXJuIGguY2xhc3NMaXN0LmFkZChsKSxwPSgwLHMuZGVmYXVsdCkoZS5pY29uKT9lLmljb24uZ2V0KCgwLG8uZW5zdXJlRGVmaW5lZCkoZCkpfHwiIjplLmljb24sKDAsbi5pc1N0cmluZykocCk/aC5pbm5lckhUTUw9cDpoLmFwcGVuZENoaWxkKHApLGMuYXBwZW5kQ2hpbGQoaCksY319LDQ2MDU0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0N1c3RvbVN0dWR5OigpPT5vfSk7Y29uc3Qgcz17TGluZWFyUmVncmVzc2lvbjohMCxQaXZvdFBvaW50c0hpZ2hMb3c6ITAsVmJQU2Vzc2lvbnM6ITAsVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkOiEwLFZiUFBlcmlvZGljOiEwLFZiUEF1dG9BbmNob3JlZDohMCxaaWdaYWc6ITAsVFBPUGVyaW9kaWM6ITAsVFBPU2Vzc2lvbnM6ITAsVmJQRml4ZWQ6ITAsUGl2b3RQb2ludHNTdGFuZGFyZDohMCxWYlBWaXNpYmxlOiEwLFZiUEFuY2hvcmVkOiEwfTtmdW5jdGlvbiBvKGUpe3JldHVybiBlIGluIHN9fSwzMzMzMTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0VHdlbW9qaVVybDooKT0+b30pO3ZhciBzPWkoMjYwNjAzKTtmdW5jdGlvbiBvKGUsdCl7bGV0IGk9IiI7cmV0dXJuIHMuZGVmYXVsdC5wYXJzZShlLChlPT4oaT1zLmRlZmF1bHQuYmFzZSsoInN2ZyI9PT10P2BzdmcvJHtlfS5zdmdgOmA3Mng3Mi8ke2V9LnBuZ2ApLCExKSkpLGl9cy5kZWZhdWx0LmJhc2U9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3R3ZW1vamkvMTMuMC4xLyJ9LDMwOTgzNihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRVdG1Ub1VybDooKT0+b30pO3ZhciBzPWkoNjAxNTg3KTtmdW5jdGlvbiBvKGUsdCl7aWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBpPSgwLHMuYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1pKXJldHVybiBlO2NvbnN0IG89ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxhPS0xIT09bjtpZigtMSE9PW8mJighYXx8bzxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLG8pfT8ke2E/ZS5zbGljZShvKzEsbik6ZS5zbGljZShvKzEpfSYke2l9JHthP2Uuc2xpY2Uobik6IiJ9YH1pZihhKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7aX0ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke2l9YH19LDYwMTU4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmF9KTt2YXIgcz1pKDQ5MjY3Nyksbz1pKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYShlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKGk9Pntjb25zdCBzPWVbaV07InN0cmluZyI9PXR5cGVvZiBzJiYiIiE9PXMmJih0W2ldPSgwLG8uaHRtbEVzY2FwZSkocykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IGk9KDAscy5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBpJiZ0PyI/IitpOml9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChhKCgwLHMuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDkzNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuOTIgNy44MyA5IDEyLjI5bDUuMDgtNC40Ni0xLTEuMTNMOSAxMC4yOWwtNC4wOS0zLjYtLjk5IDEuMTRaIi8+PC9zdmc+J30sNzMyMDM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjgzIDMuOTIgMTIuMjggOWwtNC40NSA1LjA4LTEuMTMtMUwxMC4yOSA5bC0zLjYtNC4wOSAxLjE0LS45OVoiLz48L3N2Zz4nfSwxMjE0NzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDEwSDRWOC41aDEwVjEwWiIvPjwvc3ZnPid9LDU0OTc3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTguMjUgMTMuNzV2LTkuNWgxLjV2OS41aC0xLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuNzUgOS43NWgtOS41di0xLjVoOS41djEuNVoiLz48L3N2Zz4nfSwyNDcwMzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0LjUgOFYzLjVIMTBWMmg2djZoLTEuNVptLTExIDJ2NC41SDhWMTZIMnYtNmgxLjVaIi8+PC9zdmc+J30sNTczNTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjQ1IDMuNSAxMi40OCA5bC01LjAzIDUuNDkgMS4xIDEuMDFMMTQuNTIgOSA4LjU1IDIuNDkgNy40NSAzLjVaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMy45MyA1Ljk5IDIuNTggMy0yLjU4IDMuMDIgMS4xNC45OCAzLjQyLTQtMy40Mi0zLjk4TDMuOTMgNloiLz48L3N2Zz4nfSw5OTc4MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDYuMzhWOEw2IDUuNSAxMCAzdjEuODVBNS4yNSA1LjI1IDAgMSAxIDMuNzUgMTBhLjc1Ljc1IDAgMCAxIDEuNSAwQTMuNzUgMy43NSAwIDEgMCAxMCA2LjM4WiIvPjwvc3ZnPid9LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDMzMzQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC4zMSA0LjEzIDguMyA2LjE0YS41LjUgMCAxIDEtLjctLjdsMi4xMy0yLjEyYTMuNSAzLjUgMCAxIDEgNC45NSA0Ljk1bC0yLjExIDIuMTFhLjUxLjUxIDAgMSAxLS43My0uNzJsMi0yYTIuNSAyLjUgMCAwIDAtMy41My0zLjUzWm0tMi4xNCA5LjMgMi4wMS0yYS41LjUgMCAwIDEgLjcuNjlsLTIuMTMgMi4xMkEzLjUgMy41IDAgMCAxIDMuOCA5LjI5bDIuMTEtMi4xMWEuNTEuNTEgMCAwIDEgLjcyLjcybC0yIDJhMi41IDIuNSAwIDAgMCAzLjU0IDMuNTRaTTExIDcuMDJhLjQ5LjQ5IDAgMCAwLS42OSAwTDcuNDcgOS44N2EuNDkuNDkgMCAwIDAgLjY4LjY5bDIuODYtMi44NmEuNDkuNDkgMCAwIDAgMC0uN1oiLz48L3N2Zz4nfSw2NzcwMTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjA4IDUuNzVhNS4wNyA1LjA3IDAgMCAxIDcuMTcgNy4xN2wtMy4yMyAzLjIzLS43LS43IDMuMjItMy4yNGE0LjA3IDQuMDcgMCAxIDAtNS43NS01Ljc1bC0zLjIzIDMuMjMtLjctLjcxIDMuMjItMy4yM1ptLTkuMzMgOS4zM2E1LjA3IDUuMDcgMCAxIDAgNy4xNyA3LjE3bDMuMjMtMy4yMy0uNy0uNy0zLjI0IDMuMjJhNC4wNyA0LjA3IDAgMSAxLTUuNzUtNS43NWwzLjIzLTMuMjMtLjcxLS43LTMuMjMgMy4yMlptMTAuNzctNC4zLTUuNzQgNS43NC43LjcgNS43NS01Ljc0LS43MS0uN1oiLz48L3N2Zz4nfSwyMDMzMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00IDhhNCA0IDAgMSAwIDggMCA0IDQgMCAxIDAtOCAwIi8+PC9zdmc+J30sMjc0ODUxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDhhOCA4IDAgMSAwIDE2IDBBOCA4IDAgMSAwIDAgOHptMiAwYTYgNiAwIDEgMCAxMiAwQTYgNiAwIDEgMCAyIDh6bTIgMGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwzMzQ1NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE2LjUgMjBMMTEgMTQuNSAxNi41IDkiLz48L3N2Zz4nfSw1ODA1OTYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggNWwzLjUgMy41TDggMTIiLz48L3N2Zz4nfSw1NTY2NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDE4Yy0zLjA3IDAtNi4yMS0xLjk1LTcuOTItNkM1Ljc4IDcuOTUgOC45MyA2IDEyIDZjMy4wOCAwIDYuMjIgMS45NSA3LjkyIDYtMS43IDQuMDUtNC44NCA2LTcuOTIgNlptOC45My02LjE5QzE5LjEgNy4zMSAxNS41OSA1IDEyIDVTNC45IDcuMzIgMy4wOCAxMS44TDMgMTJsLjA4LjE5QzQuODkgMTYuNjggOC40IDE5IDEyIDE5YzMuNiAwIDcuMTEtMi4zMiA4LjkzLTYuODFsLjA3LS4yLS4wNy0uMThaTTE0IDEyYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L2c+PGcgY2xhc3M9ImNyb3NzZWQtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiAxOWE4LjQ3IDguNDcgMCAwIDEtMy44Ny0uOTVsLjc1LS43NWMxIC40NyAyLjA3LjcgMy4xMi43IDMuMDggMCA2LjIyLTEuOTUgNy45Mi02YTExLjE4IDExLjE4IDAgMCAwLTIuMjUtMy40OWwuNy0uN2ExMi4yOCAxMi4yOCAwIDAgMSAyLjU2IDRMMjEgMTJsLS4wNy4xOUMxOS4xIDE2LjY4IDE1LjU5IDE5IDEyIDE5Wm0tNy45Mi03Yy42IDEuNDIgMS4zNyAyLjU4IDIuMjYgMy40OWwtLjcuN2ExMi4yOCAxMi4yOCAwIDAgMS0yLjU2LTRsLS4wOC0uMi4wOC0uMThDNC44OSA3LjMxIDguNCA1IDEyIDVjMS4zMyAwIDIuNjUuMzIgMy44OC45NGwtLjc1Ljc1QTcuNDUgNy40NSAwIDAgMCAxMiA2QzguOTMgNiA1LjggNy45NiA0LjA4IDEyWk0xMiAxNWEzIDMgMCAwIDEtLjczLS4wOWwuOTItLjkyYTIgMiAwIDAgMCAxLjgtMS44bC45Mi0uOTJBMyAzIDAgMCAxIDEyIDE1Wm0tMi45MS0yLjI3LjkyLS45MUEyIDIgMCAwIDEgMTEuOCAxMGwuOTItLjkyYTMgMyAwIDAgMC0zLjY0IDMuNjRabTkuMDgtNy42Ni0xMy4xIDEzLjEuNzcuNzYgMTMuMDktMTMuMS0uNzYtLjc2WiIvPjwvZz48ZyBmaWxsPSJub25lIiBjbGFzcz0ibG9hZGluZy1leWUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMjAuNDYgMTJjLTMuNSA4LjY3LTEzLjQyIDguNjctMTYuOTIgMCAzLjUtOC42NyAxMy40Mi04LjY3IDE2LjkyIDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDEyYTIuNSAyLjUgMCAxIDAtMi41IDIuNSIvPjwvZz48L3N2Zz4nfSw5MDMwMzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGNsYXNzPSJub3JtYWwtZXllIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDlhMyAzIDAgMSAxLTYgMCAzIDMgMCAwIDEgNiAwWm0tMSAwYTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNi45MSA4LjhDMTUuMzEgNC45OSAxMi4xOCAzIDkgMyA1LjgyIDMgMi43IDQuOTggMS4wOCA4LjhMMSA5bC4wOC4yQzIuNyAxMy4wMiA1LjgyIDE1IDkgMTVjMy4xOCAwIDYuMy0xLjk3IDcuOTEtNS44TDE3IDlsLS4wOS0uMlpNOSAxNGMtMi42OSAwLTUuNDItMS42My02LjkxLTUgMS40OS0zLjM3IDQuMjItNSA2LjktNSAyLjcgMCA1LjQzIDEuNjMgNi45MiA1LTEuNSAzLjM3LTQuMjMgNS02LjkxIDVaIi8+PC9nPjxnIGNsYXNzPSJjcm9zc2VkLWV5ZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMy43IDE1IDE1IDMuN2wtLjctLjdMMyAxNC4zbC43LjdaTTkgM2MxLjA5IDAgMi4xNy4yMyAzLjE5LjdsLS43Ny43NkMxMC42NCA0LjE2IDkuODIgNCA5IDQgNi4zMSA0IDMuNTggNS42MyAyLjA4IDlhOS4zNSA5LjM1IDAgMCAwIDEuOTMgMi44N2wtLjcuN0ExMC40NCAxMC40NCAwIDAgMSAxLjA4IDkuMkwxIDlsLjA4LS4yQzIuNjkgNC45OSA1LjgyIDMgOSAzWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNmEzIDMgMCAwIDEgLjc4LjFsLS45LjlBMiAyIDAgMCAwIDcgOC44N2wtLjkuOUEzIDMgMCAwIDEgOSA2Wk0xMS45IDguMjJsLS45LjlBMiAyIDAgMCAxIDkuMTMgMTFsLS45LjlhMyAzIDAgMCAwIDMuNjctMy42OFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0Yy0uODIgMC0xLjY0LS4xNS0yLjQzLS40NWwtLjc2Ljc2YzEuMDIuNDYgMi4xLjcgMy4xOS43IDMuMTggMCA2LjMxLTEuOTggNy45Mi01LjgxTDE3IDlsLS4wOC0uMmExMC40NCAxMC40NCAwIDAgMC0yLjIzLTMuMzdsLS43LjdjLjc1Ljc2IDEuNDEgMS43MSAxLjkzIDIuODctMS41IDMuMzctNC4yMyA1LTYuOTIgNVoiLz48L2c+PGcgZmlsbD0ibm9uZSIgY2xhc3M9ImxvYWRpbmctZXllIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTE2LjQ1IDljLTMuMDggNy4zMy0xMS44MiA3LjMzLTE0LjkgMCAzLjA4LTcuMzMgMTEuODItNy4zMyAxNC45IDBaIi8+PC9nPjxnIGZpbGw9Im5vbmUiIGNsYXNzPSJhbmltYXRlZC1sb2FkaW5nLWV5ZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS41IDlBMi41IDIuNSAwIDEgMCA5IDExLjUiLz48L2c+PC9zdmc+J30sMTEzODEwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNS41IDExYTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWk0zIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTEwIDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBabTkuNS0xLjVhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNaTTE3IDEyLjVhMi41IDIuNSAwIDEgMSA1IDAgMi41IDIuNSAwIDAgMS01IDBaIi8+PC9zdmc+J30sODk2OTQ3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTMgMTBhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm02LTFhMSAxIDAgMSAwIDAtMiAxIDEgMCAwIDAgMCAyWm0wIDFhMiAyIDAgMSAwIDAtNCAyIDIgMCAwIDAgMCA0Wm03LTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWm0xIDBhMiAyIDAgMSAxLTQgMCAyIDIgMCAwIDEgNCAwWiIvPjwvc3ZnPid9LDQ2NzU0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41NC44NGEuOC44IDAgMCAxIC45MiAwbDcuNSA1LjI1YS44LjggMCAwIDEgMCAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwTDEuMDQgNy40YS44LjggMCAwIDEgMC0xLjMyTDguNTQuODR6TTIuOSA2Ljc1TDkgMTEuMDJsNi4xLTQuMjdMOSAyLjQ4IDIuOSA2Ljc1eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTS44NCAxMC44YS44LjggMCAwIDEgMS4xMi0uMkw5IDE1LjUxbDcuMDQtNC45M2EuOC44IDAgMCAxIC45MiAxLjMybC03LjUgNS4yNWEuOC44IDAgMCAxLS45MiAwbC03LjUtNS4yNWEuOC44IDAgMCAxLS4yLTEuMTJ6Ii8+PC9zdmc+J30sOTUyNTQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMjMgMi41OGEuNS41IDAgMCAxIC41NCAwbDUuNSAzLjVhLjUuNSAwIDAgMSAwIC44NGwtNS41IDMuNWEuNS41IDAgMCAxLS41NCAwbC01LjUtMy41YS41LjUgMCAwIDEgMC0uODRsNS41LTMuNXpNMi45MyA2LjVMNy41IDkuNGw0LjU3LTIuOUw3LjUgMy42IDIuOTMgNi41eiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNTggOS4yM2EuNS41IDAgMCAxIC42OS0uMTVMNy41IDEyLjRsNS4yMy0zLjMzYS41LjUgMCAwIDEgLjU0Ljg0bC01LjUgMy41YS41LjUgMCAwIDEtLjU0IDBsLTUuNS0zLjVhLjUuNSAwIDAgMS0uMTUtLjY5eiIvPjwvc3ZnPid9LDg1MjY3MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiA3LjVBMi41IDIuNSAwIDAgMSA4LjUgNUgxMHYxSDguNUM3LjY3IDYgNyA2LjY3IDcgNy41djEuMTVhMy41IDMuNSAwIDAgMS0xLjkzIDMuMTNsLS40NS4yMi40NS4yMkEzLjUgMy41IDAgMCAxIDcgMTUuMzV2MS4xNWMwIC44My42NyAxLjUgMS41IDEuNUgxMHYxSDguNUEyLjUgMi41IDAgMCAxIDYgMTYuNXYtMS4xNWEyLjUgMi41IDAgMCAwLTEuMzgtMi4yM2wtMS4zNC0uNjdhLjUuNSAwIDAgMSAwLS45bDEuMzQtLjY3QTIuNSAyLjUgMCAwIDAgNiA4LjY1VjcuNVpNMTUuNSA2SDE0VjVoMS41QTIuNSAyLjUgMCAwIDEgMTggNy41djEuMTVjMCAuOTQuNTQgMS44IDEuMzggMi4yM2wxLjM0LjY3YS41LjUgMCAwIDEgMCAuOWwtMS4zNC42N0EyLjUgMi41IDAgMCAwIDE4IDE1LjM1djEuMTVhMi41IDIuNSAwIDAgMS0yLjUgMi41SDE0di0xaDEuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEuMTVhMy41IDMuNSAwIDAgMSAxLjkzLTMuMTNsLjQ1LS4yMi0uNDUtLjIyQTMuNSAzLjUgMCAwIDEgMTcgOC42NVY3LjVjMC0uODMtLjY3LTEuNS0xLjUtMS41WiIvPjwvc3ZnPid9LDE0NTA5MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTRINS41QTEuNSAxLjUgMCAwIDEgNCAxMi41di0xQTIuOSAyLjkgMCAwIDAgMi42NiA5bC4xOC0uMTNBMi45IDIuOSAwIDAgMCA0IDYuNVY1LjVDNCA0LjY3IDQuNjcgNCA1LjUgNEg3VjNINS41QTIuNSAyLjUgMCAwIDAgMyA1LjVWNi41YTEuOSAxLjkgMCAwIDEtLjc3IDEuNThjLS40Mi4zMi0uODQuNDMtLjg1LjQ0QzEuMyA4LjU0IDEgOC42NSAxIDlzLjMuNDYuMzguNDhjMCAwIC40My4xMi44NS40NC40LjMuNzcuOC43NyAxLjU4djFBMi41IDIuNSAwIDAgMCA1LjUgMTVIN3YtMVptNC0xMGgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2MUEyLjkgMi45IDAgMCAwIDE1LjM0IDlsLS4xOC4xM0EyLjkgMi45IDAgMCAwIDE0IDExLjVWMTIuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIMTF2MWgxLjVhMi41IDIuNSAwIDAgMCAyLjUtMi41VjExLjVjMC0uNzkuMzgtMS4yNy43Ny0xLjU4LjQyLS4zMi44NC0uNDMuODUtLjQ0LjA4LS4wMi4zOC0uMTMuMzgtLjQ4cy0uMy0uNDYtLjM4LS40OGMwIDAtLjQzLS4xMi0uODUtLjQ0LS40LS4zLS43Ny0uOC0uNzctMS41OHYtMUEyLjUgMi41IDAgMCAwIDEyLjUgM0gxMXYxWiIvPjwvc3ZnPid9LDY5ODU5MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im01LjEyIDEyIDMtNmg3Ljc2bDMgNi0zIDZIOC4xMmwtMy02Wk03LjUgNWg5bDMuNSA3LTMuNSA3aC05TDQgMTJsMy41LTdabTYuNSA3YTIgMiAwIDEgMS00IDAgMiAyIDAgMCAxIDQgMFptMSAwYTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFoiLz48L3N2Zz4nfSw3NDI0MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMy4xIDkgMi4yOC01aDcuMjRsMi4yOCA1LTIuMjggNUg1LjM4TDMuMSA5Wm0xLjYzLTZoOC41NEwxNiA5bC0yLjczIDZINC43M0wyIDlsMi43My02Wm01Ljc3IDZhMS41IDEuNSAwIDEgMS0zIDAgMS41IDEuNSAwIDAgMSAzIDBabTEgMGEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMFoiLz48L3N2Zz4nfSw3MjA1MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNmEuNS41IDAgMCAwLS41LjVWN2g0di0uNWEuNS41IDAgMCAwLS41LS41aC0zWk0xNSA3aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg5LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNy4wNSA4SDZWN2gzdi0uNWMwLS44My42Ny0xLjUgMS41LTEuNWgzYy44MyAwIDEuNS42NyAxLjUgMS41VjdaTTguMDUgOGwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTUuOTQgOGgtNy45WiIvPjwvc3ZnPid9LDg3MjgzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAyIDcuNSA1IDQgMiIgY2xhc3M9ImJyYWNrZXQtdXAiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTNsMy41LTMgMy41IDMiIGNsYXNzPSJicmFja2V0LWRvd24iLz48L3N2Zz4nfSwzNzU3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMC41MyAzLjczIDE0IDkuMzMgNy40NyAzLjczTTcuNDcgMjQuMjdsNi41MyAtNS42MCA2LjUzIDUuNjAiLz48L3N2Zz4nfSwxNzcyNTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDd2MTIuOTNsNS4xOC00LjMxLjY0Ljc2LTYuMzIgNS4yNy02LjMyLTUuMjcuNjQtLjc2TDEzIDE5LjkzVjdoMXoiLz48L3N2Zz4nfSw1MzY1MzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5LjMyIDZIOC42OEEyLjY4IDIuNjggMCAwIDAgNiA4LjY4VjExaDFWOC42OEM3IDcuNzUgNy43NSA3IDguNjggN2gxMC42NGMuOTMgMCAxLjY4Ljc1IDEuNjggMS42OFYxMWgxVjguNjhDMjIgNy4yIDIwLjggNiAxOS4zMiA2ek03IDE5LjMyYzAgLjkzLjc1IDEuNjggMS42OCAxLjY4aDEwLjY0Yy45MyAwIDEuNjgtLjc1IDEuNjgtMS42OFYxN2gxdjIuMzJDMjIgMjAuOCAyMC44IDIyIDE5LjMyIDIySDguNjhBMi42OCAyLjY4IDAgMCAxIDYgMTkuMzJWMTdoMXYyLjMyeiIvPjwvc3ZnPid9LDI5NjE2MyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNy40NyA5LjMzIDYuNTMgLTUuNjBMMjAuNTMgOS4zM00yMC41MyAxOC42N2wtNi41MyA1LjYwTDcuNDcgMTguNjciLz48L3N2Zz4nfSw2MTczMDMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4IDdoNXYxaC0yLjAxbC0xLjMzIDE0LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZIOS44NGExLjUgMS41IDAgMCAxLTEuNDktMS4zNkw3LjAxIDhINVY3aDVWNmMwLTEuMS45LTIgMi0yaDRhMiAyIDAgMCAxIDIgMnYxWm0tNi0yYTEgMSAwIDAgMC0xIDF2MWg2VjZhMSAxIDAgMCAwLTEtMWgtNFpNOC4wMiA4bDEuMzIgMTQuNTRhLjUuNSAwIDAgMCAuNS40Nmg4LjMzYS41LjUgMCAwIDAgLjUtLjQ2TDE5Ljk5IDhIOC4wMloiLz48L3N2Zz4nfSw5NjIwNzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi4zNWw2LjMyIDUuMjctLjY0Ljc2TDE0IDguMDdWMjFoLTFWOC4wN2wtNS4xOCA0LjMxLS42NC0uNzYgNi4zMi01LjI3eiIvPjwvc3ZnPid9LDc1MTUxMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxMi43NSIgY3k9IjcuNSIgcj0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iY3VycmVudENvbG9yIiBjeD0iNy41IiBjeT0iNy41IiByPSIxLjI1Ii8+PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIyLjI1IiBjeT0iNy41IiByPSIxLjI1Ii8+PC9zdmc+J30sNDIzNjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNSAxNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMS44MyA4Ljg4bC0uNjYtLjc2TDggMTAuOVYzSDd2Ny45TDMuODMgOC4xMmwtLjY2Ljc2IDQuMzMgMy43OCA0LjMzLTMuNzh6Ii8+PC9zdmc+J30sNTM4MDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAxMkExLjUgMS41IDAgMCAxIDMgMTAuNVY5SDJ2MS41QTIuNSAyLjUgMCAwIDAgNC41IDEzaDZhMi41IDIuNSAwIDAgMCAyLjUtMi41VjloLTF2MS41YzAgLjgzLS42NyAxLjUtMS41IDEuNWgtNnoiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC41IDNDMy42NyAzIDMgMy42NyAzIDQuNVY2SDJWNC41QTIuNSAyLjUgMCAwIDEgNC41IDJoNkEyLjUgMi41IDAgMCAxIDEzIDQuNVY2aC0xVjQuNWMwLS44My0uNjctMS41LTEuNS0xLjVoLTZ6IiBjbGFzcz0iYnJhY2tldC1kb3duIi8+PC9zdmc+J30sNjQ4OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJtNCA1IDMuNS0zTDExIDUiIGNsYXNzPSJicmFja2V0LXVwIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMSAxMGwtMy41IDNMNCAxMCIgY2xhc3M9ImJyYWNrZXQtZG93biIvPjwvc3ZnPid9LDI4NDA3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTUgMTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDJhLjUuNSAwIDAgMC0uNS41VjNoM3YtLjVhLjUuNSAwIDAgMC0uNS0uNWgtMlpNMTAgM2gzdjFoLTEuMDVsLS44NiA4LjY1QTEuNSAxLjUgMCAwIDEgOS41OSAxNEg1LjRhMS41IDEuNSAwIDAgMS0xLjQ5LTEuMzVMMy4wNSA0SDJWM2gzdi0uNUM1IDEuNjcgNS42NyAxIDYuNSAxaDJjLjgzIDAgMS41LjY3IDEuNSAxLjVWM1pNNC4wNSA0bC44NiA4LjU1YS41LjUgMCAwIDAgLjUuNDVIOS42YS41LjUgMCAwIDAgLjUtLjQ1TDEwLjk0IDRoLTYuOVoiLz48L3N2Zz4nfSw4MTI5NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjgzIDYuMTJsLS42Ni43Nkw4IDQuMVYxMkg3VjQuMUwzLjgzIDYuODhsLS42Ni0uNzZMNy41IDIuMzRsNC4zMyAzLjc4eiIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfSw4MjQyNDIoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjQgNS40NmEuOC44IDAgMCAxIDEuMTQtLjA1TDggOS40Mmw0LjQ2LTQuMDFhLjguOCAwIDAgMSAxLjA4IDEuMThMOCAxMS41OCAyLjQ3IDYuNTlhLjguOCAwIDAgMS0uMDYtMS4xM3oiLz48L3N2Zz4nfSw0NzE1MTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1IDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSA1LjU4Yy4yNC0uMjguNjUtLjMuOTItLjA3TDcuNSA4LjE0bDMuMDgtMi42M2EuNjUuNjUgMCAxIDEgLjg0Ljk4TDcuNSA5Ljg2IDMuNTggNi40OWEuNjUuNjUgMCAwIDEtLjA3LS45MXoiLz48L3N2Zz4nfSw0MzE4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgN0w3IDRINFYwSDNWNEgwTDMuNSA3WiIvPjwvc3ZnPid9LDM2ODk1NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOSA3IiB3aWR0aD0iOSIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0uNSAzLjVMNCAwdjNoNXYxSDR2M3oiLz48L3N2Zz4nfSw5MzMxMTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEyIDEyIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExLjU3IDBIMWExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTAuNTdhLjUuNSAwIDAgMCAuNDEtLjc4bC0zLjMtNC45NGEuNS41IDAgMCAxIDAtLjU2bDMuMy00Ljk0YS41LjUgMCAwIDAtLjQxLS43OHoiLz48L3N2Zz4nfSwyOTEyMDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDkgNyIgd2lkdGg9IjkiIGhlaWdodD0iNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDMuNUw1IDB2M0gwdjFoNXYzeiIvPjwvc3ZnPid9LDgzNTU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNyA3IiB3aWR0aD0iNyIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgMEwwIDNoM3Y0aDFWM2gzTDMuNSAweiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtkZWZhdWx0OigpPT5zfSk7Y29uc3Qgcz1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Yn0sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxpKXtpJiYiZnVuY3Rpb24iIT10eXBlb2YgaXx8KGk9e2NhbGxiYWNrOml9KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3A6aCkodCx7Y2FsbGJhY2s6aS5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBpLmF0dHJpYnV0ZXM/aS5hdHRyaWJ1dGVzOmcsYmFzZToic3RyaW5nIj09dHlwZW9mIGkuYmFzZT9pLmJhc2U6ZS5iYXNlLGV4dDppLmV4dHx8ZS5leHQsc2l6ZTppLmZvbGRlcnx8KHM9aS5zaXplfHxlLnNpemUsIm51bWJlciI9PXR5cGVvZiBzP3MrIngiK3M6cyksY2xhc3NOYW1lOmkuY2xhc3NOYW1lfHxlLmNsYXNzTmFtZSxvbmVycm9yOmkub25lcnJvcnx8ZS5vbmVycm9yfSk7dmFyIHN9LHJlcGxhY2U6bSx0ZXN0OmZ1bmN0aW9uKGUpe2kubGFzdEluZGV4PTA7dmFyIHQ9aS50ZXN0KGUpO3JldHVybiBpLmxhc3RJbmRleD0wLHR9fSx0PXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiciOiImIzM5OyIsJyInOiImcXVvdDsiCn0saT0vKD86XHVkODNkXHVkYzY4XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZjXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmZC1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZjXHVkZmZlXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmVcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZFx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmRcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDF8XHVkODNkXHVkYzZiXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFx1ZGM2Y1x1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmRcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkW1x1ZGM2Yi1cdWRjNmRdKXwoPzpcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2VcdWRkZDEpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGQoPzpcdTI2OTVcdWZlMGZ8XHUyNjk2XHVmZTBmfFx1MjcwOFx1ZmUwZnxcdWQ4M2NbXHVkZjNlXHVkZjczXHVkZjdjXHVkZjg0XHVkZjkzXHVkZmE0XHVkZmE4XHVkZmViXHVkZmVkXXxcdWQ4M2RbXHVkY2JiXHVkY2JjXHVkZDI3XHVkZDJjXHVkZTgwXHVkZTkyXXxcdWQ4M2VbXHVkZGFmLVx1ZGRiM1x1ZGRiY1x1ZGRiZF0pfCg/Olx1ZDgzY1tcdWRmY2JcdWRmY2NdfFx1ZDgzZFtcdWRkNzRcdWRkNzVdfFx1MjZmOSkoKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZmUwZilcdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZil8KD86XHVkODNjW1x1ZGZjM1x1ZGZjNFx1ZGZjYV18XHVkODNkW1x1ZGM2ZVx1ZGM3MFx1ZGM3MVx1ZGM3M1x1ZGM3N1x1ZGM4MVx1ZGM4Mlx1ZGM4Nlx1ZGM4N1x1ZGU0NS1cdWRlNDdcdWRlNGJcdWRlNGRcdWRlNGVcdWRlYTNcdWRlYjQtXHVkZWI2XXxcdWQ4M2VbXHVkZDI2XHVkZDM1XHVkZDM3LVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGRiOFx1ZGRiOVx1ZGRjZC1cdWRkY2ZcdWRkZDYtXHVkZGRkXSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP1x1MjAwZFtcdTI2NDBcdTI2NDJdXHVmZTBmfCg/Olx1ZDgzZFx1ZGM2OFx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFx1ZGM2OHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFx1ZGM4Ylx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1Mjc2NFx1ZmUwZlx1MjAwZFx1ZDgzZFtcdWRjNjhcdWRjNjldfFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdTI2YTdcdWZlMGZ8XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHVkODNjXHVkZjA4fFx1ZDgzY1x1ZGZmNFx1MjAwZFx1MjYyMFx1ZmUwZnxcdWQ4M2RcdWRjMTVcdTIwMGRcdWQ4M2VcdWRkYmF8XHVkODNkXHVkYzNiXHUyMDBkXHUyNzQ0XHVmZTBmfFx1ZDgzZFx1ZGM0MVx1MjAwZFx1ZDgzZFx1ZGRlOHxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNmZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGQzY1x1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRlXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkZGZcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZFx1ZGMwOFx1MjAwZFx1MmIxYil8WyMqMC05XVx1ZmUwZj9cdTIwZTN8KD86W8Kpwq5cdTIxMjJcdTI2NWZdXHVmZTBmKXwoPzpcdWQ4M2NbXHVkYzA0XHVkZDcwXHVkZDcxXHVkZDdlXHVkZDdmXHVkZTAyXHVkZTFhXHVkZTJmXHVkZTM3XHVkZjIxXHVkZjI0LVx1ZGYyY1x1ZGYzNlx1ZGY3ZFx1ZGY5Nlx1ZGY5N1x1ZGY5OS1cdWRmOWJcdWRmOWVcdWRmOWZcdWRmY2RcdWRmY2VcdWRmZDQtXHVkZmRmXHVkZmYzXHVkZmY1XHVkZmY3XXxcdWQ4M2RbXHVkYzNmXHVkYzQxXHVkY2ZkXHVkZDQ5XHVkZDRhXHVkZDZmXHVkZDcwXHVkZDczXHVkZDc2LVx1ZGQ3OVx1ZGQ4N1x1ZGQ4YS1cdWRkOGRcdWRkYTVcdWRkYThcdWRkYjFcdWRkYjJcdWRkYmNcdWRkYzItXHVkZGM0XHVkZGQxLVx1ZGRkM1x1ZGRkYy1cdWRkZGVcdWRkZTFcdWRkZTNcdWRkZThcdWRkZWZcdWRkZjNcdWRkZmFcdWRlY2JcdWRlY2QtXHVkZWNmXHVkZWUwLVx1ZGVlNVx1ZGVlOVx1ZGVmMFx1ZGVmM118W1x1MjAzY1x1MjA0OVx1MjEzOVx1MjE5NC1cdTIxOTlcdTIxYTlcdTIxYWFcdTIzMWFcdTIzMWJcdTIzMjhcdTIzY2ZcdTIzZWQtXHUyM2VmXHUyM2YxXHUyM2YyXHUyM2Y4LVx1MjNmYVx1MjRjMlx1MjVhYVx1MjVhYlx1MjViNlx1MjVjMFx1MjVmYi1cdTI1ZmVcdTI2MDAtXHUyNjA0XHUyNjBlXHUyNjExXHUyNjE0XHUyNjE1XHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJhXHUyNjJlXHUyNjJmXHUyNjM4LVx1MjYzYVx1MjY0MFx1MjY0Mlx1MjY0OC1cdTI2NTNcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N2JcdTI2N2ZcdTI2OTItXHUyNjk3XHUyNjk5XHUyNjliXHUyNjljXHUyNmEwXHUyNmExXHUyNmE3XHUyNmFhXHUyNmFiXHUyNmIwXHUyNmIxXHUyNmJkXHUyNmJlXHUyNmM0XHUyNmM1XHUyNmM4XHUyNmNmXHUyNmQxXHUyNmQzXHUyNmQ0XHUyNmU5XHUyNmVhXHUyNmYwLVx1MjZmNVx1MjZmOFx1MjZmYVx1MjZmZFx1MjcwMlx1MjcwOFx1MjcwOVx1MjcwZlx1MjcxMlx1MjcxNFx1MjcxNlx1MjcxZFx1MjcyMVx1MjczM1x1MjczNFx1Mjc0NFx1Mjc0N1x1Mjc1N1x1Mjc2M1x1Mjc2NFx1MjdhMVx1MjkzNFx1MjkzNVx1MmIwNS1cdTJiMDdcdTJiMWJcdTJiMWNcdTJiNTBcdTJiNTVcdTMwMzBcdTMwM2RcdTMyOTdcdTMyOTldKSg/Olx1ZmUwZnwoPyFcdWZlMGUpKXwoPzooPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XHVkZDkwXXxbXHUyNjFkXHUyNmY3XHUyNmY5XHUyNzBjXHUyNzBkXSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86XHVkODNjW1x1ZGY4NVx1ZGZjMi1cdWRmYzRcdWRmYzdcdWRmY2FdfFx1ZDgzZFtcdWRjNDJcdWRjNDNcdWRjNDYtXHVkYzUwXHVkYzY2LVx1ZGM2OVx1ZGM2ZVx1ZGM3MC1cdWRjNzhcdWRjN2NcdWRjODEtXHVkYzgzXHVkYzg1LVx1ZGM4N1x1ZGNhYVx1ZGQ3YVx1ZGQ5NVx1ZGQ5Nlx1ZGU0NS1cdWRlNDdcdWRlNGItXHVkZTRmXHVkZWEzXHVkZWI0LVx1ZGViNlx1ZGVjMFx1ZGVjY118XHVkODNlW1x1ZGQwY1x1ZGQwZlx1ZGQxOC1cdWRkMWNcdWRkMWVcdWRkMWZcdWRkMjZcdWRkMzAtXHVkZDM5XHVkZDNkXHVkZDNlXHVkZDc3XHVkZGI1XHVkZGI2XHVkZGI4XHVkZGI5XHVkZGJiXHVkZGNkLVx1ZGRjZlx1ZGRkMS1cdWRkZGRdfFtcdTI3MGFcdTI3MGJdKSkoPzpcdWQ4M2NbXHVkZmZiLVx1ZGZmZl0pP3woPzpcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzczXHVkYjQwXHVkYzYzXHVkYjQwXHVkYzc0XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3N1x1ZGI0MFx1ZGM2Y1x1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRkZTZcdWQ4M2NbXHVkZGU4LVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmMlx1ZGRmNFx1ZGRmNi1cdWRkZmFcdWRkZmNcdWRkZmRcdWRkZmZdfFx1ZDgzY1x1ZGRlN1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVmXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjlcdWRkZmJcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRlOFx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVlXHVkZGYwLVx1ZGRmNVx1ZGRmN1x1ZGRmYS1cdWRkZmZdfFx1ZDgzY1x1ZGRlOVx1ZDgzY1tcdWRkZWFcdWRkZWNcdWRkZWZcdWRkZjBcdWRkZjJcdWRkZjRcdWRkZmZdfFx1ZDgzY1x1ZGRlYVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZWFcdWRkZWNcdWRkZWRcdWRkZjctXHVkZGZhXXxcdWQ4M2NcdWRkZWJcdWQ4M2NbXHVkZGVlLVx1ZGRmMFx1ZGRmMlx1ZGRmNFx1ZGRmN118XHVkODNjXHVkZGVjXHVkODNjW1x1ZGRlNlx1ZGRlN1x1ZGRlOS1cdWRkZWVcdWRkZjEtXHVkZGYzXHVkZGY1LVx1ZGRmYVx1ZGRmY1x1ZGRmZV18XHVkODNjXHVkZGVkXHVkODNjW1x1ZGRmMFx1ZGRmMlx1ZGRmM1x1ZGRmN1x1ZGRmOVx1ZGRmYV18XHVkODNjXHVkZGVlXHVkODNjW1x1ZGRlOC1cdWRkZWFcdWRkZjEtXHVkZGY0XHVkZGY2LVx1ZGRmOV18XHVkODNjXHVkZGVmXHVkODNjW1x1ZGRlYVx1ZGRmMlx1ZGRmNFx1ZGRmNV18XHVkODNjXHVkZGYwXHVkODNjW1x1ZGRlYVx1ZGRlYy1cdWRkZWVcdWRkZjJcdWRkZjNcdWRkZjVcdWRkZjdcdWRkZmNcdWRkZmVcdWRkZmZdfFx1ZDgzY1x1ZGRmMVx1ZDgzY1tcdWRkZTYtXHVkZGU4XHVkZGVlXHVkZGYwXHVkZGY3LVx1ZGRmYlx1ZGRmZV18XHVkODNjXHVkZGYyXHVkODNjW1x1ZGRlNlx1ZGRlOC1cdWRkZWRcdWRkZjAtXHVkZGZmXXxcdWQ4M2NcdWRkZjNcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhLVx1ZGRlY1x1ZGRlZVx1ZGRmMVx1ZGRmNFx1ZGRmNVx1ZGRmN1x1ZGRmYVx1ZGRmZl18XHVkODNjXHVkZGY0XHVkODNjXHVkZGYyfFx1ZDgzY1x1ZGRmNVx1ZDgzY1tcdWRkZTZcdWRkZWEtXHVkZGVkXHVkZGYwLVx1ZGRmM1x1ZGRmNy1cdWRkZjlcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRmNlx1ZDgzY1x1ZGRlNnxcdWQ4M2NcdWRkZjdcdWQ4M2NbXHVkZGVhXHVkZGY0XHVkZGY4XHVkZGZhXHVkZGZjXXxcdWQ4M2NcdWRkZjhcdWQ4M2NbXHVkZGU2LVx1ZGRlYVx1ZGRlYy1cdWRkZjRcdWRkZjctXHVkZGY5XHVkZGZiXHVkZGZkLVx1ZGRmZl18XHVkODNjXHVkZGY5XHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlOVx1ZGRlYi1cdWRkZWRcdWRkZWYtXHVkZGY0XHVkZGY3XHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZmXXxcdWQ4M2NcdWRkZmFcdWQ4M2NbXHVkZGU2XHVkZGVjXHVkZGYyXHVkZGYzXHVkZGY4XHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZmJcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVlXHVkZGYzXHVkZGZhXXxcdWQ4M2NcdWRkZmNcdWQ4M2NbXHVkZGViXHVkZGY4XXxcdWQ4M2NcdWRkZmRcdWQ4M2NcdWRkZjB8XHVkODNjXHVkZGZlXHVkODNjW1x1ZGRlYVx1ZGRmOV18XHVkODNjXHVkZGZmXHVkODNjW1x1ZGRlNlx1ZGRmMlx1ZGRmY118XHVkODNjW1x1ZGNjZlx1ZGQ4ZVx1ZGQ5MS1cdWRkOWFcdWRkZTYtXHVkZGZmXHVkZTAxXHVkZTMyLVx1ZGUzNlx1ZGUzOC1cdWRlM2FcdWRlNTBcdWRlNTFcdWRmMDAtXHVkZjIwXHVkZjJkLVx1ZGYzNVx1ZGYzNy1cdWRmN2NcdWRmN2UtXHVkZjg0XHVkZjg2LVx1ZGY5M1x1ZGZhMC1cdWRmYzFcdWRmYzVcdWRmYzZcdWRmYzhcdWRmYzlcdWRmY2YtXHVkZmQzXHVkZmUwLVx1ZGZmMFx1ZGZmNFx1ZGZmOC1cdWRmZmZdfFx1ZDgzZFtcdWRjMDAtXHVkYzNlXHVkYzQwXHVkYzQ0XHVkYzQ1XHVkYzUxLVx1ZGM2NVx1ZGM2YVx1ZGM2Zlx1ZGM3OS1cdWRjN2JcdWRjN2QtXHVkYzgwXHVkYzg0XHVkYzg4LVx1ZGNhOVx1ZGNhYi1cdWRjZmNcdWRjZmYtXHVkZDNkXHVkZDRiLVx1ZGQ0ZVx1ZGQ1MC1cdWRkNjdcdWRkYTRcdWRkZmItXHVkZTQ0XHVkZTQ4LVx1ZGU0YVx1ZGU4MC1cdWRlYTJcdWRlYTQtXHVkZWIzXHVkZWI3LVx1ZGViZlx1ZGVjMS1cdWRlYzVcdWRlZDAtXHVkZWQyXHVkZWQ1LVx1ZGVkN1x1ZGVlYlx1ZGVlY1x1ZGVmNC1cdWRlZmNcdWRmZTAtXHVkZmViXXxcdWQ4M2VbXHVkZDBkXHVkZDBlXHVkZDEwLVx1ZGQxN1x1ZGQxZFx1ZGQyMC1cdWRkMjVcdWRkMjctXHVkZDJmXHVkZDNhXHVkZDNjXHVkZDNmLVx1ZGQ0NVx1ZGQ0Ny1cdWRkNzZcdWRkNzhcdWRkN2EtXHVkZGI0XHVkZGI3XHVkZGJhXHVkZGJjLVx1ZGRjYlx1ZGRkMFx1ZGRkZS1cdWRkZmZcdWRlNzAtXHVkZTc0XHVkZTc4LVx1ZGU3YVx1ZGU4MC1cdWRlODZcdWRlOTAtXHVkZWE4XHVkZWIwLVx1ZGViNlx1ZGVjMC1cdWRlYzJcdWRlZDAtXHVkZWQ2XXxbXHUyM2U5LVx1MjNlY1x1MjNmMFx1MjNmM1x1MjY3ZVx1MjZjZVx1MjcwNVx1MjcyOFx1Mjc0Y1x1Mjc0ZVx1Mjc1My1cdTI3NTVcdTI3OTUtXHUyNzk3XHUyN2IwXHUyN2JmXHVlNTBhXSl8XHVmZTBmL2cscz0vXHVGRTBGL2csbz1TdHJpbmcuZnJvbUNoYXJDb2RlKDgyMDUpLG49L1smPD4nIl0vZyxhPS9eKD86aWZyYW1lfG5vZnJhbWVzfG5vc2NyaXB0fHNjcmlwdHxzZWxlY3R8c3R5bGV8dGV4dGFyZWEpJC8sbD1TdHJpbmcuZnJvbUNoYXJDb2RlCjtyZXR1cm4gZTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQ/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4iIi5jb25jYXQodC5iYXNlLHQuc2l6ZSwiLyIsZSx0LmV4dCl9ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgaSxzLG89ZS5jaGlsZE5vZGVzLG49by5sZW5ndGg7bi0tOykzPT09KHM9KGk9b1tuXSkubm9kZVR5cGUpP3QucHVzaChpKToxIT09c3x8Im93bmVyU1ZHRWxlbWVudCJpbiBpfHxhLnRlc3QoaS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8dShpLHQpO3JldHVybiB0fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGIoZS5pbmRleE9mKG8pPDA/ZS5yZXBsYWNlKHMsIiIpOmUpfWZ1bmN0aW9uIGgoZSx0KXtmb3IodmFyIHMsbyxuLGEsbCxkLGgscCxfLGcsbSxiLHYsZj11KGUsW10pLFM9Zi5sZW5ndGg7Uy0tOyl7Zm9yKG49ITEsYT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZD0obD1mW1NdKS5ub2RlVmFsdWUscD0wO2g9aS5leGVjKGQpOyl7aWYoKF89aC5pbmRleCkhPT1wJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwLF8pLCEwKSksYj1jKG09aFswXSkscD1fK20ubGVuZ3RoLHY9dC5jYWxsYmFjayhiLHQpLGImJnYpe2ZvcihvIGluKGc9bmV3IEltYWdlKS5vbmVycm9yPXQub25lcnJvcixnLnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwiZmFsc2UiKSxzPXQuYXR0cmlidXRlcyhtLGIpKXMuaGFzT3duUHJvcGVydHkobykmJjAhPT1vLmluZGV4T2YoIm9uIikmJiFnLmhhc0F0dHJpYnV0ZShvKSYmZy5zZXRBdHRyaWJ1dGUobyxzW29dKTtnLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxnLmFsdD1tLGcuc3JjPXYsbj0hMCxhLmFwcGVuZENoaWxkKGcpfWd8fGEuYXBwZW5kQ2hpbGQocihtLCExKSksZz1udWxsfW4mJihwPGQubGVuZ3RoJiZhLmFwcGVuZENoaWxkKHIoZC5zbGljZShwKSwhMCkpLGwucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoYSxsKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcChlLHQpe3JldHVybiBtKGUsKGZ1bmN0aW9uKGUpe3ZhciBpLHMsbz1lLGE9YyhlKSxsPXQuY2FsbGJhY2soYSx0KTtpZihhJiZsKXtmb3IocyBpbiBvPSI8aW1nICIuY29uY2F0KCdjbGFzcz0iJyx0LmNsYXNzTmFtZSwnIiAnLCdkcmFnZ2FibGU9ImZhbHNlIiAnLCdhbHQ9IicsZSwnIicsJyBzcmM9IicsbCwnIicpLGk9dC5hdHRyaWJ1dGVzKGUsYSkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmMCE9PXMuaW5kZXhPZigib24iKSYmLTE9PT1vLmluZGV4T2YoIiAiK3MrIj0iKSYmKG89by5jb25jYXQoIiAiLHMsJz0iJyxpW3NdLnJlcGxhY2UobixfKSwnIicpKTtvPW8uY29uY2F0KCIvPiIpfXJldHVybiBvfSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZygpe3JldHVybiBudWxsfWZ1bmN0aW9uIG0oZSx0KXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoaSx0KX1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBpPVtdLHM9MCxvPTAsbj0wO248ZS5sZW5ndGg7KXM9ZS5jaGFyQ29kZUF0KG4rKyksbz8oaS5wdXNoKCg2NTUzNisoby01NTI5Njw8MTApKyhzLTU2MzIwKSkudG9TdHJpbmcoMTYpKSxvPTApOjU1Mjk2PD1zJiZzPD01NjMxOT9vPXM6aS5wdXNoKHMudG9TdHJpbmcoMTYpKTtyZXR1cm4gaS5qb2luKHR8fCItIil9fSgpfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/19595.d962ab75bd3e1baa5aae.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.559Z","timestamp":1785136429559,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/19595.d962ab75bd3e1baa5aae.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-3aa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b01be5380143c57982c50800a6dce502\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":938,"size_decoded":1141,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (938), with no line terminators","md5":"ef14629eb0ed7a15e49e7c642aa484ef","sha1":"cfeaa9a767678d979a5fd7c738ef2545adf8282b","sha256":"99d133c91adb2471524428e7fc71f9734042eaad94a1abc097a500470c8a2856","sha512":"6f618b450da8775c62ec16e0a36ba0788e31206af19716abc78415d527b21e1d68c824eac3c7dd4ccf35567e42ecbca363d4bd8b077a19e1f49193783ecf3e4c","ssdeep":"","tlshash":"ff11262191110e79bcefa2352ba0990c6281cdb0cd17a4ebb468eb2504c67bb5c8326c","first_seen":"2026-07-17T03:30:51.205823Z","last_seen":"2026-08-11T04:43:23.116831Z","times_seen":213,"resource_available":false,"data":"LmlubmVyLXNsb3QtTmJHcHRENWp7LS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcDoycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSkqMik7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4tdG9wOmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS11aS1saWItY29udHJvbC1pbm5lci1zbG90LWdhcCwycHgpO292ZXJmbG93OmhpZGRlbn0uaW5uZXItc2xvdC1OYkdwdEQ1ajpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoM3B4IC0gdmFyKC0tdWktbGliLWNvbnRyb2wtYm9yZGVyLXdpZHRoLCAxcHgpKX0uaW5uZXItc2xvdC1OYkdwdEQ1ajpudGgtbGFzdC1jaGlsZCgyKXttYXJnaW4taW5saW5lLWVuZDpjYWxjKDNweCAtIHZhcigtLXVpLWxpYi1jb250cm9sLWJvcmRlci13aWR0aCwgMXB4KSl9LmlubmVyLXNsb3QtTmJHcHRENWouaW50ZXJhY3RpdmUtTmJHcHRENWp7Y29sb3I6dmFyKC0tdWktbGliLWNvbnRyb2wtZGVmYXVsdC1zbG90LWNvbG9yLGN1cnJlbnRDb2xvcil9LmlubmVyLXNsb3QtTmJHcHRENWouaWNvbi1OYkdwdEQ1antmbGV4Om5vbmU7d2lkdGg6MjhweH0uaW5uZXItbWlkZGxlLXNsb3QtTmJHcHRENWp7ZmxleDoxIDEgYXV0b30uYmVmb3JlLXNsb3QtTmJHcHRENWp7ZGlzcGxheTpmbGV4O21hcmdpbi1ib3R0b206MnB4fS5hZnRlci1zbG90LU5iR3B0RDVqe2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52065.de9eddb339ac77d1dbf8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.804Z","timestamp":1785136429804,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/52065.de9eddb339ac77d1dbf8.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4f5c82-3a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 09 Jul 2026 08:32:02 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/09/2026 11:43:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4061ce80d737f50c01a5289afdc3b549\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/19513.8749edce64a7e2de2583.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.820Z","timestamp":1785136429820,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/19513.8749edce64a7e2de2583.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-5fd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3dbd0a2e238dc6bb63ea07b71f0193c5\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/gip.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.059Z","timestamp":1785136422059,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/gip.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7315\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":7315,"size_decoded":7656,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"fd61a71b00c709844488d8c407cd8a8a","sha1":"e7a6eeac53280425e7756d5c71acf5eb84a88c9d","sha256":"3bb3b650b869ace3e1fbf77e811006a32adbad91ed174b96f7dc0490453d13a6","sha512":"72b17c3dadcefd8328e24d5b410bf1022e4eb269f3778ba7a941df48ceba1b5f9aa97197343502df21680dc094fde70bbcc402f788ca0afa7e734d0409e90a26","ssdeep":"192:Womy4uV7+spAyJisycHuZwk5z8Y3IjnXHxCOIM:Uy4YAyIHcHuZj5zRIwOIM","tlshash":"99e18ed3c442cb431ae26be6519a844eb02c2f43a4d58347f6271f2ed63f5c9a5f0d08","first_seen":"2025-12-03T04:46:43.73975Z","last_seen":"2026-07-29T06:14:00.428992Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4263,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4263,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.561Z","timestamp":1785136427561,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/c0a6ae515f4d245d.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"c0a6ae515f4d245d.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"42e2ea745a52c479ce79b9fadf7f2ed9\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/c0a6ae515f4d245d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xwt97-1781312483646-eb94f2b460c3\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=lyjXnAdEp%2BVpIDQ13taQ1YY%2FymMdrct7MeSS2QQ4F4Rjo2Ig0MYcIZ4ReQeRgEakEAtIvVXgfuFWiCFodP2Iwi5AMMeMxVl87mfV56C0b8lXpDngWR4wv2l%2B%2BrKA\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f04ef98deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":3649,"size_decoded":3726,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3649), with no line terminators","md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-11T04:47:30.097724Z","times_seen":1896,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12181.b65a58355ff7cc34950f.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.464Z","timestamp":1785136428464,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12181.b65a58355ff7cc34950f.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a44af20-21c82\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:09:36 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/01/2026 11:40:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3f82dc9cd3a58c9b1a32157d6159da8d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":138370,"size_decoded":18187,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3070)","md5":"90cd4a18a60bc908d0840ba4fec27dc6","sha1":"bb5de7eba54b0d9323f872960612df642a27716e","sha256":"ae043b44480c283e0e50b84e353fe3e98e560fb8f9bd14638f61a5dfadc231ba","sha512":"1ff83bc8bcac42839140d927da7b753dc51b3ab887327bf07fef3ca3b194425621ed7376ef404517f818a80b9f3d96955fd5c9239c1dc05e599503f7118edc99","ssdeep":"1536:U4ecrc2hMNlbPWqfxN+fUE44ld4e44IJmuJY7+fHfvWr05KNyhLcSbWd4+o:4CxdswjaWyn","tlshash":"10d345b217f406f473b80d5293f77e591b3c74a359882c52d2a4d9a0dd40fc2a96ba3e","first_seen":"2026-07-01T19:46:28.364877Z","last_seen":"2026-08-11T04:47:30.172954Z","times_seen":1474,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/time.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.845Z","timestamp":1785136421845,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/time.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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 200 \r\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 470\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1214,"size_decoded":868,"mime_type":"application/javascript","magic":"ASCII text","md5":"20563d8ab516919f8ffa32cbb7d1c423","sha1":"ee376cf17bb0edf45396cfdcac0999592715d2cb","sha256":"ef82e573ae1e4a08adb03c9cc557fa38ef3e2b9456ef8a323b184e38138970b7","sha512":"0e9ab21b883e9b97ca33be431ddabc848d608c3f2f8b16912ccd09df92b2a1816f49b19d9d4af056b0b161ebcae83204c775f7d79d6e6aa1045284197840ecc4","ssdeep":"","tlshash":"6b21acd554b49741ae3e383d0b7e72882460402b2cc2ca2d3c5dc1849f95a970b6fae5","first_seen":"2023-03-07T15:53:01Z","last_seen":"2026-07-29T06:14:00.367121Z","times_seen":12,"resource_available":true,"data":"dmFyIGNsb2NrSUQ7CnZhciB5b3VyVGltZVpvbmVGcm9tID0gKzEuMDA7IC8vdGltZSB6b25lIHZhbHVlIHdoZXJlIHlvdSBhcmUgYXQKCnZhciBkID0gbmV3IERhdGUoKTsgIAovL2dldCB0aGUgdGltZXpvbmUgb2Zmc2V0IGZyb20gbG9jYWwgdGltZSBpbiBtaW51dGVzCnZhciB0ekRpZmZlcmVuY2UgPSB5b3VyVGltZVpvbmVGcm9tICogNjAgKyBkLmdldFRpbWV6b25lT2Zmc2V0KCk7Ci8vY29udmVydCB0aGUgb2Zmc2V0IHRvIG1pbGxpc2Vjb25kcywgYWRkIHRvIHRhcmdldFRpbWUsIGFuZCBtYWtlIGEgbmV3IERhdGUKdmFyIG9mZnNldCA9IHR6RGlmZmVyZW5jZSAqIDYwICAqIDEwMDA7CgpmdW5jdGlvbiBVcGRhdGVDbG9jaygpIHsKICAgIHZhciB0RGF0ZSA9IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0VGltZSgpK29mZnNldCk7CiAgICB2YXIgaW5faG91cnMgPSB0RGF0ZS5nZXRIb3VycygpCiAgICB2YXIgaW5fbWludXRlcz10RGF0ZS5nZXRNaW51dGVzKCk7CiAgICB2YXIgaW5fc2Vjb25kcz0gdERhdGUuZ2V0U2Vjb25kcygpOwoKdmFyIGluX2RhdGUgPSB0RGF0ZS5nZXREYXRlKCk7CnZhciBpbl95ZWFyID0gdERhdGUuZ2V0RnVsbFllYXIoKTsKdmFyIGluX21vbnRoICAgPSAodERhdGUuZ2V0TW9udGgoKSArIDEpOwoKIAoKCgogICAgaWYoaW5fbWludXRlcyA8IDEwKQogICAgICAgIGluX21pbnV0ZXMgPSAnMCcraW5fbWludXRlczsKICAgIGlmKGluX3NlY29uZHM8MTApICAgCiAgICAgICAgaW5fc2Vjb25kcyA9ICcwJytpbl9zZWNvbmRzOwogICAgaWYoaW5faG91cnM8MTApIAogICAgICAgIGluX2hvdXJzID0gJzAnK2luX2hvdXJzOwoKICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGVfdGltZScpLmlubmVySFRNTCA9ICIgICIgCgorIGluX2RhdGUgICsgIi0iIAorIGluX21vbnRoICsgIi0iIAorIGluX3llYXIgKyAiICIgCiAgICAgICAgICAgICAgICAgICArIGluX2hvdXJzICsgIjoiIAogICAgICAgICAgICAgICAgICAgKyBpbl9taW51dGVzICsgIjoiIAogICAgICAgICAgICAgICAgICAgKyBpbl9zZWNvbmRzOwoKfQpmdW5jdGlvbiBTdGFydENsb2NrKCkgewogICBjbG9ja0lEID0gc2V0SW50ZXJ2YWwoVXBkYXRlQ2xvY2ssIDUwMCk7Cn0KCmZ1bmN0aW9uIEtpbGxDbG9jaygpIHsKICBjbGVhclRpbWVvdXQoY2xvY2tJRCk7Cn0Kd2luZG93Lm9ubG9hZD1mdW5jdGlvbigpIHsKICBTdGFydENsb2NrKCk7Cn0="}},"time_used":360,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":360,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.590Z","timestamp":1785136427590,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/95262386d8d4b6dd.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 4416834\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"95262386d8d4b6dd.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"8c155806c003f628ca093cb0feb083d0\"\r\nlast-modified: Thu, 30 Apr 2026 21:19:00 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/95262386d8d4b6dd.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::n9fnj-1777689750477-eb548eb708c2\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=IYWDucYV5ZOeUmfUEagfKQyCRDO6LHTn7sqJtzmAakd%2B9icv78d7hZ8QfOKfPyvix%2FAVb%2Fxc%2BENO%2BAuxXs%2BkeqkiOp9GspMQpM9GGGzfrxK63LyT1%2FdbraKoD7JL\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f07f178deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":30684,"size_decoded":9889,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (30682), with no line terminators","md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-11T04:47:30.031635Z","times_seen":2178,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc3NDcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoOTE5NDcpfSwxODkxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1uLl8oZS5yKDc1MjAxKSksaT1lLnIoNzQwODQpLHM9ZS5yKDUzMTMzKTtlLnIoOTE5NDcpO2xldCBjPWUucigxNjg3Mik7Y2xhc3MgdSBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgYz1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLHU9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCxsPW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGN8fHV8fGw/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gbCh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxsPSgwLG8udXNlQ29udGV4dCkoYy5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KSh1LHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmwsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODU2NDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3NTIwMSk7ZnVuY3Rpb24gYShlLHQpe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKCgpPT4oe3RyZWU6ZSxzdGF0ZUtleTp0LG5leHQ6bnVsbH0pKTtpZihyLnRyZWU9PT1lKXJldHVybiByO2xldCBvPXt0cmVlOmUsc3RhdGVLZXk6dCxuZXh0Om51bGx9LGk9MSxzPXIsYz1vO2Zvcig7bnVsbCE9PXMmJmk8MTspe2lmKHMuc3RhdGVLZXk9PT10KXtjLm5leHQ9cy5uZXh0O2JyZWFrfXtpKys7bGV0IGU9e3RyZWU6cy50cmVlLHN0YXRlS2V5OnMuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9cz1zLm5leHR9cmV0dXJuIGEobyksb30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMDk3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd319KTtsZXQgbj1lLnIoODEyNTgpLGE9ZS5yKDQ0MDY2KSxvPWUucig5ODEzNCksaT1hLl8oZS5yKDc1MjAxKSkscz1uLl8oZS5yKDI5MDgwKSksYz1lLnIoMTY4NzIpLHU9ZS5yKDUwMDk2KSxsPWUucig3NDg0NyksZD1lLnIoODk2MTYpLGY9ZS5yKDc3NDcyKSxwPWUucig1NzI0NyksaD1lLnIoMTg5MSksbT1lLnIoNTc3NzgpLGc9ZS5yKDg1NjQ2KTtlLnIoOTIyMjcpO2xldCB5PWUucigzMTg5OSksYj1lLnIoODgwNjIpLFA9ZS5yKDE4OTM5KSxfPXMuZGVmYXVsdC5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsUz1bImJvdHRvbSIsImhlaWdodCIsImxlZnQiLCJyaWdodCIsInRvcCIsIndpZHRoIiwieCIsInkiXTtmdW5jdGlvbiB2KGUsdCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PTAmJnIudG9wPD10fWNsYXNzIE8gZXh0ZW5kcyBpLmRlZmF1bHQuQ29tcG9uZW50e2NvbXBvbmVudERpZE1vdW50KCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5JiZ0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVufWNvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsPSgpPT57bGV0e2ZvY3VzQW5kU2Nyb2xsUmVmOmUsc2VnbWVudFBhdGg6dH09dGhpcy5wcm9wcztpZihlLmFwcGx5KXtpZigwIT09ZS5zZWdtZW50UGF0aHMubGVuZ3RoJiYhZS5zZWdtZW50UGF0aHMuc29tZShlPT50LmV2ZXJ5KCh0LHIpPT4oMCxkLm1hdGNoU2VnbWVudCkodCxlW3JdKSkpKXJldHVybjtsZXQgcj1udWxsLG49ZS5oYXNoRnJhZ21lbnQ7aWYobiYmKHI9InRvcCI9PT1uP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik/P2RvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKG4pWzBdKSxyfHwocj0idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLF8uZmluZERPTU5vZGUpKHRoaXMpKSwhKHIgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm47Zm9yKDshKHIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl8fGZ1bmN0aW9uKGUpe2lmKFsic3RpY2t5IiwiZml4ZWQiXS5pbmNsdWRlcyhnZXRDb21wdXRlZFN0eWxlKGUpLnBvc2l0aW9uKSlyZXR1cm4hMDtsZXQgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLmV2ZXJ5KGU9PjA9PT10W2VdKX0ocik7KXtpZihudWxsPT09ci5uZXh0RWxlbWVudFNpYmxpbmcpcmV0dXJuO3I9ci5uZXh0RWxlbWVudFNpYmxpbmd9ZS5hcHBseT0hMSxlLmhhc2hGcmFnbWVudD1udWxsLGUuc2VnbWVudFBhdGhzPVtdLCgwLGYuZGlzYWJsZVNtb290aFNjcm9sbER1cmluZ1JvdXRlVHJhbnNpdGlvbikoKCk9PntpZihuKXJldHVybiB2b2lkIHIuc2Nyb2xsSW50b1ZpZXcoKTtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudEhlaWdodDshdihyLHQpJiYoZS5zY3JvbGxUb3A9MCx2KHIsdCl8fHIuc2Nyb2xsSW50b1ZpZXcoKSl9LHtkb250Rm9yY2VMYXlvdXQ6ITAsb25seUhhc2hDaGFuZ2U6ZS5vbmx5SGFzaENoYW5nZX0pLGUub25seUhhc2hDaGFuZ2U9ITEsci5mb2N1cygpfX19fWZ1bmN0aW9uIFIoe3NlZ21lbnRQYXRoOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGkudXNlQ29udGV4dCkoYy5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybigwLG8uanN4KShPLHtzZWdtZW50UGF0aDplLGZvY3VzQW5kU2Nyb2xsUmVmOnIuZm9jdXNBbmRTY3JvbGxSZWYsY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEUoe3RyZWU6ZSxzZWdtZW50UGF0aDp0LGRlYnVnTmFtZUNvbnRleHQ6cixjYWNoZU5vZGU6bixwYXJhbXM6YSx1cmw6cyxpc0FjdGl2ZTpsfSl7bGV0IGQsZj0oMCxpLnVzZUNvbnRleHQpKGMuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoKDAsaS51c2VDb250ZXh0KSh5Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpLCFmKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0NzMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHA9bnVsbCE9PW4/bjooMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGg9bnVsbCE9PXAucHJlZmV0Y2hSc2M/cC5wcmVmZXRjaFJzYzpwLnJzYyxtPSgwLGkudXNlRGVmZXJyZWRWYWx1ZSkocC5yc2MsaCk7aWYoKDAsUC5pc0RlZmVycmVkUnNjKShtKSl7bGV0IGU9KDAsaS51c2UpKG0pO251bGw9PT1lJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9ZX1lbHNlIG51bGw9PT1tJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9bTtsZXQgZz1kO3JldHVybigwLG8uanN4KShjLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOmUscGFyZW50Q2FjaGVOb2RlOnAscGFyZW50U2VnbWVudFBhdGg6dCxwYXJlbnRQYXJhbXM6YSxkZWJ1Z05hbWVDb250ZXh0OnIsdXJsOnMsaXNBY3RpdmU6bH0sY2hpbGRyZW46Z30pfWZ1bmN0aW9uIGooe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2xldCBuO2lmKG49Im9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbj8oMCxpLnVzZSkodCk6dCl7bGV0IHQ9blswXSxhPW5bMV0scz1uWzJdO3JldHVybigwLG8uanN4KShpLlN1c3BlbnNlLHtuYW1lOmUsZmFsbGJhY2s6KDAsby5qc3hzKShvLkZyYWdtZW50LHtjaGlsZHJlbjpbYSxzLHRdfSksY2hpbGRyZW46cn0pfXJldHVybigwLG8uanN4KShvLkZyYWdtZW50LHtjaGlsZHJlbjpyfSl9ZnVuY3Rpb24gdyh7cGFyYWxsZWxSb3V0ZXJLZXk6ZSxlcnJvcjp0LGVycm9yU3R5bGVzOnIsZXJyb3JTY3JpcHRzOm4sdGVtcGxhdGVTdHlsZXM6YSx0ZW1wbGF0ZVNjcmlwdHM6cyx0ZW1wbGF0ZTpkLG5vdEZvdW5kOmYsZm9yYmlkZGVuOnksdW5hdXRob3JpemVkOlAsc2VnbWVudFZpZXdCb3VuZGFyaWVzOl99KXtsZXQgUz0oMCxpLnVzZUNvbnRleHQpKGMuTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIVMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7cGFyZW50VHJlZTp2LHBhcmVudENhY2hlTm9kZTpPLHBhcmVudFNlZ21lbnRQYXRoOncscGFyZW50UGFyYW1zOkMsdXJsOlQsaXNBY3RpdmU6eCxkZWJ1Z05hbWVDb250ZXh0OkF9PVMsTT1PLnBhcmFsbGVsUm91dGVzLEQ9TS5nZXQoZSk7RHx8KEQ9bmV3IE1hcCxNLnNldChlLEQpKTtsZXQgRj12WzBdLEk9bnVsbD09PXc/W2VdOncuY29uY2F0KFtGLGVdKSxrPXZbMV1bZV07dm9pZCAwPT09ayYmKDAsaS51c2UpKHUudW5yZXNvbHZlZFRoZW5hYmxlKTtsZXQgTj1rWzBdLFU9KDAsbS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoTiwhMCksQj0oMCxnLnVzZVJvdXRlckJGQ2FjaGUpKGssVSksTD1bXTtkb3tsZXQgZT1CLnRyZWUsaT1CLnN0YXRlS2V5LHU9ZVswXSxnPSgwLG0uY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHUpLF89RC5nZXQoZyk/P251bGwsUz1DO2lmKEFycmF5LmlzQXJyYXkodSkpe2xldCBlPXVbMF0sdD11WzFdLHI9dVsyXSxuPSgwLGIuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKFM9ey4uLkMsW2VdOm59KX1sZXQgdj1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihzbG90KSI9PT1lKXJldHVybjtlbHNlIHJldHVybiBlKyIvIjtyZXR1cm4gZVsxXSsiLyJ9KHUpLHc9dj8/QSxNPXZvaWQgMD09PXY/dm9pZCAwOkEsRj1PLmxvYWRpbmcsaz0oMCxvLmpzeHMpKGMuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxvLmpzeHMpKFIse3NlZ21lbnRQYXRoOkksY2hpbGRyZW46WygwLG8uanN4KShsLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bixjaGlsZHJlbjooMCxvLmpzeCkoaix7bmFtZTpNLGxvYWRpbmc6RixjaGlsZHJlbjooMCxvLmpzeCkoaC5IVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSx7bm90Rm91bmQ6Zixmb3JiaWRkZW46eSx1bmF1dGhvcml6ZWQ6UCxjaGlsZHJlbjooMCxvLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46WygwLG8uanN4KShFLHt1cmw6VCx0cmVlOmUscGFyYW1zOlMsY2FjaGVOb2RlOl8sc2VnbWVudFBhdGg6SSxkZWJ1Z05hbWVDb250ZXh0OncsaXNBY3RpdmU6eCYmaT09PVV9KSxudWxsXX0pfSl9KX0pLG51bGxdfSksY2hpbGRyZW46W2EscyxkXX0saSk7TC5wdXNoKGspLEI9Qi5uZXh0fXdoaWxlKG51bGwhPT1CKXJldHVybiBMfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5Mjk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoNDQwNjYpLGE9ZS5yKDk4MTM0KSxvPW4uXyhlLnIoNzUyMDEpKSxpPWUucigxNjg3Mik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5UZW1wbGF0ZUNvbnRleHQpO3JldHVybigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODk1MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4NjE0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODk1MykuY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MDcyOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg3MTg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNzA3MjkpLmNyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTc1MTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZmxlY3RBZGFwdGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtjbGFzcyBue3N0YXRpYyBnZXQoZSx0LHIpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCxyKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmJpbmQoZSk6bn1zdGF0aWMgc2V0KGUsdCxyLG4pe3JldHVybiBSZWZsZWN0LnNldChlLHQscixuKX1zdGF0aWMgaGFzKGUsdCl7cmV0dXJuIFJlZmxlY3QuaGFzKGUsdCl9c3RhdGljIGRlbGV0ZVByb3BlcnR5KGUsdCl7cmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSx0KX19fSw0NTAxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7bGV0IG49ZnVuY3Rpb24oZSx0KXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYobnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJue2RlZmF1bHQ6ZX07dmFyIHI9YSh2b2lkIDApO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbj17X19wcm90b19fOm51bGx9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkscyk6bltpXT1lW2ldfXJldHVybiBuLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG4pLG59KGUucig3NTIwMSkpO2Z1bmN0aW9uIGEoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oYT1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1sZXQgbz17Y3VycmVudDpudWxsfSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLmNhY2hlP24uY2FjaGU6ZT0+ZSxzPWNvbnNvbGUud2FybjtmdW5jdGlvbiBjKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtzKGUoLi4udCkpfX1pKGU9Pnt0cnl7cyhvLmN1cnJlbnQpfWZpbmFsbHl7by5jdXJyZW50PW51bGx9fSl9LDc1ODI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZXNjcmliZUhhc0NoZWNraW5nU3RyaW5nUHJvcGVydHk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzczpmdW5jdGlvbigpe3JldHVybiBpfSx3ZWxsS25vd25Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89L15bQS1aYS16XyRdW0EtWmEtejAtOV8kXSokLztmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIG8udGVzdCh0KT9gXGAke2V9LiR7dH1cYGA6YFxgJHtlfVske0pTT04uc3RyaW5naWZ5KHQpfV1cYGB9ZnVuY3Rpb24gcyhlLHQpe2xldCByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybmBcYFJlZmxlY3QuaGFzKCR7ZX0sICR7cn0pXGAsIFxgJHtyfSBpbiAke2V9XGAsIG9yIHNpbWlsYXJgfWxldCBjPW5ldyBTZXQoWyJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvU3RyaW5nIiwidmFsdWVPZiIsInRvTG9jYWxlU3RyaW5nIiwidGhlbiIsImNhdGNoIiwiZmluYWxseSIsInN0YXR1cyIsImRpc3BsYXlOYW1lIiwiX2RlYnVnSW5mbyIsInRvSlNPTiIsIiQkdHlwZW9mIiwiX19lc01vZHVsZSJdKX0sNTU5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoNDkyMTEpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSwxMzE3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNTU5NDkpfSwzNzE2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoMTY0MzIpLGk9ZS5yKDEzMTc3KTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBjKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gdSgpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sNTU1MjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17UmVuZGVyU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gY30sU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBvIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtvXX0pO2xldCBpPWUucig0MTA2Mikscz1lLnIoNDA0NjEpO3ZhciBjPSgobj17fSlbbi5CZWZvcmU9MV09IkJlZm9yZSIsbltuLlN0YXRpYz0yXT0iU3RhdGljIixuW24uUnVudGltZT0zXT0iUnVudGltZSIsbltuLkR5bmFtaWM9NF09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9NV09IkFiYW5kb25lZCIsbik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlPW51bGwsdCl7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuaGFzUnVudGltZVByZWZldGNoPXQsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1udWxsLHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbj1udWxsLHRoaXMuc3RhdGljU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9MS8wLHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMubWF5QWJhbmRvbj0hMSxlJiYoZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntsZXR7cmVhc29uOnR9PWU7dGhpcy5jdXJyZW50U3RhZ2U8MyYmKHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCkpLCh0aGlzLmN1cnJlbnRTdGFnZTw0fHw1PT09dGhpcy5jdXJyZW50U3RhZ2UpJiYodGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KSl9LHtvbmNlOiEwfSksdGhpcy5tYXlBYmFuZG9uPSEwKX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDQ9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9Y2FuU3luY0ludGVycnVwdCgpe2lmKDE9PT10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm4hMTtsZXQgZT10aGlzLmhhc1J1bnRpbWVQcmVmZXRjaD80OjM7cmV0dXJuIHRoaXMuY3VycmVudFN0YWdlPGV9c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlKXtpZih0aGlzLm1heUFiYW5kb24pcmV0dXJuIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtzd2l0Y2godGhpcy5jdXJyZW50U3RhZ2Upe2Nhc2UgMjp0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuYWR2YW5jZVN0YWdlKDQpO3JldHVybjtjYXNlIDM6dGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gmJih0aGlzLnJ1bnRpbWVJbnRlcnJ1cHRSZWFzb249ZSx0aGlzLmFkdmFuY2VTdGFnZSg0KSk7cmV0dXJufX19Z2V0U3RhdGljSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29ufWdldFJ1bnRpbWVJbnRlcnJ1cHRSZWFzb24oKXtyZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29ufWdldFN0YXRpY1N0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZX1nZXRSdW50aW1lU3RhZ2VFbmRUaW1lKCl7cmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZX1hYmFuZG9uUmVuZGVyKCl7aWYoIXRoaXMubWF5QWJhbmRvbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoImBhYmFuZG9uUmVuZGVyYCBjYWxsZWQgb24gYSBzdGFnZSBjb250cm9sbGVyIHRoYXQgY2Fubm90IGJlIGFiYW5kb25lZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTkzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aGlzLmFiYW5kb25SZW5kZXJJbXBsKCl9YWJhbmRvblJlbmRlckltcGwoKXtsZXR7Y3VycmVudFN0YWdlOmV9PXRoaXM7c3dpdGNoKGUpe2Nhc2UgMjp0aGlzLmN1cnJlbnRTdGFnZT01LHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO3JldHVybjtjYXNlIDM6dGhpcy5jdXJyZW50U3RhZ2U9NTtyZXR1cm59fWFkdmFuY2VTdGFnZShlKXtpZihlPD10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm47bGV0IHQ9dGhpcy5jdXJyZW50U3RhZ2U7aWYodGhpcy5jdXJyZW50U3RhZ2U9ZSx0PDMmJmU+PTMmJih0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpKSx0PDQmJmU+PTQpe3RoaXMucnVudGltZVN0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZUR5bmFtaWNTdGFnZSgpO3JldHVybn19cmVzb2x2ZVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCl9cmVzb2x2ZUR5bmFtaWNTdGFnZSgpe2xldCBlPXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5yZXNvbHZlKCl9Z2V0U3RhZ2VQcm9taXNlKGUpe3N3aXRjaChlKXtjYXNlIDM6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLG87bGV0IGkscz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsbz1yLGk9bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsbyksdCl9KSx2b2lkIDAhPT1hJiYoaS5kaXNwbGF5TmFtZT1hKSxpKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sODY3NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBwfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDE3NTE4KSxpPWUucig2Nzc4MSkscz1lLnIoMTI5NjUpLGM9ZS5yKDQxMDYyKSx1PWUucigxNTUwOCksbD1lLnIoNDUwMTQpLGQ9ZS5yKDc1ODI3KSxmPWUucigzNzE2NSk7ZnVuY3Rpb24gcChlLHQpe2xldCByPXMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4geSh0LHIpO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBhIHJ1bnRpbWUgcHJlcmVuZGVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6cmV0dXJuIGIoZSx0LHIpfSgwLHMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZS5yKDU1NTI1KTtsZXQgaD1tO2Z1bmN0aW9uIG0oZSx0KXtsZXQgcj1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIHkodCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyU2VhcmNoUGFyYW1zRm9yU2VydmVyUGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp2YXIgbixhO3JldHVybiBuPWUsYT1yLCgwLGkuZGVsYXlVbnRpbFJ1bnRpbWVTdGFnZSkoYSx2KG4pKTtjYXNlInJlcXVlc3QiOnJldHVybiBiKGUsdCxyKX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIGcoZSl7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCx1Lm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGMuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUHJlcmVuZGVyU2VhcmNoUGFyYW1zRm9yQ2xpZW50UGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPVAuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IHM9KDAsdS5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksYz1uZXcgUHJveHkocyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHMsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxpLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGkuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gby5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gUC5zZXQobixjKSxjO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgbD1lLGQ9dDtsZXQgcD1QLmdldChsKTtpZihwKXJldHVybiBwO2xldCBoPVByb21pc2UucmVzb2x2ZSh7fSksbT1uZXcgUHJveHkoaCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKGgsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7bC5keW5hbWljU2hvdWxkRXJyb3I/KDAsZi50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikobC5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT1kLnR5cGU/KDAsaS5wb3N0cG9uZVdpdGhUcmFja2luZykobC5yb3V0ZSxlLGQuZHluYW1pY1RyYWNraW5nKTooMCxpLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGwsZCl9cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gUC5zZXQobCxtKSxtO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGIoZSx0LHIpe3JldHVybiB0LmZvcmNlU3RhdGljP1Byb21pc2UucmVzb2x2ZSh7fSk6dihlKX1sZXQgUD1uZXcgV2Vha01hcCxfPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFMoZSl7bGV0IHQ9Xy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxpKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJmQud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLGYudGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxpKX19KTtyZXR1cm4gXy5zZXQoZSxuKSxufWZ1bmN0aW9uIHYoZSl7bGV0IHQ9UC5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFAuc2V0KGUscikscn0oMCxsLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNDQ2MzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNDc1OTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDQ2MzEpfSwzNjA3MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoODk3OTEpLGk9ZS5yKDE3NTE4KSxzPWUucig2Nzc4MSksYz1lLnIoMTI5NjUpLHU9ZS5yKDQxMDYyKSxsPWUucig3NTgyNyksZD1lLnIoMTU1MDgpLGY9ZS5yKDQ1MDE0KSxwPWUucig0NzU5NSk7ZnVuY3Rpb24gaChlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gTyhlKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWUucig1NTUyNSk7bGV0IG09eTtmdW5jdGlvbiBnKGUsdCl7bGV0IHI9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHIpc3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBQKGUsdCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yUm91dGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24geShlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24gYihlKXtsZXQgdD1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighdCl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIk1pc3Npbmcgd29ya1N0b3JlIGluIGNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobil7Zm9yKGxldCBhIGluIGUpaWYobi5oYXMoYSkpcmV0dXJuKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIil9YnJlYWs7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShlKX1mdW5jdGlvbiBQKGUsdCxyKXtzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKG4pe2ZvcihsZXQgYSBpbiBlKWlmKG4uaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgYT1uZXcgUHJveHkoKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIiksdik7cmV0dXJuIFMuc2V0KGUsYSksYX0oZSx0LHIpfWJyZWFrfWNhc2UicHJlcmVuZGVyLXBwciI6e2xldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9Uy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtsZXQgbz17Li4uZX0saT1Qcm9taXNlLnJlc29sdmUobyk7cmV0dXJuIFMuc2V0KGUsaSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChlPT57bC53ZWxsS25vd25Qcm9wZXJ0aWVzLmhhcyhlKXx8dC5oYXMoZSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGUse2dldCgpe2xldCB0PSgwLGwuZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzcykoInBhcmFtcyIsZSk7InByZXJlbmRlci1wcHIiPT09bi50eXBlPygwLHMucG9zdHBvbmVXaXRoVHJhY2tpbmcpKHIucm91dGUsdCxuLmR5bmFtaWNUcmFja2luZyk6KDAscy50aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbikodCxyLG4pfSxlbnVtZXJhYmxlOiEwfSl9KSxpfShlLG4sdCxyKX19fXJldHVybiBPKGUpfWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4oMCxzLmRlbGF5VW50aWxSdW50aW1lU3RhZ2UpKHQsTyhlKSl9bGV0IFM9bmV3IFdlYWtNYXAsdj17Z2V0OmZ1bmN0aW9uKGUsdCxyKXtpZigidGhlbiI9PT10fHwiY2F0Y2giPT09dHx8ImZpbmFsbHkiPT09dCl7bGV0IG49aS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpO3JldHVybih7W3RdOiguLi50KT0+e2xldCByPXAuZHluYW1pY0FjY2Vzc0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO3JldHVybiByJiZyLmFib3J0Q29udHJvbGxlci5hYm9ydChPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkFjY2Vzc2VkIGZhbGxiYWNrIGBwYXJhbXNgIGR1cmluZyBwcmVyZW5kZXJpbmcuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2OTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLG5ldyBQcm94eShuLmFwcGx5KGUsdCksdil9fSlbdF19cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19O2Z1bmN0aW9uIE8oZSl7bGV0IHQ9Uy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFMuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sMTk5NTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFBhZ2VSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpLHM9ZS5yKDg4MDYyKSxjPWUucigzMTg5OSk7ZnVuY3Rpb24gdSh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCB1LGw7aWYobnVsbCE9PXIpdT1yLnNlYXJjaFBhcmFtcyxsPXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsaS51c2UpKG8uTGF5b3V0Um91dGVyQ29udGV4dCk7bD1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSx1PSgwLHMudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsaS51c2UpKGMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixvLHt3b3JrQXN5bmNTdG9yYWdlOml9PWUucig4OTc5MSkscz1pLmdldFN0b3JlKCk7aWYoIXMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBhLkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gZXhpc3Qgd2hlbiBoYW5kbGluZyBzZWFyY2hQYXJhbXMgaW4gYSBjbGllbnQgUGFnZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpjfT1lLnIoODY3NzApO3I9Yyh1LHMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmR9PWUucigzNjA3MCk7cmV0dXJuIG89ZChsLHMpLCgwLG4uanN4KSh0LHtwYXJhbXM6byxzZWFyY2hQYXJhbXM6cn0pfXtsZXR7Y3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpyfT1lLnIoNjg2MTQpLGE9cih1KSx7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDpvfT1lLnIoODcxODkpLGk9byhsKTtyZXR1cm4oMCxuLmpzeCkodCx7cGFyYW1zOmksc2VhcmNoUGFyYW1zOmF9KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzM3ODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFNlZ21lbnRSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpO2Z1bmN0aW9uIHMoe0NvbXBvbmVudDp0LHNsb3RzOnIsc2VydmVyUHJvdmlkZWRQYXJhbXM6c30pe2xldCBjO2lmKG51bGwhPT1zKWM9cy5wYXJhbXM7ZWxzZXtsZXQgZT0oMCxpLnVzZSkoby5MYXlvdXRSb3V0ZXJDb250ZXh0KTtjPW51bGwhPT1lP2UucGFyZW50UGFyYW1zOnt9fWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgbyx7d29ya0FzeW5jU3RvcmFnZTppfT1lLnIoODk3OTEpLHM9aS5nZXRTdG9yZSgpO2lmKCFzKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGV4aXN0IHdoZW4gaGFuZGxpbmcgcGFyYW1zIGluIGEgY2xpZW50IHNlZ21lbnQgc3VjaCBhcyBhIExheW91dCBvciBUZW1wbGF0ZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYwMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDp1fT1lLnIoMzYwNzApO3JldHVybiBvPXUoYyxzKSwoMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfXtsZXR7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDphfT1lLnIoODcxODkpLG89YShjKTtyZXR1cm4oMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDQxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSWNvbk1hcmsiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODEzNCksYT0oKT0+InUiPnR5cGVvZiB3aW5kb3c/bnVsbDooMCxuLmpzeCkoIm1ldGEiLHtuYW1lOiLCq254dC1pY29uwrsifSl9XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/20354.2ddf934f8edc2802d90a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.175Z","timestamp":1785136429175,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/20354.2ddf934f8edc2802d90a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4c0f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c537c379ab65e79eee025d98de726a86\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19471,"size_decoded":3320,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (19471), with no line terminators","md5":"862a961c39b7410a362cc06ade612375","sha1":"0c7a395968e24e835ade4687d6738865085e0e3a","sha256":"bab109cd7e0f582023950c24ed2f621684d739836c3dd4a8ec06defa4fe2c79a","sha512":"4349960f67b7538f48f9093de4c5f5d571167e0bfa535df0fa4bece73a757b23be6f06dc372fbd20958defade650741ef4ea329a326b707bf80a291c3f7c8fe0","ssdeep":"96:oeExfo1CyDi6qKiVncAB009Fb0g7i3J/KjA+f7GRX6fXGq/J5FzalqIsoNIhYnwa:o/ty+6IcpcA+f7GRX6fXGq1JIsqGsM0V","tlshash":"ab9259dbb1d4a8307dd161e9d35a316ca7d1ec38f9132cc3faa9e45248c1bf224b8566","first_seen":"2026-07-16T13:40:49.886491Z","last_seen":"2026-08-11T04:43:23.22812Z","times_seen":573,"resource_available":false,"data":"LmJ1dHRvbi1tTEVoQ3JWd3thbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJ1dHRvbi1jb2xvci1iZyx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmcpKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tYm9yZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXIpKSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcix2YXIoLS11aS1saWItYnV0dG9uLWNvbG9yLWNvbnRlbnQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3IpKSk7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctcmlnaHQsdmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQpKSk7cGFkZGluZy10b3A6MDtwYWRkaW5nLWlubGluZS1zdGFydDp2YXIoLS11aS1saWItc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYnV0dG9uLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0KSkpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zcXVhcmVCdXR0b24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZSw0KSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMzRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjQwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQ4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1NnB4KTtoZWlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWhlaWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3I6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSo3cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzFweCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1yaWdodDp2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcGFkZGluZy1ob3IpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxMnB4KTtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1yYWRpdXMpO3RyYW5zaXRpb246dmFyKC0tdWktbGliLXNxdWFyZUJ1dHRvbi10cmFuc2l0aW9uKX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tcmFkaXVzKSArIDRweCl9LmJ1dHRvbi1tTEVoQ3JWd3tvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3Vze291dGxpbmU6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5idXR0b24tbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyAxMHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNXB4O3dpZHRoOmNhbGMoMTAwJSArIDEwcHgpO3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1tTEVoQ3JWdzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLW1MRWhDclZ3OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpfS5idXR0b24tbUxFaENyVncuaWNvbk9ubHktbUxFaENyVnd7aGVpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpO3dpZHRoOnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1oZWlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctbGVmdDowOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctcmlnaHQ6MH0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIzcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozMXB4KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29uczpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykud2l0aFN0YXJ0U2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWxlZnQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXBhZGRpbmctaG9yLXdpdGgtaWNvbil9LmJ1dHRvbi1tTEVoQ3JWdzpub3QoLmljb25Pbmx5LW1MRWhDclZ3KS53aXRoRW5kU2xvdC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLXJpZ2h0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1wYWRkaW5nLWhvci13aXRoLWljb24pfS5idXR0b24tbUxFaENyVnc6bm90KC5pY29uT25seS1tTEVoQ3JWdykgLnN0YXJ0U2xvdFdyYXAtbUxFaENyVnd7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLW1hcmdpbi1iZXR3ZWVuLWljb25zKX0uYnV0dG9uLW1MRWhDclZ3Om5vdCguaWNvbk9ubHktbUxFaENyVncpIC5lbmRTbG90V3JhcC1tTEVoQ3JWd3ttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1tYXJnaW4tYmV0d2Vlbi1pY29ucyl9LnhzbWFsbC1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1zaXplOjJ9LnNtYWxsLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6M30ubWVkaXVtLW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLXNpemU6NH0ubGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo1fS54bGFyZ2UtbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tc2l6ZTo2fS5jb250ZW50LW1MRWhDclZ3e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNTAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2MDApO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjI0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25Pbmx5LW1MRWhDclZ3IC5jb250ZW50LW1MRWhDclZ3e2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVufS5saW5rLW1MRWhDclZ3e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsdWUtbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmJsdWUtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ibHVlLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uZ3JheS1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzpob3ZlcnstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX19fS5ncmF5LW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQpfX19LmdyYXktbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkKX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0uZ3JlZW4tbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1zZW1pLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX19fS5ncmVlbi1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6YWN0aXZley0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0ucmVkLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfX19LnJlZC1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5yZWQtbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3ey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcik7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnJlZC1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9fX0ucmVkLW1MRWhDclZ3LnNlY29uZGFyeS1tTEVoQ3JWdzphY3RpdmV7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKX0uYmxhY2stbUxFaENyVncucHJpbWFyeS1tTEVoQ3JWd3stLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJsYWNrLW1MRWhDclZ3LnByaW1hcnktbUxFaENyVnc6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tY29udGVudC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19fS5ibGFjay1tTEVoQ3JWdy5wcmltYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5ibGFjay1tTEVoQ3JWdy5zZWNvbmRhcnktbUxFaENyVnd7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYmc6dmFyKC0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmhvdmVyey0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLXByaXZhdGUtc3F1YXJlQnV0dG9uLWNvbnRlbnQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fX0uYmxhY2stbUxFaENyVncuc2Vjb25kYXJ5LW1MRWhDclZ3OmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItcHJpdmF0ZS1zcXVhcmVCdXR0b24tYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTstLXVpLWxpYi1wcml2YXRlLXNxdWFyZUJ1dHRvbi1jb250ZW50LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5wcmltYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLnNlY29uZGFyeS1tTEVoQ3JWd1thcmlhLWRpc2FibGVkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LW1MRWhDclZ3W2FyaWEtZGlzYWJsZWQ9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdGhlci10cmFuc3BhcmVudCl9LnNsb3QtbUxFaENyVnd7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zdHJldGNoLW1MRWhDclZ3e3dpZHRoOjEwMCV9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3LmFkanVzdFBvc2l0aW9uLW1MRWhDclZ3Om5vdCguZmlyc3RSb3ctbUxFaENyVncpe21hcmdpbi10b3A6LTFweH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncuYWRqdXN0UG9zaXRpb24tbUxFaENyVnc6bm90KC5maXJzdENvbC1tTEVoQ3JWdyl7bWFyZ2luLWlubGluZS1zdGFydDotMXB4O21heC13aWR0aDpjYWxjKDEwMCUgKyAxcHgpO3dpZHRoOmNhbGMoMTAwJSArIDFweCl9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3Vze3otaW5kZXg6MX0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVnc6Zm9jdXMtdmlzaWJsZXt6LWluZGV4OjF9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7ei1pbmRleDphdXRvfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItdG9wLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9LmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci10b3AtcmlnaHQtbUxFaENyVnc6YWZ0ZXJ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdywuYnV0dG9uLW1MRWhDclZ3Lmdyb3VwZWQtbUxFaENyVncubm8tY29ybmVyLWJvdHRvbS1yaWdodC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idXR0b24tbUxFaENyVncuZ3JvdXBlZC1tTEVoQ3JWdy5uby1jb3JuZXItYm90dG9tLWxlZnQtbUxFaENyVncsLmJ1dHRvbi1tTEVoQ3JWdy5ncm91cGVkLW1MRWhDclZ3Lm5vLWNvcm5lci1ib3R0b20tbGVmdC1tTEVoQ3JWdzphZnRlcntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnRleHRXcmFwLW1MRWhDclZ3e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tdWx0aWxpbmVDb250ZW50LW1MRWhDclZ3e2hlaWdodDptaW4tY29udGVudDtwYWRkaW5nOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo5cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMjNweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqNnB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo2cHgpfS5wcmltYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE2cHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjYwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjYwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5wcmltYXJ5VGV4dC1tTEVoQ3JWdywuc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbn0uc2Vjb25kYXJ5VGV4dC1tTEVoQ3JWd3tmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxMXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMTNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjEzcHgpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjQwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjQwMCk7bGluZS1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjE4cHgpO3RleHQtdHJhbnNmb3JtOnZhcigtLXVpLWxpYi1zcXVhcmVCdXR0b24tc2Vjb25kYXJ5LXRleHQtdHJhbnNmb3JtKTt3aGl0ZS1zcGFjZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMThweCk7ZGlzcGxheTotd2Via2l0LWJveDtsZXR0ZXItc3BhY2luZzpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKi40cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMCk7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKjIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78652.4b4e097a303d21bc9781.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.271Z","timestamp":1785136429271,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78652.4b4e097a303d21bc9781.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-93\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dd74bbab4b56c8bf115e56a5b43fffff\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":147,"size_decoded":898,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"d495be7c67520b3518ab3adbf5c62805","sha1":"194c04504f3be1bcc65c2c60fcc6b7feedafce35","sha256":"bbc2d1c9270827bfab04417c239e5264a20fc0f30e4ec1791d3810b7957b2a82","sha512":"7d9bc066af26016a6d8c93fddc2cce36252806a2fcc37fcd6908ef2a7ab5fa58453186cbb259e40244eebfde37ac1e6e7e018bca8969700d643a830a0d8f8a6e","ssdeep":"","tlshash":"b3c08cf80653324eb96554a04eb20a22a523c966e687400f008a624f0acd68206f4ba5","first_seen":"2026-07-17T14:15:58.462713Z","last_seen":"2026-08-11T04:43:23.025429Z","times_seen":299,"resource_available":false,"data":"LndyYXBwZXItVHk1TzFXSlF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI4cHh9LmRpck1hdGNoaW5nLVR5NU8xV0pROmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZSgtMSl9"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/GB.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.313Z","timestamp":1785136430313,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/GB.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/css/css.css","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.211Z","timestamp":1785136422211,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/css/css.css HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Mon, 18 Nov 2024 12:57:54 GMT\r\naccept-ranges: bytes\r\netag: \"f3c2ed7bb939db1:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 257\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1317,"size_decoded":642,"mime_type":"text/css","magic":"ASCII text","md5":"fecd0bb00c9c7de6122df6572ba6b4be","sha1":"745e2113042ff6bb633636723d75d4b8486240b2","sha256":"77ba8a84d12452a62ea643fbf761fdf488ca327e56f1a91f8f3dd1d6067d27b2","sha512":"76b3adde85705b03fff9d974024de8be600e9abc9b70ca56ea6ed0188e9388d6b3bd4c984d53163267b84b32f0380cc00da9da4de01de587aa716fde5245a40e","ssdeep":"","tlshash":"33214c04551e647192220e5d7bdfbf248d5eac142086c4ae0b7188bcdef393a53a1f5e","first_seen":"2026-07-27T04:30:37.095437Z","last_seen":"2026-07-27T11:13:26.121125Z","times_seen":5,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogbm9ybWFsOwogIHNyYzogdXJsKG9wZW5zYW5zL3Y0MC9tZW1RWWFHczEyNk1pWnBCQS1VRlVJY1ZYU0NFa3gyY21xdlhsV3E4dFdaMFB3ODZoZDBSazhaa1dWQWV4US50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiBub3JtYWw7CiAgc3JjOiB1cmwob3BlbnNhbnMvdjQwL21lbVFZYUdzMTI2TWlacEJBLVVGVUljVlhTQ0VreDJjbXF2WGxXcTh0V1owUHc4NmhkMFJreGhqV1ZBZXhRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IG5vcm1hbDsKICBzcmM6IHVybChvcGVuc2Fucy92NDAvbWVtU1lhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WWnlPT1NyNGRWSldVZ3NpSDBCNGdhVmMudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogbm9ybWFsOwogIHNyYzogdXJsKG9wZW5zYW5zL3Y0MC9tZW1TWWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZaeU9PU3I0ZFZKV1Vnc2paMEI0Z2FWYy50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiBub3JtYWw7CiAgc3JjOiB1cmwob3BlbnNhbnMvdjQwL21lbVNZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlp5T09TcjRkVkpXVWdzZ0gxeDRnYVZjLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IG5vcm1hbDsKICBzcmM6IHVybChvcGVuc2Fucy92NDAvbWVtU1lhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WWnlPT1NyNGRWSldVZ3NnLTF4NGdhVmMudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0K"}},"time_used":5004,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":5004,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.699Z","timestamp":1785136427699,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-23c4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f4c08d5d80d177d63b3872288930b5c1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2693,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-08-11T10:15:18.365471Z","times_seen":7413,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":63,"timings":{"blocked":-1,"dns":14,"connect":31,"send":0,"wait":3,"receive":-1,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75304.174496dbf62bc90db59a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.417Z","timestamp":1785136428417,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75304.174496dbf62bc90db59a.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 32\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-20\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fc022ef1ddf9c3885277cab49e27bce8\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32,"size_decoded":816,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"10831c7be3a76a74645935347043e2b5","sha1":"b94e8e987207e65fcaacb92d7fe9b6abae350446","sha256":"02392cb348576ae4401ed04ea67dc7a708f88cf080b321001192ee8fdfbee047","sha512":"41692d9ad3993dc97c90842a9f189a9a277965aef5fd1d867477557e363ee994e2b1b5d574c54d283206deedf65ad81600a071f6be8114830168dcbfb724f32b","ssdeep":"","tlshash":"bb8004d170053c3c00077000053340c7dc5140c1cd731451500453415f140750103510","first_seen":"2023-06-28T13:47:54Z","last_seen":"2026-08-11T04:47:30.079436Z","times_seen":1674,"resource_available":false,"data":"LnVpLWRyYWdnYWJsZXt0b3VjaC1hY3Rpb246bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.434Z","timestamp":1785136428434,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31396.dada17abc4adbf073139.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323c19-182f2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:18:01 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:26:01\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f3b3d9337af6b3a58681416371e250f4\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":99058,"size_decoded":18482,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"66317ce4b57c72fcfe161bb2ec83c51a","sha1":"200b2ec9adf4edbbe5f116abd8876b41cdcbe3d2","sha256":"9aab142f72bf381e18723a19f19460cabe90ab7541ad65e69058e08a51975478","sha512":"6d110ae2fa0bc39d29f23be62ef62c56cef642e4fbe558bd4a9235481634d8230cd67a814ad7b51f0ad02357748dc906bc668be8905d86789d1cf8c5a54ebfbd","ssdeep":"1536:n2Qw5vYV3KyVHYBUAbwKkdqmHCtGJWmJPpyyMJgKz8e1nq/eI+GNqz57ApA/q/Yq:A5v8anBUAbeENyv","tlshash":"80a376a5f2522136242b8e3a5b94fd545134e901ef267ffff942e92945c3ed2d22380b","first_seen":"2026-06-17T14:59:58.198603Z","last_seen":"2026-07-28T04:58:42.086287Z","times_seen":427,"resource_available":false,"data":"LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbGVnYWN5LWJnLXdpZGdldCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lciAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdy14OmF1dG99W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtekpxcTojMDAwMH1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50LGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRvb2xiYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLGRpdi50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci50di13aWRnZXQtc2NyZWVuZXJfX2NvbnRhaW5lci0tdHJhbnNwYXJlbnQgLnR2LXNjcmVlbmVyLXRhYmxlX190aHtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2NvbC0tZHJhZ2dpbmcsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyxkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fdGhlYWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfX1kaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b246aG92ZXIsZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC16SnFxKX19ZGl2LnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLnR2LXdpZGdldC1zY3JlZW5lcl9fY29udGFpbmVyLS10cmFuc3BhcmVudCAudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXpKcXEpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtkaXYudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIudHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50IC50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtekpxcSl9fS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keS5pLW9wZW5lZHtkaXNwbGF5OmJsb2NrfS50di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwsLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtLC50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xse2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGx7b3ZlcmZsb3c6aGlkZGVufVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLUktMzM6I2U2ZWFlZjstLV8xLUktMzM6I2U2ZTllZDstLV8yLUktMzM6I2Y0ZWNlYzstLV8zLUktMzM6I2VhZjNmYjstLV80LUktMzM6I2YzZjVmOTstLV81LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi1JLTMzOiM5MTk2OTE7LS1fNy1JLTMzOiM5OTk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8yLUktMzM6IzJjMjAzMDstLV8zLUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzUtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApOy0tXzYtSS0zMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV83LUktMzM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1JLTMzOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS50di1kYXRhLXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9faGVhZGVye3BhZGRpbmc6MTBweCAxMnB4fS50di1kYXRhLXRhYmxlX190aGVhZHtib3JkZXI6M3B4IHNvbGlkO2JvcmRlci1ib3R0b206bm9uZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tle2hlaWdodDo0MHB4fS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhpZGV7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX3N0cm9rZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LUktMzMpfX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obCAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjNweH0udHYtZGF0YS10YWJsZV9fc3Ryb2tlLS1obC1hY3RpdmUgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLWRhbmdlciAudHYtZGF0YS10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZDpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19zdHJva2UtLWhsLXN1Y2Nlc3MgLnR2LWRhdGEtdGFibGVfX2NlbGw6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItbGVnYWN5LXN1Y2Nlc3MpfS50di1kYXRhLXRhYmxlX19zdHJva2U6bGFzdC1jaGlsZCAudHYtZGF0YS10YWJsZV9fY2VsbHtib3JkZXItYm90dG9tOnZhcigtLV8wLUktMzMpIG5vbmV9LnR2LWRhdGEtdGFibGVfX3N0cm9rZS0tZ3JheWVke2NvbG9yOnZhcigtLV83LUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxse2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtSS0zMyk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1kYXRhLXRhYmxlX190Ym9keSAudHYtZGF0YS10YWJsZV9fY2VsbCwudHYtZGF0YS10YWJsZV9fdGJvZHkgLnR2LWRhdGEtdGFibGVfX2NlbGwgKnstd2Via2l0LXVzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50O3VzZXItc2VsZWN0OnRleHQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1ib2xke2ZvbnQtd2VpZ2h0OjcwMH0udHYtZGF0YS10YWJsZV9fY2VsbC0taW5saW5lZHtkaXNwbGF5OmlubGluZS1ibG9ja30udHYtZGF0YS10YWJsZV9fY2VsbC0tcmlnaHQtYWxpZ257dGV4dC1hbGlnbjplbmQhaW1wb3J0YW50fS50di1kYXRhLXRhYmxlX19jZWxsLS1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1fMS1JLTMzKTtoZWlnaHQ6MTVweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWxlZnQtbWFyZ2luPnNwYW57bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1kYXRhLXRhYmxlX19jZWxsLS1yZWQtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnZhcigtLV8yLUktMzMpfS50di1kYXRhLXRhYmxlX19jZWxsLS1ibHVlLWJhY2tncm91bmR7YmFja2dyb3VuZDp2YXIoLS1fMy1JLTMzKX0udHYtZGF0YS10YWJsZV9fY2VsbC0tc3ltYm9sLWNlbGx7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NjAwO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19jZWxsLS1idXR0b25zLWNlbGx7cGFkZGluZzowIDVweDt0ZXh0LWFsaWduOmVuZCFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjUycHh9LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn0udHYtZGF0YS10YWJsZV9fY2VsbC0tYnV0dG9uLmktaG92ZXJ7ZmlsbDp2YXIoLS1fNS1JLTMzKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2NlbGwtLWJ1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9fY2VsbC0tdGV4dHt0ZXh0LXRyYW5zZm9ybTpub25lfS50di1kYXRhLXRhYmxlX19jZWxsLS10ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtdGFibGVfX3RoZWFkIC50di1kYXRhLXRhYmxlX19jZWxse2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO2N1cnNvcjpkZWZhdWx0O2ZvbnQtd2VpZ2h0OjQwMDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOnN0YXJ0O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZGF0YS10YWJsZV9fc29ydGFibGV7Y3Vyc29yOnBvaW50ZXJ9LnR2LWRhdGEtdGFibGVfX3NvcnRhYmxlLS1hc2M6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItYm90dG9tOjRweCBzb2xpZCB2YXIoLS1fNi1JLTMzKTtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO21hcmdpbi10b3A6LTdweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS50di1kYXRhLXRhYmxlX19zb3J0YWJsZS0tZGVzYzphZnRlcntib3JkZXI6NHB4IHNvbGlkICMwMDAwO2JvcmRlci10b3A6NHB4IHNvbGlkIHZhcigtLV82LUktMzMpO2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLXRvcDotMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9LnR2LWRhdGEtdGFibGVfX2J1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6NXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMnB4O2ZpbGw6IzljYTBhNn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRhdGEtdGFibGVfX2J1dHRvbjpob3ZlcntmaWxsOnZhcigtLV81LUktMzMpfX0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9ue2N1cnNvcjpkZWZhdWx0O21hcmdpbi1pbmxpbmUtZW5kOjJweH0udHYtZGF0YS10YWJsZV9faW5mb3JtYXRpb24tYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24uaW5mb3JtYXRpb257Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1kYXRhLXRhYmxlX19pbmZvcm1hdGlvbi1idXR0b24ud2FybmluZ3tjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LWRhdGEtdGFibGVfX2luZm9ybWF0aW9uLWJ1dHRvbi5lcnJvcntjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19lZGl0LWJ1dHRvbiBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTBweH0udHYtZGF0YS10YWJsZV9fY2xvc2UtYnV0dG9uIHN2Z3toZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1kYXRhLXRhYmxlX19ibHVlLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1kYXRhLXRhYmxlX19saWdodC1yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1kYXRhLXRhYmxlX19yZWQtdGV4dHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1kYXRhLXRhYmxlX19ncmVlbi10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0udHYtZGF0YS10YWJsZV9fcmVkLWdyZWVuLXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1kYXRhLXRhYmxlX19ncmV5LXRleHR7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24td3JhcHtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZToxNXB4IDA7d2lkdGg6MTVweH0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1idXR0b24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWRhdGEtdGFibGVfX2Ryb3Bkb3duLWJ1dHRvbi1jcm9zcy1hbGlnbntwYWRkaW5nLWlubGluZS1lbmQ6OXB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtd3JhcHtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8wLUktMzMpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmc6MTBweCAyMnB4IDA7d2lkdGg6MTAwJX0udHYtZGF0YS10YWJsZV9fZHJvcGRvd24td3JhcHtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3dpZHRoOjI0MHB4fS50di1kYXRhLXRhYmxlX19kcm9wZG93bi1sYWJlbC0tYnJlYWthYmxle3dvcmQtYnJlYWs6YnJlYWstd29yZH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV8yLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzQtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV81LV9iaGk6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzYtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLV83LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fOC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzktX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMS1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNC1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzUtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV82LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNy1fYmhpOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzgtX2JoaTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV85LV9iaGk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtcmFkaW97bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDo1MCV9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLXJhZGlvLS1pbi1hY3Rpb25ze21heC13aWR0aDpub25lfX0udHYtY29udHJvbC1yYWRpbywudHYtY29udHJvbC1yYWRpb19fbGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1jb250cm9sLXJhZGlvLS1ub3dyYXAsLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19pbnB1dHtoZWlnaHQ6MThweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94e2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29udGVudDoiIjtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLV9iaGkpO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2JveCBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTJweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMnB4O3N0cm9rZTojMDAwMDt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNpdGlvbjpzdHJva2UgLjM1cyBlYXNlIDFtcyx0cmFuc2Zvcm0gLjM1cyBlYXNlIDFtc30udHYtY29udHJvbC1yYWRpb19fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MTBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS10d28tbGluZXN7d2lkdGg6MTU1cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVsLS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXJhZGlvX19sYWJlbC0tbGlsLWxpbmUtaGVpZ2h0e2xpbmUtaGVpZ2h0OjE2cHg7bWF4LXdpZHRoOjgwJTttaW4td2lkdGg6NDUlfS50di1jb250cm9sLXJhZGlvX19sYWJlbCsudHYtY29udHJvbC1yYWRpb3ttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LWNvbnRyb2wtcmFkaW8rLnR2LWNvbnRyb2wtcmFkaW9fX2xhYmVse21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxZXggLSAyOHB4KX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHt3aWxsLWNoYW5nZTpiYWNrZ3JvdW5kLWNvbG9yfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1yYWRpbzpob3ZlciAudHYtY29udHJvbC1yYWRpb19fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9fS50di1jb250cm9sLXJhZGlvOmFjdGl2ZSAudHYtY29udHJvbC1yYWRpb19fYm94OmJlZm9yZSwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle3dpbGwtY2hhbmdlOnRyYW5zZm9ybSxib3JkZXItcmFkaXVzfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcnt3aWxsLWNoYW5nZTpib3JkZXItY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8xLV9iaGkpO3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn19LnR2LWNvbnRyb2wtcmFkaW86YWN0aXZlIC50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmZvY3VzKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1fYmhpKX0udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94LC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDApfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3ggc3Zne3N0cm9rZTp2YXIoLS1fNS1fYmhpKTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbi1kZWxheTo4Ny41bXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7d2lsbC1jaGFuZ2U6c3Ryb2tlLHRyYW5zZm9ybX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtcmFkaW86aG92ZXIgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LV9iaGkpfS50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV83LV9iaGkpfX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveCwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC1fYmhpKX0udHYtY29udHJvbC1yYWRpbzphY3RpdmUgLnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlciwudHYtY29udHJvbC1yYWRpb19faW5wdXQ6Zm9jdXMtdmlzaWJsZTpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3g6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV85LV9iaGkpfS50di1jb250cm9sLXJhZGlvX19pbnB1dFtkaXNhYmxlZF0rLnR2LWNvbnRyb2wtcmFkaW9fX2JveHtvcGFjaXR5Oi41fS50di1jb250cm9sLXJhZGlvLmktZXJyb3IgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtY29udHJvbC1yYWRpb19fYm94e2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMHB4O292ZXJmbG93OnZpc2libGU7d2lkdGg6MTBweH0udHYtY29udHJvbC1yYWRpb19fYm94OmFmdGVye2JvcmRlci1yYWRpdXM6NTAlO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4fS50di1jb250cm9sLXJhZGlvX19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7aGVpZ2h0OjEwcHg7bWFyZ2luLXRvcDotNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTVweDt0cmFuc2Zvcm06c2NhbGUoMCk7d2lkdGg6MTBweH1odG1sLnRoZW1lLWRhcmsgLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0udHYtY29udHJvbC1yYWRpb19faW5wdXR7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHh9LnR2LWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtcmFkaW9fX2JveDpiZWZvcmV7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1yYWRpb19faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1yYWRpb19fYm94e2JhY2tncm91bmQtY29sb3I6I2ZmZjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXJhZGlvOmhvdmVyIC50di1jb250cm9sLXJhZGlvX19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLXJhZGlvX19ib3h7YmFja2dyb3VuZC1jb2xvcjojZmZmO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2xpbmUtaGVpZ2h0OjgwcHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcntoZWlnaHQ6NTRweDtsaW5lLWhlaWdodDo1NHB4fX0udHYtc2VhcmNoLWJhcl9faW5uZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2lubmVye3BhZGRpbmc6MCA1cHh9fS50di1zZWFyY2gtYmFyX19pbm5lci1yaWdodC1jb2x1bW57YWxpZ24taXRlbXM6ZmxleC1lbmQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDotNTNweH0udHYtc2VhcmNoLWJhcl9fZHJvcGRvd257ZmxvYXQ6aW5saW5lLXN0YXJ0fS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi13cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC0tbGluZS1oZWlnaHRfaW5oZXJpdCwudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXQudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAtLWxpbmUtaGVpZ2h0X2luaGVyaXR7bGluZS1oZWlnaHQ6aW5oZXJpdH0udHYtc2VhcmNoLWJhcl9fYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MTAwJTtwYWRkaW5nOjAgMTVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlOy0tdGl0bGUtY29sb3ItdGV4dDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zZWFyY2gtYmFyX19idXR0b24sLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b246Zm9jdXMsLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLmktZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsOy0tdGl0bGUtY29sb3ItdGV4dDojZmZmZmZmYjM7Y3Vyc29yOmRlZmF1bHR9LmktYWN0aXZlIC50di1zZWFyY2gtYmFyX19idXR0b257LS10aXRsZS1jb2xvci10ZXh0OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS50di1zZWFyY2gtYmFyX19idXR0b24taW53cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tdGl0bGUtY29sb3ItdGV4dCxpbmhlcml0KTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNnB4O2xldHRlci1zcGFjaW5nOi4xMmV4O21hcmdpbi1ib3R0b206NXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtc2VhcmNoLWJhcl9fYnV0dG9uLXRpdGxlOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXN1YntsaW5lLWhlaWdodDo0MHB4fS50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19idXR0b24tdGl0bGUtLXRhYnN7bGluZS1oZWlnaHQ6NTRweH19LnR2LXNlYXJjaC1iYXJfX2J1dHRvbi1zdWJ0aXRsZXtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWV4O29wYWNpdHk6LjY1fS50di1zZWFyY2gtYmFyX19kcm9wZG93bi1ib2R5e21hcmdpbi10b3A6MjNweDttaW4td2lkdGg6MjAwcHh9LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWZpbHRlcnN7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOi0xNXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE1cHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tZmlsdGVyc3tkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2h7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19hcmVhLS1zZWFyY2hfZGVza3RvcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19hcmVhLS10YWJze3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6MTAyMHB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tdGFic3ttYXJnaW4taW5saW5lLWVuZDotMTVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNXB4O3dpZHRoOmNhbGMoMTAwJSAtIDI1MHB4KX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLXByb2ZpbGUtZmlsdGVyc3tkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDpub3dyYXA7aGVpZ2h0OjU2cHg7b3JkZXI6MTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fYXJlYS0tcHJvZmlsZS1maWx0ZXJze2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpub25lfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX2FyZWEtLWRldmljZXN7ZGlzcGxheTpibG9ja319LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtwYWRkaW5nOjQzcHggMCAxMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3RhZ3Mtd3JhcHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX19zY3JpcHR7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NjcmlwdHtkaXNwbGF5Om5vbmV9fS50di1zZWFyY2gtYmFyX190YWdze2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDotMjdweDttYXgtaGVpZ2h0OjI5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zZWFyY2gtYmFyX190YWdzLmktZXhwYW5kZWR7bWF4LWhlaWdodDpub25lfS50di1zZWFyY2gtYmFyX190YWdzOm5vdCguaS1leHBhbmRlZCkgLnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLS1sZXNzLXRhZ3N7ZGlzcGxheTpub25lfS50di1zZWFyY2gtYmFyX190YWdzLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwfS50di1zZWFyY2gtYmFyX190YWdzLWJ0bntjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MTZweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuLC50di1zZWFyY2gtYmFyX190YWdzLWJ0bjp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtc2VhcmNoLWJhcl9fdGFncy1idG46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNlYXJjaC1iYXJfX3RhZ3MtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfS50di1zZWFyY2gtYmFyX191bm1vZGVyYXRlZC1ub3RpY2V7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MS4yO21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4O21heC13aWR0aDoxMjBweDtwYWRkaW5nOjFweCA0cHh9LnR2LXNlYXJjaC1iYXJfX3VubW9kZXJhdGVkLW5vdGljZS0td2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNlMmU4ODU7Y29sb3I6IzY2Nn0udHYtc2VhcmNoLWJhcl9fd2lkZ2V0cy1jb250cm9se21hcmdpbi1pbmxpbmUtZW5kOjQwcHh9LnR2LXNlYXJjaC1iYXJfX3dpZGdldHMtY29udHJvbC1pY29uIHN2Z3tmaWxsOiNmZmZ9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoyMHB4O3ZlcnRpY2FsLWFsaWduOnRvcH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnl7ZGlzcGxheTpibG9jaztwYWRkaW5nLWlubGluZS1lbmQ6NDZweDt0b3A6MH19LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1xdWVyeS0tbW9iaWxle2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLW1vYmlsZXtkaXNwbGF5OmJsb2NrfS50di1zZWFyY2gtYmFyX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZmlsdGVycy1idXR0b257cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjojYjNjN2QyNDA7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo0NHB4IDM2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MjUwcHh9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1czo6cGxhY2Vob2xkZXJ7Y29sb3I6I2I4YmFjMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjA7cGFkZGluZy1ibG9jazoxOXB4IDE5cHg7cGFkZGluZy1pbmxpbmU6MzJweCAzNnB4O3dpZHRoOjEwMCV9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaW5wdXQ6Zm9jdXN7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1zdGFydDoxMnB4O21hcmdpbi10b3A6LTlweDtvcGFjaXR5Oi44O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pY29ue2luc2V0LWlubGluZS1zdGFydDowfX0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzKy50di1zZWFyY2gtYmFyX19zZWFyY2gtaWNvbntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtvcGFjaXR5Oi44O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2U7d2lkdGg6MzZweH0udHYtc2VhcmNoLWJhcl9faW5wdXQtcmVzZXQ6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jaztmaWxsOnZhcigtLWNvbG9yLXdoaXRlKTtoZWlnaHQ6OXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo5cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldDpob3ZlcntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldHtpbnNldC1pbmxpbmUtZW5kOjExMnB4fX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo1MHB4O2xpbmUtaGVpZ2h0OjE7bWluLXdpZHRoOjFweDt0ZXh0LWFsaWduOmVuZDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwcHh9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVke2Rpc3BsYXk6bm9uZX19LnR2LXNlYXJjaC1iYXJfX3Nwb25zb3JlZC10ZXh0e2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOi02cHg7b3BhY2l0eTouN30udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5e2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO29wYWNpdHk6Ljk7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWJ5OmhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1zZWFyY2gtYmFyX19zcG9uc29yZWQtaW1ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0udHYtc2VhcmNoLWJhcl9fc3BvbnNvcmVkLWltZyBzdmd7cG9zaXRpb246cmVsYXRpdmU7ZmlsbDp2YXIoLS1jb2xvci13aGl0ZSk7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwcHh9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnlfZGV2aWNlcy1yZXNlcnZlZC1oZWlnaHR7aGVpZ2h0OjU3cHh9fS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmFjdGl2ZSwudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19idXR0b246aG92ZXIsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuIHN2ZywudHYtc2VhcmNoLWJhci0tc2Vjb25kYXJ5IC50di1zZWFyY2gtYmFyX19pbnB1dC1yZXNldCBzdmcsLnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1zZWFyY2gtYmFyLS1zZWNvbmRhcnkgLnR2LXNlYXJjaC1iYXJfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNlYXJjaC1iYXItLXNlY29uZGFyeSAudHYtc2VhcmNoLWJhcl9fc2VhcmNoLWlucHV0OmZvY3VzOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YntiYWNrZ3JvdW5kLWNvbG9yOiMwZTEwMTU7aGVpZ2h0OmF1dG87bGluZS1oZWlnaHQ6NDBweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeS1ob3Zlcil9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX0udHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcHtvcGFjaXR5Oi42NTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcDpob3ZlcntvcGFjaXR5Oi44O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXA6YWN0aXZle29wYWNpdHk6MTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNlYXJjaC1iYXItLXN1YiAudHYtc2VhcmNoLWJhcl9fYnV0dG9uLXdyYXAuaS1hY3RpdmV7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2VhcmNoLWJhci0tc3ViIC50di1zZWFyY2gtYmFyX19idXR0b24td3JhcC5pLWFjdGl2ZTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di1zZWFyY2gtYmFyLS1zdWIgLnR2LXNlYXJjaC1iYXJfX2J1dHRvbi10aXRsZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDB9LnR2LXNlYXJjaC1iYXIgLnR2LXNlYXJjaC1iYXJfX2NhcmV0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4fS50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRue2JvdHRvbTowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjA7aW5zZXQtaW5saW5lLWVuZDowO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2U7d2lkdGg6NjZweH0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bi0tcmlnaHRfMntpbnNldC1pbmxpbmUtZW5kOjY2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zZWFyY2gtYmFyX19kZXZpY2UtYnRuOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0bntkaXNwbGF5OmJsb2NrfX0udHYtc2VhcmNoLWJhcl9fZGV2aWNlLWJ0biBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpfS50di1zZWFyY2gtYmFyIFtkYXRhLWRpdmlzaW9uPXNlYXJjaF17ZGlzcGxheTpub25lfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS14SmJwOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteEpicDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLXhKYnA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNsaWRlciwudWktc2xpZGVyLnR2LXNsaWRlcntiYWNrZ3JvdW5kOm5vbmUhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6aW5pdGlhbCFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6MTBweCFpbXBvcnRhbnQ7bWFyZ2luOjhweCAxMDBweDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2xpZGVyOmFmdGVyLC51aS1zbGlkZXIudHYtc2xpZGVyOmFmdGVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7Y29udGVudDoiIjtoZWlnaHQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7d2lkdGg6MTAwJX0udHYtc2xpZGVyX19sYWJlbHMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoxMDAlfS50di1zbGlkZXJfX2xhYmVsLC51aS1zbGlkZXIudHYtc2xpZGVyX19sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAteEpicCk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTE5cHg7d2lkdGg6MTAzcHg7d2lkdGg6NjVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNsaWRlcl9fbGFiZWw6aG92ZXIsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMS14SmJwKX19LnR2LXNsaWRlcl9fbGFiZWw6Zm9jdXMsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNsaWRlcl9fbGFiZWwtLWxlZnQsLnVpLXNsaWRlci50di1zbGlkZXJfX2xhYmVsLS1sZWZ0e2xlZnQ6LTEwMHB4fS50di1zbGlkZXJfX2xhYmVsLS1yaWdodCwudWktc2xpZGVyLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0e3JpZ2h0Oi05NnB4fS50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUsLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGV7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6NXB4O2hlaWdodDoxMHB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MCFpbXBvcnRhbnQ7d2lkdGg6MTBweCFpbXBvcnRhbnQ7ei1pbmRleDoxfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnVpLXNsaWRlci50di1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGU6YWZ0ZXJ7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6LTZweDtwYWRkaW5nOjZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDt3aWR0aDoxMDAlfS50di1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudDtoZWlnaHQ6MnB4IWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4IWltcG9ydGFudDt6LWluZGV4OjF9LnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbiwudWktc2xpZGVyLnR2LXNsaWRlciAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjA7cmlnaHQ6YXV0b30udHYtc2NyZWVuZXJ7cG9zaXRpb246cmVsYXRpdmV9LnR2LWVtYmVkLXdpZGdldC13cmFwcGVyIC50di1zY3JlZW5lciwudHYtZmVlZCAudHYtc2NyZWVuZXJ7bWFyZ2luOjB9LnR2LXNjcmVlbmVyX19zdGFuZGFsb25lLW1haW4tY29udGFpbmVye21pbi1oZWlnaHQ6MDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZXtwYWRkaW5nLXRvcDo1NnB4O3otaW5kZXg6MX0udHYtc2NyZWVuZXItLXN0aWNreS1oZWFkZXJ7cGFkZGluZy10b3A6NTdweH0udHYtc2NyZWVuZXItLWhpZGRlbi10b29sYmFye3BhZGRpbmctdG9wOjB9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7aGVpZ2h0OmNhbGMoMTAwJSAtIDE4NHB4KTtvdmVyZmxvdzphdXRvO3BhZGRpbmctYm90dG9tOjgwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmU6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1zY3JlZW5lcl9fY29udGVudC1wYW5lOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXNiLXNjcm9sbGJhci1ib2R5LWJnKTtib3JkZXI6bm9uZX0udHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZS0tZnVsbHktbG9hZGVke2hlaWdodDpjYWxjKDEwMCUgLSA1NnB4KTtwYWRkaW5nLWJvdHRvbTowfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZSAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtoZWlnaHQ6YXV0bztvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmctYm90dG9tOjB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldHtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXR7bWFyZ2luOjAgLTIwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmV7b3ZlcmZsb3c6aGlkZGVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX2NvbnRlbnQtcGFuZXtvdmVyZmxvdzphdXRvfX0udHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NzAwO21heC13aWR0aDoxMDAlO3BhZGRpbmctaW5saW5lLWVuZDozcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXJfX3N5bWJvbHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyX19zeW1ib2wtLXRleHR7Y29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24pO2N1cnNvcjpkZWZhdWx0fS50di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnl7Zm9udC13ZWlnaHQ6NDAwfS50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtmb250LXdlaWdodDo0MDA7dGV4dC10cmFuc2Zvcm06bm9uZX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lcl9fdHlwZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbik7ZGlzcGxheTppbmxpbmU7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi4zcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3ZlcnRpY2FsLWFsaWduOmJvdHRvbX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbnttYXgtd2lkdGg6MTUwcHh9fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyX19kZXNjcmlwdGlvbntjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW57Ym90dG9tOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwNXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxfS50di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmV7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXJ7dG9wOjQ5cHh9LnR2LXNjcmVlbmVyX19ib3R0b20tbG9hZGluZy1zY3JlZW57Ym90dG9tOjQwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVue2JvdHRvbTowO2hlaWdodDo3MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lcl9fZmlsdGVyLWZpZWxkLXRpdGxlLS1hY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIWltcG9ydGFudH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtd3JhcHttYXJnaW46MDtwYWRkaW5nOjE0OHB4IDAgMH0udHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtdGl0bGUtd3JhcHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjI2cHggMjBweCAyMHB4fS50di1zY3JlZW5lcl9fc3RhbmRhbG9uZS10aXRsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTozMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzotLjNweDtsaW5lLWhlaWdodDozNXB4fS50di1zY3JlZW5lcl9fbWFpbnRlbmFuY2V7Y29sb3I6IzhmOGY4Zjtmb250LXN0eWxlOml0YWxpYzttYXJnaW46MTBweCAxMXB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lcl9fYm9keS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtRXFMYjojZTFlNmVjOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8yLUVxTGI6I2YxZjNmNjstLV8zLUVxTGI6I2ZmZjstLV80LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fNS1FcUxiOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LUVxTGI6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tXzctRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMy1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzQtRXFMYjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLV81LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNi1FcUxiOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV83LUVxTGI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fOC1FcUxiOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzktRXFMYjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAtRXFMYjojMzE3OWY1MmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDtwYWRkaW5nOjEycHggMjBweCAxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246ZGlzcGxheSAuNHMgLjRzfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItdG9vbGJhcntmbGV4LXdyYXA6d3JhcH19LnR2LXNjcmVlbmVyLXRvb2xiYXItLW9uZS1saW5le2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3c6dmlzaWJsZX0udHYtc2NyZWVuZXItdG9vbGJhci0tc3RhbmRhbG9uZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRze2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyl9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fS50di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmVfc3RpY2t5e2xlZnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjN9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntib3R0b206MDtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLWNvdW50ZXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3JlZnJlc2gtY291bnRlcntkaXNwbGF5OmJsb2NrfS50di1zY3JlZW5lci10b29sYmFyPmRpdntoZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9ue2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtoZWlnaHQ6MzJweDttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6OHB4IDA7cGFkZGluZy1pbmxpbmU6MTJweCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDE3NW1zIGVhc2Usb3BhY2l0eSAxNzVtcyBlYXNlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tc3BhY2VfcmlnaHR7bWFyZ2luLWlubGluZS1lbmQ6MTBweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hbmltYXRlZHt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgMTc1bXMgZWFzZSxvcGFjaXR5IDE3NW1zIGVhc2Usd2lkdGggLjM1cyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9uc3tib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9uc3tib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoe3BhZGRpbmc6OHB4IDAgMDt3aWR0aDozMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXJlZnJlc2ggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0e3dpZHRoOjM2cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZXhwb3J0IHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6NTAlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO3dpZHRoOjMycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tcmVmcmVzaC50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciBzdmd7dHJhbnNmb3JtOnNjYWxlKC45KSB0cmFuc2xhdGVZKC01cHgpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd257cGFkZGluZy1pbmxpbmUtZW5kOjE5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93bjpiZWZvcmV7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO2luc2V0LWlubGluZS1lbmQ6NnB4O21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRle3BhZGRpbmctaW5saW5lLWVuZDoyM3B4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tY3JlYXRlLWFsZXJ0e2JhY2tncm91bmQtY29sb3I6I2ZmZn0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1jcmVhdGUtYWxlcnQgc3Zne3RyYW5zaXRpb246b3BhY2l0eSAxNzVtcyBlYXNlfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQ6YWZ0ZXJ7Y29udGVudDoiKiI7aW5zZXQtaW5saW5lLWVuZDoxN3B4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo5cHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24uaS1sb2FkaW5nIHN2Z3tvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi5pLWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1saXN0LW50aC1jaGlsZC1iZyl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b246YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uOmFjdGl2ZSBzdmd7ZmlsbDp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19idXR0b246aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Y29sb3I6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpfX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1lbmFibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYWxlcnQtbG9hZGluZyBzdmd7b3BhY2l0eTowfUBrZXlmcmFtZXMgdHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RHswJXtvcGFjaXR5OjB9MjAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDIuNSl9fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFsZXJ0LWxvYWRpbmc6YWZ0ZXJ7YW5pbWF0aW9uLWR1cmF0aW9uOjEuMDVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLW5hbWU6dHYtcHVsc2UtYW5pbWF0aW9uLWJ1dHRvbi1BUmRiTTB5RDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMzMsMCwuMTEsMSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWJsb2NrOi01cHggMDttYXJnaW4taW5saW5lOi01cHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZW5hYmxlZC1hbGVydC1sb2FkaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLV80LUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWVuYWJsZWQtYWxlcnQtbG9hZGluZzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTtib3JkZXItd2lkdGg6MDtjb2xvcjp2YXIoLS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi1FcUxiKTtjb2xvcjp2YXIoLS1fNy1FcUxiKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tZmlsdGVyczpob3Zlcntjb2xvcjp2YXIoLS1fNy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29ue2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24tLXN0YW5kYWxvbmUtcmVmcmVzaHttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOi0ycHh9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi1pY29uLS1leHBvcnR7bWFyZ2luLWlubGluZS1zdGFydDotOHB4O3RvcDotMnB4fS50di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVyc3toZWlnaHQ6MTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt3aWR0aDoxMnB4O2ZpbGw6dmFyKC0tY29sb3ItaXRlbS1hY3RpdmUtdGV4dCl9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwLC50di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlcjoycHggc29saWQgdmFyKC0tXzUtRXFMYik7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxOXB4O2luc2V0LWlubGluZS1lbmQ6LTEycHg7bGluZS1oZWlnaHQ6MjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6LTEycHg7d2lkdGg6MTlweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LS1tYXJrZXQtY291bnR7Ym9yZGVyOm5vbmU7aGVpZ2h0OjE2cHg7aW5zZXQtaW5saW5lLWVuZDoxMXB4O2xpbmUtaGVpZ2h0OjE2cHg7dG9wOi0xcHg7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MX0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVze21heC13aWR0aDoxMDAlfS50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2Vye3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3R7ZmxleC1ncm93OjF9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMTAtRXFMYikhaW1wb3J0YW50O2NvbG9yOnZhcigtLV85LUVxTGIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0sLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8yLUVxTGIpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OXB4O21heC13aWR0aDoxNTBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo1cHggMTBweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAxNzVtcyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtOmFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpfS50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbTpmaXJzdC1jaGlsZCwudHYtc2NyZWVuZXItdG9vbGJhcl9fcGVyaW9kLXBpY2tlci1pdGVtOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSwudHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZTphY3RpdmUsLnR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXItaXRlbS0tYWN0aXZlLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS1FcUxiKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tXzMtRXFMYil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlOmhvdmVyLC50di1zY3JlZW5lci10b29sYmFyX19wZXJpb2QtcGlja2VyLWl0ZW0tLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLUVxTGIpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1fMy1FcUxiKX19LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3JlLXdyYXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1tb3Jle2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE1cHg7bWFyZ2luLWlubGluZS1zdGFydDowO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjVweH0udHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmU6YWZ0ZXJ7Ym9yZGVyOjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTtjb250ZW50OiIiO21hcmdpbi10b3A6LTRweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjU1JX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3Vwe3RvcDotLjVlbX0udHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc2VsZWN0e3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0e21hcmdpbi1pbmxpbmUtZW5kOjEwcHh9LnR2LXNjcmVlbmVyLXRvb2xiYXIgLnR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCAudHYtZHJvcGRvd25fX2J1dHRvbnt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoyMTBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItdG9vbGJhcl9fY3VycmVuY3ktc2VsZWN0IC50di1zY3JlZW5lci1wb3B1cF9faXRlbXt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxNzBweH0udHYtc2NyZWVuZXItdG9vbGJhciAudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlKX0udHYtZmxhZy1jb3VudHJ5LS1nbG9iZSBzdmd7Y29sb3I6dmFyKC0tXzgtRXFMYil9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNnlfUjojZWNlY2VjfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtNnlfUjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtc2NyZWVuZXItcG9wdXB7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTRweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzAtNnlfUil9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zYXZle21hcmdpbi1ib3R0b206MTBweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZSl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRze2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjB9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXRzOmVtcHR5e2Rpc3BsYXk6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQ6aG92ZXJ7cGFkZGluZy1pbmxpbmUtZW5kOjcwcHh9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc3BhY2UtbGVmdHtwYWRkaW5nLWlubGluZS1zdGFydDoyNXB4IWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtZHJvcGRvd24taXRlbS1ob3Zlci1iZyl9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1wcmVzZXRzLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGV7ZGlzcGxheTpub25lO2luc2V0LWlubGluZS1lbmQ6NzRweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTFweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlLS1yaWdodHtpbnNldC1pbmxpbmUtZW5kOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGU6aG92ZXIgc3ZnICp7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRle2Rpc3BsYXk6aW5saW5lfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZWRpdCwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjQ1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjExcHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUgc3Zne2hlaWdodDoxMHB4O3dpZHRoOjEycHg7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWVkaXQ6aG92ZXIgc3ZnLC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1lZGl0LC50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1le2Rpc3BsYXk6YmxvY2t9fS50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciwudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7bWFyZ2luOi03cHg7cGFkZGluZzo3cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZle2Rpc3BsYXk6bm9uZTtpbnNldC1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBzdmcsLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIHN2Z3toZWlnaHQ6MTZweDt3aWR0aDoxNnB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyOmhvdmVyIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3Rhci1hY3RpdmV7ZGlzcGxheTppbmxpbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3Zlcj4udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlOmhvdmVyPi50di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFye2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXBvcHVwX19yZWZyZXNoLWludGVydmFsc3t3aWR0aDphdXRvfS50di1zY3JlZW5lci1wb3B1cF9fcmVmcmVzaC1pbnRlcnZhbC1sYWJlbHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX19LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpub25lO2hlaWdodDoxNHB4O2luc2V0LWlubGluZS1zdGFydDo2cHg7cGFkZGluZy1ibG9jazoycHggMDtwYWRkaW5nLWlubGluZToycHggMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OXB4O3dpZHRoOjE0cHh9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoxMHB4O2ZpbGw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZle2Rpc3BsYXk6YmxvY2t9LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZS0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWFsZXJ0LXRvZ2dsZTpob3ZlciBzdmd7ZmlsbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xlLS1hY3RpdmU6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApfS50di1zY3JlZW5lci1wb3B1cF9faXRlbTpob3ZlciAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tYWxlcnQtdG9nZ2xle2Rpc3BsYXk6YmxvY2t9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUgLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXJ7ZGlzcGxheTpub25lfS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUsLmZlYXR1cmUtbW9iaWxldG91Y2ggLnR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXJlbmFtZSwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhcntkaXNwbGF5OmlubGluZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwe3RvcDoxcHg7d2lkdGg6MjgwcHh9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6NDVweDttYXJnaW46MDtwYWRkaW5nLWJsb2NrOjEwcHggMDtwYWRkaW5nLWlubGluZToyMnB4IDIycHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtbm8tbWF0Y2hlc3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zdHlsZTppdGFsaWM7cG9pbnRlci1ldmVudHM6bm9uZX0udHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVte2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MTBweCAyMnB4fS50di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0tLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zdHlsZTppdGFsaWN9LnR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1lTGtWOiNmNWY4Zjk7LS1fMS1lTGtWOnZhcigtLWNvbG9yLXdoaXRlKTstLV8yLWVMa1Y6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtZUxrVjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMi1lTGtWOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1fMy1lTGtWOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzQtZUxrVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LWVMa1Y6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QGtleWZyYW1lcyBmbGljay16UGlWNlNZNHswJXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApfXRve2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19QGtleWZyYW1lcyBmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0ezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCl9dG97YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLGh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7aHRtbC50aGVtZS1kYXJrIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlcixodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1zZWxlY3RlZDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCkhaW1wb3J0YW50fX1odG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mbGlja3thbmltYXRpb24tbmFtZTpmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0fS50di1zY3JlZW5lci10YWJsZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO3Bvc2l0aW9uOnN0YXRpY30udHYtc2NyZWVuZXItdGFibGUtLWZpeGVke3RhYmxlLWxheW91dDpmaXhlZH0udHYtc2NyZWVuZXItdGFibGVfX3RoZWFke2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS50di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIsLnR2LXNjcmVlbmVyLXRhYmxlX190aGVhZC0tc3RpY2t5e3BvaW50ZXItZXZlbnRzOmF1dG99LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFke2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcik7Ym9yZGVyLXRvcDoxcHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtoZWlnaHQ6NDhweH0udHYtc2NyZWVuZXItdGFibGVfX3Roe2N1cnNvcjpkZWZhdWx0O3BhZGRpbmc6MH0udHYtc2NyZWVuZXItdGFibGVfX3RoOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tY29sb3ItZGl2aWRlcil9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tZHJhZ2dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1lTGtWKTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXRhYmxlX190aDpsYXN0LWNoaWxkOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX3RoLS1uby10b29sYmFyKXtwYWRkaW5nLWlubGluZS1lbmQ6NDFweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX190aDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnktaG92ZXIpfX0udHYtc2NyZWVuZXItdGFibGUgLnR2LXNjcmVlbmVyLXRhYmxlX190aHt3aGl0ZS1zcGFjZTpub3JtYWx9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXB7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDdweDtwYWRkaW5nOjAgMTBweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtd3JhcC0tZGlzYWJsZS1pbnRlcmFjdGlvbntjdXJzb3I6ZGVmYXVsdH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21pbi13aWR0aDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aWR0aDoxMDAlfS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCwudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSBzZWFyY2hJbnB1dCIgImNvbHVtblZhbHVlIHNlYXJjaElucHV0IiAiY29sdW1uTWF0Y2hlcyBzZWFyY2hJbnB1dCI7bWluLXdpZHRoOjIyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLW5hbWUtY29sLC50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9ue21pbi13aWR0aDoxMDBweH19LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntncmlkLXRlbXBsYXRlOiJjb2x1bW5OYW1lIHNlYXJjaElucHV0IiAiY29sdW1uVmFsdWUgc2VhcmNoSW5wdXQifS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS13aWRnZXQtbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZToiY29sdW1uTmFtZSIgImNvbHVtblZhbHVlIiAiY29sdW1uTWF0Y2hlcyI7bWluLXdpZHRoOjkwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LWFsaWduOnN0YXJ0fS50di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2dyaWQtYXJlYTpjb2x1bW5OYW1lO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxMDAlOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTdweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTJweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDB9LnR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXRpdGxlLXRocmVlLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6MjRweH0udHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdCAudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbWFya2Vye2hlaWdodDoyMHB4O2luc2V0LWlubGluZS1zdGFydDotMzBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b257YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MThweH0udHYtc2NyZWVuZXItdGFibGVfX2ZpbHRlci1idXR0b24gc3Zne2hlaWdodDoxNHB4O3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpfS50di1zY3JlZW5lci10YWJsZV9fdGg6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtZUxrVik7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmhvdmVyIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbi0tYWN0aXZlOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kLWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5ne2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtZUxrVil9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93e2N1cnNvcjpkZWZhdWx0O2hlaWdodDo0OHB4fS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2t7YW5pbWF0aW9uLWR1cmF0aW9uOjEuNHM7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1uYW1lOmZsaWNrLXpQaVY2U1k0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmV7YmFja2dyb3VuZDojMzE3OWY1NjZ9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLV8yLWVMa1YpfS50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIC50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHtib3JkZXItaW5saW5lLXN0YXJ0OjZweCBzb2xpZCB2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1mb2N1c2VkLC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWR7YmFja2dyb3VuZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQsLnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVke2JhY2tncm91bmQ6dmFyKC0tXzItZUxrVil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApIWltcG9ydGFudH0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZDpob3ZlciwudHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1fMi1lTGtWKSFpbXBvcnRhbnR9fS5mZWF0dXJlLW1vYmlsZXRvdWNoIC50di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZm9jdXNlZCAudHYtc2NyZWVuZXItdGFibGVfX21hcmtlciwuZmVhdHVyZS1tb2JpbGV0b3VjaCAudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIC50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9se2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93OmhvdmVyIC50di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0e2NvbG9yOnZhcigtLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uKTtjdXJzb3I6ZGVmYXVsdH19LnR2LXNjcmVlbmVyLXRhYmxlX19yZXN1bHQtcm93LS1hY3RpdmUgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3c6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1hZGRpdGlvbnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS50di1zY3JlZW5lci10YWJsZV9fbWFya2Vye21pbi1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt2aXNpYmlsaXR5OmhpZGRlbn0udHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZle3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGx7Zm9udC1zaXplOjE0cHg7cGFkZGluZy1ibG9jazoxMnB4IDEycHg7cGFkZGluZy1pbmxpbmU6MTFweCAxMHB4O3RleHQtYWxpZ246ZW5kO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fc3ltYm9se3RleHQtdHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAuMzVzIGVhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouM3B4O21hcmdpbi10b3A6MnB4fS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC50di1zY3JlZW5lcl9fZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnR2LWZsYWctY291bnRyeXttYXJnaW4tYmxvY2s6MCAwO21hcmdpbi1pbmxpbmU6NHB4IDEycHh9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0e3RleHQtYWxpZ246c3RhcnR9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0OmRpcihydGwpe2RpcmVjdGlvbjpydGx9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS11cHtjb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd257Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZG93bntjb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVke3RleHQtb3ZlcmZsb3c6Y2xpcH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWdyb3dpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ncm93aW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7bWFyZ2luOjAgLTNweDtwYWRkaW5nOjFweCAzcHh9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1mYWxsaW5nKTtjb2xvcjp2YXIoLS1fMS1lTGtWKX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZpeC13aWR0aHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MjAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci10YWJsZV9fY2VsbDpmaXJzdC1jaGlsZHttYXgtd2lkdGg6MzAwcHg7cGFkZGluZy1ib3R0b206NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHg7cGFkZGluZy10b3A6NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsOmZpcnN0LWNoaWxke21pbi13aWR0aDowfX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGw6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1iaWcpOm5vdCgudHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLW5vLXRvb2xiYXIpe3BhZGRpbmctaW5saW5lLWVuZDo1M3B4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiAudHYtZmxhZy1jb3VudHJ5e21hcmdpbi10b3A6MH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpdGhvdXQtZGVzY3JpcHRpb246Zmlyc3QtY2hpbGR7bWluLXdpZHRoOjE3NXB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fX0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXdpZGdldC13aXRob3V0LWRlc2NyaXB0aW9uOmZpcnN0LWNoaWxke21pbi13aWR0aDo5MHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jcnlwdG9fbWt0e2ZvbnQtc2l6ZToxNHB4fS50di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXI6Zmlyc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyMHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMHB4fS50di1zY3JlZW5lci10YWJsZV9fbWFya2V0LWljb24gc3Zne3N0cm9rZTpjdXJyZW50Q29sb3J9LnR2LXNjcmVlbmVyLXRhYmxlX19jZWxsIC5zZXNzaW9uLXN0YXR1c3tib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O21hcmdpbi1ibG9jazowIDJweDttYXJnaW4taW5saW5lOjRweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjRweH0udHYtc2NyZWVuZXItdGFibGVfX2NlbGwgLnNlc3Npb24tc3RhdHVzLnByZV9tYXJrZXR7YmFja2dyb3VuZDojZjc5ZDE2fS50di1zY3JlZW5lci10YWJsZV9fc29ydHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTtib3R0b206MDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MnB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydCBzdmd7aW5zZXQtaW5saW5lLWVuZDpjYWxjKDUwJSAtIDRweCk7cG9zaXRpb246YWJzb2x1dGU7ZmlsbDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NvcnQgc3Zne2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci10YWJsZV9fc29ydC0tYXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyBzdmd7dG9wOi0zcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1kZXNje3Zpc2liaWxpdHk6dmlzaWJsZX0udHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2Mgc3Zne3RvcDoycHh9LnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnOmxhc3QtY2hpbGQgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSAycHgpfS50di1zY3JlZW5lci10YWJsZV9fdGg6bGFzdC1jaGlsZDpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tYmlnKTpub3QoLnR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhcikgLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0e2luc2V0LWlubGluZS1lbmQ6YXV0bztpbnNldC1pbmxpbmUtc3RhcnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSA0M3B4KX0udHYtc2NyZWVuZXItdGFibGVfX3RoOmxhc3QtY2hpbGQ6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLWJpZyk6bm90KC50di1zY3JlZW5lci10YWJsZV9fdGgtLW5vLXRvb2xiYXIpIC50di1zY3JlZW5lci10YWJsZV9fZmlsdGVyLWJ1dHRvbntpbnNldC1pbmxpbmUtZW5kOjQzcHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fc29ydGFibGU6aG92ZXIgLnR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9ue29wYWNpdHk6MX19LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZXtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZXtkaXNwbGF5OmJsb2NrO2dyaWQtYXJlYTpjb2x1bW5NYXRjaGVzO21heC13aWR0aDoxMjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tbmFtZSwudHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbHstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LXNjcmVlbmVyLXRhYmxlX19maWVsZC12YWx1ZS0tdG90YWx7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtkaXNwbGF5OmlubGluZS1ibG9jaztncmlkLWFyZWE6Y29sdW1uVmFsdWU7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnl7YWxpZ24tc2VsZjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO2dyaWQtYXJlYTpzZWFyY2hJbnB1dDttYXJnaW4taW5saW5lLWVuZDoxMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MzJweDttaW4td2lkdGg6MTIwcHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnk6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6NjBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLXF1ZXJ5e2Rpc3BsYXk6bm9uZX19LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb257bWluLXdpZHRoOjk1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBzdmd7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1zY3JlZW5lci10YWJsZV9faW5wdXQtcmVzZXR7aW5zZXQtaW5saW5lLWVuZDowfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldDpob3ZlciBzdmcgcGF0aHtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci10YWJsZV9fc2VhcmNoLWljb257Y29sb3I6dmFyKC0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCk7aW5zZXQtaW5saW5lLXN0YXJ0OjEwcHg7b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIDBzIGVhc2UgMHN9LnR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZy1ibG9jazoxMHB4IDhweDtwYWRkaW5nLWlubGluZTozNnB4IDM2cHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dDpmb2N1c3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbHtkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzouNXB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtdHJhbnNmb3JtOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tc3Ryb25nLWJ1eTpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLWJ1eS1hcnJvdy42NzA3ZDEzOGQzMmVjMTY1YTQ1NS5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXl7Y29sb3I6dmFyKC0tY29sb3ItYnV5KX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tYnV5OmJlZm9yZXtiYWNrZ3JvdW5kOnVybChidXktYXJyb3cuYWI2ZGZlNDExNTQ3OWJkMDRkZDMuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXNlbGx7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKX0udHYtc2NyZWVuZXItLXN0YW5kYWxvbmUtbWFya2V0IC50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsOmJlZm9yZXtiYWNrZ3JvdW5kOnVybChzZWxsLWFycm93LjdhYTFiNTYzODcwYWEwYTA1ZTZhLnN2Zykgbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb24teTo1MCU7Y29udGVudDoiIjtwYWRkaW5nLWlubGluZS1zdGFydDoxNXB4fS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfS50di1zY3JlZW5lci0tc3RhbmRhbG9uZS1tYXJrZXQgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxse2NvbG9yOnZhcigtLWNvbG9yLXNlbGwpfS50di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctc2VsbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwoc3Ryb25nLXNlbGwtYXJyb3cuYWMwYzU1NTkzZjNiMGE4NGQ0ZGEuc3ZnKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtjb250ZW50OiIiO3BhZGRpbmctaW5saW5lLXN0YXJ0OjE1cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLW5ldXRyYWx7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lLW1hcmtldCAudHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbHtjb2xvcjp2YXIoLS1jb2xvci1uZXV0cmFsKX0udHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbC0tbmV1dHJhbDpiZWZvcmV7YmFja2dyb3VuZDp1cmwobmV1dHJhbC1hcnJvdy45OGY2MWMzMTVkNDUzMDA1NTgxMi5zdmcpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6NTAlO2NvbnRlbnQ6IiI7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTVweH0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LW1lc3NhZ2V7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luOjEzcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2ljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5e2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lcntmb250LXNpemU6MTNweDtwYWRkaW5nLWJsb2NrOjAgOHB4O3BhZGRpbmctaW5saW5lOjVweCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6OTBweH0udHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5fdG9vbHRpcF9jb250YWluZXIgc3Zne2hlaWdodDo0MHB4O3BhZGRpbmctYm90dG9tOjZweDt3aWR0aDo0MHB4fS50di1zY3JlZW5lci10YWJsZV9fbG9nby1jb250YWluZXJ7ZmxleC1zaHJpbms6MDttYXJnaW4taW5saW5lLWVuZDo4cHh9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHR7YWxpZ24tY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWJvdHRvbToxMHB4O3BhZGRpbmctdG9wOjEwcHg7d2lkdGg6MTAwJX0udHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC1saW5rLC50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQtbGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tZml4ZWR7cG9zaXRpb246Zml4ZWR9LnR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQudHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmU7dG9wOi00OHB4fS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktZGVzY3JpcHRpb257Y29sb3I6dmFyKC0tXzQtZUxrVik7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW46MCAyMHB4O3RleHQtYWxpZ246Y2VudGVyfS50di1zY3JlZW5lci10YWJsZV9fZW1wdHktY29udGVudHtkaXNwbGF5OmZsZXh9LnR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9ue21pbi13aWR0aDowfS50di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZXtjb2xvcjp2YXIoLS1fNS1lTGtWKTtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhNWGs6I2RkZTNlNjstLV8xLXhNWGs6I2ZiZmNmYzstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzEteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8yLXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fMy14TVhrOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzQteE1Yazp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV81LXhNWGs6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItcGFuZS1iZyk7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyKTtib3JkZXItcmFkaXVzOjJweDtib3gtc2hhZG93OjAgMnB4IDNweCAjMjUyYzMxMjk7aGVpZ2h0OjYwcHg7bWFyZ2luLXRvcDotMnB4O21pbi13aWR0aDo0MDBweDtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6M30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbntvcGFjaXR5OjB9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zdGFuZGFsb25le21hcmdpbi10b3A6LTFweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXdpZGV7d2lkdGg6NDM1cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1zbGlte21pbi13aWR0aDoyMTBweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZToyMHB4IDgxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRpdGxle2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHttYXJnaW4taW5saW5lLXN0YXJ0OjIwcHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tY29uZGl0aW9uLC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdHttYXJnaW4tdG9wOjRweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1jb250ZW50LS1zZWxlY3R7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MjdweDttYXgtd2lkdGg6MzUwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV80LXhNWGspO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXRleHQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLV81LXhNWGspfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC10ZXh0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzQteE1Yayk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fNS14TVhrKX19LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0e2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAteE1Yayk7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjYwcHg7aW5zZXQtaW5saW5lLWVuZDowO2xpbmUtaGVpZ2h0OjY3cHg7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7d2lkdGg6NjZweH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWZpZWxkLXJlc2V0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzEteE1Yayl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE2cHg7bWFyZ2luLWJsb2NrOjZweCAwO21hcmdpbi1pbmxpbmU6NXB4IDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7c3Ryb2tlLXdpZHRoOjEuNXB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tbm8tdmFsdWUsLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci1wbGFjZWhvbGRlcikhaW1wb3J0YW50fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb257Y3Vyc29yOnBvaW50ZXJ9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93IC50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWx7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWlubGluZS1lbmQ6MjNweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VsZWN0Ym94LWNhcHRpb246aG92ZXIgLnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLXdyYXB7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7aGVpZ2h0OjQ1cHg7cG9zaXRpb246cmVsYXRpdmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmJsb2NrO2hlaWdodDo0NXB4O21hcmdpbjowO3BhZGRpbmctYmxvY2s6MTBweCAwO3BhZGRpbmctaW5saW5lOjIycHggMjJweDt3aWR0aDoxMDAlfS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xle2hlaWdodDoxNnB4O2luc2V0LWlubGluZS1lbmQ6NDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMnB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7ZGlzcGxheTpibG9jazttYXJnaW4tYmxvY2s6NXB4IDA7bWFyZ2luLWlubGluZToycHggMDtzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlLS1vcGVue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19maWx0ZXItZmllbGQtY29udGVudC0tc2VsZWN0OmhvdmVyfi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZSBzdmd7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfX0udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTpibG9ja30udHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXR7bWluLXdpZHRoOjMzN3B4fS50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXR7cGFkZGluZy1pbmxpbmUtZW5kOjE4cHh9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19kcm9wZG93bi1jaGVja2JveC1pdGVte2NvbG9yOnZhcigtLWNvbG9yLXVuZGVybGluZWQtdGV4dCl9LnR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yX19zZWFyY2gtaW5wdXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wYW5lLWJnKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXhlYlU6I2UwZTNlYjgwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteGViVTojNDM0NjUxODB9LnR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIC50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJ7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1ib2R5LWJnKX0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVye2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Mn0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO3Bvc2l0aW9uOmZpeGVkfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfc3RpY2t5e2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYm9keS1iZyk7ZGlzcGxheTppbmxpbmUtYmxvY2s7aW5zZXQtaW5saW5lLWVuZDp1bnNldDtpbnNldC1pbmxpbmUtc3RhcnQ6dW5zZXR9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19hYnNvbHV0ZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWJvZHktYmcpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjF9LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fcmlnaHQtc3Vic3RyYXRlLS1zdGFuZGFsb25lX3N0aWNreXtwb3NpdGlvbjpmaXhlZH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uLXdyYXB7Ym9yZGVyLWlubGluZS1zdGFydDoxcHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1jb2xvci1kaXZpZGVyKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXhlYlUpO2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0udHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9ue2FsaWduLWl0ZW1zOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0MXB4fS50di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gc3Zne3Bvc2l0aW9uOnJlbGF0aXZlO2ZpbGw6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19maWVsZHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyKX19LnR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi0tYWN0aXZlIHN2Z3tmaWxsOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxNXB4fS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LnR2LWRyb3Bkb3due2Rpc3BsYXk6ZmxleH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdC0tZGlhbG9ne3BhZGRpbmc6N3B4IDAgMDt0b3A6MTBweH0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9fYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZXttYXJnaW4taW5saW5lLXN0YXJ0OjNweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2l0ZW0tdGl0bGV7bWFyZ2luLWlubGluZS1zdGFydDo2cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QtLWhpZGRlbntoZWlnaHQ6MDtwYWRkaW5nOjAgNXB4O3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjB9LnR2LWNhcmV0e2JvcmRlci1ibG9jay1jb2xvcjpjdXJyZW50Q29sb3IgIzAwMDA7Ym9yZGVyLWJsb2NrLXdpZHRoOjRweCAwO2JvcmRlci1pbmxpbmUtY29sb3I6IzAwMDAgIzAwMDA7Ym9yZGVyLWlubGluZS13aWR0aDo0cHggNHB4O2JvcmRlci1zdHlsZTpzb2xpZDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjVweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjB9LmFjdGl2ZSAudHYtY2FyZXQsLmktZHJvcHBlZCAudHYtY2FyZXQ6bm90KC50di1jYXJldC0tc3RyaWN0KSwudHYtY2FyZXQtLXN0cmljdC5pLWRyb3BwZWR7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXM7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5hY3RpdmUgLnR2LWNhcmV0OmRpcihydGwpLC5pLWRyb3BwZWQgLnR2LWNhcmV0Om5vdCgudHYtY2FyZXQtLXN0cmljdCk6ZGlyKHJ0bCksLnR2LWNhcmV0LS1zdHJpY3QuaS1kcm9wcGVkOmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udHYtY2FyZXQtLXNtYWxse2JvcmRlci1pbmxpbmUtZW5kLXdpZHRoOjNweDtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjNweDtib3JkZXItdG9wLXdpZHRoOjNweDttYXJnaW4taW5saW5lLWVuZDotMXB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6M3B4fS50di1jYXJldC0tY29sb3JlZHt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsY29sb3IgLjM1cyBlYXNlfS50di1jYXJldC0tbm8tbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtWVo4STojZTVlNWU4Oy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fMy1ZWjhJOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVlaOEk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1ZWjhJOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzItWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tXzMtWVo4STp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApfS50di1kcm9wZG93bntwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWRyb3Bkb3duLS1pbmxpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19pdGVtLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW17YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApO2N1cnNvcjpkZWZhdWx0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd24uaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIsLnR2LWRyb3Bkb3duX19ncm91cC5pLWluYWN0aXZlIC50di1kcm9wZG93bl9faXRlbTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7Y3Vyc29yOmRlZmF1bHR9fS50di1kcm9wZG93bl9fZGVzY3tjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi10b3A6MnB4O3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW06aG92ZXIgLnR2LWRyb3Bkb3duX19kZXNje2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWRyb3Bkb3duLmktaW5hY3RpdmUgLnR2LWRyb3Bkb3duX19kZXNjLC50di1kcm9wZG93bl9fZ3JvdXAuaS1pbmFjdGl2ZSAudHYtZHJvcGRvd25fX2Rlc2N7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1kcm9wZG93bl9fYnV0dG9ue2N1cnNvcjpwb2ludGVyfS50di1kcm9wZG93bl9fZ3JvdXAtLWRpdmlkZWR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9LnR2LWRyb3Bkb3duX19ncm91cC0tZGl2aWRlZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtZHJvcGRvd25fX2JvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1kcm9wZG93bl9fYm9keS0tdW5kZXItdHJpZ2dlcnt0b3A6MTAwJTt0b3A6Y2FsYygxMDAlIC0gMXB4KX0udHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlcnt0b3A6MH0udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX291dGVyX3JpZ2h0e2luc2V0LWlubGluZS1zdGFydDoxMDAlfS50di1kcm9wZG93bl9fdGl0bGV7Y29sb3I6I2JkYmVjMDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLXRvcDoxMHB4O3BhZGRpbmc6MTBweCAxNXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udHYtZHJvcGRvd25fX3RpdGxlOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0udHYtZHJvcGRvd25fX2l0ZW17Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtZHJvcGRvd25fX2l0ZW0sLnR2LWRyb3Bkb3duX19pdGVtOnZpc2l0ZWR7Y29sb3I6dmFyKC0tXzAtWVo4SSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbTpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtZHJvcGRvd25fX2l0ZW06YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzMtWVo4SSl9LnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX0udHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmUsLnR2LWRyb3Bkb3duX19pdGVtLmktYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLVlaOEkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0uaS1hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy1ZWjhJKX19LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQsLnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtjb2xvcjp2YXIoLS1fMS1ZWjhJKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWRyb3Bkb3duX19pdGVtLmktZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLV8xLVlaOEkpO2N1cnNvcjpkZWZhdWx0fX0udHYtZHJvcGRvd25fX2l0ZW0tLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtZHJvcGRvd25fX2l0ZW0tLW5vdC1pbnRlcmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlLC50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1kcm9wZG93bl9faXRlbS0tbm90LWludGVyYWN0aXZlLmktYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH19LnR2LWRyb3Bkb3duX19pdGVtLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0udHYtZHJvcGRvd25fX2l0ZW0tdGV4dHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzYtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV82LWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYXUxVzojNTM1MzUzOy0tXzEtYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8yLWF1MVc6I2U1ZTVlODstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tXzQtYXUxVzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1fNS1hdTFXOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWF1MVc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMS1hdTFXOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzItYXUxVzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLV8zLWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV80LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLV81LWF1MVc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXB7ZGlzcGxheTpibG9jazttaW4td2lkdGg6NDBweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTNweDtwYWRkaW5nOjAgMTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbG9yOnZhcigtLV8wLWF1MVcpO2N1cnNvcjpwb2ludGVyO2hlaWdodDozNHB4O2xpbmUtaGVpZ2h0OjM0cHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6OnBsYWNlaG9sZGVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbHstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxMDAwcHggI2ZmZiFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX3hzbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfeHNtYWxse2hlaWdodDoxOXB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC0tc2l6ZV9zbWFsbCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1zaXplX2xhcmdlLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tc2l6ZV9sYXJnZXtmb250LXNpemU6MTZweDtoZWlnaHQ6NDhweH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3Qsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LS1jb25uZWN0e2JvcmRlci1pbmxpbmUtZW5kOjA7Ym9yZGVyLWlubGluZS1zdGFydDowO2JvcmRlci1yYWRpdXM6MH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLWNvbm5lY3RfbGVmdCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QtLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1pbmxpbmUtc3RhcnQ6bm9uZTtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0LHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MDtib3JkZXItaW5saW5lLWVuZDpub25lO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLS1jb25uZWN0X3JpZ2h0I2lkX3VzZXJuYW1lOmRpcihydGwpLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fY29udHJvbDpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3Q6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkhaW1wb3J0YW50O3RyYW5zaXRpb24tZHVyYXRpb246NjBtc30udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV17Ym9yZGVyLWNvbG9yOnZhcigtLV82LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbFtyZWFkb25seV06Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W3JlYWRvbmx5XTpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbcmVhZG9ubHldOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtyZWFkb25seV06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXSxzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZCxzZWxlY3QudHYtY29udHJvbC1zZWxlY3RbZGlzYWJsZWRde2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOjpwbGFjZWhvbGRlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0W2Rpc2FibGVkXTo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkOmhvdmVyLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktZXJyb3Isc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZXJyb3J7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1lcnJvcjpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1lcnJvcjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLWVycm9yOmZvY3VzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1zdWNjZXNzLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLmktc3VjY2Vzczpob3ZlcixzZWxlY3QudHYtY29udHJvbC1zZWxlY3QuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6YWN0aXZlLC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC5pLXN1Y2Nlc3M6Zm9jdXMsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2VzczphY3RpdmUsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0Lmktc3VjY2Vzczpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpIWltcG9ydGFudH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtLXBob25lLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC0tcGhvbmV7ZGlyZWN0aW9uOmx0cjt0ZXh0LWFsaWduOnN0YXJ0fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZCwudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2xbZGlzYWJsZWRdLHNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWRpc2FibGVkLHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF17Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpO2N1cnNvcjpkZWZhdWx0fS5pLWVycm9yIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCwuaS1lcnJvciBzZWxlY3QudHYtY29udHJvbC1zZWxlY3R7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaS1lcnJvciAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2w6aG92ZXIsLmktZXJyb3Igc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApIWltcG9ydGFudH19LmktZXJyb3IgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sOmZvY3VzLC5pLWVycm9yIHNlbGVjdC50di1jb250cm9sLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKSFpbXBvcnRhbnR9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX3hzbWFsbCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2x7aGVpZ2h0OjE5cHg7bGluZS1oZWlnaHQ6MTlweH0udHYtY29udHJvbC1zZWxlY3QtLXNpemVfc21hbGwgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se2hlaWdodDoyN3B4O2xpbmUtaGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtc2VsZWN0LS1zaXplX2xhcmdlIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtoZWlnaHQ6NDhweDtsaW5lLWhlaWdodDo0OHB4fS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lcntkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtZW5kOjEycHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tb3B0aW9uLWRpc2FibGVke2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXItLXJlYWRvbmx5e2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtjdXJzb3I6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0udHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXI6YWZ0ZXJ7Y29udGVudDoiXDIwMEUifXNlbGVjdC50di1jb250cm9sLXNlbGVjdC5pLWluaXRlZHtkaXNwbGF5Om5vbmV9LnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtib3R0b206MDtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6NDBweH0udHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1pbmxpbmUtZW5kOjRweCBzb2xpZCAjMDAwMDtib3JkZXItaW5saW5lLXN0YXJ0OjRweCBzb2xpZCAjMDAwMDtib3JkZXItdG9wOjRweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLWNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDoxNXB4O2luc2V0LWlubGluZS1zdGFydDphdXRvO21hcmdpbi10b3A6LTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSxib3JkZXItY29sb3IgLjM1cyBlYXNlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXA6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKSAjMDAwMCAjMDAwMDt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9fS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktb3BlbmVkIC50di1jb250cm9sLXNlbGVjdF9fY2FyZXQ6YWZ0ZXI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1vcGVuZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UpICMwMDAwICMwMDAwfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC5pLW9wZW5lZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpICMwMDAwICMwMDAwO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0e3otaW5kZXg6OTh9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktY2xvc2luZyAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMCl9LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldHtjdXJzb3I6ZGVmYXVsdH0udHYtY29udHJvbC1zZWxlY3RfX3dyYXAuaS1kaXNhYmxlZCAudHYtY29udHJvbC1zZWxlY3RfX2NhcmV0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSAjMDAwMCAjMDAwMH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X193cmFwLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikgIzAwMDAgIzAwMDB9fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtib3JkZXItcmFkaXVzOjZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTtmb250LXNpemU6MTNweDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MTVweCAwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTVweDt6LWluZGV4Ojk5fS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXVuZGVyLXRyaWdnZXJ7dG9wOjEwMCU7dG9wOmNhbGMoMTAwJSAtIDFweCl9LnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bi0tb3Zlci10cmlnZ2Vye3RvcDowfS50di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24tLXBvc2l0aW9uX3JpZ2h0e2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6YXV0b30udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLS1wb3NpdGlvbl9vdXRlcl9yaWdodHtpbnNldC1pbmxpbmUtc3RhcnQ6MTAwJX0udHYtY29udHJvbC1zZWxlY3RfX2Ryb3Bkb3duLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93bntjdXJzb3I6ZGVmYXVsdDtpbnNldC1pbmxpbmUtZW5kOi03cHg7aW5zZXQtaW5saW5lLXN0YXJ0Oi03cHg7dG9wOi0xNHB4fS50di1jb250cm9sLXNlbGVjdF9fc2Nyb2xse2hlaWdodDoxMDAlfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDE1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RyYW5zaXRpb246Y29sb3IgLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlO3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXA6dmlzaXRlZHtjb2xvcjp2YXIoLS1fMS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcjpub3QoLmktYWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpO2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcil9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLmktZGlzYWJsZWQsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC5pLWRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAuaS1kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tXzItYXUxVyk7Y3Vyc29yOmRlZmF1bHR9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLXN1Yml0ZW17cGFkZGluZy1ibG9jazoxMHB4IDEwcHg7cGFkZGluZy1pbmxpbmU6MzBweCAxNXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwLS1ub3QtaW50ZXJhY3RpdmUuaS1hY3RpdmUsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcC0tbm90LWludGVyYWN0aXZlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAtLW5vdC1pbnRlcmFjdGl2ZS5pLWFjdGl2ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwe2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktYWN0aXZlIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAsLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS1hdTFXKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24uaS1hY3RpdmUgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV81LWF1MVcpfX0udHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi5pLWRpc2FibGVkIC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXB7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1ob3Zlcik7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpfS50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLmktZGlzYWJsZWQ6aG92ZXIgLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9fS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXB7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLWxhYmVse2NvbG9yOiNiZGJlYzA7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTRweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTttYXJnaW4tdG9wOjEwcHg7cGFkZGluZzoxMHB4IDE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjIwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1zZXBhcmF0b3J7ZGlzcGxheTpub25lfS50di1jb250cm9sLXNlbGVjdF9fb3B0Z3JvdXAtc2VwYXJhdG9yOm5vdCg6bGFzdC1vZi10eXBlKXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjFweDttYXJnaW46OHB4IDB9LnR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1pdGVtc3tkaXNwbGF5OmJsb2NrfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0X19jYXJldCwudHYtY29udHJvbC1zZWxlY3RfX3dyYXAtLXRvdWNoIC50di1jb250cm9sLXNlbGVjdF9fY29udHJvbHtwb2ludGVyLWV2ZW50czpub25lfS50di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2ggLnR2LWNvbnRyb2wtc2VsZWN0LmktaW5pdGVke2JvdHRvbTowO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1Bazk1OiM4YThhOGF9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1Bazk1OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApfS50di1zY3JlZW5lci1wcm9tcHRfX2xhYmVse2NvbG9yOnZhcigtLV8wLUFrOTUpO2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206MTBweH1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzEtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLV8yLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fMy1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLV8xLWhDN0M6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMi1oQzdDOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tXzMtaEM3Qzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX0udHYtc2NyZWVuZXItZGlhbG9ne292ZXJmbG93OmF1dG99LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcHttaW4taGVpZ2h0OjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcDphZnRlcntjbGVhcjpib3RoO2NvbnRlbnQ6IiI7ZGlzcGxheTp0YWJsZX0udHYtc2NyZWVuZXItZGlhbG9nX193cmFwLS0yY29se3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2w6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTttYXJnaW4taW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoycHg7ei1pbmRleDoxfS50di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxke3dpZHRoOjUwJX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGR7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tY29sb3ItYm9yZGVyLXRhYmxlKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2Zsb2F0OmlubGluZS1zdGFydDttaW4taGVpZ2h0OjU1cHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApfWh0bWwudGhlbWUtZGFyayAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSxodG1sLnRoZW1lLWRhcmsgLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtLWFjdGl2ZSAudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtcmVzZXR7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZDpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0udHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MiwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQxIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQyIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MywudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MSwudHYtc2NyZWVuZXItZGlhbG9nLS1jYXQzIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC0tY2F0MntkaXNwbGF5Om5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRpdGxle2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXNpemU6MTNweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDozMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnR7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4O21pbi1oZWlnaHQ6MjdweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2MyV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLWxlZnQsLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHR7bWFyZ2luLWlubGluZS1zdGFydDoyMHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHggMjBweH0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbGVmdCwudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlLC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodHtkaXNwbGF5OmJsb2NrO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtdmFsdWU6bm90KDpsYXN0LWNoaWxkKTphZnRlcntjb250ZW50OiIsICJ9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHR7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLV8yLWhDN0MpO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcmVndWxhcik7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2hlaWdodDoyNXB4O3BhZGRpbmc6MCA2cHg7d2lkdGg6MTAzcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC10ZXh0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1fMy1oQzdDKX19LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLXRleHQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX0udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzItaEM3Qyk7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTJweCFpbXBvcnRhbnQ7aGVpZ2h0OjI1cHg7cGFkZGluZzowIDZweDt3aWR0aDoxMDNweDt3aWR0aDo1MHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItYmV0d2Vlbi1pbnB1dDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tXzMtaEM3Qyl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1iZXR3ZWVuLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWJldHdlZW4tc2VwYXJhdG9ye21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDtwYWRkaW5nOjAgNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldHtjdXJzb3I6cG9pbnRlcjttYXJnaW4taW5saW5lLXN0YXJ0OjMwcHg7dmlzaWJpbGl0eTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1yZXNldCBzdmd7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNvbnRhaW5lcntoZWlnaHQ6MjdweDtsaW5lLWhlaWdodDoyN3B4O3doaXRlLXNwYWNlOm5vd3JhcH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O21hcmdpbi1ibG9jazo2cHggMDttYXJnaW4taW5saW5lOjVweCAwO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MTZweH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tkaXNwbGF5OmJsb2NrO21hcmdpbi1ibG9jazo1cHggMDttYXJnaW4taW5saW5lOjJweCAwO3N0cm9rZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtzdHJva2Utd2lkdGg6MS41cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZS0tb3BlbjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSwudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZSAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtb3B0aW9uLXdyYXB7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpIWltcG9ydGFudH0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbntjdXJzb3I6cG9pbnRlcn0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvd3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJX0udHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi0tdGV4dC1vdmVyZmxvdyAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctaW5saW5lLWVuZDoyM3B4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWNhcHRpb24tLXRleHQtb3ZlcmZsb3cgLnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtY2FwdGlvbjpob3ZlciAudHYtc2NyZWVuZXItZGlhbG9nX19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC13cmFwe2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2hlaWdodDo0NXB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1kaWFsb2dfX3NlYXJjaC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjQ1cHg7bWFyZ2luOjA7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MjJweCAyMnB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fc2VhcmNoLW5vLW1hdGNoZXN7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc3R5bGU6aXRhbGljO3BvaW50ZXItZXZlbnRzOm5vbmV9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWRyb3Bkb3duLXRvZ2dsZXtoZWlnaHQ6MTZweDtpbnNldC1pbmxpbmUtZW5kOjclO21hcmdpbi1pbmxpbmUtZW5kOjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyMHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlLWluLW91dDt3aWR0aDoxNnB4fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUgc3Zne2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJsb2NrOjVweCAwO21hcmdpbi1pbmxpbmU6MnB4IDA7c3Ryb2tlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW57dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1kcm9wZG93bi10b2dnbGUtLW9wZW46ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXNlbGVjdDpob3Zlcn4udHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZHJvcGRvd24tdG9nZ2xlIHN2Z3tzdHJva2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9fS50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHh9LnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLXRvZ2dsZS1jaGVja2JveHtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0udHYtc2NyZWVuZXItZGlhbG9nIC50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGV7ZGlzcGxheTpub25lfS50di1zY3JlZW5lci1kaWFsb2dfX3NlbGVjdGJveC1vcHRpb24td3JhcHtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di1zY3JlZW5lci1zZWFyY2h7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItdGFibGUpO2hlaWdodDo0MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di1zY3JlZW5lci1zZWFyY2hfX2lucHV0e2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXI6bm9uZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKTtmb250LXNpemU6MTRweDtoZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjAgMDtwYWRkaW5nLWlubGluZTo1N3B4IDEzNXB4O3dpZHRoOjEwMCV9LnR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLXBsYWNlaG9sZGVyKX0udHYtc2NyZWVuZXItc2VhcmNoIHN2Z3tpbnNldC1pbmxpbmUtc3RhcnQ6MjdweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMnB4fS50di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtjdXJzb3I6cG9pbnRlcjtpbnNldC1pbmxpbmUtZW5kOjMwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEycHh9LnR2LXNjcmVlbmVyLXNlYXJjaF9fcmVzZXQtaWNvbiBzdmd7aW5zZXQtaW5saW5lLXN0YXJ0Oi0yNnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O2ZpbGw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO3BvaW50ZXItZXZlbnRzOmF1dG99Lm1vZGVUaXRsZS1qc1QzUzRNQXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjIxcHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwfS5tb2RlVGl0bGVBY3RpdmUtanNUM1M0TUF7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpfS5zd2l0Y2hlckNvbnRhaW5lci1qc1QzUzRNQXttYXJnaW46MCA4cHh9LmVsZW1lbnRXcmFwLUxlWndHaUI2e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJX0uaXRlbXNXcmFwLUxlWndHaUI2e2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1MZVp3R2lCNntjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwpO2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgOXB4fS5pdGVtLUxlWndHaUI2OmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9Lml0ZW0tTGVad0dpQjY6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6MH0uaXRlbS1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjYgLml0ZW1Db250ZW50LUxlWndHaUI2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2JvcmRlci1yYWRpdXM6MTJweDtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Y3Vyc29yOmRlZmF1bHR9Lml0ZW0tTGVad0dpQjYuYWN0aXZlLUxlWndHaUI2IC5pdGVtQ29udGVudC1MZVp3R2lCNi5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Y3Vyc29yOnBvaW50ZXJ9Lml0ZW1Db250ZW50LUxlWndHaUI2e2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czoxMnB4O2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEzcHg7cGFkZGluZzozcHggMTJweCA0cHg7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjM1cyBlYXNlLGNvbG9yIC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtQ29udGVudC1MZVp3R2lCNjpob3Zlcjpub3QoLmFjdGl2ZS1MZVp3R2lCNil7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKTtjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcil9fS5kcm9wZG93bkl0ZW0tTGVad0dpQjZ7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjMycHh9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNntkaXNwbGF5OmJsb2NrO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZX0uZHJvcGRvd25JY29uLUxlWndHaUI2OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uZHJvcGRvd25JY29uLUxlWndHaUI2LmFjdGl2ZS1MZVp3R2lCNnt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LmRyb3Bkb3duSWNvbi1MZVp3R2lCNi5hY3RpdmUtTGVad0dpQjY6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmRyb3Bkb3duTGlzdEl0ZW0tTGVad0dpQjZ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0ubGluay1VSVFwTExOcywubGluay1VSVFwTExOczp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstVUlRcExMTnM6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS5saW5rLVVJUXBMTE5zOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS5saW5rLVVJUXBMTE5zOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmxpbmstVUlRcExMTnM6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLVVJUXBMTE5zOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.293Z","timestamp":1785136429293,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90960.ec941accfaa3ed2cd6e2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-186\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 66c76fdbb56cd3ef06d870aaf4b6c139\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":390,"size_decoded":966,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (390), with no line terminators","md5":"82a666c7923903c7a4ea82a3e676d054","sha1":"86c016b68d5ebe6c7ea2171a5c77c3977beae537","sha256":"0d86f8d898eadd5474e95eb88236cad4371819f433c109cb51775d8afe54db99","sha512":"f3e21eff0524a1d3b54afc7e6a639a4982798ecfff9b03e99280419d100ca7233723e5a8384c39e2f02bb6d17afa7bb1b083a3b5086fdf52f7b3ea52c9171867","ssdeep":"","tlshash":"26e09b8a5003791d3c3573145ddc9b09023c515261d71dfd8847a23bd2ca3e13e5b861","first_seen":"2024-12-10T03:17:08.854058Z","last_seen":"2026-08-11T04:43:23.201316Z","times_seen":1308,"resource_available":false,"data":"LmVtb2ppV3JhcC1SMkNUcG1IcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6dmFyKC0tdHYtbGVhZGluZy1lbW9qaS1zaXplLDE4cHgpfS5lbW9qaS1SMkNUcG1IciwuZW1vamlXcmFwLVIyQ1RwbUhye3dpZHRoOnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KX0uZW1vamktUjJDVHBtSHJ7aGVpZ2h0OnZhcigtLXR2LWxlYWRpbmctZW1vamktc2l6ZSwxOHB4KTtwb3NpdGlvbjphYnNvbHV0ZX0udG9vbHRpcEVtb2ppLVIyQ1RwbUhye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGV9LnRvb2x0aXBFbW9qaVdyYXAtUjJDVHBtSHJ7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWluLXdpZHRoOjEycHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/footera.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.376Z","timestamp":1785136427376,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/images/footera.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.391Z","timestamp":1785136428391,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-6bc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9393ca5d00e438c98606d59df71618d0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-08-03T09:16:28.399983Z","times_seen":2410,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.586Z","timestamp":1785136427586,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/c0a6ae515f4d245d.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"c0a6ae515f4d245d.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"42e2ea745a52c479ce79b9fadf7f2ed9\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/c0a6ae515f4d245d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xwt97-1781312483646-eb94f2b460c3\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=5MtkLWECK55HawoJPaUIqLCNwVG30BifMsSMXAd58Kt7a9HxMs18QzvmQxk3VkFjkMxNp%2BlomejrF0yf74qGD2QSjTodTQA0YGDnw0lfNBmu1CDHa53q6pJM9WRm\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f158deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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"]},{"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"]}],"data":{"size":3649,"size_decoded":3720,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3649), with no line terminators","md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-11T04:47:30.097724Z","times_seen":1896,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59465.8e9c06b76c9d50bc242b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.762Z","timestamp":1785136427762,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59465.8e9c06b76c9d50bc242b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-1d791d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: db12692623b138e6606bb2bedd9a9f12\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1931549,"size_decoded":548405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"f8f27d4db01cfe50f3ffd3e990484148","sha1":"3c973ba80b7fd6d45633690af7aa0e4a3fba0645","sha256":"69c8983025d395ad464d6230d65cd7d0ff85eb063c00d6e250e809031f6e7aa0","sha512":"84aea9bbd1ac9e512fd30e2455d1ff25a9bdc2481f66a344af5bbe5e63d47fc51227ca65a24c8a36729c47e027201f6ebe950514126974b22312c1586671f9ed","ssdeep":"24576:fzalYAraWBQ4zQtuj0doGOpRYjjpQ78tGAzOJR/n43dFXOBmrmVUBsYdxS:fzalHraWqtuj0CpRYjjpQ7EGAzOJV43O","tlshash":"f1254ba3b36024ab97e911e548b51503e35818867807c66cf17c6cef25adc4932fafbd","first_seen":"2026-07-24T11:36:47.876406Z","last_seen":"2026-07-28T06:17:53.557126Z","times_seen":205,"resource_available":false,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3Mjg1LDU5NDY1XSx7NTA2NDQ2KGUpe2UuZXhwb3J0cz17c2NyZWVuOiJzY3JlZW4taXdyOU90cHMiLGZhZGU6ImZhZGUtaXdyOU90cHMiLHNjcmVlbmZhZGU6InNjcmVlbmZhZGUtaXdyOU90cHMifX0sMjU5MTMyKGUpe2UuZXhwb3J0cz17fX0sODU2MTYoZSl7ZS5leHBvcnRzPXtjc3NfdmFsdWVfY3VycmVuY3lfbGFiZWxfcmFkaXVzOiI0Iixjc3Nfd3JhcHBlcl9tYXJnaW46IjQiLGNzc19yb3dfbGVmdF9yaWdodF9wYWRkaW5nOiIzIixjc3NfZmFkZV9oZWlnaHQ6IjEwIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIixoaWRkZW46ImhpZGRlbi1iVENUUkNUaiIsInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiOiJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIixyb3c6InJvdy1iVENUUkNUaiIsZXhwYW5kZWQ6ImV4cGFuZGVkLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duLWJUQ1RSQ1RqIiwicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0IjoicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0LWJUQ1RSQ1RqIn19LDE0NDExMihlKXtlLmV4cG9ydHM9e319LDYxNTUyNihlKXtlLmV4cG9ydHM9e319LDI3OTg0KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItaGVpZ2h0LXdpdGgtYm9yZGVyIjoiMzlweCIsImNzcy12YWx1ZS1jaGFydC1jb250cm9scy1iYXItYm9yZGVyIjoiMXB4In19LDI4MjcxMChlKXtlLmV4cG9ydHM9e2Nzc192YWx1ZV9jaGFydF9ndWlfd3JhcHBlcl9jb2x1bW5fZ2FwOiI0In19LDQwMjQzKGUpe2UuZXhwb3J0cz17Y2hhcnRzU3BsaXR0ZXI6ImNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDIixob3ZlcmVkOiJob3ZlcmVkLXhxc2FPeDlDIn19LDI5MDMyNChlKXtlLmV4cG9ydHM9e2ljb246Imljb24taXJBMG9hSDgifX0sMTI0MzM2KGUpe2UuZXhwb3J0cz17cGFuZVNlcGFyYXRvcjoicGFuZVNlcGFyYXRvci1haTlNWEo5ayIsaGFuZGxlOiJoYW5kbGUtYWk5TVhKOWsiLG1vYmlsZToibW9iaWxlLWFpOU1YSjlrIixob3ZlcmVkOiJob3ZlcmVkLWFpOU1YSjlrIixzZWxlY3RlZDoic2VsZWN0ZWQtYWk5TVhKOWsiLGFjdGl2ZToiYWN0aXZlLWFpOU1YSjlrIn19LDY5MjY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0ZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWU6KCk9PnJ9KTt2YXIgcz1pKDIzMjM2NCksbj1pKDU2OTM5OCk7Y2xhc3MgciBleHRlbmRzIHMuV2F0Y2hlZFZhbHVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZnVuY3Rpb24oZSl7cmV0dXJuKDAsbi5pc0ZlYXR1cmVFbmFibGVkKShlKX0oZSkpLCgwLG4ub25GZWF0dXJlc1N0YXRlQ2hhbmdlZCkoKS5zdWJzY3JpYmUodGhpcywodD0+e2U9PT10JiZ0aGlzLnNldFZhbHVlKCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoZSkpfSkpfWRlc3Ryb3koKXsoMCxuLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfX19LDE3OTc3MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtlbWl0OigpPT5oLGVtaXRPbmNlOigpPT5kLG9uOigpPT5sLHN1YnNjcmliZTooKT0+Yyx1bnN1YnNjcmliZTooKT0+YX0pO3ZhciBzPWkoOTQ4MzgwKTtjb25zdCBuPXt9LHI9W10sbz17fTtmdW5jdGlvbiBhKGUsdCxpKXtuW2VdLnVuc3Vic2NyaWJlKGksdCl9ZnVuY3Rpb24gbChlLHQsaSl7YyhlLHQsaSl9ZnVuY3Rpb24gYyhlLHQsaSxyKXtuLmhhc093blByb3BlcnR5KGUpfHwobltlXT1uZXcgcy5EZWxlZ2F0ZSksb1tlXT90LmNhbGwoaSk6bltlXS5zdWJzY3JpYmUoaSx0LHIpfWZ1bmN0aW9uIGgoZSwuLi50KXtjb25zdCBpPVtlXS5jb25jYXQodCk7ci5mb3JFYWNoKChlPT57ZS5hcHBseShudWxsLGkpfSkpLG4uaGFzT3duUHJvcGVydHkoZSkmJm5bZV0uZmlyZS5hcHBseShuW2VdLHQpfWZ1bmN0aW9uIGQoZSl7b1tlXSYmY29uc29sZS53YXJuKGBTb21ldGhpbmcgd2VudCB3cm9uZzogZW1pdE9uY2UgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHdpdGggc2FtZSBldmVudCAoJHtlfSlgKSxvW2VdPSEwLGguYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sNTA3Mjg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3B1c2hTdHJlYW1NdWx0aXBsZXhlcjooKT0+Yn0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoNjMyNjg2KSxyPWkoNzY4NzYwKSxvPWkoMTUwMTUwKSxhPWkoMzg2OTMxKSxsPWkoNTY5Mzk4KSxjPWkoMTUyNjk5KSxoPWkoOTMyMzY1KSxkPWkoMTU2ODUwKSx1PShpKDMwMDI4NiksaSgxMTczMTMpKSxwPWkoMjI0NDAwKSxfPWkoMjY5NTMxKSxtPWkoNjE1NzY5KSxnPWkoODQ4ODU1KTtjb25zdCBmPSgwLHMuZ2V0TG9nZ2VyKShwLmxvZ2dlclN1YnN5c3RlbUlkKSxTPXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLHVybFBhdGg6Im1lc3NhZ2UtcGlwZS13cyIsdHJhbnNwb3J0VHlwZTpwLlRyYW5zcG9ydFR5cGUuV2ViU29ja2V0fSx2PXt1cmw6d2luZG93LlBVU0hTVFJFQU1fVVJMLnJlcGxhY2UoIndzczovLyIsImh0dHBzOi8vIiksdXJsUGF0aDoibWVzc2FnZS1waXBlLWVzIix0cmFuc3BvcnRUeXBlOnAuVHJhbnNwb3J0VHlwZS5FdmVudFNvdXJjZX07Y2xhc3MgeXtjb25zdHJ1Y3Rvcigpe3ZhciBlO3RoaXMuZ3VpZD0oMCxvLmd1aWQpKCksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz1udWxsLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPW51bGwsdGhpcy5fc3RhdHVzSGFuZGxlcnM9W10sdGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9W10sdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPW51bGwsdGhpcy5fY2hhbm5lbE11bHRpcGxleGVyPW5ldyBfLkNoYW5uZWxNdWx0aXBsZXhlcix0aGlzLl94RXZlbnRQcmVmaXg9Im11bHRpcGxleGVyLWJjLSIsCnRoaXMuX3N0b3JhZ2VQcmVmaXg9InB1c2hTdHJlYW1NdWx0aXBsZXhlclN0YXRlLiIsdGhpcy5fdXNlckNoYW5uZWxQcmVmaXg9InByaXZhdGVfIix0aGlzLl9zdGF0dXNQdWJsaWM9bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCx0aGlzLl9zdGF0dXNQcml2YXRlPW4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQsdGhpcy5feEV2ZW50U2VuZD10aGlzLl94RXZlbnRQcmVmaXgrInNlbmQiLHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXM9dGhpcy5feEV2ZW50UHJlZml4KyJjb25uZWN0aW9uU3RhdHVzIix0aGlzLl94RXZlbnRSZWNvbm5lY3RDb21tYW5kPXRoaXMuX3hFdmVudFByZWZpeCsicmVjb25uZWN0Q29tbWFuZCIsdGhpcy5feEV2ZW50UmVjb25uZWN0U3VjY2Vzcz10aGlzLl94RXZlbnRQcmVmaXgrInJlY29ubmVjdFN1Y2Nlc3MiLHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzPXRoaXMuX3hFdmVudFByZWZpeCsicmVxdWVzdExvZ3MiLHRoaXMuX3hFdmVudFNoYXJlTG9ncz10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlTG9ncyIsdGhpcy5fc3RhdGU9bmV3IG0uTXVsdGlwbGV4ZXJTdGF0ZSx0aGlzLl9zaGFyZUxvZ3NLZXk9dGhpcy5fc3RvcmFnZVByZWZpeCsic2hhcmVMb2dzIix0aGlzLl9sb2NrTmFtZT0icHVzaHN0cmVhbSIsdGhpcy5fbG9ja1Byb21pc2U9KDAsci5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RTdWNjZXNzQ29tbWFuZEZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3RdPXRoaXMuX2RlY29kZVBhcmFtcyhlKTt0aGlzLl9jYWxsUmVjb25uZWN0SGFuZGxlcnModCl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZT0oZSx0LGkpPT57dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9PdGhlcnMoZSx0LGkpLHRoaXMuX2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSwhMSl9LHRoaXMuX2Rpc3BhdGNoTWVzc2FnZUZyb21PdGhlcj1lPT57aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpcmV0dXJuO2NvbnN0W3QsaSxzXT10aGlzLl9kZWNvZGVQYXJhbXMoZSk7dGhpcy5fZGlzcGF0Y2hNZXNzYWdlVG9TZWxmKHQsaSxzLCEwKX0sdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXI9ZT0+e2NvbnN0IHQ9dGhpcy5fZGVjb2RlQ29ubmVjdGlvblN0YXR1cyhlKSxpPXRbMF0scz10WzFdO3RoaXMub3duUHVzaFN0cmVhbSgpfHx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvU2VsZihpLHMpfSx0aGlzLl9kaXNwYXRjaFJlY29ubmVjdENvbW1hbmRGcm9tT3RoZXI9KCk9Pnt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5mb3JjZUNvbm5lY3QoKX0sdGhpcy5fb25SZXF1ZXN0TG9ncz0oKT0+e2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBlPXRoaXMuX2dldE93bkxvZ3MoKTtsZXQgdD0iIjt0cnl7dD1KU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtmLmxvZ0Vycm9yKCJGYWlsZWQgdG8gc3RyaW5naWZ5IG93biBwdXNoc3RyZWFtIGxvZ3MiKX1oLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5LHQpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLHQpfX0sdGhpcy5fb25TdGF0ZUNoYW5nZT0oZSx0LGkpPT57Y29uc3Qgcz0icHJpdmF0ZSI9PT10P3RoaXMuX3B1c2hTdHJlYW1Qcml2YXRlOnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM7ImFkZCI9PT1lP3M/LmFkZENoYW5uZWwoaSk6cz8ucmVtb3ZlQ2hhbm5lbChpKX0sdGhpcy5fb25OZXdUYWJDcmVhdGU9KCk9Pnt0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZVRvT3RoZXJzKHRoaXMuX3N0YXR1c1B1YmxpYyx0aGlzLl9zdGF0dXNQcml2YXRlKX0sKDAsZy53ZWJMb2NrRW5hYmxlZCkoKT9uYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0aGlzLl9sb2NrTmFtZSwoYXN5bmMoKT0+KHRoaXMuX3N0YXRlLm9uU3RhdGVDaGFuZ2UodGhpcy5fb25TdGF0ZUNoYW5nZSksdGhpcy5fc3RhdGUub25UYWJDcmVhdGUodGhpcy5fb25OZXdUYWJDcmVhdGUpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja1Byb21pc2UucHJvbWlzZSkpKToodGhpcy5fc3RhdGUub25TdGF0ZUNoYW5nZSh0aGlzLl9vblN0YXRlQ2hhbmdlKSx0aGlzLl9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKSksYy5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2VuZCx0aGlzLl9kaXNwYXRjaE1lc3NhZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENvbm5lY3Rpb25TdGF0dXMsdGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQsdGhpcy5fZGlzcGF0Y2hSZWNvbm5lY3RDb21tYW5kRnJvbU90aGVyKSxjLlRWWFdpbmRvd0V2ZW50cy5vbih0aGlzLl94RXZlbnRSZWNvbm5lY3RTdWNjZXNzLHRoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmRGcm9tT3RoZXIpLGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzLHRoaXMuX29uUmVxdWVzdExvZ3MpLGU9KCk9Pnt3aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2hhbmdlTG9naW5TdGF0ZSl9LCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/ZSgpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUpfW9uKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9uKGUsdCl9b2ZmKGUsdCl7dGhpcy5fY2hhbm5lbE11bHRpcGxleGVyLm9mZihlLHQpfW9uU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzLnB1c2goe2hhbmRsZXI6ZSxpc1ByaXZhdGU6ITF9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQdWJsaWMpKSwwKX1vblByaXZhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzSGFuZGxlcnMucHVzaCh7aGFuZGxlcjplLAppc1ByaXZhdGU6ITB9KSxzZXRUaW1lb3V0KCgoKT0+ZSh0aGlzLl9zdGF0dXNQcml2YXRlKSksMCl9b25SZWNvbm5lY3QoZSx0PSExKXt0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5wdXNoKHtoYW5kbGVyOmUsaXNQcml2YXRlOnR9KX1vZmZSZWNvbm5lY3QoZSl7dGhpcy5fcmVjb25uZWN0SGFuZGxlcnM9dGhpcy5fcmVjb25uZWN0SGFuZGxlcnMuZmlsdGVyKCh0PT50LmhhbmRsZXIhPT1lKSl9b2ZmU3RhdHVzKGUpe3RoaXMuX3N0YXR1c0hhbmRsZXJzPXRoaXMuX3N0YXR1c0hhbmRsZXJzLmZpbHRlcigodD0+dC5oYW5kbGVyIT09ZSkpfWZvcmNlQ29ubmVjdCgpe2YubG9nTm9ybWFsKGBDcmVhdGluZyBwdXNoc3RyZWFtIGNvbm5lY3Rpb24gYWZ0ZXIgZm9yY2UgY29ubmVjdC4gTWFpbiB0YWI6ICR7dGhpcy5vd25QdXNoU3RyZWFtKCl9YCksdGhpcy5vd25QdXNoU3RyZWFtKCk/KHRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmRpc2Nvbm5lY3QoKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uZGlzY29ubmVjdCgpLHRoaXMuX2luc3RhbnRpYXRlUHVzaFN0cmVhbSgpKTpjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdENvbW1hbmQpfWRpc2Nvbm5lY3QoKXt0aGlzLm93blB1c2hTdHJlYW0oKSYmdGhpcy5fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl9Z2V0TG9ncyhlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pntjb25zdCBpPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgZT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fc2hhcmVMb2dzS2V5KTt0KG51bGwhPT1lP0pTT04ucGFyc2UoZSk6W10pfSksMWUzKSxzPWU9PntsZXQgbjtjLlRWWFdpbmRvd0V2ZW50cy5vZmYodGhpcy5feEV2ZW50U2hhcmVMb2dzLHMpLGMuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2hhcmVMb2dzLCIiKSxjbGVhclRpbWVvdXQoaSk7dHJ5e249SlNPTi5wYXJzZShlKX1jYXRjaChlKXtuPVtdLGYubG9nRXJyb3IoIkZhaWxlZCB0byBwYXJzZSBsb2dzIHJlY2VpdmVkIGZyb20gbWFzdGVyIHRhYiIpfXQobil9O3RoaXMub3duUHVzaFN0cmVhbSgpP3QodGhpcy5fZ2V0T3duTG9ncyhlKSk6KGMuVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudFNoYXJlTG9ncyxzKSxjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlcXVlc3RMb2dzKSl9KSl9b3duUHVzaFN0cmVhbSgpe3JldHVybiEhdGhpcy5fcHVzaFN0cmVhbVB1YmxpY3x8ISF0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZX1wdXNoU3RyZWFtKCl7aWYoIXRoaXMub3duUHVzaFN0cmVhbSgpKXRocm93IG5ldyBFcnJvcigiTm90IG93biBQdXNoU3RyZWFtIik7cmV0dXJuIHRoaXMuX3B1c2hTdHJlYW1QdWJsaWN9aXNDb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdHVzUHVibGljPjB9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1B1YmxpYz8/bi5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZH1zdGF0dXNQcml2YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ByaXZhdGU/P24uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWR9dXNlckNoYW5uZWwoKXtpZighdGhpcy5fdXNlclByaXZhdGVDaGFubmVsKXRocm93IG5ldyBFcnJvcigiTm8gdXNlciBjaGFubmVsIik7cmV0dXJuIHRoaXMuX3VzZXJDaGFubmVsKHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCl9YWRkQ2hhbm5lbChlKXt0aGlzLl9zdGF0ZS5hZGRDaGFubmVsKGUuc3RhcnRzV2l0aCh0aGlzLl91c2VyQ2hhbm5lbFByZWZpeCk/InByaXZhdGUiOiJwdWJsaWMiLGUpfXJlbW92ZUNoYW5uZWwoZSl7dGhpcy5fc3RhdGUucmVtb3ZlQ2hhbm5lbChlLnN0YXJ0c1dpdGgodGhpcy5fdXNlckNoYW5uZWxQcmVmaXgpPyJwcml2YXRlIjoicHVibGljIixlKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHkpLHRoaXMuX2luc3RhbmNlfV91c2VyQ2hhbm5lbChlKXtyZXR1cm4gdGhpcy5fdXNlckNoYW5uZWxQcmVmaXgrZX1fY29kZVBhcmFtcyhlKXtjb25zdCB0PVsuLi5lXTtyZXR1cm4gdC5wdXNoKChuZXcgRGF0ZSkuZ2V0VGltZSgpKSxKU09OLnN0cmluZ2lmeSh0KX1fZGVjb2RlUGFyYW1zKGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gdC5wb3AoKSx0fV9pbnN0YW50aWF0ZVB1c2hTdHJlYW0oKXt0aGlzLl9wdXNoU3RyZWFtUHVibGljJiYoKDAsYS50cmFja0V2ZW50KSgiUHVzaHN0cmVhbURvdWJsZVB1YmxpYyIsd2luZG93LnVzZXImJndpbmRvdy51c2VyLnVzZXJuYW1lfHwiR3Vlc3QiLG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuZGlzY29ubmVjdCgpKTtjb25zdCBlPXsuLi50aGlzLl9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKSx0ZWxlbWV0cnlFbmFibGVkOigpPT4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSIpfTt0aGlzLl9wdXNoU3RyZWFtUHVibGljPW5ldyBwLlB1c2hTdHJlYW0odGhpcy5fZGlzcGF0Y2hNZXNzYWdlLGUpLHRoaXMuX3B1c2hTdHJlYW1QdWJsaWMuY29ubmVjdGlvblN0YXR1cygpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdGhpcy5fc3RhdHVzUHJpdmF0ZSl9KSksdGhpcy5fcHVzaFN0cmVhbVB1YmxpYy5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZSYmKCgwLGEudHJhY2tFdmVudCkoIlB1c2hzdHJlYW1Eb3VibGVQcml2YXRlIix3aW5kb3cudXNlciYmd2luZG93LnVzZXIudXNlcm5hbWV8fCJHdWVzdCIsbmF2aWdhdG9yLnVzZXJBZ2VudCksdGhpcy5fcHVzaFN0cmVhbVByaXZhdGUuZGlzY29ubmVjdCgpKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1uZXcgcC5QdXNoU3RyZWFtKHRoaXMuX2Rpc3BhdGNoTWVzc2FnZSx7Li4uZSxtYXhTaXplOjF9KSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5jb25uZWN0aW9uU3RhdHVzKCkuc3Vic2NyaWJlKChlPT57CnRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKHRoaXMuX3N0YXR1c1B1YmxpYyxlKX0pKSx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZS5yZWNvbm5lY3RFdmVudCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoITApfSkpLHRoaXMub24oInB1c2hzdHJlYW1fc2V0X3VzZXJfY2hhbm5lbCIsKGU9Pnt0aGlzLl9zZXRVc2VyQ2hhbm5lbChlKX0pKSx0aGlzLl9jb25uZWN0Q2hhbm5lbHMoKX1fZGVzdHJ1Y3RQdXNoU3RyZWFtKCl7Y29uc3QgZT10aGlzLl9wdXNoU3RyZWFtUHVibGljO3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM9bnVsbCxlPy5kaXNjb25uZWN0KCk7Y29uc3QgdD10aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZTt0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT1udWxsLHQ/LmRpc2Nvbm5lY3QoKSx0aGlzLl9kaXNwYXRjaFN0YXR1c0NoYW5nZUZyb21PdGhlcih0aGlzLl9jb2RlUGFyYW1zKFtuLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkLG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWRdKSl9X2Nvbm5lY3RDaGFubmVscygpe3RoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoInB1YmxpYyIpO2NvbnN0IGU9dGhpcy5fc3RhdGUuY29sbGVjdFB1c2hTdHJlYW1DaGFubmVscygicHVibGljIik7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmZS5tYXAoKGU9PnRoaXMuX3B1c2hTdHJlYW1QdWJsaWM/LmFkZENoYW5uZWwoZSkpKSwiaXNfYXV0aGVudGljYXRlZCJpbiB3aW5kb3c/dGhpcy5fY29ubmVjdFVzZXJDaGFubmVsSW5pdGlhbCghMCk6d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Nvbm5lY3RVc2VyQ2hhbm5lbEluaXRpYWwpLHRoaXMuX2lzUHVibGljUHVzaHN0cmVhbUVuYWJsZWQoKSYmdGhpcy5fcHVzaFN0cmVhbVB1YmxpYz8uY29ubmVjdCgpfV9nZXRQdXNoU3RyZWFtU2V0dGluZ3MoKXtyZXR1cm4oMCx1LmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iik/KDAsbC5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2V2ZW50c291cmNlX3B1c2hzdHJlYW1fbW9iaWxlIik/djpTOigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9ldmVudHNvdXJjZV9wdXNoc3RyZWFtX3RyYW5zcG9ydCIpP3Y6U31faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpe3JldHVybigwLHUuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8ISgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfcHVzaHN0cmVhbV9jb25uZWN0aW9uc19mb3JfYW5vbnltb3VzX3VzZXJzIil8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHx3aW5kb3cuVHJhZGluZ1ZpZXc/Lm9uQ2hhcnRQYWdlfV9jb25uZWN0VXNlckNoYW5uZWxJbml0aWFsKGUpe2UmJih3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8odGhpcy5fdXNlclByaXZhdGVDaGFubmVsPXdpbmRvdy51c2VyLnByaXZhdGVfY2hhbm5lbD8/bnVsbCx0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpOnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKX1fY2hhbmdlTG9naW5TdGF0ZShlKXtlfHwodGhpcy5faXNQdWJsaWNQdXNoc3RyZWFtRW5hYmxlZCgpJiZ0aGlzLl9wdXNoU3RyZWFtUHVibGljPy5jb25uZWN0KCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD13aW5kb3cudXNlci5wcml2YXRlX2NoYW5uZWw/P251bGwsdGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8uYWRkQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5jb25uZWN0KCkpKToodGhpcy5vd25QdXNoU3RyZWFtKCkmJih0aGlzLl9wdXNoU3RyZWFtUHJpdmF0ZT8ucmVtb3ZlQ2hhbm5lbCh0aGlzLnVzZXJDaGFubmVsKCkpLHRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5kaXNjb25uZWN0KCkpLHRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbD1udWxsKSl9X3NldFVzZXJDaGFubmVsKGUpe2YubG9nTm9ybWFsKCJTZXQgdXNlciBjaGFubmVsICIrZSksZSE9PXRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmKHRoaXMub3duUHVzaFN0cmVhbSgpJiZ0aGlzLl91c2VyUHJpdmF0ZUNoYW5uZWwmJnRoaXMuX3B1c2hTdHJlYW1Qcml2YXRlPy5yZW1vdmVDaGFubmVsKHRoaXMudXNlckNoYW5uZWwoKSksdGhpcy5fdXNlclByaXZhdGVDaGFubmVsPWUsdGhpcy5vd25QdXNoU3RyZWFtKCkmJnRoaXMuX3VzZXJQcml2YXRlQ2hhbm5lbCYmdGhpcy5fcHVzaFN0cmVhbVByaXZhdGU/LmFkZENoYW5uZWwodGhpcy51c2VyQ2hhbm5lbCgpKSl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlKGUsdCl7dGhpcy5fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpLHRoaXMuX2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl9X2Rpc3BhdGNoU3RhdHVzQ2hhbmdlVG9TZWxmKGUsdCl7ZSE9PXRoaXMuX3N0YXR1c1B1YmxpYyYmKHRoaXMuX3N0YXR1c1B1YmxpYz1lLHRoaXMuX2NhbGxTdGF0dXNIYW5kbGVycyhlLCExKSksdCE9PXRoaXMuX3N0YXR1c1ByaXZhdGUmJih0aGlzLl9zdGF0dXNQcml2YXRlPXQsdGhpcy5fY2FsbFN0YXR1c0hhbmRsZXJzKHQsITApKX1fY2FsbFN0YXR1c0hhbmRsZXJzKGUsdCl7Zi5sb2dOb3JtYWwoIkNvbm5lY3Rpb24gc3RhdHVzIGNoYW5nZTogIitlKyIsIHByaXZhdGUgIit0KyIsIGlzIG1haW4gdGFiICIrdGhpcy5vd25QdXNoU3RyZWFtKCkpLGQudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInNpdGUiLCJwdXNoc3RyZWFtX3N0YXR1c19jaGFuZ2UiKSx0aGlzLl9zdGF0dXNIYW5kbGVycy5mb3JFYWNoKChpPT57aS5pc1ByaXZhdGU9PT10JiZpLmhhbmRsZXIoZSl9KSl9X2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKXtmLmxvZ05vcm1hbCgiUmVjb25uZWN0aW9uIGhhcyBiZWVuIG1hZGUiKSx0aGlzLl9yZWNvbm5lY3RIYW5kbGVycy5mb3JFYWNoKCh0PT57dC5pc1ByaXZhdGU9PT1lJiZ0LmhhbmRsZXIoKX0pKX0KX2Rpc3BhdGNoUmVjb25uZWN0U3VjY2Vzc0NvbW1hbmQoZT0hMSl7aWYodGhpcy5vd25QdXNoU3RyZWFtKCkpe3RoaXMuX2NhbGxSZWNvbm5lY3RIYW5kbGVycyhlKTtjb25zdCB0PXRoaXMuX2NvZGVQYXJhbXMoW2VdKTtjLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudFJlY29ubmVjdFN1Y2Nlc3MsdCl9fV9kZWNvZGVDb25uZWN0aW9uU3RhdHVzKGUpe2NvbnN0IHQ9cGFyc2VJbnQoZSwxMCk7cmV0dXJuIGlzTmFOKHQpP3RoaXMuX2RlY29kZVBhcmFtcyhlKTpbdCx0XX1fZGlzcGF0Y2hTdGF0dXNDaGFuZ2VUb090aGVycyhlLHQpe2lmKHRoaXMub3duUHVzaFN0cmVhbSgpKXtjb25zdCBpPXRoaXMuX2NvZGVQYXJhbXMoW2UsdF0pO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50Q29ubmVjdGlvblN0YXR1cyxpKX19X2Rpc3BhdGNoTWVzc2FnZVRvU2VsZihlLHQsaSxzKXtjb25zdCBuPWUuY2hhbm5lbCxyPWUuY29udGVudDt0aGlzLl9lbWl0KHIsdCxuLHMpfV9kaXNwYXRjaE1lc3NhZ2VUb090aGVycyhlLHQsaSl7Y29uc3Qgcz1bZSx0LGldO2MuVFZYV2luZG93RXZlbnRzLmVtaXQodGhpcy5feEV2ZW50U2VuZCx0aGlzLl9jb2RlUGFyYW1zKHMpKX1fZW1pdChlLHQsaSxzKXt0aGlzLl9jaGFubmVsTXVsdGlwbGV4ZXIuZW1pdChlLHQsaSxzKX1fZ2V0T3duTG9ncyhlKXtpZih0aGlzLm93blB1c2hTdHJlYW0oKSl7Y29uc3QgdD0oMCxzLmdldFJhd0xvZ0hpc3RvcnkpKGUscC5sb2dnZXJTdWJzeXN0ZW1JZCksaT10aGlzLnB1c2hTdHJlYW0oKT8uZ2V0TG9ncygpO3JldHVybltdLmNvbmNhdCh0LGk/P1tdKX1yZXR1cm5bXX19eS5faW5zdGFuY2U9bnVsbDtjb25zdCBiPXkuZ2V0SW5zdGFuY2UoKX0sODU2MTk2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3VsZEFmZmVjdFVzZXI6KCk9Pmx9KTt2YXIgcz1pKDEwMDU5NSksbj1pLm4ocykscj1pKDkzMjM2NSk7Y29uc3Qgbz0iZmVhdHVyZXRvZ2dsZV9zZWVkIjtmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PW4oKShlK2Z1bmN0aW9uKCl7aWYod2luZG93LnVzZXImJndpbmRvdy51c2VyLmlkKXJldHVybiB3aW5kb3cudXNlci5pZDtjb25zdCBlPXIuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PU1hdGguZmxvb3IoMWU2Kk1hdGgucmFuZG9tKCkpO3JldHVybiByLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obyxgJHt0fWApLHR9KCkpLGk9bmV3IERhdGFWaWV3KHQpO3JldHVybiBpLmdldFVpbnQzMigwLCEwKS80Mjk0OTY3Mjk2fWNhdGNoKGUpe3JldHVybi41fX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuIGEoZSk8PXR9fSwxNTI2OTkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZYV2luZG93RXZlbnRzOigpPT5vLGdldFNjb3BlZFRWWFdpbmRvd0V2ZW50czooKT0+YX0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoOTMyMzY1KTtjb25zdCByPSgwLHMuZ2V0TG9nZ2VyKSgiWFdpbmRvd0V2ZW50cyIpO3ZhciBvO2Z1bmN0aW9uIGEoZSl7cmV0dXJue29uOih0LGkpPT5vLm9uKGAke2V9LiR7dH1gLGkpLG9mZjoodCxpKT0+by5vZmYoYCR7ZX0uJHt0fWAsaSksZW1pdDoodCxpKT0+by5lbWl0KGAke2V9LiR7dH1gLGkpfX0hZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLGk9e307bGV0IHM7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KHM9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOnN9fT1lO2lbdF0mJmlbdF0uZm9yRWFjaCgoZT0+e2Uocyl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLGk9cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBpPTA7aTxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtpKyspe2NvbnN0IHM9bi5UVkxvY2FsU3RvcmFnZS5rZXkoaSk7cy5zdGFydHNXaXRoKHQpJiZlLnB1c2gocyl9Y29uc3Qgcz1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpLWk7ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke3N9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke299IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6cyxrZXk6cn09ZTtpZihudWxsPT09c3x8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IG89ci5zdWJzdHJpbmcoMTEpO2lbb10mJmlbb10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtpW2VdfHwoaVtlXT1bXSksaVtlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFpW2VdKXJldHVybjtjb25zdCBzPWlbZV0uaW5kZXhPZih0KTstMSE9PXMmJigxPT09aVtlXS5sZW5ndGg/ZGVsZXRlIGlbZV06aVtlXS5zcGxpY2UocywxKSl9LGUuZW1pdD1mdW5jdGlvbihlLGk9RGF0ZS5ub3coKSl7dHJ5e3M/cy5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTppfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxpLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShvfHwobz17fSkpfSw3NjgzMDUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cG9pbnRJbkJveDooKT0+cixwb2ludEluQ2lyY2xlOigpPT5hLHBvaW50SW5Qb2x5Z29uOigpPT5vLHBvaW50SW5UcmlhbmdsZTooKT0+bn0pO3ZhciBzPWkoMzUxOTAwKTtmdW5jdGlvbiBuKGUsdCxpLG4pewpjb25zdCByPXQuYWRkKGkpLnNjYWxlZCguNSkuYWRkKG4pLnNjYWxlZCguNSk7bGV0IG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKHQsaSxyLGUpO3JldHVybiBudWxsPT09byYmKG89KDAscy5pbnRlcnNlY3RMaW5lU2VnbWVudHMpKGksbixyLGUpLG51bGw9PT1vJiYobz0oMCxzLmludGVyc2VjdExpbmVTZWdtZW50cykobix0LHIsZSksbnVsbD09PW8pKX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuIGUueD49dC5taW4ueCYmZS54PD10Lm1heC54JiZlLnk+PXQubWluLnkmJmUueTw9dC5tYXgueX1mdW5jdGlvbiBvKGUsdCl7bGV0IGk9dC5sZW5ndGgtMSxzPSExO2NvbnN0IG49ZS54LHI9ZS55O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0sYT10W2ldOyhvLnk8ciYmYS55Pj1yfHxhLnk8ciYmby55Pj1yKSYmby54KyhyLW8ueSkvKGEueS1vLnkpKihhLngtby54KTxuJiYocz0hcyksaT1lfXJldHVybiBzfWZ1bmN0aW9uIGEoZSx0LGkpe3JldHVybihlLngtdC54KSooZS54LXQueCkrKGUueS10LnkpKihlLnktdC55KTw9aSppfX0sNzAwNzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtjb25zdCBzPXQuc3VidHJhY3QoZSksbj1pLnN1YnRyYWN0KGUpLmRvdFByb2R1Y3Qocykvcy5kb3RQcm9kdWN0KHMpO3JldHVybntjb2VmZjpuLGRpc3RhbmNlOmUuYWRkU2NhbGVkKHMsbikuc3VidHJhY3QoaSkubGVuZ3RoKCl9fWZ1bmN0aW9uIG4oZSx0LGkpe2NvbnN0IG49cyhlLHQsaSk7aWYoMDw9bi5jb2VmZiYmbi5jb2VmZjw9MSlyZXR1cm4gbjt7Y29uc3Qgcz1lLnN1YnRyYWN0KGkpLmxlbmd0aCgpLG49dC5zdWJ0cmFjdChpKS5sZW5ndGgoKTtyZXR1cm4gczxuP3tjb2VmZjowLGRpc3RhbmNlOnN9Ontjb2VmZjoxLGRpc3RhbmNlOm59fX1pLmQodCx7ZGlzdGFuY2VUb0xpbmU6KCk9PnMsZGlzdGFuY2VUb1NlZ21lbnQ6KCk9Pm59KX0sMzUxOTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2ludGVyc2VjdExpbmVBbmRCb3g6KCk9PmgsaW50ZXJzZWN0TGluZVNlZ21lbnRBbmRCb3g6KCk9Pm8saW50ZXJzZWN0TGluZVNlZ21lbnRzOigpPT5sLGludGVyc2VjdExpbmVzOigpPT5hLGludGVyc2VjdFBvbHlnb25BbmRIYWxmcGxhbmU6KCk9PnAsaW50ZXJzZWN0UmF5QW5kQm94OigpPT5kfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MzY1MzEpLHI9aSg3MDA3NCk7ZnVuY3Rpb24gbyhlLHQpe2xldCBpPWVbMF0ueCxzPWVbMF0ueSxyPWVbMV0ueCxvPWVbMV0ueTtjb25zdCBhPXQubWluLngsbD10Lm1pbi55LGM9dC5tYXgueCxoPXQubWF4Lnk7bGV0IGQ7ZnVuY3Rpb24gdShlLHQsaSxzLG4scil7bGV0IG89ZC5JbnNpZGU7cmV0dXJuIGU8aT9vfD1kLkxlZnQ6ZT5uJiYob3w9ZC5SaWdodCksdDxzP298PWQuQm90dG9tOnQ+ciYmKG98PWQuVG9wKSxvfSFmdW5jdGlvbihlKXtlW2UuSW5zaWRlPTBdPSJJbnNpZGUiLGVbZS5MZWZ0PTFdPSJMZWZ0IixlW2UuUmlnaHQ9Ml09IlJpZ2h0IixlW2UuQm90dG9tPTRdPSJCb3R0b20iLGVbZS5Ub3A9OF09IlRvcCJ9KGR8fChkPXt9KSk7bGV0IHA9dShpLHMsYSxsLGMsaCksXz11KHIsbyxhLGwsYyxoKSxtPSExLGc9MDtmb3IoOzspe2lmKGc+MWUzKXRocm93IG5ldyBFcnJvcigiQ29oZW4gLSBTdXRoZXJsYW5kIGFsZ29yaXRobTogaW5maW5pdHkgbG9vcCIpO2lmKGcrKywhKHB8Xykpe209ITA7YnJlYWt9aWYocCZfKWJyZWFrO3tjb25zdCBlPXB8fF87bGV0IHQsbjtlJmQuVG9wPyh0PWkrKHItaSkqKGgtcykvKG8tcyksbj1oKTplJmQuQm90dG9tPyh0PWkrKHItaSkqKGwtcykvKG8tcyksbj1sKTplJmQuUmlnaHQ/KG49cysoby1zKSooYy1pKS8oci1pKSx0PWMpOihuPXMrKG8tcykqKGEtaSkvKHItaSksdD1hKSxlPT09cD8oaT10LHM9bixwPXUoaSxzLGEsbCxjLGgpKToocj10LG89bixfPXUocixvLGEsbCxjLGgpKX19cmV0dXJuIG0/KDAsbi5lcXVhbFBvaW50cykoKDAsbi5wb2ludCkoaSxzKSwoMCxuLnBvaW50KShyLG8pKT8oMCxuLnBvaW50KShpLHMpOigwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGkscyksKDAsbi5wb2ludCkocixvKSk6bnVsbH1mdW5jdGlvbiBhKGUsdCl7Y29uc3QgaT1lLkEscz10LkEscj1lLkIsbz10LkIsYT1lLkMsbD10LkMsYz1pKm8tcypyO2lmKE1hdGguYWJzKGMpPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgaD0ocipsLW8qYSkvYyxkPShzKmEtaSpsKS9jO3JldHVybiBuZXcgbi5Qb2ludChoLGQpfWZ1bmN0aW9uIGwoZSx0LGkscyl7Y29uc3Qgbj1mdW5jdGlvbihlLHQsaSxzKXtjb25zdCBuPXQuc3VidHJhY3QoZSkscj1zLnN1YnRyYWN0KGkpLG89bi54KnIueS1uLnkqci54O2lmKE1hdGguYWJzKG8pPDFlLTYpcmV0dXJuIG51bGw7Y29uc3QgYT1lLnN1YnRyYWN0KGkpO3JldHVybihhLnkqci54LWEueCpyLnkpL299KGUsdCxpLHMpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0IG89dC5zdWJ0cmFjdChlKS5zY2FsZWQobikuYWRkKGUpLGE9KDAsci5kaXN0YW5jZVRvU2VnbWVudCkoaSxzLG8pO3JldHVybiBNYXRoLmFicyhhLmRpc3RhbmNlKTwxZS02P246bnVsbH1mdW5jdGlvbiBjKGUsdCl7Zm9yKGNvbnN0IGkgb2YgZSlpZigoMCxuLmVxdWFsUG9pbnRzKShpLHQpKXJldHVybiExO3JldHVybiBlLnB1c2godCksITB9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5taW4ueCxyPXQubWluLnksbz10Lm1heC54LGE9dC5tYXgueTtpZigwPT09ZS5BKXtjb25zdCB0PS1lLkMvZS5CO3JldHVybiByPD10JiZ0PD1hPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKGksdCksKDAsbi5wb2ludCkobyx0KSk6bnVsbH1pZigwPT09ZS5CKXtjb25zdCB0PS1lLkMvZS5BO3JldHVybiBpPD10JiZ0PD1vPygwLG4ubGluZVNlZ21lbnQpKCgwLG4ucG9pbnQpKHQsciksKDAsbi5wb2ludCkodCxhKSk6bnVsbH17Y29uc3QgdD1bXSxsPWk9Pntjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlLkMrZS5BKnQpL2UuQn0oZSxpKTtyPD1zJiZzPD1hJiZjKHQsbmV3IG4uUG9pbnQoaSxzKSl9LGg9cz0+e2NvbnN0IHI9ZnVuY3Rpb24oZSx0KXsKcmV0dXJuLShlLkMrZS5CKnQpL2UuQX0oZSxzKTtpPD1yJiZyPD1vJiZjKHQsbmV3IG4uUG9pbnQocixzKSl9O3N3aXRjaChsKGkpLGgociksbChvKSxoKGEpLHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiB0WzBdO2Nhc2UgMjpyZXR1cm4oMCxuLmVxdWFsUG9pbnRzKSh0WzBdLHRbMV0pP3RbMF06KDAsbi5saW5lU2VnbWVudCkodFswXSx0WzFdKX1yZXR1cm4oMCxzLmFzc2VydCkoITEsIldlIHNob3VsZCBoYXZlIGF0IG1vc3QgdHdvIGludGVyc2VjdGlvbiBwb2ludHMiKSxudWxsfX1mdW5jdGlvbiBkKGUsdCxpKXtjb25zdCBzPWwoZSx0LGkubWluLG5ldyBuLlBvaW50KGkubWF4LngsaS5taW4ueSkpLHI9bChlLHQsbmV3IG4uUG9pbnQoaS5tYXgueCxpLm1pbi55KSxpLm1heCksbz1sKGUsdCxpLm1heCxuZXcgbi5Qb2ludChpLm1pbi54LGkubWF4LnkpKSxhPWwoZSx0LG5ldyBuLlBvaW50KGkubWluLngsaS5tYXgueSksaS5taW4pLGM9W107aWYobnVsbCE9PXMmJnM+PTAmJmMucHVzaChzKSxudWxsIT09ciYmcj49MCYmYy5wdXNoKHIpLG51bGwhPT1vJiZvPj0wJiZjLnB1c2gobyksbnVsbCE9PWEmJmE+PTAmJmMucHVzaChhKSwwPT09Yy5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgaD1NYXRoLm1heCguLi5jKTtyZXR1cm4gZS5hZGRTY2FsZWQodC5zdWJ0cmFjdChlKSxoKX1mdW5jdGlvbiB1KGUsdCl7cmV0dXJuIShlLmxlbmd0aD4wJiYoKDAsbi5lcXVhbFBvaW50cykoZVtlLmxlbmd0aC0xXSx0KXx8KDAsbi5lcXVhbFBvaW50cykoZVswXSx0KSkpJiYoZS5wdXNoKHQpLCEwKX1mdW5jdGlvbiBwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl7Y29uc3Qgcj1lW3NdLG89ZVsocysxKSVlLmxlbmd0aF0sbD0oMCxuLmxpbmVUaHJvdWdoUG9pbnRzKShyLG8pO2lmKCgwLG4ucG9pbnRJbkhhbGZwbGFuZSkocix0KSl7aWYodShpLHIpLCEoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19ZWxzZSBpZigoMCxuLnBvaW50SW5IYWxmcGxhbmUpKG8sdCkpe2NvbnN0IGU9YShsLHQuZWRnZSk7bnVsbCE9PWUmJnUoaSxlKX19cmV0dXJuIGkubGVuZ3RoPj0zP2k6bnVsbH19LDczNjUzMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQb2ludDooKT0+cyxib3g6KCk9PmQsZXF1YWxQb2ludHM6KCk9PnIsaGFsZnBsYW5lVGhyb3VnaFBvaW50OigpPT5jLGxpbmU6KCk9Pm8sbGluZVNlZ21lbnQ6KCk9PmwsbGluZVRocm91Z2hQb2ludHM6KCk9PmEscG9pbnQ6KCk9Pm4scG9pbnRJbkhhbGZwbGFuZTooKT0+aH0pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLng9ZSx0aGlzLnk9dH1hZGQoZSl7cmV0dXJuIG5ldyBzKHRoaXMueCtlLngsdGhpcy55K2UueSl9YWRkU2NhbGVkKGUsdCl7cmV0dXJuIG5ldyBzKHRoaXMueCt0KmUueCx0aGlzLnkrdCplLnkpfXN1YnRyYWN0KGUpe3JldHVybiBuZXcgcyh0aGlzLngtZS54LHRoaXMueS1lLnkpfWRvdFByb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLngrdGhpcy55KmUueX1jcm9zc1Byb2R1Y3QoZSl7cmV0dXJuIHRoaXMueCplLnktdGhpcy55KmUueH1zaWduZWRBbmdsZShlKXtyZXR1cm4gTWF0aC5hdGFuMih0aGlzLmNyb3NzUHJvZHVjdChlKSx0aGlzLmRvdFByb2R1Y3QoZSkpfWFuZ2xlKGUpe3JldHVybiBNYXRoLmFjb3ModGhpcy5kb3RQcm9kdWN0KGUpLyh0aGlzLmxlbmd0aCgpKmUubGVuZ3RoKCkpKX1sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSl9c2NhbGVkKGUpe3JldHVybiBuZXcgcyh0aGlzLngqZSx0aGlzLnkqZSl9bm9ybWFsaXplZCgpe3JldHVybiB0aGlzLnNjYWxlZCgxL3RoaXMubGVuZ3RoKCkpfXRyYW5zcG9zZWQoKXtyZXR1cm4gbmV3IHMoLXRoaXMueSx0aGlzLngpfWNsb25lKCl7cmV0dXJuIG5ldyBzKHRoaXMueCx0aGlzLnkpfX1mdW5jdGlvbiBuKGUsdCl7cmV0dXJuIG5ldyBzKGUsdCl9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlLng9PT10LngmJmUueT09PXQueX1mdW5jdGlvbiBvKGUsdCxpKXtpZigwPT09ZSYmMD09PXQpdGhyb3cgbmV3IEVycm9yKCJBIGFuZCBCIGNhbiBub3QgYmUgYm90aCBlcXVhbCB0byB6ZXJvLiIpO3JldHVybntBOmUsQjp0LEM6aX19ZnVuY3Rpb24gYShlLHQpe2lmKHIoZSx0KSl0aHJvdyBuZXcgRXJyb3IoIlBvaW50cyBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm4gbyhlLnktdC55LHQueC1lLngsZS54KnQueS10LngqZS55KX1mdW5jdGlvbiBsKGUsdCl7aWYocihlLHQpKXRocm93IG5ldyBFcnJvcigiUG9pbnRzIG9mIGEgc2VnbWVudCBzaG91bGQgYmUgZGlzdGluY3QiKTtyZXR1cm5bZSx0XX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJue2VkZ2U6ZSxpc1Bvc2l0aXZlOnR9fShlLGUuQSp0LngrZS5CKnQueStlLkM+MCl9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9dC5lZGdlO3JldHVybiBpLkEqZS54K2kuQiplLnkraS5DPjA9PT10LmlzUG9zaXRpdmV9ZnVuY3Rpb24gZChlLHQpe3JldHVybnttaW46bihNYXRoLm1pbihlLngsdC54KSxNYXRoLm1pbihlLnksdC55KSksbWF4Om4oTWF0aC5tYXgoZS54LHQueCksTWF0aC5tYXgoZS55LHQueSkpfX19LDEzNDY3KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FyZUVxdWFsUmdiOigpPT51LGFyZUVxdWFsUmdiYTooKT0+XyxibGVuZFJnYmE6KCk9PncsZGlzdGFuY2VSZ2I6KCk9PnksaHNsVG9SZ2I6KCk9PlMsaW52ZXJ0UmdiOigpPT5iLG5vcm1hbGl6ZUFscGhhQ29tcG9uZW50OigpPT5oLHBhcnNlUmdiOigpPT5PLHBhcnNlUmdiYTooKT0+RixyZ2I6KCk9PmQscmdiVG9CbGFja1doaXRlU3RyaW5nOigpPT5CLHJnYlRvSGV4U3RyaW5nOigpPT5ELHJnYlRvSHNsOigpPT5nLHJnYmE6KCk9PnAscmdiYVRvU3RyaW5nOigpPT5WLHNoaWZ0Q29sb3I6KCk9PlQsc2hpZnRSZ2I6KCk9PkMsc2hpZnRSZ2JhOigpPT5QLHRyeVBhcnNlUmdiOigpPT5OLHRyeVBhcnNlUmdiYTooKT0+V30pO3ZhciBzPWkoNjAxODQxKSxuPWkoODMwNzgzKQo7ZnVuY3Rpb24gcihlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQodCl9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuKDAscy5pc05hTikodCl8fHQ8ZT9lOnQ+aT9pOk1hdGgucm91bmQoMWU0KnQpLzFlNH1mdW5jdGlvbiBhKGUpe3JldHVybiByKDAsZSwyNTUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoMCxlLDI1NSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcigwLGUsMjU1KX1mdW5jdGlvbiBoKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBkKGUsdCxpKXtyZXR1cm5bYShlKSxsKHQpLGMoaSldfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gZVswXT09PXRbMF0mJmVbMV09PT10WzFdJiZlWzJdPT09dFsyXX1mdW5jdGlvbiBwKGUsdCxpLHMpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2NvbnN0IGk9ZTtyZXR1cm4gcz10LFtpWzBdLGlbMV0saVsyXSxoKHMpXX17Y29uc3Qgbj10O3JldHVybiBpPWl8fDAscz1zfHwwLFthKGUpLGwobiksYyhpKSxoKHMpXX19ZnVuY3Rpb24gXyhlLHQpe3JldHVybiBlWzBdPT09dFswXSYmZVsxXT09PXRbMV0mJmVbMl09PT10WzJdJiZlWzNdPT09dFszXX1mdW5jdGlvbiBtKGUpe3JldHVybiBvKDAsZSwxKX1mdW5jdGlvbiBnKGUpe2NvbnN0W3QsaSxzXT1lLG49dC8yNTUscj1pLzI1NSxvPXMvMjU1LGE9TWF0aC5taW4obixyLG8pLGw9TWF0aC5tYXgobixyLG8pO2xldCBjPTAsaD0wO2NvbnN0IGQ9KGErbCkvMjtpZihhPT09bCljPTAsaD0wO2Vsc2V7Y29uc3QgZT1sLWE7c3dpdGNoKGg9ZD4uNT9lLygyLWwtYSk6ZS8obCthKSxsKXtjYXNlIG46Yz0oKHItbykvZSsocjxvPzY6MCkpLzY7YnJlYWs7Y2FzZSByOmM9KChvLW4pL2UrMikvNjticmVhaztjYXNlIG86Yz0oKG4tcikvZSs0KS82fX1yZXR1cm5bYyxoLGRdfWZ1bmN0aW9uIGYoZSx0LGkpe3JldHVybiBpPDAmJihpKz0xKSxpPjEmJihpLT0xKSxpPDEvNj9lKzYqKHQtZSkqaTppPC41P3Q6aTwyLzM/ZSsodC1lKSooMi8zLWkpKjY6ZX1mdW5jdGlvbiBTKGUpe2NvbnN0W3QsaSxzXT1lO2xldCBuLHIsbztpZigwPT09aSluPXI9bz1zO2Vsc2V7Y29uc3QgZT1zPC41P3MqKDEraSk6cytpLXMqaSxhPTIqcy1lO249ZihhLGUsdCsxLzMpLHI9ZihhLGUsdCksbz1mKGEsZSx0LTEvMyl9cmV0dXJuW2EoMjU1Km4pLGwoMjU1KnIpLGMoMjU1Km8pXX1jb25zdCB2PVsuMTk5LC42ODcsLjExNF07ZnVuY3Rpb24geShlLHQpe2NvbnN0W2kscyxuXT1lLFtyLG8sYV09dCxsPXItaSxjPW8tcyxoPWEtbjtyZXR1cm4gTWF0aC5zcXJ0KGwqbCtjKmMraCpoKX1mdW5jdGlvbiBiKGUpe2NvbnN0W3QsaSxzXT1lO3JldHVyblsyNTUtdCwyNTUtaSwyNTUtc119ZnVuY3Rpb24gdyhlLHQpe2NvbnN0W2kscyxuLHJdPWUsW28sZCx1LHBdPXQsXz1oKDEtKDEtcCkqKDEtcikpO3JldHVyblthKG8qcC9fK2kqciooMS1wKS9fKSxsKGQqcC9fK3MqciooMS1wKS9fKSxjKHUqcC9fK24qciooMS1wKS9fKSxfXX1mdW5jdGlvbiBDKGUsdCxpPS4wNSl7Y29uc3Qgcz1nKGUpLG49c1swXSt0Kmk7cmV0dXJuIHNbMF09bShuLU1hdGguZmxvb3IobikpLFMocyl9ZnVuY3Rpb24gUChlLHQsaT0uMDUpe2NvbnN0W3MsbixyLG9dPWUsW2EsbCxjXT1DKFtzLG4scl0sdCxpKTtyZXR1cm5bYSxsLGMsb119ZnVuY3Rpb24gVChlLHQsaT0uMDUpe3JldHVybiBWKFAoRihlKSx0LGkpKX12YXIgeCxNLEksTDtmdW5jdGlvbiBBKGUpe2NvbnN0IHQ9eC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD94LnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gayhlKXtjb25zdCB0PU0ucmUuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/TS5wYXJzZSh0KTpudWxsfWZ1bmN0aW9uIEQoZSl7Y29uc3RbdCxpLHNdPWUsbj10LnRvU3RyaW5nKDE2KSxyPWkudG9TdHJpbmcoMTYpLG89cy50b1N0cmluZygxNik7cmV0dXJuIiMiKygxPT09bi5sZW5ndGg/IjAiOiIiKStuKygxPT09ci5sZW5ndGg/IjAiOiIiKStyKygxPT09by5sZW5ndGg/IjAiOiIiKStvfWZ1bmN0aW9uIEUoZSl7Y29uc3QgdD1JLnJlLmV4ZWMoZSk7cmV0dXJuIG51bGwhPT10P0kucGFyc2UodCk6bnVsbH1mdW5jdGlvbiBSKGUpe2NvbnN0IHQ9TC5yZS5leGVjKGUpO3JldHVybiBudWxsIT09dD9MLnBhcnNlKHQpOm51bGx9ZnVuY3Rpb24gVihlKXtjb25zdFt0LGkscyxuXT1lO3JldHVybmByZ2JhKCR7dH0sICR7aX0sICR7c30sICR7bn0pYH1mdW5jdGlvbiBCKGUsdCl7aWYodDwwfHx0PjI1NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgdGhyZXNob2xkIHZhbHVlLCB2YWxpZCB2YWx1ZXMgYXJlIFswLCAyNTVdIik7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB2WzBdKmVbMF0rdlsxXSplWzFdK3ZbMl0qZVsyXX0oZSk+PXQ/IndoaXRlIjoiYmxhY2sifWZ1bmN0aW9uIE4oZSl7ZT1lLnRvTG93ZXJDYXNlKCk7Y29uc3QgdD0oMCxuLnRyeVBhcnNlTmFtZWRSZ2JhKShlKTtpZihudWxsIT09dCl7Y29uc3RbZSxpLHNdPXQ7cmV0dXJuW2UsaSxzXX1jb25zdCBpPUEoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz1rKGUpO2lmKG51bGwhPT1zKXJldHVybiBzO2NvbnN0IHI9RShlKTtpZihudWxsIT09cilyZXR1cm4gcjtjb25zdCBvPVIoZSk7aWYobnVsbCE9PW8pe2NvbnN0W2UsdCxpXT1vO3JldHVybltlLHQsaV19cmV0dXJuIG51bGx9ZnVuY3Rpb24gTyhlKXtjb25zdCB0PU4oZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgY29sb3Igc3RyaW5nIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUga25vd24gY29sb3IgcmVwcmVzZW50YXRpb25zIil9ZnVuY3Rpb24gVyhlKXtlPWUudG9Mb3dlckNhc2UoKTtjb25zdCB0PSgwLG4udHJ5UGFyc2VOYW1lZFJnYmEpKGUpO2lmKG51bGwhPT10KXJldHVybiB0O2NvbnN0IGk9QShlKTtpZihudWxsIT09aSl7Y29uc3RbZSx0LHNdPWk7cmV0dXJuW2UsdCxzLDFdfWNvbnN0IHM9ayhlKTtpZihudWxsIT09cyl7Y29uc3RbZSx0LGldPXM7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IHI9RShlKTtpZihudWxsIT09cil7Y29uc3RbZSx0LGldPXI7cmV0dXJuW2UsdCxpLDFdfWNvbnN0IG89UihlKQo7cmV0dXJuIG51bGwhPT1vP286bnVsbH1mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9VyhlKTtpZihudWxsIT09dClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIlBhc3NlZCBjb2xvciBzdHJpbmcgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBrbm93biBjb2xvciByZXByZXNlbnRhdGlvbnMiKX0hZnVuY3Rpb24oZSl7ZS5yZT0vXnJnYlwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccypcKSQvLGUucGFyc2U9ZnVuY3Rpb24oZSl7cmV0dXJuW2EocGFyc2VJbnQoZVsxXSwxMCkpLGwocGFyc2VJbnQoZVsyXSwxMCkpLGMocGFyc2VJbnQoZVszXSwxMCkpXX19KHh8fCh4PXt9KSksZnVuY3Rpb24oZSl7ZS5yZT0vXiMoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0sMTYpKSxjKHBhcnNlSW50KGVbM10sMTYpKV19fShNfHwoTT17fSkpLGZ1bmN0aW9uKGUpe2UucmU9L14jKFswLTlhLWZBLUZdKShbMC05YS1mQS1GXSkoWzAtOWEtZkEtRl0pJC8sZS5wYXJzZT1mdW5jdGlvbihlKXtyZXR1cm5bYShwYXJzZUludChlWzFdK2VbMV0sMTYpKSxsKHBhcnNlSW50KGVbMl0rZVsyXSwxNikpLGMocGFyc2VJbnQoZVszXStlWzNdLDE2KSldfX0oSXx8KEk9e30pKSxmdW5jdGlvbihlKXtlLnJlPS9ecmdiYVwoXHMqKC0/XGR7MSwxMH0pXHMqLFxzKigtP1xkezEsMTB9KVxzKixccyooLT9cZHsxLDEwfSlccyosXHMqKC0/W1xkXXswLDEwfSg/OlwuXGQrKT8pXHMqXCkkLyxlLnBhcnNlPWZ1bmN0aW9uKGUpe3JldHVyblthKHBhcnNlSW50KGVbMV0sMTApKSxsKHBhcnNlSW50KGVbMl0sMTApKSxjKHBhcnNlSW50KGVbM10sMTApKSxoKHBhcnNlRmxvYXQoZVs0XSkpXX19KEx8fChMPXt9KSl9LDcyNzA5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZUdyb3VwOigpPT5sLGtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZTooKT0+YSxwcmVzc2VkS2V5czooKT0+byxyZWdpc3RlcldpbmRvdzooKT0+Y30pO3ZhciBzPWkoMjkxMzQxKSxuPWkoNzc5Mzg5KTtjb25zdCByPW5ldyBzLkFjdGlvbk1hbmFnZXIsbz1yLnByZXNzZWRLZXlzKCksYT1yLmtleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIG5ldyBuLkFjdGlvbkdyb3VwKHIsZSl9ZnVuY3Rpb24gYyhlKXtyLmxpc3RlbihlKX19LDM0Mjc4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlLHQsaSl7cmV0dXJuIGUqKDEtaSkrdCppfWkuZCh0LHtkb0FuaW1hdGU6KCk9Pm8sbGVycDooKT0+c30pO2NvbnN0IG49e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOmkoMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4ubiwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpe3RoaXMuX2RvaW5nPSExfWNvbXBsZXRlZCgpe3JldHVybiB0aGlzLl9jb21wbGV0ZWR9X2FuaW1hdGlvbihlLHQsaSl7aWYoIXRoaXMuX2RvaW5nKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaEFuaW1hdGlvbigpO2NvbnN0IG49KGk9IWl8fGk8MWUxMj9wZXJmb3JtYW5jZS5ub3coKTppKS1lLHI9bj49dGhpcy5fb3B0aW9ucy5kdXJhdGlvbnx8dD09PXRoaXMuX29wdGlvbnMudG8sbz1zKHRoaXMuX29wdGlvbnMuZnJvbSx0aGlzLl9vcHRpb25zLnRvLHRoaXMuX29wdGlvbnMuZWFzaW5nKG4vdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikpLGE9cj90aGlzLl9vcHRpb25zLnRvOm8sbD1hLXQ7dGhpcy5fb3B0aW9ucy5vblN0ZXAobCxhKSxyP3RoaXMuX2ZpbmlzaEFuaW1hdGlvbigpOndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKHQ9Pnt0aGlzLl9hbmltYXRpb24oZSxhLHQpfSkpfV9maW5pc2hBbmltYXRpb24oKXt0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUmJnRoaXMuX29wdGlvbnMub25Db21wbGV0ZSgpLHRoaXMuX2NvbXBsZXRlZD0hMH19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbmV3IHIoZSl9fSwxMTU2NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OOigpPT5zfSk7Y29uc3Qgcz01MDB9LDc4MzU5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBzPW5ldyBVUkwoZSksbj0iYmxvYjoiPT09bG9jYXRpb24ucHJvdG9jb2w/bmV3IFVSTChsb2NhdGlvbi5ocmVmLnNsaWNlKDUpKS5vcmlnaW4rIi8iOmxvY2F0aW9uLmhyZWYscj1uZXcgQmxvYihbInNlbGYuV0VCUEFDS19QVUJMSUNfUEFUSD0iLEpTT04uc3RyaW5naWZ5KG5ldyBVUkwoaS5wLG4pLmhyZWYpLCI7XG4iLCJzZWxmLmxvY2FsZT0iLEpTT04uc3RyaW5naWZ5KGkuZy5sb2NhbGUpLCI7XG4iLHQ/YHNlbGYubGFuZ3VhZ2U9JHtKU09OLnN0cmluZ2lmeSh0KX07XG5gOiIiLCJpbXBvcnRTY3JpcHRzKCIsSlNPTi5zdHJpbmdpZnkocy5ocmVmKSwiKTsiXSx7dHlwZToiYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChyKX1pLmQodCx7V29ya2VyOigpPT5ufSk7Y2xhc3MgbiBleHRlbmRzIFdvcmtlcntjb25zdHJ1Y3RvcihlLHQpe2NvbnN0e2xhbmd1YWdlOmksLi4ubn09dD8/e307c3VwZXIocyhlLGkpLG4pfX19LDQxODI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRBbGVydFByZXNlbnRhdGlvbjooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoODQ0MzAxKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLm5hbWV8fGUubWVzc2FnZXx8ZnVuY3Rpb24oZSl7Y29uc3R7cmVzb2x1dGlvbjp0LGNyb3NzSW50ZXJ2YWw6aX09ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLmZpbmQoKGU9PiFlLmNyb3NzSW50ZXJ2YWwpKTtyZXR1cm4gdD97cmVzb2x1dGlvbjp0LnJlc29sdXRpb24sCmNyb3NzSW50ZXJ2YWw6ITF9OntyZXNvbHV0aW9uOm51bGwsY3Jvc3NJbnRlcnZhbDohMH19KGUuY29uZGl0aW9ucyk7cmV0dXJuIGZ1bmN0aW9uKHtzeW1ib2w6ZSx3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cixpbmNsdWRlRXhjaGFuZ2U6b30pe3JldHVybiB0PygwLG4uZm9ybWF0V2F0Y2hsaXN0VGl0bGUpKHt3YXRjaGxpc3ROYW1lOnQscmVzb2x1dGlvbjppLGNyb3NzSW50ZXJ2YWw6cn0pOigwLG4uZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbikoe3N5bWJvbDooMCxzLmVuc3VyZU5vdE51bGwpKGUpLHJlc29sdXRpb246aSxjcm9zc0ludGVydmFsOnJ9LG8pfSh7c3ltYm9sOigwLHMuZW5zdXJlTm90TnVsbCkoZS5zeW1ib2wpLHdhdGNobGlzdE5hbWU6ZS5pc1dhdGNobGlzdEFsZXJ0P2Uud2F0Y2hsaXN0TmFtZTpudWxsLHJlc29sdXRpb246dCxjcm9zc0ludGVydmFsOml9KX0oZSl9fSwxMTM3MTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdDooKT0+b30pO3ZhciBzPWkoMzYyMjM5KSxuPWkoODM2MDgxKSxyPWkoNzc4OTQ2KTthc3luYyBmdW5jdGlvbiBvKGUsdCxpKXtjb25zdCBvPWF3YWl0KDAscy5nZXRUcmFja2VyKSgpO28/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L2FsZXJ0c19jcmVhdGlvbi9qc29uc2NoZW1hLzEtMC01Iix7YWN0aW9uOiJjcmVhdGlvbl9hdHRlbXB0IixzeW1ib2w6ZSxtZXRob2Q6dCxzb3VyY2U6aSxwbGF0Zm9ybTooMCxyLmdldFBsYXRmb3JtKSgpLHVzZXJfaWQ6KDAsbi5nZXRVc2VySWQpKCksdXNlcl9wbGFuOigwLG4uZ2V0VXNlclBsYW4pKCksbG9jYWxlOigwLG4uZ2V0VXNlckxvY2FsZSkoKX0pfX0sNzM2MjgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQ2hhcnRBY3Rpb25DcmVhdG9yczooKT0+c30pO2NvbnN0IHM9KDAsaSg4Mzk0MjYpLmRlZmF1bHQpKChhc3luYygpPT57Y29uc3R7Z2V0Q3JlYXRlQWxlcnRBY3Rpb246ZX09YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyNDQxKSxpLmUoNTc2NzQpXSkudGhlbihpLmJpbmQoaSwyNzQ1MzYpKSx7Z2V0RWRpdEFsZXJ0T25MaW5lRGF0YVNvdXJjZUFjdGlvbjp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI0NDEpLGkuZSg1NzY3NCldKS50aGVuKGkuYmluZChpLDg2MDkyNCkpO3JldHVybntjcmVhdGVBbGVydDplLGVkaXRBbGVydE9uTGluZURhdGFTb3VyY2U6dH19KSl9LDU1ODQ1NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPWUuZm9ybWF0dGVyKCk7aWYoaS5wYXJzZSl7Y29uc3QgZT1pLnBhcnNlKGkuZm9ybWF0KHQpKTtpZihlLnJlcylyZXR1cm4gZS52YWx1ZX1yZXR1cm4gdH1pLmQodCx7cm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb246KCk9PnN9KX0sNDg3ODIwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7QWxlcnRDaGFydERpc3BsYXlUYXJnZXQ6KCk9Pm4sQWxlcnRTdG9wUmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkF1dG89MF09IkF1dG8iLGVbZS5NYW51YWw9MV09Ik1hbnVhbCIsZVtlLkV4cGlyZWQ9Ml09IkV4cGlyZWQiLGVbZS5DcmVhdGVkPTNdPSJDcmVhdGVkIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuTGFiZWw9MF09IkxhYmVsIixlW2UuU3RhdHVzVmlldz0xXT0iU3RhdHVzVmlldyJ9KG58fChuPXt9KSl9LDE0NDUzNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydEFsZXJ0c0ZhY2FkZTooKT0+byxnZXRDaGFydEFsZXJ0c0ZhY2FkZUlmQ3JlYXRlZEJlZm9yZTooKT0+YX0pO3ZhciBzPWkoNTk2ODA0KTtsZXQgbixyO2FzeW5jIGZ1bmN0aW9uIG8oKXtyZXR1cm4gbnx8KG49YXN5bmMgZnVuY3Rpb24oKXtjb25zdFtlLHtnZXRBbGVydHNDb2xsZWN0aW9uOnR9LG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDkyNDE5KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNDM4MjcpLGkuZSg2MzI5MCksaS5lKDM4NDQyKV0pLnRoZW4oaS5iaW5kKGksNDc3MzE4KSksUHJvbWlzZS5hbGwoW2kuZSg4NDY5MyksaS5lKDg4OTk3KSxpLmUoMzA2OTkpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzEzMTkpXSkudGhlbihpLmJpbmQoaSwxNDMyNjYpKSwoMCxzLmdldENoYXJ0U291cmNlSWRzR2V0dGVyKSgpXSk7cmV0dXJuIG5ldyBlLkNoYXJ0QWxlcnRzRmFjYWRlKHQoKSxuKX0oKSkscnx8KHI9YXdhaXQgbikscn1mdW5jdGlvbiBhKCl7cmV0dXJuIHI/P251bGx9fSwxNzU4MTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRBbGVydHNGYWNhZGU6KCk9PnMuZ2V0Q2hhcnRBbGVydHNGYWNhZGV9KTt2YXIgcz1pKDE0NDUzNCl9LDk3NjQ5OShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjb25maXJtRGF0YXNvdXJjZVJlbW92aW5nOigpPT5vfSk7dmFyIHM9aSgxODUyNzEpLG49aSgyMzQ5NjQpO2NvbnN0IHI9cy50KG51bGwsdm9pZCAwLGkoMTE2NzY4KSk7ZnVuY3Rpb24gbyhlLHQpe2NvbnN0e2hhc0xvY2tlZFNvdXJjZXM6byx0ZXh0OmE9cixvbkNvbmZpcm06bCxvbkNsb3NlOmN9PWUsaD1vP3MudChudWxsLHZvaWQgMCxpKDQwOTIxKSk6cy50KG51bGwsdm9pZCAwLGkoMTQwNDA3KSk7cmV0dXJuIG5ldyBQcm9taXNlKChyPT4oMCxuLnNob3dDb25maXJtKSh7Li4uZSx0aXRsZTpoLHRleHQ6YSxtYWluQnV0dG9uVGV4dDpzLnQobnVsbCx7Y29udGV4dDoiQnV0dG9uIGluIGEgY29uZmlybWF0aW9uIGRpYWxvZyJ9LGkoMzE4NzM0KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnMudChudWxsLHtjb250ZXh0OiJCdXR0b24gaW4gYSBjb25maXJtYXRpb24gZGlhbG9nIn0saSgyNjQ3MzkpKSxvbkNvbmZpcm06ZT0+e2w/LihlKSxyKCEwKSxlLmRpYWxvZ0Nsb3NlKCl9LG9uQ2xvc2U6KCk9PntjPy4oKSxyKCExKX19LHQpKSl9fSw2MTA0NjQoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7Q29uc3RhbnRzOigpPT5zfSksZnVuY3Rpb24oZSl7CmUuRHJhd2luZ0ljb25Db2xvcj0icmdiYSggMTcwLCAxNzAsIDE3MCwgMSkifShzfHwocz17fSkpfSw1ODYxNjUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7aGFzVXN1YWxBbGVydFBsb3RzOigpPT5sLGlzRmlyc3RBbGVydFBsb3RVc3VhbDooKT0+YX0pO3ZhciBzPWkoMjI0MTgzKSxuPWkoOTU2NDM3KSxyPWkoMjQxMyksbz1pKDI1MDQ2Nyk7ZnVuY3Rpb24gYShlKXtpZigoMCxzLmlzU2VyaWVzKShlKSlyZXR1cm4hMDtpZigoMCxuLmlzU3R1ZHkpKGUpJiYhKDAsbi5pc1N0dWR5U3RyYXRlZ3kpKGUpKXtjb25zdCB0PSgwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpO3JldHVybiFlLm1ldGFJbmZvKCkuaGFzQWxlcnRGdW5jdGlvbiYmdC5ldmVyeSgoZT0+ZS50eXBlIT09by5JbnRlcm5hbFN0dWR5UGxvdFR5cGUuQWxlcnRDb25kaXRpb24pKX1yZXR1cm4hMX1mdW5jdGlvbiBsKGUpe2lmKCgwLHMuaXNTZXJpZXMpKGUpKXJldHVybiEwO2lmKCgwLG4uaXNTdHVkeSkoZSkmJiEoMCxuLmlzU3R1ZHlTdHJhdGVneSkoZSkpe3JldHVybigwLHIucGxvdHNGb3JBbGVydCkoZS5tZXRhSW5mbygpLGUub2Zmc2V0LmJpbmQoZSkpLnNvbWUoKGU9PmUudHlwZSE9PW8uSW50ZXJuYWxTdHVkeVBsb3RUeXBlLkFsZXJ0Q29uZGl0aW9uKSl9cmV0dXJuITF9fSw2ODM5MDIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U2VyaWVzSWRGb3JBbGVydDooKT0+byxnZXRTdHVkeUlkRm9yQWxlcnQ6KCk9PmF9KTt2YXIgcz1pKDE2NzkxMCksbj1pKDc0OTgxNCkscj1pKDI1NDY3Myk7ZnVuY3Rpb24gbyhlLHQpe3JldHVybigwLHMuaGFzaCkoZStyLkludGVydmFsLm5vcm1hbGl6ZSh0KSkudG9TdHJpbmcoKX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4oMCxzLmhhc2gpKGUrKDAsbi5zb3J0ZWRTdHJpbmdpZnkpKHQpKyhpPz8iIikpLnRvU3RyaW5nKCl9fSw1OTY4MDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0Q2hhcnRTb3VyY2VJZHNHZXR0ZXI6KCk9PnN9KTtjb25zdCBzPSgwLGkoODM5NDI2KS5kZWZhdWx0KSgoYXN5bmMoKT0+e2NvbnN0e0NoYXJ0U291cmNlSWRzR2V0dGVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTEzNzgpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDIyNTMyKV0pLnRoZW4oaS5iaW5kKGksODc4ODA5KSk7cmV0dXJuIG5ldyBlfSkpfSwzNTMwNDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2FuUGxhY2VBbGVydE9uUmVzb2x1dGlvbjooKT0+cn0pO3ZhciBzPWkoMjU0NjczKSxuPWkoNDc5MzQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPXMuSW50ZXJ2YWwuaXNTZWNvbmRzKGUpLHI9dD90Py5hbGVydHNPblNlY29uZHM6KDAsbi5lbmFibGVkKSgiQUxFUlRTX09OX1NFQ09ORFMiKTtyZXR1cm4haXx8cn19LDE2MjU4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdEFwcGVuZGluZ1Jlc29sdXRpb25TdHJpbmc6KCk9Pm59KTt2YXIgcz1pKDQ2NTEzNyk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PSgwLHMuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb24pKGUpO3JldHVybigwLHMuZm9ybWF0RGlyZWN0aW9uYWxSZXNvbHV0aW9uKSh0KX19LDI2MTE1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtmb3JtYXRTeW1ib2xBbmRSZXNvbHV0aW9uOigpPT5hLGZvcm1hdFN5bWJvbFN0cmluZzooKT0+bH0pO3ZhciBzPWkoMzQ0MTAzKSxuPWkubihzKSxyPWkoMTExOTUzKSxvPWkoMTYyNTgpO2Z1bmN0aW9uIGEoZSx0KXtjb25zdCBpPWwoZS5zeW1ib2wsdCk7aWYoZS5jcm9zc0ludGVydmFsfHwhZS5yZXNvbHV0aW9uKXJldHVybiBpO3JldHVybiBpKygwLG8uZm9ybWF0QXBwZW5kaW5nUmVzb2x1dGlvblN0cmluZykoZS5yZXNvbHV0aW9uKX1mdW5jdGlvbiBsKGUsdCl7bGV0IGk9KDAsci51bndyYXBTaW1wbGVTeW1ib2wpKGUpO3JldHVybiB0fHwoaT1uKCkuc2hvcnROYW1lKGkpKSxpfX0sNDg1MTc5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2Zvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5ufSk7dmFyIHM9aSgxNjI1OCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUud2F0Y2hsaXN0TmFtZTtpZihlLmNyb3NzSW50ZXJ2YWx8fCFlLnJlc29sdXRpb24pcmV0dXJuIHQ7cmV0dXJuIHQrKDAscy5mb3JtYXRBcHBlbmRpbmdSZXNvbHV0aW9uU3RyaW5nKShlLnJlc29sdXRpb24pfX0sODYyOTUxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gcigpLnRoZW4oKHQ9PnQuaGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZShlKSkpfWZ1bmN0aW9uIG4oZSl7cmV0dXJuIHIoKS50aGVuKCh0PT50LmZpbHRlckFjY2Vzc2libGVEYXRhU291cmNlcyhlKSkpfWkuZCh0LHtmaWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXM6KCk9Pm4saGFzVXNlckFjY2Vzc1RvRGF0YVNvdXJjZTooKT0+c30pO2NvbnN0IHI9KCk9PmkuZSg0MzQ1OCkudGhlbihpLmJpbmQoaSw0NzkxNDYpKX0sNDU2MDIzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dHb1Byb0FsZXJ0c09uU2Vjb25kc0RpYWxvZzooKT0+bn0pO3ZhciBzPWkoNzcwNzU1KTtpKDMwMDI4Nik7ZnVuY3Rpb24gbigpeygwLHMub3BlblBheXdhbGwpKHtmZWF0dXJlOiJhbGVydHNPblNlY29uZHMifSl9fSwxNTMzNDcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0QWxlcnRzQWN0aW9uQ3JlYXRvcnM6KCk9Pm59KTt2YXIgcz1pKDgzOTQyNik7Y29uc3Qgbj0oMCxzLmRlZmF1bHQpKChhc3luYygpPT5uZXcoKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoNTU4MDEpLGkuZSgzMDY5OSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg0MzgyNyksaS5lKDkyMjI5KV0pLnRoZW4oaS5iaW5kKGksNjM1MDgxKSkpLkFsZXJ0c0FjdGlvbkNyZWF0b3JzKSkpOygwLHMuZGVmYXVsdCkoKGFzeW5jKCk9PnsKY29uc3RbZSx7Z2V0QWxlcnRTZXNzaW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSgxMDc3NiksaS5lKDE1MTczKV0pLnRoZW4oaS5iaW5kKGksOTA5MDExKSksUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSldKTtyZXR1cm4gbmV3IGUuRmlyZXNBY3Rpb25DcmVhdG9ycyh0KCkpfSkpfSwzODY0NjYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7aWYoZS5sZW5ndGg+dCl7Y29uc3QgaT0vW1xXXSskL2cscz1lLnN1YnN0cmluZygwLHQpLG49cy5yZXBsYWNlKGksIiIpO3JldHVybmAke24ubGVuZ3RoP246cy5zdWJzdHJpbmcoMCx0LTEpfeKApmB9cmV0dXJuIGV9aS5kKHQse2N1dFN0cmluZzooKT0+c30pfSw0MDAwNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtBbGVydEVkaXRvckFib3J0UmVhc29uOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5BbGVydElzSW52YWxpZD0iYWxlcnQtaXMtaW52YWxpZCIsZS5BbGVydHNNYWludGVuYW5jZT0iYWxlcnRzLW1haW50ZW5hbmNlIixlLkNoYXJ0TW9kZWxOb3RGb3VuZD0iY2hhcnQtbW9kZWwtbm90LWZvdW5kIixlLklzQWxyZWFkeVByZXNlbnQ9ImlzLWFscmVhZHktcHJlc2VudCIsZS5NYWluU2VyaWVzSXNBVFI9Im1haW4tc2VyaWVzLWlzLWF0ciIsZS5NYWluU2VyaWVzSXNQZXJjZW50YWdlTFRQPSJtYWluLXNlcmllcy1pcy1wZXJjZW50YWdlLWx0cCIsZS5NYWluU2VyaWVzSXNJblJlcGxheT0ibWFpbi1zZXJpZXMtaXMtaW4tcmVwbGF5IixlLk1haW5TZXJpZXNJc09mZmxpbmU9Im1haW4tc2VyaWVzLWlzLW9mZmxpbmUiLGUuU291cmNlSXNEYW5nZXJvdXM9InNvdXJjZS1pcy1kYW5nZXJvdXMiLGUuU3ltYm9sSW5mb1RpbWVvdXQ9InN5bWJvbC1pbmZvLXRpbWVvdXQiLGUuU3ltYm9sSXNJbnZhbGlkPSJzeW1ib2wtaXMtaW52YWxpZCIsZS5TeW1ib2xDdXJyZW5jeUNvbnZlcnRlZD0ic3ltYm9sLWN1cnJlbmN5LWNvbnZlcnRlZCIsZS5TeW1ib2xVbml0Q29udmVydGVkPSJzeW1ib2wtdW5pdC1jb252ZXJ0ZWQiLGUuU3ltYm9sQ3VycmVuY3lBbmRVbml0Q29udmVydGVkPSJzeW1ib2wtY3VycmVuY3ktYW5kLXVuaXQtY29udmVydGVkIixlLlN5bWJvbElzRWNvbm9taWNzPSJzeW1ib2wtaXMtZWNvbm9taWNzIixlLlN5bWJvbFdpdGhNZXRyaWNzPSJzeW1ib2wtd2l0aC1tZXRyaWNzIixlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0idW5zdXBwb3J0ZWQtcmVzb2x1dGlvbiIsZS5NYW51YWxBYm9ydD0ibWFudWFsLWFib3J0IixlLk1pc2xlYWRpbmdQcmljZVNjYWxlPSJtaXNsZWFkaW5nLXByaWNlLXNjYWxlIixlLlJlc29sdXRpb25Jc1RpY2tzPSJyZXNvbHV0aW9uLWlzLXRpY2tzIn0oc3x8KHM9e30pKX0sNzIxMDQyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQWxlcnRDcmVhdGlvbkF0dGVtcHQ6KCk9PnMudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdH0pO3ZhciBzPWkoMTEzNzE4KX0sODIyNzk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGU6KCk9PmEuQWxlcnRFZGl0b3JJbnZvY2F0aW9uTW9kZSxpbnZva2VBbGVydEVkaXRvcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoODYyOTUxKSxvPWkoNDAwMDYpLGE9aSg0MjM3NDUpO2NvbnN0IGw9KDAsbi5nZXRMb2dnZXIpKCJBbGVydHMuUHJpY2UuSW52b2tlQWxlcnRFZGl0b3IiKTthc3luYyBmdW5jdGlvbiBjKGUpewpjb25zdFt7Z2V0QWxlcnRzVHJhY2tlcnM6dH0se2dldEludm9jYXRpb25Nb2RlOm4sc2hvdWxkQWJvcnRBbGVydEVkaXRvcjpyLHNob3dBYm9ydEV4cGxhaW5pbmdEaWFsb2c6YX0se2xvY2tFZGl0b3JJbnZvY2F0aW9uOmN9XT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc5NDc2KS50aGVuKGkuYmluZChpLDQzNjgzNikpLFByb21pc2UuYWxsKFtpLmUoNzg0NCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSgzMjgxNiksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSg5MzQxNiksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDMyNzQ4KSxpLmUoODk1NTgpLGkuZSg2NjI3MCksaS5lKDEwMzY2KSxpLmUoNTE2ODIpLGkuZSgzNzc2NyksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSg5NDA1NCksaS5lKDQwODY3KSxpLmUoMzk3ODYpLGkuZSg1MDgwMCksaS5lKDYwODIpLGkuZSg5MDk2MCksaS5lKDY3NTQzKSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDczODcpLGkuZSg2ODU3OSksaS5lKDQxOTgwKSxpLmUoMjc0NDYpLGkuZSg3OTg5MiksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg0NjIxNyksaS5lKDY2OTMzKSxpLmUoNzM1MzUpLGkuZSg1NzA5MyksaS5lKDY5MDMyKSxpLmUoMTYwMzEpLGkuZSg2MzI5MCksaS5lKDcwNTMyKV0pLnRoZW4oaS5iaW5kKGksNDA0NTg5KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSw3NzYyNTYpKV0pLGQ9dCgpLm1haW50ZW5hbmNlO2Quc3luY09uVXNlckFjdGlvbigpO2NvbnN0IHU9cihlLGQpO2lmKG51bGwhPT11KXJldHVybiB1IT09by5BbGVydEVkaXRvckFib3J0UmVhc29uLklzQWxyZWFkeVByZXNlbnQmJmEodSxuKGUpKSxsLmxvZ1dhcm4oYEFib3J0ZWQ6ICR7dX1gKSx2b2lkIGUub25BYm9ydGVkPy4odSk7Y29uc3RbcCxfXT1jKGUpO3RyeXsKY29uc3Rbe2dldEFsZXJ0U2Vzc2lvbjp0fSx7aW52b2tlRGlhbG9nQWxlcnRFZGl0b3I6bixpbnZva2VTaWxlbnRBbGVydEVkaXRvcjpyLGNvbnZlcnRPcHRpb25zRm9yU2lsZW50SW52b2tlcjpvLGNvbnZlcnRPcHRpb25zRm9yRGlhbG9nSW52b2tlcjphfSxsXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3ODAzNCksaS5lKDg1MDU3KV0pLnRoZW4oaS5iaW5kKGksNjE0OTU3KSksUHJvbWlzZS5hbGwoW2kuZSg3ODQ0KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzI3NDgpLGkuZSg4OTU1OCksaS5lKDY2MjcwKSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDM3NzY3KSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDk0MDU0KSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNjA4MiksaS5lKDkwOTYwKSxpLmUoNjc1NDMpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoNzM4NyksaS5lKDY4NTc5KSxpLmUoNDE5ODApLGkuZSgyNzQ0NiksaS5lKDc5ODkyKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoNzIxMSksaS5lKDQ2MjE3KSxpLmUoNjY5MzMpLGkuZSg3MzUzNSksaS5lKDU3MDkzKSxpLmUoNjkwMzIpLGkuZSgxNjAzMSksaS5lKDYzMjkwKSxpLmUoNzA1MzIpXSkudGhlbihpLmJpbmQoaSwxNTQyOTYpKSxoKF8pXSksYz0oMCxzLmVuc3VyZU5vdE51bGwpKHQoKS51c2VyLnZhbHVlKCkpO2Uuc2lsZW50P3IobyhsKSxjKTpuKGEobCksYyl9Y2F0Y2goZSl7cCgpfX1hc3luYyBmdW5jdGlvbiBoKGUpe2NvbnN0IHQ9ey4uLmV9O3JldHVybiB0LnNlcmllcyYmIWF3YWl0KDAsci5oYXNVc2VyQWNjZXNzVG9EYXRhU291cmNlKSh0LnNlcmllcykmJihkZWxldGUgdC5zZXJpZXMsZGVsZXRlIHQudmFsdWUpLHR9fSw0MjM3NDUoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuO2kuZCh0LHtBbGVydEVkaXRvckludm9jYXRpb25Nb2RlOigpPT5uLEV4cGlyYXRpb25QcmVzZXRUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5PcGVuRW5kZWQ9Im9wZW4tZW5kZWQiLGUuRml4ZWQ9ImZpeGVkIixlLk5leHRSZXBvcnQ9Im5leHQtcmVwb3J0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLkNyZWF0ZUFsZXJ0PSJjcmVhdGVfYWxlcnQiLGUuRWRpdEFsZXJ0PSJlZGl0X2FsZXJ0IixlLlNob3dSZWFkb25seUFsZXJ0PSJzaG93X2FsZXJ0In0obnx8KG49e30pKX0sNDkwMzk5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FsZXJ0c0F2YWlsYWJsZTooKT0+c30pO2NvbnN0IHM9KDAsaSg5MzAyMzEpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGVydHMiKX0sNjEzODcwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+aCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIHM9aSg4NDIxMDIpLG49aSg5Nzg1NCkscj1pKDcxOTE5NCksbz1pKDc1NjI3MSksYT1pKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxzLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShvLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpO2NvbnN0IGU9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg4NTUzNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoMTEyMTgpLGkuZSg4NTc5KSxpLmUoNzI2NjYpLGkuZSg3MDgxNSksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDM3NzY3KSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSg1MDYyMiksaS5lKDM4ODY4KSxpLmUoNTkzNTApLGkuZSgyMDk4NiksaS5lKDMyMzg3KSxpLmUoNDQ3ODApLGkuZSg3NTkzMCksaS5lKDg1OTc0KV0pLnRoZW4oaS5iaW5kKGksNzMwODQxKSk7cmV0dXJuIGw9ZS5pc1NpZ25Nb2RhbE9wZW4sZS5zaG93U2lnbk1vZGFsKG4pfX1mdW5jdGlvbiBoKCl7cmV0dXJuIGwoKX1uLm9uZVRhcFNpZ25Nb2RhbERlbGVnYXRlLnN1YnNjcmliZShudWxsLGMpfSwxNDE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGkpe2NvbnN0IHM9ZS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czooZS5zZXQodCxpKSxpKX1mdW5jdGlvbiBuKGUsdCxpKXtjb25zdCBzPWUuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7Y29uc3Qgbj1pKCk7cmV0dXJuIGUuc2V0KHQsbiksbn1mdW5jdGlvbiByKGUsdCxpLG4pe2NvbnN0IHI9cyhlLHQsbmV3IE1hcCk7cmV0dXJuIHMocixpLG4pfWZ1bmN0aW9uIG8oZSx0LGkscil7cmV0dXJuIG4ocyhlLHQsbmV3IE1hcCksaSxyKX0KZnVuY3Rpb24gYShlLHQsaSxuLHIpe2NvbnN0IG89cyhlLHQsbmV3IE1hcCksYT1zKG8saSxuZXcgTWFwKTtyZXR1cm4gcyhhLG4scil9aS5kKHQse0Fic3RyYWN0TWFwQ29udGFpbmVyOigpPT5sLGdldERlZmF1bHQyOigpPT5yLGdldERlZmF1bHQyTGF6eTooKT0+byxnZXREZWZhdWx0MzooKT0+YX0pO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9tYXA9bmV3IE1hcCx0aGlzLl9zaXplPTB9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCksdGhpcy5fc2l6ZT0wfX19LDI2MDY5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xJTkVTVFlMRV9EQVNIRUQ6KCk9PnIsTElORVNUWUxFX0RPVFRFRDooKT0+bixMSU5FU1RZTEVfU09MSUQ6KCk9PnMsTElORVNUWUxFX1NQQVJTRV9ET1RURUQ6KCk9Pm99KTtjb25zdCBzPTAsbj0xLHI9MixvPTR9LDUxNzI5MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtDaXJjdWxhckNhY2hlQnVmZmVyOigpPT5vfSk7dmFyIHMsbj1pKDEzODYzOCk7ZnVuY3Rpb24gcihlKXtjb25zdHtwcmV2SXRlbTp0LG5leHRJdGVtOml9PWU7bnVsbCE9PXQmJih0Lm5leHRJdGVtPWkpLG51bGwhPT1pJiYoaS5wcmV2SXRlbT10KX0hZnVuY3Rpb24oZSl7ZVtlLkNhcGFjaXR5RmFjdG9yPTEuM109IkNhcGFjaXR5RmFjdG9yIn0oc3x8KHM9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKGU9MCx0PTEuMyl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9sYXN0SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT1udWxsLHRoaXMuX3NpemU9ZSx0aGlzLl9zaXplTGltaXRlZD1lPjAsdGhpcy5fY2FwYWNpdHlGYWN0b3I9dH1zZXQoZSx0KXtjb25zdCBpPXtrZXk6ZSx2YWx1ZTp0LHByZXZJdGVtOnRoaXMuX2xhc3RJdGVtLG5leHRJdGVtOm51bGx9O251bGwhPT10aGlzLl9sYXN0SXRlbSYmKHRoaXMuX2xhc3RJdGVtLm5leHRJdGVtPWkpO2NvbnN0IHM9dGhpcy5fY2FjaGUuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zJiYocihzKSxzPT09dGhpcy5fZmlyc3RJdGVtJiYodGhpcy5fZmlyc3RJdGVtPXMubmV4dEl0ZW0pKSx0aGlzLl9jYWNoZS5zZXQoZSxpKSx0aGlzLl9sYXN0SXRlbT1pLG51bGw9PT10aGlzLl9maXJzdEl0ZW0mJih0aGlzLl9maXJzdEl0ZW09aSksdGhpcy5fc2l6ZUxpbWl0ZWQmJnRoaXMuX2NhY2hlLnNpemU+dGhpcy5fc2l6ZSp0aGlzLl9jYXBhY2l0eUZhY3RvciYmdGhpcy5fcmVtb3ZlRXh0cmFJdGVtcygpLHRoaXN9aGFzKGUpe3JldHVybiB0aGlzLl9jYWNoZS5oYXMoZSl9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHQ7aWYodD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtPz90KSx0IT09dGhpcy5fbGFzdEl0ZW0pe3IodCk7Y29uc3QgZT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xhc3RJdGVtKTtlLm5leHRJdGVtPXQsdC5wcmV2SXRlbT1lLHQubmV4dEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT10fXJldHVybiB0LnZhbHVlfWNsZWFyKCl7dGhpcy5fY2FjaGUuY2xlYXIoKSx0aGlzLl9maXJzdEl0ZW09bnVsbCx0aGlzLl9sYXN0SXRlbT1udWxsfWRlbGV0ZShlKXtjb25zdCB0PXRoaXMuX2NhY2hlLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dCYmKHIodCksdD09PXRoaXMuX2xhc3RJdGVtJiYodGhpcy5fbGFzdEl0ZW09dC5wcmV2SXRlbSksdD09PXRoaXMuX2ZpcnN0SXRlbSYmKHRoaXMuX2ZpcnN0SXRlbT10Lm5leHRJdGVtKSksdGhpcy5fY2FjaGUuZGVsZXRlKGUpfSplbnRyaWVzKCl7aWYobnVsbCE9PXRoaXMuX2ZpcnN0SXRlbSlmb3IobGV0IGU9dGhpcy5fZmlyc3RJdGVtO251bGwhPT1lO2U9ZS5uZXh0SXRlbSl5aWVsZFtlLmtleSxlLnZhbHVlXX1zdGF0ZSgpe2NvbnN0IGU9W107Zm9yKGNvbnN0W3QsaV1vZiB0aGlzLmVudHJpZXMoKSllLnB1c2goW3QsaV0pO3JldHVybiBlfXJlc3RvcmVTdGF0ZShlKXtmb3IoY29uc3QgdCBvZiBlKXRoaXMuc2V0KHRbMF0sdFsxXSl9X3JlbW92ZUV4dHJhSXRlbXMoKXtjb25zdCBlPXRoaXMuX2NhY2hlLnNpemUtdGhpcy5fc2l6ZTtsZXQgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0SXRlbSk7Zm9yKGxldCBpPTA7aTxlO2krPTEpdGhpcy5fY2FjaGUuZGVsZXRlKHQua2V5KSx0PSgwLG4uZW5zdXJlTm90TnVsbCkodC5uZXh0SXRlbSk7dC5wcmV2SXRlbT1udWxsLHRoaXMuX2ZpcnN0SXRlbT10fX19LDIyMzU1NihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthdmFpbGFibGVUaW1lem9uZXM6KCk9PmwsdGltZXpvbmVJc0F2YWlsYWJsZTooKT0+ZCx0aW1lem9uZVRpdGxlOigpPT51fSk7dmFyIHM9aSg5MTQ3NzUpLG49aSgxODUyNzEpO2NvbnN0IHI9W3tpZDoiRXRjL1VUQyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDkxMjI1NSkpfX0se2lkOiJleGNoYW5nZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNjYwNykpfX1dLG89W3tpZDoiQWZyaWNhL0NhaXJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzUxODQyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9DYXNhYmxhbmNhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjUyNDIyKSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9Kb2hhbm5lc2J1cmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyNzAzMzApKX0sb2Zmc2V0OjB9LHtpZDoiQWZyaWNhL0xhZ29zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTUwNTE2KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9OYWlyb2JpIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTI0OTM0KSl9LG9mZnNldDowfSx7aWQ6IkFmcmljYS9UdW5pcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMwNzI0OCkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0FuY2hvcmFnZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgyNzkwMikpfSxvZmZzZXQ6MH0sewppZDoiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjE0MTQ0KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQm9nb3RhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTAzMzUzKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvQ2FyYWNhcyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3MjQyNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0NoaWNhZ28iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4MjE0NDgpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9FbF9TYWx2YWRvciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ1MTQ0NykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL0hhbGlmYXgiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1ODIzODYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9KdW5lYXUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDI2MzEpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9MaW1hIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTU3NTAwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvTG9zX0FuZ2VsZXMiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MDg0MjYpKX0sb2Zmc2V0OjB9LHtpZDoiQW1lcmljYS9NZXhpY29fQ2l0eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg3NDYwNykpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL05ld19Zb3JrIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjU4MTE3KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvUGhvZW5peCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTk1OSkpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1NhbnRpYWdvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTE0MTU2KSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvU2FvX1BhdWxvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTU1NDMwKSl9LG9mZnNldDowfSx7aWQ6IkFtZXJpY2EvVG9yb250byIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDE2MzY3MikpfSxvZmZzZXQ6MH0se2lkOiJBbWVyaWNhL1ZhbmNvdXZlciIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MTMyKSl9LG9mZnNldDowfSx7aWQ6IlVTL01vdW50YWluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODg5NTI5KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQWxtYXR5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDk1NzAzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQXNoa2hhYmFkIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzE5MDQ0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvQmFocmFpbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODY2NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0Jhbmdrb2siLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5NzM1NzQpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9DaG9uZ3FpbmciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDk2MzIpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Db2xvbWJvIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjA1MDkxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvRGhha2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgzNjA2OTApKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9EdWJhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3MzI3NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0hvX0NoaV9NaW5oIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDYyNzAyKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSG9uZ19Lb25nIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTgyMTk3KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmFrYXJ0YSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDMzMTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvSmVydXNhbGVtIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNzA0ODMxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2FyYWNoaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU4NTQ0MikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL0thYnVsIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDgwNTUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS2F0aG1hbmR1IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjgyNDcpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9Lb2xrYXRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjg4NjUxKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3VhbGFfTHVtcHVyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzQ3MDY0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvS3V3YWl0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzk1MTMwKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTWFuaWxhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzYxNDQ1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTXVzY2F0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODI1NDE0KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvTmljb3NpYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI3NjU0NykpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1FhdGFyIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTMzNzUzKSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvUml5YWRoIixnZXQgdGl0bGUoKXsKcmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc4MDk1KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvU2VvdWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDQ0MTgpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9TaGFuZ2hhaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU3ODgzMSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1NpbmdhcG9yZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDY0Mzc5NSkpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RhaXBlaSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQ3NjAyNikpfSxvZmZzZXQ6MH0se2lkOiJBc2lhL1RlaHJhbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc0Mjk4KSl9LG9mZnNldDowfSx7aWQ6IkFzaWEvVG9reW8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg3OTgxOTkpKX0sb2Zmc2V0OjB9LHtpZDoiQXNpYS9ZYW5nb24iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNzczNTQpKX0sb2Zmc2V0OjB9LHtpZDoiQXRsYW50aWMvQXpvcmVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMzg0OTY0KSl9LG9mZnNldDowfSx7aWQ6IkF0bGFudGljL1JleWtqYXZpayIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc1Mzg1OCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvQWRlbGFpZGUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1MDE1MDIpKX0sb2Zmc2V0OjB9LHtpZDoiQXVzdHJhbGlhL0JyaXNiYW5lIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoODkwNjg5KSl9LG9mZnNldDowfSx7aWQ6IkF1c3RyYWxpYS9QZXJ0aCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM1MDEwOCkpfSxvZmZzZXQ6MH0se2lkOiJBdXN0cmFsaWEvU3lkbmV5IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTc5OTM0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9BbXN0ZXJkYW0iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMTM0NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQXRoZW5zIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTg0MTcxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CZWxncmFkZSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgwODM3NykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQmVybGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTIzMTI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcmF0aXNsYXZhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTQ4ODI0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CcnVzc2VscyIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM4NTkyNikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQnVjaGFyZXN0IixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjY0NTMxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9CdWRhcGVzdCIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDU5MDI0MykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvQ29wZW5oYWdlbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDM2Njk1MikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvRHVibGluIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDMwODY4KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9IZWxzaW5raSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNTE0MCkpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvSXN0YW5idWwiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMDc3OTgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xpc2JvbiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDUwNzIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL0xqdWJsamFuYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDQyMjAwNykpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvTG9uZG9uIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMjQ2NTA3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9MdXhlbWJvdXJnIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoOTc1NDQ3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9NYWRyaWQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MzE4OTIpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL01hbHRhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTYzMjM3KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9Nb3Njb3ciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0NDYwNzQpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL09zbG8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg4NDk3MzgpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1BhcmlzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNjE3ODc0KSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9QcmFndWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg1NDQ0MDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JpZ2EiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjk2NDMpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1JvbWUiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgyMjU5OTEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1NvZmlhIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNTA0MzEpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1N0b2NraG9sbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDI1NTUxMSkpfSwKb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1RhbGxpbm4iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg2NTIxNzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1ZpZW5uYSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDYxNDQyKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9WaWxuaXVzIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoMTAwMzAxKSl9LG9mZnNldDowfSx7aWQ6IkV1cm9wZS9XYXJzYXciLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxNjQ3MzYpKX0sb2Zmc2V0OjB9LHtpZDoiRXVyb3BlL1phZ3JlYiIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDc5MjM4NikpfSxvZmZzZXQ6MH0se2lkOiJFdXJvcGUvWnVyaWNoIixnZXQgdGl0bGUoKXtyZXR1cm4gbi50KG51bGwsdm9pZCAwLGkoNDczNDk2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQXVja2xhbmQiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg0MjE2KSl9LG9mZnNldDowfSx7aWQ6IlBhY2lmaWMvQ2hhdGhhbSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDgxODg0NikpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL0Zha2FvZm8iLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSgxMDQxNzcpKX0sb2Zmc2V0OjB9LHtpZDoiUGFjaWZpYy9Ib25vbHVsdSIsZ2V0IHRpdGxlKCl7cmV0dXJuIG4udChudWxsLHZvaWQgMCxpKDg5OTc5MSkpfSxvZmZzZXQ6MH0se2lkOiJQYWNpZmljL05vcmZvbGsiLGdldCB0aXRsZSgpe3JldHVybiBuLnQobnVsbCx2b2lkIDAsaSg5Njc0MTIpKX0sb2Zmc2V0OjB9XTtmdW5jdGlvbiBhKGUsdCxpKXtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm1hcCgoZT0+e2NvbnN0e2lkOnR9PWUse3N0cmluZzppLG9mZnNldDpufT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDp0LG9mZnNldDpuLGdldCB0aXRsZSgpe3JldHVybmAoJHtpfSkgJHtlLnRpdGxlfWB9fX0pKX0oZSkscj1pLmZpbHRlcigoKHthbGlhczplfSk9PkJvb2xlYW4oZSkpKS5tYXAoKGU9Pntjb25zdHthbGlhczp0LGlkOml9PWUse3N0cmluZzpuLG9mZnNldDpyfT0oMCxzLnBhcnNlVHpPZmZzZXQpKHQpO3JldHVybntpZDppLG9mZnNldDpyLGdldCB0aXRsZSgpe3JldHVybmAoJHtufSkgJHtlLnRpdGxlfWB9LGFsaWFzOnR9fSkpLG89ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc29ydCgoKGUsdCk9Pntjb25zdCBpPWUub2Zmc2V0LXQub2Zmc2V0O3JldHVybiAwIT09aT9pOmUudGl0bGUubG9jYWxlQ29tcGFyZSh0LnRpdGxlKX0pKX0obi5jb25jYXQocikpO3JldHVybiB0LmNvbmNhdChvKX1jb25zdCBsPWEobyxyLFtdKSxjPW5ldyBNYXA7bC5mb3JFYWNoKChlPT57Yy5zZXQoZS5pZCwhMCl9KSk7Y29uc3QgaD1uZXcgTWFwO3IuY29uY2F0KG8pLmZvckVhY2goKGU9PntoLnNldChlLmlkLCEwKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiBjLmhhcyhlKX1mdW5jdGlvbiB1KGUpe2Zvcihjb25zdHtpZDp0LHRpdGxlOml9b2YgbylpZih0PT09ZSl7cmV0dXJuYCR7aX0gKCR7KDAscy5wYXJzZVR6T2Zmc2V0KShlKS5zdHJpbmd9KWB9Zm9yKGNvbnN0e2lkOnQsdGl0bGU6aX1vZiBsKWlmKHQ9PT1lKXJldHVybmAke2l9YDtyZXR1cm4gZX19LDg4NDI4KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SG9yaXpvbnRhbEFsaWduOigpPT5zLFZlcnRpY2FsQWxpZ246KCk9Pm59KSxmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuUmlnaHQ9InJpZ2h0IixlLkNlbnRlcj0iY2VudGVyIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlRvcD0idG9wIixlLkJvdHRvbT0iYm90dG9tIixlLk1pZGRsZT0ibWlkZGxlIn0obnx8KG49e30pKX0sOTM3MDk4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1pLmQodCx7aXNOb25UcmFkYWJsZVN5bWJvbFR5cGU6KCk9PnN9KX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0saT1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpyfSx7cGF0dGVybjoiKSIsY3RvcjpvfSx7cGF0dGVybjoiKyIsY3RvcjpsfSx7cGF0dGVybjoiLSIsY3RvcjpjfSx7cGF0dGVybjoiKiIsY3RvcjpofSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3Rvcjp1fSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmd9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp2fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7cGF0dGVybjovJ1teJ10qLyxjdG9yOlN9LHtwYXR0ZXJuOi9bXDAtXHgyMFxzXSsvLGN0b3I6bn1dO2Z1bmN0aW9uIGkoZSx0KXt2YXIgaT1mdW5jdGlvbigpe307cmV0dXJuIGkucHJvdG90eXBlPXQucHJvdG90eXBlLGUucHJvdG90eXBlPW5ldyBpLGV9ZnVuY3Rpb24gcygpe31mdW5jdGlvbiBuKGUpe3RoaXMudmFsdWU9ZX1mdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIGMoKXt9ZnVuY3Rpb24gaCgpe31mdW5jdGlvbiBkKCl7fQpmdW5jdGlvbiB1KCl7fXMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LGkobixzKSxpKHIscyksci5wcm90b3R5cGUudmFsdWU9IigiLGkobyxzKSxvLnByb3RvdHlwZS52YWx1ZT0iKSIsaShhLHMpLGkobCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iKyIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iLSIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkoaCxhKSxoLnByb3RvdHlwZS52YWx1ZT0iKiIsaC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGgucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLGkoZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLGkodSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iXiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBwPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLF89L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGcoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGYoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIFMoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB2KCl7Zy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9aShtLHMpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1fLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9cC5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LGk9MjtpPj0xOy0taSl7dmFyIHM9dGhpcy5fdGlja2VyLnNsaWNlKDAsaSk7aWYoZShzKSl7dGhpcy5fcm9vdD1zLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShpKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0saShnLHMpLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0sZy5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0sZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0saShTLG0pLFMucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCxTLnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxpKHYsZyksdi5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciB5PW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIGIodCxpKXt2YXIgcyxyPVtdO2U6Zm9yKDtzPXkuZXhlYyh0KTspe2Zvcih2YXIgbz1lLmxlbmd0aDtvLS07KWlmKHNbbysxXSl7aWYoZVtvXS5jdG9yKXt2YXIgYT1uZXcgZVtvXS5jdG9yKHNbbysxXSk7YS5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGEpfWNvbnRpbnVlIGV9dmFyIGw9bmV3IGYoc1swXSk7bC5fb2Zmc2V0PXMuaW5kZXgsci5wdXNoKGwpfWlmKGkmJmkucmVjb3Zlcil7dmFyIGM7Zm9yKG89ci5sZW5ndGg7by0tOyl7dmFyIGg9cltvXQo7aWYoaCBpbnN0YW5jZW9mIGd8fGggaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1jKXt2YXIgZD1uZXcgbSgiIiksdT1yLnNwbGljZShvLGMtbysxLGQpO2QudmFsdWU9dS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWM9b31lbHNlIGggaW5zdGFuY2VvZiBufHwoYz12b2lkIDApfX1yZXR1cm4gcn1mdW5jdGlvbiB3KGUpe2Zvcih2YXIgdD1bXSxpPTA7aTxlLmxlbmd0aDtpKyspZVtpXWluc3RhbmNlb2Ygbnx8dC5wdXNoKGVbaV0pO3JldHVybiB0fWZ1bmN0aW9uIEMoZSl7ZT13KGUpO2Zvcih2YXIgdCxpPVtdLHM9W10sbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgbD1lW25dO2lmKGwgaW5zdGFuY2VvZiBhKXMubGVuZ3RoJiZzW3MubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bC5wcmVjZWRlbmNlJiYoc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWwucHJlY2VkZW5jZSk7ZWxzZSBpZihsIGluc3RhbmNlb2YgcilzLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6bn0pO2Vsc2UgaWYobCBpbnN0YW5jZW9mIG8pe3ZhciBjPWVbKHQ9cy5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0saD1lW24rMV07aCBpbnN0YW5jZW9mIGEmJiEoaC5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEoYyBpbnN0YW5jZW9mIGEpfHxjLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxjLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmMuY29tbXV0YXRpdmUpfHwoaS51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLGkucHVzaChuKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKG49aS5sZW5ndGg7bi0tOyllLnNwbGljZShpW25dLDEpO3JldHVybiBlfWZ1bmN0aW9uIFAoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPWIoZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1QKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4oZT1QKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOmIsdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixpPSJ2YXIiLHM9dCxsPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sYz1bXSxoPTA7aDxlLmxlbmd0aDtoKyspe2lmKCEoKHU9ZVtoXSlpbnN0YW5jZW9mIG4pKXtpZihkZWxldGUgbC5pc0VtcHR5LHUuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX07aWYodS5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnUuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGwud2FybmluZ3MucHVzaChkKSxoIT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYodSBpbnN0YW5jZW9mIG18fHUgaW5zdGFuY2VvZiBnKXtpZihzPT09aSl7bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnV9KTtjb250aW51ZX1zPWl9ZWxzZSBpZih1IGluc3RhbmNlb2YgYSl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9cz0ib3BlcmF0b3IifWVsc2UgaWYodSBpbnN0YW5jZW9mIHIpe2lmKHM9PT1pKXtsLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pO2NvbnRpbnVlfWMucHVzaCh1KSxzPXR9ZWxzZSBpZih1IGluc3RhbmNlb2Ygbyl7aWYocyE9PWkpe2wuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnUuX29mZnNldCx0b2tlbjp1fSk7Y29udGludWV9Yy5wb3AoKXx8bC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6dS5fb2Zmc2V0LHRva2VuOnUscmVjb3Zlcjp7cHJlcGVuZDpuZXcgcn19KSxzPWl9ZWxzZSB1IGluc3RhbmNlb2YgZiYmbC5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDp1Ll9vZmZzZXQsdG9rZW46dX0pfX1mb3IobC5icmFjZUJhbGFuY2U9Yy5sZW5ndGgscyE9PWkmJmwud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2MubGVuZ3RoOyl7dmFyIHU7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoodT1jLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnV9O3M9PT1pJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IG99KSxsLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGwuY3VycmVudFN0YXRlPXMsMD09PWwud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgbC53YXJuaW5ncywwPT09bC5lcnJvcnMubGVuZ3RoJiZkZWxldGUgbC5lcnJvcnMsbH0sZmFjdG9yT3V0QnJhY2VzOkMsbm9ybWFsaXplVG9rZW5zOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyc2UmJmVbdF0ucGFyc2UoKTtyZXR1cm4gZX0sZmxpcDpmdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlKXtmb3IodmFyIHQsaT0wLHM9MSxsPTIsYz0zLGg9aSx1PTAscD0wO3A8ZS5sZW5ndGg7cCsrKXt2YXIgXz1lW3BdCjtpZighKF8gaW5zdGFuY2VvZiBuKSlzd2l0Y2goaCl7Y2FzZSBpOmlmKCEoXyBpbnN0YW5jZW9mIGcmJjE9PStfLnZhbHVlKSlyZXR1cm4hMTtoPXM7YnJlYWs7Y2FzZSBzOmlmKCEoaD09PXMmJl8gaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTtoPWwsdD1wKzE7YnJlYWs7Y2FzZSBsOmlmKF8gaW5zdGFuY2VvZiByKWg9Yyx1PTE7ZWxzZSBpZihfIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGM6XyBpbnN0YW5jZW9mIHI/dSsrOl8gaW5zdGFuY2VvZiBvJiYtLXU8PTAmJihoPWwpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIEModHx8W25ldyBnKCIxIiksbmV3IGQsbmV3IHJdLmNvbmNhdChlKS5jb25jYXQobmV3IG8pKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHgoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4geChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiB4KGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6UCxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjpTLE51bWJlclRva2VuOmcsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOnIsQ2xvc2VCcmFjZVRva2VuOm8sdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1DKHcoYihlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLE0odCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIE0oQyh3KGIoZSkpKSl9fX0oKTtlLmV4cG9ydHM9aX0sODc0MzA2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1ZlcnNpb246KCk9Pm59KTt2YXIgcz1pKDEzODYzOCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21ham9yPWUsdGhpcy5fbWlub3I9dH1tYWpvcigpe3JldHVybiB0aGlzLl9tYWpvcn1taW5vcigpe3JldHVybiB0aGlzLl9taW5vcn1pc1plcm8oKXtyZXR1cm4gMD09PXRoaXMuX21ham9yJiYwPT09dGhpcy5fbWlub3J9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFqb3IrIi4iK3RoaXMuX21pbm9yfWNvbXBhcmVUbyhlKXtyZXR1cm4gdGhpcy5fbWFqb3I8ZS5fbWFqb3I/LTE6dGhpcy5fbWFqb3I+ZS5fbWFqb3I/MTp0aGlzLl9taW5vcjxlLl9taW5vcj8tMTp0aGlzLl9taW5vcj5lLl9taW5vcj8xOjB9aXNMZXNzKGUpe3JldHVybiB0aGlzLmNvbXBhcmVUbyhlKTwwfWlzTGVzc09yRXF1YWwoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPD0wfWlzRXF1YWwoZSl7cmV0dXJuIDA9PT10aGlzLmNvbXBhcmVUbyhlKX1pc0dyZWF0ZXIoZSl7cmV0dXJuIHRoaXMuY29tcGFyZVRvKGUpPjB9aXNHcmVhdGVyT3JFcXVhbChlKXtyZXR1cm4gdGhpcy5jb21wYXJlVG8oZSk+PTB9c3RhdGljIHBhcnNlKGUpe2lmKGUgaW5zdGFuY2VvZiBuKXJldHVybiBuZXcgbihlLm1ham9yKCksZS5taW5vcigpKTtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuKDAscy5hc3NlcnQpKE1hdGguZmxvb3IoZSk9PT1lLCJWZXJzaW9uIHNob3VsZCBub3QgYmUgYSBmbG9hdCBudW1iZXIiKSxuZXcgbihlLDApO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1lLnNwbGl0KCIuIik7aWYoMT09PXQubGVuZ3RoKXtjb25zdCBpPXBhcnNlSW50KHRbMF0sMTApO3JldHVybigwLHMuYXNzZXJ0KSghaXNOYU4oaSksIkJhZCB2ZXJzaW9uIHN0cmluZzogIitlKSxuZXcgbihpLDApfWlmKDI9PT10Lmxlbmd0aCl7Y29uc3QgaT1wYXJzZUludCh0WzBdLDEwKTsoMCxzLmFzc2VydCkoIWlzTmFOKGkpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSk7Y29uc3Qgcj1wYXJzZUludCh0WzFdLDEwKTtyZXR1cm4oMCxzLmFzc2VydCkoIWlzTmFOKHIpLCJCYWQgdmVyc2lvbiBzdHJpbmc6ICIrZSksbmV3IG4oaSxyKX10aHJvdyBuZXcgRXJyb3IoIkJhZCB2ZXJzaW9uIHN0cmluZyAob25lIGRvdCBleHBlY3RlZCk6ICIrZSl9dGhyb3cgbmV3IEVycm9yKCJCYWQgdmVyc2lvbjogIitlKX19bi5aRVJPPW5ldyBuKDAsMCl9LDE1OTUxMyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBzPWkoOTI3NTkzKSxuPWkoNzU1NjI3KSxyPWkoMTUwMTUwKTtjb25zdCBvPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBvW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtvW2VdPXR9KGUsbmV3IHMuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgaChlKS5zbmFwc2hvdH19KSksb1tlXX1jb25zdCBsPXsKc2ltcGxlOlsiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJsb2dvIiwiY2giLCJjaHAiLCJjdXJyZW5jeS1sb2dvaWQiLCJjdXJyZW5jeV9jb2RlIiwiY3VycmVuY3lfaWQiLCJiYXNlX2N1cnJlbmN5X2lkIiwiY3VycmVudF9zZXNzaW9uIiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImZvcm1hdCIsImZyYWN0aW9uYWwiLCJpc190cmFkYWJsZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsaXN0ZWRfZXhjaGFuZ2UiLCJsb2dvaWQiLCJscCIsImxwX3RpbWUiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsIm9yaWdpbmFsX25hbWUiLCJwcmljZXNjYWxlIiwicHJvX25hbWUiLCJzaG9ydF9uYW1lIiwidHlwZSIsInR5cGVzcGVjcyIsInVwZGF0ZV9tb2RlIiwidm9sdW1lIiwidmFyaWFibGVfdGlja19zaXplIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl19O2wuc2ltcGxlRGV0YWlsZWQ9Wy4uLmwuc2ltcGxlLCJhc2siLCJiaWQiLCJmdW5kYW1lbnRhbHMiLCJoaWdoX3ByaWNlIiwiaXNfdHJhZGFibGUiLCJsb3dfcHJpY2UiLCJvcGVuX3ByaWNlIiwicHJldl9jbG9zZV9wcmljZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsInN0YXR1cyIsImJhc2ljX2Vwc19uZXRfaW5jb21lIiwiYmV0YV8xX3llYXIiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwicHJpY2VfZWFybmluZ3NfdHRtIiwic2VjdG9yIiwidm9sdW1lIiwiZGl2aWRlbmRzX3lpZWxkIiwidGltZXpvbmUiXSxsLmZ1bGw9W10sbC53YXRjaGxpc3Q9Wy4uLmwuc2ltcGxlLCJyY2hwIiwibmNocCIsInJ0YyIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZWFybmluZ3NfYXZhaWxhYmlsaXR5Il0sbC5wb3J0Zm9saW89WyJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsImRlc2NyaXB0aW9uIiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInNlY3RvciIsInR5cGUiLCJ0eXBlc3BlY3MiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImNoIiwiY2hwIiwibG9nbyIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImxwIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwicHJpY2VzY2FsZSIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9jYWxjIiwibWFya2V0X2NhcF9iYXNpYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsImZvcm1hdCIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwubm90ZXM9WyJzaG9ydF9uYW1lIiwicHJvX25hbWUiLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIl0sbC5lc3RpbWF0ZXM9WyJmdW5kYW1lbnRhbF9kYXRhIiwidHlwZSIsInR5cGVzcGVjcyIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X3N5bWJvbF9jdXJyZW5jeV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9hbGlnbmVkX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sbC5lY29ub21pYz1bInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImxwIiwiY3VycmVuY3lfY29kZSIsInZhbHVlX3VuaXRfaWQiLCJ1bml0X2lkIiwibWVhc3VyZSJdLGwub3B0aW9ucz1bImFzayIsImJpZCIsImxwIiwidm9sdW1lIiwiY2giLCJjaHAiXTtjbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlPXt9LHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzPXt9LHRoaXMuZm9ybWF0dGVyPShlLHQpPT57aWYodGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV0pcmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdO2Z1bmN0aW9uIGkoZSl7Y29uc3QgaT10JiYhZS5mcmFjdGlvbmFsPzE6ZS5taW5tb3Y7cmV0dXJuIG5ldyBuLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZSxtaW5Nb3ZlOmksZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pfWNvbnN0IHM9bmV3IFByb21pc2UoKCh0LHMpPT57aWYodGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pdChpKHRoaXMuX2Zvcm1hdHRlclZhbHVlc0NhY2hlW2VdKSk7ZWxzZXtjb25zdCBuPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUobixbZV0sKHI9PnsiZXJyb3IiPT09ci5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1udWxsLHMoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChpKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1zLHN9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSwKdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90PXt9LHRoaXMuc25hcHNob3Q9ZT0+e2lmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdO2NvbnN0IHQ9bmV3IFByb21pc2UoKCh0LGkpPT57aWYodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSl0KHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV0pO2Vsc2V7Y29uc3Qgcz0oMCxyLmd1aWQpKCk7dGhpcy5fbXVsdGlwbGV4ZXIuc3Vic2NyaWJlKHMsW2VdLChuPT57ImVycm9yIj09PW4uc3RhdHVzJiYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPW51bGwsaSgiUXVvdGVzIHNuYXBzaG90IGlzIG5vdCByZWNlaXZlZCIpKTtjb25zdCByPW4udmFsdWVzO3ImJnIubWlubW92JiZyLnByaWNlc2NhbGUmJnIuZGVzY3JpcHRpb24mJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCx0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdPXIsdChyKSx0aGlzLl9tdWx0aXBsZXhlci51bnN1YnNjcmliZShzLGUpKX0pKX19KSk7cmV0dXJuIHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT10LHR9LHRoaXMuX211bHRpcGxleGVyPWV9fSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93LmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlPWEpfSw1Njk4NDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlQWxpYXNTeW1ib2xJbmZvV1Y6KCk9PnUsY3JlYXRlU3ltYm9sT3JBbGlhc1dWOigpPT5wLGdldFN5bWJvbEFsaWFzU2VydmljZTooKT0+ZH0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTMwNTY2KSxyPWkoOTQ4MzgwKSxvPWkoOTUyOTAwKSxhPWkoMjQxOTU2KTtmdW5jdGlvbiBsKGUpe3JldHVybiJTeW1ib2xBbGlhc1NlcnZpY2UiKyhlP2BfJHtlfWA6IiIpfWNsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25DaGFuZ2VkPW5ldyByLkRlbGVnYXRlO2NvbnN0IHQ9ZS5zdGF0ZT8/bi5nZXRKU09OKGwoZT8uaWQpKT8/W107dGhpcy5fYWxpYXNlc0J5UHJvTmFtZT1uZXcgTWFwKHQpLHRoaXMuX2FsaWFzZXNCeU5hbWU9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2FsaWFzZXNCeVByb05hbWUudmFsdWVzKCkpLm1hcCgoZT0+W2UuYWxpYXNOYW1lLGVdKSkpLHRoaXMuX2NvbnRleHQ9ZX1nZXRBbGxBbGlhc2VzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS52YWx1ZXMoKSl9Z2V0QWxpYXNCeVByb05hbWUoZSl7cmV0dXJuIHRoaXMuX2FsaWFzZXNCeVByb05hbWUuZ2V0KGUpPz9udWxsfWdldEFsaWFzQnlOYW1lKGUpe3JldHVybiB0aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKT8/bnVsbH1hZGRBbGlhcyhlKXtpZih0aGlzLl9hbGlhc2VzQnlOYW1lLmhhcyhlLmFsaWFzTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyAke2UuYWxpYXNOYW1lfSBhbHJlYWR5IGV4aXN0c2ApO2lmKHRoaXMuX2FsaWFzZXNCeVByb05hbWUuaGFzKGUuc3ltYm9sUHJvTmFtZSkpdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBmb3Igc3ltYm9sICR7ZS5zeW1ib2xQcm9OYW1lfSBhbHJlYWR5IGV4aXN0c2ApO3RoaXMuX2FsaWFzZXNCeVByb05hbWUuc2V0KGUuc3ltYm9sUHJvTmFtZSxlKSx0aGlzLl9hbGlhc2VzQnlOYW1lLnNldChlLmFsaWFzTmFtZSxlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLnN5bWJvbFByb05hbWUsZS5hbGlhc05hbWUsZSksdGhpcy5fc2F2ZSgpfXVwZGF0ZUFsaWFzKGUpe2NvbnN0IHQ9dGhpcy5fYWxpYXNlc0J5TmFtZS5nZXQoZS5hbGlhc05hbWUpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQWxpYXMgJHtlLmFsaWFzTmFtZX0gZG9lcyBub3QgZXhpc3RgKTtpZigic3ltYm9sUHJvTmFtZSJpbiBlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHVwZGF0ZSBhbGlhcyBwcm8gbmFtZSIpOygwLHMubWVyZ2UpKHQsZSksdGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5zZXQodC5zeW1ib2xQcm9OYW1lLHQpLHRoaXMuX2FsaWFzZXNCeU5hbWUuc2V0KHQuYWxpYXNOYW1lLHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHQuc3ltYm9sUHJvTmFtZSx0LmFsaWFzTmFtZSx0KSx0aGlzLl9zYXZlKCl9cmVtb3ZlQWxpYXMoZSl7Y29uc3QgdD10aGlzLl9hbGlhc2VzQnlOYW1lLmdldChlKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEFsaWFzICR7ZX0gbm90IGZvdW5kYCk7dGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5kZWxldGUodC5zeW1ib2xQcm9OYW1lKSx0aGlzLl9hbGlhc2VzQnlOYW1lLmRlbGV0ZShlKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLHQuc3ltYm9sUHJvTmFtZSxudWxsKSx0aGlzLl9zYXZlKCl9b25BbGlhc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VkfXN0YXRlKGUpe2NvbnN0IHQ9bmV3IFNldChlPz9bXSk7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpLmZpbHRlcigoKFtpXSk9PiFlfHx0LmhhcyhpKSkpfV9zYXZlKCl7bi5zZXRKU09OKGwodGhpcy5fY29udGV4dD8uaWQpLEFycmF5LmZyb20odGhpcy5fYWxpYXNlc0J5UHJvTmFtZS5lbnRyaWVzKCkpKX19Y29uc3QgaD1uZXcgTWFwO2Z1bmN0aW9uIGQoZSl7Y29uc3QgdD1lPz97aWQ6IiJ9O2xldCBpPWguZ2V0KHQuaWQpO3JldHVybiBpfHwoaT1uZXcgYyh0KSksaC5zZXQodC5pZCxpKSxpfWZ1bmN0aW9uIHUoZSx0KXtyZXR1cm4gdD8oMCxvLmNvbWJpbmUpKCgoZSxpKT0+e2lmKCFlKXJldHVybiBudWxsO2NvbnN0IHM9dC5nZXRBbGlhc0J5UHJvTmFtZShlLnByb19uYW1lKTtyZXR1cm57Li4uZSxuYW1lOnM/LmFsaWFzTmFtZT8/ZS5uYW1lLGRlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9uLGxvY2FsX2Rlc2NyaXB0aW9uOnM/LmRlc2NyaXB0aW9uPz9lLmxvY2FsX2Rlc2NyaXB0aW9uLC4uLnM/LmZvcm1hdHRpbmdPcHRpb25zfX0pLGUsKDAsYS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKChlPT4oZT8/MCkrMSksdC5vbkFsaWFzQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCk6ZX1mdW5jdGlvbiBwKGUsdCxpKXtyZXR1cm4gaT8oMCxvLmNvbWJpbmUpKCgoZSx0LHMpPT57CmlmKCF0KXJldHVybiBlO2NvbnN0IG49aS5nZXRBbGlhc0J5UHJvTmFtZSh0LnByb19uYW1lKTtyZXR1cm4gbj8uYWxpYXNOYW1lPz9lfSksZSx0LCgwLGEuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoZT0+KGU/PzApKzEpLGkub25BbGlhc0NoYW5nZWQoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpOmV9fSw1ODU5MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U2NyaXB0VHlwZTooKT0+c30pLGZ1bmN0aW9uKGUpe2VbZS5JbmRpY2F0b3I9MV09IkluZGljYXRvciIsZVtlLlN0cmF0ZWd5PTJdPSJTdHJhdGVneSIsZVtlLkxpYnJhcnk9M109IkxpYnJhcnkifShzfHwocz17fSkpfSw2ODY1MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0UHVibGljYXRpb25UeXBlOigpPT5vLGltcG9ydEVudHJ5Q29tcG9uZW50OigpPT5hfSk7dmFyIHM9aSg1ODU5MjcpO2NvbnN0IG49bmV3IFNldChbcy5TY3JpcHRUeXBlLkluZGljYXRvcixzLlNjcmlwdFR5cGUuTGlicmFyeSxzLlNjcmlwdFR5cGUuU3RyYXRlZ3ksImluZGljYXRvciIsImxpYnJhcnkiLCJzdHJhdGVneSJdKTt2YXIgcjtmdW5jdGlvbiBvKHtpc1ZpZGVvOmUsaXNTY3JpcHQ6dCxzY3JpcHRUeXBlOml9KXtzd2l0Y2goITApe2Nhc2UgZTpyZXR1cm4idmlkZW8iO2Nhc2UgdDpjYXNlIG4uaGFzKGl8fCIiKTpyZXR1cm4ic2NyaXB0IjtkZWZhdWx0OnJldHVybiJpZGVhIn19YXN5bmMgZnVuY3Rpb24gYShlKXtzd2l0Y2goZSl7Y2FzZSJ2aWRlbyI6cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzE2NjEpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSg1MTg0KSxpLmUoNTYyNTIpLGkuZSg4MzQ4OCksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDY2MjcwKSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSg5NzY2MCksaS5lKDQ2NTkxKSxpLmUoNzE1MjgpLGkuZSgzMzEyMCksaS5lKDQ0NzcpLGkuZSgxNTA5KSxpLmUoNTUzMzYpLGkuZSg5MjM5MyksaS5lKDIwMjcxKSxpLmUoOTE2NzgpLGkuZSgyNzczNiksaS5lKDgwNzMxKSxpLmUoNzYzMjkpLGkuZSg2OTc0NyksaS5lKDI3NTQ5KSxpLmUoNjI4MDYpLGkuZSg1MjkyMCksaS5lKDM4ODY4KSxpLmUoMTY0MjEpLGkuZSgxNDY0MCksaS5lKDQwNDIpLGkuZSgzNjM1NiksaS5lKDIyMTQ0KSxpLmUoODM1MjkpLGkuZSg1OTgzMCksaS5lKDU5NDM3KSxpLmUoNzA3NTYpLGkuZSg3NDU2KSxpLmUoMjk5NDMpLGkuZSg2Mjg5MiksaS5lKDIyNDY0KSxpLmUoODQzMzUpLGkuZSgyMDEzKSxpLmUoMzMxMCksaS5lKDU3NTYpLGkuZSg3NDQ2MSksaS5lKDgzMjYxKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoODY0MTMpXSkudGhlbihpLmJpbmQoaSwzMzYyMzgpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld1ZpZGVvKSk7Y2FzZSJzY3JpcHQiOgpyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZSgxNDY5MyksaS5lKDg0MzA2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDQ5NTg4KSxpLmUoNDc2MzIpLGkuZSg3NDM4MSksaS5lKDUwMjIxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTczMDApLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMzI3NDgpLGkuZSgxNjc2KSxpLmUoNjYyNzApLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSg1MTY4MiksaS5lKDcxNDgyKSxpLmUoMzc3NjcpLGkuZSgxOTUxMyksaS5lKDk3NjYwKSxpLmUoNDY1OTEpLGkuZSg3MTUyOCksaS5lKDMzMTIwKSxpLmUoNDQ3NyksaS5lKDE1MDkpLGkuZSg1NTMzNiksaS5lKDkyMzkzKSxpLmUoMjAyNzEpLGkuZSg5MTY3OCksaS5lKDI3NzM2KSxpLmUoODA3MzEpLGkuZSg3NjMyOSksaS5lKDY5NzQ3KSxpLmUoMjc1NDkpLGkuZSg2MjgwNiksaS5lKDUyOTIwKSxpLmUoMzg4NjgpLGkuZSgxNjQyMSksaS5lKDE0NjQwKSxpLmUoNDA0MiksaS5lKDM2MzU2KSxpLmUoMjIxNDQpLGkuZSg4MzUyOSksaS5lKDU5ODMwKSxpLmUoNTk0MzcpLGkuZSg3MDc1NiksaS5lKDc0NTYpLGkuZSgyOTk0MyksaS5lKDYyODkyKSxpLmUoMjI0NjQpLGkuZSg4NDMzNSksaS5lKDIwMTMpLGkuZSgzMzEwKSxpLmUoNTc1NiksaS5lKDI3NTEzKSxpLmUoMzIzODcpLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg4MTg2OCksaS5lKDIzNzQzKSxpLmUoNDIyODgpLGkuZSg3NzU3OCksaS5lKDg5NDYpLGkuZSg0ODg1NCksaS5lKDYxMTgzKSxpLmUoMTk0NjMpLGkuZSgzMDQyMSksaS5lKDI3OTEzKSxpLmUoMjk4NDQpLGkuZSg5NjA3OCksaS5lKDMzNjcpLGkuZSgzODAxNiksaS5lKDcxNTY1KV0pLnRoZW4oaS5iaW5kKGksOTc5NDEzKSkudGhlbigoZT0+ZS5QdWJsaWNhdGlvblZpZXdTY3JpcHQpKTtjYXNlImlkZWEiOnJldHVybiBQcm9taXNlLmFsbChbaS5lKDE0NjkzKSxpLmUoODQzMDYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoOTUwNCksaS5lKDQwODM1KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoNTAyMjEpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgzMjc0OCksaS5lKDE2NzYpLGkuZSg2NjI3MCksaS5lKDk3NDQpLGkuZSg4MzA0MSksaS5lKDUxNjgyKSxpLmUoNzE0ODIpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoOTc2NjApLGkuZSg0NjU5MSksaS5lKDcxNTI4KSxpLmUoMzMxMjApLGkuZSg0NDc3KSxpLmUoMTUwOSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSgyMDI3MSksaS5lKDkxNjc4KSxpLmUoMjc3MzYpLGkuZSg4MDczMSksaS5lKDc2MzI5KSxpLmUoNjk3NDcpLGkuZSgyNzU0OSksaS5lKDYyODA2KSxpLmUoNTI5MjApLGkuZSgzODg2OCksaS5lKDE2NDIxKSxpLmUoMTQ2NDApLGkuZSg0MDQyKSxpLmUoMzYzNTYpLGkuZSgyMjE0NCksaS5lKDgzNTI5KSxpLmUoNTk4MzApLGkuZSg1OTQzNyksaS5lKDcwNzU2KSxpLmUoNzQ1NiksaS5lKDI5OTQzKSxpLmUoNjI4OTIpLGkuZSgyMjQ2NCksaS5lKDg0MzM1KSxpLmUoMjAxMyksaS5lKDMzMTApLGkuZSg1NzU2KSxpLmUoMjc1MTMpLGkuZSgzMjM4NyksaS5lKDcwNzEyKSxpLmUoODc4NTgpLGkuZSg1OTYxOSksaS5lKDgxODY4KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoODk0NiksaS5lKDQ4ODU0KSxpLmUoNjExODMpLGkuZSgxOTQ2MyksaS5lKDMwNDIxKSxpLmUoMjc5MTMpLGkuZSgyOTg0NCksaS5lKDk2MDc4KSxpLmUoMzM2NyksaS5lKDM4MDE2KSxpLmUoMTkyMTMpXSkudGhlbihpLmJpbmQoaSw0OTA2NjkpKS50aGVuKChlPT5lLlB1YmxpY2F0aW9uVmlld0lkZWEpKX19IWZ1bmN0aW9uKGUpe2UuSWRlYT0iaWRlYSIsZS5TY3JpcHQ9InNjcmlwdCIsZS5WaWRlbz0idmlkZW8ifShyfHwocj17fSkpfSwzODcxMDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c2hvd0RldGFpbHNEaWFsb2c6KCk9Pm99KTt2YXIgcz1pKDI5NjI2Mik7bGV0IG47Y2xhc3MgciBleHRlbmRzIHMuRGlhbG9nUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3Byb21pc2U9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7CmNvbnN0IHQ9dGhpcy5fcHJvbWlzZT1Qcm9taXNlLmFsbChbaS5lKDkzNzQ1KSxpLmUoNjYwMDIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoODM0ODgpLGkuZSgyNzUxNyksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDk4MDg0KSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoMzM1MTUpLGkuZSgxNDYyNSksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoODkyMDQpLGkuZSg5MTg1NSksaS5lKDQzNjQ0KSxpLmUoNTgwNTEpLGkuZSg2OTg2MSksaS5lKDU1MDExKSxpLmUoNDUzNjgpLGkuZSgzMDM3MyksaS5lKDIxNTgxKSxpLmUoNTE4ODApLGkuZSgxODQ3MiksaS5lKDQ3MDkyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDIxMjQ1KSxpLmUoNTY4OSksaS5lKDI1NTYyKSxpLmUoMjYxMDApLGkuZSgyOTM0OCksaS5lKDM2OTg2KSxpLmUoNjMwMzMpLGkuZSgyODkzNiksaS5lKDQ3NTUxKSxpLmUoNzM5NjApLGkuZSgyNTExKSxpLmUoNjM3MjMpLGkuZSgyMDA4NSksaS5lKDM2NTIxKSxpLmUoMjcyMTcpLGkuZSgyMjQwNSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg3ODMxMiksaS5lKDQ0NzgwKSxpLmUoMTM4MDUpLGkuZSg0MjI4OCksaS5lKDY5Njk3KSxpLmUoODAyMDcpLGkuZSg5NzY0NyksaS5lKDgzOTM1KSxpLmUoNTMyOTcpLGkuZSgzOTYwNiksaS5lKDY3ODUzKSxpLmUoMzcxMDYpLGkuZSgzNzI1OSksaS5lKDc0OTEpLGkuZSg4MDkxMildKS50aGVuKGkuYmluZChpLDgyOTA5NykpLnRoZW4oKGk9Pnt0aGlzLl9wcm9taXNlPT09dCYmKHRoaXMuX2RpYWxvZyYmKHRoaXMuX2RpYWxvZy5oaWRlKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpKSx0aGlzLl9kaWFsb2c9bmV3IGkuRGV0YWlsc0RpYWxvZ1JlbmRlcmVyLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nLnNob3coZSkpfSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn19ZnVuY3Rpb24gbyhlKXtyLmdldEluc3RhbmNlKCkuc2hvdyhlKX19LDY1OTY0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtpc0RldGFpbHNSZWFkeTooKT0+c30pO2NvbnN0IHM9bmV3KGkoMjMyMzY0KS5XYXRjaGVkVmFsdWUpKCExKX0sNzI4NjM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVN5bWJvbE5vdGU6KCk9PmMsc2hvd1N5bWJvbE5vdGVzOigpPT5sfSk7dmFyIHM9aSg1NTExOTMpLG49aSg2NTk2NDcpLHI9aSg5NzEwNTEpO2xldCBvPW51bGw7ZnVuY3Rpb24gYShlLHQpe2lmKG8mJm4uaXNEZXRhaWxzUmVhZHkudW5zdWJzY3JpYmUobyksbz0oKT0+e2NvbnN0IGk9d2luZG93Py53aWRnZXRiYXI/LmxheW91dD8uZ2V0V2lkZ2V0QnlUeXBlKCJkZXRhaWwiKT8ud2lkZ2V0T2JqZWN0O2kubmF2aWdhdGUoZSx0KX0sbi5pc0RldGFpbHNSZWFkeS52YWx1ZSgpKXJldHVybiBvKCksdm9pZChvPW51bGwpO24uaXNEZXRhaWxzUmVhZHkuc3Vic2NyaWJlKG8se29uY2U6ITB9KX1mdW5jdGlvbiBsKGU9bnVsbCx0KXtjb25zdCBpPSgwLHIucGF0aFRvR3JvdXApKGU/PyIiKTt0PygwLHMuc2hvd05vdGVzRGlhbG9nKShpKTphKGkpfWZ1bmN0aW9uIGMoZT1udWxsLHQpe2NvbnN0IGk9KDAsci5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmKDAscy5zaG93Tm90ZXNEaWFsb2cpKGkpLGEoaSl9fSw5NzEwNTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7R1JPVVBfUEFUSF9QQVRURVJOOigpPT5uLE5PVEVTX1BBVEhfUEFUVEVSTjooKT0+cyxVTkFUVEVOREVEX1BBVEhfUEFUVEVSTjooKT0+cixwYXRoVG9Hcm91cDooKT0+b30pO2NvbnN0IHM9Ii9ub3Rlcy8iLG49Ii9ub3Rlcy9ncm91cHMvOnN5bWJvbC8iLHI9Ii9ub3Rlcy91bmF0dGVuZGVkLyI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9uLnJlcGxhY2UoIjpzeW1ib2wiLGVuY29kZVVSSUNvbXBvbmVudChlKSk6cn19LDgyNzAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2F2YWlsYWJsZU9mZmVyczooKT0+bn0pO3ZhciBzPWkoMzg0MDE3KTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzSW52YWxpZD0hMCx0aGlzLl9vZmZlcnM9e319cnVuT3JVcGRhdGUoZSl7dGhpcy5faXNJbnZhbGlkP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgoKT0+dGhpcy5fdXBkYXRlT2ZmZXJzKCkudGhlbihlKSkpOnNldFRpbWVvdXQoKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSwwKTplKHRoaXMuX29mZmVycyl9Z2V0RGF0YSgpe3JldHVybiB0aGlzLl9vZmZlcnN9aW52YWxpZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ9ITAsd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSx0aGlzLnJ1bk9yVXBkYXRlKGU/PygoKT0+e30pKX1zZXRJbml0aWFsKGUpe3RoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9ZSx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXRoaXMuX29mZmVyc31lbnN1cmVPZmZlcnMoKXtyZXR1cm4gbmV3IFByb21pc2UoKGU9PnRoaXMucnVuT3JVcGRhdGUoZSkpKX13aXRoQXZhaWxhYmxlT2ZmZXJzKGUpe3JldHVybiBhc3luYyguLi50KT0+KGF3YWl0IHRoaXMuZW5zdXJlT2ZmZXJzKCksZSguLi50KSl9YXN5bmMgX3VwZGF0ZU9mZmVycygpe3JldHVybiB3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzfHwod2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz17fSksCnRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U/dGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZTp0aGlzLl9pc0ludmFsaWQ/KHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U9KDAscy5mZXRjaCkoIi9hcGkvdjEvb2ZmZXJzLyIse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChhc3luYyBlPT57Y29uc3QgdD1hd2FpdCBlLmpzb24oKTtyZXR1cm4gZGVsZXRlIHRoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2UsdGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1PYmplY3QuZW50cmllcyh0KS5yZWR1Y2UoKChlLFt0LGldKT0+KGkmJihlW3RdPWkpLGUpKSx7fSksd2luZG93LnVzZXIuYXZhaWxhYmxlX29mZmVycz10aGlzLl9vZmZlcnMsdH0pKS5jYXRjaCgoKCk9Pih7fSkpKSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlKTp0aGlzLl9vZmZlcnN9fX0sMjMyOTQ4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldFByb2R1Y3RJZDooKT0+aCxpc0V4Y2hhbmdlOigpPT5jLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmwsaXNQcm86KCk9Pm8saXNQcm9kdWN0RGVmaW5lZDooKT0+bixpc1RyaWFsOigpPT5yfSk7dmFyIHM9aSg1ODE4OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIG8oZSkmJiFyKGUpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnR5cGU9PT1zLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGU/YyhlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sNTgxODkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Byb2R1Y3RUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHN8fChzPXt9KSl9LDc3NDUwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtVc2VyU3RhdHVzOigpPT5zfSk7dmFyIHMsbj1pKDg2NDAzNCkscj1pKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oc3x8KHM9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09cy5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDYwMjM4NihlLHQsaSl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIHMoKXtyZXR1cm4oYXdhaXQgaS5lKDg1MjI3KS50aGVuKGkuYmluZChpLDUwMzE4NSkpKS5vcGVuZWRQaW5lU2NyaXB0c31pLmQodCx7Z2V0T3BlbmVkUGluZVNjcmlwdHM6KCk9PnN9KX0sMjQ2OTg2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2VkaXRvclRlbGVtZXRyeTooKT0+bn0pO3ZhciBzPWkoMTU2ODUwKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX29wZW5TdGFydFRpbWU9bnVsbH1zdGFydE9wZW5pbmcoKXt0aGlzLl9vcGVuU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWZpbmlzaE9wZW5pbmcoKXtudWxsIT09dGhpcy5fb3BlblN0YXJ0VGltZSYmKHMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoInBpbmUiLCJvcGVuX2VkaXRvcl90aW1lX2ZyYW1lIix7dmFsdWU6TWF0aC5yb3VuZChwZXJmb3JtYW5jZS5ub3coKS10aGlzLl9vcGVuU3RhcnRUaW1lKX0pLHRoaXMuX29wZW5TdGFydFRpbWU9bnVsbCl9fX0sNTQyMTY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5vfSk7dmFyIHM9aSgzNjIyMzkpO2NvbnN0IG49W107dmFyIHI7YXN5bmMgZnVuY3Rpb24gbyhlLHQpe2NvbnN0IGk9YXdhaXQoMCxzLmdldFRyYWNrZXIpKCkscj17ZXZlbnRfbmFtZTplLGV2ZW50X3BhcmFtOnQ/SlNPTi5zdHJpbmdpZnkodCk6bnVsbCx1c2VyX3BsYW46d2luZG93LnVzZXIucHJvX3BsYW58fCh3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8iZnJlZSI6InZpc2l0b3IiKX07aWYoaSl7aWYobi5sZW5ndGg+MCl7Zm9yKGNvbnN0IGUgb2YgbilpLnRyYWNrRWRpdG9yRXZlbnQoZSk7bi5sZW5ndGg9MH1pLnRyYWNrRWRpdG9yRXZlbnQocil9ZWxzZSBuLnB1c2gocil9IWZ1bmN0aW9uKGUpe2UuVmlldz0idmlldyIsZS5WaWV3UGluZT0idmlld19waW5lIixlLkV4cGVyaW1lbnQ9ImV4cGVyaW1lbnQiLGUuQXV0b2NvbXBsZXRlPSJhdXRvY29tcGxldGUiLGUuRmlyc3RFZGl0aW5nPSJmaXJzdF9lZGl0aW5nIixlLlRvcFBhbmVsQWN0aW9uPSJ0b3BfcGFuZWxfY2xpY2siLGUuSG92ZXJBbmNob3JMaW5rPSJob3Zlcl9hbmNob3JfbGluayIsZS5PcGVuUmVmZXJlbmNlRG9jPSJvcGVuX3JlZmVyZW5jZV9kb2MiLGUuT3BlblJlZmVyZW5jZUltcG9ydD0ib3Blbl9yZWZlcmVuY2VfaW1wb3J0IixlLkNsaWNrQWR2YW5jZWRNZW51PSJjbGlja19hZHZhbmNlZF9tZW51IixlLlN0YXR1c0Jhcj0ic3RhdHVzX2JhciIsZS5PdmVybG9hZE9wZXJhdGlvbj0ib3ZlcmxvYWRfb3BlcmF0aW9uIixlLkNoYXJ0Rmxvdz0iY2hhcnRfZmxvdyIsZS5JbnBsYWNlRGlmZkVkaXRvcj0iaW5wbGFjZV9kaWZmX2VkaXRvciIsZS5Db21waWxhdGlvblRpbWU9ImNvbXBpbGF0aW9uX3RpbWUiLGUuUHJvZmlsZXI9InByb2ZpbGVyIiwKZS5FZGl0b3JVc2VyRnVubmVsPSJlZGl0b3JfdXNlcl9mdW5uZWwiLGUuVmVyc2lvbkhpc3Rvcnk9InZlcnNpb25faGlzdG9yeSIsZS5TaG9ydFRpdGxlTGVuZ3RoV2FybmluZ0ZpeGVkPSJzaG9ydF90aXRsZV9sZW5ndGhfd2FybmluZ19maXhlZCIsZS5FZGl0b3JFcnJvcj0iZWRpdG9yX2Vycm9yIixlLlBhc3RlPSJwYXN0ZSIsZS5Cb3R0b21EdXBsaWNhdGVQb3B1cD0iYm90dG9tX2R1cGxpY2F0ZV9wb3B1cCIsZS5TZXR0aW5ncz0iZWRpdG9yX3NldHRpbmdzIn0ocnx8KHI9e30pKX0sMzQyMjAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVQaW5lRWRpdG9yRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyNDY5ODYpLG49aSg2MDIzODYpO2FzeW5jIGZ1bmN0aW9uIHIoZSl7Y29uc3R7c2NyaXB0OnQscGFyYW1zOml9PWUuc2NyaXB0SW5mbztpZihudWxsPT09dHx8dm9pZCAwPT09dC52ZXJzaW9uKXJldHVybiExO2NvbnN0IHM9d2luZG93LlRyYWRpbmdWaWV3Py5ib3R0b21XaWRnZXRCYXI7aWYodm9pZCAwPT09c3x8IXMuaXNXaWRnZXRFbmFibGVkKCJzY3JpcHRlZGl0b3IiKSlyZXR1cm4hMTtjb25zdCByPShhd2FpdCgwLG4uZ2V0T3BlbmVkUGluZVNjcmlwdHMpKCkpLmdldFNjcmlwdEluZm8oe3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCxzY3JpcHRWZXJzaW9uOnQudmVyc2lvbn0pO3JldHVybiEobnVsbD09PXJ8fHIuYm90dG9tQ291bnQ8PTApJiYocy5hY3RpdmF0ZVNjcmlwdEVkaXRvclRhYihudWxsLGkpLCEwKX1hc3luYyBmdW5jdGlvbiBvKGUpe2lmKGUub3BlblNvdXJjZUlkJiZzLmVkaXRvclRlbGVtZXRyeS5zdGFydE9wZW5pbmcoKSxhd2FpdCByKGUpKXJldHVybjtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYoIWUuZm9yY2VPcGVuKXtjb25zdCBlPXQ/Lm1vZGVsKCJwaW5lLWRpYWxvZy1idXR0b24iKSxpPWU/LnZpc2libGUudmFsdWUoKTtpZighKHQ/LmlzVmlzaWJsZSgpJiZpJiZlKSlyZXR1cm59Y29uc3Qgbj1pLmUoNTQxNjApLnRoZW4oaS5iaW5kKGksMTQ2MTUzKSk7YXdhaXQoYXdhaXQgbikuc2hvd1BpbmVEaWFsb2coe2NoYXJ0UGFnZUdyaWQ6ZS5jaGFydFBhZ2VHcmlkPz90Py5jaGFydFBhZ2VHcmlkLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8/dD8uY2hhcnRXaWRnZXRDb2xsZWN0aW9uLHNjcmlwdEluZm86ZS5zY3JpcHRJbmZvLG9wZW5Tb3VyY2VJZDplLm9wZW5Tb3VyY2VJZH0pfX0sODkxNTgxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NlbmRFZGl0b3JTbm93cGxvd0V2ZW50OigpPT5zLnNlbmRFZGl0b3JTbm93cGxvd0V2ZW50fSk7dmFyIHM9aSg1NDIxNjQpfSw1Nzc3MTMoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjAzNTQpLGkuZSg5ODA4NCksaS5lKDc0NjM2KSxpLmUoMzIzODcpLGkuZSgyODUwNyldKS50aGVuKGkuYmluZChpLDYwOTY4MikpKS5FcnJvckNhcmRSZW5kZXJlcn1pLmQodCx7Z2V0RXJyb3JDYXJkUmVuZGVyZXI6KCk9PnN9KX0sOTI2OTk1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dTdXBwb3J0RGlhbG9nOigpPT5ufSk7aSgzMDAyODYpO3ZhciBzPWkoODI3MDEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI2OTczKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDExMjE4KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNDk1ODgpLGkuZSg0NzYzMiksaS5lKDc0MzgxKSxpLmUoMTU1MjYpLGkuZSg3MTQxNCksaS5lKDYxODIxKSxpLmUoNTQ2ODEpLGkuZSg2NjI3MCksaS5lKDMxODM3KSxpLmUoOTc0NCksaS5lKDIwOTcxKSxpLmUoNDk1MTgpLGkuZSgzNzc2NyksaS5lKDE5NTEzKSxpLmUoMzI2MzIpLGkuZSgzNTE5OCksaS5lKDQ2NTkxKSxpLmUoOTQwNTQpLGkuZSgxNTA5KSxpLmUoNzY2NSksaS5lKDgwNzMxKSxpLmUoNTQzMTApLGkuZSgzNjM1NiksaS5lKDc4NDcxKSxpLmUoMjU2OTgpLGkuZSgzMzM2OCksaS5lKDk1MTU4KSxpLmUoMzIzODcpLGkuZSg3NTA0KSxpLmUoNDQ3ODApLGkuZSg3MDcxMiksaS5lKDg3ODU4KSxpLmUoNTk2MTkpLGkuZSg5OTgyNyksaS5lKDgxODY4KSxpLmUoMjMzNjQpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg0ODg1NCksaS5lKDE5NDYzKSxpLmUoODYwOCldKS50aGVuKGkuYmluZChpLDkxMjI5OSkpO2F3YWl0IHMuYXZhaWxhYmxlT2ZmZXJzLmVuc3VyZU9mZmVycygpLG5ldyB0LlN1cHBvcnREaWFsb2coZSkub3BlbigpfX0sMzU3NTQ0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N1cHBvcnRJbmNpZGVudHNTZXJ2aWNlOigpPT5jLGlzU3VwcG9ydEluY2lkZW50VmlzaWJsZU9uQ2hhcnQ6KCk9Pmx9KTt2YXIgcz1pKDIyMTA2MSksbj1pKDM4NDAxNykscj1pKDYzOTExMyksbz1pKDUwNzI4NSk7Y29uc3QgYT0oMCxzLmdldExvZ2dlcikoIlN1cHBvcnQuSW5jaWRlbnRzTW9kZWwiKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYWxlKXtyZXR1cm4gZS5zaG93X29uX2NoYXJ0JiYhMSE9PWUuaXNfYWN0aXZlJiYodm9pZCAwPT09ZS5sYW5ndWFnZXx8ZS5sYW5ndWFnZS5zb21lKChlPT5lPT09dHx8ImFsbCI9PT1lKSkpfWNsYXNzIGN7Y29uc3RydWN0b3IoZT13aW5kb3cubG9jYWxlKXt0aGlzLl9pbmNpZGVudHM9W10sdGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQsdGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fbGFuZ3VhZ2U9ZX1pbmNpZGVudHMoKXtyZXR1cm4gdGhpcy5faW5jaWRlbnRzfXN1YnNjcmliZShlKXsKcmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZSh0aGlzLl9pbmNpZGVudHMpLCgpPT57dGhpcy5fbGlzdGVuZXJzLmRlbGV0ZShlKX19YXN5bmMgbG9hZChlPXt9KXtjb25zdHtzdWJzY3JpYmVUb1B1c2hTdHJlYW06dD0hMX09ZTt0cnl7Y29uc3QgZT1hd2FpdCgwLG4uZmV0Y2gpKGAke3Iuc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdH0vc3VwcG9ydC9zdXBwb3J0LXBvcnRhbC1wcm9ibGVtcy8/bGFuZ3VhZ2U9JHt0aGlzLl9sYW5ndWFnZX1gKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuO2lmKCFlLm9rKXJldHVybiB2b2lkIGEubG9nV2FybigiQ291bGRuJ3QgbG9hZCBzdXBwb3J0IHBvcnRhbCBwcm9ibGVtcyIpO2NvbnN0IGk9KGF3YWl0IGUuanNvbigpKS5pc3N1ZXM7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybjt0aGlzLl9zZXRJbmNpZGVudHMoaSksdCYmdGhpcy5fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl9Y2F0Y2goZSl7dGhpcy5fZGVzdHJveWVkfHxhLmxvZ1dhcm4oYENvdWxkbid0IGxvYWQgc3VwcG9ydCBwb3J0YWwgcHJvYmxlbXM6ICR7U3RyaW5nKGUpfWApfX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiZvLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vZmYoInN1cHBvcnQtcG9ydGFsLXByb2JsZW0iLHRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyKSx0aGlzLl9saXN0ZW5lcnMuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9X3NldEluY2lkZW50cyhlKXt0aGlzLl9pbmNpZGVudHM9ZSx0aGlzLl9ub3RpZnlMaXN0ZW5lcnMoKX1fbm90aWZ5TGlzdGVuZXJzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fbGlzdGVuZXJzKWUodGhpcy5faW5jaWRlbnRzKX1fc3Vic2NyaWJlVG9QdXNoU3RyZWFtKCl7bnVsbD09PXRoaXMuX3B1c2hTdHJlYW1IYW5kbGVyJiYodGhpcy5fcHVzaFN0cmVhbUhhbmRsZXI9ZT0+e2NvbnN0IHQ9dGhpcy5faW5jaWRlbnRzLnNsaWNlKCk7c3dpdGNoKGUuYWN0aW9uKXtjYXNlImNyZWF0ZWQiOnQucHVzaChlLmRhdGEpO2JyZWFrO2Nhc2UibW9kaWZpZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pP3RbaV09ey4uLnRbaV0sLi4uZS5kYXRhfTp0LnB1c2goZS5kYXRhKTticmVha31jYXNlImRlbGV0ZWQiOntjb25zdCBpPXQuZmluZEluZGV4KCh0PT50LmlkPT09ZS5kYXRhLmlkKSk7LTEhPT1pJiZ0LnNwbGljZShpLDEpO2JyZWFrfX10aGlzLl9zZXRJbmNpZGVudHModCl9LG8ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJzdXBwb3J0LXBvcnRhbC1wcm9ibGVtIix0aGlzLl9wdXNoU3RyZWFtSGFuZGxlcikpfX19LDkyMjI0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTWU1CT0xfTElTVF9TRVJWSUNFOigpPT5zfSk7Y29uc3Qgcz0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJTeW1ib2xMaXN0U2VydmljZSIpfSw3NjAzOTAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse0RFTEVURURfU1lNQk9MU19MSVNUX0lEOigpPT5hLERlbGV0ZWRTeW1ib2xzTGlzdDooKT0+aCxpc0RlbGV0ZWRTeW1ib2xzTGlzdDooKT0+Y30pO3ZhciBzPWkoOTMyMzY1KSxuPWkoMzQ5MDMwKTtjb25zdCByPSJkZWxldGVkX3N5bWJvbHNfbGlzdCIsbz0iaXNfZGVsZXRlZF9zeW1ib2xzX2xpc3RfYWN0aXZlIixhPSJkZWxldGVkX3N5bWJvbHNfbGlzdF9pZCIsbD0iVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBhdHRlbXB0IHRvIHNldCBsb2NhbCBzdG9yYWdlIHZhbHVlIixjPWU9PmU9PT1hO2NsYXNzIGh7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2dFcnJvcj0oZSx0KT0+e2UgaW5zdGFuY2VvZiBFcnJvcj9uLmxvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpOm4ubG9nZ2VyLmxvZ0Vycm9yKHQpfX1jcmVhdGVMaXN0KGUpe3RoaXMuX3NldExpc3QoZSl9cmVtb3ZlTGlzdCgpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0ocil9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSwiVGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyBsb2NhbCBzdG9yYWdlIGl0ZW0gcmVtb3ZhbCIpfX1hZGRTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7aWYoIXQpcmV0dXJuO2NvbnN0IGk9bmV3IFNldCh0LnN5bWJvbHMpO2Zvcihjb25zdCB0IG9mIGUpaS5hZGQodCk7Y29uc3Qgcz1BcnJheS5mcm9tKGkpO3MubGVuZ3RoPjEwMD90LnN5bWJvbHM9cy5yZXZlcnNlKCkuc2xpY2UoMCwxMDApLnJldmVyc2UoKTp0LnN5bWJvbHM9cyx0aGlzLl9zZXRMaXN0KHQpfXJlbW92ZVN5bWJvbHMoZSl7Y29uc3QgdD10aGlzLmdldExpc3QoKTtpZighdClyZXR1cm47Y29uc3QgaT1uZXcgU2V0KHQuc3ltYm9scyk7Zm9yKGNvbnN0IHQgb2YgZSlpLmRlbGV0ZSh0KTt0LnN5bWJvbHM9QXJyYXkuZnJvbShpKSx0aGlzLl9zZXRMaXN0KHQpfXJlcGxhY2VTeW1ib2xzKGUpe2NvbnN0IHQ9dGhpcy5nZXRMaXN0KCk7dCYmKHQuc3ltYm9scz1lLHRoaXMuX3NldExpc3QodCkpfWdldElzQWN0aXZlKCl7dHJ5e3JldHVybiJ0cnVlIj09PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShvKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5fbG9nRXJyb3IoZSxsKSwhMX19c2V0SXNBY3RpdmUoZSl7dHJ5e3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShvLFN0cmluZyhlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19Z2V0TGlzdCgpe3RyeXtjb25zdCBlPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShyKTtyZXR1cm4gZT9KU09OLnBhcnNlKGUpOm51bGx9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuX2xvZ0Vycm9yKGUsIlRoZXJlIHdhcyBhbiBlcnJvciBkdXJpbmcgYXR0ZW1wdCB0byBnZXQgbG9jYWwgc3RvcmFnZSB2YWx1ZSIpLG51bGx9fV9zZXRMaXN0KGUpe3RyeXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0ocixKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7dGhpcy5fbG9nRXJyb3IoZSxsKX19fX0sMzQ5MDMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ2dlcjooKT0+c30pO2NvbnN0IHM9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIlBsYXRmb3JtLk1vZGVsLldhdGNobGlzdCIpfSwKNDU2NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2luaXRTeW1ib2xMaXN0U2VydmljZTooKT0+b30pO3ZhciBzPWkoOTMwMjMxKSxuPWkoNzA1MDEyKSxyPWkoOTIyMjQ4KTtmdW5jdGlvbiBvKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksODA0MzQzKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDc3OTkzOSkpLFByb21pc2UuYWxsKFtpLmUoNzM3NyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoOTQyMzIpLGkuZSgxMjA1MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgxODUxMiksaS5lKDQyNDU3KSxpLmUoMzk2MDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTI1MDkpLGkuZSg4NTQzNCksaS5lKDcyODUpLGkuZSgyODUxKSxpLmUoMTk5MzgpXSkudGhlbihpLmJpbmQoaSwxMjIzMDcpKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksNjMyMDM1KSksKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksMTc5NjEwKSldKS50aGVuKCgoW2UsdCxpLHMsb10pPT57aWYoKDAsbi5oYXNTZXJ2aWNlKShyLlNZTUJPTF9MSVNUX1NFUlZJQ0UpKXJldHVybigwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtjb25zdHtzdG9yZTphLHJ1bm5lcjpsfT1lLmNvbmZpZ3VyZVN0b3JlKCksYz1sLnJ1bih0LnN5bWJvbExpc3RSZXBvc2l0b3J5U2FnYSk7KDAsbi5yZWdpc3RlclNlcnZpY2UpKHIuU1lNQk9MX0xJU1RfU0VSVklDRSx7c3RvcmU6YSxydW5uZXI6bCxhY3Rpb25zOnthZGRTeW1ib2xzOnMuYWRkU3ltYm9sc1RodW5rLGluaXRXaWRnZXQ6aS5pbml0V2lkZ2V0LHNhdmVMaXN0QXM6cy5zYXZlTGlzdEFzVGh1bmssY3JlYXRlTmV3V2F0Y2hMaXN0OnMudXNlckNyZWF0ZVdhdGNobGlzdFRodW5rfSx0YXNrOmN9KTtjb25zdCBoPSgwLG4uc2VydmljZSkoci5TWU1CT0xfTElTVF9TRVJWSUNFKTtyZXR1cm4gbnVsbCE9PW8mJm8uZ2V0Q3VzdG9tU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VJbnN0YW5jZShoKSxofSkpfX0sNTE5NTE1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1dBVENITElTVF9XSURHRVRfSUQ6KCk9PnN9KTtjb25zdCBzPSJ3YXRjaGxpc3Qtd2lkZ2V0In0sODI0NDc4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Nob3dXYXRjaExpc3RzRGlhbG9nOigpPT5vfSk7dmFyIHM9aSgyOTYyNjIpO2xldCBuO2NsYXNzIHIgZXh0ZW5kcyBzLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fXNob3coZSl7dGhpcy5fbG9hZCgpLnRoZW4oKHQ9PnQuc2hvdyhlKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKSx0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBufHwobj1uZXcgciksbn1hc3luYyBfbG9hZCgpewpjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoODUwMTQpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDI0NTgxKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcxNDE0KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDMyNzQ4KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoOTE4NTUpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDE5NTEzKSxpLmUoNzI1MTIpLGkuZSgxNTYzNCksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDU2MjEzKSxpLmUoNjg5NjQpLGkuZSgyMzY2OSksaS5lKDUwMDM1KSxpLmUoNzg4OTkpLGkuZSg0MjcyMSksaS5lKDQ3MjAxKSxpLmUoNTA1ODgpLGkuZSg2NDUpLGkuZSg5MTY3MCksaS5lKDU1MzkpLGkuZSgxNDY1NyksaS5lKDcxNDM3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg2NzIwOCksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg1MjUwOSksaS5lKDcyNjc0KSxpLmUoMzUyNTIpLGkuZSg5MzI3NyksaS5lKDEzODM0KV0pLnRoZW4oaS5iaW5kKGksMjYzNjg4KSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPWUud2F0Y2hsaXN0c0RpYWxvZ1JlbmRlcmVyKCksdGhpcy5fZGlhbG9nLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlKSx0aGlzLl9kaWFsb2d9fWZ1bmN0aW9uIG8oZSl7ci5nZXRJbnN0YW5jZSgpLnNob3coZSl9fSw5OTQ1NDAoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7YWN0aXZhdGVLZXlQcmVzc0hhbmRsZXI6KCk9Pl8sc2hvd0RpYWxvZzooKT0+bX0pO3ZhciBzPWkoOTMwMjMxKSxuPWkoMjIxMDYxKSxyPWkoMjIxNzAwKSxvPWkoMjQzOTM4KSxhPWkoODYyNTcyKSxsPWkoOTQzODQyKSxjPWkoMzg2OTMxKSxoPWkoMjM3MzY5KSxkPWkoNjE0MzgwKTtjb25zdCB1PSgwLG4uZ2V0TG9nZ2VyKSgiU3ltYm9sU2VhcmNoRGlhbG9nIik7ZnVuY3Rpb24gcChlKXtpZighKDAsby5nbG9iYWxLZXlwcmVzc01hdGNoZXMpKGUpKXJldHVybiExO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZSk7cmV0dXJuKDAscy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIikmJmZ1bmN0aW9uKGUpe3JldHVybi9bMS05XS8udGVzdChlKX0odCk/KDAsYS5zaG93Q2hhbmdlSW50ZXJ2YWxEaWFsb2dBc3luYykoe2luaXRWYWw6dH0pOigwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfaG90X2tleSIpJiYobSh7ZGVmYXVsdFZhbHVlOnQsc2VsZWN0U2VhcmNoT25Jbml0OiExLHNvdXJjZToia2V5Ym9hcmQiLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHMuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpfSksKDAsYy50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJob3RrZXkiKSksITB9ZnVuY3Rpb24gXygpeygwLGwubG9hZENoYW5nZUludGVydmFsRGlhbG9nKSgpLHIucHVzaEJhY2tMaXN0ZW5lcigic3ltYm9sRWRpdCIscCl9YXN5bmMgZnVuY3Rpb24gbShlKXt0cnl7YXdhaXQobmV3IGQuU3ltYm9sU2VhcmNoVUkpLnNob3coZSl9Y2F0Y2goZSl7dS5sb2dFcnJvcihgQW5vdGhlciBTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IG9wZW5lZCBvciBDdXN0b21VSSByZWplY3RlZCBzeW1ib2wgc2VsZWN0aW9uICR7KDAsaC5nZXRFcnJvck1lc3NhZ2UpKGUpfWApfX19LDQxMTQwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFkaW5nU2VydmljZTooKT0+cix3YWl0VHJhZGluZ1NlcnZpY2U6KCk9Pm99KTt2YXIgcz1pKDcwNTAxMik7Y29uc3Qgbj0oMCxpKDQ3MzA2OCkuY3JlYXRlU2VydmljZURlc2NyaXB0b3IpKCJUcmFkaW5nU2VydmljZSIpO2Z1bmN0aW9uIHIoKXtyZXR1cm4oMCxzLmhhc1NlcnZpY2UpKG4pPygwLHMuc2VydmljZSkobik6bnVsbH1mdW5jdGlvbiBvKCl7cmV0dXJuKDAscy53YWl0U2VydmljZVJlZ2lzdGVyZWQpKG4pfX0sMjE2MDgzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQnV0dG9uQ2xpY2s6KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQsaSxuKXsoMCxzLmdldFRyYWNrZXIpKCkudGhlbigocz0+e251bGwhPT1zJiZzLnRyYWNrVG9vbGJhckJ1dHRvbkNsaWNrKGUsaT9gJHt0fSAke2l9YDp0LG4pfSkpfX0sMjUwNDM5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NvbnRleHRNZW51TWFuYWdlcjooKT0+c30pO3ZhciBzLG49aSgxOTg5MDEpLHI9aSg1MDkwNCksbz1pKDI3NjAxOSk7IWZ1bmN0aW9uKGUpe2xldCB0PW51bGwscz1udWxsO2NvbnN0IGE9W10sbD17Y3JlYXRlQWN0aW9uOmU9Pm5ldyByLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkN1c3RvbUFjdGlvbklkIixvcHRpb25zOmV9KSxjcmVhdGVBc3luY0FjdGlvbjplPT5uZXcgci5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DdXN0b21BY3Rpb25JZCIsb3B0aW9uczp7fSwKb3B0aW9uc0xvYWRlcjplfSksY3JlYXRlU2VwYXJhdG9yOigpPT5uZXcgci5TZXBhcmF0b3J9O2FzeW5jIGZ1bmN0aW9uIGMoZSxyPXt9LG89e21lbnVOYW1lOiIifSxjKXtudWxsIT09dCYmKGU9YXdhaXQgdChlLGwsbykpO2xldCBkPW51bGw7Y29uc3QgdT0oKT0+e2NvbnN0IGU9KDAsbi5pbmRleE9mKShhLChlPT5lLnJlbmRlcmVyPT09ZCkpOy0xIT09ZSYmYS5zcGxpY2UoZSwxKSx2b2lkIDAhPT1jJiZjKCl9O2xldCBwPSExO2lmKG51bGwhPT1zJiYoZD1hd2FpdCBzKGUsbyx1KSksZClwPSEwLGgoKTtlbHNle2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSg3NTUyKSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDk0MjMyKSxpLmUoMjQ1ODEpLGkuZSgxNzA4NyksaS5lKDcwODE1KSxpLmUoNzI1MTIpLGkuZSg1MjA5NSksaS5lKDcwNjU2KSxpLmUoNDQwMzEpLGkuZSgzNTA3MyksaS5lKDMyMzg3KSxpLmUoMjAzMzEpLGkuZSg3NDM2NCldKS50aGVuKGkuYmluZChpLDEwMjIzNykpO2Q9bmV3IHQuQ29udGV4dE1lbnVSZW5kZXJlcihlLHIsdSxoKX1yZXR1cm4gYS5wdXNoKHtyZW5kZXJlcjpkLGlzRXh0ZXJuYWw6cH0pLGR9ZnVuY3Rpb24gaCgpeygwLG8uZ2xvYmFsQ2xvc2VNZW51KSgpLGEuZm9yRWFjaCgoZT0+e2UuaXNFeHRlcm5hbCYmZS5yZW5kZXJlci5pc1Nob3duKCkmJmUucmVuZGVyZXIuaGlkZSgpfSkpfWUuY3JlYXRlTWVudT1jLGUuc2hvd01lbnU9ZnVuY3Rpb24oZSx0LGk9e30scyxuKXtyZXR1cm4gYyhlLGkscyxuKS50aGVuKChlPT5lLnNob3codCkpKX0sZS5zZXRDdXN0b21SZW5kZXJlckZhY3Rvcnk9ZnVuY3Rpb24oZSl7cz1lfSxlLnNldEN1c3RvbUl0ZW1zUHJvY2Vzc29yPWZ1bmN0aW9uKGUpe3Q9ZX0sZS5oaWRlQWxsPWgsZS5nZXRTaG93bj1mdW5jdGlvbigpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKWlmKGFbZV0ucmVuZGVyZXIuaXNTaG93bigpKXJldHVybiBhW2VdLnJlbmRlcmVyO3JldHVybiBudWxsfX0oc3x8KHM9e30pKX0sMzc5NzkzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse1Rvb2xib3hUeXBlOigpPT5zfSksZnVuY3Rpb24oZSl7ZVtlLkRlbGV0ZT0wXT0iRGVsZXRlIn0oc3x8KHM9e30pKX0sOTU4NTAwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Jlc2l6ZXJEZXRhY2hlclN0YXRlOigpPT5yfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgyMzIzNjQpO2NsYXNzIHJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxpdmU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2NvbnRhaW5lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fd2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2hlaWdodD1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZGV0YWNoYWJsZT1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fZnVsbHNjcmVlbmFibGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3Zpc2libGU9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsV2lkdGg9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX2F2YWlsSGVpZ2h0PW5ldyBuLldhdGNoZWRWYWx1ZSx0aGlzLl9vd25lcj1uZXcgbi5XYXRjaGVkVmFsdWUsdGhpcy5fb3duZXJzU3RhY2s9W10sdGhpcy5vd25lcj10aGlzLl9vd25lci5yZWFkb25seSgpLHRoaXMuX2JyaWRnZT17YWxpdmU6dGhpcy5fYWxpdmUucmVhZG9ubHkoKSxjb250YWluZXI6dGhpcy5fY29udGFpbmVyLnJlYWRvbmx5KCksd2lkdGg6dGhpcy5fd2lkdGgucmVhZG9ubHkoKSxoZWlnaHQ6dGhpcy5faGVpZ2h0LnJlYWRvbmx5KCksZnVsbHNjcmVlbjp0aGlzLl9mdWxsc2NyZWVuLnJlYWRvbmx5KCksZGV0YWNoYWJsZTp0aGlzLl9kZXRhY2hhYmxlLnJlYWRvbmx5KCksZnVsbHNjcmVlbmFibGU6dGhpcy5fZnVsbHNjcmVlbmFibGUucmVhZG9ubHkoKSx2aXNpYmxlOnRoaXMuX3Zpc2libGUucmVhZG9ubHkoKSxhdmFpbFdpZHRoOnRoaXMuX2F2YWlsV2lkdGgucmVhZG9ubHkoKSxhdmFpbEhlaWdodDp0aGlzLl9hdmFpbEhlaWdodC5yZWFkb25seSgpLHJlbW92ZTooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLnJlbW92ZSYmZS5yZW1vdmUoKX0sbmVnb3RpYXRlV2lkdGg6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZVdpZHRoJiZ0Lm5lZ290aWF0ZVdpZHRoKGUpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0Lm5lZ290aWF0ZUhlaWdodCYmdC5uZWdvdGlhdGVIZWlnaHQoZSl9LHJlcXVlc3RGdWxsc2NyZWVuOigpPT57Y29uc3QgZT10aGlzLl9vd25lci52YWx1ZSgpO2UmJmUucmVxdWVzdEZ1bGxzY3JlZW4mJmUucmVxdWVzdEZ1bGxzY3JlZW4oKX0sZXhpdEZ1bGxzY3JlZW46KCk9Pntjb25zdCBlPXRoaXMuX293bmVyLnZhbHVlKCk7ZSYmZS5leGl0RnVsbHNjcmVlbiYmZS5leGl0RnVsbHNjcmVlbigpfSxkZXRhY2g6ZT0+e2NvbnN0IHQ9dGhpcy5fb3duZXIudmFsdWUoKTt0JiZ0LmRldGFjaCYmdC5kZXRhY2goZSl9LGF0dGFjaDooKT0+e2NvbnN0IGU9dGhpcy5fb3duZXIudmFsdWUoKTtlJiZlLmF0dGFjaCYmZS5hdHRhY2goKX19LGUmJnRoaXMucHVzaE93bmVyKGUpfWRlc3Ryb3koKXtmb3IoY29uc3QgZSBvZiB0aGlzLl9vd25lcnNTdGFjayl0aGlzLl91bnN1YnNjcmliZU93bmVyKGUpfWJyaWRnZSgpe3JldHVybiB0aGlzLl9icmlkZ2V9cHVzaE93bmVyKGUpe2lmKCFlLmFsaXZlLnZhbHVlKCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIHRoaXMuX293bmVyc1N0YWNrKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIoZSk7Y29uc3QgdD17b3duZXI6ZX07dGhpcy5fb3duZXJzU3RhY2sucHVzaCh0KSx0aGlzLl9zdWJzY3JpYmVPd25lcih0KX1fc3Vic2NyaWJlT3duZXIoZSl7Y29uc3QgdD1lLm93bmVyO2lmKGUuZGVhdGhXYXRjaGVyfHwodGhpcy5fYWxpdmUuc2V0VmFsdWUoITApLGUuZGVhdGhXYXRjaGVyPXQuYWxpdmUuc3Bhd24oKSxlLmRlYXRoV2F0Y2hlci5zdWJzY3JpYmUoKHQ9Pnt0fHx0aGlzLl9kZWFkSGFuZGxlcihlKX0pKSksCnRoaXMuX293bmVyLnNldFZhbHVlKHQpLCFlLnN1YnNjcmlwdGlvbnMpe2NvbnN0IGk9ZS5zdWJzY3JpcHRpb25zPVtdO3RoaXMuX3Zpc2libGUuc2V0VmFsdWUoITEpO2NvbnN0IHM9KGUsdCk9PntpZihlKXtjb25zdCBzPWUuc3Bhd24oKTtpLnB1c2gocykscy5zdWJzY3JpYmUoKGU9Pnt0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfWVsc2UgdC5kZWxldGVWYWx1ZSgpfTtzKHQuY29udGFpbmVyLHRoaXMuX2NvbnRhaW5lcikscyh0LndpZHRoLHRoaXMuX3dpZHRoKSxzKHQuaGVpZ2h0LHRoaXMuX2hlaWdodCkscyh0LmZ1bGxzY3JlZW4sdGhpcy5fZnVsbHNjcmVlbikscyh0LmRldGFjaGFibGUsdGhpcy5fZGV0YWNoYWJsZSkscyh0LmZ1bGxzY3JlZW5hYmxlLHRoaXMuX2Z1bGxzY3JlZW5hYmxlKSxzKHQuYXZhaWxXaWR0aCx0aGlzLl9hdmFpbFdpZHRoKSxzKHQuYXZhaWxIZWlnaHQsdGhpcy5fYXZhaWxIZWlnaHQpLHModC52aXNpYmxlLHRoaXMuX3Zpc2libGUpfX1fdW5zdWJzY3JpYmVPd25lcihlLHQpe2lmKGUuc3Vic2NyaXB0aW9ucyl7Zm9yKGNvbnN0IHQgb2YgZS5zdWJzY3JpcHRpb25zKXQudW5zdWJzY3JpYmUoKTtlLnN1YnNjcmlwdGlvbnM9bnVsbH10JiZlLmRlYXRoV2F0Y2hlciYmKGUuZGVhdGhXYXRjaGVyLnVuc3Vic2NyaWJlKCksZS5kZWF0aFdhdGNoZXI9bnVsbCl9X2RlYWRIYW5kbGVyKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXJzU3RhY2suaW5kZXhPZihlKTsoMCxzLmFzc2VydCkoLTEhPT10LCJzYW5pdGl6ZWQgb3duZXIgc2hvdWxkIGJlIGluIHN0YWNrIik7Zm9yKGxldCBlPXRoaXMuX293bmVyc1N0YWNrLmxlbmd0aC0xO2U+PXQ7ZS0tKXRoaXMuX3Vuc3Vic2NyaWJlT3duZXIodGhpcy5fb3duZXJzU3RhY2tbZV0sITApO3RoaXMuX293bmVyc1N0YWNrLmxlbmd0aD10LHQ+MD90aGlzLl9zdWJzY3JpYmVPd25lcih0aGlzLl9vd25lcnNTdGFja1t0LTFdKToodGhpcy5fYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX293bmVyLmRlbGV0ZVZhbHVlKCkpfX19LDMxNzQ2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtWaXNpYmlsaXR5QXBpOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSl7bGV0IHQ7dGhpcy5pc1Zpc2libGU9bmV3IHMuV2F0Y2hlZFZhbHVlKCEwKTtsZXQgaT1udWxsO2Zvcihjb25zdCBzIG9mWyIiLCJtb3oiLCJtcyIsIndlYmtpdCJdKXtjb25zdCBuPXM/YCR7c31IaWRkZW5gOiJoaWRkZW4iO2lmKG4gaW4gZSl7dD1gJHtzfXZpc2liaWxpdHljaGFuZ2VgLGk9KCk9Pnt0aGlzLmlzVmlzaWJsZS5zZXRWYWx1ZSghZVtuXSl9LGkoKSxlLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKTticmVha319dGhpcy5kZXN0cm95PSgpPT57aSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGksITEpLGk9bnVsbCl9fX19LDI5NjI2MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEaWFsb2dSZW5kZXJlcjooKT0+bn0pO3ZhciBzPWkoMjMyMzY0KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yb290SW5zdGFuY2U9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1fc2V0VmlzaWJpbGl0eShlKXt0aGlzLl92aXNpYmlsaXR5LnNldFZhbHVlKGUpfX19LDEzODYzOChlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkFzc2VydGlvbiBmYWlsZWQiKyh0P2A6ICR7dH1gOiIiKSl9ZnVuY3Rpb24gbihlLHQpe2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIHVuZGVmaW5lZGApO3JldHVybiBlfWZ1bmN0aW9uIHIoZSx0KXtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoYCR7dD8/IlZhbHVlIn0gaXMgbnVsbGApO3JldHVybiBlfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihuKGUsdCksdCl9ZnVuY3Rpb24gYShlKXt9aS5kKHQse2Fzc2VydDooKT0+cyxlbnN1cmU6KCk9Pm8sZW5zdXJlRGVmaW5lZDooKT0+bixlbnN1cmVOZXZlcjooKT0+YSxlbnN1cmVOb3ROdWxsOigpPT5yfSl9LDIxNDk4NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oaSwuLi5zKT0+KHQ/LmFib3J0KCksdD1uZXcgQWJvcnRDb250cm9sbGVyLGk/LmFib3J0ZWQ/dC5hYm9ydCgpOmk/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9PnQ/LmFib3J0KCkpLHtvbmNlOiEwfSksZSh0LnNpZ25hbCwuLi5zKSl9ZnVuY3Rpb24gbihlKXtpZighbChlKSl0aHJvdyBlfWZ1bmN0aW9uIHIoZSl7aWYobChlKSl0aHJvdyBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGU/LmFib3J0ZWQ/UHJvbWlzZS5yZWplY3QoYSgpKTpuZXcgUHJvbWlzZSgoKHQsaSk9PntlPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT5pKGEoKSkpLHtvbmNlOiEwfSl9KSl9ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgRE9NRXhjZXB0aW9uKCJBYm9ydGVkIiwiQWJvcnRFcnJvciIpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvciYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfHwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYibmFtZSJpbiBlJiYiQWJvcnRFcnJvciI9PT1lLm5hbWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBQcm9taXNlLnJhY2UoW28oZSksdF0pfWFzeW5jIGZ1bmN0aW9uIGgoZSx0KXtsZXQgaTt0cnl7YXdhaXQgYyhlLG5ldyBQcm9taXNlKChlPT57aT1zZXRUaW1lb3V0KGUsdCl9KSkpfWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGkpfX1pLmQodCx7Y3JlYXRlQWJvcnRFcnJvcjooKT0+YSxkZWxheTooKT0+aCxpc0Fib3J0RXJyb3I6KCk9PmwscmVzcGVjdEFib3J0OigpPT5jLHJlc3BlY3RMYXRlc3Q6KCk9PnMscmV0aHJvd0Fib3J0RXJyb3I6KCk9PnIsc2tpcEFib3J0RXJyb3I6KCk9Pm59KX0sNTU3NTEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzQ2FuY2VsbGVkOigpPT5yLAptYWtlQ2FuY2VsYWJsZTooKT0+bn0pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDYW5jZWxUb2tlbiIpfX1mdW5jdGlvbiBuKGUpe2xldCB0PSExO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxuKT0+e2UudGhlbigoZT0+dD9uKG5ldyBzKTppKGUpKSksZS5jYXRjaCgoZT0+bih0P25ldyBzOmUpKSl9KSksY2FuY2VsKCl7dD0hMH19fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzfX0sMTc1Mzk1KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKX1pLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyOigpPT5zfSl9LDU1NjkxMShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7bGV0IHQ7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT1lfHwibnVtYmVyIj09dHlwZW9mIGUubm9kZVR5cGUpdD1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIERhdGUpdD1uZXcgRGF0ZShlLnZhbHVlT2YoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXt0PVtdO2xldCBpPTA7Y29uc3Qgbj1lLmxlbmd0aDtmb3IoO2k8bjtpKyspT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPXMoZVtpXSkpfWVsc2V7dD17fTtmb3IoY29uc3QgaSBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpJiYodFtpXT1zKGVbaV0pKX1yZXR1cm4gdH1pLmQodCx7ZGVlcENvcHk6KCk9PnN9KX0sMTMxMjk0KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PU9iamVjdC5jcmVhdGUoZSk7cmV0dXJuIHQucmVsZWFzZT0oKT0+e30sdC5vd25lcnNoaXA9KCk9PnQsdH1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZTtyZXR1cm4gdC5yZWxlYXNlPSgpPT50LmRlc3Ryb3koKSx0Lm93bmVyc2hpcD0oKT0+dCx0fWkuZCh0LHtvd25lcnNoaXA6KCk9Pm4sd2Vha1JlZmVyZW5jZTooKT0+c30pfSw2NDA3NDQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCxpKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxpKX1mdW5jdGlvbiBuKGUpe3JldHVybiBlPDA/LTE6ZT4wPzE6MH1mdW5jdGlvbiByKGUpe2lmKGU8MClyZXR1cm4hMTtpZihlPjFlMTgpcmV0dXJuITA7Zm9yKGxldCB0PWU7dD4xO3QvPTEwKWlmKHQlMTAhPTApcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQsaSl7cmV0dXJuIHQtZTw9aX1mdW5jdGlvbiBhKGUsdCxpKXtyZXR1cm4gTWF0aC5hYnMoZS10KTxpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU8PTA/TmFOOk1hdGgubG9nKGUpL01hdGgubG9nKDEwKX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGU8dD8tMTplPnQ/MTowfWZ1bmN0aW9uIGgoZSx0PWMpe2lmKGUubGVuZ3RoPDEpdGhyb3cgRXJyb3IoImFycmF5IGlzIGVtcHR5Iik7bGV0IGk9ZVswXTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcyl0KGVbc10saSk8MCYmKGk9ZVtzXSk7cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQ9Yyl7aWYoZS5sZW5ndGg8MSl0aHJvdyBFcnJvcigiYXJyYXkgaXMgZW1wdHkiKTtsZXQgaT1lWzBdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKXQoZVtzXSxpKT4wJiYoaT1lW3NdKTtyZXR1cm4gaX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gcChlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBtKGUpe3JldHVybiBlJTI9PTB9ZnVuY3Rpb24gZyhlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTEwKmUpLzFlMTB9aS5kKHQse2NlaWxlZEV2ZW46KCk9PnUsY2VpbGVkT2RkOigpPT5wLGNsYW1wOigpPT5zLGVxdWFsOigpPT5hLGZpeENvbXB1dGF0aW9uRXJyb3I6KCk9PmcsZ3JlYXRlck9yRXF1YWw6KCk9Pm8saXNCYXNlRGVjaW1hbDooKT0+cixpc0V2ZW46KCk9Pm0sbG9nMTA6KCk9PmwsbWF4OigpPT5kLG1pbjooKT0+aCxzaWduOigpPT5uLHRvSW50OigpPT5ffSl9LDYzODU3MShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0KXtjb25zdCBpPW5ldyBNYXA7cmV0dXJuIGZ1bmN0aW9uKC4uLnMpe2NvbnN0IG49IiIrKHQ/dC5hcHBseShudWxsLHMpOnNbMF0pO2lmKCFpLmhhcyhuKSl7Y29uc3QgdD1lLmFwcGx5KHRoaXMscyk7cmV0dXJuIGkuc2V0KG4sdCksdH1yZXR1cm4gaS5nZXQobil9fWkuZCh0LHttZW1vaXplOigpPT5zfSl9LDkxNDc3NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtwYXJzZVR6T2Zmc2V0OigpPT5ufSk7dmFyIHM9aSg3MDA4MDkpO2Z1bmN0aW9uIG4oZSx0PURhdGUubm93KCkpe2NvbnN0IGk9KDAscy5nZXRfdGltZXpvbmUpKGUpLm9mZnNldF91dGModCk7bGV0IG49IiI7Y29uc3Qgcj1pLzFlMy82MC82MDtyJTEmJihuPSI6IitNYXRoLnJvdW5kKE1hdGguYWJzKHIlMSo2MCkpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpKTtsZXQgbz0iIjtyZXR1cm4gbz1yPjA/IisiKyhyLXIlMSkrbjowPT09cj8iIjpTdHJpbmcoci1yJTErbikse29mZnNldDppLHN0cmluZzoiVVRDIitvfX19LDM3ODA4KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NyZWF0ZVByaW1pdGl2ZVByb3BlcnR5OigpPT5ufSk7dmFyIHM9aSg3NjgyOTIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIG5ldyBzLlByb3BlcnR5KGUpfX0sNjM2OTEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1Byb3BlcnR5QmFzZTooKT0+cn0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXJzPW5ldyBuLkRlbGVnYXRlLHRoaXMuX211dGVDaGlsZENoYW5nZXM9ITEsdGhpcy5fb3duZXI9bnVsbCx0aGlzLl9uYW1lPSIifW5hbWVJbk93bmVyKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0TmFtZUluT3duZXIoZSl7dGhpcy5fbmFtZT1lfW93bmVyKCl7cmV0dXJuIHRoaXMuX293bmVyfXNldE93bmVyKGUpewp0aGlzLl9vd25lcj1lfXBhdGhUb1Jvb3QoKXtjb25zdCBlPXRoaXMuX293bmVyPy5wYXRoVG9Sb290KCk7cmV0dXJuIGU/YCR7ZX0uJHt0aGlzLl9uYW1lfWA6dGhpcy5fbmFtZX1wYXRoVG9Sb290UHJvcGVydHkoKXtpZighdGhpcy5fb3duZXIpcmV0dXJuIiI7Y29uc3QgZT10aGlzLl9vd25lci5wYXRoVG9Sb290UHJvcGVydHk/LigpO3JldHVybiBlP2Ake2V9LiR7dGhpcy5fbmFtZX1gOnRoaXMuX25hbWV9cmVtb3ZlUHJvcGVydHkoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAicmVtb3ZlUHJvcGVydHkiIG9uIHByb3BlcnR5ICR7dGhpcy5wYXRoVG9Sb290KCl9YCl9YWRkQ2hpbGQoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJhZGRDaGlsZCIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1oYXNDaGlsZChlKXtyZXR1cm4hMX1jaGlsZENvdW50KCl7cmV0dXJuIDB9Y2hpbGROYW1lcygpe3JldHVybltdfWNoaWxkcygpeygwLHMuYXNzZXJ0KSghMSxgVHJ5aW5nIHRvIGNhbGwgImNoaWxkcyIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1zdGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbHVlKCl9bWVyZ2UoZSx0KXsoMCxzLmFzc2VydCkoITEsYFRyeWluZyB0byBjYWxsICJtZXJnZSIgb24gcHJvcGVydHkgJHt0aGlzLnBhdGhUb1Jvb3QoKX1gKX1tZXJnZUFuZEZpcmUoZSl7KDAscy5hc3NlcnQpKCExLGBUcnlpbmcgdG8gY2FsbCAibWVyZ2VBbmRGaXJlIiBvbiBwcm9wZXJ0eSAke3RoaXMucGF0aFRvUm9vdCgpfWApfWNoaWxkKGUpe2lmKHRoaXMuaGFzQ2hpbGQoZSkpcmV0dXJuIHRoaXMuY2hpbGRzKClbZV19bXV0ZUNoaWxkQ2hhbmdlcyhlKXt0aGlzLl9tdXRlQ2hpbGRDaGFuZ2VzPWV9ZmlyZUNoYW5nZWQoKXt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLHRoaXMucGF0aFRvUm9vdFByb3BlcnR5KCkpfWxpc3RlbmVycygpe3JldHVybiB0aGlzLl9saXN0ZW5lcnN9c3Vic2NyaWJlKGUsdCl7dGhpcy5saXN0ZW5lcnMoKS5zdWJzY3JpYmUoZSx0LCExKX11bnN1YnNjcmliZShlLHQpe3RoaXMubGlzdGVuZXJzKCkudW5zdWJzY3JpYmUoZSx0KX11bnN1YnNjcmliZUFsbChlKXt0aGlzLmxpc3RlbmVycygpLnVuc3Vic2NyaWJlQWxsKGUpfX19LDkyNTI4MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtEYXRhVHlwZXM6KCk9PnMsY3JlYXRlUHJvcGVydHlTY2hlbWE6KCk9Pm0sZGF0YVR5cGU6KCk9PmQsZXh0cmFjdFN0YXRlV2l0aFNjaGVtYTooKT0+Zyxpc0FycmF5U2NoZW1hOigpPT5fLHZhbGlkYXRlU2NoZW1hOigpPT5wfSk7dmFyIHMsbj1pKDIwNjY3Mykscj1pKDMwNDIyMSksbz1pKDgxNzM1MCksYT1pKDI5NTYzNSksbD1pKDg4MDExNSksYz1pKDkxNzM3MSksaD1pKDEzODYzOCk7ZnVuY3Rpb24gZChlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKGUpP3MuTlVNQkVSOigwLHIuZGVmYXVsdCkoZSk/cy5TVFJJTkc6KDAsby5kZWZhdWx0KShlKT9zLkJPT0xFQU46KDAsYS5kZWZhdWx0KShlKT9zLkFSUkFZOm51bGw9PT1lP3MuTlVMTDoib2JqZWN0Ij09dHlwZW9mIGU/cy5PQkpFQ1Q6cy5VTktOT1dOfSFmdW5jdGlvbihlKXtlLlNUUklORz0ic3RyaW5nIixlLk5VTUJFUj0ibnVtYmVyIixlLkJPT0xFQU49ImJvb2xlYW4iLGUuT0JKRUNUPSJvYmplY3QiLGUuQVJSQVk9ImFycmF5IixlLk5VTEw9Im51bGwiLGUuVU5LTk9XTj0idW5rbm93biJ9KHN8fChzPXt9KSk7Y29uc3QgdT1bcy5BUlJBWSxzLk9CSkVDVF07ZnVuY3Rpb24gcChlLHQpe3RyeXtjb25zdCBpPWQoZSk7aWYoKDAsaC5hc3NlcnQpKGk9PT10LnR5cGV8fGk9PT1zLk5VTEwmJnQubnVsbGFibGV8fHQudHlwZT09PXMuVU5LTk9XTiksdS5pbmNsdWRlcyhpKSlzd2l0Y2godC50eXBlKXtjYXNlIHMuQVJSQVk6KDAsaC5hc3NlcnQpKGUuZXZlcnkoKGU9PnAoZSx0LnN1YnNjaGVtYSkpKSk7YnJlYWs7Y2FzZSBzLk9CSkVDVDpmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQuc3Vic2NoZW1hKSkoMCxoLmFzc2VydCkocChlW2ldLHMpKX1yZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS50eXBlPT09cy5BUlJBWX1mdW5jdGlvbiBtKGUsdCl7bGV0IGk7Y29uc3Qgbj1kKGUpO3N3aXRjaChuKXtjYXNlIHMuTlVNQkVSOmNhc2Ugcy5TVFJJTkc6Y2FzZSBzLkJPT0xFQU46aT17dHlwZTpuLHNhdmVGbGFnczp0fTticmVhaztjYXNlIHMuQVJSQVk6aT17dHlwZTpzLkFSUkFZLHNhdmVGbGFnczp0LHN1YnNjaGVtYTptKGVbMF0sdCl9O2JyZWFrO2Nhc2Ugcy5PQkpFQ1Q6e2NvbnN0IG49e307Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyhlKSluW2ldPW0ocyx0KTtpPXt0eXBlOnMuT0JKRUNULHNhdmVGbGFnczp0LHN1YnNjaGVtYTpufTticmVha31kZWZhdWx0Omk9e3R5cGU6cy5VTktOT1dOLHNhdmVGbGFnczp0fX1yZXR1cm4gaX1mdW5jdGlvbiBnKGUsdCxpKXtpZighZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXMuT0JKRUNUfSh0KXx8ISgwLGwuZGVmYXVsdCkoZSkpcmV0dXJuIGU7Y29uc3Qgbj1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiBuKXtjb25zdCBuPXQuc3Vic2NoZW1hW3NdO3ZvaWQgMD09PXQuc2F2ZUZsYWdzfHxufHwoMCxjLmRlZmF1bHQpKGUscyk7Y29uc3Qgcj1uPy5zYXZlRmxhZ3M7dm9pZCAwPT09cnx8ciZpfHwoMCxjLmRlZmF1bHQpKGUscyksbiYmZyhlW3NdLG4saSl9cmV0dXJuIGV9fSw3NjgyOTIoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7UHJvcGVydHk6KCk9Pm0saXNQcmltaXRpdmVUeXBlOigpPT5ffSk7dmFyIHM9aSgyMDY2NzMpLG49aSgzMDQyMjEpLHI9aSg4MTczNTApLG89aSg5MjgxMzIpLGE9aSgyOTU2MzUpLGw9aSgxMzg2MzgpLGM9aSgyMjEwNjEpLGg9aSgxMzEyOTQpLGQ9aSg2MzY5MTIpLHU9aSg5MjUyODIpO2NvbnN0IHA9KDAsYy5nZXRMb2dnZXIpKCJQcm9wZXJ0eSIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIG51bGw9PT1lfHwoMCxzLmRlZmF1bHQpKGUpJiZOdW1iZXIuaXNGaW5pdGUoZSl8fCgwLG4uZGVmYXVsdCkoZSl8fCgwLHIuZGVmYXVsdCkoZSkKfWNsYXNzIG0gZXh0ZW5kcyBkLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlLHQpe2lmKHN1cGVyKCksdGhpcy5fY2hpbGRzPVtdLHRoaXMuX2RlcGVuZGVudHM9W10sdGhpcy5fc2NoZW1hPXR8fCgwLHUuY3JlYXRlUHJvcGVydHlTY2hlbWEpKGUpLHZvaWQgMCE9PWUpaWYoKDAsdS52YWxpZGF0ZVNjaGVtYSkoZSx0aGlzLl9zY2hlbWEpfHxwLmxvZ1dhcm4oYFRoZSBzdGF0ZSB3aXRoIGEgZGF0YSB0eXBlOiAkeygwLHUuZGF0YVR5cGUpKGUpfSBkb2VzIG5vdCBtYXRjaCBhIHNjaGVtYWApLF8oZSkpdGhpcy5fdmFsdWU9ZTtlbHNle2xldCB0PU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHQ9dC5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxpXW9mIHQpdGhpcy5hZGRQcm9wZXJ0eShlLGkpfX1kZXN0cm95KCl7dGhpcy5saXN0ZW5lcnMoKS5kZXN0cm95KCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRzKXRoaXMuY2hpbGQoZSk/LmRlc3Ryb3k/LigpfW1lcmdlKGUsdCl7bGV0IGk9bnVsbCxzPTA7aWYodCYmKGk9W10scz1pLmxlbmd0aCksdm9pZCAwPT09ZSlyZXR1cm4gaTtpZihfKGUpKXJldHVybiB0aGlzLl92YWx1ZSE9PWUmJmk/LnB1c2godGhpcyksdGhpcy5fdmFsdWU9ZSxpO2lmKCgwLGEuZGVmYXVsdCkoZSkpeygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKXx8cC5sb2dXYXJuKCJQcm9wZXJ0eSBpcyBub3QgYW4gYXJyYXkiKTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbj10aGlzLmNoaWxkcygpW3NdO2lmKG4pe2NvbnN0IHI9bi5tZXJnZShlW3NdLHQpO2k/LnB1c2goLi4ucil9ZWxzZXtjb25zdCB0PXRoaXMuYWRkUHJvcGVydHkoYCR7c31gLGVbc10pO2k/LnB1c2godCl9fX1lbHNle2xldCBzPU9iamVjdC5lbnRyaWVzKGUpOygwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKSYmKHM9cy5maWx0ZXIoKChbZV0pPT4hTnVtYmVyLmlzTmFOKCtlKSkpKTtmb3IoY29uc3RbZSxuXW9mIHMpe2NvbnN0IHM9dGhpcy5jaGlsZHMoKVtlXTtpZihzKXtjb25zdCBlPXMubWVyZ2Uobix0KTtpPy5wdXNoKC4uLmUpfWVsc2V7Y29uc3QgdD10aGlzLmFkZFByb3BlcnR5KGUsbik7aT8ucHVzaCh0KX19fXJldHVybiBpJiZpLmxlbmd0aD5zJiZpLnB1c2godGhpcyksaX1tZXJnZUFuZEZpcmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWVyZ2UoZSwhMCkpO3RoaXMuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHModCl9c3RhdGUoZSx0KXtjb25zdCBpPSgwLG8uZGVmYXVsdCkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZSgpOnZvaWQgMDtpZih2b2lkIDAhPT1pKXJldHVybiBpO2NvbnN0IHM9KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpP1tdOnt9O2Zvcihjb25zdCBpIG9mIHRoaXMuX2NoaWxkcyl7aWYoZSYmLTEhPT1lLmluZGV4T2YoaSkpY29udGludWU7aWYoKDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2kpKWNvbnRpbnVlO2lmKHZvaWQgMCE9PXQmJiJzdWJzY2hlbWEiaW4gdGhpcy5fc2NoZW1hKXtjb25zdCBlPSgwLHUuaXNBcnJheVNjaGVtYSkodGhpcy5fc2NoZW1hKT90aGlzLl9zY2hlbWEuc3Vic2NoZW1hOnRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbaV07aWYodm9pZCAwIT09dGhpcy5fc2NoZW1hLnNhdmVGbGFncyYmIWUpY29udGludWU7aWYodm9pZCAwIT09ZT8uc2F2ZUZsYWdzJiYhKGUuc2F2ZUZsYWdzJnQpKWNvbnRpbnVlfWNvbnN0IG49dGhpcy5jaGlsZHMoKVtpXTtsZXQgcjtpZihlKXtjb25zdCBzPVtdO2Zvcihjb25zdCB0IG9mIGUpdC5zdGFydHNXaXRoKGkrIi4iKSYmcy5wdXNoKHQuc3Vic3RyaW5nKGkubGVuZ3RoKzEpKTtyPW4/LnN0YXRlKHMsdCl9ZWxzZSByPW4/LnN0YXRlKCk7KHZvaWQgMCE9PXJ8fG4/LnN0b3JlU3RhdGVJZlVuZGVmaW5lZCgpKSYmKCgwLGEuZGVmYXVsdCkocyk/c1sraV09cjpzW2ldPXIpfXJldHVybiBzfWNsb25lKCl7cmV0dXJuIG5ldyBtKHRoaXMuc3RhdGUoKSl9dmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9jaGlsZHMubGVuZ3RofWNoaWxkTmFtZXMoKXtyZXR1cm4gdGhpcy5fY2hpbGRzfWNoaWxkQnlQYXRoKGUpe2xldCB0PXRoaXM7Zm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgiLiIpKXtpZih2b2lkIDA9PT10KWJyZWFrO3Q9dC5jaGlsZChpKX1yZXR1cm4gdH1oYXNDaGlsZChlKXtyZXR1cm4gdGhpcy5fY2hpbGRzLmluY2x1ZGVzKGUpfXNldFZhbHVlKGUsdCl7KHRoaXMuX3ZhbHVlIT09ZXx8dCkmJih0aGlzLl92YWx1ZT1lLHRoaXMuZmlyZUNoYW5nZWQoKSl9c2V0VmFsdWVTaWxlbnRseShlKXt0aGlzLl92YWx1ZT1lfWFkZFByb3BlcnR5KGUsdCl7bGV0IGk7KDAsdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpJiZwLmxvZ1dhcm4oIlByb3BlcnR5IGlzIGFuIGFycmF5IiksdGhpcy5yZW1vdmVQcm9wZXJ0eShlKSx0aGlzLl9zY2hlbWEudHlwZT09PXUuRGF0YVR5cGVzLk9CSkVDVD9pPXRoaXMuX3NjaGVtYS5zdWJzY2hlbWFbZV06dGhpcy5fc2NoZW1hLnR5cGU9PT11LkRhdGFUeXBlcy5BUlJBWSYmKGk9dGhpcy5fc2NoZW1hLnN1YnNjaGVtYSk7Y29uc3Qgcz1uZXcgbSh0LGkpO3JldHVybiB0aGlzW2VdPXMsdGhpcy5fY2hpbGRzLnB1c2goZSkscy5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9jaGlsZENoYW5nZWQoZSx0KX0pKSxzLnNldE93bmVyKHRoaXMpLHMuc2V0TmFtZUluT3duZXIoZSksc31yZW1vdmVQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuY2hpbGQoZSk7dCYmKHQuc2V0TmFtZUluT3duZXIoIiIpLHQuc2V0T3duZXIobnVsbCksdC51bnN1YnNjcmliZUFsbCh0aGlzKSxkZWxldGUgdGhpc1tlXSx0aGlzLl9jaGlsZHM9dGhpcy5fY2hpbGRzLmZpbHRlcigodD0+dCE9PWUpKSl9YWRkQ2hpbGQoZSx0KXtpZigoMCwKdS5pc0FycmF5U2NoZW1hKSh0aGlzLl9zY2hlbWEpJiZOdW1iZXIuaXNOYU4oK2UpKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHkgaXMgYW4gYXJyYXkiKTt0aGlzW2VdJiZ0aGlzLnJlbW92ZVByb3BlcnR5KGUpLHRoaXNbZV09dCwtMT09PXRoaXMuX2NoaWxkcy5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHMucHVzaChlKSx0LnN1YnNjcmliZSh0aGlzLCgoZSx0KT0+dGhpcy5fY2hpbGRDaGFuZ2VkKGUsdCkpKSx0LnNldE93bmVyKHRoaXMpLHQuc2V0TmFtZUluT3duZXIoZSl9Y2hpbGRzKCl7cmV0dXJuIHRoaXN9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9b3duZXJzaGlwKCl7cmV0dXJuKDAsaC5vd25lcnNoaXApKHRoaXMpfXdlYWtSZWZlcmVuY2UoKXtyZXR1cm4oMCxoLndlYWtSZWZlcmVuY2UpKHRoaXMpfWFkZERlcGVuZGVudChlKXt0aGlzLl9kZXBlbmRlbnRzLnB1c2goZSl9cmVtb3ZlRGVwZW5kZW50KGUpe2NvbnN0IHQ9dGhpcy5fZGVwZW5kZW50cy5pbmRleE9mKGUpO3Q+PTAmJnRoaXMuX2RlcGVuZGVudHMuc3BsaWNlKHQsMSl9ZGVwZW5kZW50cygpe3JldHVybiB0aGlzLl9kZXBlbmRlbnRzfXN0YXRpYyppdGVyYXRlUHJvcGVydGllcyhlLHQpe2Zvcihjb25zdCBpIG9mIHQpeWllbGRbZS5jaGlsZHMoKVtpXSxpXX1fY2hpbGRDaGFuZ2VkKGUsdCl7dGhpcy5fbXV0ZUNoaWxkQ2hhbmdlc3x8dGhpcy5fbGlzdGVuZXJzLmZpcmUodGhpcyx0KX1fZmlyZU1lcmdlQW5kRmlyZUNoYW5nZWRQcm9wcyhlKXt0aGlzLm11dGVDaGlsZENoYW5nZXMoITApO2Zvcihjb25zdCB0IG9mIGUpdC5tdXRlQ2hpbGRDaGFuZ2VzKCEwKTtmb3IoY29uc3QgdCBvZiBlKXQubXV0ZUNoaWxkQ2hhbmdlcyghMSksdC5maXJlQ2hhbmdlZCgpO3RoaXMubXV0ZUNoaWxkQ2hhbmdlcyghMSl9fX0sNzQxNjkwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbWJpbmVQcm9wZXJ0eTooKT0+bn0pO3ZhciBzPWkoMzc4MDgpO2Z1bmN0aW9uIG4oZSwuLi50KXtjb25zdCBpPSgpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSksbj0oMCxzLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KShpKCkpLHI9KCk9Pm4uc2V0VmFsdWUoaSgpKSxvPXt9O2Zvcihjb25zdCBlIG9mIHQpZS5zdWJzY3JpYmUobyxyKTtyZXR1cm4gbi5kZXN0cm95PSgpPT57dC5mb3JFYWNoKChlPT5lLnVuc3Vic2NyaWJlQWxsKG8pKSksdC5mb3JFYWNoKChlPT5lLnJlbGVhc2UoKSkpfSxufX0sNTUyMTQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlOigpPT5ufSk7dmFyIHM9aSgyMzIzNjQpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1uZXcgcy5XYXRjaGVkVmFsdWUoZS52YWx1ZSgpKTtsZXQgaT0hMTtlLnN1YnNjcmliZSh0LCgoKT0+e2l8fChpPSEwLHQuc2V0VmFsdWUoZS52YWx1ZSgpKSxpPSExKX0pKTtjb25zdCBuPSgpPT57aXx8KGk9ITAsZS5zZXRWYWx1ZSh0LnZhbHVlKCkpLGk9ITEpfTtyZXR1cm4gdC5zdWJzY3JpYmUobiksdC5zcGF3bigoKCk9PntlLnVuc3Vic2NyaWJlQWxsKHQpLHQudW5zdWJzY3JpYmUobil9KSl9fSwzMTQ4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y3JlYXRlV1ZGcm9tUHJvcGVydHk6KCk9Pm59KTt2YXIgcz1pKDI0MTk1Nik7ZnVuY3Rpb24gbihlKXtyZXR1cm4oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLnZhbHVlKCkpLGUpfX0sNDczMDY4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZX1pLmQodCx7Y3JlYXRlU2VydmljZURlc2NyaXB0b3I6KCk9PnN9KX0sNTgzMDM4KGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5pbmNsdWRlcygiOiIpP2Uuc3BsaXQoIjoiKTpbIiIsZV19aS5kKHQse3NwbGl0U3ltYm9sTmFtZTooKT0+c30pfSw2MDE4NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Y2xvbmU6KCk9Pm8sZGVlcEVxdWFsczooKT0+ZCxoYXNQcm9wZXJ0eTooKT0+Yyxpc0Fic2VudDooKT0+Xyxpc0FycmF5OigpPT51LGlzRXhpc3RlbnQ6KCk9Pm0saXNJbnRlZ2VyOigpPT5mLGlzTmFOOigpPT5wLGlzTnVtYmVyOigpPT5yLGlzT2JqZWN0OigpPT5sLGlzUHJvbWlzZTooKT0+dixpc1NhbWVUeXBlOigpPT5nLGlzU3RyaW5nOigpPT5TLG1lcmdlOigpPT5hLG5vdE51bGw6KCk9Pnksbm90VW5kZWZpbmVkOigpPT5ifSk7Y29uc3Qgcz1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcy5oYXMoZSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIWV8fCJvYmplY3QiIT10eXBlb2YgZSlyZXR1cm4gZTtsZXQgdDt0PUFycmF5LmlzQXJyYXkoZSk/W106e307Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBzPWVbaV07dFtpXT1zJiYib2JqZWN0Ij09dHlwZW9mIHM/byhzKTpzfXJldHVybiB0fWZ1bmN0aW9uIGEoZSx0KXtpZighbChlKXx8IWwodCkpcmV0dXJuIGU7Zm9yKGNvbnN0W2ksc11vZiBPYmplY3QuZW50cmllcyh0KSluKGkpfHwocyYmKGgocyl8fCF1KHMpJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YocykhPT1PYmplY3QucHJvdG90eXBlKT9lW2ldPXM6KGUuaGFzT3duUHJvcGVydHkoaSkmJmwoZVtpXSl8fCFsKHMpfHwoZVtpXT1BcnJheS5pc0FycmF5KHMpP1tdOnt9KSxsKHMpJiZsKGVbaV0pP2EoZVtpXSxzKTplW2ldPXMpKTtyZXR1cm4gZX1mdW5jdGlvbiBsKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiB0IGluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT1GdW5jdGlvbnx8IltvYmplY3QgRnVuY3Rpb25dIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSl9ZnVuY3Rpb24gZChlLHQsaT0iIil7aWYoZT09PXQpcmV0dXJuWyEwLGldO2lmKGgoZSkmJihlPXZvaWQgMCksaCh0KSYmKHQ9dm9pZCAwKSwKbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsaV07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LGldO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpe2NvbnN0IHM9ZS5sZW5ndGg7aWYocyE9PXQubGVuZ3RoKXJldHVyblshMSxpXTtmb3IobGV0IG49MDtuPHM7bisrKXtjb25zdCBzPWQoZVtuXSx0W25dLGkrIlsiK24rIl0iKTtpZighc1swXSlyZXR1cm4gc31yZXR1cm5bITAsaV19aWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXkuaXNBcnJheSh0KSlyZXR1cm5bITEsaV07aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKXJldHVyblshMSxpXTtmb3IoY29uc3QgcyBpbiBlKXtjb25zdCBuPWQoZVtzXSx0W3NdLGkrIlsiK3MrIl0iKTtpZighblswXSlyZXR1cm4gbn1yZXR1cm5bITAsaV19Y29uc3QgdT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfTtmdW5jdGlvbiBwKGUpe3JldHVybiEoZTw9MHx8ZT4wKX1mdW5jdGlvbiBfKGUpe3JldHVybiBudWxsPT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIG51bGwhPWV9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBOdW1iZXIuaXNOYU4oZSl8fE51bWJlci5pc05hTih0KT9OdW1iZXIuaXNOYU4oZSk9PT1OdW1iZXIuaXNOYU4odCk6e30udG9TdHJpbmcuY2FsbChlKT09PXt9LnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmUlMT09MH1mdW5jdGlvbiBTKGUpe3JldHVybiBudWxsIT1lJiZlLmNvbnN0cnVjdG9yPT09U3RyaW5nfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGwoZSkmJiJ0aGVuImluIGUmJmgoZS50aGVuKX1mdW5jdGlvbiB5KGUpe3JldHVybiBudWxsIT09ZX1mdW5jdGlvbiBiKGUpe3JldHVybiB2b2lkIDAhPT1lfU51bWJlci5pc05hTj1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKGUpe3JldHVybiBlIT1lfX0sNTcwNjAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RyYW5zbGF0ZWRTdHJpbmc6KCk9PnJ9KTtjb25zdCBzPS97KFx3Kyl9L2c7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlLnJlcGxhY2UocywoKGUsaSk9PnZvaWQgMCE9PXRbaV0/dFtpXTplKSl9Y2xhc3Mgcntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX29yaWdpbmFsVGV4dD1lLHRoaXMuX3RyYW5zbGF0ZWRUZXh0PXR9b3JpZ2luYWxUZXh0KCl7cmV0dXJuIHRoaXMuX29yaWdpbmFsVGV4dH10cmFuc2xhdGVkVGV4dCgpe3JldHVybiB0aGlzLl90cmFuc2xhdGVkVGV4dH1mb3JtYXQoZSl7Y29uc3QgdD17fSxpPXt9O2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBuPWVbc107biBpbnN0YW5jZW9mIHI/KHRbc109bi5vcmlnaW5hbFRleHQoKSxpW3NdPW4udHJhbnNsYXRlZFRleHQoKSk6KHRbc109bi50b1N0cmluZygpLGlbc109bi50b1N0cmluZygpKX1jb25zdCBzPW4odGhpcy5fb3JpZ2luYWxUZXh0LHQpLG89bih0aGlzLl90cmFuc2xhdGVkVGV4dCxpKTtyZXR1cm4gbmV3IHIocyxvKX19fSwyMzczNjkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0RXJyb3JNZXNzYWdlOigpPT5hLGdldExvZ2dlck1lc3NhZ2U6KCk9Pm99KTt2YXIgcz1pKDc4MzI1NCksbj1pKDY0MTU5Myk7Y2xhc3MgciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHtkZXRhaWxlZEVycm9yTWVzc2FnZTplLHVzZXJGcmllbmRseU1lc3NhZ2U6dCxjYXVzZTppfSl7c3VwZXIodCksdGhpcy5uYW1lPSJVc2VyRnJpZW5kbHlFcnJvciIsdGhpcy5kZXRhaWxlZEVycm9yTWVzc2FnZT1lLHRoaXMuY2F1c2U9aX19ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHI/KDAsbi5yZW1vdmVUYWdzKShlLmRldGFpbGVkRXJyb3JNZXNzYWdlKTphKGUpfWZ1bmN0aW9uIGEoZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gcy50KG51bGwsdm9pZCAwLGkoOTkxMjU4KSk7bGV0IHQ7cmV0dXJuIHQ9ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGU/ImVycm9yImluIGU/ZS5lcnJvcjpKU09OLnN0cmluZ2lmeShlKTplLnRvU3RyaW5nKCksKDAsbi5yZW1vdmVUYWdzKSh0KX19LDUzNTMwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2dldE1pblRpY2s6KCk9PmMsZ2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgcz1pKDcxMjc0NSksbj1pKDYwMTg0MSkscj1pKDUzNDQ0MCksbz1pKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxzLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTppLHZhcmlhYmxlTWluVGlja0RhdGE6cyxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUsbz0oMCxuLmlzTnVtYmVyKSh0KT9oKHQpOnQ7cmV0dXJuIHZvaWQgMD09PXM/bzpmdW5jdGlvbihlLHQsaT0hMSl7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2lmKGU8dFtzXS5wcmljZSlyZXR1cm4gdFtzXS5taW5UaWNrO2lmKGkmJmU9PT10W3NdLnByaWNlKXJldHVybiB0W3NdLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30oaSxzLHIpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGEobChlKSl9ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLHIubnVtT2ZEZWNpbWFsUGxhY2VzKShlKSxpPU1hdGgucG93KDEwLHQpO3JldHVybntwcmljZVNjYWxlOmksbWluTW92ZTooMCxzLkJpZykoZSkubXVsKGkpLnRvTnVtYmVyKCl9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBpPVt7bWluVGljazooMCxuLmlzTnVtYmVyKShlKT9oKGUpOmUscHJpY2U6MS8wLG1heEluZGV4OjEvMH1dO3RyeXtjb25zdCBlPXQuc3BsaXQoIiAiKS5tYXAoKChlLHQpPT4oMCxvLmlzRXZlbikodCk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1OdW1iZXIoZSk7aWYoTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiBoKHQpO3tjb25zdCB0PWUuc3BsaXQoIi8iKQo7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IGk9TnVtYmVyKHRbMV0pLHM9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUoaSl8fCFOdW1iZXIuaXNGaW5pdGUocykpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOmksbWluTW92ZTpzfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxvLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3QgaT1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1pW2kubGVuZ3RoLTFdPy5wcmljZT8/MCxvPWlbaS5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IHMuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKG8pLnRvTnVtYmVyKCk7aS5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIGl9Y2F0Y2h7cmV0dXJuIGl9fX0sNzU0ODY0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0RhdGVUaW1lV2l0aFR6Rm9ybWF0dGVyOigpPT5ofSk7dmFyIHM9aSg3MDA4MDkpLG49aSg5MTQ3NzUpLHI9aSgyOTcxMTEpLG89aSgyMzgxMDMpLGE9aSg2MjQ2NzgpLGw9aSg4MjYxNTYpO2NvbnN0IGM9e2RhdGVGb3JtYXQ6Ik1NTSBkZCIsdGltZUZvcm1hdDpvLmhvdXJNaW51dGVGb3JtYXR9O2NsYXNzIGh7Y29uc3RydWN0b3IoZT17fSl7Y29uc3R7ZGF0ZUZvcm1hdDp0LHRpbWVGb3JtYXQ6aSx0aW1lem9uZTpufT17Li4uYywuLi5lfTt0JiZpP3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGwuRGF0ZVRpbWVGb3JtYXR0ZXIoe2RhdGVGb3JtYXQ6dCx0aW1lRm9ybWF0Oml9KTp0P3RoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IGEuRGF0ZUZvcm1hdHRlcih0KTppJiYodGhpcy5fZGF0ZUZvcm1hdHRlcj1uZXcgci5UaW1lRm9ybWF0dGVyKGkpKSx0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkobj8/IkV0Yy9VVEMiKX1mb3JtYXQoZSl7Y29uc3QgdD0xZTMqZSxpPSgwLG4ucGFyc2VUek9mZnNldCkodGhpcy5fdGltZXpvbmUubmFtZSgpLHQpLnN0cmluZztyZXR1cm4gdm9pZCAwPT09dGhpcy5fZGF0ZUZvcm1hdHRlcj9pOmAke3RoaXMuX2RhdGVGb3JtYXR0ZXIuZm9ybWF0KCgwLHMudXRjX3RvX2NhbCkodGhpcy5fdGltZXpvbmUsdCkpfSAke2l9YH1zZXRUaW1lem9uZShlKXt0aGlzLl90aW1lem9uZT0oMCxzLmdldF90aW1lem9uZSkoZSl9fX0sODIyNDMxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse251bURlcGVuZGVuY3lGb3JtYXR0ZXI6KCk9PnIsbnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm86KCk9Pm4seWllbGRDdXJ2ZVRpY2ttYXJrc1ByaWNlRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAscy5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLHMuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9ZnVuY3Rpb24gcihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGk9Pntjb25zdCBzPWk/Py0xO2xldCBuPXQuZ2V0KHMpO3JldHVybiBufHwobj1lKGkpLHQuc2V0KHMsbikpLG59fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1mdW5jdGlvbihlLHQpe2xldCBpPXQ7Zm9yKDtpPjA7aS0tKXtjb25zdCB0PU1hdGgucG93KDEwLGkpO2lmKGUubWFwKChlPT5NYXRoLnJvdW5kKGUqdCkpKS5zb21lKChlPT5lJTEwKSkpYnJlYWt9cmV0dXJuIGl9KGUsNCk7cmV0dXJuIGUubWFwKChlPT5gJHtlLnRvRml4ZWQodCl9JWApKX19LDE3MjMwNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtGb3JtYXR0ZXJzU2VyaWFsaXplcjooKT0+Y30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTg0Mzc2KSxyPWkoNzU1NjI3KSxvPWkoMTI1MjE4KTtjbGFzcyBhe2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0icXVvdGVTZXNzaW9uUHJpY2UiLHRoaXMucmVzZXQoZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fcHJpY2VGb3JtYXR0ZXIuc3RhdGUoKX1yZXNldChlKXt0aGlzLl9wcmljZUZvcm1hdHRlcj1lfHxuZXcgci5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxLGZyYWN0aW9uYWw6ITF9KX11cGRhdGUoZSx0KXtjb25zdCBpPW51bGwhPXQucHJpY2VzY2FsZXx8bnVsbCE9dC5taW5tb3Z8fG51bGwhPXQuZnJhY3Rpb25hbHx8bnVsbCE9dC5taW5tb3ZlMixzPW51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3YmJm51bGwhPWUuZnJhY3Rpb25hbCYmbnVsbCE9ZS5taW5tb3ZlMjtpJiZzJiYodGhpcy5fcHJpY2VGb3JtYXR0ZXI9bmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWx8fCExLG1pbk1vdmUyOmUubWlubW92ZTJ9KSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX3ByaWNlRm9ybWF0dGVyLmZvcm1hdChlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUZvcm1hdHRlci5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX0Kc3RhdGljIHNlcmlhbGl6ZShlKXtyZXR1cm4gZS5zdGF0ZSgpfXN0YXRpYyBkZXNlcmlhbGl6ZShlKXtjb25zdCB0PW5ldyByLlByaWNlRm9ybWF0dGVyKGUpO3JldHVybiBuZXcgYSh0KX19Y29uc3QgbD17cHJpY2U6ci5QcmljZUZvcm1hdHRlcix2b2x1bWU6bi5Wb2x1bWVGb3JtYXR0ZXIscGVyY2VudGFnZTpvLlBlcmNlbnRhZ2VGb3JtYXR0ZXIscXVvdGVTZXNzaW9uUHJpY2U6YX07dmFyIGM7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoZSl7cmV0dXJuKDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pLmRlc2VyaWFsaXplKGUuc3RhdGUpfWUuc2VyaWFsaXplPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShsW2UudHlwZV0pO3JldHVybnt0eXBlOmUudHlwZSxzdGF0ZTp0LnNlcmlhbGl6ZShlKX19LGUuaXNTZXJpYWxpemFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlLnR5cGUmJmUudHlwZSBpbiBsfSxlLmRlc2VyaWFsaXplPXQsZS5zYWZlRGVzZXJpYWxpemU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX19KGN8fChjPXt9KSl9LDI1MjQyNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW1pdGVkUHJlY2lzaW9uTnVtZXJpY0Zvcm1hdHRlcjooKT0+cn0pO3ZhciBzLG49aSgxMDcwNDUpOyFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByZWNpc2lvbj0xXT0iRGVmYXVsdFByZWNpc2lvbiJ9KHN8fChzPXt9KSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlPXMuRGVmYXVsdFByZWNpc2lvbix0KXt0aGlzLl9wcmVjaXNpb249ZSx0aGlzLl9udW1lcmljRm9ybWF0dGVyPW5ldyBuLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjp0aGlzLl9wcmVjaXNpb24saWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OnR9KX1mb3JtYXQoZSx0KXtjb25zdCBpPWUudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLHM9TWF0aC5wb3coMTAsLXRoaXMuX3ByZWNpc2lvbik7cmV0dXJuIHRoaXMuX251bWVyaWNGb3JtYXR0ZXIuZm9ybWF0KE1hdGgubWF4KHBhcnNlRmxvYXQoaSkscyksdCl9cGFyc2UoZSx0KXtjb25zdCBpPXRoaXMuX251bWVyaWNGb3JtYXR0ZXIucGFyc2UoZSx0KTtyZXR1cm4gaS5yZXM/e3JlczohMCx2YWx1ZTppLnZhbHVlLHN1Z2dlc3Q6dGhpcy5mb3JtYXQoaS52YWx1ZSl9Oml9fX0sMjEyMzQ2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1RpbWVTcGFuRm9ybWF0dGVyOigpPT5vfSk7dmFyIHM9aSg3ODMyNTQpLG49aSg1OTg5MjIpLHI9aSg1NDY0ODUpO2NsYXNzIG97Zm9ybWF0KGUsdCl7Y29uc3Qgbz1lPDA7ZT1NYXRoLmFicyhlKTtjb25zdCBhPU1hdGguZmxvb3IoZS84NjQwMCk7ZS09ODY0MDAqYTtjb25zdCBsPU1hdGguZmxvb3IoZS8zNjAwKTtlLT0zNjAwKmw7Y29uc3QgYz1NYXRoLmZsb29yKGUvNjApO2UtPTYwKmM7bGV0IGg9IiI7aWYoYSl7Y29uc3QgZT0oMCxyLmdldE51bWJlckZvcm1hdCkodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtoKz0oMCxuLmZvcm1hdE51bWJlcikoYSxlKStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDIzMDQ5MikpKyIgIn1yZXR1cm4gbCYmKGgrPWwrcy50KG51bGwse2NvbnRleHQ6ImRhdGVzIn0saSgxMjIwNTMpKSsiICIpLGMmJihoKz1jK3MudChudWxsLHtjb250ZXh0OiJkYXRlcyJ9LGkoMTY0NTE2KSkrIiAiKSxlJiYoaCs9ZStzLnQobnVsbCx7Y29udGV4dDoiZGF0ZXMifSxpKDI2MjIwNSkpKyIgIiksbyYmKGg9Ii0iK2gpLGgudHJpbSgpfX19LDg1NjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHt1bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZDooKT0+YX0pO3ZhciBzPWkoNjAxODQxKSxuPWkoOTk1NjU1KSxyPWkoODY2NzQ4KSxvPWkoODQ4NjAxKTthc3luYyBmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9KDAsby5wYXJzZU5vblNlcmllc0VudmVsb3BlKShlKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdHtuc0RhdGE6aSxwYXJzZWREYXRhOmF9PXQ7cmV0dXJuIGkuaW5kZXhlc19yZXBsYWNlfHwoKDAscy5oYXNQcm9wZXJ0eSkoYSwiZGF0YUNvbXByZXNzZWQiKSYmKGkuZGF0YT1hd2FpdCgwLHIudW5wYWNrKShhLmRhdGFDb21wcmVzc2VkKSksKDAscy5oYXNQcm9wZXJ0eSkoYSwiZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCIpJiYoaS5ncmFwaGljc0NtZHM9KDAsbi52YWxpZGF0ZUdyYXBoaWNzQ29tbWFuZHMpKGF3YWl0KDAsci51bnBhY2spKGEuZ3JhcGhpY3NDbWRzQ29tcHJlc3NlZCkpKSksaX19LDg1NzE1MShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtQbG90TGlzdDooKT0+dSxtZXJnZU1pbk1heDooKT0+cH0pO3ZhciBzPWkoMTM4NjM4KSxuPWkoMjIxMDYxKSxyPWkoMTk4OTAxKSxvPWkoODE0NTg5KSxhPWkoOTM2MzI2KTtjb25zdCBsPSgwLG4uZ2V0TG9nZ2VyKSgiQ2hhcnQuUGxvdExpc3QiKSxjPTMwO2Z1bmN0aW9uIGgoZSl7cmV0dXJuIGUuaW5kZXh9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS52YWx1ZVswXX1jbGFzcyB1e2NvbnN0cnVjdG9yKGU9bnVsbCx0PW51bGwpe3RoaXMuX2l0ZW1zPVtdLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPTAsdGhpcy5fc2hhcmVSZWFkPSExLHRoaXMuX21pbk1heENhY2hlPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4PW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4V2l0aG91dEVtcHR5VmFsdWVzPW5ldyBNYXAsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWU9bmV3IE1hcCx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZVdpdGhvdXRFbXB0eVZhbHVlcz1uZXcgTWFwLHRoaXMuX3Bsb3RGdW5jdGlvbnM9ZXx8bmV3IE1hcCx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlPXR9Y2xlYXIoKXt0aGlzLl9pdGVtcz1bXSx0aGlzLl9zdGFydD0wLHRoaXMuX2VuZD0wLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKX1maXJzdCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2l0ZW1zW3RoaXMuX3N0YXJ0XTpudWxsfWxhc3QoKXsKcmV0dXJuIHRoaXMuc2l6ZSgpPjA/dGhpcy5faXRlbXNbdGhpcy5fZW5kLTFdOm51bGx9Zmlyc3RJbmRleCgpe3JldHVybiB0aGlzLnNpemUoKT4wP3RoaXMuX2luZGV4QXQodGhpcy5fc3RhcnQpOm51bGx9Zmlyc3RQbG90dGFibGVJbmRleCgpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2ZvcihsZXQgZT10aGlzLl9zdGFydDtlPHRoaXMuX2VuZDsrK2Upe2NvbnN0IHQ9dGhpcy5faW5kZXhBdChlKTtpZih0Pm8uVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWClyZXR1cm4gdH1yZXR1cm4gbnVsbH1sYXN0SW5kZXgoKXtyZXR1cm4gdGhpcy5zaXplKCk+MD90aGlzLl9pbmRleEF0KHRoaXMuX2VuZC0xKTpudWxsfWNsb25lKCl7Y29uc3QgZT10aGlzLmZpcnN0SW5kZXgoKSx0PXRoaXMubGFzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1lfHxudWxsPT09dD9uZXcgdTp0aGlzLnJhbmdlKGUsdCl9c2l6ZSgpe3JldHVybiB0aGlzLl9lbmQtdGhpcy5fc3RhcnR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5zaXplKCl9Y29udGFpbnMoZSl7cmV0dXJuIG51bGwhPT10aGlzLnNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpfXZhbHVlQXQoZSl7Y29uc3QgdD10aGlzLnNlYXJjaChlKTtyZXR1cm4gbnVsbCE9PXQ/dC52YWx1ZTpudWxsfWFkZChlLHQpe2lmKHRoaXMuX3NoYXJlUmVhZClyZXR1cm4gbC5sb2dEZWJ1ZygiYWRkOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksITE7Y29uc3QgaT17aW5kZXg6ZSx2YWx1ZTp0fSxzPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLGEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QsaCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSxudWxsPT09cz8odGhpcy5faXRlbXMuc3BsaWNlKHRoaXMuX2xvd2VyYm91bmQoZSxoKSwwLGkpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCwhMCk6KHRoaXMuX2l0ZW1zW3NdPWksITEpfXNlYXJjaChlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeUluZGV4LHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlJbmRleFdpdGhvdXRFbXB0eVZhbHVlcyxoLGkpfXNlYXJjaEJ5VGltZShlLHQ9YS5QbG90Um93U2VhcmNoTW9kZS5FeGFjdCxpKXtyZXR1cm4gdGhpcy5fc2VhcmNoSW1wbChlLHQsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWUsdGhpcy5fcm93U2VhcmNoQ2FjaGVCeVRpbWVXaXRob3V0RW1wdHlWYWx1ZXMsZCxpKX1mb2xkKGUsdCl7bGV0IGk9dDtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpPWUodGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpLGkpfXJldHVybiBpfWZpbmRGaXJzdChlLHQpe2NvbnN0IGk9dm9pZCAwIT09dCYmTWF0aC5taW4odGhpcy5fc3RhcnQrdCx0aGlzLl9lbmQpfHx0aGlzLl9lbmQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8aTsrK3Qpe2NvbnN0IGk9dGhpcy5faW5kZXhBdCh0KSxzPXRoaXMuX3ZhbHVlQXQodCk7aWYoZShpLHMpKXJldHVybntpbmRleDppLHZhbHVlOnN9fXJldHVybiBudWxsfWZpbmRMYXN0KGUsdCl7Y29uc3QgaT12b2lkIDAhPT10JiZNYXRoLm1heCh0aGlzLl9lbmQtdCx0aGlzLl9zdGFydCl8fHRoaXMuX3N0YXJ0O2ZvcihsZXQgdD10aGlzLl9lbmQtMTt0Pj1pOy0tdCl7Y29uc3QgaT10aGlzLl9pbmRleEF0KHQpLHM9dGhpcy5fdmFsdWVBdCh0KTtpZihlKGkscykpcmV0dXJue2luZGV4OmksdmFsdWU6c319cmV0dXJuIG51bGx9ZWFjaChlKXtmb3IobGV0IHQ9dGhpcy5fc3RhcnQ7dDx0aGlzLl9lbmQ7Kyt0KXtpZihlKHRoaXMuX2luZGV4QXQodCksdGhpcy5fdmFsdWVBdCh0KSkpYnJlYWt9fXJlZHVjZShlLHQpe2xldCBpPXQ7Zm9yKGxldCB0PXRoaXMuX3N0YXJ0O3Q8dGhpcy5fZW5kOysrdCl7aT1lKGksdGhpcy5faW5kZXhBdCh0KSx0aGlzLl92YWx1ZUF0KHQpKX1yZXR1cm4gaX1yYW5nZShlLHQpe2NvbnN0IGk9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gaS5faXRlbXM9dGhpcy5faXRlbXMsaS5fc3RhcnQ9dGhpcy5fbG93ZXJib3VuZChlLGgpLGkuX2VuZD10aGlzLl91cHBlcmJvdW5kKHQpLGkuX3NoYXJlUmVhZD0hMCxpfXBsb3R0YWJsZVJhbmdlKGUpe2NvbnN0IHQ9bmV3IHUodGhpcy5fcGxvdEZ1bmN0aW9ucyx0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKTtyZXR1cm4gdC5faXRlbXM9dGhpcy5faXRlbXMsdC5fc3RhcnQ9dGhpcy5fdXBwZXJib3VuZChvLlVOUExPVFRBQkxFX1RJTUVfUE9JTlRfSU5ERVgpLHQuX2VuZD10aGlzLl9lbmQsdC5fc2hhcmVSZWFkPSEwLCEwPT09ZSYmdC5fc3RhcnQ+dGhpcy5fc3RhcnQmJih0Ll9zdGFydC09MSksdH1yYW5nZUNvdW50YmFjayhlLHQpe2lmKG51bGw9PT10aGlzLmZpcnN0SW5kZXgoKSlyZXR1cm4gbmV3IHU7Y29uc3QgaT1uZXcgdSh0aGlzLl9wbG90RnVuY3Rpb25zLHRoaXMuX2VtcHR5VmFsdWVQcmVkaWNhdGUpO3JldHVybiBpLl9pdGVtcz10aGlzLl9pdGVtcyxpLl9lbmQ9dGhpcy5fdXBwZXJib3VuZChlKSxpLl9zdGFydD1NYXRoLm1heCh0aGlzLl9zdGFydCxpLl9lbmQtdCksaS5fc2hhcmVSZWFkPSEwLGl9cmFuZ2VJdGVyYXRvcihlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLGgpLHM9dGhpcy5fdXBwZXJib3VuZCh0KTtyZXR1cm4gdGhpcy5fcmFuZ2VJdGVyYXRvckltcGwoaSxzKX1mdWxsUmFuZ2VJdGVyYXRvcigpe3JldHVybiB0aGlzLl9yYW5nZUl0ZXJhdG9ySW1wbCh0aGlzLl9zdGFydCx0aGlzLl9lbmQpfW1pbk1heE9uUmFuZ2VDYWNoZWQoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGw7Zm9yKGNvbnN0IG4gb2YgaSl7cz1wKHMsdGhpcy5fbWluTWF4T25SYW5nZUNhY2hlZEltcGwoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1pbk1heE9uUmFuZ2UoZSx0LGkpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiBudWxsO2xldCBzPW51bGwKO2Zvcihjb25zdCBuIG9mIGkpe3M9cChzLHRoaXMuX21pbk1heE9uUmFuZ2UoZS1uLm9mZnNldCx0LW4ub2Zmc2V0LG4ubmFtZSkpfXJldHVybiBzfW1lcmdlKGUpe3JldHVybiB0aGlzLl9zaGFyZVJlYWQ/KGwubG9nRGVidWcoIm1lcmdlOiByZWFkb25seSBjb2xsZWN0aW9uIG1vZGlmaWNhdGlvbiBhdHRlbXB0IiksbnVsbCk6MD09PWUubGVuZ3RoP251bGw6dGhpcy5pc0VtcHR5KCl8fGVbZS5sZW5ndGgtMV0uaW5kZXg8dGhpcy5faXRlbXNbMF0uaW5kZXg/dGhpcy5fcHJlcGVuZChlKTplWzBdLmluZGV4PnRoaXMuX2l0ZW1zW3RoaXMuX2l0ZW1zLmxlbmd0aC0xXS5pbmRleD90aGlzLl9hcHBlbmQoZSk6MT09PWUubGVuZ3RoJiZlWzBdLmluZGV4PT09dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdLmluZGV4Pyh0aGlzLl91cGRhdGVMYXN0KGVbMF0pLGVbMF0pOnRoaXMuX21lcmdlKGUpfWFkZFRhaWwoZSx0PSExKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2xldCBpPTA7dCYmdGhpcy5fZW5kLXRoaXMuX3N0YXJ0PjAmJihpPTEsdGhpcy5faXRlbXNbdGhpcy5fZW5kLXRoaXMuX3N0YXJ0LTFdLnZhbHVlPWVbMF0udmFsdWUpO2ZvcihsZXQgdD1pO3Q8ZS5sZW5ndGg7Kyt0KXtjb25zdCBpPWVbdF0scz10aGlzLmxhc3RJbmRleCgpO2lmKG51bGw9PT1zKXtsLmxvZ0Vycm9yKCJDYW4ndCBhZGQgdGFpbCB0byB0aGUgZW1wdHkgcGxvdGxpc3QiKTticmVha310aGlzLmFkZChzKzEsaS52YWx1ZSl9dGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpfW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiB2b2lkIGwubG9nRGVidWcoIm1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMuc2xpY2UoKTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPXRoaXMuX2JzZWFyY2goaS5vbGQsaCk7aWYobnVsbCE9PWUmJnZvaWQgMCE9PXRbZV0paWYoaS5uZXc9PT1vLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCl0W2VdPXZvaWQgMDtlbHNle3RbZV09e2luZGV4OmkubmV3LHZhbHVlOnRbZV0udmFsdWV9O2NvbnN0IHM9dGhpcy5fYnNlYXJjaChpLm5ldyxoKTtpZihudWxsIT09cyl7Y29uc3QgZT10W3NdO3ZvaWQgMCE9PWUmJmUuaW5kZXg9PT1pLm5ldyYmKHRbc109dm9pZCAwKX19fXRoaXMuX2l0ZW1zPXQuZmlsdGVyKChlPT52b2lkIDAhPT1lKSkuc29ydCgoKGUsdCk9PmUuaW5kZXgtdC5pbmRleCkpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9taW5NYXhDYWNoZS5jbGVhcigpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aH1yZW1vdmUoZSl7aWYodGhpcy5fc2hhcmVSZWFkKXJldHVybiBsLmxvZ0RlYnVnKCJyZW1vdmU6IHJlYWRvbmx5IGNvbGxlY3Rpb24gbW9kaWZpY2F0aW9uIGF0dGVtcHQiKSxudWxsO2NvbnN0IHQ9dGhpcy5fbm9uQ2FjaGVkU2VhcmNoKGUsYS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsaCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCk7cmV0dXJuIHRoaXMuX2VuZD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksaS5sZW5ndGg+MD9pWzBdOm51bGx9c3RhdGUoKXtjb25zdCBlPXRoaXMuX2l0ZW1zLnNsaWNlKHRoaXMuX3N0YXJ0LHRoaXMuX2VuZCk7cmV0dXJue3N0YXJ0OjAsZW5kOmUubGVuZ3RoLGRhdGE6ZX19cmVzdG9yZVN0YXRlKGUpe2U/KHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fZW5kPWUuZW5kLHRoaXMuX3NoYXJlUmVhZD0hMSx0aGlzLl9pdGVtcz1lLmRhdGEsdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCkpOnRoaXMuY2xlYXIoKX1faW5kZXhBdChlKXtyZXR1cm4gdGhpcy5faXRlbXNbZV0uaW5kZXh9X3ZhbHVlQXQoZSl7cmV0dXJuIHRoaXMuX2l0ZW1zW2VdLnZhbHVlfV9sZW5ndGgoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofV9zZWFyY2hJbXBsKGUsdCxpLHMsbixyKXtjb25zdCBvPXZvaWQgMCE9PXI/aTpzLGE9dm9pZCAwIT09cj8xZTQqKHQrMSkrcjp0O2xldCBsPW8uZ2V0KGUpO2lmKHZvaWQgMCE9PWwpe2NvbnN0IGU9bC5nZXQoYSk7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1jb25zdCBjPXRoaXMuX25vbkNhY2hlZFNlYXJjaChlLHQsbixyKTtpZihudWxsPT09YylyZXR1cm4gbnVsbDtjb25zdCBoPXtpbmRleDp0aGlzLl9pbmRleEF0KGMpLHZhbHVlOnRoaXMuX3ZhbHVlQXQoYyl9O3JldHVybiB2b2lkIDA9PT1sJiYobD1uZXcgTWFwLG8uc2V0KGUsbCkpLGwuc2V0KGEsaCksaH1fbm9uQ2FjaGVkU2VhcmNoKGUsdCxpLHMpe2NvbnN0IG49dGhpcy5fbG93ZXJib3VuZChlLGkpLHI9bj09PXRoaXMuX2VuZHx8ZSE9PWkodGhpcy5faXRlbXNbbl0pO2lmKHImJnQhPT1hLlBsb3RSb3dTZWFyY2hNb2RlLkV4YWN0KXN3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX3NlYXJjaE5lYXJlc3RMZWZ0KG4scyk7Y2FzZSBhLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodDpyZXR1cm4gdGhpcy5fc2VhcmNoTmVhcmVzdFJpZ2h0KG4scyk7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHNlYXJjaCBtb2RlIil9aWYodm9pZCAwPT09c3x8cnx8dD09PWEuUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpcmV0dXJuIHI/bnVsbDpuO3N3aXRjaCh0KXtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQ6cmV0dXJuIHRoaXMuX25vbkVtcHR5TmVhcmVzdExlZnQobixzKTtjYXNlIGEuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0OnJldHVybiB0aGlzLl9ub25FbXB0eU5lYXJlc3RSaWdodChuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBzZWFyY2ggbW9kZSIpfX1fbm9uRW1wdHlOZWFyZXN0UmlnaHQoZSx0KXtjb25zdCBpPSgwLApzLmVuc3VyZSkodGhpcy5fZW1wdHlWYWx1ZVByZWRpY2F0ZSksbj0oMCxzLmVuc3VyZSkodCk7Zm9yKDtlPHRoaXMuX2VuZCYmaSh0aGlzLl92YWx1ZUF0KGUpLG4pOyllKz0xO3JldHVybiBlPT09dGhpcy5fZW5kP251bGw6ZX1fbm9uRW1wdHlOZWFyZXN0TGVmdChlLHQpe2NvbnN0IGk9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9lbXB0eVZhbHVlUHJlZGljYXRlKSxuPSgwLHMuZW5zdXJlKSh0KTtmb3IoO2U+PXRoaXMuX3N0YXJ0JiZpKHRoaXMuX3ZhbHVlQXQoZSksbik7KWUtPTE7cmV0dXJuIGU8dGhpcy5fc3RhcnQ/bnVsbDplfV9zZWFyY2hOZWFyZXN0TGVmdChlLHQpe2lmKGU9PT10aGlzLl9zdGFydClyZXR1cm4gbnVsbDtjb25zdCBpPWUtMSxzPWkhPT10aGlzLl9lbmQ/aTpudWxsO3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09cz90aGlzLl9ub25FbXB0eU5lYXJlc3RMZWZ0KHMsdCk6c31fc2VhcmNoTmVhcmVzdFJpZ2h0KGUsdCl7Y29uc3QgaT1lLHM9aSE9PXRoaXMuX2VuZD9pOm51bGw7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT1zP3RoaXMuX25vbkVtcHR5TmVhcmVzdFJpZ2h0KHMsdCk6c31fYnNlYXJjaChlLHQpe2NvbnN0IGk9dGhpcy5fbG93ZXJib3VuZChlLHQpO3JldHVybiBpIT09dGhpcy5fZW5kJiZlPT09dCh0aGlzLl9pdGVtc1tpXSk/aTpudWxsfV9sb3dlcmJvdW5kKGUsdCl7cmV0dXJuKDAsci5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSxpKT0+dChlKTxpKSx0aGlzLl9zdGFydCx0aGlzLl9lbmQpfV91cHBlcmJvdW5kKGUpe3JldHVybigwLHIudXBwZXJib3VuZCkodGhpcy5faXRlbXMsZSwoKGUsdCk9PnQuaW5kZXg+ZSksdGhpcy5fc3RhcnQsdGhpcy5fZW5kKX1fcGxvdE1pbk1heChlLHQsaSl7bGV0IHM9bnVsbDtjb25zdCBuPXRoaXMuX3Bsb3RGdW5jdGlvbnMuZ2V0KGkpO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKGBQbG90ICIke2l9IiBpcyBub3QgcmVnaXN0ZXJlZGApO2ZvcihsZXQgaT1lO2k8dDtpKyspe2NvbnN0IGU9bih0aGlzLl9pdGVtc1tpXS52YWx1ZSk7bnVsbD09ZXx8TnVtYmVyLmlzTmFOKGUpfHwobnVsbD09PXM/cz17bWluOmUsbWF4OmV9OihlPHMubWluJiYocy5taW49ZSksZT5zLm1heCYmKHMubWF4PWUpKSl9cmV0dXJuIHN9X2ludmFsaWRhdGVDYWNoZUZvclJvdyhlKXtjb25zdCB0PU1hdGguZmxvb3IoZS5pbmRleC9jKTt0aGlzLl9taW5NYXhDYWNoZS5mb3JFYWNoKChlPT5lLmRlbGV0ZSh0KSkpfV9wcmVwZW5kKGUpe3JldHVybigwLHMuYXNzZXJ0KSghdGhpcy5fc2hhcmVSZWFkLCJjb2xsZWN0aW9uIHNob3VsZCBub3QgYmUgcmVhZG9ubHkiKSwoMCxzLmFzc2VydCkoMCE9PWUubGVuZ3RoLCJwbG90Um93cyBzaG91bGQgbm90IGJlIGVtcHR5IiksdGhpcy5faW52YWxpZGF0ZVNlYXJjaENhY2hlcygpLHRoaXMuX21pbk1heENhY2hlLmNsZWFyKCksdGhpcy5faXRlbXM9ZS5jb25jYXQodGhpcy5faXRlbXMpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9hcHBlbmQoZSl7cmV0dXJuKDAscy5hc3NlcnQpKCF0aGlzLl9zaGFyZVJlYWQsImNvbGxlY3Rpb24gc2hvdWxkIG5vdCBiZSByZWFkb25seSIpLCgwLHMuYXNzZXJ0KSgwIT09ZS5sZW5ndGgsInBsb3RSb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5jb25jYXQoZSksdGhpcy5fc3RhcnQ9MCx0aGlzLl9lbmQ9dGhpcy5faXRlbXMubGVuZ3RoLGVbMF19X3VwZGF0ZUxhc3QoZSl7KDAscy5hc3NlcnQpKCF0aGlzLmlzRW1wdHkoKSwicGxvdCBsaXN0IHNob3VsZCBub3QgYmUgZW1wdHkiKTtjb25zdCB0PXRoaXMuX2l0ZW1zW3RoaXMuX2VuZC0xXTsoMCxzLmFzc2VydCkodC5pbmRleD09PWUuaW5kZXgsImxhc3Qgcm93IGluZGV4IHNob3VsZCBtYXRjaCBuZXcgcm93IGluZGV4IiksdGhpcy5faW52YWxpZGF0ZUNhY2hlRm9yUm93KGUpLHRoaXMuX2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKSx0aGlzLl9pdGVtc1t0aGlzLl9lbmQtMV09ZX1fbWVyZ2UoZSl7cmV0dXJuKDAscy5hc3NlcnQpKDAhPT1lLmxlbmd0aCwicGxvdCByb3dzIHNob3VsZCBub3QgYmUgZW1wdHkiKSx0aGlzLl9pbnZhbGlkYXRlU2VhcmNoQ2FjaGVzKCksdGhpcy5fbWluTWF4Q2FjaGUuY2xlYXIoKSx0aGlzLl9pdGVtcz1mdW5jdGlvbihlLHQpe2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWUubGVuZ3RoLHM9dC5sZW5ndGg7bGV0IG49aStzLHI9MCxvPTA7Zm9yKDtyPGkmJm88czspZVtyXS5pbmRleDx0W29dLmluZGV4P3IrKzplW3JdLmluZGV4PnRbb10uaW5kZXg/bysrOihyKyssbysrLG4tLSk7cmV0dXJuIG59KGUsdCkscz1uZXcgQXJyYXkoaSk7bGV0IG49MCxyPTA7Y29uc3Qgbz1lLmxlbmd0aCxhPXQubGVuZ3RoO2xldCBsPTA7Zm9yKDtuPG8mJnI8YTspZVtuXS5pbmRleDx0W3JdLmluZGV4PyhzW2xdPWVbbl0sbisrKTplW25dLmluZGV4PnRbcl0uaW5kZXg/KHNbbF09dFtyXSxyKyspOihzW2xdPXRbcl0sbisrLHIrKyksbCsrO2Zvcig7bjxvOylzW2xdPWVbbl0sbisrLGwrKztmb3IoO3I8YTspc1tsXT10W3JdLHIrKyxsKys7cmV0dXJuIHN9KHRoaXMuX2l0ZW1zLGUpLHRoaXMuX3N0YXJ0PTAsdGhpcy5fZW5kPXRoaXMuX2l0ZW1zLmxlbmd0aCxlWzBdfV9taW5NYXhPblJhbmdlQ2FjaGVkSW1wbChlLHQsaSl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7bGV0IG49bnVsbDtjb25zdCByPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5maXJzdEluZGV4KCkpLG89KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLmxhc3RJbmRleCgpKSxhPU1hdGgubWF4KGUsciksbD1NYXRoLm1pbih0LG8pLGg9TWF0aC5jZWlsKGEvYykqYyxkPU1hdGgubWF4KGgsTWF0aC5mbG9vcihsL2MpKmMpO249cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoYSxNYXRoLm1pbihoLHQsbCksaSkpO2xldCB1PXRoaXMuX21pbk1heENhY2hlLmdldChpKTt2b2lkIDA9PT11JiYodT1uZXcgTWFwLAp0aGlzLl9taW5NYXhDYWNoZS5zZXQoaSx1KSk7Zm9yKGxldCBlPU1hdGgubWF4KGgrMSxhKTtlPGQ7ZSs9Yyl7Y29uc3QgdD1NYXRoLmZsb29yKGUvYyk7bGV0IHM9dS5nZXQodCk7aWYodm9pZCAwPT09cyl7Y29uc3QgZT10KmMsbj0odCsxKSpjLTE7cz10aGlzLl9taW5NYXhPblJhbmdlKGUsbixpKSx1LnNldCh0LHMpfW49cChuLHMpfW49cChuLHRoaXMuX21pbk1heE9uUmFuZ2UoZCxsLGkpKTtyZXR1cm4gbn1fbWluTWF4T25SYW5nZShlLHQsaSl7cmV0dXJuIHRoaXMuX3Bsb3RNaW5NYXgodGhpcy5fbG93ZXJib3VuZChlLGgpLHRoaXMuX3VwcGVyYm91bmQodCksaSl9X3JhbmdlSXRlcmF0b3JJbXBsKGUsdCl7bGV0IGk9ZS0xO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0OigpPT4oaSs9MSxpPj10P3tkb25lOiEwLHZhbHVlOnZvaWQgMH06e2RvbmU6ITEsdmFsdWU6dGhpcy5faXRlbXNbaV19KX19X2ludmFsaWRhdGVTZWFyY2hDYWNoZXMoKXt0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXguY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5SW5kZXhXaXRob3V0RW1wdHlWYWx1ZXMuY2xlYXIoKSx0aGlzLl9yb3dTZWFyY2hDYWNoZUJ5VGltZS5jbGVhcigpLHRoaXMuX3Jvd1NlYXJjaENhY2hlQnlUaW1lV2l0aG91dEVtcHR5VmFsdWVzLmNsZWFyKCl9fWZ1bmN0aW9uIHAoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdDtpZihudWxsPT09dClyZXR1cm4gZTtyZXR1cm57bWluOk1hdGgubWluKGUubWluLHQubWluKSxtYXg6TWF0aC5tYXgoZS5tYXgsdC5tYXgpfX19LDYxOTE2NShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtTZXJpZXNEYXRhOigpPT5fLGJhckZ1bmN0aW9uOigpPT51LGJhckZ1bmN0aW9uczooKT0+aCxzZXJpZXNQbG90RnVuY3Rpb25NYXA6KCk9PmR9KTt2YXIgcyxuLHI9aSgxMzg2MzgpLG89aSg4NTcxNTEpLGE9aSg0NzU0NzgpOyFmdW5jdGlvbihlKXtlW2UuRnJvbUxlZnQ9LTFdPSJGcm9tTGVmdCIsZVtlLkZyb21SaWdodD0xXT0iRnJvbVJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuVGltZT0wXT0iVGltZSIsZVtlLk9wZW49MV09Ik9wZW4iLGVbZS5IaWdoPTJdPSJIaWdoIixlW2UuTG93PTNdPSJMb3ciLGVbZS5DbG9zZT00XT0iQ2xvc2UiLGVbZS5Wb2x1bWU9NV09IlZvbHVtZSIsZVtlLkFkdD02XT0iQWR0In0obnx8KG49e30pKTtjb25zdCBsPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCJdO3ZhciBjOyFmdW5jdGlvbihlKXtlW2UuRmlyc3RQcmljZT0wXT0iRmlyc3RQcmljZSIsZVtlLkxhc3RQcmljZT0xXT0iTGFzdFByaWNlIixlW2UuTGFzdFZhbHVlUHJpY2U9Ml09Ikxhc3RWYWx1ZVByaWNlIn0oY3x8KGM9e30pKTtjb25zdCBoPXtvcGVuOmU9PmVbMV0saGlnaDplPT5lWzJdLGxvdzplPT5lWzNdLGNsb3NlOmU9PmVbNF0saGwyOmU9PihlWzJdK2VbM10pLzIsaGxjMzplPT4oZVsyXStlWzNdK2VbNF0pLzMsb2hsYzQ6ZT0+KGVbMV0rZVsyXStlWzNdK2VbNF0pLzR9O2Z1bmN0aW9uIGQoKXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIGwuZm9yRWFjaCgoKHQsaSk9PntlLnNldCh0LHUodCkpfSkpLGV9ZnVuY3Rpb24gdShlLHQsaSl7Y29uc3Qgcz1oW3Q/P2VdLG49aFtlXSxyPWhbaT8/ZV07cmV0dXJuKGUsdCk9Pntzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBzKGUpO2Nhc2UgMjpyZXR1cm4gcihlKTtkZWZhdWx0OnJldHVybiBuKGUpfX19ZnVuY3Rpb24gcChlLHQpe3JldHVybiBudWxsPT1lW3RdfWNsYXNzIF97Y29uc3RydWN0b3IoKXt0aGlzLm1fYmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5tX25zQmFycz1uZXcgby5QbG90TGlzdChkKCkscCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgYS5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMubV9iYXJzLChlPT5oW2VdKSl9YmFycygpe3JldHVybiB0aGlzLm1fYmFyc31uc0JhcnMoKXtyZXR1cm4gdGhpcy5tX25zQmFyc31jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1tZXJnZVJlZ3VsYXJCYXJzKGUpe3JldHVybiB0aGlzLl9jb25mbGF0ZWRDaHVua3NCdWlsZGVyLm1lcmdlRGF0YShlKX1zaXplKCl7cmV0dXJuIHRoaXMubV9iYXJzLnNpemUoKSt0aGlzLm1fbnNCYXJzLnNpemUoKX1lYWNoKGUpe3RoaXMubV9iYXJzLmVhY2goZSksdGhpcy5tX25zQmFycy5lYWNoKGUpfWNsZWFyKCl7dGhpcy5tX25zQmFycy5jbGVhcigpLHRoaXMubGFzdFByb2plY3Rpb25QcmljZT12b2lkIDAsdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jbGVhckRhdGEoKX1jbG9uZSgpe2NvbnN0IGU9bmV3IF87cmV0dXJuIGUubGFzdFByb2plY3Rpb25QcmljZT10aGlzLmxhc3RQcm9qZWN0aW9uUHJpY2UsZS5ib3hTaXplPXRoaXMuYm94U2l6ZSxlLnJldmVyc2FsQW1vdW50PXRoaXMucmV2ZXJzYWxBbW91bnQsZS5tX2JhcnM9dGhpcy5tX2JhcnMuY2xvbmUoKSxlLm1fbnNCYXJzPXRoaXMubV9iYXJzLmNsb25lKCksZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMubV9iYXJzLmlzRW1wdHkoKSYmdGhpcy5tX25zQmFycy5pc0VtcHR5KCl9Zmlyc3QoKXtyZXR1cm4gdGhpcy5tX2JhcnMuaXNFbXB0eSgpP3RoaXMubV9uc0JhcnMuZmlyc3QoKTp0aGlzLm1fYmFycy5maXJzdCgpfWxhc3QoKXtyZXR1cm4gdGhpcy5tX25zQmFycy5pc0VtcHR5KCk/dGhpcy5tX2JhcnMubGFzdCgpOnRoaXMubV9uc0JhcnMubGFzdCgpfXNlYXJjaChlLHQsaSl7cmV0dXJuIHRoaXMubnNCYXJzKCkuaXNFbXB0eSgpP3RoaXMuYmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuaXNFbXB0eSgpfHwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMubnNCYXJzKCkuZmlyc3RJbmRleCgpKTw9ZT90aGlzLm5zQmFycygpLnNlYXJjaChlLHQsaSk6dGhpcy5iYXJzKCkuc2VhcmNoKGUsdCxpKX12YWx1ZUF0KGUpe2NvbnN0IHQ9dGhpcy5zZWFyY2goZSk7cmV0dXJuIG51bGwhPT10P3QudmFsdWU6bnVsbH0KcGxvdFZhbHVlVG9UaW1lUG9pbnRJbmRleChlLHQsaSl7aWYoaT09PXMuRnJvbVJpZ2h0KXtjb25zdCBpPShpLHMpPT57Y29uc3Qgbj1zW3RdO3JldHVybiBudWxsIT1uJiZlPj1ufSxzPXRoaXMubV9iYXJzLmZpbmRMYXN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kTGFzdChpKTtyZXR1cm4gbnVsbCE9PW4/bi5pbmRleDp0aGlzLm1fYmFycy5maXJzdEluZGV4KCl9aWYoaT09PXMuRnJvbUxlZnQpe2NvbnN0IGk9KGkscyk9Pntjb25zdCBuPXNbdF07cmV0dXJuIG51bGwhPW4mJmU8PW59LHM9dGhpcy5tX2JhcnMuZmluZEZpcnN0KGkpO2lmKG51bGwhPT1zKXJldHVybiBzLmluZGV4O2NvbnN0IG49dGhpcy5tX25zQmFycy5maW5kRmlyc3QoaSk7cmV0dXJuIG51bGwhPT1uP24uaW5kZXg6dGhpcy5tX2JhcnMubGFzdEluZGV4KCl9dGhyb3cgbmV3IEVycm9yKCJwbG90VmFsdWVUb1RpbWVQb2ludEluZGV4OiB1bnN1cHBvcnRlZCBzZWFyY2ggbW9kZSIpfW1vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSksdGhpcy5tX25zQmFycy5tb3ZlKGUpfX19LDE3OTY3NChlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtEd2dFeHRlbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLk5vbmU9Im4iLGUuTGVmdD0ibCIsZS5SaWdodD0iciIsZS5Cb3RoPSJiIn0oc3x8KHM9e30pKX0sNTQ4NTYwKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbixyLG87aS5kKHQse0R3Z0xhYmVsU3R5bGU6KCk9PnIsRHdnTGFiZWxUZXh0QWxpZ246KCk9PnMsRHdnTGFiZWxZbG9jOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MZWZ0PSJsZWZ0IixlLkNlbnRlcj0iY2VudGVyIixlLlJpZ2h0PSJyaWdodCJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5BYm92ZUJhcj0iYWIiLGUuQmVsb3dCYXI9ImJsIixlLlByaWNlPSJwciIsZS5BdXRvPSJhdXRvIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlLlhjcm9zcz0ieGNyIixlLkNyb3NzPSJjciIsZS5UcmlhbmdsZXVwPSJ0dXAiLGUuVHJpYW5nbGVkb3duPSJ0ZG4iLGUuRmxhZz0iZmxnIixlLkNpcmNsZT0iY2lyIixlLkFycm93dXA9ImF1cCIsZS5BcnJvd2Rvd249ImFkbiIsZS5MYWJlbFVwPSJsdXAiLGUuTGFiZWxEb3duPSJsZG4iLGUuTGFiZWxMZWZ0PSJsbGYiLGUuTGFiZWxSaWdodD0ibHJnIixlLkxhYmVsQ2VudGVyPSJsY24iLGUuTGFiZWxMZWZ0VXA9Imx1cGxmIixlLkxhYmVsTGVmdERvd249Imxsd2xmIixlLkxhYmVsUmlnaHRVcD0ibHVwcmciLGUuTGFiZWxSaWdodERvd249Imxsd3JnIixlLlNxdWFyZT0ic3EiLGUuRGlhbW9uZD0iZGlhIixlLlRleHRPdXRsaW5lPSJ0byIsZS5Ob25lPSJuIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlLk1vbm9zcGFjZT0ibW9ub3NwYWNlIn0ob3x8KG89e30pKX0sMzk0OTYzKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7SEhpc3REaXJlY3Rpb246KCk9PnMsSEhpc3RMb2NhdGlvbjooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuTGVmdFRvUmlnaHQ9ImxlZnRfdG9fcmlnaHQiLGUuUmlnaHRUb0xlZnQ9InJpZ2h0X3RvX2xlZnQifShzfHwocz17fSkpLGZ1bmN0aW9uKGUpe2UuUmVsYXRpdmU9InJlbGF0aXZlIixlLkFic29sdXRlPSJhYnNvbHV0ZSJ9KG58fChuPXt9KSl9LDIyMzg2OShlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7cmV0dXJuL15ccypzdHJhdGVneVxzKlwoL20udGVzdChlKX1pLmQodCx7aXNTdHJhdGVneTooKT0+c30pfSw5NjU3OTUoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWFrZU5leHRTdHVkeUlkOigpPT5ufSk7bGV0IHM9MDtmdW5jdGlvbiBuKCl7cmV0dXJuIHMrKywic3QiK3N9fSwxNjQxNTYoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7UGluZUtpbmQ6KCk9PnN9KSxmdW5jdGlvbihlKXtlLlN0dWR5PSJzdHVkeSIsZS5TdHJhdGVneT0ic3RyYXRlZ3kiLGUuTGlicmFyeT0ibGlicmFyeSJ9KHN8fChzPXt9KSl9LDU4OTUxMShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtQbG90U3ltYm9sU2l6ZTooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQXV0bz0iYXV0byIsZS5UaW55PSJ0aW55IixlLlNtYWxsPSJzbWFsbCIsZS5Ob3JtYWw9Im5vcm1hbCIsZS5MYXJnZT0ibGFyZ2UiLGUuSHVnZT0iaHVnZSJ9KHN8fChzPXt9KSl9LDY2Njk0NyhlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiVGltZVBvaW50SW5kZXhJbmRleCBzaG91bGQgYmUgbm9uLW5lZ2F0aXZlIGludGVnZXIiKTtyZXR1cm4gZX1pLmQodCx7ZW5zdXJlVGltZVBvaW50SW5kZXhJbmRleDooKT0+c30pfSwxOTg1NDEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLnIodCksaS5kKHQse1N0dWR5RGF0YVNvdXJjZTooKT0+X30pO3ZhciBzPWkoMTM4NjM4KSxuPWkoOTQ4MzgwKSxyPWkoMjIxMDYxKSxvPWkoNTUwOTA0KSxhPWkoODU3MTUxKSxsPWkoNzkxNDI3KSxjPWkoMTQyMzg5KSxoPWkoOTY1Nzk1KSxkPWkoNTA0NDMxKTtjb25zdCB1PSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZHlEYXRhU291cmNlIik7dmFyIHA7IWZ1bmN0aW9uKGUpe2VbZS5JZGxlPTBdPSJJZGxlIixlW2UuQXdhaXRpbmdDb25uZWN0aW9uPTFdPSJBd2FpdGluZ0Nvbm5lY3Rpb24iLGVbZS5Bd2FpdGluZ1BhcmVudD0yXT0iQXdhaXRpbmdQYXJlbnQiLGVbZS5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZT0zXT0iQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUiLGVbZS5BY3RpdmU9NF09IkFjdGl2ZSJ9KHB8fChwPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQsaSxzLHI9ITEpe3RoaXMuX2lucHV0cz1udWxsLHRoaXMuX3N0YXR1cz1wLklkbGUsdGhpcy5fc3R1ZHlJZD1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTEsdGhpcy5fc3R1ZHlTdGF0dXM9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSx0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZGF0YUNsZWFyZWQ9bmV3IG4uRGVsZWdhdGUsCnRoaXMuX2RhdGFVcGRhdGVkPW5ldyBuLkRlbGVnYXRlLHRoaXMuX2JvdW5kT25HYXRld2F5SXNDb25uZWN0ZWRDaGFuZ2VkPXRoaXMuX29uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2dhdGV3YXk9ZSx0aGlzLl9tZXRhSW5mbz1zLHRoaXMuX2ZvcmNlVXNlRXhjbGFtYXRpb25NYXJrPXIsdGhpcy5fc2VyaWVzU291cmNlPXQsdGhpcy5fdHVybmFyb3VuZFByZWZpeD1pLHRoaXMuX2NyZWF0ZVBsb3RzKCksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuc3RvcCgpLHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZE9uR2F0ZXdheUlzQ29ubmVjdGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9bWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fbWV0YUluZm99aW5wdXRzKCl7cmV0dXJuIHRoaXMuX2lucHV0c31zZXRJbnB1dHMoZSl7dGhpcy5faW5wdXRzPWUsbnVsbCE9PXRoaXMuX3N0dWR5SWQmJih0aGlzLl90dXJuYXJvdW5kQ291bnRlcisrLHRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSksdGhpcy5fZ2F0ZXdheS5tb2RpZnlTdHVkeSh0aGlzLl9zdHVkeUlkLHRoaXMuX3R1cm5hcm91bmQoKSxlLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpKSx0aGlzLl9zdGF0dXM9PT1wLkFjdGl2ZSYmdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSkpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGF0dXMhPT1wLklkbGV9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3RhdHVzPT09cC5BY3RpdmV9c3RhcnQoKXt0aGlzLmlzU3RhcnRlZCgpP3UubG9nTm9ybWFsKCJzdGFydDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdGFydGVkLCBub3RoaW5nIHRvIGRvIik6KCgwLHMuYXNzZXJ0KShudWxsIT09dGhpcy5faW5wdXRzLCJJbnB1dHMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiBzdGFydGluZyBhIHN0dWR5IGRhdGEgc291cmNlIiksdGhpcy5fZ2F0ZXdheS5pc0Nvbm5lY3RlZCgpLnZhbHVlKCk/dGhpcy5fY3JlYXRlU3R1ZHkoKTp0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLkF3YWl0aW5nQ29ubmVjdGlvbikpfXN0b3AoKXt0aGlzLmlzU3RhcnRlZCgpPyhudWxsIT09dGhpcy5fc3R1ZHlJZCYmKHRoaXMuX2dhdGV3YXkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9nYXRld2F5LnJlbW92ZVN0dWR5KHRoaXMuX3N0dWR5SWQpLHRoaXMuX3N0dWR5SWQ9bnVsbCx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSx0aGlzLl9jaGFuZ2VTdGF0dXNUbyhwLklkbGUpKTp1LmxvZ05vcm1hbCgic3RvcDogZGF0YSBzb3VyY2UgaXMgYWxyZWFkeSBzdG9wcGVkLCBub3RoaW5nIHRvIGRvIil9c3R1ZHlJZCgpe3JldHVybiB0aGlzLl9zdHVkeUlkfXN0dWR5U3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0dWR5U3RhdHVzfXN0dWR5U3RhdHVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zdHVkeVN0YXR1c0NoYW5nZWR9cGxvdHMoKXtyZXR1cm4gdGhpcy5fcGxvdHN9Y2xlYXJEYXRhKCl7dGhpcy5fcGxvdHMuY2xlYXIoKSx0aGlzLl9kYXRhQ2xlYXJlZC5maXJlKCl9ZGF0YUNsZWFyZWQoKXtyZXR1cm4gdGhpcy5fZGF0YUNsZWFyZWR9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWR9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9wbG90cy5tb3ZlKGUpfSkpfXBlbmRpbmdVcGRhdGVzUmVhZHkoKXtyZXR1cm4gdGhpcy5fb25nb2luZ0RhdGFVcGRhdGV9c3RhdGljIHNldE5vblNlcmllc0RhdGFVbnBhY2tlcihlKXtfLl9ub25TZXJpZXNEYXRhVW5wYWNrZXI9ZX1fY3JlYXRlU3R1ZHlFcnJvcihlKXtyZXR1cm57dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnRoaXMuX2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKX19X2dldFN0dWR5RXJyb3JEZXNjcmlwdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/e2Vycm9yOmUuc3BsaXQoIjoiLDIpWzBdfTplfV9jcmVhdGVQbG90cygpe3RoaXMuX3Bsb3RzPW5ldyBhLlBsb3RMaXN0KCgwLGQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY2hhbmdlU3RhdHVzVG8oZSl7KDAscy5hc3NlcnQpKHRoaXMuX3N0YXR1cyE9PWUsIlNvdXJjZSBhbmQgZGVzdGluYXRpb24gc3RhdHVzIHNob3VsZCBiZSBkaXN0aW5jdCIpLHUubG9nTm9ybWFsKGBTdGF0dXMgY2hhbmdlZCBmcm9tICR7cFt0aGlzLl9zdGF0dXNdfSB0byAke3BbZV19YCksdGhpcy5fc3RhdHVzPWV9X2NyZWF0ZVN0dWR5KCl7Y29uc3QgZT10aGlzLl9zZXJpZXNTb3VyY2UuaW5zdGFuY2VJZCgpO251bGwhPT1lP3RoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKToodGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ1BhcmVudCksdGhpcy5fc2VyaWVzU291cmNlLmRhdGFFdmVudHMoKS5jcmVhdGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNDcmVhdGVkLCEwKSl9X2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZChlKXsoMCxzLmFzc2VydCkodGhpcy5fc3RhdHVzIT09cC5BY3RpdmUsJ1N0YXR1cyBzaG91bGQgbm90IGJlICJBY3RpdmUiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLHMuYXNzZXJ0KSh0aGlzLl9zdHVkeVN0YXR1cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkLCdTdHVkeSBzdGF0dXMgc2hvdWxkIGJlICJVbmRlZmluZWQiIHdoZW4gY3JlYXRpbmcgYSBzdHVkeScpLCgwLApzLmFzc2VydCkobnVsbD09PXRoaXMuX3N0dWR5SWQsIlN0dWR5IGlkIHNob3VsZCBiZSBlbXB0eSB3aGVuIGNyZWF0aW5nIGEgc3R1ZHkiKSx0aGlzLl9zdHVkeUlkPSgwLGgubWFrZU5leHRTdHVkeUlkKSgpLHRoaXMuX2dhdGV3YXkuY3JlYXRlU3R1ZHkodGhpcy5fc3R1ZHlJZCx0aGlzLl90dXJuYXJvdW5kKCksZSxsLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlJZFdpdGhMYXRlc3RWZXJzaW9uKHRoaXMubWV0YUluZm8oKSx0aGlzLl9mb3JjZVVzZUV4Y2xhbWF0aW9uTWFyayksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbnB1dHMpLHRoaXMuX29uTWVzc2FnZS5iaW5kKHRoaXMpLHtpZDp0aGlzLl9tZXRhSW5mby5pZH0pLHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQXdhaXRpbmdGaXJzdERhdGFVcGRhdGUpfV9vbkdhdGV3YXlJc0Nvbm5lY3RlZENoYW5nZWQoZSl7ZT90aGlzLl9vbkdhdGV3YXlDb25uZWN0ZWQoKTp0aGlzLl9vbkdhdGV3YXlEaXNjb25uZWN0ZWQoKX1fb25HYXRld2F5Q29ubmVjdGVkKCl7dGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJnRoaXMuX2NyZWF0ZVN0dWR5KCl9X29uR2F0ZXdheURpc2Nvbm5lY3RlZCgpe3RoaXMuX3N0YXR1cyE9PXAuSWRsZSYmdGhpcy5fc3RhdHVzIT09cC5Bd2FpdGluZ0Nvbm5lY3Rpb24mJih0aGlzLl9zdHVkeUlkPW51bGwsdGhpcy5fY2hhbmdlU3RhdHVzVG8ocC5Bd2FpdGluZ0Nvbm5lY3Rpb24pLHRoaXMuX3N0dWR5U3RhdHVzLnR5cGUhPT1jLlN0dWR5U3RhdHVzVHlwZS5VbmRlZmluZWQmJnRoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSkpLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTF9X29uU2VyaWVzQ3JlYXRlZCgpe3RoaXMuX3N0YXR1cz09PXAuQXdhaXRpbmdQYXJlbnQmJnRoaXMuX2NyZWF0ZVN0dWR5VXNpbmdQYXJlbnRJZCgoMCxzLmVuc3VyZSkodGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKSkpfV9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHlTdGF0dXM7dGhpcy5fc3R1ZHlTdGF0dXM9ZSx1LmxvZ05vcm1hbChgU3R1ZHkgc3RhdHVzIHR5cGUgY2hhbmdlZCBmcm9tICR7Yy5TdHVkeVN0YXR1c1R5cGVbdC50eXBlXX0gdG8gJHtjLlN0dWR5U3RhdHVzVHlwZVtlLnR5cGVdfWApLHRoaXMuX3N0dWR5U3RhdHVzQ2hhbmdlZC5maXJlKHQsZSl9X29uTWVzc2FnZShlKXtpZigiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Qpe2NvbnN0e2N1c3RvbUlkOnQsdHVybmFyb3VuZDppLHBsb3RzOm4sbm9uc2VyaWVzOnJ9PWUucGFyYW1zO3Q9PT10aGlzLl9zdHVkeUlkJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoaSkmJnRoaXMuX29uRGF0YVVwZGF0ZShuLCgwLHMuZW5zdXJlRGVmaW5lZCkocikpfWVsc2UgaWYoInN0dWR5X2xvYWRpbmciPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUxvYWRpbmcoZS50aW1lKX1lbHNlIGlmKCJzdHVkeV9jb21wbGV0ZWQiPT09ZS5tZXRob2Qpe2NvbnN0W3QsaV09ZS5wYXJhbXM7dD09PXRoaXMuX3N0dWR5SWQmJnRoaXMuX2NoZWNrVHVybmFyb3VuZChpKSYmdGhpcy5fb25TdHVkeUNvbXBsZXRlZChlLnRpbWUpfWVsc2UgaWYoInN0dWR5X2Vycm9yIj09PWUubWV0aG9kKXtjb25zdFt0LGkscyxuXT1lLnBhcmFtczt0PT09dGhpcy5fc3R1ZHlJZCYmdGhpcy5fY2hlY2tUdXJuYXJvdW5kKGkpJiZ0aGlzLl9vblN0dWR5RXJyb3IocyxuLGUudGltZSl9ZWxzZSJjbGVhcl9kYXRhIj09PWUubWV0aG9kJiZ0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9X29uRGF0YVVwZGF0ZShlLHQpe2NvbnN0IGk9Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyKHQuZCk7cmV0dXJuIHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT5pKSwoKCk9PmkpKS50aGVuKHRoaXMuX29uRGF0YVVucGFja2VkLmJpbmQodGhpcyxlLHQuaW5kZXhlcykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9vbkRhdGFVbnBhY2tlZChlLHQsaSl7dGhpcy5fc3RhdHVzIT09cC5JZGxlJiYodGhpcy5fc3RhdHVzPT09cC5Bd2FpdGluZ0ZpcnN0RGF0YVVwZGF0ZSYmKHRoaXMuX2NoYW5nZVN0YXR1c1RvKHAuQWN0aXZlKSx0aGlzLmNsZWFyRGF0YSgpKSx0aGlzLl9tZXJnZVBsb3RzKGUpLHRoaXMuX2RhdGFVcGRhdGVkLmZpcmUoZSxpLHQpKX1fb25TdHVkeUxvYWRpbmcoZSl7dGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWRUbyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nLHN0YXJ0VGltZTpEYXRlLm5vdygpfSl9X29uU3R1ZHlFcnJvcihlLHQsaSl7dGhpcy5jbGVhckRhdGEoKSx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZFRvKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpfV9vblN0dWR5Q29tcGxldGVkKGUpe3RoaXMuX29uU3R1ZHlTdGF0dXNDaGFuZ2VkVG8oe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSl9X21lcmdlUGxvdHMoZSl7dGhpcy5fcGxvdHMubWVyZ2UoZSl9X3R1cm5hcm91bmQoKXtyZXR1cm5gJHt0aGlzLl90dXJuYXJvdW5kUHJlZml4fSR7dGhpcy5fdHVybmFyb3VuZENvdW50ZXJ9YH1fY2hlY2tUdXJuYXJvdW5kKGUpe2NvbnN0IHQ9dGhpcy5fdHVybmFyb3VuZCgpO3JldHVybiBlPT09dHx8ZT09PXRoaXMuX3Nlcmllc1NvdXJjZS50dXJuYXJvdW5kKCl8fGU9PT1gJHt0aGlzLl9zZXJpZXNTb3VyY2UudHVybmFyb3VuZCgpfV8ke3R9YH19Xy5fbm9uU2VyaWVzRGF0YVVucGFja2VyPW8udW5wYWNrTm9uU2VyaWVzRGF0YX0sNTA0NDMxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUucGxvdHMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNldChlLmlkLChlPT5lW2krMV0pKX0pKSx0fWZ1bmN0aW9uIG4oZSx0KXtyZXR1cm4gbnVsbD09ZVt0XX1pLmQodCx7c3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZTooKT0+biwKc3R1ZHlQbG90RnVuY3Rpb25NYXA6KCk9PnN9KX0sNjM0ODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuYCR7ZX1AJHt0fWB9ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5yZXBsYWNlKC8oQFteLV0rLVteLV0rKS4qJC8sIiQxIil9aS5kKHQse2V4dHJhY3RTdHVkeUlkOigpPT5uLHN0dWR5SWRTdHJpbmc6KCk9PnN9KX0sNjI4MDYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRDb2xvckRlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+ZyxJbnB1dERpc3BsYXlGbGFnczooKT0+bixSYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lczooKT0+bCxTdHVkeVN0cmF0ZWd5SW5wdXRJbnRlcm5hbElEOigpPT5yLFN0dWR5U3RyYXRlZ3lRdHlUeXBlSW5wdXRWYWx1ZTooKT0+byxhcmVTdHVkeUlucHV0c0VxdWFsOigpPT5fLGVkaXRhYmxlU3R1ZHlJbnB1dHM6KCk9PnYsZ2V0SW5wdXRWYWx1ZTooKT0+dSxpc0V4dGVuZGVkSW5wdXQ6KCk9PmgsaXNFeHRlbmRlZElucHV0Qm9vbDooKT0+dyxpc0V4dGVuZGVkSW5wdXRTb3VyY2U6KCk9PmQsaXNTdHJhdGVneUlucHV0OigpPT5DLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0OigpPT5iLGlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzOigpPT55LGlzU3R1ZHlJbnB1dE9wdGlvbnNJbmZvOigpPT5wLGlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dDooKT0+UyxyYW5nZURlcGVuZGVudFN0dWR5SW5wdXROYW1lc0xpc3Q6KCk9Pm0scmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlOigpPT5mLHVzZXJFZGl0YWJsZUlucHV0RmlsdGVyOigpPT5QfSk7dmFyIHMsbixyLG8sYSxsLGM9aSg4ODAxMTUpO2Z1bmN0aW9uIGgoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKX1mdW5jdGlvbiBkKGUpe3JldHVybiJzb3VyY2UiPT09ZS50fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGgoZSk/ZS52OmV9ZnVuY3Rpb24gcChlKXtyZXR1cm5bInRleHQiLCJpbnRlZ2VyIiwiZmxvYXQiLCJwcmljZSIsInNlc3Npb24iLCJyZXNvbHV0aW9uIl0uaW5jbHVkZXMoZS50eXBlKSYmZS5oYXNPd25Qcm9wZXJ0eSgib3B0aW9ucyIpfWZ1bmN0aW9uIF8oZSx0LGkpe2Zvcihjb25zdCBzIG9mIGUpaWYodFtzLmlkXSE9PWlbcy5pZF0pcmV0dXJuITE7cmV0dXJuITB9IWZ1bmN0aW9uKGUpe2UuSW50ZWdlcj0iaW50ZWdlciIsZS5GbG9hdD0iZmxvYXQiLGUuUHJpY2U9InByaWNlIixlLkJvb2w9ImJvb2wiLGUuVGV4dD0idGV4dCIsZS5TeW1ib2w9InN5bWJvbCIsZS5TZXNzaW9uPSJzZXNzaW9uIixlLlNvdXJjZT0ic291cmNlIixlLlJlc29sdXRpb249InJlc29sdXRpb24iLGUuVGltZT0idGltZSIsZS5CYXJUaW1lPSJiYXJfdGltZSIsZS5Db2xvcj0iY29sb3IiLGUuVGV4dGFyZWE9InRleHRfYXJlYSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk5vbmU9MF09Ik5vbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuU3RhdHVzTGluZT04XT0iU3RhdHVzTGluZSIsZVtlLkFsbD0xNV09IkFsbCJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5Jbml0aWFsQ2FwaXRhbD0iaW5pdGlhbF9jYXBpdGFsIixlLkN1cnJlbmN5PSJjdXJyZW5jeSIsZS5EZWZhdWx0UVRZVmFsdWU9ImRlZmF1bHRfcXR5X3ZhbHVlIixlLkRlZmF1bHRRVFlUeXBlPSJkZWZhdWx0X3F0eV90eXBlIixlLlB5cmFtaWRpbmc9InB5cmFtaWRpbmciLGUuQ29taXNzaW9uVmFsdWU9ImNvbW1pc3Npb25fdmFsdWUiLGUuQ29taXNzaW9uVHlwZT0iY29tbWlzc2lvbl90eXBlIixlLkJhY2t0ZXN0RmlsbExpbWl0c0Fzc3VtdGlvbj0iYmFja3Rlc3RfZmlsbF9saW1pdHNfYXNzdW1wdGlvbiIsZS5TbGlwcGFnZT0ic2xpcHBhZ2UiLGUuQ2FsY09uT3JkZXJGaWxscz0iY2FsY19vbl9vcmRlcl9maWxscyIsZS5DYWxjT25FdmVyeVRpY2s9ImNhbGNfb25fZXZlcnlfdGljayIsZS5DYWxjT25IaXN0b3J5QmFyPSJjYWxjX29uX2V2ZXJ5X2hpc3RvcnlfdGljayIsZS5NYXJnaW5Mb25nPSJtYXJnaW5fbG9uZyIsZS5NYXJnaW5TaG9ydD0ibWFyZ2luX3Nob3J0IixlLkJhckRldGFsaXphdGlvbj0idXNlX2Jhcl9tYWduaWZpZXIiLGUuUHJvY2Vzc09yZGVyc09uQ2xvc2U9InByb2Nlc3Nfb3JkZXJzX29uX2Nsb3NlIixlLkZpbGxPcmRlcnNPblN0YW5kYXJkT0hMQz0iZmlsbF9vcmRlcnNfb25fc3RhbmRhcmRfb2hsYyJ9KHJ8fChyPXt9KSksZnVuY3Rpb24oZSl7ZS5GaXhlZD0iZml4ZWQiLGUuQ2FzaFBlck9yZGVyPSJjYXNoX3Blcl9vcmRlciIsZS5QZXJjZW50T2ZFcXVpdHk9InBlcmNlbnRfb2ZfZXF1aXR5In0ob3x8KG89e30pKSxmdW5jdGlvbihlKXtlLlBlcmNlbnQ9InBlcmNlbnQiLGUuQ2FzaFBlckNvbnRyYWN0PSJjYXNoX3Blcl9jb250cmFjdCIsZS5DYXNoUGVyT3JkZXI9ImNhc2hfcGVyX29yZGVyIn0oYXx8KGE9e30pKSxmdW5jdGlvbihlKXtlLkZpcnN0QmFyPSJmaXJzdF92aXNpYmxlX2Jhcl90aW1lIixlLkxhc3RCYXI9Imxhc3RfdmlzaWJsZV9iYXJfdGltZSIsZS5SZWFsdGltZT0ic3Vic2NyaWJlUmVhbHRpbWUifShsfHwobD17fSkpO2NvbnN0IG09T2JqZWN0LnZhbHVlcyhsKTt2YXIgZztmdW5jdGlvbiBmKGUpe3JldHVybntmcm9tOk1hdGgucm91bmQoZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lLzFlMyksdG86TWF0aC5yb3VuZChlLmxhc3RfdmlzaWJsZV9iYXJfdGltZS8xZTMpfX1mdW5jdGlvbiBTKGUpe3JldHVybigidGltZSI9PT1lLnR5cGV8fCJwcmljZSI9PT1lLnR5cGUpJiYhMCE9PWUuaXNIaWRkZW59ZnVuY3Rpb24gdihlKXtjb25zdCB0PWUuZmlsdGVyKFMpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBpPW5ldyBNYXAscz1bXTt0LmZvckVhY2goKGU9Pntjb25zdHtncm91cDp0LGlubGluZTpufT1lO2lmKHZvaWQgMD09PW4pcmV0dXJuIHZvaWQgcy5wdXNoKGUpO2NvbnN0IHI9bisodHx8IiIpO2lmKGkuaGFzKHIpKWkuZ2V0KHIpPy5wdXNoKGUpO2Vsc2V7Y29uc3QgdD1bZV07aS5zZXQocix0KSxzLnB1c2godCl9fSkpO2NvbnN0IG49W107Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspe2NvbnN0IHQ9c1tlXQo7QXJyYXkuaXNBcnJheSh0KT8yPT09dC5sZW5ndGgmJnRbMF0udHlwZSE9PXRbMV0udHlwZT9uLnB1c2godCk6bi5wdXNoKC4uLnQpOm4ucHVzaCh0KX1yZXR1cm4gbn1mdW5jdGlvbiB5KGUpe3JldHVybiBPYmplY3QudmFsdWVzKGcpLm1hcCgoZT0+ZSkpLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISF5KGUpfHxtLmluY2x1ZGVzKGUuaWQpfWZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAsYy5kZWZhdWx0KShlKSYmInQiaW4gZSYmImJvb2wiPT09ZS50JiYidiJpbiBlJiYiYm9vbGVhbiI9PXR5cGVvZiBlLnZ9ZnVuY3Rpb24gQyhlKXtyZXR1cm4ic3RyYXRlZ3lfcHJvcHMiPT09ZS5ncm91cElkfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIWUuZ3JvdXBJZCYmIWUuaXNIaWRkZW4mJmUuaWQhPT1sLkZpcnN0QmFyJiZlLmlkIT09bC5MYXN0QmFyfSFmdW5jdGlvbihlKXtlLkZnQ29sb3I9Il9fY2hhcnRfZmdjb2xvciIsZS5CZ0NvbG9yPSJfX2NoYXJ0X2JnY29sb3IifShnfHwoZz17fSkpfSw3OTE0MjcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7U3R1ZHlNZXRhSW5mbzooKT0+QyxnZXRTdHVkeUlkV2l0aFZlcnNpb246KCk9PnkscmVwbGF5U3RyYXRlZ3lTdHVkeUlkOigpPT5ifSk7dmFyIHM9aSgzMDQyMjEpLG49aSgyMDM2ODEpLHI9aSgxMzg2MzgpLG89aSg2MDE4NDEpLGE9aSgyMjEwNjEpLGw9aSgxNjQxNTYpLGM9aSgyNTA0NjcpLGg9aSg2MjgwNiksZD1pKDQwMzYpLHU9aSgyMjM4NjkpO2NvbnN0IHA9KDAsYS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5NZXRhSW5mbyIpLF89bmV3IFNldChbIkNvcnJlbGF0aW9uQ29lZmZpY2llbnRAdHYtYmFzaWNzdHVkaWVzIiwiQ29ycmVsYXRpb24gLSBMb2dAdHYtYmFzaWNzdHVkaWVzLTEiXSksbT1uZXcgU2V0KFtdKSxnPW5ldyBTZXQoWyJsaW5lIiwic2hhcGVzIiwiY2hhcnMiLCJhcnJvd3MiLCJhbGVydGNvbmRpdGlvbiJdKSxmPW5ldyBNYXAoW1siQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2d2FwIl0sWyJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwibGluZXRvb2xyZWdyZXNzaW9udHJlbmQiXSxbIlZiUEFuY2hvcmVkQHR2LWJhc2ljc3R1ZGllcyIsImxpbmV0b29sYW5jaG9yZWR2cCJdXSksUz1bImZvcmVjYXN0cyIsImVzdGltYXRlcyJdLHY9WyJib29sIiwiY29sb3IiLCJ0aW1lIiwidGV4dF9hcmVhIl07ZnVuY3Rpb24geShlKXtyZXR1cm4gQy5jdXREb2xsYXJIYXNoKGUuaWQpKyItIitlLnZlcnNpb259Y29uc3QgYj0iUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIix3PVsidXNlVmVyc2lvbkZyb21NZXRhSW5mbyIsIl9mb3JjZU92ZXJsYXlQbG90SWRzIl07Y2xhc3MgQ3tjb25zdHJ1Y3RvcihlLHQ9ITEpe3RoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHM9bmV3IFNldCwoMCxvLm1lcmdlKSh0aGlzLHtwYWxldHRlczp7fSxpbnB1dHM6W10scGxvdHM6W10sZ3JhcGhpY3M6e30sZGVmYXVsdHM6e319KSwoMCxvLm1lcmdlKSh0aGlzLGUpO2NvbnN0IGk9ZS5mdWxsSWR8fGUuaWQ7KDAsby5tZXJnZSkodGhpcyxDLnBhcnNlSWRTdHJpbmcoaSkpLHRoaXMuX3VwZGF0ZUlucHV0RGlzcGxheURlZmF1bHRzKCksdGhpcy51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPXQsdGhpcy5wbG90cy5mb3JFYWNoKChlPT57Y29uc3QgdD1lLmlkLGk9dGhpcy5zdHlsZXM/Llt0XTtsZXQgcz0hIWk/LmZvcmNlT3ZlcmxheTshcyYmKDAsYy5pc09obGNQbG90KShlKSYmKHM9dGhpcy5vaGxjUGxvdHM/LltlLnRhcmdldF0/LmZvcmNlT3ZlcmxheT8/ITEscyYmdGhpcy5fZm9yY2VPdmVybGF5UGxvdElkcy5hZGQoZS50YXJnZXQpKSxzJiZ0aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLmFkZCh0KX0pKX1kZWZhdWx0SW5wdXRzKCl7cmV0dXJuIHRoaXMuaW5wdXRzLm1hcCgoZT0+ZS5kZWZ2YWwpKS5maWx0ZXIoby5pc0V4aXN0ZW50KX1zdGF0ZSgpe2NvbnN0IGU9e307Zm9yKGNvbnN0W3QsaV1vZiBPYmplY3QuZW50cmllcyh0aGlzKSl3LmluY2x1ZGVzKHQpfHx0aGlzLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0oMCxuLmRlZmF1bHQpKGkpLCJpZCI9PT10JiYoZVt0XSs9Ii0iK3RoaXMudmVyc2lvbikpO3JldHVybiBlfWlzUGluZSgpe3JldHVybiB2b2lkIDAhPT10aGlzLnBpbmV9aXNTdGFuZGFyZFBpbmUoKXtyZXR1cm4gdGhpcy5pc1BpbmUoKSYmQy5pc1N0YW5kYXJkUGluZSh0aGlzLmlkKX1pc0ZvcmVjYXN0KCl7cmV0dXJuIFMuaW5jbHVkZXModGhpcy5mdW5kYW1lbnRhbENhdGVnb3J5Py50b0xvd2VyQ2FzZSgpPz8iIil9c3ltYm9sSW5wdXRJZCgpe3JldHVybiB0aGlzLmlucHV0cy5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy5pZHx8bnVsbH1pbnB1dEJ5SWQoZSl7cmV0dXJuKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLmlucHV0cy5maW5kKCh0PT50LmlkPT09ZSkpKX1pc1Bsb3RGb3JjZU92ZXJsYXkoZSl7cmV0dXJuIHRoaXMuX2ZvcmNlT3ZlcmxheVBsb3RJZHMuaGFzKGUpfWhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl7cmV0dXJuIDAhPT10aGlzLl9mb3JjZU92ZXJsYXlQbG90SWRzLnNpemV9c3RhdGljIGdldFNvdXJjZUlkc0J5SW5wdXRzKGUsdCl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fCF0KXJldHVybltdO2NvbnN0IGk9W107Zm9yKGNvbnN0IG4gb2YgZSlpZihDLmlzU291cmNlSW5wdXQobikmJigwLHMuZGVmYXVsdCkodFtuLmlkXSkpe2NvbnN0IGU9dFtuLmlkXTtlLmluY2x1ZGVzKCIkIikmJmkucHVzaChlLnNwbGl0KCIkIilbMF0pfXJldHVybiBpfXN0YXRpYyBpc1NvdXJjZUlucHV0KGUpe3JldHVybiBCb29sZWFuKGUuaWQmJigoInNvdXJjZSI9PT1lLmlkfHwic3JjIj09PWUuaWQpJiYoInRleHQiPT09ZS50eXBlfHwic291cmNlIj09PWUudHlwZSl8fCJzb3VyY2UiPT09ZS50eXBlKSl9c3RhdGljIGdldFNvdXJjZUlucHV0SWRzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KGkpJiZ0LnB1c2goaS5pZCk7cmV0dXJuIHR9c3RhdGljIGNhbkJlQ2hpbGQoZSx0KXtpZigoMCxzLmRlZmF1bHQpKGUpKXJldHVybiEwCjtpZighZSlyZXR1cm4hMTtpZihlLmV4dHJhJiYhQy5pc0FsbG93ZWRTb3VyY2VJbnB1dHNDb3VudChlLmV4dHJhLnNvdXJjZUlucHV0c0NvdW50LHQpfHwhMD09PWUuY2FuTm90QmVDaGlsZHx8ITE9PT1lLmNhbkJlQ2hpbGR8fF8uaGFzKGUuaWQpKXJldHVybiExO2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZS5pbnB1dHMpQy5pc1NvdXJjZUlucHV0KHQpJiYoaSs9MSk7cmV0dXJuIEMuaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoaSx0KX1zdGF0aWMgaXNBbGxvd2VkU291cmNlSW5wdXRzQ291bnQoZSx0KXtyZXR1cm4gdCYmZT4wfHwxPT09ZX1zdGF0aWMgY2FuSGF2ZUNoaWxkcmVuKGUpe2lmKGUpe2lmKGUuaXNUVlNjcmlwdFN0cmF0ZWd5fHxlLlRWU2NyaXB0U291cmNlQ29kZSYmKDAsdS5pc1N0cmF0ZWd5KShlLlRWU2NyaXB0U291cmNlQ29kZSkpcmV0dXJuITE7aWYoZS5pZCYmIW0uaGFzKGUuaWQpJiZBcnJheS5pc0FycmF5KGUucGxvdHMpKWZvcihjb25zdCB0IG9mIGUucGxvdHMpaWYoZy5oYXModC50eXBlKSlyZXR1cm4hMH1yZXR1cm4hMX1zdGF0aWMgZ2V0Q2hpbGRTb3VyY2VJbnB1dFRpdGxlcyhlLHQsaSl7Y29uc3Qgcz17fTtpZih0LnBsb3RzJiZ0LnBsb3RzLmxlbmd0aCYmZS5vcHRpb25zJiZlLm9wdGlvbnMubGVuZ3RoKWZvcihjb25zdCBuIG9mIGUub3B0aW9ucyl7Y29uc3QgZT1uPytuLnNwbGl0KCIkIilbMV06TmFOLHI9aXNGaW5pdGUoZSkmJnQucGxvdHNbZV07ciYmZy5oYXMoci50eXBlKSYmKHNbbl09dC5zdHlsZXMmJnQuc3R5bGVzW3IuaWRdJiZ0LnN0eWxlc1tyLmlkXT8udGl0bGV8fHIuaWQsaSYmKHNbbl09aSsiOuKAiSIrc1tuXSkpfXJldHVybiBzfXN0YXRpYyBjYW5QbG90QmVTb3VyY2VPZkNoaWxkU3R1ZHkoZSl7cmV0dXJuIGcuaGFzKGUpfXN0YXRpYyBnZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUoZSl7Y29uc3QgdD1mLmdldChlLmlkKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2xldCBpPSJzdHVkeV8iK2UuaWQ7cmV0dXJuIGUucGluZSYmZS5waW5lLnZlcnNpb24mJihpKz0iXyIrZS5waW5lLnZlcnNpb24ucmVwbGFjZSgiLiIsIl8iKSksaX1zdGF0aWMgZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lQnlJZChlKXtjb25zdCB0PWYuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6InN0dWR5XyIrZX1zdGF0aWMgaXNTY3JpcHRTdHJhdGVneShlKXtpZihlLmV4dHJhJiZlLmV4dHJhLmtpbmQpcmV0dXJuIGUuZXh0cmEua2luZD09PWwuUGluZUtpbmQuU3RyYXRlZ3k7aWYoITA9PT1lLmlzVFZTY3JpcHRTdHJhdGVneSlyZXR1cm4hMDtjb25zdCB0PWUuVFZTY3JpcHRTb3VyY2VDb2RlfHxlLnNjcmlwdFNvdXJjZTtyZXR1cm4hIXQmJigwLHUuaXNTdHJhdGVneSkodCl9c3RhdGljIGlzUmVwbGF5U3RyYXRlZ3koZSl7cmV0dXJuIGUuaWQ9PT1ifXN0YXRpYyBwYXJzZUlkU3RyaW5nKGUpe3JldHVybigwLGQucGFyc2VJZFN0cmluZykoZSl9c3RhdGljIHZlcnNpb25PZihlKXtjb25zdCB0PSJfbWV0YWluZm9WZXJzaW9uImluIGUmJigwLG8uaXNOdW1iZXIpKGUuX21ldGFpbmZvVmVyc2lvbik/ZS5fbWV0YWluZm9WZXJzaW9uOjA7cmV0dXJuIHQ8MCYmcC5sb2dFcnJvcigiTWV0YWluZm8gZm9ybWF0IHZlcnNpb24gY2Fubm90IGJlIG5lZ2F0aXZlOiAiK3QpLHR9c3RhdGljIGdldFBhY2thZ2VOYW1lKGUpe2NvbnN0IHQ9L15bXkBdK0AoW14tXSstW14tXSspLy5leGVjKGV8fCIiKSxbLGk9InR2LWJhc2ljc3R1ZGllcyJdPXR8fFtdO3JldHVybiBpfXN0YXRpYyBjdXRCZWZvcmVEb2xsYXIoZSl7Y29uc3QgdD1lLmluZGV4T2YoIiQiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpfXN0YXRpYyBjdXREb2xsYXJIYXNoKGUpe2NvbnN0IHQ9ZS5pbmRleE9mKCIkIik7aWYoLTE9PT10KXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCJAIikscz1pPj0wP2Uuc3Vic3RyaW5nKGkpOiIiO3JldHVybiBlLnN1YnN0cmluZygwLHQpK3N9c3RhdGljIGhhc1B1YlN1ZmZpeChlKXtyZXR1cm4vXlBVQjsuKyQvLnRlc3QoZSl9c3RhdGljIGhhc1N0ZFN1ZmZpeChlKXtyZXR1cm4vXlNURDsuKyQvLnRlc3QoZSl9c3RhdGljIGlzU3RhbmRhcmRQaW5lKGUpe3JldHVybi9eKFN0cmF0ZWd5KT9TY3JpcHRcJFNURDsuKkB0di1zY3JpcHRpbmckLy50ZXN0KGUpfXN0YXRpYyBnZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oZSx0KXtjb25zdCBpPUMuY3V0RG9sbGFySGFzaChlLmlkKTtsZXQgcz1pO3JldHVybiBpLmluZGV4T2YoIlBvcnRmb2xpb0B0di1zY3JpcHRpbmciKT49MD9zKz10PyIhIjoiIjoiUmVwbGF5U3RyYXRlZ3lAdHYtc2NyaXB0aW5nIj09PXM/cys9Ii01ODEhIjppLmluZGV4T2YoIkB0di1zY3JpcHRpbmciKT49MD9zKz0iLTEwMSEiOmkuZW5kc1dpdGgoIkNQQHR2LWJhc2ljc3R1ZGllcyIpP3MrPSItIitNYXRoLm1pbihlLnZlcnNpb24sMjA3KTppLmVuZHNXaXRoKCJDUEB0di1jaGFydHBhdHRlcm5zIik/cys9Ii0iK01hdGgubWluKGUudmVyc2lvbiw5KTppLmVuZHNXaXRoKCJAdHYtdm9sdW1lYnlwcmljZSIpfHx0P3MrPSItIitlLnZlcnNpb24rIiEiOnMrPSItIitlLnZlcnNpb24sc31zdGF0aWMgc2F2ZWRTdHVkaWVzT3ZlcnJpZGVzKCl7cmV0dXJuIHRoaXMuX3NhdmVkU3R1ZGllc092ZXJyaWRlc31zdGF0aWMgbWVyZ2VEZWZhdWx0c092ZXJyaWRlcyhlKXsoMCxvLm1lcmdlKSh0aGlzLl9zYXZlZFN0dWRpZXNPdmVycmlkZXMsZSl9c3RhdGljIGZpbmRTdHVkeU1ldGFJbmZvQnlEZXNjcmlwdGlvbihlLHQpe2lmKGUpe2NvbnN0IGk9dC50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCB0IG9mIGUpaWYodC5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpPT09aSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgc3R1ZHkgaWQ6Iit0KX10aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGlzIG5vIHN0dWRpZXMgbWV0YWluZm8iKX1fdXBkYXRlSW5wdXREaXNwbGF5RGVmYXVsdHMoKXt0aGlzLmlucHV0cy5maWx0ZXIoKGU9PnZvaWQgMD09PWUuZGlzcGxheSkpLmZvckVhY2goKGU9PnsKdi5pbmNsdWRlcyhlLnR5cGUpP2UuZGlzcGxheT1oLklucHV0RGlzcGxheUZsYWdzLk5vbmU6ZS5kaXNwbGF5PWguSW5wdXREaXNwbGF5RmxhZ3MuQWxsfSkpfX1DLl9zYXZlZFN0dWRpZXNPdmVycmlkZXM9e319LDI1MDQ2NyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtJbnRlcm5hbFN0dWR5UGxvdFR5cGU6KCk9PnIsTGluZVN0dWR5UGxvdFN0eWxlOigpPT5zLE9obGNTdHVkeVBsb3RTdHlsZTooKT0+YSxQbG90U3ltYm9sU2l6ZTooKT0+bC5QbG90U3ltYm9sU2l6ZSxTdHVkeVBsb3REaXNwbGF5VGFyZ2V0OigpPT5vLFN0dWR5UGxvdFR5cGU6KCk9Pm4sZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrczooKT0+Vyxkb2VzTGluZVBsb3RTdHlsZVN1cHBvcnRMaW5lU3R5bGU6KCk9Pk8saXNBbGVydENvbmRpdGlvblBsb3Q6KCk9PmssaXNBcnJvd3NQbG90OigpPT51LGlzQmFyQ29sb3JlclBsb3Q6KCk9PkMsaXNCZ0NvbG9yZXJQbG90OigpPT5QLGlzQ2FuZGxlQm9yZGVyQ29sb3JlclBsb3Q6KCk9PkksaXNDYW5kbGVXaWNrQ29sb3JlclBsb3Q6KCk9Pk0saXNDaGFyc1Bsb3Q6KCk9PmQsaXNDb2xvcmVyUGxvdDooKT0+dyxpc0RhdGFPZmZzZXRQbG90OigpPT5fLGlzRGF0YVBsb3Q6KCk9PnAsaXNEb3duQ29sb3JlclBsb3Q6KCk9PkEsaXNMaW5lUGxvdDooKT0+Yyxpc05vblZpc3VhbFBsb3Q6KCk9Pk4saXNPaGxjQ2xvc2VQbG90OigpPT5TLGlzT2hsY0NvbG9yZXJQbG90OigpPT54LGlzT2hsY0hpZ2hQbG90OigpPT5nLGlzT2hsY0xvd1Bsb3Q6KCk9PmYsaXNPaGxjT3BlblBsb3Q6KCk9Pm0saXNPaGxjUGxvdDooKT0+dixpc09obGNQbG90U3R5bGVCYXJzOigpPT5SLGlzT2hsY1Bsb3RTdHlsZUNhbmRsZXM6KCk9PlYsaXNQYWxldHRlQ29sb3JlclBsb3Q6KCk9PnksaXNQbG90U3VwcG9ydERpc3BsYXk6KCk9PkQsaXNQbG90VGl0bGVEZWZpbmVkOigpPT5FLGlzUGxvdFdpdGhUZWNobmljYWxWYWx1ZXM6KCk9PkIsaXNSZ2JhQ29sb3JlclBsb3Q6KCk9PmIsaXNTaGFwZXNQbG90OigpPT5oLGlzVGV4dENvbG9yZXJQbG90OigpPT5ULGlzVXBDb2xvcmVyUGxvdDooKT0+TH0pO3ZhciBzLG4scixvLGEsbD1pKDU4OTUxMSk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4ibGluZSI9PT1lLnR5cGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4ic2hhcGVzIj09PWUudHlwZX1mdW5jdGlvbiBkKGUpe3JldHVybiJjaGFycyI9PT1lLnR5cGV9ZnVuY3Rpb24gdShlKXtyZXR1cm4iYXJyb3dzIj09PWUudHlwZX1mdW5jdGlvbiBwKGUpe3JldHVybiJkYXRhIj09PWUudHlwZX1mdW5jdGlvbiBfKGUpe3JldHVybiJkYXRhb2Zmc2V0Ij09PWUudHlwZX1mdW5jdGlvbiBtKGUpe3JldHVybiJvaGxjX29wZW4iPT09ZS50eXBlfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIm9obGNfaGlnaCI9PT1lLnR5cGV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ib2hsY19sb3ciPT09ZS50eXBlfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIm9obGNfY2xvc2UiPT09ZS50eXBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0oZSl8fGcoZSl8fGYoZSl8fFMoZSl9ZnVuY3Rpb24geShlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiJwYWxldHRlImluIGV9ZnVuY3Rpb24gYihlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGUmJiEoInBhbGV0dGUiaW4gZSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4iY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24gQyhlKXtyZXR1cm4iYmFyX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFAoZSl7cmV0dXJuImJnX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIFQoZSl7cmV0dXJuInRleHRfY29sb3JlciI9PT1lLnR5cGV9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2hsY19jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBNKGUpe3JldHVybiJ3aWNrX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIEkoZSl7cmV0dXJuImJvcmRlcl9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBMKGUpe3JldHVybiJ1cF9jb2xvcmVyIj09PWUudHlwZX1mdW5jdGlvbiBBKGUpe3JldHVybiJkb3duX2NvbG9yZXIiPT09ZS50eXBlfWZ1bmN0aW9uIGsoZSl7cmV0dXJuIGUudHlwZT09PXIuQWxlcnRDb25kaXRpb259ZnVuY3Rpb24gRChlKXtyZXR1cm4gYyhlKXx8aChlKXx8ZChlKXx8dShlKX1mdW5jdGlvbiBFKGUpe3JldHVybiJQbG90IiE9PWV9ZnVuY3Rpb24gUihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0JhcnN9ZnVuY3Rpb24gVihlKXtyZXR1cm4gZS5wbG90dHlwZT09PWEuT2hsY0NhbmRsZXN9ZnVuY3Rpb24gQihlKXtyZXR1cm4gdyhlKXx8QyhlKXx8UChlKXx8cChlKXx8XyhlKXx8eChlKXx8ayhlKXx8TChlKXx8QShlKXx8SShlKXx8TShlKXx8VChlKX1mdW5jdGlvbiBOKGUpe3JldHVybiB3KGUpfHxUKGUpfHxDKGUpfHxwKGUpfHxfKGUpfHx4KGUpfHxNKGUpfHxJKGUpfHxMKGUpfHxBKGUpfHxrKGUpfWZ1bmN0aW9uIE8oZSl7cmV0dXJuW3MuTGluZSxzLkxpbmVXaXRoQnJlYWtzLHMuU3RlcExpbmUscy5TdGVwTGluZVdpdGhCcmVha3Mscy5TdGVwTGluZVdpdGhEaWFtb25kcyxzLkFyZWEscy5BcmVhV2l0aEJyZWFrc10uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gVyhlKXtyZXR1cm5bcy5MaW5lLHMuQXJlYSxzLlN0ZXBMaW5lLHMuU3RlcExpbmVXaXRoRGlhbW9uZHNdLmluY2x1ZGVzKGUpfSFmdW5jdGlvbihlKXtlW2UuTGluZT0wXT0iTGluZSIsZVtlLkhpc3RvZ3JhbT0xXT0iSGlzdG9ncmFtIixlW2UuQ3Jvc3M9M109IkNyb3NzIixlW2UuQXJlYT00XT0iQXJlYSIsZVtlLkNvbHVtbnM9NV09IkNvbHVtbnMiLGVbZS5DaXJjbGVzPTZdPSJDaXJjbGVzIixlW2UuTGluZVdpdGhCcmVha3M9N109IkxpbmVXaXRoQnJlYWtzIixlW2UuQXJlYVdpdGhCcmVha3M9OF09IkFyZWFXaXRoQnJlYWtzIixlW2UuU3RlcExpbmU9OV09IlN0ZXBMaW5lIixlW2UuU3RlcExpbmVXaXRoRGlhbW9uZHM9MTBdPSJTdGVwTGluZVdpdGhEaWFtb25kcyIsZVtlLlN0ZXBMaW5lV2l0aEJyZWFrcz0xMV09IlN0ZXBMaW5lV2l0aEJyZWFrcyJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5MaW5lPSJsaW5lIixlLkNvbG9yZXI9ImNvbG9yZXIiLAplLkJhckNvbG9yZXI9ImJhcl9jb2xvcmVyIixlLkJnQ29sb3Jlcj0iYmdfY29sb3JlciIsZS5UZXh0Q29sb3Jlcj0idGV4dF9jb2xvcmVyIixlLk9obGNDb2xvcmVyPSJvaGxjX2NvbG9yZXIiLGUuQ2FuZGxlV2lja0NvbG9yZXI9IndpY2tfY29sb3JlciIsZS5DYW5kbGVCb3JkZXJDb2xvcmVyPSJib3JkZXJfY29sb3JlciIsZS5VcENvbG9yZXI9InVwX2NvbG9yZXIiLGUuRG93bkNvbG9yZXI9ImRvd25fY29sb3JlciIsZS5TaGFwZXM9InNoYXBlcyIsZS5DaGFycz0iY2hhcnMiLGUuQXJyb3dzPSJhcnJvd3MiLGUuRGF0YT0iZGF0YSIsZS5EYXRhT2Zmc2V0PSJkYXRhb2Zmc2V0IixlLk9obGNPcGVuPSJvaGxjX29wZW4iLGUuT2hsY0hpZ2g9Im9obGNfaGlnaCIsZS5PaGxjTG93PSJvaGxjX2xvdyIsZS5PaGxjQ2xvc2U9Im9obGNfY2xvc2UifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuQWxlcnRDb25kaXRpb249ImFsZXJ0Y29uZGl0aW9uIn0ocnx8KHI9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlBhbmU9MV09IlBhbmUiLGVbZS5EYXRhV2luZG93PTJdPSJEYXRhV2luZG93IixlW2UuUHJpY2VTY2FsZT00XT0iUHJpY2VTY2FsZSIsZVtlLlN0YXR1c0xpbmU9OF09IlN0YXR1c0xpbmUiLGVbZS5QaW5lU2NyZWVuZXI9MTZdPSJQaW5lU2NyZWVuZXIiLGVbZS5BbGw9NDI5NDk2NzI5NV09IkFsbCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5PaGxjQmFycz0ib2hsY19iYXJzIixlLk9obGNDYW5kbGVzPSJvaGxjX2NhbmRsZXMifShhfHwoYT17fSkpfSwyMDI2MzcoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3R1ZHlBdmFpbGFibGVQcmljZVNvdXJjZXM6KCk9PnN9KTtjb25zdCBzPVsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSIsImhsMiIsImhsYzMiLCJvaGxjNCIsImhsY2M0Il19LDE0MjM4OShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtTdHVkeVN0YXR1c1R5cGU6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuVW5kZWZpbmVkPTBdPSJVbmRlZmluZWQiLGVbZS5Mb2FkaW5nPTFdPSJMb2FkaW5nIixlW2UuQ29tcGxldGVkPTJdPSJDb21wbGV0ZWQiLGVbZS5FcnJvcj0zXT0iRXJyb3IifShzfHwocz17fSkpfSwxNzQzNDIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcyxuLHI7aS5kKHQse1ZvbHVtZUZvb3RwcmludFN1bW1hcnlNb2RlOigpPT5zLFZvbHVtZUZvb3RwcmludFR5cGVWYWx1ZXM6KCk9Pm59KSxmdW5jdGlvbihlKXtlW2UuSW5mb0JveD0wXT0iSW5mb0JveCIsZVtlLlRhYmxlPTFdPSJUYWJsZSJ9KHN8fChzPXt9KSksZnVuY3Rpb24oZSl7ZS5CdXlBbmRTZWxsPSJCdXkgYW5kIHNlbGwiLGUuRGVsdGE9IkRlbHRhIixlLlRvdGFsPSJUb3RhbCIsZS5MYWRkZXI9IkxhZGRlciJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkNsdXN0ZXI9MF09IkNsdXN0ZXIiLGVbZS5Qcm9maWxlPTFdPSJQcm9maWxlIn0ocnx8KHI9e30pKX0sMzQ0Nzg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHtoaWRlOigpPT5iLHNob3c6KCk9Pl8sc2hvd09uRWxlbWVudDooKT0+cCx0ZW1wRm9yY2VIaWRlOigpPT55LHRvb2x0aXBDbGlja0hhbmRsZXI6KCk9PmYsdXBkYXRlVG9vbHRpcFRleHQ6KCk9Pm19KTt2YXIgcz1pKDM2MzI2OSksbj1pKDEzODYzOCkscj1pKDcyNzA5KSxvPWkoNjU4OTk1KSxhPWkoMTY3ODk2KSxsPWkoNDkwMzc4KTtsZXQgYz0hMSxoPW51bGwsZD1udWxsO3MubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGcsITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjtnKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmcoZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGgmJmgub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGgub3B0aW9ucy50YXJnZXQ/aC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGgub3B0aW9ucy50YXJnZXQpLGV8fGIoKX19KSkscD0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6aSwuLi5zfT1QKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixzKTtyZXR1cm4ibm9uZSIhPT1pLnR5cGUmJihyLmNvbnRlbnQ9aSksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUsXyhyKSwhMCl9LF89ZT0+e2NvbnN0IHQ9UChlKSxpPWwuZ2V0VG9vbHRpcCh0KTtpZihoPXtvcHRpb25zOnQsZWxlbWVudDppfSwoMCxhLnNldFRvb2x0aXApKGkpLCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwhYylyZXR1cm4gbC5oaWRlVG9vbHRpcChpKSx2b2lkKDAsby5zY2hlZHVsZVJlbmRlcikoKCgpPT53KGkpKSxmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGUudG9vbHRpcERlbGF5fHxpc05hTihlLnRvb2x0aXBEZWxheSk/NTAwOmUudG9vbHRpcERlbGF5fSh0KSk7Y29uc3R7dG9vbHRpcERlYm91bmNlOnN9PWU7Im51bWJlciIhPXR5cGVvZiBzfHxpc05hTihzKT93KGkpOigwLG8uc2NoZWR1bGVSZW5kZXIpKCgoKT0+dyhpKSkscyl9LG09ZT0+bC51cGRhdGVUb29sdGlwVGV4dEZyb21UYXJnZXQoZSk7ZnVuY3Rpb24gZyhlLHQpe2lmKCJzb3VyY2VDYXBhYmlsaXRpZXMiaW4gZSYmZS5zb3VyY2VDYXBhYmlsaXRpZXM/LmZpcmVzVG91Y2hFdmVudHMpcmV0dXJuO2NvbnN0IGk9ZnVuY3Rpb24oZSx0LGkpe2NvbnN0IHM9W107Zm9yKDtlJiZlIT09dDspZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpJiZzLnB1c2goZSksCmU9ZS5wYXJlbnRFbGVtZW50fHxDKGUucGFyZW50Tm9kZSk7cmV0dXJuIHN9KGUudGFyZ2V0LGUuY3VycmVudFRhcmdldCwiYXBwbHktY29tbW9uLXRvb2x0aXAiKTtmb3IoY29uc3QgcyBvZiBpKXtpZihlIGluc3RhbmNlb2YgTW91c2VFdmVudClpZigiYnV0dG9ucyJpbiBlKXtpZigxJmUuYnV0dG9ucyljb250aW51ZX1lbHNlIGlmKDE9PT1lLndoaWNoKWNvbnRpbnVlO2NvbnN0IGk9KCk9PnAocyk7aWYoaSgpKXtjb25zdCBlPWU9Pm4obnVsbCwhMCksbj0ocixvPSExKT0+e3MucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tbW9uLXRvb2x0aXAtdXBkYXRlIixpKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLG4pLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUse2NhcHR1cmU6ITB9KSx0JiYocy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixuKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLG4pKSxkJiYoZC5kZXN0cm95KCksZD1udWxsKSxiKG8pfTtzLmFkZEV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsaSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbikscy5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksbnVsbD09PWQmJihkPSgwLHIuY3JlYXRlR3JvdXApKHtkZXNjOiJUb29sdGlwIn0pLGQuYWRkKHtkZXNjOiJIaWRlIixob3RrZXk6MjcsaGFuZGxlcjpufSkpO2JyZWFrfX19ZnVuY3Rpb24gZihlKXtzLm1vYmlsZXRvdWNoJiYocChlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixTKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixTKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLFMpLHdpbmRvdy5zY3JlZW4ub3JpZW50YXRpb24/LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsUykpfWZ1bmN0aW9uIFMoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLFMpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLFMpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsUyksd2luZG93LnNjcmVlbi5vcmllbnRhdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixTKSxiKCl9ZnVuY3Rpb24gdigpeygwLGEuZW1wdHkpKCksYz0hMSxoPW51bGx9Y29uc3QgeT0oKT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaHx8IWMpcmV0dXJuO2NvbnN0e2VsZW1lbnQ6ZX09aDtsLmhpZGVUb29sdGlwKGUpLHYoKX0sYj0oZSx0KT0+e2lmKCgwLG8uY2xlYXJTY2hlZHVsZSkoKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLmRpc2Nvbm5lY3QoKSwhaClyZXR1cm47aWYoIWUmJiFjKXJldHVybjtjb25zdHtlbGVtZW50Omksb3B0aW9uczpzfT1oLHI9KCk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpLGwuaGlkZVRvb2x0aXAoaSksZT92KCk6KDAsby5zY2hlZHVsZVJlbW92ZSkoKCgpPT57digpfSksMjUwKSx0Py4oKX07cy50b29sdGlwSGlkZURlbGF5PygwLG8uc2NoZWR1bGVIaWRlKSgoKCk9PntpLnF1ZXJ5U2VsZWN0b3IoIjpob3ZlciIpP2kuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscik6cigpfSkscy50b29sdGlwSGlkZURlbGF5KTpyKCl9O2Z1bmN0aW9uIHcoZSl7Y29uc3R7b3B0aW9uczp0fT0oMCxuLmVuc3VyZU5vdE51bGwpKGgpO2lmKGwuc2V0U3R5bGUoZSx0KSxsLnNob3dUb29sdGlwKGUpLCgwLG4uZW5zdXJlTm90TnVsbCkodSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxjPSEwLHQuZm9yY2VIaWRlT25Nb3ZlKXtjb25zdCBlPSgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpLGIoKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGUpfX1mdW5jdGlvbiBDKGUpe3JldHVybiBlJiYoZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFP2U6bnVsbCl9ZnVuY3Rpb24gUChlKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iY29udGVudCJpbiBlfShlKSlyZXR1cm4gZTtjb25zdHtpbm5lcjp0LGh0bWw6aSx0ZXh0OnMsLi4ubn09ZTtsZXQgcj17dHlwZToibm9uZSJ9O3JldHVybiB0JiYocj17dHlwZToiZWxlbWVudCIsZGF0YTp0fSkscyYmKHI9e3R5cGU6aT8iaHRtbCI6InRleHQiLGRhdGE6c30pLHtjb250ZW50OnIsLi4ubn19fSw0MDE1MjMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q0hBUlRfV0FSTklOSUdfR1JPVVBfSUQ6KCk9Pm8sc2hvd0NoYXJ0V2FybmluZ05vdGlmaWNhdGlvbjooKT0+YX0pO3ZhciBzPWkoNjU3NTczKSxuPWkoNjUyMTE0KSxyPWkoNjEzMDQzKTtjb25zdCBvPSJjaGFydF93YXJuaW5nIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChpPT57bi50b2FzdE1hbmFnZXIuYWRkVG9hc3QoZSxvLHQpLCgwLHIuc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0KShlLDFlNCk7Y29uc3QgYT0oMCxzLnN1YnNjcmliZU9uVG9hc3QpKGUsKGU9PnsiUmVtb3ZlIiE9PWUudHlwZSYmZS5kZXRhaWxzIT09ci5DTE9TRV9EVUVfVE9fSU5BQ1RJVklUWV9FVkVOVF9ERVRBSUxTfHwoaSgpLGEoKSl9KSl9KSl9fSw2NTc1NzMoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7c3Vic2NyaWJlT25Ub2FzdDooKT0+c30pCjtjb25zdCBzPWkoNjUyMTE0KS50b2FzdE1hbmFnZXIuc3Vic2NyaWJlT25Ub2FzdH0sNjEzMDQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NMT1NFX0RVRV9UT19JTkFDVElWSVRZX0VWRU5UX0RFVEFJTFM6KCk9PmEsc2V0VG9hc3RVc2VyQWN0aXZpdHlCYXNlZFJlbW92YWxUaW1lb3V0OigpPT5sfSk7dmFyIHM9aSg2NTIxMTQpLG49aSgyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW5ldyBTZXQscz1uZXcgbi5XYXRjaGVkVmFsdWUoImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpLHI9dD8udGltZXJzfHx7c2V0VGltZW91dCxjbGVhclRpbWVvdXR9LG89ci5zZXRUaW1lb3V0LGE9ci5jbGVhclRpbWVvdXQ7bGV0IGw7Y29uc3QgYz10Py5pZ25vcmVWaXNpYmlsaXR5Q2hhbmdlO3Muc3Vic2NyaWJlKChlPT57aS5mb3JFYWNoKCh0PT50KCEhZSkpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KTtjb25zdCBoPSgpPT57cy5zZXRWYWx1ZSghMCksYShsKSxsPW8oKCgpPT57cy5zZXRWYWx1ZSghMSl9KSxlKX0sZD0oKT0+eyJoaWRkZW4iPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3Muc2V0VmFsdWUoITEpOmgoKX07cmV0dXJue3N1YnNjcmliZTp0PT57aS5zaXplPjB8fChhKGwpLGw9bygoKCk9PntzLnNldFZhbHVlKCExKX0pLGUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixoLHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGgse3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsaCx7cGFzc2l2ZTohMH0pLGN8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQse3Bhc3NpdmU6ITB9KSksaS5hZGQodCl9LHVuc3Vic2NyaWJlOmU9PntpLmRlbGV0ZShlKSwwPT09aS5zaXplJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLGgpLGN8fGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLGQpLGEobCkpfSx2YWx1ZTooKT0+ISFzLnZhbHVlKCl9fXZhciBvPWkoMTIxMzEpO2NvbnN0IGE9InVzZXJBY3Rpdml0eVRpbWVvdXQiLGw9ZnVuY3Rpb24oZSx0LGkscyl7Y29uc3Qgbj1yKGkpO3JldHVybiBmdW5jdGlvbihpLHI9MmU0KXtjb25zdHtzdGFydDphLHJlc2V0Omx9PSgwLG8uY3JlYXRlVGltZXIpKCgoKT0+e2UucmVtb3ZlVG9hc3QoaSxzKX0pLHIpLGM9KCk9Pntjb25zdCBlPW4udmFsdWUoKSxpPXQudmFsdWU7ZSYmIWk/YSgpOmwoKX07bi5zdWJzY3JpYmUoYyksYygpO2NvbnN0IGg9dC5zdWJzY3JpYmUoYyksZD1lLnN1YnNjcmliZU9uVG9hc3QoaSwoZT0+eyJSZW1vdmVBbmltYXRpb25TdGFydCI9PT1lLnR5cGUmJihsKCksZCgpLG4udW5zdWJzY3JpYmUoYyksaCgpKX0pKX19KHMudG9hc3RNYW5hZ2VyLHMudG9hc3RVc2VySW50ZXJhY3Rpb25TdGF0dXMsMTVlMyxhKX0sNjUyMTE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RvYXN0TWFuYWdlcjooKT0+cix0b2FzdFVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+b30pO3ZhciBzPWkoMTE1NjQ0KTt2YXIgbj1pKDcxMDExMik7Y29uc3Qgcj1mdW5jdGlvbigpe2NvbnN0IGU9bmV3IFNldCx0PW5ldyBNYXAsaT17Z3JvdXBzOm5ldyBNYXB9O2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1pLmdyb3Vwcy5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBzPXtpZDplLGxpc3Q6bmV3IE1hcCxhZGRlZDpuZXcgU2V0LHJlbW92ZWQ6bmV3IFNldH07cmV0dXJuIGkuZ3JvdXBzLnNldChlLHMpLHN9ZnVuY3Rpb24gcihlLHMpe3QuZGVsZXRlKGUpLHMuYWRkZWQuZGVsZXRlKGUpLHMucmVtb3ZlZC5kZWxldGUoZSkscy5saXN0LmRlbGV0ZShlKSwwPT09cy5saXN0LnNpemU/aS5ncm91cHMuZGVsZXRlKHMuaWQpOmkuZ3JvdXBzLnNldChzLmlkLHsuLi5zfSksbyh7dHlwZToiUmVtb3ZlIix0b2FzdElkOmUsZ3JvdXBJZDpzLmlkfSl9ZnVuY3Rpb24gbyh0KXtpLmdyb3Vwcz1uZXcgTWFwKGkuZ3JvdXBzKSxlLmZvckVhY2goKGU9PntlKHQpfSkpO2NvbnN0IHM9YS5nZXQodC50b2FzdElkKTtzJiZzLmZvckVhY2goKGU9PntlKHQpfSkpfWNvbnN0IGE9bmV3IE1hcDtyZXR1cm57YWRkVG9hc3Q6ZnVuY3Rpb24oZSxzLHIsYSxsKXtpZih0LmdldChlKSlyZXR1cm47Y29uc3QgYz1uKHMpO2MuYWRkZWQuYWRkKGUpO2NvbnN0IGg9e2lkOmUsLi4ucixtYW51YWxBbmltYXRpb25TdGFydDpsfTtjLmxpc3Quc2V0KGUsaCksdC5zZXQoZSxzKSxpLmdyb3Vwcy5zZXQocyx7Li4uY30pLG8oe3R5cGU6IkFkZCIsdG9hc3RJZDplLGdyb3VwSWQ6cyxkYXRhOnIsZGV0YWlsczphfSl9LHJlbW92ZVRvYXN0OmZ1bmN0aW9uKGUsbil7Y29uc3QgYT10LmdldChlKTtpZighYSlyZXR1cm47Y29uc3QgbD1pLmdyb3Vwcy5nZXQoYSk7bCYmKGwucmVtb3ZlZC5oYXMoZSl8fChsLnJlbW92ZWQuYWRkKGUpLGkuZ3JvdXBzLnNldChhLHsuLi5sfSksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOmEsZGV0YWlsczpufSksc2V0VGltZW91dCgoKCk9PntyKGUsbCl9KSxzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikpKX0scmVtb3ZlR3JvdXA6ZnVuY3Rpb24oZSx0KXtjb25zdCBuPWkuZ3JvdXBzLmdldChlKTtpZighbilyZXR1cm47Y29uc3QgYT1bXTtuLmxpc3QuZm9yRWFjaCgoaT0+e2NvbnN0IHM9aS5pZDtuLnJlbW92ZWQuaGFzKHMpfHwoYS5wdXNoKHMpLG4ucmVtb3ZlZC5hZGQocyksbyh7dHlwZToiUmVtb3ZlQW5pbWF0aW9uU3RhcnQiLAp0b2FzdElkOnMsZ3JvdXBJZDplLGRldGFpbHM6dH0pKX0pKSxpLmdyb3Vwcy5zZXQoZSx7Li4ubn0pLHNldFRpbWVvdXQoKCgpPT57YS5mb3JFYWNoKChlPT57cihlLG4pfSkpfSkscy5UT0FTVF9BTklNQVRJT05fRFVSQVRJT04pfSxzdGFydEFkZEFuaW1hdGlvbjpmdW5jdGlvbihlKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCFzKXJldHVybjtjb25zdCBuPWkuZ3JvdXBzLmdldChzKTtuJiZuLmFkZGVkLmRlbGV0ZShlKSYmKGkuZ3JvdXBzLnNldChzLHsuLi5ufSksbyh7dHlwZToiQWRkQW5pbWF0aW9uU3RhcnQiLHRvYXN0SWQ6ZSxncm91cElkOnN9KSl9LHN1YnNjcmliZU9uVG9hc3Q6ZnVuY3Rpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9YS5nZXQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPW5ldyBTZXQ7cmV0dXJuIGEuc2V0KGUsaSksaX0oZSk7cmV0dXJuIGkuYWRkKHQpLCgpPT57aS5kZWxldGUodCksMD09PWkuc2l6ZSYmYS5kZWxldGUoZSl9fSxzdGF0ZTppLHN1YnNjcmliZTpmdW5jdGlvbih0KXtyZXR1cm4gZS5hZGQodCksKCk9PntlLmRlbGV0ZSh0KX19fX0oKSxvPSgwLG4uY3JlYXRlVXNlckludGVyYWN0aW9uU3RhdHVzKSgpfSw3NjAwOTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tUaW1pbmc6KCk9Pmh9KTt2YXIgcz1pKDE3OTc3MSksbj1pKDY4MDg0Mikscj1pKDYzMTYzNCksbz1pKDMxODk3NCksYT1pKDQ0OTUwOCk7bGV0IGw9ITE7ZnVuY3Rpb24gYygpe2lmKGx8fCgwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKSlyZXR1cm47KDAsci51cGRhdGVJbml0RGF0YSkoKTtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCk7aWYoIWUuZ2FJZClyZXR1cm4gdm9pZCh3aW5kb3cuZ3RhZz13aW5kb3cuZ3RhZ3x8KCgpPT57fSkpO2w9ITAsKDAsYS5lbnN1cmVHdGFnQm9vdHN0cmFwKShlLmdhSWQpO2NvbnN0IHQ9e2Fub255bWl6ZV9pcDohMH07d2luZG93LlRWRCYmKHQuYXBwX25hbWU9IlRWRCIsdC5hcHBfdmVyc2lvbj0oMCxvLmRlc2t0b3BBcHBWZXJzaW9uKSgpKSxlLmdhVmFycyYmd2luZG93Lmd0YWcoInNldCIsZS5nYVZhcnMpLHdpbmRvdy5ndGFnKCJjb25zZW50IiwiZGVmYXVsdCIse2FuYWx5dGljc19zdG9yYWdlOigwLG4uZ2V0Q29va2llU2V0dGluZykobi5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpPyJncmFudGVkIjoiZGVuaWVkIn0pLHdpbmRvdy5ndGFnKCJjb25maWciLGUuZ2FJZCx0KSxzLnN1YnNjcmliZShuLmNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQsKChlLHQpPT57ZT09PW4uQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FuYWx5dGljc19zdG9yYWdlOnQ/ImdyYW50ZWQiOiJkZW5pZWQifSl9KSxudWxsKX1mdW5jdGlvbiBoKGUsdCxpLHMpeygwLG8uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxvLmlzRGVza3RvcEFwcCkoKXx8KGMoKSxsJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLCJ0aW1pbmdfY29tcGxldGUiLHtuYW1lOnQsdmFsdWU6aSxldmVudF9jYXRlZ29yeTplLGV2ZW50X2xhYmVsOnN9KSl9fSw4NzMzODYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZGVza3RvcFZlcnNpb25Jc0xlc3M6KCk9Pm8sbGVzc1RoYW46KCk9PnJ9KTt2YXIgcz1pKDMxODk3NCk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUubWF0Y2goL14oXGQrKS4oXGQrKS4oXGQrKS8pO2lmKCF0KXJldHVybiBudWxsO2NvbnN0WyxpLHMsbl09dDtyZXR1cm5bcGFyc2VJbnQoaSkscGFyc2VJbnQocykscGFyc2VJbnQobildfWZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPW4oZSkscz1uKHQpO2lmKCFpfHwhcylyZXR1cm4hMTtjb25zdFtyLG8sYV09aSxbbCxjLGhdPXM7cmV0dXJuIHIhPT1sP3I8bDpvIT09Yz9vPGM6YSE9PWgmJmE8aH1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9KDAscy5kZXNrdG9wQXBwVmVyc2lvbikoKTtyZXR1cm4hIXQmJnIodCxlKX19LDQxNTIzNyhlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzLG47aS5yKHQpLGkuZCh0LHtNb250aHM6KCk9Pm4sV2Vla0RheXM6KCk9PnN9KSxmdW5jdGlvbihlKXtlW2UuU1VOREFZPTFdPSJTVU5EQVkiLGVbZS5NT05EQVk9Ml09Ik1PTkRBWSIsZVtlLlRVRVNEQVk9M109IlRVRVNEQVkiLGVbZS5XRURORVNEQVk9NF09IldFRE5FU0RBWSIsZVtlLlRIVVJTREFZPTVdPSJUSFVSU0RBWSIsZVtlLkZSSURBWT02XT0iRlJJREFZIixlW2UuU0FUVVJEQVk9N109IlNBVFVSREFZIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuSkFOVUFSWT0wXT0iSkFOVUFSWSIsZVtlLkZFQlJVQVJZPTFdPSJGRUJSVUFSWSIsZVtlLk1BUkNIPTJdPSJNQVJDSCIsZVtlLkFQUklMPTNdPSJBUFJJTCIsZVtlLk1BWT00XT0iTUFZIixlW2UuSlVORT01XT0iSlVORSIsZVtlLkpVTFk9Nl09IkpVTFkiLGVbZS5BVUdVU1Q9N109IkFVR1VTVCIsZVtlLlNFUFRFTUJFUj04XT0iU0VQVEVNQkVSIixlW2UuT0NUT0JFUj05XT0iT0NUT0JFUiIsZVtlLk5PVkVNQkVSPTEwXT0iTk9WRU1CRVIiLGVbZS5ERUNFTUJFUj0xMV09IkRFQ0VNQkVSIn0obnx8KG49e30pKX0sMzgwNTQwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5yKHQpLGkuZCh0LHttb250aHNGdWxsTmFtZXM6KCk9PnIsbW9udGhzU2hvcnROYW1lczooKT0+byx3ZWVrRGF5c0Z1bGxOYW1lczooKT0+YSx3ZWVrRGF5c01pbmlOYW1lczooKT0+Yyx3ZWVrRGF5c1Nob3J0TmFtZXM6KCk9Pmx9KTt2YXIgcz1pKDE4NTI3MSksbj1pKDQxNTIzNyk7Y29uc3Qgcj17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDk0NDc4NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoMzM2MzApKSxbbi5Nb250aHMuTUFSQ0hdOnMudChudWxsLHZvaWQgMCxpKDYzNTY0MykpLFtuLk1vbnRocy5BUFJJTF06cy50KG51bGwsdm9pZCAwLGkoMTU1ODUyKSksW24uTW9udGhzLk1BWV06cy50KG51bGwsdm9pZCAwLGkoODQ5OTczKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDQwMjQ4MikpLFtuLk1vbnRocy5KVUxZXTpzLnQobnVsbCx2b2lkIDAsaSg5MjQ2ODkpKSwKW24uTW9udGhzLkFVR1VTVF06cy50KG51bGwsdm9pZCAwLGkoOTU5NzcyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNDE1MjYxKSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDgxNDUwMSkpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoOTcxNTYxKSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSgzMDk2NjYpKX0sbz17W24uTW9udGhzLkpBTlVBUlldOnMudChudWxsLHZvaWQgMCxpKDY1NzM3NCkpLFtuLk1vbnRocy5GRUJSVUFSWV06cy50KG51bGwsdm9pZCAwLGkoNjE3MzQxKSksW24uTW9udGhzLk1BUkNIXTpzLnQobnVsbCx2b2lkIDAsaSgxMDMzMDUpKSxbbi5Nb250aHMuQVBSSUxdOnMudChudWxsLHZvaWQgMCxpKDUyNjc4NSkpLFtuLk1vbnRocy5NQVldOnMudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LGkoNzM0NzUwKSksW24uTW9udGhzLkpVTkVdOnMudChudWxsLHZvaWQgMCxpKDg3NzQ1KSksW24uTW9udGhzLkpVTFldOnMudChudWxsLHZvaWQgMCxpKDE4Mzk1OSkpLFtuLk1vbnRocy5BVUdVU1RdOnMudChudWxsLHZvaWQgMCxpKDkzNzYyKSksW24uTW9udGhzLlNFUFRFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoMTc4NDY5KSksW24uTW9udGhzLk9DVE9CRVJdOnMudChudWxsLHZvaWQgMCxpKDcyODMzNykpLFtuLk1vbnRocy5OT1ZFTUJFUl06cy50KG51bGwsdm9pZCAwLGkoNjQ2NTQ1KSksW24uTW9udGhzLkRFQ0VNQkVSXTpzLnQobnVsbCx2b2lkIDAsaSg3NjkwMzYpKX0sYT17W24uV2Vla0RheXMuU1VOREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5MDkzMDQpKSxbbi5XZWVrRGF5cy5NT05EQVldOnMudChudWxsLHZvaWQgMCxpKDg4OTM5NCkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHZvaWQgMCxpKDQ1NjMzNCkpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNzcyNzY1KSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDgzNDY3MSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoMzE4NTI1KSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDM4Nzk1KSl9LGw9e1tuLldlZWtEYXlzLlNVTkRBWV06cy50KG51bGwsdm9pZCAwLGkoNTA3NDU4KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx2b2lkIDAsaSg5NDc5MzYpKSxbbi5XZWVrRGF5cy5UVUVTREFZXTpzLnQobnVsbCx2b2lkIDAsaSg0NzQ5MykpLFtuLldlZWtEYXlzLldFRE5FU0RBWV06cy50KG51bGwsdm9pZCAwLGkoNDcwNDgwKSksW24uV2Vla0RheXMuVEhVUlNEQVldOnMudChudWxsLHZvaWQgMCxpKDMwMTQ4OSkpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwsdm9pZCAwLGkoNDI5OTkxKSksW24uV2Vla0RheXMuU0FUVVJEQVldOnMudChudWxsLHZvaWQgMCxpKDU5MTQxOCkpfSxjPXtbbi5XZWVrRGF5cy5TVU5EQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoNjY5MTk5KSksW24uV2Vla0RheXMuTU9OREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDM2NTUzNSkpLFtuLldlZWtEYXlzLlRVRVNEQVldOnMudChudWxsLHtjb250ZXh0OiJkYXlfb2Zfd2VlayJ9LGkoOTM5MzI5KSksW24uV2Vla0RheXMuV0VETkVTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDQ1MTI3MSkpLFtuLldlZWtEYXlzLlRIVVJTREFZXTpzLnQobnVsbCx7Y29udGV4dDoiZGF5X29mX3dlZWsifSxpKDYyODU4MikpLFtuLldlZWtEYXlzLkZSSURBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgzOTg0NTkpKSxbbi5XZWVrRGF5cy5TQVRVUkRBWV06cy50KG51bGwse2NvbnRleHQ6ImRheV9vZl93ZWVrIn0saSgyNjA0OTYpKX19LDU4MjQ3NihlLHQsaSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gbihlKXtyZXR1cm4gdD0+e3ModCksZSh0KX19aS5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5zLHdyYXBIYW5kbGVyV2l0aFByZXZlbnRFdmVudDooKT0+bn0pfSwxOTcwMzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7ZmVhdHVyZUNoZWNrOigpPT5yfSk7dmFyIHM9aSg0NzkzNCk7ZnVuY3Rpb24gbihlLHQsaSl7cmV0dXJuIHQudmFsdWV8fCgwLHMuZW5hYmxlZCkoZSxpKX1mdW5jdGlvbiByKGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSJTQ1JFRU5FUl9JTlRFUlZBTFMiOnJldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IGk9KDAscy5nZXRDb25maWcpKCJTQ1JFRU5FUl9JTlRFUlZBTFMiLHQpO3JldHVybiEoIWl8fCFpLmludGVydmFsKSYmaS5pbnRlcnZhbC5pbmNsdWRlcyhlLmludGVydmFsKX0odCxpKTtjYXNlIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCI6cmV0dXJuIG4oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxpKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjpyZXR1cm4gbigiQUxFUlRTX05PX0VYUElSQVRJT04iLHQsaSk7ZGVmYXVsdDpyZXR1cm4oMCxzLmVuYWJsZWQpKGUsaSl9fX0sNjU1NTg0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3JlbG9naW5PckdvUHJvOigpPT5jLHJ1bk9yR29Qcm86KCk9PmwscnVuT3JHb1Byb1dpdGhvdXRTeW5jOigpPT5hfSk7dmFyIHM9aSgxNTI3MTcpLG49aSgxOTcwMzQpLHI9aSg2MTM4NzApLG89aSg3NzA3NTUpO2Z1bmN0aW9uIGEoZSx0LGkscyxyKXsoMCxuLmZlYXR1cmVDaGVjaykodCxzKT9lKCk6KDAsby5vcGVuUGF5d2FsbCkoey4uLmkscnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PigwLG4uZmVhdHVyZUNoZWNrKSh0LHMpLHNpZ25JblN1Y2Nlc3M6ZX19LHIpfWFzeW5jIGZ1bmN0aW9uIGwoZSx0LGksbj17fSxvKXtjb25zdCBsPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLApsPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/YShlLHQsaSxuLG8pOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTppLmdvcHJvU291cmNlLGZlYXR1cmU6aS5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAscy5zeW5jVXNlckRhdGEpKCJnb3BybyIpLGk9PT13aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxvLm9wZW5QYXl3YWxsKShlLHQpOigwLHIuc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTplLmdvcHJvU291cmNlLGZlYXR1cmU6ZS5mZWF0dXJlfSl9fSwxNjE0KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVG91Y2hFdmVudDooKT0+bn0pO3ZhciBzPWkoMzYzMjY5KTtmdW5jdGlvbiBuKGUpe2NvbnN0IHQ9ZS5zb3VyY2VDYXBhYmlsaXRpZXM7bGV0IGk9dCYmdC5maXJlc1RvdWNoRXZlbnRzO3JldHVybiB2b2lkIDA9PT1pJiYoaT1zLnRvdWNoKSxpfX0sODYyMjEzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0xvZ29TaXplOigpPT5zLkxvZ29TaXplLGdldExvZ29VcmxSZXNvbHZlcjooKT0+aH0pO3ZhciBzPWkoNjIwMzU0KSxuPWkoMTM4NjM4KSxyPWkoNjMxNjM0KSxvPWkoODEwNDEpO2NvbnN0IGE9KDAsaSgyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7KDAsbi5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugcy5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHMuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9by5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHMuTG9nb1NpemUuTWVkaXVtKX19bGV0IGM7ZnVuY3Rpb24gaCgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFjKXtjb25zdCBlPSgwLHIuZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2M9bmV3IGwodCl9cmV0dXJuIGN9KCl9fSw0OTcwMTgoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7bWVkaWFTdGF0ZTooKT0+Y30pO3ZhciBzPWkoNTI3MzIzKSxuPWkubihzKSxyPWkoNzQ5NjQ4KSxvPWkoNzc4NDU4KSxhPWkoMTEyNTQyKTtjbGFzcyBsIGV4dGVuZHMobigpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5kZXZpY2U9bnVsbCx0aGlzLmJyZWFrcG9pbnRzPW8uYnJlYWtwb2ludHMsdGhpcy5fY2hlY2tEZXZpY2UoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGVja0RldmljZSksT2JqZWN0LmVudHJpZXMoby5icmVha3BvaW50cykuc29ydCgoKFtlLHRdLFtpLHNdKT0+dC1zKSkuZm9yRWFjaCgoKFtlLHRdLGkscyk9PntsZXQgbjtpZigwIT09aSl7Y29uc3RbLGVdPXNbaS0xXTtuPWUrMX1lbHNlIG49MDtjb25zdCByPSgwLGEubWF0Y2hNZWRpYU1pbk1heCkobix0KTtyLm1hdGNoZXMmJnRoaXMuX3NldE5ld0RldmljZShlKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHQ9Pnt0Lm1hdGNoZXMmJih0aGlzLl9jaGVja0RldmljZSgpLHRoaXMuX3NldE5ld0RldmljZShlKSl9KSl9KSksKDAsci53aGVuRG9jdW1lbnRSZWFkeSkodGhpcy5fY2hlY2tEZXZpY2UuYmluZCh0aGlzKSksdGhpcy5pc1Bob25lU2l6ZURldmljZS5iaW5kKHRoaXMpfWlzUGhvbmVTaXplRGV2aWNlKCl7cmV0dXJuInBob25lIj09PXRoaXMuZGV2aWNlfHwicGhvbmUtdmVydGljYWwiPT09dGhpcy5kZXZpY2V9X2NoZWNrRGV2aWNlKCl7dGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHR9X3NldE5ld0RldmljZShlKXtjb25zdCB0PXRoaXMuZGV2aWNlO3RoaXMuZGV2aWNlPWUsdGhpcy50cmlnZ2VyKCJjaGFuZ2VEZXZpY2UiLFtlLHRdKX19Y29uc3QgYz1uZXcgbH0sMzIyNjAxKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2FkZFBlcmZNYXJrOigpPT5jLHBlcmZNZWFzdXJlT3BlcmF0aW9uOigpPT5ofSk7dmFyIHM9aSgxNTAxNTApO2Z1bmN0aW9uIG4oKXt9Y29uc3Qgcj1jb25zb2xlLnRpbWVTdGFtcD9jb25zb2xlLnRpbWVTdGFtcC5iaW5kKGNvbnNvbGUpOm4sbz13aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcms/cGVyZm9ybWFuY2UubWFyay5iaW5kKHBlcmZvcm1hbmNlKTpuLGE9d2luZG93LnBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tZWFzdXJlP3BlcmZvcm1hbmNlLm1lYXN1cmUuYmluZChwZXJmb3JtYW5jZSk6bixsPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNYXJrcz9wZXJmb3JtYW5jZS5jbGVhck1hcmtzLmJpbmQocGVyZm9ybWFuY2UpOm47ZnVuY3Rpb24gYyhlKXtyKGUpLG8oZSl9YXN5bmMgZnVuY3Rpb24gaChlLHQpe2NvbnN0IGk9YG1lYXN1cmUtJHtlfS0keygwLHMucmFuZG9tSGFzaCkoKX1gO28oaSk7dHJ5ewpyZXR1cm4gYXdhaXQgdCgpfWZpbmFsbHl7YShlLGkpLGwoaSl9fX0sODMyODQ1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3Jlc291cmNlTWV0cmljc09ic2VydmVyOigpPT5ufSk7Y29uc3Qgcz1uZXcgU2V0KFsiZmV0Y2giLCJ4bWxodHRwcmVxdWVzdCJdKTtjb25zdCBuPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1uZXcgTWFwLHRoaXMuX29ic2VydmVyU3RhcnRlZD0hMX1yZWdpc3RlcihlLHQpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dyb3Vwcy52YWx1ZXMoKSlpZih0LnBhdHRlcm5OYW1lPT09ZSl0aHJvdyBuZXcgRXJyb3IoYFBhdHRlcm4gIiR7ZX0iIGlzIGFscmVhZHkgcmVnaXN0ZXJlZGApO3RoaXMuX2dyb3Vwcy5zZXQodCx7cGF0dGVybk5hbWU6ZSxwYXR0ZXJuOnQsdG90YWxEdXJhdGlvbjowLGNvdW50OjAsdG9wRW50cmllczpbXX0pLHRoaXMuX3N0YXJ0T2JzZXJ2ZXIoKX1nZXRTdGF0cygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZ3JvdXBzLnZhbHVlcygpKXQuY291bnQmJmUucHVzaCh7cGF0dGVybk5hbWU6dC5wYXR0ZXJuTmFtZSxhdmVyYWdlRHVyYXRpb246dC50b3RhbER1cmF0aW9uL3QuY291bnQsY291bnQ6dC5jb3VudCx0b3BFbnRyaWVzOnQudG9wRW50cmllc30pO3JldHVybiBlfV9zdGFydE9ic2VydmVyKCl7aWYoIXRoaXMuX29ic2VydmVyU3RhcnRlZCYmInVuZGVmaW5lZCIhPXR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyKXRyeXtuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZT0+e2Zvcihjb25zdCB0IG9mIGUuZ2V0RW50cmllcygpKXRoaXMuX3Byb2Nlc3NFbnRyeSh0KX0pKS5vYnNlcnZlKHt0eXBlOiJyZXNvdXJjZSIsYnVmZmVyZWQ6ITB9KSx0aGlzLl9vYnNlcnZlclN0YXJ0ZWQ9ITB9Y2F0Y2h7fX1fcHJvY2Vzc0VudHJ5KGUpe2lmKCFzLmhhcyhlLmluaXRpYXRvclR5cGUpKXJldHVybjtjb25zdCB0PXt1cmw6ZS5uYW1lLHN0YXJ0VGltZTplLnN0YXJ0VGltZSxkdXJhdGlvbjplLmR1cmF0aW9ufTtmb3IoY29uc3QgaSBvZiB0aGlzLl9ncm91cHMudmFsdWVzKCkpe2lmKCFpLnBhdHRlcm4udGVzdChlLm5hbWUpKWNvbnRpbnVlO2kudG90YWxEdXJhdGlvbis9ZS5kdXJhdGlvbixpLmNvdW50Kys7Y29uc3Qgcz1pLnRvcEVudHJpZXM7cy5sZW5ndGg8NT8ocy5wdXNoKHQpLHMuc29ydCgoKGUsdCk9PnQuZHVyYXRpb24tZS5kdXJhdGlvbikpKTplLmR1cmF0aW9uPnNbcy5sZW5ndGgtMV0uZHVyYXRpb24mJihzW3MubGVuZ3RoLTFdPXQscy5zb3J0KCgoZSx0KT0+dC5kdXJhdGlvbi1lLmR1cmF0aW9uKSkpfX19fSw5NTY2ODcoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7VGVsZW1ldHJ5R3JvdXA6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkZhc3Q9ImZhc3QiLGUuTWVkaXVtPSJtZWRpdW0iLGUuU2xvdz0ic2xvdyJ9KHN8fChzPXt9KSl9LDU2MzYyNChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoYXNNZXRhSW5mbzooKT0+cyxpc0Fic2VudFBhcmFtOigpPT5ufSk7aSg5NTY2ODcpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiYibWV0YUluZm8iaW4gZX1mdW5jdGlvbiBuKGUpe3JldHVybiBudWxsPT1lfX0sNjk3NzA1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2xvZ1BpbmVNZXRhSW5mb0lzc3VlczooKT0+b30pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMjc1NzQyKTtmdW5jdGlvbiByKGUsdCxpKXsoMCxuLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgRGV0ZWN0ZWQgbWV0YSBpbmZvIChpZDogJHtlLmlkfSkgaXNzdWU6ICR7dH0uIFNvdXJjZTogJHtpfWAscy5MT0dMRVZFTC5FUlJPUiwiUGluZU1ldGFJbmZvVmFsaWRhdGlvbiIpfWZ1bmN0aW9uIG8oZSx0KXt0JiZ0LmRlZmF1bHRzJiZ0LmRlZmF1bHRzLmlucHV0cyYmIXQuZGVmYXVsdHMuaW5wdXRzLnRleHQmJnIodCwnbm8gImRlZmF1bHRzLmlucHV0cy50ZXh0IiB2YWx1ZScsZSksdCYmdC5pbnB1dHMmJih0LmlucHV0cy5maW5kKChlPT4idGV4dCI9PT1lLmlkKSl8fHIodCwnbm8gaW5wdXQgd2l0aCBpZCAidGV4dCInLGUpKX19LDYxMjMxKGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHMsbjtpLmQodCx7U2V2ZXJpdHk6KCk9PnN9KSxmdW5jdGlvbihlKXtlLkVSUk9SPSJlcnJvciIsZS5XQVJOSU5HPSJ3YXJuaW5nIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLk9wZW5Ob0F1dGg9Im9wZW5fbm9fYXV0aCIsZS5DbG9zZWROb0F1dGg9ImNsb3NlZF9ub19hdXRoIixlLkNsb3NlZE5lZWRzQXV0aD0iY2xvc2VkX25lZWRzX2F1dGgifShufHwobj17fSkpfSw1Nzc5OTYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7RU1QVFlfU09VUkNFX0NPREU6KCk9PmMsUElORV9TQ1JJUFRfTU9ESUZJRURfTE9DSzooKT0+aCxSRV9NRVNTQUdFX0xJTkVfV0lUSF9ESUdJVFM6KCk9PmQsVFZfU0NSSVBUX0RFTEVURUQ6KCk9Pm8sVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRDooKT0+bCxUVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRTooKT0+bixUVl9TQ1JJUFRfTU9ESUZJRUQ6KCk9PnIsVFZfU0NSSVBUX1JFTkFNRUQ6KCk9PmEscGluZVRlbGVtZXRyeUdyb3VwczooKT0+dX0pO3ZhciBzPWkoOTU2Njg3KQo7Y29uc3Qgbj0iVFZTY3JpcHRNb2RpZmljYXRpb25BY3RpdmUiLHI9IlRWU2NyaXB0TW9kaWZpZWQiLG89IlRWU2NyaXB0RGVsZXRlZCIsYT0iVFZTY3JpcHRSZW5hbWVkIixsPSJUVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQiLGM9IkNhbm5vdCBzYXZlIGVtcHR5IHNvdXJjZSBjb2RlIixoPSJwaW5lX3NjcmlwdF9tb2RpZmllZF9sb2NrIixkPS9bbHxMXWluZXM/IChcZCopLyx1PW5ldyBNYXAoW1siZGVsZXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiZ2V0IixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsiaXNfYXV0aF90b19nZXQiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJpc19hdXRoX3RvX3dyaXRlIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsicGFyc2VfdGl0bGUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJyZW5hbWUiLHMuVGVsZW1ldHJ5R3JvdXAuRmFzdF0sWyJsaWJfbGlzdCIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbInZlcnNpb25zIixzLlRlbGVtZXRyeUdyb3VwLkZhc3RdLFsibmFtZSIscy5UZWxlbWV0cnlHcm91cC5GYXN0XSxbImxpc3QiLHMuVGVsZW1ldHJ5R3JvdXAuTWVkaXVtXSxbImV2YWxfcGluZV9leCIscy5UZWxlbWV0cnlHcm91cC5NZWRpdW1dLFsidHJhbnNsYXRlX2xpZ2h0IixzLlRlbGVtZXRyeUdyb3VwLk1lZGl1bV0sWyJwcm9jZXNzX2xlZ2FjeSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbInB1Ymxpc2giLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd10sWyJzYXZlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlIixzLlRlbGVtZXRyeUdyb3VwLlNsb3ddLFsidHJhbnNsYXRlX3NvdXJjZSIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImdlbl9hbGVydCIscy5UZWxlbWV0cnlHcm91cC5TbG93XSxbImNvbnZlcnQiLHMuVGVsZW1ldHJ5R3JvdXAuU2xvd11dKX0sNjcxMDE5KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3BpbmVGYWNhZGVGZXRjaDooKT0+cH0pO3ZhciBzPWkoMjIxMDYxKSxuPWkoMzg0MDE3KSxyPWkoMzcxMDcpLG89aSg1NjM2MjQpLGE9aSgxNTY4NTApLGw9aSg4MzI4NDUpLGM9aSg1Nzc5OTYpO2NvbnN0IGg9KDAscy5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIik7ZnVuY3Rpb24gZChlLHQpe2NvbnN0IGk9bmV3IFVSTChmdW5jdGlvbihlKXtyZXR1cm4gZS5zcGxpdCgiLyIpLm1hcCgoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKSkuam9pbigiLyIpfShlKSwoMCxyLmdldFBpbmVGYWNhZGVVcmwpKCkpO2Zvcihjb25zdCBlIGluIHQpe2NvbnN0IHM9dFtlXTsoMCxvLmlzQWJzZW50UGFyYW0pKHMpfHxpLnNlYXJjaFBhcmFtcy5zZXQoZSxTdHJpbmcocykpfXJldHVybiBpLnRvU3RyaW5nKCl9ZnVuY3Rpb24gdShlLHQpe2NvbnN0IGk9e21ldGhvZDplLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn07cmV0dXJuIlBPU1QiPT09ZSYmdCYmKGkuYm9keT1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBGb3JtRGF0YTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyhlKSl0LmFwcGVuZChpLGVbaV0pO3JldHVybiB0fSh0KSksaX1hc3luYyBmdW5jdGlvbiBwKHt1cmxQYXRoOmUsdXJsUGFyYW1zOnQsZGF0YTppLG1ldGhvZDpzPSJHRVQifSl7Y29uc3Qgcj1kKGUsdCksbz11KHMsaSksbD1mdW5jdGlvbihlKXtoLmxvZ05vcm1hbChgUmVxdWVzdGluZyBwaW5lIGZhY2FkZSBzY3JpcHRzLCB1cmw6ICR7ZX1gKTtjb25zdCB0PWUuc3BsaXQoIi8iKVswXSxpPWMucGluZVRlbGVtZXRyeUdyb3Vwcy5nZXQodCkscz1EYXRlLm5vdygpO3JldHVybiB0PT57Y29uc3Qgbj1EYXRlLm5vdygpLXM7aWYoYS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfdGltZV9mcmFtZWAse3ZhbHVlOm59KSx0KXJldHVybiBhLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJwaW5lIixgJHtpfV9ncm91cF9va2ApLHZvaWQgaC5sb2dOb3JtYWwoYFJlcXVlc3RpbmcgcGluZSBmYWNhZGUgc2NyaXB0cyBmaW5pc2hlZCwgdXJsOiAke2V9YCk7YS50ZWxlbWV0cnkuc2VuZFJlcG9ydCgicGluZSIsYCR7aX1fZ3JvdXBfZXJyb3JgKSxoLmxvZ0Vycm9yKGBSZXF1ZXN0aW5nIHBpbmUgZmFjYWRlIHNjcmlwdHMgZmFpbGVkLCB1cmw6ICR7ZX1gKX19KGUpO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkocixvKTtpZighZS5vayl0aHJvdyBmdW5jdGlvbihlKXtyZXR1cm4gZS5zdGF0dXM+PTUwMD8iU2VydmVyIGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6NDEzPT09ZS5zdGF0dXM/IlRoZSBzaXplIG9mIHRoZSBzY3JpcHQgY29tcGlsYXRpb24gcmVxdWVzdCBpcyB0b28gbGFyZ2UuIjo0MjA9PT1lLnN0YXR1cz8iU2NyaXB0IHRpdGxlIGlzIHRvbyBsb25nLiBNYXggYWxsb3dlZCBsZW5ndGggaXMgMTI4IGNoYXJhY3RlcnMuIjo0MDM9PT1lLnN0YXR1cz8iVG8gdXNlIGl0LCBhc2sgdGhlIGF1dGhvciB0byBwdWJsaXNoIHRoZSBzY3JpcHQuIjplLnN0YXR1cz49NDAwPyJSZXF1ZXN0IGVycm9yLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LiJ9KGUpO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGwoITApLHR9Y2F0Y2goZSl7dGhyb3cgbCghMSksZX19bC5yZXNvdXJjZU1ldHJpY3NPYnNlcnZlci5yZWdpc3RlcigicGluZV9mYWNhZGVfZmV0Y2giLC9waW5lLWZhY2FkZS8pfSwzNzEwNyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthcHBseUdsb2JhbFNjcmlwdExpc3RlbmVyczooKT0+dixnZXRPbmx5UGluZVN0dWRpZXM6KCk9PnksZ2V0UGluZUZhY2FkZVVybDooKT0+YyxoYW5kbGVSZXN1bHQ6KCk9PmQsaGFuZGxlU2F2ZVJlc3VsdDooKT0+cCxoYW5kbGVUcmFuc2xhdGVSZXN1bHQ6KCk9PnUsaXNQaW5lUmVhc29uRGF0YTooKT0+YixvbkRlbGV0ZVNjcmlwdDooKT0+ZyxvbkxlZ2FjeVNjcmlwdFByb2NlZWQ6KCk9PlMsb25Nb2RpZnlTY3JpcHQ6KCk9Pm0sb25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkOigpPT5fLG9uUmVuYW1lU2NyaXB0OigpPT5mfSkKO3ZhciBzPWkoMTc5NzcxKSxuPWkoMTUyNjk5KSxyPWkoNjMyNDQ0KSxvPWkoNTc3OTk2KSxhPWkoMzA5MzYwKSxsPWkoNTYzNjI0KTtmdW5jdGlvbiBjKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5QSU5FX1VSTCxsb2NhdGlvbi5vcmlnaW4pO3JldHVybiBlLnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fChlLnBhdGhuYW1lKz0iLyIpLGUuaHJlZn1mdW5jdGlvbiBoKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZS5yZWFzb24pcmV0dXJuIGUucmVhc29uO2lmKGUucmVhc29uMilyZXR1cm57ZXJyb3JzOmUucmVhc29uMi5lcnJvcnM/P1tdLHdhcm5pbmdzOmUucmVhc29uMi53YXJuaW5ncz8/W119O2NvbnN0IHQ9e2Vycm9yczpbXSx3YXJuaW5nczpbXX07aWYoKDAsbC5oYXNNZXRhSW5mbykoZS5yZXN1bHQpKXtjb25zdCBpPWUucmVzdWx0JiZlLnJlc3VsdC5tZXRhSW5mbztpJiZ2b2lkIDAhPT1pLndhcm5pbmdzJiZpLndhcm5pbmdzLmZvckVhY2goKGU9PnQud2FybmluZ3MucHVzaCh7bWVzc2FnZTplfSkpKX1pZihlLnJlYXNvbil7KEFycmF5LmlzQXJyYXkoZS5yZWFzb24pP2UucmVhc29uOmUucmVhc29uLnNwbGl0KCJcbiIpKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm1hdGNoKG8uUkVfTUVTU0FHRV9MSU5FX1dJVEhfRElHSVRTKSxzPWkmJmkubGVuZ3RoJiZOdW1iZXIoaVsxXSksbj17bWVzc2FnZTplfTtpZigibnVtYmVyIj09dHlwZW9mIHMpe24uc3RhcnQ9e2xpbmU6cyxjb2x1bW46MH07Y29uc3QgZT1uLm1lc3NhZ2Uuc3BsaXQoIjogIik7ZS5zaGlmdCgpLG4ubWVzc2FnZT1lLmpvaW4oIjogIil9dC5lcnJvcnMucHVzaChuKX0pKX1yZXR1cm4gdH1mdW5jdGlvbiBkKGUpe2lmKGUuc3VjY2VzcylyZXR1cm4gZS5yZXN1bHQ7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3Rocm93IGgoZSl9ZnVuY3Rpb24gdShlKXtpZihlLnN1Y2Nlc3MpcmV0dXJue3N1Y2Nlc3M6ZS5zdWNjZXNzLG1ldGFJbmZvOmUucmVzdWx0Lm1ldGFJbmZvLGNvbXBpbGVFcnJvcnM6aChlKX07dGhyb3cgbmV3IGEuUGluZUNvbXBpbGVGYWlsRXJyb3JJbXBsKGgoZSksZS5yZXN1bHQubWV0YUluZm8pfWZ1bmN0aW9uIHAoZSl7aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yO3JldHVybntzdWNjZXNzOmUuc3VjY2VzcyxtZXRhSW5mbzplLnJlc3VsdC5tZXRhSW5mbyxjb21waWxlRXJyb3JzOmgoZSl9fWZ1bmN0aW9uIF8oZSx0LGkpe2NvbnN0IHI9e3NjcmlwdElkUGFydDplLHNjcmlwdFZlcnNpb25Ub1VwZGF0ZTp0LGFjdGl2ZTppfTtuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUNBVElPTl9BQ1RJVkUsSlNPTi5zdHJpbmdpZnkocikpLHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklDQVRJT05fQUNUSVZFLHIpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25Nb2RpZnlTY3JpcHRBY3RpdmVDaGFuZ2VkKHIpfSkpfWZ1bmN0aW9uIG0oZSx0LGkscil7Y29uc3QgYT17c2NyaXB0TWV0YUluZm86ZSxzY3JpcHRWZXJzaW9uVG9VcGRhdGU6dCxjb21waWxhdGlvbkZhaWxlZDppLGNvbXBpbGVFcnJvcnM6cn07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9NT0RJRklFRCxKU09OLnN0cmluZ2lmeShhKSkscy5lbWl0KG8uVFZfU0NSSVBUX01PRElGSUVELGEpLHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKT8udGhlbigoZT0+ZS5vblRWU2NyaXB0TW9kaWZpZWQoey4uLmEsaXNTZWxmQ2FsbDohMH0pKSl9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PXtzY3JpcHRJZFBhcnQ6ZX07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9ERUxFVEVELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfREVMRVRFRCx0KSxzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KGU/Lm9uVFZTY3JpcHREZWxldGVkKHsuLi50LGlzU2VsZkNhbGw6ITB9KSl9KSl9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IGk9e3NjcmlwdElkUGFydDplLHNjcmlwdE5hbWU6dH07bi5UVlhXaW5kb3dFdmVudHMuZW1pdChvLlRWX1NDUklQVF9SRU5BTUVELEpTT04uc3RyaW5naWZ5KGkpKSxzLmVtaXQoby5UVl9TQ1JJUFRfUkVOQU1FRCxpKX1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9e3NjcmlwdE1ldGFJbmZvOmV9O24uVFZYV2luZG93RXZlbnRzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELEpTT04uc3RyaW5naWZ5KHQpKSxzLmVtaXQoby5UVl9TQ1JJUFRfTEVHQUNZX1BJTkVfUFJPQ0VTU0VELHQpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdCBlPWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSk7ZT8ub25UVlNjcmlwdExlZ2FjeVBpbmVQcm9jZXNzZWQodCl9KSl9ZnVuY3Rpb24gdihlLHQsaSl7bi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJQ0FUSU9OX0FDVElWRSwoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQod2luZG93LnNjcmlwdFVwZGF0ZXI/LigpKTt0Py5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQoSlNPTi5wYXJzZShlKSl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oby5UVl9TQ1JJUFRfTU9ESUZJRUQsKGFzeW5jIGU9PntpLmNsZWFyKCk7Y29uc3QgdD1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO3Q/Lm9uVFZTY3JpcHRNb2RpZmllZChKU09OLnBhcnNlKGUpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9ERUxFVEVELChhc3luYyBzPT57ZS5jbGVhcigpLHQuY2xlYXIoKSxpLmNsZWFyKCk7Y29uc3Qgbj1hd2FpdCh3aW5kb3cuc2NyaXB0VXBkYXRlcj8uKCkpO2F3YWl0KG4/Lm9uVFZTY3JpcHREZWxldGVkKEpTT04ucGFyc2UocykpKX0pKSxuLlRWWFdpbmRvd0V2ZW50cy5vbihvLlRWX1NDUklQVF9SRU5BTUVELChhc3luYyBlPT57aS5jbGVhcigpfSkpLG4uVFZYV2luZG93RXZlbnRzLm9uKG8uVFZfU0NSSVBUX0xFR0FDWV9QSU5FX1BST0NFU1NFRCwoYXN5bmMgZT0+e2kuY2xlYXIoKTtjb25zdCB0PWF3YWl0KHdpbmRvdy5zY3JpcHRVcGRhdGVyPy4oKSkKO3Q/Lm9uVFZTY3JpcHRMZWdhY3lQaW5lUHJvY2Vzc2VkKEpTT04ucGFyc2UoZSkpfSkpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT57Y29uc3QgdD0oMCxyLmV4dHJhY3RQaW5lSWQpKGUubWV0YUluZm8oKS5pZCk7cmV0dXJuIHQmJigwLHIuaXNDdXN0b21QaW5lSWQpKHQpfSkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKCJlcnJvcnMiaW4gZXx8Indhcm5pbmdzImluIGUpfX0sMzA5MzYwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1BpbmVDb21waWxlRmFpbEVycm9ySW1wbDooKT0+c30pO2NsYXNzIHMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCJQaW5lIHRyYW5zbGF0aW9uIGZhaWxlZCIpLHRoaXMucmVhc29uPWUsdGhpcy5tZXRhSW5mbz10fX19LDQwNjg5MihlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtSZXF1ZXN0Q2FjaGU6KCk9Pm4sU2luZ2xlUmVxdWVzdENhY2hlOigpPT5yfSk7dmFyIHM9aSgxNTAxNTApO2NsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9jYWNoZT1uZXcgTWFwLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5zdWJzY3JpYmUodGhpcyx0aGlzLmNsZWFyKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKX1zZXQoZSx0KXt0aGlzLl9jYWNoZS5zZXQoZSx0KX1kZWxldGUoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmRlbGV0ZShlKX1jbGVhcigpe3RoaXMuX2NhY2hlLmNsZWFyKCl9fWNsYXNzIHIgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9rZXk9KDAscy5ndWlkKSgpfXJlc2V0KGUpe3N1cGVyLnNldCh0aGlzLl9rZXksZSl9Z2V0KCl7cmV0dXJuIHN1cGVyLmdldCh0aGlzLl9rZXkpfWNsZWFyKCl7c3VwZXIuY2xlYXIoKX19fSwzNjIyMzkoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBzKCl7aWYoIXdpbmRvdy51c2VyfHx3aW5kb3cudXNlci5kb19ub3RfdHJhY2spcmV0dXJuIG51bGw7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg2NjM5OSldKS50aGVuKGkuYmluZChpLDE1ODMzMikpO3JldHVybiBlKCl9aS5kKHQse2dldFRyYWNrZXI6KCk9PnN9KX0sNDU2ODYyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb246KCk9Pm59KTt2YXIgcz1pKDM2MjIzOSk7ZnVuY3Rpb24gbihlLHQpeygwLHMuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmaS50cmFja0NoYXJ0RHJhd2luZ0NyZWF0aW9uKGUsdCl9KSl9fSwzMjMwNzkoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7dHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkOigpPT5sfSk7dmFyIHM9aSg4NjA0NDIpLG49aSg2NzgyODUpLHI9aSgzNjIyMzkpLG89aSg4NTYxOTYpLGE9aSgzNTUxMjMpO2Z1bmN0aW9uIGwoZSx0KXt2b2lkIDAhPT10JiZmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUpfHwoMCxzLmlzTGluZVRvb2xOYW1lKShlKXx8KDAsbi50b29sSXNDdXJzb3IpKGUpfHwoMCxuLnRvb2xJc0VyYXNlcikoZSl8fCgwLG4udG9vbElzTWVhc3VyZSkoZSl9KGUpJiYoMCxvLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nVG9vbFNlbGVjdGVkIixhLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChpPT57aSYmKGU9InBlcmZvcm1hbmNlIj09PWU/Im1hZ2ljIjplLGkudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKGUsdCkpfSkpfX0sNTQ0ODg1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3RyYWNrU3R1ZGllczooKT0+b30pO3ZhciBzPWkoMzIyNDE5KSxuPWkoNzkxNDI3KSxyPWkoMzYyMjM5KTtmdW5jdGlvbiBvKGUsdCxpLG8sYSl7Y29uc3QgbD0hZS5pc1BpbmUoKXx8ZS5pc1N0YW5kYXJkUGluZSgpP2UuZGVzY3JpcHRpb24/P2UubmFtZTplLnNjcmlwdElkUGFydCxjPWUucHJvZHVjdElkLGg9bi5TdHVkeU1ldGFJbmZvLmlzU2NyaXB0U3RyYXRlZ3koZSksZD13aW5kb3cudXNlciYmd2luZG93LnVzZXIucHJvX3BsYW58fCIiLHU9dC5zdHVkaWVzV1YoKS52YWx1ZSgpLmxlbmd0aCt0LmFsbExpbmVUb29scygpLmZpbHRlcihzLmlzU3R1ZHlMaW5lVG9vbCkubGVuZ3RoLHA9dC5jaGFydEFwaSgpLmdldFN0dWR5Q291bnRlcigpLF89ZS5pc1BpbmUoKT9lLnNjcmlwdElkUGFydDplLmlkOygwLHIuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57ZSYmZS50cmFja1N0dWRpZXNBbmFseXRpY3MobCxjLGksaCx1LHAsbz8/bnVsbCxfLGQsSlNPTi5zdHJpbmdpZnkoYSkpfSkpfX0sODM2MDgxKGUsdCxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZD93aW5kb3cudXNlci5wcm9fcGxhbnx8ImZyZWUiOiJ2aXNpdG9yIn1mdW5jdGlvbiBuKCl7cmV0dXJuIHdpbmRvdy5sb2NhbGV9ZnVuY3Rpb24gcigpe3JldHVybiB3aW5kb3cudXNlci5pZD93aW5kb3cudXNlci5pZC50b1N0cmluZygpOm51bGx9ZnVuY3Rpb24gbygpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gYSgpe3JldHVybiBCb29sZWFuKHdpbmRvdy51c2VyLmlzX3RyaWFsKX1pLmQodCx7Z2V0VXNlcklkOigpPT5yLGdldFVzZXJMb2NhbGU6KCk9Pm4sZ2V0VXNlclBsYW46KCk9PnMsZ2V0VXNlclByb1N0YXR1czooKT0+byxnZXRVc2VyVHJpYWxTdGF0dXM6KCk9PmF9KX0sOTY0MDEyKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgcz1pKDM4NjkzMSk7Y29uc3Qgbj17ZmlsdGVyTmFtZXNNYXA6e3NjcmlwdF90eXBlOiJJbmRpY2F0b3JzIGFuZCBTdHJhdGVnaWVzIiwic2NyaXB0X3R5cGUtaW5kaWNhdG9ycyI6IkluZGljYXRvcnMiLCJzY3JpcHRfdHlwZS1zdHJhdGVnaWVzIjoiU3RyYXRlZ2llcyIsc3RyZWFtOiJBbGwgTWFya2V0cyIsInN0cmVhbS1zdG9ja3MiOiJTdG9ja3MiLCJzdHJlYW0taW5kaWNlcyI6IkluZGljZXMiLAoic3RyZWFtLWNvbW1vZGl0aWVzIjoiQ29tbW9kaXRpZXMiLCJzdHJlYW0tY3VycmVuY2llcyI6IkN1cnJlbmNpZXMiLCJzdHJlYW0tYml0Y29pbiI6IkJpdGNvaW4iLCJpbnRlcnZhbC1hbGwiOiJBbGwgSW50ZXJ2YWxzIiwiaW50ZXJ2YWwtbSI6IlNob3J0IFRlcm0iLCJpbnRlcnZhbC1oIjoiTWVkaXVtIFRlcm0iLCJpbnRlcnZhbC1kd20iOiJMb25nIFRlcm0iLCJzb3J0LXVubW9kZXJhdGVkIjoiVW5tb2RlcmF0ZWQiLCJzb3J0LXRyZW5kaW5nIjoiVHJlbmRpbmciLCJzb3J0LWRpc2N1c3NlZCI6Ik1vc3QgRGlzY3Vzc2VkIiwic29ydC12aWV3ZWQiOiJNb3N0IFZpZXdlZCIsInNvcnQtYWdyZWVkIjoiTW9zdCBBZ3JlZWQiLCJzb3J0LXN1Z2dlc3RlZCI6IlN1Z2dlc3RlZCIsInNvcnQtcmVjZW50IjoiQWxsIElkZWFzIiwidGltZS1kYXkiOiJUb2RheSIsInRpbWUtd2VlayI6IlRoaXMgV2VlayIsInRpbWUtbW9udGgiOiJUaGlzIE1vbnRoIiwidGltZS1hbGwiOiJBbGwgVGltZSIsImJ5LWV2ZXJ5b25lIjoiRXZlcnlvbmUiLCJieS1mb2xsb3dpbmciOiJGb2xsb3dpbmciLCJieS1tZSI6Ik15IElkZWFzIn0sZ29Qcm9GZWF0dXJlc01hcDp7Y3VzdG9tSW50ZXJ2YWxzOiJBZGQgQ3VzdG9tIEludGVydmFsIixpbnRyYWRheVNwcmVhZDoiSW5yYWRheSBTcHJlYWQiLGthZ2lSZW5rbzoiSmFwYW5lc2UgSW50cmFkYXkgQ2hhcnQiLGFsZXJ0czp7cHJlZml4OiJOZXcgQWxlcnRzIExpbWl0Iix3aWRnZXQ6IldpZGdldCIsY2hhcnQ6IkNoYXJ0IEhlYWRlciJ9LG11bHRpcGxlQ2hhcnRzOiJNdWx0aXBsZSBDaGFydHMgTGF5b3V0IixzYXZlZENoYXJ0c0xpbWl0OiJTYXZlIENoYXJ0IExpbWl0IixzdHVkeUxpbWl0OiJTdHVkaWVzIExpbWl0IixtdWx0aXBsZVdhdGNoTGlzdHM6e3ByZWZpeDoiV2F0Y2hsaXN0cyIsbmV3OiJDcmVhdGUgTmV3IExpc3QiLHJlbmFtZToiUmVuYW1lIExpc3QiLHNhdmVBczoiU2F2ZSBMaXN0IEFzIn0saW1wb3J0V2F0Y2hsaXN0OiJXYXRjaGxpc3RzIEltcG9ydCBXYXRjaGxpc3QiLGV4cG9ydFdhdGNobGlzdDoiV2F0Y2hsaXN0cyBFeHBvcnQgV2F0Y2hsaXN0IixCQVRTRXhjaGFuZ2VQb3B1cDoiQkFUUyBFeGNoYW5nZSBQb3B1cCIsRGF0YVF1YWxpdHlQb3B1cDoiRGF0YSBRdWFsaXR5IFBvcHVwIixGcmVlRGVsYXlQb3B1cDoiRnJlZSBEZWxheSBQb3B1cCIscHJvUlRQcm9kdWN0OiJWb2x1bWUgUHJvZmlsZSIsc3R1ZHlPblN0dWR5OiJVbmxpbWl0ZWQgU3R1ZHkgb24gU3R1ZHkifSx0cmFja0ZlYXR1cmU6e3NhdmVkQ2hhcnRzTGltaXQ6ITAsQkFUU0V4Y2hhbmdlUG9wdXA6ITAsRnJlZURlbGF5UG9wdXA6ITAsRGF0YVF1YWxpdHlQb3B1cDohMCxpbnRyYWRheVNwcmVhZDohMCxzdHVkeU9uU3R1ZHk6ITB9LHRyYWNrR29Qcm86ZnVuY3Rpb24oZSx0LGkpe2kmJiF0JiYodD1pLGk9bnVsbCk7dmFyIHI9bi5nb1Byb0ZlYXR1cmVzTWFwW3RdO2lmKHIpe2lmKGkpe2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm47cj0iezB9IHsxfSIuZm9ybWF0KHIucHJlZml4LHJbaV0pfSgwLHMudHJhY2tFdmVudCkoZSxyKX19fSxyPW59LDczNjA2MyhlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHt0cmFja0dvUHJvRmVhdHVyZTooKT0+bn0pO3ZhciBzPWkoOTY0MDEyKTtmdW5jdGlvbiBuKGUsdCl7cy5kZWZhdWx0LnRyYWNrR29Qcm8oIkdvcHJvIEZlYXR1cmVzIixlLHQpfX0sNTUxMTkzKGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlKXtQcm9taXNlLmFsbChbaS5lKDIxODcwKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDIzNjI0KSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzQzODEpLGkuZSgxNDYyNSksaS5lKDY1NyksaS5lKDYxODIxKSxpLmUoNjYyNzApLGkuZSg1NTAxMSksaS5lKDcxOTAxKSxpLmUoODA3MzEpLGkuZSg2ODk2NCksaS5lKDI5MTMzKSxpLmUoMTk4MzMpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoNDQ3ODApLGkuZSg4MjIzNyksaS5lKDQ4ODU0KSxpLmUoOTQxODIpLGkuZSgxMTQzNSldKS50aGVuKGkuYmluZChpLDk5NTIxMykpLnRoZW4oKHQ9Pnt0LnJlbmRlck5vdGVzRGlhbG9nKGUpfSkpfWkuZCh0LHtzaG93Tm90ZXNEaWFsb2c6KCk9PnN9KX0sMjM0OTY0KGUsdCxpKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gcyhlLHQpe2NvbnN0IHM9YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgyODgzMSksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0MjMyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDg1NzkpLGkuZSgxNzA4NyksaS5lKDU3MzAwKSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNDA5MTQpLGkuZSg5MDk2MCksaS5lKDg3NzQwKSxpLmUoNzg4OTkpLGkuZSg2NzIxMiksaS5lKDgwOTE1KSxpLmUoMTUzNCksaS5lKDI4MTc2KSxpLmUoMzk2MDkpLGkuZSg1NTIyOSksaS5lKDY1MTAwKSxpLmUoNDI3MDYpXSkudGhlbihpLmJpbmQoaSw1MDYyNzUpKTtyZXR1cm4gcy5zaG93U2ltcGxlRGlhbG9nKGUscy5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpewpjb25zdCBzPWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjg4MzEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDIzMiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg4NTc5KSxpLmUoMTcwODcpLGkuZSg1NzMwMCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDQwOTE0KSxpLmUoOTA5NjApLGkuZSg4Nzc0MCksaS5lKDc4ODk5KSxpLmUoNjcyMTIpLGkuZSg4MDkxNSksaS5lKDE1MzQpLGkuZSgyODE3NiksaS5lKDM5NjA5KSxpLmUoNTUyMjkpLGkuZSg2NTEwMCksaS5lKDQyNzA2KV0pLnRoZW4oaS5iaW5kKGksNTA2Mjc1KSk7cmV0dXJuIHMuc2hvd1NpbXBsZURpYWxvZyhlLHMuY29uZmlybU1vZHVsZSx0KX1hc3luYyBmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDI4ODMxKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQyMzIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoODU3OSksaS5lKDE3MDg3KSxpLmUoNTczMDApLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg0MDkxNCksaS5lKDkwOTYwKSxpLmUoODc3NDApLGkuZSg3ODg5OSksaS5lKDY3MjEyKSxpLmUoODA5MTUpLGkuZSgxNTM0KSxpLmUoMjgxNzYpLGkuZSgzOTYwOSksaS5lKDU1MjI5KSxpLmUoNjUxMDApLGkuZSg0MjcwNildKS50aGVuKGkuYmluZChpLDUwNjI3NSkpO3JldHVybiBzLnNob3dTaW1wbGVEaWFsb2coZSxzLndhcm5pbmdNb2R1bGUsdCl9aS5yKHQpLGkuZCh0LHtzaG93Q29uZmlybTooKT0+bixzaG93UmVuYW1lOigpPT5zLHNob3dXYXJuaW5nOigpPT5yfSl9LDg0NDM0NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtoaWRlU3RhdGVDaGFuZ2U6KCk9PnJ9KTt2YXIgcyxuPWkoOTQ4MzgwKTshZnVuY3Rpb24oZSl7ZS5EcmF3aW5ncz0iZHJhd2luZ3MiLGUuSW5kaWNhdG9ycz0iaW5kaWNhdG9ycyIsZS5Qb3NpdGlvbnM9InBvc2l0aW9ucyIsZS5BbGw9ImFsbCJ9KHN8fChzPXt9KSk7Y29uc3Qgcj1uZXcgbi5EZWxlZ2F0ZX0sNjE0MzgwKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1N5bWJvbFNlYXJjaFVJOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSgzNzI5MSkscj1pKDIyNTI5OCksbz1pKDI3OTQwNSk7Y2xhc3MgYXthc3luYyBzaG93KGUpe2lmKG51bGwhPT1hLl9wcm92aWRlcil7Y29uc3QgdD1hd2FpdCBhLl9wcm92aWRlci5nZXRTeW1ib2woKSxpPSgwLG8uZ2V0U3ltYm9sU2VhcmNoQ29tcGxldGVPdmVycmlkZUZ1bmN0aW9uKSgpLHM9YXdhaXQgaSh0LnN5bWJvbCk7cmV0dXJuIGUuc2V0U3ltYm9sP2Uuc2V0U3ltYm9sKHMsInN5bWJvbCBzZWFyY2ggVUkiKTpyLmxpbmtpbmcuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHMuc3ltYm9sLCJzeW1ib2wgc2VhcmNoIFVJIikse3N5bWJvbDpzLnN5bWJvbH19aWYoYS5fY3VycmVudFNob3dpbmdJbnN0YW5jZSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJTeW1ib2xTZWFyY2hVSSBpcyBhbHJlYWR5IHNob3duIiwiSW52YWxpZFN0YXRlRXJyb3IiKTt0cnl7YS5fY3VycmVudFNob3dpbmdJbnN0YW5jZT10aGlzLGEucHJlbG9hZCgpO2NvbnN0IHQ9YXdhaXQgYS5faW1wbGVtZW50YXRpb247cmV0dXJuKDAscy5hc3NlcnQpKG51bGwhPT10KSxuZXcgUHJvbWlzZSgoaT0+e3Quc2hvd0RlZmF1bHRTZWFyY2hEaWFsb2coey4uLmUsb25TZWFyY2hDb21wbGV0ZTplPT57aSh7c3ltYm9sOmUuc3ltYm9sfSl9fSl9KSl9ZmluYWxseXthLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGx9fXN0YXRpYyBzZXRQcm92aWRlcihlKXt0aGlzLl9wcm92aWRlcj1lfXN0YXRpYyBwcmVsb2FkKCl7bnVsbD09PXRoaXMuX3Byb3ZpZGVyJiZudWxsPT09dGhpcy5faW1wbGVtZW50YXRpb24mJih0aGlzLl9pbXBsZW1lbnRhdGlvbj0oMCxuLmxvYWROZXdTeW1ib2xTZWFyY2gpKCkpfX1hLl9jdXJyZW50U2hvd2luZ0luc3RhbmNlPW51bGwsYS5fcHJvdmlkZXI9bnVsbCxhLl9pbXBsZW1lbnRhdGlvbj1udWxsfSw2NTQ2MzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7cnVuT3JTaWduSW46KCk9Pm8scnVuT3JTaWduSW5XaXRoUHJvbW86KCk9PmF9KTt2YXIgcz1pKDkzMDIzMSksbj1pKDYyMTkyNik7Y29uc3Qgcj0oMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtmdW5jdGlvbiBvKGUsdCl7cj9lKCk6d2luZG93LnJ1bk9yU2lnbkluKGUsdCl9ZnVuY3Rpb24gYShlLHQsaSl7cj9pKCk6KDAsbi5ydW5PclNpZ25pbldpdGhGZWF0dXJlKShpLHsuLi50LGZlYXR1cmU6ZX0pfX0sNjQzOTAzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse3NhZmVTaG9ydE5hbWU6KCk9Pm59KTt2YXIgcz1pKDM0NDEwMyk7ZnVuY3Rpb24gbihlKXt0cnl7cmV0dXJuKDAscy5zaG9ydE5hbWUpKGUpfWNhdGNoKHQpe3JldHVybiBlfX19LDg1MjE0OChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtnZXRDaGFydFN0b3JhZ2U6KCk9Pmd9KTt2YXIgcz1pKDM4NDAxNyksbj1pKDIxNDk4Nykscj1pKDMyMjYwMSksbz1pKDE1Njg1MCksYT1pKDEwMjY1NiksbD1pKDY4OTAyMSksYz1pKDMzOTUxKTtmdW5jdGlvbiBoKCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2UiXScpLHQ9bmV3IFVSTChlPy5ocmVmfHwiL2NoYXJ0cy1zdG9yYWdlLyIsbG9jYXRpb24uaHJlZik7cmV0dXJuIHQucGF0aG5hbWUuZW5kc1dpdGgoIi8iKXx8KHQucGF0aG5hbWUrPSIvIiksdH1mdW5jdGlvbiBkKGUpe2NvbnN0e2NoYXJ0czp0PXt9LGNvdW50U291cmNlc1RvdGFsOmk9MCxsaW1pdEJ5dGVzVG90YWw6cz0wLHNpemVCeXRlc1RvdGFsOm49MH09ZSxyPW5ldyBNYXA7Zm9yKGNvbnN0W2UsaV1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3R7c3ltYm9sczp0PXt9fT1pLHM9bmV3IE1hcAo7Zm9yKGNvbnN0W2Use2NvdW50U291cmNlczppLHNpemVCeXRlczpuLGlkczpyfV1vZiBPYmplY3QuZW50cmllcyh0KSlzLnNldChlLHtjb3VudFNvdXJjZXM6aSxzaXplQnl0ZXM6bixpZHM6cn0pO3Iuc2V0KGUscyl9cmV0dXJue2NoYXJ0czpyLGNvdW50U291cmNlc1RvdGFsOmksbGltaXRCeXRlc1RvdGFsOnMsc2l6ZUJ5dGVzVG90YWw6bn19Y29uc3QgdT17c291cmNlczpuZXcgTWFwLGdyb3VwczpuZXcgTWFwfTtjbGFzcyBwe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cz1uZXcgTWFwLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHM9bmV3IE1hcCx0aGlzLl9yZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9sYXlvdXRJZD12b2lkIDB9YXN5bmMgc2F2ZUxpbmVUb29sc0FuZEdyb3VwcyhlLHQsaSxzLGQpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXRocm93IG5ldyBFcnJvcigiVW5uYW1lZCBjaGFydCBjYW5ub3QgYmUgc2F2ZWQiKTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3QgdT1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxtPWBDaGFydFN0b3JhZ2UuU2F2ZS5Ub3RhbGx5UHJvY2Vzc2luZy4ke3V9YCxnPSgwLHIucGVyZk1lYXN1cmVPcGVyYXRpb24pKG0sKGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5fbGFzdFNhdmVSZXF1ZXN0fWNhdGNoKGUpe31pZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHA9YENoYXJ0U3RvcmFnZS5TYXZlLkdldHRpbmdUb2tlbi4ke3V9YCxtPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LHMsZCkpKSxnPW5ldyBVUkwobS5wYXRoLGgoKSk7bS5jaGFydElkJiZnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImNoYXJ0X2lkIixtLmNoYXJ0SWQpLGcuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGF5b3V0X2lkIixlKSxnLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsbS50b2tlbik7Y29uc3QgZj1gQ2hhcnRTdG9yYWdlLlNhdmUuR2V0dGluZ1Jlc3BvbnNlLiR7dX1gO3RyeXtjb25zdCByPWF3YWl0IHRoaXMuX2ZldGNoKGYsZyx7bWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwiWC1CVUlMRC1USU1FIjp3aW5kb3cuQlVJTERfVElNRX0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDpkLGJvZHk6KDAsbC5zdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGkpfSk7aWYoIXIub2spe2NvbnN0IGU9NDI5PT09ci5zdGF0dXM7dGhyb3cgbmV3IGEuU2F2aW5nTGluZVRvb2xzRXJyb3IoZSxgUmVzcG9uc2Ugc3RhdHVzIGlzIG5vdCBzdWNjZXNzOiAke3Iuc3RhdHVzfWApfWNvbnN0IGM9YXdhaXQgXyhyKTtpZihkPy5hYm9ydGVkKXRocm93KDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpO3JldHVybiBvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX3N1Y2Nlc3MiKSx7Y29udGVudDpjLHNhdmVkRHRvOmksbGF5b3V0SWQ6ZSxjaGFydElkOnQsc2hhcmluZ01vZGU6cyxzZXJ2ZXJVcGRhdGVUaW1lOjFlMypjLnNlcnZlclVwZGF0ZVRpbWV9fWNhdGNoKGUpe3Rocm93KDAsbi5pc0Fib3J0RXJyb3IpKGUpfHxvLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zYXZlX2Vycm9yIiksZX19KSk7cmV0dXJuIHRoaXMuX2xhc3RTYXZlUmVxdWVzdD1nfWFzeW5jIGxvYWRMaW5lVG9vbHNBbmRHcm91cHMoZSx0LGkpe2lmKCFwLl9jaGVja0xheW91dElkKGUpKXJldHVybiB1O3RoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKTtjb25zdCBzPWAke2V9LiR7dH0uJHtpLnJlcXVlc3RUeXBlfS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAsbj1gQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Rva2VuLiR7c31gLGE9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShuLCgoKT0+KDAsYy5nZXRTdG9yYWdlVGFyZ2V0KShlLHQsaS5zaGFyaW5nTW9kZSkpKSxkPW5ldyBVUkwoYGdldC8ke2EucGF0aH1gLGgoKSk7c3dpdGNoKGEuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsYS5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGEudG9rZW4pLGkucmVxdWVzdFR5cGUpe2Nhc2UibWFpblNlcmllc0xpbmVUb29scyI6ZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGkuc3ltYm9sKSwwPT09aS5zaGFyaW5nTW9kZSYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbmNsdWRlT3duZXJTb3VyY2UiLGkuc2VyaWVzU291cmNlSWQpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYnJva2VyTmFtZSIsaS5icm9rZXJOYW1lKTticmVhaztjYXNlInN0dWRpZXNMaW5lVG9vbHMiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZXhjbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKTticmVhaztjYXNlImxpbmVUb29sc1dpdGhvdXRTeW1ib2wiOmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIiwiIiksMD09PWkuc2hhcmluZ01vZGUmJmQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiaW5jbHVkZU93bmVyU291cmNlIixpLnNlcmllc1NvdXJjZUlkKX1jb25zdCBfPTAhPT1pLnNoYXJpbmdNb2RlJiYhZC5zZWFyY2hQYXJhbXMuZ2V0KCJzeW1ib2wiKSxtPWFzeW5jKCk9PntpZihfKXRyeXthd2FpdCB0aGlzLl9sYXN0U2hhcmVkVG9vbHNMb2FkaW5nUmVxdWVzdH1jYXRjaChlKXt9cmV0dXJuIHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLkxvYWQuR2V0dGluZ1Jlc3BvbnNlLiR7c31gLGQse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfTt0cnl7Y29uc3RbZSx0XT1hd2FpdChfP3RoaXMuX2xhc3RTaGFyZWRUb29sc0xvYWRpbmdSZXF1ZXN0PW0oKTptKCkpCjtyZXR1cm4gby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9zdWNjZXNzIiksKDAsbC5wYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTykoZXx8e30sdCl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfbG9hZF9lcnJvciIpLGV9fWFzeW5jIHJlbW92ZUxpbmVUb29scyhlLHQsaSxzKXtpZighcC5fY2hlY2tMYXlvdXRJZChlKSlyZXR1cm4hMTt0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSk7Y29uc3Qgbj1gJHtlfS4ke3R9LiR7dGhpcy5fcmVxdWVzdHNDb3VudGVyKyt9YCxhPWBDaGFydFN0b3JhZ2UuUmVtb3ZlLkdldHRpbmdUb2tlbi4ke259YCxsPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikoYSwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LGkpKSksZD1uZXcgVVJMKGwucGF0aCxoKCkpO2wuY2hhcnRJZCYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjaGFydF9pZCIsbC5jaGFydElkKSxkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHMpLGQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiand0IixsLnRva2VuKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZldGNoRGF0YShgQ2hhcnRTdG9yYWdlLlJlbW92ZS5HZXR0aW5nUmVzcG9uc2UuJHtufWAsZCx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfc3VjY2VzcyIpLCEwfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3JlbW92ZV9ieV9zeW1ib2xfZXJyb3IiKSxlfX1hc3luYyBnZXRMYXlvdXREcmF3aW5nc1NpemVJbmZvKGUsdCl7cmV0dXJuIHAuX2NoZWNrTGF5b3V0SWQoZSk/KHRoaXMuX2NsZWFuU3RhdGVJZkxheW91dElkQ2hhbmdlZChlKSx0aGlzLl9lbnF1ZXVlU2l6ZXNSZXF1ZXN0KCJsYXlvdXQiLGBsYXlvdXQuJHtlfS4ke3R9YCwoYXN5bmMoKT0+e2NvbnN0IGk9YCR7ZX0uJHt0fS4ke3RoaXMuX3JlcXVlc3RzQ291bnRlcisrfWAscz1gQ2hhcnRTdG9yYWdlLkdldFNpemVzLkdldHRpbmdUb2tlbi4ke2l9YCxuPWF3YWl0KDAsci5wZXJmTWVhc3VyZU9wZXJhdGlvbikocywoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSx0LDApKSksYT1uZXcgVVJMKGBsYXlvdXQvJHtlfS9zaXplc2AsaCgpKTthLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSksYS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLG4udG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHtpfWAsYSx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3NpemVfaW5mb19zdWNjZXNzIiksZChlfHx7fSl9Y2F0Y2goZSl7dGhyb3cgby50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc2l6ZV9pbmZvX2Vycm9yIiksZX19KSkpOntjaGFydHM6bmV3IE1hcCxjb3VudFNvdXJjZXNUb3RhbDowLGxpbWl0Qnl0ZXNUb3RhbDowLHNpemVCeXRlc1RvdGFsOjB9fWFzeW5jIGdldFVzZXJHbG9iYWxEcmF3aW5nc1NpemVJbmZvKGUpe3JldHVybiBwLl9jaGVja0xheW91dElkKGUpPyh0aGlzLl9jbGVhblN0YXRlSWZMYXlvdXRJZENoYW5nZWQoZSksdGhpcy5fZW5xdWV1ZVNpemVzUmVxdWVzdCgidXNlciIsYHVzZXIuJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3JlcXVlc3RzQ291bnRlcisrLGk9YXdhaXQoMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShgQ2hhcnRTdG9yYWdlLkdldEdsb2JhbFNpemVzLkdldHRpbmdUb2tlbi4ke3R9YCwoKCk9PigwLGMuZ2V0U3RvcmFnZVRhcmdldCkoZSwiIiwyKSkpLHM9bmV3IFVSTCgidXNlci9zaXplcyIsaCgpKTtzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxheW91dF9pZCIsZSkscy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJqd3QiLGkudG9rZW4pO3RyeXtjb25zdFtlXT1hd2FpdCB0aGlzLl9mZXRjaERhdGEoYENoYXJ0U3RvcmFnZS5HZXRHbG9iYWxTaXplcy5HZXR0aW5nUmVzcG9uc2UuJHt0fWAscyx7Y3JlZGVudGlhbHM6ImluY2x1ZGUifSk7cmV0dXJuIG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fc3VjY2VzcyIpLGQoZXx8e30pfWNhdGNoKGUpe3Rocm93IG8udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJnbG9iYWxfbGluZV90b29sc19zaXplX2luZm9fZXJyb3IiKSxlfX0pKSk6e2NoYXJ0czpuZXcgTWFwLGNvdW50U291cmNlc1RvdGFsOjAsbGltaXRCeXRlc1RvdGFsOjAsc2l6ZUJ5dGVzVG90YWw6MH19YXN5bmMgX2ZldGNoRGF0YShlLHQsaSl7Y29uc3Qgcz1hd2FpdCB0aGlzLl9mZXRjaChlLHQsaSk7aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBzdGF0dXMgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm5bYXdhaXQgXyhzKSxzLmhlYWRlcnMuZ2V0KCJYLVJlcXVlc3QtSWQiKV19X2ZldGNoKGUsdCxpKXtyZXR1cm4oMCxyLnBlcmZNZWFzdXJlT3BlcmF0aW9uKShlLCgoKT0+KDAscy5mZXRjaCkodC50b1N0cmluZygpLGkpKSl9X2VucXVldWVTaXplc1JlcXVlc3QoZSx0LGkpe2NvbnN0IHM9dGhpcy5fYWN0aXZlU2l6ZXNSZXF1ZXN0cy5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBuPXRoaXMuX2xhc3RTaXplc1JlcXVlc3RzLmdldChlKSxyPShhc3luYygpPT57dHJ5e2F3YWl0IG59Y2F0Y2goZSl7fXJldHVybiBpKCl9KSgpO3RoaXMuX2xhc3RTaXplc1JlcXVlc3RzLnNldChlLHIpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuc2V0KHQscik7Y29uc3Qgbz0oKT0+ewp0aGlzLl9hY3RpdmVTaXplc1JlcXVlc3RzLmdldCh0KT09PXImJnRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuZGVsZXRlKHQpfTtyZXR1cm4gci50aGVuKG8sbykscn1fY2xlYW5TdGF0ZUlmTGF5b3V0SWRDaGFuZ2VkKGUpe3RoaXMuX2xheW91dElkIT09ZSYmKHRoaXMuX2xheW91dElkPWUsdGhpcy5fbGFzdFNhdmVSZXF1ZXN0PW51bGwsdGhpcy5fbGFzdFNoYXJlZFRvb2xzTG9hZGluZ1JlcXVlc3Q9bnVsbCx0aGlzLl9sYXN0U2l6ZXNSZXF1ZXN0cy5jbGVhcigpLHRoaXMuX2FjdGl2ZVNpemVzUmVxdWVzdHMuY2xlYXIoKSl9c3RhdGljIF9jaGVja0xheW91dElkKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmxlbmd0aD4wfX1hc3luYyBmdW5jdGlvbiBfKGUpe2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJCb2R5IGlzIG51bGwiKTtpZighdC5zdWNjZXNzKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IHN1Y2Nlc3MiKTtyZXR1cm4gdC5wYXlsb2FkfWxldCBtPW51bGw7YXN5bmMgZnVuY3Rpb24gZygpe3JldHVybiBudWxsPT09bSYmKG09bmV3IHApLG19fSw2ODkwMjEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9e307cmV0dXJuIGUuc291cmNlcyYmKHQuc291cmNlcz17fSxlLnNvdXJjZXMuZm9yRWFjaCgoKGUsaSk9Pnt0LnNvdXJjZXNbaV09ZX0pKSksdC5kcmF3aW5nX2dyb3Vwcz17fSxlLmdyb3Vwcy5mb3JFYWNoKCgoZSxpKT0+e3QuZHJhd2luZ19ncm91cHNbaV09ZX0pKSx0LmNsaWVudElkPWUuY2xpZW50SWQsSlNPTi5zdHJpbmdpZnkodCl9ZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9e3NvdXJjZXM6bnVsbCxncm91cHM6bmV3IE1hcH07aWYobnVsbCE9PWUuc291cmNlcyl7aS5zb3VyY2VzPW5ldyBNYXA7Zm9yKGNvbnN0IHQgaW4gZS5zb3VyY2VzfHx7fSl7Y29uc3Qgcz1lLnNvdXJjZXNbdF07aS5zb3VyY2VzLnNldCh0LHMpfX1mb3IoY29uc3QgdCBpbiBlLmRyYXdpbmdfZ3JvdXBzfHx7fSl7Y29uc3Qgcz1lLmRyYXdpbmdfZ3JvdXBzW3RdO2kuZ3JvdXBzLnNldCh0LHMpfXJldHVybiBudWxsIT09dCYmKGkuc2VydmVyUmVxdWVzdElkPXQpLGkuY2xpZW50SWQ9ZS5jbGllbnRJZCxpLnN5bWJvbD1lLnN5bWJvbCxpfWkuZCh0LHtwYXJzZUxpbmVUb29sc0FuZEdyb3Vwc0RUTzooKT0+bixzdHJpbmdpZnlMaW5lVG9vbHNBbmRHcm91cHNEVE86KCk9PnN9KX0sMTAyNjU2KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse1NhdmluZ0xpbmVUb29sc0Vycm9yOigpPT5zfSk7Y2xhc3MgcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIodCksdGhpcy5zaG91bGRCZUNvb2xlZD1lfX1FcnJvcn0sMzM5NTEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Z2V0U3RvcmFnZVRhcmdldDooKT0+bCxnbG9iYWxseVNoYXJlZENoYXJ0SWQ6KCk9PmEsc2hhcmVkQ2hhcnRJZDooKT0+b30pO3ZhciBzPWkoMzg0MDE3KSxuPWkoMTU2ODUwKSxyPWkoMjE0OTg3KTtjb25zdCBvPSJfc2hhcmVkIixhPSJVc2VyU3luYyI7YXN5bmMgZnVuY3Rpb24gbChlLHQsaSxhKXt0cnl7Y29uc3QgbD1uZXcgVVJMKCIvY2hhcnQtdG9rZW4vIixsb2NhdGlvbi5ocmVmKTtsLnNlYXJjaFBhcmFtcy5hcHBlbmQoImltYWdlX3VybCIsZSksbC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1c2VyX2lkIixTdHJpbmcod2luZG93LnVzZXIuaWR8fC0xKSk7Y29uc3QgYz1hd2FpdCgwLHMuZmV0Y2gpKGwudG9TdHJpbmcoKSx7c2lnbmFsOmF9KTtpZighYy5vayl0aHJvdyBuZXcgRXJyb3IoYEh0dHAgcmVzcG9uc2UgaXMgbm90IG9rOiAke2Muc3RhdHVzfX1gKTtjb25zdCBoPWF3YWl0IGMuanNvbigpO2lmKG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3Rfc3VjY2VzcyIpLGE/LmFib3J0ZWQpdGhyb3coMCxyLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgZD0yPT09aT92b2lkIDA6MT09PWk/bzp0O3JldHVybnt0b2tlbjpoLnRva2VuLGNoYXJ0SWQ6ZCxwYXRoOjI9PT1pPyJ1c2VyL3NvdXJjZXMiOmBsYXlvdXQvJHtlfS9zb3VyY2VzYH19Y2F0Y2goZSl7dGhyb3coMCxyLmlzQWJvcnRFcnJvcikoZSl8fG4udGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3Rva2VuX3JlcXVlc3RfZXJyb3IiKSxlfX19LDMwNzYxMChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtMaW5lVG9vbHNTeW5jaHJvbml6ZXI6KCk9PlIsbGluZVRvb2xEVE86KCk9Pkl9KTt2YXIgcz1pKDU0Nzg1MSksbj1pKDQ3NjY0KSxyPWkoMTM4NjM4KSxvPWkoMjIxMDYxKSxhPWkoMTc5NzcxKSxsPWkoMzIyNjAxKSxjPWkoMzY4MTEwKSxoPWkoMTAyNjU2KSxkPWkoMzE4OTc0KSx1PWkoODUyMTQ4KSxwPWkoNjAxODQxKSxfPWkoNzY4NzYwKTtjb25zdCBtPSgwLG8uZ2V0TG9nZ2VyKSgiQ2hhcnQuTGlua0tleVJlc29sdmVyIik7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5fcGVuZGluZ1JlcXVlc3RzPW5ldyBNYXAsdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkPSgwLHMuZGVmYXVsdCkoKCgpPT50aGlzLl9zdGFydE5leHRSZXF1ZXN0KCkpLDUwMCksdGhpcy5fbGF5b3V0SWQ9ZSx0aGlzLl9jaGFydElkPXQsdGhpcy5fb3duZXJTb3VyY2VJZD1pfXJlc29sdmVMaW5rS2V5KGUsdCxpKXtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLHRdKX0oZSxpKSxuPXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5nZXQocyk/P25ldyBNYXA7aWYobi5oYXModCkpcmV0dXJuIG4uZ2V0KHQpLnByb21pc2U7Y29uc3Qgcj0oMCxfLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gbi5zZXQodCxyKSx0aGlzLl9wZW5kaW5nUmVxdWVzdHMuc2V0KHMsbiksdGhpcy5fc3RhcnRSZXF1ZXN0aW5nRGVib3VuY2VkKCksci5wcm9taXNlfWFzeW5jIF9zdGFydE5leHRSZXF1ZXN0KCl7aWYoMD09PXRoaXMuX3BlbmRpbmdSZXF1ZXN0cy5zaXplKXJldHVybjtjb25zdCBlPWF3YWl0KDAsCnUuZ2V0Q2hhcnRTdG9yYWdlKSgpLHQ9dGhpcy5fcGVuZGluZ1JlcXVlc3RzLmVudHJpZXMoKS5uZXh0KCkudmFsdWUse3N5bWJvbDppLGJyb2tlck5hbWU6c309ZnVuY3Rpb24oZSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybntzeW1ib2w6dFswXSxicm9rZXJOYW1lOnRbMV19fSh0WzBdKSxuPXRbMV0scj17cmVxdWVzdFR5cGU6Im1haW5TZXJpZXNMaW5lVG9vbHMiLHNlcmllc1NvdXJjZUlkOnRoaXMuX293bmVyU291cmNlSWQsc3ltYm9sOmksYnJva2VyTmFtZTpzLHNoYXJpbmdNb2RlOjB9O3RyeXtjb25zdCB0PWF3YWl0IGUubG9hZExpbmVUb29sc0FuZEdyb3Vwcyh0aGlzLl9sYXlvdXRJZCx0aGlzLl9jaGFydElkLHIsaSk7bnVsbCE9PXQmJm51bGwhPT10LnNvdXJjZXMmJih0LnNvdXJjZXMuZm9yRWFjaCgoKGUsdCk9PntpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgaT1lLnN0YXRlLmxpbmtLZXk7aWYoIWkpcmV0dXJuO2NvbnN0IHM9bi5nZXQoaSk7cz8ucmVzb2x2ZShlLmlkKSxuLmRlbGV0ZShpKX0pKSx0LnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke3Quc2VydmVyUmVxdWVzdElkfWApKX1jYXRjaChlKXttLmxvZ0Vycm9yKGBFcnJvciByZXF1ZXN0aW5nIGxpbmUgdG9vbHM6ICR7ZX1gKX1uLmZvckVhY2goKGU9PntlLnJlc29sdmUobnVsbCl9KSksdGhpcy5fcGVuZGluZ1JlcXVlc3RzLmRlbGV0ZSh0WzBdKSxhd2FpdCB0aGlzLl9zdGFydE5leHRSZXF1ZXN0KCl9fXZhciBmPWkoNDY3NTM5KSxTPWkoMjU0ODM1KSx2PWkoNjkyNjQpLHk9aSgyMTQ5ODcpLGI9aSg4NjA0NDIpLHc9aSg2MDU4NzcpLEM9aSgzMDUyNzcpO2NvbnN0IFA9WzAsMSwyXSxUPSgwLG8uZ2V0TG9nZ2VyKSgiTGluZVRvb2xzU3luY2hyb25pemVyIik7ZnVuY3Rpb24geChlKXtyZXR1cm57bGluZXM6ZS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzRm9yQWxsU3ltYm9scygpLm1hcCgoZT0+KHtpZDplLmlkKCksek9yZGVyOmUuem9yZGVyKCl9KSkpfX1mdW5jdGlvbiBNKGUpe3JldHVybntpZDplLmlkLHRvb2xzOmUubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX19ZnVuY3Rpb24gSShlLHQpe2NvbnN0IGk9dC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKSxzPXtpZDplLmlkKCksb3duZXJTb3VyY2U6KDAsci5lbnN1cmVOb3ROdWxsKShlLm93bmVyU291cmNlKCkpLmlkKCksc3RhdGU6ZS5zdGF0ZSghMSl9O3JldHVybiBlLmJvdW5kVG9TeW1ib2woKSYmKHMuc3ltYm9sPWUuc3ltYm9sKCkpLHMuc2VydmVyVXBkYXRlVGltZT1lLnNlcnZlclVwZGF0ZVRpbWUoKT8/dm9pZCAwLHMuY3VycmVuY3lJZD1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCkscy51bml0SWQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCksbnVsbCE9PWkmJihzLmdyb3VwSWQ9aS5pZCksc31mdW5jdGlvbiBMKGUsdCl7cmV0dXJue2lkOmUuaWQsbmFtZTplLm5hbWUoKS52YWx1ZSgpLHN5bWJvbDplLnN5bWJvbCgpLGN1cnJlbmN5SWQ6ZS5jdXJyZW5jeUlkKCksdW5pdElkOmUudW5pdElkKCl9fWZ1bmN0aW9uIEEoZSx0LGkpe2xldCBzPSExO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBTZXQoaT8ua2V5cygpKTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxvKT0+e2NvbnN0IGE9IWl8fGkuaGFzKG8pO2UudGltZXN0YW1wPnR8fCFhPyhuLnNldChvLGUpLHIuZGVsZXRlKG8pKTpzfHw9ISFlLnNhdmVkVG9DaGFydENvbnRlbnR9KSkse3N0aWxsSW52YWxpZGF0ZWQ6bix2YWxpZGF0ZWQ6QXJyYXkuZnJvbShyKSxjb250YWluUmVzYXZlZEZyb21Db250ZW50OnN9fXZhciBrO2Z1bmN0aW9uIEQoZSl7cmV0dXJuKDAsYy5pc0xpbmVUb29sKShlKXx8KDAsUy5pc1N0dWR5TGluZVRvb2xTdHViKShlKX0hZnVuY3Rpb24oZSl7ZVtlLkF1dG9zYXZlRGVib3VuY2U9NTAwXT0iQXV0b3NhdmVEZWJvdW5jZSIsZVtlLkJhbkNvb2xpbmdUaW1lb3V0PTNlNV09IkJhbkNvb2xpbmdUaW1lb3V0In0oa3x8KGs9e30pKTtjb25zdCBFPS8oXHcrKVwvKFx3KylcLyhcdyspLztjbGFzcyBSe2NvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicz1uZXcgTWFwLHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcz1uZXcgU2V0LHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzPW5ldyBNYXAsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlPW5ldyBNYXAsdGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg9MCx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fZGVib3VuY2VkU2F2ZT0oMCxzLmRlZmF1bHQpKCgoKT0+dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZCghMSkpLDUwMCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sPW5ldyBNYXAsdGhpcy5fbGlua0tleVJlc29sdmVyPW51bGwsdGhpcy5fYnJva2VyTmFtZT0iIix0aGlzLl9sYXN0QmFuVGltZT1udWxsLHRoaXMuX2ludmFsaWRhdGVWaWFTeW5jPTAsdGhpcy5fc2F2aW5nQWJvcnRDb250cm9sbGVyc0J5U2hhcmluZ01vZGU9bmV3IE1hcCx0aGlzLl90cnlUb1NhdmVDaGFydFN0YXRlTWlncmF0aW9uc09uY2U9ITAsdGhpcy5fcGVuZGluZ0xvYWRSZXF1ZXN0c0NvdW50ZXI9MCx0aGlzLl9wZW5kaW5nU2F2ZVJlcXVlc3RzQ291bnRlcj0wLHRoaXMuX21haW5TZXJpZXNEcmF3aW5nc1JlYWR5PVsiIixQcm9taXNlLnJlc29sdmUoKV0sdGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25DaGFuZ2VBdXRvc2F2ZT1lPT57ZSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpfSx0aGlzLl9vcmlnaW49ZSx0aGlzLl9jaGFydE1vZGVsPXQsdGhpcy5fb3B0aW9ucz1pLHRoaXMuX2hhc0NoYW5nZXM9biwKdGhpcy5fYXNzaWduQWxsTGluZVRvb2xzKHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKSksdGhpcy5fY2hhcnRNb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1BhbmVzQ29sbGVjdGlvbkNoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzRGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLm9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3Byb2Nlc3NMaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkLmJpbmQodGhpcykpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQuYmluZCh0aGlzKSksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc1Byb3BlcnRpZXNDaGFuZ2VkLmJpbmQodGhpcykpLHRoaXMuX2xpbmtLZXlSZXNvbHZlcj1uZXcgZyhlLmxheW91dElkLGUuY2hhcnRJZCx0Lm1haW5TZXJpZXMoKS5pZCgpKSx0aGlzLl9icm9rZXJJZFNlc3Npb249bmV3IHYuRmVhdHVyZVRvZ2dsZVdhdGNoZWRWYWx1ZSgiYnJva2VyX2lkX3Nlc3Npb24iLCExKSx0aGlzLl9hdXRvZml4Wk9yZGVyPW5ldyB2LkZlYXR1cmVUb2dnbGVXYXRjaGVkVmFsdWUoImF1dG9maXhfbGluZV90b29sc196b3JkZXIiLCExKTtjb25zdCByPXRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMiwhMSksbz10aGlzLl9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKDEsITEpO3RoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woMCwhMSxbcixvXSksdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKDAsITEpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0aGlzLnJlbG9hZEFsbExpbmVUb29scygpfSkpfWRlc3Ryb3koKXt0aGlzLl9kZWJvdW5jZWRTYXZlLmNhbmNlbCgpLCgwLGQub25XaWRnZXQpKCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Jyb2tlcklkU2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuc291cmNlWk9yZGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uYXV0b1NhdmVFbmFibGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvc2F2ZSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT8uY2hhcnRTYXZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Rlc3Ryb3llZD0hMH1yZWxvYWRBbGxMaW5lVG9vbHMoKXt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuY2xlYXIoKSxQLmZvckVhY2goKGU9PnswPT09ZSYmdGhpcy5fbG9hZEFuZE1lcmdlTGluZVRvb2xzT25TdHVkaWVzKGUsITApLHRoaXMuX2xvYWRBbmRNZXJnZUxpbmVUb29sc1dpdGhvdXRTeW1ib2woZSwhMCl9KSk7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7ZSYmdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2hhc0NoYW5nZXN9aGFzVW5zYXZlZE1pZ3JhdGlvbnNGcm9tQ2hhcnRTdGF0ZSgpe3JldHVybiBOKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fE4odGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl9c2V0U2F2ZUNoYXJ0U2VydmljZShlKXt0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiYodGhpcy5fc2F2ZUNoYXJ0U2VydmljZS5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9zYXZlKSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlLmNoYXJ0U2F2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSksdGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlQXV0b3NhdmUpLHRoaXMuX3NhdmVDaGFydFNlcnZpY2UuY2hhcnRTYXZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT0hMSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX0pLCEwKX1wcmVwYXJlRFRPKGU9ITEpe2NvbnN0IHQ9bmV3IE1hcDtyZXR1cm4gUC5mb3JFYWNoKChpPT57dC5zZXQoaSx0aGlzLl9wcmVwYXJlRFRPSXRlbShlLGkpKX0pKSx0fWdldERUTyhlPTAsdD0hMSxpPSExKXtyZXR1cm4gaSYmdGhpcy5pbnZhbGlkYXRlQWxsKCksdGhpcy5fcHJlcGFyZURUT0l0ZW0odCxlLGkpfWFzeW5jIGFwcGx5RFRPKGUsdD0wKXt0aGlzLnJlc2V0SW52YWxpZGF0ZWQoRGF0ZS5ub3coKS52YWx1ZU9mKCksZSx0KSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQpfQptYXJrQXNWYWxpZGF0ZWRCZWNhdXNlT2ZTYXZpbmdUb0NvbnRlbnQoKXtWKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyksVih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzKSx0aGlzLl9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKX1yZXNldEludmFsaWRhdGVkKGUsdCxpLHMpe2NvbnN0IG49KGUsdCxzLG4pPT57aWYoIXMuaGFzKG4pfHxzLmdldChuKSlzLmhhcyhuKSYmdChuLGkpO2Vsc2V7Y29uc3Qgcz1lLmdldChuKTtzJiYocz09PWk/dChuLG51bGwpOjA9PT1pJiZ0KG4scykpfX07aWYobnVsbD09PXQuc291cmNlcylyZXR1cm47Y29uc3R7Z3JvdXBzOnIsc291cmNlczpvLGxpbmVUb29sc1RvVmFsaWRhdGU6bCxncm91cHNUb1ZhbGlkYXRlOmN9PXQsaD1BKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyxlLG5ldyBTZXQobD8/by5rZXlzKCkpKTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnM9aC5zdGlsbEludmFsaWRhdGVkLGgudmFsaWRhdGVkLmZvckVhY2gobi5iaW5kKHRoaXMsdGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLHRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZS5iaW5kKHRoaXMpLG8pKTtjb25zdCBkPUEodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3VwcyxlLG5ldyBTZXQoYz8/ci5rZXlzKCkpKTtpZihoLnZhbGlkYXRlZC5mb3JFYWNoKG4uYmluZCh0aGlzLHRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuYmluZCh0aGlzKSxyKSksdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcz1kLnN0aWxsSW52YWxpZGF0ZWQsQXJyYXkuZnJvbShvLmtleXMoKSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSk7dCYmKHZvaWQgMCE9PXM/dC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHMpOm51bGw9PT10LnNlcnZlclVwZGF0ZVRpbWUoKSYmdC5zZXRTZXJ2ZXJVcGRhdGVUaW1lKChuZXcgRGF0ZSkudmFsdWVPZigpKSl9KSksMD09PWkpZm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbSh0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpKW51bGw9PT1vLmdldChlKSYmdGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLmRlbGV0ZShlKTsoaC5jb250YWluUmVzYXZlZEZyb21Db250ZW50fHxkLmNvbnRhaW5SZXNhdmVkRnJvbUNvbnRlbnQpJiZhLmVtaXQoImxpbmVUb29sc1Jlc2F2ZWRGcm9tQ29udGVudCIpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfWFzeW5jIGFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oZSx0KXtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9RS5leGVjKGUpO3JldHVybiA0PT09dD8ubGVuZ3RoP3tsYXlvdXRJZDp0WzFdLGNoYXJ0SWQ6dFsyXSxjbGllbnRJZDp0WzNdfTp7bGF5b3V0SWQ6IiIsY2hhcnRJZDoiIixjbGllbnRJZDplfX0oZS5jbGllbnRJZD8/IiIpO2lmKGkuY2xpZW50SWQhPT10aGlzLl9vcmlnaW4uY2xpZW50SWR8fGkuY2hhcnRJZCE9PXRoaXMuX29yaWdpbi5jaGFydElkKXJldHVybiB2b2lkIDA9PT1lLnN5bWJvbHx8bnVsbCE9PWUuc291cmNlcz90aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhlLHQsaSk6dm9pZCB0aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoaT0+aS5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10JiZpLnN5bWJvbCgpPT09ZS5zeW1ib2wpKTtpLmxlbmd0aD4wJiZ0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLnJlbW92ZVNvdXJjZXMoaSwhMCxudWxsKX0pKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aC0tLHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPDAmJihULmxvZ0Vycm9yKCJMb2dpYyBlcnJvciwgc3RhcnRBcHBseWluZ0xpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uL2VuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24gbWlzbWF0Y2gsIGF1dG9maXhpbmciKSx0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aD0wKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO2kmJigwLGMuaXNMaW5lVG9vbCkoaSkmJmkuc2V0QWxlcnQodCl9KSl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUpe3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoMCxjLmlzTGluZVRvb2wpKHQpJiZ0LnJlbW92ZUFsZXJ0KCl9KSl9YXN5bmMgbWFya1N5bmNlZExpbmVUb29sQXNEZWxldGVkKGUsdCl7aWYodGhpcy5fbGlua0tleVJlc29sdmVyKXtjb25zdCBpPWF3YWl0IHRoaXMuX2xpbmtLZXlSZXNvbHZlci5yZXNvbHZlTGlua0tleSh0LGUsdGhpcy5fYnJva2VyTmFtZSk7aWYodGhpcy5fZGVzdHJveWVkKXJldHVybiBudWxsO2lmKG51bGwhPT1pKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkoZSk7bnVsbD09PXQ/dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoaSxwZXJmb3JtYW5jZS5ub3coKSk6dGhpcy5fd2l0aG91dEludmFsaWRhdGluZygoKCk9Pntjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpKSxpPXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUuaWQoKSl8fG5ldyBNYXA7dC5kZXRhY2hBbGVydCgpLAp0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KSxpLmRlbGV0ZSh0LmlkKCkpfSkpLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1yZXR1cm4gaX1yZXR1cm4gbnVsbH1pbnZhbGlkYXRlQWxsKGU9ITEpe2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKCgoZSxpKT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGksdCl9KSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzRm9yQWxsU3ltYm9scygpLmZvckVhY2goKGU9Pnt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cChlLmlkLHQpfSkpLGUmJnRoaXMubWFya0FzVmFsaWRhdGVkQmVjYXVzZU9mU2F2aW5nVG9Db250ZW50KCl9ZXhlY3V0ZVN5bmNocm9uaXphdGlvbkluTGF5b3V0QWN0aW9uKGUpe3RoaXMuX2ludmFsaWRhdGVWaWFTeW5jKz0xO3RyeXtlKCl9ZmluYWxseXt0aGlzLl9pbnZhbGlkYXRlVmlhU3luYy09MX19aW52YWxpZGF0ZVZpYVN5bmMoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZVZpYVN5bmM+MH1mbHVzaFBlbmRpbmdTYXZpbmdzKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuc2l6ZXx8dGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNpemV8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplP3RoaXMuX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoITEsITApOm51bGx9aGFzUGVuZGluZ0xvYWRSZXF1ZXN0cygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgUCl7Y29uc3QgaT10aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZ2V0KHQpPz8iIjtpZighZS5zeW1ib2xTYW1lQXNDdXJyZW50KGkpKXJldHVybiEwfXJldHVybiB0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcj4wfWhhc1BlbmRpbmdTYXZlUmVxdWVzdHMoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ1NhdmVSZXF1ZXN0c0NvdW50ZXI+MHx8dGhpcy5oYXNDaGFuZ2VzKCkudmFsdWUoKSYmdGhpcy5faXNBdXRvc2F2ZUVuYWJsZWQoKX1hc3luYyBtYWluU2VyaWVzRHJhd2luZ3NSZWFkeShlKXtsZXRbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeTtpZih0PT09ZSlyZXR1cm4gaTtjb25zdCBzPSgwLF8uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9uZXh0UmVzb2x2ZWRTeW1ib2xEZWZlcnJlZFByb21pc2VzLnB1c2goW2Usc10pLGF3YWl0IHMucHJvbWlzZSxbdCxpXT10aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeSwoMCxyLmFzc2VydCkodD09PWUsIlVuZXhwZWN0ZWQgc3ltYm9sIHByb19uYW1lIiksaX1fYXNzaWduQWxsTGluZVRvb2xzKGUpe2UuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxpPW5ldyBNYXAodCk7dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZS5pZCgpLGkpfSkpfV9wcm9jZXNzUHJvcGVydGllc0NoYW5nZWQoZSx0KXtEKHQpJiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1Yih0LmlkKCkscGVyZm9ybWFuY2Uubm93KCkpfV9wcm9jZXNzTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQoZSx0KXtjb25zdCBpPXBlcmZvcm1hbmNlLm5vdygpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUsaSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGUpO2xldCBuPXM/LmxpbmVUb29scygpLmxlbmd0aD9zLnNoYXJpbmdNb2RlKCkudmFsdWUoKTp2b2lkIDA7dCYmKCh0LmFmZmVjdGVkTGluZVRvb2xzfHxbXSkuZm9yRWFjaCgoZT0+dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxpKSkpLHQuYWZmZWN0ZWRMaW5lVG9vbHM/Lmxlbmd0aD4wJiZ2b2lkIDA9PT1uJiYobj10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KHQuYWZmZWN0ZWRMaW5lVG9vbHNbMF0pKSksdGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLmhhcyhlKXx8dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsbj8/MCl9X3Byb2Nlc3NQYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKGUpe2NvbnN0IHQ9ZS5tYXAoKGU9PmUuaWQoKSkpLGk9bmV3IFNldCh0KSxzPXBlcmZvcm1hbmNlLm5vdygpO0FycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5rZXlzKCkpLmZpbHRlcigoZT0+IWkuaGFzKGUpKSkuZm9yRWFjaCgoZT0+e0FycmF5LmZyb20oKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChlKSkua2V5cygpKS5mb3JFYWNoKChlPT57dGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZSxzKX0pKX0pKSxlLmZpbHRlcigoZT0+IXRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuaGFzKGUuaWQoKSkpKS5mb3JFYWNoKChlPT57ZS5kYXRhU291cmNlcygpLmZpbHRlcihEKS5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscykpKX0pKSx0aGlzLl9hc3NpZ25BbGxMaW5lVG9vbHMoZSl9X3Byb2Nlc3NEYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoZSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKEQpLGk9dC5tYXAoKGU9PltlLmlkKCksZS5saW5rS2V5KCkudmFsdWUoKV0pKSxzPW5ldyBNYXAoaSk7bGV0IG47Y29uc3Qgbz1wZXJmb3JtYW5jZS5ub3coKTtpZih0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmhhcyhlLmlkKCkpKXtjb25zdCBpPSgwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoZS5pZCgpKSk7bj10LmZpbHRlcigoZT0+IWkuaGFzKGUuaWQoKSkpKSwKbi5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKSxBcnJheS5mcm9tKGkuZW50cmllcygpKS5maWx0ZXIoKGU9PiFzLmhhcyhlWzBdKSkpLmZvckVhY2goKGU9PntudWxsIT09ZVsxXSYmdGhpcy5fZGVib3VuY2VkU2F2ZSgpLHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGVbMF0sbyl9KSl9ZWxzZSBuPXQsdC5mb3JFYWNoKChlPT50aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCksbykpKTtuLmZvckVhY2goKGU9PntpZigoMCxjLmlzTGluZVRvb2wpKGUpKXt0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZS5pZCgpLGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woZSk7dCYmdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKHQuaWQsZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCkpfX0pKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChlLmlkKCkscyl9X3VubG9hZExpbmVUb29scyhlLHQsaSl7Y29uc3Qgcz1lLmZpbHRlcigoZT0+IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5oYXMoZSkpKS5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSkuZmlsdGVyKGMuaXNMaW5lVG9vbCkuZmlsdGVyKHAubm90TnVsbCkuZmlsdGVyKChlPT5lLnNoYXJpbmdNb2RlKCkudmFsdWUoKT09PWkpKS5maWx0ZXIodCkuZmlsdGVyKChlPT57Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvckxpbmVUb29sKGUpO3JldHVybiBudWxsPT09dHx8IXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuaGFzKHQuaWQpfSkpO3RoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5mb3JFYWNoKChlPT57ZS5oYXNBbGVydCgpLnZhbHVlKCkmJmUuZGV0YWNoQWxlcnQoKTtjb25zdCB0PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKTsodGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQodC5pZCgpKT8/bmV3IE1hcCkuZGVsZXRlKGUuaWQoKSl9KSksdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKHMpfSkpfSkpfV91bmxvYWRMaW5lc09uU2VyaWVzKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpO2lmKCFpPy5zaXplKXJldHVybjtjb25zdCBuPUFycmF5LmZyb20oaS5rZXlzKCkpLmZpbHRlcigodD0+IWUodCkpKTt0aGlzLl91bmxvYWRMaW5lVG9vbHMobiwoZT0+ZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PXMpLHQpfV9pc0F1dG9zYXZlRW5hYmxlZCgpe3JldHVybiBCb29sZWFuKHRoaXMuX3NhdmVDaGFydFNlcnZpY2UmJnRoaXMuX3NhdmVDaGFydFNlcnZpY2UuYXV0b1NhdmVFbmFibGVkKCkudmFsdWUoKSl9YXN5bmMgX3NhdmVJbnZhbGlkYXRlZElmUmVxdWlyZWQoZSx0KXtpZihudWxsIT09dGhpcy5fbGFzdEJhblRpbWUpe2lmKCEocGVyZm9ybWFuY2Uubm93KCktdGhpcy5fbGFzdEJhblRpbWU+PTNlNSkpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3RoaXMuX2xhc3RCYW5UaW1lPW51bGx9aWYoIXRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCkmJiF0fHx0aGlzLl9vcHRpb25zLnJlYWRPbmx5TW9kZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkfHwiIj09PXRoaXMuX29yaWdpbi5sYXlvdXRJZClyZXR1cm47Y29uc3QgaT10aGlzLnByZXBhcmVEVE8oZSkscz1QLm1hcCgoZT0+e2NvbnN0IHQ9aS5nZXQoZSk7aWYoIXR8fG51bGw9PT10LnNvdXJjZXMpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmxpbmVUb29sc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5zb3VyY2VzLmtleXMoKSksbj10Lmdyb3Vwc1RvVmFsaWRhdGU/P0FycmF5LmZyb20odC5ncm91cHMua2V5cygpKTtpZigwPT09cy5sZW5ndGgmJjA9PT1uLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBvPXBlcmZvcm1hbmNlLm5vdygpO2lmKHQuc291cmNlcy5zaXplfHx0Lmdyb3Vwcy5zaXplKXtjb25zdCBpPXRoaXMuX3NhdmluZ0Fib3J0Q29udHJvbGxlcnNCeVNoYXJpbmdNb2RlLmdldChlKTtpJiZpLmFib3J0KCk7Y29uc3Qgcz1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiB0aGlzLl9zYXZpbmdBYm9ydENvbnRyb2xsZXJzQnlTaGFyaW5nTW9kZS5zZXQoZSxzKSx0LnNvdXJjZXMuZm9yRWFjaCgoKHQsaSk9Pnt0JiZ0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoaSxlKX0pKSx0Lmdyb3Vwcy5mb3JFYWNoKCgodCxpKT0+e3QmJnRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZShpLGUpfSkpLHRoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyKz0xLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2F2ZUNoYXJ0U2VydmljZSkuc2F2ZUNoYXJ0TGluZVRvb2xzKHRoaXMuX29yaWdpbi5jaGFydElkLHQsZSxzLnNpZ25hbCkudGhlbigoKHtzZXJ2ZXJVcGRhdGVUaW1lOml9KT0+e3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlLGkpfSkpLmNhdGNoKChhc3luYyB0PT57aWYoIXRoaXMuX2Rlc3Ryb3llZCl7aWYodCBpbnN0YW5jZW9mIGguU2F2aW5nTGluZVRvb2xzRXJyb3ImJnQuc2hvdWxkQmVDb29sZWQmJih0aGlzLl9sYXN0QmFuVGltZT1wZXJmb3JtYW5jZS5ub3coKSksISgwLHkuaXNBYm9ydEVycm9yKSh0KSl0aHJvdyB0O1QubG9nRGVidWcoYFNhdmUgcmVxdWVzdCBoYXMgYmVlbiBhYm9ydGVkLiBDaGFydElkOiAke3RoaXMuX29yaWdpbi5jaGFydElkfSBzaGFyaW5nTW9kZTogJHtlfWApfX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3BlbmRpbmdTYXZlUmVxdWVzdHNDb3VudGVyLT0xfSkpfQpyZXR1cm4gdGhpcy5yZXNldEludmFsaWRhdGVkKG8sdCxlKSxudWxsfSkpLmZpbHRlcihwLm5vdE51bGwpO3JldHVybiBzLmxlbmd0aD9Qcm9taXNlLmFsbChzKS50aGVuKCgoKT0+e30pKTp2b2lkIDB9YXN5bmMgX3NhdmVQcm9taXNlKGUsdCl7cmV0dXJuIHRoaXMuX2lzQXV0b3NhdmVFbmFibGVkKCk/dGhpcy5fZGVib3VuY2VkU2F2ZT8uZmx1c2goKT8/UHJvbWlzZS5yZXNvbHZlKCk6dGhpcy5fc2F2ZUludmFsaWRhdGVkSWZSZXF1aXJlZChlLHQpfV9zZXJpZXNMaW5lVG9vbHNVbmxvYWRlcihlLHQsaSl7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTsibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlJiZzLnN5bWJvbFNhbWVBc0N1cnJlbnQoZS5zeW1ib2wpJiYodGhpcy5fdW5sb2FkTGluZXNPblNlcmllcyhpLGUuc2hhcmluZ01vZGUsdCksdGhpcy5fY3VycmVudGx5TG9hZGVkU3ltYm9sLnNldChlLnNoYXJpbmdNb2RlLGUuc3ltYm9sKSl9X21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLHQ9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO3JldHVybiBuZXcgTWFwKHRoaXMuX2FsbExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KHQuaWQoKSkpfV9vblN5bWJvbFJlc29sdmVkKGUpe2NvbnN0IHQ9KHQsaSk9Pntjb25zdCBzPXtyZXF1ZXN0VHlwZToibWFpblNlcmllc0xpbmVUb29scyIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzeW1ib2w6ZS5wcm9fbmFtZSxicm9rZXJOYW1lOiIiLHNoYXJpbmdNb2RlOnR9O3JldHVybiB0aGlzLl9tYWtlTG9hZFJlcXVlc3RBbmRNZXJnZShzLHRoaXMuX3Nlcmllc0xpbmVUb29sc1VubG9hZGVyLmJpbmQodGhpcyxzLHRoaXMuX21haW5QYW5lTGluZVRvb2xzQW5kU3R1YnMoKSksZS5wcm9fbmFtZXx8ZS50aWNrZXJ8fGUuZnVsbF9uYW1lLGkpfSxpPXQoMikscz10KDEpLG49W2kscyx0KDAsW2ksc10pXSxyPVByb21pc2UuYWxsKG4pLnRoZW4oKCgpPT57dmFyIGU7aWYoIXRoaXMuX2Rlc3Ryb3llZCYmKHRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlcygpLmZpbHRlcihjLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+MD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpJiZlLmxpbmtLZXkoKS52YWx1ZSgpKSkuZm9yRWFjaCgoZT0+e2lmKGUuc2hhcmUoMSksdGhpcy5fb3B0aW9ucy5taWdyYXRlU3luY2VkTGluZVRvb2xzKXt0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLmlkKCkscGVyZm9ybWFuY2Uubm93KCksITApO2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTt0JiZ0aGlzLl9pbnZhbGlkYXRlTGluZVRvb2xHcm91cCh0LmlkLHBlcmZvcm1hbmNlLm5vdygpLCEwKX19KSl9KSksdGhpcy5fYXV0b2ZpeFpPcmRlci52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cHNGb3JBbGxTeW1ib2xzKCkubGVuZ3RoKSl7Y29uc3QgdD17cGFuZXM6KGU9dGhpcy5fY2hhcnRNb2RlbCkucGFuZXMoKS5tYXAoeCksZ3JvdXBzOmUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3Vwc0ZvckFsbFN5bWJvbHMoKS5tYXAoTSl9LGk9KDAsQy5wcmVwYXJlWk9yZGVyRml4SWZSZXF1aXJlZCkodCk7dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCk7aT8uc2V0Wm9yZGVyKGUpfSkpfSkpfX0pKTt0aGlzLl9tYWluU2VyaWVzRHJhd2luZ3NSZWFkeT1bZS5wcm9fbmFtZSxyXTtmb3IoY29uc3RbdCxpXW9mIHRoaXMuX25leHRSZXNvbHZlZFN5bWJvbERlZmVycmVkUHJvbWlzZXMpdD09PWUucHJvX25hbWU/aS5yZXNvbHZlKCk6aS5yZWplY3QobmV3IEVycm9yKCJTeW1ib2wgbWlzbWF0Y2giKSk7dGhpcy5fbmV4dFJlc29sdmVkU3ltYm9sRGVmZXJyZWRQcm9taXNlcz1bXX1hc3luYyBfbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoZSx0LGkscyl7Y29uc3Qgbj10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxyPXRoaXMuX2N1cnJlbnRseUxvYWRlZFN5bWJvbC5nZXQoZS5zaGFyaW5nTW9kZSk/PyIiO2lmKCEhbi5zeW1ib2xTYW1lQXNDdXJyZW50KHIpKXJldHVybjt0aGlzLl9jdXJyZW50bHlMb2FkZWRTeW1ib2wuZGVsZXRlKGUuc2hhcmluZ01vZGUpO2NvbnN0IG89YXdhaXQoMCx1LmdldENoYXJ0U3RvcmFnZSkoKTtyZXR1cm4gdGhpcy5fZGVzdHJveWVkP3ZvaWQgMDp0aGlzLl9zYXZlUHJvbWlzZSgibWFpblNlcmllc0xpbmVUb29scyI9PT1lLnJlcXVlc3RUeXBlKS5jYXRjaCgoKCk9Pnt9KSkudGhlbigoKCk9PnRoaXMuX2Rlc3Ryb3llZD9udWxsOih0aGlzLl9wZW5kaW5nTG9hZFJlcXVlc3RzQ291bnRlcis9MSxvLmxvYWRMaW5lVG9vbHNBbmRHcm91cHModGhpcy5fb3JpZ2luLmxheW91dElkLHRoaXMuX29yaWdpbi5jaGFydElkLGUsaSkpKSkuY2F0Y2goKCgpPT5udWxsKSkudGhlbigoYXN5bmMgaT0+e2lmKCF0aGlzLl9kZXN0cm95ZWQpe2lmKHMpdHJ5e2lmKGF3YWl0IFByb21pc2UuYWxsKHMpLHRoaXMuX2Rlc3Ryb3llZClyZXR1cm59Y2F0Y2goZSl7fWlmKHRoaXMuX3BlbmRpbmdMb2FkUmVxdWVzdHNDb3VudGVyLT0xLG51bGwhPT1pKXtjb25zdCBzPWkuc291cmNlcztzJiYodCgoZT0+cy5oYXMoZSkpKSxhd2FpdCB0aGlzLl9hcHBseUxpbmVUb29sc0FuZEdyb3Vwc0RUTyhpLGUuc2hhcmluZ01vZGUpKSxpLnNlcnZlclJlcXVlc3RJZCYmY29uc29sZS5sb2coYFBST0NFU1NFRDoke2kuc2VydmVyUmVxdWVzdElkfWApfX19KSl9X3Jlc3RvcmVHcm91cHMoZSx0LGkscyl7Y29uc3Qgbj1uZXcgTWFwO3JldHVybih0Lmdyb3Vwc3x8bmV3IE1hcCkuZm9yRWFjaCgoKHQsbyk9PnsKY29uc3QgYT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKG8pO2lmKG51bGw9PT10KXtpZihhKXtjb25zdCBlPXMmJnMubGF5b3V0SWQ9PT10aGlzLl9vcmlnaW4ubGF5b3V0SWQmJnMuY2hhcnRJZD09PXRoaXMuX29yaWdpbi5jaGFydElkO2EubGluZVRvb2xzKClbMF0uc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09aSYmKGUmJjAhPT1pfHwobmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsYSxhLmxpbmVUb29scygpKS5yZWRvKCksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8sbnVsbCkpKX19ZWxzZXtpZihhJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IGk9KDAsci5lbnN1cmVEZWZpbmVkKSh0LnNlcnZlclVwZGF0ZVRpbWUpO2lmKG51bGwhPT1lJiZlPj1pKXJldHVybjthLnNldE5hbWUodC5uYW1lKX1lbHNlIG4uc2V0KG8sdCk7dGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKG8saSl9fSkpLG59X2NyZWF0ZU5ld0xpbmVUb29sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZS5vd25lclNvdXJjZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZSh0KSkscz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSxuPXRoaXMuX2NoYXJ0TW9kZWwucmVzdG9yZVNvdXJjZSghMSxzLG51bGwsZS5zdGF0ZSxudWxsKTtpZihudWxsIT09bil7Y29uc3QgZT10aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldChpLmlkKCkpfHxuZXcgTWFwO2Uuc2V0KG4uaWQoKSxuLmxpbmtLZXkoKS52YWx1ZSgpKSx0aGlzLl9hbGxMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLnNldChpLmlkKCksZSl9cmV0dXJuIG59X21pZ3JhdGVTdGF0ZUZyb21NZXRhaW5mbyhlKXtjb25zdCB0PXZvaWQgMCE9PWUuc3ltYm9sJiZlLnN5bWJvbCE9PWUuc3RhdGUuc3RhdGUuc3ltYm9sO3QmJihlLnN0YXRlLnN0YXRlLnN5bWJvbD1lLnN5bWJvbCk7Y29uc3QgaT12b2lkIDAhPT1lLmN1cnJlbmN5SWQmJmUuY3VycmVuY3lJZCE9PWUuc3RhdGUuc3RhdGUuY3VycmVuY3lJZDtpJiYoZS5zdGF0ZS5zdGF0ZS5jdXJyZW5jeUlkPWUuY3VycmVuY3lJZCk7Y29uc3Qgcz12b2lkIDAhPT1lLnVuaXRJZCYmZS51bml0SWQhPT1lLnN0YXRlLnN0YXRlLnVuaXRJZDtyZXR1cm4gcyYmKGUuc3RhdGUuc3RhdGUudW5pdElkPWUudW5pdElkKSx0fHxpfHxzfV9yZXN0b3JlTGluZVRvb2woZSx0LGkscyl7aWYoKHQuc3RhdGUucG9pbnRzPz9bXSkuc29tZSgoZT0+ISgwLHAuaXNOdW1iZXIpKGUudGltZV90KSkpKXJldHVybiBudWxsO2xldCBuPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGw9PT1uJiZ0LnN0YXRlLmxpbmtLZXkmJihuPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xCeUxpbmtLZXkodC5zdGF0ZS5saW5rS2V5KSksbnVsbCE9PW4mJiEoMCxjLmlzTGluZVRvb2wpKG4pKXJldHVybiBudWxsO2lmKHRoaXMuX29yaWdpbi5jbGllbnRJZD09PXM/LmNsaWVudElkJiYhbilyZXR1cm4gbnVsbDtpZihuJiZ0LnNlcnZlclVwZGF0ZVRpbWUpe2NvbnN0IHI9dC5zZXJ2ZXJVcGRhdGVUaW1lLG89bi5zZXJ2ZXJVcGRhdGVUaW1lKCk7aWYobnVsbCE9PWUmJmU+PXJ8fG51bGwhPT1vJiZvPj1yKXJldHVybiAwIT09aSYmKG4uc2hhcmUoaSksdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKG4uaWQoKSxpKSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobix0LnN0YXRlLmFsZXJ0SWQpLG51bGw7dGhpcy5fb3JpZ2luLmNsaWVudElkIT09cz8uY2xpZW50SWQmJih0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVMaW5lVG9vbFN0YXRlKG4sdC5zdGF0ZSwhMSksbi5zaGFyaW5nTW9kZSgpLnZhbHVlKCkhPT1pJiYobi5zaGFyZShpKSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUobi5pZCgpLGkpKSxuLmNhbGNJc0FjdHVhbFN5bWJvbCgpKX0wIT09aSYmKHQub3duZXJTb3VyY2U9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSx0LnN0YXRlLm93bmVyU291cmNlPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLmlkKCkpLDA9PT1pJiZ0LnN0YXRlLmxpbmtLZXkmJih0LnN0YXRlLnNoYXJpbmdNb2RlPz89MSk7Y29uc3Qgcj10aGlzLl9taWdyYXRlU3RhdGVGcm9tTWV0YWluZm8odCk7bGV0IG89bnx8dGhpcy5fY3JlYXRlTmV3TGluZVRvb2wodCk7aWYobyYmKHImJnRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQuaWQscGVyZm9ybWFuY2Uubm93KCksITApLHQuc2VydmVyVXBkYXRlVGltZSYmby5zZXRTZXJ2ZXJVcGRhdGVUaW1lKHQuc2VydmVyVXBkYXRlVGltZSksdGhpcy5fcmVzdG9yZUxpbmVUb29sQWxlcnQobyx0LnN0YXRlLmFsZXJ0SWQpLDAhPT1pJiZvLnNoYXJlKGkpLHZvaWQgMD09PXMmJigwLGMuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkobykpKXt0aGlzLl9yZW1vdmVUZXh0TGluZVRvb2xJZkVtcHR5KG8pJiYobz1udWxsKX1yZXR1cm4gb31fcmVzdG9yZUxpbmVUb29sQWxlcnQoZSx0KXt0P2UucmVzdG9yZUFsZXJ0KCt0KS5jYXRjaCgoZT0+e1QubG9nRXJyb3IoYEZhaWxlZCB0byByZXN0b3JlIGxpbmVUb29sIGFsZXJ0OiAke0Vycm9yLGV9YCl9KSk6ZS5kZXRhY2hBbGVydCgpfV9yZW1vdmVMaW5lVG9vbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpO251bGwhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZSh0KX1fcmVtb3ZlVGV4dExpbmVUb29sSWZFbXB0eShlKXtyZXR1cm4hKCFlLnJlbW92ZUlmRWRpdGFibGVUZXh0SXNFbXB0eSgpfHwwIT09ZS5lZGl0YWJsZVRleHRQcm9wZXJ0aWVzKCkudGV4dC52YWx1ZSgpLmxlbmd0aCkmJih0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSwKdGhpcy5faW52YWxpZGF0ZUxpbmVUb29sT3JTdHVkeVN0dWIoZS5pZCgpLHBlcmZvcm1hbmNlLm5vdygpLCEwKSwhMCl9X3Jlc3RvcmVMaW5lRFRPKGUsdCxpLHMsbixvKXtpZighdGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbHNBbmRTdHVkeVN0dWJzLmdldCh0KSlpZihudWxsPT09ZSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KTtpZighZSlyZXR1cm47aWYoISgwLGMuaXNMaW5lVG9vbCkoZSkpcmV0dXJuO2lmKGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09biYmdGhpcy5fb3JpZ2luLmNsaWVudElkIT09bz8uY2xpZW50SWQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKTtudWxsIT09aSYmbmV3IGYuRXhjbHVkZUxpbmVUb29sc0Zyb21Hcm91cFVuZG9Db21tYW5kKHRoaXMuX2NoYXJ0TW9kZWwsaSxbZV0pLnJlZG8oKSx0aGlzLl9yZW1vdmVMaW5lVG9vbCh0KSx0aGlzLl9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUodCxudWxsKX19ZWxzZXtpZigwPT09biYmbnVsbCE9ZS5zdGF0ZS5saW5rS2V5KXtpZih0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSlyZXR1cm4gdm9pZCB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMuYWRkKGUuaWQpO3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKGUuaWQscGVyZm9ybWFuY2Uubm93KCksITApfWlmKDA9PT1lLnN0YXRlLnBvaW50cz8ubGVuZ3RoJiZbIkxpbmVUb29sUmlza1Jld2FyZExvbmciLCJMaW5lVG9vbFJpc2tSZXdhcmRTaG9ydCJdLmluY2x1ZGVzKGUuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMuX2ludmFsaWRhdGVMaW5lVG9vbE9yU3R1ZHlTdHViKHQscGVyZm9ybWFuY2Uubm93KCksITApLHZvaWQgdGhpcy5fc2V0T3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlKHQsbik7Y29uc3QgYT10aGlzLl9yZXN0b3JlTGluZVRvb2wocyxlLG4sbyk7aWYoYSlpZihlLmdyb3VwSWQpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChhKSxzPXRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQoZS5ncm91cElkKTtpZihudWxsIT09dCYmcz09PXQpcmV0dXJuO2lmKG51bGwhPT10JiYodC5leGNsdWRlSXRlbShhKSwwPT09dC5saW5lVG9vbHMoKS5sZW5ndGgmJjA9PT10LnN1Ymdyb3VwcygpLmxlbmd0aCYmdGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAodCkpLHMmJiFzLmNvbnRhaW5zSXRlbShhKSlzLmFkZEl0ZW1zKFthXSk7ZWxzZSBpZighcyYmaS5oYXMoZS5ncm91cElkKSl7Y29uc3QgdD0oMCxyLmVuc3VyZURlZmluZWQpKGkuZ2V0KGUuZ3JvdXBJZCkpO3RoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKFthXSx0Lm5hbWUsdC5pZCl9fWVsc2V7dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlTGluZVRvb2xzKFthXSkuZm9yRWFjaCgoZT0+e3RoaXMuX2ludmFsaWRhdGVMaW5lVG9vbEdyb3VwKGUscGVyZm9ybWFuY2Uubm93KCksITApfSkpfXRoaXMuX3NldE9yaWdpbmFsTGluZVRvb2xTaGFyaW5nTW9kZSh0LG4pfX1hc3luYyBfYXBwbHlMaW5lVG9vbHNBbmRHcm91cHNEVE8oZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jaGFydFNhdmVUaW1lKCksbj10aGlzLl93aXRob3V0SW52YWxpZGF0aW5nKCgoKT0+dGhpcy5fcmVzdG9yZUdyb3VwcyhzLGUsdCxpKSkpLHI9YENoYXJ0U3RvcmFnZS5TeW5jaHJvbml6ZXIuQXBwbHlpbmdEVE8uJHtgJHt0aGlzLl9vcmlnaW4ubGF5b3V0SWR9LiR7dGhpcy5fb3JpZ2luLmNoYXJ0SWR9YH1gLG89bmV3IFNldDtpZigoZS5zb3VyY2VzfHxuZXcgTWFwKS5mb3JFYWNoKChlPT57ZSYmby5hZGQoKDAsdy5nZXRMaW5lVG9vbFR5cGVGcm9tU3RhdGUpKGUuc3RhdGUpKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKG8pLm1hcCgoZT0+KDAsYy5pbml0TGluZVRvb2wpKGUpKSkpLCF0aGlzLl9kZXN0cm95ZWQpcmV0dXJuKDAsbC5wZXJmTWVhc3VyZU9wZXJhdGlvbikociwoKCk9PnRoaXMuX3dpdGhvdXRJbnZhbGlkYXRpbmcoKCgpPT57dGhpcy5fY2hhcnRNb2RlbC5idWxrQWN0aW9uTWFjcm8oKCgpPT57KGUuc291cmNlc3x8bmV3IE1hcCkuZm9yRWFjaCgoKGUscik9Pnt0cnl7aWYoZSYmKDAsYi5pc010cFByZWRpY3RvclRvb2xOYW1lKShlLnN0YXRlLnR5cGUpKXJldHVybiB2b2lkIFQubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7ZS5zdGF0ZS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApO3RoaXMuX3Jlc3RvcmVMaW5lRFRPKGUscixuLHMsdCxpKX1jYXRjaCh0KXtULmxvZ0Vycm9yKGBFcnJvciByZXN0b3JpbmcgbGluZSB0b29sICR7cn0gKCR7ZT8uc3RhdGUudHlwZX0pOiAke3R9YCksZT8uc3RhdGUudHlwZSYmIW8uaGFzKGUuc3RhdGUudHlwZSkmJlQubG9nRXJyb3IoYExpbmUgdG9vbCAke2Uuc3RhdGUudHlwZX0gbWF5IG5lZWQgdG8gYmUgaW5pdGlhbGlzZWQgZmlyc3RgKX19KSksKGUuZ3JvdXBzfHxuZXcgTWFwKS5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZGVsZXRlKHQpfSkpLHRoaXMuX3JlY2FsY3VsYXRlSGFzQ2hhbmdlcygpfSkpfSkpKSl9X3dpdGhvdXRJbnZhbGlkYXRpbmcoZSl7dHJ5e3JldHVybiB0aGlzLl9pZ25vcmVJbnZhbGlkYXRpbmdFdmVudHNEZXB0aCsrLGUoKX1maW5hbGx5e3RoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoLS19fV9pbnZhbGlkYXRlTGluZVRvb2xPclN0dWR5U3R1YihlLHQsaSl7aWYodGhpcy5faWdub3JlSW52YWxpZGF0aW5nRXZlbnRzRGVwdGg+MCYmIWkpcmV0dXJuCjtjb25zdHtpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnMsc2F2ZWRUb0NoYXJ0Q29udGVudDpufT10aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZ2V0KGUpfHx7fSxyPSh2b2lkIDA9PT1zfHxzKSYmdGhpcy5pbnZhbGlkYXRlVmlhU3luYygpO3RoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5zZXQoZSx7dGltZXN0YW1wOnQsaW52YWxpZGF0ZWRWaWFTeW5jT25seTpyLHNhdmVkVG9DaGFydENvbnRlbnQ6bn0pLHRoaXMuX2hhc0NoYW5nZXMuc2V0VmFsdWUoITApLHRoaXMuX2RlYm91bmNlZFNhdmUoKX1faW52YWxpZGF0ZUxpbmVUb29sR3JvdXAoZSx0LGkpe2lmKHRoaXMuX2lnbm9yZUludmFsaWRhdGluZ0V2ZW50c0RlcHRoPjAmJiFpKXJldHVybjtjb25zdHtzYXZlZFRvQ2hhcnRDb250ZW50OnN9PXRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZ2V0KGUpfHx7fTt0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNldChlLHt0aW1lc3RhbXA6dCxpbnZhbGlkYXRlZFZpYVN5bmNPbmx5OnRoaXMuaW52YWxpZGF0ZVZpYVN5bmMoKSxzYXZlZFRvQ2hhcnRDb250ZW50OnN9KSx0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKCEwKSx0aGlzLl9kZWJvdW5jZWRTYXZlKCl9X3ByZXBhcmVEVE9JdGVtKGUsdCxpPSExKXtjb25zdCBzPW5ldyBNYXAsbj1uZXcgTWFwLHI9W10sbz1bXTtpZih0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuZm9yRWFjaCgoKG8sYSk9PntpZigwIT09dCYmby5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KXJldHVybiB2b2lkIHIucHVzaChhKTtjb25zdCBsPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGEpO2lmKCEoMCxTLmlzU3R1ZHlMaW5lVG9vbFN0dWIpKGwpKWlmKG51bGw9PT1sKXsodGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmdldChhKT09PXR8fGkpJiZzLnNldChhLG51bGwpfWVsc2V7aWYobD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpfHxsPT09dGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdFZGl0ZWQoKXx8IWwuaXNTYXZlZEluQ2hhcnQoKSlyZXR1cm47Y29uc3Qgcj1sLm93bmVyU291cmNlKCk9PT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKSxvPSFlfHxyLGM9bC5zaGFyaW5nTW9kZSgpLnZhbHVlKCk9PT10fHxpO2lmKG8pe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChsKTtpZihjKXMuc2V0KGEsSShsLHRoaXMuX2NoYXJ0TW9kZWwpKSxudWxsIT09ZSYmbi5zZXQoZS5pZCxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpO2Vsc2V7Y29uc3QgaT10aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuZ2V0KGEpO2k9PT10JiZzLnNldChhLG51bGwpLG51bGwhPT1lJiZpPT09dCYmbi5zZXQoZS5pZCxudWxsKX19fX0pKSwwPT09dClmb3IoY29uc3QgZSBvZiB0aGlzLl9taWdyYXRlZFNoYXJlZExpbmVUb29sc0R1cGxpY2F0ZXMpcy5oYXMoZSl8fHMuc2V0KGUsbnVsbCk7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xHcm91cHMuZm9yRWFjaCgoKGUsaSk9PntpZigwIT09dCYmZS5pbnZhbGlkYXRlZFZpYVN5bmNPbmx5KW8ucHVzaChpKTtlbHNlIGlmKCFuLmhhcyhpKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGkpO2lmKG51bGw9PT1lKXt0aGlzLl9vcmlnaW5hbExpbmVUb29sR3JvdXBzU2hhcmluZ01vZGUuZ2V0KGkpPT09dCYmbi5zZXQoaSxudWxsKX1lbHNlIGUuc2hhcmluZ01vZGUoKS52YWx1ZSgpPT09dCYmbi5zZXQoaSxMKGUsdGhpcy5fY2hhcnRNb2RlbCkpfX0pKSx7c291cmNlczpzLGdyb3VwczpuLGNsaWVudElkOnRoaXMuX2dlbmVyYXRlT3JpZ2luKCksbGluZVRvb2xzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKHMua2V5cygpKS5jb25jYXQociksZ3JvdXBzVG9WYWxpZGF0ZTpBcnJheS5mcm9tKG4ua2V5cygpKS5jb25jYXQobyl9fV9zZXRPcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUoZSx0KXtudWxsIT09dD90aGlzLl9vcmlnaW5hbExpbmVUb29sU2hhcmluZ01vZGUuc2V0KGUsdCk6dGhpcy5fb3JpZ2luYWxMaW5lVG9vbFNoYXJpbmdNb2RlLmRlbGV0ZShlKX1fc2V0T3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlKGUsdCl7bnVsbCE9PXQ/dGhpcy5fb3JpZ2luYWxMaW5lVG9vbEdyb3Vwc1NoYXJpbmdNb2RlLnNldChlLHQpOnRoaXMuX29yaWdpbmFsTGluZVRvb2xHcm91cHNTaGFyaW5nTW9kZS5kZWxldGUoZSl9X2xvYWRBbmRNZXJnZUxpbmVUb29sc09uU3R1ZGllcyhlLHQpe2NvbnN0IGk9e3JlcXVlc3RUeXBlOiJzdHVkaWVzTGluZVRvb2xzIixzZXJpZXNTb3VyY2VJZDp0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNoYXJpbmdNb2RlOmV9LHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCk7dGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UoaSwoaT0+e2NvbnN0IHI9dD8oMCxuLmRlZmF1bHQpKEFycmF5LmZyb20odGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy52YWx1ZXMoKSkubWFwKChlPT5BcnJheS5mcm9tKGUua2V5cygpKSkpKS5maWx0ZXIoKGU9PiFpKGUpKSk6W107dGhpcy5fdW5sb2FkTGluZVRvb2xzKHIsKGU9PmUub3duZXJTb3VyY2UoKSE9PXMpLGUpfSkpfV9sb2FkQW5kTWVyZ2VMaW5lVG9vbHNXaXRob3V0U3ltYm9sKGUsdCxpKXtjb25zdCBzPXtyZXF1ZXN0VHlwZToibGluZVRvb2xzV2l0aG91dFN5bWJvbCIsc2VyaWVzU291cmNlSWQ6dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuaWQoKSxzaGFyaW5nTW9kZTplfSxuPXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLG89KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UobikpLGE9dGhpcy5fYWxsTGluZVRvb2xzQW5kU3R1ZHlTdHVicy5nZXQoby5pZCgpKTtyZXR1cm4gdGhpcy5fbWFrZUxvYWRSZXF1ZXN0QW5kTWVyZ2UocywoaT0+ewpjb25zdCBzPXQmJmE/QXJyYXkuZnJvbShhLmtleXMoKSkuZmlsdGVyKChlPT4haShlKSkpOltdO3RoaXMuX3VubG9hZExpbmVUb29scyhzLChlPT4hZS5ib3VuZFRvU3ltYm9sKCkmJmUub3duZXJTb3VyY2UoKT09PW4pLGUpfSksdm9pZCAwLGkpfV9yZWNhbGN1bGF0ZUhhc0NoYW5nZXMoKXt0aGlzLl9oYXNDaGFuZ2VzLnNldFZhbHVlKHRoaXMuX3RyeVRvU2F2ZUNoYXJ0U3RhdGVNaWdyYXRpb25zT25jZT90aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sc0FuZFN0dWR5U3R1YnMuc2l6ZT4wfHx0aGlzLl9pbnZhbGlkYXRlZExpbmVUb29sR3JvdXBzLnNpemU+MHx8dGhpcy5fbWlncmF0ZWRTaGFyZWRMaW5lVG9vbHNEdXBsaWNhdGVzLnNpemU+MDpCKHRoaXMuX2ludmFsaWRhdGVkTGluZVRvb2xzQW5kU3R1ZHlTdHVicyl8fEIodGhpcy5faW52YWxpZGF0ZWRMaW5lVG9vbEdyb3Vwcyl8fHRoaXMuX21pZ3JhdGVkU2hhcmVkTGluZVRvb2xzRHVwbGljYXRlcy5zaXplPjApfV9nZW5lcmF0ZU9yaWdpbigpe3JldHVybmAke3RoaXMuX29yaWdpbi5sYXlvdXRJZH0vJHt0aGlzLl9vcmlnaW4uY2hhcnRJZH0vJHt0aGlzLl9vcmlnaW4uY2xpZW50SWR9YH19ZnVuY3Rpb24gVihlKXtmb3IoY29uc3RbLHRdb2YgZSl0LnNhdmVkVG9DaGFydENvbnRlbnQ9ITB9ZnVuY3Rpb24gQihlKXtmb3IoY29uc3RbLHRdb2YgZSlpZighdC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIE4oZSl7Zm9yKGNvbnN0Wyx0XW9mIGUpaWYodC5zYXZlZFRvQ2hhcnRDb250ZW50KXJldHVybiEwO3JldHVybiExfX0sMjkxODQzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2lzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbDooKT0+bn0pO3ZhciBzPWkoNTgzMDM4KTtmdW5jdGlvbiBuKGUpe3JldHVybiFlfHwiRUNPTk9NSUNTIiE9PSgwLHMuc3BsaXRTeW1ib2xOYW1lKShlLmZ1bGxfbmFtZSlbMF19fSw3MjI1NzEoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7VFZDaGFydEFwaTooKT0+bGV9KTt2YXIgcz1pKDIwMzY4MSksbj1pKDU0Nzg1MSkscj1pKDIwNjY3Myksbz1pKDMwNDIyMSksYT1pKDgxNzM1MCksbD1pKDEzODYzOCksYz1pKDYwMTg0MSksaD1pKDIzMjM2NCksZD1pKDIyMTA2MSksdT1pKDc4MDk3NSkscD1pKDc3MzA4OCksXz1pKDkzMDIzMSksbT1pKDYwNjEwKSxnPWkoNDAzNiksZj1pKDUyMTMzMyksUz1pKDIxNzUyNyksdj1pKDc0Njk0OSkseT1pKDY2MTg1OCksYj1pKDM4NDAxNyksdz1pKDg4OTUxNSksQz1pKDc2ODc2MCksUD1pKDU4OTc0OSksVD1pKDExNjMxMCkseD1pKDQ3OTM0KSxNPWkoNTY5Mzk4KSxJPWkoODYyMjEzKSxMPWkoMTE3MzEzKSxBPWkoMTU2ODUwKSxrPWkoNjQwNzQ0KSxEPWkoNzgzMzQwKSxFPWkoOTMwMDQ1KSxSPWkoNDYzNDQ3KTtjb25zdCBWPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnQuU3R1ZGllcy5TdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSIse2NvbG9yOiIjNjA2In0pLEI9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5UcmFmZmljTWV0ZXIiLHttYXhDb3VudDoyMCxjb2xvcjoiIzI2OCJ9KSxOPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ29yZSIse2NvbG9yOiIjNzA2In0pLE89KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHtjb2xvcjoiIzcwNiJ9KSxXPSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuQ2hhcnRTZXNzaW9uIix7aGlnaFJhdGU6ITAsbWF4Q291bnQ6MTAwLGNvbG9yOiIjNzA2In0pLEY9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDowLGNvbG9yOiIjNzA2In0pLEg9KDAsZC5nZXRMb2dnZXIpKCJDaGFydEFwaS5DaGFydFNlc3Npb24iLHttYXhDb3VudDo1MCxjb2xvcjoiIzcwNiJ9KSx6PSgwLGQuZ2V0TG9nZ2VyKSgiQ2hhcnRBcGkuUXVvdGVTZXNzaW9uIix7bWF4Q291bnQ6NTAsY29sb3I6IiM2NjAifSksVT0oMCxkLmdldExvZ2dlcikoIkNoYXJ0QXBpLlF1b3RlU2Vzc2lvbiIse2hpZ2hSYXRlOiEwLG1heENvdW50OjEwLGNvbG9yOiIjNjYwIn0pLEc9ISgwLEwuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSxqPSgwLE0uaXNGZWF0dXJlRW5hYmxlZCkoImJyb2tlcl9pZF9zZXNzaW9uIikscT0oMCxNLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCIpO2xldCAkPSExLFk9ITEsSz0hMTtjb25zdCBYPVsiIiwiS0IiLCJNQiIsIkdCIiwiVEIiXTtmdW5jdGlvbiBaKGUpe2lmKDA9PT1lKXJldHVybiIwIjtjb25zdCB0PSgwLGsudG9JbnQpKE1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coMTAyNCkpKTtyZXR1cm4oZS9NYXRoLnBvdygxMDI0LHQpKS50b0ZpeGVkKDIpK1hbdF19ZnVuY3Rpb24gSihlLHQpe3JldHVybmAke2V9X18ke3R9YH1mdW5jdGlvbiBRKGUsdCxpKXtjb25zdCBzPXRbaV0/PzA7dFtpXT1zK2V9Y29uc3QgZWU9US5iaW5kKG51bGwsMSksdGU9US5iaW5kKG51bGwsLTEpLGllPSgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpPyJzdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6InN0dWRpZXNfbWV0YWRhdGEiLHNlPSIvY2hhcnQtYXBpL3Byb19oYXNoIixuZT0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT8iL2NoYXJ0LWFwaS9zdHVkaWVzX21ldGFkYXRhX3dpZGdldCI6Ii9jaGFydC1hcGkvc3R1ZGllc19tZXRhZGF0YSI7bGV0IHJlPW51bGw7ZnVuY3Rpb24gb2UoKXtpZihudWxsPT09cmUpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tyZWx+PSJjb252ZXJzaW9ucy1jb25maWciXScpLHQ9bmV3IFVSTCgoMCxsLmVuc3VyZU5vdE51bGwpKGUpLmhyZWYpO3JlPSgwLGIuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQifSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgY29udmVyc2lvbnMgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO3JldHVybiBlLmpzb24oKQp9KSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsSS5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7cmV0dXJuIGUuY3VycmVuY2llcy5mb3JFYWNoKChlPT57dm9pZCAwIT09ZS5sb2dvaWQmJihlLmxvZ29Vcmw9dC5nZXRTeW1ib2xMb2dvVXJsKGUubG9nb2lkLEkuTG9nb1NpemUuTWVkaXVtKSl9KSksZX0pKX1yZXR1cm4gcmV9bGV0IGFlPW51bGw7Y2xhc3MgbGV7Y29uc3RydWN0b3IoZSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLl9iYW5JbmZvPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50PURhdGUubm93KCktcGVyZm9ybWFuY2Uubm93KCksdGhpcy5faW5pdENhY2hlUHJvbWlzZT0oMCxULmNyZWF0ZUpzb25TZXJpYWxpemFibGVDYWNoZSkoIlRWQ2hhcnRBcGkiKSx0aGlzLl90cmFmZmljU3RhdHM9e3RvdGFsOjAsc2luY2VDb25uZWN0OjAsbGFzdENodW5rOjB9LHRoaXMuX2xvd1F1YWxpdHlFbmFibGVkPSExLHRoaXMuX2Jyb2tlcklkPSIiLHRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50PTAsdGhpcy5fbW9kaWZ5U3R1ZHlNYXA9bmV3IE1hcCx0aGlzLl9kaXNjb25uZWN0Q291bnQ9MCx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGU9bmV3IEUuSlNPTkRhdGFIYW5kbGVyLHRoaXMuX3Nlc3Npb25zPXt9LHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzPXt9LHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdLHRoaXMuX2xvYWROZXdCYXJzPSExLHRoaXMuX21ldGFkYXRhUmVxdWVzdE5leHROdW1iZXI9MSx0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXI9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3M9bmV3IE1hcCx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnM9bmV3IE1hcCx0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVycz1uZXcgTWFwLHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlPW51bGwsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbj1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub25SZWNvbm5lY3QodGhpcy5fYmluZFNvY2tldEV2ZW50cy5iaW5kKHRoaXMpKSx0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNldExvZ2dlcihOLGQuZ2V0TG9nSGlzdG9yeSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5zZXRUZWxlbWV0cnkoQS50ZWxlbWV0cnkpLHRoaXMuX2JpbmRTb2NrZXRFdmVudHMoKSx0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT0oKT0+ITAsd2luZG93Py5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fHRoaXMuX2VuYWJsZUxvd1F1YWxpdHlNb2RlKCksc2V0SW50ZXJ2YWwoKCgpPT57Qi5sb2dOb3JtYWwoIkxhc3QgMzAgc2Vjb25kczoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaykrIiBTaW5jZSBsYXN0IGNvbm5lY3Q6IitaKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3QpKyIgVG90YWwgdHJhZmZpYzoiK1oodGhpcy5fdHJhZmZpY1N0YXRzLnRvdGFsKSksdGhpcy5fdHJhZmZpY1N0YXRzLmxhc3RDaHVuaz0wfSksM2U0KSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zdWJzY3JpYmUoKGU9PntlJiZ0aGlzLmRpc2Nvbm5lY3QoKX0pKX1jb25uZWN0KGUpe3RoaXMuX2Nvbm5lY3RPbmx5T3B0aW9ucz1lLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uaXNDb25uZWN0ZWQoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RpbmcoKXx8dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5jb25uZWN0KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZGlzY29ubmVjdCgpfXNlbnRNZXRob2RzQ291bnRlcnMoKXtyZXR1cm4gdGhpcy5fc2VudE1ldGhvZHNDb3VudGVyc31yZWNlaXZlZE1ldGhvZHNDb3VudGVycygpe3JldHVybiB0aGlzLl9yZWNlaXZlZE1ldGhvZHNDb3VudGVyc31kZWZhdWx0UmVzb2x1dGlvbnMoKXtyZXR1cm4oMCxmLmdldERlZmF1bHRSZXNvbHV0aW9ucykoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIG9lKCkudGhlbigoZT0+ZS5jdXJyZW5jaWVzKSl9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gb2UoKS50aGVuKChlPT57Y29uc3QgdD17fTtmb3IoY29uc3QgaSBvZiBlLnVuaXRzKXRbaS50eXBlXXx8KHRbaS50eXBlXT1bXSksdFtpLnR5cGVdLnB1c2goaSk7cmV0dXJuIHR9KSl9YXN5bmMgYXZhaWxhYmxlTWV0cmljcygpe3JldHVybiBmdW5jdGlvbigpe2lmKG51bGw9PT1hZSl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49Im1ldHJpY3MtY29uZmlnIl0nKSx0PW5ldyBVUkwoKDAsbC5lbnN1cmVOb3ROdWxsKShlKS5ocmVmKTthZT0oMCxiLmZldGNoKSh0LnRvU3RyaW5nKCkse21ldGhvZDoiR0VUIn0pLnRoZW4oKGFzeW5jIGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIG1ldHJpY3MgY29uZmlnIGZyb20gJHtlLnVybH0gd2l0aCBzdGF0dXMgJHtlLnN0YXR1c30gYW5kIHN0YXR1c1RleHQgJHtlLnN0YXR1c1RleHR9LmApO2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIHQubWV0cmljc19mdWxsX25hbWU/LmZvckVhY2goKGU9Pntjb25zdCBpPXQubWV0cmljcy5maW5kKCh0PT50LmlkPT09ZS5pZCkpO2kmJihpLmRlc2NyaXB0aW9uPWUubmFtZSl9KSksdH0pKX1yZXR1cm4gYWV9KCkudGhlbigoZT0+ZS5tZXRyaWNzKSl9YXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSl9c3VwcG9ydGVkU3ltYm9sc1R5cGVzKCl7Y29uc3QgZT13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyPz8iIgo7cmV0dXJuImJvdmVzcGEiPT09ZT95LmZpbHRlcigoZT0+WyIiLCJzdG9jayIsImZ1dHVyZXMiLCJpbmRleCJdLmluY2x1ZGVzKGUudmFsdWUpKSk6ImNtZSI9PT1lP3kuZmlsdGVyKChlPT5lLnZhbHVlIT09Uy50eXBlcy5RVUFOREwpKTp5fXN5bWJvbHNHcm91cGluZygpe3JldHVybntmdXR1cmVzOi9eKC4rPykoWzEyXSF8XHdcZHs0fSk/JC99fWNvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5faXNDb25uZWN0ZWR9YXV0aFRva2VuTWFuYWdlcigpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYXV0aFRva2VuTWFuYWdlcil9Y3JlYXRlU2Vzc2lvbihlLHQpe3RoaXMuX3Nlc3Npb25zW2VdPXQsdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV09e30sdGhpcy5jb25uZWN0ZWQoKSYmdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQmJnQub25NZXNzYWdlKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuQ29ubmVjdGVkLHBhcmFtczpbXX0pfXJlbW92ZVNlc3Npb24oZSl7ZGVsZXRlIHRoaXMuX3Nlc3Npb25zW2VdLGRlbGV0ZSB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXX1kaXNjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fZGlzY29ubmVjdENvdW50fHwwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UGluZ0luZm8oKX1jb25uZWN0aW9uQmFuSW5mbygpe3JldHVybiB0aGlzLl9iYW5JbmZvLnJlYWRvbmx5KCl9Y29ubmVjdGlvbnNMaW1pdFJlYWNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbnNMaW1pdFJlYWNoZWQucmVhZG9ubHkoKX1zZXJ2ZXJUaW1lKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fc2VydmVyVGltZUJhc2VQb2ludCtwZXJmb3JtYW5jZS5ub3coKSl9Y29tcGVuc2F0ZUNvbm5lY3Rpb25MYWcoZSl7Y29uc3QgdD10aGlzLnNlcnZlclRpbWUoKSxpPU1hdGguZmxvb3IoZS10KTtpPjAmJih0aGlzLl9zZXJ2ZXJUaW1lQmFzZVBvaW50Kz1pKX1zZXRCcm9rZXIoZSl7cmV0dXJuIGU9PT10aGlzLl9icm9rZXJJZHx8KHRoaXMuX2Jyb2tlcklkPWUsdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKSl9Y2hhcnRDcmVhdGVTZXNzaW9uKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJjaGFydF9jcmVhdGVfc2Vzc2lvbiIsW2UsdF0pfWNoYXJ0RGVsZXRlU2Vzc2lvbihlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImNoYXJ0X2RlbGV0ZV9zZXNzaW9uIixbZV0pfXN3aXRjaFRpbWV6b25lKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzd2l0Y2hfdGltZXpvbmUiLFtlLHRdKX1yZXNvbHZlU3ltYm9sKGUsdCxpLHMpe3JldHVybiBBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzWyJyZXNvbHZlX3N5bWJvbF8iK2VdPXdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhzLHQsITApLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXNvbHZlX3N5bWJvbCIsW2UsdCxpXSl9cmVxdWVzdEZpcnN0QmFyVGltZShlLHQsaSxzKXtyZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocyx0LCEwKSx0aGlzLl9zZW5kUmVxdWVzdCgiZ2V0X2ZpcnN0X2Jhcl90aW1lIixbZSx0LGldKX1jcmVhdGVTZXJpZXMoZSx0LGkscyxuLHIsbyxhKXtBLnRlbGVtZXRyeS50aW1lQ291bnRlcnMuc2VyaWVzLm1hcmtzLnB1c2goImNyZWF0ZV9zZXJpZXNfIitlKSx0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhhLHQpO2NvbnN0IGw9bnVsbD09PW8/IiI6KDAscC5jb252ZXJ0VGltZUZyYW1lVG9TdHIpKG8sITApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3NlcmllcyIsW2UsdCxpLHMsbixyLGxdKX1yZW1vdmVTZXJpZXMoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfc2VyaWVzIixbZSx0XSl9bW9kaWZ5U2VyaWVzKGUsdCxpLHMsbixyLG8sYSl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8oYSx0KTtjb25zdCBsPW51bGw9PT1vPyIiOigwLHAuY29udmVydFRpbWVGcmFtZVRvU3RyKShvLCEwKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIm1vZGlmeV9zZXJpZXMiLFtlLHQsaSxzLG4sbF0pfWdldFN0dWR5Q291bnRlcihlKXtyZXR1cm4gdGhpcy5fc3R1ZHlDb3VudGVyW2VdPz8wfWdldEZ1bmRhbWVudGFsQ291bnRlcihlKXtyZXR1cm4gdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyW2VdPz8wfWdldENoaWxkU3R1ZHlDb3VudGVyKGUpe3JldHVybiB0aGlzLl9jaGlsZFN0dWR5Q291bnRlcltlXT8/MH1yZXF1ZXN0TW9yZURhdGEoZSx0LGkscyl7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJlcXVlc3QgdG8gbG9hZCBtb3JlIGRhdGEsIGJhcnM9IitpKTtjb25zdCBuPXQ7cmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW25dPW5ldyBSLkhhbmRsZXJJbmZvKHMsbiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3RfbW9yZV9kYXRhIixbZSxuLGldKX1yZXF1ZXN0TW9yZVRpY2ttYXJrcyhlLHQsaSxzKXtyZXR1cm4gcyYmKHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdPW5ldyBSLkhhbmRsZXJJbmZvKHMsdCkpLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X21vcmVfdGlja21hcmtzIixbZSx0LGldKX1zZXRGdXR1cmVUaWNrbWFya3NNb2RlKGUsdCl7dGhpcy5fc2VuZFJlcXVlc3QoInNldF9mdXR1cmVfdGlja21hcmtzX21vZGUiLFtlLHRdKX1yZXF1ZXN0RGF0YVByb2JsZW1zKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3REYXRhUHJvYmxlbXNQcm9taXNlfHwodGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9dGhpcy5jb25uZWN0RGZkLnRoZW4oKCgpPT5uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrPXQsCnRoaXMuX3NlbmRSZXF1ZXN0KCJyZXF1ZXN0X2RhdGFfcHJvYmxlbXMiLFtdKT90aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYj1lOnQoKX0pKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2U9bnVsbH0pKSksdGhpcy5fcmVxdWVzdERhdGFQcm9ibGVtc1Byb21pc2V9YXN5bmMgcmVxdWVzdE1ldGFkYXRhKCl7cmV0dXJuIG51bGw9PT10aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSYmKHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlPSgwLEMuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX21ldGFkYXRhRGVmZXJyZWRQcm9taXNlLnByb21pc2UuZmluYWxseSgoKCk9Pnt0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZT1udWxsfSkpLHRoaXMuX3JlcXVlc3RNZXRhZGF0YSgpKSx0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFsbFN0dWRpZXNNZXRhZGF0YSgpe3Rocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIil9c2V0TG9hZE5ldyhlKXt0aGlzLl9sb2FkTmV3QmFycz0hIWV9c2V0SXNOb25Db3VudGVkU3R1ZHlGbihlKXt0aGlzLl9pc05vbkNvdW50ZWRTdHVkeT1lfWNhbkNyZWF0ZVN0dWR5KGUsdCxpKXtjb25zdHtpZDpzLGNoaWxkOm4sZnVuZGFtZW50YWw6cixmb3JlY2FzdDpvLHN0dWJUaXRsZTphfT10LGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCx4LmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIikpLmNoaWxkX2xpbWl0O2lmKG4mJighKDAseC5lbmFibGVkKSgiU1RVRFlfT05fU1RVRFkiKXx8KHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyW2VdPz8wKT49YykpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJjaGlsZCIsbGltaXRWYWx1ZTpjfTtpZihpKXJldHVybntzdWNjZXNzOiEwfTtpZihvJiYhKDAseC5lbmFibGVkKSgiRlVOREFNRU5UQUxTX0ZPUkVDQVNUIikpcmV0dXJue3N1Y2Nlc3M6ITEscmVhc29uOiJmb3JlY2FzdCIsc2NyaXB0TmFtZTphfTtjb25zdCBoPSgwLGwuZW5zdXJlTm90TnVsbCkoKDAseC5nZXRDb25maWcpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKSkubGltaXQ7aWYociYmKCEoMCx4LmVuYWJsZWQpKCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiKXx8dGhpcy5nZXRGdW5kYW1lbnRhbENvdW50ZXIoZSk+PWgpKXJldHVybntzdWNjZXNzOiExLHJlYXNvbjoiZnVuZGFtZW50YWwiLGxpbWl0VmFsdWU6aH07Y29uc3QgZD0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLHguZ2V0Q29uZmlnKSgiSU5ESUNBVE9SU19PTl9DSEFSVCIpKS5saW1pdDtyZXR1cm4gcnx8dGhpcy5faXNOb25Db3VudGVkU3R1ZHkocyl8fCgwLHguZW5hYmxlZCkoIklORElDQVRPUlNfT05fQ0hBUlQiKSYmISh0aGlzLmdldFN0dWR5Q291bnRlcihlKT49ZCk/e3N1Y2Nlc3M6ITB9OntzdWNjZXNzOiExLHJlYXNvbjoiZ2VuZXJhbCIsbGltaXRWYWx1ZTpkfX1jcmVhdGVTdHVkeShlLHQsaSxzLG4scixvLGEpe2NvbnN0IGw9dGhpcy5jYW5DcmVhdGVTdHVkeShlLGEpO3JldHVybiBsLnN1Y2Nlc3N8fCJjaGlsZCIhPT1sLnJlYXNvbj8odGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8obyx0KSx0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3N0dWR5IixbZSx0LGkscyxuLHJdKSxhLmZ1bmRhbWVudGFsP2VlKHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcixlKTp0aGlzLl9pc05vbkNvdW50ZWRTdHVkeShhLmlkKXx8ZWUodGhpcy5fc3R1ZHlDb3VudGVyLGUpLGEuY2hpbGQmJmVlKHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyLGUpLHRoaXMuX3N0dWR5U3BlY3Muc2V0KEooZSx0KSxhKSwhMCk6KCgwLHcuc2hvd1Rvb01hbnlTdHVkaWVzTm90aWNlKShsLmxpbWl0VmFsdWUpLCExKX1tb2RpZnlTdHVkeShlLHQsaSxzLHIsbyl7UShvPW8/PzAsdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXIsZSksMCE9PW8mJigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KEooZSx0KSkpLmNoaWxkPW8+MCksdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF09bmV3IFIuSGFuZGxlckluZm8ocix0KTtjb25zdCBhPWUrdDtpZih0aGlzLl9tb2RpZnlTdHVkeU1hcC5oYXMoYSkpe3JldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGEpKShlLHQsaSxzKT8/ITB9e2NvbnN0IHI9KDAsbi5kZWZhdWx0KSgoKGUsdCxpLHMpPT50aGlzLl9zZW5kUmVxdWVzdCgibW9kaWZ5X3N0dWR5IixbZSx0LGksc10pKSw1MDAse21heFdhaXQ6NTUwfSk7cmV0dXJuIHRoaXMuX21vZGlmeVN0dWR5TWFwLnNldChhLHIpLHIoZSx0LGkscyk/PyEwfX1ub3RpZnlTdHVkeShlLHQsaSxzKXtyZXR1cm4gTi5sb2dOb3JtYWwoYFNlbmQgbm90aWZ5X3N0dWR5LCBbJHtlfSwgJHt0fSwgJHtpfSwgJHtKU09OLnN0cmluZ2lmeShzKX1dYCksdGhpcy5fc2VuZFJlcXVlc3QoIm5vdGlmeV9zdHVkeSIsW2UsdCxpLEpTT04uc3RyaW5naWZ5KHMpXSl9cmVtb3ZlU3R1ZHkoZSx0KXtjb25zdCBpPWUrdDtkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0sdGhpcy5fbW9kaWZ5U3R1ZHlNYXAuZ2V0KGkpPy5mbHVzaCgpO2NvbnN0IHM9dGhpcy5fc2VuZFJlcXVlc3QoInJlbW92ZV9zdHVkeSIsW2UsdF0pO2lmKCExPT09cylyZXR1cm4hMTt0aGlzLl9tb2RpZnlTdHVkeU1hcC5kZWxldGUoaSk7Y29uc3Qgbj1KKGUsdCkscj0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5U3BlY3MuZ2V0KG4pKTtyZXR1cm4gdGhpcy5fc3R1ZHlTcGVjcy5kZWxldGUobiksci5mdW5kYW1lbnRhbD90ZSh0aGlzLl9mdW5kYW1lbnRhbENvdW50ZXIsZSk6dGhpcy5faXNOb25Db3VudGVkU3R1ZHkoci5pZCl8fHRlKHRoaXMuX3N0dWR5Q291bnRlcixlKSxyLmNoaWxkJiZ0ZSh0aGlzLl9jaGlsZFN0dWR5Q291bnRlcixlKSxzfWNyZWF0ZVBvaW50c2V0KGUsdCxpLHMsbixyLG8pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhvLHQpLAp0aGlzLl9zZW5kUmVxdWVzdCgiY3JlYXRlX3BvaW50c2V0IixbZSx0LGkscyxuLHJdKX1tb2RpZnlQb2ludHNldChlLHQsaSxzLG4pe3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XT1uZXcgUi5IYW5kbGVySW5mbyhuLHQpLHRoaXMuX3NlbmRSZXF1ZXN0KCJtb2RpZnlfcG9pbnRzZXQiLFtlLHQsaSxzXSl9cmVtb3ZlUG9pbnRzZXQoZSx0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX25vdGlmaWNhdGlvbkhhbmRsZXJzW2VdW3RdLHRoaXMuX3NlbmRSZXF1ZXN0KCJyZW1vdmVfcG9pbnRzZXQiLFtlLHRdKX1nZXRNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1nZXRUaW1lc2NhbGVNYXJrcyhlLHQsaSxzLG4pe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQiKX1xdW90ZUNyZWF0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9jcmVhdGVfc2Vzc2lvbiIsW2VdKX1xdW90ZURlbGV0ZVNlc3Npb24oZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9kZWxldGVfc2Vzc2lvbiIsW2VdKX1xdW90ZUFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2FkZF9zeW1ib2xzIixbZSx0XSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9yZW1vdmVfc3ltYm9scyIsW2UsdF0pfXF1b3RlRmFzdFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoInF1b3RlX2Zhc3Rfc3ltYm9scyIsW2UsdF0pfXF1b3RlU2V0RmllbGRzKGUsdCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9zZXRfZmllbGRzIixbZSx0XSl9cXVvdGVIaWJlcm5hdGVBbGwoZSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJxdW90ZV9oaWJlcm5hdGVfYWxsIixbZV0pfWRlcHRoQ3JlYXRlU2Vzc2lvbihlLHQsaSl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJkZXB0aF9jcmVhdGVfc2Vzc2lvbiIsW2UsdCxpXSl9ZGVwdGhEZWxldGVTZXNzaW9uKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfZGVsZXRlX3Nlc3Npb24iLFtlXSl9ZGVwdGhTZXRTeW1ib2woZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zeW1ib2wiLFtlLHRdKX1kZXB0aENsZWFyU3ltYm9sKGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiZGVwdGhfY2xlYXJfc3ltYm9sIixbZV0pfWRlcHRoU2V0U2NhbGUoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoImRlcHRoX3NldF9zY2FsZSIsW2UsdF0pfXVucGFjayhlKXtyZXR1cm4gdGhpcy5fZGF0YUhhbmRsZU1vZHVsZS51bnBhY2soZSl9c2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoZSx0KX1zZXRWaXNpYmxlVGltZVJhbmdlKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRWaXNpYmxlVGltZVJhbmdlIGlzIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCIpfV9pbml0KCl7dGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnM9e30sdGhpcy5fc3R1ZHlDb3VudGVyPXt9LHRoaXMuX2NoaWxkU3R1ZHlDb3VudGVyPXt9LHRoaXMuX2Z1bmRhbWVudGFsQ291bnRlcj17fSx0aGlzLl9tb2RpZnlTdHVkeU1hcD1uZXcgTWFwfV9jaGVja0F1dGhUb2tlbkV4cGlyYXRpb24oZSl7MD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyJiYhdGhpcy5fYXV0aFRva2VuTWFuYWdlci5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJihOLmxvZ0luZm8oZSksdGhpcy5fYXV0aFRva2VuTWFuYWdlci5yZXNldCgpKX1fc2VuZFJlcXVlc3QoZSx0KXtyZXR1cm4gcSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHNlbmRpbmcgYSBtZXNzYWdlLCByZXF1ZXN0aW5nIG5ldyB0b2tlbiIpLDAhPT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudD8odGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUucHVzaCh7bWV0aG9kOmUsYXJnczp0fSksITApOnRoaXMuX3NlbmRSZXF1ZXN0SW1wbChlLHQpfV9zZW5kUmVxdWVzdEltcGwoZSx0KXtjb25zdCBpPXRoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuZ2V0KGUpPz8wO3RoaXMuX3NlbnRNZXRob2RzQ291bnRlcnMuc2V0KGUsaSsxKTtjb25zdCBuPXRoaXMuX2RhdGFIYW5kbGVNb2R1bGVbZV0uYXBwbHkodGhpcy5fZGF0YUhhbmRsZU1vZHVsZSx0KSxsPXttOmUscDooMCxzLmRlZmF1bHQpKG4pfSxoPWwubS5pbmNsdWRlcygic3R1ZHkiKSYmbC5wWzVdO2gmJmZ1bmN0aW9uKGUpe2lmKCEoMCxjLmlzT2JqZWN0KShlKSlyZXR1cm4hMTtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyhlKSl7Y29uc3QgaT1lW3RdO2lmKCEoKDAsYy5pc09iamVjdCkoaSl8fCgwLG8uZGVmYXVsdCkoaSl8fCgwLHIuZGVmYXVsdCkoaSl8fCgwLGEuZGVmYXVsdCkoaSkpKXJldHVybiExfXJldHVybiEwfShoKSYmInRleHQiaW4gaCYmKGgudGV4dD1oLnRleHQuc2xpY2UoMCwxMCkpO2NvbnN0IGQ9SlNPTi5zdHJpbmdpZnkobCk7aWYobi5sZW5ndGg+MCl7Y29uc3QgZT1uWzBdO2Uuc3RhcnRzV2l0aCgicXNfIik/ei5sb2dOb3JtYWwoInNlbmQ6ICIrZCk6ZS5zdGFydHNXaXRoKCJjc18iKSYmTy5sb2dOb3JtYWwoInNlbmQ6ICIrZCw0MDk2KX1lbHNlIE4ubG9nTm9ybWFsKCJzZW5kOiAiK2QpO2NvbnN0IHU9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRW5jb2RlTWVzc2FnZShlLG4pO3JldHVybiB0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLnNlbmQodSl9X29uQ29ubmVjdCgpe2lmKHRoaXMuY29ubmVjdGVkKCkpcmV0dXJuO2lmKHRoaXMuX3RyYWZmaWNTdGF0cy5zaW5jZUNvbm5lY3Q9MCx0aGlzLl9pc0F1dGhUb2tlbkxvYWRlZD0hMSx0aGlzLl9jb25uZWN0T25seU9wdGlvbnM9dGhpcy5fY29ubmVjdE9ubHlPcHRpb25zfHx7fSwKdGhpcy5fYXV0aFRva2VuRGZkPXRoaXMuX2dldEF1dGhUb2tlbkRmZCh0aGlzLl9jb25uZWN0T25seU9wdGlvbnMudG9rZW5HcmFiU2Vzc2lvbiksdGhpcy5fY29ubmVjdE9ubHlPcHRpb25zPXt9LHRoaXMuc2Vzc2lvbmlkPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0U2Vzc2lvbklkKCksIXRoaXMuc2Vzc2lvbmlkfHx0aGlzLl9pc0Nvbm5lY3RlZClyZXR1cm47dGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWU9W10sdGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQ9MCx0aGlzLl9zdHVkeUNvdW50ZXI9e30sdGhpcy5fY2hpbGRTdHVkeUNvdW50ZXI9e30sdGhpcy5fZnVuZGFtZW50YWxDb3VudGVyPXt9LHRoaXMuX3N0dWR5U3BlY3MuY2xlYXIoKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMCx0aGlzLl9iYW5JbmZvLnNldFZhbHVlKG51bGwpLHRoaXMuX2Nvbm5lY3Rpb25zTGltaXRSZWFjaGVkLnNldFZhbHVlKCExKTtjb25zdCBlPUpTT04ucGFyc2UodGhpcy5zZXNzaW9uaWQpO3RoaXMuX3NlbmRMb3dRdWFsaXR5TW9kZUlmRW5hYmxlZCgpLHRoaXMuX21ldGFkYXRhU2VydmVySGFzaD1lLnN0dWRpZXNfbWV0YWRhdGFfaGFzaHx8bnVsbDtjb25zdCB0PXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCk7dHJ5e3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9TWF0aC5yb3VuZChlLnRpbWVzdGFtcE1zLXQpfWNhdGNoKGUpe3RoaXMuX3NlcnZlclRpbWVCYXNlUG9pbnQ9RGF0ZS5ub3coKS1wZXJmb3JtYW5jZS5ub3coKX1pZihOLmxvZ0luZm8oIlRpbWUgc2hpZnQgd2l0aCBzZXJ2ZXI6ICIrdGhpcy5fZm9ybWF0VGltZSh0aGlzLnNlcnZlclRpbWUoKS1EYXRlLm5vdygpKSksdGhpcy5fYXV0aFRva2VuRGZkKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCs9MSxOLmxvZ0luZm8oIldhaXQgZm9yIGF1dGggdG9rZW4gYmVmb3JlIHNlbmQgbWVzc2FnZXMiKTtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbkRmZDtlLnRoZW4oKHQ9PntpZihudWxsIT09dGhpcy5fYXV0aFRva2VuRGZkJiZ0aGlzLl9hdXRoVG9rZW5EZmQ9PT1lKXtpZihOLmxvZ05vcm1hbCgiQXV0aCB0b2tlbiByZXF1ZXN0IGlzIGZpbmlzaGVkLCB0b2tlbjogIitCb29sZWFuKHQpKSx0aGlzLl9hdXRoVG9rZW5EZmQ9bnVsbCx0KXtjb25zdCBlPVt7bWV0aG9kOiJzZXRfYXV0aF90b2tlbiIsYXJnczpbdF19XTtpZihHKXtjb25zdCB0PXdpbmRvdy5pbml0RGF0YSYmd2luZG93LmluaXREYXRhLmN1cnJlbnRMb2NhbGVJbmZvO3QmJmUucHVzaCh7bWV0aG9kOiJzZXRfbG9jYWxlIixhcmdzOlt0Lmlzbyx0LmZsYWcudG9VcHBlckNhc2UoKV19KX10aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS51bnNoaWZ0KC4uLmUpfXRoaXMuX29uU2VuZGluZ1F1ZXVlUmVxdWVzdEZpbmlzaGVkKCksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITAsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5Db25uZWN0ZWQscGFyYW1zOltdfSl9ZWxzZSBOLmxvZ05vcm1hbCgiQ29tZXMgYXV0aCB0b2tlbiBhZnRlciByZXF1ZXN0aW5nIG5ldyB0b2tlbiBvciBhZnRlciBzb2NrZXQgZGlzY29ubmVjdGVkIil9KSkuY2F0Y2goKGU9PntOLmxvZ05vcm1hbCgoMCxQLmVycm9yVG9TdHJpbmcpKGUpKX0pKX1lbHNlIE4ubG9nV2FybigiRGVmZXJyZWQgYXV0aCB0b2tlbiBvYmplY3QgaXMgbm90IHZhbGlkIiksdGhpcy5faXNBdXRoVG9rZW5Mb2FkZWQ9ITA7IiIhPT10aGlzLl9icm9rZXJJZCYmdGhpcy5fc2VuZEJyb2tlcklkVG9TZXNzaW9uKHRoaXMuX2Jyb2tlcklkKTtjb25zdCBpPXRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0Q29ubmVjdGlvblN0YXJ0KCk7QS50ZWxlbWV0cnkuc2V0U2Vzc2lvbkluZm8odGhpcy5zZXNzaW9uaWQpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3RlZCIpLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOnQtaX0pLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicmVjb25uZWN0X2NvdW50X2ZyYW1lIix7dmFsdWU6dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRSZWNvbm5lY3RDb3VudCgpfSksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWRpcmVjdF9jb3VudF9mcmFtZSIse3ZhbHVlOnRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24uZ2V0UmVkaXJlY3RDb3VudCgpfSksJHx8KCQ9ITAsQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIse3ZhbHVlOml9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5yZXNldENvdW50ZXJzKCksY2xlYXJUaW1lb3V0KHRoaXMuX3RlbGVtZXRyeURpc2Nvbm5lY3RUaW1lb3V0KX1fZm9ybWF0VGltZShlKXtyZXR1cm5gJHsoZS8xZTMpLnRvRml4ZWQoMil9IHNlY29uZHMuYH1fZGlzcGF0Y2hOb3RpZmljYXRpb24oZSx0KXtpZigicmVxdWVzdF9kYXRhX3Byb2JsZW1zIj09PWUubWV0aG9kJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYilyZXR1cm4gdm9pZCB0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VDYihlLnBhcmFtcyk7aWYoZS5tZXRob2Q9PT1ELldlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2QuU3R1ZGllc01ldGFkYXRhJiZudWxsIT09dGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpcmV0dXJuIHZvaWQgdGhpcy5fcHJvY2Vzc2VkTWV0YWRhdGEoZSk7Y29uc3QgaT1lLnBhcmFtcy5zaGlmdCgpO2lmKCF0aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tpXSlyZXR1cm47aWYoInN5bWJvbF9yZXNvbHZlZCI9PT1lLm1ldGhvZCl7Y29uc3QgdD1lLnBhcmFtc1sxXS5mdWxsX25hbWU7QS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJzeW1ib2xfcmVzb2x2ZWQiLHtjb3VudDoxLGFkZGl0aW9uYWw6e3N5bWJvbDp0fX0pO2NvbnN0IHM9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllc1sicmVzb2x2ZV9zeW1ib2xfIitpXQo7Im51bWJlciI9PXR5cGVvZiBzJiZBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoInN5bWJvbF9yZXNvbHZlX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktcyxhZGRpdGlvbmFsOntzeW1ib2w6dH19KX1pZihbInNlcmllc19lcnJvciIsInNlcmllc19jb21wbGV0ZWQiXS5pbmNsdWRlcyhlLm1ldGhvZCkmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3MubGVuZ3RoPjApe2NvbnN0IGU9ImNyZWF0ZV9zZXJpZXNfIitpLHQ9QS50ZWxlbWV0cnkudGltZUNvdW50ZXJzLnNlcmllcy5tYXJrcy5pbmRleE9mKGUpO3Q+PTAmJkEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3Muc3BsaWNlKHQsMSl9S3x8InNlcmllc19lcnJvciIhPT1lLm1ldGhvZHx8KEs9ITApO2NvbnN0IHM9dGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5nZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKTtpZihudWxsIT09cyYmInNlcmllc19jb21wbGV0ZWQiPT09ZS5tZXRob2QmJihLfHwoSz0hMCxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImZpcnN0X3Nlcmllc19mdWxsX3RpbWVfZnJhbWUiLHt2YWx1ZTp3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktc30pLEEudGVsZW1ldHJ5LnRpbWVDb3VudGVycy5zZXJpZXMubWFya3M9W10pLFl8fChZPSEwLEEudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIse3ZhbHVlOndpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX0pKSksaS5zdGFydHNXaXRoKCJjc18iKSl7bGV0IGk9InJlY3Y6ICIrdDsiZGF0YV91cGRhdGUiPT09ZS5tZXRob2Q/KGk9KDAsZC5pc0hpZ2hSYXRlRW5hYmxlZCkoKT9pOmkuc2xpY2UoMCw1MDApLFcubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSkpOiJzdHVkeV9sb2FkaW5nIj09PWUubWV0aG9kP0YubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSk6InRpY2ttYXJrX3VwZGF0ZSI9PT1lLm1ldGhvZD9ILmxvZ05vcm1hbCh0aGlzLl9hcHBlbmREdXJhdGlvbihpLGUudGltZSkpOk8ubG9nTm9ybWFsKHRoaXMuX2FwcGVuZER1cmF0aW9uKGksZS50aW1lKSl9aWYoaS5zdGFydHNXaXRoKCJxc18iKSl7KCJxdW90ZV9zeW1ib2xfZGF0YSI9PT1lLm1ldGhvZD9VLmxvZ05vcm1hbDp6LmxvZ05vcm1hbCkoInJlY3Y6ICIrdCl9c3dpdGNoKGUubWV0aG9kKXtjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGU6e2NvbnN0IHQ9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVPYmplY3RzKGUpLHM9dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSksbj10aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2Uocyk7dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydENoYXJ0U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlRpbWVTY2FsZVVwZGF0ZSxwYXJhbXM6bn0pLHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUucHJlcGFyZURhdGFVcGRhdGVPYmplY3RzKGksdCwoKGUsdCxpKT0+e3RoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoZSx0LGkpfSkpO2JyZWFrfWNhc2UidGlja21hcmtfdXBkYXRlIjpjb25zdCB0PXsuLi50aGlzLl9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZS5wYXJhbXNbMF0pLGNoYW5nZXM6W119O3RoaXMuX3Nlc3Npb25zW2ldLm9uTWVzc2FnZSh7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5UaW1lU2NhbGVVcGRhdGUscGFyYW1zOnR9KTticmVhaztjYXNlIEQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlOntjb25zdCB0PXRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuZ2V0RGF0YVVwZGF0ZU9iamVjdHMoZSk7dGhpcy5fZGF0YUhhbmRsZU1vZHVsZS5wcmVwYXJlRGF0YVVwZGF0ZU9iamVjdHMoaSx0LCgoZSx0LGkpPT57dGhpcy5faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl9KSk7YnJlYWt9Y2FzZSJpbmRleF91cGRhdGUiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWlmKGUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBzPXttZXRob2Q6ImluZGV4X3VwZGF0ZSIscGFyYW1zOmUucGFyYW1zWzBdW3RdfTt0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCxzKX1icmVhaztjYXNlIEQuV2ViY2hhcnRSZXNwb25zZU1ldGhvZC5Dcml0aWNhbEVycm9yOk4ubG9nSW5mbyhuZXcgRGF0ZSsiIGNyaXRpY2FsX2Vycm9yIHNlc3Npb246Iit0aGlzLnNlc3Npb25pZCsiIHJlYXNvbjoiK2UucGFyYW1zWzBdKSxBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImNyaXRpY2FsX2Vycm9yIiksdGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKHttZXRob2Q6RC5XZWJjaGFydFJlc3BvbnNlTWV0aG9kLkNyaXRpY2FsRXJyb3IscGFyYW1zOmUucGFyYW1zfSk7YnJlYWs7Y2FzZSJ0aW1lc2NhbGVfY29tcGxldGVkIjpjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjpjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpjYXNlInF1b3RlX2NvbXBsZXRlZCI6Y2FzZSJkZXB0aF9zeW1ib2xfZXJyb3IiOmNhc2UiZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiOmNhc2UiZGQiOmNhc2UiZHB1IjpjYXNlImRlcHRoX2Jhcl9sYXN0X3ZhbHVlIjp0aGlzLl9zZXNzaW9uc1tpXS5vbk1lc3NhZ2Uoe21ldGhvZDplLm1ldGhvZCxwYXJhbXM6ZS5wYXJhbXN9KTticmVhaztjYXNlImNsZWFyX2RhdGEiOmZvcihjb25zdCB0IGluIGUucGFyYW1zWzBdKWUucGFyYW1zWzBdLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLl9pbnZva2VOb3RpZmljYXRpb25IYW5kbGVyKGksdCx7bWV0aG9kOkQuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5DbGVhckRhdGEscGFyYW1zOmUucGFyYW1zWzBdW3RdfSk7YnJlYWs7Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheVBvaW50OmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlSZXNvbHV0aW9uczoKY2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURhdGFFbmQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheUluc3RhbmNlSWQ6Y2FzZSBELldlYmNoYXJ0UmVwbGF5U2Vzc2lvblJlc3BvbnNlTWV0aG9kLlJlcGxheURlcHRoOmNhc2UgRC5XZWJjaGFydFJlcGxheVNlc3Npb25SZXNwb25zZU1ldGhvZC5SZXBsYXlFcnJvcjpjYXNlIEQuV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2QuUmVwbGF5T2s6dGhpcy5fc2Vzc2lvbnNbaV0ub25NZXNzYWdlKGUpO2JyZWFrO2Nhc2Uic2VyaWVzX3RpbWVmcmFtZSI6Y29uc3Qgcz1lLnBhcmFtc1s0XTtlLnBhcmFtc1s0XT1udWxsPT1zP251bGw6KDAscC5jb252ZXJ0U3RyVG9UaW1lRnJhbWUpKHMpLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztjYXNlInN5bWJvbF9yZXNvbHZlZCI6IWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUuY29ycmVjdGlvbnMpe2NvbnN0IHQ9KGUuc3Vic2Vzc2lvbnM/P1tdKS5maW5kKCh0PT50LmlkPT09ZS5zdWJzZXNzaW9uX2lkKSk7dm9pZCAwIT09dCYmKGUuY29ycmVjdGlvbnM9dFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pfX0oZS5wYXJhbXNbMV0pLHRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKTticmVhaztkZWZhdWx0OnRoaXMuX2ludm9rZU5vdGlmaWNhdGlvbkhhbmRsZXIoaSxlLnBhcmFtc1swXSxlKX19X25vdGlmeVNlc3Npb25zKGUpe2Zvcihjb25zdCB0IGluIHRoaXMuX3Nlc3Npb25zKWlmKHRoaXMuX3Nlc3Npb25zLmhhc093blByb3BlcnR5KHQpKXtjb25zdCBpPXRoaXMuX3Nlc3Npb25zW3RdOyJmdW5jdGlvbiI9PXR5cGVvZiBpLm9uTWVzc2FnZSYmaS5vbk1lc3NhZ2UoZSl9fV9vbk1lc3NhZ2UoZSl7cSYmdGhpcy5fY2hlY2tBdXRoVG9rZW5FeHBpcmF0aW9uKCJBdXRoVG9rZW4gaW52YWxpZGF0aW9uIGRldGVjdGVkIG9uIHJlY2VpdmluZyBhIG1lc3NhZ2UsIHJlcXVlc3RpbmcgbmV3IHRva2VuIiksdGhpcy5fY2FsY1RyYWZmaWNTdGF0cyhlKTtjb25zdCB0PXRoaXMudW5wYWNrKGUpO3RoaXMuX3JlY2VpdmVkTWV0aG9kc0NvdW50ZXJzLnNldCh0Lm1ldGhvZCwodGhpcy5fcmVjZWl2ZWRNZXRob2RzQ291bnRlcnMuZ2V0KHQubWV0aG9kKT8/MCkrMSksInRfbXMiaW4gdCYmKDAsci5kZWZhdWx0KSh0LnRfbXMpJiZ3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb21wZW5zYXRlQ29ubmVjdGlvbkxhZyh0LnRfbXMpLCJwcm90b2NvbF9zd2l0Y2hlZCIhPT10Lm1ldGhvZD8icHJvdG9jb2xfZXJyb3IiIT09dC5tZXRob2Q/dGhpcy5fZGlzcGF0Y2hOb3RpZmljYXRpb24odCxlKTp0aGlzLl9wcm9jZXNzUHJvdG9jb2xFcnJvcih0KTpOLmxvZ0Vycm9yKCJVbmV4cGVjdGVkIHByb3RvY29sIGNoYW5naW5nIHJlcXVlc3QsIHRyeSBza2lwcGluZy4gUmVxdWVzdGVkIHByb3RvY29sOiIrdC5wYXJhbXNbMF0pfWFzeW5jIF9wcm9jZXNzZWRNZXRhZGF0YShlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2UpLGk9YXdhaXQgdGhpcy5faW5pdENhY2hlUHJvbWlzZSxuPXdpbmRvdy5wcm8uaGFzaCgpLHI9KDAsXy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7dHJ5e2F3YWl0IGkuc2V0VmFsdWUobmUsKDAscy5kZWZhdWx0KShlKSk7Y29uc3Qgbz1BcnJheS5mcm9tKG5ldyBTZXQoZS5wYXJhbXNbMV0ubWV0YWluZm8ubWFwKChlPT57cmV0dXJuYCR7KHQ9KDAsZy5wYXJzZUlkU3RyaW5nKShlLmlkKSkucGFja2FnZUlkfS0ke3QudmVyc2lvbn1gO3ZhciB0fSkpKSk7aWYoTi5sb2dOb3JtYWwoYFVwZGF0ZWQgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgdW5pcXVlIHBhY2thZ2UgaWRzOiAke28uam9pbigiLCAiKX1gKSwhcil0cnl7YXdhaXQgaS5zZXRWYWx1ZShzZSwoMCxzLmRlZmF1bHQpKG4pKSxOLmxvZ05vcm1hbCgiVXBkYXRlZCBwcm9faGFzaCBjYWNoZSIpfWNhdGNoKGUpe3QucmVqZWN0KCksTi5sb2dFcnJvcigiQ2Fubm90IHVwZGF0ZSBwcm9faGFzaCBjYWNoZSwgcmVhc29uOiAiK2UpfX1jYXRjaChlKXt0LnJlamVjdCgpLE4ubG9nRXJyb3IoIkNhbm5vdCB1cGRhdGUgc3R1ZGllc19tZXRhZGF0YSBjYWNoZSwgcmVhc29uOiAiK2UpfXQucmVzb2x2ZSgoMCxzLmRlZmF1bHQpKGUpKX1faW52b2tlTm90aWZpY2F0aW9uSGFuZGxlcihlLHQsaSl7aWYodm9pZCAwPT09dClyZXR1cm47Y29uc3Qgcz10aGlzLl9ub3RpZmljYXRpb25IYW5kbGVyc1tlXVt0XTt2b2lkIDAhPT1zJiYocy5zaW5nbGVTaG90JiZkZWxldGUgdGhpcy5fbm90aWZpY2F0aW9uSGFuZGxlcnNbZV1bdF0scy5oYW5kbGVyPy4oaSkpfV9jb252ZXJ0VGltZXNjYWxlUmVzcG9uc2UoZSl7cmV0dXJuIHRoaXMuX2RhdGFIYW5kbGVNb2R1bGUuY29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpfV9hcHBlbmREdXJhdGlvbihlLHQpe3JldHVybiB0P2Ake2V9LCBkdXJhdGlvbjogJHt0aGlzLl9mb3JtYXRUaW1lKHRoaXMuc2VydmVyVGltZSgpLTFlMyp0KX1gOmV9YXN5bmMgX3JlcXVlc3RNZXRhZGF0YSgpe2NvbnN0IGU9dGhpcy5fbWFrZU5leHRSZXF1ZXN0SWQoKTtWLmxvZ05vcm1hbChgUmVxdWVzdGluZyBtZXRhaW5mbyAjJHtlfWApO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhZGF0YURlZmVycmVkUHJvbWlzZSksaT13aW5kb3cucHJvLG49aS5oYXNoKCkscj0oMCxfLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtOLmxvZ05vcm1hbCgiUmVxdWVzdGluZyBwcm8gaGFzaCIpO3RyeXtjb25zdCBvPWF3YWl0IHRoaXMuX2luaXRDYWNoZVByb21pc2U7YXdhaXQgby5taWdyYXRlVmFsdWUoInByb19oYXNoIixzZSksYXdhaXQgby5taWdyYXRlVmFsdWUoaWUsbmUpO2NvbnN0IGE9YXdhaXQgby5nZXRWYWx1ZShzZSk7aWYobnVsbCE9PWEmJmE9PT1ufHxyKXtOLmxvZ05vcm1hbCgiUHJvIGhhc2ggaGFzIG5vdCBjaGFuZ2VkLCByZXF1ZXN0aW5nIGZyb20gbG9jYWwiKQo7Y29uc3Qgcj1hd2FpdCBvLmdldFZhbHVlKG5lKSxhPW51bGwhPT1yJiZyLnBhcmFtc1sxXS5oYXNofHxudWxsO2lmKG51bGw9PT1hfHxudWxsPT09dGhpcy5fbWV0YWRhdGFTZXJ2ZXJIYXNofHx0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2ghPT1hKU4ubG9nTm9ybWFsKGBNZXRhZGF0YSBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9Jywgc2VydmVyOiAnJHt0aGlzLl9tZXRhZGF0YVNlcnZlckhhc2h9JylgKSx0aGlzLl9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpO2Vsc2V7aWYoIWkuaGFzUGFja2FnZSgidHYtdm9sdW1lYnlwcmljZSIpfHx2b2lkIDAhPT1yLnBhcmFtc1sxXS5tZXRhaW5mby5maW5kKChlPT5lLmlkLmluY2x1ZGVzKCJAdHYtdm9sdW1lYnlwcmljZSIpKSkpcmV0dXJuIE4ubG9nTm9ybWFsKCJVc2luZyBzdHVkaWVzX21ldGFkYXRhIGZyb20gYnJvd3NlciBjYWNoZSIpLHZvaWQgdC5yZXNvbHZlKCgwLHMuZGVmYXVsdCkocikpO04ubG9nTm9ybWFsKGBEZS1zeW5jIGRldGVjdGVkISBwcm8uaGFzaCBjb250YWlucyBWYlBSIHN0dWRpZXMsIGJ1dCBkYXRhIGZyb20gY2FjaGUgZG9lc24ndCBhbmQgcHJvLmhhc2ggaXNuJ3QgY2hhbmdlZCwgcHJvLmhhc2g9JHtufWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9fWVsc2UgTi5sb2dOb3JtYWwoYFBybyBoYXNoIGhhcyBjaGFuZ2VkIChjYWNoZWQ6ICcke2F9JywgY3VycmVudDogJyR7bn0nKWApLHRoaXMuX3JlcXVlc3RNZXRhZGF0YUZyb21TZXJ2ZXIoZSl9Y2F0Y2godCl7Ti5sb2dFcnJvcigiQ2Fubm90IGdldCBzdHVkaWVzX21ldGFkYXRhLCByZWFzb246ICIrdCksdGhpcy5fcmVxdWVzdE1ldGFkYXRhRnJvbVNlcnZlcihlKX1maW5hbGx5e1YubG9nTm9ybWFsKGBSZXF1ZXN0aW5nIHN0dWRpZXMgbWV0YWRhdGEgIyR7ZX0gZmluaXNoZWRgKX19X21ha2VOZXh0UmVxdWVzdElkKCl7cmV0dXJuIm1ldGFkYXRhXyIrdGhpcy5fbWV0YWRhdGFSZXF1ZXN0TmV4dE51bWJlcisrfV9wcm9jZXNzUHJvdG9jb2xFcnJvcihlKXtjb25zdCB0PWUucGFyYW1zWzBdO04ubG9nRXJyb3IoYFByb3RvY29sIGVycm9yLiBSZWFzb249JHt0fS5gKSwiYmFubmVkIiE9PXQmJiJiYW5uZWQgYnkgdXNlcl9pZCIhPT10JiYiYmFubmVkIGJ5IGlwIiE9PXR8fCh0aGlzLl9iYW5JbmZvLnNldFZhbHVlKHtyZWFzb246dH0pLHRoaXMuZGlzY29ubmVjdCgpKSx0aGlzLl9jb25uZWN0aW9uc0xpbWl0UmVhY2hlZC5zZXRWYWx1ZSgidXNlciBjb25uZWN0aW9ucyBsaW1pdCByZWFjaGVkIj09PXQpfV9yZXF1ZXN0TWV0YWRhdGFGcm9tU2VydmVyKGUpe3JldHVybiBOLmxvZ05vcm1hbCgiUmVxdWVzdCBzdHVkaWVzX21ldGFkYXRhIGZyb20gc2VydmVyIiksdGhpcy5fc2VuZFJlcXVlc3QoInJlcXVlc3Rfc3R1ZGllc19tZXRhZGF0YSIsW2VdKX1fYmluZFNvY2tldEV2ZW50cygpe3RoaXMuY29ubmVjdERmZD1uZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl93c0JhY2tlbmRDb25uZWN0aW9uLm9uKCJjb25uZWN0IiwoKCk9Pnt0aGlzLl9vbkNvbm5lY3QoKSxlKCl9KSksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5vbigibWVzc2FnZSIsdGhpcy5fb25NZXNzYWdlLmJpbmQodGhpcykpLHRoaXMuX3dzQmFja2VuZENvbm5lY3Rpb24ub24oImRpc2Nvbm5lY3QiLCgoKT0+e3RoaXMuX2F1dGhUb2tlbkRmZCYmKHRoaXMuX2F1dGhUb2tlbkRmZD1udWxsKSx0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrJiZ0aGlzLl9vbkRhdGFQcm9ibGVtc1Byb21pc2VFcnJiYWNrKCksdGhpcy5faXNDb25uZWN0ZWQ9ITEsdGhpcy5fbm90aWZ5U2Vzc2lvbnMoe21ldGhvZDp1LkNoYXJ0QXBpTWVzc2FnZU1ldGhvZC5EaXNjb25uZWN0ZWQscGFyYW1zOltdfSksdGhpcy5fYmFuSW5mby52YWx1ZSgpfHwodGhpcy5fbWV0YWRhdGFEZWZlcnJlZFByb21pc2U9bnVsbCksdGhpcy5fZGlzY29ubmVjdENvdW50PSh0aGlzLl9kaXNjb25uZWN0Q291bnR8fDApKzEsdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc0Nvbm5lY3RlZCgpJiYodGhpcy5fdGVsZW1ldHJ5RGlzY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PntBLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoImRpc2Nvbm5lY3QiKX0pLDVlMyksdGhpcy5fd3NCYWNrZW5kQ29ubmVjdGlvbi5pc01heFJlY29ubmVjdHMoKSYmKHRoaXMuX25vdGlmeVNlc3Npb25zKHttZXRob2Q6dS5DaGFydEFwaU1lc3NhZ2VNZXRob2QuUmVjb25uZWN0QmFpbG91dCxwYXJhbXM6W119KSx0KCksQS50ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KCJyZWNvbm5lY3RfYmFpbG91dCIpKSl9KSl9KSl9X2NhbGNUcmFmZmljU3RhdHMoZSl7Y29uc3QgdD1lLmxlbmd0aDt0aGlzLl90cmFmZmljU3RhdHMudG90YWwrPXQsdGhpcy5fdHJhZmZpY1N0YXRzLnNpbmNlQ29ubmVjdCs9dCx0aGlzLl90cmFmZmljU3RhdHMubGFzdENodW5rKz10fV9zZW5kQnJva2VySWRUb1Nlc3Npb24oZSl7cmV0dXJuIWp8fHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfYnJva2VyIixbZV0pfV9lbmFibGVMb3dRdWFsaXR5TW9kZSgpe04ubG9nTm9ybWFsKCJsb3cgcXVhbGl0eSBtb2RlIGlzIGVuYWJsZWQiKSx0aGlzLl9sb3dRdWFsaXR5RW5hYmxlZD0hMCx0aGlzLl9zZW5kTG93UXVhbGl0eU1vZGVJZkVuYWJsZWQoKX1fc2VuZExvd1F1YWxpdHlNb2RlSWZFbmFibGVkKCl7dGhpcy5fbG93UXVhbGl0eUVuYWJsZWQmJnRoaXMuY29ubmVjdGVkKCkmJnRoaXMuX3NlbmRSZXF1ZXN0KCJzZXRfZGF0YV9xdWFsaXR5IixbXSl9X2dldEF1dGhUb2tlbkRmZChlKXtpZih0aGlzLl9sb2FkTmV3QmFycylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJsb2FkX25ld190b2tlbiIpO2lmKCgwLF8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwtMSE9PXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIil8fC0xIT09d2luZG93LmxvY2F0aW9uLmhhc2guaW5kZXhPZigid2lkZ2V0X3Rva2VuIikpe2NvbnN0IGU9d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiCjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHZbZV18fCJ3aWRnZXRfdXNlcl90b2tlbiIpfWlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJ1bmF1dGhvcml6ZWRfdXNlcl90b2tlbiIpO2lmKCF0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyKXtjb25zdCBlPXRoaXMuX2F1dGhUb2tlbk1hbmFnZXI9bmV3IG0uQXV0aFRva2VuO2UuaW52YWxpZGF0ZWQuc3Vic2NyaWJlKG51bGwsKGFzeW5jKCk9Pnt0cnl7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnQrPTE7Y29uc3QgdD1hd2FpdCBlLmdldCgpO2lmKCF0KXJldHVybiB2b2lkIE4ubG9nSW5mbygiQXV0aFRva2VuIGludmFsaWRhdGVkLCBidXQgbmV3IHRva2VuIGlzIGVtcHR5Iik7aWYoIXRoaXMuY29ubmVjdGVkKCkpcmV0dXJuIHZvaWQgTi5sb2dJbmZvKGBBdXRoVG9rZW4gaW52YWxpZGF0ZWQsIGJ1dCBzb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gVG9rZW46ICR7dH1gKTtOLmxvZ0luZm8oIkF1dGhUb2tlbiBpbnZhbGlkYXRlZCwgcmVmcmVzaGluZyB0b2tlbiBhbmQgcmVzZW5kaW5nIHRvIHNlc3Npb24iKSx0aGlzLl9zZW5kUmVxdWVzdEltcGwoInNldF9hdXRoX3Rva2VuIixbdF0pfWNhdGNoKGUpe3Rocm93IE4ubG9nRXJyb3IoYEZhaWxlZCB0byByZWZyZXNoIGF1dGggdG9rZW4gYWZ0ZXIgaW52YWxpZGF0aW9uOiAkeygwLFAuZXJyb3JUb1N0cmluZykoZSl9YCksZX1maW5hbGx5e3RoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50LT0xLDA9PT10aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudCYmZS5jdXJyZW50VG9rZW5Jc1ZhbGlkKCkmJnRoaXMuX2ZsdXNoUGVuZGluZ01lc3NhZ2VzKCl9fSkpfXJldHVybiB0aGlzLl9hdXRoVG9rZW5NYW5hZ2VyLmdldChlKX1fb25TZW5kaW5nUXVldWVSZXF1ZXN0RmluaXNoZWQoKXt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudC09MSxOLmxvZ0luZm8oYFNlbmRpbmcgcXVldWUgcmVxdWVzdCBmaW5pc2hlZC4gUmVtYWluaW5nIHBlbmRpbmcgcmVxdWVzdHM9JHt0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudH1gKSx0aGlzLl9zZW5kaW5nUXVldWVkUmVxdWVzdHNDb3VudDwwJiZOLmxvZ0Vycm9yKGBJbnZhbGlkIHF1ZXVlIHN0YXRlPSR7dGhpcy5fc2VuZGluZ1F1ZXVlZFJlcXVlc3RzQ291bnR9YCksMD09PXRoaXMuX3NlbmRpbmdRdWV1ZWRSZXF1ZXN0c0NvdW50JiZ0aGlzLl9mbHVzaFBlbmRpbmdNZXNzYWdlcygpfV9mbHVzaFBlbmRpbmdNZXNzYWdlcygpe04ubG9nSW5mbyhgRmx1c2ggcGVuZGluZyBtZXNzYWdlcy4gQ291bnQ9JHt0aGlzLl9wZW5kaW5nTWVzc2FnZXNRdWV1ZS5sZW5ndGh9YCksdGhpcy5fcGVuZGluZ01lc3NhZ2VzUXVldWUuZm9yRWFjaCgoZT0+dGhpcy5fc2VuZFJlcXVlc3QoZS5tZXRob2QsZS5hcmdzKSkpLHRoaXMuX3BlbmRpbmdNZXNzYWdlc1F1ZXVlPVtdfX0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5DaGFydEFwaUluc3RhbmNlPW5ldyBsZSh3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbikpfSw2ODI4MjIoZSx0LGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgcztpLmQodCx7U3Vic2Vzc2lvbklkOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5SZWd1bGFyPSJyZWd1bGFyIixlLkV4dGVuZGVkPSJleHRlbmRlZCIsZS5QcmVNYXJrZXQ9InByZW1hcmtldCIsZS5Qb3N0TWFya2V0PSJwb3N0bWFya2V0IixlLlR3ZW50eUZvdXJIb3VyPSIyNGgiLGUuTmlnaHQ9Im5pZ2h0In0oc3x8KHM9e30pKX0sNDc3MTU1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0FjdGlvbldpdGhTdGFuZGFyZEljb246KCk9PnJ9KTt2YXIgcz1pKDUwOTA0KSxuPWkoNjEzODgxKTtjbGFzcyByIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3R7b3B0aW9uczp0LGN1c3RvbUFjdGlvbk9wdGlvbnM6aX09ZTt0Lmljb25JZCYmKHQuaWNvbj10Lmljb24/P24uaWNvbnMuZ2V0KHQuaWNvbklkKSksaSYmaS5pY29uSWQmJihpLmljb249aS5pY29uPz9uLmljb25zLmdldChpLmljb25JZCkpLHN1cGVyKGUpfX19LDUwOTA0KGUsdCxpKXsidXNlIHN0cmljdCI7dmFyIHM7aS5kKHQse0FjdGlvbjooKT0+YyxMb2FkZXI6KCk9PmQsU2VwYXJhdG9yOigpPT5ofSksZnVuY3Rpb24oZSl7ZS5Ob3JtYWw9Im5vcm1hbCIsZS5CaWc9ImJpZyJ9KHN8fChzPXt9KSk7dmFyIG49aSgxMzg2MzgpLHI9aSgyMzU3MjQpLG89aSgxNTAxNTApLGE9aSg5NDgzODApO2NsYXNzIGwgZXh0ZW5kcyBhLkRlbGVnYXRle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fb25TdGFydExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsLHRoaXMuX29uU3RhcnRMaXN0ZW5pbmc9ZXx8bnVsbH1zdWJzY3JpYmUoZSx0LGkpe2NvbnN0IHM9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIuc3Vic2NyaWJlKGUsdCxpKSxzJiZ0aGlzLl9saXN0ZW5lcnMubGVuZ3RoPjAmJnRoaXMuX29uU3RhcnRMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmc9dGhpcy5fb25TdGFydExpc3RlbmluZygpKX11bnN1YnNjcmliZShlLHQpe2NvbnN0IGk9MD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGg7c3VwZXIudW5zdWJzY3JpYmUoZSx0KSwhaSYmMD09PXRoaXMuX2xpc3RlbmVycy5sZW5ndGgmJnRoaXMuX29uU3RvcExpc3RlbmluZyYmKHRoaXMuX29uU3RvcExpc3RlbmluZygpLHRoaXMuX29uU3RvcExpc3RlbmluZz1udWxsKX11bnN1YnNjcmliZUFsbChlKXtjb25zdCB0PTA9PT10aGlzLl9saXN0ZW5lcnMubGVuZ3RoO3N1cGVyLnVuc3Vic2NyaWJlQWxsKGUpLCF0JiYwPT09dGhpcy5fbGlzdGVuZXJzLmxlbmd0aCYmdGhpcy5fb25TdG9wTGlzdGVuaW5nJiYodGhpcy5fb25TdG9wTGlzdGVuaW5nKCksdGhpcy5fb25TdG9wTGlzdGVuaW5nPW51bGwpfWRlc3Ryb3koKXt0aGlzLl9vblN0b3BMaXN0ZW5pbmcmJih0aGlzLl9vblN0b3BMaXN0ZW5pbmcoKSx0aGlzLl9vblN0b3BMaXN0ZW5pbmc9bnVsbCksc3VwZXIuZGVzdHJveSgpfX1jbGFzcyBje2NvbnN0cnVjdG9yKGUpe3RoaXMudHlwZT0iYWN0aW9uIiwKdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2xvYWRPcHRpb25zUHJvbWlzZT1udWxsLHRoaXMuX2N1c3RvbUFjdGlvbj1udWxsO2NvbnN0e2FjdGlvbklkOnQsb3B0aW9uczppLG9wdGlvbnNMb2FkZXI6cyxjdXN0b21BY3Rpb25PcHRpb25zOnIsY3VzdG9tQWN0aW9uT3B0aW9uc0xvYWRlcjphLGlkOmg9by5ndWlkKCksb25TdGFydExpc3RlbmluZzpkfT1lOygwLG4uYXNzZXJ0KSh2b2lkIDAhPT10LCJhY3Rpb25JZCBtdXN0IGJlIGRlZmluZWQiKSx0aGlzLmlkPWgsdGhpcy5fb25VcGRhdGU9bmV3IGwoZCksdGhpcy5fb3B0aW9ucz17YWN0aW9uSWQ6dCwuLi5pfSx0aGlzLnVwZGF0ZShpKSx0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj1zPz9udWxsLHRoaXMuX2xvYWRPcHRpb25zR2V0dGVyJiYodGhpcy5fb3B0aW9ucy5sb2FkaW5nPSEwKSxyJiYodGhpcy5fY3VzdG9tQWN0aW9uPW5ldyBjKHthY3Rpb25JZDp0LG9wdGlvbnM6cixvcHRpb25zTG9hZGVyOmEsaWQ6aH0pKX1jdXN0b20oKXtyZXR1cm4gdGhpcy5fY3VzdG9tQWN0aW9ufWV4ZWN1dGUoKXt0aGlzLl9vcHRpb25zLmNoZWNrYWJsZSYmdGhpcy51cGRhdGUoe2NoZWNrZWQ6IXRoaXMuX29wdGlvbnMuY2hlY2tlZH0pLHRoaXMuX29wdGlvbnMub25FeGVjdXRlJiZ0aGlzLl9vcHRpb25zLm9uRXhlY3V0ZSh0aGlzKX1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhYmVsfHwiIn1nZXRTdWJJdGVtcygpe3JldHVybiB0aGlzLl9vcHRpb25zLnN1Ykl0ZW1zfHxbXX1pc0Rpc2FibGVkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmRpc2FibGVkfWlzQWN0aXZlKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZX1pc0NoZWNrYWJsZSgpe3JldHVybiEwPT09dGhpcy5fb3B0aW9ucy5jaGVja2FibGV9aXNDaGVja2VkKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmNoZWNrZWR9aXNMb2FkaW5nKCl7cmV0dXJuITA9PT10aGlzLl9vcHRpb25zLmxvYWRpbmd9bG9hZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlP3RoaXMuX2xvYWRPcHRpb25zUHJvbWlzZTp0aGlzLl9sb2FkT3B0aW9uc0dldHRlcj8odGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlPXRoaXMuX2xvYWRPcHRpb25zR2V0dGVyKCkudGhlbigoZT0+dGhpcy51cGRhdGUoey4uLmUsbG9hZGluZzohMX0pKSksdGhpcy5fbG9hZE9wdGlvbnNQcm9taXNlKTpudWxsfWdldFNpemUoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5zaXplPz8ibm9ybWFsIn1nZXRQYXlsb2FkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucGF5bG9hZH11cGRhdGUoZSl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fdW5iaW5kU2hvcnRjdXQoKSxlLmhvdGtleUhhc2gmJih0aGlzLl9vcHRpb25zLnNob3J0Y3V0SGludD0oMCxyLmh1bWFuUmVhZGFibGVIYXNoKShlLmhvdGtleUhhc2gpKSx0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24odGhpcy5fb3B0aW9ucyxlKSx0aGlzLl9iaW5kU2hvcnRjdXQoKSx0aGlzLl9vblVwZGF0ZS5maXJlKHRoaXMpKX1vblVwZGF0ZSgpe3JldHVybiB0aGlzLl9vblVwZGF0ZX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLmxvYWRPcHRpb25zKCkse2FjdGlvbklkOnRoaXMuX29wdGlvbnMuYWN0aW9uSWQsbGFiZWw6dGhpcy5nZXRMYWJlbCgpLHN0eWxlZExhYmVsOnRoaXMuX29wdGlvbnMuc3R5bGVkTGFiZWwsZGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkKCksYWN0aXZlOnRoaXMuaXNBY3RpdmUoKSxzdWJJdGVtczp0aGlzLmdldFN1Ykl0ZW1zKCksY2hlY2thYmxlOnRoaXMuaXNDaGVja2FibGUoKSxjaGVja2VkOnRoaXMuaXNDaGVja2VkKCksbG9hZGluZzp0aGlzLmlzTG9hZGluZygpLHNpemU6dGhpcy5nZXRTaXplKCksZG9Ob3RDbG9zZU9uQ2xpY2s6dGhpcy5fb3B0aW9ucy5kb05vdENsb3NlT25DbGlja3x8ITEsc2hvcnRjdXRIaW50OnRoaXMuX29wdGlvbnMuc2hvcnRjdXRIaW50LGhpbnQ6dGhpcy5fb3B0aW9ucy5oaW50LGljb246dGhpcy5fb3B0aW9ucy5pY29uLGljb25JZDp0aGlzLl9vcHRpb25zLmljb25JZCxpY29uQ2hlY2tlZDp0aGlzLl9vcHRpb25zLmljb25DaGVja2VkLHRvb2xib3g6dGhpcy5fb3B0aW9ucy50b29sYm94LHNob3dUb29sYm94T25Ib3Zlcjp0aGlzLl9vcHRpb25zLnNob3dUb29sYm94T25Ib3Zlcnx8ITEsc3RhdE5hbWU6dGhpcy5fb3B0aW9ucy5zdGF0TmFtZSxuYW1lOnRoaXMuX29wdGlvbnMubmFtZSxpbnZpc2libGVIb3RrZXk6dGhpcy5fb3B0aW9ucy5pbnZpc2libGVIb3RrZXksbm9JbnRlcmFjdGl2ZTp0aGlzLl9vcHRpb25zLm5vSW50ZXJhY3RpdmUsanN4TGFiZWw6ImpzeExhYmVsImluIHRoaXMuX29wdGlvbnM/dGhpcy5fb3B0aW9ucy5qc3hMYWJlbDp2b2lkIDAsaXNSZXBlYXRBY2NlcHRlZDp0aGlzLl9vcHRpb25zLmlzUmVwZWF0QWNjZXB0ZWR9fWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25VcGRhdGUuZGVzdHJveSgpLHRoaXMuX3VuYmluZFNob3J0Y3V0KCksdGhpcy5fb3B0aW9ucy5vbkRlc3Ryb3k/LigpLHRoaXMuX2N1c3RvbUFjdGlvbj8uZGVzdHJveSgpfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31fYmluZFNob3J0Y3V0KCl7aWYoIXRoaXMuX29wdGlvbnMuaG90a2V5R3JvdXB8fCF0aGlzLl9vcHRpb25zLmhvdGtleUhhc2gpcmV0dXJuO2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmxhYmVsP3RoaXMuX29wdGlvbnMubGFiZWw6dGhpcy5fb3B0aW9ucy5uYW1lO3RoaXMuX2hvdGtleUFjdGlvbj10aGlzLl9vcHRpb25zLmhvdGtleUdyb3VwLmFkZCh7aG90a2V5OnRoaXMuX29wdGlvbnMuaG90a2V5SGFzaCxpc1JlcGVhdEFjY2VwdGVkOnRoaXMuX29wdGlvbnMuaXNSZXBlYXRBY2NlcHRlZCxkZXNjOmUsaGFuZGxlcjooKT0+dGhpcy5leGVjdXRlKCksaXNEaXNhYmxlZDooKT0+dGhpcy5pc0Rpc2FibGVkKCl9KX1fdW5iaW5kU2hvcnRjdXQoKXt0aGlzLl9ob3RrZXlBY3Rpb24mJih0aGlzLl9ob3RrZXlBY3Rpb24uZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9ob3RrZXlBY3Rpb24pfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpewp0aGlzLnR5cGU9InNlcGFyYXRvciIsdGhpcy5pZD1vLmd1aWQoKSx0aGlzLl9oaW50PWV9Z2V0SGludCgpe3JldHVybiB0aGlzLl9oaW50fX1jbGFzcyBkIGV4dGVuZHMgY3tjb25zdHJ1Y3RvcihlKXtzdXBlcih7YWN0aW9uSWQ6ZSxvcHRpb25zOnt9fSl9aXNMb2FkaW5nKCl7cmV0dXJuITB9Z2V0U2l6ZSgpe3JldHVybiJiaWcifX19LDYxMzg4MShlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtpY29uczooKT0+eH0pLGZ1bmN0aW9uKGUpe2UuQ2hhcnRTaG93RGF0YVdpbmRvdz0iQ2hhcnQuU2hvd0RhdGFXaW5kb3ciLGUuQ2hhcnRSZXNldD0iQ2hhcnQuUmVzZXQiLGUuQ2hhcnRSZW1vdmVTZWxlY3RlZE9iamVjdD0iQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLGUuU2V0dGluZ3M9IlNldHRpbmdzIixlLkNoYXJ0SGlkZT0iQ2hhcnQuSGlkZSIsZS5DaGFydFN5bWJvbEluZm89IkNoYXJ0LlN5bWJvbEluZm8iLGUuQ2hhcnRGaW5hbmNpYWxzPSJDaGFydC5GaW5hbmNpYWxzIixlLkNoYXJ0VGVjaG5pY2Fscz0iQ2hhcnQuVGVjaG5pY2FscyIsZS5DaGFydERldGFpbHNNZXRyaWNzPSJDaGFydC5EZXRhaWxzTWV0cmljcyIsZS5DaGFydFNlYXNvbmFscz0iQ2hhcnQuU2Vhc29uYWxzIixlLkNoYXJ0QW5hbHlzaXM9IkNoYXJ0LkFuYWx5c2lzIixlLkNoYXJ0U3RvY2tCb25kcz0iQ2hhcnQuU3RvY2tCb25kcyIsZS5DaGFydEZvcndhcmRDdXJ2ZT0iQ2hhcnQuRm9yd2FyZEN1cnZlIixlLkNoYXJ0RGVyaXZhdGl2ZXM9IkNoYXJ0LkRlcml2YXRpdmVzIixlLkNoYXJ0TmV3c0RpYWxvZz0iQ2hhcnQuTmV3c0RpYWxvZyIsZS5DaGFydENvbnRyYWN0cz0iQ2hhcnQuQ29udHJhY3RzIixlLkNoYXJ0Rm9yZWNhc3Q9IkNoYXJ0LkZvcmVjYXN0IixlLkNoYXJ0T3B0aW9ucz0iQ2hhcnQuT3B0aW9ucyIsZS5DaGFydERvY3VtZW50cz0iQ2hhcnQuRG9jdW1lbnRzIixlLkNoYXJ0RXRmcz0iQ2hhcnQuRXRmcyIsZS5DaGFydEVjb25vbXlJZGljYXRvcnM9IkNoYXJ0LkVjb25vbXlJbmRpY2F0b3JzIixlLkFsZXJ0QWRkPSJBbGVydC5BZGQiLGUuQWxlcnRFZGl0PSJBbGVydC5FZGl0IixlLkFsZXJ0UmVzdGFydD0iQWxlcnQuUmVzdGFydCIsZS5BbGVydFN0b3A9IkFsZXJ0LlN0b3AiLGUuQWxlcnRGaXJlc0Rvd25sb2FkPSJBbGVydC5GaXJlc0Rvd25sb2FkIixlLkNsZWFyQWxsPSJBbGVydC5DbGVhciIsZS5DaGFydFZpc3VhbE9yZGVyPSJDaGFydC5WaXN1YWxPcmRlciIsZS5DaGFydFNob3dPYmplY3Q9IkNoYXJ0LlNob3dPYmplY3QiLGUuQ2hhcnRQcmljZVNjYWxlPSJDaGFydC5QcmljZVNjYWxlIixlLkNoYXJ0TW92ZT0iQ2hhcnQuTW92ZSIsZS5DaGFydEFwcGx5SW5kaWNhdG9yPSJDaGFydC5BcHBseUluZGljYXRvciIsZS5DaGFydFVubG9ja09iamVjdD0iQ2hhcnQuVW5sb2NrT2JqZWN0IixlLkNoYXJ0TG9ja09iamVjdD0iQ2hhcnQuTG9ja09iamVjdCIsZS5DaGFydEFuY2hvckxpbmVUb29sPSJDaGFydC5BbmNob3JMaW5lVG9vbCIsZS5DaGFydEluc2VydFJvd1RhYmxlPSJDaGFydC5JbnNlcnRSb3dUYWJsZSIsZS5DaGFydEluc2VydENvbHVtblRhYmxlPSJDaGFydC5JbnNlcnRDb2x1bW5UYWJsZSIsZS5DaGFydFJlbW92ZVJvd1RhYmxlPSJDaGFydC5SZW1vdmVSb3dUYWJsZSIsZS5DaGFydFJlbW92ZUNvbHVtblRhYmxlPSJDaGFydC5SZW1vdmVDb2x1bW5UYWJsZSIsZS5DaGFydENsb25lPSJDaGFydC5DbG9uZSIsZS5DaGFydEFkZEhvcnpMaW5lPSJDaGFydC5BZGRIb3J6TGluZSIsZS5XYXRjaGxpc3RBZGRTeW1ib2w9IldhdGNobGlzdC5BZGRTeW1ib2wiLGUuV2F0Y2hsaXN0Q3JlYXRlTmV3PSJXYXRjaGxpc3QuQ3JlYXRlTmV3IixlLlRleHROb3RlQWRkPSJUZXh0Tm90ZS5BZGQiLGUuVHJhZGluZ1NlbGw9IlRyYWRpbmcuU2VsbCIsZS5UcmFkaW5nQnV5PSJUcmFkaW5nLkJ1eSIsZS5UcmFkaW5nQWRkT3JkZXI9IlRyYWRpbmcuQWRkT3JkZXIiLGUuT2JqZWN0c1RyZWVDcmVhdGVHcm91cD0iT2JqZWN0c1RyZWUuQ3JlYXRlR3JvdXAiLGUuT2JqZWN0c1RyZWVSZW5hbWVJdGVtPSJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixlLkluZGljYXRvckFkZFRvRmF2b3JpdGVzPSJJbmRpY2F0b3IuQWRkVG9GYXZvcml0ZXMifShzfHwocz17fSkpO3ZhciBuPWkoMTkwMzU1KSxyPWkoNjA5MDk2KSxvPWkoODEyMDg0KSxhPWkoNTE0MjE2KSxsPWkoMzc0MTYpLGM9aSgyMTUyOTIpLGg9aSg3NTYyODgpLGQ9aSg1NzYxMDMpLHU9aSg1NzAzNjIpLHA9aSg5NTc4NDYpLF89aSgzMTIzMDYpLG09aSgzNjk5MjQpLGc9aSg4NTQzOTkpLGY9aSg1OTE5NjkpLFM9aSg1MjI4ODkpLHY9aSg3MDkwMDkpLHk9aSgxMDE2MyksYj1pKDYzNTE3OSksdz1pKDk0Njk0MiksQz1pKDgwNzU2MyksUD1pKDU1ODk3OSk7bGV0IFQ9W1siQ2hhcnQuUmVzZXQiLENdLFsiQ2hhcnQuUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLFBdLFsiU2V0dGluZ3MiLHddLFsiQ2hhcnQuSGlkZSIsaSgyMzAyNTIpXSxbIkNoYXJ0LlN5bWJvbEluZm8iLGkoNzY5NzUyKV0sWyJDaGFydC5WaXN1YWxPcmRlciIsaSg3NjMzMTYpXSxbIkNoYXJ0LlNob3dPYmplY3QiLGkoNTE4NjcpXSxbIkNoYXJ0LlByaWNlU2NhbGUiLGkoMjE0MTg2KV0sWyJDaGFydC5Nb3ZlIixpKDYzMTk2MyldLFsiQ2hhcnQuQXBwbHlJbmRpY2F0b3IiLGkoMjkwMDQ0KV0sWyJDaGFydC5VbmxvY2tPYmplY3QiLGkoODY3MTc0KV0sWyJDaGFydC5Mb2NrT2JqZWN0IixpKDc2NTM1MyldLFsiQ2hhcnQuQW5jaG9yTGluZVRvb2wiLGkoNjk3MDg1KV0sWyJDaGFydC5JbnNlcnRSb3dUYWJsZSIsaSg3MTMxNDApXSxbIkNoYXJ0Lkluc2VydENvbHVtblRhYmxlIixpKDM4NzYzOCldLFsiQ2hhcnQuUmVtb3ZlUm93VGFibGUiLFBdLFsiQ2hhcnQuUmVtb3ZlQ29sdW1uVGFibGUiLFBdLFsiQ2hhcnQuQ2xvbmUiLGkoOTM3MjEpXSxbIkNoYXJ0LkFkZEhvcnpMaW5lIixpKDgxNjk1MyldLFsiSW5kaWNhdG9yLkFkZFRvRmF2b3JpdGVzIixiXV0KO1Q9VC5jb25jYXQoW1siVGV4dE5vdGUuQWRkIixkXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdLFsiV2F0Y2hsaXN0LkNyZWF0ZU5ldyIsaF0sWyJDaGFydC5GaW5hbmNpYWxzIix1XSxbIkNoYXJ0LlRlY2huaWNhbHMiLHBdLFsiQWxlcnQuQWRkIixfXSxbIkFsZXJ0LkVkaXQiLG1dLFsiQWxlcnQuUmVzdGFydCIsZl0sWyJBbGVydC5TdG9wIixTXSxbIkFsZXJ0LkZpcmVzRG93bmxvYWQiLGddLFsiQWxlcnQuQ2xlYXIiLHZdLFsiQ2hhcnQuRGV0YWlsc01ldHJpY3MiLHldXSksVD1ULmNvbmNhdChbWyJDaGFydC5TaG93RGF0YVdpbmRvdyIsbl0sWyJUcmFkaW5nLlNlbGwiLHJdLFsiVHJhZGluZy5CdXkiLG9dLFsiVHJhZGluZy5BZGRPcmRlciIsYV0sWyJPYmplY3RzVHJlZS5DcmVhdGVHcm91cCIsbF0sWyJPYmplY3RzVHJlZS5SZW5hbWVJdGVtIixjXSxbIldhdGNobGlzdC5BZGRTeW1ib2wiLGhdXSk7Y29uc3QgeD1uZXcgTWFwKFQpfSwzNTY0MzQoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKCl7cmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMzkxODIpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDg4NDgzKSxpLmUoNjc3OSksaS5lKDU5NjQ5KSxpLmUoNDc3MjMpXSkudGhlbihpLmJpbmQoaSw1NzUyNjIpKX1pLmQodCx7YWN0aW9uc1Byb3ZpZGVyTW9kdWxlOigpPT5zfSl9LDQ4MzAxNihlLHQsaSl7InVzZSBzdHJpY3QiO3ZhciBzO2kuZCh0LHtkZWZhdWx0Q2hhcnRXaWRnZXRBY3Rpb25zT3B0aW9uczooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuQ29weT0iQ29weSJ9KHN8fChzPXt9KSk7Y29uc3Qgbj17Z2VuZXJhbDohMCxtYWluU2VyaWVzOiEwLG1haW5TZXJpZXNUcmFkZTohMSxlc2RTdHVkaWVzOiEwLHN0dWRpZXM6ITAsZnVuZGFtZW50YWxzOiEwLGxpbmVUb29sczohMCxwdWJsaXNoZWRDaGFydHM6ITAsb3JkZXJzQW5kUG9zaXRpb25zOiEwLGFsZXJ0czohMCxjaGFydEV2ZW50czohMCxvYmplY3RUcmVlOiEwLGdvdG9MaW5lVG9vbDohMX19LDI4MmUzKGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse2NsaXBib2FyZERhdGFGb3JTb3VyY2VzOigpPT5sLGlzTGluZVRvb2xDbGlwYm9hcmREYXRhOigpPT5hfSk7dmFyIHM9aSgxMzg2MzgpLG49aSg3MDQ1NzIpLHI9aSg5NTY0MzcpLG89aSg4ODE5Mik7ZnVuY3Rpb24gYShlKXtyZXR1cm4iZHJhd2luZyI9PT1lLnR5cGV9ZnVuY3Rpb24gbChlLHQpe2lmKDE9PT10Lmxlbmd0aCYmKDAsci5pc1N0dWR5KSh0WzBdKSl7Y29uc3QgZT10WzBdO3JldHVybnt0aXRsZTplLnRpdGxlKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLHNvdXJjZXM6W3tzb3VyY2U6KDAscy5lbnN1cmVOb3ROdWxsKShlLnN0YXRlKCkpLHR5cGU6InN0dWR5In1dfX1jb25zdCBpPXtzb3VyY2VzOltdLHRpdGxlOiIifTtyZXR1cm4gaS5zb3VyY2VzPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkmJigwLG8uaXNMaW5lVG9vbCkoZSkpKS5tYXAoKHQ9Pntjb25zdCBpPXt0eXBlOiJkcmF3aW5nIixnZW9tZXRyeTp0Lmdlb21ldHJ5KCksc291cmNlOnsuLi50LnN0YXRlKCExKSxwb2ludHM6dC5ub3JtYWxpemVkUG9pbnRzKCl9LG1vZGVsSWQ6ZX07cmV0dXJuIGRlbGV0ZSBpLnNvdXJjZS5hbGVydElkLGl9KSksaS5zb3VyY2VzLmxlbmd0aD4wPygxPT09aS5zb3VyY2VzLmxlbmd0aD9pLnRpdGxlPXRbMF0udGl0bGUobi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSk6aS50aXRsZT0iRHJhd2luZ3MiLGkpOm51bGx9fSwxNTEyMShlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHthZGRFeGNsdXNpb25BcmVhOigpPT5QLGFkZEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5DLGNhbGNUZXh0SG9yaXpvbnRhbFNoaWZ0OigpPT5iLGNsZWFyUmVjdDooKT0+XyxjcmVhdGVCb3VuZENhbnZhczooKT0+dixjcmVhdGVEaXNjb25uZWN0ZWRDYW52YXM6KCk9PmcsY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzQnlSZW5kZXJpbmdJbmZvOigpPT5mLGRpc2FibGVTZWxlY3Rpb246KCk9PncsZHJhd1NjYWxlZDooKT0+bSxkcmF3V2l0aEV4Y2x1c2lvbkFyZWFCeVNjb3BlOigpPT5ULGZpbGxSZWN0OigpPT5wLGdldEJpbmRpbmdSZW5kZXJpbmdJbmZvOigpPT5oLGdldENvbnRleHQyRDooKT0+ZCxnZXRQcmVzY2FsZWRDb250ZXh0MkQ6KCk9PnUsbWVhc3VyZVRleHQ6KCk9Pk0sdHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplOigpPT55fSk7dmFyIHM9aSg5MTg3NzkpLG49aSgxMzg2MzgpLHI9aSg4NzE3MCksbz1pKDgyMjcyNiksYT1pKDk2OTE2OCksbD1pKDMxODk3NCk7ZnVuY3Rpb24gYyhlKXtyZXR1cm57aG9yaXpvbnRhbFBpeGVsUmF0aW86TWF0aC5tYXgoMSxlLmJpdG1hcFNpemUud2lkdGgvZS5jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCksdmVydGljYWxQaXhlbFJhdGlvOk1hdGgubWF4KDEsZS5iaXRtYXBTaXplLmhlaWdodC9lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplLmhlaWdodCl9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuey4uLmMoZSksYml0bWFwU2l6ZTplLmJpdG1hcFNpemUsbWVkaWFTaXplOmUuY2FudmFzRWxlbWVudENsaWVudFNpemV9fWZ1bmN0aW9uIGQoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSk7cmV0dXJuIHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSx0fWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSksaT0oMCxyLmdldENhbnZhc0RldmljZVBpeGVsUmF0aW8pKGUpO3JldHVybiB0LnNldFRyYW5zZm9ybShpLDAsMCxpLDAsMCksdH1mdW5jdGlvbiBwKGUsdCxpLHMsbixyKXtlLnNhdmUoKSxlLmZpbGxTdHlsZT1yLGUuZmlsbFJlY3QodCxpLHMsbiksZS5yZXN0b3JlKCl9ZnVuY3Rpb24gXyhlLHQsaSxzLG4scil7ZS5zYXZlKCksZS5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLGUuZmlsbFN0eWxlPXIsZS5maWxsUmVjdCh0LGkscyxuKSxlLnJlc3RvcmUoKX1mdW5jdGlvbiBtKGUsdCxpLHMpe2Uuc2F2ZSgpLGUuc2NhbGUodCxpKSxzKCksZS5yZXN0b3JlKCl9CmZ1bmN0aW9uIGcoZSx0LGkpe2NvbnN0IHM9UyhlKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9KDAsci5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKShzKSkscy53aWR0aD10LndpZHRoKmkscy5oZWlnaHQ9dC5oZWlnaHQqaSxzfWZ1bmN0aW9uIGYoZSx0KXtjb25zdHtiaXRtYXBTaXplOmksbWVkaWFTaXplOnN9PXQsbj1TKGUpO3JldHVybiBuLnN0eWxlLndpZHRoPWAke3Mud2lkdGh9cHhgLG4uc3R5bGUuaGVpZ2h0PWAke3MuaGVpZ2h0fXB4YCxuLndpZHRoPWkud2lkdGgsbi5oZWlnaHQ9aS5oZWlnaHQsbn1mdW5jdGlvbiBTKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4gdyh0KSx0fWZ1bmN0aW9uIHYoZSx0KXtjb25zdCBpPVMoKDAsbi5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQpKTtlLmFwcGVuZENoaWxkKGkpO2NvbnN0IHI9KDAscy5iaW5kQ2FudmFzRWxlbWVudEJpdG1hcFNpemVUbykoaSx7dHlwZToiZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94Iix0cmFuc2Zvcm06KGUsdCk9PjA9PT1lLndpZHRofHwwPT09ZS5oZWlnaHQ/ZTp7d2lkdGg6TWF0aC5tYXgoZS53aWR0aCx0LndpZHRoKSxoZWlnaHQ6TWF0aC5tYXgoZS5oZWlnaHQsdC5oZWlnaHQpfX0pO3JldHVybiByLnJlc2l6ZUNhbnZhc0VsZW1lbnQodCkscn1mdW5jdGlvbiB5KGUpe2NvbnN0IHQ9ZS5zdWdnZXN0ZWRCaXRtYXBTaXplO3JldHVybiBudWxsIT09dCYmdC53aWR0aD4wJiZ0LmhlaWdodD4wJiYoZS5hcHBseVN1Z2dlc3RlZEJpdG1hcFNpemUoKSwhMCl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJjZW50ZXIiPT09ZS50ZXh0QWxpZ24/MDooMCxhLmlzUnRsKSgpPyJzdGFydCI9PT1lLnRleHRBbGlnbnx8InJpZ2h0Ij09PWUudGV4dEFsaWduP3Q6MDoic3RhcnQiPT09ZS50ZXh0QWxpZ258fCJsZWZ0Ij09PWUudGV4dEFsaWduPzA6dH1mdW5jdGlvbiB3KGUpe2Uuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS53ZWJraXRVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLm1zVXNlclNlbGVjdD0ibm9uZSIsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIixlLnN0eWxlLndlYmtpdFRhcEhpZ2hsaWdodENvbG9yPSJ0cmFuc3BhcmVudCJ9ZnVuY3Rpb24gQyhlLHQpe2NvbnN0e2NvbnRleHQ6aSxob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpuLGJpdG1hcFNpemU6cn09ZTtpLmJlZ2luUGF0aCgpLGkucmVjdCgwLDAsci53aWR0aCxyLmhlaWdodCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldHt4OnIseTpvfT10W2VdO3IqPXMsbyo9biwwIT09ZT9pLmxpbmVUbyhyLG8pOmkubW92ZVRvKHIsbyl9aS5jbG9zZVBhdGgoKSxpLmNsaXAoImV2ZW5vZGQiKX1mdW5jdGlvbiBQKGUsdCxpKXtDKHtjb250ZXh0OmUsLi4udH0saSl9ZnVuY3Rpb24gVChlLHQsaSl7ZS5jb250ZXh0LnNhdmUoKSxDKGUsdCksaSgpLGUuY29udGV4dC5yZXN0b3JlKCl9bGV0IHg7ZnVuY3Rpb24gTShlLHQsaSl7cmV0dXJuIHh8fGZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtlLndpZHRoPTAsZS5oZWlnaHQ9MCwoMCxsLmlzTWFjKSgpJiYoZS5zdHlsZS5kaXNwbGF5PSJub25lIixkb2N1bWVudC5ib2R5LmFwcGVuZChlKSkseD0oMCxuLmVuc3VyZU5vdE51bGwpKGUuZ2V0Q29udGV4dCgiMmQiKSkseC50ZXh0QmFzZWxpbmU9ImFscGhhYmV0aWMiLHgudGV4dEFsaWduPSJjZW50ZXIifSgpLHQmJnguZm9udCE9PXQmJih4LmZvbnQ9dCksaT9pLmdldE1ldHJpY3MoeCxlKTooMCxvLmdldE1pblRleHRNZXRyaWNzKSh4Lm1lYXN1cmVUZXh0KGUpKX19LDU3MDY1NChlLHQsaSl7InVzZSBzdHJpY3QiO2kuZCh0LHtjaGFydEZsb2F0aW5nVG9vbHRpcEVuYWJsZWRXVjooKT0+YX0pO3ZhciBzPWkoOTMwNTY2KSxuPWkoMjMyMzY0KTtjb25zdCByPSJjaGFydF9mbG9hdGluZ190b29sdGlwX2VuYWJsZWQiO2Z1bmN0aW9uIG8oKXtyZXR1cm4gcy5nZXRKU09OKHIsdHJ1ZSl9Y29uc3QgYT1uZXcgbi5XYXRjaGVkVmFsdWUobygpKTthLnN1YnNjcmliZSgoKCk9PnMuc2V0VmFsdWUocixhLnZhbHVlKCkpKSkscy5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5hLnNldFZhbHVlKG8oKSkpKX0sNDY0ODM1KGUsdCxpKXsidXNlIHN0cmljdCI7aS5kKHQse0NoYXJ0SG90a2V5c0xpc3RlbmVyOigpPT5nLGdsb2JhbEVudmlyb25tZW50U3RhdGU6KCk9Pm0sbW9kaWZpZXJQcmVzc2VkOigpPT5fLHNoaWZ0UHJlc3NlZDooKT0+cH0pO3ZhciBzPWkoNzI3MDkpLG49aSgyMzU3MjQpLHI9aSg3MjEzNjkpLG89aSgzNjgxMTApO3ZhciBhPWkoMjMyMzY0KSxsPWkoOTAxMzcwKTtjb25zdCBjPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLlNoaWZ0KSksaD1uZXcgYS5XYXRjaGVkVmFsdWUoQm9vbGVhbigocy5wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKSZuLk1vZGlmaWVycy5Nb2QpKSxkPW5ldyBhLldhdGNoZWRWYWx1ZShCb29sZWFuKChzLnByZXNzZWRLZXlzLnZhbHVlKCk/PzApJm4uTW9kaWZpZXJzLkFsdCkpLHU9W24uTW9kaWZpZXJzLk5vbmUsbi5Nb2RpZmllcnMuQWx0LG4uTW9kaWZpZXJzLk1vZCxuLk1vZGlmaWVycy5BbHQrbi5Nb2RpZmllcnMuU2hpZnRdO2Z1bmN0aW9uIHAoKXtyZXR1cm4gY31mdW5jdGlvbiBfKCl7cmV0dXJuIGh9ZnVuY3Rpb24gbSgpe3JldHVybiBuZXcgbC5FbnZpcm9ubWVudFN0YXRlKHthbHRLZXk6ZC52YWx1ZSgpLGN0cmxLZXk6XygpLnZhbHVlKCksbWV0YUtleTpfKCkudmFsdWUoKSxzaGlmdEtleTpwKCkudmFsdWUoKX0pfXMucHJlc3NlZEtleXMuc3Vic2NyaWJlKCgoZT0wKT0+e2Muc2V0VmFsdWUoQm9vbGVhbihlJm4uTW9kaWZpZXJzLlNoaWZ0KSksaC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuTW9kKSksZC5zZXRWYWx1ZShCb29sZWFuKGUmbi5Nb2RpZmllcnMuQWx0KSl9KSk7Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsLAp0aGlzLl9ib3VuZEtleXVwSGFuZGxlcj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0PWUsdGhpcy5fcGFyZW50PXQsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj10aGlzLl9rZXlkb3duSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPXRoaXMuX2tleXVwSGFuZGxlci5iaW5kKHRoaXMpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2JvdW5kS2V5ZG93bkhhbmRsZXIpLHRoaXMuX3BhcmVudC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9ib3VuZEtleXVwSGFuZGxlcil9ZGVzdHJveSgpe251bGwhPT10aGlzLl9ib3VuZEtleWRvd25IYW5kbGVyJiYodGhpcy5fcGFyZW50Lm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlciksdGhpcy5fYm91bmRLZXlkb3duSGFuZGxlcj1udWxsKSxudWxsIT09dGhpcy5fYm91bmRLZXl1cEhhbmRsZXImJih0aGlzLl9wYXJlbnQub3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fYm91bmRLZXl1cEhhbmRsZXIpLHRoaXMuX2JvdW5kS2V5dXBIYW5kbGVyPW51bGwpfV9rZXlkb3duSGFuZGxlcihlKXt0aGlzLl9jaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLl9jaGFydFdpZGdldC5pc0FjdGl2ZSgpLnZhbHVlKCkmJihlLmRlZmF1bHRQcmV2ZW50ZWR8fCgidGV4dC1lZGl0b3IiPT09d2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIikmJnRoaXMuX2hhbmRsZVRhYktleURvd24oZSl8fHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09d2luZG93LmRvY3VtZW50LmJvZHkmJih0aGlzLl9oYW5kbGVNb3ZlRHJhd2luZ3NLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVTY3JvbGxLZXlEb3duKGUpfHx0aGlzLl9oYW5kbGVab29tS2V5RG93bihlKSkpJiZlLnByZXZlbnREZWZhdWx0KCkpfV9rZXl1cEhhbmRsZXIoZSl7dGhpcy5fY2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5faGFuZGxlU2Nyb2xsS2V5VXAoZSl9X2hhbmRsZVRhYktleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7aWYoOT09PXQpe2NvbnN0IHQ9aS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpWzBdO2lmKHZvaWQgMCE9PXQmJihzPXQsKDAsby5pc0xpbmVUb29sKShzKSYmIkxpbmVUb29sVGFibGUiPT09cy5zdGF0ZSgpLnR5cGUpKXtjb25zdCBpPSgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKTtyZXR1cm4gdC5zd2l0Y2hBY3RpdmVDZWxsKGk9PT1uLk1vZGlmaWVycy5TaGlmdCl9cmV0dXJuITF9dmFyIHM7cmV0dXJuITF9X2hhbmRsZU1vdmVEcmF3aW5nc0tleURvd24oZSl7Y29uc3QgdD0yNTUmKDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPXRoaXMuX2NoYXJ0V2lkZ2V0Lm1vZGVsKCk7c3dpdGNoKHQpe2Nhc2UgMzc6cmV0dXJuIGkubW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCk7Y2FzZSAzOTpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1JpZ2h0KCk7Y2FzZSAzODpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc1VwKCk7Y2FzZSA0MDpyZXR1cm4gaS5tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKX1yZXR1cm4hMX1faGFuZGxlU2Nyb2xsS2V5RG93bihlKXtpZihudWxsIT09dGhpcy5fcHJlc3NlZEtleUNvZGUpcmV0dXJuITE7Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpLGk9MjU1JnQscz0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSk7bGV0IG87aWYoMzc9PT1pKW89MTtlbHNle2lmKDM5IT09aSlyZXR1cm4hMTtvPS0xfWlmKG4uaXNNYWNLZXlib2FyZCYmcz09PW4uTW9kaWZpZXJzLk1vZHx8IXUuaW5jbHVkZXMocykpcmV0dXJuITE7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3RoaXMuX3ByZXNzZWRLZXlDb2RlPWk7Y29uc3QgYT10aGlzLl9jaGFydFdpZGdldC5zY3JvbGxIZWxwZXIoKTtyZXR1cm4gcz09PW4uTW9kaWZpZXJzLk5vbmU/YS5tb3ZlQnlCYXIobyk6cz09PW4uTW9kaWZpZXJzLkFsdHx8cz09PW4uTW9kaWZpZXJzLk1vZD9hLm1vdmUobyk6LTE9PT1vP2Euc2Nyb2xsVG9SZWFsdGltZSghMCk6YS5zY3JvbGxUb0ZpcnN0QmFyKCksITB9X2hhbmRsZVNjcm9sbEtleVVwKGUpe2lmKG51bGw9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSlyZXR1cm4hMTtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYoKDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO3JldHVybigyNTUmdCk9PT10aGlzLl9wcmVzc2VkS2V5Q29kZSYmKHRoaXMuX3ByZXNzZWRLZXlDb2RlPW51bGwsdGhpcy5fY2hhcnRXaWRnZXQuc2Nyb2xsSGVscGVyKCkuc3RvcE1vdmUoKSwhMCl9X2hhbmRsZVpvb21LZXlEb3duKGUpe2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKSxpPTI1NSZ0O2lmKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PW4uTW9kaWZpZXJzLk1vZHx8KDAsci5pc05hdGl2ZVVJSW50ZXJhY3Rpb24pKHQsZS50YXJnZXQpKXJldHVybiExO2NvbnN0IHM9dGhpcy5fY2hhcnRXaWRnZXQubW9kZWwoKTtpZigzOD09PWkpcy56b29tSW4oKTtlbHNle2lmKDQwIT09aSlyZXR1cm4hMTtzLnpvb21PdXQoKX1yZXR1cm4hMH19fSw5ODg3NzYoZSx0LGkpeyJ1c2Ugc3RyaWN0IjtpLmQodCx7Q2hhcnRXaWRnZXRDb2xsZWN0aW9uOigpPT5hZn0pO3ZhciBzPWkoMTY3NTAyKSxuPWkoMzA0MjIxKSxyPWkoNzQwMTYyKSxvPWkoNzAwODA5KSxhPWkoNjAxODQxKSxsPWkoMTM4NjM4KSxjPWkoMjIxMDYxKSxoPWkoMjMyMzY0KSxkPWkoNDAyMDQ1KSx1PWkoOTUyOTAwKSxwPWkoMTg1MjcxKSxfPWkoOTU4NTAwKSxtPWkoODYwNDQyKTt2YXIgZz1pKDE5ODkwMSksZj1pKDk0ODM4MCk7ZnVuY3Rpb24gUyhlKXtjb25zdCB0PXt9O3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKCgoaSxzKT0+e2Uuc3Vic2NyaWJlKHQsaSwhMCl9KSksZGVzdHJveTooKT0+ewplLnVuc3Vic2NyaWJlQWxsKHQpfX19dmFyIHY9aSgzNjIyODkpLHk9aSg1NzA2MDMpO2NvbnN0IGI9KCk9PlByb21pc2UuYWxsKFtpLmUoMTExNTEpLGkuZSg5MzUyOCldKS50aGVuKGkuYmluZChpLDIwNTY1NikpO2Z1bmN0aW9uIHcoZSx0PXt9KXtyZXR1cm4gYigpLnRoZW4oKGk9PmkuY29weVRvQ2xpcGJvYXJkSW1hZ2VPZkNoYXJ0KGUsdCkpKX1mdW5jdGlvbiBDKGUsdD17fSl7cmV0dXJuIGIoKS50aGVuKChpPT5pLmdldEltYWdlT2ZDaGFydFNpbGVudGx5KGUsdCkpKX12YXIgUD1pKDg4MzA1MyksVD1pKDY3ODI4NSkseD1pKDI1NDY3MyksTT1pKDg4MjA3OCksST1pKDQ2NTEzNyksTD1pKDc5ODM4KSxBPWkoMTI4OTk4KSxrPWkoNjY1MTg3KSxEPWkoMjAwNjY2KSxFPWkoNzY1MTczKTtjb25zdCBSPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IHRvb2xiYXJzIHRoZW1lIixwLnQobnVsbCx2b2lkIDAsaSg2NjMxMjgpKSk7Y2xhc3MgViBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGk9ITApe3N1cGVyKFIpLHRoaXMuX3ByZXZUaGVtZU5hbWU9ZSx0aGlzLl90aGVtZU5hbWU9dCx0aGlzLl9zeW5jU3RhdGU9aX11bmRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fcHJldlRoZW1lTmFtZSkmJigoMCxELnNldFRoZW1lKSh0aGlzLl9wcmV2VGhlbWVOYW1lKSx0aGlzLl9zeW5jU3RhdGUmJigwLGsuc3luY1RoZW1lKSgpKX1yZWRvKCl7KDAsay5pc1N0ZFRoZW1lTmFtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpJiYoKDAsRC5zZXRUaGVtZSkodGhpcy5fdGhlbWVOYW1lLnRvTG93ZXJDYXNlKCkpLHRoaXMuX3N5bmNTdGF0ZSYmKDAsay5zeW5jVGhlbWUpKCkpfX1jbGFzcyBCIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG49ITApe3N1cGVyKHMsdm9pZCAwLG4pLHRoaXMuX3NldHRlcj1lLHRoaXMuX29sZFZhbHVlPXQsdGhpcy5fbmV3VmFsdWU9aX1yZWRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX25ld1ZhbHVlKX11bmRvKCl7dGhpcy5fc2V0dGVyKHRoaXMuX29sZFZhbHVlKX19Y2xhc3MgTiBleHRlbmRzIEJ7Y29uc3RydWN0b3IoZSx0LGkscyxuPSEwKXtzdXBlcigoZT0+dGhpcy5fdndTdGF0ZS5zZXRWYWx1ZShlKSksdCxpLHMsbiksdGhpcy5fdndTdGF0ZT1lfX12YXIgTz1pKDcyMDA3Mik7Y29uc3QgVz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDk5MzkpKSk7Y2xhc3MgRiBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihXLmZvcm1hdCh7dGl0bGU6Ty5sYXlvdXRzW3RdLnRpdGxlfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX25ld0xheW91dFR5cGU9dCx0aGlzLl9vbGRMYXlvdXRUeXBlPWUubGF5b3V0LnZhbHVlKCl9cmVkbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fbmV3TGF5b3V0VHlwZSl9dW5kbygpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5zZXRMYXlvdXQodGhpcy5fb2xkTGF5b3V0VHlwZSl9fWNvbnN0IEg9KDAsYy5nZXRMb2dnZXIpKCJDb21tb24uVW5kb1N0YWNrIik7Y2xhc3Mgentjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbW1hbmRzPVtdLHRoaXMuX29uQ2hhbmdlPW5ldyBmLkRlbGVnYXRlfW9uQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX2NvbW1hbmRzLmxlbmd0aH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbW1hbmRzLmxlbmd0aH1jbGVhcigpe3RoaXMuaXNFbXB0eSgpfHwodGhpcy5fY29tbWFuZHMubGVuZ3RoPTAsdGhpcy5fb25DaGFuZ2UuZmlyZSgpKX1wdXNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEUuVW5kb0NvbW1hbmQpKXRocm93IG5ldyBUeXBlRXJyb3IoImFyZ3VtZW50IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVW5kb0NvbW1hbmQiKTt0aGlzLl9jb21tYW5kcy5wdXNoKGUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9cG9wKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIHZvaWQgSC5sb2dEZWJ1ZygicG9wOiB1bmRvIHN0YWNrIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9jb21tYW5kcy5wb3AoKTtyZXR1cm4gdGhpcy5fb25DaGFuZ2UuZmlyZShlKSxlfWhlYWQoKXtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuIHRoaXMuX2NvbW1hbmRzW3RoaXMuX2NvbW1hbmRzLmxlbmd0aC0xXX19Y2xhc3MgVSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwhMSksdGhpcy5fc3ViY29tbWFuZHM9W119YWRkQ29tbWFuZChlKXt0aGlzLl9zdWJjb21tYW5kcy5wdXNoKGUpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aH1yZWRvKGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5fc3ViY29tbWFuZHMubGVuZ3RoO3QrKyl0aGlzLl9zdWJjb21tYW5kc1t0XS5yZWRvKGUpfXVuZG8oZSl7Zm9yKGxldCB0PXRoaXMuX3N1YmNvbW1hbmRzLmxlbmd0aC0xO3Q+PTA7dC0tKXRoaXMuX3N1YmNvbW1hbmRzW3RdLnVuZG8oZSl9Y29tbWFuZHMoKXtyZXR1cm4gdGhpcy5fc3ViY29tbWFuZHN9YWZmZWN0c1N0YXRlKCl7cmV0dXJuIHRoaXMuX3N1YmNvbW1hbmRzLnNvbWUoKGU9PmUuYWZmZWN0c1N0YXRlKCkpKX19Y29uc3QgRz0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5VbmRvSGlzdG9yeSIpO3ZhciBqPWkoNTE4NzUpLHE9aSg5MzAyMzEpLCQ9aSgxNzk3NzEpLFk9aSg3MjcwOSksSz1pKDIzNTcyNCksWD1pKDExNzMxMyksWj1pKDIwOTM5KSxKPWkoMzE4OTc0KSxRPWkoOTMwNTY2KSxlZT1pKDI5NjI2Mik7Y2xhc3MgdGUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXt0aGlzLl9sb2FkKCkudGhlbigodD0+e3RoaXMuX2RpYWxvZz8uaGlkZSgpLAp0aGlzLl9kaWFsb2c/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZz10LHQudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHQuc2hvdyhlKSwkLmVtaXQoImNvbXBhcmVfYWRkIil9KSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfV9sb2FkKCl7cmV0dXJuIFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDMyNzgpLGkuZSgxNzMzNildKS50aGVuKGkuYmluZChpLDU0NzU3NykpLFByb21pc2UuYWxsKFtpLmUoMzMyMjUpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg5NTA0KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTgwODQpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoNDk1ODgpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg1MDIyMSksaS5lKDMzNTE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDcxNDE0KSxpLmUoNjU3KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoMzIxNzYpLGkuZSg5NzQ0KSxpLmUoODMwNDEpLGkuZSgxOTUxMyksaS5lKDcxNTI4KSxpLmUoODg2NDEpLGkuZSg1MjA5NSksaS5lKDU1MzM2KSxpLmUoOTIzOTMpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDcwOTIpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTAwMzUpLGkuZSg4MTEwNyksaS5lKDY4NTc5KSxpLmUoNjY0NyksaS5lKDQ3MjAxKSxpLmUoODAwNDEpLGkuZSg4NzY3MyksaS5lKDQzODA4KSxpLmUoNDYwNTUpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgyMzc0MyksaS5lKDQyMjg4KSxpLmUoNzc1NzgpLGkuZSg4OTQ2KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDk5MzA5KSxpLmUoNjg3MjUpLGkuZSg2MzQwMiksaS5lKDU3MDkzKSxpLmUoNDg2NTIpLGkuZSgxMzMxKSxpLmUoMjIzNDcpXSkudGhlbihpLmJpbmQoaSw1NzMxNjMpKV0pLnRoZW4oKChbZSx0XSk9Pntjb25zdCBpPW5ldyBlLkNvbXBhcmVNb2RlbCh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pO3JldHVybiB0LmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcihpKX0pKX19Y2xhc3MgaWUgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3N1YnNjcmliZT1lPT57dGhpcy5fc2V0VmlzaWJpbGl0eShlKX0sdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWV9c2hvdyhlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbixzPXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtyZXR1cm4gcy5nZW5lcmFsUHJvcGVydGllc0RlZmluaXRpb25zKCkudGhlbigobj0+UHJvbWlzZS5hbGwoW2kuZSgyNzA0MCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg1NjI1MiksaS5lKDgzNDg4KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDk1MDQpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg5MzQyMSksaS5lKDc4NjUyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDQ3NjMyKSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDkxODU1KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSgyNzczNiksaS5lKDg3NzQwKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDI3MjEpLGkuZSg0NTI0MiksaS5lKDc4NjMpLGkuZSg0NjI0NSksaS5lKDk4NTA5KSxpLmUoNTUyOTApLGkuZSg5MTY3MCksaS5lKDg2NTQ0KSxpLmUoMzIzODcpLGkuZSg4MDkxNSksaS5lKDQwNzU0KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg1MDYyNSldKS50aGVuKGkuYmluZChpLDc2ODM4OCkpLnRoZW4oKGk9Pntjb25zdCByPW5ldyBpLkdlbmVyYWxDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcih7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQscHJvcGVydHlQYWdlczpuLGFjdGl2ZVBhZ2VJZDp0aGlzLl9hY3RpdmVQYWdlSWQsbW9kZWw6cy5tb2RlbCgpfSk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPXIsci52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksci5zaG93KGUpLHRoaXMuX2FjdGl2ZVBhZ2VJZD12b2lkIDAscn0pKSkpfWhpZGUoKXt0aGlzLl9kaWFsb2c/LmhpZGUoKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy52aXNpYmxlKCkudmFsdWUoKX0KZm9jdXNPblRleHQoKXt9c2V0QWN0aXZlUGFnZShlKXt0aGlzLl9hY3RpdmVQYWdlSWQ9ZX19Y2xhc3Mgc2UgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobnVsbCksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3RhcmdldEluZGV4PXR9cmVkbygpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMuX3RhcmdldEluZGV4LHZvaWQgMCx0aGlzLl9wYW5lSWQpO3RoaXMuX3BhbmVJZD1lLmlkKCl9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYW5lSWQpLHQ9dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZpbmQoKHQ9PnQuaWQoKT09PWUpKTt2b2lkIDAhPT10JiZ0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVBhbmUodCl9Y3JlYXRlZFBhbmVJZCgpe3JldHVybiB0aGlzLl9wYW5lSWR9fXZhciBuZT1pKDQwMTUyMykscmU9aSg0MDg3NzUpO2NvbnN0IG9lPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiLHAudChudWxsLHZvaWQgMCxpKDIwOTU5OSkpKTtjbGFzcyBhZSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG9lKSx0aGlzLl9zd2FwcGVyPWUsdGhpcy5fZnJvbT10LHRoaXMuX3RvPWl9cmVkbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9dW5kbygpe3RoaXMuX3N3YXBwZXIodGhpcy5fZnJvbSx0aGlzLl90byl9fXZhciBsZT1pKDQ5NzAxOCksY2U9aSgxNDc4MDUpLGhlPWkoMjM0OTY0KSxkZT1pKDU1NDY1NCk7aSg3MjI1NzEpO3ZhciB1ZT1pKDUyODg3Mik7dmFyIHBlPWkoNzU0ODY0KSxfZT1pKDU5MjM3MCksbWU9aSgzNzgwOCk7Y29uc3QgZ2U9InJlcGxheV9tb2RlIjtmdW5jdGlvbiBmZSgpe3JldHVybiBKLkNoZWNrTW9iaWxlLmFueSgpPyJBY3RpdmVDaGFydCI6US5nZXRWYWx1ZShnZSwiQWN0aXZlQ2hhcnQiKX1jb25zdCBTZT0oMCxtZS5jcmVhdGVQcmltaXRpdmVQcm9wZXJ0eSkoZmUoKSk7ZnVuY3Rpb24gdmUoZSl7Y29uc3R7ZnVsbElkOnQscGluZTppfT1lO3JldHVybmAke3R9JHtpP2Bbdi4ke2kudmVyc2lvbn1dYDoiIn1gfVEub25TeW5jLnN1YnNjcmliZShudWxsLCgoKT0+U2Uuc2V0VmFsdWUoZmUoKSkpKSxTZS5zdWJzY3JpYmUobnVsbCwoKCk9PlEuc2V0VmFsdWUoZ2UsU2UudmFsdWUoKSkpKTtjb25zdCB5ZT0vKFtcdywlLCQsOyxALC1dKilcW3YuKFtcdywuLC1dKilcXS87ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD15ZS5leGVjKGUpO3JldHVybiB0P3tmdWxsSWQ6dFsxXSxwaW5lOnt2ZXJzaW9uOnRbMl19fTp7ZnVsbElkOmV9fXZhciB3ZT1pKDc3MDc1NSksQ2U9aSg0NzkzNCksUGU9aSg1NjkzOTgpLFRlPWkoNjMxNjM0KSx4ZT1pKDU2OTg0NiksTWU9aSg3MzYwNjMpLEllPWkoMTU2ODUwKSxMZT1pKDQ5MDQ0Nik7Y29uc3QgQWU9KDAsYy5nZXRMb2dnZXIpKCJUaW1pbmdzTWV0ZXIuU2VydmljZSIpLGtlPSgwLGMuZ2V0TG9nZ2VyKSgiVGltaW5nc01ldGVyLlN0YXRzIix7bWF4Q291bnQ6MTYwfSk7dmFyIERlOyFmdW5jdGlvbihlKXtlW2UuSW52YWxpZFRpbWU9LTFdPSJJbnZhbGlkVGltZSIsZVtlLkxvZ2dlckR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0xNWUzXT0iTG9nZ2VyRHVtcFRpbWluZ3NTdGF0c0ludGVydmFsIixlW2UuVGVsZW1ldHJ5RHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPTZlNV09IlRlbGVtZXRyeUR1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbCJ9KERlfHwoRGU9e30pKTtjb25zdCBFZT17W0xlLkludmFsaWRhdGlvbkxldmVsLk5vbmVdOiJub25lIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yXToiY3Vyc29yIixbTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHRdOiJsaWdodCIsW0xlLkludmFsaWRhdGlvbkxldmVsLkZ1bGxdOiJmdWxsIn07ZnVuY3Rpb24gUmUoZSx0KXtyZXR1cm4gZS5sYXN0VGltZT10LGUudG90YWxUaW1lKz10LCsrZS5jb3VudCx0PmUubWF4VGltZSYmKGUubWF4VGltZT10KSxlfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlLnRvRml4ZWQoMil9ZnVuY3Rpb24gQmUoZSl7Y29uc3QgdD1lLmNvdW50O2lmKDA9PT10KXJldHVybiJubyBldmVudHMiO2NvbnN0IGk9ZS50b3RhbFRpbWUvdCxzPVZlKGUubWF4VGltZSk7cmV0dXJuYGNvdW50PSR7dH0sIGxhc3Q9JHtWZShlLmxhc3RUaW1lKX0sIG1heD0ke3N9LCBhdmc9JHtWZShpKX1gfWNsYXNzIE5le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY3VycmVudERyYXdJdGVtcz17fSx0aGlzLl9jdXJyZW50V2FpdGluZ0l0ZW09e2NvdW50OjAsbGFzdFRpbWU6MCxtYXhUaW1lOjAsdG90YWxUaW1lOjB9LHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLHRoaXMuX2xvZ1ByZWZpeD1gWyR7ZX1dYCx0aGlzLl9kdW1wVGltdG91dD10fXN0YXJ0Q29sbGVjdCgpezAhPT10aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwmJihBZS5sb2dXYXJuKGAke3RoaXMuX2xvZ1ByZWZpeH0gTXVsdGlwbGUgc3RhcnQgZGV0ZWN0ZWRgKSx0aGlzLnN0b3BDb2xsZWN0KCkpLHRoaXMuX2NsZWFyQ3VycmVudFN0YXRlKCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsPXNldEludGVydmFsKHRoaXMuX2R1bXBUaW1pbmdzU3RhdHMuYmluZCh0aGlzKSx0aGlzLl9kdW1wVGltdG91dCksQWUubG9nTm9ybWFsKGAke3RoaXMuX2xvZ1ByZWZpeH0gQ29sbGVjdGluZyBzdGFydGVkYCl9c3RvcENvbGxlY3QoKXswIT09dGhpcy5fZHVtcFRpbWluZ3NTdGF0c0ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9kdW1wVGltaW5nc1N0YXRzSW50ZXJ2YWwpLHRoaXMuX2R1bXBUaW1pbmdzU3RhdHNJbnRlcnZhbD0wLEFlLmxvZ05vcm1hbChgJHt0aGlzLl9sb2dQcmVmaXh9IENvbGxlY3Rpbmcgc3RvcHBlZC4gRHVtcGluZyBsYXN0IHN0YXRlLi4uYCksdGhpcy5fZHVtcFRpbWluZ3NTdGF0cygpKX11cGRhdGVUaW1pbmdzKGUsdCxpKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdPVJlKHRoaXMuX2N1cnJlbnREcmF3SXRlbXNbZV0/P3tjb3VudDowLGxhc3RUaW1lOjAsbWF4VGltZTowLHRvdGFsVGltZTowfSxpKSwKUmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtLHQpfV9kdW1wVGltaW5nc1N0YXRzKCl7dGhpcy5fY2xlYXJDdXJyZW50U3RhdGUoKX1fY2xlYXJDdXJyZW50U3RhdGUoKXt0aGlzLl9jdXJyZW50RHJhd0l0ZW1zPXt9LHRoaXMuX2N1cnJlbnRXYWl0aW5nSXRlbT17Y291bnQ6MCxsYXN0VGltZTowLG1heFRpbWU6MCx0b3RhbFRpbWU6MH19fWNsYXNzIE9lIGV4dGVuZHMgTmV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwxNWUzKX1fZHVtcFRpbWluZ3NTdGF0cygpe2NvbnN0IGU9W3RoaXMuX2xvZ1ByZWZpeCwiIGF3YWl0aW5nOiIsQmUodGhpcy5fY3VycmVudFdhaXRpbmdJdGVtKSwuLi5PYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5tYXAoKGU9PmA7ICR7ZX06ICR7QmUodGhpcy5fY3VycmVudERyYXdJdGVtc1tlXSl9YCkpXS5qb2luKCIiKTtrZS5sb2dOb3JtYWwoZSksc3VwZXIuX2R1bXBUaW1pbmdzU3RhdHMoKX19Y2xhc3MgV2UgZXh0ZW5kcyBOZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLDZlNSl9X2R1bXBUaW1pbmdzU3RhdHMoKXtPYmplY3Qua2V5cyh0aGlzLl9jdXJyZW50RHJhd0l0ZW1zKS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9jdXJyZW50RHJhd0l0ZW1zW2VdLGk9YGNoYXJ0X3JlbmRlcmluZ190aW1lXyR7ZX1fYXZnX3RpbWVgO0llLnRlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoaSx7dmFsdWU6dC50b3RhbFRpbWUvdC5jb3VudH0pfSkpLHN1cGVyLl9kdW1wVGltaW5nc1N0YXRzKCl9fWNsYXNzIEZle2NvbnN0cnVjdG9yKGUpe3RoaXMuX3dhaXREcmF3U3RhcnRUaW1lPS0xLHRoaXMuX3N0YXJ0RHJhd1RpbWU9LTEsdGhpcy5fY3VycmVudERyYXdMZXZlbD1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsLHRoaXMuX2N1cnJlbnRDaGFydFN0eWxlPTEsdGhpcy5fYWdncmVnYXRvcnM9W10sdGhpcy5fYWdncmVnYXRvcnMucHVzaChuZXcgT2UoZSkpLHRoaXMuX2FnZ3JlZ2F0b3JzLnB1c2gobmV3IFdlKGUpKX1kZXN0cm95KCl7dGhpcy5zdG9wQ29sbGVjdCgpfXN0YXJ0Q29sbGVjdCgpe3RoaXMuX2FnZ3JlZ2F0b3JzLmZvckVhY2goKGU9PntlLnN0YXJ0Q29sbGVjdCgpfSkpfXN0b3BDb2xsZWN0KCl7dGhpcy5fYWdncmVnYXRvcnMuZm9yRWFjaCgoZT0+e2Uuc3RvcENvbGxlY3QoKX0pKX1zdGFydFdhaXRpbmdEcmF3KCl7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpfXN0YXJ0RHJhdyhlLHQpe3RoaXMuX3N0YXJ0RHJhd1RpbWU9d2luZG93LnBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2N1cnJlbnREcmF3TGV2ZWw9ZSx0aGlzLl9jdXJyZW50Q2hhcnRTdHlsZT10fXN0b3BEcmF3KCl7Y29uc3QgZT13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7aWYoLTE9PT10aGlzLl9zdGFydERyYXdUaW1lfHwtMT09PXRoaXMuX3dhaXREcmF3U3RhcnRUaW1lKXJldHVybjtjb25zdCB0PXRoaXMuX3N0YXJ0RHJhd1RpbWUtdGhpcy5fd2FpdERyYXdTdGFydFRpbWU7dGhpcy5fd2FpdERyYXdTdGFydFRpbWU9LTE7Y29uc3QgaT1lLXRoaXMuX3N0YXJ0RHJhd1RpbWUscz0obj10aGlzLl9jdXJyZW50RHJhd0xldmVsLHI9dGhpcy5fY3VycmVudENoYXJ0U3R5bGUsbj09PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0P2Ake0VlW25dfV8ke0wuU1RZTEVfU0hPUlRfTkFNRVNbcl19YDpFZVtuXSk7dmFyIG4scjt0aGlzLl9hZ2dyZWdhdG9ycy5mb3JFYWNoKChlPT57ZS51cGRhdGVUaW1pbmdzKHMsdCxpKX0pKSx0aGlzLl9zdGFydERyYXdUaW1lPS0xfX12YXIgSGU9aSgzODMzNTEpLHplPWkoODA5OTkzKSxVZT1pKDYzMjY4NiksR2U9aSgzMzk1MSksamU9aSg2ODkwMjEpLHFlPWkoMjE0OTg3KSwkZT1pKDc4MzU5Myk7Y29uc3QgWWU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fdGltZXJXb3JrZXI9bnVsbCx0aGlzLl90aW1lcklkQ291bnRlcj0xLHRoaXMuX3RpbWVyc01hcD1uZXcgTWFwLHRoaXMuX3JlamVjdHNUb0NhbGw9bmV3IFNldCx0aGlzLl9wcm9jZXNzTWVzc2FnZT1lPT57Y29uc3QgdD10aGlzLl90aW1lcnNNYXAuZ2V0KGUuZGF0YS50dXJuYXJvdW5kKTtzd2l0Y2goZS5kYXRhLnR5cGUpe2Nhc2UidGltZXJDcmVhdGVkIjp0JiYodC5zY2hlZHVsZWRGb3JSZW1vdmluZz8oImludGVydmFsIj09PXQudHlwZT90aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDplLmRhdGEuaWR9KTp0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOmUuZGF0YS5pZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpOnQud29ya2VyVGltZXJJZD1lLmRhdGEuaWQpO2JyZWFrO2Nhc2UidGltZXJGaXJlZCI6dCYmKHQuY2FsbGJhY2soKSwidGltZW91dCI9PT10LnR5cGUmJnRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlLmRhdGEudHVybmFyb3VuZCkpfX19ZGVzdHJveSgpe3RoaXMuX3JlamVjdHNUb0NhbGwuZm9yRWFjaCgoZT0+ZSgoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKSkpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsLHRoaXMuX3RpbWVyc01hcC5jbGVhcigpfXNldFRpbWVvdXQoZSx0KXtyZXR1cm4gdGhpcy5fc2V0VGltZW91dEltcGwoZSx0LCJ0aW1lb3V0Iil9Y2xlYXJUaW1lb3V0KGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhclRpbWVvdXQiLGlkOnQud29ya2VyVGltZXJJZH0pLHRoaXMuX2RlbGV0ZVRpbWVyRnJvbU1hcChlKSk6dC5zY2hlZHVsZWRGb3JSZW1vdmluZz0hMCl9c2V0SW50ZXJ2YWwoZSx0KXtjb25zdCBpPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQoaSx7Y2FsbGJhY2s6ZSx0eXBlOiJpbnRlcnZhbCJ9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRJbnRlcnZhbCIsZGVsYXk6dCx0dXJuYXJvdW5kOml9KSxpfQpjbGVhckludGVydmFsKGUpe2NvbnN0IHQ9dGhpcy5fdGltZXJzTWFwLmdldChlKTt0JiYodC53b3JrZXJUaW1lcklkPyh0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJjbGVhckludGVydmFsIixpZDp0LndvcmtlclRpbWVySWR9KSx0aGlzLl9kZWxldGVUaW1lckZyb21NYXAoZSkpOnQuc2NoZWR1bGVkRm9yUmVtb3Zpbmc9ITApfWFzeW5jIGNyZWF0ZVRpbWVvdXQoZSx0KXtsZXQgaTtyZXR1cm4gbmV3IFByb21pc2UoKChzLG4pPT57aT1uLHRoaXMuX3JlamVjdHNUb0NhbGwuYWRkKGkpO2NvbnN0IHI9dGhpcy5zZXRUaW1lb3V0KHMsZSk7dD8uc2lnbmFsPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT57dGhpcy5jbGVhclRpbWVvdXQociksbigoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKX0pKS5maW5hbGx5KCgoKT0+e3RoaXMuX3JlamVjdHNUb0NhbGwuZGVsZXRlKGkpfSkpfWFzeW5jKmNyZWF0ZUludGVydmFsKGUsdCl7bGV0IGk9KCk9Pnt9LHM9ZT0+e307Y29uc3Qgbj10aGlzLnNldEludGVydmFsKCgoKT0+e2koKX0pLGUpO3Quc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKCk9Pnt0aGlzLmNsZWFySW50ZXJ2YWwobikscygoMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpKX0pKTt0cnl7Zm9yKDs7KWF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+e2k9ZSx0aGlzLl9yZWplY3RzVG9DYWxsLmRlbGV0ZShzKSxzPXQsdGhpcy5fcmVqZWN0c1RvQ2FsbC5hZGQocyl9KSkseWllbGR9Y2F0Y2goZSl7aWYoISgwLHFlLmlzQWJvcnRFcnJvcikoZSkpdGhyb3cgZX19X2dldFRpbWVyV29ya2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLl90aW1lcldvcmtlciYmKHRoaXMuX3RpbWVyV29ya2VyPW5ldyAkZS5Xb3JrZXIobmV3IFVSTChpLnAraS51KDg0MjA2KSxpLmIpLHtuYW1lOiJUaW1lciB3b3JrZXIiLGxhbmd1YWdlOndpbmRvdy5sYW5ndWFnZX0pLHRoaXMuX3RpbWVyV29ya2VyLm9ubWVzc2FnZT10aGlzLl9wcm9jZXNzTWVzc2FnZSksdGhpcy5fdGltZXJXb3JrZXJ9X3NldFRpbWVvdXRJbXBsKGUsdCxpKXtjb25zdCBzPXRoaXMuX25leHRUaW1lcklkKCk7cmV0dXJuIHRoaXMuX3RpbWVyc01hcC5zZXQocyx7Y2FsbGJhY2s6ZSx0eXBlOml9KSx0aGlzLl9nZXRUaW1lcldvcmtlcigpLnBvc3RNZXNzYWdlKHt0eXBlOiJzZXRUaW1lb3V0IixkZWxheTp0LHR1cm5hcm91bmQ6c30pLHN9X2RlbGV0ZVRpbWVyRnJvbU1hcChlKXtpZih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLDA9PT10aGlzLl90aW1lcnNNYXAuc2l6ZSl7Y29uc3QgZT10aGlzLl9zZXRUaW1lb3V0SW1wbCgoKCk9PnsxPT09dGhpcy5fdGltZXJzTWFwLnNpemUmJnRoaXMuX3RpbWVyc01hcC5oYXMoZSkmJih0aGlzLl90aW1lcnNNYXAuZGVsZXRlKGUpLHRoaXMuX3RpbWVyV29ya2VyPy50ZXJtaW5hdGUoKSx0aGlzLl90aW1lcldvcmtlcj1udWxsKX0pLDZlNCwidGVybWluYWxfdGltZXIiKX19X25leHRUaW1lcklkKCl7cmV0dXJuIHRoaXMuX3RpbWVySWRDb3VudGVyKyt9fSxLZT1uZXcgU2V0KFsiY2hhcnRfc3RvcmFnZV9oaWJlcm5hdGlvbl9kZWxheV82MG1pbiIsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iXSk7dmFyIFhlOyFmdW5jdGlvbihlKXtlW2UuT25lTWludXRlPTZlNF09Ik9uZU1pbnV0ZSIsZVtlLkZpdmVNaW51dGVzPTNlNV09IkZpdmVNaW51dGVzIixlW2UuVGVuTWludXRlcz02ZTVdPSJUZW5NaW51dGVzIixlW2UuU2l4dHlNaW51dGVzPTM2ZTVdPSJTaXh0eU1pbnV0ZXMifShYZXx8KFhlPXt9KSk7Y29uc3QgWmU9bmV3IGguV2F0Y2hlZFZhbHVlKEplKCkpO2Z1bmN0aW9uIEplKCl7cmV0dXJuKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iKT8zNmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIik/NmU1OigwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzVtaW4iKT8zZTU6NmU0fSgwLFBlLm9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQpKCkuc3Vic2NyaWJlKG51bGwsKGU9PntpZighZnVuY3Rpb24oZSl7cmV0dXJuIEtlLmhhcyhlKX0oZSkpcmV0dXJuO2NvbnN0IHQ9SmUoKTtaZS5zZXRWYWx1ZSh0LCExKX0pKTtjb25zdCBRZT1aZS5yZWFkb25seSgpLGV0PSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdfc3RvcmFnZV9zdWJzY3JpcHRpb25fdXJsIik7ZnVuY3Rpb24gdHQoZSl7Y29uc3QgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbH49ImNoYXJ0LXN0b3JhZ2Utbm90aWZpY2F0aW9ucyJdJyk7cmV0dXJuIHQ/LmhyZWY/ZT9uZXcgVVJMKGUsdC5ocmVmKTpuZXcgVVJMKHQuaHJlZik6bnVsbH12YXIgaXQ7ZnVuY3Rpb24gc3QoZSx0KXtyZXR1cm4gQm9vbGVhbihlLm1ldGFJbmZvLnVpZC52YWx1ZSgpKSYmIXQuY29udGFpbnNEYXRhJiYhdC5vbldpZGdldCYmZnVuY3Rpb24oKXtpZighKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpKXJldHVybiEwO2NvbnN0IGU9L1RyYWRpbmdWaWV3XC8oXGQrKVwuKFxkKylcLihcZCspXC4/Ly5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2lmKG51bGw9PT1lKXJldHVybiEwO2NvbnN0IHQ9TnVtYmVyKGVbMV0pLTEsaT1OdW1iZXIoZVsyXSktMTUscz1OdW1iZXIoZVszXSktMDtpZih0PjB8fDA9PT10JiZpPjB8fDA9PT10JiYwPT09aSYmcz4wKXJldHVybiEwO3JldHVybiExfSgpJiZudWxsIT09dHQoKX0hZnVuY3Rpb24oZSl7ZVtlLk1pbk1ham9yVmVyc2lvbj0xXT0iTWluTWFqb3JWZXJzaW9uIixlW2UuTWluTWlub3JWZXJzaW9uPTE1XT0iTWluTWlub3JWZXJzaW9uIixlW2UuTWluUGF0Y2hWZXJzaW9uPTBdPSJNaW5QYXRjaFZlcnNpb24ifShpdHx8KGl0PXt9KSk7Y29uc3QgbnQ9KDAsYy5nZXRMb2dnZXIpKCJDaGFydFN0b3JhZ2VDaGFuZ2VzU3Vic2NyaXB0aW9uIikKO2NsYXNzIHJ0IGV4dGVuZHMgemUuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKGU9PnRoaXMuX29uTWVzc2FnZShlKSkpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkNoYW5nZVZpc2liaWxpdHlCb3VuZD10aGlzLl9vbkNoYW5nZVZpc2liaWxpdHkuYmluZCh0aGlzKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPW51bGwsdGhpcy5faGliZXJuYXRlRGVsYXk9UWUuc3Bhd24oKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcz1uZXcgU2V0LHRoaXMuX2hhdmVFdmVyQmVlbkhpYmVybmF0ZWQ9ITEsdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSx0aGlzLl9maXJlQmVmb3JlVW5oaWJlcm5hdGluZ09uUmVjb25uZWN0VGltZXJJZD0wLHRoaXMuX3JlY29ubmVjdD0oKT0+e3RoaXMuX3RyeVJlY29ubmVjdCgpfSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uPWUsdGhpcy5fbGF5b3V0VmlzaWJpbGl0eT1lLnJlc2l6ZXJCcmlkZ2UoKS52aXNpYmxlLnNwYXduKCksdGhpcy5fbGF5b3V0VmlzaWJpbGl0eS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VWaXNpYmlsaXR5Qm91bmQse2NhbGxXaXRoTGFzdDohMH0pLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25faW5pdGlhbF9jb25uZWN0IiksdGhpcy5fY29ubmVjdGlvblN0YXR1cy5zdWJzY3JpYmUoKGU9PntlPT09VWUuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQmJkllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19zdWJzY3JpcHRpb25fZGlzY29ubmVjdGVkIil9KSksdGhpcy5fc3Vic2NyaWJlRm9yU2hhcmluZ0xheW91dD10LHRoaXMuY29ubmVjdCgpLHRoaXMuX2hpYmVybmF0ZURlbGF5LnN1YnNjcmliZSgoZT0+e251bGwhPT10aGlzLl9oaWJlcm5hdGVUaW1lcklkJiZ0aGlzLl9zY2hlZHVsZUhpYmVybmF0aW9uKGUpfSkpLHRoaXMuX2NoYXJ0V2lkZ2V0c0NvbGxlY3Rpb24ubWV0YUluZm8udWlkLnN1YnNjcmliZSh0aGlzLl9yZWNvbm5lY3QpfWRlc3Ryb3koKXt0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LmRlc3Ryb3koKSx0aGlzLl9oaWJlcm5hdGVEZWxheS5kZXN0cm95KCksdGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudW5zdWJzY3JpYmUodGhpcy5fcmVjb25uZWN0KSx0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9c3Vic2NyaWJlT25DaGFuZ2VzKGUpe3RoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5hZGQoZSl9dW5zdWJzY3JpYmVPbkNoYW5nZXMoZSl7dGhpcy5fb25DaGFuZ2VzQ2FsbGJhY2tzLmRlbGV0ZShlKX1iZWZvcmVVbmhpYmVybmF0aW5nKCl7cmV0dXJuIHRoaXMuX2JlZm9yZVVuaGliZXJuYXRpbmd9YXN5bmMgX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRXaWRnZXRzQ29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKTtpZih0aGlzLl9kZXN0cm95ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KCJTdWJzY3JpcHRpb24gaXMgYmVpbmcgZGVzdHJveWVkIik7Y29uc3QgaT1hd2FpdCgwLEdlLmdldFN0b3JhZ2VUYXJnZXQpKHQsIiIsMCkscz10dChldD9gL2F1dGgvY2hhcnRzLXN0b3JhZ2UvbGF5b3V0LyR7dH0vc3Vic2NyaWJlYDpgL2NoYXJ0cy1zdG9yYWdlL2xheW91dC8ke3R9L3N1YnNjcmliZWApO251bGwhPT1zPyhzLnNlYXJjaFBhcmFtcy5kZWxldGUoImp3dCIpLGV0fHxzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImp3dCIsaS50b2tlbiksZXQ/cy5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpZCIsInByaXZhdGUiKTp0aGlzLl9zdWJzY3JpYmVGb3JTaGFyaW5nTGF5b3V0JiZ3aW5kb3cudXNlci5pZCYmd2luZG93LnVzZXIuaXNfcHJvJiZzLnNlYXJjaFBhcmFtcy5hcHBlbmQoImlkIiwiIit3aW5kb3cudXNlci5pZCksdGhpcy5fdXJsPXMudG9TdHJpbmcoKSk6dGhpcy5fdXJsPSIifV90cnlSZWNvbm5lY3RJbXBsKCl7c3VwZXIuX3RyeVJlY29ubmVjdEltcGwoKSxJZS50ZWxlbWV0cnkuc2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoImxpbmVfdG9vbHNfc3Vic2NyaXB0aW9uX3JlY29ubmVjdGluZyIpfV9vbk9wZW5DYWxsYmFjaygpe3N1cGVyLl9vbk9wZW5DYWxsYmFjaygpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3QmJihudC5sb2dOb3JtYWwoIlVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fYmVmb3JlVW5oaWJlcm5hdGluZy5maXJlKCksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMSxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPTApfV9vbk1lc3NhZ2UoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiV3JvbmcgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCBzdHJpbmciKTtjb25zdCB0PUpTT04ucGFyc2UoZSk7T2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsamUucGFyc2VMaW5lVG9vbHNBbmRHcm91cHNEVE8pKGVbMV0sIiIpLGk9ZVswXTtsZXQgcz0wO2k9PT1HZS5zaGFyZWRDaGFydElkP3M9MTppPT09R2UuZ2xvYmFsbHlTaGFyZWRDaGFydElkJiYocz0yKSx0aGlzLl9jaGFydFdpZGdldHNDb2xsZWN0aW9uLmFwcGx5TGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oaSx0LHMpfSkpLHRoaXMuX29uQ2hhbmdlc0NhbGxiYWNrcy5mb3JFYWNoKCh0PT50KGUpKSl9X29uQ2hhbmdlVmlzaWJpbGl0eSgpe2NvbnN0IGU9dGhpcy5fbGF5b3V0VmlzaWJpbGl0eS52YWx1ZSgpO250LmxvZ05vcm1hbChgVmlzaWJpbGl0eSBjaGFuZ2VkIHRvICR7ZX0sIGNvbm5lY3Rpb24gc3RhdHVzOiAke3RoaXMuY29ubmVjdGlvblN0YXR1cygpLnZhbHVlKCl9YCksCmU/dGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKSE9PVVlLkNvbm5lY3Rpb25TdGF0dXMuT3Blbj8odGhpcy5jb25uZWN0aW9uU3RhdHVzKCkudmFsdWUoKT09PVVlLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiZ0aGlzLmNvbm5lY3QoKSx0aGlzLl9iZWZvcmVVbmhpYmVybmF0aW5nLmZpcmUoKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkJiYobnQubG9nTm9ybWFsKCJDb25uZWN0IGR1ZSB0byBiZWNvbWluZyB2aXNpYmxlIiksSWUudGVsZW1ldHJ5LnNlbmRMaW5lVG9vbHNTdG9yYWdlUmVwb3J0KCJsaW5lX3Rvb2xzX3VuaGliZW5hdGVfc3Vic2NyaXB0aW9uIikpKTooKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHxKLkNoZWNrTW9iaWxlLmlPUygpfHxKLkNoZWNrTW9iaWxlLkFuZHJvaWQoKSkmJihudC5sb2dOb3JtYWwoIlNjaGVkdWxlIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMCxjbGVhclRpbWVvdXQodGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdFRpbWVySWQpLHRoaXMuX2ZpcmVCZWZvcmVVbmhpYmVybmF0aW5nT25SZWNvbm5lY3RUaW1lcklkPXNldFRpbWVvdXQoKCgpPT57bnQubG9nTm9ybWFsKCJDYW5jZWwgU2NoZWR1bGVkIHVuaGliZXJuYXRpbmcgb24gcmVjb25uZWN0IiksdGhpcy5fZmlyZUJlZm9yZVVuaGliZXJuYXRpbmdPblJlY29ubmVjdD0hMX0pLDVlMykpOmV8fHRoaXMuX3NjaGVkdWxlSGliZXJuYXRpb24oUWUudmFsdWUoKSl9X3NjaGVkdWxlSGliZXJuYXRpb24oZSl7bnVsbCE9PXRoaXMuX2hpYmVybmF0ZVRpbWVySWQmJlllLmNsZWFyVGltZW91dCh0aGlzLl9oaWJlcm5hdGVUaW1lcklkKSx0aGlzLl9oaWJlcm5hdGVUaW1lcklkPVllLnNldFRpbWVvdXQoKCgpPT50aGlzLl9kaXNjb25uZWN0SWZJbnZpc2libGUoKSksZSl9X2Rpc2Nvbm5lY3RJZkludmlzaWJsZSgpe3RoaXMuX2hpYmVybmF0ZVRpbWVySWQ9bnVsbCx0aGlzLl9sYXlvdXRWaXNpYmlsaXR5LnZhbHVlKCl8fChudC5sb2dOb3JtYWwoIkRpc2Nvbm5lY3QgZHVlIHRvIGJlY29taW5nIGludmlzaWJsZSIpLHRoaXMuZGlzY29ubmVjdCgpLEllLnRlbGVtZXRyeS5zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydCgibGluZV90b29sc19oaWJlbmF0ZV9zdWJzY3JpcHRpb24iKSx0aGlzLl9oYXZlRXZlckJlZW5IaWJlcm5hdGVkPSEwKX19dmFyIG90PWkoNzkxNDI3KSxhdD1pKDYwNTI1NyksbHQ9aSgxNTAxNTApLGN0PWkoNjQxNTkzKSxodD1pKDU1NzA2NSk7Y29uc3QgZHQ9KDAsYy5nZXRMb2dnZXIpKCJDbGlwYm9hcmQiKTt2YXIgdXQ7IWZ1bmN0aW9uKGUpe2UuTWFnaWNBdHRyTmFtZT0iZGF0YS10cmFkaW5ndmlldy1jbGlwIn0odXR8fCh1dD17fSkpO2NsYXNzIHB0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2U9ZX13cml0ZShlKXtyZXR1cm4oMCxodC53cml0ZUltcGwpKHRoaXMuX3RvUmF3KGUpLHRoaXMuX2UpfV90b1JhdyhlKXtjb25zdCB0PXtmaWxlczpbXX07dC50ZXh0PWUudGV4dCx2b2lkIDAhPT1lLmFwcD90Lmh0bWw9dGhpcy5fc2VyaWFsaXplQXBwRGF0YShlLmFwcCxlLnRleHQpOmUuaHRtbCYmKHQuaHRtbD1lLmh0bWwpO2Zvcihjb25zdCBpIG9mIGUuZmlsZXN8fFtdKXQuZmlsZXMucHVzaChpKTtyZXR1cm4gdH1fc2VyaWFsaXplQXBwRGF0YShlLHQpe2NvbnN0IGk9KDAsY3QuaHRtbEVzY2FwZSkoZSkscz10PygwLGN0Lmh0bWxFc2NhcGUpKHQuc2xpY2UoMCwyNTYpKToiJiMxMjgyMDA7IjtyZXR1cm5gPG1ldGEgY2hhcnNldD0idXRmLTgiPjxzcGFuICR7dXQuTWFnaWNBdHRyTmFtZX09IiR7aX0iPiR7c308L3NwYW4+YH19Y2xhc3MgX3R7Y29uc3RydWN0b3IoZSl7dGhpcy5fZT1lfWFzeW5jIHJlYWQoKXt0aGlzLl9lJiYwPT09dGhpcy5fZS5ldmVudFBoYXNlJiYoZHQubG9nV2FybigiQ2Fubm90IHVzZSBhbiBhbHJlYWR5IGRpc3BhdGNoZWQgQ2xpcGJvYXJkRXZlbnQgZm9yIHJlYWRpbmciKSx0aGlzLl9lPW51bGwpO2NvbnN0IGU9dGhpcy5fZT90aGlzLl9yZWFkVXNpbmdFdmVudCh0aGlzLl9lKTphd2FpdCB0aGlzLl9yZWFkVXNpbmdBcGkoKTtyZXR1cm4gdGhpcy5fZnJvbVJhdyhlKX1fcmVhZFVzaW5nRXZlbnQoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZSkoZS5jbGlwYm9hcmREYXRhKTtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT17ZmlsZXM6W119O2ZvcihsZXQgZT0wO2U8dC5maWxlcy5sZW5ndGg7ZSsrKWkuZmlsZXMucHVzaCh0LmZpbGVzW2VdKTtmb3IobGV0IGU9MDtlPHQuaXRlbXMubGVuZ3RoO2UrKyl7Y29uc3Qgcz10Lml0ZW1zW2VdOyJzdHJpbmciPT09cy5raW5kJiYoInRleHQvcGxhaW4iPT09cy50eXBlP2kudGV4dD10LmdldERhdGEocy50eXBlKToidGV4dC9odG1sIj09PXMudHlwZT9pLmh0bWw9dC5nZXREYXRhKHMudHlwZSk6aS5maWxlcy5wdXNoKG5ldyBCbG9iKFt0LmdldERhdGEocy50eXBlKV0se3R5cGU6cy50eXBlfSkpKX1yZXR1cm4gaX1hc3luYyBfcmVhZFVzaW5nQXBpKCl7Y29uc3QgZT0oMCxodC5nZXRDbGlwYm9hcmQpKCk7aWYoIWV8fCFlLnJlYWQpdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0LGk7Y29uc3Qgcz1bXSxuPWF3YWl0IGUucmVhZCgpO2Zvcihjb25zdCBlIG9mIG4pZm9yKGNvbnN0IG4gb2YgZS50eXBlcykidGV4dC9odG1sIj09PW4/dD1lLmdldFR5cGUobikudGhlbih0aGlzLl9yZWFkQmxvYkFzVGV4dCk6InRleHQvcGxhaW4iPT09bj9pPWUuZ2V0VHlwZShuKS50aGVuKHRoaXMuX3JlYWRCbG9iQXNUZXh0KTpzLnB1c2goZS5nZXRUeXBlKG4pKTtyZXR1cm57dGV4dDphd2FpdCBpLGh0bWw6YXdhaXQgdCxmaWxlczphd2FpdCBQcm9taXNlLmFsbChzKX19X2Zyb21SYXcoZSl7Y29uc3QgdD17fTtpZih2b2lkIDAhPT1lLnRleHQmJih0LnRleHQ9ZS50ZXh0KSx2b2lkIDAhPT1lLmh0bWwpe2NvbnN0IGk9dGhpcy5fcGFyc2VBcHBEYXRhKGUuaHRtbCk7aT90LmFwcD1pOnQuaHRtbD1lLmh0bWx9CnJldHVybiBlLmZpbGVzLmxlbmd0aD4wJiYodC5maWxlcz1lLmZpbGVzKSx0fV9wYXJzZUFwcERhdGEoZSl7aWYoLTE9PT1lLnNsaWNlKDAsMTAyNCkuaW5kZXhPZih1dC5NYWdpY0F0dHJOYW1lKSlyZXR1cm47Y29uc3QgdD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLnF1ZXJ5U2VsZWN0b3IoYFske3V0Lk1hZ2ljQXR0ck5hbWV9XWApO3JldHVybiB0P3QuZ2V0QXR0cmlidXRlKHV0Lk1hZ2ljQXR0ck5hbWUpfHwiIjp2b2lkIDB9X3JlYWRCbG9iQXNUZXh0KGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsaSk9Pntjb25zdCBzPW5ldyBGaWxlUmVhZGVyO3Mub25sb2FkZW5kPSgpPT57dChzLnJlc3VsdCl9LHMub25lcnJvcj0oKT0+e2kocy5lcnJvcil9LHMucmVhZEFzVGV4dChlKX0pKX19Y2xhc3MgbXR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FsbGJhY2tzPU9iamVjdC5hc3NpZ24oe30sZSksdGhpcy5fYm91bmRPbkNvcHk9dGhpcy5fb25Db3B5RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uQ3V0PXRoaXMuX29uQ3V0RXYuYmluZCh0aGlzKSx0aGlzLl9ib3VuZE9uUGFzdGU9dGhpcy5fb25QYXN0ZUV2LmJpbmQodGhpcyl9bGlzdGVuKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsdGhpcy5fYm91bmRPbkNvcHkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImN1dCIsdGhpcy5fYm91bmRPbkN1dCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLHRoaXMuX2JvdW5kT25QYXN0ZSl9YXN5bmMgcGVlaygpe2lmKCJncmFudGVkIiE9PShhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoe25hbWU6ImNsaXBib2FyZC1yZWFkIn0pKS5zdGF0ZSl0aHJvdyBuZXcgRXJyb3IoImNsaXBib2FyZC1yZWFkIGlzIG5vdCBncmFudGVkIik7cmV0dXJuIG5ldyBfdChudWxsKS5yZWFkKCl9dWlSZXF1ZXN0Q29weShlKXt0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmNvcHlSZXF1ZXN0ZWQobmV3IHB0KG51bGwpLGUpfXVpUmVxdWVzdEN1dChlKXt0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY3V0UmVxdWVzdGVkKG5ldyBwdChudWxsKSxlKX11aVJlcXVlc3RQYXN0ZShlKXt0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QobnVsbCksZSl9ZGVzdHJveSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLHRoaXMuX2JvdW5kT25Db3B5KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjdXQiLHRoaXMuX2JvdW5kT25DdXQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhc3RlIix0aGlzLl9ib3VuZE9uUGFzdGUpfV9vbkNvcHlFdihlKXtlLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuX2NhbGxiYWNrcy5jb3B5UmVxdWVzdGVkJiZ0aGlzLl9jYWxsYmFja3MuY29weVJlcXVlc3RlZChuZXcgcHQoZSkpfV9vbkN1dEV2KGUpe2UuZGVmYXVsdFByZXZlbnRlZHx8dGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZCYmdGhpcy5fY2FsbGJhY2tzLmN1dFJlcXVlc3RlZChuZXcgcHQoZSkpfV9vblBhc3RlRXYoZSl7ZS5kZWZhdWx0UHJldmVudGVkfHx0aGlzLl9jYWxsYmFja3MucGFzdGVSZXF1ZXN0ZWQmJnRoaXMuX2NhbGxiYWNrcy5wYXN0ZVJlcXVlc3RlZChuZXcgX3QoZSkpfX12YXIgZ3Q9aSg3MjEzNjkpO2Z1bmN0aW9uIGZ0KGUpe2NvbnN0IHQ9ZS50YXJnZXQ7cmV0dXJuIG51bGwhPT10JiYxPT09dC5ub2RlVHlwZSYmKDAsZ3QuaXNUZXh0RWRpdGluZ0ZpZWxkKSh0KX1mdW5jdGlvbiBTdChlKXtjb25zdCB0PWUudGFyZ2V0O2lmKG51bGw9PT10KXJldHVybiExO2NvbnN0IGk9KHQub3duZXJEb2N1bWVudHx8dCkuZ2V0U2VsZWN0aW9uKCk7cmV0dXJuIG51bGwhPT1pJiYhaS5pc0NvbGxhcHNlZH1jbGFzcyB2dCBleHRlbmRzIG10e19vbkNvcHlFdihlKXtpZighZnQoZSkmJiFTdChlKSlyZXR1cm4gc3VwZXIuX29uQ29weUV2KGUpfV9vbkN1dEV2KGUpe2lmKCFmdChlKSYmIVN0KGUpKXJldHVybiBzdXBlci5fb25DdXRFdihlKX1fb25QYXN0ZUV2KGUpe2lmKCFmdChlKSlyZXR1cm4gc3VwZXIuX29uUGFzdGVFdihlKX19dmFyIHl0PWkoOTE4Nzc5KSxidD1pKDgzOTQyNiksd3Q9aSgxNDQ1NTUpLEN0PWkoNjM5Nzg4KSxQdD1pKDczNjUzMSksVHQ9aSg0NTk5OTQpLHh0PWkoNzI4NTQpLE10PWkoMzg2OTMxKSxJdD1pKDQyNTY1OSksTHQ9aSgyOTExMjkpLEF0PWkoNzY4NzYwKSxrdD1pKDEwMjUzKSxEdD1pKDY4Mjc3OSksRXQ9aSg5OTQ1NDApLFJ0PWkoNzQ0NTM0KTtsZXQgVnQ7Y2xhc3MgQnQgZXh0ZW5kcyBlZS5EaWFsb2dSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fc3Vic2NyaWJlPWU9Pnt0aGlzLl9zZXRWaXNpYmlsaXR5KGUpfX1zaG93KCl7dGhpcy5fbG9hZCgpLnRoZW4oKGU9PmUuc2hvdygpKSl9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBWdHx8KFZ0PW5ldyBCdCksVnR9X2xvYWQoKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoNjIyNyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgyMzYyNCksaS5lKDM2MjIyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSg5NjU4NyksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSgzNzUxMyksaS5lKDg1NzkpLGkuZSg5NTA0KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDk4MDg0KSxpLmUoOTM0MjEpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNDc2MzIpLGkuZSg2NjA1KSxpLmUoNzE0MTQpLGkuZSg4OTIwNCksaS5lKDg5NTU4KSxpLmUoOTc0NCksaS5lKDY5ODYxKSxpLmUoMTk1MTMpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzA2NTYpLGkuZSg3MTkwMSksaS5lKDgxMjQ3KSxpLmUoMzkxNiksaS5lKDkwMzc4KSxpLmUoNzkyNyksaS5lKDY2MjI5KSxpLmUoNzkzOTgpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMjM3NDMpLGkuZSg0MjI4OCksaS5lKDc3NTc4KSxpLmUoOTkzMDkpLGkuZSg3NjAzMyksaS5lKDI0ODc5KSxpLmUoNTc2MzgpLGkuZSg4NDk1MildKS50aGVuKGkuYmluZChpLDkyMDY0KSkudGhlbigoZT0+KHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyBlLk9iamVjdFRyZWVEaWFsb2dSZW5kZXJlcix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zdWJzY3JpYmUpLHRoaXMuX2RpYWxvZykpKX19dmFyIE50PWkoNjI4MDYpLE90PWkoNzY4MjkyKTt2YXIgV3QsRnQ9aSg4OTkyMzUpO2FzeW5jIGZ1bmN0aW9uIEh0KGUsdCxzLG4scixvPSJkZWZhdWx0Iil7bGV0IGwsYz1bXTtjb25zdCBoPWUubW9kZWwoKS5tb2RlbCgpLGQ9KDAsYS5jbG9uZSkodCksdT1uZXcgT3QuUHJvcGVydHkoe2lucHV0czpkfSksXz1mdW5jdGlvbihlLHQpe3JldHVybiJzeW1ib2wiPT09dD9lLmlucHV0cy5maWx0ZXIoKHQ9PnQuaWQ9PT1lLnN5bWJvbElucHV0SWQoKSkpOmUuaW5wdXRzLmZpbHRlcigoZT0+ZS5jb25maXJtKSl9KHMsbyksbT0oKT0+e2wmJmgucmVtb3ZlQ3VzdG9tU291cmNlKGwpfSxnPSgpPT57bSgpLHIoKX0sZj1lPT57bih7aW5wdXRzOmUscGFyZW50U291cmNlczpjfSksbSgpfSxTPV8uZmlsdGVyKE50LmlzVGltZU9yUHJpY2VOb3RIaWRkZW5JbnB1dCk7aWYoUy5sZW5ndGg+MCl0cnl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDU0MTY4NikpLG49YXdhaXQgdC5zZWxlY3RJbnB1dFZhbHVlc09uQ2hhcnQoZSxTLHUscy5zaG9ydERlc2NyaXB0aW9uLHMuaW5wdXRzKTtpZihsPW4uY3VzdG9tU291cmNlSWQsbi5kZXN0UGFuZSYmb3QuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJbnB1dElkcyhzKS5sZW5ndGg+MCl7Y29uc3QgZT1uLmRlc3RQYW5lLm1haW5EYXRhU291cmNlKCk7Yz1lPT09aC5tYWluU2VyaWVzKCk/W106W2VdfWVsc2UgYz1bXX1jYXRjaChlKXtyZXR1cm4gdm9pZCBnKCl9Uy5sZW5ndGghPT1fLmxlbmd0aD9Qcm9taXNlLmFsbChbaS5lKDU1MDc5KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoNTE2ODIpLGkuZSg5NzY2MCksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSgzOTc4NiksaS5lKDUwNjIyKSxpLmUoNjA4MiksaS5lKDI3MzM3KSxpLmUoMjc3MzYpLGkuZSgzODQ3OSksaS5lKDkwMzMwKSxpLmUoOTYxODEpLGkuZSgyMDU2NCksaS5lKDQ1MzMxKSxpLmUoNDYyNDUpLGkuZSg2OTgwMyksaS5lKDMyMzg3KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzAzOSldKS50aGVuKGkuYmluZChpLDQyMTIwNSkpLnRoZW4oKHQ9PnsKY29uc3Qgbj1uZXcgdC5Db25maXJtSW5wdXRzRGlhbG9nUmVuZGVyZXIoZnVuY3Rpb24oZSl7aWYoInN5bWJvbCI9PT1lKXJldHVybiBwLnQobnVsbCx2b2lkIDAsaSgzNDQzMjApKTtyZXR1cm4gcC50KG51bGwsdm9pZCAwLGkoNzQ3MjU5KSl9KG8pLF8sdSxvLHMsZixnLCgwLEZ0LmdldFRpbWV6b25lTmFtZSkoZS5tb2RlbCgpKSk7cmV0dXJuIG4uc2hvdygpLG59KSk6Zih1LnN0YXRlKCkuaW5wdXRzfHx7fSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TeW1ib2w9InN5bWJvbCJ9KFd0fHwoV3Q9e30pKTtsZXQgenQ9bnVsbDt2YXIgVXQ9aSg2NTQ2MzYpLEd0PWkoMTg5ODYzKSxqdD1pKDIyMzU1Nik7ZnVuY3Rpb24gcXQoZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9ZnVuY3Rpb24gJHQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2Zvcihjb25zdCBpIGluIHQpaWYocXQodCxpKSl7Y29uc3Qgcz10W2ldLG49ZVtpXTtuP24ucHVzaChzKTplW2ldPVtzXX1yZXR1cm4gZX0pLHt9KX12YXIgWXQsS3Q9aSgxNTEyMSksWHQ9aSg0NjQ4MzUpOyFmdW5jdGlvbihlKXtlW2UuQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscz0uMDAzXT0iQWNjZWxlcmF0aW9uUGVyTVNlY1BpeGVscyIsZVtlLk1heFNwZWVkUGVyTVNlY1BpeGVscz0xLjFdPSJNYXhTcGVlZFBlck1TZWNQaXhlbHMifShZdHx8KFl0PXt9KSk7Y2xhc3MgWnR7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2hhcnRNb2RlbD1udWxsLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQud2l0aE1vZGVsKHRoaXMsKCgpPT57dGhpcy5fY2hhcnRNb2RlbD10aGlzLl9jaGFydC5tb2RlbCgpfSkpfWRlc3Ryb3koKXt0aGlzLl9hbmltYXRpb24/LnN0b3AoKX1tb3ZlKGUpe2lmKG51bGwhPT10aGlzLl9jaGFydE1vZGVsKXtpZih0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD0uMDAzLGk9MS4xLHM9TWF0aC5yb3VuZChpL3QpO3RoaXMuX21vdmVJbXBsKCgobixyLG8pPT57Y29uc3QgYT1NYXRoLm1pbihyLHMpLGw9ZSp0Kk1hdGgucG93KGEsMikvMjtpZihyPD1zKXJldHVybiBuK2w7Y29uc3QgYz1OdW1iZXIuaXNGaW5pdGUobyk/TWF0aC5tYXgoMCxzLW8pOjA7cmV0dXJuIG4rbCtlKihyLWEtYykqaStlKihpKmMtdCpNYXRoLnBvdyhjLDIpLzIpfSksKGU9Pk1hdGgubWF4KDAscy1lKStzKSl9fW1vdmVCeUJhcihlKXtpZihudWxsIT09dGhpcy5fY2hhcnRNb2RlbCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYodC5pc0VtcHR5KCl8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPTMwMCxuPWkubGFzdEJhcigpO3RoaXMuX21vdmVJbXBsKCgoaSxyKT0+e2NvbnN0IG89TWF0aC5mbG9vcihNYXRoLm1heCgwLHItcykvMTAwKSsxLGE9bitlKm8sbD10LmluZGV4VG9Db29yZGluYXRlKG4pO3JldHVybiBpKyh0LmluZGV4VG9Db29yZGluYXRlKGEpLWwpfSksKCgpPT4wKSwhMCl9fXN0b3BNb3ZlKCl7dGhpcy5fYW5pbWF0aW9uPy5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPW51bGx9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjt0aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSx0KTtjb25zdCBpPXRoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpOyFpLmxvY2suZGF0ZVJhbmdlLnZhbHVlKCkmJmkubG9jay50cmFja1RpbWUudmFsdWUoKSYmaS5jaGFydE1vZGVscygpLnZhbHVlKCkuZm9yRWFjaCgodD0+e3QhPT10aGlzLl9jaGFydE1vZGVsJiZ0LnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoZSl9KSl9c2Nyb2xsVG9GaXJzdEJhcigpe3RoaXMuX2NoYXJ0TW9kZWw/LnRpbWVTY2FsZSgpLnNjcm9sbFRvRmlyc3RCYXIoKX1fbW92ZUltcGwoZSx0LGkpe2lmKG51bGw9PT10aGlzLl9jaGFydE1vZGVsKXJldHVybjtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2lmKGkmJm51bGwhPT1zLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSl7Y29uc3QgZT1zLmluZGV4VG9Db29yZGluYXRlKHMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLmxhc3RCYXIoKSkrcy5iYXJTcGFjaW5nKCkvMjtNYXRoLmFicyhzLndpZHRoKCktZSk+cy5iYXJTcGFjaW5nKCkvNiYmcy5zZXRSaWdodE9mZnNldChNYXRoLnJvdW5kKHMucmlnaHRPZmZzZXQoKSkpfWNvbnN0IG49cGVyZm9ybWFuY2Uubm93KCk7bGV0IHI9MS8wO3RoaXMuX2FuaW1hdGlvbj17Z2V0U3RhcnRQb3NpdGlvbjooKT0+MCxnZXRQb3NpdGlvbjp0PT4odD1NYXRoLm1pbihyLHQpLGUoMCx0LW4sci10KSksZmluaXNoZWQ6ZT0+ZT49cixzdG9wOigpPT57Y29uc3QgZT1wZXJmb3JtYW5jZS5ub3coKS1uO3I9cGVyZm9ybWFuY2Uubm93KCkrdChlKX19LHRoaXMuX2NoYXJ0TW9kZWwubW9kZWwoKS5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCksdGhpcy5fY2hhcnRNb2RlbC5tb2RlbCgpLnNldFRpbWVTY2FsZUFuaW1hdGlvbih0aGlzLl9hbmltYXRpb24pfX12YXIgSnQ9aSgxODcwNjIpO2xldCBRdD1udWxsO2Z1bmN0aW9uIGVpKGUsdCxzLG4scixvKXsKcmV0dXJuIFByb21pc2UuYWxsKFtpLmUoMjk0MzkpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDgzMDQxKSxpLmUoNTE2ODIpLGkuZSgyMDIpLGkuZSg5NzY2MCksaS5lKDcyNTEyKSxpLmUoMzUxOTgpLGkuZSgxNTYzNCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDIzNjY5KSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSg3NTYwMyksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDI1MjM3KV0pLnRoZW4oaS5iaW5kKGksNDg4OTQ4KSkudGhlbigoaT0+e1F0Py5oaWRlKCk7Y29uc3QgYT1pLkVkaXRPYmplY3REaWFsb2dSZW5kZXJlcjtyZXR1cm4gUXQ9bmV3IGEoZSx0LHMscixvKSxRdC5zaG93KG4pLFF0fSkpfXZhciB0aT1pKDk1NjQzNyk7bGV0IGlpPW51bGw7ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGUmJmUubG9sbGlwb3BzQXRJbmRleH12YXIgbmk9aSg5MjY5OTUpLHJpPWkoMzY4MTEwKSxvaT1pKDMyMjQxOSk7Y29uc3QgYWk9e1tKdC5UYWJOYW1lcy5zeW1ib2xdOiJzeW1ib2wiLFtKdC5UYWJOYW1lcy5sZWdlbmRdOiJsZWdlbmQiLFtKdC5UYWJOYW1lcy5zY2FsZXNdOiJzY2FsZXMiLFtKdC5UYWJOYW1lcy50cmFkaW5nXToidHJhZGluZyIsW0p0LlRhYk5hbWVzLmV2ZW50c106ImV2ZW50cyIsW0p0LlRhYk5hbWVzLmFsZXJ0c106ImFsZXJ0cyIsW0p0LlRhYk5hbWVzLnRpbWV6b25lU2Vzc2lvbnNdOiJjYW52YXMiLFtKdC5UYWJOYW1lcy50ZXh0XToidGV4dCIsW0p0LlRhYk5hbWVzLnN0eWxlXToic3R5bGUiLFtKdC5UYWJOYW1lcy52aXNpYmlsaXR5XToidmlzaWJpbGl0eSJ9LGxpPXtbSnQuVGFiTmFtZXMuc3R5bGVdOiJzdHlsZSIsW0p0LlRhYk5hbWVzLnZpc2liaWxpdHldOiJ2aXNpYmlsaXRpZXMifTthc3luYyBmdW5jdGlvbiBjaShlLHQscz17fSxuLHIpe2NvbnN0IG89bi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLHtpbml0aWFsVGFiOmwsdGFiTmFtZTpjfT1zO2lmKGMmJiFsJiYocy5pbml0aWFsVGFiPWxpW2NdKSwoMCxvaS5pc1N0dWR5TGluZVRvb2wpKGUpJiZmdW5jdGlvbihlKXtpZighKDAsb2kuaXNTdHVkeUxpbmVUb29sKShlKSlyZXR1cm4hMTtyZXR1cm5bIkxpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGUiLCJMaW5lVG9vbFZiUEZpeGVkIiwiTGluZVRvb2xBbmNob3JlZFZvbHVtZVByb2ZpbGUiXS5maWx0ZXIoYS5ub3ROdWxsKS5zb21lKCh0PT5lLnRvb2xuYW1lPT09dCkpfShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigoaT0+bnVsbCE9PWk/ZWkoZSx0LG5pLnNob3dTdXBwb3J0RGlhbG9nLHMscixpKTpudWxsKSk7aWYoKDAsdGkuaXNTdHVkeSkoZSkmJmZ1bmN0aW9uKGUpe2NvbnN0e3Nob3J0SWQ6dH09ZS5tZXRhSW5mbygpO3JldHVybiJPdmVybGF5Ij09PXR9KGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKSlyZXR1cm4gby5wcm9wZXJ0aWVzRGVmaW5pdGlvbnNGb3JTb3VyY2UoZSkudGhlbigobj0+e2lmKG51bGwhPT1uKXtyZXR1cm4gZnVuY3Rpb24oZSl7CnJldHVybiBQcm9taXNlLmFsbChbaS5lKDM3MDEyKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDU2MjUyKSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTEyMTgpLGkuZSg4NjQyMyksaS5lKDM3NTEzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDkzNDIxKSxpLmUoNzg2NTIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDcwODE1KSxpLmUoNzQzODEpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNjE4MjEpLGkuZSg1NzMwMCksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg1MTY4MiksaS5lKDIwMiksaS5lKDk3NjYwKSxpLmUoNzI1MTIpLGkuZSgzNTE5OCksaS5lKDMzMTIwKSxpLmUoNDA4NjcpLGkuZSgzOTc4NiksaS5lKDUwODAwKSxpLmUoNTA2MjIpLGkuZSg2MDgyKSxpLmUoMjczMzcpLGkuZSg0MDkxNCksaS5lKDI3NzM2KSxpLmUoODc3NDApLGkuZSg2NzU0MyksaS5lKDM4NDc5KSxpLmUoOTAzMzApLGkuZSg5NjE4MSksaS5lKDIwNTY0KSxpLmUoNTEyNTYpLGkuZSg0NTMzMSksaS5lKDQ1MjQyKSxpLmUoNzg2MyksaS5lKDQ2MjQ1KSxpLmUoNTUyOTApLGkuZSg3NDQ3MSksaS5lKDIwMzcwKSxpLmUoMTc4NjEpLGkuZSgzMjM4NyksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0MDc1NCksaS5lKDk1NTU0KSxpLmUoMjM3NDMpLGkuZSg3MjExKSxpLmUoOTkzMDkpLGkuZSg1NTIyOSksaS5lKDczNTM1KSxpLmUoMjY1MDEpLGkuZSgxMDk5OSksaS5lKDM4OTczKSxpLmUoOTY5NzApLGkuZSgxMjA2MCldKS50aGVuKGkuYmluZChpLDI3NzU5NykpLnRoZW4oKHQ9PntpaT8uaGlkZSgpO2NvbnN0IGk9dC5Tb3VyY2VQcm9wZXJ0aWVzRWRpdG9yUmVuZGVyZXI7cmV0dXJuIGlpPW5ldyBpKGUpLGlpLnNob3coe3Nob3VsZFJldHVybkZvY3VzOmUuc2hvdWxkUmV0dXJuRm9jdXN9KSxpaX0pKX0oe3Byb3BlcnR5UGFnZXM6bixtb2RlbDp0LHNvdXJjZTplLGFjdGl2ZVBhZ2VJZDpjJiZhaVtjXSxzaG91bGRSZXR1cm5Gb2N1czpzLnNob3VsZFJldHVybkZvY3VzfSl9cmV0dXJuIG51bGx9KSk7aWYoKDAsdGkuaXNTdHVkeVN0dWIpKGUpKXJldHVybiBudWxsO2lmKCgwLHRpLmlzU3R1ZHkpKGUpJiYhc2koZSkpcmV0dXJuIGVpKGUsdCxuaS5zaG93U3VwcG9ydERpYWxvZyxzLHIpO3tjb25zdCB0PXNpKGUpPyJldmVudHMiOmMmJmFpW2NdLGk9bi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpO3JldHVybiBpLnNldEFjdGl2ZVBhZ2UodCksaS5zaG93KHMpfX12YXIgaGksZGk9aSg4NzE3MCksdWk9aSg2NzAyMTQpLHBpPWkoMjI3ODI1KSxfaT1pKDc5MTUyMSksbWk9aSg1MDY0NDYpO2NsYXNzIGdpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U9bnVsbCx0aGlzLl9jdz1lLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLnNjcmVlbiksdC5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50KSx0aGlzLl9jdy53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9ZGVzdHJveSgpe3RoaXMuaGlkZSgpLHRoaXMuX2VsZW1lbnQucmVtb3ZlKCl9c2hvdyhlLHQpe2lmKGUpe2NvbnN0IGU9dGhpcy5fY3cubW9kZWwoKS5tYWluU2VyaWVzKCkuc3RhdHVzKCk7aWYoMSE9PWUmJjIhPT1lKXJldHVybn10aGlzLl9hZGRpdGlvbmFsUmVhZHlQcm9taXNlPXQsdGhpcy5fY3cuc2V0SW5Mb2FkaW5nU3RhdGUoITApLHRoaXMuX3Nob3dlZHx8KHRoaXMuX3Nob3dlZD0hMCx0aGlzLl9zaG93KCkpfWhpZGUoKXt0aGlzLl9jdy5zZXRJbkxvYWRpbmdTdGF0ZSghMSksdGhpcy5fc2hvd2VkJiZ0aGlzLl9oaWRlKCl9aXNTaG93bigpe3JldHVybiB0aGlzLl9zaG93ZWR9X2Nvbm5lY3RUb01vZGVsKCl7Y29uc3QgZT10aGlzLl9jdy5tb2RlbCgpLm1haW5TZXJpZXMoKSx0PWUuZGF0YUV2ZW50cygpO3Quc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcywoZT0+e2UhPT1faS5wZXJtaXNzaW9uRGVuaWVkJiZ0aGlzLmhpZGUoKX0pKSx0LnNlcmllc0Vycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9sb2FkaW5nX3NjcmVlbl9vbl9zZXJpZXNfZXJyb3IiKSYmdGhpcy5oaWRlKCl9KSksZS5zdGF0dXNXVigpLnN1YnNjcmliZSgoZT0+e2lmKDQhPT1lJiYxMiE9PWUmJjEzIT09ZSYmMTQhPT1lfHx0aGlzLmhpZGUoKSxMLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKGUpKXtjb25zdCBlPXRoaXMuX2FkZGl0aW9uYWxSZWFkeVByb21pc2U7ZT9lLnRoZW4oKCgpPT57dGhpcy5oaWRlKCl9KSk6dGhpcy5oaWRlKCl9fSkpfV9zaG93KCl7Y29uc3QgZT10aGlzLl9jdy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCk7bGV0IHQ7aWYoZS5iYWNrZ3JvdW5kVHlwZS52YWx1ZSgpPT09cGkuQ29sb3JUeXBlLlNvbGlkKXQ9ZS5iYWNrZ3JvdW5kLnZhbHVlKCk7ZWxzZXt0PWBsaW5lYXItZ3JhZGllbnQoJHtlLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IudmFsdWUoKX0sJHtlLmJhY2tncm91bmRHcmFkaWVudEVuZENvbG9yLnZhbHVlKCl9KWB9dGhpcy5fZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kPXQsdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKG1pLmZhZGUpfV9oaWRlKCl7dGhpcy5fc2hvd2VkPSExLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShtaS5mYWRlKX19ZnVuY3Rpb24gZmkoZSx0KXtsZXR7ZGVsdGFYOmksZGVsdGFZOnN9PWU7c3dpdGNoKGkvPTEwMCxzLz0xMDAsdC5kZWx0YU1vZGUpe2Nhc2UgdC5ET01fREVMVEFfUEFHRTppKj0xMjAscyo9MTIwO2JyZWFrCjtjYXNlIHQuRE9NX0RFTFRBX0xJTkU6aSo9MzIscyo9MzJ9cmV0dXJue2RlbHRhWDppLGRlbHRhWTpzfX0hZnVuY3Rpb24oZSl7ZVtlLk1heE5leHRFdmVudERlbGF5PTEwMF09Ik1heE5leHRFdmVudERlbGF5IixlW2UuSWdub3JlU21hbGxlckRlbHRhQ29lZmY9M109Iklnbm9yZVNtYWxsZXJEZWx0YUNvZWZmIn0oaGl8fChoaT17fSkpO2NsYXNzIFNpe2NvbnN0cnVjdG9yKCl7dGhpcy5fdG90YWxEZWx0YVg9MCx0aGlzLl90b3RhbERlbHRhWT0wLHRoaXMuX3ByZXZXaGVlbFRpbWU9MH1wcm9jZXNzV2hlZWwoZSl7ZS50aW1lU3RhbXAtdGhpcy5fcHJldldoZWVsVGltZT4xMDAmJnRoaXMuX3Jlc2V0KCk7Y29uc3QgdD0hKDAsSi5pc01hYykoKSYmZS5zaGlmdEtleSxpPXQ/LWUuZGVsdGFZOmUuZGVsdGFYLHM9dD9lLmRlbHRhWDplLmRlbHRhWTt0aGlzLl90b3RhbERlbHRhWCs9aSx0aGlzLl90b3RhbERlbHRhWSs9cyx0aGlzLl9wcmV2V2hlZWxUaW1lPWUudGltZVN0YW1wO2NvbnN0IG49e2RlbHRhWDppLGRlbHRhWTpzfTtyZXR1cm4gMD09PXRoaXMuX3RvdGFsRGVsdGFYfHwwPT09dGhpcy5fdG90YWxEZWx0YVl8fChNYXRoLmFicyh0aGlzLl90b3RhbERlbHRhWCk+PU1hdGguYWJzKDMqdGhpcy5fdG90YWxEZWx0YVkpJiYobi5kZWx0YVk9MCksTWF0aC5hYnModGhpcy5fdG90YWxEZWx0YVkpPj1NYXRoLmFicygzKnRoaXMuX3RvdGFsRGVsdGFYKSYmKG4uZGVsdGFYPTApKSxmaShuLGUpfV9yZXNldCgpe3RoaXMuX3RvdGFsRGVsdGFYPTAsdGhpcy5fdG90YWxEZWx0YVk9MH19dmFyIHZpLHlpPWkoMTM0NjcpLGJpPWkoNjQwNzQ0KSx3aT1pKDY2MzQpLENpPWkoMTI0MzM2KTshZnVuY3Rpb24oZSl7ZVtlLkhlaWdodD0xXT0iSGVpZ2h0IixlW2UuTWluUGFuZUhlaWdodD0zMF09Ik1pblBhbmVIZWlnaHQifSh2aXx8KHZpPXt9KSk7Y2xhc3MgUGl7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuX2hhbmRsZUVsPW51bGwsdGhpcy5fcmVzaXplSW5mbz1udWxsLHRoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjoiIixiYWNrZ3JvdW5kQ29sb3I6IiIsY29sb3I6IiJ9LHRoaXMuX3NlbGVjdGVkPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9jaGFydD1lLHRoaXMuX3RvcFBhbmVJbmRleD10LHRoaXMuX2JvdHRvbVBhbmVJbmRleD1pLHRoaXMuX2VsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENpLnBhbmVTZXBhcmF0b3IpLHRoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLHRoaXMuYWRqdXN0U2l6ZSgpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgoKT0+e30pKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NMaXN0LmFkZChDaS5oYW5kbGUpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQocyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHMsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiExLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMH0pLHRoaXMuX2hhbmRsZUVsPXMsdGhpcy5faGFuZGxlRWwuY2xhc3NMaXN0LnRvZ2dsZShDaS5tb2JpbGUsSi5DaGVja01vYmlsZS5hbnkoKSksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX3NlbGVjdGVkLnN1YnNjcmliZSgoZT0+dGhpcy5faGFuZGxlRWw/LmNsYXNzTGlzdC50b2dnbGUoQ2kuc2VsZWN0ZWQsZSkpKX1kZXN0cm95KCl7dGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudCYmdGhpcy5fZWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2VsZW1lbnQpfXRvcFBhbmVJbmRleCgpe3JldHVybiB0aGlzLl90b3BQYW5lSW5kZXh9Ym90dG9tUGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2JvdHRvbVBhbmVJbmRleH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9aGlkZSgpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIil9c2hvdygpe3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIil9c2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQucmVhZG9ubHkoKX1hZGp1c3RTaXplKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5oZWlnaHQ9UGkuaGVpZ2h0KCkrInB4In1tb3VzZUVudGVyRXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7bnVsbCE9PXQmJm51bGwhPT1pJiYoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmhvdmVyZWQpfW1vdXNlTGVhdmVFdmVudChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmhvdmVyZWQpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRhcEV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoIXRoaXMuX3NlbGVjdGVkLnZhbHVlKCkpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9zZWxlY3RlZC52YWx1ZSgpJiZ0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fc2VsZWN0ZWQudmFsdWUoKSYmdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fc2VsZWN0ZWQuc2V0VmFsdWUoITEpfXVwZGF0ZSgpe3RoaXMuX2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9jb2xvcigpLnRvU3RyaW5nKCl9cGFpbnQoKXt9aW1hZ2UoKXsKY29uc3R7dG9wUGFuZTplfT10aGlzLl90b3BCb3R0b21QYW5lKCExKSx0PWUubGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCkuZ2V0V2lkdGgoKSxpPWUud2lkdGgoKSxzPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLmdldFdpZHRoKCksbj10aGlzLl9jb2xvcigpLHI9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6dCxoZWlnaHQ6MX0pKSxvPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkocik7by5maWxsU3R5bGU9bixvLmZpbGxSZWN0KDAsMCx0LDEpO2NvbnN0IGE9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6aSxoZWlnaHQ6MX0pKSxsPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYSk7bC5maWxsU3R5bGU9bixsLmZpbGxSZWN0KDAsMCxpLDEpO2NvbnN0IGM9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCx5dC5zaXplKSh7d2lkdGg6cyxoZWlnaHQ6MX0pKSxoPSgwLEt0LmdldFByZXNjYWxlZENvbnRleHQyRCkoYyk7cmV0dXJuIGguZmlsbFN0eWxlPW4saC5maWxsUmVjdCgwLDAscywxKSx7dHlwZToic2VwYXJhdG9yIixsZWZ0QXhpczp7Y29udGVudDpyLnRvRGF0YVVSTCgpLGNhbnZhczpyLGNvbnRlbnRXaWR0aDp0LGNvbnRlbnRIZWlnaHQ6MX0scmlnaHRBeGlzOntjb250ZW50OmMudG9EYXRhVVJMKCksY2FudmFzOmMsY29udGVudFdpZHRoOnMsY29udGVudEhlaWdodDoxfSxjb250ZW50OmEudG9EYXRhVVJMKCksY2FudmFzOmEsY29udGVudFdpZHRoOmksY29udGVudEhlaWdodDoxfX1zdGF0aWMgaGVpZ2h0KCl7Y29uc3QgZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtyZXR1cm4gZT49MT8xOjEvZX1fbW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoZSl7Y29uc3R7dG9wUGFuZTp0LGJvdHRvbVBhbmU6aX09dGhpcy5fdG9wQm90dG9tUGFuZSghMCk7aWYobnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBzPXQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkraS5zdGF0ZSgpLnN0cmV0Y2hGYWN0b3IoKSxuPXMvKHQuaGVpZ2h0KCkraS5oZWlnaHQoKSkscj0zMCpuO3M8PTIqcnx8KHRoaXMuX3Jlc2l6ZUluZm89e3N0YXJ0WTplLnBhZ2VZLHByZXZTdHJldGNoVG9wUGFuZTp0LnN0YXRlKCkuc3RyZXRjaEZhY3RvcigpLG1heFBhbmVTdHJldGNoOnMtcix0b3RhbFN0cmV0Y2g6cyxwaXhlbFN0cmV0Y2hGYWN0b3I6bixtaW5QYW5lU3RyZXRjaDpyfSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QuYWRkKENpLmFjdGl2ZSkpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2NvbnN0e3RvcFBhbmU6dCxib3R0b21QYW5lOml9PXRoaXMuX3RvcEJvdHRvbVBhbmUoITApLHM9dGhpcy5fcmVzaXplSW5mbztpZihudWxsPT09c3x8bnVsbD09PXR8fG51bGw9PT1pKXJldHVybjtjb25zdCBuPShlLnBhZ2VZLXMuc3RhcnRZKSpzLnBpeGVsU3RyZXRjaEZhY3RvcixyPSgwLGJpLmNsYW1wKShzLnByZXZTdHJldGNoVG9wUGFuZStuLHMubWluUGFuZVN0cmV0Y2gscy5tYXhQYW5lU3RyZXRjaCk7dC5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3IociksaS5zdGF0ZSgpLnNldFN0cmV0Y2hGYWN0b3Iocy50b3RhbFN0cmV0Y2gtciksdGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtjb25zdHt0b3BQYW5lOnQsYm90dG9tUGFuZTppfT10aGlzLl90b3BCb3R0b21QYW5lKCEwKSxzPXRoaXMuX3Jlc2l6ZUluZm87bnVsbCE9PXMmJm51bGwhPT10JiZudWxsIT09aSYmKHRoaXMuX2NoYXJ0Lm1vZGVsKCkuYWRkUGFuZVN0cmV0Y2hGYWN0b3JVbmRvQ29tbWFuZCh0LnN0YXRlKCksaS5zdGF0ZSgpLHMucHJldlN0cmV0Y2hUb3BQYW5lLHQuc3RhdGUoKS5zdHJldGNoRmFjdG9yKCkpLHRoaXMuX3Jlc2l6ZUluZm89bnVsbCwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hhbmRsZUVsKS5jbGFzc0xpc3QucmVtb3ZlKENpLmFjdGl2ZSkpfV9jb2xvcigpe2NvbnN0IGU9dGhpcy5fY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLnNlcGFyYXRvckNvbG9yLnZhbHVlKCksdD10aGlzLl9jaGFydC5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9jb2xvckNhY2hlLmxpbmVDb2xvciE9PWV8fHRoaXMuX2NvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09dCl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYmEpKHQpLHM9KDAseWkucGFyc2VSZ2JhKShlKSxuPTA9PT1pWzNdJiYwPT09c1szXT8icmdiYSgwLDAsMCwwKSI6KDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5ibGVuZFJnYmEpKGkscykpO3RoaXMuX2NvbG9yQ2FjaGU9e2xpbmVDb2xvcjplLGJhY2tncm91bmRDb2xvcjp0LGNvbG9yOm59fXJldHVybiB0aGlzLl9jb2xvckNhY2hlLmNvbG9yfV90b3BCb3R0b21QYW5lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtsZXQgaT1udWxsLHM9bnVsbDtmb3IobGV0IHM9dGhpcy5fdG9wUGFuZUluZGV4O3M+PTA7LS1zKXtjb25zdCBuPXRbc107aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7aT1uO2JyZWFrfX1mb3IobGV0IGk9dGhpcy5fYm90dG9tUGFuZUluZGV4O2k8dC5sZW5ndGg7KytpKXtjb25zdCBuPXRbaV07aWYoIWV8fCFuLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7cz1uO2JyZWFrfX1yZXR1cm57dG9wUGFuZTppLGJvdHRvbVBhbmU6c319fXZhciBUaSx4aT1pKDk2NDQ4NiksTWk9aSg3NjMpLElpPWkoOTMwNTA2KSxMaT1pKDkwMTM3MCksQWk9aSgxODQ2MTYpLGtpPWkoMzI5NjY2KSxEaT1pKDc4NjQzNik7IWZ1bmN0aW9uKGUpe2VbZS5HZWFyPTBdPSJHZWFyIixlW2UuU3ltYm9sPTFdPSJTeW1ib2wiLGVbZS5BdXRvPTJdPSJBdXRvIn0oVGl8fChUaT17fSkpCjt2YXIgRWksUmk9aSg1OTA4OTQpLFZpPWkoNDM5ODc5KSxCaT1pKDgyMjcyNiksTmk9aSgyNTA0MzkpLE9pPWkoMzU2MzgwKSxXaT1pKDkyNjE0OSksRmk9aSg0NjYzNDEpOyFmdW5jdGlvbihlKXtlW2UuTGFiZWxSYWRpdXM9OS41XT0iTGFiZWxSYWRpdXMiLGVbZS5MYWJlbEZvbnRTaXplPTExXT0iTGFiZWxGb250U2l6ZSJ9KEVpfHwoRWk9e30pKTtjb25zdCBIaT17ZW5hYmxlVG9vbHRpcDohMCxzaG93TGFiZWxzOiEwLGVuYWJsZU1lbnU6ITAsZW5hYmxlSGlnaGxpZ2h0OiEwfTtmdW5jdGlvbiB6aShlLHQpe3JldHVybiBNYXRoLm1heCgxLE1hdGguZmxvb3IoZS5ib3JkZXJTaXplKnQpKX1jbGFzcyBVaXtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scj1udWxsKXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksdGhpcy5fb2Zmc2V0PTAsdGhpcy5fYXhpc0luZm89bnVsbCx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9oaWdobGlnaHRlZD0hMSx0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkPSExLHRoaXMuX2lzTW91c2VPdmVyU3R1Yj0hMSx0aGlzLl9sYWJlbE1vZGU9Mix0aGlzLl9maXhlZExhYmVsTW9kZT1udWxsLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSg1KSx0aGlzLl9nZWFyUmVuZGVyZXI9KDAsVmkuc3ZnUmVuZGVyZXIpKEZpKSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMudXBkYXRlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKX0sdGhpcy5fdGltZUF4aXNXaWRnZXQ9cix0aGlzLl9pc0xlZnQ9ImxlZnQiPT09ZTtjb25zdHtyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpvLHNvdXJjZXNUaXRsZXNQcm92aWRlcjphLGNvbnRleHRNZW51SXRlbXNQcm92aWRlcjpsLGJhY2tncm91bmRCYXNlZFRoZW1lOmMsb25BY3RpdmVPckhvdmVyZWRDaGFydDpkPW5ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCkscmVxdWVzdFJlcGFpbnQ6dSxnZXRCYWNrZ3JvdW5kVG9wQ29sb3I6cCxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6XyxzaG93SG9yaXpvbnRhbEJvcmRlcjptfT1zO3RoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyPW8sdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyPWEsdGhpcy5fY29udGV4dE1lbnVJdGVtc1Byb3ZpZGVyPWwsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9Yyx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PWQsdGhpcy5fcmVxdWVzdFJlcGFpbnQ9dSx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cCx0aGlzLl9nZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I9Xyx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlcj1Cb29sZWFuKG0pLHRoaXMuX3Byb3BlcnRpZXM9dCx0aGlzLl9heGlzSW5mbz1pLHRoaXMuX2xhYmVsT3B0aW9ucz17Li4uSGksLi4ubn0sdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlVG9vbHRpcCYmdGhpcy5fY2VsbC5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX2NlbGwuc3R5bGUud2lkdGg9IjI1cHgiLHRoaXMuX2NlbGwuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jZWxsLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLHRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzJiYodGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZVRvb2x0aXAmJigwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9jZWxsLCJ0ZXh0IiwoZT0+dGhpcy5fdG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQuc3Vic2NyaWJlKHUpKSx0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3JlcXVlc3RSZXBhaW50KCkpKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITAsdHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGc9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2cuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixnLnN0eWxlLmxlZnQ9IjAiLGcuc3R5bGUudG9wPSIwIix0aGlzLl9jZWxsLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9ZGVzdHJveSgpe3RoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fcHJvcGVydGllcy5saW5lQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnJlbGVhc2UoKSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnVuc3Vic2NyaWJlKHRoaXMuX3JlcXVlc3RSZXBhaW50KSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnJlbGVhc2UoKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfQp1cGRhdGUoKXt9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfW9uTGFiZWxIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX29uTGFiZWxIb3ZlcmVkfXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPWAke2Uud2lkdGh9cHhgLHRoaXMuX2NlbGwuc3R5bGUubWluV2lkdGg9YCR7ZS53aWR0aH1weGAsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9YCR7ZS5oZWlnaHR9cHhgKSx0aGlzLl9vZmZzZXQhPT10JiYodGhpcy5fb2Zmc2V0PXQsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PWAke3R9cHhgKX1wYWludChlKXswIT09dGhpcy5fc2l6ZS53aWR0aCYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGx8fGUuaW52YWxpZGF0ZVN0dWJzKSYmKCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyksdGhpcy5fcGFpbnRJbXBsKCgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSwoMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZykpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxLdC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXNCeVJlbmRlcmluZ0luZm8pKGRvY3VtZW50LGUpO3JldHVybiB0aGlzLl9wYWludEltcGwoKDAsS3QuZ2V0Q29udGV4dDJEKSh0KSxlLCEwKSx0fXNldExhYmVsTW9kZShlKXtlIT09dGhpcy5fbGFiZWxNb2RlJiYodGhpcy5fbGFiZWxNb2RlPWUsdGhpcy5fY2VsbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsMSE9PWUmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVUb29sdGlwKSl9X3BhaW50SW1wbChlLHQsaSl7dGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSx0aGlzLl9kcmF3VmVydGljYWxCb3JkZXIoZSx0KSx0aGlzLl9zaG93SG9yaXpvbnRhbEJvcmRlciYmdGhpcy5fZHJhd0hvcml6b250YWxCb3JkZXIoZSx0KSx0aGlzLl9sYWJlbE9wdGlvbnMuc2hvd0xhYmVscyYmdGhpcy5fZHJhd0xhYmVsKGUsdCxpKX1fc2V0SGlnaGxpZ2h0ZWQoZSl7dGhpcy5fbGFiZWxPcHRpb25zLmVuYWJsZUhpZ2hsaWdodCYmKHRoaXMuX29uTGFiZWxIb3ZlcmVkLmZpcmUoInN0dWJCdXR0b24iLGUpLHRoaXMuX2hpZ2hsaWdodGVkIT09ZSYmKHRoaXMuX2hpZ2hsaWdodGVkPWUpLHRoaXMuX3JlcXVlc3RSZXBhaW50KCkpfV9kcmF3VmVydGljYWxCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKTtjb25zdCBpPXppKHRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLm9wdGlvbnMoKSx0Lmhvcml6b250YWxQaXhlbFJhdGlvKSxzPXRoaXMuX2lzTGVmdD90LmJpdG1hcFNpemUud2lkdGgtaTowO2UuZmlsbFJlY3QocywwLGksdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9X2RyYXdIb3Jpem9udGFsQm9yZGVyKGUsdCl7ZS5zYXZlKCksZS5maWxsU3R5bGU9dGhpcy5faG9yekJvcmRlckNvbG9yKCk7Y29uc3QgaT16aSh0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlci5vcHRpb25zKCksdC52ZXJ0aWNhbFBpeGVsUmF0aW8pLHM9dGhpcy5faXNMZWZ0PzA6aTtlLmZpbGxSZWN0KHMsMCx0LmJpdG1hcFNpemUud2lkdGgtaSxpKSxlLnJlc3RvcmUoKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcigpLHM9dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yKCkse2JpdG1hcFNpemU6bn09dDtpZihpPT09cz8oMCxLdC5jbGVhclJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsaSk6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LGkscyksdGhpcy5faGlnaGxpZ2h0ZWQpe2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0xhYmVsKGUsdCxpKXtjb25zdCBzPXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCksbj10aGlzLl9heGlzSW5mbztpZihudWxsPT09bnx8IWkmJiF0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0LnZhbHVlKCkpcmV0dXJuO2NvbnN0e2JpdG1hcFNpemU6cixob3Jpem9udGFsUGl4ZWxSYXRpbzpvLHZlcnRpY2FsUGl4ZWxSYXRpbzphfT10LGw9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLG8pLGM9TWF0aC5yb3VuZChyLndpZHRoKS1sLGg9emkodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLGEpLGQ9TWF0aC5yb3VuZChyLmhlaWdodCktaCx1PSgwLFB0LnBvaW50KShsK2MvMixoK2QvMik7aWYoMT09PXRoaXMuX2xhYmVsTW9kZXx8Mj09PXRoaXMuX2xhYmVsTW9kZSYmKCF0aGlzLl9oaWdobGlnaHRlZHx8aSkpe2UuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siKSxlLmdsb2JhbEFscGhhPS41LGUuYmVnaW5QYXRoKCksZS5hcmModS54LHUueSw5LjUqbywwLDIqTWF0aC5QSSwhMCksZS5maWxsKCksZS5nbG9iYWxBbHBoYT0xLGUuZmlsbFN0eWxlPWsudGhlbWVzW3NdLmdldFRoZW1lZENvbG9yKCJjb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKDExLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLGUudGV4dEFsaWduPSJjZW50ZXIiLGUudGV4dEJhc2VsaW5lPSJtaWRkbGUiCjtjb25zdCB0PXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKGUsbi5sYWJlbCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxvLGEsKCgpPT57ZS5maWxsVGV4dChuLmxhYmVsLHUueC9vLHUueS9hK3QpfSkpfWVsc2UgaWYoIWkmJnRoaXMuX29uQWN0aXZlT3JIb3ZlcmVkQ2hhcnQudmFsdWUoKSl7Y29uc3QgdD10aGlzLl9nZWFyUmVuZGVyZXIudmlld0JveCgpLGk9TWF0aC5yb3VuZCh1LngtdC53aWR0aCpvLzIpLG49TWF0aC5yb3VuZCh1LnktdC5oZWlnaHQqYS8yKTtlLmZpbGxTdHlsZT1rLnRoZW1lc1tzXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItdGV4dC1wcmltYXJ5IiksZS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHRoaXMuX2dlYXJSZW5kZXJlci5yZW5kZXIoZSx7dGFyZ2V0Vmlld0JveDp7eDppLHk6bix3aWR0aDp0LndpZHRoKm8saGVpZ2h0OnQuaGVpZ2h0KmF9LGRvTm90QXBwbHlDb2xvcnM6ITB9KX19X3ZlcnRCb3JkZXJDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxpbmVDb2xvci52YWx1ZSgpfV9ob3J6Qm9yZGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fdGltZUF4aXNXaWRnZXQ/LmxpbmVDb2xvcigpPz90aGlzLl92ZXJ0Qm9yZGVyQ29sb3IoKX1fdG9vbHRpcENvbnRlbnQoKXtyZXR1cm4gdGhpcy5fc291cmNlc1RpdGxlc1Byb3ZpZGVyKCkuam9pbigiXG4iKX1fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl90aW1lQXhpc1dpZGdldD8uY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKX1fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKXt0aGlzLl9pc01vdXNlT3ZlclN0dWI9ITEsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJiF0aGlzLl9pc0NvbnRleHRNZW51T3BlbmVkJiZ0aGlzLl9zZXRIaWdobGlnaHRlZCghMSl9YXN5bmMgX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKGUucHJldmVudERlZmF1bHQoKSxudWxsIT09dGhpcy5fZml4ZWRMYWJlbE1vZGV8fDE9PT10aGlzLl9sYWJlbE1vZGV8fCF0aGlzLl9sYWJlbE9wdGlvbnMuZW5hYmxlTWVudXx8IXRoaXMuX2xhYmVsT3B0aW9ucy5zaG93TGFiZWxzKXJldHVybiB2b2lkIE5pLkNvbnRleHRNZW51TWFuYWdlci5oaWRlQWxsKCk7dGhpcy5fZml4ZWRMYWJlbE1vZGU9dGhpcy5fbGFiZWxNb2RlLHRoaXMuc2V0TGFiZWxNb2RlKDApO2NvbnN0IHQ9dGhpcy5fY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWF3YWl0IHRoaXMuX2NvbnRleHRNZW51SXRlbXNQcm92aWRlcigpO3RoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITAsdGhpcy5fbGFiZWxPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsT3B0aW9ucy5lbmFibGVIaWdobGlnaHQmJnRoaXMuX3NldEhpZ2hsaWdodGVkKCEwKSxOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoaSx7Y2xpZW50WDp0aGlzLl9pc0xlZnQ/dC5sZWZ0OnQucmlnaHQsY2xpZW50WTp0LnRvcCxhdHRhY2hUb1hCeTp0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImJvdHRvbSJ9LHtzdGF0TmFtZToiUHJpY2VTY2FsZUxhYmVsQ29udGV4dE1lbnUiLGRvTm90Q2xvc2VPbjp0aGlzLmdldEVsZW1lbnQoKX0se21lbnVOYW1lOiJQcmljZVNjYWxlTGFiZWxDb250ZXh0TWVudSJ9LCgoKT0+e3RoaXMuX2lzTW91c2VPdmVyU3R1Ynx8dGhpcy5fc2V0SGlnaGxpZ2h0ZWQoITEpLHRoaXMuX2lzQ29udGV4dE1lbnVPcGVuZWQ9ITEsdGhpcy5zZXRMYWJlbE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9maXhlZExhYmVsTW9kZSkpLHRoaXMuX2ZpeGVkTGFiZWxNb2RlPW51bGx9KSl9fXZhciBHaT1pKDM0MjcxMik7Y2xhc3Mgaml7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9bnVsbCl7dGhpcy5fYXhpc2VzPVtdLHRoaXMuX3N0dWJzPVtdLHRoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9vbkxhYmVsSG92ZXJlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUsdGhpcy5fcHJpY2VBeGlzV2lkZ2V0RmFjdG9yeT1pLHRoaXMuX3RpbWVBeGlzV2lkZ2V0PXIsdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9cy5yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl90aXRsZXNQcm92aWRlcj1zLnRpdGxlc1Byb3ZpZGVyLHRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyPXMuc3R1YkNvbnRleHRNZW51UHJvdmlkZXIsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWU9cy5iYWNrZ3JvdW5kQmFzZWRUaGVtZSx0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0PXMub25BY3RpdmVPckhvdmVyZWRDaGFydCx0aGlzLl9nZXRCYWNrZ3JvdW5kVG9wQ29sb3I9cy5nZXRCYWNrZ3JvdW5kVG9wQ29sb3IsdGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yPXMuZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHRoaXMuX3JlcXVlc3RSZXBhaW50PXMucmVxdWVzdFJlcGFpbnQsdGhpcy5fc2hvd0hvcmlzb250YWxCb3JkZXI9Qm9vbGVhbihzLnNob3dIb3Jpem9udGFsQm9yZGVyKSx0aGlzLl9sYWJlbHNPcHRpb25zPXsuLi5IaSwuLi5ufTtjb25zdCBvPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fc3R1YlByb3BlcnRpZXM9e2xpbmVDb2xvcjpvLmxpbmVDb2xvcixmb250U2l6ZTpvLmZvbnRTaXplfSx0aGlzLl9zaWRlPXQsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQoImNoYXJ0LW1hcmt1cC10YWJsZSIsInByaWNlLWF4aXMtY29udGFpbmVyIiksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUifWRlc3Ryb3koKXt0aGlzLnNldFNjYWxlcyhbXSwwLDAsMCksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpLAp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5yZWxlYXNlKCl9b25MYWJlbEhvdmVyZWQoKXtyZXR1cm4gdGhpcy5fb25MYWJlbEhvdmVyZWR9c2V0U2NhbGVzKGUsdCxpLHMpe2Zvcig7ZS5sZW5ndGg+dGhpcy5fYXhpc2VzLmxlbmd0aCYmdGhpcy5fYXhpc2VzLmxlbmd0aDx0Oyl7Y29uc3QgZT0oMCxHaS5nZXRQcmljZUF4aXNOYW1lSW5mbykodGhpcy5fc2lkZSx0aGlzLl9heGlzZXMubGVuZ3RoKSx0PXRoaXMuX3ByaWNlQXhpc1dpZGdldEZhY3RvcnkodGhpcy5fc2lkZSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcix0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLGUsdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUpO3RoaXMuX2F4aXNlcy5wdXNoKHQpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodC5nZXRFbGVtZW50KCkpfWZvcig7ZS5sZW5ndGg8dGhpcy5fYXhpc2VzLmxlbmd0aDspe2NvbnN0IGU9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9heGlzZXMucG9wKCkpO3RoaXMuX2NlbGwucmVtb3ZlQ2hpbGQoZS5nZXRFbGVtZW50KCkpLGUuZGVzdHJveSgpfWZvcihsZXQgdD0wO3Q8dGhpcy5fYXhpc2VzLmxlbmd0aDsrK3QpdGhpcy5fYXhpc2VzW3RdLnNldFByaWNlU2NhbGUoZVt0XSk7Y29uc3Qgbj10LWUubGVuZ3RoLHI9TWF0aC5tYXgoMCxuKTtmb3IoO3RoaXMuX3N0dWJzLmxlbmd0aD5yOyl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWJzLnBvcCgpKTtlLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2VsbC5yZW1vdmVDaGlsZChlLmdldEVsZW1lbnQoKSksZS5kZXN0cm95KCl9Zm9yKDt0aGlzLl9zdHVicy5sZW5ndGg8bjspe2NvbnN0IGU9dGhpcy5fbGFiZWxzT3B0aW9ucy5zaG93TGFiZWxzPygwLEdpLmdldFByaWNlQXhpc05hbWVJbmZvKSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJzLmxlbmd0aCk6bnVsbCx0PW5ldyBVaSh0aGlzLl9zaWRlLHRoaXMuX3N0dWJQcm9wZXJ0aWVzLGUsdGhpcy5fc3R1YlBhcmFtcyh0aGlzLl9zdHVicy5sZW5ndGgpLHRoaXMuX2xhYmVsc09wdGlvbnMsdGhpcy5fdGltZUF4aXNXaWRnZXQpO3Qub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKHQsaSk9Pnt0aGlzLl9sYWJlbHNPcHRpb25zLnNob3dMYWJlbHMmJnRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlSGlnaGxpZ2h0JiZ0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKHtvd25lcjp0LGF4aXM6KDAsbC5lbnN1cmVOb3ROdWxsKShlKX0saSl9KSksdGhpcy5fc3R1YnMucHVzaCh0KSx0aGlzLl9jZWxsLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1jb25zdCBvPXRoaXMuX2xhYmVsc09wdGlvbnMuZW5hYmxlTWVudTsxPT09cz90aGlzLl9zdHVicy5mb3JFYWNoKCgoZSx0KT0+ZS5zZXRMYWJlbE1vZGUobz8wOjEpKSk6dGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsdCk9PmUuc2V0TGFiZWxNb2RlKHQ8aSYmbz8yOjEpKSl9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9jZWxsfXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSkpfW9wdGltYWxXaWR0aHMoKXtyZXR1cm4gdGhpcy5fYXhpc2VzLm1hcCgoZT0+ZS5vcHRpbWFsV2lkdGgoKSkpfXNldFNpemVzKGUsdCl7dGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApLGhlaWdodDplfSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5taW5XaWR0aD10aGlzLl9zaXplLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9dGhpcy5fc2l6ZS5oZWlnaHQrInB4Iix0Lmxlbmd0aCE9PXRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RoJiYoMCxsLmFzc2VydCkodC5sZW5ndGg9PT10aGlzLl9heGlzZXMubGVuZ3RoK3RoaXMuX3N0dWJzLmxlbmd0aCwiV2lkZ2V0cyBjb3VudCBzaG91bGQgYmUgdGhlIHNhbWUgYXMgd2lkdGhzIG9uZSIpO2xldCBpPTA7dGhpcy5fZm9yRWFjaFdpZGdldEZyb21MZWZ0KCgocyxuKT0+e2NvbnN0IHI9dFtuXTtzLnNldFNpemVBbmRPZmZzZXQoKDAseXQuc2l6ZSkoe3dpZHRoOnIsaGVpZ2h0OmV9KSxpKSxpKz1yfSkpfXVwZGF0ZSgpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnVwZGF0ZSgpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoZT0+ZS51cGRhdGUoKSkpfXBhaW50KGUsdCl7dGhpcy5fYXhpc2VzLmZvckVhY2goKCh0LGkpPT50LnBhaW50KGUoaSkpKSksdGhpcy5fc3R1YnMuZm9yRWFjaCgoKGUsaSk9PmUucGFpbnQodCkpKX1wYWludFN0dWJzKGUpe3RoaXMuX3N0dWJzLmZvckVhY2goKHQ9PnQucGFpbnQoZSkpKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX2F4aXNlcy5mb3JFYWNoKChlPT5lLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWZpbmRBeGlzV2lkZ2V0Rm9yU2NhbGUoZSl7Y29uc3QgdD10aGlzLl9heGlzZXMuZmluZCgodD0+dC5wcmljZVNjYWxlKCk9PT1lKSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fWdldFNjcmVlbnNob3REYXRhKCl7Y29uc3QgZT10aGlzLl9nZXRJbWFnZSgpO3JldHVybntjYW52YXM6ZSxjb250ZW50OmUudG9EYXRhVVJMKCksY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxjb250ZW50V2lkdGg6dGhpcy5fc2l6ZS53aWR0aH19Z2V0SW1hZ2UoKXtyZXR1cm4gdGhpcy5fZ2V0SW1hZ2UoKX1zbG90c0NvdW50KCl7cmV0dXJuIHRoaXMuX2F4aXNlcy5sZW5ndGgrdGhpcy5fc3R1YnMubGVuZ3RofXNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSl7dGhpcy5fYXhpc2VzLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYXhpc0luZm8oKSxzPWUuZmluZCgoZT0+ZS5sYWJlbD09PWk/LmxhYmVsKSk7dC5zZXRIaWdobGlnaHRlZCh2b2lkIDAhPT1zKX0pKX1heGVzKCl7cmV0dXJuIHRoaXMuX2F4aXNlc31fc3R1YlBhcmFtcyhlKXtyZXR1cm57CnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOnRoaXMuX3JlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyLGJhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnNwYXduT3duZXJzaGlwKCksb25BY3RpdmVPckhvdmVyZWRDaGFydDp0aGlzLl9vbkFjdGl2ZU9ySG92ZXJlZENoYXJ0Py5zcGF3bk93bmVyc2hpcCgpLHNvdXJjZXNUaXRsZXNQcm92aWRlcjooKT0+dGhpcy5fdGl0bGVzUHJvdmlkZXIodGhpcy5fc2lkZSxlKSxjb250ZXh0TWVudUl0ZW1zUHJvdmlkZXI6KCk9PnRoaXMuX3N0dWJDb250ZXh0TWVudVByb3ZpZGVyKHRoaXMuX3NpZGUsZSksZ2V0QmFja2dyb3VuZFRvcENvbG9yOnRoaXMuX2dldEJhY2tncm91bmRUb3BDb2xvcixnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6dGhpcy5fZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yLHJlcXVlc3RSZXBhaW50OnRoaXMuX3JlcXVlc3RSZXBhaW50LHNob3dIb3Jpem9udGFsQm9yZGVyOnRoaXMuX3Nob3dIb3Jpc29udGFsQm9yZGVyfX1fZ2V0SW1hZ2UoKXtjb25zdCBlPSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksdD0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKGUpO2xldCBpPTA7cmV0dXJuIHRoaXMuX2ZvckVhY2hXaWRnZXRGcm9tTGVmdCgoKGUscyk9Pntjb25zdCBuPWUuZ2V0V2lkdGgoKTswIT09biYmMCE9PXRoaXMuX3NpemUuaGVpZ2h0JiYodC5kcmF3SW1hZ2UoZS5nZXRJbWFnZSgpLGksMCxuLHRoaXMuX3NpemUuaGVpZ2h0KSxpKz1uKX0pKSxlfV9mb3JFYWNoV2lkZ2V0RnJvbUxlZnQoZSl7Y29uc3QgdD1bLi4udGhpcy5fYXhpc2VzLC4uLnRoaXMuX3N0dWJzXSxpPSJsZWZ0Ij09PXRoaXMuX3NpZGUscz1pPy0xOnQubGVuZ3RoLG49aT8tMToxO2ZvcihsZXQgcj1pP3QubGVuZ3RoLTE6MDtyIT09cztyKz1uKWUodFtyXSxyLHQpfX12YXIgcWk9aSg2MzcyNTgpLCRpPWkoODczNTczKSxZaT1pKDE5Mjc1MSksS2k9aSg4NTYxNik7ZnVuY3Rpb24gWGkoZSx0LGkscz0hMSl7cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpIT09aSYmKGUuY2xhc3NMaXN0LnRvZ2dsZSgicmVhZG9ubHkiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIixzJiZpKSx0Py5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGkpLCEwKX1jbGFzcyBaaXtjb25zdHJ1Y3RvcihlPTApe3RoaXMuX3dpZHRoPW51bGwsdGhpcy5fbGFiZWxCb3R0b209bnVsbCx0aGlzLl9jdXJyZW5jeUluZm89bnVsbCx0aGlzLl91bml0SW5mbz1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPW51bGwsdGhpcy5fbWV0cmljSW5mbz1udWxsLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlciJdLHRoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuc2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiLCJjdXJyZW5jeS11bml0LWxhYmVsLXdyYXBwZXIiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwiXSx0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LmFkZChLaS5yb3csImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5kYXRhc2V0Lm5hbWU9ImN1cnJlbmN5LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fY3VycmVuY3lMYWJlbERpdiwidGV4dCIsKGU9PnRoaXMuX2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX2N1cnJlbmN5VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jdXJyZW5jeVRleHQuY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXRleHQiXSx0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX2N1cnJlbmN5VGV4dCksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fY3VycmVuY3lBcnJvd0Rvd24uY2xhc3NOYW1lPUtpWyJwcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24iXSx0aGlzLl9jdXJyZW5jeUFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fY3VycmVuY3lMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUFycm93RG93biksdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc05hbWU9S2kucm93LHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuYWRkKCJyZWFkb25seSIpLCgwLE9pLnNldFRvb2x0aXBEYXRhKSh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZWFzdXJlVW5pdElkVG9vbHRpcENvbnRlbnQoKSkpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0KSx0aGlzLl91bml0TGFiZWxEaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLAp0aGlzLl91bml0TGFiZWxEaXYuZGF0YXNldC5uYW1lPSJ1bml0LWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fdW5pdExhYmVsRGl2LCJ0ZXh0IiwoZT0+dGhpcy5fdW5pdFRvb2x0aXBDb250ZW50KCkpKSx0aGlzLl91bml0VGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0VGV4dC5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dCJdLHRoaXMuX3VuaXRMYWJlbERpdi5hcHBlbmRDaGlsZCh0aGlzLl91bml0VGV4dCksdGhpcy5fdW5pdEFycm93RG93bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl91bml0QXJyb3dEb3duLmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1hcnJvdy1kb3duIl0sdGhpcy5fdW5pdEFycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fdW5pdExhYmVsRGl2LmFwcGVuZENoaWxkKHRoaXMuX3VuaXRBcnJvd0Rvd24pLHRoaXMuX21ldHJpY0xhYmVsRGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmNsYXNzTGlzdC5hZGQoS2kucm93LCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRoaXMuX21ldHJpY0xhYmVsRGl2LmRhdGFzZXQubmFtZT0ibWV0cmljLWxhYmVsLXNlbGVjdG9yIiwoMCxPaS5zZXRUb29sdGlwRGF0YSkodGhpcy5fbWV0cmljTGFiZWxEaXYsInRleHQiLChlPT50aGlzLl9tZXRyaWNUb29sdGlwQ29udGVudCgpKSksdGhpcy5fbWV0cmljVGV4dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9tZXRyaWNUZXh0LmNsYXNzTmFtZT1LaVsicHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC10ZXh0Il0sdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljVGV4dCksdGhpcy5fbWV0cmljQXJyb3dEb3duPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX21ldHJpY0Fycm93RG93bi5jbGFzc05hbWU9S2lbInByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93biJdLHRoaXMuX21ldHJpY0Fycm93RG93bi5pbm5lckhUTUw9WWksdGhpcy5fbWV0cmljTGFiZWxEaXYuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljQXJyb3dEb3duKSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KSx0aGlzLl9jb250cm9sc0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9tZWFzdXJlVW5pdElkTGFiZWxEaXYpLHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3VuaXRMYWJlbERpdiksdGhpcy5fY29udHJvbHNDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fbWV0cmljTGFiZWxEaXYpLHRoaXMuZGlzYWJsZUN1cnJlbmN5KCksdGhpcy5kaXNhYmxlVW5pdCgpLHRoaXMuZGlzYWJsZU1ldHJpYygpLHRoaXMuc2V0Rm9udFNpemUoZSl9ZWxlbWVudCgpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyfWN1cnJlbmN5TGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5TGFiZWxEaXZ9dW5pdExhYmVsRWxlbWVudCgpe3JldHVybiB0aGlzLl91bml0TGFiZWxEaXZ9bWV0cmljTGFiZWxFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21ldHJpY0xhYmVsRGl2fWlzRW5hYmxlZCgpe3JldHVybiB0aGlzLmN1cnJlbmN5TGFiZWxFbmFibGVkKCl8fHRoaXMudW5pdExhYmVsRW5hYmxlZCgpfHx0aGlzLm1lYXN1cmVVbml0SWRMYWJsZUVuYWJsZWQoKXx8dGhpcy5tZXRyaWNMYWJlbEVuYWJsZWQoKX1pc0hpZGRlbigpe3JldHVybiB0aGlzLl9jdXJyZW5jeUFuZFVuaXRMYWJlbHNXcmFwcGVyLmNsYXNzTGlzdC5jb250YWlucyhLaS5oaWRkZW4pfXNldEN1cnJlbmN5RXhwYW5kZWQoZSl7dGhpcy5fY3VycmVuY3lMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXNldFVuaXRFeHBhbmRlZChlKXt0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LnRvZ2dsZShLaS5leHBhbmRlZCxlKX1zZXRNZXRyaWNFeHBhbmRlZChlKXt0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QudG9nZ2xlKEtpLmV4cGFuZGVkLGUpfXdpZHRoKCl7aWYobnVsbCE9PXRoaXMuX3dpZHRoKXJldHVybiB0aGlzLl93aWR0aDtsZXQgZT0wO2lmKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl9jdXJyZW5jeVRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10aGlzLl9jdXJyZW5jeUFycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9aWYodGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgrMip0aGlzLl90ZXh0TWFyZ2luQW5kUGFkZGluZygpKX1pZih0aGlzLnVuaXRMYWJlbEVuYWJsZWQoKSl7Y29uc3QgdD10aGlzLl91bml0VGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX3VuaXRBcnJvd0Rvd24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZT1NYXRoLm1heChlLHQud2lkdGgraS53aWR0aCsyKnRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkpfWlmKHRoaXMubWV0cmljTGFiZWxFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fbWV0cmljVGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXRoaXMuX21ldHJpY0Fycm93RG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPU1hdGgubWF4KGUsdC53aWR0aCtpLndpZHRoKzIqdGhpcy5fdGV4dE1hcmdpbkFuZFBhZGRpbmcoKSl9cmV0dXJuIHRoaXMuX3dpZHRoPWV9ZHJhd0xhYmVsKGUsdCxpKXtpZighdGhpcy5pc0VuYWJsZWQoKSlyZXR1cm47Y29uc3Qgcz1NYXRoLnJvdW5kKE51bWJlcihLaS5jc3Nfd3JhcHBlcl9tYXJnaW4pKmkpLG49KDAsCmJpLmNlaWxlZEV2ZW4pKHQqaSktMipzLHI9TWF0aC5yb3VuZCh0aGlzLmxhYmVsQm90dG9tKCkqaSksbz1yLTIqcyxhPU1hdGgucm91bmQoTnVtYmVyKEtpLmNzc192YWx1ZV9jdXJyZW5jeV9sYWJlbF9yYWRpdXMpKmkpO2UuZmlsbFN0eWxlPWdldENvbXB1dGVkU3R5bGUodGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlcikuYmFja2dyb3VuZENvbG9yLGUuZmlsbFJlY3QoMCwwLE1hdGguY2VpbCh0KmkpLHIpO2NvbnN0IGw9W107bC5wdXNoKHRoaXMuY3VycmVuY3lMYWJlbEVuYWJsZWQoKT90aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy5tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCk/dGhpcy5fbWVhc3VyZVVuaXRJZFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxsLnB1c2godGhpcy51bml0TGFiZWxFbmFibGVkKCk/dGhpcy5fdW5pdFRleHQudGV4dENvbnRlbnQ/PyIiOiIiKSxlLmZvbnQ9KDAsUmkubWFrZUZvbnQpKHRoaXMuX2ZvbnRTaXplLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO2NvbnN0IGM9bmV3IEJpLlRleHRXaWR0aENhY2hlO2xldCBoPTA7Y29uc3QgZD1bXTtsLmZvckVhY2goKHQ9PntsZXQgaT0wOyIiIT09dCYmKGk9Yy55TWlkQ29ycmVjdGlvbihlLHQpLGgrKyksZC5wdXNoKGkpfSkpO2NvbnN0IHU9by9oO2UuYmVnaW5QYXRoKCk7Y29uc3QgcD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRyb2xzQ29udGFpbmVyKTtlLmZpbGxTdHlsZT1wLmJhY2tncm91bmRDb2xvcixlLnN0cm9rZVN0eWxlPXAuYm9yZGVyQ29sb3IsKDAsRGkuZHJhd1JvdW5kUmVjdCkoZSxzLHMsbixvLGEpLGUuZmlsbCgpLGUuc3Ryb2tlKCksZS5maWxsU3R5bGU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2KS5jb2xvcixlLnRleHRCYXNlbGluZT0ibWlkZGxlIixlLnRleHRBbGlnbj0ibGVmdCI7Y29uc3QgXz1NYXRoLnJvdW5kKHRoaXMuX3RleHRNYXJnaW5BbmRQYWRkaW5nKCkqaSkrcyxtPXUvMjtsZXQgZz1zK207bC5mb3JFYWNoKCgodCxzKT0+eyIiIT09dCYmKCgwLEt0LmRyYXdTY2FsZWQpKGUsaSxpLCgoKT0+e2UuZmlsbFRleHQodCxfL2ksKGcrZFtzXSkvaSl9KSksZz1NYXRoLmNlaWwoZysyKm0pKX0pKX1zZXRIaWRkZW4oZSl7dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5jbGFzc0xpc3QudG9nZ2xlKEtpLmhpZGRlbixlKX1lbmFibGVDdXJyZW5jeSgpe3RoaXMuX2N1cnJlbmN5TGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlQ3VycmVuY3koKXt0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlVW5pdCgpe3RoaXMuX3VuaXRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVVbml0KCl7dGhpcy5fdW5pdExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWVhc3VyZVVuaXRJZCgpe3RoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9yZXNldFNpemVzQW5kVmlzaWJpbGl0eSgpfWRpc2FibGVNZWFzdXJlVW5pdElkKCl7dGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LmNsYXNzTGlzdC5hZGQoImpzLWhpZGRlbiIpLHRoaXMuX3Jlc2V0U2l6ZXNBbmRWaXNpYmlsaXR5KCl9ZW5hYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LnJlbW92ZSgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1kaXNhYmxlTWV0cmljKCl7dGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmFkZCgianMtaGlkZGVuIiksdGhpcy5fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKX1jdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygianMtaGlkZGVuIil9dW5pdExhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJqcy1oaWRkZW4iKX1tZWFzdXJlVW5pdElkTGFibGVFbmFibGVkKCl7cmV0dXJuIXRoaXMuX21lYXN1cmVVbml0SWRMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfW1ldHJpY0xhYmVsRW5hYmxlZCgpe3JldHVybiF0aGlzLl9tZXRyaWNMYWJlbERpdi5jbGFzc0xpc3QuY29udGFpbnMoImpzLWhpZGRlbiIpfWN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LmNsYXNzTGlzdC5jb250YWlucygicmVhZG9ubHkiKX11bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpe3JldHVybiF0aGlzLl91bml0TGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfW1ldHJpY0NvbnZlcnNpb25BdmFpbGFibGUoKXtyZXR1cm4hdGhpcy5fbWV0cmljTGFiZWxEaXYuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWFkb25seSIpfXNldEN1cnJlbmN5SW5mbyhlKXtpZih0aGlzLl9jdXJyZW5jeUluZm89PT1lKXJldHVybiExO3RoaXMuX2N1cnJlbmN5SW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLmRpc3BsYXllZFZhbHVlcy5nZXQoZS5zZWxlY3RlZEN1cnJlbmN5KSk7cmV0dXJuIHRoaXMuX2N1cnJlbmN5VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl9jdXJyZW5jeVRleHQudGV4dENvbnRlbnQ9dCx0aGlzLl93aWR0aD1udWxsKSxYaSh0aGlzLl9jdXJyZW5jeUxhYmVsRGl2LHRoaXMuX2N1cnJlbmN5QXJyb3dEb3duLGUucmVhZE9ubHkpJiYodGhpcy5fd2lkdGg9bnVsbCksITB9c2V0VW5pdEluZm8oZSl7CmlmKG51bGwhPT10aGlzLl91bml0SW5mbyYmdGhpcy5fdW5pdEluZm8uc2VsZWN0ZWRVbml0PT09ZS5zZWxlY3RlZFVuaXQmJjA9PT10aGlzLl91bml0SW5mby5hdmFpbGFibGVHcm91cHMuc2l6ZT09KDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmdGhpcy5fdW5pdEluZm8ub3JpZ2luYWxVbml0cy5zaXplPT09ZS5vcmlnaW5hbFVuaXRzLnNpemUpcmV0dXJuIHRoaXMuX3VuaXRJbmZvPWUsITE7dGhpcy5fdW5pdEluZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkVW5pdD9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoMjE3MTYxKSk6KDAsbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldChlLnNlbGVjdGVkVW5pdCkpO3JldHVybiB0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudCE9PXQmJih0aGlzLl91bml0VGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX3VuaXRMYWJlbERpdix0aGlzLl91bml0QXJyb3dEb3duLDA9PT1lLmF2YWlsYWJsZUdyb3Vwcy5zaXplKSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfXNldE1lYXN1cmVVbml0SWRJbmZvKGUpe2lmKHRoaXMuX21lYXN1cmVVbml0SWRJbmZvPT09ZSlyZXR1cm4hMTt0aGlzLl9tZWFzdXJlVW5pdElkSW5mbz1lO2NvbnN0IHQ9bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP3AudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSgyMTcxNjEpKTooMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KGUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkKSk7cmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50IT09dCYmKHRoaXMuX21lYXN1cmVVbml0SWRUZXh0LnRleHRDb250ZW50PXQsdGhpcy5fd2lkdGg9bnVsbCksWGkodGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LG51bGwsMD09PWUubmFtZXMuc2l6ZSwhMCkmJih0aGlzLl93aWR0aD1udWxsKSwhMH1zZXRNZXRyaWNJbmZvKGUpe2lmKHRoaXMuX21ldHJpY0luZm89PT1lKXJldHVybiExO3RoaXMuX21ldHJpY0luZm89ZTtjb25zdCB0PW51bGw9PT1lLnNlbGVjdGVkTWV0cmljSWQ/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDIxNzE2MSkpOigwLGwuZW5zdXJlRGVmaW5lZCkoZS5uYW1lcy5nZXQoZS5zZWxlY3RlZE1ldHJpY0lkKSk7cmV0dXJuIHRoaXMuX21ldHJpY1RleHQudGV4dENvbnRlbnQhPT10JiYodGhpcy5fbWV0cmljVGV4dC50ZXh0Q29udGVudD10LHRoaXMuX3dpZHRoPW51bGwpLFhpKHRoaXMuX21ldHJpY0xhYmVsRGl2LHRoaXMuX21ldHJpY0Fycm93RG93bixlLnJlYWRPbmx5KSYmKHRoaXMuX3dpZHRoPW51bGwpLCEwfWN1cnJlbmN5SW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeUluZm99dW5pdEluZm8oKXtyZXR1cm4gdGhpcy5fdW5pdEluZm99bWVhc3VyZVVuaXRJZEluZm8oKXtyZXR1cm4gdGhpcy5fbWVhc3VyZVVuaXRJZEluZm99bWV0cmljSW5mbygpe3JldHVybiB0aGlzLl9tZXRyaWNJbmZvfXNldEZvbnRTaXplKGUpe3RoaXMuX2ZvbnRTaXplIT09ZSYmKHRoaXMuX2ZvbnRTaXplPWUsdGhpcy5fY3VycmVuY3lMYWJlbERpdi5zdHlsZS5mb250U2l6ZT1lKyJweCIsdGhpcy5fbWVhc3VyZVVuaXRJZExhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl91bml0TGFiZWxEaXYuc3R5bGUuZm9udFNpemU9ZSsicHgiLHRoaXMuX21ldHJpY0xhYmVsRGl2LnN0eWxlLmZvbnRTaXplPWUrInB4Iix0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwpfWxhYmVsQm90dG9tKCl7aWYobnVsbCE9PXRoaXMuX2xhYmVsQm90dG9tKXJldHVybiB0aGlzLl9sYWJlbEJvdHRvbTtjb25zdCBlPXRoaXMuX2NvbnRyb2xzQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9dGhpcy5fY3VycmVuY3lBbmRVbml0TGFiZWxzV3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPWUueS10Lnk7cmV0dXJuIHRoaXMuX2xhYmVsQm90dG9tPWUuaGVpZ2h0KzIqaX1fcmVzZXRTaXplc0FuZFZpc2liaWxpdHkoKXt0aGlzLl93aWR0aD1udWxsLHRoaXMuX2xhYmVsQm90dG9tPW51bGwsdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpfV90ZXh0TWFyZ2luQW5kUGFkZGluZygpe3JldHVybiBOdW1iZXIoS2kuY3NzX3dyYXBwZXJfbWFyZ2luKStOdW1iZXIoS2kuY3NzX3Jvd19sZWZ0X3JpZ2h0X3BhZGRpbmcpKzJ9X2N1cnJlbmN5VG9vbHRpcENvbnRlbnQoKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRDdXJyZW5jeT9BcnJheS5mcm9tKGUuY3VycmVuY2llcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUuZGlzcGxheWVkVmFsdWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUucmVhZE9ubHk/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDE5MTQ1NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg3ODkwNDkpKX1fdW5pdFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl91bml0SW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRVbml0P0FycmF5LmZyb20oZS51bml0cykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6MD09PWUuYXZhaWxhYmxlR3JvdXBzLnNpemU/cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDU1Njc2NSkpOnAudChudWxsLHtjb250ZXh0OiJwcmljZSBjb252ZXJzaW9uIGxhYmVsIn0saSg0MDUwMTMpKX1fbWVhc3VyZVVuaXRJZFRvb2x0aXBDb250ZW50KCl7Y29uc3QgZT10aGlzLl9tZWFzdXJlVW5pdElkSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZWFzdXJlVW5pdElkP0FycmF5LmZyb20oZS5tZWFzdXJlVW5pdElkcykubWFwKCh0PT4oMCwKbC5lbnN1cmVEZWZpbmVkKShlLm5hbWVzLmdldCh0KSkpKS5qb2luKCIsICIpOmUuZGVzY3JpcHRpb25zLmdldChlLnNlbGVjdGVkTWVhc3VyZVVuaXRJZCl8fCIifV9tZXRyaWNUb29sdGlwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fbWV0cmljSW5mbztyZXR1cm4gbnVsbD09PWU/IiI6bnVsbD09PWUuc2VsZWN0ZWRNZXRyaWNJZD9BcnJheS5mcm9tKGUubWV0cmljcykubWFwKCh0PT4oMCxsLmVuc3VyZURlZmluZWQpKGUubmFtZXMuZ2V0KHQpKSkpLmpvaW4oIiwgIik6ZS5yZWFkT25seT9wLnQobnVsbCx7Y29udGV4dDoicHJpY2UgY29udmVyc2lvbiBsYWJlbCJ9LGkoOTk0ODQ1KSk6cC50KG51bGwse2NvbnRleHQ6InByaWNlIGNvbnZlcnNpb24gbGFiZWwifSxpKDgzMzc0NikpfV91cGRhdGVWaXNpYmlsaXR5KCl7Y29uc3QgZT10aGlzLmlzRW5hYmxlZCgpO3RoaXMuX2N1cnJlbmN5QW5kVW5pdExhYmVsc1dyYXBwZXIuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhZSl9fWFzeW5jIGZ1bmN0aW9uIEppKGUsdCxzLG4scil7Y29uc3R7VW5pdENvbnZlcnNpb25SZW5kZXJlcjpvfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDE2NTk4KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg4MTA3MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoODkyMDQpLGkuZSgzMjE3NiksaS5lKDIwMiksaS5lKDg4NjQxKSxpLmUoNzA2NTYpLGkuZSgzMjg1NyksaS5lKDUyOTYxKSxpLmUoMzIzODcpLGkuZSgzOTYwOSksaS5lKDM1OTY0KSxpLmUoODI5NyldKS50aGVuKGkuYmluZChpLDc2MzgwMikpO3JldHVybiBuZXcgbyhlLHMsdCxuLHIpfWFzeW5jIGZ1bmN0aW9uIFFpKGUsdCxzKXtjb25zdHtDdXJyZW5jeU1lbnVSZXN1bHRFdmVudHM6bn09YXdhaXQgaS5lKDYzODg1KS50aGVuKGkuYmluZChpLDIyMDM5KSk7cmV0dXJuIG5ldyBuKGUsdCxzKX12YXIgZXM9aSg1MDkwNCk7Y2xhc3MgdHN7Y29uc3RydWN0b3IoZSl7Y29uc3R7YWN0aW9uOnQscHJvcGVydHk6aSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpuLGNhbGxiYWNrOnI9bnVsbH09ZTt0aGlzLl9wcm9wZXJ0eT1pLHRoaXMuX3VuZG9Nb2RlbD1zLHRoaXMuX3VuZG9UZXh0PW4sdGhpcy5fYWN0aW9uPXQsdGhpcy5zZXRWYWx1ZShpLnZhbHVlKCkpLGkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKSxudWxsIT09cj90LnVwZGF0ZSh7b25FeGVjdXRlOnIuYmluZCh0aGlzKX0pOnQudXBkYXRlKHtvbkV4ZWN1dGU6dGhpcy5fb25BY3Rpb25DYWxsYmFjay5iaW5kKHRoaXMpfSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnR5LnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvcGVydHlDaGFuZ2VkKX12YWx1ZSgpe3JldHVybiB0aGlzLl9hY3Rpb24uaXNDaGVja2VkKCl9c2V0VmFsdWUoZSl7dGhpcy5fYWN0aW9uLnVwZGF0ZSh7Y2hlY2tlZDpCb29sZWFuKGUpfSl9X29uQWN0aW9uQ2FsbGJhY2soKXt0aGlzLl91bmRvTW9kZWwuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydHksdGhpcy52YWx1ZSgpLHRoaXMuX3VuZG9UZXh0KX1fcHJvcGVydHlDaGFuZ2VkKGUpe3RoaXMuc2V0VmFsdWUoZS52YWx1ZSgpKX19Y2xhc3MgaXMgZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlKSx0aGlzLl9iaW5kaW5nPW5ldyB0cyh7YWN0aW9uOnRoaXMsLi4udH0pfWRlc3Ryb3koKXt0aGlzLl9iaW5kaW5nLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9fXZhciBzcz1pKDM1NjQzNCksbnM9aSgyNTI0MjcpLHJzPWkoMTUyNzY2KSxvcz1pKDE2OTg0NSksYXM9aSg0NzcxNTUpO2Z1bmN0aW9uIGxzKGUsdCxpKXtyZXR1cm4gbnVsbD09PWk/W106aS5maWx0ZXIoKGk9PntpZighaS5pc1Zpc2libGUoKXx8aS5pZ25vcmVBbGlnbm1lbnQoKSlyZXR1cm4hMTtjb25zdHt0b3RhbDpzfT1pLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KGUpLG49aS5jb29yZGluYXRlKCk7cmV0dXJuIG4+LXMmJm48dCtzfSkpfWkoMTQ0MTEyKTtjb25zdCBjcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIixwLnQobnVsbCx2b2lkIDAsaSg5MTc1OTApKSksaHM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHZvaWQgMCxpKDU5OTE0MSkpKSxkcz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgbG9nIHNjYWxlIixwLnQobnVsbCx2b2lkIDAsaSg3Nzc0ODUpKSksdXM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDI3ODc1MSkpLHBzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg5MTE3MTEpKSxfcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODQ2NzkpKSxtcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoMjEzMDc1KSksZ3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDkxNjI3NykpLGZzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgzNDI5MTUpKSxTcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNjQyODQzKSksdnM9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDY0MDA5NikpLHlzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSgxOTcxMDUpKSxicz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoODg2MDEzKSksd3M9cC50KG51bGwse2NvbnRleHQ6InNjYWxlX21lbnUifSxpKDc0OTE3OSkpLENzPXAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg4NDc4MzQpKSxQcz1wLnQobnVsbCx7Y29udGV4dDoic2NhbGVfbWVudSJ9LGkoNDcxOTgwKSk7Y29uc3QgVHM9ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgbnMuTGltaXRlZFByZWNpc2lvbk51bWVyaWNGb3JtYXR0ZXIoZSk7cmV0dXJuKGUsaSk9PigwLGEuaXNOdW1iZXIpKGkpJiYhZS5pc0xvZygpP3QuZm9ybWF0KGkpOiIifSg0KSx4cz0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXJyZW5jeV9tZW51X2Rpc2FibGVkIiksTXM9KDAsCnEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVuaXRfbWVudV9kaXNhYmxlZCIpLElzPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1ldHJpY19tZW51X2Rpc2FibGVkIiksTHM9e2NvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxtZXRyaWNDb252ZXJzaW9uRW5hYmxlZDohMSxjb3VudGRvd25FbmFibGVkOiEwLGNvbnRleHRNZW51OntnZW5lcmFsOiEwLHNvdXJjZTohMH0scHJlc3NlZE1vdXNlTW92ZVNjYWxlOiEwLG1vdXNlV2hlZWxTY2FsZTohMCxwaW5jaFNjYWxlOiEwLGNyb3BwZWRUaWNrTWFya3M6ITB9O3ZhciBBcyxrczshZnVuY3Rpb24oZSl7ZVtlLkxhYmVsT2Zmc2V0PTRdPSJMYWJlbE9mZnNldCIsZVtlLkRlZmF1bHRPcHRpbWFsV2lkdGg9MzRdPSJEZWZhdWx0T3B0aW1hbFdpZHRoIixlW2UuV2hlZWxTY2FsZUNvZWZmPTE1XT0iV2hlZWxTY2FsZUNvZWZmIixlW2UuQ3VycmVuY3lMYWJlbEZvbnRTaXplPTEyXT0iQ3VycmVuY3lMYWJlbEZvbnRTaXplIn0oQXN8fChBcz17fSkpLGZ1bmN0aW9uKGUpe2VbZS5CYWNrPTBdPSJCYWNrIixlW2UuVG9wPTFdPSJUb3AiLGVbZS5BbGw9Ml09IkFsbCJ9KGtzfHwoa3M9e30pKTtjbGFzcyBEc3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4scixvLGwsYyl7dGhpcy5fYWN0aW9ucz1udWxsLHRoaXMuX3ByaWNlU2NhbGU9bnVsbCx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwsdGhpcy5fc2NhbGVNb2RlQnV0dG9uc1Byb21pc2U9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBCaS5UZXh0V2lkdGhDYWNoZSgxZTMpLHRoaXMuX2NvbG9yPW51bGwsdGhpcy5fZm9udFNpemU9bnVsbCx0aGlzLl9pc1Zpc2libGU9ITAsdGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9tZXRyaWNNZW51PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWU9IiIsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGU9bnVsbCx0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW51bGwsdGhpcy5fZHJhZ1NjYWxlQWN0aXZlPSExLHRoaXMuX29mZnNldD1OYU4sdGhpcy5fcGluY2hpbmc9ITEsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9bnVsbCx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zZWxlY3RlZFZpYVRhcD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHk9KCk9PntpZihudWxsPT09dGhpcy5fY3VycmVuY3lMYWJlbClyZXR1cm47Y29uc3QgZT0oMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCk7bGV0IHQ9IXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpO2lmKHQpc3dpdGNoKGUpe2Nhc2UiYWx3YXlzT2ZmIjp0PSExO2JyZWFrO2Nhc2UidmlzaWJsZU9uTW91c2VPdmVyIjpjb25zdCBlPXRoaXMuX2NoYXJ0LmFueVByaWNlQXhpc0hvdmVyZWQoKS52YWx1ZSgpLGk9ISF0aGlzLl9jdXJyZW5jeU1lbnUscz0hIXRoaXMuX3VuaXRNZW51O3Q9ZXx8aXx8czticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6dD10aGlzLl9zZWxlY3RlZFZpYVRhcC52YWx1ZSgpfXRoaXMuX2N1cnJlbmN5TGFiZWwuc2V0SGlkZGVuKCF0KX0sdGhpcy5faGFuZGxlQWN0dWFsQXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PWFzeW5jIGU9Pntjb25zdCB0PWUudmFsdWUoKTtpZigiYWx3YXlzT2ZmIj09PXQpdGhpcy5fc2NhbGVNb2RlQnV0dG9ucyYmdGhpcy5fZGVzdHJveVNjYWxlTW9kZUJ1dHRvbnMoKTtlbHNle2lmKCF0aGlzLl9zY2FsZU1vZGVCdXR0b25zKXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT10aGlzLl9zY2FsZU1vZGVCdXR0b25zUHJvbWlzZT8/dGhpcy5fY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpO3RyeXt0aGlzLl9zY2FsZU1vZGVCdXR0b25zPWF3YWl0IHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnNQcm9taXNlfWNhdGNoKGUpe2lmKCgwLHFlLmlzQWJvcnRFcnJvcikoZSkpcmV0dXJufXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSl9ImFsd2F5c09uIj09PXQ/KHRoaXMuX2lzSG92ZXJlZC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSk6InZpc2libGVPbk1vdXNlT3ZlciI9PT10Pyh0aGlzLl9zZWxlY3RlZFZpYVRhcC51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSx0aGlzLl9pc0hvdmVyZWQuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpKToodGhpcy5faXNIb3ZlcmVkLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5KSksdGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSgpfXRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpfSx0aGlzLl91cGRhdGVQcmljZVNjYWxlTW9kZUJ1dHRvbnNWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLl9pc0hvdmVyZWQudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGVkVmlhVGFwLnZhbHVlKCk7bGV0IGk9ITE7aWYoIXRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS52YWx1ZSgpJiYhdGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpc3dpdGNoKCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS52YWx1ZSgpKXsKY2FzZSJ2aXNpYmxlT25Nb3VzZU92ZXIiOmk9ZTticmVhaztjYXNlInZpc2libGVPblRhcFNlbGVjdGlvbiI6aT10O2JyZWFrO2Nhc2UiYWx3YXlzT24iOmk9ITB9dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8uZWxlbWVudCgpLmNsYXNzTGlzdC50b2dnbGUoInByaWNlLWF4aXNfX21vZGVCdXR0b25zX2hpZGRlbiIsIWkpfSx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zPSgpPT57dGhpcy5fc2NhbGVNb2RlQnV0dG9ucz8udXBkYXRlKCl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fcGFuZT10LHRoaXMuX3VuZG9Nb2RlbD1pLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9pc0xlZnQ9ImxlZnQiPT09cix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKExzKSxvKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1uLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPWMsdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9jZWxsLmNsYXNzTmFtZT0icHJpY2UtYXhpcyIsdGhpcy5fY2VsbC5kYXRhc2V0Lm5hbWU9YHByaWNlLWF4aXMtJHtsLmxhYmVsfWAsdGhpcy5fY2VsbC5zdHlsZS53aWR0aD0iMjVweCIsdGhpcy5fY2VsbC5zdHlsZS5sZWZ0PSIwIix0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+e3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9LHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBkPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtkLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZC5zdHlsZS56SW5kZXg9IjEiLGQuc3R5bGUubGVmdD0iMCIsZC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2NlbGwsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCB1PXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDt1LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdS5zdHlsZS56SW5kZXg9IjIiLHUuc3R5bGUubGVmdD0iMCIsdS5zdHlsZS50b3A9IjAiLHRoaXMuX2NlbGwuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fY2VsbCx0aGlzLHt0cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsdHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwfSksdGhpcy5fb3B0aW9ucy5jdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkfHx0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZD8odGhpcy5fY3VycmVuY3lMYWJlbD1uZXcgWmkoMTIpLHRoaXMuX2NlbGwuYXBwZW5kQ2hpbGQodGhpcy5fY3VycmVuY3lMYWJlbC5lbGVtZW50KCkpKTp0aGlzLl9jdXJyZW5jeUxhYmVsPW51bGwsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUmJih0aGlzLl9tb3VzZVdoZWVsSGVscGVyPW5ldyBTaSx0aGlzLl9jZWxsLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKSx7cGFzc2l2ZTohMX0pKSx0aGlzLl9heGlzSW5mbz1sLHRoaXMuX29mZnNldD0wLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSwoMCxycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3NlbGVjdGVkVmlhVGFwLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5LmJpbmQodGhpcykpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVBY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX2hhbmRsZUFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSgoMCxvcy5hY3R1YWxBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHkpKCkpLmNhdGNoKCgoKT0+e30pKSx0aGlzLl9jaGFydC5hbnlQcmljZUF4aXNIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3BhbmUudmlzdWFsbHlDb2xsYXBzZWQoKS5zdWJzY3JpYmUodGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy51cGRhdGUoKX1hc3luYyBnZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7dGhpcy5faW5pdEFjdGlvbnMoKTtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucyksaT10aGlzLl9jaGFydC5hY3Rpb25zKCkscz1bXTtpZih0aGlzLl9wcmljZVNjYWxlPy5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSYmcy5wdXNoKHQucmVzZXQsbmV3IGVzLlNlcGFyYXRvcikscy5wdXNoKHRoaXMuX2F1dG9TY2FsZUFjdGlvbigpKSx0aGlzLl9pc01haW5TZXJpZXNBeGlzKCkmJnMucHVzaCh0aGlzLl9sb2NrU2NhbGVBY3Rpb24oKSksCnMucHVzaChpLnNjYWxlU2VyaWVzT25seSx0aGlzLl9pbnZlcnRBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX3JlZ3VsYXJTY2FsZUFjdGlvbigpLHRoaXMuX3BlcmNlbnRhZ2VBY3Rpb24oKSx0aGlzLl9pbmRleGVkVG8xMDBBY3Rpb24oKSx0aGlzLl9sb2dBY3Rpb24oKSxuZXcgZXMuU2VwYXJhdG9yLHRoaXMuX2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCksbmV3IGVzLlNlcGFyYXRvciksISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpKXtjb25zdCBlPVtpLnNob3dTeW1ib2xMYWJlbHNBY3Rpb24saS5zaG93U2VyaWVzTGFzdFZhbHVlLGkuc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlLGkuc2hvd1ByZVBvc3RNYXJrZXRQcmljZUxhYmVsLGkuc2hvd0hpZ2hMb3dQcmljZUxhYmVscywoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2F2ZXJhZ2VfY2xvc2VfcHJpY2VfbGluZV9hbmRfbGFiZWwiKT9pLnNob3dBdmVyYWdlQ2xvc2VQcmljZUxhYmVsOm51bGwsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaGFzQ3VzdG9tU291cmNlKCJiaWRhc2siKT9pLnNob3dCaWRBc2tMYWJlbHM6bnVsbCxpLnNob3dTdHVkeVBsb3ROYW1lc0FjdGlvbixpLnNob3dTdHVkeUxhc3RWYWx1ZSx0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQ/aS5zaG93Q291bnRkb3duOm51bGwsbmV3IGVzLlNlcGFyYXRvcix0LmFsaWduTGFiZWxzXS5maWx0ZXIoYS5ub3ROdWxsKTtzLnB1c2gobmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzIixvcHRpb25zOntsYWJlbDpwcyxzdWJJdGVtczplfX0pKX1jb25zdHtjcmVhdGVMaW5lc0FjdGlvbjpufT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcy5wdXNoKG4odGhpcy5fY2hhcnQpKSx0aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuaXNNZW51RW5hYmxlZCgpJiZzLnB1c2goaS5hZGRQbHVzQnV0dG9uKSxlJiYhdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19jaGFydF9wcm9wZXJ0eV9wYWdlIikmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Byb3BlcnR5X3BhZ2Vfc2NhbGVzIikmJmkuc2NhbGVzUHJvcGVydGllcyYmcy5wdXNoKG5ldyBlcy5TZXBhcmF0b3IsaS5zY2FsZXNQcm9wZXJ0aWVzKSxzfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKGUpeyh0aGlzLl9zaXplLndpZHRoPHRoaXMub3B0aW1hbFdpZHRoKCl8fGUpJiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5mdWxsVXBkYXRlKCl9b3B0aW1hbFdpZHRoKCl7aWYoIXRoaXMuaXNWaXNpYmxlKCkpcmV0dXJuIDA7bGV0IGU9MDtjb25zdCB0PXRoaXMucmVuZGVyZXJPcHRpb25zKCk7aWYodGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXtjb25zdCB0PSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KTt0LmZvbnQ9dGhpcy5iYXNlRm9udCgpO2NvbnN0IGk9dGhpcy5fdmlld3MoMix0aGlzLl9ncm91cGVkU291cmNlcygpKTtmb3IoY29uc3QgcyBvZiBpKXtpZighcy5pc0F4aXNMYWJlbFZpc2libGUoKXx8cy5pc091dHNpZGVPZlZpc2libGVQcmljZVJhbmdlPy4oKSljb250aW51ZTtjb25zdCBpPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxzLnRleHQoKSk7ZT1NYXRoLm1heChlLGkpO2NvbnN0IG49cy5zZWNvbmRMaW5lVGV4dCgpO24mJihlPU1hdGgubWF4KGUsdGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dCh0LG4pKSk7Y29uc3Qgcj1zLnRoaXJkTGluZVRleHQoKTtyJiYoZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxyKSkpfWNvbnN0IHM9dGhpcy5wcmljZVNjYWxlKCk7Zm9yKGNvbnN0IGkgb2Ygcy5tYXJrcygpKWU9TWF0aC5tYXgoZSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsaS5sYWJlbCkpO2NvbnN0IG49cy5tYWluU291cmNlKCk/LmZpcnN0VmFsdWUoKXx8bnVsbDtpZihudWxsIT09biYmIXMuaXNQZXJjZW50YWdlKCkmJiFzLmlzSW5kZXhlZFRvMTAwKCkpe2NvbnN0IGk9cy5jb29yZGluYXRlVG9QcmljZSgxLG4pLHI9cy5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9zaXplLmhlaWdodC0yLG4pO2lmKE1hdGguYWJzKGktcik+MWUtMTQpe2NvbnN0IG89TWF0aC5tYXgoMCwtTWF0aC5sb2cxMChNYXRoLm1heChNYXRoLmFicyhpKSxNYXRoLmFicyhyKSkpKSxhPS4xMTExMTExMTExMTExMS9NYXRoLnBvdygxMCxNYXRoLmZsb29yKG8pKSxsPXMuZm9ybWF0UHJpY2UoTWF0aC5taW4oaSxyKS1hLG4pLGM9cy5mb3JtYXRQcmljZShNYXRoLm1heChpLHIpK2Esbik7ZT1NYXRoLm1heChlLHRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQodCxsKSx0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KHQsYykpfX19Y29uc3QgaT10aGlzLl9pc0N1cnJlbmN5TGFiZWxFbmFibGVkKCk/TWF0aC5yb3VuZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLndpZHRoKCkpOjAscz1lfHwzNDtsZXQgbj1NYXRoLm1heChpLHRoaXMuX3NjYWxlTW9kZUJ1dHRvbnM/LndpZHRoKCk/PzAsTWF0aC5jZWlsKHQuYm9yZGVyU2l6ZSt0LmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIrdC5wYWRkaW5nSW5uZXIrdC5wYWRkaW5nT3V0ZXIrcys0KSk7cmV0dXJuIG4rPW4lMixufXNldFNpemVBbmRPZmZzZXQoZSx0KXsoMCx5dC5lcXVhbFNpemVzKSh0aGlzLl9zaXplLGUpfHwodGhpcy5fc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPWUud2lkdGgrInB4IiksdGhpcy5fb2Zmc2V0IT09dCYmKHRoaXMuX29mZnNldD10LAp0aGlzLl9jZWxsLnN0eWxlLmxlZnQ9dCsicHgiKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWdldEltYWdlKCl7Y29uc3QgZT10aGlzLl9zaXplLHQ9KDAsS3QuY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCxlKTtyZXR1cm4oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpLmRyYXdJbWFnZSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsMCwwLGUud2lkdGgsZS5oZWlnaHQpLG51bGw9PT10aGlzLl9jdXJyZW5jeUxhYmVsfHx0aGlzLl9jdXJyZW5jeUxhYmVsLmlzSGlkZGVuKCl8fHRoaXMuX2N1cnJlbmN5TGFiZWwuZHJhd0xhYmVsKCgwLEt0LmdldENvbnRleHQyRCkodCksZS53aWR0aCwoMCxkaS5nZXRDYW52YXNEZXZpY2VQaXhlbFJhdGlvKSh0KSksdH11cGRhdGUoKXtudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUubWFya3MoKSx0aGlzLnJlbmRlcmVyT3B0aW9ucygpKX1wYWludChlKXtpZighdGhpcy5faXNWaXNpYmxlfHwwPT09dGhpcy5fc2l6ZS53aWR0aHx8MD09PXRoaXMuX3NpemUuaGVpZ2h0KXJldHVybjtpZihlPT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuTm9uZSlyZXR1cm47Y29uc3QgdD10aGlzLl9wYW5lLnN0YXRlKCksaT0hdC5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0LmNvbGxhcHNlZCgpLnZhbHVlKCk7aWYoaSYmZTxMZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsKXJldHVybjtjb25zdCBzPXRoaXMuX3BhbmUuaGFzU3RhdGUoKTsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3Qgbj1udWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmIXRoaXMuX2N1cnJlbmN5TGFiZWwuaXNIaWRkZW4oKSxyPShlLHQsaSk9PntpZihuKXtlLnNhdmUoKSxlLmJlZ2luUGF0aCgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5sYWJlbEJvdHRvbSgpO2UucmVjdCgwLGkqdC52ZXJ0aWNhbFBpeGVsUmF0aW8sdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLGUuY2xpcCgpfWkoKSxuJiZlLnJlc3RvcmUoKX0sbz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX2dyb3VwZWRTb3VyY2VzKCkpKSxhPSgwLGJ0LmRlZmF1bHQpKCgoKT0+dGhpcy5fdmlld3MoMSxvKCkpKSksYz0oMCxidC5kZWZhdWx0KSgoKCk9PnRoaXMuX3ZpZXdzKDAsbygpKSkpO2lmKGU+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLEt0LmdldENvbnRleHQyRCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50KSx0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtpfHwodGhpcy5fYWxpZ25MYWJlbHMoWy4uLmEoKSwuLi5jKCldKSxzJiZ0aGlzLnVwZGF0ZUN1cnJlbmN5TGFiZWwoKSksdGhpcy5fZHJhd0JhY2tncm91bmQoZSx0KSxpfHxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3RHJhd2luZ3NIaWdobGlnaHQoZSx0KX0pKSx0aGlzLl9kcmF3Qm9yZGVyKGUsdCkscyYmIWkmJih0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYodGhpcy5fc2NhbGVNb2RlQnV0dG9ucy5lbGVtZW50KCkuc3R5bGUuYmFja2dyb3VuZD10aGlzLl9oaWdobGlnaHRlZD90aGlzLl9oaWdobGlnaHRDb2xvcigpOnRoaXMuYmFja2dyb3VuZENvbG9yKCkpLHIoZSx0LCgoKT0+e3RoaXMuX2RyYXdUaWNrTWFya3MoZSx0KSx0aGlzLl9kcmF3TGFiZWxzKGMoKSxlLHQpfSkpKX1pZihzJiYhaSl7Y29uc3QgZT0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCksdD0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7ZS5jbGVhclJlY3QoMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0KSxyKGUsdCwoKCk9Pnt0aGlzLl9kcmF3TGFiZWxzKGEoKSxlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXJMYWJlbChlLHQpfSkpfX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuX3NldEN1cnNvcigiIil9cHJpY2VTY2FsZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSl9c2V0UHJpY2VTY2FsZShlKXt0aGlzLl9wcmljZVNjYWxlIT09ZSYmKG51bGwhPT10aGlzLl9wcmljZVNjYWxlJiYodGhpcy5fcHJpY2VTY2FsZS5vbk1hcmtzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKSx0aGlzLl9wcmljZVNjYWxlLm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpLHRoaXMuX3ByaWNlU2NhbGU9ZSxudWxsIT09ZSYmKGUub25NYXJrc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQpLGUubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCghMCkpKSx0aGlzLm9uT3B0aW1hbFdpZHRoTmVlZFRvQmVSZWNhbGN1bGF0ZWQoKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zJiYoZS5tb2RlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMpLHRoaXMuX3VwZGF0ZVNjYWxlTW9kZUJ1dHRvbnMoKSkpKX1pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlfXNldFZpc2libGUoZSl7KGU9ISFlKSE9PXRoaXMuX2lzVmlzaWJsZSYmKHRoaXMuX2NlbGwuc3R5bGUuZGlzcGxheT1lPyJ0YWJsZS1jZWxsIjoibm9uZSIsdGhpcy5faXNWaXNpYmxlPWUpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fY3VycmVuY3lNZW51JiYodGhpcy5fY3VycmVuY3lNZW51LmRlc3Ryb3koKSx0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCksbnVsbCE9PXRoaXMuX3VuaXRNZW51JiYodGhpcy5fdW5pdE1lbnUuZGVzdHJveSgpLHRoaXMuX3VuaXRNZW51PW51bGwpLApudWxsIT09dGhpcy5fbWV0cmljTWVudSYmKHRoaXMuX21ldHJpY01lbnUuZGVzdHJveSgpLHRoaXMuX21ldHJpY01lbnU9bnVsbCksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fY2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl9jYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmKHRoaXMuX3ByaWNlU2NhbGUub25NYXJrc0NoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCksdGhpcy5fcHJpY2VTY2FsZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpKSx0aGlzLl9wcmljZVNjYWxlPW51bGwsdGhpcy5fbW91c2VFdmVudEhhbmRsZXIuZGVzdHJveSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkZvbnRTaXplQ2hhbmdlZCksbnVsbCE9PXRoaXMuX2FjdGlvbnMmJihPYmplY3QudmFsdWVzKHRoaXMuX2FjdGlvbnMpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9hY3Rpb25zPW51bGwpLCgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY2hhcnQuYW55UHJpY2VBeGlzSG92ZXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkpLCgwLG9zLmFjdHVhbEF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eSkoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2Rlc3Ryb3lTY2FsZU1vZGVCdXR0b25zKCksdGhpcy5fZGVzdHJveWVkPSEwfWF4aXNJbmZvKCl7cmV0dXJuIHRoaXMuX2F4aXNJbmZvfXNldEhpZ2hsaWdodGVkKGUpe3RoaXMuX2hpZ2hsaWdodGVkPWV9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuIHRoaXMuX3BhbmUuc3RhdGUoKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bGluZUNvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubGluZUNvbG9yLnZhbHVlKCl9dGV4dENvbG9yKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCl9Zm9udFNpemUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZS52YWx1ZSgpfWJhc2VGb250KGU9ITEpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxlPyJib2xkIjoiIil9cmVuZGVyZXJPcHRpb25zKCl7bGV0IGU9dGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpO3JldHVybiB0aGlzLl9jb2xvcj09PWUuY29sb3ImJnRoaXMuX2ZvbnRTaXplPT09ZS5mb250U2l6ZXx8KHRoaXMuX2NvbG9yPWUuY29sb3IpLHRoaXMuX2ZvbnRTaXplIT09ZS5mb250U2l6ZSYmKHRoaXMuX3dpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9mb250U2l6ZT1lLmZvbnRTaXplLHRoaXMub25PcHRpbWFsV2lkdGhOZWVkVG9CZVJlY2FsY3VsYXRlZCgpKSx0aGlzLl9jaGFydC5vbldpZGdldCgpfHwoZT1PYmplY3QuYXNzaWduKHt9LGUse3BhZGRpbmdJbm5lcjpNYXRoLm1heChlLnBhZGRpbmdJbm5lcixxaS5BTEVSVF9MQUJFTF9XSURUSCl9KSksZX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl8fCh0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITApLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSkpfW1vdXNlTW92ZUV2ZW50KGUpe3RoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX10b3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpLHRoaXMuX21vdXNlRW50ZXJPclRvdWNoU3RhcnRFdmVudChlKSx0aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXBpbmNoU3RhcnRFdmVudChlLHQsaSxzKXtyZXR1cm4gcy5ib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50fXBpbmNoRXZlbnQoZSx0LGkpe2lmKHRoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5waW5jaFNjYWxlKXtpZih0aGlzLl9kcmFnU2NhbGVBY3RpdmUmJnRoaXMuX2ZpbmlzaFNjYWxlKCksIXRoaXMuX3BpbmNoaW5nKXJldHVybiB0aGlzLl9waW5jaGluZz0hMCx2b2lkIHRoaXMuX3VuZG9Nb2RlbC5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UodGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpO3RoaXMuX3VuZG9Nb2RlbC50d29Qb2ludHNTY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHRoaXMucHJpY2VTY2FsZSgpLHQueSxpLnkpfX1waW5jaEVuZEV2ZW50KCl7dGhpcy5fcGluY2hpbmc9ITEsCnRoaXMuX3VuZG9Nb2RlbC5lbmRUd29Qb2ludHNTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KCl7dGhpcy5fZmluaXNoU2NhbGUoKSx0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghMSl9bW91c2VVcEV2ZW50KGUpe3RoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9dG91Y2hFbmRFdmVudChlKXt0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpLHRoaXMuX21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl9bW91c2VDbGlja0V2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfXRhcEV2ZW50KGUpe3RoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpfW1vdXNlTGVhdmVFdmVudChlKXt0aGlzLl9jaGFydC5zZXRQcmljZUF4aXNIb3ZlcmVkKHRoaXMsITEpLHRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMSksdGhpcy5fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1kb3VibGVUYXBFdmVudChlKXt0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX1jb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9dG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX2NvbnRleHRNZW51T3JUb3VjaENvbnRleHRNZW51RXZlbnQoZSl9ZGF0YVNvdXJjZUF0UG9pbnQoZSx0KXtpZighdGhpcy5fcGFuZS5oYXNTdGF0ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fcGFuZS5zdGF0ZSgpO2lmKCFpLm1heGltaXplZCgpLnZhbHVlKCkmJmkuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXRoaXMuX2dyb3VwZWRTb3VyY2VzKCksbj1bLi4ucy5zb3VyY2VzLC4uLnMudG9wTGV2ZWxTb3VyY2VzLC4uLmkuY3VzdG9tU291cmNlcygpLC4uLmkuc291cmNlc0J5R3JvdXAoKS5tdWx0aXBhbmVTb3VyY2VzKCldO2xldCByPW51bGwsbz1udWxsO2lmKCF0aGlzLl9wcmljZVNjYWxlKXJldHVybiBudWxsO2NvbnN0IGE9KGUsdCk9Pntjb25zdCBpPW8/LnRhcmdldCgpPz8wO2UudGFyZ2V0KCk+aSYmKG89ZSxyPXQpfSxsPW5ldyBQdC5Qb2ludChlLHQpLGM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO2ZvcihsZXQgZT1uLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCB0PW5bZV0scz10LnByaWNlQXhpc1ZpZXdzKGksdGhpcy5fcHJpY2VTY2FsZSk7aWYocyYmMCE9PXMubGVuZ3RoKWZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7LS1lKXtjb25zdCBpPXNbZV0ucmVuZGVyZXIoKTtpZih2b2lkIDAhPT1pLmhpdFRlc3Qpe2NvbnN0IGU9aS5oaXRUZXN0KGwsYyx0aGlzLl9pc0xlZnQ/ImxlZnQiOiJyaWdodCIpO251bGwhPT1lJiZhKGUsdCl9fX1yZXR1cm4gdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ9byxyfXJlc2V0KCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD10aGlzLnByaWNlU2NhbGUoKTt0aGlzLl91bmRvTW9kZWwucmVzZXRQcmljZVNjYWxlKGUsdCksdGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCEwKX11cGRhdGVDdXJyZW5jeUxhYmVsKCl7dGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbEN1cnJlbmN5KCksdGhpcy5fdXBkYXRlQ3VycmVuY3lMYWJlbFVuaXQoKSx0aGlzLl91cGRhdGVDdXJyZW5jeUxhYmVsTWV0cmljKCl9X3VwZGF0ZUN1cnJlbmN5TGFiZWxDdXJyZW5jeSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsKWlmKHRoaXMuX29wdGlvbnMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT10aGlzLnByaWNlU2NhbGUoKS5jdXJyZW5jeSh0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVDdXJyZW5jaWVzKCkudmFsdWUoKSk7bnVsbD09PWV8fCJhbHdheXNPZmYiPT09KDAscnMuYWN0dWFsQ3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eSkoKS52YWx1ZSgpP3RoaXMuX2N1cnJlbmN5TGFiZWwuZGlzYWJsZUN1cnJlbmN5KCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlQ3VycmVuY3koKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldEN1cnJlbmN5SW5mbyhlKSl9ZWxzZSB0aGlzLl9jdXJyZW5jeUxhYmVsLmRpc2FibGVDdXJyZW5jeSgpfV91cGRhdGVDdXJyZW5jeUxhYmVsVW5pdCgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUxhYmVsJiZ0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSx0PXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmF2YWlsYWJsZVVuaXRzKCkudmFsdWUoKSxpPXRoaXMucHJpY2VTY2FsZSgpLnVuaXQodCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlVW5pdCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZVVuaXQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldFVuaXRJbmZvKGkpKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpLm1lYXN1cmVVbml0SWQodCk7bnVsbD09PXN8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWVhc3VyZVVuaXRJZCgpOih0aGlzLl9jdXJyZW5jeUxhYmVsLmVuYWJsZU1lYXN1cmVVbml0SWQoKSx0aGlzLl9jdXJyZW5jeUxhYmVsLnNldE1lYXN1cmVVbml0SWRJbmZvKHMpKX19X3VwZGF0ZUN1cnJlbmN5TGFiZWxNZXRyaWMoKXtpZihudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCl7Y29uc3QgZT0iYWx3YXlzT2ZmIj09PSgwLApycy5hY3R1YWxDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSgpLnZhbHVlKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5hdmFpbGFibGVNZXRyaWNzKCksaT10aGlzLnByaWNlU2NhbGUoKS5tZXRyaWModCk7bnVsbD09PWl8fGU/dGhpcy5fY3VycmVuY3lMYWJlbC5kaXNhYmxlTWV0cmljKCk6KHRoaXMuX2N1cnJlbmN5TGFiZWwuZW5hYmxlTWV0cmljKCksdGhpcy5fY3VycmVuY3lMYWJlbC5zZXRNZXRyaWNJbmZvKGkpKX19X2dyb3VwZWRTb3VyY2VzKCl7Y29uc3QgZT10aGlzLl9wYW5lLnN0YXRlKCksdD1lLm1vZGVsKCksaT10aGlzLl9wYW5lLnN0YXRlKCkuc291cmNlc0J5R3JvdXAoKSxzPXRoaXMuX2lzTGVmdD9pLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTppLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCksbj10aGlzLl9wcmljZVNjYWxlPT09ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHI9bmV3IFNldChlLmN1c3RvbVNvdXJjZXMoKSksbz10PT4hIXIuaGFzKHQpfHwodC5wcmljZVNjYWxlKCk9PT10aGlzLl9wcmljZVNjYWxlfHxuJiZlLmlzT3ZlcmxheSh0KSksYT17c291cmNlczpbLi4ucy5maWx0ZXIobyksLi4uZS5jdXN0b21Tb3VyY2VzKCldLHRvcExldmVsU291cmNlczpuZXcgU2V0fTtpZihuKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKS5kYXRhU291cmNlcygpO2Zvcihjb25zdCBpIG9mIHQpZS5pc092ZXJsYXkoaSkmJmEuc291cmNlcy5wdXNoKGkpfWNvbnN0IGw9dC5saW5lQmVpbmdFZGl0ZWQoKT8/dC5saW5lQmVpbmdDcmVhdGVkKCk7bCYmbyhsKSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZChsKSxhLmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZD1sKTtjb25zdCBjPXQuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO2MmJm8oYykmJihhLnRvcExldmVsU291cmNlcy5hZGQoYyksYS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWMpO2NvbnN0IGg9dC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihvKTtoLmxlbmd0aD4wJiYodC5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZvckVhY2goKGU9PmEudG9wTGV2ZWxTb3VyY2VzLmFkZChlKSkpLGEuc291cmNlc0JlaW5nTW92ZWQ9aCk7Y29uc3QgZD10LnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKS5maWx0ZXIobyk7ZC5sZW5ndGg+MCYmKGQuZm9yRWFjaCgoZT0+YS50b3BMZXZlbFNvdXJjZXMuYWRkKGUpKSksYS5zZWxlY3RlZFNvdXJjZXM9ZCk7Y29uc3QgdT10LmhvdmVyZWRTb3VyY2UoKTtyZXR1cm4gdSYmbyh1KSYmKGEudG9wTGV2ZWxTb3VyY2VzLmFkZCh1KSxhLmhvdmVyZWRTb3VyY2U9dSksYX1faXNDdXJyZW5jeUxhYmVsRW5hYmxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VycmVuY3lMYWJlbCYmdGhpcy5fY3VycmVuY3lMYWJlbC5pc0VuYWJsZWQoKX1fYWxpZ25MYWJlbHMoZSl7Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKSxpPXQubWFpblNvdXJjZSgpLHM9dGhpcy5fcGFuZS5zdGF0ZSgpLG49aT97bGFiZWxzOigpPT5pLnByaWNlQXhpc1ZpZXdzKHMsdCl9Om51bGw7IWZ1bmN0aW9uKGUpe2NvbnN0e3Zpc2libGVWaWV3czp0LGhlaWdodDppLHNjYWxlOnMscmVuZGVyZXJPcHRpb25zOm59PWU7bGV0IHI9aS8yO2NvbnN0IG89bHMobixpLHQpLGE9cy5tYWluU291cmNlKCk7bGV0IGw9W107bnVsbCE9PWEmJihsPWxzKG4saSxhLmxhYmVscygpKSxsLmxlbmd0aCYmKHI9bFswXS5jb29yZGluYXRlKCkpKTtjb25zdCBjPW8uZmlsdGVyKChlPT5lLmNvb3JkaW5hdGUoKTw9cikpLGg9by5maWx0ZXIoKGU9PmUuY29vcmRpbmF0ZSgpPnIpKTtjLnNvcnQoKChlLHQpPT57Y29uc3QgaT10LmNvb3JkaW5hdGUoKS1lLmNvb3JkaW5hdGUoKTtpZihpKXJldHVybiBpO2NvbnN0IHM9bC5pbmNsdWRlcyhlKT8xOjA7cmV0dXJuKGwuaW5jbHVkZXModCk/MTowKS1zfSkpLGMubGVuZ3RoPjAmJmgubGVuZ3RoPjAmJmgucHVzaChjWzBdKSxoLnNvcnQoKChlLHQpPT5lLmNvb3JkaW5hdGUoKS10LmNvb3JkaW5hdGUoKSkpO2Zvcihjb25zdCBlIG9mIG8pZS5zZXRGaXhlZENvb3JkaW5hdGUoZS5jb29yZGluYXRlKCkpO2lmKHMubGFiZWxzQWxpZ25pbmdFbmFibGVkKCkpe2lmKGgubGVuZ3RoPjB8fGMubGVuZ3RoPjApe3tjb25zdCBlPWNbMF0/P2hbMF0sdD1lLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpLHt0b3A6cyxib3R0b206cix0b3RhbDpvfT1lLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pO288aSYmdC1zPDAmJnQrcj4wJiZlLnNldEZpeGVkQ29vcmRpbmF0ZShzKX17Y29uc3QgZT1oWzBdPz9jWzBdLHQ9ZS5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309ZS50b3BCb3R0b21Ub3RhbEhlaWdodChuKTtvPGkmJnQtczxpJiZ0K3I+aSYmZS5zZXRGaXhlZENvb3JkaW5hdGUoaS1yKX19Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IHQ9Y1tlXSxpPWNbZS0xXSx7dG9wOnMsYm90dG9tOnIsdG90YWw6b309dC50b3BCb3R0b21Ub3RhbEhlaWdodChuKSxhPXQuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCksbD1pLmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2lmKGE+bC1vKXQuc2V0Rml4ZWRDb29yZGluYXRlKGwtbyk7ZWxzZSBpZihsPjAmJmEtczwwJiZhK3I+MCl7Y29uc3R7dG9wOmV9PWkudG9wQm90dG9tVG90YWxIZWlnaHQobik7dC5zZXRGaXhlZENvb3JkaW5hdGUoTWF0aC5taW4obC1lLXIscykpfX1mb3IobGV0IGU9MTtlPGgubGVuZ3RoO2UrKyl7Y29uc3QgdD1oW2VdLHM9aFtlLTFdLHtib3R0b206cix0b3RhbDpvfT1zLnRvcEJvdHRvbVRvdGFsSGVpZ2h0KG4pLGE9dC5maXhlZE9yUmVndWxhckNvb3JkaW5hdGUoKSxsPXMuZml4ZWRPclJlZ3VsYXJDb29yZGluYXRlKCk7aWYoYTxsK28pdC5zZXRGaXhlZENvb3JkaW5hdGUobCtvKTtlbHNlIGlmKGw8aSl7Y29uc3R7dG9wOmUsYm90dG9tOnN9PXQudG9wQm90dG9tVG90YWxIZWlnaHQobik7YS1lPGkmJmErcz5pJiZ0LnNldEZpeGVkQ29vcmRpbmF0ZShNYXRoLm1heChsK3IrZSxpLXMpKX19fX0oe3Zpc2libGVWaWV3czplLGhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzY2FsZTp7CmxhYmVsc0FsaWduaW5nRW5hYmxlZDooKT0+dGhpcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmFsaWduTGFiZWxzLnZhbHVlKCksbWFpblNvdXJjZTooKT0+bn0scmVuZGVyZXJPcHRpb25zOnRoaXMucmVuZGVyZXJPcHRpb25zKCl9KX1fZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5wcmljZVNjYWxlKCkubWFya3MoKTtlLnNhdmUoKTtjb25zdCBzPXRoaXMucmVuZGVyZXJPcHRpb25zKCkse2hvcml6b250YWxQaXhlbFJhdGlvOm4sdmVydGljYWxQaXhlbFJhdGlvOnJ9PXQsbz10aGlzLl9pc0xlZnQ/TWF0aC5mbG9vcigodGhpcy5fc2l6ZS53aWR0aC1zLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXIpKm4pOjAsYT10aGlzLl9pc0xlZnQ/TWF0aC5yb3VuZChvLXMucGFkZGluZ0lubmVyKm4pOk1hdGgucm91bmQobysocy5hZGRpdGlvbmFsUGFkZGluZ0lubmVyK3MucGFkZGluZ0lubmVyKSpuKSxjPXRoaXMuZm9udFNpemUoKSxoPXRoaXMuX2lzQ3VycmVuY3lMYWJlbEVuYWJsZWQoKT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmxhYmVsQm90dG9tKCk6MCxkPWkubWFwKCh0PT57aWYodGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzKXJldHVybnt2aXNpYmxlOiEwLHlDb3JyZWN0aW9uOnRoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKX07Y29uc3QgaT10LmNvb3JkLWMvMixzPXQuY29vcmQrYy8yLG49IShzPnRoaXMuX3NpemUuaGVpZ2h0fHxpPGgpO3JldHVybnt2aXNpYmxlOiEocz50aGlzLl9zaXplLmhlaWdodHx8aTxoKSx5Q29ycmVjdGlvbjpuP3RoaXMuX3dpZHRoQ2FjaGUueU1pZENvcnJlY3Rpb24oZSx0LmxhYmVsKTowfX0pKTtlLmZpbGxTdHlsZT10aGlzLnRleHRDb2xvcigpLGUudGV4dEFsaWduPXRoaXMuX2lzTGVmdD8icmlnaHQiOiJsZWZ0IixlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtjb25zdCB1PSF0aGlzLnByaWNlU2NhbGUoKS5pc0xvZygpLHA9dGhpcy5iYXNlRm9udCgpLF89dGhpcy5iYXNlRm9udCghMCk7KDAsS3QuZHJhd1NjYWxlZCkoZSxuLHIsKCgpPT57Zm9yKGxldCB0PWkubGVuZ3RoO3QtLTspe2lmKCFkW3RdLnZpc2libGUpY29udGludWU7Y29uc3Qgcz1pW3RdO2UuZm9udD11JiZzLmJvbGQ/XzpwLGUuZmlsbFRleHQocy5sYWJlbCxhL24scy5jb29yZCtkW3RdLnlDb3JyZWN0aW9uKX19KSksZS5yZXN0b3JlKCl9YXN5bmMgX3Nob3dDdXJyZW5jaWVzQ29udGV4dE1lbnUoKXtpZih0aGlzLl9jdXJyZW5jeU1lbnUpcmV0dXJuIHRoaXMuX2N1cnJlbmN5TWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9jdXJyZW5jeU1lbnU9bnVsbCk7bGV0IGU7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkN1cnJlbmN5IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fY3VycmVuY3lNZW51PW51bGwsdGhpcy5fcmVjYWxjQ3VycmVuY3lVbml0QW5kTWV0cmljVmlzaWJpbGl0eSgpLHRoaXMuX2N1cnJlbmN5TGFiZWw/LnNldEN1cnJlbmN5RXhwYW5kZWQoITEpfTtpZih4cyllPWF3YWl0IFFpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9jdXJyZW5jeV9tZW51X2lubmVyIix0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5pZCgpLHRoaXMuX3BhbmUuc3RhdGUoKS5pZCgpLHRoaXMucHJpY2VTY2FsZSgpLmlkKCldLHQpO2Vsc2V7Y29uc3R7Y3VycmVuY3lBY3Rpb25zOnN9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMTY1OTgpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDgxMDcyKSxpLmUoMTAzODUpLGkuZSg1MjA2NSksaS5lKDY2MDUpLGkuZSg4OTIwNCksaS5lKDMyMTc2KSxpLmUoMjAyKSxpLmUoODg2NDEpLGkuZSg3MDY1NiksaS5lKDMyODU3KSxpLmUoNTI5NjEpLGkuZSgzMjM4NyksaS5lKDM5NjA5KSxpLmUoMzU5NjQpLGkuZSg4Mjk3KV0pLnRoZW4oaS5iaW5kKGksNzM2MTY5KSk7ZT1hd2FpdCBKaShfcywoKCk9PnModGhpcy5fdW5kb01vZGVsLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3VycmVuY3lMYWJlbCkuY3VycmVuY3lJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLmN1cnJlbmN5TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRDdXJyZW5jeUV4cGFuZGVkKCEwKSx0aGlzLl9jdXJyZW5jeU1lbnU9ZSl9YXN5bmMgX3Nob3dVbml0c0NvbnRleHRNZW51KCl7aWYodGhpcy5fdW5pdE1lbnUpcmV0dXJuIHRoaXMuX3VuaXRNZW51LmRlc3Ryb3koKSx2b2lkKHRoaXMuX3VuaXRNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJVbml0IGNvbnZlcnNpb24iKTtjb25zdCB0PSgpPT57dGhpcy5fdW5pdE1lbnU9bnVsbCx0aGlzLl9yZWNhbGNDdXJyZW5jeVVuaXRBbmRNZXRyaWNWaXNpYmlsaXR5KCksdGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0VW5pdEV4cGFuZGVkKCExKX07aWYoTXMpZT1hd2FpdCBRaSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLnVuaXRMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV91bml0X21lbnVfaW5uZXIiLHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlkKCksdGhpcy5fcGFuZS5zdGF0ZSgpLmlkKCksdGhpcy5wcmljZVNjYWxlKCkuaWQoKV0sdCk7ZWxzZXsKY29uc3R7dW5pdEFjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSwxODYwNDApKTtlPWF3YWl0IEppKG1zLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0SW5mbygpLHRoaXMucHJpY2VTY2FsZSgpKSksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS51bml0TGFiZWxFbGVtZW50KCksdCl9dGhpcy5fZGVzdHJveWVkP2UuZGVzdHJveSgpOih0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRVbml0RXhwYW5kZWQoITApLHRoaXMuX3VuaXRNZW51PWUpfWFzeW5jIF9zaG93TWV0cmljc0NvbnRleHRNZW51KCl7aWYodGhpcy5fbWV0cmljTWVudSlyZXR1cm4gdGhpcy5fbWV0cmljTWVudS5kZXN0cm95KCksdm9pZCh0aGlzLl9tZXRyaWNNZW51PW51bGwpO2xldCBlOygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJNZXRyaWMgc3dpdGNoZXIiKTtjb25zdCB0PSgpPT57dGhpcy5fbWV0cmljTWVudT1udWxsLHRoaXMuX3JlY2FsY0N1cnJlbmN5VW5pdEFuZE1ldHJpY1Zpc2liaWxpdHkoKSx0aGlzLl9jdXJyZW5jeUxhYmVsPy5zZXRNZXRyaWNFeHBhbmRlZCghMSl9O2lmKElzKWU9YXdhaXQgUWkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNMYWJlbEVsZW1lbnQoKSxbInRvZ2dsZV9tZXRyaWNfbWVudV9pbm5lciIsdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuaWQoKSx0aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSx0aGlzLnByaWNlU2NhbGUoKS5pZCgpXSx0KTtlbHNle2NvbnN0e21ldHJpY0FjdGlvbnM6c309YXdhaXQgUHJvbWlzZS5hbGwoW2kuZSgxNjU5OCksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoODEwNzIpLGkuZSgxMDM4NSksaS5lKDUyMDY1KSxpLmUoNjYwNSksaS5lKDg5MjA0KSxpLmUoMzIxNzYpLGkuZSgyMDIpLGkuZSg4ODY0MSksaS5lKDcwNjU2KSxpLmUoMzI4NTcpLGkuZSg1Mjk2MSksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSgzNTk2NCksaS5lKDgyOTcpXSkudGhlbihpLmJpbmQoaSw0Mzk5MTQpKTtlPWF3YWl0IEppKGdzLCgoKT0+cyh0aGlzLl91bmRvTW9kZWwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW5jeUxhYmVsKS5tZXRyaWNJbmZvKCksdGhpcy5wcmljZVNjYWxlKCkpKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbmN5TGFiZWwpLm1ldHJpY0xhYmVsRWxlbWVudCgpLHQsITApfXRoaXMuX2Rlc3Ryb3llZD9lLmRlc3Ryb3koKToodGhpcy5fY3VycmVuY3lMYWJlbD8uc2V0TWV0cmljRXhwYW5kZWQoITApLHRoaXMuX21ldHJpY01lbnU9ZSl9X29uRm9udFNpemVDaGFuZ2VkKCl7dGhpcy5vbk9wdGltYWxXaWR0aE5lZWRUb0JlUmVjYWxjdWxhdGVkKCl9X21vdXNlT3JUb3VjaE1vdmVFdmVudChlKXtpZighdGhpcy5fcHJpY2VTY2FsZSlyZXR1cm47aWYodGhpcy5fY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJkZWZhdWx0Iik7aWYoZS5sb2NhbFg8MHx8ZS5sb2NhbFk8MHx8ZS5sb2NhbFg+PXRoaXMuX3NpemUud2lkdGh8fGUubG9jYWxZPj10aGlzLl9zaXplLmhlaWdodClyZXR1cm47bGV0IHQ9ITA7Y29uc3QgaT10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpPygoMCxxaS5pc0FsZXJ0TGFiZWwpKGkpP3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZGVmYXVsdCIpOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgicG9pbnRlciIpLHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Py5kYXRhKCk/LmhvdmVyTW9kZWxGcm9tQXhpcyYmKHRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnNldEhvdmVyZWRTb3VyY2UoaSx0aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpPz9udWxsLDApLHQ9ITEpKTp0aGlzLl9zZXRSZXNpemVDdXJzb3IoKSx0JiZ0aGlzLl91bmRvTW9kZWwubW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fb3B0aW9ucy5wcmVzc2VkTW91c2VNb3ZlU2NhbGUmJiF0aGlzLl9waW5jaGluZyYmKHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMCx0aGlzLl91bmRvTW9kZWwuc3RhcnRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSxlLmxvY2FsWSkpfV9tb3VzZUVudGVyT3JUb3VjaFN0YXJ0RXZlbnQoZSl7dGhpcy5fc2V0UmVzaXplQ3Vyc29yKCl9X3ByZXNzZWRNb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYodGhpcy5fZHJhZ1NjYWxlQWN0aXZlKXtjb25zdCB0PXRoaXMucHJpY2VTY2FsZSgpO3RoaXMuX3VuZG9Nb2RlbC5zY2FsZVByaWNlVG8odGhpcy5fcGFuZS5zdGF0ZSgpLHQsZS5sb2NhbFkpfX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXt0aGlzLl9maW5pc2hTY2FsZSgpfV9maW5pc2hTY2FsZSgpe3RoaXMuX2RyYWdTY2FsZUFjdGl2ZSYmKHRoaXMuX3VuZG9Nb2RlbC5lbmRTY2FsZVByaWNlKHRoaXMuX3BhbmUuc3RhdGUoKSx0aGlzLnByaWNlU2NhbGUoKSksdGhpcy5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHRoaXMuX2RyYWdTY2FsZUFjdGl2ZT0hMSl9X21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWwpewppZih0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93Q3VycmVuY2llc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC51bml0Q29udmVyc2lvbkF2YWlsYWJsZSgpJiZ0aGlzLl9jdXJyZW5jeUxhYmVsLnVuaXRMYWJlbEVsZW1lbnQoKS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJuIHRoaXMuX3Nob3dVbml0c0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCk7aWYodGhpcy5fY3VycmVuY3lMYWJlbC5tZXRyaWNDb252ZXJzaW9uQXZhaWxhYmxlKCkmJnRoaXMuX2N1cnJlbmN5TGFiZWwubWV0cmljTGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybiB0aGlzLl9zaG93TWV0cmljc0NvbnRleHRNZW51KCksdm9pZCBlLnByZXZlbnREZWZhdWx0KCl9ZS5pc1RvdWNoJiZ0aGlzLl9zZWxlY3RlZFZpYVRhcC5zZXRWYWx1ZSghdGhpcy5fc2VsZWN0ZWRWaWFUYXAudmFsdWUoKSk7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0JiZ0aGlzLl91bmRvTW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmxhc3RTZWxlY3RlZEhpdHRlc3REYXRhKCk9PT10aGlzLl9sYXN0SGl0dGVzdFJlc3VsdD8uZGF0YSgpfHwoZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHQsdGhpcy5fbGFzdEhpdHRlc3RSZXN1bHQ/LmRhdGEoKT8/bnVsbCkpfSkpfV9tb3VzZUxlYXZlT3JUb3VjaEVuZEV2ZW50KGUpe3RoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiIil9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKHRoaXMuX2N1cnJlbmN5TGFiZWw/LmN1cnJlbmN5TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpfHx0aGlzLl9jdXJyZW5jeUxhYmVsPy51bml0TGFiZWxFbGVtZW50KCkuY29udGFpbnMoZS50YXJnZXQpKXJldHVybjtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3Q/dGhpcy5fcGFuZS5wcm9jZXNzRG91YmxlQ2xpY2tPblNvdXJjZSh0LHRoaXMuX2xhc3RIaXR0ZXN0UmVzdWx0Pz92b2lkIDAse29yaWdpbjoicHJpY2Vfc2NhbGUifSk6KHRoaXMucmVzZXQoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiRG91YmxlIGNsaWNrIHByaWNlIHNjYWxlIikpfWFzeW5jIF9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe2lmKHRoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKG51bGwhPT10JiZ0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LnNvdXJjZSl7cmV0dXJuIHZvaWQgdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodCl8fChpLmNsZWFyU2VsZWN0aW9uKCksaS5hZGRJdGVtVG9TZWxlY3Rpb24odCkpLHRoaXMuX3BhbmUuc2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUse29yaWdpbjoicHJpY2Vfc2NhbGUifSl9KSl9aWYodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudS5nZW5lcmFsKXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0Q29udGV4dE1lbnVBY3Rpb25zKCEwKSxpPXRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmlkKCk9PT10aGlzLl9wYW5lLnN0YXRlKCkuaWQoKSkpLHM9dGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuY2hhcnRNb2RlbHMoKS52YWx1ZSgpLmZpbmRJbmRleCgoZT0+ZS5pZCgpPT09dGhpcy5fdW5kb01vZGVsLmlkKCkpKSxuPXRoaXMuX3ByaWNlU2NhbGU/LmlkKCkmJi0xIT09aSYmLTEhPT1zO05pLkNvbnRleHRNZW51TWFuYWdlci5zaG93TWVudSh0LGUse3N0YXROYW1lOiJQcmljZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlByaWNlU2NhbGVDb250ZXh0TWVudSIsLi4ubiYme2RldGFpbDp7dHlwZToicHJpY2VTY2FsZSIsaWQ6dGhpcy5fcHJpY2VTY2FsZT8uaWQoKT8/IiIscGFuZUluZGV4OmksY2hhcnRJbmRleDpzfX19KX19fV9zZXRSZXNpemVDdXJzb3IoKXtjb25zdCBlPXRoaXMucHJpY2VTY2FsZSgpO2UuaXNQZXJjZW50YWdlKCl8fGUuaXNJbmRleGVkVG8xMDAoKT90aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIiIpOnRoaXMuX3pvb21BdmFpbGFibGUoKSYmKHRoaXMuX29wdGlvbnMucHJlc3NlZE1vdXNlTW92ZVNjYWxlfHx0aGlzLl9vcHRpb25zLm1vdXNlV2hlZWxTY2FsZSkmJnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibnMtcmVzaXplIil9X3NldEN1cnNvckNsYXNzTmFtZShlKXtsZXQgdD0iIjtlJiYhdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnZhbHVlKCkmJih0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10KX1fem9vbUF2YWlsYWJsZSgpe3JldHVybiF0aGlzLnByaWNlU2NhbGUoKS5pc0VtcHR5KCkmJnRoaXMucHJpY2VTY2FsZSgpLmhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCkmJnRoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLnpvb21FbmFibGVkKCl9X29uTW91c2V3aGVlbChlKXtpZighdGhpcy5fem9vbUF2YWlsYWJsZSgpfHwhdGhpcy5fb3B0aW9ucy5tb3VzZVdoZWVsU2NhbGUpcmV0dXJuO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb3VzZVdoZWVsSGVscGVyKS5wcm9jZXNzV2hlZWwoZSkuZGVsdGFZO2lmKDA9PT10KXJldHVybgo7ZS5jYW5jZWxhYmxlJiZlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT10aGlzLl91bmRvTW9kZWwscz10aGlzLl9wYW5lLnN0YXRlKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXRoaXMuX2NlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1lLmNsaWVudFktci50b3AsYT1vKzE1KnQ7aS5zdGFydFNjYWxlUHJpY2Uocyx0aGlzLnByaWNlU2NhbGUoKSxvLCEwKSxpLnNjYWxlUHJpY2VUbyhzLG4sYSksaS5lbmRTY2FsZVByaWNlKHMsbiksZS5zdG9wUHJvcGFnYXRpb24oKX1fZHJhd0Nyb3NzSGFpckxhYmVsKGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkscz1pLm1vZGVsKCksbj10aGlzLnByaWNlU2NhbGUoKSxyPXMuY3Jvc3NoYWlyU291cmNlKCkucHJpY2VBeGlzVmlld3MoaSxuKTtyJiZyLmxlbmd0aD4wJiZ0aGlzLl9kcmF3TGFiZWxzKHIsZSx0KX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQ7aWYoaT09PXM/KDAsS3QuY2xlYXJSZWN0KShlLDAsMCxuLndpZHRoLG4uaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpOigwLERpLmNsZWFyUmVjdFdpdGhHcmFkaWVudCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxpLHMpLHRoaXMuX2hpZ2hsaWdodGVkKXtlLmdsb2JhbEFscGhhPS41O2NvbnN0IHQ9ay50aGVtZXNbdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKV0uZ2V0VGhlbWVkQ29sb3IoImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0Iik7KDAsS3QuZmlsbFJlY3QpKGUsMCwwLG4ud2lkdGgsbi5oZWlnaHQsdCksZS5nbG9iYWxBbHBoYT0xfX1fZHJhd0RyYXdpbmdzSGlnaGxpZ2h0KGUsdCl7Y29uc3QgaT10aGlzLl9wYW5lLnN0YXRlKCkubW9kZWwoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49aS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiFlLmlzRml4ZWQoKSYmZS5wcmljZVNjYWxlKCk9PT1zKSkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IGk9dC5wcmljZUF4aXNQb2ludHMoKTtyZXR1cm4gMD09PWkubGVuZ3RoP2U6ZS5jb25jYXQoaSl9KSxbXSk7bi5sZW5ndGg+MCYmdGhpcy5faGlnaHRsaWdodEJhY2tncm91bmQoZSxuLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KTtjb25zdCByPWkuY3Jvc3NoYWlyU291cmNlKCk7ci5zdGFydE1lYXN1cmVQb2ludCgpJiZ0aGlzLl9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHIubWVhc3VyZVBvaW50cygpLHRoaXMucHJpY2VTY2FsZSgpLm1haW5Tb3VyY2UoKSx0KX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpLGUuZmlsbFN0eWxlPXRoaXMubGluZUNvbG9yKCk7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86aX09dCxzPU1hdGgubWF4KDEsTWF0aC5mbG9vcih0aGlzLnJlbmRlcmVyT3B0aW9ucygpLmJvcmRlclNpemUqaSkpLG49dGhpcy5faXNMZWZ0P3QuYml0bWFwU2l6ZS53aWR0aC1zOjA7ZS5maWxsUmVjdChuLDAscyx0LmJpdG1hcFNpemUuaGVpZ2h0KSxlLnJlc3RvcmUoKX1fZHJhd0xhYmVscyhlLHQsaSl7Y29uc3Qgcz10aGlzLnJlbmRlcmVyT3B0aW9ucygpLG49dGhpcy5faXNMZWZ0PyJyaWdodCI6ImxlZnQiO2Zvcihjb25zdCByIG9mIGUpci5pc0F4aXNMYWJlbFZpc2libGUoKSYmKHQuc2F2ZSgpLHIucmVuZGVyZXIoKS5kcmF3KHQsaSxzLHRoaXMuX3dpZHRoQ2FjaGUsbiksdC5yZXN0b3JlKCkpfV9oaWdodGxpZ2h0QmFja2dyb3VuZChlLHQsaSxzKXtpZighaSlyZXR1cm47Y29uc3Qgbj1pLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bilyZXR1cm47bGV0IHI9dFswXS5wcmljZSxvPXRbMF0ucHJpY2U7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspcj1NYXRoLm1pbihyLHRbZV0ucHJpY2UpLG89TWF0aC5tYXgobyx0W2VdLnByaWNlKTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzphLHZlcnRpY2FsUGl4ZWxSYXRpbzpsfT1zLGM9dGhpcy5wcmljZVNjYWxlKCksaD1NYXRoLmZsb29yKGMucHJpY2VUb0Nvb3JkaW5hdGUocixuKSpsKSxkPU1hdGguY2VpbChjLnByaWNlVG9Db29yZGluYXRlKG8sbikqbCk7KDAsS3QuZmlsbFJlY3QpKGUsTWF0aC5mbG9vcihhKSxoLHMuYml0bWFwU2l6ZS53aWR0aCxkLWgsdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzSGlnaGxpZ2h0Q29sb3IudmFsdWUoKSl9X3ZpZXdzT3JNYXhNaW5WaWV3cyhlKXtjb25zdCB0PXRoaXMuX3BhbmUuc3RhdGUoKSxpPXRoaXMucHJpY2VTY2FsZSgpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm5bXTtpZigxPT09ZS5sZW5ndGgpcmV0dXJuIGVbMF0ucHJpY2VBeGlzVmlld3ModCxpKT8/W107e2xldCBzPTEvMCxuPS0xLzAscj1udWxsLG89bnVsbDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWEucHJpY2VBeGlzVmlld3ModCxpKT8/W107Zm9yKGNvbnN0IHQgb2YgZSl7aWYoIXQuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgZT10LmZpeGVkT3JSZWd1bGFyQ29vcmRpbmF0ZSgpO2U+PW4mJihuPWUsbz10KSxlPD1zJiYocz1lLHI9dCl9fXJldHVybiBvJiZyP1tvLHJdOltdfX1fdmlld3MoZSx0KXtjb25zdCBpPXRoaXMuX3BhbmUuc3RhdGUoKSxzPXRoaXMucHJpY2VTY2FsZSgpLG49W107aWYoMSE9PWUpZm9yKGNvbnN0IGUgb2YgdC5zb3VyY2VzKXQudG9wTGV2ZWxTb3VyY2VzLmhhcyhlKXx8bi5wdXNoKC4uLmUucHJpY2VBeGlzVmlld3MoaSxzKT8/W10pO2lmKDAhPT1lKXtjb25zdCBlPW5ldyBTZXQscj10PT4hZS5oYXModCksbz10PT57Y29uc3QgaT10LmZpbHRlcihyKTtuLnB1c2goLi4udGhpcy5fdmlld3NPck1heE1pblZpZXdzKGkpKTtmb3IoY29uc3QgdCBvZiBpKWUuYWRkKHQpfTt0LmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQmJm8oW3QuY3VzdG9tU291cmNlQmVpbmdNb3ZlZF0pLHQuc291cmNlc0JlaW5nTW92ZWQmJm8odC5zb3VyY2VzQmVpbmdNb3ZlZCksdC5zZWxlY3RlZFNvdXJjZXMmJm8odC5zZWxlY3RlZFNvdXJjZXMpLHQuaG92ZXJlZFNvdXJjZSYmbyhbdC5ob3ZlcmVkU291cmNlXSksCnQubGluZUJlaW5nRWRpdGVkT3JDcmVhdGVkJiZvKFt0LmxpbmVCZWluZ0VkaXRlZE9yQ3JlYXRlZF0pO2Zvcihjb25zdCBlIG9mWy4uLnQuc291cmNlcywuLi5pLmN1c3RvbVNvdXJjZXMoKV0pZS50b3BQcmljZUF4aXNWaWV3cyYmbi5wdXNoKC4uLmUudG9wUHJpY2VBeGlzVmlld3MoaSxzKT8/W10pfXJldHVybiBufV9pbml0QWN0aW9ucygpe2lmKCF0aGlzLl9wYW5lLmhhc1N0YXRlKCl8fG51bGwhPT10aGlzLl9hY3Rpb25zKXJldHVybjtjb25zdCBlPXRoaXMuX3VuZG9Nb2RlbCx0PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5SZXNldCIsb3B0aW9uczp7bGFiZWw6ZnMsaWNvbklkOiJDaGFydC5SZXNldCIsc2hvcnRjdXRIaW50OigwLEsuaHVtYW5SZWFkYWJsZUhhc2gpKEsuTW9kaWZpZXJzLkFsdCs4Miksc3RhdE5hbWU6IlJlc2V0U2NhbGUiLG9uRXhlY3V0ZTooKT0+dGhpcy5yZXNldCgpfX0pLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQXV0b1NjYWxlIixvcHRpb25zOntsYWJlbDpTcyxjaGVja2FibGU6ITAsY2hlY2tlZDohMCxzdGF0TmFtZToiVG9nZ2xlQXV0b1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6dnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dGhpcy5wcmljZVNjYWxlKCkuaXNQZXJjZW50YWdlKCksc3RhdE5hbWU6IlRvZ2dsZVBlcmNhbnRhZ2UiLG9uRXhlY3V0ZTooKT0+e2UudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVJbmRleGVkVG8xMDAiLG9wdGlvbnM6e2xhYmVsOnlzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzSW5kZXhlZFRvMTAwKCksc3RhdE5hbWU6IlRvZ2dsZUluZGV4ZWRUbzEwMCIsb25FeGVjdXRlOigpPT57ZS50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLHI9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOmJzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLmlzTG9nKCksc3RhdE5hbWU6IlRvZ2dsZUxvZ1NjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUodGhpcy5wcmljZVNjYWxlKCkpLHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX19fSksbz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVSZWd1bGFyIixvcHRpb25zOntsYWJlbDp3cyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc1JlZ3VsYXIoKSxzdGF0TmFtZToiVG9nZ2xlUmVndWxhclNjYWxlIixvbkV4ZWN1dGU6KCk9PntlLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pLGE9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlTm9PdmVybGFwcGluZ0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOkNzLGNoZWNrYWJsZTohMCxjaGVja2VkOnRoaXMucHJpY2VTY2FsZSgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hbGlnbkxhYmVscy52YWx1ZSgpLHN0YXROYW1lOiJUb2dnbGVQcmVjaXNlTGFiZWxzIn19LHtwcm9wZXJ0eTp0aGlzLnByaWNlU2NhbGUoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYWxpZ25MYWJlbHMsdW5kb01vZGVsOmUsdW5kb1RleHQ6Y3N9KSxsPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLlRvZ2dsZUludmVydFNjYWxlIixvcHRpb25zOntsYWJlbDpQcyxjaGVja2FibGU6ITAsY2hlY2tlZDp0aGlzLnByaWNlU2NhbGUoKS5pc0ludmVydGVkKCksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsb25FeGVjdXRlOigpPT57ZS5pbnZlcnRQcmljZVNjYWxlKHRoaXMucHJpY2VTY2FsZSgpKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zKCl9fX0pO3RoaXMuX2FjdGlvbnM9e3Jlc2V0OnQsc2V0QXV0b1NjYWxlOmksc2V0UGVyY2VudGFnZTpzLHNldEluZGV4ZWRUbzEwMDpuLHNldExvZzpyLHNldFJlZ3VsYXI6byxhbGlnbkxhYmVsczphLGludmVydFNjYWxlOmx9LHRoaXMuX3VwZGF0ZVNjYWxlc0FjdGlvbnMoKX1fbG9nQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkubG9nU2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRMb2d9X3BlcmNlbnRhZ2VBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5wZXJjZW50U2VyaWVzU2NhbGU6KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKS5zZXRQZXJjZW50YWdlfV9pbmRleGVkVG8xMDBBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLnNldEluZGV4ZWRUbzEwMH1fYXV0b1NjYWxlQWN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkuYXV0b1Nlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0QXV0b1NjYWxlfV9yZWd1bGFyU2NhbGVBY3Rpb24oKXsKcmV0dXJuIHRoaXMuX2lzTWFpblNlcmllc0F4aXMoKT90aGlzLl9jaGFydC5hY3Rpb25zKCkucmVndWxhclNlcmllc1NjYWxlOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aW9ucykuc2V0UmVndWxhcn1fbG9ja1NjYWxlQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCkubG9ja1Nlcmllc1NjYWxlLHQ9VHModGhpcy5wcmljZVNjYWxlKCksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW8oKSk7cmV0dXJuIGUudXBkYXRlKHtoaW50OnR9KSxlfV9pbnZlcnRBY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNYWluU2VyaWVzQXhpcygpP3RoaXMuX2NoYXJ0LmFjdGlvbnMoKS5pbnZlcnRTZXJpZXNTY2FsZTooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FjdGlvbnMpLmludmVydFNjYWxlfV9pc01haW5TZXJpZXNBeGlzKCl7cmV0dXJuIHRoaXMucHJpY2VTY2FsZSgpLmhhc01haW5TZXJpZXMoKX1fdXBkYXRlU2NhbGVzQWN0aW9ucygpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCksdD10aGlzLl9pc01haW5TZXJpZXNBeGlzKCksaT0oMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcm9wZXJ0aWVzKCkscz10JiZlLmlzTG9ja1NjYWxlKCksbj10JiY2PT09aS5zdHlsZS52YWx1ZSgpLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3Rpb25zKTtyLnNldFJlZ3VsYXIudXBkYXRlKHtjaGVja2VkOmUuaXNSZWd1bGFyKCksZGlzYWJsZWQ6c3x8bn0pLHIuc2V0UGVyY2VudGFnZS51cGRhdGUoe2NoZWNrZWQ6ZS5pc1BlcmNlbnRhZ2UoKSxkaXNhYmxlZDpzfHxufSksci5zZXRJbmRleGVkVG8xMDAudXBkYXRlKHtjaGVja2VkOmUuaXNJbmRleGVkVG8xMDAoKSxkaXNhYmxlZDpzfHxufSksci5zZXRMb2cudXBkYXRlKHtjaGVja2VkOmUuaXNMb2coKSxkaXNhYmxlZDpzfHxufSksci5zZXRBdXRvU2NhbGUudXBkYXRlKHtjaGVja2VkOmUuaXNBdXRvU2NhbGUoKSxkaXNhYmxlZDplLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpfSl9X2NyZWF0ZU1lcmdlU2NhbGVzQWN0aW9uKCl7Y29uc3QgZT10aGlzLl9jaGFydC5hY3Rpb25zKCksdD10aGlzLl91bmRvTW9kZWwubW9kZWwoKS5wcmljZVNjYWxlU2xvdHNDb3VudCgpO2lmKHQubGVmdCt0LnJpZ2h0PT09MSlyZXR1cm4gMD09PXQubGVmdD9lLm1vdmVTY2FsZVRvTGVmdDplLm1vdmVTY2FsZVRvUmlnaHQ7Y29uc3QgaT1bXTtyZXR1cm4gaS5wdXNoKGUubWVyZ2VMZWZ0U2NhbGVzQWN0aW9uKSxpLnB1c2goZS5tZXJnZVJpZ2h0U2NhbGVzQWN0aW9uKSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlcyIsb3B0aW9uczp7bGFiZWw6dXMsc3ViSXRlbXM6aX19KX1fc2V0Q3Vyc29yKGUpe2xldCB0PSIiOyJncmFiYmluZyIhPT1lJiYibnMtcmVzaXplIiE9PWV8fCh0PSJwcmljZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1hc3luYyBfY3JlYXRlU2NhbGVNb2RlQnV0dG9ucygpe2NvbnN0e1ByaWNlU2NhbGVNb2RlQnV0dG9uc1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMjI1MTApLGkuZSg0MTUwNiksaS5lKDMyMzg3KSxpLmUoNzEzNzUpXSkudGhlbihpLmJpbmQoaSw5MzE4NzApKTtpZih0aGlzLl9kZXN0cm95ZWQpdGhyb3coMCxxZS5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IHQ9bmV3IGUoe2NsYXNzTmFtZToicHJpY2UtYXhpc19fbW9kZUJ1dHRvbnMiLHNldE1vZGU6ZT0+e3RoaXMuX3ByaWNlU2NhbGUmJigibG9nIj09PWU/dGhpcy5fY2hhcnQubW9kZWwoKS5zZXRQcmljZVNjYWxlTW9kZSh7bG9nOiF0aGlzLl9wcmljZVNjYWxlLmlzTG9nKCl9LHRoaXMuX3ByaWNlU2NhbGUsZHMpOnRoaXMuX2NoYXJ0Lm1vZGVsKCkuc2V0UHJpY2VTY2FsZU1vZGUoe2F1dG9TY2FsZTohdGhpcy5fcHJpY2VTY2FsZS5pc0F1dG9TY2FsZSgpfSx0aGlzLl9wcmljZVNjYWxlLGhzKSl9LGdldE1vZGU6KCk9PnRoaXMuX3ByaWNlU2NhbGU/Lm1vZGUoKX0pO3JldHVybiB0LmVsZW1lbnQoKS5zdHlsZS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZENvbG9yKCksdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0LmVsZW1lbnQoKSksdGhpcy5fcHJpY2VTY2FsZT8ubW9kZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0fV9kZXN0cm95U2NhbGVNb2RlQnV0dG9ucygpe3RoaXMuX3NjYWxlTW9kZUJ1dHRvbnMmJih0aGlzLl9pc0hvdmVyZWQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fc2VsZWN0ZWRWaWFUYXAudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUHJpY2VTY2FsZU1vZGVCdXR0b25zVmlzaWJpbGl0eSksdGhpcy5fcGFuZS52aXN1YWxseUNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVByaWNlU2NhbGVNb2RlQnV0dG9uc1Zpc2liaWxpdHkpLHRoaXMuX3ByaWNlU2NhbGU/Lm1vZGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTY2FsZU1vZGVCdXR0b25zKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zLmRlc3Ryb3koKSx0aGlzLl9zY2FsZU1vZGVCdXR0b25zPW51bGwpfV9oaWdobGlnaHRDb2xvcigpe2NvbnN0IGU9dGhpcy5iYWNrZ3JvdW5kQ29sb3IoKSx0PXRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lLnZhbHVlKCk7aWYobnVsbD09PXRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGV8fHRoaXMuX2hpZ2hsaWdodENvbG9yQ2FjaGUuYmFja2dyb3VuZENvbG9yIT09ZXx8dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS50aGVtZSE9PXQpe2NvbnN0IGk9KDAsCiRpLmFwcGx5VHJhbnNwYXJlbmN5KShrLnRoZW1lc1t0aGlzLl9iYWNrZ3JvdW5kQmFzZWRUaGVtZS52YWx1ZSgpXS5nZXRUaGVtZWRDb2xvcigiY29sb3ItcHJpY2UtYXhpcy1oaWdobGlnaHQiKSw1MCkscz0oMCx5aS5yZ2JhVG9TdHJpbmcpKCgwLHlpLmJsZW5kUmdiYSkoKDAseWkucGFyc2VSZ2JhKSh0aGlzLmJhY2tncm91bmRDb2xvcigpKSwoMCx5aS5wYXJzZVJnYmEpKGkpKSk7dGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZT17dGhlbWU6dCxiYWNrZ3JvdW5kQ29sb3I6ZSxyZXN1bHRDb2xvcjpzfX1yZXR1cm4gdGhpcy5faGlnaGxpZ2h0Q29sb3JDYWNoZS5yZXN1bHRDb2xvcn1fYXBwbHlMaWdodFVwZGF0ZUlmUmVxdWlyZWQoKXsidmlzaWJsZU9uTW91c2VPdmVyIj09PSgwLHJzLmFjdHVhbEN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHkpKCkudmFsdWUoKSYmdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkubGlnaHRVcGRhdGUoKX19dmFyIEVzPWkoOTI1OTg1KSxScz1pKDMyMzA3OSk7Y29uc3QgVnM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5DaGFydFVuZG9Nb2RlbCIpO3ZhciBCczshZnVuY3Rpb24oZSl7ZVtlLk1lcmdlVGltZW91dD0xZTNdPSJNZXJnZVRpbWVvdXQifShCc3x8KEJzPXt9KSk7Y29uc3QgTnM9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2NhbGUgcHJpY2UiLHAudChudWxsLHZvaWQgMCxpKDI1Njk2OCkpKTtjbGFzcyBPcyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHI9ITApe3N1cGVyKE5zLCExLHIpLHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZT1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fcGFuZUluZGV4PWUucGFuZXMoKS5pbmRleE9mKHQpLHRoaXMuX3ByaWNlU2NhbGVJZD1pLmlkKCksdGhpcy5fc3RhdGU9cyx0aGlzLl90aW1lc3RhbXA9bj9wZXJmb3JtYW5jZS5ub3coKTpudWxsfXVuZG8oKXtpZihudWxsIT09dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKXJldHVybiB2b2lkIFZzLmxvZ0RlYnVnKCJQcmljZVNjYWxlQ2hhbmdlVW5kb0NvbW1hbmQudW5kbzogQ29tbWFuZCBpcyBhbHJlYWR5IHVuZG9uZSIpO2NvbnN0W2UsdF09dGhpcy5fcGFuZUFuZFNjYWxlKCk7dGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPXQuc3RhdGUoKSx0aGlzLl9tb2RlbC5yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCx0aGlzLl9zdGF0ZSl9cmVkbygpe2lmKG51bGw9PT10aGlzLl9uZXdQcmljZVNjYWxlU3RhdGUpcmV0dXJuIHZvaWQgVnMubG9nRGVidWcoIlByaWNlU2NhbGVDaGFuZ2VVbmRvQ29tbWFuZC5yZWRvOiBDb21tYW5kIGlzIG5vdCB1bmRvbmUiKTtjb25zdFtlLHRdPXRoaXMuX3BhbmVBbmRTY2FsZSgpO3RoaXMuX21vZGVsLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUoZSx0LHRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSksdGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlPW51bGx9Y2FuTWVyZ2UoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBPcyYmbnVsbCE9PXRoaXMuX3RpbWVzdGFtcCYmbnVsbCE9PWUuX3RpbWVzdGFtcCYmbnVsbD09PXRoaXMuX25ld1ByaWNlU2NhbGVTdGF0ZSYmZS5fbW9kZWw9PT10aGlzLl9tb2RlbCYmZS5fcGFuZUluZGV4PT09dGhpcy5fcGFuZUluZGV4JiZlLl9wcmljZVNjYWxlSWQ9PT10aGlzLl9wcmljZVNjYWxlSWQmJk1hdGguYWJzKGUuX3RpbWVzdGFtcC10aGlzLl90aW1lc3RhbXApPDFlM31tZXJnZShlKXt0aGlzLl90aW1lc3RhbXA9ZS5fdGltZXN0YW1wfV9wYW5lQW5kU2NhbGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpKTtyZXR1cm5bZSx0XX19dmFyIFdzPWkoNDgzMDE2KSxGcz1pKDczNjI4KSxIcz1pKDU0MjM0OSksenM9aSgyOTE4NDMpLFVzPWkoMTc1ODE1KSxHcz1pKDQ5MDM5OSksanM9aSgxMTc4MjApLHFzPWkoODcwNTYyKTtjbGFzcyAkc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NpemU9KDAseXQuc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSx0aGlzLl9wYW5lPW51bGwsdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuX3BhbmU/Lm1vZGVsKCkubGlnaHRVcGRhdGUoKSx0aGlzLl9yZW5kZXJlck9wdGlvbnNQcm92aWRlcj1lLHRoaXMuX3NpZGU9dCx0aGlzLl9jZWxsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwicHJpY2UtYXhpcy1jb250YWluZXIiKSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPSIyNXB4Iix0aGlzLl9jZWxsLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fY2VsbCwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpO2NvbnN0IGk9dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50O2kuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD0iMHB4IixpLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fbW91c2VFdmVudEhhbmRsZXI9bmV3IHdpLk1vdXNlRXZlbnRIYW5kbGVyKHRoaXMuX2NlbGwsdGhpcyl9ZGVzdHJveSgpe3RoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpfWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY2VsbH1nZXRTY3JlZW5zaG90RGF0YShlKXtjb25zdCB0PSgwLEt0LmNyZWF0ZURpc2Nvbm5lY3RlZENhbnZhcykoZG9jdW1lbnQsdGhpcy5fc2l6ZSksaT0oMCxLdC5nZXRQcmVzY2FsZWRDb250ZXh0MkQpKHQpCjtyZXR1cm4gMCE9PXRoaXMuX3NpemUud2lkdGgmJjAhPT10aGlzLl9zaXplLmhlaWdodCYmaS5kcmF3SW1hZ2UodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LDAsMCx0aGlzLl9zaXplLndpZHRoLHRoaXMuX3NpemUuaGVpZ2h0KSx7Y29udGVudDp0LnRvRGF0YVVSTCgpLGNhbnZhczp0LGNvbnRlbnRXaWR0aDp0aGlzLl9zaXplLndpZHRoLGNvbnRlbnRIZWlnaHQ6dGhpcy5fc2l6ZS5oZWlnaHR9fXNldFBhbmUoZSl7dGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31wYWludCgpe2lmKDA9PT10aGlzLl9zaXplLndpZHRofHwwPT09dGhpcy5fc2l6ZS5oZWlnaHQpcmV0dXJuOygwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fY2FudmFzQmluZGluZyk7Y29uc3QgZT0oMCxLdC5nZXRCaW5kaW5nUmVuZGVyaW5nSW5mbykodGhpcy5fY2FudmFzQmluZGluZyksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5nZXRDb250ZXh0KCIyZCIpKTtpZih0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5jbGVhclJlY3QoMCwwLHRoaXMuX3NpemUud2lkdGgsdGhpcy5fc2l6ZS5oZWlnaHQpLHRoaXMuX2RyYXdCYWNrZ3JvdW5kKHQsZSksdGhpcy5fZHJhd0JvcmRlcih0LGUpLCF0aGlzLl9wYW5lPy5jb2xsYXBzZWQoKS52YWx1ZSgpKXsodGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLmZvckVhY2goKGk9PnsoaS53aWRnZXRTaWRlQXJlYVZpZXdzPy4odGhpcy5fc2lkZSk/P1tdKS5mb3JFYWNoKChpPT5pLnJlbmRlcmVyKGUpPy5kcmF3KHQsZSkpKX0pKX19cmVzdG9yZURlZmF1bHRDdXJzb3IoKXt9c2V0U2l6ZXMoZSx0KXt0aGlzLl9zaXplPSgwLHl0LnNpemUpKHt3aWR0aDp0LnJlZHVjZSgoKGUsdCk9PmUrdCksMCksaGVpZ2h0OmV9KSx0aGlzLl9jZWxsLnN0eWxlLndpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLm1pbldpZHRoPXRoaXMuX3NpemUud2lkdGgrInB4Iix0aGlzLl9jZWxsLnN0eWxlLmhlaWdodD10aGlzLl9zaXplLmhlaWdodCsicHgiLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudCh0aGlzLl9zaXplKX1nZXRXaWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofXVwZGF0ZUN1cnJlbmN5TGFiZWxzKCl7fW9wdGltYWxXaWR0aHMoKXtyZXR1cm4odGhpcy5fcGFuZT8uZGF0YVNvdXJjZXMoKT8/W10pLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBpPSh0LndpZGdldFNpZGVBcmVhVmlld3M/Lih0aGlzLl9zaWRlKT8/W10pLnJlZHVjZSgoKGUsdCk9Pk1hdGgubWF4KGUsdC5vcHRpbWFsV2lkdGgoKSkpLDApO3JldHVybiBNYXRoLm1heChlLGkpfSksMCl9YmFja2dyb3VuZENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9YmFja2dyb3VuZFRvcENvbG9yKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJvY2Vzc1RvdWNoTW91c2VFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfW1vdXNlRW50ZXJFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfWxvbmdUYXBFdmVudChlKXt0aGlzLl9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoKXt0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKG51bGwpfV9wcm9jZXNzVG91Y2hNb3VzZUV2ZW50KGUpe2lmKCF0aGlzLl9wYW5lKXJldHVybjtjb25zdCB0PSgwLFB0LnBvaW50KShlLmxvY2FsWCxlLmxvY2FsWSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZSh0aGlzLl9oaXRUZXN0U291cmNlcyh0KSl9X2hpdFRlc3RTb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZTtpZighdHx8dC5jb2xsYXBzZWQoKS52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dC5kYXRhU291cmNlcygpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXQud2lkZ2V0U2lkZUFyZWFWaWV3cz8uKHRoaXMuX3NpZGUpO2lmKGkmJmkubGVuZ3RoKWZvcihjb25zdCBuIG9mIGkpe2NvbnN0IGk9bi5yZW5kZXJlcihzKTtpZighaSljb250aW51ZTtjb25zdCByPWkuaGl0VGVzdChlLHMpO2lmKHIpcmV0dXJue3NvdXJjZTp0LGhpdHRlc3Q6cixyZW5kZXJlcjppLGlzQ3VzdG9tOiExfX19cmV0dXJuIG51bGx9X3VwZGF0ZUhvdmVyZWRTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9wYW5lO2lmKCF0KXJldHVybjtjb25zdCBpPXQubW9kZWwoKSx7c291cmNlOnM9bnVsbCxoaXR0ZXN0Om49bnVsbH09ZXx8e307aS5zZXRIb3ZlcmVkU291cmNlKHMsbj8uZGF0YSgpfHxudWxsKX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuYmFja2dyb3VuZFRvcENvbG9yKCkscz10aGlzLmJhY2tncm91bmRDb2xvcigpLHtiaXRtYXBTaXplOm59PXQscj10aGlzLl9wYW5lPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0aGlzLl9wYW5lKT8/MCxvPXRoaXMuX3BhbmU/Lm1vZGVsKCkubWFpblBhbmUoKSxhPXI+KG8/dGhpcy5fcGFuZT8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2Yobyk/PzA6MCk/czppOygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsbi53aWR0aCxuLmhlaWdodCxhKX1fZHJhd0JvcmRlcihlLHQpe2Uuc2F2ZSgpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYW5lKS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpO2UuZmlsbFN0eWxlPWkKO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnN9PXQsbj1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpLmJvcmRlclNpemUqcykpLHI9ImxlZnQiPT09dGhpcy5fc2lkZT90LmJpdG1hcFNpemUud2lkdGgtbjowO2UuZmlsbFJlY3QociwwLG4sdC5iaXRtYXBTaXplLmhlaWdodCksZS5yZXN0b3JlKCl9fXZhciBZcz1pKDk3NjgxMyksS3M9aSgzNDQ3ODUpLFhzPWkoNTc3NzEzKSxacz1pKDgyODg1NyksSnM9aSg2MzQ0OTgpO2Z1bmN0aW9uIFFzKGUpe3JldHVybiJzdGFydE1vdmluZyJpbiBlJiYibW92ZSJpbiBlJiYiZW5kTW92aW5nImluIGUmJiJjb252ZXJ0WUNvb3JkaW5hdGVUb1ByaWNlRm9yTW92aW5nImluIGV9dmFyIGVuPWkoNjM2OTY2KSx0bj1pKDk2NjQwNCk7aSg0MDA0MCksaSgyNTkxMzIpO2NvbnN0IHNuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjcm9sbCIscC50KG51bGwsdm9pZCAwLGkoNjE0OTA2KSkpLG5uPXAudChudWxsLHZvaWQgMCxpKDg4Mjc2KSkscm49cC50KG51bGwsdm9pZCAwLGkoOTg3NCkpO2Z1bmN0aW9uIG9uKGUsdCxpKXtlLmRyYXdCYWNrZ3JvdW5kJiZlLmRyYXdCYWNrZ3JvdW5kKHQsaSl9ZnVuY3Rpb24gYW4oZSx0LGkpe2UuZHJhdyh0LGkpfWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuIGUucGFuZVZpZXdzKHQpfWZ1bmN0aW9uIGNuKGUsdCl7cmV0dXJuIGUudG9wUGFuZVZpZXdzPy4odCk/P1tdfWZ1bmN0aW9uIGhuKGUsdCl7cmV0dXJuIGUubGFiZWxQYW5lVmlld3ModCl9ZnVuY3Rpb24gZG4oZSx0KXtjb25zdCBpPWUuc3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpO3JldHVybiBudWxsPT09aT9udWxsOltpXX1mdW5jdGlvbiB1bihlLHQpe3JldHVybiBudWxsPT09ZXx8ZS5zb3VyY2UhPT10P251bGw6ZS5oaXR0ZXN0LmRhdGEoKX1mdW5jdGlvbiBwbihlLHQsaSxzLG4pe2NvbnN0IHI9ZS5yZXN1bHQ/LmhpdHRlc3QudGFyZ2V0KCk/PzA7dC50YXJnZXQoKT5yJiYoZS5yZXN1bHQ9e2hpdHRlc3Q6dCxzb3VyY2U6aSxyZW5kZXJlcjpzLGlzQ3VzdG9tOm59KX1jb25zdCBfbj17Y29udGV4dE1lbnVFbmFibGVkOiEwLGNvbnRleHRNZW51OldzLmRlZmF1bHRDaGFydFdpZGdldEFjdGlvbnNPcHRpb25zLHByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQ6ITAsbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjb250cm9sc0VuYWJsZWQ6ITAscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITAsc291cmNlU2VsZWN0aW9uRW5hYmxlZDohMCxjb3VudGRvd25FbmFibGVkOiEwfSxtbj1uZXcgTWFwKFtbTWkuQXJlYU5hbWUuVGV4dCwiVGV4dCJdLFtNaS5BcmVhTmFtZS5TdHlsZSwiU3R5bGUiXV0pLGduPSEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIik7dmFyIGZuOyFmdW5jdGlvbihlKXtlW2UuTWluU2Nyb2xsU3BlZWQ9LjJdPSJNaW5TY3JvbGxTcGVlZCIsZVtlLk1heFNjcm9sbFNwZWVkPTddPSJNYXhTY3JvbGxTcGVlZCIsZVtlLkR1bXBpbmdDb2VmZj0uOTk3XT0iRHVtcGluZ0NvZWZmIixlW2UuU2Nyb2xsTWluTW92ZT0xNV09IlNjcm9sbE1pbk1vdmUiLGVbZS5TUGVuTWF4RGlzdGFuY2U9NV09IlNQZW5NYXhEaXN0YW5jZSIsZVtlLkNvbGxhcHNlZEhlaWdodD0zM109IkNvbGxhcHNlZEhlaWdodCJ9KGZufHwoZm49e30pKTtsZXQgU249bnVsbDtmdW5jdGlvbiB2bihlLHQpe3JldHVybiEoMCxNaS5zaG91bGREZWZhdWx0QWN0aW9uQmVFeGVjdXRlZCkoZSx0LCJwcmVzc2VkTW91c2VNb3ZlSGFuZGxlciIsInRvdWNoTW92ZUhhbmRsZXIiKX12YXIgeW47IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRG93bldpdGhvdXRNb3ZlPTFdPSJEb3duV2l0aG91dE1vdmUiLGVbZS5Eb3duV2l0aE1vdmU9Ml09IkRvd25XaXRoTW92ZSJ9KHlufHwoeW49e30pKTtjbGFzcyBibntjb25zdHJ1Y3RvcihlLHQsaSxzKXt0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCx0aGlzLl9pc0Rlc3Ryb3llZD0hMSx0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9KDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPW51bGwsdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz1udWxsLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydD0hMSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGwsdGhpcy5fc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pLHRoaXMuX3RoZW1lZFRvcENvbG9yPW51bGwsdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW51bGwsdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9lZGl0RGlhbG9nPW51bGwsdGhpcy5fcHJvY2Vzc2luZz0hMSx0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTAsdGhpcy5fdG91Y2hNb3ZlPSExLHRoaXMuX3N0YXJ0VG91Y2hQb2ludD1udWxsLHRoaXMuX2lzU2VsZWN0aW5nPSExLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX2NvbnRleHRNZW51WD0wLHRoaXMuX2NvbnRleHRNZW51WT0wLHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPW51bGwsdGhpcy5faXNTY3JvbGxpbmc9ITEsdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZT1udWxsLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCx0aGlzLl9wcmV2UGluY2hTY2FsZT0xLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3dhc1BpbmNoZWQ9ITEsdGhpcy5fbG9uZ1RhcD0hMSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCwKdGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW51bGwsdGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lcj10aGlzLl9vblNoaWZ0S2V5U3RhdGVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT0iIix0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbCx0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXI9ITEsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbCx0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx0aGlzLl9lcnJvclJlbmRlcmVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRQcmljZUF4aXNlcz1uZXcgZC5XYXRjaGVkT2JqZWN0KFtdKSx0aGlzLl92aXN1YWxseUNvbGxhcHNlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX21heGltaXplZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj1udWxsLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgV2Vha1NldCx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsLHRoaXMuX2lnbm9yaW5nTW91c2VNb3ZlbWVudD0hMSx0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcj0oKT0+dGhpcy5fc3RhdGUmJnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpLHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkPSgpPT57dGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQuc2V0VmFsdWUoIXRoaXMuc3RhdGUoKS5tYXhpbWl6ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0YXRlKCkuY29sbGFwc2VkKCkudmFsdWUoKSl9LHRoaXMuX3VwZGF0ZU1heGltaXplZD0oKT0+e3RoaXMuX21heGltaXplZC5zZXRWYWx1ZSh0aGlzLnN0YXRlKCkubWF4aW1pemVkKCkudmFsdWUoKSl9LHRoaXMuX2NoYXJ0PWUsdGhpcy5fc3RhdGU9dCx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF9uKSxpKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPXMsdGhpcy5fc3RhdGUmJnRoaXMuX3N1YnNjcmliZVRvU3RhdGUoKTtjb25zdCBuPXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsY291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsY3JvcHBlZFRpY2tNYXJrczp0aGlzLl9vcHRpb25zLmNyb3BwZWRUaWNrTWFya3N9O3ZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYobi5jb250ZXh0TWVudT10aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudSk7Y29uc3Qgcj0oZSx0LGkscyxyKT0+bmV3IERzKHRoaXMuX2NoYXJ0LHRoaXMsdGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxpLHQsZSxuLHMsciksbz1lLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGM9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCkscD17YmFja2dyb3VuZEJhc2VkVGhlbWU6ZS5iYWNrZ3JvdW5kQmFzZWRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksc3R1YkNvbnRleHRNZW51UHJvdmlkZXI6KCk9PlByb21pc2UucmVzb2x2ZShbXSksdGl0bGVzUHJvdmlkZXI6KCk9PltdLHJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmMsZ2V0QmFja2dyb3VuZFRvcENvbG9yOigpPT50aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxnZXRCYWNrZ3JvdW5kQm90dG9tQ29sb3I6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLHJlcXVlc3RSZXBhaW50OigpPT50aGlzLl9jaGFydE1vZGVsKCkubGlnaHRVcGRhdGUoKX07dGhpcy5fcm93RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9yb3dFbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiO2NvbnN0IF89e3Nob3dMYWJlbHM6ITF9O3RoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyPXQubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP25ldyBqaShvLCJsZWZ0IixyLHAsXyk6bmV3ICRzKGMsImxlZnQiKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lcj10Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcj9uZXcgamkobywicmlnaHQiLHIscCxfKTpuZXcgJHMoYywicmlnaHQiKSx0aGlzLl9wYW5lQ2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9wYW5lQ2VsbC5jbGFzc0xpc3QuYWRkKCJjaGFydC1tYXJrdXAtdGFibGUiLCJwYW5lIiksdGhpcy5fcGFuZUNlbGwuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZSIpLHRoaXMuX2Rpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9kaXYuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9kaXYuc2V0QXR0cmlidXRlKCJkYXRhLXFhLWlkIiwicGFuZS13aWRnZXQtY2hhcnQtZ3VpLXdyYXBwZXIiKSx0aGlzLl9wYW5lQ2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kaXYpLHRoaXMuX2NhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2RpdiwoMCx5dC5zaXplKSh7d2lkdGg6MTYsaGVpZ2h0OjE2fSkpLHRoaXMuX2NhbnZhc0JpbmRpbmcuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpCjtjb25zdCBtPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDttLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PSIwIixtLnN0eWxlLnRvcD0iMCIsbS5kYXRhc2V0Lm5hbWU9InBhbmUtY2FudmFzIix0aGlzLl90b3BDYW52YXNCaW5kaW5nPSgwLEt0LmNyZWF0ZUJvdW5kQ2FudmFzKSh0aGlzLl9kaXYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBnPXRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtnLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsZy5zdHlsZS5sZWZ0PSIwIixnLnN0eWxlLnRvcD0iMCIsZy5kYXRhc2V0LnFhSWQ9InBhbmUtdG9wLWNhbnZhcyIsdGhpcy5fcm93RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGFuZUNlbGwpLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSxtLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7Y29uc3QgZj10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpO2YuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIpLHRoaXMuX21haW5TZXJpZXNJbnRlcnZhbD1mLmludGVydmFsT2JqKCkuc3Bhd24oKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUFjY2Vzc2liaWxpdHlBdHRyKCksdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSx0aGlzLl9zdGF0ZSYmIXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJnRoaXMuX29wdGlvbnMuY29udHJvbHNFbmFibGVkJiZ0aGlzLl9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KHRoaXMuX3N0YXRlKSwoMCxacy5tYWduZXRFbmFibGVkKSgpLnN1YnNjcmliZSh0aGlzLl9vbk1hZ25ldFN0YXRlQ2hhbmdlZExpc3RlbmVyKSwoMCxYdC5zaGlmdFByZXNzZWQpKCkuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZUNlbGwuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLChlPT57ZS5kYXRhVHJhbnNmZXImJkFycmF5LmZyb20oZS5kYXRhVHJhbnNmZXIuZmlsZXMpLnNvbWUoanMuYmxvYkltYWdlRmlsdGVyKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHRoaXMuX3BhbmVDZWxsLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLChlPT57aWYod2luZG93LnVzZXIuaWQmJmUuZGF0YVRyYW5zZmVyJiZ0aGlzLl9zdGF0ZSl7Y29uc3QgdD1BcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLmZpbGVzKS5maW5kKGpzLmJsb2JJbWFnZUZpbHRlcik7aWYodCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9KDAsanMudXBsb2FkSW1hZ2UpKHQpLHM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KSxuPWFzeW5jKCk9Pnthd2FpdCgwLGtpLmVuc3VyZUxpbmVUb29sTG9hZGVkKSgiTGluZVRvb2xJbWFnZSIpLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkucGFzdGVJbWFnZUFzTGluZVRvb2woaSxzLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpKX07aS5jYXRjaCgoZT0+eygwLG5lLnNob3dDaGFydFdhcm5pbmdOb3RpZmljYXRpb24pKCJjb3B5Iix7dGl0bGU6cm4sdGV4dDplLm1lc3NhZ2V9KX0pKSxuKCl9fX0pKSx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9tb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LHRoaXMse3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWcsc2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExfSksdGhpcy5fcGFuZUNlbGxNb3VzZUV2ZW50SGFuZGxlcj1uZXcgd2kuTW91c2VFdmVudEhhbmRsZXIodGhpcy5fcGFuZUNlbGwse2RvdWJsZVRhcEV2ZW50OnRoaXMuX3BhbmVEYmxDbGlja09yVGFwRXZlbnQuYmluZCh0aGlzKSxtb3VzZURvdWJsZUNsaWNrRXZlbnQ6dGhpcy5fcGFuZURibENsaWNrT3JUYXBFdmVudC5iaW5kKHRoaXMpfSx7c2hvdWxkQWxsb3dUb3VjaERyYWc6KCk9PiExLHRyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwudmVydFRvdWNoRHJhZyx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6IXRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLmhvcnpUb3VjaERyYWd9KSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbCx0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzLnN1YnNjcmliZSgoZT0+e3RoaXMuX2hpZ2hsaWdodFByaWNlQXhpc2VzQnlMYWJlbChlLm1hcCgoZT0+ZS5heGlzKSkpfSkpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTAsdGhpcy5faXNEZXN0cm95ZWQ9ITE7Y29uc3QgUz0oMCx1LmNvbWJpbmUpKChlPT57Y29uc3QgdD10aGlzLl9jaGFydC5wYW5lV2lkZ2V0U2VwYXJhdG9ycyh0aGlzKQo7cmV0dXJuW3Quc2VwYXJhdG9yQWJvdmU/LnNlbGVjdGVkKCk/LndlYWtSZWZlcmVuY2UoKT8/bmV3IGguV2F0Y2hlZFZhbHVlKCExKS5vd25lcnNoaXAoKSx0LnNlcGFyYXRvckJlbG93Py5zZWxlY3RlZCgpPy53ZWFrUmVmZXJlbmNlKCk/P25ldyBoLldhdGNoZWRWYWx1ZSghMSkub3duZXJzaGlwKCldfSksdGhpcy5fY2hhcnQucGFuZVdpZGdldHNXVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQ9KDAsdS5hY2N1bXVsYXRlKSgoZT0+ZS5zb21lKEJvb2xlYW4pKSxTLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fY2hhcnQub25QYW5lV2lkZ2V0RGVzdHJveWVkKHRoaXMpO3RoaXMuX2NoYXJ0TW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuY2xlYXIoKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLHRoaXMuX2NhbnZhc0JpbmRpbmcudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlciksdGhpcy5fY2FudmFzQmluZGluZy5kaXNwb3NlKCksdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9sc1Jlc2l6ZU9ic2VydmVyJiZ0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmKHRoaXMuX3BhbmVDb250cm9scy5kZXN0cm95KCksdGhpcy5fcGFuZUNvbnRyb2xzPW51bGwpLHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5kZXN0cm95KCksdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLl91bnN1YnNjcmliZUZyb21TdGF0ZSgpLCgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudW5zdWJzY3JpYmUodGhpcy5fb25NYWduZXRTdGF0ZUNoYW5nZWRMaXN0ZW5lciksKDAsWHQuc2hpZnRQcmVzc2VkKSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2hpZnRLZXlTdGF0ZUNoYW5nZWRMaXN0ZW5lciksdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5vblBhbmVEZXN0cm95ZWQodGhpcyksdGhpcy5fZXJyb3JSZW5kZXJlciYmdGhpcy5fZXJyb3JSZW5kZXJlci50aGVuKChlPT57ZS5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlcj1udWxsfSkpLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1udWxsLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9wYW5lQ2VsbE1vdXNlRXZlbnRIYW5kbGVyLmRlc3Ryb3koKSx0aGlzLl9yb3dFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnJlbW92ZUNoaWxkKHRoaXMuX3Jvd0VsZW1lbnQpLHRoaXMuX2FueVNlcGFyYXRvclNlbGVjdGVkLmRlc3Ryb3koKSx0aGlzLl9tYWluU2VyaWVzSW50ZXJ2YWwuZGVzdHJveSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXVwZGF0ZU9wdGlvbnMoZSl7aWYoKDAsYS5tZXJnZSkodGhpcy5fb3B0aW9ucyxlKSwhMT09PWUubGVnZW5kV2lkZ2V0RW5hYmxlZCYmdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fbGVnZW5kV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl9sZWdlbmRXaWRnZXQ9bnVsbCksZS5sZWdlbmRXaWRnZXRFbmFibGVkJiYhdGhpcy5fbGVnZW5kV2lkZ2V0JiYodGhpcy5fb3B0aW9ucy5jdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXMmJih0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcD10aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyksdGhpcy5fbG9hZEFuZENyZWF0ZUxlZ2VuZFdpZGdldCgpKSwhdGhpcy5fc3RhdGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3RhdGUubW9kZSgpLGk9dGhpcy5fY2hhcnRNb2RlbCgpLnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyKCk7aWYodD09PU0uUGFuZU1vZGUuUmVndWxhciYmISh0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mIGppKSl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKTtjb25zdCBlPXtzaG93TGFiZWxzOiExfSx0PXtjb250ZXh0TWVudUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnVFbmFibGVkLHByZXNzZWRNb3VzZU1vdmVTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnByaWNlLG1vdXNlV2hlZWxTY2FsZTp0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLGNvdW50ZG93bkVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jb3VudGRvd25FbmFibGVkLGNyb3BwZWRUaWNrTWFya3M6dGhpcy5fb3B0aW9ucy5jcm9wcGVkVGlja01hcmtzfSxzPShlLGkscyxuLHIpPT5uZXcgRHModGhpcy5fY2hhcnQsdGhpcyx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHMsaSxlLHQsbixyKSxuPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHI9KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG89KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLGE9e2JhY2tncm91bmRCYXNlZFRoZW1lOnRoaXMuX2NoYXJ0LmJhY2tncm91bmRCYXNlZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjooKT0+UHJvbWlzZS5yZXNvbHZlKFtdKSx0aXRsZXNQcm92aWRlcjooKT0+W10sCnJlbmRlcmVyT3B0aW9uc1Byb3ZpZGVyOmksZ2V0QmFja2dyb3VuZFRvcENvbG9yOm8sZ2V0QmFja2dyb3VuZEJvdHRvbUNvbG9yOnIscmVxdWVzdFJlcGFpbnQ6KCk9PnRoaXMuX2NoYXJ0TW9kZWwoKS5saWdodFVwZGF0ZSgpfTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgamkobiwibGVmdCIscyxhLGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyBqaShuLCJyaWdodCIscyxhLGUpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSl9dCE9PU0uUGFuZU1vZGUuV2lkZ2V0fHx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lciBpbnN0YW5jZW9mICRzfHwodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmRlc3Ryb3koKSx0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lcj1uZXcgJHMoaSwibGVmdCIpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyPW5ldyAkcyhpLCJyaWdodCIpLHRoaXMuX3Jvd0VsZW1lbnQuaW5uZXJIVE1MPSIiLHRoaXMuX3Jvd0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIuZ2V0RWxlbWVudCgpKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3BhbmVDZWxsKSx0aGlzLl9yb3dFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLmdldEVsZW1lbnQoKSkpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1zZXRTaXplKGUpeygwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuX3NpemUsZSl8fCh0aGlzLl9zaXplPWUsdGhpcy5fY2FudmFzQmluZGluZy5yZXNpemVDYW52YXNFbGVtZW50KGUpLHRoaXMuX3RvcENhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl9wYW5lQ2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fcGFuZUNlbGwuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fZGl2LnN0eWxlLndpZHRoPWUud2lkdGgrInB4Iix0aGlzLl9kaXYuc3R5bGUuaGVpZ2h0PWUuaGVpZ2h0KyJweCIsdGhpcy5fcm93RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLDA9PT1lLmhlaWdodCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZVdpZGdldE1vZGVCeVNpemUoZSksbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZVdpZGdldE1vZGVCeVdpZHRoKGUud2lkdGgpKX13aWR0aCgpe3JldHVybiB0aGlzLl9zaXplLndpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9zaXplLmhlaWdodH1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fY2hhcnRNb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCl9aGlnaGxpZ2h0ZWRQcmljZUF4aXNlcygpe3JldHVybiB0aGlzLl9oaWdobGlnaHRlZFByaWNlQXhpc2VzfXByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKGUsdCxpKXtpZigoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlKSl7Y29uc3QgdD1lLnRleHRFZGl0aW5nQWN0aXZhdGlvblRpbWUoKTtudWxsIT09dCYmcGVyZm9ybWFuY2Uubm93KCktdDw1MDAmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCl9aWYoKDAscWkuaXNBbGVydExhYmVsKShlKSl7Y29uc3QgdD1lLmFsZXJ0KCkscz10LmlkKCkudmFsdWUoKTtpZih0LmlzTmV3KCkudmFsdWUoKSlyZXR1cm47KDAsVXMuZ2V0Q2hhcnRBbGVydHNGYWNhZGUpKCkudGhlbigoZT0+eygwLE10LnRyYWNrRXZlbnQpKCJjaGFydF9hbGVydCIsImVkaXQiLGBkb3VibGVfY2xpY2tfb25fJHtpPy5vcmlnaW4/PyJsaW5lIn1gKSxlLm9wZW5FZGl0RGlhbG9nKHMse2FjdGlvblNvdXJjZToiYWxlcnRfbGFiZWxfZG91YmxlX2NsaWNrIixkYXRhU291cmNlSHViOnRoaXMuX2NoYXJ0TW9kZWwoKSxtZXRob2Q6ImFsZXJ0X2xhYmVsX2RvdWJsZV9jbGljayIsc291cmNlOiJjaGFydCJ9KX0pKX1lbHNlKDAsQWkuaXNEYXRhU291cmNlKShlKSYmZS5pZCgpIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkJiZ0aGlzLl9zaG93RWRpdERpYWxvZ0ZvclNvdXJjZShlLHQpfXN0cmV0Y2hGYWN0b3IoKXtyZXR1cm4gdGhpcy5fc3RhdGU/dGhpcy5fc3RhdGUuc3RyZXRjaEZhY3RvcigpOjB9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5zZXRTdHJldGNoRmFjdG9yKGUpfXNldEN1cnNvckZvclRvb2woZSx0LGkpe2lmKHQmJnQubW9kKCkmJmUmJmUhPT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7aWYodm9pZCAwIT09aSl7c3dpdGNoKGkpe2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVmVydGljYWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJucy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkhvcml6b250YWxSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJldy1yZXNpemUiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLkRpYWdvbmFsTmVTd1Jlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5lc3ctcmVzaXplIik7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoImRlZmF1bHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLlBvaW50ZXI6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik7YnJlYWsKO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuR3JhYmJpbmc6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuVGV4dDp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoInRleHQiKTticmVhaztjYXNlIFlzLlBhbmVDdXJzb3JUeXBlLk5vbmU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJub25lIil9cmV0dXJufWNvbnN0IHM9VC50b29sLnZhbHVlKCk7aWYoKDAsVC50b29sSXNDdXJzb3IpKHMpKXtpZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpfHx0aGlzLl9pc1Njcm9sbGluZ3x8dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgiZ3JhYmJpbmciKTtpZihlJiZ0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIil9bGV0IG49IiI7c3dpdGNoKHMpe2Nhc2UiZXJhc2VyIjpuPSJlcmFzZXIiO2JyZWFrO2Nhc2Uiem9vbSI6bj0iem9vbS1pbiJ9aWYoIW4pc3dpdGNoKFQuY3Vyc29yVG9vbC52YWx1ZSgpKXtjYXNlImFycm93IjpuPSJkZWZhdWx0IjticmVhaztjYXNlImRvdCI6bj0iZG90IjticmVhaztjYXNlImRlbW9uc3RyYXRpb24iOm49ImRlbW9uc3RyYXRpb24iO2JyZWFrO2Nhc2UicGVyZm9ybWFuY2UiOm49InBlcmZvcm1hbmNlIn10aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUobil9c2hvd0NvbnRleHRNZW51Rm9yU2VsZWN0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IG49cy5kYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5oYXNDb250ZXh0TWVudSgpKSk7dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKG4sZSx2b2lkIDAsdCxpKX1hc3luYyBzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzKGUsdCxpLHMsbil7aWYoIWUubGVuZ3RofHwhdGhpcy5fc3RhdGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtBY3Rpb25zUHJvdmlkZXI6cn09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCk7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuIG51bGw7Y29uc3Qgbz1lWzBdLGw9KDAsYS5tZXJnZSkoKDAsYS5jbG9uZSkodGhpcy5fb3B0aW9ucy5jb250ZXh0TWVudSksaXx8e30pLGM9bmV3IHIodGhpcy5fY2hhcnQsbCk7aWYobz09PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkpcmV0dXJuIG8uaGFuZGxlQ29udGV4dE1lbnVFdmVudCh0KSxQcm9taXNlLnJlc29sdmUobnVsbCk7e2NvbnN0IGk9YXdhaXQgYy5jb250ZXh0TWVudUFjdGlvbnNGb3JTb3VyY2VzKGUsdGhpcy5fc3RhdGUsdCxzPy5vcmlnaW4sbj8uZGF0YSgpPy5jdXN0b21BY3Rpb25zKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt7bGV0IGU9e21lbnVOYW1lOiIifTtyZXR1cm4gbyBpbnN0YW5jZW9mIGVuLlNlcmllcz9lPXttZW51TmFtZTpzPy5vcmlnaW4/PyJPYmplY3RUcmVlQ29udGV4dE1lbnUiLGRldGFpbDp7dHlwZToic2VyaWVzIixpZDpvLmluc3RhbmNlSWQoKX19OigwLHJpLmlzTGluZVRvb2wpKG8pP2U9e21lbnVOYW1lOnM/Lm9yaWdpbj8/Ik9iamVjdFRyZWVDb250ZXh0TWVudSIsZGV0YWlsOnt0eXBlOiJzaGFwZSIsaWQ6bz8uaWQoKT8/bnVsbH19OigwLHRpLmlzU3R1ZHkpKG8pJiYoZT17bWVudU5hbWU6cz8ub3JpZ2luPz8iT2JqZWN0VHJlZUNvbnRleHRNZW51IixkZXRhaWw6e3R5cGU6InN0dWR5IixpZDpvPy5pZCgpfHxudWxsfX0pLE5pLkNvbnRleHRNZW51TWFuYWdlci5jcmVhdGVNZW51KGkse3Rha2VGb2N1czohMCxyZXR1cm5Gb2N1czohMCxpc0tleWJvYXJkRXZlbnQ6bC5pc0tleWJvYXJkRXZlbnQsc3RhdE5hbWU6by5jb250ZXh0TWVudVN0YXROYW1lKCl9LGUscz8ub25DbG9zZSkudGhlbigoZT0+KGUuc2hvdyh0KSxlKSkpfX19bGVmdFByaWNlQXhpc2VzQ29udGFpbmVyKCl7cmV0dXJuIHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyfXJpZ2h0UHJpY2VBeGlzZXNDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9c2V0UHJpY2VBeGlzU2l6ZXMoZSx0LGkpe3RoaXMuX3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpLnNldFNpemVzKHQsaSl9c3RhdGUoKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKX1oYXNTdGF0ZSgpe3JldHVybiBudWxsIT09dGhpcy5fc3RhdGV9c2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUhPT1lJiYodGhpcy5oYXNTdGF0ZSgpJiYodGhpcy5fdW5zdWJzY3JpYmVGcm9tU3RhdGUoKSx0aGlzLl9wYW5lQ29udHJvbHM/LmRlc3Ryb3koKSx0aGlzLl9wYW5lQ29udHJvbHM9bnVsbCksdGhpcy5fc3RhdGU9ZSx0aGlzLmhhc1N0YXRlKCkmJih0aGlzLnVwZGF0ZU9wdGlvbnModGhpcy5fb3B0aW9ucyksdGhpcy5fc3Vic2NyaWJlVG9TdGF0ZSgpLHRoaXMuX2xvYWRBbmRDcmVhdGVQYW5lQ29udHJvbHNXaWRnZXQodGhpcy5zdGF0ZSgpKSx0aGlzLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKSx0aGlzLl91cGRhdGVBY2Nlc3NpYmlsaXR5QXR0cigpKSl9Z2V0U2NyZWVuc2hvdERhdGEoZSl7Y29uc3QgdD1bXSxpPVtdO2xldCBzLG49W107Y29uc3Qgcj10aGlzLnN0YXRlKCksbz1yLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P1tdOnIuc291cmNlc0J5R3JvdXAoKS5wcmljZVNvdXJjZXMoKS5zbGljZSgpLnJldmVyc2UoKSxhPXRoaXMuX2NoYXJ0LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpO2Zvcihjb25zdCBsIG9mIG8pe2NvbnN0IG89bC5zdGF0dXNWaWV3KCk7aWYoKDAsCnRpLmlzU3R1ZHkpKGwpJiYoYS5zaG93TGVnZW5kLnZhbHVlKCl8fGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSl7Y29uc3Qgcz1hLnNob3dTdHVkeVRpdGxlcy52YWx1ZSgpLG49ITA7aWYobC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkucGFuZUZvclNvdXJjZShsKT09PXImJm8mJm4pe3QucHVzaChzP2wuc3RhdHVzUHJvdmlkZXIoZT8uc3RhdHVzKS50ZXh0KCk6IiIpO2NvbnN0IG49KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIik/dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8ubGFzdEJhcigpPz9udWxsOm51bGwscj1sLmxlZ2VuZFZhbHVlc1Byb3ZpZGVyKCkuZ2V0VmFsdWVzKG4pO2kucHVzaChyKX19ZWxzZSBpZihsPT09dGhpcy5fY2hhcnRNb2RlbCgpLm1haW5TZXJpZXMoKSYmbyYmYS5zaG93U2VyaWVzVGl0bGUudmFsdWUoKSl7Y29uc3QgdD1sLnN0YXR1c1Byb3ZpZGVyKGU/LnN0YXR1c3x8e30pLmdldFNwbGl0VGl0bGUoKTtzPU9iamVjdC52YWx1ZXModCkuZmlsdGVyKChlPT4iIiE9PWUpKS5qb2luKCIgwrcgIik7Y29uc3QgaT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKT90aGlzLl9jaGFydE1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P251bGw6bnVsbDtuPWwubGVnZW5kVmFsdWVzUHJvdmlkZXIoKS5nZXRWYWx1ZXMoaSl9fXJldHVybnt0eXBlOiJwYW5lIixsZWZ0QXhpczp0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJpZ2h0QXhpczp0aGlzLl9yaHNQcmljZUF4aXNlc0NvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLGNvbnRlbnQ6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnRvRGF0YVVSTCgpLGNhbnZhczp0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsY29udGVudFdpZHRoOnRoaXMuX3NpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLl9zaXplLmhlaWdodCxzdHVkaWVzOnQsc3R1ZGllc1ZhbHVlczppLGNvbnRhaW5zTWFpblNlcmllczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpLG1haW5TZXJpZXNUZXh0OnMsbWFpblNlcmllc1ZhbHVlczpufX11cGRhdGVQcmljZUF4aXNXaWRnZXRzU3RhdGVzKCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCksdD1lLnBhbmVGb3JTb3VyY2UoZS5tYWluU2VyaWVzKCkpO2lmKHQpaWYodGhpcy5fc3RhdGU/Lm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcil7Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCkscz10aGlzLnN0YXRlKCksbj1zLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxyPXMudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTt0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRTY2FsZXMobixpLmxlZnQsdC5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsaS5sZWZ0K2kucmlnaHQpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFNjYWxlcyhyLGkucmlnaHQsdC5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KX1lbHNlIHRoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldFBhbmUodGhpcy5fc3RhdGUpKX11cGRhdGVQcmljZUF4aXNXaWRnZXRzKCl7dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIudXBkYXRlKCl9dXBkYXRlKCl7dGhpcy5oYXNTdGF0ZSgpJiYodGhpcy51cGRhdGVQcmljZUF4aXNXaWRnZXRzKCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpLHRoaXMudXBkYXRlQ29udHJvbHMoKSl9dXBkYXRlU3RhdHVzV2lkZ2V0KGUpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmKGUubGVnZW5kV2lkZ2V0TGF5b3V0SW52YWxpZGF0ZWQoKT90aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlTGF5b3V0KCk6dGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZSgpKX11cGRhdGVDb250cm9scygpe3RoaXMuaGFzU3RhdGUoKSYmbnVsbCE9PXRoaXMuX3BhbmVDb250cm9scyYmdGhpcy5fcGFuZUNvbnRyb2xzLnVwZGF0ZSgpfXVwZGF0ZVRoZW1lZENvbG9ycyhlKXt0aGlzLl90aGVtZWRUb3BDb2xvcj1lLnRvcENvbG9yLHRoaXMuX3VwZGF0ZUJ5VGhlbWVkQ29sb3JzKCl9c3RhdHVzV2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFdpZGdldH1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3Jvd0VsZW1lbnR9Y2FudmFzRWxlbWVudCgpe3JldHVybiB0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnR9Z2V0UmVuZGVyaW5nSW5mbygpe3JldHVybigwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKX1oYXNDYW52YXMoZSl7cmV0dXJuIHRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV8fHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudD09PWV9cGluY2hTdGFydEV2ZW50KCl7cmV0dXJuIG51bGw9PT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKSYmbnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUucGluY2hpbmdQYW5lKCkmJih0aGlzLl9vblRvdWNoRXZlbnQoKSwhIXRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUucGluY2gmJih0aGlzLl9jaGFydE1vZGVsKCkuc3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpLHRoaXMuX3ByZXZQaW5jaFNjYWxlPTEsdGhpcy5fcGluY2hpbmc9ITAsdGhpcy5fd2FzUGluY2hlZD0hMCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFBpbmNoaW5nUGFuZSh0aGlzKSwhMCkpfQpwaW5jaEV2ZW50KGUsdCxpLHMpe2lmKG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNjcm9sbGluZ1BhbmUoKXx8dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5waW5jaGluZ1BhbmUoKSE9PXRoaXMpcmV0dXJuO2lmKHRoaXMuX29uVG91Y2hFdmVudCgpLCF0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLnBpbmNoKXJldHVybjtjb25zdCBuPTEwKihzLXRoaXMuX3ByZXZQaW5jaFNjYWxlKTt0aGlzLl9wcmV2UGluY2hTY2FsZT1zLHRoaXMuX2NoYXJ0TW9kZWwoKS56b29tVGltZShlLngsbiwhMCksdGhpcy5fcHJldlBpbmNoU2NhbGU9c31waW5jaEVuZEV2ZW50KCl7bnVsbD09PXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2Nyb2xsaW5nUGFuZSgpJiZ0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpPT09dGhpcyYmKHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX3BpbmNoaW5nPSExLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuc2V0UGluY2hpbmdQYW5lKG51bGwpKX1tb3VzZUNsaWNrRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VDbGlja09yVGFwRXZlbnQoZSl9dGFwRXZlbnQoZSl7dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlQ2xpY2tPclRhcEV2ZW50KGUpKX1tb3VzZURvd25FdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLmhhc1N0YXRlKCkmJnRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUsdGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKX10b3VjaFN0YXJ0RXZlbnQoZSl7aWYodGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zdGFydFRvdWNoKHRoaXMpLHRoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbCE9PVNuJiZTbi5zdGF0ZUlkPT09dGhpcy5zdGF0ZSgpLmlkKCkmJk1hdGguYWJzKFNuLngtZS5sb2NhbFgpK01hdGguYWJzKFNuLnktZS5sb2NhbFkpPDU7dGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY2hhcnQuc2V0QWN0aXZlUGFuZVdpZGdldCh0aGlzKTtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtudWxsIT09aSYmaS5zb3VyY2U9PT10fHx0LnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpKTohdGhpcy5fY2hhcnQucmVhZE9ubHkoKSYmbnVsbCE9PWkmJigoMCxyaS5pc0xpbmVUb29sKShpLnNvdXJjZSkmJmkuc291cmNlLnVzZXJFZGl0RW5hYmxlZCgpfHwoMCxxaS5pc0FsZXJ0TGFiZWwpKGkuc291cmNlKSkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBzPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmkuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O3Quc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKHMpJiYodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKGkuc291cmNlLGkuaGl0dGVzdC5kYXRhKCkpKX0pKX10aGlzLl9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLGkpLHRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKX1tb3VzZVVwRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKX10b3VjaEVuZEV2ZW50KGUpe3RoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuZW5kVG91Y2godGhpcyksdGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKXx8KHRoaXMuX29uVG91Y2hFdmVudCgpLHRoaXMuX21vdXNlT3JUb3VjaExlYXZlRXZlbnQoZSksdGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSl9bW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fbW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXByZXNzZWRNb3VzZU1vdmVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jaGFydC5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKT9udWxsIT09dGhpcy5fY2hhcnQuYWN0aXZlUGFuZVdpZGdldCgpLnZhbHVlKCkmJnRoaXMuX21vdXNlT3JUb3VjaE1vdmVFdmVudChlKTp0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfXRvdWNoTW92ZUV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fb25Nb3VzZUV2ZW50KCksdGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShudWxsLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfW1vdXNlRG91YmxlQ2xpY2tFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKX13aGVlbENsaWNrRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbD09PXR8fHQuaXNDdXN0b20pcmV0dXJuO2lmKCh0LmhpdHRlc3QudGFyZ2V0KCl8fDApPD1NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZClyZXR1cm47Y29uc3QgaT1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSxzPXQuaGl0dGVzdC5lcmFzZU1hcmtlcigpCjtpZihpLm1vZCgpJiZ2b2lkIDAhPT1zJiZ0LnNvdXJjZS5wcm9jZXNzRXJhc2UpcmV0dXJuIHZvaWQgdC5zb3VyY2UucHJvY2Vzc0VyYXNlKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscyk7Y29uc3Qgbj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO24uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSl8fG4uc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKTtlLmFkZEl0ZW1Ub1NlbGVjdGlvbihpLHVuKHQsaSkpfSkpLHRoaXMuX2NoYXJ0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWRvdWJsZVRhcEV2ZW50KGUpe3RoaXMuX3ByZXZlbnRUb3VjaEV2ZW50c0V4Y2VwdFBpbmNoKCl8fCh0aGlzLl9vblRvdWNoRXZlbnQoKSx0aGlzLl9tb3VzZURvdWJsZUNsaWNrT3JEb3VibGVUYXBFdmVudChlKSl9bG9uZ1RhcEV2ZW50KGUpe2lmKG51bGw9PT10aGlzLl9zdGF0ZXx8dGhpcy5fcHJldmVudFRvdWNoRXZlbnRzRXhjZXB0UGluY2goKSlyZXR1cm47aWYodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fbG9uZ1RhcD0hMCxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fHwhdGhpcy5fdHJhY2tpbmdNb2RlU2hvdWxkQmVBY3RpdmUoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkuc2VsZWN0aW9uKCk7aWYoIXQuaXNFbXB0eSgpKXtjb25zdCBpPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09aSYmdC5pc1NlbGVjdGVkKGkuc291cmNlKSlyZXR1cm59dGhpcy5zdGFydFRyYWNraW5nTW9kZShuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkpfW1vdXNlRW50ZXJFdmVudChlKXtpZih0aGlzLl9vbk1vdXNlRXZlbnQoKSwhdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9jaGFydC5zZXRBY3RpdmVQYW5lV2lkZ2V0KHRoaXMpO2NvbnN0IHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO3RoaXMuX3VwZGF0ZUhvdmVyZWRTb3VyY2UodCxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSksdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9Y29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9vbk1vdXNlRXZlbnQoKSx0aGlzLl9jb250ZXh0TWVudUV2ZW50KGUpfXRvdWNoQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpfHwodGhpcy5fb25Ub3VjaEV2ZW50KCksdGhpcy5fY29udGV4dE1lbnVFdmVudChlKSl9bW91c2VEb3duT3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX10b3VjaFN0YXJ0T3V0c2lkZUV2ZW50KGUpe3RoaXMuX3Byb2Nlc3NPdXRzaWRlQ2xpY2sobnVsbCxlKX1jYW5jZWxab29tKCl7dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmNsZWFyU2VsZWN0aW9uKCksdGhpcy5fZmlyc3Rab29tUG9pbnQ9bnVsbCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9c3RhcnRUcmFja2luZ01vZGUoZSx0LGkpe3RoaXMuc3RhdGUoKS5tb2RlKCkhPT1NLlBhbmVNb2RlLldpZGdldCYmKHRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXM9bnVsbCx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCx0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD1udWxsLHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1lLHRoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITEsdGhpcy5zZXRDdXJzb3JQb3NpdGlvbih0LngsdC55LGkpLHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY3VycmVudFBvaW50KCkpfXNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCl7dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJncmFiYmluZyIpfWNsb25lTGluZVRvb2xzKGUsdCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY2xvbmVMaW5lVG9vbHMoZSx0KX1leGl0VHJhY2tpbmdNb2RlKCl7bnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiYodGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT0hMCx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCkpfXRyYWNraW5nTW9kZUVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3N0YXRlJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50fWFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl7dGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkJiYodGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAuc2V0KGUsdCksbnVsbCE9PXRoaXMuX2xlZ2VuZFdpZGdldCYmdGhpcy5fbGVnZW5kV2lkZ2V0LmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCkpfWNvbnRhaW5zTWFpblNlcmllcygpe3JldHVybiEhdGhpcy5oYXNTdGF0ZSgpJiZ0aGlzLnN0YXRlKCkuY29udGFpbnNNYWluU2VyaWVzKCl9cGFpbnQoZSx0KXtpZighdGhpcy5fY2hhcnRVbmRvTW9kZWwoKXx8IXRoaXMuaGFzU3RhdGUoKXx8MD09PXRoaXMuX3NpemUud2lkdGh8fDA9PT10aGlzLl9zaXplLmhlaWdodClyZXR1cm47KDAsS3QudHJ5QXBwbHlTdWdnZXN0ZWRDYW52YXNCaXRtYXBTaXplKSh0aGlzLl9jYW52YXNCaW5kaW5nKSwoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcpLAp0aGlzLl9zdGF0ZSYmKGUucHJpY2VTY2FsZVNpZGVNYXhMZXZlbCgibGVmdCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcnx8ZS5wcmljZVNjYWxlU2lkZU1heExldmVsKCJyaWdodCIpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvcikmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlU2NhbGVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKHRoaXMuc3RhdGUoKSkpLG51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihTbi54LFNuLnksU24uZW52U3RhdGUpOnRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlP3RoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcCYmbnVsbD09PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCYmIXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKFNuLngsU24ueSxTbi5lbnZTdGF0ZSk6U249bnVsbCkpO2NvbnN0IGk9ZS5mdWxsSW52YWxpZGF0aW9uKCk7aWYoaT5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3ImJm51bGwhPT1TbiYmU24uc3RhdGVJZD09PXRoaXMuc3RhdGUoKS5pZCgpKXtjb25zdCBlPXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KFNuLngsU24ueSk7dGhpcy5fdXBkYXRlSG92ZXJlZFNvdXJjZShlLCgwLFh0Lmdsb2JhbEVudmlyb25tZW50U3RhdGUpKCkpfWlmKHRoaXMuX2xoc1ByaWNlQXhpc2VzQ29udGFpbmVyLnBhaW50KGUuZ2V0dGVyRm9yUHJpY2VTY2FsZUludmFsaWRhdGlvbkxldmVsQnlTaWRlKCJsZWZ0IiksdCksdGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXIucGFpbnQoZS5nZXR0ZXJGb3JQcmljZVNjYWxlSW52YWxpZGF0aW9uTGV2ZWxCeVNpZGUoInJpZ2h0IiksdCksaT09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUpcmV0dXJuO2NvbnN0IHM9dGhpcy5fc3RhdGUmJih0aGlzLl9zdGF0ZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fc3RhdGUuY29sbGFwc2VkKCkudmFsdWUoKXx8dGhpcy5fc3RhdGUubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpO2lmKGk+TGUuSW52YWxpZGF0aW9uTGV2ZWwuQ3Vyc29yKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl9jYW52YXNCaW5kaW5nKTt0aGlzLl9tYWtlU3VyZUlzVXBkYXRlZCh0KSx0aGlzLl9kcmF3QmFja2dyb3VuZChlLHQpLHMmJnRoaXMuX2RyYXdTb3VyY2VzKGUsdCl9aWYobnVsbCE9PXRoaXMuX3N0YXRlKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIikpO2Uuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKTtjb25zdCB0PSgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKTtlLmNsZWFyUmVjdCgwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQpLHMmJnRoaXMuX2RyYXdUb3BWaWV3cyhlLHQpLHRoaXMuX2RyYXdDcm9zc0hhaXIoZSx0KSxzJiZ0aGlzLl9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl9dGhpcy5fdXBkYXRlRW5kT2ZTZXJpZXNCYW5uZXIoKX1jYW5jZWxDcmVhdGluZ0xpbmVUb29sKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCk7aWYodClpZih0LnBvaW50c0NvdW50KCk8PTAmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHQudG9vbG5hbWUpKXtjb25zdCBpPXQucG9pbnRzKCk7aWYoaS5sZW5ndGg+Mil7Y29uc3Qgcz1pW2kubGVuZ3RoLTJdO2UuY29udGludWVDcmVhdGluZ0xpbmUocyksdGhpcy5fZmluaXNoVG9vbCh0KX1lbHNlIGUuY2FuY2VsQ3JlYXRpbmdMaW5lKCl9ZWxzZSBlLmNhbmNlbENyZWF0aW5nTGluZSgpO251bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5jYW5jZWxab29tKCksdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIGRyYXdSaWdodFRoZXJlKGUsdCl7dGhpcy5oYXNTdGF0ZSgpJiYoYXdhaXQoMCxraS5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5kcmF3UmlnaHRUaGVyZShlLHRoaXMuc3RhdGUoKSx2b2lkIDAsdCkpfWNhbmNlbE1lYXN1cmluZygpe3RoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpfWFzeW5jIHNldEVycm9yTWVzc2FnZShlKXtpZighZSYmIXRoaXMuX2Vycm9yUmVuZGVyZXIpcmV0dXJuO2lmKCF0aGlzLl9lcnJvclJlbmRlcmVyKXt0aGlzLl9lcnJvclJlbmRlcmVyPXRoaXMuX2NyZWF0ZUVycm9yQmxvY2soKTtjb25zdCBlPWF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXI7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuO3RoaXMuX2Rpdi5pbnNlcnRCZWZvcmUoZS5jb250YWluZXIsdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50Lm5leHRTaWJsaW5nKX1sZXQgdDtpZihlKXtjb25zdCBpPXRoaXMuX3N0YXRlPy5jb250YWluc01haW5TZXJpZXMoKXx8dGhpcy5fc3RhdGU/Lm1heGltaXplZCgpLnZhbHVlKCk7dD17bWVzc2FnZTppP2UubWVzc2FnZTp2b2lkIDAsdGl0bGU6ZS50aXRsZSxpY29uOmk/ZS5pY29uOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6YGxpbmVhci1ncmFkaWVudCgke3RoaXMuX2NoYXJ0TW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpfSwgJHt0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKX0pYCx0aGVtZTp0aGlzLl9jaGFydE1vZGVsKCkuYmFja2dyb3VuZFRoZW1lKCkudmFsdWUoKSwKYnV0dG9uczp0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpP2UuYnV0dG9uczp2b2lkIDAsbWFpblBhbmU6aX19KGF3YWl0IHRoaXMuX2Vycm9yUmVuZGVyZXIpLnVwZGF0ZSh0KX1jb2xsYXBzZWRIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgoTWF0aC5jZWlsKHRoaXMuX3BhbmVDb250cm9scz8uYm90dG9tV2l0aE1hcmdpbigpPz8wKSwzMyl9dmlzdWFsbHlDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fdmlzdWFsbHlDb2xsYXBzZWQucmVhZG9ubHkoKX1tYXhpbWl6ZWQoKXtyZXR1cm4gdGhpcy5fbWF4aW1pemVkLnJlYWRvbmx5KCl9c2V0Q3Vyc29yUG9zaXRpb24oZSx0LGkpe3RoaXMuX3VwZGF0ZUxhc3RDcm9zc2hhaXJQb3NpdGlvbihlLHQsaSksdGhpcy5fY2hhcnRNb2RlbCgpLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24odGhpcy5fY29ycmVjdFhDb29yZChlKSx0aGlzLl9jb3JyZWN0WUNvb3JkKHQpLHRoaXMuc3RhdGUoKSxpKX1kYXRhU291cmNlQXRQb2ludChlLHQpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQXRQb2ludChlLHQpPy5zb3VyY2U/P251bGx9X3RyeUV4aXRUcmFja2luZ01vZGUoZSl7dGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeSYmKHRoaXMuX3N0YXJ0VHJhY2tQb2ludD1udWxsLGV8fHRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKSl9X3RyeVN0YXJ0TWVhc3VyZShlLHQsaSxzLG4pe3JldHVybiEoISgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHx0LnN0YXJ0TWVhc3VyZVBvaW50KCkpJiYoZS5pc1RvdWNofHx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLGkpLHM9dGhpcy5fY2hhcnRNb2RlbCgpLm1hZ25ldCgpLmFsaWduKHMsbix0aGlzLnN0YXRlKCkpLHQuc3RhcnRNZWFzdXJpbmcoe3ByaWNlOnMsaW5kZXg6bn0sdGhpcy5zdGF0ZSgpKSwhMCl9X3RyeUZpbmlzaE1lYXN1cmUoZSx0KXtpZih0LnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0LmVuZE1lYXN1cmVQb2ludCgpKXtsZXQgaT10LnByaWNlO2NvbnN0IHM9dC5pbmRleDtyZXR1cm4gaT10aGlzLl9jaGFydE1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaSxzLHRoaXMuc3RhdGUoKSksdC5maW5pc2hNZWFzdXJlKHtwcmljZTppLGluZGV4OnN9KSxlLmlzVG91Y2g/KDAsVC5yZXNldFRvQ3Vyc29yKSgpOnRoaXMuX25lZWRSZXNldE1lYXN1cmVMYXRlcj0hMCx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCksITB9cmV0dXJuITF9X3RyeVN0YXJ0Wm9vbShlLHQsaSxzKXtjb25zdCBuPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS56b29tRW5hYmxlZCgpO2lmKCJ6b29tIj09PVQudG9vbC52YWx1ZSgpJiZuKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj1uLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkpLS41Km4udGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3JldHVybiB0aGlzLl9maXJzdFpvb21Qb2ludD17cHJpY2U6dCxpbmRleDppLHg6cix5OmUubG9jYWxZfSx0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLHMpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5zdGFydFNlbGVjdGlvbih0aGlzLnN0YXRlKCkpLCEwfXJldHVybiExfV9maW5pc2hab29tKGUpe2NvbnN0IHQ9dGhpcy5zdGF0ZSgpLGk9dC5kZWZhdWx0UHJpY2VTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLmZpcnN0VmFsdWUoKSxuPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShzKSkscj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89TWF0aC5yb3VuZChyLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSksYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2ZpcnN0Wm9vbVBvaW50KTtvIT09YS5pbmRleCYmci56b29tVG9WaWV3cG9ydChhLmluZGV4LG8sYS5wcmljZSxuLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2ZpcnN0Wm9vbVBvaW50PW51bGwsKDAsVC5yZXNldFRvQ3Vyc29yKSgpLHRoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCkmJnRoaXMuX2NsZWFyQ3Vyc29yUG9zaXRpb24oKX1fdHJ5RmluaXNoWm9vbShlKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50JiYodGhpcy5fZmluaXNoWm9vbShlKSwhMCl9X3RyeUhhbmRsZUVyYXNlck1vdXNlRG93bihlLHQpe2lmKCgwLFQudG9vbElzRXJhc2VyKShULnRvb2wudmFsdWUoKSkmJiFlLmlzQ3VzdG9tJiYoIShpPWUuc291cmNlKXx8IWkuY3VzdG9taXphdGlvbnx8IWkuY3VzdG9taXphdGlvbi5kaXNhYmxlRXJhc2luZykpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZigoMCxyaS5pc0xpbmVUb29sKShlLnNvdXJjZSl8fCgwLHRpLmlzU3R1ZHkpKGUuc291cmNlKSl7Y29uc3Qgcz1lLmhpdHRlc3QuZXJhc2VNYXJrZXIoKTtyZXR1cm4gdC5tb2QoKSYmdm9pZCAwIT09cyYmZS5zb3VyY2UucHJvY2Vzc0VyYXNlP2Uuc291cmNlLnByb2Nlc3NFcmFzZShpLHMpOmkucmVtb3ZlU291cmNlKGUuc291cmNlLCExKSwhMH19dmFyIGk7cmV0dXJuITF9X3RyeVN0YXJ0Q2hhbmdpbmdMaW5lVG9vbChlLHQsaSxzKXtpZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpcmV0dXJuITE7Y29uc3Qgbj10LmhpdHRlc3Q7aWYoKCFlLmlzVG91Y2h8fCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKSYmbiYmKDAscmkuaXNMaW5lVG9vbCkodC5zb3VyY2UpJiZuLnRhcmdldCgpPT09TWkuSGl0VGFyZ2V0LkNoYW5nZVBvaW50KXtjb25zdCByPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbz0oMCxsLmVuc3VyZSkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCk/LmZpcnN0VmFsdWUoKSksYT1uLmRhdGEoKT8ub3duZXJTb3VyY2VJZCxjPSgwLApsLmVuc3VyZU5vdE51bGwpKGE/dGhpcy5fY2hhcnRNb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChhKTp0LnNvdXJjZS5vd25lclNvdXJjZSgpKSxoPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLmNvb3JkaW5hdGVUb1ByaWNlKGUubG9jYWxZLG8pO3Iuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2Usbi5kYXRhKCkpfSkpO2xldCBkPWg7dC5zb3VyY2UucHJpY2VTY2FsZSgpPT09ci5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoZD1yLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oaCxzLHRoaXMuc3RhdGUoKSkpO2NvbnN0IHU9bi5kYXRhKCk/Lm5vbkRpc2NyZXRlSW5kZXg7dSYmKHM9ci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9GbG9hdEluZGV4KGUubG9jYWxYKSk7Y29uc3QgcD1uLmRhdGEoKT8ucG9pbnRJbmRleDtyZXR1cm4gdGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtcz17c291cmNlOnQuc291cmNlLG93bmVyU291cmNlOmMsc3RhcnRQb2ludDp7aW5kZXg6cyxwcmljZTpkLG5vbkRpc2NyZXRlSW5kZXg6dX0sc2NyZWVuUG9pbnQ6e3g6ZS5sb2NhbFgseTplLmxvY2FsWX0scG9pbnRJbmRleDpwLGVudlN0YXRlOml9LCEwfXJldHVybiB0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsITF9X3RyeVN0YXJ0Q2xvbmluZyhlLHQsaSxzKXtpZihpLm1vZCgpKXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUuY2xvbmVhYmxlKCkpKTtpZihzJiZzLmNsb25lYWJsZSgpJiZ0LnB1c2gocyksdC5sZW5ndGg+MClyZXR1cm4gdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHM9dC5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksITB9cmV0dXJuITF9X3RyeUZpbmlzaENsb25uaW5nKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj10aGlzLl9jaGFydE1vZGVsKCk7aWYodC5tb2QoKSYmdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQpLnN1YnRyYWN0KHIpLmxlbmd0aCgpLGE9W107Zm9yKGNvbnN0IGUgb2YgdGhpcy5fY2xvbm5pbmdBdE1vdmVMaW5lVG9vbHMpe2NvbnN0IHQ9bi5kYXRhU291cmNlRm9ySWQoZSk7bnVsbCE9PXQmJmEucHVzaCh0KX1pZigwPT09YS5sZW5ndGgpcmV0dXJuITE7aWYobz44KXtjb25zdCBuPXRoaXMuY2xvbmVMaW5lVG9vbHMoYSwhMCkubWFwKChlPT4oMCxsLmVuc3VyZU5vdE51bGwpKHMubW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKSk7cy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKTtsZXQgdD1udWxsO24uZm9yRWFjaCgocz0+e251bGw9PT10JiYodD11bihpLHMpKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihzLHQpfSkpfSkpO2NvbnN0IHI9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoblswXS5wcmljZVNjYWxlKCkpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpLGg9e2luZGV4OnMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgoZS5sb2NhbFgpLHByaWNlOm8uY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksKDAsbC5lbnN1cmVOb3ROdWxsKShjKSl9O3Muc3RhcnRNb3ZpbmdTb3VyY2VzKG4se2xvZ2ljYWw6aCxzY3JlZW46cn0sbnVsbCx0KSx0aGlzLl9jbG9ubmluZ0F0TW92ZUxpbmVUb29scz1udWxsLHRoaXMuX3N0YXJ0Q2xvbmluZ1BvaW50PW51bGx9cmV0dXJuITB9cmV0dXJuITF9X21vdXNlRG93bkV2ZW50Rm9yTGluZVRvb2woZSx0LGkscyl7Y29uc3Qgbj1ULnRvb2wudmFsdWUoKTtpZighdGhpcy5oYXNTdGF0ZSgpfHwoMCxtLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykobil8fHRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldClyZXR1cm47Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBvPSExLGE9bnVsbDsoMCxULmhpZGVBbGxEcmF3aW5ncykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpLCgwLFQubG9ja0RyYXdpbmdzKSgpLnNldFZhbHVlKCExKSxlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKG4pJiYhKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKXx8ci5saW5lQmVpbmdDcmVhdGVkKCkpJiZ0aGlzLl9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKTtjb25zdCBjPXIubGluZUJlaW5nQ3JlYXRlZCgpO2lmKGMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtjb25zdCBuPSgwLGwuZW5zdXJlKShjLm93bmVyU291cmNlKCk/LmZpcnN0VmFsdWUoKSk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMpe2lmKCF0aGlzLl9zdGFydFRvdWNoUG9pbnQpe3RoaXMuX3N0YXJ0VG91Y2hQb2ludD1uZXcgUHQuUG9pbnQoZS5wYWdlWCxlLnBhZ2VZKTtjb25zdCB0PWMucG9pbnRzKCksaT10W3QubGVuZ3RoLTFdLHM9ci50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShpLmluZGV4KSxvPSgwLGwuZW5zdXJlTm90TnVsbCkoYy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKGkucHJpY2Usbik7cmV0dXJuIHZvaWQodGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG8pKX19ZWxzZSBpZighZS5pc1RvdWNoKXthPWM7Y29uc3QgaD1yLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKGghPT10aGlzLl9zdGF0ZSYmbnVsbCE9PWgpe2NvbnN0IGk9dGhpcy5fZXh0ZXJuYWxQYW5lWENvb3JkKGgsZS5sb2NhbFgpLHM9dGhpcy5fZXh0ZXJuYWxQYW5lWUNvb3JkKGgsZS5sb2NhbFkpO289ci5jb250aW51ZUNyZWF0aW5nTGluZSh7CmluZGV4Ok1hdGgucm91bmQoci50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleChpKSkscHJpY2U6KDAsbC5lbnN1cmUpKGMucHJpY2VTY2FsZSgpPy5jb29yZGluYXRlVG9QcmljZShzLG4pKX0sdCl9ZWxzZXtjb25zdCBlPXIubW9kZWwoKS5tYWduZXQoKS5hbGlnbihzLGksdGhpcy5zdGF0ZSgpKTtvPXIuY29udGludWVDcmVhdGluZ0xpbmUoe2luZGV4OmkscHJpY2U6ZX0sdCl9fX1lbHNle2NvbnN0IHQ9KDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShuKTtpZighZS5pc1RvdWNofHxlLnN0eWx1c3x8dCl7Y29uc3QgZT1udWxsPT09Y3x8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGMpJiZjLmhhc09ubHlPbmVQb2ludCgpLGw9e2luZGV4OmkscHJpY2U6dCYmIWU/czpyLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24ocyxpLHRoaXMuc3RhdGUoKSl9O2E9ci5jcmVhdGVMaW5lVG9vbCh7cGFuZTp0aGlzLnN0YXRlKCkscG9pbnQ6bCxsaW5ldG9vbDpuLGFjdGlvblNvdXJjZToiRHJhdyIsa2VlcFNlbGVjdGVkR3JvdXA6ITB9KSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbyYmKHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbj0hMCksci5saW5lQmVpbmdDcmVhdGVkKCl8fChvPSEwKX19Y29uc3QgaD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7YSYmci5zZWxlY3Rpb25NYWNybygoZT0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkoYSksaD8uaGl0dGVzdC5kYXRhKCkpfSkpLG8mJmEmJih0aGlzLl9maW5pc2hUb29sKGEsaCksZS5wcmV2ZW50RGVmYXVsdCgpKX1faGFuZGxlU2VsZWN0aW9uTW91c2VEb3duQW5kR2V0SnVzdERlc2VsZWN0ZWRTb3VyY2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtsZXQgbj1udWxsO2lmKG51bGw9PT10fHx0LnNvdXJjZS5pc1NlbGVjdGlvbkVuYWJsZWQoKSl7Y29uc3Qgcj10Py5oaXR0ZXN0LmRhdGEoKT8uc2tpcFNvdXJjZVNlbGVjdGlvbjtzLnNlbGVjdGlvbk1hY3JvKChzPT57aWYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZXx8bnVsbD09PXR8fHJ8fCEoZS5pc1RvdWNoP3QuaGl0dGVzdC50YXJnZXQoKT49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQ6dC5oaXR0ZXN0LnRhcmdldCgpPk1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kKSl7aWYoIWkubW9kKCkpe2NvbnN0IHQ9e3R5cGU6ImNsZWFyIixpbnRlcmFjdGlvblR5cGU6ZS5pc1RvdWNoPyJ0b3VjaCI6InBvaW50ZXIifTtzLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZSh0KSYmcy5jbGVhclNlbGVjdGlvbigpLHRoaXMuX2Nsb25uaW5nQXRNb3ZlTGluZVRvb2xzPW51bGwsdGhpcy5fc3RhcnRDbG9uaW5nUG9pbnQ9bnVsbH19ZWxzZSBpLm1vZCgpfHxzLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodC5zb3VyY2UpfHxzLmNsZWFyU2VsZWN0aW9uKCksaS5tb2QoKSYmcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHQuc291cmNlKT8obj10LnNvdXJjZSxzLnJlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uKHQuc291cmNlKSk6cy5hZGRJdGVtVG9TZWxlY3Rpb24odC5zb3VyY2UsdC5oaXR0ZXN0LmRhdGEoKSkscy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpLmxlbmd0aD4xJiYoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiTXVsdGlzZWxlY3QiLCJDbGljayBTZWxlY3QiKX0pKX1yZXR1cm4gbn1fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHQpe3RoaXMuX3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksdCl9X3VwZGF0ZUNvbW1vblRvb2x0aXAoZSx0KXtsZXQgaT1udWxsO2lmKG51bGwhPT1lJiZudWxsIT09ZS5oaXR0ZXN0KXtjb25zdCB0PWUuaGl0dGVzdC5kYXRhKCk7dCYmKGk9dC50b29sdGlwfHxudWxsKX1pZihudWxsPT09dGhpcy5fcHJldlRvb2x0aXBEYXRhJiZudWxsPT09aSlyZXR1cm47aWYobnVsbD09PWl8fCIiPT09aS50ZXh0KXJldHVybiB0aGlzLl9wcmV2VG9vbHRpcERhdGE9bnVsbCx2b2lkKDAsS3MuaGlkZSkodCk7aWYodGhpcy5fcHJldlRvb2x0aXBEYXRhJiYoMCxzLmRlZmF1bHQpKGksdGhpcy5fcHJldlRvb2x0aXBEYXRhKSlyZXR1cm47dGhpcy5fcHJldlRvb2x0aXBEYXRhPWk7Y29uc3Qgbj0oMCxhLmNsb25lKShpKTtpZih2b2lkIDAhPT1uLnJlY3Qpe2NvbnN0IGU9dGhpcy5fcGFuZUNlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bi5yZWN0LngrPWUubGVmdCxuLnJlY3QueSs9ZS50b3B9KDAsS3Muc2hvdykobil9X3NldEN1cnNvclBvc2l0aW9uT25FeHRlcm5hbFBhbmUoZSx0LGkscyl7dD10aGlzLl9leHRlcm5hbFBhbmVYQ29vcmQoZSx0KSxpPXRoaXMuX2V4dGVybmFsUGFuZVlDb29yZChlLGkpO3RoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKGUpLnNldEN1cnNvclBvc2l0aW9uKHQsaSxzKX1fdXBkYXRlTGFzdENyb3NzaGFpclBvc2l0aW9uKGUsdCxpKXtjb25zdCBzPXRoaXMuc3RhdGUoKS5pZCgpO1NuPXt4OmUseTp0LGVudlN0YXRlOmksc3RhdGVJZDpzfX1fc2V0Q3Vyc29yQ2xhc3NOYW1lKGUpe2xldCB0PSIiO2UmJih0PSJwYW5lLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX3BhbmVDZWxsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZSksdCYmdGhpcy5fcGFuZUNlbGwuY2xhc3NMaXN0LmFkZCh0KSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPXQsdGhpcy5fcGFuZUNlbGwuc3R5bGUuY3Vyc29yKX1fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKXtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTtpZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0KTt0LmhpdHRlc3QudHJ5Q2FsbE1vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlLHtzb3VyY2VXYXNTZWxlY3RlZDppfSl9fV9jcm9zc0hhaXJTaG91bGRCZVZpc2libGUoKXsKY29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHwoMCxULnRvb2xJc01lYXN1cmUpKFQudG9vbC52YWx1ZSgpKXx8ZS5zdGFydE1lYXN1cmVQb2ludCgpJiYhZS5lbmRNZWFzdXJlUG9pbnQoKXx8bnVsbCE9PXRoaXMuX2ZpcnN0Wm9vbVBvaW50fHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0VkaXRlZCgpfHxudWxsIT09dGhpcy5fY2hhcnRNb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKX1fY2xlYXJDdXJzb3JQb3NpdGlvbigpe1NuPW51bGwsdGhpcy5fY2hhcnRNb2RlbCgpLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9X2RhdGFTb3VyY2VBdFBvaW50KGUsdCl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXtyZXN1bHQ6bnVsbH0scz10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PXMubGluZUJlaW5nQ3JlYXRlZCgpKXJldHVybiBpLnJlc3VsdDtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3QpcmV0dXJuIHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdDtjb25zdCBuPW5ldyBTZXQ7aWYodGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3QmJnRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LnNvdXJjZUF0UG9pbnQuaGl0dGVzdC5kYXRhKCkpe2lmKCF0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5jYW5jZWxsZWRDb250YWluZXI/LmNhbmNlbGxlZClyZXR1cm4gdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludDtuLmFkZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LnNvdXJjZS5pZCgpKX1pZih0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdCYmdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Quc291cmNlQXRQb2ludC5oaXR0ZXN0LmRhdGEoKSYmIXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0LmNhbmNlbGxlZENvbnRhaW5lcj8uY2FuY2VsbGVkKXJldHVybiB0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50O2NvbnN0IHI9dGhpcy5zdGF0ZSgpLG89KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuX21ha2VTdXJlSXNVcGRhdGVkKG8pO2NvbnN0IGE9cG4uYmluZChudWxsLGkpLGw9bmV3IFB0LlBvaW50KGUsdCk7aWYoIXIubWF4aW1pemVkKCkudmFsdWUoKSYmci5jb2xsYXBzZWQoKS52YWx1ZSgpfHwoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihULmFjdGl2ZVBvaW50U2VsZWN0aW9uTW9kZS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludCkpcmV0dXJuIHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sW3MuY3Jvc3NoYWlyU291cmNlKCldLGwsYSwhMSxuKSxpLnJlc3VsdDtjb25zdCBjPXIuc291cmNlc0J5R3JvdXAoKSxoPXMuc2VsZWN0aW9uKCksZD1oLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT5lLmlzTXVsdGlQYW5lRW5hYmxlZCgpfHxzLnBhbmVGb3JTb3VyY2UoZSk9PT1yKSk7dGhpcy5faGl0VGVzdFNvdXJjZXMobyxkLGwsYSwhMSxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGguY3VzdG9tU291cmNlcygpLGwsYSwhMCxuKSxoLmFsbFNvdXJjZXMoKS5mb3JFYWNoKChlPT5uLmFkZChlLmlkKCkpKSksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxbcy5jcm9zc2hhaXJTb3VyY2UoKV0sbCxhLCExLG4pLHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sci5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLGwsYSwhMCxuKSx0aGlzLl9oaXRUZXN0U291cmNlcyhvLGMudHJhZGluZ1NvdXJjZXMoKSxsLGEsITEsbiksdGhpcy5faGl0VGVzdFNvdXJjZXMobyxyLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCksbCxhLCEwLG4pO2NvbnN0IHU9Yy5oaXRUZXN0U291cmNlcygpO2lmKHRoaXMuX2hpdFRlc3RTb3VyY2VzKG8sdSxsLGEsITEsbiksdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3QgZT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKTtpZihudWxsIT09ZSYmIW4uaGFzKGUuaWQoKSkpe2NvbnN0IHQ9ZS5zdHJhdGVneU9yZGVyc1BhbmVWaWV3KCk7aWYobnVsbCE9PXQpe2NvbnN0IHM9dC5yZW5kZXJlcihvKTtpZihudWxsIT09cyl7Y29uc3QgdD1zLmhpdFRlc3QobCxvKTt0JiZwbihpLHQsZSxzLCExKX19fX1yZXR1cm4gbnVsbD09PWkucmVzdWx0JiZ0aGlzLl9oaXRUZXN0U291cmNlcyhvLHIuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5CYWNrZ3JvdW5kKSxsLGEsITAsbiksaS5yZXN1bHR9X3NvdXJjZVdhc1NlbGVjdGVkKGUpe3JldHVybiEhZSYmdGhpcy5fc2VsZWN0aW9uQmVmb3JlTW91c2VEb3duLmhhcyhlLnNvdXJjZSl9X2hpdFRlc3RTb3VyY2VzKGUsdCxpLHMsbixyKXtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpO2ZvcihsZXQgYT10Lmxlbmd0aC0xO2E+PTA7LS1hKXtjb25zdCBsPXRbYV07aWYoci5oYXMobC5pZCgpKSljb250aW51ZTtjb25zdCBjPWwucGFuZVZpZXdzKG8pO2lmKG51bGwhPT1jJiYwIT09Yy5sZW5ndGgpZm9yKGxldCB0PWMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IHI9Y1t0XS5yZW5kZXJlcihlKTtpZihyJiZyLmhpdFRlc3Qpe2NvbnN0IHQ9ci5oaXRUZXN0KGksZSk7bnVsbCE9PXQmJnModCxsLHIsbil9fX19X3RyeVN0YXJ0TW92aW5nTGluZVRvb2woZSx0LGkscyl7aWYobnVsbD09PXQuc291cmNlfHwhdC5zb3VyY2UubW92YWJsZSgpfHxudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXJldHVybiExO2lmKCF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBuPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkscj0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0YXRlKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbz0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlLnByaWNlU2NhbGUoKSksYT1udWxsPT09cj9OYU46by5jb29yZGluYXRlVG9QcmljZShlLmxvY2FsWSxyKTtsZXQgYz0odC5zb3VyY2UuaXNTZWxlY3Rpb25FbmFibGVkKCk/bi5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk6W3Quc291cmNlXSkuZmlsdGVyKFFzKTtjb25zdCBoPWMuZmlsdGVyKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpO2M9aC5sZW5ndGg+MD9oOmMuaW5jbHVkZXModC5zb3VyY2UpP1t0LnNvdXJjZV06W2NbMF1dO2NvbnN0IGQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSx1PXtpbmRleDpzLHByaWNlOmF9LHA9dC5oaXR0ZXN0LmRhdGEoKT8uYWN0aXZlSXRlbTtyZXR1cm4gdGhpcy5fc3RhcnRNb3ZlU291cmNlUGFyYW1zPXtzb3VyY2U6YyxzdGFydFBvaW50Ontsb2dpY2FsOnUsc2NyZWVuOmR9LGFjdGl2ZUl0ZW06dm9pZCAwPT09cD9udWxsOnAsZW52U3RhdGU6aX0sITB9cmV0dXJuIHRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsLCExfV9jaGFydE1vZGVsKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKX1fY2hhcnRVbmRvTW9kZWwoKXtyZXR1cm4gdGhpcy5fY2hhcnQubW9kZWwoKX1fZXh0ZXJuYWxQYW5lWENvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0O2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydC5wYW5lQnlTdGF0ZShlKSkscz1pLl9kaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ7cmV0dXJuIGkuX2NvcnJlY3RYQ29vcmQodC1zKX1fZXh0ZXJuYWxQYW5lWUNvb3JkKGUsdCl7dCs9dGhpcy5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnQucGFuZUJ5U3RhdGUoZSkpLHM9aS5fZGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcDtyZXR1cm4gaS5fY29ycmVjdFlDb29yZCh0LXMpfV9jb3JyZWN0WENvb3JkKGUpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKGUsdGhpcy5fc2l6ZS53aWR0aC0xKSl9X2NvcnJlY3RZQ29vcmQoZSl7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oZSx0aGlzLl9zaXplLmhlaWdodC0xKSl9X3Byb2Nlc3NTY3JvbGwoZSl7aWYoIXRoaXMuX2NoYXJ0Lm1vZGVsKCkubW9kZWwoKS5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9cGVyZm9ybWFuY2Uubm93KCk7dGhpcy5fc3RhcnRTY3JvbGxpbmdQb3N8fHRoaXMuX3ByZXZlbnRTY3JvbGwoKXx8KHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zPXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0aW1lc3RhbXA6dCxsb2NhbFg6ZS5sb2NhbFgsbG9jYWxZOmUubG9jYWxZfSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2xldCBzPXRoaXMuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKHRoaXMuX3N0YXJ0U2Nyb2xsaW5nUG9zJiYhdGhpcy5faXNTY3JvbGxpbmcmJih0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy54IT09ZS5jbGllbnRYfHx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy55IT09ZS5jbGllbnRZKSlyZXR1cm4gaS5iZWdpblVuZG9NYWNybyhzbiksbnVsbD09PXRoaXMuX3Njcm9sbFhBbmltYXRpb24mJnRoaXMuX29wdGlvbnMudXNlS2luZXRpY1Njcm9sbCYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb249bmV3IEVzLktpbmV0aWNBbmltYXRpb24oLjIsNywuOTk3LDE1KSx0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcy50aW1lc3RhbXApKSxpLnNlbGVjdGlvbigpLmlzRW1wdHkoKXx8KHM9aS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKClbMF0ucHJpY2VTY2FsZSgpKSxudWxsPT09c3x8cy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxQcmljZVNjYWxlPXMsaS5zdGFydFNjcm9sbFByaWNlKHRoaXMuc3RhdGUoKSxzLGUubG9jYWxZKSksaS5zdGFydFNjcm9sbFRpbWUoZS5sb2NhbFgpLHRoaXMuX2lzU2Nyb2xsaW5nPSEwLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQgdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5zZXRTY3JvbGxpbmdQYW5lKHRoaXMpO3RoaXMuX2lzU2Nyb2xsaW5nJiYobnVsbCE9PXRoaXMuX3Njcm9sbFByaWNlU2NhbGUmJmkuc2Nyb2xsUHJpY2VUbyh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSxlLmxvY2FsWSksaS5zY3JvbGxUaW1lVG8oZS5sb2NhbFgpLG51bGwhPT10aGlzLl9zY3JvbGxYQW5pbWF0aW9uJiZ0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmFkZFBvc2l0aW9uKGUuY2xpZW50WCx0KSl9X2ZpbmlzaFNjcm9sbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtlLmVuZFNjcm9sbFRpbWUoKSxudWxsIT09dGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSYmZS5lbmRTY3JvbGxQcmljZSh0aGlzLnN0YXRlKCksdGhpcy5fc2Nyb2xsUHJpY2VTY2FsZSksZS5lbmRVbmRvTWFjcm8oKSx0aGlzLl9pc1Njcm9sbGluZz0hMSx0aGlzLl9zdGFydFNjcm9sbGluZ1Bvcz1udWxsLHRoaXMuX3Njcm9sbFByaWNlU2NhbGU9bnVsbCx0aGlzLnNldEN1cnNvckZvclRvb2woKSx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnNldFNjcm9sbGluZ1BhbmUobnVsbCl9X2VuZFNjcm9sbChlKXtpZighdGhpcy5faXNTY3JvbGxpbmcpcmV0dXJuITE7dGhpcy5fZmluaXNoU2Nyb2xsKCk7Y29uc3QgdD10aGlzLl9zY3JvbGxVbmRvQ29tbWFuZEluU3RhY2soKSxpPXBlcmZvcm1hbmNlLm5vdygpO3JldHVybiBudWxsIT09dGhpcy5fc2Nyb2xsWEFuaW1hdGlvbiYmKHRoaXMuX3Njcm9sbFhBbmltYXRpb24uc3RhcnQoZS5jbGllbnRYLGkpLAp0aGlzLl9zY3JvbGxYQW5pbWF0aW9uLmZpbmlzaGVkKGkpfHwodGhpcy5fY2hhcnRNb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9jaGFydE1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKHRoaXMuX3Njcm9sbFhBbmltYXRpb24pLHRoaXMuX3Njcm9sbFhBbmltYXRpb249bnVsbCkpLHR9X3ByZXZlbnRTY3JvbGwoKXtyZXR1cm4gdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwJiZ0aGlzLl9sb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8KDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxCb29sZWFuKHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkubGluZUJlaW5nQ3JlYXRlZCgpKXx8bnVsbCE9PXRoaXMuX3N0YXJ0VHJhY2tQb2ludHx8dGhpcy5fcHJldmVudFNjcm9sbFVudGlsTmV4dE1vdXNlRG93bk9yVG91Y2hTdGFydH1faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmV9X3ByZXZlbnRDcm9zc0hhaXJNb3ZlKCl7cmV0dXJuISF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXAmJihudWxsPT09dGhpcy5fY2hhcnQudHJhY2tpbmdNb2RlUGFuZVdpZGdldCgpJiYoISF0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8IXRoaXMuX2Nyb3NzSGFpclNob3VsZEJlVmlzaWJsZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50KSl9X2ZpbmlzaFRvb2woZSx0PW51bGwpe2NvbnN0IGk9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKSxzPWUudG9vbG5hbWU7aWYocz09PVQudG9vbC52YWx1ZSgpJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLGkuc2VsZWN0aW9uTWFjcm8oKGk9PntpLmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKHQsZSkpfSkpLCgwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKGUpJiZlLmFjdGl2YXRlRWRpdGluZ09uQ3JlYXRpb24oKSllLmFjdGl2YXRlVGV4dEVkaXRpbmdPbih0aGlzLl9kaXYsITApO2Vsc2UgaWYoKDAsbS5pc1RleHRUb29sTmFtZSkocykpe2NvbnN0IHQ9aS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpO3RoaXMuX2NoYXJ0LnNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2UoZSxKdC5UYWJOYW1lcy50ZXh0LHZvaWQgMCx0KX10aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9ZS5pZCgpLCgwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwiY3JlYXRlIil9X2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGUsdCxpLHMsbil7Y29uc3Qgcj10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLG89Mj09PW4/TmFOOnIudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodCk7ci5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkuZm9yRWFjaCgoZT0+e2xldCBhPW8sbD1lLmNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoaSx0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSk7aWYobnVsbD09PWwpe2lmKDEhPT1uKXJldHVybjtsPU5hTn1pZigoMCx0aS5pc1N0dWR5KShlKSl7Y29uc3QgZT1yLm1haW5TZXJpZXMoKS5iYXJzKCkuZmlyc3RJbmRleCgpO251bGwhPT1lJiYyIT09biYmKGE9TWF0aC5tYXgobyxlKSksMSE9PW4mJihsPXRoaXMuX2NoYXJ0TW9kZWwoKS5tYWduZXQoKS5hbGlnbihsLG8sdGhpcy5zdGF0ZSgpKSl9bnVsbCE9PXRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0JiZ2b2lkIDAhPT10aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdC5zb3VyY2VBdFBvaW50LmhpdHRlc3QuZGF0YSgpPy5jdXJzb3JUeXBlfHx0aGlzLnNldEN1cnNvckZvclRvb2woKSxyLm1vdmVTb3VyY2VzKHtzY3JlZW46bmV3IFB0LlBvaW50KHQsaSksbG9naWNhbDp7aW5kZXg6YSxwcmljZTpsfX0scyl9KSl9X3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKXt0aGlzLl9uZWVkUmVzZXRNZWFzdXJlTGF0ZXImJigoMCxULnJlc2V0VG9DdXJzb3IpKCksdGhpcy5fbmVlZFJlc2V0TWVhc3VyZUxhdGVyPSExKX1fbWFrZVN1cmVJc1VwZGF0ZWQoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCksaT1bLi4udC5kYXRhU291cmNlcygpLC4uLnQuY3VzdG9tU291cmNlcygpXTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPXMucGFuZVZpZXdzKHQpO2lmKG51bGwhPT1pKWZvcihjb25zdCB0IG9mIGkpdC5tYWtlU3VyZUlzVXBkYXRlZD8uKGUpfX1fZHJhd0JhY2tncm91bmQoZSx0KXtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKSxzPWkuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxuPWkuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtpZih0aGlzLl9zdGF0ZT8ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQpe2NvbnN0IGk9dGhpcy5fc3RhdGU/Lm1vZGVsKCkucGFuZXMoKS5pbmRleE9mKHRoaXMuX3N0YXRlKT8/MCxyPXRoaXMuX3N0YXRlPy5tb2RlbCgpLm1haW5QYW5lKCksbz1pPihyP3RoaXMuX3N0YXRlPy5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihyKT8/MDowKT9uOnM7KDAsS3QuY2xlYXJSZWN0KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxvKX1lbHNlIHM9PT1uPygwLEt0LmNsZWFyUmVjdCkoZSwwLDAsdC5iaXRtYXBTaXplLndpZHRoLHQuYml0bWFwU2l6ZS5oZWlnaHQsbik6KDAsRGkuY2xlYXJSZWN0V2l0aEdyYWRpZW50KShlLDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCxzLG4pfV9kcmF3V2F0ZXJtYXJrKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkud2F0ZXJtYXJrU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuO3RoaXMuc3RhdGUoKS5jb250YWluc01haW5TZXJpZXMoKSYmdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3Q3Jvc3NIYWlyKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO2kuaW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpLAppLnZpc2libGV8fG51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8aS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpfV9kcmF3QWN0aXZlTGluZVRvb2xzKGUsdCl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsKCkscz1baS5saW5lQmVpbmdDcmVhdGVkKCksaS5saW5lQmVpbmdFZGl0ZWQoKSwuLi5pLnNvdXJjZXNCZWluZ01vdmVkKCksaS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCldLmZpbHRlcigoZT0+ISFlKSk7Zm9yKGNvbnN0IG4gb2Ygcyl7KGkucGFuZUZvclNvdXJjZShuKT09PXRoaXMuc3RhdGUoKXx8KDAsQWkuaXNEYXRhU291cmNlKShuKSYmbi5pc011bHRpUGFuZUVuYWJsZWQoKSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixuKX19X2RyYXdUb3BWaWV3cyhlLHQpe2Zvcihjb25zdCBpIG9mIHRoaXMuc3RhdGUoKS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpKWkudG9wUGFuZVZpZXdzJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsY24sYW4saSl9X2RyYXdTb3VyY2VzKGUsdCl7Y29uc3QgaT10aGlzLnN0YXRlKCkscz1pLm1vZGVsKCksbj1pLnNvdXJjZXNCeUdyb3VwKCkscj1uLnRyYWRpbmdTb3VyY2VzKCksbz1uLmdlbmVyYWxTb3VyY2VzKCksbD1uLnBoYW50b21Tb3VyY2VzKCksYz1pLmN1c3RvbVNvdXJjZXMoSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCkuc2xpY2UoKSxoPWkuY3VzdG9tU291cmNlcyhJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kKS5zbGljZSgpLGQ9aS5jdXN0b21Tb3VyY2VzKElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpLnNsaWNlKCksdT1zLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKSxwPXMucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk7dGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLHMuZ3JpZFNvdXJjZSgpKSx0aGlzLl9kcmF3V2F0ZXJtYXJrKGUsdCk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2Ygbyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgaCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Zm9yKGNvbnN0IGkgb2YgbCl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sb24saSk7Y29uc3QgXz1uZXcgU2V0O1tzLmxpbmVCZWluZ0NyZWF0ZWQoKSxzLmxpbmVCZWluZ0VkaXRlZCgpLC4uLnMuc291cmNlc0JlaW5nTW92ZWQoKSxzLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKV0uZmlsdGVyKGEubm90TnVsbCkuZm9yRWFjaCgoZT0+Xy5hZGQoZS5pZCgpKSkpO2xldCBtPXMuaG92ZXJlZFNvdXJjZSgpO251bGwhPT1tJiYoKDAsQWkuaXNEYXRhU291cmNlKShtKSYmIW0uc2hvd09uVG9wT25Ib3ZlcmluZygpfHxfLmhhcyhtLmlkKCkpfHwoMCxBaS5pc0RhdGFTb3VyY2UpKG0pJiYhby5pbmNsdWRlcyhtKT9tPW51bGw6Xy5hZGQobS5pZCgpKSk7Y29uc3QgZz1zLmhpZ2hsaWdodGVkUGxvdEluZm8oKSxmPWc/by5maWx0ZXIoKGU9PigwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmIV8uaGFzKGUuaWQoKSkpKTpbXTtmLmZvckVhY2goKGU9Pl8uYWRkKGUuaWQoKSkpKTtjb25zdCBTPXMuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLmZpbHRlcigoZT0+ISgoMCxBaS5pc0RhdGFTb3VyY2UpKGUpJiYhby5pbmNsdWRlcyhlKSkmJiFfLmhhcyhlLmlkKCkpKSk7Uy5mb3JFYWNoKChlPT5fLmFkZChlLmlkKCkpKSk7Zm9yKGNvbnN0IGkgb2YgYyl0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7dSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSYmISgwLEpzLmlzU3R1ZHlTdHJhdGVneVN0dWIpKHUpJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4sdSxfKSxwJiZ0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsZG4sYW4scCxfKTtmb3IoY29uc3QgaSBvZiByKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixvbixpKTtmb3IoY29uc3QgaSBvZiBvKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpLF8pO2Zvcihjb25zdCBpIG9mIGgpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGhuLGFuLGksXyk7Zm9yKGNvbnN0IGkgb2Ygcil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSxfKTtmb3IoY29uc3QgaSBvZiBkKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxsbixhbixpLF8pO2Zvcihjb25zdCBpIG9mIFMpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGkpLGk9PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KTtmb3IoY29uc3QgaSBvZiBTKXRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxobixhbixpKTttJiYodGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLG0pLG09PT11JiZ0aGlzLmNvbnRhaW5zTWFpblNlcmllcygpJiYhKDAsSnMuaXNTdHVkeVN0cmF0ZWd5U3R1YikodSkmJnRoaXMuX2RyYXdTb3VyY2VJbXBsKGUsdCxkbixhbix1KSx0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsaG4sYW4sbSkpO2Zvcihjb25zdCBpIG9mIGwpdGhpcy5fZHJhd1NvdXJjZUltcGwoZSx0LGxuLGFuLGksXyk7aWYoZyYmZi5sZW5ndGgpZm9yKGNvbnN0IGkgb2YgZil0aGlzLl9kcmF3U291cmNlSW1wbChlLHQsbG4sYW4saSl9X2RyYXdTb3VyY2VJbXBsKGUsdCxpLHMsbixyKXtpZihyJiZyLmhhcyhuLmlkKCkpKXJldHVybjtjb25zdCBvPWkobix0aGlzLnN0YXRlKCkpO2lmKG8pZm9yKGNvbnN0IGkgb2Ygbyl7Y29uc3Qgbj1pLnJlbmRlcmVyKHQpO24mJihlLnNhdmUoKSxzKG4sZSx0KSxlLnJlc3RvcmUoKSl9fQpfdXBkYXRlQnlUaGVtZWRDb2xvcnMoKXtudWxsIT09dGhpcy5fbGVnZW5kV2lkZ2V0JiZ0aGlzLl9sZWdlbmRXaWRnZXQudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSxudWxsIT09dGhpcy5fcGFuZUNvbnRyb2xzJiZ0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKX1fc2Nyb2xsVW5kb0NvbW1hbmRJblN0YWNrKCl7Y29uc3QgZT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCk7aWYoZS5pc0VtcHR5KCkpcmV0dXJuITE7Y29uc3QgdD1lLmhlYWQoKTtpZighKHQgaW5zdGFuY2VvZiBVKSlyZXR1cm4hMTtpZih0LmlzRW1wdHkoKSlyZXR1cm4hMTtyZXR1cm4gdC5jb21tYW5kcygpWzBdaW5zdGFuY2VvZiBPc31fb25TdGF0ZURlc3Ryb3llZCgpe3RoaXMuc2V0U3RhdGUobnVsbCl9X29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3RoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcz1udWxsfV9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKGUsdCl7aWYobnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCYmKHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdC5yZW5kZXJlciE9PWU/LnJlbmRlcmVyfHx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/LmFjdGl2ZUl0ZW0hPT1lLmhpdHRlc3QuZGF0YSgpPy5hY3RpdmVJdGVtKSl7Y29uc3QgZT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKSh0LHtzb3VyY2VXYXNTZWxlY3RlZDplfSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH1pZighdC5pc1RvdWNoJiZudWxsIT09ZSl7Y29uc3QgaT10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZChlKTt0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q/LnJlbmRlcmVyIT09ZS5yZW5kZXJlciYmKGUuaGl0dGVzdC50cnlDYWxsTW91c2VFbnRlckhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pLHRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdD1lKSxlLmhpdHRlc3QudHJ5Q2FsbE1vdXNlTW92ZUhhbmRsZXIodCx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pfX1fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCl7aWYobnVsbCE9PXRoaXMuX3N0YXJ0Q2hhbmdlTGluZVRvb2xQYXJhbXMpe2NvbnN0IGU9dGhpcy5fc3RhcnRDaGFuZ2VMaW5lVG9vbFBhcmFtczsoMCxNdC50cmFja0V2ZW50KSgiY2hhcnRfYWxlcnQiLCJlZGl0Iiwic3RhcnRfY2hhbmdlX2xpbmVfdG9vbF9wYXJhbXMiKSx0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnN0YXJ0Q2hhbmdpbmdMaW5ldG9vbChlLnNvdXJjZSxlLm93bmVyU291cmNlLGUuc3RhcnRQb2ludCxlLnBvaW50SW5kZXgsZS5lbnZTdGF0ZSl9aWYobnVsbCE9PXRoaXMuX3N0YXJ0TW92ZVNvdXJjZVBhcmFtcyl7Y29uc3QgZT10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM7KDAsTXQudHJhY2tFdmVudCkoImNoYXJ0X2FsZXJ0IiwiZWRpdCIsInN0YXJ0X21vdmluZ19zb3VyY2VzIiksdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5zdGFydE1vdmluZ1NvdXJjZXMoZS5zb3VyY2UsZS5zdGFydFBvaW50LGUuYWN0aXZlSXRlbSxlLmVudlN0YXRlKX10aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGx9X3RyYWNraW5nTW9kZVNob3VsZEJlQWN0aXZlKCl7cmV0dXJuISghdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwfHx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcHx8dGhpcy5fY3Jvc3NIYWlyU2hvdWxkQmVWaXNpYmxlKCkpJiZ0aGlzLl9sb25nVGFwfV9wcm9jZXNzT3V0c2lkZUNsaWNrKGUsdCl7bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihudWxsIT09ZSYmKGk9ZS5pc0N1c3RvbT9zLmN1c3RvbVNvdXJjZU5hbWUoZS5zb3VyY2UpOmUuc291cmNlLmlkKCkpLG51bGwhPT10aGlzLl9sYXN0Q2xpY2tlZFNvdXJjZSYmdGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaWQhPT1pKXtjb25zdCBlPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlkO2xldCBpPXRoaXMuX2xhc3RDbGlja2VkU291cmNlLmlzQ3VzdG9tP3MuY3VzdG9tU291cmNlRm9yTmFtZShlKTpzLmRhdGFTb3VyY2VGb3JJZChlKTtudWxsIT09aXx8dGhpcy5fbGFzdENsaWNrZWRTb3VyY2UuaXNDdXN0b218fChpPXMuZGF0YVNvdXJjZUZvcklkKGUpKSxudWxsIT09aSYmaS5vbkNsaWNrT3V0c2lkZSYmKGkub25DbGlja091dHNpZGUoKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpLHQpLHRoaXMuX2NoYXJ0TW9kZWwoKS51cGRhdGVTb3VyY2UoaSkpfXRoaXMuX2xhc3RDbGlja2VkU291cmNlPW51bGwhPT1pP3tpZDppLGlzQ3VzdG9tOmU/LmlzQ3VzdG9tPz8hMX06bnVsbH1hc3luYyBzaG93Q29uZmV0dGkoZSx0KXt7Y29uc3Qgcz1hd2FpdCBpLmUoODY3NDApLnRoZW4oaS5iaW5kKGksMjM3NTM3KSk7InBlcmZvcm1hbmNlIj09PVQudG9vbC52YWx1ZSgpJiZzLmNvbmZldHRpKGUsdCl9fV9tb3VzZUNsaWNrT3JUYXBFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjtxcy5wZXJmb3JtYW5jZVRlc3RNb2RlJiYicGVyZm9ybWFuY2UiPT09VC50b29sLnZhbHVlKCkmJnRoaXMuc2hvd0NvbmZldHRpKGUucGFnZVgsZS5wYWdlWSk7bGV0IHQ9bnVsbCxpPW51bGw7dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJnRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLnRvb2xDcmVhdGlvbiYmIXRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvLm1vdXNlTW92ZXx8KHQ9dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLGk9dCYmdC5zb3VyY2UpCjtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1Cb29sZWFuKHQ/LmhpdHRlc3QuZGF0YSgpPy5oaWRlQ3Jvc3NoYWlyTGluZXNPbkhvdmVyKTt0aGlzLl9wcm9jZXNzT3V0c2lkZUNsaWNrKHQsZSksIXRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpfHxufHxlLmlzVG91Y2gmJnRoaXMudHJhY2tpbmdNb2RlRW5hYmxlZCgpJiYhdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeXx8cy5jcm9zc2hhaXJTb3VyY2UoKS50cnlTZWxlY3RDdXJyZW50UG9pbnQoKTtjb25zdCByPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpOyEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJm51bGwhPT10JiZ0LmhpdHRlc3QudHJ5Q2FsbENsaWNrT3JUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnJ9KSYmcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSgoMCxsLmVuc3VyZU5vdE51bGwpKGkpKSwhZS5pc1RvdWNofHx0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKXx8dCYmdC5zb3VyY2U9PT1zLmNyb3NzaGFpclNvdXJjZSgpfHx0aGlzLl90cnlFeGl0VHJhY2tpbmdNb2RlKCksaSYmKDAscmkuaXNMaW5lVG9vbCkoaSkmJnRoaXMuX2xhc3RGaW5pc2hlZFRvb2xJZCE9PWkuaWQoKSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsaS5pZCgpLCJjbGljayIpLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz1udWxsfV9tb3VzZURvd25PclRvdWNoU3RhcnRFdmVudChlLHQpe3RoaXMuX3ByZXNzZWRNb3ZlU3RhZ2U9MSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSExLHRoaXMuX3NlbGVjdGlvbkJlZm9yZU1vdXNlRG93bj1uZXcgU2V0KHRoaXMuX2NoYXJ0TW9kZWwoKS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkpLGUuaXNUb3VjaCYmKHRoaXMuX2xvbmdUYXA9ITEsdGhpcy5fZXhpdFRyYWNraW5nTW9kZU9uTmV4dFRyeT1udWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50LHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpKSx0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcD0hMSx0aGlzLl9sYXN0RmluaXNoZWRUb29sSWQ9bnVsbDtjb25zdCBpPXRoaXMuX2NoYXJ0TW9kZWwoKTtpZihpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mbz17bW91c2VNb3ZlOiExLHRvb2xDcmVhdGlvbjpCb29sZWFuKGkubGluZUJlaW5nQ3JlYXRlZCgpKX0sZS5pc1RvdWNoJiZ0aGlzLl9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudClkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXI/ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk6ZG9jdW1lbnQuYm9keS5mb2N1cygpO2Vsc2V7Y29uc3QgZT1kb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtudWxsIT09ZSYmZS5yZW1vdmVBbGxSYW5nZXMoKX0oMCwkLmVtaXQpKCJtb3VzZV9kb3duIix7Y2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFkscGFnZVg6ZS5wYWdlWCxwYWdlWTplLnBhZ2VZLHNjcmVlblg6ZS5zY3JlZW5YLHNjcmVlblk6ZS5zY3JlZW5ZfSksdGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsKTtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1uZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKTtzLm1haW5TZXJpZXMoKS5jbGVhckdvdG9EYXRlUmVzdWx0KCk7Y29uc3Qgcj10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3Qgbz1zLmNyb3NzaGFpclNvdXJjZSgpO2lmKCFlLmlzVG91Y2gmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSl7Y29uc3QgdD1udWxsIT09cy5saW5lQmVpbmdDcmVhdGVkKCk/cy5tb2RlbCgpLnBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKTpudWxsO251bGwhPT10JiZ0IT09dGhpcy5fc3RhdGU/dGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZSh0LGUubG9jYWxYLGUubG9jYWxZLG4pOnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24oZS5sb2NhbFgsZS5sb2NhbFksbil9ZS5pc1RvdWNoJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKXx8bnVsbCE9PW8ucGFuZT8oMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKFQudG9vbC52YWx1ZSgpKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpOnRoaXMuX2NoYXJ0LnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7bGV0IGM9bnVsbD09YT9udWxsOnIuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksYSksaD1pLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKTtpZihvLnN0YXJ0TWVhc3VyZVBvaW50KCkmJm8uZW5kTWVhc3VyZVBvaW50KCkmJm8uY2xlYXJNZWFzdXJlKCksbi5zaGlmdCgpJiYoMCxULnRvb2xJc0N1cnNvcikoVC50b29sLnZhbHVlKCkpKXtjb25zdCBlPXMuc2VsZWN0aW9uKCkuaXNFbXB0eSgpOyhudWxsPT09dHx8ZSYmIXQuaGl0dGVzdC5kYXRhKCk/Lmhhc093blNob3J0Y3V0c0JlaGF2aW91ckZvcj8uc2hpZnRLZXkpJiYoVC50b29sLnNldFZhbHVlKCJtZWFzdXJlIiksKDAsUnMudHJhY2tEcmF3aW5nVG9vbFNlbGVjdGVkKSgibWVhc3VyZSIsIktleWJvYXJkIHNob3J0Y3V0IiksZXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSkpfQppZigoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fG51bGw9PT1jfHwhdGhpcy5fdHJ5U3RhcnRNZWFzdXJlKGUsbyxuLGMsaCkpJiYoZS5pc1RvdWNoJiYhZS5zdHlsdXN8fCF0aGlzLl90cnlGaW5pc2hNZWFzdXJlKGUsbykpJiYhKHRoaXMuX3RyeUZpbmlzaFpvb20oZSl8fG51bGwhPT1jJiZ0aGlzLl90cnlTdGFydFpvb20oZSxjLGgsbikpKXtpZihlLmlzVG91Y2gmJihudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50Pyh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249by5jdXJyZW50UG9pbnQoKSx0aGlzLl9zdGFydFRyYWNrUG9pbnQ9bmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSk6dGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCkmJm51bGw9PT10aGlzLl9jaGFydC50cmFja2luZ01vZGVQYW5lV2lkZ2V0KCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSksZS5pc1RvdWNoJiYodGhpcy5fcHJldmVudFNvdXJjZUNoYW5nZT1udWxsPT09dHx8IXMuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0LnNvdXJjZSkpLCF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSYmIXRoaXMuX2lzU2Nyb2xsaW5nKXtpZihlLmlzVG91Y2gmJiFlLnN0eWx1cyYmKCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpfHxudWxsIT09by5tZWFzdXJlUGFuZSgpLnZhbHVlKCkpKXJldHVybiB2b2lkIHRoaXMuX2luaXRUb29sQ3JlYXRpb25Nb2RlUGFyYW1zKGUpO2lmKG51bGwhPT1jJiYoKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpfHxzLmxpbmVCZWluZ0NyZWF0ZWQoKSkpcmV0dXJuIG4uc2hpZnQoKXx8cy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSksdm9pZCB0aGlzLl9tb3VzZURvd25FdmVudEZvckxpbmVUb29sKGUsbixoLGMpfWlmKCgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpJiZuLmFsdE9ubHkoKSl7ZS5pc1RvdWNoJiYhdGhpcy50cmFja2luZ01vZGVFbmFibGVkKCkmJnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7dC5jcmVhdGVIaWdobGlnaHRlcigpO2NvbnN0IGk9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChvLm9yaWdpblgoKSxvLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7aSYmdC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGkpfWVsc2V7aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fc291cmNlV2FzU2VsZWN0ZWQodCk7dC5oaXR0ZXN0LnRyeUNhbGxNb3VzZURvd25PclRvdWNoU3RhcnRIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KX1pZighdGhpcy5fY2hhcnQucmVhZE9ubHkoKSl7Y29uc3Qgcj10aGlzLl9oYW5kbGVTZWxlY3Rpb25Nb3VzZURvd25BbmRHZXRKdXN0RGVzZWxlY3RlZFNvdXJjZShlLHQsbik7aWYobnVsbCE9PXQmJiF0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXtjb25zdCBpPXQuaGl0dGVzdC5kYXRhKCk7aWYodC5pc0N1c3RvbSl7aWYodC5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihlKSlyZXR1cm4gcy5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZSh0LnNvdXJjZSxpKSx0aGlzLl9wcmV2ZW50U2Nyb2xsVW50aWxOZXh0TW91c2VEb3duT3JUb3VjaFN0YXJ0PSEwLHRoaXMuX2N1cnJlbnRNb3ZpbmdIaXRUZXN0PXtzb3VyY2VBdFBvaW50OnQsY2FuY2VsbGVkQ29udGFpbmVyOnMubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpPz92b2lkIDB9LHZvaWQgcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbigoMCxsLmVuc3VyZU5vdE51bGwpKHQuc291cmNlKSwoMCxsLmVuc3VyZU5vdE51bGwpKGkpKX0pKX1lbHNlIGlmKGk/LmFyZWFOYW1lPT09TWkuQXJlYU5hbWUuU291cmNlSXRlbU1vdmUpe2NvbnN0IG49aT8uYWN0aXZlSXRlbTtpZih2b2lkIDAhPT1uKXJldHVybiBzLnN0YXJ0Q3VzdG9tTW92aW5nKHQuc291cmNlLG4sZSksdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9e3NvdXJjZUF0UG9pbnQ6dH0sdm9pZCBzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKCgwLGwuZW5zdXJlTm90TnVsbCkodC5zb3VyY2UpLCgwLGwuZW5zdXJlTm90TnVsbCkoaSkpfSkpfX1pZihudWxsIT09dCYmdGhpcy5fdHJ5SGFuZGxlRXJhc2VyTW91c2VEb3duKHQsbikpcmV0dXJuO2NvbnN0IG89bnVsbCE9PXQmJigwLHJpLmlzTGluZVRvb2wpKHQuc291cmNlKSYmdC5zb3VyY2UuaXNMb2NrZWQmJnQuc291cmNlLmlzTG9ja2VkKCk7aWYoISgoMCxULmxvY2tEcmF3aW5ncykoKS52YWx1ZSgpfHxvKSYmbnVsbCE9PXQmJiF0LmlzQ3VzdG9tKXtpZighdC5zb3VyY2UudXNlckVkaXRFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHM9dC5oaXR0ZXN0LmRhdGEoKT8uc25hcHBpbmdQcmljZSxvPXQuaGl0dGVzdC5kYXRhKCk/LnNuYXBwaW5nSW5kZXg7bGV0IHU9ZS5sb2NhbFkscD1lLmxvY2FsWDtjb25zdCBfPXQuaGl0dGVzdC5kYXRhKCk/Lm93bmVyU291cmNlSWQsbT1fP2kuZGF0YVNvdXJjZUZvcklkKF8pOnQuc291cmNlLm93bmVyU291cmNlKCk7aWYodm9pZCAwIT09cyYmbnVsbCE9PWEmJih1PSgwLGwuZW5zdXJlKShtPy5wcmljZVNjYWxlKCkpLnByaWNlVG9Db29yZGluYXRlKHMsYSksYz1zKSx2b2lkIDAhPT1vJiYocD1pLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG8pLGg9byksdT09PWUubG9jYWxZJiZwPT09ZS5sb2NhbFh8fChlPXsuLi5lLGxvY2FsWTp1LGxvY2FsWDpwfSwKdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxuKSksdGhpcy5fdHJ5U3RhcnRDaGFuZ2luZ0xpbmVUb29sKGUsdCxuLGgpKXJldHVybiB2b2lkKHRoaXMuX2N1cnJlbnRDaGFuZ2luZ0xpbmVUb29sSGl0VGVzdD10KTtpZih0aGlzLl9jdXJyZW50Q2hhbmdpbmdMaW5lVG9vbEhpdFRlc3Q9bnVsbCwoZD10LmhpdHRlc3QudGFyZ2V0KCkpPT09TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludHx8ZD09PU1pLkhpdFRhcmdldC5Nb3ZlUG9pbnRCYWNrZ3JvdW5kJiYoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gpe2lmKHRoaXMuX3RyeVN0YXJ0Q2xvbmluZyhlLHQsbixyKSlyZXR1cm47aWYodGhpcy5fdHJ5U3RhcnRNb3ZpbmdMaW5lVG9vbChlLHQsbixoKSlyZXR1cm4gdm9pZCh0aGlzLl9jdXJyZW50TW92aW5nSGl0VGVzdD17c291cmNlQXRQb2ludDp0fSk7dGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbH19aWYobnVsbCE9PXQmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0LnNvdXJjZSkmJnQuc291cmNlLmlzRHJhZ2dhYmxlKCkmJnRoaXMuX3N0YXRlPy5oYXNEYXRhU291cmNlKHQuc291cmNlKSYmdGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS50cnlTZXREcmFnZ2luZ1NvdXJjZSh0LnNvdXJjZSx0aGlzKSlyZXR1cm59dmFyIGQ7bnVsbCE9PXQmJnQuaGl0dGVzdC50YXJnZXQoKT09PU1pLkhpdFRhcmdldC5SZWd1bGFyfHwodGhpcy5fcHJvY2Vzc2luZz0hMCl9fX1fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKXtpZighdGhpcy5oYXNTdGF0ZSgpKXJldHVybjt0aGlzLl9wcmVzc2VkTW92ZVN0YWdlPTA7Y29uc3QgdD1lLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQsaT1lLmlzVG91Y2gmJnRoaXMuX3dhc1BpbmNoZWQ7ZS5pc1RvdWNoJiYodGhpcy5fd2FzUGluY2hlZD0hMSx0aGlzLl9sb25nVGFwPSExKSx0aGlzLl9zdGFydE1vdmVTb3VyY2VQYXJhbXM9bnVsbCx0aGlzLl9zdGFydENoYW5nZUxpbmVUb29sUGFyYW1zPW51bGwsdGhpcy5fY3VycmVudENoYW5naW5nTGluZVRvb2xIaXRUZXN0PW51bGwsdGhpcy5fY3VycmVudE1vdmluZ0hpdFRlc3Q9bnVsbDtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCkuY3VzdG9tU291cmNlTW92aW5nSGl0VGVzdERhdGEoKTtudWxsIT09bnx8cy5jdXN0b21Nb3ZlQmVpbmdQcm9jZXNzZWQoKXx8dGhpcy5fcHJvY2Vzc01vdXNlVXBPclRvdWNoRW5kSGFuZGxlcihlKSx0aGlzLl9pc1NlbGVjdGluZz0hMTtjb25zdCByPXMubW9kZWwoKSxvPXIuY3Jvc3NoYWlyU291cmNlKCksYT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYoby5zZWxlY3Rpb24oKSYmbnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtjb25zdCBlPXRoaXMuc3RhdGUoKS5saW5lVG9vbHNGb3JBcmVhKG8uc2VsZWN0aW9uKCksKDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpKTtzLnNlbGVjdGlvbk1hY3JvKCh0PT57bGV0IGk9bnVsbDtlLmZvckVhY2goKGU9PntudWxsPT09aSYmKGk9dW4oYSxlKSksdC5hZGRJdGVtVG9TZWxlY3Rpb24oZSxpKX0pKX0pKSxvLmNsZWFyU2VsZWN0aW9uKCksKDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIk11bHRpc2VsZWN0IiwiQXJlYSBTZWxlY3QiKX0oMCwkLmVtaXQpKCJtb3VzZV91cCIse2NsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZLHBhZ2VYOmUucGFnZVgscGFnZVk6ZS5wYWdlWSxzY3JlZW5YOmUuc2NyZWVuWCxzY3JlZW5ZOmUuc2NyZWVuWX0pO2NvbnN0IGM9ZS5pc1RvdWNoJiZ0aGlzLl90b3VjaE1vdmU7ZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSExKTtjb25zdCBoPW5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpLGQ9VC50b29sLnZhbHVlKCk7aWYoZS5pc1RvdWNoJiYoKDAsVC50b29sSXNNZWFzdXJlKShkKXx8bnVsbCE9PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpKSl7aWYoIWMmJiFlLnN0eWx1cyYmbnVsbD09PW8ubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZvLnBhbmUhPT10aGlzLl9zdGF0ZSlyZXR1cm4gdm9pZCB0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZKTtpZighYyYmIWUuc3R5bHVzJiZ0aGlzLl90cnlTdGFydE1lYXN1cmUoZSxvLGgsby5wcmljZSxvLmluZGV4KSlyZXR1cm47aWYoKCFjfHxlLnN0eWx1cykmJnRoaXMuX3RyeUZpbmlzaE1lYXN1cmUoZSxvKSlyZXR1cm59aWYoZS5pc1RvdWNoJiYhYyYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJigwLG0uaXNMaW5lVG9vbE5hbWUpKGQpJiYhcy5saW5lQmVpbmdDcmVhdGVkKCkpe2lmKHRoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSlyZXR1cm47aWYoby5wYW5lIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihlLmxvY2FsWCxlLmxvY2FsWSxoKTtjb25zdCB0PW8uY3VycmVudFBvaW50KCksaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKSxuPSgwLGwuZW5zdXJlKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPXtpbmRleDpNYXRoLnJvdW5kKHMudGltZVNjYWxlKCkuY29vcmRpbmF0ZVRvSW5kZXgodC54KSkscHJpY2U6aS5jb29yZGluYXRlVG9QcmljZSh0Lnksbil9LGM9KDAsbC5lbnN1cmVOb3ROdWxsKShzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOnRoaXMuc3RhdGUoKSxwb2ludDpyLGxpbmV0b29sOmQsYWN0aW9uU291cmNlOiJEcmF3IixrZWVwU2VsZWN0ZWRHcm91cDohMH0pKTtyZXR1cm4gdGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby50b29sQ3JlYXRpb249ITApLHMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmFkZEl0ZW1Ub1NlbGVjdGlvbihjKX0pKSxzLmxpbmVCZWluZ0NyZWF0ZWQoKXx8KHRoaXMuX2ZpbmlzaFRvb2woYyxhKSxlLnByZXZlbnREZWZhdWx0KCkpLHZvaWQodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwpfWNvbnN0IHU9cy5saW5lQmVpbmdDcmVhdGVkKCkKO2lmKHUmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKHUudG9vbG5hbWUpJiZlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSl7aWYodGhpcy5fc3RhcnRUb3VjaFBvaW50PW51bGwsIWN8fGUuc3R5bHVzKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodS5sYXN0UG9pbnQoKSksaT1zLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKHtpbmRleDp0LmluZGV4LHByaWNlOnQucHJpY2V9LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTt0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb249bnVsbCxpJiYodGhpcy5fZmluaXNoVG9vbCh1LGEpLGUucHJldmVudERlZmF1bHQoKSl9cmV0dXJufWlmKG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludCYmdGhpcy5fZmlyc3Rab29tUG9pbnQuZHJhZ2dpbmdNb2RlKXJldHVybiB2b2lkIHRoaXMuX2ZpbmlzaFpvb20oZSk7aWYodGhpcy5fcHJvY2Vzc2luZz0hMSxzLmN1c3RvbU1vdmVCZWluZ1Byb2Nlc3NlZCgpKXJldHVybiB2b2lkIHMuZW5kQ3VzdG9tTW92aW5nKCk7aWYobnVsbCE9PW4pe2lmKG4uYmVpbmdNb3ZlZCYmIW4uY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGEpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSxuLm1vdXNlVXBIYW5kbGVyLG4udG91Y2hFbmRIYW5kbGVyKSx0aGlzLnNldEN1cnNvckZvclRvb2woKX1pZihyLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHZuKGUsbikpcmV0dXJufWlmKHIubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHMuZW5kQ2hhbmdpbmdMaW5ldG9vbCghMSksdm9pZCh0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZ0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCkpO2lmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikoZCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSl7Y29uc3QgdD1zLmxpbmVCZWluZ0NyZWF0ZWQoKTtudWxsIT09dCYmKHQuZmluaXNoKCksIkxpbmVUb29sQnJ1c2giPT09dC50b29sbmFtZSYmKDAsJC5lbWl0KSgiZHJhd2luZ19ldmVudCIsdC5pZCgpLCJjcmVhdGUiKSk7Y29uc3QgaT10aGlzLnN0YXRlKCkuZGVmYXVsdFByaWNlU2NhbGUoKTtpZihpLmlzRW1wdHkoKSlyZXR1cm47aWYoIXQpcmV0dXJuO2NvbnN0IG49KDAsbC5lbnN1cmUpKHQub3duZXJTb3VyY2UoKT8uZmlyc3RWYWx1ZSgpKSxyPWkuY29vcmRpbmF0ZVRvUHJpY2UoZS5sb2NhbFksbiksbz17aW5kZXg6TWF0aC5yb3VuZChzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSkscHJpY2U6cn07cmV0dXJuIHZvaWQgcy5jb250aW51ZUNyZWF0aW5nTGluZShvKX1jb25zdCBwPXIuY3Jvc3NoYWlyU291cmNlKCkuY3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpO2lmKHAuaXNUaGVyZVVuZmluaXNoZWRIaWdobGlnaHRlcigpKXJldHVybiB2b2lkIHAuZmluaXNoSGlnaGxpZ2h0ZXIoKTtpZihyLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiBzLmVuZE1vdmluZ1NvdXJjZSghMSwhMSksci5zb3VyY2VzQmVpbmdNb3ZlZCgpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5mb3JFYWNoKChlPT57dGhpcy5zZXRDdXJzb3JGb3JUb29sKGUpfSkpLHZvaWQgci5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suY3Vyc29yKCkpO2lmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpKXtjb25zdCB0PWUubG9jYWxYPj0wJiZlLmxvY2FsWDx0aGlzLl9zaXplLndpZHRoO2lmKCghYXx8YS5zb3VyY2UhPT1vKSYmdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLnN5bmNNb2RlbCgpO2lmKHQpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLnRpbWVTY2FsZSgpLnBvaW50cygpLnJvdWdoVGltZShzLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUubG9jYWxYKSwoKGUsaSk9PnQucHJvamVjdFRpbWUoZSxpKSkpO251bGwhPT1pJiZ0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5zeW5jU2Nyb2xsKDFlMyppLHRoaXMuX2NoYXJ0TW9kZWwoKSl9fX1jb25zdCBfPXRoaXMuX2lzU2Nyb2xsaW5nLGc9dGhpcy5fZW5kU2Nyb2xsKGUpLGY9dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpO2lmKG51bGwhPT1mKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJmkhPT10aGlzJiZpLnN0YXRlKCkubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSxzLm1lcmdlVG9QYW5lKGYsaS5zdGF0ZSgpKSk7aWYodGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KSlpZihyLmlzVW5tZXJnZUF2YWlsYWJsZUZvclNvdXJjZShmKSlnJiZzLnVuZG9IaXN0b3J5KCkudW5kbygpLHMudW5tZXJnZVRvTmV3Qm90dG9tUGFuZShmKTtlbHNle2NvbnN0IGU9ci5wYW5lcygpLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShyLnBhbmVGb3JTb3VyY2UoZikpLGk9ZS5pbmRleE9mKHQpO2khPT1lLmxlbmd0aC0xJiYoZyYmcy51bmRvSGlzdG9yeSgpLnVuZG8oKSx0Lm1heGltaXplZCgpLnZhbHVlKCkmJnMudG9nZ2xlTWF4aW1pemVkUGFuZSh0KSxzLm1vdmVQYW5lKGksZS5sZW5ndGgtMSkpfXRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUuY2xlYXJEcmFnZ2luZ1NvdXJjZSgpO2NvbnN0IG49dGhpcy5fY2hhcnQuZ2V0VGltZVNjYWxlKCk7biYmbi5yZXN0b3JlRGVmYXVsdEN1cnNvcigpO2NvbnN0IG89dGhpcy5fY2hhcnQucGFuZVdpZGdldHMoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgdD1vW2VdO3Q9PT10aGlzJiZhJiYhYS5pc0N1c3RvbT90LnNldEN1cnNvckZvclRvb2woYS5zb3VyY2V8fHZvaWQgMCk6dC5zZXRDdXJzb3JGb3JUb29sKCksdC5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5yZXN0b3JlRGVmYXVsdEN1cnNvcigpLHQucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCl9fQp0aGlzLl9jaGFydC5yZWFkT25seSgpfHx0fHxoLm1vZCgpfHxffHxpfHxudWxsIT09dGhpcy5fbGFzdEZpbmlzaGVkVG9vbElkfHxudWxsIT09YSYmIWEuaGl0dGVzdC5kYXRhKCk/LnNraXBTb3VyY2VTZWxlY3Rpb24mJihhLmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmR8fCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCkmJnMuc2VsZWN0aW9uTWFjcm8oKHQ9Pntjb25zdCBpPXt0eXBlOiJjaGFuZ2UiLG5ld1NlbGVjdGVkU291cmNlOmEuc291cmNlLGludGVyYWN0aW9uVHlwZTplLmlzVG91Y2g/InRvdWNoIjoicG9pbnRlciJ9O2lmKHQuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGkpKXt0LmNsZWFyU2VsZWN0aW9uKCk7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKGEuc291cmNlKTt0LmFkZEl0ZW1Ub1NlbGVjdGlvbihlLHVuKGEsZSkpfX0pKSxlLmlzVG91Y2gmJih0aGlzLl90b3VjaE1vdmU9ITEpfV9tb3VzZU9yVG91Y2hNb3ZlRXZlbnQoZSl7aWYoIXRoaXMuaGFzU3RhdGUoKSlyZXR1cm47dGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8mJih0aGlzLl9tb3VzZVRvdWNoRG93blVwSW5mby5tb3VzZU1vdmU9ITApLHRoaXMuX3Jlc2V0TWVhc3VyZUlmUmVxdWlyZWQoKTtjb25zdCB0PXRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKTt0aGlzLl9wcm9jZXNzTW91c2VFbnRlckxlYXZlTW92ZUhhbmRsZXJzKHQsZSk7Y29uc3QgaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpO2lmKCFpKXJldHVybjtjb25zdCBzPWUubG9jYWxYLG49ZS5sb2NhbFk7dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChzLG4pO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSk7aWYobnVsbD09PXRoaXMuX2ZpcnN0Wm9vbVBvaW50KXtpZih0aGlzLl91cGRhdGVIb3ZlcmVkU291cmNlKHQscixlKSwhZS5pc1RvdWNoJiZpLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1pLm1vZGVsKCkucGFuZUJlaW5nQ3JlYXRlZExpbmVPbigpO2lmKG51bGwhPT1lJiZlIT09dGhpcy5fc3RhdGUpcmV0dXJuIHZvaWQgdGhpcy5fc2V0Q3Vyc29yUG9zaXRpb25PbkV4dGVybmFsUGFuZShlLHMsbixyKX1lLmlzVG91Y2h8fHRoaXMuc2V0Q3Vyc29yUG9zaXRpb24ocyxuLHIpfWVsc2UgdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlLHIpfV9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpe2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5kcmFnRXhwb3J0RW5hYmxlZCgpLnZhbHVlKCkmJnZvaWQgMCE9PWUuYnV0dG9ucyYmIUJvb2xlYW4oMSZlLmJ1dHRvbnMpKXJldHVybjtpZighdGhpcy5oYXNTdGF0ZSgpfHx0aGlzLl9waW5jaGluZ3x8ZS5pc1RvdWNoJiZ0aGlzLl9jb250ZXh0TWVudU9wZW5lZE9uTGFzdFRhcClyZXR1cm47dGhpcy5fcHJlc3NlZE1vdmVTdGFnZT0yLHRoaXMuX21vdXNlVG91Y2hEb3duVXBJbmZvJiYodGhpcy5fbW91c2VUb3VjaERvd25VcEluZm8ubW91c2VNb3ZlPSEwKSx0aGlzLl9yZXNldE1lYXN1cmVJZlJlcXVpcmVkKCksdGhpcy5fc3RhcnRDaGFuZ2VPck1vdmVMaW5lVG9vbElmTmVlZGVkKCksZS5pc1RvdWNoJiYodGhpcy5fdG91Y2hNb3ZlPSEwLHRoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEpO2NvbnN0IHQ9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksaT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHM9aS5jcm9zc2hhaXJTb3VyY2UoKSxuPWUubG9jYWxYLHI9ZS5sb2NhbFk7aWYodGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uPW5ldyBQdC5Qb2ludChuLHIpLG51bGwhPT10aGlzLl9maXJzdFpvb21Qb2ludClyZXR1cm4gdGhpcy5fcHJvY2Vzc01vdXNlTW92ZVdoaWxlWm9vbShlKSx2b2lkKHRoaXMuX2ZpcnN0Wm9vbVBvaW50LmRyYWdnaW5nTW9kZT0hMCk7Y29uc3Qgbz1ULnRvb2wudmFsdWUoKTtpZihlLmlzVG91Y2gmJnRoaXMuX3N0YXJ0VG91Y2hQb2ludCYmKDAsbS5pc0xpbmVUb29sTmFtZSkobykmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKG8pJiYhaS5saW5lQmVpbmdDcmVhdGVkKCkmJiF0aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKSlyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHRoaXMuc3RhdGUoKSk7Y29uc3QgYT1zLm1lYXN1cmVQYW5lKCkudmFsdWUoKTtpZihlLmlzVG91Y2gmJih0aGlzLl9zdGFydFRvdWNoUG9pbnR8fGUuc3R5bHVzKSYmKCgwLFQudG9vbElzTWVhc3VyZSkobyl8fG51bGwhPT1hKSlyZXR1cm4gdm9pZChlLnN0eWx1cz90aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKTp0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLGF8fHRoaXMuc3RhdGUoKSkpO2NvbnN0IGM9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoZS5pc1RvdWNoJiYhZS5zdHlsdXMmJmMmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGMudG9vbG5hbWUpKXtpZih0aGlzLl9zdGFydFRvdWNoUG9pbnQpe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmVCZWluZ0NyZWF0ZWQoKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkubW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKTt0aGlzLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHMpfXJldHVybn1pZihlLmlzVG91Y2gmJm51bGwhPT10aGlzLl9zdGFydFRyYWNrUG9pbnQpe3RoaXMuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITE7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbiksaT1uZXcgUHQuUG9pbnQobixyKS5zdWJ0cmFjdCh0aGlzLl9zdGFydFRyYWNrUG9pbnQpLHM9ZS5hZGQoaSk7dGhpcy5zZXRDdXJzb3JQb3NpdGlvbihzLngscy55LHQpfWVsc2UgZS5pc1RvdWNoJiZ0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpfHx0aGlzLnNldEN1cnNvclBvc2l0aW9uKG4scix0KQo7Y29uc3QgaD10aGlzLl9pc1NlbGVjdFBvaW50TW9kZUVuYWJsZWQoKTtpZigoMCxtLmlzTGluZVRvb2xOYW1lKShvKSYmISgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikobykmJiFoJiYhdC5tb2QoKSlyZXR1cm47aWYoKDAsbS5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShvKSYmIWgpe2NvbnN0IHQ9aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChlLmxvY2FsWCxlLmxvY2FsWSwoMCxsLmVuc3VyZU5vdE51bGwpKHQub3duZXJTb3VyY2UoKSkpO3JldHVybiB2b2lkKHMmJmkuY29udGludWVDcmVhdGluZ0xpbmUocykpfWNvbnN0IGQ9aS5jcm9zc2hhaXJTb3VyY2UoKS5jcm9zc2hhaXJEZW1vbnN0cmF0aW9uKCk7aWYoZC5pc1RoZXJlVW5maW5pc2hlZEhpZ2hsaWdodGVyKCkpe2NvbnN0IGU9dGhpcy5fbG9jYWxDb29yZGluYXRlc1RvTGluZURhdGFTb3VyY2VQb2ludChzLm9yaWdpblgoKSxzLm9yaWdpblkoKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuc3RhdGUoKS5tYWluRGF0YVNvdXJjZSgpKSk7cmV0dXJuIHZvaWQoZSYmZC5hZGRIaWdobGlnaHRlclBvc2l0aW9uKGUpKX1pZihudWxsIT09dGhpcy5fcGFuZVdpZGdldHNTaGFyZWRTdGF0ZS5kcmFnZ2luZ1NvdXJjZSgpKXtjb25zdCB0PWUudGFyZ2V0LGk9dGhpcy5fY2hhcnQucGFuZUJ5Q2FudmFzKHQpO2kmJihpIT09dGhpcz9pLnNldERyYWdUb0Fub3RoZXJQYW5lQ3Vyc29yKCk6aS5zZXRDdXJzb3JGb3JUb29sKCkpO2NvbnN0IHM9dGhpcy5fY2hhcnQudGltZUF4aXNCeUNhbnZhcyh0KTtzJiZzLnNldEN1cnNvcigiZ3JhYmJpbmciKX1pZihpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdT10aGlzLl9vcHRpb25zLmhhbmRsZVNjcm9sbDtpZigoIXUucHJlc3NlZE1vdXNlTW92ZXx8ZS5pc1RvdWNoKSYmKCF1LmhvcnpUb3VjaERyYWcmJiF1LnZlcnRUb3VjaERyYWd8fCFlLmlzVG91Y2gpKXJldHVybjtpZih0aGlzLl9jaGFydE1vZGVsKCkuZHJhZ0V4cG9ydEVuYWJsZWQoKS52YWx1ZSgpJiZ0aGlzLl9pZ25vcmluZ01vdXNlTW92ZW1lbnQpcmV0dXJuO2lmKGkuY3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCkpcmV0dXJuIHZvaWQgaS5wcm9jZXNzQ3VzdG9tTW92ZShlKTtjb25zdCBwPWkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO2lmKG51bGwhPT1wJiYodGhpcy5fdXBkYXRlQ29tbW9uVG9vbHRpcChudWxsLCEwKSxwLmNhbmNlbGxlZHx8KGkubW9kZWwoKS5wcm9jZXNzaW5nQ3VzdG9tU291cmNlTW92ZSgpLCgwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25CZWZvcmVNb3VzZURvd24uaGFzKGkubW9kZWwoKS5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCkpfSxwLnByZXNzZWRNb3VzZU1vdmVIYW5kbGVyLHAudG91Y2hNb3ZlSGFuZGxlcikpLHZuKGUscCkpKXJldHVybjtpZihpLm1vZGVsKCkubGluZUJlaW5nRWRpdGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5zZXRDdXJzb3JQb3NpdGlvbihuLHIsdCk7aWYoaS5tb2RlbCgpLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKGkubW9kZWwoKS5zb3VyY2VzQmVpbmdNb3ZlZCgpLGUubG9jYWxYLGUubG9jYWxZLHQsaS5tb2RlbCgpLmxhc3RIaXR0ZXN0RGF0YSgpPy5wb3NzaWJsZU1vdmluZ0RpcmVjdGlvbnMpO2NvbnN0IF89dGhpcy5fZGF0YVNvdXJjZUF0UG9pbnQoZS5sb2NhbFgsZS5sb2NhbFkpO2lmKHRoaXMuX3RyeUZpbmlzaENsb25uaW5nKGUsbmV3IExpLkVudmlyb25tZW50U3RhdGUoZSksXykpcmV0dXJuO2NvbnN0IGc9KDAsVC50b29sSXNNZWFzdXJlKShvKXx8cy5zdGFydE1lYXN1cmVQb2ludCgpJiZzLmVuZE1lYXN1cmVQb2ludCgpO3RoaXMuX2NoYXJ0LnJlYWRPbmx5KCl8fCF0Lm1vZCgpfHwoMCxtLmlzTGluZVRvb2xOYW1lKShvKXx8Z3x8aD8odGhpcy5fcHJvY2Vzc1Njcm9sbChlKSx0aGlzLl9wcmV2ZW50U2Nyb2xsKCkmJiF0aGlzLl9wcmV2ZW50Q3Jvc3NIYWlyTW92ZSgpJiZudWxsPT09dGhpcy5fc3RhcnRUcmFja1BvaW50JiZ0aGlzLnNldEN1cnNvclBvc2l0aW9uKGUubG9jYWxYLGUubG9jYWxZLG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKSk6dGhpcy5faXNTZWxlY3Rpbmd8fChzLnN0YXJ0U2VsZWN0aW9uKHRoaXMuc3RhdGUoKSksdGhpcy5faXNTZWxlY3Rpbmc9ITApfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZighdClyZXR1cm47Y29uc3QgaT10LmNyb3NzaGFpclNvdXJjZSgpO2UuaXNUb3VjaHx8bnVsbCE9PWkubWVhc3VyZVBhbmUoKS52YWx1ZSgpJiZudWxsPT09aS5lbmRNZWFzdXJlUG9pbnQoKXx8dGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpO2lmKHRoaXMuX2NoYXJ0TW9kZWwoKS5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksbnVsbCE9PXRoaXMuX3ByZXZIb3ZlcmVkSGl0dGVzdCl7Y29uc3QgdD10aGlzLl9zb3VyY2VXYXNTZWxlY3RlZCh0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QpOygwLE1pLnRyeUNhbGxIYW5kbGVyKShlLHtzb3VyY2VXYXNTZWxlY3RlZDp0fSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3QuaGl0dGVzdC5kYXRhKCk/Lm1vdXNlTGVhdmVIYW5kbGVyKSx0aGlzLl9wcmV2SG92ZXJlZEhpdHRlc3Q9bnVsbH10aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKG51bGwpLHRoaXMuX2NoYXJ0LnNldEFjdGl2ZVBhbmVXaWRnZXQobnVsbCl9X21vdXNlRG91YmxlQ2xpY2tPckRvdWJsZVRhcEV2ZW50KGUpe2lmKCF0aGlzLmhhc1N0YXRlKCkpcmV0dXJuO2NvbnN0IHQ9IXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCkmJiEoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnRoaXMuX2RhdGFTb3VyY2VBdFBvaW50KGUubG9jYWxYLGUubG9jYWxZKXx8bnVsbCxpPXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKHQpCjtpZihudWxsIT09dCYmdC5pc0N1c3RvbSl0LmhpdHRlc3QudHJ5Q2FsbERibENsaWNrT3JEYmxUYXBIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOml9KTtlbHNlIGlmKG51bGwhPT10JiYoZS5pc1RvdWNofHx0LmhpdHRlc3QudGFyZ2V0KCk+TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQpKXQuaGl0dGVzdC50cnlDYWxsRGJsQ2xpY2tPckRibFRhcEhhbmRsZXIoZSx7c291cmNlV2FzU2VsZWN0ZWQ6aX0pJiYhKDAsTWkuc2hvdWxkRGVmYXVsdEFjdGlvbkJlRXhlY3V0ZWQpKGUsKDAsbC5lbnN1cmVOb3ROdWxsKSh0LmhpdHRlc3QuZGF0YSgpKSwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiZG91YmxlVGFwSGFuZGxlciIpfHx0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdD90LmhpdHRlc3Q6dm9pZCAwKTtlbHNlIGlmKCF0aGlzLl9jaGFydC5yZWFkT25seSgpJiYhKDAsbS5pc0xpbmVUb29sTmFtZSkoVC50b29sLnZhbHVlKCkpJiYhdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuX2NoYXJ0VW5kb01vZGVsKCkuc2VsZWN0aW9uKCkuaXNFbXB0eSgpKXtjb25zdCB0PXRoaXMuc3RhdGUoKTtuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKS5tb2QoKSYmIXQubWF4aW1pemVkKCkudmFsdWUoKT8odC5jb2xsYXBzZWQoKS52YWx1ZSgpfHx0LmNvbGxhcHNpbmdBdmFpbGFibGUoKS52YWx1ZSgpKSYmdGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVDb2xsYXBzZWRQYW5lKHRoaXMuc3RhdGUoKSk6dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50b2dnbGVNYXhpbWl6ZWRQYW5lKHRoaXMuc3RhdGUoKSl9fV9jb250ZXh0TWVudUV2ZW50KGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKTtpZih0LmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCkmJiF0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXApcmV0dXJuIHQuY3Jvc3NoYWlyU291cmNlKCkuY2xlYXJNZWFzdXJlKCksdm9pZCgwLFQucmVzZXRUb0N1cnNvcikoITApO2lmKHRoaXMuX3BpbmNoaW5nKXJldHVybjtpZihudWxsPT09dGhpcy5fZmlyc3Rab29tUG9pbnR8fHRoaXMuX3RyYWNrQ3Jvc3NoYWlyT25seUFmdGVyTG9uZ1RhcHx8dGhpcy5jYW5jZWxab29tKCksISgwLFQudG9vbElzQ3Vyc29yKShULnRvb2wudmFsdWUoKSl8fHRoaXMuX2lzU2VsZWN0UG9pbnRNb2RlRW5hYmxlZCgpKXtpZihlLmlzVG91Y2gpcmV0dXJuO3JldHVybigwLFQucmVzZXRUb0N1cnNvcikoITApLHRoaXMuc2V0Q3Vyc29yRm9yVG9vbCgpLHZvaWQodC5saW5lQmVpbmdDcmVhdGVkKCkmJnQuY2FuY2VsQ3JlYXRpbmdMaW5lKCkpfWlmKCF0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51RW5hYmxlZClyZXR1cm47Y29uc3QgaT10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSkscz1pP2kuc291cmNlOm51bGw7aWYoZS5pc1RvdWNoJiZudWxsIT09dGhpcy5fc3RhcnRUcmFja1BvaW50KXtpZih0aGlzLl9wcmV2ZW50U291cmNlQ2hhbmdlKXJldHVybjt0aGlzLl9jbGVhckN1cnNvclBvc2l0aW9uKCl9ZS5pc1RvdWNoJiYodGhpcy5fY29udGV4dE1lbnVPcGVuZWRPbkxhc3RUYXA9ITAsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwpLHRoaXMuX2NvbnRleHRNZW51WD1lLmxvY2FsWCx0aGlzLl9jb250ZXh0TWVudVk9ZS5sb2NhbFk7Y29uc3Qgbj1pJiZpLmhpdHRlc3Q/aS5oaXR0ZXN0LnRhcmdldCgpOjAscj1uPj1NaS5IaXRUYXJnZXQuUmVndWxhcnx8bj49TWkuSGl0VGFyZ2V0Lk1vdmVQb2ludEJhY2tncm91bmQmJmUuaXNUb3VjaDtpZih0LnNlbGVjdGlvbk1hY3JvKCh0PT57bnVsbCE9PXMmJnI/dC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHMpfHwodC5jbGVhclNlbGVjdGlvbigpLHQuYWRkSXRlbVRvU2VsZWN0aW9uKHMsdW4oaSxzKSkpOih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51LmdlbmVyYWwmJnRoaXMuX3Nob3dDb250ZXh0TWVudShlKSx0LmNsZWFyU2VsZWN0aW9uKCkpfSkpLG51bGwhPT1pJiZyJiZudWxsIT09cylpZigoMCxBaS5pc0RhdGFTb3VyY2UpKHMpJiZzLmhhc0NvbnRleHRNZW51KCkpcy5pc1NlbGVjdGlvbkVuYWJsZWQoKT90aGlzLnNob3dDb250ZXh0TWVudUZvclNlbGVjdGlvbihlLHZvaWQgMCxpLmhpdHRlc3QpOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcyhbc10sZSx2b2lkIDAsdm9pZCAwLGkuaGl0dGVzdCk7ZWxzZXtjb25zdCB0PXRoaXMuX3NvdXJjZVdhc1NlbGVjdGVkKGkpO2kuaGl0dGVzdC50cnlDYWxsQ29udGV4dE1lbnVIYW5kbGVyKGUse3NvdXJjZVdhc1NlbGVjdGVkOnR9KX19X29uTW91c2VFdmVudCgpe3RoaXMuX3ByZXZlbnRTb3VyY2VDaGFuZ2U9ITEsdGhpcy5fc3RhcnRUcmFja1BvaW50PW51bGwsdGhpcy5fdHJhY2tDcm9zc2hhaXJPbmx5QWZ0ZXJMb25nVGFwPSExfV9vblRvdWNoRXZlbnQoKXt0aGlzLl90cmFja0Nyb3NzaGFpck9ubHlBZnRlckxvbmdUYXA9ITB9X2xvY2FsQ29vcmRpbmF0ZXNUb0xpbmVEYXRhU291cmNlUG9pbnQoZSx0LGkpe2NvbnN0IHM9dGhpcy5zdGF0ZSgpLmRlZmF1bHRQcmljZVNjYWxlKCk7aWYocy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1uZXcgUHQuUG9pbnQoZSx0KSxyPSgwLGwuZW5zdXJlKShpLmZpcnN0VmFsdWUoKSk7cmV0dXJuIG4ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHIpLG4uaW5kZXg9TWF0aC5yb3VuZCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLnRpbWVTY2FsZSgpLmNvb3JkaW5hdGVUb0luZGV4KGUpKSxufV9zd2l0Y2hUcmFja2luZ01vZGVGcm9tQW5vdGhlclBhbmVJZk5lZWRlZChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0LnRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKTtpZihudWxsIT09dCYmdCE9PXRoaXMpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO3QuX2V4aXRUcmFja2luZ01vZGVPbk5leHRUcnk9ITAsdC5fdHJ5RXhpdFRyYWNraW5nTW9kZSghMCksCnRoaXMuc3RhcnRUcmFja2luZ01vZGUobmV3IFB0LlBvaW50KGUubG9jYWxYLGUubG9jYWxZKSxuZXcgUHQuUG9pbnQoaS54LGUubG9jYWxZKSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9fWFzeW5jIF9zaG93Q29udGV4dE1lbnUoZSl7Y29uc3QgdD1lPT5lIGluc3RhbmNlb2YgZXMuU2VwYXJhdG9yLGk9dGhpcy5fY3VzdG9tQWN0aW9ucygpLHM9KGF3YWl0IHRoaXMuX2luaXRBY3Rpb25zKGUpKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7aS5yZW1vdmUuZm9yRWFjaCgoZT0+e2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7dCsrKXtjb25zdCBpPXNbdF07aWYoaSBpbnN0YW5jZW9mIGVzLkFjdGlvbiYmaS5nZXRMYWJlbCgpPT09ZSl7cy5zcGxpY2UodCwxKTticmVha319fSkpO2NvbnN0IG49aS50b3AuY29uY2F0KHMpLmNvbmNhdChpLmJvdHRvbSk7Zm9yKGxldCBlPW4ubGVuZ3RoLTE7ZT4wO2UtLSl0KG5bZV0pJiZ0KG5bZS0xXSkmJm4uc3BsaWNlKGUsMSk7bi5sZW5ndGgmJnQoblswXSkmJm4uc3BsaWNlKDAsMSksbi5sZW5ndGgmJnQobltuLmxlbmd0aC0xXSkmJm4uc3BsaWNlKG4ubGVuZ3RoLTEsMSksTmkuQ29udGV4dE1lbnVNYW5hZ2VyLnNob3dNZW51KG4sZSx7c3RhdE5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSx7bWVudU5hbWU6IkNoYXJ0Q29udGV4dE1lbnUifSl9YXN5bmMgX2luaXRBY3Rpb25zKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnQuYWN0aW9ucygpLGk9W107aWYodGhpcy5fY2hhcnQubW9kZWwoKS5tb2RlbCgpLnJlc2V0U2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSYmKGkucHVzaCh0LmNoYXJ0UmVzZXQpLGkucHVzaChuZXcgZXMuU2VwYXJhdG9yKSksIXRoaXMuc3RhdGUoKS5pc0VtcHR5KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpe2NvbnN0e2NyZWF0ZVBhc3RlQWN0aW9uOnQsY3JlYXRlQWN0aW9uQ29weVByaWNlOnN9PWF3YWl0KDAsc3MuYWN0aW9uc1Byb3ZpZGVyTW9kdWxlKSgpLG49cyh0aGlzLnN0YXRlKCksZS5sb2NhbFkpLHI9dCh0aGlzLl9jaGFydCx0aGlzLnN0YXRlKCkpOyhufHxyKSYmKG4mJmkucHVzaChuKSxyJiZpLnB1c2gociksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKX1pZihHcy5hbGVydHNBdmFpbGFibGUmJnRoaXMuc3RhdGUoKS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJihpLmxlbmd0aCYmaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5zdGF0ZSgpLm1haW5EYXRhU291cmNlKCkpLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpKSl7Y29uc3QgdD0oYXdhaXQoMCxGcy5nZXRBbGVydHNDaGFydEFjdGlvbkNyZWF0b3JzKSgpKS5jcmVhdGVBbGVydCh0aGlzLl9jaGFydCx7bG9jYWxZOmUubG9jYWxZLHBhbmU6dGhpcy5zdGF0ZSgpfSk7bnVsbCE9PXQmJmkucHVzaCh0KX1pZih0aGlzLl9vcHRpb25zLmNvbnRleHRNZW51Lm1haW5TZXJpZXNUcmFkZSYmdGhpcy5jb250YWluc01haW5TZXJpZXMoKSl7Y29uc3R7Y3JlYXRlQWN0aW9uVHJhZGU6dH09YXdhaXQoMCxzcy5hY3Rpb25zUHJvdmlkZXJNb2R1bGUpKCkscz1hd2FpdCB0KHRoaXMuX2NoYXJ0LHRoaXMuX2NoYXJ0Lm9wdGlvbnMoKS5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcsZSk7cyYmaS5wdXNoKC4uLnMpfWlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHQubW92ZUNoYXJ0QWN0aW9uJiYhdC5tb3ZlQ2hhcnRBY3Rpb24uaXNEaXNhYmxlZCgpJiZpLnB1c2godC5tb3ZlQ2hhcnRBY3Rpb24sbmV3IGVzLlNlcGFyYXRvciksaS5wdXNoKHRoaXMuX2NyZWF0ZUxvY2tUaW1lQXhpc0FjdGlvbihlKSksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpO2NvbnN0IHM9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpOygwLHpzLmlzVGFibGVWaWV3QWxsb3dlZEZvclN5bWJvbCkocykmJnQub3BlblRhYmxlVmlldyYmaS5wdXNoKHQub3BlblRhYmxlVmlldyksdC5wYW5lT2JqZWN0VHJlZSYmaS5wdXNoKHQucGFuZU9iamVjdFRyZWUpLHQuYXBwbHlDb2xvclRoZW1lJiZpLnB1c2godC5hcHBseUNvbG9yVGhlbWUpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLHRoaXMuX2NoYXJ0LmFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzQXZhaWxhYmxlKCkmJihpLnB1c2godC5hcHBseVN0dWRpZXNUb0FsbENoYXJ0cyksaS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpKTtjb25zdCBuPXQucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scy5nZXRTdGF0ZSgpLmRpc2FibGVkO258fGkucHVzaCh0LnBhbmVSZW1vdmVBbGxEcmF3aW5nVG9vbHMpO2NvbnN0IHI9dC5wYW5lUmVtb3ZlQWxsU3R1ZGllcy5nZXRTdGF0ZSgpLmRpc2FibGVkO3JldHVybiByfHxpLnB1c2godC5wYW5lUmVtb3ZlQWxsU3R1ZGllcyksbiYmcnx8aS5wdXNoKG5ldyBlcy5TZXBhcmF0b3IpLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpJiZpLnB1c2godC5jaGFydFByb3BlcnRpZXMpLGlbaS5sZW5ndGgtMV1pbnN0YW5jZW9mIGVzLlNlcGFyYXRvciYmaS5wb3AoKSxpfV9sb2FkQW5kQ3JlYXRlTGVnZW5kV2lkZ2V0KCl7ClByb21pc2UuYWxsKFtpLmUoNDk2NzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg5NDk0OCksaS5lKDM2MjIyKSxpLmUoMjk1MzYpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMTcwODcpLGkuZSg3MDgxNSksaS5lKDkzNDE2KSxpLmUoMTIwNTEpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoODkwNDQpLGkuZSg0Mzc5MiksaS5lKDc4NDA0KSxpLmUoNTI5MjApLGkuZSg2MjYwMCksaS5lKDc1MjE3KSxpLmUoOTg2OTYpLGkuZSg2NTY3NSksaS5lKDkwNzQxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDIzNzQzKSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDY4NzI1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDY1NTg4KV0pLnRoZW4oaS5iaW5kKGksNjcxODE4KSkudGhlbigoZT0+e2lmKHRoaXMuX2lzRGVzdHJveWVkfHwhdGhpcy5fb3B0aW9ucy5sZWdlbmRXaWRnZXRFbmFibGVkfHx0aGlzLl9sZWdlbmRXaWRnZXQpcmV0dXJuO2NvbnN0IHQ9ZS5MZWdlbmRXaWRnZXQsaT0oMCx4aS5kZWVwRXh0ZW5kKSh7fSx0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldCk7aS5jYW5TaG93U291cmNlQ29kZT0hdGhpcy5fY2hhcnQub25XaWRnZXQoKSYmIUouQ2hlY2tNb2JpbGUuYW55KCksaS5yZWFkT25seU1vZGU9aS5yZWFkT25seU1vZGV8fHRoaXMuX2NoYXJ0LnJlYWRPbmx5KCksaS5zdGF0dXNlc1dpZGdldHM9e3NvdXJjZVN0YXR1c2VzRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZCxzb3VyY2VTdGF0dXNlczp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0fHx7fSxtYXJrZXRTdGF0dXNFbmFibGVkOnRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZCxkYXRhVXBkYXRlTW9kZUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5jaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkLGRhdGFVcGRhdGVNb2RlOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0fHx7fSxkYXRhUHJvYmxlbUVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbVdpZGdldEVuYWJsZWQscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCxhbGVydFN0YXR1c0VuYWJsZWQ6dGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWR9O2NvbnN0IHM9KDAsdS5jb21iaW5lKSgoKGUsdCk9PmduJiZ0aGlzLl9jaGFydCE9PWUmJiF0KSx0aGlzLl9jaGFydC5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY2hhcnQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9jay5jcm9zc2hhaXIud2Vha1JlZmVyZW5jZSgpKSxuPSgwLHUuY29tYmluZSkoKChlLHQpPT5udWxsIT09ZT9lPT09dGhpcy5fc3RhdGU6KDAsVC50b29sSXNNZWFzdXJlKSh0KSksdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkud2Vha1JlZmVyZW5jZSgpLFQudG9vbC53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2xlZ2VuZFdpZGdldD1uZXcgdCh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLHRoaXMsdGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxzLm93bmVyc2hpcCgpLHRoaXMuX3Zpc3VhbGx5Q29sbGFwc2VkLnNwYXduT3duZXJzaGlwKCksbi5vd25lcnNoaXAoKSxpLHtzaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb246dGhpcy5zaG93Q29udGV4dE1lbnVGb3JTZWxlY3Rpb24uYmluZCh0aGlzKSxzaG93Q29udGV4dE1lbnVGb3JTb3VyY2VzOnRoaXMuc2hvd0NvbnRleHRNZW51Rm9yU291cmNlcy5iaW5kKHRoaXMpLHNob3dDaGFydFByb3BlcnRpZXNGb3JTb3VyY2U6dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZS5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93R2VuZXJhbENoYXJ0UHJvcGVydGllczp0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMuX2NoYXJ0KSxzaG93T2JqZWN0c1RyZWVEaWFsb2c6dGhpcy5fY2hhcnQuc2hvd09iamVjdHNUcmVlRGlhbG9nLmJpbmQodGhpcy5fY2hhcnQpLG9uTGVnZW5kUm93Rm9jdXNlZDooKT0+e3RoaXMuX2NoYXJ0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNldFZhbHVlKHRoaXMuX2NoYXJ0KX19KTtjb25zdCByPXRoaXMuX2xlZ2VuZFdpZGdldC5nZXRFbGVtZW50KCk7ci5jbGFzc0xpc3QuYWRkKCJjaGFydC1ndWktd3JhcHBlcl9fbGVnZW5kIiksdGhpcy5fZGl2LnByZXBlbmQociksdGhpcy5fbGVnZW5kV2lkZ2V0LnVwZGF0ZUxheW91dCgpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVXaWRnZXRNb2RlQnlTaXplKHRoaXMuX3NpemUpLHRoaXMuX2xlZ2VuZFdpZGdldC51cGRhdGVUaGVtZWRDb2xvcnModGhpcy5fdGhlbWVkVG9wQ29sb3IpO2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20odGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXAua2V5cygpKSl0aGlzLl9sZWdlbmRXaWRnZXQuYWRkQ3VzdG9tV2lkZ2V0VG9MZWdlbmQoZSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLmdldChlKSkpfSkpfV9sb2FkQW5kQ3JlYXRlUGFuZUNvbnRyb2xzV2lkZ2V0KGUpewpQcm9taXNlLmFsbChbaS5lKDQ5Njc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoOTQ5NDgpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDExNDYxKSxpLmUoMjQ1ODEpLGkuZSg5NjU4NyksaS5lKDE3MDg3KSxpLmUoNzA4MTUpLGkuZSg5MzQxNiksaS5lKDEyMDUxKSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDg5MDQ0KSxpLmUoNDM3OTIpLGkuZSg3ODQwNCksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNjU2NzUpLGkuZSg5MDc0MSksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSgyMzc0MyksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg2ODcyNSksaS5lKDM2OTM4KSxpLmUoNjc5MzApLGkuZSg2NTU4OCldKS50aGVuKGkuYmluZChpLDI5NzcwNykpLnRoZW4oKHQ9PntpZih0aGlzLl9pc0Rlc3Ryb3llZHx8dGhpcy5fc3RhdGUhPT1lKXJldHVybjtjb25zdCBpPXQuUGFuZUNvbnRyb2xzV2lkZ2V0O3RoaXMuX3BhbmVDb250cm9scz1uZXcgaSh0aGlzLl9jaGFydFVuZG9Nb2RlbCgpLGUse2JhY2tncm91bmRUaGVtZU5hbWU6dGhpcy5fY2hhcnQuYmFja2dyb3VuZFRvcFRoZW1lKCksYW55U2VwYXJhdG9yU2VsZWN0ZWQ6dGhpcy5fYW55U2VwYXJhdG9yU2VsZWN0ZWQud2Vha1JlZmVyZW5jZSgpfSx0aGlzLl9kaXYpLHRoaXMuX3BhbmVDb250cm9scy51cGRhdGVXaWRnZXRNb2RlQnlXaWR0aCh0aGlzLl9zaXplLndpZHRoKSx0aGlzLl9wYW5lQ29udHJvbHMudXBkYXRlVGhlbWVkQ29sb3JzKHRoaXMuX3RoZW1lZFRvcENvbG9yKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlUmVzdHJpY3RMZWdlbmRXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLl9wYW5lQ29udHJvbHNSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkpLHRoaXMuX3BhbmVDb250cm9scy5nZXRFbGVtZW50KCkuY2xhc3NMaXN0LmFkZCgiY2hhcnQtZ3VpLXdyYXBwZXJfX3BhbmVDb250cm9scyIpLHRoaXMuX3N0YXRlPy5jb2xsYXBzZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydE1vZGVsKCkuZnVsbFVwZGF0ZSgpfSkpfV9oYW5kbGVSZXN0cmljdExlZ2VuZFdpZHRoKGUpe251bGwhPT10aGlzLl9sZWdlbmRXaWRnZXQmJm51bGwhPT10aGlzLl9wYW5lQ29udHJvbHMmJnRoaXMuX2xlZ2VuZFdpZGdldC5hZGRNYXJnaW4oZVtlLmxlbmd0aC0xXS5jb250ZW50UmVjdC53aWR0aCl9X29uTWFnbmV0U3RhdGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQuaXNBY3RpdmUoKS52YWx1ZSgpJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCl8fHRoaXMuX2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZSghMCkpJiZ0aGlzLl9jaGFydE1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkudmlzaWJsZSYmdGhpcy5fdXBkYXRlTGluZVRvb2xVc2luZ01hZ25ldE9yU2hpZnQoKX1fb25TaGlmdEtleVN0YXRlQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0LmlzQWN0aXZlKCkudmFsdWUoKSYmdGhpcy5faXNUb29sQWN0aW9uQWN0aXZlT25QYW5lKCExKSYmdGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnZpc2libGUmJnRoaXMuX3VwZGF0ZUxpbmVUb29sVXNpbmdNYWduZXRPclNoaWZ0KExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCgwLFh0LnNoaWZ0UHJlc3NlZCkoKS52YWx1ZSgpKSl9X2lzVG9vbEFjdGlvbkFjdGl2ZU9uUGFuZShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwoKSxpPXQubGluZUJlaW5nQ3JlYXRlZCgpfHx0LmxpbmVCZWluZ0VkaXRlZCgpfHx0LnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjAmJnQuc291cmNlc0JlaW5nTW92ZWQoKVswXTtyZXR1cm4gaT90LnBhbmVGb3JTb3VyY2UoaSk9PT10aGlzLl9zdGF0ZTplJiYoMCxtLmlzTGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJnQuY3Jvc3NoYWlyU291cmNlKCkucGFuZT09PXRoaXMuX3N0YXRlfV91cGRhdGVMaW5lVG9vbFVzaW5nTWFnbmV0T3JTaGlmdChlKXtpZihudWxsPT09dGhpcy5fcHJldk1vdmVFdmVudFBvc2l0aW9uKXJldHVybjtjb25zdHt4OnQseTppfT10aGlzLl9wcmV2TW92ZUV2ZW50UG9zaXRpb24scz10aGlzLl9jaGFydE1vZGVsKCkuc291cmNlc0JlaW5nTW92ZWQoKTtzLmxlbmd0aD4wPyhULmlzU3R1ZHlFZGl0aW5nTm93LnZhbHVlKCkmJnRoaXMuc2V0Q3Vyc29yUG9zaXRpb24odCxpLGUpLHRoaXMuX2FsaWduU291cmNlc1RoYXRCZWluZ01vdmVkKHMsdCxpLGUpKTp0aGlzLnNldEN1cnNvclBvc2l0aW9uKHQsaSxlKX1fc2hvd0VkaXREaWFsb2dGb3JTb3VyY2UoZSx0KXtpZih0aGlzLl9vcHRpb25zLnByb3BlcnR5UGFnZXNFbmFibGVkJiZlLnVzZXJFZGl0RW5hYmxlZCgpKWlmKGU9PT10aGlzLl9jaGFydFVuZG9Nb2RlbCgpLm1haW5TZXJpZXMoKSl0aGlzLl9jaGFydC5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSl8fCgwLHRpLmlzU3R1ZHkpKGUpfHxzaShlKSl7bGV0IGk7Y29uc3Qgcz10Py5kYXRhKCk7aWYobnVsbCE9cyl7Y29uc3QgZT1zLmFyZWFOYW1lO3ZvaWQgMCE9PWUmJihpPW1uLmdldChlKSl9dGhpcy5fY2hhcnQuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLGkpLnRoZW4oKGU9Pnt0aGlzLl9lZGl0RGlhbG9nPWV9KSl9fV9pbml0VG9vbENyZWF0aW9uTW9kZVBhcmFtcyhlKXt0aGlzLl9zdGFydFRvdWNoUG9pbnQ9bmV3IFB0LlBvaW50KGUucGFnZVgsZS5wYWdlWSksdGhpcy5faW5pdENyb3NzSGFpclBvc2l0aW9uPXRoaXMuX2NoYXJ0TW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKS5jdXJyZW50UG9pbnQoKX1fdXBkYXRlQ3Jvc3NoYWlyUG9zaXRpb25JblRvb2xDcmVhdGlvbk1vZGUoZSx0KXtpZih0IT09dGhpcy5fc3RhdGUpewpjb25zdCBpPXRoaXMuX2NoYXJ0LnBhbmVCeVN0YXRlKHQpO3JldHVybiBpLl9zdGFydFRvdWNoUG9pbnQ9dGhpcy5fc3RhcnRUb3VjaFBvaW50LGkuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj10aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24sdm9pZCBpLl91cGRhdGVDcm9zc2hhaXJQb3NpdGlvbkluVG9vbENyZWF0aW9uTW9kZShlLHQpfWNvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3RoaXMuX2NoYXJ0Lmp1c3RBY3RpdmF0ZWQoKSYmKHRoaXMuX2luaXRDcm9zc0hhaXJQb3NpdGlvbj1pLmN1cnJlbnRQb2ludCgpKTtjb25zdCBzPWUucGFnZVgsbj1lLnBhZ2VZLHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pbml0Q3Jvc3NIYWlyUG9zaXRpb24pLG89bmV3IFB0LlBvaW50KHMsbikuc3VidHJhY3QoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydFRvdWNoUG9pbnQpKSxhPXIuYWRkKG8pO3RoaXMuc2V0Q3Vyc29yUG9zaXRpb24oYS54LGEueSxuZXcgTGkuRW52aXJvbm1lbnRTdGF0ZShlKSl9X3ByaWNlQXhpc2VzQ29udGFpbmVyKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzUHJpY2VBeGlzZXNDb250YWluZXI6dGhpcy5fcmhzUHJpY2VBeGlzZXNDb250YWluZXJ9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZXMoZSl7Y29uc3QgdD10aGlzLnN0YXRlKCk7Zm9yKGNvbnN0IGkgb2YgdC5sZWZ0UHJpY2VTY2FsZXMoKSl0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLGUpO2Zvcihjb25zdCBpIG9mIHQucmlnaHRQcmljZVNjYWxlcygpKXQucmVjYWxjdWxhdGVQcmljZVNjYWxlKGksZSk7Zm9yKGNvbnN0IGkgb2YgdC5zb3VyY2VzQnlHcm91cCgpLm92ZXJsYXlQcmljZVNjYWxlU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKGkpfHx0LnJlY2FsY3VsYXRlUHJpY2VTY2FsZShpLnByaWNlU2NhbGUoKSxlKX1fY3JlYXRlTG9ja1RpbWVBeGlzQWN0aW9uKGUpe2NvbnN0IHQ9MD09PVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpPy50eXBlO3JldHVybiBuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuQ3Jvc3NoYWlyLkxvY2tWZXJ0aWNhbEN1cnNvciIsb3B0aW9uczp7bGFiZWw6bm4sc3RhdE5hbWU6IkxvY2tDdXJzb3JJblRpbWUiLGNoZWNrYWJsZTohMCxjaGVja2VkOnQsb25FeGVjdXRlOigpPT50aGlzLl90b2dnbGVMb2NrVGltZUF4aXMoZS5sb2NhbFgsIXQpfX0pfV90b2dnbGVMb2NrVGltZUF4aXMoZSx0KXtpZih0KXtjb25zdCB0PXRoaXMuX2NoYXJ0VW5kb01vZGVsKCkudGltZVNjYWxlKCksaT10LmNvb3JkaW5hdGVUb0luZGV4KGUpLHM9dC5wb2ludHMoKS5yb3VnaFRpbWUoaSk7aWYobnVsbCE9PXMpcmV0dXJuIHZvaWQgVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHt0eXBlOjAsdGltZTpzfSl9VC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKG51bGwpfV9wcmV2ZW50VG91Y2hFdmVudHNFeGNlcHRQaW5jaCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLmhhc1RvdWNoZXNPbk90aGVyUGFuZXModGhpcyl8fG51bGwhPT10aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlLnBpbmNoaW5nUGFuZSgpfV91cGRhdGVIb3ZlcmVkU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMuX2NoYXJ0VW5kb01vZGVsKCksbj1zLm1vZGVsKCk7bGV0IHI9ITE7Y29uc3Qgbz1lJiZlLnNvdXJjZSxhPXRoaXMuX2NoYXJ0LnJlYWRPbmx5KCk7aWYobi5jcm9zc2hhaXJTb3VyY2UoKS5pc1JlcGxheVNlbGVjdGlvbigpKXRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibm9uZSIpO2Vsc2UgaWYoISghYXx8ZSYmKDAscmkuaXNMaW5lVG9vbCkoZS5zb3VyY2UpKXx8dGhpcy5fZWRpdERpYWxvZyYmdGhpcy5fZWRpdERpYWxvZy52aXNpYmxlKCkudmFsdWUoKSlhJiYobi5zZXRIb3ZlcmVkU291cmNlKG51bGwsbnVsbCksdGhpcy5zZXRDdXJzb3JGb3JUb29sKCkpO2Vsc2V7Y29uc3QgbD1ULnRvb2wudmFsdWUoKTtsZXQgYz1udWxsO2lmKCF0aGlzLl9wcm9jZXNzaW5nJiYoKDAsVC50b29sSXNDdXJzb3IpKGwpfHwoMCxULnRvb2xJc0VyYXNlcikobCkmJiFhfHx0Lm1vZCgpfHwhcy5saW5lQmVpbmdDcmVhdGVkKCkpKXtjb25zdCB0PWU/LmhpdHRlc3Q7cj1Cb29sZWFuKHQ/LmRhdGEoKT8uaGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlciksdCYmdC50YXJnZXQoKT5NaS5IaXRUYXJnZXQuTW92ZVBvaW50QmFja2dyb3VuZD8oYz1vLCFvPy5pc0hvdmVyZWRFbmFibGVkKCl8fCgwLFQudG9vbElzRXJhc2VyKShsKSYmbz09PXMubWFpblNlcmllcygpP24uc2V0SG92ZXJlZFNvdXJjZShudWxsLG51bGwpOm4uc2V0SG92ZXJlZFNvdXJjZShvLHQuZGF0YSgpLDApKTpuLnNldEhvdmVyZWRTb3VyY2UobnVsbCxudWxsKX1hP3RoaXMuc2V0Q3Vyc29yRm9yVG9vbChjLHQsWXMuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCk6dGhpcy5fb3B0aW9ucy5zb3VyY2VTZWxlY3Rpb25FbmFibGVkJiYodGhpcy5faXNTZWxlY3RQb2ludE1vZGVFbmFibGVkKCk/dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJwb2ludGVyIik6dGhpcy5zZXRDdXJzb3JGb3JUb29sKGMsdCxlPy5oaXR0ZXN0LmRhdGEoKT8uY3Vyc29yVHlwZSkpO2NvbnN0IGg9bi5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCksZD1udWxsIT09aD9baF06bi5zb3VyY2VzQmVpbmdNb3ZlZCgpO2lmKCghZC5sZW5ndGh8fG51bGwhPT1lJiYtMT09PWQuaW5kZXhPZihlLnNvdXJjZSkpJiZ0aGlzLl91cGRhdGVDb21tb25Ub29sdGlwKGUpLCFhJiZudWxsIT09ZSYmaSYmZS5oaXR0ZXN0Lmhhc1ByZXNzZWRNb3ZlSGFuZGxlcihpKSl7c3dpdGNoKChlLmhpdHRlc3QuZGF0YSgpfHx7fSkuY3Vyc29yVHlwZSl7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5WZXJ0aWNhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIm5zLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuSG9yaXpvbnRhbFJlc2l6ZTp0aGlzLl9zZXRDdXJzb3JDbGFzc05hbWUoIndlLXJlc2l6ZSIpO2JyZWFrO2Nhc2UgWXMuUGFuZUN1cnNvclR5cGUuRGlhZ29uYWxOZVN3UmVzaXplOnRoaXMuX3NldEN1cnNvckNsYXNzTmFtZSgibmVzdy1yZXNpemUiKQo7YnJlYWs7Y2FzZSBZcy5QYW5lQ3Vyc29yVHlwZS5EaWFnb25hbE53U2VSZXNpemU6dGhpcy5fc2V0Q3Vyc29yQ2xhc3NOYW1lKCJud3NlLXJlc2l6ZSIpfX19dGhpcy5fcHJldmVudENyb3NzSGFpck1vdmUoKSYmdGhpcy5fY2xlYXJDdXJzb3JQb3NpdGlvbigpLDEhPT10aGlzLl9wcmVzc2VkTW92ZVN0YWdlJiZuLmNyb3NzaGFpclNvdXJjZSgpLnNldExpbmVzU2hvdWxkQmVIaWRkZW4ocil9YXN5bmMgX2NyZWF0ZUVycm9yQmxvY2soKXtyZXR1cm4gbmV3KGF3YWl0KDAsWHMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jdXN0b21BY3Rpb25zKCl7Y29uc3QgZT17dG9wOltdLGJvdHRvbTpbXSxyZW1vdmU6W119LHQ9dGhpcy5fY2hhcnRVbmRvTW9kZWwoKS50aW1lU2NhbGUoKSxpPXRoaXMuX3N0YXRlJiZ0aGlzLl9zdGF0ZS5kZWZhdWx0UHJpY2VTY2FsZSgpO2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjdXN0b21faXRlbXNfaW5fY29udGV4dF9tZW51IikpcmV0dXJuIGU7Y29uc3Qgcz10LmlzRW1wdHkoKT92b2lkIDA6dC5pbmRleFRvVXNlclRpbWUodC5jb29yZGluYXRlVG9JbmRleCh0aGlzLl9jb250ZXh0TWVudVgpKTtsZXQgbjtpZihpJiYhaS5pc0VtcHR5KCkpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnN0YXRlKCkubWFpbkRhdGFTb3VyY2UoKSkuZmlyc3RWYWx1ZSgpO249aS5jb29yZGluYXRlVG9QcmljZSh0aGlzLl9jb250ZXh0TWVudVksKDAsbC5lbnN1cmVOb3ROdWxsKShlKSl9cmV0dXJuKDAsJC5lbWl0KSgib25Db250ZXh0TWVudSIse3VuaXh0aW1lOm51bGwhPXM/cy5nZXRUaW1lKCkvMWUzOnZvaWQgMCxwcmljZTpuLGNhbGxiYWNrOnQ9PntbLi4udF0uZm9yRWFjaCgodD0+e2lmKHQudGV4dClpZih0LnRleHQubGVuZ3RoPjEmJiItIj09PXQudGV4dFswXSllLnJlbW92ZS5wdXNoKHQudGV4dC5zbGljZSgxKSk7ZWxzZXtsZXQgaTtpPSItIj09PXQudGV4dD9uZXcgZXMuU2VwYXJhdG9yOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5FeHRlcm5hbEFjdGlvbklkIixvcHRpb25zOntsYWJlbDp0LnRleHQsb25FeGVjdXRlOnQuY2xpY2t9fSksdC5wb3NpdGlvbiYmInRvcCI9PT10LnBvc2l0aW9uP2UudG9wLnB1c2goaSk6ZS5ib3R0b20ucHVzaChpKX19KSl9fSksZX1faGlnaGxpZ2h0UHJpY2VBeGlzZXNCeUxhYmVsKGUpe3RoaXMuX3N0YXRlPy5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXImJih0aGlzLl9saHNQcmljZUF4aXNlc0NvbnRhaW5lci5zZXRIaWdobGlnaHRlZFByaWNlQXhpc2VzKGUpLHRoaXMuX3Joc1ByaWNlQXhpc2VzQ29udGFpbmVyLnNldEhpZ2hsaWdodGVkUHJpY2VBeGlzZXMoZSkpfV9zdWJzY3JpYmVUb1N0YXRlKCl7Y29uc3QgZT10aGlzLnN0YXRlKCk7ZS5vbkRlc3Ryb3llZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3RhdGVEZXN0cm95ZWQsITApLGUuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCksZS5tYXhpbWl6ZWQoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVmlzdWFsbHlDb2xsYXBzZWQse2NhbGxXaXRoTGFzdDohMH0pLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkLHtjYWxsV2l0aExhc3Q6ITB9KSxlLm1heGltaXplZCgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVNYXhpbWl6ZWQse2NhbGxXaXRoTGFzdDohMH0pfV91bnN1YnNjcmliZUZyb21TdGF0ZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZSgpO2Uub25EZXN0cm95ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmRhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVZpc3VhbGx5Q29sbGFwc2VkKSxlLm1heGltaXplZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZU1heGltaXplZCksdGhpcy5fbWF4aW1pemVkLnNldFZhbHVlKCExKX1fdXBkYXRlQWNjZXNzaWJpbGl0eUF0dHIoKXtpZih0aGlzLmhhc1N0YXRlKCkmJnRoaXMuc3RhdGUoKS5pc01haW5QYW5lKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5zeW1ib2woKSxzPSgwLEkuZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbCkoZS5pbnRlcnZhbCgpKS5oaW50LG49cC50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0LGludGVydmFsOnN9fSxpKDYyODQzMCkpO3RoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4pfWVsc2UgdGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9YXN5bmMgX3VwZGF0ZUVuZE9mU2VyaWVzQmFubmVyKCl7e2NvbnN0IGU9KCk9PntpZih3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9zdGF0ZTtpZighZSlyZXR1cm4gdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKSxudWxsO2lmKCF0aGlzLl9jaGFydC5pc0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1vZGVsKCkubWFpblNlcmllcygpO2lmKCF0KXJldHVybiBudWxsO2lmKCFlLmlzTWFpblBhbmUoKS52YWx1ZSgpKXJldHVybiBudWxsO2lmKDI9PT10LnN0YXR1cygpfHx0LnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXJldHVybiB0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITEpLG51bGw7Y29uc3QgaT10LmJhcnMoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT1pP251bGw6e3N0YXRlOmUsc2VyaWVzOnQsZmlyc3RJbmRleDppfX0sdD0oKT0+e2lmKHRoaXMuX2xlZ2VuZFdpZGdldCl7Y29uc3QgZT10aGlzLl9sZWdlbmRXaWRnZXQuZ2V0RWxlbWVudCgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBlLmJvdHRvbS1lLnRvcH1yZXR1cm4gMH0KO2xldCBzPWUoKTtpZighc3x8ImVuZCI9PT1zLnNlcmllcy5lbmRPZkRhdGFUeXBlKCkpcmV0dXJuIHZvaWQgdGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5zZXRWaXNpYmxlKCExKTtzLnNlcmllcy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKCExKTtjb25zdCBuPXMuc2VyaWVzLmVuZE9mRGF0YVR5cGUoKSxyPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhdGUpLm1vZGVsKCkudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUocy5maXJzdEluZGV4KS1zLnN0YXRlLm1vZGVsKCkudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2lmKCF0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXImJiEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDczMTEpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoNTE4NCksaS5lKDEyMDUxKSxpLmUoMzgyNjIpLGkuZSg3NDI3MyksaS5lKDMyMzg3KSxpLmUoMzk2MDkpLGkuZSg5MTgzMyldKS50aGVuKGkuYmluZChpLDMxOTEyNikpO2lmKHM9ZSgpLCFzKXJldHVybjt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXJ8fCh0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI9bmV3IHQuRW5kT2ZTZXJpZXNCYW5uZXIsdGhpcy5fZGl2LmFwcGVuZENoaWxkKHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lci5lbGVtZW50KCkpKX1jb25zdCBvPXQoKTt0aGlzLl9lbmRPZlNlcmllc0RhdGFCYW5uZXI/LnNldFZpc2libGUoITApLHRoaXMuX2VuZE9mU2VyaWVzRGF0YUJhbm5lcj8udXBkYXRlKHMuc3RhdGUsbyxyLG4pO2NvbnN0IGE9dGhpcy5fZW5kT2ZTZXJpZXNEYXRhQmFubmVyPy5jdXJyZW50U2l6ZSgpO3Muc2VyaWVzLmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIobnVsbCE9PWEmJjAhPT1hKX19X3BhbmVEYmxDbGlja09yVGFwRXZlbnQoZSl7aWYodGhpcy5fY2hhcnQucmVhZE9ubHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9kYXRhU291cmNlQXRQb2ludChlLmxvY2FsWCxlLmxvY2FsWSk7aWYobnVsbCE9PXQmJigwLHJpLmlzRWRpdGFibGVUZXh0TGluZVRvb2wpKHQuc291cmNlKSl7Y29uc3QgZT10LnNvdXJjZS50ZXh0RWRpdGluZ0FjdGl2YXRpb25UaW1lKCk7bnVsbCE9PWUmJnBlcmZvcm1hbmNlLm5vdygpLWU8NTAwJiZ0aGlzLnByb2Nlc3NEb3VibGVDbGlja09uU291cmNlKHQuc291cmNlLHQuaGl0dGVzdCl9fX1jbGFzcyB3bntjb25zdHJ1Y3Rvcigpe3RoaXMuX2RyYWdnaW5nU291cmNlPW51bGwsdGhpcy5fYWN0aXZlVG91Y2hQYW5lcz1uZXcgU2V0LHRoaXMuX3Njcm9sbGluZ1BhbmU9bnVsbCx0aGlzLl9waW5jaGluZ1BhbmU9bnVsbH1vblBhbmVEZXN0cm95ZWQoZSl7dGhpcy5fYWN0aXZlVG91Y2hQYW5lcy5kZWxldGUoZSksdGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUmJih0aGlzLl9zY3JvbGxpbmdQYW5lPW51bGwpLHRoaXMuX3BpbmNoaW5nUGFuZT09PWUmJih0aGlzLl9waW5jaGluZ1BhbmU9bnVsbCl9c3RhcnRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmFkZChlKX1lbmRUb3VjaChlKXt0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLmRlbGV0ZShlKX1oYXNUb3VjaGVzT25PdGhlclBhbmVzKGUpe3JldHVybiB0aGlzLl9hY3RpdmVUb3VjaFBhbmVzLnNpemU+MXx8MT09PXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuc2l6ZSYmIXRoaXMuX2FjdGl2ZVRvdWNoUGFuZXMuaGFzKGUpfXRyeVNldERyYWdnaW5nU291cmNlKGUsdCl7cmV0dXJuIXRoaXMuaGFzVG91Y2hlc09uT3RoZXJQYW5lcyh0KSYmKCgwLGwuYXNzZXJ0KShudWxsPT09dGhpcy5fZHJhZ2dpbmdTb3VyY2V8fHRoaXMuX2RyYWdnaW5nU291cmNlPT09ZSksdGhpcy5fZHJhZ2dpbmdTb3VyY2U9ZSwhMCl9Y2xlYXJEcmFnZ2luZ1NvdXJjZSgpe251bGwhPT10aGlzLl9kcmFnZ2luZ1NvdXJjZSYmKHRoaXMuX2RyYWdnaW5nU291cmNlPW51bGwpfWRyYWdnaW5nU291cmNlKCl7cmV0dXJuIHRoaXMuX2RyYWdnaW5nU291cmNlfXNldFNjcm9sbGluZ1BhbmUoZSl7KDAsbC5hc3NlcnQpKG51bGw9PT1lfHxudWxsPT09dGhpcy5fc2Nyb2xsaW5nUGFuZXx8dGhpcy5fc2Nyb2xsaW5nUGFuZT09PWUpLHRoaXMuX3Njcm9sbGluZ1BhbmU9ZX1zY3JvbGxpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3Njcm9sbGluZ1BhbmV9c2V0UGluY2hpbmdQYW5lKGUpeygwLGwuYXNzZXJ0KShudWxsPT09ZXx8bnVsbD09PXRoaXMuX3BpbmNoaW5nUGFuZXx8dGhpcy5fcGluY2hpbmdQYW5lPT09ZSksdGhpcy5fcGluY2hpbmdQYW5lPWV9cGluY2hpbmdQYW5lKCl7cmV0dXJuIHRoaXMuX3BpbmNoaW5nUGFuZX19dmFyIENuPWkoNDY1Nzc3KSxQbj1pKDQ4Mzc4Myk7aSg2MTU1MjYpO2NvbnN0IFRuPSgwLFBlLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIik7dmFyIHhuOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSIsZVtlLk9mZnNldFNpemU9NV09Ik9mZnNldFNpemUifSh4bnx8KHhuPXt9KSk7Y29uc3QgTW49e2NvbnRleHRNZW51RW5hYmxlZDohMCx0aW1lem9uZU1lbnVFbmFibGVkOiEwLHByZXNzZWRNb3VzZU1vdmVTY2FsZTohMH0sSW49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKSxMbj1wLnQobnVsbCx2b2lkIDAsaSgxMDk5NTYpKTtjbGFzcyBBbntjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz1udWxsLHRoaXMuX29uTGFiZWxIb3ZlcmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vdXNlZG93bj0hMSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lPSJpbnZhbGlkIix0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKE1uKSx0fHx7fSksdGhpcy5jaGFydD1lLHRoaXMuX3Byb3BlcnRpZXM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcywKdGhpcy5fZWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXk9ImZsZXgiLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW47Y29uc3Qgcj1lLm1vZGVsKCkubW9kZWwoKS5yZW5kZXJlck9wdGlvbnNQcm92aWRlcigpLG89KCk9PnRoaXMuYmFja2dyb3VuZENvbG9yKCksbD0oKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZSBheGlzIGRvZXMgbm90IHN1cHBvcnQgcmVhbCBwcmljZSBzY2FsZXMiKX0sYz17dGl0bGVzUHJvdmlkZXI6aSxzdHViQ29udGV4dE1lbnVQcm92aWRlcjphc3luYyhlLHQpPT57Y29uc3QgaT1hd2FpdCBzKGUsdCksbj10aGlzLmdldENvbnRleHRNZW51QWN0aW9ucyghMCk7cmV0dXJuIDA9PT1uLmxlbmd0aD9pOmkuY29uY2F0KG5ldyBlcy5TZXBhcmF0b3Isbil9LGJhY2tncm91bmRCYXNlZFRoZW1lOm4uc3Bhd25Pd25lcnNoaXAoKSxvbkFjdGl2ZU9ySG92ZXJlZENoYXJ0OigwLHUuY29tYmluZSkoKChlLHQpPT5lfHx0KSx0aGlzLmNoYXJ0LmlzQWN0aXZlKCkud2Vha1JlZmVyZW5jZSgpLHRoaXMuY2hhcnQuaXNIb3ZlcmVkKCkud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSxyZW5kZXJlck9wdGlvbnNQcm92aWRlcjpyLGdldEJhY2tncm91bmRUb3BDb2xvcjpvLGdldEJhY2tncm91bmRCb3R0b21Db2xvcjpvLHJlcXVlc3RSZXBhaW50OigpPT57dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCkuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkpfSxzaG93SG9yaXpvbnRhbEJvcmRlcjohMH07dGhpcy5fbGhzU3R1YkNvbnRhaW5lcj1uZXcgamkodGhpcy5fcHJvcGVydGllcywibGVmdCIsbCxjLHRoaXMuX29wdGlvbnMucHJpY2VBeGlzTGFiZWxzT3B0aW9ucyx0aGlzKSx0aGlzLl9saHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkuc3Vic2NyaWJlKHRoaXMsKChlLHQpPT57dGhpcy5fb25MYWJlbEhvdmVyZWQuZmlyZShlLHQpfSkpLHRoaXMuX3Joc1N0dWJDb250YWluZXI9bmV3IGppKHRoaXMuX3Byb3BlcnRpZXMsInJpZ2h0IixsLGMsdGhpcy5fb3B0aW9ucy5wcmljZUF4aXNMYWJlbHNPcHRpb25zLHRoaXMpLHRoaXMuX3Joc1N0dWJDb250YWluZXIub25MYWJlbEhvdmVyZWQoKS5zdWJzY3JpYmUodGhpcywoKGUsdCk9Pnt0aGlzLl9vbkxhYmVsSG92ZXJlZC5maXJlKGUsdCl9KSksdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9saHNTdHViQ29udGFpbmVyLmdldEVsZW1lbnQoKSksdGhpcy5fY2VsbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NlbGwpLHRoaXMuX2NlbGwuY2xhc3NMaXN0LmFkZCgiY2hhcnQtbWFya3VwLXRhYmxlIiwidGltZS1heGlzIiksdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9IjI1cHgiLHRoaXMuX2R2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2R2LnN0eWxlLndpZHRoPSIxMDAlIix0aGlzLl9kdi5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2R2LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdGhpcy5fZHYuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fY2VsbC5hcHBlbmRDaGlsZCh0aGlzLl9kdiksdGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXI9KCk9PnRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCksdGhpcy5fY2FudmFzQmluZGluZz0oMCxLdC5jcmVhdGVCb3VuZENhbnZhcykodGhpcy5fZHYsKDAseXQuc2l6ZSkoe3dpZHRoOjE2LGhlaWdodDoxNn0pKSx0aGlzLl9jYW52YXNCaW5kaW5nLnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKTtjb25zdCBoPXRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudDtoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaC5zdHlsZS56SW5kZXg9IjEiLGguc3R5bGUubGVmdD0iMCIsaC5zdHlsZS50b3A9IjAiLHRoaXMuX3RvcENhbnZhc0JpbmRpbmc9KDAsS3QuY3JlYXRlQm91bmRDYW52YXMpKHRoaXMuX2R2LCgwLHl0LnNpemUpKHt3aWR0aDoxNixoZWlnaHQ6MTZ9KSksdGhpcy5fdG9wQ2FudmFzQmluZGluZy5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZCh0aGlzLl9jYW52YXNDb25maWd1cmVkSGFuZGxlcik7Y29uc3QgZD10aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQ7ZC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGQuc3R5bGUuekluZGV4PSIyIixkLnN0eWxlLmxlZnQ9IjAiLGQuc3R5bGUudG9wPSIwIix0aGlzLl9kdi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRFbGVtZW50KCkpLHRoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKSx0aGlzLnVwZGF0ZSgpLHRoaXMuX21pblZpc2libGVTcGFuPUNuLk1JTlVURV9TUEFOLHRoaXMuX21vdXNlRXZlbnRIYW5kbGVyPW5ldyB3aS5Nb3VzZUV2ZW50SGFuZGxlcih0aGlzLl90b3BDYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQsdGhpcyx7dHJlYXRWZXJ0VG91Y2hEcmFnQXNQYWdlU2Nyb2xsOiEwLHRyZWF0SG9yelRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMX0pLHRoaXMuc2l6ZT0oMCx5dC5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pfWRlc3Ryb3koKXt0aGlzLl9tb3VzZUV2ZW50SGFuZGxlci5kZXN0cm95KCksdGhpcy5fdG9wQ2FudmFzQmluZGluZy51bnN1YnNjcmliZVN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHRoaXMuX2NhbnZhc0NvbmZpZ3VyZWRIYW5kbGVyKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLmRpc3Bvc2UoKSx0aGlzLl9jYW52YXNCaW5kaW5nLnVuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQodGhpcy5fY2FudmFzQ29uZmlndXJlZEhhbmRsZXIpLHRoaXMuX2NhbnZhc0JpbmRpbmcuZGlzcG9zZSgpLAp0aGlzLl9yaHNTdHViQ29udGFpbmVyLm9uTGFiZWxIb3ZlcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5vbkxhYmVsSG92ZXJlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xoc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuX3Joc1N0dWJDb250YWluZXIuZGVzdHJveSgpLHRoaXMuY2hhcnQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVsZWFzZSgpfXNldEN1cnNvcihlKXtsZXQgdD0iIjsiZ3JhYmJpbmciIT09ZSYmImV3LXJlc2l6ZSIhPT1lfHwodD0idGltZS1heGlzLS1jdXJzb3ItIitlKSx0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lIT09dCYmKHRoaXMuX2N1cnJlbnRDdXJzb3JDbGFzc05hbWUmJnRoaXMuX2NlbGwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jdXJyZW50Q3Vyc29yQ2xhc3NOYW1lKSx0JiZ0aGlzLl9jZWxsLmNsYXNzTGlzdC5hZGQodCksdGhpcy5fY3VycmVudEN1cnNvckNsYXNzTmFtZT10LHRoaXMuX2NlbGwuc3R5bGUuY3Vyc29yKX1yZXN0b3JlRGVmYXVsdEN1cnNvcigpe3RoaXMuc2V0Q3Vyc29yKCIiKX1nZXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnR9b3B0aW1hbEhlaWdodCgpe2NvbnN0IGU9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtyZXR1cm4gTWF0aC5jZWlsKGUuYm9yZGVyU2l6ZStlLm9mZnNldFNpemUrZS5mb250U2l6ZStlLnBhZGRpbmdUb3ArZS5wYWRkaW5nQm90dG9tK2UubGFiZWxCb3R0b21PZmZzZXQpfXNldFNpemVzKGUsdCxpKXt0aGlzLnNpemUmJigwLHl0LmVxdWFsU2l6ZXMpKHRoaXMuc2l6ZSxlKXx8KHRoaXMuc2l6ZT1lLHRoaXMuX2NhbnZhc0JpbmRpbmcucmVzaXplQ2FudmFzRWxlbWVudChlKSx0aGlzLl90b3BDYW52YXNCaW5kaW5nLnJlc2l6ZUNhbnZhc0VsZW1lbnQoZSksdGhpcy5fY2VsbC5zdHlsZS53aWR0aD1lLndpZHRoKyJweCIsdGhpcy5fY2VsbC5zdHlsZS5oZWlnaHQ9ZS5oZWlnaHQrInB4IiksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTaXplcyhlLmhlaWdodCx0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNpemVzKGUuaGVpZ2h0LGkpfXJlbmRlcmVyT3B0aW9ucygpe2lmKCF0aGlzLl9yZW5kZXJlck9wdGlvbnN8fHRoaXMuX3JlbmRlcmVyT3B0aW9ucy5mb250U2l6ZSE9PXRoaXMuZm9udFNpemUoKSl7Y29uc3QgZT10aGlzLmZvbnRTaXplKCk7dGhpcy5fcmVuZGVyZXJPcHRpb25zPXtib3JkZXJTaXplOjEsb2Zmc2V0U2l6ZTo1LGZvbnRTaXplOmUsZm9udDooMCxSaS5tYWtlRm9udCkoZSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSx3aWR0aENhY2hlOm5ldyBCaS5UZXh0V2lkdGhDYWNoZSxwYWRkaW5nVG9wOjMqZS8xMixwYWRkaW5nQm90dG9tOjMqZS8xMixwYWRkaW5nSG9yaXpvbnRhbDo5KmUvMTIsbGFiZWxCb3R0b21PZmZzZXQ6NCplLzEyfX1yZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zfWJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpfWxpbmVDb2xvcigpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5saW5lQ29sb3IudmFsdWUoKTtpZigwPT09KDAseWkucGFyc2VSZ2JhKShlKVszXSl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKS5sYXN0UGFuZSgpO2lmKGUmJmUuY29sbGFwc2VkKCkudmFsdWUoKSlyZXR1cm4gdGhpcy5jaGFydC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuc2VwYXJhdG9yQ29sb3IudmFsdWUoKX1yZXR1cm4gZX10ZXh0Q29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50ZXh0Q29sb3IudmFsdWUoKX1mb250U2l6ZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCl9YmFzZUZvbnQoKXtyZXR1cm4oMCxSaS5tYWtlRm9udCkodGhpcy5mb250U2l6ZSgpLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWJhc2VCb2xkRm9udCgpe3JldHVybigwLFJpLm1ha2VGb250KSh0aGlzLmZvbnRTaXplKCksV2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSwiIiwiYm9sZCIpfWhhc0NhbnZhcyhlKXtyZXR1cm4gdGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZXx8dGhpcy5fdG9wQ2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50PT09ZX1vbkxhYmVsSG92ZXJlZCgpe3JldHVybiB0aGlzLl9vbkxhYmVsSG92ZXJlZH1nZXRTY3JlZW5zaG90RGF0YSgpe3JldHVybntjb250ZW50OnRoaXMuX2NhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudC50b0RhdGFVUkwoKSxjYW52YXM6dGhpcy5fY2FudmFzQmluZGluZy5jYW52YXNFbGVtZW50LGNvbnRlbnRXaWR0aDp0aGlzLnNpemUud2lkdGgsY29udGVudEhlaWdodDp0aGlzLnNpemUuaGVpZ2h0LGxoc1N0dWI6dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpLHJoc1N0dWI6dGhpcy5fcmhzU3R1YkNvbnRhaW5lci5nZXRTY3JlZW5zaG90RGF0YSgpfX1nZXRDb250ZXh0TWVudUFjdGlvbnMoZSl7Y29uc3QgdD10aGlzLmNoYXJ0LGk9dC5hY3Rpb25zKCkscz1bXTtpZihlfHwodC5tb2RlbCgpLnRpbWVTY2FsZSgpLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKSYmKHMucHVzaChpLnRpbWVTY2FsZVJlc2V0KSxzLnB1c2gobmV3IGVzLlNlcGFyYXRvcikpLHRoaXMuX29wdGlvbnMudGltZXpvbmVNZW51RW5hYmxlZCYmcy5wdXNoKGkuYXBwbHlUaW1lWm9uZSkscy5wdXNoKGkuc2Vzc2lvbkJyZWFrcykpLCF0Lm1vZGVsKCkubWFpblNlcmllcygpLmlzRFdNKCkpe2NvbnN0IGU9dC5tb2RlbCgpPy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKGUpewpjb25zdCBpPXQubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNlc3Npb25JZCxuPShlLnN1YnNlc3Npb25zfHxbXSkuZmlsdGVyKChlPT4hZS5wcml2YXRlJiYoVG58fCIyNGgiIT09ZS5pZCkpKS5zbGljZSgpLnNvcnQoUG4uY29tcGFyZVN1YnNlc3Npb25zRm9yTWVudSk7aWYobi5sZW5ndGg+MSl7Y29uc3Qgcj1lLnR5cGUsbz1uLm1hcCgoZT0+bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNldFNlc3Npb24iLG9wdGlvbnM6e2xhYmVsOigwLFBuLnRyYW5zbGF0ZVNlc3Npb25EZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyKSxjaGVja2FibGU6ITAsY2hlY2tlZDppLnZhbHVlKCk9PT1lLmlkLHN0YXROYW1lOiJTZXRTZXNzaW9uIixvbkV4ZWN1dGU6KCk9Pnt0Lm1vZGVsKCkuc2V0UHJvcGVydHkoaSxlLmlkLEluKX19fSkpKSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXRTZXNzaW9uIixvcHRpb25zOntsYWJlbDpMbixzdGF0TmFtZToiU2V0U2Vzc2lvbiIsc3ViSXRlbXM6b319KTtzLnB1c2goYSl9fX1yZXR1cm4hdC5vbldpZGdldCgpJiYoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiKSYmaS5zY2FsZXNQcm9wZXJ0aWVzJiYocy5sZW5ndGgmJnMucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxzLnB1c2goaS5zY2FsZXNQcm9wZXJ0aWVzKSksc311cGRhdGUoKXtpZighdGhpcy5jaGFydC5oYXNNb2RlbCgpKXJldHVybjtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKS5tYXJrcygpO2lmKGUpe3RoaXMuX21pblZpc2libGVTcGFuPUNuLllFQVJfU1BBTjtmb3IoY29uc3QgdCBvZiBlKXRoaXMuX21pblZpc2libGVTcGFuPU1hdGgubWluKHQuc3Bhbix0aGlzLl9taW5WaXNpYmxlU3Bhbil9fXVwZGF0ZVByaWNlQXhpc1N0dWJzKCl7Y29uc3QgZT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSx0PXRoaXMuY2hhcnQuaGFzTWF4aW1pemVkUGFuZSgpPygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jaGFydC5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCkpLnN0YXRlKCk6ZS5wYW5lRm9yU291cmNlKGUubWFpblNlcmllcygpKTtpZighdClyZXR1cm47Y29uc3QgaT1lLnByaWNlU2NhbGVTbG90c0NvdW50KCk7dGhpcy5fbGhzU3R1YkNvbnRhaW5lci5zZXRTY2FsZXMoW10saS5sZWZ0LHQubGVmdFByaWNlU2NhbGVzKCkubGVuZ3RoLGkubGVmdCtpLnJpZ2h0KSx0aGlzLl9yaHNTdHViQ29udGFpbmVyLnNldFNjYWxlcyhbXSxpLnJpZ2h0LHQucmlnaHRQcmljZVNjYWxlcygpLmxlbmd0aCxpLmxlZnQraS5yaWdodCl9cGFpbnQoZSl7aWYoZS5sZXZlbD09PUxlLkludmFsaWRhdGlvbkxldmVsLk5vbmV8fDA9PT10aGlzLnNpemUud2lkdGh8fDA9PT10aGlzLnNpemUuaGVpZ2h0KXJldHVybjsoMCxLdC50cnlBcHBseVN1Z2dlc3RlZENhbnZhc0JpdG1hcFNpemUpKHRoaXMuX2NhbnZhc0JpbmRpbmcpLCgwLEt0LnRyeUFwcGx5U3VnZ2VzdGVkQ2FudmFzQml0bWFwU2l6ZSkodGhpcy5fdG9wQ2FudmFzQmluZGluZyk7Y29uc3QgdD0oMCxLdC5nZXRDb250ZXh0MkQpKHRoaXMuX3RvcENhbnZhc0JpbmRpbmcuY2FudmFzRWxlbWVudCk7aWYoZS5sZXZlbD5MZS5JbnZhbGlkYXRpb25MZXZlbC5DdXJzb3Ipe2NvbnN0IGk9KDAsS3QuZ2V0Q29udGV4dDJEKSh0aGlzLl9jYW52YXNCaW5kaW5nLmNhbnZhc0VsZW1lbnQpLHM9KDAsS3QuZ2V0QmluZGluZ1JlbmRlcmluZ0luZm8pKHRoaXMuX2NhbnZhc0JpbmRpbmcpO3RoaXMuZHJhd0JhY2tncm91bmQoaSxzKSx0aGlzLmNoYXJ0Lmhhc01vZGVsKCkmJih0aGlzLmRyYXdCb3JkZXIoaSxzKSx0aGlzLmRyYXdUaWNrTWFya3MoaSxzKSx0aGlzLmRyYXdCYWNrTGFiZWxzKGkscyksdGhpcy5kcmF3Q3Jvc3NIYWlyTGFiZWwodCxzKSksdGhpcy5fbGhzU3R1YkNvbnRhaW5lci5wYWludFN0dWJzKGUpLHRoaXMuX3Joc1N0dWJDb250YWluZXIucGFpbnRTdHVicyhlKX10aGlzLmRyYXdDcm9zc0hhaXJMYWJlbCh0LCgwLEt0LmdldEJpbmRpbmdSZW5kZXJpbmdJbmZvKSh0aGlzLl90b3BDYW52YXNCaW5kaW5nKSl9ZHJhd0JhY2tncm91bmQoZSx0KXtpZigoMCxLdC5jbGVhclJlY3QpKGUsMCwwLHQuYml0bWFwU2l6ZS53aWR0aCx0LmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuYmFja2dyb3VuZENvbG9yKCkpLCF0aGlzLmNoYXJ0Lmhhc01vZGVsKCkpcmV0dXJuO2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpO2lmKCFpLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSl7Y29uc3Qgcz1pLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc0ZpeGVkKCkpKS5yZWR1Y2UoKChlLHQpPT57Y29uc3QgaT10LnRpbWVBeGlzUG9pbnRzKCk7cmV0dXJuIDA9PT1pLmxlbmd0aD9lOmUuY29uY2F0KGkpfSksW10pO3MubGVuZ3RoPjAmJnRoaXMuX2hpZ2hsaWdodEJhY2tncm91bmQoZSxzLHQpfWNvbnN0IHM9aS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpO3Muc3RhcnRNZWFzdXJlUG9pbnQoKSYmdGhpcy5faGlnaGxpZ2h0QmFja2dyb3VuZChlLHMubWVhc3VyZVBvaW50cygpLHQpfWRyYXdCb3JkZXIoZSx0KXtlLnNhdmUoKSxlLmZpbGxTdHlsZT10aGlzLmxpbmVDb2xvcigpO2NvbnN0IGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMucmVuZGVyZXJPcHRpb25zKCkuYm9yZGVyU2l6ZSp0LnZlcnRpY2FsUGl4ZWxSYXRpbykpLHM9dC5iaXRtYXBTaXplLndpZHRoO2UuZmlsbFJlY3QoMCwwLHMsaSksZS5yZXN0b3JlKCl9ZHJhd1RpY2tNYXJrcyhlLHQpe2NvbnN0IGk9dGhpcy5jaGFydC5tb2RlbCgpLnRpbWVTY2FsZSgpLm1hcmtzKCk7aWYoIWl8fDA9PT1pLmxlbmd0aClyZXR1cm47bGV0IHM9aS5yZWR1Y2UoKChlLHQpPT5lLnNwYW4+dC5zcGFuP2U6dCksaVswXSkuc3BhbjtzPjMwJiZzPDQwJiYocz0zMCksZS5zYXZlKCksZS5zdHJva2VTdHlsZT10aGlzLmxpbmVDb2xvcigpCjtjb25zdCBuPXRoaXMucmVuZGVyZXJPcHRpb25zKCkscj1uLmJvcmRlclNpemUrbi5vZmZzZXRTaXplK24ucGFkZGluZ1RvcCtuLmZvbnRTaXplLzI7ZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsZS5maWxsU3R5bGU9dGhpcy50ZXh0Q29sb3IoKSwoMCxLdC5kcmF3U2NhbGVkKShlLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8sdC52ZXJ0aWNhbFBpeGVsUmF0aW8sKCgpPT57ZS5mb250PXRoaXMuYmFzZUZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3BhbjxzJiZlLmZpbGxUZXh0KG4ubGFiZWwsbi5jb29yZCxyKX1lLmZvbnQ9dGhpcy5iYXNlQm9sZEZvbnQoKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgbj1pW3RdO24uc3Bhbj49cyYmZS5maWxsVGV4dChuLmxhYmVsLG4uY29vcmQscil9fSkpLGUucmVzdG9yZSgpfWRyYXdCYWNrTGFiZWxzKGUsdCl7ZS5zYXZlKCk7Y29uc3QgaT1uZXcgU2V0LHM9dGhpcy5jaGFydC5tb2RlbCgpLm1vZGVsKCk7bGV0IG49cy5kYXRhU291cmNlcygpO2NvbnN0IHI9cy5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCk7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlKTtzLmhvdmVyZWRTb3VyY2UoKSYmaS5hZGQocy5ob3ZlcmVkU291cmNlKCkpO2Zvcihjb25zdCBlIG9mIHMuc291cmNlc0JlaW5nTW92ZWQoKSlpLmFkZChlKTtjb25zdCBvPXMuY3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpO251bGwhPT1vJiZpLmFkZChvKTtjb25zdCBhPXMubGluZUJlaW5nRWRpdGVkKCk/P3MubGluZUJlaW5nQ3JlYXRlZCgpO2EmJmkuYWRkKGEpLGkuYWRkKHRoaXMuY2hhcnQubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKSksbj1uLmNvbmNhdChzLmN1c3RvbVNvdXJjZXMoKSk7Y29uc3QgbD10aGlzLnJlbmRlcmVyT3B0aW9ucygpO2ZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKXtjb25zdCByPW5bc107aWYoIWkuaGFzKHIpJiZyLnRpbWVBeGlzVmlld3Mpe2NvbnN0IGk9ci50aW1lQXhpc1ZpZXdzKCk7aWYoaSlmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLnJlbmRlcmVyKCkuZHJhdyhlLHQsbCl9fWUucmVzdG9yZSgpfWRyYXdDcm9zc0hhaXJMYWJlbChlLHQpe2Uuc2F2ZSgpLGUuY2xlYXJSZWN0KDAsMCx0LmJpdG1hcFNpemUud2lkdGgsdC5iaXRtYXBTaXplLmhlaWdodCk7Y29uc3QgaT10aGlzLmNoYXJ0Lm1vZGVsKCkubW9kZWwoKSxzPVtdLG49aS5saW5lQmVpbmdFZGl0ZWQoKT8/aS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobiYmbi50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW4udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3Qgcj1pLmN1c3RvbVNvdXJjZUJlaW5nTW92ZWQoKTt0aGlzLl9hZGRWaWV3c09yTWF4TWluKG51bGw9PT1yP1tdOltyXSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc291cmNlc0JlaW5nTW92ZWQoKSxzKSx0aGlzLl9hZGRWaWV3c09yTWF4TWluKGkuc2VsZWN0aW9uKCkuYWxsU291cmNlcygpLHMpO2NvbnN0IG89aS5ob3ZlcmVkU291cmNlKCk7aWYobyYmKDAsQWkuaXNEYXRhU291cmNlKShvKSYmIWkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZChvKSYmby50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPW8udGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZzLnB1c2goZSl9Y29uc3QgYT1pLmNyb3NzaGFpclNvdXJjZSgpLGw9YS50aW1lQXhpc1ZpZXdzJiZhLnRpbWVBeGlzVmlld3MoKTtsJiZsLmxlbmd0aCYmcy5wdXNoKGwpO2NvbnN0IGM9dGhpcy5yZW5kZXJlck9wdGlvbnMoKTtmb3IoY29uc3QgaSBvZiBzKWZvcihjb25zdCBzIG9mIGkpZS5zYXZlKCkscy5yZW5kZXJlcigpLmRyYXcoZSx0LGMpLGUucmVzdG9yZSgpO2UucmVzdG9yZSgpfW1vdXNlRG93bkV2ZW50KGUpe3RoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfXRvdWNoU3RhcnRFdmVudChlKXt0aGlzLl9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpLHRoaXMuX21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpfW1vdXNlRG93bk91dHNpZGVFdmVudCgpe3RoaXMuX291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpfXRvdWNoU3RhcnRPdXRzaWRlRXZlbnQoKXt0aGlzLl9vdXRzaWRlTW91c2VEb3duT3JUb3VjaFN0YXJ0RXZlbnQoKX1wcmVzc2VkTW91c2VNb3ZlRXZlbnQoZSl7dGhpcy5fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKX10b3VjaE1vdmVFdmVudChlKXt0aGlzLl9wcmVzc2VkTW91c2VPclRvdWNoTW92ZUV2ZW50KGUpfW1vdXNlVXBFdmVudChlKXt0aGlzLl9tb3VzZVVwT3JUb3VjaEVuZEV2ZW50KGUpfXRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fbW91c2VVcE9yVG91Y2hFbmRFdmVudChlKSx0aGlzLl9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpfWNvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX10b3VjaENvbnRleHRNZW51RXZlbnQoZSl7dGhpcy5fY29udGV4dE1lbnVPclRvdWNoQ29udGV4dE1lbnVFdmVudChlKX1tb3VzZUVudGVyRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoRW50ZXJFdmVudChlKX1tb3VzZUxlYXZlRXZlbnQoZSl7dGhpcy5fbW91c2VPclRvdWNoTGVhdmVFdmVudChlKX1tb3VzZURvdWJsZUNsaWNrRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9ZG91YmxlVGFwRXZlbnQoZSl7dGhpcy5fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl9X291dHNpZGVNb3VzZURvd25PclRvdWNoU3RhcnRFdmVudCgpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5fbW91c2Vkb3duJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9oaWdobGlnaHRCYWNrZ3JvdW5kKGUsdCxpKXtjb25zdCBzPXRoaXMuY2hhcnQubW9kZWwoKS50aW1lU2NhbGUoKTtsZXQgbj10WzBdLmluZGV4LHI9dFswXS5pbmRleAo7Zm9yKGxldCBlPTE7ZTx0Lmxlbmd0aDtlKyspbj1NYXRoLm1pbihuLHRbZV0uaW5kZXgpLHI9TWF0aC5tYXgocix0W2VdLmluZGV4KTtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpvfT1pLGE9TWF0aC5mbG9vcihzLmluZGV4VG9Db29yZGluYXRlKG4pKm8pLGw9TWF0aC5jZWlsKHMuaW5kZXhUb0Nvb3JkaW5hdGUocikqbyk7KDAsS3QuZmlsbFJlY3QpKGUsYSwwLGwtYSxpLmJpdG1hcFNpemUuaGVpZ2h0LHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYXhpc0hpZ2hsaWdodENvbG9yLnZhbHVlKCkpfV9hZGRWaWV3c09yTWF4TWluKGUsdCl7aWYoZS5sZW5ndGg8PTEpe2Zvcihjb25zdCBpIG9mIGUpaWYoaS50aW1lQXhpc1ZpZXdzKXtjb25zdCBlPWkudGltZUF4aXNWaWV3cygpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9fWVsc2UgdC5wdXNoKHRoaXMuX21pbk1heFZpZXdzKGUpKX1fbWluTWF4Vmlld3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0xLzAscz0tMS8wLG49bnVsbCxyPW51bGw7Zm9yKGNvbnN0IHQgb2YgZSlpZih0LnRpbWVBeGlzVmlld3Mpe2NvbnN0IGU9dC50aW1lQXhpc1ZpZXdzKCk7aWYoZSYmZS5sZW5ndGgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG89ZVt0XSxhPW8uY29vcmRpbmF0ZSgpO2E+PXMmJihzPWEscj1vKSxhPD1pJiYoaT1hLG49byl9fXJldHVybiByJiZ0LnB1c2gociksbiYmdC5wdXNoKG4pLHR9X3pvb21BdmFpbGFibGUoKXtjb25zdCBlPXRoaXMuY2hhcnQubW9kZWwoKS5tb2RlbCgpO3JldHVybiFlLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSYmZS56b29tRW5hYmxlZCgpJiZ0aGlzLl9vcHRpb25zLnByZXNzZWRNb3VzZU1vdmVTY2FsZSYmIXRoaXMuY2hhcnQuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9X21vdXNlRG93bk9yVG91Y2hTdGFydEV2ZW50KGUpe2lmKHRoaXMuX21vdXNlZG93bnx8IXRoaXMuX3pvb21BdmFpbGFibGUoKSlyZXR1cm47dGhpcy5fbW91c2Vkb3duPSEwO2NvbnN0IHQ9dGhpcy5jaGFydC5tb2RlbCgpO3QudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0LnN0YXJ0U2NhbGVUaW1lKGUubG9jYWxYKX1fcHJlc3NlZE1vdXNlT3JUb3VjaE1vdmVFdmVudChlKXt0aGlzLl96b29tQXZhaWxhYmxlKCkmJnRoaXMuY2hhcnQubW9kZWwoKS5zY2FsZVRpbWVUbyhlLmxvY2FsWCl9X21vdXNlVXBPclRvdWNoRW5kRXZlbnQoZSl7dGhpcy5fem9vbUF2YWlsYWJsZSgpJiYodGhpcy5fbW91c2Vkb3duPSExLHRoaXMuY2hhcnQubW9kZWwoKS5lbmRTY2FsZVRpbWUoKSx0aGlzLnJlc3RvcmVEZWZhdWx0Q3Vyc29yKCkpfV9jb250ZXh0TWVudU9yVG91Y2hDb250ZXh0TWVudUV2ZW50KGUpe3RoaXMuX29wdGlvbnMuY29udGV4dE1lbnVFbmFibGVkJiZOaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUodGhpcy5nZXRDb250ZXh0TWVudUFjdGlvbnMoKSxlLHtzdGF0TmFtZToiVGltZVNjYWxlQ29udGV4dE1lbnUifSx7bWVudU5hbWU6IlRpbWVTY2FsZUNvbnRleHRNZW51In0pfV9tb3VzZU9yVG91Y2hFbnRlckV2ZW50KGUpe3RoaXMuX3pvb21BdmFpbGFibGUoKSYmdGhpcy5zZXRDdXJzb3IoImV3LXJlc2l6ZSIpfV9tb3VzZU9yVG91Y2hMZWF2ZUV2ZW50KGUpe3RoaXMucmVzdG9yZURlZmF1bHRDdXJzb3IoKX1fbW91c2VEb3VibGVDbGlja09yRG91YmxlVGFwRXZlbnQoZSl7KDAsTXQudHJhY2tFdmVudCkoIkdVSSIsIkRvdWJsZSBjbGljayB0aW1lIHNjYWxlIiksdGhpcy5jaGFydC5tb2RlbCgpLnJlc2V0VGltZVNjYWxlKCl9fXZhciBrbj1pKDUyNzMyMyksRG49aS5uKGtuKSxFbj1pKDIxODgxNCksUm49KGkoODg5NTE1KSxpKDE3MjEwOSkpLFZuPWkoNzczMDg4KTtmdW5jdGlvbiBCbihlLHQpe3JldHVybiEheC5JbnRlcnZhbC5pc0VxdWFsKGUucmVzLHQucmVzKSYmKDAsVm4uYXJlRXF1YWxUaW1lRnJhbWVzKShlLnZhbCx0LnZhbCl9dmFyIE5uPWkoNzA0NTcyKSxPbj1pKDM0Mjc4KTtjb25zdCBXbj17ZHVyYXRpb246MjUwLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3MgRm57Y29uc3RydWN0b3IoZSl7dGhpcy5fb25GaW5pc2hDYWxsZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uV24sLi4uZX0sdGhpcy5fc3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfWdldFN0YXJ0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5mcm9tfWdldFBvc2l0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSk7cmV0dXJuIDE9PT10Pyh0aGlzLl9vcHRpb25zLm9uRmluaXNoJiYhdGhpcy5fb25GaW5pc2hDYWxsZWQmJih0aGlzLl9vcHRpb25zLm9uRmluaXNoKCEwKSx0aGlzLl9vbkZpbmlzaENhbGxlZD0hMCksdGhpcy5fb3B0aW9ucy50byk6KDAsT24ubGVycCkodGhpcy5fb3B0aW9ucy5mcm9tLHRoaXMuX29wdGlvbnMudG8sdGhpcy5fb3B0aW9ucy5lYXNpbmcodCkpfWZpbmlzaGVkKGUpe3JldHVybiAxPT09dGhpcy5fY2FsY3VsYXRlUHJvZ3Jlc3MoZSl9b25GaW5pc2goZSl7dGhpcy5fb25GaW5pc2hDYWxsZWR8fCh0aGlzLl9vcHRpb25zLm9uRmluaXNoPy4oZSksdGhpcy5fb25GaW5pc2hDYWxsZWQ9ITApfV9jYWxjdWxhdGVQcm9ncmVzcyhlKXtjb25zdCB0PWUtdGhpcy5fc3RhcnRUaW1lO3JldHVybiB0Pj10aGlzLl9vcHRpb25zLmR1cmF0aW9uPzE6dC90aGlzLl9vcHRpb25zLmR1cmF0aW9ufX12YXIgSG49aSgyODJlMyk7ZnVuY3Rpb24gem4oZSx0LGkscyl7bGV0IG49bnVsbDtpZihpLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKSl7Y29uc3Qgcj1pLmF2YWlsYWJsZUN1cnJlbmNpZXMoKS52YWx1ZSgpLG89dC5jdXJyZW5jeShyKSxhPWUuY3VycmVuY3koKTtudWxsIT09byYmbnVsbCE9PW8uc2VsZWN0ZWRDdXJyZW5jeSYmIW8uYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsJiZvLnNlbGVjdGVkQ3VycmVuY3khPT1hJiYocyYmbnVsbD09PWF8fG51bGwhPT1hJiZyPy5jb252ZXJ0aWJsZShhKSkmJihuPW8uc2VsZWN0ZWRDdXJyZW5jeSl9cmV0dXJuIG59CmNvbnN0IFVuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBjb2xsYXBzZWQgcGFuZSBzdGF0ZSIscC50KG51bGwsdm9pZCAwLGkoMTQ1MzY2KSkpO2NsYXNzIEduIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKFVuKSx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fcGFuZUluZGV4PXR9cmVkbygpe3RoaXMuX2NoYXJ0TW9kZWwudG9nZ2xlQ29sbGFwc2VkUGFuZSh0aGlzLl9wYW5lSW5kZXgpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnRvZ2dsZUNvbGxhcHNlZFBhbmUodGhpcy5fcGFuZUluZGV4KX19Y29uc3Qgam49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIixwLnQobnVsbCx2b2lkIDAsaSg3ODQxMjgpKSk7Y2xhc3MgcW4gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoam4pLHRoaXMuX21vZGVsPWU7Y29uc3QgaT1lLm1heGltaXplZFBhbmUoKS52YWx1ZSgpLHM9bnVsbD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZihpKTt0aGlzLl9tYXhpbWl6ZWRQYW5lSW5kZXg9dD09PWk/bnVsbDplLnBhbmVzKCkuaW5kZXhPZih0KSx0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4PXN9cmVkbygpe3RoaXMuX3NldE1heGltaXplZFBhbmUodGhpcy5fbWF4aW1pemVkUGFuZUluZGV4KX11bmRvKCl7dGhpcy5fc2V0TWF4aW1pemVkUGFuZSh0aGlzLl9wcmV2TWF4aW1pemVkUGFuZUluZGV4KX1fc2V0TWF4aW1pemVkUGFuZShlKXt0aGlzLl9tb2RlbC5zZXRNYXhpbWl6ZWRQYW5lKG51bGw9PT1lP251bGw6dGhpcy5fbW9kZWwucGFuZXMoKVtlXSl9fXZhciAkbj1pKDQzODUzOSksWW49aSg4MzY4MjgpO2NvbnN0IEtuPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0IixwLnQobnVsbCx2b2lkIDAsaSg5NjM1NTEpKSksWG49bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBhbGwgc2NhbGVzIHRvIHJpZ2h0IixwLnQobnVsbCx2b2lkIDAsaSg3OTEzNzEpKSksWm49KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5NZXJnZUFsbFNjYWxlcyIpO2NsYXNzIEpuIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzLG4scil7c3VwZXIociksdGhpcy5fbW9kZWw9ZSx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fdGFyZ2V0UG9zaXRpb249cyx0aGlzLl90YXJnZXRJbmRleD1uLHRoaXMuX3NjYWxlSWQ9aS5pZCgpLHRoaXMuX3NvdXJjZVBvc2l0aW9uPXQucHJpY2VTY2FsZVBvc2l0aW9uKGkpLCJvdmVybGF5IiE9PXRoaXMuX3NvdXJjZVBvc2l0aW9uJiYodGhpcy5fc291cmNlSW5kZXg9dC5wcmljZVNjYWxlSW5kZXgoaSx0aGlzLl9zb3VyY2VQb3NpdGlvbikpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSx0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9zY2FsZUlkKSk7ZS5tb3ZlUHJpY2VTY2FsZSh0LHRoaXMuX3RhcmdldFBvc2l0aW9uLHRoaXMuX3RhcmdldEluZGV4KSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZXMoKVt0aGlzLl9wYW5lSW5kZXhdLHQ9KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHRoaXMuX3NjYWxlSWQpKTtlLm1vdmVQcmljZVNjYWxlKHQsdGhpcy5fc291cmNlUG9zaXRpb24sdGhpcy5fc291cmNlSW5kZXgpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX19dmFyIFFuPWkoNjU2MTkxKTtjbGFzcyBlciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX2NyZWF0ZWRJZHM9W10sdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMSx0aGlzLl9tb2RlbD1lLHRoaXMuX3dpdGhvdXRTaGlmdD1pLHRoaXMuX29yaWdTdGF0ZXM9dC5tYXAoKGU9PmUuc3RhdGUoITApKSk7Y29uc3Qgbj1lLmxpbmVUb29sc0dyb3VwTW9kZWwoKTt0aGlzLl9vcmlnR3JvdXBzPXQubWFwKChlPT57Y29uc3QgdD1uLmdyb3VwRm9yTGluZVRvb2woZSk7cmV0dXJuIHQmJnQuaWR9KSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpO2xldCB0O3RoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnR8fCh0PSJDbG9uZSIsdGhpcy5fYWN0aW9uU291cmNlV2FzU2VudD0hMCk7Y29uc3QgaT10aGlzLl9vcmlnU3RhdGVzLm1hcCgoKGkscyk9Pntjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGkuaWQpKSxyPTA9PT10aGlzLl9jcmVhdGVkSWRzLmxlbmd0aD92b2lkIDA6KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVkSWRzW3NdKSxvPSgwLHJpLmNsb25lTGluZVRvb2wpKHRoaXMuX21vZGVsLG4sIXRoaXMuX3dpdGhvdXRTaGlmdCxyLHQpO3ZvaWQgMCE9PWkuc2hhcmluZ01vZGUmJm8uc2hhcmUoaS5zaGFyaW5nTW9kZSk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKG4ucHJpY2VTY2FsZSgpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UobikpLmFkZERhdGFTb3VyY2UobyxhLCExKTtjb25zdCBjPXRoaXMuX29yaWdHcm91cHNbc107aWYobnVsbCE9PWMpe2NvbnN0IHQ9ZS5ncm91cEZvcklkKGMpO3QmJnQuYWRkSXRlbXMoW29dKX1yZXR1cm4gdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKG8pLG99KSk7MD09PXRoaXMuX2NyZWF0ZWRJZHMubGVuZ3RoJiYodGhpcy5fY3JlYXRlZElkcz1pLm1hcCgoZT0+ZS5pZCgpKSkpLHRoaXMuX21vZGVsLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGkuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMuX21vZGVsLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKQo7dGhpcy5fY3JlYXRlZElkcy5mb3JFYWNoKCh0PT57Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSkscz1lLmdyb3VwRm9yTGluZVRvb2woaSk7bnVsbCE9PXMmJnMuZXhjbHVkZUl0ZW0oaSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGkpfSkpfW5ld0lkcygpe3JldHVybiB0aGlzLl9jcmVhdGVkSWRzfX12YXIgdHI9aSg4NDg3ODUpLGlyPWkoNDY3NTM5KSxzcj1pKDc2NTg3MSk7Y2xhc3MgbnIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHM9ITApe3N1cGVyKGkscywoMCxzci5zb3VyY2VzQWZmZWN0U3RhdGUpKHQpKSx0aGlzLl9uZXdTdGF0ZXM9W10sdGhpcy5fbW9kZWw9ZSx0aGlzLl9zYXZlZFN0YXRlcz10Lm1hcCgoZT0+ZS5zdGF0ZSghMSkpKX1yZWRvKCl7dGhpcy5fYXBwbHlTdGF0ZSh0aGlzLl9uZXdTdGF0ZXMpfXVuZG8oKXswPT09dGhpcy5fbmV3U3RhdGVzLmxlbmd0aCYmdGhpcy5zYXZlTmV3U3RhdGUoKSx0aGlzLl9hcHBseVN0YXRlKHRoaXMuX3NhdmVkU3RhdGVzKX1zYXZlTmV3U3RhdGUoKXtjb25zdCBlPXRoaXMuX3NhdmVkU3RhdGVzLmZpbHRlcihhLm5vdE51bGwpLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZS5pZCkpKSk7dGhpcy5fbmV3U3RhdGVzPWUubWFwKChlPT5lLnN0YXRlKCExKSkpfV9hcHBseVN0YXRlKGUpe2Zvcihjb25zdCB0IG9mIGUpaWYobnVsbCE9PXQpe2NvbnN0IGU9dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpO2lmKG51bGwhPT1lKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBpPXQuc3RhdGUuaW5wdXRzLHM9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2Zvcihjb25zdCBlIGluIGkpc1tlXSYmc1tlXS5zZXRWYWx1ZShpW2VdKX1lbHNle2NvbnN0IGk9ZTt0aGlzLl9tb2RlbC5yZXN0b3JlTGluZVRvb2xTdGF0ZShpLHQsITApLGkuc3luY2hyb25pemVBbGVydCghMCl9fX19dmFyIHJyPWkoOTk5OTc0KTtjbGFzcyBvciBleHRlbmRzIHJyLk1vdmVTb3VyY2VVbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKSx0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGUpKSxpPXRoaXMuX2NoYXJ0TW9kZWwuY2hpbGRyZW4oZSwhMCwhMCk7dC5idWxrQWN0aW9uTWFjcm8oKCgpPT57aS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLmRldGFjaFNvdXJjZShlKSkpLHRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpfSkpO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5jcmVhdGVQYW5lKHRoaXMudGFyZ2V0UGFuZUluZGV4KGUpKSxuPXMuZmluZFN1aXRhYmxlU2NhbGUoZSk7cy5idWxrQWN0aW9uTWFjcm8oKCgpPT57cy5hZGREYXRhU291cmNlKGUsbiwhMSksaS5mb3JFYWNoKChlPT5zLmFkZERhdGFTb3VyY2UoZSxuLCExKSkpfSkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSk7ci5yZXN0b3JlU3RhdGUodGhpcy5fbmV3UHJpY2VTY2FsZVN0YXRlKHMuaXNPdmVybGF5KGUpKSksci5zZXRIZWlnaHQocy5oZWlnaHQoKSksdGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShlKSksaT10aGlzLl9jaGFydE1vZGVsLmNoaWxkcmVuKGUsITAsITApO3QuYnVsa0FjdGlvbk1hY3JvKCgoKT0+e2kuZm9yRWFjaCgoZT0+dGhpcy5fY2hhcnRNb2RlbC5kZXRhY2hTb3VyY2UoZSkpKTtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKGUpOygwLGwuYXNzZXJ0KSh0LCJVbmRvIG9mIGRldGFjaGluZyBtdXN0IHJlbW92ZSBwYW5lIil9KSk7Y29uc3Qgcz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5faW5pdGlhbFBhbmVJbmRleF07bGV0IG49cy5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9pbml0aWFsUHJpY2VTY2FsZUlkKTtudWxsPT09biYmKG49cy5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbih0aGlzLl9pbml0aWFsUHJpY2VTY2FsZVBvc2l0aW9uLHRoaXMuX2luaXRpYWxQcmljZVNjYWxlSW5kZXgpKSxzLmJ1bGtBY3Rpb25NYWNybygoKCk9PntzLmFkZERhdGFTb3VyY2UoZSxuLCEwKSxpLmZvckVhY2goKGU9PnMuYWRkRGF0YVNvdXJjZShlLG4sITEpKSl9KSk7Y29uc3Qgcj0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtyLnJlc3RvcmVTdGF0ZSh0aGlzLl9vcmlnaW5hbFByaWNlU2NhbGVTdGF0ZSgpKSxyLnNldEhlaWdodChzLmhlaWdodCgpKSx0aGlzLl9jaGFydE1vZGVsLmZ1bGxVcGRhdGUoKX19Y2xhc3MgYXIgZXh0ZW5kcyBvcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpfXRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4KzE7Zm9yKGxldCBlPXRoaXMuX2luaXRpYWxQYW5lSW5kZXgrMTtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gZTx0Lmxlbmd0aC0xJiZ0W2VdLmNvbnRhaW5zTWFpblNlcmllcygpJiZ0W2UrMV0ubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/ZSsxOmU7cmV0dXJuIHQubGVuZ3RofX1jbGFzcyBsciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9CnRhcmdldFBhbmVJbmRleChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtpZighdFt0aGlzLl9pbml0aWFsUGFuZUluZGV4XS5jb250YWluc01haW5TZXJpZXMoKXx8ZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKXJldHVybiB0aGlzLl9pbml0aWFsUGFuZUluZGV4O2ZvcihsZXQgZT10aGlzLl9pbml0aWFsUGFuZUluZGV4LTE7ZT49MDtlLS0paWYodFtlXS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpcmV0dXJuIGU+MCYmdFtlXS5jb250YWluc01haW5TZXJpZXMoKSYmdFtlLTFdLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0P2UtMTplO3JldHVybiAwfX1jbGFzcyBjciBleHRlbmRzIG9ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSl9dGFyZ2V0UGFuZUluZGV4KCl7cmV0dXJuIHRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGh9fXZhciBocj1pKDk2NDU3MyksZHI9aSg5MDA3OTcpLHVyPWkoNzc1ODY5KSxwcj1pKDUyMzc2NSksX3I9aSg0NTYyMyk7Y29uc3QgbXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3JlYXRlIHt0b29sfSIscC50KG51bGwsdm9pZCAwLGkoNTQ5OTg2KSkpO2NsYXNzIGdyIGV4dGVuZHMgcHIuTGluZVRvb2xTeW5jaHJvbml6ZVVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKHttb2RlbDplLHBhbmU6dCxsaW5lVG9vbDppLG93bmVyU291cmNlOnMsZHJhd09uQWxsQ2hhcnRzTW9kZTpuPTAsaWQ6cixrZWVwU2VsZWN0ZWRHcm91cDpvPSExfSl7c3VwZXIoZSxtci5mb3JtYXQoe3Rvb2w6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhpLF9yLmxpbmVUb29sc0xvY2FsaXplZE5hbWVzW2ldKX0pLCExLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9saW5lSWQ9bnVsbCx0aGlzLl9saW5lU3RhdGU9bnVsbCx0aGlzLl9wYW5lSW5kZXg9ZS5wYW5lcygpLmluZGV4T2YodCksdGhpcy5fbGluZVRvb2w9aSx0aGlzLl9vd25lclNvdXJjZUlkPXMuaWQoKSx0aGlzLl9saW5lSWQ9cj8/bnVsbCx0aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlPW4sdGhpcy5fa2VlcFNlbGVjdGVkR3JvdXA9b31rZWVwU2VsZWN0ZWRHcm91cCgpe3JldHVybiB0aGlzLl9rZWVwU2VsZWN0ZWRHcm91cH1zdGFydENyZWF0aW5nTGluZShlLHQsaSxzLG4scil7Y29uc3Qgbz10aGlzLl9jaGFydE1vZGVsLnBhbmVzKClbdGhpcy5fcGFuZUluZGV4XSxhPXRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX293bmVyU291cmNlSWQpfHx2b2lkIDAsbD10aGlzLl9jaGFydE1vZGVsLmNyZWF0ZUxpbmVUb29sKHtwYW5lOm8scG9pbnQ6ZSxsaW5ldG9vbDp0aGlzLl9saW5lVG9vbCxwcm9wZXJ0aWVzOnQsbGlua0tleTppLHNoYXJpbmdNb2RlOnMsb3duZXJTb3VyY2U6YSxpZDp0aGlzLl9saW5lSWQ/P3ZvaWQgMCxmcm9tRXh0ZXJuYWxNb2RlbDpuLGFjdGlvblNvdXJjZTpyfSk7cmV0dXJuIHRoaXMuX2xpbmVJZD1sLmlkKCksdGhpcy5fZnJvbUV4dGVybmFsTW9kZWw9biwhdGhpcy5fY2hhcnRNb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyl7KDAsbC5hc3NlcnQpKHRoaXMuX2xpbmVJZD09PXRoaXMuX2NoYXJ0TW9kZWwubGluZUJlaW5nQ3JlYXRlZCgpPy5pZCgpLCJDYW5ub3QgY29udGludWUgbm90IGxlYXN0IGNyZWF0ZWQgbGluZSIpO2NvbnN0IG49dGhpcy5fY2hhcnRNb2RlbC5jb250aW51ZUNyZWF0aW5nTGluZShlLHQsaSxzLHRoaXMuX2Zyb21FeHRlcm5hbE1vZGVsKTtyZXR1cm4gbiYmdGhpcy5fY2hhcnRNb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKSxufWxpbmUoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2xpbmVJZD9udWxsOnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX2xpbmVJZCl9ZHJhd09uQWxsQ2hhcnRzKCl7cmV0dXJuIDAhPT10aGlzLl9kcmF3T25BbGxDaGFydHNNb2RlfV9yZWRvKCl7aWYobnVsbD09PXRoaXMuX2xpbmVTdGF0ZSlyZXR1cm47Y29uc3QgZT10aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTb3VyY2UoITEsdGhpcy5fcGFuZUluZGV4LG51bGwsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lU3RhdGUpLG51bGwpO251bGwhPT1lJiYodGhpcy5fbGluZUlkPWUuaWQoKSx0aGlzLl9saW5lU3RhdGU9bnVsbCxlLnNoYXJlKHRoaXMuX2RyYXdPbkFsbENoYXJ0c01vZGUpKX1fdW5kbygpe2NvbnN0IGU9dGhpcy5saW5lKCk7bnVsbCE9PWUmJih0aGlzLl9saW5lU3RhdGU9ZS5zdGF0ZSghMSksdGhpcy5fY2hhcnRNb2RlbC5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZUlkPW51bGwpfX1jb25zdCBmcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IHRvIGZyb250IixwLnQobnVsbCx2b2lkIDAsaSgzODY1MjIpKSksU3I9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2VuZCB7dGl0bGV9IHRvIGJhY2siLHAudChudWxsLHZvaWQgMCxpKDUwMTUwNykpKSx2cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0VGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSgxMDg2MDIpKSkseXI9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iLHAudChudWxsLHZvaWQgMCxpKDc4MTcyMSkpKSxicj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDU0MDAzOCkpKSx3cj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDg4NzI4MikpKSxDcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzZW5kIGdyb3VwIHt0aXRsZX0gYmFja3dhcmQiLHAudChudWxsLHZvaWQgMCxpKDUxNzYyMikpKSxQcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJicmluZyBncm91cCB7dGl0bGV9IGZvcndhcmQiLHAudChudWxsLHZvaWQgMCxpKDYwMjQzMSkpKTtmdW5jdGlvbiBUcihlKXsKcmV0dXJuIG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZS5uYW1lKCksZS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfWNsYXNzIHhyIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsKDAsc3Iuc291cmNlc0FmZmVjdFN0YXRlKSh0KSksdGhpcy5fc291cmNlc0J5UGFuZXM9bmV3IE1hcCx0aGlzLl9vcmlnaW5hbFN0YXRlPW5ldyBNYXAsdGhpcy5fbW9kZWw9ZSx0LmZvckVhY2goKHQ9Pntjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKSxzPWUucGFuZXMoKS5pbmRleE9mKGkpLG49dGhpcy5fc291cmNlc0J5UGFuZXMuZ2V0KHMpfHxbXTtuLnB1c2godC5pZCgpKSx0aGlzLl9zb3VyY2VzQnlQYW5lcy5zZXQocyxuKX0pKSxBcnJheS5mcm9tKHRoaXMuX3NvdXJjZXNCeVBhbmVzLmtleXMoKSkuZm9yRWFjaCgodD0+e2NvbnN0IGk9ZS5wYW5lcygpW3RdLHM9bmV3IE1hcCxuPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLm11bHRpcGFuZVNvdXJjZXMoKSk7aS5zb3VyY2VzQnlHcm91cCgpLmFsbEluY2x1ZGluZ0hpZGRlbigpLmZpbHRlcigoZT0+IW4uaGFzKGUpKSkuZm9yRWFjaCgoZT0+e3Muc2V0KGUuaWQoKSxlLnpvcmRlcigpKX0pKSx0aGlzLl9vcmlnaW5hbFN0YXRlLnNldCh0LHMpfSkpfXVuZG8oKXt0aGlzLl9vcmlnaW5hbFN0YXRlLmZvckVhY2goKChlLHQpPT57Y29uc3QgaT10aGlzLl9tb2RlbC5wYW5lcygpW3RdLHM9bmV3IE1hcDtlLmZvckVhY2goKChlLHQpPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkuZGF0YVNvdXJjZUZvcklkKHQpKTtzLnNldChuLGUpfSkpLGkuc2V0Wk9yZGVycyhzKX0pKX1yZWRvKCl7dGhpcy5fc291cmNlc0J5UGFuZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBpPXRoaXMuX21vZGVsLnBhbmVzKClbdF0scz1lLm1hcCgoZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShpLmRhdGFTb3VyY2VGb3JJZChlKSkpKTt0aGlzLl9wYW5lT3BlcmF0aW9uKGkscyl9KSl9fWNsYXNzIE1yIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsZnIuZm9ybWF0KHt0aXRsZTpUcih0WzBdKX0pKX1fcGFuZU9wZXJhdGlvbihlLHQpe2UuYnJpbmdUb0Zyb250KHQpfX1jbGFzcyBJciBleHRlbmRzIHhye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LFNyLmZvcm1hdCh7dGl0bGU6VHIodFswXSl9KSl9X3BhbmVPcGVyYXRpb24oZSx0KXtlLnNlbmRUb0JhY2sodCl9fWNsYXNzIExyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRBZnRlcih0LHRoaXMuX3RhcmdldFNvdXJjZSl9fWNsYXNzIEFyIGV4dGVuZHMgTHJ7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpLHZyLmZvcm1hdCh7dGl0bGU6VHIodFswXSksdGFyZ2V0VGl0bGU6VHIoaSl9KSl9fWNsYXNzIGtyIGV4dGVuZHMgeHJ7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoZSx0LHMpLHRoaXMuX3RhcmdldFNvdXJjZT1pfV9wYW5lT3BlcmF0aW9uKGUsdCl7ZS5pbnNlcnRCZWZvcmUodCx0aGlzLl90YXJnZXRTb3VyY2UpfX1jbGFzcyBEciBleHRlbmRzIGtye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSx5ci5mb3JtYXQoe3RpdGxlOlRyKHRbMF0pLHRhcmdldFRpdGxlOlRyKGkpfSkpfX1mdW5jdGlvbiBFcihlLHQpe2NvbnN0IGk9dFswXSxzPWUuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLmZpbHRlcigoZT0+ZS56b3JkZXIoKTxpLnpvcmRlcigpKSk7aWYoMD09PXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IG1vdmUgYmFja3dhcmQgc291cmNlIHRoYXQgYWxyZWFkeSBvbiBiYWNrIik7bGV0IG49c1tzLmxlbmd0aC0xXTtpZigoMCxyaS5pc0xpbmVUb29sKShuKSl7Y29uc3QgdD1lLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wobik7bnVsbCE9PXQmJihuPXQubGluZVRvb2xzKClbMF0pfXJldHVybiBufWNsYXNzIFJyIGV4dGVuZHMga3J7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsaSxFcih0LGkpLGJyLmZvcm1hdCh7dGl0bGU6VHIoaVswXSl9KSl9fWZ1bmN0aW9uIFZyKGUsdCl7Y29uc3QgaT10W3QubGVuZ3RoLTFdLHM9ZS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCkuZmlsdGVyKChlPT5lLnpvcmRlcigpPmkuem9yZGVyKCkpKTtpZigwPT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYnJpbmcgZm9yd2FyZCBzb3VyY2UgdGhhdCBhbHJlYWR5IG9uIGJhY2siKTtsZXQgbj1zWzBdO2lmKCgwLHJpLmlzTGluZVRvb2wpKG4pKXtjb25zdCB0PWUubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChuKTtpZihudWxsIT09dCl7Y29uc3QgZT10LmxpbmVUb29scygpO249ZVtlLmxlbmd0aC0xXX19cmV0dXJuIG59Y2xhc3MgQnIgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSxpLFZyKHQsaSksd3IuZm9ybWF0KHt0aXRsZTpUcihpWzBdKX0pKX19ZnVuY3Rpb24gTnIoZSx0KXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUucGFuZUZvclNvdXJjZSh0LmxpbmVUb29scygpWzBdKSl9Y2xhc3MgT3IgZXh0ZW5kcyBrcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxFcihOcihlLHQpLHQubGluZVRvb2xzKCkpLENyLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19Y2xhc3MgV3IgZXh0ZW5kcyBMcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdC5saW5lVG9vbHMoKSxWcihOcihlLHQpLHQubGluZVRvb2xzKCkpLFByLmZvcm1hdCh7dGl0bGU6dC5uYW1lKCkudmFsdWUoKX0pKX19dmFyIEZyPWkoNjk0Mzg5KTtjb25zdCBIcj1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZWFycmFuZ2UgcGFuZXMiLHAudChudWxsLHZvaWQgMCxpKDc5NzQ5MSkpKTtjbGFzcyB6ciBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpewppZihzdXBlcihIciksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2luZGV4PXQsKDAsYS5pc051bWJlcikoaSkpdGhpcy5fZHN0SW5kZXg9aTtlbHNle2NvbnN0IHM9InVwIj09PWk/LTE6MTt0aGlzLl9kc3RJbmRleD10K3MsZS5wYW5lcygpW3RoaXMuX2RzdEluZGV4XS5tb2RlKCk9PT1Gci5QYW5lTW9kZS5XaWRnZXQmJih0aGlzLl9kc3RJbmRleD10aGlzLl9kc3RJbmRleCtzKX19cmVkbygpe3RoaXMuX2NoZWNrSW5kaWNlcygpJiZ0aGlzLl9jaGFydE1vZGVsLm1vdmVQYW5lKHRoaXMuX2luZGV4LHRoaXMuX2RzdEluZGV4KX11bmRvKCl7dGhpcy5fY2hlY2tJbmRpY2VzKCkmJnRoaXMuX2NoYXJ0TW9kZWwubW92ZVBhbmUodGhpcy5fZHN0SW5kZXgsdGhpcy5faW5kZXgpfV9jaGVja0luZGljZXMoKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5sZW5ndGg7cmV0dXJuIHRoaXMuX2luZGV4Pj0wJiZ0aGlzLl9pbmRleDxlJiZ0aGlzLl9kc3RJbmRleD49MCYmdGhpcy5fZHN0SW5kZXg8ZX19dmFyIFVyPWkoMzYyMjM5KTt2YXIgR3I9aSg5NzQ2NjMpLGpyPWkoMjI1Mjk4KSxxcj1pKDI2NDUxMyk7Y2xhc3MgJHIgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbixyKXtzdXBlcihzKSx0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHM9e30sdGhpcy5fZGVwZW5kZW50VmFsdWVzPVtdLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX21haW5TZXJpZXM9aSx0aGlzLl92YWx1ZT10LHRoaXMuX21vZGVsPW4sdGhpcy5fY2hhcnRXaWRnZXQ9cn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLHQ9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5fZGVwZW5kZW50VmFsdWVzPSgwLHFyLnByZXBhcmVEZXBlbmRlbnRWYWx1ZXMpKHRoaXMuX3Byb3BlcnR5KSx0aGlzLl9wcmV2UmVzb2x1dGlvbj10LmludGVydmFsLnZhbHVlKCksdGhpcy5fcHJldlZhbHVlPXRoaXMuX3Byb3BlcnR5LnZhbHVlKCksdGhpcy5fc3RvcmVQcmljZUF4aXNQcm9wcygpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKTtjb25zdCBpPXQuaW50ZXJ2YWwudmFsdWUoKSxzPXRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpLG49KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKSh0aGlzLl92YWx1ZSxpLHMpO2pyLmxpbmtpbmcuaW50ZXJ2YWxTeW5jRW5hYmxlZCgpP2pyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IobiwiQ2hhcnQgc3R5bGUiLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZCx0aGlzLl9jaGFydFdpZGdldCk6dGhpcy5faW50ZXJ2YWxDaGFuZ2VXYXNUcmFja2VkfHx4LkludGVydmFsLmlzRXF1YWwoaSxuKXx8KDAsSGUudHJhY2tJbnRlcnZhbENoYW5naW5nKShuLCJDaGFydCBzdHlsZSIpLHRoaXMuX2ludGVydmFsQ2hhbmdlV2FzVHJhY2tlZD0hMCxlLnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZCh0aGlzLl92YWx1ZSxuKSwoMCxBLnNldExhc3RVc2VkU3R5bGUpKHRoaXMuX3ZhbHVlLGUuc3ltYm9sSW5mbygpKSwoMCxBLnByZXBhcmVQcmljZUF4aXNQcm9wZXJ0aWVzKSh0KSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSksdGhpcy5faW52YWxpZGF0ZU1vZGVsKCksdGhpcy5fY2hhcnRXaWRnZXQuc2NyZWVuLnNob3coITApfXVuZG8oKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXM7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLGUuc2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKHRoaXMuX3ByZXZWYWx1ZSx0aGlzLl9wcmV2UmVzb2x1dGlvbiksdGhpcy5fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCksanIubGlua2luZy5pbnRlcnZhbFN5bmNFbmFibGVkKCkmJmpyLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IodGhpcy5fcHJldlJlc29sdXRpb24sIkNoYXJ0IHN0eWxlIHVuZG8iLCEwLHRoaXMuX2NoYXJ0V2lkZ2V0KSwoMCxxci5yZXN0b3JlRGVwZW5kZW50VmFsdWVzKSh0aGlzLl9wcm9wZXJ0eSx0aGlzLl9kZXBlbmRlbnRWYWx1ZXMpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9pbnZhbGlkYXRlTW9kZWwoKSx0aGlzLl9jaGFydFdpZGdldC5zY3JlZW4uc2hvdyghMCl9X3N0b3JlUHJpY2VBeGlzUHJvcHMoKXtjb25zdCBlPXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpO3RoaXMuX3ByZXZQcmljZUF4aXNQcm9wcz1lLm1vZGUoKX1fcmVzdG9yZVByaWNlQXhpc1Byb3BzKCl7dGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh0aGlzLl9wcmV2UHJpY2VBeGlzUHJvcHMpfV9pbnZhbGlkYXRlTW9kZWwoKXt0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSl9fWNvbnN0IFlyPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBkYXRlIHJhbmdlIixwLnQobnVsbCx2b2lkIDAsaSgyNDcwMTQpKSk7Y2xhc3MgS3IgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoWXIpLHRoaXMuX21vZGVsc0RhdGE9W10sdGhpcy5fcmFuZ2VPcHRpb25zPXQsdGhpcy5fbW9kZWxzRGF0YS5wdXNoKHttb2RlbDplLHByZXZSZXNvbHV0aW9uOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLGJhclNwYWNpbmc6ZS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkscmlnaHRPZmZzZXQ6ZS50aW1lU2NhbGUoKS5yaWdodE9mZnNldCgpLHJhbmdlT3B0aW9uczplLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpfSl9cmVkbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbAo7eC5JbnRlcnZhbC5pc0VxdWFsKHRoaXMuX3JhbmdlT3B0aW9ucy5yZXMsaS52YWx1ZSgpKT90LmxvYWREYXRhVG8odGhpcy5fcmFuZ2VPcHRpb25zLnZhbCk6KHQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9yYW5nZU9wdGlvbnMudmFsKSx0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6dGhpcy5fcmFuZ2VPcHRpb25zLnJlc30pKX19dW5kbygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX21vZGVsc0RhdGEpe2NvbnN0IHQ9ZS5tb2RlbC5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbDtlLnByZXZSZXNvbHV0aW9uIT09aS52YWx1ZSgpPyhudWxsIT09ZS5yYW5nZU9wdGlvbnMmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZShlLnJhbmdlT3B0aW9ucy52YWwpLHQuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDplLnByZXZSZXNvbHV0aW9ufSkpOm51bGwhPT1lLnJhbmdlT3B0aW9ucyYmdC5sb2FkRGF0YVRvKGUucmFuZ2VPcHRpb25zLnZhbCk7Y29uc3Qgcz1lLm1vZGVsLnRpbWVTY2FsZSgpO3Muc2V0QmFyU3BhY2luZyhlLmJhclNwYWNpbmcpLHMuc2V0UmlnaHRPZmZzZXQoZS5yaWdodE9mZnNldCl9fWNhbk1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgS3ImJkJuKGUuX3JhbmdlT3B0aW9ucyx0aGlzLl9yYW5nZU9wdGlvbnMpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEtyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29tbWFuZCB0byBtZXJnZSIpO3RoaXMuX21vZGVsc0RhdGE9dGhpcy5fbW9kZWxzRGF0YS5jb25jYXQoZS5fbW9kZWxzRGF0YSl9fXZhciBYcj1pKDU5MDY5NSk7Y29uc3QgWnI9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbHNHcm91cCIpO2xldCBKcj0hMTtmdW5jdGlvbiBRcihlKXtyZXR1cm4gZS5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpfWZ1bmN0aW9uIGVvKGUpe2Zvcihjb25zdCB0IG9mIGUuaXRlbXMoKSl7aWYoISgwLFhyLmlzTGluZVRvb2xzR3JvdXApKHQpKXJldHVybiB0O2NvbnN0IGU9ZW8odCk7aWYobnVsbCE9PWUpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdG8oZSx0KXtmb3IoY29uc3QgaSBvZiBlLml0ZW1zKCkpKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSk/dG8oaSx0KTp0LnB1c2goaS5pZCgpKX1jbGFzcyBpb3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5faW5zdGFuY2VJZD0oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2l0ZW1zU2V0PW5ldyBTZXQsdGhpcy5fbGluZVRvb2xzQ2FjaGU9bnVsbCx0aGlzLl9zdWJncm91cHNDYWNoZT1udWxsLHRoaXMuX3BhcmVudEdyb3VwPW51bGwsdGhpcy5pZD1pfHwoMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbmFtZT1uZXcgaC5XYXRjaGVkVmFsdWUodCksdGhpcy5faW5zZXJ0SXRlbXMoZSl9aW5zdGFuY2VJZCgpe3JldHVybiB0aGlzLl9pbnN0YW5jZUlkfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWxpbmVUb29scygpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzQ2FjaGUmJih0aGlzLl9saW5lVG9vbHNDYWNoZT10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9saW5lVG9vbHNDYWNoZX1zdWJncm91cHMoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3N1Ymdyb3Vwc0NhY2hlJiYodGhpcy5fc3ViZ3JvdXBzQ2FjaGU9dGhpcy5faXRlbXMuZmlsdGVyKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKSkpKSx0aGlzLl9zdWJncm91cHNDYWNoZX1wYXJlbnRHcm91cCgpe3JldHVybiB0aGlzLl9wYXJlbnRHcm91cH1zZXRQYXJlbnRHcm91cChlKXt0aGlzLl9wYXJlbnRHcm91cD1lfW5hbWUoKXtyZXR1cm4gdGhpcy5fbmFtZX1zZXROYW1lKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCgoKT0+e3RoaXMuX25hbWUuc2V0VmFsdWUoZSl9KSl9c2hvdWxkQmVSZW1vdmVkT25EZXNlbGVjdCgpe3JldHVybiExfWlzQWN0dWFsU3ltYm9sKCl7Y29uc3QgZT1lbyh0aGlzKTtyZXR1cm4gbnVsbCE9PWUmJmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5zeW1ib2woKX1jdXJyZW5jeUlkKCl7cmV0dXJuIHRoaXMuX2ZpcnN0TGluZVRvb2woKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpPz9udWxsfXVuaXRJZCgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpPz9udWxsfWlzU3luY2hyb25pemFibGUoKXtyZXR1cm4gdGhpcy5faXRlbXMuc29tZSgoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKX1zaGFyaW5nTW9kZSgpe3JldHVybiB0aGlzLl9maXJzdExpbmVUb29sKCkuc2hhcmluZ01vZGUoKX1zaGFyZShlKXt0aGlzLl9pdGVtcy5mb3JFYWNoKCh0PT50LnNoYXJlKGUpKSl9Y29udGFpbnNJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtc1NldC5oYXMoZSl9Z3JvdXBGb3JMaW5lVG9vbChlKXtpZih0aGlzLl9pdGVtc1NldC5oYXMoZSkpcmV0dXJuIHRoaXM7Zm9yKGNvbnN0IHQgb2YgdGhpcy5zdWJncm91cHMoKSl7Y29uc3QgaT10Lmdyb3VwRm9yTGluZVRvb2woZSk7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9YWRkSXRlbXMoZSl7dGhpcy5fZG9BbmRGaXJlT25DaGFuZ2UoKHQ9Pnt0aGlzLl9pbnNlcnRJdGVtcyhlLHQpfSkpfWV4Y2x1ZGVJdGVtKGUpe3RoaXMuX2RvQW5kRmlyZU9uQ2hhbmdlKCh0PT57dGhpcy5fcmVtb3ZlSXRlbXMoW2VdLHQpfSkpfWV4Y2x1ZGVJdGVtcyhlKXt0aGlzLl9kb0FuZEZpcmVPbkNoYW5nZSgodD0+e3RoaXMuX3JlbW92ZUl0ZW1zKGUsdCl9KSl9c3RhdGUoKXtyZXR1cm57aWQ6dGhpcy5pZCxuYW1lOnRoaXMuX25hbWUudmFsdWUoKSx0b29sczp0aGlzLmxpbmVUb29scygpLm1hcCgoZT0+ZS5pZCgpKSl9fXZpc2liaWxpdHkoKXtsZXQgZT0hMSx0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKWlmKCgwLApYci5pc0xpbmVUb29sc0dyb3VwKShpKSl7Y29uc3Qgcz1pLnZpc2liaWxpdHkoKTtlPWV8fCJJbnZpc2libGUiIT09cyx0PXR8fCJWaXNpYmxlIiE9PXN9ZWxzZSBlPWV8fFFyKGkpLHQ9dHx8IVFyKGkpO3JldHVybiBlJiYhdD8iVmlzaWJsZSI6dCYmIWU/IkludmlzaWJsZSI6IlBhcnRpYWwifWxvY2tlZCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5sb2NrZWQoKTtlPWV8fCJVbmxvY2tlZCIhPT1zLHQ9dHx8IkxvY2tlZCIhPT1zfWVsc2V7Y29uc3Qgcz1pLnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlPWV8fHMsdD10fHwhc31yZXR1cm4gZSYmIXQ/IkxvY2tlZCI6dCYmIWU/IlVubG9ja2VkIjoiUGFydGlhbCJ9aXNBY3R1YWxJbnRlcnZhbCgpe2xldCBlPSExLHQ9ITE7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpaWYoKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoaSkpe2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHwiSXNOb3RBY3R1YWxJbnRlcnZhbCIhPT1zLHQ9dHx8IklzQWN0dWFsSW50ZXJ2YWwiIT09c31lbHNle2NvbnN0IHM9aS5pc0FjdHVhbEludGVydmFsKCk7ZT1lfHxzLHQ9dHx8IXN9cmV0dXJuIGUmJiF0PyJJc0FjdHVhbEludGVydmFsIjp0JiYhZT8iSXNOb3RBY3R1YWxJbnRlcnZhbCI6IlBhcnRpYWwifW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vbkNoYW5nZWR9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W107Zm9yKGNvbnN0IHMgb2YgdC50b29scyl7Y29uc3QgdD1lLmRhdGFTb3VyY2VGb3JJZChzKTtudWxsIT09dCYmaS5wdXNoKHQpfXJldHVybiBpLmxlbmd0aD4wP25ldyBpbyhpLHQubmFtZSx0LmlkKTpudWxsfV9pbnNlcnRJdGVtcyhlLHQpe2Zvcihjb25zdCBpIG9mIGUpe2lmKCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGkpKXtpZih0aGlzLl93b3VsZENyZWF0ZUN5Y2xlKGkpKXtKcnx8KFpyLmxvZ1dhcm4oYEN5Y2xlIGRldGVjdGVkOiBjYW5ub3QgYWRkIGdyb3VwICR7aS5pZH0gaW50byBncm91cCAke3RoaXMuaWR9OyBza2lwcGluZ2ApLEpyPSEwKTtjb250aW51ZX1jb25zdCBlPWkucGFyZW50R3JvdXAoKTtudWxsIT09ZSYmZS5leGNsdWRlSXRlbShpKSxpLnNldFBhcmVudEdyb3VwKHRoaXMpLGkub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUpKSksdm9pZCAwIT09dCYmdG8oaSx0KX1lbHNlIHZvaWQgMCE9PXQmJnQucHVzaChpLmlkKCkpO3RoaXMuX2l0ZW1zU2V0LmFkZChpKSx0aGlzLl9pdGVtcy5wdXNoKGkpfXRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fcmVtb3ZlSXRlbXMoZSx0KXtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IHMgb2YgZSl0aGlzLl9pdGVtc1NldC5kZWxldGUocykmJihpLmFkZChzKSwoMCxYci5pc0xpbmVUb29sc0dyb3VwKShzKT8ocy5vbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzLnNldFBhcmVudEdyb3VwKG51bGwpLHRvKHMsdCkpOnQucHVzaChzLmlkKCkpKTt0aGlzLl9pdGVtcz10aGlzLl9pdGVtcy5maWx0ZXIoKGU9PiFpLmhhcyhlKSkpLHRoaXMuX2ludmFsaWRhdGVDYWNoZXMoKX1fZmlyc3RMaW5lVG9vbCgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZW8odGhpcykpfV93b3VsZENyZWF0ZUN5Y2xlKGUpe2lmKGU9PT10aGlzKXJldHVybiEwO2xldCB0PXRoaXMucGFyZW50R3JvdXAoKTtmb3IoO251bGwhPT10Oyl7aWYodD09PWUpcmV0dXJuITA7dD10LnBhcmVudEdyb3VwKCl9cmV0dXJuITF9X2ludmFsaWRhdGVDYWNoZXMoKXt0aGlzLl9saW5lVG9vbHNDYWNoZT1udWxsLHRoaXMuX3N1Ymdyb3Vwc0NhY2hlPW51bGx9X2RvQW5kRmlyZU9uQ2hhbmdlKGUpe2NvbnN0IHQ9W10saT10aGlzLnZpc2liaWxpdHkoKSxzPXRoaXMubG9ja2VkKCksbj10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKTtlKHQpLHRoaXMuX29uQ2hhbmdlZC5maXJlKHthZmZlY3RlZExpbmVUb29sczp0LHZpc2liaWxpdHlDaGFuZ2VkOmkhPT10aGlzLnZpc2liaWxpdHkoKSxsb2NrZWRDaGFuZ2VkOnMhPT10aGlzLmxvY2tlZCgpLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOm4hPT10aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKX0pfX1pKDgyOTE4MCk7Y2xhc3Mgc28gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihpLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fbW9kZWw9ZSx0aGlzLl9ncm91cElkPXQuaWQsdGhpcy5fZ3JvdXBOYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbGluZVRvb2xzSWRzPXQubGluZVRvb2xzKCkubWFwKChlPT5lLmlkKCkpKX1yZWRvKCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKTt0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkucmVtb3ZlR3JvdXAoZSl9dW5kbygpe2NvbnN0IGU9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSksdD1uZXcgaW8oZSx0aGlzLl9ncm91cE5hbWUsdGhpcy5fZ3JvdXBJZCk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmFkZEdyb3VwKHQpfX1jb25zdCBubz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUgbGluZSB0b29scyBncm91cCIscC50KG51bGwsdm9pZCAwLGkoMjg4Nzk3KSkpO2NsYXNzIHJvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG5vLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fZ3JvdXBJZD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlc0lkcz10Lm1hcCgoZT0+ZS5pZCgpKSl9cmVkbygpe2NvbnN0IGU9dGhpcy5fc291cmNlc0lkcy5tYXAoKGU9PnRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSkpLHQ9bnVsbD09PXRoaXMuX2dyb3VwSWQ/dm9pZCAwOnRoaXMuX2dyb3VwSWQKO3RoaXMuX2dyb3VwSWQ9dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmNyZWF0ZUdyb3VwKGUsdGhpcy5fdGl0bGUsdCkuaWR9dW5kbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dyb3VwSWQpKSk7dGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLnJlbW92ZUdyb3VwKGUpfWNyZWF0ZWRHcm91cElkKCl7cmV0dXJuIHRoaXMuX2dyb3VwSWR9fWNvbnN0IG9vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFkZCBsaW5lIHRvb2wocykgdG8gZ3JvdXAge2dyb3VwfSIscC50KG51bGwsdm9pZCAwLGkoNDM5NTkwKSkpO2NsYXNzIGFvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIob28uZm9ybWF0KHtncm91cDp0Lm5hbWUoKS52YWx1ZSgpfSksdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9saW5lVG9vbHNJZHM9aS5tYXAoKGU9PmUuaWQoKSkpfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLHQ9dGhpcy5fbGluZVRvb2xzSWRzLm1hcCgoZT0+dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7ZS5hZGRJdGVtcyh0KX11bmRvKCl7Y29uc3QgZT10aGlzLl9saW5lVG9vbHNJZHMubWFwKChlPT50aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKHRoaXMuX2dyb3VwSWQpKS5leGNsdWRlSXRlbXMoZSl9fWNsYXNzIGxvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX2dyb3VwSWQ9dC5pZCx0aGlzLl9vbGROYW1lPXQubmFtZSgpLnZhbHVlKCksdGhpcy5fbmV3TmFtZT1pfXJlZG8oKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9ySWQodGhpcy5fZ3JvdXBJZCkpLnNldE5hbWUodGhpcy5fbmV3TmFtZSl9dW5kbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JJZCh0aGlzLl9ncm91cElkKSkuc2V0TmFtZSh0aGlzLl9vbGROYW1lKX19dmFyIGNvPWkoOTQzOTUpO2NsYXNzIGhvIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzLHZvaWQgMCwhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbiksdGhpcy5fb3JpZ2luTGlua0tleT1udWxsLHRoaXMuX21vZGVsPWksdGhpcy5faWQ9ZS5pZCgpLHRoaXMuX3RhcmdldFNoYXJpbmdNb2RlPXQsdGhpcy5fb3JpZ2luU2hhcmluZ01vZGU9ZS5zaGFyaW5nTW9kZSgpLnZhbHVlKCksdGhpcy5fb3JpZ2luTGlua0tleT1lLmxpbmtLZXkoKS52YWx1ZSgpfXJlZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl90YXJnZXRTaGFyaW5nTW9kZSksMCE9PXRoaXMuX3RhcmdldFNoYXJpbmdNb2RlJiYwPT09dGhpcy5fb3JpZ2luU2hhcmluZ01vZGUmJihlLmxpbmtLZXkoKS5zZXRWYWx1ZSgoMCxsdC5yYW5kb21IYXNoKSgpKSx0aGlzLl9tb2RlbC5jb3B5VG9PdGhlckNoYXJ0cyhbZV0sITEpKSwwPT09dGhpcy5fdGFyZ2V0U2hhcmluZ01vZGUmJjAhPT10aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSYmZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpfXVuZG8oKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCk7ZT8uaXNTeW5jaHJvbml6YWJsZSgpJiYoZS5zaGFyZSh0aGlzLl9vcmlnaW5TaGFyaW5nTW9kZSksMD09PXRoaXMuX29yaWdpblNoYXJpbmdNb2RlPygoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6dGhpcy5fbW9kZWwsc3ltYm9sOmUuc3ltYm9sKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHNvdXJjZVRpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKGNvLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksdW5saW5rOiEwfSksZS5saW5rS2V5KCkuc2V0VmFsdWUobnVsbCkpOmUubGlua0tleSgpLnNldFZhbHVlKHRoaXMuX29yaWdpbkxpbmtLZXkpKX19CmNvbnN0IHVvPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNyZWF0ZSBsaW5lIHRvb2xzIGdyb3VwIGZyb20gc2VsZWN0aW9uIixwLnQobnVsbCx2b2lkIDAsaSgxMzQ1NTgpKSkscG89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZpbmcgbGluZSB0b29scyBncm91cCB7bmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDY2NjE0MCkpKSxfbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9IixwLnQobnVsbCx2b2lkIDAsaSg2ODk1ODApKSksbW89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiLHAudChudWxsLHZvaWQgMCxpKDM1NjU0MSkpKSxnbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIGdyb3VwIHtncm91cH0gaW52aXNpYmxlIixwLnQobnVsbCx2b2lkIDAsaSg1NzIzMzQpKSksZm89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayBncm91cCB7Z3JvdXB9IixwLnQobnVsbCx2b2lkIDAsaSg3MDYzMDgpKSksU289bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidW5sb2NrIGdyb3VwIHtncm91cH0iLHAudChudWxsLHZvaWQgMCxpKDk1MjUyMykpKSx2bz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iLHAudChudWxsLHZvaWQgMCxpKDM4NTMxMCkpKTtjbGFzcyB5b3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnZpcm9ubWVudD1lfWNyZWF0ZUdyb3VwRnJvbVNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTsoMCxsLmFzc2VydCkoIWUuc2VsZWN0aW9uKCkuaXNFbXB0eSgpLCJDYW5ub3QgY3JlYXRlIGdyb3VwIGZyb20gZW1wdHkgc2VsZWN0aW9uIik7Y29uc3QgdD0oMCxkci5zb3J0U291cmNlcykoZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKSk7KDAsbC5hc3NlcnQpKHQubGVuZ3RoPT09ZS5zZWxlY3Rpb24oKS5hbGxTb3VyY2VzKCkubGVuZ3RoLCJBIGdyb3VwIGNvdWxkIGNvbnRhaW4gbGluZSB0b29scyBvbmx5Iik7Y29uc3QgaT10Lmxlbmd0aD4xfHxudWxsIT09dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0WzBdKSxzPXQucmVkdWNlKCgoZSx0KT0+ZS56b3JkZXIoKT50LnpvcmRlcigpP2U6dCksdFswXSk7bGV0IG49cztjb25zdCByPWUubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2wocyk7aWYobnVsbCE9PXIpe2NvbnN0IGU9ci5saW5lVG9vbHMoKTtuPWVbZS5sZW5ndGgtMV19dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8odW8pO2NvbnN0IG89bmV3IE1hcCxhPW5ldyBTZXQ7dC5mb3JFYWNoKCh0PT57Y29uc3QgaT10aGlzLl9ncm91cEZvckxpbmVUb29sKHQpO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBzPW8uZ2V0KGkpfHxbXTtzLnB1c2godCksby5zZXQoaSxzKTtjb25zdCBuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wYW5lRm9yU291cmNlKHQpKTthLmFkZChuKX0pKSwoMCxsLmFzc2VydCkoYS5zaXplPD0xLCJBbGwgc2VsZWN0ZWQgc291cmNlcyBzaG91bGQgYmUgb24gdGhlIHNhbWUgcGFuZSIpLG8uZm9yRWFjaCgoKHQsaSk9Pntjb25zdCBzPW5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoZSxpLHQpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChzKX0pKTtjb25zdCBjPW5ldyBybyhlLCgwLGRyLnNvcnRTb3VyY2VzKSh0KSk7aWYodGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGMpLGkpe2NvbnN0IGk9bmV3IEFyKGUsdCxuKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSl9dGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCk7Y29uc3QgaD0oMCxsLmVuc3VyZU5vdE51bGwpKGMuY3JlYXRlZEdyb3VwSWQoKSk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKShlLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5ncm91cEZvcklkKGgpKX1yZW1vdmVHcm91cChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aS5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSghMSksdGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhlLm5hbWUoKSxlLnRpdGxlKE5uLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSksbGlua0tleTplLmxpbmtLZXkoKS52YWx1ZSgpfSkpKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhwby5mb3JtYXQoe25hbWU6ZS5uYW1lKCkudmFsdWUoKX0pKTtjb25zdCBuPW5ldyBzbyh0LGUsbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pO2NvbnN0IHI9bmV3IHRyLlJlbW92ZVNvdXJjZXNVbmRvQ29tbWFuZCh0LGksbnVsbCk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKHIpO2NvbnN0IG89dC5tYWluU2VyaWVzKCkuc3ltYm9sKCk7cy5mb3JFYWNoKChlPT57bnVsbCE9PWUubGlua0tleSYmKDAsVC5yZW1vdmVMaW5lVG9vbCkoe3dpdGhVbmRvOiEwLG1vZGVsOnQsc3ltYm9sOm8sc291cmNlVGl0bGU6ZS50aXRsZSxsaW5lVG9vbFN0YXRlOmUuc3RhdGUsbGlua0tleTplLmxpbmtLZXl9KX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1ncm91cHMoKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBzKCl9ZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9bmV3IGlyLkV4Y2x1ZGVMaW5lVG9vbHNGcm9tR3JvdXBVbmRvQ29tbWFuZChpLGUsW3RdKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQocyl9YWRkTGluZVRvb2xUb0dyb3VwKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLHM9aS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpZihzPT09ZSlyZXR1cm47Y29uc3Qgbj1fby5mb3JtYXQoewpsaW5lVG9vbDpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKSxuYW1lOmUubmFtZSgpLnZhbHVlKCl9KTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhuKSxudWxsIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQoaSxzLFt0XSkpO3tjb25zdCBzPWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpO3Quc2hhcmluZ01vZGUoKS52YWx1ZSgpIT09cyYmdGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBobyh0LHMsaSxudWxsKSl9dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG5ldyBhbyhpLGUsW3RdKSksdGhpcy5fZW52aXJvbm1lbnQuZW5kVW5kb01hY3JvKCl9YnJpbmdUb0Zyb250KGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBNcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1zZW5kVG9CYWNrKGUpe2NvbnN0IHQ9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKSxpPW5ldyBJcih0LGUubGluZVRvb2xzKCkpO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChpKSx0aGlzLl9lbnZpcm9ubWVudC5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2UubGluZVRvb2xzKCldKX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpLGk9bmV3IFdyKHQsZSk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuX2Vudmlyb25tZW50LmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZS5saW5lVG9vbHMoKV0pfXNlbmRCYWNrd2FyZChlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1uZXcgT3IodCxlKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQoaSksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QWZ0ZXIoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7bGV0IHM7aWYodCBpbnN0YW5jZW9mIGlvKXtjb25zdCBlPXQubGluZVRvb2xzKCk7cz1lW2UubGVuZ3RoLTFdfWVsc2Ugcz10O2NvbnN0IG49bmV3IEFyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9aW5zZXJ0QmVmb3JlKGUsdCl7Y29uc3QgaT10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO2xldCBzO2lmKHQgaW5zdGFuY2VvZiBpbyl7cz10LmxpbmVUb29scygpWzBdfWVsc2Ugcz10O2NvbnN0IG49bmV3IERyKGksZS5saW5lVG9vbHMoKSxzKTt0aGlzLl9lbnZpcm9ubWVudC5wdXNoVW5kb0NvbW1hbmQobiksdGhpcy5fZW52aXJvbm1lbnQuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFtlLmxpbmVUb29scygpXSl9YXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKXtjb25zdCB0PXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCksaT1lLmxpbmVUb29scygpLHM9aVswXSxuPWlbaS5sZW5ndGgtMV0scj0oMCxsLmVuc3VyZU5vdE51bGwpKHQucGFuZUZvclNvdXJjZShpWzBdKSkuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpLG89clswXSxhPXJbci5sZW5ndGgtMV07cmV0dXJue2JyaW5nRm9yd2FyZEVuYWJsZWQ6biE9PWEsYnJpbmdUb0Zyb250RW5hYmxlZDpuIT09YSxzZW5kQmFja3dhcmRFbmFibGVkOnMhPT1vLHNlbmRUb0JhY2tFbmFibGVkOnMhPT1vfX1zZXRHcm91cFZpc2liaWxpdHkoZSx0KXtjb25zdCBpPSh0P21vOmdvKS5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCl9KSxzPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCk7dGhpcy5fZW52aXJvbm1lbnQuYmVnaW5VbmRvTWFjcm8oaSksZS5saW5lVG9vbHMoKS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLnByb3BlcnRpZXMoKS52aXNpYmxlLG49bmV3IHFyLlNldFByb3BlcnR5VW5kb0NvbW1hbmQoaSx0LG51bGwscywhUW4ubGluZVRvb2xzRG9Ob3RBZmZlY3RDaGFydEludmFsaWRhdGlvbik7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfSkpLHRoaXMuX2Vudmlyb25tZW50LmVuZFVuZG9NYWNybygpfXNldEdyb3VwTG9jayhlLHQpe2NvbnN0IGk9KHQ/Zm86U28pLmZvcm1hdCh7Z3JvdXA6ZS5uYW1lKCkudmFsdWUoKX0pLHM9dGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKTt0aGlzLl9lbnZpcm9ubWVudC5iZWdpblVuZG9NYWNybyhpKSxlLmxpbmVUb29scygpLmZvckVhY2goKGU9Pntjb25zdCBpPWUucHJvcGVydGllcygpLmZyb3plbixuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGksdCxudWxsLHMsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pO3RoaXMuX2Vudmlyb25tZW50LnB1c2hVbmRvQ29tbWFuZChuKX0pKSx0aGlzLl9lbnZpcm9ubWVudC5lbmRVbmRvTWFjcm8oKX1zZXRHcm91cE5hbWUoZSx0KXtjb25zdCBpPXRoaXMuX2Vudmlyb25tZW50Lm1vZGVsKCkscz12by5mb3JtYXQoe2dyb3VwOmUubmFtZSgpLnZhbHVlKCksbmV3TmFtZTp0fSksbj1uZXcgbG8oaSxlLHQscyk7dGhpcy5fZW52aXJvbm1lbnQucHVzaFVuZG9Db21tYW5kKG4pfWNhbkJlR3JvdXBwZWQoZSl7Y29uc3QgdD10aGlzLl9lbnZpcm9ubWVudC5tb2RlbCgpO3JldHVybiBuZXcgU2V0KGUubWFwKChlPT50LnBhbmVGb3JTb3VyY2UoZSkpKSkuc2l6ZTw9MX1fZ3JvdXBGb3JMaW5lVG9vbChlKXtyZXR1cm4gdGhpcy5fZW52aXJvbm1lbnQubW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChlKX19dmFyIGJvPWkoNDEyMzg0KSx3bz1pKDU0NDg4NSksQ289aSgzMDUyNzcpCjtjb25zdCBQbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBzdHVkeSB0ZW1wbGF0ZSB7dGVtcGxhdGV9IixwLnQobnVsbCx2b2lkIDAsaSgzODE1MTMpKSk7ZnVuY3Rpb24gVG8oZSl7Zm9yKGNvbnN0IHQgb2YgZS5wYW5lcylmb3IoY29uc3QgZSBvZiB0LnNvdXJjZXMpaWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoZSkpcmV0dXJuIGUuaWQ7cmV0dXJuIG51bGx9dmFyIHhvOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0wXT0iSW5pdGlhbCIsZVtlLlVuZG9pbmc9MV09IlVuZG9pbmciLGVbZS5SZWRvaW5nPTJdPSJSZWRvaW5nIn0oeG98fCh4bz17fSkpO2NsYXNzIE1vIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihQby5mb3JtYXQoe3RlbXBsYXRlOml9KSksdGhpcy5fbmV3U3ltYm9sUGFyYW1zPXt9LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fdGVtcGxhdGVDb250ZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT0oMCxyLmRlZmF1bHQpKHt9LGUpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShUbyhpKSk7Zm9yKGNvbnN0IGUgb2YgaS5wYW5lcyl7ZS5tYWluU291cmNlSWQ9PT1zJiYoZS5tYWluU291cmNlSWQ9dCk7Zm9yKGNvbnN0IGkgb2YgZS5zb3VyY2VzKWlmKGkuaWQ9PT1zKXtpLmlkPXQ7Y29uc3Qgbj1lPT57Y29uc3QgaT1lLmluZGV4T2Yocyk7LTEhPT1pJiZlLnNwbGljZShpLDEsdCl9O2lmKGUubGVmdEF4aXNlc1N0YXRlJiZlLnJpZ2h0QXhpc2VzU3RhdGU/KGUubGVmdEF4aXNlc1N0YXRlLmZvckVhY2goKGU9Pm4oZS5zb3VyY2VzKSkpLGUucmlnaHRBeGlzZXNTdGF0ZS5mb3JFYWNoKChlPT5uKGUuc291cmNlcykpKSk6KG4oZS5sZWZ0QXhpc1NvdXJjZXMpLG4oZS5yaWdodEF4aXNTb3VyY2VzKSksZS5vdmVybGF5UHJpY2VTY2FsZXMpe2NvbnN0IGk9ZS5vdmVybGF5UHJpY2VTY2FsZXNbc107aSYmKGRlbGV0ZSBlLm92ZXJsYXlQcmljZVNjYWxlc1tzXSxlLm92ZXJsYXlQcmljZVNjYWxlc1t0XT1pKX19ZWxzZSBpLm93bmVyU291cmNlPT09cyYmKGkub3duZXJTb3VyY2U9dCl9cmV0dXJuIGl9KHQsZS5tYWluU2VyaWVzKCkuaWQoKSksdGhpcy5faW5pdGlhbFN0YXRlPWUuc3R1ZHlUZW1wbGF0ZSghMCwhMCwhMCksdGhpcy5fZXZlbnRTb3VyY2U9cztjb25zdCBuPWUubWFpblNlcmllcygpO3Quc3ltYm9sJiYodGhpcy5fbmV3U3ltYm9sUGFyYW1zPXtzeW1ib2w6dC5zeW1ib2wsY3VycmVuY3k6dC5jdXJyZW5jeT8/bnVsbCx1bml0OnQudW5pdD8/bnVsbH0pLHQuaW50ZXJ2YWwmJih0aGlzLl9uZXdTeW1ib2xQYXJhbXMuaW50ZXJ2YWw9dC5pbnRlcnZhbCx0aGlzLl9uZXdTeW1ib2xQYXJhbXMuc3R5bGU9KDAsQS5nZXRDaGFydFN0eWxlQnlSZXNvbHV0aW9uKSh0LmludGVydmFsLG4uc3R5bGUoKSkpLHRoaXMuX2luaXRpYWxTeW1ib2xQYXJhbXM9e3N5bWJvbDpuLnN5bWJvbCgpLGN1cnJlbmN5Om4uY3VycmVuY3koKSx1bml0Om4udW5pdCgpLGludGVydmFsOm4uaW50ZXJ2YWwoKSxzdHlsZTpuLnN0eWxlKCl9LHRoaXMuX2luaXRpYWxTdGF0ZT1lLnN0dWR5VGVtcGxhdGUoKSx0aGlzLl9pbml0aWFsR3JvdXBzU3RhdGU9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9uZXdTeW1ib2xQYXJhbXMpO2NvbnN0IGU9dGhpcy5fbWVyZ2UodGhpcy5fdGVtcGxhdGVDb250ZW50LHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPzI6MCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpO3RoaXMuX21vZGVsLmxpbmVUb29sc0dyb3VwTW9kZWwoKS5yZW1vdmVMaW5lVG9vbHMoZSk7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpOygwLEEucHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXMpKHQpLHRoaXMuX21vZGVsLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uKSx0aGlzLl9tb2RlbC5zZXRTaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuKCEwKX11bmRvKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNldFN5bWJvbFBhcmFtcyh0aGlzLl9pbml0aWFsU3ltYm9sUGFyYW1zKSx0aGlzLl9tZXJnZSh0aGlzLl9pbml0aWFsU3RhdGUsMSksdGhpcy5faGFzQWxyZWFkeUJlZW5VbmRvbmU9ITB9X21lcmdlKGUsdCl7Y29uc3QgaT1lLnZlcnNpb258fDAscz10aGlzLl9tb2RlbCxuPXMubWFpblNlcmllcygpOygwLGwuYXNzZXJ0KShuLmlkKCk9PT1UbyhlKSksbi5wcmljZVNjYWxlKCkucHJvcGVydGllcygpLmNoaWxkcygpLmxvY2tTY2FsZS5zZXRWYWx1ZSghMSk7Y29uc3Qgcj1zLnBhbmVzKCksbz1bXTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1yW2VdLGk9dC5jb250YWluc01haW5TZXJpZXMoKSxzPXQuZGF0YVNvdXJjZXMoKTtmb3IobGV0IGU9cy5sZW5ndGg7ZS0tOyl7Y29uc3QgdD1zW2VdOyghaXx8KCgwLHRpLmlzU3R1ZHkpKHQpfHwoMCx0aS5pc1N0dWR5U3R1YikodCkpJiZ0LmlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKSkmJm8ucHVzaCh0KX19cy5yZXNldERlZmVycmVkU3R1ZGllcygpO2NvbnN0IGM9MD09PXQ/dGhpcy5fZXZlbnRTb3VyY2U6MT09PXQ/InVuZG8iOnRoaXMuX2V2ZW50U291cmNlP2ByZWRvXyR7dGhpcy5fZXZlbnRTb3VyY2V9YDoicmVkbyIsaD0oMCxiby5jbG9zZVNvdXJjZXNTZXQpKHMsbywhMCk7Zm9yKGxldCBlPTA7ZTxoLmxlbmd0aDsrK2Upe2NvbnN0IHQ9aFtlXTsoMCx0aS5pc1N0dWR5KSh0KSYmKDAsd28udHJhY2tTdHVkaWVzKSh0Lm1ldGFJbmZvKCksdC5tb2RlbCgpLCJyZW1vdmUiLGMpLHMucmVtb3ZlU291cmNlKHQpfWNvbnN0IGQ9ZS5wYW5lcztsZXQgdT0wO2ZvcihsZXQgZT0wO2U8ZC5sZW5ndGg7ZSsrKXtsZXQgdD0tMTtjb25zdCBuPSgwLGEuY2xvbmUpKGRbZV0pO24uc291cmNlcy5zb3J0KCgoZSx0KT0+ZS56b3JkZXItdC56b3JkZXIpKTtmb3IobGV0IGU9MDtlPG4uc291cmNlcy5sZW5ndGg7ZSsrKXsKY29uc3QgaT1uLnNvdXJjZXNbZV07aWYoKDAsUC5pc01haW5TZXJpZXNTdGF0ZSkoaSkmJihkZWxldGUgaS5zdGF0ZSx0PWUpLCgwLFAuaXNTdHVkeVN0YXRlKShpKSl7Y29uc3QgZT1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhpLm1ldGFJbmZvKTsoMCx3by50cmFja1N0dWRpZXMpKGUscywiYWRkIixjKX19Y29uc3Qgbz10Pi0xLGg9bz9yW2UtdV06cy5jcmVhdGVQYW5lKGUtdSk7aWYobyYmaTwzJiYoMCxDby5yZW9yZGVyRGF0YVNvdXJjZXNTdGF0ZVpPcmRlcikobi5zb3VyY2VzKSxoLnJlc3RvcmVTdGF0ZSh7c3RhdGU6bix3aXRoRGF0YTohMSx2ZXJzaW9uOmksaXNTdHVkeVRlbXBsYXRlOiEwfSksbnVsbCE9PWgubWFpbkRhdGFTb3VyY2UoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmFsZXJ0c1dhdGNoZXIoKSk7Zm9yKGNvbnN0IHQgb2YgaC5kYXRhU291cmNlcygpKWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfWVsc2UgdSsrLHMucmVtb3ZlUGFuZShoKX1yZXR1cm4gcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCksbi5wcmljZVNjYWxlKCkuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSkscy5zdGFydE5vdFN0YXJ0ZWRTdHVkaWVzKCkscy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKSxzLmZ1bGxVcGRhdGUoKSxofX12YXIgSW89aSg1NDA1ODgpO2NvbnN0IExvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKTt2YXIgQW87IWZ1bmN0aW9uKGUpe2VbZS5QYXN0ZVlDb29yZE9mZnNldD0tNDBdPSJQYXN0ZVlDb29yZE9mZnNldCJ9KEFvfHwoQW89e30pKTtjb25zdCBrbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg4MzcwNjYpKSk7Y2xhc3MgRG8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoa28sdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9uZWVkQ29weVRvT3RoZXJDaGFydHM9ITEsdGhpcy5fc291cmNlU3RhdGU9bnVsbCx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50PSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJbmRleD10aGlzLl9tb2RlbC5wYW5lcygpLmluZGV4T2YoaXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSkpKSx0aGlzLl9wYXN0ZVdpdGhEYXRhPSEhcyx0aGlzLl9rZWVwWkluZGV4PSEhbn1yZWRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpW3RoaXMuX3BhbmVJbmRleF0sdD0oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0aGlzLl9jbGlwYm9hcmREYXRhLnNvdXJjZS5pZCkpLGk9dD09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtsZXQgcztudWxsPT09dGhpcy5fc291cmNlU3RhdGUmJih0aGlzLl9zb3VyY2VTdGF0ZT10aGlzLl9nZXRTb3VyY2VTdGF0ZSh0LGkpKSx0aGlzLl9hY3Rpb25Tb3VyY2VXYXNTZW50fHwocz0iUGFzdGUiLHRoaXMuX2FjdGlvblNvdXJjZVdhc1NlbnQ9ITApO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dGhpcy5fc291cmNlU3RhdGUsd2l0aERhdGE6dGhpcy5fcGFzdGVXaXRoRGF0YSxrZWVwWk9yZGVyOnRoaXMuX2tlZXBaSW5kZXgsb3duZXJTb3VyY2U6dCxhY3Rpb25Tb3VyY2U6c30pKTsoMCxsLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKS5hZGREYXRhU291cmNlKG4pLHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0JiZuLmNlbnRlclBvc2l0aW9uJiZuLmNlbnRlclBvc2l0aW9uKCksbi5yZXN0b3JlRml4ZWRQb2ludCgpLG4uY3JlYXRlU2VydmVyUG9pbnRzKCksdGhpcy5fbmVlZENvcHlUb090aGVyQ2hhcnRzPUJvb2xlYW4oaSYmbi5pc1N5bmNocm9uaXphYmxlKCkmJjAhPT1uLnNoYXJpbmdNb2RlKCkudmFsdWUoKSksdGhpcy5fbW9kZWwuc2V0U2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbighMCl9dW5kbygpe2lmKCF0aGlzLl9zb3VyY2VTdGF0ZSlyZXR1cm4gdm9pZCBMby5sb2dFcnJvcigiVGhpcyBjb21tYW5kIHdhcyBuZXZlciBleGVjdXRlZCAtIG5vdGhpbmcgdG8gdW5kbyIpO2NvbnN0IGU9dGhpcy5zb3VyY2UoKTt0aGlzLl9jbGlwYm9hcmREYXRhLmNlbnRlcmVkT25DaGFydCYmKHRoaXMuX2NsaXBib2FyZERhdGEuY2VudGVyZWRPbkNoYXJ0PSExLHRoaXMuX3NvdXJjZVN0YXRlLnBvaW50cz1lLm5vcm1hbGl6ZWRQb2ludHMoKSksdGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXNvdXJjZSgpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlU3RhdGUpLmlkKSl9bmVlZENvcHlUb090aGVyQ2hhcnRzKCl7cmV0dXJuIHRoaXMuX25lZWRDb3B5VG9PdGhlckNoYXJ0c31fZ2V0U291cmNlU3RhdGUoZSx0KXtjb25zdCBpPSgwLGEuY2xvbmUpKHRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlKTtkZWxldGUgaS5zdGF0ZS5zeW1ib2wsdD8obnVsbCE9aS5saW5rS2V5fHx2b2lkIDAhPT1pLnNoYXJpbmdNb2RlJiYwIT09aS5zaGFyaW5nTW9kZSkmJihpLmxpbmtLZXk9KDAsbHQucmFuZG9tSGFzaCkoKSk6KGkubGlua0tleT1udWxsLGkuc2hhcmluZ01vZGU9MCk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxuPXRoaXMuX21vZGVsLHtzeW1ib2w6cixjdXJyZW5jeUlkOm8sdW5pdElkOmN9PXRoaXMuX2NsaXBib2FyZERhdGEuc291cmNlLnN0YXRlLGg9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnN5bWJvbFNvdXJjZSgpKTtsZXQgZD0hMTshaC5zeW1ib2xTYW1lQXNDdXJyZW50KHIpfHwobnVsbCE9PW8/byE9PSgwLEEuc3ltYm9sQ3VycmVuY3kpKGguc3ltYm9sSW5mbygpLHZvaWQgMCwhMCk6aC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpKXx8KG51bGwhPT1jP2MhPT0oMCwKQS5zeW1ib2xVbml0KShoLnN5bWJvbEluZm8oKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk6aC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpfHwoKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpP2Q9ITA6KDAsdGkuaXNTdHVkeSkoZSkmJihkPUJvb2xlYW4oZS5tZXRhSW5mbygpLmlzX3ByaWNlX3N0dWR5KSkpLGkuc3RhdGUuY3VycmVuY3lJZD1uLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQoKSYmaC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSgpP2guY3VycmVuY3koKTpudWxsLGkuc3RhdGUudW5pdElkPW4udW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmguaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpP2gudW5pdCgpOm51bGw7Y29uc3QgdT1lPT57Y29uc3QgdD1lLngqbi50aW1lU2NhbGUoKS53aWR0aCgpLGk9ZS55KnMuaGVpZ2h0KCktNDA7cmV0dXJuIG5ldyBQdC5Qb2ludCh0LGkpfSxwPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5maXJzdFZhbHVlKCkpO2lmKHRoaXMuX21vZGVsLmlkKCk9PT10aGlzLl9jbGlwYm9hcmREYXRhLm1vZGVsSWR8fCFkKXtmb3IobGV0IGU9MDtlPHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnkubGVuZ3RoOysrZSl7Y29uc3QgdD11KHRoaXMuX2NsaXBib2FyZERhdGEuZ2VvbWV0cnlbZV0pLHI9bi50aW1lU2NhbGUoKS5jb29yZGluYXRlVG9JbmRleCh0LngpLG89bi50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChyKTtpZihkKXtjb25zdCB0PXMucHJpY2VUb0Nvb3JkaW5hdGUoaS5wb2ludHNbZV0ucHJpY2UscCkrLTQwO28ucHJpY2U9cy5jb29yZGluYXRlVG9QcmljZSh0LHApfWVsc2Ugby5wcmljZT1zLmNvb3JkaW5hdGVUb1ByaWNlKHQueSxwKTtpLnBvaW50c1tlXT1vfWkuc3RhdGUuaW50ZXJ2YWw9bi5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX1yZXR1cm4gaS5pZD0oMCxsdC5yYW5kb21IYXNoTikoNiksaX19Y2xhc3MgRW8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKHMpLHRoaXMuX25ld1NvdXJjZXNDdXJyZW5jaWVzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXM9bmV3IE1hcCx0aGlzLl9zaG93RmFkZT0hMSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj1lLm1haW5TZXJpZXMoKTtmb3IoY29uc3QgZSBvZiB0LnByaWNlRGF0YVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCl8fCFlLmlzQ3VycmVuY3lPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS5jdXJyZW5jeU1ldGFkYXRhKCkudmFsdWUoKT8ub3JpZ2luYWxDdXJyZW5jeT8/bnVsbDt0aGlzLl9uZXdTb3VyY2VzQ3VycmVuY2llcy5zZXQoZS5pZCgpLHQpLHRoaXMuX29sZFNvdXJjZXNDdXJyZW5jaWVzLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUuY3VycmVuY3koKSE9PXR9fXJlZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fbmV3U291cmNlc0N1cnJlbmNpZXMpfXVuZG8oKXt0aGlzLl9hcHBseUN1cnJlbmNpZXModGhpcy5fb2xkU291cmNlc0N1cnJlbmNpZXMpfV9hcHBseUN1cnJlbmNpZXMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldEN1cnJlbmN5KGUpfSkpLHRoaXMuX2NoYXJ0TW9kZWwuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSksdGhpcy5fc2hvd0ZhZGUmJnRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCkubG9hZGluZ1NjcmVlbigpLnNob3coITApfX1jbGFzcyBSbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIocyksdGhpcy5fbmV3U291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fb2xkU291cmNlc1VuaXRzPW5ldyBNYXAsdGhpcy5fc2hvd0ZhZGU9ITEsdGhpcy5fY2hhcnRNb2RlbD1lO2NvbnN0IG49ZS5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IGUgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpe2lmKCFlLmlzVmlzaWJsZSgpfHwhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpKWNvbnRpbnVlO2NvbnN0IHQ9aT8/ZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5vcmlnaW5hbFVuaXQ/P251bGw7dGhpcy5fbmV3U291cmNlc1VuaXRzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc1VuaXRzLnNldChlLmlkKCksZS51bml0KCkpLHRoaXMuX3Nob3dGYWRlPXRoaXMuX3Nob3dGYWRlfHxlPT09biYmZS51bml0KCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlVbml0cyh0aGlzLl9uZXdTb3VyY2VzVW5pdHMpfXVuZG8oKXt0aGlzLl9hcHBseVVuaXRzKHRoaXMuX29sZFNvdXJjZXNVbml0cyl9X2FwcGx5VW5pdHMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+eygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodCkpLnNldFVuaXQoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fXZhciBWbz1pKDE2MzYwMyk7Y2xhc3MgQm8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMsbj0hMSl7c3VwZXIoZSksdGhpcy5fY2hhcnRzPW5ldyBNYXAsdGhpcy5fZmlyc3RSZWRvPSEwLHRoaXMuX2NyZWF0aW9uVGltZT1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9saW5raW5nR3JvdXBJbmRleD1zLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKTtjb25zdCByPW5ldyBNYXAsbz1uZXcgTWFwO2lmKG4pZm9yKGNvbnN0IGUgb2Ygcy5tb2RlbCgpLm1vZGVsKCkuYWxsU3R1ZGllcyghMCkpZS5pZCgpIT09dC5pZCgpJiZlLnN5bWJvbFNvdXJjZSgpPT09dCYmKGUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCkmJiFlLmN1cnJlbmN5TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0Q3VycmVuY3lPbkNoYW5naW5nU3ltYm9sU291cmNlU3ltYm9sJiZyLnNldChlLmlkKCksZS5jdXJyZW5jeSgpKSwKZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpJiYhZS51bml0TWV0YWRhdGEoKS52YWx1ZSgpPy5kb05vdFJlc2V0VW5pdE9uQ2hhbmdpbmdTeW1ib2xTb3VyY2VTeW1ib2wmJm8uc2V0KGUuaWQoKSxlLnVuaXQoKSkpO3RoaXMuX2NoYXJ0cy5zZXQocyx7c291cmNlSWQ6dC5pZCgpLG5ld1N5bWJvbFBhcmFtczppLHByZXZTeW1ib2xQYXJhbXM6dC5zeW1ib2xQYXJhbXMoKSxzaG93RmFkZTp0aGlzLl9zaG93RmFkZSh0LHMpLGNoYXJ0V2lkZ2V0OnMsY3VycmVuY3lPcmlnaW5Tb3VyY2VzOnIsdW5pdE9yaWdpblNvdXJjZXM6b30pfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITApLHRoaXMuX2NoYXJ0cy5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLl9zeW1ib2xTb3VyY2UoZSkuc2V0U3ltYm9sUGFyYW1zKGUubmV3U3ltYm9sUGFyYW1zKTtmb3IoY29uc3RbdF1vZiBlLmN1cnJlbmN5T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0Q3VycmVuY3kobnVsbCl9Zm9yKGNvbnN0W3Rdb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChudWxsKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLHRoaXMuX2ZpcnN0UmVkb3x8KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9saW5raW5nR3JvdXBJbmRleCwhMSksdGhpcy5fZmlyc3RSZWRvPSExfXVuZG8oKXsoMCxaLm11dGVMaW5raW5nR3JvdXApKHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LCEwKSx0aGlzLl9jaGFydHMuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9dGhpcy5fc3ltYm9sU291cmNlKGUpLnNldFN5bWJvbFBhcmFtcyhlLnByZXZTeW1ib2xQYXJhbXMpO2Zvcihjb25zdFt0LGldb2YgZS5jdXJyZW5jeU9yaWdpblNvdXJjZXMpe3RoaXMuX2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpLnNldEN1cnJlbmN5KGkpfWZvcihjb25zdFt0LGldb2YgZS51bml0T3JpZ2luU291cmNlcyl7dGhpcy5fY3VycmVuY3lVbml0T3JpZ2luU291cmNlKGUsdCkuc2V0VW5pdChpKX1lLnNob3dGYWRlJiZlLmNoYXJ0V2lkZ2V0LnNjcmVlbi5zaG93KCEwLHQpfSkpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbGlua2luZ0dyb3VwSW5kZXgsITEpfWNhbk1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIEJvKXx8ZS5fbGlua2luZ0dyb3VwSW5kZXghPT10aGlzLl9saW5raW5nR3JvdXBJbmRleHx8IXRoaXMuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8IWUuX2NvbnRhaW5zTWFpblNlcmllc09ubHkoKXx8ZS5fY3JlYXRpb25UaW1lLXRoaXMuX2NyZWF0aW9uVGltZT41MDApcmV0dXJuITE7Zm9yKGNvbnN0W3Rdb2YgZS5fY2hhcnRzKWlmKHRoaXMuX2NoYXJ0cy5oYXModCkpcmV0dXJuITE7cmV0dXJuITB9bWVyZ2UoZSl7aWYoZSBpbnN0YW5jZW9mIEJvKWZvcihjb25zdFt0LGldb2YgZS5fY2hhcnRzKXRoaXMuX2NoYXJ0cy5zZXQodCxpKX1fc2hvd0ZhZGUoZSx0KXtyZXR1cm4gZT09PXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3N5bWJvbFNvdXJjZShlKXtyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKGUuY2hhcnRXaWRnZXQubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlLnNvdXJjZUlkKSl9X2N1cnJlbmN5VW5pdE9yaWdpblNvdXJjZShlLHQpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkoZS5jaGFydFdpZGdldC5tb2RlbCgpLm1vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHQpKX1fY29udGFpbnNNYWluU2VyaWVzT25seSgpe2Zvcihjb25zdFtlLHRdb2YgdGhpcy5fY2hhcnRzKWlmKHQuc291cmNlSWQhPT1lLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9fWNvbnN0IE5vPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wiLHAudChudWxsLHZvaWQgMCxpKDE4NzY5KSkpO2NsYXNzIE9vIGV4dGVuZHMgQm97Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKE5vLGUse3N5bWJvbDp0LGN1cnJlbmN5Om51bGwsdW5pdDpudWxsfSxpLCEwKSx0aGlzLl9zeW1ib2w9dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIE9vJiZlLl9zeW1ib2w9PT10aGlzLl9zeW1ib2wmJnN1cGVyLmNhbk1lcmdlKGUpfX12YXIgV289aSgyMDM2ODEpO2NvbnN0IEZvPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxIbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSBpbmRpY2F0b3IiLHAudChudWxsLHZvaWQgMCxpKDc2MzMzOSkpKTtjbGFzcyB6byBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKEhvKSx0aGlzLl9zb3VyY2VTdGF0ZT1udWxsLHRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPSExLHRoaXMuX21vZGVsPWUsdGhpcy5fY2xpcGJvYXJkRGF0YT10LHRoaXMuX3BhbmVJZD1pfXJlZG8oKXtpZighdGhpcy5fc291cmNlU3RhdGUpe2NvbnN0IGU9KDAsV28uZGVmYXVsdCkodGhpcy5fY2xpcGJvYXJkRGF0YS5zb3VyY2UpO2UuaWQ9KDAsbHQucmFuZG9tSGFzaE4pKDYpLHRoaXMuX3NvdXJjZVN0YXRlPWV9bGV0IGUsdDtlPXRoaXMuX3BhbmVJZD8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JJZCh0aGlzLl9wYW5lSWQpKTp0aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT8oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcy5fbW9kZWwubWFpblNlcmllcygpKSk6dGhpcy5fbW9kZWwuY3JlYXRlUGFuZSgpO2NvbnN0IGk9IWUubWFpbkRhdGFTb3VyY2UoKTt0aGlzLl9zb3VyY2VTdGF0ZS56b3JkZXI9ZS5uZXdTdHVkeVpPcmRlcigpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnJlc3RvcmVTdHVkeSh7c291cmNlOnRoaXMuX3NvdXJjZVN0YXRlfSkpCjtpZihpfHwodD10aGlzLl9zb3VyY2VTdGF0ZS5tZXRhSW5mby5pc19wcmljZV9zdHVkeT90PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6dGhpcy5fcGFuZUlkP2UuZmluZFN1aXRhYmxlU2NhbGUocyk6ZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQhPT1zLnByaWNlU2NhbGUoKSYmZS5tb3ZlKHMsdCkpLCgwLHRpLmlzU3R1ZHkpKHMpfHwoMCx0aS5pc1N0dWR5U3R1Yikocykpe3tjb25zdCBlPXRoaXMuX2hhc0FscmVhZHlCZWVuVW5kb25lPyJyZWRvX3Bhc3RlIjoicGFzdGUiOygwLHdvLnRyYWNrU3R1ZGllcykobmV3IG90LlN0dWR5TWV0YUluZm8odGhpcy5fc291cmNlU3RhdGUubWV0YUluZm8pLHMubW9kZWwoKSwiYWRkIixlKX1zLnN0YXJ0KCl9fXVuZG8oKXtpZihudWxsPT09dGhpcy5fc291cmNlU3RhdGUpcmV0dXJuIHZvaWQgRm8ubG9nRXJyb3IoIlRoaXMgY29tbWFuZCB3YXMgbmV2ZXIgZXhlY3V0ZWQgLSBub3RoaW5nIHRvIHVuZG8iKTtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZVN0YXRlLmlkKSk7dGhpcy5fbW9kZWwucmVtb3ZlU291cmNlKGUpfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVN0YXRlfX1jbGFzcyBVbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuKXtzdXBlcihudWxsLCExKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3BhbmVBPXQsdGhpcy5fcGFuZUI9aSx0aGlzLl9wcmV2U3RyZXRjaEE9cyx0aGlzLl9jdXJyU3RyZXRjaEE9bn1yZWRvKCl7Y29uc3QgZT10aGlzLl9wYW5lQS5zdHJldGNoRmFjdG9yKCkrdGhpcy5fcGFuZUIuc3RyZXRjaEZhY3RvcigpO3RoaXMuX3BhbmVBLnNldFN0cmV0Y2hGYWN0b3IodGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9wYW5lQi5zZXRTdHJldGNoRmFjdG9yKGUtdGhpcy5fY3VyclN0cmV0Y2hBKSx0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCl9dW5kbygpe2NvbnN0IGU9dGhpcy5fcGFuZUEuc3RyZXRjaEZhY3RvcigpK3RoaXMuX3BhbmVCLnN0cmV0Y2hGYWN0b3IoKTt0aGlzLl9wYW5lQS5zZXRTdHJldGNoRmFjdG9yKHRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fcGFuZUIuc2V0U3RyZXRjaEZhY3RvcihlLXRoaXMuX3ByZXZTdHJldGNoQSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfX1jb25zdCBHbz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIixwLnQobnVsbCx2b2lkIDAsaSg5NjU3OTApKSk7Y2xhc3Mgam8gZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKEdvLCExKSx0aGlzLl9lbmRFdmVudD1udWxsLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlSWQ9dC5pZCgpLHRoaXMuX2l0ZW1JbmRleD1pLHRoaXMuX3N0YXJ0RXZlbnQ9c31tb3ZlKGUpe3RoaXMuX2VuZEV2ZW50PWUsdGhpcy5fbW92ZShlKX1oYXNDaGFuZ2VzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9lbmRFdmVudH11bmRvKCl7dGhpcy5fbW92ZSh0aGlzLl9zdGFydEV2ZW50KX1yZWRvKCl7dGhpcy5fbW92ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2VuZEV2ZW50KSl9X21vdmUoZSl7Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9zb3VyY2VJZCkpOygwLGwuYXNzZXJ0KSh2b2lkIDAhPT10Lm1vdmVJdGVtLCdUaGUgbWV0aG9kICJtb3ZlSXRlbSIgaXMgbm90IGRlZmluZWQnKSx0Lm1vdmVJdGVtJiZ0Lm1vdmVJdGVtKG5ldyBQdC5Qb2ludChlLmxvY2FsWCxlLmxvY2FsWSksdGhpcy5faXRlbUluZGV4LG5ldyBMaS5FbnZpcm9ubWVudFN0YXRlKGUpKX19dmFyIHFvPWkoMTg1NjA4KTtjbGFzcyAkbyBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyl7c3VwZXIoaSksdGhpcy5fbmV3TW9kZT1lLHRoaXMuX3ByaWNlU2NhbGVJZD10LmlkKCksdGhpcy5fbW9kZWw9cyx0aGlzLl9vbGRNb2RlPXQubW9kZSgpfXJlZG8oKXt0aGlzLl9hcHBseU1vZGUodGhpcy5fbmV3TW9kZSl9dW5kbygpe3RoaXMuX2FwcGx5TW9kZSh0aGlzLl9vbGRNb2RlKX1fYXBwbHlNb2RlKGUpe2NvbnN0IHQ9dGhpcy5fZmluZFByaWNlU2NhbGVCeUlkKCk7bnVsbCE9PXQmJigoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksdC5zZXRNb2RlKGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbCYmKHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSkpfV9maW5kUHJpY2VTY2FsZUJ5SWQoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XS5nZXRQcmljZVNjYWxlQnlJZCh0aGlzLl9wcmljZVNjYWxlSWQpO2lmKG51bGwhPT1pKXJldHVybiBpfXJldHVybiBudWxsfX12YXIgWW89aSg1NDc4NTEpLEtvPWkoNTg3MTY4KSxYbz1pKDUwNTU2KSxabz1pKDkzNjMyNiksSm89aSg4MTA0MSksUW89aSg5MzIzNjUpLGVhPWkoMTU2ODI5KSx0YT1pKDIyNjkzNyksaWE9aSg0NTcwODMpLHNhPWkoOTI4MTMyKSxuYT1pKDE0MzgwOCkscmE9aSg4NzIzNDMpO2NvbnN0IG9hPSgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDE5NzI3MikpLnRoZW4oKGU9PmUuU3R1ZHkpKSkpOygwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgiU3R1ZHkiLG9hKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDQ3MjcpKS50aGVuKChlPT5lLnN0dWR5X1Bpdm90UG9pbnRzU3RhbmRhcmQpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X092ZXJsYXkiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyMzI2MCkpLnRoZW4oKGU9PmUuc3R1ZHlfT3ZlcmxheSkpKSwibG9vcCIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0NvbXBhcmUiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDg1OTY0OSkpLnRoZW4oKGU9PmUuU3R1ZHlDb21wYXJlKSkpLCJsb29wIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MjAxMjApKS50aGVuKChlPT5lLlZvbHVtZVN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBWaXNpYmxlIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZiUFZpc2libGVXcmFwcGVyKSkpLCJub1JvdGF0aW9ucyIpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1ZiUEZpeGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfU2NyaXB0V2l0aERhdGFPZmZzZXQiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyMjkwKSkudGhlbigoZT0+ZS5zdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldCkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRWFybmluZ3MiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX0VBUk5JTkdTKSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9TcGxpdHMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDkwOTU5MykpLnRoZW4oKGU9PmUuc3R1ZHlfRVNEJFRWX1NQTElUUykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfRGl2aWRlbmRzIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw5MDk1OTMpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ESVZJREVORFMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0JhclNldENvbnRpbnVvdXNSb2xsRGF0ZXMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwzNjM2MTgpKS50aGVuKChlPT5lLnN0dWR5X0VTRCRUVl9ST0xMREFURVMpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkobmEuZnVuZGFtZW50YWxzUHJlZml4LCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDEyNTEzNykpLnRoZW4oKGU9PmUuRnVuZGFtZW50YWwpKSksKGU9PjE9PT1lLnBsb3RzLmxlbmd0aD8ibG9vcCI6Im5vUm90YXRpb25zIiksKChlLHQpPT4oMCxuYS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9FbGxpb3R0V2F2ZSIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoNDkzMDcpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDMzOCldKS50aGVuKGkuYmluZChpLDU0MTkyNCkpLnRoZW4oKGU9PmUuc3R1ZHlfRWxsaW90dFdhdmUpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X0xpbmVhclJlZ3Jlc3Npb24iLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDUwMjcyNikpLnRoZW4oKGU9PmUuTGluZWFyUmVncmVzc2lvblN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9QaXZvdFBvaW50c0hpZ2hMb3ciLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDQ5MzA3KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSgzMjI3MyldKS50aGVuKGkuYmluZChpLDc2ODcwNCkpLnRoZW4oKGU9PmUuc3R1ZHlfUGl2b3RQb2ludHNIaWdoTG93KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9WYlBTZXNzaW9ucyIsKDAscmEuY3JlYXRlU3R1ZHlJbmZvKSgoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksMjQzNzIzKSkudGhlbigoZT0+ZS5TZXNzaW9uVm9sdW1lU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQUGVyaW9kaWMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDIyNzA1NikpLnRoZW4oKGU9PmUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQU2Vzc2lvbnNSb3VnaERldGFpbGVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4MzMxNzcpKS50aGVuKChlPT5lLlNlc3Npb25Wb2x1bWUyU3R1ZHkpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfWmlnWmFnIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSg0OTMwNyksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoMjkwNzQpXSkudGhlbihpLmJpbmQoaSw0NTk5NDApKS50aGVuKChlPT5lLnN0dWR5X1ppZ1phZykpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVmJQQXV0b0FuY2hvcmVkIiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSwyMjcwNTYpKS50aGVuKChlPT5lLlZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnMpKSksIm5vUm90YXRpb25zIikpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPUGVyaW9kaWMiLCgwLApyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw3MTQxMCkpLnRoZW4oKGU9PmUuVHBvUGVyaW9kaWNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVFBPU2Vzc2lvbnMiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDMzNDc0MikpLnRoZW4oKGU9PmUuVHBvU2Vzc2lvbnNTdHVkeSkpKSkpLCgwLHJhLmFkZFN0dWR5SW5mb1RvTWFwKSgic3R1ZHlfVm9sdW1lRm9vdHByaW50IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NDYyOTMpKS50aGVuKChlPT5lLlZvbHVtZUZvb3RwcmludFN0dWR5KSkpKSksKDAscmEuYWRkU3R1ZHlJbmZvVG9NYXApKCJTdHVkeVN0cmF0ZWd5IiwoMCxyYS5jcmVhdGVTdHVkeUluZm8pKCgoKT0+UHJvbWlzZS5hbGwoW2kuZSgyMTc4NCksaS5lKDMxMDAxKSxpLmUoODYxNzgpLGkuZSg5MTk0NCksaS5lKDk3NTU4KSxpLmUoNjY5ODgpLGkuZSg5NzI3MiksaS5lKDkyNzApLGkuZSg4NDI2NSksaS5lKDUzNTUpLGkuZSgxMjIyNyksaS5lKDU5NjQ5KSxpLmUoNDc1MzgpXSkudGhlbihpLmJpbmQoaSw4NzQzNjkpKS50aGVuKChlPT5lLlN0dWR5U3RyYXRlZ3kpKSkpKSwoMCxyYS5hZGRTdHVkeUluZm9Ub01hcCkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiLCgwLHJhLmNyZWF0ZVN0dWR5SW5mbykoKCgpPT5Qcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDU0NzU3MikpLnRoZW4oKGU9PmUuUmVwbGF5U3R1ZHlTdHJhdGVneSkpKSkpO2xldCBhYT0wO2FzeW5jIGZ1bmN0aW9uIGxhKGUsdCxpLHMsbixyLG8sYSl7bGV0IGM7Y29uc3QgaD0yPT09bztpZihvdC5TdHVkeU1ldGFJbmZvLmlzUmVwbGF5U3RyYXRlZ3kocykmJihjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoIlJlcGxheVN0dWR5U3RyYXRlZ3kiKSksb3QuU3R1ZHlNZXRhSW5mby5pc1NjcmlwdFN0cmF0ZWd5KHMpJiYoYz0oMCxyYS5nZXRTdHVkeUluZm9CeU5hbWUpKCJTdHVkeVN0cmF0ZWd5IikpLCgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShzKSYmKGM9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKShuYS5mdW5kYW1lbnRhbHNQcmVmaXgpKSwhYyl7Y29uc3QgZT0oMCxuYS5zdHVkeU5hbWVCeU1ldGFJbmZvKShzKTtjPSgwLHJhLmdldFN0dWR5SW5mb0J5TmFtZSkoZT8/IlN0dWR5Iik/P29hfWMuc3R1ZHlDb25zdHJ1Y3Rvcnx8KGFhKz0xLGMuc3R1ZHlDb25zdHJ1Y3Rvcj1hd2FpdCgwLGwuZW5zdXJlRGVmaW5lZCkoYy5zdHVkeUNvbnN0cnVjdG9yQXN5bmNHZXR0ZXIpKCksYWEtPTEpO2NvbnN0IGQ9bmV3KCgwLGwuZW5zdXJlRGVmaW5lZCkoYz8uc3R1ZHlDb25zdHJ1Y3RvcikpKGUsdCxpLHMsbixoLCEhYSk7cmV0dXJuIHZvaWQgMCE9PXImJmQuc2V0SWQociksZH1mdW5jdGlvbiBjYShlLHQpe3JldHVybiBlLmlkPT09dC5pZCYmKHM9dCwoKGk9ZSkucGluZT9pLnBpbmUudmVyc2lvbjp2b2lkIDApPT09KHMucGluZT9zLnBpbmUudmVyc2lvbjp2b2lkIDApKTt2YXIgaSxzfWNvbnN0IGhhPVsiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiLCJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIkNvcnJlbGF0aW9uIENvZWZmQHR2LWJhc2ljc3R1ZGllcyIsIlNwcmVhZEB0di1iYXNpY3N0dWRpZXMiLCJSYXRpb0B0di1iYXNpY3N0dWRpZXMiXTtjb25zdCBkYT1bImNvbG9yLXR2LWJsdWUtNDAwIiwiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiLCJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLXNreS1ibHVlLTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTcwMCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCIsImNvbG9yLXR2LWJsdWUtYTEwMCIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMCIsImNvbG9yLXJpcGUtcmVkLWE0MDAiLCJjb2xvci1taW50eS1ncmVlbi01MDAiLCJjb2xvci1ncmFwZXMtcHVycGxlLWExMDAiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIl07Y2xhc3MgdWF7Y29uc3RydWN0b3IoZSx0PWRhKXt0aGlzLl91c2VyRGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FsY0NvbG9yT2Zmc2V0PWUsdGhpcy5fY29sb3JzPXR9Z2V0Q29sb3IoZSx0PSExKXtjb25zdCBpPXRoaXMuX2NhbGNDb2xvck9mZnNldCgpO2lmKDA9PT1pJiYodGhpcy5fdXNlckRlZmF1bHRVc2VkPSExKSwwPT09aSYmIXQpcmV0dXJuIHRoaXMuX3VzZXJEZWZhdWx0VXNlZD0hMCxlO2NvbnN0IHM9dGhpcy5fY29sb3JzWyhpLSh0aGlzLl91c2VyRGVmYXVsdFVzZWQ/MTowKSkldGhpcy5fY29sb3JzLmxlbmd0aF0sbj1Yby5jb2xvcnNQYWxldHRlW3NdLHI9KDAsJGkuaXNIZXhDb2xvcikoZSk/MTooMCx5aS5wYXJzZVJnYmEpKGUpWzNdO3JldHVybigwLCRpLmdlbmVyYXRlQ29sb3IpKG4sKDAsCiRpLmFscGhhVG9UcmFuc3BhcmVuY3kpKHIpKX19Y2xhc3MgcGF7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9jYWxjQ29sb3JPZmZzZXQ9ZSx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0PXR9Z2V0Q29sb3IoZSl7Y29uc3QgdD10aGlzLl9jYWxjQ29sb3JPZmZzZXQoKTtpZigoMCwkaS5pc0hleENvbG9yKShlKSl7Y29uc3QgaT0oMCx5aS5wYXJzZVJnYikoZSk7cmV0dXJuKDAseWkucmdiVG9IZXhTdHJpbmcpKCgwLHlpLnNoaWZ0UmdiKShpLHQsdGhpcy5fbW9kZWxTdGFydE9mZnNldCkpfXtjb25zdCBpPSgwLHlpLnBhcnNlUmdiYSkoZSk7cmV0dXJuKDAseWkucmdiYVRvU3RyaW5nKSgoMCx5aS5zaGlmdFJnYmEpKGksdCx0aGlzLl9tb2RlbFN0YXJ0T2Zmc2V0KSl9fX1jbGFzcyBfYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yb3RhdG9ycz1uZXcgV2Vha01hcCx0aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldD1lPT57Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtpZihpKXtjb25zdCBlPWkuY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I7aWYodm9pZCAwIT09ZSlyZXR1cm4gZX1yZXR1cm4gY2F9KGUpO3JldHVybiB0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChpPT4oMCx0aS5pc1N0dWR5KShpKSYmdChlLGkubWV0YUluZm8oKSkpKS5sZW5ndGh9LHRoaXMuX2NoYXJ0TW9kZWw9ZX1nZXRDb2xvclJvdGF0b3IoZSl7aWYodGhpcy5fcm90YXRvcnMuaGFzKGUpKXtjb25zdCB0PXRoaXMuX3JvdGF0b3JzLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0fWNvbnN0IHQ9dGhpcy5fY3JlYXRlQ29sb3JSb3RhdG9yKGUpO3JldHVybiB0aGlzLl9yb3RhdG9ycy5zZXQoZSx0KSx0fV9jcmVhdGVDb2xvclJvdGF0b3IoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLG5hLnN0dWR5TmFtZUJ5TWV0YUluZm8pKGUpLGk9KDAscmEuZ2V0U3R1ZHlJbmZvQnlOYW1lKSh0KTtyZXR1cm4gaT8oMCxzYS5kZWZhdWx0KShpLmNvbG9yUm90YXRpb25Nb2RlKT9pLmNvbG9yUm90YXRpb25Nb2RlKGUpOmkuY29sb3JSb3RhdGlvbk1vZGU6dm9pZCAwPT09ZS5waW5lfHxvdC5TdHVkeU1ldGFJbmZvLmlzU3RhbmRhcmRQaW5lKGUuaWQpPzEhPT1lLnBsb3RzLmxlbmd0aD8ic2hpZnQiOiJsb29wIjpudWxsfShlKSxpPSgpPT50aGlzLl9jYWxjRGVmYXVsdENvbG9yc09mZnNldChlKTtzd2l0Y2godCl7Y2FzZSJsb29wIjpyZXR1cm4gbmV3IHVhKGkpO2Nhc2Uic2hpZnQiOnJldHVybiBuZXcgcGEoaSx0aGlzLl9jaGFydE1vZGVsLmdldFN0dWR5U2hpZnRDb2xvclN0YXJ0T2Zmc2V0KCkpO2Nhc2UgbnVsbDpjYXNlIm5vUm90YXRpb25zIjpyZXR1cm4gbnVsbH19fXZhciBtYSxnYSxmYT1pKDM2Mjc3MyksU2E9aSg2ODE3OTkpOyFmdW5jdGlvbihlKXtlW2UuQm9yZGVyU2l6ZT0xXT0iQm9yZGVyU2l6ZSJ9KG1hfHwobWE9e30pKSxmdW5jdGlvbihlKXtlW2UuQWRkaXRpb25hbElubmVyUGFkZGluZz00XT0iQWRkaXRpb25hbElubmVyUGFkZGluZyIsZVtlLkhvcnpQYWRkaW5nPTRdPSJIb3J6UGFkZGluZyIsZVtlLlZlcnRQYWRkaW5nPTIuNV09IlZlcnRQYWRkaW5nIixlW2UuTGluZVNwYWNpbmc9Ml09IkxpbmVTcGFjaW5nIn0oZ2F8fChnYT17fSkpO2NsYXNzIHZhe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyT3B0aW9ucz17Ym9yZGVyU2l6ZToxLGFkZGl0aW9uYWxQYWRkaW5nSW5uZXI6MCxmb250U2l6ZTpOYU4sZm9udDoiIixjb2xvcjoiIixwYW5lQmFja2dyb3VuZENvbG9yOiIiLHBhZGRpbmdCb3R0b206MCxwYWRkaW5nSW5uZXI6MCxwYWRkaW5nT3V0ZXI6MCxwYWRkaW5nVG9wOjAsbGluZVNwYWNpbmc6MH0sdGhpcy5fY2hhcnRNb2RlbD1lfW9wdGlvbnMoKXtjb25zdCBlPXRoaXMuX3JlbmRlcmVyT3B0aW9ucyx0PXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLGk9dC5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmZvbnRTaXplLnZhbHVlKCk7cmV0dXJuIGUuZm9udFNpemUhPT1pJiYoZS5mb250U2l6ZT1pLGUuZm9udD0oMCxSaS5tYWtlRm9udCkoaSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCIiKSxlLnBhZGRpbmdUb3A9aS8xMioyLjUsZS5wYWRkaW5nQm90dG9tPWkvMTIqMi41LGUucGFkZGluZ0lubmVyPWkvMTIqNCxlLmFkZGl0aW9uYWxQYWRkaW5nSW5uZXI9aS8xMio0LGUucGFkZGluZ091dGVyPWkvMTIqNCxlLmxpbmVTcGFjaW5nPWkvMTIqMiksZS5jb2xvcj10LnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksZS5wYW5lQmFja2dyb3VuZENvbG9yPXQucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHRoaXMuX3JlbmRlcmVyT3B0aW9uc319dmFyIHlhPWkoNzk0ODEyKSxiYT1pKDk2MTgzMSk7Y29uc3Qgd2E9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LnNlc3Npb25zLHh0LmRhcmtUaGVtZS5jb250ZW50LnNlc3Npb25zKTtjb25zdCBDYT1bImdyYXBoaWNzIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wcmVNYXJrZXQudmlzaWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucHJlTWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMucG9zdE1hcmtldC52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5wb3N0TWFya2V0LmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQuYmFja2dyb3VuZHMuZWxlY3Ryb25pYy52aXNpYmxlIiwic2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5lbGVjdHJvbmljLmF2YWlsYWJsZSIsInNlc3Npb25IaWdobGlnaHQudmVydExpbmVzLnNlc3NCcmVha3MuYXZhaWxhYmxlIl07Y2xhc3MgUGEgZXh0ZW5kcyBHci5EZWZhdWx0UHJvcGVydHl7Y29uc3RydWN0b3IoZSl7c3VwZXIoe2RlZmF1bHROYW1lOiJzZXNzaW9ucyIsdGhlbWVkQ29sb3JzOndhLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsuLi5DYV0sCmV4Y2x1ZGVkU3RhdGVLZXlzOlsuLi5DYV0sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Wy4uLkNhXX0pLHRoaXMuX3N5bWJvbEluZm89ZSx0aGlzLl9zeW1ib2xJbmZvLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKSkpLHRoaXMuaGFzQ2hpbGQoImdyYXBoaWNzIil8fHRoaXMuYWRkUHJvcGVydHkoImdyYXBoaWNzIix7fSksdGhpcy5tZXJnZSh7c2Vzc2lvbkhpZ2hsaWdodDp7dmVydGxpbmVzOntzZXNzQnJlYWtzOnthdmFpbGFibGU6ITB9fSxiYWNrZ3JvdW5kczp7cHJlTWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scG9zdE1hcmtldDp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG5pZ2h0TWFya2V0Ont2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0sZWxlY3Ryb25pYzp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9LG91dE9mU2Vzc2lvbjp7dmlzaWJsZTohMCxhdmFpbGFibGU6ITB9fX19KSx0aGlzLl91cGRhdGVHcmFwaGljc1Byb3BzKCksdGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUdyYXBoaWNzUHJvcHMoKX0pKX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sSW5mby5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXJlc3RvcmVTdGF0ZShlKXtjb25zdCB0PWUucHJvcGVydGllczshZnVuY3Rpb24oZSl7Y29uc3QgdD1lLGk9ImdyYXBoaWNzImluIGU/ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczp2b2lkIDA7aWYodm9pZCAwIT09aSl7Y29uc3QgZT0oMCxsLmVuc3VyZURlZmluZWQpKGkub3V0T2ZTZXNzaW9uKTtlLmNvbG9yPT09YmEuc2Vzc2lvbnNQcmVmZXJlbmNlc0RlZmF1bHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcy5vdXRPZlNlc3Npb24uY29sb3J8fCJwb3N0TWFya2V0ImluIGk/KHQuc2Vzc2lvbkhpZ2hsaWdodD10LnNlc3Npb25IaWdobGlnaHQ/P3t9LHQuc2Vzc2lvbkhpZ2hsaWdodC5iYWNrZ3JvdW5kcz1pKToodC5zZXNzaW9uSGlnaGxpZ2h0PXQuc2Vzc2lvbkhpZ2hsaWdodD8/e30sdC5zZXNzaW9uSGlnaGxpZ2h0LmJhY2tncm91bmRzPXsuLi50LnNlc3Npb25IaWdobGlnaHQ/LmJhY2tncm91bmRzPz97fSxwb3N0TWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH0scHJlTWFya2V0Ontjb2xvcjplLmNvbG9yLHRyYW5zcGFyZW5jeTplLnRyYW5zcGFyZW5jeSx2aXNpYmxlOiEwLGF2YWlsYWJsZTohMH19KX1jb25zdCBzPSJncmFwaGljcyJpbiBlP2UuZ3JhcGhpY3MudmVydGxpbmVzOnZvaWQgMDtzJiYodC5zZXNzaW9uSGlnaGxpZ2h0Pz89e30sdC5zZXNzaW9uSGlnaGxpZ2h0LnZlcnRsaW5lcz1zKSwoMCxHci5jbGVhblVwU3RhdGVLZXlzKSh0LENhKX0odCksImdyYXBoaWNzImluIGUucHJvcGVydGllcyYmKCgwLHIuZGVmYXVsdCkoZS5wcm9wZXJ0aWVzLnNlc3Npb25IaWdobGlnaHQsZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSxkZWxldGUgZS5wcm9wZXJ0aWVzLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZSh0KSx0aGlzLnJlbW92ZUR1cGxpY2F0ZVByb3BlcnRpZXMoKX1sb2FkVGhlbWVTdGF0ZShlKXsiZ3JhcGhpY3MiaW4gZSYmKCgwLHIuZGVmYXVsdCkoZS5zZXNzaW9uSGlnaGxpZ2h0LGUuZ3JhcGhpY3MpLGRlbGV0ZSBlLmdyYXBoaWNzKSx0aGlzLm1lcmdlQW5kRmlyZShlKX1yZW1vdmVEdXBsaWNhdGVQcm9wZXJ0aWVzKCl7dGhpcy5oYXNDaGlsZCgicHJvcGVydGllcyIpJiYodGhpcy5yZW1vdmVQcm9wZXJ0eSgicHJvcGVydGllcyIpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLmZpcmVDaGFuZ2VkKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpKX1fdXNlclNldHRpbmdzKCl7Y29uc3QgZT1zdXBlci5fdXNlclNldHRpbmdzKCk7cmV0dXJuIGUmJiFlLnNlc3Npb25IaWdobGlnaHQmJihlLnNlc3Npb25IaWdobGlnaHQ9ZS5ncmFwaGljcyksZGVsZXRlIGU/LmdyYXBoaWNzLGV9X3VwZGF0ZUdyYXBoaWNzUHJvcHMoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtlJiYodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LnN0YXRlKCkpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucz8uZmlsdGVyKChlPT4hZS5wcml2YXRlKSkubWFwKChlPT5lLmlkKSk/P1tdO3JldHVybiJmdXR1cmVzIj09PWUudHlwZSYmdC5pbmNsdWRlcygicmVndWxhciIpJiZ0LmluY2x1ZGVzKCJ1c19yZWd1bGFyIil9KGUpJiYoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLmJhY2tncm91bmRzKS5jaGlsZHMoKS5wcmVNYXJrZXQubWVyZ2VBbmRGaXJlKHRoaXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKS5iYWNrZ3JvdW5kcy5jaGlsZHMoKS5lbGVjdHJvbmljLnN0YXRlKCkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5iYWNrZ3JvdW5kcykuY2hpbGRzKCkucG9zdE1hcmtldC5tZXJnZUFuZEZpcmUodGhpcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLmJhY2tncm91bmRzLmNoaWxkcygpLmVsZWN0cm9uaWMuc3RhdGUoKSkpKX19Y2xhc3MgVGEgZXh0ZW5kcyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcntjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSwoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHRoaXMuX21vZGVsPXQsdGhpcy5fcHJvcGVydGllcz1pLHQubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVZpc2libGVPZlByZUFuZFBvc3RNYXJrZXRCYWNrZ3JvdW5kKSx0aGlzLl91cGRhdGVWaXNpYmxlT2ZQcmVBbmRQb3N0TWFya2V0QmFja2dyb3VuZCgpLGUudGhlbigoZT0+eyF0aGlzLl9kZXN0cm95ZWQmJnRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhJiYoZS5yZXN0b3JlU3RhdGVEYXRhKHRoaXMuX3Nlc3Npb25zU3RhdGVEYXRhKSwKdGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9bnVsbCl9KSl9ZGVzdHJveSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LHZvaWQgMCwhMSxlLCJzZXNzaW9ucyIpO2NvbnN0IHQ9dGhpcy5nZXQoKTt0JiZ0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodCl9c3RhdGUoZSl7Y29uc3QgdD17cHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLnN0YXRlKCl9O3JldHVybiBlJiYodC5kYXRhPXRoaXMuZ2V0KCk/LnN0YXRlRGF0YSgpPz90aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT8/dm9pZCAwKSx0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKGUub2xkU3RhdGUmJihlPWZ1bmN0aW9uKGUsdCl7Y29uc3QgaT17cHJvcGVydGllczp7Z3JhcGhpY3M6ZS5zdGF0ZS5ncmFwaGljc319O3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJnZvaWQgMCE9PWUubWV0YUluZm8mJnQmJihpLmRhdGE9e21ldGFJbmZvOmUubWV0YUluZm8sZ3JhcGhpY3M6ZS5kYXRhLmdyYXBoaWNzfSksaX0oZSx0KSksdGhpcy5fcHJvcGVydGllcy5yZXN0b3JlU3RhdGUoZSksdGhpcy5fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKSx0aGlzLl9zZXNzaW9uc1N0YXRlRGF0YT1udWxsLHZvaWQgMCE9PWUuZGF0YSYmdCl7Y29uc3QgdD10aGlzLmdldCgpO3Q/dC5yZXN0b3JlU3RhdGVEYXRhKGUuZGF0YSk6dGhpcy5fc2Vzc2lvbnNTdGF0ZURhdGE9ZS5kYXRhfX1fdXBkYXRlVmlzaWJsZU9mUHJlQW5kUG9zdE1hcmtldEJhY2tncm91bmQoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQuY2hpbGRzKCkse3ByZU1hcmtldDppLHBvc3RNYXJrZXQ6cyxlbGVjdHJvbmljOm4sb3V0T2ZTZXNzaW9uOnJ9PXQuYmFja2dyb3VuZHMuY2hpbGRzKCkse3Nlc3NCcmVha3M6b309dC52ZXJ0bGluZXMuY2hpbGRzKCksYT1lLnN1YnNlc3Npb25faWQsbD1hJiYoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoYSxlKSxjPSgwLEEuc3ltYm9sSGFzUHJlT3JQb3N0TWFya2V0KShlKSxoPSJmdXR1cmVzIj09PWUudHlwZSYmKDAsQS5zeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbikoZSk7aS5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoYyYmIWwpLHMuY2hpbGRzKCkuYXZhaWxhYmxlLnNldFZhbHVlKGMmJiFsKSxuLmNoaWxkcygpLmF2YWlsYWJsZS5zZXRWYWx1ZShoJiYhbCksci5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoKGN8fGgpJiYhbCksby5jaGlsZHMoKS5hdmFpbGFibGUuc2V0VmFsdWUoITApfX19dmFyIHhhPWkoOTI1MjgyKTtjb25zdCBNYT0ic3ltYm9sV2F0ZXJtYXJrIixJYT17dGlja2VyOiExLGludGVydmFsOiExLGRlc2NyaXB0aW9uOiExLGN1c3RvbTohMSxyZXBsYXk6ITAsY29sb3I6IiJ9LExhPSJyZ2JhKDgwLCA4MywgOTQsIDAuMjUpIixBYT1bInJnYmEoODAsIDgzLCA5NCwgMC4yMCkiLCJyZ2JhKDgwLCA4MywgOTQsIDAuMzApIl07ZnVuY3Rpb24ga2EoKXtjb25zdCBlPVEuZ2V0SlNPTihNYSl8fHt9O3JldHVybnsuLi5JYSwuLi5EYShlKX19ZnVuY3Rpb24gRGEoZSl7Y29uc3R7Y29sb3I6dCx2aXNpYmlsaXR5OmksLi4uc309ZSxyPXsuLi5zfTtyZXR1cm4gdm9pZCAwIT09aSYmKHIudGlja2VyPXMudGlja2VyPz9pLHIuaW50ZXJ2YWw9cy5pbnRlcnZhbD8/aSxyLmRlc2NyaXB0aW9uPXMuZGVzY3JpcHRpb24/P2ksci5jdXN0b209cy5jdXN0b20/P2kpLCgwLG4uZGVmYXVsdCkodCkmJnQhPT1MYSYmKHIuY29sb3I9dCkscn1jbGFzcyBFYSBleHRlbmRzIE90LlByb3BlcnR5e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5fZGVmYXVsdENvbG9ycz10fXZhbHVlKGUpe2NvbnN0IHQ9c3VwZXIudmFsdWUoKTtyZXR1cm4gdm9pZCAwPT09ZXx8dCYmdC5sZW5ndGg+MD90OnRoaXMuX2dldERlZmF1bHRDb2xvcihlKX1fZ2V0RGVmYXVsdENvbG9yKGUpe2NvbnN0W3QsaV09dGhpcy5fZGVmYXVsdENvbG9ycztyZXR1cm4gZT09PUpvLlN0ZFRoZW1lLkxpZ2h0P3Q6aX19Y29uc3QgUmE9KDAsYnQuZGVmYXVsdCkoKCgpPT57Y29uc3R7Y29sb3I6ZSwuLi50fT1rYSgpLGk9bmV3IE90LlByb3BlcnR5KHsuLi5JYSwuLi50fSwoMCx4YS5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoSWEpKTtyZXR1cm4gaS5hZGRDaGlsZCgiY29sb3IiLG5ldyBFYShlLEFhKSksUS5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5pLm1lcmdlQW5kRmlyZShrYSgpKSkpLGkuc3Vic2NyaWJlKG51bGwsKCgpPT5RLnNldEpTT04oTWEsaS5zdGF0ZSgpKSkpLGl9KSk7dmFyIFZhLEJhPWkoNjYzMDQ2KSxOYT1pKDUyODM5NiksT2E9aSg2MTU2NzMpLFdhPWkoNzc4NDU4KSxGYT1pKDU3MzA1NCk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lT2Zmc2V0PTRdPSJMaW5lT2Zmc2V0IixlW2UuTGluZVBhZGRpbmc9OF09IkxpbmVQYWRkaW5nIn0oVmF8fChWYT17fSkpO2NsYXNzIEhhIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3dpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKCF0aGlzLl9kYXRhKXJldHVybjtjb25zdHtsaW5lczp0LGNvbG9yOml9PXRoaXMuX2RhdGEse2NvbnRleHQ6cyxtZWRpYVNpemU6e3dpZHRoOm4saGVpZ2h0OnJ9fT1lO2xldCBvPTA7Y29uc3QgYT1bXSxsPXQuZmlsdGVyKChlPT4hIWUudGV4dCkpLGM9bC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7CmNvbnN0IHQ9bFtlXSx7Zm9udDppLGxpbmVIZWlnaHQ6cn09emEodCwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSx7d2lkdGg6YyxwYWRkaW5nUmlnaHQ6aH09VWEodC5pY29uLDA9PT1lLG48V2EubW9iaWxlRmlyc3RCcmVha3BvaW50c1sibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl0pO3MuZm9udD1pO2NvbnN0IGQ9dGhpcy5fd2lkdGhDYWNoZS5tZWFzdXJlVGV4dChzLHQudGV4dCkrYytoKzE2LHU9ZD5uP24vZDoxO2EucHVzaCh1KSxvKz1yKnUrNH1sZXQgaD1NYXRoLm1heCgoci1vKS8yLDApO3MuZmlsbFN0eWxlPWk7Zm9yKGxldCBlPTA7ZTxjO2UrKyl7Y29uc3QgdD1sW2VdLGk9YVtlXSx7Zm9udDpyLGxpbmVIZWlnaHQ6byx2ZXJ0T2Zmc2V0OmN9PXphKHQsMD09PWUsbjxXYS5tb2JpbGVGaXJzdEJyZWFrcG9pbnRzWyJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiXSk7dHJ5e3Muc2F2ZSgpLHMuZm9udD1yLHMudGV4dEJhc2VsaW5lPSJ0b3AiLHMudGV4dEFsaWduPSJsZWZ0Ijtjb25zdHtpY29uOmEsdGV4dDpsfT10LHt3aWR0aDpkLHBhZGRpbmdSaWdodDp1LHBhdGg6cH09VWEoYSwwPT09ZSxuPFdhLm1vYmlsZUZpcnN0QnJlYWtwb2ludHNbIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdKSxfPXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQocyxsKStkK3U7aWYocy50cmFuc2xhdGUoKG4taSpfKS8yLGgpLHMuc2NhbGUoaSxpKSxwKXtjb25zdCBlPXt4OjAseTooby1kKS8yfTt0cnl7cy50cmFuc2xhdGUoZS54LGUueSkscy5maWxsKHAsImV2ZW5vZGQiKX1maW5hbGx5e3MudHJhbnNsYXRlKC1lLngsLWUueSl9fXMudHJhbnNsYXRlKGQrdSwwKSxzLmZpbGxUZXh0KGwsMCxjKSxoKz1vKmkrNH1maW5hbGx5e3MucmVzdG9yZSgpfX19fWZ1bmN0aW9uIHphKGUsdCxpKXtyZXR1cm4iZ2V0Rm9udE1ldHJpY3MiaW4gZT9lLmdldEZvbnRNZXRyaWNzKHQsaSk6ZX1mdW5jdGlvbiBVYShlLHQsaSl7cmV0dXJuIHZvaWQgMD09PWU/R2E6KDAsc2EuZGVmYXVsdCkoZSk/ZSh0LGkpOmV9Y29uc3QgR2E9e3dpZHRoOjAscGFkZGluZ1JpZ2h0OjB9LGphPW5ldyBQYXRoMkQoIk0yOCA1NEM0Mi4zNTk0IDU0IDU0IDQyLjM1OTQgNTQgMjhDNTQgMTMuNjQwNiA0Mi4zNTk0IDIgMjggMkMxMy42NDA2IDIgMiAxMy42NDA2IDIgMjhDMiA0Mi4zNTk0IDEzLjY0MDYgNTQgMjggNTRaTTI2IDE2VjI4VjQwTDE0IDI4TDI2IDE2Wk0yNiAyOEwzOCA0MFYxNkwyNiAyOFoiKSxxYT1qYSwkYT0oMCxEaS5zY2FsZVBhdGgyRCkoamEsLjc4NTcxNDI4NiksWWE9KDAsRGkuc2NhbGVQYXRoMkQpKGphLC41KTtmdW5jdGlvbiBLYShlLHQpe3JldHVybiBlLnZhbHVlKHQpfWZ1bmN0aW9uIFhhKGUpe3JldHVybigwLFJpLm1ha2VGb250KShlLFdpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpfWNsYXNzIFphe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcmVuZGVyZXI9bmV3IEhhLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX21vZGVsPWUsdGhpcy5fd2F0ZXJtYXJrPXR9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3R7dGlja2VyOmUsaW50ZXJ2YWw6dCxkZXNjcmlwdGlvbjpzLGN1c3RvbTpuLHJlcGxheTpyfT10aGlzLl93YXRlcm1hcmsucHJvcGVydGllcygpLnN0YXRlKCksbz10aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS52YWx1ZSgpLGw9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGM9bC5hbGlhc1N5bWJvbEluZm8oKSxoPXImJmwuaXNJblJlcGxheSgpLnZhbHVlKCksZD1udWxsO2lmKCFjfHwhKGQ/bjplfHx0fHxzfHxoKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW5kZXJlci5zZXREYXRhKG51bGwpO2lmKGQpe2NvbnN0IGU9ZCh7c3ltYm9sSW5mbzpjLGludGVydmFsOmwuaW50ZXJ2YWwoKX0pLHQ9ZT8ubWFwKChlPT4oe3RleHQ6ZS50ZXh0LGZvbnQ6WGEoZS5mb250U2l6ZSksbGluZUhlaWdodDplLmxpbmVIZWlnaHQsdmVydE9mZnNldDplLnZlcnRPZmZzZXR9KSkpO3JldHVybiB2b2lkIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoe2NvbG9yOkthKHRoaXMuX3dhdGVybWFyay5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY29sb3IsbyksbGluZXM6dD8/W119KX1sZXQgdT1jLm5hbWU7aWYoL1FVQU5ETC8udGVzdChjLmV4Y2hhbmdlKSl7Y29uc3QgZT11LnNwbGl0KC9cLy8pO2UubGVuZ3RoJiYodT1lW2UubGVuZ3RoLTFdKX1jb25zdCBfPXtkZXNjcmlwdGlvbjpjLmRlc2NyaXB0aW9uLHNob3J0X2Rlc2NyaXB0aW9uOmMuc2hvcnRfZGVzY3JpcHRpb24scHJvX25hbWU6Yy5wcm9fbmFtZSxzaG9ydF9uYW1lOmMubmFtZSxsb2NhbF9kZXNjcmlwdGlvbjpjLmxvY2FsX2Rlc2NyaXB0aW9uLGxhbmd1YWdlOmMubGFuZ3VhZ2V9LG09W2U/dTpudWxsLHQ/KDAsT2EudHJhbnNsYXRlZEludGVydmFsU3RyaW5nKShsLmludGVydmFsKCkpOm51bGxdLmZpbHRlcihhLm5vdE51bGwpLGc9W3t0ZXh0OnU/bS5qb2luKCIsICIpOiIifSx7dGV4dDpzJiYoMCxOYS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKF8pfHwiIn0se3RleHQ6aCYmcC50KG51bGwsdm9pZCAwLGkoODkzMDI4KSl8fCIiLGljb246SmF9XS5maWx0ZXIoKGU9PmUudGV4dC5sZW5ndGg+MCkpLm1hcCgoKHt0ZXh0OmUsaWNvbjp0fSk9Pih7dGV4dDplLGljb246dCxnZXRGb250TWV0cmljczpRYX0pKSk7dGhpcy5fcmVuZGVyZXIuc2V0RGF0YSh7Y29sb3I6S2EodGhpcy5fd2F0ZXJtYXJrLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jb2xvcixvKSxsaW5lczpnfSl9fWNvbnN0IEphPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3JldHVybiB0P2U/e3BhdGg6JGEsd2lkdGg6NDQscGFkZGluZ1JpZ2h0OjEyfTp7cGF0aDpZYSx3aWR0aDoyOCxwYWRkaW5nUmlnaHQ6OH06ZT97cGF0aDpxYSx3aWR0aDo1NixwYWRkaW5nUmlnaHQ6MTZ9OntwYXRoOllhLHdpZHRoOjI4LApwYWRkaW5nUmlnaHQ6MTJ9fSksKChlLHQpPT5gJHtlfS0ke3R9YCkpO2NvbnN0IFFhPSgwLEJhLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe2NvbnN0W2kscyxuXT10bFt0P2U/MjozOmU/MDoxXTtyZXR1cm57Zm9udDpYYShpKSxsaW5lSGVpZ2h0OnMsdmVydE9mZnNldDpufX0pLCgoZSx0KT0+YCR7ZX0tJHt0fS0ke1dpLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCl9YCkpO3ZhciBlbDshZnVuY3Rpb24oZSl7ZVtlLkZpcnN0TGluZT0wXT0iRmlyc3RMaW5lIixlW2UuT3RoZXJMaW5lcz0xXT0iT3RoZXJMaW5lcyIsZVtlLkZpcnN0TGluZU1vYmlsZT0yXT0iRmlyc3RMaW5lTW9iaWxlIixlW2UuT3RoZXJMaW5lc01vYmlsZT0zXT0iT3RoZXJMaW5lc01vYmlsZSJ9KGVsfHwoZWw9e30pKTtjb25zdCB0bD17MDpbODAsODAsNl0sMTpbMzYsNDQsOF0sMjpbNDgsNDgsNF0sMzpbMjgsMzYsNl19LGlsPSJzeW1ib2xXYXRlcm1hcmsiO2NsYXNzIHNsIGV4dGVuZHMgdXIuRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3VwZGF0ZVNvdXJjZT0oKT0+e3RoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX0sdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcm9wZXJ0aWVzPVJhKCksKDAseWEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsaWwpLHRoaXMuX3Byb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kVGhlbWUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wYW5lVmlldz1uZXcgWmEoZSx0aGlzKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU291cmNlKSx0aGlzLl9wcm9wZXJ0aWVzLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU291cmNlKSxzdXBlci5kZXN0cm95KCl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9bmFtZSgpe3JldHVybiJ3YXRlcm1hcmsifXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl7UmEoKS5tZXJnZUFuZEZpcmUoSWEpfWFwcGx5T3ZlcnJpZGVzKGUpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5fcHJvcGVydGllcyx2b2lkIDAsITEsZnVuY3Rpb24oZSl7Y29uc3R7dmlzaWJpbGl0eTp0LC4uLml9PWUscz17Li4uaX07cmV0dXJuIHZvaWQgMCE9PXQmJihzLnRpY2tlcj10LHMuaW50ZXJ2YWw9dCxzLmRlc2NyaXB0aW9uPXQscy5jdXN0b209dCksc30oZSksaWwpfXBhbmVWaWV3cygpe3JldHVyblt0aGlzLl9wYW5lVmlld119dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fcGFuZVZpZXcudXBkYXRlKCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJXYXRlcm1hcmtDb250ZXh0TWVudSJ9fXZhciBubCxybD1pKDEzMTI5NCksb2w9aSg2MzY5MTIpOyFmdW5jdGlvbihlKXtlW2UuU3RlcEZvckNoYW5nZVZhbHVlPS4xXT0iU3RlcEZvckNoYW5nZVZhbHVlIixlW2UuTWluVmFsdWU9MWUtN109Ik1pblZhbHVlIixlW2UuTWF4VmFsdWU9OTk5OTk5OTldPSJNYXhWYWx1ZSJ9KG5sfHwobmw9e30pKTtjbGFzcyBhbCBleHRlbmRzIG9sLlByb3BlcnR5QmFzZXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21vZGVsPWV9ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9Z2V0U3RlcENoYW5nZVZhbHVlKCl7cmV0dXJuLjF9Z2V0TWluVmFsdWUoKXtyZXR1cm4gMWUtN31nZXRNYXhWYWx1ZSgpe3JldHVybiA5OTk5OTk5OX12YWx1ZSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzU2NhbGVSYXRpbygpfXNldFZhbHVlKGUsdCl7KGUhPT10aGlzLnZhbHVlKCl8fHQpJiYodGhpcy5fbW9kZWwuc2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSksdGhpcy5maXJlQ2hhbmdlZCgpKX1zZXRWYWx1ZVNpbGVudGx5KGUpe2UhPT10aGlzLnZhbHVlKCkmJnRoaXMuX21vZGVsLnNldE1haW5TZXJpZXNTY2FsZVJhdGlvKGUpfXN0YXRlKCl7cmV0dXJuIG51bGx9Y2xvbmUoKXtyZXR1cm4gbmV3IGFsKHRoaXMuX21vZGVsKX1zdG9yZVN0YXRlSWZVbmRlZmluZWQoKXtyZXR1cm4hMH13ZWFrUmVmZXJlbmNlKCl7cmV0dXJuKDAscmwud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAscmwub3duZXJzaGlwKSh0aGlzKX19dmFyIGxsPWkoMjc1NzQyKSxjbD1pKDg1NTYyNik7Y2xhc3MgaGx7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9tYXAxPW5ldyBNYXAsdGhpcy5fbWFwMj1uZXcgTWFwLHRoaXMuX2dldHRlcjE9ZSx0aGlzLl9nZXR0ZXIyPXR9YWRkKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0dGVyMShlKSxpPXRoaXMuX2dldHRlcjIoZSk7dGhpcy5fbWFwMS5zZXQodCxlKSx0aGlzLl9tYXAyLnNldChpLHQpfWdldEJ5S2V5MShlKXtyZXR1cm4gdGhpcy5fbWFwMS5nZXQoZSk/P251bGx9Z2V0QnlLZXkyKGUpe2NvbnN0IHQ9dGhpcy5fbWFwMi5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0aGlzLl9tYXAxLmdldCh0KT8/bnVsbH1yZW1vdmVCeUtleTEoZSl7Y29uc3QgdD10aGlzLl9tYXAxLmdldChlKTt2b2lkIDAhPT10JiYodGhpcy5fbWFwMS5kZWxldGUoZSksdGhpcy5fbWFwMi5kZWxldGUodGhpcy5fZ2V0dGVyMih0KSkpfXJlbW92ZUJ5S2V5MihlKXtjb25zdCB0PXRoaXMuX21hcDIuZ2V0KGUpO3ZvaWQgMCE9PXQmJih0aGlzLl9tYXAyLmRlbGV0ZShlKSx0aGlzLl9tYXAxLmRlbGV0ZSh0KSl9fXZhciBkbCx1bD1pKDI1NDgzNSkscGw9aSg3MzY1ODcpLF9sPWkoOTQzMTMwKSxtbD1pKDIyNzk4NCksZ2w9aSg4ODE5MiksZmw9aSgyMjQxODMpO2Z1bmN0aW9uIFNsKGUsdCxpKXtyZXR1cm4gaS5oYXNEYXRhU291cmNlKHQpP2JsKHQsaSk9PT1lOiEhaS5pc01haW5QYW5lKCkudmFsdWUoKSYmYmwoaS5tb2RlbCgpLm1haW5TZXJpZXMoKSxpKT09PWV9IWZ1bmN0aW9uKGUpe2UuVHJhZGluZz0idHJhZGluZyIsZS5EcmF3aW5nPSJkcmF3aW5nIiwKZS5EcmF3aW5nRm9yQWxsU3ltYm9scz0iZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlLlBoYW50b209InBoYW50b20iLGUuUmVzdFJvd1NvdXJjZXM9InJlc3RSb3dTb3VyY2VzIixlLkxlZ2VuZFZpZXdTb3VyY2VzPSJsZWdlbmRWaWV3U291cmNlcyIsZS5MZWZ0UHJpY2VTY2FsZT0ibGVmdFByaWNlU2NhbGUiLGUuUmlnaHRQcmljZVNjYWxlPSJyaWdodFByaWNlU2NhbGUiLGUuT3ZlcmxheVByaWNlU2NhbGU9Im92ZXJsYXlQcmljZVNjYWxlIixlLk11bHRpcGFuZVNvdXJjZXM9Im11bHRpcGFuZSIsZS5BbGxXaXRob3V0TXVsdGlwYW5lPSJhbGxXaXRob3V0TXVsdGlwYW5lIixlLkFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuPSJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsZS5QbG90U291cmNlPSJwbG90U291cmNlIixlLk9iamVjdFRyZWU9Im9iamVjdFRyZWUiLGUuSGl0VGVzdD0iaGl0VGVzdCIsZS5HZW5lcmFsPSJnZW5lcmFsIixlLlByaWNlPSJwcmljZSIsZS5FeGNlcHRTcGVjaWFsPSJleGNlcHRTcGVjaWFsIixlLlZpc2libGVFeGNlcHRTcGVjaWFsPSJ2aXNpYmxlRXhjZXB0U3BlY2lhbCIsZS5BbGxTb3J0ZWQ9ImFsbFNvcnRlZCIsZS5WaXNpYmxlU29ydGVkPSJ2aXNpYmxlU29ydGVkIn0oZGx8fChkbD17fSkpO2NvbnN0IHZsPW5ldyBNYXAoW1sicHJpY2UiLGU9PigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKV0sWyJ0cmFkaW5nIixlPT4oMCxyaS5pc1RyYWRpbmcpKGUpXSxbImRyYXdpbmciLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiYhKDAscmkuaXNUcmFkaW5nKShlKSYmIWUuaXNQaGFudG9tKCldLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIixlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmISgwLHJpLmlzVHJhZGluZykoZSkmJiFlLmlzUGhhbnRvbSgpXSxbInBoYW50b20iLGU9PigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzUGhhbnRvbSgpXSxbInJlc3RSb3dTb3VyY2VzIixlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSkmJiEoMCxyaS5pc1RyYWRpbmcpKGUpXSxbImxlZ2VuZFZpZXdTb3VyY2VzIiwoZSx0KT0+dC5oYXNEYXRhU291cmNlKGUpJiYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpfHwoMCxnbC5pc1N0dWR5TGluZVRvb2wpKGUpKV0sWyJsZWZ0UHJpY2VTY2FsZSIsU2wuYmluZChudWxsLCJsZWZ0IildLFsicmlnaHRQcmljZVNjYWxlIixTbC5iaW5kKG51bGwsInJpZ2h0IildLFsib3ZlcmxheVByaWNlU2NhbGUiLFNsLmJpbmQobnVsbCwib3ZlcmxheSIpXSxbIm11bHRpcGFuZSIsKGUsdCk9PiF0Lmhhc0RhdGFTb3VyY2UoZSldLFsiYWxsV2l0aG91dE11bHRpcGFuZSIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJhbGxXaXRob3V0TXVsdGlwYW5lV2l0aEhpZGRlbiIsKGUsdCk9PnQuaGFzRGF0YVNvdXJjZShlKV0sWyJwbG90U291cmNlIiwoZSx0KT0+KDAsZmwuaXNTZXJpZXMpKGUpfHwoMCx0aS5pc1N0dWR5KShlKSYmdC5oYXNEYXRhU291cmNlKGUpJiYhZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCldLFsib2JqZWN0VHJlZSIsKGUsdCk9PntpZigoMCxyaS5pc0xpbmVUb29sKShlKSl7Y29uc3QgaT1lLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpcmV0dXJuIHQuaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoaSl9cmV0dXJuIHQuaGFzRGF0YVNvdXJjZShlKX1dXSkseWw9bmV3IE1hcChbWyJwcmljZSIsInZpc2libGVTb3J0ZWQiXSxbInRyYWRpbmciLCJ2aXNpYmxlU29ydGVkIl0sWyJkcmF3aW5nIiwidmlzaWJsZVNvcnRlZCJdLFsiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIiwiYWxsU29ydGVkIl0sWyJwaGFudG9tIiwidmlzaWJsZVNvcnRlZCJdLFsicmVzdFJvd1NvdXJjZXMiLCJ2aXNpYmxlU29ydGVkIl0sWyJsZWdlbmRWaWV3U291cmNlcyIsInZpc2libGVTb3J0ZWQiXSxbImxlZnRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsicmlnaHRQcmljZVNjYWxlIiwidmlzaWJsZVNvcnRlZCJdLFsib3ZlcmxheVByaWNlU2NhbGUiLCJ2aXNpYmxlU29ydGVkIl0sWyJtdWx0aXBhbmUiLCJ2aXNpYmxlU29ydGVkIl0sWyJhbGxXaXRob3V0TXVsdGlwYW5lIiwidmlzaWJsZVNvcnRlZCJdLFsiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iLCJhbGxTb3J0ZWQiXSxbInBsb3RTb3VyY2UiLCJ2aXNpYmxlU29ydGVkIl0sWyJvYmplY3RUcmVlIiwidmlzaWJsZVNvcnRlZCJdXSk7ZnVuY3Rpb24gYmwoZSx0KXtjb25zdCBpPWUucHJpY2VTY2FsZSgpO3JldHVybiBudWxsPT09aT8ib3ZlcmxheSI6dC5wcmljZVNjYWxlUG9zaXRpb24oaSl9ZnVuY3Rpb24gd2woZSl7bGV0IHQ9bnVsbDtyZXR1cm57c291cmNlczplLGhhc1NvdXJjZTppPT4obnVsbD09PXQmJih0PW5ldyBNYXAoZS5tYXAoKGU9PltlLmlkKCksZV0pKSkpLHQuaGFzKGkuaWQoKSkpfX1jbGFzcyBDbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9ncm91cGVkU291cmNlcz1uZXcgTWFwLHRoaXMuX3NvdXJjZXM9bnVsbCx0aGlzLl9wYW5lPWV9Y2xlYXIoKXt0aGlzLl9ncm91cGVkU291cmNlcy5jbGVhcigpLHRoaXMuX3NvdXJjZXM9bnVsbH1kZXN0cm95KCl7dGhpcy5jbGVhcigpfWFsbCgpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVTb3J0ZWQiKXx8dGhpcy5fc29ydFNvdXJjZXMoKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgidmlzaWJsZVNvcnRlZCIpKS5zb3VyY2VzfWFsbEluY2x1ZGluZ0hpZGRlbigpe3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImFsbFNvcnRlZCIpfHx0aGlzLl9zb3J0U291cmNlcygpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJhbGxTb3J0ZWQiKSkuc291cmNlc31hbGxXaXRob3V0TXVsdGlwYW5lKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZSIpfWFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiYWxsV2l0aG91dE11bHRpcGFuZVdpdGhIaWRkZW4iKX0Kb2JqZWN0VHJlZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvYmplY3RUcmVlIil9aGFzT2JqZWN0VHJlZVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZSgib2JqZWN0VHJlZSIpLmhhc1NvdXJjZShlKX16T3JkZXJWaXNpYmxlU291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoInZpc2libGVFeGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxXaXRob3V0TXVsdGlwYW5lKCkuZmlsdGVyKChlPT4hZS5pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCkpKTt0aGlzLl9ncm91cGVkU291cmNlcy5zZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoInZpc2libGVFeGNlcHRTcGVjaWFsIikpLnNvdXJjZXN9YWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKXtpZighdGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKCJleGNlcHRTcGVjaWFsIikpe2NvbnN0IGU9dGhpcy5hbGxJbmNsdWRpbmdIaWRkZW4oKS5maWx0ZXIoKGU9PiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSkpLmZpbHRlcigoZT0+dGhpcy5fcGFuZS5oYXNEYXRhU291cmNlKGUpKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJleGNlcHRTcGVjaWFsIix3bChlKSl9cmV0dXJuKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncm91cGVkU291cmNlcy5nZXQoImV4Y2VwdFNwZWNpYWwiKSkuc291cmNlc310cmFkaW5nU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoInRyYWRpbmciKX1wcmljZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwcmljZSIpfXBsb3RTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicGxvdFNvdXJjZSIpfWxpbmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZyIpfWhhc0xpbmVTb3VyY2UoZSl7cmV0dXJuIHRoaXMuX2dldEdyb3VwZWRTb3VyY2VzQnlHcm91cFR5cGUoImRyYXdpbmciKS5oYXNTb3VyY2UoZSl9bGluZVNvdXJjZXNGb3JBbGxTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgiZHJhd2luZ3NGb3JBbGxTeW1ib2xzIil9cGhhbnRvbVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJwaGFudG9tIil9YWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX2dldFNvdXJjZXNCeUdyb3VwVHlwZSgicmVzdFJvd1NvdXJjZXMiKX1oaXRUZXN0U291cmNlcygpe2lmKCF0aGlzLl9ncm91cGVkU291cmNlcy5oYXMoImhpdFRlc3QiKSl7Y29uc3QgZT10aGlzLmFsbEV4Y2VwdExpbmVBbmRUcmFkaW5nU291cmNlcygpLmNvbmNhdCh0aGlzLmxpbmVTb3VyY2VzKCkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiaGl0VGVzdCIsd2woKDAsZHIuc29ydFNvdXJjZXMpKGUsdGhpcy5fcGFuZSkpKX1yZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCgiaGl0VGVzdCIpKS5zb3VyY2VzfWdlbmVyYWxTb3VyY2VzKCl7aWYoIXRoaXMuX2dyb3VwZWRTb3VyY2VzLmhhcygiZ2VuZXJhbCIpKXtjb25zdCBlPXRoaXMuYWxsRXhjZXB0TGluZUFuZFRyYWRpbmdTb3VyY2VzKCkuY29uY2F0KHRoaXMubGluZVNvdXJjZXMoKSk7dGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJnZW5lcmFsIix3bCgoMCxkci5zb3J0U291cmNlcykoZSx0aGlzLl9wYW5lKSkpfXJldHVybigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JvdXBlZFNvdXJjZXMuZ2V0KCJnZW5lcmFsIikpLnNvdXJjZXN9bGVmdFByaWNlU2NhbGVzU291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZnRQcmljZVNjYWxlIil9cmlnaHRQcmljZVNjYWxlc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJyaWdodFByaWNlU2NhbGUiKX1vdmVybGF5UHJpY2VTY2FsZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJvdmVybGF5UHJpY2VTY2FsZSIpfW11bHRpcGFuZVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fZ2V0U291cmNlc0J5R3JvdXBUeXBlKCJtdWx0aXBhbmUiKX1sZWdlbmRWaWV3U291cmNlcygpe3JldHVybiB0aGlzLl9nZXRTb3VyY2VzQnlHcm91cFR5cGUoImxlZ2VuZFZpZXdTb3VyY2VzIil9X2dldFNvdXJjZXNCeUdyb3VwVHlwZShlKXtyZXR1cm4gdGhpcy5fZ2V0R3JvdXBlZFNvdXJjZXNCeUdyb3VwVHlwZShlKS5zb3VyY2VzfV9nZXRHcm91cGVkU291cmNlc0J5R3JvdXBUeXBlKGUpe2NvbnN0IHQ9KDAsbC5lbnN1cmVEZWZpbmVkKSh5bC5nZXQoZSkpO3JldHVybiB0aGlzLl9ncm91cGVkU291cmNlcy5oYXModCk/dGhpcy5fZ3JvdXBlZFNvdXJjZXMuaGFzKGUpfHx0aGlzLl9ncm91cFNvdXJjZXMoZSk6KHRoaXMuX3NvcnRTb3VyY2VzKCksdGhpcy5fZ3JvdXBTb3VyY2VzKGUpKSwoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldChlKSl9X3NvcnRTb3VyY2VzKCl7bnVsbD09PXRoaXMuX3NvdXJjZXMmJih0aGlzLl9zb3VyY2VzPXRoaXMuX3BhbmUuZGF0YVNvdXJjZXMoKSk7Y29uc3QgZT10aGlzLl9wYW5lLm1vZGVsKCkubXVsdGlQYW5lU291cmNlcyh0aGlzLl9wYW5lKSx0PSgwLGRyLnNvcnRTb3VyY2VzKSh0aGlzLl9zb3VyY2VzLmNvbmNhdChlKSx0aGlzLl9wYW5lKSxpPXQuZmlsdGVyKChlPT4hKDAscmkuaXNMaW5lVG9vbCkoZSl8fGUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc0FjdHVhbEN1cnJlbmN5KCkmJmUuaXNBY3R1YWxVbml0KCkmJmUuaXNBY3R1YWxNZXRyaWMoKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldCgiYWxsU29ydGVkIix3bCh0KSksdGhpcy5fZ3JvdXBlZFNvdXJjZXMuc2V0KCJ2aXNpYmxlU29ydGVkIix3bChpKSl9X2dyb3VwU291cmNlcyhlKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoeWwuZ2V0KGUpKSxpPXZsLmdldChlKQo7aWYodm9pZCAwIT09aSl7Y29uc3Qgcz0oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyb3VwZWRTb3VyY2VzLmdldCh0KSkuc291cmNlcy5maWx0ZXIoKGU9PmkoZSx0aGlzLl9wYW5lKSkpO3RoaXMuX2dyb3VwZWRTb3VyY2VzLnNldChlLHdsKHMpKX19fXZhciBQbD1pKDYzNTUwOSksVGw9aSgxMjM2MTcpLHhsPWkoNzEyNzQ1KTtmdW5jdGlvbiBNbChlLHQsaSl7Y29uc3Qgcz1lLmRpdih0KS50b051bWJlcigpO3JldHVybiBNYXRoLmFicyhNYXRoLnJvdW5kKHMpLXMpPGl9Y29uc3QgSWw9WzIsNV0sTGw9WzUsMl07Y2xhc3MgQWx7Y29uc3RydWN0b3IoZSx0LGkpe2lmKHRoaXMuX2Jhc2U9ZSx0aGlzLl9pbnRlZ3JhbERpdmlkZXJzPXQsKDAsYmkuaXNCYXNlRGVjaW1hbCkoZSkpdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzPVsyLDIuNSwyXTtlbHNle3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycz1bXTtjb25zdCBlPWk/SWw6TGw7Zm9yKGxldCB0PXRoaXMuX2Jhc2U7MSE9PXQ7KXtpZih0JWVbMF09PTApdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLnB1c2goZVswXSksdC89ZVswXTtlbHNle2lmKHQlZVsxXSE9MCl0aHJvdyBuZXcgRXJyb3IoInVuZXhwZWN0ZWQgYmFzZSIpO3RoaXMuX2ZyYWN0aW9uYWxEaXZpZGVycy5wdXNoKGVbMV0pLHQvPWVbMV19aWYodGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4xMDApdGhyb3cgbmV3IEVycm9yKCJzb21ldGhpbmcgd3Jvbmcgd2l0aCBiYXNlIil9fX10aWNrU3BhbihlLHQsaSl7Y29uc3Qgcz0wPT09dGhpcy5fYmFzZT8wOjEvdGhpcy5fYmFzZSxuPU1hdGgubWluKDFlLTE0LChlLXQpLzFlMyk7bGV0IHI9TWF0aC5wb3coMTAsTWF0aC5tYXgoMCxNYXRoLmNlaWwoKDAsYmkubG9nMTApKGUtdCkpKSk7aWYoIWlzRmluaXRlKHIpKXJldHVybiAxZTMwNTtsZXQgbz0wLGE9dGhpcy5faW50ZWdyYWxEaXZpZGVyc1swXTtmb3IoOzspe2NvbnN0IGU9KDAsYmkuZ3JlYXRlck9yRXF1YWwpKHIscyxuKSYmcj5zK24sdD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbiksbD0oMCxiaS5ncmVhdGVyT3JFcXVhbCkociwxLG4pLGM9bmV3IHhsLkJpZyhyKS5kaXYoYSksaD0wPT09c3x8TWwoYyxzLG4pO2lmKCEoZSYmdCYmbCYmaCkpYnJlYWs7cj1jLnRvTnVtYmVyKCksYT10aGlzLl9pbnRlZ3JhbERpdmlkZXJzWysrbyV0aGlzLl9pbnRlZ3JhbERpdmlkZXJzLmxlbmd0aF19aWYocjw9cytuJiYocj1zKSxyPU1hdGgubWF4KDEsciksdGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aD4wJiYoMCxiaS5lcXVhbCkociwxLG4pKWZvcihvPTAsYT10aGlzLl9mcmFjdGlvbmFsRGl2aWRlcnNbMF07Oyl7Y29uc3QgZT0oMCxiaS5ncmVhdGVyT3JFcXVhbCkocixpKmEsbikmJnI+cytuLHQ9bmV3IHhsLkJpZyhyKS5kaXYoYSksbD0wPT09c3x8TWwodCxzLG4pO2lmKCFlfHwhbClicmVhaztyPXQudG9OdW1iZXIoKSxhPXRoaXMuX2ZyYWN0aW9uYWxEaXZpZGVyc1srK28ldGhpcy5fZnJhY3Rpb25hbERpdmlkZXJzLmxlbmd0aF19cmV0dXJuIHJ9fXZhciBrbDshZnVuY3Rpb24oZSl7ZVtlLlN0ZXBzTGltaXQ9MzBdPSJTdGVwc0xpbWl0IixlW2UuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0PTZdPSJIZXVyaXN0aWNBbGdvVmFsdWVzTGVuZ3RoTGltaXQiLGVbZS5IZXVyaXN0aWNBbGdvUmF0aW9MaW1pdD0yXT0iSGV1cmlzdGljQWxnb1JhdGlvTGltaXQifShrbHx8KGtsPXt9KSk7Y2xhc3MgRGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fYmFzZT0oMCxiaS5pc0Jhc2VEZWNpbWFsKShlKT8xOmV9bmV4dFN0ZXBEaXZpZGVycygpe3JldHVybiAxPT09dGhpcy5fYmFzZT9bWzEwLDVdLFsyXV06KHRoaXMuX2Jhc2U9TWF0aC5yb3VuZCh0aGlzLl9iYXNlLzIpLFtbMl1dKX19ZnVuY3Rpb24gRWwoZSx0KXtyZXR1cm4gZS5sZW5ndGg+a2wuSGV1cmlzdGljQWxnb1ZhbHVlc0xlbmd0aExpbWl0JiYoZS5sZW5ndGgrMSkvdC5sZW5ndGg+PWtsLkhldXJpc3RpY0FsZ29SYXRpb0xpbWl0fWZ1bmN0aW9uIFJsKGUsdCl7Y29uc3QgaT1lLmZpbHRlcigoZT0+dChlLmNhbmRpZGF0ZVZhbHVlcykpKTtyZXR1cm4gaS5sZW5ndGg+MD9pLnJlZHVjZSgoKGUsdCk9PnQuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD5lLmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg/dDplKSxpWzBdKTplLmZpbmQoKGU9PmUuY2FuZGlkYXRlVmFsdWVzLmxlbmd0aD4wKSl8fGVbMF19ZnVuY3Rpb24gVmwoZSx0KXtpZihlLmxlbmd0aDw9MSlyZXR1cm5bXTtsZXQgaT1lLm1hcCgoZT0+TWF0aC5yb3VuZChlKnQpKSkscz0xO2NvbnN0IG49bmV3IERsKHQpLHI9RWwuYmluZChudWxsLGUpLG89ZT0+ZS5tYXAoKGU9PmUqcy90KSk7Zm9yKGxldCB0PTA7dDxrbC5TdGVwc0xpbWl0OysrdCl7aWYocihpKSlyZXR1cm4gbyhpKTtjb25zdCB0PW4ubmV4dFN0ZXBEaXZpZGVycygpO2xldCBhPSExO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9UmwoZS5tYXAoKGU9Pih7ZGl2aWRlcjplLGNhbmRpZGF0ZVZhbHVlczppLmZpbHRlcigodD0+TWF0aC5hYnModCklZT09MCkpfSkpKSxyKTtpZih0LmNhbmRpZGF0ZVZhbHVlcy5sZW5ndGg+MCl7aT10LmNhbmRpZGF0ZVZhbHVlcy5tYXAoKGU9PmUvdC5kaXZpZGVyKSkscyo9dC5kaXZpZGVyLGE9ITA7YnJlYWt9fWlmKCFhKXJldHVybiBpLmxlbmd0aD09PWUubGVuZ3RoP1tdOm8oaSl9cmV0dXJuW119Y2xhc3MgQmx7Y29uc3RydWN0b3IoZSx0LGkscyl7dGhpcy5fbWFya3M9bnVsbCx0aGlzLl9wcmljZVNjYWxlPWUsdGhpcy5fYmFzZT10LHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWxGdW5jPWksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmM9c31iYXNlKCl7cmV0dXJuIHRoaXMuX2Jhc2V9c2V0QmFzZShlKXtpZihlPDApdGhyb3cgbmV3IEVycm9yKCJiYXNlIDwgMCIpO3RoaXMuX2Jhc2U9ZX10aWNrU3BhbihlLHQsaT0wKXtpZihlPHQpdGhyb3cgbmV3IEVycm9yKCJoaWdoIDwgbG93IikKO2NvbnN0IHM9dGhpcy5fcHJpY2VTY2FsZS5oZWlnaHQoKSxuPXRoaXMuX3RpY2tNYXJrSGVpZ2h0KCkscj0oZS10KSpuL3Msbz1bbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCEwKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITApLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMCksbmV3IEFsKHRoaXMuX2Jhc2UsWzIsMi41LDJdLCExKSxuZXcgQWwodGhpcy5fYmFzZSxbMiwyLDIuNV0sITEpLG5ldyBBbCh0aGlzLl9iYXNlLFsyLjUsMiwyXSwhMSldLnJlZHVjZSgoKHMsbik9Pntjb25zdCBvPW4udGlja1NwYW4oZSx0LHIpO3JldHVybiBvPmk/TWF0aC5taW4obyxzKTpzfSksMS8wKTtyZXR1cm4gbz4wJiZpc0Zpbml0ZShvKT9vOmUtdH1yZWJ1aWxkVGlja01hcmtzKCl7dGhpcy5fbWFya3M9bnVsbH1tYXJrcygpe3JldHVybiBudWxsPT09dGhpcy5fbWFya3MmJih0aGlzLl9tYXJrcz10aGlzLl9yZWJ1aWxkVGlja01hcmtzSW1wbCgpKSx0aGlzLl9tYXJrc31fZm9udEhlaWdodCgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlLmZvbnRTaXplKCl9X3RpY2tNYXJrSGVpZ2h0KCl7cmV0dXJuIE1hdGguY2VpbCgyLjUqdGhpcy5fZm9udEhlaWdodCgpKX1fcmVidWlsZFRpY2tNYXJrc0ltcGwoKXtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUsdD1bXSxpPWUubWFpblNvdXJjZSgpO2lmKGUuaXNFbXB0eSgpfHwhZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZSgpfHxudWxsPT09aSlyZXR1cm4gdDtsZXQgcz1pLmZpcnN0VmFsdWUoKTtudWxsPT09cyYmKHM9MCk7Y29uc3Qgbj1lLmhlaWdodCgpLHI9dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMobi0xLHMpLG89dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbEZ1bmMoMCxzKSxhPU1hdGgubWF4KHIsbyksbD1NYXRoLm1pbihyLG8pO2lmKGE9PT1sKXJldHVybiB0O2xldCBjPXRoaXMudGlja1NwYW4oYSxsKSxoPWElYztoKz1oPDA/YzowO2NvbnN0IGQ9YT49bD8xOi0xO2xldCB1PW51bGw7Y29uc3QgcD1lLmZvcm1hdHRlcigpO2xldCBfPU5hTjtjb25zdCBtPVtdO2ZvcihsZXQgdD1hLWg7dD5sO3QtPWMpe3Q9PT1fJiYoYz10aGlzLnRpY2tTcGFuKGEsbCxjKSksXz10O2NvbnN0IGk9dGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZUZ1bmModCxzKTtudWxsIT09dSYmTWF0aC5hYnMoaS11KTx0aGlzLl90aWNrTWFya0hlaWdodCgpfHwobS5wdXNoKHtsb2dpY2FsOnQsY29vcmQ6aX0pLHU9aSxlLmlzTG9nKCkmJihjPXRoaXMudGlja1NwYW4odCpkLGwpKSl9Y29uc3QgZz1tLm1hcCgoZT0+ZS5sb2dpY2FsKSksZj10aGlzLl9iYXNlfHxNYXRoLnBvdygxMCwtTWF0aC5jZWlsKE1hdGgubG9nMTAoYykpKSxTPVZsKGcsZiksdj0xLygxMDAqZik7cmV0dXJuIG0ubWFwKChlPT57Y29uc3R7bG9naWNhbDp0LGNvb3JkOml9PWU7cmV0dXJue2Nvb3JkOmksbGFiZWw6cC5mb3JtYXQodCksYm9sZDpTLnNvbWUoKGU9Pk1hdGguYWJzKGUtdCk8dikpfX0pKX19dmFyIE5sPWkoNzU1NjI3KSxPbD1pKDIzMzI0Nyk7KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9wcmljZV9zY2FsZV9pZl9hbGxfc291cmNlc19oaWRkZW4iKTtjb25zdCBXbD0oMCxPbC5nZXRQZXJjZW50YWdlRm9ybWF0dGVyKSgpLEZsPW5ldyBObC5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZToxMDAsbWluTW92ZToxfSksSGw9e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsbG9nOiExLGxvZ0Rpc2FibGVkOiExLGFsaWduTGFiZWxzOiEwLGlzSW52ZXJ0ZWQ6ITEsaW5kZXhlZFRvMTAwOiExfTtmdW5jdGlvbiB6bChlKXtyZXR1cm4gZS5pc0N1cnJlbmN5U291cmNlKCkmJmUuaXNDdXJyZW5jeU9yaWdpbigpLnZhbHVlKCl9ZnVuY3Rpb24gVWwoZSl7cmV0dXJuIGUuaXNDdXJyZW5jeVNvdXJjZSgpJiYhZS5pc0N1cnJlbmN5T3JpZ2luKCkudmFsdWUoKX1mdW5jdGlvbiBHbChlKXtyZXR1cm4gZS5pc1VuaXRTb3VyY2UoKSYmZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWZ1bmN0aW9uIGpsKGUpe3JldHVybiBlLmlzVW5pdFNvdXJjZSgpJiYhZS5pc1VuaXRPcmlnaW4oKS52YWx1ZSgpfWNsYXNzIHFse2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlPW51bGwsdGhpcy5fc291cmNlc1RoYXRBZmZlY3RWaXNpYmlsaXR5PVtdLHRoaXMuX2hhc1Nlcmllcz0hMSx0aGlzLl9zdHVkaWVzQ291bnQ9MCx0aGlzLl9kcmF3aW5nQ291bnQ9MCx0aGlzLl9zZXJpZXNMaWtlU291cmNlcz1bXSx0aGlzLl9wcmljZURhdGFTb3VyY2VzPVtdLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLl9sYXN0U291cmNlUmVtb3ZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY2FsZVNlcmllc09ubHk9ITEsdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZT17aXNWYWxpZDohMCx2aXNpYmxlQmFyczpudWxsLGxvZ2ljYWxSYW5nZTpudWxsfSx0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITEsdGhpcy5fbG9nRm9ybXVsYT0oMCxUbC5sb2dGb3JtdWxhRm9yQmFzZSkobnVsbCksdGhpcy5tX2hlaWdodD0wLHRoaXMuX21hcmdpbnM9e3RvcDowLGJvdHRvbTowfSx0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl90b3BQaXhlbE1hcmdpbj0wLHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPTAsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX2ludGVybmFsSGVpZ2h0Q2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9bnVsbCx0aGlzLl9zY3JvbGxTdGFydFBvaW50PW51bGwsdGhpcy5fY3VycmVuY3lDYWNoZT1udWxsLHRoaXMuX3VuaXRDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX21ldHJpY0NhY2hlPW51bGwsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZT0hMSwKdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tYXhQcmljZVJhbmdlPW51bGwsdGhpcy5fbWluUHJpY2VSYW5nZT1udWxsLHRoaXMuX3ByaWNlUmFuZ2VDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX21vZGVDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsMTAwLHRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwuYmluZCh0aGlzKSx0aGlzLl9sb2dpY2FsVG9Db29yZGluYXRlLmJpbmQodGhpcykpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pZD0iIix0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9kcm9wU2NhbGVDYWNoZT0oKT0+e3RoaXMuX3NvdXJjZXNGb3JBdXRvc2NhbGU9bnVsbCx0aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwsdGhpcy5fdW5pdENhY2hlPW51bGwsdGhpcy5fbWV0cmljQ2FjaGU9bnVsbCx0aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGU9bnVsbH0sdD1PYmplY3QuYXNzaWduKHt9LEhsLHQpLHRoaXMuX3Byb3BlcnRpZXM9bmV3IE90LlByb3BlcnR5KHQpLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXM9ZSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlzSW52ZXJ0ZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Jc0ludmVydGVkQ2hhbmdlZCksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO2lmKGUmJmUubW9kZWwoKSl7Y29uc3QgdD1lLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKTt0JiZlLm1vZGVsKCkudXBkYXRlUGFuZSh0KX19KSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9tYXJrc0NhY2hlPW51bGx9KSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5sb2NrU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpLHRoaXMuc2V0SWQoKDAsbHQucmFuZG9tSGFzaCkoKSl9aWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0SWQoZSl7dGhpcy5faWQ9ZX1pc0xvZygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvZy52YWx1ZSgpfWlzUGVyY2VudGFnZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBlcmNlbnRhZ2UudmFsdWUoKX1pc0ludmVydGVkKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaXNJbnZlcnRlZC52YWx1ZSgpfWlzSW5kZXhlZFRvMTAwKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5kZXhlZFRvMTAwLnZhbHVlKCl9aXNBdXRvU2NhbGUoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hdXRvU2NhbGUudmFsdWUoKSYmIXRoaXMuaXNMb2NrU2NhbGUoKX1pc0xvY2tTY2FsZSgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxvY2tTY2FsZS52YWx1ZSgpfWlzUmVndWxhcigpe3JldHVybiF0aGlzLmlzUGVyY2VudGFnZSgpJiYhdGhpcy5pc0xvZygpJiYhdGhpcy5pc0luZGV4ZWRUbzEwMCgpfWlzU2NhbGVTZXJpZXNPbmx5KCl7cmV0dXJuIHRoaXMuX3NjYWxlU2VyaWVzT25seX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9aGVpZ2h0KCl7cmV0dXJuIHRoaXMubV9oZWlnaHR9c2V0SGVpZ2h0KGUpe3RoaXMubV9oZWlnaHQhPT1lJiYodGhpcy5tX2hlaWdodD1lLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX1pbnRlcm5hbEhlaWdodCgpe2lmKHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGUpcmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU7Y29uc3QgZT10aGlzLmhlaWdodCgpLXRoaXMudG9wUGl4ZWxNYXJnaW4oKS10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCk7cmV0dXJuIHRoaXMuX2ludGVybmFsSGVpZ2h0Q2FjaGU9ZSxlfWZvbnRTaXplKCl7cmV0dXJuIHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKX1wcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5fcHJpY2VSYW5nZX1zZXRQcmljZVJhbmdlKGUsdCxpKXtpZighKGUgaW5zdGFuY2VvZiBQbC5QcmljZVJhbmdlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbmNvcnJlY3QgcHJpY2UgcmFuZ2UiKTtjb25zdCBzPXRoaXMuX3ByaWNlUmFuZ2U7aWYoIXQmJlBsLlByaWNlUmFuZ2UuY29tcGFyZShzLGUpKXJldHVybjtjb25zdCBuPW51bGwhPT10aGlzLl9tYXhQcmljZVJhbmdlJiZ0aGlzLl9tYXhQcmljZVJhbmdlLmNvbnRhaW5zU3RyaWN0bHkoZSkscj1udWxsIT09dGhpcy5fbWluUHJpY2VSYW5nZSYmZS5jb250YWluc1N0cmljdGx5KHRoaXMuX21pblByaWNlUmFuZ2UpO3RoaXMuaXNMb2NrU2NhbGUoKSYmIXQmJihufHxyKXx8KHRoaXMuX21hcmtzQ2FjaGU9bnVsbCx0aGlzLl9wcmljZVJhbmdlPWUsaXx8dGhpcy5fcHJpY2VSYW5nZUNoYW5nZWQuZmlyZShzLGUpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSkpfXNldE1pblByaWNlUmFuZ2UoZSl7dGhpcy5fbWluUHJpY2VSYW5nZT1lfXNldE1heFByaWNlUmFuZ2UoZSl7dGhpcy5fbWF4UHJpY2VSYW5nZT1lfXJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKXt0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSEwfXByaWNlUmFuZ2VTaG91bGRCZVJlY2FsY3VsYXRlZE9uY2UoKXtpZighdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZXx8dGhpcy5pc0xvY2tTY2FsZSgpKXJldHVybiExO2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCkKO3JldHVybiBudWxsIT09ZSYmZS5wcmljZVJhbmdlUmVhZHkoKX1wcmljZVJhbmdlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wcmljZVJhbmdlQ2hhbmdlZH1tb2RlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybnthdXRvU2NhbGU6ZS5hdXRvU2NhbGUudmFsdWUoKSxsb2NrU2NhbGU6ZS5sb2NrU2NhbGUudmFsdWUoKSxwZXJjZW50YWdlOmUucGVyY2VudGFnZS52YWx1ZSgpLGluZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLGxvZzplLmxvZy52YWx1ZSgpfX1zZXRNb2RlKGUpe2NvbnN0IHQ9e30saT10aGlzLm1vZGUoKSxzPXRoaXMuX3Byb3BlcnRpZXMuc3RhdGUoKTtsZXQgbj1udWxsO3ZvaWQgMCE9PWUuYXV0b1NjYWxlJiZlLmF1dG9TY2FsZSE9PXMuYXV0b1NjYWxlJiYodC5hdXRvU2NhbGU9ZS5hdXRvU2NhbGUsdGhpcy5fc2V0QXV0b1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmF1dG9TY2FsZSkpLHZvaWQgMCE9PWUubG9ja1NjYWxlJiZlLmxvY2tTY2FsZSE9PXMubG9ja1NjYWxlJiYodC5sb2NrU2NhbGU9ZS5sb2NrU2NhbGUsdGhpcy5fc2V0TG9ja1NjYWxlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvY2tTY2FsZSkpLHZvaWQgMCE9PWUucGVyY2VudGFnZSYmZS5wZXJjZW50YWdlIT09cy5wZXJjZW50YWdlJiYodC5wZXJjZW50YWdlPWUucGVyY2VudGFnZSx0aGlzLl9zZXRQZXJjZW50YWdlVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLnBlcmNlbnRhZ2UpLHRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UuaXNWYWxpZD0hMSksdm9pZCAwIT09ZS5pbmRleGVkVG8xMDAmJmUuaW5kZXhlZFRvMTAwIT09cy5pbmRleGVkVG8xMDAmJih0LmluZGV4ZWRUbzEwMD1lLmluZGV4ZWRUbzEwMCx0aGlzLl9zZXRJbmRleGVkVG8xMDBWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUuaW5kZXhlZFRvMTAwKSx0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITEpLHZvaWQgMCE9PWUubG9nJiZlLmxvZyE9PXMubG9nJiYodC5sb2c9ZS5sb2csdGhpcy5fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlLmxvZykpO2NvbnN0IHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtzLmxvZyYmIXIubG9nLnZhbHVlKCkmJih0aGlzLl9jYW5Db252ZXJ0UHJpY2VSYW5nZUZyb21Mb2codGhpcy5fcHJpY2VSYW5nZSk/KG49dGhpcy5fY29udmVydFByaWNlUmFuZ2VGcm9tTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpOnIuYXV0b1NjYWxlLnNldFZhbHVlKCEwKSksIXMubG9nJiZyLmxvZy52YWx1ZSgpJiYobj10aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKHRoaXMuX3ByaWNlUmFuZ2UpLG51bGwhPT1uJiZ0aGlzLnNldFByaWNlUmFuZ2UobikpLHMuYXV0b1NjYWxlIT09ci5hdXRvU2NhbGUudmFsdWUoKSYmci5hdXRvU2NhbGUuZmlyZUNoYW5nZWQoKSxzLmF1dG9TY2FsZURpc2FibGVkIT09ci5hdXRvU2NhbGVEaXNhYmxlZC52YWx1ZSgpJiZyLmF1dG9TY2FsZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2NrU2NhbGUhPT1yLmxvY2tTY2FsZS52YWx1ZSgpJiZyLmxvY2tTY2FsZS5maXJlQ2hhbmdlZCgpLHMucGVyY2VudGFnZSE9PXIucGVyY2VudGFnZS52YWx1ZSgpJiYoci5wZXJjZW50YWdlLmZpcmVDaGFuZ2VkKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSkscy5pbmRleGVkVG8xMDAhPT1yLmluZGV4ZWRUbzEwMC52YWx1ZSgpJiYoci5pbmRleGVkVG8xMDAuZmlyZUNoYW5nZWQoKSx0aGlzLnVwZGF0ZUZvcm1hdHRlcigpKSxzLnBlcmNlbnRhZ2VEaXNhYmxlZCE9PXIucGVyY2VudGFnZURpc2FibGVkLnZhbHVlKCkmJnIucGVyY2VudGFnZURpc2FibGVkLmZpcmVDaGFuZ2VkKCkscy5sb2chPT1yLmxvZy52YWx1ZSgpJiZyLmxvZy5maXJlQ2hhbmdlZCgpLHMubG9nRGlzYWJsZWQhPT1yLmxvZ0Rpc2FibGVkLnZhbHVlKCkmJnIubG9nRGlzYWJsZWQuZmlyZUNoYW5nZWQoKSx2b2lkIDA9PT10LmxvZyYmdm9pZCAwPT09dC5wZXJjZW50YWdlJiZ2b2lkIDA9PT10LmxvY2tTY2FsZSYmdm9pZCAwPT09dC5hdXRvU2NhbGUmJnZvaWQgMD09PXQuaW5kZXhlZFRvMTAwfHx0aGlzLl9tb2RlQ2hhbmdlZC5maXJlKGksdGhpcy5tb2RlKCkpfW1vZGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21vZGVDaGFuZ2VkfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5fbWFrZVN1cmVJdElzVmFsaWQoKSwwPT09dGhpcy5tX2hlaWdodHx8IXRoaXMuX3ByaWNlUmFuZ2V8fHRoaXMuX3ByaWNlUmFuZ2UuaXNFbXB0eSgpfWhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlKCl7cmV0dXJuIHRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfWNhbkRldGFjaFNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLnNvbWUoKHQ9PnQhPT1lJiYhc2kodCkmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmISgoMCx0aS5pc1N0dWR5KSh0KSYmdC5pc0xpbmtlZFRvU2VyaWVzKCkpKSl9dXBkYXRlQWxsVmlld3MoZSl7Y29uc3QgdD10aGlzLl9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKX1sb2dGb3JtdWxhKCl7cmV0dXJuIHRoaXMuX2xvZ0Zvcm11bGF9c3RhdGUoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJue2lkOnRoaXMuX2lkLG1fcHJpY2VSYW5nZTp0aGlzLmlzQXV0b1NjYWxlKCk/bnVsbDp0aGlzLnByaWNlUmFuZ2UoKT8uc2VyaWFsaXplKCl8fG51bGwsbV9pc0F1dG9TY2FsZTp0aGlzLmlzQXV0b1NjYWxlKCksbV9pc1BlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLnZhbHVlKCksbV9pc0luZGV4ZWRUbzEwMDplLmluZGV4ZWRUbzEwMC52YWx1ZSgpLG1faXNMb2c6ZS5sb2cudmFsdWUoKSxtX2lzTG9ja1NjYWxlOnRoaXMuaXNMb2NrU2NhbGUoKSxtX2lzSW52ZXJ0ZWQ6dGhpcy5pc0ludmVydGVkKCksbV90b3BNYXJnaW46dGhpcy5fbWFyZ2lucy50b3AsbV9ib3R0b21NYXJnaW46dGhpcy5fbWFyZ2lucy5ib3R0b20sYWxpZ25MYWJlbHM6ZS5hbGlnbkxhYmVscy52YWx1ZSgpLApsb2dGb3JtdWxhOigwLGEuY2xvbmUpKHRoaXMuX2xvZ0Zvcm11bGEpLGhhc0NhbGN1bGF0ZWRQcmljZVJhbmdlOnRoaXMuX2hhc0NhbGN1bGF0ZWRQcmljZVJhbmdlfX1yZXN0b3JlU3RhdGUoZSl7bGV0IHQ9ZS5tX3ByaWNlUmFuZ2U7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN0YXRlIik7aWYodm9pZCAwPT09ZS5tX2lzQXV0b1NjYWxlKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3RhdGUiKTt2b2lkIDAhPT1lLmlkJiYodGhpcy5faWQ9ZS5pZCk7Y29uc3QgaT17YXV0b1NjYWxlOmUubV9pc0F1dG9TY2FsZX07dm9pZCAwIT09ZS5tX2lzUGVyY2VudGFnZSYmKGkucGVyY2VudGFnZT1lLm1faXNQZXJjZW50YWdlKSx2b2lkIDAhPT1lLm1faXNJbmRleGVkVG8xMDAmJihpLmluZGV4ZWRUbzEwMD1lLm1faXNJbmRleGVkVG8xMDApLHZvaWQgMCE9PWUubV9pc0xvZyYmKGkubG9nPWUubV9pc0xvZyksdm9pZCAwIT09ZS5tX2lzTG9ja1NjYWxlJiYoaS5sb2NrU2NhbGU9ZS5tX2lzTG9ja1NjYWxlKSx2b2lkIDAhPT1lLm1faXNJbnZlcnRlZCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pc0ludmVydGVkLnNldFZhbHVlKGUubV9pc0ludmVydGVkKSx0aGlzLnNldE1vZGUoaSksdGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ZS5oYXNDYWxjdWxhdGVkUHJpY2VSYW5nZT8/bnVsbCE9PXQsdD8odCBpbnN0YW5jZW9mIFBsLlByaWNlUmFuZ2V8fCh0PW5ldyBQbC5QcmljZVJhbmdlKHQpKSx0aGlzLnNldFByaWNlUmFuZ2UodCwhMCkpOnRoaXMuY2xlYXJQcmljZVJhbmdlKCksZS5sb2dGb3JtdWxhJiYodGhpcy5fbG9nRm9ybXVsYT1lLmxvZ0Zvcm11bGEpLHZvaWQgMCE9PWUubV90b3BNYXJnaW4mJih0aGlzLl9tYXJnaW5zLnRvcD1lLm1fdG9wTWFyZ2luKSx2b2lkIDAhPT1lLm1fYm90dG9tTWFyZ2luJiYodGhpcy5fbWFyZ2lucy5ib3R0b209ZS5tX2JvdHRvbU1hcmdpbiksdm9pZCAwIT09ZS5hbGlnbkxhYmVscyYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5hbGlnbkxhYmVscy5zZXRWYWx1ZShlLmFsaWduTGFiZWxzKSx0aGlzLl9tYWluU291cmNlPW51bGwsdGhpcy5fc2NhbGVTZXJpZXNPbmx5PSExfXByaWNlVG9Mb2dpY2FsKGUpe3JldHVybiB0aGlzLmlzTG9nKCkmJmU/KDAsVGwudG9Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1sb2dpY2FsVG9QcmljZShlKXtyZXR1cm4gdGhpcy5pc0xvZygpPygwLFRsLmZyb21Mb2cpKGUsdGhpcy5fbG9nRm9ybXVsYSk6ZX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMuaGVpZ2h0KCkqZX1wcmljZVRvQ29vcmRpbmF0ZShlLHQpe2NvbnN0IGk9dGhpcy5fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCk7cmV0dXJuIHRoaXMuX2xvZ2ljYWxUb0Nvb3JkaW5hdGUoaSl9Y29vcmRpbmF0ZVRvUHJpY2UoZSx0KXtsZXQgaT10aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsKGUpO3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP2k9KDAsVGwuZnJvbVBlcmNlbnQpKGksdCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpJiYoaT0oMCxUbC5mcm9tSW5kZXhlZFRvMTAwKShpLHQpKSxpfW1haW5Tb3VyY2UoKXtpZihudWxsIT09dGhpcy5fbWFpblNvdXJjZSlyZXR1cm4gdGhpcy5fbWFpblNvdXJjZTtsZXQgZTtmb3IoY29uc3QgdCBvZiB0aGlzLl9wcmljZURhdGFTb3VyY2VzKXtpZigoMCxmbC5pc1NlcmllcykodCkpe2U9dDticmVha31lfHwoZT10KX1yZXR1cm4gdGhpcy5fbWFpblNvdXJjZT1lfHxudWxsLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX21haW5Tb3VyY2V9cHJpY2VUb0Nvb3JkaW5hdGVGbihlKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHQ9dGhpcy5ib3R0b21QaXhlbE1hcmdpbigpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCksbj1pLm1heFZhbHVlKCkscj10aGlzLmludGVybmFsSGVpZ2h0KCktMSxvPXRoaXMuaXNJbnZlcnRlZCgpLGE9ci8obi1zKSxjPXRoaXMubV9oZWlnaHQsaD1lPT57Y29uc3QgaT10K2EqKGUtcyk7cmV0dXJuIG8/aTpjLTEtaX07cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/dD0+aCgoMCxUbC50b1BlcmNlbnQpKHQsZSkpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT90PT5oKCgwLFRsLnRvSW5kZXhlZFRvMTAwKSh0LGUpKTp0aGlzLmlzTG9nKCk/ZT0+aCgoMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKSk6ZT0+aChlKX1wcmljZXNBcnJheVRvQ29vcmRpbmF0ZXMoZSx0LGkpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxyPW4ubWluVmFsdWUoKSxvPW4ubWF4VmFsdWUoKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGM9dGhpcy5pc0ludmVydGVkKCksaD1hLyhvLXIpO3ZvaWQgMD09PWkmJihpPWUubGVuZ3RoKTtjb25zdCBkPXRoaXMuaXNQZXJjZW50YWdlKCksdT10aGlzLmlzSW5kZXhlZFRvMTAwKCkscD10aGlzLmlzTG9nKCksXz10aGlzLm1faGVpZ2h0O2xldCBtLGc7Zm9yKGxldCBuPTA7bjxpO24rKyltPWVbbl0sTnVtYmVyLmlzRmluaXRlKG0pJiYoZD9tPSgwLFRsLnRvUGVyY2VudCkobSx0KTp1P209KDAsVGwudG9JbmRleGVkVG8xMDApKG0sdCk6cCYmKG09KDAsVGwudG9Mb2cpKG0sdGhpcy5fbG9nRm9ybXVsYSkpLGc9cytoKihtLXIpLGVbbl09Yz9nOl8tMS1nKX1maWxsWUNvb3JkaW5hdGVzKGUsdCxpKXt0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1zLm1pblZhbHVlKCksbz1zLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMSxjPXRoaXMuaXNJbnZlcnRlZCgpLGg9YS8oby1yKSxkPWk/LnN0YXJ0SXRlbUluZGV4Pz8wLHU9aT8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aAo7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKSlmb3IobGV0IGk9ZDtpPHU7aSsrKWVbaV0ueT0oMCxUbC50b1BlcmNlbnQpKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzSW5kZXhlZFRvMTAwKCkpZm9yKGxldCBpPWQ7aTx1O2krKyllW2ldLnk9KDAsVGwudG9JbmRleGVkVG8xMDApKGVbaV0ucHJpY2UsdCk7ZWxzZSBpZih0aGlzLmlzTG9nKCkpZm9yKGxldCB0PWQ7dDx1O3QrKyllW3RdLnk9dGhpcy5wcmljZVRvTG9naWNhbChlW3RdLnByaWNlKTtlbHNlIGZvcihsZXQgdD1kO3Q8dTt0KyspZVt0XS55PWVbdF0ucHJpY2U7Zm9yKGxldCB0PWQ7dDx1O3QrKyl7Y29uc3QgaT1lW3RdLnk7aWYoaXNOYU4oaSl8fG51bGw9PWkpY29udGludWU7Y29uc3Qgcz1uK2gqKGktcik7ZVt0XS55PWM/czp0aGlzLm1faGVpZ2h0LTEtc319YmFyUHJpY2VzVG9Db29yZGluYXRlcyhlLHQpe3RoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VSYW5nZSgpKSxzPWUsbj10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkscj1pLm1pblZhbHVlKCksbz1pLm1heFZhbHVlKCksYT10aGlzLmludGVybmFsSGVpZ2h0KCktMTtsZXQgYz1udWxsO2lmKHRoaXMuaXNQZXJjZW50YWdlKCk/Yz1UbC50b1BlcmNlbnQ6dGhpcy5pc0luZGV4ZWRUbzEwMCgpP2M9VGwudG9JbmRleGVkVG8xMDA6dGhpcy5pc0xvZygpJiYoYz0oZSx0KT0+ZT8oMCxUbC50b0xvZykoZSx0aGlzLl9sb2dGb3JtdWxhKTplKSwwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9Im9wZW4iaW4gc1swXSxkPSJjbG9zZSJpbiBzWzBdO2lmKG51bGwhPT1jKWZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtpZighc1tlXSljb250aW51ZTtjb25zdCBpPXNbZV07aCYmKGkub3Blbj1jKGkub3Blbix0KSksaS5oaWdoPWMoaS5oaWdoLHQpLGkubG93PWMoaS5sb3csdCksZCYmKGkuY2xvc2U9YyhpLmNsb3NlLHQpKSx2b2lkIDAhPT1pLmFkZGl0aW9uYWxQcmljZSYmKGkuYWRkaXRpb25hbFByaWNlPWMoaS5hZGRpdGlvbmFsUHJpY2UsdCkpfWNvbnN0IHU9YS8oby1yKSxwPXRoaXMuaXNJbnZlcnRlZCgpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXNbZV07aWYoIXQpY29udGludWU7aWYoaCl7Y29uc3QgZT1uK3UqKHQub3Blbi1yKSxpPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZTt0Lm9wZW49aX1jb25zdCBpPW4rdSoodC5oaWdoLXIpLG89cD9pOnRoaXMubV9oZWlnaHQtMS1pO3QuaGlnaD1vO2NvbnN0IGE9bit1Kih0Lmxvdy1yKSxsPXA/YTp0aGlzLm1faGVpZ2h0LTEtYTtpZih0Lmxvdz1sLGQpe2NvbnN0IGU9bit1Kih0LmNsb3NlLXIpLGk9cD9lOnRoaXMubV9oZWlnaHQtMS1lO3QuY2xvc2U9aX1pZih2b2lkIDAhPT10LmFkZGl0aW9uYWxQcmljZSl7Y29uc3QgZT1uK3UqKHQuYWRkaXRpb25hbFByaWNlLXIpO3QuYWRkaXRpb25hbFByaWNlPXA/ZTp0aGlzLm1faGVpZ2h0LTEtZX19fWZvcm1hdHRlcigpe3JldHVybiBudWxsPT09dGhpcy5fZm9ybWF0dGVyJiZ0aGlzLnVwZGF0ZUZvcm1hdHRlcigpLCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fZm9ybWF0dGVyKX11cGRhdGVGb3JtYXR0ZXIoKXt0aGlzLl9tYXJrc0NhY2hlPW51bGw7Y29uc3QgZT10aGlzLm1haW5Tb3VyY2UoKTtsZXQgdD0xMDA7ZSYmKHQ9ZS5iYXNlKCkpLHRoaXMuX2Zvcm1hdHRlcj1udWxsLHRoaXMuaXNQZXJjZW50YWdlKCk/KHRoaXMuX2Zvcm1hdHRlcj1XbCx0PTEwMCk6dGhpcy5pc0luZGV4ZWRUbzEwMCgpPyh0aGlzLl9mb3JtYXR0ZXI9RmwsdD0xMDApOnRoaXMuX2Zvcm1hdHRlcj1lP2UuZm9ybWF0dGVyKCk6RmwsdGhpcy5fbWFya0J1aWxkZXI9bmV3IEJsKHRoaXMsdCx0aGlzLl9jb29yZGluYXRlVG9Mb2dpY2FsLmJpbmQodGhpcyksdGhpcy5fbG9naWNhbFRvQ29vcmRpbmF0ZS5iaW5kKHRoaXMpKSx0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCl9Zm9ybWF0UHJpY2UoZSx0LGkpe3JldHVybiB0aGlzLmlzUGVyY2VudGFnZSgpP3RoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCxpKTp0aGlzLmlzSW5kZXhlZFRvMTAwKCk/dGhpcy5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSk6dGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUFic29sdXRlKGUsdCl7cmV0dXJuIHRoaXMuX21haW5Tb3VyY2VGb3JtYXR0ZXIoKS5mb3JtYXQoZSx0KX1mb3JtYXRQcmljZVBlcmNlbnRhZ2UoZSx0LGkpe3JldHVybiBlPSgwLFRsLnRvUGVyY2VudCkoZSx0KSxXbC5mb3JtYXQoZSxpKX1mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChlLHQsaSl7Y29uc3Qgcz0oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTtyZXR1cm4gdGhpcy5mb3JtYXR0ZXIoKS5mb3JtYXQocyxpKX1nZXRGb3JtYXR0ZWRWYWx1ZXMoZSx0LGkscyl7cz8/PXRoaXMuZm9ybWF0UHJpY2VBYnNvbHV0ZShlKTtjb25zdCBuPXRoaXMuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGUsdCx7c2lnblBvc2l0aXZlOml9KSxyPXRoaXMuZm9ybWF0UHJpY2VJbmRleGVkVG8xMDAoZSx0KTtyZXR1cm57Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnIsdGV4dDooMCxUbC5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkodGhpcyx7Zm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTpzLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZTpuLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOnJ9KX19cmVzZXRTY2FsZSgpe3RoaXMuc2V0TW9kZSh7YXV0b1NjYWxlOiEwfSl9cmVzZXRTY2FsZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlQXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzfXByaWNlRGF0YVNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fcHJpY2VEYXRhU291cmNlc31zZXJpZXNMaWtlU291cmNlcygpe3JldHVybiB0aGlzLl9zZXJpZXNMaWtlU291cmNlc31hZGREYXRhU291cmNlKGUsdCl7dGhpcy5fYWRkRGF0YVNvdXJjZUltcGwoZSx0KX1yZW1vdmVEYXRhU291cmNlKGUpewpjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKCgwLGwuYXNzZXJ0KSgtMSE9PXQsIlNvdXJjZSBpcyBub3QgYXR0YWNoZWQgdG8gc2NhbGUiKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKHQsMSksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuaW5kZXhPZihlKTtpZigoMCxsLmFzc2VydCkoLTEhPT10LCJTb3VyY2UgaXMgbm90IGZvdW5kIiksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UodCwxKSxlLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudW5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUuY3VycmVuY3lNZXRhZGF0YSgpLnVuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLnVuaXRPcmlnaW5Tb3VyY2UoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS51bnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCB0PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmluZGV4T2YoZSk7KDAsbC5hc3NlcnQpKC0xIT09dCwiU291cmNlIGlzIG5vdCBmb3VuZCIpLHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnNwbGljZSh0LDEpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSwoMCxmbC5pc1NlcmllcykoZSkmJih0aGlzLl9oYXNTZXJpZXM9ITEpfWUuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfXRoaXMubWFpblNvdXJjZSgpfHx0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMH0pLCgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLm9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQtLSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKHRoaXMuX2RyYXdpbmdDb3VudC0tLDA9PT10aGlzLl9kcmF3aW5nQ291bnQmJigwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fZHJvcFNjYWxlQ2FjaGUpKTtjb25zdCBpPXRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5pbmRleE9mKGUpOy0xIT09aSYmKHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5zcGxpY2UoaSwxKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpLGU9PT10aGlzLl9tYWluU291cmNlJiYodGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDYWNoZT1udWxsLHRoaXMuX21hcmtzQ2FjaGU9bnVsbCksdGhpcy5fbWFpblNvdXJjZT1udWxsLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKCksdGhpcy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLmludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKSx0aGlzLl91cGRhdGVMb2dGb3JtdWxhKCksMD09PXRoaXMubV9kYXRhU291cmNlcy5sZW5ndGgmJnRoaXMuX2xhc3RTb3VyY2VSZW1vdmVkLmZpcmUoKX1yZXBsYWNlU291cmNlKGUsdCl7Y29uc3QgaT0oMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSk/dGhpcy5fcHJpY2VEYXRhU291cmNlcy5pbmRleE9mKGUpOnZvaWQgMDtyZXR1cm4gdGhpcy5fYWRkRGF0YVNvdXJjZUltcGwodCx2b2lkIDAsLTE9PT1pP3ZvaWQgMDppKSx0aGlzLnJlbW92ZURhdGFTb3VyY2UoZSksLTEhPT1pfWN1cnJlbmN5KGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeUNhY2hlJiZlLnNpemUoKT09PXRoaXMuX2N1cnJlbmN5Q2FjaGUuYXZhaWxhYmxlQ3VycmVuY2llc0NvdW50KXJldHVybiB0aGlzLl9jdXJyZW5jeUNhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBTZXQsbj1uZXcgU2V0LHI9bmV3IE1hcCxvPW5ldyBTZXQsYT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcih6bCk7bGV0IGwsYz0wPT09YS5sZW5ndGh8fGFbMF0ubW9kZWwoKS5yZWFkT25seSgpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWEpe3Q9bnVsbDticmVha31jb25zdHtvcmlnaW5hbEN1cnJlbmN5OnAsaXNDdXJyZW5jeUNvbnZlcnRpYmxlOl8sY3VycmVuY3lPcmlnaW5OYW1lOm0sYmFzZUN1cnJlbmN5OmcsY3VycmVudEN1cnJlbmN5OmZ9PWE7aWYobnVsbD09PXApe3Q9bnVsbDticmVha31yLnNldChwLGUuaXRlbShwKT8uY29kZT8/cCksci5zZXQoZixlLml0ZW0oZik/LmNvZGU/P2YpLG51bGwhPT1nJiZzLmFkZChnKSxoPWgmJnA9PT1mLG4uYWRkKGYpLGkuYWRkKHApLHZvaWQgMD09PWw/bD1mOm51bGwhPT1sJiZsIT09ZiYmKGw9bnVsbCksY3x8ZS5jb252ZXJ0aWJsZShmKSYmX3x8KGM9ITApLGQrPTEsby5hZGQobSl9aWYobnVsbCE9PXQpe2NvbnN0IGk9dGhpcy5fcHJpY2VEYXRhU291cmNlcy5maWx0ZXIoVWwpO2Zvcihjb25zdCBzIG9mIGkpe2lmKCFzLmlzQ3VycmVuY3lTb3VyY2UoKXx8IXMuaXNWaXNpYmxlKCl8fHMuaXNGYWlsZWQoKSljb250aW51ZTtjb25zdCBpPXMuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk7aWYoIWkpe3Q9bnVsbDticmVha31jb25zdCBvPWkuY3VycmVudEN1cnJlbmN5O24uYWRkKG8pLHUrPTE7Y29uc3R7aXNDdXJyZW5jeUNvbnZlcnRpYmxlOmh9PWk7Y3x8ZS5jb252ZXJ0aWJsZShvKSYmaHx8KGM9ITApLApyLnNldChvLGUuaXRlbShvKT8uY29kZT8/byk7Y29uc3QgZD1zLmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz0hMCksdm9pZCAwPT09bClsPW87ZWxzZSBpZihudWxsIT09bCYmbCE9PW8pe2w9bnVsbDticmVha319fXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09ZCYmMD09PXU/bnVsbDp7cmVhZE9ubHk6YyxzZWxlY3RlZEN1cnJlbmN5Omx8fG51bGwsY3VycmVuY2llczpuLG9yaWdpbmFsQ3VycmVuY2llczppLGJhc2VDdXJyZW5jaWVzOnMsb3JpZ2luU291cmNlc0NvdW50OmQsYWxsQ3VycmVuY2llc0FyZU9yaWdpbmFsOmgsZGlzcGxheWVkVmFsdWVzOnIsc3ltYm9sczpvfSksdGhpcy5fY3VycmVuY3lDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVDdXJyZW5jaWVzQ291bnQ6ZS5zaXplKCl9LHR9dW5pdChlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fdW5pdENhY2hlJiZlLnNpemUoKT09PXRoaXMuX3VuaXRDYWNoZS5hdmFpbGFibGVVbml0c0NvdW50KXJldHVybiB0aGlzLl91bml0Q2FjaGUudmFsdWU7bGV0IHQ7Y29uc3QgaT1uZXcgU2V0LHM9bmV3IFNldCxuPW5ldyBNYXAscj1uZXcgTWFwLG89bmV3IFNldCxhPXRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuZmlsdGVyKEdsKTtsZXQgbCxjPTA9PT1hLmxlbmd0aHx8YVswXS5tb2RlbCgpLnJlYWRPbmx5KCk/bmV3IFNldDplLmFsbEdyb3VwcygpLGg9ITAsZD0wLHU9MDtmb3IoY29uc3QgdSBvZiBhKXtpZighdS5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPXUudW5pdE1ldGFkYXRhKCkudmFsdWUoKTtpZighYSl7dD1udWxsO2JyZWFrfWNvbnN0e3VuaXRPcmlnaW5OYW1lOnAsY29udmVydGlibGVHcm91cHM6XyxvcmlnaW5hbFVuaXQ6bSxjdXJyZW50VW5pdDpmfT1hO2lmKG51bGw9PT1tKXt0PW51bGw7YnJlYWt9bi5zZXQobSxlLm5hbWUobSkpLHIuc2V0KG0sZS5kZXNjcmlwdGlvbihtKSksbi5zZXQoZixlLm5hbWUoZikpLHIuc2V0KGYsZS5kZXNjcmlwdGlvbihmKSksaD1oJiZtPT09ZixzLmFkZChmKSxpLmFkZChtKSx2b2lkIDA9PT1sP2w9ZjpudWxsIT09bCYmbCE9PWYmJihsPW51bGwpLGMuc2l6ZT4wJiYoYz0oMCxnLmludGVyc2VjdCkoYyxuZXcgU2V0KF8pKSksZCs9MSxvLmFkZChwKX1pZihudWxsIT09dCl7Y29uc3QgaT10aGlzLl9wcmljZURhdGFTb3VyY2VzLmZpbHRlcihqbCk7Zm9yKGNvbnN0IG8gb2YgaSl7aWYoIW8uaXNVbml0U291cmNlKCl8fCFvLmlzVmlzaWJsZSgpfHxvLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgaT1vLnVuaXRNZXRhZGF0YSgpLnZhbHVlKCk7aWYobnVsbD09PWkpe3Q9bnVsbDticmVha31jb25zdCBoPWkuY3VycmVudFVuaXQ7cy5hZGQoaCksdSs9MSxjLnNpemU+MCYmKGM9KDAsZy5pbnRlcnNlY3QpKGMsbmV3IFNldChpLmNvbnZlcnRpYmxlR3JvdXBzKSkpLG4uc2V0KGgsZS5uYW1lKGgpKSxyLnNldChoLGUuZGVzY3JpcHRpb24oaCkpO2NvbnN0IGQ9by51bml0T3JpZ2luU291cmNlKCkudmFsdWUoKTtpZihhLmluY2x1ZGVzKGQpfHwoYz1uZXcgU2V0KSx2b2lkIDA9PT1sKWw9aDtlbHNlIGlmKG51bGwhPT1sJiZsIT09aCl7bD1udWxsO2JyZWFrfX19aWYodm9pZCAwPT09dClpZigwPT09ZCYmMD09PXUpdD1udWxsO2Vsc2V7dD17YXZhaWxhYmxlR3JvdXBzOmMsc2VsZWN0ZWRVbml0Omx8fG51bGwsdW5pdHM6cyxvcmlnaW5hbFVuaXRzOmksc3ltYm9sU291cmNlQ291bnQ6ZCxhbGxVbml0c0FyZU9yaWdpbmFsOmgsbmFtZXM6bixkZXNjcmlwdGlvbnM6cixzeW1ib2xzOm99fXJldHVybiB0aGlzLl91bml0Q2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlVW5pdHNDb3VudDplLnNpemUoKX0sdH1tZXRyaWMoZSl7aWYoIWUuaXNSZWFkeSgpKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZXRyaWNDYWNoZSYmZS5zaXplKCk9PT10aGlzLl9tZXRyaWNDYWNoZS5hdmFpbGFibGVNZXRyaWNzQ291bnQpcmV0dXJuIHRoaXMuX21ldHJpY0NhY2hlLnZhbHVlO2xldCB0O2NvbnN0IGk9bmV3IFNldCxzPW5ldyBNYXAsbj1uZXcgU2V0O2xldCByLG89MD09PXRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLmxlbmd0aHx8dGhpcy5fc2VyaWVzTGlrZVNvdXJjZXNbMF0ubW9kZWwoKS5yZWFkT25seSgpLGE9MCxjPTA7Y29uc3QgaD10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBoKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBjPWwuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1jKXt0PW51bGw7YnJlYWt9Y29uc3QgaD1sLm1ldHJpYygpO2lmKG51bGw9PT1oKXt0PW51bGw7YnJlYWt9cy5zZXQoaCxlLm5hbWUoaCkpLGkuYWRkKGgpLHZvaWQgMD09PXI/cj1oOm51bGwhPT1yJiZyIT09aCYmKHI9bnVsbCksb3x8ZS5jb252ZXJ0aWJsZShoKXx8KG89ITApLGErPTEsbi5hZGQoKDAsQS5wcm9TeW1ib2wpKGMsbC5zeW1ib2woKSkpfWlmKG51bGwhPT10KWZvcihjb25zdCBuIG9mIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMpe2lmKGguaW5jbHVkZXMobikpY29udGludWU7Y29uc3QgYT1uO2lmKCFhLmlzTWV0cmljU291cmNlKCl8fCFhLmlzVmlzaWJsZSgpfHxhLmlzRmFpbGVkKCkpY29udGludWU7Y29uc3QgZD1hLm1ldHJpYygpO2lmKG51bGw9PT1kKXt0PW51bGw7YnJlYWt9aS5hZGQoZCksYys9MTtjb25zdCB1PSgwLGwuZW5zdXJlTm90TnVsbCkoYS5zeW1ib2xTb3VyY2UoKSk7aWYobnVsbD09PWEuY3VycmVuY3lTb3VyY2VTeW1ib2xJbmZvKCkpe3Q9bnVsbDticmVha31pZihvfHxlLmNvbnZlcnRpYmxlKGQpfHwobz0hMCkscy5zZXQoZCxlLm5hbWUoZCkpLGguaW5jbHVkZXModSl8fChvPSEwKSx2b2lkIDA9PT1yKXI9ZDtlbHNlIGlmKG51bGwhPT1yJiZyIT09ZCl7cj1udWxsO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09dCYmKHQ9MD09PWEmJjA9PT1jP251bGw6e3JlYWRPbmx5Om8sc2VsZWN0ZWRNZXRyaWNJZDpyfHxudWxsLG1ldHJpY3M6aSxuYW1lczpzfSksdGhpcy5fbWV0cmljQ2FjaGU9e3ZhbHVlOnQsYXZhaWxhYmxlTWV0cmljc0NvdW50OmUuc2l6ZSgpfSx0fW1lYXN1cmVVbml0SWQoZSl7CmlmKG51bGw9PT1lKXJldHVybiBudWxsO2lmKG51bGwhPT10aGlzLl9tZWFzdXJlVW5pdElkQ2FjaGUmJmUuc2l6ZSgpPT09dGhpcy5fbWVhc3VyZVVuaXRJZENhY2hlLmF2YWlsYWJsZVVuaXRzQ291bnQpcmV0dXJuIHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZS52YWx1ZTtsZXQgdCxpO2NvbnN0IHM9bmV3IE1hcCxuPW5ldyBNYXAscj1uZXcgU2V0O2xldCBvPTA7Y29uc3QgYT10aGlzLl9zZXJpZXNMaWtlU291cmNlcztmb3IoY29uc3QgbCBvZiBhKXtpZighbC5pc1Zpc2libGUoKSljb250aW51ZTtjb25zdCBhPWwubWVhc3VyZVVuaXRJZCgpO2lmKG51bGw9PT1hKXt0PW51bGw7YnJlYWt9ci5hZGQoYSkscy5zZXQoYSxlLm5hbWUoYSkpLG4uc2V0KGEsZS5kZXNjcmlwdGlvbihhKSksdm9pZCAwPT09aT9pPWE6bnVsbCE9PWkmJmkhPT1hJiYoaT1udWxsKSxvKz0xfXJldHVybiB2b2lkIDA9PT10JiYodD0wPT09bz9udWxsOntzZWxlY3RlZE1lYXN1cmVVbml0SWQ6aXx8bnVsbCxtZWFzdXJlVW5pdElkczpyLG5hbWVzOnMsZGVzY3JpcHRpb25zOm4sc3ltYm9sU291cmNlQ291bnQ6b30pLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT17dmFsdWU6dCxhdmFpbGFibGVVbml0c0NvdW50OmUuc2l6ZSgpfSx0fXNldE1hcmdpbnMoZSl7aWYoISgwLGEuaXNOdW1iZXIpKGUudG9wKXx8ISgwLGEuaXNOdW1iZXIpKGUuYm90dG9tKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIG1hcmdpbiIpO2lmKGUudG9wPDB8fGUudG9wPjMwfHxlLmJvdHRvbTwwfHxlLmJvdHRvbT4zMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiaW52YWxpZCBtYXJnaW4iKTt0aGlzLl9tYXJnaW5zLnRvcD09PWUudG9wJiZ0aGlzLl9tYXJnaW5zLmJvdHRvbT09PWUuYm90dG9tfHwodGhpcy5fbWFyZ2lucz1lLHRoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsLHRoaXMuX2ludmFsaWRhdGVJbnRlcm5hbEhlaWdodENhY2hlKCksdGhpcy5fbWFya3NDYWNoZT1udWxsKX10b3BNYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLnRvcH1ib3R0b21NYXJnaW4oKXtyZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2lucygpLmJvdHRvbX1pbnZhbGlkYXRlTWFyZ2lucygpe3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsfXRvcFBpeGVsTWFyZ2luKCl7cmV0dXJuIHRoaXMuaXNJbnZlcnRlZCgpP3RoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbjp0aGlzLnRvcE1hcmdpbigpKnRoaXMuaGVpZ2h0KCkrdGhpcy5fdG9wUGl4ZWxNYXJnaW59Ym90dG9tUGl4ZWxNYXJnaW4oKXtyZXR1cm4gdGhpcy5pc0ludmVydGVkKCk/dGhpcy50b3BNYXJnaW4oKSp0aGlzLmhlaWdodCgpK3RoaXMuX3RvcFBpeGVsTWFyZ2luOnRoaXMuYm90dG9tTWFyZ2luKCkqdGhpcy5oZWlnaHQoKSt0aGlzLl9ib3R0b21QaXhlbE1hcmdpbn1tYXJrcygpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odGhpcy5fbWFya3NDYWNoZT1udWxsLFtdKToobnVsbD09PXRoaXMuX21hcmtzQ2FjaGUmJih0aGlzLl9tYXJrQnVpbGRlci5yZWJ1aWxkVGlja01hcmtzKCksdGhpcy5fbWFya3NDYWNoZT10aGlzLl9tYXJrQnVpbGRlci5tYXJrcygpLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKSksdGhpcy5fbWFya3NDYWNoZSl9b25NYXJrc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NYXJrc0NoYW5nZWR9cHJpY2VSYW5nZUluUHJpY2UoKXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpPy5maXJzdFZhbHVlKCk/P251bGw7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD10aGlzLmhlaWdodCgpO3JldHVybntmcm9tOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UodC0xLGUpLHRvOnRoaXMuY29vcmRpbmF0ZVRvUHJpY2UoMCxlKX19c2V0UHJpY2VSYW5nZUluUHJpY2UoZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpKXJldHVybjtjb25zdCB0PXRoaXMuaXNJbnZlcnRlZCgpLGk9dD90aGlzLmJvdHRvbU1hcmdpbigpOnRoaXMudG9wTWFyZ2luKCkscz10P3RoaXMudG9wTWFyZ2luKCk6dGhpcy5ib3R0b21NYXJnaW4oKSxuPXRoaXMuaXNMb2coKTtsZXQgcj1uPygwLFRsLnRvTG9nKShlLmZyb20sdGhpcy5fbG9nRm9ybXVsYSk6ZS5mcm9tLG89bj8oMCxUbC50b0xvZykoZS50byx0aGlzLl9sb2dGb3JtdWxhKTplLnRvO2NvbnN0IGE9by1yO3IrPXMqYSxvLT1pKmEsdGhpcy5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX29uTWFya3NDaGFuZ2VkLmZpcmUoKX1oYXNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX2hhc1Nlcmllc31nZXRTdHVkaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIodGkuaXNTdHVkeSl9bGFzdFNvdXJjZVJlbW92ZWQoKXtyZXR1cm4gdGhpcy5fbGFzdFNvdXJjZVJlbW92ZWR9c291cmNlc0ZvckF1dG9zY2FsZSgpe3JldHVybiB0aGlzLl9tYWluU291cmNlJiZ0aGlzLl9zY2FsZVNlcmllc09ubHkhPT10aGlzLl9zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlU2VyaWVzT25seS52YWx1ZSgpJiYodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT1udWxsKSx0aGlzLl9zb3VyY2VzRm9yQXV0b3NjYWxlfHwodGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZT10aGlzLl9yZWNhbGN1bGF0ZVNvdXJjZXNGb3JBdXRvc2NhbGUoKSksdGhpcy5fc291cmNlc0ZvckF1dG9zY2FsZX1yZWNhbGN1bGF0ZVByaWNlUmFuZ2UoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlPXt2aXNpYmxlQmFyczplLGxvZ2ljYWxSYW5nZTp0LGlzVmFsaWQ6ITF9fWludGVybmFsSGVpZ2h0Q2hhbmdlZCgpe3JldHVybiB0aGlzLl9pbnRlcm5hbEhlaWdodENoYW5nZWR9b3JkZXJlZFNvdXJjZXMoKXtpZih0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcylyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvcnVjZXM7bGV0IGU9dGhpcy5tX2RhdGFTb3VyY2VzLnNsaWNlKCkKO3JldHVybiBlPWUuZmlsdGVyKChlPT4hc2koZSkpKSxlPSgwLGRyLnNvcnRTb3VyY2VzKShlKSx0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1lLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3J1Y2VzfWludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKXt0aGlzLl9jYWNoZWRPcmRlcmVkU29ydWNlcz1udWxsLHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPW51bGx9c3RhcnRTY2FsZShlKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fHxudWxsIT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90fHwodGhpcy5fc2NhbGVTdGFydFBvaW50PXRoaXMubV9oZWlnaHQtZSx0aGlzLl9wcmljZVJhbmdlU25hcHNob3Q9dGhpcy5wcmljZVJhbmdlKCk/LmNsb25lKCk/P251bGwpfXNjYWxlVG8oZSl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fc2NhbGVTdGFydFBvaW50KXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pLChlPXRoaXMubV9oZWlnaHQtZSk8MCYmKGU9MCk7bGV0IHQ9KHRoaXMuX3NjYWxlU3RhcnRQb2ludCsuMioodGhpcy5tX2hlaWdodC0xKSkvKGUrLjIqKHRoaXMubV9oZWlnaHQtMSkpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZVJhbmdlU25hcHNob3QpLmNsb25lKCk7dD1NYXRoLm1heCh0LC4xKSxpLnNjYWxlQXJvdW5kQ2VudGVyKHQpLHRoaXMuc2V0UHJpY2VSYW5nZShpKX1lbmRTY2FsZSgpe3RoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmKHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1zdGFydFR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc0VtcHR5KCl8fHRoaXMuaXNQZXJjZW50YWdlKCl8fHRoaXMuaXNJbmRleGVkVG8xMDAoKXx8bnVsbCE9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbilyZXR1cm47Y29uc3QgaT1NYXRoLm1pbihlLHQpLHM9TWF0aC5tYXgoZSx0KTt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249e3RvcExvZ2ljYWw6dGhpcy5fY29vcmRpbmF0ZVRvTG9naWNhbChpKSxib3R0b21Mb2dpY2FsOnRoaXMuX2Nvb3JkaW5hdGVUb0xvZ2ljYWwocyl9fXR3b1BvaW50c1NjYWxlKGUsdCl7aWYodGhpcy5pc1BlcmNlbnRhZ2UoKXx8dGhpcy5pc0luZGV4ZWRUbzEwMCgpfHxudWxsPT09dGhpcy5fdHdvUG9pbnRzU2NhbGVTdGFydFBvc2l0aW9uKXJldHVybjt0aGlzLnNldE1vZGUoe2F1dG9TY2FsZTohMX0pO2NvbnN0IGk9TWF0aC5taW4oZSx0KSxzPU1hdGgubWF4KGUsdCkse3RvcExvZ2ljYWw6bixib3R0b21Mb2dpY2FsOnJ9PXRoaXMuX3R3b1BvaW50c1NjYWxlU3RhcnRQb3NpdGlvbixvPXRoaXMuYm90dG9tUGl4ZWxNYXJnaW4oKSxhPXRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xLGw9KHRoaXMuX2ludmVydGVkQ29vcmRpbmF0ZShpKS1vKS9hLGM9KHItbikvKCh0aGlzLl9pbnZlcnRlZENvb3JkaW5hdGUocyktbykvYS1sKTtpZighTnVtYmVyLmlzRmluaXRlKGMpKXJldHVybjtjb25zdCBoPW4tYypsLGQ9aCtjO3RoaXMuc2V0UHJpY2VSYW5nZShuZXcgUGwuUHJpY2VSYW5nZSh0aGlzLnByaWNlVG9Mb2dpY2FsKGgpLHRoaXMucHJpY2VUb0xvZ2ljYWwoZCkpKX1pc0JlaW5nU2NhbGVkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9zY2FsZVN0YXJ0UG9pbnR8fG51bGwhPT10aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb259ZW5kVHdvUG9pbnRzU2NhbGUoKXt0aGlzLl90d29Qb2ludHNTY2FsZVN0YXJ0UG9zaXRpb249bnVsbH1zdGFydFNjcm9sbChlKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGw9PT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiZudWxsPT09dGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90JiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY3JvbGxTdGFydFBvaW50PWUsdGhpcy5fcHJpY2VSYW5nZVNuYXBzaG90PXRoaXMucHJpY2VSYW5nZSgpPy5jbG9uZSgpPz9udWxsKSl9c2Nyb2xsVG8oZSl7aWYodGhpcy5pc0F1dG9TY2FsZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fc2Nyb2xsU3RhcnRQb2ludHx8bnVsbD09PXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdClyZXR1cm47Y29uc3QgdD10aGlzLnByaWNlUmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47bGV0IGk9ZS10aGlzLl9zY3JvbGxTdGFydFBvaW50O3RoaXMuaXNJbnZlcnRlZCgpJiYoaSo9LTEpO2NvbnN0IHM9aSoodC5sZW5ndGgoKS8odGhpcy5pbnRlcm5hbEhlaWdodCgpLTEpKSxuPXRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdC5jbG9uZSgpO24uc2hpZnQocyksdGhpcy5zZXRQcmljZVJhbmdlKG4sITApLHRoaXMuX21hcmtzQ2FjaGU9bnVsbH1lbmRTY3JvbGwoKXt0aGlzLmlzQXV0b1NjYWxlKCl8fG51bGwhPT10aGlzLl9zY3JvbGxTdGFydFBvaW50JiYodGhpcy5fc2Nyb2xsU3RhcnRQb2ludD1udWxsLHRoaXMuX3ByaWNlUmFuZ2VTbmFwc2hvdD1udWxsKX1jbGVhclByaWNlUmFuZ2UoKXt0aGlzLl9wcmljZVJhbmdlPW51bGwsdGhpcy5yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZX1fYWRkRGF0YVNvdXJjZUltcGwoZSx0LGkpe2lmKHR8fC0xPT09dGhpcy5tX2RhdGFTb3VyY2VzLmluZGV4T2YoZSkpe2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSl7aWYodm9pZCAwPT09aT90aGlzLl9wcmljZURhdGFTb3VyY2VzLnB1c2goZSk6dGhpcy5fcHJpY2VEYXRhU291cmNlcy5zcGxpY2UoaSwwLGUpLGUuY3VycmVuY3lDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jdXJyZW5jeUNhY2hlPW51bGwpKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl91bml0Q2FjaGU9bnVsbCkpLGUubWV0cmljQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fbWV0cmljQ2FjaGU9bnVsbCkpLAplLmN1cnJlbmN5T3JpZ2luU291cmNlKCkuc3Vic2NyaWJlKHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSxlLmN1cnJlbmN5TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLGUudW5pdE9yaWdpblNvdXJjZSgpLnN1YnNjcmliZSh0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS51bml0TWV0YWRhdGEoKS5zdWJzY3JpYmUodGhpcy5fZHJvcFNjYWxlQ2FjaGUpLCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKHRoaXMuX3Nlcmllc0xpa2VTb3VyY2VzLnB1c2goZSksZS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX2N1cnJlbmN5Q2FjaGU9bnVsbCx0aGlzLl91bml0Q2FjaGU9bnVsbCx0aGlzLl9tZXRyaWNDYWNoZT1udWxsLHRoaXMuX21lYXN1cmVVbml0SWRDYWNoZT1udWxsLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX0pKSwoMCxmbC5pc1NlcmllcykoZSkpKXtjb25zdCB0PWUucHJvcGVydGllcygpO3RoaXMuX2hhc1Nlcmllc3x8KHQuY2hpbGRzKCkubG9ja1NjYWxlJiYodGhpcy5zZXRNb2RlKHtsb2NrU2NhbGU6dC5jaGlsZHMoKS5sb2NrU2NhbGUudmFsdWUoKX0pLHQucmVtb3ZlUHJvcGVydHkoImxvY2tTY2FsZSIpKSx0LmNoaWxkcygpLnBuZlN0eWxlLmhhc0NoaWxkKCJsb2NrU2NhbGUiKSYmdC5jaGlsZHMoKS5wbmZTdHlsZS5yZW1vdmVQcm9wZXJ0eSgibG9ja1NjYWxlIikpLHRoaXMuX2hhc1Nlcmllcz0hMH1lLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKXx8KHRoaXMuX3NvdXJjZXNUaGF0QWZmZWN0VmlzaWJpbGl0eS5wdXNoKGUpLGUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VWaXNpYmlsaXR5Q2hhbmdlZCkpfSgwLHRpLmlzU3R1ZHkpKGUpJiYoZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSwwPT09dGhpcy5fc3R1ZGllc0NvdW50JiYoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Ryb3BTY2FsZUNhY2hlKSx0aGlzLl9zdHVkaWVzQ291bnQrKyksKDAscmkuaXNMaW5lVG9vbCkoZSkmJigwPT09dGhpcy5fZHJhd2luZ0NvdW50JiYoMCxULmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9kcm9wU2NhbGVDYWNoZSksdGhpcy5fZHJhd2luZ0NvdW50KyspLHRoaXMubV9kYXRhU291cmNlcy5wdXNoKGUpLHRoaXMuX21haW5Tb3VyY2U9bnVsbCx0aGlzLm1haW5Tb3VyY2UoKT09PWUmJih0aGlzLl9jb3JyZWN0ZWRNYXJnaW5zQ2FjaGU9bnVsbCx0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5fbWFya3NDYWNoZT1udWxsKSx0aGlzLl9kcm9wU2NhbGVDYWNoZSgpLHRoaXMudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5faW5pdFNjYWxlUHJvcGVydGllcygpLHRoaXMuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX3VwZGF0ZUlzVmlzaWJsZSgpLHRoaXMuX3VwZGF0ZUxvZ0Zvcm11bGEoKX19X3JlY2FsY3VsYXRlU291cmNlc0ZvckF1dG9zY2FsZSgpe3RoaXMuX21haW5Tb3VyY2UmJih0aGlzLl9zY2FsZVNlcmllc09ubHk9dGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHkudmFsdWUoKSk7Y29uc3QgZT10aGlzLl9zY2FsZVNlcmllc09ubHkmJnRoaXMuX2hhc1NlcmllcztyZXR1cm4gdGhpcy5tX2RhdGFTb3VyY2VzLmZpbHRlcigodD0+ISghdC5wcm9wZXJ0aWVzKCkudmlzaWJsZS52YWx1ZSgpJiYhKDAsZmwuaXNTZXJpZXMpKHQpKSYmKGU/KDAsZmwuaXNTZXJpZXMpKHQpOigwLHRpLmlzU3R1ZHkpKHQpPyF0LmlzU291cmNlSGlkZGVuKCkmJnQuaXNJbmNsdWRlZEluQXV0b1NjYWxlKCk6dC5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSkpKX1fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eShlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCksaT10LmluZGV4ZWRUbzEwMC52YWx1ZSgpfHx0LnBlcmNlbnRhZ2UudmFsdWUoKXx8dC5sb2NrU2NhbGUudmFsdWUoKTtlP3QuYXV0b1NjYWxlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShpKTp0LmF1dG9TY2FsZURpc2FibGVkLnNldFZhbHVlKGkpfV9zZXRBdXRvU2NhbGVWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LmF1dG9TY2FsZS5zZXRWYWx1ZVNpbGVudGx5KGUpLGUmJih0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseSghMSksdC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZVNpbGVudGx5KCExKSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldExvY2tTY2FsZVZhbHVlV2l0aERlcGVuZGVudFByb3BlcnRpZXMoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3QubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoZSksZSYmKHQuYXV0b1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQucGVyY2VudGFnZS5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZVNpbGVudGx5KCExKSx0LmxvZy5zZXRWYWx1ZVNpbGVudGx5KCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWVTaWxlbnRseShlKSx0LmxvZ0Rpc2FibGVkLnNldFZhbHVlU2lsZW50bHkoZSksdGhpcy5fdXBkYXRlQXV0b1NjYWxlRGlzYWJsZWRQcm9wZXJ0eSghMCl9X3NldFBlcmNlbnRhZ2VWYWx1ZVdpdGhEZXBlbmRlbnRQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTt0LnBlcmNlbnRhZ2Uuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksCnQubG9nLnNldFZhbHVlU2lsZW50bHkoITEpLHQubG9ja1NjYWxlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0SW5kZXhlZFRvMTAwVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5pbmRleGVkVG8xMDAuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5hdXRvU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMCksdC5sb2cuc2V0VmFsdWVTaWxlbnRseSghMSksdC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fc2V0TG9nVmFsdWVXaXRoRGVwZW5kZW50UHJvcGVydGllcyhlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7dC5sb2cuc2V0VmFsdWVTaWxlbnRseShlKSxlJiYodC5sb2NrU2NhbGUuc2V0VmFsdWVTaWxlbnRseSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlU2lsZW50bHkoITEpLHQuaW5kZXhlZFRvMTAwLnNldFZhbHVlU2lsZW50bHkoITEpKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCEwKX1fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpe2NvbnN0IGU9dGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS52aXNpYmxlQmFycyx0PXRoaXMuX2ludmFsaWRhdGVkRm9yUmFuZ2UubG9naWNhbFJhbmdlO2lmKG51bGw9PT1lfHxudWxsPT09dClyZXR1cm47bGV0IGk9bnVsbDtjb25zdCBzPXRoaXMuc291cmNlc0ZvckF1dG9zY2FsZSgpLG49dGhpcy5pc1BlcmNlbnRhZ2UoKSxyPXRoaXMuaXNJbmRleGVkVG8xMDAoKTtsZXQgbz0wLGE9MDtjb25zdCBsPXtzdGFydFRpbWVQb2ludDplLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmUubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDp0LmxlZnQoKSxsb2dpY0VuZFBvaW50OnQucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOnRoaXMsc2NhbGVTZXJpZXNPbmx5OnRoaXMuX3NjYWxlU2VyaWVzT25seX07Zm9yKGNvbnN0IGUgb2Ygcyl7aWYoIWUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT10fHxuJiYwPT09dCljb250aW51ZTtjb25zdCBzPWUuYXV0b1NjYWxlSW5mbyhsKTtsZXQgYz1zLnJhbmdlO2MmJihuP2M9KDAsVGwudG9QZXJjZW50UmFuZ2UpKGMsdCk6ciYmKGM9KDAsVGwudG9JbmRleGVkVG8xMDBSYW5nZSkoYyx0KSksaT1udWxsPT09aT9jOmkubWVyZ2UoYykpLHZvaWQgMCE9PXMudG9wUGl4ZWxNYXJnaW4mJihvPU1hdGgubWF4KG8scy50b3BQaXhlbE1hcmdpbikpLHZvaWQgMCE9PXMuYm90dG9tUGl4ZWxNYXJnaW4mJihhPU1hdGgubWF4KGEscy5ib3R0b21QaXhlbE1hcmdpbikpfShNYXRoLmFicyhvLXRoaXMuX3RvcFBpeGVsTWFyZ2luKT4wfHxNYXRoLmFicyhhLXRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luKT4wKSYmKHRoaXMuX2JvdHRvbVBpeGVsTWFyZ2luPWEsdGhpcy5fdG9wUGl4ZWxNYXJnaW49byx0aGlzLl9tYXJrc0NhY2hlPW51bGwsdGhpcy5faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKSksaT8odGhpcy5faGFzQ2FsY3VsYXRlZFByaWNlUmFuZ2U9ITAsaS5taW5WYWx1ZSgpPT09aS5tYXhWYWx1ZSgpJiYoaT1uZXcgUGwuUHJpY2VSYW5nZShpLm1pblZhbHVlKCktLjUsaS5tYXhWYWx1ZSgpKy41KSksdGhpcy5zZXRQcmljZVJhbmdlKGkpKTp0aGlzLl9wcmljZVJhbmdlfHx0aGlzLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UoLS41LC41KSksdGhpcy5faW52YWxpZGF0ZWRGb3JSYW5nZS5pc1ZhbGlkPSEwO2NvbnN0IGM9dGhpcy5tYWluU291cmNlKCk7bnVsbCE9PWMmJnRoaXMuX3JlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UmJih0aGlzLl9yZWNhbGN1bGF0ZVByaWNlUmFuZ2VPbmNlPSFjLnByaWNlUmFuZ2VSZWFkeSgpKX1fbWFrZVN1cmVJdElzVmFsaWQoKXt0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWR8fCh0aGlzLl9pbnZhbGlkYXRlZEZvclJhbmdlLmlzVmFsaWQ9ITAsdGhpcy5fcmVjYWxjdWxhdGVQcmljZVJhbmdlSW1wbCgpKX1faW52YWxpZGF0ZUludGVybmFsSGVpZ2h0Q2FjaGUoKXt0aGlzLl9pbnRlcm5hbEhlaWdodENhY2hlPW51bGwsdGhpcy5faW50ZXJuYWxIZWlnaHRDaGFuZ2VkLmZpcmUoKX1fY29vcmRpbmF0ZVRvTG9naWNhbChlKXtpZih0aGlzLl9tYWtlU3VyZUl0SXNWYWxpZCgpLHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGUpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSkscz1pLm1pblZhbHVlKCkrKGkubWF4VmFsdWUoKS1pLm1pblZhbHVlKCkpKigodC10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkpLyh0aGlzLmludGVybmFsSGVpZ2h0KCktMSkpO3JldHVybiB0aGlzLmxvZ2ljYWxUb1ByaWNlKHMpfV9sb2dpY2FsVG9Db29yZGluYXRlKGUpe2lmKHRoaXMuX21ha2VTdXJlSXRJc1ZhbGlkKCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIDA7ZT10aGlzLnByaWNlVG9Mb2dpY2FsKGUpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlUmFuZ2UoKSksaT10aGlzLmJvdHRvbVBpeGVsTWFyZ2luKCkrKHRoaXMuaW50ZXJuYWxIZWlnaHQoKS0xKSooZS10Lm1pblZhbHVlKCkpLyh0Lm1heFZhbHVlKCktdC5taW5WYWx1ZSgpKTtyZXR1cm4gdGhpcy5faW52ZXJ0ZWRDb29yZGluYXRlKGkpfV9jb252ZXJ0UHJpY2VSYW5nZUZyb21Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD0oMCxUbC5mcm9tTG9nKShlLm1pblZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSksaT0oMCxUbC5mcm9tTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NvbnZlcnRQcmljZVJhbmdlVG9Mb2coZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGwKO2NvbnN0IHQ9KDAsVGwudG9Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLnRvTG9nKShlLm1heFZhbHVlKCksdGhpcy5fbG9nRm9ybXVsYSk7cmV0dXJuIG5ldyBQbC5QcmljZVJhbmdlKHQsaSl9X2NhbkNvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyhlKXtpZihudWxsPT09ZSlyZXR1cm4hMTtjb25zdCB0PSgwLFRsLmZyb21Mb2cpKGUubWluVmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKSxpPSgwLFRsLmZyb21Mb2cpKGUubWF4VmFsdWUoKSx0aGlzLl9sb2dGb3JtdWxhKTtyZXR1cm4gaXNGaW5pdGUodCkmJmlzRmluaXRlKGkpfV9vblNvdXJjZVZpc2liaWxpdHlDaGFuZ2VkKCl7dGhpcy5fZHJvcFNjYWxlQ2FjaGUoKSx0aGlzLl91cGRhdGVJc1Zpc2libGUoKX1fdXBkYXRlSXNWaXNpYmxlKCl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKCEwKX1fdXBkYXRlTG9nRm9ybXVsYSgpe2NvbnN0IGU9dGhpcy5pc0xvZygpP3RoaXMuX2NvbnZlcnRQcmljZVJhbmdlRnJvbUxvZyh0aGlzLnByaWNlUmFuZ2UoKSk6bnVsbCx0PXRoaXMubWFpblNvdXJjZSgpO2lmKG51bGw9PT10KXRoaXMuX2xvZ0Zvcm11bGE9KDAsVGwubG9nRm9ybXVsYUZvckJhc2UpKG51bGwpO2Vsc2V7Y29uc3QgZT10LmJhc2UoKXx8bnVsbCxpPSgwLFRsLmxvZ0Zvcm11bGFGb3JCYXNlKShlKTsoMCxUbC5sb2dGb3JtdWxhc0FyZVNhbWUpKGksdGhpcy5fbG9nRm9ybXVsYSl8fCh0aGlzLl9sb2dGb3JtdWxhPWkpfWUmJnRoaXMuc2V0UHJpY2VSYW5nZSh0aGlzLl9jb252ZXJ0UHJpY2VSYW5nZVRvTG9nKGUpKX1faW52ZXJ0ZWRDb29yZGluYXRlKGUpe3JldHVybiB0aGlzLmlzSW52ZXJ0ZWQoKT9lOnRoaXMuaGVpZ2h0KCktMS1lfV9pbml0U2NhbGVQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLmlzTG9ja1NjYWxlKCksdD10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtlJiYodC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSksdC5sb2cuc2V0VmFsdWUoITEpLHQuYXV0b1NjYWxlLnNldFZhbHVlKCExKSksdC5wZXJjZW50YWdlRGlzYWJsZWQuc2V0VmFsdWUoZSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZShlKSx0aGlzLl91cGRhdGVBdXRvU2NhbGVEaXNhYmxlZFByb3BlcnR5KCExKSx0LnBlcmNlbnRhZ2UudmFsdWUoKSYmKHQubG9nLnNldFZhbHVlKCExKSx0LmluZGV4ZWRUbzEwMC5zZXRWYWx1ZSghMSkpLHQuaW5kZXhlZFRvMTAwLnZhbHVlKCkmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSl9X2NvcnJlY3RlZE1hcmdpbnMoKXtpZihudWxsPT09dGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlKXtjb25zdCBlPXRoaXMubWFpblNvdXJjZSgpO3RoaXMuX2NvcnJlY3RlZE1hcmdpbnNDYWNoZT1udWxsIT09ZT9lLmNvcnJlY3RTY2FsZU1hcmdpbnModGhpcy5fbWFyZ2lucyk6dGhpcy5fbWFyZ2luc31yZXR1cm4gdGhpcy5fY29ycmVjdGVkTWFyZ2luc0NhY2hlfV9nZXRTb3VyY2VzVG9VcGRhdGVWaWV3cygpe3JldHVybiB0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c3x8KHRoaXMuX3NvdXJjZXNUb1VwZGF0ZVZpZXdzPXRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PiEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0FjdHVhbFN5bWJvbCgpJiZlLmlzQWN0dWFsQ3VycmVuY3koKSkpKSx0aGlzLl9zb3VyY2VzVG9VcGRhdGVWaWV3c31fbWFpblNvdXJjZUZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5tYWluU291cmNlKCk7cmV0dXJuIGU/LmZvcm1hdHRlcigpfHxGbH1fcHJpY2VUb1BlcmNlbnRPckluZGV4ZWRUbzEwMElmTmVlZGVkKGUsdCl7cmV0dXJuIHRoaXMuaXNQZXJjZW50YWdlKCk/KDAsVGwudG9QZXJjZW50KShlLHQpOnRoaXMuaXNJbmRleGVkVG8xMDAoKT8oMCxUbC50b0luZGV4ZWRUbzEwMCkoZSx0KTplfV9vbklzSW52ZXJ0ZWRDaGFuZ2VkKCl7dGhpcy5fbWFya3NDYWNoZT1udWxsLHRoaXMuX21hcmtCdWlsZGVyLnJlYnVpbGRUaWNrTWFya3MoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0U2NhbGVBdmFpbGFibGUuc2V0VmFsdWUoIXRoaXMuaXNMb2NrU2NhbGUoKSYmIXRoaXMuaXNBdXRvU2NhbGUoKSl9fXZhciAkbD1pKDEwOTQyOSksWWw9aSg4Njc4MzEpLEtsPWkoODIwMTgwKSxYbD1pKDEzNjc5KSxabD1pKDUwOTYzKSxKbD1pKDQ3NzMpLFFsPWkoNzAxNTA2KSxlYz1pKDk1MDU1NCk7ZnVuY3Rpb24gdGMoZSl7ZS53aWNrVXBDb2xvcj1lLndpY2tVcENvbG9yPz9lLndpY2tDb2xvcixlLndpY2tEb3duQ29sb3I9ZS53aWNrRG93bkNvbG9yPz9lLndpY2tDb2xvcixkZWxldGUgZS53aWNrQ29sb3J9ZnVuY3Rpb24gaWMoZSl7ZSYmKGUuY29sb3JUeXBlPz89cGkuQ29sb3JUeXBlLlNvbGlkKX1mdW5jdGlvbiBzYyhlLHQsaSl7Y29uc3Qgcz1wYXJzZUludChlLnNsaWNlKDAsMikpLG49cGFyc2VJbnQoZS5zbGljZSgyKSkscj0oMCxvLmdldF9jYWwpKHQsMmUzLG8uSkFOVUFSWSwxLDAsMCwwKTsoMCxvLnNldF9obXMpKHIscyxuLDAsMCx0KTtjb25zdCBhPSgwLG8uY2FsX3RvX3V0YykodCxyLCEwKSxsPSgwLG8udXRjX3RvX2NhbCkoaSxhKTtyZXR1cm5gJHtsLmdldFVUQ0hvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9JHtsLmdldFVUQ01pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWNvbnN0IG5jPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGFuZSIpO3ZhciByYztmdW5jdGlvbiBvYyhlLHQsaSl7ZS5zZXRNYXJnaW5zKHt0b3A6dCxib3R0b206aX0pfSFmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFN0cmV0Y2hGYWN0b3I9MWUzXT0iRGVmYXVsdFN0cmV0Y2hGYWN0b3IiLGVbZS5MYXJnZVBhbmVTaXplUmF0aW89MV09IkxhcmdlUGFuZVNpemVSYXRpbyIsZVtlLk1lZGl1bVBhbmVTaXplUmF0aW89LjZdPSJNZWRpdW1QYW5lU2l6ZVJhdGlvIixlW2UuU21hbGxQYW5lU2l6ZVJhdGlvPS4zXT0iU21hbGxQYW5lU2l6ZVJhdGlvIixlW2UuVGlueVBhbmVTaXplUmF0aW89LjE1XT0iVGlueVBhbmVTaXplUmF0aW8ifShyY3x8KHJjPXt9KSkKO2NvbnN0IGFjPSJjaGFydC5wYW5lIjtjbGFzcyBsY3tjb25zdHJ1Y3RvcihlLHQsaSxzLG4pe3RoaXMubV9kYXRhU291cmNlcz1bXSx0aGlzLl9zb3VyY2VXYXRjaGVkVmFsdWVzU3Vic2NyaXB0aW9ucz1uZXcgTWFwLHRoaXMubV9tYWluRGF0YVNvdXJjZT1udWxsLHRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzPW5ldyBDbCh0aGlzKSx0aGlzLl9zb3VyY2VzQnlJZD1uZXcgTWFwLHRoaXMuX3ByaWNlU291cmNlc0J5SWQ9bmV3IE1hcCx0aGlzLl9zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl90YWdzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zdHJldGNoRmFjdG9yPTFlMyx0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITEsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGwsdGhpcy5fcmlnaHRQcmljZVNjYWxlcz1bXSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1udWxsLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89bnVsbCx0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1JlY2FsY3VsYXRpbmdTY2FsZXM9ITEsdGhpcy5fcHJpY2VEYXRhU291cmNlcz1bXSx0aGlzLl9zeW1ib2xTb3VyY2VzPVtdLHRoaXMuX3N0dWR5U291cmNlcz1bXSx0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzPVtdLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2J1bGtBY3Rpb25zPXthY3RpdmVDb3VudGVyOjB9LHRoaXMuX2hlaWdodD0wLHRoaXMuX3dpZHRoPTAsdGhpcy5fc2l6ZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2lzTWFpblBhbmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2V4ZWN1dGlvbnNQb3NpdGlvbkNvbnRyb2xsZXI9bnVsbCx0aGlzLl9zZXJpZXNEaXNwbGF5RXJyb3I9bnVsbCx0aGlzLl9vblByaWNlU2NhbGVJc1Zpc2libGVDaGFuZ2VkPSgpPT57dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfSx0aGlzLl9yZWNhbGNTeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9zeW1ib2xTb3VyY2VzKWlmKGUuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkudmFsdWUoKSlyZXR1cm4gdm9pZCB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApO3RoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9LHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9KCk9PnswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCk6dGhpcy5fYnVsa0FjdGlvbnMuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITB9LHRoaXMuX29uU2VyaWVzRGlzcGxheUVycm9yPWU9Pnt9LHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9ZT0+ZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudmFsdWUoKSx0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5zb21lKGUpfHx0aGlzLl9yaWdodFByaWNlU2NhbGVzLnNvbWUoZSk7dGhpcy5fcmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZS5zZXRWYWx1ZSh0KX0sdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5PSgwLGNsLmNyZWF0ZVByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSkoaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS52YWx1ZSgpKSx0aGlzLl9pZD1zPz8oMCxsdC5yYW5kb21IYXNoTikoNiksdGhpcy5fbW9kZT1uPz9NLlBhbmVNb2RlLlJlZ3VsYXIsdGhpcy5fdGltZVNjYWxlPWUsdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsdGhpcy5fcHJvcGVydGllcz10LHRoaXMuX21vZGVsPWksdGhpcy5fbWF4aW1pemVkPSgwLHUuY29tYmluZSkoKGU9PmU9PT10aGlzKSxpLm1heGltaXplZFBhbmUoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlPSgwLHUuY29tYmluZSkoKChlLHQpPT4hZSYmdCksdGhpcy5faXNNYWluUGFuZS53ZWFrUmVmZXJlbmNlKCksaS5wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpLndlYWtSZWZlcmVuY2UoKSksaS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5TmFtZS5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKGUudmFsdWUoKSksdGhpcy5fcHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5LmFwcGx5KHRoaXMpfSkpLHRoaXMuX3RpbWVTY2FsZS5iYXJTcGFjaW5nQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMubV9tYWluRGF0YVNvdXJjZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSYmdGhpcy5fcmVjYWxjdWxhdGVQcmljZVNjYWxlQnlTY2FsZVJhdGlvKHRoaXMubV9tYWluRGF0YVNvdXJjZS5wcmljZVNjYWxlKCkpfSkpLGkub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKSwKaS5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSksdC5jaGlsZHMoKS50b3BNYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdC5jaGlsZHMoKS5ib3R0b21NYXJnaW4uc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTWFyZ2lucyksdGhpcy5fbGluZVRvb2xzQnlMaW5rS2V5PW5ldyBobCgoZT0+ZS5saW5rS2V5KCkudmFsdWUoKSksKGU9PmUuaWQoKSkpLHRoaXMuX3VwZGF0ZU1hcmdpbnMoKX1kZXN0cm95KCl7aWYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50b3BNYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5ib3R0b21NYXJnaW4udW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbGVmdFByaWNlU2NhbGVzLmNvbmNhdCh0aGlzLl9yaWdodFByaWNlU2NhbGVzKS5mb3JFYWNoKChlPT57ZS5tb2RlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuaXNWaXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRQcmljZVNjYWxlc0F2YWlsYWJsZVZhbHVlKX0pKSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcyl0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGUuZGVzdHJveSYmZS5kZXN0cm95KCk7dGhpcy5fc2VyaWVzRGlzcGxheUVycm9yPy5kZXN0cm95KCksdGhpcy5fbW9kZWwub25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWF4aW1pemVkLmRlc3Ryb3koKSx0aGlzLl9jb2xsYXBzaW5nQXZhaWxhYmxlLmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQuZmlyZSgpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfW1vZGUoKXtyZXR1cm4gdGhpcy5fbW9kZX1idWxrQWN0aW9uTWFjcm8oZSl7dGhpcy5iZWdpbkJ1bGtBY3Rpb24oKSxlKCksdGhpcy5lbmRCdWxrQWN0aW9uKCl9YmVnaW5CdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcis9MX1lbmRCdWxrQWN0aW9uKCl7dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlci09MSx0aGlzLl9wcm9jZXNzQWZ0ZXJCdWxrQWN0aW9uKCl9ZGVmYXVsdFByaWNlU2NhbGUoKXtjb25zdCBlPXRoaXMubV9tYWluRGF0YVNvdXJjZT8ucHJpY2VTY2FsZSgpPz9udWxsO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYXhpc1Byb3BlcnRpZXMuc3RhdGUoKTtyZXR1cm4gdC5hdXRvU2NhbGU9ITAsbmV3IHFsKHRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLHQpfWxlZnRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXN9cmlnaHRQcmljZVNjYWxlcygpe3JldHVybiB0aGlzLl9yaWdodFByaWNlU2NhbGVzfXZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLnByaWNlU2NhbGVTbG90c0NvdW50KCksdD10aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUubGVmdCYmaT8uaXNWaXNpYmxlKCkudmFsdWUoKSl7Y29uc3Qgcz0oMCxnLm1vdmVUb0hlYWQpKHQsaSk7cmV0dXJuIHMuc3BsaWNlKGUubGVmdCksc31yZXR1cm4gdH12aXNpYmxlUmlnaHRQcmljZVNjYWxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwucHJpY2VTY2FsZVNsb3RzQ291bnQoKSx0PXRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpLnZhbHVlKCkpKSxpPXRoaXMubWFpbkRhdGFTb3VyY2UoKT8ucHJpY2VTY2FsZSgpO2lmKHQubGVuZ3RoPmUucmlnaHQmJmk/LmlzVmlzaWJsZSgpLnZhbHVlKCkpe2NvbnN0IHM9KDAsZy5tb3ZlVG9IZWFkKSh0LGkpO3JldHVybiBzLnNwbGljZShlLnJpZ2h0KSxzfXJldHVybiB0fWNsZWFyU2VyaWVzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2ZvcihsZXQgaT10aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoLTE7aT49MDtpLS0pdGhpcy5tX2RhdGFTb3VyY2VzW2ldPT09dCYmdGhpcy5fcmVtb3ZlU291cmNlRnJvbUNvbGxlY3Rpb25zKGksZSl9c291cmNlc0J5R3JvdXAoKXtyZXR1cm4gdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXN9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5nZXQoZSl8fG51bGx9bGluZVRvb2xCeUxpbmtLZXkoZSl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5nZXRCeUtleTEoZSl9Y2hhbmdlU291cmNlSWQoZSx0KXtlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiYoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpPy5hZGRQZXJzaXN0ZW50TG9nRW50cnkoYGNoYW5nZVNvdXJjZUlkIGZvciBzZXJpZXMgZnJvbSAke2UuaWQoKX0gdG8gJHt0fWAsYy5MT0dMRVZFTC5JTkZPLGFjKSwoMCxsLmFzc2VydCkodGhpcy5oYXNEYXRhU291cmNlKGUpKTtjb25zdCBpPWUuaWQoKTtlLnNldElkKHQpLHRoaXMuX3NvdXJjZXNCeUlkLmRlbGV0ZShpKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodCxlKSwoMCwKSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiYodGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5kZWxldGUoaSksdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodCxlKSl9bW92ZVByaWNlU2NhbGUoZSx0LGkpe2NvbnN0IHM9dGhpcy5wcmljZVNjYWxlUG9zaXRpb24oZSk7aWYocyE9PXQpdGhpcy5yZW1vdmVQcmljZVNjYWxlKGUpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShlLHQsaSksZS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKTtlbHNlIGlmKHZvaWQgMCE9PWkmJiJvdmVybGF5IiE9PXMpe2NvbnN0IHQ9ImxlZnQiPT09cz90aGlzLl9sZWZ0UHJpY2VTY2FsZXM6dGhpcy5fcmlnaHRQcmljZVNjYWxlcyxuPXQuaW5kZXhPZihlKTt0LnNwbGljZShuLDEpLHQuc3BsaWNlKGksMCxlKX19bWFpbkRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21haW5EYXRhU291cmNlfWlzRW1wdHkoKXtyZXR1cm4gbnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZX1yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSx0KXtpZighZSlyZXR1cm47bGV0IGk9ZS5zb3VyY2VzRm9yQXV0b3NjYWxlKCk7aWYoZT09PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkmJihpPVsuLi5pLC4uLnRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLm11bHRpcGFuZVNvdXJjZXMoKV0pLChlLmlzQXV0b1NjYWxlKCl8fGUucHJpY2VSYW5nZVNob3VsZEJlUmVjYWxjdWxhdGVkT25jZSgpfHxudWxsPT09ZS5wcmljZVJhbmdlKCkpJiZpLmxlbmd0aD4wJiYhdGhpcy50aW1lU2NhbGUoKS5pc0VtcHR5KCkpe2NvbnN0IGk9ZS5wcmljZVJhbmdlKCkscz10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSxuPXRoaXMudGltZVNjYWxlKCkubG9naWNhbFJhbmdlKCk7ZS5yZWNhbGN1bGF0ZVByaWNlUmFuZ2UocyxuKSxQbC5QcmljZVJhbmdlLmNvbXBhcmUoaSxlLnByaWNlUmFuZ2UoKSl8fGUudXBkYXRlQWxsVmlld3ModCl9fW9uU291cmNlVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9aW5zZXJ0RGF0YVNvdXJjZShlLHQsaSxzKXtlLnNldFpvcmRlcihpKSx0fHwocz0hMSx0PXRoaXMuZmluZFN1aXRhYmxlU2NhbGUoZSkpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSk7bGV0IG49ITE7ZT09PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk/KHRoaXMubV9tYWluRGF0YVNvdXJjZT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLG49ITApOm51bGw9PT10aGlzLm1fbWFpbkRhdGFTb3VyY2UmJigwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMubV9tYWluRGF0YVNvdXJjZT1lLG49ITApLHN8fHQuYWRkRGF0YVNvdXJjZShlLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuaW52YWxpZGF0ZU1hcmdpbnMoKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMub25Tb3VyY2VUYWdzQ2hhbmdlZCksbiYmdGhpcy5fbW9kZT09PU0uUGFuZU1vZGUuUmVndWxhciYmdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCksKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksdGhpcy5faXNJbkluc2VydE1hbnlEYXRhU291cmNlc1N0YXRlfHwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpLnN5bmNTb3VyY2VBbGVydExhYmVscyhlKX1hZGREYXRhU291cmNlKGUsdCxpKXtsZXQgcz1lLnpvcmRlcigpO2l8fCgoMCxyaS5pc0xpbmVUb29sKShlKSYmIWUuaXNTcGVjaWFsbHlaT3JkZXJlZFNvdXJjZSgpPyhzPW51bGwhPT10aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI/dGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyKzE6dGhpcy5uZXdMaW5lVG9vbFpPcmRlcigpLHRoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZSYmKHRoaXMuX2xhc3RMaW5lRGF0YVNvdXJjZVpPcmRlcj1zKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLmlzU3BlY2lhbGx5Wk9yZGVyZWRTb3VyY2UoKSYmKHM9dGhpcy5uZXdTdHVkeVpPcmRlcigpKSksdGhpcy5pbnNlcnREYXRhU291cmNlKGUsdCxzKX1yZW1vdmVEYXRhU291cmNlKGUsdD0hMSxpPSExLHM9ITEpe2xldCBuPXRoaXMubV9kYXRhU291cmNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilyZXR1cm4gdm9pZCBuYy5sb2dEZWJ1ZygicmVtb3ZlRGF0YVNvdXJjZTogaW52YWxpZCBkYXRhIHNvdXJjZSIpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKSkuZGV0YWNoU291cmNlQWxlcnRMYWJlbHMoZSksbj10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZihlKSx0aGlzLl9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMobixpKSxlPT09dGhpcy5tX21haW5EYXRhU291cmNlJiYodGhpcy5tX21haW5EYXRhU291cmNlPW51bGwpO2NvbnN0IHI9ZS5wcmljZVNjYWxlKCk7c3x8dGhpcy5yZW1vdmVTb3VyY2VGcm9tUHJpY2VTY2FsZShlKSxlLm9uVGFnc0NoYW5nZWQmJmUub25UYWdzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5vblNvdXJjZVRhZ3NDaGFuZ2VkKSwoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJiF0JiZ0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpLCgwLHRpLmlzU3R1ZHkpKGUpJiZlLm1ldGFJbmZvKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKSYmdGhpcy5fbW9kZWwucmVtb3ZlTXVsdGlQYW5lU291cmNlKGUpLHRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKSxyJiYoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHIsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKX1oYXNEYXRhU291cmNlKGUpe3JldHVybiB0aGlzLl9zb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX0KaGFzRGF0YVNvdXJjZVdpdGhTaWduYXR1cmUoZSl7cmV0dXJuIHRoaXMuX3ByaWNlRGF0YVNvdXJjZXMuc29tZSgodD0+dC5zaWduYXR1cmUoKS52YWx1ZSgpPT09ZSkpfWhhc1ByaWNlRGF0YVNvdXJjZShlKXtyZXR1cm4gdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5oYXMoZS5pZCgpKX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fZGF0YVNvdXJjZXN9cHJpY2VEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9wcmljZURhdGFTb3VyY2VzfXN0dWR5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHVkeVNvdXJjZXN9bG9sbGlwb3BEYXRhU291cmNlcygpe3JldHVybiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzfXN5bWJvbFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlc31yZXBsYWNlU291cmNlKGUsdCxpKXtjb25zdCBzPXRoaXMubV9tYWluRGF0YVNvdXJjZT09PWUsbj1pPy5yZXBsYWNlU291cmNlKGUsdCk7dGhpcy5yZW1vdmVEYXRhU291cmNlKGUsITAsdm9pZCAwLG4pLHRoaXMuaW5zZXJ0RGF0YVNvdXJjZSh0LGksZS56b3JkZXIoKSxuKSx0aGlzLl9zb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5fcHJpY2VTb3VyY2VzQnlJZC5zZXQodC5pZCgpLHQpLHMmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dCx0aGlzLl9wcm9jZXNzTWFpblNvdXJjZUNoYW5nZSgpKX1maW5kU3VpdGFibGVTY2FsZShlLHQsaSl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneS5maW5kU3VpdGFibGVTY2FsZSh0aGlzLGUsdCxpKX1jcmVhdGVOZXdQcmljZVNjYWxlSWZQb3NzaWJsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUodGhpcyl9Y2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kuY2FuQ3JlYXRlTmV3UHJpY2VTY2FsZSh0aGlzKX1pc092ZXJsYXkoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtyZXR1cm4gbnVsbD09PXR8fCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpfXJlY2FsY3VsYXRlKGUpe3RoaXMuX2xlZnRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LGUpKSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXRoaXMuaXNPdmVybGF5KHQpJiYhKDAscmkuaXNMaW5lVG9vbCkodCkmJnRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKHQucHJpY2VTY2FsZSgpLGUpO3RoaXMudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwudXBkYXRlUGFuZSh0aGlzKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX2NhY2hlZE9yZGVyZWRTb3VyY2VzLmFsbCgpO2Zvcihjb25zdCBpIG9mIHQpaS51cGRhdGVBbGxWaWV3cyhlKTtmb3IoY29uc3QgdCBvZiB0aGlzLm1vZGVsKCkuY3VzdG9tU291cmNlcygpKXQudXBkYXRlVmlld3NGb3JQYW5lKHRoaXMsZSl9dXBkYXRlTG9sbGlwb3BWaWV3cyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzKXQudXBkYXRlQWxsVmlld3MoZSl9cHJpY2VTY2FsZVBvc2l0aW9uKGUpe3JldHVybiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/ImxlZnQiOnRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuaW5jbHVkZXMoZSk/InJpZ2h0Ijoib3ZlcmxheSJ9Y3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oZSx0KXtjb25zdCBpPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmF4aXNQcm9wZXJ0aWVzLnN0YXRlKCk7aS5hdXRvU2NhbGU9ITA7Y29uc3Qgcz1uZXcgcWwodGhpcy5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLGkpO3JldHVybiBzLnNldEhlaWdodCh0aGlzLmhlaWdodCgpKSxvYyhzLHRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0aGlzLl9kZWZhdWx0Qm90dG9tTWFyZ2luKCkpLHRoaXMuX3BsYWNlUHJpY2VTY2FsZShzLGUsdCksc31yZW1vdmVQcmljZVNjYWxlKGUpe2UubW9kZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByaWNlUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5pbnRlcm5hbEhlaWdodENoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLmlzVmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uUHJpY2VTY2FsZUlzVmlzaWJsZUNoYW5nZWQpLGUucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlPW51bGwsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKTtjb25zdCB0PXRoaXMuX2xlZnRQcmljZVNjYWxlcy5pbmRleE9mKGUpOy0xIT09dCYmKHRoaXMuX2xlZnRQcmljZVNjYWxlc1t0XS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX2xlZnRQcmljZVNjYWxlcy5zcGxpY2UodCwxKSk7Y29uc3QgaT10aGlzLl9yaWdodFByaWNlU2NhbGVzLmluZGV4T2YoZSk7aWYoLTEhPT1pJiYodGhpcy5fcmlnaHRQcmljZVNjYWxlc1tpXS5pbnZhbGlkYXRlTWFyZ2lucygpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMuc3BsaWNlKGksMSkpLG51bGw9PT1lLm1haW5Tb3VyY2UoKSl7Y29uc3QgdD1lLmRhdGFTb3VyY2VzKCkubGVuZ3RoOzAhPT10JiZuYy5sb2dFcnJvcigiSW52YWxpZCBwcmljZVNjYWxlIHN0YXRlOiBlbXB0eSBtYWluU291cmNlIGJ1dCBub24tZW1wdHkgZGF0YSBzb3VyY2VzPSIrdCl9dGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfXByaWNlU2NhbGVJbmRleChlLHQpe3N3aXRjaCh0KXtjYXNlImxlZnQiOnJldHVybiB0aGlzLmxlZnRQcmljZVNjYWxlcygpLmluZGV4T2YoZSk7Y2FzZSJyaWdodCI6CnJldHVybiB0aGlzLnJpZ2h0UHJpY2VTY2FsZXMoKS5pbmRleE9mKGUpfX1tb3ZlKGUsdCxpKXtjb25zdCBzPWUucHJpY2VTY2FsZSgpO3RoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksdC5hZGREYXRhU291cmNlKGUpLGUuc2V0UHJpY2VTY2FsZSh0KSx0LmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fcHJvY2Vzc01haW5Tb3VyY2VDaGFuZ2UoKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCksZS5pc0luY2x1ZGVkSW5BdXRvU2NhbGUoKSYmKG51bGwhPT1zJiZ0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZSh0LCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpfXNldFpPcmRlcnMoZSl7ZS5mb3JFYWNoKCgoZSx0KT0+e3Quc2V0Wm9yZGVyKGUpfSkpLHRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0aGlzLl9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKSwwPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlciYmdGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5tb2RlbCgpLmZ1bGxVcGRhdGUoKX1pc01haW5QYW5lKCl7cmV0dXJuIHRoaXMuX2lzTWFpblBhbmUucmVhZG9ubHkoKX1pc0xhc3QoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5wYW5lcygpO3JldHVybiBlW2UubGVuZ3RoLTFdPT09dGhpc31uZXdTdHVkeVpPcmRlcigpe3JldHVybigwLENvLm5ld1N0dWR5Wk9yZGVyKSh0aGlzLl9wcmljZURhdGFTb3VyY2VzKX1uZXdMaW5lVG9vbFpPcmRlcihlKXtyZXR1cm4oMCxDby5uZXdMaW5lVG9vbFpPcmRlcikodGhpcy5zb3VyY2VzQnlHcm91cCgpLnpPcmRlclZpc2libGVTb3VyY2VzKCksZSl9bW9kZWwoKXtyZXR1cm4gdGhpcy5fbW9kZWx9Y29udGFpbnNNYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX3NvdXJjZXNCeUlkLmhhcyh0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmlkKCkpfWFwcGx5UHJpY2VTY2FsZVJhdGlvKGUsdCl7bnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUhPT1lfHx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPT09dHx8IXRoaXMuaXNNYWluUGFuZSgpLnZhbHVlKCl8fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlJiZlIT09dGhpcy5tYWluRGF0YVNvdXJjZSgpPy5wcmljZVNjYWxlKCl8fCh0aGlzLl9zZXROZXdQcmljZVJhbmdlQnlTY2FsZVJhdGlvKGUsdCx0aGlzLl9tYWluU291cmNlVmlzaWJsZVByaWNlUmFuZ2UoZSksITAsITApLG51bGwhPT10aGlzLl9sb2NrZWRQcmljZVNjYWxlP3RoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKTplLmlzTG9nKCl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5T25DaGFuZ2VkKCkpfXNlbmRUb0JhY2soZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuek9yZGVyVmlzaWJsZVNvdXJjZXMoKTt0aGlzLl9iYXRjaFJlb3JkZXIoZSx0WzBdLENvLm1vdmVCZWZvcmVTb3VyY2UpfWJyaW5nVG9Gcm9udChlKXtjb25zdCB0PXRoaXMuc291cmNlc0J5R3JvdXAoKS5hbGxFeGNlcHRTcGVjaWFsU291cmNlcygpO3RoaXMuX2JhdGNoUmVvcmRlcihlLHRbdC5sZW5ndGgtMV0sQ28ubW92ZUFmdGVyU291cmNlKX1zZW5kQmFja3dhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsSW5jbHVkaW5nSGlkZGVuKCksaT10LmluZGV4T2YoZVswXSk7aWYoMD09PWkpdGhpcy5icmluZ1RvRnJvbnQoZSk7ZWxzZXtjb25zdCBzPXRbaS0xXTt0aGlzLmluc2VydEJlZm9yZShlLHMpfX1icmluZ0ZvcndhcmQoZSl7Y29uc3QgdD10aGlzLnNvdXJjZXNCeUdyb3VwKCkuYWxsRXhjZXB0U3BlY2lhbFNvdXJjZXMoKSxpPXQuaW5kZXhPZihlW2UubGVuZ3RoLTFdKTtpZihpPT09dC5sZW5ndGgtMSl0aGlzLnNlbmRUb0JhY2soZSk7ZWxzZXtjb25zdCBzPXRbaSsxXTt0aGlzLmluc2VydEFmdGVyKGUscyl9fWluc2VydEFmdGVyKGUsdCl7dGhpcy5fYmF0Y2hSZW9yZGVyKGUsdCxDby5tb3ZlQWZ0ZXJTb3VyY2UpfWluc2VydEJlZm9yZShlLHQpe3RoaXMuX2JhdGNoUmVvcmRlcihlLHQsQ28ubW92ZUJlZm9yZVNvdXJjZSl9bWF4aW1pemVkKCl7cmV0dXJuIHRoaXMuX21heGltaXplZH1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkfWNvbGxhcHNpbmdBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2luZ0F2YWlsYWJsZX1nZXRQcmljZVNjYWxlQnlJZChlKXtjb25zdCB0PXRoaXMubV9kYXRhU291cmNlcy5maW5kKCh0PT50LnByaWNlU2NhbGUoKT8uaWQoKT09PWUpKTtyZXR1cm4gdm9pZCAwPT09dD9udWxsOnQucHJpY2VTY2FsZSgpfXByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneSgpe3JldHVybiB0aGlzLl9wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3l9c2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KGUpe3RoaXMuX3ByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneT1lLGUuYXBwbHkodGhpcyl9ZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKGUsdCxpLHMpe2lmKCgwLEFpLmlzRGF0YVNvdXJjZSkoZSkmJnRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09dGhpcylyZXR1cm5bXTtjb25zdCBuPWUucHJpY2VTY2FsZSgpO2lmKHQ9PT1uKXJldHVybiBpO2lmKG51bGw9PT1uKXJldHVybltdO2lmKCJvdmVybGF5Ij09PXRoaXMucHJpY2VTY2FsZVBvc2l0aW9uKG4pKXJldHVybiB0PT09dGhpcy5kZWZhdWx0UHJpY2VTY2FsZSgpP2k6W107Y29uc3Qgcj10aGlzLnByaWNlU2NhbGVQb3NpdGlvbih0KTtpZihyIT09dGhpcy5wcmljZVNjYWxlUG9zaXRpb24obikpcmV0dXJuW107Y29uc3Qgbz0ibGVmdCI9PT1yP3RoaXMubGVmdFByaWNlU2NhbGVzKCk6dGhpcy5yaWdodFByaWNlU2NhbGVzKCk7cmV0dXJuIG8uaW5kZXhPZih0KTxvLmluZGV4T2Yobik/czpbXX1hY3Rpb25Ob1NjYWxlSXNFbmFibGVkKGUpewpyZXR1cm4hKCF0aGlzLmlzT3ZlcmxheShlKSYmKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKXx8dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpPjF9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfXNldFByaWNlQXV0b1NjYWxlKGUsdCl7ZS5zZXRNb2RlKHthdXRvU2NhbGU6dH0pLHRoaXMudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShlLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfXN0YXRlKGUpe2NvbnN0e3dpdGhEYXRhOnQsc2tpcExpbmVUb29sc0Zyb21PdGhlclN5bWJvbHM6aSx3aXBlU2Vuc2l0aXZlRGF0YTpzLHNraXBMaW5lVG9vbHM6bixza2lwTm9uU2hhcmVkTGluZVRvb2xzOnIsc2tpcEhpZGRlblNvdXJjZXM6byxpbmNsdWRlU291cmNlczphLGlzU3R1ZHlUZW1wbGF0ZTpsfT1lPz97fSxjPXtzb3VyY2VzOltdLG1haW5Tb3VyY2VJZDp0aGlzLm1fbWFpbkRhdGFTb3VyY2U/LmlkKCksc3RyZXRjaEZhY3Rvcjp0aGlzLl9zdHJldGNoRmFjdG9yLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOltdLG92ZXJsYXlQcmljZVNjYWxlczp7fSxwcmljZVNjYWxlUmF0aW86dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyxpc0NvbGxhcHNlZDp0aGlzLl9jb2xsYXBzZWQudmFsdWUoKSxpc01heGltaXplZDp0aGlzLl9tYXhpbWl6ZWQudmFsdWUoKSxtb2RlOnRoaXMuX21vZGV9LGg9bmV3IE1hcCxkPW5ldyBNYXAsdT1lPT57aWYoaC5oYXMoZSkpcmV0dXJuIGguZ2V0KGUpO2xldCB0PSExO2lmKCgwLHRpLmlzU3R1ZHkpKGUpKXQ9IShlLmlzVmlzaWJsZSgpfHxlLmhhc0NoaWxkcmVuKCkmJmUuZ2V0QWxsQ2hpbGRyZW4oKS5zb21lKChlPT5lLmlzVmlzaWJsZSgpKSkpO2Vsc2UgaWYoKDAscmkuaXNMaW5lVG9vbCkoZSkpaWYoZS5pc1Zpc2libGUoKSl7Y29uc3QgaT1lLm93bmVyU291cmNlKCk7dD0hIWkmJnUoaSl9ZWxzZSB0PSEwO3JldHVybiBoLnNldChlLHQpLHR9LHA9ZT0+e2lmKGQuaGFzKGUpKXJldHVybiBkLmdldChlKTtsZXQgYT1udWxsO2NvbnN0IGM9bCYmIWUuaXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXx8KDAscWkuaXNBbGVydExhYmVsKShlKXx8IWUuc3RhdGV8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiZufHxvJiZ1KGUpfHwhZS5pc1NhdmVkSW5DaGFydChCb29sZWFuKHQpKXx8IShhPWUuc3RhdGUodCxzKSl8fGkmJigwLHJpLmlzTGluZVRvb2wpKGUpJiZlLmlzQWN0dWFsU3ltYm9sJiYhZS5pc0FjdHVhbFN5bWJvbCgpfHxyJiYoMCxyaS5pc0xpbmVUb29sKShlKSYmMD09PWUuc2hhcmluZ01vZGUoKS52YWx1ZSgpfHxlLmlzUGhhbnRvbSgpP251bGw6YTtyZXR1cm4gZC5zZXQoZSxjKSxjfTtpZihhKXtjLnNvdXJjZXM9W107Zm9yKGxldCBlPTA7ZTx0aGlzLm1fZGF0YVNvdXJjZXMubGVuZ3RoO2UrKyl7Y29uc3QgdD1wKHRoaXMubV9kYXRhU291cmNlc1tlXSk7bnVsbCE9PXQmJmMuc291cmNlcy5wdXNoKHQpfX1jb25zdCBfPWU9Pm51bGwhPT1kLmdldChlKSxtPWU9PiFufHwhKDAscmkuaXNMaW5lVG9vbCkoZSk7Yy5sZWZ0QXhpc2VzU3RhdGU9dGhpcy5fbGVmdFByaWNlU2NhbGVzLm1hcCgoZT0+KHtzdGF0ZTplLnN0YXRlKCksc291cmNlczplLmRhdGFTb3VyY2VzKCkuZmlsdGVyKF8pLmZpbHRlcihtKS5tYXAoKGU9PmUuaWQoKSkpfSkpKSxjLnJpZ2h0QXhpc2VzU3RhdGU9dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5tYXAoKGU9Pih7c3RhdGU6ZS5zdGF0ZSgpLHNvdXJjZXM6ZS5kYXRhU291cmNlcygpLmZpbHRlcihfKS5maWx0ZXIobSkubWFwKChlPT5lLmlkKCkpKX0pKSksYy5vdmVybGF5UHJpY2VTY2FsZXM9e307Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKHRoaXMuaXNPdmVybGF5KGUpJiZlLmlzU2F2ZWRJbkNoYXJ0KEJvb2xlYW4odCkpKXtjb25zdCB0PWUucHJpY2VTY2FsZSgpO2Mub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV09dD8uc3RhdGUoKT8/bnVsbH1yZXR1cm4gY31yZXN0b3JlU3RhdGUoZSl7Y29uc3R7c3RhdGU6dCx3aXRoRGF0YTppLHZlcnNpb246cyxzZXJpZXNJZDpuPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pZCgpLHNldHRpbmdzTWlncmF0aW9uOnI9e30sY29udGVudE92ZXJyaWRlczpvLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoPTAsaXNTdHVkeVRlbXBsYXRlOmQ9ITF9PWU7KDAsbGwuZ2V0UGVyc2lzdGVudExvZ2dlcikoKT8uYWRkUGVyc2lzdGVudExvZ0VudHJ5KGBSZXN0b3JpbmcgcGFuZSB3aXRoIHNlcmllc0lkICR7bn1gLGMuTE9HTEVWRUwuSU5GTyxhYyksdGhpcy5fbW9kZT10Lm1vZGU/P00uUGFuZU1vZGUuUmVndWxhcix0LnN0cmV0Y2hGYWN0b3ImJih0aGlzLl9zdHJldGNoRmFjdG9yPXQuc3RyZXRjaEZhY3Rvcik7Y29uc3QgdT17fTtpZih0LnNvdXJjZXMpe2NvbnN0IGU9dC5zb3VyY2VzLmZpbHRlcigoZT0+ISFlJiYoIk1haW5TZXJpZXMiPT09ZS50eXBlfHwoIWUucG9pbnRzPy5zb21lKChlPT5udWxsPT09ZS50aW1lX3R8fCFpc0Zpbml0ZShlLnRpbWVfdCkpKXx8KG5jLmxvZ05vcm1hbCgiRHJvcHBlZCBpbnZhbGlkICIrZS50eXBlKyIuIFJlYXNvbjogbm9uLW51bWVyaWMgcG9pbnQgdGltZSIpLCExKSkpKSksbD1lLmZpbmRJbmRleChQLmlzTWFpblNlcmllc1N0YXRlKTstMSE9PWwmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuc2V0T2Jzb2xldGVaT3JkZXIoZVtsXS56b3JkZXIpLHM8MyYmKDAsQ28ucmVvcmRlckRhdGFTb3VyY2VzU3RhdGVaT3JkZXIpKGUpO2NvbnN0IGM9LTEhPT10aGlzLm1fZGF0YVNvdXJjZXMuaW5kZXhPZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpO3RoaXMuY2xlYXJTZXJpZXMoQm9vbGVhbihhKSksdGhpcy5tX21haW5EYXRhU291cmNlPW51bGwsYyYmdGhpcy5fYWRkU291cmNlVG9Db2xsZWN0aW9ucyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksYSksKCgpPT57Y29uc3QgaT1lLmZpbmQoKGU9PmUuaWQ9PT10Lm1haW5Tb3VyY2VJZCkpCjtpZih2b2lkIDA9PT1pKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlRoZXJlIGlzIG5vIG1haW4gc291cmNlIHdpdGggaWQgIit0Lm1haW5Tb3VyY2VJZCsiLCB0b3RhbCBzb3VyY2VzPSIrZS5sZW5ndGgpO2lmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKGkudHlwZSkpcmV0dXJuIHZvaWQgbmMubG9nTm9ybWFsKCJUaGUgdHlwZSBvZiBtYWluIHNvdXJjZSBpcyBub3QgbGluZSB0b29sIC0gZml4IGlzIHVubmVjZXNzYXJ5Iik7bGV0IHM9bnVsbDtmb3IoY29uc3QgdCBvZiBlKWlmKCF3aW5kb3cuVHJhZGluZ1ZpZXdbaS50eXBlXXx8ISgwLG0uaXNMaW5lVG9vbE5hbWUpKHQudHlwZSkpe2lmKG51bGwhPT1zKXJldHVybiB2b2lkIG5jLmxvZ1dhcm4oIlBhbmUgY29udGFpbnMgbW9yZSB0aGFuIDEgcG9zc2libHkgbWFpbiBzb3VyY2VzIC0gYXV0byBmaXggY2Fubm90IGJlIGFwcGxpZWQiKTtzPXR9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQgbmMubG9nV2FybigiUGFuZSBjb250YWlucyBvbmx5IGxpbmUgdG9vbHMgLSBwb3NzaWJsZSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGlzIHBhbmU/Iik7Y29uc3Qgbj10Lm1haW5Tb3VyY2VJZDtsZXQgcj0wO3QubWFpblNvdXJjZUlkPXMuaWQsZS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZT09PW4mJihlLm93bmVyU291cmNlPXM/LmlkLHIrPTEpfSkpLG5jLmxvZ05vcm1hbCgiQXV0byBmaXggYnJva2VuIHBhbmUgaXMgYXBwbGllZCwgY2hhbmdlZCBsaW5lIHRvb2xzPSIrcisiLCBjaGFuZ2VkIGZyb209IituKyIgdG89IitzLmlkKX0pKCk7Zm9yKGNvbnN0IHQgb2YgZSlpZigic3R1ZHlfU2Vzc2lvbnMiPT09dC50eXBlKXtjb25zdCBlPXQ7ZS5vbGRTdGF0ZT0hMCx0aGlzLm1vZGVsKCkuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoZSxpKTticmVha31mb3IoY29uc3QgdCBvZiBlKSJzdHVkeV9TZXNzaW9ucyIhPT10LnR5cGUmJihudWxsPT09dGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHQuaWQpfHwiTWFpblNlcmllcyI9PT10LnR5cGU/KHVbdC5pZF09dC5vd25lclNvdXJjZSwoMCxQLmlzTWFpblNlcmllc1N0YXRlKSh0KT90aGlzLl9yZXN0b3JlTWFpblNlcmllcyh0LGksYyxyLG8sYSxkKTooMCxQLmlzU3R1ZHlTdGF0ZSkodCk/dGhpcy5yZXN0b3JlU3R1ZHkoe3NvdXJjZTp0LHdpdGhEYXRhOmksc2VyaWVzSWQ6bixzZXR0aW5nc01pZ3JhdGlvbjpyLHJlc3RvcmVTaWxlbnRseTphLHJlYXNvbjpoLHNraXBNYWluU291cmNlUmVjYWxjdWxhdGlvbjohMH0pOigwLFAuaXNMaW5lVG9vbFN0YXRlKSh0KT8odC5zdGF0ZSYmKHQuc3RhdGUuek9yZGVyVmVyc2lvbj0yKSx0aGlzLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6dCx3aXRoRGF0YTppLHJlc3RvcmVTaWxlbnRseTphfSkpOnQudHlwZT09PXBsLkNoYXJ0RXZlbnRzU291cmNlSWQuVmFsdWUmJnRoaXMuX3Jlc3RvcmVTcGVjaWFsU291cmNlKHQsaSxhKSk6bmMubG9nRXJyb3IoIkR1cGxpY2F0ZSBpZCB3aGlsZSByZXN0b3JpbmcgcGFuZTogIit0LnR5cGUrIiwiK3QuaWQpKX1jb25zdCBwPW5ldyBTZXQsXz0oZSx0KT0+e2UucHJpY2VTY2FsZSgpIT09dCYmKHRoaXMucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSksZS5zZXRQcmljZVNjYWxlKHQpLHQuYWRkRGF0YVNvdXJjZShlKSl9LGc9KGUsaSxzKT0+e2lmKHAuaGFzKGUpKXJldHVybjtwLmFkZChlKTtjb25zdCBuPXMubV9zaG93U3ltYm9sTGFiZWxzO3ZvaWQgMCE9PW4mJmU9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiZ0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy5zZXRWYWx1ZShuKSx0aGlzLl9tb2RlbC5jaGlsZHJlbihlLCEwLCEwKS5mb3JFYWNoKChlPT57dC5vdmVybGF5UHJpY2VTY2FsZXM/LltlLmlkKCldfHxnKGUsaSxzKX0pKSxfKGUsaSl9LGY9ZT0+e2NvbnN0IHQ9KDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5wYW5lUHJvcGVydGllcy5heGlzUHJvcGVydGllcyxpPW5ldyBxbCh0aGlzLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdCk7cmV0dXJuIGkucmVzdG9yZVN0YXRlKGUuc3RhdGUpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCksZS5zb3VyY2VzLmZvckVhY2goKGU9Pntjb25zdCBzPXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3MmJmcocyxpLHQpfSkpLDA9PT1pLmRhdGFTb3VyY2VzKCkubGVuZ3RoP251bGw6aX0sUz1lPT5lLm1hcChmKS5maWx0ZXIoKGU9Pm51bGwhPT1lKSk7bGV0IHY7aWYodC5sZWZ0QXhpc2VzU3RhdGUpdj1TKHQubGVmdEF4aXNlc1N0YXRlKTtlbHNle2NvbnN0IGU9Zih7c3RhdGU6dC5sZWZ0QXhpc1N0YXRlLHNvdXJjZXM6dC5sZWZ0QXhpc1NvdXJjZXN9KTt2PW51bGwhPT1lP1tlXTpbXX1sZXQgeTtpZih0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuc2xpY2UoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVByaWNlU2NhbGUoZSkpKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXM9W10sdi5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwibGVmdCIpKSksdC5yaWdodEF4aXNlc1N0YXRlKXk9Uyh0LnJpZ2h0QXhpc2VzU3RhdGUpO2Vsc2V7Y29uc3QgZT1mKHtzdGF0ZTp0LnJpZ2h0QXhpc1N0YXRlLHNvdXJjZXM6dC5yaWdodEF4aXNTb3VyY2VzfSk7eT1udWxsIT09ZT9bZV06W119dGhpcy5fcmlnaHRQcmljZVNjYWxlcy5zbGljZSgpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlUHJpY2VTY2FsZShlKSkpLHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXM9W10seS5mb3JFYWNoKChlPT50aGlzLl9wbGFjZVByaWNlU2NhbGUoZSwicmlnaHQiKSkpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dC5wcmljZVNjYWxlUmF0aW98fHQubGVmdFByaWNlU2NhbGVSYXRpb3x8dC5yaWdodFByaWNlU2NhbGVSYXRpb3x8bnVsbDtjb25zdCBiPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKXtpZihwLmhhcyhlKSljb250aW51ZTtsZXQgaQo7aWYodC5vdmVybGF5UHJpY2VTY2FsZXMmJnQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pe2xldCBzPXQub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV07Yi5oYXMocz8uaWQpP2k9Yi5nZXQocz8uaWQpOihzPSgwLGwuZW5zdXJlKShzKSxpPW5ldyBxbCh0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcyksaS5zZXRIZWlnaHQodGhpcy5faGVpZ2h0KSxzLm1faXNBdXRvU2NhbGU9ITAscy5tX2lzTG9nPSExLHMubV9pc1BlcmNlbnRhZ2U9ITEscy5tX2lzTG9ja1NjYWxlPSExLGkucmVzdG9yZVN0YXRlKHMpLGIuc2V0KHMuaWQsaSkpfWVsc2UgaT1uZXcgcWwodGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMpLGkuc2V0SGVpZ2h0KHRoaXMuX2hlaWdodCk7XyhlLGkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHUpKXtjb25zdCB0PXVbZV0saT10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTt0JiZpJiZudWxsPT09aS5vd25lclNvdXJjZSgpJiZpLnNldE93bmVyU291cmNlKHRoaXMuZGF0YVNvdXJjZUZvcklkKHQpKX1pZih0Lm1haW5Tb3VyY2VJZCYmIXRoaXMuY29udGFpbnNNYWluU2VyaWVzKCkmJih0aGlzLm1fbWFpbkRhdGFTb3VyY2U9dGhpcy5kYXRhU291cmNlRm9ySWQodC5tYWluU291cmNlSWQpKSwhdGhpcy5tX21haW5EYXRhU291cmNlKWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcylpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT1lO2JyZWFrfWZvcihjb25zdCBlIG9mIHRoaXMubV9kYXRhU291cmNlcykoMCxyaS5pc0xpbmVUb29sKShlKT8oZS5vd25lclNvdXJjZSgpfHxlLnNldE93bmVyU291cmNlKHRoaXMubWFpbkRhdGFTb3VyY2UoKSksZS5pc0ZpeGVkKCkmJmUucmVzdG9yZUZpeGVkUG9pbnQoKSk6KDAsdGkuaXNTdHVkeSkoZSkmJiFlLm93bmVyU291cmNlKCkmJmUuaXNMaW5rZWRUb1NlcmllcygpJiZlLnNldE93bmVyU291cmNlKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpO3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZSh0LmlzQ29sbGFwc2VkPz8hMSksdC5pc01heGltaXplZCYmdGhpcy5fbW9kZWwuc2V0TWF4aW1pemVkUGFuZSh0aGlzKSx0aGlzLl91cGRhdGVNYXJnaW5zKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKX1vblByaWNlU2NhbGVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9vblByaWNlU2NhbGVzQ2hhbmdlZH1zZXRQYW5lU2l6ZShlKXtsZXQgdDtzd2l0Y2goZSl7Y2FzZSJsYXJnZSI6dD0xO2JyZWFrO2Nhc2UibWVkaXVtIjp0PS42O2JyZWFrO2Nhc2Uic21hbGwiOnQ9LjM7YnJlYWs7Y2FzZSJ0aW55Ijp0PS4xNTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBzaXplIGVudW0gdmFsdWU6ICIrZSl9dGhpcy5fc3RyZXRjaEZhY3Rvcj0xZTMqdH1zdHJldGNoRmFjdG9yKCl7cmV0dXJuIHRoaXMuX3N0cmV0Y2hGYWN0b3J9c2V0U3RyZXRjaEZhY3RvcihlKXt0aGlzLl9zdHJldGNoRmFjdG9yPWV9Y3VzdG9tU291cmNlcyhlKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmN1c3RvbVNvdXJjZXMoZSl9Y3JlYXRlRHJhd2luZ3NDYWNoZXMoKXswfWNsZWFyRHJhd2luZ0NhY2hlcygpezB9ZXhlY3V0aW9uc1Bvc2l0aW9uQ29udHJvbGxlcigpe3JldHVybiBudWxsfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofWhlaWdodCgpe3JldHVybiB0aGlzLl9oZWlnaHR9c2V0SGVpZ2h0KGUpe2lmKHRoaXMuX2hlaWdodCE9PWUmJih0aGlzLl9oZWlnaHQ9ZSx0aGlzLl9tb2RlPT09TS5QYW5lTW9kZS5SZWd1bGFyKSl7dGhpcy5fbGVmdFByaWNlU2NhbGVzLmZvckVhY2goKHQ9PnQuc2V0SGVpZ2h0KGUpKSksdGhpcy5fcmlnaHRQcmljZVNjYWxlcy5mb3JFYWNoKCh0PT50LnNldEhlaWdodChlKSkpO2ZvcihsZXQgdD0wO3Q8dGhpcy5tX2RhdGFTb3VyY2VzLmxlbmd0aDt0Kyspe2NvbnN0IGk9dGhpcy5tX2RhdGFTb3VyY2VzW3RdO3RoaXMuaXNPdmVybGF5KGkpJiZpLnByaWNlU2NhbGUoKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShpLnByaWNlU2NhbGUoKSkuc2V0SGVpZ2h0KGUpfXRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fc2l6ZUNoYW5nZWQuZmlyZSgpfX1zZXRXaWR0aChlKXtyZXR1cm4gdGhpcy5fd2lkdGghPT1lJiYodGhpcy5fd2lkdGg9ZSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX3NpemVDaGFuZ2VkLmZpcmUoKSwhMCl9b25TaXplQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zaXplQ2hhbmdlZH1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9ZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkfXN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkfXByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkfXN5bWJvbFNvdXJjZVJlc29sdmVkKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmVkfXN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmV9c291cmNlUHJvcGVydGllc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc291cmNlUHJvcGVydGllc0NoYW5nZWR9c291cmNlWk9yZGVyQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzWk9yZGVyQ2hhbmdlZH1saW5lVG9vbHNGb3JBcmVhKGUsdCl7Y29uc3QgaT10aGlzLmxvZ2ljYWxSZWN0VG9QaXhlbHMoZSkKO3JldHVyblsuLi50aGlzLm1fZGF0YVNvdXJjZXMsLi4udGhpcy5tb2RlbCgpLm11bHRpUGFuZVNvdXJjZXModGhpcyldLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PihlLnBhbmVWaWV3cyh0aGlzKXx8W10pLnNvbWUoKGU9Pntjb25zdCBzPWUucmVuZGVyZXIodCk7cmV0dXJuIHMmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3gmJnMuZG9lc0ludGVyc2VjdFdpdGhCb3goaSx0KX0pKSkpfWxvZ2ljYWxSZWN0VG9QaXhlbHMoZSl7Y29uc3QgdD10aGlzLmRlZmF1bHRQcmljZVNjYWxlKCksaT10aGlzLnRpbWVTY2FsZSgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLG49dC5wcmljZVRvQ29vcmRpbmF0ZShlLnAxLnByaWNlLHMpLHI9aS5pbmRleFRvQ29vcmRpbmF0ZShlLnAxLmluZGV4KSxvPXQucHJpY2VUb0Nvb3JkaW5hdGUoZS5wMi5wcmljZSxzKSxhPWkuaW5kZXhUb0Nvb3JkaW5hdGUoZS5wMi5pbmRleCksYz1uZXcgUHQuUG9pbnQoTWF0aC5taW4ocixhKSxNYXRoLm1pbihuLG8pKSxoPW5ldyBQdC5Qb2ludChNYXRoLm1heChyLGEpLE1hdGgubWF4KG4sbykpO3JldHVybigwLFB0LmJveCkoYyxoKX10aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlfXJlc3RvcmVMaW5lVG9vbChlKXtjb25zdHt3aXRoRGF0YTp0LHJlc3RvcmVTaWxlbnRseTpzLGFjdGlvblNvdXJjZTpuLG93bmVyU291cmNlOnJ9PWU7bGV0e2tlZXBaT3JkZXI6byxzdGF0ZTphfT1lO2lmKCgwLG0uaXNNdHBQcmVkaWN0b3JUb29sTmFtZSkoYS50eXBlKSlyZXR1cm4gbmMubG9nV2FybihgTm8gbG9uZ2VyIHN1cHBvcnRlZCB0b29sICR7YS50eXBlfSBpcyBza2lwcGVkIHdoaWxlIHJlc3RvcmluZyBzdGF0ZWApLG51bGw7aWYoYS50YXJnZXRTaWduYXR1cmUmJiFtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzKXJldHVybiBuYy5sb2dXYXJuKGBEcmF3aW5nIHdpdGggaWQgJHthLmlkfSB3YXMgY3JlYXRlZCB3aGlsZSBzaGFyZV9kcmF3aW5nc19vbl9pbmRpY2F0b3JzIHdhcyBvbiwgYnV0IG5vdyBpdCBpcyBvZmYsIHNvIGl0IGlzIHNraXBwZWQgd2hpbGUgcmVzdG9yaW5nIHN0YXRlYCksbnVsbDtjb25zdCBjPXI/PyhhLm93bmVyU291cmNlP3RoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZChhLm93bmVyU291cmNlKTpudWxsKTtpZihtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoYS5vd25lclNvdXJjZSYmIWEudGFyZ2V0U2lnbmF0dXJlJiZjJiYoKDAsdGkuaXNTdHVkeSkoYyl8fCgwLHRpLmlzU3R1ZHlTdHViKShjKSkmJihhLnRhcmdldFNpZ25hdHVyZT1jLnNpZ25hdHVyZSgpLnZhbHVlKCk/P3ZvaWQgMCksYS50YXJnZXRTaWduYXR1cmUmJiF0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpKSlyZXR1cm4oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlc3RvcmVMaW5lVG9vbChlKTtkZWxldGUgYS5zdGF0ZS5sYXN0VXBkYXRlVGltZSxhLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKGEuc3RhdGUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxvPXZvaWQgMD09PW98fG8sKDAsWGwuZWxsaW90dE1pZ3JhdGVTdGF0ZSkoYSksKDAsWmwubWlncmF0ZVN0YXRlKShhKSxBcnJheS5pc0FycmF5KGEucG9zaXRpb25QZXJjZW50cykmJihhLnBvc2l0aW9uUGVyY2VudHM9YS5wb3NpdGlvblBlcmNlbnRzWzBdKTtjb25zdCBoPWEudHlwZSxkPWEuaWQsdT1hLnN0YXRlLF89bz9hLnpvcmRlcjp0aGlzLm5ld0xpbmVUb29sWk9yZGVyKCk7KDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGgpLCJpbnZhbGlkIGRhdGEgc291cmNlIHR5cGU6IitoKyIgKGV4cGVjdGVkIHRvIGJlIGEgTGluZSBUb29sKSIpO2xldCBnLGYsUz1udWxsO2lmKCgwLFAuaXNTdHVkeUxpbmVUb29sU3RhdGUpKGEpKXtTPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlTdGF0ZShhKTthPWU7Y29uc3Qgcj1uZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKTtpZighdCYmcil7Y29uc3QgZT1yLnByb2R1Y3RJZDtpZighd2luZG93LnBybz8uaGFzUGFja2FnZShlKSl7Y29uc3QgZT1uZXcgdWwuU3R1ZHlMaW5lVG9vbFN0dWIodGhpcy5fbW9kZWwsYSxyLnNob3J0RGVzY3JpcHRpb24pO3JldHVybiBlLnNldElkKGQpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnMoZSxzKSx2b2lkIDAhPT1fJiZlLnNldFpvcmRlcihfKSxlLnNldEZhaWxlZChwLnQobnVsbCx2b2lkIDAsaSgzODYzNzMpKSksbnVsbH19Y29uc3Qgbz1TLnVwZGF0ZU1ldGFJbmZvKHIpPz9yO2Y9KDAscmkuY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXMpKHRoaXMuX21vZGVsLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaCxyLG8sdSxTKSxnPSgwLHJpLmNyZWF0ZUxpbmVUb29sKShoLHRoaXMuX21vZGVsLGYsbywhMCx2b2lkIDAsbil9ZWxzZSBmPSgwLHJpLmNyZWF0ZUxpbmVUb29sUHJvcGVydGllcykodGhpcy5fbW9kZWwuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxoLCF0aGlzLl9tb2RlbC5yZWFkT25seSgpLHUpLGc9KDAscmkuY3JlYXRlTGluZVRvb2wpKGgsdGhpcy5fbW9kZWwsZixudWxsLCEwLHZvaWQgMCxuKTtnLnNldElkKGQpLGcubGlua0tleSgpLnNldFZhbHVlKGEubGlua0tleXx8bnVsbCk7Y29uc3Qgdj1hLmFsZXJ0SWQ7diYmZy5jYW5IYXNBbGVydCgpJiZHcy5hbGVydHNBdmFpbGFibGUmJiF0aGlzLl9tb2RlbC5yZWFkT25seSgpJiYhdGhpcy5fbW9kZWwuaXNKdXN0Q2xvbmVkQ2hhcnQoKSYmZy5yZXN0b3JlQWxlcnQoK3YpO2xldCB5PWEuaW5kZXhlcz8/W107aWYoeT15LnNsaWNlKDAsYS5wb2ludHM/Lmxlbmd0aD8/eS5sZW5ndGgpLApnLmlzRml4ZWQoKT92b2lkIDAhPT1hLnBvc2l0aW9uUGVyY2VudHM/Zy5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyhhLnBvc2l0aW9uUGVyY2VudHMpOmcucmVzdG9yZVBvc2l0aW9uUGVyY2VudHMoe3g6LjUseTouNX0pOmEucG9pbnRzJiZnLnJlc3RvcmVQb2ludHMoYS5wb2ludHMseSx0KSxnLnJlc3RvcmVEYXRhKXtjb25zdCBlPWE7KDAsUC5pc1N0dWR5TGluZVRvb2xTdGF0ZSkoZSk/dCYmKFMmJihlLmdyYXBoaWNzPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFBvaW50c0Jhc2VkU3R1ZHlEYXRhKG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLGUuZ3JhcGhpY3MpKSxnLnJlc3RvcmVEYXRhKGUpKTpnLnJlc3RvcmVEYXRhKGUpfWNvbnN0IGI9bnVsbD09YS52ZXJzaW9uPzE6YS52ZXJzaW9uLHc9bnVsbD09Zy52ZXJzaW9uPzE6Zy52ZXJzaW9uO3JldHVybiBiIT09dyYmZy5taWdyYXRlVmVyc2lvbj8uKGIsdyx7cGFuZTp0aGlzLG1vZGVsOnRoaXMuX21vZGVsLHByb3BlcnRpZXM6Zn0pLHZvaWQgMCE9PV8mJmcuc2V0Wm9yZGVyKF8pLHImJigwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShmLHIpLCFhLnRhcmdldFNpZ25hdHVyZXx8IWcuc3VwcG9ydHNUYXJnZXRTaWduYXR1cmUoKXx8YyYmKDAsdGkuaXNTdHVkeVN0dWIpKGMpP2cuc2V0T3duZXJTb3VyY2UoYyk6Zy5zZXRUYXJnZXRTaWduYXR1cmUoYS50YXJnZXRTaWduYXR1cmUpLGcuaXNGaXhlZCgpJiZnLnJlc3RvcmVGaXhlZFBvaW50KCksdm9pZCAwIT09YS5zaGFyaW5nTW9kZSYmZy5zaGFyZShhLnNoYXJpbmdNb2RlKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGcscyksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSxnfXJlc3RvcmVTdHVkeShlKXtjb25zdHtzb3VyY2U6dCx3aXRoRGF0YTpzLHNlcmllc0lkOm89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlkKCksc2V0dGluZ3NNaWdyYXRpb246YSxyZXN0b3JlU2lsZW50bHk6bCxyZWFzb246Yyxza2lwTWFpblNvdXJjZVJlY2FsY3VsYXRpb246aH09ZTtpZihzJiZ2b2lkIDA9PT10LmRhdGEmJnZvaWQgMD09PXQubm9uU2VyaWVzRGF0YSYmdm9pZCAwPT09dC5pbmRleGVzKXJldHVybiBuYy5sb2dFcnJvcigiQ2Fubm90IHJlc3RvcmUgKHNraXBwaW5nKSBzdHVkeSB3aXRob3V0IGRhdGEgIit0LmlkKyIsICIrdC5tZXRhSW5mby5pZCksbnVsbDtjb25zdCBkPXQubWV0YUluZm8sdT0oMCxuLmRlZmF1bHQpKGQpO3UmJihuYy5sb2dXYXJuKGBDYW5ub3QgcmVzdG9yZSAoc2tpcHBpbmcpIHN0dWR5IHdpdGggc3RyaW5nIG1ldGFJbmZvLCBwcm9iYWJseSBjaGFydCBvdmVyd3JpdGluZyAke2R9YCksdC5tZXRhSW5mbz17Li4uYmUoZCksaW5wdXRzOltdfSk7Y29uc3QgXz10LmlkLG09dC5zdGF0ZSxnPXQuem9yZGVyLGY9KHQucGFyZW50U291cmNlcz8/KHQub3duZXJTb3VyY2U/W3Qub3duZXJTb3VyY2VdOltdKSkuZmlsdGVyKChlPT5lIT09bykpO2xldCBTPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQubWV0YUluZm8pLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odik7aWYoZnVuY3Rpb24oZSl7cmV0dXJuIlNjcmlwdCRUVl9FQVJOSU5HU0B0di1zY3JpcHRpbmciPT09ZXx8IlNjcmlwdCRUVl9ESVZJREVORFNAdHYtc2NyaXB0aW5nIj09PWV8fCJTY3JpcHQkVFZfU1BMSVRTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0VBUk5JTkdTQHR2LXNjcmlwdGluZyI9PT1lfHwiRVNEJFRWX0RJVklERU5EU0B0di1zY3JpcHRpbmciPT09ZXx8IkVTRCRUVl9TUExJVFNAdHYtc2NyaXB0aW5nIj09PWV8fCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IlNwbGl0c0B0di1iYXNpY3N0dWRpZXMiPT09ZXx8IkJhclNldENvbnRpbnVvdXNSb2xsRGF0ZXNAdHYtY29yZXN0dWRpZXMiPT09ZX0oeS5pZCkmJiFzKXJldHVybiBuYy5sb2dOb3JtYWwoIlNraXBwaW5nIHN0dWR5ICIreS5pZCksbnVsbDtsZXQgYj1tO2NvbnN0IHc9bmV3IFNhLlN0dWR5U3R1Yih0aGlzLl9tb2RlbCx0LHkuc2hvcnREZXNjcmlwdGlvbj8/eS5uYW1lKTt3LnNldElkKF8pLHcuc2V0Wm9yZGVyKGcpO2NvbnN0IEM9S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMuX21vZGVsKTtDLmdldChfKTtsZXQgUD0hMTtjb25zdCBUPShlLG4scik9PntpZihQJiZ0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoXykhPT13KXJldHVybjt3LnNldFN0YXR1cyh7dHlwZTpZbC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3Qgbz1hc3luYyBvPT57Y29uc3R7cHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDphfT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDQzNzc0OSkpLGw9YSh5LGUsYixyKSxoPWU/P3ksZD1uPz9TLHU9IXMmJmguaXNUVlNjcmlwdCYmdC5tZXRhSW5mby5pc1RWU2NyaXB0JiZoLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24hPT10Lm1ldGFJbmZvLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24scD1hd2FpdCBsYSh0aGlzLl9tb2RlbCxsLG8saCxkLHZvaWQgMCxjLHUpO2lmKHAuc2V0SWQoXykscC5zZXRPd25GaXJzdFZhbHVlKHQub3duRmlyc3RWYWx1ZT8/bnVsbCksdC5jdXN0b21GaWVsZHMmJnAucmVzdG9yZVN0YXRlQ3VzdG9tRmllbGRzKHQuY3VzdG9tRmllbGRzKSxzKXtjb25zdCBlPXQse2RhdGE6aSxuc0RhdGE6cyxpbmRleGVzOm59PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFN0dWR5RGF0YSh5LGUuZGF0YSxlLm5vblNlcmllc0RhdGEsZS5pbmRleGVzKTtwLnJlc3RvcmVEYXRhKGkscyxuKX0KdGhpcy5fbW9kZWwucmVwbGFjZVN0dWR5U3R1Yih3LHApLEMuYWRkKF8scCl9O2lmKGYubGVuZ3RoPjApe2NvbnN0IGU9Zi5tYXAoKGU9PkMuZ2V0KGUpKSk7UHJvbWlzZS5hbGwoZSkudGhlbihvKX1lbHNlIG8oW10pfSx4PSgwLFdvLmRlZmF1bHQpKG0pLE09dT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IGU9b3QuU3R1ZHlNZXRhSW5mby5wYXJzZUlkU3RyaW5nKHQubWV0YUluZm8uZnVsbElkKSxpPSJ0di1zY3JpcHRpbmciPT09ZS5wYWNrYWdlSWQ/e3R5cGU6InBpbmUiLHBpbmVJZDpvdC5TdHVkeU1ldGFJbmZvLmN1dEJlZm9yZURvbGxhcihlLnNob3J0SWQpLHBpbmVWZXJzaW9uOnQubWV0YUluZm8ucGluZT8udmVyc2lvbn06e3R5cGU6ImphdmEiLHN0dWR5SWQ6ZS5pZH07cmV0dXJuKDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoaSl9KSkudGhlbigoZT0+e2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBzdHVkeSBtZXRhSW5mbzogIit0Lm1ldGFJbmZvLmZ1bGxJZCk7Uz1lLHQubWV0YUluZm89ZS5zdGF0ZSgpLHY9dC5tZXRhSW5mb1BhdGNoPygwLHIuZGVmYXVsdCkoKDAsV28uZGVmYXVsdCkodC5tZXRhSW5mbyksdC5tZXRhSW5mb1BhdGNoKTp0Lm1ldGFJbmZvLHk9bmV3IG90LlN0dWR5TWV0YUluZm8odil9KSk6UHJvbWlzZS5yZXNvbHZlKCk7bGV0IEk7aWYocyl7Y29uc3QgZT1lYy5TdHVkeVZlcnNpb25pbmcucGF0Y2hQcm9wc1N0YXRlQW5kTWV0YUluZm8obSx5LHtvbGRTaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eTohYT8uc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHl9KSx0PWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbyh4LFMse29sZFNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5OiFhPy5zaG93U3R1ZHlMYXN0VmFsdWVQcm9wZXJ0eX0pO0k9UHJvbWlzZS5yZXNvbHZlKFtuZXcgb3QuU3R1ZHlNZXRhSW5mbyhlLm1ldGFJbmZvKSxuZXcgb3QuU3R1ZHlNZXRhSW5mbyh0Lm1ldGFJbmZvKV0pfWVsc2V7e2NvbnN0IGU9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCkudGhlbigoKCk9PlByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDY3OTIxKSkpKTtJPU0udGhlbigoKCk9PlByb21pc2UuYWxsKFt5LFNdLm1hcCgoKHQsaSk9PmUudGhlbigoZT0+e2NvbnN0e3BpbmVJZEZvckphdmFJZDpuLG1pZ3JhdGVKYXZhU3RhdGVUb1BpbmU6cn09ZSxvPW4odC5pZCk7aWYobylyZXR1cm4oMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7cGluZUlkOm8scGluZVZlcnNpb246Imxhc3QiLHR5cGU6InBpbmUifSkudGhlbigoZT0+KHIoMD09PWk/bTp4LHQsZSkseT1lLCQuZW1pdCgiY2hhcnRfbWlncmF0ZWQiKSxlKSkpO3tjb25zdCBlPWVjLlN0dWR5VmVyc2lvbmluZy5wYXRjaFByb3BzU3RhdGVBbmRNZXRhSW5mbygwPT09aT9tOngsdCx7b2xkU2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk6cyYmIWE/LnNob3dTdHVkeUxhc3RWYWx1ZVByb3BlcnR5fSk7cmV0dXJuIGI9ZS5wcm9wc1N0YXRlLG5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pfX0pKSkpKSkpfX1JLnRoZW4oKChbZSx0XSk9Pntjb25zdCBzPXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT9uZXcgZWMuU3R1ZHlWZXJzaW9uaW5nKFtdLFtdKTooMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKTtpZih0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkpcmV0dXJuIHZvaWQgVChlLHQscyk7Y29uc3Qgbj1bZSx0XS5tYXAoKChlLHQpPT5zLnVwZGF0ZU1ldGFJbmZvQXN5bmMoZSwxPT09dCkpKS5tYXAoKGU9PmUuc3luYz9Qcm9taXNlLnJlc29sdmUoZS5yZXN1bHQpOmUucmVzdWx0KSk7UHJvbWlzZS5hbGwobikudGhlbigoaT0+VChpWzBdPz9lLGlbMV0/P3QscykpKS5jYXRjaCgoZT0+eyJUbyB1c2UgaXQsIGFzayB0aGUgYXV0aG9yIHRvIHB1Ymxpc2ggdGhlIHNjcmlwdC4iPT09ZT93LnNldEZhaWxlZChlLHAudChudWxsLHZvaWQgMCxpKDMwMDU1OCkpKTp3LnNldEZhaWxlZCgiZXJyb3I6ICIrZSl9KSl9KSkuY2F0Y2goKCgpPT53LnNldEZhaWxlZChwLnQobnVsbCx7Y29udGV4dDoiU3R1ZHkgbG9hZGluZyBpbiBjaGFydCJ9LGkoNzcwOTQxKSkpKSksdy5zZXRab3JkZXIoZyk7Y29uc3QgTD10Lm1ldGFJbmZvLmxpbmtlZFRvU2VyaWVzP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKTpmLmxlbmd0aD90aGlzLmRhdGFTb3VyY2VGb3JJZChmWzBdKTpudWxsO3JldHVybiB3LnNldE93bmVyU291cmNlKEwpLHRoaXMuX2FkZFNvdXJjZVRvQ29sbGVjdGlvbnModyxsKSxQPSEwLGh8fHRoaXMuX3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCksdGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx3fWNsaXBib2FyZExpbmVUb29sT3duZXJTb3VyY2UoZSl7Y29uc3QgdD10aGlzLmRhdGFTb3VyY2VGb3JJZChlKTtpZihudWxsIT09dCl7Y29uc3QgZT10Lm93bmVyU291cmNlKCk7aWYobnVsbCE9PWUmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZX1jb25zdCBpPXRoaXMubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSYmbnVsbCE9PWkuZmlyc3RWYWx1ZSgpKXJldHVybiBpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSlpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJm51bGwhPT1lLmZpcnN0VmFsdWUoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1yZWFsaWduTGluZVRvb2xzKGUpe2xldCB0PSExO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcykhKDAsCnJpLmlzTGluZVRvb2wpKGkpfHx2b2lkIDAhPT1lJiZpLm93bmVyU291cmNlKCk/LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSE9PWUmJmkub3duZXJTb3VyY2UoKT8udW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCkhPT1lfHwoaS5yZWFsaWduKCksaS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoaS5pZCgpKSksdD0hMCk7cmV0dXJuIHQmJnRoaXMuX2ludmFsaWRhdGVTb3VyY2VzQ2FjaGUoKSx0fXN0YXJ0U2NhbGVQcmljZShlLHQpe2Uuc3RhcnRTY2FsZSh0KX1zY2FsZVByaWNlVG8oZSx0KXtlLnNjYWxlVG8odCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1lbmRTY2FsZVByaWNlKGUpe2UuZW5kU2NhbGUoKX1zdGFydFNjcm9sbFByaWNlKGUsdCl7ZS5zdGFydFNjcm9sbCh0KX1zY3JvbGxQcmljZVRvKGUsdCl7ZS5zY3JvbGxUbyh0KSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpfWVuZFNjcm9sbFByaWNlKGUpe2UuZW5kU2Nyb2xsKCl9cmVzZXRQcmljZVNjYWxlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2UucmVzZXRTY2FsZUF2YWlsYWJsZSgpLnZhbHVlKCkmJmUucmVzZXRTY2FsZSgpLGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHQsaSksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCl7ZS5yZXN0b3JlU3RhdGUodCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1iZWdpbkluc2VydE1hbnlMaW5lRGF0YVNvdXJjZXMoKXt0aGlzLl9pc0luSW5zZXJ0TWFueURhdGFTb3VyY2VzU3RhdGU9ITAsdGhpcy5fbGFzdExpbmVEYXRhU291cmNlWk9yZGVyPW51bGx9ZW5kSW5zZXJ0TWFueUxpbmVEYXRhU291cmNlcygpe3RoaXMuX2lzSW5JbnNlcnRNYW55RGF0YVNvdXJjZXNTdGF0ZT0hMSx0aGlzLl9sYXN0TGluZURhdGFTb3VyY2VaT3JkZXI9bnVsbDt7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5hbGVydHNXYXRjaGVyKCkpO2Zvcihjb25zdCB0IG9mIHRoaXMubV9kYXRhU291cmNlcyllLnN5bmNTb3VyY2VBbGVydExhYmVscyh0KX19cmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSl7Y29uc3QgdD1lLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCk7aS5pbmRleE9mKGUpPj0wJiZ0LnJlbW92ZURhdGFTb3VyY2UoZSksMD09PWkubGVuZ3RoJiZ0aGlzLnJlbW92ZVByaWNlU2NhbGUodCl9fV9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCl7dGhpcy5fY2FjaGVkT3JkZXJlZFNvdXJjZXMuY2xlYXIoKSx0aGlzLl9sZWZ0UHJpY2VTY2FsZXMuZm9yRWFjaCgoZT0+ZS5pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSx0aGlzLl9yaWdodFByaWNlU2NhbGVzLmZvckVhY2goKGU9PmUuaW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSl9X3Byb2Nlc3NNYWluU291cmNlQ2hhbmdlKCl7bGV0IGU9ITE7aWYobnVsbD09PXRoaXMubV9tYWluRGF0YVNvdXJjZSlmb3IoY29uc3QgdCBvZiB0aGlzLm1fZGF0YVNvdXJjZXMpaWYoKDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKHQpJiYhdGhpcy5pc092ZXJsYXkodCkmJighKDAsdGkuaXNTdHVkeSkodCl8fCF0LmlzTGlua2VkVG9TZXJpZXMoKSkpe3RoaXMubV9tYWluRGF0YVNvdXJjZT10LGU9ITA7YnJlYWt9aWYodGhpcy5tX21haW5EYXRhU291cmNlJiZlKXtsZXQgZT10aGlzLm1fZGF0YVNvdXJjZXMuZmlsdGVyKHJpLmlzTGluZVRvb2wpO2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UucHJpY2VTY2FsZSgpKSwhMCl9ZWxzZSBpZighdGhpcy5tX21haW5EYXRhU291cmNlfHx0aGlzLmlzT3ZlcmxheSh0aGlzLm1fbWFpbkRhdGFTb3VyY2UpJiYwPT09dGhpcy5fbm9uT3ZlcmxheVByaWNlc1NvdXJjZXNDb3VudCgpKXtsZXQgZT1udWxsO2lmKHRoaXMubV9kYXRhU291cmNlcy5pbmNsdWRlcyh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpKWU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2Vsc2UgZm9yKGNvbnN0IHQgb2YgdGhpcy5tX2RhdGFTb3VyY2VzKWlmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKSh0KSYmdGhpcy5pc092ZXJsYXkodCkmJnQuc2hvd0luT2JqZWN0VHJlZSgpKXtlPXQ7YnJlYWt9aWYobnVsbCE9PWUpe2NvbnN0IHQ9dGhpcy5tX21haW5EYXRhU291cmNlPT09ZTt0aGlzLm1fbWFpbkRhdGFTb3VyY2U9ZTtjb25zdCBpPXRoaXMuY3JlYXRlTmV3UHJpY2VTY2FsZUlmUG9zc2libGUoKTtpZih0JiZlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpO3RoaXMuX21vZGVsLmNoaWxkcmVuKGUsITAsITApLmZvckVhY2goKGU9Pnt0aGlzLnJlbW92ZVNvdXJjZUZyb21QcmljZVNjYWxlKGUpLGkuYWRkRGF0YVNvdXJjZShlKSxlLnNldFByaWNlU2NhbGUoaSl9KSksdGhpcy5yZW1vdmVQcmljZVNjYWxlKHQpfXRoaXMubW92ZShlLGksITApLHRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUucHJpY2VTY2FsZSgpLCgwLHRuLmdsb2JhbENoYW5nZUV2ZW50KSgpKX19fV9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUsdCl7dGhpcy5tX2RhdGFTb3VyY2VzLnB1c2goZSksdGhpcy5fc291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSx0aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCk7Y29uc3QgaT0oKT0+e3RoaXMuX3NvdXJjZVByb3BlcnRpZXNDaGFuZ2VkLmZpcmUoZSl9O2lmKGUucHJvcGVydGllcygpLnN1YnNjcmliZSh0aGlzLGkpLAplLnpPcmRlckNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fc291cmNlc1pPcmRlckNoYW5nZWQuZmlyZShlLHQpKSksKDAscmkuaXNMaW5lVG9vbCkoZSkpe2Uubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxpKSxlLmZpeGVkUG9pbnRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsaSksZS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9pbnZhbGlkYXRlU291cmNlc0NhY2hlKCkpKSxlLmhhc0FsZXJ0KCkuc3Vic2NyaWJlKGkpLGUuc2hhcmluZ01vZGUoKS5zdWJzY3JpYmUoaSk7Y29uc3QgdD0oKT0+e3RoaXMuX2xpbmVUb29sc0J5TGlua0tleS5yZW1vdmVCeUtleTIoZS5pZCgpKSx0aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkuYWRkKGUpfTtlLmxpbmtLZXkoKS5zdWJzY3JpYmUodCksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuc2V0KGUuaWQoKSx7bGlua0tleUNhbGxiYWNrOnQsY29tbW9uQ2FsbGJhY2s6aX0pLHRoaXMuX2xpbmVUb29sc0J5TGlua0tleS5hZGQoZSl9Y29uc3Qgcz0oMCxJby5pc1N5bWJvbFNvdXJjZSkoZSk/ZTpudWxsO2lmKCgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKSYmKHRoaXMuX3ByaWNlU291cmNlc0J5SWQuc2V0KGUuaWQoKSxlKSxlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksZS51bml0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpKSksdGhpcy5fcHJpY2VEYXRhU291cmNlcy5wdXNoKGUpLCgwLHRpLmlzU3R1ZHkpKGUpJiZ0aGlzLl9zdHVkeVNvdXJjZXMucHVzaChlKSx0aGlzLl9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCksbnVsbCE9PXMmJih0aGlzLl9zeW1ib2xTb3VyY2VzLnB1c2gocykscy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWQuZmlyZShlKSkpLHMuc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSkscy5zeW1ib2xIaWJlcm5hdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxzPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCEwKSksKDAsdGkuaXNTdHVkeSkoZSl8fCgwLHRpLmlzU3R1ZHlTdHViKShlKSkpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3QmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKHQpJiYoMCxfbC5hZGRVc2VyU2NyaXB0T25MYXlvdXQpKHQuc2NyaXB0SWRQYXJ0LCgwLGwuZW5zdXJlRGVmaW5lZCkodC5waW5lKS52ZXJzaW9uKX1lLmlzTXVsdGlQYW5lQXZhaWxhYmxlKCkmJnRoaXMubW9kZWwoKS5hZGRNdWx0aVBhbmVTb3VyY2UoZSksc2koZSkmJih0aGlzLl9sb2xsaXBvcERhdGFTb3VyY2VzLnB1c2goZSksdGhpcy51cGRhdGVMb2xsaXBvcFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSksdHx8MCE9PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXJ8fHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpfV9yZW1vdmVTb3VyY2VGcm9tQ29sbGVjdGlvbnMoZSx0KXtjb25zdCBpPXRoaXMubV9kYXRhU291cmNlc1tlXSxzPWkuaWQoKTtpZihpLnByb3BlcnRpZXMoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLnpPcmRlckNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1fZGF0YVNvdXJjZXMuc3BsaWNlKGUsMSksdGhpcy5fc291cmNlc0J5SWQuZGVsZXRlKGkuaWQoKSksKDAscmkuaXNMaW5lVG9vbCkoaSkpe2lmKGkubm9ybWFsaXplZFBvaW50c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxpLmZpeGVkUG9pbnRDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS5vbklzQWN0dWFsU3ltYm9sQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc291cmNlV2F0Y2hlZFZhbHVlc1N1YnNjcmlwdGlvbnMuaGFzKHMpKXtjb25zdCBlPXRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmdldChzKTtlJiYoaS5oYXNBbGVydCgpLnVuc3Vic2NyaWJlKGUuY29tbW9uQ2FsbGJhY2spLGkuc2hhcmluZ01vZGUoKS51bnN1YnNjcmliZShlLmNvbW1vbkNhbGxiYWNrKSxpLmxpbmtLZXkoKS51bnN1YnNjcmliZShlLmxpbmtLZXlDYWxsYmFjaykpLHRoaXMuX3NvdXJjZVdhdGNoZWRWYWx1ZXNTdWJzY3JpcHRpb25zLmRlbGV0ZShzKX10aGlzLl9saW5lVG9vbHNCeUxpbmtLZXkucmVtb3ZlQnlLZXkyKGkuaWQoKSl9dGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpO2NvbnN0IG49KDAsSW8uaXNTeW1ib2xTb3VyY2UpKGkpP2k6bnVsbDtpZigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoaSkmJih0aGlzLl9wcmljZVNvdXJjZXNCeUlkLmRlbGV0ZShpLmlkKCkpLGkuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksaS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fcHJpY2VEYXRhU291cmNlcyxpKSwoMCx0aS5pc1N0dWR5KShpKSYmKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zdHVkeVNvdXJjZXMsaSksdGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLG51bGwhPT1uJiYoKDAsZy5yZW1vdmVJdGVtRnJvbUFycmF5KSh0aGlzLl9zeW1ib2xTb3VyY2VzLG4pLG4uc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxuLnN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSksCm4uc3ltYm9sSGliZXJuYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQpLHRoaXMuX3JlY2FsY1N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLHRoaXMuX29uU3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKSxuPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpJiZ0aGlzLl9pc01haW5QYW5lLnNldFZhbHVlKCExKSksKDAsdGkuaXNTdHVkeSkoaSl8fCgwLHRpLmlzU3R1ZHlTdHViKShpKSkpe2NvbnN0IGU9aS5tZXRhSW5mbygpO2UmJigwLF9sLmlzQ291bnRlZFVzZXJTY3JpcHQpKGUpJiYoMCxfbC5yZW1vdmVVc2VyU2NyaXB0RnJvbUxheW91dCkoZS5zY3JpcHRJZFBhcnQsKDAsbC5lbnN1cmVEZWZpbmVkKShlLnBpbmUpLnZlcnNpb24pfWkuaXNNdWx0aVBhbmVBdmFpbGFibGUoKSYmdGhpcy5tb2RlbCgpLnJlbW92ZU11bHRpUGFuZVNvdXJjZShpKSxzaShpKSYmKCgwLGcucmVtb3ZlSXRlbUZyb21BcnJheSkodGhpcy5fbG9sbGlwb3BEYXRhU291cmNlcyxpKSx0aGlzLnVwZGF0ZUxvbGxpcG9wVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGkuaWQoKSkpKSx0fHwwIT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcnx8dGhpcy5fZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCl9X3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpbyhlKXt0aGlzLmlzTWFpblBhbmUoKS52YWx1ZSgpJiZlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmKG51bGwhPT10aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvP3RoaXMuX2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X2RlZmF1bHRCb3R0b21NYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYm90dG9tTWFyZ2luLnZhbHVlKCl9X2RlZmF1bHRUb3BNYXJnaW4oKXtyZXR1cm4uMDEqdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudG9wTWFyZ2luLnZhbHVlKCl9X3VwZGF0ZU1hcmdpbnMoKXtjb25zdCBlPXRoaXMuX2RlZmF1bHRUb3BNYXJnaW4oKSx0PXRoaXMuX2RlZmF1bHRCb3R0b21NYXJnaW4oKTtmb3IoY29uc3QgaSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMuX3JpZ2h0UHJpY2VTY2FsZXMpb2MoaSxlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMubV9kYXRhU291cmNlcylpZih0aGlzLmlzT3ZlcmxheShpKSl7Y29uc3Qgcz1pLnByaWNlU2NhbGUoKTtudWxsIT09cyYmKG9jKHMsZSx0KSx0aGlzLnJlY2FsY3VsYXRlUHJpY2VTY2FsZShzLCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKX1mb3IoY29uc3QgZSBvZiB0aGlzLl9sZWZ0UHJpY2VTY2FsZXMpdGhpcy5yZWNhbGN1bGF0ZVByaWNlU2NhbGUoZSwoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9yaWdodFByaWNlU2NhbGVzKXRoaXMucmVjYWxjdWxhdGVQcmljZVNjYWxlKGUsKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKX1fYmF0Y2hSZW9yZGVyKGUsdCxpKXtpKHRoaXMuc291cmNlc0J5R3JvdXAoKS56T3JkZXJWaXNpYmxlU291cmNlcygpLGUsdCksdGhpcy5faW52YWxpZGF0ZVNvdXJjZXNDYWNoZSgpLHRoaXMuX2RhdGFTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMuX29uRGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZCgpLHRoaXMubW9kZWwoKS5mdWxsVXBkYXRlKCl9X3BsYWNlUHJpY2VTY2FsZShlLHQsaSl7aWYoIm92ZXJsYXkiPT09dClyZXR1cm4gdm9pZCBlLmludmFsaWRhdGVNYXJnaW5zKCk7Y29uc3Qgcz0ibGVmdCI9PT10P3RoaXMuX2xlZnRQcmljZVNjYWxlczp0aGlzLl9yaWdodFByaWNlU2NhbGVzLG49dm9pZCAwPT09aT9zLmxlbmd0aDppO3Muc3BsaWNlKG4sMCxlKSxlLm1vZGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25QcmljZVNjYWxlTW9kZUNoYW5nZWQuYmluZCh0aGlzLGUpKSxlLmludGVybmFsSGVpZ2h0Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY3VsYXRlUHJpY2VTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGN1bGF0ZVRpbWVTY2FsZUJ5U2NhbGVSYXRpby5iaW5kKHRoaXMsZSkpLGUucHJpY2VSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByaWNlU2NhbGVTZXRNaW5NYXhQcmljZVJhbmdlLmJpbmQodGhpcyxlKSksZS5pc1Zpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25QcmljZVNjYWxlSXNWaXNpYmxlQ2hhbmdlZCksZS5yZXNldFNjYWxlQXZhaWxhYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSksZS5pc0xvY2tTY2FsZSgpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0aGlzLl9sb2NrZWRQcmljZVNjYWxlPWUsdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz1udWxsKSxlLmludmFsaWRhdGVNYXJnaW5zKCksdGhpcy5fb25QcmljZVNjYWxlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3VwZGF0ZVJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGVWYWx1ZSgpfV9vblByaWNlU2NhbGVNb2RlQ2hhbmdlZChlLHQsaSl7aWYoaS5sb2NrU2NhbGUmJih0aGlzLl9sb2NrZWRQcmljZVNjYWxlIT09ZSYmbnVsbCE9PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJnRoaXMuX2xvY2tlZFByaWNlU2NhbGUuc2V0TW9kZSh7bG9ja1NjYWxlOiExfSksdGhpcy5fbG9ja2VkUHJpY2VTY2FsZT1lLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89KDAsaWEuc2NhbGVSYXRpbykodGhpcy50aW1lU2NhbGUoKSxlKSksdC5sb2NrU2NhbGUmJiFpLmxvY2tTY2FsZSYmKHRoaXMuX2xvY2tlZFByaWNlU2NhbGU9bnVsbCx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvPW51bGwpLAp0LnBlcmNlbnRhZ2U9PT1pLnBlcmNlbnRhZ2UmJnQuaW5kZXhlZFRvMTAwPT09aS5pbmRleGVkVG8xMDApcmV0dXJuO2NvbnN0IHM9dGhpcy50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbj10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO251bGwhPT1zJiZudWxsIT09biYmKGUucmVjYWxjdWxhdGVQcmljZVJhbmdlKHMsbiksZS51cGRhdGVBbGxWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSl9X2FwcGx5T2xkU2NhbGVSYXRpb1RvUHJpY2VTY2FsZSgpe3RoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlc3x8bnVsbD09PXRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW98fG51bGw9PT10aGlzLl9sb2NrZWRQcmljZVNjYWxlfHwodGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSEwLHRoaXMuX3NldE5ld1ByaWNlUmFuZ2VCeVNjYWxlUmF0aW8odGhpcy5fbG9ja2VkUHJpY2VTY2FsZSx0aGlzLl9jdXJyZW50UHJpY2VTY2FsZVJhdGlvLHRoaXMuX21haW5Tb3VyY2VWaXNpYmxlUHJpY2VSYW5nZSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fc2V0TmV3UHJpY2VSYW5nZUJ5U2NhbGVSYXRpbyhlLHQsaSxzLG4pe2NvbnN0IHI9KDAsaWEucHJpY2VSYW5nZUJ5U2NhbGVSYXRpbykoZSx0aGlzLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0KTtlLnNldFByaWNlUmFuZ2UobnVsbCE9PXI/cjppLHMsbil9X2FwcGx5T2xkU2NhbGVSYXRpb1RvVGltZVNjYWxlKCl7dGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzfHxudWxsPT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpb3x8KHRoaXMuX2lzUmVjYWxjdWxhdGluZ1NjYWxlcz0hMCx0aGlzLl9zZXROZXdCYXJTcGFjaW5nQnlTY2FsZVJhdGlvKCksdGhpcy5faXNSZWNhbGN1bGF0aW5nU2NhbGVzPSExKX1fdHJ5VG9BcHBseU5ld1ByaWNlU2NhbGVSYXRpbygpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnNjYWxlUmF0aW8pKHRoaXMudGltZVNjYWxlKCksZSk7dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz09PXR8fGUuaXNMb2coKXx8KHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW89dCx0aGlzLm1vZGVsKCkubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpKX1fcmVjYWxjdWxhdGVUaW1lU2NhbGVCeVNjYWxlUmF0aW8oZSl7ZT09PXRoaXMuX2xvY2tlZFByaWNlU2NhbGUmJihudWxsIT09dGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbz90aGlzLl9hcHBseU9sZFNjYWxlUmF0aW9Ub1RpbWVTY2FsZSgpOnRoaXMuX3RyeVRvQXBwbHlOZXdQcmljZVNjYWxlUmF0aW8oKSl9X3NldE5ld0JhclNwYWNpbmdCeVNjYWxlUmF0aW8oKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkuZ2V0VmFsaWRCYXJTcGFjaW5nKCgwLGlhLmJhclNwYWNpbmdCeVNjYWxlUmF0aW8pKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbG9ja2VkUHJpY2VTY2FsZSksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbykpO3RoaXMudGltZVNjYWxlKCkuaXNWYWxpZEJhclNwYWNpbmcoZSkmJnRoaXMudGltZVNjYWxlKCkuc2V0QmFyU3BhY2luZyhlKX1fbWFpblNvdXJjZVZpc2libGVQcmljZVJhbmdlKGUpe2NvbnN0IHQ9dGhpcy50aW1lU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBuZXcgUGwuUHJpY2VSYW5nZSgtLjUsLjUpO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmxvZ2ljYWxSYW5nZSgpKSxuPXtzdGFydFRpbWVQb2ludDppLmZpcnN0QmFyKCksZW5kVGltZVBvaW50OmkubGFzdEJhcigpLGxvZ2ljU3RhcnRQb2ludDpzLmxlZnQoKSxsb2dpY0VuZFBvaW50OnMucmlnaHQoKSx0YXJnZXRQcmljZVNjYWxlOmUsc2NhbGVTZXJpZXNPbmx5OmUuaXNTY2FsZVNlcmllc09ubHkoKX07cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUubWFpblNvdXJjZSgpKS5wcmljZVJhbmdlKG4pKX1fc2V0TWluTWF4UHJpY2VSYW5nZSgpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sb2NrZWRQcmljZVNjYWxlKSx0PSgwLGlhLnByaWNlUmFuZ2VCeVNjYWxlUmF0aW8pKGUsdGhpcy50aW1lU2NhbGUoKS5tYXhCYXJTcGFjaW5nKCksdGhpcy5fY3VycmVudFByaWNlU2NhbGVSYXRpbyksaT0oMCxpYS5wcmljZVJhbmdlQnlTY2FsZVJhdGlvKShlLHRoaXMudGltZVNjYWxlKCkubWluQmFyU3BhY2luZygpLHRoaXMuX2N1cnJlbnRQcmljZVNjYWxlUmF0aW8pO251bGwhPT10JiZlLnNldE1heFByaWNlUmFuZ2UodCksbnVsbCE9PWkmJmUuc2V0TWluUHJpY2VSYW5nZShpKX1fb25QcmljZVNjYWxlU2V0TWluTWF4UHJpY2VSYW5nZShlKXtlPT09dGhpcy5fbG9ja2VkUHJpY2VTY2FsZSYmdGhpcy5fc2V0TWluTWF4UHJpY2VSYW5nZSgpfV9vbkRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKXswPT09dGhpcy5fYnVsa0FjdGlvbnMuYWN0aXZlQ291bnRlcj90aGlzLl9kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkLmZpcmUoKTp0aGlzLl9idWxrQWN0aW9ucy5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSEwfV9vblByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCl7MD09PXRoaXMuX2J1bGtBY3Rpb25zLmFjdGl2ZUNvdW50ZXI/dGhpcy5fcHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpOnRoaXMuX2J1bGtBY3Rpb25zLnByaWNlU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkPSEwfV9ub25PdmVybGF5UHJpY2VzU291cmNlc0NvdW50KCl7cmV0dXJuIHRoaXMubV9kYXRhU291cmNlcy5maWx0ZXIoKGU9PighKDAsdGkuaXNTdHVkeSkoZSl8fCFlLmlzTGlua2VkVG9TZXJpZXMoKSkmJigoMCxIcy5pc1ByaWNlRGF0YVNvdXJjZSkoZSkmJmUuc2hvd0luT2JqZWN0VHJlZSgpJiYhdGhpcy5pc092ZXJsYXkoZSkpKSkubGVuZ3RofV9yZXN0b3JlTWFpblNlcmllcyhlLHQsaSxzLG4scixoKXtjb25zdCBkPWUuaWQsdT1lLnN0YXRlCjtpZih1JiZuJiYodS5zdHlsZT1uLnN0eWxlPz91LnN0eWxlLHUuaW50ZXJ2YWw9bi5pbnRlcnZhbHx8dS5pbnRlcnZhbCxuLnN5bWJvbCYmbi5zeW1ib2whPT11LnN5bWJvbCYmKHUuc3ltYm9sPW4uc3ltYm9sLGRlbGV0ZSB1LmN1cnJlbmN5SWQsZGVsZXRlIHUudW5pdElkKSksdSYmWyJjYW5kbGVTdHlsZSIsImhvbGxvd0NhbmRsZVN0eWxlIiwiaGFTdHlsZSJdLmZvckVhY2goKGU9Pnt1W2VdJiYodVtlXS53aWNrVXBDb2xvcj11W2VdLndpY2tVcENvbG9yfHx1W2VdLndpY2tDb2xvcix1W2VdLndpY2tEb3duQ29sb3I9dVtlXS53aWNrRG93bkNvbG9yfHx1W2VdLndpY2tDb2xvcil9KSksdSYmKHUuc3RhdHVzVmlld1N0eWxlPXUuc3RhdHVzVmlld1N0eWxlfHx7fSwhdS5zdGF0dXNWaWV3U3R5bGUuc3ltYm9sVGV4dFNvdXJjZSkpe2NvbnN0IGU9ISF1LnN0YXR1c1ZpZXdTdHlsZS5zaG93U3ltYm9sQXNEZXNjcmlwdGlvbjt1LnN0YXR1c1ZpZXdTdHlsZS5zeW1ib2xUZXh0U291cmNlPWU/InRpY2tlciI6ImRlc2NyaXB0aW9uIn1pZih1KXt1LmV4dGVuZGVkSG91cnM/dS5zZXNzaW9uSWQ9ImV4dGVuZGVkIjp1LnNlc3Npb25JZHx8KHUuc2Vzc2lvbklkPSJyZWd1bGFyIiksZGVsZXRlIHUuZXh0ZW5kZWRIb3VycywoMCxRbC5hbGxDaGFydFN0eWxlcykoKS5pbmNsdWRlcyh1LnN0eWxlKXx8KHUuc3R5bGU9Mik7Y29uc3QgZT11LmxpbmVTdHlsZS5zdHlsZVR5cGU7bGV0IHQ7ZGVsZXRlIHUubGluZVN0eWxlLnN0eWxlVHlwZSwwPT09ZSYmKHQ9MTQsdS5saW5lV2l0aE1hcmtlcnNTdHlsZT0oMCxhLmNsb25lKSh1LmxpbmVTdHlsZSkpLDE9PT1lJiYodD0xNSx1LnN0ZXBsaW5lU3R5bGU9KDAsYS5jbG9uZSkodS5saW5lU3R5bGUpKSx2b2lkIDAhPT10JiYyPT09dS5zdHlsZSYmKHUuc3R5bGU9dCk7Y29uc3QgaT11LnZvbEZvb3RwcmludFN0eWxlPy5leHRlbmRlZFN1bW1hcnk/LmZ1dHVyZXNCbG9ja0luZm87aSYmKHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmV4dGVuZGVkT3BlbkludGVyZXN0QmxvY2tJbmZvPXtvcGVuSW50ZXJlc3RMb3c6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RMb3cudmlzaWJsZT8/ITB9LG9wZW5JbnRlcmVzdEhpZ2g6e3Zpc2libGU6aS5vcGVuSW50ZXJlc3RIaWdoLnZpc2libGU/PyEwfX0sZGVsZXRlIHUudm9sRm9vdHByaW50U3R5bGUuZXh0ZW5kZWRTdW1tYXJ5LmZ1dHVyZXNCbG9ja0luZm8pO2NvbnN0IHM9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk7bGV0IG49dS5zdnBTdHlsZT8uaW5wdXRzPy5jdXN0b21TZXNzaW9uVFo/P251bGw7aWYobnVsbCE9PXMmJm51bGwhPT1uJiYobj0iZXhjaGFuZ2UiPT09bi50b0xvd2VyQ2FzZSgpP3M6bixuIT09cykpe2NvbnN0IGU9dS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvbj8/IiIsW3QsaV09ZS5zcGxpdCgiLSIpLHI9KDAsby5nZXRfdGltZXpvbmUpKG4pLGE9KDAsby5nZXRfdGltZXpvbmUpKHMpLGw9c2ModCxyLGEpLGM9c2MoaSxyLGEpO3Uuc3ZwU3R5bGUuaW5wdXRzLmN1c3RvbVNlc3Npb249YCR7bH0tJHtjfWAsdS5zdnBTdHlsZS5pbnB1dHMuY3VzdG9tU2Vzc2lvblRaPXN9fWlmKHUpZm9yKGNvbnN0IGUgb2ZbImxpbmVTdHlsZSIsImxpbmVXaXRoTWFya2Vyc1N0eWxlIiwic3RlcGxpbmVTdHlsZSJdKWljKHVbZV0pO2lmKCFpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLm1haW5QYW5lKCkpLnJlbW92ZURhdGFTb3VyY2UoZSwhMSxyKSx0aGlzLl9hZGRTb3VyY2VUb0NvbGxlY3Rpb25zKGUscil9Y29uc3QgcD10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLF89cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy5tX21haW5EYXRhU291cmNlPXA7Y29uc3QgbT11JiZ1LnN0eWxlP3Uuc3R5bGU6dm9pZCAwOzY9PT1tJiYiQVRSIj09PV8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk/Xy5wbmZTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKTo0PT09bSYmIkFUUiI9PT1fLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkmJl8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgiVHJhZGl0aW9uYWwiKSx1JiYhdS5oYXNPd25Qcm9wZXJ0eSgic2hvd1Nlc3Npb25zIikmJih1LnNob3dTZXNzaW9ucz0hMSksdSYmdm9pZCAwPT09dS5zZXR0bGVtZW50QXNDbG9zZSYmKHUuc2V0dGxlbWVudEFzQ2xvc2U9ITEpLHUmJnQmJih1LnNob3dDb3VudGRvd249ITEpLHUmJih0JiYhKCJzaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHkiaW4gcykmJiJzaG93TGFzdFZhbHVlImluIHUmJnRoaXMuX21vZGVsLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUuc2V0VmFsdWUodS5zaG93TGFzdFZhbHVlKSxkZWxldGUgdS5zaG93TGFzdFZhbHVlKSx1JiZ0aGlzLl9yZXN0b3JlTWFpblNlcmllc1N0dWR5SW5wdXRzKGUscC5zdHlsZVN0dWR5SW5mb3MoKSk7Y29uc3QgZz1wLnNlc3Npb25JZCgpOygwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgUmVzdG9yZSBzZXJpZXMuIHNvdXJjZS5pZDogJHtlLmlkfSBpZDogJHtkfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnJlc3RvcmVTdGF0ZShlLHQsaCksdGhpcy5jaGFuZ2VTb3VyY2VJZChwLGQpLCgwLGxsLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2VyaWVzIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZXN0b3JlZC4gaWQ6ICR7cC5pZCgpfWAsYy5MT0dMRVZFTC5JTkZPLGFjKSxwLnNlc3Npb25JZCgpIT09ZyYmXy5zZXNzaW9uSWQuZmlyZUNoYW5nZWQoKX1hc3luYyBfcmVzdG9yZU1haW5TZXJpZXNTdHVkeUlucHV0cyhlLHQpe2F3YWl0KDAsCmF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCkscz0oMCxsLmVuc3VyZURlZmluZWQpKGUuc3RhdGUpLG49e2hhU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCxzLmhhU3R5bGU/LmlucHV0cykscmVua29TdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg0LCEwLHMucmVua29TdHlsZT8uaW5wdXRzKSxwYlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDcsITAscy5wYlN0eWxlPy5pbnB1dHMpLGthZ2lTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwLHMua2FnaVN0eWxlPy5pbnB1dHMpLHBuZlN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDYsITAscy5wbmZTdHlsZT8uaW5wdXRzKSxyYW5nZVN0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDExLCEwLHMucmFuZ2VTdHlsZT8uaW5wdXRzKSx2b2xGb290cHJpbnRTdHlsZTooMCxBLmNoYXJ0U3R5bGVTdHVkeUlkKSgxNywhMCxzLnZvbEZvb3RwcmludFN0eWxlPy5pbnB1dHMpLHRwb1N0eWxlOigwLEEuY2hhcnRTdHlsZVN0dWR5SWQpKDE4LCEwLHMudHBvU3R5bGU/LmlucHV0cyksc3ZwU3R5bGU6KDAsQS5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITAscy5zdnBTdHlsZT8uaW5wdXRzKX0scj17fTtmb3IoY29uc3Rbb11vZiBPYmplY3QuZW50cmllcyhMLlNZTUJPTF9TVFJJTkdfREFUQSkpe2NvbnN0IGE9YCR7TC5TVFlMRV9TSE9SVF9OQU1FU1tvXX1TdHlsZWAsbD1zW2FdPy5pbnB1dHM7aWYobnVsbD09bCljb250aW51ZTtjb25zdCBjPWEgaW4gZT9lW2FdLnN0dWR5SWQ6blthXSxoPW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhjKSxkPXRbYV0uc3R1ZHlJZCx1PW90LlN0dWR5TWV0YUluZm8ucGFyc2VJZFN0cmluZyhkKSxwPWkudXBkYXRlU3R1ZHlJbnB1dHMoaC5pZCxoLnZlcnNpb24sdS52ZXJzaW9uLGwuaW5wdXRzLG51bGwpO3JbYV09e2lucHV0czpwfX10aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUocil9X3Jlc3RvcmVTcGVjaWFsU291cmNlKGUsdCxpKXtlLnR5cGU9PT1wbC5DaGFydEV2ZW50c1NvdXJjZUlkLlZhbHVlJiZ0JiZ0aGlzLl9tb2RlbC5yZXN0b3JlQ2hhcnRFdmVudHMoZSl9X3Byb2Nlc3NBZnRlckJ1bGtBY3Rpb24oKXtjb25zdCBlPXRoaXMuX2J1bGtBY3Rpb25zOzA9PT1lLmFjdGl2ZUNvdW50ZXImJih0aGlzLl9kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUoKSxlLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkJiYodGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLGUuc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9ITEpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQmJih0aGlzLl9wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksZS5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD0hMSksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkJiYodGhpcy5fZGF0YVNvdXJjZXNaT3JkZXJzQ2hhbmdlZC5maXJlKCksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkPSExKSl9fXZhciBjYyxoYz1pKDUxNTk3MyksZGM9aSg0MDM4MTcpOyFmdW5jdGlvbihlKXtlW2UuTGVmdD0wXT0iTGVmdCIsZVtlLlJpZ2h0PTFdPSJSaWdodCIsZVtlLk5lYXJlc3Q9Ml09Ik5lYXJlc3QifShjY3x8KGNjPXt9KSk7Y29uc3QgdWM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lUG9pbnRzIik7ZnVuY3Rpb24gcGMoZSx0KXtyZXR1cm4gbnVsbD09PWV8fG51bGw9PT10P2U9PT10OmUuZmlyc3RJbmRleD09PXQuZmlyc3RJbmRleCYmZS5sYXN0SW5kZXg9PT10Lmxhc3RJbmRleH1jbGFzcyBfY3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3pvZmZzZXQ9MCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9yYW5nZT1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwscGMpfWNsZWFyKCl7dGhpcy5fem9mZnNldD0wLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX3JhbmdlLnNldFZhbHVlKG51bGwpfXNpemUoKXtyZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RofXJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLnJlYWRvbmx5KCl9bWVyZ2UoZSx0LGkpe2NvbnN0IHM9dGhpcy5fbWVyZ2VJbXBsKGUsdCxpKTtyZXR1cm4gdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSxzfWFkZFRhaWwoZSx0KXtmb3IobGV0IGk9dD8xOjA7aTxlLmxlbmd0aDtpKyspdGhpcy5faXRlbXMucHVzaChlW2ldKTt0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpfXJlbW92ZShlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7aWYobnVsbD09PXQpcmV0dXJuW107Y29uc3QgaT10aGlzLl9pdGVtcy5zcGxpY2UodCkscz1bXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylzLnB1c2goe2NoYW5nZToicmVtb3ZlIixpbmRleDplK3QsdmFsdWU6aVt0XX0pO3JldHVybiB0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RJbmRleCgpLHN9dmFsdWVBdChlKXtjb25zdCB0PXRoaXMuX2luZGV4VG9PZmZzZXQoZSk7cmV0dXJuIG51bGwhPT10P3RoaXMuX2l0ZW1zW3RdPz9udWxsOm51bGx9aW5kZXhPZihlLHQpe2lmKHRoaXMuX2l0ZW1zLmxlbmd0aDwxKXJldHVybiBudWxsO2lmKGU+dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdKXJldHVybiB0P3RoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk6bnVsbDtmb3IobGV0IGk9MDtpPHRoaXMuX2l0ZW1zLmxlbmd0aDsrK2kpe2lmKGU9PT10aGlzLl9pdGVtc1tpXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpO2lmKGU8dGhpcy5faXRlbXNbaV0pcmV0dXJuIHQ/dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KGkpOm51bGx9cmV0dXJuIG51bGx9c3RhdGUoZSl7bGV0IHQ9MCxpPXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4gbnVsbCE9PWUmJih0PXRoaXMuX2luZGV4VG9PZmZzZXQoZS5maXJzdEJhcigpKT8/MCwKaT0odGhpcy5faW5kZXhUb09mZnNldChlLmxhc3RCYXIoKSk/P2ktMSkrMSkse2l0ZW1zOnRoaXMuX2l0ZW1zLnNsaWNlKHQsaSksem9mZnNldDp0aGlzLl96b2Zmc2V0LXR9fXJlc3RvcmVTdGF0ZShlKXtudWxsIT09ZSYmKHRoaXMuX2l0ZW1zPWUuaXRlbXMsdGhpcy5fem9mZnNldD1lLnpvZmZzZXQsdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0SW5kZXgoKSl9cm91Z2hUaW1lKGUsdD1udWxsKXtlPU1hdGgucm91bmQoZSk7Y29uc3QgaT10aGlzLnZhbHVlQXQoZSk7aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl0sYz0obC1hKS8oby1yKTtpZihlPHIpe3JldHVybiBhLShyLWUpKmN9aWYoZT5vKXtjb25zdCBpPWUtbztpZihpPDUwMCYmbnVsbCE9dClyZXR1cm4gdChsLGkpO3JldHVybiBsK2kqY31yZXR1cm4gbnVsbH1yb3VnaEluZGV4KGUsdD1udWxsLGk9MCl7Y29uc3Qgcz10aGlzLl9pdGVtcztpZighcy5sZW5ndGh8fHMubGVuZ3RoPDIpcmV0dXJuIG51bGw7Y29uc3Qgbj1zLmxlbmd0aC0xLHI9dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApLG89dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4pLGE9c1swXSxsPXNbbl07aWYoZT49YSYmZTw9bClyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsaSk7Y29uc3QgYz0obC1hKS8oby1yKTtpZihlPGEpe2NvbnN0IHQ9YS1lO3JldHVybiByLU1hdGgucm91bmQodC9jKX1pZihlPmwpe2NvbnN0IGk9ZS1sO2xldCBzPU1hdGgudHJ1bmMoaS9jKTtpZihzPDUwMCYmbnVsbCE9PXQpe2NvbnN0IGk9dChsLGUpO2kuc3VjY2VzcyYmKHM9aS5yZXN1bHQpfXJldHVybiBvK3N9cmV0dXJuIG51bGx9Y2xvc2VzdEluZGV4TGVmdChlKXtyZXR1cm4gdGhpcy5fY2xvc2VzdEluZGV4KGUsMCl9Zmlyc3RQb2ludCgpe3JldHVybiAwPT09dGhpcy5faXRlbXMubGVuZ3RoP251bGw6dGhpcy5faXRlbXNbMF19bGFzdFBvaW50KCl7cmV0dXJuIDA9PT10aGlzLl9pdGVtcy5sZW5ndGg/bnVsbDp0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGgtMV19X2Nsb3Nlc3RJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5faXRlbXM7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO2lmKE51bWJlci5pc05hTihlKSlyZXR1cm4gbnVsbDtjb25zdCBzPWkubGVuZ3RoLTE7aWYoZT49aVtzXSlyZXR1cm4gdGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHMpO2NvbnN0IG49KDAsZy5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxlLCgoZSx0KT0+ZTx0KSk7aWYobjw9cyYmdGhpcy5faXRlbXNbbl09PT1lKXJldHVybiB0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgobik7aWYoMD09PXQpcmV0dXJuIDA9PT1uP251bGw6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KG4tMSk7aWYoMT09PXQpcmV0dXJuIG4+cz9udWxsOnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChuKTtjb25zdCByPWUtKHRoaXMuX2l0ZW1zW24tMV0/Py0xLzApLG89KHRoaXMuX2l0ZW1zW25dPz8xLzApLWU7cmV0dXJuIHRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChyPG8/bi0xOm4pfV9tZXJnZUltcGwoZSx0LGkpe2lmKDA9PT1pLmxlbmd0aClyZXR1cm4gdWMubG9nRXJyb3IoIm1lcmdlOiAndmFsdWVzJyBkb2VzIG5vdCBjb250YWluIGFueSB0aW1lIHBvaW50cyIpLFtdO2lmKHQ+dGhpcy5fem9mZnNldCYmZSt0PjApcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogd2hlbiB0aGUgZmlyc3QgdGltZSBwb2ludCBpbmRleCBpcyB1cGRhdGVkLCB3ZSBzaG91bGQgZmlsbCB0aGUgdGltZSBwb2ludHMgc3RhcnRpbmcgZnJvbSB0aGUgZmlyc3Qgb25lIiksW107aWYoMD09PXRoaXMuX2l0ZW1zLmxlbmd0aClyZXR1cm4gdGhpcy5faXRlbXM9aS5zbGljZSgpLHRoaXMuX3pvZmZzZXQ9dCxbe2NoYW5nZToicmVidWlsZCIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KDApfV07Y29uc3Qgcz1lK3RoaXMuX3pvZmZzZXQ7aWYoczwwKXtjb25zdCBuPU1hdGguYWJzKHMpO2lmKGkubGVuZ3RoPG4pcmV0dXJuIHVjLmxvZ0Vycm9yKCJtZXJnZTogJ3ZhbHVlcycgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggdGltZSBwb2ludHMgdG8gZmlsbCBpbiB0aGUgbmV3IGl0ZW1zLiAnaW5kZXgnOiAiK2UudG9TdHJpbmcoKSsiLCBwcmV2aW91cyAnem9mZnNldCc6ICIrdGhpcy5fem9mZnNldC50b1N0cmluZygpKyIsIG5ldyAnem9mZnNldCc6ICIrdC50b1N0cmluZygpKyIsICd2YWx1ZXMubGVuZ3RoJzogIitpLmxlbmd0aCksW107dGhpcy5faXRlbXM9bmV3IEFycmF5KG4pLmNvbmNhdCh0aGlzLl9pdGVtcyksdGhpcy5fem9mZnNldD10O2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7KytzKXRoaXMuX2l0ZW1zW2Urcyt0XT1pW3NdO3JldHVyblt7Y2hhbmdlOiJyZWJ1aWxkIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoMCl9XX1jb25zdCBuPVtdO2xldCByPXM7Zm9yKDtyPHRoaXMuX2l0ZW1zLmxlbmd0aCYmci1zPGkubGVuZ3RoOysrcil0aGlzLl9pdGVtc1tyXT1pW3Itc10sbi5wdXNoKHtjaGFuZ2U6InVwZGF0ZSIsaW5kZXg6dGhpcy5fdmFsaWRPZmZzZXRUb0luZGV4KHIpLHZhbHVlOmlbci1zXX0pO2NvbnN0IG89cytpLmxlbmd0aDtpZihvPnRoaXMuX2l0ZW1zLmxlbmd0aCl7Y29uc3QgZT1vLXRoaXMuX2l0ZW1zLmxlbmd0aDtmb3IobGV0IHQ9cjt0PHIrZTsrK3Qpe2NvbnN0IGU9dGhpcy5faXRlbXMubGVuZ3RoO3RoaXMuX2l0ZW1zLnB1c2goaVt0LXNdKSxuLnB1c2goe2NoYW5nZToiYXBwZW5kIixpbmRleDp0aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSksdmFsdWU6aVt0LXNdfSl9fWVsc2V7Zm9yKGxldCBlPW87ZTx0aGlzLl9pdGVtcy5sZW5ndGg7KytlKW4ucHVzaCh7Y2hhbmdlOiJyZW1vdmUiLGluZGV4OnRoaXMuX3ZhbGlkT2Zmc2V0VG9JbmRleChlKSx2YWx1ZTp0aGlzLl9pdGVtc1tlXX0pO3RoaXMuX2l0ZW1zLmxlbmd0aD1vfXJldHVybiB0aGlzLl96b2Zmc2V0PXQsbn0KX3VwZGF0ZUZpcnN0QW5kTGFzdEluZGV4KCl7Y29uc3QgZT10aGlzLl9vZmZzZXRUb0luZGV4KDApLHQ9dGhpcy5fb2Zmc2V0VG9JbmRleCh0aGlzLl9pdGVtcy5sZW5ndGgtMSk7dGhpcy5fcmFuZ2Uuc2V0VmFsdWUobnVsbD09PWV8fG51bGw9PT10P251bGw6e2ZpcnN0SW5kZXg6ZSxsYXN0SW5kZXg6dH0pfV92YWxpZE9mZnNldFRvSW5kZXgoZSl7cmV0dXJuIGUtdGhpcy5fem9mZnNldH1fb2Zmc2V0VG9JbmRleChlKXtyZXR1cm4gMDw9ZSYmZTx0aGlzLnNpemUoKT90aGlzLl92YWxpZE9mZnNldFRvSW5kZXgoZSk6bnVsbH1faW5kZXhUb09mZnNldChlKXtjb25zdCB0PWUrdGhpcy5fem9mZnNldDtyZXR1cm4gMDw9dCYmdDx0aGlzLnNpemUoKT90Om51bGx9fXZhciBtYz1pKDgxNDU4OSk7Y29uc3QgZ2M9bmV3IE1hcChbWzAsLjFdLFsxMSwuMV0sWzEsLjM1XSxbOSwuMzVdLFsxMiwuMzVdLFs4LC4zNV1dKTtjbGFzcyBmY3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3N0eWxlU3BlY2lmaWNSYW5nZXM9bmV3IE1hcCx0aGlzLl9sb2dpY2FsUmFuZ2U9ZSx0aGlzLl9kZWZhdWx0U3R5bGU9dH1zdHJpY3RSYW5nZShlKXtpZihudWxsPT09dGhpcy5fbG9naWNhbFJhbmdlKXJldHVybiBudWxsO3ZvaWQgMD09PWUmJihlPXRoaXMuX2RlZmF1bHRTdHlsZSk7bGV0IHQ9dGhpcy5fc3R5bGVTcGVjaWZpY1Jhbmdlcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3QgaT0oZ2MuZ2V0KGUpfHwwKS8yO3Q9bmV3IGhjLkJhcnNSYW5nZShNYXRoLmZsb29yKHRoaXMuX2xvZ2ljYWxSYW5nZS5sZWZ0KCkraSksTWF0aC5jZWlsKHRoaXMuX2xvZ2ljYWxSYW5nZS5yaWdodCgpLWkpKSx0aGlzLl9zdHlsZVNwZWNpZmljUmFuZ2VzLnNldChlLHQpfXJldHVybiB0fWxvZ2ljYWxSYW5nZSgpe3JldHVybiB0aGlzLl9sb2dpY2FsUmFuZ2V9aXNWYWxpZCgpe3JldHVybiBudWxsIT09dGhpcy5fbG9naWNhbFJhbmdlfXN0YXRpYyBpbnZhbGlkKCl7cmV0dXJuIG5ldyBmYyhudWxsLDEpfX12YXIgU2MsdmM9aSgyMzgxMDMpLHljPWkoMzgwNTQwKSxiYz1pKDUxNzI5Myksd2M9aSgyNTAzMzQpLENjPWkoMjk3MTExKSxQYz1pKDU5MTc0MSksVGM9aSgxODk5OTgpOyFmdW5jdGlvbihlKXtlW2UuTWFya1BhZGRpbmdGb3IxNFB4Rm9udD01XT0iTWFya1BhZGRpbmdGb3IxNFB4Rm9udCIsZVtlLk1pbk1hcmtTaXplRm9yMTRQeEZvbnQ9NTBdPSJNaW5NYXJrU2l6ZUZvcjE0UHhGb250IixlW2UuRGVmYXVsdFNraXBJdGVtc1JhdGlvPS41XT0iRGVmYXVsdFNraXBJdGVtc1JhdGlvIixlW2UuTWF4RGF5QXZlcmFnZURldmlhdGlvblBlcmNlbnQ9MjVdPSJNYXhEYXlBdmVyYWdlRGV2aWF0aW9uUGVyY2VudCJ9KFNjfHwoU2M9e30pKTtjb25zdCB4Yz1Dbi5ZRUFSX1NQQU4tMSxNYz1Dbi5ZRUFSX1NQQU4tMixJYz1Dbi5EQVlfU1BBTi0xLExjPUNuLkhPVVJfU1BBTi0xLEFjPUNuLkhPVVJfU1BBTi0yLGtjPUNuLkhPVVJfU1BBTi0zLERjPXtbQ24uTUlMTElTRUNPTkRfU1BBTl06MSxbQ24uSE9VUl9TUEFOKzJdOjEsW0NuLkhPVVJfU1BBTisxXToxLFtDbi5TRUNPTkRfU1BBTl06LjksW01jXTouMSxbQ24uREFZX1NQQU5dOi44NX0sRWM9e1tDbi5EQVlfU1BBTl06MjMwfTtmdW5jdGlvbiBSYyhlLHQpe3JldHVybiBudWxsIT09d2MuY3VzdG9tRm9ybWF0dGVycy50aWNrTWFya0Zvcm1hdHRlcj93Yy5jdXN0b21Gb3JtYXR0ZXJzLnRpY2tNYXJrRm9ybWF0dGVyKGUsdCk6ZnVuY3Rpb24oZSx0KXtzd2l0Y2godCl7Y2FzZSJUaW1lV2l0aE1pbGxpc2Vjb25kcyI6cmV0dXJuIG5ldyBDYy5UaW1lRm9ybWF0dGVyKHZjLmhvdXJNaW51dGVTZWNvbmRNaWxsaXNlY0Zvcm1hdCkuZm9ybWF0KGUpO2Nhc2UiVGltZVdpdGhTZWNvbmRzIjpjYXNlIlRpbWUiOmNvbnN0IGk9IlRpbWVXaXRoU2Vjb25kcyI9PT10PygwLFBjLmdldEhvdXJNaW51dGVTZWNvbmRGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpOigwLFBjLmdldEhvdXJNaW51dGVGb3JtYXQpKFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3JldHVybiBuZXcgQ2MuVGltZUZvcm1hdHRlcihpKS5mb3JtYXQoZSk7Y2FzZSJEYXlPZk1vbnRoIjpyZXR1cm4gZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKTtjYXNlIk1vbnRoIjpyZXR1cm4geWMubW9udGhzU2hvcnROYW1lc1tlLmdldFVUQ01vbnRoKCldO2Nhc2UiWWVhciI6cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpfX0oZSx0KX1jb25zdCBWYz0oMCxCYS5kZWZhdWx0KSgoZT0+KDAsUmkucGFyc2VGb250KShlKT8uc2l6ZT8/MTIpKTtmdW5jdGlvbiBCYyhlLHQsaSxzKXtjb25zdCBuPU5jKGUsdCkscj1NYXRoLm1heChlLndpZHRoLHMpO3JldHVybntsZWZ0Om4tci8yLWkscmlnaHQ6bityLzIraX19ZnVuY3Rpb24gTmMoZSx0KXtyZXR1cm4gZS5pbmRleCp0fWZ1bmN0aW9uIE9jKGUsdCl7cmV0dXJuIHQ9PT1lLmxlbmd0aD9udWxsOmVbdF19ZnVuY3Rpb24gV2MoZSx0LGkscyxuKXtjb25zdCByPUJjKGUsaSxzLG4pLG89QmModCxpLHMsbik7cmV0dXJuIHIucmlnaHQ+by5sZWZ0fWZ1bmN0aW9uIEZjKGUpe3JldHVybiBuZXcgRGF0ZSgxZTMqZSl9ZnVuY3Rpb24gSGMoZSl7aWYoZS5zcGFuPj1Dbi5NT05USF9TUEFOJiZlLnNwYW48Q24uWUVBUl9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X21vbnRoKShGYyhlLnRpbWUpKTtyZXR1cm4gdD09PW8uSlVMWT94Yzp0PT09by5NQVJDSHx8dD09PW8uTUFZfHx0PT09by5TRVBURU1CRVJ8fHQ9PT1vLk5PVkVNQkVSP01jOkNuLk1PTlRIX1NQQU59aWYoZS5zcGFuPj1Dbi5NSU5VVEVfU1BBTiYmZS5zcGFuPENuLkhPVVJfU1BBTil7Y29uc3QgdD0oMCxvLmdldF9taW51dGVzKShGYyhlLnRpbWUpKTtyZXR1cm4gdCUzMD09MD9MYzp0JTE1PT0wP0FjOnQlNT09MD9rYzpDbi5NSU5VVEVfU1BBTn1pZihlLnNwYW4+PUNuLkhPVVJfU1BBTiYmZS5zcGFuPENuLkRBWV9TUEFOKXtjb25zdCB0PSgwLG8uZ2V0X2hvdXJzKShGYyhlLnRpbWUpKTtyZXR1cm4gMD09PXR8fDEyPT09dD9JYzplLnNwYW59CnJldHVybiBlLnNwYW4+PUNuLldFRUtfU1BBTiYmZS5zcGFuPENuLk1PTlRIX1NQQU4/Q24uREFZX1NQQU46ZS5zcGFufWZ1bmN0aW9uIHpjKGUsdCl7Y29uc3QgaT1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09Q24uTUlMTElTRUNPTkRfU1BBTiYmdD8iVGltZVdpdGhNaWxsaXNlY29uZHMiOmU8Q24uTUlOVVRFX1NQQU4mJnQ/IlRpbWVXaXRoU2Vjb25kcyI6ZTxDbi5EQVlfU1BBTiYmdD8iVGltZSI6ZTxDbi5XRUVLX1NQQU58fGU8Q24uTU9OVEhfU1BBTj8iRGF5T2ZNb250aCI6ZTxDbi5ZRUFSX1NQQU4/Ik1vbnRoIjoiWWVhciJ9KGUsdCkscz1uZXcgYmMuQ2lyY3VsYXJDYWNoZUJ1ZmZlcigxNTApO3JldHVybiBlPT57bGV0IHQ9cy5nZXQoZS50aW1lKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9UmMoRmMoZS50aW1lKSxpKSxzLnNldChlLnRpbWUsdCkpLHR9fWNsYXNzIFVje2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fbGFiZWxzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZm9ybWF0dGVyQnlTcGFuPW5ldyBNYXAsdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IEJpLlRleHRXaWR0aENhY2hlKDFlNCksdGhpcy5fdGltZVZpc2libGU9ZSx0aGlzLl9zcGFyc2VNYXJrcz10LHRoaXMuX2ZvbnQ9aTtUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9sYWJlbHNJbnZhbGlkYXRlZD0hMCx0aGlzLl9mb3JtYXR0ZXJCeVNwYW4uY2xlYXIoKSx0aGlzLl9jYWNoZT1udWxsfSkpLHRoaXMuX2ZvbnQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RleHRXaWR0aENhY2hlLnJlc2V0KCksdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2FjaGU9bnVsbH0pKSx0aGlzLl9zcGFyc2VNYXJrcy5zdWJzY3JpYmUoKCgpPT57dGhpcy5fY2FjaGU9bnVsbH0pKX1kZXN0cm95KCl7VGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVZpc2libGUucmVsZWFzZSgpLHRoaXMuX3NwYXJzZU1hcmtzLnJlbGVhc2UoKSx0aGlzLl9mb250LnJlbGVhc2UoKX1yZXNldCgpe3RoaXMuX3Jlc2V0SW1wbCgpLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWluZGV4VG9UaW1lKGUpe2NvbnN0IHQ9dGhpcy5fbWFya3NCeUluZGV4LmdldChlKTtyZXR1cm4gdD9uZXcgRGF0ZSgxZTMqdC50aW1lKTpudWxsfW5lYXJlc3RJbmRleChlKXtsZXQgdD10aGlzLm1pbkluZGV4Pz8wLGk9dGhpcy5tYXhJbmRleD8/MDtmb3IoO2ktdD4yOyl7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0KSkudGltZT09PWUpcmV0dXJuIHQ7aWYoMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldChpKSkudGltZT09PWUpcmV0dXJuIGk7Y29uc3Qgcz1NYXRoLnJvdW5kKCh0K2kpLzIpOzFlMyooMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQocykpLnRpbWU+ZT9pPXM6dD1zfXJldHVybiB0fWVzdGltYXRlTGVmdChlKXtjb25zdCB0PXRoaXMuX2RlbnNpdHkoKTtpZih2b2lkIDA9PT10aGlzLm1pbkluZGV4fHwhdClyZXR1cm4gMDtyZXR1cm4oMWUzKigwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZS1lKS90fW1lcmdlKGUsdCl7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCBpPWVbMF0uaW5kZXgscz1lW2UubGVuZ3RoLTFdLmluZGV4LG49aTw9KHRoaXMubWluSW5kZXg/PzApJiZzPj0odGhpcy5tYXhJbmRleD8/MCk7KHR8fG4pJiZ0aGlzLl9yZXNldEltcGwoKTtjb25zdCByPXRoaXMuX21hcmtzQnlTcGFuLG89bmV3IFNldDtpZih0aGlzLl9tYXJrc0J5SW5kZXguc2l6ZT4wKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleCxpPXRoaXMuX21hcmtzQnlJbmRleC5nZXQoZSk7aSYmKGkuaW5kZXg9PT1lJiZpLm92ZXJyaWRkZW5TcGFuPT09SGModCkmJmkudGltZT09PXQudGltZXx8dGhpcy5fcmVtb3ZlVGlja21hcmsoaSkpO2NvbnN0IHM9dGhpcy5fbWFya3NCeVRpbWUuZ2V0KHQudGltZSk7cyYmcy5pbmRleCE9PWUmJnRoaXMuX3JlbW92ZVRpY2ttYXJrKHMpfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5pbmRleDtpZih0aGlzLl9tYXJrc0J5SW5kZXguaGFzKGUpKWNvbnRpbnVlO2NvbnN0IGk9SGModCkscz10aGlzLl9mb3JtYXRMYWJlbCh0KSxuPXsuLi50LGxhYmVsOnMsb3ZlcnJpZGRlblNwYW46aSx3aWR0aDooMCxLdC5tZWFzdXJlVGV4dCkocyx0aGlzLl9mb250LnZhbHVlKCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpLndpZHRofTt0aGlzLl9tYXJrc0J5SW5kZXguc2V0KGUsbiksdGhpcy5fbWFya3NCeVRpbWUuc2V0KHQudGltZSxuKTtsZXQgYT1yW2ldO3ZvaWQgMD09PWEmJihhPVtdLHJbaV09YSk7Y29uc3QgbD0wPT09YS5sZW5ndGh8fGFbYS5sZW5ndGgtMV0udGltZTx0LnRpbWU7YS5wdXNoKG4pLGx8fG8uYWRkKGkpfXRoaXMubWluSW5kZXg9TWF0aC5taW4odGhpcy5taW5JbmRleD8/MS8wLGkpLHRoaXMubWF4SW5kZXg9TWF0aC5tYXgodGhpcy5tYXhJbmRleD8/LTEvMCxzKTtmb3IobGV0IGU9ci5sZW5ndGg7ZS0tOylyW2VdJiYocltlXS5sZW5ndGh8fGRlbGV0ZSByW2VdLG8uaGFzKGUpJiZyW2VdLnNvcnQoKChlLHQpPT5lLnRpbWUtdC50aW1lKSkpO3RoaXMuX2NhY2hlPW51bGwsdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZT1udWxsLHRoaXMuX2NoYW5nZWQuZmlyZSgpfWJ1aWxkKGUpe2lmKHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkJiYodGhpcy5fbWFya3NCeUluZGV4LmZvckVhY2goKGU9PntlLmxhYmVsPXRoaXMuX2Zvcm1hdExhYmVsKGUpfSkpLHRoaXMuX2xhYmVsc0ludmFsaWRhdGVkPSExKSwKdGhpcy5fd2lkdGhzSW52YWxpZGF0ZWQmJih0aGlzLl9tYXJrc0J5SW5kZXguZm9yRWFjaCgoZT0+e2Uud2lkdGg9KDAsS3QubWVhc3VyZVRleHQpKGUubGFiZWwsdGhpcy5fZm9udC52YWx1ZSgpLHRoaXMuX3RleHRXaWR0aENhY2hlKS53aWR0aH0pKSx0aGlzLl93aWR0aHNJbnZhbGlkYXRlZD0hMSksdGhpcy5fY2FjaGU/LmJhclNwYWNpbmc9PT1lKXJldHVybiB0aGlzLl9jYWNoZS5tYXJrcztjb25zdCB0PVZjKHRoaXMuX2ZvbnQudmFsdWUoKSksaT01LzE0KnQscz01MC8xNCp0O2xldCBuPVtdO2ZvcihsZXQgdD10aGlzLl9tYXJrc0J5U3Bhbi5sZW5ndGg7dC0tOyl7aWYoIXRoaXMuX21hcmtzQnlTcGFuW3RdKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy5fbWFya3NCeVNwYW5bdF07aWYoMD09PXIubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IG89dDxDbi5EQVlfU1BBTiYmdGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmdGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKSxhPW47bj1bXTtsZXQgYz0wLGg9MDtjb25zdCBkPXIubGVuZ3RoPjI/RWNbdF06dm9pZCAwO2xldCB1PW51bGwscD0tMS8wLF89bnVsbCxtPTA7Zm9yKDtjPGEubGVuZ3RofHxoPHIubGVuZ3RoOyl7Y29uc3QgdD1PYyhhLGMpLG89T2MocixoKTtpZih2b2lkIDAhPT1kJiZudWxsIT09byYmbyE9PXUpe2lmKG51bGwhPT1fKXtjb25zdCB0PW51bGwhPT11JiZ1LmluZGV4Pl8uaW5kZXg/dTpfLGk9TmMobyxlKS1OYyh0LGUpO3A9TWF0aC5tYXgocCxpKX11PW99bnVsbCE9PXQ/bnVsbCE9PW8/dC5pbmRleDxvLmluZGV4PygoMCxsLmFzc2VydCkobnVsbD09PV98fCFXYyhfLHQsZSxpLHMpKSxuLnB1c2godCksXz10LGMrKyk6KG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpfHxXYyhvLHQsZSxpLHMpP20rKzoobi5wdXNoKG8pLF89byksaCsrKTooKDAsbC5hc3NlcnQpKG51bGw9PT1ffHwhV2MoXyx0LGUsaSxzKSksbi5wdXNoKHQpLF89dCxjKyspOihudWxsIT09byYmKG51bGwhPT1fJiZXYyhfLG8sZSxpLHMpP20rKzoobi5wdXNoKG8pLF89bykpLGgrKyl9aWYodGhpcy5fc3BhcnNlTWFya3MudmFsdWUoKSYmYS5sZW5ndGg+MCYmbS9yLmxlbmd0aD4oRGNbdF0/Py41KSYmIW8pe249YTticmVha31pZih2b2lkIDAhPT1kJiZOdW1iZXIuaXNGaW5pdGUocCkmJnA8PWQpYnJlYWt9cmV0dXJuIHRoaXMuX2NhY2hlPXttYXJrczpuLGJhclNwYWNpbmc6ZX0sbn1tYXJrc0J5U3Bhbigpe2NvbnN0IGU9e307Zm9yKGxldCB0PXRoaXMuX21hcmtzQnlTcGFuLmxlbmd0aDt0LS07KWlmKHRoaXMuX21hcmtzQnlTcGFuW3RdKXtjb25zdCBpPVtdO2VbdF09aTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tYXJrc0J5U3Bhblt0XSlpLnB1c2goW2UuaW5kZXgsZS50aW1lLGUub3ZlcnJpZGRlblNwYW5dKX1yZXR1cm4gZX1zdGF0ZShlKXtsZXQgdD1bXTtmb3IobGV0IGU9dGhpcy5fbWFya3NCeVNwYW4ubGVuZ3RoO2UtLTspdGhpcy5fbWFya3NCeVNwYW5bZV0mJih0PXQuY29uY2F0KHRoaXMuX21hcmtzQnlTcGFuW2VdKSk7aWYobnVsbCE9PWUpe2NvbnN0IGk9ZS5maXJzdEJhcigpLHM9ZS5sYXN0QmFyKCk7dD10LmZpbHRlcigoZT0+ZS5pbmRleD49aSYmZS5pbmRleDw9cykpfXJldHVybnttYXJrczp0Lm1hcCgoZT0+W2Uuc3BhbixlLnRpbWUsZS5pbmRleF0pKSx2ZXJzaW9uOjJ9fXJlc3RvcmVTdGF0ZShlKXtpZih0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMubWluSW5kZXg9dm9pZCAwLGUmJmUubWFya3MmJmUubWFya3MubGVuZ3RoKWlmKDI9PT1lLnZlcnNpb24pe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKTt0aGlzLm1lcmdlKHQpfWVsc2UgdGhpcy5tZXJnZShlLm1hcmtzKX1yZW1vdmVUYWlsKGUpe2xldCB0PS0xLzA7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fbWFya3NCeUluZGV4LnZhbHVlcygpKWkudGltZT5lP3RoaXMuX3JlbW92ZVRpY2ttYXJrKGkpOnQ9TWF0aC5tYXgodCxpLmluZGV4KTt0aGlzLm1heEluZGV4PU51bWJlci5pc0Zpbml0ZSh0KT90OnZvaWQgMCx2b2lkIDA9PT10aGlzLm1heEluZGV4JiYodGhpcy5taW5JbmRleD12b2lkIDApLHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9bnVsbH1hZGRUYWlsKGUpe2lmKHZvaWQgMCE9PXRoaXMubWF4SW5kZXgpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5pbmRleD10aGlzLm1heEluZGV4K3QrMTt0aGlzLm1lcmdlKGUpfV9yZXNldEltcGwoKXt0aGlzLl9tYXJrc0J5SW5kZXg9bmV3IE1hcCx0aGlzLl9tYXJrc0J5VGltZT1uZXcgTWFwLHRoaXMuX21hcmtzQnlTcGFuPVtdLHRoaXMubWluSW5kZXg9dm9pZCAwLHRoaXMubWF4SW5kZXg9dm9pZCAwLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fZm9ybWF0dGVyQnlTcGFuLmNsZWFyKCl9X3JlbW92ZVRpY2ttYXJrKGUpe2NvbnN0IHQ9ZS5pbmRleCxpPWUudGltZTtpZih0aGlzLl9tYXJrc0J5SW5kZXguZ2V0KHQpIT09ZSlyZXR1cm47dGhpcy5fbWFya3NCeUluZGV4LmRlbGV0ZSh0KSx0aGlzLl9tYXJrc0J5VGltZS5kZWxldGUoaSk7Y29uc3Qgcz10aGlzLl9tYXJrc0J5U3BhbltlLm92ZXJyaWRkZW5TcGFuXSxuPSgwLGcubG93ZXJib3VuZCkocyxlLCgoZSx0KT0+ZS50aW1lPHQudGltZSkpOygwLGwuYXNzZXJ0KShuPj0wJiZuPHMubGVuZ3RoJiZzW25dLnRpbWU9PT1pLCJTZWFyY2hlZCB0aWNrbWFyayBpcyBub3QgZm91bmQiKSxzLnNwbGljZShuLDEpLDA9PT1zLmxlbmd0aCYmZGVsZXRlIHRoaXMuX21hcmtzQnlTcGFuW2Uub3ZlcnJpZGRlblNwYW5dfV9kZW5zaXR5KCl7aWYodm9pZCAwPT09dGhpcy5taW5JbmRleHx8dm9pZCAwPT09dGhpcy5tYXhJbmRleClyZXR1cm4gMDtjb25zdCBlPXRoaXMubWF4SW5kZXgtdGhpcy5taW5JbmRleDtpZigwPT09ZSlyZXR1cm4gMDtyZXR1cm4gMWUzKigoMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX21hcmtzQnlJbmRleC5nZXQodGhpcy5tYXhJbmRleCkpLnRpbWUtKDAsCmwuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFya3NCeUluZGV4LmdldCh0aGlzLm1pbkluZGV4KSkudGltZSkvZX1fZm9ybWF0TGFiZWwoZSl7Y29uc3QgdD1IYyhlKTtsZXQgaT10aGlzLl9mb3JtYXR0ZXJCeVNwYW4uZ2V0KHQpO3JldHVybiB2b2lkIDA9PT1pJiYoaT16Yyh0LHRoaXMuX3RpbWVWaXNpYmxlLnZhbHVlKCkpLHRoaXMuX2Zvcm1hdHRlckJ5U3Bhbi5zZXQodCxpKSksaShlKX1fc2tpcEludHJhRGF5TWFya3NTcGFyc2UoKXtpZihudWxsPT09dGhpcy5fc2tpcEludHJhRGF5TWFya3NTcGFyc2VDYWNoZSl7Y29uc3QgZT10aGlzLl9tYXJrc0J5U3BhbltDbi5EQVlfU1BBTl0/P1tdO3RoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGU9ZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGg8MylyZXR1cm4gMDtjb25zdCB0PVtdO2xldCBpPW51bGw7Zm9yKGNvbnN0IHMgb2YgZSl7aWYobnVsbCE9PWkpe2NvbnN0IGU9TWF0aC5hYnMocy5pbmRleC1pKTt0LnB1c2goZSl9aT1zLmluZGV4fWNvbnN0IHM9dC5yZWR1Y2UoKChlLHQpPT5lK3QpLDApL3QubGVuZ3RoO3JldHVybiB0LnJlZHVjZSgoKGUsdCk9PmUrTWF0aC5hYnModC1zKSkpL3QubGVuZ3RoL3MqMTAwfShlKT49MjV9cmV0dXJuIHRoaXMuX3NraXBJbnRyYURheU1hcmtzU3BhcnNlQ2FjaGV9fWNsYXNzIEdje2NvbnN0cnVjdG9yKCl7dGhpcy5fYmFzZUluZGV4PTB9c2V0QmFzZUluZGV4KGUpe3RoaXMuX2Jhc2VJbmRleD1lfWluZGV4VG9Ub3RhbFdlaWdodChlKXtyZXR1cm4gZS10aGlzLl9iYXNlSW5kZXh9dG90YWxXZWlnaHRUb0luZGV4KGUpe3JldHVybiB0aGlzLl9iYXNlSW5kZXgrZX1pbmRleFJhbmdlVG9XZWlnaHRzKGUsdCxpKXtjb25zdCBzPWUtdGhpcy5fYmFzZUluZGV4O3JldHVyblt7bGVmdDpzLS41LGNlbnRlcjpzLHJpZ2h0OnMrLjUsdGltZVBvaW50SW5kZXg6ZX1dfXN0YXRlKGUpe3JldHVybnt0eXBlOiJjb25zdGFudCIsc3RhdGU6e2Jhc2VJbmRleDp0aGlzLl9iYXNlSW5kZXh9fX1yZXN0b3JlU3RhdGUoZSl7dGhpcy5fYmFzZUluZGV4PWUuc3RhdGUuYmFzZUluZGV4fW5lZWRBZGp1c3RpbmdPbkRhdGFSZXN0b3JpbmcoKXtyZXR1cm4hMX19dmFyIGpjPWkoNDc1NTU5KTt2YXIgcWM9aSgyNDE5NTYpLCRjPWkoNTUyMTQ1KTtjb25zdCBZYz17cHJlc2VydmVCYXJTcGFjaW5nOiExLGxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemU6ITEscmlnaHRCYXJTdGF5c09uU2Nyb2xsOiEwLG1pbkJhclNwYWNpbmc6LjV9LEtjPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImxvd19kZW5zaXR5X2JhcnMiKSxYYz1LYz8xOjIsWmM9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5UaW1lU2NhbGUiKTt2YXIgSmM7IWZ1bmN0aW9uKGUpe2VbZS5EZWZhdWx0UmlnaHRPZmZzZXQ9MTBdPSJEZWZhdWx0UmlnaHRPZmZzZXQiLGVbZS5EZWZhdWx0QmFyU3BhY2luZz02XT0iRGVmYXVsdEJhclNwYWNpbmciLGVbZS5VbnBsb3R0YWJsZUluZGV4Q29vcmQ9LTUwMF09IlVucGxvdHRhYmxlSW5kZXhDb29yZCIsZVtlLkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9NV09IkRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UiLGVbZS5NYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3Q9MjBdPSJNYXhJdGVyYXRpb25zRm9yRHluYW1pY0JhclNwYWNpbmdBZGp1c3QifShKY3x8KEpjPXt9KSk7Y2xhc3MgUWN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl93aWR0aD0wLHRoaXMuX3dpZHRoQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yaWdodE9mZnNldD0xMCx0aGlzLl9yaWdodE9mZnNldENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fbWF4UmlnaHRPZmZzZXRDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoMTApLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2U9bmV3IGguV2F0Y2hlZFZhbHVlKDUpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xhc3REZWZhdWx0UmlnaHRPZmZzZXQ9dm9pZCAwLHRoaXMuX2Jhc2VJbmRleD1udWxsLHRoaXMuX2xlZnRFZGdlSW5kZXg9bnVsbCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9iYXJTcGFjaW5nPTYsdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nPW51bGwsdGhpcy5fdmlzaWJsZUJhcnM9ZmMuaW52YWxpZCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRzPW5ldyBfYyx0aGlzLl9vblNjcm9sbD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXNldERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3Njcm9sbERhdGE9bnVsbCx0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9bnVsbCx0aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZT1udWxsLHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9yZXNldEF2YWlsYWJsZT1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3BvaW50V2VpZ2h0cz1uZXcgR2MsdGhpcy5fd2VpZ2h0ZWRQb2ludHNDYWNoZT1bXSx0aGlzLl90aHJvdHRsZVJlcXVlc3RNb3JlRGF0YU9uU2Nyb2xsPSgwLEtvLmRlZmF1bHQpKHRoaXMuX3JlcXVlc3RNb3JlRGF0YSwzMDApLHRoaXMuX29wdGlvbnM9KDAseGkuZGVlcEV4dGVuZCkoe30sWWMsdCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zY2FsZXNQcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMsdGhpcy5fdGlja01hcmtzPW5ldyBVYygoMCx1LmNvbWJpbmUpKChlPT4hZS5pc0RXTSgpKSxlLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksKDAsCnUuY29tYmluZSkoKChlLHQpPT4hZS5pc1RpY2tzKCkmJiFlLmlzU2Vjb25kcygpJiYhKDAsQS5pc1JhbmdlQmFzZWRTdHlsZSkodCkpLGUubWFpblNlcmllcygpLmludGVydmFsT2JqKCkud2Vha1JlZmVyZW5jZSgpLCgwLCRjLmNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKShlLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUpLm93bmVyc2hpcCgpKS5vd25lcnNoaXAoKSwoMCxxYy5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+KDAsUmkubWFrZUZvbnQpKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxXaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSksdGhpcy5fc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5mb250U2l6ZSkub3duZXJzaGlwKCkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldC5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0LnNldFZhbHVlKCExKSx0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpfSkpLHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2Uuc3Vic2NyaWJlKChlPT57aWYoZT49MTAwfHxlPDApe2NvbnN0IHQ9TWF0aC5tYXgoMCxNYXRoLm1pbihlLDk5KSk7dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS5zZXRWYWx1ZSh0KX1lbHNlIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC5zZXRWYWx1ZSghMCksdGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0T3B0aW9uc1VwZGF0ZWQoKX0pKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2RlZmF1bHRSaWdodE9mZnNldE9wdGlvbnNVcGRhdGVkKCl9KSksdGhpcy5fb3B0aW9ucy5wcmVzZXJ2ZUJhclNwYWNpbmcmJih0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy52YWx1ZSgpfHw2KSx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUpLHRoaXMuX3dpZHRoQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9tYXhSaWdodE9mZnNldE9uQ2hhbmdlZCksdGhpcy5fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5kZXN0cm95KCksdGhpcy5fd2lkdGhDaGFuZ2VkLmRlc3Ryb3koKSx0aGlzLl90aWNrTWFya3MuZGVzdHJveSgpfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX3dpZHRofHwhdGhpcy5jYW5Ob3JtYWxpemUoKX1jYW5Ob3JtYWxpemUoKXtyZXR1cm4gdGhpcy5fcG9pbnRzLnNpemUoKT4wfXVwZGF0ZShlLHQsaSxzLG4pe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsaS5sZW5ndGg+MCYmdGhpcy5fcG9pbnRzLm1lcmdlKGUsdCxpKSx0aGlzLl90aWNrTWFya3MubWVyZ2UocyxuKSx0aGlzLmNvcnJlY3RPZmZzZXQoKX1hZGRUYWlsKGUsdCxpKXt0aGlzLl90aWNrTWFya3MucmVtb3ZlVGFpbCh0KTtjb25zdCBzPWUucGFyYW1zLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aWNrTWFya3MubWF4SW5kZXgpKyhpPzA6MSk7Zm9yKGxldCBlPTA7ZTxzLm1hcmtzLmxlbmd0aDtlKyspcy5tYXJrc1tlXS5pbmRleD1uK2U7dGhpcy5fdGlja01hcmtzLmFkZFRhaWwocy5tYXJrcyksdGhpcy5fcG9pbnRzLmFkZFRhaWwocy5jaGFuZ2VzLGkpO2NvbnN0IHI9dGhpcy5fcmlnaHRPZmZzZXQtcy5jaGFuZ2VzLmxlbmd0aDt0aGlzLl91cGRhdGVSaWdodE9mZnNldChyKX1zdGF0ZShlKXtjb25zdCB0PXttX2JhclNwYWNpbmc6dGhpcy5iYXJTcGFjaW5nKCksbV9yaWdodE9mZnNldDp0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSxyaWdodE9mZnNldFBlcmNlbnRhZ2U6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpLHVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldDp0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKX07aWYoZSl7dC5tX3JpZ2h0T2Zmc2V0PU1hdGgubWF4KDAsdGhpcy5fcmlnaHRPZmZzZXQpO2NvbnN0IGU9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksaT10aGlzLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YSgpLDApLHM9ZT9lLnVuaXRlKGkpOmk7dC5wb2ludHM9dGhpcy5fcG9pbnRzLnN0YXRlKHMpLHQudGlja21hcmtzPXRoaXMuX3RpY2tNYXJrcy5zdGF0ZShzKSx0LndpZHRoPXRoaXMuX3dpZHRoLHQud2VpZ2h0cz10aGlzLl9wb2ludFdlaWdodHMuc3RhdGUocyksdC5iYXNlSW5kZXg9dGhpcy5fYmFzZUluZGV4fXJldHVybiB0fXJlc3RvcmVTdGF0ZShlLHQpe2lmKHZvaWQgMD09PWUubV9iYXJTcGFjaW5nKXJldHVybiB2b2lkIFpjLmxvZ0RlYnVnKCJyZXN0b3JlU3RhdGU6IGludmFsaWQgc3RhdGUiKTtpZih2b2lkIDA9PT1lLm1fcmlnaHRPZmZzZXQpcmV0dXJuIHZvaWQgWmMubG9nRGVidWcoInJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2Uud2VpZ2h0cyYmKHRoaXMuX3BvaW50V2VpZ2h0cz1mdW5jdGlvbihlKXtsZXQgdDtzd2l0Y2goZS50eXBlKXtjYXNlImNvbnN0YW50IjpyZXR1cm4gdD1uZXcgR2MsdC5yZXN0b3JlU3RhdGUoZSksdDtjYXNlImNvbXB1dGVkIjpyZXR1cm4gdD1uZXcgamMuQ29tcHV0ZWRUaW1lUG9pbnRXZWlnaHRzLHQucmVzdG9yZVN0YXRlKGUpLHR9dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHRpbWUgcG9pbnQgd2VpZ3RocyB0eXBlICR7ZS50eXBlfWApfShlLndlaWdodHMpKTtsZXQgaT1lLm1fYmFyU3BhY2luZzt0aGlzLl9zbmFwc2hvdEJhclNwYWNpbmc9dD9pOm51bGwKO2NvbnN0IHM9ZS5tX3JpZ2h0T2Zmc2V0PDAmJiF0P3RoaXMucmlnaHRPZmZzZXREZWZhdWx0VmFsdWUoKTplLm1fcmlnaHRPZmZzZXQsbj1zPDA/dGhpcy5yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpOk1hdGgucm91bmQocyk7aWYodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnNldFZhbHVlKG4pLHZvaWQgMCE9PWUucmlnaHRPZmZzZXRQZXJjZW50YWdlJiZOdW1iZXIuaXNGaW5pdGUoZS5yaWdodE9mZnNldFBlcmNlbnRhZ2UpJiZ0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlLnNldFZhbHVlKGUucmlnaHRPZmZzZXRQZXJjZW50YWdlKSx0aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQuc2V0VmFsdWUoQm9vbGVhbihlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCkpLHRoaXMuX3JpZ2h0T2Zmc2V0PXMsdGhpcy5fYmFzZUluZGV4PWUuYmFzZUluZGV4Pz90aGlzLl9iYXNlSW5kZXgsdCYmKHRoaXMuX3JlcXVlc3RlZFRpY2ttYXJrc0NvdW50PTEvMCx0aGlzLl9lbmRPZkRhdGE9ITAsdGhpcy5fcG9pbnRzLnJlc3RvcmVTdGF0ZShlLnBvaW50c3x8bnVsbCksdGhpcy5fdGlja01hcmtzLnJlc3RvcmVTdGF0ZShlLnRpY2ttYXJrc3x8bnVsbCksZS53aWR0aCYmdGhpcy5fd2lkdGg+MCYmKGkqPXRoaXMuX3dpZHRoL2Uud2lkdGgpKSx0JiZ0aGlzLl9wb2ludFdlaWdodHMubmVlZEFkanVzdGluZ09uRGF0YVJlc3RvcmluZygpKXt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxpKTtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk7aWYoZSl7Y29uc3QgdD1lLmZpcnN0SW5kZXg7bGV0IHM9aSxuPWkscj0wOygoKT0+e3I9dGhpcy5pbmRleFRvQ29vcmRpbmF0ZSh0KSxyPDA/KG49aSxzPWkvMTApOihzPWksbj0xMCppKX0pKCk7Zm9yKGxldCBlPTA7ZTwyMCYmTWF0aC5hYnMocik+MjtlKyspe2NvbnN0IGU9KG4rcykvMjt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSxyPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCkscjwwP249ZTpzPWV9fX1lbHNlIHRoaXMuX3RyeVRvVXBkYXRlQmFyU3BhY2luZyh0aGlzLl9iYXJTcGFjaW5nLGkpO3RoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldC52YWx1ZSgpJiYodGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgodGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZS52YWx1ZSgpKSksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpfW1hcmtzKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9iYXJTcGFjaW5nLHQ9NSooKHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKXx8MCkrNCksaT1NYXRoLnJvdW5kKHQvZSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxuPU1hdGgubWF4KHMuZmlyc3RCYXIoKSxzLmZpcnN0QmFyKCktaSkscj1NYXRoLm1heChzLmxhc3RCYXIoKSxzLmxhc3RCYXIoKS1pKSxvPXRoaXMuX3RpY2tNYXJrcy5idWlsZChlKSxhPVtdO2Zvcihjb25zdCBlIG9mIG8pbjw9ZS5pbmRleCYmZS5pbmRleDw9ciYmYS5wdXNoKHtjb29yZDp0aGlzLmluZGV4VG9Db29yZGluYXRlKGUuaW5kZXgpLGxhYmVsOmUubGFiZWwsc3BhbjplLnNwYW4sbWFqb3I6ITF9KTtyZXR1cm4gYX12aXNpYmxlQmFyc1N0cmljdFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLnN0cmljdFJhbmdlKCl9dmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkfXZpc2libGVTdHJpY3REYXRhUmFuZ2UoZSl7Y29uc3QgdD10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBpPWUuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLHM9ZS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpO3JldHVybiBudWxsPT09aXx8bnVsbD09PXM/bnVsbDpuZXcgaGMuQmFyc1JhbmdlKGkuaW5kZXgscy5pbmRleCl9dmlzaWJsZUV4dGVuZGVkRGF0YVJhbmdlKGUsdCl7Y29uc3QgaT10aGlzLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4gbnVsbDtsZXQgcz0xPT09dD9udWxsOmUuc2VhcmNoKGkuZmlyc3RCYXIoKS0xLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0KSxuPTA9PT10P251bGw6ZS5zZWFyY2goaS5sYXN0QmFyKCkrMSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpO3JldHVybiBudWxsPT09cyYmKHM9ZS5zZWFyY2goaS5maXJzdEJhcigpLFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLG51bGw9PT1uJiYobj1lLnNlYXJjaChpLmxhc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCkpLG51bGw9PT1zfHxudWxsPT09bj9udWxsOm5ldyBoYy5CYXJzUmFuZ2Uocy5pbmRleCxuLmluZGV4KX1sb2dpY2FsUmFuZ2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2xvZ2ljYWxSYW5nZUNoYW5nZWR9dGlja01hcmtzKCl7cmV0dXJuIHRoaXMuX3RpY2tNYXJrc31wb2ludHMoKXtyZXR1cm4gdGhpcy5fcG9pbnRzfXdpZHRoKCl7cmV0dXJuIHRoaXMuX3dpZHRofXNldFdpZHRoKGUsdCl7aWYoIU51bWJlci5pc0Zpbml0ZShlKXx8ZTw9MClyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRXaWR0aDogaW52YWxpZCBhcmd1bWVudDogJHtlfWApO2lmKHRoaXMuX3dpZHRoPT09ZSlyZXR1cm47Y29uc3QgaT10aGlzLl91c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQudmFsdWUoKSYmdGhpcy5fcmlnaHRPZmZzZXQ+MD90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyh0aGlzLl9yaWdodE9mZnNldCk6LTEKO2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsKHR8fHRoaXMuX29wdGlvbnMubG9ja1Zpc2libGVUaW1lUmFuZ2VPblJlc2l6ZSkmJnRoaXMuX3dpZHRoKXtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmcqZS90aGlzLl93aWR0aDt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyx0KX1lbHNlIHRoaXMuX3dpZHRoJiZ0aGlzLnNldEJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyk7aWYobnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpLmZpcnN0QmFyKCk8PXRoaXMuX2xlZnRFZGdlSW5kZXgpe2NvbnN0IHQ9dGhpcy5fd2lkdGgtZTt0aGlzLl9yaWdodE9mZnNldC09TWF0aC5yb3VuZCh0L3RoaXMuX2JhclNwYWNpbmcpKzF9fXRoaXMuX3dpZHRoPWUsdGhpcy5fd2lkdGhDaGFuZ2VkLmZpcmUoZSk7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldDtpPjA/dGhpcy5fcmlnaHRPZmZzZXQ9dGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgoaSk6dGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2V0TGVmdEVkZ2VGaXgoZSl7dGhpcy5fbGVmdEVkZ2VJbmRleD1lO2NvbnN0IHQ9dGhpcy52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2NvbnN0IGk9dC5maXJzdEJhcigpLWU7aWYoaTwwKXtjb25zdCBlPXRoaXMuX3JpZ2h0T2Zmc2V0LWktMTt0aGlzLnNjcm9sbFRvT2Zmc2V0QW5pbWF0ZWQoZSw1MDApfX1wb3NpdGlvblBlcmNlbnRUb0Nvb3JkaW5hdGUoZSl7cmV0dXJuIHRoaXMud2lkdGgoKSplfWluZGV4VG9Db29yZGluYXRlKGUpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiAwO2NvbnN0IHQ9dGhpcy5iYXNlSW5kZXgoKSxpPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQodCt0aGlzLl9yaWdodE9mZnNldCsuNSktdGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChlKTtyZXR1cm4gdGhpcy5fd2lkdGgtaSp0aGlzLl9iYXJTcGFjaW5nfWluZGV4VG9Vc2VyVGltZShlKXtyZXR1cm4gdGhpcy5fdGlja01hcmtzLmluZGV4VG9UaW1lKGUpfXRpbWVQb2ludFRvSW5kZXgoZSx0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLl9wb2ludHMuaW5kZXhPZihlLCExKTtjYXNlIDE6cmV0dXJuIHRoaXMuX3BvaW50cy5jbG9zZXN0SW5kZXhMZWZ0KGUpO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX3BvaW50cy5pbmRleE9mKGUsITApfX1pbmRleFRvVGltZVBvaW50KGUpe3JldHVybiB0aGlzLl9wb2ludHMudmFsdWVBdChlKX10aW1lVG9Db29yZGluYXRlKGUpe2NvbnN0IHQ9dGhpcy5fcG9pbnRzLmNsb3Nlc3RJbmRleExlZnQoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BvaW50cy52YWx1ZUF0KHQpKSxzPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCk7aWYoczw9MHx8cz49dGhpcy5fd2lkdGgpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLmJhclNwYWNpbmcoKSxyPXRoaXMuYmFzZUluZGV4KCk7bGV0IG87bz0wPT09cj90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKCkvMWUzOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQocikpLSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoci0xKSk7Y29uc3QgYT1zKyhlLWkpL28qbisxO3JldHVybiBhPD0wfHxhPj10aGlzLl93aWR0aD9udWxsOmF9YmFyQm9yZGVycyhlKXtjb25zdCB0PXt0aW1lUG9pbnRJbmRleDplLGxlZnQ6TmFOLGNlbnRlcjpOYU4scmlnaHQ6TmFOfTtyZXR1cm4gdGhpcy5maWxsQmFyQm9yZGVycyhbdF0pLHR9ZmlsbEJhckJvcmRlcnMoZSx0LGkpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm47bGV0IHM9dD8uc3RhcnRJdGVtSW5kZXg/PzA7Y29uc3Qgbj0odD8uZW5kSXRlbUluZGV4Pz9lLmxlbmd0aCktMTtpZighMD09PWkmJihzPSgwLGcudXBwZXJib3VuZCkoZSxtYy5VTlBMT1RUQUJMRV9USU1FX1BPSU5UX0lOREVYLCgoZSx0KT0+ZTx0LnRpbWVQb2ludEluZGV4KSxzLG4rMSkpLHM+bilyZXR1cm47Y29uc3Qgcj10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG89dGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4UmFuZ2VUb1dlaWdodHMoZVtzXS50aW1lUG9pbnRJbmRleCxlW25dLnRpbWVQb2ludEluZGV4LHRoaXMuX3dlaWdodGVkUG9pbnRzQ2FjaGUpO2xldCBhPTAsYz1vW2FdO2NvbnN0IGg9YyxkPW9bby5sZW5ndGgtMV07bGV0IHU9TmFOLHA9TmFOLF89TmFOLG09ITA7Zm9yKGxldCB0PXM7dDw9bjt0Kz0xKXtjb25zdCBpPWVbdF07aWYoaS50aW1lUG9pbnRJbmRleDxoLnRpbWVQb2ludEluZGV4KXU9aC5sZWZ0LShoLnRpbWVQb2ludEluZGV4LWkudGltZVBvaW50SW5kZXgpLHA9dSsuNSxfPXUrMTtlbHNlIGlmKGkudGltZVBvaW50SW5kZXg+ZC50aW1lUG9pbnRJbmRleClfPWQucmlnaHQrKGkudGltZVBvaW50SW5kZXgtZC50aW1lUG9pbnRJbmRleCkscD1fLS41LHU9Xy0xO2Vsc2UgZm9yKG0mJih1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodCxtPSExKTtjLnRpbWVQb2ludEluZGV4PGkudGltZVBvaW50SW5kZXg7KWErPTEsKDAsbC5hc3NlcnQpKGE8by5sZW5ndGgsIkJhciBib3JkZXJzIGNvb3JkaW5hdGVzIGFyZSBub3QgY29ycmVjdCIpLGM9b1thXSx1PWMubGVmdCxwPWMuY2VudGVyLF89Yy5yaWdodDtpLmxlZnQ9dGhpcy5fd2lkdGgtKHItdSkqdGhpcy5fYmFyU3BhY2luZyxpLmNlbnRlcj10aGlzLl93aWR0aC0oci1wKSp0aGlzLl9iYXJTcGFjaW5nLGkucmlnaHQ9dGhpcy5fd2lkdGgtKHItXykqdGhpcy5fYmFyU3BhY2luZ319dGltZWRWYWx1ZXNUb0Nvb3JkaW5hdGVzKGUsdCxpKXsKY29uc3Qgcz10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KHRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUpLG49dD8uc3RhcnRJdGVtSW5kZXg/PzA7bGV0IHI9bjtjb25zdCBvPXQ/LmVuZEl0ZW1JbmRleD8/ZS5sZW5ndGg7ITA9PT1pJiYocj0oMCxnLnVwcGVyYm91bmQpKGUsbWMuVU5QTE9UVEFCTEVfVElNRV9QT0lOVF9JTkRFWCwoKGUsdCk9PmU8dC54KSxuLG8pKTtmb3IobGV0IHQ9cjt0PG87Kyt0KXtjb25zdCBpPWVbdF0sbj1zLXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQoaS54KTtpLng9dGhpcy5fd2lkdGgtbip0aGlzLl9iYXJTcGFjaW5nfWZvcihsZXQgdD1uO3Q8cjsrK3QpZVt0XS54PS01MDB9cmlnaHRPZmZzZXRGb3JUaW1lUG9pbnQoZSl7Y29uc3QgdD10aGlzLnRpbWVUb0Nvb3JkaW5hdGUoZSk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT0odC10aGlzLl9iYXNlSW5kZXhCYXJDZW50ZXJDb29yZGluYXRlKCkpL3RoaXMuX2JhclNwYWNpbmc7cmV0dXJuIHRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgoaSl9c2Nyb2xsVG9SZWFsdGltZShlLHQpe2xldCBpPXRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7aTwwJiYoaT10aGlzLnJpZ2h0T2Zmc2V0RGVmYXVsdFZhbHVlKCkpO2NvbnN0IHM9KCk9Pnt2b2lkIDAhPT10JiZ0KCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9O2lmKGUpe2NvbnN0IGU9dGhpcy5sb2dpY2FsUmFuZ2UoKSx0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWV8fG51bGw9PT10KXJldHVybjtjb25zdCBpPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUoZS5yaWdodCgpKy41KSxuPXRoaXMuaW5kZXhUb0Nvb3JkaW5hdGUodCt0aGlzLl9kZWZhdWx0UmlnaHRPZmZzZXQudmFsdWUoKSsuNSk7cmV0dXJuIHRoaXMuX21vZGVsLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx2b2lkIHRoaXMuX21vZGVsLnNldFRpbWVTY2FsZUFuaW1hdGlvbihuZXcgRm4oe2Zyb206MCx0bzppLW4sZHVyYXRpb246MWUzLGVhc2luZzpFbi5lYXNpbmdGdW5jLmVhc2VJbk91dFF1aW50LG9uRmluaXNoOnN9KSl9dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl91cGRhdGVSaWdodE9mZnNldChpKSx0aGlzLl9vblNjcm9sbC5maXJlKCkscygpfXNjcm9sbFRvRmlyc3RCYXIoZT0oKT0+e30pe3RoaXMuX21vZGVsLmdvdG9UaW1lKG5ldyBEYXRlKCIxODAwLTAxLTAxIikuZ2V0VGltZSgpKS50aGVuKGUpLHRoaXMuX29uU2Nyb2xsLmZpcmUoKX1zY3JvbGxUb09mZnNldEFuaW1hdGVkKGUsdCl7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgZmluaXRlIG51bWJlciIpO2NvbnN0IGk9dm9pZCAwPT09dD80MDA6dDtpZighaXNGaW5pdGUoaSl8fGk8PTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoImFuaW1hdGlvbkR1cmF0aW9uIChvcHRpb25hbCkgbXVzdCBiZSBmaW5pdGUgcG9zaXRpdmUgbnVtYmVyIik7Y29uc3Qgcz10aGlzLl9yaWdodE9mZnNldCxuPURhdGUubm93KCkscj0oKT0+e3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITA7Y29uc3QgdD0oRGF0ZS5ub3coKS1uKS9pO2lmKHQ+PTEpcmV0dXJuIHRoaXMuX3VwZGF0ZVJpZ2h0T2Zmc2V0KGUpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx2b2lkIHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz1zKyhlLXMpKnQ7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQobyksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSxzZXRUaW1lb3V0KHIsMjApfTtyKCl9ZGVmYXVsdFJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldH1yaWdodE9mZnNldERlZmF1bHRWYWx1ZSgpe3JldHVybiAxMH1kZWZhdWx0UmlnaHRPZmZzZXRQZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2V9dXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3VzZVBlcmNlbnRhZ2VSaWdodE9mZnNldH1iYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX2JhclNwYWNpbmd9YmFyU3BhY2luZ1NjYWxlUmF0aW8oKXtyZXR1cm4gbnVsbD09PXRoaXMuX3NuYXBzaG90QmFyU3BhY2luZz8xOnRoaXMuX2JhclNwYWNpbmcvdGhpcy5fc25hcHNob3RCYXJTcGFjaW5nfXNldEJhclNwYWNpbmcoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dXYXJuKGBzZXRCYXJTcGFjaW5nOiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7ZT10aGlzLmdldFZhbGlkQmFyU3BhY2luZyhlKTtjb25zdCB0PXRoaXMuX2JhclNwYWNpbmc+ZTt0aGlzLl90cnlUb1VwZGF0ZUJhclNwYWNpbmcodGhpcy5fYmFyU3BhY2luZyxlKSYmKHRoaXMuY29ycmVjdE9mZnNldCgpLHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nJiYoKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3NjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuYmFyU3BhY2luZy5zZXRWYWx1ZSh0aGlzLl9iYXJTcGFjaW5nKSwoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSkpLHRoaXMuX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0JiZ0aGlzLnJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKSl9YmFyU3BhY2luZ0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fYmFyU3BhY2luZ0NoYW5nZWR9Z2V0VmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBudWxsPT1lJiYoZT10aGlzLmJhclNwYWNpbmcoKSksZTx0aGlzLm1pbkJhclNwYWNpbmcoKT90aGlzLm1pbkJhclNwYWNpbmcoKTplPnRoaXMubWF4QmFyU3BhY2luZygpP3RoaXMubWF4QmFyU3BhY2luZygpOmV9CmlzVmFsaWRCYXJTcGFjaW5nKGUpe3JldHVybiBlPj10aGlzLm1pbkJhclNwYWNpbmcoKSYmZTw9dGhpcy5tYXhCYXJTcGFjaW5nKCl9cHJlc2VydmVCYXJTcGFjaW5nKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucHJlc2VydmVCYXJTcGFjaW5nfW5vcm1hbGl6ZUJhckluZGV4KGUpe2xldCB0PTAsaT0wO2NvbnN0IHM9dGhpcy5iYXNlSW5kZXgoKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleDtyZXR1cm4gZTxuPyh0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQobikpLGk9ZS1uKTplPnM/KHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb2ludHMudmFsdWVBdChzKSksaT1lLXMpOih0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcG9pbnRzLnZhbHVlQXQoZSkpLGk9MCkse3RpbWVfdDp0LG9mZnNldDppfX1kZW5vcm1hbGl6ZVRpbWVQb2ludChlKXtjb25zdCB0PXRoaXMuX3BvaW50cy5pbmRleE9mKGUudGltZV90LCExKTtpZihudWxsIT09dClyZXR1cm4gdCtlLm9mZnNldH1yaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl9yaWdodE9mZnNldH1yaWdodE9mZnNldENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkfW1pblJpZ2h0T2Zmc2V0KCl7Y29uc3QgZT10aGlzLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKT8uZmlyc3RJbmRleCx0PXRoaXMuX2Jhc2VJbmRleDtpZih2b2lkIDA9PT1lfHxudWxsPT09dClyZXR1cm4gbnVsbDtpZihudWxsIT09dGhpcy5fbGVmdEVkZ2VJbmRleCl7Y29uc3QgZT10aGlzLndpZHRoKCkvdGhpcy5fYmFyU3BhY2luZztyZXR1cm4gdGhpcy5fbGVmdEVkZ2VJbmRleC10K2UtMX1yZXR1cm4gZS10LTErWGN9bWF4UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy53aWR0aCgpL3RoaXMuX2JhclNwYWNpbmctWGN9bWF4UmlnaHRPZmZzZXRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX21heFJpZ2h0T2Zmc2V0Q2hhbmdlZH1vblJlc2V0KCl7cmV0dXJuIHRoaXMuX3Jlc2V0RGVsZWdhdGV9YmFzZUluZGV4KCl7cmV0dXJuIHRoaXMuX2Jhc2VJbmRleHx8MH16b29tKGUsdCxpKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHwhTnVtYmVyLmlzRmluaXRlKHQpKXJldHVybiB2b2lkIFpjLmxvZ1dhcm4oYHpvb206IGludmFsaWQgYXJndW1lbnRzOiAke2V9LCAke3R9LCAke2l9YCk7Y29uc3Qgcz10aGlzLnJpZ2h0T2Zmc2V0KCksbj12b2lkIDAhPT1pPyFpOnRoaXMuX29wdGlvbnMucmlnaHRCYXJTdGF5c09uU2Nyb2xsLHI9biYmdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpJiZzPj0wLG89cj90aGlzLmJhckluZGV4TGVuZ3RoVG9QZXJjZW50cyhzKTp2b2lkIDAsYT10aGlzLmNvb3JkaW5hdGVUb0luZGV4KGUpLGw9dGhpcy5iYXJTcGFjaW5nKCksYz1sK3QqKGwvMTApO3RoaXMuc2V0QmFyU3BhY2luZyhjKSxufHwodGhpcy5zdGFydFNjcm9sbCh0aGlzLmluZGV4VG9Db29yZGluYXRlKGEpKSx0aGlzLnNjcm9sbFRvKGUpLHRoaXMuZW5kU2Nyb2xsKCkpLHImJnZvaWQgMCE9PW8mJnRoaXMuc2V0UmlnaHRPZmZzZXQodGhpcy5wZXJjZW50c1RvQmFySW5kZXhMZW5ndGgobykpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfXpvb21Ub0JhcnNSYW5nZShlLHQpe2lmKG51bGwhPT10aGlzLl9sZWZ0RWRnZUluZGV4JiYoZT1NYXRoLm1heChlLHRoaXMuX2xlZnRFZGdlSW5kZXgpKSx0PGUpcmV0dXJuO2NvbnN0IGk9dGhpcy5iYXNlSW5kZXgoKSxzPXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PXQtaTtjb25zdCBuPWUtLjUscj10Ky41LG89TWF0aC5tYXgodGhpcy5fcG9pbnRXZWlnaHRzLmluZGV4VG9Ub3RhbFdlaWdodChyKS10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KG4pLFhjKTt0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpL28pLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT1zJiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fcmVxdWVzdE1vcmVEYXRhKCl9c2Nyb2xsVG9CYXIoZSl7bnVsbCE9PXRoaXMuX2xlZnRFZGdlSW5kZXgmJihlPU1hdGgubWF4KGUsdGhpcy5fbGVmdEVkZ2VJbmRleCkpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmxvZ2ljYWxSYW5nZSgpKS5sZW5ndGgoKStlLTE7dGhpcy5fcmlnaHRPZmZzZXQ9dC10aGlzLmJhc2VJbmRleCgpLHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXRDaGFuZ2VkLmZpcmUodGhpcy5fcmlnaHRPZmZzZXQpLHRoaXMuX3JlcXVlc3RNb3JlRGF0YSgpfWNvb3JkaW5hdGVUb0luZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKHRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKSl9Y29vcmRpbmF0ZVRvRmxvYXRJbmRleChlKXtjb25zdCB0PShlLXRoaXMuX2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKSkvdGhpcy5fYmFyU3BhY2luZyxpPXRoaXMuX3BvaW50V2VpZ2h0cy50b3RhbFdlaWdodFRvSW5kZXgodCk7cmV0dXJuIE1hdGgucm91bmQoMWU2KmkpLzFlNn1jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSl7bGV0IHQ9dGhpcy5jb29yZGluYXRlVG9JbmRleChlKTtjb25zdCBpPXRoaXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO3JldHVybiBudWxsPT09aXx8aS5jb250YWlucyh0KXx8KHQ9TWF0aC5taW4oTWF0aC5tYXgoaS5maXJzdEJhcigpLHQpLGkubGFzdEJhcigpKSksdH1jYW5ab29tSW4oKXtyZXR1cm4gdGhpcy5iYXJTcGFjaW5nKCk8dGhpcy5tYXhCYXJTcGFjaW5nKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLmJhclNwYWNpbmcoKT50aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWluQmFyU3BhY2luZygpe3JldHVybiB0aGlzLl9vcHRpb25zLm1pbkJhclNwYWNpbmd9bWF4QmFyU3BhY2luZygpe2NvbnN0IGU9dGhpcy53aWR0aCgpO3JldHVybiBLYz9lOmUvWGN9bWluVmlzaWJsZUJhckNvdW50KCl7CnJldHVybiBYY31yZXNldFJpZ2h0T2Zmc2V0KCl7dGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKX1yZXNldCgpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fcG9pbnRzLmNsZWFyKCksdGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX3NjYWxlU3RhcnRQb2ludD1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGlja01hcmtzLnJlc2V0KCksdGhpcy5fbGVmdEVkZ2VJbmRleD1udWxsLHRoaXMuX3Jlc2V0RGVsZWdhdGUuZmlyZSgpLHRoaXMuZGlzY29ubmVjdCgpfXJlc2V0QXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3Jlc2V0QXZhaWxhYmxlLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT0hMSx0aGlzLl9yZXF1ZXN0ZWRUaWNrbWFya3NDb3VudD0wLHRoaXMuX2VuZE9mRGF0YT0hMX1zZXRCYXNlSW5kZXgoZSl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm4gdm9pZCBaYy5sb2dEZWJ1Zyhgc2V0QmFzZUluZGV4OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCk7Y29uc3QgdD10aGlzLl9iYXNlSW5kZXghPT1lO3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fYmFzZUluZGV4PWUsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLl9iYXNlSW5kZXgpLHRoaXMuY29ycmVjdE9mZnNldCgpLHQmJih0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCkpfXJlc2V0QmFzZUluZGV4KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9iYXNlSW5kZXg9bnVsbH1zZXRSaWdodE9mZnNldChlKXtOdW1iZXIuaXNGaW5pdGUoZSk/KHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsdGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoZSkpOlpjLmxvZ1dhcm4oYHNldFJpZ2h0T2Zmc2V0OiBpbnZhbGlkIGFyZ3VtZW50OiAke2V9YCl9Y29ycmVjdEJhclNwYWNpbmcoKXt0aGlzLmlzRW1wdHkoKXx8dGhpcy5wb2ludHMoKS5zaXplKCk8dGhpcy53aWR0aCgpL3RoaXMuYmFyU3BhY2luZygpJiYodGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnRhcmdldERlZmF1bHRSaWdodE9mZnNldCgpKSx0aGlzLnNldEJhclNwYWNpbmcodGhpcy53aWR0aCgpLyh0aGlzLnBvaW50cygpLnNpemUoKSt0aGlzLnJpZ2h0T2Zmc2V0KCkpKSl9c2V0VGltZVBvaW50V2VpZ2h0cyhlKXt0aGlzLl93ZWlnaHRlZFBvaW50c0NhY2hlPVtdLHRoaXMuX3BvaW50V2VpZ2h0cz1lPz9uZXcgR2MsdGhpcy5fcG9pbnRXZWlnaHRzLnNldEJhc2VJbmRleCh0aGlzLmJhc2VJbmRleCgpKSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwfWNvcnJlY3RPZmZzZXQoKXtjb25zdCBlPXRoaXMubWF4UmlnaHRPZmZzZXQoKTt0aGlzLl9yaWdodE9mZnNldD5lJiYodGhpcy5fcmlnaHRPZmZzZXQ9ZSx0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwKTtjb25zdCB0PXRoaXMubWluUmlnaHRPZmZzZXQoKTtudWxsIT09dCYmdGhpcy5fcmlnaHRPZmZzZXQ8dCYmKHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCl9bG9naWNhbFJhbmdlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSExLHRoaXMuX3VwZGF0ZVZpc2libGVCYXJzKCkpLHRoaXMuX3Zpc2libGVCYXJzLmxvZ2ljYWxSYW5nZSgpfXJlc3RvcmVEZWZhdWx0KCl7dGhpcy5fdmlzaWJsZUJhcnNJbnZhbGlkYXRlZD0hMCx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMDtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO3RoaXMuc2V0QmFyU3BhY2luZyg2KSx0aGlzLnJlc2V0UmlnaHRPZmZzZXQoKSx0aGlzLl9sb2NrQmFyc0FuZExvZ2ljYWxSYW5nZUV2ZW50cz0hMSx0aGlzLl9maXJlVmlzaWJsZUJhcnNDaGFuZ2VkSWZSZXF1aXJlZChlLHRoaXMuX3Zpc2libGVCYXJzKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1zdGFydFNjYWxlKGUpe3RoaXMuX3Njcm9sbERhdGEmJnRoaXMuZW5kU2Nyb2xsKCksbnVsbD09PXRoaXMuX3NjYWxlU3RhcnRQb2ludCYmbnVsbD09PXRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlJiYodGhpcy5pc0VtcHR5KCl8fCh0aGlzLl9zY2FsZVN0YXJ0UG9pbnQ9ZSx0aGlzLl9zYXZlQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCkpKX1zY2FsZVRvKGUpe2lmKG51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSlyZXR1cm47Y29uc3QgdD0oMCxiaS5jbGFtcCkodGhpcy5fd2lkdGgtZSwwLHRoaXMuX3dpZHRoKSxpPSgwLGJpLmNsYW1wKSh0aGlzLl93aWR0aC0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlU3RhcnRQb2ludCksMCx0aGlzLl93aWR0aCk7aWYoMD09PXR8fDA9PT1pKXJldHVybjtjb25zdCBzPXRoaXMuYmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKHRoaXMucmlnaHRPZmZzZXQoKSk7dGhpcy5zZXRCYXJTcGFjaW5nKHRoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlLmJhclNwYWNpbmcqdC9pKSx0aGlzLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCkmJnRoaXMucmlnaHRPZmZzZXQoKT49MCYmdGhpcy5zZXRSaWdodE9mZnNldCh0aGlzLnBlcmNlbnRzVG9CYXJJbmRleExlbmd0aChzKSl9ZW5kU2NhbGUoKXtudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50JiYodGhpcy5fc2NhbGVTdGFydFBvaW50PW51bGwsdGhpcy5fY2xlYXJDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSx0aGlzLl9yZXF1ZXN0TW9yZURhdGEoKSl9c3RhcnRTY3JvbGwoZSl7bnVsbD09PXRoaXMuX3Njcm9sbERhdGEmJm51bGw9PT10aGlzLl9jb21tb25UcmFuc2l0aW9uU3RhcnRTdGF0ZSYmKHRoaXMuaXNFbXB0eSgpfHwodGhpcy5fc2Nyb2xsRGF0YT17c3RhcnRDb29yZGluYXRlOmUsCnN0YXJ0UmlnaHRFZGdlTG9naWNhbDp0aGlzLmJhc2VJbmRleCgpK3RoaXMuX3JpZ2h0T2Zmc2V0Ky41LHN0YXJ0QmFzZUluZGV4OnRoaXMuYmFzZUluZGV4KCl9LHRoaXMuX3NhdmVDb21tb25UcmFuc2l0aW9uc1N0YXJ0U3RhdGUoKSkpfXNjcm9sbFRvKGUpe2lmKHRoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITAsbnVsbD09PXRoaXMuX3Njcm9sbERhdGEpcmV0dXJuO2NvbnN0e3N0YXJ0Q29vcmRpbmF0ZTp0LHN0YXJ0UmlnaHRFZGdlTG9naWNhbDppLHN0YXJ0QmFzZUluZGV4OnN9PXRoaXMuX3Njcm9sbERhdGEsbj1lLXQscj1pKyh0aGlzLmJhc2VJbmRleCgpLXMpLG89dGhpcy5pbmRleFRvQ29vcmRpbmF0ZShyKSxhPXRoaXMuY29vcmRpbmF0ZVRvRmxvYXRJbmRleChvLW4pLS41LXRoaXMuYmFzZUluZGV4KCk7dGhpcy5fdXBkYXRlUmlnaHRPZmZzZXQoYSksdGhpcy5fb25TY3JvbGwuZmlyZSgpfWVuZFNjcm9sbCgpe251bGwhPT10aGlzLl9zY3JvbGxEYXRhJiYodGhpcy5fc2Nyb2xsRGF0YT1udWxsLHRoaXMuX2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCksdGhpcy5fdGhyb3R0bGVSZXF1ZXN0TW9yZURhdGFPblNjcm9sbCgpKX1pc0JlaW5nU2Nyb2xsZWQoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3Njcm9sbERhdGF9aXNCZWluZ1NjYWxlZCgpe3JldHVybiBudWxsIT09dGhpcy5fc2NhbGVTdGFydFBvaW50fW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfWludmFsaWRhdGVWaXNpYmxlQmFycygpe3RoaXMuX3Zpc2libGVCYXJzSW52YWxpZGF0ZWQ9ITB9b25UaW1lU2NhbGVDb21wbGV0ZWQoZSl7aWYodGhpcy5fcmVxdWVzdGluZ01vcmVEYXRhPSExLHRoaXMuX2VuZE9mRGF0YT1lLCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZpeF9sZWZ0X2VkZ2UiKSYmdGhpcy5fZW5kT2ZEYXRhKXtjb25zdCBlPXRoaXMuX3BvaW50cy5yYW5nZSgpLnZhbHVlKCk/LmZpcnN0SW5kZXg7dm9pZCAwIT09ZSYmdGhpcy5zZXRMZWZ0RWRnZUZpeChlKX10aGlzLl9yZXF1ZXN0TW9yZURhdGEoKX1yZXF1ZXN0TW9yZUhpc3RvcnlQb2ludHMoZSl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YShlKX10YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKXtyZXR1cm4gdGhpcy51c2VQZXJjZW50YWdlUmlnaHRPZmZzZXQoKS52YWx1ZSgpP3RoaXMucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKSk6dGhpcy5fZGVmYXVsdFJpZ2h0T2Zmc2V0LnZhbHVlKCl9cGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKGUpe3JldHVybi4wMSplKnRoaXMuX3dpZHRoL3RoaXMuX2JhclNwYWNpbmd9YmFySW5kZXhMZW5ndGhUb1BlcmNlbnRzKGUpe3JldHVybiAxMDAqZSp0aGlzLl9iYXJTcGFjaW5nL3RoaXMuX3dpZHRofXJlcXVlc3RIaXN0b3J5UG9pbnRzSWZOZWVkZWQoKXt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucmVxdWVzdE1vcmVEYXRhKCl9X3JlcXVlc3RNb3JlRGF0YSgpe3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5yZXF1ZXN0TW9yZURhdGEoKX1fcmVxdWVzdEZ1dHVyZVRpY2ttYXJrc0lmTmVlZGVkKCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnJlcXVlc3RNb3JlRGF0YSgpfV9yZXF1ZXN0SGlzdG9yeVBvaW50cyhlKXt0aGlzLl9tb2RlbC5jaGFydEFwaSgpLmlzQ29ubmVjdGVkKCkudmFsdWUoKSYmKHRoaXMuX3JlcXVlc3RpbmdNb3JlRGF0YT9aYy5sb2dOb3JtYWwoIlNraXBwaW5nIGxvYWRpbmcgbW9yZSBkYXRhIGR1ZSBhY3RpdmUgbG9hZGluZyIpOih0aGlzLl9yZXF1ZXN0aW5nTW9yZURhdGE9ITAsdGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5yZXF1ZXN0TW9yZURhdGEoZSkpKX1fdXBkYXRlVmlzaWJsZUJhcnMoKXtjb25zdCBlPXRoaXMuX3Zpc2libGVCYXJzO2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiB2b2lkKHRoaXMuX3Zpc2libGVCYXJzLmlzVmFsaWQoKSYmKHRoaXMuX3Zpc2libGVCYXJzPWZjLmludmFsaWQoKSx0aGlzLl92aXNpYmxlQmFyc0NoYW5nZWQuZmlyZShudWxsLGUuc3RyaWN0UmFuZ2UoKSksdGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKG51bGwsZS5sb2dpY2FsUmFuZ2UoKSkpKTtjb25zdCB0PXRoaXMud2lkdGgoKS90aGlzLmJhclNwYWNpbmcoKSxpPXRoaXMuYmFzZUluZGV4KCkscz1pK3RoaXMuX3JpZ2h0T2Zmc2V0LG49cysuNSxyPXRoaXMuX3BvaW50V2VpZ2h0cy5pbmRleFRvVG90YWxXZWlnaHQobiktdCxvPU1hdGgubWluKG4tMSx0aGlzLl9wb2ludFdlaWdodHMudG90YWxXZWlnaHRUb0luZGV4KHIpKSsuNTtOdW1iZXIuaXNGaW5pdGUobykmJk51bWJlci5pc0Zpbml0ZShzKT8odGhpcy5fdmlzaWJsZUJhcnM9bmV3IGZjKG5ldyBkYy5Mb2dpY2FsUmFuZ2UobyxzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3R5bGUoKSksdGhpcy5fbG9ja0JhcnNBbmRMb2dpY2FsUmFuZ2VFdmVudHN8fHRoaXMuX2ZpcmVWaXNpYmxlQmFyc0NoYW5nZWRJZlJlcXVpcmVkKGUsdGhpcy5fdmlzaWJsZUJhcnMpKTpaYy5sb2dXYXJuKGB1cGRhdGVWaXNpYmxlQmFycyBlcnJvcjogYmFzZUluZGV4OiAke2l9LCBiYXJTcGFjaW5nOiAke3RoaXMuX2JhclNwYWNpbmd9LCByaWdodE9mZnNldDogJHt0aGlzLl9yaWdodE9mZnNldH1gKX1fZmlyZVZpc2libGVCYXJzQ2hhbmdlZElmUmVxdWlyZWQoZSx0KXtoYy5CYXJzUmFuZ2UuY29tcGFyZShlLnN0cmljdFJhbmdlKCksdC5zdHJpY3RSYW5nZSgpKXx8dGhpcy5fdmlzaWJsZUJhcnNDaGFuZ2VkLmZpcmUodC5zdHJpY3RSYW5nZSgpLGUuc3RyaWN0UmFuZ2UoKSksZGMuTG9naWNhbFJhbmdlLmNvbXBhcmUoZS5sb2dpY2FsUmFuZ2UoKSx0LmxvZ2ljYWxSYW5nZSgpKXx8dGhpcy5fbG9naWNhbFJhbmdlQ2hhbmdlZC5maXJlKHQubG9naWNhbFJhbmdlKCksZS5sb2dpY2FsUmFuZ2UoKSl9X2Jhc2VJbmRleEJhckNlbnRlckNvb3JkaW5hdGUoKXtjb25zdCBlPXRoaXMuYmFzZUluZGV4KCkrdGhpcy5fcmlnaHRPZmZzZXQrLjUsdD10aGlzLl9wb2ludFdlaWdodHMuaW5kZXhUb1RvdGFsV2VpZ2h0KGUpCjtyZXR1cm4gdGhpcy5fd2lkdGgtdCp0aGlzLl9iYXJTcGFjaW5nfV90cnlUb1VwZGF0ZUJhclNwYWNpbmcoZSx0KXtyZXR1cm4gZSE9PXQmJih0aGlzLl92aXNpYmxlQmFyc0ludmFsaWRhdGVkPSEwLHRoaXMuX2JhclNwYWNpbmc9dCx0aGlzLl9iYXJTcGFjaW5nQ2hhbmdlZC5maXJlKHQpLCEwKX1fc2F2ZUNvbW1vblRyYW5zaXRpb25zU3RhcnRTdGF0ZSgpe3RoaXMuX2NvbW1vblRyYW5zaXRpb25TdGFydFN0YXRlPXtiYXJTcGFjaW5nOnRoaXMuYmFyU3BhY2luZygpLHJpZ2h0T2Zmc2V0OnRoaXMucmlnaHRPZmZzZXQoKX19X2NsZWFyQ29tbW9uVHJhbnNpdGlvbnNTdGFydFN0YXRlKCl7dGhpcy5fY29tbW9uVHJhbnNpdGlvblN0YXJ0U3RhdGU9bnVsbH1fbWF4UmlnaHRPZmZzZXRPbkNoYW5nZWQoKXt0aGlzLl9tYXhSaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLm1heFJpZ2h0T2Zmc2V0KCkpfV91cGRhdGVSaWdodE9mZnNldChlKXtjb25zdCB0PXRoaXMuX3JpZ2h0T2Zmc2V0O3RoaXMuX3JpZ2h0T2Zmc2V0PWUsdGhpcy5jb3JyZWN0T2Zmc2V0KCksdGhpcy5fcmlnaHRPZmZzZXQhPT10JiZ0aGlzLl9yaWdodE9mZnNldENoYW5nZWQuZmlyZSh0aGlzLl9yaWdodE9mZnNldCksdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfV9kZWZhdWx0UmlnaHRPZmZzZXRPcHRpb25zVXBkYXRlZCgpe3RoaXMucmlnaHRPZmZzZXQoKTt0aGlzLnNldFJpZ2h0T2Zmc2V0KHRoaXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCkpLHRoaXMuX3VwZGF0ZVJlc2V0QXZhaWxhYmxlVmFsdWUoKSx0aGlzLl9sYXN0RGVmYXVsdFJpZ2h0T2Zmc2V0PXRoaXMuX2RlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UudmFsdWUoKX1fdXBkYXRlUmVzZXRBdmFpbGFibGVWYWx1ZSgpe3RoaXMuX3Jlc2V0QXZhaWxhYmxlLnNldFZhbHVlKDYhPT10aGlzLmJhclNwYWNpbmcoKXx8dGhpcy5yaWdodE9mZnNldCgpIT09dGhpcy50YXJnZXREZWZhdWx0UmlnaHRPZmZzZXQoKSl9fXZhciBlaD1pKDgyNjE1NiksdGg9aSg2MjQ2NzgpLGloPWkoNDYyNTg5KTtjbGFzcyBzaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JvdXBzPVtdLHRoaXMuX2dyb3Vwcz1lfHxbXSx0aGlzLl9ncm91cHMuZm9yRWFjaCgoZT0+e2Uub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKHQ9PnRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQsdCkpKX0pKX1kZXN0cm95KCl7dGhpcy5fZ3JvdXBzLmZvckVhY2goKGU9PmUub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcykpKSx0aGlzLl9ncm91cHMubGVuZ3RoPTB9Z3JvdXBzKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9Pm51bGw9PT1lLnBhcmVudEdyb3VwKCkmJmUuaXNBY3R1YWxTeW1ib2woKSkpfWdyb3Vwc0ZvckFsbFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+bnVsbD09PWUucGFyZW50R3JvdXAoKSkpfWNyZWF0ZUdyb3VwKGUsdCxpKXt0PXR8fHRoaXMuX2dlbmVyYXRlTmV4dE5hbWUoKTtjb25zdCBzPWUubGVuZ3RoPjA/dGhpcy5fcGFyZW50R3JvdXBGb3JJdGVtKGVbMF0pOm51bGw7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLl9wYXJlbnRHcm91cEZvckl0ZW0odCk7bnVsbCE9PWUmJmUuZXhjbHVkZUl0ZW0odCl9Y29uc3Qgbj1uZXcgaW8oZSx0LGkpO3RoaXMuX2dyb3Vwcy5wdXNoKG4pLG4ub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX29uQ2hhbmdlZC5maXJlKG4uaWQsZSkpKSxudWxsIT09cyYmcy5hZGRJdGVtcyhbbl0pO2NvbnN0IHI9W107ZS5mb3JFYWNoKChlPT57KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/dG8oZSxyKTpyLnB1c2goZS5pZCgpKX0pKTtjb25zdCBvPXt2aXNpYmlsaXR5Q2hhbmdlZDohMSxsb2NrZWRDaGFuZ2VkOiExLGlzQWN0dWFsSW50ZXJ2YWxDaGFuZ2VkOiExLGFmZmVjdGVkTGluZVRvb2xzOnJ9O3JldHVybiB0aGlzLl9vbkNoYW5nZWQuZmlyZShuLmlkLG8pLHRoaXMuX3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpLG59YWRkR3JvdXAoZSl7dGhpcy5fZ3JvdXBzLnB1c2goZSksZS5vbkNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywodD0+dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCx0KSkpLHRoaXMuX29uQ2hhbmdlZC5maXJlKGUuaWQpfXJlbW92ZUdyb3VwKGUpe2Uub25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgdD1lLnBhcmVudEdyb3VwKCk7bnVsbCE9PXQmJnQuZXhjbHVkZUl0ZW0oZSk7Y29uc3QgaT1lLnN1Ymdyb3VwcygpO2kubGVuZ3RoPjAmJmUuZXhjbHVkZUl0ZW1zKGkpO2NvbnN0IHM9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgodD0+dC5pZD09PWUuaWQpKTstMSE9PXMmJnRoaXMuX2dyb3Vwcy5zcGxpY2UocywxKSx0aGlzLl9vbkNoYW5nZWQuZmlyZShlLmlkKX1ncm91cEZvcklkKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5pZD09PWUpKXx8bnVsbH1ncm91cEZvckxpbmVUb29sKGUpe3JldHVybiB0aGlzLl9ncm91cHMuZmluZCgodD0+dC5jb250YWluc0l0ZW0oZSkpKXx8bnVsbH1yZW1vdmVMaW5lVG9vbHMoZSl7Y29uc3QgdD1uZXcgU2V0O3JldHVybiB0aGlzLl9ncm91cHMuZm9yRWFjaCgoaT0+e2NvbnN0IHM9ZS5maWx0ZXIoKGU9PmkuY29udGFpbnNJdGVtKGUpKSk7cy5sZW5ndGgmJihpLmV4Y2x1ZGVJdGVtcyhzKSx0LmFkZChpLmlkKSl9KSksdGhpcy5fcmVtb3ZlRW1wdHlHcm91cHNDYXNjYWRlKCksQXJyYXkuZnJvbSh0KX1zdGF0ZShlKXtyZXR1cm57Z3JvdXBzOihlP3RoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpOnRoaXMuX2dyb3VwcykubWFwKChlPT5lLnN0YXRlKCkpKX19b25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlZH1maXJlQ2hhbmdlZEFsbCgpe3RoaXMuX2dyb3Vwcy5mb3JFYWNoKChlPT57dGhpcy5fb25DaGFuZ2VkLmZpcmUoZS5pZCl9KSl9c3RhdGljIGZyb21TdGF0ZShlLHQpe2NvbnN0IGk9W10KO2Zvcihjb25zdCBzIG9mIHQuZ3JvdXBzKXtjb25zdCB0PWlvLmZyb21TdGF0ZShlLHMpO251bGwhPT10JiZpLnB1c2godCl9cmV0dXJuIG5ldyBzaChpKX1fcGFyZW50R3JvdXBGb3JJdGVtKGUpe3JldHVybigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2UucGFyZW50R3JvdXAoKTp0aGlzLmdyb3VwRm9yTGluZVRvb2woZSl9X3JlbW92ZUVtcHR5R3JvdXBzQ2FzY2FkZSgpe2xldCBlPSEwO2Zvcig7ZTspe2NvbnN0IHQ9dGhpcy5fZ3JvdXBzLmZpbHRlcigoZT0+MD09PWUubGluZVRvb2xzKCkubGVuZ3RoJiYwPT09ZS5zdWJncm91cHMoKS5sZW5ndGgpKTtlPXQubGVuZ3RoPjAsdC5mb3JFYWNoKChlPT50aGlzLnJlbW92ZUdyb3VwKGUpKSl9fV9nZW5lcmF0ZU5leHROYW1lKCl7Y29uc3QgZT1uZXcgU2V0KHRoaXMuX2dyb3Vwcy5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSkpLm1hcCgoZT0+ZS5uYW1lKCkudmFsdWUoKSkpKTtmb3IobGV0IHQ9MTs7dCsrKXtjb25zdCBpPWBHcm91cCAke3R9YCxzPWBHcm91cF8ke3R9YDtpZighZS5oYXMoaSkmJiFlLmhhcyhzKSlyZXR1cm4gaX19fXZhciBuaD1pKDY0MjcxOSkscmg9aSg3NzE3OTUpO2Z1bmN0aW9uIG9oKGUpe3JldHVybiBCb29sZWFuKGUuc2Vzc2lvbi50aW1lem9uZSkmJkJvb2xlYW4oZS5zZXNzaW9uLnNwZWMpfWNsYXNzIGFoe2NvbnN0cnVjdG9yKGUsdCl7dmFyIGksczt0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyPW51bGwsdGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl9zb3VyY2U9ZSx0aGlzLl90YXJnZXQ9dCx0aGlzLl9zb3VyY2VTZXNzaW9uPW5oLlNlc3Npb25JbmZvLmZyb21TdGF0ZShlLnNlc3Npb24pLHRoaXMuX3RhcmdldFNlc3Npb249bmguU2Vzc2lvbkluZm8uZnJvbVN0YXRlKHQuc2Vzc2lvbiksdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZT14LkludGVydmFsLmlzRXF1YWwoZS5yZXNvbHV0aW9uLHQucmVzb2x1dGlvbil8fHguSW50ZXJ2YWwuaXNUaWNrcyhlLnJlc29sdXRpb24pJiZ4LkludGVydmFsLmlzVGlja3ModC5yZXNvbHV0aW9uKSx0aGlzLl9pc1Nlc3Npb25UaGVTYW1lPShpPWUuc2Vzc2lvbixzPXQuc2Vzc2lvbixpLnRpbWV6b25lPT09cy50aW1lem9uZSYmaS5zcGVjPT09cy5zcGVjJiZpLmhvbGlkYXlzPT09cy5ob2xpZGF5cyYmaS5jb3JyZWN0aW9ucz09PXMuY29ycmVjdGlvbnMpfXNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZSl7aWYodGhpcy5faXNTZXNzaW9uVGhlU2FtZSYmdGhpcy5faXNSZXNvbHV0aW9uVGhlU2FtZSlyZXR1cm4gZTtpZighb2godGhpcy5fc291cmNlKXx8IW9oKHRoaXMuX3RhcmdldCkpcmV0dXJuIGU7bGV0IHQ9dGhpcy5fY2FjaGUuZ2V0KGUpO2lmKHZvaWQgMD09PXQpe2NvbnN0IGk9MWUzKmUscz10aGlzLl9zb3VyY2VUYXJnZXRCdWlsZGVyKCk7cy5tb3ZlVG8oaSk7Y29uc3Qgbj1zLmluZGV4T2ZCYXIoaSk7dD1zLnN0YXJ0T2ZCYXIoTWF0aC5tYXgoMCxuKSkvMWUzLHRoaXMuX2NhY2hlLnNldChlLHQpfXJldHVybiB0fV9zb3VyY2VUYXJnZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PT10aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyJiYodGhpcy5fc291cmNlVGFyZ2V0QmFyQnVpbGRlcj0oMCxyaC5uZXdCYXJCdWlsZGVyKSh0aGlzLl90YXJnZXQucmVzb2x1dGlvbix0aGlzLl90YXJnZXRTZXNzaW9uLHRoaXMuX3NvdXJjZVNlc3Npb24pKSx0aGlzLl9zb3VyY2VUYXJnZXRCYXJCdWlsZGVyfX12YXIgbGg9aSg0Njk4NzYpO2NvbnN0IGNoPSIjMDAwMDAwIjthc3luYyBmdW5jdGlvbiBoaChlKXsoYXdhaXQoMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKSkuaW52b2tlQWxlcnRFZGl0b3IoZSl9Y2xhc3MgZGh7Y29uc3RydWN0b3IoZSl7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZD1uZXcgTWFwLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0PW5ldyBNYXAsdGhpcy5fY2hhcnRNb2RlbD1lfWRlc3Ryb3koKXt0aGlzLnJlbW92ZUFsbEFsZXJ0TGFiZWxzKCl9cmVtb3ZlQWxsQWxlcnRMYWJlbHMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2U7dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZT1uZXcgTWFwLHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5jbGVhcigpLHRoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmNsZWFyKCksdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmNsZWFyKCksZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlbW92ZVNvdXJjZShlKSkpfSkpfXJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpdGhpcy5fcmVtb3ZlQWxlcnRMYWJlbCh0KTtpZigoMCxmbC5pc1NlcmllcykoZSkpe2NvbnN0IHQ9ZS5hY3RpdmVTdHVkeUJpbmRpbmcoKTt0JiZ0aGlzLnJlbW92ZVNvdXJjZUFsZXJ0TGFiZWxzKHQpfX1zeW5jU291cmNlQWxlcnRMYWJlbHMoZSl7aWYoISgwLEhzLmlzUHJpY2VEYXRhU291cmNlKShlKXx8IWUuaGFzU3RhdGVGb3JBbGVydCgpKXJldHVybjtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXQuYWxlcnRPd25lclNvdXJjZSgpLmlkRm9yQWxlcnQoKT09PXQuYWxlcnRTZXJpZXNJZCgpfHx0LmFsZXJ0KCkuaXNPSExDKCl8fHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCk7Y29uc3QgdD10aGlzLl9hbGVydHNCeUFsZXJ0U2VyaWVzSWQuZ2V0KGUuaWRGb3JBbGVydCgpKSxpPXRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSk7dm9pZCAwIT09dCYmdC5mb3JFYWNoKChlPT57aS5zb21lKCh0PT50LmFsZXJ0KCk9PT1lKSl8fHRoaXMuX3VwZGF0ZUFsZXJ0TGFiZWxzQnlBbGVydChlLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuZ2V0KGUpKSl9KSkKO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoZSkpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2dldEFsZXJ0TGFiZWxzQnlTb3VyY2UoZSkpe2NvbnN0IGk9dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHQpO2khPT1zPyhudWxsIT09aSYmaS5yZW1vdmVEYXRhU291cmNlKHQpLHMuYWRkRGF0YVNvdXJjZSh0LCgwLGwuZW5zdXJlTm90TnVsbCkoZS5wcmljZVNjYWxlKCkpLCExKSk6ZS5wcmljZVNjYWxlKCkhPT10LnByaWNlU2NhbGUoKSYmcy5tb3ZlKHQsKDAsbC5lbnN1cmVOb3ROdWxsKShlLnByaWNlU2NhbGUoKSkpfWlmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHQpfX1kZXRhY2hTb3VyY2VBbGVydExhYmVscyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9nZXRBbGVydExhYmVsc0J5U291cmNlKGUpKXRoaXMuX2NoYXJ0TW9kZWwuZGV0YWNoU291cmNlKHQpO2lmKCgwLGZsLmlzU2VyaWVzKShlKSl7Y29uc3QgdD1lLmFjdGl2ZVN0dWR5QmluZGluZygpO3QmJnRoaXMuZGV0YWNoU291cmNlQWxlcnRMYWJlbHModCl9fWFkZEFsZXJ0KGUsdCl7KDAsbC5hc3NlcnQpKCF0aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5oYXMoZSksIkFsZXJ0IGlzIGFscmVhZHkgYWRkZWQgb24gdGhlIGNoYXJ0IiksdGhpcy5fYWxlcnRTZXJpZXNJZEJ5QWxlcnQuc2V0KGUsdCk7bGV0IGk9dGhpcy5fYWxlcnRzQnlBbGVydFNlcmllc0lkLmdldCh0KTt2b2lkIDA9PT1pJiYoaT1uZXcgU2V0LHRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5zZXQodCxpKSksaS5hZGQoZSksdGhpcy5fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl9aXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHQpe2NvbnN0IGk9dGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LmdldChlKTtpZih2b2lkIDA9PT1pKXJldHVybiExO2NvbnN0IHM9bmV3IFNldCh0KTtmb3IoY29uc3QgZSBvZiBpKWlmKHMuaGFzKGUpKXJldHVybiEwO3JldHVybiExfXJlbW92ZUFsZXJ0KGUpe2NvbnN0IHQ9dGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LmdldChlKTt2b2lkIDAhPT10JiZ0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJmkuZm9yRWFjaCgodD0+e3QuYWxlcnQoKT09PWUmJnRoaXMuX3JlbW92ZUFsZXJ0TGFiZWwodCl9KSl9KSk7Y29uc3QgaT10aGlzLl9hbGVydFNlcmllc0lkQnlBbGVydC5nZXQoZSk7aWYoIWkpcmV0dXJuO3RoaXMuX2FsZXJ0U2VyaWVzSWRCeUFsZXJ0LmRlbGV0ZShlKTtjb25zdCBzPXRoaXMuX2FsZXJ0c0J5QWxlcnRTZXJpZXNJZC5nZXQoaSk7dm9pZCAwIT09cyYmcy5kZWxldGUoZSl9X3JlbW92ZUFsZXJ0TGFiZWwoZSl7Y29uc3QgdD1lLmFsZXJ0T3duZXJTb3VyY2UoKSxpPXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KHQpO3ZvaWQgMCE9PWkmJihpLmRlbGV0ZShlKSwwPT09aS5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLmRlbGV0ZSh0KSk7Y29uc3Qgcz1lLmFsZXJ0KCksbj10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KHMpO3ZvaWQgMCE9PW4mJihuLmRlbGV0ZShlKSwwPT09bi5zaXplJiZ0aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZGVsZXRlKHMpKTtjb25zdCByPXRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5nZXQocyk7dm9pZCAwIT09ciYmKHIuZGVsZXRlKHQpLDA9PT1yLnNpemUmJnRoaXMuX2FsZXJ0TGFiZWxzT3duZXJTb3VyY2VzQnlBbGVydC5kZWxldGUocykpLHRoaXMuX2NoYXJ0TW9kZWwucmVtb3ZlU291cmNlKGUpfV9maW5kUGFuZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgaSBvZiB0aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkpe2NvbnN0IHM9aS5wcmljZURhdGFTb3VyY2VzKCksbj1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIHMpaWYodC5oYXNTdGF0ZUZvckFsZXJ0KCkmJnQuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQodCksKDAsZmwuaXNTZXJpZXMpKHQpKXtjb25zdCBpPXQuYWN0aXZlU3R1ZHlCaW5kaW5nKCk7aSYmaS5oYXNTdGF0ZUZvckFsZXJ0KCkmJmkuaWRGb3JBbGVydCgpPT09ZSYmbi5hZGQoaSl9bi5zaXplPjAmJnQucHVzaCh7cGFuZTppLHNvdXJjZXM6bn0pfXJldHVybiB0fV9hZGRMYWJlbFRvUGFuZShlLHQsaSxzKXtjb25zdCBuPW5ldyBxaS5BbGVydExhYmVsKHRoaXMuX2NoYXJ0TW9kZWwsZSxzLGhoKTtpLmFkZERhdGFTb3VyY2UobixzLnByaWNlU2NhbGUoKSwhMSk7bGV0IHI9dGhpcy5fYWxlcnRMYWJlbHNCeVNvdXJjZS5nZXQocyk7dm9pZCAwPT09ciYmKHI9bmV3IFNldCx0aGlzLl9hbGVydExhYmVsc0J5U291cmNlLnNldChzLHIpKSxyLmFkZChuKTtsZXQgbz10aGlzLl9hbGVydExhYmVsc093bmVyU291cmNlc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PW8mJihvPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNPd25lclNvdXJjZXNCeUFsZXJ0LnNldChlLG8pKSxvLmFkZChzKTtsZXQgYT10aGlzLl9hbGVydExhYmVsc0J5QWxlcnQuZ2V0KGUpO3ZvaWQgMD09PWEmJihhPW5ldyBTZXQsdGhpcy5fYWxlcnRMYWJlbHNCeUFsZXJ0LnNldChlLGEpKSxhLmFkZChuKX1fdXBkYXRlQWxlcnRMYWJlbHNCeUFsZXJ0KGUsdCl7Y29uc3QgaT10aGlzLl9maW5kUGFuZXModCk7aWYoaS5sZW5ndGgpZm9yKGNvbnN0IHMgb2YgaSlzLnNvdXJjZXMuZm9yRWFjaCgoaT0+dGhpcy5fYWRkTGFiZWxUb1BhbmUoZSx0LHMucGFuZSxpKSkpO2Vsc2UgaWYoZS5pc09ITEMoKSl7Y29uc3QgaT10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9hZGRMYWJlbFRvUGFuZShlLHQsKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLGkpfXRoaXMuX2NoYXJ0TW9kZWwubGlnaHRVcGRhdGUoKX1fZ2V0QWxlcnRMYWJlbHNCeVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2FsZXJ0TGFiZWxzQnlTb3VyY2UuZ2V0KGUpCjtyZXR1cm4gdm9pZCAwPT09dD9bXTpBcnJheS5mcm9tKHQpfX12YXIgdWg9aSg0ODc4MjApLHBoPWkoNjU2NjQpLF9oPWkoNjM1Njk5KSxtaD1pKDM3NjY0NSksZ2g9aSg1OTYyNzIpLGZoPWkoOTY5NCksU2g9aSgxMzE2ODApO2NsYXNzIHZoIGV4dGVuZHMgZmguUHJpY2VMaW5lQXhpc1ZpZXd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXR9X3ZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksdD1lLnByaWNlU2NhbGUoKSxpPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pKXJldHVybntub0RhdGE6ITB9O2NvbnN0IHM9dGhpcy5fc291cmNlLnByaWNlKCksbj10aGlzLl9zb3VyY2UuY3VycmVudFNlc3Npb24oKSxyPSgwLFNoLmNvbG9yUHJvcGVydHlCeU1hcmtldFN0YXR1cykodGhpcy5fc291cmNlLnByb3BlcnRpZXMoKSxuKTtpZihudWxsPT1zfHwhcilyZXR1cm57bm9EYXRhOiEwfTtyZXR1cm57bm9EYXRhOiExLGNvb3JkaW5hdGU6dC5wcmljZVRvQ29vcmRpbmF0ZShzLGkpLGNvbG9yOiIiLGZvcm1hdHRlZFByaWNlUGVyY2VudGFnZToiIixmb3JtYXR0ZWRQcmljZUFic29sdXRlOiIiLGZvcm1hdHRlZFByaWNlSW5kZXhlZFRvMTAwOiIiLHRleHQ6IiIsaW5kZXg6MH19X3ByaWNlTGluZUNvbG9yKGUpe2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksdCkpLnZhbHVlKCl9X2xpbmVXaWR0aCgpe3JldHVybiB0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVXaWR0aC52YWx1ZSgpfV9saW5lU3R5bGUoKXtyZXR1cm4gdGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUudmFsdWUoKX1faXNWaXNpYmxlKCl7aWYoIXRoaXMuX3NvdXJjZS5jYW5CZVZpc2libGVPblN5bWJvbEFuZEludGVydmFsKCl8fCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcmljZSgpLHQ9dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCk7cmV0dXJuIG51bGwhPT1lJiYoInByZV9tYXJrZXQiPT09dHx8InBvc3RfbWFya2V0Ij09PXQpfX12YXIgeWg9aSg3MTY3OCk7Y29uc3QgYmg9e3ByZV9tYXJrZXQ6cC50KG51bGwse2NvbnRleHQ6Im1hcmtldF9zdGF0dXMifSxpKDk2NjQxMikpLHBvc3RfbWFya2V0OnAudChudWxsLHtjb250ZXh0OiJtYXJrZXRfc3RhdHVzIn0saSg2MTkyMzMpKSxuaWdodDpwLnQobnVsbCx7Y29udGV4dDoibWFya2V0X3N0YXR1cyJ9LGkoODIwMjE5KSl9O2NsYXNzIHdoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZSx0aGlzLl9zb3VyY2U9dH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtpZihlLnZpc2libGU9ITEsdC52aXNpYmxlPSExLCF0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj1zLnByaWNlU2NhbGUoKSxyPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1yKXJldHVybjtpZighdGhpcy5fc291cmNlLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSlyZXR1cm47Y29uc3Qgbz10aGlzLl9zb3VyY2UucHJpY2UoKSxhPXRoaXMuX3NvdXJjZS5jdXJyZW50U2Vzc2lvbigpLGM9KDAsU2guY29sb3JQcm9wZXJ0eUJ5TWFya2V0U3RhdHVzKSh0aGlzLl9zb3VyY2UucHJvcGVydGllcygpLGEpO2lmKG51bGw9PW98fCFjKXJldHVybjtjb25zdCBoPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KShjLnZhbHVlKCkpO2UudmlzaWJsZT0hMCx0LnZpc2libGU9ITAsZS50ZXh0PW4uZm9ybWF0UHJpY2VBYnNvbHV0ZShvKSx0LnRleHQ9KDAsbC5lbnN1cmVEZWZpbmVkKShiaFthXSksaS5jb29yZGluYXRlPW4ucHJpY2VUb0Nvb3JkaW5hdGUobyxyKSxpLmJhY2tncm91bmQ9aCxpLnRleHRDb2xvcj10aGlzLmdlbmVyYXRlVGV4dENvbG9yKGgpLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfX12YXIgQ2g9aSg3NDM0Nyk7Y2xhc3MgUGggZXh0ZW5kcyBDaC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigpLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQ7Y29uc3Qgcz17ZG91YmxlQ2xpY2tIYW5kbGVyOmksZG91YmxlVGFwSGFuZGxlcjppfTt0aGlzLl9saW5lUmVuZGVyZXIuc2V0SGl0VGVzdChuZXcgTWkuSGl0VGVzdFJlc3VsdChNaS5IaXRUYXJnZXQuUmVndWxhcixzKSl9X3VwZGF0ZUltcGwoKXtjb25zdCBlPXRoaXMuX2xpbmVSZW5kZXJlckRhdGE7ZS52aXNpYmxlPSExO2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0LmlzVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXQucHJpY2VTY2FsZSgpLG49dC5maXJzdFZhbHVlKCk7aWYobnVsbD09PW4pcmV0dXJuO2lmKCF0aGlzLl9zb3VyY2UuY2FuQmVWaXNpYmxlT25TeW1ib2xBbmRJbnRlcnZhbCgpKXJldHVybjtjb25zdCByPXRoaXMuX3NvdXJjZS5wcmljZSgpLG89dGhpcy5fc291cmNlLmN1cnJlbnRTZXNzaW9uKCksYT0oMCxTaC5jb2xvclByb3BlcnR5QnlNYXJrZXRTdGF0dXMpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCksbyk7bnVsbCE9ciYmYSYmKGUudmlzaWJsZT0hMCxlLnk9cy5wcmljZVRvQ29vcmRpbmF0ZShyLG4pLGUubGluZXN0eWxlPWkubGluZVN0eWxlLnZhbHVlKCksZS5saW5ld2lkdGg9aS5saW5lV2lkdGgudmFsdWUoKSwKZS5jb2xvcj1hLnZhbHVlKCkpfX1jbGFzcyBUaCBleHRlbmRzIGdoLkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCksdGhpcy5fZXh0cmFIb3Vyc1ByaWNlPW51bGwsdGhpcy5fY3VycmVudFNlc3Npb249ImhvbGlkYXkiLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyPXQubWFpblNlcmllcygpLnF1b3Rlc1Byb3ZpZGVyKCksdGhpcy5fcHJlUG9zdE1hcmtldExpbmVQYW5lVmlldz1uZXcgUGgodCx0aGlzLGkpLHRoaXMuX3ByZVBvc3RQcmljZUF4aXNWaWV3PW5ldyB3aCh0LHRoaXMpLHRoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3PW5ldyBtaC5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldyx0Lm1haW5TZXJpZXMoKSx0KSx0aGlzLl9wcmVQb3N0UHJpY2VMaW5lQXhpc1ZpZXc9bmV3IHZoKHQsdGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlUXVvdGVzKSx0aGlzLl91cGRhdGVRdW90ZXMoKX1kZXN0cm95KCl7dGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyl9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RNYXJrZXRMaW5lUGFuZVZpZXddOltdfWxhYmVsUGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/W3RoaXMuX3ByZVBvc3RMYWJlbFBhbmVWaWV3XTpbXX1wcmljZUF4aXNWaWV3cyhlLHQpe3JldHVybiB0aGlzLl9hcmVWaWV3c0F2YWlsYWJsZUZvclBhbmUoZSk/ZS5maW5kVGFyZ2V0UHJpY2VBeGlzVmlld3ModGhpcyx0LFt0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlld10sW3RoaXMuX3ByZVBvc3RQcmljZUxpbmVBeGlzVmlld10pOltdfXByaWNlU2NhbGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKX11cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmVQb3N0TWFya2V0TGluZVBhbmVWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0UHJpY2VBeGlzVmlldy51cGRhdGUoZSksdGhpcy5fcHJlUG9zdFByaWNlTGluZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9wcmVQb3N0TGFiZWxQYW5lVmlldy51cGRhdGUoZSl9cHJpY2UoKXtyZXR1cm4gdGhpcy5fZXh0cmFIb3Vyc1ByaWNlfWN1cnJlbnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRTZXNzaW9ufWNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKTtpZighZSlyZXR1cm4hMTtjb25zdCBpPWUuc3Vic2Vzc2lvbl9pZDtpZighaSlyZXR1cm4hMTtzd2l0Y2godGhpcy5fY3VycmVudFNlc3Npb24pe2Nhc2UibmlnaHQiOnJldHVybiB0fHwhKDAsQS5pc1N0b2NrMjRoU2Vzc2lvbklkKShpKTtjYXNlInByZV9tYXJrZXQiOmNhc2UicG9zdF9tYXJrZXQiOnJldHVybiB0fHwoMCxBLmlzUmVndWxhclNlc3Npb25JZCkoaSxlKTtkZWZhdWx0OnJldHVybiExfX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldH1fdXBkYXRlUXVvdGVzKCl7Y29uc3QgZT10aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXMoKS52YWx1ZSgpO251bGw9PT1lP3RoaXMuX2V4dHJhSG91cnNQcmljZT1udWxsOih2b2lkIDAhPT1lLmN1cnJlbnRfc2Vzc2lvbiYmKHRoaXMuX2N1cnJlbnRTZXNzaW9uPWUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9leHRyYUhvdXJzUHJpY2U9Im5pZ2h0Ij09PXRoaXMuX2N1cnJlbnRTZXNzaW9uP2UubnRjOmUucnRjKTtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksaT10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwudmFsdWUoKTt0aGlzLmNhbkJlVmlzaWJsZU9uU3ltYm9sQW5kSW50ZXJ2YWwoKSYmKHR8fGkpJiYodGhpcy51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpKX1fYXJlVmlld3NBdmFpbGFibGVGb3JQYW5lKGUpe3JldHVybiF0aGlzLl9tb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSYmIXRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmdGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpPT09ZX19dmFyIHhoPWkoOTczOTcpLE1oPWkoMjgxOTU2KTtmdW5jdGlvbiBJaChlLHQpe3JldHVybiBlLmNvZGU8dC5jb2RlPy0xOmUuY29kZT50LmNvZGU/MTowfWNsYXNzIExoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lkc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb2Rlc1RvSXRlbXM9bmV3IE1hcCx0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zPWU7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpLHRoaXMuX2NvZGVzVG9JdGVtcy5zZXQodC5jb2RlLHQpfWNvbnZlcnRpYmxlKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9pZHNUb0l0ZW1zLmdldChlKX1jdXJyZW5jeUNvZGVCeUlkKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8uY29kZT8/bnVsbH1jdXJyZW5jeUlkQnlDb2RlKGUpe3JldHVybiB0aGlzLl9jb2Rlc1RvSXRlbXMuZ2V0KGUpPy5pZD8/bnVsbH1pdGVtKGUpe3JldHVybiB0aGlzLl9pZHNUb0l0ZW1zLmdldChlKT8/bnVsbH1zaXplKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubGVuZ3RofWZpbHRlckNvbnZlcnRpYmxlKGUsdCl7Y29uc3QgaT10aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmZpbHRlcihmdW5jdGlvbihlLHQpe3JldHVybiBpPT4hZS5oYXMoaS5pZCkmJnQoaS5pZCl9KGUsdCkpO3JldHVybiBpLnNvcnQoSWgpLGl9CmdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWNsYXNzIEFoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FsbEdyb3Vwcz1uZXcgU2V0LHRoaXMuX2lkVG9OYW1lPW5ldyBNYXAsdGhpcy5faWRUb0Rlc2NyaXB0aW9uPW5ldyBNYXAsdGhpcy5fZ3JvdXBlZFVuaXRJZHM9bmV3IE1hcCx0aGlzLl9ncm91cGVkVW5pdHM9bmV3IE1hcCx0aGlzLl9ncm91cEJ5SWQ9bmV3IE1hcCx0aGlzLl9zaXplPTAsdGhpcy5fdW5pdHM9ZTtmb3IoY29uc3QgdCBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkodCkpe3RoaXMuX2FsbEdyb3Vwcy5hZGQodCksdGhpcy5fZ3JvdXBlZFVuaXRJZHMuc2V0KHQsbmV3IFNldChlW3RdLm1hcCgoZT0+ZS5pZCkpKSksdGhpcy5fZ3JvdXBlZFVuaXRzLnNldCh0LGVbdF0pO2Zvcihjb25zdCBpIG9mIGVbdF0pdGhpcy5fc2l6ZSsrLHRoaXMuX2lkVG9OYW1lLnNldChpLmlkLGkubmFtZSksdGhpcy5faWRUb0Rlc2NyaXB0aW9uLnNldChpLmlkLGkuZGVzY3JpcHRpb24pLHRoaXMuX2dyb3VwQnlJZC5zZXQoaS5pZCx0KX19dW5pdHNDaGFuZ2VkKGUpe3JldHVybiB0aGlzLl91bml0cyE9PWV9c2l6ZSgpe3JldHVybiB0aGlzLl9zaXplfW5hbWUoZSl7cmV0dXJuIHRoaXMuX2lkVG9OYW1lLmdldChlKXx8ZX1kZXNjcmlwdGlvbihlKXtyZXR1cm4gdGhpcy5faWRUb0Rlc2NyaXB0aW9uLmdldChlKXx8ZX11bml0R3JvdXBCeUlkKGUpe3JldHVybiB0aGlzLl9ncm91cEJ5SWQuZ2V0KGUpfHxudWxsfWFsbEdyb3Vwcygpe3JldHVybiBuZXcgU2V0KHRoaXMuX2FsbEdyb3Vwcyl9dW5pdHNCeUdyb3VwcyhlKXtjb25zdCB0PVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRoaXMuX2dyb3VwZWRVbml0cy5nZXQoZSk7dm9pZCAwIT09aSYmdC5wdXNoKHtuYW1lOmUsdW5pdHM6aX0pfSkpLHR9Y29udmVydGlibGUoZSx0KXtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2dyb3VwZWRVbml0SWRzLmdldChpKTtpZih2b2lkIDAhPT10JiZ0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4hMX19Y2xhc3Mga2h7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPW51bGwsdGhpcy5fc291cmNlUGFuZT1udWxsLHRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZT0hMSx0aGlzLl9tb2RlbD1lfWRlc3Ryb3koKXt0aGlzLl9zb3VyY2U9bnVsbCx0aGlzLl9zb3VyY2VQYW5lPW51bGx9c291cmNlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZX1vblRvb2xDaGFuZ2VkKCl7dGhpcy5fcmVtb3ZlU291cmNlKCksdGhpcy5fY3VycmVudFRvb2xTdXBwb3J0c1BoYW50b21Nb2RlPSgwLG0uaXNMaW5lVG9vbE5hbWUpKFQudG9vbC52YWx1ZSgpKSYmKDAscmkuc3VwcG9ydHNQaGFudG9tTW9kZSkoVC50b29sLnZhbHVlKCkpfW9uQ3Vyc29yUG9zaXRpb25VcGRhdGVkKCl7aWYoIXRoaXMuX2N1cnJlbnRUb29sU3VwcG9ydHNQaGFudG9tTW9kZSlyZXR1cm47Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKTtpZih0aGlzLl9zb3VyY2VQYW5lIT09ZS5wYW5lJiZ0aGlzLl9yZW1vdmVTb3VyY2UoKSxudWxsPT09ZS5wYW5lfHwhKDAsYS5pc051bWJlcikoZS5pbmRleCl8fCEoMCxhLmlzTnVtYmVyKShlLnByaWNlKSlyZXR1cm4gdm9pZCB0aGlzLl9yZW1vdmVTb3VyY2UoKTtjb25zdCB0PXtpbmRleDplLmluZGV4LHByaWNlOmUucHJpY2V9O251bGwhPT10aGlzLl9zb3VyY2U/dGhpcy5fc291cmNlLnNldFBvaW50KDAsdCk6KHRoaXMuX3NvdXJjZT10aGlzLl9tb2RlbC5jcmVhdGVMaW5lVG9vbCh7cGFuZTplLnBhbmUscG9pbnQ6dCxsaW5ldG9vbDpULnRvb2wudmFsdWUoKX0pLHRoaXMuX3NvdXJjZVBhbmU9ZS5wYW5lKX1fcmVtb3ZlU291cmNlKCl7bnVsbCE9PXRoaXMuX3NvdXJjZSYmKHRoaXMuX21vZGVsLnJlbW92ZVNvdXJjZSh0aGlzLl9zb3VyY2UpLHRoaXMuX3NvdXJjZT1udWxsLHRoaXMuX3NvdXJjZVBhbmU9bnVsbCl9fWNsYXNzIERoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbnZlcnRpYmxlSXRlbXM9ZSx0aGlzLl9pZHNUb0l0ZW1zPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSl0aGlzLl9pZHNUb0l0ZW1zLnNldCh0LmlkLHQpO3RoaXMuX2lkc1RvTmFtZXM9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2lkc1RvSXRlbXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHQubmFtZV0pKSl9Y29udmVydGlibGUoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpfWl0ZW0oZSl7cmV0dXJuIHRoaXMuX2lkc1RvSXRlbXMuZ2V0KGUpPz9udWxsfXNpemUoKXtyZXR1cm4gdGhpcy5fY29udmVydGlibGVJdGVtcy5sZW5ndGh9bmFtZShlKXtyZXR1cm4gdGhpcy5faWRzVG9OYW1lcy5nZXQoZSk/P2V9aXNSZWFkeSgpe3JldHVybiB0aGlzLl9jb252ZXJ0aWJsZUl0ZW1zLmxlbmd0aD4wfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2NvbnZlcnRpYmxlSXRlbXMubWFwKChlPT5lLmlkKSl9fWZ1bmN0aW9uIEVoKGUsdCxpKXtsZXQgcz1udWxsO2lmKGkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpKXtjb25zdCBlPWkuYXZhaWxhYmxlTWV0cmljcygpLG49dC5tZXRyaWMoZSk7bnVsbCE9PW4mJihzPW4uc2VsZWN0ZWRNZXRyaWNJZCl9cmV0dXJuIHN9dmFyIFJoPWkoNDkyMzgxKSxWaD1pKDE2ODI1OCk7Y29uc3QgQmg9KGUsdCk9PiEwLE5oPShlLHQpPT4hdC5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCksT2g9KGUsdCk9PnQuaXNQbG90Rm9yY2VPdmVybGF5KGUuaWQpO2Z1bmN0aW9uIFdoKGUsdCl7Y29uc3QgaT1lLnByaWNlU2NhbGUoKSxzPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47Y29uc3Qgbj1lLmJhcnMoKS52YWx1ZUF0KHQpO2lmKG51bGw9PT1uKXJldHVybjtsZXQgcjtpZihudWxsIT09ZS5wcmljZVNvdXJjZSgpKXI9W2UuYmFyRnVuY3Rpb24oKShuKV07ZWxzZSBzd2l0Y2goZS5zdHlsZSgpKXtjYXNlIDEyOnI9WygwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2Nhc2UgMTY6Y2FzZSAyMToKcj1bKDAsbC5lbnN1cmUpKG5bMl0pLCgwLGwuZW5zdXJlKShuWzRdKSwoMCxsLmVuc3VyZSkoblszXSldO2JyZWFrO2RlZmF1bHQ6cj1bKDAsbC5lbnN1cmUpKG5bMV0pLCgwLGwuZW5zdXJlKShuWzJdKSwoMCxsLmVuc3VyZSkoblszXSksKDAsbC5lbnN1cmUpKG5bNF0pXX1yZXR1cm4gci5tYXAoKGU9Pih7eTppLnByaWNlVG9Db29yZGluYXRlKGUscykscHJpY2U6ZX0pKSl9dmFyIEZoOyFmdW5jdGlvbihlKXtlW2UuTWFnbmV0VG9sZXJhbmNlPTUwXT0iTWFnbmV0VG9sZXJhbmNlIn0oRmh8fChGaD17fSkpO2NsYXNzIEhoe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGFzdFZhbHVlPW51bGx9YWxpZ24oZSx0LGkpe3RoaXMuX2xhc3RWYWx1ZT1udWxsO2xldCBzPWU7aWYoISgwLFpzLm1hZ25ldEVuYWJsZWQpKCkudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPWkubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09bilyZXR1cm4gcztjb25zdCByPW4ucHJpY2VTY2FsZSgpO2lmKCFyfHxyLmlzRW1wdHkoKSlyZXR1cm4gcztjb25zdCBvPW4ubW9kZWwoKS5tYWluU2VyaWVzKCksYT0oMCxacy5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycykoKS52YWx1ZSgpO2lmKCFhJiZuIT09bylyZXR1cm4gcztjb25zdCBjPSgwLGwuZW5zdXJlKShuLmZpcnN0VmFsdWUoKSksaD1yLnByaWNlVG9Db29yZGluYXRlKGUsYyksZD1pLmNvbnRhaW5zTWFpblNlcmllcygpP2Z1bmN0aW9uKGUsdCl7cmV0dXJuIFdoKGUsdCl9KG8sdCk/P1tdOltdO2lmKGEpe2kubW9kZWwoKS5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUuaXNWaXNpYmxlKCkpKS5mb3JFYWNoKChlPT57Y29uc3Qgcz1mdW5jdGlvbihlLHQsaSl7Y29uc3Qgcz1lLm1vZGVsKCksbj1zLnBhbmVGb3JTb3VyY2UoZSkscj1zLm1haW5QYW5lKCksbz1zLm1haW5TZXJpZXMoKTtpZigoMCx0aS5pc092ZXJsYXlTdHVkeSkoZSkpcmV0dXJuIGk9PT1uP1doKGUsdCk6dm9pZCAwO2NvbnN0IGE9ZS5tZXRhSW5mbygpO2lmKCFhKXJldHVybjtjb25zdCBsPWUuZGF0YSgpLnZhbHVlQXQodCk7aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGM9YS5oYXNGb3JjZU92ZXJsYXlQbG90cygpO2lmKCEoaT09PW58fGMmJmk9PT1yKSlyZXR1cm47Y29uc3QgaD1lLnByaWNlU2NhbGUoKSxkPW8ucHJpY2VTY2FsZSgpLHU9ZS5maXJzdFZhbHVlKCkscD1vLmZpcnN0VmFsdWUoKTtpZighaHx8IWR8fG51bGw9PT11fHxudWxsPT09cClyZXR1cm47bGV0IF8sbSxnO249PT1yPyhfPUJoLG09ZCxnPXApOmk9PT1uPyhfPU5oLG09aCxnPXUpOihfPU9oLG09ZCxnPXApO2NvbnN0IGY9YS5wbG90cyxTPWYuZmlsdGVyKCh0PT4hKDAsVmguaXNQbG90V2l0aFRlY2huaWNhbFZhbHVlcykodCkmJmUuaXNQbG90VmlzaWJsZUF0KHQuaWQsVmguU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKSYmXyh0LGEpKSksdj1bXTtmb3IoY29uc3QgZSBvZiBTKXtjb25zdCB0PWxbZi5pbmRleE9mKGUpKzFdO2lmKG51bGwhPXQpe2NvbnN0IGk9YS5pc1Bsb3RGb3JjZU92ZXJsYXkoZS5pZCkscz0oaT9kOmgpLnByaWNlVG9Db29yZGluYXRlKHQsaT9wOnUpO3YucHVzaCh7eTpzLHByaWNlOm0uY29vcmRpbmF0ZVRvUHJpY2UocyxnKX0pfX1yZXR1cm4gdn0oZSx0LGkpO3MmJmQucHVzaCguLi5zKX0pKX1pZigwPT09ZC5sZW5ndGgpcmV0dXJuIHM7ZC5zb3J0KCgoZSx0KT0+TWF0aC5hYnMoZS55LWgpLU1hdGguYWJzKHQueS1oKSkpO2NvbnN0IHU9ZFswXTtyZXR1cm4oKDAsWnMubWFnbmV0TW9kZSkoKS52YWx1ZSgpPT09UmguTWFnbmV0TW9kZS5TdHJvbmdNYWduZXR8fE1hdGguYWJzKHUueS1oKTw1MCkmJihzPXUucHJpY2UsdGhpcy5fbGFzdFZhbHVlPXMpLHN9bGFzdFZhbHVlKCl7cmV0dXJuIHRoaXMuX2xhc3RWYWx1ZX1yZXNldExhc3RWYWx1ZSgpe3RoaXMuX2xhc3RWYWx1ZT1udWxsfX1jbGFzcyB6aHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyBkLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89bnVsbCx0aGlzLl9hcHBsaWVkVGltZUZyYW1lQ2hhbmdlZEJvdW5kPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkLmJpbmQodGhpcyksdGhpcy5fbW9kZWw9ZSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc2VyaWVzVGltZUZyYW1lKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXJpZXNUaW1lRnJhbWUpLHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpfWRlc3Ryb3koKXt0aGlzLl9hcHBsaWVkVGltZUZyYW1lLnVuc3Vic2NyaWJlKHRoaXMuX2FwcGxpZWRUaW1lRnJhbWVDaGFuZ2VkQm91bmQpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnNlcmllc1RpbWVGcmFtZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfWFwcGxpZWRUaW1lRnJhbWUoKXtyZXR1cm4gdGhpcy5fYXBwbGllZFRpbWVGcmFtZX1fYXBwbGllZFRpbWVGcmFtZUNoYW5nZWQoKXt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2VDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9X29uU2VyaWVzVGltZUZyYW1lKGUsdCxpLHMpe2lmKHMpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7dGhpcy5fYXBwbGllZFRpbWVGcmFtZUluZm89e2xvZ2ljYWxSYW5nZTplLmxvZ2ljYWxSYW5nZSgpLGJhc2VJbmRleDplLmJhc2VJbmRleCgpfSxlLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSl9fV9pbnZhbGlkYXRlQXBwbGllZFRpbWVGcmFtZSgpe2lmKG51bGw9PT10aGlzLl9hcHBsaWVkVGltZUZyYW1lSW5mbylyZXR1cm4KO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD1lLmxvZ2ljYWxSYW5nZSgpLGk9ZS5iYXNlSW5kZXgoKSxzPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmxvZ2ljYWxSYW5nZSxuPXRoaXMuX2FwcGxpZWRUaW1lRnJhbWVJbmZvLmJhc2VJbmRleDsobnVsbD09PXR8fG51bGw9PT1zfHxNYXRoLmFicyhpLXQubGVmdCgpLShuLXMubGVmdCgpKSk+PS4wMXx8TWF0aC5hYnMoaS10LnJpZ2h0KCktKG4tcy5yaWdodCgpKSk+PS4wMSkmJnRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuc2V0VmFsdWUobnVsbCl9fXZhciBVaD1pKDcwNjg4NCksR2g9aSg5MzQzMDUpO2NsYXNzIGpoIGV4dGVuZHMgR2guQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbH1zZXREYXRhKGUpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KGUpe3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtpZihudWxsPT09dGhpcy5fZGF0YSlyZXR1cm47Y29uc3R7Y29udGV4dDp0LHZlcnRpY2FsUGl4ZWxSYXRpbzppLGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTpufT1lLHI9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHMpKTt0LmxpbmVXaWR0aD1yO2NvbnN0IG89TWF0aC5jZWlsKG4uaGVpZ2h0KmkpLGE9TWF0aC5jZWlsKG4ud2lkdGgqcyk7aWYodC5saW5lQ2FwPSJidXR0Iix0aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUpe3Quc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS52ZXJ0TGluZXNDb2xvciwoMCxEaS5zZXRMaW5lU3R5bGUpKHQsdGhpcy5fZGF0YS52ZXJ0TGluZVN0eWxlKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9kYXRhLnRpbWVNYXJrcyl7Y29uc3QgaT1NYXRoLnJvdW5kKGUuY29vcmQqcyk7KDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkodCxpLDAsbyl9fWlmKHRoaXMuX2RhdGEuaG9yekxpbmVzVmlzaWJsZSl7dC5zdHJva2VTdHlsZT10aGlzLl9kYXRhLmhvcnpMaW5lc0NvbG9yLCgwLERpLnNldExpbmVTdHlsZSkodCx0aGlzLl9kYXRhLmhvcnpMaW5lU3R5bGUpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2RhdGEucHJpY2VNYXJrcyl7Y29uc3Qgcz1NYXRoLnJvdW5kKGUuY29vcmQqaSk7KDAsRGkuZHJhd0hvcml6b250YWxMaW5lKSh0LHMsMCxhKX19fX1jbGFzcyBxaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgamgsdGhpcy5fcGFuZT1lfXVwZGF0ZSgpe31yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLHQ9dGhpcy5fcGFuZS5tb2RlbCgpLnRpbWVTY2FsZSgpO2lmKGUuaXNFbXB0eSgpfHx0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXRoaXMuX3BhbmUubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkscz10Lm1hcmtzKCksbj1pLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKSxyPWkudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLG89e2hvcnpMaW5lc1Zpc2libGU6bi52aXNpYmxlLnZhbHVlKCksdmVydExpbmVzVmlzaWJsZTpyLnZpc2libGUudmFsdWUoKSxob3J6TGluZXNDb2xvcjpuLmNvbG9yLnZhbHVlKCksdmVydExpbmVzQ29sb3I6ci5jb2xvci52YWx1ZSgpLGhvcnpMaW5lU3R5bGU6bi5zdHlsZS52YWx1ZSgpLHZlcnRMaW5lU3R5bGU6ci5zdHlsZS52YWx1ZSgpLHByaWNlTWFya3M6ZS5tYXJrcygpLHRpbWVNYXJrczpudWxsIT09cz9zOltdfTtyZXR1cm4gdGhpcy5fcmVuZGVyZXIuc2V0RGF0YShvKSx0aGlzLl9yZW5kZXJlcn19Y2xhc3MgJGggZXh0ZW5kcyB1ci5EYXRhU291cmNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fbW9kZWw9ZX1pZCgpe3JldHVybiJncmlkIn1wYW5lVmlld3MoZSl7cmV0dXJuIGUubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyP1tuZXcgcWgoZSldOm51bGx9bmFtZSgpe3JldHVybiJHcmlkIn1tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkdyaWRDb250ZXh0TWVudSJ9fXZhciBZaD1pKDQ0MTgwNyksS2g9aSgyNjA2OSk7ZnVuY3Rpb24gWGgoZSl7Y29uc3QgdD1lO3QudmVydEdyaWRQcm9wZXJ0aWVzPXQudmVydEdyaWRQcm9wZXJ0aWVzPz8oMCxZaC5kZWZhdWx0KSh0LmdyaWRQcm9wZXJ0aWVzKSx0LmhvcnpHcmlkUHJvcGVydGllcz10LmhvcnpHcmlkUHJvcGVydGllcz8/KDAsWWguZGVmYXVsdCkodC5ncmlkUHJvcGVydGllcyk7Y29uc3QgaT10LnZlcnRHcmlkUHJvcGVydGllcyxzPXQuaG9yekdyaWRQcm9wZXJ0aWVzO3ZvaWQgMD09PWk/LnN0eWxlJiZ2b2lkIDA9PT1zPy5zdHlsZSYmKGkmJihpLnN0eWxlPUtoLkxJTkVTVFlMRV9TT0xJRCkscyYmKHMuc3R5bGU9S2guTElORVNUWUxFX1NPTElEKSk7Y29uc3Qgbj10LmdyaWRMaW5lc01vZGU7dm9pZCAwIT09biYmKGkmJihpLnZpc2libGU9ImJvdGgiPT09bnx8InZlcnQiPT09bikscyYmKHMudmlzaWJsZT0iYm90aCI9PT1ufHwiaG9yeiI9PT1uKSxkZWxldGUgdC5ncmlkTGluZXNNb2RlKX12YXIgWmg9aSgxMjE0NzkpO2NsYXNzIEpoIGV4dGVuZHMgeWguUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dCx0aGlzLl9wcmljZVNjYWxlPWksdGhpcy5fcHJpY2VQcm92aWRlcj1zLHRoaXMuX3Byb3BlcnRpZXM9ZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzfXNldEhpdFRlc3REYXRhKGUpe3RoaXMuX2hpdFRlc3REYXRhPWV9c2V0WENvb3JkKGUpe3RoaXMuX3hDb29yZD1lfWlnbm9yZUFsaWdubWVudCgpe3JldHVybiEwfWFkZGl0aW9uYWxQYWRkaW5nKGUpe3JldHVybiAwfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LGkpe2lmKGUudmlzaWJsZT0hMSx0LnZpc2libGU9ITEsdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpKXJldHVybjtjb25zdCBzPXRoaXMuX3ByaWNlU2NhbGUsbj1zLm1haW5Tb3VyY2UoKSxyPW51bGwhPT1uP24uZmlyc3RWYWx1ZSgpOm51bGwKO2lmKCF0aGlzLl9pc1Zpc2libGUoKXx8cy5pc0VtcHR5KCl8fG51bGw9PT1yKXJldHVybjtjb25zdCBvPXRoaXMuX2N1cnJlbnRQcmljZShzKTtpZihudWxsPT09bylyZXR1cm47aS5iYWNrZ3JvdW5kPSgwLCRpLnJlc2V0VHJhbnNwYXJlbmN5KSh0aGlzLl9iZ0NvbG9yKCkpLGkudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3IoaS5iYWNrZ3JvdW5kKTtjb25zdCBhPXRoaXMuYWRkaXRpb25hbFBhZGRpbmcocy5mb250U2l6ZSgpKTtpLmFkZGl0aW9uYWxQYWRkaW5nVG9wPWEsaS5hZGRpdGlvbmFsUGFkZGluZ0JvdHRvbT1hLGkuY29vcmRpbmF0ZT1zLnByaWNlVG9Db29yZGluYXRlKG8sciksZS50ZXh0PXMuZm9ybWF0UHJpY2UobyxyKSxlLnZpc2libGU9ITAsdC52aXNpYmxlPSEwLHQuaGl0VGVzdERhdGE9dGhpcy5faGl0VGVzdERhdGEsdC54Q29vcmQ9dGhpcy5feENvb3JkfV9jdXJyZW50UHJpY2UoZSl7cmV0dXJuIHRoaXMuX3ByaWNlUHJvdmlkZXIoZSl9fWNsYXNzIFFoIGV4dGVuZHMgSmh7YWRkaXRpb25hbFBhZGRpbmcoZSl7cmV0dXJuIDIvMTIqZX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpO3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dQcmljZVNjYWxlQ3Jvc3NoYWlyTGFiZWwudmFsdWUoKSYmKHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09ZSkmJihlPz90aGlzLl9zb3VyY2UucGFuZSk9PT10aGlzLl9wYW5lfV9jdXJyZW50UHJpY2UoZSl7Y29uc3QgdD1ULmNyb3NzaGFpckxvY2sudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXQmJjE9PT10LnR5cGU/dGhpcy5fcGFuZT09PXRoaXMuX3NvdXJjZS5sb2NrZWRQYW5lKCk/dC5wcmljZTpudWxsOnN1cGVyLl9jdXJyZW50UHJpY2UoZSl9X2JnQ29sb3IoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7cmV0dXJuIHRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP2UuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyay52YWx1ZSgpOmUuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yTGlnaHQudmFsdWUoKX1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKXtjb25zdCBzPXQudmlzaWJsZTtzdXBlci5fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxpKSx0aGlzLl9zb3VyY2UuaXNIb3ZlcmVkKCk/dC5iYWNrZ3JvdW5nPXRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS02MDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktNjUwIl06dC5iYWNrZ3JvdW5nPXZvaWQgMCxzfHwodC52aXNpYmxlPXMpfX1jbGFzcyBlZCBleHRlbmRzIEpoe19pc1Zpc2libGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3NvdXJjZS5tZWFzdXJlUGFuZSgpLnZhbHVlKCl9X2JnQ29sb3IoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbi52YWx1ZSgpfX12YXIgdGQ9aSg0MjM5MDApLGlkPWkoODYyOTUxKSxzZD1pKDU4NjE2NSksbmQ9aSg1NTg0NTUpLHJkPWkoODIyNzk1KSxvZD1pKDcyMTA0MiksYWQ9aSg2MjE5MjYpO2Z1bmN0aW9uIGxkKGUsdCl7Y29uc3R7ZGF0YVNvdXJjZTpzLHk6bixkaXNhYmxlZDpyLGFuYWx5dGljc09wdDp7bWV0aG9kOm8sc291cmNlOmEsYWN0aW9uU291cmNlOmwsZ2FPcmlnaW46Y319PXQsaD1zLnByaWNlU2NhbGUoKSxkPXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ofHxoLmlzUGVyY2VudGFnZSgpfHxoLmlzSW5kZXhlZFRvMTAwKCl8fG51bGw9PT1kKXJldHVybiBudWxsO2NvbnN0IHU9aC5jb29yZGluYXRlVG9QcmljZShuLGQpO2lmKG51bGw9PT11KXJldHVybiBudWxsO2NvbnN0IF89cy5mb3JtYXR0ZXIoKS5mb3JtYXQodSksbT0oMCxJby5pc1N5bWJvbFNvdXJjZSkocyk/cy5zeW1ib2xUaXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCwhMCk6cy50aXRsZShjby5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx7fSwhMCksZz17bGFiZWw6KDAsc2QuaGFzVXN1YWxBbGVydFBsb3RzKShzKT9wLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bSxwcmljZTpffX0saSg3MTU4MzgpKTpwLnQobnVsbCx7cmVwbGFjZTp7dGl0bGU6bX19LGkoOTcxODgpKSxzdGF0TmFtZToiQWRkQWxlcnRPblNvdXJjZSIsaWNvbklkOiJBbGVydC5BZGQiLHNob3J0Y3V0SGludDooMCxLLmh1bWFuUmVhZGFibGVIYXNoKShLLk1vZGlmaWVycy5BbHQrNjUpLGRpc2FibGVkOnJ9O3JldHVybiByfHwoZy5vbkV4ZWN1dGU9YXN5bmMoKT0+e2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCk7KDAsb2QudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkodC5zeW1ib2woKSxvLGEpOygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+KGFzeW5jKCk9Pntjb25zdCB0PXtkYXRhU291cmNlSHViOmUubW9kZWwoKSxzaWxlbnQ6ITAsYWN0aW9uU291cmNlOmwsbWV0aG9kOm8sc291cmNlOmF9OygwLHJpLmlzTGluZVRvb2wpKHMpP3QuZHJhd2luZz1zOih0LnNlcmllcz1zLHQudmFsdWU9KDAsbmQucm91bmRBbGVydFZhbHVlVXNpbmdQcmVjaXNpb24pKHMsdSkpLCgwLHJkLmludm9rZUFsZXJ0RWRpdG9yKSh0KX0pKCkpLHtmZWF0dXJlOiJhbGVydCIsc291cmNlOmN9KX0pLG5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQWxlcnQuQWRkIixvcHRpb25zOmd9KX12YXIgY2QsaGQ9aSg5MzcwOTgpLGRkPWkoNTQzNTcwKTtjbGFzcyB1ZCBleHRlbmRzIG1oLlBhbmVQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCxpLHMsbil7c3VwZXIoZSx0LHMpLHRoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsLHRoaXMuX2hhc0FjdGlvbnM9ITEsdGhpcy5fZ2FPcmlnaW49IkNIIG1lbnUiLHRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXc9ZSxlLnNldFBhbmVSZW5kZXJlckxhYmVsSWNvbigwKSx0aGlzLl9jcm9zc2hhaXI9dCx0aGlzLl9zY2FsZT1pLHRoaXMuX29wdGlvbnM9bix0aGlzLl91cGRhdGVHYU9yaWdpbigpLAp0aGlzLl9icm9rZXJTZXJ2aWNlU3Bhd249dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPy50cmFkaW5nQnJva2VyU2VydmljZS5zcGF3bigpLHRoaXMuX2Jyb2tlclNlcnZpY2VTcGF3bj8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2Nyb3NzSGFpck1lbnVDYWNoZWRTdGF0ZT1udWxsfSkse29uY2U6ITB9KX1kZXN0cm95KCl7dGhpcy5fYnJva2VyU2VydmljZVNwYXduPy5kZXN0cm95KCl9X3VwZGF0ZUltcGwoZSl7Y29uc3QgdD10aGlzLl9jcm9zc2hhaXIueSxpPXRoaXMuX2NoYXJ0TW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuZm9udFNpemUudmFsdWUoKSxuPXRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkud2lkdGgoKSxyPXRoaXMuX2Nyb3NzaGFpci5tb2RlbCgpLnByaWNlQXhpc1JlbmRlcmVyT3B0aW9ucygpLG89aSsyKnRoaXMuX2Nyb3NzaGFpclByaWNlQXhpc1ZpZXcuYWRkaXRpb25hbFBhZGRpbmcoaSkrci5wYWRkaW5nVG9wK3IucGFkZGluZ0JvdHRvbSxhPW8sbD10LW8vMixjPXRoaXMuX2Nyb3NzaGFpci5wYW5lLGg9dGhpcy5fbWFpbkRhdGFTb3VyY2VPblBhbmUoKSxkPWgmJmguc3ltYm9sU291cmNlKCksdT0hIWQmJihkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCl8fGQuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCgpKTtpZih0aGlzLl91cGRhdGVHYU9yaWdpbigpLG51bGwhPT1oKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5wcmljZVNjYWxlKCk7cmV0dXJuIHQ/Lm1vZGUoKT8/bnVsbH0oaCksdD1oLmlkRm9yQWxlcnQoKSxpPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbj10aGlzLl9jcm9zc0hhaXJNZW51Q2FjaGVkU3RhdGUscj0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jcm9zc2hhaXJfbWVudSIpO251bGwhPT1uJiZuLmlkPT09dCYmKDAscy5kZWZhdWx0KShuLnByaWNlU2NhbGUsZSkmJm4uaXNDdXJyZW5jeU9yVW5pdENvbnZlcnRlZD09PXUmJm4uaXNJblJlcGxheT09PWkmJm4uaXNNZW51RW5hYmxlZD09PXJ8fCh0aGlzLl91cGRhdGVUb29sdGlwQW5kQWN0aW9uc0F2YWlsYWJpbGl0eShoLGUsdSksdGhpcy5fY3Jvc3NIYWlyTWVudUNhY2hlZFN0YXRlPXtpZDp0LHByaWNlU2NhbGU6ZSxpc0N1cnJlbmN5T3JVbml0Q29udmVydGVkOnUsaXNJblJlcGxheTppLGlzTWVudUVuYWJsZWQ6cn0pfW51bGwhPT1oJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoaCkmJmguc3ltYm9sKCk7Y29uc3QgcD1udWxsIT09YyYmKGMubWF4aW1pemVkKCkudmFsdWUoKXx8IWMuY29sbGFwc2VkKCkudmFsdWUoKSkmJnRoaXMuX2hhc0FjdGlvbnM7dGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRQYW5lTGFiZWxWaXNpYmxlKHApO2NvbnN0IF89dGhpcy5fcG9zaXRpb24oKTtpZihudWxsIT09Xyl7Y29uc3QgZT0wLHQ9bi1hLGk9Qm9vbGVhbihkZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnZhbHVlKCkpLHM9aT90aGlzLl9jcm9zc2hhaXIueDp2b2lkIDAscj12b2lkIDAhPT1zP3MtYS8yOiJsZWZ0Ij09PV8/ZTp0LGM9dm9pZCAwIT09cz9zK2EvMjoibGVmdCI9PT1fP2UrYTp0K2EsaD0oMCxQdC5ib3gpKG5ldyBQdC5Qb2ludChyLGwpLG5ldyBQdC5Qb2ludChjLGwrbykpO3RoaXMuX2RhdGE9e2l0ZW1Cb3g6aCxjbGlja0hhbmRsZXI6dGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzLF8saSxoKX0sdGhpcy5fY3Jvc3NoYWlyUHJpY2VBeGlzVmlldy5zZXRIaXRUZXN0RGF0YSh0aGlzLl9kYXRhKSx0aGlzLl9jcm9zc2hhaXJQcmljZUF4aXNWaWV3LnNldFhDb29yZChzKX1zdXBlci5fdXBkYXRlSW1wbChlKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLl9zY2FsZX1fdXBkYXRlR2FPcmlnaW4oKXt0aGlzLl9nYU9yaWdpbj1Cb29sZWFuKGRkLnNob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSk/IkNIIG1lbnUgY3Vyc29yIjoiQ0ggbWVudSJ9X3VwZGF0ZVRvb2x0aXBBbmRBY3Rpb25zQXZhaWxhYmlsaXR5KGUsdCxpKXt0aGlzLl9oYXNBY3Rpb25zPSExO2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5pc0luUmVwbGF5KCkudmFsdWUoKSxuPXMmJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCkscj0haSYmZS5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmIXMsbz0hdGhpcy5fb3B0aW9ucy5kaXNhYmxlRHJhd0hvcml6TGluZU1lbnVBY3Rpb24sYT0haSYmZT09PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpJiZudWxsIT10aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdCcm9rZXJTZXJ2aWNlLnZhbHVlKCkmJiFuO3RoaXMuX2hhc0FjdGlvbnM9YXx8cnx8b31faGFuZGxlQ2xpY2soZSx0LGkscyxuKXtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybiB2b2lkKDAsJG4uc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZToicGx1c01lbnUifSk7KDAsTXQudHJhY2tFdmVudCkodGhpcy5fZ2FPcmlnaW4sImNsaWNrIik7Y29uc3Qgcj10aGlzLl9tYWluRGF0YVNvdXJjZU9uUGFuZSgpLG89bnVsbCE9PXImJigwLElvLmlzU3ltYm9sU291cmNlKShyKT9yLnN5bWJvbCgpOm51bGwsYT17cGFnZVg6bi5wYWdlWCxwYWdlWTpuLnBhZ2VZLGNsaWVudFg6bi5jbGllbnRYLGNsaWVudFk6bi5jbGllbnRZLHNjcmVlblg6bi5zY3JlZW5YLHNjcmVlblk6bi5zY3JlZW5ZLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSxzeW1ib2w6b307JC5lbWl0KCJvblBsdXNDbGljayIsYSksdGhpcy5fZ2V0TWVudUl0ZW1zKGUpLnRoZW4oKHM9PntzLmxlbmd0aD4wJiZ0aGlzLl9zaG93Q29udGV4dE1lbnUocyx0LGksbixlKX0pKX1hc3luYyBfZ2V0TWVudUl0ZW1zKGUpewpjb25zdCB0PXRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpLGk9dC5zeW1ib2xJbmZvKCkscz10aGlzLl9vcHRpb25zLmRpc2FibGVUcmFkaW5nTWVudUFjdGlvbnM/bnVsbDp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdDaGFydENvbnRleHRNZW51U2VydmljZS52YWx1ZSgpPz9udWxsLG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkubWFpbkRhdGFTb3VyY2UoKSxyPXRoaXMuX2NoYXJ0TW9kZWwuaXNJblJlcGxheSgpLnZhbHVlKCksbz0hcixhPXImJiF0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXM/LnRyYWRpbmdGZWF0dXJlRmxhZ3NTZXJ2aWNlLnZhbHVlKCk/LmlzTmV3UmVwbGF5U3VwcG9ydGluZ1BsYXRmb3JtKCksYz1uPT09dCYmISgwLGhkLmlzTm9uVHJhZGFibGVTeW1ib2xUeXBlKShpPy50eXBlKSYmbnVsbCE9PXMmJiFhLGg9bz90aGlzLl9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKTpQcm9taXNlLnJlc29sdmUoW10pLGQ9Yz90aGlzLl9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCk6UHJvbWlzZS5yZXNvbHZlKFtdKSx1PXRoaXMuX2NyZWF0ZUFkZEhvcml6b250YWxMaW5lTWVudUl0ZW0oKTtyZXR1cm4gUHJvbWlzZS5hbGwoW2gsZCx1XSkudGhlbigoKFtlLHQsaV0pPT57dC5sZW5ndGg+MCYmKDAsbC5lbnN1cmVOb3ROdWxsKShzKS50cmFja0V2ZW50KHRoaXMuX2dhT3JpZ2luLCJjbGljayIpO2NvbnN0IG49ZS5sZW5ndGg+MCYmdC5sZW5ndGg+MDtyZXR1cm5bLi4uZSxuP25ldyBlcy5TZXBhcmF0b3I6bnVsbCwuLi50LChlLmxlbmd0aD4wfHx0Lmxlbmd0aD4wKSYmaS5sZW5ndGg+MD9uZXcgZXMuU2VwYXJhdG9yOm51bGwsLi4uaV0uZmlsdGVyKChlPT5udWxsIT09ZSkpfSkpfV9jcmVhdGVBbGVydE1lbnVJdGVtcyhlKXtpZihudWxsPT09dGhpcy5fY3Jvc3NoYWlyLnBhbmUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpO2lmKHguSW50ZXJ2YWwuaXNUaWNrcyh0KSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO2lmKCEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IG49dGhpcy5fY3Jvc3NoYWlyLnk7aWYodGhpcy5fb3B0aW9ucy5tZW51Rm9yTWFpblNvdXJjZU9ubHkpe2lmKGkuYWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpLnZhbHVlKCkmJmkuaXNWaXNpYmxlKCkpe2NvbnN0IGU9bGQodGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKSx0aGlzLl9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoaSxuLCExKSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsPT09ZT9bXTpbZV0pfXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pfWNvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSkuc291cmNlc0J5R3JvdXAoKTtsZXQgbz0oImxlZnQiPT09ZT9yLmxlZnRQcmljZVNjYWxlc1NvdXJjZXMoKTpyLnJpZ2h0UHJpY2VTY2FsZXNTb3VyY2VzKCkpLmZpbHRlcigoZT0+KDAsSHMuaXNQcmljZURhdGFTb3VyY2UpKGUpKSkuZmlsdGVyKChlPT5lLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS52YWx1ZSgpJiZlLmlzVmlzaWJsZSgpKSk7cmV0dXJuIG8ucmV2ZXJzZSgpLG89KDAsZy5tb3ZlVG9IZWFkKShvLHRoaXMuX2NoYXJ0TW9kZWwubWFpblNlcmllcygpKSwoMCxpZC5maWx0ZXJBY2Nlc3NpYmxlRGF0YVNvdXJjZXMpKG8pLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBTZXQoZSksaT1bXTtmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBzPWxkKHRoaXMuX2NoYXJ0TW9kZWwudW5kb01vZGVsKCksdGhpcy5fZ2V0QWRkQWxlcnRBY3Rpb25PcHRpb25zKGUsbiwhdC5oYXMoZSkpKTtudWxsIT09cyYmaS5wdXNoKHMpfXJldHVybiBpfSkpfV9nZXRBZGRBbGVydEFjdGlvbk9wdGlvbnMoZSx0LGkpe3JldHVybntkYXRhU291cmNlOmUseTp0LGRpc2FibGVkOmksYW5hbHl0aWNzT3B0OnttZXRob2Q6ImNyb3NzaGFpcl9tZW51Iixzb3VyY2U6ImNoYXJ0IixhY3Rpb25Tb3VyY2U6ImNyb3NzaGFpcl9tZW51IixnYU9yaWdpbjp0aGlzLl9nYU9yaWdpbn19fV9jcmVhdGVUcmFkaW5nTWVudUl0ZW1zKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIueSx0PXRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcz8udHJhZGluZ0NoYXJ0Q29udGV4dE1lbnVTZXJ2aWNlLnZhbHVlKCk/P251bGw7aWYobnVsbD09PXR8fG51bGw9PT10aGlzLl9jcm9zc2hhaXIucGFuZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtjb25zdCBpPXRoaXMuX2Nyb3NzaGFpci5wYW5lLm1haW5EYXRhU291cmNlKCk7aWYobnVsbD09PWkpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3Qgcz1pLnN5bWJvbFNvdXJjZSgpO3JldHVybiEhcyYmKHMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3koKXx8cy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkpP1Byb21pc2UucmVzb2x2ZShbXSk6KDAsdGQuY3JlYXRlVHJhZGVDb250ZXh0KSh7c2VyaWVzOmksaXNNYWluQ2hhcnQ6ITEseTplfSkudGhlbigoZT0+dC5nZXRDaGFydENvbnRleHRNZW51QWN0aW9ucyhlLHtvbmx5TWFpbkFjdGlvbnM6ITAsaGlkZU5vdEV4ZWN1dGFibGVBY3Rpb246ITAsZ2FPcmlnaW46dGhpcy5fZ2FPcmlnaW59KSkpfWFzeW5jIF9jcmVhdGVBZGRIb3Jpem9udGFsTGluZU1lbnVJdGVtKCl7aWYobnVsbD09PXRoaXMuX2Nyb3NzaGFpci5wYW5lKXJldHVybltdO2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCB0PXRoaXMuX2Nyb3NzaGFpci55LGk9YXdhaXQgdGhpcy5fZ2V0QWN0aW9uQWRkSG9yaXpvbnRhbExpbmUoe3NvdXJjZTplLHk6dCxwYW5lOnRoaXMuX2Nyb3NzaGFpci5wYW5lfSkKO3JldHVybiBudWxsPT09aT9bXTpbaV19YXN5bmMgX2dldEFjdGlvbkFkZEhvcml6b250YWxMaW5lKGUpe2lmKHRoaXMuX29wdGlvbnMuZGlzYWJsZURyYXdIb3JpekxpbmVNZW51QWN0aW9uKXJldHVybiBudWxsO2NvbnN0e3NvdXJjZTp0LHk6aSxwYW5lOnN9PWUsbj10aGlzLl9nZXRWYWx1ZSh0LGkpO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2NvbnN0e2NyZWF0ZURyYXdIb3Jpem9udGFsTGluZUFjdGlvbjpyfT1hd2FpdCgwLHNzLmFjdGlvbnNQcm92aWRlck1vZHVsZSkoKTtyZXR1cm4gcih0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHMse2luZGV4OjAscHJpY2U6bn0pfV9nZXRWYWx1ZShlLHQpe2NvbnN0IGk9ZS5wcmljZVNjYWxlKCkscz1lLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1zP251bGw6aS5jb29yZGluYXRlVG9QcmljZSh0LHMpfV9zaG93Q29udGV4dE1lbnUoZSx0LGkscyxuKXtjb25zdCByPSJsZWZ0Ij09PW47c2V0VGltZW91dCgoKCk9Pntjb25zdCBuPXMuY2xpZW50WC1zLmxvY2FsWCxvPXMuY2xpZW50WS1zLmxvY2FsWSxhPWkubWluLngrbixjPWkubWF4LngrbixoPWkubWluLnkrbyxkPWMtYSx1PWkubWF4Lnkrby1oLHA9dD9ULmNyb3NzaGFpckxvY2sudmFsdWUoKTp2b2lkIDA7aWYodm9pZCAwIT09cCl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKHRoaXMuX2Nyb3NzaGFpci5pbmRleCkpO1QuY3Jvc3NoYWlyTG9jay5zZXRWYWx1ZSh7dHlwZToxLHByaWNlOnRoaXMuX2Nyb3NzaGFpci5wcmljZSx0aW1lOmUsbW9kZWxJZDp0aGlzLl9jaGFydE1vZGVsLmlkKCkscGFuZUlkOigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fY3Jvc3NoYWlyLnBhbmUpLmlkKCl9KX1OaS5Db250ZXh0TWVudU1hbmFnZXIuc2hvd01lbnUoZSx7Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFksYm94Ont4OmEsdzpkLHk6aCxoOnV9LGF0dGFjaFRvWEJ5OnQ/ImF1dG8iOnI/ImxlZnQiOiJyaWdodCIsYXR0YWNoVG9ZQnk6ImF1dG8tc3RyaWN0IixtYXJnaW5YOnQ/MDotZH0se3N0YXROYW1lOnQ/IkNvbnRleHRQbHVzTWVudSI6IlNjYWxlUGx1c01lbnUifSx7bWVudU5hbWU6IkNyb3NzaGFpck1lbnVWaWV3In0sKCgpPT57dm9pZCAwIT09cCYmVC5jcm9zc2hhaXJMb2NrLnNldFZhbHVlKHApfSkpfSkpfV9tYWluRGF0YVNvdXJjZU9uUGFuZSgpe2NvbnN0IGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmU7cmV0dXJuIG51bGwhPT1lP2UubWFpbkRhdGFTb3VyY2UoKTpudWxsfX1jbGFzcyBwZCBleHRlbmRzIEdoLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fZGF0YT1lfWhpdFRlc3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyP251bGw6bmV3IE1pLkhpdFRlc3RSZXN1bHQoTWkuSGl0VGFyZ2V0LkN1c3RvbSx7Y2xpY2tIYW5kbGVyOnRoaXMuX2RhdGEuY2xpY2tIYW5kbGVyLHRhcEhhbmRsZXI6dGhpcy5fZGF0YS5jbGlja0hhbmRsZXJ9KX1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhLnZlcnRMaW5lc1Zpc2libGUsaT10aGlzLl9kYXRhLmhvcnpMaW5lc1Zpc2libGU7aWYoIXQmJiFpKXJldHVybjtjb25zdHtjb250ZXh0OnMsaG9yaXpvbnRhbFBpeGVsUmF0aW86bix2ZXJ0aWNhbFBpeGVsUmF0aW86cixiaXRtYXBTaXplOm99PWU7cy5saW5lV2lkdGg9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHRoaXMuX2RhdGEubGluZVdpZHRoKm4pKSxzLnN0cm9rZVN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixzLmxpbmVDYXA9ImJ1dHQiLCgwLERpLnNldExpbmVTdHlsZSkocyx0aGlzLl9kYXRhLmxpbmVTdHlsZSk7Y29uc3QgYT1NYXRoLnJvdW5kKHRoaXMuX2RhdGEueCpuKSxsPU1hdGgucm91bmQodGhpcy5fZGF0YS55KnIpLGM9TWF0aC5jZWlsKG8ud2lkdGgqbiksaD1NYXRoLmNlaWwoby5oZWlnaHQqcik7dCYmYT49MCYmKDAsRGkuZHJhd1ZlcnRpY2FsTGluZSkocyxhLDAsaCksaSYmbD49MCYmKDAsRGkuZHJhd0hvcml6b250YWxMaW5lKShzLGwsMCxjKSx0aGlzLl9kYXRhLmRyYXdDZW50ZXImJihzLmJlZ2luUGF0aCgpLHMuYXJjKGEsbCxNYXRoLnJvdW5kKDMqbiksMCwyKk1hdGguUEksITApLHMuZmlsbFN0eWxlPXRoaXMuX2RhdGEuY29sb3Iscy5maWxsKCkpLHRoaXMuX2RhdGEuc2Npc3NvcnMmJmZ1bmN0aW9uKGUsdCxpKXtjb25zdHtjb250ZXh0OnMsYml0bWFwU2l6ZTpuLGhvcml6b250YWxQaXhlbFJhdGlvOnIsdmVydGljYWxQaXhlbFJhdGlvOm99PWUsYT0yNCpyLGw9TWF0aC5yb3VuZCh0LWEvMik7bGV0IGM9TWF0aC5yb3VuZChpLWEvMik7aWYoYzwwKWM9MDtlbHNle2NvbnN0IGU9bi5oZWlnaHQtYTtjPmUmJihjPWUpfXMudHJhbnNsYXRlKGwsYykscy5zY2FsZShyLG8pLHMuZmlsbFN0eWxlPSIjMGYwZjBmIixzLmZpbGwoX2QpLHMuc3Ryb2tlU3R5bGU9IiNmZmYiLHMubGluZVdpZHRoPTEscy5zdHJva2UoX2QpfShlLGEsbCl9fSFmdW5jdGlvbihlKXsKZS5QYXRoPSJtMTUuNjggMy43Mi0zLjgyIDUuNTItMy44My01LjUyLS4yOC0uNDItLjQyLjNhMi44NCAyLjg0IDAgMCAwLS42OCAzLjkybDMuMjcgNC43My0xLjE2IDEuNjhhMy4zNCAzLjM0IDAgMCAwLTQuMjYgMy4yMiAzLjM0IDMuMzQgMCAwIDAgMy4zMiAzLjM1IDMuMzQgMy4zNCAwIDAgMCAzLjA4LTQuNmwxLTEuNDQgMS4xMyAxLjYyYTMuMzQgMy4zNCAwIDAgMCAzLjE1IDQuNDJjMS44NCAwIDMuMzItMS41IDMuMzItMy4zNWEzLjM0IDMuMzQgMCAwIDAtNC40Mi0zLjE3bC0xLjIzLTEuNzggMy4yMi00LjY1YTIuODYgMi44NiAwIDAgMC0uNjktMy45NmwtLjQxLS4yOS0uMjkuNDJaTTcuODIgMTYuMjdjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS4zOS44Ny0uODYuODdhLjg3Ljg3IDAgMCAxLS44Ni0uODdjMC0uNS40LS44OC44Ni0uODhabTguMzYgMGMuNDcgMCAuODYuMzkuODYuODggMCAuNDgtLjQuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuMzktLjg4Ljg2LS44OFoiLGVbZS5TaXplPTI0XT0iU2l6ZSIsZS5GaWxsQ29sb3I9IiMwZjBmMGYiLGUuU3Ryb2tlQ29sb3I9IiNmZmYiLGVbZS5TdHJva2VXaWR0aD0xXT0iU3Ryb2tlV2lkdGgifShjZHx8KGNkPXt9KSk7Y29uc3QgX2Q9bmV3IFBhdGgyRCgibTE1LjY4IDMuNzItMy44MiA1LjUyLTMuODMtNS41Mi0uMjgtLjQyLS40Mi4zYTIuODQgMi44NCAwIDAgMC0uNjggMy45MmwzLjI3IDQuNzMtMS4xNiAxLjY4YTMuMzQgMy4zNCAwIDAgMC00LjI2IDMuMjIgMy4zNCAzLjM0IDAgMCAwIDMuMzIgMy4zNSAzLjM0IDMuMzQgMCAwIDAgMy4wOC00LjZsMS0xLjQ0IDEuMTMgMS42MmEzLjM0IDMuMzQgMCAwIDAgMy4xNSA0LjQyYzEuODQgMCAzLjMyLTEuNSAzLjMyLTMuMzVhMy4zNCAzLjM0IDAgMCAwLTQuNDItMy4xN2wtMS4yMy0xLjc4IDMuMjItNC42NWEyLjg2IDIuODYgMCAwIDAtLjY5LTMuOTZsLS40MS0uMjktLjI5LjQyWk03LjgyIDE2LjI3Yy40NyAwIC44Ni4zOS44Ni44OCAwIC40OC0uMzkuODctLjg2Ljg3YS44Ny44NyAwIDAgMS0uODYtLjg3YzAtLjUuNC0uODguODYtLjg4Wm04LjM2IDBjLjQ3IDAgLjg2LjM5Ljg2Ljg4IDAgLjQ4LS40Ljg3LS44Ni44N2EuODcuODcgMCAwIDEtLjg2LS44N2MwLS41LjM5LS44OC44Ni0uODhaIik7Y29uc3QgbWQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXTtjbGFzcyBnZHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3JlbmRlcmVyRGF0YT17fSx0aGlzLl9yZW5kZXJlcj1uZXcgcGQodGhpcy5fcmVuZGVyZXJEYXRhKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9wYW5lPXR9dXBkYXRlKCl7fXJlbmRlcmVyKCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdD10aGlzLl9zb3VyY2UubG9ja2VkUGFuZSgpLGk9KHRoaXMuX3NvdXJjZS52aXNpYmxlfHxudWxsIT09dCkmJih0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlfHxlKSYmIXRoaXMuX3NvdXJjZS5saW5lc1Nob3VsZEJlSGlkZGVuKCkscz10aGlzLl9yZW5kZXJlckRhdGE7aWYoIWl8fG51bGw9PT10aGlzLl9wYW5lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fc291cmNlLnBhbmVGb3JQb2ludFNlbGVjdCgpLHI9dGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCksbz10Pz90aGlzLl9zb3VyY2UucGFuZSxhPXRoaXMuX3BhbmU9PT1vLGM9cnx8KG51bGwhPT1uP289PT1uJiZ0aGlzLl9wYW5lPT09bjphKTtpZihzLnNjaXNzb3JzPSExLGUmJihyfHx0aGlzLl9zb3VyY2UuaXNPbkhvdmVyZWRDaGFydFdpZGdldCgpKSYmYyl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NvdXJjZS5wb2ludFRvU2VsZWN0KCkpO3MuY29sb3I9dGhpcy5fc291cmNlLmxpbmVDb2xvcigpfHxtZCxyPyhzLmxpbmVXaWR0aD0yLHMuc2Npc3NvcnM9YSk6cy5saW5lV2lkdGg9MSxzLmxpbmVTdHlsZT1LaC5MSU5FU1RZTEVfU09MSUQscy5ob3J6TGluZXNWaXNpYmxlPSEwLHMudmVydExpbmVzVmlzaWJsZT0hMCxzLmRyYXdDZW50ZXI9ITEsInRpbWUiPT09ZT9zLmhvcnpMaW5lc1Zpc2libGU9ITE6InByaWNlIj09PWUmJihzLnZlcnRMaW5lc1Zpc2libGU9ITEpfWVsc2V7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLHQ9VC50b29sLnZhbHVlKCksaT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLG49aS5pc1RvdWNoJiYhaS5zdHlsdXMmJigoMCxtLmlzTGluZVRvb2xOYW1lKSh0KXx8KDAsVC50b29sSXNNZWFzdXJlKSh0KSk7bGV0IHI7cj1uP21kOmUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjb25zdCBhPWUuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnZhbHVlKCk7IW4mJmE+MCYmKHI9KDAsJGkuZ2VuZXJhdGVDb2xvcikocixhKSk7Y29uc3QgbD0hdGhpcy5fcGFuZS5tb2RlbCgpLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCkmJnRoaXMuX3BhbmU9PT1vJiYodGhpcy5fcGFuZS5tYXhpbWl6ZWQoKS52YWx1ZSgpfHwhdGhpcy5fcGFuZS5jb2xsYXBzZWQoKS52YWx1ZSgpKTtzLmNvbG9yPXIscy5ob3J6TGluZXNWaXNpYmxlPWwscy52ZXJ0TGluZXNWaXNpYmxlPSEwLHMubGluZVdpZHRoPWUuY2hpbGRzKCkud2lkdGgudmFsdWUoKSxzLmxpbmVTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkscy5kcmF3Q2VudGVyPW4mJnRoaXMuX3BhbmU9PT1vfXJldHVybiBzLng9dGhpcy5fc291cmNlLmxvY2tlZFgoKT8/dGhpcy5fc291cmNlLngscy55PXRoaXMuX3NvdXJjZS5sb2NrZWRZKCk/P3RoaXMuX3NvdXJjZS55LHRoaXMuX3JlbmRlcmVyfX12YXIgZmQ9aSgzNjk0NDApO2NvbnN0IFNkPXtiYWNrZ3JvdW5kQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSw3MCksYm9yZGVyQ29sb3I6KDAsJGkuZ2VuZXJhdGVDb2xvcikoWG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSwyMCl9O2NsYXNzIHZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlciwKdGhpcy5fcmVjdGFuZ2xlPW51bGwsdGhpcy5fY3Jvc3NoYWlyPWV9dXBkYXRlKCl7Y29uc3QgZT10aGlzLl9jcm9zc2hhaXIuc2VsZWN0aW9uKCk7bnVsbCE9PWUmJm51bGwhPT10aGlzLl9jcm9zc2hhaXIucGFuZT90aGlzLl9yZWN0YW5nbGU9dGhpcy5fY3Jvc3NoYWlyLnBhbmUubG9naWNhbFJlY3RUb1BpeGVscyhlKTp0aGlzLl9yZWN0YW5nbGU9bnVsbH1yZW5kZXJlcigpe2lmKCF0aGlzLl9yZWN0YW5nbGUpcmV0dXJuIG51bGw7Y29uc3QgZT17YmFja2NvbG9yOlNkLmJhY2tncm91bmRDb2xvcixjb2xvcjpTZC5ib3JkZXJDb2xvcixmaWxsQmFja2dyb3VuZDohMCxsaW5ld2lkdGg6MSxwb2ludHM6W3RoaXMuX3JlY3RhbmdsZS5taW4sdGhpcy5fcmVjdGFuZ2xlLm1heF0sZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07cmV0dXJuIHRoaXMuX3JlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fcmVuZGVyZXJ9fXZhciB5ZD1pKDIxMjM0NiksYmQ9aSg5NjkxNjgpLHdkPWkoODg0MjgpLENkPWkoNjY0ODE1KSxQZD1pKDQ3MDk4NiksVGQ9aSg3ODkxOTApLHhkPWkoNjYwMTYxKTtjb25zdCBNZD1wLnQobnVsbCx2b2lkIDAsaSgzMzgwOTMpKSxJZD1wLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxpKDU5NjE2OCkpLExkPSgwLE9sLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKCksQWQ9bmV3IHlkLlRpbWVTcGFuRm9ybWF0dGVyLGtkPSgwLE9sLmdldFZvbHVtZUZvcm1hdHRlcikoKSxEZD0oMCxYby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksRWQ9KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxSZD17YmdDb2xvclBvc2l0aXZlOigwLCRpLmdlbmVyYXRlQ29sb3IpKERkLDgwKSxiZ0NvbG9yTmVnYXRpdmU6KDAsJGkuZ2VuZXJhdGVDb2xvcikoRWQsODApLGNvbG9yUG9zaXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yTmVnYXRpdmU6KDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC00MDAiKSxsYWJlbEJnQ29sb3JQb3NpdGl2ZTpEZCxsYWJlbEJnQ29sb3JOZWdhdGl2ZTpFZH07dmFyIFZkLEJkOyFmdW5jdGlvbihlKXtlW2UuTWluQXJyb3dEaXN0YW5jZT01MF09Ik1pbkFycm93RGlzdGFuY2UifShWZHx8KFZkPXt9KSk7Y2xhc3MgTmR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ob3J6VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl92ZXJ0VHJlblJlbmRlcmVyPW5ldyBDZC5UcmVuZExpbmVSZW5kZXJlcix0aGlzLl9iZ1JlbmRlcmVyPW5ldyBmZC5SZWN0YW5nbGVSZW5kZXJlcix0aGlzLl9sYWJlbFJlbmRlcmVyPW5ldyBQZC5UZXh0UmVuZGVyZXIsdGhpcy5fcDE9bnVsbCx0aGlzLl9wMj1udWxsLHRoaXMuX3NvdXJjZT1lLHRoaXMuX3BhbmU9dH11cGRhdGUoZSl7Y29uc3RbdCxpXT10aGlzLl9zb3VyY2UubWVhc3VyZVBvaW50cygpO2lmKHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX3AxPW51bGwsdm9pZCh0aGlzLl9wMj1udWxsKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc291cmNlLm1lYXN1cmVQYW5lKCkudmFsdWUoKSksbj10LnByaWNlLHI9aS5wcmljZSxvPWkuaW5kZXgtdC5pbmRleCxhPSgwLGJkLmZvcmNlTFRSU3RyKSgiIitvKSxjPSgwLGwuZW5zdXJlTm90TnVsbCkocy5tYWluRGF0YVNvdXJjZSgpKSxoPWMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1oKXJldHVybiB0aGlzLl9wMT1udWxsLHZvaWQodGhpcy5fcDI9bnVsbCk7Y29uc3QgZD10aGlzLl9zb3VyY2UubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZSh0LmluZGV4KSx1PXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKGkuaW5kZXgpLHA9cy5kZWZhdWx0UHJpY2VTY2FsZSgpLnByaWNlVG9Db29yZGluYXRlKG4saCksXz1zLmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUocixoKTt0aGlzLl9wMT1uZXcgUHQuUG9pbnQoZCxwKSx0aGlzLl9wMj1uZXcgUHQuUG9pbnQodSxfKTtjb25zdCBtPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZSh0LmluZGV4KSxnPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmluZGV4VG9Vc2VyVGltZShpLmluZGV4KTtsZXQgZj1udWxsO251bGwhPT1tJiZudWxsIT09ZyYmKGY9KGcudmFsdWVPZigpLW0udmFsdWVPZigpKS8xZTMpO2NvbnN0IFM9ci1uLHY9MTAwKlMvTWF0aC5hYnMobikseT10aGlzLl9wYW5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxiPXkmJigwLE9sLmdldFBpcEZvcm1hdHRlcikoeSksdz0oMCxsLmVuc3VyZU5vdE51bGwpKGMuZm9ybWF0dGVyKCkpLEM9KHcuZm9ybWF0Q2hhbmdlPy4ocixuKT8/dy5mb3JtYXQoUykpKyIgKCIrTGQuZm9ybWF0KE1hdGgucm91bmQoMTAwKnYpLzEwMCkrIikgIisoYj9iLmZvcm1hdChTKToiIiksUD1udWxsIT09Zj9BZC5mb3JtYXQoZik6bnVsbCxUPW51bGwhPT1QPyIsICIrKDAsYmQuc3RhcnRXaXRoTFRSKShQKToiIjtsZXQgeD0oMCxiZC5mb3JjZUxUUlN0cikoQykrIlxuIitNZC5mb3JtYXQoe2NvdW50OmF9KStUO2NvbnN0IE09dGhpcy5fc291cmNlLm1lYXN1cmVWb2x1bWUoKTtOdW1iZXIuaXNOYU4oTSl8fCh4Kz1gXG4ke0lkfSAke2tkLmZvcm1hdChNKX1gKTtjb25zdCBJPXI8bj9SZC5iZ0NvbG9yTmVnYXRpdmU6UmQuYmdDb2xvclBvc2l0aXZlLEw9cjxuP1JkLmNvbG9yTmVnYXRpdmU6UmQuY29sb3JQb3NpdGl2ZSxBPXI8bj9SZC5sYWJlbEJnQ29sb3JOZWdhdGl2ZTpSZC5sYWJlbEJnQ29sb3JQb3NpdGl2ZSxrPXtwb2ludHM6W3RoaXMuX3AxLHRoaXMuX3AyXSxsaW5ld2lkdGg6MCxmaWxsQmFja2dyb3VuZDohMCxjb2xvcjpJLGJhY2tjb2xvcjpJLGV4dGVuZExlZnQ6ITEsZXh0ZW5kUmlnaHQ6ITF9O3RoaXMuX2JnUmVuZGVyZXIuc2V0RGF0YShrKTtjb25zdCBEPXRoaXMuX3AxLmFkZCh0aGlzLl9wMikuc2NhbGVkKC41KTt7CmNvbnN0IGU9TWF0aC5yb3VuZChELnkpLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3AxLngsZSksaT1uZXcgUHQuUG9pbnQodGhpcy5fcDIueCxlKSxzPXtwb2ludHM6W3QsaV0sY29sb3I6TCxsaW5ld2lkdGg6MSxsaW5lc3R5bGU6S2guTElORVNUWUxFX1NPTElELGV4dGVuZGxlZnQ6ITEsZXh0ZW5kcmlnaHQ6ITEsbGVmdGVuZDp4ZC5MaW5lRW5kLk5vcm1hbCxyaWdodGVuZDpNYXRoLmFicyh0LngtaS54KT49NTA/eGQuTGluZUVuZC5BcnJvdzp4ZC5MaW5lRW5kLk5vcm1hbH07dGhpcy5faG9yelRyZW5SZW5kZXJlci5zZXREYXRhKHMpfXtjb25zdCBlPU1hdGgucm91bmQoRC54KSx0PW5ldyBQdC5Qb2ludChlLHRoaXMuX3AxLnkpLGk9bmV3IFB0LlBvaW50KGUsdGhpcy5fcDIueSkscz17cG9pbnRzOlt0LGldLGNvbG9yOkwsbGluZXdpZHRoOjEsbGluZXN0eWxlOktoLkxJTkVTVFlMRV9TT0xJRCxleHRlbmRsZWZ0OiExLGV4dGVuZHJpZ2h0OiExLGxlZnRlbmQ6eGQuTGluZUVuZC5Ob3JtYWwscmlnaHRlbmQ6TWF0aC5hYnModC55LWkueSk+PTUwP3hkLkxpbmVFbmQuQXJyb3c6eGQuTGluZUVuZC5Ob3JtYWx9O3RoaXMuX3ZlcnRUcmVuUmVuZGVyZXIuc2V0RGF0YShzKX1jb25zdCBFPXt4OjAseToxMH0sUj0uNSoodGhpcy5fcDEueCt0aGlzLl9wMi54KSxWPXRoaXMuX3AyLnksQj1uZXcgUHQuUG9pbnQoUixWKSxOPXtwb2ludHM6W0JdLHRleHQ6eCxjb2xvcjoiI0ZGRkZGRiIsaG9yekFsaWduOndkLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOndkLlZlcnRpY2FsQWxpZ24uTWlkZGxlLGZvbnQ6V2kuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSxvZmZzZXRYOkUueCxvZmZzZXRZOkUueSxib2xkOiExLGl0YWxpYzohMSxmb250c2l6ZToxMixsaW5lU3BhY2luZzo4LGJhY2tncm91bmRDb2xvcjpBLGJveFBhZGRpbmdWZXJ0OjksYm94UGFkZGluZ0hvcno6OSxiYWNrZ3JvdW5kUm91bmRSZWN0OjR9O3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0RGF0YShOKTtjb25zdCBPPXRoaXMuX2xhYmVsUmVuZGVyZXIubWVhc3VyZSgpLFc9KDAsUGQuY2FsY3VsYXRlTGFiZWxQb3NpdGlvbikoTyx0aGlzLl9wMSx0aGlzLl9wMixFLHRoaXMuX3BhbmUuaGVpZ2h0KCkpO3RoaXMuX2xhYmVsUmVuZGVyZXIuc2V0UG9pbnRzKFtXXSl9cmVuZGVyZXIoKXtpZihudWxsPT09dGhpcy5fcDF8fG51bGw9PT10aGlzLl9wMilyZXR1cm4gbnVsbDtjb25zdCBlPW5ldyBUZC5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gZS5hcHBlbmQodGhpcy5fYmdSZW5kZXJlciksZS5hcHBlbmQodGhpcy5faG9yelRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fdmVydFRyZW5SZW5kZXJlciksZS5hcHBlbmQodGhpcy5fbGFiZWxSZW5kZXJlciksZX19IWZ1bmN0aW9uKGUpe2VbZS5MaWdodD0wXT0iTGlnaHQiLGVbZS5EYXJrPTFdPSJEYXJrIn0oQmR8fChCZD17fSkpO3ZhciBPZD1pKDQ1NzApO2NsYXNzIFdkIGV4dGVuZHMgRmEuTWVkaWFDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3N2Z01hcD1uZXcgTWFwLHRoaXMuX2RhdGE9ZSx0aGlzLl9zdmdNYXAuc2V0KGUudGhlbWUsdGhpcy5fY3JlYXRlU3ZnUmVuZGVyZXIoZS50aGVtZSkpfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1zZXREYXRhKGUpe3RoaXMuX3N2Z01hcC5oYXMoZS50aGVtZSl8fHRoaXMuX3N2Z01hcC5zZXQoZS50aGVtZSx0aGlzLl9jcmVhdGVTdmdSZW5kZXJlcihlLnRoZW1lKSksdGhpcy5fZGF0YT1lfV9kcmF3SW1wbChlKXtjb25zdHtjb250ZXh0OnQsbWVkaWFTaXplOml9PWUse3RoZW1lOnMseDpufT10aGlzLl9kYXRhLHI9dGhpcy5fc3ZnTWFwLmdldChzKTtpZighcilyZXR1cm47Y29uc3Qgbz1yLnZpZXdCb3goKSx7d2lkdGg6YSxoZWlnaHQ6bH09byxjPWEvMjtuK2M8MHx8bi1jPmkud2lkdGh8fCh0LnRyYW5zbGF0ZShuLWMsaS5oZWlnaHQtbCksci5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDpvfSkpfV9jcmVhdGVTdmdSZW5kZXJlcihlKXtjb25zdCB0PTE9PT1lP09kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIikpLnJlcGxhY2UoImxpbmVDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNDUwIikpOk9kLnJlcGxhY2UoImJhY2tncm91bmRDb2xvciIsKDAsWG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci13aGl0ZSIpKS5yZXBsYWNlKCJsaW5lQ29sb3IiLCgwLFhvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpKTtyZXR1cm4oMCxWaS5zdmdSZW5kZXJlcikodCl9fWNsYXNzIEZke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX3JlbmRlcmVyPW5ldyBXZCh0aGlzLl9nZXRSZW5kZXJEYXRhKDApKX11cGRhdGUoKXt9cmVuZGVyZXIoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS52aXNpYmxlJiZ0aGlzLl9zb3VyY2UuYXJlTGluZXNWaXNpYmxlLHQ9dGhpcy5fc291cmNlLmxvY2tlZFgoKSxpPTA9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZTtyZXR1cm4gZSYmaSYmbnVsbCE9PXQ/KHRoaXMuX3JlbmRlcmVyLnNldERhdGEodGhpcy5fZ2V0UmVuZGVyRGF0YSh0KzEpKSx0aGlzLl9yZW5kZXJlcik6bnVsbH1fZ2V0UmVuZGVyRGF0YShlKXtyZXR1cm57eDplLHRoZW1lOnRoaXMuX3NvdXJjZS5tb2RlbCgpLmRhcmsoKS52YWx1ZSgpPzE6MH19fWNvbnN0IEhkPTMwO2NsYXNzIHpke2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9yZW5kZXJlcj1uZXcgZmQuUmVjdGFuZ2xlUmVuZGVyZXIsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsdGhpcy5fcGFuZT10LHRoaXMuX21vZGVsPWl9dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX3JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fcmVuZGVyZXIuc2V0RGF0YShudWxsKSwKIXRoaXMuX3BhbmV8fCF0aGlzLl9zb3VyY2UudmlzaWJsZSlyZXR1cm47aWYoIXRoaXMuX3NvdXJjZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5sYXN0VmFsdWVEYXRhKHZvaWQgMCwhMCwhMCkuaW5kZXgpcmV0dXJuO2NvbnN0IGU9bmV3IFB0LlBvaW50KHRoaXMuX3NvdXJjZS5sb2NrZWRYKCk/P3RoaXMuX3NvdXJjZS54LDApLHQ9bmV3IFB0LlBvaW50KHRoaXMuX3BhbmUud2lkdGgoKSx0aGlzLl9wYW5lLmhlaWdodCgpKSxpPXtiYWNrY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksY29sb3I6KDAsJGkuYXBwbHlUcmFuc3BhcmVuY3kpKHRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKC41KSxIZCksZmlsbEJhY2tncm91bmQ6ITAsbGluZXdpZHRoOjAscG9pbnRzOltlLHRdLGRpc2FibGVJbnRlcmFjdGlvbnM6ITAsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMX07dGhpcy5fcmVuZGVyZXIuc2V0RGF0YShpKX19dmFyIFVkPWkoNzc5NTE2KSxHZD1pKDY0MDI5Mik7Y2xhc3MgamQgZXh0ZW5kcyBVZC5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX2RhdGVJdGVtPW5ldyBVZC5EYXRhV2luZG93SXRlbSgiIixwLnQobnVsbCx2b2lkIDAsaSg1MDc3MjkpKSwiIiksdGhpcy5fdGltZUl0ZW09bmV3IFVkLkRhdGFXaW5kb3dJdGVtKCIiLHAudChudWxsLHZvaWQgMCxpKDg2MjExOSkpLCIiKSx0aGlzLl9tb2RlbD1lLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fZGF0ZUl0ZW0pLHRoaXMuX2l0ZW1zLnB1c2godGhpcy5fdGltZUl0ZW0pfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31fdXBkYXRlSW1wbCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmlzRFdNKCk7aWYodGhpcy5fdGltZUl0ZW0uc2V0VmlzaWJsZSghZSksdGhpcy5fdGltZUl0ZW0uc2V0VmFsdWUoR2Qubm90QXZhaWxhYmxlKSx0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZShHZC5ub3RBdmFpbGFibGUpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47bGV0IHQ9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCk7aWYoISgwLGEuaXNOdW1iZXIpKHQpKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5kYXRhKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybjt0PWUuaW5kZXh9Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVXNlclRpbWUodCk7bnVsbCE9PWkmJih0aGlzLl9kYXRlSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSxlfHx0aGlzLl90aW1lSXRlbS5zZXRWYWx1ZSh0aGlzLl9tb2RlbC50aW1lRm9ybWF0dGVyKCkuZm9ybWF0KGkpKSl9fXZhciBxZD1pKDkyNzE4Nyk7Y29uc3QgJGQ9WG8uY29sb3JzUGFsZXR0ZVsiY29sb3ItdHYtYmx1ZS01MDAiXSxZZD1wLnQobnVsbCx7Y29udGV4dDoiUmVwbGF5In0saSgxNTc0MTcpKTtjbGFzcyBLZCBleHRlbmRzIHFkLlRpbWVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQsaSxzPSExKXtzdXBlcihlKSx0aGlzLl9pbmRleFByb3ZpZGVyPWksdGhpcy5faGlnaGxpZ2h0ZWQ9cyx0aGlzLl9zb3VyY2U9dCx0aGlzLl9wcm9wZXJ0aWVzPWUucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXN9X2dldFRleHQoZSl7aWYodGhpcy5fc291cmNlLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaW5kZXhUb1VzZXJUaW1lKGUpO3JldHVybiBudWxsIT09dD9gJHtZZH06ICR7dGhpcy5fbW9kZWwuZGF0ZVRpbWVGb3JtYXR0ZXIoKS5mb3JtYXQodCl9YDoiIn1yZXR1cm4gc3VwZXIuX2dldFRleHQoZSl9X2dldEJnQ29sb3IoKXtpZih0aGlzLl9zb3VyY2UuaXNSZXBsYXlTZWxlY3Rpb24oKSlyZXR1cm4gJGQ7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3JldHVybiB0aGlzLl9oaWdobGlnaHRlZD9lLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQ29tbW9uLnZhbHVlKCk6dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JEYXJrLnZhbHVlKCk6ZS5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodC52YWx1ZSgpfV9nZXRJbmRleCgpe3JldHVybiB0aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS52aXNpYmxlfHxudWxsIT09dGhpcy5fc291cmNlLmxvY2tlZFBhbmUoKT90aGlzLl9pbmRleFByb3ZpZGVyKCk6bnVsbH1faXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsLnZhbHVlKCl9fXZhciBYZCxaZD1pKDkyMjk2MiksSmQ9aSg4MzUzMyk7IWZ1bmN0aW9uKGUpe2VbZS5MaW5lV2lkdGg9MzZdPSJMaW5lV2lkdGgiLGVbZS5DaXJjbGVCb3JkZXJXaWR0aD0xXT0iQ2lyY2xlQm9yZGVyV2lkdGgiLGVbZS5BbmltYXRpb25EdXJhdGlvbj00ZTNdPSJBbmltYXRpb25EdXJhdGlvbiJ9KFhkfHwoWGQ9e30pKTt2YXIgUWQ9aSg1MDc2MDQpO2NvbnN0IGV1PSgwLCRpLmFwcGx5QWxwaGEpKFFkLmNvbG9ycy5jb2xvclJpcGVSZWQ1MDAsLjI1KSx0dT0oMCwkaS5hcHBseUFscGhhKShRZC5jb2xvcnMuY29sb3JSaXBlUmVkNTAwLC4wMyk7Y2xhc3MgaXV7Y29uc3RydWN0b3IoZSl7dGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fY2lyY2xlUmVuZGVyZXI9bmV3IEpkLkNpcmNsZVJlbmRlcmVyLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2NpcmNsZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7CmNvbnN0IGU9dGhpcy5fc291cmNlLm9yaWdpblgoKSx0PXRoaXMuX3NvdXJjZS5vcmlnaW5ZKCk7TnVtYmVyLmlzRmluaXRlKGUpJiZOdW1iZXIuaXNGaW5pdGUodCk/dGhpcy5fY2lyY2xlUmVuZGVyZXIuc2V0RGF0YSh7Y2VudGVyOigwLFB0LnBvaW50KShlLHQpLHJhZGl1czoxOCxsaW5lV2lkdGg6MSxjb2xvcjp0dSxiYWNrQ29sb3I6ZXUsZGlzYWJsZUludGVyYWN0aW9uczohMH0pOnRoaXMuX2NpcmNsZVJlbmRlcmVyLnNldERhdGEobnVsbCl9fWNsYXNzIHN1e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5faGlnaGxpZ2h0ZXJzPW5ldyBNYXAsdGhpcy5fdG9vbHNGYWN0b3J5PW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnM9KDAsS28uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5fY3Jvc3NoYWlyLmlkKCkpO2xldCB0PSExO2NvbnN0IGk9QXJyYXkuZnJvbSh0aGlzLl9oaWdobGlnaHRlcnMua2V5cygpKTtmb3IoY29uc3QgcyBvZiBpKXtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KHMpKSl0LmFuaW1hdGlvblByb2dyZXNzKCk8MT8odC51cGRhdGVBbGxWaWV3cyhlKSxpLnB1c2godCkpOnQuZGVzdHJveT8uKCk7aS5sZW5ndGg+MD8odGhpcy5faGlnaGxpZ2h0ZXJzLnNldChzLGkpLHQ9ITApOnRoaXMuX2hpZ2hsaWdodGVycy5kZWxldGUocyl9dCYmdGhpcy5fY3Jvc3NoYWlyLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMuX2Nyb3NzaGFpcil9KSwyMCx7bGVhZGluZzohMH0pLHRoaXMuX2Nyb3NzaGFpcj1lLHRoaXMuX3ZpZXc9bmV3IGl1KGUpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2N1cnJlbnRUb29sLnN1YnNjcmliZSgoZT0+eygwLFQudG9vbElzRGVtb25zdHJhdGlvbikoZSkmJm51bGw9PT10aGlzLl90b29sc0ZhY3RvcnkmJih0aGlzLl90b29sc0ZhY3Rvcnk9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKChhc3luYygpPT57Y29uc3QgZT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDcwOTA5KSxpLmUoNzc0NzkpXSkudGhlbihpLmJpbmQoaSwzOTc4OTcpKTtyZXR1cm4odCxpLHMsbik9Pm5ldyBlLkxpbmVUb29sRGVtb25zdHJhdGlvbkhpZ2hsaWdodGVyKHQsaSxzLG4pfSkoKSkpfSkse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXtmb3IoY29uc3RbLGVdb2YgdGhpcy5faGlnaGxpZ2h0ZXJzKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95Py4oKTt0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCl9dXBkYXRlKGUpe3RoaXMuX3ZpZXcudXBkYXRlKGUpO2Zvcihjb25zdFssdF1vZiB0aGlzLl9oaWdobGlnaHRlcnMpZm9yKGNvbnN0IGkgb2YgdClpLnVwZGF0ZUFsbFZpZXdzKGUpfXBhbmVWaWV3cyhlKXtjb25zdCB0PVtdO2U9PT10aGlzLl9jcm9zc2hhaXIucGFuZSYmKDAsVC50b29sSXNEZW1vbnN0cmF0aW9uKShULmN1cnNvclRvb2wudmFsdWUoKSkmJnQucHVzaCh0aGlzLl92aWV3KTtmb3IoY29uc3QgaSBvZiB0aGlzLl9oaWdobGlnaHRlcnMuZ2V0KGUpPz9bXSl7Y29uc3Qgcz1pLnBhbmVWaWV3cyhlKTtzJiZ0LnB1c2goLi4ucyl9cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVycy5zaXplPjAmJnRoaXMuX3Rocm90dGxlVXBkYXRlSGlnaGxpZ2h0ZXJzKCksdH1jcmVhdGVIaWdobGlnaHRlcigpe2NvbnN0IGU9dGhpcy5fdG9vbHNGYWN0b3J5Py5nZXQoKTtpZighZSlyZXR1cm47dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI9ZSh0aGlzLl9jcm9zc2hhaXIubW9kZWwoKSxldSwzNiw0ZTMpO2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jcm9zc2hhaXIucGFuZSksaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQubWFpbkRhdGFTb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9hY3RpdmVIaWdobGlnaHRlci5zZXRPd25lclNvdXJjZShpKTtjb25zdCBzPXRoaXMuX2hpZ2hsaWdodGVycy5nZXQodCk/P1tdO3MucHVzaCh0aGlzLl9hY3RpdmVIaWdobGlnaHRlciksdGhpcy5faGlnaGxpZ2h0ZXJzLnNldCh0LHMpfWFkZEhpZ2hsaWdodGVyUG9zaXRpb24oZSl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmFkZFBvaW50KGUpLHRoaXMudXBkYXRlKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9jcm9zc2hhaXIuaWQoKSkpfWlzVGhlcmVVbmZpbmlzaGVkSGlnaGxpZ2h0ZXIoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyfWZpbmlzaEhpZ2hsaWdodGVyKCl7dGhpcy5fYWN0aXZlSGlnaGxpZ2h0ZXI/LmZpbmlzaCgpLHRoaXMuX2FjdGl2ZUhpZ2hsaWdodGVyPW51bGwsdGhpcy5fdGhyb3R0bGVVcGRhdGVIaWdobGlnaHRlcnMoKX19Y29uc3QgbnU9e21lbnVFbmFibGVkOiExLG1lbnVGb3JNYWluU291cmNlT25seTohMSxkaXNhYmxlVHJhZGluZ01lbnVBY3Rpb25zOiExLGRpc2FibGVEcmF3SG9yaXpMaW5lTWVudUFjdGlvbjohMX07bGV0IHJ1PTA7Y29uc3Qgb3U9KDAsYy5nZXRMb2dnZXIpKCJDaGFydC5Dcm9zc2hhaXIiKTtjbGFzcyBhdSBleHRlbmRzIHVyLkRhdGFTb3VyY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCksdGhpcy5wYW5lPW51bGwsdGhpcy5wcmljZT1OYU4sdGhpcy5pbmRleD1OYU4sdGhpcy52aXNpYmxlPSEwLHRoaXMuYXJlTGluZXNWaXNpYmxlPSEwLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLl9sb2NrRGF0YT1udWxsLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb249bmV3IHN1KHRoaXMpLHRoaXMuX21lYXN1cmVQYW5lPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZT1uZXcgV2Vha01hcCx0aGlzLl9zdGFydE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2VuZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludD1udWxsLHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPW51bGwsCnRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ITEsdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldD0hMSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9bmV3IGguV2F0Y2hlZFZhbHVlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3NlbGVjdGlvblBhbmU9bnVsbCx0aGlzLl9zZWxlY3Rpb25WaWV3PW5ldyB2ZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fdGltZUxvY2tQYW5lVmlldz1udWxsLHRoaXMuX2Nyb3NzaGFpclBhbmVWaWV3Q2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlPW5ldyBXZWFrTWFwLHRoaXMuX3ByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzPW5ldyBNYXAsdGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3M9bmV3IE1hcCx0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTix0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX21vdmVkRGVsZWdhdGU9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsLHRoaXMuX3ZvbHVtZUNhbGN1bGF0b3I9bnVsbCx0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQ9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxudSxpfHx7fSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGpkKGUpLHRoaXMuc2V0U2VsZWN0aW9uRW5hYmxlZCghMSk7Y29uc3Qgcz1lPT50PT50PT09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpKS5kZWZhdWx0UHJpY2VTY2FsZSgpP2UoKTpudWxsO3RoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyPWU9Pntjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lKTtpZihlPT09dC5kZWZhdWx0UHJpY2VTY2FsZSgpKXJldHVybiB0aGlzLnByaWNlO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0LmRlZmF1bHRQcmljZVNjYWxlKCkubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7Y29uc3Qgcz10LmRlZmF1bHRQcmljZVNjYWxlKCkucHJpY2VUb0Nvb3JkaW5hdGUodGhpcy5wcmljZSxpKSxuPSgwLGwuZW5zdXJlTm90TnVsbCkoZS5tYWluU291cmNlKCkpLmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PW4/bnVsbDplLmNvb3JkaW5hdGVUb1ByaWNlKHMsbil9LHRoaXMuX3N0YXJ0TWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLnByaWNlKSksdGhpcy5fZW5kTWVhc3VyZVByaWNlUHJvdmlkZXI9cygoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpKS5wcmljZSkpLHRoaXMuX3Byb3BlcnRpZXM9dDt0aGlzLl90aW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PnRoaXMuYXBwbGllZEluZGV4KCkpLCExKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXc9bmV3IEtkKGUsdGhpcywoKCk9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLmluZGV4KSwhMCksdGhpcy5fZW5kTWVhc3VyZVRpbWVBeGlzVmlldz1uZXcgS2QoZSx0aGlzLCgoKT0+KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkpLmluZGV4KSwhMCksdGhpcy5fY3Vyc29yVG9vbD1ULmN1cnNvclRvb2wuc3Bhd24oKSxlLnJlYWRPbmx5KCl8fHRoaXMuX2N1cnNvclRvb2wuc3Vic2NyaWJlKChlPT50aGlzLmFyZUxpbmVzVmlzaWJsZT0iYXJyb3ciIT09ZSkse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2Nyb3NzaGFpckxvY2s9VC5jcm9zc2hhaXJMb2NrLnNwYXduKCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvcj1kZC5zaG93UGx1c0J1dHRvbk9uQ3Vyc29yLnNwYXduKCk7Y29uc3Qgbj0oKT0+e3RoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9O3RoaXMuX2Nyb3NzaGFpckxvY2suc3Vic2NyaWJlKG4pLHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3Iuc3Vic2NyaWJlKG4pfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fdm9sdW1lQ2FsY3VsYXRvciYmdGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksdGhpcy5fY3Jvc3NoYWlyTG9jay5kZXN0cm95KCksdGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci5kZXN0cm95KCksdGhpcy5fY3Vyc29yVG9vbC5kZXN0cm95KCksdGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fY3Jvc3NoYWlyRGVtb25zdHJhdGlvbi5kZXN0cm95KCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3N1YnNjcmliZWQ9ITEpLHRoaXMuX21vZGVsLnBhbmVzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKGU9PmUuZm9yRWFjaCgoZT0+ZS5kZXN0cm95Py4oKSkpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmNsZWFyKCksc3VwZXIuZGVzdHJveSgpfW5hbWUoKXtyZXR1cm4iQ3Jvc3NoYWlyIn1tb3ZlZCgpe3JldHVybiB0aGlzLl9tb3ZlZERlbGVnYXRlfW9yaWdpblgoKXtyZXR1cm4gdGhpcy5fb3JpZ2luWH1vcmlnaW5ZKCl7cmV0dXJuIHRoaXMuX29yaWdpbll9c2F2ZU9yaWdpbkNvb3JkcyhlLHQpe3RoaXMuX29yaWdpblg9ZSx0aGlzLl9vcmlnaW5ZPXR9Y2xlYXJPcmlnaW5Db29yZHMoKXt0aGlzLl9vcmlnaW5YPU5hTix0aGlzLl9vcmlnaW5ZPU5hTn1jdXJyZW50UG9pbnQoKXtyZXR1cm4gbmV3IFB0LlBvaW50KHRoaXMueCx0aGlzLnkpfW1vZGVsKCl7CnJldHVybiB0aGlzLl9tb2RlbH1hcHBsaWVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS5pbmRleD8/dGhpcy5pbmRleH1sb2NrZWRYKCl7cmV0dXJuIHRoaXMuX2dldExvY2tEYXRhKCkueENvb3JkPz9udWxsfWxvY2tlZFkoKXtyZXR1cm4gdGhpcy5fZ2V0TG9ja0RhdGEoKS55Q29vcmQ/P251bGx9bG9ja2VkUGFuZSgpe2NvbnN0IGU9VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1lfHwxIT09ZS50eXBlP251bGw6dGhpcy5fbW9kZWwuaWQoKT09PWUubW9kZWxJZD90aGlzLl9tb2RlbC5wYW5lRm9ySWQoZS5wYW5lSWQpOnRoaXMuX21vZGVsLm1haW5QYW5lKCl9aW52YWxpZGF0ZUxvY2tQb3NpdGlvbigpe3RoaXMuX2xvY2tEYXRhPW51bGx9c3RhcnRNZWFzdXJlUG9pbnQoKXtyZXR1cm4gdGhpcy5fc3RhcnRNZWFzdXJlUG9pbnR8fG51bGx9ZW5kTWVhc3VyZVBvaW50KCl7cmV0dXJuIHRoaXMuX2VuZE1lYXN1cmVQb2ludHx8bnVsbH1tZWFzdXJlVm9sdW1lKCl7aWYobnVsbD09PXRoaXMuX3ZvbHVtZUNhbGN1bGF0b3IpcmV0dXJuIE5hTjtjb25zdFtlLHRdPXRoaXMubWVhc3VyZVBvaW50cygpO3JldHVybiB2b2lkIDA9PT10P05hTjp0aGlzLl92b2x1bWVDYWxjdWxhdG9yLnZvbHVtZShlLmluZGV4LHQuaW5kZXgpfW1lYXN1cmVQYW5lKCl7cmV0dXJuIHRoaXMuX21lYXN1cmVQYW5lLnJlYWRvbmx5KCl9Y3Jvc3NoYWlyRGVtb25zdHJhdGlvbigpe3JldHVybiB0aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9ufXN0YXJ0TWVhc3VyaW5nKGUsdCl7dGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQ9ZSx0aGlzLl9tZWFzdXJlUGFuZS5zZXRWYWx1ZSh0KSx0LmNvbnRhaW5zTWFpblNlcmllcygpJiYoKDAsbC5hc3NlcnQpKG51bGw9PT10aGlzLl92b2x1bWVDYWxjdWxhdG9yKSx0aGlzLl92b2x1bWVDYWxjdWxhdG9yPW5ldyBaZC5TZXJpZXNUaW1lUmFuZ2VWb2x1bWVDYWxjdWxhdG9yKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVQYW5lKHQpfWZpbmlzaE1lYXN1cmUoZSl7dGhpcy5fZW5kTWVhc3VyZVBvaW50PWUsdGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0KCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc3RhcnRNZWFzdXJlUG9pbnQpLHRoaXMuX2VuZE1lYXN1cmVQb2ludCl9Y2xlYXJNZWFzdXJlKCl7dGhpcy5fcmVtb3ZlTWVhc3VyZVBvaW50c2V0KCksdGhpcy5fbWVhc3VyZVBhbmUuc2V0VmFsdWUobnVsbCksZGVsZXRlIHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50LGRlbGV0ZSB0aGlzLl9lbmRNZWFzdXJlUG9pbnQsZGVsZXRlIHRoaXMuX2xhc3RWYWxpZE1lYXN1cmVQb2ludCx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLG51bGwhPT10aGlzLl92b2x1bWVDYWxjdWxhdG9yJiYodGhpcy5fdm9sdW1lQ2FsY3VsYXRvci5kZXN0cm95KCksdGhpcy5fdm9sdW1lQ2FsY3VsYXRvcj1udWxsKX1tZWFzdXJlUG9pbnRzKCl7Y29uc3QgZT1bKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zdGFydE1lYXN1cmVQb2ludCldLHQ9dGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpO3JldHVybiBudWxsIT09dCYmZS5wdXNoKHQpLGV9c3RhcnRTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uU3RhcnRQb2ludD10aGlzLmN1cnJlbnRMb2dpY2FsUG9pbnQoKSx0aGlzLl9zZWxlY3Rpb25QYW5lPWV9Y2xlYXJTZWxlY3Rpb24oKXt0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50PW51bGwsdGhpcy5fc2VsZWN0aW9uUGFuZT1udWxsfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50P3twMTp0aGlzLl9zZWxlY3Rpb25TdGFydFBvaW50LHAyOnRoaXMuY3VycmVudExvZ2ljYWxQb2ludCgpfTpudWxsfWN1cnJlbnRMb2dpY2FsUG9pbnQoKXtyZXR1cm57aW5kZXg6dGhpcy5hcHBsaWVkSW5kZXgoKSxwcmljZTp0aGlzLnByaWNlfX1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWxpbmVDb2xvcigpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LmxpbmVDb2xvcj8/bnVsbH1jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpLHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz1udWxsfXJlcXVlc3RQb2ludFBhcmFtcygpe3JldHVybiB0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXN9cmVxdWVzdFNlbGVjdFBvaW50KGUpeygwLGwuYXNzZXJ0KSh0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUsIlBvaW50IGFscmVhZHkgcmVxdWVzdGVkIik7Y29uc3R7cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm49MyxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6cixzZWxlY3RQb2ludE1vZGU6bz1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeSxhbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YTphPWUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5fT1lO3RoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz17cG9pbnRUeXBlOnQscGFuZTppLGxpbmVDb2xvcjpzLGlnbm9yZUlmT3V0T2ZEYXRhOm4sc2VsZWN0RnJvbUFsbENoYXJ0c0lmT3V0T2ZEYXRhOnIsc2VsZWN0UG9pbnRNb2RlOm8sYWxpZ25Ub1RoZUxhdGVzdEJhcklmVGltZVBvaW50SXNPdXRPZkRhdGE6YX0saSYmKCgwLGwuYXNzZXJ0KSgtMSE9PXRoaXMuX21vZGVsLnBhbmVzKCkuaW5kZXhPZihpKSwiQ2hhcnQgbW9kZWwgZG9lc24ndCBjb250YWluIHNwZWNpZmllZCBwYW5lIiksdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3BhbmVDb2xsZWN0aW9uQ2hhbmdlZCkpLHRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKG8pfW9uUG9pbnRTZWxlY3RlZCgpewpyZXR1cm4gdGhpcy5fcG9pbnRTZWxlY3RlZERlbGVnYXRlfXRyeVNlbGVjdEN1cnJlbnRQb2ludCgpe2NvbnN0IGU9dGhpcy5wYW5lO2lmKCFlKXJldHVybjtjb25zdHtwb2ludFR5cGU6dCxzZWxlY3RGcm9tQWxsQ2hhcnRzSWZPdXRPZkRhdGE6aSxpZ25vcmVJZk91dE9mRGF0YTpzLHBhbmU6bn09KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXMpLHI9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXIuZmlyc3RJbmRleCgpLGE9ci5sYXN0SW5kZXgoKTtpZihudWxsPT09b3x8bnVsbD09PWEpcmV0dXJuO2xldCBjPW51bGw7aWYoIXIuc2VhcmNoKHRoaXMuaW5kZXgsWm8uUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3QpJiYicHJpY2UiIT09dCYmaSYmKGM9TWF0aC5taW4oLi4uQXJyYXkuZnJvbShULmJhclRpbWVzVW5kZXJDdXJzb3IudmFsdWVzKCkpKT8/bnVsbCxudWxsPT09YykpcmV0dXJuO2lmKG4mJm4hPT1lKXJldHVybjtsZXQgaCxkPWM7aWYoInByaWNlIiE9PXQmJm51bGw9PT1jKXtjb25zdCBlPXRoaXMuaW5kZXg7c3dpdGNoKHMpe2Nhc2UgMzppZihlPG98fGU+YSlyZXR1cm47YnJlYWs7Y2FzZSAxOmlmKGU8bylyZXR1cm47YnJlYWs7Y2FzZSAyOmlmKGU+YSlyZXR1cm59aWYoZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGUpLG51bGw9PT1kKXJldHVybn1pZigidGltZSIhPT10KXtjb25zdCB0PWUubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10LmZpcnN0VmFsdWUoKSxzPXQucHJpY2VTY2FsZSgpO2lmKG51bGw9PT1pfHxudWxsPT09cylyZXR1cm47aD1zLmNvb3JkaW5hdGVUb1ByaWNlKHRoaXMueSxpKX10aGlzLl9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShULlNlbGVjdFBvaW50TW9kZS5Ob25lKSx0aGlzLl9wb2ludFNlbGVjdGVkRGVsZWdhdGUuZmlyZSh7dGltZTpkPz92b2lkIDAscHJpY2U6aH0sZSl9aXNPbkhvdmVyZWRDaGFydFdpZGdldCgpe3JldHVybiB0aGlzLl9pc09uSG92ZXJlZENoYXJ0V2lkZ2V0fXNldE9uSG92ZXJlZENoYXJ0V2lkZ2V0KGUpe3RoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ9ZX1pc1JlcGxheVNlbGVjdGlvbigpe3JldHVybigiQWxsQ2hhcnRzIj09PVNlLnZhbHVlKCl8fHRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQpJiZ0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheX1jbGVhclBvc2l0aW9uKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuaW5kZXg9TmFOLHRoaXMucHJpY2U9TmFOLHRoaXMueD1OYU4sdGhpcy55PU5hTix0aGlzLnBhbmU9bnVsbCx0aGlzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5fdXBkYXRlVmlzaWJpbGl0eURlcGVuZGVudFBhbmVWaWV3cygpfXNldFBvc2l0aW9uKGUsdCxpKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5jbGVhck1lYXN1cmUpLHRoaXMuX3N1YnNjcmliZWQ9ITApLHRoaXMudmlzaWJsZT0hMDtjb25zdCBzPXRoaXMuX21vZGVsLmlkKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLnNlYXJjaCh0aGlzLmluZGV4LFpvLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG4mJlQuYmFyVGltZXNVbmRlckN1cnNvci5zZXQocyxuLnZhbHVlWzBdKSx0aGlzLl90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKX1zZXRMaW5lc1Nob3VsZEJlSGlkZGVuKGUpe3RoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW49ZX1saW5lc1Nob3VsZEJlSGlkZGVuKCl7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW59aGFuZGxlQ29udGV4dE1lbnVFdmVudChlKXt0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGUudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuX3NldFNlbGVjdFBvaW50TW9kZVN0YXRlKFQuU2VsZWN0UG9pbnRNb2RlLk5vbmUpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31wcmljZUF4aXNWaWV3cyhlLHQpe2NvbnN0IGk9dGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGUscz0haXx8InRpbWUiIT09aXx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQsbj1bXTtyZXR1cm4odGhpcy5sb2NrZWRQYW5lKCk/P3RoaXMucGFuZSk9PT1lJiZzJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX3ByaWNlQXhpc1ZpZXdzLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cyxlLHQsdGhpcy5fY3VycmVudFBvc1ByaWNlUHJvdmlkZXIsUWgsITApWzBdKSx0aGlzLl9zdGFydE1lYXN1cmVQb2ludCYmbi5wdXNoKHRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9zdGFydE1lYXN1cmVQcmljZVByb3ZpZGVyLGVkKVswXSksdGhpcy5fbGFzdE1lYXN1cmVQb2ludCgpJiZuLnB1c2godGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cyxudWxsLGUsdCx0aGlzLl9lbmRNZWFzdXJlUHJpY2VQcm92aWRlcixlZClbMF0pLG59dGltZUF4aXNWaWV3cygpe2NvbnN0IGU9W10sdD10aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM/LnBvaW50VHlwZSxpPSF0fHwicHJpY2UiIT09dHx8IXRoaXMuX2lzT25Ib3ZlcmVkQ2hhcnRXaWRnZXQ7cmV0dXJuIHRoaXMuX2xpbmVzU2hvdWxkQmVIaWRkZW58fCF0aGlzLnZpc2libGUmJm51bGw9PT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKXx8IWl8fGUucHVzaCh0aGlzLl90aW1lQXhpc1ZpZXcpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiZlLnB1c2godGhpcy5fc3RhcnRNZWFzdXJlVGltZUF4aXNWaWV3KSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJmUucHVzaCh0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3KSxlfXBhbmVWaWV3cyhlKXtpZih2b2lkIDA9PT1lfHxlLm1vZGUoKSE9PU0uUGFuZU1vZGUuUmVndWxhcilyZXR1cm4gbnVsbDtjb25zdCB0PVtdCjtpZih0aGlzLmlzUmVwbGF5U2VsZWN0aW9uKCkpe2xldCBpPXRoaXMuX3BvaW50U2VsZWN0aW9uUGFuZVZpZXdDYWNoZS5nZXQoZSk7aXx8KGk9bmV3IHpkKHRoaXMsZSx0aGlzLl9tb2RlbCksdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLnNldChlLGkpKSx0LnB1c2goaSl9bGV0IGk9dGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5nZXQoZSk7aWYoaXx8KGk9bmV3IGdkKHRoaXMsZSksdGhpcy5fY3Jvc3NoYWlyUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksdC5wdXNoKGkpLGU9PT10aGlzLl9zZWxlY3Rpb25QYW5lJiZ0LnB1c2godGhpcy5fc2VsZWN0aW9uVmlldyksZT09PXRoaXMuX21lYXN1cmVQYW5lLnZhbHVlKCkpe2xldCBpPXRoaXMuX21lYXN1cmVQYW5lVmlld0NhY2hlLmdldChlKTtpfHwoaT1uZXcgTmQodGhpcyxlKSx0aGlzLl9tZWFzdXJlUGFuZVZpZXdDYWNoZS5zZXQoZSxpKSksaS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHQucHVzaChpKX1pZigoZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCl8fHRoaXMuX3Nob3dQbHVzQnV0dG9uT25DdXJzb3IudmFsdWUoKSkmJjEhPT1ULmNyb3NzaGFpckxvY2sudmFsdWUoKT8udHlwZSl7Y29uc3QgaT1lPT09dGhpcy5wYW5lLHM9IUouQ2hlY2tNb2JpbGUuYW55KCl8fHdpbmRvdy5zY3JlZW4ud2lkdGg+PTMyMCxuPVQudG9vbC52YWx1ZSgpLHI9KDAsbS5pc0xpbmVUb29sTmFtZSkobiksbz1udWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdDcmVhdGVkKCl8fHRoaXMuX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCkubGVuZ3RoPjB8fG51bGwhPT10aGlzLl9tb2RlbC5jdXN0b21Tb3VyY2VCZWluZ01vdmVkKCl8fCgwLFQudG9vbElzTWVhc3VyZSkobik7aWYoaSYmdGhpcy5faXNPbkhvdmVyZWRDaGFydFdpZGdldCYmdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZzJiYhciYmIW8pe2NvbnN0IGk9ZS5tYWluRGF0YVNvdXJjZSgpO2lmKG51bGwhPT1pKXtjb25zdCBzPWkucHJpY2VTY2FsZSgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXRoaXMuX2NyZWF0ZVByaWNlQXhpc1ZpZXdPbkRlbWFuZCh0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MsZSxzLHRoaXMuX2N1cnJlbnRQb3NQcmljZVByb3ZpZGVyLFFoLCEwKVsxXTtudWxsIT09aSYmdC5wdXNoKGkpfX19fXJldHVybiAwPT09VC5jcm9zc2hhaXJMb2NrLnZhbHVlKCk/LnR5cGUmJihudWxsPT09dGhpcy5fdGltZUxvY2tQYW5lVmlldyYmKHRoaXMuX3RpbWVMb2NrUGFuZVZpZXc9bmV3IEZkKHRoaXMpKSx0LnB1c2godGhpcy5fdGltZUxvY2tQYW5lVmlldykpLHQucHVzaCguLi50aGlzLl9jcm9zc2hhaXJEZW1vbnN0cmF0aW9uLnBhbmVWaWV3cyhlKSksdH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld311cGRhdGVBbGxWaWV3cyhlKXt0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpfSkpLHRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50JiYodGhpcy5fc3RhcnRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVUaW1lQXhpc1ZpZXcudXBkYXRlKGUpKSx0aGlzLl9sYXN0TWVhc3VyZVBvaW50KCkmJih0aGlzLl9lbmRNZWFzdXJlUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKX0pKSx0aGlzLl9lbmRNZWFzdXJlVGltZUF4aXNWaWV3LnVwZGF0ZShlKSksdGhpcy5fdGltZUF4aXNWaWV3LnVwZGF0ZShlKSx0aGlzLl9zZWxlY3Rpb25WaWV3LnVwZGF0ZSgpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2Nyb3NzaGFpckRlbW9uc3RyYXRpb24udXBkYXRlKGUpLHRoaXMuX3VwZGF0ZVZpc2liaWxpdHlEZXBlbmRlbnRQYW5lVmlld3MoKX1pc01lbnVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubWVudUVuYWJsZWR9aXNIb3ZlcmVkRW5hYmxlZCgpe3JldHVybiBkZC5hZGRQbHVzQnV0dG9uUHJvcGVydHkudmFsdWUoKXx8dGhpcy5fc2hvd1BsdXNCdXR0b25PbkN1cnNvci52YWx1ZSgpfWlzSG92ZXJlZCgpe3JldHVybiB0aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCk9PT10aGlzfXBvaW50VG9TZWxlY3QoKXtyZXR1cm4gdGhpcy5fcmVxdWVzdFBvaW50UGFyYW1zPy5wb2ludFR5cGU/P251bGx9cGFuZUZvclBvaW50U2VsZWN0KCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIkNyb3NzSGFpckNvbnRleHRNZW51In1yZXN0YXJ0KCl7dGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHMmJnRoaXMuX2NyZWF0ZU1lYXN1cmVQb2ludHNldFdpdGhOb3JtYWxpemVkUG9pbnRzKHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzKX1fbGFzdE1lYXN1cmVQb2ludCgpe3JldHVybiB0aGlzLl9lbmRNZWFzdXJlUG9pbnQ/dGhpcy5fZW5kTWVhc3VyZVBvaW50OihudWxsIT09dGhpcy5wYW5lJiZ0aGlzLl9tZWFzdXJlUGFuZS52YWx1ZSgpPT09dGhpcy5wYW5lJiYodGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50PXtwcmljZTp0aGlzLl9tb2RlbC5tYWduZXQoKS5hbGlnbih0aGlzLnByaWNlLHRoaXMuaW5kZXgsdGhpcy5wYW5lKSxpbmRleDp0aGlzLmluZGV4fSksdGhpcy5fbGFzdFZhbGlkTWVhc3VyZVBvaW50fHxudWxsKX1fY3JlYXRlUHJpY2VBeGlzVmlld09uRGVtYW5kKGUsdCxpLHMsbixyLG89ITEpe2xldCBhPWUuZ2V0KGkpLGM9bnVsbCE9PXQ/dC5nZXQoaSk6dm9pZCAwO3ZvaWQgMD09PWEmJihhPW5ldyBNYXAsCmUuc2V0KGksYSksdGhpcy5pc01lbnVFbmFibGVkKCkmJm51bGwhPT10JiYoYz1uZXcgTWFwLHQuc2V0KGksYykpLG8mJmkub25EZXN0cm95ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUGFuZURlc3Ryb3llZChpKSkpKTtsZXQgaD1hLmdldChzKTtpZih2b2lkIDA9PT1oKXtpZihoPW5ldyByKHRoaXMsaSxzLG4pLGEuc2V0KHMsaCksdm9pZCAwIT09Yyl7Y29uc3QgZT1uZXcgdWQoaCx0aGlzLHMsdGhpcy5fbW9kZWwsdGhpcy5fb3B0aW9ucyk7Yy5zZXQocyxlKX1vJiZzLmxhc3RTb3VyY2VSZW1vdmVkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblByaWNlU2NhbGVDbGVhcmVkKHMpKSl9bGV0IGQ9bnVsbDtyZXR1cm4gdm9pZCAwIT09YyYmKGQ9KDAsbC5lbnN1cmVEZWZpbmVkKShjLmdldChzKSkpLFtoLGRdfV9vblBhbmVEZXN0cm95ZWQoZSl7ZS5vbkRlc3Ryb3llZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZ2V0KGUpPy5mb3JFYWNoKChlPT5lLmRlc3Ryb3k/LigpKSksdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5kZWxldGUoZSksdGhpcy5fZW5kTWVhc3VyZVByaWNlQXhpc1ZpZXdzLmRlbGV0ZShlKX1fb25QcmljZVNjYWxlQ2xlYXJlZChlKXtlLmxhc3RTb3VyY2VSZW1vdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+dC5kZWxldGUoZSkpKSx0aGlzLl9wYW5lUHJpY2VBeGlzVmlld3MuZm9yRWFjaCgodD0+e3QuZ2V0KGUpPy5kZXN0cm95Py4oKSx0LmRlbGV0ZShlKX0pKSx0aGlzLl9zdGFydE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpLHRoaXMuX2VuZE1lYXN1cmVQcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LmRlbGV0ZShlKSkpfV90cnlUb1VwZGF0ZVZpZXdzKGUsdCxpKXtyZXR1cm4hIXRoaXMuX3RyeVRvVXBkYXRlRGF0YShlLHQsaSkmJih0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb3ZlZERlbGVnYXRlLmZpcmUoe2luZGV4OnRoaXMuaW5kZXgscHJpY2U6dGhpcy5wcmljZX0pLCEwKX1fdHJ5VG9VcGRhdGVEYXRhKGUsdCxpKXtjb25zdCBzPXRoaXMueCxuPXRoaXMueSxyPXRoaXMucHJpY2Usbz10aGlzLmluZGV4LGE9dGhpcy5wYW5lLGM9dGhpcy5fcHJpY2VTY2FsZUJ5UGFuZShpKTtpZih0aGlzLmluZGV4PWUsdGhpcy54PWlzTmFOKGUpP05hTjp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pbmRleFRvQ29vcmRpbmF0ZShlKSxudWxsIT09YyYmbnVsbCE9PWkpe3RoaXMucGFuZT1pLHRoaXMucHJpY2U9dDtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7dGhpcy55PW51bGw9PT1lP05hTjpjLnByaWNlVG9Db29yZGluYXRlKHQsZSl9ZWxzZSB0aGlzLnBhbmU9bnVsbCx0aGlzLnByaWNlPU5hTix0aGlzLnk9TmFOO3JldHVybiBzIT09dGhpcy54fHxuIT09dGhpcy55fHxvIT09dGhpcy5pbmRleHx8ciE9PXRoaXMucHJpY2V8fGEhPT10aGlzLnBhbmV9X3ByaWNlU2NhbGVCeVBhbmUoZSl7cmV0dXJuIGUmJiFlLmRlZmF1bHRQcmljZVNjYWxlKCkuaXNFbXB0eSgpP2UuZGVmYXVsdFByaWNlU2NhbGUoKTpudWxsfV9zZXRTZWxlY3RQb2ludE1vZGVTdGF0ZShlKXtlPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmKHRoaXMuX3JlcXVlc3RQb2ludFBhcmFtcz8ucGFuZSYmdGhpcy5fbW9kZWwucGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcGFuZUNvbGxlY3Rpb25DaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0UG9pbnRQYXJhbXM9bnVsbCksVC5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUuc2V0VmFsdWUoZSksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnNldFZhbHVlKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X3BhbmVDb2xsZWN0aW9uQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMucGFuZUZvclBvaW50U2VsZWN0KCk7bnVsbCE9PXQmJi0xPT09ZS5pbmRleE9mKHQpJiZ0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpfV91cGRhdGVWaXNpYmlsaXR5RGVwZW5kZW50UGFuZVZpZXdzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tb2RlbCgpLnBhbmVzKCkpdGhpcy5fcG9pbnRTZWxlY3Rpb25QYW5lVmlld0NhY2hlLmdldChlKT8udXBkYXRlKCl9X2dldExvY2tEYXRhKCl7aWYobnVsbD09PXRoaXMuX2xvY2tEYXRhKXtjb25zdCBlPVQuY3Jvc3NoYWlyTG9jay52YWx1ZSgpO2lmKG51bGw9PT1lKXRoaXMuX2xvY2tEYXRhPXt9O2Vsc2V7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXQucG9pbnRzKCkucm91Z2hJbmRleChlLnRpbWUpPz92b2lkIDAscz12b2lkIDA9PT1pP3ZvaWQgMDp0LmluZGV4VG9Db29yZGluYXRlKGkpO3N3aXRjaChlLnR5cGUpe2Nhc2UgMDp0aGlzLl9sb2NrRGF0YT17aW5kZXg6aSx4Q29vcmQ6c307YnJlYWs7Y2FzZSAxOntsZXQgdDtjb25zdCBuPXRoaXMubG9ja2VkUGFuZSgpO2lmKG51bGwhPT1uKXtjb25zdCBpPW4ubWFpbkRhdGFTb3VyY2UoKTtpZihudWxsIT09aSl7Y29uc3Qgcz1pLmZpcnN0VmFsdWUoKSxuPWkucHJpY2VTY2FsZSgpO251bGwhPT1uJiZudWxsIT09cyYmKHQ9bi5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLHMpKX19dGhpcy5fbG9ja0RhdGE9e2luZGV4OmkseENvb3JkOnMseUNvb3JkOnR9fX19fXJldHVybiB0aGlzLl9sb2NrRGF0YX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc2VyaWVzU291cmNlKCkuc3ltYm9sSW5zdGFuY2VJZCgpO2lmKG51bGw9PT10KXJldHVybjt0aGlzLl9yZW1vdmVNZWFzdXJlUG9pbnRzZXQoKSwrK3J1LHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZD17bWVhc3VyZVBvaW50c2V0SWQ6cnUsCnN5bWJvbElkOnR9LHRoaXMuX25vcm1hbGl6ZWRNZWFzdXJlUG9pbnRzPWU7Y29uc3QgaT0oMCxaaC5nZXRTZXJ2ZXJJbnRlcnZhbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLmludGVydmFsKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkuY3JlYXRlUG9pbnRzZXQodGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpLCJ0dXJuYXJvdW5kIix0aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQuc3ltYm9sSWQsaSxlLHRoaXMuX29uUG9pbnRzZXRSZXNwb25zZS5iaW5kKHRoaXMpKX1fY3JlYXRlTWVhc3VyZVBvaW50c2V0KGUsdCl7Y29uc3QgaT10aGlzLl9ub3JtYWxpemVQb2ludChlKSxzPXRoaXMuX25vcm1hbGl6ZVBvaW50KHQpLG49W1tpLnRpbWVfdCxpLm9mZnNldF0sW3MudGltZV90LHMub2Zmc2V0XV07dGhpcy5fY3JlYXRlTWVhc3VyZVBvaW50c2V0V2l0aE5vcm1hbGl6ZWRQb2ludHMobil9X3JlbW92ZU1lYXN1cmVQb2ludHNldCgpe251bGwhPT10aGlzLl9jdXJyZW50TWVhc3VyZVBvaW50c2V0QW5kU3ltYm9sSWQmJnRoaXMuX21vZGVsLmNoYXJ0QXBpKCkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5jaGFydEFwaSgpLnJlbW92ZVBvaW50c2V0KHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSksdGhpcy5fY3VycmVudE1lYXN1cmVQb2ludHNldEFuZFN5bWJvbElkPW51bGwsdGhpcy5fbm9ybWFsaXplZE1lYXN1cmVQb2ludHM9bnVsbH1fY3VycmVudE1lYXN1cmVQb2ludHNldElkV2l0aFByZWZpeCgpe3JldHVybiJwb2ludHNldE1lYXN1cmVfIisoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRBbmRTeW1ib2xJZCkubWVhc3VyZVBvaW50c2V0SWR9X25vcm1hbGl6ZVBvaW50KGUpe3JldHVybnsuLi50aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5ub3JtYWxpemVCYXJJbmRleChlLmluZGV4KSxwcmljZTplLnByaWNlfX1fb25Qb2ludHNldFJlc3BvbnNlKGUpe2lmKCJwb2ludHNldF9lcnJvciI9PT1lLm1ldGhvZClyZXR1cm4gdm9pZCBvdS5sb2dFcnJvcihgRXJyb3IgZ2V0dGluZyBwb2ludHNldDogJHtlLnBhcmFtc1swXX0gJHtlLnBhcmFtc1sxXX1gKTtpZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuX2N1cnJlbnRNZWFzdXJlUG9pbnRzZXRJZFdpdGhQcmVmaXgoKSlyZXR1cm47aWYobnVsbD09PXRoaXMuX3N0YXJ0TWVhc3VyZVBvaW50fHxudWxsPT09dGhpcy5fZW5kTWVhc3VyZVBvaW50KXJldHVybjtjb25zdCB0PWUucGFyYW1zLnBsb3RzO2lmKDIhPT10Lmxlbmd0aClyZXR1cm47Y29uc3QgaT10WzBdLnZhbHVlWzBdLHM9dFsxXS52YWx1ZVswXTt0aGlzLl9zdGFydE1lYXN1cmVQb2ludC5pbmRleD1pLHRoaXMuX2VuZE1lYXN1cmVQb2ludC5pbmRleD1zLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKX19dmFyIGx1PWkoMTQxNjUpLGN1PWkoOTEwMTI2KSxodT1pKDg3NTMwMSksZHU9aSg3MjM1MjUpLHV1PWkoMzA5MzYwKSxwdT1pKDE1NTYzKTtjb25zdCBfdT0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlJbnNlcnRlciIpLG11PS9eUFVCOy4qLztjbGFzcyBndXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3BhcmVudFNvdXJjZXM9W10sdGhpcy5fcHJvcHNTdGF0ZT12b2lkIDAsdGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT12b2lkIDAsdGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT0hMSx0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ITAsdGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWM9ITAsdGhpcy5fcGFuZVNpemU9dm9pZCAwLHRoaXMuX2ZvcmNlT3ZlcmxheT0hMSx0aGlzLl9pbnNlcnRlckltcGw9dCx0aGlzLl9zdHVkeURlc2NyaXB0b3I9ZX1zZXRQYXJlbnRTb3VyY2VzKGUpe3RoaXMuX3BhcmVudFNvdXJjZXM9ZX1zZXRQYW5lU2l6ZShlKXt0aGlzLl9wYW5lU2l6ZT1lfXNldFByZWZlcnJlZFByaWNlU2NhbGUoZSl7dGhpcy5fcHJlZmVycmVkUHJpY2VTY2FsZT1lfXNldEFsbG93Q2hhbmdlQ3VycmVuY3koZSl7dGhpcy5fYWxsb3dDaGFuZ2VDdXJyZW5jeT1lfXNldEFsbG93Q2hhbmdlVW5pdChlKXt0aGlzLl9hbGxvd0NoYW5nZVVuaXQ9ZX1zZXRBbGxvd0NoYW5nZU1ldHJpYyhlKXt0aGlzLl9hbGxvd0NoYW5nZU1ldHJpYz1lfXNldEZvcmNlT3ZlcmxheShlKXt0aGlzLl9mb3JjZU92ZXJsYXk9ZX1zZXRQcm9wZXJ0aWVzU3RhdGUoZSl7dGhpcy5fcHJvcHNTdGF0ZT1lfXNldFRhcmdldFByaWNlU2NhbGVNb2RlKGUpe3RoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlPWV9c2V0RXZlbnRTb3VyY2UoZSl7dGhpcy5fZXZlbnRTb3VyY2U9ZX1hc3luYyBpbnNlcnQoZSx0LGkpe2xldCBzPW51bGw7dmFyIHI7aXx8KHM9dm9pZCAwIT09KHI9dGhpcy5faW5zZXJ0ZXJJbXBsKS5jcmVhdGVTdHViJiZ2b2lkIDAhPT1yLnJlbW92ZVN0dWI/dGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWIoKTpudWxsKTtjb25zdCBvPShlLHQpPT57aWYoaSl7Y29uc3Qgcz0oMCxuLmRlZmF1bHQpKGUpP3tlcnJvcjplfTp7ZXJyb3I6ZS5tZXNzYWdlLGVkaXRvckVycm9yOmV9O2kuc2V0U3RhdHVzKHt0eXBlOllsLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOnN9KSx0JiZpLnNldE1ldGFJbmZvKHQpLHRoaXMuX2luc2VydGVySW1wbC5zdG9yZUZhaWxlZFN0dWIoaSl9fTtsZXQgbCxjLGgsZD0hMDt0cnl7bD1hd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9Y2F0Y2goZSl7X3UubG9nV2FybihgQ2Fubm90IGdldCBzdHVkeSAke0pTT04uc3RyaW5naWZ5KHRoaXMuX3N0dWR5RGVzY3JpcHRvcil9YCk7Y29uc3QgdD10aGlzLl9zdHVkeURlc2NyaXB0b3IucGluZUlkLHM9bXUudGVzdCh0KSxyPSJFcnJvcjogY2Fubm90IGNvbXBpbGUgc2NyaXB0IjtsZXQgYT0hMTtpZighKGUgaW5zdGFuY2VvZiB1dS5QaW5lQ29tcGlsZUZhaWxFcnJvckltcGwpKXJldHVybiBvKHIpLApQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90R2V0TWV0YWluZm8pO2k/LmdldERlc2NyaXB0b3IoKT8uaXNPdmVybGF5JiYodGhpcy5fZm9yY2VPdmVybGF5PSEwKSxsPW5ldyBvdC5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pLCgwLG4uZGVmYXVsdCkoZS5yZWFzb24pfHwhZS5yZWFzb24uZXJyb3JzLmxlbmd0aD9jPVt7bWVzc2FnZTpyfV06KGE9ITAsYz1lLnJlYXNvbi5lcnJvcnMpLHMmJmEmJihoPXB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5ub3RDb21waWxlUHViKX1maW5hbGx5e251bGwhPT1zJiYoZD10aGlzLl9pbnNlcnRlckltcGwucmVtb3ZlU3R1YihzKSl9aWYoIWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5TdHViV2FzUmVtb3ZlZCk7aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2lmKCF0aGlzLl9jYW5BcHBseVN0dWR5VG9QYXJlbnQobCkpcmV0dXJuIG8oIkVycm9yOiBjYW5ub3QgYmUgY2hpbGQiKSxQcm9taXNlLnJlamVjdChwdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkKTtjb25zdCB1PXsuLi5sLmRlZmF1bHRzLmlucHV0c307bGV0IHA9e307aWYodm9pZCAwIT09ZSl7Y29uc3QgdD1vdC5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShsKSxpPSgwLGEuY2xvbmUpKCgwLCRsLmRlZmF1bHRzKSh0KSk7KDAsYS5tZXJnZSkodSxpLmlucHV0cyk7Y29uc3Qgcz1hd2FpdCBlKHUsbC5pbnB1dHMsbCk7cD1zLmlucHV0cyx0aGlzLl9wYXJlbnRTb3VyY2VzPXMucGFyZW50U291cmNlcz8/W119aWYodm9pZCAwIT09dCYmdC5jYW5jZWxsZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5DYW5jZWxsZWQpO2NvbnN0IF89dGhpcy5faW5zZXJ0U3R1ZHkobCxwLGkpO2lmKG51bGw9PT1fKXJldHVybiBvKCJFcnJvcjogdW5rbm93biBlcnJvciIpLFByb21pc2UucmVqZWN0KHB1Lkluc2VydGlvbkVycm9yQ29kZS5Vbmtub3duKTthd2FpdCBfLnN0YXJ0UHJvbWlzZTtjb25zdCBtPWF3YWl0IF8uc3R1ZHk7cmV0dXJuIGMmJm0uc2V0RXJyb3JDb21waWxhdGlvbihjKSxoP1Byb21pc2UucmVqZWN0KGgpOm19X2luc2VydFN0dWR5KGUsdCxpKXtyZXR1cm4gdGhpcy5faW5zZXJ0ZXJJbXBsLmNyZWF0ZVN0dWR5KHtzdHVkeU1ldGFJbmZvOmUsaW5wdXRzOnQsdGFyZ2V0Wk9yZGVyOm51bGwsc3R1YlRvUmVwbGFjZTppLHByb3BzU3RhdGU6dGhpcy5fcHJvcHNTdGF0ZSxmb3JjZU92ZXJsYXk6dGhpcy5fZm9yY2VPdmVybGF5LHBhcmVudFNvdXJjZXM6dGhpcy5fcGFyZW50U291cmNlcyxwcmVmZXJyZWRQcmljZVNjYWxlOnRoaXMuX3ByZWZlcnJlZFByaWNlU2NhbGUsYWxsb3dDaGFuZ2VDdXJyZW5jeTp0aGlzLl9hbGxvd0NoYW5nZUN1cnJlbmN5LGFsbG93Q2hhbmdlVW5pdDp0aGlzLl9hbGxvd0NoYW5nZVVuaXQsYWxsb3dDaGFuZ2VNZXRyaWM6dGhpcy5fYWxsb3dDaGFuZ2VNZXRyaWMscGFuZVNpemU6dGhpcy5fcGFuZVNpemUsdGFyZ2V0U2NhbGVNb2RlOnRoaXMuX3RhcmdldFByaWNlU2NhbGVNb2RlLGV2ZW50U291cmNlOnRoaXMuX2V2ZW50U291cmNlfSl9X2NhbkFwcGx5U3R1ZHlUb1BhcmVudChlKXtyZXR1cm4gMD09PXRoaXMuX3BhcmVudFNvdXJjZXMubGVuZ3RofHxvdC5TdHVkeU1ldGFJbmZvLmNhbkJlQ2hpbGQoZSx0cnVlKX19Y2xhc3MgZnV7Y29uc3RydWN0b3IoZSl7dGhpcy5fcHJpY2VTb3VyY2VOYW1lc0J5SWQ9bmV3IE1hcCxlLmZvckVhY2goKGU9PnRoaXMuX3ByaWNlU291cmNlTmFtZXNCeUlkLnNldChlLmlkLGUubmFtZSkpKX1uYW1lKGUpe3JldHVybiB0aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5nZXQoZSk/P251bGx9cHJpY2VTb3VyY2VzQ2hhbmdlZChlKXtyZXR1cm4gZS5sZW5ndGghPT10aGlzLl9wcmljZVNvdXJjZU5hbWVzQnlJZC5zaXplfX12YXIgU3U9aSgzMTQ4MDYpO2NvbnN0IHZ1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkZXNlbGVjdGVkIGVtcHR5IGxpbmUgdG9vbHMiLHAudChudWxsLHZvaWQgMCxpKDYzNTQ5NikpKSx5dT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhdXRvX2VuYWJsZV9zeW1ib2xfbGFiZWxzIiksYnU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZml4X2xlZnRfZWRnZSIpLHd1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRNb2RlbCIpO2Z1bmN0aW9uIEN1KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YodCk7cmV0dXJuLTEhPT1pJiYoZS5zcGxpY2UoaSwxKSwhMCl9ZnVuY3Rpb24gUHUoZSl7Y29uc3QgdD0oMCx0bi5jcm9zc2hhaXJNb3ZlRXZlbnQpKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IHM9ZVtpXS5kYXRhU291cmNlcygpO2ZvcihsZXQgZT1zLmxlbmd0aDtlLS07KXNbZV0uZGF0YVdpbmRvd1ZpZXcoKT8udXBkYXRlKHQpLHNbZV0uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8udXBkYXRlKHQpO2NvbnN0IG49ZVtpXS5wcmljZURhdGFTb3VyY2VzKCk7Zm9yKGxldCBlPW4ubGVuZ3RoO2UtLTspbltlXS5sZWdlbmRWaWV3KCk/LnVwZGF0ZSh0KX19Y29uc3QgVHU9e2lzU25hcHNob3Q6ITEscmVhZE9ubHk6ITEsd2F0ZXJtYXJrRW5hYmxlZDohMCxzaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyOiEwLGN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQ6ITEsdW5pdENvbnZlcnNpb25FbmFibGVkOiExLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOiExLGNvdW50ZG93bkVuYWJsZWQ6ITAsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDohMCxvbldpZGdldDohMSxoaWRlSWRlYXM6ITF9O3ZhciB4dTshZnVuY3Rpb24oZSl7ZVtlLk1uUGFuZUhlaWdodD0zMF09Ik1uUGFuZUhlaWdodCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0PTJlM109IlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0IiwKZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNMYXJnZVRpbWVvdXQ9NWUzXT0iUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0xhcmdlVGltZW91dCIsZVtlLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNUaW1lb3V0TGlicmFyeT01MDBdPSJSZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzVGltZW91dExpYnJhcnkiLGVbZS5SZWNhbGNDb2xvclN0dWRpZXNUaW1lb3V0PTI1MF09IlJlY2FsY0NvbG9yU3R1ZGllc1RpbWVvdXQifSh4dXx8KHh1PXt9KSk7Y29uc3QgTXU9e3Rocm90dGxlOktvLmRlZmF1bHQsZGVib3VuY2U6WW8uZGVmYXVsdH0sSXU9bmV3IE1hcChbW0lpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uLHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlLHt0aW1lb3V0OjVlMyxhZGFwdGVyOiJ0aHJvdHRsZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LHt0aW1lb3V0OjJlMyxhZGFwdGVyOiJkZWJvdW5jZSJ9XSxbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQse3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dLFtJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlN0dWR5Q3JlYXRpb24se3RpbWVvdXQ6MmUzLGFkYXB0ZXI6ImRlYm91bmNlIn1dXSksTHU9QXJyYXkuZnJvbShJdS52YWx1ZXMoKSk7ZnVuY3Rpb24gQXUoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+e2lmKCEoMCxyaS5pc0xpbmVUb29sKSh0KXx8IXQuaXNTeW5jaHJvbml6YWJsZSgpKXJldHVybiBlO2NvbnN0IGk9dC5saW5rS2V5KCkudmFsdWUoKTtyZXR1cm4gaT8oZVswXS5hZGQoaSksZVsxXS5hZGQodC50b29sbmFtZSksZSk6ZX0pLFtuZXcgU2V0LG5ldyBTZXRdKX1mdW5jdGlvbiBrdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmUoKX1mdW5jdGlvbiBEdShlKXtyZXR1cm4gZS5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCl9Y2xhc3MgRXV7Y29uc3RydWN0b3IoZSl7dGhpcy5fb25SZWFycmFuZ2VQYW5lcz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsPW5ldyBzaCx0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLHRoaXMuX2xpbmVCZWluZ0VkaXRlZD1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YT1udWxsLHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWQ9bnVsbCx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc291cmNlWk9yZGVyQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHk9bmV3IGguV2F0Y2hlZFZhbHVlKDApLHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pbmFjdGl2aXR5R2Fwc1dhdGNoZWRWYWx1ZT1udWxsLHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50PW5ldyBoLldhdGNoZWRWYWx1ZSgibm9uZSIpLHRoaXMuX2N1cnJlbnRUb29sPVQudG9vbC5zcGF3bigpLHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkPVtdLHRoaXMuX2xpbmVDYW5jZWxsZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lcj1uZXcga2godGhpcyksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Jlc3RvcmluZ1N0YXRlPSExLHRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSExLHRoaXMuX2lzVGltZVNjcm9sbGluZz0hMSx0aGlzLl9tYWduZXQ9bmV3IEhoLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsdGhpcy5fbW9kZWxJbnRlcnZhbHM9W10sdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXI9bmV3IHZhKHRoaXMpLHRoaXMuX3N0dWR5SW5zZXJ0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD0wLHRoaXMuX3JlcGxheVN0YXR1cz1uZXcgaC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fcGFuZXM9W10sdGhpcy5fbWF4aW1pemVkUGFuZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc3RyYXRlZ3lTb3VyY2VzPVtdLHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZT1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZT1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zY3JvbGxFbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3Njcm9sbCIpLHRoaXMuX3pvb21FbmFibGVkPSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0X3pvb20iKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyPW51bGwsdGhpcy5fYWxlcnRzV2F0Y2hlcj1udWxsLHRoaXMuX2hvdmVyZWRTb3VyY2U9bnVsbCx0aGlzLl9ob3ZlcmVkU291cmNlQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1udWxsLHRoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPW51bGwsdGhpcy5fdG9wbW9zdEN1c3RvbVNvdXJjZXM9W10sdGhpcy5fZmdDdXN0b21Tb3VyY2VzPVtdLAp0aGlzLl9iZ0N1c3RvbVNvdXJjZXM9W10sdGhpcy5fYWxsQ3VzdG9tU291cmNlcz1bXSx0aGlzLl9jdXN0b21Tb3VyY2VzTWFwPW5ldyBNYXAsdGhpcy5fZHJhZ0V4cG9ydEVuYWJsZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aVBhbmVTb3VyY2VzPVtdLHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eT1uZXcgT3QuUHJvcGVydHksdGhpcy5faWQ9KDAsbHQuZ3VpZCkoKSx0aGlzLl9jaGFydFNhdmVUaW1lPW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3Q9bnVsbCx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXM9bmV3IGZ1KFtdKSx0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1udWxsLHRoaXMuX2F2YWlsYWJsZVVuaXRzPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1udWxsLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc0J5U3ltYm9sPW5ldyBNYXAsdGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj0hMSx0aGlzLl93YXRjaGVkVGhlbWVTcGF3bj1ELndhdGNoZWRUaGVtZS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyB4aC5HcmFkaWVudENvbG9yQ2FjaGUsdGhpcy5fc3R1ZGllc1dWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWPW5ldyBkLldhdGNoZWRPYmplY3QoW10sZy5jb21wYXJlVHdvQ29sbGVjdGlvbnNCeUlkcyksdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGU9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXM9e3JlYXNvbnM6bmV3IFNldH0sdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzUGFyYW1zPXt9LHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3k9bmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeT1uZXcgX2EodGhpcyksdGhpcy5fbWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eT1uZXcgYWwodGhpcyksdGhpcy5fYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGxEZWJvdW5jZWRCeUFkYXB0ZXI9bmV3IE1hcChPYmplY3Qua2V5cyhNdSkubWFwKChlPT5bZSxuZXcgTWFwKEx1LmZpbHRlcigodD0+dC5hZGFwdGVyPT09ZSkpLm1hcCgoZT0+W2UudGltZW91dCxNdVtlLmFkYXB0ZXJdKHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsLmJpbmQodGhpcyx0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpLGUudGltZW91dCldKSkpXSkpKSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsRGVib3VuY2VkPSgwLFlvLmRlZmF1bHQpKHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc0ltcGwuYmluZCh0aGlzLHRoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcyksMjUwKSx0aGlzLl93aWR0aD0wLHRoaXMuX3Jlc2V0U2NhbGVzPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2NoYXJ0VGhlbWVMb2FkZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fc2VsZWN0aW9uPW5ldyBmYS5Nb2RlbFNlbGVjdGlvbix0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzPW51bGwsdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fZ3JpZFNvdXJjZT1uZXcgJGgodGhpcyksdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cz1uZXcgZC5XYXRjaGVkT2JqZWN0KG51bGwpLHRoaXMuX3N5bmNQb2ludENhY2hlPW5ldyBNYXAsdGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlPW51bGwsdGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9bnVsbCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPW51bGwsdGhpcy5fc2Vzc2lvbnM9bnVsbCx0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzPW51bGwsdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9dm9pZCAwLHRoaXMuX2xpbmVUb29sc1N5bmNCbG9jaz0wLHRoaXMuX29uRGVzdHJveWVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX29uTGluZVRvb2xzR3JvdXBNb2RlbENoYW5nZWQ9KCk9PnswIT09dGhpcy5fc2VsZWN0aW9uLmxpbmVUb29sR3JvdXBzKCkubGVuZ3RoJiZ0aGlzLmNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpfSx0aGlzLl9jbGVhclNlbGVjdGlvbj0oKT0+e3RoaXMuX2xhc3RTZWxlY3RlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9LHRoaXMuX3JlbW92ZUl0ZW1Gcm9tU2VsZWN0aW9uPWU9Pnt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlKGUpfSx0aGlzLl9hZGRJdGVtVG9TZWxlY3Rpb249KGUsdCk9Pntjb25zdCBpPXRoaXMuX3NlbGVjdGlvbi5pc1NlbGVjdGVkKGUpOygwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP2l8fHRoaXMuX3NlbGVjdGlvbi5hZGQoZSk6aSYmdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9PT10fHxlLmlzU2VsZWN0aW9uRW5hYmxlZCgpJiYodGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9dHx8bnVsbCxpfHx0aGlzLl9zZWxlY3Rpb24uYWRkKGUpLCgwLHRpLmlzU3R1ZHlTdHJhdGVneSkoZSkmJnRoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSkpfSx0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmU9KCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lcylpZihlLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnZhbHVlKCkpcmV0dXJuIHZvaWQgdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCEwKTt0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfSwKdGhpcy5fcmVjYWxjQWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5PSgpPT57aWYodGhpcy5fc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7c3dpdGNoKGUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIil7Y2FzZSJkaXZpZGVuZHMiOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgyKTtjYXNlInNwbGl0cyI6cmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDEpO2Nhc2UiYW55IjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc2V0VmFsdWUoMyl9Zm9yKGNvbnN0IHQgb2YgdGhpcy5zeW1ib2xTb3VyY2VzKCkpe2lmKHQuc3ltYm9sSGliZXJuYXRlZCgpLnZhbHVlKCl8fHQ9PT1lKWNvbnRpbnVlO2lmKCJhbnkiPT09KHQuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIikpcmV0dXJuIHZvaWQgdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnNldFZhbHVlKDMpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eS5zZXRWYWx1ZSgwKX0sdGhpcy5fcmVjYWxjQWxsb3dlZEFkanVzdG1lbnQ9KCk9Pntjb25zdCBlPXRoaXMubWFpblNlcmllcygpLHQ9ZS5zeW1ib2xJbmZvKCk/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiO2lmKCJkaXZpZGVuZHMiPT09dHx8InNwbGl0cyI9PT10KXJldHVybiB2b2lkIHRoaXMuX2FsbG93ZWRBZGp1c3RtZW50LnNldFZhbHVlKHQpO2xldCBpPSJub25lIjtmb3IoY29uc3QgZSBvZiB0aGlzLnN5bWJvbFNvdXJjZXMoKSl7aWYoZS5zeW1ib2xIaWJlcm5hdGVkKCkudmFsdWUoKSljb250aW51ZTtjb25zdCB0PWUuc3ltYm9sSW5mbygpPy5hbGxvd2VkX2FkanVzdG1lbnQ/PyJub25lIjtpZigiYW55Ij09PXQpcmV0dXJuIHZvaWQgdGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoImFueSIpOyJzcGxpdHMiPT09dCYmImRpdmlkZW5kcyIhPT1pJiYoaT0ic3BsaXRzIiksImRpdmlkZW5kcyI9PT10JiYoaT0iZGl2aWRlbmRzIil9dGhpcy5fYWxsb3dlZEFkanVzdG1lbnQuc2V0VmFsdWUoaSl9LHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQ9KCk9Pntzd2l0Y2godGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5LnZhbHVlKCkpe2Nhc2UgMjpyZXR1cm4gdm9pZCB0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNFbmFibGVkLnNldFZhbHVlKCEwKTtjYXNlIDA6Y2FzZSAxOnJldHVybiB2b2lkIHRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoITEpfXRoaXMuX2FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKSl9LHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlPWU9PntsZXQgdD10aGlzLl9wYW5lcy5maWx0ZXIoKGU9PiFlLmNvbGxhcHNlZCgpLnZhbHVlKCkpKS5sZW5ndGg7MD09PXQmJmUmJnRoaXMuX3BhbmVzLmxlbmd0aD4wJiYodGhpcy5fcGFuZXNbMF0uY29sbGFwc2VkKCkuc2V0VmFsdWUoITEpLHQ9MSksdGhpcy5fcGFuZUNvbGxhcHNpbmdBdmFpbGFibGUuc2V0VmFsdWUodD4xKX0sdGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZT0oKT0+e2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLnJlc2V0QXZhaWxhYmxlKCkudmFsdWUoKXx8dGhpcy5fcGFuZXMuc29tZSgoZT0+ZS5yZXNldFByaWNlU2NhbGVzQXZhaWxhYmxlKCkudmFsdWUoKSkpO3RoaXMuX3Jlc2V0U2NhbGVzQXZhaWxhYmxlLnNldFZhbHVlKGUpfSx0aGlzLl9vbkRyYXdpbmdzVmlzaWJpbGl0eUNoYW5nZWQ9ZT0+e2NvbnN0IHQ9IWUudmFsdWUoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpe2NvbnN0IGk9KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUucHJvcGVydGllcygpLnZpc2libGUudmFsdWUoKTt0JiZpPygwLCQuZW1pdCkoImRyYXdpbmdfZXZlbnQiLGUuaWQoKSwic2hvdyIpOiF0JiZpJiYoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksImhpZGUiKX10aGlzLnNlbGVjdGlvbk1hY3JvKChlPT5lLmNsZWFyU2VsZWN0aW9uKCkpKX0sdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQ9KCk9Pnt0aGlzLmFsbFN0dWRpZXMoKS5zb21lKChlPT5lLmNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCkmJmUucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmdGhpcy5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKGUpKSk/dGhpcy5zZWxlY3Rpb25NYWNybygoZT0+ZS5jbGVhclNlbGVjdGlvbigpKSk6dGhpcy5saWdodFVwZGF0ZSgpfTtjb25zdHtjaGFydFNlc3Npb246dCxpbnZhbGlkYXRlSGFuZGxlcjppLHByb3BlcnRpZXM6cyxzZXJpZXNQcm9wZXJ0aWVzOm4sZGF0YVJlcXVlc3Q6cix1bmRvTW9kZWw6byxiYXJzTWFya3NDb250YWluZXJzRmFjdG9yeTpjLG9wdGlvbnM6cCxoaWJlcm5hdGVWVzpfLGxpbmtpbmdHcm91cFdWOlMsaXNBdXRvU2F2ZUVuYWJsZWQ6dixzeW1ib2xBbGlhc1NlcnZpY2U6eSxkcmF3VGltZTpifT1lO3RoaXMuX2F2YWlsYWJsZU1ldHJpY3M9bmV3IERoKFtdKSx0aGlzLl9jaGFydFNlc3Npb249dCx0aGlzLl9pbnZhbGlkYXRlSGFuZGxlcj1pLHRoaXMuX3VuZG9Nb2RlbD1vLHRoaXMuX3Byb3BlcnRpZXM9cyx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKFR1KSxwKSx0aGlzLl9oaWJlcm5hdGVXVj1fLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PVMsdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWQ9dix0aGlzLl9yZWFkT25seT10aGlzLl9vcHRpb25zLnJlYWRPbmx5LHRoaXMuX2lzU25hcHNob3Q9dGhpcy5fb3B0aW9ucy5pc1NuYXBzaG90LHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT15LAp0aGlzLl9zeW1ib2xBbGlhc1NlcnZpY2U/Lm9uQWxpYXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9kcmF3VGltZT1iLHRoaXMuX2FsZXJ0c1dhdGNoZXI9bmV3IGRoKHRoaXMpLHRoaXMub25XaWRnZXQoKXx8bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCkpKSx0aGlzLl9jaGFydFNhdmVUaW1lPShuZXcgRGF0ZSkudmFsdWVPZigpLHRoaXMuX2JhY2tncm91bmRDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvcj1uZXcgaC5XYXRjaGVkVmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCEwKSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvciksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kVHlwZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYWNrZ3JvdW5kQ29sb3IpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3Iuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFja2dyb3VuZENvbG9yKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLmZ1bGxVcGRhdGUpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUodGhpcy5yZWNhbGNDb2xvclN0dWRpZXMuYmluZCh0aGlzLCExKSksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yLnN1YnNjcmliZSh0aGlzLnJlY2FsY0NvbG9yU3R1ZGllcy5iaW5kKHRoaXMsITEpKSx0aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yPW5ldyBoLldhdGNoZWRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRDb2xvci5zdWJzY3JpYmUoKCgpPT50aGlzLl9iYWNrZ3JvdW5kQ291bnRlckNvbG9yLnNldFZhbHVlKHRoaXMuX2dldEJhY2tncm91bmRDb3VudGVyQ29sb3IoKSkpKSx0aGlzLl9iYWNrZ3JvdW5kVGhlbWU9KDAsdS5jb21iaW5lKSgoZT0+IndoaXRlIj09PWU/Sm8uU3RkVGhlbWUuRGFyazpKby5TdGRUaGVtZS5MaWdodCksdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2lzRGFyaz0oMCx1LmNvbWJpbmUpKChlPT5lPT09Sm8uU3RkVGhlbWUuRGFyayksdGhpcy5fYmFja2dyb3VuZFRoZW1lLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fd2F0Y2hlZFRoZW1lU3Bhd24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUJhY2tncm91bmRDb2xvci5iaW5kKHRoaXMpKSx0aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZpbmdBY3RpdmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCl9KSksKDAsVC5pbml0KSgpO2NvbnN0IHc9dGhpcy5fcmVhZE9ubHk/bmV3IE90LlByb3BlcnR5KCgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyksKDAsJGwuZGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuY3Jvc3NIYWlyUHJvcGVydGllcyIpKSk6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5jcm9zc0hhaXJQcm9wZXJ0aWVzO3RoaXMuX2Nyb3NzSGFpclNvdXJjZT1uZXcgYXUodGhpcyx3LHRoaXMuX29wdGlvbnMuY3Jvc3NIYWlyKSx0aGlzLl9jcm9zc0hhaXJTZWxlY3RQb2ludE1vZGU9dGhpcy5fY3Jvc3NIYWlyU291cmNlLnNlbGVjdFBvaW50TW9kZSgpLnNwYXduKCksdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlLnN1YnNjcmliZSgoZT0+e2lmKGUhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lJiZ0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSl7Y29uc3QgZT1ULnRvb2wudmFsdWUoKTt0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpLFQudG9vbC5zZXRWYWx1ZShlKX19KSksdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGYuRGVsZWdhdGU7Y29uc3QgQz17Y291bnRkb3duRW5hYmxlZDp0aGlzLl9vcHRpb25zLmNvdW50ZG93bkVuYWJsZWQsbGFzdFByaWNlQW5pbWF0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR9O3RoaXMuX21haW5TZXJpZXM9bmV3IGVuLlNlcmllcyh0aGlzLG4sQyxyKSx0aGlzLl90aW1lU2NhbGU9bmV3IFFjKHRoaXMsdGhpcy5fb3B0aW9ucy50aW1lU2NhbGUpLHRoaXMuX3RpbWVTY2FsZS5yZXNldEF2YWlsYWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9hcHBsaWVkVGltZUZyYW1lPW5ldyB6aCh0aGlzKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX3RpbWVTY2FsZSx0aGlzLl90aW1lU2NhbGUuaW52YWxpZGF0ZVZpc2libGVCYXJzKTtjb25zdCBQPSgpPT50aGlzLmZ1bGxVcGRhdGUoKTt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLCgoKT0+ewp0aGlzLl9tYWluU2VyaWVzLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLl9tYWluU2VyaWVzLmlkKCkpKSxQKCl9KSksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLCgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnN1YnNjcmliZSh0aGlzLFApLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLnZpc2libGVCYXJzU3RyaWN0UmFuZ2VDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckF2ZXJhZ2VQcmljZUNhY2hlKSx0aGlzLmNyZWF0ZVBhbmUodm9pZCAwLHtheGlzUHJvcGVydGllczpuLmNoaWxkcygpLnByaWNlQXhpc1Byb3BlcnRpZXMuc3RhdGUoWyJhdXRvU2NhbGUiXSl9KSx0aGlzLl9hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLCgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKSx0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQ9dGhpcy5fdXBkYXRlU3R1ZGllc01heE9mZnNldC5iaW5kKHRoaXMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcywoKGUsdCxpLHMpPT57aWYobnVsbCE9PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmbnVsbCE9PWkmJnMmJigwLFZuLmFyZUVxdWFsVGltZUZyYW1lcykodGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlLnJhbmdlLGkpKXtjb25zdCBlPXRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnZhbHVlKCk7bnVsbCE9PWUmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxlLnZhbCkmJnRoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKG51bGwpLHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT1udWxsfX0pKSx0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuY29tcGxldGVkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PntudWxsPT09dGhpcy5fbGFzdEFwcGxpZWRHb3RvVGltZVJhbmdlJiZudWxsIT09dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2UmJnRoaXMuZ290b1RpbWVSYW5nZSh0aGlzLl9sYXN0R290b1RpbWVSYW5nZS5mcm9tLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlLnRvLHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlKX0pKTtjb25zdCB4PXRoaXMuX3BhbmVzWzBdO3guc2V0U3RyZXRjaEZhY3RvcigyKnguc3RyZXRjaEZhY3RvcigpKSx0aGlzLl9wcm9wZXJ0aWVzLnN1YnNjcmliZSh0aGlzLHRoaXMubGlnaHRVcGRhdGUpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5fY2hhcnRTZXNzaW9uJiZ0aGlzLl9jaGFydFNlc3Npb24uaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKX0pKSx4LmFkZERhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcyx4LmZpbmRTdWl0YWJsZVNjYWxlKHRoaXMuX21haW5TZXJpZXMpLCExKSx0aGlzLl9iYXJzTWFya3NTb3VyY2VzPWModGhpcyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyllLnNldE93bmVyU291cmNlKHRoaXMuX21haW5TZXJpZXMpLHguYWRkRGF0YVNvdXJjZShlLHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLCEwKTtpZih0aGlzLl9tYWluU2VyaWVzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbEludGVydmFsQ2hhbmdlZCksdGhpcy5fY3JlYXRlTG9sbGlwb3BTb3VyY2VzV2F0Y2hlcigpLHRoaXMuX3dhdGVybWFya1NvdXJjZT10aGlzLl9vcHRpb25zLndhdGVybWFya0VuYWJsZWQ/bmV3IHNsKHRoaXMpOm51bGwsdGhpcy5fdGltZXpvbmVFeGNlcHRFeGNoYW5nZT0oMCx1LmNvbWJpbmUpKCgoZSx0KT0+ImV4Y2hhbmdlIiE9PWU/ZTp0KSwoMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZSkub3duZXJzaGlwKCksKDAscWMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT8udGltZXpvbmU/P251bGwpLHRoaXMubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpLCF0aGlzLm9uV2lkZ2V0KCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImFsZXJ0cyIpJiZ0aGlzLl9pbml0QWxlcnRzTGlzdCgpLHRoaXMuX21haW5TZXJpZXMuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLmdvdG9UaW1lKHZvaWQgMCx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dGhpcy5fc2Nyb2xsaW5nU3RhdGUudGFyZ2V0UG9pbnRBbGlnbm1lbnQsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6dGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGx9KSxidSYmIXRoaXMuX21haW5TZXJpZXMucmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCkpewpjb25zdCBlPXRoaXMuX21haW5TZXJpZXMuYmFycygpLmZpcnN0KCk7bnVsbCE9PWUmJnRoaXMuX3RpbWVTY2FsZS5zZXRMZWZ0RWRnZUZpeChlLmluZGV4KX19KSksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcy5vbGRTdGFydFZpc2libGVJbmRleD1OYU4sdGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLm9sZEVuZFZpc2libGVJbmRleD1OYU59KSksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCksIXRoaXMuX3JlYWRPbmx5KXt0aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5hZGRDaGlsZCgicHJpY2VBeGlzUHJvcGVydGllcyIsdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkucHJvcGVydGllcygpKTtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTtlLnNob3dTdHVkeVRpdGxlcy5zdWJzY3JpYmUodGhpcywodD0+e3QudmFsdWUoKXx8ZS5zaG93U3R1ZHlBcmd1bWVudHMuc2V0VmFsdWUoITEpfSkpfXRoaXMuX21haW5TZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSx0aGlzLl9tYWluU2VyaWVzLm9uVGltZUZyYW1lQXBwbGllZCgpLnN1YnNjcmliZSh0aGlzLChlPT57Y29uc3QgdD1lP3tyZXM6dGhpcy5fbWFpblNlcmllcy5pbnRlcnZhbCgpLHZhbDplfTpudWxsO3RoaXMuYXBwbGllZFRpbWVGcmFtZSgpLnNldFZhbHVlKHQpfSkpLHRoaXMuX21heGltaXplZFBhbmUuc3Vic2NyaWJlKCgoKT0+by5tb2RlbCgpLmZ1bGxVcGRhdGUoKSkpLHRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTaG93TGVnZW5kUHJvcGVydHkpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRHJhd2luZ3NWaXNpYmlsaXR5Q2hhbmdlZCksKDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkluZGljYXRvcnNWaXNpYmlsaXR5Q2hhbmdlZCksaWguZGF0ZUZvcm1hdFByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fY3VycmVudFRvb2wuc3Vic2NyaWJlKChlPT57aWYoKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zU29ydGVkKCkubWFwKChlPT4oMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKT9lLmlkOmUuaWQoKSkpO3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1lLHRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCl9KSl9dGhpcy5fbWF5YmVVcGRhdGVQcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXAoKSwhKDAsa2kuaXNMaW5lVG9vbExvYWRlZCkoZSkmJigwLGtpLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKT8oMCxraS5sb2FkTGluZVRvb2wpKGUpLnRoZW4oKCgpPT50aGlzLl9waGFudG9tU291cmNlQ29udGFpbmVyLm9uVG9vbENoYW5nZWQoKSkpOnRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25Ub29sQ2hhbmdlZCgpfSkpLHRoaXMuX3NpZ25hdHVyZVNvdXJjZXM9dGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNwYXduKCk7Y29uc3QgTT0oMCx1LmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+ZS5zaWduYXR1cmUoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fc2lnbmF0dXJlU291cmNlcy53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX3NvdXJjZXNTaWduYXR1cmVzPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmUuZmlsdGVyKGEubm90TnVsbCkpLE0ub3duZXJzaGlwKCkpfWRlc3Ryb3koKXt0aGlzLl9hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLmNsZWFySW50ZXJ2YWxzKCksdGhpcy5yZXNldERlZmVycmVkU3R1ZGllcygpLHRoaXMuX3N5bWJvbEFsaWFzU2VydmljZT8ub25BbGlhc0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLmFsbFN0dWRpZXMoKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlKSkpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSxUYy50aW1lSG91cnNGb3JtYXRQcm9wZXJ0eS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKSwoMCxULmhpZGVBbGxJbmRpY2F0b3JzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25JbmRpY2F0b3JzVmlzaWJpbGl0eUNoYW5nZWQpLCgwLFQuaGlkZUFsbERyYXdpbmdzKSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25EcmF3aW5nc1Zpc2liaWxpdHlDaGFuZ2VkKSx0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5kZXN0cm95KCksdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWQuZGVzdHJveSgpLG51bGwhPT10aGlzLl93YXRlcm1hcmtTb3VyY2UmJih0aGlzLl93YXRlcm1hcmtTb3VyY2UuZGVzdHJveSgpLHRoaXMuX3dhdGVybWFya1NvdXJjZT1udWxsKSxBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAua2V5cygpKS5mb3JFYWNoKHRoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZSx0aGlzKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLmxlbmd0aCksKDAsbC5hc3NlcnQpKDA9PT10aGlzLl9mZ0N1c3RvbVNvdXJjZXMubGVuZ3RoKSwoMCxsLmFzc2VydCkoMD09PXRoaXMuX2JnQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLGwuYXNzZXJ0KSgwPT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5sZW5ndGgpLCgwLApsLmFzc2VydCkoMD09PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuc2l6ZSksdGhpcy5fcGFuZXMuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSx0aGlzLl9wYW5lcy5sZW5ndGg9MCx0aGlzLl9zZXNzaW9ucz1udWxsLG51bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiYodGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1udWxsKSxudWxsIT09dGhpcy5fYWxlcnRzV2F0Y2hlciYmdGhpcy5fYWxlcnRzV2F0Y2hlci5kZXN0cm95KCksdGhpcy5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93TGVnZW5kLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmJhY2tncm91bmRUeXBlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5iYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dhdGNoZWRUaGVtZVNwYXduLmRlc3Ryb3koKSx0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhPW51bGwsdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGE9bnVsbCwoMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksKDAsb3MuYXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5UHJvcGVydHkpKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlciksdGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvdW50ZG93bi51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCk/LmRlc3Ryb3koKSx0aGlzLl9hbGVydHNDb2xsZWN0aW9uLnNldFZhbHVlKG51bGwpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2Nyb3NzSGFpclNlbGVjdFBvaW50TW9kZS5kZXN0cm95KCksdGhpcy5fbWFpblNlcmllcy5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21haW5TZXJpZXMub25UaW1lRnJhbWVBcHBsaWVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbWFpblNlcmllcy5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJBdmFpbGFibGVQcmljZVNvdXJjZXMpLHRoaXMuX21haW5TZXJpZXMub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKSx0aGlzLl9tYWluU2VyaWVzLm9uU3R5bGVDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcy5fdGltZVNjYWxlLHRoaXMuX3RpbWVTY2FsZS5pbnZhbGlkYXRlVmlzaWJsZUJhcnMpLHRoaXMuX3RpbWVTY2FsZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX21haW5TZXJpZXMsdGhpcy5fbWFpblNlcmllcy5jbGVhckhpZ2hMb3dQcmljZUNhY2hlKSx0aGlzLl90aW1lU2NhbGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLl9tYWluU2VyaWVzLHRoaXMuX21haW5TZXJpZXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSksdGhpcy5fdGltZVNjYWxlLmJhclNwYWNpbmdDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLm9uU2Nyb2xsKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdGltZVNjYWxlLmRlc3Ryb3koKSx0aGlzLl90aW1lem9uZUV4Y2VwdEV4Y2hhbmdlLmRlc3Ryb3koKSx0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyTG9hZGVyPy5kZXN0cm95KCksdGhpcy5fYXBwbGllZFRpbWVGcmFtZS5kZXN0cm95KCksdGhpcy5fY3Jvc3NIYWlyU291cmNlLmRlc3Ryb3koKSx0aGlzLl9jdXJyZW50VG9vbC5kZXN0cm95KCksdGhpcy5fc2lnbmF0dXJlU291cmNlcy5kZXN0cm95KCksdGhpcy5fc291cmNlc1NpZ25hdHVyZXMuZGVzdHJveSgpLHRoaXMuX29uRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9vbkRlc3Ryb3llZC5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5kZXN0cm95KCksdGhpcy5fZGVzdHJveWVkPSEwfW9uRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX29uRGVzdHJveWVkfXJlc3RhcnQoKXt0aGlzLl9jaGFydFNlc3Npb24uc3dpdGNoVGltZXpvbmUodGhpcy50aW1lem9uZSgpKSx0aGlzLl90aW1lU2NhbGUucmVzZXQoKSx0aGlzLl9tYWluU2VyaWVzLnJlc3RhcnQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5yZXN0YXJ0JiZlIT09dGhpcy5fbWFpblNlcmllcyYmZS5yZXN0YXJ0KCk7dGhpcy5fc2Vzc2lvbnM/LmdldCgpPy5yZXN0YXJ0KCl9dmVyc2lvbigpe3JldHVybiAzfWNvbGxhcHNlZCgpe3JldHVybiB0aGlzLl9oaWJlcm5hdGVXVn12aXNpYmxlUmFuZ2VTdHVkaWVzSW5wdXRzKCl7cmV0dXJuIHRoaXMuX3Zpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMucmVhZG9ubHkoKX1jaGFydFNhdmVUaW1lKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2F2ZVRpbWV9c2V0Q2hhcnRTYXZlVGltZShlKXt0aGlzLl9jaGFydFNhdmVUaW1lPWV9c3RhcnROb3RTdGFydGVkU3R1ZGllcygpewppZighdGhpcy5fbWFpblNlcmllcy5pc1N0YXJ0ZWQoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBzdHVkaWVzOiBtYWluIHNlcmllcyBpcyBub3Qgc3RhcnRlZCIpO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YVNvdXJjZXMoKSkoMCx0aS5pc1N0dWR5KShlKSYmIWUuaXNTdGFydGVkKCkmJmUucmVzdGFydD8uKCl9dW5kb01vZGVsKCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbH1vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInRpbWVzY2FsZV91cGRhdGUiOntjb25zdCB0PWUucGFyYW1zO3RoaXMuX3VwZGF0ZVRpbWVTY2FsZSh7aW5kZXg6dC5pbmRleCx6b2Zmc2V0OnQuem9mZnNldCx2YWx1ZXM6dC5jaGFuZ2VzLGluZGV4RGlmZnM6dC5pbmRleF9kaWZmLGJhc2VJbmRleDp0LmJhc2VJbmRleCxtYXJrczp0Lm1hcmtzLGNsZWFyRmxhZzp0LmNsZWFyLGNsZWFyVGlja01hcmtzOnQuY2xlYXJUaWNrTWFya3N9KTticmVha31jYXNlInRpbWVzY2FsZV9jb21wbGV0ZWQiOntjb25zdCB0PUJvb2xlYW4oZS5wYXJhbXNbMF0pO3RoaXMuX3RpbWVTY2FsZS5vblRpbWVTY2FsZUNvbXBsZXRlZCh0KTticmVha319fWFkZFN0cmF0ZWd5U291cmNlKGUsdCl7MSE9PXQmJi0xPT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJih0aGlzLl9zdHJhdGVneVNvdXJjZXMucHVzaChlKSx0aGlzLl9zdHJhdGVneVNvdXJjZXNDaGFuZ2UuZmlyZSh0KSx0aGlzLnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpKX1yZW1vdmVTdHJhdGVneVNvdXJjZShlLHQpe2lmKDE9PT10KXJldHVybjtjb25zdCBpPXRoaXMuX3N0cmF0ZWd5U291cmNlcy5pbmRleE9mKGUpO2lmKC0xIT09aSl7aWYodGhpcy5fc3RyYXRlZ3lTb3VyY2VzLnNwbGljZShpLDEpWzBdPT09dGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2UudmFsdWUoKSYmdGhpcy51bnNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKCksdGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmxlbmd0aD4wKXtjb25zdCBlPXRoaXMuX3N0cmF0ZWd5U291cmNlc1t0aGlzLl9zdHJhdGVneVNvdXJjZXMubGVuZ3RoLTFdO3RoaXMuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoZSl9dGhpcy5fc3RyYXRlZ3lTb3VyY2VzQ2hhbmdlLmZpcmUodCl9fXNldEFjdGl2ZVN0cmF0ZWd5U291cmNlKGUpey0xIT09dGhpcy5fc3RyYXRlZ3lTb3VyY2VzLmluZGV4T2YoZSkmJnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlLnNldFZhbHVlKGUpfXVuc2V0QWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXt0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5zZXRWYWx1ZShudWxsKX1hY3RpdmVTdHJhdGVneVNvdXJjZSgpe3JldHVybiB0aGlzLl9hY3RpdmVTdHJhdGVneVNvdXJjZS5yZWFkb25seSgpfXN0cmF0ZWd5U291cmNlcygpe3JldHVybiB0aGlzLl9zdHJhdGVneVNvdXJjZXN9c3RyYXRlZ3lTb3VyY2VzQ2hhbmdlKCl7cmV0dXJuIHRoaXMuX3N0cmF0ZWd5U291cmNlc0NoYW5nZX1yZXBsYXlTdHVkeVN0cmF0ZWd5KCl7cmV0dXJuIHRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3l9c2V0UmVwbGF5U3R1ZHlTdHJhdGVneShlKXt0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5LnNldFZhbHVlKGUpfWFzeW5jIHJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7aWYobnVsbD09PXRoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMpe2NvbnN0IGU9YXdhaXQoMCxwaC5nZXRSZXBsYXlTdHJhdGVneU1ldGFJbmZvKSgpO2lmKG51bGwhPT10aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzKXJldHVybiB0aGlzLl9yZXBsYXlTdHVkeVN0cmF0ZWd5SW5wdXRzO3RoaXMuX3JlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHM9bmV3IEdyLkRlZmF1bHRQcm9wZXJ0eSh7ZGVmYXVsdE5hbWU6InJlcGxheVN0dWR5U3RyYXRlZ3lJbnB1dHMiLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOigpPT4oMCxhLmNsb25lKShlLmRlZmF1bHRzLmlucHV0cyl9KX1yZXR1cm4gdGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0c31jbGVhclJlcGxheVN0dWR5U3RyYXRlZ3lQcm9wZXJ0aWVzKCl7dGhpcy5fcmVwbGF5U3R1ZHlTdHJhdGVneUlucHV0cz1udWxsfXNldFNjcm9sbEVuYWJsZWQoZSl7dGhpcy5fc2Nyb2xsRW5hYmxlZD1lfXNjcm9sbEVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRW5hYmxlZH1zZXRab29tRW5hYmxlZChlKXt0aGlzLl96b29tRW5hYmxlZD1lfXpvb21FbmFibGVkKCl7cmV0dXJuIHRoaXMuX3pvb21FbmFibGVkfWRyYWdFeHBvcnRFbmFibGVkKCl7cmV0dXJuIHRoaXMuX2RyYWdFeHBvcnRFbmFibGVkfWFzeW5jIHNldERyYWdFeHBvcnRFbmFibGVkKGUpe2NvbnNvbGUuZXJyb3IoImZlYXR1cmUgaXMgbm90IGVuYWJsZWQiKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe3RoaXMuc2V0VGltZVZpZXdwb3J0KGUsdCk7bGV0IHI9TWF0aC5taW4oaSxzKSxvPU1hdGgubWF4KGkscyk7Y29uc3QgYT1uLmRlZmF1bHRQcmljZVNjYWxlKCk7YS5pc1BlcmNlbnRhZ2UoKXx8YS5zZXRNb2RlKHthdXRvU2NhbGU6ITF9KSxhLmlzTG9nKCkmJihyPWEucHJpY2VUb0xvZ2ljYWwociksbz1hLnByaWNlVG9Mb2dpY2FsKG8pKSxhLnNldFByaWNlUmFuZ2UobmV3IFBsLlByaWNlUmFuZ2UocixvKSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9c2V0VGltZVZpZXdwb3J0KGUsdCl7Y29uc3QgaT10aGlzLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpO251bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJm51bGwhPT1pJiYoMCxWbi5hcmVFcXVhbFRpbWVGcmFtZXMpKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZS5yYW5nZSxpLnZhbCkmJiF0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsfHwodGhpcy50aW1lU2NhbGUoKS56b29tVG9CYXJzUmFuZ2UoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksCnRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbiksdGhpcy5saWdodFVwZGF0ZSgpKX1vblRhZ3NDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3RhZ3NDaGFuZ2VkfWNhblpvb21Jbigpe3JldHVybiB0aGlzLl90aW1lU2NhbGUuY2FuWm9vbUluKCkmJnRoaXMuX3pvb21FbmFibGVkfWNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLmNhblpvb21PdXQoKSYmdGhpcy5fem9vbUVuYWJsZWR9b25QYW5lVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9cGFuZXNDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkfWRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWR9c3ltYm9sU291cmNlUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlUmVzb2x2ZWR9c3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZX1hZGp1c3RGb3JEaXZpZGVuZHNBdmFpbGFiaWxpdHkoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzQXZhaWxhYmlsaXR5fWFkanVzdEZvckRpdmlkZW5kc0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fYWRqdXN0Rm9yRGl2aWRlbmRzRW5hYmxlZH1hbGxvd2VkQWRqdXN0bWVudCgpe3JldHVybiB0aGlzLl9hbGxvd2VkQWRqdXN0bWVudH1wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9wYW5lQ29sbGFwc2luZ0F2YWlsYWJsZX1zb3VyY2VQcm9wZXJ0aWVzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VQcm9wZXJpdGVzQ2hhbmdlZH1zb3VyY2VaT3JkZXJDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWR9em9vbVRpbWUoZSx0LGkpe2lmKCF0aGlzLl96b29tRW5hYmxlZClyZXR1cm47Y29uc3Qgcz10aGlzLnRpbWVTY2FsZSgpO2lmKHMuaXNFbXB0eSgpfHwwPT09dClyZXR1cm47Y29uc3Qgbj1zLndpZHRoKCk7ZT1NYXRoLm1heCgxLE1hdGgubWluKGUsbi0yKSkscy56b29tKGUsdCxpKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9bGluZUJlaW5nRWRpdGVkKCl7cmV0dXJuIHRoaXMuX2xpbmVCZWluZ0VkaXRlZD8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZVBvaW50QmVpbmdFZGl0ZWQoKXtyZXR1cm4gdGhpcy5fbGluZUJlaW5nRWRpdGVkPy5wb2ludEluZGV4Pz9udWxsfWxpbmVQb2ludEJlaW5nQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LnN0YXJ0Q2hhbmdpbmdQb2ludD8/bnVsbH1hY3RpdmVJdGVtQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZH1tYWluU2VyaWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXN9dXBkYXRlQWxsUGFuZVZpZXdzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXQudXBkYXRlQWxsVmlld3MoZSk7dGhpcy5fd2F0ZXJtYXJrU291cmNlPy51cGRhdGVBbGxWaWV3cyhlKX1kYXRhU291cmNlcygpe2NvbnN0IGU9W3RoaXMuY3Jvc3NoYWlyU291cmNlKCldO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuZGF0YVNvdXJjZXMoKSllLnB1c2goaSk7cmV0dXJuIGV9cHJpY2VEYXRhU291cmNlcygpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpZS5wdXNoKGkpO3JldHVybiBlfXN5bWJvbFNvdXJjZXMoKXtjb25zdCBlPVtdO2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKWZvcihjb25zdCBpIG9mIHQuc3ltYm9sU291cmNlcygpKWUucHVzaChpKTtyZXR1cm4gZX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7bGV0IHQ9W3RoaXMuX2Nyb3NzSGFpclNvdXJjZV07Zm9yKGxldCBpPTA7aTx0aGlzLl9wYW5lcy5sZW5ndGg7aSsrKXtsZXQgcz10aGlzLl9wYW5lc1tpXS5zb3VyY2VzQnlHcm91cCgpLmFsbCgpO2UmJihzPXMuc2xpY2UoKS5yZXZlcnNlKCkpLHQ9dC5jb25jYXQocyl9cmV0dXJuIHR9bGluZVRvb2xCeUxpbmtLZXkoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpe2NvbnN0IGk9dC5saW5lVG9vbEJ5TGlua0tleShlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfXRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl90aW1lU2NhbGV9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbn1wcmV2aW91c1NlbGVjdGVkRHJhd2luZ09yR3JvdXBJZHMoKXtyZXR1cm4gdGhpcy5fcHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzfXNlbGVjdGlvbk1hY3JvKGUsdD0hMSl7Y29uc3QgaT10aGlzLnNlbGVjdGlvbigpLmFsbEl0ZW1zKCk7ZSh7cmVtb3ZlSXRlbUZyb21TZWxlY3Rpb246dGhpcy5fcmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24sYWRkSXRlbVRvU2VsZWN0aW9uOnRoaXMuX2FkZEl0ZW1Ub1NlbGVjdGlvbixjbGVhclNlbGVjdGlvbjp0aGlzLl9jbGVhclNlbGVjdGlvbixzZWxlY3Rpb25PcGVyYXRpb25BdmFpbGFibGU6dGhpcy5fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlLmJpbmQodGhpcyksc2VsZWN0aW9uOnRoaXMuc2VsZWN0aW9uLmJpbmQodGhpcyl9KTtjb25zdCBzPXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKSxuPSgwLGcuc3VidHJhY3QpKGkscykscj0oMCxnLnN1YnRyYWN0KShzLGkpO3IuY29uY2F0KGkpLmZvckVhY2goKGU9PnsoMCxYci5pc0xpbmVUb29sc0dyb3VwKShlKXx8ZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zZWxlY3Rpb25DaGFuZ2VFdmVudCkoKSl9KSkKO2NvbnN0IG89W10sYT1bXTtpZighdClmb3IoY29uc3QgZSBvZiBuKSgwLHJpLmlzTGluZVRvb2wpKGUpJiYoKDAscmkuaXNFZGl0YWJsZVRleHRMaW5lVG9vbCkoZSkmJmUuZGVhY3RpdmF0ZVRleHRFZGl0aW5nKCksZS5zaG91bGRCZVJlbW92ZWRPbkRlc2VsZWN0KCkmJm51bGwhPT10aGlzLmRhdGFTb3VyY2VGb3JJZChlLmlkKCkpJiZvLnB1c2goZSkpLCgwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpJiZlLnNob3VsZEJlUmVtb3ZlZE9uRGVzZWxlY3QoKSYmbnVsbCE9PXRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZ3JvdXBGb3JJZChlLmlkKSYmYS5wdXNoKGUpO2lmKDE9PT1yLmxlbmd0aCl7Y29uc3RbZV09cjsoMCxyaS5pc0xpbmVUb29sKShlKSYmZS5oYXNBbGVydCgpLnZhbHVlKCkmJjA9PT1lLmFsZXJ0U3RhdHVzKCkudmFsdWUoKSYmZS5zeW5jaHJvbml6ZUFsZXJ0KCkuY2F0Y2goKCgpPT57fSkpfW8ubGVuZ3RoPjAmJnRoaXMuX3VuZG9Nb2RlbC5yZW1vdmVTb3VyY2VzKG8sITEsdnUpLGEubGVuZ3RoPjAmJmEuZm9yRWFjaCgoZT0+e3RoaXMuX3VuZG9Nb2RlbC5saW5lVG9vbHNHcm91cENvbnRyb2xsZXIoKS5yZW1vdmVHcm91cChlKX0pKSx0aGlzLmxpZ2h0VXBkYXRlKCksKG4ubGVuZ3RoPjB8fHIubGVuZ3RoPjApJiZ0aGlzLl9zZWxlY3RlZFNvdXJjZUNoYW5nZWQuZmlyZSgpLHRoaXMuX21heWJlVXBkYXRlUHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwKCl9b25TZWxlY3RlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRTb3VyY2VDaGFuZ2VkfWNoZWNrTGluZVRvb2xBbmRHcm91cFNlbGVjdGlvbigpe2NvbnN0IGU9dGhpcy5zZWxlY3Rpb24oKS5hbGxJdGVtcygpO3RoaXMuX3NlbGVjdGlvbi5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSxlLmxlbmd0aCE9PXRoaXMuc2VsZWN0aW9uKCkuYWxsSXRlbXMoKS5sZW5ndGgmJnRoaXMuX3NlbGVjdGVkU291cmNlQ2hhbmdlZC5maXJlKCl9bGluZVRvb2xzR3JvdXBNb2RlbCgpe3JldHVybiB0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsfXJlc3RvcmVMaW5lVG9vbHNHcm91cHMoZSl7dGhpcy5fdW5zdWJzY3JpYmVGcm9tTGluZVRvb2xzR3JvdXBNb2RlbCgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwuZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWw9c2guZnJvbVN0YXRlKHRoaXMsZSksdGhpcy5fc3Vic2NyaWJlVG9MaW5lVG9vbHNHcm91cE1vZGVsKCl9cmVhbGlnbkxpbmVUb29scyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9wYW5lcykodm9pZCAwPT09ZXx8dC5oYXNEYXRhU291cmNlKGUpKSYmdC5yZWFsaWduTGluZVRvb2xzKGUpJiZ0aGlzLl9kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSh0KX1jb3B5VG9PdGhlckNoYXJ0cyhlLHQpe2NvbnN0IGk9dGhpcy5tYWluU2VyaWVzKCkscz1pLnN5bmNNb2RlbCgpLG49dGhpcy50aW1lU2NhbGUoKTtpZihzKWZvcihjb25zdCByIG9mIGUpe2lmKCFyLmlzU3luY2hyb25pemFibGUoKSljb250aW51ZTtjb25zdCBlPXIubGlua0tleSgpLnZhbHVlKCl8fCgwLGx0LnJhbmRvbUhhc2gpKCk7ci5saW5rS2V5KCkuc2V0VmFsdWUoZSk7Y29uc3Qgbz1yLnN0YXRlKCExKSxhPXIubm9ybWFsaXplZFBvaW50cygpLGM9ci5ub3JtYWxpemVkUG9pbnRzRm9yQ3JlYXRpbmcoKSxoPXIucHJvcGVydGllcygpLmludGVydmFsLnZhbHVlKCksZD1pLmludGVydmFsKCksdT1lPT57aWYoeC5JbnRlcnZhbC5pc0VxdWFsKGgsZCkpcmV0dXJuIGUubWFwKChlPT57Y29uc3QgdD0oMCxsLmVuc3VyZU5vdE51bGwpKG4udGltZVBvaW50VG9JbmRleChlLnRpbWVfdCkpK2Uub2Zmc2V0O3JldHVybntwcmljZTplLnByaWNlLHRpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodCkpfX0pKTt7Y29uc3QgdD1zLmNyZWF0ZU5ld01vZGVsV2l0aFJlc29sdXRpb24oaCk7cmV0dXJuIGUubWFwKChlPT4oe3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOjA9PT1lLm9mZnNldD9lLnRpbWVfdDp0LnByb2plY3RUaW1lKGUudGltZV90LGUub2Zmc2V0KX0pKSl9fSxwPXUoYSksXz11KGMpLG09ey4uLm8saWQ6ci5pZCgpLGxpbmtLZXk6ZSxwb2ludHM6cCxwb2ludHNGb3JDcmVhdGluZzpfLGxpbmV0b29sOnIudG9vbG5hbWUsbW9kZWw6dGhpcyxzeW1ib2w6aS5zeW1ib2woKSx3aXRoVW5kbzp0LHpPcmRlcjpyLnpvcmRlcigpLGZpbmFsU3RhdGU6e3BvaW50czphLGludGVydmFsOmh9LHBvaW50UG9zaXRpb25QZXJjZW50czpyLmlzRml4ZWQoKT9yLmNhbGNQb3NpdGlvblBlcmNlbnRzKCk6dm9pZCAwLHNoYXJpbmdNb2RlOnIuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTsoMCxULmNvcHlMaW5lVG9vbCkobSl9fWlzU25hcHNob3QoKXtyZXR1cm4gdGhpcy5faXNTbmFwc2hvdH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vcHRpb25zLm9uV2lkZ2V0fWhpZGVJZGVhcygpe3JldHVybiB0aGlzLl9vcHRpb25zLmhpZGVJZGVhc311cGRhdGVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9pbnZhbGlkYXRpb25NYXNrRm9yU291cmNlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlU291cmNlUHJpY2VTY2FsZShlKXtjb25zdCB0PXRoaXMuX2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2VQcmljZVNjYWxlKGUpO251bGwhPT10JiZ0aGlzLmludmFsaWRhdGUodCl9dXBkYXRlUGFuZShlKXt0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSkpfXVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleChlKXtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmJhcnMoKSxpPSh0LmZpcnN0SW5kZXgoKT8/MS8wKTwoZT8uaW5kZXg/Py0xLzApLHM9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpO2lmKHQuaXNFbXB0eSgpfHx0aGlzLl91cGRhdGVCYXNlSW5kZXgoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lmxhc3RJbmRleCgpKSwhIShlJiZlLmluZGV4PjApKSxpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY3JvbGxlZCgpJiYhdGhpcy5fdGltZVNjYWxlLmlzQmVpbmdTY2FsZWQoKSl7CmNvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpLXMsdD10aGlzLl90aW1lU2NhbGUucmlnaHRPZmZzZXQoKTt0LXRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpPmUmJnRoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldCh0LWUpfX1zZXRJbnRlcnZhbChlLHQpe2NvbnN0IGk9c2V0SW50ZXJ2YWwoZSx0KTtyZXR1cm4gdGhpcy5fbW9kZWxJbnRlcnZhbHMucHVzaChpKSxpfWNsZWFySW50ZXJ2YWwoZSl7Y2xlYXJJbnRlcnZhbChlKTtjb25zdCB0PXRoaXMuX21vZGVsSW50ZXJ2YWxzLmluZGV4T2YoZSk7dD4tMSYmdGhpcy5fbW9kZWxJbnRlcnZhbHMuc3BsaWNlKHQsMSl9Y2xlYXJJbnRlcnZhbHMoKXtmb3IobGV0IGU9MDtlPHRoaXMuX21vZGVsSW50ZXJ2YWxzLmxlbmd0aDtlKyspY2xlYXJJbnRlcnZhbCh0aGlzLl9tb2RlbEludGVydmFsc1tlXSk7dGhpcy5fbW9kZWxJbnRlcnZhbHM9W119Y3JlYXRlU3R1ZHlJbnNlcnRlcihlKXtyZXR1cm4gbmV3IGd1KGUse2NyZWF0ZVN0dWR5OmU9PnRoaXMuaW5zZXJ0U3R1ZHlXaXRoUGFyYW1zKGUpLHN0b3JlRmFpbGVkU3R1YjplPT57fX0pfWluc2VydFN0dWR5V2l0aFBhcmFtcyhlKXtjb25zdHtzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOnMsdGFyZ2V0Wk9yZGVyOm4scHJvcHNTdGF0ZTpyLGZvcmNlT3ZlcmxheTpvLHBhcmVudFNvdXJjZXM6YyxwcmVmZXJyZWRQcmljZVNjYWxlOmgsYWxsb3dDaGFuZ2VDdXJyZW5jeTpkLGFsbG93Q2hhbmdlVW5pdDp1LGFsbG93Q2hhbmdlTWV0cmljOnAscGFuZVNpemU6Xyx0YXJnZXRTY2FsZU1vZGU6bSxpZDpnfT1lO2xldCBmPW51bGw7aWYoIW8mJnZvaWQgMCE9PXQuZ3JvdXBpbmdLZXkpe2NvbnN0IGU9dGhpcy5maW5kTm9uT3ZlcmxheVN0dWR5V2l0aEdyb3VwaW5nS2V5KHQuZ3JvdXBpbmdLZXkpO251bGwhPT1lJiYoZj1lLnBhbmUpfW51bGw9PT1mJiYob3x8dC5pc19wcmljZV9zdHVkeT9mPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGM/LlswXT8/dGhpcy5fbWFpblNlcmllcykpOihmPXRoaXMuY3JlYXRlUGFuZSgpLHZvaWQgMCE9PV8mJmYuc2V0UGFuZVNpemUoXykpKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09dC5pZCYmdGhpcy5fbWFpblNlcmllcy5wcmljZVNjYWxlKCkuc2V0TW9kZSh7bG9nOiExLHBlcmNlbnRhZ2U6ITB9KTtjb25zdCBTPSgwLGEubWVyZ2UpKCgwLFdvLmRlZmF1bHQpKHI/P3t9KSx7aW5wdXRzOnMscGFyZW50U291cmNlczpbXX0pO2xldCB2PSExLHk9bnVsbCxiPW51bGw7Y29uc3Qgdz1jPz9bXSxDPVByb21pc2UuYWxsKFtpLmUoMjE3ODQpLGkuZSgzMTAwMSksaS5lKDg2MTc4KSxpLmUoOTE5NDQpLGkuZSg5NzU1OCksaS5lKDY2OTg4KSxpLmUoOTcyNzIpLGkuZSg5MjcwKSxpLmUoODQyNjUpLGkuZSg1MzU1KSxpLmUoMTIyMjcpLGkuZSg1OTY0OSksaS5lKDQ3NTM4KV0pLnRoZW4oaS5iaW5kKGksNDM3NzQ5KSkudGhlbigoKHtwcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzOmV9KT0+ZSh0LFMsZiwoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSx3KSkpLnRoZW4oKGU9Pntjb25zdCBpPW5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pO3JldHVybiBsYSh0aGlzLGUsdyxpLG5ldyBvdC5TdHVkeU1ldGFJbmZvKHQuc3RhdGUoKSx0LnVzZVZlcnNpb25Gcm9tTWV0YUluZm8pLGcsdm9pZCAwKX0pKSxQPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtyZXR1cm4gQy50aGVuKChlPT57aWYodilyZXR1cm4gZS5zdG9wKCksdm9pZCBlLmRlc3Ryb3k/LigpO3k9ZS5pZCgpO2NvbnN0IHQ9Zi5maW5kU3VpdGFibGVTY2FsZShlLGM/LlswXT8/dGhpcy5tYWluU2VyaWVzKCksaCk7aWYoYj10Lm1vZGUoKSx0PT09dGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYoMCxJby5pc1N5bWJvbFNvdXJjZSkoZSkpe2NvbnN0IGk9ZD96bihlLHQsdGhpcywhMCk6bnVsbCxzPXU/KDAsZHUuc291cmNlTmV3VW5pdE9uUGlubmluZ1RvUHJpY2VTY2FsZSkoZSx0LHRoaXMsITApOm51bGwsbj1wP0VoKGUsdCx0aGlzKTpudWxsO251bGw9PT1pJiZudWxsPT09cyYmbnVsbD09PW58fGUuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTppPz92b2lkIDAsdW5pdDpzPz92b2lkIDAsbWV0cmljOm4/P3ZvaWQgMH0pfWlmKCgwLElvLmlzU3ltYm9sU291cmNlKShlKSYmKDAsbC5lbnN1cmVOb3ROdWxsKShmKS5oYXNEYXRhU291cmNlKHRoaXMubWFpblNlcmllcygpKSYmeXUmJiFRLmdldEJvb2woImVuYWJsZV9zeW1ib2xfbGFiZWxzX29uX2luc2VydGluZ19jb21wYXJlX29uY2UiLCExKSYmKCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMuc2V0VmFsdWUoITApLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSxRLnNldFZhbHVlKCJlbmFibGVfc3ltYm9sX2xhYmVsc19vbl9pbnNlcnRpbmdfY29tcGFyZV9vbmNlIiwhMCkpLFAucmVzb2x2ZShlLnN0YXJ0KCkpLG4mJmYuaWQoKT09PW4ucGFuZUlkKWYuaW5zZXJ0RGF0YVNvdXJjZShlLHQsbi56b3JkZXIpO2Vsc2V7Zi5hZGREYXRhU291cmNlKGUsdCwhMSk7bnVsbCE9PWUucHJlZmVycmVkWk9yZGVyKCkmJmYuaW5zZXJ0QWZ0ZXIoW2VdLHRoaXMubWFpblNlcmllcygpKX12b2lkIDAhPT1tJiZ0LnNldE1vZGUobSksZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2V0T3duZXJTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGYsKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5fcmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc0ltcGwoe3N0dWRpZXM6W2VdLHJlYXNvbnM6bmV3IFNldChbSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TdHVkeUNyZWF0aW9uXSl9KSx0aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKHsKc3R1ZGllczpbZV0sZm9yY2U6ITB9KSx0aGlzLl9zdHVkeUluc2VydGVkLmZpcmUoZSksdGhpcy5hbGVydHNXYXRjaGVyKCk/LnN5bmNTb3VyY2VBbGVydExhYmVscyhlKSxlLm1heE9mZnNldCgpLnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQse2NhbGxXaXRoTGFzdDohMH0pfSkpLHtzdHVkeTpDLHN0YXJ0UHJvbWlzZTpQLnByb21pc2UsY2FuY2VsOigpPT52PSEwLGVudGl0eUlkOigpPT55LG9yaWdpbmFsU2NhbGVNb2RlOigpPT5ifX1yZXBsYWNlU3R1ZHlTdHViKGUsdCl7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcz1lLnByaWNlU2NhbGUoKSxuPWUuem9yZGVyKCkscj1lLm93bmVyU291cmNlKCk7cmV0dXJuIHRoaXMucGFuZUZvclNvdXJjZShlKT09PWk/aS5yZXBsYWNlU291cmNlKGUsdCxzKTooaS5pbnNlcnREYXRhU291cmNlKHQscyxuKSx0aGlzLnJlbW92ZVNvdXJjZShlKSksdC5zZXRPd25lclNvdXJjZShyKSx0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoaT0+e2kub3duZXJTb3VyY2UoKT09PWUmJihpLnNldE93bmVyU291cmNlKHQpLCgwLHJpLmlzTGluZVRvb2wpKGkpJiZpLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCkmJiFpLnRhcmdldFNpZ25hdHVyZSgpLnZhbHVlKCkmJmkuc2V0VGFyZ2V0U2lnbmF0dXJlKHQuc2lnbmF0dXJlKCkudmFsdWUoKSkpfSkpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdC5zdGFydCgpLHRoaXMucmVjYWxjdWxhdGVQYW5lKGksKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHQuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLCEwfWluc2VydFN0dWR5U3R1YihlLHQsaSxzKXtjb25zdCBuPXZvaWQgMCE9PXQscj1uZXcgU2EuU3R1ZHlTdHViKHRoaXMsaT8/bnVsbCxlLHQscz8/bnVsbCk7bGV0IG87aWYodHx8IW4pe289KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1haW5QYW5lKCkpO2NvbnN0IGU9ITA9PT10P3RoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTpvLmNyZWF0ZVByaWNlU2NhbGVBdFBvc2l0aW9uKCJvdmVybGF5Iik7by5hZGREYXRhU291cmNlKHIsZSwhMSl9ZWxzZSBvPXRoaXMuY3JlYXRlUGFuZSgpLG8uYWRkRGF0YVNvdXJjZShyLG51bGwsITEpO3JldHVybiByLnNldFpvcmRlcihvLm5ld1N0dWR5Wk9yZGVyKCkpLHRoaXMucmVjYWxjdWxhdGVQYW5lKG8sKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHIuaWQoKSkpLHRoaXMuZnVsbFVwZGF0ZSgpLHJ9cmVtb3ZlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5kYXRhU291cmNlRm9ySWQoZSk7cmV0dXJuIG51bGw9PT10Pyh3dS5sb2dOb3JtYWwoIlN0dWR5U3R1YiBpZD0iK2UrIiBpcyBub3QgZm91bmQgaW4gY2hhcnQgbW9kZWwiKSwhMSk6KHRoaXMucmVtb3ZlU291cmNlKHQpLCEwKX1yZXN0b3JlU3R1ZHlTdHViKGUpe2NvbnN0IHQ9dGhpcy5pbnNlcnRTdHVkeVN0dWIoZS50aXRsZSxlLmlzT3ZlcmxheSxlLmRlc2NyaXB0b3IpO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UodCk/LmNoYW5nZVNvdXJjZUlkKHQsZS5pZCksdC5zZXRTdGF0dXMoZS5zdGF0dXMpLHR9YnVsa0FjdGlvbk1hY3JvKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXM7dC5mb3JFYWNoKChlPT5lLmJlZ2luQnVsa0FjdGlvbigpKSksZSgpLHQuZm9yRWFjaCgoZT0+ZS5lbmRCdWxrQWN0aW9uKCkpKX1hbGxMaW5lVG9vbHMoKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sKX1hbGxMaW5lVG9vbHNJbmNsdWRpbmdIaWRkZW4oKXtyZXR1cm4gdGhpcy5fZ2V0QWxsU291cmNlcyhyaS5pc0xpbmVUb29sLER1KX1zZXRIb3ZlcmVkU291cmNlKGUsdD1udWxsLGkpe2NvbnN0IHM9dGhpcy5faG92ZXJlZFNvdXJjZSE9PWU7dGhpcy5faG92ZXJlZFNvdXJjZU9yaWdpbj1pPz9udWxsLCFzJiYoMCxNaS5oaXRUZXN0UmVzdWx0RGF0YUFyZUVxdWFsKSh0aGlzLl9sYXN0SG92ZXJlZEhpdHRlc3REYXRhLHQpfHwodGhpcy5fbGFzdEhvdmVyZWRIaXR0ZXN0RGF0YT10LHRoaXMuX2hvdmVyZWRTb3VyY2UmJih0aGlzLl9ob3ZlcmVkU291cmNlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLmhvdmVyQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKHRoaXMuX2hvdmVyZWRTb3VyY2UpKSx0aGlzLl9ob3ZlcmVkU291cmNlPWUsdGhpcy5faG92ZXJlZFNvdXJjZSYmKHRoaXMuX2hvdmVyZWRTb3VyY2UudXBkYXRlQWxsVmlld3MoKDAsdG4uaG92ZXJDaGFuZ2VFdmVudCkoKSksdGhpcy51cGRhdGVTb3VyY2UodGhpcy5faG92ZXJlZFNvdXJjZSkpLHMmJnRoaXMuX2hvdmVyZWRTb3VyY2VDaGFuZ2VkLmZpcmUoZSkpfXNldEhpZ2hsaWdodGVkUGxvdChlLHQpeygwLGEuZGVlcEVxdWFscykoZSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm8/LnN0dWR5SWRzKSYmdGhpcy5faGlnaGxpZ2h0ZWRTb3VyY2VJbmZvPy5wbG90SWQ9PT10fHwodGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89e3N0dWR5SWRzOmUscGxvdElkOnR9LHRoaXMuX3VwZGF0ZUhpZ2hsaWdodGVkU291cmNlKCkpfWNsZWFySGlnaGxpZ2h0ZWRQbG90KCl7dGhpcy5fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKSx0aGlzLl9oaWdobGlnaHRlZFNvdXJjZUluZm89bnVsbH1oaWdobGlnaHRlZFBsb3RJbmZvKCl7cmV0dXJuIHRoaXMuX2hpZ2hsaWdodGVkU291cmNlSW5mb31wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Y2hhcnRBcGkoKXtyZXR1cm4gdGhpcy5fY2hhcnRTZXNzaW9ufWRpc2Nvbm5lY3QoKXt0aGlzLl9zZXNzaW9ucz8uZ2V0KCk/LnN0b3AoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5kaXNjb25uZWN0JiZlLmRpc2Nvbm5lY3QoKTt0aGlzLl90aW1lU2NhbGUuZGlzY29ubmVjdCgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2V9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLl9ncmlkU291cmNlfXB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lU291cmNlKCl7CmZvcihjb25zdCBlIG9mIHRoaXMuX2JhcnNNYXJrc1NvdXJjZXMpaWYoZSBpbnN0YW5jZW9mIF9lLlB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lKXJldHVybiBlO3JldHVybiBudWxsfWhvdmVyZWRTb3VyY2UoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZX1ob3ZlcmVkU291cmNlT3JpZ2luKCl7cmV0dXJuIHRoaXMuX2hvdmVyZWRTb3VyY2VPcmlnaW59aG92ZXJlZFNvdXJjZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5faG92ZXJlZFNvdXJjZUNoYW5nZWR9bGFzdEhpdHRlc3REYXRhKCl7cmV0dXJuIHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGF9bGFzdFNlbGVjdGVkSGl0dGVzdERhdGEoKXtyZXR1cm4gdGhpcy5fbGFzdFNlbGVjdGVkSGl0dGVzdERhdGF9bGlnaHRVcGRhdGUoKXt0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpKX1mdWxsVXBkYXRlKCl7dGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2suZnVsbCgpKX1kcmF3VGltZSgpe3JldHVybiB0aGlzLl9kcmF3VGltZX1hc3luYyBzeW5jVGltZVdpdGhNb2RlbChlLHQsaSl7Y29uc3Qgcz10aGlzLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtpZihudWxsPT09cylyZXR1cm47Y29uc3Qgbj0xZTMqdGhpcy5jcmVhdGVTeW5jUG9pbnQoZSxzLnN5bmNTb3VyY2VUYXJnZXQoKSkuc291cmNlVGltZVRvVGFyZ2V0VGltZSh0LzFlMykscj0oMCxvLmdldF90aW1lem9uZSkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWV6b25lRXhjZXB0RXhjaGFuZ2UoKS52YWx1ZSgpKSk7bGV0IGE9KDAsby51dGNfdG9fY2FsKShyLG4pO3JldHVybiB0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpJiYoYT1zLmdldFNlc3Npb24oKS5zcGVjLmNvcnJlY3RUcmFkaW5nRGF5KGEpLCgwLG8uc2V0X2htcykoYSwwLDAsMCwwLCgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpKSksdGhpcy5fZ290b1RpbWVJbXBsKGEuZ2V0VGltZSgpLHt0YXJnZXRQb2ludEFsaWdubWVudDoiY2VudGVyIixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITEsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITEsLi4uaX0pLmNhdGNoKCgoKT0+e30pKX1nb3RvVGltZShlLHQpe3JldHVybiB0aGlzLl9nb3RvVGltZUltcGwoZSx7dGFyZ2V0UG9pbnRBbGlnbm1lbnQ6ImNlbnRlciIsYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlOiEwLGF1dG9zY2FsZUFmdGVyU2Nyb2xsOiEwLC4uLnR9KS5jYXRjaCgoKCk9Pnt9KSl9cmVjYWxjdWxhdGVQYW5lKGUsdCl7ZT8ucmVjYWxjdWxhdGUodCl9cmVjYWxjdWxhdGVBbGxQYW5lcyhlKXt0aGlzLl9wYW5lcy5mb3JFYWNoKCh0PT50LnJlY2FsY3VsYXRlKGUpKSksdGhpcy51cGRhdGVBbGxQYW5lVmlld3MoZSksdGhpcy5jcm9zc2hhaXJTb3VyY2UoKS51cGRhdGVBbGxWaWV3cyhlKX1hc3luYyBnb3RvVGltZVJhbmdlKGUsdCxpKXtjb25zdCBzPXRoaXMudGltZVNjYWxlKCksbj1zLnRpY2tNYXJrcygpLHI9dGhpcy5tYWluU2VyaWVzKCk7aWYoaXx8dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U/LmRlZmVycmVkLnJlamVjdCgpLHZvaWQgMD09PW4ubWluSW5kZXgpcmV0dXJuIHZvaWQoaXx8KHRoaXMuX2xhc3RHb3RvVGltZVJhbmdlPXtmcm9tOmUsdG86dCxkZWZlcnJlZDooMCxBdC5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCl9KSk7bGV0IGE9ZSxjPXQ7aWYobnVsbCE9PXIuc3ltYm9sSW5mbygpKXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSkscz0oMCxvLmdldF90aW1lem9uZSkoaSksbj0oMCxvLnV0Y190b19jYWwpKHMsZSksaD0oMCxvLnV0Y190b19jYWwpKHMsdCk7aWYoci5pc0RXTSgpKXtjb25zdCBlPSgwLG8uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpOygwLG8uc2V0X2htcykobiwwLDAsMCwwLGUpLCgwLG8uc2V0X2htcykoaCwwLDAsMCwwLGUpfWE9bi5nZXRUaW1lKCksYz1oLmdldFRpbWUoKX1jb25zdCBoPSgwLGwuZW5zdXJlRGVmaW5lZCkobi5tYXhJbmRleCksZD0oMCxsLmVuc3VyZURlZmluZWQpKG4ubWluSW5kZXgpO2lmKCEoYT49KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGQpKS52YWx1ZU9mKCl8fHIuZW5kT2ZEYXRhKCl8fGkpKXtjb25zdCBzPXt0eXBlOiJ0aW1lLXJhbmdlIixmcm9tOmUvMWUzLHRvOnQvMWUzfTtyZXR1cm4gbnVsbD09PXRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZSYmKHRoaXMuX2xhc3RBcHBsaWVkR290b1RpbWVSYW5nZT17cmFuZ2U6cyxhY3R1YWw6ITB9LHIubG9hZERhdGFUbyhzKSksaXx8KGk9dGhpcy5fbGFzdEdvdG9UaW1lUmFuZ2U9e2Zyb206ZSx0bzp0LGRlZmVycmVkOigwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKX0pLGkuZGVmZXJyZWQucHJvbWlzZX17Y29uc3QgZT0oZSx0KT0+ZTx0LHQ9ZT0+KDAsbC5lbnN1cmVOb3ROdWxsKShuLmluZGV4VG9UaW1lKGUpKS52YWx1ZU9mKCksbz0oMCxnLmxvd2VyYm91bmRFeHQpKHQsYSxlLG4ubmVhcmVzdEluZGV4KGEpLGgpO2xldCB1PWE9PT1jP286KDAsZy5sb3dlcmJvdW5kRXh0KSh0LGMsZSxuLm5lYXJlc3RJbmRleChjKSxoKTt0aGlzLl9sYXN0R290b1RpbWVSYW5nZT1udWxsLG51bGwhPT10aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UmJih0aGlzLl9sYXN0QXBwbGllZEdvdG9UaW1lUmFuZ2UuYWN0dWFsPSExKTtjb25zdCBwPXMuYmFzZUluZGV4KCk7aWYobytNYXRoLm1heCh1LW8rMSxzLm1pblZpc2libGVCYXJDb3VudCgpKT5wKXtjb25zdCBlPXMudGFyZ2V0RGVmYXVsdFJpZ2h0T2Zmc2V0KCk7dS1wPGUmJih1PXArZSl9Y29uc3QgXz1vPT09dSYmbz09PWQmJnIuZW5kT2ZEYXRhKCk/by0xOm87cy56b29tVG9CYXJzUmFuZ2UoXyx1KSx0aGlzLnVwZGF0ZUFsbFBhbmVWaWV3cygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCksaT8uZGVmZXJyZWQucmVzb2x2ZSgpfX1wYW5lRm9yU291cmNlKGUpe2lmKGU9PT10aGlzLl9tYWluU2VyaWVzLmFjdGl2ZVN0dWR5QmluZGluZygpKXJldHVybiB0aGlzLm1haW5QYW5lKCk7aWYoISgwLApBaS5pc0RhdGFTb3VyY2UpKGUpKXJldHVybiBBcnJheS5mcm9tKHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAudmFsdWVzKCkpLmluY2x1ZGVzKGUpP3RoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSk6bnVsbDtmb3IobGV0IHQ9dGhpcy5fcGFuZXMubGVuZ3RoLTE7dD49MDt0LS0paWYodGhpcy5fcGFuZXNbdF0uaGFzRGF0YVNvdXJjZShlKSlyZXR1cm4gdGhpcy5fcGFuZXNbdF07cmV0dXJuIGUgaW5zdGFuY2VvZiBNaC5CYXJzTWFya3NDb250YWluZXI/dGhpcy5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKTpudWxsfXBhbmVGb3JMaW5lVG9vbHNHcm91cChlKXtyZXR1cm4gdGhpcy5wYW5lRm9yU291cmNlKGUubGluZVRvb2xzKClbMF0pfW1haW5QYW5lKCl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKGU9PmUuaXNNYWluUGFuZSgpLnZhbHVlKCkpKT8/bnVsbH1sYXN0UGFuZSgpe3JldHVybiB0aGlzLl9wYW5lc1t0aGlzLl9wYW5lcy5sZW5ndGgtMV19cmVtb3ZlU291cmNlKGUsdCl7dGhpcy5zZWxlY3Rpb25NYWNybygodD0+dC5yZW1vdmVJdGVtRnJvbVNlbGVjdGlvbihlKSksITApLHRoaXMuX2hvdmVyZWRTb3VyY2U9PT1lJiYodGhpcy5faG92ZXJlZFNvdXJjZT1udWxsLHRoaXMuX2xhc3RIb3ZlcmVkSGl0dGVzdERhdGE9bnVsbCksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQuaW5jbHVkZXMoZSkmJih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5fc291cmNlc0JlaW5nTW92ZWQubGVuZ3RofHwodGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9bnVsbCkpLGU9PT10aGlzLl9saW5lQmVpbmdFZGl0ZWQ/LmxpbmVEYXRhU291cmNlJiYodGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSksZT09PXRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiYodGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSksIXQmJmUuc3RvcCYmZS5zdG9wKCk7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkucmVtb3ZlU291cmNlQWxlcnRMYWJlbHMoZSk7Y29uc3QgaT10aGlzLmRldGFjaFNvdXJjZShlKSxzPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtyZXR1cm4oMCx0aS5pc1N0dWR5KShlKSYmKDAsSW8uaXNTeW1ib2xTb3VyY2UpKGUpJiZlLnByaWNlU2NhbGUoKT09PXMmJnMuaXNQZXJjZW50YWdlKCkmJjE9PT1zLnNlcmllc0xpa2VTb3VyY2VzKCkubGVuZ3RoJiZzLnNldE1vZGUoe3BlcmNlbnRhZ2U6ITF9KSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLCgwLHRpLmlzU3R1ZHkpKGUpJiYoKDAsJC5lbWl0KSgic3R1ZHlfZXZlbnQiLGUuaWQoKSwicmVtb3ZlIiksZS5pc0NoaWxkU3R1ZHkoKSYmZS5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgodD0+dC51bnNldENoaWxkKGUpKSksZS5tYXhPZmZzZXQoKS51bnN1YnNjcmliZSh0aGlzLl9ib3VuZFVwZGF0ZVN0dWRpZXNNYXhPZmZzZXQpKSwhdCYmZS5kZXN0cm95JiZlLmRlc3Ryb3koKSwoMCxyaS5pc0xpbmVUb29sKShlKSYmKGUucmVtb3ZlQWxlcnQoKSwoMCwkLmVtaXQpKCJkcmF3aW5nX2V2ZW50IixlLmlkKCksInJlbW92ZSIpKSxpfW1haW5TZXJpZXNTY2FsZVJhdGlvKCl7cmV0dXJuKDAsaWEuc2NhbGVSYXRpbykodGhpcy5fdGltZVNjYWxlLHRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9c2V0TWFpblNlcmllc1NjYWxlUmF0aW8oZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5fbWFpblNlcmllcykpLmFwcGx5UHJpY2VTY2FsZVJhdGlvKHRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpLGUpfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudGltZXpvbmUudmFsdWUoKX10aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lRXhjZXB0RXhjaGFuZ2V9YWxsU3R1ZGllcyhlKXtjb25zdCB0PWU/ZT0+KDAsdGkuaXNTdHVkeSkoZSkmJiFzaShlKTp0aS5pc1N0dWR5O3JldHVybiB0aGlzLl9nZXRBbGxTb3VyY2VzKHQpfXN0dWRpZXNXVihlKXtyZXR1cm4gZT90aGlzLl9zdHVkaWVzRXhjbHVkZUludGVybmFsV1YucmVhZG9ubHkoKTp0aGlzLl9zdHVkaWVzV1YucmVhZG9ubHkoKX1zaWduYXR1cmVTb3VyY2VzKCl7cmV0dXJuIHRoaXMuX3NpZ25hdHVyZVNvdXJjZXN9c291cmNlc1NpZ25hdHVyZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlc1NpZ25hdHVyZXN9bGlzdFVzZXJTdHVkaWVzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IHMgb2YgaS5wcmljZURhdGFTb3VyY2VzKCkpaWYoISgwLHRpLmlzRnVuZGFtZW50YWxTdHVkeSkocykmJigwLHRpLmlzU3R1ZHkpKHMpJiZzLnNob3dJbk9iamVjdFRyZWUoKSl7Y29uc3R7aWQ6aSxzaG9ydERlc2NyaXB0aW9uOm59PXMubWV0YUluZm8oKTtpZihlLmRvbnRDb3VudFZvbHVtZSYmIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRDb21wYXJlJiYiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aXx8ZS5kb250Q291bnRPdmVybGF5JiYiT3ZlcmxheUB0di1iYXNpY3N0dWRpZXMiPT09aSljb250aW51ZTt0LnB1c2gobil9cmV0dXJuIHR9ZmluZE5vbk92ZXJsYXlTdHVkeVdpdGhHcm91cGluZ0tleShlLHQpe2NvbnN0IGk9dm9pZCAwIT09dD9bdF06dGhpcy5fcGFuZXM7Zm9yKGNvbnN0IHQgb2YgaSl7Y29uc3QgaT10LmRhdGFTb3VyY2VzKCkuZmluZCgoaT0+KDAsdGkuaXNTdHVkeSkoaSkmJmkubWV0YUluZm8oKS5ncm91cGluZ0tleT09PWUmJiF0LmlzT3ZlcmxheShpKSkpO2lmKHZvaWQgMCE9PWkpcmV0dXJue3BhbmU6dCxzdHVkeTppfX1yZXR1cm4gbnVsbH1jYW5Nb3ZlUGFuZVVwKGUpe2lmKDA9PT1lKXJldHVybiExCjtjb25zdCB0PXRoaXMuX3BhbmVzW2VdLGk9dGhpcy5fcGFuZXNbZS0xXTtyZXR1cm4gdC5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldD9pLmNvbnRhaW5zTWFpblNlcmllcygpOmkubW9kZSgpIT09TS5QYW5lTW9kZS5XaWRnZXR8fCF0LmNvbnRhaW5zTWFpblNlcmllcygpfHwxIT09ZX1tb3ZlUGFuZVVwKGUpe3RoaXMubW92ZVBhbmUoZSxlLTEpfWNhbk1vdmVQYW5lRG93bihlKXtpZihlPT09dGhpcy5fcGFuZXMubGVuZ3RoLTEpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9wYW5lc1tlXSxpPXRoaXMuX3BhbmVzW2UrMV07cmV0dXJuIHQubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/aS5jb250YWluc01haW5TZXJpZXMoKTppLm1vZGUoKSE9PU0uUGFuZU1vZGUuV2lkZ2V0fHwhdC5jb250YWluc01haW5TZXJpZXMoKXx8ZSE9PXRoaXMuX3BhbmVzLmxlbmd0aC0yfW1vdmVQYW5lRG93bihlKXt0aGlzLm1vdmVQYW5lKGUsZSsxKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXNbZV07dGhpcy5fcGFuZXMuc3BsaWNlKGUsMSksdGhpcy5fcGFuZXMuc3BsaWNlKHQsMCxpKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX29uUmVhcnJhbmdlUGFuZXMuZmlyZSgpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5fcGFuZXNbZV07dC5jb2xsYXBzZWQoKS5zZXRWYWx1ZSghdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSx0aGlzLmZ1bGxVcGRhdGUoKX1zZW5kVG9CYWNrKGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5zZW5kVG9CYWNrKHQpKSl9YnJpbmdUb0Zyb250KGUpe3RoaXMuX3NlbmRUbyhlLCgoZSx0KT0+ZS5icmluZ1RvRnJvbnQodCkpKX1iYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfWJhY2tncm91bmRUb3BDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3J9YmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7Y29uc3QgdD10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT10aGlzLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7cmV0dXJuIHRoaXMuX2JhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoaSx0LGUpfWJhY2tncm91bmRDb3VudGVyQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvdW50ZXJDb2xvci5yZWFkb25seSgpfWRhcmsoKXtyZXR1cm4gdGhpcy5faXNEYXJrfWJhY2tncm91bmRUaGVtZSgpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kVGhlbWV9cmVhZE9ubHkoKXtyZXR1cm4gdGhpcy5fcmVhZE9ubHl9ZGVmYXVsdFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuY2hhcnRBcGkoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKX1hdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuX2dldEF2YWlsYWJsZUN1cnJlbmNpZXMoKSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnJlYWRvbmx5KCl9Y3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWR9YXZhaWxhYmxlVW5pdHMoKXtyZXR1cm4gdGhpcy5fZ2V0QXZhaWxhYmxlVW5pdHMoKSx0aGlzLl9hdmFpbGFibGVVbml0cy5yZWFkb25seSgpfXVuaXRDb252ZXJzaW9uRW5hYmxlZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnVuaXRDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVNZXRyaWNzKCl7bGV0IGU9dGhpcy5fZ2V0QWxsQXZhaWxhYmxlTWV0cmljcygpO2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5tZXRyaWNzO3JldHVybiB0JiYoZT1lLmZpbHRlcigoZT0+dm9pZCAwIT09dC5pdGVtc1tlLmlkXSkpKSxlLmxlbmd0aCE9PXRoaXMuX2F2YWlsYWJsZU1ldHJpY3Muc2l6ZSgpJiYodGhpcy5fYXZhaWxhYmxlTWV0cmljcz1uZXcgRGgoZSkpLHRoaXMuX2F2YWlsYWJsZU1ldHJpY3N9bWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZH1hdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSk7cmV0dXJuIG51bGwhPT10JiZ0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXMucHJpY2VTb3VyY2VzQ2hhbmdlZCh0KSYmKHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlcz1uZXcgZnUodCkpLHRoaXMuX2F2YWlsYWJsZVByaWNlU291cmNlc31yZXNldERlZmVycmVkU3R1ZGllcygpe0tsLkRlZmVycmVkU3R1ZGllcy5pbnN0YW5jZSh0aGlzKS5yZXNldCgpfXdhaXRGb3JTdHVkeShlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiB0JiYoMCx0aS5pc1N0dWR5KSh0KT9Qcm9taXNlLnJlc29sdmUodCk6S2wuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKHRoaXMpLmdldChlKX1yZXNldFdhaXRGb3JTdHVkeShlKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykuZGVsZXRlKGUpfWlzSnVzdENsb25lZENoYXJ0KCl7cmV0dXJuIHRoaXMuX3VuZG9Nb2RlbC5pc0p1c3RDbG9uZWRDaGFydCgpfXN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9e3BhbmVzOltdLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9O2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZXMoKSlzLnBhbmVzLnB1c2goZS5zdGF0ZSh7aW5jbHVkZVNvdXJjZXM6ITAsaXNTdHVkeVRlbXBsYXRlOiEwfSkpO2NvbnN0IG49dGhpcy5tYWluU2VyaWVzKCk7cmV0dXJuIGUmJihzLnN5bWJvbD1uLnN5bWJvbCgpLHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZpJiYocy5jdXJyZW5jeT1uLmN1cnJlbmN5KCkpLHRoaXMudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmkmJihzLnVuaXQ9bi51bml0KCkpKSx0JiYocy5pbnRlcnZhbD1uLmludGVydmFsKCkpLHN9ZGF0YVNvdXJjZUZvcklkKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX3BhbmVzKXsKY29uc3QgaT10LmRhdGFTb3VyY2VGb3JJZChlKTtpZihpKXJldHVybiBpfXJldHVybiBudWxsfWdldFN0dWR5QnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAsdGkuaXNTdHVkeSkodCk/dDpudWxsfWdldExpbmVUb29sQnlJZChlKXtjb25zdCB0PXRoaXMuZGF0YVNvdXJjZUZvcklkKGUpO3JldHVybiBudWxsIT09dCYmKDAscmkuaXNMaW5lVG9vbCkodCk/dDpudWxsfXJlc3RvcmVMaW5lVG9vbFN0YXRlKGUsdCxpKXt0LnBvc2l0aW9uUGVyY2VudHM/ZS5yZXN0b3JlUG9zaXRpb25QZXJjZW50cyh0LnBvc2l0aW9uUGVyY2VudHMpOihlLmNsZWFyRml4ZWRQb2ludCgpLGUucmVzdG9yZVBvaW50cyh0LnBvaW50cyx0LmluZGV4ZXN8fFtdKSksdC5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsSmwubWVyZ2VJbnRlcnZhbFZpc2liaWxpdGllc0RlZmF1bHRzKSh0LnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksZS5saW5rS2V5KCkuc2V0VmFsdWUodC5saW5rS2V5fHxudWxsKSxlLnByb3BlcnRpZXMoKS5tZXJnZUFuZEZpcmUodC5zdGF0ZSksZS5yZXN0b3JlRGF0YSYmZS5yZXN0b3JlRGF0YSh0KSxlLmNyZWF0ZVNlcnZlclBvaW50cygpLGUuc2V0Wm9yZGVyKHQuem9yZGVyPz9lLnpvcmRlcigpKSx0aGlzLmZ1bGxVcGRhdGUoKTtjb25zdCBzPWUubGlua0tleSgpLnZhbHVlKCk7bnVsbCE9PXMmJmkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2smJigwLFQucmVzdG9yZUxpbmVUb29sU3RhdGUpKHttb2RlbDp0aGlzLGxpbmtLZXk6cyxzdGF0ZTp0fSl9cmVzdG9yZUZhY3RvcnlEZWZhdWx0cyhlKXtlLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKSx0aGlzLnJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5WaWV3cG9ydENoYW5nZVVzZXJBY3Rpb24pfXByZWZlcmVuY2VzKCl7cmV0dXJuKDAsY3UucHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcyx0aGlzLm1haW5TZXJpZXMoKSl9YXBwbHlQcmVmZXJlbmNlcyhlKXtmb3IoY29uc3RbdCxpXW9mIE9iamVjdC5lbnRyaWVzKGUpKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQodCk7dm9pZCAwIT09aSYmdm9pZCAwIT09ZSYmZS5tZXJnZUFuZEZpcmUoaSl9aWYodm9pZCAwIT09ZS50aW1lU2NhbGUpe2NvbnN0IHQ9ZS50aW1lU2NhbGU7dGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0KSx0aGlzLl90aW1lU2NhbGUuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSgpLnNldFZhbHVlKHQuZGVmYXVsdFJpZ2h0T2Zmc2V0UGVyY2VudGFnZSksdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnNldFZhbHVlKHQudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KX10aGlzLl9wcm9wZXJ0aWVzLnNhdmVEZWZhdWx0cygpLHRoaXMuX21haW5TZXJpZXMuYXBwbHlQcmVmZXJlbmNlcyhlLm1haW5TZXJpZXMpLHRoaXMuc2Vzc2lvbnMoKS5yZXN0b3JlU3RhdGUoe3Byb3BlcnRpZXM6ZS5zZXNzaW9uc30sITEpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCl9cmVzdG9yZVRoZW1lKGUsdCxpKXtlLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmhvbGxvd0NhbmRsZVN0eWxlfHwoZS5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZT1lLm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmNhbmRsZVN0eWxlKSx0aGlzLl91bmRvTW9kZWwuY2hhcnRMb2FkVGhlbWUoZSx0LGkpfXVwZGF0ZVNjYWxlcygpe3RoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCl9b25SZXNldFNjYWxlcygpe3JldHVybiB0aGlzLl9yZXNldFNjYWxlc31zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyxuLHIpe3RoaXMuX3NvdXJjZXNCZWluZ01vdmVkPWUsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQ9aTtsZXQgbz0hMTtpZih0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5mb3JFYWNoKChlPT57IW8mJigwLHRpLmlzU3R1ZHkpKGUpJiYobz0hMCk7Y29uc3QgYT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShlKSksYz0oMCxyaS5pc0xpbmVUb29sKShlKSxoPWMmJmUubGlua0tleSgpLnZhbHVlKCk7aWYoITEhPT1oJiZudWxsIT09aCYmcy5oYXMoaCkmJmMmJmUuaXNGaXhlZCgpKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkocy5nZXQoaCkpLG89e3NjcmVlbjp0aGlzLl9wZXJjZW50UG9zaXRpb25Ub1BvaW50KHQsYSl9O2Uuc3RhcnRNb3ZpbmcobyxpLG4scil9ZWxzZSBlLnN0YXJ0TW92aW5nKHQsaSxuLHIpO2NvbnN0IGQ9dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soYSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCk7dGhpcy5pbnZhbGlkYXRlKGQpfSkpLCFyKXtjb25zdFtzLHJdPUF1KGUpO2lmKHMuc2l6ZSYmdC5sb2dpY2FsKXtjb25zdCBvPXRoaXMuZXh0ZXJuYWxUaW1lU3RhbXAodC5sb2dpY2FsLmluZGV4KSxhPXtsaW5rS2V5czpbLi4uc10sdG9vbE5hbWVzOlsuLi5yXSxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6dC5sb2dpY2FsLnByaWNlLHRpbWVTdGFtcDpvfSxhY3RpdmVJdGVtOm51bGwhPT1pP2k6dm9pZCAwLGVudlN0YXRlOm4scG9pbnRQb3NpdGlvblBlcmNlbnRzOm5ldyBNYXB9O2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCBpPWUubGlua0tleSgpLnZhbHVlKCk7aWYoaSYmZS5pc1N5bmNocm9uaXphYmxlKCkmJmUuaXNGaXhlZCgpKXtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTthLnBvaW50UG9zaXRpb25QZXJjZW50cy5zZXQoaSx0aGlzLl9wb2ludFRvUGVyY2VudFBvc2l0aW9uKCgwLGwuZW5zdXJlRGVmaW5lZCkodC5zY3JlZW4pLHMpKX19fSkpLCgwLFQuc3RhcnRNb3ZpbmdMaW5lVG9vbCkoYSl9fQpULmlzVG9vbE1vdmluZ05vdy5zZXRWYWx1ZSghMCksbyYmVC5pc1N0dWR5RWRpdGluZ05vdy5zZXRWYWx1ZSghMCl9bW92ZVNvdXJjZXMoZSx0LGkscyl7aWYodGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKChlPT4hZS5pc0xvY2tlZHx8IWUuaXNMb2NrZWQoKSkpLmZvckVhY2goKG49Pntjb25zdCByPSgwLHJpLmlzTGluZVRvb2wpKG4pP24ubGlua0tleSgpLnZhbHVlKCk6bnVsbDtpZihudWxsIT09ciYmdC5oYXMocikpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UobikpLG89KDAsbC5lbnN1cmVEZWZpbmVkKSh0LmdldChyKSksYT17c2NyZWVuOnRoaXMuX3BlcmNlbnRQb3NpdGlvblRvUG9pbnQobyxlKX07bi5tb3ZlKGEsdGhpcy5fYWN0aXZlSXRlbUJlaW5nTW92ZWQsaSxzKX1lbHNlIG4ubW92ZShlLHRoaXMuX2FjdGl2ZUl0ZW1CZWluZ01vdmVkLGkscyl9KSksdGhpcy5saWdodFVwZGF0ZSgpLCFzJiZlLmxvZ2ljYWwmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0W3Qsc109QXUodGhpcy5fc291cmNlc0JlaW5nTW92ZWQpLG49dGhpcy5leHRlcm5hbFRpbWVTdGFtcChlLmxvZ2ljYWwuaW5kZXgpLHI9e2xpbmtLZXlzOlsuLi50XSx0b29sTmFtZXM6Wy4uLnNdLG1vZGVsOnRoaXMscG9pbnQ6e3ByaWNlOmUubG9naWNhbC5wcmljZSx0aW1lU3RhbXA6bn0sZW52U3RhdGU6aSxwb2ludFBvc2l0aW9uUGVyY2VudHM6bmV3IE1hcH07dGhpcy5fc291cmNlc0JlaW5nTW92ZWQuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZvckVhY2goKHQ9PntpZih0LmxpbmtLZXkoKS52YWx1ZSgpJiZ0LmlzU3luY2hyb25pemFibGUoKSYmdC5pc0ZpeGVkKCkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodCkpO3IucG9pbnRQb3NpdGlvblBlcmNlbnRzLnNldCh0LmxpbmtLZXkoKS52YWx1ZSgpLHRoaXMuX3BvaW50VG9QZXJjZW50UG9zaXRpb24oKDAsbC5lbnN1cmVEZWZpbmVkKShlLnNjcmVlbiksaSkpfX0pKSwoMCxULm1vdmVMaW5lVG9vbCkocil9fWVuZE1vdmluZ1NvdXJjZXMoZSx0LGkpe2NvbnN0IHM9dGhpcy5fc291cmNlc0JlaW5nTW92ZWQubWFwKChzPT57Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZShzKSkscj1zLmVuZE1vdmluZyhlLHQsaSksbz10aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhuLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gby5pbnZhbGlkYXRlQWxsKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSx0aGlzLmludmFsaWRhdGUobykscn0pKTtpZighdCYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3RbZSx0XT1BdSh0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZCksaT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5maWx0ZXIocmkuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzU3luY2hyb25pemFibGUoKSYmISFlLmxpbmtLZXkpKS5tYXAoKGU9Pntjb25zdCB0PXtwb2ludHM6ZS5ub3JtYWxpemVkUG9pbnRzKCksaW50ZXJ2YWw6dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWwoKX07cmV0dXJuIGUuaXNGaXhlZCgpJiYodC5wb2ludFBvc2l0aW9uUGVyY2VudHM9ZS5jYWxjUG9zaXRpb25QZXJjZW50cygpKSx0fSkpO2Uuc2l6ZSYmKDAsVC5maW5pc2hNb3ZpbmdMaW5lVG9vbCkoe2xpbmtLZXlzOlsuLi5lXSx0b29sTmFtZXM6Wy4uLnRdLG1vZGVsOnRoaXMsZmluYWxTdGF0ZXM6aSxjaGFuZ2VzOnN9KX10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZD1bXSx0aGlzLl9hY3RpdmVJdGVtQmVpbmdNb3ZlZD1udWxsLFQuaXNUb29sTW92aW5nTm93LnNldFZhbHVlKCExKSxULmlzU3R1ZHlFZGl0aW5nTm93LnNldFZhbHVlKCExKX1zb3VyY2VzQmVpbmdNb3ZlZCgpe3JldHVybiB0aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZH1zZXRNb3ZpbmdDdXN0b21Tb3VyY2UoZSx0KXt0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPWUsdGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhPW51bGwhPT10P3tiZWluZ01vdmVkOiExLGNhbmNlbGxlZDohMSwuLi50fTpudWxsfXByb2Nlc3NpbmdDdXN0b21Tb3VyY2VNb3ZlKCl7bnVsbCE9PXRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YSYmKHRoaXMuX2N1c3RvbVNvdXJjZUJlaW5nTW92ZWRIaXRUZXN0RGF0YS5iZWluZ01vdmVkPSEwKX1jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGF9Y3VzdG9tU291cmNlQmVpbmdNb3ZlZCgpe3JldHVybiBudWxsIT09dGhpcy5fY3VzdG9tU291cmNlQmVpbmdNb3ZlZEhpdFRlc3REYXRhJiZ0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkSGl0VGVzdERhdGEuYmVpbmdNb3ZlZD90aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkOm51bGx9bGluZVRvb2xzU3luY2hyb25pemVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcn1zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIoZSl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPWV9d2lkdGgoKXtyZXR1cm4gdGhpcy5fd2lkdGh9c2V0V2lkdGgoZSx0KXsodGhpcy5fcGFuZXMucmVkdWNlKCgodCxpKT0+aS5zZXRXaWR0aChlKXx8dCksITEpfHx0aGlzLl93aWR0aCE9PWUpJiYodGhpcy5fd2lkdGg9ZSx0aGlzLl90aW1lU2NhbGUuc2V0V2lkdGgoZSx0KSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSl9c2V0UGFuZUhlaWdodChlLHQpe2Uuc2V0SGVpZ2h0KHQpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVzZXRTY2FsZXNBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5fcmVzZXRTY2FsZXNBdmFpbGFibGUucmVhZG9ubHkoKX1tYXhpbWl6ZWRQYW5lKCl7CnJldHVybiB0aGlzLl9tYXhpbWl6ZWRQYW5lLnJlYWRvbmx5KCl9c2V0TWF4aW1pemVkUGFuZShlKXsoMCxsLmFzc2VydCkobnVsbD09PWV8fHRoaXMuX3BhbmVzLmluY2x1ZGVzKGUpLCJUaGUgcGFuZSBpcyBub3QgcGFydCBvZiB0aGlzIGNoYXJ0IiksdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShlKX1wYW5lcygpe3JldHVybiB0aGlzLl9wYW5lc31wYW5lRm9ySWQoZSl7cmV0dXJuIHRoaXMuX3BhbmVzLmZpbmQoKHQ9PnQuaWQoKT09PWUpKXx8bnVsbH1jcmVhdGVQYW5lKGUsdCxpLHMpe3RoaXMuX3Jlc3RvcmluZ1N0YXRlfHx0aGlzLl9tYXhpbWl6ZWRQYW5lLnNldFZhbHVlKG51bGwpO2NvbnN0IG49dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllczt0JiZuLm1lcmdlKHQpO2NvbnN0IHI9bmV3IGxjKHRoaXMuX3RpbWVTY2FsZSxuLHRoaXMsaSxzPz9NLlBhbmVNb2RlLlJlZ3VsYXIpO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuX3BhbmVzLnNwbGljZShlLDAscik6dGhpcy5fcGFuZXMucHVzaChyKSxyLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25QYW5lVGFnc0NoYW5nZWQoKSkpLHIuZGF0YVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fZGF0YVNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkLmZpcmUocikpKSxyLmRhdGFTb3VyY2VzWk9yZGVyc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCkpKSxyLnN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9vblN5bWJvbFNvdXJjZUNvbGxlY3Rpb25DaGFuZ2VkKHIpKSksci5wcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChyKSkpLHIuc291cmNlUHJvcGVydGllc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc291cmNlUHJvcGVyaXRlc0NoYW5nZWQuZmlyZShyLGUpKSksci5zb3VyY2VaT3JkZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3NvdXJjZVpPcmRlckNoYW5nZWQuZmlyZShyLGUpKSksci5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLChlPT50aGlzLl9zeW1ib2xTb3VyY2VSZXNvbHZlZC5maXJlKHIsZSkpKSxyLnN5bWJvbFNvdXJjZVJlc29sdmluZ0FjdGl2ZSgpLnN1YnNjcmliZSh0aGlzLl9yZWNhbGNTeW1ib2xSZXNvbHZpbmdBY3RpdmUpLHIuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxyLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlUmVzZXRTY2FsZXNBdmFpbGFibGVWYWx1ZSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVjYWxjUGFuZUNvbGxhcHNpbmdBdmFpbGFibGUoKSx0aGlzLl9wYW5lc0NvbGxlY3Rpb25DaGFuZ2VkLmZpcmUodGhpcy5fcGFuZXMpLHRoaXMuX2ludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGVzKCksdGhpcy5pbnZhbGlkYXRlKExlLkludmFsaWRhdGlvbk1hc2sucGFuZXNPcmRlcigpKSxyfXJlbW92ZVBhbmUoZSl7ZT09PXRoaXMuX21heGltaXplZFBhbmUudmFsdWUoKSYmdGhpcy5fbWF4aW1pemVkUGFuZS5zZXRWYWx1ZShudWxsKSxlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX3BhbmVzLmluZGV4T2YoZSk7LTEhPT10JiYodGhpcy5fcGFuZXMuc3BsaWNlKHQsMSksZS5kYXRhU291cmNlc0NvbGxlY3Rpb25DaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5kYXRhU291cmNlc1pPcmRlcnNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnNvdXJjZVByb3BlcnRpZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vblRhZ3NDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS5zeW1ib2xTb3VyY2VSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuc3ltYm9sU291cmNlUmVzb2x2aW5nQWN0aXZlKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjYWxjU3ltYm9sUmVzb2x2aW5nQWN0aXZlKSxlLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3JlY2FsY1BhbmVDb2xsYXBzaW5nQXZhaWxhYmxlKSxlLnJlc2V0UHJpY2VTY2FsZXNBdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVSZXNldFNjYWxlc0F2YWlsYWJsZVZhbHVlKSx0aGlzLl9yZWNhbGNQYW5lQ29sbGFwc2luZ0F2YWlsYWJsZSghMCkpLHRoaXMuX3VwZGF0ZVJlc2V0U2NhbGVzQXZhaWxhYmxlVmFsdWUoKTt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnBhbmU9PT1lJiZ0aGlzLmNsZWFyQ3VycmVudFBvc2l0aW9uKCksdGhpcy5fcGFuZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKHRoaXMuX3BhbmVzKSx0aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpLHRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLnBhbmVzT3JkZXIoKSl9Y2hhbmdlUGFuZXNIZWlnaHQoZSx0KXtpZih0aGlzLl9wYW5lcy5sZW5ndGg8MilyZXR1cm47KDAsbC5hc3NlcnQpKGU+PTAmJmU8dGhpcy5fcGFuZXMubGVuZ3RoLCJJbnZhbGlkIHBhbmUgaW5kZXgiKTtjb25zdCBpPXRoaXMuX3BhbmVzW2VdLHM9dGhpcy5fcGFuZXMucmVkdWNlKCgoZSx0KT0+ZSt0LnN0cmV0Y2hGYWN0b3IoKSksMCksbj10aGlzLl9wYW5lcy5yZWR1Y2UoKChlLHQpPT5lK3QuaGVpZ2h0KCkpLDApLHI9bi0zMCoodGhpcy5fcGFuZXMubGVuZ3RoLTEpO3Q9TWF0aC5taW4ocixNYXRoLm1heCgzMCx0KSk7Y29uc3Qgbz1zL24sYT1pLmhlaWdodCgpO2kuc2V0U3RyZXRjaEZhY3Rvcih0Km8pO2xldCBjPXQtYSxoPXRoaXMuX3BhbmVzLmxlbmd0aC0xO2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVzKWlmKGUhPT1pKXsKY29uc3QgdD1NYXRoLm1pbihyLE1hdGgubWF4KDMwLGUuaGVpZ2h0KCktYy9oKSk7Yy09ZS5oZWlnaHQoKS10LGgtPTE7Y29uc3QgaT10Km87ZS5zZXRTdHJldGNoRmFjdG9yKGkpfXRoaXMuZnVsbFVwZGF0ZSgpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7Y29uc3QgZT10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2UuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkoZS5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSksdGhpcy5fdW5kb01vZGVsLnN5bmNDcm9zc2hhaXIobnVsbCksdGhpcy5fcGhhbnRvbVNvdXJjZUNvbnRhaW5lci5vbkN1cnNvclBvc2l0aW9uVXBkYXRlZCgpfWdldFRwb1N1bW1hcnlQYW5lKCl7Y29uc3QgZT10aGlzLl9tYWluU2VyaWVzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSx0PWUuc3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3Mscz1lLnN1bW1hcnkuY2hpbGRzKCkuaW5mb0Jsb2Nrcy5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9TWF0aC5tYXgobipfaC5jb25zdGFudHMuY2VsbEhlaWdodCwzMCk7cmV0dXJuIHRoaXMuX2dldFdpZGdldFBhbmUodCxyKX1nZXRWb2x1bWVGb290cHJpbnRTdW1tYXJ5UGFuZSgpe2NvbnN0IGU9dGhpcy5fbWFpblNlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudm9sRm9vdHByaW50U3R5bGUuY2hpbGRzKCksdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5iZWxvd1Nlcmllcy52YWx1ZSgpLGk9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuYmxvY2tJbmZvLHM9aS5jaGlsZE5hbWVzKCk7bGV0IG49MDtzLmZvckVhY2goKGU9PntpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpO2NvbnN0IHI9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7aWYociYmKDAsZWEuaXNGdXR1cmVzKShyLnR5cGUpJiYhKDAsZWEuaGFzQ3J5cHRvVHlwZXNwZWMpKHIudHlwZXNwZWNzKSl7Y29uc3QgdD1lLmV4dGVuZGVkU3VtbWFyeS5jaGlsZHMoKS5vcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0/LmNoaWxkcygpLnZpc2libGUudmFsdWUoKSYmbisrfSkpfWlmKHImJigoMCxlYS5pc0Z1dHVyZXMpKHIudHlwZSl8fCJzd2FwIj09PXIudHlwZSkmJigwLGVhLmhhc0NyeXB0b1R5cGVzcGVjKShyLnR5cGVzcGVjcykpe2NvbnN0IHQ9ZS5leHRlbmRlZFN1bW1hcnkuY2hpbGRzKCkuZXh0ZW5kZWRPcGVuSW50ZXJlc3RCbG9ja0luZm87dC5jaGlsZE5hbWVzKCkuZm9yRWFjaCgoZT0+e3QuY2hpbGRzKClbZV0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiZuKyt9KSl9Y29uc3Qgbz1NYXRoLm1heChuKl9oLmNvbnN0YW50cy5jZWxsSGVpZ2h0LDMwKTtyZXR1cm4gdGhpcy5fZ2V0V2lkZ2V0UGFuZSh0LG8pfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5jcm9zc2hhaXJTb3VyY2UoKS5zYXZlT3JpZ2luQ29vcmRzKGUsdCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9c2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpe2xldCBuPU5hTjtjb25zdCByPXRoaXMuX3RpbWVTY2FsZS5jb29yZGluYXRlVG9WaXNpYmxlSW5kZXgoZSksbz0odGhpcy5fbGluZUJlaW5nRWRpdGVkPz90aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXSk/Lm93bmVyU291cmNlLnByaWNlU2NhbGUoKT8/aS5kZWZhdWx0UHJpY2VTY2FsZSgpO2xldCBhPW51bGw7IW8uaXNFbXB0eSgpJiZOdW1iZXIuaXNGaW5pdGUodCkmJihhPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCksbnVsbCE9PWEmJihuPW8uY29vcmRpbmF0ZVRvUHJpY2UodCxhKSkpO2NvbnN0IGM9dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSxoPWMucmVxdWVzdFBvaW50UGFyYW1zKCksZD1oPy5zZWxlY3RQb2ludE1vZGU/P1QuU2VsZWN0UG9pbnRNb2RlLk5vbmUsdT1kIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSxwPVQudG9vbC52YWx1ZSgpLF89dGhpcy5tYWluU2VyaWVzKCksZz1jLmluZGV4LGY9Yy5wcmljZSxTPWQ9PT1ULlNlbGVjdFBvaW50TW9kZS5TdHVkeXx8VC5pc1N0dWR5RWRpdGluZ05vdy52YWx1ZSgpLHY9ZD09PVQuU2VsZWN0UG9pbnRNb2RlLlJlcGxheTtsZXQgeT0hMTtjb25zdCBiPSgwLFpzLm1hZ25ldFNuYXBzVG9JbmRpY2F0b3JzKSgpLnZhbHVlKCk7aWYobz09PXRoaXMuX21haW5TZXJpZXMucHJpY2VTY2FsZSgpfHxiKWlmKCgwLG0uaXNMaW5lRHJhd25XaXRoUHJlc3NlZEJ1dHRvbikocCkpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7eT1udWxsPT09ZXx8KDAscmkuaXNCcnVzaEJhc2VkTGluZVRvb2wpKGUpJiZlLmhhc09ubHlPbmVQb2ludCgpfWVsc2V7eT1Cb29sZWFuKHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpfHx0aGlzLl9saW5lQmVpbmdFZGl0ZWR8fCgwLG0uaXNMaW5lVG9vbE5hbWUpKHApfHwoMCxULnRvb2xJc01lYXN1cmUpKHApKXx8U30hdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJnk/KG49dGhpcy5fbWFnbmV0LmFsaWduKG4scixpKSxudWxsIT09YSYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihyLG4saSkpOnRoaXMuX21hZ25ldC5yZXNldExhc3RWYWx1ZSgpO2xldCB3PW51bGw7aWYoaXNOYU4obil8fCh3PWkpLHRoaXMuX2lzVGltZVNjcm9sbGluZyl7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uJiZ1KXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7Y29uc3Qgcz1NYXRoLm1pbihNYXRoLm1heChyLGUpLHQpCjtzIT09ciYmdGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcihzLG4saSl9fWVsc2UgYy5zZXRQb3NpdGlvbihjLmluZGV4LG4sdyk7cmV0dXJufWMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITApLGMuc2V0UG9zaXRpb24ocixuLHcpLCgwLGwuZW5zdXJlTm90TnVsbCkoYy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKGMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKTtjb25zdCBDPV8uc3luY01vZGVsKCksUD10aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKTtpZih0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnN0YXJ0TWVhc3VyZVBvaW50KCl8fFA/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSxQKXtjb25zdCBlPVAubGlua0tleSgpLnZhbHVlKCk7aWYoIXRoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uKXtjb25zdCB0PVAuc2V0TGFzdFBvaW50KHtpbmRleDpyLHByaWNlOm59LHMpO2lmKFAudXBkYXRlQWxsVmlld3MoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKFAuaWQoKSkpLHQucHJpY2U9PT1uJiZ0LmluZGV4PT09cnx8dGhpcy5fc2V0Q29ycmVjdGVkUG9zaXRpb25Ub0Nyb3NzaGFpcih0LmluZGV4LHQucHJpY2UsaSksQyYmZSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayl7Y29uc3QgaT10aGlzLl90aW1lU2NhbGUucG9pbnRzKCkucm91Z2hUaW1lKHQuaW5kZXgsQy5wcm9qZWN0VGltZS5iaW5kKEMpKTsoMCxULnNldExpbmVUb29sTGFzdFBvaW50KSh7bW9kZWw6dGhpcyxsaW5rS2V5OmUscG9pbnQ6e3RpbWVTdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKGkpLHByaWNlOnQucHJpY2V9fSl9fX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQmJm51bGwhPT10aGlzLl9saW5lQmVpbmdFZGl0ZWQucG9pbnRJbmRleCl7Y29uc3QgZT17aW5kZXg6cixwcmljZTpufSx7bGluZURhdGFTb3VyY2U6dCxwb2ludEluZGV4Om8sc3RhcnRDaGFuZ2luZ1BvaW50OmF9PXRoaXMuX2xpbmVCZWluZ0VkaXRlZDtpZihhPy5ub25EaXNjcmV0ZUluZGV4KXtjb25zdCB0PXRoaXMuY3Jvc3NoYWlyU291cmNlKCkub3JpZ2luWCgpO051bWJlci5pc0Zpbml0ZSh0KSYmKGUuaW5kZXg9dGhpcy5fdGltZVNjYWxlLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgodCkpfXRoaXMuY2hhbmdlTGluZVBvaW50KGUscyk7Y29uc3QgbD10LmFsaWduQ3Jvc3NIYWlyVG9BbmNob3Iobyk/dC5nZXRQb2ludChvKTplO251bGwhPT1sJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGwuaW5kZXgsbC5wcmljZSxpKX1pZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24mJjE9PT10aGlzLl9zb3VyY2VzQmVpbmdNb3ZlZC5sZW5ndGgpe2NvbnN0IGU9dGhpcy5fc291cmNlc0JlaW5nTW92ZWRbMF07aWYoZS5hbGlnbkNyb3NzSGFpclRvTW92ZVBvaW50Py4oKSl7Y29uc3QgdD1lLmN1cnJlbnRNb3ZpbmdQb2ludD8uKCk7dCYmdC5sb2dpY2FsJiZ0aGlzLl9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKHQubG9naWNhbC5pbmRleCx0LmxvZ2ljYWwucHJpY2UsaSl9fWlmKCF0aGlzLl9pc1NldHRpbmdzRXh0ZXJuYWxQb3NpdGlvbiYmKFN8fHYpKXtjb25zdCBlPV8uYmFycygpLmZpcnN0SW5kZXgoKSx0PV8uYmFycygpLmxhc3RJbmRleCgpO2lmKG51bGwhPT1lJiZudWxsIT09dCl7bGV0IHM9TWF0aC5tYXgocixlKTtoPy5hbGlnblRvVGhlTGF0ZXN0QmFySWZUaW1lUG9pbnRJc091dE9mRGF0YSYmKHM9TWF0aC5taW4ocyx0KSkscyE9PXImJnRoaXMuX3NldENvcnJlY3RlZFBvc2l0aW9uVG9Dcm9zc2hhaXIocyxuLGkpfX0oZyE9PXJ8fGYhPT1uKSYmdGhpcy5fc3luY0Nyb3NzaGFpcihzKX1zZXRFeHRlcm5hbFBvc2l0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz10aGlzLmNyb3NzaGFpclNvdXJjZSgpO2lmKHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLG51bGwhPT1lJiYoMCxhLmlzTnVtYmVyKShlLnRpbWVTdGFtcCkpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYodCl7Y29uc3Qgcz10aGlzLmNyZWF0ZVN5bmNQb2ludChlLnN5bmNTb3VyY2VUYXJnZXQsdC5zeW5jU291cmNlVGFyZ2V0KCkpLnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoZS50aW1lU3RhbXApO2k9dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoSW5kZXgocyx0LmRpc3RhbmNlLmJpbmQodCksMSl9fWlmKG51bGwhPT1lJiZudWxsIT1pJiZOdW1iZXIuaXNGaW5pdGUoaSkpe3RoaXMuX2lzU2V0dGluZ3NFeHRlcm5hbFBvc2l0aW9uPSEwO2NvbnN0IG49KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnBhbmVGb3JTb3VyY2UodGhpcy5tYWluU2VyaWVzKCkpKSxyPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvQ29vcmRpbmF0ZShpKSxvPSgwLGwuZW5zdXJlTm90TnVsbCkobi5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCk7aWYobnVsbCE9PW8pe2xldCBpPU5hTjt2b2lkIDAhPT1lLnByaWNlJiZOdW1iZXIuaXNGaW5pdGUoZS5wcmljZSkmJihpPXRoaXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKS5wcmljZVRvQ29vcmRpbmF0ZShlLnByaWNlLG8pKSxzLmNsZWFyT3JpZ2luQ29vcmRzKCksdGhpcy5zZXRDdXJyZW50UG9zaXRpb24ocixpLG4sdCl9cmV0dXJuIHMuc2V0T25Ib3ZlcmVkQ2hhcnRXaWRnZXQoITEpLHZvaWQodGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb249ITEpfXMuY2xlYXJQb3NpdGlvbigpLCgwLGwuZW5zdXJlTm90TnVsbCkocy5kYXRhV2luZG93VmlldygpKS51cGRhdGUoKDAsdG4uc291cmNlQ2hhbmdlRXZlbnQpKHMuaWQoKSkpLFB1KHRoaXMuX3BhbmVzKSx0aGlzLmludmFsaWRhdGUoTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKSl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5fdGltZVNjYWxlLnN0YXJ0U2NhbGUoZSl9c2NhbGVUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjYWxlVG8oZSksdGhpcy5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLAp0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2NhbGVUaW1lKCl7dGhpcy5fdGltZVNjYWxlLmVuZFNjYWxlKCksdGhpcy5saWdodFVwZGF0ZSgpLHRoaXMucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyhJaS5SZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzUmVhc29uLlZpZXdwb3J0Q2hhbmdlVXNlckFjdGlvbil9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLl90aW1lU2NhbGUucmVzdG9yZURlZmF1bHQoKSx0aGlzLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5fcmVzZXRTY2FsZXMuZmlyZSgpfXN0YXJ0U2NhbGVQcmljZShlLHQsaSl7ZS5zdGFydFNjYWxlUHJpY2UodCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe2Uuc2NhbGVQcmljZVRvKHQsaSksdGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLmlzTG9ja1NjYWxlKCk/dGhpcy5saWdodFVwZGF0ZSgpOnRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlLExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KSl9ZW5kU2NhbGVQcmljZShlLHQpe2UuZW5kU2NhbGVQcmljZSh0KSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfXN0YXJ0VHdvUG9pbnRzU2NhbGVQcmljZShlLHQsaSxzKXt0LnN0YXJ0VHdvUG9pbnRzU2NhbGUoaSxzKX10d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl7dC50d29Qb2ludHNTY2FsZShpLHMpLHQudXBkYXRlQWxsVmlld3MoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUpKX1lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCl7dC5lbmRUd29Qb2ludHNTY2FsZSgpLHRoaXMuaW52YWxpZGF0ZSh0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzayhlKSl9cmVzZXRQcmljZVNjYWxlKGUsdCl7ZS5yZXNldFByaWNlU2NhbGUodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1yZXN0b3JlUHJpY2VTY2FsZVN0YXRlKGUsdCxpKXtlLnJlc3RvcmVQcmljZVNjYWxlU3RhdGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWRldGFjaFNvdXJjZShlKXtjb25zdCB0PXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4hIXQmJih0LnJlbW92ZURhdGFTb3VyY2UoZSksdC5pc0VtcHR5KCk/KHRoaXMubGluZUJlaW5nQ3JlYXRlZCgpJiZ0PT09dGhpcy5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksdGhpcy5yZW1vdmVQYW5lKHQpLCEwKToodGhpcy5mdWxsVXBkYXRlKCksITEpKX1yZXN0b3JlU291cmNlKGUsdCxpLHMsbil7Y29uc3Qgcj1lP3RoaXMuY3JlYXRlUGFuZSh0KTp0aGlzLnBhbmVzKClbdF0sbz0oMCxQLmlzU3R1ZHlTdGF0ZSkocyksYT1vP3IucmVzdG9yZVN0dWR5KHtzb3VyY2U6c30pOigwLFAuaXNMaW5lVG9vbFN0YXRlKShzKT9yLnJlc3RvcmVMaW5lVG9vbCh7c3RhdGU6c30pOm51bGw7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGw9bnVsbDtpZihuPyhsPXIuZ2V0UHJpY2VTY2FsZUJ5SWQobi5pZCksbHx8KGw9ci5jcmVhdGVQcmljZVNjYWxlQXRQb3NpdGlvbihuLnBvc2l0aW9uLG4ucHJpY2VTY2FsZUluZGV4KSxsLnNldElkKG4uaWQpKSk6bD1hLm93bmVyU291cmNlKCk/LnByaWNlU2NhbGUoKT8/bCxsJiYoYS5zZXRQcmljZVNjYWxlKGwpLGwuYWRkRGF0YVNvdXJjZShhKSksIWUmJmkmJmkub3ZlcmxheVByaWNlU2NhbGVzKXtjb25zdCBlPXRoaXMuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWkub3ZlcmxheVByaWNlU2NhbGVzW2UuaWQoKV0pKTtlLmZvckVhY2goKGU9PnIucmVtb3ZlU291cmNlRnJvbVByaWNlU2NhbGUoZSkpKTtjb25zdCB0PW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz1pLm92ZXJsYXlQcmljZVNjYWxlc1tlLmlkKCldO2lmKCFzKXJldHVybjtsZXQgbjt0LmhhcyhzLmlkKT9uPXQuZ2V0KHMuaWQpOihuPXIuY3JlYXRlUHJpY2VTY2FsZUF0UG9zaXRpb24oIm92ZXJsYXkiKSxuLnJlc3RvcmVTdGF0ZShzKSx0LnNldChzLmlkLG4pKSxlLnNldFByaWNlU2NhbGUobiksbi5hZGREYXRhU291cmNlKGUpfSkpfXJldHVybiBlJiZpJiZyLnJlc3RvcmVTdGF0ZSh7c3RhdGU6aSx3aXRoRGF0YTohMSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfSksbyYmKHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoYS5pZCgpKSksdGhpcy5faW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZXMoKSx0aGlzLmZ1bGxVcGRhdGUoKSx0aGlzLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKGEpKSxhfWNoaWxkcmVuKGUsdCxpKXtyZXR1cm4gdGhpcy5kYXRhU291cmNlcygpLmZpbHRlcigocz0+ISgwLHRpLmlzU3R1ZHkpKHMpfHxzaShzKXx8ZS5pc1NlcmllcyYmcy5pc0xpbmtlZFRvU2VyaWVzKCk/ISgoMCxyaS5pc0xpbmVUb29sKShzKSYmaSYmcy5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09cy50YXJnZXRTaWduYXR1cmUoKSkmJnMub3duZXJTb3VyY2UoKT09PWU6IXQmJnMucGFyZW50U291cmNlcygpLmluY2x1ZGVzKGUpKSl9b25SZWFycmFuZ2VQYW5lcygpe3JldHVybiB0aGlzLl9vblJlYXJyYW5nZVBhbmVzfXN0dWR5SW5zZXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlJbnNlcnRlZH1maW5pc2hMaW5lVG9vbChlKXtjb25zdCB0PWUubGlua0tleSgpLnZhbHVlKCk7KDAsClQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCkmJm51bGwhPT10JiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmKDAsVC5maW5pc2hMaW5lVG9vbCkoe2xpbmtLZXk6dCxtb2RlbDp0aGlzfSl9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9saW5lQmVpbmdFZGl0ZWQ9e2xpbmVEYXRhU291cmNlOmUsb3duZXJTb3VyY2U6dCxzdGFydENoYW5naW5nUG9pbnQ6aT8/bnVsbCxwb2ludEluZGV4OnM/P251bGx9LGUuc3RhcnRDaGFuZ2luZyhzLGksciksVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCEwKTtjb25zdCBvPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKTtlLnN0YXJ0RHJhZ1BvaW50JiZ2b2lkIDAhPT1zJiZ2b2lkIDAhPT1pJiZlLnN0YXJ0RHJhZ1BvaW50KHMsaSkscnx8dm9pZCAwPT09c3x8dm9pZCAwPT09aXx8ZS5zZXRQb2ludChzLGksbixyKSxlLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKTtjb25zdCBhPXRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKG8sTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpO3RoaXMuaW52YWxpZGF0ZShhKTtjb25zdCBjPWUubGlua0tleSgpLnZhbHVlKCk7aWYoYyYmZS5pc1N5bmNocm9uaXphYmxlKCkmJnZvaWQgMCE9PXMmJnZvaWQgMCE9PWkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKGkuaW5kZXgpKTsoMCxULnN0YXJ0Q2hhbmdpbmdMaW5lVG9vbCkoe2xpbmtLZXk6Yyxtb2RlbDp0aGlzLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxwb2ludDp7cHJpY2U6aS5wcmljZSx0aW1lU3RhbXA6dH0scG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxwb2ludEluZGV4OnMsZW52U3RhdGU6bnx8bnVsbH0pfX1jcmVhdGVMaW5lVG9vbChlKXtjb25zdHtwb2ludDp0LGxpbmV0b29sOmksbGlua0tleTpzPW51bGwsc2hhcmluZ01vZGU6bj0wLGlkOnIsZnJvbUV4dGVybmFsTW9kZWw6byxhY3Rpb25Tb3VyY2U6YyxwYW5lOmh9PWU7bGV0e3Byb3BlcnRpZXM6ZCxvd25lclNvdXJjZTp1fT1lO3U9KDAsbC5lbnN1cmVEZWZpbmVkKSh1fHwoMCxsLmVuc3VyZU5vdE51bGwpKGgubWFpbkRhdGFTb3VyY2UoKSkpO2xldCBwPWg7aWYobWwuc2hhcmVEcmF3aW5nc09uSW5kaWNhdG9ycyYmKDAsdGkuaXNTdHVkeSkodSkmJihwPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tYWluUGFuZSgpKSksKDAsbC5hc3NlcnQpKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGkpLGBDYW5ub3QgY3JlYXRlIHVua25vd24gbGluZSB0b29sOiAke2l9YCksZCl7Y29uc3QgZT17Li4uaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHN9LHQ9ZC5jaGlsZHMoKS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3RhdGUoKTsoMCxhLm1lcmdlKShlLHQ/P3t9KTtjb25zdCBzPWQuc3RhdGUoKTtzLmludGVydmFsc1Zpc2liaWxpdGllcz1lLGQ9KDAscmkuY3JlYXRlTGluZVRvb2xQcm9wZXJ0aWVzKSh0aGlzLmJhY2tncm91bmRUaGVtZSgpLnNwYXduT3duZXJzaGlwKCksaSwhdGhpcy5yZWFkT25seSgpLHMpfWNvbnN0IF89KDAscmkuY3JlYXRlTGluZVRvb2wpKGksdGhpcyxkLG51bGwsdm9pZCAwLHIsYyk7aWYoIkxpbmVUb29sRXhlY3V0aW9uIiE9PWkpe2xldCBlO3N3aXRjaChpKXtjYXNlIkxpbmVUb29sSWNvbiI6ZT1fLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pY29uLnZhbHVlKCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbEVtb2ppIjplPV8ucHJvcGVydGllcygpLmNoaWxkcygpLmVtb2ppLnZhbHVlKCk7YnJlYWs7Y2FzZSJMaW5lVG9vbFN0aWNrZXIiOmU9Xy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RpY2tlci52YWx1ZSgpfSgwLE10LnRyYWNrRXZlbnQpKCJkcmF3aW5ncyIsIlN0dWR5X0RyYXdpbmdfIitpLGUpfSgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoXykmJigwLE10LnRyYWNrRXZlbnQpKCJzdHVkaWVzIixgU3R1ZHlfJHtfLm1ldGFJbmZvKCkuaWR9YCxfLm1ldGFJbmZvKCkuZGVzY3JpcHRpb24pO2NvbnN0IGc9IV8ubGlua0tleSgpLnZhbHVlKCkmJiFzO2R8fCgwLHJpLnByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlKShfLnByb3BlcnRpZXMoKSx1KSxtbC5zaGFyZURyYXdpbmdzT25JbmRpY2F0b3JzJiYoMCx0aS5pc1N0dWR5KSh1KT9fLnNldFRhcmdldFNpZ25hdHVyZSh1LnNpZ25hdHVyZSgpLnZhbHVlKCkpOl8uc2V0T3duZXJTb3VyY2UodSk7Y29uc3QgZj11LnByaWNlU2NhbGUoKTtpZihfLnNldFByaWNlU2NhbGUoZiksdT09PXRoaXMubWFpblNlcmllcygpJiZfLnNoYXJlKG4pLHAuYWRkRGF0YVNvdXJjZShfLGYsITEpLG51bGwhPT1fLnByZWZlcnJlZFpPcmRlcigpJiZwLmluc2VydEFmdGVyKFtfXSx0aGlzLm1haW5TZXJpZXMoKSksKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKSl7Y29uc3QgZT1fLmlzU3luY2hyb25pemFibGUoKT9zfHwoMCxsdC5yYW5kb21IYXNoKSgpOm51bGw7Xy5saW5rS2V5KCkuc2V0VmFsdWUoZSl9ZWxzZSBfLmxpbmtLZXkoKS5zZXRWYWx1ZShzKTtsZXQgUztpZihnJiZfLmVuYWJsZUN1cnJlbnRJbnRlcnZhbFZpc2liaWxpdHkoKSxfLmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkoaC5tYWluRGF0YVNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGk9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9Db29yZGluYXRlKHQuaW5kZXgpLHM9KDAsbC5lbnN1cmVOb3ROdWxsKShmKS5wcmljZVRvQ29vcmRpbmF0ZSh0LnByaWNlLGUpO1M9Xy5hZGRGaXhlZFBvaW50KG5ldyBQdC5Qb2ludChpLHMpKX1lbHNlIFM9Xy5hZGRQb2ludCh0KTtyZXR1cm4gU3x8KHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnVuc2hpZnQoe2xpbmVEYXRhU291cmNlOl8sZnJvbUV4dGVybmFsOiEhbyxvd25lclNvdXJjZTp1LHBhbmU6aH0pLApULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCEwKSksdGhpcy5mdWxsVXBkYXRlKCksX31lbmRDaGFuZ2luZ0xpbmV0b29sKGUsdCl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmVCZWluZ0VkaXRlZCkubGluZURhdGFTb3VyY2Uscz1pLmVuZENoYW5naW5nKCExLGUsdCk7dGhpcy5fbGluZUJlaW5nRWRpdGVkPW51bGwsVC5pc1Rvb2xFZGl0aW5nTm93LnNldFZhbHVlKCExKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbj17cG9pbnRzOmkubm9ybWFsaXplZFBvaW50cygpLGludGVydmFsOnRoaXMubWFpblNlcmllcygpLmludGVydmFsKCl9LHI9aS5saW5rS2V5KCkudmFsdWUoKTtudWxsPT09cnx8IWkuaXNTeW5jaHJvbml6YWJsZSgpfHx0fHx0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2t8fCgwLFQuZmluaXNoQ2hhbmdpbmdMaW5lVG9vbCkoe21vZGVsOnRoaXMsbGlua0tleTpyLHN5bWJvbDp0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2woKSxmaW5hbFN0YXRlOm4sY2hhbmdlczpzfSl9Y29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkscyxuKXtjb25zdCByPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5saW5lQmVpbmdDcmVhdGVkKCkpLG89ci5hZGRQb2ludChlLHQsaSxuKTtyLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShyLmlkKCkpKTtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrKExlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KTtyZXR1cm4gbyYmKHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLnNoaWZ0KCksMD09PXRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkLmxlbmd0aCYmVC5pc1Rvb2xDcmVhdGluZ05vdy5zZXRWYWx1ZSghMSkpLHRoaXMuaW52YWxpZGF0ZShhKSxvfWNhbmNlbENyZWF0aW5nTGluZSgpe2NvbnN0IGU9dGhpcy5saW5lQmVpbmdDcmVhdGVkKCk7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9ZS5pc1N5bmNocm9uaXphYmxlKCk7dGhpcy5yZW1vdmVTb3VyY2UoZSksdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQuc2hpZnQoKSx0aGlzLl9saW5lQ2FuY2VsbGVkLmZpcmUoKSwwPT09dGhpcy5fbGluZXNCZWluZ0NyZWF0ZWQubGVuZ3RoJiZULmlzVG9vbENyZWF0aW5nTm93LnNldFZhbHVlKCExKSwoMCxULmRyYXdPbkFsbENoYXJ0cykoKS52YWx1ZSgpJiZ0JiYhdGhpcy5fbGluZVRvb2xzU3luY0Jsb2NrJiYoMCxULmNhbmNlbExpbmVUb29sKSh7bW9kZWw6dGhpc30pfWNhbmNlbEFsbERyYXdpbmdPcGVyYXRpb25zKCl7dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCksKDAsVC5yZXNldFRvQ3Vyc29yKSghMCl9bGluZUJlaW5nQ3JlYXRlZCgpe3JldHVybiB0aGlzLl9saW5lc0JlaW5nQ3JlYXRlZFswXT8ubGluZURhdGFTb3VyY2U/P251bGx9bGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCl7cmV0dXJuIHRoaXMuX2xpbmVzQmVpbmdDcmVhdGVkWzBdPy5mcm9tRXh0ZXJuYWw/PyExfXBhbmVCZWluZ0NyZWF0ZWRMaW5lT24oKXtyZXR1cm4gdGhpcy5fbGluZXNCZWluZ0NyZWF0ZWRbMF0/LnBhbmU/P251bGx9bGluZUNhbmNlbGxlZCgpe3JldHVybiB0aGlzLl9saW5lQ2FuY2VsbGVkfWlzUGhhbnRvbUxpbmUoZSl7cmV0dXJuIHRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIuc291cmNlKCk9PT1lfWFsaWduVG80NURlZ3JlZXMoZSx0LGkpe2NvbnN0W3Msbl09aSxyPXsuLi5ufTtlLnNuYXBQb2ludDQ1RGVncmVlKHMsciksdGhpcy5zdGFydENoYW5naW5nTGluZXRvb2woZSx0LG4sbi5wb2ludEluZGV4KSx0aGlzLmNoYW5nZUxpbmVQb2ludChyLExpLkVudmlyb25tZW50U3RhdGUuY3JlYXRlKCEwKSksdGhpcy5lbmRDaGFuZ2luZ0xpbmV0b29sKCExKX1jaGFuZ2VMaW5lUG9pbnQoZSx0LGkpe2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9saW5lQmVpbmdFZGl0ZWQpLG49cy5saW5lRGF0YVNvdXJjZSxyPSgwLGwuZW5zdXJlTm90TnVsbCkocy5wb2ludEluZGV4KTtsZXQgbz1lLnByaWNlLGE9ZS5pbmRleDtpZihuLnNldFBvaW50KHIsZSx0LGkpLCFpKXtjb25zdCB0PW4uYWxpZ25Dcm9zc0hhaXJUb0FuY2hvcihyKT9uLmdldFBvaW50KHIpOmU7bnVsbCE9PXQmJihhPXQuaW5kZXgsbz10LnByaWNlKX1uLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShuLmlkKCkpKSx0aGlzLmxpZ2h0VXBkYXRlKCk7Y29uc3QgYz1uLmxpbmtLZXkoKS52YWx1ZSgpO2lmKCFpJiZudWxsIT09YyYmbi5pc1N5bmNocm9uaXphYmxlKCkmJiF0aGlzLl9saW5lVG9vbHNTeW5jQmxvY2spe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShzLnN0YXJ0Q2hhbmdpbmdQb2ludCksaT17aW5kZXhlc0NoYW5nZWQ6YSE9PWUuaW5kZXgscHJpY2VzQ2hhbmdlZDpvIT09ZS5wcmljZX0saD1uLmdldENoYW5nZVBvaW50Rm9yU3luYyhyKTtpZihudWxsIT09aCl7Y29uc3QgZT10aGlzLmV4dGVybmFsVGltZVN0YW1wKGEpO251bGwhPT1lJiYobz1oLnByaWNlLCgwLFQuY2hhbmdlTGluZVRvb2wpKHtsaW5rS2V5OmMsbW9kZWw6dGhpcyxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCkscG9pbnQ6e3ByaWNlOm8sdGltZVN0YW1wOmV9LHBvc2l0aW9uUGVyY2VudHM6bi5wb3NpdGlvblBlcmNlbnRzKCksZW52U3RhdGU6dCxjaGFuZ2VzOml9KSl9fX1jaGFuZ2VMaW5lUG9pbnRzKGUsdCxpKXtjb25zdCBzPWUucG9pbnRzKCksbj1lLmxpbmtLZXkoKS52YWx1ZSgpOyFpJiZuJiZlLmlzU3luY2hyb25pemFibGUoKSYmIXRoaXMuX2xpbmVUb29sc1N5bmNCbG9jayYmdC5mb3JFYWNoKCgodCxpKT0+e2NvbnN0IHI9c1tpXSxvPXIucHJpY2UhPT10LnByaWNlLGE9ci5pbmRleCE9PXQuaW5kZXg7aWYoZS5nZXRDaGFuZ2VQb2ludEZvclN5bmMoaSkpe2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmV4dGVybmFsVGltZVN0YW1wKHQuaW5kZXgpKTsoMCxULmNoYW5nZUxpbmVUb29sKSh7bGlua0tleTpuLG1vZGVsOnRoaXMsc3ltYm9sOnRoaXMubWFpblNlcmllcygpLnN5bWJvbCgpLHBvaW50OntwcmljZTp0LnByaWNlLHRpbWVTdGFtcDppfSwKcG9zaXRpb25QZXJjZW50czplLnBvc2l0aW9uUGVyY2VudHMoKSxjaGFuZ2VzOntwcmljZXNDaGFuZ2VkOm8saW5kZXhlc0NoYW5nZWQ6YX19KX19KSksZS5zZXRQb2ludHModCksZS51cGRhdGVBbGxWaWV3cygoMCx0bi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSksdGhpcy5saWdodFVwZGF0ZSgpfXN0YXJ0U2Nyb2xsVGltZShlKXt0aGlzLl90aW1lU2NhbGUuc3RhcnRTY3JvbGwoZSksdGhpcy5faXNUaW1lU2Nyb2xsaW5nPSEwLHRoaXMubWFpblNlcmllcygpLmNsZWFyR290b0RhdGVSZXN1bHQoKX1zY3JvbGxUaW1lVG8oZSl7dGhpcy5fdGltZVNjYWxlLnNjcm9sbFRvKGUpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLmxpZ2h0VXBkYXRlKCl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKSx0aGlzLmxpZ2h0VXBkYXRlKCksdGhpcy5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uVmlld3BvcnRDaGFuZ2VVc2VyQWN0aW9uKSx0aGlzLl9pc1RpbWVTY3JvbGxpbmc9ITF9c3RhcnRTY3JvbGxQcmljZShlLHQsaSl7ZS5zdGFydFNjcm9sbFByaWNlKHQsaSl9c2Nyb2xsUHJpY2VUbyhlLHQsaSl7ZS5zY3JvbGxQcmljZVRvKHQsaSksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1lbmRTY3JvbGxQcmljZShlLHQpe2UuZW5kU2Nyb2xsUHJpY2UodCksdGhpcy5pbnZhbGlkYXRlKHRoaXMuX3BhbmVJbnZhbGlkYXRpb25NYXNrKGUsTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpKX1hZGRDdXN0b21Tb3VyY2UoZSx0LGk9SWkuQ3VzdG9tU291cmNlTGF5ZXIuRm9yZWdyb3VuZCl7dGhpcy5fY3VzdG9tU291cmNlc01hcC5oYXMoZSkmJnd1LmxvZ1dhcm4oYEF0dGVtcHQgdG8gYWRkIHRoZSBzYW1lIGN1c3RvbSBzb3VyY2UgbXVsdGlwbGUgdGltZSAiJHtlfSJgKSx3dS5sb2dOb3JtYWwoYEFkZGluZyBjdXN0b20gc291cmNlICIke2V9ImApO2NvbnN0IHM9dChlLHRoaXMpO3N3aXRjaChpKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6dGhpcy5fYmdDdXN0b21Tb3VyY2VzLnB1c2gocyk7YnJlYWs7Y2FzZSBJaS5DdXN0b21Tb3VyY2VMYXllci5Gb3JlZ3JvdW5kOnRoaXMuX2ZnQ3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2Nhc2UgSWkuQ3VzdG9tU291cmNlTGF5ZXIuVG9wbW9zdDp0aGlzLl90b3Btb3N0Q3VzdG9tU291cmNlcy5wdXNoKHMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSBzb3VyY2VzIGxheWVyICR7aX1gKX10aGlzLl9hbGxDdXN0b21Tb3VyY2VzLnB1c2gocyksdGhpcy5fY3VzdG9tU291cmNlc01hcC5zZXQoZSxzKSx0aGlzLmxpZ2h0VXBkYXRlKCl9cmVtb3ZlQ3VzdG9tU291cmNlKGUpe3RoaXMuX3JlbW92ZUN1c3RvbVNvdXJjZShlKSx0aGlzLmxpZ2h0VXBkYXRlKCl9aGFzQ3VzdG9tU291cmNlKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmhhcyhlKX1jdXN0b21Tb3VyY2VGb3JOYW1lKGUpe3JldHVybiB0aGlzLl9jdXN0b21Tb3VyY2VzTWFwLmdldChlKXx8bnVsbH1jdXN0b21Tb3VyY2VOYW1lKGUpe2xldCB0PW51bGw7cmV0dXJuIHRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZm9yRWFjaCgoKGkscyk9PntpPT09ZSYmKHQ9cyl9KSksdH1jdXN0b21Tb3VyY2VzKGUpe3N3aXRjaChlKXtjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkJhY2tncm91bmQ6cmV0dXJuIHRoaXMuX2JnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLkZvcmVncm91bmQ6cmV0dXJuIHRoaXMuX2ZnQ3VzdG9tU291cmNlcztjYXNlIElpLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3Q6cmV0dXJuIHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzO2RlZmF1bHQ6cmV0dXJuIHRoaXMuX2FsbEN1c3RvbVNvdXJjZXN9fWFkZE11bHRpUGFuZVNvdXJjZShlKXt0aGlzLl9tdWx0aVBhbmVTb3VyY2VzLnB1c2goZSksdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQuZmlyZSgpLHRoaXMubGlnaHRVcGRhdGUoKX1yZW1vdmVNdWx0aVBhbmVTb3VyY2UoZSl7Y29uc3QgdD10aGlzLl9tdWx0aVBhbmVTb3VyY2VzLmluZGV4T2YoZSk7LTE9PT10P3d1LmxvZ1dhcm4oIkF0dGVtcHQgdG8gcmVtb3ZlIG11bHRpLXBhbmUgc291cmNlIHdoaWNoIGRvZXMgbm90IGV4aXN0IGluIHRoZSBtb2RlbCIpOih0aGlzLl9vbk11bHRpcGFuZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKCksdGhpcy5fbXVsdGlQYW5lU291cmNlcy5zcGxpY2UodCwxKSksdGhpcy5saWdodFVwZGF0ZSgpfW11bHRpUGFuZVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMuX211bHRpUGFuZVNvdXJjZXMuZmlsdGVyKCh0PT4hZS5oYXNEYXRhU291cmNlKHQpKSl9b25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25NdWx0aXBhbmVTb3VyY2VzQ29sbGVjdGlvbkNoYW5nZWR9cmVuZGVyZXJPcHRpb25zUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXJ9bWFnbmV0KCl7cmV0dXJuIHRoaXMuX21hZ25ldH1wcmljZUF4aXNSZW5kZXJlck9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXJPcHRpb25zUHJvdmlkZXIub3B0aW9ucygpfXByaWNlU2NhbGVTbG90c0NvdW50KCl7bGV0IGU9MCx0PTA7dGhpcy5fcGFuZXMuZm9yRWFjaCgoaT0+e2U9TWF0aC5tYXgoaS5sZWZ0UHJpY2VTY2FsZXMoKS5sZW5ndGgsZSksdD1NYXRoLm1heChpLnJpZ2h0UHJpY2VTY2FsZXMoKS5sZW5ndGgsdCl9KSk7Y29uc3QgaT1lK3Q7aWYoSi5DaGVja01vYmlsZS5hbnkoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQ9ZS5wcmljZVNjYWxlUG9zaXRpb24odGhpcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKQo7cmV0dXJuKCJvdmVybGF5Ij09PXQ/ZS5yaWdodFByaWNlU2NhbGVzKCkubGVuZ3RoPjA6InJpZ2h0Ij09PXQpP3tsZWZ0OjAscmlnaHQ6MSx0b3RhbGx5U2xvdHM6aX06e2xlZnQ6MSxyaWdodDowLHRvdGFsbHlTbG90czppfX1yZXR1cm57bGVmdDplLHJpZ2h0OnQsdG90YWxseVNsb3RzOml9fWRhdGVUaW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyfWRhdGVGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy5fZGF0ZUZvcm1hdHRlcn10aW1lRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuX3RpbWVGb3JtYXR0ZXJ9aXNVbm1lcmdlQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKGUpKS5kYXRhU291cmNlcygpLmZpbHRlcih0aGlzLl91bm1lcmdlQXZhaWxhYmxlLHRoaXMpLmxlbmd0aD4xfWlzTWVyZ2VEb3duQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5wYW5lRm9yU291cmNlKGUpLGk9dGhpcy5wYW5lcygpLmZpbHRlcigoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLlJlZ3VsYXIpKTtyZXR1cm4gdCE9PWlbaS5sZW5ndGgtMV19aXNNZXJnZVVwQXZhaWxhYmxlRm9yU291cmNlKGUpe2lmKCF0aGlzLl91bm1lcmdlQXZhaWxhYmxlKGUpKXJldHVybiExO3JldHVybiB0aGlzLnBhbmVGb3JTb3VyY2UoZSkhPT10aGlzLnBhbmVzKCkuZmlsdGVyKChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuUmVndWxhcikpWzBdfWlzUHJpY2VTY2FsZVZpc2libGUoZSl7Y29uc3QgdD1lLm1haW5Tb3VyY2UoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lRm9yU291cmNlKHQpKSxzPWkucHJpY2VTY2FsZVBvc2l0aW9uKGUpO2lmKCJvdmVybGF5Ij09PXMpcmV0dXJuITA7Y29uc3Qgbj1pLnByaWNlU2NhbGVJbmRleChlLHMpLHI9dGhpcy5wcmljZVNjYWxlU2xvdHNDb3VudCgpW3NdO3JldHVybiB2b2lkIDAhPT1uJiZuPHJ9Z2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXR9c2V0U3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQoZSl7dGhpcy5fc3R1ZHlTaGlmdENvbG9yU3RhcnRPZmZzZXQ9ZX1zZXNzaW9ucygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvbnMpfWNyZWF0ZVNlc3Npb25zKGUpe2lmKG51bGw9PT10aGlzLl9zZXNzaW9ucyl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PW5ldyBQYShlKTtyZXR1cm4oMCx5YS5hcHBseURlZmF1bHRzT3ZlcnJpZGVzKSh0LmNoaWxkcygpLnNlc3Npb25IaWdobGlnaHQsdm9pZCAwLCExLCJzZXNzaW9ucyIpLHQucmVtb3ZlRHVwbGljYXRlUHJvcGVydGllcygpLHR9KHRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc2Vzc2lvbnM9bmV3IFRhKChhc3luYygpPT57Y29uc3Qgcz1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIxNzg0KSxpLmUoMzEwMDEpLGkuZSg4NjE3OCksaS5lKDkxOTQ0KSxpLmUoOTc1NTgpLGkuZSg2Njk4OCksaS5lKDk3MjcyKSxpLmUoOTI3MCksaS5lKDg0MjY1KSxpLmUoNTM1NSksaS5lKDEyMjI3KSxpLmUoNTk2NDkpLGkuZSg0NzUzOCldKS50aGVuKGkuYmluZChpLDcwNjI0OCkpO3JldHVybiB0aGlzLmFkZEN1c3RvbVNvdXJjZSgic2Vzc2lvbnMiLCgoaSxuKT0+e2NvbnN0IHI9bmV3IHMuU2Vzc2lvbnMoaSxuLHQsZSk7cmV0dXJuIHIuc3RhcnQoKSxyfSksSWkuQ3VzdG9tU291cmNlTGF5ZXIuQmFja2dyb3VuZCksdGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJzZXNzaW9ucyIpfSkoKSx0aGlzLHQpfX1jcmVhdGVQcmVQb3N0TWFya2V0KGUpe3RoaXMuYWRkQ3VzdG9tU291cmNlKCJwcmVQb3N0TWFya2V0IiwoKHQsaSk9Pm5ldyBUaCh0LGksZSkpKX1jcmVhdGVJbmFjdGl2aXR5R2FwcygpezB9aW5hY3Rpdml0eUdhcHMoKXt0aHJvdyBuZXcgRXJyb3IoImluYWN0aXZpdHlfZ2FwcyBmZWF0dXJlc2V0IGlzIG5vdCBlbmFibGVkIil9c2V0SW5hY3Rpdml0eUdhcHNTZXNzaW9uKGUpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5jdXN0b21Tb3VyY2VGb3JOYW1lKCJpbmFjdGl2aXR5R2FwcyIpKS5zZXRTZXNzaW9uKGV8fCJzZXNzaW9uIil9d2F0ZXJtYXJrU291cmNlKCl7cmV0dXJuIHRoaXMuX3dhdGVybWFya1NvdXJjZX13YXRlcm1hcmtDb250ZW50UHJvdmlkZXIoKXtyZXR1cm4gbmV3IGguV2F0Y2hlZFZhbHVlKG51bGwpfXN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCl7cmV0dXJuIHRoaXMuX3N0dWR5Q29sb3JSb3RhdG9yRmFjdG9yeX1yZXBsYXlTdGF0dXMoKXtyZXR1cm4gdGhpcy5fcmVwbGF5U3RhdHVzfXNldFJlcGxheVN0YXR1cyhlKXt0aGlzLl9yZXBsYXlTdGF0dXMuc2V0VmFsdWUoZSl9aXNJblJlcGxheSgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5nZXRTeW1ib2xTdHJpbmcoKX1pbnRlcnZhbCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmludGVydmFsKCl9b25JblJlcGxheVN0YXRlQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7dGhpcy5fbWFpblNlcmllcy5zd2l0Y2hUb1JlcGxheShlLHQsaSl9c3dpdGNoVG9SZWFsdGltZSgpe3RoaXMuX21haW5TZXJpZXMuc3dpdGNoVG9SZWFsdGltZSgpLHRoaXMuX3RpbWVTY2FsZS5yZXNldFJpZ2h0T2Zmc2V0KCksdGhpcy5zZXRSZXBsYXlTdGF0dXMoMCksdGhpcy5fc2Nyb2xsaW5nU3RhdGUmJih0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSx0aGlzLl9zY3JvbGxpbmdTdGF0ZT1udWxsKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLmNhbkNoYW5nZVJlc29sdXRpb24oZSl9CmNhbkNoYW5nZVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fbWFpblNlcmllcy5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9tYWluU2VyaWVzLm9uUmVwbGF5TW9kaWZpZWQoKX1tYWluU2VyaWVzU2NhbGVSYXRpb1Byb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eU9uQ2hhbmdlZCgpe3RoaXMuX21haW5TZXJpZXNTY2FsZVJhdGlvUHJvcGVydHkuZmlyZUNoYW5nZWQoKX1nZXRUaGVtZU5hbWVJZlN0ZFRoZW1lKCl7Y29uc3QgZT10aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLHQ9dGhpcy5wcm9wZXJ0aWVzKCksaT10aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCk7cmV0dXJuIGUuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJnQuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCkmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5MaWdodCk/Sm8uU3RkVGhlbWUuTGlnaHQ6ZS5hbGxUaGVtZVByb3BlcnRpZXNBcmVEZWZhdWx0KEpvLlN0ZFRoZW1lLkRhcmspJiZ0LmFsbFRoZW1lUHJvcGVydGllc0FyZURlZmF1bHQoSm8uU3RkVGhlbWUuRGFyaykmJmkuYWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChKby5TdGRUaGVtZS5EYXJrKT9Kby5TdGRUaGVtZS5EYXJrOm51bGx9dGhlbWUoKXtyZXR1cm57Y2hhcnRQcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGhlbWVTdGF0ZSgpLHZlcnNpb246dGhpcy52ZXJzaW9uKCl9fXRlbXBsYXRlKCl7cmV0dXJue2NoYXJ0UHJvcGVydGllczp0aGlzLnByb3BlcnRpZXMoKS50ZW1wbGF0ZSgpLHNlc3Npb25zOnRoaXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSxtYWluU291cmNlUHJvcGVydGllczp0aGlzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkudGVtcGxhdGUoKSx2ZXJzaW9uOnRoaXMudmVyc2lvbigpfX1vbkNoYXJ0VGhlbWVMb2FkZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRUaGVtZUxvYWRlZH1jaGFydFRoZW1lTG9hZGVkKCl7dGhpcy5fY2hhcnRUaGVtZUxvYWRlZC5maXJlKCl9YXN5bmMgY29sb3JTdHVkaWVzUHJvcGVydGllc1JlYWR5KCl7dGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbCh0aGlzLl9yZWNhbGNWUlN0dWRpZXNQYXJhbXMpO2NvbnN0IGU9dGhpcy5hbGxTdHVkaWVzKCEwKS5maWx0ZXIoKGU9PmUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKS5sZW5ndGg+MCkpO2F3YWl0IFByb21pc2UuYWxsKGUubWFwKChlPT5lLnByb3BlcnRpZXNQYXRjaGVkKCkpKSl9c3RhdGUoZSl7Y29uc3R7d2l0aERhdGE6dCxza2lwTGluZVRvb2xzRnJvbU90aGVyU3ltYm9sczppLHNraXBMaW5lVG9vbHM6c309ZSxuPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLG89ci50cmFkaW5nUHJvcGVydGllcy5zdGF0ZSgpLGE9e3BhbmVzOnRoaXMuX3BhbmVzLm1hcCgodD0+dC5zdGF0ZSh7Li4uZSxpbmNsdWRlU291cmNlczohMH0pKSksdGltZVNjYWxlOnRoaXMuX3RpbWVTY2FsZS5zdGF0ZSh0KSxjaGFydFByb3BlcnRpZXM6e3BhbmVQcm9wZXJ0aWVzOnIucGFuZVByb3BlcnRpZXMuc3RhdGUoKSxzY2FsZXNQcm9wZXJ0aWVzOnIuc2NhbGVzUHJvcGVydGllcy5zdGF0ZSgpLHB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllczpuP24uc3RhdGUodCk6dm9pZCAwLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczpyLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcz8uc3RhdGUoKSx0cmFkaW5nUHJvcGVydGllczpvLHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ci5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCksaW5hY3Rpdml0eUdhcHM6ci5pbmFjdGl2aXR5R2Fwcy52YWx1ZSgpfSxzZXNzaW9uczp0aGlzLnNlc3Npb25zKCkuc3RhdGUodCksdmVyc2lvbjp0aGlzLnZlcnNpb24oKSx0aW1lem9uZTp0aGlzLnRpbWV6b25lKCksc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbjp0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuLGxpbmtpbmdHcm91cDp0aGlzLl9saW5raW5nR3JvdXBJbmRleC52YWx1ZSgpfTtyZXR1cm4gc3x8KGEubGluZVRvb2xzR3JvdXBzPXRoaXMubGluZVRvb2xzR3JvdXBNb2RlbCgpLnN0YXRlKGkpKSxhfWlzSW5SZXN0b3JlU3RhdGUoKXtyZXR1cm4gdGhpcy5fcmVzdG9yaW5nU3RhdGV9cmVzdG9yZVN0YXRlKGUsdCxpKXtLbC5EZWZlcnJlZFN0dWRpZXMuaW5zdGFuY2UodGhpcykucmVzZXQoKTtjb25zdCBzPXt9O2lmKCFlLnBhbmVzKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KGUucGFuZXMpKXJldHVybiB2b2lkIHd1LmxvZ0RlYnVnKCJDaGFydE1vZGVsLnJlc3RvcmVTdGF0ZTogaW52YWxpZCBzdGF0ZSIpO2lmKGUucGFuZXMubGVuZ3RoPDEpcmV0dXJuIHZvaWQgd3UubG9nRGVidWcoIkNoYXJ0TW9kZWwucmVzdG9yZVN0YXRlOiBpbnZhbGlkIHN0YXRlIik7dGhpcy5fcmVzdG9yaW5nU3RhdGU9ITA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKTtpZih0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVuPWUuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj8/ITAsZS5jaGFydFByb3BlcnRpZXMmJiFlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmKGUuY2hhcnRQcm9wZXJ0aWVzLnRpbWV6b25lPWUudGltZXpvbmUpLGUuY2hhcnRQcm9wZXJ0aWVzKXtjb25zdCBpPSgwLAokbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMiKS5zY2FsZXNQcm9wZXJ0aWVzOygwLGEubWVyZ2UpKGksZS5jaGFydFByb3BlcnRpZXMuc2NhbGVzUHJvcGVydGllcyksISgic2hvd0xhc3RWYWx1ZSJpbiBpKXx8InNob3dTZXJpZXNMYXN0VmFsdWUiaW4gaXx8InNob3dTdHVkeUxhc3RWYWx1ZSJpbiBpfHwoaS5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlLGkuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9aS5zaG93TGFzdFZhbHVlKSwic2hvd1Nlcmllc0xhc3RWYWx1ZSJpbiBpJiYocy5zaG93U2VyaWVzTGFzdFZhbHVlUHJvcGVydHk9ITApLCJzaG93U3R1ZHlMYXN0VmFsdWUiaW4gaSYmKHMuc2hvd1N0dWR5TGFzdFZhbHVlUHJvcGVydHk9ITApLCghdGhpcy5pc1NuYXBzaG90KCkmJiF0aGlzLnJlYWRPbmx5KCkmJiJzaG93Q3VycmVuY3kiaW4gaXx8InNob3dVbml0ImluIGkpJiYoKDAscnMubWlncmF0ZVNob3dDdXJyZW5jeUFuZFNob3dVbml0UHJvcGVydGllcykoaS5zaG93Q3VycmVuY3ksaS5zaG93VW5pdCksZGVsZXRlIGkuc2hvd0N1cnJlbmN5LGRlbGV0ZSBpLnNob3dVbml0KTt7Y29uc3QgdD1lLmNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcztYaCh0KSwiYmFja2dyb3VuZFR5cGUiaW4gdHx8KHQuYmFja2dyb3VuZFR5cGU9cGkuQ29sb3JUeXBlLlNvbGlkKSwic2VwYXJhdG9yQ29sb3IiaW4gdHx8KHQuc2VwYXJhdG9yQ29sb3I9KDAsay5nZXRUaGVtZWRDb2xvcikoImNvbG9yLWNoYXJ0LXBhZ2UtYmciKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5tZXJnZUFuZEZpcmUodCl9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLm1lcmdlQW5kRmlyZShpKSxlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShlLmNoYXJ0UHJvcGVydGllcy50aW1lem9uZSksZS5jaGFydFByb3BlcnRpZXMuY2hhcnRFdmVudHNTb3VyY2VQcm9wZXJ0aWVzJiZ0aGlzLl9wcm9wZXJ0aWVzLmhhc0NoaWxkKCJjaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMiKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jaGFydEV2ZW50c1NvdXJjZVByb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLmNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyksZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMmJnRoaXMuX3Byb3BlcnRpZXMuaGFzQ2hpbGQoInRyYWRpbmdQcm9wZXJ0aWVzIikmJih2b2lkIDA9PT1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5ob3Jpem9udGFsQWxpZ25tZW50JiYoZS5jaGFydFByb3BlcnRpZXMudHJhZGluZ1Byb3BlcnRpZXMuaG9yaXpvbnRhbEFsaWdubWVudD0obj1lLmNoYXJ0UHJvcGVydGllcy50cmFkaW5nUHJvcGVydGllcy5saW5lTGVuZ3RoKTw9NDA/SWkuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LlJpZ2h0Om4+PTYwP0lpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5MZWZ0OklpLlRyYWRlZEdyb3VwSG9yaXpvbnRhbEFsaWdubWVudC5DZW50ZXIpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudHJhZGluZ1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuY2hhcnRQcm9wZXJ0aWVzLnRyYWRpbmdQcm9wZXJ0aWVzKSksdGhpcy5fdGltZVNjYWxlLnJlc3RvcmVTdGF0ZShlLnRpbWVTY2FsZSx0KSx0aGlzLl91cGRhdGVEYXRlVGltZUZvcm1hdHRlcigpfXZhciBuO2lmKGUudGltZVNjYWxlJiZ0aGlzLl90aW1lU2NhbGUucmVzdG9yZVN0YXRlKGUudGltZVNjYWxlLHQpLCF0aGlzLnJlYWRPbmx5KCkpe2NvbnN0IHQ9dGhpcy5fZ2V0RXhjZWVkaW5nQ2hpbGRTdHVkaWVzKGUucGFuZXMpO2lmKHQubGVuZ3RoKXtmb3IobGV0IGk9ZS5wYW5lcy5sZW5ndGgtMTtpPj0wOy0taSl7Y29uc3Qgcz1lLnBhbmVzW2ldO2ZvcihsZXQgZT1zLnNvdXJjZXMubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IGk9cy5zb3VyY2VzW2VdO350LmluZGV4T2YoaSkmJnMuc291cmNlcy5zcGxpY2UoZSwxKX1zLnNvdXJjZXMubGVuZ3RofHxzLm1vZGUhPT1NLlBhbmVNb2RlLlJlZ3VsYXJ8fGUucGFuZXMuc3BsaWNlKGksMSl9e2NvbnN0IGU9d2luZG93LnVzZXIucHJvX3BsYW4sdD0icHJvX3ByZW1pdW1fZXhwZXJ0Ij09PWV8fCJwcm9fcHJlbWl1bV9leHBlcnRfdHJpYWwiPT09ZTtzZXRUaW1lb3V0KCgoKT0+KDAsd2Uub3BlblBheXdhbGwpKHtmZWF0dXJlOiJzdHVkeU9uU3R1ZHkiLGlzTWF4UGxhbjp0fSkpLDUwMCl9fX1jb25zdCByPWUudmVyc2lvbnx8MCxvPWUucGFuZXM7bGV0IGM9Il9zZXJpZXNJZCIsaD0xO2Zvcihjb25zdCBlIG9mIG8pe2NvbnN0IHQ9ZS5zb3VyY2VzLmZpbmQoKGU9PiJNYWluU2VyaWVzIj09PWUudHlwZSkpO2lmKHQpe2M9dC5pZCx0LnN0YXRlJiYoaD10LnN0YXRlLnN0eWxlKTticmVha319Y29uc3QgZD0hMCx1PW9bMF07dGhpcy5wYW5lcygpWzBdLnJlc3RvcmVTdGF0ZSh7c3RhdGU6dSx3aXRoRGF0YTp0LHZlcnNpb246cixzZXJpZXNJZDpjLHNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSx0aGlzLnBhbmVzKClbMF0ubWFpbkRhdGFTb3VyY2UoKXx8dGhpcy5yZW1vdmVQYW5lKHRoaXMucGFuZXMoKVswXSk7bGV0IHA9MTtmb3IobGV0IG49MTtuPGUucGFuZXMubGVuZ3RoO24rKyl7Y29uc3Qgbz1lLnBhbmVzW25dO2lmKDA9PT1vLnNvdXJjZXMubGVuZ3RoJiYoby5tb2RlPz9NLlBhbmVNb2RlLlJlZ3VsYXIpPT09TS5QYW5lTW9kZS5SZWd1bGFyKXt3dS5sb2dXYXJuKCJFbXB0eSBwYW5lIGRldGVjdGVkIC0gcmVzdG9yaW5nIGlzIHNraXBwZWQuIGlkeD0iK24rIiwgc3RhdGU9IitKU09OLnN0cmluZ2lmeShvKSk7Y29udGludWV9Y29uc3QgYT10aGlzLnBhbmVzKClbcF18fHRoaXMuY3JlYXRlUGFuZSgpO2EucmVzdG9yZVN0YXRlKHtzdGF0ZTpvLHdpdGhEYXRhOnQsdmVyc2lvbjpyLHNlcmllc0lkOmMsCnNldHRpbmdzTWlncmF0aW9uOnMsY29udGVudE92ZXJyaWRlczppLHJlc3RvcmVTaWxlbnRseTpkLHJlYXNvbjoyLHRhcmdldFNlcmllc1N0eWxlOmh9KSxhLm1haW5EYXRhU291cmNlKCl8fGEubW9kZSgpIT09TS5QYW5lTW9kZS5SZWd1bGFyP3ArPTE6dGhpcy5yZW1vdmVQYW5lKGEpfWlmKHUuaXNDb2xsYXBzZWQmJnRoaXMuX3BhbmVzWzBdLmNvbGxhcHNlZCgpLnNldFZhbHVlKCEwKSxlLmNoYXJ0UHJvcGVydGllcyYmZS5jaGFydFByb3BlcnRpZXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKTtpJiZpLnJlc3RvcmVEYXRhKGUuY2hhcnRQcm9wZXJ0aWVzLnB1Ymxpc2hlZENoYXJ0c1RpbWVsaW5lUHJvcGVydGllcyx0KX10aGlzLl9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpO2NvbnN0IF89dGhpcy5kYXRhU291cmNlcygpO2xldCBtPTA7Zm9yKGxldCBlPTA7ZTxfLmxlbmd0aDtlKyspe2NvbnN0IHQ9X1tlXTsoMCxyaS5pc0xpbmVUb29sKSh0KSYmKG0rKyx0LmNhbGNJc0FjdHVhbFN5bWJvbCgpKX10aGlzLnVwZGF0ZVRpbWVTY2FsZUJhc2VJbmRleCgpLHRoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5mdWxsVXBkYXRlKCksdGhpcy5zeW5jTG9sbGlwb3BTb3VyY2VzKCk7Y29uc3QgZz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubWFpblBhbmUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fYmFyc01hcmtzU291cmNlcyl0aGlzLmRldGFjaFNvdXJjZShlKSxnLmFkZERhdGFTb3VyY2UoZSx0aGlzLl9tYWluU2VyaWVzLnByaWNlU2NhbGUoKSwhMCk7bGV0IGY9UW8uVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgibGluZXRvb2xzX2xpbWl0Iil8fDFlMztyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5zZXR0aW5ncyYmKGY9d2luZG93LnVzZXIuc2V0dGluZ3MubGluZXRvb2xzX2xpbWl0fHxmKSxlLnNlc3Npb25zJiZ0aGlzLnNlc3Npb25zKCkucmVzdG9yZVN0YXRlKGUuc2Vzc2lvbnMsdCksZS5saW5lVG9vbHNHcm91cHMmJnRoaXMucmVzdG9yZUxpbmVUb29sc0dyb3VwcyhlLmxpbmVUb29sc0dyb3VwcyksbT5mJiZtJTEwMD09MD97bGluZXNfbGltaXRfZXhjZWVkZWQ6ITAsbGluZV90b29sc19jb3VudDptfToodGhpcy5wYW5lcygpLmZvckVhY2goKGU9PnRoaXMuX2RhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZC5maXJlKGUpKSksdGhpcy5fbGluZVRvb2xzR3JvdXBNb2RlbC5maXJlQ2hhbmdlZEFsbCgpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4LnNldFZhbHVlKGUubGlua2luZ0dyb3VwPz9udWxsKSx0aGlzLl9yZXN0b3JpbmdTdGF0ZT0hMSx7fSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLl9zaG91bGRCZVNhdmVkRXZlbklmSGlkZGVufXNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oZSl7dGhpcy5fc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbj1lfWV4dGVybmFsVGltZVN0YW1wKGUpe2NvbnN0IHQ9dGhpcy5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7cmV0dXJuIHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hUaW1lKGUsdCYmdC5wcm9qZWN0VGltZS5iaW5kKHQpKX1zeW5jTG9sbGlwb3BTb3VyY2VzKCl7dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlckxvYWRlcj8uY2FsbEZ1bmN0aW9uKCgoKT0+e251bGwhPT10aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyJiZ0aGlzLl9sb2xsaXBvcFNvdXJjZXNXYXRjaGVyLnN5bmNTb3VyY2VzKCl9KSl9cmVzdG9yZUNoYXJ0RXZlbnRzKGUpe3RoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI/LmNhbGxGdW5jdGlvbigoKCk9PntudWxsIT09dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlciYmdGhpcy5fb3B0aW9ucy5jaGFydEV2ZW50c0VuYWJsZWQmJnRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXIucmVzdG9yZUNoYXJ0RXZlbnRzKGUpfSkpfXJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXMoZSl7aWYodGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMuYWRkKGUpLHRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCkmJnRoaXMuX21haW5TZXJpZXMuaXNDb21wbGV0ZWQoKSl7Y29uc3QgdD0oMCxsLmVuc3VyZURlZmluZWQpKEl1LmdldChlKSkuYWRhcHRlcixpPU1hdGgubWluKC4uLkFycmF5LmZyb20odGhpcy5fcmVjYWxjVlJTdHVkaWVzUGFyYW1zLnJlYXNvbnMpLm1hcCgoZT0+KDAsbC5lbnN1cmVEZWZpbmVkKShJdS5nZXQoZSkpKSkuZmlsdGVyKChlPT5lLmFkYXB0ZXI9PT10KSkubWFwKChlPT5lLnRpbWVvdXQpKSk7KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbERlYm91bmNlZEJ5QWRhcHRlci5nZXQodCk/LmdldChpKSkoKX1lbHNlIHRoaXMuX3JlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNJbXBsKHRoaXMuX3JlY2FsY1ZSU3R1ZGllc1BhcmFtcyl9cmVjYWxjQ29sb3JTdHVkaWVzKGUpe3RoaXMuX3JlY2FsY0NvbG9yU3R1ZGllc1BhcmFtcy5mb3JjZT10aGlzLl9yZWNhbGNDb2xvclN0dWRpZXNQYXJhbXMuZm9yY2V8fEJvb2xlYW4oZSksdGhpcy5fcmVjYWxjQ29sb3JTdHVkaWVzSW1wbERlYm91bmNlZCgpfXJlY2FsY1N0dWR5QmFzZWRMaW5lVG9vbHMoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSkmJmUucmVjYWxjU3R1ZHlJZk5lZWRlZCgpfSkpfWFsZXJ0c1dhdGNoZXIoKXtyZXR1cm4gdGhpcy5fYWxlcnRzV2F0Y2hlcn1hbGVydHNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24ucmVhZG9ubHkoKX1zaG93TGVnZW5kKCl7cmV0dXJuIHRoaXMuX3Nob3dMZWdlbmRQcm9wZXJ0eX1pZCgpe3JldHVybiB0aGlzLl9pZH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5fY3Jvc3NIYWlyU2VsZWN0UG9pbnRNb2RlfWNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpewp0aGlzLl9jcm9zc0hhaXJTb3VyY2UuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9cmVxdWVzdFNlbGVjdFBvaW50KGUpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2UucmVxdWVzdFNlbGVjdFBvaW50KGUpfW9uUG9pbnRTZWxlY3RlZCgpe3JldHVybiB0aGlzLl9jcm9zc0hhaXJTb3VyY2Uub25Qb2ludFNlbGVjdGVkKCl9cmVjYWxjdWxhdGVQcmljZVJhbmdlT25jZSgpe2NvbnN0IGU9dGhpcy5tYWluU2VyaWVzKCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcGFuZXMpZm9yKGNvbnN0IGkgb2YgdC5wcmljZURhdGFTb3VyY2VzKCkpaS5zeW1ib2xTb3VyY2UoKT09PWUmJmkuZGlzYWJsZVByaWNlUmFuZ2VSZWFkeSgpfWludmFsaWRhdGUoZSl7dGhpcy5faW52YWxpZGF0ZUhhbmRsZXI/LihlKX1hcHBsaWVkVGltZUZyYW1lKCl7cmV0dXJuIHRoaXMuX2FwcGxpZWRUaW1lRnJhbWUuYXBwbGllZFRpbWVGcmFtZSgpfWJhcnNNYXJrc1NvdXJjZXMoKXtyZXR1cm4gdGhpcy5fYmFyc01hcmtzU291cmNlc31jcmVhdGVTeW5jUG9pbnQoZSx0KXtyZXR1cm4oMCxsdS5nZXREZWZhdWx0MkxhenkpKHRoaXMuX3N5bmNQb2ludENhY2hlLGUudW5pcXVlSWQsdC51bmlxdWVJZCwoKCk9Pm5ldyBhaChlLHQpKSl9aXNBdXRvU2F2ZUVuYWJsZWQoKXtyZXR1cm4gdGhpcy5faXNBdXRvU2F2ZUVuYWJsZWR9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldCgpe3JldHVybiB0aGlzLl90aW1lU2NhbGUudXNlUGVyY2VudGFnZVJpZ2h0T2Zmc2V0KCkudmFsdWUoKT90aGlzLl90aW1lU2NhbGUucGVyY2VudHNUb0JhckluZGV4TGVuZ3RoKHRoaXMuc3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKSk6TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldCgpLnZhbHVlKCksdGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCl9c3R1ZHlBd2FyZURlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKXtyZXR1cm4gdGhpcy5fdGltZVNjYWxlLnVzZVBlcmNlbnRhZ2VSaWdodE9mZnNldCgpLnZhbHVlKCk/TWF0aC5tYXgodGhpcy5fdGltZVNjYWxlLmRlZmF1bHRSaWdodE9mZnNldFBlcmNlbnRhZ2UoKS52YWx1ZSgpLHRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldCkpOnRoaXMuX3RpbWVTY2FsZS5iYXJJbmRleExlbmd0aFRvUGVyY2VudHModGhpcy5zdHVkeUF3YXJlRGVmYXVsdFJpZ2h0T2Zmc2V0KCkpfWNsZWFyQWxsU3R1ZGllcygpe3RoaXMuZGF0YVNvdXJjZXMoKS5mb3JFYWNoKChlPT5lLmNsZWFyRGF0YT8uKCkpKX1zZXRUaW1lU2NhbGVBbmltYXRpb24oZSx0KXtjb25zdCBpPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKSxzPXRoaXMuX3RpbWVTY2FsZTtpLnNldFRpbWVTY2FsZUFuaW1hdGlvbihlLHQ/P3Mud2lkdGgoKS1zLmluZGV4VG9Db29yZGluYXRlKHMuYmFzZUluZGV4KCkpKSx0aGlzLmludmFsaWRhdGUoaSl9c3RvcFRpbWVTY2FsZUFuaW1hdGlvbigpe3RoaXMuX3RpbWVTY2FsZS5lbmRTY3JvbGwoKTtjb25zdCBlPUxlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKTtlLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmludmFsaWRhdGUoZSl9bG9sbGlwb3BTb3VyY2VzT3B0aW9ucygpe2NvbnN0IGU9dGhpcy5fb3B0aW9ucztyZXR1cm57Y2hhcnRFdmVudHNFbmFibGVkOiF0aGlzLl9vcHRpb25zLmlzU25hcHNob3QmJnRoaXMuX29wdGlvbnMuY2hhcnRFdmVudHNFbmFibGVkLGVzZEVuYWJsZWQ6ZS5lc2RFbmFibGVkLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDplLm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCxjb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQ6ZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvbkVuYWJsZWQ6ZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxsYXRlc3RVcGRhdGVzRW5hYmxlZDplLmxhdGVzdFVwZGF0ZXNFbmFibGVkfX1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWR9c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe2Uuc2V0UHJpY2VBdXRvU2NhbGUodCxpKSx0aGlzLmludmFsaWRhdGUodGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soZSxMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCkpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZXMoKS5yZWR1Y2UoKChlLHQpPT4odC50YWdzJiZlLnB1c2goLi4udC50YWdzKCkpLGUpKSxbXSl9YXN5bmMgd2l0aG91dExpbmVUb29sc1N5bmNBY3Rpb24oZSl7dHJ5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jaysrLGF3YWl0IGUoKX1maW5hbGx5e3RoaXMuX2xpbmVUb29sc1N5bmNCbG9jay0tfX1zeW1ib2xBbGlhc1NlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc3ltYm9sQWxpYXNTZXJ2aWNlfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpe3JldHVybiB0aGlzLl91bmRvTW9kZWwuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBBY3RpdmUoKXtyZXR1cm4gdGhpcy5fdW5kb01vZGVsLmNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl9X3N1YnNjcmliZVRvTGluZVRvb2xzR3JvdXBNb2RlbCgpe3RoaXMuX2xpbmVUb29sc0dyb3VwTW9kZWwub25DaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25MaW5lVG9vbHNHcm91cE1vZGVsQ2hhbmdlZCl9X3Vuc3Vic2NyaWJlRnJvbUxpbmVUb29sc0dyb3VwTW9kZWwoKXt0aGlzLl9saW5lVG9vbHNHcm91cE1vZGVsLm9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfV9tYXliZVVwZGF0ZVByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cCgpe2NvbnN0IGU9dGhpcy5fY3VycmVudFRvb2wudmFsdWUoKSx0PXRoaXMuX3NlbGVjdGlvbi5hbGxJdGVtc1NvcnRlZCgpLm1hcCgoZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSk/ZS5pZDplLmlkKCkpKTsoMCwKbS5pc0xpbmVUb29sTmFtZSkoZSkmJnQubGVuZ3RoP3RoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz10OiEoMCxULnRvb2xJc0N1cnNvcikoZSkmJiEoMCxULnRvb2xJc01lYXN1cmUpKGUpfHx0Lmxlbmd0aHx8KHRoaXMuX3ByZXZpb3VzU2VsZWN0ZWREcmF3aW5nT3JHcm91cElkcz1udWxsKX1fdXBkYXRlSGlnaGxpZ2h0ZWRTb3VyY2UoKXt0aGlzLmRhdGFTb3VyY2VzKCkuZm9yRWFjaCgoZT0+eygwLHRpLmlzU3R1ZHkpKGUpJiZlLmhhc0hpZ2hsaWdodGVkUGxvdHMoKSYmKGUudXBkYXRlQWxsVmlld3MoKDAsdG4uc2VsZWN0aW9uQ2hhbmdlRXZlbnQpKCkpLHRoaXMudXBkYXRlU291cmNlKGUpKX0pKX1faW5pdEFsZXJ0c0xpc3QoKXtyZXR1cm4gdGhpcy5fYWxlcnRzTGlzdFByb21pc2V8fCh0aGlzLl9hbGVydHNMaXN0UHJvbWlzZT0oMCxVcy5nZXRDaGFydEFsZXJ0c0ZhY2FkZSkoKS50aGVuKChlPT57Y29uc3QgdD1lLmNyZWF0ZUNvbGxlY3Rpb24oKCgpPT50aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpKSwoKCk9PnRoaXMubWFpblNlcmllcygpLnByb1N5bWJvbCgpKSk7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zZXRWYWx1ZSh0KSx0LmFsZXJ0QWRkZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9hZGRBbGVydExhYmVsVG9DaGFydC5iaW5kKHRoaXMpKSx0LmFsZXJ0UmVtb3ZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlbW92ZUFsZXJ0TGFiZWxGcm9tQ2hhcnQuYmluZCh0aGlzKSksdC5maXJzdENvbmRpdGlvbkFsZXJ0U2VyaWVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLmFsZXJ0c1dhdGNoZXIoKSkuaXNBbGVydExhYmVsQmVpbmdNb3ZlZChlLHRoaXMuc291cmNlc0JlaW5nTW92ZWQoKSl8fCh0aGlzLl9yZW1vdmVBbGVydExhYmVsRnJvbUNoYXJ0KGUpLHRoaXMuX2FkZEFsZXJ0TGFiZWxUb0NoYXJ0KGUpKX0pKSx0LnN5bmMoKTtjb25zdCBpPWU9Pnt0aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKVtlXSh0aGlzLHMpLHRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xFcnJvcigpW2VdKHRoaXMsdGhpcy5fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQpLHRoaXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnRlcnZhbFtlXSh0aGlzLHMpfSxzPSgpPT57dD8uc3luYygpfTtyZXR1cm4gd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT57dD8ucmVzZXQoKSxpKHdpbmRvdy5pc19hdXRoZW50aWNhdGVkPyJzdWJzY3JpYmUiOiJ1bnN1YnNjcmliZSIpfSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZpKCJzdWJzY3JpYmUiKSx0fSkpKSx0aGlzLl9hbGVydHNMaXN0UHJvbWlzZX1fdXBkYXRlU3R1ZGllc01heE9mZnNldCgpe2NvbnN0IGU9TWF0aC5tYXgoLi4udGhpcy5hbGxTdHVkaWVzKCkubWFwKChlPT5lLm1heE9mZnNldCgpLnZhbHVlKCkpKSk7dGhpcy5fY2FjaGVkU3R1ZGllc01heE9mZnNldD1lO2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlLnJpZ2h0T2Zmc2V0KCk7aWYodDwwKXJldHVybjtpZihlPD10KXJldHVybjtjb25zdCBpPXRoaXMuX3RpbWVTY2FsZS5sb2dpY2FsUmFuZ2UoKTtpP3RoaXMuX3RpbWVTY2FsZS56b29tVG9CYXJzUmFuZ2UoaS5sZWZ0KCksdGhpcy5fdGltZVNjYWxlLmJhc2VJbmRleCgpK01hdGgubWF4KHRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpLGUpKTp0aGlzLl90aW1lU2NhbGUuc2V0UmlnaHRPZmZzZXQoTWF0aC5tYXgodCxlKSl9X3VwZGF0ZUJhc2VJbmRleChlLHQpe2NvbnN0IGk9dGhpcy5fdGltZVNjYWxlLHM9aS5iYXNlSW5kZXgoKSxuPWkubG9naWNhbFJhbmdlKCk7aWYobnVsbCE9PW4mJnQpe2NvbnN0IHQ9bi5jb250YWlucyhzKSxyPWUtcyxvPXQ/bnVsbDppLnJpZ2h0T2Zmc2V0KCktcjtpZighdGhpcy5fb3B0aW9ucy5zaGlmdFZpc2libGVSYW5nZU9uTmV3QmFyJiZ0KXtjb25zdCBlPWkud2lkdGgoKS9pLmJhclNwYWNpbmcoKSx0PWUvKGUrcikscz1NYXRoLm1heChpLm1pbkJhclNwYWNpbmcoKSxpLmJhclNwYWNpbmcoKSp0KTtpLnNldEJhclNwYWNpbmcocyl9bnVsbCE9PW8mJmkuc2V0UmlnaHRPZmZzZXQobyl9aS5zZXRCYXNlSW5kZXgoZSl9YXN5bmMgX2NyZWF0ZUxvbGxpcG9wU291cmNlc1dhdGNoZXIoKXt7Y29uc3QgZT10aGlzLmxvbGxpcG9wU291cmNlc09wdGlvbnMoKSx0PVtlLmVzZEVuYWJsZWQsZS5jb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc0VuYWJsZWQsZS5mdXR1cmVzQ29udHJhY3RFeHBpcmF0aW9uRW5hYmxlZCxlLmxhdGVzdFVwZGF0ZXNFbmFibGVkLGUuY2hhcnRFdmVudHNFbmFibGVkXSxzPSgwLEoub25XaWRnZXQpKCksbj10aGlzLmlzU25hcHNob3QoKTsodC5zb21lKEJvb2xlYW4pfHwhc3x8bikmJihhd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXI9bmV3IHRhLkFzeW5jUmVzb3VyY2VXcmFwcGVyKGkuZSg4MTYwNSkudGhlbihpLmJpbmQoaSw2NjQwKSkpLHRoaXMuX2xvbGxpcG9wU291cmNlc1dhdGNoZXJMb2FkZXIuY2FsbEZ1bmN0aW9uKChlPT57dGhpcy5fbG9sbGlwb3BTb3VyY2VzV2F0Y2hlcj1uZXcgZS5Mb2xsaXBvcFNvdXJjZXNXYXRjaGVyKHRoaXMpfSkpKX19X3VwZGF0ZURhdGVUaW1lRm9ybWF0dGVyKCl7Y29uc3QgZT1paC5kYXRlRm9ybWF0UHJvcGVydHkudmFsdWUoKSx0PXRoaXMub25XaWRnZXQoKT92b2lkIDA6bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpO2lmKHRoaXMuX2RhdGVGb3JtYXR0ZXI9bmV3IHRoLkRhdGVGb3JtYXR0ZXIoZSx0KSx0aGlzLm1haW5TZXJpZXMoKS5pc0RXTSgpKXRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyB0aC5EYXRlRm9ybWF0dGVyKGUsdCksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcigoMCwKUGMuZ2V0SG91ck1pbnV0ZUZvcm1hdCkoVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkudmFsdWUoKSkpO2Vsc2V7Y29uc3QgaT14LkludGVydmFsLnBhcnNlKHRoaXMubWFpblNlcmllcygpLmludGVydmFsKCkpLHM9KDAsUGMuZ2V0VGltZUZvcm1hdEZvckludGVydmFsKShpLFRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCkpO3RoaXMuX2RhdGVUaW1lRm9ybWF0dGVyPW5ldyBlaC5EYXRlVGltZUZvcm1hdHRlcih7ZGF0ZUZvcm1hdDplLHdpdGhXZWVrZGF5OnQsdGltZUZvcm1hdDpzLGRhdGVUaW1lU2VwYXJhdG9yOiIgICAifSksdGhpcy5fdGltZUZvcm1hdHRlcj1uZXcgQ2MuVGltZUZvcm1hdHRlcihzKX19X2ludmFsaWRhdGlvbk1hc2tGb3JTb3VyY2UoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZihlPT09dGhpcy5jcm9zc2hhaXJTb3VyY2UoKSlyZXR1cm4gTGUuSW52YWxpZGF0aW9uTWFzay5jdXJzb3IoKTtpZih0aGlzLl93YXRlcm1hcmtTb3VyY2U9PT1lKXJldHVybiB0aGlzLl9wYW5lSW52YWxpZGF0aW9uTWFzaygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpLHQpO2lmKC0xIT09dGhpcy5fYWxsQ3VzdG9tU291cmNlcy5pbmRleE9mKGUpKXtjb25zdCBlPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBlLmludmFsaWRhdGVBbGwodCksZX1pZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbnVsbDtpZihlLmlzTXVsdGlQYW5lRW5hYmxlZCgpKXJldHVybiBuZXcgTGUuSW52YWxpZGF0aW9uTWFzayh0KTtjb25zdCBpPXRoaXMucGFuZUZvclNvdXJjZShlKTtyZXR1cm4gbnVsbCE9PWk/dGhpcy5fcGFuZUludmFsaWRhdGlvbk1hc2soaSx0KTpudWxsfV9wYW5lSW52YWxpZGF0aW9uTWFzayhlLHQ9TGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQpe2NvbnN0IGk9bmV3IExlLkludmFsaWRhdGlvbk1hc2sscz10aGlzLl9wYW5lcy5pbmRleE9mKGUpO3JldHVybiBpLmludmFsaWRhdGVBbGxQYW5lKHMsdCksaX1faW52YWxpZGF0aW9uTWFza0ZvclNvdXJjZVByaWNlU2NhbGUoZSx0PUxlLkludmFsaWRhdGlvbkxldmVsLkxpZ2h0KXtpZighKDAsQWkuaXNEYXRhU291cmNlKShlKSlyZXR1cm4gbmV3IExlLkludmFsaWRhdGlvbk1hc2sodCk7Y29uc3QgaT10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYobnVsbD09PWkpcmV0dXJuIG51bGw7bGV0IHM9ZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3Qgbj10aGlzLl9wYW5lcy5pbmRleE9mKGkpO2xldCByPWkucHJpY2VTY2FsZVBvc2l0aW9uKHMpO2lmKCJvdmVybGF5Ij09PXIpe2NvbnN0IGU9dGhpcy5fcGFuZXNbbl0uZGVmYXVsdFByaWNlU2NhbGUoKTtzPWUscj1pLnByaWNlU2NhbGVQb3NpdGlvbihlKX1jb25zdCBvPWkucHJpY2VTY2FsZUluZGV4KHMscik7aWYodm9pZCAwPT09bylyZXR1cm4gbnVsbDtjb25zdCBhPW5ldyBMZS5JbnZhbGlkYXRpb25NYXNrO3JldHVybiBhLmludmFsaWRhdGVQcmljZVNjYWxlKG4scixvLHQpLGF9X3JlbW92ZUN1c3RvbVNvdXJjZShlKXtjb25zdCB0PXRoaXMuX2N1c3RvbVNvdXJjZXNNYXAuZ2V0KGUpO2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgd3UubG9nV2FybihgQXR0ZW1wdCB0byByZW1vdmUgY3VzdG9tIHNvdXJjZSB3aGljaCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbW9kZWwgLSAiJHtlfSJgKTt3dS5sb2dOb3JtYWwoYFJlbW92aW5nIGN1c3RvbSBzb3VyY2UgIiR7ZX0iYCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSksdGhpcy5faG92ZXJlZFNvdXJjZT09PXQmJnRoaXMuc2V0SG92ZXJlZFNvdXJjZShudWxsKSx0aGlzLl9jdXN0b21Tb3VyY2VCZWluZ01vdmVkPT09dCYmdGhpcy5zZXRNb3ZpbmdDdXN0b21Tb3VyY2UobnVsbCxudWxsKTtjb25zdCBpPUN1KHRoaXMuX2JnQ3VzdG9tU291cmNlcyx0KSxzPUN1KHRoaXMuX2ZnQ3VzdG9tU291cmNlcyx0KSxuPUN1KHRoaXMuX3RvcG1vc3RDdXN0b21Tb3VyY2VzLHQpLHI9Q3UodGhpcy5fYWxsQ3VzdG9tU291cmNlcyx0KTsoMCxsLmFzc2VydCkoaXx8c3x8biwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gb25lIG9mIHRoZSBsYXllcnMiKSwoMCxsLmFzc2VydCkociwiU291cmNlIHNob3VsZCBiZSBwcmVzZW50ZWQgaW4gdGhlIGFycmF5IiksdGhpcy5fY3VzdG9tU291cmNlc01hcC5kZWxldGUoZSksdC5kZXN0cm95KCl9X3VwZGF0ZVNob3dMZWdlbmRQcm9wZXJ0eSgpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wYW5lUHJvcGVydGllcy5jaGlsZHMoKS5sZWdlbmRQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dMZWdlbmQsdD10aGlzLl9zaG93TGVnZW5kUHJvcGVydHk7aWYoZS52YWx1ZSgpKXQuc2V0VmFsdWUoITApO2Vsc2V7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZXMpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgZS5wcmljZURhdGFTb3VyY2VzKCkpaWYobnVsbCE9PXMuc3RhdHVzVmlldygpJiYoaSsrLGk+PTIpKXJldHVybiB2b2lkIHQuc2V0VmFsdWUoITEpfXQuc2V0VmFsdWUoITApfX1fcG9pbnRUb1BlcmNlbnRQb3NpdGlvbihlLHQpe3JldHVybnt4OmUueC90aGlzLl90aW1lU2NhbGUud2lkdGgoKSx5OmUueS8oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodC5tYWluRGF0YVNvdXJjZSgpKS5wcmljZVNjYWxlKCkpLmhlaWdodCgpfX1fcGVyY2VudFBvc2l0aW9uVG9Qb2ludChlLHQpe2NvbnN0IGk9ZS54KnRoaXMuX3RpbWVTY2FsZS53aWR0aCgpLHM9ZS55KigwLGwuZW5zdXJlTm90TnVsbCkoKDAsbC5lbnN1cmVOb3ROdWxsKSh0Lm1haW5EYXRhU291cmNlKCkpLnByaWNlU2NhbGUoKSkuaGVpZ2h0KCk7cmV0dXJuIG5ldyBQdC5Qb2ludChpLHMpfV9yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzSW1wbChlKXsKaWYoIXRoaXMuX21haW5TZXJpZXMuaXNTdGFydGVkKCl8fCF0aGlzLl9tYWluU2VyaWVzLmlzQ29tcGxldGVkKCkpcmV0dXJuIHZvaWQgdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZShudWxsKTtpZih0aGlzLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09dClyZXR1cm47Y29uc3QgaT10aGlzLl9tYWluU2VyaWVzLmJhcnMoKSxzPWkuc2VhcmNoKHQuZmlyc3RCYXIoKSxaby5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQpLG49aS5zZWFyY2godC5sYXN0QmFyKCksWm8uUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpLHI9aS5sYXN0SW5kZXgoKSxvPXM/cy5pbmRleDp2b2lkIDAsYT1uP24uaW5kZXg6dm9pZCAwLGw9bz09PWUub2xkU3RhcnRWaXNpYmxlSW5kZXgsYz1hPT09ZS5vbGRFbmRWaXNpYmxlSW5kZXgsaD1bSWkuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0LElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzQ29tcGxldGVkLElpLlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU3R1ZHlDcmVhdGlvbl0uc29tZSgodD0+ZS5yZWFzb25zLmhhcyh0KSkpO2wmJmMmJiFofHwoZS5yZWFzb25zLmNsZWFyKCksZS5vbGRTdGFydFZpc2libGVJbmRleD12b2lkIDAhPT1vP286TmFOLGUub2xkRW5kVmlzaWJsZUluZGV4PXZvaWQgMCE9PWE/YTpOYU4sdGhpcy5fdmlzaWJsZVJhbmdlU3R1ZGllc0lucHV0cy5zZXRWYWx1ZSh7Zmlyc3RWaXNpYmxlQmFyVGltZToxZTMqKHM/LnZhbHVlWzBdPz8wKSxsYXN0VmlzaWJsZUJhclRpbWU6MWUzKihuPy52YWx1ZVswXT8/MCksc3Vic2NyaWJlUmVhbHRpbWU6bj8uaW5kZXg9PT1yfSkpfV9yZWNhbGNDb2xvclN0dWRpZXNJbXBsKGUpe2NvbnN0IHQ9dGhpcy5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcCguNSksaT10aGlzLmRhcmsoKS52YWx1ZSgpP1hvLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0yMDAiXTpYby5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scz10PT09ZS5vbGRCZ0NvbG9yLG49aT09PWUub2xkRmdDb2xvcjtpZihzJiZuJiYhZS5mb3JjZSlyZXR1cm47ZS5mb3JjZT0hMSxlLm9sZEJnQ29sb3I9dCxlLm9sZEZnQ29sb3I9aTtjb25zdCByPWUuc3R1ZGllcz8/dGhpcy5wcmljZURhdGFTb3VyY2VzKCk7ZS5zdHVkaWVzPXZvaWQgMDtmb3IoY29uc3QgZSBvZiByKWlmKCgwLHRpLmlzU3R1ZHkpKGUpKXtjb25zdCBzPWUubWV0YUluZm8oKS5pbnB1dHMuZmlsdGVyKE50LmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0Q29sb3JzKSxuPWUucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztzLmZvckVhY2goKGU9Pntjb25zdCBzPWUuaWQ9PT1OdC5DaGFydENvbG9yRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzLkZnQ29sb3I/aTp0O24uY2hpbGRzKClbZS5pZF0uc2V0VmFsdWVTaWxlbnRseShzKX0pKSxzLmxlbmd0aD4wJiZuLmZpcmVDaGFuZ2VkKCl9fV9nZXRBbGxTb3VyY2VzKGUsdD1rdSl7Y29uc3QgaT1bXTtmb3IoY29uc3QgcyBvZiB0aGlzLl9wYW5lcyl7Y29uc3Qgbj10KHMpO2Zvcihjb25zdCB0IG9mIG4pZSh0KSYmaS5wdXNoKHQpfXJldHVybiBpfV9pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlcygpe3RoaXMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fYWRkQWxlcnRMYWJlbFRvQ2hhcnQoZSl7e2lmKCFlLmlzQWxlcnRQcmVzZW50T25UYXJnZXQodWguQWxlcnRDaGFydERpc3BsYXlUYXJnZXQuTGFiZWwpKXJldHVybjtjb25zdCB0PWUuZmlyc3RDb25kaXRpb25TZXJpZXNJZCgpO2lmKG51bGw9PT10KXJldHVybjsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5hZGRBbGVydChlLHQpfX1fcmVtb3ZlQWxlcnRMYWJlbEZyb21DaGFydChlKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGVydChlKX1fcmVtb3ZlQWxsQWxlcnRMYWJlbHNGcm9tQ2hhcnQoKXsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuYWxlcnRzV2F0Y2hlcigpKS5yZW1vdmVBbGxBbGVydExhYmVscygpfV91cGRhdGVUaW1lU2NhbGUoZSl7Y29uc3R7aW5kZXg6dCx6b2Zmc2V0OmksdmFsdWVzOnMsaW5kZXhEaWZmczpuLGJhc2VJbmRleDpyLG1hcmtzOm8sY2xlYXJGbGFnOmEsY2xlYXJUaWNrTWFya3M6bH09ZTtpZihhKXt0aGlzLl90aW1lU2NhbGUucmVzZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLmRhdGFTb3VyY2VzKCkpZS5jbGVhckRhdGE/LigpfWlmKG4ubGVuZ3RoPjApZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUubW92ZURhdGE/LihuKTtjb25zdCBjPXRoaXMuX3RpbWVTY2FsZS5pbmRleFRvVGltZVBvaW50KHRoaXMuX3RpbWVTY2FsZS5iYXNlSW5kZXgoKSksaD10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCk7dGhpcy5fdGltZVNjYWxlLnVwZGF0ZSh0LGkscyxvLGx8fCExKTtjb25zdCBkPXRoaXMuX3RpbWVTY2FsZS5wb2ludHMoKS5yYW5nZSgpLnZhbHVlKCk7bGV0IHU9IkNoYXJ0TW9kZWwucHJvdG90eXBlLl91cGRhdGVUaW1lU2NhbGUoIit0KyIsIitpKyIsIitzLmxlbmd0aCsiLCIrbi5sZW5ndGgrIiwiK28ubGVuZ3RoKyIsIithKyIpIjtpZih1Kz0iVGltZVNjYWxlOiB7Zmlyc3Q6IisoZD8uZmlyc3RJbmRleD8/bnVsbCkrIixsYXN0OiIrKGQ/Lmxhc3RJbmRleD8/bnVsbCkrIn0iLG51bGw9PT1yKXt0aGlzLl90aW1lU2NhbGUucmVzZXRCYXNlSW5kZXgoKTtjb25zdCBlPXRoaXMuX3RpbWVTY2FsZS5yaWdodE9mZnNldCgpO3RoaXMuX3RpbWVTY2FsZS5zZXRSaWdodE9mZnNldChNYXRoLm1heChlLHRoaXMuX2NhY2hlZFN0dWRpZXNNYXhPZmZzZXQpKX1lbHNlIGlmKHZvaWQgMCE9PXIpe2NvbnN0IGU9dGhpcy5fdGltZVNjYWxlLmluZGV4VG9UaW1lUG9pbnQociksdD1udWxsIT09YyYmbnVsbCE9PWUmJmU+Yzt0aGlzLl91cGRhdGVCYXNlSW5kZXgocix0KX0KaWYod3UubG9nRGVidWcodSksIWgmJmghPT10aGlzLl90aW1lU2NhbGUuY2FuTm9ybWFsaXplKCkpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKSEoMCxyaS5pc0xpbmVUb29sKShlKXx8ZS5pc0ZpeGVkKCl8fGUuaXNTb3VyY2VIaWRkZW4oKXx8ZS5wcm9jZXNzSGliZXJuYXRlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhU291cmNlcygpKWUudXBkYXRlQWxsVmlld3Moe3R5cGU6ImRhdGEtc291cmNlLWNoYW5nZSIsc291cmNlSWQ6ZS5pZCgpLGNsZWFyRGF0YTohMH0pO3RoaXMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksdGhpcy5saWdodFVwZGF0ZSgpfV9nZXRBdmFpbGFibGVDdXJyZW5jaWVzKCl7cmV0dXJuIHRoaXMuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpPygwLGEuaXNBcnJheSkodGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QpP3RoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0OihudWxsIT09dGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3R8fCh0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzTGlzdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZUN1cnJlbmNpZXMoKSksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llc0xpc3QudGhlbigoZT0+e3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXNMaXN0PWUsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zZXRWYWx1ZShuZXcgTGgoZSkpLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVVbml0cygpe3JldHVybiB0aGlzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpP3RoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0IGluc3RhbmNlb2YgUHJvbWlzZXx8bnVsbD09PXRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0PyhudWxsIT09dGhpcy5fYXZhaWxhYmxlVW5pdHNPYmplY3R8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD0oMCxxZS5yZXNwZWN0QWJvcnQpKHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsdGhpcy5jaGFydEFwaSgpLmF2YWlsYWJsZVVuaXRzKCkpLHRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVVbml0c09iamVjdD1lLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnNldFZhbHVlKG5ldyBBaChlKSksdGhpcy5mdWxsVXBkYXRlKCkpfSkpLmNhdGNoKChlPT57d3UubG9nV2FybihgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyB1bml0cyBjb25maWc6ICR7ZX1gKX0pKSkse30pOnRoaXMuX2F2YWlsYWJsZVVuaXRzT2JqZWN0Ont9fV9nZXRBbGxBdmFpbGFibGVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKT8oMCxhLmlzQXJyYXkpKHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0KT90aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdDoobnVsbCE9PXRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0fHwodGhpcy5fYWxsQXZhaWxhYmxlTWV0cmljc0xpc3Q9KDAscWUucmVzcGVjdEFib3J0KSh0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLHRoaXMuY2hhcnRBcGkoKS5hdmFpbGFibGVNZXRyaWNzKCkpLHRoaXMuX2FsbEF2YWlsYWJsZU1ldHJpY3NMaXN0LnRoZW4oKGU9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hbGxBdmFpbGFibGVNZXRyaWNzTGlzdD1lLHRoaXMuZnVsbFVwZGF0ZSgpKX0pKS5jYXRjaCgoZT0+e3d1LmxvZ1dhcm4oYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdldHRpbmcgY3VycmVuY2llcyBjb25maWc6ICR7ZX1gKX0pKSksW10pOltdfV9nZXRBdmFpbGFibGVQcmljZVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5nZXQoZSk7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdDtpZigoMCxhLmlzUHJvbWlzZSkodCkpcmV0dXJuW107Y29uc3QgaT10aGlzLmNoYXJ0QXBpKCkuYXZhaWxhYmxlUHJpY2VTb3VyY2VzKGUpO3JldHVybiB0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSxpKSxpLnRoZW4oKHQ9Pnt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9hdmFpbGFibGVQcmljZVNvdXJjZXNCeVN5bWJvbC5zZXQoZSx0KSx0aGlzLmZ1bGxVcGRhdGUoKSl9KSkuY2F0Y2goKGU9Pnt3dS5sb2dXYXJuKGBBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIHByaWNlIHNvdXJjZXMgY29uZmlnOiAke2V9YCl9KSksW119X2NsZWFyQXZhaWxhYmxlUHJpY2VTb3VyY2VzKCl7dGhpcy5fYXZhaWxhYmxlUHJpY2VTb3VyY2VzQnlTeW1ib2wuY2xlYXIoKX1fb25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXt0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpfV9nZXRCYWNrZ3JvdW5kQ29sb3IoZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHQuYmFja2dyb3VuZFR5cGUudmFsdWUoKT09PXBpLkNvbG9yVHlwZS5HcmFkaWVudCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxpKXtpZigoMCxrLmdldEN1cnJlbnRUaGVtZSkoKS5uYW1lPT09Sm8uU3RkVGhlbWUuRGFyayYmKDAsWC5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmRHcmFkaWVudFN0YXJ0Q29sb3IiLGUsSm8uU3RkVGhlbWUuRGFyaykmJigwLGsuaXNTdGRUaGVtZWREZWZhdWx0VmFsdWUpKCJjaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IiLHQsSm8uU3RkVGhlbWUuRGFyaykpcmV0dXJuIGNoO3JldHVybiBpP2U6dAp9KHQuYmFja2dyb3VuZEdyYWRpZW50U3RhcnRDb2xvci52YWx1ZSgpLHQuYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3IudmFsdWUoKSxCb29sZWFuKGUpKX1yZXR1cm4gZnVuY3Rpb24oZSl7aWYoKDAsay5nZXRDdXJyZW50VGhlbWUpKCkubmFtZT09PUpvLlN0ZFRoZW1lLkRhcmsmJigwLFguaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmKDAsay5pc1N0ZFRoZW1lZERlZmF1bHRWYWx1ZSkoImNoYXJ0UHJvcGVydGllcy5wYW5lUHJvcGVydGllcy5iYWNrZ3JvdW5kIixlLEpvLlN0ZFRoZW1lLkRhcmspKXJldHVybiBjaDtyZXR1cm4gZX0odC5iYWNrZ3JvdW5kLnZhbHVlKCkpfV9nZXRCYWNrZ3JvdW5kQ291bnRlckNvbG9yKCl7Y29uc3QgZT10aGlzLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCk7cmV0dXJuImJsYWNrIj09PSgwLHlpLnJnYlRvQmxhY2tXaGl0ZVN0cmluZykoKDAseWkucGFyc2VSZ2IpKGUpLDE1MCk/IndoaXRlIjoiYmxhY2sifV91cGRhdGVCYWNrZ3JvdW5kQ29sb3IoKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3Iuc2V0VmFsdWUodGhpcy5fZ2V0QmFja2dyb3VuZENvbG9yKCkpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvci5zZXRWYWx1ZSh0aGlzLl9nZXRCYWNrZ3JvdW5kQ29sb3IoITApKX1fc3luY0Nyb3NzaGFpcihlKXtpZighdGhpcy5faXNTZXR0aW5nc0V4dGVybmFsUG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fdW5kb01vZGVsLm1haW5TZXJpZXMoKSxpPXQuc3luY01vZGVsKCkscz10aGlzLl91bmRvTW9kZWwuY3Jvc3NoYWlyU291cmNlKCksbj1zLnBhbmU7aWYobnVsbCE9PWkmJm51bGwhPT1uKXtjb25zdCByPXt0aW1lU3RhbXA6dGhpcy5fdGltZVNjYWxlLnBvaW50cygpLnJvdWdoVGltZShzLmluZGV4LGkucHJvamVjdFRpbWUuYmluZChpKSksc3luY1NvdXJjZVRhcmdldDppLnN5bmNTb3VyY2VUYXJnZXQoKX07bi5tYWluRGF0YVNvdXJjZSgpPT09dCYmKHIucHJpY2U9cy5wcmljZSxyLnN5bWJvbD10LnN5bWJvbCgpKSx0aGlzLl91bmRvTW9kZWwuc3luY0Nyb3NzaGFpcihyLGUpfXRoaXMuX3BoYW50b21Tb3VyY2VDb250YWluZXIub25DdXJzb3JQb3NpdGlvblVwZGF0ZWQoKX19X2dvdG9UaW1lSW1wbChlLHQpe2NvbnN0IGk9dGhpcy50aW1lU2NhbGUoKSxzPXRoaXMubWFpblNlcmllcygpO2xldCBuO2lmKHZvaWQgMCE9PWUpe2lmKHRoaXMuX3Njcm9sbGluZ1N0YXRlJiZ0aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZC5yZWplY3QoKSxuPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhcy5pc0RXTSgpKXtjb25zdCB0PXMuc3ltYm9sSW5mbygpO2lmKG51bGwhPT10KXtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lem9uZUV4Y2VwdEV4Y2hhbmdlKCkudmFsdWUoKSksbj0oMCxvLmNhbF90b191dGMpKCgwLG8uZ2V0X3RpbWV6b25lKShpKSxuZXcgRGF0ZShlKSkscj0oMCxVaC5jcmVhdGVUaW1lVG9CYXJUaW1lQWxpZ25lcikocy5pbnRlcnZhbCgpLHQpKG4pO2U9KDAsby51dGNfdG9fY2FsKSgoMCxvLmdldF90aW1lem9uZSkoaSkscikuZ2V0VGltZSgpfX10aGlzLl9zY3JvbGxpbmdTdGF0ZT17dGFyZ2V0RGF0ZTplLGRlZmVycmVkOm4sdGFyZ2V0UG9pbnRBbGlnbm1lbnQ6dC50YXJnZXRQb2ludEFsaWdubWVudCxhdXRvc2NhbGVBZnRlclNjcm9sbDp0LmF1dG9zY2FsZUFmdGVyU2Nyb2xsfX1lbHNle2lmKCF0aGlzLl9zY3JvbGxpbmdTdGF0ZSlyZXR1cm4gd3UubG9nRXJyb3IoInNjcm9sbFRvIGNhbGxlZCB3aXRob3V0IGFuIGFyZ3VtZW50IiksUHJvbWlzZS5yZWplY3QoKTtlPXRoaXMuX3Njcm9sbGluZ1N0YXRlLnRhcmdldERhdGUsbj10aGlzLl9zY3JvbGxpbmdTdGF0ZS5kZWZlcnJlZH1pZih2b2lkIDA9PT1pLnRpY2tNYXJrcygpLm1pbkluZGV4KXJldHVybiBuLnJlc29sdmUodm9pZCAwKSxuLnByb21pc2U7dGhpcy5zdG9wVGltZVNjYWxlQW5pbWF0aW9uKCk7bGV0IHI9KChlLG4pPT57aWYoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkoaS50aWNrTWFya3MoKS5pbmRleFRvVGltZSgoMCxsLmVuc3VyZURlZmluZWQpKGkudGlja01hcmtzKCkubWluSW5kZXgpKSkudmFsdWVPZigpLWUpKG4pPDApe2xldCByPWkudGlja01hcmtzKCkubmVhcmVzdEluZGV4KG4pO2NvbnN0IG89cy5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW8pcmV0dXJuIm5vX2RhdGEiO3I9TWF0aC5taW4ocixvKTtsZXQgYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtmb3IoO2E8biYmcjxvOylyKyssYT0oMCxsLmVuc3VyZU5vdE51bGwpKGkudGlja01hcmtzKCkuaW5kZXhUb1RpbWUocikpLnZhbHVlT2YoKTtpZigoMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKS5jb250YWlucyhyKSYmIXQuYWxpZ25JZlRhcmdldFBvaW50SXNWaXNpYmxlKXJldHVybiJpbl92aXNpYmxlX3JhbmdlIjtpZigibm9uZSIhPT1lKXtjb25zdCB0PWkud2lkdGgoKTtpZigibGVmdCI9PT1lKWkuc2Nyb2xsVG9CYXIocik7ZWxzZXtjb25zdCBlPWkuaW5kZXhUb0Nvb3JkaW5hdGUocikscz1pLmNvb3JkaW5hdGVUb0Zsb2F0SW5kZXgoZS10LzIpO2kuc2Nyb2xsVG9CYXIocyl9fXJldHVybnt0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQocikpfX1yZXR1cm4ibm9fZGF0YSJ9KSh0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXRQb2ludEFsaWdubWVudCx0aGlzLl9zY3JvbGxpbmdTdGF0ZS50YXJnZXREYXRlKTtpZigibm9fZGF0YSI9PT1yKXtjb25zdCB0PSgwLGwuZW5zdXJlRGVmaW5lZCkoaS50aWNrTWFya3MoKS5taW5JbmRleCksbj0oMCxsLmVuc3VyZU5vdE51bGwpKGkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSxvPW4ubGFzdEJhcigpLW4uZmlyc3RCYXIoKTtpZihzLnJlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSgpKXtjb25zdCB0PWkudGlja01hcmtzKCkuZXN0aW1hdGVMZWZ0KGUpO2kucmVxdWVzdE1vcmVIaXN0b3J5UG9pbnRzKE1hdGguY2VpbCh0K28vMikpfWVsc2UgaS56b29tVG9CYXJzUmFuZ2UodC1vLzIsdCtvLzIpLHI9ewp0aW1lc3RhbXA6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmluZGV4VG9UaW1lUG9pbnQodCkpLGVvZDohMH19aWYoIm5vX2RhdGEiIT09ciYmImluX3Zpc2libGVfcmFuZ2UiIT09cil7aWYodGhpcy5fc2Nyb2xsaW5nU3RhdGUuYXV0b3NjYWxlQWZ0ZXJTY3JvbGwpe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKShpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksdD0oMCxsLmVuc3VyZU5vdE51bGwpKGkubG9naWNhbFJhbmdlKCkpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZXMoKSl7Zm9yKGNvbnN0IHMgb2YgaS5sZWZ0UHJpY2VTY2FsZXMoKSlzLnJlY2FsY3VsYXRlUHJpY2VSYW5nZShlLHQpO2Zvcihjb25zdCBzIG9mIGkucmlnaHRQcmljZVNjYWxlcygpKXMucmVjYWxjdWxhdGVQcmljZVJhbmdlKGUsdCl9fXRoaXMuZnVsbFVwZGF0ZSgpLHRoaXMuX3Njcm9sbGluZ1N0YXRlPW51bGwsbi5yZXNvbHZlKHIpfXJldHVybiJpbl92aXNpYmxlX3JhbmdlIj09PXImJihuLnJlamVjdCgiYWxyZWFkeSB2aXNpYmxlIiksdGhpcy5fc2Nyb2xsaW5nU3RhdGU9bnVsbCksbi5wcm9taXNlfV9zZXRDb3JyZWN0ZWRQb3NpdGlvblRvQ3Jvc3NoYWlyKGUsdCxpKXt0aGlzLmNyb3NzaGFpclNvdXJjZSgpLnNldFBvc2l0aW9uKGUsdCxpKX1fc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKGUpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uLmFsbEl0ZW1zKCk7aWYoMT09PXQubGVuZ3RoKXtjb25zdFtpXT10O2lmKCEoMCxYci5pc0xpbmVUb29sc0dyb3VwKShpKSYmISgwLEFpLmlzRGF0YVNvdXJjZSkoaSkmJmkuc2VsZWN0aW9uT3BlcmF0aW9uQXZhaWxhYmxlKXJldHVybiBpLnNlbGVjdGlvbk9wZXJhdGlvbkF2YWlsYWJsZShlKX1yZXR1cm4hMH1fb25TeW1ib2xTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9jbGVhckF2YWlsYWJsZVByaWNlU291cmNlcygpLHRoaXMuX3JlY2FsY0FkanVzdEZvckRpdmlkZW5kc0F2YWlsYWJpbGl0eSgpLHRoaXMuX3JlY2FsY0FsbG93ZWRBZGp1c3RtZW50KCksdGhpcy5fc3ltYm9sU291cmNlQ29sbGVjdGlvbkNoYW5nZWQuZmlyZShlKX1fb25QcmljZVNvdXJjZXNDb2xsZWN0aW9uQ2hhbmdlZChlKXt0aGlzLl9wYW5lcy5zb21lKChlPT5lLmhhc0RhdGFTb3VyY2UodGhpcy5fbWFpblNlcmllcykpKSYmKHRoaXMuX3N0dWRpZXNXVi5zZXRWYWx1ZSh0aGlzLmFsbFN0dWRpZXMoKSksdGhpcy5fc3R1ZGllc0V4Y2x1ZGVJbnRlcm5hbFdWLnNldFZhbHVlKHRoaXMuYWxsU3R1ZGllcyghMCkpKX1fdW5tZXJnZUF2YWlsYWJsZShlKXtyZXR1cm4gZT09PXRoaXMuX21haW5TZXJpZXN8fCgwLHRpLmlzU3R1ZHkpKGUpJiYhZS5pc0xpbmtlZFRvU2VyaWVzKCkmJmUuc2hvd0luT2JqZWN0VHJlZSgpfV9nZXRFeGNlZWRpbmdDaGlsZFN0dWRpZXMoZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDsrK2kpdD10LmNvbmNhdChlW2ldLnNvdXJjZXN8fFtdKTtsZXQgaT0wLHM9MTtzPSgwLENlLmdldENvbmZpZykoIlNUVURZX09OX1NUVURZIik/LmNoaWxkX2xpbWl0Pz8xO2NvbnN0IG49W10scj17fTtsZXQgbz0wLGE9MWU2O2Zvcig7dC5sZW5ndGgmJi0tYTspe2NvbnN0IGU9dFtvXTsoZS5vd25lclNvdXJjZSYmcltlLm93bmVyU291cmNlXXx8IWUub3duZXJTb3VyY2UpJiYocltlLmlkXT1lLHQuc3BsaWNlKHQuaW5kZXhPZihlKSwxKSxlLm93bmVyU291cmNlJiYoMCxQLmlzU3R1ZHlTdGF0ZSkoZSkmJmUuc3RhdGUmJmUuc3RhdGUuaXNDaGlsZFN0dWR5JiYrK2k+cyYmbi5wdXNoKGUpKSxvPShvKzEpJXQubGVuZ3RofXJldHVybiBufV9zZW5kVG8oZSx0KXtjb25zdCBpPW5ldyBNYXA7ZS5mb3JFYWNoKChlPT57Y29uc3QgdD10aGlzLnBhbmVGb3JTb3VyY2UoZSk7aWYoIXQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fcGFuZXMuaW5kZXhPZih0KTtpLmhhcyhzKXx8aS5zZXQocyxbXSksaS5nZXQocyk/LnB1c2goZSl9KSk7Zm9yKGNvbnN0W2Usc11vZiBpLmVudHJpZXMoKSl0KHRoaXMuX3BhbmVzW2VdLHMpO3RoaXMuZnVsbFVwZGF0ZSgpfV9pbml0aWFsaXNlSW5hY3Rpdml0eUdhcHMoKXtpZighKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaW5hY3Rpdml0eV9nYXBzIikpcmV0dXJuO3RoaXMuY3JlYXRlSW5hY3Rpdml0eUdhcHMoKTtjb25zdCBlPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuY3VzdG9tU291cmNlRm9yTmFtZSgiaW5hY3Rpdml0eUdhcHMiKTtlP3Quc3RhcnQoKTp0LnN0b3AoKX07aWYobnVsbD09PXRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmluYWN0aXZpdHlHYXBzO3RoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlPWNvbnZlcnRQcm9wZXJ0eVRvV2F0Y2hlZFZhbHVlKHQpLHRoaXMuX2luYWN0aXZpdHlHYXBzV2F0Y2hlZFZhbHVlLnN1YnNjcmliZSgodD0+e2UodCl9KSksZSh0LnZhbHVlKCkpfX1fZ2V0V2lkZ2V0UGFuZShlLHQpe2NvbnN0IGk9dGhpcy5fcGFuZXMuZmluZCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpO2lmKGkpcmV0dXJuIGk7Y29uc3Qgcz0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMucGFuZUZvclNvdXJjZSh0aGlzLl9tYWluU2VyaWVzKSksbj10aGlzLl9wYW5lcy5pbmRleE9mKHMpO2xldCByPTAsbz0wO3RoaXMuX3BhbmVzLmZvckVhY2goKGU9PntlLmNvbGxhcHNlZCgpLnZhbHVlKCl8fChyKz1lLmhlaWdodCgpLG8rPWUuc3RyZXRjaEZhY3RvcigpKX0pKTtjb25zdCBhPXRoaXMuY3JlYXRlUGFuZShlP24rMTpuLHZvaWQgMCx2b2lkIDAsTS5QYW5lTW9kZS5XaWRnZXQpO2lmKHI+dCl7Y29uc3QgZT10Km8vKHItdCk7YS5zZXRTdHJldGNoRmFjdG9yKGUpfXJldHVybiBhfX12YXIgUnU9aSg1NTY2NTEpLFZ1PWkoNzc1MjUzKSxCdT1pKDU5MTE5OCk7dmFyIE51PWkoODI1NjIxKSxPdT1pKDY4NTU1NSksV3U9aSg2NTU1ODQpO2NsYXNzIEZ1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihzKSx0aGlzLl9uZXdTb3VyY2VzTWV0cmljcz1uZXcgTWFwLAp0aGlzLl9vbGRTb3VyY2VzTWV0cmljcz1uZXcgTWFwLHRoaXMuX3Nob3dGYWRlPSExLHRoaXMuX2NoYXJ0TW9kZWw9ZTtjb25zdCBuPWUubWFpblNlcmllcygpO2Zvcihjb25zdCBlIG9mIHQuc2VyaWVzTGlrZVNvdXJjZXMoKSl7aWYoIWUuaXNWaXNpYmxlKCkpY29udGludWU7Y29uc3QgdD1pfHwoMCxBLnN5bWJvbE9yaWdpbmFsTWV0cmljKSgoMCxsLmVuc3VyZU5vdE51bGwpKGUuc3ltYm9sSW5mbygpKSx0aGlzLl9jaGFydE1vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX25ld1NvdXJjZXNNZXRyaWNzLnNldChlLmlkKCksdCksdGhpcy5fb2xkU291cmNlc01ldHJpY3Muc2V0KGUuaWQoKSxlLm1ldHJpYygpKSx0aGlzLl9zaG93RmFkZT10aGlzLl9zaG93RmFkZXx8ZT09PW4mJmUubWV0cmljKCkhPT10fX1yZWRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX25ld1NvdXJjZXNNZXRyaWNzKX11bmRvKCl7dGhpcy5fYXBwbHlNZXRyaWNzKHRoaXMuX29sZFNvdXJjZXNNZXRyaWNzKX1fYXBwbHlNZXRyaWNzKGUpe2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKS5zZXRNZXRyaWMoZSl9KSksdGhpcy5fY2hhcnRNb2RlbC5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9zaG93RmFkZSYmdGhpcy5fY2hhcnRNb2RlbC51bmRvTW9kZWwoKS5sb2FkaW5nU2NyZWVuKCkuc2hvdyghMCl9fWNvbnN0IEh1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInpvb20iLHAudChudWxsLHZvaWQgMCxpKDI3ODU2NSkpKTtjbGFzcyB6dSBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkscyxuLHIpe3N1cGVyKEh1KSx0aGlzLl9iYXJTcGFjaW5nPW51bGwsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PW51bGwsdGhpcy5fbGVmdEJhcnNPZmZzZXQ9bnVsbCx0aGlzLl9wcmljZU1vZGU9bnVsbCx0aGlzLl9tb2RlbD1lLHRoaXMuX3N0YXJ0QmFyPXQsdGhpcy5fZW5kQmFyPWksdGhpcy5fc3RhcnRQcmljZT1zLHRoaXMuX2VuZFByaWNlPW4sdGhpcy5fcGFuZT1yfXJlZG8oKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKTt0aGlzLl9sZWZ0QmFyc09mZnNldD1lLmZpcnN0QmFyKCktdGhpcy5fc3RhcnRCYXIsdGhpcy5fcmlnaHRCYXJzT2Zmc2V0PWUubGFzdEJhcigpLXRoaXMuX2VuZEJhcix0aGlzLl9iYXJTcGFjaW5nPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSx0aGlzLl9wcmljZU1vZGU9dGhpcy5fcGFuZS5kZWZhdWx0UHJpY2VTY2FsZSgpLm1vZGUoKSx0aGlzLl9tb2RlbC56b29tVG9WaWV3cG9ydCh0aGlzLl9zdGFydEJhcix0aGlzLl9lbmRCYXIsdGhpcy5fc3RhcnRQcmljZSx0aGlzLl9lbmRQcmljZSx0aGlzLl9wYW5lKX11bmRvKCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSx0PXRoaXMuX3BhbmUuZGVmYXVsdFByaWNlU2NhbGUoKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkoZS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCkpO2Uuc2V0QmFyU3BhY2luZygoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JhclNwYWNpbmcpKSxlLnpvb21Ub0JhcnNSYW5nZShpLmZpcnN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9sZWZ0QmFyc09mZnNldCksaS5sYXN0QmFyKCkrKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yaWdodEJhcnNPZmZzZXQpKSx0LnNldE1vZGUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZU1vZGUpKSx0LnJlY2FsY3VsYXRlUHJpY2VSYW5nZSgoMCxsLmVuc3VyZU5vdE51bGwpKGUudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpKSwoMCxsLmVuc3VyZU5vdE51bGwpKGUubG9naWNhbFJhbmdlKCkpKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9fWNvbnN0IFV1PSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxHdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ6b29tIixwLnQobnVsbCx2b2lkIDAsaSgyNzg1NjUpKSk7Y2xhc3MganUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihHdSksdGhpcy5fYmFzZUNtZD1lLHRoaXMuX3pvb21TdGFjaz10LHRoaXMuX2luT3V0PWl9dW5kbyhlKXtpZih0aGlzLl9pbk91dCl7aWYodGhpcy5fYmFzZUNtZCE9PXRoaXMuX3pvb21TdGFjay5oZWFkKCkpcmV0dXJuIHZvaWQgVXUubG9nRGVidWcoInpvb20gc3RhY2sgaW5jb25zaXN0ZW5jeSIpO3RoaXMuX2Jhc2VDbWQudW5kbyhlKSx0aGlzLl96b29tU3RhY2sucG9wKCl9ZWxzZSB0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCl9cmVkbyhlKXtpZih0aGlzLl9pbk91dCl0aGlzLl9iYXNlQ21kLnJlZG8oZSksdGhpcy5fem9vbVN0YWNrLnB1c2godGhpcy5fYmFzZUNtZCk7ZWxzZXtpZih0aGlzLl9iYXNlQ21kIT09dGhpcy5fem9vbVN0YWNrLmhlYWQoKSlyZXR1cm4gdm9pZCBVdS5sb2dEZWJ1Zygiem9vbSBzdGFjayBpbmNvbnNpc3RlbmN5Iik7dGhpcy5fYmFzZUNtZC51bmRvKGUpLHRoaXMuX3pvb21TdGFjay5wb3AoKX19fWNvbnN0IHF1PW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBkcmF3aW5nIixwLnQobnVsbCx2b2lkIDAsaSg0ODg4ODEpKSk7Y2xhc3MgJHUgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIocXUsdm9pZCAwLCFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKSx0aGlzLl9tb2RlbD1lLHRoaXMuX3NvdXJjZUlkPXQuaWQoKSx0aGlzLl9saW5rS2V5PXQubGlua0tleSgpLnZhbHVlKCl9cmVkbygpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKHRoaXMuX3NvdXJjZUlkKSkubGlua0tleSgpLnNldFZhbHVlKG51bGwpfXVuZG8oKXsoMCwKbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc291cmNlSWQpKS5saW5rS2V5KCkuc2V0VmFsdWUodGhpcy5fbGlua0tleSl9fXZhciBZdT1pKDMxNjY1NSk7Y29uc3QgS3U9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzdG9yZSBkZWZhdWx0cyIscC50KG51bGwsdm9pZCAwLGkoMTI5NTEwKSkpO2NsYXNzIFh1IGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaT1LdSxzPSEwKXtzdXBlcihpLHZvaWQgMCxzKSx0aGlzLl9jaGFydE1vZGVsPWU7Y29uc3Qgbj10LnBhdGhUb1Jvb3QoKTt0aGlzLl90YXJnZXRPYmo9KDAsWXUuaXNSb290UGF0aCkobik/bjp0LHRoaXMuX3N0YXRlPXQuc3RhdGUoKX1yZWRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVGYWN0b3J5RGVmYXVsdHModGhpcy5fZ2V0UHJvcGVydHkoZSkpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX11bmRvKHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX0peygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlKS5tZXJnZUFuZEZpcmUodGhpcy5fc3RhdGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9jaGFydE1vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCl9X2dldFByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fdGFyZ2V0T2JqO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8oMCxZdS5wcm9wZXJ0eUJ5UGF0aCkoZSx0KTp0fX1jbGFzcyBadSBleHRlbmRzIFh1e2NvbnN0cnVjdG9yKGUsdCxpLHMpe3N1cGVyKGUsdCxpLHM/PyFRbi5saW5lVG9vbHNEb05vdEFmZmVjdENoYXJ0SW52YWxpZGF0aW9uKX1yZWRvKGUpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9nZXRQcm9wZXJ0eShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuY2hpbGQoImludGVydmFsc1Zpc2liaWxpdGllcyIpPy5tZXJnZUFuZEZpcmUoaHUuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzRGVmYXVsdHMpLHN1cGVyLnJlZG8oZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jb25zdCBKdT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZXN0b3JlIHN0dWR5IGRlZmF1bHRzIixwLnQobnVsbCx2b2lkIDAsaSg2NjI5MDMpKSk7Y2xhc3MgUXUgZXh0ZW5kcyBadXtjb25zdHJ1Y3RvcihlLHQsaT1KdSl7c3VwZXIoZSx0LnByb3BlcnRpZXMoKSxpLCEwKSx0aGlzLl9zdHVkeUlkPXQuaWQoKX1yZWRvKGUpe3N1cGVyLnJlZG8oZSksdGhpcy5fY2hhcnRNb2RlbC5yZWNhbGNDb2xvclN0dWRpZXMoITApLHRoaXMuX3BhdGNoUHJvcGVydGllcygpfXVuZG8oZSl7c3VwZXIudW5kbyhlKSx0aGlzLl9jaGFydE1vZGVsLnJlY2FsY0NvbG9yU3R1ZGllcyghMCksdGhpcy5fcGF0Y2hQcm9wZXJ0aWVzKCl9X3BhdGNoUHJvcGVydGllcygpe3tjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwuZ2V0U3R1ZHlCeUlkKHRoaXMuX3N0dWR5SWQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiU3R1ZHkgaXMgbm90IGRlZmluZWQiKTtlLnBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpfX19ZnVuY3Rpb24gZXAoZSx0KXtyZXR1cm4oMCxHci5leHRyYWN0U3RhdGUpKGUsdC5tYXAoKGU9PmUucGF0aCkpKX1jb25zdCB0cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBjaGFydCB0aGVtZSIscC50KG51bGwsdm9pZCAwLGkoNjQ3NjU2KSkpO2NsYXNzIGlwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodHApLHRoaXMuX21vZGVsPWUsdC5zZXNzaW9ucyYmKHRoaXMuX25ld1Nlc3Npb25Qcm9wcz1pP3Quc2Vzc2lvbnM6ZXAodC5zZXNzaW9ucywoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuc2Vzc2lvbnMseHQuZGFya1RoZW1lLmNvbnRlbnQuc2Vzc2lvbnMpKSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5jYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5ob2xsb3dDYW5kbGVTdHlsZSksdGModC5tYWluU291cmNlUHJvcGVydGllcy5oYVN0eWxlKTtjb25zdCBzPXQ7cy5jaGFydFByb3BlcnRpZXM9cy5jaGFydFByb3BlcnRpZXM/P3twYW5lUHJvcGVydGllczp7fSxzY2FsZXNQcm9wZXJ0aWVzOnZvaWQgMH0sWGgocy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXMpO2NvbnN0IG49dGhpcy5fbW9kZWwucHJvcGVydGllcygpLnN0YXRlKCkucGFuZVByb3BlcnRpZXMubGVnZW5kUHJvcGVydGllcztkZWxldGUgbi5iYWNrZ3JvdW5kVHJhbnNwYXJlbmN5O2NvbnN0IHI9cy5jaGFydFByb3BlcnRpZXMucGFuZVByb3BlcnRpZXM7aSYmKHIubGVnZW5kUHJvcGVydGllcz17Li4uci5sZWdlbmRQcm9wZXJ0aWVzLC4uLm59KTtjb25zdCBvPSgwLFdvLmRlZmF1bHQpKCgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcyIpKTtpZihkZWxldGUgby50aW1lem9uZSxpKXtjb25zdCBlPW8ucGFuZVByb3BlcnRpZXM7ZSYmKGRlbGV0ZSBlLnRvcE1hcmdpbixkZWxldGUgZS5ib3R0b21NYXJnaW4pfWNvbnN0IGE9KDAseGkuZGVlcEV4dGVuZCkoe30sbyx0LmNoYXJ0UHJvcGVydGllcyk7dGhpcy5fbmV3Q2hhcnRQcm9wcz1pP2E6ZXAoYSwoMCxHci5leHRyYWN0VGhlbWVkQ29sb3JzKSh4dC5saWdodFRoZW1lLmNvbnRlbnQuY2hhcnRQcm9wZXJ0aWVzLHh0LmRhcmtUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcykpLGUudGltZVNjYWxlKCkucHJlc2VydmVCYXJTcGFjaW5nKCkmJiJiYXJTcGFjaW5nImluIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcyYmZGVsZXRlIHRoaXMuX25ld0NoYXJ0UHJvcHMuc2NhbGVzUHJvcGVydGllcy5iYXJTcGFjaW5nLGljKHQubWFpblNvdXJjZVByb3BlcnRpZXMubGluZVN0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLmxpbmVXaXRoTWFya2Vyc1N0eWxlKSxpYyh0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzLnN0ZXBsaW5lU3R5bGUpCjtjb25zdCBsPSgwLCRsLmZhY3RvcnlEZWZhdWx0cykoImNoYXJ0cHJvcGVydGllcy5tYWluU2VyaWVzUHJvcGVydGllcyIpLGM9KDAseGkuZGVlcEV4dGVuZCkoe30sbCx0Lm1haW5Tb3VyY2VQcm9wZXJ0aWVzKTtpJiYoZGVsZXRlIGMudmlzaWJsZSxkZWxldGUgYy5zeW1ib2wsZGVsZXRlIGMuc2hvcnROYW1lLGRlbGV0ZSBjLnRpbWVmcmFtZSxkZWxldGUgYy5pbnRlcnZhbCxkZWxldGUgYy5jdXJyZW5jeUlkLGRlbGV0ZSBjLnVuaXRJZCxkZWxldGUgYy5zZXNzaW9uSWQsZGVsZXRlIGMuZXNkQnJlYWtzU3R5bGUpLHRoaXMuX25ld1Nlcmllc1Byb3BzPWk/YzplcChjLCgwLEdyLmV4dHJhY3RUaGVtZWRDb2xvcnMpKHh0LmxpZ2h0VGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5tYWluU291cmNlUHJvcGVydGllcykpLHRoaXMuX29sZENoYXJ0UHJvcHM9aT9lLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUucHJvcGVydGllcygpLnRoZW1lU3RhdGUoKSx0aGlzLl9vbGRTZXJpZXNQcm9wcz1pP2UubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5zdGF0ZSgpOmUubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCksdGhpcy5fb2xkU2Vzc2lvblByb3BzPWk/dGhpcy5fbW9kZWwuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCkuc3RhdGUoKTp0aGlzLl9tb2RlbC5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS50aGVtZVN0YXRlKCl9dW5kbygpe3RoaXMuX21lcmdlKHRoaXMuX29sZENoYXJ0UHJvcHMsdGhpcy5fb2xkU2VyaWVzUHJvcHMsdGhpcy5fb2xkU2Vzc2lvblByb3BzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkub25DaGFydFN0eWxlQ2hhbmdlZCgpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLHRoaXMuX21vZGVsLmNoYXJ0VGhlbWVMb2FkZWQoKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3Q2hhcnRQcm9wcyx0aGlzLl9uZXdTZXJpZXNQcm9wcyx0aGlzLl9uZXdTZXNzaW9uUHJvcHMpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5fbW9kZWwudXBkYXRlU2NhbGVzKCksdGhpcy5fbW9kZWwuY2hhcnRUaGVtZUxvYWRlZCgpfV9tZXJnZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbDsoMCxHci5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCk7Y29uc3Qgbj1zLnByb3BlcnRpZXMoKSxyPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKSxvPXMuc2Vzc2lvbnMoKS5wcm9wZXJ0aWVzKCk7bi5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLG4ubWVyZ2VBbmRGaXJlKGUpLG4uc2F2ZURlZmF1bHRzKCksInByaWNlQXhpc1Byb3BlcnRpZXMiaW4gdCYmcy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpLnNldE1vZGUoe2F1dG9TY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXM/LmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ucGVyY2VudGFnZSxsb2c6dC5wcmljZUF4aXNQcm9wZXJ0aWVzPy5sb2csbG9ja1NjYWxlOnQucHJpY2VBeGlzUHJvcGVydGllcz8ubG9ja1NjYWxlfSksci5hcHBseURlZmF1bHRUaGVtZWRQcm9wZXJ0aWVzKEQud2F0Y2hlZFRoZW1lLnZhbHVlKCkpLHIubG9hZFRoZW1lU3RhdGUodCksci5zYXZlRGVmYXVsdHMoKSxzLm1haW5TZXJpZXMoKS5jcmVhdGVQYW5lVmlldygpLHMubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSgpLHMucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi5nbG9iYWxDaGFuZ2VFdmVudCkoKSksaSYmKG8uYXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhELndhdGNoZWRUaGVtZS52YWx1ZSgpKSxvLmxvYWRUaGVtZVN0YXRlKGkpLG8uc2F2ZURlZmF1bHRzKCkpLHMuZnVsbFVwZGF0ZSgpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKX19Y29uc3Qgc3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHJlc29sdXRpb24iLHAudChudWxsLHZvaWQgMCxpKDc0MzM0MSkpKTtjbGFzcyBucCBleHRlbmRzIEJve2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihzcCxlLGZ1bmN0aW9uKGUsdCl7bGV0IGk7Y29uc3Qgcz0oMCxBLmlzUmFuZ2VTdHlsZSkoZS5zdHlsZSgpKSxuPXguSW50ZXJ2YWwuaXNSYW5nZSh0KTtyZXR1cm4hcyYmbj9pPTExOnMmJiFuJiYoaT0oMCxBLmdldExhc3RVc2VkU3R5bGUpKCkpLHtpbnRlcnZhbDp0LHN0eWxlOml9fShlLHQpLGkpLHRoaXMuX3Jlc29sdXRpb249dH1jYW5NZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG5wJiZlLl9yZXNvbHV0aW9uPT09dGhpcy5fcmVzb2x1dGlvbiYmc3VwZXIuY2FuTWVyZ2UoZSl9X3Nob3dGYWRlKGUsdCl7cmV0dXJuITB9fWNsYXNzIHJwIGV4dGVuZHMgTntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZmlyc3RSZWRvPSEwfXJlZG8oKXt0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITApLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITApLHN1cGVyLnJlZG8oKSx0aGlzLl9maXJzdFJlZG98fCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpLHRoaXMuX2ZpcnN0UmVkbz0hMX11bmRvKCl7KDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9uZXdWYWx1ZSwhMCksKDAsWi5tdXRlTGlua2luZ0dyb3VwKSh0aGlzLl9vbGRWYWx1ZSwhMCksc3VwZXIudW5kbygpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fbmV3VmFsdWUsITEpLCgwLFoubXV0ZUxpbmtpbmdHcm91cCkodGhpcy5fb2xkVmFsdWUsITEpfX12YXIgb3A9aSg1MjkxNjUpO2NsYXNzIGFwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSksdGhpcy5fY2hhcnRNb2RlbD1lLHRoaXMuX3N0dWJEZXNjcmlwdG9yPSgwLGwuZW5zdXJlTm90TnVsbCkodC5nZXREZXNjcmlwdG9yKCkpfXJlZG8oKXsKdGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodGhpcy5fc3R1YkRlc2NyaXB0b3IuaWQpfHx0aGlzLl9jaGFydE1vZGVsLnJlc3RvcmVTdHVkeVN0dWIodGhpcy5fc3R1YkRlc2NyaXB0b3IpfXVuZG8oKXt0aGlzLl9jaGFydE1vZGVsLnJlbW92ZVN0dWR5U3R1Yih0aGlzLl9zdHViRGVzY3JpcHRvci5pZCl9fWNsYXNzIGxwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoaSx2b2lkIDAsIVFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pLHRoaXMuX3NvdXJjZT1lLHRoaXMuX25ld1N0YXRlPXQsdGhpcy5fb2xkU3RhdGU9ZS5wcm9wZXJ0aWVzKCkuc3RhdGUoKX1yZWRvKCl7dGhpcy5fc291cmNlLmFwcGx5VGVtcGxhdGUodGhpcy5fbmV3U3RhdGUpfXVuZG8oKXt0aGlzLl9zb3VyY2UuYXBwbHlUZW1wbGF0ZSh0aGlzLl9vbGRTdGF0ZSl9fXZhciBjcD1pKDIxNDc3MSksaHA9aSg5MjMxNzYpLGRwPWkoMjU1MDM2KSx1cD1pKDcxNDM1KSxwcD1pKDc2NzcwNCksX3A9aSgyNTk5OTgpO2NvbnN0IG1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSk7Y2xhc3MgZ3AgZXh0ZW5kcyBFLlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIobXApLHRoaXMuX3ByZWZzPW51bGwsdGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD1udWxsLHRoaXMuX29sZFNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucz1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT1udWxsLHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkPW51bGwsdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD1udWxsLHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcz1udWxsLHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzPW51bGwsdGhpcy5fbW9kZWw9ZSx0aGlzLl9wcmVmcz10LnZhbHVlKCk/LmdldFByZWZzKCk/P251bGwsbnVsbCE9PXRoaXMuX3ByZWZzJiYodGhpcy5fb2xkTm9Db25maXJtRW5hYmxlZD10aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnZhbHVlKCksdGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zPXRoaXMuX3ByZWZzLnNob3dPbmx5UmVqZWN0aW9uTm90aWZpY2F0aW9ucy52YWx1ZSgpLHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZT10aGlzLl9wcmVmcy5zaG93UHJpY2VzV2l0aC56ZXJvVm9sdW1lLnZhbHVlKCksdGhpcy5fb2xkU2hvd1ByaWNlc1dpdGhTcHJlYWQ9dGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguc3ByZWFkLnZhbHVlKCksdGhpcy5fb2xkT3JkZXJFeGVjdXRlZFNvdW5kRW5hYmxlZD10aGlzLl9wcmVmcy5vcmRlckV4ZWN1dGVkU291bmRQYXJhbXMuZW5hYmxlZC52YWx1ZSgpKSx0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzPSgwLGN1LmRlZmF1bHRzUHJlZmVyZW5jZXNCeVdoaXRlTGlzdCkodGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSx0aGlzLl9vbGRQcmVmZXJlbmNlcz1lLnByZWZlcmVuY2VzKCksdGhpcy5fcHJldkRhdGVGb3JtYXQ9aWguZGF0ZUZvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXM9KDAsX3AuZ2V0TGFiZWxzU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX3ByZXZBbGVydE5vdGlmaWNhdGlvbnNQcmVmZXJlbmNlcz0oMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5zdGF0ZSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCh0aGlzLl9wcmV2V2l0aFdlZWtkYXk9bGgud2l0aFdlZWtkYXlQcm9wZXJ0eS52YWx1ZSgpKSx0aGlzLl9wcmV2VGltZUhvdXJzRm9ybWF0PVRjLnRpbWVIb3Vyc0Zvcm1hdFByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldkFkZFBsdXNCdXR0b249ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksdGhpcy5fcHJldlNob3dPcGVuTWFya2VyU3RhdHVzPWNwLnNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkudmFsdWUoKSx0aGlzLl9wcmV2Q3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eT0oMCxycy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSx0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5PSgwLG9zLmF1dG9Mb2dCdXR0b25zVmlzaWJpbGl0eVByb3BlcnR5KSgpLnZhbHVlKCksdGhpcy5fcHJldk5hdmlnYXRpb25CdXR0b25zVmlzaWJpbGl0eT0oMCxocC5wcm9wZXJ0eSkoKS52YWx1ZSgpLHRoaXMuX3ByZXZQYW5lQnV0dG9uc1Zpc2liaWxpdHk9KDAsZHAucHJvcGVydHkpKCkudmFsdWUoKTtjb25zdCBpPXRoaXMuX21vZGVsLndhdGVybWFya1NvdXJjZSgpO251bGwhPT1pJiYodGhpcy5fcHJldldhdGVybWFya1ByZWZlcmVuY2VzPWkucHJvcGVydGllcygpLnN0YXRlKCkpfXJlZG8oKXtudWxsIT09dGhpcy5fcHJlZnMmJih0aGlzLl9wcmVmcy5ub0NvbmZpcm1FbmFibGVkLnNldFZhbHVlKCExKSx0aGlzLl9wcmVmcy5zaG93T25seVJlamVjdGlvbk5vdGlmaWNhdGlvbnMuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnplcm9Wb2x1bWUuc2V0VmFsdWUoITApLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSghMCksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoITEpLHRoaXMuX3ByZWZzLm9yZGVyRXhlY3V0ZWRTb3VuZFBhcmFtcy52b2x1bWUuc2V0VmFsdWUoLjUpKSwiQXV0byI9PT10aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXM/LnRwb1N0eWxlPy5pbnB1dHM/LnJvd1NpemUmJmRlbGV0ZSB0aGlzLl9kZWZhdWx0c1ByZWZlcmVuY2VzLm1haW5TZXJpZXMudHBvU3R5bGUuaW5wdXRzLnRpY2tzUGVyUm93LHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fZGVmYXVsdHNQcmVmZXJlbmNlcyksCnRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLCgwLGloLnJlc3RvcmVEYXRlRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxUYy5yZXN0b3JlVGltZUhvdXJzRm9ybWF0U2V0dGluZ3NWYWx1ZSkoKSwoMCxkZC5yZXN0b3JlQWRkUGx1c0J1dHRvblNldHRpbmdzVmFsdWUpKCksKDAsY3AucmVzdG9yZVNob3dNYXJrZXRPcGVuU3RhdHVzUHJvcGVydHkpKCksKDAscnMucmVzdG9yZUN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLG9zLnJlc3RvcmVBdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGhwLnJlc3RvcmVOYXZpZ2F0aW9uQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGRwLnJlc3RvcmVQYW5lQnV0dG9uc1Zpc2liaWxpdHlTZXR0aW5nc1ZhbHVlKSgpLCgwLGxoLnJlc3RvcmVXaXRoV2Vla2RheVNldHRpbmdzVmFsdWUpKCksKDAscHAucmVzdG9yZVNob3dPblNjcmVlbnNob3RTZXR0aW5nc1ZhbHVlKSgpLCgwLHVwLnJlc3RvcmVTaG93TmV3c05vdGlmaWNhdGlvblNldHRpbmdzVmFsdWUpKCksKDAsX3AucmVzdG9yZVNldHRpbmdzUHJvcGVydHkpKCk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5yZXN0b3JlUHJvcGVydGllc0RlZmF1bHRzKCl9dW5kbygpe251bGwhPT10aGlzLl9wcmVmcyYmKHRoaXMuX3ByZWZzLm5vQ29uZmlybUVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGROb0NvbmZpcm1FbmFibGVkKSksdGhpcy5fcHJlZnMuc2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zLnNldFZhbHVlKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fb2xkU2hvd09ubHlSZWplY3Rpb25Ob3RpZmljYXRpb25zKSksdGhpcy5fcHJlZnMuc2hvd1ByaWNlc1dpdGguemVyb1ZvbHVtZS5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoWmVyb1ZvbHVtZSkpLHRoaXMuX3ByZWZzLnNob3dQcmljZXNXaXRoLnNwcmVhZC5zZXRWYWx1ZSgoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX29sZFNob3dQcmljZXNXaXRoU3ByZWFkKSksdGhpcy5fcHJlZnMub3JkZXJFeGVjdXRlZFNvdW5kUGFyYW1zLmVuYWJsZWQuc2V0VmFsdWUoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9vbGRPcmRlckV4ZWN1dGVkU291bmRFbmFibGVkKSkpLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXModGhpcy5fb2xkUHJlZmVyZW5jZXMpLHRoaXMuX21vZGVsLnVwZGF0ZVNjYWxlcygpLGloLmRhdGVGb3JtYXRQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2RGF0ZUZvcm1hdCksVGMudGltZUhvdXJzRm9ybWF0UHJvcGVydHkuc2V0VmFsdWUodGhpcy5fcHJldlRpbWVIb3Vyc0Zvcm1hdCksY3Auc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2U2hvd09wZW5NYXJrZXJTdGF0dXMpLGRkLmFkZFBsdXNCdXR0b25Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9wcmV2QWRkUGx1c0J1dHRvbiksKDAscnMuY3VycmVuY3lVbml0TWV0cmljVmlzaWJpbGl0eVByb3BlcnR5KSgpLnNldFZhbHVlKHRoaXMuX3ByZXZDdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5KSwoMCxvcy5hdXRvTG9nQnV0dG9uc1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2QXV0b0xvZ0J1dHRvbnNWaXNpYmlsaXR5KSwoMCxocC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2TmF2aWdhdGlvbkJ1dHRvbnNWaXNpYmlsaXR5KSwoMCxkcC5wcm9wZXJ0eSkoKS5zZXRWYWx1ZSh0aGlzLl9wcmV2UGFuZUJ1dHRvbnNWaXNpYmlsaXR5KSxudWxsIT09dGhpcy5fcHJldkFsZXJ0TGFiZWxzUHJlZmVyZW5jZXMmJigwLF9wLmdldExhYmVsc1NldHRpbmdzUHJvcGVydHkpKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZBbGVydExhYmVsc1ByZWZlcmVuY2VzKSxudWxsIT09dGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzJiYoMCxfcC5nZXROb3RpZmljYXRpb25zU2V0dGluZ3NQcm9wZXJ0eSkoKS5tZXJnZUFuZEZpcmUodGhpcy5fcHJldkFsZXJ0Tm90aWZpY2F0aW9uc1ByZWZlcmVuY2VzKSx0aGlzLl9tb2RlbC5vbldpZGdldCgpfHxsaC53aXRoV2Vla2RheVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3ByZXZXaXRoV2Vla2RheSk7Y29uc3QgZT10aGlzLl9tb2RlbC53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmbnVsbCE9PXRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyYmZS5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKHRoaXMuX3ByZXZXYXRlcm1hcmtQcmVmZXJlbmNlcyl9fWNsYXNzIGZwIGV4dGVuZHMgRS5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsaSxzKXtzdXBlcihpKSx0aGlzLl9wcm9wZXJ0eT1lLHRoaXMuX25ld1ZhbHVlPXQsdGhpcy5fbW9kZWw9cyx0aGlzLl9wcmljZVNjYWxlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdGhpcy5fb2xkVmFsdWU9dGhpcy5fcHJvcGVydHkudmFsdWUoKSx0aGlzLl9vbGRNb2RlPXRoaXMuX3ByaWNlU2NhbGUubW9kZSgpfXJlZG8oKXt0aGlzLl9vbGRWYWx1ZT10aGlzLl9wcm9wZXJ0eS52YWx1ZSgpLHRoaXMuX29sZE1vZGU9dGhpcy5fcHJpY2VTY2FsZS5tb2RlKCksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX3ByaWNlU2NhbGUuc2V0TW9kZSh7YXV0b1NjYWxlOiExLHBlcmNlbnRhZ2U6ITEsbG9nOiExfSksdGhpcy5fcHJvcGVydHkuc2V0VmFsdWUodGhpcy5fbmV3VmFsdWUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSx0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9dW5kbygpeygwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSx0aGlzLl9wcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLl9vbGRWYWx1ZSksdGhpcy5fcHJpY2VTY2FsZS5zZXRNb2RlKHRoaXMuX29sZE1vZGUpLCgwLEdyLmFsbG93U2F2aW5nRGVmYXVsdHMpKCExKSwKdGhpcy5fbW9kZWwucmVjYWxjdWxhdGVBbGxQYW5lcygoMCx0bi52aWV3cG9ydENoYW5nZUV2ZW50KSgpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpfX1jbGFzcyBTcCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0KXt2YXIgcyxuO3N1cGVyKG5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGFsbCBjaGFydCBwcm9wZXJ0aWVzIixwLnQobnVsbCx2b2lkIDAsaSgzNDc1ODUpKSkpLHRoaXMuX21vZGVsPWUsdGhpcy5fbmV3UHJvcGVydGllcz10LHM9KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLm1haW5TZXJpZXMpLG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9uZXdQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzKSxbImNhbmRsZVN0eWxlIiwiaG9sbG93Q2FuZGxlU3R5bGUiLCJoYVN0eWxlIl0uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9c1tlXTt2b2lkIDAhPT10JiYodC53aWNrVXBDb2xvcj10LndpY2tVcENvbG9yfHx0LndpY2tDb2xvcix0LndpY2tEb3duQ29sb3I9dC53aWNrRG93bkNvbG9yfHx0LndpY2tDb2xvcil9KSksbi52ZXJ0R3JpZFByb3BlcnRpZXM9bi52ZXJ0R3JpZFByb3BlcnRpZXN8fCgwLFloLmRlZmF1bHQpKG4uZ3JpZFByb3BlcnRpZXMpLG4uaG9yekdyaWRQcm9wZXJ0aWVzPW4uaG9yekdyaWRQcm9wZXJ0aWVzfHwoMCxZaC5kZWZhdWx0KShuLmdyaWRQcm9wZXJ0aWVzKSx2b2lkIDA9PT1zLmhvbGxvd0NhbmRsZVN0eWxlJiYocy5ob2xsb3dDYW5kbGVTdHlsZT0oMCxZaC5kZWZhdWx0KShzLmNhbmRsZVN0eWxlKSksdGhpcy5fb2xkUHJvcGVydGllcz0oMCxjdS5wcmVmZXJlbmNlc0J5V2hpdGVMaXN0KShlLGUubWFpblNlcmllcygpKX1yZWRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fbmV3UHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX11bmRvKCl7dGhpcy5fbWVyZ2UodGhpcy5fb2xkUHJvcGVydGllcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uQ2hhcnRTdHlsZUNoYW5nZWQoKSx0aGlzLl9tb2RlbC51cGRhdGVTY2FsZXMoKX1fbWVyZ2UoZSl7KDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITApLHRoaXMuX21vZGVsLmFwcGx5UHJlZmVyZW5jZXMoZSksKDAsR3IuYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfX1jbGFzcyB2cHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sZWZ0U2NhbGVzPWUubGVmdFByaWNlU2NhbGVzKCkubWFwKChlPT5lLmlkKCkpKSx0aGlzLl9yaWdodFNjYWxlcz1lLnJpZ2h0UHJpY2VTY2FsZXMoKS5tYXAoKGU9PmUuaWQoKSkpfXJlc3RvcmVQYW5lKGUpe3RoaXMuX2xlZnRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwibGVmdCIpKSksdGhpcy5fcmlnaHRTY2FsZXMucmV2ZXJzZSgpLm1hcCgodD0+KDAsbC5lbnN1cmVOb3ROdWxsKShlLmdldFByaWNlU2NhbGVCeUlkKHQpKSkpLmZvckVhY2goKHQ9PmUubW92ZVByaWNlU2NhbGUodCwicmlnaHQiKSkpfX1jbGFzcyB5cCBleHRlbmRzIEUuVW5kb0NvbW1hbmR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGkpLHRoaXMuX2NoYXJ0TW9kZWw9ZSx0aGlzLl90YXJnZXRTdHJhdGVneT0oMCxjbC5jcmVhdGVQcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3kpKHQpLHRoaXMuX2luaXRpYWxTdGF0ZT1lLnBhbmVzKCkubWFwKChlPT5uZXcgdnAoZSkpKX1yZWRvKCl7dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmZvckVhY2goKGU9PmUuc2V0UHJpY2VTY2FsZVNlbGVjdGlvblN0cmF0ZWd5KHRoaXMuX3RhcmdldFN0cmF0ZWd5KSkpLHRoaXMuX2NoYXJ0TW9kZWwuZnVsbFVwZGF0ZSgpfXVuZG8oKXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLl9pbml0aWFsU3RhdGVbdF0ucmVzdG9yZVBhbmUoZVt0XSk7dGhpcy5fY2hhcnRNb2RlbC5mdWxsVXBkYXRlKCl9fWNvbnN0IGJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNlbmQge3RpdGxlfSBiYWNrd2FyZCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg4MjgwOTIpKSksd3A9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiYnJpbmcge3RpdGxlfSBmb3J3YXJkIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDM4NTUwNCkpKSxDcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSBhZnRlciB7dGFyZ2V0fSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg2MTcwNDApKSksUHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXR9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0MDYxMykpKSxUcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjdXQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0MTE4MTgpKSkseHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY3V0IHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTM5NzE3KSkpLE1wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDQ0NTUzOSkpKSxJcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgZHJhd2luZ3MgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMTIyNjA2KSkpLExwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNzc3NTc3KSkpLEFwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInN0b3Agc3luY2luZyBsaW5lIHRvb2wocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCIKfSxpKDY5MzY0OSkpKSxrcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIGRyYXdpbmcocykiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTcwMTA1KSkpLERwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk0NjkyOSkpKSxFcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhcHBseSBmYWN0b3J5IGRlZmF1bHRzIHRvIHNlbGVjdGVkIHNvdXJjZXMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzY1ODc0KSkpLFJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBjdXJyZW5jeSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxODk2MDMpKSksVnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHVuaXQiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTU0ODkxKSkpLEJwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBtZXRyaWMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNDMyMTI0KSkpLE5wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNsb25lIGxpbmUgdG9vbHMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzU4KSkpLE9wPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU1NTkxOCkpKSxXcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSBkb3duIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcyMTcwOSkpKSxGcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtZXJnZSB0byBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk3NjgxNSkpKSxIcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIHVwIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDk1MTg0NykpKSx6cD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ1bm1lcmdlIGRvd24iLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMjI5NDE3KSkpLFVwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubWVyZ2UgdG8gbmV3IGJvdHRvbSBwYW5lIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5NDIyKSkpLEdwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgcmlnaHQgc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTY3OTM1KSkpLGpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNTkxNCkpKSxxcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtYWtlIHt0aXRsZX0gbm8gc2NhbGUgKEZ1bGwgc2NyZWVuKSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg1MDA4NDMpKSksJHA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVzZXQgc2NhbGVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYyOTU0MikpKSxZcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjcmVhdGUge3Rvb2x9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDc0OTAxNikpKSxLcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJwYXN0ZSB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDcwODkwOCkpKSxYcD1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJpbnNlcnQge3RpdGxlfSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5NjU1MzkpKSksWnA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIHBhbmUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODI4MjUzKSkpLEpwPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImludmVydCBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg3Nzk1MTcpKSksUXA9bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGF1dG8gc2NhbGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoMzg4ODg3KSkpLGVfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInRvZ2dsZSBsb2NrIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDYwMjQ5NykpKSx0Xz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcmVndWxhciBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxNzQ2NDApKSksaV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGluZGV4ZWQgdG8gMTAwIHNjYWxlIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDg3MTkxMCkpKSxzXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzMjk4NDEpKSksbl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidG9nZ2xlIGxvZyBzY2FsZSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg0ODM5OTUpKSkscl89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibW92ZSBsZWZ0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI5NTIwNCkpKSxvXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJtb3ZlIHJpZ2h0IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDUyNTY0MykpKSxhXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJhbGlnbiB0byA0NSBkZWdyZWVzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQiCn0saSgyMzEyNjMpKSksbF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2V0IHByaWNlIHNjYWxlIHNlbGVjdGlvbiBzdHJhdGVneSB0byB7dGl0bGV9IixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDU0NzQ0NSkpKSxjXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJyZW1vdmUgYWxsIGluZGljYXRvcnMiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoOTMxNzE5KSkpLGhfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInJlbW92ZSBkcmF3aW5ncyIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSg5MjU5NjMpKSksZF89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDI1NjkpKSksdV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygidHVybiBsaW5lIHRvb2xzIHNoYXJpbmcgb2ZmIixwLnQobnVsbCx7Y29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxpKDY5MjIwMSkpKSxwXz1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgzNTU0MDcpKSksX189bmV3IHkuVHJhbnNsYXRlZFN0cmluZygic2hhcmUgbGluZSB0b29scyBnbG9iYWxseSIscC50KG51bGwse2NvbnRleHQ6InVuZG8gY29tbWFuZCB0ZXh0In0saSgxMDIxOTcpKSksbV89bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGxpbmtpbmcgZ3JvdXAiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoODU3MjIzKSkpLGdfPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImFwcGx5IGRyYXdpbmcgdGVtcGxhdGUiLHAudChudWxsLHtjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LGkoNjE4Mzg2KSkpLGZfPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnQuQ2hhcnRVbmRvTW9kZWwiKSxTXz0oMCxQZS5pc0ZlYXR1cmVFbmFibGVkKSgiaGlkZV90d2VldF9kcmF3aW5ndG9vbCIpO3ZhciB2XztmdW5jdGlvbiB5XyhlLHQpe3JldHVybnticmluZ0ZvcndhcmRFbmFibGVkOmUuYnJpbmdGb3J3YXJkRW5hYmxlZHx8dC5icmluZ0ZvcndhcmRFbmFibGVkLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ZS5icmluZ1RvRnJvbnRFbmFibGVkfHx0LmJyaW5nVG9Gcm9udEVuYWJsZWQsc2VuZEJhY2t3YXJkRW5hYmxlZDplLnNlbmRCYWNrd2FyZEVuYWJsZWR8fHQuc2VuZEJhY2t3YXJkRW5hYmxlZCxzZW5kVG9CYWNrRW5hYmxlZDplLnNlbmRUb0JhY2tFbmFibGVkfHx0LnNlbmRUb0JhY2tFbmFibGVkfX0hZnVuY3Rpb24oZSl7ZVtlLlVwPTBdPSJVcCIsZVtlLkRvd249MV09IkRvd24iLGVbZS5MZWZ0PTJdPSJMZWZ0IixlW2UuUmlnaHQ9M109IlJpZ2h0In0odl98fCh2Xz17fSkpO2Z1bmN0aW9uIGJfKCl7cmV0dXJuKDAsVC5kcmF3T25BbGxDaGFydHMpKCkudmFsdWUoKT8xPT09KDAsVC5kcmF3T25BbGxDaGFydHNNb2RlKSgpLnZhbHVlKCk/MToyOjB9ZnVuY3Rpb24gd18oZSx0KXsoMCxKLm9uV2lkZ2V0KSgpPygwLCRuLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6ImluZGljYXRvcnMifSk6KDAsWW4uc2hvd1N0dWRpZXNMaW1pdEdvUHJvRGlhbG9nKShlLHQpfWNsYXNzIENfIGV4dGVuZHMoRG4oKSl7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHM9W10sdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbCx0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bnVsbCx0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bnVsbCx0aGlzLl96b29tU3RhY2s9bmV3IHosdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbDtjb25zdHtjaGFydFdpZGdldDp0LGNoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9IaXN0b3J5OmEsYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6bCxvcHRpb25zOmMsaGliZXJuYXRlVlc6aCxsaW5raW5nR3JvdXBXVjpkLGlzQXV0b1NhdmVFbmFibGVkOnUsZHJhd1RpbWU6cH09ZTt0aGlzLl9jaGFydFdpZGdldD10LHRoaXMuX3RyYWRpbmdQcmVmZXJlbmNlc1NlcnZpY2U9ZS50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlLHRoaXMubV9tb2RlbD1uZXcgRXUoe2NoYXJ0U2Vzc2lvbjppLGludmFsaWRhdGVIYW5kbGVyOnMscHJvcGVydGllczpuLHNlcmllc1Byb3BlcnRpZXM6cixkYXRhUmVxdWVzdDpvLHVuZG9Nb2RlbDp0aGlzLGJhcnNNYXJrc0NvbnRhaW5lcnNGYWN0b3J5Omwsb3B0aW9uczpjLGhpYmVybmF0ZVZXOmgsbGlua2luZ0dyb3VwV1Y6ZCxpc0F1dG9TYXZlRW5hYmxlZDp1LHN5bWJvbEFsaWFzU2VydmljZTp0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpLGRyYXdUaW1lOnB9KSx0aGlzLl91bmRvSGlzdG9yeT1hLHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcj1uZXcgeW8oe21vZGVsOnRoaXMuX21vZGVsLmJpbmQodGhpcykscHVzaFVuZG9Db21tYW5kOnRoaXMuX3B1c2hVbmRvQ29tbWFuZC5iaW5kKHRoaXMpLGJlZ2luVW5kb01hY3JvOmU9Pnt0aGlzLl91bmRvSGlzdG9yeS5iZWdpblVuZG9NYWNybyhlKX0sZW5kVW5kb01hY3JvOnRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNyby5iaW5kKHRoaXMuX3VuZG9IaXN0b3J5KSxlbWl0RXZlbnQ6dGhpcy5lbWl0RXZlbnQuYmluZCh0aGlzKX0pfWlkKCl7cmV0dXJuIHRoaXMuX21vZGVsKCkuaWQoKX11bmRvSGlzdG9yeSgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeX1zZXRXYXRjaGVkVmFsdWUoZSx0LGkpe3RoaXMuX3VuZG9IaXN0b3J5LnNldFdhdGNoZWRWYWx1ZShlLHQsaSl9bGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCl7cmV0dXJuIHRoaXMuX2xpbmVUb29sc0dyb3VwQ29udHJvbGxlcgp9bWVyZ2VBbGxTY2FsZXMoZSl7IWZ1bmN0aW9uKGUsdCl7ZS5iZWdpblVuZG9NYWNybygibGVmdCI9PT10P0tuOlhuKSxlLm1vZGVsKCkucGFuZXMoKS5mb3JFYWNoKChpPT57Y29uc3Qgcz0ibGVmdCI9PT10P2kudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKTppLnZpc2libGVMZWZ0UHJpY2VTY2FsZXMoKSxuPSgibGVmdCI9PT10P2kudmlzaWJsZUxlZnRQcmljZVNjYWxlcygpOmkudmlzaWJsZVJpZ2h0UHJpY2VTY2FsZXMoKSkuY29uY2F0KHMpLHI9Im92ZXJsYXkiPT09aS5wcmljZVNjYWxlUG9zaXRpb24oaS5kZWZhdWx0UHJpY2VTY2FsZSgpKT9uWzBdOmkuZGVmYXVsdFByaWNlU2NhbGUoKTtlLm1vdmVQcmljZVNjYWxlKGkscix0LDApLG4uZm9yRWFjaCgodD0+e2lmKHQ9PT1yKXJldHVybjtsZXQgcz10Lm1haW5Tb3VyY2UoKTtmb3IoO251bGwhPT1zOyl7ZS5tb3ZlVG9TY2FsZShzLGkscixudWxsLCEwKTtjb25zdCBuPXQubWFpblNvdXJjZSgpO2lmKG49PT1zKXtabi5sb2dFcnJvcigiTG9vcCBkZXRlY3RlZCB3aGlsZSB0cnlpbmcgdG8gbWVyZ2Ugc2NhbGVzIik7YnJlYWt9cz1ufX0pKX0pKSxlLmVuZFVuZG9NYWNybygpLGUubW9kZWwoKS5mdWxsVXBkYXRlKCl9KHRoaXMsZSl9bW92ZVByaWNlU2NhbGUoZSx0LGkscyl7Y29uc3Qgbj1uZXcgSm4odGhpcy5fbW9kZWwoKSxlLHQsaSxzLExwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9Y3JlYXRlTGluZVRvb2woe3BhbmU6ZSxwb2ludDp0LGxpbmV0b29sOmkscHJvcGVydGllczpzLGxpbmtLZXk6bixvd25lclNvdXJjZTpyLHN5bmNocm9uaXphdGlvbk1vZGU6bz1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQsc2hhcmluZ01vZGU6YT1iXygpLGlkOmMsYWN0aW9uU291cmNlOmgsa2VlcFNlbGVjdGVkR3JvdXA6ZH0pe2lmKCEoMCxSdS5lbnN1cmVEcmF3aW5nQ3JlYXRpb25BbGxvd2VkKShpLGgsImNoYXJ0X2RyYXdpbmciKSlyZXR1cm4gVC50b29sLnZhbHVlKCk9PT1pJiYoMCxULnJlc2V0VG9DdXJzb3IpKCksbnVsbDtjb25zdCB1PW9wLmxpbmVUb29sc1N0dWR5SWRzW2ldO2lmKCgwLGwuYXNzZXJ0KSghKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKSh1KXx8ISF1KSx1KXtjb25zdCBlPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOnV9KTtpZighZS5zdWNjZXNzKXJldHVybiB3Xyh0aGlzLm1vZGVsKCksZSksKDAsbS5pc1N0dWR5TGluZVRvb2xOYW1lKShULnRvb2wudmFsdWUoKSkmJigwLFQucmVzZXRUb0N1cnNvcikoKSxudWxsfWNvbnN0IHA9WXAuZm9ybWF0KHt0b29sOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoaSxfci5saW5lVG9vbHNMb2NhbGl6ZWROYW1lc1tpXSl9KTt0aGlzLmJlZ2luVW5kb01hY3JvKHApO2NvbnN0IF89byE9PVJuLkNyZWF0ZUxpbmVUb29sU3luY01vZGUuRm9yY2VPZmYsZz1uZXcgZ3Ioe21vZGVsOnRoaXMuX21vZGVsKCkscGFuZTplLGxpbmVUb29sOmksb3duZXJTb3VyY2U6cnx8KDAsbC5lbnN1cmVOb3ROdWxsKShlLm1haW5EYXRhU291cmNlKCkpLGRyYXdPbkFsbENoYXJ0c01vZGU6YSxpZDpjLGtlZXBTZWxlY3RlZEdyb3VwOmQmJnZvaWQgMD09PW59KSxmPWcuc3RhcnRDcmVhdGluZ0xpbmUodCxzLG58fG51bGwsYSxvPT09Um4uQ3JlYXRlTGluZVRvb2xTeW5jTW9kZS5Gb3JjZU9mZixoKSxTPSgwLGwuZW5zdXJlTm90TnVsbCkoZy5saW5lKCkpO3RoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy51bnNoaWZ0KGcpO2xldCB2PW51bGw7aWYoZiYmKF8mJnRoaXMuZmluaXNoTGluZVRvb2woUyksdGhpcy5fcHVzaFVuZG9Db21tYW5kKGcpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLHY9e3BvaW50czpTLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksKHZvaWQgMD09PW4mJm89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkRlZmF1bHQmJigwLFQuZHJhd09uQWxsQ2hhcnRzKSgpLnZhbHVlKCl8fG89PT1Sbi5DcmVhdGVMaW5lVG9vbFN5bmNNb2RlLkZvcmNlT24pJiZTLmlzU3luY2hyb25pemFibGUoKSl7Y29uc3QgZT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMubW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcCh0LmluZGV4KSkscz17cG9pbnQ6e3ByaWNlOnQucHJpY2UsdGltZVN0YW1wOmV9LGxpbmV0b29sOmkscHJvcGVydGllczpTLnByb3BlcnRpZXMoKSxzeW1ib2w6dGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sKCksbW9kZWw6dGhpcy5tb2RlbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShTLmxpbmtLZXkoKS52YWx1ZSgpKSxmaW5hbFN0YXRlOnYsaWQ6Uy5pZCgpLHNoYXJpbmdNb2RlOlMuc2hhcmluZ01vZGUoKS52YWx1ZSgpfTtTLmlzRml4ZWQoKSYmKHMucG9pbnRQb3NpdGlvblBlcmNlbnRzPVMuY2FsY1Bvc2l0aW9uUGVyY2VudHMoKSksKDAsVC5jcmVhdGVMaW5lVG9vbCkocyl9aWYoZCYmdm9pZCAwPT09bil7Y29uc3QgdD10aGlzLl9yZXNvbHZlUHJldmlvdXNTZWxlY3RlZEdyb3VwKGUpO251bGwhPT10JiYoZj90aGlzLl9saW5lVG9vbHNHcm91cENvbnRyb2xsZXIuYWRkTGluZVRvb2xUb0dyb3VwKHQsUyk6dC5hZGRJdGVtcyhbU10pKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxTfWNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpe2NvbnN0IG49KDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jcmVhdGVMaW5lQ29tbWFuZHNbMF0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obi50ZXh0KCkpO2NvbnN0IHI9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLmxpbmVCZWluZ0NyZWF0ZWQoKSksbz1uLmNvbnRpbnVlQ3JlYXRpbmdMaW5lKGUsdCxpLHMpO2xldCBhPW51bGw7aWYobyYmKHRoaXMuZmluaXNoTGluZVRvb2wociksdGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpLGE9e3BvaW50czpyLm5vcm1hbGl6ZWRQb2ludHMoKSxpbnRlcnZhbDp0aGlzLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfSksbi5kcmF3T25BbGxDaGFydHMoKSYmci5pc1N5bmNocm9uaXphYmxlKCkpe2NvbnN0IGk9KDAsCmwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5leHRlcm5hbFRpbWVTdGFtcChlLmluZGV4KSk7KDAsVC5jb250aW51ZUxpbmVUb29sKSh7cG9pbnQ6e3ByaWNlOmUucHJpY2UsdGltZVN0YW1wOml9LGVudlN0YXRlOnQsZmluYWxTdGF0ZTphLG1vZGVsOnRoaXMuX21vZGVsKCl9KX1pZihuLmtlZXBTZWxlY3RlZEdyb3VwKCkmJm8pe2NvbnN0IGU9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UocikpLHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmKHQuZXhjbHVkZUl0ZW0ociksdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LHIpKX1yZXR1cm4gdGhpcy5lbmRVbmRvTWFjcm8oKSxvfWNvbnRpbnVlRXh0ZXJuYWxMaW5lKGUsdCxpKXtjb25zdCBzPSgwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fY3JlYXRlTGluZUNvbW1hbmRzWzBdKSxuPXMuY29udGludWVDcmVhdGluZ0xpbmUoZSx0LGkpO3JldHVybiBuJiYodGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuX2NyZWF0ZUxpbmVDb21tYW5kcy5zaGlmdCgpKSxufWZpbmlzaExpbmVUb29sKGUpe3RoaXMuX21vZGVsKCkuZmluaXNoTGluZVRvb2woZSl9Y2FuY2VsQ3JlYXRpbmdMaW5lKCl7dGhpcy5tX21vZGVsLmNhbmNlbENyZWF0aW5nTGluZSgpfWxpbmVCZWluZ0NyZWF0ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmxpbmVCZWluZ0NyZWF0ZWQoKX1wYXN0ZUltYWdlQXNMaW5lVG9vbChlLHQsaSxzKXtjb25zdCBuPXRoaXMuX21vZGVsKCkudGltZVNjYWxlKCkscj1uLndpZHRoKCksbz1pLmhlaWdodCgpLGE9aS5kZWZhdWx0UHJpY2VTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKSgoMCxsLmVuc3VyZU5vdE51bGwpKGEubWFpblNvdXJjZSgpKS5maXJzdFZhbHVlKCkpLGg9e3ByaWNlOmEuY29vcmRpbmF0ZVRvUHJpY2Uoby8yLGMpLGluZGV4Om4uY29vcmRpbmF0ZVRvSW5kZXgoci8yKX0sZD0oMCxyaS5jcmVhdGVMaW5lVG9vbFByb3BlcnRpZXMpKGkubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpLCJMaW5lVG9vbEltYWdlIiwhaS5tb2RlbCgpLnJlYWRPbmx5KCkpO3ZvaWQgMCE9PXMmJmQuY2hpbGRzKCkudHJhbnNwYXJlbmN5LnNldFZhbHVlKHMpO2NvbnN0IHU9KDAsbC5lbnN1cmVOb3ROdWxsKShhLm1haW5Tb3VyY2UoKSk7KDAscmkucHJlcGFyZUxpbmVUb29sUHJvcGVydGllc0J5T3duZXJTb3VyY2UpKGQsdSk7Y29uc3QgcD10aGlzLmNyZWF0ZUxpbmVUb29sKHtwYW5lOmkscG9pbnQ6aCxsaW5ldG9vbDoiTGluZVRvb2xJbWFnZSIscHJvcGVydGllczpkLGFjdGlvblNvdXJjZToiUGFzdGUiLGtlZXBTZWxlY3RlZEdyb3VwOiEwfSk7cmV0dXJuIHAmJihwLnNldEJsb2JJbWFnZVVybCh0KSx0aGlzLnNlbGVjdGlvbk1hY3JvKChlPT57ZS5jbGVhclNlbGVjdGlvbigpLGUuYWRkSXRlbVRvU2VsZWN0aW9uKHAsbnVsbCl9KSksZS50aGVuKChlPT57cC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudXJsLnNldFZhbHVlKGUpfSkpLmNhdGNoKChlPT57Y29uc3QgdD1wLmxpbmtLZXkoKS52YWx1ZSgpLGk9dGhpcy5tb2RlbCgpO251bGwhPT10JiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITEsbW9kZWw6aSxsaW5rS2V5OnQsc3ltYm9sOnAuc3ltYm9sKCksc291cmNlVGl0bGU6bmV3IHkuVHJhbnNsYXRlZFN0cmluZyhwLm5hbWUoKSxwLnRyYW5zbGF0ZWRUeXBlKCkpLGxpbmVUb29sU3RhdGU6cC5zdGF0ZSghMSl9KSxpLnJlbW92ZVNvdXJjZShwKX0pKSkscH1sb2FkUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLGk9dC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKTtyZXR1cm4obnVsbD09PWl8fCFCbihpLGUpKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgS3IodCxlKSksKDAsJC5lbWl0KSgidGltZWZyYW1lX2ludGVydmFsIixlKSwhMCl9bWFpblNlcmllcygpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllcygpfW1vZGVsKCl7cmV0dXJuIHRoaXMubV9tb2RlbH1hbGxVbmRvTW9kZWxzKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmNoYXJ0TW9kZWxzKCkudmFsdWUoKX1wdWJsaXNoZWRDaGFydHNUaW1lbGluZVNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwucHVibGlzaGVkQ2hhcnRzVGltZWxpbmVTb3VyY2UoKX11bmxpbmtMaW5lcyhlKXtjb25zdCB0PXRoaXMubW9kZWwoKTt0aGlzLmJlZ2luVW5kb01hY3JvKEFwKTtmb3IoY29uc3QgaSBvZiBlKW51bGwhPT1pLmxpbmtLZXkoKS52YWx1ZSgpJiYoMCxULnJlbW92ZUxpbmVUb29sKSh7d2l0aFVuZG86ITAsbW9kZWw6dGhpcy5tb2RlbCgpLHN5bWJvbDppLnN5bWJvbCgpLGxpbmtLZXk6KDAsbC5lbnN1cmVOb3ROdWxsKShpLmxpbmtLZXkoKS52YWx1ZSgpKSxzb3VyY2VUaXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxpKSxsaW5lVG9vbFN0YXRlOmkuc3RhdGUoITEpLHVubGluazohMH0pLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgJHUodCxpKSk7dGhpcy5lbmRVbmRvTWFjcm8oKX16b29tRnJvbVZpZXdwb3J0KCl7Y29uc3QgZT1uZXcganUoKDAsbC5lbnN1cmVEZWZpbmVkKSh0aGlzLl96b29tU3RhY2suaGVhZCgpKSx0aGlzLl96b29tU3RhY2ssITEpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChlKX16b29tVG9WaWV3cG9ydChlLHQsaSxzLG4pe2NvbnN0IHI9bmV3IHp1KHRoaXMubV9tb2RlbCxlLHQsaSxzLG4pLG89bmV3IGp1KHIsdGhpcy5fem9vbVN0YWNrLCEwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobyl9em9vbVN0YWNrKCl7cmV0dXJuIHRoaXMuX3pvb21TdGFja310aW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpfXNlbGVjdGlvbigpe3JldHVybiB0aGlzLm1fbW9kZWwuc2VsZWN0aW9uKCl9c2VsZWN0aW9uTWFjcm8oZSx0KXtyZXR1cm4gdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKGUsdCl9Cm9uU2VsZWN0ZWRTb3VyY2VDaGFuZ2VkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5vblNlbGVjdGVkU291cmNlQ2hhbmdlZCgpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uVGFnc0NoYW5nZWQoKX1saW5lQ2FuY2VsbGVkKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5saW5lQ2FuY2VsbGVkKCl9aG92ZXJlZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuaG92ZXJlZFNvdXJjZSgpfWNyb3NzaGFpclNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCl9YWN0aXZlU3RyYXRlZ3lTb3VyY2UoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCl9c2V0UHJvcGVydHkoZSx0LGkscyl7aWYoZSYmZS52YWx1ZSgpIT09dCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKTtjb25zdCBuPW5ldyBxci5TZXRQcm9wZXJ0eVVuZG9Db21tYW5kKGUsdCxpLHRoaXMubV9tb2RlbCwhcyk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKG4pLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoInNldFByb3BlcnR5Iil9fXNldFByb3BlcnRpZXMoZSx0LGkscz0hMCl7dGhpcy5iZWdpblVuZG9NYWNybyhpKSx0aGlzLm1fbW9kZWwuc2VsZWN0aW9uTWFjcm8oKCgpPT57Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdGhpcy5zZXRQcm9wZXJ0eShlW25dLHRbbl0saSwhcyl9KSksdGhpcy5lbmRVbmRvTWFjcm8oKX1iZWdpblVuZG9NYWNybyhlKXtyZXR1cm4gdGhpcy5fdW5kb0hpc3RvcnkuYmVnaW5VbmRvTWFjcm8oZSl9ZW5kVW5kb01hY3JvKCl7dGhpcy5fdW5kb0hpc3RvcnkuZW5kVW5kb01hY3JvKCl9aW52ZXJ0UHJpY2VTY2FsZShlKXtjb25zdCB0PWUucHJvcGVydGllcygpLmNoaWxkcygpLmlzSW52ZXJ0ZWQ7dGhpcy5zZXRQcm9wZXJ0eSh0LCF0LnZhbHVlKCksSnApfXRvZ2dsZVByaWNlU2NhbGVBdXRvU2NhbGVNb2RlKGUpe2NvbnN0IHQ9e2F1dG9TY2FsZTohZS5pc0F1dG9TY2FsZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxRcCl9dG9nZ2xlUHJpY2VTY2FsZUxvY2tTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9ja1NjYWxlOiFlLmlzTG9ja1NjYWxlKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLGVfKX10b2dnbGVQcmljZVNjYWxlUGVyY2VudGFnZVNjYWxlTW9kZShlKXtjb25zdCB0PXtwZXJjZW50YWdlOiFlLmlzUGVyY2VudGFnZSgpfTt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHQsZSxzXyl9dG9nZ2xlUHJpY2VTY2FsZUluZGV4ZWRUbzEwMFNjYWxlTW9kZShlKXtjb25zdCB0PXtpbmRleGVkVG8xMDA6IWUuaXNJbmRleGVkVG8xMDAoKX07dGhpcy5zZXRQcmljZVNjYWxlTW9kZSh0LGUsaV8pfXRvZ2dsZVByaWNlU2NhbGVMb2dTY2FsZU1vZGUoZSl7Y29uc3QgdD17bG9nOiFlLmlzTG9nKCl9O3RoaXMuc2V0UHJpY2VTY2FsZU1vZGUodCxlLG5fKX1zZXRQcmljZVNjYWxlUmVndWxhclNjYWxlTW9kZShlKXt0aGlzLnNldFByaWNlU2NhbGVNb2RlKHtsb2c6ITEscGVyY2VudGFnZTohMSxpbmRleGVkVG8xMDA6ITF9LGUsdF8pfXdpdGhNYWNybyhlLHQpe2NvbnN0IGk9dGhpcy5iZWdpblVuZG9NYWNybyhlKTt0cnl7dCgpfWZpbmFsbHl7dGhpcy5lbmRVbmRvTWFjcm8oKX1yZXR1cm4gaX1kYXRhU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZXMoKX1vcmRlcmVkRGF0YVNvdXJjZXMoZSl7cmV0dXJuIHRoaXMubV9tb2RlbC5vcmRlcmVkRGF0YVNvdXJjZXMoZSl9YmFyc01hcmtzU291cmNlcygpe3JldHVybiB0aGlzLm1fbW9kZWwuYmFyc01hcmtzU291cmNlcygpfXJlbW92ZUFsbERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGhfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuZW5kVW5kb01hY3JvKCl9cmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKGRfKSx0aGlzLl9yZW1vdmVBbGxEcmF3aW5nVG9vbHNJbXBsKGUpLHRoaXMuX3JlbW92ZUFsbFN0dWRpZXNJbXBsKCksdGhpcy5lbmRVbmRvTWFjcm8oKX1yZW1vdmVBbGxTdHVkaWVzKCl7dGhpcy5iZWdpblVuZG9NYWNybyhjXyksdGhpcy5fcmVtb3ZlQWxsU3R1ZGllc0ltcGwoKSx0aGlzLmVuZFVuZG9NYWNybygpfXNjcm9sbENoYXJ0QnlCYXIoZSl7aWYoIXRoaXMubV9tb2RlbC5zY3JvbGxFbmFibGVkKCkpcmV0dXJuO2NvbnN0IHQ9ZSp0aGlzLm1fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKHQpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfWNhblpvb21Jbigpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbUluKCl9Y2FuWm9vbU91dCgpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuWm9vbU91dCgpfXpvb21PdXQoKXtjb25zdCBlPXRoaXMudGltZVNjYWxlKCkud2lkdGgoKTt0aGlzLmNhblpvb21PdXQoKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZSgwKSx0aGlzLnNjYWxlVGltZVRvKGUpLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9em9vbUluKCl7Y29uc3QgZT10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCk7dGhpcy5jYW5ab29tSW4oKSYmKDAsT24uZG9BbmltYXRlKSh7dG86ZS81LG9uU3RlcDplPT57dGhpcy5zdGFydFNjYWxlVGltZShlKSx0aGlzLnNjYWxlVGltZVRvKDApLHRoaXMuZW5kU2NhbGVUaW1lKCl9fSl9c2Nyb2xsQ2hhcnQoZSl7dGhpcy5tX21vZGVsLnNjcm9sbEVuYWJsZWQoKSYmKHRoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpKX1zdGFydE1vdmluZ1NvdXJjZXMoZSx0LGkscyl7ZS5maWx0ZXIoKGU9PmUuZG9lc01vdmluZ0FmZmVjdHNVbmRvKCkpKS5sZW5ndGgmJih0aGlzLl9jdXJyZW50U291cmNlTW92ZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxlLGtwLCExKSksdGhpcy5tb2RlbCgpLnN0YXJ0TW92aW5nU291cmNlcyhlLHQsaSxuZXcgTWFwLHMpfW1vdmVTb3VyY2VzKGUsdCl7CnRoaXMubW9kZWwoKS5tb3ZlU291cmNlcyhlLG5ldyBNYXAsdCl9ZW5kTW92aW5nU291cmNlKGUsdCl7dGhpcy5tb2RlbCgpLmVuZE1vdmluZ1NvdXJjZXMoZSx2b2lkIDAsdCksbnVsbCE9PXRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRTb3VyY2VNb3ZlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kKSksdGhpcy5fY3VycmVudFNvdXJjZU1vdmVDb21tYW5kPW51bGx9c3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKXt0aGlzLl9jdXJyZW50TGluZUNoYW5nZUNvbW1hbmQ9bmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sZS5jaGFuZ2VQb2ludFVuZG9UZXh0KHMpLCExKSx0aGlzLm1vZGVsKCkuc3RhcnRDaGFuZ2luZ0xpbmV0b29sKGUsdCxpLHMsbixyKX1jaGFuZ2VMaW5lUG9pbnQoZSx0KXt0aGlzLm1vZGVsKCkuY2hhbmdlTGluZVBvaW50KGUsdCl9YWxpZ25Ub29sVG80NURlZ3JlZXMoZSx0KXtjb25zdCBpPWUuYWxpZ25UbzQ1RGVncmVlc1BvaW50cygpO2kmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IG5yKHRoaXMubW9kZWwoKSxbZV0sYV8sITEpKSx0aGlzLm1vZGVsKCkuYWxpZ25UbzQ1RGVncmVlcyhlLHQsaSkpfWVuZENoYW5naW5nTGluZXRvb2woZSl7dGhpcy5tb2RlbCgpLmVuZENoYW5naW5nTGluZXRvb2woZSksbnVsbCE9PXRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZCYmKHRoaXMuX2N1cnJlbnRMaW5lQ2hhbmdlQ29tbWFuZC5zYXZlTmV3U3RhdGUoKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kKSksdGhpcy5fY3VycmVudExpbmVDaGFuZ2VDb21tYW5kPW51bGx9c2V0Q2hhcnRTdHlsZVByb3BlcnR5KGUsdCxpKXtpZihlLnZhbHVlKCkhPT10KXtjb25zdCBzPU91LmNoYXJ0U3R5bGVQZXJtaXNzaW9ucy5nZXQodCksbj0oKT0+e3RoaXMuYmVnaW5VbmRvTWFjcm8oaSk7Y29uc3Qgcz1uZXcgJHIoZSx0LHRoaXMubWFpblNlcmllcygpLGksdGhpcy5tb2RlbCgpLHRoaXMuX2NoYXJ0V2lkZ2V0KTt2YXIgbjt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoInNldENoYXJ0U3R5bGVQcm9wZXJ0eSIpLG49ZS52YWx1ZSgpLCgwLFVyLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e2lmKG51bGwhPT1lKXtjb25zdCB0PUwuU1RZTEVfU0hPUlRfTkFNRVNbbl07ZS50cmFja0NoYXJ0U3R5bGUodCl9fSkpLHRoaXMuZW5kVW5kb01hY3JvKCl9O3M/KDAsV3UucnVuT3JHb1BybykobixzLmZlYXR1cmUse2ZlYXR1cmU6cy5mZWF0dXJlTmFtZX0pOm4oKX19c2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tX21vZGVsLGUsdCx0LnN0YXRlKCkpKSx0aGlzLm1fbW9kZWwuc2V0UHJpY2VBdXRvU2NhbGUoZSx0LGkpfXNldFByaWNlU2NhbGVNb2RlKGUsdCxpKXtpZighKDAscy5kZWZhdWx0KSh0Lm1vZGUoKSxlKSl7Y29uc3Qgcz1uZXcgJG8oZSx0LGksdGhpcy5tX21vZGVsKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9fXNldFByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneShlKXtjb25zdCB0PXRoaXMubV9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYodC5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lLnZhbHVlKCk9PT1lKXJldHVybjsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLCJDaGFuZ2UgUHJpY2VTY2FsZSBTZWxlY3Rpb24gU3RyYXRlZ3kiKTtjb25zdCBpPWxfLmZvcm1hdCh7dGl0bGU6ZX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8oaSksdGhpcy5zZXRQcm9wZXJ0eSh0LnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUsZSxpKTtjb25zdCBzPW5ldyB5cCh0aGlzLm1fbW9kZWwsZSxpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbmRVbmRvTWFjcm8oKX1zZXRTY2FsZVJhdGlvUHJvcGVydHkoZSx0LGkpe2lmKGUudmFsdWUoKSE9PXQpe2NvbnN0IHM9bmV3IGZwKGUsdCxpLHRoaXMubV9tb2RlbCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpfX1jcmVhdGVVbmRvQ2hlY2twb2ludCgpe3JldHVybiB0aGlzLl91bmRvSGlzdG9yeS5jcmVhdGVVbmRvQ2hlY2twb2ludCgpfXVuZG9Ub0NoZWNrcG9pbnQoZSl7dGhpcy5fdW5kb0hpc3RvcnkudW5kb1RvQ2hlY2twb2ludChlKX1yZXN0b3JlUHJvcGVydGllc0ZvclNvdXJjZShlKXsoMCxyaS5pc0xpbmVUb29sKShlKT90aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSk6dGhpcy5fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpfXJlc3RvcmVMaW5lVG9vbHNGYWN0b3J5RGVmYXVsdHMoZSl7MT09PWUubGVuZ3RoP3RoaXMuX3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlWzBdKToodGhpcy5iZWdpblVuZG9NYWNybyhFcCksZS5mb3JFYWNoKChlPT50aGlzLl9yZXN0b3JlTGluZVRvb2xGYWN0b3J5RGVmYXVsdHMoZSkpKSx0aGlzLmVuZFVuZG9NYWNybygpKX1yZXN0b3JlUHJlZmVyZW5jZXMoKXtjb25zdCBlPW5ldyBncCh0aGlzLm1vZGVsKCksdGhpcy5fdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGUpfXJlc3RvcmVTdGF0ZShlLHQsaSl7cmV0dXJuIHRoaXMubV9tb2RlbC5yZXN0b3JlU3RhdGUoZSx0LGkpfWFzeW5jIGNsaXBib2FyZENvcHkoZSx0PXRoaXMuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRhdGFzb3VyY2VfY29weXBhc3RlIikpcmV0dXJuO2NvbnN0IGk9dC5maWx0ZXIoKGU9PmUuY29waWFibGUoKSkpO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZigoMCx0aS5pc1N0dWR5KShlKSYmZS5pc0NoaWxkU3R1ZHkoKSl0aHJvdyBuZXcgRXJyb3IoIkNhbiBub3QgY29weSBjaGlsZCBzdHVkeSIpO2NvbnN0IHM9KDAsSG4uY2xpcGJvYXJkRGF0YUZvclNvdXJjZXMpKHRoaXMuX21vZGVsKCkuaWQoKSxpKTtyZXR1cm4gbnVsbCE9PXM/ZS53cml0ZSh7CmFwcDpKU09OLnN0cmluZ2lmeShzKSx0ZXh0OnMudGl0bGV9KTp2b2lkIDB9YXN5bmMgY2xpcGJvYXJkQ3V0KGUsdD10aGlzLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCkpe2lmKCEoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpKXJldHVybjtjb25zdCBpPXQuZmlsdGVyKChlPT5lLmNvcGlhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2F3YWl0IHRoaXMuY2xpcGJvYXJkQ29weShlLGkpO2NvbnN0IHM9aS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09cy5sZW5ndGgpcmV0dXJuO2NvbnN0IG49KDE9PT1zLmxlbmd0aD9UcDp4cCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxzWzBdKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8obiksdGhpcy5tX21vZGVsLnNlbGVjdGlvbk1hY3JvKCgoKT0+dGhpcy5yZW1vdmVTb3VyY2VzKHMsITEsbikpLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIGNsaXBib2FyZFBhc3RlKGUsdCl7bGV0IGk9bnVsbDtpZigoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJkYXRhc291cmNlX2NvcHlwYXN0ZSIpJiYoaT1pfHxhd2FpdCBlLnJlYWQoKSxpLmFwcCkpe2NvbnN0IGU9SlNPTi5wYXJzZShpLmFwcCk7aWYobnVsbCE9PWF3YWl0IHRoaXMucGFzdGVTb3VyY2VGcm9tQ2xpcCh0LGUpKXJldHVybn1hd2FpdCB0aGlzLl9wcm9jZXNzU3BlY2lhbExpbmVUb29sc0NvbnRlbnRzKGUsaSx0KX1hcHBseVN0dWR5VGVtcGxhdGUoZSx0LGkpe2NvbnN0IHM9bmV3IE1vKHRoaXMuX21vZGVsKCksZSx0LGkpO3RoaXMuYmVnaW5VbmRvTWFjcm8ocy50ZXh0KCkpO2NvbnN0IG49dGhpcy5tX21vZGVsLnBhbmVzKCkucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodC5zb3VyY2VzQnlHcm91cCgpLmFsbFdpdGhvdXRNdWx0aXBhbmVXaXRoSGlkZGVuKCkuZmlsdGVyKHJpLmlzTGluZVRvb2wpLmZpbHRlcigoZT0+ZS5vd25lclNvdXJjZSgpIT09dGhpcy5tX21vZGVsLm1haW5TZXJpZXMoKSYmKCFlLnN1cHBvcnRzVGFyZ2V0U2lnbmF0dXJlKCl8fG51bGw9PT1lLnRhcmdldFNpZ25hdHVyZSgpKSkpKSksW10pO3RoaXMucmVtb3ZlU291cmNlcyhuLCExLG51bGwpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVuZFVuZG9NYWNybygpLCgwLCQuZW1pdCkoImxvYWRfc3R1ZHlfdGVtcGxhdGUiKX1jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxpPXt9KXtjb25zdHtzdHViVGl0bGU6cyxpc092ZXJsYXk6bn09aSxyPXtjcmVhdGVTdHVkeTplPT57Y29uc3R7c3R1ZHlNZXRhSW5mbzppLGlucHV0czpzLHN0dWJUb1JlcGxhY2U6bixwcm9wc1N0YXRlOnIsZm9yY2VPdmVybGF5Om8scGFyZW50U291cmNlczphLHByZWZlcnJlZFByaWNlU2NhbGU6bCxhbGxvd0NoYW5nZUN1cnJlbmN5OmMsYWxsb3dDaGFuZ2VVbml0OmgsYWxsb3dDaGFuZ2VNZXRyaWM6ZCxwYW5lU2l6ZTp1LHRhcmdldFNjYWxlTW9kZTpwLGV2ZW50U291cmNlOl99PWU7aWYoIXRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUoaSx0KSlyZXR1cm4gZl8ubG9nTm9ybWFsKCJDYW5ub3QgaW5zZXJ0IHN0dWR5ICIraS5pZCksbnVsbDsoMCxNdC50cmFja0V2ZW50KSgic3R1ZGllcyIsIlN0dWR5XyIraS5pZCxpLmRlc2NyaXB0aW9uKSwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiPT09aS5pZCYmKDAsTXQudHJhY2tFdmVudCkoImNvbXBhcmUiLCJzeW1ib2w6IitzLnN5bWJvbCksbiYmdGhpcy5tX21vZGVsLnJlbW92ZVNvdXJjZShuKTtjb25zdCBtPXRoaXMuX2luc2VydFN0dWR5KGkscyxyLG8sYSxsLGMsaCxkLHUsbnVsbCxwLF8pO3JldHVybiBtLnN0dWR5LnRoZW4oKGU9PigwLCQuZW1pdCkoInN0dWR5X2V2ZW50IixlLmlkKCksImNyZWF0ZSIpKSksbX0sc3RvcmVGYWlsZWRTdHViOmU9Pnt0aGlzLl9zdG9yZUZhaWxlZFN0dWIoZSl9fTt2b2lkIDAhPT1zJiYoci5jcmVhdGVTdHViPSgpPT50aGlzLm1fbW9kZWwuaW5zZXJ0U3R1ZHlTdHViKHMsbikuaWQoKSxyLnJlbW92ZVN0dWI9ZT0+dGhpcy5tX21vZGVsLnJlbW92ZVN0dWR5U3R1YihlKSk7Y29uc3Qgbz1uZXcgZ3UoZSxyKTtyZXR1cm4gby5zZXRQYXJlbnRTb3VyY2VzKHQpLG99YXBwbHlMaW5lVG9vbFRlbXBsYXRlKGUsdCxpKXt0aGlzLmJlZ2luVW5kb01hY3JvKGkpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKTtjb25zdCBzPW5ldyBscChlLHQsaSk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpLHRoaXMuc2F2ZUxpbmVUb29sU3RhdGUoZSxpKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMubW9kZWwoKS51cGRhdGVTb3VyY2UoZSl9YXBwbHlMaW5lVG9vbHNUZW1wbGF0ZShlKXtpZigic291cmNlcyJpbiBlKXtjb25zdHtzb3VyY2VzOnQsZGF0YTppfT1lO3RoaXMuYmVnaW5VbmRvTWFjcm8oZ18pO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5hcHBseUxpbmVUb29sVGVtcGxhdGUoZSxpLG51bGwpO3RoaXMuZW5kVW5kb01hY3JvKCl9ZWxzZXtjb25zdHtwcm9wZXJ0aWVzOnQsZGF0YTppfT1lO2kuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzPSgwLEpsLm1lcmdlSW50ZXJ2YWxWaXNpYmlsaXRpZXNEZWZhdWx0cykoaS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHQuYXBwbHlUZW1wbGF0ZShpLHQuZmFjdG9yeURlZmF1bHRzKCkpLHQuc2F2ZURlZmF1bHRzKCl9fXJlcGxheVN0YXR1cygpe3JldHVybiB0aGlzLm1fbW9kZWwucmVwbGF5U3RhdHVzKCl9c2V0UmVwbGF5U3RhdHVzKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuc2V0UmVwbGF5U3RhdHVzKGUpfWlzSW5SZXBsYXkoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmlzSW5SZXBsYXkoKX1nZXRTeW1ib2xTdHJpbmcoKXtyZXR1cm4gdGhpcy5tX21vZGVsLmdldFN5bWJvbFN0cmluZygpfWludGVydmFsKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5pbnRlcnZhbCgpfW9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQoKX1zd2l0Y2hUb1JlcGxheShlLHQsaSl7CnRoaXMuX3VuZG9IaXN0b3J5LmNsZWFyU3RhY2soKSx0aGlzLm1fbW9kZWwuc3dpdGNoVG9SZXBsYXkoZSx0LGkpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLl91bmRvSGlzdG9yeS5jbGVhclN0YWNrKCksdGhpcy5tX21vZGVsLnN3aXRjaFRvUmVhbHRpbWUoKX1jYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3JldHVybiB0aGlzLm1vZGVsKCkuY2FuQ2hhbmdlUmVzb2x1dGlvbihlKX1jYW5DaGFuZ2VTeW1ib2woZSl7cmV0dXJuIHRoaXMubW9kZWwoKS5jYW5DaGFuZ2VTeW1ib2woZSl9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLm1vZGVsKCkub25SZXBsYXlNb2RpZmllZCgpfXN0YXJ0Q3VzdG9tTW92aW5nKGUsdCxpKXt0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQ9bmV3IGpvKHRoaXMubW9kZWwoKSxlLHQsaSl9Y3VzdG9tTW92ZUJlaW5nUHJvY2Vzc2VkKCl7cmV0dXJuIG51bGwhPT10aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmR9cHJvY2Vzc0N1c3RvbU1vdmUoZSl7KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLm1vdmUoZSl9ZW5kQ3VzdG9tTW92aW5nKCl7bnVsbCE9PXRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZCYmdGhpcy5fY3VycmVudEN1c3RvbU1vdmVDb21tYW5kLmhhc0NoYW5nZXMoKSYmKHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0aGlzLl9jdXJyZW50Q3VzdG9tTW92ZUNvbW1hbmQpLHRoaXMuX2N1cnJlbnRDdXN0b21Nb3ZlQ29tbWFuZD1udWxsKX1zdGF0ZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnN0YXRlKGUpfXBhbmVzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lcygpfWNsb25lTGluZVRvb2xzKGUsdCl7aWYoZS5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZS50b29sbmFtZSwiQ2xvbmUiLCJjaGFydF9kcmF3aW5nX2Nsb25lIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKE5wKTtjb25zdCBpPW5ldyBlcih0aGlzLl9tb2RlbCgpLGUsdCxOcCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpO2NvbnN0IHM9aS5uZXdJZHMoKS5tYXAoKGU9PigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VGb3JJZChlKSkpKS5maWx0ZXIoKGU9PjAhPT1lLnNoYXJpbmdNb2RlKCkudmFsdWUoKSkpO3JldHVybiBzLmxlbmd0aCYmdGhpcy5fbW9kZWwoKS5jb3B5VG9PdGhlckNoYXJ0cyhzLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpLHRoaXMuZW1pdEV2ZW50KCJjbG9uZUxpbmVUb29scyIpLGkubmV3SWRzKCl9cmVtb3ZlU291cmNlKGUsdCxpKXt0aGlzLmxpbmVCZWluZ0NyZWF0ZWQoKSE9PWU/dGhpcy5yZW1vdmVTb3VyY2VzKFtlXSx0LE1wLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KSxpKTp0aGlzLmNhbmNlbENyZWF0aW5nTGluZSgpfXJlbW92ZVNlbGVjdGVkU291cmNlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwoKS5zZWxlY3Rpb24oKS5kYXRhU291cmNlcygpO2lmKCFlLmxlbmd0aClyZXR1cm47Y29uc3QgdD0oZS5sZW5ndGg+MT9JcDpNcCkuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMucmVtb3ZlU291cmNlcyhlLCExLHQpfXJlbW92ZVNvdXJjZXMoZSx0LGkscyl7c3x8KGU9ZS5maWx0ZXIoKGU9PmUuaXNVc2VyRGVsZXRhYmxlKCkpKSk7Y29uc3Qgbj10aGlzLl9tb2RlbCgpLHI9bi5saW5lVG9vbHNHcm91cE1vZGVsKCk7dGhpcy5iZWdpblVuZG9NYWNybyhpKSxuLnNlbGVjdGlvbk1hY3JvKChzPT57Y29uc3Qgbz1uZXcgTWFwO2UuZm9yRWFjaCgoZT0+e2lmKCgwLHJpLmlzTGluZVRvb2wpKGUpKXtjb25zdCB0PXIuZ3JvdXBGb3JMaW5lVG9vbChlKTtpZihudWxsIT09dCl7Y29uc3QgaT1vLmdldCh0KXx8W107aS5wdXNoKGUpLG8uc2V0KHQsaSl9bnVsbCE9PWUubGlua0tleSgpLnZhbHVlKCkmJigwLFQucmVtb3ZlTGluZVRvb2wpKHt3aXRoVW5kbzohMCxtb2RlbDp0aGlzLm1vZGVsKCksbGlua0tleTooMCxsLmVuc3VyZU5vdE51bGwpKGUubGlua0tleSgpLnZhbHVlKCkpLHN5bWJvbDp0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpLGxpbmVUb29sU3RhdGU6ZS5zdGF0ZSghMSksc291cmNlVGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZSl9KX19KSk7Y29uc3QgYT1uZXcgdHIuUmVtb3ZlU291cmNlc1VuZG9Db21tYW5kKG4sZSxpKSxjPWEucmVtb3ZlZElkcygpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChhKSwhdCYmYy5sZW5ndGg+MCYmKDE9PT1jLmxlbmd0aD90aGlzLmVtaXRFdmVudCgicmVtb3ZlU291cmNlIixbY1swXV0pOnRoaXMuZW1pdEV2ZW50KCJyZW1vdmVTb3VyY2VzIixbY10pKX0pLCEwKSx0aGlzLmVuZFVuZG9NYWNybygpfWFzeW5jIHNjcm9sbFRvTGluZVRvb2woZSl7Y29uc3QgdD10aGlzLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBpPWUucG9pbnRzKCkubWFwKChlPT5lLmluZGV4KSkscz10aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKTtpZihudWxsPT09cylyZXR1cm47bGV0IG49cy5maXJzdEluZGV4O2NvbnN0IHI9cy5sYXN0SW5kZXgsbz10Lmxlbmd0aCgpLzI7aWYoMD09PWkubGVuZ3RofHxpLnNvbWUoKGU9PnQuY29udGFpbnMoZSkpKSlyZXR1cm47Y29uc3QgYz0oKT0+e2NvbnN0IHQ9ZS5wb2ludHMoKS5tYXAoKGU9PmUuaW5kZXgpKSxpPXQuZmlsdGVyKChlPT5lPD1yKSkucmVkdWNlKCgoZSx0KT0+bnVsbD09PWU/dDpNYXRoLm1heChlLHQpKSxudWxsKTtyZXR1cm4gbnVsbCE9PWk/aTp0LnJlZHVjZSgoKGUsdCk9Pk1hdGgubWluKGUsdCkpKX07bGV0IGg9YygpO2lmKG4tbz5oKXsKY29uc3QgdD1lLnBvaW50cygpLm1hcCgoZT0+ZS50aW1lKSkuZmlsdGVyKGEubm90VW5kZWZpbmVkKS5tYXAoKGU9PjFlMyplKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybjtjb25zdCBpPXQucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0KSksdFswXSk7YXdhaXQgdGhpcy5tb2RlbCgpLmdvdG9UaW1lKGkpLGg9YygpO2lmKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSkuY29udGFpbnMoaCkpcmV0dXJuO249KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLnRpbWVTY2FsZSgpLnBvaW50cygpLnJhbmdlKCkudmFsdWUoKSkuZmlyc3RJbmRleH1uLW8+aCYmdGhpcy5tYWluU2VyaWVzKCkuc2V0R290b0RhdGVSZXN1bHQoe3RpbWVzdGFtcDooMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMudGltZVNjYWxlKCkucG9pbnRzKCkudmFsdWVBdChuKSksZW9kOiEwfSk7Y29uc3QgZD10aGlzLnRpbWVTY2FsZSgpLndpZHRoKCkvMix1PXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUoaCk7dGhpcy5tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLm1vZGVsKCkuc2V0VGltZVNjYWxlQW5pbWF0aW9uKG5ldyBGbih7ZnJvbTowLHRvOmQtdSxkdXJhdGlvbjpFbi5kdXIsZWFzaW5nOkVuLmVhc2luZ0Z1bmMuZWFzZUluT3V0Q3ViaWN9KSl9bWVyZ2VTb3VyY2VVcChlKXtjb25zdCB0PW5ldyBoci5NZXJnZVVwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLE9wKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVNvdXJjZURvd24oZSl7Y29uc3QgdD1uZXcgaHIuTWVyZ2VEb3duVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLFdwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tZXJnZVRvUGFuZShlLHQsaSl7Y29uc3Qgcz10aGlzLl9tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxuPW5ldyBoci5NZXJnZVRvVGFyZ2V0UGFuZSh0aGlzLl9tb2RlbCgpLGUscyxGcCxpKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSxuKX11bm1lcmdlU291cmNlVXAoZSl7Y29uc3QgdD1uZXcgbHIodGhpcy5fbW9kZWwoKSxlLEhwKTt0aGlzLl93aXRoS2VlcFdpZGdldFBhbmVQb3NpdGlvbkd1YXJkKCgoKT0+dGhpcy5fbWVyZ2VVbm1lcmdlU291cmNlKGUsdCkpLHQudGV4dCgpKX11bm1lcmdlU291cmNlRG93bihlKXtjb25zdCB0PW5ldyBhcih0aGlzLl9tb2RlbCgpLGUsenApO3RoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KSksdC50ZXh0KCkpfXVubWVyZ2VUb05ld0JvdHRvbVBhbmUoZSl7Y29uc3QgdD1uZXcgY3IodGhpcy5fbW9kZWwoKSxlLFVwKTt0aGlzLl9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KX1tb3ZlTGVmdCgpe3RoaXMuYmVnaW5VbmRvTWFjcm8ocl8pLCgwLE9uLmRvQW5pbWF0ZSkoe3RvOnRoaXMubV9tb2RlbC50aW1lU2NhbGUoKS53aWR0aCgpLzUsb25TdGVwOmU9Pnt0aGlzLnN0YXJ0U2Nyb2xsVGltZShlKSx0aGlzLnNjcm9sbFRpbWVUbygwKSx0aGlzLmVuZFNjcm9sbFRpbWUoKX0sb25Db21wbGV0ZTooKT0+e3RoaXMuZW5kVW5kb01hY3JvKCl9fSl9bW92ZVJpZ2h0KCl7dGhpcy5iZWdpblVuZG9NYWNybyhvXyksKDAsT24uZG9BbmltYXRlKSh7dG86dGhpcy5tX21vZGVsLnRpbWVTY2FsZSgpLndpZHRoKCkvNSxvblN0ZXA6ZT0+e3RoaXMuc3RhcnRTY3JvbGxUaW1lKDApLHRoaXMuc2Nyb2xsVGltZVRvKGUpLHRoaXMuZW5kU2Nyb2xsVGltZSgpfSxvbkNvbXBsZXRlOigpPT57dGhpcy5lbmRVbmRvTWFjcm8oKX19KX1hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCksaT1lLmZpbHRlcihyaS5pc0xpbmVUb29sKSxzPWkubWFwKChlPT50Lmdyb3VwRm9yTGluZVRvb2woZSkpKTsoMCxsLmFzc2VydCkobmV3IFNldChzKS5zaXplPD0xLCJDYW5ub3QgbW92ZSBsaW5lIHRvb2xzIGZyb20gZGlmZmVyZW50IGdyb3VwIik7Y29uc3Qgbj0wPT09cy5sZW5ndGg/bnVsbDpzWzBdO2xldCByPXticmluZ0ZvcndhcmRFbmFibGVkOiExLGJyaW5nVG9Gcm9udEVuYWJsZWQ6ITEsc2VuZEJhY2t3YXJkRW5hYmxlZDohMSxzZW5kVG9CYWNrRW5hYmxlZDohMX07Y29uc3Qgbz1uZXcgU2V0KGkpO2Zvcihjb25zdCB0IG9mKDAsZHIuc29ydFNvdXJjZXMpKGUpKXtpZigoMCxyaS5pc0xpbmVUb29sKSh0KSYmbnVsbCE9PW4pe2NvbnN0IGU9KDAsZHIuc29ydFNvdXJjZXMpKG4ubGluZVRvb2xzKCkuZmlsdGVyKChlPT4hby5oYXMoZSl8fGU9PT10KSkpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDp0IT09ZVtlLmxlbmd0aC0xXSxicmluZ1RvRnJvbnRFbmFibGVkOnQhPT1lW2UubGVuZ3RoLTFdLHNlbmRCYWNrd2FyZEVuYWJsZWQ6dCE9PWVbMF0sc2VuZFRvQmFja0VuYWJsZWQ6dCE9PWVbMF19KTtjb250aW51ZX1jb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHQpKS5zb3VyY2VzQnlHcm91cCgpLmFsbEV4Y2VwdFNwZWNpYWxTb3VyY2VzKCk7aWYoMD09PWUubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGk9dC56b3JkZXIoKSxzPWVbMF0uem9yZGVyKCksYT1lW2UubGVuZ3RoLTFdLnpvcmRlcigpO3I9eV8ocix7YnJpbmdGb3J3YXJkRW5hYmxlZDppIT09YSxicmluZ1RvRnJvbnRFbmFibGVkOmkhPT1hLHNlbmRCYWNrd2FyZEVuYWJsZWQ6aSE9PXMsc2VuZFRvQmFja0VuYWJsZWQ6aSE9PXN9KX1yZXR1cm4gcn1zZW5kVG9CYWNrKGUpe2lmKCF0aGlzLmF2YWlsYWJsZVpPcmRlck9wZXJhdGlvbnMoZSkuc2VuZFRvQmFja0VuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIHRvIGJhY2sgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpCjt0PW5ldyBEcih0aGlzLm1vZGVsKCksKDAsZHIuc29ydFNvdXJjZXMpKGUpLGlbMF0pfX1udWxsPT09dCYmKHQ9bmV3IElyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSkpKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW2VdKX1icmluZ1RvRnJvbnQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ1RvRnJvbnRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgdG8gZnJvbnQgb3BlcmF0aW9uIGlzIHVuYXZhaWxhYmxlIik7bGV0IHQ9bnVsbDtjb25zdCBpPWVbMF07aWYoKDAscmkuaXNMaW5lVG9vbCkoaSkpe2NvbnN0IHM9dGhpcy5fbW9kZWwoKS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbChpKTtpZihudWxsIT09cyl7Y29uc3QgaT1zLmxpbmVUb29scygpO3Q9bmV3IEFyKHRoaXMubW9kZWwoKSwoMCxkci5zb3J0U291cmNlcykoZSksaVtpLmxlbmd0aC0xXSl9fW51bGw9PT10JiYodD1uZXcgTXIodGhpcy5tb2RlbCgpLCgwLGRyLnNvcnRTb3VyY2VzKShlKSkpLHRoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLmVtaXRFdmVudCgiY2hhbmdlWk9yZGVyIixbZV0pfXNlbmRCYWNrd2FyZChlKXtpZighdGhpcy5hdmFpbGFibGVaT3JkZXJPcGVyYXRpb25zKGUpLnNlbmRCYWNrd2FyZEVuYWJsZWQpdGhyb3cgbmV3IEVycm9yKCJTZW5kIGJhY2t3YXJkIG9wZXJhdGlvbiBpcyB1bmF2YWlsYWJsZSIpO2NvbnN0IHQ9YnAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKX0pO3RoaXMuX3NlbmRCYWNrT3JCcmluZ0ZvcndhcmQodCwoMCxkci5zb3J0U291cmNlcykoZSksKChlLHQpPT5uZXcgUnIodGhpcy5tb2RlbCgpLGUsdCkpKX1icmluZ0ZvcndhcmQoZSl7aWYoIXRoaXMuYXZhaWxhYmxlWk9yZGVyT3BlcmF0aW9ucyhlKS5icmluZ0ZvcndhcmRFbmFibGVkKXRocm93IG5ldyBFcnJvcigiQnJpbmcgZm9yd2FyZCBvcGVyYXRpb24gaXMgdW5hdmFpbGFibGUiKTtjb25zdCB0PXdwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSl9KTt0aGlzLl9zZW5kQmFja09yQnJpbmdGb3J3YXJkKHQsKDAsZHIuc29ydFNvdXJjZXMpKGUpLCgoZSx0KT0+bmV3IEJyKHRoaXMubW9kZWwoKSxlLHQpKSl9aW5zZXJ0QWZ0ZXIoZSx0KXtlPSgwLGRyLnNvcnRTb3VyY2VzKShlKTtjb25zdCBpPUNwLmZvcm1hdCh7dGl0bGU6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsZVswXSksdGFyZ2V0OigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLHQpfSk7dGhpcy5faW5zZXJ0QWZ0ZXJPckJlZm9yZShpLGUsdCwoKCk9Pm5ldyBBcih0aGlzLm1vZGVsKCksZSx0KSkpfWluc2VydEJlZm9yZShlLHQpe2U9KDAsZHIuc29ydFNvdXJjZXMpKGUpO2NvbnN0IGk9UHAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlWzBdKSx0YXJnZXQ6KDAsdXIuZ2V0VHJhbnNsYXRlZFN0cmluZ0ZvclNvdXJjZSkoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsdCl9KTt0aGlzLl9pbnNlcnRBZnRlck9yQmVmb3JlKGksZSx0LCgoKT0+bmV3IERyKHRoaXMubW9kZWwoKSxlLHQpKSl9ZGV0YWNoVG9SaWdodChlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgdG8gbmV3IHJpZ2h0IHNjYWxlIik7Y29uc3QgaT1HcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsInJpZ2h0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoVG9MZWZ0KGUsdCl7KDAsTXQudHJhY2tFdmVudCkoIkNoYXJ0IiwiTW92ZSB0byBuZXcgbGVmdCBzY2FsZSIpO2NvbnN0IGk9anAuZm9ybWF0KHt0aXRsZTooMCx1ci5nZXRUcmFuc2xhdGVkU3RyaW5nRm9yU291cmNlKShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSxlKX0pLHM9bmV3IFZvLk1vdmVUb05ld1ByaWNlU2NhbGVVbmRvQ29tbWFuZCh0aGlzLm1vZGVsKCksZSx0LCJsZWZ0IixpKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyksdGhpcy5lbWl0RXZlbnQoIm1vdmVTb3VyY2UiLFtlXSl9ZGV0YWNoTm9TY2FsZShlLHQpeygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1ha2Ugc291cmNlIG5vIHNjYWxlIik7Y29uc3QgaT1xcC5mb3JtYXQoe3RpdGxlOigwLHVyLmdldFRyYW5zbGF0ZWRTdHJpbmdGb3JTb3VyY2UpKE5uLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLGUpfSkscz1uZXcgVm8uTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKHRoaXMubW9kZWwoKSxlLHQsIm92ZXJsYXkiLGkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChzKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1tb3ZlVG9TY2FsZShlLHQsaSxzLG4peygwLE10LnRyYWNrRXZlbnQpKCJDaGFydCIsIk1vdmUgc291cmNlIHRvIHRhcmdldCBzY2FsZSIpLHRoaXMuYmVnaW5VbmRvTWFjcm8ocyk7Y29uc3Qgcj1uZXcgVm8uTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQodGhpcy5tb2RlbCgpLGUsdCxpLHMpLG89bj9udWxsOnpuKGUsaSx0aGlzLl9tb2RlbCgpKSxhPW4/bnVsbDooMCxkdS5zb3VyY2VOZXdVbml0T25QaW5uaW5nVG9QcmljZVNjYWxlKShlLGksdGhpcy5fbW9kZWwoKSksbD1uP251bGw6RWgoZSxpLHRoaXMuX21vZGVsKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSwKbnVsbCE9PW8mJnRoaXMuc2V0UHJpY2VTY2FsZUN1cnJlbmN5KGksbyksbnVsbCE9PWEmJnRoaXMuc2V0UHJpY2VTY2FsZVVuaXQoaSxhKSxudWxsIT09bCYmdGhpcy5zZXRQcmljZVNjYWxlTWV0cmljKGksbCksdGhpcy5lbmRVbmRvTWFjcm8oKSx0aGlzLmVtaXRFdmVudCgibW92ZVNvdXJjZSIsW2VdKX1zZXRMaW5raW5nR3JvdXBJbmRleChlKXtjb25zdCB0PXRoaXMubW9kZWwoKS5saW5raW5nR3JvdXBJbmRleCgpO3RoaXMuX3VuZG9IaXN0b3J5LmJlZ2luVW5kb01hY3JvKG1fKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IHJwKHQsdC52YWx1ZSgpLGUsbV8pKSx0aGlzLl9tb2RlbCgpLnNldFNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW4oITApLHRoaXMuX3VuZG9IaXN0b3J5LmVuZFVuZG9NYWNybygpfXN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpe3QuaXNBdXRvU2NhbGUoKXx8KHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFN0YXRlPXQuc3RhdGUoKSx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9aSx0aGlzLl9tb2RlbCgpLnN0YXJ0U2Nyb2xsUHJpY2UoZSx0LGkpKX1zY3JvbGxQcmljZVRvKGUsdCxpKXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZSYmdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsUG9zJiZNYXRoLmFicyh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3MtaSk+MjAmJih0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubV9tb2RlbCxlLHQsdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGUsdm9pZCAwLCExKSksdGhpcy5faW5pdGlhbFByaWNlU2Nyb2xsU3RhdGU9bnVsbCx0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxQb3M9bnVsbCksdGhpcy5fbW9kZWwoKS5zY3JvbGxQcmljZVRvKGUsdCxpKSl9ZW5kU2Nyb2xsUHJpY2UoZSx0KXt0LmlzQXV0b1NjYWxlKCl8fCh0aGlzLl9pbml0aWFsUHJpY2VTY3JvbGxTdGF0ZT1udWxsLHRoaXMuX2luaXRpYWxQcmljZVNjcm9sbFBvcz1udWxsLHRoaXMuX21vZGVsKCkuZW5kU2Nyb2xsUHJpY2UoZSx0KSl9c3RhcnRTY3JvbGxUaW1lKGUpe3RoaXMubW9kZWwoKS5zdGFydFNjcm9sbFRpbWUoZSl9c2Nyb2xsVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY3JvbGxUaW1lVG8oZSl9ZW5kU2Nyb2xsVGltZSgpe3RoaXMubW9kZWwoKS5lbmRTY3JvbGxUaW1lKCl9c3RhcnRTY2FsZVRpbWUoZSl7dGhpcy5tb2RlbCgpLnN0YXJ0U2NhbGVUaW1lKGUpfXNjYWxlVGltZVRvKGUpe3RoaXMubW9kZWwoKS5zY2FsZVRpbWVUbyhlKX1lbmRTY2FsZVRpbWUoKXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVUaW1lKCl9cmVzZXRUaW1lU2NhbGUoKXt0aGlzLm1vZGVsKCkucmVzZXRUaW1lU2NhbGUoKX1zdGFydFNjYWxlUHJpY2UoZSx0LGkscyl7dGhpcy5fc2NhbGVQcmljZUluZm89e3ByaWNlU2NhbGVTdGF0ZTp0LnN0YXRlKCksdHJ5TWVyZ2VDb25zZWN1dGl2ZVNjYWxlczpzfSx0aGlzLm1vZGVsKCkuc3RhcnRTY2FsZVByaWNlKGUsdCxpKX1zY2FsZVByaWNlVG8oZSx0LGkpe3RoaXMubW9kZWwoKS5zY2FsZVByaWNlVG8oZSx0LGkpfWVuZFNjYWxlUHJpY2UoZSx0KXt0aGlzLm1vZGVsKCkuZW5kU2NhbGVQcmljZShlLHQpO2NvbnN0IGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zY2FsZVByaWNlSW5mbyk7KDAscy5kZWZhdWx0KShpLnByaWNlU2NhbGVTdGF0ZSx0LnN0YXRlKCkpfHx0aGlzLl9wdXNoVW5kb0NvbW1hbmQobmV3IE9zKHRoaXMubW9kZWwoKSxlLHQsaS5wcmljZVNjYWxlU3RhdGUsaS50cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzKSksdGhpcy5fc2NhbGVQcmljZUluZm89bnVsbH1zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyxuKXt0aGlzLl9zY2FsZVByaWNlSW5mbz17cHJpY2VTY2FsZVN0YXRlOnQuc3RhdGUoKSx0cnlNZXJnZUNvbnNlY3V0aXZlU2NhbGVzOm59LHRoaXMubW9kZWwoKS5zdGFydFR3b1BvaW50c1NjYWxlUHJpY2UoZSx0LGkscyl9dHdvUG9pbnRzU2NhbGVQcmljZVRvKGUsdCxpLHMpe3RoaXMubW9kZWwoKS50d29Qb2ludHNTY2FsZVByaWNlVG8oZSx0LGkscyl9ZW5kVHdvUG9pbnRzU2NhbGVQcmljZShlLHQpe3RoaXMubW9kZWwoKS5lbmRUd29Qb2ludHNTY2FsZVByaWNlKGUsdCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX3NjYWxlUHJpY2VJbmZvKTsoMCxzLmRlZmF1bHQpKGkucHJpY2VTY2FsZVN0YXRlLHQuc3RhdGUoKSl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT3ModGhpcy5tb2RlbCgpLGUsdCxpLnByaWNlU2NhbGVTdGF0ZSxpLnRyeU1lcmdlQ29uc2VjdXRpdmVTY2FsZXMpKSx0aGlzLl9zY2FsZVByaWNlSW5mbz1udWxsfXJlc2V0UHJpY2VTY2FsZShlLHQpe2NvbnN0IGk9dC5zdGF0ZSgpO3RoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUoZSx0KSwoMCxzLmRlZmF1bHQpKGksdC5zdGF0ZSgpKXx8dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBPcyh0aGlzLm1fbW9kZWwsZSx0LGkpKX1yZWFycmFuZ2VQYW5lcyhlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX1tb3ZlUGFuZShlLHQpe2NvbnN0IGk9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0scz1uZXcgenIodGhpcy5fbW9kZWwoKSxlLHQpO2kubW9kZSgpPT09TS5QYW5lTW9kZS5XaWRnZXQ/dGhpcy5fcHVzaFVuZG9Db21tYW5kKHMpOnRoaXMuX3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoKCgpPT50aGlzLl9wdXNoVW5kb0NvbW1hbmQocykpLHMudGV4dCgpKX10b2dnbGVDb2xsYXBzZWRQYW5lKGUpe2NvbnN0IHQ9dGhpcy5wYW5lcygpLmZpbmRJbmRleCgodD0+dD09PWUpKTt0PDB8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgR24odGhpcy5fbW9kZWwoKSx0KSl9dG9nZ2xlTWF4aW1pemVkUGFuZShlKXsKdGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBxbih0aGlzLl9tb2RlbCgpLGUpKX1yZWFkT25seSgpe3JldHVybiB0aGlzLm1fbW9kZWwucmVhZE9ubHkoKX1jaGVja0lmRmVhdHVyZUF2YWlsYWJsZShlLHQpe2NvbnN0IGk9dC5sZW5ndGg+MCxzPSgwLG5hLmlzRnVuZGFtZW50YWxTdHVkeU1ldGFJbmZvKShlKSxuPSgwLG5hLmlzRm9yZWNhc3RTdHVkeU1ldGFJbmZvKShlKSxyPXRoaXMuY2FuQ3JlYXRlU3R1ZHkoe2lkOmUuaWQsY2hpbGQ6aSxmdW5kYW1lbnRhbDpzLHN0dWJUaXRsZTplLmRlc2NyaXB0aW9ufHxlLnNob3J0RGVzY3JpcHRpb24sZm9yZWNhc3Q6bn0pO3JldHVybiEhci5zdWNjZXNzfHwod18odGhpcy5tb2RlbCgpLHIpLCExKX1hc3luYyBwYXN0ZVNvdXJjZUZyb21DbGlwKGUsdCxpKXtjb25zdCBzPXQ7aWYoIXN8fDA9PT1zLnNvdXJjZXMubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IG49ZXx8KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZSh0aGlzLm1haW5TZXJpZXMoKSkpO2lmKCFzLnNvdXJjZXMuc29tZSgoZT0+ImRyYXdpbmciIT09ZS50eXBlfHxudWxsIT09bi5jbGlwYm9hcmRMaW5lVG9vbE93bmVyU291cmNlKGUuc291cmNlLmlkKSkpKXJldHVybiBudWxsO2NvbnN0IHI9QXJyYXkuZnJvbShuZXcgU2V0KHMuc291cmNlcy5maWx0ZXIoSG4uaXNMaW5lVG9vbENsaXBib2FyZERhdGEpLm1hcCgoZT0+ZS5zb3VyY2UudHlwZSkpKSk7YXdhaXQgUHJvbWlzZS5hbGwoci5tYXAoKGU9PigwLHJpLmluaXRMaW5lVG9vbCkoZSkpKSk7aWYoci5zb21lKChlPT4hKDAsUnUuZW5zdXJlRHJhd2luZ0NyZWF0aW9uQWxsb3dlZCkoZSwiUGFzdGUiLCJjaGFydF9kcmF3aW5nX3Bhc3RlIikpKSlyZXR1cm5bXTt0aGlzLmJlZ2luVW5kb01hY3JvKEtwLmZvcm1hdCh7dGl0bGU6cy50aXRsZX0pKTtjb25zdCBvPVtdLGE9W107Zm9yKGNvbnN0IHQgb2Ygcy5zb3VyY2VzKWlmKCJkcmF3aW5nIj09PXQudHlwZSYmbnVsbCE9PW4uY2xpcGJvYXJkTGluZVRvb2xPd25lclNvdXJjZSh0LnNvdXJjZS5pZCkpe2NvbnN0IGU9YXdhaXQgdGhpcy5wYXN0ZUxpbmVUb29sKG4sdCx2b2lkIDAsdm9pZCAwLCEwKTthLnB1c2goZSksby5wdXNoKGUpfWVsc2Uic3R1ZHkiPT09dC50eXBlJiZ0LnNvdXJjZSYmdC5zb3VyY2UubWV0YUluZm8mJnRoaXMuY2hlY2tJZkZlYXR1cmVBdmFpbGFibGUobmV3IG90LlN0dWR5TWV0YUluZm8odC5zb3VyY2UubWV0YUluZm8pLFtdKSYmby5wdXNoKHRoaXMucGFzdGVTdHVkeSh0LGk/ZTp2b2lkIDApKTtyZXR1cm4gYS5sZW5ndGgmJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksYS5mb3JFYWNoKCh0PT57ZS5hZGRJdGVtVG9TZWxlY3Rpb24odCxudWxsKX0pKX0pKSx0aGlzLmVuZFVuZG9NYWNybygpLG99YXN5bmMgcGFzdGVMaW5lVG9vbChlLHQsaSxzLG4pe2F3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKHQuc291cmNlLnR5cGUpLHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxKbC5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHQuc291cmNlLnN0YXRlLmludGVydmFsc1Zpc2liaWxpdGllcyksKDAsSmwubWFrZUludGVydmFsc1Zpc2liaWxpdGllc1Zpc2libGVBdEludGVydmFsKSh0LnNvdXJjZS5zdGF0ZS5pbnRlcnZhbHNWaXNpYmlsaXRpZXMsdGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkpO2NvbnN0IHI9bmV3IERvKHRoaXMubW9kZWwoKSx0LGUsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQocik7Y29uc3Qgbz1yLnNvdXJjZSgpO2lmKG4pe2NvbnN0IHQ9dGhpcy5fcmVzb2x2ZVByZXZpb3VzU2VsZWN0ZWRHcm91cChlKTtudWxsIT09dCYmdGhpcy5fbGluZVRvb2xzR3JvdXBDb250cm9sbGVyLmFkZExpbmVUb29sVG9Hcm91cCh0LG8pfXJldHVybiByLm5lZWRDb3B5VG9PdGhlckNoYXJ0cygpJiZ0aGlzLl9tb2RlbCgpLmNvcHlUb090aGVyQ2hhcnRzKFtvXSwhMCksdGhpcy5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKSxlLmFkZEl0ZW1Ub1NlbGVjdGlvbihvLG51bGwpfSkpLG99cGFzdGVTdHVkeShlLHQpe2NvbnN0IGk9bmV3IHpvKHRoaXMubW9kZWwoKSxlLHQ/LmlkKCkpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKTtjb25zdCBzPSgwLGwuZW5zdXJlTm90TnVsbCkoaS5zdGF0ZSgpKS5pZDtyZXR1cm4oMCwkLmVtaXQpKCJzdHVkeV9ldmVudCIscywicGFzdGVfc3R1ZHkiKSwoMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkuZGF0YVNvdXJjZUZvcklkKHMpKX1yZW1vdmVQYW5lKGUpe2NvbnN0IHQ9dGhpcy5tX21vZGVsLnBhbmVzKClbZV0uZGF0YVNvdXJjZXMoKS5zbGljZSgpO3RoaXMucmVtb3ZlU291cmNlcyh0LCExLFpwKX1jcmVhdGVQYW5lKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuY3JlYXRlUGFuZShlKX1zZXRQcmljZVNjYWxlQ3VycmVuY3koZSx0KXtjb25zdCBpPW5ldyBFbyh0aGlzLm1fbW9kZWwsZSx0LFJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZVVuaXQoZSx0KXtjb25zdCBpPW5ldyBSbyh0aGlzLm1fbW9kZWwsZSx0LFZwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9c2V0UHJpY2VTY2FsZU1ldHJpYyhlLHQpe3tjb25zdCBpPW5ldyBGdSh0aGlzLm1fbW9kZWwsZSx0LEJwKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQoaSl9fXNldFN5bWJvbChlLHQpe2Uuc3ltYm9sU2FtZUFzUmVzb2x2ZWQodCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgT28oZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c2V0UmVzb2x1dGlvbihlLHQpe3guSW50ZXJ2YWwuaXNFcXVhbChlLmludGVydmFsKCksdCl8fHRoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnAoZSx0LHRoaXMuX2NoYXJ0V2lkZ2V0KSl9c3luY0Nyb3NzaGFpcihlLHQpe3RoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bmNDcm9zc2hhaXIoZSx0aGlzLl9jaGFydFdpZGdldC5pZCgpLHQpfWxvYWRpbmdTY3JlZW4oKXsKcmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LnNjcmVlbn1jaGFydExvYWRUaGVtZShlLHQsaSl7Y29uc3Qgcz1uZXcgaXAodGhpcy5tb2RlbCgpLGUsdCk7aT9zLnJlZG8oKTp0aGlzLl9wdXNoVW5kb0NvbW1hbmQocyl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuaXNKdXN0Q2xvbmVkQ2hhcnQoKX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmlzTXVsdGlwbGVMYXlvdXQoKX1hZGRQYW5lU3RyZXRjaEZhY3RvclVuZG9Db21tYW5kKGUsdCxpLHMpe2NvbnN0IG49bmV3IFVvKHRoaXMubW9kZWwoKSxlLHQsaSxzKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQobil9YXBwbHlQcmVmZXJlbmNlcyhlKXt7Y29uc3QgdD1uZXcgU3AodGhpcy5tX21vZGVsLGUpO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KX19cGFuZUZvclNvdXJjZShlKXtyZXR1cm4gdGhpcy5tX21vZGVsLnBhbmVGb3JTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMubV9tb2RlbC5kZXN0cm95KCl9bW92ZVNlbGVjdGVkVG9vbHNMZWZ0KCl7cmV0dXJuIHRoaXMuX21vdmVTZWxlY3RlZFRvb2xzKDIpfW1vdmVTZWxlY3RlZFRvb2xzVXAoKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMCl9bW92ZVNlbGVjdGVkVG9vbHNSaWdodCgpe3JldHVybiB0aGlzLl9tb3ZlU2VsZWN0ZWRUb29scygzKX1tb3ZlU2VsZWN0ZWRUb29sc0Rvd24oKXtyZXR1cm4gdGhpcy5fbW92ZVNlbGVjdGVkVG9vbHMoMSl9aW5zZXJ0U3R1ZHlXaXRob3V0Q2hlY2soZSx0LGkscyl7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5KGUsdCx7fSwhMSxbXSx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGk/P251bGwsdm9pZCAwLHZvaWQgMCxzKX1zYXZlTGluZVRvb2xTdGF0ZShlLHQpe3RoaXMuX3B1c2hVbmRvQ29tbWFuZChuZXcgbnIodGhpcy5tX21vZGVsLFtlXSx0KSl9cmVzZXRTY2FsZXMoKXt0aGlzLl9tb2RlbCgpLnN0b3BUaW1lU2NhbGVBbmltYXRpb24oKSx0aGlzLmJlZ2luVW5kb01hY3JvKCRwKSx0aGlzLnJlc2V0VGltZVNjYWxlKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5tX21vZGVsLnBhbmVzKCkpe2Zvcihjb25zdCB0IG9mIGUubGVmdFByaWNlU2NhbGVzKCkpdGhpcy5yZXNldFByaWNlU2NhbGUoZSx0KTtmb3IoY29uc3QgdCBvZiBlLnJpZ2h0UHJpY2VTY2FsZXMoKSl0aGlzLnJlc2V0UHJpY2VTY2FsZShlLHQpfXRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tX21vZGVsLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4udmlld3BvcnRDaGFuZ2VFdmVudCkoKSl9c2hhcmVMaW5lVG9vbHMoZSx0KXtjb25zdCBpPTA9PT10P3VfOjE9PT10P3BfOl9fO3RoaXMud2l0aE1hY3JvKGksKCgpPT57MD09PXQmJnRoaXMudW5saW5rTGluZXMoZSksZS5mb3JFYWNoKChpPT57Y29uc3Qgcz10aGlzLm1vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwRm9yTGluZVRvb2woaSk7aWYocyl7Y29uc3Qgbj1zLmxpbmVUb29scygpLnNvbWUoKGU9PmUuaXNTeW5jaHJvbml6YWJsZSgpKSk7cy5saW5lVG9vbHMoKS5ldmVyeSgodD0+ZS5pbmNsdWRlcyh0KSkpJiYoMD09PXR8fGkuaXNTeW5jaHJvbml6YWJsZSgpfHwhbil8fHRoaXMubGluZVRvb2xzR3JvdXBDb250cm9sbGVyKCkuZXhjbHVkZUxpbmVUb29sRnJvbUdyb3VwKHMsaSl9dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBobyhpLHQsdGhpcy5tb2RlbCgpLG51bGwpKX0pKX0pKX1jYW5DcmVhdGVTdHVkeShlLHQpe3JldHVybiB0aGlzLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeShlLHQpfWNoYXJ0V2lkZ2V0Q29sbGVjdGlvbkxvY2soKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkubG9ja31vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwub25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKX1wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5wYW5lQmVpbmdDcmVhdGVkTGluZU9uKCl9aW52YWxpZGF0ZShlKXt0aGlzLm1fbW9kZWwuaW52YWxpZGF0ZShlKX1zZXRXaWR0aChlKXt0aGlzLm1fbW9kZWwuc2V0V2lkdGgoZSl9c2V0UGFuZUhlaWdodChlLHQpe3RoaXMubV9tb2RlbC5zZXRQYW5lSGVpZ2h0KGUsdCl9ZGF0YVNvdXJjZUZvcklkKGUpe3JldHVybiB0aGlzLm1fbW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpfWxpbmVCZWluZ0VkaXRlZCgpe3JldHVybiB0aGlzLm1fbW9kZWwubGluZUJlaW5nRWRpdGVkKCl9c291cmNlc0JlaW5nTW92ZWQoKXtyZXR1cm4gdGhpcy5tX21vZGVsLnNvdXJjZXNCZWluZ01vdmVkKCl9Z3JpZFNvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwuZ3JpZFNvdXJjZSgpfXdhdGVybWFya1NvdXJjZSgpe3JldHVybiB0aGlzLm1fbW9kZWwud2F0ZXJtYXJrU291cmNlKCl9bWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpe3JldHVybiB0aGlzLm1fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW9Qcm9wZXJ0eSgpfXNldEhvdmVyZWRTb3VyY2UoZSx0KXt0aGlzLm1fbW9kZWwuc2V0SG92ZXJlZFNvdXJjZShlLHQpfXNldEN1cnJlbnRQb3NpdGlvbihlLHQsaSxzKXt0aGlzLm1fbW9kZWwuc2V0Q3VycmVudFBvc2l0aW9uKGUsdCxpLHMpfXNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl7dGhpcy5tX21vZGVsLnNldEFuZFNhdmVDdXJyZW50UG9zaXRpb24oZSx0LGkscyl9dmVyc2lvbigpe3JldHVybiB0aGlzLm1fbW9kZWwudmVyc2lvbigpfXJlc3RhcnQoKXt0aGlzLm1fbW9kZWwucmVzdGFydCgpfWRpc2Nvbm5lY3QoKXt0aGlzLm1fbW9kZWwuZGlzY29ubmVjdCgpfWNhbGN1bGF0ZURlZmF1bHRUYWdzKCl7cmV0dXJuIHRoaXMubV9tb2RlbC5jYWxjdWxhdGVEZWZhdWx0VGFncygpfWRyYXdSaWdodFRoZXJlKGUsdCxpLHMpe2lmKCgwLG0uaXNMaW5lVG9vbE5hbWUpKGUpKXtpZih2b2lkIDA9PT1pKXtjb25zdCBlPXRoaXMuY3Jvc3NoYWlyU291cmNlKCkscz10aGlzLm1vZGVsKCkubWFnbmV0KCkuYWxpZ24oZS5wcmljZSxlLmluZGV4LHQpO2k9e2luZGV4OmUuaW5kZXgscHJpY2U6c319CmNvbnN0IG49dGhpcy5jcmVhdGVMaW5lVG9vbCh7cG9pbnQ6aSxsaW5ldG9vbDplLHBhbmU6dCxhY3Rpb25Tb3VyY2U6cyxrZWVwU2VsZWN0ZWRHcm91cDohMH0pO24mJnRoaXMuc2VsZWN0aW9uTWFjcm8oKGU9PntlLmNsZWFyU2VsZWN0aW9uKCksZS5hZGRJdGVtVG9TZWxlY3Rpb24obil9KSl9fXVubG9hZERhdGFTb3VyY2VzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpfHwoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeVN0dWIpKGUpKSk7KDAsYm8ucmVtb3ZlQWxsU291cmNlc1dpdGhEZXBlbmRlbmNpZXMpKGUsdCl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlzaWJsZSgpfWNoYXJ0RmxvYXRpbmdUb29sdGlwQWN0aXZlKCl7cmV0dXJuIHRoaXMuY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCkmJm51bGwhPT10aGlzLl9jaGFydFdpZGdldC5hY3RpdmVQYW5lV2lkZ2V0KCkudmFsdWUoKX1fbW9kZWwoKXtyZXR1cm4gdGhpcy5tX21vZGVsfV9wdXNoVW5kb0NvbW1hbmQoZSl7dGhpcy5fdW5kb0hpc3RvcnkucHVzaFVuZG9Db21tYW5kKGUpfV9tZXJnZVVubWVyZ2VTb3VyY2UoZSx0KXt0aGlzLmJlZ2luVW5kb01hY3JvKHQudGV4dCgpKTtjb25zdCBpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpKSxzPW5ldyBTZXQoaS5zb3VyY2VzQnlHcm91cCgpLmxpbmVTb3VyY2VzKCkuZmlsdGVyKCh0PT50Lm93bmVyU291cmNlKCk9PT1lKSkpO3RoaXMuX21vZGVsKCkubGluZVRvb2xzR3JvdXBNb2RlbCgpLmdyb3VwcygpLmZpbHRlcigoZT0+e2NvbnN0IHQ9ZS5saW5lVG9vbHMoKS5zb21lKChlPT5zLmhhcyhlKSkpLGk9ZS5saW5lVG9vbHMoKS5zb21lKChlPT4hcy5oYXMoZSkpKTtyZXR1cm4gdCYmaX0pKS5mb3JFYWNoKChlPT57dGhpcy5fcHVzaFVuZG9Db21tYW5kKG5ldyBpci5FeGNsdWRlTGluZVRvb2xzRnJvbUdyb3VwVW5kb0NvbW1hbmQodGhpcy5fbW9kZWwoKSxlLGUubGluZVRvb2xzKCkpKX0pKSx0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCksdGhpcy5lbmRVbmRvTWFjcm8oKX1faW5zZXJ0U3R1ZHkoZSx0LGkscyxuLHIsbyxhLGwsYyxoLGQsdSxwKXtjb25zdCBfPVhwLmZvcm1hdCh7dGl0bGU6ZS5kZXNjcmlwdGlvbn0pLG09bmV3IHFvLkluc2VydFN0dWR5Q29tbWFuZCh7Y2hhcnRNb2RlbDp0aGlzLm1vZGVsKCksc3R1ZHlNZXRhSW5mbzplLGlucHV0czp0LHByb3BzOmksYWRkQXNPdmVybGF5OnMscGFyZW50U291cmNlczpuLHByZWZlcnJlZFByaWNlU2NhbGU6cixhbGxvd0NoYW5nZUN1cnJlbmN5Om8sYWxsb3dDaGFuZ2VVbml0OmEsYWxsb3dDaGFuZ2VNZXRyaWM6bCxwYW5lU2l6ZTpjLHRhcmdldFpPcmRlcjpoPz9udWxsLHRhcmdldFNjYWxlTW9kZTpkLHN0dWR5SWQ6cCx1bmRvVGV4dDpfLGV2ZW50U291cmNlOnV9KTtyZXR1cm4gdGhpcy5fcHVzaFVuZG9Db21tYW5kKG0pLG0uaW5zZXJ0ZWRTdHVkeSgpfV9zdG9yZUZhaWxlZFN0dWIoZSl7Y29uc3QgdD1YcC5mb3JtYXQoe3RpdGxlOmUudGl0bGUoKX0pO3RoaXMuYmVnaW5VbmRvTWFjcm8odCk7Y29uc3QgaT1uZXcgYXAodGhpcy5tb2RlbCgpLGUsdCk7dGhpcy5fcHVzaFVuZG9Db21tYW5kKGkpLHRoaXMuZW5kVW5kb01hY3JvKCl9X3Jlc29sdmVQcmV2aW91c1NlbGVjdGVkR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9tb2RlbCgpLmxpbmVUb29sc0dyb3VwTW9kZWwoKSxpPWU9PigwLFhyLmlzTGluZVRvb2xzR3JvdXApKGUpP3RoaXMuX21vZGVsKCkucGFuZUZvckxpbmVUb29sc0dyb3VwKGUpOnRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShlKSxzPXQ9PmkodCk9PT1lLG49ZT0+KDAsWHIuaXNMaW5lVG9vbHNHcm91cCkoZSl8fCgwLHJpLmlzTGluZVRvb2wpKGUpJiYhIXQuZ3JvdXBGb3JMaW5lVG9vbChlKSxyPXRoaXMuX21vZGVsKCkuc2VsZWN0aW9uKCkuYWxsSXRlbXNTb3J0ZWQoKSxvPXIubGVuZ3RoP3I6KHRoaXMuX21vZGVsKCkucHJldmlvdXNTZWxlY3RlZERyYXdpbmdPckdyb3VwSWRzKCk/P1tdKS5tYXAoKGU9PnQuZ3JvdXBGb3JJZChlKT8/dGhpcy5fbW9kZWwoKS5kYXRhU291cmNlRm9ySWQoZSkpKS5maWx0ZXIoYS5pc0V4aXN0ZW50KTtyZXR1cm4oZT0+e2NvbnN0IGk9ZS5maWx0ZXIobikuZmlsdGVyKHMpO2lmKCFpLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCByPWlbaS5sZW5ndGgtMV07cmV0dXJuKDAsWHIuaXNMaW5lVG9vbHNHcm91cCkocik/cjp0Lmdyb3VwRm9yTGluZVRvb2wocil9KShvKX1hc3luYyBfcHJvY2Vzc1NwZWNpYWxMaW5lVG9vbHNDb250ZW50cyhlLHQsaSl7aWYodD10fHxhd2FpdCBlLnJlYWQoKSx3aW5kb3cudXNlci5pZCYmdC5maWxlcyl7Y29uc3QgZT1BcnJheS5mcm9tKHQuZmlsZXMpLmZpbmQoanMuYmxvYkltYWdlRmlsdGVyKTtpZihlKXtjb25zdCB0PVVSTC5jcmVhdGVPYmplY3RVUkwoZSkscz0oMCxqcy51cGxvYWRJbWFnZSkoZSk7cmV0dXJuIHZvaWQgMD09PWkmJihpPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMubWFpblNlcmllcygpKSkpLGF3YWl0KDAsa2kuZW5zdXJlTGluZVRvb2xMb2FkZWQpKCJMaW5lVG9vbEltYWdlIiksdGhpcy5wYXN0ZUltYWdlQXNMaW5lVG9vbChzLHQsaSksdm9pZCBhd2FpdCBzfX10LnRleHQmJih3aW5kb3cudXNlci5pZCYmIVNfJiYoMCxWdS5pc1R3aXR0ZXJVcmwpKHQudGV4dCk/KDAsVnUuY3JlYXRlVHdlZXRMaW5lVG9vbEJ5VXJsKSh0LnRleHQsdGhpcywhMCk6d2luZG93LnVzZXIuaWQmJigwLE51LmlzSWRlYVVybCkodC50ZXh0KT8oMCxOdS5jcmVhdGVJZGVhTGluZVRvb2xCeVVybCkodC50ZXh0LHRoaXMsITApOmFzeW5jIGZ1bmN0aW9uKGUsdCxpKXtpZihudWxsPT09dC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKSlyZXR1cm4gbnVsbDtjb25zdCBzPXQubWFpblNlcmllcygpLG49aT8/KDAsCmwuZW5zdXJlTm90TnVsbCkodC5tb2RlbCgpLnBhbmVGb3JTb3VyY2UocykpLHI9bi5kZWZhdWx0UHJpY2VTY2FsZSgpLG89KDAsbC5lbnN1cmVOb3ROdWxsKShyLm1haW5Tb3VyY2UoKSksYT10LnRpbWVTY2FsZSgpLGM9KDAsbC5lbnN1cmVOb3ROdWxsKShvLmZpcnN0VmFsdWUoKSksaD1hLmNvb3JkaW5hdGVUb0luZGV4KHQudGltZVNjYWxlKCkud2lkdGgoKS8yKSxkPW4uaGVpZ2h0KCkvMix1PXtwcmljZTpyLmNvb3JkaW5hdGVUb1ByaWNlKGQsYyksdGltZV90OigwLGwuZW5zdXJlTm90TnVsbCkoYS5pbmRleFRvVGltZVBvaW50KGgpKSxvZmZzZXQ6MH0scD1uLm5ld0xpbmVUb29sWk9yZGVyKCEwKSxfPUJ1LkxpbmVUb29sVGV4dC5jcmVhdGVQcm9wZXJ0aWVzKHQubW9kZWwoKS5iYWNrZ3JvdW5kVGhlbWUoKS5zcGF3bk93bmVyc2hpcCgpKSxtPV8uc3RhdGUoKTtfLmRlc3Ryb3koKSxtLnRleHQ9ZTtjb25zdCBnPXt0eXBlOiJkcmF3aW5nIixzb3VyY2U6e2lkOigwLGx0LnJhbmRvbUhhc2hOKSg2KSx6b3JkZXI6cCx0eXBlOiJMaW5lVG9vbFRleHQiLHN0YXRlOm0sc3ltYm9sOm8uc3ltYm9sU291cmNlKCkuc3ltYm9sKCksb3duZXJTb3VyY2U6by5pZCgpLHBvaW50czpbdV19LGdlb21ldHJ5OltdLG1vZGVsSWQ6dC5tb2RlbCgpLmlkKCksY2VudGVyZWRPbkNoYXJ0OiEwfSxmPWF3YWl0IHQucGFzdGVMaW5lVG9vbChuLGcsITEsITEpO1Euc2V0VmFsdWUoImhpbnQucGFzdGVUZXh0IiwhMCx7Zm9yY2VGbHVzaDohMH0pfSh0LnRleHQsdGhpcyxpKSl9X2luc2VydEFmdGVyT3JCZWZvcmUoZSx0LGkscyl7Y29uc3Qgbj0oMCxsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsKCkucGFuZUZvclNvdXJjZShpKSk7aWYodC5zb21lKChlPT4oMCxyaS5pc0xpbmVUb29sKShlKSYmdGhpcy5fbW9kZWwoKS5wYW5lRm9yU291cmNlKGUpIT09bikpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluc2VydCBsaW5lIHRvb2wgYWZ0ZXIgdGFyZ2V0IG9uIGFub3RoZXIgcGFuZSIpO3RoaXMuYmVnaW5VbmRvTWFjcm8oZSksdC5mb3JFYWNoKChlPT57KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkucGFuZUZvclNvdXJjZShlKSkhPT1uJiZ0aGlzLm1lcmdlVG9QYW5lKGUsbil9KSk7Y29uc3Qgcj1zKCk7dGhpcy5fd2l0aEtlZXBXaWRnZXRQYW5lUG9zaXRpb25HdWFyZCgoKCk9PnRoaXMuX3B1c2hVbmRvQ29tbWFuZChyKSksci50ZXh0KCkpLHRoaXMuZW1pdEV2ZW50KCJjaGFuZ2VaT3JkZXIiLFt0XSksdGhpcy5lbmRVbmRvTWFjcm8oKX1fc2VuZEJhY2tPckJyaW5nRm9yd2FyZChlLHQsaSl7Y29uc3Qgcz1uZXcgTWFwO3QuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbCgpLnBhbmVGb3JTb3VyY2UoZSkpLGk9cy5nZXQodCl8fFtdO2kucHVzaChlKSxzLnNldCh0LGkpfSkpLHRoaXMuYmVnaW5VbmRvTWFjcm8oZSkscy5mb3JFYWNoKCgoZSx0KT0+e3RoaXMuX3B1c2hVbmRvQ29tbWFuZChpKHQsZSkpfSkpLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5lbWl0RXZlbnQoImNoYW5nZVpPcmRlciIsW3RdKX1fbW92ZVNlbGVjdGVkVG9vbHMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4hZS5pc1NvdXJjZUhpZGRlbigpKSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiExO2lmKCgwLFQubG9ja0RyYXdpbmdzKSgpLnZhbHVlKCkpcmV0dXJuITA7Y29uc3QgaT10aGlzLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09aSlyZXR1cm4hMTtjb25zdCBzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkub3duZXJTb3VyY2UoKTtpZihudWxsPT09ZSljb250aW51ZTtsZXQgcz10LmdldChlKTtpZih2b2lkIDA9PT1zKXtjb25zdCBuPWUucHJpY2VTY2FsZSgpLHI9ZS5wcmljZVN0ZXAoKSxvPWUuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT1ufHxudWxsPT09cnx8bnVsbD09PW8pY29udGludWU7aWYobnVsbD09PW4ucHJpY2VSYW5nZSgpKWNvbnRpbnVlO3M9e3NvdXJjZXM6W10scHJpY2VTY2FsZTpuLHByaWNlU3RlcDpyLHN0YXJ0UHJpY2U6aS5wb2ludHMoKVswXS5wcmljZSxmaXJzdFZhbHVlOm99LHQuc2V0KGUscyl9cy5zb3VyY2VzLnB1c2goaSl9cmV0dXJuIHR9KHQpO2lmKDA9PT1zLnNpemUpcmV0dXJuITE7dGhpcy5iZWdpblVuZG9NYWNybyhrcCk7Y29uc3Qgbj1pLmZpcnN0QmFyKCkscj10aGlzLnRpbWVTY2FsZSgpLmluZGV4VG9Db29yZGluYXRlKG4pLG89bisoMz09PWU/MToyPT09ZT8tMTowKSxhPXRoaXMudGltZVNjYWxlKCkuaW5kZXhUb0Nvb3JkaW5hdGUobyk7cmV0dXJuIFQuaXNEaXJlY3Rpb25hbE1vdmVtZW50QWN0aXZlLnNldFZhbHVlKCEwKSxzLmZvckVhY2goKHQ9Pntjb25zdHtzdGFydFByaWNlOmkscHJpY2VTdGVwOnMscHJpY2VTY2FsZTpsLGZpcnN0VmFsdWU6Y309dCxoPWkrKDA9PT1lP3M6MT09PWU/LXM6MCksZD1sLnByaWNlVG9Db29yZGluYXRlKGksYyksdT1sLnByaWNlVG9Db29yZGluYXRlKGgsYykscD17bG9naWNhbDp7aW5kZXg6bixwcmljZTppfSxzY3JlZW46bmV3IFB0LlBvaW50KHIsZCl9LF89e2xvZ2ljYWw6e2luZGV4Om8scHJpY2U6aH0sc2NyZWVuOm5ldyBQdC5Qb2ludChhLHUpfTt0aGlzLnN0YXJ0TW92aW5nU291cmNlcyh0LnNvdXJjZXMscCxudWxsKSx0aGlzLm1vdmVTb3VyY2VzKF8pLHRoaXMuZW5kTW92aW5nU291cmNlKCExLCEwKX0pKSxULmlzRGlyZWN0aW9uYWxNb3ZlbWVudEFjdGl2ZS5zZXRWYWx1ZSghMSksdGhpcy5lbmRVbmRvTWFjcm8oKSwhMH1fcmVzdG9yZVN0dWR5RmFjdG9yeURlZmF1bHRzKGUpe2NvbnN0IHQ9bmV3IFF1KHRoaXMubV9tb2RlbCxlKTt0aGlzLl9wdXNoVW5kb0NvbW1hbmQodCl9X3Jlc3RvcmVMaW5lVG9vbEZhY3RvcnlEZWZhdWx0cyhlKXt0aGlzLmJlZ2luVW5kb01hY3JvKERwKSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApO2NvbnN0IHQ9bmV3IFp1KHRoaXMubV9tb2RlbCxlLnByb3BlcnRpZXMoKSxEcCkKO3RoaXMuX3B1c2hVbmRvQ29tbWFuZCh0KSx0aGlzLnNhdmVMaW5lVG9vbFN0YXRlKGUsRHApLHRoaXMuZW5kVW5kb01hY3JvKCksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZShlKX1fcmVtb3ZlQWxsRHJhd2luZ1Rvb2xzSW1wbChlLHQpe3RoaXMuc2VsZWN0aW9uTWFjcm8oKCgpPT57dGhpcy5saW5lQmVpbmdDcmVhdGVkKCkmJnRoaXMuY2FuY2VsQ3JlYXRpbmdMaW5lKCk7dGhpcy5kYXRhU291cmNlcygpLmZpbHRlcihyaS5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUuaXNBY3R1YWxTeW1ib2woKSYmZS5pc1VzZXJEZWxldGFibGUoKSkpLmZpbHRlcigoZT0+IXR8fHQ9PT1lLnRvb2xuYW1lKSkuZmlsdGVyKCh0PT5lfHwhdC5pc0xvY2tlZD8uKCkpKS5mb3JFYWNoKChlPT50aGlzLnJlbW92ZVNvdXJjZShlLCExKSkpfSksITApfV9yZW1vdmVBbGxTdHVkaWVzSW1wbCgpe2NvbnN0IGU9dGhpcy5kYXRhU291cmNlcygpLHQ9ZS5maWx0ZXIodGkuaXNTdHVkeSkuZmlsdGVyKChlPT4hZS5pc0NoaWxkU3R1ZHkoKSYmZS5yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKSkpLGk9ZS5maWx0ZXIodGkuaXNTdHVkeVN0dWIpO3QuY29uY2F0KGkpLmZvckVhY2goKGU9PnRoaXMucmVtb3ZlU291cmNlKGUsITEpKSl9X3dpdGhLZWVwV2lkZ2V0UGFuZVBvc2l0aW9uR3VhcmQoZSx0KXtjb25zdCBpPXRoaXMubV9tb2RlbC5wYW5lcygpLmZpbmRJbmRleCgoZT0+ZS5tb2RlKCk9PT1NLlBhbmVNb2RlLldpZGdldCkpLHM9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLmNvbnRhaW5zTWFpblNlcmllcygpKSk7aWYoLTE9PT1pfHwtMT09PXMpcmV0dXJuIHZvaWQgZSgpO2NvbnN0IG49aT5zO3RoaXMuYmVnaW5VbmRvTWFjcm8odCksZSgpO2NvbnN0IHI9dGhpcy5tX21vZGVsLnBhbmVzKCkuZmluZEluZGV4KChlPT5lLm1vZGUoKT09PU0uUGFuZU1vZGUuV2lkZ2V0KSksbz10aGlzLm1fbW9kZWwucGFuZXMoKS5maW5kSW5kZXgoKGU9PmUuY29udGFpbnNNYWluU2VyaWVzKCkpKTtpZihvIT09cyl7Y29uc3QgZT1uP28rMTpvO3RoaXMubW92ZVBhbmUocixlPnI/ZS0xOmUpfXRoaXMuZW5kVW5kb01hY3JvKCl9fXZhciBQXz1pKDY5MjY0KSxUXz1pKDY5NzQ3MikseF89aSgyMTYwODMpO2NsYXNzIE1fe2NvbnN0cnVjdG9yKCl7dGhpcy5fc2Vzc2lvbj17c3RhcnREYXRlOihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSx1cmw6d2luZG93LmxvY2F0aW9uLmhyZWYsZW50cmllczpbXX19YWRkUGVyc2lzdGVudExvZ0VudHJ5KGUsdCxpKXt0aGlzLl9zZXNzaW9uLmVudHJpZXMucHVzaCh7ZGF0ZToobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksbGV2ZWw6dCxtZXNzYWdlOmUsY2F0ZWdvcnk6aX0pfWFzeW5jIGdldExhc3RTZXNzaW9ucyhlKXtyZXR1cm5bdGhpcy5fc2Vzc2lvbl19cGVuZGluZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvbi5lbnRyaWVzfX12YXIgSV89aSg3Mzc1MjMpLExfPWkoNzI4NTgzKSxBXz1pKDI5MDMyNCk7Y29uc3Qga189cC50KG51bGwsdm9pZCAwLGkoNzQyNjQyKSk7ZnVuY3Rpb24gRF8oZSl7aWYoInJlcGxhY2VkX3RvX2V4Y2hhbmdlIj09PWUudHlwZSlyZXR1cm57dGV4dDprXyx3YXJuaW5nSWNvbjpMXyx3YXJuaW5nQ2xhc3NOYW1lOkFfLmljb24sd2FybmluZ1R5cGU6Im5vdGFjY3VyYXRlIixzb2x1dGlvbklkOmRlLnNvbHV0aW9uSWRzLldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0V9fWNsYXNzIEVfe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2FjdGl2ZUhpbnQ9bnVsbCx0aGlzLl9kZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9jaGFydD1lO2UubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xSZXNvbHZlZCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lBY3RpdmVIaW50KCk7dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fZGVzdHJveUFjdGl2ZUhpbnQoKXtudWxsIT09dGhpcy5fYWN0aXZlSGludCYmKHRoaXMuX2FjdGl2ZUhpbnQuZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUhpbnQ9bnVsbCksdGhpcy5fZGVmZXJyZWRQcm9taXNlPW51bGx9YXN5bmMgX2NyZWF0ZUhpbnQoKXtpZihudWxsPT09dGhpcy5fZGVmZXJyZWRQcm9taXNlKXtjb25zdCBlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTt0aGlzLl9kZWZlcnJlZFByb21pc2U9ZSxQcm9taXNlLmFsbChbaS5lKDIwNTc2KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDk0MDU0KSxpLmUoNDAxNjgpLGkuZSgzMjM4NyksaS5lKDM2ODA0KV0pLnRoZW4oaS5iaW5kKGksNDQ4MTYwKSkudGhlbigodD0+e2UucmVzb2x2ZShuZXcgdC5DaGFydFdhcm5pbmdIaW50UmVuZGVyZXIodGhpcy5fY2hhcnQpKX0pKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRQcm9taXNlLnByb21pc2V9X29uU3ltYm9sUmVzb2x2ZWQoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLElfLmZpcnN0UmVwbGFjZWRCeUJhdHNFeGNoYW5nZSkoZSk7cmV0dXJuIG51bGwhPT10P3t0eXBlOiJyZXBsYWNlZF90b19leGNoYW5nZSIsZXhjaGFuZ2U6dH06bnVsbH0oZSksaT10JiZmdW5jdGlvbihlKXtyZXR1cm5gd2FybmluZy5ub1N1YnNjXyR7ZS5leGNoYW5nZX1gfSh0KTtpZihudWxsPT09dHx8bnVsbD09PWl8fEJvb2xlYW4oUS5nZXRCb29sKGkpKSlyZXR1cm4gdm9pZCB0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpO2NvbnN0IHM9ey4uLkRfKHQpLG9uQ2xvc2U6KCk9PntRLnNldFZhbHVlKGksITAse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl9kZXN0cm95QWN0aXZlSGludCgpfX07bnVsbCE9PXRoaXMuX2FjdGl2ZUhpbnQ/dGhpcy5fYWN0aXZlSGludC5zaG93KHMpOnRoaXMuX2NyZWF0ZUhpbnQoKS50aGVuKChlPT57dGhpcy5fYWN0aXZlSGludD1lLHRoaXMuX2FjdGl2ZUhpbnQuc2hvdyhzKX0pKX19dmFyIFJfPWkoOTc2NDk5KSxWXz1pKDY0MTAzNSk7cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgQl97CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbD1udWxsLHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMSx0aGlzLl9jaGFydD1lLHRoaXMuX2NoYXJ0LndpdGhNb2RlbCh0aGlzLHRoaXMuX2Nvbm5lY3RUb01vZGVsKX1fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpe2NvbnN0IHQ9dGhpcy5fZ2V0UHJvU3ltYm9sKCksaT1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLHQpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksaS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsdCk7cmV0dXJuIGUuZm9ybWF0KHtsaW5rU3RhcnQ6YDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIke2kudG9TdHJpbmcoKX0iPmAsbGlua0VuZDoiPC9hPiJ9KX1hc3luYyBfc2hvd0RpYWxvZyhlKXsoYXdhaXQoMCxWXy5jcmVhdGVOb3RpY2VEaWFsb2cpKHtjb250ZW50OmV9KSkub3BlbigpfV9yZXZlcnRTeW1ib2xDaGFuZ2UoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFByb1N5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbC5wcm9fbmFtZTplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1fY29ubmVjdFRvTW9kZWwoKXtjb25zdCBlPXRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpO2UuZGF0YUV2ZW50cygpLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmKHRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcj0hMCl9KSwhMCksZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKX1fb25TeW1ib2xSZXNvbHZlZCgpe2NvbnN0IGU9bnVsbD09PXRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbCYmIXRoaXMuX2luaXRpYWxTeW1ib2xFcnJvcix0PXRoaXMuX2dldFN5bWJvbCgpO2lmKCEodGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sJiZ0JiZ0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2wucHJvX25hbWU9PT10LnByb19uYW1lKSYmKDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIikmJiFlJiYiQVNYIj09PXQ/LmV4Y2hhbmdlKXtjb25zdCBlPXAudChudWxsLHZvaWQgMCxpKDM2NzgwMCkpLHQ9dGhpcy5fZ2VuZXJhdGVEaWFsb2dDb250ZW50KGUpO3JldHVybiB0aGlzLl9zaG93RGlhbG9nKHQpLHZvaWQgdGhpcy5fcmV2ZXJ0U3ltYm9sQ2hhbmdlKCl9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfX1mdW5jdGlvbiBOXygpe2NvbnN0IGU9d2luZG93LndpZGdldGJhcjtpZihlKXtjb25zdCB0PSgwLGwuZW5zdXJlTm90TnVsbCkoZS5zZXRQYWdlKCJvYmplY3RfdHJlZSIpKSxpPSgwLGwuZW5zdXJlTm90TnVsbCkodC53aWRnZXQoIm9iamVjdF90cmVlIikpOygwLGwuZW5zdXJlRGVmaW5lZCkoaS5wcm9wZXJ0aWVzKS5zZXRWYWx1ZSh7c2VsZWN0ZWRQYWdlOiJkYXRhLXdpbmRvdyJ9KX1lbHNlO31jb25zdCBPXz0idHJhZGVkR3JvdXA6IixXXz1gJHtPX31QbGFjZU9yZGVyYCxGXz1gJHtPX31FZGl0T3JkZXJgO3ZhciBIXz1pKDY2NDM3Nik7Y29uc3Qgel89cC50KG51bGwsdm9pZCAwLGkoNTMzOTU2KSk7Y2xhc3MgVV97Y29uc3RydWN0b3IoZSl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPW51bGwsdGhpcy5fY2hhcnQ9ZSx0aGlzLl9jaGFydC53aXRoTW9kZWwodGhpcyx0aGlzLl9jb25uZWN0VG9Nb2RlbCl9X2dldFBvcHVwQ29udGVudCgpe2NvbnN0IGU9dGhpcy5fZ2V0UHJvU3ltYm9sKCksdD1uZXcgVVJMKCJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vY2hhcnQvIik7dC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzeW1ib2wiLGUpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX3NvdXJjZSIsInd3dy50cmFkaW5ndmlldy5jb20iKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ3aWRnZXQiKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsImNoYXJ0IiksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fdGVybSIsZSk7cmV0dXJuIHpfLmZvcm1hdCh7bGlua1N0YXJ0OmA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iJHt0LnRvU3RyaW5nKCl9Ij5gLGxpbmtFbmQ6IjwvYT4ifSl9X29uUG9wdXBDbG9zZWQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0LmRlZmF1bHRTeW1ib2woKSx0PXRoaXMuX2dldFN5bWJvbCgpO2xldCBpO2k9dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sP3RoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbDplIT09dD9lOiJBQVBMIix0aGlzLl9jaGFydC5zZXRTeW1ib2woaSl9X2dldFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9jaGFydC5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9TeW1ib2woKX1fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2NoYXJ0Lm1vZGVsKCkubWFpblNlcmllcygpLmFjdHVhbFN5bWJvbCgpfV9jb25uZWN0VG9Nb2RlbCgpe2NvbnN0IGU9dGhpcy5fY2hhcnQubW9kZWwoKS5tYWluU2VyaWVzKCk7ZS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xHcm91cE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQpLAplLmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnNob3cpfV9vblN5bWJvbFJlc29sdmVkKCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sPXRoaXMuX2dldFN5bWJvbCgpfV9vblN5bWJvbEdyb3VwTm90UGVybWl0dGVkKCl7dGhpcy5zaG93KCl9fWNsYXNzIEdfIGV4dGVuZHMgVV97c2hvdygpeygwLFZfLmNyZWF0ZU5vdGljZURpYWxvZykoe2NvbnRlbnQ6dGhpcy5fZ2V0UG9wdXBDb250ZW50KCl9KS50aGVuKChlPT57ZS5vbigiZGVzdHJveSIsdGhpcy5fb25Qb3B1cENsb3NlZC5iaW5kKHRoaXMpKSxlLm9wZW4oKX0pKX19dmFyIGpfPWkoNzQ4OTEyKTt2YXIgcV89aSgzMDc2MTApO3ZhciAkXz1pKDg3MzM4Nik7dmFyIFlfPWkoMTUzNTgyKSxLXz1pKDM4NzEwMSksWF89aSg3Mjg2MzkpLFpfPWkoNjQzOTAzKSxKXz1pKDYxMzg4MSk7dmFyIFFfPWkoNzQ1OTkwKSxlbT1pKDEwMzk5OCk7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUuaGFzTW9kZWwoKT9lLm1vZGVsKCkubWFpblNlcmllcygpLnByb1N5bWJvbCgpOmUuc3ltYm9sV1YoKS52YWx1ZSgpfXZhciBpbT1pKDc2Mjg1MSksc209aSg0NTY3MDUpLG5tPWkoNTE5NTE1KSxybT1pKDc2MDM5MCk7Y2xhc3Mgb20gZXh0ZW5kcyBlcy5BY3Rpb257Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7YWN0aW9uSWQ6IkNoYXJ0LkFkZFN5bWJvbFRvV2F0Y2hMaXN0IixvcHRpb25zOnQ9e2ljb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbCIsaWNvbjpKXy5pY29ucy5nZXQoIldhdGNobGlzdC5BZGRTeW1ib2wiKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4NyxzdGF0TmFtZToiQWRkVG9XYXRjaGxpc3QiLGxhYmVsOm9tLmZvcm1hdExhYmVsKGUpLG9uRXhlY3V0ZTooKT0+dGhpcy5fZXhlY3V0ZSgpLC4uLnR9fSksdGhpcy51cGRhdGVTeW1ib2w9dGhpcy51cGRhdGVTeW1ib2wuYmluZCh0aGlzKSx0aGlzLl9zeW1ib2w9ZX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sPXZvaWQgMCxzdXBlci5kZXN0cm95KCl9cHJlcGFyZSgpe31zdGF0aWMgZm9ybWF0TGFiZWwoZSl7cmV0dXJuIHAudChudWxsLHZvaWQgMCxpKDU3OTkzNCkpLmZvcm1hdCh7c3ltYm9sOigwLFpfLnNhZmVTaG9ydE5hbWUpKGUpfSl9dXBkYXRlU3ltYm9sKGUpe3RoaXMuX3N5bWJvbD1lLHRoaXMudXBkYXRlKHtsYWJlbDpvbS5mb3JtYXRMYWJlbChlKX0pfV9leGVjdXRlKCl7Y29uc3QgZT10aGlzLl9zeW1ib2w7ZSYmKDAsYWQucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57KDAsc20uaW5pdFN5bWJvbExpc3RTZXJ2aWNlKSgpLnRoZW4oKHQ9Pnt0LnN0b3JlLmRpc3BhdGNoKHQuYWN0aW9ucy5hZGRTeW1ib2xzKG5tLldBVENITElTVF9XSURHRVRfSUQsW2VdKSl9KSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfX1jbGFzcyBhbSBleHRlbmRzIG9te2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS52YWx1ZSgpLHQpLHRoaXMuX3N5bWJvbFJlZj0oMCx1LmNvbWJpbmUpKChlPT5lKSxlKSx0aGlzLl9zeW1ib2xSZWYuc3Vic2NyaWJlKHRoaXMudXBkYXRlU3ltYm9sLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fc3ltYm9sUmVmJiZ0aGlzLl9zeW1ib2xSZWYuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFJlZj1udWxsLHN1cGVyLmRlc3Ryb3koKX19Y2xhc3MgbG0gZXh0ZW5kcyBhbXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCgwLHhlLmNyZWF0ZVN5bWJvbE9yQWxpYXNXVikoZS5zeW1ib2xXVigpLndlYWtSZWZlcmVuY2UoKSxlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKSxlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLnN5bWJvbEFsaWFzU2VydmljZSgpKS5vd25lcnNoaXAoKSx7c3ViSXRlbXM6W25ldyBlcy5Mb2FkZXIoIkxvYWRpbmciKV0sLi4udH0pLHRoaXMuX2hhZFN5bWJvbE9uSW5pdD0hMSx0aGlzLl9pc01vYmlsZT0oMCxZXy5pc01vYmlsZSkoKSx0aGlzLl9vblJlcXVlc3Q9bnVsbCx0aGlzLl91bnN1YnNjcmliZT1udWxsLHRoaXMuX2NoYXJ0PWUsdGhpcy5fbG9hZCgpfXByZXBhcmUoKXtzdXBlci5wcmVwYXJlKCksdGhpcy5faGFkU3ltYm9sT25Jbml0PSExLHRoaXMuX2lzTW9iaWxlPSgwLFlfLmlzTW9iaWxlKSgpLHRoaXMudXBkYXRlKHtzdWJJdGVtczpbbmV3IGVzLkxvYWRlcigiTG9hZGluZyIpXX0pLHRoaXMuX29uUmVxdWVzdD8uKCl9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlPy4oKSx0aGlzLl9jaGFydD1udWxsLHRoaXMuX29uUmVxdWVzdD1udWxsLHN1cGVyLmRlc3Ryb3koKX1fZXhlY3V0ZSgpeygwLGFkLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+e2lmKHRoaXMuX2NoYXJ0KXtjb25zdCBlPXRtKHRoaXMuX2NoYXJ0KTsoMCxzbS5pbml0U3ltYm9sTGlzdFNlcnZpY2UpKCkudGhlbigodD0+e3Quc3RvcmUuZGlzcGF0Y2godC5hY3Rpb25zLmFkZFN5bWJvbHMobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbZV0pKX0pKX19KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfWFzeW5jIF9sb2FkKCl7Y29uc3RbZSx0LHMsbixyLHt3YXRjaGxpc3RTb3J0Q29tcGFyYXRvcjpvfSxhXT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDY0NjQ0KS50aGVuKGkudC5iaW5kKGksNzc5NDc0LDE5KSksKDAsCnNtLmluaXRTeW1ib2xMaXN0U2VydmljZSkoKSxQcm9taXNlLmFsbChbaS5lKDczNzcpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDk0MjMyKSxpLmUoMTIwNTEpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoMTg1MTIpLGkuZSg0MjQ1NyksaS5lKDM5NjA5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDUyNTA5KSxpLmUoODU0MzQpLGkuZSg3Mjg1KSxpLmUoMjg1MSksaS5lKDE5OTM4KV0pLnRoZW4oaS5iaW5kKGksOTY5MjYyKSksUHJvbWlzZS5hbGwoW2kuZSg3Mzc3KSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSg5NDIzMiksaS5lKDEyMDUxKSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDE4NTEyKSxpLmUoNDI0NTcpLGkuZSgzOTYwOSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1MjUwOSksaS5lKDg1NDM0KSxpLmUoNzI4NSksaS5lKDI4NTEpLGkuZSgxOTkzOCldKS50aGVuKGkuYmluZChpLDE5NTI2OSkpLFByb21pc2UuYWxsKFtpLmUoOTY4MjMpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSg5NDIzMiksaS5lKDMyODE2KSxpLmUoMTk1OTUpLGkuZSgxOTc4NyksaS5lKDY3Nzk5KSxpLmUoMjQ1ODEpLGkuZSgyNzUxNyksaS5lKDg2NDIzKSxpLmUoODU3OSksaS5lKDQwODM1KSxpLmUoMTcwODcpLGkuZSg3MjY2NiksaS5lKDc4NjUyKSxpLmUoNzA4MTUpLGkuZSgxNDYyNSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg1MjY4MCksaS5lKDM1Nzk0KSxpLmUoMTY3NiksaS5lKDg5MjA0KSxpLmUoMTIwNTEpLGkuZSg4OTU1OCksaS5lKDEwMzY2KSxpLmUoNjk4NjEpLGkuZSgyMDIpLGkuZSg3MjUxMiksaS5lKDU1MDExKSxpLmUoNzUzMDQpLGkuZSg1MjA5NSksaS5lKDQ0MDMxKSxpLmUoNzE5MDEpLGkuZSg4OTA0NCksaS5lKDQwOTE0KSxpLmUoODEyNDcpLGkuZSg5MDk2MCksaS5lKDQzNzkyKSxpLmUoODc3NDApLGkuZSg3ODQwNCksaS5lKDM5MTYpLGkuZSg4MTEwNyksaS5lKDc4ODk5KSxpLmUoNTEyNTYpLGkuZSg0MjMwMSksaS5lKDM1MzQyKSxpLmUoNDIwMzMpLGkuZSg1MDU4OCksaS5lKDgwMDQxKSxpLmUoOTAzNzgpLGkuZSg3MjI0OSksaS5lKDMwOTIyKSxpLmUoMzc1NjcpLGkuZSg4Nzc2NyksaS5lKDMyMzg3KSxpLmUoMzA2OTkpLGkuZSg4MDkxNSksaS5lKDE4NTEyKSxpLmUoNDg2MjApLGkuZSg1MDA0OSksaS5lKDE0ODg5KSxpLmUoNDIyMTIpLGkuZSg1NTIyOSksaS5lKDQ2MjE3KSxpLmUoNjg3MjUpLGkuZSg2NjkzMyksaS5lKDY5Njk3KSxpLmUoNTI1MDkpLGkuZSg2MzQwMiksaS5lKDI0ODc5KSxpLmUoNjcxMjApLGkuZSg0MjMyNyksaS5lKDM1MjUyKSxpLmUoNjA0OTMpXSkudGhlbihpLmJpbmQoaSw1MTAxMTYpKSxQcm9taXNlLmFsbChbaS5lKDk2ODIzKSxpLmUoODQzMDYpLGkuZSgyOTI5NiksaS5lKDUyMzk2KSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDIwMzU0KSxpLmUoMTM0OTIpLGkuZSgzNzc0NiksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSg5NDk0OCksaS5lKDIzNjI0KSxpLmUoOTQyMzIpLGkuZSgzMjgxNiksaS5lKDE5NTk1KSxpLmUoMTk3ODcpLGkuZSg2Nzc5OSksaS5lKDI0NTgxKSxpLmUoMjc1MTcpLGkuZSg4NjQyMyksaS5lKDg1NzkpLGkuZSg0MDgzNSksaS5lKDE3MDg3KSxpLmUoNzI2NjYpLGkuZSg3ODY1MiksaS5lKDcwODE1KSxpLmUoMTQ2MjUpLGkuZSgxNTUyNiksaS5lKDkzNDE2KSxpLmUoNTI2ODApLGkuZSgzNTc5NCksaS5lKDE2NzYpLGkuZSg4OTIwNCksaS5lKDEyMDUxKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDY5ODYxKSxpLmUoMjAyKSxpLmUoNzI1MTIpLGkuZSg1NTAxMSksaS5lKDc1MzA0KSxpLmUoNTIwOTUpLGkuZSg0NDAzMSksaS5lKDcxOTAxKSxpLmUoODkwNDQpLGkuZSg0MDkxNCksaS5lKDgxMjQ3KSxpLmUoOTA5NjApLGkuZSg0Mzc5MiksaS5lKDg3NzQwKSxpLmUoNzg0MDQpLGkuZSgzOTE2KSxpLmUoODExMDcpLGkuZSg3ODg5OSksaS5lKDUxMjU2KSxpLmUoNDIzMDEpLGkuZSgzNTM0MiksaS5lKDQyMDMzKSxpLmUoNTA1ODgpLGkuZSg4MDA0MSksaS5lKDkwMzc4KSxpLmUoNzIyNDkpLGkuZSgzMDkyMiksaS5lKDM3NTY3KSxpLmUoODc3NjcpLGkuZSgzMjM4NyksaS5lKDMwNjk5KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQ4NjIwKSxpLmUoNTAwNDkpLGkuZSgxNDg4OSksaS5lKDQyMjEyKSxpLmUoNTUyMjkpLGkuZSg0NjIxNyksaS5lKDY4NzI1KSxpLmUoNjY5MzMpLGkuZSg2OTY5NyksaS5lKDUyNTA5KSxpLmUoNjM0MDIpLGkuZSgyNDg3OSksaS5lKDY3MTIwKSxpLmUoNDIzMjcpLGkuZSgzNTI1MiksaS5lKDYwNDkzKV0pLnRoZW4oaS5iaW5kKGksNTQ2MTU0KSksUHJvbWlzZS5hbGwoW2kuZSg5NjgyMyksaS5lKDg0MzA2KSxpLmUoMjkyOTYpLGkuZSg1MjM5NiksaS5lKDYwMDYyKSxpLmUoNDY5MDcpLGkuZSgyMDM1NCksaS5lKDEzNDkyKSxpLmUoMzc3NDYpLGkuZSgxMjM4NSksaS5lKDgxMDcyKSxpLmUoOTQ5NDgpLGkuZSgyMzYyNCksaS5lKDk0MjMyKSxpLmUoMzI4MTYpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgyNDU4MSksaS5lKDI3NTE3KSxpLmUoODY0MjMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoNzg2NTIpLGkuZSg3MDgxNSksaS5lKDE0NjI1KSxpLmUoMTU1MjYpLGkuZSg5MzQxNiksaS5lKDUyNjgwKSxpLmUoMzU3OTQpLGkuZSgxNjc2KSxpLmUoODkyMDQpLGkuZSgxMjA1MSksaS5lKDg5NTU4KSxpLmUoMTAzNjYpLGkuZSg2OTg2MSksaS5lKDIwMiksaS5lKDcyNTEyKSxpLmUoNTUwMTEpLGkuZSg3NTMwNCksaS5lKDUyMDk1KSxpLmUoNDQwMzEpLGkuZSg3MTkwMSksaS5lKDg5MDQ0KSxpLmUoNDA5MTQpLGkuZSg4MTI0NyksaS5lKDkwOTYwKSxpLmUoNDM3OTIpLGkuZSg4Nzc0MCksaS5lKDc4NDA0KSxpLmUoMzkxNiksaS5lKDgxMTA3KSxpLmUoNzg4OTkpLGkuZSg1MTI1NiksaS5lKDQyMzAxKSxpLmUoMzUzNDIpLGkuZSg0MjAzMyksaS5lKDUwNTg4KSxpLmUoODAwNDEpLGkuZSg5MDM3OCksaS5lKDcyMjQ5KSxpLmUoMzA5MjIpLGkuZSgzNzU2NyksaS5lKDg3NzY3KSxpLmUoMzIzODcpLGkuZSgzMDY5OSksaS5lKDgwOTE1KSxpLmUoMTg1MTIpLGkuZSg0ODYyMCksaS5lKDUwMDQ5KSxpLmUoMTQ4ODkpLGkuZSg0MjIxMiksaS5lKDU1MjI5KSxpLmUoNDYyMTcpLGkuZSg2ODcyNSksaS5lKDY2OTMzKSxpLmUoNjk2OTcpLGkuZSg1MjUwOSksaS5lKDYzNDAyKSxpLmUoMjQ4NzkpLGkuZSg2NzEyMCksaS5lKDQyMzI3KSxpLmUoMzUyNTIpLGkuZSg2MDQ5MyldKS50aGVuKGkuYmluZChpLDkyMDM5MikpXSkKO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47Y29uc3R7c3RvcmU6bH09dDt0aGlzLl9vblJlcXVlc3Q9KCk9PmwuZGlzcGF0Y2gocy5nZXRDdXN0b21XYXRjaGxpc3RzVGh1bmsobnVsbCkpLHRoaXMuX3Vuc3Vic2NyaWJlPWwuc3Vic2NyaWJlKCgoKT0+e2lmKCF0aGlzLl9jaGFydClyZXR1cm47Y29uc3QgdD1sLmdldFN0YXRlKCk7aWYobnVsbD09PXIuZ2V0Q3VzdG9tTGlzdHNTdGF0ZSh0KS50aW1lc3RhbXApcmV0dXJuO2NvbnN0IHM9dG0odGhpcy5fY2hhcnQpLGM9ci5nZXRDdXN0b21MaXN0cyh0KSx7YWN0aXZlU3ltYm9sTGlzdDpofT10LGQ9Yy5maW5kKChlPT5lLmlkPT09aD8uaWQpKTt0aGlzLl9oYWRTeW1ib2xPbkluaXR8fCh0aGlzLl9oYWRTeW1ib2xPbkluaXQ9ISFkJiZkLnN5bWJvbHMuaW5jbHVkZXMocykpO2NvbnN0IHU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibXVsdGlwbGVfd2F0Y2hsaXN0cyIpP2MuZmlsdGVyKChlPT5lLmlkIT09aD8uaWQpKS5zb3J0KG8pOltdO2xldCBfPWQ/W2QsLi4udV06dTtfPV8uZmlsdGVyKChlPT4hKDAscm0uaXNEZWxldGVkU3ltYm9sc0xpc3QpKGUuaWQpKSk7Y29uc3QgbT1fLm1hcCgodD0+e2NvbnN0IGk9dC5zeW1ib2xzLmluY2x1ZGVzKHMpLHI9e3Nob3J0Y3V0SGludDp0LmlkPT09aD8uaWQ/KDAsSy5odW1hblJlYWRhYmxlSGFzaCkoSy5Nb2RpZmllcnMuQWx0Kzg3KTp2b2lkIDAsaW52aXNpYmxlSG90a2V5OnQuaWQ9PT1oPy5pZD9pOnZvaWQgMCxkb05vdENsb3NlT25DbGljazohMCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWk/bi5yZW1vdmVTeW1ib2xzVGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCxbc10sdC5pZCwhMCk6bi5hZGRTeW1ib2xzVG9DdXN0b21MaXN0VGh1bmsobm0uV0FUQ0hMSVNUX1dJREdFVF9JRCx0LmlkLFtzXSk7dC5pZCE9PWg/LmlkfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZHx8dGhpcy5faGFkU3ltYm9sT25Jbml0P2wuZGlzcGF0Y2goZSk6d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2wuZGlzcGF0Y2goZSl9KSx7c291cmNlOiJDaGFydCBjb250ZXh0IG1lbnUifSl9fTtyZXR1cm4gbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IldhdGNobGlzdC5BY3Rpb25zIixvcHRpb25zOnsuLi5yLGxhYmVsOnQubmFtZSxjaGVja2FibGU6ITAsY2hlY2tlZDppLHN0YXROYW1lOiJBZGRUb1dhdGNobGlzdCJ9LGN1c3RvbUFjdGlvbk9wdGlvbnM6ey4uLnIsanN4TGFiZWw6ZS5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVXYXRjaGxpc3RJdGVtLHt0aXRsZTp0Lm5hbWUsaXNDaGVja2VkOmksaXNTbWFsbFNpemU6dGhpcy5faXNNb2JpbGV9KX19KX0pKSxnPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJXYXRjaGxpc3QuQ3JlYXRlIixvcHRpb25zOntsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykocC50KG51bGwsdm9pZCAwLGkoODc2MTYpKSksc3RhdE5hbWU6IkNyZWF0ZU5ld1dhdGNobGlzdCIsaWNvbklkOnRoaXMuX2lzTW9iaWxlPyJXYXRjaGxpc3QuQ3JlYXRlTmV3Ijp2b2lkIDAsb25FeGVjdXRlOigpPT57KDAsV3UucnVuT3JHb1BybykoKCgpPT57bC5kaXNwYXRjaChuLnVzZXJDcmVhdGVXYXRjaGxpc3RUaHVuayhudWxsLHtzeW1ib2xzOltzXX0pKX0pLCJNVUxUSVBMRV9XQVRDSExJU1RTIix7ZmVhdHVyZToibXVsdGlwbGVXYXRjaExpc3RzIixmZWF0dXJlTG9jYXRpb246Im1vdmVTeW1ib2xzVG9OZXcifSl9fX0pO3RoaXMudXBkYXRlKHtzdWJJdGVtczpbLi4ubSxuZXcgZXMuU2VwYXJhdG9yLGddfSl9KSl9fXZhciBjbT1pKDg4MDExNSksaG09aSgzNzk3OTMpO2Z1bmN0aW9uIGRtKGUpe3JldHVybigwLGNtLmRlZmF1bHQpKGUpJiYiZGlhbG9nQ2xvc2UiaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuZGlhbG9nQ2xvc2V9YXN5bmMgZnVuY3Rpb24gdW0oZSl7aWYoIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybntzdWJJdGVtczpbXSxkaXNhYmxlZDohMH07Y29uc3RbdCxzLG5dPWF3YWl0IFByb21pc2UuYWxsKFtQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDY2NTE4NykpLFByb21pc2UuYWxsKFtpLmUoNzQxMTQpLGkuZSg2NDI1KV0pLnRoZW4oaS5iaW5kKGksMzE2NTE3KSksUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw0MTM0NTEpKV0pLHI9YXdhaXQgdC5nZXRUaGVtZU5hbWVzKCksbz1bXSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5TYXZlQXMiLG9wdGlvbnM6e25hbWU6InRoZW1lLXNhdmUtYXMiLHN0YXROYW1lOiJTYXZlVGhlbWVBcyIsbGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc4NDc0MSkpKSxvbkV4ZWN1dGU6YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKHQsaSk9PntzLnNob3dUaGVtZVNhdmVEaWFsb2dBc3luYyhlLm1vZGVsKCkubW9kZWwoKS50ZW1wbGF0ZSgpLHQsdCxpKX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX19KTtyZXR1cm4gby5wdXNoKGEpLHImJnIubGVuZ3RoJiYoby5sZW5ndGgmJm8ucHVzaChuZXcgZXMuU2VwYXJhdG9yKSxyLmZvckVhY2goKGk9Pntjb25zdCByPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5UaGVtZS5BcHBseS5DdXN0b20iLG9wdGlvbnM6e2xhYmVsOnQudHJhbnNsYXRlU3RkVGhlbWVOYW1lKGkpLGNoZWNrYWJsZTohMSxzdGF0TmFtZToiTG9hZFRoZW1lIixvbkV4ZWN1dGU6KCk9PntuLmxvYWRUaGVtZShlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHt0aGVtZU5hbWU6aSxzdGFuZGFyZFRoZW1lOiExfSkudGhlbigoKCk9Pnt3aW5kb3cuc2F2ZXIuc2F2ZUNoYXJ0U2lsZW50bHkoKSwoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiU3dpdGNoIHRvIGN1c3RvbSB0aGVtZSIpfSkpfSx0b29sYm94Ont0eXBlOmhtLlRvb2xib3hUeXBlLkRlbGV0ZSxhY3Rpb246YXN5bmMoKT0+e3RyeXt2b2lkIDAhPT1hd2FpdCBuZXcgUHJvbWlzZSgoKGUsdCk9PnsKcy5zaG93UmVtb3ZlVGhlbWVEaWFsb2dBc3luYyhpLGUsZSx0KX0pKSYmYXdhaXQgcG0oZSl9Y2F0Y2goZSl7aWYoZG0oZSkpcmV0dXJuIHZvaWQgZS5kaWFsb2dDbG9zZSgpO3Rocm93IGV9fX0sc2hvd1Rvb2xib3hPbkhvdmVyOiEwfX0pO28ucHVzaChyKX0pKSkse3N1Ykl0ZW1zOm8sZGlzYWJsZWQ6MD09PW8ubGVuZ3RofX1hc3luYyBmdW5jdGlvbiBwbShlLHQpe3Q/Pz1lLmFjdGlvbnMoKS5hcHBseUNvbG9yVGhlbWUsdD8udXBkYXRlKGF3YWl0IHVtKGUpKX12YXIgX209aSgzNDIyMCksbW09aSg5NTI1NDUpLGdtPWkoNjQ0Mjk1KTtmdW5jdGlvbiBmbShlKXtjb25zdCB0PWUubW9kZWwoKS5kYXRhU291cmNlcygpLHM9dC5maWx0ZXIoZ2wuaXNMaW5lVG9vbCkuZmlsdGVyKChlPT5lLmlzQWN0dWFsU3ltYm9sKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKS5sZW5ndGgsbj10LmZpbHRlcih0aS5pc1N0dWR5KS5maWx0ZXIoKGU9PmUucmVtb3ZlQnlSZW1vdmVBbGxTdHVkaWVzKCkpKS5sZW5ndGgscj1wLnQobnVsbCx7cGx1cmFsOiJ7YW1vdW50fSBkcmF3aW5ncyIsY291bnQ6cyxyZXBsYWNlOnthbW91bnQ6cy50b1N0cmluZygpfX0saSg0MDY0ODUpKSxvPXAudChudWxsLHtwbHVyYWw6InthbW91bnR9IGluZGljYXRvcnMiLGNvdW50Om4scmVwbGFjZTp7YW1vdW50Om4udG9TdHJpbmcoKX19LGkoMTQxNjYyKSk7cmV0dXJue2RyYXdpbmdzOntsYWJlbDpwLnQobnVsbCx7cmVwbGFjZTp7ZHJhd2luZ3M6cn19LGkoMTQ1Mzk2KSksZGlzYWJsZWQ6MD09PXN9LHN0dWRpZXM6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntpbmRpY2F0b3JzOm99fSxpKDEyODEzMykpLGRpc2FibGVkOjA9PT1ufSxhbGw6e2xhYmVsOnAudChudWxsLHtyZXBsYWNlOntkcmF3aW5nczpyLGluZGljYXRvcnM6b319LGkoNjgzMjA4KSksZGlzYWJsZWQ6MD09PXMmJjA9PT1ufX19dmFyIFNtPWkoNzgzMjU0KSx2bT1pKDg2MjU3Mik7ZnVuY3Rpb24geW0oZSl7Y29uc3QgdD1lLm9wdGlvbnMoKSxzPXtsYWJlbDooMCxpbS5hcHBlbmRFbGxpcHNpcykoU20udChudWxsLHZvaWQgMCxpKDU5Nzc3MCkpKSxzdGF0TmFtZToiQ2hhbmdlSW50ZXJ2YWwiLG9uRXhlY3V0ZTooKT0+KDAsdm0uc2hvd0NoYW5nZUludGVydmFsRGlhbG9nQXN5bmMpKHtpbml0VmFsOmpyLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxzZWxlY3RPbkluaXQ6ITB9KX07cmV0dXJuISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyIpfHx0LnJlYWRPbmx5fHx0LmhpZGVTeW1ib2xTZWFyY2h8fChzLnNob3J0Y3V0SGludD0iLCIscy5ob3RrZXlHcm91cD1lLmhvdGtleXMoKSxzLmhvdGtleUhhc2g9MTg4KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93Q2hhbmdlSW50ZXJ2YWwiLG9wdGlvbnM6c30pfWNsYXNzIGJtIGV4dGVuZHMgZXMuQWN0aW9ue2NvbnN0cnVjdG9yKGUsdD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpKXtzdXBlcih7Li4uZSxvcHRpb25zOnsuLi5lLm9wdGlvbnMsY2hlY2thYmxlOiEwLGNoZWNrZWQ6dC52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e3RoaXMuX3d2LnNldFZhbHVlKCF0aGlzLl93di52YWx1ZSgpKX19fSksdGhpcy5fdXBkYXRlQ2hlY2tlZD1lPT57dGhpcy51cGRhdGUoe2NoZWNrZWQ6ZX0pfSx0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSx0aGlzLl93dj10fWRlc3Ryb3koKXt0aGlzLl93di51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVDaGVja2VkKSxzdXBlci5kZXN0cm95KCl9fXZhciB3bT1pKDc0MTY5MCkKO2NvbnN0IENtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInNjYWxlIHByaWNlIGNoYXJ0IG9ubHkiLHAudChudWxsLHZvaWQgMCxpKDIzMTgzMSkpKSxQbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJzdGF5IGluIGRyYXdpbmcgbW9kZSIscC50KG51bGwsdm9pZCAwLGkoNDgyMTE4KSkpLFRtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUgbWFya3Mgb24gYmFycyIscC50KG51bGwsdm9pZCAwLGkoNDc3NjY1KSkpLHhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFzdCB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgyMjU5MDApKSksTW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1OTQyMDkpKSksSW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZXZpb3VzIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODg2OTExKSkpLExtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzeW1ib2wgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE1NjEwOCkpKSxBbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyB2YWx1ZSBsYWJlbHMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNjI0MzYwKSkpLGttPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBpbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIG5hbWUgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM4NjMzNSkpKSxEbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGFiZWxzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE0MTU1MykpKSxFbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgYmlkIGFuZCBhc2sgbGluZXMgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk2MDQ5KSkpLFJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTc2NzAxKSkpLFZtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoODQ0OTg0KSkpLEJtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNzY3NDUpKSksTm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDM5NDI4MikpKSxPbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxhYmVscyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg1Njk4NykpKSxXbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgaGlnaCBhbmQgbG93IHByaWNlIGxpbmVzIHZpc2liaWxpdHkiLHAudChudWxsLHZvaWQgMCxpKDE4NDY2NikpKSxGbT0obmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNTE2NDYpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSg0MDUzNTIpKSksbmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIGNvdW50ZG93biB0byBiYXIgY2xvc2UgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzk5MjU0KSkpKSxIbT1uZXcgeS5UcmFuc2xhdGVkU3RyaW5nKCJjaGFuZ2UgcGx1cyBidXR0b24gdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoNzM5MDg3KSkpLHptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSBzZXNzaW9uIGJyZWFrcyB2aXNpYmlsaXR5IixwLnQobnVsbCx2b2lkIDAsaSgxNDYyMDIpKSksVW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoMzIyOTEyKSkpLEdtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImNoYW5nZSB0aW1lem9uZSIscC50KG51bGwsdm9pZCAwLGkoMTMxNDA4KSkpO2Z1bmN0aW9uIGptKGUpe2NvbnN0IHQ9ZS5ob3RrZXlzKCkscz1lLm1vZGVsKCksbj1lLm9wdGlvbnMoKSxyPWUucHJvcGVydGllcygpLG89bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUludmVydFByaWNlU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDE1OTI1KSksc3RhdE5hbWU6IkludmVydCBTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy5pbnZlcnRQcmljZVNjYWxlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3M319KSxhPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXJpZXMuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYzMzc1MikpLGNoZWNrYWJsZTohMCxvbkV4ZWN1dGU6ZT0+e2NvbnN0IHQ9cy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO3MudG9nZ2xlUHJpY2VTY2FsZUF1dG9TY2FsZU1vZGUodCksZS51cGRhdGUoe2NoZWNrZWQ6dC5pc0F1dG9TY2FsZSgpfSl9fX0pLGw9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNjYWxlcy5Ub2dnbGVMb2NrUHJpY2VUb0JhclJhdGlvIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg0MTE3NjgpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZUxvY2tTY2FsZSIsCm9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9ja1NjYWxlTW9kZShzLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCkpfX0pLGM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZVJlZ3VsYXIiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHtjb250ZXh0OiJzY2FsZV9tZW51In0saSg3NDkxNzkpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVJlZ3VsYXJTY2FsZSIsb25FeGVjdXRlOmU9Pntjb25zdCB0PXMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTtzLnNldFByaWNlU2NhbGVSZWd1bGFyU2NhbGVNb2RlKHQpLGUudXBkYXRlKHtjaGVja2VkOnQuaXNSZWd1bGFyKCl9KX19fSksZD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlUGVyY2VudGFnZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTU1ODMzKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVQZXJjYW50YWdlIixvbkV4ZWN1dGU6KCk9PnMudG9nZ2xlUHJpY2VTY2FsZVBlcmNlbnRhZ2VTY2FsZU1vZGUocy5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzgwfX0pLHU9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlcmllcy5QcmljZVNjYWxlLlRvZ2dsZUluZGV4ZWRUbzEwMCIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMTUyMDU0KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVJbmRleGVkVG8xMDAiLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlSW5kZXhlZFRvMTAwU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSl9fSksXz1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VyaWVzLlByaWNlU2NhbGUuVG9nZ2xlTG9nYXJpdGhtaWMiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDUwMzU1OCkpLHN0YXROYW1lOiJUb2dnbGVMb2dTY2FsZSIsY2hlY2thYmxlOiEwLG9uRXhlY3V0ZTooKT0+cy50b2dnbGVQcmljZVNjYWxlTG9nU2NhbGVNb2RlKHMubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs3Nn19KSxtPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5DaGFuZ2VUaW1lWm9uZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjI0MTk4KSksc3RhdE5hbWU6IlRpbWVab25lIixvbkRlc3Ryb3k6KCk9PmUucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnVuc3Vic2NyaWJlQWxsKG0pfX0pLGc9ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUsZj0oKT0+e2NvbnN0IHQ9W10saT1qdC5hdmFpbGFibGVUaW1lem9uZXMscz1lPT5lLmlkPT09Zy52YWx1ZSgpO2kuZm9yRWFjaCgoaT0+e2NvbnN0IG49bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LkNoYW5nZVRpbWVab25lIixvcHRpb25zOntsYWJlbDppLnRpdGxlLGNoZWNrYWJsZTohMCxjaGVja2VkOnMoaSksc3RhdE5hbWU6IlNldFRpbWVab25lIixvbkV4ZWN1dGU6KCk9PntlLm1vZGVsKCkuc2V0UHJvcGVydHkoZyxpLmlkLEdtKX19fSk7dC5wdXNoKG4pfSkpLG0udXBkYXRlKHtzdWJJdGVtczp0fSl9O2YoKSxnLnN1YnNjcmliZShtLGYpO2NvbnN0IFM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5UaW1lU2NhbGUuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkwNjQzNikpLGljb25JZDoiQ2hhcnQuUmVzZXQiLHN0YXROYW1lOiJSZXNldFNjYWxlIixvbkV4ZWN1dGU6KCk9PnMucmVzZXRUaW1lU2NhbGUoKSxob3RrZXlHcm91cDplLmhvdGtleXMoKSxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCtLLk1vZGlmaWVycy5BbHQrODF9fSksdj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93SW5zZXJ0SW5kaWNhdG9ycyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDcyNDkwOSkpKSxzdGF0TmFtZToiSW5zZXJ0SW5kaWNhdG9yIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0luZGljYXRvcnMoKSwuLi5uLmluZGljYXRvcnNEaWFsb2dTaG9ydGN1dEVuYWJsZWQ/e2hvdGtleUdyb3VwOnQsaG90a2V5SGFzaDoxOTF9OnZvaWQgMH19KSx5PW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDb21wYXJlT3JBZGRTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg5MjI0NCkpKSxzdGF0TmFtZToiQ29tcGFyZU9yQWRkU3ltYm9sIixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlQ29tcGFyZU9yQWRkKCl9fSksYj1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd0dlbmVyYWxTZXR0aW5ncyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiQ2hhcnRQcm9wZXJ0aWVzIixvbkV4ZWN1dGU6KCk9PmUuc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXMoKX19KSx3PW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuRGlhbG9ncy5TaG93R2VuZXJhbFNldHRpbmdzLlN5bWJvbFRhYiIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiTWFpblNlcmllc1Byb3BlcnRpZXMiLG9uRXhlY3V0ZTooKT0+ZS5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcyhKdC5UYWJOYW1lcy5zeW1ib2wpfX0pLEM9bmV3IGFzLkFjdGlvbldpdGhTdGFuZGFyZEljb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHZW5lcmFsU2V0dGluZ3MuU2NhbGVzVGFiIixvcHRpb25zOntsYWJlbDooMCwKaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDMxNjAxOCkpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiU2NhbGVzUHJvcGVydGllcyIsb25FeGVjdXRlOigpPT5lLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKEp0LlRhYk5hbWVzLnNjYWxlcyl9fSksUD1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuU2VsZWN0ZWRPYmplY3QuVG9nZ2xlTG9ja2VkIixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NTQzMTApKSxzdGF0TmFtZToiVG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUudG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl9fSkseD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LkhpZGUiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc2OTM5MSkpLGljb25JZDoiQ2hhcnQuSGlkZSIsc3RhdE5hbWU6IkhpZGVTZWxlY3RlZE9iamVjdCIsb25FeGVjdXRlOigpPT5lLmhpZGVTZWxlY3RlZE9iamVjdCgpfX0pLE09bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVBdXRvU2NhbGVTZXJpZXNPbmx5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg3NjIxNDUpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlNjYWxlUHJpY2VDaGFydE9ubHkifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zY2FsZVNlcmllc09ubHksdW5kb01vZGVsOnMsdW5kb1RleHQ6Q219KSxJPW5ldyBibSh7YWN0aW9uSWQ6IkNoYXJ0LkRyYXdpbmdUb29sYmFyLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDYyMzcxNikpLHN0YXROYW1lOiJUb2dnbGVEcmF3aW5nVG9vbGJhciJ9fSxuLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlKSxMPW5ldyBpcyh7YWN0aW9uSWQ6IiIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoODc2NjU5KSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVTdGF5SW5EcmF3aW5nTW9kZSJ9fSx7cHJvcGVydHk6VC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6UG19KSxBPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0Lk1hcmtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDEzOTM1NSkpLGNoZWNrYWJsZTohMCxzdGF0TmFtZToiVG9nZ2xlSGlkZU1hcmtzT25CYXJzIn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOmU9PlQuaGlkZU1hcmtzT25CYXJzKCkuc2V0VmFsdWUoZS5pc0NoZWNrZWQoKSl9KSxEPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVNlcmllc0xhc3RWYWx1ZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDk1NzE5OSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xMYXN0VmFsdWUifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzTGFzdFZhbHVlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnhtfSksRT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVTeW1ib2xOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzcwNDM3KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbExhYmVscyJ9fSx7cHJvcGVydHk6ci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTeW1ib2xMYWJlbHMsdW5kb01vZGVsOnMsdW5kb1RleHQ6TG19KSxSPSgwLHdtLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5TGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSxyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLndlYWtSZWZlcmVuY2UoKSksVj1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVJbmRpY2F0b3JzVmFsdWVMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNDI0NjMpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlU3R1ZGllc0FuZEZ1bmRhbWVudGFsc1ByaWNlTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntSLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Uix1bmRvTW9kZWw6cyx1bmRvVGV4dDpudWxsLGNhbGxiYWNrOigpPT57Y29uc3QgZT0hUi52YWx1ZSgpO3MuYmVnaW5VbmRvTWFjcm8oQW0pLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeUxhc3RWYWx1ZSxlLG51bGwpLHMuc2V0UHJvcGVydHkoci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZSxlLG51bGwpLHMuZW5kVW5kb01hY3JvKCl9fSksQj0oMCx3bS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZXx8dCksci5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTdHVkeVBsb3RMYWJlbHMud2Vha1JlZmVyZW5jZSgpLHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93RnVuZGFtZW50YWxOYW1lTGFiZWwud2Vha1JlZmVyZW5jZSgpKSxOPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUluZGljYXRvcnNOYW1lTGFiZWxzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMzk0NDc4KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN0dWRpZXNBbmRGdW5kYW1lbnRhbHNOYW1lTGFiZWxzIixvbkRlc3Ryb3k6KCk9PntCLmRlc3Ryb3koKX19fSx7cHJvcGVydHk6Qix1bmRvTW9kZWw6cywKdW5kb1RleHQ6bnVsbCxjYWxsYmFjazooKT0+e2NvbnN0IGU9IUIudmFsdWUoKTtzLmJlZ2luVW5kb01hY3JvKGttKSxzLnNldFByb3BlcnR5KHIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlQbG90TGFiZWxzLGUsbnVsbCkscy5zZXRQcm9wZXJ0eShyLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsLGUsbnVsbCkscy5lbmRVbmRvTWFjcm8oKX19KSxPPXMubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5oaWdoTG93QXZnUHJpY2UuY2hpbGRzKCksVz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLkxhYmVscy5Ub2dnbGVIaWdoTG93UHJpY2VMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4MjM0MzApKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxzdGF0TmFtZToiVG9nZ2xlSGlnaExvd1ByaWNlTGFiZWxzIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxhYmVsc1Zpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6T219KSxGPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUhpZ2hMb3dMaW5lc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDI1NjIyMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVIaWdoTG93UHJpY2VMaW5lIn19LHtwcm9wZXJ0eTpPLmhpZ2hMb3dQcmljZUxpbmVzVmlzaWJsZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpXbX0pLEg9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5Ub2dnbGVDb3VudGRvd25Ub0JhckNsb3NlVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjcxNjYxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUNvdW50ZG93biJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb3VudGRvd24sdW5kb01vZGVsOnMsdW5kb1RleHQ6Rm19KSx6PW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuVG9nZ2xlQWRkT3JkZXJQbHVzQnV0dG9uVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoMjg4OTE1KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LnZhbHVlKCksc3RhdE5hbWU6IlRvZ2dsZUFkZE9yZGVyUGx1c0J1dHRvbiJ9fSx7cHJvcGVydHk6ZGQuYWRkUGx1c0J1dHRvblByb3BlcnR5LHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkhtfSksVT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LkRpYWxvZ3MuU2hvd1N5bWJvbEluZm8iLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKSgoMCxZXy5pc01vYmlsZSkoKT9wLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5NjA5NjgpKTpwLnQobnVsbCx7Y29udGV4dDoic2hvd19zeW1ib2xfaW5mb19kaWFsb2dfYWN0aW9uIn0saSg5ODY0NjgpKSksaWNvbklkOiJDaGFydC5TeW1ib2xJbmZvIixjaGVja2FibGU6ITEsc3RhdE5hbWU6IlN5bWJvbEluZm8iLG9uRXhlY3V0ZTooKT0+e2lmKCgwLFlfLmlzTW9iaWxlKSgpKSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3IikmJm4ub25EZXRhaWxzV2Vidmlld09wZW4/bi5vbkRldGFpbHNXZWJ2aWV3T3BlbigpOigwLEtfLnNob3dEZXRhaWxzRGlhbG9nKSgpLCgwLE10LnRyYWNrRXZlbnQpKCJDb250ZXh0TWVudUNsaWNrIiwiTW9iaWxlIiwiU3ltYm9sSW5mbyIpO2Vsc2V7Y29uc3QgdD1lLm1vZGVsKCkubW9kZWwoKSxpPXQubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihpKXtjb25zdCBlPXQuYXZhaWxhYmxlVW5pdHMoKS52YWx1ZSgpLHM9dC51bml0Q29udmVyc2lvbkVuYWJsZWQoKTsoMCxtbS5zaG93U3ltYm9sSW5mb0RpYWxvZykoe3N5bWJvbEluZm86aSxzaG93VW5pdDpzLHVuaXREZXNjcmlwdGlvbjp0PT50JiZlP2UuZGVzY3JpcHRpb24odCk6IiIsZGF0ZUZvcm1hdHRlcjp0LmRhdGVGb3JtYXR0ZXIoKX0pfX19fX0pLEc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTWVyZ2VBbGxTY2FsZXNUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDg3Mjk4MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvTGVmdCIsb25FeGVjdXRlOigpPT5zLm1lcmdlQWxsU2NhbGVzKCJsZWZ0Iil9fSksaj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5NZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM2MzM3MCkpLHN0YXROYW1lOiJNZXJnZUFsbFNjYWxlc1RvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSwkPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5QcmljZVNjYWxlLk1vdmVUb0xlZnQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDcwNTAxNikpLHN0YXROYW1lOiJNb3ZlU2NhbGVUb0xlZnQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygibGVmdCIpfX0pLFk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTW92ZVRvUmlnaHQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDkxODc5KSksc3RhdE5hbWU6Ik1vdmVTY2FsZVRvUmlnaHQiLG9uRXhlY3V0ZTooKT0+cy5tZXJnZUFsbFNjYWxlcygicmlnaHQiKX19KSxYPW5ldyBhcy5BY3Rpb25XaXRoU3RhbmRhcmRJY29uKHthY3Rpb25JZDoiQ2hhcnQuU2NhbGVzLlJlc2V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyMDc4NDUpKSxpY29uSWQ6IkNoYXJ0LlJlc2V0IixzdGF0TmFtZToiUmVzZXRDaGFydCIsb25FeGVjdXRlOigpPT5lLkdVSVJlc2V0U2NhbGVzKCksaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLkFsdCs4Mn0KfSksWj1lLm1vZGVsKCkubW9kZWwoKS5zZXNzaW9ucygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSGlnaGxpZ2h0LmNoaWxkcygpLnZlcnRsaW5lcy5jaGlsZHMoKS5zZXNzQnJlYWtzLmNoaWxkcygpLnZpc2libGUsUT0oMCxTdS5jcmVhdGVXVkZyb21Qcm9wZXJ0eSkoZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pc0RXTVByb3BlcnR5KCkpLGVlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5TZXNzaW9uQnJlYWtzLlRvZ2dsZVZpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5MjQ5NikpLGNoZWNrYWJsZTohMCxjaGVja2VkOloudmFsdWUoKSxzdGF0TmFtZToiVG9nZ2xlU2Vzc2lvbkJyZWFrcyIsZGlzYWJsZWQ6US52YWx1ZSgpLG9uRXhlY3V0ZTooKT0+e1omJnMuc2V0UHJvcGVydHkoWiwhWi52YWx1ZSgpLHptKX0sb25EZXN0cm95OigpPT5RLmRlc3Ryb3koKX19KTtRLnN1YnNjcmliZSgoKCk9PmVlLnVwZGF0ZSh7ZGlzYWJsZWQ6US52YWx1ZSgpfSkpKTtjb25zdCB0ZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODAyMjIpKSxjaGVja2FibGU6ITAsc3RhdE5hbWU6IlRvZ2dsZVByaWNlTGluZSJ9fSx7cHJvcGVydHk6cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUsdW5kb01vZGVsOnMsdW5kb1RleHQ6VW19KSxpZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVW5kbyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzQxMzMpKSxvbkV4ZWN1dGU6KCk9PnsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLHMudW5kb0hpc3RvcnkoKS51bmRvKCl9LG9uRGVzdHJveTooKT0+e2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmVBbGwoaWUpfSxkaXNhYmxlZDohMCxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kKzkwLGlzUmVwZWF0QWNjZXB0ZWQ6ITB9fSk7ZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkudW5kb1N0YWNrKCkub25DaGFuZ2UoKS5zdWJzY3JpYmUoaWUsKCgpPT5pZS51cGRhdGUoe2Rpc2FibGVkOmUubW9kZWwoKS51bmRvSGlzdG9yeSgpLnVuZG9TdGFjaygpLmlzRW1wdHkoKX0pKSk7Y29uc3Qgc2U9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlZG8iLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDc5ODMwNykpLG9uRXhlY3V0ZTooKT0+eygwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJSZWRvIiksZS5tb2RlbCgpLnVuZG9IaXN0b3J5KCkucmVkbygpfSxvbkRlc3Ryb3k6KCk9PntlLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5vbkNoYW5nZSgpLnVuc3Vic2NyaWJlQWxsKHNlKX0sZGlzYWJsZWQ6ITAsaG90a2V5R3JvdXA6dCxob3RrZXlIYXNoOksuTW9kaWZpZXJzLk1vZCs4OSxpc1JlcGVhdEFjY2VwdGVkOiEwfX0pO2UubW9kZWwoKS51bmRvSGlzdG9yeSgpLnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHNlLCgoKT0+c2UudXBkYXRlKHtkaXNhYmxlZDplLm1vZGVsKCkudW5kb0hpc3RvcnkoKS5yZWRvU3RhY2soKS5pc0VtcHR5KCl9KSkpO2NvbnN0IG5lPXtpbnZlcnRTZXJpZXNTY2FsZTpvLGF1dG9TZXJpZXNTY2FsZTphLGxvY2tTZXJpZXNTY2FsZTpsLHJlZ3VsYXJTZXJpZXNTY2FsZTpjLHBlcmNlbnRTZXJpZXNTY2FsZTpkLGluZGV4ZWRUbzEwMFNlcmllc1NjYWxlOnUsbG9nU2VyaWVzU2NhbGU6XyxhcHBseVRpbWVab25lOm0sc3ltYm9sU2VhcmNoOm5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dDaGFuZ2VTeW1ib2wiLG9wdGlvbnM6e2xhYmVsOigwLGltLmFwcGVuZEVsbGlwc2lzKShwLnQobnVsbCx2b2lkIDAsaSg2OTI3NjcpKSksc3RhdE5hbWU6IkNoYW5nZVN5bWJvbCIsb25FeGVjdXRlOigpPT57KDAsRXQuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZToiIix0cmFja1Jlc3VsdHNPcHRpb25zOnt0cmFja1Jlc3VsdHM6ISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpLGVtcHR5U2VhcmNoVHlwZToiZW1wdHlfcmVzdWx0X19zdXBlcmNoYXJ0cyJ9LGVuYWJsZU9wdGlvbnNDaGFpbjooMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfX19KSxjaGFuZ2VJbnRlcnZhbDp5bShlKSx0aW1lU2NhbGVSZXNldDpTLGluc2VydEluZGljYXRvcjp2LGNvbXBhcmVPckFkZDp5LGNoYXJ0UHJvcGVydGllczpiLG1haW5TZXJpZXNQcm9wZXJ0aWVzQWN0aW9uOncsc2NhbGVzUHJvcGVydGllczpDLGxpbmVUb2dnbGVMb2NrOlAsc2VyaWVzSGlkZTp4LHN0dWR5SGlkZTp4LGxpbmVIaWRlOngsc2NhbGVTZXJpZXNPbmx5Ok0sZHJhd2luZ1Rvb2xiYXJBY3Rpb246SSxzdGF5SW5EcmF3aW5nTW9kZUFjdGlvbjpMLGhpZGVBbGxNYXJrczpBLHNob3dTZXJpZXNMYXN0VmFsdWU6RCxzaG93U3ltYm9sTGFiZWxzQWN0aW9uOkUsc2hvd1N0dWR5TGFzdFZhbHVlOlYsc2hvd1N0dWR5UGxvdE5hbWVzQWN0aW9uOk4sc2hvd0hpZ2hMb3dQcmljZUxhYmVsczpXLHNob3dIaWdoTG93UHJpY2VMaW5lczpGLHNob3dDb3VudGRvd246SCxhZGRQbHVzQnV0dG9uOnosc2hvd1N5bWJvbEluZm9EaWFsb2c6VSxtZXJnZUxlZnRTY2FsZXNBY3Rpb246RyxtZXJnZVJpZ2h0U2NhbGVzQWN0aW9uOmosbW92ZVNjYWxlVG9MZWZ0OiQsbW92ZVNjYWxlVG9SaWdodDpZLGNoYXJ0UmVzZXQ6WCxzZXNzaW9uQnJlYWtzOmVlLHNob3dQcmljZUxpbmU6dGUsdW5kbzppZSxyZWRvOnNlfTtpZihuLmdvVG9EYXRlRW5hYmxlZCYmKG5lLmdvdG9EYXRlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5EaWFsb2dzLlNob3dHb1RvRGF0ZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc0NTk5OCkpKSwKc3RhdE5hbWU6IkdvVG9EYXRlIixvbkV4ZWN1dGU6KCk9PigwLGdtLnNob3dHb1RvRGF0ZURpYWxvZykoZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpKSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuQWx0KzcxfX0pKSwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X29iamVjdF90cmVlIikpe2NvbnN0IHQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSxzPXt9O2xldCBuO3tjb25zdCBlPSgpPT57d2luZG93LndpZGdldGJhciYmKG49ZT0+dC5zZXRWYWx1ZShlKSx3aW5kb3cud2lkZ2V0YmFyLnZpc2libGUoKS5zdWJzY3JpYmUobix7Y2FsbFdpdGhMYXN0OiEwfSkpfTt3aW5kb3cud2lkZ2V0YmFyP2UoKTp3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy5zdWJzY3JpYmUocywodD0+e3QmJmUoKX0pLCEwKX1jb25zdCByPSgpPT57Y29uc3QgZT1wLnQobnVsbCx7Y29udGV4dDoiQWN0aW9uIGxhYmVsIn0saSg2NDY4NDgpKTtyZXR1cm4gdC52YWx1ZSgpP2U6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKGUpfTtuZS5wYW5lT2JqZWN0VHJlZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuT2JqZWN0VHJlZS5TaG93IixvcHRpb25zOntsYWJlbDpyKCksc3RhdE5hbWU6Ik9iamVjdHNUcmVlIixvbkV4ZWN1dGU6KCk9PmUuc2hvd09iamVjdHNUcmVlUGFuZWxPckRpYWxvZygpLG9uRGVzdHJveTooKT0+e3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZShuKSx3aW5kb3cuVHJhZGluZ1ZpZXcucmlnaHRXaWRnZXRCYXJTZXR0bGVkPy51bnN1YnNjcmliZUFsbChzKSx0LmRlc3Ryb3koKX19fSksdC5zdWJzY3JpYmUoKCgpPT57bmUucGFuZU9iamVjdFRyZWU/LnVwZGF0ZSh7bGFiZWw6cigpfSl9KSl9aWYoKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJvcGVydHlfcGFnZXMiKSYmKG5lLmZvcm1hdD1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlNob3dTZXR0aW5nc0RpYWxvZyIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDczMDU4NikpKSxpY29uSWQ6IlNldHRpbmdzIixzdGF0TmFtZToiRWRpdFNlbGVjdGVkT2JqZWN0IixvbkV4ZWN1dGU6KCk9PmUuc2hvd1NlbGVjdGVkU291cmNlc1Byb3BlcnRpZXMoKX19KSksIWUucmVhZE9ubHkoKSl7Y29uc3Qgcz1mdW5jdGlvbihlKXtjb25zdCB0PWZtKGUpLGk9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5kcmF3aW5ncy5sYWJlbCxkaXNhYmxlZDp0LmRyYXdpbmdzLmRpc2FibGVkLHN0YXROYW1lOiJSZW1vdmVBbGxEcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKSxvbkRlc3Ryb3k6KCk9PmUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKGUpfX0pLHM9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0LlJlbW92ZUFsbEluZGljYXRvcnMiLG9wdGlvbnM6e2xhYmVsOnQuc3R1ZGllcy5sYWJlbCxkaXNhYmxlZDp0LnN0dWRpZXMuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzKCl9fSksbj1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuUmVtb3ZlQWxsSW5kaWNhdG9yc0FuZExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6dC5hbGwubGFiZWwsZGlzYWJsZWQ6dC5hbGwuZGlzYWJsZWQsc3RhdE5hbWU6IlJlbW92ZUFsbEluZGljYXRvcnNBbmREcmF3aW5nVG9vbHMiLG9uRXhlY3V0ZTooKT0+ZS5yZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzKCl9fSk7cmV0dXJuIGUubW9kZWwoKS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZShlLCgoKT0+e2NvbnN0e3N0dWRpZXM6dCxkcmF3aW5nczpyLGFsbDpvfT1mbShlKTtzLnVwZGF0ZSh7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxsYWJlbDp0LmxhYmVsfSksaS51cGRhdGUoe2Rpc2FibGVkOnIuZGlzYWJsZWQsbGFiZWw6ci5sYWJlbH0pLG4udXBkYXRlKHtkaXNhYmxlZDpvLmRpc2FibGVkLGxhYmVsOm8ubGFiZWx9KX0pKSx7ZHJhd2luZ3M6aSxzdHVkaWVzOnMsYWxsOm59fShlKTtuZS5wYW5lUmVtb3ZlQWxsU3R1ZGllcz1zLnN0dWRpZXMsbmUucGFuZVJlbW92ZUFsbERyYXdpbmdUb29scz1zLmRyYXdpbmdzLG5lLnBhbmVSZW1vdmVBbGxTdHVkaWVzRHJhd2luZ1Rvb2xzPXMuYWxsLG5lLmFwcGx5U3R1ZGllc1RvQWxsQ2hhcnRzPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5BcHBseUluZGljYXRvcnNUb0FsbENoYXJ0cyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTI0MTc2KSksc3RhdE5hbWU6IkFwcGx5SW5kaWNhdG9yc1RvQWxsQ2hhcnRzIixvbkV4ZWN1dGU6KCk9PmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHMoZSl9fSksbmUuc3R1ZHlSZW1vdmU9bmUubGluZVJlbW92ZT1uZXcgYXMuQWN0aW9uV2l0aFN0YW5kYXJkSWNvbih7YWN0aW9uSWQ6IkNoYXJ0LlNlbGVjdGVkT2JqZWN0LlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTExMjYpKSxpY29uSWQ6IkNoYXJ0LlJlbW92ZVNlbGVjdGVkT2JqZWN0IixzdGF0TmFtZToiUmVtb3ZlU2VsZWN0ZWRPYmplY3QiLG9uRXhlY3V0ZTooKT0+eyhlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk/P2UpLnJlbW92ZVNlbGVjdGVkU291cmNlcygpfSxob3RrZXlHcm91cDp0LGhvdGtleUhhc2g6Sy5pc01hY0tleWJvYXJkPzg6NDZ9fSl9aWYoISgwLEoub25XaWRnZXQpKCkmJigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInRleHRfbm90ZXMiKSYmKG5lLmFkZFRvVGV4dE5vdGVzPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5zeW1ib2xXVigpLnNwYXduKCkscz1uZXcgZXMuQWN0aW9uKHsKYWN0aW9uSWQ6Ik5vdGUuQ3JlYXRlIixvcHRpb25zOntpY29uSWQ6IlRleHROb3RlLkFkZCIsaWNvbjpKXy5pY29ucy5nZXQoIlRleHROb3RlLkFkZCIpLGxhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMDIyNCkpLHN0YXROYW1lOiJBZGRUb1RleHROb3RlcyIsb25FeGVjdXRlOigpPT57d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e3dpbmRvdy53aWRnZXRiYXI/LnNldFBhZ2UoImJhc2UiKSwoMCxYXy5jcmVhdGVTeW1ib2xOb3RlKShlLnN5bWJvbFdWKCkudmFsdWUoKSwoMCxZXy5pc01vYmlsZSkoKSl9KSx7c291cmNlOiJBZGQgdGV4dCBub3RlIGluIGNoYXJ0IGNvbnRleHQgbWVudSJ9KX0saG90a2V5SGFzaDpLLk1vZGlmaWVycy5BbHQrNzgsaG90a2V5R3JvdXA6ZS5ob3RrZXlzKCksb25EZXN0cm95OigpPT50LmRlc3Ryb3koKX19KTtyZXR1cm4gdC5zdWJzY3JpYmUoKHQ9Pntjb25zdCBuPWUubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LnByb19uYW1lLHI9ZS5tb2RlbCgpLm1vZGVsKCkuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKG4/P3QpLG89KDAsWl8uc2FmZVNob3J0TmFtZSkodCk7cy51cGRhdGUoe2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM0MzMzMSkpLmZvcm1hdCh7c3ltYm9sOnI/LmFsaWFzTmFtZT8/b30pfSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksc30oZSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYoISgwLEouaXNEZXNrdG9wQXBwKSgpfHwoMCwkXy5kZXNrdG9wVmVyc2lvbklzTGVzcykoIjEuMC4xMCIpfHwoMCxKLmlzRGVza3RvcEFwcCkoKSYmISgwLCRfLmRlc2t0b3BWZXJzaW9uSXNMZXNzKSgiMS4wLjExIikpKXtjb25zdCB0PW5lLmFwcGx5Q29sb3JUaGVtZT1uZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuVGhlbWUuQXBwbHkiLG9wdGlvbnM6e25hbWU6ImFwcGx5LWNvbG9yLXRoZW1lIixsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgzNTQ2NzYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkxvYWRpbmciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDM3MjczMikpfX0pXSxzdGF0TmFtZToiQ29sb3JUaGVtZSIsb25EZXN0cm95OigpPT57d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmVBbGwodCksay50aGVtZUxpc3RDaGFuZ2VkLnVuc3Vic2NyaWJlQWxsKHQpfX0sb3B0aW9uc0xvYWRlcjooKT0+dW0oZSl9KSxzPSgpPT5wbShlLG5lLmFwcGx5Q29sb3JUaGVtZSk7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHQscyksay50aGVtZUxpc3RDaGFuZ2VkLnN1YnNjcmliZSh0LHMpfSgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfc291cmNlX2NvZGUiKSYmKG5lLnZpZXdTb3VyY2VDb2RlPW5ldyBlcy5BY3Rpb24oe2FjdGlvbklkOiJDaGFydC5JbmRpY2F0b3IuUGluZVNvdXJjZSIsb3B0aW9uczp7bGFiZWw6KDAsaW0uYXBwZW5kRWxsaXBzaXMpKHAudChudWxsLHZvaWQgMCxpKDc5MzQwMikpKSxzdGF0TmFtZToiT3BlblNlbGVjdGVkT2JqZWN0U291cmNlIixvbkV4ZWN1dGU6KCk9Pntjb25zdFtlXT1zLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoISgwLHRpLmlzU3R1ZHkpKGUpKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8oKTt0JiZ0LnNjcmlwdElkUGFydCYmdC5waW5lJiYoMCxfbS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZS52ZXJzaW9ufX0sb3BlblNvdXJjZUlkOiJzdHVkeV9tZW51In0pLmNhdGNoKGVtLnNob3dTY3JpcHRJbmZvRXJyb3JOb3RpY2VEaWFsb2cpfX19KSksbmUuaGlkZUFsbExpbmVUb29scz1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5Ub2dnbGVWaXNpYmlsaXR5LkFsbExpbmVUb29scyIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTg4MjYwKSksY2hlY2thYmxlOiEwLHN0YXROYW1lOiJUb2dnbGVIaWRlTWFya3NPbkJhcnMiLGhvdGtleUdyb3VwOmUuaG90a2V5cygpLGhvdGtleUhhc2g6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs3Mn19LHtwcm9wZXJ0eTpULmhpZGVNYXJrc09uQmFycygpLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OlRtLGNhbGxiYWNrOigpPT4oMCxSdC50b2dnbGVIaWRlTW9kZSkoKX0pLG5lLm9wZW5UYWJsZVZpZXc9bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk9wZW5UYWJsZVZpZXciLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzODMzNikpLHN0YXROYW1lOiJUYWJsZSB2aWV3IixvbkV4ZWN1dGU6YXN5bmMoKT0+e2NvbnN0e3Nob3dDaGFydFRhYmxlVmlld0RpYWxvZzp0fT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDIwMzM3KSxpLmUoMjkyOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMjM4NSksaS5lKDk0OTQ4KSxpLmUoMzYyMjIpLGkuZSgyOTUzNiksaS5lKDMyODE2KSxpLmUoNTE4NCksaS5lKDU2MjUyKSxpLmUoMTE0NjEpLGkuZSgyNDU4MSksaS5lKDk2NTg3KSxpLmUoMjc1MTcpLGkuZSg5ODA4NCksaS5lKDcwODE1KSxpLmUoNTAyMjEpLGkuZSgzMzUxNSksaS5lKDE0NjI1KSxpLmUoOTM0MTYpLGkuZSg2NTcpLGkuZSg2MDcwKSxpLmUoNzY2NSksaS5lKDUyOTIwKSxpLmUoNjI2MDApLGkuZSg3NTIxNyksaS5lKDk4Njk2KSxpLmUoNzQ2MzYpLGkuZSg3MTk5MSksaS5lKDQ5OTk3KSxpLmUoMzIzODcpLGkuZSgyMzc0MyksaS5lKDY2MjM1KSxpLmUoMzY5MzgpLGkuZSg2NzkzMCksaS5lKDQ2NjUwKV0pLnRoZW4oaS5iaW5kKGksNzI1OTE4KSk7dCh7d2lkZ2V0OmUuY2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkuYWN0aXZlQ2hhcnRXaWRnZXR9KX19fSk7Y29uc3QgcmU9KDAsUGUuaXNGZWF0dXJlRW5hYmxlZCkoInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iKSxvZT1zLm1haW5TZXJpZXMoKTt7Y29uc3QgZT1uZS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw9bmV3IGlzKHsKYWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZVByZVBvc3RNYXJrZXRMYWJlbHNWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NTgyNjIpKTpwLnQobnVsbCx2b2lkIDAsaSg1NjUxNjEpKSxjaGVja2FibGU6ITAsY2hlY2tlZDohMSxkaXNhYmxlZDohKG9lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKXx8b2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnZhbHVlKCkpLHN0YXROYW1lOiJUb2dnbGVQcmVQb3N0TWFya2V0UHJpY2VMYWJlbCIsb25EZXN0cm95OigpPT57b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS51bnN1YnNjcmliZUFsbChlKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSl9fX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWwsdW5kb01vZGVsOnMsdW5kb1RleHQ6cmU/Vm06Um19KTtvZS5pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKSxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkuc3Vic2NyaWJlKGUsKHQ9PntlLnVwZGF0ZSh7ZGlzYWJsZWQ6IXQudmFsdWUoKX0pfSkpfXtjb25zdCBlPW5lLnNob3dQcmVQb3N0TWFya2V0UHJpY2VMaW5lPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpyZT9wLnQobnVsbCx2b2lkIDAsaSg0NjY4NTUpKTpwLnQobnVsbCx2b2lkIDAsaSg0MjExMCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLGRpc2FibGVkOiEob2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS52YWx1ZSgpfHxvZS5pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudmFsdWUoKSksc3RhdE5hbWU6IlRvZ2dsZVByZVBvc3RNYXJrZXRQcmljZUxpbmUiLG9uRGVzdHJveTooKT0+e29lLmlzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCkudW5zdWJzY3JpYmVBbGwoZSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnVuc3Vic2NyaWJlQWxsKGUpfX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlUG9zdE1hcmtldC5jaGlsZHMoKS52aXNpYmxlLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OnJlP05tOkJtfSk7b2UuaXNQcmVQb3N0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHkoKS5zdWJzY3JpYmUoZSwodD0+e2UudXBkYXRlKHtkaXNhYmxlZDohdC52YWx1ZSgpfSl9KSksb2UuaXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpLnN1YnNjcmliZShlLCh0PT57ZS51cGRhdGUoe2Rpc2FibGVkOiF0LnZhbHVlKCl9KX0pKX17Y29uc3Qgbz1uZS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWU9bmV3IGlzKHthY3Rpb25JZDoiQ2hhcnQuUHJpY2VTY2FsZS5MYWJlbHMuVG9nZ2xlU3ltYm9sUHJldkNsb3NlVmFsdWVWaXNpYmlsaXR5IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSg4ODIxNSkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVTeW1ib2xQcmV2Q2xvc2VWYWx1ZSIsb25EZXN0cm95OigpPT5zLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnVuc3Vic2NyaWJlQWxsKG8pfX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzUHJldkNsb3NlVmFsdWUsdW5kb01vZGVsOnMsdW5kb1RleHQ6TW19KTtzLm1haW5TZXJpZXMoKS5vblJlc3RhcnRlZCgpLnN1YnNjcmliZShvLCgoKT0+e28udXBkYXRlKHtkaXNhYmxlZDpzLm1haW5TZXJpZXMoKS5pc0RXTSgpfSl9KSk7Y29uc3QgYT1uZS5zaG93U2VyaWVzUHJldkNsb3NlTGluZT1uZXcgaXMoe2FjdGlvbklkOiJDaGFydC5MaW5lcy5Ub2dnbGVTZXJpZXNQcmV2Q2xvc2VMaW5lVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNzk0MzMxKSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZVN5bWJvbFByZXZDbG9zZUxpbmUiLG9uRGVzdHJveTooKT0+cy5tYWluU2VyaWVzKCkub25SZXN0YXJ0ZWQoKS51bnN1YnNjcmliZUFsbChhKX19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByZXZDbG9zZVByaWNlTGluZSx1bmRvTW9kZWw6cyx1bmRvVGV4dDpJbX0pO3MubWFpblNlcmllcygpLm9uUmVzdGFydGVkKCkuc3Vic2NyaWJlKGEsKCgpPT57YS51cGRhdGUoe2Rpc2FibGVkOnMubWFpblNlcmllcygpLmlzRFdNKCl9KX0pKSxuZS5zaG93QmlkQXNrTGFiZWxzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LlByaWNlU2NhbGUuTGFiZWxzLlRvZ2dsZUJpZEFza0xhYmVsc1Zpc2liaWxpdHkiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDIzMTUwNCkpLGNoZWNrYWJsZTohMCxjaGVja2VkOiExLHN0YXROYW1lOiJUb2dnbGVCaWRBc2tMYWJlbHMifX0se3Byb3BlcnR5OnIuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKS5zaG93QmlkQXNrTGFiZWxzLHVuZG9Nb2RlbDpzLHVuZG9UZXh0OkRtfSksbmUuc2hvd0JpZEFza0xpbmVzPW5ldyBpcyh7YWN0aW9uSWQ6IkNoYXJ0LkxpbmVzLlRvZ2dsZUJpZEFza0xpbmVzVmlzaWJpbGl0eSIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoOTE5Mzc2KSksY2hlY2thYmxlOiEwLGNoZWNrZWQ6ITEsc3RhdE5hbWU6IlRvZ2dsZUJpZEFza0xpbmVzIn19LHtwcm9wZXJ0eTpzLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmlkQXNrLmNoaWxkcygpLnZpc2libGUsdW5kb01vZGVsOnMsdW5kb1RleHQ6RW19KQo7Y29uc3QgbD1lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLmFjdGl2ZUNoYXJ0Q2FuQmVNb3ZlZCgpLnNwYXduKCksYz1uZS5tb3ZlQ2hhcnRBY3Rpb249bmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0IixvcHRpb25zOntsYWJlbDpwLnQobnVsbCx2b2lkIDAsaSgyODgzOTYpKSxzdWJJdGVtczpbbmV3IGVzLkFjdGlvbih7YWN0aW9uSWQ6IkNoYXJ0Lk1vdmVDaGFydEluTGF5b3V0LkZvcndhcmQiLG9wdGlvbnM6e2xhYmVsOnAudChudWxsLHZvaWQgMCxpKDU5NTgzOCkpLHN0YXROYW1lOiJNb3ZlQ2hhcnRSaWdodCIsb25FeGVjdXRlOigpPT5lLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLm1vdmVBY3RpdmVDaGFydFdpdGhVbmRvKCExKX19KSxuZXcgZXMuQWN0aW9uKHthY3Rpb25JZDoiQ2hhcnQuTW92ZUNoYXJ0SW5MYXlvdXQuQmFjayIsb3B0aW9uczp7bGFiZWw6cC50KG51bGwsdm9pZCAwLGkoNTAwMTQ3KSksc3RhdE5hbWU6Ik1vdmVDaGFydExlZnQiLG9uRXhlY3V0ZTooKT0+ZS5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5tb3ZlQWN0aXZlQ2hhcnRXaXRoVW5kbyghMCl9fSldLG9uRGVzdHJveTooKT0+bC5kZXN0cm95KCl9fSk7aWYobC5zdWJzY3JpYmUoKGU9PmMudXBkYXRlKHtkaXNhYmxlZDohZX0pKSx7Y2FsbFdpdGhMYXN0OiEwfSksbi5hZGRUb1dhdGNobGlzdEVuYWJsZWQpe2NvbnN0IGk9e2hvdGtleUdyb3VwOnQsc3RhdE5hbWU6IkFkZFRvV2F0Y2hsaXN0In07bmUuYWRkVG9XYXRjaGxpc3Q9bmV3IGxtKGUsaSksdC5hZGQoe2Rlc2M6IkFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0Iixob3RrZXk6Sy5Nb2RpZmllcnMuTW9kK0suTW9kaWZpZXJzLkFsdCs4NyxoYW5kbGVyOigpPT4oMCxRXy5zaG93QWRkU3ltYm9sRGlhbG9nKShbdG0oZSldKX0pfX1yZXR1cm4gbmV9dmFyIHFtPWkoMzIyNjAxKSwkbT1pKDc0OTQwMik7aSgyODI3MTApO2NvbnN0IFltPSgwLGMuZ2V0TG9nZ2VyKSgiQ2hhcnRXaWRnZXQiLHtjb2xvcjoiIzYwNiJ9KSxLbT0oMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyIpLFhtPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoImhpZGUge3RpdGxlfSIscC50KG51bGwsdm9pZCAwLGkoNTg5ODE1KSkpLFptPW5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoInVubG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg3NzA2MzkpKSksSm09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygibG9jayB7dGl0bGV9IixwLnQobnVsbCx2b2lkIDAsaSg2MjA5MjcpKSksUW09bmV3IHkuVHJhbnNsYXRlZFN0cmluZygiY2hhbmdlIHNlc3Npb24iLHAudChudWxsLHZvaWQgMCxpKDcyMzQyNikpKTtsZXQgZWc9bnVsbDtpZihsb2NhdGlvbi5zZWFyY2gudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygibG9nY2FudmFzc2F2ZXJlc3RvcmVsZWFrcyIpKXtpZighSi5pc0Nocm9tZSl0aHJvdyBuZXcgRXJyb3IoIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCBzYXZlL3Jlc3RvcmUgbGVhayBkZXRlY3Rpb24gaXMgYXZhaWxhYmxlIGZvciBub3cgaW4gQ2hyb21lIG9ubHkiKTtpLmUoMTYxMjYpLnRoZW4oaS5iaW5kKGksNDI4OTEyKSkudGhlbigoZT0+e2UuZW5hYmxlQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc0RldGVjdGlvbigpLGVnPWUucmVwb3J0Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEU2F2ZVJlc3RvcmVMZWFrc30pKX1jb25zdCB0Zz17YWRkVG9XYXRjaGxpc3RFbmFibGVkOiEwLHNob3dGaW5hbmNpYWxzRW5hYmxlZDohMSxzb3VyY2VTZWxlY3Rpb25FbmFibGVkOiEwLHByb3BlcnR5UGFnZXNFbmFibGVkOiEwLHBhbmVDb250ZXh0TWVudUVuYWJsZWQ6ITAscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDohMCxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiExLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMSxnb1RvRGF0ZUVuYWJsZWQ6ITEsbWFya2V0U3RhdHVzV2lkZ2V0RW5hYmxlZDohMCxjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOiEwLGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDohMCxwYW5lQ29udHJvbHNFbmFibGVkOiEwLGlzU3ltYm9sQXZhaWxhYmxlOmU9PlByb21pc2UucmVzb2x2ZSghMCksbGVnZW5kV2lkZ2V0RW5hYmxlZDohMCxjaGFydEV2ZW50c0VuYWJsZWQ6ITAsbmV3c05vdGlmaWNhdGlvbnNFbmFibGVkOiEwLGVzZEVuYWJsZWQ6ITEsbGF0ZXN0VXBkYXRlc0VuYWJsZWQ6ITEsY29udGludW91c0NvbnRyYWN0U3dpdGNoZXNFbmFibGVkOiExLGZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkOiExLGNyb3BwZWRUaWNrTWFya3M6ITAsY291bnRkb3duRW5hYmxlZDohMCxsYXN0UHJpY2VBbmltYXRpb25FbmFibGVkOiEwLHVzZUtpbmV0aWNTY3JvbGw6Si5DaGVja01vYmlsZS5hbnkoKSxpbmRpY2F0b3JzRGlhbG9nU2hvcnRjdXRFbmFibGVkOiEwLGhhbmRsZVNjYWxlOnttb3VzZVdoZWVsOiEwLHBpbmNoOiEwLGF4aXNQcmVzc2VkTW91c2VNb3ZlOnt0aW1lOiEwLHByaWNlOiEwfX0saGFuZGxlU2Nyb2xsOnttb3VzZVdoZWVsOiEwLHByZXNzZWRNb3VzZU1vdmU6ITAsaG9yelRvdWNoRHJhZzohMCx2ZXJ0VG91Y2hEcmFnOiEwfX0saWc9KDAsR3IuZXh0cmFjdFRoZW1lZENvbG9ycykoeHQubGlnaHRUaGVtZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyx4dC5kYXJrVGhlbWUuY29udGVudC5jaGFydFByb3BlcnRpZXMpO3ZhciBzZztmdW5jdGlvbiBuZyhlLHQsaSxzPTApe2NvbnN0IG49dC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCkscj1lLm1haW5TZXJpZXMoKS5zeW5jTW9kZWwoKTtsZXQgbz1pO2lmKG51bGwhPT1uJiZudWxsIT09cil7Y29uc3QgdD1lLmNyZWF0ZVN5bmNQb2ludChuLnN5bmNTb3VyY2VUYXJnZXQoKSxyLnN5bmNTb3VyY2VUYXJnZXQoKSk7MCE9PXMmJihpPW4ucHJvamVjdFRpbWUoaSxzKSksbz10LnNvdXJjZVRpbWVUb1RhcmdldFRpbWUoaSl9cmV0dXJuIGUudGltZVNjYWxlKCkucG9pbnRzKCkucm91Z2hJbmRleChvLHImJnIuZGlzdGFuY2UuYmluZChyKSl9IWZ1bmN0aW9uKGUpewplW2UuU2hvd1RpbWVBeGlzTWluQ2hhcnRIZWlnaHQ9NjFdPSJTaG93VGltZUF4aXNNaW5DaGFydEhlaWdodCIsZVtlLlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoPTEwMl09IlNob3dQcmljZUF4aXNNaW5DaGFydFdpZHRoIn0oc2d8fChzZz17fSkpO2NvbnN0IHJnPW5ldyBTZXQoWyJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIiwiQ29tcGFyZUB0di1iYXNpY3N0dWRpZXMiLCJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyIsIkRpdmlkZW5kc0B0di1iYXNpY3N0dWRpZXMiLCJFYXJuaW5nc0B0di1iYXNpY3N0dWRpZXMiLCJTcGxpdHNAdHYtYmFzaWNzdHVkaWVzIiwiQmFyU2V0Q29udGludW91c1JvbGxEYXRlc0B0di1jb3Jlc3R1ZGllcyIsIlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyIsIkluYWN0aXZpdHlHYXBzQHR2LWJhc2ljc3R1ZGllcyIsIlZiUFNlc3Npb25zUm91Z2hAdHYtdm9sdW1lYnlwcmljZSIsIkFuY2hvcmVkVldBUEB0di1iYXNpY3N0dWRpZXMiLCJSZWdyZXNzaW9uVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtYmFzaWNzdHVkaWVzIiwiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSIsIkxvbmdTaG9ydFBvc2l0aW9uQHR2LWJhc2ljc3R1ZGllcyIsIlJlcGxheVN0cmF0ZWd5QHR2LXNjcmlwdGluZyJdKSxvZz0oMCxidC5kZWZhdWx0KSgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5zZXRJc05vbkNvdW50ZWRTdHVkeUZuKChlPT5yZy5oYXMoZSkpKX0pKTt2YXIgYWc7IWZ1bmN0aW9uKGUpe2UuQ2FuY2VsZWQ9ImNhbmNlbGVkIixlLkxpbWl0cz0ibGltaXRzIn0oYWd8fChhZz17fSkpO2NsYXNzIGxnIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoYENyZWF0ZVN0dWR5RXJyb3I6ICR7ZX1gKSx0aGlzLnJlYXNvbj1lfX1sZy5SZWFzb25zPWFnO2NsYXNzIGNne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aXZlUGFuZVdpZGdldD1uZXcgaC5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fbWFpbkRpdj1udWxsLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuX2VsVG9vbHRpcERpdj1udWxsLHRoaXMuX3BhbmVXaWRnZXRzPW5ldyBoLldhdGNoZWRWYWx1ZShbXSksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9wYW5lU2VwYXJhdG9ycz1bXSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXM9bnVsbCx0aGlzLl9tb2RlbENyZWF0ZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5faXNEZXN0cm95ZWQ9ITEsdGhpcy5fY3VzdG9tTGVnZW5kV2lkZ2V0c0ZhY3RvcnlNYXA9bmV3IE1hcCx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRCYXNlZFRoZW1lPW5ldyBoLldhdGNoZWRWYWx1ZSgibGlnaHQiKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tVGhlbWU9bmV3IGguV2F0Y2hlZFZhbHVlKCJsaWdodCIpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduPW51bGwsdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd249bnVsbCx0aGlzLl9saHNBeGVzV2lkdGg9MCx0aGlzLl9yaHNBeGVzV2lkdGg9MCx0aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ9bmV3IGYuRGVsZWdhdGUsdGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2hvdGtleXNMaXN0ZW5lcj1udWxsLHRoaXMuX21vdXNlV2hlZWxIZWxwZXI9bnVsbCx0aGlzLl9vbldoZWVsQm91bmQ9bnVsbCx0aGlzLl9qdXN0QWN0aXZhdGVkPSExLHRoaXMuX2luaXRlZD0hMSx0aGlzLl9jb250YWluc0RhdGE9ITEsdGhpcy5faW5pdGlhbExvYWRpbmc9ITEsdGhpcy5fb25XaWRnZXQ9ITEsdGhpcy5fd2lkZ2V0Q3VzdG9tZXI9dm9pZCAwLHRoaXMuX2RlZkludGVydmFsPW51bGwsdGhpcy5fZGVmU3R5bGU9bnVsbCx0aGlzLl9kZWZUaW1lZnJhbWU9bnVsbCx0aGlzLl9kZWZNZXRyaWM9bnVsbCx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT1udWxsLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCx0aGlzLl9kcmF3UGxhbm5lZD0hMSx0aGlzLl9kcmF3UmFmSWQ9MCx0aGlzLl9kcmF3VGltZT1uZXcgaC5XYXRjaGVkVmFsdWUocGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX2luTG9hZGluZ1N0YXRlPSExLHRoaXMuX3RpbWluZ3NNZXRlcj1udWxsLHRoaXMuX3RhZ3NDaGFuZ2VkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX3JlZHJhdz1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9pc1Zpc2libGU9bmV3IGguV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9jb2xsYXBzZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9kYXRhV2luZG93V2lkZ2V0PW51bGwsdGhpcy5fcmVzaXplSGFuZGxlcj1udWxsLHRoaXMuX3NwaW5uZXI9bnVsbCx0aGlzLl9zeW1ib2xXVj1uZXcgaC5XYXRjaGVkVmFsdWUsdGhpcy5fcmVzb2x1dGlvbldWPW5ldyBoLldhdGNoZWRWYWx1ZSx0aGlzLl9hY3Rpb25zPW51bGwsdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZD10aGlzLl91cGRhdGVUaGVtZWRDb2xvci5iaW5kKHRoaXMpLHRoaXMuX2Rpc2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9yZWNvbm5lY3RCYWlsb3V0PW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9jaGFydFdpZGdldEluaXRpYWxpemVkPW5ldyBmLkRlbGVnYXRlLHRoaXMuX2Fib3V0VG9CZURlc3Ryb3llZD1uZXcgZi5EZWxlZ2F0ZSx0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlPW51bGwsdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9bnVsbCx0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPW51bGwsdGhpcy5fbm9FeGNoYW5nZVN1YnNjcnB0aW9uV2FybmluZz1udWxsLHRoaXMuX2hpcDNEaXNjbGFpbWVyUmVzb3VyY2U9bnVsbCx0aGlzLl9wYW5lV2lkZ2V0c1NoYXJlZFN0YXRlPW5ldyB3bix0aGlzLl9vblpvb209bmV3IGYuRGVsZWdhdGUsdGhpcy5fb25TY3JvbGw9bmV3IGYuRGVsZWdhdGUsCnRoaXMuX2F2YWlsYWJsZVNjcmVlbj1udWxsLHRoaXMuX3dpZGdldFN5bWJvbENoYW5nZVJlc3RyaWN0aW9ucz1udWxsLHRoaXMuX2hvdmVyZWRQcmljZUF4ZXM9bmV3IFNldCx0aGlzLl9hbnlBeGlzSG92ZXJlZD1uZXcgaC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2xpbmtpbmdHcm91cEluZGV4PW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9pc0hvdmVyZWQ9bmV3IGguV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9hY3RpdmVIaW50PW51bGwsdGhpcy5fZXZlbnRIaW50RGVmZXJyZWRQcm9taXNlPW51bGwsdGhpcy5fd2FybmluZ0hpbnREZWZlcnJlZFByb21pc2U9bnVsbCx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXM9e30sdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsLHRoaXMuX2JhcnNCdXR0b249bnVsbCx0aGlzLl9tb2RlbFdWPW5ldyBoLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl91cGRhdGVTY2FsZXNBY3Rpb25zPSgpPT57Y29uc3QgZT10aGlzLmFjdGlvbnMoKSx0PXRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksaT10LnByaWNlU2NhbGUoKSxzPXQucHJvcGVydGllcygpLG49aS5pc0xvY2tTY2FsZSgpLHI9Nj09PXMuY2hpbGRzKCkuc3R5bGUudmFsdWUoKTtlLnBlcmNlbnRTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUGVyY2VudGFnZSgpfSksZS5sb2dTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzTG9nKCl9KSxlLnJlZ3VsYXJTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzUmVndWxhcigpfSksZS5pbmRleGVkVG8xMDBTZXJpZXNTY2FsZS51cGRhdGUoe2Rpc2FibGVkOm58fHIsY2hlY2tlZDppLmlzSW5kZXhlZFRvMTAwKCl9KSxlLmludmVydFNlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzSW52ZXJ0ZWQoKX0pLGUubG9ja1Nlcmllc1NjYWxlLnVwZGF0ZSh7Y2hlY2tlZDppLmlzTG9ja1NjYWxlKCl9KSxlLmF1dG9TZXJpZXNTY2FsZS51cGRhdGUoe2NoZWNrZWQ6aS5pc0F1dG9TY2FsZSgpLGRpc2FibGVkOmkucHJvcGVydGllcygpLmNoaWxkcygpLmF1dG9TY2FsZURpc2FibGVkLnZhbHVlKCl9KX0sdGhpcy5faW52YWxpZGF0aW9uSGFuZGxlcj1lPT57aWYoIShlIGluc3RhbmNlb2YgTGUuSW52YWxpZGF0aW9uTWFzaykpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hc2siKTtudWxsIT09dGhpcy5faW52YWxpZGF0aW9uTWFzaz90aGlzLl9pbnZhbGlkYXRpb25NYXNrLm1lcmdlKGUpOnRoaXMuX2ludmFsaWRhdGlvbk1hc2s9ZSx0aGlzLl9kcmF3UGxhbm5lZHx8KHRoaXMuX2RyYXdQbGFubmVkPSEwLHRoaXMuX29wdGlvbnMudmlzaWJsZS53aGVuKCgoKT0+e2NvbnN0IGU9IWRvY3VtZW50LmhpZGRlbix0PXRoaXMuc2NyZWVuJiZ0aGlzLnNjcmVlbi5pc1Nob3duKCk7bnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmZSYmIXQmJnRoaXMuX3RpbWluZ3NNZXRlci5zdGFydFdhaXRpbmdEcmF3KCk7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fcGFyZW50KS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KTt0aGlzLl9kcmF3UmFmSWQ9aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0aW9uUkFGQ2FsbGJhY2suYmluZCh0aGlzKSl9KSkpfSx0aGlzLl9vbkNoYXJ0U2Vzc2lvbklzQ29ubmVjdGVkQ2hhbmdlZD1lPT57ZT90aGlzLl9vbkNvbm5lY3Rpb24oKTp0aGlzLl9vbkRpc2Nvbm5lY3QoKX0sdGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvPWU9PntlP3RoaXMuX3NwaW5uZXI/LnN0b3AoKTp0aGlzLl9zcGlubmVyPy5zcGluKCl9LHRoaXMuX2lkPXQsdGhpcy5fb3B0aW9ucz0oMCxhLm1lcmdlKSgoMCxhLmNsb25lKSh0ZyksZSksdGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzPWUuZXh0ZXJuYWxTZXJ2aWNlcyx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249dGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24sdGhpcy5faXNBY3RpdmU9bmV3IGguV2F0Y2hlZFZhbHVlKCEhdGhpcy5fb3B0aW9ucy5pc0FjdGl2ZSksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVj10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9vcHRpb25zLmN1c3RvbUxlZ2VuZFdpZGdldEZhY3RvcmllcyYmKHRoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwPXRoaXMuX29wdGlvbnMuY3VzdG9tTGVnZW5kV2lkZ2V0RmFjdG9yaWVzKSx0aGlzLl9zdWJzY3JpYmVUb0RyYXdpbmdTdGF0ZSgpLHRoaXMud2l0aE1vZGVsKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmJhY2tncm91bmRUb3BDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKSxlLmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaGVtZWRDb2xvckJvdW5kKX0pKTtjb25zdCBzPSgwLHUuY29tYmluZSkoKGU9PltlP2UubWFpblNlcmllcygpLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKTpuZXcgaC5XYXRjaGVkVmFsdWUobnVsbCkub3duZXJzaGlwKCldKSx0aGlzLl9tb2RlbFdWLndlYWtSZWZlcmVuY2UoKSk7dGhpcy5fc3ltYm9sSW5mb1dWPSgwLHUuYWNjdW11bGF0ZSkoKGU9PmVbMF0pLHMub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLFEuZ2V0Qm9vbCkoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIil8fCh0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihpLmUoNTk3OSkudGhlbihpLmJpbmQoaSwzNjM2NTMpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkhpcDNEaXNjbGFpbWVyKHRoaXMuX21vZGVsV1Yud2Vha1JlZmVyZW5jZSgpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSwKdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlPW5ldyB0YS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbaS5lKDUyODgyKSxpLmUoNjA5NjkpXSkudGhlbihpLmJpbmQoaSwyNDU4NjEpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLkVycm9yUmVuZGVyZXIobmV3IGguV2F0Y2hlZFZhbHVlKHRoaXMpKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpLHRoaXMuX3Njcm9sbEhlbHBlcj1uZXcgWnQodGhpcyksdGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI9QnQuZ2V0SW5zdGFuY2UoKSx0aGlzLl9wcm9wZXJ0aWVzPW5ldyBHci5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMiLHVzZVVzZXJQcmVmZXJlbmNlczp0aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzLGV4Y2x1ZGVkRGVmYXVsdHNLZXlzOlsic2NhbGVzUHJvcGVydGllcy5heGlzSGlnaGxpZ2h0Q29sb3IiLCJzY2FsZXNQcm9wZXJ0aWVzLmF4aXNMaW5lVG9vbExhYmVsQmFja2dyb3VuZENvbG9yQWN0aXZlIiwic2NhbGVzUHJvcGVydGllcy5heGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbiIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1ByaWNlU2NhbGVDcm9zc2hhaXJMYWJlbCIsInNjYWxlc1Byb3BlcnRpZXMuc2hvd1RpbWVTY2FsZUNyb3NzaGFpckxhYmVsIiwic2NhbGVzUHJvcGVydGllcy5jcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodCIsInNjYWxlc1Byb3BlcnRpZXMuY3Jvc3NoYWlyTGFiZWxCZ0NvbG9yRGFyayIsImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsInBhbmVQcm9wZXJ0aWVzLmdyaWRMaW5lc01vZGUiXSxleGNsdWRlZFRlbXBsYXRlS2V5czpbInRpbWV6b25lIiwidHJhZGluZ1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyIsImNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllcyIsInByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUiLCJwYW5lUHJvcGVydGllcy50b3BNYXJnaW4iLCJwYW5lUHJvcGVydGllcy5ib3R0b21NYXJnaW4iLCJ2b2x1bWVQYW5lU2l6ZSIsImFsZXJ0c1Byb3BlcnRpZXMiXSxleGNsdWRlZFN0YXRlS2V5czpbImFsZXJ0c1Byb3BlcnRpZXMiLCJtYWluU2VyaWVzUHJvcGVydGllcyJdLHRoZW1lZENvbG9yczppZ30pLHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzPW5ldyBqXy5TZXJpZXNQcm9wZXJ0aWVzSW1wbCx0aGlzLl9zdGFydFNwaW5uZXIodGhpcy5fb3B0aW9ucy5jb250YWluZXIudmFsdWUoKSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS5zdWJzY3JpYmUodGhpcy5fc3Vic2NyaWJlVG9CYW5JbmZvLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9jaGFydFNlc3Npb249bmV3IFR0LkNoYXJ0U2Vzc2lvbih3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSksb2coKSx0aGlzLl9pc011bHRpcGxlTGF5b3V0PSgwLHUuY29tYmluZSkoKGU9PigwLE8uaXNNdWx0aXBsZUxheW91dCkoZSkpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2NhbGVTZXJpZXNPbmx5LnN1YnNjcmliZShudWxsLCgoKT0+e2NvbnN0IGU9dGhpcy5tb2RlbCgpLm1vZGVsKCk7ZS5yZWNhbGN1bGF0ZUFsbFBhbmVzKCgwLHRuLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpLGUuaW52YWxpZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSl9KSksdGhpcy5faG90a2V5cz1ZLmNyZWF0ZUdyb3VwKHtkZXNjOiJDaGFydCBhY3Rpb25zIixpc0Rpc2FibGVkOigpPT4hdGhpcy5pc0FjdGl2ZSgpLnZhbHVlKCl9KSwoMCxKLm9uV2lkZ2V0KSgpfHwodGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPW5ldyBQXy5GZWF0dXJlVG9nZ2xlV2F0Y2hlZFZhbHVlKCJzdXBwb3J0X3BlcnNpc3RlbnRfbG9ncyIsITEpLHRoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlci5zdWJzY3JpYmUoKGFzeW5jIGU9PntpZihlKXtpZigoMCxsbC5nZXRQZXJzaXN0ZW50TG9nZ2VyKSgpKXJldHVybjsoMCxsbC5zZXRQZXJzaXN0ZW50TG9nZ2VyKShuZXcgTV8pO2NvbnN0e2luaXRQZXJzaXN0ZW50TG9nZ2VyOmV9PWF3YWl0IGkuZSg2NTkwOSkudGhlbihpLmJpbmQoaSwzOTE0MykpO3RoaXMuX3BlcnNpc3RlbnRMb2dTd2l0Y2hlcj8udmFsdWUoKT9lKCk6KDAsbGwuc2V0UGVyc2lzdGVudExvZ2dlcikobnVsbCl9ZWxzZSgwLGxsLnNldFBlcnNpc3RlbnRMb2dnZXIpKG51bGwpfSkse2NhbGxXaXRoTGFzdDohMH0pKSx0aGlzLl9jb21wYXJlRGlhbG9nPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDb21wYXJlRGlhbG9nUmVuZGVyZXIoKSx0aGlzLl9vcHRpb25zLnRpbWVTY2FsZVdpZGdldCYmKHRoaXMuX29wdGlvbnMudGltZVNjYWxlV2lkZ2V0LnByZXNzZWRNb3VzZU1vdmVTY2FsZT10aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLmF4aXNQcmVzc2VkTW91c2VNb3ZlLnRpbWUpO2NvbnN0IG49dGhpcy5fb3B0aW9ucy5vbkNtZVdpZGdldDtuJiZZbS5sb2dXYXJuKCJbQ2hhcnRXaWRnZXRdICdvbkNtZVdpZGdldCcgb3B0aW9uIGlzIGRlcHJpY2F0ZWQiKTtjb25zdCByPXRoaXMuX29wdGlvbnMud2lkZ2V0Q3VzdG9tZXIsbz10aGlzLl9vcHRpb25zLnRpbWV6b25lO2xldCBjPXRoaXMuX29wdGlvbnMuZGVmU3ltYm9sPz8iIixkPXguSW50ZXJ2YWwuaXNWYWxpZCh0aGlzLl9vcHRpb25zLmRlZkludGVydmFsKT90aGlzLl9vcHRpb25zLmRlZkludGVydmFsOm51bGw7Y29uc3QgcD10aGlzLl9vcHRpb25zLmRlZlN0eWxlO2xldCBfPSgwLEEuaXNWYWxpZFN0eWxlKShwKT9wOm51bGw7Y29uc3QgbT10aGlzLl9vcHRpb25zLmRlZlNlc3Npb25JZCxnPXZvaWQgMCE9PXRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lPyJzdHJpbmciPT10eXBlb2YgdGhpcy5fb3B0aW9ucy5kZWZUaW1lZnJhbWU/e3ZhbHVlOnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLnRvVXBwZXJDYXNlKCksdHlwZToicGVyaW9kLWJhY2sifTp7Ci4uLnRoaXMuX29wdGlvbnMuZGVmVGltZWZyYW1lLHR5cGU6InRpbWUtcmFuZ2UifTpudWxsO2xldCBTPXRoaXMuX29wdGlvbnMuZGVmTWV0cmljPz9udWxsO3RoaXMuX2NvbnRlbnQ9dGhpcy5fb3B0aW9ucy5jb250ZW50LHRoaXMuX2luaXRpYWxMb2FkaW5nPXRoaXMuX29wdGlvbnMuaW5pdGlhbExvYWRpbmcsdGhpcy5fY29udGFpbnNEYXRhPSEhdGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGEsdGhpcy5fb25XaWRnZXQ9ISF0aGlzLl9vcHRpb25zLm9uV2lkZ2V0LHRoaXMuX2NvbXBhcmVTeW1ib2xzPXRoaXMuX29wdGlvbnMuY29tcGFyZVN5bWJvbHMsdGhpcy5fZGVmU3ltYm9sPWMsdGhpcy5fZGVmSW50ZXJ2YWw9ZCx0aGlzLl9kZWZUaW1lZnJhbWU9Zyx0aGlzLl9kZWZTdHlsZT1fLHRoaXMuX2RlZk1ldHJpYz1TLHRoaXMuX29uV2lkZ2V0JiYobj90aGlzLl93aWRnZXRDdXN0b21lcj0iY21lIjpyJiYodGhpcy5fd2lkZ2V0Q3VzdG9tZXI9cikpLHRoaXMuX2NvbXBhcmVEaWFsb2c9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpO2NvbnN0IHY9dGhpcy5fY29udGVudFNlcmllc1Byb3BlcnRpZXMoKTt2JiYoYz12LnN5bWJvbCxkPXYuaW50ZXJ2YWwsUz12Lm1ldHJpY0lkKSx2b2lkIDA9PT10aGlzLl9vcHRpb25zLnVzZVVzZXJDaGFydFByZWZlcmVuY2VzJiYodGhpcy5fb3B0aW9ucy51c2VVc2VyQ2hhcnRQcmVmZXJlbmNlcz0hMCk7Y29uc3QgeT0iY2hhcnRwcm9wZXJ0aWVzLm1haW5TZXJpZXNQcm9wZXJ0aWVzIixiPXRoaXMuX29wdGlvbnMudXNlVXNlckNoYXJ0UHJlZmVyZW5jZXM/KDAsJGwuZGVmYXVsdHMpKHkpOigwLCRsLmZhY3RvcnlEZWZhdWx0cykoeSksdz10aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcyxDPWR8fGIuaW50ZXJ2YWx8fCJEIjtudWxsIT09XyYmKDAsQS5pc1ZhbGlkU3R5bGUpKF8pfHwoXz0oMCxBLmlzVmFsaWRTdHlsZSkoYi5zdHlsZSk/Yi5zdHlsZTooMCxBLmdldERlZmF1bHRTdHlsZSkoeC5JbnRlcnZhbC5pc1JhbmdlKEMpKSk7Y29uc3QgUD0oMCxDdC5kZWZhdWx0KSh7dmlzaWJsZTohMCxzeW1ib2w6Y3x8KDAsRHQuZ2V0RGVmYXVsdFN5bWJvbCkoKSxzaG9ydE5hbWU6IiIsdGltZWZyYW1lOiIiLGludGVydmFsOkMsY3VycmVuY3lJZDpudWxsLHVuaXRJZDpudWxsLHN0eWxlOl8sc2Vzc2lvbklkOm0sbWV0cmljSWQ6U30sYS5ub3RVbmRlZmluZWQpO3cubWVyZ2UoUCksdGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoYyksdGhpcy5fcmVzb2x1dGlvbldWLnNldFZhbHVlKEMpLHRoaXMuX2NvbnRhaW5zRGF0YSYmdGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2Uoe3Nob3dDb3VudGRvd246ITF9KSxvJiYoMCxqdC50aW1lem9uZUlzQXZhaWxhYmxlKShvKSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS50aW1lem9uZS5zZXRWYWx1ZShvKSx0aGlzLl9vcHRpb25zLmNvbnRhaW5lci5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9zZXRFbGVtZW50KGUpfSkse2NhbGxXaXRoTGFzdDohMH0pO2NvbnN0IFQ9KCk9Pnt0aGlzLnJlc2l6ZSgpfTt0aGlzLl9vcHRpb25zLndpZHRoLnN1YnNjcmliZShUKSx0aGlzLl9vcHRpb25zLmhlaWdodC5zdWJzY3JpYmUoVCksdGhpcy5fb3B0aW9ucy52aXNpYmxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVUaW1pbmdzTWV0ZXJTdGF0ZS5iaW5kKHRoaXMpKX1yZWZyZXNoTWFya3MoKXt0aGlzLm1vZGVsKCkuYmFyc01hcmtzU291cmNlcygpLmZvckVhY2goKGU9PmUucmVmcmVzaERhdGEoKSkpfWNsZWFyTWFya3MoZSl7dGhpcy5tb2RlbCgpLmJhcnNNYXJrc1NvdXJjZXMoKS5mb3JFYWNoKCh0PT50LmNsZWFyTWFya3MoZSkpKX1zZXRUaW1lem9uZShlKXtjb25zdCB0PWU7dCYmKDAsanQudGltZXpvbmVJc0F2YWlsYWJsZSkodCk/dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudGltZXpvbmUuc2V0VmFsdWUodCk6Y29uc29sZS53YXJuKCJJbmNvcnJlY3QgdGltZXpvbmU6ICIrSlNPTi5zdHJpbmdpZnkodCkpfWdldFRpbWV6b25lKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnRpbWV6b25lLnZhbHVlKCl9ZGVzdHJveSgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fdW5zZXRBY3Rpb25zKCksdGhpcy5faG90a2V5cz8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX25vRXhjaGFuZ2VTdWJzY3JwdGlvbldhcm5pbmc/LmRlc3Ryb3koKSx0aGlzLl9oaXAzRGlzY2xhaW1lclJlc291cmNlPy5kZXN0cm95KCksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVMb2dpblN0YXRlQ2hhbmdlZCksdGhpcy5oYXNNb2RlbCgpJiYodGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZFRvcENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVGhlbWVkQ29sb3JCb3VuZCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuY3Jvc3NoYWlyU291cmNlKCkubW92ZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUFyaWFQcmljZURlc2NyaXB0aW9uKSx0aGlzLm1vZGVsKCkuZGVzdHJveSgpKSx0aGlzLl9tb2RlbFdWLmRlc3Ryb3koKSx3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0aW9uQmFuSW5mbygpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZVRvQmFuSW5mbyksdGhpcy5fYXJpYVByaWNlRGVzY3JpcHRpb249bnVsbCx0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcC5jbGVhcigpLHRoaXMuX3Njcm9sbEhlbHBlci5kZXN0cm95KCksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmRlc3Ryb3koKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNlc3Npb25Dcml0aWNhbEVycm9yKSwKdGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkudW5zdWJzY3JpYmUodGhpcy5fb25DaGFydFNlc3Npb25Jc0Nvbm5lY3RlZENoYW5nZWQpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fcGVyc2lzdGVudExvZ1N3aXRjaGVyPy5kZXN0cm95KCksdGhpcy5faXNEZXN0cm95ZWQ9ITAsdGhpcy5fYWJvdXRUb0JlRGVzdHJveWVkLmZpcmUoKSx0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleT8uKCksdGhpcy5fcmVtb3ZlTWF4aW1pemVIb3RrZXk9bnVsbCwwIT09dGhpcy5fZHJhd1JhZklkJiZ0aGlzLl9wYXJlbnQ/Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2RyYXdSYWZJZCksdGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24/LmRlc3Ryb3koKSx0aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3bj8uZGVzdHJveSgpLHRoaXMuX3RpbWluZ3NNZXRlcj8uc3RvcENvbGxlY3QoKSx0aGlzLl90aW1pbmdzTWV0ZXI9bnVsbDtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5kZXN0cm95KCk7dGhpcy5fcGFuZVdpZGdldHMuc2V0VmFsdWUoW10pO2ZvcihsZXQgZT0wO2U8dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoO2UrKyl0aGlzLl9wYW5lU2VwYXJhdG9yc1tlXS5kZXN0cm95KCk7dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoPTAsdGhpcy5faG90a2V5c0xpc3RlbmVyPy5kZXN0cm95KCksdGhpcy5fYmFyc0J1dHRvbj8uZGVzdHJveSgpLHRoaXMuX2NvbnRyb2xCYXJOYXZpZ2F0aW9uPy5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCx0aGlzLl9tYWluRGl2JiYodGhpcy5fb25XaGVlbEJvdW5kJiZ0aGlzLl9tYWluRGl2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLl9vbldoZWVsQm91bmQpLHRoaXMuX21haW5EaXYucmVtb3ZlKCkpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fdGltZUF4aXNXaWRnZXQ9bnVsbCx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2lzTXVsdGlwbGVMYXlvdXQuZGVzdHJveSgpLFQuY3JlYXRlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY29udGludWVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jYW5jZWxsZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULmJlZW5TZXRMaW5lVG9vbExhc3RQb2ludC51bnN1YnNjcmliZUFsbCh0aGlzKSxULnN0YXJ0ZWRNb3ZpbmdMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSxULm1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZE1vdmluZ0xpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuc3RhcnRlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jaGFuZ2VkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZENoYW5naW5nTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5yZW1vdmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5maW5pc2hlZExpbmVUb29sLnVuc3Vic2NyaWJlQWxsKHRoaXMpLFQuY2hhbmdlZExpbmVTdHlsZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2xTdGF0ZS51bnN1YnNjcmliZUFsbCh0aGlzKSxULnJlc3RvcmVkTGluZVRvb2wudW5zdWJzY3JpYmVBbGwodGhpcyksVC5jb3BpZWRMaW5lVG9vbC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLmRlc3Ryb3koKX10aXRsZSgpe3JldHVybiBwLnQobnVsbCx2b2lkIDAsaSg2MjU3ODgpKX1lbXVsYXRlQ3JpdGljYWxFcnJvcigpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5yZW1vdmVTZXJpZXMoIi0xIil9Y2hhcnRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U2Vzc2lvbn1vbkRpc2Nvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0ZWR9b25SZWNvbm5lY3RCYWlsb3V0KCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdEJhaWxvdXR9b25Db25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGVkfWNoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZH1zZXRCYXJzQnV0dG9uKGUpe3RoaXMuX2JhcnNCdXR0b249ZX1zZXRWaXNpYmxlVGltZVJhbmdlKGUsdCxpLHMsbil7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1jaGFydFdpZGdldENvbGxlY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9ufWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfWxpbmVUb29sc1N5bmNocm9uaXplcigpe3JldHVybiB0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXJ9YWN0aW9ucygpe3JldHVybiBudWxsPT09dGhpcy5fYWN0aW9ucz90aGlzLl9zZXRBY3Rpb25zKCk6dGhpcy5fYWN0aW9uc31kZWZhdWx0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX2RlZlN5bWJvbH1yZXF1ZXN0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkucmVxdWVzdEZ1bGxzY3JlZW4oKX1leGl0RnVsbHNjcmVlbigpe3RoaXMuZ2V0UmVzaXplckRldGFjaGVyKCkuZXhpdEZ1bGxzY3JlZW4oKX1pbkZ1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuLnZhbHVlKCl9bW9kZWxDcmVhdGVkKCl7cmV0dXJuIHRoaXMuX21vZGVsQ3JlYXRlZH1jb250YWluc1N0dWR5QnlQcmVkaWNhdGUoZSl7cmV0dXJuISF0aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5kYXRhU291cmNlcygpLnNvbWUoKHQ9PiEhKDAsdGkuaXNTdHVkeSkodCkmJmUodC5tZXRhSW5mbygpKSkpfW1vZGVsKCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbFdWLnZhbHVlKCkpfWlkKCl7cmV0dXJuIHRoaXMuX2lkfWxheW91dElkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5tZXRhSW5mby51aWQudmFsdWUoKX1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Cm1haW5TZXJpZXNQcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX21haW5TZXJpZXNQcm9wZXJ0aWVzfXJlYWRPbmx5KCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fb3B0aW9ucy5yZWFkT25seSl9aXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNBY3RpdmUucmVhZG9ubHkoKX1pc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy5faXNIb3ZlcmVkLnJlYWRvbmx5KCl9Y3Jvc3NIYWlyU3luY0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxvY2suY3Jvc3NoYWlyLnZhbHVlKCl9aXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2lzVmlzaWJsZS52YWx1ZSgpfXNldFZpc2libGUoZSl7dGhpcy5faXNWaXNpYmxlLnNldFZhbHVlKGUpfXZpc2libGUoKXtyZXR1cm4gdGhpcy5faXNWaXNpYmxlLnJlYWRvbmx5KCl9aXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnZhbHVlKCl9c2V0Q29sbGFwc2VkKGUpe3RoaXMuX2NvbGxhcHNlZC5zZXRWYWx1ZShlKX1jb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy5fY29sbGFwc2VkLnJlYWRvbmx5KCl9aXNKdXN0Q2xvbmVkQ2hhcnQoKXtyZXR1cm4hISh0aGlzLl9vcHRpb25zfHx7fSkuanVzdENsb25lZH1yZW1vdmVBbGxEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsRHJhd2luZ1Rvb2xzKGUpfSkpOnRoaXMubW9kZWwoKS5yZW1vdmVBbGxEcmF3aW5nVG9vbHMoITApfXJlbW92ZUFsbFN0dWRpZXMoKXt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllcygpfXJlbW92ZUFsbFN0dWRpZXNEcmF3aW5nVG9vbHMoKXshIXRoaXMubW9kZWwoKS5tb2RlbCgpLmFsbExpbmVUb29scygpLmZpbmQoKGU9PmUuaXNMb2NrZWQ/LigpKSk/KDAsJG0uY29uZmlybVJlbW92aW5nTG9ja2VkTGluZVRvb2xzKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVBbGwpLnRoZW4oKGU9Pnt0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyhlKX0pKTp0aGlzLm1vZGVsKCkucmVtb3ZlQWxsU3R1ZGllc0FuZERyYXdpbmdUb29scyghMCl9cmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl7dGhpcy5yZW1vdmVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKSl9cmVtb3ZlRGF0YVNvdXJjZXMoZSl7Y29uc3QgdD10aGlzLm1vZGVsKCksaT1lLmZpbHRlcigoZT0+ZSE9PXQubWFpblNlcmllcygpJiZlIT09dC5saW5lQmVpbmdDcmVhdGVkKCkmJmUuaXNVc2VyRGVsZXRhYmxlKCkpKTtpZigwPT09aS5sZW5ndGgpcmV0dXJuO2xldCBzPW51bGw7KDAsdGkuaXNTdHVkeSkoaVswXSkmJigoMCxsLmFzc2VydCkoMT09PWkubGVuZ3RoLCJDYW5ub3QgcmVtb3ZlIHNldmVyYWwgc3R1ZGllcyAobm8gbXVsdGkgc2VsZWN0IGZvciBzdHVkaWVzKSIpLHM9aVswXSk7Y29uc3Qgbj1pLmZpbmQoKGU9PmUuaGFzQWxlcnQoKS52YWx1ZSgpKSkscj0hIWkuZmluZCgoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSk7aWYobikoMCxSXy5jb25maXJtRGF0YXNvdXJjZVJlbW92aW5nKSh7aGFzTG9ja2VkU291cmNlczpyfSkudGhlbigoZT0+e2UmJnQucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSk7ZWxzZSBpZihzJiZzLmhhc0NoaWxkcmVuKCkpe2NvbnN0IGU9cy5nZXRBbGxDaGlsZHJlbigpLm1hcCgoZT0+ZS5uYW1lKCEwKSkpOygwLEx0LnNob3dEZWxldGVTdHVkeVRyZWVDb25maXJtKShlLCgoKT0+e3QucmVtb3ZlU2VsZWN0ZWRTb3VyY2VzKCl9KSl9ZWxzZSByPygwLCRtLnNob3dEZWxldGVMb2NrZWRMaW5lVG9vbHNDb25maXJtKSgkbS5EZWxldGVMb2NrZWRMaW5lVG9vbFJlYXNvbi5SZW1vdmVTZWxlY3RlZCwoZT0+e2V8fHQuc2VsZWN0aW9uTWFjcm8oKGU9PntpLmZpbHRlcigoZT0+KDAscmkuaXNMaW5lVG9vbCkoZSkmJmUuaXNMb2NrZWQ/LigpKSkuZm9yRWFjaCgodD0+e2UucmVtb3ZlSXRlbUZyb21TZWxlY3Rpb24odCl9KSl9KSksdC5yZW1vdmVTZWxlY3RlZFNvdXJjZXMoKX0pKTp0LnJlbW92ZVNlbGVjdGVkU291cmNlcygpfWdldFN5bWJvbChlKXtpZighdGhpcy5oYXNNb2RlbCgpKXJldHVybiB0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sfHwoMCxEdC5nZXREZWZhdWx0U3ltYm9sKSgpO2lmKCFlKXJldHVybiB0aGlzLl9zeW1ib2xXVi52YWx1ZSgpO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7cmV0dXJuIHQuc2hvcnROYW1lJiZ0LnNob3J0TmFtZS52YWx1ZSgpP3Quc2hvcnROYW1lPy52YWx1ZSgpPz8iIjp0LnN5bWJvbD8udmFsdWUoKT8/IiJ9c2V0U3ltYm9sKGUpe2lmKHRoaXMuaGFzTW9kZWwoKSl7dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZSk7Y29uc3QgdD10aGlzLm1vZGVsKCk7dC5zZXRTeW1ib2wodC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7c3ltYm9sOmV9KSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuc3ltYm9sPWV9c2V0UmVzb2x1dGlvbihlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKTtjb25zdCB0PXRoaXMubW9kZWwoKTt0LnNldFJlc29sdXRpb24odC5tYWluU2VyaWVzKCksZSl9ZWxzZSB0aGlzLl9tYWluU2VyaWVzUHJvcGVydGllcy5tZXJnZSh7aW50ZXJ2YWw6ZX0pLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlKSx0aGlzLl9zZXRTeW1ib2xJbnRlcnZhbENvbnRlbnRPdmVycmlkZXMuaW50ZXJ2YWw9ZX1nZXRSZXNvbHV0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi52YWx1ZSgpfXN5bWJvbFdWKCl7cmV0dXJuIHRoaXMuX3N5bWJvbFdWLnJlYWRvbmx5KCl9CnN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvV1Z9cmVzb2x1dGlvbldWKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25XVi5yZWFkb25seSgpfWxvYWRSYW5nZShlKXtpZih0aGlzLmhhc01vZGVsKCkpe3RoaXMuc2NyZWVuLnNob3coKTt0aGlzLm1vZGVsKCkubG9hZFJhbmdlKGUpfHx0aGlzLnNjcmVlbi5oaWRlKCl9fWFzeW5jIHNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKGUsdCl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfY2hhcnRfcHJvcGVydHlfcGFnZSIpKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9zaG93Q2hhcnRQcm9wZXJ0aWVzKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksZSx7ZG9Ob3RDbG9zZU9uQmdDbGljazohMCxvblJlc2V0VG9EZWZhdWx0OmFzeW5jKCk9Pnt0aGlzLm1vZGVsKCkucmVzdG9yZVByZWZlcmVuY2VzKCk7Y29uc3RbZSx0XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg3NDExNCksaS5lKDY0MjUpXSkudGhlbihpLmJpbmQoaSw2NjUxODcpKSxQcm9taXNlLmFsbChbaS5lKDc0MTE0KSxpLmUoNjQyNSldKS50aGVuKGkuYmluZChpLDQxMzQ1MSkpXSkscz1lLmdldEN1cnJlbnRUaGVtZSgpLm5hbWU7dC5sb2FkVGhlbWUodGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKSx7dGhlbWVOYW1lOnMsc3RhbmRhcmRUaGVtZTohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czp0Py5zaG91bGRSZXR1cm5Gb2N1c30pO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IG49KCk9PntzLmhpZGUoKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldFdWLnVuc3Vic2NyaWJlKG4pfTtyZXR1cm4gdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi5zdWJzY3JpYmUobiksc31zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlKGUsdCxpLHMpe3JldHVybigwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikmJmUudXNlckVkaXRFbmFibGVkKCk/ZT09PXRoaXMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKT90aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzKHQpOigoaT1pfHx7fSkub25SZXNldFRvRGVmYXVsdD0oKT0+eygoMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSkpJiZ0aGlzLm1vZGVsKCkucmVzdG9yZVByb3BlcnRpZXNGb3JTb3VyY2UuYmluZCh0aGlzLm1vZGVsKCksZSl9LHRoaXMuX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscykpOlByb21pc2UucmVzb2x2ZShudWxsKX10b2dnbGVDb21wYXJlT3JBZGQoKXt0aGlzLl9jb21wYXJlRGlhbG9nLnZpc2libGUoKS52YWx1ZSgpP3RoaXMuX2NvbXBhcmVEaWFsb2cuaGlkZSgpOnRoaXMuX2NvbXBhcmVEaWFsb2cuc2hvdygpfXRhZ3MoKXtyZXR1cm4gdGhpcy5oYXNNb2RlbCgpP3RoaXMubW9kZWwoKS5jYWxjdWxhdGVEZWZhdWx0VGFncygpOltdfW9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fb3B0aW9uc31vd25lckRvY3VtZW50KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLm93bmVyRG9jdW1lbnR9YXN5bmMgc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZXMoZSl7aWYoISgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInByb3BlcnR5X3BhZ2VzIikpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtjb25zdHtzb3VyY2VzOnQsdGl0bGU6cyx0YWJOYW1lOm4scmVuYW1hYmxlOnJ9PWUsbz10aGlzLm1vZGVsKCksYT0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkpKSksbD0kdCh0Lm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSkpLFt7Y3JlYXRlUHJvcGVydHlQYWdlOmN9LHtnZXRTZWxlY3Rpb25TdHlsZVByb3BlcnRpZXNEZWZpbml0aW9uczpofSx7Z2V0U2VsZWN0aW9uSW50ZXJ2YWxzVmlzaWJpbGl0aWVzUHJvcGVydGllc0RlZmluaXRpb246ZH0se2dldFNlbGVjdGlvbkNvb3JkaW5hdGVzUHJvcGVydHlEZWZpbml0aW9uOnV9XT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksNTAxNTIyKSksUHJvbWlzZS5hbGwoW2kuZSg5MDkwNyksaS5lKDU5MzI4KV0pLnRoZW4oaS5iaW5kKGksOTkzOTQpKSxQcm9taXNlLmFsbChbaS5lKDkwOTA3KSxpLmUoNTkzMjgpXSkudGhlbihpLmJpbmQoaSw0ODUwMCkpLFByb21pc2UuYWxsKFtpLmUoOTA5MDcpLGkuZSg1OTMyOCldKS50aGVuKGkuYmluZChpLDU3NjgxNykpXSk7cmV0dXJuIGFzeW5jIGZ1bmN0aW9uKGUpewpjb25zdHtTb3VyY2VzUHJvcGVydGllc0VkaXRvclJlbmRlcmVyOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzcwMTIpLGkuZSg4NDMwNiksaS5lKDI5Mjk2KSxpLmUoNTIzOTYpLGkuZSg2MDA2MiksaS5lKDQ2OTA3KSxpLmUoMjAzNTQpLGkuZSgxMzQ5MiksaS5lKDM3NzQ2KSxpLmUoMTIzODUpLGkuZSg4MTA3MiksaS5lKDk0OTQ4KSxpLmUoMjM2MjQpLGkuZSgzNjIyMiksaS5lKDI5NTM2KSxpLmUoNTYyNTIpLGkuZSgxOTU5NSksaS5lKDE5Nzg3KSxpLmUoNjc3OTkpLGkuZSgxMTQ2MSksaS5lKDI0NTgxKSxpLmUoOTY1ODcpLGkuZSgxMTIxOCksaS5lKDg2NDIzKSxpLmUoMzc1MTMpLGkuZSg4NTc5KSxpLmUoNDA4MzUpLGkuZSgxNzA4NyksaS5lKDcyNjY2KSxpLmUoOTM0MjEpLGkuZSg3ODY1MiksaS5lKDEwMzg1KSxpLmUoNTIwNjUpLGkuZSg2NjA1KSxpLmUoNzA4MTUpLGkuZSg3NDM4MSksaS5lKDE1NTI2KSxpLmUoOTM0MTYpLGkuZSg2MTgyMSksaS5lKDU3MzAwKSxpLmUoODk1NTgpLGkuZSgxMDM2NiksaS5lKDUxNjgyKSxpLmUoMjAyKSxpLmUoOTc2NjApLGkuZSg3MjUxMiksaS5lKDM1MTk4KSxpLmUoMzMxMjApLGkuZSg0MDg2NyksaS5lKDM5Nzg2KSxpLmUoNTA4MDApLGkuZSg1MDYyMiksaS5lKDYwODIpLGkuZSgyNzMzNyksaS5lKDQwOTE0KSxpLmUoMjc3MzYpLGkuZSg4Nzc0MCksaS5lKDY3NTQzKSxpLmUoMzg0NzkpLGkuZSg5MDMzMCksaS5lKDk2MTgxKSxpLmUoMjA1NjQpLGkuZSg1MTI1NiksaS5lKDQ1MzMxKSxpLmUoNDUyNDIpLGkuZSg3ODYzKSxpLmUoNDYyNDUpLGkuZSg1NTI5MCksaS5lKDc0NDcxKSxpLmUoMjAzNzApLGkuZSgxNzg2MSksaS5lKDMyMzg3KSxpLmUoODA5MTUpLGkuZSgxODUxMiksaS5lKDQwNzU0KSxpLmUoOTU1NTQpLGkuZSgyMzc0MyksaS5lKDcyMTEpLGkuZSg5OTMwOSksaS5lKDU1MjI5KSxpLmUoNzM1MzUpLGkuZSgyNjUwMSksaS5lKDEwOTk5KSxpLmUoMzg5NzMpLGkuZSg5Njk3MCksaS5lKDEyMDYwKV0pLnRoZW4oaS5iaW5kKGksMjgyNDA0KSkscz1uZXcgdChlKTtyZXR1cm4gbnVsbCE9PXp0JiYoenQuaGlkZSgpLHp0PXMpLHMuc2hvdygpLHN9KHtzb3VyY2VzOnQscHJvcGVydHlQYWdlczpbYyhoKGEsbyksInN0eWxlIixwLnQobnVsbCx2b2lkIDAsaSg5MzE5OTIpKSksYyh7ZGVmaW5pdGlvbnM6W3UodCxvKV19LCJkaXNwbGFjZW1lbnQiLHAudChudWxsLHZvaWQgMCxpKDM3MTU0OSkpKSxjKGQobCxvKSwidmlzaWJpbGl0eSIscC50KG51bGwsdm9pZCAwLGkoOTg3NzMzKSkpXSx1bmRvTW9kZWw6byx0aXRsZTpzLGFjdGl2ZVRhYklkOm4scmVuYW1hYmxlOnJ9KX1nZXRQcmljZUF4aXNXaWR0aENoYW5nZWRCeU5hbWUoZSl7cmV0dXJuImxlZnQiPT09ZT90aGlzLl9saHNQcmljZUF4aXNXaWR0aENoYW5nZWQ6dGhpcy5fcmhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkfWdldFByaWNlQXhpc01heFdpZHRoQnlOYW1lKGUpe3JldHVybiJsZWZ0Ij09PWU/dGhpcy5fbGhzQXhlc1dpZHRoOnRoaXMuX3Joc0F4ZXNXaWR0aH10aW1lQXhpc0hlaWdodCgpe3JldHVybiBudWxsIT09dGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fdGltZUF4aXNXaWRnZXQuc2l6ZS5oZWlnaHQ6MH13aXRoTW9kZWwoZSx0KXt0aGlzLmhhc01vZGVsKCk/dC5jYWxsKGUpOnRoaXMubW9kZWxDcmVhdGVkKCkuc3Vic2NyaWJlKGUsdCwhMCl9bW9kZWxXVigpe3JldHVybiB0aGlzLl9tb2RlbFdWLnJlYWRvbmx5KCl9aGFzTW9kZWwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21vZGVsV1YudmFsdWUoKX1vblJlZHJhdygpe3JldHVybiB0aGlzLl9yZWRyYXd9Y29weUxpbmVUb090aGVyQ2hhcnRzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmxpbmVEYXRhU291cmNlcygpLmZpbHRlcigoZT0+ZS5pc1N5bmNocm9uaXphYmxlKCkpKTtlLm1vZGVsKCkuY29weVRvT3RoZXJDaGFydHModCwhMCl9dG9nZ2xlTG9ja1NlbGVjdGVkT2JqZWN0KCl7Y29uc3QgZT10aGlzLm1vZGVsKCk7ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKS5mb3JFYWNoKCh0PT57Y29uc3QgaT10LnByb3BlcnRpZXMoKS5mcm96ZW4udmFsdWUoKTtlLnNldFByb3BlcnR5KHQucHJvcGVydGllcygpLmZyb3plbiwhaSwoaT9abTpKbSkuZm9ybWF0KHt0aXRsZTpuZXcgeS5UcmFuc2xhdGVkU3RyaW5nKHQubmFtZSgpLHQudGl0bGUoTm4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpKX0pLFFuLmxpbmVUb29sc0RvTm90QWZmZWN0Q2hhcnRJbnZhbGlkYXRpb24pfSkpfWhpZGVEYXRhU291cmNlcyhlKXtpZihlLmxlbmd0aCl7Y29uc3QgdD1lLm1hcCgoZT0+ZS5wcm9wZXJ0aWVzKCkudmlzaWJsZSkpLGk9ZS5tYXAoKCgpPT4hMSkpO3RoaXMubW9kZWwoKS5zZXRQcm9wZXJ0aWVzKHQsaSxYbS5mb3JtYXQoe3RpdGxlOm5ldyB5LlRyYW5zbGF0ZWRTdHJpbmcoZVswXS5uYW1lKCksZVswXS50aXRsZShObi5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSkpfSkpfX1oaWRlU2VsZWN0ZWRPYmplY3QoKXt0aGlzLmhpZGVEYXRhU291cmNlcyh0aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkuZGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PiEoMCxxaS5pc0FsZXJ0TGFiZWwpKGUpKSkpfXVubGlua1NlbGVjdGVkTGluZSgpe2NvbnN0IGU9dGhpcy5tb2RlbCgpLHQ9ZS5zZWxlY3Rpb24oKS5saW5lRGF0YVNvdXJjZXMoKTtlLnVubGlua0xpbmVzKHQpfXBhbmVXaWRnZXRzV1YoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHN9cGFuZVdpZGdldHMoKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKX1wYW5lV2lkZ2V0U2VwYXJhdG9ycyhlKXtjb25zdCB0PXRoaXMucGFuZVdpZGdldHMoKS5pbmRleE9mKGUpLGk9e307cmV0dXJuIHRoaXMuX3BhbmVTZXBhcmF0b3JzLmZvckVhY2goKGU9PntlLnRvcFBhbmVJbmRleCgpPT09dCYmKGkuc2VwYXJhdG9yQmVsb3c9ZSksZS5ib3R0b21QYW5lSW5kZXgoKT09PXQmJihpLnNlcGFyYXRvckFib3ZlPWUpfSkpLGl9YWN0aXZlUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnJlYWRvbmx5KCl9cGFuZUJ5U3RhdGUoZSl7CnJldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKHQ9PnQuaGFzU3RhdGUoKSYmdC5zdGF0ZSgpPT09ZSkpPz9udWxsfXBhbmVCeUNhbnZhcyhlKXtyZXR1cm4gdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5maW5kKCh0PT50Lmhhc0NhbnZhcyhlKSkpPz9udWxsfXRpbWVBeGlzQnlDYW52YXMoZSl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py5oYXNDYW52YXMoZSk/dGhpcy5fdGltZUF4aXNXaWRnZXQ6bnVsbH1zZWxlY3RQb2ludE1vZGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2VsZWN0UG9pbnRNb2RlKCl9Y2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpLGUuc2V0UmVwbGF5U3RhdHVzKGUuaXNJblJlcGxheSgpLnZhbHVlKCk/MzowKSxlLmNsZWFyQ3VycmVudFBvc2l0aW9uKCl9cmVxdWVzdFNlbGVjdFBvaW50KGUsdCl7Y29uc3QgaT10aGlzLm1vZGVsKCk7cmV0dXJuIGUuc2VsZWN0UG9pbnRNb2RlPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZpLm1vZGVsKCkuc2V0UmVwbGF5U3RhdHVzKDEpLG5ldyBQcm9taXNlKCgocyxuKT0+e2NvbnN0IHI9KCk9PiEhdGhpcy5pc1Zpc2libGUoKXx8KG4oIkNoYXJ0d2lkZ2V0IG11c3QgYmUgdmlzaWJsZSIpLHRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksITEpO2lmKCFyKCkpcmV0dXJuOygwLFQucmVzZXRUb0N1cnNvcikoITApLGkubGluZUJlaW5nQ3JlYXRlZCgpJiZpLmNhbmNlbENyZWF0aW5nTGluZSgpO2xldCBvPSExO2NvbnN0IGE9e307aS5tb2RlbCgpLm9uUG9pbnRTZWxlY3RlZCgpLnN1YnNjcmliZShhLCgoZSx0KT0+e289ITAsdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLHRoaXMuX2hpZGVIaW50KCkscyh7cG9pbnQ6ZSxwYW5lOnR9KX0pLCEwKSxpLm1vZGVsKCkucmVxdWVzdFNlbGVjdFBvaW50KGUpLHRoaXMuc3RhcnRUcmFja2luZ01vZGUoKSx2b2lkIDAhPT10JiZ0aGlzLl9zaG93RXZlbnRIaW50KHQpLHRoaXMuX2lzVmlzaWJsZS5zdWJzY3JpYmUociksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS5zdWJzY3JpYmUoKCgpPT57c2V0VGltZW91dCgoKCk9PntvfHwodGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5faGlkZUhpbnQoKSxpLm1vZGVsKCkub25Qb2ludFNlbGVjdGVkKCkudW5zdWJzY3JpYmVBbGwoYSksdGhpcy5faXNWaXNpYmxlLnVuc3Vic2NyaWJlKHIpLG4oImNhbmNlbGxlZCIpKX0pKX0pLHtvbmNlOiEwfSl9KSl9c2hvd1JlcGxheU9yZGVyQ29uZmlybWF0aW9uRGlhbG9nKCl7cmV0dXJuIHRoaXMubW9kZWwoKS5pc0luUmVwbGF5KCkudmFsdWUoKT9uZXcgUHJvbWlzZSgoKGUsdCk9PnsoMCxoZS5zaG93Q29uZmlybSkoe3RleHQ6cC50KG51bGwsdm9pZCAwLGkoNTU4NDQ0KSksb25Db25maXJtOnQ9PntlKCksdC5kaWFsb2dDbG9zZSgpfSxvbkNsb3NlOnR9KX0pKTpQcm9taXNlLnJlc29sdmUoKX1zaG93U291cmNlUHJvcGVydGllcyhlLHQpe2U9PT10aGlzLm1vZGVsKCkubWFpblNlcmllcygpJiYodD1KdC5UYWJOYW1lcy5zeW1ib2wpLHRoaXMuc2hvd0NoYXJ0UHJvcGVydGllc0ZvclNvdXJjZShlLHQpfW9uU2Nyb2xsKCl7cmV0dXJuIHRoaXMuX29uU2Nyb2xsfW9uWm9vbSgpe3JldHVybiB0aGlzLl9vblpvb219b25UYWdzQ2hhbmdlZCgpe3JldHVybiB0aGlzLl90YWdzQ2hhbmdlZH1vbldpZGdldCgpe3JldHVybiB0aGlzLl9vbldpZGdldH1jb250YWluc1ZvbHVtZSgpe3JldHVybiB0aGlzLm1vZGVsKCkuZGF0YVNvdXJjZXMoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpfWNvbnRhaW5zU3R1ZHkoZSl7cmV0dXJuIHRoaXMuY29udGFpbnNTdHVkeUJ5UHJlZGljYXRlKCh0PT50LmlkPT09ZXx8dC5mdWxsSWQ9PT1lKSl9aXNTbWFsbCgpe3JldHVybiB0aGlzLl93aWR0aCgpPDU1MHx8dGhpcy5faGVpZ2h0KCk8MzAwfW9uQ21lV2lkZ2V0KCl7cmV0dXJuImNtZSI9PT10aGlzLl93aWRnZXRDdXN0b21lcn13aWRnZXRDdXN0b21lcigpe3JldHVybiB0aGlzLl93aWRnZXRDdXN0b21lcn1jb21wYXJlU3ltYm9scygpe3JldHVybiB0aGlzLl9jb21wYXJlU3ltYm9sc31pbWFnZXMoZSl7d2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSEwO2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmFsbFNvdXJjZXMoKTt0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpO2NvbnN0IGk9KHQsaSk9Pnt0LnBhaW50KGksTGUuSW52YWxpZGF0aW9uTWFzay50aW1lU2NhbGUoTGUuSW52YWxpZGF0aW9uTGV2ZWwuTGlnaHQsITApLmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKTtjb25zdCBzPXtzaG93Q29sbGFwc2VkU3R1ZGllczpCb29sZWFuKGU/LnNob3dDb2xsYXBzZWRTdHVkaWVzKSxzdGF0dXM6ZT8uc3RhdHVzfTtyZXR1cm4gdC5nZXRTY3JlZW5zaG90RGF0YShzKX0scz1bXSxuPXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpO2lmKG51bGwhPT1uKXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuaW5kZXhPZihuKTtzLnB1c2goaShuLExlLkludmFsaWRhdGlvbk1hc2subGlnaHQoKS5pbnZhbGlkYXRpb25Gb3JQYW5lKGUpKSl9ZWxzZXtjb25zdCBlPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCk7ZS5mb3JFYWNoKCgodCxuKT0+e3MucHVzaChpKHQsTGUuSW52YWxpZGF0aW9uTWFzay5saWdodCgpLmludmFsaWRhdGlvbkZvclBhbmUobikpKSxuPGUubGVuZ3RoLTEmJnMucHVzaCh0aGlzLl9wYW5lU2VwYXJhdG9yc1tuXS5pbWFnZSgpKX0pKX1sZXQgcgo7dGhpcy5fdGltZUF4aXNXaWRnZXQmJih0aGlzLl90aW1lQXhpc1dpZGdldC5wYWludChMZS5JbnZhbGlkYXRpb25NYXNrLnRpbWVTY2FsZShMZS5JbnZhbGlkYXRpb25MZXZlbC5MaWdodCwhMCkuaW52YWxpZGF0aW9uRm9yVGltZVNjYWxlKCkpLHI9dGhpcy5fdGltZUF4aXNXaWRnZXQuZ2V0U2NyZWVuc2hvdERhdGEoKSksd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nPSExLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e3QuZm9yRWFjaCgodD0+e2UuYWRkSXRlbVRvU2VsZWN0aW9uKHQpfSkpfSkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlQWxsUGFuZXMoKDAsdG4uZ2xvYmFsQ2hhbmdlRXZlbnQpKCkpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCk7Y29uc3Qgbz10aGlzLm1haW5TZXJpZXNRdW90ZXNBbmRNZXRhaW5mbygpO3JldHVybntwYW5lczpzLHRpbWVBeGlzOnIsY29sb3JzOnt0ZXh0OnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkudGV4dENvbG9yLnZhbHVlKCksYmc6dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC52YWx1ZSgpLHNjYWxlczp0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVDb2xvci52YWx1ZSgpfSxtZXRhOm8ubWV0YSxvaGxjOm8ub2hsYyxxdW90ZXM6by5xdW90ZXN9fWluc2VydFN0dWR5KGUsdCxpLHMsbil7cmV0dXJuIHRoaXMuX2luc2VydFN0dWR5T3JSZXBsYWNlU3R1YihlLHQsdm9pZCAwLGkscyxuKX1yZXBsYWNlU3R1YkJ5U3R1ZHkoZSx0LGkscyxuLHIpe3JldHVybiBlLnVwZGF0ZURlc2NyaXB0b3IodCksdGhpcy5faW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKHQsaSxlLHMsbixyKX1hZGRPdmVybGF5U3R1ZHkoZSx0LGkpe2NvbnN0IHM9dGhpcy5tb2RlbCgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmlzU3ltYm9sQXZhaWxhYmxlP3RoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUoZSkudGhlbigoYXN5bmMgbj0+e2lmKCFuKXJldHVybiBudWxsO2F3YWl0KDAsYXQuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3Qgcj1zLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIoe3R5cGU6ImphdmEiLHN0dWR5SWQ6Ik92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIn0sW10pLG89e2FsbG93RXh0ZW5kVGltZVNjYWxlOml9O2lmKCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiKSl7Y29uc3QgZT0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJzdHVkeV9PdmVybGF5QHR2LWJhc2ljc3R1ZGllcy5zdHlsZSIpO28uc3R5bGU9ZX1yZXR1cm4gci5zZXRQcm9wZXJ0aWVzU3RhdGUobyksci5zZXRGb3JjZU92ZXJsYXkodCksci5pbnNlcnQoKCgpPT5Qcm9taXNlLnJlc29sdmUoe2lucHV0czp7c3ltYm9sOmV9LHBhcmVudFNvdXJjZXM6W119KSkpfSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1zaG93SW5kaWNhdG9ycyhlLHQpe2lmKHdpbmRvdy5zdHVkeU1hcmtldClyZXR1cm4gd2luZG93LnN0dWR5TWFya2V0LnZpc2libGUoKS52YWx1ZSgpP3ZvaWQgd2luZG93LnN0dWR5TWFya2V0LmhpZGUoKTood2luZG93LnN0dWR5TWFya2V0LnNob3coZSx0KSwoMCx4Xy50cmFja0J1dHRvbkNsaWNrKSgiaG90a2V5IiwiaW5kaWNhdG9ycyIsdm9pZCAwLCEwKSx3aW5kb3cuc3R1ZHlNYXJrZXQpfXNldFNhdmVDaGFydFNlcnZpY2UoZSl7dGhpcy5fc2F2ZUNoYXJ0U2VydmljZT1lLG51bGwhPT10aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXImJnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5zZXRTYXZlQ2hhcnRTZXJ2aWNlKGUpfWdldFNhdmVDaGFydFNlcnZpY2UoKXtyZXR1cm4gdGhpcy5fc2F2ZUNoYXJ0U2VydmljZX1tYWluU2VyaWVzUXVvdGVzQW5kTWV0YWluZm8oKXtsZXQgZSx0LGk7Y29uc3Qgcz10aGlzLmhhc01vZGVsKCkmJnRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYocyl7Y29uc3Qgbj1lPT5udWxsPT1lPyIiOnMuZm9ybWF0dGVyKCkuZm9ybWF0KGUse3NpZ25OZWdhdGl2ZTohMCx1c2VSdGxGb3JtYXQ6ITF9KSxyPWU9Pm51bGw9PWU/IiI6ZSsiIjtlPXtyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxzeW1ib2w6cy5zeW1ib2woKSx2YWx1ZXM6cy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpLmdldFZhbHVlcyhudWxsKX07Y29uc3Qgbz1zLnN5bWJvbEluZm8oKTtvJiYoZS5zeW1ib2w9by5mdWxsX25hbWUsZS5kZXNjcmlwdGlvbj1vLmRlc2NyaXB0aW9uLGUuZXhjaGFuZ2U9by5leGNoYW5nZSk7Y29uc3QgYT1zLmJhcnMoKS5sYXN0KCk7bnVsbCE9PWEmJih0PWEudmFsdWUuc2xpY2UoMSw1KS5tYXAobikpO2NvbnN0IGw9cy5xdW90ZXMoKTtsJiYoaT17Y2hhbmdlOm4obC5jaGFuZ2UpLGNoYW5nZVBlcmNlbnQ6cihsLmNoYW5nZV9wZXJjZW50KSxsYXN0Om4obC5sYXN0X3ByaWNlKX0pfXJldHVybnttZXRhOmUsb2hsYzp0LHF1b3RlczppfX1pc011bHRpcGxlTGF5b3V0KCl7cmV0dXJuIHRoaXMuX2lzTXVsdGlwbGVMYXlvdXR9dXBkYXRlQ3Jvc3NIYWlyUG9zaXRpb25JZk5lZWRlZCgpe2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT0oMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpO2lmKGUuaXNUb3VjaCl7Y29uc3QgdD10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXTtpZih0Lmhhc1N0YXRlKCkmJighZS5zdHlsdXMmJih0aGlzLl9pc0xpbmVUb29sTW9kZUV4Y2VwdEJydXNoKCl8fCgwLFQudG9vbElzTWVhc3VyZSkoVC50b29sLnZhbHVlKCkpKXx8dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSkpe2NvbnN0IGU9LjUqdGhpcy5tb2RlbCgpLm1vZGVsKCkudGltZVNjYWxlKCkud2lkdGgoKSxpPS41KnQuc3RhdGUoKS5kZWZhdWx0UHJpY2VTY2FsZSgpLmhlaWdodCgpO3Quc2V0Q3Vyc29yUG9zaXRpb24oZSxpKX0KY29uc3QgaT10aGlzLm1vZGVsKCkubW9kZWwoKS5jcm9zc2hhaXJTb3VyY2UoKTtpLnVwZGF0ZUFsbFZpZXdzKCgwLHRuLnNvdXJjZUNoYW5nZUV2ZW50KShpLmlkKCkpKX19fXRyYWNraW5nTW9kZVBhbmVXaWRnZXQoKXtpZighKDAsdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKS5pc1RvdWNoKXJldHVybiBudWxsO2Zvcihjb25zdCBlIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpZihlLnRyYWNraW5nTW9kZUVuYWJsZWQoKSlyZXR1cm4gZTtyZXR1cm4gbnVsbH1zdGFydFRyYWNraW5nTW9kZSgpe2lmKCgwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCl7dGhpcy5leGl0VHJhY2tpbmdNb2RlKCksdGhpcy51cGRhdGVDcm9zc0hhaXJQb3NpdGlvbklmTmVlZGVkKCk7Y29uc3QgZT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKXx8dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKVswXSx0PXRoaXMubW9kZWwoKS5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLmN1cnJlbnRQb2ludCgpO2Uuc3RhcnRUcmFja2luZ01vZGUodCx0KX19ZXhpdFRyYWNraW5nTW9kZSgpeygwLHVpLmxhc3RNb3VzZU9yVG91Y2hFdmVudEluZm8pKCkuaXNUb3VjaCYmdGhpcy5wYW5lV2lkZ2V0cygpLnNvbWUoKGU9PmUudHJhY2tpbmdNb2RlRW5hYmxlZCgpKSkmJih0aGlzLnBhbmVXaWRnZXRzKCkuZm9yRWFjaCgoZT0+ZS5leGl0VHJhY2tpbmdNb2RlKCkpKSx0aGlzLm1vZGVsKCkubW9kZWwoKS5jbGVhckN1cnJlbnRQb3NpdGlvbigpKX1vblRvb2xDaGFuZ2VkKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKTtlLmxpbmVCZWluZ0NyZWF0ZWQoKSYmIWUubGluZUJlaW5nQ3JlYXRlRnJvbUV4dGVybmFsKCkmJnRoaXMuX2NhbmNlbENyZWF0aW5nTGluZSgpLHRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKSE9PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmUmJnRoaXMuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCksdGhpcy5leGl0VHJhY2tpbmdNb2RlKCl9c2V0SW5Mb2FkaW5nU3RhdGUoZSl7dGhpcy5faW5Mb2FkaW5nU3RhdGU9ZX1wYWludChlKXt0aGlzLl9kcmF3VGltZS5zZXRWYWx1ZShwZXJmb3JtYW5jZS5ub3coKSk7Y29uc3QgdD1lPz9MZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKTt0LnZhbGlkYXRpb25BY3Rpb25zKCkuZm9yRWFjaCgoZT0+ZSgpKSk7Y29uc3QgaT10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTt0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKChlLHMpPT57bnVsbCE9PWkmJmkhPT1lfHxlLnBhaW50KHQuaW52YWxpZGF0aW9uRm9yUGFuZShzKSx0LmludmFsaWRhdGlvbkZvclRpbWVTY2FsZSgpKX0pKSx0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQucGFpbnQodC5pbnZhbGlkYXRpb25Gb3JUaW1lU2NhbGUoKSksZWc/LigpLHRoaXMuX3JlZHJhdy5maXJlKCl9R1VJUmVzZXRTY2FsZXMoKXsoMCxNdC50cmFja0V2ZW50KSgiR1VJIiwiUmVzZXQgU2NhbGVzIiksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkucmVzZXRTY2FsZXMoKX1hcHBseU92ZXJyaWRlcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdFtpLHNdb2YgT2JqZWN0LmVudHJpZXMoZSkpaS5zdGFydHNXaXRoKCJtYWluU2VyaWVzUHJvcGVydGllcy5wcmljZUF4aXNQcm9wZXJ0aWVzIil8fCh0W2ldPXMpO2lmKCgwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5wcm9wZXJ0aWVzKCksdm9pZCAwLCExLHQsdm9pZCAwKSx0aGlzLmhhc01vZGVsKCkpeygwLHlhLmFwcGx5UHJvcGVydGllc092ZXJyaWRlcykodGhpcy5tb2RlbCgpLm1vZGVsKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0KSwoMCx5YS5hcHBseVByb3BlcnRpZXNPdmVycmlkZXMpKHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLHZvaWQgMCwhMSx0LCJtYWluU2VyaWVzUHJvcGVydGllcyIpLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNlc3Npb25zKCkuYXBwbHlPdmVycmlkZXModCk7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS53YXRlcm1hcmtTb3VyY2UoKTtudWxsIT09ZSYmZS5hcHBseU92ZXJyaWRlcyh0KX19c2hvd0Z1bmRhbWVudGFscyhlKXt0aGlzLnNob3dJbmRpY2F0b3JzKGU/W2VdOnZvaWQgMCwiZnVuZGFtZW50YWxzIil9bWF4aW1pemVkUGFuZVdpZGdldCgpe3JldHVybiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZpbmQoKGU9PmUubWF4aW1pemVkKCkudmFsdWUoKSkpPz9udWxsfWhhc01heGltaXplZFBhbmUoKXtyZXR1cm4gbnVsbCE9PXRoaXMubWF4aW1pemVkUGFuZVdpZGdldCgpfXNldEFjdGl2ZShlKXsoMCx1aS5sYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKSgpLmlzVG91Y2gmJihlJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCkhPT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lP3RoaXMuc3RhcnRUcmFja2luZ01vZGUoKTp0aGlzLmV4aXRUcmFja2luZ01vZGUoKSk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSllLnVwZGF0ZSgpO2V8fHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKSx0aGlzLl9pc0FjdGl2ZS5zZXRWYWx1ZShlKX1qdXN0QWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuX2p1c3RBY3RpdmF0ZWR9c2V0QWN0aXZlUGFuZVdpZGdldChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKGUpfW9uUGFuZVdpZGdldERlc3Ryb3llZChlKXt0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnZhbHVlKCk9PT1lJiZ0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpfWdldFJlc2l6ZXJEZXRhY2hlcigpe3JldHVybiB0aGlzLl9vcHRpb25zfXRvZ2dsZUZ1bGxzY3JlZW4oKXtjb25zdCBlPXRoaXMuZ2V0UmVzaXplckRldGFjaGVyKCk7ZS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpJiYoZS5mdWxsc2NyZWVuLnZhbHVlKCk/ZS5leGl0RnVsbHNjcmVlbigpOmUucmVxdWVzdEZ1bGxzY3JlZW4oKSl9YXN5bmMgZ2VuZXJhbFByb3BlcnRpZXNEZWZpbml0aW9ucygpe3JldHVybiBhd2FpdCgwLAphdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQWxsSmF2YVN0dWRpZXMoKSx0aGlzLl9nZXRDaGFydFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKS50aGVuKChlPT5lLnByb3BlcnR5UGFnZXMoKSkpfXByb3BlcnRpZXNEZWZpbml0aW9uc0ZvclNvdXJjZShlKXtyZXR1cm4oMCxyaS5pc0xpbmVUb29sKShlKXx8KDAsdGkuaXNTdHVkeSkoZSl8fCgwLG9pLmlzU3R1ZHlMaW5lVG9vbCkoZSk/ZS5nZXRQcm9wZXJ0eURlZmluaXRpb25zVmlld01vZGVsKCkudGhlbigoZT0+bnVsbD09PWU/bnVsbDplLnByb3BlcnR5UGFnZXMoKSkpLmNhdGNoKChlPT4oWW0ubG9nV2FybihlKSxudWxsKSkpOlByb21pc2UucmVzb2x2ZShudWxsKX1iYWNrZ3JvdW5kVG9wVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZFRvcFRoZW1lLnJlYWRvbmx5KCl9YmFja2dyb3VuZEJhc2VkVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUucmVhZG9ubHkoKX1iYWNrZ3JvdW5kQm90dG9tVGhlbWUoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnJlYWRvbmx5KCl9c3RhdGUoZSl7aWYodGhpcy5oYXNNb2RlbCgpKXtjb25zdCB0PXRoaXMubW9kZWwoKS5zdGF0ZShlKTtyZXR1cm4gdC5jaGFydElkPXRoaXMuaWQoKSx0fXJldHVybiB0aGlzLl9jb250ZW50fWxpbmVUb29sc0FuZEdyb3Vwc0RUTygpe3JldHVybigwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKS5wcmVwYXJlRFRPKCl9YXBwbHlMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbihlLHQpe3JldHVybiBudWxsPT09dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyP1Byb21pc2UucmVzb2x2ZSgpOnRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplci5hcHBseUxpbmVUb29sVXBkYXRlTm90aWZpY2F0aW9uKGUsdCl9cmVsb2FkQWxsTGluZVRvb2xzKCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5yZWxvYWRBbGxMaW5lVG9vbHMoKX1zdGFydEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LnN0YXJ0QXBwbHlpbmdMaW5lVG9vbFVwZGF0ZU5vdGlmaWNhdGlvbigpfWVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKXt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI/LmVuZEFwcGx5aW5nTGluZVRvb2xVcGRhdGVOb3RpZmljYXRpb24oKX1hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5hcHBseUFsZXJ0SWRCeUV4dGVybmFsU291cmNlKGUsdCl9ZGVsZXRlQWxlcnRCeUV4dGVybmFsU291cmNlKGUsdCl7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZWxldGVBbGVydEJ5RXh0ZXJuYWxTb3VyY2UoZSl9c2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpe3JldHVybiB0aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkuc2hvdWxkQmVTYXZlZEV2ZW5JZkhpZGRlbigpOiEhdGhpcy5fb3B0aW9ucy5jb250ZW50LnNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW59Z2V0VGltZVNjYWxlKCl7cmV0dXJuIHRoaXMuX3RpbWVBeGlzV2lkZ2V0fXNob3dPYmplY3RzVHJlZVBhbmVsT3JEaWFsb2coKXtsZXQgZT0hMTtjb25zdCB0PXdpbmRvdy53aWRnZXRiYXI7aWYodCYmdC5pc1Zpc2libGUoKSl7Y29uc3QgaT0oMCxsLmVuc3VyZU5vdE51bGwpKHQuc2V0UGFnZSgib2JqZWN0X3RyZWUiKSkscz0oMCxsLmVuc3VyZU5vdE51bGwpKGkud2lkZ2V0KCJvYmplY3RfdHJlZSIpKTsoMCxsLmVuc3VyZURlZmluZWQpKHMucHJvcGVydGllcykuc2V0VmFsdWUoe3NlbGVjdGVkUGFnZToib2JqZWN0X3RyZWUifSksZT0ib2JqZWN0X3RyZWUiPT09aS5uYW1lfWV8fHRoaXMuc2hvd09iamVjdHNUcmVlRGlhbG9nKCl9c2hvd09iamVjdHNUcmVlRGlhbG9nKCl7dGhpcy5fb2JqZWN0VHJlZURpYWxvZ0NvbnRyb2xsZXI/LnNob3coKX1hZGRDdXN0b21XaWRnZXRUb0xlZ2VuZChlLHQpe3RoaXMuX2N1c3RvbUxlZ2VuZFdpZGdldHNGYWN0b3J5TWFwLnNldChlLHQpO2Zvcihjb25zdCBpIG9mIHRoaXMucGFuZVdpZGdldHMoKSlpLmFkZEN1c3RvbVdpZGdldFRvTGVnZW5kKGUsdCl9YXBwbHlJbmRpY2F0b3JzVG9BbGxDaGFydHNBdmFpbGFibGUoKXtpZighdGhpcy5jaGFydFdpZGdldENvbGxlY3Rpb24oKS5hcHBseUluZGljYXRvcnNUb0FsbENoYXJ0c0F2YWlsYWJsZSgpKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHRoaXMubW9kZWwoKS5tb2RlbCgpLnBhbmVzKCkpe2lmKGUuc291cmNlc0J5R3JvdXAoKS5hbGwoKS5zb21lKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIXNpKGUpKSkpcmV0dXJuITB9cmV0dXJuITF9d2lkZ2V0KCl7cmV0dXJuKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KX1hZGRDb21wYXJlQXNPdmVybGF5KGUsdCxpKXtjb25zdCBzPXRoaXMubW9kZWwoKTtyZXR1cm4oMCxsLmVuc3VyZURlZmluZWQpKHRoaXMuX29wdGlvbnMuaXNTeW1ib2xBdmFpbGFibGUpKGUpLnRoZW4oKGFzeW5jIG49PntpZighbilyZXR1cm4gbnVsbDthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IHI9cy5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJPdmVybGF5QHR2LWJhc2ljc3R1ZGllcyJ9LFtdKTtyZXR1cm4gci5zZXRGb3JjZU92ZXJsYXkoITApLHIuc2V0UHJlZmVycmVkUHJpY2VTY2FsZSgiYXMtc2VyaWVzIiksITAhPT1pJiZyLnNldFRhcmdldFByaWNlU2NhbGVNb2RlKHtwZXJjZW50YWdlOiEwfSksdm9pZCAwIT09dCYmci5zZXRQcm9wZXJ0aWVzU3RhdGUoe2FsbG93RXh0ZW5kVGltZVNjYWxlOnR9KSxyLmluc2VydCgoYXN5bmMoKT0+KHtpbnB1dHM6e3N5bWJvbDplfSxwYXJlbnRTb3VyY2VzOltdfSkpKX0pKX1zY3JvbGxIZWxwZXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsSGVscGVyfXJlc2l6ZSgpe2NvbnN0IGU9dGhpcy5faGVpZ2h0KCkrInB4Iix0PXRoaXMuX3dpZHRoKCkrInB4IixpPSgwLApsLmVuc3VyZU5vdE51bGwpKHRoaXMuX21haW5EaXYpO2kuc3R5bGUuaGVpZ2h0PWUsaS5zdHlsZS53aWR0aD10LHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLmhlaWdodD1lLHRoaXMuX2VsTWFpblRhYmxlLnN0eWxlLndpZHRoPXQsdGhpcy5fcmVzaXplSGFuZGxlciYmdGhpcy5fbWFpbkRpdiYmdGhpcy5fcmVzaXplSGFuZGxlcigpfWNoYXJ0UGFpbnRlZCgpe3JldHVybiB0aGlzLl9kcmF3UGxhbm5lZD8obnVsbD09PXRoaXMuX2NoYXJ0UGFpbnRlZFByb21pc2UmJih0aGlzLl9jaGFydFBhaW50ZWRQcm9taXNlPSgwLEF0LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSksdGhpcy5fY2hhcnRQYWludGVkUHJvbWlzZS5wcm9taXNlKTpQcm9taXNlLnJlc29sdmUoKX1zZXREYXRhV2luZG93V2lkZ2V0KGUpe3RoaXMuX2RhdGFXaW5kb3dXaWRnZXQ9ZX1yZW1vdmVEYXRhV2luZG93V2lkZ2V0KCl7dGhpcy5fZGF0YVdpbmRvd1dpZGdldD1udWxsfXNob3dTZWxlY3RlZFNvdXJjZXNQcm9wZXJ0aWVzKGUpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLnNlbGVjdGlvbigpLmRhdGFTb3VyY2VzKCk7aWYoMT09PXQubGVuZ3RoKXRoaXMuc2hvd1NvdXJjZVByb3BlcnRpZXModFswXSxlKTtlbHNle2NvbnN0IGk9dC5maWx0ZXIocmkuaXNMaW5lVG9vbCk7aS5sZW5ndGg+MCYmdGhpcy5zaG93Q2hhcnRQcm9wZXJ0aWVzRm9yU291cmNlcyh7c291cmNlczppLHRhYk5hbWU6ZX0pfX1zZXRUaW1pbmdzTWV0ZXIoZSl7dGhpcy5fdGltaW5nc01ldGVyPWUsdGhpcy5fdXBkYXRlVGltaW5nc01ldGVyU3RhdGUoKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9ZXhlY3V0ZUFjdGlvbkJ5SWQoZSl7aWYoInRha2VTY3JlZW5zaG90Ij09PWUpcmV0dXJuIGNvbnNvbGUud2FybignQWN0aW9uICJ0YWtlU2NyZWVuc2hvdCIgaXMgZGVwcmVjYXRlZC4gVXNlIG1ldGhvZCAidGFrZVNjcmVlbnNob3QiIGluc3RlYWQnKSx2b2lkIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi50YWtlU2NyZWVuc2hvdCgpO2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07dD90LmV4ZWN1dGUoKTpjb25zb2xlLndhcm4oIlVua25vd24gYWN0aW9uIGlkOiAiK2UpfWdldENoZWNrYWJsZUFjdGlvblN0YXRlKGUpe2NvbnN0IHQ9dGhpcy5hY3Rpb25zKClbZV07aWYodCl7aWYodC5pc0NoZWNrYWJsZSgpKXJldHVybiB0LmlzQ2hlY2tlZCgpO2NvbnNvbGUud2FybigiQWN0aW9uICIrZSsiIGhhcyBubyBzdGF0ZSIpfWVsc2UgY29uc29sZS53YXJuKCJVbmtub3duIGFjdGlvbiBpZDogIitlKTtyZXR1cm4gbnVsbH1jb25uZWN0KCl7dGhpcy5fY2hhcnRTZXNzaW9uLmlzQ29ubmVjdGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhcnRTZXNzaW9uSXNDb25uZWN0ZWRDaGFuZ2VkKSx0aGlzLl9jaGFydFNlc3Npb24uY3JpdGljYWxFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTZXNzaW9uQ3JpdGljYWxFcnJvciksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QodGhpcy5fb25EYXRhLmJpbmQodGhpcykpfWZpbmlzaEluaXRXaXRob3V0Q29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNhYmxlKCksdGhpcy5faW5pdCgpLHRoaXMuX2NoYXJ0V2lkZ2V0SW5pdGlhbGl6ZWQuZmlyZSgpfXJlY29ubmVjdCgpe3RoaXMuX2NoYXJ0U2Vzc2lvbi5kaXNjb25uZWN0KCksdGhpcy5fY2hhcnRTZXNzaW9uLmNvbm5lY3QoKX11cGRhdGUoKXtpZih0aGlzLmhhc01vZGVsKCkpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkpZS51cGRhdGUoKTt0aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQudXBkYXRlKCl9fXNldFByaWNlQXhpc0hvdmVyZWQoZSx0KXt0P3RoaXMuX2hvdmVyZWRQcmljZUF4ZXMuYWRkKGUpOnRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuZGVsZXRlKGUpLHRoaXMuX2FueUF4aXNIb3ZlcmVkLnNldFZhbHVlKHRoaXMuX2hvdmVyZWRQcmljZUF4ZXMuc2l6ZT4wKX1hbnlQcmljZUF4aXNIb3ZlcmVkKCl7cmV0dXJuIHRoaXMuX2FueUF4aXNIb3ZlcmVkLnJlYWRvbmx5KCl9bGlua2luZ0dyb3VwSW5kZXgoKXtyZXR1cm4gdGhpcy5fbGlua2luZ0dyb3VwSW5kZXh9b2Zmc2V0SW5Eb2N1bWVudChlKXtjb25zdCB0PXRoaXMucGFuZUJ5U3RhdGUoZSk7aWYoIXQpcmV0dXJue2xlZnQ6TmFOLHRvcDpOYU59O2NvbnN0IGk9dC5nZXRFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2xlZnQ6TWF0aC5yb3VuZChpLmxlZnQrZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSx0b3A6TWF0aC5yb3VuZChpLnRvcCtkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCl9fXNob3dIaW50KGUsLi4udCl7MD09PWU/dGhpcy5fc2hvd0V2ZW50SGludCguLi50KToxPT09ZSYmdGhpcy5fc2hvd1dhcm5pbmdIaW50KC4uLnQpfWhvdGtleXMoKXtyZXR1cm4gdGhpcy5faG90a2V5c31vbkFib3V0VG9Mb2FkQ29udGVudCgpe2lmKHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj8uZGVzdHJveSgpLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplcj1udWxsLHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCk7Zm9yKGNvbnN0IHQgb2YgZS5kYXRhU291cmNlcygpKSgwLHJpLmlzTGluZVRvb2wpKHQpJiZ0LmRldGFjaEFsZXJ0KCk7ZS5pc0luUmVwbGF5KCkudmFsdWUoKSYmZS5zd2l0Y2hUb1JlYWx0aW1lKCl9dGhpcy5fY2hhcnRTZXNzaW9uLmRpc2Nvbm5lY3QoKX1hc3luYyBsb2FkQ29udGVudChlLHQpe3RoaXMuc2NyZWVuLnNob3coKTtjb25zdCBpPXRoaXMubW9kZWwoKTtpLm1vZGVsKCkuc2V0TWF4aW1pemVkUGFuZShudWxsKSxpLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9PmUuY2xlYXJTZWxlY3Rpb24oKSkpO2NvbnN0IHM9aS5tYWluU2VyaWVzKCk7aS5tb2RlbCgpLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiZpLm1vZGVsKCkuc3dpdGNoVG9SZWFsdGltZSgpO2xldCBuLHI7aS5jcm9zc2hhaXJTb3VyY2UoKS5jbGVhck1lYXN1cmUoKSxpLnVubG9hZERhdGFTb3VyY2VzKCksCmkubW9kZWwoKS5hbGVydHNXYXRjaGVyKCk/LmRldGFjaFNvdXJjZUFsZXJ0TGFiZWxzKHMpLHRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0KHRoaXMuX29uRGF0YS5iaW5kKHRoaXMpKSx0aGlzLl9hY3RpdmVQYW5lV2lkZ2V0LnNldFZhbHVlKG51bGwpLHMucHVyZ2VTeW1ib2xJbmZvKCksZS5sb2FkaW5nPSEwLHRoaXMuX2lkPSgwLGwuZW5zdXJlRGVmaW5lZCkoZS5jaGFydElkKSxhd2FpdCgwLHJpLmVuc3VyZUFsbExpbmVUb29sc0xvYWRlZEZvckxheW91dCkoW2VdKSx0aGlzLl9jb250ZW50PWUsdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LHRoaXMuX2luaXRpYWxMb2FkaW5nPXQ7Y29uc3Qgbz10aGlzLl9jb250ZW50U2VyaWVzUHJvcGVydGllcygpO2lmKG8mJihuPW8scj1lLmNoYXJ0UHJvcGVydGllcy5wcmljZVNjYWxlU2VsZWN0aW9uU3RyYXRlZ3lOYW1lKSwhbil0aHJvdyBFcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZGV0ZXJtaW5pbmcgbWFpbiBzZXJpZXMgb24gdGhlIGNoYXJ0Iik7Y29uc3QgYT1zLnN0eWxlKCk7dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKHt2aXNpYmxlOiEwLHN5bWJvbDpuLnN5bWJvbCx0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6bi5pbnRlcnZhbHx8IkQiLHN0eWxlOm4uc3R5bGV9KSx2b2lkIDAhPT1yJiZ0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWUuc2V0VmFsdWUociksYSE9PXMuc3R5bGUoKSYmcy5vbkNoYXJ0U3R5bGVDaGFuZ2VkKCksdGhpcy5faW5pdCgpLGkudW5kb0hpc3RvcnkoKS5jbGVhclN0YWNrKCksdGhpcy5fY2hhcnRXaWRnZXRJbml0aWFsaXplZC5maXJlKCksaS5tb2RlbCgpLmFsZXJ0c1dhdGNoZXIoKT8uc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXJlc2V0RHJhd2luZ1N0YXRlKCl7aWYoKDAsVC5yZXNldFRvQ3Vyc29yKSghMCksdGhpcy5oYXNNb2RlbCgpKXtjb25zdCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5tb2RlbCgpLmNyb3NzaGFpclNvdXJjZSgpLnBhbmUpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShlKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHRoaXMubW9kZWwoKS5zZWxlY3Rpb25NYWNybygoZT0+e2UuY2xlYXJTZWxlY3Rpb24oKX0pKX19Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5jaGFydEZsb2F0aW5nVG9vbHRpcFZpc2libGUoKS52YWx1ZSgpfV9jbGVhclNlbGVjdGlvbkhvdGtleSgpe3JldHVybntkZXNjOiJDYW5jZWwgc2VsZWN0aW9uIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e2lmKHRoaXMuX2NoZWNrSXNUcmFkZWRHcm91cFNlbGVjdGVkKCkmJnRoaXMuX29wdGlvbnMuZXh0ZXJuYWxTZXJ2aWNlcy50cmFkaW5nLnRyYWRlZENvbnRleHRMaW5raW5nLnZhbHVlKCk/LmNsZWFyKCksdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSlyZXR1cm4gdGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpPT09VC5TZWxlY3RQb2ludE1vZGUuUmVwbGF5JiZ0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uZ2V0QWxsKCkuZm9yRWFjaCgoZT0+e2UhPT10aGlzJiZlLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5SZXBsYXkmJmUuY2FuY2VsUmVxdWVzdFNlbGVjdFBvaW50KCl9KSksdm9pZCB0aGlzLmNhbmNlbFJlcXVlc3RTZWxlY3RQb2ludCgpO2lmKHRoaXMuaGFzTW9kZWwoKSl7Y29uc3QgZT10aGlzLm1vZGVsKCkuc2VsZWN0aW9uKCkubGluZURhdGFTb3VyY2VzKCk7MT09PWUubGVuZ3RoJiYoMCxyaS5pc0VkaXRhYmxlVGV4dExpbmVUb29sKShlWzBdKSYmZVswXS50ZXh0RWRpdGluZ0p1c3RGaW5pc2hlZCgpfHx0aGlzLm1vZGVsKCkuc2VsZWN0aW9uTWFjcm8oKGU9Pnt0aGlzLl9jYW5jZWxDcmVhdGluZ0xpbmUoKSxlLmNsZWFyU2VsZWN0aW9uKCl9KSk7Y29uc3QgdD10aGlzLm1vZGVsKCkubW9kZWwoKS5jdXN0b21Tb3VyY2VNb3ZpbmdIaXRUZXN0RGF0YSgpO3QmJnQuY2FuY2VsTW92ZUhhbmRsZXImJnQuY2FuY2VsTW92ZUhhbmRsZXIoKSYmKHQuY2FuY2VsbGVkPSEwLHRoaXMubW9kZWwoKS5tb2RlbCgpLnNldE1vdmluZ0N1c3RvbVNvdXJjZShudWxsLG51bGwpLHRoaXMubW9kZWwoKS5tb2RlbCgpLmxpZ2h0VXBkYXRlKCkpfX0saXNEaXNhYmxlZDooKT0+e2lmKCF0aGlzLmhhc01vZGVsKCkpcmV0dXJuITA7Y29uc3QgZT10aGlzLm1vZGVsKCksdD1lLnNlbGVjdGlvbigpLmlzRW1wdHkoKSxpPW51bGw9PT1lLmNyb3NzaGFpclNvdXJjZSgpLm1lYXN1cmVQYW5lKCkudmFsdWUoKSxzPXRoaXMuc2VsZWN0UG9pbnRNb2RlKCkudmFsdWUoKT09PVQuU2VsZWN0UG9pbnRNb2RlLk5vbmU7cmV0dXJuIHQmJmkmJnN9fX1hc3luYyBfaW5zZXJ0U3R1ZHlPclJlcGxhY2VTdHViKGUsdCxpLHMsbixyKXt0cnl7e2NvbnN0IGk9dGhpcy5tb2RlbCgpLm1vZGVsKCkuY2hhcnRBcGkoKS5jYW5DcmVhdGVTdHVkeSh7aWQ6ImphdmEiPT09ZS50eXBlP2Uuc3R1ZHlJZDoiIixjaGlsZDp0Lmxlbmd0aD4wLGZ1bmRhbWVudGFsOnM/LmlzRnVuZGFtZW50YWwsZm9yZWNhc3Q6cz8uaXNGb3JlY2FzdCxzdHViVGl0bGU6cz8uc3R1YlRpdGxlfSk7aWYoIWkuc3VjY2Vzcyl0aHJvdygwLFluLnNob3dTdHVkaWVzTGltaXRHb1Byb0RpYWxvZykodGhpcy5tb2RlbCgpLm1vZGVsKCksaSksbmV3IGxnKGxnLlJlYXNvbnMuTGltaXRzKX1yZXR1cm4gdC5sZW5ndGgmJmF3YWl0IG5ldyBQcm9taXNlKCgoZSx0KT0+eygwLFV0LnJ1bk9yU2lnbkluKShlLHtzb3VyY2U6InN0dWR5IG9uIHN0dWR5IixvblVubW91bnRFdmVudDooKT0+dChuZXcgbGcoYWcuQ2FuY2VsZWQpKX0pfSkpLHI/LigpLCJqYXZhIj09PWUudHlwZSYmYXdhaXQoMCxhdC5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5yZXF1ZXN0TWV0YUluZm8oKSxhd2FpdCB0aGlzLl9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LGkscyxuKX1jYXRjaChlKXsKcmV0dXJuIGkmJmUgaW5zdGFuY2VvZiBsZyYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVtb3ZlU291cmNlKGksITApLG51bGx9fV9pbnNlcnRPclJlcGxhY2VTdHViQnlTdHVkeUltcGwoZSx0LHMsbixyKXtjb25zdCBvPXRoaXMubW9kZWwoKS5jcmVhdGVTdHVkeUluc2VydGVyKGUsdCxuKTtvLnNldEV2ZW50U291cmNlKG4/LmV2ZW50U291cmNlKSxvLnNldEZvcmNlT3ZlcmxheSgiamF2YSI9PT1lLnR5cGUmJiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIj09PWUuc3R1ZHlJZCYmKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidm9sdW1lX2ZvcmNlX292ZXJsYXkiKSk7Y29uc3QgYT1vLmluc2VydCgoKGUsaSxzKT0+bmV3IFByb21pc2UoKChuLG8pPT57dGhpcy5zZWxlY3RQb2ludE1vZGUoKS52YWx1ZSgpIT09VC5TZWxlY3RQb2ludE1vZGUuTm9uZSYmdGhpcy5jYW5jZWxSZXF1ZXN0U2VsZWN0UG9pbnQoKSxyP24ocihlLGkscykpOiFmdW5jdGlvbihlKXtyZXR1cm4gaGEuaW5jbHVkZXMoZS5pZCl9KHMpPyhpPz9bXSkuc29tZSgoZT0+ZS5jb25maXJtKSk/KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIklucHV0cyBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSkpKTpuKHtpbnB1dHM6e30scGFyZW50U291cmNlczp0fSk6KCgwLE10LnRyYWNrRXZlbnQpKCJHVUkiLCJDb25maXJtYXRpb24gZGlhbG9ncyIsIlN5bWJvbCBjb25maXJtYXRpb24gZGlhbG9nIiksSHQodGhpcyxlLHMsbiwoKCk9Pm8obmV3IGxnKGxnLlJlYXNvbnMuQ2FuY2VsZWQpKSksInN5bWJvbCIpKX0pKSksdm9pZCAwLHMpO3JldHVybiBhLnRoZW4oKCgpPT57KDAsVC5oaWRlQWxsSW5kaWNhdG9ycykoKS52YWx1ZSgpJiYoMCxSdC50b2dnbGVIaWRlT3B0aW9ucykoITEpfSkpLmNhdGNoKChlPT57c3x8KGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuU3R1ZHlDYW5ub3RCZUNoaWxkJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDYzMzkwNykpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoOTAwMDQxKSksYnV0dG9uVGV4dDpwLnQobnVsbCx2b2lkIDAsaSgxMTE4OTgpKSxiYWNrZHJvcDohMH0pLGU9PT1wdS5JbnNlcnRpb25FcnJvckNvZGUuQ2Fubm90Q29tcGlsZVB1YiYmKDAsaGUuc2hvd1dhcm5pbmcpKHt0aXRsZTpwLnQobnVsbCx2b2lkIDAsaSg2MjE5ODQpKSx0ZXh0OnAudChudWxsLHZvaWQgMCxpKDM4NjM3NykpLGJ1dHRvblRleHQ6cC50KG51bGwsdm9pZCAwLGkoMTExODk4KSksYmFja2Ryb3A6ITB9KSxlPT09cHUuSW5zZXJ0aW9uRXJyb3JDb2RlLkNhbm5vdEdldE1ldGFpbmZvJiYoMCxoZS5zaG93V2FybmluZykoe3RpdGxlOnAudChudWxsLHZvaWQgMCxpKDIxMjU2NCkpLHRleHQ6cC50KG51bGwsdm9pZCAwLGkoMjg1ZTMpKSxidXR0b25UZXh0OnAudChudWxsLHZvaWQgMCxpKDExMTg5OCkpLGJhY2tkcm9wOiEwfSkpfSkpLGF9YXN5bmMgX3Nob3dDaGFydFByb3BlcnRpZXMoZSx0LGkscyl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm4gbnVsbDt0JiYoKDAsUS5zZXRWYWx1ZSkoInByb3BlcnRpZXNfZGlhbG9nLmFjdGl2ZV90YWIuY2hhcnQiLHQpLGkudGFiTmFtZT10KTtjb25zdCBuPWF3YWl0IGNpKGUsdGhpcy5tb2RlbCgpLGksdGhpcy5fb3B0aW9ucy5jaGFydFdpZGdldENvbGxlY3Rpb24scyk7cmV0dXJuIG4/LnZpc2libGUoKS52YWx1ZSgpP246bnVsbH1fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKXt7dGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyPy5kZXN0cm95KCksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcz8/PW5ldyBoLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVySGFzQ2hhbmdlcy5zZXRWYWx1ZSghMSk7Y29uc3QgZT17cmVhZE9ubHlNb2RlOnRoaXMucmVhZE9ubHkoKSxtaWdyYXRlU3luY2VkTGluZVRvb2xzOnRoaXM9PT10aGlzLl9vcHRpb25zLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRBbGwoKVswXX0sdD17bGF5b3V0SWQ6dGhpcy5sYXlvdXRJZCgpLGNoYXJ0SWQ6dGhpcy5faWQsY2xpZW50SWQ6dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudElkfSxpPXFfLkxpbmVUb29sc1N5bmNocm9uaXplcjt0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXI9bmV3IGkodCx0aGlzLm1vZGVsKCkubW9kZWwoKSxlLHRoaXMuX2xpbmVUb29sc1N5bmNocm9uaXplckhhc0NoYW5nZXMpLG51bGwhPT10aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlJiZ0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuc2V0U2F2ZUNoYXJ0U2VydmljZSh0aGlzLl9zYXZlQ2hhcnRTZXJ2aWNlKSx0aGlzLl9saW5lVG9vbHNTeW5jaHJvbml6ZXIuaW52YWxpZGF0ZUFsbCghMCksdGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubW9kZWwoKS5zZXRMaW5lVG9vbHNTeW5jaHJvbml6ZXIodGhpcy5fbGluZVRvb2xzU3luY2hyb25pemVyKX19X3VwZGF0ZVRoZW1lZENvbG9yKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUuYmFja2dyb3VuZENvbG9yQXRZUGVyY2VudEZyb21Ub3AoLjUpO2xldCBpPWUuYmFja2dyb3VuZFRvcENvbG9yKCkudmFsdWUoKSxzPWUuYmFja2dyb3VuZENvbG9yKCkudmFsdWUoKTtjb25zdCBuPSgwLEl0LmlzQ29sb3JEYXJrKSh0KSxyPSgwLEl0LmlzQ29sb3JEYXJrKShpKSxvPSgwLEl0LmlzQ29sb3JEYXJrKShzKTt0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldC0tdGhlbWVkLWRhcmsiLG4pLHRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0LS10aGVtZWQtbGlnaHQiLCFuKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayIsciksdGhpcy53aWRnZXQoKS5jbGFzc0xpc3QudG9nZ2xlKCJjaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWxpZ2h0IiwhciksCnRoaXMud2lkZ2V0KCkuY2xhc3NMaXN0LnRvZ2dsZSgiY2hhcnQtd2lkZ2V0X19ib3R0b20tLXRoZW1lZC1kYXJrIixvKSx0aGlzLndpZGdldCgpLmNsYXNzTGlzdC50b2dnbGUoImNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQiLCFvKSx0aGlzLl9iYWNrZ3JvdW5kVG9wVGhlbWUuc2V0VmFsdWUocj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUuc2V0VmFsdWUobj8iZGFyayI6ImxpZ2h0IiksdGhpcy5fYmFja2dyb3VuZEJvdHRvbVRoZW1lLnNldFZhbHVlKG8/ImRhcmsiOiJsaWdodCIpLGk9PT1zJiYoMCxrLmlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlKSgiY2hhcnRQcm9wZXJ0aWVzLnBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiLGksdGhpcy5fYmFja2dyb3VuZEJhc2VkVGhlbWUudmFsdWUoKSkmJihpPW51bGwscz1udWxsKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpKWUudXBkYXRlVGhlbWVkQ29sb3JzKHt0b3BDb2xvcjppLGJvdHRvbUNvbG9yOnN9KX1faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpe2NvbnN0IGU9VC50b29sLnZhbHVlKCk7cmV0dXJuKDAsbS5pc0xpbmVUb29sTmFtZSkoZSkmJiEoMCxtLmlzTGluZURyYXduV2l0aFByZXNzZWRCdXR0b24pKGUpJiZ0aGlzLnNlbGVjdFBvaW50TW9kZSgpLnZhbHVlKCk9PT1ULlNlbGVjdFBvaW50TW9kZS5Ob25lfV9jYW5jZWxDcmVhdGluZ0xpbmUoKXtjb25zdCBlPXRoaXMubW9kZWwoKS5tb2RlbCgpLHQ9ZS5saW5lQmVpbmdDcmVhdGVkKCk7aWYobnVsbCE9PXQpe2NvbnN0IGk9ZS5saW5lVG9vbHNHcm91cE1vZGVsKCkuZ3JvdXBGb3JMaW5lVG9vbCh0KTtpJiZpLmV4Y2x1ZGVJdGVtcyhbdF0pO2NvbnN0IHM9KDAsbC5lbnN1cmVOb3ROdWxsKShlLnBhbmVGb3JTb3VyY2UodCkpOygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShzKSkuY2FuY2VsQ3JlYXRpbmdMaW5lVG9vbCgpLHQudG9vbG5hbWU9PT1ULnRvb2wudmFsdWUoKSYmKDAsVC5yZXNldFRvQ3Vyc29yKSgpfWNvbnN0IGk9ZS5jcm9zc2hhaXJTb3VyY2UoKS5tZWFzdXJlUGFuZSgpLnZhbHVlKCk7aWYobnVsbCE9PWkpeygwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5wYW5lQnlTdGF0ZShpKSkuY2FuY2VsTWVhc3VyaW5nKCl9fV9hZGp1c3RTaXplKGUpe2xldCB0PTA7Y29uc3QgaT10aGlzLmhhc01vZGVsKCk/dGhpcy5tb2RlbCgpLm1vZGVsKCkucHJpY2VTY2FsZVNsb3RzQ291bnQoKTpudWxsLHM9bmV3IFVpbnQzMkFycmF5KG51bGw9PT1pPzA6aS5sZWZ0KSxuPW5ldyBVaW50MzJBcnJheShudWxsPT09aT8wOmkucmlnaHQpLHI9e3ZhbHVlOjB9LG89e3ZhbHVlOjB9LGE9KDAsZGkuZ2V0Q2FudmFzRGV2aWNlUGl4ZWxSYXRpbykoZG9jdW1lbnQuYm9keSksbD0oZSx0KT0+ZSt0LGM9KGUsdCxpKT0+e0FycmF5LmlzQXJyYXkoaSk/aS5mb3JFYWNoKCgodCxpKT0+e2VbaV09TWF0aC5tYXgoZVtpXSx0KX0pKTp0LnZhbHVlPU1hdGgubWF4KHQudmFsdWUsaSl9LGg9KGUsdCxpKT0+e2lmKGkudmFsdWU+dCl7Y29uc3Qgcz1pLnZhbHVlL3Q7bGV0IG49MDtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPU1hdGguY2VpbChlW3RdKnMpLG4rPWVbdF07cmV0dXJuIG59cmV0dXJuIHR9LGQ9dGhpcy5fd2lkdGgoKSx1PXRoaXMuX2hlaWdodCgpLHA9dGhpcy5fcGFuZVNlcGFyYXRvcnMubGVuZ3RoLF89dGhpcy5oYXNNYXhpbWl6ZWRQYW5lKCk/MDpQaS5oZWlnaHQoKSpwLG09bnVsbCE9PXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX3RpbWVBeGlzV2lkZ2V0Lm9wdGltYWxIZWlnaHQoKTowO2xldCBnPXUtbT49NjE/bTowO2clMiYmKGcrPTEpO2NvbnN0IGY9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKSxTPU1hdGgubWF4KDEsTWF0aC5mbG9vcigodS1fLWcpL2YubGVuZ3RoKSk7bGV0IHY9MCx5PW51bGw7Y29uc3QgYj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiBmKWlmKCFifHxiPT09ZSl7ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS51cGRhdGVDdXJyZW5jeUxhYmVscygpO2NvbnN0IGk9ZS5sZWZ0UHJpY2VBeGlzZXNDb250YWluZXIoKS5vcHRpbWFsV2lkdGhzKCk7ZS5yaWdodFByaWNlQXhpc2VzQ29udGFpbmVyKCkudXBkYXRlQ3VycmVuY3lMYWJlbHMoKTtjb25zdCBhPWUucmlnaHRQcmljZUF4aXNlc0NvbnRhaW5lcigpLm9wdGltYWxXaWR0aHMoKTtjKHMscixpKSxjKG4sbyxhKSxiIT09ZSYmZS5zdGF0ZSgpLmNvbGxhcHNlZCgpLnZhbHVlKCk/dis9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKToodCs9ZS5zdHJldGNoRmFjdG9yKCkseT1lKX1sZXQgdz1zLnJlZHVjZShsLDApOzA9PT13JiYwIT09cy5sZW5ndGgmJjAhPT1yLnZhbHVlJiYoc1swXT13PXIudmFsdWUpO2xldCBDPW4ucmVkdWNlKGwsMCk7MD09PUMmJjAhPT1uLmxlbmd0aCYmMCE9PW8udmFsdWUmJihuWzBdPUM9by52YWx1ZSksdz1oKHMsdyxyKSxDPWgobixDLG8pO2xldCBQPU1hdGgubWF4KGQtdy1DLDApO2lmKFA8PTEwMil7dz0wLEM9MCxQPWQ7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspc1tlXT0wO2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKW5bZV09MH1mb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycyllLmFkanVzdFNpemUoKTtjb25zdCBUPV8rditnLHg9dTxUPzA6dS1ULE09eC90O2xldCBJPTAsTD0hMTtjb25zdCBBPXRoaXMuaGFzTW9kZWwoKT90aGlzLm1vZGVsKCkubW9kZWwoKTp2b2lkIDA7dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgoZSx0KT0+e3ZvaWQgMCE9PUEmJmUuc2V0U3RhdGUoQS5wYW5lcygpW3RdKTtsZXQgaT0wO2lmKHRoaXMuaGFzTWF4aW1pemVkUGFuZSgpKWk9dGhpcy5tYXhpbWl6ZWRQYW5lV2lkZ2V0KCk9PT1lP3g6MDtlbHNlIGlmKGUuc3RhdGUoKS5jb2xsYXBzZWQoKS52YWx1ZSgpKWk9TWF0aC5taW4oUyxlLmNvbGxhcHNlZEhlaWdodCgpKTtlbHNle2NvbnN0IHQ9ZT09PXk/TWF0aC5jZWlsKCh4LUkpKmEpL2E6TWF0aC5yb3VuZChlLnN0cmV0Y2hGYWN0b3IoKSpNKmEpL2EKO2k9TWF0aC5tYXgodCwyKSxJKz1pfWUuc2V0UHJpY2VBeGlzU2l6ZXMoImxlZnQiLGkscyksZS5zZXRQcmljZUF4aXNTaXplcygicmlnaHQiLGksbiksTD1MfHxpIT09ZS5oZWlnaHQoKSxlLnNldFNpemUoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Oml9KSksQSYmZS5zdGF0ZSgpJiZBLnNldFBhbmVIZWlnaHQoZS5zdGF0ZSgpLGkpfSkpLG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmdGhpcy5fdGltZUF4aXNXaWRnZXQuc2V0U2l6ZXMoKDAseXQuc2l6ZSkoe3dpZHRoOlAsaGVpZ2h0Omd9KSxzLG4pLEEmJkEuc2V0V2lkdGgoUCxlKSx0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbiYmdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24udXBkYXRlUG9zaXRpb24oKSx0aGlzLl9saHNBeGVzV2lkdGghPT13JiYodGhpcy5fbGhzQXhlc1dpZHRoPXcsdGhpcy5fbGhzUHJpY2VBeGlzV2lkdGhDaGFuZ2VkLmZpcmUodykpLHRoaXMuX3Joc0F4ZXNXaWR0aCE9PUMmJih0aGlzLl9yaHNBeGVzV2lkdGg9Qyx0aGlzLl9yaHNQcmljZUF4aXNXaWR0aENoYW5nZWQuZmlyZShDKSksTCYmJC5lbWl0KCJwYW5lc19oZWlnaHRfY2hhbmdlZCIpfV9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCl7Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKS5wYW5lcygpLHQ9ZS5sZW5ndGgsaT10aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmxlbmd0aCxzPXRoaXMuX3BhbmVXaWRnZXRzLnZhbHVlKCkuc2xpY2UoKTtmb3IobGV0IGU9dDtlPGk7ZSsrKXsoMCxsLmVuc3VyZURlZmluZWQpKHMucG9wKCkpLmRlc3Ryb3koKTtjb25zdCBlPXRoaXMuX3BhbmVTZXBhcmF0b3JzLnBvcCgpO2UmJmUuZGVzdHJveSgpfWNvbnN0IG49dGhpcy5fb3B0aW9ucy5jb250YWluc0RhdGE7Zm9yKGxldCByPTA7cjx0O3IrKyl7Y29uc3QgdD1yPj1pLG89e2NvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudUVuYWJsZWQsY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLmN1cnJlbmN5Q29udmVyc2lvbkVuYWJsZWQsdW5pdENvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMudW5pdENvbnZlcnNpb25FbmFibGVkLG1ldHJpY0NvbnZlcnNpb25FbmFibGVkOnRoaXMuX29wdGlvbnMubWV0cmljQ29udmVyc2lvbkVuYWJsZWQsaGFuZGxlU2NhbGU6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY2FsZSxoYW5kbGVTY3JvbGw6dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwscHJpY2VTY2FsZUNvbnRleHRNZW51RW5hYmxlZDp0aGlzLl9vcHRpb25zLnByaWNlU2NhbGVDb250ZXh0TWVudUVuYWJsZWQsbGVnZW5kV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmxlZ2VuZFdpZGdldEVuYWJsZWQmJmVbcl0ubW9kZSgpPT09TS5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZVN0YXR1c2VzV2lkZ2V0RW5hYmxlZDohbixzb3VyY2VTdGF0dXNlc1dpZGdldDp0aGlzLl9vcHRpb25zLnNvdXJjZVN0YXR1c2VzV2lkZ2V0LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6dGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNXaWRnZXRFbmFibGVkJiYhbixjaGFydFdhcm5pbmdXaWRnZXRFbmFibGVkOnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0RW5hYmxlZCYmIW4sY2hhcnRXYXJuaW5nV2lkZ2V0OnRoaXMuX29wdGlvbnMuY2hhcnRXYXJuaW5nV2lkZ2V0LGRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZDp0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtV2lkZ2V0RW5hYmxlZCYmIW4sbGVnZW5kV2lkZ2V0OnRoaXMuX29wdGlvbnMubGVnZW5kV2lkZ2V0LHByb3BlcnR5UGFnZXNFbmFibGVkOnRoaXMuX29wdGlvbnMucHJvcGVydHlQYWdlc0VuYWJsZWQsc291cmNlU2VsZWN0aW9uRW5hYmxlZDp0aGlzLl9vcHRpb25zLnNvdXJjZVNlbGVjdGlvbkVuYWJsZWQsY29udHJvbHNFbmFibGVkOnRoaXMuX29wdGlvbnMucGFuZUNvbnRyb2xzRW5hYmxlZCxjcm9wcGVkVGlja01hcmtzOnRoaXMuX29wdGlvbnMuY3JvcHBlZFRpY2tNYXJrcyxjb3VudGRvd25FbmFibGVkOnRoaXMuX29wdGlvbnMuY291bnRkb3duRW5hYmxlZCxjdXN0b21MZWdlbmRXaWRnZXRGYWN0b3JpZXM6bmV3IE1hcCh0aGlzLl9jdXN0b21MZWdlbmRXaWRnZXRzRmFjdG9yeU1hcCksdXNlS2luZXRpY1Njcm9sbDp0aGlzLl9vcHRpb25zLnVzZUtpbmV0aWNTY3JvbGwscGluZVNvdXJjZVN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSxhbGVydFN0YXR1c0VuYWJsZWQ6IXRoaXMucmVhZE9ubHkoKSYmIXRoaXMuX29uV2lkZ2V0fTtpZih2b2lkIDAhPT10aGlzLl9vcHRpb25zLnBhbmVDb250ZXh0TWVudSYmKG8uY29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wYW5lQ29udGV4dE1lbnUpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMucHJpY2VTY2FsZUNvbnRleHRNZW51JiYoby5wcmljZVNjYWxlQ29udGV4dE1lbnU9dGhpcy5fb3B0aW9ucy5wcmljZVNjYWxlQ29udGV4dE1lbnUpLHQpe2NvbnN0IHQ9bmV3IGJuKHRoaXMsZVtyXSxvLHRoaXMuX3BhbmVXaWRnZXRzU2hhcmVkU3RhdGUpO2lmKHMucHVzaCh0KSxyPjApe2NvbnN0IGU9bmV3IFBpKHRoaXMsci0xLHIpO3RoaXMuX3BhbmVTZXBhcmF0b3JzLnB1c2goZSksdGhpcy5fdGltZUF4aXNXaWRnZXQ/dGhpcy5fZWxNYWluVGFibGUuaW5zZXJ0QmVmb3JlKGUuZ2V0RWxlbWVudCgpLHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmdldEVsZW1lbnQoKSk6dGhpcy5fZWxNYWluVGFibGUuYXBwZW5kQ2hpbGQoZS5nZXRFbGVtZW50KCkpfXRoaXMuX3RpbWVBeGlzV2lkZ2V0P3RoaXMuX2VsTWFpblRhYmxlLmluc2VydEJlZm9yZSh0LmdldEVsZW1lbnQoKSx0aGlzLl90aW1lQXhpc1dpZGdldC5nZXRFbGVtZW50KCkpOnRoaXMuX2VsTWFpblRhYmxlLmFwcGVuZENoaWxkKHQuZ2V0RWxlbWVudCgpKX1lbHNle3Nbcl0udXBkYXRlT3B0aW9ucyhvKX19Y29uc3Qgcj10aGlzLm1heGltaXplZFBhbmVXaWRnZXQoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9wYW5lU2VwYXJhdG9ycylyP2UuaGlkZSgpOmUuc2hvdygpO2ZvcihsZXQgaT0wO2k8dDtpKyspe2NvbnN0IHQ9ZVtpXSxuPXNbaV0KO24uaGFzU3RhdGUoKSYmbi5zdGF0ZSgpPT09dD9uLnVwZGF0ZVByaWNlQXhpc1dpZGdldHNTdGF0ZXMoKTpuLnNldFN0YXRlKHQpfWZvcihsZXQgZT10O2UtLTspc1tlXS51cGRhdGVDb250cm9scygpO3RoaXMuX3BhbmVXaWRnZXRzLnNldFZhbHVlKFsuLi5zXSksdGhpcy5fZXJyb3JSZW5kZXJlclJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2U/LnVwZGF0ZVBhbmVXaWRnZXRzKCl9KSksdGhpcy5fdXBkYXRlVGhlbWVkQ29sb3IoKX1fd2lkdGgoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy53aWR0aC52YWx1ZSgpfV9oZWlnaHQoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5oZWlnaHQudmFsdWUoKX1fdXBkYXRlKGUsdCl7Y29uc3QgaT1lP2UuZnVsbEludmFsaWRhdGlvbigpOkxlLkludmFsaWRhdGlvbkxldmVsLkZ1bGwscz0hIWUmJmUuaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKTtpZihudWxsIT09dGhpcy5fdGltaW5nc01ldGVyJiZ0aGlzLl90aW1pbmdzTWV0ZXIuc3RhcnREcmF3KGksdGhpcy5tb2RlbCgpLm1vZGVsKCkubWFpblNlcmllcygpLnN0eWxlKCkpLGk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5oYXNNb2RlbCgpP3RoaXMuX3VwZGF0ZUd1aShzKTp0aGlzLl9hZGp1c3RTaXplKHMpKSxpPkxlLkludmFsaWRhdGlvbkxldmVsLkN1cnNvciYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0Py51cGRhdGUoKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLnVwZGF0ZVByaWNlQXhpc1dpZGdldHMoKX0pKSx0aGlzLl9hcHBseVRpbWVTY2FsZUludmFsaWRhdGlvbnMoZSx0KSx0aGlzLl9pbnZhbGlkYXRpb25NYXNrPy5mdWxsSW52YWxpZGF0aW9uKCk9PT1MZS5JbnZhbGlkYXRpb25MZXZlbC5GdWxsJiYodGhpcy5faW52YWxpZGF0aW9uTWFzay5tZXJnZShlKSx0aGlzLl9hZGp1c3RTaXplKHRoaXMuX2ludmFsaWRhdGlvbk1hc2suaXNWaXNpYmxlVGltZVJhbmdlTG9ja2VkT25SZXNpemUoKSksdGhpcy5fYXBwbHlUaW1lU2NhbGVJbnZhbGlkYXRpb25zKHRoaXMuX2ludmFsaWRhdGlvbk1hc2ssdCksZT10aGlzLl9pbnZhbGlkYXRpb25NYXNrLHRoaXMuX2ludmFsaWRhdGlvbk1hc2s9bnVsbCkpLHRoaXMucGFpbnQoZSksdGhpcy5fZGF0YVdpbmRvd1dpZGdldCl7Y29uc3QgdD1lLm1heFBhbmVJbnZhbGlkYXRpb24oKTt0PT09TGUuSW52YWxpZGF0aW9uTGV2ZWwuRnVsbD90aGlzLl9kYXRhV2luZG93V2lkZ2V0LmZ1bGxVcGRhdGUoKTp0PkxlLkludmFsaWRhdGlvbkxldmVsLk5vbmUmJnRoaXMuX2RhdGFXaW5kb3dXaWRnZXQudXBkYXRlKCl9dGhpcy5fcGFuZVdpZGdldHMudmFsdWUoKS5mb3JFYWNoKCgodCxpKT0+e3QudXBkYXRlU3RhdHVzV2lkZ2V0KGUuaW52YWxpZGF0aW9uRm9yUGFuZShpKSl9KSksbnVsbCE9PXRoaXMuX3RpbWluZ3NNZXRlciYmdGhpcy5fdGltaW5nc01ldGVyLnN0b3BEcmF3KCksZSYmZS5wYW5lc09yZGVySW52YWxpZGF0ZWQoKSYmJC5lbWl0KCJwYW5lc19vcmRlcl9jaGFuZ2VkIil9X2luaXRNYXhpbWl6ZUhvdGtleShlKXtjb25zdCB0PWU9PiFlLmRlZmF1bHRQcmV2ZW50ZWQmJigwLEsubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PUsuTW9kaWZpZXJzLkFsdCYmISgwLFQudG9vbElzRGVtb25zdHJhdGlvbikoVC50b29sLnZhbHVlKCkpLGk9ZT0+e3QoZSkmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHM9ZT0+e3QoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSl9O3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscywhMCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscywhMCl9fV9vbk1vdXNld2hlZWwoZSl7aWYoIXRoaXMuaGFzTW9kZWwoKSlyZXR1cm47aWYoIXRoaXMubW9kZWwoKS5tb2RlbCgpLnpvb21FbmFibGVkKCl8fG51bGw9PT10aGlzLl9tb3VzZVdoZWVsSGVscGVyKXJldHVybjtpZih0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybjtjb25zdCB0PXRoaXMuX21vdXNlV2hlZWxIZWxwZXIucHJvY2Vzc1doZWVsKGUpLGk9dC5kZWx0YVgscz0tdC5kZWx0YVk7aWYoMCE9PWkmJnRoaXMuX29wdGlvbnMuaGFuZGxlU2Nyb2xsLm1vdXNlV2hlZWx8fDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2lmKGUuY2FuY2VsYWJsZSYmZS5wcmV2ZW50RGVmYXVsdCgpLDAhPT1zJiZ0aGlzLl9vcHRpb25zLmhhbmRsZVNjYWxlLm1vdXNlV2hlZWwpe2NvbnN0IHQ9TWF0aC5zaWduKHMpKk1hdGgubWluKDEsTWF0aC5hYnMocykpLGk9KDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tYWluRGl2KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWUuY2xpZW50WC10aGlzLl9saHNBeGVzV2lkdGgtaS5sZWZ0O2lmKCFOdW1iZXIuaXNGaW5pdGUobil8fCFOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHZvaWQgWW0ubG9nV2FybigiSW5jb3JyZWN0IG1vdXNlIHdoZWVsIHByb2Nlc3Npbmc6IHNjcm9sbFBvc2l0aW9uOiAiK24rIiwgem9vbVNjYWxlOiAiK3QpO2NvbnN0IHI9bmV3IExpLkVudmlyb25tZW50U3RhdGUoZSkubW9kKCk7dGhpcy5tb2RlbCgpLm1vZGVsKCkuem9vbVRpbWUobix0LCEhcnx8dm9pZCAwKSx0aGlzLl9vblpvb20uZmlyZShyKX0wIT09aSYmdGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCYmdGhpcy5tb2RlbCgpLnNjcm9sbENoYXJ0KC04MCppKX19X2JlZ2luUmVxdWVzdEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXRXVi52YWx1ZSgpIT09dGhpcztpZih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQuc2V0VmFsdWUodGhpcyksZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFyaWFEZXNjcmliZUNoYXJ0KHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0V1YudmFsdWUoKSk7Y29uc3QgZT0oMCwKdWkubGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoKTtlLmlzVG91Y2gmJiFlLnN0eWx1cyYmdGhpcy5faXNMaW5lVG9vbE1vZGVFeGNlcHRCcnVzaCgpJiZ0aGlzLnVwZGF0ZUNyb3NzSGFpclBvc2l0aW9uSWZOZWVkZWQoKSx0aGlzLl9qdXN0QWN0aXZhdGVkPSEwfX1fZW5kUmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2p1c3RBY3RpdmF0ZWQmJnNldFRpbWVvdXQoKCgpPT50aGlzLl9qdXN0QWN0aXZhdGVkPSExKSwwKX1fcmVxdWVzdEFjdGl2ZSgpe3RoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZSgpLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUoKX1fY3JlYXRlU2Vzc2lvbnMoZSl7Y29uc3QgdD10aGlzLnNob3dHZW5lcmFsQ2hhcnRQcm9wZXJ0aWVzLmJpbmQodGhpcyxKdC5UYWJOYW1lcy5ldmVudHMpO2UuY3JlYXRlU2Vzc2lvbnModCl9X2NyZWF0ZVByZVBvc3RNYXJrZXQoZSl7e2NvbnN0IHQ9dGhpcy5zaG93R2VuZXJhbENoYXJ0UHJvcGVydGllcy5iaW5kKHRoaXMsSnQuVGFiTmFtZXMuc2NhbGVzKTtlLmNyZWF0ZVByZVBvc3RNYXJrZXQodCl9fV9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpe2NvbnN0IGU9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIpJiZ0aGlzLl9vcHRpb25zLmFkZFZvbHVtZSx0PSF0aGlzLl9jb250ZW50LGk9KDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIik7dGhpcy5fY29udGVudCYmdGhpcy5fY29udGVudC5sb2FkaW5nO2lmKGUmJnQpe2NvbnN0IGU9KCk9PntzZXRUaW1lb3V0KChhc3luYygpPT57Y29uc3QgZT10aGlzLm1vZGVsKCkubW9kZWwoKSx0PWUubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZighdClyZXR1cm47Y29uc3QgaT0oMCxBLmhhc1ZvbHVtZSkodCk7aWYoIXRoaXMuY29udGFpbnNWb2x1bWUoKSYmaSl7Y29uc3QgdD0oMCwkbC5mYWN0b3J5RGVmYXVsdHMpKCJjaGFydHByb3BlcnRpZXMudm9sdW1lUGFuZVNpemUiKTthd2FpdCgwLGF0LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0IGk9ZS5jcmVhdGVTdHVkeUluc2VydGVyKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pO2kuc2V0Rm9yY2VPdmVybGF5KCgwLHEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInZvbHVtZV9mb3JjZV9vdmVybGF5IikpLGkuc2V0UGFuZVNpemUodCksKDAscS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV92b2x1bWVfbWEiKSYmaS5zZXRQcm9wZXJ0aWVzU3RhdGUoe3N0eWxlczp7dm9sX21hOntkaXNwbGF5OlZoLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZX19fSksaS5pbnNlcnQoKX1lbHNlIGlmKCFpJiZ0aGlzLmNvbnRhaW5zVm9sdW1lKCkpe2NvbnN0IHQ9dGhpcy5tb2RlbCgpLmRhdGFTb3VyY2VzKCkuZmlsdGVyKChlPT4oMCx0aS5pc1N0dWR5KShlKSYmIlZvbHVtZSI9PT1lLm1ldGFJbmZvKCkuc2hvcnRJZCkpWzBdO2UucmVtb3ZlU291cmNlKHQpfX0pKX07dGhpcy5tb2RlbCgpLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyxlLGkpfX1vbk1vZGVsVGFnc0NoYW5nZWQoKXt0aGlzLl90YWdzQ2hhbmdlZC5maXJlKCl9X2luaXRCYWNrZ3JvdW5kQ29sb3IoKXtudWxsPT09dGhpcy5fYmFja2dyb3VuZFRvcENvbG9yU3Bhd24mJih0aGlzLl9iYWNrZ3JvdW5kVG9wQ29sb3JTcGF3bj10aGlzLm1vZGVsKCkubW9kZWwoKS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRUb3BDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLl9vbkJhY2tncm91bmRDb2xvckNoYW5nZWQuYmluZCh0aGlzKSkpLG51bGw9PT10aGlzLl9iYWNrZ3JvdW5kQm90dG9tQ29sb3JTcGF3biYmKHRoaXMuX2JhY2tncm91bmRCb3R0b21Db2xvclNwYXduPXRoaXMubW9kZWwoKS5tb2RlbCgpLmJhY2tncm91bmRDb2xvcigpLnNwYXduKCksdGhpcy5fYmFja2dyb3VuZEJvdHRvbUNvbG9yU3Bhd24uc3Vic2NyaWJlKHRoaXMuX29uQmFja2dyb3VuZENvbG9yQ2hhbmdlZC5iaW5kKHRoaXMpKSl9X3VwZGF0ZUd1aShlKXt0aGlzLmhhc01vZGVsKCkmJih0aGlzLl9tYWtlVGltZUF4aXNXaWRnZXQoKSx0aGlzLl9tYWtlUGFuZVdpZGdldHNBbmRTZXBhcmF0b3JzKCksdGhpcy5fZWxNYWluVGFibGUuc3R5bGUudXNlclNlbGVjdD0ibm9uZSIsdGhpcy5fYWRqdXN0U2l6ZShlKSl9X29uQ2hhcnRTdHlsZUNoYW5nZWQoKXsoMCxNdC50cmFja0V2ZW50KSgiQ2hhcnQiLGBDaGFydCBTdHlsZSAke3RoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuZ2V0U3R5bGVTaG9ydE5hbWUoKS50b1VwcGVyQ2FzZSgpfWApfV9hZGRQZXJmTWFyayhlKXsoMCxxbS5hZGRQZXJmTWFyaykoYENoYXJ0V2lkZ2V0LiR7dGhpcy5faWR9LiR7ZX1gKX1fc2V0RWxlbWVudChlKXtpZighZSlyZXR1cm47aWYodGhpcy5fbWFpbkRpdil7dGhpcy5fbWFpbkRpdi5yZW1vdmUoKTtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7ZS5zZWxlY3ROb2RlQ29udGVudHMoKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpKSxlLmRlbGV0ZUNvbnRlbnRzKCl9dGhpcy5fY29udHJvbEJhck5hdmlnYXRpb24mJih0aGlzLl9jb250cm9sQmFyTmF2aWdhdGlvbi5kZXN0cm95KCksdGhpcy5fY29udHJvbEJhck5hdmlnYXRpb249bnVsbCksbnVsbCE9PXRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5JiZ0aGlzLl9yZW1vdmVNYXhpbWl6ZUhvdGtleSgpLHRoaXMuX3JlbW92ZU1heGltaXplSG90a2V5PXRoaXMuX2luaXRNYXhpbWl6ZUhvdGtleShlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudCxzPXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJjaGFydC1jb250YWluZXItYm9yZGVyIiksZS5pbnNlcnRCZWZvcmUocyxlLmZpcnN0Q2hpbGQpLHRoaXMuX3BhcmVudD1zO2NvbnN0IG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLmNsYXNzTGlzdC5hZGQoImNoYXJ0LXdpZGdldCIpLHRoaXMuX21haW5EaXY9biwKdGhpcy5fZWxUb29sdGlwRGl2PXQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fZWxUb29sdGlwRGl2LmNsYXNzTmFtZT0idG9vbHRpcC13cmFwcGVyIix0aGlzLl9tYWluRGl2LmFwcGVuZENoaWxkKHRoaXMuX2VsVG9vbHRpcERpdiksdGhpcy5fZWxNYWluVGFibGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9lbE1haW5UYWJsZS5jbGFzc05hbWU9ImNoYXJ0LW1hcmt1cC10YWJsZSIsdGhpcy5fbWFpbkRpdi5hcHBlbmRDaGlsZCh0aGlzLl9lbE1haW5UYWJsZSksbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyZWdpb24iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIscC50KG51bGwse3JlcGxhY2U6e2luZGV4OnRoaXMuaWQoKX19LGkoODQzMzY3KSkpLHRoaXMuX2hvdGtleXNMaXN0ZW5lciYmdGhpcy5faG90a2V5c0xpc3RlbmVyLmRlc3Ryb3koKSx0aGlzLl9lcnJvclJlbmRlcmVyUmVzb3VyY2UuY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2V0Q29udGFpbmVyKHRoaXMuX3BhcmVudCl9KSksdGhpcy5faG90a2V5c0xpc3RlbmVyPW5ldyBYdC5DaGFydEhvdGtleXNMaXN0ZW5lcih0aGlzLHRoaXMuX21haW5EaXYpLCh0aGlzLl9vcHRpb25zLmNvbnRyb2xCYXJFbmFibGVkfHwoMCxxLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjb250cm9sX2JhciIpKSYmdGhpcy5fY3JlYXRlQ29udHJvbEJhcigpLHRoaXMuX29wdGlvbnMuaGFuZGxlU2NhbGUubW91c2VXaGVlbHx8dGhpcy5fb3B0aW9ucy5oYW5kbGVTY3JvbGwubW91c2VXaGVlbCl7dGhpcy5fbW91c2VXaGVlbEhlbHBlcj1uZXcgU2k7Y29uc3QgZT10aGlzLl9vbk1vdXNld2hlZWwuYmluZCh0aGlzKTt0aGlzLl9vbldoZWVsQm91bmQ9ZSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixlLHtwYXNzaXZlOiExfSl9dGhpcy5fbWFpbkRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKCk9PnRoaXMuX2lzSG92ZXJlZC5zZXRWYWx1ZSghMCkpKSx0aGlzLl9tYWluRGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgoKT0+dGhpcy5faXNIb3ZlcmVkLnNldFZhbHVlKCExKSkpLHRoaXMucmVzaXplKCksdGhpcy5fanVzdEFjdGl2YXRlZD0hMSx0aGlzLndpdGhNb2RlbCh0aGlzLCgoKT0+e3MuYXBwZW5kQ2hpbGQobiksbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2JlZ2luUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9iZWdpblJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX2VuZFJlcXVlc3RBY3RpdmUuYmluZCh0aGlzKSksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fZW5kUmVxdWVzdEFjdGl2ZS5iaW5kKHRoaXMpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9yZXF1ZXN0QWN0aXZlLmJpbmQodGhpcykpfSkpLHRoaXMuX2luaXRlZCYmKG51bGwhPT10aGlzLl90aW1lQXhpc1dpZGdldCYmKHRoaXMuX3RpbWVBeGlzV2lkZ2V0LmRlc3Ryb3koKSx0aGlzLl90aW1lQXhpc1dpZGdldD1udWxsKSx0aGlzLl9wYW5lV2lkZ2V0cy52YWx1ZSgpLmZvckVhY2goKGU9PntlLmRlc3Ryb3koKX0pKSx0aGlzLl9wYW5lV2lkZ2V0cy5zZXRWYWx1ZShbXSksdGhpcy5fcGFuZVNlcGFyYXRvcnMuZm9yRWFjaCgoZT0+e2UuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVTZXBhcmF0b3JzLmxlbmd0aD0wLHRoaXMuX3VwZGF0ZShMZS5JbnZhbGlkYXRpb25NYXNrLmZ1bGwoKSxwZXJmb3JtYW5jZS5ub3coKSkpfV9pbml0KCl7dGhpcy5oYXNNb2RlbCgpJiZ0aGlzLm1vZGVsKCkubWFpblNlcmllcygpLmNsZWFyRGF0YSgpLHRoaXMuX2luaXRDb2xvcnMoKSx0aGlzLl9tYWtlRGVmYXVsdEd1aSgpO3RoaXMuX21ha2VEZWZhdWx0TW9kZWwoKSwoKCk9Pnt0aGlzLl9jaGVja09ic29sZXRlVGltZXpvbmUoKSx0aGlzLl9jaGFydFNlc3Npb24mJnRoaXMuX2NoYXJ0U2Vzc2lvbi5jb25uZWN0ZWQoKSYmdGhpcy5tb2RlbCgpLm1vZGVsKCkucmVzdGFydCgpLHRoaXMuX2NvbnRlbnQmJih0aGlzLl9pbml0Q29sb3JzKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e3RoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIoTGUuSW52YWxpZGF0aW9uTWFzay5mdWxsKCkpfSx0aGlzLl9yZXNpemVIYW5kbGVyKCksKDAsbC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wYXJlbnQpLmFwcGVuZENoaWxkKCgwLGwuZW5zdXJlTm90TnVsbCkodGhpcy5fbWFpbkRpdikpLHRoaXMuX3NwaW5uZXImJih0aGlzLl9zcGlubmVyLnN0b3AoKSx0aGlzLl9zcGlubmVyPW51bGwpLHRoaXMuX2FjdGl2YXRlU3ltYm9sU2VhcmNoSG90a2V5cygpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5vblNjcm9sbCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fb25TY3JvbGwuZmlyZSgpKSksdGhpcy5faW5pdGVkPSEwfSkoKX1fbWFrZURlZmF1bHRNb2RlbCgpe2xldCBlO2lmKHRoaXMuX2NvbnRlbnQmJnRoaXMuX2NvbnRlbnQudGltZVNjYWxlLnBvaW50cyl7Y29uc3QgdD10aGlzLl9jb250ZW50LnRpbWVTY2FsZS5wb2ludHMuaXRlbXNbMF07ZT17c3RhcnREYXRlOnR9fWNvbnN0IHQ9KCk9Pntjb25zdCB0PXtyZWFkT25seTp0aGlzLnJlYWRPbmx5KCksaXNTbmFwc2hvdDohIXRoaXMuX2NvbnRhaW5zRGF0YSwuLi4oMCwKa3QucGlja0ZpZWxkcykodGhpcy5fb3B0aW9ucyxbInRpbWVTY2FsZSIsImNyb3NzSGFpciIsImNoYXJ0RXZlbnRzRW5hYmxlZCIsIm5ld3NOb3RpZmljYXRpb25zRW5hYmxlZCIsImVzZEVuYWJsZWQiLCJsYXRlc3RVcGRhdGVzRW5hYmxlZCIsImNvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzRW5hYmxlZCIsImZ1dHVyZXNDb250cmFjdEV4cGlyYXRpb25FbmFibGVkIiwiY291bnRkb3duRW5hYmxlZCIsImxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQiLCJjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkIiwidW5pdENvbnZlcnNpb25FbmFibGVkIiwibWV0cmljQ29udmVyc2lvbkVuYWJsZWQiLCJ3YXRlcm1hcmtFbmFibGVkIiwic2hpZnRWaXNpYmxlUmFuZ2VPbk5ld0JhciIsImhpZGVJZGVhcyIsIm9uV2lkZ2V0Il0pfTt2b2lkIDAhPT10LmNyb3NzSGFpciYmKHQuY3Jvc3NIYWlyLmV4dGVybmFsU2VydmljZXM9dGhpcy5fb3B0aW9ucy5leHRlcm5hbFNlcnZpY2VzLnRyYWRpbmcpO2NvbnN0IGk9bmV3IENfKHtjaGFydFNlc3Npb246dGhpcy5fY2hhcnRTZXNzaW9uLGludmFsaWRhdGVIYW5kbGVyOnRoaXMuX2ludmFsaWRhdGlvbkhhbmRsZXIscHJvcGVydGllczp0aGlzLl9wcm9wZXJ0aWVzLHNlcmllc1Byb3BlcnRpZXM6dGhpcy5fbWFpblNlcmllc1Byb3BlcnRpZXMsZGF0YVJlcXVlc3Q6ZSxjaGFydFdpZGdldDp0aGlzLHVuZG9IaXN0b3J5OnRoaXMuX29wdGlvbnMudW5kb0hpc3RvcnksYmFyc01hcmtzQ29udGFpbmVyc0ZhY3Rvcnk6dGhpcy5fb3B0aW9ucy5iYXJzTWFya3NDb250YWluZXJzRmFjdG9yeSxvcHRpb25zOnQsaGliZXJuYXRlVlc6dGhpcy5fY29sbGFwc2VkLGxpbmtpbmdHcm91cFdWOnRoaXMuX2xpbmtpbmdHcm91cEluZGV4LGlzQXV0b1NhdmVFbmFibGVkOnRoaXMuX3NhdmVDaGFydFNlcnZpY2U/LmF1dG9TYXZlRW5hYmxlZCgpPz9uZXcgaC5XYXRjaGVkVmFsdWUoITApLGRyYXdUaW1lOnRoaXMuX2RyYXdUaW1lLnJlYWRvbmx5KCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTp0aGlzLl9vcHRpb25zLmV4dGVybmFsU2VydmljZXMudHJhZGluZy50cmFkaW5nUHJlZmVyZW5jZXNTZXJ2aWNlfSk7cmV0dXJuIGkubW9kZWwoKS5mdWxsVXBkYXRlKCksdGhpcy5fY3JlYXRlU2Vzc2lvbnMoaS5tb2RlbCgpKSx0aGlzLl9jcmVhdGVQcmVQb3N0TWFya2V0KGkubW9kZWwoKSksaX07dGhpcy5fbW9kZWxXVi5zZXRWYWx1ZSh0aGlzLl9tb2RlbFdWLnZhbHVlKCl8fHQoKSwhMCksdGhpcy5tb2RlbCgpLm1vZGVsKCkuc2V0Q2hhcnRTYXZlVGltZSgxZTMqdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLmxhc3RNb2RpZmllZC52YWx1ZSgpKSx0aGlzLl9jcmVhdGVWb2x1bWVJZk5lZWRlZCgpO2lmKHRoaXMuX2NvbnRlbnQpe2xldCBlPXRoaXMuX3NldFN5bWJvbEludGVydmFsQ29udGVudE92ZXJyaWRlcztLbSYmdGhpcy5faW5pdGlhbExvYWRpbmcmJihlPXsuLi5lLHN5bWJvbDp0aGlzLl9kZWZTeW1ib2wsaW50ZXJ2YWw6dGhpcy5fZGVmSW50ZXJ2YWw/P3ZvaWQgMCxzdHlsZTp0aGlzLl9kZWZTdHlsZT8/dm9pZCAwfSx0aGlzLl9kZWZJbnRlcnZhbCYmeC5JbnRlcnZhbC5pc1JhbmdlKHRoaXMuX2RlZkludGVydmFsKSYmKGUuc3R5bGU9MTEpKSx0aGlzLl9hcHBseVNhdmVkTW9kZWxTdGF0ZSh0aGlzLl9jb250YWluc0RhdGEsZSksdGhpcy5fc2V0U3ltYm9sSW50ZXJ2YWxDb250ZW50T3ZlcnJpZGVzPXt9LEttJiZ0aGlzLl9kZWZTeW1ib2wmJnRoaXMubW9kZWwoKS5tb2RlbCgpLnJlY2FsY3VsYXRlUHJpY2VSYW5nZU9uY2UoKX10aGlzLl9zZXRBY3Rpb25zKCksdGhpcy5fY3JlYXRlTGluZVRvb2xzU3luY2hyb25pemVySWZOZWVkZWQoKSwoKCk9Pntjb25zdCBlPXRoaXMubW9kZWwoKTtlLm9uVGFnc0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMub25Nb2RlbFRhZ3NDaGFuZ2VkKCkpKSx0aGlzLl9pbml0QmFja2dyb3VuZENvbG9yKCksdGhpcy5fdXBkYXRlR3VpKCksdGhpcy5fbW9kZWxDcmVhdGVkLmZpcmUoZSksdGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpO2NvbnN0IHQ9ZS5tYWluU2VyaWVzKCksaT10LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0aGlzLl9kZWZUaW1lZnJhbWUmJnQuc2V0RGVmYXVsdFRpbWVmcmFtZSh0aGlzLl9kZWZUaW1lZnJhbWUpLHRoaXMuX2RlZk1ldHJpYyYmdC5zZXRNZXRyaWModGhpcy5fZGVmTWV0cmljKSx0LmRhdGFFdmVudHMoKS5zeW1ib2xOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoZT0+dC5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSkpKSx0aGlzLl9zeW1ib2xXVi5zZXRWYWx1ZShpLnN5bWJvbC52YWx1ZSgpKSxpLnN5bWJvbC5zdWJzY3JpYmUodGhpcywoZT0+dGhpcy5fc3ltYm9sV1Yuc2V0VmFsdWUoZS52YWx1ZSgpKSkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShpLmludGVydmFsLnZhbHVlKCkpLGkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsKGU9PnRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShlLnZhbHVlKCkpKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlTG9naW5TdGF0ZUNoYW5nZWQpLHRoaXMuX2hhbmRsZUxvZ2luU3RhdGVDaGFuZ2VkKCksdC5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+e2NvbnN0IGk9ZS5wcm9fbmFtZSxzPWUucHJvX3Blcm07aSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZSYmdGhpcy5fb3B0aW9ucy5pc1N5bWJvbEF2YWlsYWJsZShpLHMpLnRoZW4oKGU9PntlfHx0LnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOigwLER0LmdldERlZmF1bHRTeW1ib2wpKCl9KX0pKX0pKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLnJlcXVlc3RGYWxsYmFja1N5bWJvbCYmdC5kYXRhRXZlbnRzKCkuc3ltYm9sR3JvdXBOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUodGhpcywoZT0+eygwLGwuZW5zdXJlRGVmaW5lZCkodGhpcy5fb3B0aW9ucy5yZXF1ZXN0RmFsbGJhY2tTeW1ib2wpKGkuc3ltYm9sLnZhbHVlKCkse3R5cGU6Imdyb3VwX25vdF9wZXJtaXR0ZWQiLApzeW1ib2xHcm91cDplfSkudGhlbigoZT0+e2UmJnQuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfSkpfSkpLCgwLGwuZW5zdXJlRGVmaW5lZCkodC5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKS5iaW5kKHQpKCkuc3Vic2NyaWJlKHRoaXMuc2NyZWVuLHRoaXMuc2NyZWVuLnNob3cpLGkuc3R5bGUudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U3R5bGVDaGFuZ2VkKSxpLnN0eWxlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRTdHlsZUNoYW5nZWQpLHQuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fYWRkUGVyZk1hcmsoIlNlcmllc0NvbXBsZXRlZCIpKSwhMCksdC5kYXRhRXZlbnRzKCkuYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX2FkZFBlcmZNYXJrKCJTZXJpZXNGaXJzdERhdGFSZWNlaXZlZCIpKSwhMCk7Y29uc3Qgcz10aGlzLl9vcHRpb25zO3QuZGF0YUV2ZW50cygpLmNoYXJ0VHlwZU5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLCgoKT0+e3Quc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDoiRCJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoKDAsTWUudHJhY2tHb1Byb0ZlYXR1cmUpKCJrYWdpUmVua28iKSwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImthZ2lSZW5rbyJ9KSl9KSksdC5kYXRhRXZlbnRzKCkuaW50cmFkYXlTcHJlYWROb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJpbnRyYWRheVNwcmVhZCJ9KX0pKSx0LmRhdGFFdmVudHMoKS5jdXN0b21JbnRlcnZhbE5vdFBlcm1pdHRlZCgpLnN1YnNjcmliZShudWxsLChpPT57Y29uc3Qgbj1lLm1vZGVsKCkuZGVmYXVsdFJlc29sdXRpb25zKCkscj1uLmZpbmQoKGU9PigwLEkuY29tcGFyZVJlc29sdXRpb25zKShlLGkpPj0wKSk/P25bbi5sZW5ndGgtMV07dC5zZXRTeW1ib2xQYXJhbXMoe2ludGVydmFsOnJ9KSxzLm11dGVTZXNzaW9uRXJyb3JzfHwoMCxXdS5yZWxvZ2luT3JHb1Bybykoe2ZlYXR1cmU6ImN1c3RvbUludGVydmFscyJ9KX0pKSx0LmRhdGFFdmVudHMoKS5zZWNvbmRzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJzZWNvbmRzSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLnRpY2tzSW50ZXJ2YWxOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IjEifSkscy5tdXRlU2Vzc2lvbkVycm9yc3x8KDAsV3UucmVsb2dpbk9yR29Qcm8pKHtmZWF0dXJlOiJ0aWNrSW50ZXJ2YWxzIn0pfSkpLHQuZGF0YUV2ZW50cygpLmludHJhZGF5RXhjaGFuZ2VOb3RQZXJtaXR0ZWQoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntpZih0LnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6IkQifSksIXMubXV0ZVNlc3Npb25FcnJvcnMpe2xldCBlPSgwLGwuZW5zdXJlTm90TnVsbCkodC5zeW1ib2xJbmZvKCkpLmxpc3RlZF9leGNoYW5nZTsoMCxUXy5nZXRFeGNoYW5nZXMpKCkuZm9yRWFjaCgodD0+e3QudmFsdWU9PT1lJiYoZT10Lm5hbWUpfSkpLCgwLFd1LnJlbG9naW5PckdvUHJvKSh7ZmVhdHVyZToiaW50cmFkYXlFeGNoYW5nZSJ9KX19KSksdC5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pntjb25zdCBpPXQuaW50ZXJ2YWwoKSxzPWUubW9kZWwoKS5kZWZhdWx0UmVzb2x1dGlvbnMoKSxuPSgwLEEuZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKCkscj0oMCxJLmdldFJlc29sdXRpb25CeUNoYXJ0U3R5bGUpKG4saSxzKTt0LnNldENoYXJ0U3R5bGVXaXRoSW50ZXJ2YWxJZk5lZWRlZChuLHIpfSkpLHQucmVxdWVzdGluZ1N0eWxlU3VwcG9ydFJlY292ZXJlZC5zdWJzY3JpYmUobnVsbCwoaT0+e2NvbnN0IHM9dC5pbnRlcnZhbCgpLG49ZS5tb2RlbCgpLmRlZmF1bHRSZXNvbHV0aW9ucygpLHI9KDAsSS5nZXRSZXNvbHV0aW9uQnlDaGFydFN0eWxlKShpLHMsbik7dC5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQoaSxyKX0pKX0pKCl9X2FwcGx5U2F2ZWRNb2RlbFN0YXRlKGUsdCl7dGhpcy5fYWRqdXN0U2l6ZSgpO2NvbnN0IHM9dGhpcy5tb2RlbCgpLG49cy5yZXN0b3JlU3RhdGUodGhpcy5fY29udGVudCxlLHQpLHI9cy5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMuX3N5bWJvbFdWLnNldFZhbHVlKHIuc3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Jlc29sdXRpb25XVi5zZXRWYWx1ZShyLmludGVydmFsLnZhbHVlKCkpLG4mJm4ubGluZXNfbGltaXRfZXhjZWVkZWQmJiF0aGlzLnJlYWRPbmx5KCkmJlByb21pc2UuYWxsKFtpLmUoODM0NTApLGkuZSg1NDY4MSksaS5lKDMxODM3KSxpLmUoMjA5NzEpLGkuZSg0OTUxOCksaS5lKDc1MzA0KSxpLmUoMzgwMDIpLGkuZSg3MDM2NCksaS5lKDg5MTk1KSxpLmUoNzUwNCksaS5lKDgzMjI1KSxpLmUoNDY2MDApLGkuZSgxNzUxNSldKS50aGVuKGkuYmluZChpLDQwODMwOSkpLnRoZW4oKCh7c2hvd0xpbmV0b29sc0xpbWl0RXhjZWVkZWREaWFsb2c6ZX0pPT57ZSh0aGlzKX0pKX1fYWRkSG90a2V5cygpe2lmKHRoaXMuX2hvdGtleXMuYWRkKHtkZXNjOiJNYXhpbWl6ZSIsaG90a2V5OksuTW9kaWZpZXJzLkFsdCsxMyxoYW5kbGVyOigpPT50aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKSxpc0Rpc2FibGVkOigpPT4hdGhpcy5nZXRSZXNpemVyRGV0YWNoZXIoKS5mdWxsc2NyZWVuYWJsZS52YWx1ZSgpfSksdGhpcy5faG90a2V5cy5hZGQodGhpcy5fY2xlYXJTZWxlY3Rpb25Ib3RrZXkoKSksdGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzRGlhbG9nU2hvcnRj"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32427.6d166f87b73672e561da.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.308Z","timestamp":1785136429308,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32427.6d166f87b73672e561da.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-6854\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 567541cfbedf71fb7a20644639866a7e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26708,"size_decoded":6118,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (26708), with no line terminators","md5":"32fcdfd8c316846fd66f3170427e7c77","sha1":"6cd395666698972688086231acc7c92869c526c2","sha256":"611cc3a9b9a962bd86a58946c40f4db83ee7464d2fd0f96e5bdc128adc47279e","sha512":"c87b402782fb530431f851e0cdf6eea7fe311cf40f98235daa0427b63b098ffd61cf0bfac44287a5cacf81a5e799f4807074eb6a6d868fd6f35e7dd1313f3154","ssdeep":"384:NuoYQ+hStFKAD8LjW2KegDJbJiSFCJvkJrTKbA:YSPqW2KeuTKk","tlshash":"81c2e68af340717eba0b963c8746e1ec2748ec66d9024efef971e19045c27e652b6d1c","first_seen":"2026-06-30T21:57:43.46701Z","last_seen":"2026-07-28T06:17:53.401143Z","times_seen":228,"resource_available":false,"data":"LndyYXAtVWZER3loNUt7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MTAwJX0uYnV0dG9uLUk4ckFuWFRSLndpdGhUZXh0LUk4ckFuWFRSe3BhZGRpbmctYmxvY2s6MCAwO3BhZGRpbmctaW5saW5lOjVweCAxMHB4fS5idXR0b24tSThyQW5YVFIud2l0aG91dFRleHQtSThyQW5YVFIsLmJ1dHRvbi1oRHRJb3hqVXtwYWRkaW5nOjAgNXB4fS5ncm91cC1oRHRJb3hqVXtkaXNwbGF5OmNvbnRlbnRzfS5tZW51LWhEdElveGpVOm9ubHktY2hpbGR7cGFkZGluZzowIDVweH0uYmV0YUJhZGdlLWhEdElveGpVLC5uZXdCYWRnZS1oRHRJb3hqVXstLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLXdoaXRlKTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0uYmV0YUJhZGdlLWhEdElveGpVOmZpcnN0LWNoaWxkLC5uZXdCYWRnZS1oRHRJb3hqVTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjZweH0uYmV0YUJhZGdlLWhEdElveGpVey0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9LmxhYmVsLWhEdElveGpVe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0b30uY29udGFpbmVyLWhEdElveGpVLm5ld1ZpZXctaER0SW94alV7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmNvbnRhaW5lci1oRHRJb3hqVS5uZXdWaWV3LWhEdElveGpVLmRlc2t0b3AtaER0SW94alV7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5mdWxsLXVfUkFwbmlOLmxhc3QtdV9SQXBuaU4sLm1lZGl1bS11X1JBcG5pTi5sYXN0LXVfUkFwbmlOe21hcmdpbi1pbmxpbmUtZW5kOjdweH0uZHJvcGRvd24tTWJ3Qk1XRHl7bWluLXdpZHRoOjIwMHB4fS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5e3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDoxOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZTowfS5kcm9wZG93bi1NYndCTVdEeS5uZXdWaWV3LU1id0JNV0R5LnNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5ey0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubWVudS1NYndCTVdEeXttYXgtd2lkdGg6MzE0cHh9LmxhYmVsLU1id0JNV0R5e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uc21hbGxXaWR0aFRpdGxlLU1id0JNV0R5e21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6MnB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9LnNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeXtwYWRkaW5nOjZweCAxNnB4fS5zbWFsbFdpZHRoV3JhcHBlci1NYndCTVdEeTpub3QoLm5ld1ZpZXctTWJ3Qk1XRHkpe3BhZGRpbmctdG9wOjhweH0uc3RhdGVUaXRsZS1ya3ZrRll6Mntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSkpO2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjEwcHh9LnN0YXRlVGl0bGUtcmt2a0ZZejIuaGlkZGVuLXJrdmtGWXoye2hlaWdodDowO292ZXJmbG93OmhpZGRlbn0ubG9hZGVyLXJrdmtGWXoyey0tdWktbGliLWxvYWRlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXNhdmUtbGF5b3V0LWxvYWRlcix2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpKX0udmFsdWUtZHIzdkdpblR7Zm9udC1zaXplOjE0cHg7dGV4dC1hbGlnbjpzdGFydH0udmFsdWUtZHIzdkdpblQuc2VsZWN0ZWQtZHIzdkdpblR7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUpfS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSjpmaXJzdC1jaGlsZHttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS5sYXlvdXRJdGVtLUVYR18waGFKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzo0cHggMH0ubGF5b3V0SXRlbS1FWEdfMGhhSiAubGF5b3V0TWV0YS1FWEdfMGhhSntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi10b3A6MnB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LnRvb2xib3gtRVhHXzBoYUp7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O3BhZGRpbmctdG9wOjNweH0udG9vbGJveFNtYWxsLUVYR18waGFKe2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nLXRvcDo5cHh9LmxheW91dFRpdGxlLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0ubGF5b3V0SXRlbVdyYXAtRVhHXzBoYUp7cGFkZGluZy1ibG9jazoycHggMnB4O3BhZGRpbmctaW5saW5lOjhweCAxMHB4fS5sYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKe3BhZGRpbmctaW5saW5lLWVuZDoyMHB4fS5sYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKe2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZWxsaXBzaXMtRVhHXzBoYUp7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak17cGFkZGluZzo2cHggMTZweH0ubWVudUl0ZW0tcldCY2Qxak06aGFzKDpmb2N1cy12aXNpYmxlKSAucmVtb3ZlLXJXQmNkMWpNe3Zpc2liaWxpdHk6dmlzaWJsZX0ubWVudUl0ZW0tcldCY2Qxak0uc2lnbmFsLXJXQmNkMWpNe2FuaW1hdGlvbi1kdXJhdGlvbjouOHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLW5hbWU6aGlnaGxpZ2h0LWFuaW1hdGlvbi1yV0JjZDFqTTstLW1peGluLWlubmVyLWJhc2UtY29sb3I6IzAwMDA7LS1taXhpbi1pbm5lci1oaWdobGlnaHQtY29sb3I6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeSl9QGtleWZyYW1lcyBoaWdobGlnaHQtYW5pbWF0aW9uLXJXQmNkMWpNezAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItYmFzZS1jb2xvcil9MzAle2JhY2tncm91bmQtY29sb3I6dmFyKC0tbWl4aW4taW5uZXItaGlnaGxpZ2h0LWNvbG9yKX02MCV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1taXhpbi1pbm5lci1iYXNlLWNvbG9yKX10b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW1peGluLWlubmVyLWhpZ2hsaWdodC1jb2xvcil9fS5zaGFyaW5nTGFiZWxXcmFwLV9VQ2xRVHQ2e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS50aXRsZVNoYXJpbmdMYWJlbC1fVUNsUVR0NntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lmljb25XcmFwLV9VQ2xRVHQ2e21hcmdpbi1pbmxpbmUtc3RhcnQ6N3B4fS5pbmZvSWNvbi1fVUNsUVR0Nntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7ZGlzcGxheTpmbGV4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaW5mb0ljb24tX1VDbFFUdDY6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KX19LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLV9VQ2xRVHQ2OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0Njpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGVMYWJlbC1fVUNsUVR0NjphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fS5oaW50LV9VQ2xRVHQ2e2Rpc3BsYXk6ZmxleH0uYWNjZXNzaWJsZS1tRUdaQmZ1THtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1tRUdaQmZ1TDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtbUVHWkJmdUw6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmFjY2Vzc2libGUtbUVHWkJmdUw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0udGl0bGUtdHNUb2JzeXB7Y3Vyc29yOmRlZmF1bHR9LnNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2LC50aXRsZS10c1RvYnN5cHtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQpKTtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNHB4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZzoxMHB4IDIwcHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc21hbGxUYWJsZXRTZWN0aW9uVGl0bGUtb3VKSnNWVTZ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jb3B5TGluay1lM0JabVpYSHtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4O21hcmdpbjowIDEycHggNnB4fS5jb3B5TGluay1lM0JabVpYSCwuY29weUxpbmstZTNCWm1aWEg6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1icmFuZCk7ZmlsbDp2YXIoLS1jb2xvci1icmFuZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb3B5TGluay1lM0JabVpYSDpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1icmFuZC1ob3Zlcil9fS5jb3B5TGluay1lM0JabVpYSDphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2ZpbGw6dmFyKC0tY29sb3ItYnJhbmQpfS5jb3B5TGluay1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5jb3B5TGluay1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvcHlMaW5rLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS5jb3B5TGluay1lM0JabVpYSC5jb3B5TGlua01vYmlsZS1lM0JabVpYSHttYXJnaW46MCAyMHB4fS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEh7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1lM0JabVpYSDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtZTNCWm1aWEg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTtib3JkZXItcmFkaXVzOjZweH0uc2VjdGlvbi1DcVBRQmc0WnttYXJnaW46LTJweCAwfS5zZWN0aW9uLUNxUFFCZzRaOmZpcnN0LWNoaWxke21hcmdpbi10b3A6NHB4fS5zZWN0aW9uLUNxUFFCZzRaW2RhdGEtb3Blbj10cnVlXXttYXJnaW4tYm90dG9tOjRweH0uYWRkQ3VzdG9tSW50ZXJ2YWwtQ3FQUUJnNFp7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH0uYWRkQ3VzdG9tSW50ZXJ2YWxEZXNrdG9wLUNxUFFCZzRae3BhZGRpbmctYm90dG9tOjNweDtwYWRkaW5nLXRvcDozcHh9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVXVQdjp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1VdVB2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtVXVQdjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8xLVV1UHY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9Lm1lbnVCdG5XcmFwLXphcExoMHJSe2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG99Lm1lbnUtemFwTGgwclJ7bWF4LXdpZHRoOjM0MHB4fS5uZXdNZW51V3JhcHBlci16YXBMaDByUntwYWRkaW5nOjAgNnB4Oy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3A6MDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6MX0ubmV3TWVudVdyYXBwZXItemFwTGgwclIuZGVza3RvcC16YXBMaDByUnstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm9wZW5lZC16YXBMaDByUi5ob3Zlci16YXBMaDByUjpiZWZvcmUsLm9wZW5lZC16YXBMaDByUjphY3RpdmU6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLWJvcmRlci1yYWRpdXMsMCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7ei1pbmRleDotMX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm9wZW5lZC16YXBMaDByUjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0ub3BlbmVkLXphcExoMHJSLmNsaWNrZWQtemFwTGgwclI6YmVmb3JlLC5vcGVuZWQtemFwTGgwclI6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKSk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrfS5hdXRvU2F2ZVdyYXBwZXItemFwTGgwclIsLnNoYXJpbmdXcmFwcGVyLXphcExoMHJSe21pbi13aWR0aDpjYWxjKDEwMCUgLSAyMnB4KTt3aWR0aDoxOTJweH0uYnV0dG9uLXphcExoMHJSLmJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUntwYWRkaW5nLWlubGluZS1lbmQ6NnB4fS5idXR0b24temFwTGgwclJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLXdpZHRoOjY1cHh9LmhpbnRQbGFjZUhvbGRlci16YXBMaDByUntoZWlnaHQ6MTI4cHh9LnNtYWxsSGludFBsYWNlSG9sZGVyLXphcExoMHJSe2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSOmZpcnN0LWNoaWxke21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6NnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNob3J0Y3V0LXphcExoMHJSe2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWlubGluZS1lbmQ6MDt0ZXh0LWFsaWduOmVuZH0udG9vbFRpdGxlLXphcExoMHJSe3BhZGRpbmc6NHB4IDEycHh9LnRvb2xUaXRsZU1vYmlsZS16YXBMaDByUntwYWRkaW5nOjhweCAyMHB4fS50ZXh0V3JhcC16YXBMaDByUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udGV4dC16YXBMaDByUnttYXgtd2lkdGg6MTAwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LndpdGhJY29uLXphcExoMHJSe3BhZGRpbmctYm90dG9tOjJweDtwYWRkaW5nLXRvcDoycHh9LnN3aXRjaGVyTGFiZWwtemFwTGgwclJ7b3ZlcmZsb3c6dmlzaWJsZX0uZWxsaXBzaXMtemFwTGgwclJ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5idXR0b24tVTliMFRBczR7cGFkZGluZzowIDZweH0ubWVudUJ0bi1VOWIwVEFzNDpvbmx5LWNoaWxke3BhZGRpbmc6MCAxMHB4fS5kcm9wZG93bi1VOWIwVEFzNHttaW4td2lkdGg6MTQwcHh9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczR7cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9LmRyb3Bkb3duLVU5YjBUQXM0Lm5ld1ZpZXctVTliMFRBczQuZGVza3RvcC1VOWIwVEFzNHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVDb250ZW50LVU5YjBUQXM0e2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmdyb3VwLVU5YjBUQXM0e2Rpc3BsYXk6Y29udGVudHN9LmJ1dHRvbi13X2dES243Ty5pc0Rpc2FibGVkLXdfZ0RLbjdPe29wYWNpdHk6MSFpbXBvcnRhbnR9LmJ1dHRvbi13b0szVnhtbXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM3cHh9Lm5ld1ZpZXctcDVBbkcwR097cGFkZGluZzowIDZweDstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjA7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjF9Lm5ld1ZpZXctcDVBbkcwR08uZGVza3RvcC1wNUFuRzBHT3stLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9LmNvbnRhaW5lci1KUVowSEtENHtoZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDR7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cGFkZGluZy1pbmxpbmUtZW5kOjMwcHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tSlFaMEhLRDQ6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1KUVowSEtENDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYnV0dG9uLUpRWjBIS0Q0OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1KUVowSEtENDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1KUVowSEtENDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjNGE0YTRhMDAgMCx2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSAxMDAlKX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSlFaMEhLRDQ6aG92ZXIgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzRhNGE0YTAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkgMTAwJSl9fS5idXR0b24tSlFaMEhLRDQ6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uYnV0dG9uLUpRWjBIS0Q0OmFjdGl2ZSAudmFsdWUtSlFaMEhLRDQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmJ1dHRvbi1KUVowSEtENDphY3RpdmUgLnZhbHVlLUpRWjBIS0Q0OmJlZm9yZTpkaXIocnRsKXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgtOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKX0udmFsdWUtSlFaMEhLRDR7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS52YWx1ZS1KUVowSEtENDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzNkM2QzZDAwIDAsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2luc2V0LWlubGluZS1lbmQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS52YWx1ZS1KUVowSEtENDpiZWZvcmU6ZGlyKHJ0bCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCMzZDNkM2QwMCAwLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkgMTAwJSl9LmFjdGlvbi1KUVowSEtENHthbGw6dW5zZXQ7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjI0cHg7aW5zZXQtaW5saW5lLWVuZDowO291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjI0cHh9LmFjdGlvbi1KUVowSEtENDpmb2N1c3tvdXRsaW5lOm5vbmV9LmFjdGlvbi1KUVowSEtENDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWN0aW9uLUpRWjBIS0Q0OmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5hY3Rpb24tSlFaMEhLRDQ6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWN0aW9uLUpRWjBIS0Q0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY3Rpb24tSlFaMEhLRDQ6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7Ym9yZGVyLXJhZGl1czpjYWxjKDUwJSArIDRweCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5hY3Rpb24tSlFaMEhLRDQ6aG92ZXIgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX19LmFjdGlvbi1KUVowSEtENDphY3RpdmUgLmljb24tSlFaMEhLRDR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSl9Lmljb24tSlFaMEhLRDR7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyNHB4O3dpZHRoOjI0cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pY29uLUpRWjBIS0Q0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9fS5pY29uLUpRWjBIS0Q0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlKX0uYnV0dG9uLW80MHQ5TDVue3BhZGRpbmc6NXB4IDEwcHg7d2lkdGg6MTAwcHh9LmJ1dHRvbi1vNDB0OUw1bi5zbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVue3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udGV4dC1vNDB0OUw1bntmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3ZlcmZsb3c6aGlkZGVufS5zZWFyY2hCdXR0b24tbzQwdDlMNW4sLnRleHQtbzQwdDlMNW57bWFyZ2luOjAgNHB4O3dpZHRoOjEyOHB4fS5tZW51T3BlbmVkLW80MHQ5TDVuey0tY29sb3ItYWN0aW9uLWljb24tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKX0udXBwZXJjYXNlLW80MHQ5TDVue3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZGVzY3JpcHRpb24taFZTM0k5cnN7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MjgwcHg7bWluLXdpZHRoOjE3MHB4O3BhZGRpbmctYm90dG9tOjRweDt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaVpHNDojMDAwMH0ubGFiZWxSb3ctX3VYalNTUTV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6Y2FsYygxMDAlIC0gNjBweCl9LnRvb2xib3gtX3VYalNTUTV7bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS5kZXNjcmlwdGlvbi1fdVhqU1NRNXtwYWRkaW5nOjB9LmRlc2NyaXB0aW9uVGFibGV0U21hbGwtX3VYalNTUTV7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy1pbmxpbmUtZW5kOjU2cHh9Lml0ZW0tX3VYalNTUTV7bWFyZ2luLXRvcDotM3B4O3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLXRvcDowfS5pdGVtLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW0tX3VYalNTUTUsLml0ZW0tX3VYalNTUTU6YWN0aXZlLC50aXRsZUl0ZW0tX3VYalNTUTUsLnRpdGxlSXRlbS1fdVhqU1NRNTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1pWkc0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tX3VYalNTUTU6aG92ZXIsLnRpdGxlSXRlbS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtLV91WGpTU1E1e3Bvc2l0aW9uOnN0YXRpY30udGl0bGVJdGVtLV91WGpTU1E1OmZvY3VzLXdpdGhpbiAucmVtb3ZlLV91WGpTU1E1e3Zpc2liaWxpdHk6dmlzaWJsZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlSXRlbS1fdVhqU1NRNSAucmVtb3ZlLV91WGpTU1E1LmFjdGl2ZS1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKX19Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpiZWZvcmUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmJlZm9yZXtjb250ZW50Om5vbmV9Lml0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNSwuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZSwudGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUsLnRpdGxlSXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1OmhvdmVyLC50aXRsZUl0ZW1UYWJsZXRTbWFsbC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWlaRzQpfX0udGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTV7bGluZS1oZWlnaHQ6MjRweDtwYWRkaW5nLWJsb2NrOjRweCAwO3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1e2xpbmUtaGVpZ2h0OjE3cHg7cGFkZGluZy1ibG9jazoxcHggOHB4O3BhZGRpbmctaW5saW5lOjE2cHggMjBweH0uaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTV7Zm9udC1zaXplOjE2cHh9LndyYXAtX3VYalNTUTV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwLV91WGpTU1E1LmhvdmVyZWQtX3VYalNTUTUsLndyYXAtX3VYalNTUTU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXAtX3VYalNTUTU6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0ud3JhcC1fdVhqU1NRNS5ob3ZlcmVkLV91WGpTU1E1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1fdVhqU1NRNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LndyYXAtX3VYalNTUTU6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS53cmFwLXJCdEVmWlFJe3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0udGl0bGVXcmFwLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmluZGljYXRvcnMtckJ0RWZaUUl7bWFyZ2luLWlubGluZS1lbmQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjMzcHh9LnRpdGxlLXJCdEVmWlFJe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXB9LnRpdGxlLXJCdEVmWlFJIC5pY29uLXJCdEVmWlFJe2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmV9LnRpdGxlLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo1cHggMjBweH0udGl0bGVUYWJsZXRTbWFsbC1yQnRFZlpRSXtwYWRkaW5nLWJvdHRvbTo0cHg7cGFkZGluZy10b3A6NHB4fS50aXRsZVRhYmxldFNtYWxsLXJCdEVmWlFJIC50ZXh0LXJCdEVmWlFJe2ZvbnQtc2l6ZToxNnB4fS5sYWJlbFJvdy1yQnRFZlpRSXtmbGV4OjEgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5sYWJlbC1yQnRFZlpRSXtmbGV4OjAgMCAxMDAlO21pbi13aWR0aDoxMDAlfS5tZW51LXNXUDJYV0Ewe21heC13aWR0aDozNDBweH0ubWVudS1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmc6MCA2cHg7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDowOy0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZToxfS5tZW51LXNXUDJYV0EwLm5ld1ZpZXctc1dQMlhXQTAuZGVza3RvcC1zV1AyWFdBMHstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wOjE7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlOjB9Lm1lbnVTbWFsbFRhYmxldC1zV1AyWFdBMHttYXgtd2lkdGg6MTAwJX0ubWVudUl0ZW1IZWFkZXJUYWJsZXRTbWFsbC1zV1AyWFdBMHtwYWRkaW5nOjEwcHggMjBweCAycHh9Lm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGwtc1dQMlhXQTAubmV3Vmlldy1zV1AyWFdBMHtwYWRkaW5nLWlubGluZToxNnB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMHtjdXJzb3I6ZGVmYXVsdDttYXJnaW46MDtwYWRkaW5nLWJvdHRvbTozcHg7cGFkZGluZy10b3A6NHB4fS5tZW51SXRlbUhlYWRlci1zV1AyWFdBMC5uZXdWaWV3LXNXUDJYV0Ewe3BhZGRpbmctaW5saW5lOjhweH0ud3JhcC1ISjdTM1A0OS5mdWxsLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkuZnVsbC1ISjdTM1A0OSAubGFzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLWVuZDo3cHh9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5maXJzdC1ISjdTM1A0OXttYXJnaW4taW5saW5lLXN0YXJ0OjB9LndyYXAtSEo3UzNQNDkubWVkaXVtLUhKN1MzUDQ5IC5sYXN0LUhKN1MzUDQ5e21hcmdpbi1pbmxpbmUtZW5kOjdweH0uYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OXtwYWRkaW5nLWlubGluZS1lbmQ6N3B4fS5pY29uLW9ORGlRQ21Oe3BhZGRpbmc6NXB4fS5yb3ctWDZTMDNPVmp7cGFkZGluZzowIDEycHh9LnJvdy1YNlMwM09WajpsYXN0LWNoaWxke3BhZGRpbmc6MH0ucm93LVg2UzAzT1ZqOmxhc3QtY2hpbGQgLnJvd0lubmVyLVg2UzAzT1Zqe3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9LnNtYWxsUm93LVg2UzAzT1Zqe3BhZGRpbmc6MCAyMHB4fS5zbWFsbFJvdy1YNlMwM09WajpsYXN0LWNoaWxkIC5yb3dJbm5lci1YNlMwM09WantwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS5yb3dJbm5lci1YNlMwM09WanthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjFweH0ucm93TGFiZWwtWDZTMDNPVmp7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0KSk7Zm9udC1zaXplOjEzcHg7d2lkdGg6MThweH0uc21hbGxSb3dMYWJlbC1YNlMwM09Wantmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxNnB4O3dpZHRoOjE0cHh9LnJvd0J1dHRvbnMtWDZTMDNPVmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0ubGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WanthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjEwcHg7bWluLXdpZHRoOjIwcHg7cG9zaXRpb246cmVsYXRpdmV9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7Ym9yZGVyLXJhZGl1czo0cHg7Y29udGVudDoiIjtoZWlnaHQ6MjdweDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI5cHh9LmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09Wajpmb2N1cy12aXNpYmxlLmxheW91dEJ1dHRvbldyYXAtWDZTMDNPVmouYWNjZXNzaWJsZS1YNlMwM09WajpiZWZvcmV7b3V0bGluZS1zdHlsZTpzb2xpZH0uc21hbGxXaWR0aC1YNlMwM09WanttYXJnaW4taW5saW5lLWVuZDo3cHh9LnNtYWxsV2lkdGgtWDZTMDNPVmo6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5sYXlvdXRCdXR0b24tWDZTMDNPVmp7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO3BhZGRpbmc6NHB4fS5sYXlvdXRCdXR0b24tWDZTMDNPVmogc3Zne2Rpc3BsYXk6YmxvY2t9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5ob3ZlcmVkLVg2UzAzT1ZqLC5sYXlvdXRCdXR0b24tWDZTMDNPVmo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5sYXlvdXRCdXR0b24tWDZTMDNPVmouaG92ZXJlZC1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxheW91dEJ1dHRvbi1YNlMwM09Wajpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19LmxheW91dEJ1dHRvbi1YNlMwM09WajphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9LmxheW91dEJ1dHRvbi1YNlMwM09Wai5pc0FjdGl2ZS1YNlMwM09WantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9LnNtYWxsV2lkdGhMYXlvdXRCdXR0b24tWDZTMDNPVmp7cGFkZGluZzo3LjVweCA2LjVweH0ubGF5b3V0QnV0dG9ucy1YNlMwM09WanttYXJnaW4tYm90dG9tOjEwcHh9LmxheW91dEJ1dHRvbnMtWDZTMDNPVmosLnRvZ2dsZXItcDVHaTJoSTF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udG9nZ2xlci1wNUdpMmhJMXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7cGFkZGluZzoxNHB4IDE0cHggMTJweH0udG9nZ2xlci1wNUdpMmhJMS5ob3ZlcmVkLXA1R2kyaEkxLC50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50b2dnbGVyLXA1R2kyaEkxOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS50b2dnbGVyLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTF7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWlubGluZS1lbmQ6MTRweH0udG9nZ2xlci1wNUdpMmhJMSAubGFiZWwtcDVHaTJoSTEuY2VudGVyZWQtcDVHaTJoSTF7bWFyZ2luLWlubGluZS1zdGFydDo0MXB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSkpfS50b2dnbGVyLXA1R2kyaEkxLmNoZWNrZWQtcDVHaTJoSTEuaG92ZXJlZC1wNUdpMmhJMSwudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIpKX19LnRvZ2dsZXItcDVHaTJoSTEuY2hlY2tlZC1wNUdpMmhJMSBzdmd7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50b2dnbGVyLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbik7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWh0bWwudGhlbWUtZGFyayAudG9nZ2xlci1wNUdpMmhJMS5jaGVja2VkLXA1R2kyaEkxIHN2Z3tjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnN3aXRjaGVyTGFiZWwtcDVHaTJoSTF7b3ZlcmZsb3c6dmlzaWJsZX0uYnV0dG9uLVBWTHhLaElJe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM4cHh9LmRyb3Bkb3duLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApO2N1cnNvcjpkZWZhdWx0O21hcmdpbi1ib3R0b206LTZweDttYXJnaW4tdG9wOjdweH0ubGF5b3V0VHlwZS1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjNweDtwYWRkaW5nOjEwcHggMTJweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnRpdGxlLVBWTHhLaElJe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjEuNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LnN5bmNDaGFydHMtUFZMeEtoSUl7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4IDEycHh9LnN5bmNDaGFydHMtUFZMeEtoSUkubW9iaWxlLVBWTHhLaElJe3BhZGRpbmc6MTBweCAyMHB4fS50YWJsZXRXcmFwcGVyLVBWTHhLaElJe3BhZGRpbmctYmxvY2s6MCAxNnB4O3BhZGRpbmctaW5saW5lOjAgMH0uaWNvbi1QVkx4S2hJSXtkaXNwbGF5OmJsb2NrfS5pY29uLVBWTHhLaElJIHN2Z3tkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOm5vbmV9LnN5bmNMaXN0V3JhcHBlci1QVkx4S2hJSXttYXJnaW4tYm90dG9tOjEwcHh9LnN3aXRjaGVyLVBWTHhLaElJe2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2hlaWdodDozMnB4O3BhZGRpbmc6NXB4IDEycHh9LnN3aXRjaGVyLVBWTHhLaElJLm1vYmlsZS1QVkx4S2hJSXtoZWlnaHQ6NDBweDtwYWRkaW5nOjEwcHggMjBweH0uc3dpdGNoTGFiZWxXcmFwLVBWTHhLaElJe2Rpc3BsYXk6ZmxleH0uc3dpdGNoTGFiZWwtUFZMeEtoSUl7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0uaWNvbldyYXAtUFZMeEtoSUl7bWFyZ2luLWlubGluZS1zdGFydDo3cHh9LmluZm9JY29uLVBWTHhLaElJe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmZsZXh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pbmZvSWNvbi1QVkx4S2hJSTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlTGFiZWwtUFZMeEtoSUk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGVMYWJlbC1QVkx4S2hJSTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo2cHh9LmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24tRTJ2N1didW4ud2l0aG91dEljb24tRTJ2N1didW57cGFkZGluZzowIDVweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/33793.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.667Z","timestamp":1785136428667,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33793.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1111\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 04 Nov 2024 09:19:40 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:12:53 GMT\r\netag: \"788ee50bb0546f0424b1a69d0261366b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 14456\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 4FDixqOAB098oZRZWyDKmYBTrdZqnyaoQF860FztwWqWE9Gt3AtfrA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":1111,"size_decoded":1645,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"788ee50bb0546f0424b1a69d0261366b","sha1":"2604f3f320abe86452e5e2b95d75a69da69fa17d","sha256":"acaa78a48c7e360e07aaa47bae9524f0cdcc600c2d032aabcfaa4b4e540862b3","sha512":"3a697f6c1db55971f4df1b890dfca7c8b4648f405c9a146dc1b046a222b0bcd4a8845517f81464a8b9c0608019532c2ce870ec39eae9377cb4dd80763d4bcd6e","ssdeep":"","tlshash":"9621f9675554cbbc530680b2940bbce731dec21caf114199d8c26126101188c7a1e2c5","first_seen":"2026-03-04T08:47:10.82974Z","last_seen":"2026-08-11T04:47:30.084747Z","times_seen":1504,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEHklEQVR4Xu2bv2sUURDH8yfExMJGCdhoI3enjbHZImkSEAU1jaBWEhEUrxZtQqxMOgWFaJPGIimsBEkjWKa2SuEfcH9C3Hd4y97nzb6d92M3G8jAp7md+c7Mu9u3+3bfzcy0ZINs7mU/mxvlHNcwyn3fMv7U2SA7vyU0F8Qgm9+hfmeNxaeG+TphvWxhloU2TS+7sMA6Wrd+Nn/AwtomPz32WFcrxkJOGtbXmOUzdLLJLTVm4mW9Se16NveCSbtG/gW9Yd1JLBc/ZDJflu5dPP5++OT499/nIubY2vpVKy6AQ9YfZbngkZBExdcfD6xGtZgBoZ4HR+wjyPoB3/yt1QtWM7EE/jLifgnmfBJEnbDw1DBfHeYWnH2pzHe2Z6FNw/wugq4OFHHB4tqCdbhgf05jcBVNnOu+LN2/ZNVVBfsUbZCd22OgRBean6AfhPkD9muZHSTDIlJiLp3MV5eTvlWw3ykzKywGSDB5KtbWr1i5iOtGir4SZuXKvgujs8TPP0+txLEM39208rhgfBn6SrDvwugowYSxUF/D4kr1/ENfCfY9NjpJMFkM1PaFer7a7L/VAaBuCNQso7ltnmrePHSkA2GSUKgbCnUJ/Une83YxADwowQQhUDMGahP6S6gH4P3uqpXAF2rGQn2iWUqrB4DivlAvBcwhwRgybt68heEBQmEfzFMg6sVibn2ZR4JxZLxU7iteV1FYy8bnZUsrBdqbsduPLluxYFT789/4tGwJa9jaXbG0UsFcVajmAX5AtKNNqJMK3wmZ8aR2ACiogRpd5mwA+AFhc3UwvuucDQA/IK4HECRm5qdWKpiH1A6Az2WQsT5QKwVVj9bKJL0RYpwv1IvFPLhlDjCabF7iAe/CNGtwLT6nnQvqkmIzFg8QCkswJgXM4Qv1iHo1ONxctMQJY2Khvi8f9+9YmkQ9AAYmIPSPgdohUFOiGID8XNjmQcIEhP6hUDcU6pK8551iAIzRQYJJfBJqoGYommcQU813YQCoFwO1Jdj/2OgkwWQThpt+b3fq9EKhvgT7LoyOEt9+PbSS+iSf8GH/rhUfi3l2wTwS7LuwXjar2vLKxGXoS8xjMsakgrkk8h4X2PeUMaAKJi/zKr9vKPs+Hl6zfFLD+qpgv5b57P9lEScF66pCva+YgS5YTNuwHhfs02kMdsGi2oJ1uGB/taa5OyyTagWnQfO4u0yv/CLUx3qKpTJhsalhvjp6sf8/6gdslTWw8FioryRuq+zE+hGbpZ+9vmE1o8Usw6nnwRH7iLJ+4C+BmKaku0lzXkc2XCbNN08z55OQrFOYeYt1JzXfq0ObBM/2IcbkJw3ra8W0+4qbRbH/t2kzKyy7sGYxK1fW0Qljoalhvs5aXuwXFh+KmXipf+rs/2as2tdwxqfxS1nJ/gEsT1LO5BS32AAAAABJRU5ErkJggg=="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31001.c522294d3a28d9ca151c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.391Z","timestamp":1785136429391,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31001.c522294d3a28d9ca151c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4231b8-8cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 29 Jun 2026 08:50:00 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/29/2026 10:50:36\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6e83cbd72f517b5311cdd387965d5899\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2251,"size_decoded":1671,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2251), with no line terminators","md5":"6802e4f2b88f1b95b3c00f50a4733ffa","sha1":"647de376bdd1c6a00b3bda320180479f481eed40","sha256":"721bbd1ae2d8cabdcddb25c2c5ec1eac0fe34d80a62a58972723c006890ced6d","sha512":"47c3f5437805efa03927e47dda89e1716a920079d2309e3a9f9c91d01c60801556de3a55308e1f97f5eaa074cc0a0852bb4a7e3550f91850ebfef6726f80e95e","ssdeep":"","tlshash":"85415288f35090a77cd78cbad397560d2a08fe33d91086fee50d991892c2ae36111b18","first_seen":"2026-06-29T12:05:37.516387Z","last_seen":"2026-07-28T06:17:53.40681Z","times_seen":207,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaG5IeTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1fMS1obkh5OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLV8yLWhuSHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tXzMtaG5IeTp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnN1YnRpdGxlLWJMVEJoQ3dKe2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9LnN1YnRpdGxlLWJMVEJoQ3dKIC50ZXh0LWJMVEJoQ3dKe2ZsZXg6MSAwIDA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnN1bW1hcnktYkxUQmhDd0p7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjc3ZGVnLCNmZmYwIDcwLjAyJSwjZDUwMGY5MWEgMTAwLjIxJSksbGluZWFyLWdyYWRpZW50KDI2M2RlZywjZmZmMCA2OS45MyUsIzAwZTVmZjFhKSxsaW5lYXItZ3JhZGllbnQoNzlkZWcsI2ZmZjAgNjUuODQlLCNkNTAwZjkxYSksbGluZWFyLWdyYWRpZW50KDEwMWRlZywjZmZmMCA2NS45JSwjMDBlNWZmMWEgMTAwLjEzJSk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDttYXJnaW4tYm90dG9tOjhweDtwYWRkaW5nOjhweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO2xpbmUtaGVpZ2h0OjE4cHh9LnN1bW1hcnktYkxUQmhDd0o6Zmlyc3QtY2hpbGQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWEyMDApO2NvbnRlbnQ6IiAiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7bWFzay1pbWFnZTp1cmwoc2l6ZV8xOHB4X19maWxsZWRfb25fX3R5cGVfZG91YmxlLmU2M2FmZDYzMGNkYWM4Zjc0ZWM4LnN2Zyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3dpZHRoOjE4cHh9Lmdyb3VwLWJMVEJoQ3dKe3BhZGRpbmctdG9wOjEycHh9Lmdyb3VwSWNvbi1iTFRCaEN3Sntib3JkZXItcmFkaXVzOjlweDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjdweDt2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MThweH0uZ3JvdXBJY29uLWJMVEJoQ3dKLmJlZm9yZU1hcmtldE9wZW4tYkxUQmhDd0p7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCk7Y29sb3I6dmFyKC0tXzAtaG5IeSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ncm91cEljb24tYkxUQmhDd0ouYmVmb3JlTWFya2V0T3Blbi1iTFRCaEN3Sjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLW5vcm1hbCl9fS5ncm91cEljb24tYkxUQmhDd0ouYWZ0ZXJNYXJrZXRDbG9zZS1iTFRCaEN3SntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2NvbG9yOnZhcigtLV8yLWhuSHkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ3JvdXBJY29uLWJMVEJoQ3dKLmFmdGVyTWFya2V0Q2xvc2UtYkxUQmhDd0o6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbCl9fS5ncm91cFRpdGxlLWJMVEJoQ3dKe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lmdyb3VwUm93LWJMVEJoQ3dKe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9Lmdyb3VwQ2VsbC1iTFRCaEN3SntmbGV4OjEgMCAwfS5ncm91cC1iTFRCaEN3SiAudGV4dC1iTFRCaEN3Sntmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10385.8744d4f8670dac310d1f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.802Z","timestamp":1785136429802,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/10385.8744d4f8670dac310d1f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 82\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1fa2a4366d055a67634e499157d21b65\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/sdp.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.060Z","timestamp":1785136422060,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/sdp.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7041\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":7041,"size_decoded":7382,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"1de31eed42c905cb50efeaa3b0867971","sha1":"b6900584d92b9195ff712c3ae50efd3cb8a15024","sha256":"202bd8779bf86f2cc8aa58bcea4205c02dedf22fcffd4cc1506b84716f9a26c4","sha512":"36018bfa72efb0f8ae377ec3e736347e162175ff97d2a8d8e66c5dd23941082a8700b76385e87af25b2d641031190fb30041bb3c388f75ab6a57b814fb16fbe4","ssdeep":"192:jDTENVjlNxURvszznYn1UBmOMr6Ok6jEodhCnHN:jC9G2zUY0EoGnt","tlshash":"09e19f54e9a71408d6a0826328b7985a338dedf77b47b6db2fe906ce415870c5c58834","first_seen":"2025-12-03T04:46:43.784692Z","last_seen":"2026-07-29T06:14:00.380022Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4262,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4262,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=heavenwealth.org%2F\u0026ancestor-origin=heavenwealth.org\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"92.223.127.157","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.320Z","timestamp":1785136428320,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=heavenwealth.org%2F\u0026ancestor-origin=heavenwealth.org\u0026api_key=tradingview HTTP/1.1\r\nHost: widgetdata.tradingview.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://s.tradingview.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: HF4Fdc8Lpauni+1iqFZODw==\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: same-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:13:48 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: h+h6MVoPWsHj5V7G6W4f08Jl/ok=\r\nsec-websocket-extensions: permessage-deflate\r\nupgrade: websocket\r\nServer: tv\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-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":99,"timings":{"blocked":-1,"dns":3,"connect":22,"send":0,"wait":23,"receive":0,"ssl":51},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/11419.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.662Z","timestamp":1785136428662,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/11419.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1176\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:37:24 GMT\r\nlast-modified: Fri, 10 Jul 2026 07:52:55 GMT\r\netag: \"39ab3ac48aa1693b8a5aef2412aadae4\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 12985\r\nx-amz-cf-id: lECBEewSzOpX7lwnC8OOpB90vfvx8VxFEglef44XlxjBxqBd-t1RGA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":1176,"size_decoded":1731,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"39ab3ac48aa1693b8a5aef2412aadae4","sha1":"fc0e587e8aca14afd2ecc7950111fdd1d7c97a3c","sha256":"f356723070d7f2a47075c065b9585f5cbbbe2a8eaa090c73e60aab31259c877b","sha512":"5ba8f010481a41b1151310cd650ff6c29420b432930114400c6fb1d0d8b707f082a002f43d5e0f862a302a5643db75ac1587d67338083bbf1e1a3e47284a7e3e","ssdeep":"","tlshash":"e22106a3eb5a2ee2c87c4d382d472406a4bb1cec70e06e16e132c29c78d280ca8b0120","first_seen":"2026-07-10T15:09:07.671192Z","last_seen":"2026-08-11T04:47:30.098541Z","times_seen":1115,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEX0lEQVR4Xu2YT0gUURzHpVN1qENFdKxbIbszu1lU9AeqWxYR0SWiLp06BEHH2EjIqGMoRbU7syrmQcsIQyL6R2V/KKIsDY1SzC3toPNnd3T39Xu7as5vxp2ZnZ0/ynzgi7jz5r33fe/3+82bqagICAgICAgIKAUmLlaxvHie4aQm+NsO6nBJ7XTMMIwdSYhRPC/HYeICAxN4xnAi8YNYXnoa4YQQnqcjhDnhKAyaxpPwgdJ0bni+ZYVJCntZTpzUGdwXys8N5ojnXRbYW+OrYIBfeFC/ic5xE0dW4PnbhuGE23gwv4rlhGY8f1tEeLGa4cUcHsi3grlGOHEf9lES0RayHDod0AzisCCUyf42mUST2msmNbi5YXQZ9mMZ6KhOp3PHVfMyQyiJTxOaaxZUh/1YIpKUt0MnWZ2OHRXd/c8j2fwCjMo5sqlB28akstQD9mWKXXGyGApft06njuvQXZnk8vYLnH6U1rQxKzgbfKFesD9D4Lh5AXfmluIQ9rN5+GNS08aKqBfsryjsTSEMNyq4IzcEkyW/pdn7T4gC2bCzWdK0tSCFTQph7FOXWIwsgnN+l04nrujUw7TK/DQXuxRNW4vqot6wXw3wYnFG52bX1NE/ib3n6YaiiNtaFfWG/aqoupVex/DSOL7RDVXB8/7skwzJFIq/LpdfK2RLo41UAG8hXl6LfReIxRbBCapTc5PDOnJPJo3dE2REVuf9XAgKIXe+TZATD+R8vcD9GSohdFKv2H4FFIljmsYOaXeLRK68UUjP3yLbbYKBsRyp/6CQ6lZZM0YxsUn5mMp8tGlsJez+H9zQCV19r5AJe741ZCF4WnvNnxjhoDVCPc8sAOTGJdzIKd3vUz/jy8XHP9aKJMtJtTMLAP98wQ2cUqHYpcnTgUnbkUB3/t1wlsReZMi2JmvFkXr+HwEJoRc3cEN7pmrB11FrK/FzKvf3tVozrZbU838BPHrjm63D7XI+j4vxGKLmeEeaREqp/kjhhFg/swDwzr0GfhzEjbzQ22H9aBgScmUxPqXByiayemYBKGxDZgNcSOk0dlXnnhe+A2Cuf7R9FJ5WinpVmZ8mxGcqaQOdm1zTVjjpiSgT6BHpQJu1Z/0cSlGP2LeKjT5YhPY+9fvAh9/WHnFzKEW9Yb+6hPhxTxfhZKf6jbDmVUbTxqJS1BP2WRQvIyEKxe6XUHg3oN8Cdtj7FmB+5zFe1oQbUPQoD77b+hpknPNGeBUJ9LW3tiuTf3HC10yq9J3HeF0TSpD1nDfCq0goQeXbeYyXNcGk7Oe8ET6OBOd2HuPDmlD+nDfCR5Hg3s5jfFATnM95IzyMBO92HuNBTXA/541wMRL8s/MYF2qC9zlvhIOR4N+dxzhQE/yX80aUMRLmz85jylAT/J/zRtiIhPm785gSasL8y3kjLETCwtl5jImaMP9z3ogikbBwdx4T4cfXM7zYN8t8P/0Nt1vQRK8NLQ1z0kGqLS1kCb4eEBAQ4Ab/ACidG3skOUS6AAAAAElFTkSuQmCC"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/75217.8bfd234354863130e2e0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.213Z","timestamp":1785136429213,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/75217.8bfd234354863130e2e0.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-c52\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d03f1f665e6e9b942509c7fd2ca025cf\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3154,"size_decoded":1710,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3154), with no line terminators","md5":"3769691bb164341f7e317cc239ff0c44","sha1":"30fb0806e24700cbe465c6e23625f8c54f7d81d0","sha256":"5a44f7b43f7cddd61283088bc8588ab2e403da2614a2b11033b868fe41252f57","sha512":"af441b79c8ec24b217485a344904104dfdbeeb191c486f83c61059638f6ec7ad8d10444382314e3be3339643770c1e016f64a4d41c108fe0d4c7b3ca23c23d93","ssdeep":"","tlshash":"d1512130e7e9ebbb7e1e9612f38082caa443de56da1e8cb65c87d59190d05c106313fd","first_seen":"2026-06-17T17:50:59.571321Z","last_seen":"2026-07-28T06:17:53.427008Z","times_seen":441,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTjVoMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU41aDM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBvcHVwV2lkZ2V0V3JhcHBlci1BNHYwZGwxN3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5wb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3ey0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGg6MzgwcHg7LS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aDptaW4oMzgwcHgsdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcldpZHRoLDBweCkpfS5wb3B1cFdpZGdldC1BNHYwZGwxN3tib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOmNhbGModmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcsIDBweCkqLTEpO21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZywgMHB4KSotMSk7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTc6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbToxMHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDoxMXB4fUBtZWRpYSAobWluLXdpZHRoOjQ0MHB4KXsucG9wdXBXaWRnZXQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7bWF4LXdpZHRoOjM1NHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNy5tb2JpbGUtQTR2MGRsMTd7bWF4LXdpZHRoOjEwMCV9LnBvcHVwV2lkZ2V0LUE0djBkbDE3e21heC13aWR0aDozNDRweH19LnBvcHVwV2lkZ2V0LUE0djBkbDE3Om5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tXzAtTjVoMyl9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5kZXNjLUE0djBkbDE3e2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3e2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJsb2NrOjJweCAycHg7bWFyZ2luLWlubGluZTowIDZweDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3LnNtYWxsLUE0djBkbDE3e2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tib3JkZXItcmFkaXVzOjExcHg7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmljb24tQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Ym9yZGVyLXJhZGl1czo4cHg7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDtkaXNwbGF5OmZsZXg7Zm9udC13ZWlnaHQ6NjAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tYm90dG9tOjRweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1ib3R0b206MnB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTcsLnBvcHVwV2lkZ2V0LUE0djBkbDE3IC50ZXh0LUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuaXRlbS1BNHYwZGwxNzpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiAifS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuYm9sZEl0ZW0tQTR2MGRsMTd7Zm9udC13ZWlnaHQ6NzAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3e2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTttYXJnaW4tdG9wOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbi1BNHYwZGwxNy5zbWFsbC1BNHYwZGwxN3tmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3LC5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3e2N1cnNvcjpwb2ludGVyfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uQnRuLUE0djBkbDE3e2FsaWduLXNlbGY6c3RhcnQ7bWFyZ2luLXRvcDo4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5hY3Rpb25zLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbnMtQTR2MGRsMTcgLmFjdGlvbkJ0bi1BNHYwZGwxN3ttYXJnaW4tdG9wOjhweH0uYWRkaXRpb25hbFdpZGdldC1BNHYwZGwxN3ttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5hZGRpdGlvbmFsV2lkZ2V0LUE0djBkbDE3Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.816Z","timestamp":1785136429816,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/1676.34884beb8e6dc4c6c0b1.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-2ee\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0e5fc83649d6c3b6ab7ee96f7f7c2319\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/images/logo.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.042Z","timestamp":1785136422042,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /images/logo.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Tue, 19 Nov 2024 11:28:20 GMT\r\naccept-ranges: bytes\r\netag: \"c10d622763adb1:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 49118\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":49118,"size_decoded":49460,"mime_type":"image/png","magic":"PNG image data, 1317 x 384, 8-bit/color RGBA, non-interlaced","md5":"7c3d7d417055eb8be2b6206f4c58b194","sha1":"f2415ca5e3aaea40b7bc1db9d74a2c18adc0a897","sha256":"d51c708963421ec9eb5e66e4975e2841012c3f4dd4daf337ead4e66428ab86f3","sha512":"abf70cd92a129d60a557f827cc8fdab2ac3de1e7fb5060ffb1d3ffe64a86dd09b7bd8f66e285080b08fa1815ee3b0760d5404249ac4a236a65099c24b1465838","ssdeep":"768:Q99UMkYNRNUTinGuHi93DgW/Fn9qOcFXDxCDHIVgDgCk0f36bsEl:Q9bNUToC9z1/FngOc9xCE8gCffKll","tlshash":"d423e200e6bb5cad8b0060efb397443a324595ef869b18764fd1134919b4aa1ff1b3f6","first_seen":"2026-07-27T04:30:37.022875Z","last_seen":"2026-07-27T11:13:26.114826Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":1768,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1411,"receive":357,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93426.0083d163d728bff784d9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.757Z","timestamp":1785136427757,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93426.0083d163d728bff784d9.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-dfef\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aecf0f111c7f6b366034aab2fd68109d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":57327,"size_decoded":21041,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3069)","md5":"2d347eb2f7b046ec91197c1181d0e178","sha1":"fa3f74deaffe52fd98be22519cbaf8bdaab25947","sha256":"fb7eabec75f8061e8b8fc70989b366069567cd7a0d2cd1a967ea3d6ca229cd65","sha512":"6dfe90357513672ec3cb8f8c8d0c67ae193c641e15eaeb723bf4a2748ee7b3d22bb3fdf28d26b845a0b94c9893fac86c325ec3b65c99d6c7edc47634f2033447","ssdeep":"1536:6J/J5J4hb3JAHbuOrju2mA83n6XAtKD/BHJMs3v5c1W0U9z51qKrDGwPzPAIF7Vg:vhb3JAHtVmAdDUgQlbF","tlshash":"c6430856b251246721da00eba077100bba3e55d5744484bdb13cdcce26aec8eb2b7fbd","first_seen":"2026-07-23T13:54:09.127319Z","last_seen":"2026-07-28T06:17:53.420467Z","times_seen":309,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTM0MjZdLHsyNzcwMjkoZSx0LG8peygwLG8oMzYzMjY5KS5zZXRDbGFzc2VzKSgpfSw4NDI5ODMoZSx0LG8pe3ZhciBuPW8oMTUyNjk5KSxpPW8oMzg2OTMxKSxzPW8oMzg0MDE3KSxyPW8oMTUwMTUwKSxhPW8oMTYwMjk2KSxsPW8oOTMyMzY1KSxjPW8oMjIxMDYxKTtjb25zdCBoPSgwLGMuZ2V0TG9nZ2VyKSgiQ29tbW9uLkV2ZXJjb29raWUiKTtvKDQ2NzE1OCk7Y29uc3QgZD1uZXcgd2luZG93LmV2ZXJjb29raWUoe2RvbWFpbjooMCxhLmlzUHJvZCkoKT8iLnRyYWRpbmd2aWV3LmNvbSI6bG9jYXRpb24uaG9zdG5hbWUsbHNvOiExfSksdT0oMCxjLmdldExvZ2dlcikoIkNvbW1vbi5FdmVyY29va2llIik7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgbT0vXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVsxLTVdWzAtOWEtZl17M30tWzg5YWJdWzAtOWEtZl17M30tWzAtOWEtZl17MTJ9JC9pO2NsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLl9jb29raWVOYW1lPSJ0dl9lY3VpZCIsdGhpcy5fZW52PW51bGwsdGhpcy5jaGVjaz0oKT0+e2lmKHRoaXMuX2lzRWNOb3RBdmFpbGFibGUoKXx8bC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfdHZfZWNfaWdub3JlX3VzZXJuYW1lIik9PT13aW5kb3cudXNlci51c2VybmFtZSlyZXR1cm47Y29uc3QgZT13aW5kb3cudXNlci5pZDt0aGlzLl9nZXRFY1VpZHMoKS5jYXRjaCgoZT0+e3UubG9nV2FybihgRXJyb3IgdGhyb3duIGluc2lkZSBnZXRFY1VpZHMoKS4gTGVhdmUgZXZlcmNvb2tpZSBkYXRhIHVudG91Y2hlZC4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSkudGhlbigodD0+e2lmKHZvaWQgMD09PXQpcmV0dXJuIHZvaWQgdS5sb2dXYXJuKGBnZXRFY1VpZHMoKSByZXR1cm5lZCBubyBkYXRhLiBMZWF2ZSBldmVyY29va2llIGRhdGEgdW50b3VjaGVkLiBVc2VyOiAke3dpbmRvdy51c2VyLnVzZXJuYW1lfSAoJHt3aW5kb3cudXNlci5pZH0pYCk7bGV0IG49dC5sb2NhbEVjVWlkO2NvbnN0IGk9dC5yZW1vdGVFY1VpZHM7biYmbS50ZXN0KG4pfHwobj0oMCxyLmd1aWQpKCksZC5zZXQodGhpcy5fY29va2llTmFtZSxuKSk7Y29uc3QgYT10PT57dC5zdWJzY3JpcHRpb25fY2FuY2VsZWQmJlByb21pc2UuYWxsKFtvLmUoNDkzODApLG8uZSg1MjM5Niksby5lKDIwMzU0KSxvLmUoNzQ4MzApLG8uZSgxODQwMCksby5lKDQzNDMzKSxvLmUoMzIzODcpLG8uZSg0ODAyNyldKS50aGVuKG8uYmluZChvLDY2NTMxOCkpLnRoZW4oKGU9PmUuY3JlYXRlVHJpYWxDYW5jZWxlZERpYWxvZygpKSksZT09PXdpbmRvdy51c2VyLmlkJiZ0LmlzX3N1c3BpY2lvdXM/bC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKCJpc19zdXNwaWNpb3VzIiwiMSIpOmwuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiaXNfc3VzcGljaW91cyIpfTtpJiYwIT09aS5sZW5ndGgmJi0xIT09aS5pbmRleE9mKG4pfHxlIT09d2luZG93LnVzZXIuaWR8fGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IEZvcm1EYXRhO3JldHVybiB0LmFwcGVuZCgiZWN1aWQiLGUpLCgwLHMuZmV0Y2gpKCIvYWNjb3VudHMvc2V0LWVjdWlkLyIse2JvZHk6dCxjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIn0pLnRoZW4oKGU9PntpZihlLm9rKXJldHVybiBlLmpzb24oKS5jYXRjaCgoZT0+e2gubG9nV2FybihgRXJyb3IgaW4gcmVwb25zZS5qc29uKCkgb2YgL2FjY291bnRzL3NldC1lY3VpZC8uIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlcbkFjdHVhbCBlcnJvcjogJHtlfWApfSkpO3Rocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIHNldCByZW1vdGUgZWN1aWRzLiBSZXNwb25zZSB3YXMgbm90IE9LIil9KSl9KG4pLnRoZW4oYSl9KSkuY2F0Y2goKGU9Pnt1LmxvZ0Vycm9yKGUubWVzc2FnZStgIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKX0pKX0sdGhpcy5faXNFY05vdEF2YWlsYWJsZSgpfHwodGhpcy5fZW52PSgwLGEuZW52aXJvbm1lbnQpKCksKDAsYS5pc0RlYnVnKSgpJiYodGhpcy5fY29va2llTmFtZSs9Il8iK3RoaXMuX2VudikpfV9pc0VjTm90QXZhaWxhYmxlKCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldy5vbldpZGdldD8uKCl8fCF3aW5kb3cudXNlcn1fZ2V0TG9jYWxFY1VpZCgpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+e2QuZ2V0KHRoaXMuX2Nvb2tpZU5hbWUsKHQ9PntlKHQpfSkpfSkpfV9nZXRFY1VpZHMoKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57bGV0IG87dGhpcy5fZ2V0TG9jYWxFY1VpZCgpLnRoZW4oKGU9PihvPWUsZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxvKT0+e2NvbnN0IG49bmV3IEZvcm1EYXRhO2UmJm4uYXBwZW5kKCJsb2NhbF9lY3VpZCIsZSksKDAscy5mZXRjaCkoIi9hY2NvdW50cy9nZXQtZWN1aWQvIix7Ym9keTpuLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QifSkudGhlbigoZT0+e2lmKGUub2spcmV0dXJuIGUuanNvbigpLmNhdGNoKChlPT57aC5sb2dXYXJuKGBFcnJvciBpbiByZXBvbnNlLmpzb24oKSBvZiAvYWNjb3VudHMvZ2V0LWVjdWlkLy4gVXNlcjogJHt3aW5kb3cudXNlci51c2VybmFtZX0gKCR7d2luZG93LnVzZXIuaWR9KVxuQWN0dWFsIGVycm9yOiAke2V9YCl9KSk7dGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2V0IHJlbW90ZSBlY3VpZHMuIFJlc3BvbnNlIHdhcyBub3QgT0siKX0pKS50aGVuKChlPT57dChlKX0pKS5jYXRjaCgoZT0+e28oZSl9KSl9KSl9KGUpKSkpLnRoZW4oKHQ9PntpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcihgZ2V0UmVtb3RlRWNVaWRzKCkgcmV0dXJuZWQgbm8gcmVzcG9uc2UuIFVzZXI6ICR7d2luZG93LnVzZXIudXNlcm5hbWV9ICgke3dpbmRvdy51c2VyLmlkfSlgKTtlKHtsb2NhbEVjVWlkOm8sCnJlbW90ZUVjVWlkczp0LmVjdWlkc30pfSkpLmNhdGNoKChlPT57dChlKX0pKX0pKX19dmFyIF89byg2MTM4NzApLHA9bygyMzk3MTkpLGY9bygzMTg5NzQpLHc9bygxMTczMTMpLHY9byg3MjcwOSkseT1vKDIzNTcyNCksYj1vKDkyNjk5NSk7dmFyIFM9bygxNzk3NzEpLE49bygzNDQ3ODUpLFQ9byg3NDk2NDgpO2Z1bmN0aW9uIEUoZSx0PSJ4Iil7bGV0IG89ITE7cmV0dXJuIngiIT09dCYmImJvdGgiIT09dHx8KG89b3x8ZS5vZmZzZXRXaWR0aDxlLnNjcm9sbFdpZHRoKSwieSIhPT10JiYiYm90aCIhPT10fHwobz1vfHxlLm9mZnNldEhlaWdodDxlLnNjcm9sbEhlaWdodCksb31mdW5jdGlvbiBDKGUsdD0ieCIpe2Zvcihjb25zdCBvIG9mIEFycmF5LmZyb20oZS5jaGlsZHJlbikpaWYobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoRShvLHQpfHxDKG8sdCkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHgoZSl7bGV0IHQ9IngiO3JldHVybiBlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1kaXJlY3Rpb25fYm90aCIpP3Q9ImJvdGgiOmUubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAtLWRpcmVjdGlvbl95IikmJih0PSJ5IiksdH1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtb3ZlcmZsb3ctdG9vbHRpcC1odG1sIik7aWYodClyZXR1cm57dHlwZToiaHRtbCIsZGF0YTp0fTtjb25zdCBvPWUuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJmbG93LXRvb2x0aXAtdGV4dCIpO2lmKG8pcmV0dXJue3R5cGU6InRleHQiLGRhdGE6b307aWYoZS5tYXRjaGVzPy4oIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1hbGxvdy10ZXh0Iikpe3JldHVybnt0eXBlOiJ0ZXh0IixkYXRhOmUudGV4dENvbnRlbnR8fCIifX1jb25zdCBuPUFycmF5LmZyb20oZS5jaGlsZE5vZGVzKS5yZWR1Y2UoKChlLHQpPT4odC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZlLnB1c2godC50ZXh0Q29udGVudHx8IiIpLGUpKSxbXSkuam9pbigiIikudHJpbSgpO3JldHVybiBuP3t0eXBlOiJ0ZXh0IixkYXRhOm59Ont0eXBlOiJub25lIn19ZnVuY3Rpb24gRChlLHQpe2xldCBvPSExO2NvbnN0IG49ZS5jaGlsZHJlbjtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7Y29uc3QgaT1uW2VdO2lmKGkgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmRShpLHQpKXtvPSEwO2JyZWFrfX1yZXR1cm4gb31mdW5jdGlvbiBGKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC1mb2N1cyIpfHx0LnF1ZXJ5U2VsZWN0b3IoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLWZvY3VzIikpKXtjb25zdCBlPXQubWF0Y2hlcygiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKT90OnQucXVlcnlTZWxlY3RvcigiLmFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKSxvPXgoZSk7aWYoZS5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUMoZSxvKSlyZXR1cm59ZWxzZSBpZihlLm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRChlLG8pKXJldHVybn1lbHNlIGlmKCFFKGUsbykpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKGUpfSk7Y29uc3Qgbj0oKT0+eygwLE4uaGlkZSkoKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbil9O3QuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKX19KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsKGU9Pntjb25zdCB0PWUudGFyZ2V0O2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpKXtjb25zdCBlPXgodCk7aWYodC5tYXRjaGVzKCIuYXBwbHktb3ZlcmZsb3ctdG9vbHRpcC0tY2hlY2stY2hpbGRyZW4tcmVjdXJzaXZlbHkiKSl7aWYoIUModCxlKSlyZXR1cm59ZWxzZSBpZih0Lm1hdGNoZXMoIi5hcHBseS1vdmVyZmxvdy10b29sdGlwLS1jaGVjay1jaGlsZHJlbiIpKXtpZighRCh0LGUpKXJldHVybn1lbHNlIGlmKCFFKHQsZSkpcmV0dXJuOygwLE4uc2hvd09uRWxlbWVudCkodCx7Y29udGVudDpMKHQpfSk7Y29uc3Qgbz0oKT0+eygwLE4uaGlkZSkoKSxbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxvKSkpfTtbIm1vdXNlbGVhdmUiLCJtb3VzZWRvd24iXS5mb3JFYWNoKChlPT50LmFkZEV2ZW50TGlzdGVuZXIoZSxvKSkpfX0pLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRiwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLEYsITApfSkpO3ZhciBrPW8oOTQ4MzgwKSxQPW8oOTY0NDg2KSxNPW8oODcyNTE4KTtmdW5jdGlvbiBPKGUpe2xldCB0LG89ITE7cmV0dXJuKCk9PihvfHwobz0hMCx0PWUoKSksdCl9dmFyIEk9byg1NzAxOTMpLEg9byg2ODIzODEpLFY9bygzODIyNDIpO2NvbnN0IEE9KGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KT0+KDAsVi5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKGUsSC5GT0NVU0FCTEVfU0VMRUNUT1IpO2NvbnN0IFI9YFske0kuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURX09InRydWUiXWA7Y2xhc3MgVXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZU1vdXNlRG93bj0oKT0+e3RoaXMuX2ZvcndhcmRUYWI9dm9pZCAwfSx0aGlzLl9oYW5kbGVLZXlEb3duPWU9Pnt0aGlzLl9mb3J3YXJkVGFiPXZvaWQgMCxbOSx5Lk1vZGlmaWVycy5TaGlmdCs5XS5pbmNsdWRlcygoMCx5Lmhhc2hGcm9tRXZlbnQpKGUpKSYmKHRoaXMuX2ZvcndhcmRUYWI9IWUuc2hpZnRLZXkpfSx0aGlzLl9oYW5kbGVGb2N1cz1lPT57Y29uc3QgdD1lLnRhcmdldAo7aWYodm9pZCAwPT09dGhpcy5fZm9yd2FyZFRhYnx8ISh0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBvPXRoaXMuX2ZpbmREZWVwZXN0Rm9jdXNUcmFwRWxlbWVudChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2lmKCEobyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXx8IW98fG8uY29udGFpbnModCkpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQuYmx1cigpO2NvbnN0IG49by5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KTtpZihuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HfHxuJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HKXtjb25zdCBlPXRoaXMuX2ZvcndhcmRUYWI/QihvKTpCKG8sITApO2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfX0sZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1cyx7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9oYW5kbGVLZXlEb3duLHtjYXB0dXJlOiEwfSksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5faGFuZGxlTW91c2VEb3duLHtjYXB0dXJlOiEwfSl9ZGVzdHJveSgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXMse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5RG93bix7Y2FwdHVyZTohMH0pLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX2hhbmRsZU1vdXNlRG93bix7Y2FwdHVyZTohMH0pfV9maW5kRGVlcGVzdEZvY3VzVHJhcEVsZW1lbnQoZSl7Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3JBbGwoUik7bGV0IG89bnVsbCxuPS0xO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBpPXRoaXMuX2NhbGN1bGF0ZVBhcmVudENvdW50KHQsZSk7aT5uJiYobj1pLG89dCl9KSksb31fY2FsY3VsYXRlUGFyZW50Q291bnQoZSx0KXtsZXQgbz0wLG49ZS5wYXJlbnRFbGVtZW50O2Zvcig7biYmbiE9PXQ7KSJ0cnVlIj09PW4uZ2V0QXR0cmlidXRlKEkuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJm8rKyxuPW4ucGFyZW50RWxlbWVudDtyZXR1cm4gb319Y29uc3QgJD1PKCgoKT0+bmV3IFUpKTtmdW5jdGlvbiBCKGUsdCl7cmV0dXJuIHQ/ZnVuY3Rpb24oZSl7Y29uc3QgdD1BKGUpO3JldHVybigwLFYuZ2V0TGFzdERlc2NlbmRhbnQpKHQpfShlKTpmdW5jdGlvbihlKXtjb25zdCB0PUEoZSk7cmV0dXJuKDAsVi5nZXRGaXJzdERlc2NlbmRhbnQpKHQpfShlKX1jb25zdCBqPU8oKCgpPT57JCgpfSkpO3ZhciBHPW8oNDUwMTQwKSxXPW8oOTk1Njc4KTt2YXIgcT1vKDUwNzQyNiksSz1vKDE0MTMxKSxKPW8oNTQ5MTk5KSxYPW8oMTU3OTE3KSx6PW8oODI3MDEpLFk9bygzODE1MTcpLFE9byg3NzkzODkpO2xldCBaLGVlO2Z1bmN0aW9uIHRlKCl7aWYod2luZG93LmluaXREYXRhLmxmcyl7Y29uc3QgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJqcy1hZG1pbi13YXJuaW5nIilbMF07ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKX1sZXQgZT0hMDtbL15cL2NoYXJ0XC8vLC9eXC9zaGFyZS15b3VyLWxvdmVcLy8sL15cL3BpbmVcLy9dLmZvckVhY2goKHQ9Pnt0LnRlc3Qod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSYmKGU9ITEpfSkpLGUmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX1mdW5jdGlvbiBvZShlKXt3aW5kb3cudXNlcj0oMCxQLmRlZXBFeHRlbmQpKHt9LGUpLHdpbmRvdy5UcmFkaW5nVmlldy5jaGFuZ2VMb2dpblN0YXRlKCEwKX1mdW5jdGlvbiBuZShlKXt7Y29uc3QgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1hdXRoZW50aWNhdGVkIix3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksZS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1ub3QtYXV0aGVudGljYXRlZCIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX13aW5kb3cuVFZTZXR0aW5ncyYmd2luZG93LlRWU2V0dGluZ3Muc3luYyh3aW5kb3cudXNlci5zZXR0aW5ncyksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KGUmJiExIT09d2luZG93LnVzZXIucHJvZmlsZV9kYXRhX2ZpbGxlZHx8dm9pZCAwPT09ZWV8fGVlLmNoZWNrKCksZXx8KFByb21pc2UuYWxsKFtvLmUoNzEyMzcpLG8uZSgzMTU1Nyksby5lKDMyMzg3KSxvLmUoNjQ2MzIpXSkudGhlbihvLmJpbmQobyw3NTQyMTgpKS50aGVuKChlPT5lLm9mZmVyQnV0dG9uTG9naW5TdGF0ZUNoYW5nZUluaXQoKSkpLCgwLGYub25Hb1BybykoKSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKSwhMT09PXdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQmJigoMCxmLmNoZWNrUGFnZVR5cGUpKCJtb2JpbGUiKXx8KDAsdy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpfHx3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3RhcnRzV2l0aCgiL3ByaXZhY3ktcG9saWN5Iil8fHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKCIvcG9saWNpZXMiKXx8KDAsVC53aGVuRG9jdW1lbnRSZWFkeSkoKCgpPT57KDAsXy5zaG93U2lnbk1vZGFsKSh7bW9kZToiY3JlYXRlLWFjY291bnQiLG9uVW5tb3VudEV2ZW50OigpPT57d2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbj8oby5lKDQyNDAyKS50aGVuKG8uYmluZChvLDk5MzY2MSkpLnRoZW4oKCh7cmVnaXN0cmF0aW9uRXZlbnQ6ZX0pPT57ZSgiU29jaWFsIil9KSksKDAsSy50cmFja0dUYWdBZHNFdmVudCkoSy5HVGFnRXZlbnQuUmVnaXN0cmF0aW9uQ29tcGxldGVkKSwoMCxKLnRyYWNrVHdpdHRlckV2ZW50KShKLlR3aXR0ZXJFdmVudC5SZWdpc3RyYXRpb25Db21wbGV0ZWQpLApkZWxldGUgd2luZG93LnVzZXIuc29jaWFsX3JlZ2lzdHJhdGlvbik6bi5UVlhXaW5kb3dFdmVudHMuZW1pdCgibG9naW5TdGF0ZUNoYW5nZSIsSlNPTi5zdHJpbmdpZnkoe2lzX2F1dGhlbnRpY2F0ZWQ6d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsdXNlcjp3aW5kb3cudXNlcn0pKX19KX0pLCEwKSwoMCxYLnRyYWNrQ21FdmVudCkoWC5DbUV2ZW50LlJlZ2lzdHJhdGlvbkNvbXBsZXRlZCksKDAsaS50cmFja0V2ZW50KSgiQ29udmVyc2lvbiIsIkZpcnN0IGxvZ2luIiksZGVsZXRlIHdpbmRvdy51c2VyLnByb2ZpbGVfZGF0YV9maWxsZWQpLHouYXZhaWxhYmxlT2ZmZXJzLnJ1bk9yVXBkYXRlKCgoKT0+e3dpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGUoKDAsWS5pc1RyaWFsQXZhaWxhYmxlRm9yVXNlcikod2luZG93LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpKX0pKSk6ei5hdmFpbGFibGVPZmZlcnMucnVuT3JVcGRhdGUoKGU9PntPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57Y29uc3Qgbz10O2Vbb10uYXZhaWxhYmxlX2Zvcl9hbm9uc3x8ZGVsZXRlIGVbb119KSksd2luZG93LnVzZXI9e3VzZXJuYW1lOiJHdWVzdCIsZm9sbG93aW5nOiIwIixmb2xsb3dlcnM6IjAiLGlnbm9yZV9saXN0OltdLGF2YWlsYWJsZV9vZmZlcnM6ZX0sbC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ0cmlhbF9hdmFpbGlhYmxlIil9KSl9KDAsdi5yZWdpc3RlcldpbmRvdykod2luZG93KSxRLkFjdGlvbkdyb3VwLnNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKChlPT57KDAsaS50cmFja0V2ZW50KSgiS2V5Ym9hcmQgU2hvcnRjdXRzIiwoMCx5Lmh1bWFuUmVhZGFibGVIYXNoKShlKSl9KSksWj13aW5kb3cubG9naW5TdGF0ZUNoYW5nZT93aW5kb3cubG9naW5TdGF0ZUNoYW5nZTp3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgay5EZWxlZ2F0ZSxaLnN1YnNjcmliZShudWxsLG5lKSwoMCx2LmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU3VwcG9ydCJ9KS5hZGQoe2Rlc2M6Ik9wZW4iLGhvdGtleTp5Lk1vZGlmaWVycy5Nb2QrMTkxLGhhbmRsZXI6KCk9PigwLGIuc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6InNob3J0Y3V0cyJ9KX0pLG4uVFZYV2luZG93RXZlbnRzLm9uKCJsb2dpblN0YXRlQ2hhbmdlIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt3aW5kb3cudXNlcj10LnVzZXIsd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISF0LmlzX2F1dGhlbnRpY2F0ZWQsWi5maXJlKCl9KSksbi5UVlhXaW5kb3dFdmVudHMub24oInNpZ25PdXQiLCgoKT0+e3RlKCl9KSksKCgpPT57Y29uc3QgZT0idXNlci1vYmotY2hhbmdlZCIsdD17fTt3aW5kb3cuY3Jvc3NUYWJTeW5jVXNlckF0dHI9dD0+e2NvbnN0IG89e307dCBpbnN0YW5jZW9mIEFycmF5P3QuZm9yRWFjaCgoZT0+e29bZV09d2luZG93LnVzZXJbZV19KSk6b1t0XT13aW5kb3cudXNlclt0XSxuLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsSlNPTi5zdHJpbmdpZnkobykpfSxuLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO2xldCBuO2ZvcihuIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7d2luZG93LnVzZXJbbl09b1tuXTsodFtuXXx8W10pLmZvckVhY2goKGU9PntlLmZpcmUob1tuXSl9KSl9fSkpfSkoKSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZT1lPT57d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ISFlLG4uVFZYV2luZG93RXZlbnRzLmVtaXQoImxvZ2luU3RhdGVDaGFuZ2UiLEpTT04uc3RyaW5naWZ5KHtpc19hdXRoZW50aWNhdGVkOndpbmRvdy5pc19hdXRoZW50aWNhdGVkLHVzZXI6d2luZG93LnVzZXJ9KSksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJlMuZW1pdChwLkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MpLFouZmlyZSgpfSx3aW5kb3cubG9naW5Vc2VyPW9lLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZT0+eyJsb2dpbl91c2VyIj09PWUua2V5JiZudWxsIT09ZS5uZXdWYWx1ZSYmb2UoSlNPTi5wYXJzZShlLm5ld1ZhbHVlKSl9KSksd2luZG93LlRyYWRpbmdWaWV3LnNpZ25PdXQ9KCk9Pntjb25zdCBlPXsuLi53aW5kb3cudXNlcn07KDAscy5mZXRjaCkoIi9hY2NvdW50cy9sb2dvdXQvIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnthY2NlcHQ6Imh0bWwifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbigoKCk9Pnt3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgic2lnbk91dCIpLHRlKCl9KSkuY2F0Y2goKCgpPT57d2luZG93LnVzZXI9ZSx3aW5kb3cuVHJhZGluZ1ZpZXcuY2hhbmdlTG9naW5TdGF0ZSghMCl9KSl9LGVlPW5ldyBnLHdpbmRvdy5sb2dpblJlcXVpcmVkRGVsZWdhdGU9bmV3IGsuRGVsZWdhdGUsd2luZG93LnJ1bk9yU2lnbkluPShlLHQpPT57dHx8KHQ9e30pO2NvbnN0IG89W107dC5wYWlkQWNjb3VudENoZWNrJiZvLnB1c2goKCgpPT4oMCxxLnBhaWRBY2NvdW50Q2hlY2spKHtzdWNjZXNzQnV0dG9uVGV4dDp0LnBhaWRBY2NvdW50U3VjY2Vzc0J1dHRvblRleHR9KSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP28ucmVkdWNlKCgoZSx0KT0+ZS50aGVuKHQpKSxQcm9taXNlLnJlc29sdmUoKSkudGhlbihlKS5jYXRjaCgoKCk9Pnt9KSk6KDAsXy5zaG93U2lnbk1vZGFsKSh7c291cmNlOnQuc291cmNlLHNvdXJjZU1ldGE6dC5zb3VyY2VNZXRhLGZlYXR1cmU6dC5mZWF0dXJlLG1vZGU6dC5tb2RlLHNpZ25pblN1Y2Nlc3M6ZSxzdGFydFRyaWFsOnQuc3RhcnRUcmlhbCxvblVubW91bnRFdmVudDp0Lm9uVW5tb3VudEV2ZW50LHVzZXJuYW1lOnQudXNlcm5hbWV9KX0sd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJm4uVFZYV2luZG93RXZlbnRzLm9uKCJ1c2VyLXN0YXR1cy1kZWNsYXJlZCIsKGU9Pnt3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9ZX0pKSx3aW5kb3cub25Mb2dpblN0YXRlQ2hhbmdlPW5lLHdpbmRvdy5UcmFkaW5nVmlldy5zZXRUcmlhbEF2YWlsaWFibGU9ZT0+ewpsLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oInRyaWFsX2F2YWlsaWFibGUiLGU/IjEiOiIwIil9LHdpbmRvdy5UcmFkaW5nVmlldy5ub3RpZmljYXRpb25zQ2hhbmdlZD1uZXcgay5EZWxlZ2F0ZSxqKCksKDAsRy5pbml0TW91c2VDbGlja0F1dG9CbHVySGFuZGxlcikoKSwoMCxXLmluaXRNb2RhbFNjcm9sbExvY2tIYW5kbGVyKSh3aW5kb3csKCgpPT4oMCxNLnNldEZpeGVkQm9keVN0YXRlKSghMCkpLCgoKT0+KDAsTS5zZXRGaXhlZEJvZHlTdGF0ZSkoITEpKSl9LDMxNDEzMygpe2Z1bmN0aW9uIGUoZSl7aWYoZSBpbnN0YW5jZW9mIEVycm9yKXJldHVybiBlLnN0YWNrfHxlLm1lc3NhZ2U7dHJ5e3JldHVybiBlLm91dGVySFRNTC5zbGljZSgwLDEwMjQpfWNhdGNoe310cnl7aWYodm9pZCAwIT09ZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkuc2xpY2UoMCwxMDI0KX1jYXRjaHt9cmV0dXJuIFN0cmluZyhlKX1mdW5jdGlvbiB0KGUpe2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gbmV3IFVSTChlKX1jYXRjaHtyZXR1cm4gbnVsbH19d2luZG93Ll9fdHZfanNfZXJyb3JzfHwod2luZG93Ll9fdHZfanNfZXJyb3JzPVtdKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCh0PT57Y29uc3Qgbz0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCk7d2luZG93Ll9fdHZfanNfZXJyb3JzLnB1c2goYCR7b30gJHt0Lm1lc3NhZ2V8fCJKUyBlcnJvciJ9LiAke3QuZmlsZW5hbWV8fCI8dW5rbm93biB1cmw+In0sIGxpbmUgJHt0LmxpbmVub30sIGNvbCAke3QuY29sbm99LlxuRXJyb3I6ICR7ZSh0LmVycm9yKX1gKX0pLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIiwodD0+e2NvbnN0IG89KG5ldyBEYXRlKS50b0lTT1N0cmluZygpO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke299IFVuaGFuZGxlZCByZWplY3Rpb24uXG5SZWFzb246ICR7ZSh0LnJlYXNvbil9YCl9KSwhMSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChvPT57aWYoZnVuY3Rpb24oZSxvKXtjb25zdCBuPXQoZSksaT10KG8pO3JldHVybiEoIW58fCFpKSYmImh0dHBzOiI9PT1uLnByb3RvY29sJiYiaHR0cHM6Ij09PWkucHJvdG9jb2wmJiJzZWN1cmVwdWJhZHMuZy5kb3VibGVjbGljay5uZXQiPT09bi5ob3N0bmFtZSYmL15hZHNlcnZpY2VcLmdvb2dsZVwuW2Etei5dKyQvaS50ZXN0KGkuaG9zdG5hbWUpfShvLnNvdXJjZUZpbGUsby5ibG9ja2VkVVJJKSlyZXR1cm47Y29uc3Qgbj0obmV3IERhdGUpLnRvSVNPU3RyaW5nKCksaT0icmVwb3J0Ij09PW8uZGlzcG9zaXRpb24/IkNTUCByZXBvcnQtb25seSI6IkNTUCB2aW9sYXRpb24iO3dpbmRvdy5fX3R2X2pzX2Vycm9ycy5wdXNoKGAke259ICR7aX06ICR7by52aW9sYXRlZERpcmVjdGl2ZXx8by5lZmZlY3RpdmVEaXJlY3RpdmV9LiAke28uc291cmNlRmlsZXx8Ijx1bmtub3duIHVybD4ifSwgbGluZSAke28ubGluZU51bWJlcn0sIGNvbCAke28uY29sdW1uTnVtYmVyfS5cbkJsb2NrZWQgVVJJOiAke28uYmxvY2tlZFVSSX1cblNhbXBsZTogJHtvLnNhbXBsZX1cblRhcmdldDogJHtlKG8udGFyZ2V0KX1gKX0pLCExKX0sMjMzMzk5KGUsdCxvKXt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMjM2NSk7Y29uc3Qgcz0idHYubG9nZ2VyLmxvZ2xldmVsIixyPSJ0di5sb2dnZXIubG9nSGlnaFJhdGUiLGE9KDAsbi5nZXRMb2dnZXIpKCJsb2dnZXIiKTtmdW5jdGlvbiBsKCl7dHJ5e2kuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShyLFN0cmluZygoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpKSksaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsU3RyaW5nKCgwLG4uZ2V0TG9nTGV2ZWwpKCkpKX1jYXRjaChlKXthLmxvZ1dhcm4oYENhbm5vdCBzYXZlIGxvZ2dlciBzdGF0ZSAobGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfSkgdG8gbG9jYWxTdG9yYWdlOiAke2UubWVzc2FnZX1gKX19d2luZG93LmxnZXQ9bi5nZXRMb2dIaXN0b3J5LHdpbmRvdy5sb249KGUsdCk9PnthLmxvZ05vcm1hbCgiRGVidWcgbG9nZ2luZyBlbmFibGVkIiksKDAsbi5sb2dnaW5nT24pKGUsdCksbCgpfSx3aW5kb3cubG9mZj0oKT0+e2EubG9nSW5mbygiRGVidWcgbG9nZ2luZyBkaXNhYmxlZCIpLCgwLG4ubG9nZ2luZ09mZikoKSxsKCl9LHdpbmRvdy5sbGV2ZWw9ZT0+e2EubG9nSW5mbygiQ2hhbmdlZCBsb2dnaW5nIGxldmVsIiksKDAsbi5zZXRMb2dMZXZlbCkoZSksbCgpfSxmdW5jdGlvbigpe2NvbnN0IGU9InRydWUiPT09aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHIpOygwLG4uc2V0SGlnaFJhdGVTdGF0dXMpKGUpO2xldCB0PXBhcnNlSW50KGkuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKXx8IiIpO051bWJlci5pc05hTih0KSYmKHQ9bi5MT0dMRVZFTC5XQVJOSU5HKSwoMCxuLnNldExvZ0xldmVsKSh0KSxhLmxvZ05vcm1hbChgSW5pdCB3aXRoIHNldHRpbmdzIC0gbGV2ZWw6ICR7KDAsbi5nZXRMb2dMZXZlbCkoKX0sIGhpZ2gtcmF0ZTogJHsoMCxuLmlzSGlnaFJhdGVFbmFibGVkKSgpfWApfSgpLGEubG9nTm9ybWFsKGBTeW5jIGxvZ2dlciBhbmQgcGVyZiB0aW1lcywgbm93IGlzICR7cGVyZm9ybWFuY2Uubm93KCl9YCl9LDkyNjQxNSgpe3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9fSw1NjkzOTgoZSx0LG8pe28uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT51LG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9Pmx9KTt2YXIgbj1vKDk0ODM4MCksaT1vKDM3NzIyNikscz1vKDg1NjE5Nikscj1vKDkzMjM2NSk7Y29uc3QgYT1uZXcgbi5EZWxlZ2F0ZSxsPSgpPT5hLGM9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IGg9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7ci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGMrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtyLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oYytlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7CnIuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiBkKGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltjK3RdKXx8ISgiZmFsc2UiPT09ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGMrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bYyt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAscy5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWg7Y29uc3QgdT0obT13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxpLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbby5lKDg1NDM0KSxvLmUoNzI4NSksby5lKDEzOTkzKV0pLnRoZW4oby5iaW5kKG8sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9ZChtLGUubmFtZSk7bVtlLm5hbWVdPWUuc3RhdGUsdCE9PWQobSxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSxkLmJpbmQobnVsbCxtKSk7dmFyIG07d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9dX0sMzg0MDE3KGUsdCxvKXtvLmQodCx7ZmV0Y2g6KCk9PnN9KTt2YXIgbj1vKDIyMTA2MSk7bygzMDAyODYpO2NvbnN0IGk9KDAsbi5nZXRMb2dnZXIpKCJGZXRjaCIpO2Z1bmN0aW9uIHMoZSx0LG89e30pe3tjb25zdHtsb2dPbkVycm9yU3RhdHVzOm49ITAsbG9nQm9keU9uRXJyb3I6cz0hMX09bzt0PXR8fHt9LGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSkub3JpZ2luPT09bG9jYXRpb24ub3JpZ2lufShlKSYmKHQuaGVhZGVycz90LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzfHwodC5oZWFkZXJzPW5ldyBIZWFkZXJzKHQuaGVhZGVycykpOnQuaGVhZGVycz1uZXcgSGVhZGVycyx3aW5kb3cubG9jYWxlJiZ0LmhlYWRlcnMuc2V0KCJYLUxhbmd1YWdlIix3aW5kb3cubG9jYWxlKSx0LmhlYWRlcnMuc2V0KCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSksdm9pZCAwPT09dC5jcmVkZW50aWFscyYmKHQuY3JlZGVudGlhbHM9InNhbWUtb3JpZ2luIik7Y29uc3Qgcj13aW5kb3cuZmV0Y2goZSx0KTtyZXR1cm4gci50aGVuKChvPT57aWYoIW8ub2smJm4pe2xldCBuPSIiO3QubWV0aG9kJiYobis9YCR7dC5tZXRob2QudG9VcHBlckNhc2UoKX0gYCksbis9ZSxuKz1gLiBTdGF0dXMgJHtvLnN0YXR1c31gLG8uc3RhdHVzVGV4dCYmKG4rPWAuICR7by5zdGF0dXNUZXh0fWApLG8uaGVhZGVycy52aWEmJihuKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxzJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKG4rPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksaS5sb2dFcnJvcihuKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgbj0iIjt0Lm1ldGhvZCYmKG4rPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLG4rPWUsbmF2aWdhdG9yLm9uTGluZT9uKz1gLiAke1N0cmluZyhvKX1gOm4rPSIuIFVzZXIgaXMgb2ZmbGluZS4iLGkubG9nRXJyb3Iobil9KSkscn19fSw5MzIzNjUoZSx0LG8pe28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+c30pO2NvbnN0IG49KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIGk9ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O2kucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IGk9dC5zbGljZSgwLGUpO24ubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLG4ubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksbi5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntuLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0saS5wcm90b3R5cGUubGVuZ3RoPTAsaS5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsaS5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxpLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKwo7dGhpcy5sZW5ndGg9dH19LGkucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxpLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk6dm9pZCAwPT09dGhpcy5sb2NhbFN0b3JhZ2VbZV0/bnVsbDp0aGlzLmxvY2FsU3RvcmFnZVtlXX0saS5wcm90b3R5cGUuc2V0SXRlbT1mdW5jdGlvbihlLHQpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLHQpOnRoaXMubG9jYWxTdG9yYWdlW2VdPXQsdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LGkucHJvdG90eXBlLnJlbW92ZUl0ZW09ZnVuY3Rpb24oZSl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGUpOmRlbGV0ZSB0aGlzLmxvY2FsU3RvcmFnZVtlXSx0aGlzLl91cGRhdGVMZW5ndGgoKX0saS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk6dGhpcy5sb2NhbFN0b3JhZ2U9e30sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9O2NvbnN0IHM9bmV3IGk7d2luZG93LlRWTG9jYWxTdG9yYWdlPXN9LDExNzMxMyhlLHQsbyl7by5kKHQse2lzT25Nb2JpbGVBcHBQYWdlOigpPT5pLHVybFdpdGhNb2JpbGVBcHBQYXJhbXM6KCk9PnN9KTt2YXIgbj1vKDU4NzQzNik7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0e3NlYXJjaFBhcmFtczpvfT1uZXcgVVJMKFN0cmluZyhsb2NhdGlvbikpO2xldCBpPSJ0cnVlIj09PW8uZ2V0KCJtb2JpbGVhcHBfbmV3Iikscz0idHJ1ZSI9PT1vLmdldCgibW9iaWxlYXBwIik7aWYoIXQpe2NvbnN0IGU9bi5nZXQoInR2X2FwcCIpfHwiIjtpfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxzfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFpKXx8ISgibmV3Ij09PWV8fCFzKX1mdW5jdGlvbiBzKGUsdD0hMSl7aWYoaSgibmV3Iix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHBfbmV3IiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfWlmKGkoIm9sZCIsdCkpe2NvbnN0IHQ9bmV3IFVSTChlLGxvY2F0aW9uLmhyZWYpO3Quc2VhcmNoUGFyYW1zLnNldCgibW9iaWxlYXBwIiwidHJ1ZSIpLGU9dC50b1N0cmluZygpfXJldHVybiBlfX0sOTA5Nzk4KGUsdCxvKXtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+bn0pO2NvbnN0IG49bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDI0NzkwMShlLHQsbyl7dmFyIG47by5kKHQse1N0ZFRoZW1lOigpPT5ufSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KG58fChuPXt9KSl9LDM4NjkzMShlLHQsbyl7by5kKHQse3RyYWNrRXZlbnQ6KCk9PmF9KTt2YXIgbj1vKDIyMTA2MSksaT1vKDkzMDIzMSk7bygxNzk3NzEpO2NvbnN0IHM9KDAsbi5nZXRMb2dnZXIpKCJDb21tb24uVHJhY2tFdmVudCIpO2xldCByPSExO2NvbnN0IGE9KGUsdCxvKT0+e2lmKHIpcmV0dXJuO2xldCBuPShlP2UrIjoiOiIiKSt0O28mJihuKz0iICIrbykscy5sb2dOb3JtYWwobiksKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCF3aW5kb3cuX1VOSVRfVEVTVFMmJndpbmRvdy5ndGFnJiZ3aW5kb3cuZ3RhZygiZXZlbnQiLHQse2V2ZW50X2NhdGVnb3J5OmUsZXZlbnRfbGFiZWw6b30pfTt2YXIgbCxjLGg7IWZ1bmN0aW9uKGUpe2UuR1VJPSJHVUkifShsfHwobD17fSkpLGZ1bmN0aW9uKGUpe2UuQ2hhcnRIZWFkZXJUb29sYmFyPSJDaGFydCBIZWFkZXIgVG9vbGJhciIsZS5DaGFydEJvdHRvbVRvb2xiYXI9IkNoYXJ0IEJvdHRvbSBUb29sYmFyIixlLkNoYXJ0TGVmdFRvb2xiYXI9IkNoYXJ0IExlZnQgVG9vbGJhciIsZS5UaW1lSW50ZXJ2YWw9IlRpbWUgSW50ZXJ2YWwiLGUuTG9hZENoYXJ0TGF5b3V0PSJMb2FkIGNoYXJ0IGxheW91dCJ9KGN8fChjPXt9KSksZnVuY3Rpb24oZSl7ZS5SYW5nZT0icmFuZ2UiLGUuR29Ubz0iZ28gdG8iLGUuQ2hhcnRQcm9wZXJ0aWVzPSJjaGFydCBwcm9wZXJ0aWVzIixlLkNvbXBhcmU9ImNvbXBhcmUiLGUuU2VsZWN0TGF5b3V0PSJzZWxlY3QgbGF5b3V0IixlLk1hZ25ldE1vZGU9Im1hZ25ldCBtb2RlIixlLk1hZ25ldFNuYXBzPSJtYWduZXQgc25hcHMiLGUuRHJhd2luZ01vZGU9ImRyYXdpbmcgbW9kZSIsZS5Mb2NrQWxsRHJhd2luZz0ibG9jayBhbGwgZHJhd2luZyIsZS5SZW1vdmVEcmF3aW5nPSJyZW1vdmUgZHJhd2luZyIsZS5SZW1vdmVJbmRpY2F0b3I9InJlbW92ZSBpbmRpY2F0b3IiLGUuUmVtb3ZlQWxsPSJyZW1vdmUgYWxsIixlLkhpZGVEcmF3aW5ncz0iaGlkZSBkcmF3aW5ncyIsZS5IaWRlSW5kaWNhdG9ycz0iaGlkZSBpbmRpY2F0b3JzIixlLkhpZGVQb3NpdGlvbnM9ImhpZGUgcG9zaXRpb25zIixlLkhpZGVBbGw9ImhpZGUgYWxsIixlLlN5bmM9InN5bmMiLGUuU3luY01vZGU9InN5bmMgbW9kZSIsZS5Td2l0Y2hDaGFydExheW91dD0iU3dpdGNoIGNoYXJ0IGxheW91dCIsZS5EZWxldGVDaGFydExheW91dD0iRGVsZXRlIGNoYXJ0IGxheW91dCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0IixlLkFkZFRvRmF2b3JpdGVzPSJBZGQgdG8gZmF2b3JpdGVzIixlLlNvcnQ9IlNvcnQifShofHwoaD17fSkpfSwyMzU3MjQoZSx0LG8pe28uZCh0LHtNb2RpZmllcnM6KCk9PnIsaGFzaEZyb21FdmVudDooKT0+bCxob3RrZXlIYXNoVG9BcmlhS2V5c2hvcnRjdXRzOigpPT5nLGh1bWFuUmVhZGFibGVIYXNoOigpPT51LGh1bWFuUmVhZGFibGVNb2RpZmllcnM6KCk9PmMsaXNNYWNLZXlib2FyZDooKT0+cyxtb2RpZmllcnNGcm9tRXZlbnQ6KCk9PmF9KTt2YXIgbixpPW8oNzM4NDU4KTshZnVuY3Rpb24oZSl7ZVtlLktleUNvZGU9MjU1XT0iS2V5Q29kZSIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLkFsdD01MTJdPSJBbHQiLAplW2UuU2hpZnQ9MTAyNF09IlNoaWZ0IixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KG58fChuPXt9KSk7Y29uc3Qgcz1pLmlzTWFjfHxpLmlzSU9TO3ZhciByO2Z1bmN0aW9uIGEoZSl7bGV0IHQ9MDtyZXR1cm4gZS5zaGlmdEtleSYmKHQrPTEwMjQpLGUuYWx0S2V5JiYodCs9NTEyKSxlLmN0cmxLZXkmJih0Kz0yNTYpLGUubWV0YUtleSYmKHQrPTIwNDgpLHR9ZnVuY3Rpb24gbChlKXtyZXR1cm4gYShlKXxlLmtleUNvZGV9IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1vZD1zPzIwNDg6MjU2XT0iTW9kIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuTWV0YT0yMDQ4XT0iTWV0YSJ9KHJ8fChyPXt9KSk7ZnVuY3Rpb24gYyhlLHQ9IXMpe2xldCBvPSIiO3JldHVybiAyNTYmZSYmKG8rPW0ocz8iXiI6IkN0cmwiLHQpKSw1MTImZSYmKG8rPW0ocz8i4oylIjoiQWx0Iix0KSksMTAyNCZlJiYobys9bShzPyLih6ciOiJTaGlmdCIsdCkpLDIwNDgmZSYmKG8rPW0ocz8i4oyYIjoiV2luIix0KSksb31jb25zdCBoPXs5OiLih6UiLDEzOiLihrUiLDI3OiJFc2MiLDg6cz8i4oyrIjoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoi4oaQIiwzODoi4oaRIiwzOToi4oaSIiw0MDoi4oaTIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiRG90IiwxOTE6Ii8ifSxkPXs5OiJUYWIiLDEzOiJFbnRlciIsMjc6IkVzYyIsODoiQmFja3NwYWNlIiwzMjoiU3BhY2UiLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnMiLDQ2OiJEZWwiLDE4ODoiLCIsMTkwOiIuIiwxOTE6Ii8ifTtmb3IobGV0IGU9MTtlPD0xNjtlKyspaFtlKzExMV09YEYke2V9YCxkW2UrMTExXT1gRiR7ZX1gO2Z1bmN0aW9uIHUoZSl7bGV0IHQ9YyhlKTtjb25zdCBvPTI1NSZlO3JldHVybiB0Kz1vIGluIGg/aFtvXTpTdHJpbmcuZnJvbUNoYXJDb2RlKG8pLHR9ZnVuY3Rpb24gbShlLHQpe3JldHVybmAke2V9JHt0PyIgKyAiOnM/IiAiOiIifWB9ZnVuY3Rpb24gZyhlKXtjb25zdCB0PVtdOzI1NiZlJiZ0LnB1c2goIkN0cmwiKSw1MTImZSYmdC5wdXNoKCJBbHQiKSwxMDI0JmUmJnQucHVzaCgiU2hpZnQiKSwyMDQ4JmUmJnQucHVzaCgiTWV0YSIpO2NvbnN0IG89MjU1JmU7cmV0dXJuIG8gaW4gaD90LnB1c2goaFtvXSk6dC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpLHQuam9pbigiKyIpfX0sNzIxMzY5KGUsdCxvKXtvLmQodCx7aXNOYXRpdmVVSUludGVyYWN0aW9uOigpPT5zLGlzVGV4dEVkaXRpbmdGaWVsZDooKT0+aX0pO3ZhciBuPW8oMjM1NzI0KTtmdW5jdGlvbiBpKGUpe2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO3JldHVybiJ0ZXh0Ij09PXR8fCJlbWFpbCI9PT10fHwibnVtYmVyIj09PXR8fCJwYXNzd29yZCI9PT10fHwic2VhcmNoIj09PXR8fCJ0ZWwiPT09dHx8InVybCI9PT10fXJldHVybiJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fGUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG89MjU1JmU7aWYoMjc9PT1vfHxvPj4+ND09NylyZXR1cm4hMTtzd2l0Y2goZV5vKXtjYXNlIG4uTW9kaWZpZXJzLkFsdDpyZXR1cm4oMzg9PT1vfHw0MD09PW8pJiYiU0VMRUNUIj09PXQudGFnTmFtZXx8aSh0KTtjYXNlIG4uTW9kaWZpZXJzLkFsdCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZDppZig2Nz09PW98fCFuLmlzTWFjS2V5Ym9hcmQmJjQ1PT09byl7Y29uc3QgZT10Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtpZihlJiYhZS5pc0NvbGxhcHNlZClyZXR1cm4hMH1yZXR1cm4gaSh0KTtjYXNlIG4uTW9kaWZpZXJzLk1vZCtuLk1vZGlmaWVycy5TaGlmdDpyZXR1cm4gbz49MzMmJm88PTQwJiZpKHQpO2Nhc2Ugbi5Nb2RpZmllcnMuU2hpZnQ6Y2FzZSAwOnJldHVybiA5PT09bz8hKCF0Lm93bmVyRG9jdW1lbnR8fHQ9PT10Lm93bmVyRG9jdW1lbnQuYm9keXx8dD09PXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOighZnVuY3Rpb24oZSl7aWYoIkJVVFRPTiI9PT1lLnRhZ05hbWUpcmV0dXJuITA7aWYoIklOUFVUIj09PWUudGFnTmFtZSl7Y29uc3QgdD1lLnR5cGU7aWYoInN1Ym1pdCI9PT10fHwiYnV0dG9uIj09PXR8fCJyZXNldCI9PT10fHwiY2hlY2tib3giPT09dHx8InJhZGlvIj09PXQpcmV0dXJuITB9cmV0dXJuITF9KHQpfHwxMz09PW98fDMyPT09b3x8OT09PW8pJiYoImZvcm0iaW4gdHx8dC5pc0NvbnRlbnRFZGl0YWJsZSl9cmV0dXJuITF9fSw5OTU2NzgoZSx0LG8pe28uZCh0LHtpbml0TW9kYWxTY3JvbGxMb2NrSGFuZGxlcjooKT0+cyxyZWxlYXNlTW9kYWxTY3JvbGxMb2NrOigpPT5hLHJlcXVlc3RNb2RhbFNjcm9sbExvY2s6KCk9PnJ9KTtjb25zdCBuPSJtb2RhbC1zY3JvbGwtbG9jay1yZXF1ZXN0IixpPSJtb2RhbC1zY3JvbGwtbG9jay1yZWxlYXNlIjtmdW5jdGlvbiBzKGUsdCxvKXtlLmFkZEV2ZW50TGlzdGVuZXIobiwoKCk9PnQoKSkpLGUuYWRkRXZlbnRMaXN0ZW5lcihpLCgoKT0+bygpKSl9ZnVuY3Rpb24gcihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX1mdW5jdGlvbiBhKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoaSkpfX0sNTcwMTkzKGUsdCxvKXtvLmQodCx7Rk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURTooKT0+bn0pO2NvbnN0IG49ImRhdGEtZm9jdXMtdHJhcCJ9LDY4MjM4MShlLHQsbyl7by5kKHQse0ZPQ1VTQUJMRV9TRUxFQ1RPUjooKT0+aSxjcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcjooKT0+aCxnZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzOigpPT5jLGlzSFRNTE9yU1ZHRWxlbWVudDooKT0+ZCxpc0luZXJ0Um9vdDooKT0+YSxpc1Zpc2liaWxpdHlWaXNpYmxlOigpPT5zfSkKO2NvbnN0IG49WyJidXR0b24iLCJmaWVsZHNldCIsIm9wdGdyb3VwIiwib3B0aW9uIiwic2VsZWN0IiwidGV4dGFyZWEiLCJpbnB1dCJdLGk9WyJidXR0b24iLCJpbnB1dCIsInNlbGVjdCIsInRleHRhcmVhIiwiYVtocmVmXSIsImF1ZGlvW2NvbnRyb2xzXSIsInZpZGVvW2NvbnRyb2xzXSIsJ1t0YWJpbmRleD0iMCJdJywnW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJ10ubWFwKChlPT5uLmluY2x1ZGVzKGUpP2Ake2V9Om5vdCg6ZGlzYWJsZWQpYDplKSkubWFwKChlPT5gJHtlfTpub3QoW3RhYmluZGV4PSItMSJdKWApKS5qb2luKCIsIik7ZnVuY3Rpb24gcyhlKXtyZXR1cm4idmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLnZpc2liaWxpdHl9ZnVuY3Rpb24gcihlLHQpe2lmKGUubWF0Y2hlcygiW2luZXJ0XSxbaW5lcnRdICoiKSlyZXR1cm4hMDtsZXQgbz1lO2Zvcig7byE9PXQmJm51bGwhPT1vOyl7aWYobChvKSlyZXR1cm4hMDtvPW8ucGFyZW50RWxlbWVudH1yZXR1cm4hMX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLm1hdGNoZXMoIltpbmVydF0iKXx8bChlKX1mdW5jdGlvbiBsKGUpe3JldHVybiJub25lIj09PWdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheX1mdW5jdGlvbiBjKCl7cmV0dXJuIGl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gdD0+cyh0KSYmIXIodCxlKX1mdW5jdGlvbiBkKGUpe3JldHVybiBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnR8fGUgaW5zdGFuY2VvZiBTVkdFbGVtZW50fX0sOTM0MDgxKGUsdCxvKXtvLmQodCx7U1RPUllfUE9TVEVSUzooKT0+bn0pO2NvbnN0IG49W3tuYW1lOiJuZW9uIixwb3N0ZXI6by5wKyJuZW9uLmZmOTMzMTBlNzk1ZDU0YTVkMzliLndlYnAifSx7bmFtZToibWFycyIscG9zdGVyOm8ucCsibWFycy5jYjZhMzcxZmE3ODIzNjYzNDNiZS53ZWJwIn0se25hbWU6InNub3ciLHBvc3RlcjpvLnArInNub3cuOGY1ZWM5Y2Q4NGE3NTJmNDZiNjgud2VicCJ9XX0sODQyMTAyKGUsdCxvKXtvLmQodCx7aXNTaG93UHJvbW9WaWRlbzooKT0+cn0pO3ZhciBuPW8oODA5NDM2KTtjb25zdCBpPW5bIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiXSxzPW5bIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCJdO2Z1bmN0aW9uIHIoKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGkpLm1hdGNoZXMsdD13aW5kb3cubWF0Y2hNZWRpYShzKS5tYXRjaGVzLG89d2luZG93LmlubmVyV2lkdGgsbj13aW5kb3cuaW5uZXJIZWlnaHQ7cmV0dXJuISFlfHwhIXQmJm4+PW99fSw5Nzg1NChlLHQsbyl7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5ufSk7Y29uc3Qgbj1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sMjM5NzE5KGUsdCxvKXtvLmQodCx7R0xPQkFMX0VWRU5UX1NJR05fSU5fU1VDQ0VTUzooKT0+bixzaWdudXBTb3VyY2U6KCk9Pmksc2lnbnVwU291cmNlTWV0YTooKT0+c30pO2NvbnN0IG49IkdMT0JBTF9FVkVOVF9TSUdOX0lOX1NVQ0NFU1MiLGk9InNpZ251cFNvdXJjZSIscz0ic2lnbnVwU291cmNlTWV0YSJ9LDcxOTE5NChlLHQsbyl7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5zfSk7dmFyIG49byg5MzIzNjUpO2NvbnN0IGk9InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCBzPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gbi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGksSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtzXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxzfX0sNzU2MjcxKGUsdCxvKXtvLmQodCx7U1RPUllfTkFNRVM6KCk9Pm59KTtjb25zdCBuPVsibmVvbiIsIm1hcnMiLCJzbm93Il19LDg2NDAzNChlLHQsbyl7dmFyIG47by5kKHQse0JpbGxpbmdDeWNsZTooKT0+bixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+cyxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0obnx8KG49e30pKTtjb25zdCBpPTcscz0zMH0sOTEzNzA2KGUsdCxvKXtvLmQodCx7T0ZGRVJTOigpPT5ufSk7Y29uc3Qgbj17dHJpYWw6InRyaWFsIixlYXJseV9hY2Nlc3M6ImVhcmx5X2FjY2VzcyIsYmxhY2tfZnJpZGF5OiJibGFja19mcmlkYXkiLGN5YmVyX21vbmRheToiY3liZXJfbW9uZGF5IixjdXN0b21fZGlzY291bnQ6ImN1c3RvbV9kaXNjb3VudCIsbG9uZ2VyX2N5Y2xlOiJsb25nZXJfY3ljbGUiLHVwZ3JhZGU6InVwZ3JhZGUiLGV4dGVuZDoiZXh0ZW5kIixsYXN0X2NoYW5jZToibGFzdF9jaGFuY2UiLG9uZV91c2Q6Im9uZV91c2QiLG9uZV91c2RfeWVhcmx5OiJvbmVfdXNkX3llYXJseSIsdGhyZWVfbW9udGhzOiJ0aHJlZV9tb250aHMiLHVuc3Vic2NyaWJlOiJ1bnN1YnNjcmliZSIsc2l4X21vbnRoczoic2l4X21vbnRocyIsY291cG9uOiJjb3Vwb24ifTt2YXIgaSxzOyFmdW5jdGlvbihlKXtlLlR3b1dlZWtzPSJMYXN0Q2hhbmNlXzJ3IixlLlR3b0RheXM9Ikxhc3RDaGFuY2VfMmQiLGUuSG91cnM9Ikxhc3RDaGFuY2VfMjRoIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN0YXJ0ZWQ9InN0YXJ0ZWQiLGUuRGF5NT0iYWZ0ZXIgNSBkYXlzIixlLkRheTc9ImFmdGVyIDcgZGF5cyIsZS5EYXkxMj0iYWZ0ZXIgMTIgZGF5cyIsZS5EYXkxND0iYWZ0ZXIgMTQgZGF5cyIsCmUuV2VlazE9ImFmdGVyIDEgd2VlayIsZS5XZWVrMj0iYWZ0ZXIgMiB3ZWVrcyIsZS5XZWVrMz0iYWZ0ZXIgMyB3ZWVrcyIsZS5XZWVrND0iYWZ0ZXIgNCB3ZWVrcyIsZS5GaW5pc2hlZD0iZmluaXNoZWQifShzfHwocz17fSkpfSw0NTAxNDAoZSx0LG8pe28uZCh0LHtNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5yLGluaXRNb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyOigpPT5hfSk7dmFyIG49byg4Mzk0MjYpLGk9byg4NDg5ODgpO2NvbnN0IHM9ImRhdGEtbW91c2UtY2xpY2stYXV0by1ibHVyIjtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5faGFuZGxlcj1lPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoKDAsaS5pc0tleWJvYXJkQ2xpY2spKGUpfHxlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJiJJTlBVVCIhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUmJm51bGwhPT1kb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoYFske3N9XWApJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlciwhMCl9c3RhdGljIGF0dHJpYnV0ZXMoZT0hMCl7cmV0dXJuIGU/e1tzXTohMH06e319fWNvbnN0IGE9KDAsbi5kZWZhdWx0KSgoKCk9Pm5ldyByKSl9LDUxODc1KGUsdCxvKXtmdW5jdGlvbiBuKGUpe2UucHJldmVudERlZmF1bHQoKX1vLmQodCx7cHJldmVudERlZmF1bHQ6KCk9Pm4scHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudTooKT0+c30pO2NvbnN0IGk9WyJpbnB1dDpub3QoW3R5cGVdKSIsJ2lucHV0W3R5cGU9InRleHQiXScsJ2lucHV0W3R5cGU9ImVtYWlsIl0nLCdpbnB1dFt0eXBlPSJwYXNzd29yZCJdJywnaW5wdXRbdHlwZT0ic2VhcmNoIl0nLCdpbnB1dFt0eXBlPSJudW1iZXIiXScsJ2lucHV0W3R5cGU9InVybCJdJywidGV4dGFyZWEiLCJhW2hyZWZdIiwnKltjb250ZW50ZWRpdGFibGU9InRydWUiXScsIltkYXRhLWFsbG93LWNvbnRleHQtbWVudV0iXTtmdW5jdGlvbiBzKGUpe2NvbnN0IHQ9ZS50YXJnZXQ7dCYmIXQuY2xvc2VzdChpLmpvaW4oIiwgIikpJiZlLnByZXZlbnREZWZhdWx0KCl9fSwxNTAxNTAoZSx0LG8pe28uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9PnMscmFuZG9tSGFzaE46KCk9PnJ9KTtjb25zdCBuPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBzKCl7cmV0dXJuIHIoMTIpfWZ1bmN0aW9uIHIoZSl7bGV0IHQ9IiI7Zm9yKGxldCBvPTA7bzxlOysrbyl7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPW5bZV19cmV0dXJuIHR9fSw1NDA1NzgoZSx0LG8pe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfW8uZCh0LHtyZWdFeHBFc2NhcGU6KCk9Pm59KX0sMTA3MDQ1KGUsdCxvKXtvLmQodCx7TnVtZXJpY0Zvcm1hdHRlcjooKT0+c30pO3ZhciBuPW8oNTk4OTIyKSxpPW8oNTQ2NDg1KTtjbGFzcyBze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMuX29wdGlvbnM9ZX1mb3JtYXQoZSx0PXt9KXtpZighTnVtYmVyLmlzRmluaXRlKGUpKXJldHVybiBTdHJpbmcoZSk7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om89dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQsbm9FeHBvbmVudGlhbEZvcm06cj10aGlzLl9vcHRpb25zLm5vRXhwb25lbnRpYWxGb3JtfT10LHttaW5QcmVjaXNpb246YSxwcmVjaXNpb246bH09dGhpcy5fb3B0aW9ucyxjPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShvKTtyZXR1cm4gdm9pZCAwPT09bD9zLl9mb3JtYXROb0VJbXBsKGUsYyxsLGEpOigwLG4uZm9ybWF0TnVtYmVyKShlLGMsbCxyLGEpfXBhcnNlKGUsdCl7Y29uc3R7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om8scHJlY2lzaW9uOnN9PXRoaXMuX29wdGlvbnMscj0oMCxpLmdldE51bWJlckZvcm1hdCkob3x8dD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0KTtsZXQgYT0oMCxuLnBhcnNlTnVtYmVyKShlLHIpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/KHMmJihhPSthLnRvRml4ZWQocykpLHtyZXM6ITAsdmFsdWU6YX0pOntyZXM6ITF9fXN0YXRpYyBmb3JtYXROb0UoZSx0KXtyZXR1cm4gdGhpcy5fZm9ybWF0Tm9FSW1wbChlLHQpfXN0YXRpYyBfZm9ybWF0Tm9FSW1wbChlLHQsbyxpKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUpPyh0PXQ/P3tncm91cGluZ1NlcGFyYXRvcjoiIixkZWNpbWFsU2lnbjoiLiJ9LCgwLG4uZm9ybWF0TnVtYmVyKShlLHQsbywhMCxpKSk6U3RyaW5nKGUpfX19LDEyNTIxOChlLHQsbyl7by5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9PnN9KTt2YXIgbj1vKDExNTI5MyksaT1vKDc1NTYyNyk7Y2xhc3MgcyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om89ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG8/KDAsbi5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgcyhlKX19fSw4NTYzMjQoZSx0LG8pe28uZCh0LHsKZ2V0TGFuZ3VhZ2U6KCk9PnMsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pml9KTtsZXQgbj1udWxsO2Z1bmN0aW9uIGkoZSl7bj1lfWZ1bmN0aW9uIHMoKXtpZighbil0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIG4oKX1sZXQgcj1lPT5lO2Z1bmN0aW9uIGEoZSl7cj1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHIoZSl9fSw5ODQzNzYoZSx0LG8pe28uZCh0LHtQTEFDRV9IT0xERVI6KCk9PnIsVm9sdW1lRm9ybWF0dGVyOigpPT5jfSk7dmFyIG49byg3ODMyNTQpLGk9byg2MDE4NDEpLHM9bygxMDcwNDUpO2NvbnN0IHI9Ii0tLSIsYT1be3ZhbHVlOjMsbGV0dGVyOiJLIn0se3ZhbHVlOjYsbGV0dGVyOiJNIn0se3ZhbHVlOjksbGV0dGVyOiJCIn0se3ZhbHVlOjEyLGxldHRlcjoiVCJ9XTtmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbz1lLXQ7cmV0dXJuIGEuZmluZCgoZT0+ZS52YWx1ZT49bykpPz9hW2EubGVuZ3RoLTFdfWNsYXNzIGN7Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJ2b2x1bWUiO2NvbnN0e3ByZWNpc2lvbjp0PTAsbWluUHJlY2lzaW9uOm89MCxkaW1lbnNpb25QcmVjaXNpb246bj0yLGRpbWVuc2lvbk1pblByZWNpc2lvbjppPTAsc2lnbmlmaWNhbnREaWdpdHM6cj0zLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLG5vRXhwb25lbnRpYWxGb3JtOmwscmVtb3ZlU3BhY2VCZWZvcmVEaW1lbnNpb246Y309ZTt0aGlzLl9wcmVjaXNpb249dCx0aGlzLl9mb3JtYXR0ZXI9bmV3IHMuTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX3ByZWNpc2lvbixtaW5QcmVjaXNpb246byxub0V4cG9uZW50aWFsRm9ybTpsfSksdGhpcy5fZGltZW5zaW9uUHJlY2lzaW9uPW4sdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyPW5ldyBzLk51bWVyaWNGb3JtYXR0ZXIoe2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDphLHByZWNpc2lvbjp0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24sbWluUHJlY2lzaW9uOmksbm9FeHBvbmVudGlhbEZvcm06bH0pLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzPXIsdGhpcy5fZnJhY3Rpb25hbFZhbHVlcz12b2lkIDAhPT10JiZ0PjAsdGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb249Yz8iIjoi4oCvIix0aGlzLl9vcHRpb25zPWV9c3RhdGUoKXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6ZSwuLi50fT10aGlzLl9vcHRpb25zO3JldHVybiB0fWZvcm1hdChlLHQpe2lmKCEoMCxpLmlzTnVtYmVyKShlKSlyZXR1cm4gcjtpZihNYXRoLmFicyhlKT49MWUxMDApcmV0dXJuIG4udChudWxsLHtjb250ZXh0OiJ2b2x1bWUtZm9ybWF0dGVyIn0sbyg1NzA2MikpO2xldCBzPSIiO01hdGguYWJzKGUpPDEmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSksZTwwP3M9IuKIkiI6ZT4wJiZ0Py5zaWduUG9zaXRpdmUmJihzPSIrIiksZT1NYXRoLmFicyhlKTtjb25zdCBhPSEhKHQ/Lmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdD8/dGhpcy5fb3B0aW9ucy5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBjLGgsZD1NYXRoLmZsb29yKE1hdGgubG9nMTAoZSkpKzE7aWYoZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMmJihlPStlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSksZDw9dGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpYz10aGlzLl9mb3JtYXROdW1iZXIoZSxhLHRoaXMuX2Zvcm1hdHRlcik7ZWxzZXtsZXQgdD1sKGQsdGhpcy5fc2lnbmlmaWNhbnREaWdpdHMpO2NvbnN0IG89TWF0aC5wb3coMTAsdC52YWx1ZSk7ZT0rKGUvbykudG9GaXhlZCh0aGlzLl9kaW1lbnNpb25QcmVjaXNpb24pKm8sdD1sKE1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMSx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyksYz10aGlzLl9mb3JtYXROdW1iZXIoZS9NYXRoLnBvdygxMCx0LnZhbHVlKSxhLHRoaXMuX2RpbWVuc2lvbkZvcm1hdHRlciksaD10LmxldHRlcn1yZXR1cm4gaD9gJHtzfSR7Y30ke3RoaXMuX3NwYWNlQmVmb3JlRGltZW5zaW9ufSR7aH1gOmAke3N9JHtjfWB9cGFyc2UoZSx0KXtpZihlPT09cilyZXR1cm57ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn07Y29uc3Qgbz17SzoxZTMsTToxZTYsQjoxZTksVDoxZTEyfSxuPShlPWUucmVwbGFjZSgi4oiSIiwiLSIpKS5zbGljZSgtMSk7aWYoby5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcz10aGlzLl9mb3JtYXR0ZXIucGFyc2UoZS5zbGljZSgwLC0xKS50cmltKCksdCkscj1zLnJlcz9zLnZhbHVlOk5hTjtyZXR1cm4oMCxpLmlzTnVtYmVyKShyKT97cmVzOiEwLHZhbHVlOnIqb1tuXX06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnRyaW0oKSx0KTtsZXQgbj1vLnJlcz9vLnZhbHVlOk5hTjtyZXR1cm4tMD09PW4mJihuPTApLCgwLGkuaXNOdW1iZXIpKG4pP3tyZXM6ITAsdmFsdWU6bn06e2Vycm9yOiJub3QgYSBudW1iZXIiLHJlczohMSx2YWx1ZTpOYU59fX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgYyhlKX1fZm9ybWF0TnVtYmVyKGUsdCxvKXtpZih0aGlzLl9mcmFjdGlvbmFsVmFsdWVzJiYwIT09ZSl7Y29uc3QgdD0xNC1NYXRoLmNlaWwoTWF0aC5sb2cxMChlKSksbz1NYXRoLnBvdygxMCx0KTtlPU1hdGgucm91bmQoZSpvKS9vfXJldHVybiBvLmZvcm1hdChlLHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6dH0pfX19LDc3MzA4OChlLHQsbyl7dmFyIG47ZnVuY3Rpb24gaShlLHQpewpyZXR1cm4icGVyaW9kLWJhY2siPT09ZS50eXBlJiYicGVyaW9kLWJhY2siPT09dC50eXBlP2UudmFsdWU9PT10LnZhbHVlOiJ0aW1lLXJhbmdlIj09PWUudHlwZSYmInRpbWUtcmFuZ2UiPT09dC50eXBlJiYoZS5mcm9tPT09dC5mcm9tJiZlLnRvPT09dC50byl9ZnVuY3Rpb24gcyhlLHQ9ITEpe2lmKCJwZXJpb2QtYmFjayI9PT1lLnR5cGUpe2xldCBvPWUudmFsdWU7cmV0dXJuIHQmJiJZVEQiIT09byYmIkQiPT09by5zbGljZSgtMSkmJihvPW8uc2xpY2UoMCwtMSkpLG99cmV0dXJuInIsIitlLmZyb20rIjoiK2UudG99ZnVuY3Rpb24gcihlKXtjb25zdCB0PS9yLChcZCspOihcZCspLy5leGVjKGUpO3JldHVybiBudWxsIT09dD97ZnJvbTpOdW1iZXIodFsxXSksdG86TnVtYmVyKHRbMl0pLHR5cGU6InRpbWUtcmFuZ2UifTp7dmFsdWU6ZSx0eXBlOiJwZXJpb2QtYmFjayJ9fW8uZCh0LHthcmVFcXVhbFRpbWVGcmFtZXM6KCk9PmksY29udmVydFN0clRvVGltZUZyYW1lOigpPT5yLGNvbnZlcnRUaW1lRnJhbWVUb1N0cjooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUGVyaW9kQmFjaz0icGVyaW9kLWJhY2siLGUuVGltZVJhbmdlPSJ0aW1lLXJhbmdlIn0obnx8KG49e30pKX0sMzQ1MTUxKGUsdCxvKXtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnMsaG90S2V5U2VyaWFsaXplOigpPT5pfSk7dmFyIG49byg2NDE1OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAsbi5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxuLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTYwMjk2KGUsdCxvKXtvLmQodCx7ZW52aXJvbm1lbnQ6KCk9PmksaXNEZWJ1ZzooKT0+YSxpc0xvY2FsOigpPT5zLGlzUHJvZDooKT0+cn0pO2NvbnN0IG49bmV3IFNldChbImJhdHRsZSIsInN0YWdpbmciLCJ0ZXN0IiwibG9jYWwiXSk7ZnVuY3Rpb24gaSgpe2NvbnN0IGU9c2VsZi5lbnZpcm9ubWVudDtyZXR1cm4gZnVuY3Rpb24oZSl7bi5oYXMoZSl8fGNvbnNvbGUud2FybigiSW52YWxpZCBlbnZpcm9ubWVudCAiK2UpfShlKSxlfWZ1bmN0aW9uIHMoKXtyZXR1cm4ibG9jYWwiPT09aSgpfWZ1bmN0aW9uIHIoKXtyZXR1cm4iYmF0dGxlIj09PWkoKX1mdW5jdGlvbiBhKCl7cmV0dXJuIXIoKX19LDQyOTY2KGUsdCxvKXt2YXIgbj1vKDg1NjMyNCksaT1vKDk2MzA5OCk7KDAsbi5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxuLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDgxMDQxKGUsdCxvKXtvLmQodCx7U3RkVGhlbWU6KCk9Pm4uU3RkVGhlbWV9KTt2YXIgbj1vKDI0NzkwMSl9LDQwNzc5OShlLHQsbyl7by5kKHQse2VuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmc6KCk9Pml9KTt2YXIgbj1vKDExMTk1Myk7ZnVuY3Rpb24gaShlKXtyZXR1cm4oMCxuLmVuY29kZUV4dGVuZGVkU3ltYm9sU3RydWN0dXJhbCkoZSl9fSw2MTk5OTIoZSx0LG8pe28uZCh0LHtpc1RpY2tzRW5hYmxlZDooKT0+aX0pO3ZhciBuPW8oMzE4OTc0KTtvKDkzMDIzMSk7ZnVuY3Rpb24gaSgpe3JldHVybiEoMCxuLm9uV2lkZ2V0KSgpfX0sNjEwMjY4KGUsdCxvKXsoMCxvKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw0Mzg1MzkoZSx0LG8pe2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3R7cmVuZGVyR29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6dH09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg1NDk4KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgyOTUzNiksby5lKDUxODQpLG8uZSg1NjI1Miksby5lKDM5MDUpLG8uZSg3NDgzMCksby5lKDUwNjIyKSxvLmUoMzMyMjEpLG8uZSgxMTcyNSksby5lKDUxMzA5KSxvLmUoMTEyNTcpLG8uZSgzMjM4Nyksby5lKDE3OTkxKSxvLmUoMTI5NjUpLG8uZSg2ODc0MSksby5lKDgzNzgxKSxvLmUoNTI4MTEpLG8uZSg1Mzg4MSldKS50aGVuKG8uYmluZChvLDQ3NTgwNikpO3QoZSl9by5kKHQse3Nob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZzooKT0+bn0pfSwzODE1MTcoZSx0LG8pe28uZCh0LHtpc1RyaWFsQXZhaWxhYmxlRm9yVXNlcjooKT0+aX0pO3ZhciBuPW8oOTEzNzA2KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1lLmF2YWlsYWJsZV9vZmZlcnN8fHt9O3JldHVybiB0JiZ2b2lkIDAhPT1vW24uT0ZGRVJTLnRyaWFsXX19LDI4NDQ4NChlLHQsbyl7by5yKHQpLG8uZCh0LHtRdW90ZVRpY2tlcjooKT0+U30pO3ZhciBuPW8oOTY0NDg2KSxpPW8oMjIxMDYxKSxzPW8oNjAxODQxKSxyPW8oMTI1MjE4KSxhPW8oODkxNzc4KSxsPW8oNzU1NjI3KSxjPW8oOTg0Mzc2KSxoPW8oNTYzOTE4KSxkPW8oMzA2OTApLHU9byg1MjgzOTYpLG09bygxMTM1NjcpLGc9bygxNTk1MTMpLF89byg5NzMxMTkpLHA9byg2MDI4NyksZj1vKDc4Njc2MCksdz1vKDEwMTcxMik7Y29uc3Qgdj0oMCxpLmdldExvZ2dlcikoIlF1b3RlVGlja2VyIikseT17YWRkRGVzY3JpcHRpb25UaXRsZTohMCxjaGFuZ2VEaXJlY3Rpb25Eb3duQ2xhc3M6ImRvd24iLGNoYW5nZURpcmVjdGlvblVwQ2xhc3M6InVwIixjaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3M6Im5ldXRyYWwiLGNoYW5nZUluQnJhY2tldHM6ITEsY2hhbmdlUGVyY2VudEluQnJhY2tldHM6ITEsbGFzdFByaWNlVGltZUluQnJhY2tldHM6ITAsbGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHM6ITAscnRjVGltZUluQnJhY2tldHM6ITAsY2xpZW50TmFtZToicXVvdGUtdGlja2VyIixkb250RHllUHJpY2U6ITEsZmFsbGluZ0JnOm51bGwsZ3Jvd2luZ0JnOm51bGwsbGFzdEZhbGxpbmdDbGFzczoiZmFsbGluZyIsbGFzdEdyb3dpbmdDbGFzczoiZ3Jvd2luZyIscXVvdGVTZXNzaW9uOm51bGwsc2lnbk5lZ2F0aXZlOiEwLHNpZ25Qb3NpdGl2ZTohMSxjdXN0b21QcmljZUZvcm1hdHRlcjpudWxsLGN1c3RvbVRpbWVGb3JtYXR0ZXI6bnVsbCwKc2Vzc2lvblN0YXR1c0NsYXNzU3VmZml4OiItLWZvci10aWNrZXIiLGRhdGFNb2RlQ2xhc3NTdWZmaXg6Ii0tZm9yLXRpY2tlciIsc2hvd0ludmFsaWRTeW1ib2xTdGF0dXM6ITEsaW5kaWNhdG9yc1Rvb2x0aXBUeXBlOiJjdXN0b20iLGxhc3RQcmljZUxhc3RDaGFyU3VwOiExLGxhc3RQcmljZUhpZ2hsaWdodERpZmZPbmx5OiExLGluaXRlZEhvb2s6dm9pZCAwLHNldFN0YXRlSG9vazp2b2lkIDAscGVybWlzc2lvbkRlbmllZEhvb2s6dm9pZCAwLG5vU3VjaFN5bWJvbEhvb2s6dm9pZCAwfSxiPS9bS01CVF0vO2Z1bmN0aW9uIFMoZSx0LG89e30pe3RoaXMuZW5hYmxlZD0hMCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zeW1ib2xPcmlnaW5hbD1udWxsLHRoaXMuX29wdGlvbnM9KDAsbi5kZWVwRXh0ZW5kKSh7fSx5LG8pLCExIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJiEwIT09dGhpcy5fb3B0aW9ucy5zaWduTmVnYXRpdmUmJmRlbGV0ZSB0aGlzLl9vcHRpb25zLnNpZ25OZWdhdGl2ZSxvLmN1c3RvbVByaWNlRm9ybWF0dGVyJiYodGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXI9by5jdXN0b21QcmljZUZvcm1hdHRlciksby5jdXN0b21UaW1lRm9ybWF0dGVyJiYodm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLmxhc3RQcmljZXx8dm9pZCAwIT09by5jdXN0b21UaW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl90aW1lRm9ybWF0dGVyPW8uY3VzdG9tVGltZUZvcm1hdHRlcjp0aGlzLl90aW1lRm9ybWF0dGVyPXtsYXN0UHJpY2U6by5jdXN0b21QcmljZUZvcm1hdHRlcixydGM6by5jdXN0b21QcmljZUZvcm1hdHRlcn0pLHRoaXMuX3BlcmNlbnRGb3JtYXR0ZXI9bmV3IHIuUGVyY2VudGFnZUZvcm1hdHRlcix0aGlzLl9kZWZhdWx0UHJpY2VGb3JtYXR0ZXI9bmV3IGwuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwfSksdGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2RlZmF1bHRQcmljZUZvcm1hdHRlcix0aGlzLl92b2x1bWVGb3JtYXR0ZXI9bmV3IGMuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pLHRoaXMuX2NhY2hlPXt9LHRoaXMuX2xhc3RQcmljZT1udWxsLHRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZD0iIix0aGlzLl9sYXN0TWluTW92ZT0wLHRoaXMuX2VsZW1lbnRzPXt9LHRoaXMuX3RleHROb2Rlcz17fSx0aGlzLl9jaGFuZ2VWb2x1bWVMZXR0ZXI9dGhpcy5fZ2V0Q2hhbmdlVm9sdW1lTGV0dGVyQ2FsbGJhY2soKSx0aGlzLl9zZXRFbGVtZW50cyh0KSx0aGlzLl9oaWdobGlnaHRlcnM9e30sdGhpcy5faW5pdEhpZ2hsaWdodGVycygpLHRoaXMuX29wdGlvbnMuc2V0U3RhdGVIb29rJiZ0aGlzLnNldFN0YXRlSG9vayh0aGlzLl9vcHRpb25zLnNldFN0YXRlSG9vayksdGhpcy5xdW90ZVNlc3Npb249dGhpcy5fb3B0aW9ucy5xdW90ZVNlc3Npb258fCgwLGcuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSx0aGlzLl9xdW90ZVNlc3Npb25FdmVudEhhbmRsZXI9dGhpcy5vbkRhdGEuYmluZCh0aGlzKSx0aGlzLl9jb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMCl9ZnVuY3Rpb24gTihlKXtjb25zdCB0PWUuc2VhcmNoKGIpLG89dD49MD9lLnNsaWNlKHQpOiIiO3JldHVyblt0PjA/ZS5zdWJzdHJpbmcodCwwKTowPT09dD8iIjplLG9dfWZ1bmN0aW9uIFQoZSx0LG8sbixpKXt2YXIgcyxyPW51bGw7ZnVuY3Rpb24gYSgpe2lmKHMmJihjbGVhclRpbWVvdXQocykscz12b2lkIDApLG98fHQpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5iYWNrZ3JvdW5kPSIiO2lmKCFvfHwhdClmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKW4mJmVbcl0uY2xhc3NMaXN0LnJlbW92ZShuKSxpJiZlW3JdLmNsYXNzTGlzdC5yZW1vdmUoaSl9cmV0dXJue3Nob3c6ZnVuY3Rpb24obCl7dmFyIGM9MDtpZihsIT09cil7aWYobnVsbCE9PXImJm51bGwhPT1sJiYoYz1sLXIpLGEoKSxzPXNldFRpbWVvdXQoYSw3NTApLDA8Yyl7aWYodClmb3IodmFyIGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLnN0eWxlLmJhY2tncm91bmQ9dDtlbHNlIGlmKG4pZm9yKGg9MDtoPGUubGVuZ3RoO2grKyllW2hdLmNsYXNzTGlzdC5hZGQobil9ZWxzZSBpZihjPDApaWYobylmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uc3R5bGUuYmFja2dyb3VuZD1vO2Vsc2UgaWYoaSlmb3IoaD0wO2g8ZS5sZW5ndGg7aCsrKWVbaF0uY2xhc3NMaXN0LmFkZChpKTtudWxsIT09bCYmKHI9bCl9fSxoaWRlOmF9fVMucHJvdG90eXBlLl9zZXRFbGVtZW50cz1mdW5jdGlvbihlKXt0aGlzLl9jb250YWluZXI9ZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlIiwic3ltYm9sLWNoYW5nZSJdKSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb249dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtY2hhbmdlLWRpcmVjdGlvbiIsInN5bWJvbC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1kaXJlY3Rpb24iXSksdGhpcy5fZWxlbWVudHMuY2hhbmdlUGVyY2VudD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1jaGFuZ2UtcHQiLCJzeW1ib2wtY2hhbmdlLXB0Il0pLHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLWRlc2NyaXB0aW9uLW5hbWUiLCJzeW1ib2wtZGVzY3JpcHRpb24tbmFtZSJdKSx0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2U9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZSIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZmluZEVsZW1lbnRzKGUsImpzLXN5bWJvbC1leHQtaHJzLWNoYW5nZS1wdCIpLHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtZXh0LWhycy1jbG9zZSIpLAp0aGlzLl9lbGVtZW50cy5uaWdodENoYW5nZURpcmVjdGlvbj10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1uaWdodC1jaGFuZ2UtZGlyZWN0aW9uIl0pLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlIiksdGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50PXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbmlnaHQtY2hhbmdlLXB0IiksdGhpcy5fZWxlbWVudHMubmlnaHRDbG9zZT10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLW5pZ2h0LWNsb3NlIiksdGhpcy5fZWxlbWVudHMuaW5kdXN0cnk9dGhpcy5fZmluZEVsZW1lbnRzKGUsWyJqcy1zeW1ib2wtaW5kdXN0cnkiLCJzeW1ib2wtaW5kdXN0cnkiXSksdGhpcy5fZWxlbWVudHMubGFzdD10aGlzLl9maW5kRWxlbWVudHMoZSxbImpzLXN5bWJvbC1sYXN0Iiwic3ltYm9sLWxhc3QiXSksdGhpcy5fZWxlbWVudHMuc2VjdG9yPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNlY3RvciIsInN5bWJvbC1zZWN0b3IiXSksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cz10aGlzLl9maW5kRWxlbWVudHMoZSwianMtc3ltYm9sLXNlc3Npb24tc3RhdHVzIiksdGhpcy5fZWxlbWVudHMuc2hvcnROYW1lPXRoaXMuX2ZpbmRFbGVtZW50cyhlLFsianMtc3ltYm9sLXNob3J0LW5hbWUiLCJzeW1ib2wtc2hvcnQtbmFtZSJdKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1kYXRhLW1vZGUiKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kPXRoaXMuX2ZpbmRFbGVtZW50cyhlLCJqcy1zeW1ib2wtbGFzdC1wZXJpb2QiKSx0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKSkpLHRoaXMuX3RleHROb2Rlcy5jaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuY2hhbmdlKSx0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlUGVyY2VudD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0NoYW5nZSksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0NoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksdGhpcy5fdGV4dE5vZGVzLmV4dEhyc0Nsb3NlPXRoaXMuX2dldE9yQ3JlYXRlVGV4dE5vZGVzKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2U9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2UpLHRoaXMuX3RleHROb2Rlcy5uaWdodENoYW5nZVBlcmNlbnQ9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VQZXJjZW50KSx0aGlzLl90ZXh0Tm9kZXMubmlnaHRDbG9zZT10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlKSx0aGlzLl90ZXh0Tm9kZXMubGFzdD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0KSx0aGlzLl90ZXh0Tm9kZXMub3Blbj10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1vcGVuIiksdGhpcy5fdGV4dE5vZGVzLmVwcz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1lcHMiKSx0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLW1hcmtldC1jYXAiKSx0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXByZXYtY2xvc2UiKSx0aGlzLl90ZXh0Tm9kZXMuZGl2aWRlbmRzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLWRpdmlkZW5kcyIpLHRoaXMuX3RleHROb2Rlcy5wcmljZUVhcm5pbmdzPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXBlIiksdGhpcy5fdGV4dE5vZGVzLnZvbHVtZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC12b2x1bWUiKSx0aGlzLl90ZXh0Tm9kZXMuaGlnaD10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1oaWdoIiksdGhpcy5fdGV4dE5vZGVzLmxvdz10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sb3ciKSx0aGlzLl90ZXh0Tm9kZXMuY3VycmVuY3k9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtY3VycmVuY3kiKSx0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1scC10aW1lIiksdGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZT10aGlzLl9maW5kVGV4dE5vZGVzKGUsImpzLXN5bWJvbC1sYXN0LXJlbGVhc2UtZGF0ZSIpLHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lPXRoaXMuX2ZpbmRUZXh0Tm9kZXMoZSwianMtc3ltYm9sLXJ0Yy10aW1lIiksdGhpcy5fdGV4dE5vZGVzLm50Y1RpbWU9dGhpcy5fZmluZFRleHROb2RlcyhlLCJqcy1zeW1ib2wtbnRjLXRpbWUiKSx0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0PXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZWxlbWVudHMubGFzdC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3BhbiIpKSk6dGhpcy5fZWxlbWVudHMubGFzdCx0aGlzLl90ZXh0Tm9kZXMubGFzdEhpZ2hsaWdodD10aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9lbGVtZW50cy5sYXN0SGlnaGxpZ2h0KSx0aGlzLl9lbGVtZW50cy5sYXN0U3VwPXRoaXMuX29wdGlvbnMubGFzdFByaWNlTGFzdENoYXJTdXA/dGhpcy5fZWxlbWVudHMubGFzdEhpZ2hsaWdodC5tYXAoKGU9PnRoaXMuX2FwcGVuZEFuZEdldE5ld0VsZW1lbnQoZSwic3VwIikpKTpbXSwKdGhpcy5fdGV4dE5vZGVzLmxhc3RTdXA9dGhpcy5fZ2V0T3JDcmVhdGVUZXh0Tm9kZXModGhpcy5fZWxlbWVudHMubGFzdFN1cCl9LFMucHJvdG90eXBlLl9maW5kRWxlbWVudHM9ZnVuY3Rpb24oZSx0KXt2YXIgbz0oMCxzLmlzQXJyYXkpKHQpP3Q6W3RdO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLG8ubWFwKCh0PT5BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCkpKSkpfSxTLnByb3RvdHlwZS5fZmluZFRleHROb2Rlcz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9nZXRPckNyZWF0ZVRleHROb2Rlcyh0aGlzLl9maW5kRWxlbWVudHMoZSx0KSl9LFMucHJvdG90eXBlLl9nZXRPckNyZWF0ZVRleHROb2Rlcz1mdW5jdGlvbihlKXtyZXR1cm4gZS5tYXAoKGU9Pnt2YXIgdD10aGlzLl9nZXRGaXJzdFRleHROb2RlKGUpO3JldHVybiB0fHwodD1lLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpLGUuYXBwZW5kQ2hpbGQodCkpLHR9KSl9LFMucHJvdG90eXBlLl9hcHBlbmRBbmRHZXROZXdFbGVtZW50PWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LFMucHJvdG90eXBlLl9nZXRGaXJzdFRleHROb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmNoaWxkTm9kZXMsbz10Lmxlbmd0aC0xO28+PTA7by0tKWlmKDM9PT10Lml0ZW0obykubm9kZVR5cGUpcmV0dXJuIHQuaXRlbShvKTtyZXR1cm4gbnVsbH0sUy5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlKXt0aGlzLl9zdWJzY3JpYmVkfHwodGhpcy5fc3Vic2NyaWJlZFN5bWJvbD1lfHx0aGlzLl9zeW1ib2wsdGhpcy5xdW90ZVNlc3Npb24uc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMCl9LFMucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fY29ubmVjdFRpbWVvdXRJZCksdGhpcy5fc3Vic2NyaWJlZCYmKHRoaXMucXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX29wdGlvbnMuY2xpZW50TmFtZSx0aGlzLl9zdWJzY3JpYmVkU3ltYm9sLHRoaXMuX3F1b3RlU2Vzc2lvbkV2ZW50SGFuZGxlciksdGhpcy5fc3Vic2NyaWJlZD0hMSl9LFMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlLHQpe3RoaXMuZW5hYmxlZCYmKCJvayI9PT1lLnN0YXR1cz90aGlzLnN1Y2Nlc3NEYXRhKGUsdCk6InBlcm1pc3Npb25fZGVuaWVkIj09PWUuc3RhdHVzP3RoaXMub25QZXJtaXNzaW9uRGVuaWVkKGUpOiJlcnJvciI9PT1lLnN0YXR1cyYmdGhpcy5lcnJvckRhdGEoZSkpfSxTLnByb3RvdHlwZS5zdWNjZXNzRGF0YT1mdW5jdGlvbihlLHQpe2UudmFsdWVzJiZ0aGlzLnNldFN0YXRlKGUudmFsdWVzLGUsdCl9LFMucHJvdG90eXBlLm9uUGVybWlzc2lvbkRlbmllZD1mdW5jdGlvbihlKXsoMCx3LmlzU2ZRdW90ZURhdGEpKGUpfHwoMCxmLmlzTWN4UXVvdGVEYXRhKShlKT90aGlzLl9vcHRpb25zLnBlcm1pc3Npb25EZW5pZWRIb29rP3RoaXMuX29wdGlvbnMucGVybWlzc2lvbkRlbmllZEhvb2soZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKTp0aGlzLmVycm9yRGF0YShlKTp0aGlzLmRvd25ncmFkZURhdGEoZSl9LFMucHJvdG90eXBlLmVycm9yRGF0YT1mdW5jdGlvbihlKXt0aGlzLl9vcHRpb25zLnNob3dJbnZhbGlkU3ltYm9sU3RhdHVzJiYodGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sKSx0aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgoZT0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDplLGRhdGE6e3ZhbHVlczp7Y3VycmVudF9zZXNzaW9uOiJpbnZhbGlkIn19LHRvb2x0aXBUeXBlOnRoaXMuX29wdGlvbnMuaW5kaWNhdG9yc1Rvb2x0aXBUeXBlfSkpKSksdGhpcy5fb3B0aW9ucy5ub1N1Y2hTeW1ib2xIb29rPyh0aGlzLl9zeW1ib2xPcmlnaW5hbCYmdGhpcy5zZXRTaG9ydE5hbWUodGhpcy5fc3ltYm9sT3JpZ2luYWwpLHRoaXMuX29wdGlvbnMubm9TdWNoU3ltYm9sSG9vay5jYWxsKHRoaXMsZSx0aGlzLl9zeW1ib2xPcmlnaW5hbHx8dGhpcy5fc3ltYm9sKSk6di5sb2dXYXJuKCJObyBkYXRhIGZvcjogIit0aGlzLl9zeW1ib2wpfSxTLnByb3RvdHlwZS5kb3duZ3JhZGVEYXRhPWZ1bmN0aW9uKGUpe3tjb25zdCB0PWUmJmUudmFsdWVzJiZlLnZhbHVlcy5hbHRlcm5hdGl2ZSxvPXRoaXMuX3N5bWJvbD09PXQ7aWYoISh0JiYtMSE9PXQuaW5kZXhPZigiOiIpKXx8bylyZXR1cm4gdm9pZCB0aGlzLmVycm9yRGF0YShlKTt0aGlzLl9zeW1ib2xPcmlnaW5hbD10aGlzLl9zeW1ib2wsdGhpcy5fc3ltYm9sPXQsdGhpcy5fc3Vic2NyaWJlZD0hMSx0aGlzLmNvbm5lY3QoKX19LFMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCxuKXtjb25zdCBpPW4udmFsdWVzO3RoaXMuX2lzVm9sdW1lRm9ybWF0PSJ2b2x1bWUiPT09ZS5mb3JtYXQsbnVsbD09aS5wcmljZXNjYWxlJiZudWxsPT1pLm1pbm1vdiYmbnVsbD09aS5mcmFjdGlvbmFsJiZudWxsPT1pLm1pbm1vdmUyfHwodGhpcy5fcHJpY2VGb3JtYXR0ZXI9dGhpcy5fY3VzdG9tUHJpY2VGb3JtYXR0ZXJ8fHRoaXMuX2lzVm9sdW1lRm9ybWF0JiZ0aGlzLl92b2x1bWVGb3JtYXR0ZXJ8fG5ldyBsLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOmUucHJpY2VzY2FsZXx8MTAwLG1pbk1vdmU6ZS5taW5tb3Z8fDEsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWluTW92ZTI6ZS5taW5tb3ZlMn0pKQo7Y29uc3Qgcz10aGlzLl9vcHRpb25zLHI9dGhpcy5fcGVyY2VudEZvcm1hdHRlcixhPXRoaXMuX3ByaWNlRm9ybWF0dGVyLGc9dGhpcy5fZGVmYXVsdFByaWNlRm9ybWF0dGVyLGY9dGhpcy5fdm9sdW1lRm9ybWF0dGVyLHc9KGUsdD0hMCk9PnQ/YCgke2V9KWA6ZSx5PXZvaWQgMCE9PXMuc2lnblBvc2l0aXZlQ2hhbmdlP3Muc2lnblBvc2l0aXZlQ2hhbmdlOnMuc2lnblBvc2l0aXZlLGI9ZT0+KDAsXy5xdW90ZVRpY2tlckZvcm1hdENoYW5nZSkoZSxpLHMpLFM9ZT0+e2NvbnN0IHQ9ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnksc2lnbk5lZ2F0aXZlOnMuc2lnbk5lZ2F0aXZlfSk7cmV0dXJuIHcodCxzLmNoYW5nZVBlcmNlbnRJbkJyYWNrZXRzKX0sTj1hLmZvcm1hdC5iaW5kKGEpLFQ9Zy5mb3JtYXQuYmluZChnKSxFPWYuZm9ybWF0LmJpbmQoZiksQz1lPT5udWxsPT1lP2MuUExBQ0VfSE9MREVSOlQoZSk7cy5kaXNhYmxlQ2hhbmdlfHwodGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuY2hhbmdlLGkuY2hhbmdlLGIpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmNoYW5nZVBlcmNlbnQsaS5jaGFuZ2VfcGVyY2VudCxTKSxudWxsIT1pLmNoYW5nZSYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLmNoYW5nZSx0aGlzLl9lbGVtZW50cy5jaGFuZ2VQZXJjZW50KSxpLmNoYW5nZSxzLmNoYW5nZVVwRm9udENvbG9yLHMuY2hhbmdlRG93bkZvbnRDb2xvcixzLmNoYW5nZU5ldXRyYWxGb250Q29sb3IpLHRoaXMuX3NldENoYW5nZURpcmVjdGlvbih0aGlzLl9lbGVtZW50cy5jaGFuZ2VEaXJlY3Rpb24saS5jaGFuZ2UpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5leHRIcnNDaGFuZ2UsaS5yY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2hhbmdlUGVyY2VudCxpLnJjaHAsUyksbnVsbCE9aS5yY2gmJihzLmRvbnREeWVQcmljZXx8dGhpcy5fc2V0Q2hhbmdlRm9udENvbG9yKFtdLmNvbmNhdCh0aGlzLl9lbGVtZW50cy5leHRIcnNDaGFuZ2UsdGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlUGVyY2VudCksaS5yY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMuZXh0SHJzQ2hhbmdlRGlyZWN0aW9uLGkucmNoKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2UsaS5uY2gsYiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubmlnaHRDaGFuZ2VQZXJjZW50LGkubmNocCxTKSxudWxsIT1pLm5jaCYmKHMuZG9udER5ZVByaWNlfHx0aGlzLl9zZXRDaGFuZ2VGb250Q29sb3IoW10uY29uY2F0KHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlLHRoaXMuX2VsZW1lbnRzLm5pZ2h0Q2hhbmdlUGVyY2VudCksaS5uY2gscy5jaGFuZ2VVcEZvbnRDb2xvcixzLmNoYW5nZURvd25Gb250Q29sb3Iscy5jaGFuZ2VOZXV0cmFsRm9udENvbG9yKSx0aGlzLl9zZXRDaGFuZ2VEaXJlY3Rpb24odGhpcy5fZWxlbWVudHMubmlnaHRDaGFuZ2VEaXJlY3Rpb24saS5uY2gpKSksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMucHJldkNsb3NlLGkucHJldl9jbG9zZV9wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5kaXZpZGVuZHMsZS5kaXZpZGVuZHNfeWllbGQsKGU9Pm51bGw9PWU/Yy5QTEFDRV9IT0xERVI6ci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOnMuc2lnblBvc2l0aXZlLHNpZ25OZWdhdGl2ZTpzLnNpZ25OZWdhdGl2ZX0pKSwhMCk7bGV0IHg9KDAsdS5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKGkpO2lmKHgmJih4PXRoaXMuX3ByZXBhcmVTeW1ib2xEZXNjcmlwdGlvbih4KSx0aGlzLl9zZXRUZXh0c0NvbnRlbnQodGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb24seCksdGhpcy5fb3B0aW9ucy5hZGREZXNjcmlwdGlvblRpdGxlKSlmb3IodmFyIEw9MDtMPHRoaXMuX2VsZW1lbnRzLmRlc2NyaXB0aW9uLmxlbmd0aDtMKyspdGhpcy5fZWxlbWVudHMuZGVzY3JpcHRpb25bTF0uc2V0QXR0cmlidXRlKCJ0aXRsZSIseCk7aWYoKG51bGwhPWkuc2hvcnRfbmFtZXx8bnVsbCE9aS5leGNoYW5nZSkmJmUuc2hvcnRfbmFtZSl7dmFyIEQ9ZS5zaG9ydF9uYW1lOyJRVUFOREwiPT09ZS5leGNoYW5nZSYmdm9pZCAwIT09ZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMV0mJihEPWUuc2hvcnRfbmFtZS5zcGxpdCgiLyIpWzFdKyIsICIrZS5zaG9ydF9uYW1lLnNwbGl0KCIvIilbMF0pLHRoaXMuc2V0U2hvcnROYW1lKEQpfWVbInJlZmVyZW5jZS1sYXN0LXBlcmlvZCJdJiZ0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmUHJvbWlzZS5hbGwoW28uZSgyMzU2Nyksby5lKDczOTcpXSkudGhlbihvLmJpbmQobywyMTU1NzkpKS50aGVuKCh0PT57dGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmxhc3RQZXJpb2QsdC5wZXJpb2RGb3JtYXR0ZXIoZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0pKX0pKSx0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLmxlbmd0aCYmdm9pZCAwPT09ZVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIl0mJnRoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5sYXN0UGVyaW9kLCLigJQiKSx0aGlzLl9zZXRMYXN0VmFsdWUoaS5sYXN0X3ByaWNlLGkubWlubW92ZTIsTiksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMuZXh0SHJzQ2xvc2UsaS5ydGMsTiksaS5ydGMmJnRoaXMuX2hpZ2hsaWdodGVycy5leHRIcnNDbG9zZS5zaG93KGkucnRjKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5uaWdodENsb3NlLGkubnRjLE4pLGkubnRjJiZ0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZS5zaG93KGkubnRjKSwKaS5pbmR1c3RyeSYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLmluZHVzdHJ5LGUuaW5kdXN0cnksKGU9PmUpKSxpLnNlY3RvciYmdGhpcy5fc2V0VGV4dHNDb250ZW50KHRoaXMuX2VsZW1lbnRzLnNlY3RvcixlLnNlY3RvciksdGhpcy5fZWxlbWVudHMuc2Vzc2lvblN0YXR1cyYmaS5jdXJyZW50X3Nlc3Npb24mJih0aGlzLl9zZXNzaW9uU3RhdHVzSW5zdGFuY2VzP3RoaXMuX3Nlc3Npb25TdGF0dXNJbnN0YW5jZXMuZm9yRWFjaCgoZT0+ZS5zZXRTdGF0dXMoaS5jdXJyZW50X3Nlc3Npb24pKSk6dGhpcy5fc2Vzc2lvblN0YXR1c0luc3RhbmNlcz10aGlzLl9lbGVtZW50cy5zZXNzaW9uU3RhdHVzLm1hcCgodD0+bmV3IGguTWFya2V0U3RhdHVzSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLnNlc3Npb25TdGF0dXNDbGFzc1N1ZmZpeCxlbDp0LHNob3J0OiEwLGRhdGE6e3ZhbHVlczppfSxxdW90ZVNlc3Npb246dGhpcy5xdW90ZVNlc3Npb24sc3ltYm9sOmUub3JpZ2luYWxfbmFtZSxtYW51YWxVcGRhdGU6ITAsdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGUsc2Vzc2lvblN0YXR1c0ljb246dGhpcy5fb3B0aW9ucy5zZXNzaW9uU3RhdHVzSWNvbn0pKSkpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm9wZW4saS5vcGVuX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmhpZ2gsaS5oaWdoX3ByaWNlLE4pLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxvdyxpLmxvd19wcmljZSxOKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5lcHMsZS5lYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtLEMsITApLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLnByaWNlRWFybmluZ3MsZS5wcmljZV9lYXJuaW5nc190dG0sQywhMCksdGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubWFya2V0Q2FwLGUubWFya2V0X2NhcF9iYXNpYyxFLCEwKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy52b2x1bWUsZS52b2x1bWUsRSwhMCk7Y29uc3QgRj0oMCxtLnByZXBhcmVDdXJyZW5jeVZhbHVlKShpKTtpZihGJiZ0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5jdXJyZW5jeSxGLHAucXVvdGVUaWNrZXJGb3JtYXRDdXJyZW5jeSwhMCksKGkubHBfdGltZXx8ZS5scF90aW1lKSYmdGhpcy5fdGV4dE5vZGVzLmxhc3RQcmljZVRpbWUubGVuZ3RoJiYodGhpcy5fdGltZUZvcm1hdHRlciYmdGhpcy5fdGltZUZvcm1hdHRlci5sYXN0UHJpY2U/dGhpcy5fc2V0Tm9kZXNWYWx1ZSh0aGlzLl90ZXh0Tm9kZXMubGFzdFByaWNlVGltZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFByaWNlKGUubHBfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoImxhc3QgcHJpY2UgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkubGFzdF9yZWxlYXNlX2RhdGV8fGUubGFzdF9yZWxlYXNlX2RhdGUpJiZ0aGlzLl90ZXh0Tm9kZXMubGFzdFJlbGVhc2VEYXRlLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RSZWxlYXNlRGF0ZSx3KHRoaXMuX3RpbWVGb3JtYXR0ZXIubGFzdFJlbGVhc2VEYXRlKGUubGFzdF9yZWxlYXNlX2RhdGUsZS5jdXJyZW50X3Nlc3Npb24pLHRoaXMuX29wdGlvbnMubGFzdFJlbGVhc2VEYXRlVGltZUluQnJhY2tldHMpKTp2LmxvZ0Vycm9yKCJsYXN0UmVsZWFzZURhdGUgdGltZSBmaWVsZCByZXF1ZXN0ZWQgd2l0aCBubyBmb3JtYXR0ZXIgcHJvdmlkZWQiKSksKGkucnRjX3RpbWV8fGUucnRjX3RpbWUpJiZ0aGlzLl90ZXh0Tm9kZXMucnRjVGltZS5sZW5ndGgmJih0aGlzLl90aW1lRm9ybWF0dGVyJiZ0aGlzLl90aW1lRm9ybWF0dGVyLnJ0Yz90aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5ydGNUaW1lLHcodGhpcy5fdGltZUZvcm1hdHRlci5ydGMoZS5ydGNfdGltZSxlLmN1cnJlbnRfc2Vzc2lvbiksdGhpcy5fb3B0aW9ucy5ydGNUaW1lSW5CcmFja2V0cykpOnYubG9nRXJyb3IoInJ0YyB0aW1lIGZpZWxkIHJlcXVlc3RlZCB3aXRoIG5vIGZvcm1hdHRlciBwcm92aWRlZCIpKSwoaS5udGNfdGltZXx8ZS5udGNfdGltZSkmJnRoaXMuX3RleHROb2Rlcy5udGNUaW1lLmxlbmd0aCYmKHRoaXMuX3RpbWVGb3JtYXR0ZXImJnRoaXMuX3RpbWVGb3JtYXR0ZXIucnRjP3RoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLm50Y1RpbWUsdyh0aGlzLl90aW1lRm9ybWF0dGVyLnJ0YyhlLm50Y190aW1lLGUuY3VycmVudF9zZXNzaW9uKSx0aGlzLl9vcHRpb25zLnJ0Y1RpbWVJbkJyYWNrZXRzKSk6di5sb2dFcnJvcigibnRjIHRpbWUgZmllbGQgcmVxdWVzdGVkIHdpdGggbm8gZm9ybWF0dGVyIHByb3ZpZGVkIikpLG51bGwhPWkubGFzdF9wcmljZSlmb3IoTD0wO0w8dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5sZW5ndGg7TCsrKXRoaXMuX2VsZW1lbnRzLnVwZGF0ZU1vZGVbTF0uY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKTt0aGlzLl9lbGVtZW50cy51cGRhdGVNb2RlJiYoaS51cGRhdGVfbW9kZXx8aS51cGRhdGVfbW9kZV9zZWNvbmRzKSYmKHRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM/dGhpcy5fdXBkYXRlTW9kZUluc3RhbmNlcy5mb3JFYWNoKCh0PT50LnVwZGF0ZSh7dmFsdWVzOmV9KSkpOnRoaXMuX3VwZGF0ZU1vZGVJbnN0YW5jZXM9dGhpcy5fZWxlbWVudHMudXBkYXRlTW9kZS5tYXAoKHQ9Pm5ldyBkLkRhdGFNb2RlSW5kaWNhdG9yKHtjbGFzc1N1ZmZpeDp0aGlzLl9vcHRpb25zLmRhdGFNb2RlQ2xhc3NTdWZmaXgsZWw6dCxkYXRhOnt2YWx1ZXM6ZX0sbW9kZUludGVydmFsOmUudXBkYXRlX21vZGVfc2Vjb25kcyxzaG9ydDohMCwKdG9vbHRpcFR5cGU6dGhpcy5fb3B0aW9ucy5pbmRpY2F0b3JzVG9vbHRpcFR5cGV9KSkpKSx0aGlzLl9zZXRTdGF0ZUhvb2smJnRoaXMuX3NldFN0YXRlSG9vayh0LnZhbHVlcyxuLnZhbHVlcyx0LmNvbXBsZXRlLHRoaXMuZ2V0T3B0aW9ucygpKSx0aGlzLl9sYXN0UHJpY2U/dGhpcy5faGlnaGxpZ2h0ZXJzLmxhc3Quc2hvdyhlLmxhc3RfcHJpY2UpOm51bGw9PT10aGlzLl9sYXN0UHJpY2UmJih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LmFkZCgicXVvdGUtdGlja2VyLWluaXRlZCIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmluaXRlZEhvb2smJnRoaXMuX29wdGlvbnMuaW5pdGVkSG9vaygibGFzdF9wcmljZSJpbiBlKSksdGhpcy5fbGFzdFByaWNlPWUubGFzdF9wcmljZX0sUy5wcm90b3R5cGUuX3NldE5vZGVzVmFsdWU9ZnVuY3Rpb24oZSx0LG8sbil7aWYobnVsbCE9dHx8bilmb3IodmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LHM9MDtzPGUubGVuZ3RoO3MrKyllW3NdLm5vZGVWYWx1ZT1pfSxTLnByb3RvdHlwZS5fc2V0VGV4dHNDb250ZW50PWZ1bmN0aW9uKGUsdCxvKXtpZihlJiZlLmxlbmd0aCYmdClmb3IodmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh0KTp0LGk9MDtpPGUubGVuZ3RoO2krKyllW2ldLnRleHRDb250ZW50PW59LFMucHJvdG90eXBlLl9zZXRMYXN0VmFsdWU9ZnVuY3Rpb24oZSx0LG8pe2lmKG51bGw9PWUpcmV0dXJuO2NvbnN0IG49ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlKTpTdHJpbmcoZSk7aWYobj09PXRoaXMuX2xhc3RQcmljZUZvcm1hdHRlZClyZXR1cm47Y29uc3RbaSxzLHJdPXRoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHk/dGhpcy5fZ2V0TGFzdFZhbHVlU3RyaW5nRGlmZih0aGlzLl9sYXN0UHJpY2VGb3JtYXR0ZWQsbik6WyIiLG4sIiJdLGE9aSxsPXRoaXMuX2NhbGN1bGF0ZVBpcGV0dGVEaWdpdHModCksW2MsaF09dGhpcy5fb3B0aW9ucy5sYXN0UHJpY2VMYXN0Q2hhclN1cCYmbD9bcy5zbGljZSgwLC1sKSxzLnNsaWNlKC1sKV06W3MsIiJdO3RoaXMuX29wdGlvbnMubGFzdFByaWNlSGlnaGxpZ2h0RGlmZk9ubHkmJih0aGlzLl9pc1ZvbHVtZUZvcm1hdCYmdGhpcy5fY2hhbmdlVm9sdW1lTGV0dGVyLmNhbGwodGhpcyxyKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0LGEpKSx0aGlzLl9zZXROb2Rlc1ZhbHVlKHRoaXMuX3RleHROb2Rlcy5sYXN0SGlnaGxpZ2h0LGMpLHRoaXMuX3NldE5vZGVzVmFsdWUodGhpcy5fdGV4dE5vZGVzLmxhc3RTdXAsaCksdGhpcy5fbGFzdFByaWNlRm9ybWF0dGVkPW59LFMucHJvdG90eXBlLl9nZXRDaGFuZ2VWb2x1bWVMZXR0ZXJDYWxsYmFjaz1mdW5jdGlvbigpe2xldCBlO3JldHVybiBmdW5jdGlvbih0KXt0IT09ZSYmKGU9dCx0aGlzLl9lbGVtZW50cy5sYXN0LmZvckVhY2goKHQ9PnszIT09dC5jaGlsZE5vZGVzLmxlbmd0aD90LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKTp0LmNoaWxkTm9kZXNbMl0ubm9kZVZhbHVlPWV9KSkpfX0sUy5wcm90b3R5cGUuX2dldExhc3RWYWx1ZVN0cmluZ0RpZmY9ZnVuY3Rpb24oZSx0KXtpZihlPT09dCl7Y29uc3RbZSxvXT1OKHQpO3JldHVybltlLCIiLG9dfWxldCBvPTA7Zm9yKDtlW29dPT09dFtvXTspbysrO2NvbnN0W24saV09Tih0LnNsaWNlKG8pKTtyZXR1cm5bdC5zbGljZSgwLG8pLG4saV19LFMucHJvdG90eXBlLl9jYWxjdWxhdGVQaXBldHRlRGlnaXRzPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlIT09dGhpcy5fbGFzdE1pbk1vdmUmJih0aGlzLl9sYXN0TWluTW92ZT1lKSx0aGlzLl9sYXN0TWluTW92ZT8oIiIrdGhpcy5fbGFzdE1pbk1vdmUpLmxlbmd0aC0xOjB9LFMucHJvdG90eXBlLl9zZXRDaGFuZ2VGb250Q29sb3I9ZnVuY3Rpb24oZSx0LG8sbixpKXtmb3IodmFyIHM9YS5QcmljZUNvbG9yZXIuZm9ybWF0U2lnbih0LHt1cDpvLGRvd246bixuZXV0cmFsOml9KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXS5zdHlsZS5jb2xvcj1zfSxTLnByb3RvdHlwZS5fc2V0Q2hhbmdlRGlyZWN0aW9uPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBuPWVbb10uY2xhc3NMaXN0O24udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uVXBDbGFzcyx0PjApLG4udG9nZ2xlKHRoaXMuX29wdGlvbnMuY2hhbmdlRGlyZWN0aW9uRG93bkNsYXNzLHQ8MCksbi50b2dnbGUodGhpcy5fb3B0aW9ucy5jaGFuZ2VEaXJlY3Rpb25OZXV0cmFsQ2xhc3MsMD09PXQpfX0sUy5wcm90b3R5cGUuc2V0U2hvcnROYW1lPWZ1bmN0aW9uKGU9IiIpe3RoaXMuX3NldFRleHRzQ29udGVudCh0aGlzLl9lbGVtZW50cy5zaG9ydE5hbWUsZSl9LFMucHJvdG90eXBlLl9wcmVwYXJlU3ltYm9sRGVzY3JpcHRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0Q2FjaGUoInN5bWJvbC1kZXNjcmlwdGlvbjoiK2UpO3JldHVybiB0fHwodD1lLHRoaXMuX3NldENhY2hlKCJzeW1ib2wtZGVzY3JpcHRpb246IitlLHQpLHQpfSxTLnByb3RvdHlwZS5faW5pdEhpZ2hsaWdodGVycz1mdW5jdGlvbigpe3RoaXMuX2hpZ2hsaWdodGVycy5sYXN0PW5ldyBUKHRoaXMuX2VsZW1lbnRzLmxhc3RIaWdobGlnaHQsdGhpcy5fb3B0aW9ucy5ncm93aW5nQmcsdGhpcy5fb3B0aW9ucy5mYWxsaW5nQmcsdGhpcy5fb3B0aW9ucy5sYXN0R3Jvd2luZ0NsYXNzLHRoaXMuX29wdGlvbnMubGFzdEZhbGxpbmdDbGFzcyksdGhpcy5faGlnaGxpZ2h0ZXJzLmV4dEhyc0Nsb3NlPW5ldyBUKHRoaXMuX2VsZW1lbnRzLmV4dEhyc0Nsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpLAp0aGlzLl9oaWdobGlnaHRlcnMubmlnaHRDbG9zZT1uZXcgVCh0aGlzLl9lbGVtZW50cy5uaWdodENsb3NlLHRoaXMuX29wdGlvbnMuZ3Jvd2luZ0JnLHRoaXMuX29wdGlvbnMuZmFsbGluZ0JnLHRoaXMuX29wdGlvbnMubGFzdEdyb3dpbmdDbGFzcyx0aGlzLl9vcHRpb25zLmxhc3RGYWxsaW5nQ2xhc3MpfSxTLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExLHRoaXMuZGlzY29ubmVjdCgpfSxTLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITAsdGhpcy5jb25uZWN0KCl9LFMucHJvdG90eXBlLnNldFN0YXRlSG9vaz1mdW5jdGlvbihlKXtudWxsPT09ZSYmdGhpcy5fc2V0U3RhdGVIb29rP2RlbGV0ZSB0aGlzLl9zZXRTdGF0ZUhvb2s6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0aGlzLl9zZXRTdGF0ZUhvb2s9ZSl9LFMucHJvdG90eXBlLl9zZXRDYWNoZT1mdW5jdGlvbihlLHQpe251bGw9PXQ/ZGVsZXRlIHRoaXMuX2NhY2hlW2VdOnRoaXMuX2NhY2hlW2VdPXR9LFMucHJvdG90eXBlLl9nZXRDYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlW2VdfSxTLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnN9fSw1Njk4MTkoZSx0LG8pe3ZhciBuPW8oNzcwNzU1KS5vcGVuUGF5d2FsbCxpPW8oNjEzODcwKS5zaG93U2lnbk1vZGFsO3dpbmRvdy5UVkRpYWxvZ3M9e3Nob3dTaWduSW5EaWFsb2c6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9LHNob3dHb1Byb0RpYWxvZzpmdW5jdGlvbihlKXtuKGUpfX19LDIyMTA2MShlLHQsbyl7dmFyIG47by5kKHQse0xPR0xFVkVMOigpPT5uLGdldExvZ0hpc3Rvcnk6KCk9PncsZ2V0TG9nTGV2ZWw6KCk9PnUsZ2V0TG9nZ2VyOigpPT55LGdldFJhd0xvZ0hpc3Rvcnk6KCk9PnAsaXNIaWdoUmF0ZUVuYWJsZWQ6KCk9Pm0sbG9nZ2luZ09mZjooKT0+Uyxsb2dnaW5nT246KCk9PmIsc2VyaWFsaXplTG9nSGlzdG9yeUVudHJ5OigpPT5mLHNldEhpZ2hSYXRlU3RhdHVzOigpPT5fLHNldExvZ0xldmVsOigpPT5nfSksZnVuY3Rpb24oZSl7ZVtlLkVSUk9SPTFdPSJFUlJPUiIsZVtlLldBUk5JTkc9Ml09IldBUk5JTkciLGVbZS5JTkZPPTNdPSJJTkZPIixlW2UuTk9STUFMPTRdPSJOT1JNQUwiLGVbZS5ERUJVRz01XT0iREVCVUcifShufHwobj17fSkpO2xldCBpPTA7Y29uc3Qgcz1bXTtsZXQgcj1udWxsLGE9bnVsbCxsPW51bGwsYz1udWxsLGg9bi5XQVJOSU5HLGQ9ITE7ZnVuY3Rpb24gdSgpe3JldHVybiBofWZ1bmN0aW9uIG0oKXtyZXR1cm4gZH1mdW5jdGlvbiBnKGUpe2U9TWF0aC5tYXgobi5FUlJPUixNYXRoLm1pbihuLkRFQlVHLGUpKSxoPWV9ZnVuY3Rpb24gXyhlKXtkPWV9ZnVuY3Rpb24gcChlLHQpe2xldCBvPXMucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQodCkpLFtdKTtyZXR1cm4gby5zb3J0KCgoZSx0KT0+ZS5pZC10LmlkKSksdm9pZCAwIT09dCYmKG89by5maWx0ZXIoKGU9PmUuc3ViU3lzdGVtSWQ9PT10KSkpLCJudW1iZXIiPT10eXBlb2YgZSYmKG89by5zbGljZSgtZSkpLG99ZnVuY3Rpb24gZihlKXtyZXR1cm4gbmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCkrIjoiK2Uuc3ViU3lzdGVtSWQrIjoiK2UubWVzc2FnZS5yZXBsYWNlKC8iL2csIiciKX1jb25zdCB3PShlLHQpPT5mdW5jdGlvbihlLHQpe2xldCBvLG49MCxpPTA7Zm9yKG89ZS5sZW5ndGgtMTtvPj0xJiYobis9OCooMStlbmNvZGVVUklDb21wb25lbnQoZVtvXSkubGVuZ3RoKSwhKG8tMT4wJiYoaT04KigxK2VuY29kZVVSSUNvbXBvbmVudChlW28tMV0pLmxlbmd0aCksbitpPnQpKSk7by0tKTtyZXR1cm4gZS5zbGljZShvKX0ocChlLHQpLm1hcChmKSw3NTQ5NzQ3Mik7ZnVuY3Rpb24gdihlLHQsbyxzLGQpe2lmKHQ9PT1hJiZzLmlkPT09bClyZXR1cm47Y29uc3QgdT1uZXcgRGF0ZTtpZihlPD1uLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8sbixzLHIpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscj8/MWUzKTtjb25zdCBhPXtpZDppLG1lc3NhZ2U6dCxzdWJTeXN0ZW1JZDpuLHRpbWVzdGFtcDpOdW1iZXIoZSl9O2krPTEsby5wdXNoKGEpLHZvaWQgMCE9PXMmJm8ubGVuZ3RoPnMmJm8uc3BsaWNlKDAsMSl9KHUsdCxvLHMuaWQscy5tYXhDb3VudCxkKSxlPD1oJiYoIXMuaGlnaFJhdGV8fG0oKSkmJighcnx8cy5pZC5tYXRjaChyKSkpe2NvbnN0IG89dS50b0lTT1N0cmluZygpKyI6IitzLmlkKyI6Iit0O3N3aXRjaChlKXtjYXNlIG4uREVCVUc6Y29uc29sZS5kZWJ1ZyhvKTticmVhaztjYXNlIG4uSU5GTzpjYXNlIG4uTk9STUFMOnMuY29sb3I/Y29uc29sZS5sb2coIiVjIitvLCJjb2xvcjogIitzLmNvbG9yKTpjb25zb2xlLmxvZyhvKTticmVhaztjYXNlIG4uV0FSTklORzpjb25zb2xlLndhcm4obyk7YnJlYWs7Y2FzZSBuLkVSUk9SOmNvbnNvbGUuZXJyb3Iobyl9YT10LGw9cy5pZCxudWxsIT09YyYmY2xlYXJUaW1lb3V0KGMpLGM9c2V0VGltZW91dCgoKCk9PnthPW51bGwsbD1udWxsLGM9bnVsbH0pLDFlMyl9fWZ1bmN0aW9uIHkoZSx0PXt9KXtjb25zdCBvPVtdO3MucHVzaChvKTtjb25zdCBpPU9iamVjdC5hc3NpZ24odCx7aWQ6ZX0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9PnYoZSxTdHJpbmcodCksbyxpLG4pfXJldHVybntsb2dEZWJ1ZzpyKG4uREVCVUcpLGxvZ0Vycm9yOnIobi5FUlJPUiksbG9nSW5mbzpyKG4uSU5GTyksbG9nTm9ybWFsOnIobi5OT1JNQUwpLGxvZ1dhcm46cihuLldBUk5JTkcpfX1jb25zdCBiPShlLHQpPT57ZyhuLkRFQlVHKSxkPUJvb2xlYW4oZSkscj10fHxudWxsfSxTPSgpPT57ZyhuLklORk8pfX19XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.198Z","timestamp":1785136429198,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7c7d204f411d58178a9308891a219a61\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-28T06:17:53.407807Z","times_seen":381,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.312Z","timestamp":1785136429312,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69697.94f7a3c68e5b71e90ad0.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9d25\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b18886330aafaae8ce718cffe4c408b7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":40229,"size_decoded":13400,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"ea7468c239d76d650fad0348355c0723","sha1":"1679d20934fd0a870c0c4f6841783538386be8df","sha256":"ff8eafc7002dfc18017837f333b737baf6428680efa8976420f7545ba953bdfe","sha512":"cf2c6f55abd325793a9a4a962acfca9cea5a94ee011812cc1d100a66f9250a768e7d62a0c4d661cd711718cc67e00c4038f82d532a6daeebf8078a78b9d62c89","ssdeep":"768:FahKIrmNWI3Vn8gACkdBEECQrhuWfGwsGiaYOBzYJdncihxGddE/HAKZAPt+Z0Mn:45I3Vn8gK/NTeezYW91k2+","tlshash":"8f03d9d673b2b61587a64092f87d8503e36c1a8164cc253ef66c8cdf264de48b136bbd","first_seen":"2026-07-23T14:00:31.639092Z","last_seen":"2026-07-28T06:17:53.359026Z","times_seen":109,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjExMjYsNjk2OTddLHs0MTE5OTIoZSx0LHMpe3MuZCh0LHtoYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFnczooKT0+aX0pO3ZhciByPXMoMTU2ODI5KTtuZXcgU2V0KFsic3RvY2siLCJkciIsInJpZ2h0Iiwid2FycmFudCIsInN0cnVjdHVyZWQiLCJib25kIl0pLG5ldyBTZXQoWyJtdXR1YWwiLCJ1bml0IiwidHJ1c3QiLCJyZWl0IiwiY2xvc2VkZW5kIiwiZXRuIl0pLG5ldyBTZXQoWyJldG4iXSksbmV3IFNldChbImNvbnZlcnRpYmxlIiwiY29ycG9yYXRlIl0pLG5ldyBTZXQoWyJjZmQiXSk7ZnVuY3Rpb24gaShlLHQscyl7aWYodCYmcyYmKDAsci5pc0V0ZikodCxzKSlyZXR1cm4hMTtjb25zdHtkaXZpZGVuZHNfYXZhaWxhYmlsaXR5OmksZWFybmluZ3NfYXZhaWxhYmlsaXR5Om4sZmluYW5jaWFsc19hdmFpbGFiaWxpdHk6b309ZTtyZXR1cm4gMT09PW98fDE9PT1pfHwxPT09bn19LDg4OTM5NyhlLHQscyl7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5pfSk7dmFyIHI9cyg4OTA4MzUpO2Z1bmN0aW9uIGkoZSl7ci5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODI3MDI5KGUsdCxzKXt2YXIgcixpLG47cy5kKHQse0VVX01BUktFVFM6KCk9Pm8sR2xvYmFsTWFya2V0OigpPT5uLE5vblN0b2NrTWFya2V0OigpPT5pLFN0b2NrTWFya2V0OigpPT5yfSksZnVuY3Rpb24oZSl7ZS5BbWVyaWNhPSJhbWVyaWNhIixlLkFyZ2VudGluYT0iYXJnZW50aW5hIixlLkF1c3RyYWxpYT0iYXVzdHJhbGlhIixlLkF1c3RyaWE9ImF1c3RyaWEiLGUuQmFocmFpbj0iYmFocmFpbiIsZS5CYW5nbGFkZXNoPSJiYW5nbGFkZXNoIixlLkJlbGdpdW09ImJlbGdpdW0iLGUuQnVsZ2FyaWE9ImJ1bGdhcmlhIixlLkJyYXppbD0iYnJhemlsIixlLkNhbmFkYT0iY2FuYWRhIixlLkNoaWxlPSJjaGlsZSIsZS5DaGluYT0iY2hpbmEiLGUuQ29sb21iaWE9ImNvbG9tYmlhIixlLkNyb2F0aWE9ImNyb2F0aWEiLGUuQ3lwcnVzPSJjeXBydXMiLGUuQ3plY2g9ImN6ZWNoIixlLkRlbm1hcms9ImRlbm1hcmsiLGUuRWd5cHQ9ImVneXB0IixlLkVzdG9uaWE9ImVzdG9uaWEiLGUuRmlubGFuZD0iZmlubGFuZCIsZS5GcmFuY2U9ImZyYW5jZSIsZS5HZXJtYW55PSJnZXJtYW55IixlLkdyZWVjZT0iZ3JlZWNlIixlLkhvbmdLb25nPSJob25na29uZyIsZS5IdW5nYXJ5PSJodW5nYXJ5IixlLkljZWxhbmQ9ImljZWxhbmQiLGUuSW5kaWE9ImluZGlhIixlLkluZG9uZXNpYT0iaW5kb25lc2lhIixlLklyZWxhbmQ9ImlyZWxhbmQiLGUuSXNyYWVsPSJpc3JhZWwiLGUuSXRhbHk9Iml0YWx5IixlLkphcGFuPSJqYXBhbiIsZS5LZW55YT0ia2VueWEiLGUuS3V3YWl0PSJrdXdhaXQiLGUuTGF0dmlhPSJsYXR2aWEiLGUuTGl0aHVhbmlhPSJsaXRodWFuaWEiLGUuTHV4ZW1ib3VyZz0ibHV4ZW1ib3VyZyIsZS5NYWxheXNpYT0ibWFsYXlzaWEiLGUuTWV4aWNvPSJtZXhpY28iLGUuTW9yb2Njbz0ibW9yb2NjbyIsZS5OZXRoZXJsYW5kcz0ibmV0aGVybGFuZHMiLGUuTmV3WmVhbGFuZD0ibmV3emVhbGFuZCIsZS5OaWdlcmlhPSJuaWdlcmlhIixlLk5vcndheT0ibm9yd2F5IixlLlBha2lzdGFuPSJwYWtpc3RhbiIsZS5QZXJ1PSJwZXJ1IixlLlBoaWxpcHBpbmVzPSJwaGlsaXBwaW5lcyIsZS5Qb2xhbmQ9InBvbGFuZCIsZS5Qb3J0dWdhbD0icG9ydHVnYWwiLGUuUWF0YXI9InFhdGFyIixlLlJvbWFuaWE9InJvbWFuaWEiLGUuUnVzc2lhPSJydXNzaWEiLGUuU2F1ZGlBcmFiaWE9ImtzYSIsZS5TZXJiaWE9InNlcmJpYSIsZS5TaW5nYXBvcmU9InNpbmdhcG9yZSIsZS5TbG92YWtpYT0ic2xvdmFraWEiLGUuU2xvdmVuaWE9InNsb3ZlbmlhIixlLlNvdXRoQWZyaWNhPSJyc2EiLGUuU291dGhLb3JlYT0ia29yZWEiLGUuU3BhaW49InNwYWluIixlLlNyaUxhbmthPSJzcmlsYW5rYSIsZS5Td2VkZW49InN3ZWRlbiIsZS5Td2l0emVybGFuZD0ic3dpdHplcmxhbmQiLGUuVGFpd2FuPSJ0YWl3YW4iLGUuVGhhaWxhbmQ9InRoYWlsYW5kIixlLlR1bmlzaWE9InR1bmlzaWEiLGUuVHVya2V5PSJ0dXJrZXkiLGUuVUFFPSJ1YWUiLGUuVUs9InVrIixlLlZlbmV6dWVsYT0idmVuZXp1ZWxhIixlLlZpZXRuYW09InZpZXRuYW0ifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuRm9yZXg9ImZvcmV4IixlLkNyeXB0bz0iY3J5cHRvIixlLkNvaW49ImNvaW4iLGUuQ0ZEPSJjZmQiLGUuQm9uZHM9ImJvbmRzIixlLkJvbmQ9ImJvbmQiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5PcHRpb25zPSJvcHRpb25zIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkdsb2JhbD0iZ2xvYmFsIn0obnx8KG49e30pKTtyLkJlbGdpdW0sci5DeXBydXMsci5EZW5tYXJrLHIuRXN0b25pYSxyLkZpbmxhbmQsci5GcmFuY2Usci5HZXJtYW55LHIuR3JlZWNlLHIuSHVuZ2FyeSxyLkljZWxhbmQsci5JdGFseSxyLkxhdHZpYSxyLkxpdGh1YW5pYSxyLkx1eGVtYm91cmcsci5OZXRoZXJsYW5kcyxyLk5vcndheSxyLlBvbGFuZCxyLlBvcnR1Z2FsLHIuUm9tYW5pYSxyLlJ1c3NpYSxyLlNlcmJpYSxyLlNsb3Zha2lhLHIuU3BhaW4sci5Td2VkZW4sci5Td2l0emVybGFuZCxyLlR1cmtleSxyLlVLO2NvbnN0IG89W3IuQmVsZ2l1bSxyLkN5cHJ1cyxyLkRlbm1hcmssci5Fc3RvbmlhLHIuRmlubGFuZCxyLkZyYW5jZSxyLkdlcm1hbnksci5HcmVlY2Usci5IdW5nYXJ5LHIuSXRhbHksci5MYXR2aWEsci5MaXRodWFuaWEsci5MdXhlbWJvdXJnLHIuTmV0aGVybGFuZHMsci5Qb2xhbmQsci5Qb3J0dWdhbCxyLlJvbWFuaWEsci5TbG92YWtpYSxyLlNwYWluLHIuU3dlZGVuXX0sNTk1NTE3KGUsdCxzKXtzLmQodCx7Z2V0U2NhbjJEYXRhOigpPT5oLGdldFNjYW5EYXRhOigpPT51fSk7dmFyIHI9cygzODQwMTcpLGk9cygyMTYwNzkpLG49cygxNTg3NjMpLG89cygzMjYwNDgpLGE9cygxMzM4NzQpO2NvbnN0IGw9InVzZXIgZG9lcyBub3QgaGF2ZSByaWdodHMgdG8gd2F0Y2hsaXN0Igo7Y2xhc3MgXyBleHRlbmRzIGEuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IldhdGNobGlzdFJpZ2h0c0Vycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1sOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fWZ1bmN0aW9uIGMoZSx0LHMsYSxjLHU9e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9KXtjb25zdCBoPXMuZ2V0TWFya2V0cygpLGQ9bmV3IFVSTCgoMCxpLmdldEJhY2tlbmRVcmwpKGgsYSkrZSk7YyYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsYWJlbC1wcm9kdWN0IixjKTtjb25zdCBtPUpTT04uc3RyaW5naWZ5KHMuZ2V0UGFyYW1zKCkpO3JldHVybigwLHIuZmV0Y2gpKGQudG9TdHJpbmcoKSx7c2lnbmFsOnQsbWV0aG9kOiJQT1NUIixib2R5Om0sY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6dX0pLnRoZW4oKGU9PntpZig0MDA9PT1lLnN0YXR1cyl7Y29uc3R7c3RhdHVzOnQsc3RhdHVzVGV4dDpzfT1lO3JldHVybiBlLmpzb24oKS50aGVuKChlPT57Y29uc3Qgcj1lLmVycm9yO2lmKHZvaWQgMCE9PShpPXIpJiZpLmluY2x1ZGVzKGwpKXRocm93IG5ldyBfKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pO3ZhciBpO3Rocm93IG5ldyBvLkJhZFJlcXVlc3RFcnJvclJlc3BvbnNlKHtzdGF0dXM6dCxzdGF0dXNUZXh0OnMsZXJyb3I6cn0pfSkpfWlmKGUub2spcmV0dXJuIGUuanNvbigpLnRoZW4oKGU9PmUpKTt0aHJvdyBuZXcgbi5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1mdW5jdGlvbiB1KGUsdCxzLHIpe3JldHVybiBjKCJzY2FuIixlLHQscyxyKX1mdW5jdGlvbiBoKGUsdCxzLHIpe3JldHVybiBjKCJzY2FuMiIsZSx0LHMscil9fSwzOTI1NzMoZSx0LHMpe3MuZCh0LHtDb2x1bW5zQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9jb2x1bW5zPW5ldyBTZXR9c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuY2xlYXIoKSxlLmZvckVhY2godGhpcy5fY29sdW1ucy5hZGQsdGhpcy5fY29sdW1ucyksdGhpc31hZGRDb2x1bW4oZSl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuYWRkKGUpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZShlKSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2NvbHVtbnNdfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fY29sdW1ucy5jbGVhcigpLHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fY29sdW1ucy5zaXplfX19LDI0ODI2KGUsdCxzKXtzLmQodCx7RmlsdGVyQ29sbGVjdGlvbjooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJzPW5ldyBTZXR9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fZmlsdGVycy5zaXplfWNsb25lKCl7cmV0dXJuKG5ldyByKS5zZXRTdGF0ZSh0aGlzLmdldFN0YXRlKCkpfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX2ZpbHRlcnNdfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9yZXdyaXRlRmlsdGVyU2V0KHRoaXMuX2ZpbHRlcnMsZSksdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuY2xlYXIoKSx0aGlzfWFkZENvbmRpdGlvbihlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9maWx0ZXJzLmFkZChlKTtyZXR1cm4gdGhpc31kZWxldGVDb25kaXRpb24oZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcnMuZGVsZXRlKGUpLHRoaXN9X3Jld3JpdGVGaWx0ZXJTZXQoZSx0KXtlLmNsZWFyKCksdC5mb3JFYWNoKGUuYWRkLGUpfX19LDgxMjU4MyhlLHQscyl7cy5kKHQse0ZpbHRlcjI6KCk9PnJ9KTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fZmlsdGVyPXZvaWQgMH1yZXNldEZpbHRlcigpe3JldHVybiB0aGlzLl9maWx0ZXI9dm9pZCAwLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fZmlsdGVyP0pTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVyKSk6dm9pZCAwfXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9maWx0ZXI9ZSx0aGlzfWFkZEZpbHRlcjIoZSl7Y29uc3QgdD10aGlzLmdldFN0YXRlKCk7aWYoIXQpcmV0dXJuIHRoaXMuc2V0U3RhdGUoe29wZXJhdG9yOmUub3BlcmF0b3Isb3BlcmFuZHM6ZS5vcGVyYW5kc30pLHRoaXM7Y29uc3R7b3BlcmF0b3I6cyxvcGVyYW5kczpyfT10O3JldHVybiB0aGlzLnNldFN0YXRlKHtvcGVyYXRvcjpzLG9wZXJhbmRzOlsuLi5yLC4uLmUub3BlcmFuZHNdfSksdGhpc319fSwyMTgxNDUoZSx0LHMpe3MuZCh0LHtPcHRpb25zOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX29wdGlvbnM9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnM9ZSx0aGlzfXJlc3RyaWN0RW9kKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnM9IlBSRVZfQkFSIix0aGlzfW5vRW9kUmVzdHJpY3Rpb24oKXtyZXR1cm4gZGVsZXRlIHRoaXMuX29wdGlvbnMuZGF0YV9yZXN0cmljdGlvbnMsdGhpc31zZXRMYW5nKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLmxhbmc9ZSx0aGlzfXJlc2V0TGFuZygpe3JldHVybiBkZWxldGUgdGhpcy5fb3B0aW9ucy5sYW5nLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udGhpcy5fb3B0aW9uc319cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnM9e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX29wdGlvbnMpLmxlbmd0aH19fSwxOTUyMjMoZSx0LHMpe3MuZCh0LHtTY2FuUHJpY2VDb252ZXJzaW9uOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3ByaWNlQ29udmVyc2lvbj17fX1zZXRQcmljZUNvbnZlcnNpb24oZSl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbj1lLHRoaXN9Z2V0U3RhdGUoKXtyZXR1cm57Li4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLnRvX3N5bWJvbD97dG9fc3ltYm9sOnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19zeW1ib2x9Ont9LC4uLnZvaWQgMCE9PXRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeT97CnRvX2N1cnJlbmN5OnRoaXMuX3ByaWNlQ29udmVyc2lvbi50b19jdXJyZW5jeX06e30sLi4udm9pZCAwIT09dGhpcy5fcHJpY2VDb252ZXJzaW9uLmRpc2FibGVkP3tkaXNhYmxlZDp0aGlzLl9wcmljZUNvbnZlcnNpb24uZGlzYWJsZWR9Ont9fX1yZXNldCgpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb249e30sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT1PYmplY3QudmFsdWVzKHRoaXMuX3ByaWNlQ29udmVyc2lvbikubGVuZ3RofX19LDgyNDUwMihlLHQscyl7cy5kKHQse1JhbmdlOigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JhbmdlPVtdfWdldFN0YXRlKCl7cmV0dXJuWy4uLnRoaXMuX3JhbmdlXX1zZXRTdGF0ZShlKXtyZXR1cm4gdGhpcy5fcmFuZ2U9ZSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fcmFuZ2U9W10sdGhpc31pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzLl9yYW5nZS5sZW5ndGh9fX0sMTgwNjY3KGUsdCxzKXtzLmQodCx7U2NhblBhcmFtc01hbmFnZXI6KCk9PnV9KTt2YXIgcj1zKDI0ODI2KSxpPXMoMjE4MTQ1KSxuPXMoMTk1MjIzKSxvPXMoNzM4ODEpLGE9cygzOTI1NzMpLGw9cyg4MjQ1MDIpLF89cygzMjMwMjcpLGM9cyg4MTI1ODMpO2NsYXNzIHV7Y29uc3RydWN0b3IoKXt0aGlzLl9maWx0ZXJDb2xsZWN0aW9uPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SPW5ldyByLkZpbHRlckNvbGxlY3Rpb24sdGhpcy5fY29sdW1ucz1uZXcgYS5Db2x1bW5zQ29sbGVjdGlvbix0aGlzLl9pZ25vcmVVbmtub3duRmllbGRzPSExLHRoaXMuX29wdGlvbnM9bmV3IGkuT3B0aW9ucyx0aGlzLl9wcmljZUNvbnZlcnNpb249bmV3IG4uU2NhblByaWNlQ29udmVyc2lvbix0aGlzLl9yYW5nZT1uZXcgbC5SYW5nZSx0aGlzLl9zb3J0PW5ldyBfLlNvcnQsdGhpcy5fc3ltYm9scz1uZXcgby5TeW1ib2xzLHRoaXMuX21hcmtldHM9W119Z2V0UGFyYW1zKCl7Y29uc3QgZT10aGlzLmdldEZpbHRlcjIoKSx0PWU/e2ZpbHRlcjI6ZX06dm9pZCAwLHM9dGhpcy5nZXRQcmVzZXQoKSxyPXM/e3ByZXNldDpzfTp2b2lkIDA7cmV0dXJue2NvbHVtbnM6dGhpcy5pc0NvbHVtbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldENvbHVtbnMoKSxmaWx0ZXI6dGhpcy5pc0ZpbHRlcnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlcnMoKSxmaWx0ZXJPUjp0aGlzLmlzRmlsdGVyT3JFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldEZpbHRlck9SKCksaWdub3JlX3Vua25vd25fZmllbGRzOnRoaXMuZ2V0SWdub3JlVW5rbm93bkZpZWxkcygpLG9wdGlvbnM6dGhpcy5pc09wdGlvbnNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldE9wdGlvbnMoKSxwcmljZV9jb252ZXJzaW9uOnRoaXMuaXNQcmljZUNvbnZlcnNpb25zRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRQcmljZUNvbnZlcnNpb24oKSxyYW5nZTp0aGlzLmlzUmFuZ2VFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFJhbmdlKCksc29ydDp0aGlzLmlzU29ydEVtcHR5KCk/dm9pZCAwOnRoaXMuZ2V0U29ydCgpLHN5bWJvbHM6dGhpcy5pc1N5bWJvbHNFbXB0eSgpP3ZvaWQgMDp0aGlzLmdldFN5bWJvbHMoKSxtYXJrZXRzOnRoaXMuaXNNYXJrZXRzRW1wdHkoKT92b2lkIDA6dGhpcy5nZXRNYXJrZXRzKCksaW5kZXhfZmlsdGVyczp0aGlzLmdldEluZGV4RmlsdGVycygpLC4uLnIsLi4udH19Y2xvbmUoKXtjb25zdCBlPW5ldyB1LHQ9dGhpcy5nZXRQYXJhbXMoKTtyZXR1cm4gZS5zZXRQYXJhbXModCksZX1nZXRGaWx0ZXJzQ29sbGVjdGlvbkNsb25lKCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uY2xvbmUoKX1zZXRQYXJhbXMoZSl7Y29uc3QgdD17Y29sdW1uczooKT0+dGhpcy5zZXRDb2x1bW5zKGUuY29sdW1ucyksZmlsdGVyMjooKT0+dGhpcy5zZXRGaWx0ZXIyKGUuZmlsdGVyMiksZmlsdGVyOigpPT50aGlzLnNldEZpbHRlcnMoZS5maWx0ZXIpLGZpbHRlck9SOigpPT50aGlzLnNldEZpbHRlck9SKGUuZmlsdGVyT1IpLGlnbm9yZV91bmtub3duX2ZpZWxkczooKT0+ZS5pZ25vcmVfdW5rbm93bl9maWVsZHM/dGhpcy5pZ25vcmVVbmtub3duRmllbGRzKCk6dGhpcy5kb05vdElnbm9yZVVua25vd25GaWVsZHMoKSxtYXJrZXRzOigpPT50aGlzLnNldE1hcmtldHMoZS5tYXJrZXRzKSxvcHRpb25zOigpPT50aGlzLnNldE9wdGlvbnMoZS5vcHRpb25zKSxwcmljZV9jb252ZXJzaW9uOigpPT50aGlzLnNldFByaWNlQ29udmVyc2lvbihlLnByaWNlX2NvbnZlcnNpb24pLHJhbmdlOigpPT50aGlzLnNldFJhbmdlKGUucmFuZ2UpLHNvcnQ6KCk9PnRoaXMuc2V0U29ydChlLnNvcnQpLHN5bWJvbHM6KCk9PnRoaXMuc2V0U3ltYm9scyhlLnN5bWJvbHMpLHByZXNldDooKT0+dGhpcy5zZXRQcmVzZXQoZS5wcmVzZXQpLGluZGV4X2ZpbHRlcnM6KCk9PnRoaXMuc2V0SW5kZXhGaWx0ZXJzKGUuaW5kZXhfZmlsdGVycyl9O2Zvcihjb25zdFtzLHJdb2YgT2JqZWN0LmVudHJpZXModCkpZS5oYXNPd25Qcm9wZXJ0eShzKSYmdm9pZCAwIT09ZVtzXSYmcigpO3JldHVybiB0aGlzfXNldEZpbHRlcnMoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uYWRkQ29uZGl0aW9uKGUpLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmdldFN0YXRlKCl9ZGVsZXRlRmlsdGVyKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2ZpbHRlckNvbGxlY3Rpb24uaXNFbXB0eSgpfXNldEZpbHRlck9SKGUpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1Iuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmFkZENvbmRpdGlvbihlKSx0aGlzfWdldEZpbHRlck9SKCl7CnJldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuZ2V0U3RhdGUoKX1kZWxldGVGaWx0ZXJPUihlKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLmRlbGV0ZUNvbmRpdGlvbihlKSx0aGlzfXJlc2V0RmlsdGVyT1IoKXtyZXR1cm4gdGhpcy5fZmlsdGVyQ29sbGVjdGlvbk9SLnJlc2V0U3RhdGUoKSx0aGlzfWlzRmlsdGVyT3JFbXB0eSgpe3JldHVybiB0aGlzLl9maWx0ZXJDb2xsZWN0aW9uT1IuaXNFbXB0eSgpfXNldEZpbHRlcjIoZSl7cmV0dXJuIHRoaXMuX2ZpbHRlcjJ8fCh0aGlzLl9maWx0ZXIyPW5ldyBjLkZpbHRlcjIpLHRoaXMuX2ZpbHRlcjIuc2V0U3RhdGUoZSksdGhpc31hZGRGaWx0ZXIyKGUpe3JldHVybiB0aGlzLl9maWx0ZXIyfHwodGhpcy5fZmlsdGVyMj1uZXcgYy5GaWx0ZXIyKSx0aGlzLl9maWx0ZXIyLmFkZEZpbHRlcjIoZSksdGhpc31nZXRGaWx0ZXIyKCl7aWYodGhpcy5fZmlsdGVyMilyZXR1cm4gdGhpcy5fZmlsdGVyMi5nZXRTdGF0ZSgpfXJlc2V0RmlsdGVyMigpe3JldHVybiB0aGlzLl9maWx0ZXIyJiZ0aGlzLl9maWx0ZXIyLnJlc2V0RmlsdGVyKCksdGhpc31nZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuZ2V0U3RhdGUoKX1zZXRPcHRpb25zKGUpe3JldHVybiB0aGlzLl9vcHRpb25zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRPcHRpb25zKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMucmVzZXRPcHRpb25zKCksdGhpc31yZXN0cmljdEVvZCgpe3JldHVybiB0aGlzLl9vcHRpb25zLnJlc3RyaWN0RW9kKCksdGhpc31ub0VvZFJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMuX29wdGlvbnMubm9Fb2RSZXN0cmljdGlvbigpLHRoaXN9c2V0T3B0aW9uc0xhbmcoZSl7cmV0dXJuIHRoaXMuX29wdGlvbnMuc2V0TGFuZyhlKSx0aGlzfXJlc2V0T3B0aW9uc0xhbmcoKXtyZXR1cm4gdGhpcy5fb3B0aW9ucy5yZXNldExhbmcoKSx0aGlzfWlzT3B0aW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX29wdGlvbnMuaXNFbXB0eSgpfWdldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5nZXRTdGF0ZSgpfXNldFN5bWJvbHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0U3RhdGUoZSksdGhpc31yZXNldFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFN0YXRlKCksdGhpc31zZXRUaWNrZXJzKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzLnNldFRpY2tlcnMoZSksdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFRpY2tlcnMoKSx0aGlzfXNldFN5bWJvbHNldChlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRTeW1ib2xzZXQoZSksdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0U3ltYm9sc2V0KCksdGhpc31zZXRUeXBlcyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5zZXRUeXBlcyhlKSx0aGlzfXJlc2V0VHlwZXMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5yZXNldFR5cGVzKCksdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc2V0R3JvdXBzKGUpLHRoaXN9aXNTeW1ib2xzRW1wdHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy5pc0VtcHR5KCl9Z2V0Q29sdW1ucygpe3JldHVybiB0aGlzLl9jb2x1bW5zLmdldFN0YXRlKCl9YWRkQ29sdW1ucyhlKXtjb25zdCB0PUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07Zm9yKGNvbnN0IGUgb2YgdCl0aGlzLl9jb2x1bW5zLmFkZENvbHVtbihlKTtyZXR1cm4gdGhpc31zZXRDb2x1bW5zKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLnNldFN0YXRlKGUpLHRoaXN9cmVzZXRDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMucmVzZXRTdGF0ZSgpLHRoaXN9ZGVsZXRlQ29sdW1uKGUpe3JldHVybiB0aGlzLl9jb2x1bW5zLmRlbGV0ZUNvbHVtbihlKSx0aGlzfWlzQ29sdW1uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX2NvbHVtbnMuaXNFbXB0eSgpfXNldFJhbmdlKGUpe3JldHVybiB0aGlzLl9yYW5nZS5zZXRTdGF0ZShlKSx0aGlzfWdldFJhbmdlKCl7cmV0dXJuIHRoaXMuX3JhbmdlLmdldFN0YXRlKCl9cmVzZXRSYW5nZSgpe3JldHVybiB0aGlzLl9yYW5nZS5yZXNldFN0YXRlKCksdGhpc31pc1JhbmdlRW1wdHkoKXtyZXR1cm4gdGhpcy5fcmFuZ2UuaXNFbXB0eSgpfXNldFNvcnQoZSl7cmV0dXJuIHRoaXMuX3NvcnQuc2V0U3RhdGUoZSksdGhpc31nZXRTb3J0KCl7cmV0dXJuIHRoaXMuX3NvcnQuZ2V0U3RhdGUoKX1yZXNldFNvcnQoKXtyZXR1cm4gdGhpcy5fc29ydC5yZXNldFN0YXRlKCksdGhpc31zb3J0QXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEFzYygpLHRoaXN9c29ydERlc2MoKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0RGVzYygpLHRoaXN9c29ydEJ5KGUpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeShlKSx0aGlzfWlzU29ydEVtcHR5KCl7cmV0dXJuIHRoaXMuX3NvcnQuaXNFbXB0eSgpfXNldFByaWNlQ29udmVyc2lvbihlKXtyZXR1cm4gdGhpcy5fcHJpY2VDb252ZXJzaW9uLnNldFByaWNlQ29udmVyc2lvbihlKSx0aGlzfWdldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24uZ2V0U3RhdGUoKX1yZXNldFByaWNlQ29udmVyc2lvbigpe3JldHVybiB0aGlzLl9wcmljZUNvbnZlcnNpb24ucmVzZXQoKSx0aGlzfWlzUHJpY2VDb252ZXJzaW9uc0VtcHR5KCl7cmV0dXJuIHRoaXMuX3ByaWNlQ29udmVyc2lvbi5pc0VtcHR5KCl9c2V0UHJlc2V0KGUpe3JldHVybiB0aGlzLl9wcmVzZXQ9ZSx0aGlzfWdldFByZXNldCgpe3JldHVybiB0aGlzLl9wcmVzZXR9cmVzZXRQcmVzZXQoKXtyZXR1cm4gZGVsZXRlIHRoaXMuX3ByZXNldCx0aGlzfXNldEluZGV4RmlsdGVycyhlKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzPWUsdGhpc31nZXRJbmRleEZpbHRlcnMoKXtyZXR1cm4gdGhpcy5faW5kZXhGaWx0ZXJzfXJlc2V0SW5kZXhGaWx0ZXJzKCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9pbmRleEZpbHRlcnMsdGhpc31kb05vdElnbm9yZVVua25vd25GaWVsZHMoKXtyZXR1cm4gdGhpcy5faWdub3JlVW5rbm93bkZpZWxkcz0hMSx0aGlzfWlnbm9yZVVua25vd25GaWVsZHMoKXsKcmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHM9ITAsdGhpc31nZXRJZ25vcmVVbmtub3duRmllbGRzKCl7cmV0dXJuIHRoaXMuX2lnbm9yZVVua25vd25GaWVsZHN9c2V0TWFya2V0cyhlKXtyZXR1cm4gdGhpcy5fbWFya2V0cz1bLi4uZV0sdGhpc31nZXRNYXJrZXRzKCl7cmV0dXJuIHRoaXMuX21hcmtldHN9aXNNYXJrZXRzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMuX21hcmtldHMubGVuZ3RofWdldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLmdldFN5bWJvbHMoKS53YXRjaGxpc3R9c2V0V2F0Y2hsaXN0KGUpe3JldHVybiB0aGlzLnNldFN5bWJvbHMoey4uLnRoaXMuZ2V0U3ltYm9scygpLHdhdGNobGlzdDplfSksdGhpc31yZXNldFdhdGNobGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc31yZXNldFBhcmFtcygpe3JldHVybiB0aGlzLl9maWx0ZXIyPXZvaWQgMCx0aGlzLmRvTm90SWdub3JlVW5rbm93bkZpZWxkcygpLHRoaXMucmVzZXRDb2x1bW5zKCksdGhpcy5yZXNldEZpbHRlcnMoKSx0aGlzLnJlc2V0RmlsdGVyT1IoKSx0aGlzLnJlc2V0T3B0aW9ucygpLHRoaXMucmVzZXRQcmljZUNvbnZlcnNpb24oKSx0aGlzLnJlc2V0UmFuZ2UoKSx0aGlzLnJlc2V0U3ltYm9scygpLHRoaXMucmVzZXRJbmRleEZpbHRlcnMoKSx0aGlzLnJlc2V0V2F0Y2hsaXN0KCksdGhpc319fSwzMjMwMjcoZSx0LHMpe3MuZCh0LHtTb3J0OigpPT5yfSk7Y2xhc3Mgcntjb25zdHJ1Y3Rvcigpe3RoaXMuX3NvcnQ9e319c2V0U3RhdGUoZSl7cmV0dXJuIHRoaXMuX3NvcnQ9ZSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuey4uLnRoaXMuX3NvcnR9fXNvcnRCeShlKXtyZXR1cm4gdGhpcy5fc29ydC5zb3J0Qnk9ZSx0aGlzLl9zb3J0LnNvcnRPcmRlcnx8dGhpcy5zb3J0RGVzYygpLHRoaXN9c29ydEFzYygpe3JldHVybiB0aGlzLl9zb3J0LnNvcnRCeSYmKHRoaXMuX3NvcnQuc29ydE9yZGVyPSJhc2MiKSx0aGlzfXNvcnREZXNjKCl7cmV0dXJuIHRoaXMuX3NvcnQuc29ydEJ5JiYodGhpcy5fc29ydC5zb3J0T3JkZXI9ImRlc2MiKSx0aGlzfXJlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc29ydD17fSx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gMD09PU9iamVjdC52YWx1ZXModGhpcy5fc29ydCkubGVuZ3RofX19LDczODgxKGUsdCxzKXtzLmQodCx7U3ltYm9sczooKT0+cn0pO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zeW1ib2xzPXt9fXNldFN0YXRlKGUpe3JldHVybiB0aGlzLl9zeW1ib2xzPWUsdGhpc31nZXRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5fc3ltYm9scy5xdWVyeT97cXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnl9fTp7fSx0PXRoaXMuX3N5bWJvbHMudGlja2Vycz97dGlja2VyczpbLi4udGhpcy5fc3ltYm9scy50aWNrZXJzXX06W10scz10aGlzLl9zeW1ib2xzLmdyb3Vwcz97Z3JvdXBzOnRoaXMuX3N5bWJvbHMuZ3JvdXBzLm1hcCgoZT0+KHt0eXBlOmUudHlwZSx2YWx1ZXM6Wy4uLmUudmFsdWVzXX0pKSl9Ont9LHI9dGhpcy5fc3ltYm9scy5zeW1ib2xzZXQ/e3N5bWJvbHNldDpbLi4udGhpcy5fc3ltYm9scy5zeW1ib2xzZXRdfTpbXSxpPXRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0P3t3YXRjaGxpc3Q6e2lkOnRoaXMuX3N5bWJvbHMud2F0Y2hsaXN0LmlkfX06e307cmV0dXJuey4uLmUsLi4udCwuLi5zLC4uLnIsLi4udm9pZCAwPT09dGhpcy5fc3ltYm9scy5ibGFja19saXN0X3N5bWJvbHM/e306e2JsYWNrX2xpc3Rfc3ltYm9sczp0aGlzLl9zeW1ib2xzLmJsYWNrX2xpc3Rfc3ltYm9sc30sLi4uaX19c2V0VGlja2VycyhlKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPWUsdGhpc31yZXNldFRpY2tlcnMoKXtyZXR1cm4gdGhpcy5fc3ltYm9scy50aWNrZXJzPVtdLHRoaXN9c2V0VHlwZXMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9ey4uLnRoaXMuX3N5bWJvbHMscXVlcnk6ey4uLnRoaXMuX3N5bWJvbHMucXVlcnksdHlwZXM6ZX19LHRoaXN9cmVzZXRUeXBlcygpe3JldHVybiB0aGlzLl9zeW1ib2xzPXsuLi50aGlzLl9zeW1ib2xzLHF1ZXJ5OnsuLi50aGlzLl9zeW1ib2xzLnF1ZXJ5LHR5cGVzOltdfX0sdGhpc31yZXNldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N5bWJvbHM9e30sdGhpc31zZXRHcm91cHMoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuZ3JvdXBzPWUsdGhpc31yZXNldEdyb3Vwcygpe3JldHVybiBkZWxldGUgdGhpcy5fc3ltYm9scy5ncm91cHMsdGhpc31zZXRTeW1ib2xzZXQoZSl7cmV0dXJuIHRoaXMuX3N5bWJvbHMuc3ltYm9sc2V0PWUsdGhpc31yZXNldFN5bWJvbHNldCgpe3JldHVybiB0aGlzLl9zeW1ib2xzLnN5bWJvbHNldD1bXSx0aGlzfXJlc2V0V2F0Y2hsaXN0KCl7Y29uc3R7d2F0Y2hsaXN0OmUsLi4udH09dGhpcy5fc3ltYm9scztyZXR1cm4gdGhpcy5fc3ltYm9scz10LHRoaXN9aXNFbXB0eSgpe3JldHVybiAwPT09T2JqZWN0LnZhbHVlcyh0aGlzLl9zeW1ib2xzKS5sZW5ndGh9fX0sMTI4ODE0KGUsdCxzKXtzLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+dX0pO3ZhciByPXMoOTQ4MzgwKSxpPXMoMTUwMTUwKSxuPXMoMjE0OTg3KSxvPXMoMTM4NjM4KSxhPXMoMzY3OTQ2KSxsPXMoOTcwNzc0KSxfPXMoMzA5MDUyKTtjb25zdCBjPW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHIuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWsKO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9fSwwPT09ZS5maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgZW1wdHkgImZpZWxkcyIgYXJyYXkgaXMgbm90IGltcGxlbWVudGVkJyk7Y29uc3R7cHJvdmlkZXI6dD1sLlF1b3RlU2Vzc2lvbn09ZTt0aGlzLl9maWVsZHM9bmV3IFNldChlLmZpZWxkcyksdGhpcy5fc2Vzc2lvbj1uZXcgdChlLmFwaSxbInNuYXBzaG90ZXIiLGUubmFtZSwoMCxpLnJhbmRvbUhhc2gpKCldLmZpbHRlcihCb29sZWFuKS5qb2luKCJfIikpLHRoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLl9oYW5kbGVyKX1nZXRTbmFwc2hvdFN5bmMoZSx0KXtjb25zdCBzPXUuY2FjaGUuZ2V0KGUpO3JldHVybiBzJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkocyx7ZmllbGRzOnQsdGltZXN0YW1wOm51bGx9KT9zOm51bGx9Z2V0U25hcHNob3RzRm9yQWxsU3luYyhlLHQpe3JldHVybiBlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdFN5bmMoZSx0KSkpfWdldFNuYXBzaG90KGUsdCxzKXtjb25zdCByPXM/LnNpZ25hbD8/bnVsbCxpPXM/LmZyZXNobmVzcyxhPXZvaWQgMCE9PWk/RGF0ZS5ub3coKS1pOm51bGw7cmV0dXJuIG5ldyBQcm9taXNlKCgocyxpKT0+e2lmKHImJnIuYWJvcnRlZCl0aHJvdygwLG4uY3JlYXRlQWJvcnRFcnJvcikoKTtjb25zdCBsPSgpPT57dGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsXyksaSgoMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCkpfSxfPShpPWUpPT57aWYoaSE9PWUpcmV0dXJuO2NvbnN0IG49dS5jYWNoZS5nZXQoZSk7biYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KG4se3RpbWVzdGFtcDphLHN5bWJvbDplLGZpZWxkczp0fSkmJih0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxfKSxyPy5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbCkscyhuKSl9O2lmKCEoKCk9Pntjb25zdCByPXUuY2FjaGUuZ2V0KGUpO2lmKCFyKXJldHVybiExO2NvbnN0IGk9KDAsby5lbnN1cmVOb3ROdWxsKSh1LmNhY2hlLmdldFRpbWVzKGUpKTtyZXR1cm4hIXRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCxzeW1ib2w6ZSx0aW1lc3RhbXA6YSx0aW1lczppfSkmJihzKHIpLCEwKX0pKCkmJihyPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbCx7b25jZTohMH0pLHRoaXMuX29uU3ltYm9sRGF0YS5zdWJzY3JpYmUodGhpcyxfKSwhdGhpcy5faW5jb21wbGV0ZS5oYXMoZSkpKXtpZih0aGlzLl91cGRhdGVkRmllbGRzLnNldChlLG5ldyBTZXQpLHRoaXMuX2luY29tcGxldGUuYWRkKGUpLCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuO2lmKG51bGw9PT10aGlzLl9iYXRjaGVyKXtjb25zdCB0PXRoaXMuX2JhdGNoZXI9e3N5bWJvbHM6bmV3IFNldChbZV0pLHByb21pc2U6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9iYXRjaGVyPT09dCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50LnN5bWJvbHNdKSx0aGlzLl9iYXRjaGVyPW51bGwpfSkpfX1lbHNlIHRoaXMuX2JhdGNoZXIuc3ltYm9scy5hZGQoZSl9fSkpfWdldFNuYXBzaG90c0ZvckFsbChlLHQscyl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90KGUsdCxzKSkpKX1zdGF0aWMgcmVsYXgoZSl7cmV0dXJuIGV9c3RhdGljIGlzU3VjY2VzcyhlKXtyZXR1cm4iZXJyb3IiIT09ZS5zdGF0dXN9c3RhdGljIGhhc0FsbEZpZWxkcyhlLHQpe2Zvcihjb25zdCBzIG9mIEFycmF5LmZyb20odCkpaWYoIWUuaGFzT3duUHJvcGVydHkocykpcmV0dXJuITE7cmV0dXJuITB9X2lzU25hcHNob3RSZWFkeShlLHQpe2NvbnN0e2ZpZWxkczpzLHRpbWVzdGFtcDpyLHRpbWVzOmksc3ltYm9sOm59PXQ7cmV0dXJuImVycm9yIj09PWUuc3RhdHVzfHwobnVsbCE9PXImJmk/dGhpcy5faXNBbGxGaWVsZHNVcFRvRGF0ZShlLGkscyxyKTpudWxsIT09ciYmbj90aGlzLl9pc0FsbEZpZWxkc1VwZGF0ZWQoZSxuLHMpOnRoaXMuX2hhc0FsbEZpZWxkcyhlLHMpKX1faXNBbGxGaWVsZHNVcGRhdGVkKGUsdCxzKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcj10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighcnx8IXIuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKWlmKCFyLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIHUuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxzLHIpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHMpKXtjb25zdCBzPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cylyZXR1cm4hMTtpZihzPHIpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9Yy5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9dS5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTt1LmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLAp0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLHUuY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLHI9bmV3IFNldChzKTtmb3IoY29uc3QgdCBvZiB0aGlzLl9maWVsZHMpZS52YWx1ZXMuaGFzT3duUHJvcGVydHkodCkmJnIuYWRkKHQpO3RoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KHQsciksImVycm9yIj09PWUuc3RhdHVzP3RoaXMuX2hhbmRsZUNvbXBsZXRlRGF0YSh0KTp0aGlzLl9vblN5bWJvbERhdGEuZmlyZSh0KX19dS5jYWNoZT1fLlFVT1RFX0ZJRUxEU19DQUNIRX0sNjE1NTQ3KGUsdCxzKXtzLmQodCx7RGV0YWlsc0RhdGFQcm92aWRlcjooKT0+QSxnZXRCb25kc1JlcXVlc3RQYXJhbXM6KCk9PkIsZ2V0RnV0dXJlc1JlcXVlc3RQYXJhbXM6KCk9PlAsZ2V0U2NyZWVuZXJSZXF1ZXN0UGFyYW1zOigpPT5NLHByZXBhcmVCb25kc0RhdGE6KCk9PnEscHJlcGFyZUZ1dHVyZXNEYXRhOigpPT54fSk7dmFyIHI9cygxNTAxNTApLGk9cygxMzg2MzgpLG49cygxODA2NjcpLG89cyg4MjcwMjkpO2NvbnN0IGE9ZT0+ImZ1dHVyZXMiPT09ZT9vLk5vblN0b2NrTWFya2V0LkZ1dHVyZXM6by5HbG9iYWxNYXJrZXQuR2xvYmFsO3ZhciBsLF89cyg2MTkxMjMpLGM9cygxNTY4MjkpLHU9cyg3MzEwOTEpLGg9cygyMTQ5ODcpLGQ9cyg3NzA4MjUpOyFmdW5jdGlvbihlKXtlLkFsbFN0b2Nrcz0iYWxsX3N0b2NrcyIsZS5TbWFsbENhcD0ic21hbGxfY2FwIixlLkxhcmdlQ2FwPSJsYXJnZV9jYXAiLGUuTGFyZ2VzdEVtcGxveWVycz0ibGFyZ2VzdF9lbXBsb3llcnMiLGUuSGlnaERpdmlkZW5kPSJoaWdoX2RpdmlkZW5kIixlLkhpZ2hlc3ROZXRJbmNvbWU9ImhpZ2hlc3RfbmV0X2luY29tZSIsZS5IaWdoZXN0Q2FzaD0iaGlnaGVzdF9jYXNoIixlLkhpZ2hlc3RQcm9maXRQZXJFbXBsb3llZT0iaGlnaGVzdF9wcm9maXRfcGVyX2VtcGxveWVlIixlLkdhaW5lcnM9ImdhaW5lcnMiLGUuTG9zZXJzPSJsb3NlcnMiLGUuVm9sdW1lTGVhZGVycz0idm9sdW1lX2xlYWRlcnMiLGUuVW51c3VhbFZvbHVtZT0idW51c3VhbF92b2x1bWUiLGUuTW9zdFZvbGF0aWxlPSJtb3N0X3ZvbGF0aWxlIixlLkhpZ2hCZXRhPSJoaWdoX2JldGEiLGUuQmVzdFBlcmZvcm1pbmc9ImJlc3RfcGVyZm9ybWluZyIsZS5IaWdoZXN0UmV2ZW51ZT0iaGlnaGVzdF9yZXZlbnVlIixlLk1vc3RFeHBlbnNpdmU9Im1vc3RfZXhwZW5zaXZlIixlLlBlbm55U3RvY2tzPSJwZW5ueV9zdG9ja3MiLGUuT3ZlcmJvdWdodD0ib3ZlcmJvdWdodCIsZS5PdmVyc29sZD0ib3ZlcnNvbGQiLGUuQWxsVGltZUhpZ2g9ImFsbF90aW1lX2hpZ2giLGUuQWxsVGltZUxvdz0iYWxsX3RpbWVfbG93IixlLkFib3ZlNTJ3a0hpZ2g9ImFib3ZlXzUyd2tfaGlnaCIsZS5CZWxvdzUyd2tMb3c9ImJlbG93XzUyd2tfbG93IixlLlByZU1hcmtldEdhaW5lcnM9InByZS1tYXJrZXQtZ2FpbmVycyIsZS5QcmVNYXJrZXRMb3NlcnM9InByZS1tYXJrZXQtbG9zZXJzIixlLlByZU1hcmtldE1vc3RBY3RpdmU9InByZV9tYXJrZXRfbW9zdF9hY3RpdmUiLGUuUHJlTWFya2V0R2FwcGVycz0icHJlX21hcmtldF9nYXBwZXJzIixlLkFmdGVySG91cnNHYWluZXJzPSJhZnRlcl9ob3Vyc19nYWluZXJzIixlLkFmdGVySG91cnNMb3NlcnM9ImFmdGVyX2hvdXJzX2xvc2VycyIsZS5BY3RpdmVBZnRlckhvdXJzPSJhY3RpdmVfYWZ0ZXJfaG91cnMiLGUuUGlua1NoZWV0U3RvY2tzPSJwaW5rLXNoZWV0LXN0b2NrcyIsZS5FYXJuaW5nPSJlYXJuaW5nIixlLkNyeXB0b3BhaXJzTWFya2V0cz0iY3J5cHRvcGFpcnNfbWFya2V0cyIsZS5Ub3BEZWZpPSJ0b3AtZGVmaSIsZS5NYXJrZXRDYXBSYW5rPSJtYXJrZXQtY2FwLXJhbmsiLGUuV29ybGRzTGFyZ2VzdENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfY29tcGFuaWVzIixlLldvcmxkc05vblVzQ29tcGFuaWVzPSJ3b3JsZHNfbm9uX3VzX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0RW1wbG95ZXJzPSJ3b3JsZHNfbGFyZ2VzdF9lbXBsb3llcnMiLGUuV29ybGRzSGlnaGVzdFJldmVudWU9Indvcmxkc19oaWdoZXN0X3JldmVudWUiLGUuV29ybGRzSGlnaGVzdFJldmVudWVQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcmV2ZW51ZV9wZXJfZW1wbG95ZWVfY29tcGFuaWVzIixlLldvcmxkc0hpZ2hlc3RQcm9maXRQZXJFbXBsb3llZUNvbXBhbmllcz0id29ybGRzX2hpZ2hlc3RfcHJvZml0X3Blcl9lbXBsb3llZV9jb21wYW5pZXMiLGUuV29ybGRzSGlnaGVzdEVhcm5pbmdzPSJ3b3JsZHNfaGlnaGVzdF9lYXJuaW5ncyIsZS5Xb3JsZHNIaWdoZXN0RGl2aWRlbmRzPSJ3b3JsZHNfaGlnaGVzdF9kaXZpZGVuZHMiLGUuV29ybGRzTGFyZ2VzdE9pbEFuZEdhc0NvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfb2lsX2FuZF9nYXNfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RTZW1pY29uZHVjdG9yc1Byb2R1Y2Vycz0id29ybGRzX2xhcmdlc3Rfc2VtaWNvbmR1Y3RvcnNfcHJvZHVjZXJzIixlLldvcmxkc0xhcmdlc3RUZWxlY29tbXVuaWNhdGlvbkNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfdGVsZWNvbW11bmljYXRpb25fY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RUZWNoQ29tcGFuaWVzPSJ3b3JsZHNfbGFyZ2VzdF90ZWNoX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0QmlvdGVjaENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfYmlvdGVjaF9jb21wYW5pZXMiLGUuV29ybGRzTGFyZ2VzdEZpbmFuY2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2ZpbmFuY2VfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RCYW5rcz0id29ybGRzX2xhcmdlc3RfYmFua3MiLGUuV29ybGRzTGFyZ2VzdEVDb21tZXJjZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZV9jb21tZXJjZV9jb21wYW5pZXMiLAplLldvcmxkc0xhcmdlc3RTb2Z0d2FyZUNvbXBhbmllcz0id29ybGRzX2xhcmdlc3Rfc29mdHdhcmVfY29tcGFuaWVzIixlLldvcmxkc0xhcmdlc3RBdXRvbWFrZXJzPSJ3b3JsZHNfbGFyZ2VzdF9hdXRvbWFrZXJzIixlLldvcmxkc0xhcmdlc3RIb3RlbHNBbmRSZXNvcnRzPSJ3b3JsZHNfbGFyZ2VzdF9ob3RlbHNfYW5kX3Jlc29ydHMiLGUuV29ybGRzTGFyZ2VzdFJlc3RhdXJhbnRDaGFpbnM9Indvcmxkc19sYXJnZXN0X3Jlc3RhdXJhbnRfY2hhaW5zIixlLldvcmxkc0xhcmdlc3RTdG9yZXM9Indvcmxkc19sYXJnZXN0X3N0b3JlcyIsZS5Xb3JsZHNMYXJnZXN0QmV2ZXJhZ2VDb21wYW5pZXM9Indvcmxkc19sYXJnZXN0X2JldmVyYWdlX2NvbXBhbmllcyIsZS5Xb3JsZHNMYXJnZXN0Rm9vZENvbXBhbmllcz0id29ybGRzX2xhcmdlc3RfZm9vZF9jb21wYW5pZXMiLGUuRnV0dXJlc0FsbD0iZnV0dXJlc19hbGwiLGUuRnV0dXJlc0FncmljdWx0dXJhbD0iZnV0dXJlc19hZ3JpY3VsdHVyYWwiLGUuRnV0dXJlc0VuZXJneT0iZnV0dXJlc19lbmVyZ3kiLGUuRnV0dXJlc0N1cnJlbmNpZXM9ImZ1dHVyZXNfY3VycmVuY2llcyIsZS5GdXR1cmVzTWV0YWxzPSJmdXR1cmVzX21ldGFscyIsZS5GdXR1cmVzV29ybGRJbmRpY2VzPSJmdXR1cmVzX3dvcmxkX2luZGljZXMiLGUuRnV0dXJlc0ludGVyZXN0UmF0ZXM9ImZ1dHVyZXNfaW50ZXJlc3RfcmF0ZXMiLGUuRnV0dXJlc0NvbnRyYWN0cz0iZnV0dXJlc19jb250cmFjdHMiLGUuQm9uZHNBbGxZaWVsZD0iYm9uZHNfYWxsX3lpZWxkIixlLkJvbmRzQWxsMTB5WWllbGQ9ImJvbmRzX2FsbF8xMHlfeWllbGQiLGUuQm9uZHNNYWpvcjEweVlpZWxkPSJib25kc19tYWpvcl8xMHlfeWllbGQiLGUuQm9uZHNBbWVyaWNhc1lpZWxkPSJib25kc19hbWVyaWNhc195aWVsZCIsZS5Cb25kc0V1cm9wZVlpZWxkPSJib25kc19ldXJvcGVfeWllbGQiLGUuQm9uZHNBc2lhWWllbGQ9ImJvbmRzX2FzaWFfeWllbGQiLGUuQm9uZHNQYWNpZmljWWllbGQ9ImJvbmRzX3BhY2lmaWNfeWllbGQiLGUuQm9uZHNNaWRkbGVFYXN0WWllbGQ9ImJvbmRzX21pZGRsZV9lYXN0X3lpZWxkIixlLkJvbmRzQWZyaWNhWWllbGQ9ImJvbmRzX2FmcmljYV95aWVsZCIsZS5Cb25kc1VTQVlpZWxkPSJib25kc191c2FfeWllbGQiLGUuQm9uZHNVS1lpZWxkPSJib25kc191a195aWVsZCIsZS5Cb25kc0VVWWllbGQ9ImJvbmRzX2V1X3lpZWxkIixlLkJvbmRzR2VybWFueVlpZWxkPSJib25kc19nZXJtYW55X3lpZWxkIixlLkJvbmRzRnJhbmNlWWllbGQ9ImJvbmRzX2ZyYW5jZV95aWVsZCIsZS5Cb25kc0NoaW5hWWllbGQ9ImJvbmRzX2NoaW5hX3lpZWxkIixlLkJvbmRzSW5kaWFZaWVsZD0iYm9uZHNfaW5kaWFfeWllbGQiLGUuQm9uZHNKYXBhbllpZWxkPSJib25kc19qYXBhbl95aWVsZCIsZS5TdG9ja3NSZWxhdGVkQm9uZHM9InN0b2Nrc19yZWxhdGVkX2JvbmRzIixlLkNvaW5NYXJrZXRDYXBSYW5rPSJjb2luX21hcmtldF9jYXBfcmFuayIsZS5Db2luVG90YWxWYWx1ZUxvY2tlZD0iY29pbl90b3RhbF92YWx1ZV9sb2NrZWQiLGUuQ29pbkRlZmk9ImNvaW5fZGVmaSIsZS5Db2luR2FpbmVycz0iY29pbl9nYWluZXJzIixlLkNvaW5Mb3NlcnM9ImNvaW5fbG9zZXJzIixlLkNvaW5MYXJnZUNhcD0iY29pbl9sYXJnZV9jYXAiLGUuQ29pblNtYWxsQ2FwPSJjb2luX3NtYWxsX2NhcCIsZS5Db2luTW9zdFRyYWRlZD0iY29pbl9tb3N0X3RyYWRlZCIsZS5Db2luTW9zdFRyYW5zYWN0aW9ucz0iY29pbl9tb3N0X3RyYW5zYWN0aW9ucyIsZS5Db2luSGlnaGVzdFRyYW5zYWN0aW9uVm9sPSJjb2luX2hpZ2hlc3RfdHJhbnNhY3Rpb25fdm9sdW1lIixlLkNvaW5Mb3dlc3RTdXBwbHk9ImNvaW5fbG93ZXN0X3N1cHBseSIsZS5Db2luSGlnaGVzdFN1cHBseT0iY29pbl9oaWdoZXN0X3N1cHBseSIsZS5Db2luTW9zdEV4cGVuc2l2ZT0iY29pbl9tb3N0X2V4cGVuc2l2ZSIsZS5Db2luTW9zdFZvbGF0aWxlPSJjb2luX21vc3Rfdm9sYXRpbGUiLGUuQ29pbkFsbFRpbWVHaWdoPSJjb2luX2FsbF90aW1lX2hpZ2giLGUuQ29pbkFsbFRpbWVMb3c9ImNvaW5fYWxsX3RpbWVfbG93IixlLkNvaW41MldlZWtIaWdoPSJjb2luXzUyX3dlZWtfaGlnaCIsZS5Db2luNTJXZWVrTG93PSJjb2luXzUyX3dlZWtfbG93IixlLkNvaW5Nb3N0QWRkcmVzc2VzV2l0aEJhbGFuY2U9ImNvaW5fbW9zdF9hZGRyZXNzZXNfd2l0aF9iYWxhbmNlIixlLkNvaW5Nb3N0QWRkcmVzc2VzQWN0aXZlPSJjb2luX21vc3RfYWRkcmVzc2VzX2FjdGl2ZSIsZS5Db2luSGlnaGVzdE9wZW5JbnRlcmVzdD0iY29pbl9oaWdoZXN0X29wZW5faW50ZXJlc3QiLGUuQ29pblJpc2luZ09wZW5JbnRlcmVzdD0iY29pbl9yaXNpbmdfb3Blbl9pbnRlcmVzdCIsZS5Db2luRnVuZGluZ0V4dHJlbWVzPSJjb2luX2Z1bmRpbmdfZXh0cmVtZXMiLGUuQ29pbkxpcXVpZGF0aW9uU3Bpa2VzPSJjb2luX3RvcF9saXF1aWRhdGlvbnMiLGUuSW5kaWNlc0N1cnJlbmN5PSJpbmRpY2VzX2N1cnJlbmN5IixlLkZvcmV4UmF0ZXNBbGw9ImZvcmV4X3JhdGVzX2FsbCIsZS5Gb3Jlc1JhdGVzTWFqb3I9ImZvcmV4X3JhdGVzX21ham9yIixlLkZvcmV4UmF0ZXNNaW5vcj0iZm9yZXhfcmF0ZXNfbWlub3IiLGUuRm9yZXhSYXRlc0V4b3RpYz0iZm9yZXhfcmF0ZXNfZXhvdGljIixlLkZvcmV4UmF0ZXNBbWVyaWNhcz0iZm9yZXhfcmF0ZXNfYW1lcmljYXMiLGUuRm9yZXhSYXRlc0V1cm9wZT0iZm9yZXhfcmF0ZXNfZXVyb3BlIixlLkZvcmV4UmF0ZXNBc2lhPSJmb3JleF9yYXRlc19hc2lhIixlLkZvcmV4UmF0ZXNQYWNpZmljPSJmb3JleF9yYXRlc19wYWNpZmljIixlLkZvcmV4UmF0ZXNNaWRkbGVFYXN0PSJmb3JleF9yYXRlc19taWRkbGVfZWFzdCIsZS5Gb3JleFJhdGVzQWZyaWNhPSJmb3JleF9yYXRlc19hZnJpY2EiLGUuSW5kaWNlc0FsbD0iaW5kaWNlc19hbGwiLGUuSW5kaWNlc01ham9yPSJpbmRpY2VzX21ham9yIixlLkluZGljZXNVUz0iaW5kaWNlc191cyIsZS5JbmRpY2VzU05QPSJpbmRpY2VzX3NucF9zZWN0b3JzIixlLkluZGljZXNBbWVyaWNhcz0iaW5kaWNlc19hbWVyaWNhcyIsCmUuSW5kaWNlc0V1cm9wZT0iaW5kaWNlc19ldXJvcGUiLGUuSW5kaWNlc0FzaWE9ImluZGljZXNfYXNpYSIsZS5JbmRpY2VzUGFjaWZpYz0iaW5kaWNlc19wYWNpZmljIixlLkluZGljZXNNaWRkbGVFYXN0PSJpbmRpY2VzX21pZGRsZV9lYXN0IixlLkluZGljZXNBZnJpY2E9ImluZGljZXNfYWZyaWNhIixlLkluZGV4Q29tcG9uZW50c01hcmtldFBhZ2VzPSJpbmRleF9jb21wb25lbnRzX21hcmtldF9wYWdlcyIsZS5TZWN0b3JzPSJtYXJrZXRfc2VjdG9ycyIsZS5JbmR1c3RyaWVzPSJtYXJrZXRfaW5kdXN0cmllcyIsZS5NYXJrZXRDb21wYW55PSJtYXJrZXRfY29tcGFueSIsZS5FdGZMYXJnZXN0PSJldGZzX21hcmtldF9wYWdlX2xhcmdlc3QiLGUuRXRmSGlnaGVzdEF1bUdyb3d0aD0iZXRmc19tYXJrZXRfaGlnaGVzdF9hdW1fZ3Jvd3RoIixlLkV0ZkhpZ2hlc3RSZXR1cm5zPSJldGZzX21hcmtldF9wYWdlX2hpZ2hlc3RfcmV0dXJuIixlLkV0Zkxvc2Vycz0iZXRmc19tYXJrZXRfcGFnZV9iaWdnZXN0X2xvc3NlcyIsZS5FdGZFcXVpdHk9ImV0ZnNfbWFya2V0X3BhZ2VfZXF1aXR5XzV5IixlLkV0ZkdvbGQ9ImV0ZnNfbWFya2V0X3BhZ2VfZ29sZCIsZS5FdGZGaXhlZEluY29tZT0iZXRmc19tYXJrZXRfcGFnZV9maXhlZF9pbmNvbWVfNXkiLGUuRXRmUmVhbEVzdGF0ZT0iZXRmc19tYXJrZXRfcGFnZV9yZWFsX2VzdGF0ZSIsZS5FdGZDb21tb2RpdGllczV5PSJldGZzX21hcmtldF9wYWdlX2NvbW1vZGl0aWVzXzV5IixlLkV0Zk1vc3RUcmFkZWRBbGxNYXJrZXRzPSJldGZzX21hcmtldF9wYWdlX21vc3RfdHJhZGVkX2FsbF9tYXJrZXRzIixlLkV0ZkhpZ2hlc3RZaWVsZD0iZXRmc19tYXJrZXRfcGFnZV9oaWdoZXN0X3lpZWxkIixlLkV0ZkRpdmlkZW5kPSJldGZzX21hcmtldF9wYWdlX2RpdmlkZW5kIixlLkV0ZkFjdGl2ZWx5TWFuYWdlZD0iZXRmc19tYXJrZXRfcGFnZV9hY3RpdmVseV9tYW5hZ2VkIixlLkV0ZkFzc2V0QWxsb2NhdGlvbjV5PSJldGZzX21hcmtldF9wYWdlX2Fzc2V0X2FsbG9jYXRpb25fNXkiLGUuRXRmU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3Rvcl9hdW0iLGUuRXRmc01hcmtldFBhZ2VEaXZpZGVuZHM9ImV0ZnNfbWFya2V0X3BhZ2VfZGl2aWRlbmRzIixlLkV0ZnNNYXJrZXRQYWdlU2VjdG9yPSJldGZzX21hcmtldF9wYWdlX3NlY3RvciIsZS5Db3VudHJ5VG9wRXRmc01vc3RUcmFkZWQ9ImNvdW50cnlfdG9wX2V0ZnNfbW9zdF90cmFkZWQiLGUuRXRmVVNBPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX3VzIixlLkV0ZkNhbmFkYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9jYSIsZS5FdGZVSz0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF91ayIsZS5FdGZHZXJtYW55PSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2RlIixlLkV0ZkphcGFuPSJldGZzX21hcmtldF9wYWdlX2NvdW50cnlfdG9wX2pwIixlLkV0ZkF1c3RyYWxpYT0iZXRmc19tYXJrZXRfcGFnZV9jb3VudHJ5X3RvcF9hdSIsZS5FdGZzRXRoZXJldW09ImV0ZnNfbWFya2V0X3BhZ2VfZXRoZXJldW0iLGUuQ29ycG9yYXRlQm9uZHNIaWdoZXN0WWllbGQ9ImhpZ2hlc3RfeWllbGRfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNTaG9ydFRlcm09InNob3J0X3Rlcm1fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNMb25nVGVybT0ibG9uZ190ZXJtX2JvbmRzIixlLkNvcnBvcmF0ZUJvbmRzWmVyb0NvdXBvbj0iemVyb19jb3Vwb25fYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGaXhlZFJhdGU9ImZpeGVkX3JhdGVfYm9uZHMiLGUuQ29ycG9yYXRlQm9uZHNGbG9hdGluZ1JhdGU9ImZsb2F0aW5nX3JhdGVfYm9uZHMiLGUuSXBvQ2FsZW5kYXI9Imlwb19jYWxlbmRhciJ9KGx8fChsPXt9KSk7dmFyIG09cyg2NjMwNDYpLHA9cyg4Mzk0MjYpLHk9cygzMDgzODgpLGc9cyg1OTU1MTcpLGY9cyg0MjA5ODkpO2NsYXNzIGJ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXF1ZXN0U3ltYm9sRGF0YT0oMCxtLmRlZmF1bHQpKCgoZSwuLi50KT0+KHt0aW1lOnBlcmZvcm1hbmNlLm5vdygpLGRhdGE6KDAseS5nZXRTeW1ib2xEYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdFNjYW5EYXRhPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxnLmdldFNjYW5EYXRhKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEJvbmRzPSgwLG0uZGVmYXVsdCkoKChlLC4uLnQpPT4oe3RpbWU6cGVyZm9ybWFuY2Uubm93KCksZGF0YTooMCxmLmdldEJvbmRzKSguLi50KX0pKSksdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHM9KDAsbS5kZWZhdWx0KSgoKGUsLi4udCk9Pih7dGltZTpwZXJmb3JtYW5jZS5ub3coKSxkYXRhOigwLGYuZ2V0RnV0dXJlc0NvbnRyYWN0cykoLi4udCl9KSkpfWdldFN5bWJvbERhdGEoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdFN5bWJvbERhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTeW1ib2xEYXRhKGUsLi4udCkuZGF0YX1nZXRTY2FuRGF0YShlLC4uLnQpe3JldHVybiB0aGlzLl9jbGVhcklmU3RhbGUoZSx0aGlzLl9yZXF1ZXN0U2NhbkRhdGEuY2FjaGUpLHRoaXMuX3JlcXVlc3RTY2FuRGF0YShlLC4uLnQpLmRhdGF9Z2V0Qm9uZHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEJvbmRzLmNhY2hlKSx0aGlzLl9yZXF1ZXN0Qm9uZHMoZSwuLi50KS5kYXRhfWdldEZ1dHVyZXNDb250cmFjdHMoZSwuLi50KXtyZXR1cm4gdGhpcy5fY2xlYXJJZlN0YWxlKGUsdGhpcy5fcmVxdWVzdEZ1dHVyZXNDb250cmFjdHMuY2FjaGUpLHRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsLi4udCkuZGF0YX1fY2xlYXJJZlN0YWxlKGUsdCl7Y29uc3Qgcz10LmdldChlKTtzJiZNYXRoLmFicyhzLnRpbWUtcGVyZm9ybWFuY2Uubm93KCkpPjVlMyYmdC5kZWxldGUoZSl9fWNvbnN0IHY9KDAsCnAuZGVmYXVsdCkoKCgpPT5uZXcgYikpLFM9WyJwcmljZV81Ml93ZWVrX2hpZ2giLCJwcmljZV81Ml93ZWVrX2xvdyIsInNlY3RvciIsImNvdW50cnkiLCJtYXJrZXQiLCJMb3cuMU0iLCJIaWdoLjFNIiwiUGVyZi5XIiwiUGVyZi4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZIiwiUGVyZi5ZVEQiLCJSZWNvbW1lbmQuQWxsIiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsIm5hdl9kaXNjb3VudF9wcmVtaXVtIiwib3Blbl9pbnRlcmVzdCIsImNvdW50cnlfY29kZV9mdW5kIiwiaXYiLCJ1bmRlcmx5aW5nX3N5bWJvbCIsImRlbHRhIiwiZ2FtbWEiLCJyaG8iLCJ0aGV0YSIsInZlZ2EiLCJ0aGVvUHJpY2UiXSxDPVsiZXhwaXJhdGlvbiIsImNsb3NlIiwicHJpY2VzY2FsZSIsIm1pbm1vdiJdLGs9WyJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2RpbHV0ZWRfY2FsYyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsIjI0aF92b2xfdG9fbWFya2V0X2NhcCIsImZ1bGx5X2RpbHV0ZWRfdmFsdWUiLCJkZXhfdG90YWxfbGlxdWlkaXR5IiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCJdLHc9WyIyNGhfdm9sX3RvX21hcmtldF9jYXAiXSxEPVsiZnVuZGluZ19yYXRlIiwib3Blbl9pbnRlcmVzdCIsImxpcXVpZGF0aW9uc192b2x1bWVfMjRoIl0sRT1bIlBlcmYuM1kiLCJQZXJmLjVZIiwibmF2X3RvdGFsX3JldHVybi4xTSIsIm5hdl90b3RhbF9yZXR1cm4uM00iLCJuYXZfdG90YWxfcmV0dXJuLjFZIiwibmF2X3RvdGFsX3JldHVybi5ZVEQiLCJuYXZfdG90YWxfcmV0dXJuLjNZIiwibmF2X3RvdGFsX3JldHVybi41WSJdLEY9WyJtYXR1cml0eV9kYXRlIiwiY2xvc2UiLCJjb3Vwb24iLCJ0eXBlc3BlY3MiLCJwcmljZXNjYWxlIiwiZnJhY3Rpb25hbCIsIm1pbm1vdiIsIm1pbm1vdmUyIiwidGVybS10by1tYXR1cml0eSIsImRheXNfdG9fbWF0dXJpdHkiLCJjb3VudHJ5X2NvZGVfZnVuZCJdLFI9WyJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5X2RhdGUiXTtjbGFzcyBBe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX2Z1dHVyZXM9W10sdGhpcy5fYm9uZHM9W10sdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1bXSx0aGlzLl9jcnlwdG9EYXRhPW51bGwsdGhpcy5fY3J5cHRvQXNzZXREYXRhPW51bGwsdGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9bnVsbCx0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1udWxsLHRoaXMuX2V0ZkRhdGE9bnVsbCx0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PW51bGwsdGhpcy5fdW5kZXJseWluZ1N5bWJvbD1udWxsLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0PW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRXRmUmVxdWVzdD1udWxsLHRoaXMuX2NvbnRyYWN0Qm9uZHNSZXF1ZXN0PW51bGwsdGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD1udWxsLHRoaXMuX3NjcmVlbmVyRGF0YT17fSx0aGlzLl9kZXhDb252ZXJ0ZWRTeW1ib2xEYXRhPW51bGwsdGhpcy5fc2NyZWVuZXJSZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPW51bGwsdGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9bnVsbCx0aGlzLl9ib25kc0NvbXBsZXRlPW51bGwsdGhpcy5fZnV0dXJlc0NvbXBsZXRlPW51bGwsdGhpcy5fcHJvZHVjdExhYmVsPW51bGwsdGhpcy5fc3ltYm9sPWUuc3ltYm9sLHRoaXMuX2NsaWVudElkPSgwLHIuZ3VpZCkoKSx0aGlzLl9wcm9kdWN0TGFiZWw9ZS5sYWJlbD8/bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlPWUucXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZX1zZXRIYW5kbGVyKGUpe3RoaXMuX2Rlc3Ryb3llZHx8dGhpcy5fc3Vic2NyaWJlZHx8KHRoaXMuX3N1YnNjcmliZWQ9ITAsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fc3ltYm9sLCh0PT57dGhpcy5fY2hlY2tEYXRhSGFuZGxlcih0LGUpfSkpKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fcXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZS51bnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0aGlzLl9zeW1ib2wpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2wmJnRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2UudW5zdWJzY3JpYmUodGhpcy5fY2xpZW50SWQsdGhpcy5fdW5kZXJseWluZ1N5bWJvbCksdGhpcy5fZGV4Q29udmVydGVkU3ltYm9sJiZ0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbCl9X21lcmdlRGF0YUhhbmRsZXIoZSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Jlc3BvbnNlKSxzPXtzeW1ib2w6dGhpcy5fc3ltYm9sLHF1b3Rlczp7Li4udC52YWx1ZXN9LHNjcmVlbmVyOnt9LGFnZ3JlZ2F0ZWQ6e2Z1dHVyZXM6dGhpcy5fZnV0dXJlcyxib25kczp0aGlzLl9ib25kcyxjcnlwdG9fZGF0YTp0aGlzLl9jcnlwdG9EYXRhLGV0Zl9kYXRhOnRoaXMuX2V0ZkRhdGEsY3J5cHRvX2Fzc2V0X2RhdGE6dGhpcy5fY3J5cHRvQXNzZXREYXRhLGNyeXB0b19kZXJpdmF0aXZlX2RhdGE6dGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGEsdW5kZXJseWluZ19zeW1ib2xfZGF0YTp0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YSxkZXhfY29udmVydGVkX3N5bWJvbF9kYXRhOnRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGEsc3RvY2tzX3JlbGF0ZWRfYm9uZHNfZGF0YTp0aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNEYXRhfX07Uy5mb3JFYWNoKChlPT57CnZvaWQgMCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmbnVsbCE9PXRoaXMuX3NjcmVlbmVyRGF0YVtlXSYmKHMuc2NyZWVuZXJbZV09dGhpcy5fc2NyZWVuZXJEYXRhW2VdKX0pKTtjb25zdCByPXsuLi50LHZhbHVlczpzfTtudWxsPT09dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSYmdC5jb21wbGV0ZSYmbnVsbD09PXRoaXMuX3NjcmVlbmVyUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ29tcGxldGUmJihyLmNvbXBsZXRlU2NyZWVuZXI9dGhpcy5fc2NyZWVuZXJDb21wbGV0ZSxudWxsPT09dGhpcy5fY29udHJhY3RCb25kc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0Qm9uZENvbnRyYWN0cyhyLGUpKSksdGhpcy5fYm9uZHNDb21wbGV0ZSYmKHIuYm9uZHNDb21wbGV0ZT10aGlzLl9ib25kc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fZnV0dXJlc0NvbXBsZXRlJiZ0LmNvbXBsZXRlJiZudWxsPT09dGhpcy5fY29udHJhY3RGdXR1cmVzUmVxdWVzdCYmKHRoaXMuX2Z1dHVyZXNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSksdGhpcy5fZnV0dXJlc0NvbXBsZXRlJiYoci5mdXR1cmVzQ29tcGxldGU9dGhpcy5fZnV0dXJlc0NvbXBsZXRlKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUmJnQuY29tcGxldGUmJm51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b0Rlcml2YXRpdmVSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCkpLHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlJiYoci5jcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGUpLGUocil9X2NoZWNrRGF0YUhhbmRsZXIoZSx0KXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9yZXNwb25zZT1lLG51bGw9PT10aGlzLl9zY3JlZW5lclJlcXVlc3QmJih0aGlzLl9zY3JlZW5lclJlcXVlc3Q9dGhpcy5fcmVxdWVzdFNjcmVlbmVyKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3QmJih0aGlzLl9zY3JlZW5lckNyeXB0b1JlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0RhdGEoZSx0KSksbnVsbD09PXRoaXMuX3NjcmVlbmVyQ3J5cHRvQXNzZXRSZXF1ZXN0JiYodGhpcy5fc2NyZWVuZXJDcnlwdG9Bc3NldFJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Fzc2V0RGF0YShlLHQpKSxudWxsPT09dGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlUmVxdWVzdCYmKHRoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZVJlcXVlc3Q9dGhpcy5fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3QmJih0aGlzLl9zY3JlZW5lckV0ZlJlcXVlc3Q9dGhpcy5fcmVxdWVzdEV0ZkRhdGEoZSx0KSksbnVsbD09PXRoaXMuX2NvbnRyYWN0RnV0dXJlc1JlcXVlc3QmJih0aGlzLl9jb250cmFjdEZ1dHVyZXNSZXF1ZXN0PXRoaXMuX3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCkpLHRoaXMuX3VuZGVybHlpbmdTeW1ib2x8fCh0aGlzLl91bmRlcmx5aW5nU3ltYm9sPXRoaXMuX3N1YnNjcmliZVVuZGVybHlpbmdTeW1ib2xEYXRhKGUsdCkpLHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbHx8KHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbD10aGlzLl9zdWJzY3JpYmVEZXhDb252ZXJ0ZWRTeW1ib2xEYXRhKGUsdCkpLG51bGw9PT10aGlzLl9zdG9ja3NSZWxhdGVkQm9uZHNSZXF1ZXN0JiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzUmVxdWVzdD10aGlzLl9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfV9yZXF1ZXN0U3RvY2tzUmVsYXRlZEJvbmRzKGUsdCl7Y29uc3R7InN5bWJvbC1wcmltYXJ5bmFtZSI6cyxoYXNfYm9uZHM6cn09ZS52YWx1ZXM7aWYoIXN8fHZvaWQgMD09PXIpcmV0dXJuIG51bGw7aWYoIXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGk9KG5ldyBuLlNjYW5QYXJhbXNNYW5hZ2VyKS5zZXRDb2x1bW5zKFsuLi5SXSkuc2V0UHJlc2V0KGwuU3RvY2tzUmVsYXRlZEJvbmRzKS5zZXRSYW5nZShbMCwzXSkuc2V0SW5kZXhGaWx0ZXJzKFt7bmFtZToiYm9uZF9pc3N1ZXJfY3JfcGFyZW50X3N0b2NrX3N5bWJvbCIsdmFsdWVzOltzXX1dKTtyZXR1cm4gdigpLmdldFNjYW5EYXRhKGBzY3JlZW5lci1zdG9jay1yZWxhdGVkLWJvbmRzLSR7c31gLG51bGwsaSxvLk5vblN0b2NrTWFya2V0LkJvbmQsdGhpcy5fcHJvZHVjdExhYmVsPz92b2lkIDApLnRoZW4oKGU9PnshZS5lcnJvciYmZS5kYXRhJiYodGhpcy5fc3RvY2tzUmVsYXRlZEJvbmRzRGF0YT1lLmRhdGEucmVkdWNlKCgoZSx0KT0+e2ZvcihsZXQgcz0wO3M8Ui5sZW5ndGg7cysrKWlmKG51bGw9PT10LmRbc10pcmV0dXJuIGU7Y29uc3Qgcz1SLnJlZHVjZSgoKGUscyxyKT0+KHsuLi5lLFtzXTp0LmRbcl19KSkse3N5bWJvbDp0LnN9KTtyZXR1cm4gZS5wdXNoKHMpLGV9KSxbXSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKDAsaC5pc0Fib3J0RXJyb3IpKGUpKXRocm93IGV9KSl9X3JlcXVlc3RGdXR1cmVzQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1QKGUudmFsdWVzKTtpZih2b2lkIDA9PT1zKXJldHVybiB0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7c3ltYm9sOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0RnV0dXJlc0NvbnRyYWN0cyhgc2NyZWVuZXItZnV0dXJlcy1jb250cmFjdHMtJHtyfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9mdXR1cmVzQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKGUuZGF0YS5sZW5ndGgmJih0aGlzLl9mdXR1cmVzPXgoZSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpfQpfc3Vic2NyaWJlVW5kZXJseWluZ1N5bWJvbERhdGEoZSx0KXtjb25zdCBzPWUudmFsdWVzWyJ1bmRlcmx5aW5nLXN5bWJvbCJdO3JldHVybiBzPyh0aGlzLl9xdW90ZVNlc3Npb25NdWx0aXBsZXhlckluc3RhbmNlLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCxzLChlPT57ZSYmIXRoaXMuX2Rlc3Ryb3llZCYmKE9iamVjdC5rZXlzKGUudmFsdWVzKS5sZW5ndGgmJih0aGlzLl91bmRlcmx5aW5nU3ltYm9sRGF0YT1lLnZhbHVlcyksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkscyk6bnVsbH1fc3Vic2NyaWJlRGV4Q29udmVydGVkU3ltYm9sRGF0YShlLHQpe2NvbnN0IHM9ZS52YWx1ZXMuZGV4X2NvbnZlcnRlZF9zeW1ib2w7cmV0dXJuIHMmJiJVU0QiIT09ZS52YWx1ZXMuY3VycmVuY3lfaWQ/KHRoaXMuX3F1b3RlU2Vzc2lvbk11bHRpcGxleGVySW5zdGFuY2Uuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHMsKGU9PntlJiYhdGhpcy5fZGVzdHJveWVkJiYoT2JqZWN0LmtleXMoZS52YWx1ZXMpLmxlbmd0aCYmKHRoaXMuX2RleENvbnZlcnRlZFN5bWJvbERhdGE9ZS52YWx1ZXMpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLHMpOm51bGx9X3JlcXVlc3RCb25kQ29udHJhY3RzKGUsdCl7Y29uc3Qgcz1CKHsuLi5lLnZhbHVlcy5xdW90ZXMsY291bnRyeV9jb2RlX2Z1bmQ6ZS52YWx1ZXMuc2NyZWVuZXI/LmNvdW50cnlfY29kZV9mdW5kfSk7aWYodm9pZCAwPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxQcm9taXNlLnJlc29sdmUoKTtpZihudWxsPT09cylyZXR1cm4gdGhpcy5fYm9uZHNDb21wbGV0ZT1wZXJmb3JtYW5jZS5ub3coKSxudWxsO2NvbnN0e2NvdW50cnlDb2RlOnIsb3B0aW9uczppLG1hcmtldDpufT1zO3JldHVybiB2KCkuZ2V0Qm9uZHMoYHNjcmVlbmVyLWJvbmRzLSR7ZS52YWx1ZXMucXVvdGVzLnByb19uYW1lfWAscixpLG4pLnRoZW4oKGU9Pnt0aGlzLl9ib25kc0NvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLGUmJiF0aGlzLl9kZXN0cm95ZWQmJihlLmRhdGEubGVuZ3RoJiYodGhpcy5fYm9uZHM9cShlKSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSl9X3JlcXVlc3RDcnlwdG9Bc3NldERhdGEoZSx0KXtjb25zdHtjcnlwdG9fYXNzZXQ6c309ZS52YWx1ZXM7cmV0dXJuIHM/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1hc3NldC0ke3N9YCxudWxsLHMsdyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PnshdGhpcy5fZGVzdHJveWVkJiZlJiYoMCE9PU9iamVjdC5rZXlzKGUpLmxlbmd0aCYmKHRoaXMuX2NyeXB0b0Fzc2V0RGF0YT13LnJlZHVjZSgoKHQscyk9Pih7Li4udCxbc106ZVtzXX0pKSx7fSkpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpfSkpLmNhdGNoKChlPT57aWYoISgoMCxoLmlzQWJvcnRFcnJvcikoZSl8fGUgaW5zdGFuY2VvZiBkLlN5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2UpKXRocm93IGV9KSk6bnVsbH1fcmVxdWVzdENyeXB0b0Rlcml2YXRpdmVEYXRhKGUsdCl7Y29uc3R7dHlwZTpzfT1lLnZhbHVlcyxyPSgpPT4odGhpcy5fc2NyZWVuZXJDcnlwdG9EZXJpdmF0aXZlQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCkpO2lmKHMmJiJzcG90IiE9PXMpcmV0dXJuIHIoKTtpZighZS5jb21wbGV0ZSlyZXR1cm4gbnVsbDtjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0e3Byb19uYW1lOnQsY3J5cHRvX2Fzc2V0OnMsZnVuZF92aWV3X21vZGVzOnIsYmFzZV9jdXJyZW5jeV9pZDppLHR5cGU6bixjdXJyZW5jeV9pZDpvfT1lLGE9Qm9vbGVhbih0JiZzJiZ0PT09cyksbD0ic3BvdCI9PT1uJiYiVVNEIj09PW87aWYoIWEmJiFsfHwhcj8uY3J5cHRvPy5pbmNsdWRlcygiY3J5cHRvX2Rlcml2YXRpdmVfbWV0cmljc19hZ2ciKSlyZXR1cm4gbnVsbDtpZihzKXJldHVybiBzO2lmKGkpcmV0dXJuYENSWVBUTzoke2kucmVwbGFjZSgvXlhUVkMvLCIiKX1VU0RgO3JldHVybiBudWxsfShlLnZhbHVlcyk7cmV0dXJuIGk/digpLmdldFN5bWJvbERhdGEoYHNjcmVlbmVyLWNyeXB0by1kZXJpdmF0aXZlLSR7aX1gLG51bGwsaSxELHRoaXMuX3Byb2R1Y3RMYWJlbCkudGhlbigoZT0+e3RoaXMuX3NjcmVlbmVyQ3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLCF0aGlzLl9kZXN0cm95ZWQmJmUmJigwIT09T2JqZWN0LmtleXMoZSkubGVuZ3RoJiYodGhpcy5fY3J5cHRvRGVyaXZhdGl2ZURhdGE9RC5yZWR1Y2UoKCh0LHMpPT4oey4uLnQsW3NdOmVbc119KSkse30pKSx0aGlzLl9tZXJnZURhdGFIYW5kbGVyKHQpKX0pKS5jYXRjaCgoZT0+e2lmKCEoKDAsaC5pc0Fib3J0RXJyb3IpKGUpfHxlIGluc3RhbmNlb2YgZC5TeW1ib2xEb2VzTm90RXhpc3RFcnJvclJlc3BvbnNlKSl0aHJvdyBlfSkpOnIoKX1fcmVxdWVzdENyeXB0b0RhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLGN1cnJlbmN5X2NvZGU6aSxkZXhfY29udmVydGVkX3N5bWJvbDpufT1lLnZhbHVlcztpZihzJiYhKDAsYy5oYXNDcnlwdG9UeXBlc3BlYykocykpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPXI7aWYoIlVTRCIhPT1pKXtpZighbilyZXR1cm4gbnVsbDtvPW59cmV0dXJuIHYoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1jcnlwdG8tJHtvfWAsbnVsbCxvLGssdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9jcnlwdG9EYXRhPWsucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX1fcmVxdWVzdEV0ZkRhdGEoZSx0KXtjb25zdHt0eXBlc3BlY3M6cyxwcm9fbmFtZTpyLHR5cGU6aX09ZS52YWx1ZXM7cmV0dXJuIGkmJnMmJiEoMCwKYy5pc0V0ZikoaSxzKT9Qcm9taXNlLnJlc29sdmUoKTpyP3YoKS5nZXRTeW1ib2xEYXRhKGBzY3JlZW5lci1ldGYtJHtyfWAsbnVsbCxyLEUsdGhpcy5fcHJvZHVjdExhYmVsKS50aGVuKChlPT57IXRoaXMuX2Rlc3Ryb3llZCYmZSYmKDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0aGlzLl9ldGZEYXRhPUUucmVkdWNlKCgodCxzKT0+KHsuLi50LFtzXTplW3NdfSkpLHt9KSksdGhpcy5fbWVyZ2VEYXRhSGFuZGxlcih0KSl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKTpudWxsfV9yZXF1ZXN0U2NyZWVuZXIoZSx0KXtjb25zdCBzPU0oZS52YWx1ZXMpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCksUHJvbWlzZS5yZXNvbHZlKCk7aWYobnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3R7bmFtZTpyfT1zO3JldHVybiB2KCkuZ2V0U3ltYm9sRGF0YShgc2NyZWVuZXItZ2VuZXJpYy0ke3J9YCxudWxsLHIsUyx0aGlzLl9wcm9kdWN0TGFiZWwpLnRoZW4oKGU9PntlP3RoaXMuX2Rlc3Ryb3llZHx8KDAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJlMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0XTt0aGlzLl9zY3JlZW5lckRhdGFbdF09c30pKSx0aGlzLl9zY3JlZW5lckNvbXBsZXRlPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX21lcmdlRGF0YUhhbmRsZXIodCkpOnRoaXMuX3NjcmVlbmVyQ29tcGxldGU9cGVyZm9ybWFuY2Uubm93KCl9KSkuY2F0Y2goKGU9PntpZighKCgwLGguaXNBYm9ydEVycm9yKShlKXx8ZSBpbnN0YW5jZW9mIGQuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSkpdGhyb3cgZX0pKX19ZnVuY3Rpb24geChlKXtyZXR1cm4gZS5kYXRhLm1hcCgoZT0+Qy5yZWR1Y2UoKCh0LHMscik9Pih7Li4udCxbc106ImV4cGlyYXRpb24iPT09cz8oMCxfLm11dGF0ZVNpbXBsZURhdGUpKGUuZFtyXSk6ZS5kW3JdfSkpLHtzeW1ib2w6ZS5zfSkpKX1mdW5jdGlvbiBxKGUpe3JldHVybiBlLmRhdGEubWFwKChlPT5GLnJlZHVjZSgoKHQscyxyKT0+e2xldCBpO3N3aXRjaChzKXtjYXNlIm1hdHVyaXR5X2RhdGUiOmk9KDAsXy5tdXRhdGVTaW1wbGVEYXRlKShlLmRbcl0pO2JyZWFrO2Nhc2UiZnJhY3Rpb25hbCI6aT0idHJ1ZSI9PT1lLmRbcl07YnJlYWs7ZGVmYXVsdDppPWUuZFtyXX1yZXR1cm57Li4udCxbc106aX19KSx7c3ltYm9sOmUuc30pKSl9ZnVuY3Rpb24gUChlKXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6dCxyb290OnMsdHlwZTpyfT1lO2lmKHImJiJmdXR1cmVzIiE9PXIpcmV0dXJuO2lmKCF0fHwhcnx8IXMpcmV0dXJuIG51bGw7Y29uc3QgaT17Y29sdW1uczpDLHNvcnQ6e3NvcnRCeToiZXhwaXJhdGlvbiIsc29ydE9yZGVyOiJhc2MifX07cmV0dXJue3N5bWJvbDpgJHt0fToke3N9YCxtYXJrZXQ6YSgpLG9wdGlvbnM6aX19ZnVuY3Rpb24gQihlLHQ9e2NvbHVtbnM6Rixzb3J0Ontzb3J0Qnk6Im1hdHVyaXR5X2RhdGUiLHNvcnRPcmRlcjoiYXNjIn19KXtjb25zdHtsaXN0ZWRfZXhjaGFuZ2U6cyx0eXBlOnIsdHlwZXNwZWNzOmksY291bnRyeV9jb2RlX2Z1bmQ6bn09ZTtpZihyJiYiYm9uZCIhPT1yKXJldHVybjtpZighKHMmJnImJm4mJmk/LmluY2x1ZGVzKCJnb3Zlcm5tZW50IikpKXJldHVybiBudWxsO3JldHVybntjb3VudHJ5Q29kZTpuLG1hcmtldDphKCksb3B0aW9uczp0fX1mdW5jdGlvbiBNKGUpe2lmKCFlLnR5cGV8fCFlLmxpc3RlZF9leGNoYW5nZSlyZXR1cm4gbnVsbDtpZih1LlNZTUJPTF9UWVBFX0JMQUNLX0xJU1QuaGFzKGUudHlwZSkpcmV0dXJuO2NvbnN0IHQ9ZS5wcm9fbmFtZTtyZXR1cm4gdD97bmFtZTp0LHR5cGU6ZS50eXBlfTpudWxsfX0sNDIwOTg5KGUsdCxzKXtzLmQodCx7Z2V0Qm9uZHM6KCk9PnUsZ2V0RnV0dXJlc0NvbnRyYWN0czooKT0+Y30pO3ZhciByPXMoMjIxMDYxKSxpPXMoODI3MDI5KSxuPXMoMzg0MDE3KSxvPXMoMjE0OTg3KTtjb25zdCBhPSgpPT53aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iO2Z1bmN0aW9uIGwoZSx0PWUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UubGVuZ3RoPjE/YCR7YSgpfS9nbG9iYWwvYDpgJHthKCl9LyR7dFswXX0vYDpgJHthKCl9LyR7dH0vYH1jb25zdCBfPSgwLHIuZ2V0TG9nZ2VyKSgiU2NyZWVuZXIuV2lkZ2V0Iik7ZnVuY3Rpb24gYyhlLHQscyl7Y29uc3Qgcj17ZmlsdGVyOlt7bGVmdDoiZXhwaXJhdGlvbiIsb3BlcmF0aW9uOiJuZW1wdHkifSx7bGVmdDoic3VidHlwZSIsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0OiJjb250aW51b3VzIn1dLGluZGV4X2ZpbHRlcnM6W3tuYW1lOiJyb290Iix2YWx1ZXM6W2VdfV0sbWFya2V0czpbaS5Ob25TdG9ja01hcmtldC5GdXR1cmVzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMsImZ1dHVyZXMiKSsic2NhbiIse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeShyKSxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKChlPT5lLmpzb24oKSkpLmNhdGNoKChlPT57Xy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBmdXR1cmVzIGNvbnRyYWN0cy4gJHtlLm1lc3NhZ2V9YCl9KSl9ZnVuY3Rpb24gdShlLHQscyxyKXtjb25zdCBhPXtmaWx0ZXI6W3tsZWZ0OiJtYXR1cml0eV9kYXRlIixvcGVyYXRpb246Im5lbXB0eSJ9LHtsZWZ0OiJjb3VudHJ5X2NvZGUiLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OmV9LHtsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzIixyaWdodDoiZ292ZXJubWVudCJ9XSxzeW1ib2xzOntxdWVyeTp7dHlwZXM6WyJib25kIl19fSxtYXJrZXRzOltpLk5vblN0b2NrTWFya2V0LkJvbmRzXSwuLi50fTtyZXR1cm4oMCxuLmZldGNoKShsKHMpKyJzY2FuIix7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGEpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixzaWduYWw6cn0pLnRoZW4oKGU9PmUuanNvbigpKSkuY2F0Y2goKGU9PnsoMCxvLnJldGhyb3dBYm9ydEVycm9yKShlKSwKXy5sb2dFcnJvcihgRmFpbGVkIHRvIGdldCBib25kcy4gJHtlLm1lc3NhZ2V9YCl9KSl9fSw2MTkxMjMoZSx0LHMpe3MuZCh0LHttdXRhdGVTaW1wbGVEYXRlOigpPT5vfSk7dmFyIHI9cyg2MDE4NDEpLGk9cyg0OTExNjUpLG49cygxNjg4MjQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJigwLHIuaXNOdW1iZXIpKGUpP2kuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLG4uZ2V0RGF0ZUZyb21ZWVlZTU1ERCkoZSksITApOiLigJQifX0sMTY4ODI0KGUsdCxzKXtmdW5jdGlvbiByKGUpe2NvbnN0W3QscyxyXT1mdW5jdGlvbihlKXtjb25zdCB0PWUudG9TdHJpbmcoKTtyZXR1cm5bTnVtYmVyKHQuc2xpY2UoMCw0KSksTnVtYmVyKHQuc2xpY2UoNCw2KSksTnVtYmVyKHQuc2xpY2UoNikpXX0oZSk7cmV0dXJuIG5ldyBEYXRlKHQscy0xLHIpfXMuZCh0LHtnZXREYXRlRnJvbVlZWVlNTUREOigpPT5yfSl9LDYyMzUxMShlLHQscyl7ZnVuY3Rpb24gcihlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+cn0pfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.415Z","timestamp":1785136428415,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 68879759b8685b03ffa0a28583c2bfc9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-08-11T04:47:30.082304Z","times_seen":564,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.454Z","timestamp":1785136428454,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-15b86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a48a1f9667ed3e2b6244755f5d3e1327\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33771,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-11T04:47:30.056543Z","times_seen":2770,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTgyN10sezE5OTgyNyhlKXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsbj13aW5kb3cubmF2aWdhdG9yLHI9d2luZG93LmxvY2F0aW9uLGk9ZnVuY3Rpb24oKXt2YXIgZSxyLGksbyxhPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBhLmZuLmluaXQodCxuLGUpfSxzPXdpbmRvdy5qUXVlcnksbD13aW5kb3cuJCx1PS9eKD86W14jPF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0qKSQpLyxjPS9eXHMrLyxmPS9ccyskLyxkPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8scD0vXltcXSw6e31cc10qJC8saD0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLG09LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLGc9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyx2PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHk9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGI9Lyhtc2llKSAoW1x3Ll0rKS8seD0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHc9Ly0oW2Etel18WzAtOV0pL2dpLFQ9L14tbXMtLyxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrIiIpLnRvVXBwZXJDYXNlKCl9LEM9bi51c2VyQWdlbnQsUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLEQ9U3RyaW5nLnByb3RvdHlwZS50cmltLEw9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsRj17fTtmdW5jdGlvbiBqKCl7aWYoIWEuaXNSZWFkeSl7dHJ5e3QuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChqLDEpfWEucmVhZHkoKX19cmV0dXJuIGEuZm49YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxzLGw7aWYoIWUpcmV0dXJuIHRoaXM7aWYoZS5ub2RlVHlwZSlyZXR1cm4gdGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXM7aWYoImJvZHkiPT09ZSYmIW4mJnQuYm9keSlyZXR1cm4gdGhpcy5jb250ZXh0PXQsdGhpc1swXT10LmJvZHksdGhpcy5zZWxlY3Rvcj1lLHRoaXMubGVuZ3RoPTEsdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoaT0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06dS5leGVjKGUpKXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXJldHVybiBsPShuPW4gaW5zdGFuY2VvZiBhP25bMF06bik/bi5vd25lckRvY3VtZW50fHxuOnQsKHM9ZC5leGVjKGUpKT9hLmlzUGxhaW5PYmplY3Qobik/KGU9W3QuY3JlYXRlRWxlbWVudChzWzFdKV0sYS5mbi5hdHRyLmNhbGwoZSxuLCEwKSk6ZT1bbC5jcmVhdGVFbGVtZW50KHNbMV0pXTplPSgocz1hLmJ1aWxkRnJhZ21lbnQoW2lbMV1dLFtsXSkpLmNhY2hlYWJsZT9hLmNsb25lKHMuZnJhZ21lbnQpOnMuZnJhZ21lbnQpLmNoaWxkTm9kZXMsYS5tZXJnZSh0aGlzLGUpO2lmKChvPXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSkpJiZvLnBhcmVudE5vZGUpe2lmKG8uaWQhPT1pWzJdKXJldHVybiByLmZpbmQoZSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPW99cmV0dXJuIHRoaXMuY29udGV4dD10LHRoaXMuc2VsZWN0b3I9ZSx0aGlzfXJldHVybiBhLmlzRnVuY3Rpb24oZSk/ci5yZWFkeShlKToodm9pZCAwIT09ZS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSxhLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBBLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3RoaXMudG9BcnJheSgpOmU8MD90aGlzW3RoaXMubGVuZ3RoK2VdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb25zdHJ1Y3RvcigpO3JldHVybiBhLmlzQXJyYXkoZSk/RS5hcHBseShyLGUpOmEubWVyZ2UocixlKSxyLnByZXZPYmplY3Q9dGhpcyxyLmNvbnRleHQ9dGhpcy5jb250ZXh0LCJmaW5kIj09PXQ/ci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrbjp0JiYoci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyIuIit0KyIoIituKyIpIikscn0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiBhLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4gYS5iaW5kUmVhZHkoKSxpLmFkZChlKSx0aGlzfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PShlPStlKT90aGlzLnNsaWNlKGUpOnRoaXMuc2xpY2UoZSxlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhBLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYS5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6RSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuLGEuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITEKO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBzJiYoYz1zLHM9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2Ygc3x8YS5pc0Z1bmN0aW9uKHMpfHwocz17fSksdT09PWwmJihzPXRoaXMsLS1sKTtsPHU7bCsrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tsXSkpZm9yKHQgaW4gZSluPXNbdF0scyE9PShyPWVbdF0pJiYoYyYmciYmKGEuaXNQbGFpbk9iamVjdChyKXx8KGk9YS5pc0FycmF5KHIpKSk/KGk/KGk9ITEsbz1uJiZhLmlzQXJyYXkobik/bjpbXSk6bz1uJiZhLmlzUGxhaW5PYmplY3Qobik/bjp7fSxzW3RdPWEuZXh0ZW5kKGMsbyxyKSk6dm9pZCAwIT09ciYmKHNbdF09cikpO3JldHVybiBzfSxhLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LiQ9PT1hJiYod2luZG93LiQ9bCksZSYmd2luZG93LmpRdWVyeT09PWEmJih3aW5kb3cualF1ZXJ5PXMpLGF9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/YS5yZWFkeVdhaXQrKzphLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoITA9PT1lJiYhIC0tYS5yZWFkeVdhaXR8fCEwIT09ZSYmIWEuaXNSZWFkeSl7aWYoIXQuYm9keSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKGEuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYS5yZWFkeVdhaXQ+MClyZXR1cm47aS5maXJlV2l0aCh0LFthXSksYS5mbi50cmlnZ2VyJiZhKHQpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIWkpe2lmKGk9YS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksImNvbXBsZXRlIj09PXQucmVhZHlTdGF0ZSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKHQuYWRkRXZlbnRMaXN0ZW5lcil0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhLnJlYWR5LCExKTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEucmVhZHkpO3ZhciBlPSExO3RyeXtlPW51bGw9PXdpbmRvdy5mcmFtZUVsZW1lbnR9Y2F0Y2goZSl7fXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZlJiZqKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT09YS50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1hLnR5cGUoZSl9LGlzV2luZG93OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT1lLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/U3RyaW5nKGUpOkZbUy5jYWxsKGUpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7aWYoIWV8fCJvYmplY3QiIT09YS50eXBlKGUpfHxlLm5vZGVUeXBlfHxhLmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhay5jYWxsKGUsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX12YXIgdDtmb3IodCBpbiBlKTtyZXR1cm4gdm9pZCAwPT09dHx8ay5jYWxsKGUsdCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VKU09OOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZT8oZT1hLnRyaW0oZSksd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlP3dpbmRvdy5KU09OLnBhcnNlKGUpOnAudGVzdChlLnJlcGxhY2UoaCwiQCIpLnJlcGxhY2UobSwiXSIpLnJlcGxhY2UoZywiIikpP25ldyBGdW5jdGlvbigicmV0dXJuICIrZSkoKTp2b2lkIGEuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKSk6bnVsbH0scGFyc2VYTUw6ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gbnVsbDt2YXIgdDt0cnl7d2luZG93LkRPTVBhcnNlcj90PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKTooKHQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSkuYXN5bmM9ImZhbHNlIix0LmxvYWRYTUwoZSkpfWNhdGNoKGUpe3Q9dm9pZCAwfXJldHVybiB0JiZ0LmRvY3VtZW50RWxlbWVudCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxhLmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe30sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoVCwibXMtIikucmVwbGFjZSh3LE4pfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLHM9dm9pZCAwPT09b3x8YS5pc0Z1bmN0aW9uKGUpO2lmKG4paWYocyl7Zm9yKHIgaW4gZSlpZighMT09PXQuYXBwbHkoZVtyXSxuKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuYXBwbHkoZVtpKytdLG4pOyk7ZWxzZSBpZihzKXtmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuY2FsbChlW2ldLGksZVtpKytdKTspO3JldHVybiBlfSx0cmltOkQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6RC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplLnRvU3RyaW5nKCkucmVwbGFjZShjLCIiKS5yZXBsYWNlKGYsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtpZihudWxsIT1lKXt2YXIgcj1hLnR5cGUoZSkKO251bGw9PWUubGVuZ3RofHwic3RyaW5nIj09PXJ8fCJmdW5jdGlvbiI9PT1yfHwicmVnZXhwIj09PXJ8fGEuaXNXaW5kb3coZSk/RS5jYWxsKG4sZSk6YS5tZXJnZShuLGUpfXJldHVybiBufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih0KXtpZihMKXJldHVybiBMLmNhbGwodCxlLG4pO2ZvcihyPXQubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxyK24pOm46MDtuPHI7bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpZm9yKHZhciBpPXQubGVuZ3RoO3I8aTtyKyspZVtuKytdPXRbcl07ZWxzZSBmb3IoO3ZvaWQgMCE9PXRbcl07KWVbbisrXT10W3IrK107cmV0dXJuIGUubGVuZ3RoPW4sZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9W107bj0hIW47Zm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4hPT0hIXQoZVtpXSxpKSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1bXSxzPTAsbD1lLmxlbmd0aDtpZihlIGluc3RhbmNlb2YgYXx8dm9pZCAwIT09bCYmIm51bWJlciI9PXR5cGVvZiBsJiYobD4wJiZlWzBdJiZlW2wtMV18fDA9PT1sfHxhLmlzQXJyYXkoZSkpKWZvcig7czxsO3MrKyludWxsIT0ocj10KGVbc10scyxuKSkmJihvW28ubGVuZ3RoXT1yKTtlbHNlIGZvcihpIGluIGUpbnVsbCE9KHI9dChlW2ldLGksbikpJiYob1tvLmxlbmd0aF09cik7cmV0dXJuIG8uY29uY2F0LmFwcGx5KFtdLG8pfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWVbdF07dD1lLGU9bn1pZihhLmlzRnVuY3Rpb24oZSkpe3ZhciByPUEuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQoQS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxpLmd1aWR8fGEuZ3VpZCsrLGl9fSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4scixpLG8scyl7dmFyIGwsdT1udWxsPT1uLGM9MCxmPWUubGVuZ3RoO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbil7Zm9yKGMgaW4gbilhLmFjY2VzcyhlLHQsYyxuW2NdLDEsbyxyKTtpPTF9ZWxzZSBpZih2b2lkIDAhPT1yKXtpZihsPXZvaWQgMD09PXMmJmEuaXNGdW5jdGlvbihyKSx1JiYobD8obD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYShlKSxuKX0pOih0LmNhbGwoZSxyKSx0PW51bGwpKSx0KWZvcig7YzxmO2MrKyl0KGVbY10sbixsP3IuY2FsbChlW2NdLGMsdChlW2NdLG4pKTpyLHMpO2k9MX1yZXR1cm4gaT9lOnU/dC5jYWxsKGUpOmY/dChlWzBdLG4pOm99LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO3ZhciB0PXYuZXhlYyhlKXx8eS5leGVjKGUpfHxiLmV4ZWMoZSl8fGUuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnguZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7cmV0dXJuIG5ldyBlLmZuLmluaXQodCxuKX1hLmV4dGVuZCghMCxlLHRoaXMpLGUuc3VwZXJjbGFzcz10aGlzLGUuZm49ZS5wcm90b3R5cGU9dGhpcygpLGUuZm4uY29uc3RydWN0b3I9ZSxlLnN1Yj10aGlzLnN1YixlLmZuLmluaXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gciYmciBpbnN0YW5jZW9mIGEmJiEociBpbnN0YW5jZW9mIGUpJiYocj1lKHIpKSxhLmZuLmluaXQuY2FsbCh0aGlzLHQscixuKX0sZS5mbi5pbml0LnByb3RvdHlwZT1lLmZuO3ZhciBuPWUodCk7cmV0dXJuIGV9LGJyb3dzZXI6e319KSxhLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7RlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSksKHI9YS51YU1hdGNoKEMpKS5icm93c2VyJiYoYS5icm93c2VyW3IuYnJvd3Nlcl09ITAsYS5icm93c2VyLnZlcnNpb249ci52ZXJzaW9uKSxhLmJyb3dzZXIud2Via2l0JiYoYS5icm93c2VyLnNhZmFyaT0hMCksL1xTLy50ZXN0KCLCoCIpJiYoYz0vXltcc1x4QTBdKy8sZj0vW1xzXHhBMF0rJC8pLGU9YSh0KSx0LmFkZEV2ZW50TGlzdGVuZXI/bz1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbywhMSksYS5yZWFkeSgpfTp0LmF0dGFjaEV2ZW50JiYobz1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT10LnJlYWR5U3RhdGUmJih0LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGEucmVhZHkoKSl9KSxhfSgpLG89e307aS5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1lP29bZV18fGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1vW2VdPXt9O2Zvcih0PTAsbj0oZT1lLnNwbGl0KC9ccysvKSkubGVuZ3RoO3Q8bjt0KyspcltlW3RdXT0hMDtyZXR1cm4gcn0oZSk6e307dmFyIHQsbixyLGEscyxsLHU9W10sYz1bXSxmPWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxhO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKW89dFtuXSwiYXJyYXkiPT09KGE9aS50eXBlKG8pKT9mKG8pOiJmdW5jdGlvbiI9PT1hJiYoZS51bmlxdWUmJnAuaGFzKG8pfHx1LnB1c2gobykpfSxkPWZ1bmN0aW9uKGksbyl7Zm9yKG89b3x8W10sdD0hZS5tZW1vcnl8fFtpLG9dLG49ITAscj0hMCxsPWF8fDAsYT0wLHM9dS5sZW5ndGg7dSYmbDxzO2wrKylpZighMT09PXVbbF0uYXBwbHkoaSxvKSYmZS5zdG9wT25GYWxzZSl7dD0hMDticmVha31yPSExLHUmJihlLm9uY2U/ITA9PT10P3AuZGlzYWJsZSgpOnU9W106YyYmYy5sZW5ndGgmJih0PWMuc2hpZnQoKSxwLmZpcmVXaXRoKHRbMF0sdFsxXSkpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIGU9dS5sZW5ndGg7Zihhcmd1bWVudHMpLHI/cz11Lmxlbmd0aDp0JiYhMCE9PXQmJihhPWUsZCh0WzBdLHRbMV0pKX1yZXR1cm4gdGhpc30sCnJlbW92ZTpmdW5jdGlvbigpe2lmKHUpZm9yKHZhciB0PWFyZ3VtZW50cyxuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWZvcih2YXIgbz0wO288dS5sZW5ndGgmJih0W25dIT09dVtvXXx8KHImJm88PXMmJihzLS0sbzw9bCYmbC0tKSx1LnNwbGljZShvLS0sMSksIWUudW5pcXVlKSk7bysrKTtyZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGUpe2lmKHUpZm9yKHZhciB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKGU9PT11W3RdKXJldHVybiEwO3JldHVybiExfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1jPXQ9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXV9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYz12b2lkIDAsdCYmITAhPT10fHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sZmlyZVdpdGg6ZnVuY3Rpb24obixpKXtyZXR1cm4gYyYmKHI/ZS5vbmNlfHxjLnB1c2goW24saV0pOmUub25jZSYmdHx8ZChuLGkpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFufX07cmV0dXJuIHB9O3ZhciBhPVtdLnNsaWNlO2kuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdCxuPWkuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHI9aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksbz1pLkNhbGxiYWNrcygibWVtb3J5IiksYT0icGVuZGluZyIscz17cmVzb2x2ZTpuLHJlamVjdDpyLG5vdGlmeTpvfSxsPXtkb25lOm4uYWRkLGZhaWw6ci5hZGQscHJvZ3Jlc3M6by5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNvbHZlZDpuLmZpcmVkLGlzUmVqZWN0ZWQ6ci5maXJlZCx0aGVuOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdS5kb25lKGUpLmZhaWwodCkucHJvZ3Jlc3MobiksdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZG9uZS5hcHBseSh1LGFyZ3VtZW50cykuZmFpbC5hcHBseSh1LGFyZ3VtZW50cyksdGhpc30scGlwZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuRGVmZXJyZWQoKGZ1bmN0aW9uKHIpe2kuZWFjaCh7ZG9uZTpbZSwicmVzb2x2ZSJdLGZhaWw6W3QsInJlamVjdCJdLHByb2dyZXNzOltuLCJub3RpZnkiXX0sKGZ1bmN0aW9uKGUsdCl7dmFyIG4sbz10WzBdLGE9dFsxXTtpLmlzRnVuY3Rpb24obyk/dVtlXSgoZnVuY3Rpb24oKXsobj1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkmJmkuaXNGdW5jdGlvbihuLnByb21pc2UpP24ucHJvbWlzZSgpLnRoZW4oci5yZXNvbHZlLHIucmVqZWN0LHIubm90aWZ5KTpyW2ErIldpdGgiXSh0aGlzPT09dT9yOnRoaXMsW25dKX0pKTp1W2VdKHJbYV0pfSkpfSkpLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKWU9bDtlbHNlIGZvcih2YXIgdCBpbiBsKWVbdF09bFt0XTtyZXR1cm4gZX19LHU9bC5wcm9taXNlKHt9KTtmb3IodCBpbiBzKXVbdF09c1t0XS5maXJlLHVbdCsiV2l0aCJdPXNbdF0uZmlyZVdpdGg7cmV0dXJuIHUuZG9uZSgoZnVuY3Rpb24oKXthPSJyZXNvbHZlZCJ9KSxyLmRpc2FibGUsby5sb2NrKS5mYWlsKChmdW5jdGlvbigpe2E9InJlamVjdGVkIn0pLG4uZGlzYWJsZSxvLmxvY2spLGUmJmUuY2FsbCh1LHUpLHV9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cywwKSxuPTAscj10Lmxlbmd0aCxvPW5ldyBBcnJheShyKSxzPXIsbD1yPD0xJiZlJiZpLmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lOmkuRGVmZXJyZWQoKSx1PWwucHJvbWlzZSgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RbZV09YXJndW1lbnRzLmxlbmd0aD4xP2EuY2FsbChhcmd1bWVudHMsMCk6biwtLXN8fGwucmVzb2x2ZVdpdGgobCx0KX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCl7b1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/YS5jYWxsKGFyZ3VtZW50cywwKTp0LGwubm90aWZ5V2l0aCh1LG8pfX1pZihyPjEpe2Zvcig7bjxyO24rKyl0W25dJiZ0W25dLnByb21pc2UmJmkuaXNGdW5jdGlvbih0W25dLnByb21pc2UpP3Rbbl0ucHJvbWlzZSgpLnRoZW4oYyhuKSxsLnJlamVjdCxmKG4pKTotLXM7c3x8bC5yZXNvbHZlV2l0aChsLHQpfWVsc2UgbCE9PWUmJmwucmVzb2x2ZVdpdGgobCxyP1tlXTpbXSk7cmV0dXJuIHV9fSksaS5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTohMCx0Ym9keTohMCxodG1sU2VyaWFsaXplOiEwLHN0eWxlOiEwLGhyZWZOb3JtYWxpemVkOiEwLG9wYWNpdHk6ITAsY3NzRmxvYXQ6ITAsY2hlY2tPbjohMCxvcHRTZWxlY3RlZDohMCxnZXRTZXRBdHRyaWJ1dGU6ITAsZW5jdHlwZTohMCxodG1sNUNsb25lOiEwLHN1Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDohMCxwaXhlbE1hcmdpbjohMCxib3hNb2RlbDohMCxub0Nsb25lQ2hlY2tlZDohMCxvcHREaXNhYmxlZDohMCxyYWRpb1ZhbHVlOiEwLGNoZWNrQ2xvbmU6ITAsYXBwZW5kQ2hlY2tlZDohMCxhamF4OiEwLGNvcnM6ITAscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwLGRvZXNOb3RBZGRCb3JkZXI6ITAsZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM6ITEsZml4ZWRQb3NpdGlvbjohMCxzdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU6ITEsZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ6ITB9O3ZhciBzPS9eKD86XHsuKlx9fFxbLipcXSkkLyxsPS8oW0EtWl0pL2c7ZnVuY3Rpb24gdShlLHQsbil7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpe3ZhciByPSJkYXRhLSIrdC5yZXBsYWNlKGwsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5ewpuPSJ0cnVlIj09PW58fCJmYWxzZSIhPT1uJiYoIm51bGwiPT09bj9udWxsOmkuaXNOdW1lcmljKG4pPytuOnMudGVzdChuKT9pLnBhcnNlSlNPTihuKTpuKX1jYXRjaChlKXt9aS5kYXRhKGUsdCxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0IGluIGUpaWYoKCJkYXRhIiE9PXR8fCFpLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9dCsiZGVmZXIiLG89dCsicXVldWUiLGE9dCsibWFyayIscz1pLl9kYXRhKGUscik7IXN8fCJxdWV1ZSIhPT1uJiZpLl9kYXRhKGUsbyl8fCJtYXJrIiE9PW4mJmkuX2RhdGEoZSxhKXx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLl9kYXRhKGUsbyl8fGkuX2RhdGEoZSxhKXx8KGkucmVtb3ZlRGF0YShlLHIsITApLHMuZmlyZSgpKX0pLDApfWkuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5kbzoialF1ZXJ5IisoaS5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5ub2RlVHlwZT9pLmNhY2hlW2VbaS5leHBhbmRvXV06ZVtpLmV4cGFuZG9dKSYmIWMoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4scil7aWYoaS5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHMsbD1pLmV4cGFuZG8sdT0ic3RyaW5nIj09dHlwZW9mIHQsYz1lLm5vZGVUeXBlLGY9Yz9pLmNhY2hlOmUsZD1jP2VbbF06ZVtsXSYmbCxwPSJldmVudHMiPT09dDtpZihkJiZmW2RdJiYocHx8cnx8ZltkXS5kYXRhKXx8IXV8fHZvaWQgMCE9PW4pcmV0dXJuIGR8fChjP2VbbF09ZD0rK2kudXVpZDpkPWwpLGZbZF18fChmW2RdPXt9LGN8fChmW2RdLnRvSlNPTj1pLm5vb3ApKSwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwocj9mW2RdPWkuZXh0ZW5kKGZbZF0sdCk6ZltkXS5kYXRhPWkuZXh0ZW5kKGZbZF0uZGF0YSx0KSksbz1hPWZbZF0scnx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHZvaWQgMCE9PW4mJihhW2kuY2FtZWxDYXNlKHQpXT1uKSxwJiYhYVt0XT9vLmV2ZW50czoodT9udWxsPT0ocz1hW3RdKSYmKHM9YVtpLmNhbWVsQ2FzZSh0KV0pOnM9YSxzKX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0LG4pe2lmKGkuYWNjZXB0RGF0YShlKSl7dmFyIHIsbyxhLHM9aS5leHBhbmRvLGw9ZS5ub2RlVHlwZSx1PWw/aS5jYWNoZTplLGY9bD9lW3NdOnM7aWYodVtmXSl7aWYodCYmKHI9bj91W2ZdOnVbZl0uZGF0YSkpe2kuaXNBcnJheSh0KXx8KHQ9dCBpbiByfHwodD1pLmNhbWVsQ2FzZSh0KSlpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWRlbGV0ZSByW3Rbb11dO2lmKCEobj9jOmkuaXNFbXB0eU9iamVjdCkocikpcmV0dXJufShufHwoZGVsZXRlIHVbZl0uZGF0YSxjKHVbZl0pKSkmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IXUuc2V0SW50ZXJ2YWw/ZGVsZXRlIHVbZl06dVtmXT1udWxsLGwmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgZVtzXTplLnJlbW92ZUF0dHJpYnV0ZT9lLnJlbW92ZUF0dHJpYnV0ZShzKTplW3NdPW51bGwpKX19fSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGF0YShlLHQsbiwhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oZSl7aWYoZS5ub2RlTmFtZSl7dmFyIHQ9aS5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZih0KXJldHVybiEoITA9PT10fHxlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09dCl9cmV0dXJuITB9fSksaS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGw9dGhpc1swXSxjPTAsZj1udWxsO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoZj1pLmRhdGEobCksMT09PWwubm9kZVR5cGUmJiFpLl9kYXRhKGwsInBhcnNlZEF0dHJzIikpKXtmb3Iocz0obz1sLmF0dHJpYnV0ZXMpLmxlbmd0aDtjPHM7YysrKTA9PT0oYT1vW2NdLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihhPWkuY2FtZWxDYXNlKGEuc3Vic3RyaW5nKDUpKSx1KGwsYSxmW2FdKSk7aS5fZGF0YShsLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBmfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kYXRhKHRoaXMsZSl9KSk6KChuPWUuc3BsaXQoIi4iLDIpKVsxXT1uWzFdPyIuIituWzFdOiIiLHI9blsxXSsiISIsaS5hY2Nlc3ModGhpcywoZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCAwPT09KGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrcixbblswXV0pKSYmbCYmKGY9aS5kYXRhKGwsZSksZj11KGwsZSxmKSksdm9pZCAwPT09ZiYmblsxXT90aGlzLmRhdGEoblswXSk6ZjtuWzFdPXQsdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBvPWkodGhpcyk7by50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrcixuKSxpLmRhdGEodGhpcyxlLHQpLG8udHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK3Isbil9KSl9KSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITEpKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlRGF0YSh0aGlzLGUpfSkpfX0pLGkuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihlLHQpe2UmJih0PSh0fHwiZngiKSsibWFyayIsaS5fZGF0YShlLHQsKGkuX2RhdGEoZSx0KXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGUsdCxuKXtpZighMCE9PWUmJihuPXQsdD1lLGU9ITEpLHQpe3ZhciByPShuPW58fCJmeCIpKyJtYXJrIixvPWU/MDooaS5fZGF0YSh0LHIpfHwxKS0xO28/aS5fZGF0YSh0LHIsbyk6KGkucmVtb3ZlRGF0YSh0LHIsITApLGYodCxuLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1pLl9kYXRhKGUsdCksCm4mJighcnx8aS5pc0FycmF5KG4pP3I9aS5fZGF0YShlLHQsaS5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49aS5xdWV1ZShlLHQpLHI9bi5zaGlmdCgpLG89e307ImlucHJvZ3Jlc3MiPT09ciYmKHI9bi5zaGlmdCgpKSxyJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGkuX2RhdGEoZSx0KyIucnVuIixvKSxyLmNhbGwoZSwoZnVuY3Rpb24oKXtpLmRlcXVldWUoZSx0KX0pLG8pKSxuLmxlbmd0aHx8KGkucmVtb3ZlRGF0YShlLHQrInF1ZXVlICIrdCsiLnJ1biIsITApLGYoZSx0LCJxdWV1ZSIpKX19KSxpLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/aS5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5xdWV1ZSh0aGlzLGUsdCk7ImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PW5bMF0mJmkuZGVxdWV1ZSh0aGlzLGUpfSkpfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kZXF1ZXVlKHRoaXMsZSl9KSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9aS5meCYmaS5meC5zcGVlZHNbZV18fGUsdD10fHwiZngiLHRoaXMucXVldWUodCwoZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pKX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3ZhciBuLHI9aS5EZWZlcnJlZCgpLG89dGhpcyxhPW8ubGVuZ3RoLHM9MSxsPWUrImRlZmVyIix1PWUrInF1ZXVlIixjPWUrIm1hcmsiO2Z1bmN0aW9uIGYoKXstLXN8fHIucmVzb2x2ZVdpdGgobyxbb10pfWZvcig7YS0tOykobj1pLmRhdGEob1thXSxsLHZvaWQgMCwhMCl8fChpLmRhdGEob1thXSx1LHZvaWQgMCwhMCl8fGkuZGF0YShvW2FdLGMsdm9pZCAwLCEwKSkmJmkuZGF0YShvW2FdLGwsaS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKSYmKHMrKyxuLmFkZChmKSk7cmV0dXJuIGYoKSxyLnByb21pc2UodCl9fSk7dmFyIGQscCxoLG09L1tcblx0XHJdL2csZz0vXHMrLyx2PS9cci9nLHk9L14oPzpidXR0b258aW5wdXQpJC9pLGI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2kseD0vXmEoPzpyZWEpPyQvaSx3PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLFQ9aS5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZTtpLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLGkuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlQXR0cih0aGlzLGUpfSkpfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsaS5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWkucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dm9pZCAwLGRlbGV0ZSB0aGlzW2VdfWNhdGNoKGUpe319KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUpZm9yKHQ9ZS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSlpZihvLmNsYXNzTmFtZXx8MSE9PXQubGVuZ3RoKXtmb3IoYT0iICIrby5jbGFzc05hbWUrIiAiLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspfmEuaW5kZXhPZigiICIrdFtzXSsiICIpfHwoYSs9dFtzXSsiICIpO28uY2xhc3NOYW1lPWkudHJpbShhKX1lbHNlIG8uY2xhc3NOYW1lPWU7cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWUpZm9yKHQ9KGV8fCIiKS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSYmby5jbGFzc05hbWUpaWYoZSl7Zm9yKGE9KCIgIitvLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspYT1hLnJlcGxhY2UoIiAiK3Rbc10rIiAiLCIgIik7by5jbGFzc05hbWU9aS50cmltKGEpfWVsc2Ugby5jbGFzc05hbWU9IiI7cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj0iYm9vbGVhbiI9PXR5cGVvZiB0O3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09bilmb3IodmFyIG8sYT0wLHM9aSh0aGlzKSxsPXQsdT1lLnNwbGl0KGcpO289dVthKytdOylsPXI/bDohcy5oYXNDbGFzcyhvKSwKc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZSJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KHRoaXMuY2xhc3NOYW1lJiZpLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8ITE9PT1lPyIiOmkuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylpZigxPT09dGhpc1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWkuaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9aSh0aGlzKTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShvPXI/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplKT9vPSIiOiJudW1iZXIiPT10eXBlb2Ygbz9vKz0iIjppLmlzQXJyYXkobykmJihvPWkubWFwKG8sKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkpLCh0PWkudmFsSG9va3NbdGhpcy50eXBlXXx8aS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLG8sInZhbHVlIil8fCh0aGlzLnZhbHVlPW8pKX0pKSk6bz8odD1pLnZhbEhvb2tzW28udHlwZV18fGkudmFsSG9va3Nbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJnZXQiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQobywidmFsdWUiKSk/bjoic3RyaW5nIj09dHlwZW9mKG49by52YWx1ZSk/bi5yZXBsYWNlKHYsIiIpOm4/PyIiOnZvaWQgMH19KSxpLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxhPWUuc2VsZWN0ZWRJbmRleCxzPVtdLGw9ZS5vcHRpb25zLHU9InNlbGVjdC1vbmUiPT09ZS50eXBlO2lmKGE8MClyZXR1cm4gbnVsbDtmb3Iobj11P2E6MCxyPXU/YSsxOmwubGVuZ3RoO248cjtuKyspaWYoKG89bFtuXSkuc2VsZWN0ZWQmJihpLnN1cHBvcnQub3B0RGlzYWJsZWQ/IW8uZGlzYWJsZWQ6bnVsbD09PW8uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmKCFvLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFpLm5vZGVOYW1lKG8ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9aShvKS52YWwoKSx1KXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gdSYmIXMubGVuZ3RoJiZsLmxlbmd0aD9pKGxbYV0pLnZhbCgpOnN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWkubWFrZUFycmF5KHQpO3JldHVybiBpKGUpLmZpbmQoIm9wdGlvbiIpLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1pLmluQXJyYXkoaSh0aGlzKS52YWwoKSxuKT49MH0pKSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0tMSksbn19fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxhLHMsbD1lLm5vZGVUeXBlO2lmKGUmJjMhPT1sJiY4IT09bCYmMiE9PWwpcmV0dXJuIHImJnQgaW4gaS5hdHRyRm4/aShlKVt0XShuKTp2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9pLnByb3AoZSx0LG4pOigocz0xIT09bHx8IWkuaXNYTUxEb2MoZSkpJiYodD10LnRvTG93ZXJDYXNlKCksYT1pLmF0dHJIb29rc1t0XXx8KHcudGVzdCh0KT9wOmQpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgaS5yZW1vdmVBdHRyKGUsdCk6YSYmInNldCJpbiBhJiZzJiZ2b2lkIDAhPT0obz1hLnNldChlLG4sdCkpP286KGUuc2V0QXR0cmlidXRlKHQsIiIrbiksbik6YSYmImdldCJpbiBhJiZzJiZudWxsIT09KG89YS5nZXQoZSx0KSk/bzpudWxsPT09KG89ZS5nZXRBdHRyaWJ1dGUodCkpP3ZvaWQgMDpvKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHMsbD0wO2lmKHQmJjE9PT1lLm5vZGVUeXBlKWZvcihhPShyPXQudG9Mb3dlckNhc2UoKS5zcGxpdChnKSkubGVuZ3RoO2w8YTtsKyspKG89cltsXSkmJihuPWkucHJvcEZpeFtvXXx8bywocz13LnRlc3QobykpfHxpLmF0dHIoZSxvLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShUP286bikscyYmbiBpbiBlJiYoZVtuXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKHkudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKWkuZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWkuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmaS5ub2RlTmFtZShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIik/ZC5nZXQoZSx0KTp0IGluIGU/ZS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIikpcmV0dXJuIGQuc2V0KGUsdCxuKTtlLnZhbHVlPXR9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLGZvcjoiaHRtbEZvciIsY2xhc3M6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1lLm5vZGVUeXBlCjtpZihlJiYzIT09YSYmOCE9PWEmJjIhPT1hKXJldHVybigxIT09YXx8IWkuaXNYTUxEb2MoZSkpJiYodD1pLnByb3BGaXhbdF18fHQsbz1pLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9vJiYic2V0ImluIG8mJnZvaWQgMCE9PShyPW8uc2V0KGUsbix0KSk/cjplW3RdPW46byYmImdldCJpbiBvJiZudWxsIT09KHI9by5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiB0JiZ0LnNwZWNpZmllZD9wYXJzZUludCh0LnZhbHVlLDEwKTpiLnRlc3QoZS5ub2RlTmFtZSl8fHgudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6dm9pZCAwfX19fSksaS5hdHRySG9va3MudGFiaW5kZXg9aS5wcm9wSG9va3MudGFiSW5kZXgscD17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnByb3AoZSx0KTtyZXR1cm4hMD09PXJ8fCJib29sZWFuIiE9dHlwZW9mIHImJihuPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJiExIT09bi5ub2RlVmFsdWU/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4hMT09PXQ/aS5yZW1vdmVBdHRyKGUsbik6KChyPWkucHJvcEZpeFtuXXx8bilpbiBlJiYoZVtyXT0hMCksZS5zZXRBdHRyaWJ1dGUobixuLnRvTG93ZXJDYXNlKCkpKSxufX0sVHx8KGg9e25hbWU6ITAsaWQ6ITAsY29vcmRzOiEwfSxkPWkudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4obj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiYoaFt0XT8iIiE9PW4ubm9kZVZhbHVlOm4uc3BlY2lmaWVkKT9uLm5vZGVWYWx1ZTp2b2lkIDB9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHwoaT10LmNyZWF0ZUF0dHJpYnV0ZShyKSxlLnNldEF0dHJpYnV0ZU5vZGUoaSkpLGkubm9kZVZhbHVlPW4rIiJ9fSxpLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9ZC5zZXQsaS5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSwoZnVuY3Rpb24oZSx0KXtpLmF0dHJIb29rc1t0XT1pLmV4dGVuZChpLmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7aWYoIiI9PT1uKXJldHVybiBlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbn19KX0pKSxpLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyIiPT09dCYmKHQ9ImZhbHNlIiksZC5zZXQoZSx0LG4pfX0pLGkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8aS5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sKGZ1bmN0aW9uKGUsdCl7aS5hdHRySG9va3NbdF09aS5leHRlbmQoaS5hdHRySG9va3NbdF0se2dldDpmdW5jdGlvbihlKXt2YXIgbj1lLmdldEF0dHJpYnV0ZSh0LDIpO3JldHVybiBudWxsPT09bj92b2lkIDA6bn19KX0pKSxpLnN1cHBvcnQuc3R5bGV8fChpLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKXx8dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0PSIiK3R9fSksaS5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoaS5wcm9wSG9va3Muc2VsZWN0ZWQ9aS5leHRlbmQoaS5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksaS5zdXBwb3J0LmVuY3R5cGV8fChpLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxpLnN1cHBvcnQuY2hlY2tPbnx8aS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLChmdW5jdGlvbigpe2kudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX19fSkpLGkuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtpLnZhbEhvb2tzW3RoaXNdPWkuZXh0ZW5kKGkudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe2lmKGkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWkuaW5BcnJheShpKGUpLnZhbCgpLHQpPj0wfX0pfSkpO3ZhciBOPS9eKD86dGV4dGFyZWF8aW5wdXR8c2VsZWN0KSQvaSxDPS9eKFteXC5dKik/KD86XC4oLispKT8kLyxTPS8oPzpefFxzKWhvdmVyKFwuXFMrKT9cYi8saz0vXmtleS8sRT0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sQT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sRD0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLEw9ZnVuY3Rpb24oZSl7dmFyIHQ9RC5leGVjKGUpO3JldHVybiB0JiYodFsxXT0odFsxXXx8IiIpLnRvTG93ZXJDYXNlKCksdFszXT10WzNdJiZuZXcgUmVnRXhwKCIoPzpefFxccykiK3RbM10rIig/Olxcc3wkKSIpKSx0fSxGPWZ1bmN0aW9uKGUpe3JldHVybiBpLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoUywibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmdW5jdGlvbiBqKCl7cmV0dXJuITF9ZnVuY3Rpb24gXygpe3JldHVybiEwfWkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGc7aWYoMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZ0JiZuJiYoYT1pLl9kYXRhKGUpKSl7Zm9yKG4uaGFuZGxlciYmKG49KGg9bikuaGFuZGxlcixvPWguc2VsZWN0b3IpLG4uZ3VpZHx8KG4uZ3VpZD1pLmd1aWQrKyksKGw9YS5ldmVudHMpfHwoYS5ldmVudHM9bD17fSksKHM9YS5oYW5kbGUpfHwoYS5oYW5kbGU9cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09aXx8ZSYmaS5ldmVudC50cmlnZ2VyZWQ9PT1lLnR5cGU/dm9pZCAwOmkuZXZlbnQuZGlzcGF0Y2guYXBwbHkocy5lbGVtLGFyZ3VtZW50cyl9LHMuZWxlbT1lKSx0PWkudHJpbShGKHQpKS5zcGxpdCgiICIpLHU9MDt1PHQubGVuZ3RoO3UrKylmPShjPUMuZXhlYyh0W3VdKXx8W10pWzFdLApkPShjWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KG8/Zy5kZWxlZ2F0ZVR5cGU6Zy5iaW5kVHlwZSl8fGYsZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LHA9aS5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTpjWzFdLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6byxxdWljazpvJiZMKG8pLG5hbWVzcGFjZTpkLmpvaW4oIi4iKX0saCksKG09bFtmXSl8fCgobT1sW2ZdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZy5zZXR1cCYmITEhPT1nLnNldHVwLmNhbGwoZSxyLGQscyl8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYscywhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YscykpKSxnLmFkZCYmKGcuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLG8/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxwKTptLnB1c2gocCksaS5ldmVudC5nbG9iYWxbZl09ITA7ZT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGcsdix5PWkuaGFzRGF0YShlKSYmaS5fZGF0YShlKTtpZih5JiYocD15LmV2ZW50cykpe2Zvcih0PWkudHJpbShGKHR8fCIiKSkuc3BsaXQoIiAiKSxhPTA7YTx0Lmxlbmd0aDthKyspaWYobD11PShzPUMuZXhlYyh0W2FdKXx8W10pWzFdLGM9c1syXSxsKXtmb3IoaD1pLmV2ZW50LnNwZWNpYWxbbF18fHt9LGY9KGc9cFtsPShyP2guZGVsZWdhdGVUeXBlOmguYmluZFR5cGUpfHxsXXx8W10pLmxlbmd0aCxjPWM/bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGQ9MDtkPGcubGVuZ3RoO2QrKyl2PWdbZF0sIW8mJnUhPT12Lm9yaWdUeXBlfHxuJiZuLmd1aWQhPT12Lmd1aWR8fGMmJiFjLnRlc3Qodi5uYW1lc3BhY2UpfHxyJiZyIT09di5zZWxlY3RvciYmKCIqKiIhPT1yfHwhdi5zZWxlY3Rvcil8fChnLnNwbGljZShkLS0sMSksdi5zZWxlY3RvciYmZy5kZWxlZ2F0ZUNvdW50LS0saC5yZW1vdmUmJmgucmVtb3ZlLmNhbGwoZSx2KSk7MD09PWcubGVuZ3RoJiZmIT09Zy5sZW5ndGgmJihoLnRlYXJkb3duJiYhMSE9PWgudGVhcmRvd24uY2FsbChlLGMpfHxpLnJlbW92ZUV2ZW50KGUsbCx5LmhhbmRsZSksZGVsZXRlIHBbbF0pfWVsc2UgZm9yKGwgaW4gcClpLmV2ZW50LnJlbW92ZShlLGwrdFthXSxuLHIsITApO2kuaXNFbXB0eU9iamVjdChwKSYmKChtPXkuaGFuZGxlKSYmKG0uZWxlbT1udWxsKSxpLnJlbW92ZURhdGEoZSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7aWYoIW58fDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSl7dmFyIG8sYSxzLGwsdSxjLGYsZCxwLGgsbT1lLnR5cGV8fGUsZz1bXTtpZighQS50ZXN0KG0raS5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIhIik+PTAmJihtPW0uc2xpY2UoMCwtMSksYT0hMCksbS5pbmRleE9mKCIuIik+PTAmJihnPW0uc3BsaXQoIi4iKSxtPWcuc2hpZnQoKSxnLnNvcnQoKSksbiYmIWkuZXZlbnQuY3VzdG9tRXZlbnRbbV18fGkuZXZlbnQuZ2xvYmFsW21dKSlpZigoZT0ib2JqZWN0Ij09dHlwZW9mIGU/ZVtpLmV4cGFuZG9dP2U6bmV3IGkuRXZlbnQobSxlKTpuZXcgaS5FdmVudChtKSkudHlwZT1tLGUuaXNUcmlnZ2VyPSEwLGUuZXhjbHVzaXZlPWEsZS5uYW1lc3BhY2U9Zy5qb2luKCIuIiksZS5uYW1lc3BhY2VfcmU9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrZy5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGM9bS5pbmRleE9mKCI6Iik8MD8ib24iK206IiIsbil7aWYoZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksKHQ9bnVsbCE9dD9pLm1ha2VBcnJheSh0KTpbXSkudW5zaGlmdChlKSwhKGY9aS5ldmVudC5zcGVjaWFsW21dfHx7fSkudHJpZ2dlcnx8ITEhPT1mLnRyaWdnZXIuYXBwbHkobix0KSl7aWYocD1bW24sZi5iaW5kVHlwZXx8bV1dLCFyJiYhZi5ub0J1YmJsZSYmIWkuaXNXaW5kb3cobikpe2ZvcihoPWYuZGVsZWdhdGVUeXBlfHxtLGw9QS50ZXN0KGgrbSk/bjpuLnBhcmVudE5vZGUsdT1udWxsO2w7bD1sLnBhcmVudE5vZGUpcC5wdXNoKFtsLGhdKSx1PWw7dSYmdT09PW4ub3duZXJEb2N1bWVudCYmcC5wdXNoKFt1LmRlZmF1bHRWaWV3fHx1LnBhcmVudFdpbmRvd3x8d2luZG93LGhdKX1mb3Iocz0wO3M8cC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7cysrKWw9cFtzXVswXSxlLnR5cGU9cFtzXVsxXSwoZD0oaS5fZGF0YShsLCJldmVudHMiKXx8e30pW2UudHlwZV0mJmkuX2RhdGEobCwiaGFuZGxlIikpJiZkLmFwcGx5KGwsdCksKGQ9YyYmbFtjXSkmJmkuYWNjZXB0RGF0YShsKSYmITE9PT1kLmFwcGx5KGwsdCkmJmUucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZS50eXBlPW0scnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5fZGVmYXVsdCYmITEhPT1mLl9kZWZhdWx0LmFwcGx5KG4ub3duZXJEb2N1bWVudCx0KXx8ImNsaWNrIj09PW0mJmkubm9kZU5hbWUobiwiYSIpfHwhaS5hY2NlcHREYXRhKG4pfHxjJiZuW21dJiYoImZvY3VzIiE9PW0mJiJibHVyIiE9PW18fDAhPT1lLnRhcmdldC5vZmZzZXRXaWR0aCkmJiFpLmlzV2luZG93KG4pJiYoKHU9bltjXSkmJihuW2NdPW51bGwpLGkuZXZlbnQudHJpZ2dlcmVkPW0sblttXSgpLGkuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYobltjXT11KSksZS5yZXN1bHR9fWVsc2UgZm9yKHMgaW4gbz1pLmNhY2hlKW9bc10uZXZlbnRzJiZvW3NdLmV2ZW50c1ttXSYmaS5ldmVudC50cmlnZ2VyKGUsdCxvW3NdLmhhbmRsZS5lbGVtLCEwKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9aS5ldmVudC5maXgoZXx8d2luZG93LmV2ZW50KQo7dmFyIHQsbixyLG8sYSxzLGwsdSxjLGYsZD0oaS5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2UudHlwZV18fFtdLHA9ZC5kZWxlZ2F0ZUNvdW50LGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCksbT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxnPWkuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fSx2PVtdO2lmKGhbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWcucHJlRGlzcGF0Y2h8fCExIT09Zy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkpe2lmKHAmJighZS5idXR0b258fCJjbGljayIhPT1lLnR5cGUpKWZvcigobz1pKHRoaXMpKS5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWUudGFyZ2V0O3IhPXRoaXM7cj1yLnBhcmVudE5vZGV8fHRoaXMpaWYoITAhPT1yLmRpc2FibGVkKXtmb3Iocz17fSx1PVtdLG9bMF09cix0PTA7dDxwO3QrKyl2b2lkIDA9PT1zW2Y9KGM9ZFt0XSkuc2VsZWN0b3JdJiYoc1tmXT1jLnF1aWNrPyh5PXIsYj1jLnF1aWNrLHg9dm9pZCAwLHg9eS5hdHRyaWJ1dGVzfHx7fSwoIWJbMV18fHkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fCh4LmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKHguY2xhc3N8fHt9KS52YWx1ZSkpKTpvLmlzKGYpKSxzW2ZdJiZ1LnB1c2goYyk7dS5sZW5ndGgmJnYucHVzaCh7ZWxlbTpyLG1hdGNoZXM6dX0pfXZhciB5LGIseDtmb3IoZC5sZW5ndGg+cCYmdi5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKHApfSksdD0wO3Q8di5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7dCsrKWZvcihsPXZbdF0sZS5jdXJyZW50VGFyZ2V0PWwuZWxlbSxuPTA7bjxsLm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO24rKyljPWwubWF0Y2hlc1tuXSwobXx8IWUubmFtZXNwYWNlJiYhYy5uYW1lc3BhY2V8fGUubmFtZXNwYWNlX3JlJiZlLm5hbWVzcGFjZV9yZS50ZXN0KGMubmFtZXNwYWNlKSkmJihlLmRhdGE9Yy5kYXRhLGUuaGFuZGxlT2JqPWMsdm9pZCAwIT09KGE9KChpLmV2ZW50LnNwZWNpYWxbYy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGMuaGFuZGxlcikuYXBwbHkobC5lbGVtLGgpKSYmKGUucmVzdWx0PWEsITE9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpKSk7cmV0dXJuIGcucG9zdERpc3BhdGNoJiZnLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxwcm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhPW4uYnV0dG9uLHM9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT0ocj1lLnRhcmdldC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQsbz1yLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8byYmby5zY3JvbGxMZWZ0fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxvJiZvLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8byYmby5zY3JvbGxUb3B8fDApLShpJiZpLmNsaWVudFRvcHx8byYmby5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZzJiYoZS5yZWxhdGVkVGFyZ2V0PXM9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpzKSxlLndoaWNofHx2b2lkIDA9PT1hfHwoZS53aGljaD0xJmE/MToyJmE/Mzo0JmE/MjowKSxlfX0sZml4OmZ1bmN0aW9uKGUpe2lmKGVbaS5leHBhbmRvXSlyZXR1cm4gZTt2YXIgbixyLG89ZSxhPWkuZXZlbnQuZml4SG9va3NbZS50eXBlXXx8e30scz1hLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpOnRoaXMucHJvcHM7Zm9yKGU9aS5FdmVudChvKSxuPXMubGVuZ3RoO247KWVbcj1zWy0tbl1dPW9bcl07cmV0dXJuIGUudGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHx0KSwzPT09ZS50YXJnZXQubm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSx2b2lkIDA9PT1lLm1ldGFLZXkmJihlLm1ldGFLZXk9ZS5jdHJsS2V5KSxhLmZpbHRlcj9hLmZpbHRlcihlLG8pOmV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDppLmJpbmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihlLHQsbil7aS5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bil9LHRlYXJkb3duOmZ1bmN0aW9uKGUsdCl7dGhpcy5vbmJlZm9yZXVubG9hZD09PXQmJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWkuZXh0ZW5kKG5ldyBpLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7cj9pLmV2ZW50LnRyaWdnZXIobyxudWxsLHQpOmkuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGkuZXZlbnQuaGFuZGxlPWkuZXZlbnQuZGlzcGF0Y2gsCmkucmVtb3ZlRXZlbnQ9dC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpfTpmdW5jdGlvbihlLHQsbil7ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9LGkuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBpLkV2ZW50KSlyZXR1cm4gbmV3IGkuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHwhMT09PWUucmV0dXJuVmFsdWV8fGUuZ2V0UHJldmVudERlZmF1bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9fOmopOnRoaXMudHlwZT1lLHQmJmkuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGkubm93KCksdGhpc1tpLmV4cGFuZG9dPSEwfSxpLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1fO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Xzt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1fLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpqLGlzUHJvcGFnYXRpb25TdG9wcGVkOmosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6an0saS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sKGZ1bmN0aW9uKGUsdCl7aS5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO28uc2VsZWN0b3I7cmV0dXJuIHImJihyPT09dGhpc3x8aS5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkpLGkuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoaS5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihpLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtpLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLChmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPWkubm9kZU5hbWUodCwiaW5wdXQiKXx8aS5ub2RlTmFtZSh0LCJidXR0b24iKT90LmZvcm06dm9pZCAwO24mJiFuLl9zdWJtaXRfYXR0YWNoZWQmJihpLmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSksbi5fc3VibWl0X2F0dGFjaGVkPSEwKX0pKX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmaS5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGkubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2kuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaS5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChpLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKE4udGVzdCh0aGlzLm5vZGVOYW1lKSlyZXR1cm4iY2hlY2tib3giIT09dGhpcy50eXBlJiYicmFkaW8iIT09dGhpcy50eXBlfHwoaS5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsKGZ1bmN0aW9uKGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSkpLGkuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLChmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSxpLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSwhMCkpfSkpKSwhMTtpLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Ti50ZXN0KHQubm9kZU5hbWUpJiYhdC5fY2hhbmdlX2F0dGFjaGVkJiYoaS5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLChmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2RlfHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8aS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSksdC5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pKX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHRoaXMhPT10fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PXQudHlwZSYmImNoZWNrYm94IiE9PXQudHlwZSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksTi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGkuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8aS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSwoZnVuY3Rpb24oZSxuKXt2YXIgcj0wLG89ZnVuY3Rpb24oZSl7aS5ldmVudC5zaW11bGF0ZShuLGUudGFyZ2V0LGkuZXZlbnQuZml4KGUpLCEwKX07aS5ldmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpezA9PXIrKyYmdC5hZGRFdmVudExpc3RlbmVyKGUsbywhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7CjA9PS0tciYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbywhMCl9fX0pKSxpLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPW58fHQsdD12b2lkIDApLGUpdGhpcy5vbihzLHQsbixlW3NdLG8pO3JldHVybiB0aGlzfWlmKG51bGw9PW4mJm51bGw9PXI/KHI9dCxuPXQ9dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiB0PyhyPW4sbj12b2lkIDApOihyPW4sbj10LHQ9dm9pZCAwKSksITE9PT1yKXI9ajtlbHNlIGlmKCFyKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKGE9cixyPWZ1bmN0aW9uKGUpe3JldHVybiBpKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWkuZ3VpZCsrKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe2kuZXZlbnQuYWRkKHRoaXMsZSxyLG4sdCl9KSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXt2YXIgcj1lLmhhbmRsZU9iajtyZXR1cm4gaShlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpc31pZigib2JqZWN0Ij09dHlwZW9mIGUpe2Zvcih2YXIgbyBpbiBlKXRoaXMub2ZmKG8sdCxlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPWopLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtpLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGxpdmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpKHRoaXMuY29udGV4dCkub24oZSx0aGlzLnNlbGVjdG9yLHQsbiksdGhpc30sZGllOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodGhpcy5jb250ZXh0KS5vZmYoZSx0aGlzLnNlbGVjdG9yfHwiKioiLHQpLHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZSxuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXtpZih0aGlzWzBdKXJldHVybiBpLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLG49ZS5ndWlkfHxpLmd1aWQrKyxyPTAsbz1mdW5jdGlvbihuKXt2YXIgbz0oaS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIitlLmd1aWQpfHwwKSVyO3JldHVybiBpLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2UuZ3VpZCxvKzEpLG4ucHJldmVudERlZmF1bHQoKSx0W29dLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2ZvcihvLmd1aWQ9bjtyPHQubGVuZ3RoOyl0W3IrK10uZ3VpZD1uO3JldHVybiB0aGlzLmNsaWNrKG8pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxpLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7aS5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1uJiYobj1lLGU9bnVsbCksYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfSxpLmF0dHJGbiYmKGkuYXR0ckZuW3RdPSEwKSxrLnRlc3QodCkmJihpLmV2ZW50LmZpeEhvb2tzW3RdPWkuZXZlbnQua2V5SG9va3MpLEUudGVzdCh0KSYmKGkuZXZlbnQuZml4SG9va3NbdF09aS5ldmVudC5tb3VzZUhvb2tzKX0pKSxmdW5jdGlvbigpe3ZhciBlPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csbj0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIiKS5yZXBsYWNlKCIuIiwiIikscj0wLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSExLHM9ITAsbD0vXFwvZyx1PS9cclxuL2csYz0vXFcvO1swLDBdLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIHM9ITEsMH0pKTt2YXIgZj1mdW5jdGlvbihuLHIsaSxhKXtpPWl8fFtdO3ZhciBzPXI9cnx8dDtpZigxIT09ci5ub2RlVHlwZSYmOSE9PXIubm9kZVR5cGUpcmV0dXJuW107aWYoIW58fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gaTt2YXIgbCx1LGMsZCxtLGcsdix5LGI9ITAsdz1mLmlzWE1MKHIpLFQ9W10sQz1uO2Rve2lmKGUuZXhlYygiIiksKGw9ZS5leGVjKEMpKSYmKEM9bFszXSxULnB1c2gobFsxXSksbFsyXSkpe2Q9bFszXTticmVha319d2hpbGUobCk7aWYoVC5sZW5ndGg+MSYmaC5leGVjKG4pKWlmKDI9PT1ULmxlbmd0aCYmcC5yZWxhdGl2ZVtUWzBdXSl1PU4oVFswXStUWzFdLHIsYSk7ZWxzZSBmb3IodT1wLnJlbGF0aXZlW1RbMF1dP1tyXTpmKFQuc2hpZnQoKSxyKTtULmxlbmd0aDspbj1ULnNoaWZ0KCkscC5yZWxhdGl2ZVtuXSYmKG4rPVQuc2hpZnQoKSksCnU9TihuLHUsYSk7ZWxzZSBpZighYSYmVC5sZW5ndGg+MSYmOT09PXIubm9kZVR5cGUmJiF3JiZwLm1hdGNoLklELnRlc3QoVFswXSkmJiFwLm1hdGNoLklELnRlc3QoVFtULmxlbmd0aC0xXSkmJihyPShtPWYuZmluZChULnNoaWZ0KCkscix3KSkuZXhwcj9mLmZpbHRlcihtLmV4cHIsbS5zZXQpWzBdOm0uc2V0WzBdKSxyKWZvcih1PShtPWE/e2V4cHI6VC5wb3AoKSxzZXQ6eChhKX06Zi5maW5kKFQucG9wKCksMSE9PVQubGVuZ3RofHwifiIhPT1UWzBdJiYiKyIhPT1UWzBdfHwhci5wYXJlbnROb2RlP3I6ci5wYXJlbnROb2RlLHcpKS5leHByP2YuZmlsdGVyKG0uZXhwcixtLnNldCk6bS5zZXQsVC5sZW5ndGg+MD9jPXgodSk6Yj0hMTtULmxlbmd0aDspdj1nPVQucG9wKCkscC5yZWxhdGl2ZVtnXT92PVQucG9wKCk6Zz0iIixudWxsPT12JiYodj1yKSxwLnJlbGF0aXZlW2ddKGMsdix3KTtlbHNlIGM9VD1bXTtpZihjfHwoYz11KSxjfHxmLmVycm9yKGd8fG4pLCJbb2JqZWN0IEFycmF5XSI9PT1vLmNhbGwoYykpaWYoYilpZihyJiYxPT09ci5ub2RlVHlwZSlmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJighMD09PWNbeV18fDE9PT1jW3ldLm5vZGVUeXBlJiZmLmNvbnRhaW5zKHIsY1t5XSkpJiZpLnB1c2godVt5XSk7ZWxzZSBmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJjE9PT1jW3ldLm5vZGVUeXBlJiZpLnB1c2godVt5XSk7ZWxzZSBpLnB1c2guYXBwbHkoaSxjKTtlbHNlIHgoYyxpKTtyZXR1cm4gZCYmKGYoZCxzLGksYSksZi51bmlxdWVTb3J0KGkpKSxpfTtmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7aWYodiYmKGE9cyxlLnNvcnQodiksYSkpZm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspZVt0XT09PWVbdC0xXSYmZS5zcGxpY2UodC0tLDEpO3JldHVybiBlfSxmLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZihlLG51bGwsbnVsbCx0KX0sZi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZih0LG51bGwsbnVsbCxbZV0pLmxlbmd0aD4wfSxmLmZpbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdTtpZighZSlyZXR1cm5bXTtmb3IoaT0wLG89cC5vcmRlci5sZW5ndGg7aTxvO2krKylpZihzPXAub3JkZXJbaV0sKGE9cC5sZWZ0TWF0Y2hbc10uZXhlYyhlKSkmJih1PWFbMV0sYS5zcGxpY2UoMSwxKSwiXFwiIT09dS5zdWJzdHIodS5sZW5ndGgtMSkmJihhWzFdPShhWzFdfHwiIikucmVwbGFjZShsLCIiKSxudWxsIT0ocj1wLmZpbmRbc10oYSx0LG4pKSkpKXtlPWUucmVwbGFjZShwLm1hdGNoW3NdLCIiKTticmVha31yZXR1cm4gcnx8KHI9dm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pLHtzZXQ6cixleHByOmV9fSxmLmZpbHRlcj1mdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIGksbyxhLHMsbCx1LGMsZCxoLG09ZSxnPVtdLHY9dCx5PXQmJnRbMF0mJmYuaXNYTUwodFswXSk7ZSYmdC5sZW5ndGg7KXtmb3IoYSBpbiBwLmZpbHRlcilpZihudWxsIT0oaT1wLmxlZnRNYXRjaFthXS5leGVjKGUpKSYmaVsyXSl7aWYodT1wLmZpbHRlclthXSxjPWlbMV0sbz0hMSxpLnNwbGljZSgxLDEpLCJcXCI9PT1jLnN1YnN0cihjLmxlbmd0aC0xKSljb250aW51ZTtpZih2PT09ZyYmKGc9W10pLHAucHJlRmlsdGVyW2FdKWlmKGk9cC5wcmVGaWx0ZXJbYV0oaSx2LG4sZyxyLHkpKXtpZighMD09PWkpY29udGludWV9ZWxzZSBvPXM9ITA7aWYoaSlmb3IoZD0wO251bGwhPShsPXZbZF0pO2QrKylsJiYoaD1yXihzPXUobCxpLGQsdikpLG4mJm51bGwhPXM/aD9vPSEwOnZbZF09ITE6aCYmKGcucHVzaChsKSxvPSEwKSk7aWYodm9pZCAwIT09cyl7aWYobnx8KHY9ZyksZT1lLnJlcGxhY2UocC5tYXRjaFthXSwiIiksIW8pcmV0dXJuW107YnJlYWt9fWlmKGU9PT1tKXtpZihudWxsIT1vKWJyZWFrO2YuZXJyb3IoZSl9bT1lfXJldHVybiB2fSxmLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX07dmFyIGQ9Zi5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm5vZGVUeXBlLGk9IiI7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUuaW5uZXJUZXh0KXJldHVybiBlLmlubmVyVGV4dC5yZXBsYWNlKHUsIiIpO2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpKz1kKGUpfWVsc2UgaWYoMz09PXJ8fDQ9PT1yKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcih0PTA7bj1lW3RdO3QrKyk4IT09bi5ub2RlVHlwZSYmKGkrPWQobikpO3JldHVybiBpfSxwPWYuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7Y2xhc3M6ImNsYXNzTmFtZSIsZm9yOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7CmhyZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LHI9biYmIWMudGVzdCh0KSxpPW4mJiFyO3ImJih0PXQudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBvLGE9MCxzPWUubGVuZ3RoO2E8czthKyspaWYobz1lW2FdKXtmb3IoOyhvPW8ucHJldmlvdXNTaWJsaW5nKSYmMSE9PW8ubm9kZVR5cGU7KTtlW2FdPWl8fG8mJm8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQ/b3x8ITE6bz09PXR9aSYmZi5maWx0ZXIodCxlLCEwKX0sIj4iOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0ic3RyaW5nIj09dHlwZW9mIHQsaT0wLG89ZS5sZW5ndGg7aWYociYmIWMudGVzdCh0KSl7Zm9yKHQ9dC50b0xvd2VyQ2FzZSgpO2k8bztpKyspaWYobj1lW2ldKXt2YXIgYT1uLnBhcmVudE5vZGU7ZVtpXT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10JiZhfX1lbHNle2Zvcig7aTxvO2krKykobj1lW2ldKSYmKGVbaV09cj9uLnBhcmVudE5vZGU6bi5wYXJlbnROb2RlPT09dCk7ciYmZi5maWx0ZXIodCxlLCEwKX19LCIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicGFyZW50Tm9kZSIsdCxvLGUsaSxuKX0sIn4iOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicHJldmlvdXNTaWJsaW5nIix0LG8sZSxpLG4pfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJiFuKXt2YXIgcj10LmdldEVsZW1lbnRCeUlkKGVbMV0pO3JldHVybiByJiZyLnBhcmVudE5vZGU/W3JdOltdfX0sTkFNRTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeU5hbWUpe2Zvcih2YXIgbj1bXSxyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZVsxXSksaT0wLG89ci5sZW5ndGg7aTxvO2krKylyW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09ZVsxXSYmbi5wdXNoKHJbaV0pO3JldHVybiAwPT09bi5sZW5ndGg/bnVsbDpufX0sVEFHOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZSx0LG4scixpLG8pe2lmKGU9IiAiK2VbMV0ucmVwbGFjZShsLCIiKSsiICIsbylyZXR1cm4gZTtmb3IodmFyIGEscz0wO251bGwhPShhPXRbc10pO3MrKylhJiYoaV4oYS5jbGFzc05hbWUmJigiICIrYS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihlKT49MCk/bnx8ci5wdXNoKGEpOm4mJih0W3NdPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIil9LFRBRzpmdW5jdGlvbihlLHQpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoIm50aCI9PT1lWzFdKXtlWzJdfHxmLmVycm9yKGVbMF0pLGVbMl09ZVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciB0PS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYygoImV2ZW4iPT09ZVsyXT8iMm4iOiJvZGQiPT09ZVsyXSYmIjJuKzEiKXx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT10WzFdKyh0WzJdfHwxKS0wLGVbM109dFszXS0wfWVsc2UgZVsyXSYmZi5lcnJvcihlWzBdKTtyZXR1cm4gZVswXT1yKyssZX0sQVRUUjpmdW5jdGlvbihlLHQsbixyLGksbyl7dmFyIGE9ZVsxXT1lWzFdLnJlcGxhY2UobCwiIik7cmV0dXJuIW8mJnAuYXR0ck1hcFthXSYmKGVbMV09cC5hdHRyTWFwW2FdKSxlWzRdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZShsLCIiKSwifj0iPT09ZVsyXSYmKGVbNF09IiAiK2VbNF0rIiAiKSxlfSxQU0VVRE86ZnVuY3Rpb24odCxuLHIsaSxvKXtpZigibm90Ij09PXRbMV0pe2lmKCEoKGUuZXhlYyh0WzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KHRbM10pKSl7dmFyIGE9Zi5maWx0ZXIodFszXSxuLHIsITBebyk7cmV0dXJuIHJ8fGkucHVzaC5hcHBseShpLGEpLCExfXRbM109Zih0WzNdLG51bGwsbnVsbCxuKX1lbHNlIGlmKHAubWF0Y2guUE9TLnRlc3QodFswXSl8fHAubWF0Y2guQ0hJTEQudGVzdCh0WzBdKSlyZXR1cm4hMDtyZXR1cm4gdH0sUE9TOmZ1bmN0aW9uKGUpe3JldHVybiBlLnVuc2hpZnQoITApLGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZCYmImhpZGRlbiIhPT1lLnR5cGV9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZH0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuY2hlY2tlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihlLHQsbil7cmV0dXJuISFmKG5bM10sZSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL2hcZC9pLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSxuPWUudHlwZTtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1uJiYodD09PW58fG51bGw9PT10KX0scmFkaW86ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImNoZWNrYm94Ij09PWUudHlwZQp9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImZpbGUiPT09ZS50eXBlfSxwYXNzd29yZDpmdW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYicGFzc3dvcmQiPT09ZS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmInN1Ym1pdCI9PT1lLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJiJyZXNldCI9PT1lLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10fSxsYXN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0PT09ci5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTB9LG9kZDpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTF9LGx0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdDxuWzNdLTB9LGd0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD5uWzNdLTB9LG50aDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG5bM10tMD09PXR9LGVxOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gblszXS0wPT09dH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRbMV0sbz1wLmZpbHRlcnNbaV07aWYobylyZXR1cm4gbyhlLG4sdCxyKTtpZigiY29udGFpbnMiPT09aSlyZXR1cm4oZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHR8fGQoW2VdKXx8IiIpLmluZGV4T2YodFszXSk+PTA7aWYoIm5vdCI9PT1pKXtmb3IodmFyIGE9dFszXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrKWlmKGFbc109PT1lKXJldHVybiExO3JldHVybiEwfWYuZXJyb3IoaSl9LENISUxEOmZ1bmN0aW9uKGUsdCl7dmFyIHIsaSxvLGEscyxsLHU9dFsxXSxjPWU7c3dpdGNoKHUpe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6Zm9yKDtjPWMucHJldmlvdXNTaWJsaW5nOylpZigxPT09Yy5ub2RlVHlwZSlyZXR1cm4hMTtpZigiZmlyc3QiPT09dSlyZXR1cm4hMDtjPWU7Y2FzZSJsYXN0Ijpmb3IoO2M9Yy5uZXh0U2libGluZzspaWYoMT09PWMubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmlmKHI9dFsyXSxpPXRbM10sMT09PXImJjA9PT1pKXJldHVybiEwO2lmKG89dFswXSwoYT1lLnBhcmVudE5vZGUpJiYoYVtuXSE9PW98fCFlLm5vZGVJbmRleCkpe2ZvcihzPTAsYz1hLmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpMT09PWMubm9kZVR5cGUmJihjLm5vZGVJbmRleD0rK3MpO2Fbbl09b31yZXR1cm4gbD1lLm5vZGVJbmRleC1pLDA9PT1yPzA9PT1sOmwlcj09MCYmbC9yPj0wfX0sSUQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMT09PWUubm9kZVR5cGUmJmUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH0sVEFHOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIioiPT09dCYmMT09PWUubm9kZVR5cGV8fCEhZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH0sQ0xBU1M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oIiAiKyhlLmNsYXNzTmFtZXx8ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZih0KT4tMX0sQVRUUjpmdW5jdGlvbihlLHQpe3ZhciBuPXRbMV0scj1mLmF0dHI/Zi5hdHRyKGUsbik6cC5hdHRySGFuZGxlW25dP3AuYXR0ckhhbmRsZVtuXShlKTpudWxsIT1lW25dP2Vbbl06ZS5nZXRBdHRyaWJ1dGUobiksaT1yKyIiLG89dFsyXSxhPXRbNF07cmV0dXJuIG51bGw9PXI/IiE9Ij09PW86IW8mJmYuYXR0cj9udWxsIT1yOiI9Ij09PW8/aT09PWE6Iio9Ij09PW8/aS5pbmRleE9mKGEpPj0wOiJ+PSI9PT1vPygiICIraSsiICIpLmluZGV4T2YoYSk+PTA6YT8iIT0iPT09bz9pIT09YToiXj0iPT09bz8wPT09aS5pbmRleE9mKGEpOiIkPSI9PT1vP2kuc3Vic3RyKGkubGVuZ3RoLWEubGVuZ3RoKT09PWE6Inw9Ij09PW8mJihpPT09YXx8aS5zdWJzdHIoMCxhLmxlbmd0aCsxKT09PWErIi0iKTppJiYhMSE9PXJ9LFBPUzpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10WzJdLG89cC5zZXRGaWx0ZXJzW2ldO2lmKG8pcmV0dXJuIG8oZSxuLHQscil9fX0saD1wLm1hdGNoLlBPUyxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIlxcIisodC0wKzEpfTtmb3IodmFyIGcgaW4gcC5tYXRjaClwLm1hdGNoW2ddPW5ldyBSZWdFeHAocC5tYXRjaFtnXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxwLmxlZnRNYXRjaFtnXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrcC5tYXRjaFtnXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG0pKTtwLm1hdGNoLmdsb2JhbFBPUz1oO3ZhciB2LHksYix4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwKSx0Pyh0LnB1c2guYXBwbHkodCxlKSx0KTplfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChlKXt4PWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPXR8fFtdCjtpZigiW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHIsZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKWZvcih2YXIgaT1lLmxlbmd0aDtuPGk7bisrKXIucHVzaChlW25dKTtlbHNlIGZvcig7ZVtuXTtuKyspci5wdXNoKGVbbl0pO3JldHVybiByfX1mdW5jdGlvbiB3KGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMSE9PXUubm9kZVR5cGV8fGF8fCh1W25dPXIsdS5zaXpzZXQ9cyksdS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX1mdW5jdGlvbiBUKGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMT09PXUubm9kZVR5cGUpaWYoYXx8KHVbbl09cix1LnNpenNldD1zKSwic3RyaW5nIiE9dHlwZW9mIHQpe2lmKHU9PT10KXtjPSEwO2JyZWFrfX1lbHNlIGlmKGYuZmlsdGVyKHQsW3VdKS5sZW5ndGg+MCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX10LmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj92PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10PyhhPSEwLDApOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/NCZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPy0xOjE6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfToodj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBhPSEwLDA7aWYoZS5zb3VyY2VJbmRleCYmdC5zb3VyY2VJbmRleClyZXR1cm4gZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O3ZhciBuLHIsaT1bXSxvPVtdLHM9ZS5wYXJlbnROb2RlLGw9dC5wYXJlbnROb2RlLHU9cztpZihzPT09bClyZXR1cm4geShlLHQpO2lmKCFzKXJldHVybi0xO2lmKCFsKXJldHVybiAxO2Zvcig7dTspaS51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO2Zvcih1PWw7dTspby51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO249aS5sZW5ndGgscj1vLmxlbmd0aDtmb3IodmFyIGM9MDtjPG4mJmM8cjtjKyspaWYoaVtjXSE9PW9bY10pcmV0dXJuIHkoaVtjXSxvW2NdKTtyZXR1cm4gYz09PW4/eShlLG9bY10sLTEpOnkoaVtjXSx0LDEpfSx5PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT09dClyZXR1cm4gbjtmb3IodmFyIHI9ZS5uZXh0U2libGluZztyOyl7aWYocj09PXQpcmV0dXJuLTE7cj1yLm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkscj10LmRvY3VtZW50RWxlbWVudDtlLmlubmVySFRNTD0iPGEgbmFtZT0nIituKyInLz4iLHIuaW5zZXJ0QmVmb3JlKGUsci5maXJzdENoaWxkKSx0LmdldEVsZW1lbnRCeUlkKG4pJiYocC5maW5kLklEPWZ1bmN0aW9uKGUsdCxuKXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiYhbil7dmFyIHI9dC5nZXRFbGVtZW50QnlJZChlWzFdKTtyZXR1cm4gcj9yLmlkPT09ZVsxXXx8dm9pZCAwIT09ci5nZXRBdHRyaWJ1dGVOb2RlJiZyLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09ZVsxXT9bcl06dm9pZCAwOltdfX0scC5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gMT09PWUubm9kZVR5cGUmJm4mJm4ubm9kZVZhbHVlPT09dH0pLHIucmVtb3ZlQ2hpbGQoZSkscj1lPW51bGx9KCksKGI9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYXBwZW5kQ2hpbGQodC5jcmVhdGVDb21tZW50KCIiKSksYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYocC5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSk7aWYoIioiPT09ZVsxXSl7Zm9yKHZhciByPVtdLGk9MDtuW2ldO2krKykxPT09bltpXS5ub2RlVHlwZSYmci5wdXNoKG5baV0pO249cn1yZXR1cm4gbn0pLGIuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixiLmZpcnN0Q2hpbGQmJnZvaWQgMCE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUmJiIjIiE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmKHAuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9KSxiPW51bGwsdC5xdWVyeVNlbGVjdG9yQWxsJiZmdW5jdGlvbigpe3ZhciBlPWYsbj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiIsIW4ucXVlcnlTZWxlY3RvckFsbHx8MCE9PW4ucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGgpe2Zvcih2YXIgciBpbiBmPWZ1bmN0aW9uKG4scixpLG8pe2lmKHI9cnx8dCwhbyYmIWYuaXNYTUwocikpe3ZhciBhPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKG4pO2lmKGEmJigxPT09ci5ub2RlVHlwZXx8OT09PXIubm9kZVR5cGUpKXtpZihhWzFdKXJldHVybiB4KHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUobiksaSk7aWYoYVsyXSYmcC5maW5kLkNMQVNTJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHgoci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGFbMl0pLGkpfWlmKDk9PT1yLm5vZGVUeXBlKXtpZigiYm9keSI9PT1uJiZyLmJvZHkpcmV0dXJuIHgoW3IuYm9keV0saSk7aWYoYSYmYVszXSl7dmFyIHM9ci5nZXRFbGVtZW50QnlJZChhWzNdKTtpZighc3x8IXMucGFyZW50Tm9kZSlyZXR1cm4geChbXSxpKTtpZihzLmlkPT09YVszXSlyZXR1cm4geChbc10saSl9dHJ5e3JldHVybiB4KHIucXVlcnlTZWxlY3RvckFsbChuKSxpKX1jYXRjaChlKXt9Cn1lbHNlIGlmKDE9PT1yLm5vZGVUeXBlJiYib2JqZWN0IiE9PXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGw9cix1PXIuZ2V0QXR0cmlidXRlKCJpZCIpLGM9dXx8Il9fc2l6emxlX18iLGQ9ci5wYXJlbnROb2RlLGg9L15ccypbK35dLy50ZXN0KG4pO3U/Yz1jLnJlcGxhY2UoLycvZywiXFwkJiIpOnIuc2V0QXR0cmlidXRlKCJpZCIsYyksaCYmZCYmKHI9ci5wYXJlbnROb2RlKTt0cnl7aWYoIWh8fGQpcmV0dXJuIHgoci5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrYysiJ10gIituKSxpKX1jYXRjaChlKXt9ZmluYWxseXt1fHxsLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBlKG4scixpLG8pfSxlKWZbcl09ZVtyXTtuPW51bGx9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5kb2N1bWVudEVsZW1lbnQsbj1lLm1hdGNoZXNTZWxlY3Rvcnx8ZS5tb3pNYXRjaGVzU2VsZWN0b3J8fGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxlLm1zTWF0Y2hlc1NlbGVjdG9yO2lmKG4pe3ZhciByPSFuLmNhbGwodC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiZGl2IiksaT0hMTt0cnl7bi5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenpsZSIpfWNhdGNoKGUpe2k9ITB9Zi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZih0PXQucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIiksIWYuaXNYTUwoZSkpdHJ5e2lmKGl8fCFwLm1hdGNoLlBTRVVETy50ZXN0KHQpJiYhLyE9Ly50ZXN0KHQpKXt2YXIgbz1uLmNhbGwoZSx0KTtpZihvfHwhcnx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBvfX1jYXRjaChlKXt9cmV0dXJuIGYodCxudWxsLG51bGwsW2VdKS5sZW5ndGg+MH19fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iLGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmMCE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMSE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKHAub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKSxwLmZpbmQuQ0xBU1M9ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIW4pcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlWzFdKX0sZT1udWxsKSl9KCksdC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiBlIT09dCYmKCFlLmNvbnRhaW5zfHxlLmNvbnRhaW5zKHQpKX06dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkpfTpmLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGYuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU/ZS5vd25lckRvY3VtZW50fHxlOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9O3ZhciBOPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPSIiLGE9dC5ub2RlVHlwZT9bdF06dDtyPXAubWF0Y2guUFNFVURPLmV4ZWMoZSk7KW8rPXJbMF0sZT1lLnJlcGxhY2UocC5tYXRjaC5QU0VVRE8sIiIpO2U9cC5yZWxhdGl2ZVtlXT9lKyIqIjplO2Zvcih2YXIgcz0wLGw9YS5sZW5ndGg7czxsO3MrKylmKGUsYVtzXSxpLG4pO3JldHVybiBmLmZpbHRlcihvLGkpfTtmLmF0dHI9aS5hdHRyLGYuc2VsZWN0b3JzLmF0dHJNYXA9e30saS5maW5kPWYsaS5leHByPWYuc2VsZWN0b3JzLGkuZXhwclsiOiJdPWkuZXhwci5maWx0ZXJzLGkudW5pcXVlPWYudW5pcXVlU29ydCxpLnRleHQ9Zi5nZXRUZXh0LGkuaXNYTUxEb2M9Zi5pc1hNTCxpLmNvbnRhaW5zPWYuY29udGFpbnN9KCk7dmFyIE09L1VudGlsJC8sTz0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxIPS8sLyxQPS9eLlteOiNcW1wuLF0qJC8scT1BcnJheS5wcm90b3R5cGUuc2xpY2UsQj1pLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFc9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8IWUucGFyZW50Tm9kZXx8MTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGV9ZnVuY3Rpb24gJChlLHQsbil7aWYodD10fHwwLGkuaXNGdW5jdGlvbih0KSlyZXR1cm4gaS5ncmVwKGUsKGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpPT09bn0pKTtpZih0Lm5vZGVUeXBlKXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT09PXQ9PT1ufSkpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9aS5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKTtpZihQLnRlc3QodCkpcmV0dXJuIGkuZmlsdGVyKHQsciwhbik7dD1pLmZpbHRlcih0LHIpfXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gaS5pbkFycmF5KGUsdCk+PTA9PT1ufSkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9WC5zcGxpdCgifCIpLG49ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7dC5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn1pLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGkoZSkuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWlmKGkuY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTt2YXIgbyxhLHMsbD10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsZSk7Zm9yKHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYobz1sLmxlbmd0aCxpLmZpbmQoZSx0aGlzW3RdLGwpLHQ+MClmb3IoYT1vO2E8bC5sZW5ndGg7YSsrKWZvcihzPTA7czxvO3MrKylpZihsW3NdPT09bFthXSl7bC5zcGxpY2UoYS0tLDEpCjticmVha31yZXR1cm4gbH0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZihpLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soJCh0aGlzLGUsITEpLCJub3QiLGUpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKCQodGhpcyxlLCEwKSwiZmlsdGVyIixlKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoInN0cmluZyI9PXR5cGVvZiBlP0IudGVzdChlKT9pKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDppLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1bXSxhPXRoaXNbMF07aWYoaS5pc0FycmF5KGUpKXtmb3IodmFyIHM9MTthJiZhLm93bmVyRG9jdW1lbnQmJmEhPT10Oyl7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpKGEpLmlzKGVbbl0pJiZvLnB1c2goe3NlbGVjdG9yOmVbbl0sZWxlbTphLGxldmVsOnN9KTthPWEucGFyZW50Tm9kZSxzKyt9cmV0dXJuIG99dmFyIGw9Qi50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/aShlLHR8fHRoaXMuY29udGV4dCk6MDtmb3Iobj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylmb3IoYT10aGlzW25dO2E7KXtpZihsP2wuaW5kZXgoYSk+LTE6aS5maW5kLm1hdGNoZXNTZWxlY3RvcihhLGUpKXtvLnB1c2goYSk7YnJlYWt9aWYoIShhPWEucGFyZW50Tm9kZSl8fCFhLm93bmVyRG9jdW1lbnR8fGE9PT10fHwxMT09PWEubm9kZVR5cGUpYnJlYWt9cmV0dXJuIG89by5sZW5ndGg+MT9pLnVuaXF1ZShvKTpvLHRoaXMucHVzaFN0YWNrKG8sImNsb3Nlc3QiLGUpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5pbkFycmF5KHRoaXNbMF0saShlKSk6aS5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIGU/aShlLHQpOmkubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLHI9aS5tZXJnZSh0aGlzLmdldCgpLG4pO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKG5bMF0pfHxJKHJbMF0pP3I6aS51bmlxdWUocikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSksaS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBpLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBpLm50aChlLDIsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubnRoKGUsMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpLmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDppLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBvPWkubWFwKHRoaXMsdCxuKTtyZXR1cm4gTS50ZXN0KGUpfHwocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihvPWkuZmlsdGVyKHIsbykpLG89dGhpcy5sZW5ndGg+MSYmIVdbZV0/aS51bmlxdWUobyk6bywodGhpcy5sZW5ndGg+MXx8SC50ZXN0KHIpKSYmTy50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyxlLHEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSkpLGkuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/aS5maW5kLm1hdGNoZXNTZWxlY3Rvcih0WzBdLGUpP1t0WzBdXTpbXTppLmZpbmQubWF0Y2hlcyhlLHQpfSxkaXI6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxvPWVbdF07byYmOSE9PW8ubm9kZVR5cGUmJih2b2lkIDA9PT1ufHwxIT09by5ub2RlVHlwZXx8IWkobykuaXMobikpOykxPT09by5ub2RlVHlwZSYmci5wdXNoKG8pLG89b1t0XTtyZXR1cm4gcn0sbnRoOmZ1bmN0aW9uKGUsdCxuLHIpe3Q9dHx8MTtmb3IodmFyIGk9MDtlJiYoMSE9PWUubm9kZVR5cGV8fCsraSE9PXQpO2U9ZVtuXSk7cmV0dXJuIGV9LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSkKO3ZhciBYPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIix6PS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0vXlxzKy8sVT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLFk9LzwoW1x3Ol0rKS8sSj0vPHRib2R5L2ksRz0vPHwmIz9cdys7LyxLPS88KD86c2NyaXB0fHN0eWxlKS9pLFE9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxaPW5ldyBSZWdFeHAoIjwoPzoiK1grIilbXFxzLz5dIiwiaSIpLGVlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHRlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ksbmU9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0scmU9Uih0KTtmdW5jdGlvbiBpZShlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZpLmhhc0RhdGEoZSkpe3ZhciBuLHIsbyxhPWkuX2RhdGEoZSkscz1pLl9kYXRhKHQsYSksbD1hLmV2ZW50cztpZihsKWZvcihuIGluIGRlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fSxsKWZvcihyPTAsbz1sW25dLmxlbmd0aDtyPG87cisrKWkuZXZlbnQuYWRkKHQsbixsW25dW3JdKTtzLmRhdGEmJihzLmRhdGE9aS5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIG9lKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJih0LmNsZWFyQXR0cmlidXRlcyYmdC5jbGVhckF0dHJpYnV0ZXMoKSx0Lm1lcmdlQXR0cmlidXRlcyYmdC5tZXJnZUF0dHJpYnV0ZXMoZSksIm9iamVjdCI9PT0obj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3Qub3V0ZXJIVE1MPWUub3V0ZXJIVE1MOiJpbnB1dCIhPT1ufHwiY2hlY2tib3giIT09ZS50eXBlJiYicmFkaW8iIT09ZS50eXBlPyJvcHRpb24iPT09bj90LnNlbGVjdGVkPWUuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bj90LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZToic2NyaXB0Ij09PW4mJnQudGV4dCE9PWUudGV4dCYmKHQudGV4dD1lLnRleHQpOihlLmNoZWNrZWQmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNrZWQpLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSksdC5yZW1vdmVBdHRyaWJ1dGUoaS5leHBhbmRvKSx0LnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiB2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gc2UoZSl7ImNoZWNrYm94IiE9PWUudHlwZSYmInJhZGlvIiE9PWUudHlwZXx8KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkKX1mdW5jdGlvbiBsZShlKXt2YXIgdD0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PXQ/c2UoZSk6InNjcmlwdCIhPT10JiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZpLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxzZSl9bmUub3B0Z3JvdXA9bmUub3B0aW9uLG5lLnRib2R5PW5lLnRmb290PW5lLmNvbGdyb3VwPW5lLmNhcHRpb249bmUudGhlYWQsbmUudGg9bmUudGQsaS5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChuZS5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksaS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2kudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHQpLmNyZWF0ZVRleHROb2RlKGUpKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihpLmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aSh0aGlzKS53cmFwQWxsKGUuY2FsbCh0aGlzLHQpKX0pKTtpZih0aGlzWzBdKXt2YXIgdD1pKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkpLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWkodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSkpfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWkuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaCgoZnVuY3Rpb24oKXsKaS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGkodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLChmdW5jdGlvbihlKXsxPT09dGhpcy5ub2RlVHlwZSYmdGhpcy5hcHBlbmRDaGlsZChlKX0pKX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCwoZnVuY3Rpb24oZSl7MT09PXRoaXMubm9kZVR5cGUmJnRoaXMuaW5zZXJ0QmVmb3JlKGUsdGhpcy5maXJzdENoaWxkKX0pKX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPWkuY2xlYW4oYXJndW1lbnRzKTtyZXR1cm4gZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpLHRoaXMucHVzaFN0YWNrKGUsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO3JldHVybiBlLnB1c2guYXBwbHkoZSxpLmNsZWFuKGFyZ3VtZW50cykpLGV9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj0wO251bGwhPShuPXRoaXNbcl0pO3IrKyllJiYhaS5maWx0ZXIoZSxbbl0pLmxlbmd0aHx8KHR8fDEhPT1uLm5vZGVUeXBlfHwoaS5jbGVhbkRhdGEobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxpLmNsZWFuRGF0YShbbl0pKSxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspZm9yKDE9PT1lLm5vZGVUeXBlJiZpLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPWU/PyExLHQ9dD8/ZSx0aGlzLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5jbG9uZSh0aGlzLGUsdCl9KSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUpcmV0dXJuIDE9PT10Lm5vZGVUeXBlP3QuaW5uZXJIVE1MLnJlcGxhY2UoeiwiIik6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFLLnRlc3QoZSkmJihpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFWLnRlc3QoZSkpJiYhbmVbKFkuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9ZS5yZXBsYWNlKFUsIjwkMT48LyQyPiIpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGkuY2xlYW5EYXRhKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9pLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pKHRoaXMpLHI9bi5odG1sKCk7bi5yZXBsYWNlV2l0aChlLmNhbGwodGhpcyx0LHIpKX0pKTooInN0cmluZyIhPXR5cGVvZiBlJiYoZT1pKGUpLmRldGFjaCgpKSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtpKHRoaXMpLnJlbW92ZSgpLHQ/aSh0KS5iZWZvcmUoZSk6aShuKS5hcHBlbmQoZSl9KSkpOnRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGkoaS5pc0Z1bmN0aW9uKGUpP2UoKTplKSwicmVwbGFjZVdpdGgiLGUpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZW1vdmUoZSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEscyxsLHU9ZVswXSxjPVtdO2lmKCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmMz09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmZWUudGVzdCh1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kodGhpcykuZG9tTWFuaXAoZSx0LG4sITApfSkpO2lmKGkuaXNGdW5jdGlvbih1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1pKHRoaXMpO2VbMF09dS5jYWxsKHRoaXMscix0P28uaHRtbCgpOnZvaWQgMCksby5kb21NYW5pcChlLHQsbil9KSk7aWYodGhpc1swXSl7aWYocz11JiZ1LnBhcmVudE5vZGUsbz0xPT09KGE9KHI9aS5zdXBwb3J0LnBhcmVudE5vZGUmJnMmJjExPT09cy5ub2RlVHlwZSYmcy5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP3tmcmFnbWVudDpzfTppLmJ1aWxkRnJhZ21lbnQoZSx0aGlzLGMpKS5mcmFnbWVudCkuY2hpbGROb2Rlcy5sZW5ndGg/YT1hLmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkKXt0PXQmJmkubm9kZU5hbWUobywidHIiKTtmb3IodmFyIGY9MCxkPXRoaXMubGVuZ3RoLHA9ZC0xO2Y8ZDtmKyspbi5jYWxsKHQ/KGw9dGhpc1tmXSxpLm5vZGVOYW1lKGwsInRhYmxlIik/bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8bC5hcHBlbmRDaGlsZChsLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6bCk6dGhpc1tmXSxyLmNhY2hlYWJsZXx8ZD4xJiZmPHA/aS5jbG9uZShhLCEwLCEwKTphKX1jLmxlbmd0aCYmaS5lYWNoKGMsKGZ1bmN0aW9uKGUsdCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSl9CnJldHVybiB0aGlzfX0pLGkuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGwsdT1lWzBdO3JldHVybiBuJiZuWzBdJiYobD1uWzBdLm93bmVyRG9jdW1lbnR8fG5bMF0pLGwuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8KGw9dCksISgxPT09ZS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmdS5sZW5ndGg8NTEyJiZsPT09dCYmIjwiPT09dS5jaGFyQXQoMCkpfHxRLnRlc3QodSl8fCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmZWUudGVzdCh1KXx8IWkuc3VwcG9ydC5odG1sNUNsb25lJiZaLnRlc3QodSl8fChhPSEwLChzPWkuZnJhZ21lbnRzW3VdKSYmMSE9PXMmJihvPXMpKSxvfHwobz1sLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxpLmNsZWFuKGUsbCxvLHIpKSxhJiYoaS5mcmFnbWVudHNbdV09cz9vOjEpLHtmcmFnbWVudDpvLGNhY2hlYWJsZTphfX0saS5mcmFnbWVudHM9e30saS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj1bXSxvPWkobiksYT0xPT09dGhpcy5sZW5ndGgmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihhJiYxMT09PWEubm9kZVR5cGUmJjE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiYxPT09by5sZW5ndGgpcmV0dXJuIG9bdF0odGhpc1swXSksdGhpcztmb3IodmFyIHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspe3ZhciB1PShzPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7aShvW3NdKVt0XSh1KSxyPXIuY29uY2F0KHUpfXJldHVybiB0aGlzLnB1c2hTdGFjayhyLGUsby5zZWxlY3Rvcil9fSkpLGkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGw9aS5zdXBwb3J0Lmh0bWw1Q2xvbmV8fGkuaXNYTUxEb2MoZSl8fCFaLnRlc3QoIjwiK2Uubm9kZU5hbWUrIj4iKT9lLmNsb25lTm9kZSghMCk6ZnVuY3Rpb24oZSl7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gcmUuYXBwZW5kQ2hpbGQobiksbi5pbm5lckhUTUw9ZS5vdXRlckhUTUwsbi5maXJzdENoaWxkfShlKTtpZighKGkuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJmkuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8aS5pc1hNTERvYyhlKSkpZm9yKG9lKGUsbCksbz1hZShlKSxhPWFlKGwpLHM9MDtvW3NdOysrcylhW3NdJiZvZShvW3NdLGFbc10pO2lmKG4mJihpZShlLGwpLHIpKWZvcihvPWFlKGUpLGE9YWUobCkscz0wO29bc107KytzKWllKG9bc10sYVtzXSk7cmV0dXJuIG89YT1udWxsLGx9LGNsZWFuOmZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLHMsbCx1PVtdO3ZvaWQgMD09PShuPW58fHQpLmNyZWF0ZUVsZW1lbnQmJihuPW4ub3duZXJEb2N1bWVudHx8blswXSYmblswXS5vd25lckRvY3VtZW50fHx0KTtmb3IodmFyIGMsZj0wO251bGwhPShjPWVbZl0pO2YrKylpZigibnVtYmVyIj09dHlwZW9mIGMmJihjKz0iIiksYyl7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKEcudGVzdChjKSl7Yz1jLnJlcGxhY2UoVSwiPCQxPjwvJDI+Iik7dmFyIGQscD0oWS5leGVjKGMpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGg9bmVbcF18fG5lLl9kZWZhdWx0LG09aFswXSxnPW4uY3JlYXRlRWxlbWVudCgiZGl2Iiksdj1yZS5jaGlsZE5vZGVzO2ZvcihuPT09dD9yZS5hcHBlbmRDaGlsZChnKTpSKG4pLmFwcGVuZENoaWxkKGcpLGcuaW5uZXJIVE1MPWhbMV0rYytoWzJdO20tLTspZz1nLmxhc3RDaGlsZDtpZighaS5zdXBwb3J0LnRib2R5KXt2YXIgeT1KLnRlc3QoYyksYj0idGFibGUiIT09cHx8eT8iPHRhYmxlPiIhPT1oWzFdfHx5P1tdOmcuY2hpbGROb2RlczpnLmZpcnN0Q2hpbGQmJmcuZmlyc3RDaGlsZC5jaGlsZE5vZGVzO2ZvcihsPWIubGVuZ3RoLTE7bD49MDstLWwpaS5ub2RlTmFtZShiW2xdLCJ0Ym9keSIpJiYhYltsXS5jaGlsZE5vZGVzLmxlbmd0aCYmYltsXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJbbF0pfSFpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChjKSYmZy5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoYylbMF0pLGcuZmlyc3RDaGlsZCksYz1nLmNoaWxkTm9kZXMsZyYmKGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChnKSx2Lmxlbmd0aD4wJiYoZD12W3YubGVuZ3RoLTFdKSYmZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpfWVsc2UgYz1uLmNyZWF0ZVRleHROb2RlKGMpO3ZhciB4O2lmKCFpLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihjWzBdJiYibnVtYmVyIj09dHlwZW9mKHg9Yy5sZW5ndGgpKWZvcihsPTA7bDx4O2wrKylsZShjW2xdKTtlbHNlIGxlKGMpO2Mubm9kZVR5cGU/dS5wdXNoKGMpOnU9aS5tZXJnZSh1LGMpfWlmKHIpZm9yKGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZXx8dGUudGVzdChlLnR5cGUpfSxmPTA7dVtmXTtmKyspaWYocz11W2ZdLG8mJmkubm9kZU5hbWUocywic2NyaXB0IikmJighcy50eXBlfHx0ZS50ZXN0KHMudHlwZSkpKW8ucHVzaChzLnBhcmVudE5vZGU/cy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOnMpO2Vsc2V7aWYoMT09PXMubm9kZVR5cGUpe3ZhciB3PWkuZ3JlcChzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhKTt1LnNwbGljZS5hcHBseSh1LFtmKzEsMF0uY29uY2F0KHcpKX1yLmFwcGVuZENoaWxkKHMpfXJldHVybiB1fSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvPWkuY2FjaGUsYT1pLmV2ZW50LnNwZWNpYWwscz1pLnN1cHBvcnQuZGVsZXRlRXhwYW5kbyxsPTA7bnVsbCE9KHI9ZVtsXSk7bCsrKWlmKCghci5ub2RlTmFtZXx8IWkubm9EYXRhW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYobj1yW2kuZXhwYW5kb10pKXtpZigodD1vW25dKSYmdC5ldmVudHMpe2Zvcih2YXIgdSBpbiB0LmV2ZW50cylhW3VdP2kuZXZlbnQucmVtb3ZlKHIsdSk6aS5yZW1vdmVFdmVudChyLHUsdC5oYW5kbGUpCjt0LmhhbmRsZSYmKHQuaGFuZGxlLmVsZW09bnVsbCl9cz9kZWxldGUgcltpLmV4cGFuZG9dOnIucmVtb3ZlQXR0cmlidXRlJiZyLnJlbW92ZUF0dHJpYnV0ZShpLmV4cGFuZG8pLGRlbGV0ZSBvW25dfX19KTt2YXIgdWUsY2UsZmUsZGU9L2FscGhhXChbXildKlwpL2kscGU9L29wYWNpdHk9KFteKV0qKS8saGU9LyhbQS1aXXxebXMpL2csbWU9L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGdlPS9eLT8oPzpcZCpcLik/XGQrKD8hcHgpW15cZFxzXSskL2ksdmU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8seWU9L15tYXJnaW4vLGJlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSx4ZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdO2Z1bmN0aW9uIHdlKGUsdCxuKXt2YXIgcj0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89IndpZHRoIj09PXQ/MTowO2lmKHI+MCl7aWYoImJvcmRlciIhPT1uKWZvcig7bzw0O28rPTIpbnx8KHItPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCksIm1hcmdpbiI9PT1uP3IrPXBhcnNlRmxvYXQoaS5jc3MoZSxuK3hlW29dKSl8fDA6ci09cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MDtyZXR1cm4gcisicHgifWlmKCgocj11ZShlLHQpKTwwfHxudWxsPT1yKSYmKHI9ZS5zdHlsZVt0XSksZ2UudGVzdChyKSlyZXR1cm4gcjtpZihyPXBhcnNlRmxvYXQocil8fDAsbilmb3IoO288NDtvKz0yKXIrPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCwicGFkZGluZyIhPT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MCksIm1hcmdpbiI9PT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLG4reGVbb10pKXx8MCk7cmV0dXJuIHIrInB4In1pLmZuLmNzcz1mdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMCE9PW4/aS5zdHlsZShlLHQsbik6aS5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxpLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPXVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59cmV0dXJuIGUuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ZmxvYXQ6aS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscz1pLmNhbWVsQ2FzZSh0KSxsPWUuc3R5bGUsdT1pLmNzc0hvb2tzW3NdO2lmKHQ9aS5jc3NQcm9wc1tzXXx8cyx2b2lkIDA9PT1uKXJldHVybiB1JiYiZ2V0ImluIHUmJnZvaWQgMCE9PShvPXUuZ2V0KGUsITEscikpP286bFt0XTtpZighKCJzdHJpbmciPT09KGE9dHlwZW9mIG4pJiYobz12ZS5leGVjKG4pKSYmKG49KyhvWzFdKzEpKitvWzJdK3BhcnNlRmxvYXQoaS5jc3MoZSx0KSksYT0ibnVtYmVyIiksbnVsbD09bnx8Im51bWJlciI9PT1hJiZpc05hTihuKXx8KCJudW1iZXIiIT09YXx8aS5jc3NOdW1iZXJbc118fChuKz0icHgiKSx1JiYic2V0ImluIHUmJnZvaWQgMD09PShuPXUuc2V0KGUsbikpKSkpdHJ5e2xbdF09bn1jYXRjaChlKXt9fX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PWkuY2FtZWxDYXNlKHQpLG89aS5jc3NIb29rc1t0XSwiY3NzRmxvYXQiPT09KHQ9aS5jc3NQcm9wc1t0XXx8dCkmJih0PSJmbG9hdCIpLG8mJiJnZXQiaW4gbyYmdm9pZCAwIT09KHI9by5nZXQoZSwhMCxuKSk/cjp1ZT91ZShlLHQpOnZvaWQgMH0sc3dhcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn19KSxpLmN1ckNTUz1pLmNzcyx0LmRlZmF1bHRWaWV3JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4gdD10LnJlcGxhY2UoaGUsIi0kMSIpLnRvTG93ZXJDYXNlKCksKHI9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKG89ci5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpJiYoIiIhPT0obj1vLmdldFByb3BlcnR5VmFsdWUodCkpfHxpLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZSl8fChuPWkuc3R5bGUoZSx0KSkpLCFpLnN1cHBvcnQucGl4ZWxNYXJnaW4mJm8mJnllLnRlc3QodCkmJmdlLnRlc3QobikmJihhPXMud2lkdGgscy53aWR0aD1uLG49by53aWR0aCxzLndpZHRoPWEpLG59KSx0LmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihmZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPWUuY3VycmVudFN0eWxlJiZlLmN1cnJlbnRTdHlsZVt0XSxhPWUuc3R5bGU7cmV0dXJuIG51bGw9PW8mJmEmJihpPWFbdF0pJiYobz1pKSxnZS50ZXN0KG8pJiYobj1hLmxlZnQsKHI9ZS5ydW50aW1lU3R5bGUmJmUucnVudGltZVN0eWxlLmxlZnQpJiYoZS5ydW50aW1lU3R5bGUubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSxhLmxlZnQ9ImZvbnRTaXplIj09PXQ/IjFlbSI6byxvPWEucGl4ZWxMZWZ0KyJweCIsYS5sZWZ0PW4sciYmKGUucnVudGltZVN0eWxlLmxlZnQ9cikpLCIiPT09bz8iYXV0byI6b30pLHVlPWNlfHxmZSxpLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLChmdW5jdGlvbihlLHQpe2kuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4gMCE9PWUub2Zmc2V0V2lkdGg/d2UoZSx0LHIpOmkuc3dhcChlLGJlLChmdW5jdGlvbigpe3JldHVybiB3ZShlLHQscil9KSl9LHNldDpmdW5jdGlvbihlLHQpewpyZXR1cm4gbWUudGVzdCh0KT90KyJweCI6dH19fSkpLGkuc3VwcG9ydC5vcGFjaXR5fHwoaS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGUudGVzdCgodCYmZS5jdXJyZW50U3R5bGU/ZS5jdXJyZW50U3R5bGUuZmlsdGVyOmUuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDArIiI6dD8iMSI6IiJ9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3R5bGUscj1lLmN1cnJlbnRTdHlsZSxvPWkuaXNOdW1lcmljKHQpPyJhbHBoYShvcGFjaXR5PSIrMTAwKnQrIikiOiIiLGE9ciYmci5maWx0ZXJ8fG4uZmlsdGVyfHwiIjtuLnpvb209MSx0Pj0xJiYiIj09PWkudHJpbShhLnJlcGxhY2UoZGUsIiIpKSYmKG4ucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9ZGUudGVzdChhKT9hLnJlcGxhY2UoZGUsbyk6YSsiICIrbyl9fSksaSgoZnVuY3Rpb24oKXtpLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGkuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBpLnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQ/dWUoZSwibWFyZ2luLXJpZ2h0Iik6ZS5zdHlsZS5tYXJnaW5SaWdodH0pKX19KX0pKSxpLmV4cHImJmkuZXhwci5maWx0ZXJzJiYoaS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0V2lkdGgsbj1lLm9mZnNldEhlaWdodDtyZXR1cm4gMD09PXQmJjA9PT1ufHwhaS5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmIm5vbmUiPT09KGUuc3R5bGUmJmUuc3R5bGUuZGlzcGxheXx8aS5jc3MoZSwiZGlzcGxheSIpKX0saS5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4haS5leHByLmZpbHRlcnMuaGlkZGVuKGUpfSksaS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7dmFyIHIsaT0ic3RyaW5nIj09dHlwZW9mIG4/bi5zcGxpdCgiICIpOltuXSxvPXt9O2ZvcihyPTA7cjw0O3IrKylvW2UreGVbcl0rdF09aVtyXXx8aVtyLTJdfHxpWzBdO3JldHVybiBvfX19KSk7dmFyIFRlLE5lLENlPS8lMjAvZyxTZT0vXFtcXSQvLGtlPS9ccj9cbi9nLEVlPS8jLiokLyxBZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLERlPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxMZT0vXig/OkdFVHxIRUFEKSQvLEZlPS9eXC9cLy8samU9L1w/LyxfZT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxNZT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxPZT0vXHMrLyxIZT0vKFs/Jl0pXz1bXiZdKi8sUGU9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLHFlPWkuZm4ubG9hZCxCZT17fSxXZT17fSxJZT1bIiovIl0rWyIqIl07dHJ5e1RlPXIuaHJlZn1jYXRjaChlKXsoVGU9dC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9IiIsVGU9VGUuaHJlZn1mdW5jdGlvbiAkZShlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpLGkuaXNGdW5jdGlvbihuKSlmb3IodmFyIHIsbyxhPXQudG9Mb3dlckNhc2UoKS5zcGxpdChPZSkscz0wLGw9YS5sZW5ndGg7czxsO3MrKylyPWFbc10sKG89L15cKy8udGVzdChyKSkmJihyPXIuc3Vic3RyKDEpfHwiKiIpLChlW3JdPWVbcl18fFtdKVtvPyJ1bnNoaWZ0IjoicHVzaCJdKG4pfX1mdW5jdGlvbiBSZShlLHQsbixyLGksbyl7KG89b3x8e30pW2k9aXx8dC5kYXRhVHlwZXNbMF1dPSEwO2Zvcih2YXIgYSxzPWVbaV0sbD0wLHU9cz9zLmxlbmd0aDowLGM9ZT09PUJlO2w8dSYmKGN8fCFhKTtsKyspInN0cmluZyI9PXR5cGVvZihhPXNbbF0odCxuLHIpKSYmKCFjfHxvW2FdP2E9dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGEpLGE9UmUoZSx0LG4scixhLG8pKSk7cmV0dXJuIWMmJmF8fG9bIioiXXx8KGE9UmUoZSx0LG4sciwiKiIsbykpLGF9ZnVuY3Rpb24gWGUoZSx0KXt2YXIgbixyLG89aS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChvW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyJiZpLmV4dGVuZCghMCxlLHIpfWZ1bmN0aW9uIHplKGUsdCxuLHIpe2lmKGkuaXNBcnJheSh0KSlpLmVhY2godCwoZnVuY3Rpb24odCxpKXtufHxTZS50ZXN0KGUpP3IoZSxpKTp6ZShlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpP3Q6IiIpKyJdIixpLG4scil9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PWkudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IodmFyIG8gaW4gdCl6ZShlKyJbIitvKyJdIix0W29dLG4scil9TmU9UGUuZXhlYyhUZS50b0xvd2VyQ2FzZSgpKXx8W10saS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmcWUpcmV0dXJuIHFlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9ZS5pbmRleE9mKCIgIik7aWYocj49MCl7dmFyIG89ZS5zbGljZShyLGUubGVuZ3RoKTtlPWUuc2xpY2UoMCxyKX12YXIgYT0iR0VUIjt0JiYoaS5pc0Z1bmN0aW9uKHQpPyhuPXQsdD12b2lkIDApOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9aS5wYXJhbSh0LGkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxhPSJQT1NUIikpO3ZhciBzPXRoaXM7cmV0dXJuIGkuYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOnQsY29tcGxldGU6ZnVuY3Rpb24oZSx0LHIpe3I9ZS5yZXNwb25zZVRleHQsZS5pc1Jlc29sdmVkKCkmJihlLmRvbmUoKGZ1bmN0aW9uKGUpe3I9ZX0pKSxzLmh0bWwobz9pKCI8ZGl2PiIpLmFwcGVuZChyLnJlcGxhY2UoX2UsIiIpKS5maW5kKG8pOnIpKSwKbiYmcy5lYWNoKG4sW3IsdCxlXSl9fSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/aS5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fE1lLnRlc3QodGhpcy5ub2RlTmFtZSl8fERlLnRlc3QodGhpcy50eXBlKSl9KSkubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuPWkodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDppLmlzQXJyYXkobik/aS5tYXAobiwoZnVuY3Rpb24oZSxuKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKGtlLCJcclxuIil9fSkpOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa2UsIlxyXG4iKX19KSkuZ2V0KCl9fSksaS5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSkpLGkuZWFjaChbImdldCIsInBvc3QiXSwoZnVuY3Rpb24oZSx0KXtpW3RdPWZ1bmN0aW9uKGUsbixyLG8pe3JldHVybiBpLmlzRnVuY3Rpb24obikmJihvPW98fHIscj1uLG49dm9pZCAwKSxpLmFqYXgoe3R5cGU6dCx1cmw6ZSxkYXRhOm4sc3VjY2VzczpyLGRhdGFUeXBlOm99KX19KSksaS5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBpLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZ2V0KGUsdCxuLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P1hlKGUsaS5hamF4U2V0dGluZ3MpOih0PWUsZT1pLmFqYXhTZXR0aW5ncyksWGUoZSx0KSxlfSxhamF4U2V0dGluZ3M6e3VybDpUZSxpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChOZVsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOkllfSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6d2luZG93LlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjppLnBhcnNlSlNPTiwidGV4dCB4bWwiOmkucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6JGUoQmUpLGFqYXhUcmFuc3BvcnQ6JGUoV2UpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4scixvLGEscyxsLHUsYyxmPWkuYWpheFNldHVwKHt9LHQpLGQ9Zi5jb250ZXh0fHxmLHA9ZCE9PWYmJihkLm5vZGVUeXBlfHxkIGluc3RhbmNlb2YgaSk/aShkKTppLmV2ZW50LGg9aS5EZWZlcnJlZCgpLG09aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZz1mLnN0YXR1c0NvZGV8fHt9LHY9e30seT17fSxiPTAseD17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtpZighYil7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO2U9eVtuXT15W25dfHxlLHZbZV09dH1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP3I6bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoMj09PWIpe2lmKCFvKWZvcihvPXt9O3Q9QWUuZXhlYyhyKTspb1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl07dD1vW2UudG9Mb3dlckNhc2UoKV19cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwoZi5taW1lVHlwZT1lKSx0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiYWJvcnQiLGEmJmEuYWJvcnQoZSksdygwLGUpLHRoaXN9fTtmdW5jdGlvbiB3KGUsdCxvLGwpe2lmKDIhPT1iKXtiPTIscyYmY2xlYXJUaW1lb3V0KHMpLGE9dm9pZCAwLHI9bHx8IiIseC5yZWFkeVN0YXRlPWU+MD80OjA7dmFyIGMsdix5LHcsVCxOPXQsQz1vP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsbD1lLmRhdGFUeXBlcyx1PWUucmVzcG9uc2VGaWVsZHM7Zm9yKGkgaW4gdSlpIGluIG4mJih0W3VbaV1dPW5baV0pO2Zvcig7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXtsLnVuc2hpZnQoaSk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIWxbMF18fGUuY29udmVydGVyc1tpKyIgIitsWzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119KGYseCxvKTp2b2lkIDA7aWYoZT49MjAwJiZlPDMwMHx8MzA0PT09ZSlpZihmLmlmTW9kaWZpZWQmJigodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoaS5sYXN0TW9kaWZpZWRbbl09dyksKFQ9eC5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSYmKGkuZXRhZ1tuXT1UKSksMzA0PT09ZSlOPSJub3Rtb2RpZmllZCIsYz0hMDtlbHNlIHRyeXt2PWZ1bmN0aW9uKGUsdCl7CmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpO3ZhciBuLHIsbyxhLHMsbCx1LGMsZj1lLmRhdGFUeXBlcyxkPXt9LHA9Zi5sZW5ndGgsaD1mWzBdO2ZvcihuPTE7bjxwO24rKyl7aWYoMT09PW4pZm9yKHIgaW4gZS5jb252ZXJ0ZXJzKSJzdHJpbmciPT10eXBlb2YgciYmKGRbci50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbcl0pO2lmKGE9aCwiKiI9PT0oaD1mW25dKSloPWE7ZWxzZSBpZigiKiIhPT1hJiZhIT09aCl7aWYoIShsPWRbcz1hKyIgIitoXXx8ZFsiKiAiK2hdKSlmb3IodSBpbiBjPXZvaWQgMCxkKWlmKCgobz11LnNwbGl0KCIgIikpWzBdPT09YXx8IioiPT09b1swXSkmJihjPWRbb1sxXSsiICIraF0pKXshMD09PSh1PWRbdV0pP2w9YzohMD09PWMmJihsPXUpO2JyZWFrfWx8fGN8fGkuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK3MucmVwbGFjZSgiICIsIiB0byAiKSksITAhPT1sJiYodD1sP2wodCk6Yyh1KHQpKSl9fXJldHVybiB0fShmLEMpLE49InN1Y2Nlc3MiLGM9ITB9Y2F0Y2goZSl7Tj0icGFyc2VyZXJyb3IiLHk9ZX1lbHNlIHk9TixOJiYhZXx8KE49ImVycm9yIixlPDAmJihlPTApKTt4LnN0YXR1cz1lLHguc3RhdHVzVGV4dD0iIisodHx8TiksYz9oLnJlc29sdmVXaXRoKGQsW3YsTix4XSk6aC5yZWplY3RXaXRoKGQsW3gsTix5XSkseC5zdGF0dXNDb2RlKGcpLGc9dm9pZCAwLHUmJnAudHJpZ2dlcigiYWpheCIrKGM/IlN1Y2Nlc3MiOiJFcnJvciIpLFt4LGYsYz92OnldKSxtLmZpcmVXaXRoKGQsW3gsTl0pLHUmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsZl0pLC0taS5hY3RpdmV8fGkuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fWlmKGgucHJvbWlzZSh4KSx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLHguY29tcGxldGU9bS5hZGQseC5zdGF0dXNDb2RlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYjwyKWZvcih0IGluIGUpZ1t0XT1bZ1t0XSxlW3RdXTtlbHNlIHQ9ZVt4LnN0YXR1c10seC50aGVuKHQsdCk7cmV0dXJuIHRoaXN9LGYudXJsPSgoZXx8Zi51cmwpKyIiKS5yZXBsYWNlKEVlLCIiKS5yZXBsYWNlKEZlLE5lWzFdKyIvLyIpLGYuZGF0YVR5cGVzPWkudHJpbShmLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoT2UpLG51bGw9PWYuY3Jvc3NEb21haW4mJihsPVBlLmV4ZWMoZi51cmwudG9Mb3dlckNhc2UoKSksZi5jcm9zc0RvbWFpbj0hKCFsfHxsWzFdPT1OZVsxXSYmbFsyXT09TmVbMl0mJihsWzNdfHwoImh0dHA6Ij09PWxbMV0/ODA6NDQzKSk9PShOZVszXXx8KCJodHRwOiI9PT1OZVsxXT84MDo0NDMpKSkpLGYuZGF0YSYmZi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBmLmRhdGEmJihmLmRhdGE9aS5wYXJhbShmLmRhdGEsZi50cmFkaXRpb25hbCkpLFJlKEJlLGYsdCx4KSwyPT09YilyZXR1cm4hMTtpZih1PWYuZ2xvYmFsLGYudHlwZT1mLnR5cGUudG9VcHBlckNhc2UoKSxmLmhhc0NvbnRlbnQ9IUxlLnRlc3QoZi50eXBlKSx1JiYwPT1pLmFjdGl2ZSsrJiZpLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCFmLmhhc0NvbnRlbnQmJihmLmRhdGEmJihmLnVybCs9KGplLnRlc3QoZi51cmwpPyImIjoiPyIpK2YuZGF0YSxkZWxldGUgZi5kYXRhKSxuPWYudXJsLCExPT09Zi5jYWNoZSkpe3ZhciBUPWkubm93KCksTj1mLnVybC5yZXBsYWNlKEhlLCIkMV89IitUKTtmLnVybD1OKyhOPT09Zi51cmw/KGplLnRlc3QoZi51cmwpPyImIjoiPyIpKyJfPSIrVDoiIil9Zm9yKGMgaW4oZi5kYXRhJiZmLmhhc0NvbnRlbnQmJiExIT09Zi5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJnguc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixmLmNvbnRlbnRUeXBlKSxmLmlmTW9kaWZpZWQmJihuPW58fGYudXJsLGkubGFzdE1vZGlmaWVkW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixpLmxhc3RNb2RpZmllZFtuXSksaS5ldGFnW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGkuZXRhZ1tuXSkpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixmLmRhdGFUeXBlc1swXSYmZi5hY2NlcHRzW2YuZGF0YVR5cGVzWzBdXT9mLmFjY2VwdHNbZi5kYXRhVHlwZXNbMF1dKygiKiIhPT1mLmRhdGFUeXBlc1swXT8iLCAiK0llKyI7IHE9MC4wMSI6IiIpOmYuYWNjZXB0c1siKiJdKSxmLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGMsZi5oZWFkZXJzW2NdKTtpZihmLmJlZm9yZVNlbmQmJighMT09PWYuYmVmb3JlU2VuZC5jYWxsKGQseCxmKXx8Mj09PWIpKXJldHVybiB4LmFib3J0KCksITE7Zm9yKGMgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtjXShmW2NdKTtpZihhPVJlKFdlLGYsdCx4KSl7eC5yZWFkeVN0YXRlPTEsdSYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsZl0pLGYuYXN5bmMmJmYudGltZW91dD4wJiYocz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3guYWJvcnQoInRpbWVvdXQiKX0pLGYudGltZW91dCkpO3RyeXtiPTEsYS5zZW5kKHYsdyl9Y2F0Y2goZSl7aWYoIShiPDIpKXRocm93IGU7dygtMSxlKX19ZWxzZSB3KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4geH0scGFyYW06ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPWZ1bmN0aW9uKGUsdCl7dD1pLmlzRnVuY3Rpb24odCk/dCgpOnQsbltuLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQodCl9O2lmKHZvaWQgMD09PXQmJih0PWkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxpLmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhaS5pc1BsYWluT2JqZWN0KGUpKWkuZWFjaChlLChmdW5jdGlvbigpe3IodGhpcy5uYW1lLHRoaXMudmFsdWUpfSkpO2Vsc2UgZm9yKHZhciBvIGluIGUpemUobyxlW29dLHQscik7cmV0dXJuIG4uam9pbigiJiIpLnJlcGxhY2UoQ2UsIisiKX19KSxpLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgVmUsVWUsWWU9ISF3aW5kb3cuQWN0aXZlWE9iamVjdCYmZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gVmUpVmVbZV0oMCwxKX0sSmU9MAo7ZnVuY3Rpb24gR2UoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1pLmFqYXhTZXR0aW5ncy54aHI9d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZHZSgpfHxmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGUpe319KCl9OkdlLFVlPWkuYWpheFNldHRpbmdzLnhocigpLGkuZXh0ZW5kKGkuc3VwcG9ydCx7YWpheDohIVVlLGNvcnM6ISFVZSYmIndpdGhDcmVkZW50aWFscyJpbiBVZX0pLGkuc3VwcG9ydC5hamF4JiZpLmFqYXhUcmFuc3BvcnQoKGZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlLmNyb3NzRG9tYWlufHxpLnN1cHBvcnQuY29ycylyZXR1cm57c2VuZDpmdW5jdGlvbihuLHIpe3ZhciBvLGEscz1lLnhocigpO2lmKGUudXNlcm5hbWU/cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCk6cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKSxlLnhockZpZWxkcylmb3IoYSBpbiBlLnhockZpZWxkcylzW2FdPWUueGhyRmllbGRzW2FdO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fG5bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG5bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbilzLnNldFJlcXVlc3RIZWFkZXIoYSxuW2FdKX1jYXRjaChlKXt9cy5zZW5kKGUuaGFzQ29udGVudCYmZS5kYXRhfHxudWxsKSx0PWZ1bmN0aW9uKG4sYSl7dmFyIGwsdSxjLGYsZDt0cnl7aWYodCYmKGF8fDQ9PT1zLnJlYWR5U3RhdGUpKWlmKHQ9dm9pZCAwLG8mJihzLm9ucmVhZHlzdGF0ZWNoYW5nZT1pLm5vb3AsWWUmJmRlbGV0ZSBWZVtvXSksYSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXtsPXMuc3RhdHVzLGM9cy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxmPXt9LChkPXMucmVzcG9uc2VYTUwpJiZkLmRvY3VtZW50RWxlbWVudCYmKGYueG1sPWQpO3RyeXtmLnRleHQ9cy5yZXNwb25zZVRleHR9Y2F0Y2gobil7fXRyeXt1PXMuc3RhdHVzVGV4dH1jYXRjaChlKXt1PSIifWx8fCFlLmlzTG9jYWx8fGUuY3Jvc3NEb21haW4/MTIyMz09PWwmJihsPTIwNCk6bD1mLnRleHQ/MjAwOjQwNH19Y2F0Y2goZSl7YXx8cigtMSxlKX1mJiZyKGwsdSxmLGMpfSxlLmFzeW5jJiY0IT09cy5yZWFkeVN0YXRlPyhvPSsrSmUsWWUmJihWZXx8KFZlPXt9LGkod2luZG93KS51bmxvYWQoWWUpKSxWZVtvXT10KSxzLm9ucmVhZHlzdGF0ZWNoYW5nZT10KTp0KCl9LGFib3J0OmZ1bmN0aW9uKCl7dCYmdCgwLDEpfX19KSk7dmFyIEtlLFFlLFplLGV0LHR0PXt9LG50PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxydD0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGl0PVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2Z1bmN0aW9uIG90KCl7cmV0dXJuIHNldFRpbWVvdXQoYXQsMCksZXQ9aS5ub3coKX1mdW5jdGlvbiBhdCgpe2V0PXZvaWQgMH1mdW5jdGlvbiBzdChlLHQpe3ZhciBuPXt9O3JldHVybiBpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0LnNsaWNlKDAsdCkpLChmdW5jdGlvbigpe25bdGhpc109ZX0pKSxufWZ1bmN0aW9uIGx0KGUpe2lmKCF0dFtlXSl7dmFyIG49dC5ib2R5LHI9aSgiPCIrZSsiPiIpLmFwcGVuZFRvKG4pLG89ci5jc3MoImRpc3BsYXkiKTtyLnJlbW92ZSgpLCJub25lIiE9PW8mJiIiIT09b3x8KEtlfHwoKEtlPXQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLmZyYW1lQm9yZGVyPUtlLndpZHRoPUtlLmhlaWdodD0wKSxuLmFwcGVuZENoaWxkKEtlKSxRZSYmS2UuY3JlYXRlRWxlbWVudHx8KChRZT0oS2UuY29udGVudFdpbmRvd3x8S2UuY29udGVudERvY3VtZW50KS5kb2N1bWVudCkud3JpdGUoKGkuc3VwcG9ydC5ib3hNb2RlbD8iPCFkb2N0eXBlIGh0bWw+IjoiIikrIjxodG1sPjxib2R5PiIpLFFlLmNsb3NlKCkpLHI9UWUuY3JlYXRlRWxlbWVudChlKSxRZS5ib2R5LmFwcGVuZENoaWxkKHIpLG89aS5jc3MociwiZGlzcGxheSIpLG4ucmVtb3ZlQ2hpbGQoS2UpKSx0dFtlXT1vfXJldHVybiB0dFtlXX1pLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihlLHQsbil7dmFyIHIsbztpZihlfHwwPT09ZSlyZXR1cm4gdGhpcy5hbmltYXRlKHN0KCJzaG93IiwzKSxlLHQsbik7Zm9yKHZhciBhPTAscz10aGlzLmxlbmd0aDthPHM7YSsrKShyPXRoaXNbYV0pLnN0eWxlJiYobz1yLnN0eWxlLmRpc3BsYXksaS5fZGF0YShyLCJvbGRkaXNwbGF5Iil8fCJub25lIiE9PW98fChvPXIuc3R5bGUuZGlzcGxheT0iIiksKCIiPT09byYmIm5vbmUiPT09aS5jc3MociwiZGlzcGxheSIpfHwhaS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKSYmaS5fZGF0YShyLCJvbGRkaXNwbGF5IixsdChyLm5vZGVOYW1lKSkpO2ZvcihhPTA7YTxzO2ErKykocj10aGlzW2FdKS5zdHlsZSYmKCIiIT09KG89ci5zdHlsZS5kaXNwbGF5KSYmIm5vbmUiIT09b3x8KHIuc3R5bGUuZGlzcGxheT1pLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8IiIpKTtyZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihlLHQsbil7aWYoZXx8MD09PWUpcmV0dXJuIHRoaXMuYW5pbWF0ZShzdCgiaGlkZSIsMyksZSx0LG4pO2Zvcih2YXIgcixvLGE9MCxzPXRoaXMubGVuZ3RoO2E8czthKyspKHI9dGhpc1thXSkuc3R5bGUmJigibm9uZSI9PT0obz1pLmNzcyhyLCJkaXNwbGF5IikpfHxpLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8aS5fZGF0YShyLCJvbGRkaXNwbGF5IixvKSk7Zm9yKGE9MDthPHM7YSsrKXRoaXNbYV0uc3R5bGUmJih0aGlzW2FdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTppLmZuLnRvZ2dsZSwKdG9nZ2xlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiBpLmlzRnVuY3Rpb24oZSkmJmkuaXNGdW5jdGlvbih0KT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOm51bGw9PWV8fHI/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXI/ZTppKHRoaXMpLmlzKCI6aGlkZGVuIik7aSh0aGlzKVt0PyJzaG93IjoiaGlkZSJdKCl9KSk6dGhpcy5hbmltYXRlKHN0KCJ0b2dnbGUiLDMpLGUsdCxuKSx0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89aS5zcGVlZCh0LG4scik7aWYoaS5pc0VtcHR5T2JqZWN0KGUpKXJldHVybiB0aGlzLmVhY2goby5jb21wbGV0ZSxbITFdKTtmdW5jdGlvbiBhKCl7ITE9PT1vLnF1ZXVlJiZpLl9tYXJrKHRoaXMpO3ZhciB0LG4scixhLHMsbCx1LGMsZixkLHAsaD1pLmV4dGVuZCh7fSxvKSxtPTE9PT10aGlzLm5vZGVUeXBlLGc9bSYmaSh0aGlzKS5pcygiOmhpZGRlbiIpO2ZvcihyIGluIGguYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9LGUpaWYociE9PSh0PWkuY2FtZWxDYXNlKHIpKSYmKGVbdF09ZVtyXSxkZWxldGUgZVtyXSksKHM9aS5jc3NIb29rc1t0XSkmJiJleHBhbmQiaW4gcylmb3IociBpbiBsPXMuZXhwYW5kKGVbdF0pLGRlbGV0ZSBlW3RdLGwpciBpbiBlfHwoZVtyXT1sW3JdKTtmb3IodCBpbiBlKXtpZihuPWVbdF0saS5pc0FycmF5KG4pPyhoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1uWzFdLG49ZVt0XT1uWzBdKTpoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1oLnNwZWNpYWxFYXNpbmcmJmguc3BlY2lhbEVhc2luZ1t0XXx8aC5lYXNpbmd8fCJzd2luZyIsImhpZGUiPT09biYmZ3x8InNob3ciPT09biYmIWcpcmV0dXJuIGguY29tcGxldGUuY2FsbCh0aGlzKTshbXx8ImhlaWdodCIhPT10JiYid2lkdGgiIT09dHx8KGgub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldLCJpbmxpbmUiPT09aS5jc3ModGhpcywiZGlzcGxheSIpJiYibm9uZSI9PT1pLmNzcyh0aGlzLCJmbG9hdCIpJiYoaS5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bHQodGhpcy5ub2RlTmFtZSk/dGhpcy5zdHlsZS56b29tPTE6dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSl9Zm9yKHIgaW4gbnVsbCE9aC5vdmVyZmxvdyYmKHRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpLGUpYT1uZXcgaS5meCh0aGlzLGgsciksbj1lW3JdLG50LnRlc3Qobik/KHA9aS5fZGF0YSh0aGlzLCJ0b2dnbGUiK3IpfHwoInRvZ2dsZSI9PT1uP2c/InNob3ciOiJoaWRlIjowKSk/KGkuX2RhdGEodGhpcywidG9nZ2xlIityLCJzaG93Ij09PXA/ImhpZGUiOiJzaG93IiksYVtwXSgpKTphW25dKCk6KHU9cnQuZXhlYyhuKSxjPWEuY3VyKCksdT8oZj1wYXJzZUZsb2F0KHVbMl0pLCJweCIhPT0oZD11WzNdfHwoaS5jc3NOdW1iZXJbcl0/IiI6InB4IikpJiYoaS5zdHlsZSh0aGlzLHIsKGZ8fDEpK2QpLGM9KGZ8fDEpL2EuY3VyKCkqYyxpLnN0eWxlKHRoaXMscixjK2QpKSx1WzFdJiYoZj0oIi09Ij09PXVbMV0/LTE6MSkqZitjKSxhLmN1c3RvbShjLGYsZCkpOmEuY3VzdG9tKGMsbiwiIikpO3JldHVybiEwfXJldHVybiBlPWkuZXh0ZW5kKHt9LGUpLCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiYhMSE9PWUmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHI9ITEsbz1pLnRpbWVycyxhPWkuX2RhdGEodGhpcyk7ZnVuY3Rpb24gcyhlLHQscil7dmFyIG89dFtyXTtpLnJlbW92ZURhdGEoZSxyLCEwKSxvLnN0b3Aobil9aWYobnx8aS5fdW5tYXJrKCEwLHRoaXMpLG51bGw9PWUpZm9yKHQgaW4gYSlhW3RdJiZhW3RdLnN0b3AmJnQuaW5kZXhPZigiLnJ1biIpPT09dC5sZW5ndGgtNCYmcyh0aGlzLGEsdCk7ZWxzZSBhW3Q9ZSsiLnJ1biJdJiZhW3RdLnN0b3AmJnModGhpcyxhLHQpO2Zvcih0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1t0XS5xdWV1ZSE9PWV8fChuP29bdF0oITApOm9bdF0uc2F2ZVN0YXRlKCkscj0hMCxvLnNwbGljZSh0LDEpKTtuJiZyfHxpLmRlcXVldWUodGhpcyxlKX0pKX19KSxpLmVhY2goe3NsaWRlRG93bjpzdCgic2hvdyIsMSksc2xpZGVVcDpzdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6c3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSwoZnVuY3Rpb24oZSx0KXtpLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pKSxpLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9pLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGkuaXNGdW5jdGlvbihlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaS5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gci5kdXJhdGlvbj1pLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2Ygci5kdXJhdGlvbj9yLmR1cmF0aW9uOnIuZHVyYXRpb24gaW4gaS5meC5zcGVlZHM/aS5meC5zcGVlZHNbci5kdXJhdGlvbl06aS5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oZSl7aS5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlP2kuZGVxdWV1ZSh0aGlzLHIucXVldWUpOiExIT09ZSYmaS5fdW5tYXJrKHRoaXMpfSxyfSxlYXNpbmc6ewpsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi1NYXRoLmNvcyhlKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oZSx0LG4pe3RoaXMub3B0aW9ucz10LHRoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHQub3JpZz10Lm9yaWd8fHt9fX0pLGkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGkuZnguc3RlcFt0aGlzLnByb3BdfHxpLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmVsZW1bdGhpcy5wcm9wXSYmKCF0aGlzLmVsZW0uc3R5bGV8fG51bGw9PXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGUsdD1pLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oZT1wYXJzZUZsb2F0KHQpKT90JiYiYXV0byIhPT10P3Q6MDplfSxjdXN0b206ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsbz1pLmZ4O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHIuc3RlcChlKX10aGlzLnN0YXJ0VGltZT1ldHx8b3QoKSx0aGlzLmVuZD10LHRoaXMubm93PXRoaXMuc3RhcnQ9ZSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PW58fHRoaXMudW5pdHx8KGkuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksYS5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWUsYS5lbGVtPXRoaXMuZWxlbSxhLnNhdmVTdGF0ZT1mdW5jdGlvbigpe3ZvaWQgMD09PWkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCkmJihyLm9wdGlvbnMuaGlkZT9pLl9kYXRhKHIuZWxlbSwiZnhzaG93IityLnByb3Asci5zdGFydCk6ci5vcHRpb25zLnNob3cmJmkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCxyLmVuZCkpfSxhKCkmJmkudGltZXJzLnB1c2goYSkmJiFaZSYmKFplPXNldEludGVydmFsKG8udGljayxvLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1pLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8aS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuc2hvdz0hMCx2b2lkIDAhPT1lP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksZSk6dGhpcy5jdXN0b20oIndpZHRoIj09PXRoaXMucHJvcHx8ImhlaWdodCI9PT10aGlzLnByb3A/MTowLHRoaXMuY3VyKCkpLGkodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWkuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGkuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1ldHx8b3QoKSxhPSEwLHM9dGhpcy5lbGVtLGw9dGhpcy5vcHRpb25zO2lmKGV8fG8+PWwuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe2Zvcih0IGluIHRoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGwuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITAsbC5hbmltYXRlZFByb3BlcnRpZXMpITAhPT1sLmFuaW1hdGVkUHJvcGVydGllc1t0XSYmKGE9ITEpO2lmKGEpe2lmKG51bGw9PWwub3ZlcmZsb3d8fGkuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxpLmVhY2goWyIiLCJYIiwiWSJdLChmdW5jdGlvbihlLHQpe3Muc3R5bGVbIm92ZXJmbG93Iit0XT1sLm92ZXJmbG93W2VdfSkpLGwuaGlkZSYmaShzKS5oaWRlKCksbC5oaWRlfHxsLnNob3cpZm9yKHQgaW4gbC5hbmltYXRlZFByb3BlcnRpZXMpaS5zdHlsZShzLHQsbC5vcmlnW3RdKSxpLnJlbW92ZURhdGEocywiZnhzaG93Iit0LCEwKSxpLnJlbW92ZURhdGEocywidG9nZ2xlIit0LCEwKTsocj1sLmNvbXBsZXRlKSYmKGwuY29tcGxldGU9ITEsci5jYWxsKHMpKX1yZXR1cm4hMX1yZXR1cm4gbC5kdXJhdGlvbj09MS8wP3RoaXMubm93PW86KG49by10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPW4vbC5kdXJhdGlvbix0aGlzLnBvcz1pLmVhc2luZ1tsLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLG4sMCwxLGwuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpLCEwfX0saS5leHRlbmQoaS5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PWkudGltZXJzLG49MDtuPHQubGVuZ3RoO24rKykoZT10W25dKSgpfHx0W25dIT09ZXx8dC5zcGxpY2Uobi0tLDEpO3QubGVuZ3RofHxpLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoWmUpLFplPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2UuZWxlbS5zdHlsZSYmbnVsbCE9ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtLnN0eWxlW2UucHJvcF09ZS5ub3crZS51bml0OmUuZWxlbVtlLnByb3BdPWUubm93fX19KSxpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0KSwoZnVuY3Rpb24oZSx0KXt0LmluZGV4T2YoIm1hcmdpbiIpJiYoaS5meC5zdGVwW3RdPWZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLHQsTWF0aC5tYXgoMCxlLm5vdykrZS51bml0KX0pfSkpLGkuZXhwciYmaS5leHByLmZpbHRlcnMmJihpLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gaS5ncmVwKGkudGltZXJzLChmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pKS5sZW5ndGh9KTt2YXIgdXQsY3Q9L150KD86YWJsZXxkfGgpJC9pLGZ0PS9eKD86Ym9keXxodG1sKSQvaTtmdW5jdGlvbiBkdChlKXsKcmV0dXJuIGkuaXNXaW5kb3coZSk/ZTo5PT09ZS5ub2RlVHlwZSYmKGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93KX11dD0iZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIHQuZG9jdW1lbnRFbGVtZW50P2Z1bmN0aW9uKGUsdCxuLHIpe3RyeXtyPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFyfHwhaS5jb250YWlucyhuLGUpKXJldHVybiByP3t0b3A6ci50b3AsbGVmdDpyLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBvPXQuYm9keSxhPWR0KHQpLHM9bi5jbGllbnRUb3B8fG8uY2xpZW50VG9wfHwwLGw9bi5jbGllbnRMZWZ0fHxvLmNsaWVudExlZnR8fDAsdT1hLnBhZ2VZT2Zmc2V0fHxpLnN1cHBvcnQuYm94TW9kZWwmJm4uc2Nyb2xsVG9wfHxvLnNjcm9sbFRvcCxjPWEucGFnZVhPZmZzZXR8fGkuc3VwcG9ydC5ib3hNb2RlbCYmbi5zY3JvbGxMZWZ0fHxvLnNjcm9sbExlZnQ7cmV0dXJue3RvcDpyLnRvcCt1LXMsbGVmdDpyLmxlZnQrYy1sfX06ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUub2Zmc2V0UGFyZW50LGE9dC5ib2R5LHM9dC5kZWZhdWx0VmlldyxsPXM/cy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk6ZS5jdXJyZW50U3R5bGUsdT1lLm9mZnNldFRvcCxjPWUub2Zmc2V0TGVmdDsoZT1lLnBhcmVudE5vZGUpJiZlIT09YSYmZSE9PW4mJighaS5zdXBwb3J0LmZpeGVkUG9zaXRpb258fCJmaXhlZCIhPT1sLnBvc2l0aW9uKTspcj1zP3MuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLHUtPWUuc2Nyb2xsVG9wLGMtPWUuc2Nyb2xsTGVmdCxlPT09byYmKHUrPWUub2Zmc2V0VG9wLGMrPWUub2Zmc2V0TGVmdCwhaS5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXJ8fGkuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmY3QudGVzdChlLm5vZGVOYW1lKXx8KHUrPXBhcnNlRmxvYXQoci5ib3JkZXJUb3BXaWR0aCl8fDAsYys9cGFyc2VGbG9hdChyLmJvcmRlckxlZnRXaWR0aCl8fDApLG89ZS5vZmZzZXRQYXJlbnQpLGkuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJiJ2aXNpYmxlIiE9PXIub3ZlcmZsb3cmJih1Kz1wYXJzZUZsb2F0KHIuYm9yZGVyVG9wV2lkdGgpfHwwLGMrPXBhcnNlRmxvYXQoci5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxsPXI7cmV0dXJuInJlbGF0aXZlIiE9PWwucG9zaXRpb24mJiJzdGF0aWMiIT09bC5wb3NpdGlvbnx8KHUrPWEub2Zmc2V0VG9wLGMrPWEub2Zmc2V0TGVmdCksaS5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJiJmaXhlZCI9PT1sLnBvc2l0aW9uJiYodSs9TWF0aC5tYXgobi5zY3JvbGxUb3AsYS5zY3JvbGxUb3ApLGMrPU1hdGgubWF4KG4uc2Nyb2xsTGVmdCxhLnNjcm9sbExlZnQpKSx7dG9wOnUsbGVmdDpjfX0saS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pKTt2YXIgdD10aGlzWzBdLG49dCYmdC5vd25lckRvY3VtZW50O3JldHVybiBuP3Q9PT1uLmJvZHk/aS5vZmZzZXQuYm9keU9mZnNldCh0KTp1dCh0LG4sbi5kb2N1bWVudEVsZW1lbnQpOm51bGx9LGkub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0VG9wLG49ZS5vZmZzZXRMZWZ0O3JldHVybiBpLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJih0Kz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpblRvcCIpKXx8MCxuKz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDApLHt0b3A6dCxsZWZ0Om59fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkuY3NzKGUsInBvc2l0aW9uIik7InN0YXRpYyI9PT1yJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgbyxhLHM9aShlKSxsPXMub2Zmc2V0KCksdT1pLmNzcyhlLCJ0b3AiKSxjPWkuY3NzKGUsImxlZnQiKSxmPXt9LGQ9e307KCJhYnNvbHV0ZSI9PT1yfHwiZml4ZWQiPT09cikmJmkuaW5BcnJheSgiYXV0byIsW3UsY10pPi0xPyhvPShkPXMucG9zaXRpb24oKSkudG9wLGE9ZC5sZWZ0KToobz1wYXJzZUZsb2F0KHUpfHwwLGE9cGFyc2VGbG9hdChjKXx8MCksaS5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLGwpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLWwudG9wK28pLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtbC5sZWZ0K2EpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOnMuY3NzKGYpfX0saS5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGU9dGhpc1swXSx0PXRoaXMub2Zmc2V0UGFyZW50KCksbj10aGlzLm9mZnNldCgpLHI9ZnQudGVzdCh0WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTp0Lm9mZnNldCgpO3JldHVybiBuLnRvcC09cGFyc2VGbG9hdChpLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDAsbi5sZWZ0LT1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDAsci50b3ArPXBhcnNlRmxvYXQoaS5jc3ModFswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsci5sZWZ0Kz1wYXJzZUZsb2F0KGkuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MCx7dG9wOm4udG9wLXIudG9wLGxlZnQ6bi5sZWZ0LXIubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fHQuYm9keTtlJiYhZnQudGVzdChlLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1pLmNzcyhlLCJwb3NpdGlvbiIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfSkpfX0pLGkuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0vWS8udGVzdCh0KTtpLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHIsbyl7dmFyIGE9ZHQoZSkKO2lmKHZvaWQgMD09PW8pcmV0dXJuIGE/dCBpbiBhP2FbdF06aS5zdXBwb3J0LmJveE1vZGVsJiZhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtyXXx8YS5kb2N1bWVudC5ib2R5W3JdOmVbcl07YT9hLnNjcm9sbFRvKG4/aShhKS5zY3JvbGxMZWZ0KCk6byxuP286aShhKS5zY3JvbGxUb3AoKSk6ZVtyXT1vfSksZSxyLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGkuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPSJjbGllbnQiK2Uscj0ic2Nyb2xsIitlLG89Im9mZnNldCIrZTtpLmZuWyJpbm5lciIrZV09ZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiBlP2Uuc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhlLHQsInBhZGRpbmciKSk6dGhpc1t0XSgpOm51bGx9LGkuZm5bIm91dGVyIitlXT1mdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdO3JldHVybiBuP24uc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhuLHQsZT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbdF0oKTpudWxsfSxpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsYSl7dmFyIHMsbCx1LGM7cmV0dXJuIGkuaXNXaW5kb3coZSk/KGw9KHM9ZS5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50W25dLGkuc3VwcG9ydC5ib3hNb2RlbCYmbHx8cy5ib2R5JiZzLmJvZHlbbl18fGwpOjk9PT1lLm5vZGVUeXBlPyhzPWUuZG9jdW1lbnRFbGVtZW50KVtuXT49c1tyXT9zW25dOk1hdGgubWF4KGUuYm9keVtyXSxzW3JdLGUuYm9keVtvXSxzW29dKTp2b2lkIDA9PT1hPyh1PWkuY3NzKGUsdCksYz1wYXJzZUZsb2F0KHUpLGkuaXNOdW1lcmljKGMpP2M6dSk6dm9pZCBpKGUpLmNzcyh0LGEpfSksdCxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGUuZXhwb3J0cz13aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/22974.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.681Z","timestamp":1785136428681,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/22974.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 446\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 14 Dec 2022 06:25:07 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:05:26 GMT\r\netag: \"a062e2c769af25c180143b158a03c7c9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11303\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 0fRX6ERQFV8C8PFoFq6qgIxD3_O7EbFWG97mYhnHkvGO7x_VxBZLPA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":446,"size_decoded":979,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"a062e2c769af25c180143b158a03c7c9","sha1":"a68c0d9392a682c3aa6104b07e02dfb915527ac1","sha256":"3ec5fbbd218e9cef5b494c2df9a4426542b226f062c967a6fdffaff7f98e3244","sha512":"833130dc07ece584b5c50f65be06eda012db68a1c8b8778ee1991b6ae5e61aa5d46af9032d8c38edbb98e6fa3fbfaaf8dfe77e8cb8011cc4a3c4833ada588cd8","ssdeep":"","tlshash":"d7f0dcd2e282a1869b85e6e2a80070af89348ca1f3415509c890f22a2f378aa43437a1","first_seen":"2025-01-10T18:56:09.115311Z","last_seen":"2026-08-11T04:47:30.117877Z","times_seen":1525,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABhUlEQVR4Xu2Zi06DQBBFF8rTGiVq/P8/JGogiMDYpSLmEq22bLdm7kmmtLeb0J4OJQxGlGMw0AYFYKANCsBAGxSAgTYoAANtUAAG2qAADLRBARhogwIw0AYFYKCNswhomgajPzHsqusH6e2TlXEuIEkSiaJI0jQ9upI0F2PCUcTaOBNgjBk/+FplBfyLDui6TsIwXHyBUyrPc2nbFne1Ck4EHPr1o3jX2tmV3BZ3i/emipNsXBOEEe5iVZwIsH96tlt/qu31zSL7Wk/PL/PrwT66YXUBB/k4kG0XhJt43PrEq4Cp3YuikLIsYeF5uAgBmyiR1/YNFp6HixBgy8Up7jdQAAbOoQAKGDcUQAEUQAEUQAEUoFCA7K/vp1mfrfuHx/G63wdeBFisADvnm7sgk77vcZlzvAio61qqqgIBuTgc/HyLFwETdnwWBMGngCzf4hLneBUwTwD3nHoD5Rg8C/APBWCgDQrAQBsUgIE2KAADbVAABtqgAAy0QQEYaIMCMNCGegHveof2oBXRtqkAAAAASUVORK5CYII="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53297.a6f6547cdad8d37971fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.313Z","timestamp":1785136429313,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53297.a6f6547cdad8d37971fc.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-103a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7f3514d58295da7cc3248ad04fb18068\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":66470,"size_decoded":23266,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"c6a3f4550b8b4efa1a9ac0a26ab757a6","sha1":"376e5c7e4bf11c4c576ba0a644af8f841f17c662","sha256":"e673211228f9cec0ee6b36576c556da8959897ff56e4baa281606d9694f888fc","sha512":"fbe34869d39b17339388031748218f6816d1fe3b5a9dea653c536c49ea8fa574d3164227efd1dceb114737127e80c52c98fa1f254d7bbc7863dcf4fb37759723","ssdeep":"1536:QGwKmjvbKAmbj5HdO/Z8y+xp2PFg4PPNn42M:9XA299O/Z8DxpyFg4PP6b","tlshash":"ee535c40b160b0fc45e7809ad52f049ae33b1558b46648e8f53ddcec2a9adcdb267e7c","first_seen":"2026-07-24T11:36:48.185143Z","last_seen":"2026-07-28T06:17:53.363963Z","times_seen":103,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTk2NCw1MzI5Nyw2MzU5NV0sezg1MzMzNihlLHQpe3ZhciBvLG4scztuPVt0XSxvPWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgdD0wLG89QXJyYXkoZS5sZW5ndGgpO3Q8ZS5sZW5ndGg7dCsrKW9bdF09ZVt0XTtyZXR1cm4gb31yZXR1cm4gQXJyYXkuZnJvbShlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG89ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBuPXtnZXQgcGFzc2l2ZSgpe289ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsbiksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLG4pfXZhciBzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksaT1bXSxyPSExLGE9LTEsbD12b2lkIDAsYz12b2lkIDAsdT1mdW5jdGlvbihlKXtyZXR1cm4gaS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4hKCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCF0Lm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUoZSkpfSkpfSxkPWZ1bmN0aW9uKGUpe3ZhciB0PWV8fHdpbmRvdy5ldmVudDtyZXR1cm4hIXUodC50YXJnZXQpfHwxPHQudG91Y2hlcy5sZW5ndGh8fCh0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1jJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9YyxjPXZvaWQgMCksdm9pZCAwIT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9bCxsPXZvaWQgMCl9KSl9O2UuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSxuKXtpZihzKXtpZighZSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKGUmJiFpLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldEVsZW1lbnQ9PT1lfSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDplLG9wdGlvbnM6bnx8e319O2k9W10uY29uY2F0KHQoaSksW2hdKSxlLm9udG91Y2hzdGFydD1mdW5jdGlvbihlKXsxPT09ZS50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSxlLm9udG91Y2htb3ZlPWZ1bmN0aW9uKHQpe3ZhciBvLG4scyxpOzE9PT10LnRhcmdldFRvdWNoZXMubGVuZ3RoJiYobj1lLGk9KG89dCkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIXUoby50YXJnZXQpJiYobiYmMD09PW4uc2Nyb2xsVG9wJiYwPGl8fChzPW4pJiZzLnNjcm9sbEhlaWdodC1zLnNjcm9sbFRvcDw9cy5jbGllbnRIZWlnaHQmJmk8MD9kKG8pOm8uc3RvcFByb3BhZ2F0aW9uKCkpKX0scnx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZCxvP3twYXNzaXZlOiExfTp2b2lkIDApLHI9ITApfX1lbHNle209bixzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWMpe3ZhciBlPSEhbSYmITA9PT1tLnJlc2VydmVTY3JvbGxCYXJHYXAsdD13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZSYmMDx0JiYoYz1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD10KyJweCIpfXZvaWQgMD09PWwmJihsPWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIHA9e3RhcmdldEVsZW1lbnQ6ZSxvcHRpb25zOm58fHt9fTtpPVtdLmNvbmNhdCh0KGkpLFtwXSl9dmFyIG19LGUuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtzPyhpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCxlLnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSksaT1bXSxhPS0xKTooaCgpLGk9W10pfSxlLmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24oZSl7aWYocyl7aWYoIWUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7ZS5vbnRvdWNoc3RhcnQ9bnVsbCxlLm9udG91Y2htb3ZlPW51bGwsaT1pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0RWxlbWVudCE9PWV9KSksciYmMD09PWkubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixkLG8/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscj0hMSl9ZWxzZSAxPT09aS5sZW5ndGgmJmlbMF0udGFyZ2V0RWxlbWVudD09PWU/KGgoKSxpPVtdKTppPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXRFbGVtZW50IT09ZX0pKX19LHZvaWQgMD09PShzPSJmdW5jdGlvbiI9PXR5cGVvZiBvP28uYXBwbHkodCxuKTpvKXx8KGUuZXhwb3J0cz1zKX0sOTU4NjM5KGUpe2UuZXhwb3J0cz17bWVudVdyYXA6Im1lbnVXcmFwLWxCSXhJd3R6Iixpc01lYXN1cmluZzoiaXNNZWFzdXJpbmctbEJJeEl3dHoiLHNjcm9sbFdyYXA6InNjcm9sbFdyYXAtbEJJeEl3dHoiLG1vbWVudHVtQmFzZWQ6Im1vbWVudHVtQmFzZWQtbEJJeEl3dHoiLG1lbnVCb3g6Im1lbnVCb3gtbEJJeEl3dHoiLAppc0hpZGRlbjoiaXNIaWRkZW4tbEJJeEl3dHoifX0sNDcwMjk1KGUpe2UuZXhwb3J0cz17InRhYmxldC1zbWFsbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNDQwcHgpIixpdGVtOiJpdGVtLU1pMF90NXVOIixob3ZlcmVkOiJob3ZlcmVkLU1pMF90NXVOIixpc0Rpc2FibGVkOiJpc0Rpc2FibGVkLU1pMF90NXVOIixpc0FjdGl2ZToiaXNBY3RpdmUtTWkwX3Q1dU4iLHNob3J0Y3V0OiJzaG9ydGN1dC1NaTBfdDV1TiIsdG9vbGJveDoidG9vbGJveC1NaTBfdDV1TiIsd2l0aEljb246IndpdGhJY29uLU1pMF90NXVOIiwicm91bmQtaWNvbiI6InJvdW5kLWljb24tTWkwX3Q1dU4iLGljb246Imljb24tTWkwX3Q1dU4iLHN0YXJ0U2xvdDoic3RhcnRTbG90LU1pMF90NXVOIixsYWJlbFJvdzoibGFiZWxSb3ctTWkwX3Q1dU4iLGxhYmVsOiJsYWJlbC1NaTBfdDV1TiIsc2hvd09uSG92ZXI6InNob3dPbkhvdmVyLU1pMF90NXVOIiwiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIjoiZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvLU1pMF90NXVOIixzaG93T25Gb2N1czoic2hvd09uRm9jdXMtTWkwX3Q1dU4ifX0sNzYxMDkzKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLW5ma0dtN05HIn19LDk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0MjQyNjIoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1zWHNwWk5uWiIsaG92ZXI6ImhvdmVyLXNYc3BaTm5aIixjbGlja2VkOiJjbGlja2VkLXNYc3BaTm5aIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXNYc3BaTm5aIixhcnJvdzoiYXJyb3ctc1hzcFpObloiLGFycm93V3JhcDoiYXJyb3dXcmFwLXNYc3BaTm5aIixpc09wZW5lZDoiaXNPcGVuZWQtc1hzcFpObloifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSw4MTAyODEoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLVdCMnkwRW5QIixkcm9wcGVkOiJkcm9wcGVkLVdCMnkwRW5QIn19LDQwNjExMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtNYXRjaE1lZGlhOigpPT5zfSk7dmFyIG49byg3Nzk0NzQpO2NsYXNzIHMgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLnN0YXRlPXtxdWVyeTp3aW5kb3cubWF0Y2hNZWRpYSh0aGlzLnByb3BzLnJ1bGUpfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnN0YXRlLnF1ZXJ5IT09dC5xdWVyeSYmKHRoaXMuX3Vuc3Vic2NyaWJlKHQucXVlcnkpLHRoaXMuX3N1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl91bnN1YnNjcmliZSh0aGlzLnN0YXRlLnF1ZXJ5KX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbih0aGlzLnN0YXRlLnF1ZXJ5Lm1hdGNoZXMpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoZSx0KXtyZXR1cm4gZS5ydWxlIT09dC5xdWVyeS5tZWRpYT97cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEoZS5ydWxlKX06bnVsbH1fc3Vic2NyaWJlKGUpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfV91bnN1YnNjcmliZShlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX19fSw2ODEyMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWVudUNvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSwxNDUxNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9NRU5VX1RIRU1FOigpPT5mLE1lbnU6KCk9PmJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDkxNDQ4NyksaT1vLm4ocykscj1vKDEzODYzOCksYT1vKDYwNzgzMiksbD1vKDkwMzQyKSxjPW8oODkxMjA5KSx1PW8oNjQwNzQ0KSxkPW8oNTE4NzUpLGg9byg3MjcwOSkscD1vKDI3NjAxOSksbT1vKDY4MTIyNCksdj1vKDk1ODYzOSk7Y29uc3QgZj12O3ZhciBnOyFmdW5jdGlvbihlKXtlW2UuSW5kZW50RnJvbVdpbmRvdz0wXT0iSW5kZW50RnJvbVdpbmRvdyJ9KGd8fChnPXt9KSk7Y2xhc3MgYiBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb250YWluZXJSZWY9bnVsbCx0aGlzLl9zY3JvbGxXcmFwUmVmPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fc2Nyb2xsUmFmPW51bGwsdGhpcy5fc2Nyb2xsVGltZW91dD12b2lkIDAsdGhpcy5fbWFuYWdlcj1uZXcgbC5PdmVybGFwTWFuYWdlcix0aGlzLl9ob3RrZXlzPW51bGwsCnRoaXMuX3Njcm9sbD0wLHRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZj1lPT57dGhpcy5fY29udGFpbmVyUmVmPWUsdGhpcy5wcm9wcy5yZWZlcmVuY2UmJigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJnRoaXMucHJvcHMucmVmZXJlbmNlKGUpLCJvYmplY3QiPT10eXBlb2YgdGhpcy5wcm9wcy5yZWZlcmVuY2UmJih0aGlzLnByb3BzLnJlZmVyZW5jZS5jdXJyZW50PWUpKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnNjcm9sbFdyYXBSZWZlcmVuY2UmJnRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZShlKSwib2JqZWN0Ij09dHlwZW9mIHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZSYmKHRoaXMucHJvcHMuc2Nyb2xsV3JhcFJlZmVyZW5jZS5jdXJyZW50PWUpfSx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZT0oKT0+e3RoaXMuX3Jlc2l6ZUZvcmNlZCgpLHRoaXMuX2hhbmRsZU1lYXN1cmUoKX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oe2NhbGxiYWNrOmUsZm9yY2VSZWNhbGNQb3NpdGlvbjp0fT17fSk9PntpZih0aGlzLnN0YXRlLmlzTWVhc3VyZVZhbGlkJiYhdClyZXR1cm47Y29uc3R7cG9zaXRpb246b309dGhpcy5wcm9wcyxuPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyUmVmKTtsZXQgcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxhPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPXRoaXMucHJvcHMuY2xvc2VPblNjcm9sbE91dHNpZGVPZmZzZXQ/PzA7bGV0IGM9aS0wLWw7Y29uc3QgZD1zLmhlaWdodD5jO2lmKGQpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Nyb2xsV3JhcFJlZikuc3R5bGUub3ZlcmZsb3dZPSJzY3JvbGwiLHM9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jb25zdHt3aWR0aDpoLGhlaWdodDpwfT1zLG09ImZ1bmN0aW9uIj09dHlwZW9mIG8/byh7Y29udGVudFdpZHRoOmgsY29udGVudEhlaWdodDpwLGF2YWlsYWJsZVdpZHRoOmEsYXZhaWxhYmxlSGVpZ2h0Oml9KTpvLHY9bT8uaW5kZW50RnJvbVdpbmRvdz8ubGVmdD8/MCxmPWEtKG0ub3ZlcnJpZGVXaWR0aD8/aCktKG0/LmluZGVudEZyb21XaW5kb3c/LnJpZ2h0Pz8wKSxnPSgwLHUuY2xhbXApKG0ueCx2LE1hdGgubWF4KHYsZikpLGI9KG0/LmluZGVudEZyb21XaW5kb3c/LnRvcD8/MCkrbCx3PWktKG0ub3ZlcnJpZGVIZWlnaHQ/P3ApLShtPy5pbmRlbnRGcm9tV2luZG93Py5ib3R0b20/PzApO2xldCB5PSgwLHUuY2xhbXApKG0ueSxiLE1hdGgubWF4KGIsdykpO2lmKG0uZm9yYmlkQ29ycmVjdFlDb29yZCYmeTxtLnkmJihjLT1tLnkteSx5PW0ueSksdCYmdm9pZCAwIT09dGhpcy5wcm9wcy5jbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldCYmbS55PD10aGlzLnByb3BzLmNsb3NlT25TY3JvbGxPdXRzaWRlT2Zmc2V0KXJldHVybiB2b2lkIHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCEwKTtjb25zdCBfPW0ub3ZlcnJpZGVIZWlnaHQ/PyhkP2M6dm9pZCAwKTt0aGlzLnNldFN0YXRlKHthcHBlYXJpbmdNZW51SGVpZ2h0OnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51SGVpZ2h0Ol8sYXBwZWFyaW5nTWVudVdpZHRoOnQ/dGhpcy5zdGF0ZS5hcHBlYXJpbmdNZW51V2lkdGg6bS5vdmVycmlkZVdpZHRoLGFwcGVhcmluZ1Bvc2l0aW9uOnt4OmcseX0saXNNZWFzdXJlVmFsaWQ6ITB9LCgoKT0+e3RoaXMucHJvcHMuZG9Ob3RSZXN0b3JlUG9zaXRpb258fHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3NpdGlvbigpLGUmJmUoKX0pKX0sdGhpcy5fcmVzdG9yZVNjcm9sbFBvc2l0aW9uPSgpPT57Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpO2Uuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbDtjb25zdCB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbz0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NvbnRhaW5lclJlZik7aWYodCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZvLmNvbnRhaW5zKHQpJiYhdGhpcy5faXNFbGVtZW50RnVsbHlWaXNpYmxlKHQsZSkpdHJ5e3Quc2Nyb2xsSW50b1ZpZXcoKX1jYXRjaChlKXt9fSx0aGlzLl9pc0VsZW1lbnRGdWxseVZpc2libGU9KGUsdCk9Pntjb25zdCBvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBvLnRvcD49bi50b3AmJm8uYm90dG9tPD1uLmJvdHRvbX0sdGhpcy5fcmVzaXplRm9yY2VkPSgpPT57dGhpcy5zZXRTdGF0ZSh7YXBwZWFyaW5nTWVudUhlaWdodDp2b2lkIDAsYXBwZWFyaW5nTWVudVdpZHRoOnZvaWQgMCxhcHBlYXJpbmdQb3NpdGlvbjp2b2lkIDAsaXNNZWFzdXJlVmFsaWQ6dm9pZCAwfSl9LHRoaXMuX3Jlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9yYWYmJih0aGlzLl9yYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuc2V0U3RhdGUoe2FwcGVhcmluZ01lbnVIZWlnaHQ6dm9pZCAwLGFwcGVhcmluZ01lbnVXaWR0aDp2b2lkIDAsYXBwZWFyaW5nUG9zaXRpb246dm9pZCAwLGlzTWVhc3VyZVZhbGlkOnZvaWQgMH0pLHRoaXMuX3JhZj1udWxsfSkpKX0sdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2U9ZT0+e3RoaXMucHJvcHMub25DbG9zZShlKX0sdGhpcy5faGFuZGxlU2xvdD1lPT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIoZSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e3RoaXMuX3Njcm9sbD0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Njcm9sbFdyYXBSZWYpLnNjcm9sbFRvcH0sdGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZD0oKT0+e2NsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxUaW1lb3V0KSx0aGlzLl9zY3JvbGxUaW1lb3V0PXNldFRpbWVvdXQoKCgpPT57dGhpcy5faGFuZGxlTWVhc3VyZSh7Zm9yY2VSZWNhbGNQb3NpdGlvbjohMH0pfSksODApfSx0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlPWU9PnsKZS50YXJnZXQhPT10aGlzLl9zY3JvbGxXcmFwUmVmJiYodGhpcy5faGFuZGxlU2Nyb2xsT3V0c2lkZUVuZCgpLG51bGw9PT10aGlzLl9zY3JvbGxSYWYmJih0aGlzLl9zY3JvbGxSYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2hhbmRsZU1lYXN1cmUoe2ZvcmNlUmVjYWxjUG9zaXRpb246ITB9KSx0aGlzLl9zY3JvbGxSYWY9bnVsbH0pKSkpfSx0aGlzLnN0YXRlPXt9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faGFuZGxlTWVhc3VyZSh7Y2FsbGJhY2s6dGhpcy5wcm9wcy5vbk9wZW59KTtjb25zdHtjdXN0b21DbG9zZURlbGVnYXRlOmU9cC5nbG9iYWxDbG9zZURlbGVnYXRlLGN1c3RvbVJlbWVhc3VyZURlbGVnYXRlOnR9PXRoaXMucHJvcHM7ZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8uc3Vic2NyaWJlKG51bGwsdGhpcy5faGFuZGxlQ3VzdG9tUmVtZWFzdXJlRGVsZWdhdGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZSk7Y29uc3Qgbz1udWxsIT09dGhpcy5jb250ZXh0O3RoaXMuX2hvdGtleXN8fG98fCh0aGlzLl9ob3RrZXlzPWguY3JlYXRlR3JvdXAoe2Rlc2M6IlBvcHVwIG1lbnUifSksdGhpcy5faG90a2V5cy5hZGQoe2Rlc2M6IkNsb3NlIixob3RrZXk6MjcsaGFuZGxlcjooKT0+e3RoaXMucHJvcHMub25LZXlib2FyZENsb3NlJiZ0aGlzLnByb3BzLm9uS2V5Ym9hcmRDbG9zZSgpLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKCl9fSkpLHRoaXMucHJvcHMucmVwb3NpdGlvbk9uU2Nyb2xsJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5faGFuZGxlTWVhc3VyZSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y3VzdG9tQ2xvc2VEZWxlZ2F0ZTplPXAuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTp0fT10aGlzLnByb3BzO2UudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZSksdD8udW5zdWJzY3JpYmUobnVsbCx0aGlzLl9oYW5kbGVDdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9oYW5kbGVTY3JvbGxPdXRzaWRlLHtjYXB0dXJlOiEwfSksdGhpcy5faG90a2V5cyYmKHRoaXMuX2hvdGtleXMuZGVzdHJveSgpLHRoaXMuX2hvdGtleXM9bnVsbCksbnVsbCE9PXRoaXMuX3JhZiYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZiksdGhpcy5fcmFmPW51bGwpLG51bGwhPT10aGlzLl9zY3JvbGxSYWYmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxSYWYpLHRoaXMuX3Njcm9sbFJhZj1udWxsKSx0aGlzLl9zY3JvbGxUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsVGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxyb2xlOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjpyLCJhcmlhLWhpZGRlbiI6bCwiYXJpYS1kZXNjcmliZWRieSI6dSwiYXJpYS1pbnZhbGlkIjpoLGNoaWxkcmVuOnAsbWluV2lkdGg6Zix0aGVtZTpnPXYsY2xhc3NOYW1lOmIsbWF4SGVpZ2h0Onksb25Nb3VzZU92ZXI6Xyxvbk1vdXNlT3V0Ongsb25LZXlEb3duOkUsb25Gb2N1czpDLG9uQmx1cjpTfT10aGlzLnByb3BzLHthcHBlYXJpbmdNZW51SGVpZ2h0Ok0sYXBwZWFyaW5nTWVudVdpZHRoOkEsYXBwZWFyaW5nUG9zaXRpb246ayxpc01lYXN1cmVWYWxpZDpOfT10aGlzLnN0YXRlLEQ9eyItLXVpLWtpdC1tZW51LW1heC13aWR0aCI6YCR7ayYmay54fXB4YCxtYXhXaWR0aDoiY2FsYygxMDB2dyAtIHZhcigtLXVpLWtpdC1tZW51LW1heC13aWR0aCkgLSA2cHgpIn07cmV0dXJuIG4uY3JlYXRlRWxlbWVudChtLk1lbnVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSxuLmNyZWF0ZUVsZW1lbnQoYy5TdWJtZW51SGFuZGxlcixudWxsLG4uY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOmUscm9sZTp0LCJhcmlhLWxhYmVsIjpvLCJhcmlhLWxhYmVsbGVkYnkiOnMsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6ciwiYXJpYS1oaWRkZW4iOmwsImFyaWEtZGVzY3JpYmVkYnkiOnUsImFyaWEtaW52YWxpZCI6aCxjbGFzc05hbWU6aSgpKGIsZy5tZW51V3JhcCwhTiYmZy5pc01lYXN1cmluZyksc3R5bGU6e2hlaWdodDpNLGxlZnQ6ayYmay54LG1pbldpZHRoOmYscG9zaXRpb246ImZpeGVkIix0b3A6ayYmay55LHdpZHRoOkEsLi4udGhpcy5wcm9wcy5saW1pdE1heFdpZHRoJiZEfSwiZGF0YS1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLW5hbWUiXSwiZGF0YS1xYS1pZCI6dGhpcy5wcm9wcy5kYXRhUWFJZCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOnRoaXMucHJvcHNbImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIl0scmVmOnRoaXMuX2hhbmRsZUNvbnRhaW5lclJlZixvblNjcm9sbENhcHR1cmU6dGhpcy5wcm9wcy5vblNjcm9sbCxvbkNvbnRleHRNZW51OmQucHJldmVudERlZmF1bHRGb3JDb250ZXh0TWVudSx0YWJJbmRleDp0aGlzLnByb3BzLnRhYkluZGV4LG9uTW91c2VPdmVyOl8sb25Nb3VzZU91dDp4LG9uS2V5RG93bjpFLG9uRm9jdXM6QyxvbkJsdXI6U30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGcuc2Nyb2xsV3JhcCwhdGhpcy5wcm9wcy5ub01vbWVudHVtQmFzZWRTY3JvbGwmJmcubW9tZW50dW1CYXNlZCksc3R5bGU6e292ZXJmbG93WTp2b2lkIDAhPT1NPyJzY3JvbGwiOiJhdXRvIixtYXhIZWlnaHQ6eX0sb25TY3JvbGxDYXB0dXJlOnRoaXMuX2hhbmRsZVNjcm9sbCxyZWY6dGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZn0sbi5jcmVhdGVFbGVtZW50KHcse2NsYXNzTmFtZTpnLm1lbnVCb3h9LHApKSkpLG4uY3JlYXRlRWxlbWVudChhLlNsb3QsewpyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKSl9dXBkYXRlKGUpe2U/dGhpcy5fcmVzaXplRm9yY2VkKCk6dGhpcy5fcmVzaXplKCl9Zm9jdXMoZSl7dGhpcy5fY29udGFpbmVyUmVmPy5mb2N1cyhlKX1ibHVyKCl7dGhpcy5fY29udGFpbmVyUmVmPy5ibHVyKCl9fWZ1bmN0aW9uIHcoZSl7Y29uc3QgdD0oMCxyLmVuc3VyZU5vdE51bGwpKCgwLG4udXNlQ29udGV4dCkoYy5TdWJtZW51Q29udGV4dCkpLG89bi51c2VSZWYobnVsbCk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOm8sY2xhc3NOYW1lOmUuY2xhc3NOYW1lLG9uTW91c2VPdmVyOmZ1bmN0aW9uKGUpe2lmKCEobnVsbCE9PXQuY3VycmVudCYmZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiYobj1lLnRhcmdldCxvLmN1cnJlbnQ/LmNvbnRhaW5zKG4pKSkpcmV0dXJuO3ZhciBuO3QuaXNTdWJtZW51Tm9kZShlLnRhcmdldCl8fHQuc2V0Q3VycmVudChudWxsKX0sImRhdGEtcWEtaWQiOiJtZW51LWlubmVyIn0sZS5jaGlsZHJlbil9Yi5jb250ZXh0VHlwZT1jLlN1Ym1lbnVDb250ZXh0fSwxNTM3MzQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUU6KCk9PnUsUG9wdXBNZW51SXRlbTooKT0+aH0pO3ZhciBuPW8oNzc5NDc0KSxzPW8oOTE0NDg3KSxpPW8ubihzKSxyPW8oMzg3Nzc0KSxhPW8oODQ4OTg4KSxsPW8oMjc2MDE5KSxjPW8oNDcwMjk1KTtjb25zdCB1PWM7ZnVuY3Rpb24gZChlKXtlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoZSl7Y29uc3R7aWQ6dCxyb2xlOm8sY2xhc3NOYW1lOnMsdGl0bGU6dSxsYWJlbFJvd0NsYXNzTmFtZTpoLGxhYmVsQ2xhc3NOYW1lOnAsdG9vbGJveENsYXNzTmFtZTptLHNob3J0Y3V0OnYsZm9yY2VTaG93U2hvcnRjdXRzOmYsaWNvbjpnLGljb25DbGFzc25hbWU6Yixpc0FjdGl2ZTp3LGlzRGlzYWJsZWQ6eSxpc0hvdmVyZWQ6XyxhcHBlYXJBc0Rpc2FibGVkOngsbGFiZWw6RSxsaW5rOkMsc2hvd1Rvb2xib3hPbkhvdmVyOlMsc2hvd1Rvb2xib3hPbkZvY3VzOk0sdGFyZ2V0OkEscmVsOmssdG9vbGJveDpOLHRvb2xib3hSb2xlOkQscmVmZXJlbmNlOk8sb25Nb3VzZU91dDpQLG9uTW91c2VPdmVyOkwsb25LZXlEb3duOkIsc3VwcHJlc3NUb29sYm94Q2xpY2s6VD0hMCx0aGVtZTpSPWMsdGFiSW5kZXg6eix0YWdOYW1lOkYscmVuZGVyQ29tcG9uZW50Okkscm91bmRlZEljb246VyxpY29uQXJpYVByb3BzOkgsY2lyY2xlTG9nbzpWLGRvbnRDbG9zZVBvcHVwOlEsb25DbGljazpVLG9uQ2xpY2tBcmc6WixvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsc3RhcnRTbG90OkssZGF0YVFhSWQ6JCwuLi5qfT1lLFk9KDAsbi51c2VSZWYpKG51bGwpLFg9KDAsbi51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7Y29uc3R7cmVmZXJlbmNlOm8sLi4uc309dCxpPWU/PyhzLmhyZWY/ImEiOiJkaXYiKSxyPSJhIj09PWk/czpmdW5jdGlvbihlKXtjb25zdHtkb3dubG9hZDp0LGhyZWY6byxocmVmTGFuZzpuLG1lZGlhOnMscGluZzppLHJlbDpyLHRhcmdldDphLHR5cGU6bCxyZWZlcnJlclBvbGljeTpjLC4uLnV9PWU7cmV0dXJuIHV9KHMpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoaSx7Li4ucixyZWY6b30pfXJldHVybiB0LmRpc3BsYXlOYW1lPWBEZWZhdWx0Q29tcG9uZW50KCR7ZX0pYCx0fShGKSksW0ZdKSxKPUk/P1g7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChKLHsuLi5qLGlkOnQscm9sZTpvLGNsYXNzTmFtZTppKCkocyxSLml0ZW0sZyYmUi53aXRoSWNvbix7W1IuaXNBY3RpdmVdOncsW1IuaXNEaXNhYmxlZF06eXx8eCxbUi5ob3ZlcmVkXTpffSksdGl0bGU6dSxocmVmOkMsdGFyZ2V0OkEscmVsOmsscmVmZXJlbmNlOmZ1bmN0aW9uKGUpe1kuY3VycmVudD1lLCJmdW5jdGlvbiI9PXR5cGVvZiBPJiZPKGUpOyJvYmplY3QiPT10eXBlb2YgTyYmKE8uY3VycmVudD1lKX0sb25DbGljazpmdW5jdGlvbihlKXtpZih5KXJldHVybjtVJiZVKFosZSk7UXx8KGUuY3VycmVudFRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicG9wdXAtbWVudS1jbG9zZS1ldmVudCIse2J1YmJsZXM6ITAsZGV0YWlsOntjbGlja1R5cGU6KDAsYS5pc0tleWJvYXJkQ2xpY2spKGUpPyJrZXlib2FyZCI6Im1vdXNlIn19KSksKDAsbC5nbG9iYWxDbG9zZU1lbnUpKCkpfSxvbkNvbnRleHRNZW51OnEsb25Nb3VzZVVwOkcsb25Nb3VzZU92ZXI6TCxvbk1vdXNlT3V0OlAsb25LZXlEb3duOkIsdGFiSW5kZXg6eiwiZGF0YS1xYS1pZCI6JH0sViYmbi5jcmVhdGVFbGVtZW50KHIuQ2lyY2xlTG9nbyx7Li4uSCxjbGFzc05hbWU6Y1siZGlzY2xvc3VyZS1pdGVtLWNpcmNsZS1sb2dvIl0sc2l6ZToieHh4c21hbGwiLGxvZ29Vcmw6Vi5sb2dvVXJsLHBsYWNlaG9sZGVyTGV0dGVyOiJwbGFjZWhvbGRlckxldHRlciJpbiBWP1YucGxhY2Vob2xkZXJMZXR0ZXI6dm9pZCAwfSksSyYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlIuc3RhcnRTbG90fSxLKSxnJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsiYXJpYS1sYWJlbCI6SCYmSFsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6SCYmQm9vbGVhbihIWyJhcmlhLWhpZGRlbiJdKSxjbGFzc05hbWU6aSgpKFIuaWNvbixXJiZjWyJyb3VuZC1pY29uIl0sYiksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpnfX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoUi5sYWJlbFJvdyxoKX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShSLmxhYmVsLHApfSxFKSksKHZvaWQgMCE9PXZ8fGYpJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6Ui5zaG9ydGN1dH0sKGVlPXYpJiZlZS5zcGxpdCgiKyIpLmpvaW4oIiArICIpKSx2b2lkIDAhPT1OJiZuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOkQsb25DbGljazpUP2Q6dm9pZCAwLGNsYXNzTmFtZTppKCkobSxSLnRvb2xib3gse1tSLnNob3dPbkhvdmVyXTpTLFtSLnNob3dPbkZvY3VzXTpNfSl9LE4pKTt2YXIgZWV9fSw2MzI5OTIoZSx0LG8peyJ1c2Ugc3RyaWN0Igo7by5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyNzYwMTkpO2NvbnN0IGk9bi5jcmVhdGVDb250ZXh0KHMuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDgzNTk2NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtQb3B1cE1lbnU6KCk9Pmh9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDEyOTM2NSksaT1vKDkyODEzMikscj1vKDU4NTQ4KSxhPW8oMjM2NzY1KSxsPW8oMjI3OTQ5KSxjPW8oMTQ1MTUwKSx1PW8oNjMyOTkyKSxkPW8oMzAxOTM3KTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NvbnRyb2xsZXI6dCxjaGlsZHJlbjpvLGlzT3BlbmVkOmgsY2xvc2VPbkNsaWNrT3V0c2lkZTpwPSEwLGRvTm90Q2xvc2VPbjptLG9uQ2xpY2tPdXRzaWRlOnYsb25DbG9zZTpmLG9uS2V5Ym9hcmRDbG9zZTpnLGRhdGFRYUlkOmI9InBvcHVwLW1lbnUtY29udGFpbmVyIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3LC4uLnl9PWUsXz0oMCxuLnVzZUNvbnRleHQpKHUuQ2xvc2VEZWxlZ2F0ZUNvbnRleHQpLHg9bi51c2VDb250ZXh0KGwuTWVudVdpZHRoQ29udGV4dCksRT0oMCxuLnVzZUNvbnRleHQpKGQuUmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0KSxDPSgwLGEudXNlT3V0c2lkZUV2ZW50KSh7aGFuZGxlcjpmdW5jdGlvbihlKXt2JiZ2KGUpO2lmKCFwKXJldHVybjtjb25zdCB0PSgwLGkuZGVmYXVsdCkobSk/bSgpOm51bGw9PW0/W106W21dO2lmKHQubGVuZ3RoPjAmJmUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSlmb3IoY29uc3QgbyBvZiB0KXtjb25zdCB0PXMuZmluZERPTU5vZGUobyk7aWYodCBpbnN0YW5jZW9mIE5vZGUmJnQuY29udGFpbnMoZS50YXJnZXQpKXJldHVybn1mKCl9LG1vdXNlRG93bjohMCx0b3VjaFN0YXJ0OiEwfSk7cmV0dXJuIGg/bi5jcmVhdGVFbGVtZW50KHIuUG9ydGFsLHt0b3A6IjAiLGxlZnQ6IjAiLHJpZ2h0OiIwIixib3R0b206IjAiLHBvaW50ZXJFdmVudHM6Im5vbmUifSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyZWY6QyxzdHlsZTp7cG9pbnRlckV2ZW50czoiYXV0byJ9fSxuLmNyZWF0ZUVsZW1lbnQoYy5NZW51LHsuLi55LG9uQ2xvc2U6ZixvbktleWJvYXJkQ2xvc2U6ZyxvblNjcm9sbDpmdW5jdGlvbih0KXtjb25zdHtvblNjcm9sbDpvfT1lO28mJm8odCl9LGN1c3RvbUNsb3NlRGVsZWdhdGU6XyxjdXN0b21SZW1lYXN1cmVEZWxlZ2F0ZTpFLHJlZjp0LGRhdGFRYUlkOmIsbGltaXRNYXhXaWR0aDp4LnNldE1lbnVNYXhXaWR0aCwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIixjbG9zZU9uU2Nyb2xsT3V0c2lkZU9mZnNldDp3fSxvKSkpOm51bGx9fSwzMDE5MzcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UmVtZWFzdXJlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7Y29uc3Qgbj1vKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCh2b2lkIDApfSwxOTkxNzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldE1lbnVTdW1tYXJ5OigpPT5hfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg3NjEwOTMpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShlLmNsYXNzTmFtZSxyLnRpdGxlKX0sZS5jaGlsZHJlbil9fSw1NTgwMzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDg1MzMzNiksaT1vKDEzODYzOCkscj1vKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46bywuLi5pfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihyLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLHMuZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxzLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLml9LG8pfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBvPSgwLGkuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIW8uY29udGFpbnModCl8fG51bGwhPT1uJiZvLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDM4NzIzMShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0LG89e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LG89e30pe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1vW3NdfHxzO2kgaW4gZSYmKG5bc109W2VbaV0sdFtzXV0uam9pbigiICIpKX1yZXR1cm4gbn0oZSx0LG8pKX1vLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm59KX0sNTkwNDg2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0JhZGdlOigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9byg5Nzc3NyksYT1vLm4ocik7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6bywuLi5zfSl7cmV0dXJuIGU/bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm8sLi4uc30pOnQ/bi5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm8sLi4uc30pOm4uY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpvLC4uLnN9KX0KZnVuY3Rpb24gYyh7Y2xhc3NOYW1lOmUsc2l6ZTp0LGxlZnRTbG90Om8scmlnaHRTbG90OnMsY2hpbGRyZW46ciwuLi5jfSl7Y29uc3QgdT1pKCkoZSxhKCkuYmFkZ2UsdCYmYSgpW3RdLHImJmEoKS5oYXNDaGlsZHJlbik7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChsLHtjbGFzc05hbWU6dSwuLi5jfSxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0sbyksciYmbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmEoKS5jb250ZW50fSxyKSxzJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTphKCkuc2xvdH0scykpfX0sOTAwODQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbyxuLHMpe2Z1bmN0aW9uIGkocyl7aWYoZT5zLnRpbWVTdGFtcClyZXR1cm47Y29uc3QgaT1zLnRhcmdldDt2b2lkIDAhPT1vJiZudWxsIT09dCYmbnVsbCE9PWkmJmkub3duZXJEb2N1bWVudD09PW4mJih0LmNvbnRhaW5zKGkpfHxvKHMpKX1yZXR1cm4gcy5jbGljayYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSwhMSkscy5tb3VzZURvd24mJm4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpLCExKSxzLnRvdWNoRW5kJiZuLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLCExKSxzLnRvdWNoU3RhcnQmJm4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsaSwhMSksKCk9PntuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixpLCExKSxuLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsaSwhMSksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixpLCExKX19by5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5ufSl9LDIzNjc2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PnJ9KTt2YXIgbj1vKDc3OTQ3NCkscz1vKDYxNjMxMSksaT1vKDkwMDg0MSk7ZnVuY3Rpb24gcihlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphLGhhbmRsZXI6bCxyZWZlcmVuY2U6Y309ZSx1PSgwLG4udXNlUmVmKShudWxsKSxkPSgwLG4udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAscy51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpvLHRvdWNoRW5kOnIsdG91Y2hTdGFydDphfSxuPWM/Yy5jdXJyZW50OnUuY3VycmVudDtyZXR1cm4oMCxpLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbixsLGRvY3VtZW50LGUpfSksW3QsbyxyLGEsbF0pLGN8fHV9fSwyOTAyNDMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlU2FmZU1vYmlsZVRvdWNoOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9byg3Mzg0NTgpO2Z1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLG4udXNlU3RhdGUpKCExKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT57dChzLm1vYmlsZXRvdWNoKX0pLFtdKSxlfX0sMTE5NzUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ljb25RdWVzdGlvbkluZm9ybWF0aW9uOigpPT5DLEljb25RdWVzdGlvbkluZm9ybWF0aW9uQnV0dG9uOigpPT5TfSk7dmFyIG4scz1vKDc3OTQ3NCksaT1vKDkxNDQ4Nykscj1vLm4oaSksYT1vKDM0NTExNiksbD1vKDI3MzMxMCksYz1vKDc4NTk5NSksdT1vLm4oYyksZD1vKDUyNzIxOSksaD1vLm4oZCkscD1vKDY3MzA2NSksbT1vLm4ocCksdj1vKDQwMDA0NiksZj1vLm4odiksZz1vKDk5NDUpLGI9by5uKGcpOyFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShufHwobj17fSkpO2NvbnN0IHc9InNtYWxsIjt2YXIgeSxfOyFmdW5jdGlvbihlKXtlLkRlZmF1bHQ9ImRlZmF1bHQiLGUuRGFuZ2VyPSJkYW5nZXIiLGUuV2FybmluZz0id2FybmluZyIsZS5TdWNjZXNzPSJzdWNjZXNzIixlLk5ldXRyYWw9Im5ldXRyYWwiLGUuTmV1dHJhbExpZ2h0PSJuZXV0cmFsLWxpZ2h0In0oeXx8KHk9e30pKSxmdW5jdGlvbihlKXtlLkluZm89ImluZm8iLGUuUXVlc3Rpb249InF1ZXN0aW9uIixlLkNoZWNrPSJjaGVjayIsZS5FeGNsYW1hdGlvbj0iZXhjbGFtYXRpb24ifShffHwoXz17fSkpO2NvbnN0IHg9e2luZm86aCgpLHF1ZXN0aW9uOnUoKSxjaGVjazptKCksZXhjbGFtYXRpb246ZigpfSxFPXMuZm9yd2FyZFJlZigoKGUsdCk9PnMuY3JlYXRlRWxlbWVudCgic3BhbiIsey4uLmUscmVmOnQsY2xhc3NOYW1lOnIoKShlLmNsYXNzTmFtZSxiKClbIm5vLWFjdGl2ZS1zdGF0ZSJdKX0pKSksQz1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpvPSJleGNsYW1hdGlvbiIsaW50ZW50Om49ImRlZmF1bHQiLGFyaWFMYWJlbDppLHRvb2x0aXA6YyxjbGFzc05hbWU6dSxyZW5kZXJDb21wb25lbnQ6ZD1FLHRhYkluZGV4Omg9MCxzaXplOnA9dyxvbkZvY3VzOm0sb25CbHVyOnYsb25DbGljazpmLC4uLmd9PWUseT14W29dPz9vO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoZCx7Y2xhc3NOYW1lOnIoKSh1LGIoKS5pY29uV3JhcHBlcixiKClbbl0sYigpW3BdKSx0aXRsZTpjLHJlZjp0LHRhYkluZGV4Omgsb25Gb2N1czptLG9uQmx1cjp2LG9uQ2xpY2s6ZiwuLi4oMCxhLmZpbHRlckRhdGFQcm9wcykoZyl9LHMuY3JlYXRlRWxlbWVudChsLkljb24seyJhcmlhLWhpZGRlbiI6IWksImFyaWEtbGFiZWwiOmksaWNvbjp5LGNsYXNzTmFtZTpiKCkuaWNvbn0pKX0pKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2ljb246dD0iZXhjbGFtYXRpb24iLGludGVudDpvPSJkZWZhdWx0IixzaXplOm49dyxvbkNsaWNrOmksb25Nb3VzZUVudGVyOmEsb25Nb3VzZUxlYXZlOmMsb25Gb2N1czp1LG9uQmx1cjpkLHJlZmVyZW5jZTpoLGFyaWFMYWJlbDpwfT1lLG09eFt0XT8/dDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtjbGFzc05hbWU6cigpKGIoKS5pY29uV3JhcHBlcixiKClbb10sYigpW25dKSwKcmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjphLG9uTW91c2VMZWF2ZTpjLG9uRm9jdXM6dSxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0scy5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTpiKCkuaWNvbn0pKX19LDg2NTA5MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VUb29sdGlwOigpPT5yfSk7dmFyIG49byg3Nzk0NzQpLHM9bygyOTAyNDMpLGk9byg3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm8saGlkZVRvb2x0aXA6cixvbkNsaWNrOmEsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSxjPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksdT0oMCxzLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPXUmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxuLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+ciYmcigpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW2Mscl0pO3JldHVybntvbkJsdXI6KDAsbi51c2VDYWxsYmFjaykoKGU9PntyJiZyKCl9KSxbcl0pLG9uRm9jdXM6KDAsbi51c2VDYWxsYmFjaykoKGU9PnshZS50YXJnZXQubWF0Y2hlcygiOmhvdmVyIikmJm8mJmUudGFyZ2V0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikmJm8oZS5jdXJyZW50VGFyZ2V0LHt0b29sdGlwRGVsYXk6MjAwfSl9KSxbb10pLG9uQ2xpY2s6KDAsbi51c2VDYWxsYmFjaykoKGU9Pnt1JiZjPy5jdXJyZW50Py5mb2N1cygpLGEmJmEoZSl9KSxbYSxjLHVdKSx0b29sdGlwOmQsY2xhc3NOYW1lOnZvaWQgMCE9PWQ/ImFwcGx5LWNvbW1vbi10b29sdGlwIjp2b2lkIDAscmVmOmN9fX0sMjI3OTQ5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01lbnVXaWR0aENvbnRleHQ6KCk9Pm59KTtjb25zdCBuPW8oNzc5NDc0KS5jcmVhdGVDb250ZXh0KHtzZXRNZW51TWF4V2lkdGg6ITF9KX0sODkxMjA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1N1Ym1lbnVDb250ZXh0OigpPT5zLFN1Ym1lbnVIYW5kbGVyOigpPT5pfSk7dmFyIG49byg3Nzk0NzQpO2NvbnN0IHM9bi5jcmVhdGVDb250ZXh0KG51bGwpO2Z1bmN0aW9uIGkoZSl7Y29uc3RbdCxvXT0oMCxuLnVzZVN0YXRlKShudWxsKSxpPSgwLG4udXNlUmVmKShudWxsKSxyPSgwLG4udXNlUmVmKShuZXcgTWFwKTtyZXR1cm4oMCxuLnVzZUVmZmVjdCkoKCgpPT4oKT0+e251bGwhPT1pLmN1cnJlbnQmJmNsZWFyVGltZW91dChpLmN1cnJlbnQpfSksW10pLG4uY3JlYXRlRWxlbWVudChzLlByb3ZpZGVyLHt2YWx1ZTp7Y3VycmVudDp0LHNldEN1cnJlbnQ6ZnVuY3Rpb24oZSl7bnVsbCE9PWkuY3VycmVudCYmKGNsZWFyVGltZW91dChpLmN1cnJlbnQpLGkuY3VycmVudD1udWxsKTtudWxsPT09dD9vKGUpOmkuY3VycmVudD1zZXRUaW1lb3V0KCgoKT0+e2kuY3VycmVudD1udWxsLG8oZSl9KSwxMDApfSxyZWdpc3RlclN1Ym1lbnU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gci5jdXJyZW50LnNldChlLHQpLCgpPT57ci5jdXJyZW50LmRlbGV0ZShlKX19LGlzU3VibWVudU5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oci5jdXJyZW50LnZhbHVlcygpKS5zb21lKCh0PT50KGUpKSl9fX0sZS5jaGlsZHJlbil9fSwxNDc5MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VUlfTElCX0RBVEFfUUFfSURfUFJFRklYOigpPT5yLGNvbmNhdElmTm90TnVsbDooKT0+aSxkYXRhUWFJZHM6KCk9PnN9KTt2YXIgbj1vKDU2NTc0NSk7ZnVuY3Rpb24gcyhlLHQpe3JldHVybltlLHRdLmZpbHRlcihuLmlzRXhpc3RlbnQpLmpvaW4oIiAiKX1mdW5jdGlvbiBpKGUsdCl7aWYoKDAsbi5pc0V4aXN0ZW50KSh0KSlyZXR1cm5bZSx0XS5qb2luKCIgIil9Y29uc3Qgcj0idWktbGliLSJ9LDIzMTMzMChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc05ld3NBbGxvd2VkOigpPT5pLGlzTmV3c1N0cmVhbWluZ0VuYWJsZWQ6KCk9PnJ9KTt2YXIgbj1vKDkzMDIzMSkscz1vKDU2OTM5OCk7Y29uc3QgaT0hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iikscj0oMCxzLmlzRmVhdHVyZUVuYWJsZWQpKCJuZXdzX2VuYWJsZV9zdHJlYW1pbmciKSYmKDAscy5pc0ZlYXR1cmVFbmFibGVkKSgiZW5hYmxlX2RldGFpbHNfbmV3c19zdHJlYW1pbmciKX0sMjU4NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7dXNlRGlhbG9nQWN0aW9uczooKT0+X30pO3ZhciBuPW8oNzc5NDc0KSxzPW8oNTUxNzkpLGk9byg5MjgwMDIpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdFtvLHNdPSgwLG4udXNlU3RhdGUpKCgoKT0+ZT8uaXNEaXNhYmxlZCgpPz8hMCkpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKCk9PntpZighZSlyZXR1cm4gdm9pZCBzKCEwKTtjb25zdCB0PSgpPT5zKGUuaXNEaXNhYmxlZCgpKTtyZXR1cm4gZS5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLHQpLCgpPT57ZS5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsdCl9fSksW2VdKSwoMCxuLnVzZUVmZmVjdCkoKCgpPT57ZSYmZS51cGRhdGVFeGVjdXRlKHQpfSksW3QsZV0pLG99dmFyIGE9byg2ODA5MzMpLGw9byg1NTI2OTUpLGM9byg4NjIwODApLHU9byg2MzA3ODcpLGQ9byg4OTIxMzMpLGg9byg0ODQ0NCkscD1vKDcwNzcxNiksbT1vKDE4NTI3MSksdj1vKDU4MzAzOCksZj1vKDc2Mjg1MSksZz1vKDkxNzk4NiksYj1vKDE3MDQ0KSx3PW8oODkwODM1KTtjbGFzcyB5IGV4dGVuZHMgZy5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoZSl7Y29uc3QgdD0oMCxiLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnJlcXVlc3RlZFN5bWJvbCgpLG49dD8oMCx2LnNwbGl0U3ltYm9sTmFtZSkodClbMV06IiI7c3VwZXIoe2xhYmVsOigwLGYuYXBwZW5kRWxsaXBzaXMpKG0udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn0sY29udGV4dDoiQ29tbXVuaXR5IHBvc3RzIGRpYWxvZyJ9LG8oOTk0MDE2KSkpLGlkOiJDb21tdW5pdHkgRGlhbG9nIixpY29uOm8oODQ0NjQxKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIiwKZGlzYWJsZWQ6ITB9KSx0aGlzLl9vdmVydmlld09wdGlvbnM9ZTtjb25zdCBzPSgwLGIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQocyl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKGUpe3RoaXMudXBkYXRlKHtvbkV4ZWN1dGU6KCk9Pnt2YXIgdDtlP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KHQ9dGhpcy5fb3ZlcnZpZXdPcHRpb25zLHcuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJjb21tdW5pdHkiLHQpKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgeShlKX1faXNEaXNhYmxlZChlKXtyZXR1cm4hKGUmJiJvayI9PT1lLnN0YXR1cyl9fWZ1bmN0aW9uIF8oZT17fSl7Y29uc3R7c2Vhc29uYWxzTGluazp0LGZvcmVjYXN0TGluazpvLG9wdGlvbnNMaW5rOm0sZWNvbm9teUluZGljYXRvcnNMaW5rOnYsc3RvY2tCb25kc0xpbms6ZixuZXdzTGluazpnLGNvbW11bml0eUxpbms6Yixjb21tdW5pdHlPdmVydmlld09wdGlvbnM6d309ZSxfPSgwLG4udXNlTWVtbykoKCgpPT5sLlNlYXNvbmFsc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoXyx0KTtjb25zdCB4PSgwLG4udXNlTWVtbykoKCgpPT5jLkFuYWx5c2lzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cih4KTtjb25zdCBFPSgwLG4udXNlTWVtbykoKCgpPT5zLkZvcmVjYXN0QWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihFLG8pO2NvbnN0IEM9KDAsbi51c2VNZW1vKSgoKCk9PmEuT3B0aW9uc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQyxtKTtjb25zdCBTPSgwLG4udXNlTWVtbykoKCgpPT5pLkVjb25vbXlJbmRpY2F0b3JzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihTLHYpO2NvbnN0IE09KDAsbi51c2VNZW1vKSgoKCk9PnUuU3RvY2tCb25kc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTSxmKTtjb25zdCBBPSgwLG4udXNlTWVtbykoKCgpPT5kLkRvY3VtZW50c0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoQSk7Y29uc3Qgaz0oMCxuLnVzZU1lbW8pKCgoKT0+cC5OZXdzQWN0aW9uLmNyZWF0ZUFjdGlvbigpKSxbXSk7cihrLGcpO2NvbnN0IE49KDAsbi51c2VNZW1vKSgoKCk9PmguRXRmc0FjdGlvbi5jcmVhdGVBY3Rpb24oKSksW10pO3IoTik7Y29uc3QgRD0oMCxuLnVzZVJlZikodyksTz0oMCxuLnVzZU1lbW8pKCgoKT0+eS5jcmVhdGVBY3Rpb24oRC5jdXJyZW50KSksW10pO3JldHVybiByKE8sYikse3NlYXNvbmFsc0FjdGlvbjpfLGZvcmVjYXN0QWN0aW9uOkUsYW5hbHlzaXNBY3Rpb246eCxvcHRpb25zQWN0aW9uOkMsZWNvbm9teUluZGljYXRvcnNBY3Rpb246UyxzdG9ja0JvbmRzQWN0aW9uOk0sZG9jdW1lbnRzQWN0aW9uOkEsZXRmc0FjdGlvbjpOLG5ld3NBY3Rpb246ayxjb21tdW5pdHlBY3Rpb246T319fSw5MjgwMDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RWNvbm9teUluZGljYXRvcnNBY3Rpb246KCk9PnV9KTt2YXIgbj1vKDE4NTI3MSkscz1vKDc2Mjg1MSksaT1vKDkzMDIzMSkscj1vKDkxNzk4NiksYT1vKDE3MDQ0KSxsPW8oODkwODM1KTt2YXIgYz1vKDE1NjgyOSk7Y2xhc3MgdSBleHRlbmRzIHIuRGlhbG9nQWN0aW9ue2NvbnN0cnVjdG9yKCl7c3VwZXIoe2xhYmVsOigwLHMuYXBwZW5kRWxsaXBzaXMpKG4udChudWxsLHZvaWQgMCxvKDI1MzUzKSkpLGlkOiJFY29ub215SW5kaWNhdG9yc0RpYWxvZyIsaWNvbjpvKDY3NDkwNSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KSx0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZCgoMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZWNvbm9teS1pbmRpY2F0b3JzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik/bnVsbDpuZXcgdX1zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0KXtyZXR1cm4gQm9vbGVhbihlJiYoMCxjLmlzRWNvbm9taWNTeW1ib2wpKGUpJiZ0KX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiF1LmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0WyJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIl0pfXJldHVybiEwfX19LDU1MTc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0ZvcmVjYXN0QWN0aW9uOigpPT5ofSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg5MzAyMzEpLHI9byg3NjI4NTEpLGE9byg4OTA4MzUpO3ZhciBsPW8oOTE3OTg2KSxjPW8oMTcwNDQpLHU9byg5MjY2OTgpLGQ9by5uKHUpO2NsYXNzIGggZXh0ZW5kcyBsLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYy5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxyLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDQ1MDE2NikpKSxpZDoiRm9yZWNhc3REaWFsb2ciLGljb246ZCgpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3QgaT0oMCxjLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGkpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQKO2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTphLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yZWNhc3QiLHQpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBofXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gQm9vbGVhbihlKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFoLmNoZWNrQXZhaWxhYmlsaXR5KHQucmVjb21tZW5kYXRpb25fbWFyayl9cmV0dXJuITB9fX0sOTcxMTgzKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIG47by5kKHQse0xhYmVsUHJvZHVjdDooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuSG90bGlzdHM9ImhvdGxpc3RzIixlLk1hcmtldEVhcm5pbmdzPSJtYXJrZXRzLWVhcm5pbmdzIixlLktleVN0YXRzPSJzeW1ib2xzLWtleXN0YXRzIixlLlRlY2huaWNhbHM9InN5bWJvbHMtdGVjaG5pY2FscyIsZS5QZXJmb3JtYW5jZT0ic3ltYm9scy1wZXJmb3JtYW5jZSIsZS5Cb25kc1lpZWxkQ3VydmU9ImJvbmRzLXlpZWxkLWN1cnZlIixlLkZ1dHVyZXNGb3J3YXJkQ3VydmU9ImZ1dHVyZXMtZm9yd2FyZC1jdXJ2ZSIsZS5NYXJrZXRzRm9yZXhIZWF0bWFwPSJtYXJrZXRzLWZvcmV4LWhlYXRtYXAiLGUuTWFya2V0c0JvbmRzWWllbGRIZWF0bWFwPSJtYXJrZXRzLWJvbmRzLXlpZWxkLWhlYXRtYXAiLGUuTWFya2V0c1NlY3RvclBlcmZvcm1hbmNlSGVhdG1hcD0ibWFya2V0cy1zZWN0b3ItcGVyZm9ybWFuY2UtaGVhdG1hcCIsZS5DYWxlbmRhckVhcm5pbmdzPSJjYWxlbmRhci1lYXJuaW5ncyIsZS5DYWxlbmRhckRpdmlkZW5kcz0iY2FsZW5kYXItZGl2aWRlbmRzIixlLkNhbGVuZGFySXBvPSJjYWxlbmRhci1pcG8iLGUuUXVpY2tTZWFyY2hEaWFsb2c9InF1aWNrLXNlYXJjaC1kaWFsb2ciLGUuUG9wdXBFVEZBbmFseXNpcz0icG9wdXAtZXRmLWFuYWx5c2lzIixlLkNoYXJ0U3ltYm9saW5mbz0iY2hhcnQtc3ltYm9saW5mbyIsZS5FeHRlcm5hbFdpZGdldHM9ImV4dGVybmFsLXdpZGdldHMiLGUuUmVsYXRlZFN5bWJvbHM9InJlbGF0ZWQtc3ltYm9scyIsZS5SaWdodERldGFpbHM9InJpZ2h0LWRldGFpbHMiLGUuRm9yZXhQZXJmb3JtYW5jZT0iZm9yZXgtcGVyZm9ybWFuY2UiLGUuTWFya2V0U2VjdG9yUGVyZm9ybWFuY2U9Im1hcmtldC1zZWN0b3ItcGVyZm9ybWFuY2UiLGUuQ2hhcnRNZXRyaWNzQWN0aW9uPSJjaGFydC1tZXRyaWNzLWFjdGlvbiIsZS5HbG9iYWxTZWFyY2g9Imdsb2JhbC1zZWFyY2giLGUuU3ltYm9sU2VhcmNoQnV0dG9uPSJzeW1ib2wtc2VhcmNoLWJ1dHRvbiJ9KG58fChuPXt9KSl9LDgzMzQwOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93VGVjaG5pY2Fsc0RpYWxvZzooKT0+c30pO3ZhciBuPW8oODkwODM1KTtmdW5jdGlvbiBzKGUpe24uY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJ0ZWNobmljYWxzIixlKX19LDkxNzk4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtEaWFsb2dBY3Rpb246KCk9PmF9KTt2YXIgbixzPW8oNTA5MDQpOyFmdW5jdGlvbihlKXtlLkRyYXdpbmdzPSJkcmF3aW5nc0FjdGlvbnMiLGUuRnVuY3Rpb249ImZ1bmN0aW9uQWN0aW9ucyIsZS5TZXR0aW5ncz0ic2V0dGluZ3NBY3Rpb25zIn0obnx8KG49e30pKTtjbGFzcyBpIGV4dGVuZHMgcy5BY3Rpb257Y29uc3RydWN0b3Ioe2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4saG90a2V5R3JvdXA6cyxob3RrZXlIYXNoOmksYWxpYXNlczpyLG9wdGlvbnNMb2FkZXI6YSxvblN0YXJ0TGlzdGVuaW5nOmwsLi4uY30pe3N1cGVyKHthY3Rpb25JZDoiVW5rbm93bkFjdGlvbiIsb3B0aW9uczp7Li4uYyxkb05vdENsb3NlT25DbGljazohMH0saWQ6ZSxvcHRpb25zTG9hZGVyOmEsb25TdGFydExpc3RlbmluZzpsfSksdGhpcy5leGVjdXRlPSgpPT57c3VwZXIuZXhlY3V0ZSgpfSx0aGlzLmdldFN0YXRlPSgpPT4oey4uLnN1cGVyLmdldFN0YXRlKCksaWQ6dGhpcy5fc2VhcmNoT3B0aW9ucy5pZCxjYXRlZ29yeTp0aGlzLl9zZWFyY2hPcHRpb25zLmNhdGVnb3J5LGZhdm91cml0ZTp0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZSxvbkZhdm91cml0ZUNsaWNrOnRoaXMuX29uRmF2b3VyaXRlQ2xpY2ssYWxpYXNlczp0aGlzLl9zZWFyY2hPcHRpb25zLmFsaWFzZXN9KSx0aGlzLnVwZGF0ZT1lPT57dGhpcy5fc2VhcmNoT3B0aW9ucz1PYmplY3QuYXNzaWduKHRoaXMuX3NlYXJjaE9wdGlvbnMsZSksc3VwZXIudXBkYXRlKGUpfSx0aGlzLl9vbkZhdm91cml0ZUNsaWNrPWU9Pnt0aGlzLl9zZWFyY2hPcHRpb25zLm9uRmF2b3VyaXRlQ2xpY2smJih0aGlzLnVwZGF0ZSh7ZmF2b3VyaXRlOiF0aGlzLl9zZWFyY2hPcHRpb25zLmZhdm91cml0ZX0pLHRoaXMuX3NlYXJjaE9wdGlvbnMub25GYXZvdXJpdGVDbGljayhlKSl9LHRoaXMuX3NlYXJjaE9wdGlvbnM9e2lkOmUsY2F0ZWdvcnk6dCxmYXZvdXJpdGU6byxvbkZhdm91cml0ZUNsaWNrOm4sYWxpYXNlczpyfX19dmFyIHI9bygxNzA0NCk7Y2xhc3MgYSBleHRlbmRzIGl7Y29uc3RydWN0b3IoZSl7c3VwZXIoey4uLmUsb25TdGFydExpc3RlbmluZzooKT0+KCgwLHIuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpLCgpPT4oMCxyLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpKX0pfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9X29uUXVvdGVzVXBkYXRlKGUpe3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKGUpfSl9fX0sMTMxMzIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0hvcml6b250YWxBdHRhY2hFZGdlOigpPT5zLEhvcml6b250YWxEcm9wRGlyZWN0aW9uOigpPT5yLFZlcnRpY2FsQXR0YWNoRWRnZTooKT0+biwKVmVydGljYWxEcm9wRGlyZWN0aW9uOigpPT5pLGdldFBvcHVwUG9zaXRpb25lcjooKT0+Y30pO3ZhciBuLHMsaSxyLGE9bygxMzg2MzgpOyFmdW5jdGlvbihlKXtlW2UuVG9wPTBdPSJUb3AiLGVbZS5Cb3R0b209MV09IkJvdHRvbSIsZVtlLkF1dG9TdHJpY3Q9Ml09IkF1dG9TdHJpY3QifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuUmlnaHQ9MV09IlJpZ2h0In0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRnJvbVRvcFRvQm90dG9tPTBdPSJGcm9tVG9wVG9Cb3R0b20iLGVbZS5Gcm9tQm90dG9tVG9Ub3A9MV09IkZyb21Cb3R0b21Ub1RvcCJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkZyb21MZWZ0VG9SaWdodD0wXT0iRnJvbUxlZnRUb1JpZ2h0IixlW2UuRnJvbVJpZ2h0VG9MZWZ0PTFdPSJGcm9tUmlnaHRUb0xlZnQifShyfHwocj17fSkpO2NvbnN0IGw9e3ZlcnRpY2FsQXR0YWNoRWRnZTpuLkJvdHRvbSxob3Jpem9udGFsQXR0YWNoRWRnZTpzLkxlZnQsdmVydGljYWxEcm9wRGlyZWN0aW9uOmkuRnJvbVRvcFRvQm90dG9tLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOnIuRnJvbUxlZnRUb1JpZ2h0LHZlcnRpY2FsTWFyZ2luOjAsaG9yaXpvbnRhbE1hcmdpbjowLG1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoczohMX07ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBvPT57Y29uc3R7Y29udGVudFdpZHRoOmMsY29udGVudEhlaWdodDp1LGF2YWlsYWJsZUhlaWdodDpkfT1vLGg9KDAsYS5lbnN1cmVOb3ROdWxsKShlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx7aG9yaXpvbnRhbEF0dGFjaEVkZ2U6cD1sLmhvcml6b250YWxBdHRhY2hFZGdlLGhvcml6b250YWxEcm9wRGlyZWN0aW9uOm09bC5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixob3Jpem9udGFsTWFyZ2luOnY9bC5ob3Jpem9udGFsTWFyZ2luLHZlcnRpY2FsTWFyZ2luOmY9bC52ZXJ0aWNhbE1hcmdpbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6Zz1sLm1hdGNoQnV0dG9uQW5kTGlzdGJveFdpZHRoc309dDtsZXQgYj10LnZlcnRpY2FsQXR0YWNoRWRnZT8/bC52ZXJ0aWNhbEF0dGFjaEVkZ2Usdz10LnZlcnRpY2FsRHJvcERpcmVjdGlvbj8/bC52ZXJ0aWNhbERyb3BEaXJlY3Rpb247Yj09PW4uQXV0b1N0cmljdCYmKGQ8aC55K2guaGVpZ2h0K2YrdT8oYj1uLlRvcCx3PWkuRnJvbUJvdHRvbVRvVG9wKTooYj1uLkJvdHRvbSx3PWkuRnJvbVRvcFRvQm90dG9tKSk7Y29uc3QgeT1iPT09bi5Ub3A/LTEqZjpmLF89cD09PXMuUmlnaHQ/aC5yaWdodDpoLmxlZnQseD1iPT09bi5Ub3A/aC50b3A6aC5ib3R0b20sRT17eDpfLShtPT09ci5Gcm9tUmlnaHRUb0xlZnQ/YzowKSt2LHk6eC0odz09PWkuRnJvbUJvdHRvbVRvVG9wP3U6MCkreX07cmV0dXJuIGcmJihFLm92ZXJyaWRlV2lkdGg9aC53aWR0aCksRX19fSwyOTY0NDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9UT09MX1dJREdFVF9NRU5VX1RIRU1FOigpPT5mLFRvb2xXaWRnZXRNZW51OigpPT5ifSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyMzU3MjQpLGE9byg4MzU5NjQpLGw9byg3MDg4NDIpLGM9bygzNDUxMTYpLHU9bygzMTM3NzIpLGQ9byg5NjQyMTQpLGg9bygxMzEzMjEpLHA9byg0MDYxMTApLG09byg4NDg5ODgpLHY9byg0MjQyNjIpO2NvbnN0IGY9djt2YXIgZzshZnVuY3Rpb24oZSl7ZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkhvcml6b250YWw9MF09Ikhvcml6b250YWwifShnfHwoZz17fSkpO2NsYXNzIGIgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fd3JhcHBlclJlZj1udWxsLHRoaXMuX3Njcm9sbFdyYXBSZWY9bnVsbCx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1udWxsLHRoaXMuX2NvbnRyb2xsZXI9bi5jcmVhdGVSZWYoKSx0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrPWU9Pnsia2V5Ym9hcmQiPT09ZS5kZXRhaWwuY2xpY2tUeXBlJiZ0aGlzLmZvY3VzKCl9LHRoaXMuX2hhbmRsZU1lbnVGb2N1cz1lPT57ZS5yZWxhdGVkVGFyZ2V0PT09dGhpcy5fd3JhcHBlclJlZiYmdGhpcy5zZXRTdGF0ZSgoZT0+KHsuLi5lLGlzT3BlbmVkQnlCdXR0b246ITB9KSkpLHRoaXMucHJvcHMub25NZW51Rm9jdXM/LihlKX0sdGhpcy5faGFuZGxlV3JhcHBlclJlZj1lPT57dGhpcy5fd3JhcHBlclJlZj1lLHRoaXMucHJvcHMucmVmZXJlbmNlJiZ0aGlzLnByb3BzLnJlZmVyZW5jZShlKX0sdGhpcy5faGFuZGxlU2Nyb2xsV3JhcFJlZj1lPT57dGhpcy5fc2Nyb2xsV3JhcFJlZj1lLHRoaXMuX3N5bmNTY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcigpLHRoaXMuX3VwZGF0ZVNjcm9sbENvbXBlbnNhdGlvbigpfSx0aGlzLl9zeW5jU2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXI9KCk9Pnt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSx0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmbnVsbCE9PXRoaXMuX3Njcm9sbFdyYXBSZWYmJih0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5fdXBkYXRlU2Nyb2xsQ29tcGVuc2F0aW9uKSx0aGlzLl9zY3JvbGxDb21wZW5zYXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3Njcm9sbFdyYXBSZWYpKX0sdGhpcy5fZGVzdHJveVNjcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPSgpPT57bnVsbCE9PXRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyJiYodGhpcy5fc2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX3Njcm9sbENvbXBlbnNhdGlvbk9ic2VydmVyPW51bGwpfSx0aGlzLl91cGRhdGVTY3JvbGxDb21wZW5zYXRpb249KCk9PntpZihudWxsPT09dGhpcy5fc2Nyb2xsV3JhcFJlZilyZXR1cm4gdm9pZCB0aGlzLnNldFN0YXRlKHtzY3JvbGxDb21wZW5zYXRpb246bnVsbH0pO2NvbnN0IGU9dGhpcy5fc2Nyb2xsV3JhcFJlZi5vZmZzZXRXaWR0aC10aGlzLl9zY3JvbGxXcmFwUmVmLmNsaWVudFdpZHRoLHQ9ZT4wPy1lKyJweCI6bnVsbAo7dGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOnR9KX0sdGhpcy5faGFuZGxlT3Blbj0oKT0+eyJkaXYiIT09dGhpcy5wcm9wcy50YWcmJih0aGlzLnNldFN0YXRlKChlPT4oey4uLmUsaXNPcGVuZWRCeUJ1dHRvbjohMX0pKSksdGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlPy5jdXJyZW50Py5hZGRFdmVudExpc3RlbmVyKCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix0aGlzLl9vblBvcHVwQ2xvc2VPbkNsaWNrKSx0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQ/LmZvY3VzKCkpfSx0aGlzLl9oYW5kbGVDbGljaz1lPT57ZS50YXJnZXQgaW5zdGFuY2VvZiBOb2RlJiZlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpJiYodGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24odm9pZCAwLCgwLG0uaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5wcm9wcy5vbkNsaWNrJiZ0aGlzLnByb3BzLm9uQ2xpY2soZSwhdGhpcy5zdGF0ZS5pc09wZW5lZCkpfSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bj0oZSx0PSExKT0+e2NvbnN0e29uQ2xvc2U6byxvbk9wZW46bn09dGhpcy5wcm9wcyx7aXNPcGVuZWQ6c309dGhpcy5zdGF0ZSxpPSJib29sZWFuIj09dHlwZW9mIGU/ZTohczt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDppLHNob3VsZFJldHVybkZvY3VzOiEhaSYmdH0pLGkmJm4mJm4oKSwhaSYmbyYmbygpfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuY2xvc2UoKX0sdGhpcy5faGFuZGxlS2V5RG93bj1lPT57Y29uc3R7b3JpZW50YXRpb246dD0iaG9yaXpvbnRhbCJ9PXRoaXMucHJvcHM7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGUudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuO2NvbnN0IG89KDAsci5oYXNoRnJvbUV2ZW50KShlKTtpZihlLmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZS50YXJnZXQpKXN3aXRjaChvKXtjYXNlIDQwOmlmKCJkaXYiPT09dGhpcy5wcm9wcy50YWd8fCJob3Jpem9udGFsIiE9PXQpcmV0dXJuO2lmKHRoaXMuc3RhdGUuaXNPcGVuZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSx0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMCwhMCk7YnJlYWs7Y2FzZSAyNzppZighdGhpcy5zdGF0ZS5pc09wZW5lZHx8IXRoaXMucHJvcHMuY2xvc2VPbkVzYylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWVsc2V7aWYoImRpdiI9PT10aGlzLnByb3BzLnRhZylyZXR1cm47c3dpdGNoKG8pe2Nhc2UgMjc6e2UucHJldmVudERlZmF1bHQoKTtjb25zdHtzaG91bGRSZXR1cm5Gb2N1czp0LGlzT3BlbmVkQnlCdXR0b246b309dGhpcy5zdGF0ZTt0aGlzLl9oYW5kbGVUb2dnbGVEcm9wZG93bighMSksdCYmbyYmdGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKTticmVha319fX0sdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITEsc2hvdWxkUmV0dXJuRm9jdXM6ITEsaXNPcGVuZWRCeUJ1dHRvbjohMSxzY3JvbGxDb21wZW5zYXRpb246bnVsbH19cmVuZGVyKCl7Y29uc3R7dGFnOmU9ImRpdiIsaWQ6dCxhcnJvdzpvLGNvbnRlbnQ6cyxpc0Rpc2FibGVkOnIsaXNEcmF3ZXI6YSxpc1Nob3dUb29sdGlwOnUsdGl0bGU6ZCxjbGFzc05hbWU6aCxob3RLZXk6bSx0aGVtZTp2LGRyYXdlckJyZWFrcG9pbnQ6Zix0YWJJbmRleDpnLGlzQ2xpY2tlZDpifT10aGlzLnByb3BzLHtpc09wZW5lZDp5fT10aGlzLnN0YXRlLF89aSgpKGgsdi5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6dXx8IXIsW3YuaXNEaXNhYmxlZF06cixbdi5pc09wZW5lZF06eSxbdi5jbGlja2VkXTpifSkseD13KHMpP3Moe2lzT3BlbmVkOnl9KTpzO3JldHVybiJidXR0b24iPT09ZT9uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3R5cGU6ImJ1dHRvbiIsaWQ6dCxjbGFzc05hbWU6aSgpKF8sdi5hY2Nlc3NpYmxlKSxkaXNhYmxlZDpyLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGl0bGU6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6bSxyZWY6dGhpcy5faGFuZGxlV3JhcHBlclJlZixvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93bix0YWJJbmRleDpnLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSwuLi4oMCxjLmZpbHRlckFyaWFQcm9wcykodGhpcy5wcm9wcyl9LHgsbyYmbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6di5hcnJvd1dyYXB9LG4uY3JlYXRlRWxlbWVudChsLlRvb2xXaWRnZXRDYXJldCx7ZHJvcHBlZDp5fSkpKSx0aGlzLnN0YXRlLmlzT3BlbmVkJiYoZj9uLmNyZWF0ZUVsZW1lbnQocC5NYXRjaE1lZGlhLHtydWxlOmZ9LChlPT50aGlzLl9yZW5kZXJDb250ZW50KGUpKSk6dGhpcy5fcmVuZGVyQ29udGVudChhKSkpOm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7aWQ6dCxjbGFzc05hbWU6XyxvbkNsaWNrOnI/dm9pZCAwOnRoaXMuX2hhbmRsZUNsaWNrLHRpdGxlOmQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOm0scmVmOnRoaXMuX2hhbmRsZVdyYXBwZXJSZWYsImRhdGEtcm9sZSI6ImJ1dHRvbiIsdGFiSW5kZXg6ZyxvbktleURvd246dGhpcy5faGFuZGxlS2V5RG93biwiYXJpYS1oYXNwb3B1cCI6dGhpcy5wcm9wc1siYXJpYS1oYXNwb3B1cCJdLC4uLigwLGMuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKX0seCxvJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93fSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2LmFycm93V3JhcH0sbi5jcmVhdGVFbGVtZW50KGwuVG9vbFdpZGdldENhcmV0LHtkcm9wcGVkOnl9KSkpLHRoaXMuc3RhdGUuaXNPcGVuZWQmJihmP24uY3JlYXRlRWxlbWVudChwLk1hdGNoTWVkaWEse3J1bGU6Zn0sKGU9PnRoaXMuX3JlbmRlckNvbnRlbnQoZSkpKTp0aGlzLl9yZW5kZXJDb250ZW50KGEpKSl9Y29tcG9uZW50RGlkVXBkYXRlKGUpeyF0aGlzLnByb3BzLmVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbiYmZS5lbmFibGVTY3JvbGxDb21wZW5zYXRpb24mJih0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKSwKdGhpcy5zZXRTdGF0ZSh7c2Nyb2xsQ29tcGVuc2F0aW9uOm51bGx9KSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl9kZXN0cm95U2Nyb2xsQ29tcGVuc2F0aW9uT2JzZXJ2ZXIoKX1jbG9zZSgpe3RoaXMucHJvcHMubWVudVJlZmVyZW5jZT8uY3VycmVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wdXAtbWVudS1jbG9zZS1ldmVudCIsdGhpcy5fb25Qb3B1cENsb3NlT25DbGljayksdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd24oITEpfWZvY3VzKCl7dGhpcy5fd3JhcHBlclJlZj8uZm9jdXMoKX11cGRhdGUoKXtudWxsIT09dGhpcy5fY29udHJvbGxlci5jdXJyZW50JiZ0aGlzLl9jb250cm9sbGVyLmN1cnJlbnQudXBkYXRlKCl9X3JlbmRlckNvbnRlbnQoZSl7Y29uc3R7bWVudURhdGFOYW1lOnQsbWluV2lkdGg6byxtZW51Q2xhc3NOYW1lOnMsZHJhd2VyQ2xhc3NOYW1lOmksbWVudVJvbGU6cixtYXhIZWlnaHQ6bCxkcmF3ZXJQb3NpdGlvbjpjPSJCb3R0b20iLGNoaWxkcmVuOnAsbm9Nb21lbnR1bUJhc2VkU2Nyb2xsOm0sZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOnZ9PXRoaXMucHJvcHMse2lzT3BlbmVkOmZ9PXRoaXMuc3RhdGUsZz17aG9yaXpvbnRhbE1hcmdpbjp0aGlzLnByb3BzLmhvcml6b250YWxNYXJnaW58fDAsdmVydGljYWxNYXJnaW46dGhpcy5wcm9wcy52ZXJ0aWNhbE1hcmdpbnx8Mix2ZXJ0aWNhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy52ZXJ0aWNhbEF0dGFjaEVkZ2UsaG9yaXpvbnRhbEF0dGFjaEVkZ2U6dGhpcy5wcm9wcy5ob3Jpem9udGFsQXR0YWNoRWRnZSx2ZXJ0aWNhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy52ZXJ0aWNhbERyb3BEaXJlY3Rpb24saG9yaXpvbnRhbERyb3BEaXJlY3Rpb246dGhpcy5wcm9wcy5ob3Jpem9udGFsRHJvcERpcmVjdGlvbixtYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHM6dGhpcy5wcm9wcy5tYXRjaEJ1dHRvbkFuZExpc3Rib3hXaWR0aHN9LGI9Qm9vbGVhbihmJiZlJiZjKSx5PXcocCk/cCh7aXNEcmF3ZXI6Yn0pOnA7cmV0dXJuIGI/bi5jcmVhdGVFbGVtZW50KHUuRHJhd2VyTWFuYWdlcixudWxsLG4uY3JlYXRlRWxlbWVudChkLkRyYXdlcix7Y2xhc3NOYW1lOmkscmVmZXJlbmNlOnRoaXMucHJvcHMuZHJhd2VyUmVmZXJlbmNlLG9uQ2xvc2U6dGhpcy5faGFuZGxlQ2xvc2UscG9zaXRpb246YywiZGF0YS1uYW1lIjp0fSx5KSk6bi5jcmVhdGVFbGVtZW50KGEuUG9wdXBNZW51LHtyZWZlcmVuY2U6dGhpcy5wcm9wcy5tZW51UmVmZXJlbmNlLHNjcm9sbFdyYXBSZWZlcmVuY2U6dj90aGlzLl9oYW5kbGVTY3JvbGxXcmFwUmVmOnZvaWQgMCxyb2xlOnIsY29udHJvbGxlcjp0aGlzLl9jb250cm9sbGVyLGNsb3NlT25DbGlja091dHNpZGU6dGhpcy5wcm9wcy5jbG9zZU9uQ2xpY2tPdXRzaWRlLGRvTm90Q2xvc2VPbjp0aGlzLGlzT3BlbmVkOmYsbWluV2lkdGg6byxvbkNsb3NlOnRoaXMuX2hhbmRsZUNsb3NlLHBvc2l0aW9uOigwLGguZ2V0UG9wdXBQb3NpdGlvbmVyKSh0aGlzLl93cmFwcGVyUmVmLGcpLGNsYXNzTmFtZTpzLG1heEhlaWdodDpsLGRhdGFRYUlkOnQsdGFiSW5kZXg6ImRpdiIhPT10aGlzLnByb3BzLnRhZz8tMTp2b2lkIDAsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW4sb25LZXlEb3duOnRoaXMucHJvcHMub25NZW51S2V5RG93bixvbkZvY3VzOnRoaXMuX2hhbmRsZU1lbnVGb2N1cyxub01vbWVudHVtQmFzZWRTY3JvbGw6bX0sdj9uLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOnRoaXMuc3RhdGUuc2Nyb2xsQ29tcGVuc2F0aW9uP3ttYXJnaW5JbmxpbmVFbmQ6dGhpcy5zdGF0ZS5zY3JvbGxDb21wZW5zYXRpb259OnZvaWQgMH0seSk6eSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9Yi5kZWZhdWx0UHJvcHM9e2Fycm93OiEwLGNsb3NlT25DbGlja091dHNpZGU6ITAsdGhlbWU6dn19LDEzNjYzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUVuc3VyZWRDb250ZXh0OigpPT5pfSk7dmFyIG49byg3Nzk0NzQpLHM9bygxMzg2MzgpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKSgoMCxuLnVzZUNvbnRleHQpKGUpKX19LDU1MzY2OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja01ldHJpY3NNZW51QWN0aW9uOigpPT5zfSk7dmFyIG49bygzNjIyMzkpO2Z1bmN0aW9uIHMoZSl7KDAsbi5nZXRUcmFja2VyKSgpLnRoZW4oKHQ9PntudWxsIT09dCYmdC50cmFja0NoYXJ0TWV0cmljc01lbnUoZSl9KSl9fSw2MzEyNTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nOigpPT5zfSk7dmFyIG49byg4OTA4MzUpO2Z1bmN0aW9uIHMoZSl7bi5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIixlKX19LDg2MjA4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBbmFseXNpc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oOTMwMjMxKSxyPW8oNzYyODUxKSxhPW8oMTU2ODI5KSxsPW8oODkwODM1KTt2YXIgYz1vKDE3MDQ0KSx1PW8oOTE3OTg2KTtjbGFzcyBkIGV4dGVuZHMgdS5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsci5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse2NvbnRleHQ6InByb2ZpbGVfYWN0aW9uIixyZXBsYWNlOntzeW1ib2w6dH19LG8oNjg1NTc1KSkpLGlkOiJBbmFseXNpcyIsaWNvbjpvKDg1OTc5MSksY2F0ZWdvcnk6ImZ1bmN0aW9uQWN0aW9ucyIsZGlzYWJsZWQ6ITB9KTtjb25zdCBpPSgwLGMuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucXVvdGVzKCk7dGhpcy51cGRhdGUoe2Rpc2FibGVkOnRoaXMuX2lzRGlzYWJsZWQoaSl9KSx0aGlzLnVwZGF0ZUV4ZWN1dGUoKX11cGRhdGVFeGVjdXRlKCl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciBlCjtsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiYW5hbHlzaXMiLGUpfX0pfXN0YXRpYyBjcmVhdGVBY3Rpb24oKXtyZXR1cm4oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQpe3JldHVybiBCb29sZWFuKGUmJnQmJigoMCxhLmlzRnVuZEV0ZikoZSx0KXx8KDAsYS5pc0NvcnBvcmF0ZUJvbmQpKGUsdCl8fCgwLGEuaXNHb3Zlcm5tZW50T25seUJvbmQpKGUsdCkpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFkLmNoZWNrQXZhaWxhYmlsaXR5KHQudHlwZSx0LnR5cGVzcGVjcyl9cmV0dXJuITB9fX0sODkyMTMzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RvY3VtZW50c0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDc1MTI4MykpKSxpZDoiRG9jdW1lbnRzIixpY29uOm8oMjI4OTU4KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZG9jdW1lbnRzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBjfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gMT09PWV9X2lzRGlzYWJsZWQoZSl7aWYoZSYmIm9rIj09PWUuc3RhdHVzKXtjb25zdHt2YWx1ZXM6dH09ZTtyZXR1cm4hYy5jaGVja0F2YWlsYWJpbGl0eSh0LmRvY3VtZW50cyl9cmV0dXJuITB9fX0sNDg0NDQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RXRmc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6ImV0ZnNfZGlhbG9nIn0sbyg1MjcxKSkpLGlkOiJFVEZzIixpY29uOm8oMTg3MTQ3KSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZXRmcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSl7cmV0dXJuIEJvb2xlYW4oZS5oYXNfZXRmX293bmVyc2hpcCYmZS5zeW1ib2xfcHJpbWFyeV9saXN0aW5nKXx8Qm9vbGVhbigic3BvdCI9PT1lLnR5cGUmJmUuc2hvcnRfbmFtZSYmWyJCVENVU0QiLCJCSVRDT0lOIiwiRVRIVVNEIiwiRVRIRVJFVU0iXS5pbmNsdWRlcyhlLnNob3J0X25hbWUpKX1faXNEaXNhYmxlZChlKXtpZihlJiYib2siPT09ZS5zdGF0dXMpe2NvbnN0e3ZhbHVlczp0fT1lO3JldHVybiFjLmNoZWNrQXZhaWxhYmlsaXR5KHQpfXJldHVybiEwfX19LDE5OTc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Nob3dGb3J3YXJkQ3VydmVEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsZSl9fSw3MDc3MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TmV3c0FjdGlvbjooKT0+dX0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9bygxMjI5MzIpLGM9bygyMzEzMzApO2NsYXNzIHUgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9LGNvbnRleHQ6Im5ld3NfZGlhbG9nIn0sbygxMDE0MzUpKSksaWQ6Ik5ld3MgRGlhbG9nIixpY29uOm8oMzc0NjAwKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+ewplP3dpbmRvdy5sb2NhdGlvbi5hc3NpZ24oZSk6KDAsbC5zaG93TmV3c0RpYWxvZykoKX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyB1fXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlKXtyZXR1cm4gYy5pc05ld3NBbGxvd2VkJiZ2b2lkIDAhPT1lfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIXUuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlKX1yZXR1cm4hMH19fSwxMjI5MzIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c2hvd05ld3NEaWFsb2c6KCk9PnN9KTt2YXIgbj1vKDg5MDgzNSk7ZnVuY3Rpb24gcyhlKXtuLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygibmV3cyIsZSl9fSw2ODA5MzMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3B0aW9uc0FjdGlvbjooKT0+ZH0pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oMTcwNDQpLHI9byg5MzAyMzEpLGE9byg3NjI4NTEpLGw9byg5MTc5ODYpLGM9byg4OTA4MzUpO3ZhciB1PW8oODg3NjYzKTtjbGFzcyBkIGV4dGVuZHMgbC5EaWFsb2dBY3Rpb257Y29uc3RydWN0b3IoKXtjb25zdCBlPSgwLGkuYWN0aXZlUHJvU3ltYm9sUXVvdGVzUHJvdmlkZXIpKCkucmVxdWVzdGVkU3ltYm9sKCksdD1lPygwLHMuc3BsaXRTeW1ib2xOYW1lKShlKVsxXToiIjtzdXBlcih7bGFiZWw6KDAsYS5hcHBlbmRFbGxpcHNpcykobi50KG51bGwse3JlcGxhY2U6e3N5bWJvbDp0fX0sbyg0MTI3NzYpKSksaWQ6Ik9wdGlvbnNEaWFsb2ciLGljb246dSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsaS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpjLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygib3B0aW9ucyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybigwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP251bGw6bmV3IGR9c3RhdGljIGNoZWNrQXZhaWxhYmlsaXR5KGUpe3JldHVybiBCb29sZWFuKGUpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodFsib3B0aW9ucy1pbmZvIl0pfXJldHVybiEwfX19LDk5NTEyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoYXNTZWFzb25hbHM6KCk9PnN9KTt2YXIgbj1vKDE1NjgyOSk7ZnVuY3Rpb24gcyhlLHQsbyl7cmV0dXJuISgoMCxuLmlzQm9uZCkoZSl8fCgwLG4uaXNFY29ub21pY1N5bWJvbCkoZSl8fCgwLG4uaXNPcHRpb24pKGUpfHwoMCxuLmlzU3ByZWFkKShlKXx8KDAsbi5pc1N5bWJvbERlbGlzdGVkKSh0KXx8KDAsbi5pc1N0b2Nrc1N5bWJvbCkoZSx0Pz9bXSkmJnZvaWQgMD09PW98fHZvaWQgMCE9PW8mJmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IERhdGUoMWUzKmUpLmdldEZ1bGxZZWFyKCksbz0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCk7cmV0dXJuIHQ9PT1vfShvKSl9fSw1NTI2OTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U2Vhc29uYWxzQWN0aW9uOigpPT5kfSk7dmFyIG49bygxODUyNzEpLHM9byg1ODMwMzgpLGk9byg3NjI4NTEpLHI9bygxNTY4MjkpLGE9byg5OTUxMjYpLGw9byg4OTA4MzUpO3ZhciBjPW8oOTE3OTg2KSx1PW8oMTcwNDQpO2NsYXNzIGQgZXh0ZW5kcyBjLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDY4NTk2MykpKSxpZDoiU2Vhc29uYWxzRGlhbG9nIixpY29uOm8oNjI3NjAyKSxjYXRlZ29yeToiZnVuY3Rpb25BY3Rpb25zIixkaXNhYmxlZDohMH0pO2NvbnN0IHI9KDAsdS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5xdW90ZXMoKTt0aGlzLnVwZGF0ZSh7ZGlzYWJsZWQ6dGhpcy5faXNEaXNhYmxlZChyKX0pLHRoaXMudXBkYXRlRXhlY3V0ZSgpfXVwZGF0ZUV4ZWN1dGUoZSl7dGhpcy51cGRhdGUoe29uRXhlY3V0ZTooKT0+e3ZhciB0O2U/d2luZG93LmxvY2F0aW9uLmFzc2lnbihlKTpsLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygic2Vhc29uYWxzIix0KX19KX1zdGF0aWMgY3JlYXRlQWN0aW9uKCl7cmV0dXJuIG5ldyBkfXN0YXRpYyBjaGVja0F2YWlsYWJpbGl0eShlLHQsbyxuKXtyZXR1cm4gQm9vbGVhbihlJiZ0JiYhKDAsci5pc0RleCkobikmJigwLGEuaGFzU2Vhc29uYWxzKShlLHQsbykpfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWQuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuZmlyc3RfYmFyX3RpbWVfMWQsdFsiZXhjaGFuZ2UtaW5mbyJdKX1yZXR1cm4hMH19fSw2MzA3ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3RvY2tCb25kc0FjdGlvbjooKT0+Y30pO3ZhciBuPW8oMTg1MjcxKSxzPW8oNTgzMDM4KSxpPW8oNzYyODUxKSxyPW8oOTE3OTg2KSxhPW8oMTcwNDQpLGw9byg4OTA4MzUpO2NsYXNzIGMgZXh0ZW5kcyByLkRpYWxvZ0FjdGlvbntjb25zdHJ1Y3Rvcigpe2NvbnN0IGU9KDAsYS5hY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcikoKS5yZXF1ZXN0ZWRTeW1ib2woKSx0PWU/KDAscy5zcGxpdFN5bWJvbE5hbWUpKGUpWzFdOiIiO3N1cGVyKHtsYWJlbDooMCxpLmFwcGVuZEVsbGlwc2lzKShuLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOnR9fSxvKDg5MzU3NikpKSxpZDoiU3RvY2tCb25kcyIsCmljb246byg0MDk0NTUpLGNhdGVnb3J5OiJmdW5jdGlvbkFjdGlvbnMiLGRpc2FibGVkOiEwfSk7Y29uc3Qgcj0oMCxhLmFjdGl2ZVByb1N5bWJvbFF1b3Rlc1Byb3ZpZGVyKSgpLnF1b3RlcygpO3RoaXMudXBkYXRlKHtkaXNhYmxlZDp0aGlzLl9pc0Rpc2FibGVkKHIpfSksdGhpcy51cGRhdGVFeGVjdXRlKCl9dXBkYXRlRXhlY3V0ZShlKXt0aGlzLnVwZGF0ZSh7b25FeGVjdXRlOigpPT57dmFyIHQ7ZT93aW5kb3cubG9jYXRpb24uYXNzaWduKGUpOmwuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJib25kcyIsdCl9fSl9c3RhdGljIGNyZWF0ZUFjdGlvbigpe3JldHVybiBuZXcgY31zdGF0aWMgY2hlY2tBdmFpbGFiaWxpdHkoZSx0LG8pe3JldHVybiBCb29sZWFuKGUmJnQmJm8pfV9pc0Rpc2FibGVkKGUpe2lmKGUmJiJvayI9PT1lLnN0YXR1cyl7Y29uc3R7dmFsdWVzOnR9PWU7cmV0dXJuIWMuY2hlY2tBdmFpbGFiaWxpdHkodC50eXBlLHQudHlwZXNwZWNzLHQuaGFzX2JvbmRzKX1yZXR1cm4hMH19fSw5Mjk0ODgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5zfSk7dmFyIG49byg5MDEwMjIpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuKDAsbi5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse3Jlc29sdmVTeW1ib2xOYW1lOigpPT5jLHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsOigpPT51LHJlc29sdmVTeW1ib2xOYW1lRm9yQWxsRGlzdGluY3Q6KCk9PmQsc25hcHNob3RlcjooKT0+YX0pO3ZhciBuPW8oMTI4ODE0KSxzPW8oNjIzNTExKSxpPW8oOTI5NDg4KTtjb25zdCByPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsInNob3J0X25hbWUiLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJleGNoYW5nZSIsInR5cGVzcGVjcyIsImxpc3RlZF9leGNoYW5nZSIsImxhc3RfcHJpY2UiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsInN5bWJvbC1wcmltYXJ5bmFtZSIsImxvZ29pZCIsImxvZ28iLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJ1cGRhdGVfbW9kZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJwcm9fcGVybSIsInNvdXJjZSIsInNvdXJjZTIiLCJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsInZpc2libGUtcGxvdHMtc2V0IiwibG9jYWxfZGVzY3JpcHRpb24iLCJsYW5ndWFnZSIsInVuZGVybHlpbmctc3ltYm9sIl0pLGE9KDAscy5sYXp5VmFsdWUpKCgoKT0+bmV3IG4uUXVvdGVTZXNzaW9uU25hcHNob3Rlcih7bmFtZToiYmFzaWMtc3ltYm9sLXF1b3RlcyIsZmllbGRzOlsuLi5yXSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2V9KSkpLGw9bmV3IFNldChbInByb19uYW1lIl0pO2FzeW5jIGZ1bmN0aW9uIGMoZSl7cmV0dXJuKDAsaS5pc1NlcGFyYXRvckl0ZW0pKGUpP2U6YSgpLmdldFNuYXBzaG90KGUsbCkudGhlbigoZT0+ImVycm9yIj09PWUuc3RhdHVzP2Uuc3ltYm9sbmFtZTplLnZhbHVlcy5wcm9fbmFtZSkpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGMpKX1mdW5jdGlvbiBkKGUpe3JldHVybiB1KGUpLnRoZW4oKGU9PlsuLi5uZXcgU2V0KGUpXSkpfX0sODUxNDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZhY3Rvck91dEJyYWNlczooKT0+cCxnZXRUb2tlbkF0UG9zOigpPT5oLGlzQmluYXJ5T3BlcmF0b3I6KCk9PnUsaXNTcHJlYWQ6KCk9PmQscGFyc2VUb2tlbjooKT0+dixzaG9ydE5hbWU6KCk9Pm0sc3ltYm9sVG9rZW5Fc2NhcGVSZTooKT0+YSx0b2tlbml6ZTooKT0+Y30pO3ZhciBuLHM9byg5MDEwMjIpLGk9byg1NjkzOTgpOyFmdW5jdGlvbihlKXtlLlN5bWJvbD0ic3ltYm9sIixlLkluY29tcGxldGVTeW1ib2w9ImluY29tcGxldGVTeW1ib2wiLGUuTnVtYmVyPSJudW1iZXIiLGUuSW5jb21wbGV0ZU51bWJlcj0iaW5jb21wbGV0ZU51bWJlciIsZS5TZXBhcmF0b3JQcmVmaXg9InNlcGFyYXRvclByZWZpeCIsZS5PcGVuQnJhY2U9Im9wZW5CcmFjZSIsZS5DbG9zZUJyYWNlPSJjbG9zZUJyYWNlIixlLlBsdXM9InBsdXMiLGUuTWludXM9Im1pbnVzIixlLk11bHRpcGx5PSJtdWx0aXBseSIsZS5EaXZpZGU9ImRpdmlkZSIsZS5Qb3dlcj0icG93ZXIiLGUuV2hpdGVzcGFjZT0id2hpdGVzcGFjZSIsZS5VbnBhcnNlZD0idW5wYXJzZWQifShufHwobj17fSkpO2NvbnN0IHI9Lyg/OlteLStcLypeXHNdJ3xbYS16QS1aMC05X1x1MDM3MC1cdTFGRkZfXHUyRTgwLVx1RkZGRl0pKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMDIwXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXyF8Oi4mXSkqfCcuKz8nLyxhPS9bK1wtLypdLyxsPShlPSgwLGkuaXNGZWF0dXJlRW5hYmxlZCkoImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIikpPT4oe251bWJlcjplPy9cZCsoPzpcLlxkKnwoPyFbYS16QS1aMC05XyE6LiZdKSkoPzpccyooPz1ccyokKSk/fFwuXGQrKD86XHMqKD89XHMqJCkpPy86L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKXxcLlxkKy8saW5jb21wbGV0ZU51bWJlcjovXC4vLHN5bWJvbDpyLGluY29tcGxldGVTeW1ib2w6LydbXiddKi8sc2VwYXJhdG9yUHJlZml4OnMuU0VQQVJBVE9SX1BSRUZJWCxvcGVuQnJhY2U6IigiLGNsb3NlQnJhY2U6IikiLHBsdXM6IisiLG1pbnVzOiItIixtdWx0aXBseToiKiIsZGl2aWRlOiIvIixwb3dlcjoiXiIsd2hpdGVzcGFjZTovW1wwLVx4MjBcc10rLyx1bnBhcnNlZDpudWxsfSk7ZnVuY3Rpb24gYyhlLHQ9bCgpKXtpZighZSlyZXR1cm5bXTtjb25zdCBvPVtdLG49T2JqZWN0LmtleXModCk7bGV0IHM7Y29uc3QgaT0oKGU9bCgpKT0+bmV3IFJlZ0V4cChPYmplY3QudmFsdWVzKGUpLm1hcCgoZT0+e3JldHVybiBudWxsPT09ZT8iIjpgKCR7InN0cmluZyI9PXR5cGVvZiBlPyh0PWUsdC5yZXBsYWNlKC9bXF4kKClbXF17fSorP3xcXF0vZywiXFwkJiIpKTplLnNvdXJjZX0pYDt2YXIgdAp9KSkuZmlsdGVyKChlPT4iIiE9PWUpKS5jb25jYXQoIi4iKS5qb2luKCJ8IiksImciKSkodCk7Zm9yKDtzPWkuZXhlYyhlKTspe2xldCBlPSExO2ZvcihsZXQgdD1uLmxlbmd0aDt0LS07KWlmKHNbdCsxXSl7blt0XSYmby5wdXNoKHt2YWx1ZTpzW3QrMV0sdHlwZTpuW3RdLHByZWNlZGVuY2U6MCxvZmZzZXQ6cy5pbmRleH0pLGU9ITA7YnJlYWt9ZXx8by5wdXNoKHt2YWx1ZTpzWzBdLHR5cGU6InVucGFyc2VkIixwcmVjZWRlbmNlOjAsb2Zmc2V0OnMuaW5kZXh9KX1yZXR1cm4gb31mdW5jdGlvbiB1KGUpe3JldHVybiJwbHVzIj09PWV8fCJtaW51cyI9PT1lfHwibXVsdGlwbHkiPT09ZXx8ImRpdmlkZSI9PT1lfHwicG93ZXIiPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmxlbmd0aD4xJiZlLnNvbWUoKGU9PnUoZS50eXBlKSkpfWZ1bmN0aW9uIGgoZSx0KXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7Y29uc3Qgbj1lW29dLHM9InN5bWJvbCI9PT1uLnR5cGV8fCJpbmNvbXBsZXRlU3ltYm9sIj09PW4udHlwZXx8Im51bWJlciI9PT1uLnR5cGU7aWYobi5vZmZzZXQ8PXQmJnQ8PW4ub2Zmc2V0K24udmFsdWUubGVuZ3RoJiZzKXJldHVybiBufXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7ZT1mdW5jdGlvbihlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBvIG9mIGUpIndoaXRlc3BhY2UiIT09by50eXBlJiZ0LnB1c2gobyk7cmV0dXJuIHR9KGUpO2NvbnN0IHQ9W10sbz1bXTtsZXQgbjtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgaT1lW3NdO3N3aXRjaChpLnR5cGUpe2Nhc2UicGx1cyI6Y2FzZSJtaW51cyI6Y2FzZSJtdWx0aXBseSI6Y2FzZSJkaXZpZGUiOmNhc2UicG93ZXIiOm8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+aS5wcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWkucHJlY2VkZW5jZSk7YnJlYWs7Y2FzZSJvcGVuQnJhY2UiOm49e21pblByZWNlZGVuY2U6MS8wLG9wZW5CcmFjZUluZGV4OnN9LG8ucHVzaChuKTticmVhaztjYXNlImNsb3NlQnJhY2UiOntpZihuPW8ucG9wKCksIW4pYnJlYWs7Y29uc3QgaT1lW24ub3BlbkJyYWNlSW5kZXgtMV0scj1lW3MrMV0sYT1pJiYoInBsdXMiPT09aS50eXBlfHwibXVsdGlwbHkiPT09aS50eXBlKTsoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8PW4ubWluUHJlY2VkZW5jZSkmJighdShpPy50eXBlKXx8aT8ucHJlY2VkZW5jZTxuPy5taW5QcmVjZWRlbmNlfHxpPy5wcmVjZWRlbmNlPT09bj8ubWluUHJlY2VkZW5jZSYmYSkmJih0LnVuc2hpZnQobi5vcGVuQnJhY2VJbmRleCksdC5wdXNoKHMpLG8ubGVuZ3RoJiZvW28ubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+bi5taW5QcmVjZWRlbmNlJiYob1tvLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPW4ubWluUHJlY2VkZW5jZSkpfX19Zm9yKGxldCBvPXQubGVuZ3RoO28tLTspZS5zcGxpY2UodFtvXSwxKTtyZXR1cm4gZX1mdW5jdGlvbiBtKGUpe3JldHVybiBwKGMoZSkpLnJlZHVjZSgoKGUsdCk9PntpZigic3ltYm9sIiE9PXQudHlwZSlyZXR1cm4gZSt0LnZhbHVlO2NvbnN0WyxvXT12KHQpO3JldHVybiBvP2UrbzplfSksIiIpfWZ1bmN0aW9uIHYoZSl7Y29uc3QgdD0vXic/KD86KFtBLVowLTlfXSspOik/KC4qPyknPyQvaS5leGVjKGUudmFsdWUpO3JldHVybiBudWxsPT09dD9bdm9pZCAwLHZvaWQgMF06W3RbMV0sdFsyXV19fSwxMzg5OTQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7SWNvblF1ZXN0aW9uSW5mb3JtYXRpb246KCk9PnAsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25CdXR0b246KCk9PnYsSWNvblF1ZXN0aW9uSW5mb3JtYXRpb25MaW5rOigpPT5tfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygxMTk3NTApLGE9byg4NjUwOTIpLGw9bygzNDQ3ODUpLGM9bygxOTgyMDkpLHU9by5uKGMpO2Z1bmN0aW9uIGQoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKSwoMCxsLmhpZGUpKCl9Y29uc3QgaD1lPT57KDAsbC5zaG93T25FbGVtZW50KShlLmN1cnJlbnRUYXJnZXQse3Rvb2x0aXBEZWxheTowfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsZCl9LHA9KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxvbkNsaWNrOnM9aCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDpjLHNpemU6ZCwuLi5wfT1lLHt0b29sdGlwOm0sY2xhc3NOYW1lOnYsLi4uZn09KDAsYS51c2VUb29sdGlwKSh7dG9vbHRpcDplLnRvb2x0aXAsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITEsc2hvd1Rvb2x0aXA6bC5zaG93T25FbGVtZW50LGhpZGVUb29sdGlwOmwuaGlkZSxvbkNsaWNrOnN9LHQpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uUXVlc3Rpb25JbmZvcm1hdGlvbix7Y2xhc3NOYW1lOmkoKShvLHUoKVsiaWNvbi13cmFwcGVyIl0sbSYmdSgpWyJ3aXRoLXRvb2x0aXAiXSx2KSx0b29sdGlwOm0sc2l6ZTpkLC4uLnAsLi4uZn0pfSkpLG09KDAsbi5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtjbGFzc05hbWU6byxocmVmOnMscmVsOnIsdGFyZ2V0OmEsLi4ubH09ZSxjPSgwLG4udXNlTWVtbykoKCgpPT4oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+bi5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpzLHJlbDpyLHRhcmdldDphLHJlZjp0LC4uLmV9KSkpKSxbcyxyLGFdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLmwsY2xhc3NOYW1lOmkoKShvLHUoKVsid2l0aC1saW5rIl0pLHJlbmRlckNvbXBvbmVudDpjLHJlZjp0LGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOiEwfSl9KSksdj0oMCxuLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpvLHdpdGhBY3RpdmVTdGF0ZTpzLC4uLnJ9PWUsYT0oMCwKbi51c2VNZW1vKSgoKCk9PigwLG4uZm9yd2FyZFJlZikoKChlLHQpPT5uLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsey4uLmUscmVmOnQsdHlwZToiYnV0dG9uIn0pKSkpLFtdKTtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KHAsey4uLnIsY2xhc3NOYW1lOmkoKShvLCFzJiZ1KClbIm5vLWFjdGl2ZS1zdGF0ZSJdKSxyZW5kZXJDb21wb25lbnQ6YSxyZWY6dH0pfSkpfSw3MDg4NDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7VG9vbFdpZGdldENhcmV0OigpPT5jfSk7dmFyIG49byg3Nzk0NzQpLHM9byg5MTQ0ODcpLGk9by5uKHMpLHI9bygyNzMzMTApLGE9byg4MTAyODEpLGw9bygzNTY3MjEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7ZHJvcHBlZDp0LGNsYXNzTmFtZTpvfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKG8sYS5pY29uLHtbYS5kcm9wcGVkXTp0fSksaWNvbjpsfSl9fSwxNzA0NChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthY3RpdmVQcm9TeW1ib2xRdW90ZXNQcm92aWRlcjooKT0+bH0pO3ZhciBuPW8oODM5NDI2KSxzPW8oMTU5NTEzKSxpPW8oMzA5MDUyKSxyPW8oMjI1Mjk4KSxhPW8oOTQ4MzgwKTtjb25zdCBsPSgwLG4uZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oMCxzLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgiZnVsbCIpO2xldCB0PW51bGw7Y29uc3Qgbz1uZXcgYS5EZWxlZ2F0ZSxuPShlLHQpPT57by5maXJlKGUsdCl9O3JldHVybiByLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSgobz0+e3QmJmUudW5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsdCxuKSx0PW8sbyYmZS5zdWJzY3JpYmUoIkFDVElWRV9QUk9fU1lNQk9MX1FVT1RFU19QUk9WSURFUiIsbyxuKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx7cXVvdGVzOigpPT50P2kuUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0KTpudWxsLHF1b3Rlc1VwZGF0ZTooKT0+byxyZXF1ZXN0ZWRTeW1ib2w6KCk9PnR9fSkpfSwyNjE5MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVib3VuY2VIaWRlVG9vbHRpcDooKT0+YSxzaG93VG9vbHRpcDooKT0+dX0pO3ZhciBuPW8oNTQ3ODUxKSxzPW8oMzQ0Nzg1KSxpPW8oNDgzNDA5KSxyPW8oMTg1MjcxKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkobCwxNTAwKTtmdW5jdGlvbiBsKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixsKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsbCksKDAscy5oaWRlKSgpfWNvbnN0IGM9NDAwO2Z1bmN0aW9uIHUoZSx0PXt9KXtjb25zdHtpbml0aWFsRGVsYXk6bj1jLGxlYXZlT25Nb3VzZU91dDphLHdpdGhvdXRUaHVtYnN1cEljb246dSx0ZXh0OmQ9ci50KG51bGwsdm9pZCAwLG8oNDQ3MTUwKSl9PXQ7KDAscy5zaG93T25FbGVtZW50KShlLHtiZWxvdzohMCx0b29sdGlwRGVsYXk6bixjb250ZW50Ont0eXBlOiJodG1sIixkYXRhOmAke2R9JHt1PyIiOmAgPHNwYW4gc3R5bGU9InZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij4ke2l9PC9zcGFuPmB9YH19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGwpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGwpLGF8fGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixsKX19LDkxMTMyNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtleHRyYWN0VGFiUGF0aDooKT0+ZyxnZXRTeW1ib2xQYWdlUGF0aDooKT0+YyxtYWtlU3ltYm9sQ2hhcnRVcmw6KCk9PmYsbWFrZVN5bWJvbFBhZ2VVcmw6KCk9PnZ9KTtvKDk2MzkwMCk7dmFyIG49bygzMDk4MzYpLHM9bygyNDE5MzcpLGk9byg4NTE0NTgpLHI9bygxNTY4MjkpO2NvbnN0IGE9bmV3IFNldChbIlNQOlNQWCIsIkNCT0U6U1BYIl0pO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD17Li4uZX07aWYoInNwcmVhZCI9PT10LnR5cGV8fCJleHByZXNzaW9uIj09PXQudHlwZSl7Y29uc3QgZT10LnNob3J0TmFtZSYmdSh0LnNob3J0TmFtZSksbz10LnByb05hbWUmJnUodC5wcm9OYW1lKTt0LnR5cGU9dm9pZCAwLHQuc2hvcnROYW1lPWUsdC5wcm9OYW1lPW99cmV0dXJuIHR9ZnVuY3Rpb24gYyhlLHQpe2NvbnN0IG89bChlKTtyZXR1cm4gaChwKG8sdCksZChvKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4oMCxpLnRva2VuaXplKShlKS5maW5kKChlPT4ic3ltYm9sIj09PWUudHlwZSkpPy52YWx1ZX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9e3Nob3J0TmFtZTplLnNob3J0TmFtZSxleGNoYW5nZTplLmV4Y2hhbmdlLHByb05hbWU6ZS5wcm9OYW1lLHR5cGU6ZS50eXBlLHR5cGVzcGVjczplLnR5cGVzcGVjcyxyb290OmUucm9vdH07cmV0dXJuIHQucHJvTmFtZSYmdC5wcm9OYW1lLmluY2x1ZGVzKCI6IikmJihbdC5leGNoYW5nZSx0LnNob3J0TmFtZV09dC5wcm9OYW1lLnNwbGl0KCI6IikpLHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG89ZW5jb2RlVVJJQ29tcG9uZW50KHQuc2hvcnROYW1lfHwiIiksbj1lbmNvZGVVUklDb21wb25lbnQodC5leGNoYW5nZXx8IiIpLHM9ZW5jb2RlVVJJQ29tcG9uZW50KHQucHJvTmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQucm9vdHx8IiIpO3JldHVybiBlLnJlcGxhY2UoInt0dmV4Y2hhbmdlfSIsbikucmVwbGFjZSgie3R2c3ltYm9sfSIsbykucmVwbGFjZSgie3R2cHJvc3ltYm9sfSIscykucmVwbGFjZSgie3R2cm9vdH0iLGkpfWZ1bmN0aW9uIHAoZSx0PSIiKXtjb25zdCBvPWQoZSkse3R5cGU6bix0eXBlc3BlY3M6cyxzaG9ydE5hbWU6aSxwcm9OYW1lOmwsZXhjaGFuZ2U6Yyxyb290OnV9PW87cmV0dXJuIHZvaWQgMD09PWkmJnZvaWQgMD09PWw/KGNvbnNvbGUud2FybigiUGFyYW1zIG1pc3NlZCIpLAoiLyIpOmwmJmEuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOm58fHM/ImNvbW1vZGl0eSI9PT1uJiZzJiZzLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohdXx8IXN8fCJmdXR1cmVzIiE9PW58fHMuaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmaT8uZW5kc1dpdGgoIjEhIil8fHMuaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PW58fHMmJigwLHIuaGFzQ3J5cHRvVHlwZXNwZWMpKHMpKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCxvLGkpe2NvbnN0IHI9KHdpbmRvdy5sb2NhbGVfZG9tYWlucz8oMCxzLmRldGVybWluZUJhc2VVcmwpKHdpbmRvdy5sb2NhbGVfZG9tYWlucyxpKTp3aW5kb3cubG9jYXRpb24ub3JpZ2luKStoKGUsZChsKHQpKSk7cmV0dXJuIG8/KDAsbi5hZGRVdG1Ub1VybCkocixvKTpyfWZ1bmN0aW9uIHYoZSx0LG8sbil7Y29uc3Qgcz1sKGUpO3JldHVybiBtKHAocyxuKSxzLHQsbyl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBtKCIvY2hhcnQvP3N5bWJvbD17dHZwcm9zeW1ib2x9IixlLHQpfWZ1bmN0aW9uIGcoZSx0KXtjb25zdCBvPWMoe3Byb05hbWU6ZX0pO3JldHVybiB0LnN0YXJ0c1dpdGgobyk/dC5yZXBsYWNlKG8uc2xpY2UoMCxvLmxlbmd0aC0xKSwiIik6bnVsbH19LDY3MzA2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTQtOS45N0wxMS45IDYgOC4zIDkuODIgNi4xIDcuNDYgNC45OSA4LjUgOC4zMiAxMiAxMyA3LjAzWiIvPjwvc3ZnPid9LDQwMDA0NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZaTTkgNGMtLjc5IDAtMS4zOC43LTEuMjUgMS40OGwuNjcgNC4wM2EuNTkuNTkgMCAwIDAgMS4xNiAwbC42Ny00LjAzQTEuMjcgMS4yNyAwIDAgMCA5IDRabTAgOGExIDEgMCAxIDAgMCAyIDEgMSAwIDAgMCAwLTJaIi8+PC9zdmc+J30sNTI3MjE5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabTEtMTJhMSAxIDAgMSAxLTIgMCAxIDEgMCAwIDEgMiAwWk04LjUgOS41SDdWOGgzdjZIOC41VjkuNVoiLz48L3N2Zz4nfSw3ODU5OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wm0tMS00YTEgMSAwIDEgMCAyIDAgMSAxIDAgMCAwLTIgMFptMi44My0zLjUyYy0uNDkuNDMtLjk3Ljg1LTEuMDYgMS41Mkg4LjI2Yy4wOC0xLjE4Ljc0LTEuNjkgMS4zMi0yLjEzLjQ5LS4zOC45Mi0uNzEuOTItMS4zN0MxMC41IDYuNjcgOS44MiA2IDkgNnMtMS41LjY3LTEuNSAxLjVWOEg2di0uNWEzIDMgMCAxIDEgNiAwYzAgLjk2LS42IDEuNDgtMS4xNyAxLjk4WiIvPjwvc3ZnPid9LDQwOTQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgNEg2djE5aDE1VjEwaDF2MTRINVYzaDEyem0tMyAydjJoMWEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTNhMiAyIDAgMSAwIDAgNGgzYTMgMyAwIDEgMSAwIDZoLTF2MmgtMXYtMmgtMWEzIDMgMCAwIDEtMy0zaDFhMiAyIDAgMCAwIDIgMmgzYTIgMiAwIDEgMCAwLTRoLTNhMyAzIDAgMSAxIDAtNmgxVjZ6bTExLS41LTIuMzM5IDIuMzU0LS43MDctLjcwOEwyMy4xMDEgNkgxOVY1aDQuMWwtMS4xNDYtMS4xNDYuNzA3LS43MDh6Ii8+PC9zdmc+J30sODQ0NjQxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgMTZhNSA1IDAgMCAxIDUgNWgtMWE0IDQgMCAwIDAtNC00SDhhNCA0IDAgMCAwLTQgNEgzYTUgNSAwIDAgMSA1LTV6bTkgMWE0IDQgMCAwIDEgNCA0aC0xYTMgMyAwIDAgMC0zLTNoLTN2LTF6bS0xLjUtOWMuNDY0IDAgLjY5NyAwIC44OTIuMDI1YTMgMyAwIDAgMSAyLjU4MyAyLjU4M2MuMDI1LjE5NS4wMjUuNDI4LjAyNS44OTJzMCAuNjk3LS4wMjUuODkxbC0uMDQ0LjI1YTMgMyAwIDAgMS0yLjU0IDIuMzMzbC0uMTU2LjAxNWMtLjE2OS4wMS0uMzg3LjAxLS43MzUuMDFzLS41NjYgMC0uNzM1LS4wMWwtLjE1Ny0uMDE1YTMgMyAwIDAgMS0yLjUzOS0yLjMzNGwtLjA0NC0uMjQ5QzE2IDEyLjE5NyAxNiAxMS45NjQgMTYgMTEuNXMwLS42OTcuMDI1LS44OTJhMyAzIDAgMCAxIDIuNTgzLTIuNTgzQzE4LjgwMyA4IDE5LjAzNiA4IDE5LjUgOE0xMCA2Yy40NjQgMCAuNjk2IDAgLjg5Mi4wMjJhMy41IDMuNSAwIDAgMSAzLjA4NSAzLjA4NkMxNCA5LjMwMyAxNCA5LjUzNiAxNCAxMHMwIC42OTYtLjAyMy44OTFhMy41IDMuNSAwIDAgMS0zLjA4NSAzLjA4NkMxMC42OTYgMTQgMTAuNDY0IDE0IDEwIDE0Yy0uMzQ4IDAtLjU2NiAwLS43MzUtLjAxbC0uMTU3LS4wMTNhMy41IDMuNSAwIDAgMS0zLjAzOS0yLjc4NWwtLjA0Ny0uM0M2LjAwMSAxMC42OTUgNiAxMC40NjMgNiAxMGMwLS4zNDggMC0uNTY2LjAxLS43MzZsLjAxMi0uMTU2QTMuNSAzLjUgMCAwIDEgOC44MDggNi4wN2wuMy0uMDQ3QzkuMzA0IDYgOS41MzYgNiAxMCA2bTkuNSAzYy0uNDk2IDAtLjY0Ny4wMDItLjc2LjAxN2EyIDIgMCAwIDAtMS43MjIgMS43MjJjLS4wMTUuMTE0LS4wMTguMjY1LS4wMTguNzYgMCAuNDk2LjAwMy42NDguMDE4Ljc2MWEyIDIgMCAwIDAgMS43MjEgMS43MjJjLjExNC4wMTUuMjY1LjAxOC43NjEuMDE4cy42NDctLjAwMy43Ni0uMDE4YTIgMiAwIDAgMCAxLjcyMi0xLjcyMWMuMDE1LS4xMTQuMDE4LS4yNjYuMDE4LS43NjEgMC0uNDk2LS4wMDMtLjY0Ny0uMDE4LS43NjFhMiAyIDAgMCAwLTEuNzIxLTEuNzIyQzIwLjE0NyA5LjAwMiAxOS45OTYgOSAxOS41IDlNMTAgN2MtLjQ5MiAwLS42NTUuMDAxLS43OC4wMTVBMi41IDIuNSAwIDAgMCA3LjAxNiA5LjIyQzcgOS4zNDUgNyA5LjUxIDcgMTBjMCAuNDkyLjAwMi42NTYuMDE2Ljc4MWEyLjUgMi41IDAgMCAwIDIuMjA0IDIuMjA0Yy4xMjUuMDE0LjI4OC4wMTYuNzguMDE2cy42NTUtLjAwMi43OC0uMDE2YTIuNSAyLjUgMCAwIDAgMi4yMDQtMi4yMDRjLjAxNC0uMTI1LjAxNi0uMjg5LjAxNi0uNzhzLS4wMDItLjY1NS0uMDE2LS43OGEyLjUgMi41IDAgMCAwLTIuMjA0LTIuMjA1QzEwLjY1NSA3LjAwMSAxMC40OTIgNyAxMCA3Ii8+PC9zdmc+J30sMjI4OTU4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiAxMC41VjI0SDZWNGgxMC41ek03IDIzaDE0VjExaC01VjVIN3ptMTItNEg5di0xaDEwem0wLTRIOXYtMWgxMHptLTYtNEg5di0xaDR6bTQtMWgzLjI2N0wxNyA2LjEzOXoiLz48L3N2Zz4nfSwxODcxNDcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTE3LjM5NCA2LjAxNC4yMTIuMTUzQTEzIDEzIDAgMCAxIDIzIDE2LjcwOVYyM2wtLjAwNC4xNTRhMyAzIDAgMCAxLTIuODQyIDIuODQyTDIwIDI2SDhhMyAzIDAgMCAxLTIuOTk2LTIuODQ2TDUgMjN2LTYuMjkxQTEzIDEzIDAgMCAxIDEwLjA4IDYuNGwuMzE0LS4yMzMuMjExLS4xNTNMOSAyaDEwek0xMC45NDkgN0ExMiAxMiAwIDAgMCA2IDE2LjcwOVYyM2EyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTYuMjkxQTEyIDEyIDAgMCAwIDE3LjA1IDd6TTExIDE3SDl2MWgxLjc0M3YxSDl2MWgydjFIOHYtNWgzem01IDBoLTEuNDgydjRoLTEuMDMzdi00SDEydi0xaDR6bTQgMGgtMnYxaDEuNzcxdjFIMTh2MmgtMXYtNWgzek0xMS42NzcgNmg0LjY0NmwxLjItM2gtNy4wNDZ6Ii8+PC9zdmc+J30sOTI2Njk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSAyNWgtMXYtMmgxem0wLTRoLTF2LTJoMXptOC0xM3Y1aC0xVjkuNzA3bC03LjQ2MyA3LjQ2My01LTQtNC42ODMgNC42ODQtLjcwOC0uNzA3IDUuMzE3LTUuMzE3IDUgNEwyMS4yOTMgOUgxOFY4em0tOCA1aC0xdi0yaDF6bTAtNGgtMVY3aDF6bTAtNGgtMVYzaDF6Ii8+PC9zdmc+J30sODU5NzkxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxMmMxLjI5NiAwIDIuNDkzLjIzMiAzLjM4NS42MjkuNDQ1LjE5Ny44MzcuNDQ3IDEuMTI0Ljc0OC4yODkuMzAzLjQ5LjY4NC40OTEgMS4xMjN2Mi40NnEuMjg0LS4xODQuNjE1LS4zMzFjLjg5Mi0uMzk3IDIuMDktLjYzIDMuMzg1LS42MyAxLjI5NiAwIDIuNDkzLjIzMyAzLjM4NS42My40NDUuMTk3LjgzNy40NDcgMS4xMjQuNzQ4LjI4OS4zMDMuNDkuNjg0LjQ5MSAxLjEyM3YzYzAgLjQzOC0uMjAyLjgxOS0uNDkxIDEuMTIzLS4yODcuMzAxLS42NzkuNTUtMS4xMjQuNzQ4LS44OTIuMzk2LTIuMDkuNjI5LTMuMzg1LjYyOS0xLjI5NiAwLTIuNDkzLS4yMzMtMy4zODUtLjYzLS40NDUtLjE5Ny0uODM3LS40NDYtMS4xMjQtLjc0N2ExLjggMS44IDAgMCAxLS40MDctLjY0MnEtLjMxNi4yMi0uNy4zOWMtLjg5LjM5Ni0yLjA4Ny42MjktMy4zODQuNjI5cy0yLjQ5My0uMjMzLTMuMzg1LS42M2MtLjQ0NS0uMTk3LS44MzctLjQ0Ni0xLjEyNC0uNzQ3QzQuMjAyIDIxLjMxOSA0IDIwLjkzOCA0IDIwLjV2LTZjMC0uNDM5LjIwMi0uODIuNDkxLTEuMTIzLjI4Ny0uMzAyLjY3OS0uNTUgMS4xMjQtLjc0OC44OTItLjM5NyAyLjA5LS42MyAzLjM4NS0uNjNtMTMgOC4wMzlhNC40IDQuNCAwIDAgMS0uNjE1LjMzMmMtLjg5Mi4zOTYtMi4wOS42MjktMy4zODUuNjI5LTEuMjk2IDAtMi40OTMtLjIzMy0zLjM4NS0uNjNBNC4zIDQuMyAwIDAgMSAxNCAyMC4wNHYxLjQ2YzAgLjExNC4wNS4yNi4yMTYuNDM0LjE2OC4xNzcuNDM3LjM2LjgwNi41MjQuNzM2LjMyNyAxLjc4OS41NDMgMi45NzguNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3ptLTE3IC40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3YtMS40NmE0LjQgNC40IDAgMCAxLS42MTUuMzNjLS44OTIuMzk3LTIuMDkuNjMtMy4zODUuNjMtMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjQgNC40IDAgMCAxIDUgMTkuMDR6TTE4IDE3Yy0xLjE5IDAtMi4yNDIuMjE2LTIuOTc5LjU0NC0uMzY4LjE2NC0uNjM3LjM0Ni0uODA1LjUyMy0uMTY2LjE3NS0uMjE2LjMyLS4yMTYuNDM0cy4wNS4yNTkuMjE2LjQzM2MuMTY4LjE3Ny40MzcuMzYuODA2LjUyNC43MzYuMzI3IDEuNzg5LjU0MyAyLjk3OC41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNS0uNTIzQzIwLjI0MiAxNy4yMTUgMTkuMTg5IDE3IDE4IDE3bS01LS45NmE0LjQgNC40IDAgMCAxLS42MTUuMzMyYy0uODkyLjM5Ni0yLjA5LjYyOS0zLjM4NS42MjktMS4yOTYgMC0yLjQ5My0uMjMzLTMuMzg1LS42M0E0LjMgNC4zIDAgMCAxIDUgMTYuMDR2MS40NmMwIC4xMTQuMDUuMjYuMjE2LjQzNC4xNjguMTc3LjQzNy4zNi44MDUuNTI0LjczNy4zMjcgMS43OS41NDMgMi45NzkuNTQzczIuMjQyLS4yMTYgMi45NzktLjU0M2MuMzY4LS4xNjQuNjM3LS4zNDcuODA1LS41MjQuMTY2LS4xNzQuMjE2LS4zMi4yMTYtLjQzM3pNOSAxM2MtMS4xOSAwLTIuMjQyLjIxNi0yLjk3OS41NDQtLjM2OC4xNjQtLjYzNy4zNDYtLjgwNS41MjMtLjE2Ni4xNzUtLjIxNi4zMi0uMjE2LjQzNHMuMDUuMjU5LjIxNi40MzNjLjE2OC4xNzguNDM3LjM2LjgwNS41MjQuNzM3LjMyNyAxLjc5LjU0MyAyLjk3OS41NDNzMi4yNDItLjIxNiAyLjk3OS0uNTQzYy4zNjgtLjE2NC42MzctLjM0Ny44MDUtLjUyNC4xNjYtLjE3NC4yMTYtLjMyLjIxNi0uNDMzIDAtLjExNC0uMDUtLjI2LS4yMTYtLjQzNC0uMTY4LS4xNzctLjQzNy0uMzYtLjgwNi0uNTIzQzExLjI0MyAxMy4yMTUgMTAuMTkgMTMgOSAxM20xMi41LTRhMi41IDIuNSAwIDEgMSAwIDUuMDAyQTIuNSAyLjUgMCAwIDEgMjEuNSA5bS40OTktMy4zNEwxNS43NjYgMTNsLS43NjQtLjYzTDIxLjIzNSA1ek0yMS41IDEwYTEuNSAxLjUgMCAxIDAgMCAzLjAwMSAxLjUgMS41IDAgMCAwIDAtM20tNi02YTIuNSAyLjUgMCAxIDEgMCA1LjAwMkEyLjUgMi41IDAgMCAxIDE1LjUgNG0wIDFhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwzNzQ2MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIxIDEzaDN2OC41YTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTVhMi41IDIuNSAwIDAgMS0yLjQ4Ny0yLjI0NEw0IDIxLjVWNWgxN3pNNSAyMS41QTEuNSAxLjUgMCAwIDAgNi41IDIzSDIwVjZINXpNMjEgMjNoLjVhMS41IDEuNSAwIDAgMCAxLjUtMS41VjE0aC0yem0tNy0zSDd2LTFoN3ptNC0zSDd2LTFoMTF6bS03LTRIN1Y5aDR6bTcgMGgtNXYtMWg1ek04IDEyaDJ2LTJIOHptMTAtMmgtNVY5aDV6Ii8+PC9zdmc+J30sODg3NjYzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDEyaDguMTdsMi45NTgtNS45ODEuODk2LjQ0M0wxNy4yODYgMTJoLjA1MmwtLjQ5MyAxaC0uMDUzbC0zLjMyMiA2LjcyLS4xMzguMjhIOHY1SDdWM2gxem0wIDdoNC43MWwyLjk2Ny02SDh6bTE1LTZoLTUuMDRsLjQ5My0xSDIzeiIvPjwvc3ZnPid9LDYyNzYwMihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTIwLjUwNSA5LjQyOS4zOTQuNzg4YTguMSA4LjEgMCAwIDEgLjUwMiA2LjAxM2MxLjQwNy0uMzI5IDIuNjkyLS4xNzIgNC4xMDMuMjgzbC40OTYuMTU3LS4xNzguNDg0Yy0uNzgxIDIuMjItMi43MjUgMy44Ni00LjY3OCA0LjU3Ni41NS41NzIuOTI2IDEuMjUzIDEuMjcgMS44NzVsLjA3My4xMzEuMjQ1LjQ0NC0uNDQ1LjIzOWMtMi4yNDIgMS4yMDctNSAuNDA4LTYuNjE0LTEuMzU1bC0uNTMxIDEuNDAyLS45MzUtLjM1NC41MTUtMS4zNmMtMi4zNi4zNDEtNS4wMTItLjc3NC01Ljk5OC0zLjEwOGwtLjE5OC0uNDY3LjQ3LS4xOWMuNjk1LS4yODQgMS40MTItLjU3IDIuMi0uNzEtMS41NDItMi4yNDEtMS40Mi00LjE3NS0uNjM2LTYuNDA0bC4xNi0uNDUxLjQ1Ny4xMzhjMS4zOTguNDI0IDIuNjA5IDEuMDQxIDMuNDQzIDIuMjY0YTkuMDIgOS4wMiAwIDAgMSA0LjMxMi00LjIwMmwuOTE3LS40MjMuNDQtLjIwM3pNMTkuMzUgMTAuNTNhOC4wMiA4LjAyIDAgMCAwLTQuMTEyIDQuMzY3bC0uMDk4LjI1Mi0uNDQ2IDEuMTQtLjQ4LTEuMTI1Yy0uNTczLTEuMzQyLTEuNTMxLTIuMDI0LTIuODYtMi40OTQtLjYwNCAyLjA4My0uNTQ0IDMuODY3IDEuMTc0IDUuNjg0bC43NTMuODMyLTEuMTIzLjAwM2MtLjc5Ni4wMDMtMS41MDguMjIxLTIuMjgzLjUyMiAxLjA1NiAxLjc2OCAzLjQ5NyAyLjUzIDUuNDg2IDEuODY2bC4zNy0uMTIzLjIxLjMyN2MxLjEzMSAxLjc2MiAzLjQ4MyAyLjY4NSA1LjQwNyAxLjk2OC0uNDI5LS43NTQtLjg0NS0xLjM4Ny0xLjUxNi0xLjgxNWwtMS4wMjYtLjY1NiAxLjE5MS0uMjU1YzEuOC0uMzg0IDMuNzgxLTEuNzY3IDQuNjgzLTMuNzEyLTEuMzU0LS4zNjQtMi41NC0uMzY3LTMuOTI2LjE2MmwtMS4wODcuNDE1LjQ0Ny0xLjA3NS4wOTctLjIzYTcuMSA3LjEgMCAwIDAtLjIwNi01LjkxOGwtLjE3OC0uMzU1em0tMTMuOTc5IDYuNy0xLjg3IDEuMDk4LS41MDYtLjg2MyAxLjg3LTEuMDk3ek0xMi41IDZhNi40OSA2LjQ5IDAgMCAxIDUuMiAyLjU5OWwtLjcxNi43MTVhNS41IDUuNSAwIDEgMC03LjY3IDcuNjdMOC42IDE3LjdBNi41IDYuNSAwIDAgMSAxMi41IDZNNCAxMnYxSDJ2LTF6bTEuNDMtNC4yNzQtLjUwNy44NjItMS45MjctMS4xMzQuNTA4LS44NjF6TTE4LjMxNSAzLjUgMTcuMjEgNS40MDNsLS44NjQtLjUwMkwxNy40NSAzek04LjY0NyA0Ljg0OWwtLjg2NS41MDItMS4wNy0xLjg0Ljg2NS0uNTAyek0xMyA0aC0xVjJoMXoiLz48L3N2Zz4nfSw2NzQ5MDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQuNSAyMmgtMXYtM2gxem0zIDBoLTF2LTZoMXptMyAwaC0xdi04aDF6bTMgMGgtMXYtNmgxem0zIDBoLTF2LTRoMXptMyAwaC0xdi02aDF6bTMgMGgtMXYtOGgxem0tLjE0Ni0xNC4xNDYtNC41ODYgNC41ODZhMi41IDIuNSAwIDAgMS0zLjUzNiAwbC0zLjE3MS0zLjE3MmExLjUgMS41IDAgMCAwLTIuMTIyIDBsLTQuNTg1IDQuNTg2LS43MDgtLjcwN0w4LjIzMiA4LjU2YTIuNSAyLjUgMCAwIDEgMy41MzYgMGwzLjE3MiAzLjE3MWExLjUgMS41IDAgMCAwIDIuMTIgMGw0LjU4Ny00LjU4NnoiLz48L3N2Zz4nfSwzNTY3MjEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDgiIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0wIDEuNDc1bDcuMzk2IDYuMDQuNTk2LjQ4NS41OTMtLjQ5TDE2IDEuMzkgMTQuODA3IDAgNy4zOTMgNi4xMjIgOC41OCA2LjEyIDEuMTg2LjA4eiIvPjwvc3ZnPid9LDQ4MzQwOShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDApIj48cGF0aCBmaWxsPSIjRkZEQjVFIiBkPSJNMTMuNjUxIDcuOTcyYzAtLjE2OC0uMDQtLjMyNS0uMTA3LS40NjgtLjQ0Ny0xLjQ0Mi0yLjU0LTEuMzM3LTUuNTE2LTEuNDA3LS40OTgtLjAxMi0uMjEzLS42LS4wMzgtMS44OS4xMTMtLjgzOC0uNDI4LTIuMTI3LTEuMzM3LTIuMTI3LTEuNSAwLS4wNTcgMS4xODMtMS4zODMgNC4xMDgtLjcwOCAxLjU2Mi0yLjI5MS42ODctMi4yOTEgMi4yNTd2My41NzNjMCAuNjEuMDYgMS4xOTguOTE5IDEuMjk1LjgzMy4wOTMuNjQ2LjY4NyAxLjg0Ny42ODdoNi4wMTVhMS4xMTIgMS4xMTIgMCAwIDAgMS4xMS0xLjExMWMwLS4yNTQtLjA4OC0uNDg2LS4yMzItLjY3My4zNC0uMTkuNTczLS41NS41NzMtLjk2NmExLjEgMS4xIDAgMCAwLS4yMzItLjY3MmMuMzQxLS4xOS41NzYtLjU1LjU3Ni0uOTY3IDAtLjMwMy0uMTIzLS41NzgtLjMyLS43NzlhMS4xMDUgMS4xMDUgMCAwIDAgLjQxNi0uODZ6Ii8+PHBhdGggZmlsbD0iI0VFOTU0NyIgZD0iTTkuNjczIDkuMDgzaDIuODY3Yy4zOSAwIC43NTctLjIwOS45NTYtLjU0NGEuMjkyLjI5MiAwIDAgMC0uNTAyLS4yOTguNTMuNTMgMCAwIDEtLjQ1NC4yNTlIOS42MDRhLjUyOC41MjggMCAwIDEgMC0xLjA1NmgxLjk2MmEuMjkyLjI5MiAwIDAgMCAwLS41ODNIOS42MDNhMS4xMTIgMS4xMTIgMCAwIDAtMS4xMSAxLjExMWMwIC4zNDIuMTU4LjY0NC40Ljg0OGExLjEwNyAxLjEwNyAwIDAgMC0uMzMyLjc5MWMwIC4zNDMuMTYuNjQ2LjQwNC44NWExLjEwNSAxLjEwNSAwIDAgMCAuMTQgMS42OTMgMS4xMDIgMS4xMDIgMCAwIDAgLjA0MiAxLjUyYy4yMDguMjA4LjQ5LjMyNS43ODUuMzI2aDEuODI4YTEuMTE3IDEuMTE3IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDItLjI5OC41MzEuNTMxIDAgMCAxLS40NTQuMjU4SDkuOTMyYS41MjguNTI4IDAgMCAxIDAtMS4wNTVIMTIuMWExLjExNyAxLjExNyAwIDAgMCAuOTU2LS41NDQuMjkyLjI5MiAwIDEgMC0uNTAxLS4yOTguNTI2LjUyNiAwIDAgMS0uNDU0LjI1OUg5Ljc0NWEuNTI5LjUyOSAwIDAgMSAwLTEuMDU2aDIuNjk3YTEuMTE2IDEuMTE2IDAgMCAwIC45NTYtLjU0NC4yOTIuMjkyIDAgMCAwLS41MDEtLjI5OC41MjUuNTI1IDAgMCAxLS40NTUuMjU5aC0yLjc3YS41MjkuNTI5IDAgMCAxIDAtMS4wNTZ6Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMikiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/buy-arrow.ab6dfe4115479bd04dd3.svg","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.281Z","timestamp":1785136430281,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/buy-arrow.ab6dfe4115479bd04dd3.svg HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136430.1.1785136430..e10326a9-5e0a-4b24-bb1b-ef5e2ad69273..b8a217f6-bdbb-4762-8027-7add5bfbfb8e.1785136429729.1\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/cgb.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.058Z","timestamp":1785136422058,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/cgb.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7254\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":7254,"size_decoded":7595,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"f34f2a445497ebc7258642e14eae9956","sha1":"66ba604ac13c40128787dea32305f02f671ea26d","sha256":"c512657ca0cef7e21053b05be5519bf27f51a855ac95a9fdc7e62dfef34b3be9","sha512":"0784cdc0b6dbb8256b851f53b2ce9b9937be24af62391b4cb7b3a75828590f4148996b9a901266b70ec72c085e6b0d524d617f95c616fc6bf02d08d48a8d04f8","ssdeep":"192:zPqL/8iFVqPxsYVAAlKzIzGKeK7rixkm8:zST8+VqPqWDGKB7ck1","tlshash":"96e1bebb4a7f8569e31367d07ca596ffb80805f5834e8c4a22c25470b4fadd2075949d","first_seen":"2025-12-03T04:46:43.783685Z","last_seen":"2026-07-29T06:14:00.399616Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAG/hJREFUeNrsXQd4HNW1/mdm+2q1RV2WJVnCTW4yxgYbgzE2oUOwA4HQTAmGQF5CgBcSHhDge4EPeIQSCIGYJCQ0E0rozdhgBAY3SbblLtuyZPWyXkm72vruuTuStVpJntldFfPe0Xe0u6PR7Mw99/RzzxWKS6+DWgiGBOQZnKjyWNHgMyFZ44Xbr4FGDEIvBtDEjmmEICxSFzqDWmiFADwuA4xODZosIqySG14doNMFoAmF0ObXwyj5YWD/e9ivY9cIv/cENXAFtEgSvWjcajayr85gmCXjGIZWhhJDQRBCuOa0Lb6uoORhn50MGxjWMaxn2MiwU9HDiSHAowGa9YDFx96zy9u8gDYIhDDkoMEohIYtZpG95DKcxXCuG9qZ7LWQYRpDQz//IoTYJBEQCtGYCUeO00c3wyaGexluYrie4WaGBxj6RtuzjxqCNG4xMZ7BCQwvYngGw/EM9fL4CpHjPCD0d06SjHkMF8pEYlMelQw/Y/i2TKSO/ycIg+pyy/Hs5RKG58tcQPckKiSAGuhNVBJ/RQwnM7yZYRXDDxi+yrDk/xxB6vYaSfZfyXApQxJH5m5dMIy30U0gIv44hjcyvJphOcP3GB+9Iou17y9BDjaLZjTjUvb25/Ls7OaGkQZBvhcLgsJc6AJzkOG+Ee3aZxhhVrDjzd8rglSXJZN+uJjhfzKcyFA3zNygBkSOmlAubF0PwC9ehYD4P+zYvxm2DMeXD+G0C6G+3Hwme/sFw+cZTuulqEc3hOj2BR2kUBH0gafZ5xJZzB6bBGnaYsyrLLW/wN6SLJ4jK9LRT4j+55VR5uxnZKts0jFDELr7tq36m2WuuIKhfZToiUToGTKfz2W4muHvh+K5EqpDDpYl29jL47IvkTzcI+YJueEL6dko0Y8AUeC/ZQkUSuSYZTK8VXZcyUDZNeo4pHZL0lz28jHDy0aCGATZ2lxYRCs0ohZB9tMRaEdboIVhKzoDHexIgE/07p84gSIGi7iJDPxwVHFI5WYbOXcrZNk6pHpCFAQk6XVwGI1I1Ztg0RmQZjBhXJINv84+mXFJF7whL9yMAE3+BtT5DqHeV4ODXfuxv2sPXIxAdIcSe3SjaIJWIOKFEGOgSpIjCo8xJGq/O6IEEdlDNG0x/YS9fUB2rhJKDEkUYDUYMDt9DCYlp+OHudOglzSY7shiIyFw4vSd6UndRpI2hPzQeDZKfgRCASbKfGjy1aPaux8Nvlrs7qrA9s4taAk0csIYBFM8oo2e/VmGUxg+NCIE0QkBbN2Udg97e5MsUxMCOo2IxWOPQ5EtE0sYAWawwdcKUgwaWIDE/o9+iGZkJiVLVuTqx3ECERfV+g6ixLUa37V/hTpvNfSiASbmu8ZIlGyGd8occ32sLCcoDb8LsgUVZL8ptF62IeN+dugW2YqKG2xGPc7PK8Itk+ZjpiN7mFyNEDxBN9r8LVjX8QU+c76HGm8VksRk6AU910MxAEWX35QtTPVSIf2GE0Ch66OhNyjCGTTALPpQvjGDYj6/YZga76A4TEZcMWEmnpm7BNePPxFZRssw2rEC1yEWKRkFhgk43jyXcYkeez074WSGgI4RRSNo1HKMlmE+whHlb1QTJGP5LEUnBpjGcIc02FdqP5F9fJJhTlyDwVjunHET8OKpl2FZ4WymmJNG1MmggU+WbJhomIIpxpnsWTtwiIkxT6iTcYtB7eUoGjGd4SGGW4dMhzSWm8nMe5phQTze1fyx+TgtowB3Tz9j1Hl/RqZDppiKMVafjwOevXij5R/Y2LEOqZo0ZkRIariFspqPyCL9mYQTZG+pnRT3H+QQQkxA5uovp83HPaOQEH1FmVWyY5p5FqwaO0zNJnztWoMkZhQYGLeo0C1jZEW/heFaRSIrk4ms3im5aAwxdg6hodb8d/ZxQaymbaYlCfcWL8btU047hmIlAmwaByYap8EgGlHRWcaMaD9X+Co4hXI/Mxj+S1b4gxPEdsMc9hXigOgOarC71EEK/FqEw+aqYUpaOt49/RqclTMJxyKYxSQUGibCLjlQ2vkdD9EYBKMaoqTJouv9oxLEsXx2ONI8AFaVWaey854igyiWhzklJx+vnHo5CpNTjunIok7QIU9fiExdNna7t+NwoI1zjUKiiLLepWzknkFPHJgYjFoCl5UPyQpKNSw5bgpemHcJ8pLs+D6AjpnE8y2LcFX6jVzBtwddPIyp1MJn+CgoKzkYh4y5qZjZ4sEoJOt792bH5XI0U7WoWpxXiMdnXzi0xGCzJiibbn0VG9UDhWTzOrGxNAlZurFMt9ixuWM9cwcCbLx0Sh3zFNkk/nTA61M8qj/cudlBofT/QrgAQRVMS8/AU3MuGnrOEGiA+rcyBPlvQyW+FiSfiZ+kXsd0bAf8oS6ltg7FgK5COGw/oGzr5yCfd3fLcRlVkGez4vUFV6HQok5nrDy4CZ/UbVc9ON8278el36zAhV89i53urar/f7dnO0pcn6v+P1LqC5PPwTm2Jcyrd6oJXZGCf3BgB1UIRTluWzemEwWvlimqIh5lwD0zFqPAok7/f1a/gw8qwaKMiViSMxOnp09ArskBo6SNDBQFfDjY2YpVDTvxVnUpVjfsQiAU9gscWR8wE3UKD4FMZd52qjadhz96gz/kQ4u/Gbs827C+/Sts6dzEFTMFIk9KWqDqvilYeaH9Mq7gSw5/DrsmVYmPQkN8CsNrGP41iiAiognC4NdqrSoKld9VvBBXFp6gerYVJqVhkiUDO1z1WFW/k6NO1CDHaEOWMRkOnZl9ltDY1Y4adxsjSBu8QX+/19rp3saRZL1DSuGDZJVsXNZTwopiVK3+Jh7t7Qa7JgVjdHkxia90bRbOs12Cze1kDnuU+igUi7kN4cK8CN9E4w5GzsA9m+3kxPxArQN4dv4E/GLyqTE91DhzCt6avxyL1jyBQ24nP0YDXtnRxDEWCIYCPEFFOHioxIRbMn+Dsbr8mHUKmcNn2C7gYRa9Jl3pv5E6oCxrhLwUAyEBvZHBj49mmkWFNyURZ2ROUPUQnkBknfNExiEvn3QtDH1E1FACcdEN6b9CgX5ClFhTFUkUDVhkPQ9j9QVMfDl78vgKFPxl0ffUK0yyr9RGAvcCtdxx6fgZuGnSPMXnP7rzM5y06hGuC3rDqWnHYcXsKxKR71YEP0m5HsXmORHHOoLt+H3NnXiz5Z+qQizZuhxclnItM4H18CsrqpfksS6INHuZUu9GhEtcCtUQZHJqGu6atljVQGxz1qK8rQY/+vp5OH2R4Z3Lck/AwzMuGnJinGNbymb1uVGc8Wz9I9jXtRtVXfvUcRv7KTbNwZykeXD525ROKrK4rhvQD2GwTHZcFMOP86ertqoenH4h0vUWrG85gCu//Rt8wUDE32+buAi3Tjh9yIgxz7IQF6dcHXX8743PYGvnZi6CLk29Vn3MS0rCGdbzmQFi5EaEUgHTe8xFX0gE4a7NjgzZHFPMHRNSUhhBZqqP/BqS8bPxYQPgvUNb8fNNK6PFWvESXJo7K+HEKDLOwLK0m6OOk4j6yrUqTLCkhcjUjokpOpyvH4/Z5nloDxxWwiV0wlj6yh6CSALZ4Jw7zobKeqoLcotiDhouLzgFydpwJu65yq9w37YPoh7uL0yfLEgb2Dc1STqcwvTOVfkn4ur8kzDZOI1bTQMBWVI3ZdwhhzqOwOfOD/Bu60rZMdMwi+n8mAluksxYaD2blxkpzJuQLrm4x+zVHHEMf6xqlluSsKxgdsw3nmGw4PzsaXjpwHr++b5t7yPHZMN14+ZFDPhr867D6aufQMXh2p7jVq0Rt09azM8lbotUyi6eTHqv9XXusB3xNVKZeftbJEmR52/s+AYvNT9/xBY1FCFLG3t2mnRJIbPaKEdPdWAKqliIS86RQ1Qdop+Zujs2Och4PgkqKhnPz52MCda0uMTHJWMjRdItG1/Dp8xrj3C8mK7518k/RZbByj9PtWZj3eI7cNfks7DL1YCbN76Kk1c9inkM/9r4FPZ5dnM5/rucP+A4w6QjvkbGncyJi6xWqvTswvMNf+A+Szeo9db7N4ONnCBdIY/CiByvT+CDISVdfxJc9XrSHdeq0R9PzbsIY0zxVYzSTH++sgRdstdNIZAPa7fhzMyiiJmfqk/CDNsYbHfV4b1TfsaJdPm6F/Dr8rexobUK1cx7J7SnbMY37Wuwt2sHTmDWDoXKd3kqsNRxJaaaInVdo68ej9c9AFfAGeGX/Iida5Gs8fk3bBh9IS++61gLHelrZaO6n+GXomzuzlMlJ3UaTHPEXxtHgz7LnhtxrNnbgaUlz0X5KIszJmHNwluRxohz1pdP4Y3q0giCEZG6gSylhw/9F39/R/b9mJ10cpSv8XT9g2ju48VnarORoY2/Jkxieoi4kzKMPniVcsmJnJiaIwRRzB15yXboYqgm7A+mWaMHgMIlF3/9lygfhXTK/Uz5lzRV8s/55hS8Pu+n2H72PRxvzboXY3RhAlPB26vNL0QpcPI1/lz/KA50Vfaj9MfxIGMigHTVOP1EJra6lFpbxWRUiftKrcSfRWoIMj8jn7NlIiDX3L8P813L/igf5bDPgxf2hWvP7DoT3p1/E5bmFCNFZ+afp5tm4bas33EFzkPz7V+ixd8U5WtQhLc/oOhwokAjaDHVPJOXrSq1c8im6F6gr6oC8crC2Qm78d6ipi+Qj3LLptd6Pm9oPYBaT1jmX8oMginW6MwyEWNBcrjMqCvowW6mQ/rzNfoNp4vWhD2XloktsrYomRUMKTZ/J3cTRHF9llYjMitCStiNmzWDBwZI6d9R9iZ7qBAPv3fDpOSBdVhvp87FHDSCD9re7PE1BgsSJgoowOjQpMEsWtR47YVEEIo7K0532Q0GTLVnJC7iehTRR9Hf6s42bolpesl3SRAHuaYU4RcQ0BKEwZzGbmc0kUA+iF1KURps5Gqxm0MU30kB88w1QuKW1rkDA99sttGKL5hl9crca/l3dvi7ev7mZbqFcia90R/qxiPXJPOTjlG45O6cRwcNifROWiVGbGmRrc9BIOhTSuwcElWq7LyCZEdCZ1Kzt33Av91ddA5mO/KwfMPLWNu4h1ldRxyth7Z/jD/vXRvhBV80pY6/eoJHGv980PYG1hz+GLn6AizPuA2XpCzDk3X/3e/3tQdcCSUIiS2bZGccorj01EIEURWMsmr1Cb3pms62Af+2MH0CNjLHj/RIX2jocnHsDXW+mqjzKGFESH+bkzSf59pJV5DC7wutgcQ2bBAEgRdvqzHOSPaoqrkySrqE3nTF4boB5blGFNHeS0zFLR6DHUdWVfUDtNwtgat1uf6yaKxcTyq8rlZ1152zcyYn7IZdfg/ngIGAit3EBIpHgWd9QgMODjmTbf7mBH6fwMtNFZ9OtSIYwe4Kpa3VvIpktACJsX1dexJ6TVHdynNuLoVGagA+rd+O0QZlnesTej2y8FRAUDVB3qvalpAbpcju2zXlo44gFFbpT+HHArT+nfRWWEQeVRDRSQEiiFvNl3QGEmOrb2fKfMcACn0koZXpkMqu3QkiSLAnUqBQL/iIIDVqvqTB3Z6QmyXu8IeCGI2woSNBXf7Y81GoX40aU02QPa6WhJiGnzfswGgFWpCTiGckDmn2NfL8iEJwEkFq1eiRmnYnfHHObEpCbXXWjlqC1PqqeewrXvAGvbzXCoXiFRK4igiyDypy6a4uL7a21sd1oxtbqtDUpYyVE2kCKp31FAur7Iq/41JnqJ3pkFZolC8i2E+EOKBGsQeCIbxfHZ+lRblxJYPnDwV4g5lEOmqUm/ApqN2t9dbEKa4CjNNqmA7poAaOSv9tBxGkCirboW5ri886OtR5dGeQUrsZhmS+TGGCJf5MHi05mGAo4vKcVtQqsbbiASL6ts4y/qpwUpGtXa4ZM93lrSm30ML2iUqts+8aq7kfIcUYhu8MDD5DxxhteOPkG2DThsMOJYtuR1VHCzRHSYzZjb4BfJ4AbwBAkVcCKpajIohD3oMDy/+QJ26C7HJvhU5QXM1PTFEtUsN7GmM14rqxowPlrbFzSdIgWUKLxoCV867HcUlHar4oZ065dzfzgWgZw0BIuY++6A11RRCDgLo03JxxJ38dCGLobxIhblt9zTw2phMNSnQXnVBGdNRYJC+aYSxRQ5AufwAf1lTE3EapyNr/KmtKQr144tWYmzIuUtN1NGPxmiePunjn6ln9z3haenZ79gMRi3KydWNxY8bteKz2Pk64vpCty40rXLLdXcZXaw1G9Aj1Jrc4F/USz/dukXWJYqKsa6yK2QI6N2tKVAkowSPFS3DhmOkRx9p8bl4SFOtKKgLKh/yx7vdRemGScRquSbslmjvYrJ5lnhuHuPKi3L2RR6oVJvMoo8arL0RvUMK4YifZoJ+qIcjn1ZXM/I1NbNGawd9NjVybcfvExfjF+IV97Hg/Ll/310FD9IojDL46/LH+QbiDkduIzLWchotTlkVOGNtSpGljrxugyvc9nh1KOz3QCRUyHlmOwOAdNQTxMrH19M6vYr7pGwrm9xBgoEU6P9v4Ki8tTRSEa3kfi6qVoqXNVA/cTaDz7JfELq7YD1VONvjq+WoqhdDTA0Uac9NMaEXm4tcaabpTfa/i9YUHOtpwUe5UOPSmmG7+rKwiXn14x6QzmJiItNXv3foenti9WtX1irMPH/UcSuWSCCs2R9aWFRmLGVdk4gL7pbzfb+zisQ3/bHwObYFmviJXydxm+CuEdwIKiyzC/GInJajfVsMlLZ1uPFKxOq5ZS+s6yLLqDc/uXYsHKj4cstDImsMf4Z3W1yKOUWqXirPjKSWljpRlHeu5QqcOQgrFFe3205OHEHlPEBkR7nx2WM1NvLy7DP/YuyFhg0UiikTVUMNbLS/hG9eahF6z3lfLrvsykzhapcqcZOdTERMj/6YZfCMvwsyszob6WjOtUc9T6iT6g0G0Btw4JX0c7DGKrggLR9Iws7eAd3Ggqg2qWKQiuYCCgOZgIouWGlADATJnj086CT+wXcA9drOUmKabVNP1UdvbWOv6hH2PQyl3UBzxF1z1dJv+gei4InVnVrVqZW31fqw8UIY7p8a/UJMIQXjx2OPDwUy/hzcToJW7q+p3YF3LfmxuPajoWtSdgZYF0LpCqop3aFKPWr0YqyNIK3c/aH0jaoXWoOGu8M4RkZ0c/KEoRqBWdNRaQ5Xd907VNlyWPzPhHYBIv0y0GHhjgSU5xfzh1zbuxYrKErxUtZ5zUF84wTyPd+spMk7nnDHUQIt+3ml+lTuCKZo0pWsLKTbzVt+DUlqfNrGpWe7DzXVG6tl6KlRUpBxqdzEZ6sQsx1jYdMYhe3iSzXlmBy5ixFmUMYmvPeyuXDk33847M5xnv5j3IBGEod8lgwZ/XfsXeKv1JV6DpZipgI8QbioaSZDU5ScgsuWlgJY6I8W2qO2DqgXo25obYNJrcHrmcRgOyDXZcUXeHDR523lE+NHJv+xZsDNcQF2Fnq9/jOsQFfEvmkHUNyuqEYuUzgjStxNpapbHx7iE7GPq06uq+cim5hqkG804PiVnWAaEIsDnZU/D0pyZvLh5OIGixS82PoPdzCu3KVPk3dxBfTtW9Gt8UF/FvigynDqr8Vk5CqwK3F4/7tr4MVbs/hbfZ6Bc+dutL/Mmyw5lfbJ6YqUIN4fr3xoc0EAOh1N+C5U5926H8aEtq1Hpav5+EsPfxBzLV/BJ2zt8/Yca/Y9wN7kBc+BSxo0Dt69Iz+o42FhrNsgKXpW54vR0MSdvO4wazbCJr+EAWrP4r+a/MYKsRLLGrsazJydw5WDcMSiHhC0I/mfqXx5Tweve1lbcV/op/rTz6+8JMRrx75ZX+fI46kqqFVS1zqeQ9e1HO0lKv3HwBi+2jK5Aa52xVlbwqr2qdq8P3zQdQFAIYH56wTFLDCrneZOZttSyI1mycwNCRe0WbXxMPXs/PSpBHDfM5vujD4TcN8ns3N5SZyIT+Hi1VhcBZRi/rN2HRl87iqwZQ+qnJBoo+0de+D+bnuVBSUoFhwvfFBODtD1FSv9DycmyH3I0O01ARnbnqqZaE+3UOVGtPuHXYPe/oaEaW121aPS0Y25a/qgnBi1xW99RgucaHsN2dzkcUqpaZ5OoRvJ6GV1OkRmvfKbwG6ENwGg7n/MQ4/5Vq6sqUXJoP8pba/n+IWr7+w4HUGFErbca77e9gS+cHzFxG0KKJl1teSmdvBHhBmWKyyAVcQgPWTDpZc30oq3OQPv2UaovZpeYiu22NNfjk7odaPF2YkFG4aggBPkS1EL2y8OfYkXj4yjtXA+TmBTLRmF08g55Aleq+UdVBCHRlZrp8bXUGejLTkOMOyb0WC1uN748tA9fNe/D/vYW5JsdI6JfqD0TValXeEqZ5/0nzhlUTkoVI5Q9jKHw+pCsM1Sbl6oJQoLLmO476KrX18pK3oY4l8Xtd7ZywnzDCFPhbIBDb0aWyTKk3UmpuwItzOkIHub6YWXz3/F684s8xUuEoJ0QYqyAJ2L8Ef10rVY0zpM2LldMEPLeJb4qSEJnUIvWrQai5hMI7wadsH116bvGO1KwIHMcMo3JWJo3nVtn8VtMPl5RSJUnZDmVdnyHHZ5yVHdV8a49SaJF3vkzpur+kOyvka/xTszPHg9BKO7VtIWbw/9geGYs1pcSoK31ZqRm4jhLKi+oODeniLcin2JL51lFkW8iKcjWXLBnpS1Vl/Af9kpFBxSZpTbku9zbcchXBV/QB4Og53VYKjf86s+0LZOtqbjW6cVNEKp83FdqozzovxlSpzAdhgFEUYBOEqHXaGDTGzDeasWT80+F0+9is93NNyMm8UMR2SZfA5oC9XwDSSKbTjDwUHlYPwBxLnoIyNYU1Q4diFs6JIIgVNdVXZZM2RnaunsJRmi36GWnbWCDTgLHz7Ua+T4S5x4t30FaAy0nSAKbA1D6lfaNv1mtNRW3H3I0yCt2Oo2C/5odm1PWIbzXeEEsXn18ukeCSTL0GAOCvHXTEQ5IGCmoKIGSS39heL/MJYnh/MTa8QLsUz1/Rrh/ICVhWmX5OiwQXqQv9NKyISR4GT5dzMV+k9KmQpB7E0mMhBOkG3JmuJwTZ7RQFSQ1CKaefB4cy8BTqbS2QapAg/GncGmXQgztGZpJNURAPktarm+V7NVToqtmOLkloYwfYOKp1fBoqNY4H5rQa0PZjGTIyzLGOQI+W3aIqiuolflnsiL0HwOE8HPOFvAt3NpLQvXGuxgxhrwxizhcT2ed6KM1KNRS+wzZmSSO8WEEe60MoCO6FTZ52rRmYhG3pIapRY9mOJ+WWWIBZjqXOH36EleF7mHZkSJdUyhPDnHExFIYqxm+KBNj/0jciGakpmLW9PaGzoD2Yec2PW0HTjn7pbK3n4XIqqSh4oRupKVZVMJPFZuk80a0X5RmpGUEI0yHGAp92BIwfuiu0CTJ5iTpG9ocgLrpG/shjKBi4Pu+Jx1G3WWoxOlDmRjO0SIzNRhFkDm9vV0SQu8zkfZ+e4WOxBeVq1ALbooqU7aSmvWaZSRC6XuJuZAsdsgv8MqmNq1fo0wdld2QDtskv1aPVsPifwUYAJuDd7GzNbozAAAAAElFTkSuQmCC"}},"time_used":4264,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4264,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.582Z","timestamp":1785136427582,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4911410e5153f0d7.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4911410e5153f0d7.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"e09a94d1ed13e73c8c05e86ecc9b73b5\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4911410e5153f0d7.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5pnv4-1781312483646-99b0a50f7685\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=iBwfqWDIxrpdhNOmntpvfZLeAiDsVmW3lmv%2FXKfO%2F1AvoWdWZaYjGLtYG2EyTqoJNqvMZrOLVQiImja5%2BFmRIFXi2Dlq3VgyeioCroIwe8ZJ%2FA1%2Ftf5P7SwXmokc\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f118deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":224417,"size_decoded":73405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-11T04:47:30.076454Z","times_seen":2060,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc4NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoNDEwNjIpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNTUzNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDQ4NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3ODc1KSxsPWUucigxNTUzNik7ZnVuY3Rpb24gYShlKXt2YXIgdCxuO2xldCBhPSgwLHIuZ2V0QXNzZXRQcmVmaXgpKCk7dD1zZWxmLl9fbmV4dF9zLG49KCk9PntlKGEpfSx0JiZ0Lmxlbmd0aD90LnJlZHVjZSgoZSxbdCxuXSk9PmUudGhlbigoKT0+bmV3IFByb21pc2UoKGUscik9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuJiYoMCxsLnNldEF0dHJpYnV0ZXNGcm9tUHJvcHMpKGEsbiksdD8oYS5zcmM9dCxhLm9ubG9hZD0oKT0+ZSgpLGEub25lcnJvcj1yKTpuJiYoYS5pbm5lckhUTUw9bi5jaGlsZHJlbixzZXRUaW1lb3V0KGUpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGEpfSkpLFByb21pc2UucmVzb2x2ZSgpKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihlKX0pLnRoZW4oKCk9PntuKCl9KTpuKCl9d2luZG93Lm5leHQ9e3ZlcnNpb246IjE2LjEuNiIsYXBwRGlyOiEwfSwoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4NTQ3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17Z2V0T2JqZWN0Q2xhc3NMYWJlbDpmdW5jdGlvbigpe3JldHVybiBhfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT1hKGUpKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKX19LDgwOTQwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDg1NDc5KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwxNzc0OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMjc5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoODQwODIpLGk9YS5fKGUucig4MDk0MCkpLHU9ZS5yKDE3NzQ4KSxzPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMuaGFzKGUpfWxldCBmPWU9PntsZXQgdD0oMCxpLmRlZmF1bHQpKGUpJiYiY2F1c2UiaW4gZT9lLmNhdXNlOmU7KDAsby5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KXx8KDAsdS5yZXBvcnRHbG9iYWxFcnJvcikodCl9OygiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDkyMzg2LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSw2MDg3NywoZSx0LG4pPT57InRyaW1TdGFydCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksInRyaW1FbmQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksImRlc2NyaXB0aW9uImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT0vXCgoLiopXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gZT9lWzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksZT4xJiZ0LnNvbWUoQXJyYXkuaXNBcnJheSk/dC5mbGF0KGUtMSk6dH0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSx0KS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gdGhpcy50aGVuKGUsZSk7dmFyIHQ9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzBdXT10WzFdLGV9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLnRydW5jKGUpfHwwO2lmKHQ8MCYmKHQrPXRoaXMubGVuZ3RoKSwhKHQ8MHx8dD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3RdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QoZSksdCl9KSwiY2FuUGFyc2UiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBuZXcgVVJMKGUsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSl9LDc5MTIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucig2MDg3NyksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNDAxNDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49ZS5sZW5ndGg7Zm9yKGUucHVzaCh0KTswPG47KXt2YXIgcj1uLTE+Pj4xLGw9ZVtyXTtpZigwPG8obCx0KSllW3JdPXQsZVtuXT1sLG49cjtlbHNlIGJyZWFrfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47Zm9yKHZhciByPTAsbD1lLmxlbmd0aCxhPWw+Pj4xO3I8YTspe3ZhciBpPTIqKHIrMSktMSx1PWVbaV0scz1pKzEsYz1lW3NdO2lmKDA+byh1LG4pKXM8bCYmMD5vKGMsdSk/KGVbcl09YyxlW3NdPW4scj1zKTooZVtyXT11LGVbaV09bixyPWkpO2Vsc2UgaWYoczxsJiYwPm8oYyxuKSllW3JdPWMsZVtzXT1uLHI9cztlbHNlIGJyZWFrfX1yZXR1cm4gdH1mdW5jdGlvbiBvKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfWlmKG4udW5zdGFibGVfbm93PXZvaWQgMCwib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgaSx1PXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHUubm93KCl9fWVsc2V7dmFyIHM9RGF0ZSxjPXMubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ub3coKS1jfX12YXIgZj1bXSxkPVtdLHA9MSxtPW51bGwsaD0zLGc9ITEsdj0hMSx5PSExLGI9ITEsdz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsaz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLFM9InUiPnR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gRShlKXtmb3IodmFyIHQ9bChkKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKWEoZCk7ZWxzZSBpZih0LnN0YXJ0VGltZTw9ZSlhKGQpLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUscihmLHQpO2Vsc2UgYnJlYWs7dD1sKGQpfX1mdW5jdGlvbiB4KGUpe2lmKHk9ITEsRShlKSwhdilpZihudWxsIT09bChmKSl2PSEwLF98fChfPSEwLGkoKSk7ZWxzZXt2YXIgdD1sKGQpO251bGwhPT10JiZSKHgsdC5zdGFydFRpbWUtZSl9fXZhciBfPSExLFA9LTEsTj01LEM9LTE7ZnVuY3Rpb24gVCgpe3JldHVybiEhYnx8IShuLnVuc3RhYmxlX25vdygpLUM8Til9ZnVuY3Rpb24gTygpe2lmKGI9ITEsXyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtDPWU7dmFyIHQ9ITA7dHJ5e2U6e3Y9ITEseSYmKHk9ITEsayhQKSxQPS0xKSxnPSEwO3ZhciByPWg7dHJ5e3Q6e2ZvcihFKGUpLG09bChmKTtudWxsIT09bSYmIShtLmV4cGlyYXRpb25UaW1lPmUmJlQoKSk7KXt2YXIgbz1tLmNhbGxiYWNrO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXttLmNhbGxiYWNrPW51bGwsaD1tLnByaW9yaXR5TGV2ZWw7dmFyIHU9byhtLmV4cGlyYXRpb25UaW1lPD1lKTtpZihlPW4udW5zdGFibGVfbm93KCksImZ1bmN0aW9uIj09dHlwZW9mIHUpe20uY2FsbGJhY2s9dSxFKGUpLHQ9ITA7YnJlYWsgdH1tPT09bChmKSYmYShmKSxFKGUpfWVsc2UgYShmKTttPWwoZil9aWYobnVsbCE9PW0pdD0hMDtlbHNle3ZhciBzPWwoZCk7bnVsbCE9PXMmJlIoeCxzLnN0YXJ0VGltZS1lKSx0PSExfX1icmVhayBlfWZpbmFsbHl7bT1udWxsLGg9cixnPSExfX19ZmluYWxseXt0P2koKTpfPSExfX19aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpaT1mdW5jdGlvbigpe1MoTyl9O2Vsc2UgaWYoInUiPnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIHo9bmV3IE1lc3NhZ2VDaGFubmVsLEw9ei5wb3J0Mjt6LnBvcnQxLm9ubWVzc2FnZT1PLGk9ZnVuY3Rpb24oKXtMLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGk9ZnVuY3Rpb24oKXt3KE8sMCl9O2Z1bmN0aW9uIFIoZSx0KXtQPXcoZnVuY3Rpb24oKXtlKG4udW5zdGFibGVfbm93KCkpfSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLG4udW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7ZS5jYWxsYmFjaz1udWxsfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBofSxuLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oZSl7c3dpdGNoKGgpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciB0PTM7YnJlYWs7ZGVmYXVsdDp0PWh9dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlKCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe2I9ITB9LG4udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDplPTN9dmFyIG49aDtoPWU7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0LGEpe3ZhciBvPW4udW5zdGFibGVfbm93KCk7c3dpdGNoKGE9Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmIm51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/bythOm8sZSl7Y2FzZSAxOnZhciB1PS0xO2JyZWFrO2Nhc2UgMjp1PTI1MDticmVhaztjYXNlIDU6dT0weDNmZmZmZmZmO2JyZWFrO2Nhc2UgNDp1PTFlNDticmVhaztkZWZhdWx0OnU9NWUzfXJldHVybiB1PWErdSxlPXtpZDpwKyssY2FsbGJhY2s6dCxwcmlvcml0eUxldmVsOmUsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6dSxzb3J0SW5kZXg6LTF9LGE+bz8oZS5zb3J0SW5kZXg9YSxyKGQsZSksbnVsbD09PWwoZikmJmU9PT1sKGQpJiYoeT8oayhQKSxQPS0xKTp5PSEwLFIoeCxhLW8pKSk6KGUuc29ydEluZGV4PXUscihmLGUpLHZ8fGd8fCh2PSEwLF98fChfPSEwLGkoKSkpKSxlfSxuLnVuc3RhYmxlX3Nob3VsZFlpZWxkPVQsbi51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9aDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1oO2g9dDt0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7aD1ufX19fSwyNjQ0MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNDAxNDApfSw4MjQyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLGw9ZS5pKDgyNjM3KSxhPWUucigyNjQ0Myksbz1lLnIoNzUyMDEpLGk9ZS5yKDI5MDgwKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIDAhPSg0MDk4Jih0PWUpLmZsYWdzKSYmKG49dC5yZXR1cm4pLGU9dC5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGUpe2lmKDMxPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKHQ9ZS5tZW1vaXplZFN0YXRlKSxudWxsIT09dClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7aWYoYyhlKSE9PWUpdGhyb3cgRXJyb3IodSgxODgpKX1mdW5jdGlvbiBtKGUsdCxuLHIsbCxhKXtmb3IoO251bGwhPT1lOyl7aWYoNT09PWUudGFnJiZuKGUscixsLGEpfHwoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSkmJih0fHw1IT09ZS50YWcpJiZtKGUuY2hpbGQsdCxuLHIsbCxhKSlyZXR1cm4hMDtlPWUuc2libGluZ31yZXR1cm4hMX1mdW5jdGlvbiBoKGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lOyl7aWYoMz09PWUudGFnfHw1PT09ZS50YWcpcmV0dXJuIGU7ZT1lLnJldHVybn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBTKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgeD1PYmplY3QuYXNzaWduLF89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxHPS0xO2Z1bmN0aW9uIFkoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPkd8fChlLmN1cnJlbnQ9WFtHXSxYW0ddPW51bGwsRy0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK0ddPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9WShudWxsKSxldD1ZKG51bGwpLGVuPVkobnVsbCksZXI9WShudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NzKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2ModD1jcyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZnYuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2ModD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZnYuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdEc9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RHfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVrPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZVM9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxleD0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxlXz1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkwoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZUc9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlWT0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZUddLGRlbGV0ZSBlW2VZXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0soZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0soZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlOChlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlNj17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZTZbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIityKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0ayhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0Uz1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRTLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHR4KGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdF8oZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksdE49L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gdEMoZSl7cmV0dXJuIHROLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9ZnVuY3Rpb24gdFQoKXt9dmFyIHRPPW51bGw7ZnVuY3Rpb24gdHooZSl7cmV0dXJuKGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93KS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksMz09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmV9dmFyIHRMPW51bGwsdFI9bnVsbDtmdW5jdGlvbiB0TShlKXt2YXIgdD1lMihlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbZXFdfHxudWxsO3N3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYodGgoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLCJyYWRpbyI9PT1uLnR5cGUmJm51bGwhPXQpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdG0oIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9cltlcV18fG51bGw7aWYoIWwpdGhyb3cgRXJyb3IodSg5MCkpO3RoKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoZWNrZWQsbC5kZWZhdWx0Q2hlY2tlZCxsLnR5cGUsbC5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKykocj1uW3RdKS5mb3JtPT09ZS5mb3JtJiZ0ZihyKX1icmVhaztjYXNlInRleHRhcmVhIjp0YihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0IjpudWxsIT0odD1uLnZhbHVlKSYmdHkoZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIgdEk9ITE7ZnVuY3Rpb24gdEQoZSx0LG4pe2lmKHRJKXJldHVybiBlKHQsbik7dEk9ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYodEk9ITEsKG51bGwhPT10THx8bnVsbCE9PXRSKSYmKHN0KCksdEwmJih0PXRMLGU9dFIsdFI9dEw9bnVsbCx0TSh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyl0TShlW3RdKX19ZnVuY3Rpb24gdEYoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihudWxsPT09bilyZXR1cm4gbnVsbDt2YXIgcj1uW2VxXXx8bnVsbDtpZihudWxsPT09cilyZXR1cm4gbnVsbDtzd2l0Y2gobj1yW3RdLHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoocj0hci5kaXNhYmxlZCl8fChyPSJidXR0b24iIT09KGU9ZS50eXBlKSYmImlucHV0IiE9PWUmJiJzZWxlY3QiIT09ZSYmInRleHRhcmVhIiE9PWUpLGU9IXI7YnJlYWs7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciB0QT0idSI+dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCx0aj0hMTtpZih0QSl0cnl7dmFyIHRVPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0VSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RqPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHRVLHRVKX1jYXRjaChlKXt0aj0hMX12YXIgdEI9bnVsbCx0Vj1udWxsLHRIPW51bGw7ZnVuY3Rpb24gdCQoKXtpZih0SClyZXR1cm4gdEg7dmFyIGUsdCxuPXRWLHI9bi5sZW5ndGgsbD0idmFsdWUiaW4gdEI/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmbltlXT09PWxbZV07ZSsrKTt2YXIgbz1yLWU7Zm9yKHQ9MTt0PD1vJiZuW3ItdF09PT1sW2EtdF07dCsrKTtyZXR1cm4gdEg9bC5zbGljZShlLDE8dD8xLXQ6dm9pZCAwKX1mdW5jdGlvbiB0UShlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PXQmJihlPTEzKTplPXQsMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gdFcoKXtyZXR1cm4hMH1mdW5jdGlvbiB0cSgpe3JldHVybiExfWZ1bmN0aW9uIHRLKGUpe2Z1bmN0aW9uIHQodCxuLHIsbCxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ/dChsKTpsW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT90Vzp0cSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRxLHRoaXN9cmV0dXJuIHgodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD10Vyl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10Vyl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDp0V30pLHR9dmFyIHRYLHRHLHRZLHRKLHRaLHQwPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LHQxPXRLKHQwKSx0Mj14KHt9LHQwLHt2aWV3OjAsZGV0YWlsOjB9KSx0Mz10Syh0MiksdDQ9eCh7fSx0Mix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT10WiYmKHRaJiYibW91c2Vtb3ZlIj09PWUudHlwZT8odFk9ZS5zY3JlZW5YLXRaLnNjcmVlblgsdEo9ZS5zY3JlZW5ZLXRaLnNjcmVlblkpOnRKPXRZPTAsdFo9ZSksdFkpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOnRKfX0pLHQ4PXRLKHQ0KSx0NT10Syh4KHt9LHQ0LHtkYXRhVHJhbnNmZXI6MH0pKSx0Nj10Syh4KHt9LHQyLHtyZWxhdGVkVGFyZ2V0OjB9KSksdDk9dEsoeCh7fSx0MCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHQ3PXRLKHgoe30sdDAse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5lPXRLKHgoe30sdDAse2RhdGE6MH0pKSxudD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sbm49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxucj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIG5sKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1ucltlXSkmJiEhdFtlXX1mdW5jdGlvbiBuYSgpe3JldHVybiBubH12YXIgbm89dEsoeCh7fSx0Mix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1udFtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09dClyZXR1cm4gdH1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9dFEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/bm5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOm5hLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSxuaT10Syh4KHt9LHQ0LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxudT10Syh4KHt9LHQyLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6bmF9KSksbnM9dEsoeCh7fSx0MCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksbmM9dEsoeCh7fSx0NCx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxuZj10Syh4KHt9LHQwLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjB9KSksbmQ9WzksMTMsMjcsMzJdLG5wPXRBJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csbm09bnVsbDt0QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKG5tPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIG5oPXRBJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIW5tLG5nPXRBJiYoIW5wfHxubSYmODxubSYmMTE+PW5tKSxudj0hMTtmdW5jdGlvbiBueShlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gLTEhPT1uZC5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBuYihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9ZS5kZXRhaWwpJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBudz0hMSxuaz17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gblMoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhbmtbZS50eXBlXToidGV4dGFyZWEiPT09dH1mdW5jdGlvbiBuRShlLHQsbixyKXt0TD90Uj90Ui5wdXNoKHIpOnRSPVtyXTp0TD1yLDA8KHQ9czgodCwib25DaGFuZ2UiKSkubGVuZ3RoJiYobj1uZXcgdDEoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBueD1udWxsLG5fPW51bGw7ZnVuY3Rpb24gblAoZSl7c1koZSwwKX1mdW5jdGlvbiBuTihlKXtpZih0ZihlMyhlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gbkMoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIG5UPSExO2lmKHRBKXtpZih0QSl7dmFyIG5PPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFuTyl7dmFyIG56PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO256LnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxuTz0iZnVuY3Rpb24iPT10eXBlb2Ygbnoub25pbnB1dH1yPW5PfWVsc2Ugcj0hMTtuVD1yJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIG5MKCl7bngmJihueC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsblIpLG5fPW54PW51bGwpfWZ1bmN0aW9uIG5SKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmbk4obl8pKXt2YXIgdD1bXTtuRSh0LG5fLGUsdHooZSkpLHREKG5QLHQpfX1mdW5jdGlvbiBuTShlLHQsbil7ImZvY3VzaW4iPT09ZT8obkwoKSxueD10LG5fPW4sbnguYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5SKSk6ImZvY3Vzb3V0Ij09PWUmJm5MKCl9ZnVuY3Rpb24gbkkoZSl7aWYoInNlbGVjdGlvbmNoYW5nZSI9PT1lfHwia2V5dXAiPT09ZXx8ImtleWRvd24iPT09ZSlyZXR1cm4gbk4obl8pfWZ1bmN0aW9uIG5EKGUsdCl7aWYoImNsaWNrIj09PWUpcmV0dXJuIG5OKHQpfWZ1bmN0aW9uIG5GKGUsdCl7aWYoImlucHV0Ij09PWV8fCJjaGFuZ2UiPT09ZSlyZXR1cm4gbk4odCl9dmFyIG5BPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH07ZnVuY3Rpb24gbmooZSx0KXtpZihuQShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07aWYoIWVkLmNhbGwodCxsKXx8IW5BKGVbbF0sdFtsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gblUoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIG5CKGUsdCl7dmFyIG4scj1uVShlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJm4+PXQpcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1uVShyKX19ZnVuY3Rpb24gblYoZSl7ZT1udWxsIT1lJiZudWxsIT1lLm93bmVyRG9jdW1lbnQmJm51bGwhPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD10ZChlLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYobillPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9dGQoZS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gbkgoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBuJD10QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxuUT1udWxsLG5XPW51bGwsbnE9bnVsbCxuSz0hMTtmdW5jdGlvbiBuWChlLHQsbil7dmFyIHI9bi53aW5kb3c9PT1uP24uZG9jdW1lbnQ6OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQ7bkt8fG51bGw9PW5RfHxuUSE9PXRkKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj1uUSkmJm5IKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sbnEmJm5qKG5xLHIpfHwobnE9ciwwPChyPXM4KG5XLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyB0MSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1uUSkpKX1mdW5jdGlvbiBuRyhlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgblk9e2FuaW1hdGlvbmVuZDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOm5HKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sbko9e30sblo9e307ZnVuY3Rpb24gbjAoZSl7aWYobkpbZV0pcmV0dXJuIG5KW2VdO2lmKCFuWVtlXSlyZXR1cm4gZTt2YXIgdCxuPW5ZW2VdO2Zvcih0IGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSYmdCBpbiBuWilyZXR1cm4gbkpbZV09blt0XTtyZXR1cm4gZX10QSYmKG5aPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgblkuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIG5ZLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIG4xPW4wKCJhbmltYXRpb25lbmQiKSxuMj1uMCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksbjM9bjAoImFuaW1hdGlvbnN0YXJ0IiksbjQ9bjAoInRyYW5zaXRpb25ydW4iKSxuOD1uMCgidHJhbnNpdGlvbnN0YXJ0IiksbjU9bjAoInRyYW5zaXRpb25jYW5jZWwiKSxuNj1uMCgidHJhbnNpdGlvbmVuZCIpLG45PW5ldyBNYXAsbjc9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiByZShlLHQpe245LnNldChlLHQpLGU5KHQsW2VdKX1uNy5wdXNoKCJzY3JvbGxFbmQiKTt2YXIgcnQ9MDtmdW5jdGlvbiBybihlLHQpe3JldHVybiBudWxsIT1lLm5hbWUmJiJhdXRvIiE9PWUubmFtZT9lLm5hbWU6bnVsbCE9PXQuYXV0b05hbWU/dC5hdXRvTmFtZTp0LmF1dG9OYW1lPWU9Il8iKyhlPXVxLmlkZW50aWZpZXJQcmVmaXgpKyJ0XyIrKHJ0KyspLnRvU3RyaW5nKDMyKSsiXyJ9ZnVuY3Rpb24gcnIoZSl7aWYobnVsbD09ZXx8InN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PW51bGwsbj11MTtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9ZVtuW3JdXTtpZihudWxsIT1sKXtpZigibm9uZSI9PT1sKXJldHVybiJub25lIjt0PW51bGw9PXQ/bDp0KyIgIitsfX1yZXR1cm4gbnVsbD09dD9lLmRlZmF1bHQ6dH1mdW5jdGlvbiBybChlLHQpe3JldHVybiBlPXJyKGUpLG51bGw9PSh0PXJyKHQpKT8iYXV0byI9PT1lP251bGw6ZToiYXV0byI9PT10P251bGw6dH12YXIgcmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkVycm9yRXZlbnQpe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZT9TdHJpbmcoZS5tZXNzYWdlKTpTdHJpbmcoZSksZXJyb3I6ZX0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSlyZXR1cm59ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGwuZGVmYXVsdCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuZGVmYXVsdC5lbWl0KXJldHVybiB2b2lkIGwuZGVmYXVsdC5lbWl0KCJ1bmNhdWdodEV4Y2VwdGlvbiIsZSk7Y29uc29sZS5lcnJvcihlKX0scm89W10scmk9MCxydT0wO2Z1bmN0aW9uIHJzKCl7Zm9yKHZhciBlPXJpLHQ9cnU9cmk9MDt0PGU7KXt2YXIgbj1yb1t0XTtyb1t0KytdPW51bGw7dmFyIHI9cm9bdF07cm9bdCsrXT1udWxsO3ZhciBsPXJvW3RdO3JvW3QrK109bnVsbDt2YXIgYT1yb1t0XTtpZihyb1t0KytdPW51bGwsbnVsbCE9PXImJm51bGwhPT1sKXt2YXIgbz1yLnBlbmRpbmc7bnVsbD09PW8/bC5uZXh0PWw6KGwubmV4dD1vLm5leHQsby5uZXh0PWwpLHIucGVuZGluZz1sfTAhPT1hJiZycChuLGwsYSl9fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe3JvW3JpKytdPWUscm9bcmkrK109dCxyb1tyaSsrXT1uLHJvW3JpKytdPXIscnV8PXIsZS5sYW5lc3w9cixudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gcmYoZSx0LG4scil7cmV0dXJuIHJjKGUsdCxuLHIpLHJtKGUpfWZ1bmN0aW9uIHJkKGUsdCl7cmV0dXJuIHJjKGUsbnVsbCxudWxsLHQpLHJtKGUpfWZ1bmN0aW9uIHJwKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bik7Zm9yKHZhciBsPSExLGE9ZS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9bixudWxsIT09KHI9YS5hbHRlcm5hdGUpJiYoci5jaGlsZExhbmVzfD1uKSwyMj09PWEudGFnJiYobnVsbD09PShlPWEuc3RhdGVOb2RlKXx8MSZlLl92aXNpYmlsaXR5fHwobD0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiAzPT09ZS50YWc/KGE9ZS5zdGF0ZU5vZGUsbCYmbnVsbCE9PXQmJihsPTMxLWVQKG4pLG51bGw9PT0ocj0oZT1hLmhpZGRlblVwZGF0ZXMpW2xdKT9lW2xdPVt0XTpyLnB1c2godCksdC5sYW5lPTB4MjAwMDAwMDB8biksYSk6bnVsbH1mdW5jdGlvbiBybShlKXtpZig1MDx1Mil0aHJvdyB1Mj0wLHUzPW51bGwsRXJyb3IodSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXQ9KGU9dCkucmV0dXJuO3JldHVybiAzPT09ZS50YWc/ZS5zdGF0ZU5vZGU6bnVsbH12YXIgcmg9e307ZnVuY3Rpb24gcmcoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHJ2KGUsdCxuLHIpe3JldHVybiBuZXcgcmcoZSx0LG4scil9ZnVuY3Rpb24gcnkoZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiByYihlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oKG49cnYoZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9MHg3ZTAwMDAwJmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbi5yZWZDbGVhbnVwPWUucmVmQ2xlYW51cCxufWZ1bmN0aW9uIHJ3KGUsdCl7ZS5mbGFncyY9MHg3ZTAwMDAyO3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSxlLmRlcGVuZGVuY2llcz1udWxsPT09KHQ9bi5kZXBlbmRlbmNpZXMpP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiByayhlLHQsbixyLGwsYSl7dmFyIG89MDtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpcnkoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89IWZ1bmN0aW9uKGUsdCxuKXtpZigxPT09bnx8bnVsbCE9dC5pdGVtUHJvcClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZigic3RyaW5nIiE9dHlwZW9mIHQucHJlY2VkZW5jZXx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnJlbHx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmfHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsKXJldHVybiBlPXQuZGlzYWJsZWQsInN0cmluZyI9PXR5cGVvZiB0LnByZWNlZGVuY2UmJm51bGw9PWU7cmV0dXJuITA7Y2FzZSJzY3JpcHQiOmlmKHQuYXN5bmMmJiJmdW5jdGlvbiIhPXR5cGVvZiB0LmFzeW5jJiYic3ltYm9sIiE9dHlwZW9mIHQuYXN5bmMmJiF0Lm9uTG9hZCYmIXQub25FcnJvciYmdC5zcmMmJiJzdHJpbmciPT10eXBlb2YgdC5zcmMpcmV0dXJuITB9cmV0dXJuITF9KGUsbixlZS5jdXJyZW50KT8iaHRtbCI9PT1lfHwiaGVhZCI9PT1lfHwiYm9keSI9PT1lPzI3OjU6MjY7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEE6cmV0dXJuKGU9cnYoMzEsbix0LGwpKS5lbGVtZW50VHlwZT1BLGUubGFuZXM9YSxlO2Nhc2UgQzpyZXR1cm4gclMobi5jaGlsZHJlbixsLGEsdCk7Y2FzZSBUOm89OCxsfD0yNDticmVhaztjYXNlIE86cmV0dXJuKGU9cnYoMTIsbix0LDJ8bCkpLmVsZW1lbnRUeXBlPU8sZS5sYW5lcz1hLGU7Y2FzZSBNOnJldHVybihlPXJ2KDEzLG4sdCxsKSkuZWxlbWVudFR5cGU9TSxlLmxhbmVzPWEsZTtjYXNlIEk6cmV0dXJuKGU9cnYoMTksbix0LGwpKS5lbGVtZW50VHlwZT1JLGUubGFuZXM9YSxlO2Nhc2UgajpjYXNlIEI6cmV0dXJuKGU9cnYoMzAsbix0LGU9MzJ8bCkpLmVsZW1lbnRUeXBlPUIsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBMOm89MTA7YnJlYWsgZTtjYXNlIHo6bz05O2JyZWFrIGU7Y2FzZSBSOm89MTE7YnJlYWsgZTtjYXNlIEQ6bz0xNDticmVhayBlO2Nhc2UgRjpvPTE2LHI9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxudWxsPT09ZT8ibnVsbCI6dHlwZW9mIGUsIiIpKSxyPW51bGx9cmV0dXJuKHQ9cnYobyxuLHQsbCkpLmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gclMoZSx0LG4scil7cmV0dXJuKGU9cnYoNyxlLHIsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByRShlLHQsbil7cmV0dXJuKGU9cnYoNixlLG51bGwsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByeChlKXt2YXIgdD1ydigxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWUsdH1mdW5jdGlvbiByXyhlLHQsbil7cmV0dXJuKHQ9cnYoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LHQpKS5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciByUD1uZXcgV2Vha01hcDtmdW5jdGlvbiByTihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciBuPXJQLmdldChlKTtyZXR1cm4gdm9pZCAwIT09bj9uOih0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOmVmKHQpfSxyUC5zZXQoZSx0KSx0KX1yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX19dmFyIHJDPVtdLHJUPTAsck89bnVsbCxyej0wLHJMPVtdLHJSPTAsck09bnVsbCxyST0xLHJEPSIiO2Z1bmN0aW9uIHJGKGUsdCl7ckNbclQrK109cnosckNbclQrK109ck8sck89ZSxyej10fWZ1bmN0aW9uIHJBKGUsdCxuKXtyTFtyUisrXT1ySSxyTFtyUisrXT1yRCxyTFtyUisrXT1yTSxyTT1lO3ZhciByPXJJO2U9ckQ7dmFyIGw9MzItZVAociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIGE9MzItZVAodCkrbDtpZigzMDxhKXt2YXIgbz1sLWwlNTthPShyJigxPDxvKS0xKS50b1N0cmluZygzMikscj4+PW8sbC09byxyST0xPDwzMi1lUCh0KStsfG48PGx8cixyRD1hK2V9ZWxzZSByST0xPDxhfG48PGx8cixyRD1lfWZ1bmN0aW9uIHJqKGUpe251bGwhPT1lLnJldHVybiYmKHJGKGUsMSksckEoZSwxLDApKX1mdW5jdGlvbiByVShlKXtmb3IoO2U9PT1yTzspck89ckNbLS1yVF0sckNbclRdPW51bGwscno9ckNbLS1yVF0sckNbclRdPW51bGw7Zm9yKDtlPT09ck07KXJNPXJMWy0tclJdLHJMW3JSXT1udWxsLHJEPXJMWy0tclJdLHJMW3JSXT1udWxsLHJJPXJMWy0tclJdLHJMW3JSXT1udWxsfWZ1bmN0aW9uIHJCKGUsdCl7ckxbclIrK109ckksckxbclIrK109ckQsckxbclIrK109ck0sckk9dC5pZCxyRD10Lm92ZXJmbG93LHJNPWV9dmFyIHJWPW51bGwsckg9bnVsbCxyJD0hMSxyUT1udWxsLHJXPSExLHJxPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gcksoZSl7dmFyIHQ9RXJyb3IodSg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgcjAock4odCxlKSkscnF9ZnVuY3Rpb24gclgoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbZVddPWUsdFtlcV09cixuKXtjYXNlImRpYWxvZyI6c0ooImNhbmNlbCIsdCksc0ooImNsb3NlIix0KTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOnNKKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3Iobj0wO248c1gubGVuZ3RoO24rKylzSihzWFtuXSx0KTticmVhaztjYXNlInNvdXJjZSI6c0ooImVycm9yIix0KTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpzSigiZXJyb3IiLHQpLHNKKCJsb2FkIix0KTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLHQpO2JyZWFrO2Nhc2UiaW5wdXQiOnNKKCJpbnZhbGlkIix0KSx0Zyh0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnNKKCJpbnZhbGlkIix0KTticmVhaztjYXNlInRleHRhcmVhIjpzSigiaW52YWxpZCIsdCksdHcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfSJzdHJpbmciIT10eXBlb2Yobj1yLmNoaWxkcmVuKSYmIm51bWJlciIhPXR5cGVvZiBuJiYiYmlnaW50IiE9dHlwZW9mIG58fHQudGV4dENvbnRlbnQ9PT0iIitufHwhMD09PXIuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHxjdCh0LnRleHRDb250ZW50LG4pPyhudWxsIT1yLnBvcG92ZXImJihzSigiYmVmb3JldG9nZ2xlIix0KSxzSigidG9nZ2xlIix0KSksbnVsbCE9ci5vblNjcm9sbCYmc0ooInNjcm9sbCIsdCksbnVsbCE9ci5vblNjcm9sbEVuZCYmc0ooInNjcm9sbGVuZCIsdCksbnVsbCE9ci5vbkNsaWNrJiYodC5vbmNsaWNrPXRUKSx0PSEwKTp0PSExLHR8fHJLKGUsITApfWZ1bmN0aW9uIHJHKGUpe2ZvcihyVj1lLnJldHVybjtyVjspc3dpdGNoKHJWLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzpyVz0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6clc9ITA7cmV0dXJuO2RlZmF1bHQ6clY9clYucmV0dXJufX1mdW5jdGlvbiByWShlKXtpZihlIT09clYpcmV0dXJuITE7aWYoIXIkKXJldHVybiByRyhlKSxyJD0hMCwhMTt2YXIgdCxuPWUudGFnO2lmKCh0PTMhPT1uJiYyNyE9PW4pJiYoKHQ9NT09PW4pJiYodD0iZm9ybSI9PT0odD1lLnR5cGUpfHwiYnV0dG9uIj09PXR8fGNmKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpKSx0PSF0KSx0JiZySCYmcksoZSksckcoZSksMTM9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ckg9Y3EoZSl9ZWxzZSBpZigzMT09PW4pe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtySD1jcShlKX1lbHNlIDI3PT09bj8obj1ySCxjeShlLnR5cGUpPyhlPWNXLGNXPW51bGwsckg9ZSk6ckg9bik6ckg9clY/Y1EoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gckooKXtySD1yVj1udWxsLHIkPSExfWZ1bmN0aW9uIHJaKCl7dmFyIGU9clE7cmV0dXJuIG51bGwhPT1lJiYobnVsbD09PXVqP3VqPWU6dWoucHVzaC5hcHBseSh1aixlKSxyUT1udWxsKSxlfWZ1bmN0aW9uIHIwKGUpe251bGw9PT1yUT9yUT1bZV06clEucHVzaChlKX12YXIgcjE9WShudWxsKSxyMj1udWxsLHIzPW51bGw7ZnVuY3Rpb24gcjQoZSx0LG4pe1oocjEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiByOChlKXtlLl9jdXJyZW50VmFsdWU9cjEuY3VycmVudCxKKHIxKX1mdW5jdGlvbiByNShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIHI2KGUsdCxuLHIpe3ZhciBsPWUuY2hpbGQ7Zm9yKG51bGwhPT1sJiYobC5yZXR1cm49ZSk7bnVsbCE9PWw7KXt2YXIgYT1sLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7dmFyIG89bC5jaGlsZDthPWEuZmlyc3RDb250ZXh0O2U6Zm9yKDtudWxsIT09YTspe3ZhciBpPWE7YT1sO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKWlmKGkuY29udGV4dD09PXRbc10pe2EubGFuZXN8PW4sbnVsbCE9PShpPWEuYWx0ZXJuYXRlKSYmKGkubGFuZXN8PW4pLHI1KGEucmV0dXJuLG4sZSkscnx8KG89bnVsbCk7YnJlYWsgZX1hPWkubmV4dH19ZWxzZSBpZigxOD09PWwudGFnKXtpZihudWxsPT09KG89bC5yZXR1cm4pKXRocm93IEVycm9yKHUoMzQxKSk7by5sYW5lc3w9bixudWxsIT09KGE9by5hbHRlcm5hdGUpJiYoYS5sYW5lc3w9bikscjUobyxuLGUpLG89bnVsbH1lbHNlIG89bC5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj1sO2Vsc2UgZm9yKG89bDtudWxsIT09bzspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PShsPW8uc2libGluZykpe2wucmV0dXJuPW8ucmV0dXJuLG89bDticmVha31vPW8ucmV0dXJufWw9b319ZnVuY3Rpb24gcjkoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgbD10LGE9ITE7bnVsbCE9PWw7KXtpZighYSl7aWYoMCE9KDUyNDI4OCZsLmZsYWdzKSlhPSEwO2Vsc2UgaWYoMCE9KDI2MjE0NCZsLmZsYWdzKSlicmVha31pZigxMD09PWwudGFnKXt2YXIgbz1sLmFsdGVybmF0ZTtpZihudWxsPT09byl0aHJvdyBFcnJvcih1KDM4NykpO2lmKG51bGwhPT0obz1vLm1lbW9pemVkUHJvcHMpKXt2YXIgaT1sLnR5cGU7bkEobC5wZW5kaW5nUHJvcHMudmFsdWUsby52YWx1ZSl8fChudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfX1lbHNlIGlmKGw9PT1lci5jdXJyZW50KXtpZihudWxsPT09KG89bC5hbHRlcm5hdGUpKXRocm93IEVycm9yKHUoMzg3KSk7by5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUhPT1sLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1lP2UucHVzaChmdik6ZT1bZnZdKX1sPWwucmV0dXJufW51bGwhPT1lJiZyNih0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDR9ZnVuY3Rpb24gcjcoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbkEoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsZShlKXtyMj1lLHIzPW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBscihyMixlKX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiBudWxsPT09cjImJmxlKGUpLGxyKGUsdCl9ZnVuY3Rpb24gbHIoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yMyl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyMz10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByMz1yMy5uZXh0PXQ7cmV0dXJuIG59dmFyIGxsPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxhPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsbz1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGxpPXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHUoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGwsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxzKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbGEobG8sZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxjKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZj1udWxsLGxkPW51bGwsbHA9MCxsbT0wLGxoPW51bGw7ZnVuY3Rpb24gbGcoKXtpZigwPT0tLWxwJiYobGY9bnVsbCxudWxsIT09bGQpKXtudWxsIT09bGgmJihsaC5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxkO2xkPW51bGwsbG09MCxsaD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBsdj1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodVY9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlLHQpe2lmKG51bGw9PT1sZCl7dmFyIG49bGQ9W107bHA9MCxsbT1zJCgpLGxoPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19fWxwKyssdC50aGVuKGxnLGxnKX0oMCx0KSxudWxsIT09bGYpZm9yKHZhciBuPXN6O251bGwhPT1uOylsYyhuLGxmKSxuPW4ubmV4dDtpZihudWxsIT09KG49ZS50eXBlcykpe2Zvcih2YXIgcj1zejtudWxsIT09cjspbGMocixuKSxyPXIubmV4dDtpZigwIT09bG0pe251bGw9PT0ocj1sZikmJihyPWxmPVtdKTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTstMT09PXIuaW5kZXhPZihhKSYmci5wdXNoKGEpfX19bnVsbCE9PWx2JiZsdihlLHQpfTt2YXIgbHk9WShudWxsKTtmdW5jdGlvbiBsYigpe3ZhciBlPWx5LmN1cnJlbnQ7cmV0dXJuIG51bGwhPT1lP2U6dUUucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbHcoZSx0KXtudWxsPT09dD9aKGx5LGx5LmN1cnJlbnQpOloobHksdC5wb29sKX1mdW5jdGlvbiBsaygpe3ZhciBlPWxiKCk7cmV0dXJuIG51bGw9PT1lP251bGw6e3BhcmVudDpsaS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIGxTPUVycm9yKHUoNDYwKSksbEU9RXJyb3IodSg0NzQpKSxseD1FcnJvcih1KDU0MikpLGxfPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbFAoZSl7cmV0dXJuImZ1bGZpbGxlZCI9PT0oZT1lLnN0YXR1cyl8fCJyZWplY3RlZCI9PT1lfWZ1bmN0aW9uIGxOKGUsdCxuKXtzd2l0Y2godm9pZCAwPT09KG49ZVtuXSk/ZS5wdXNoKHQpOm4hPT10JiYodC50aGVuKHRULHRUKSx0PW4pLHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZTtkZWZhdWx0OmlmKCJzdHJpbmciPT10eXBlb2YgdC5zdGF0dXMpdC50aGVuKHRULHRUKTtlbHNle2lmKG51bGwhPT0oZT11RSkmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IodSg0ODIpKTsoZT10KS5zdGF0dXM9InBlbmRpbmciLGUudGhlbihmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0icmVqZWN0ZWQiLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZX10aHJvdyBsVD10LGxTfX1mdW5jdGlvbiBsQyhlKXt0cnl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9Y2F0Y2goZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil0aHJvdyBsVD1lLGxTO3Rocm93IGV9fXZhciBsVD1udWxsO2Z1bmN0aW9uIGxPKCl7aWYobnVsbD09PWxUKXRocm93IEVycm9yKHUoNDU5KSk7dmFyIGU9bFQ7cmV0dXJuIGxUPW51bGwsZX1mdW5jdGlvbiBseihlKXtpZihlPT09bFN8fGU9PT1seCl0aHJvdyBFcnJvcih1KDQ4MykpfXZhciBsTD1udWxsLGxSPTA7ZnVuY3Rpb24gbE0oZSl7dmFyIHQ9bFI7cmV0dXJuIGxSKz0xLG51bGw9PT1sTCYmKGxMPVtdKSxsTihsTCxlLHQpfWZ1bmN0aW9uIGxJKGUsdCl7ZS5yZWY9dm9pZCAwIT09KHQ9dC5wcm9wcy5yZWYpP3Q6bnVsbH1mdW5jdGlvbiBsRChlLHQpe2lmKHQuJCR0eXBlb2Y9PT1fKXRocm93IEVycm9yKHUoNTI1KSk7dGhyb3cgRXJyb3IodSgzMSwiW29iamVjdCBPYmplY3RdIj09PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSk/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXModCkuam9pbigiLCAiKSsifSI6ZSkpfWZ1bmN0aW9uIGxGKGUpe2Z1bmN0aW9uIHQodCxuKXtpZihlKXt2YXIgcj10LmRlbGV0aW9ucztudWxsPT09cj8odC5kZWxldGlvbnM9W25dLHQuZmxhZ3N8PTE2KTpyLnB1c2gobil9fWZ1bmN0aW9uIG4obixyKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO251bGwhPT1yOyl0KG4scikscj1yLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9bmV3IE1hcDtudWxsIT09ZTspbnVsbD09PWUua2V5P3Quc2V0KGUuaW5kZXgsZSk6dC5zZXQoZS5rZXksZSksZT1lLnNpYmxpbmc7cmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPXJiKGUsdCkpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4odC5pbmRleD1yLGUpP251bGwhPT0ocj10LmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8bj8odC5mbGFnc3w9MHg4MDAwMDAyLG4pOnI6KHQuZmxhZ3N8PTB4ODAwMDAwMixuKToodC5mbGFnc3w9MTA0ODU3NixuKX1mdW5jdGlvbiBvKHQpe3JldHVybiBlJiZudWxsPT09dC5hbHRlcm5hdGUmJih0LmZsYWdzfD0weDgwMDAwMDIpLHR9ZnVuY3Rpb24gaShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1yRShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIHMoZSx0LG4scil7dmFyIGE9bi50eXBlO3JldHVybiBhPT09Qz8obEkoZT1mKGUsdCxuLnByb3BzLmNoaWxkcmVuLHIsbi5rZXkpLG4pLGUpOihudWxsIT09dCYmKHQuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09RiYmbEMoYSk9PT10LnR5cGUpP2xJKHQ9bCh0LG4ucHJvcHMpLG4pOmxJKHQ9cmsobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBjKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KHQ9cl8obixlLm1vZGUscikpLnJldHVybj1lOih0PWwodCxuLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLHR9ZnVuY3Rpb24gZihlLHQsbixyLGEpe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPyh0PXJTKG4sZS5tb2RlLHIsYSkpLnJldHVybj1lOih0PWwodCxuKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBkKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8Im51bWJlciI9PXR5cGVvZiB0fHwiYmlnaW50Ij09dHlwZW9mIHQpcmV0dXJuKHQ9ckUoIiIrdCxlLm1vZGUsbikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbEkobj1yayh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSx0KSxuLnJldHVybj1lLG47Y2FzZSBOOnJldHVybih0PXJfKHQsZS5tb2RlLG4pKS5yZXR1cm49ZSx0O2Nhc2UgRjpyZXR1cm4gZChlLHQ9bEModCksbil9aWYoUSh0KXx8SCh0KSlyZXR1cm4odD1yUyh0LGUubW9kZSxuLG51bGwpKS5yZXR1cm49ZSx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pcmV0dXJuIGQoZSxsTSh0KSxuKTtpZih0LiQkdHlwZW9mPT09TClyZXR1cm4gZChlLGxuKGUsdCksbik7bEQoZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBsPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2Ygbnx8ImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybiBudWxsIT09bD9udWxsOmkoZSx0LCIiK24scik7aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbi5rZXk9PT1sP3MoZSx0LG4scik6bnVsbDtjYXNlIE46cmV0dXJuIG4ua2V5PT09bD9jKGUsdCxuLHIpOm51bGw7Y2FzZSBGOnJldHVybiBwKGUsdCxuPWxDKG4pLHIpfWlmKFEobil8fEgobikpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLHQsbixyLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4pcmV0dXJuIHAoZSx0LGxNKG4pLHIpO2lmKG4uJCR0eXBlb2Y9PT1MKXJldHVybiBwKGUsdCxsbihlLG4pLHIpO2xEKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHJ8fCJiaWdpbnQiPT10eXBlb2YgcilyZXR1cm4gaSh0LGU9ZS5nZXQobil8fG51bGwsIiIrcixsKTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBzKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixsKTtjYXNlIE46cmV0dXJuIGModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgRjpyZXR1cm4gbShlLHQsbixyPWxDKHIpLGwpfWlmKFEocil8fEgocikpcmV0dXJuIGYodCxlPWUuZ2V0KG4pfHxudWxsLHIsbCxudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKXJldHVybiBtKGUsdCxuLGxNKHIpLGwpO2lmKHIuJCR0eXBlb2Y9PT1MKXJldHVybiBtKGUsdCxuLGxuKHQsciksbCk7bEQodCxyKX1yZXR1cm4gbnVsbH1yZXR1cm4gZnVuY3Rpb24oaSxzLGMsZil7dHJ5e2xSPTA7dmFyIGg9ZnVuY3Rpb24gaShzLGMsZixoKXtpZigib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT1DJiZudWxsPT09Zi5rZXkmJnZvaWQgMD09PWYucHJvcHMucmVmJiYoZj1mLnByb3BzLmNoaWxkcmVuKSwib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSBQOmU6e2Zvcih2YXIgZz1mLmtleTtudWxsIT09Yzspe2lmKGMua2V5PT09Zyl7aWYoKGc9Zi50eXBlKT09PUMpe2lmKDc9PT1jLnRhZyl7bihzLGMuc2libGluZyksbEkoaD1sKGMsZi5wcm9wcy5jaGlsZHJlbiksZiksaC5yZXR1cm49cyxzPWg7YnJlYWsgZX19ZWxzZSBpZihjLmVsZW1lbnRUeXBlPT09Z3x8Im9iamVjdCI9PXR5cGVvZiBnJiZudWxsIT09ZyYmZy4kJHR5cGVvZj09PUYmJmxDKGcpPT09Yy50eXBlKXtuKHMsYy5zaWJsaW5nKSxsSShoPWwoYyxmLnByb3BzKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfW4ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9Zi50eXBlPT09Qz9sSShoPXJTKGYucHJvcHMuY2hpbGRyZW4scy5tb2RlLGgsZi5rZXkpLGYpOmxJKGg9cmsoZi50eXBlLGYua2V5LGYucHJvcHMsbnVsbCxzLm1vZGUsaCksZiksaC5yZXR1cm49cyxzPWh9cmV0dXJuIG8ocyk7Y2FzZSBOOmU6e2ZvcihnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKWlmKDQ9PT1jLnRhZyYmYy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmYy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZi5jaGlsZHJlbnx8W10pKS5yZXR1cm49cyxzPWg7YnJlYWsgZX1lbHNle24ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9KGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIEY6cmV0dXJuIGkocyxjLGY9bEMoZiksaCl9aWYoUShmKSlyZXR1cm4gZnVuY3Rpb24obCxvLGksdSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9byxoPW89MCxnPW51bGw7bnVsbCE9PWYmJmg8aS5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLGlbaF0sdSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJnQobCxmKSxvPWEodixvLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1pLmxlbmd0aClyZXR1cm4gbihsLGYpLHIkJiZyRihsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxpLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxpW2hdLHUpKSYmKG89YShmLG8saCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIHIkJiZyRihsLGgpLHN9Zm9yKGY9cihmKTtoPGkubGVuZ3RoO2grKyludWxsIT09KGc9bShmLGwsaCxpW2hdLHUpKSYmKGUmJm51bGwhPT0odj1nLmFsdGVybmF0ZSkmJmYuZGVsZXRlKG51bGw9PT12LmtleT9oOnYua2V5KSxvPWEoZyxvLGgpLG51bGw9PT1jP3M9ZzpjLnNpYmxpbmc9ZyxjPWcpO3JldHVybiBlJiZmLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHIkJiZyRihsLGgpLHN9KHMsYyxmLGgpO2lmKEgoZikpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZihnPUgoZikpKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGZ1bmN0aW9uKGwsbyxpLHMpe2lmKG51bGw9PWkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGM9bnVsbCxmPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJnQobCxoKSxvPWEoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gbihsLGgpLHIkJiZyRihsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gciQmJnJGKGwsZyksY31mb3IoaD1yKGgpOyF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpbnVsbCE9PSh5PW0oaCxsLGcseS52YWx1ZSxzKSkmJihlJiZudWxsIT09KHY9eS5hbHRlcm5hdGUpJiZoLmRlbGV0ZShudWxsPT09di5rZXk/Zzp2LmtleSksbz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gZSYmaC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGwsZSl9KSxyJCYmckYobCxnKSxjfShzLGMsZj1nLmNhbGwoZiksaCl9aWYoImZ1bmN0aW9uIj09dHlwZW9mIGYudGhlbilyZXR1cm4gaShzLGMsbE0oZiksaCk7aWYoZi4kJHR5cGVvZj09PUwpcmV0dXJuIGkocyxjLGxuKHMsZiksaCk7bEQocyxmKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGYmJiIiIT09Znx8Im51bWJlciI9PXR5cGVvZiBmfHwiYmlnaW50Ij09dHlwZW9mIGY/KGY9IiIrZixudWxsIT09YyYmNj09PWMudGFnPyhuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZikpLnJldHVybj1zKToobihzLGMpLChoPXJFKGYscy5tb2RlLGgpKS5yZXR1cm49cyksbyhzPWgpKTpuKHMsYyl9KGkscyxjLGYpO3JldHVybiBsTD1udWxsLGh9Y2F0Y2goZSl7aWYoZT09PWxTfHxlPT09bHgpdGhyb3cgZTt2YXIgZz1ydigyOSxlLG51bGwsaS5tb2RlKTtyZXR1cm4gZy5sYW5lcz1mLGcucmV0dXJuPWksZ31maW5hbGx5e319fXZhciBsQT1sRighMCksbGo9bEYoITEpLGxVPSExO2Z1bmN0aW9uIGxCKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gbFYoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gbEgoZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGwkKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsMCE9KDImdVMpKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCx0PXJtKGUpLHJwKGUsbnVsbCxuKSx0fXJldHVybiByYyhlLHIsdCxuKSxybShlKX1mdW5jdGlvbiBsUShlLHQsbil7aWYobnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDA0OCZuKSkpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sZWooZSxuKX19ZnVuY3Rpb24gbFcoZSx0KXt2YXIgbj1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJm49PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PShuPW4uZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShudWxsIT09biludWxsPT09YT9sPWE9dDphPWEubmV4dD10fWVsc2UgbD1hPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsc2hhcmVkOnIuc2hhcmVkLGNhbGxiYWNrczpyLmNhbGxiYWNrc30sZS51cGRhdGVRdWV1ZT1uO3JldHVybn1udWxsPT09KGU9bi5sYXN0QmFzZVVwZGF0ZSk/bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIGxxPSExO2Z1bmN0aW9uIGxLKCl7aWYobHEpe3ZhciBlPWxoO2lmKG51bGwhPT1lKXRocm93IGV9fWZ1bmN0aW9uIGxYKGUsdCxuLHIpe2xxPSExO3ZhciBsPWUudXBkYXRlUXVldWU7bFU9ITE7dmFyIGE9bC5maXJzdEJhc2VVcGRhdGUsbz1sLmxhc3RCYXNlVXBkYXRlLGk9bC5zaGFyZWQucGVuZGluZztpZihudWxsIT09aSl7bC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciB1PWkscz11Lm5leHQ7dS5uZXh0PW51bGwsbnVsbD09PW8/YT1zOm8ubmV4dD1zLG89dTt2YXIgYz1lLmFsdGVybmF0ZTtudWxsIT09YyYmKGk9KGM9Yy51cGRhdGVRdWV1ZSkubGFzdEJhc2VVcGRhdGUpIT09byYmKG51bGw9PT1pP2MuZmlyc3RCYXNlVXBkYXRlPXM6aS5uZXh0PXMsYy5sYXN0QmFzZVVwZGF0ZT11KX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKG89MCxjPXM9dT1udWxsLGk9YTs7KXt2YXIgZD0tMHgyMDAwMDAwMSZpLmxhbmUscD1kIT09aS5sYW5lO2lmKHA/KHVfJmQpPT09ZDoociZkKT09PWQpezAhPT1kJiZkPT09bG0mJihscT0hMCksbnVsbCE9PWMmJihjPWMubmV4dD17bGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1pO3N3aXRjaChkPXQsaC50YWcpe2Nhc2UgMTppZigiZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpKXtmPW0uY2FsbChuLGYsZCk7YnJlYWsgZX1mPW07YnJlYWsgZTtjYXNlIDM6bS5mbGFncz0tNjU1MzcmbS5mbGFnc3wxMjg7Y2FzZSAwOmlmKG51bGw9PShkPSJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCk/bS5jYWxsKG4sZixkKTptKSlicmVhayBlO2Y9eCh7fSxmLGQpO2JyZWFrIGU7Y2FzZSAyOmxVPSEwfX1udWxsIT09KGQ9aS5jYWxsYmFjaykmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MiksbnVsbD09PShwPWwuY2FsbGJhY2tzKT9sLmNhbGxiYWNrcz1bZF06cC5wdXNoKGQpKX1lbHNlIHA9e2xhbmU6ZCx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1jPyhzPWM9cCx1PWYpOmM9Yy5uZXh0PXAsb3w9ZDtpZihudWxsPT09KGk9aS5uZXh0KSlpZihudWxsPT09KGk9bC5zaGFyZWQucGVuZGluZykpYnJlYWs7ZWxzZSBpPShwPWkpLm5leHQscC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1wLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH1udWxsPT09YyYmKHU9ZiksbC5iYXNlU3RhdGU9dSxsLmZpcnN0QmFzZVVwZGF0ZT1zLGwubGFzdEJhc2VVcGRhdGU9YyxudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApLHVSfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbEcoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGxZKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobnVsbCE9PW4pZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKWxHKG5bZV0sdCl9dmFyIGxKPVkobnVsbCksbFo9WSgwKTtmdW5jdGlvbiBsMChlLHQpe1oobFosZT11eiksWihsSix0KSx1ej1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGwxKCl7WihsWix1eiksWihsSixsSi5jdXJyZW50KX1mdW5jdGlvbiBsMigpe3V6PWxaLmN1cnJlbnQsSihsSiksSihsWil9dmFyIGwzPVkobnVsbCksbDQ9bnVsbDtmdW5jdGlvbiBsOChlKXt2YXIgdD1lLmFsdGVybmF0ZTtaKGFlLDEmYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihudWxsPT09dHx8bnVsbCE9PWxKLmN1cnJlbnQ/bDQ9ZTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiYobDQ9ZSkpfWZ1bmN0aW9uIGw1KGUpe1ooYWUsYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihsND1lKX1mdW5jdGlvbiBsNihlKXsyMj09PWUudGFnPyhaKGFlLGFlLmN1cnJlbnQpLFoobDMsZSksbnVsbD09PWw0JiYobDQ9ZSkpOmw5KCl9ZnVuY3Rpb24gbDkoKXtaKGFlLGFlLmN1cnJlbnQpLFoobDMsbDMuY3VycmVudCl9ZnVuY3Rpb24gbDcoZSl7SihsMyksbDQ9PT1lJiYobDQ9bnVsbCksSihhZSl9dmFyIGFlPVkoMCk7ZnVuY3Rpb24gYXQoZSx0KXtaKGwzLGwzLmN1cnJlbnQpLFooYWUsdCl9ZnVuY3Rpb24gYW4oZSl7SihhZSksSihsMyksbDQ9PT1lJiYobDQ9bnVsbCl9ZnVuY3Rpb24gYXIoZSl7Zm9yKHZhciB0PWU7bnVsbCE9PXQ7KXtpZigxMz09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW4mJihudWxsPT09KG49bi5kZWh5ZHJhdGVkKXx8Y0gobil8fGMkKG4pKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJiJpbmRlcGVuZGVudCIhPT10Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmdC5mbGFncykpcmV0dXJuIHR9ZWxzZSBpZihudWxsIT09dC5jaGlsZCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBhbD0wLGFhPW51bGwsYW89bnVsbCxhaT1udWxsLGF1PSExLGFzPSExLGFjPSExLGFmPTAsYWQ9MCxhcD1udWxsLGFtPTA7ZnVuY3Rpb24gYWgoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIGFnKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIW5BKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYXYoZSx0LG4scixsLGEpe3JldHVybiBhbD1hLGFhPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxXLkg9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/b0U6b3gsYWM9ITEsYT1uKHIsbCksYWM9ITEsYXMmJihhPWFiKHQsbixyLGwpKSxheShlKSxhfWZ1bmN0aW9uIGF5KGUpe1cuSD1vUzt2YXIgdD1udWxsIT09YW8mJm51bGwhPT1hby5uZXh0O2lmKGFsPTAsYWk9YW89YWE9bnVsbCxhdT0hMSxhZD0wLGFwPW51bGwsdCl0aHJvdyBFcnJvcih1KDMwMCkpO251bGw9PT1lfHxvVXx8bnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmcjcoZSkmJihvVT0hMCl9ZnVuY3Rpb24gYWIoZSx0LG4scil7YWE9ZTt2YXIgbD0wO2Rve2lmKGFzJiYoYXA9bnVsbCksYWQ9MCxhcz0hMSwyNTw9bCl0aHJvdyBFcnJvcih1KDMwMSkpO2lmKGwrPTEsYWk9YW89bnVsbCxudWxsIT1lLnVwZGF0ZVF1ZXVlKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxudWxsIT1hLm1lbW9DYWNoZSYmKGEubWVtb0NhY2hlLmluZGV4PTApfVcuSD1vXyxhPXQobixyKX13aGlsZShhcylyZXR1cm4gYX1mdW5jdGlvbiBhdygpe3ZhciBlPVcuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP2FOKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKG51bGwhPT1hbz9hby5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKGFhLmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIGFrKCl7dmFyIGU9MCE9PWFmO3JldHVybiBhZj0wLGV9ZnVuY3Rpb24gYVMoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+bn1mdW5jdGlvbiBhRShlKXtpZihhdSl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1lOyl7dmFyIHQ9ZS5xdWV1ZTtudWxsIT09dCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1hdT0hMX1hbD0wLGFpPWFvPWFhPW51bGwsYXM9ITEsYWQ9YWY9MCxhcD1udWxsfWZ1bmN0aW9uIGF4KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lLGFpfWZ1bmN0aW9uIGFfKCl7aWYobnVsbD09PWFvKXt2YXIgZT1hYS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9YW8ubmV4dDt2YXIgdD1udWxsPT09YWk/YWEubWVtb2l6ZWRTdGF0ZTphaS5uZXh0O2lmKG51bGwhPT10KWFpPXQsYW89ZTtlbHNle2lmKG51bGw9PT1lKXtpZihudWxsPT09YWEuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoNDY3KSk7dGhyb3cgRXJyb3IodSgzMTApKX1lPXttZW1vaXplZFN0YXRlOihhbz1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTphby5iYXNlU3RhdGUsYmFzZVF1ZXVlOmFvLmJhc2VRdWV1ZSxxdWV1ZTphby5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lfXJldHVybiBhaX1mdW5jdGlvbiBhUCgpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGFOKGUpe3ZhciB0PWFkO3JldHVybiBhZCs9MSxudWxsPT09YXAmJihhcD1bXSksZT1sTihhcCxlLHQpLHQ9YWEsbnVsbD09PShudWxsPT09YWk/dC5tZW1vaXplZFN0YXRlOmFpLm5leHQpJiYoVy5IPW51bGw9PT0odD10LmFsdGVybmF0ZSl8fG51bGw9PT10Lm1lbW9pemVkU3RhdGU/b0U6b3gpLGV9ZnVuY3Rpb24gYUMoZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gYU4oZSk7aWYoZS4kJHR5cGVvZj09PUwpcmV0dXJuIGx0KGUpfXRocm93IEVycm9yKHUoNDM4LFN0cmluZyhlKSkpfWZ1bmN0aW9uIGFUKGUpe3ZhciB0PW51bGwsbj1hYS51cGRhdGVRdWV1ZTtpZihudWxsIT09biYmKHQ9bi5tZW1vQ2FjaGUpLG51bGw9PXQpe3ZhciByPWFhLmFsdGVybmF0ZTtudWxsIT09ciYmbnVsbCE9PShyPXIudXBkYXRlUXVldWUpJiZudWxsIT0ocj1yLm1lbW9DYWNoZSkmJih0PXtkYXRhOnIuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KX1pZihudWxsPT10JiYodD17ZGF0YTpbXSxpbmRleDowfSksbnVsbD09PW4mJihuPWFQKCksYWEudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCx2b2lkIDA9PT0obj10LmRhdGFbdC5pbmRleF0pKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPVU7cmV0dXJuIHQuaW5kZXgrKyxufWZ1bmN0aW9uIGFPKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKTp0fWZ1bmN0aW9uIGF6KGUpe3JldHVybiBhTChhXygpLGFvLGUpfWZ1bmN0aW9uIGFMKGUsdCxuKXt2YXIgcj1lLnF1ZXVlO2lmKG51bGw9PT1yKXRocm93IEVycm9yKHUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9ZS5iYXNlUXVldWUsYT1yLnBlbmRpbmc7aWYobnVsbCE9PWEpe2lmKG51bGwhPT1sKXt2YXIgbz1sLm5leHQ7bC5uZXh0PWEubmV4dCxhLm5leHQ9b310LmJhc2VRdWV1ZT1sPWEsci5wZW5kaW5nPW51bGx9aWYoYT1lLmJhc2VTdGF0ZSxudWxsPT09bCllLm1lbW9pemVkU3RhdGU9YTtlbHNle3Q9bC5uZXh0O3ZhciBpPW89bnVsbCxzPW51bGwsYz10LGY9ITE7ZG97dmFyIGQ9LTB4MjAwMDAwMDEmYy5sYW5lO2lmKGQhPT1jLmxhbmU/KHVfJmQpPT09ZDooYWwmZCk9PT1kKXt2YXIgcD1jLnJldmVydExhbmU7aWYoMD09PXApbnVsbCE9PXMmJihzPXMubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGQ9PT1sbSYmKGY9ITApO2Vsc2UgaWYoKGFsJnApPT09cCl7Yz1jLm5leHQscD09PWxtJiYoZj0hMCk7Y29udGludWV9ZWxzZSBkPXtsYW5lOjAscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpjLmFjdGlvbixoYXNFYWdlclN0YXRlOmMuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmMuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LG51bGw9PT1zPyhpPXM9ZCxvPWEpOnM9cy5uZXh0PWQsYWEubGFuZXN8PXAsdVJ8PXA7ZD1jLmFjdGlvbixhYyYmbihhLGQpLGE9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTpuKGEsZCl9ZWxzZSBwPXtsYW5lOmQscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpjLmdlc3R1cmUsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1wLG89YSk6cz1zLm5leHQ9cCxhYS5sYW5lc3w9ZCx1Unw9ZDtjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PXQpaWYobnVsbD09PXM/bz1hOnMubmV4dD1pLCFuQShhLGUubWVtb2l6ZWRTdGF0ZSkmJihvVT0hMCxmJiZudWxsIT09KG49bGgpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1hLGUuYmFzZVN0YXRlPW8sZS5iYXNlUXVldWU9cyxyLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuIG51bGw9PT1sJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIGFSKGUpe3ZhciB0PWFfKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxsPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7bi5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG8gYT1lKGEsby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1sKW5BKGEsdC5tZW1vaXplZFN0YXRlKXx8KG9VPSEwKSx0Lm1lbW9pemVkU3RhdGU9YSxudWxsPT09dC5iYXNlUXVldWUmJih0LmJhc2VTdGF0ZT1hKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuW2Escl19ZnVuY3Rpb24gYU0oZSx0LG4pe3ZhciByPWFhLGw9YV8oKSxhPXIkO2lmKGEpe2lmKHZvaWQgMD09PW4pdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFuQSgoYW98fGwpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGwubWVtb2l6ZWRTdGF0ZT1uLG9VPSEwKSxsPWwucXVldWUsYTgoYUYuYmluZChudWxsLHIsbCxlKSxbZV0pLGwuZ2V0U25hcHNob3QhPT10fHxvfHxudWxsIT09YWkmJjEmYWkubWVtb2l6ZWRTdGF0ZS50YWcpe2lmKHIuZmxhZ3N8PTIwNDgsYTAoOSx7ZGVzdHJveTp2b2lkIDB9LGFELmJpbmQobnVsbCxyLGwsbix0KSxudWxsKSxudWxsPT09dUUpdGhyb3cgRXJyb3IodSgzNDkpKTthfHwwIT0oMTI3JmFsKXx8YUkocix0LG4pfXJldHVybiBufWZ1bmN0aW9uIGFJKGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LG51bGw9PT0odD1hYS51cGRhdGVRdWV1ZSk/KHQ9YVAoKSxhYS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIGFEKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsYUEodCkmJmFqKGUpfWZ1bmN0aW9uIGFGKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe2FBKHQpJiZhaihlKX0pfWZ1bmN0aW9uIGFBKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIW5BKGUsbil9Y2F0Y2goZSl7cmV0dXJuITB9fWZ1bmN0aW9uIGFqKGUpe3ZhciB0PXJkKGUsMik7bnVsbCE9PXQmJnU2KHQsZSwyKX1mdW5jdGlvbiBhVShlKXt2YXIgdD1heCgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLHQucXVldWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTplfSx0fWZ1bmN0aW9uIGFCKGUsdCxuLHIpe3JldHVybiBlLmJhc2VTdGF0ZT1uLGFMKGUsYW8sImZ1bmN0aW9uIj09dHlwZW9mIHI/cjphTyl9ZnVuY3Rpb24gYVYoZSx0LG4scixsKXtpZihvYihlKSl0aHJvdyBFcnJvcih1KDQ4NSkpO2lmKG51bGwhPT0oZT10LmFjdGlvbikpe3ZhciBhPXtwYXlsb2FkOmwsYWN0aW9uOmUsbmV4dDpudWxsLGlzVHJhbnNpdGlvbjohMCxzdGF0dXM6InBlbmRpbmciLHZhbHVlOm51bGwscmVhc29uOm51bGwsbGlzdGVuZXJzOltdLHRoZW46ZnVuY3Rpb24oZSl7YS5saXN0ZW5lcnMucHVzaChlKX19O251bGwhPT1XLlQ/bighMCk6YS5pc1RyYW5zaXRpb249ITEscihhKSxudWxsPT09KG49dC5wZW5kaW5nKT8oYS5uZXh0PXQucGVuZGluZz1hLGFIKHQsYSkpOihhLm5leHQ9bi5uZXh0LHQucGVuZGluZz1uLm5leHQ9YSl9fWZ1bmN0aW9uIGFIKGUsdCl7dmFyIG49dC5hY3Rpb24scj10LnBheWxvYWQsbD1lLnN0YXRlO2lmKHQuaXNUcmFuc2l0aW9uKXt2YXIgYT1XLlQsbz17fTtvLnR5cGVzPW51bGwhPT1hP2EudHlwZXM6bnVsbCxXLlQ9bzt0cnl7dmFyIGk9bihsLHIpLHU9Vy5TO251bGwhPT11JiZ1KG8saSksYSQoZSx0LGkpfWNhdGNoKG4pe2FXKGUsdCxuKX1maW5hbGx5e251bGwhPT1hJiZudWxsIT09by50eXBlcyYmKGEudHlwZXM9by50eXBlcyksVy5UPWF9fWVsc2UgdHJ5e2E9bihsLHIpLGEkKGUsdCxhKX1jYXRjaChuKXthVyhlLHQsbil9fWZ1bmN0aW9uIGEkKGUsdCxuKXtudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuP24udGhlbihmdW5jdGlvbihuKXthUShlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBhVyhlLHQsbil9KTphUShlLHQsbil9ZnVuY3Rpb24gYVEoZSx0LG4pe3Quc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bixhcSh0KSxlLnN0YXRlPW4sbnVsbCE9PSh0PWUucGVuZGluZykmJigobj10Lm5leHQpPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sYUgoZSxuKSkpfWZ1bmN0aW9uIGFXKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsbnVsbCE9PXIpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPSJyZWplY3RlZCIsdC5yZWFzb249bixhcSh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBhcShlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gYUsoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBhWChlLHQpe2lmKHIkKXt2YXIgbj11RS5mb3JtU3RhdGU7aWYobnVsbCE9PW4pe2U6e3ZhciByPWFhO2lmKHIkKXtpZihySCl7dDp7Zm9yKHZhciBsPXJILGE9clc7OCE9PWwubm9kZVR5cGU7KWlmKCFhfHxudWxsPT09KGw9Y1EobC5uZXh0U2libGluZykpKXtsPW51bGw7YnJlYWsgdH1sPSJGISI9PT0oYT1sLmRhdGEpfHwiRiI9PT1hP2w6bnVsbH1pZihsKXtySD1jUShsLm5leHRTaWJsaW5nKSxyPSJGISI9PT1sLmRhdGE7YnJlYWsgZX19cksocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuKG49YXgoKSkubWVtb2l6ZWRTdGF0ZT1uLmJhc2VTdGF0ZT10LHI9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphSyxsYXN0UmVuZGVyZWRTdGF0ZTp0fSxuLnF1ZXVlPXIsbj1vZy5iaW5kKG51bGwsYWEsciksci5kaXNwYXRjaD1uLHI9YVUoITEpLGE9b3kuYmluZChudWxsLGFhLCExLHIucXVldWUpLHI9YXgoKSxsPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWwsbj1hVi5iaW5kKG51bGwsYWEsbCxhLG4pLGwuZGlzcGF0Y2g9bixyLm1lbW9pemVkU3RhdGU9ZSxbdCxuLCExXX1mdW5jdGlvbiBhRyhlKXtyZXR1cm4gYVkoYV8oKSxhbyxlKX1mdW5jdGlvbiBhWShlLHQsbil7aWYodD1hTChlLHQsYUspWzBdLGU9YXooYU8pWzBdLCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pdHJ5e3ZhciByPWFOKHQpfWNhdGNoKGUpe2lmKGU9PT1sUyl0aHJvdyBseDt0aHJvdyBlfWVsc2Ugcj10O3ZhciBsPSh0PWFfKCkpLnF1ZXVlLGE9bC5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKGFhLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhSi5iaW5kKG51bGwsbCxuKSxudWxsKSksW3IsYSxlXX1mdW5jdGlvbiBhSihlLHQpe2UuYWN0aW9uPXR9ZnVuY3Rpb24gYVooZSl7dmFyIHQ9YV8oKSxuPWFvO2lmKG51bGwhPT1uKXJldHVybiBhWSh0LG4sZSk7YV8oKSx0PXQubWVtb2l6ZWRTdGF0ZTt2YXIgcj0obj1hXygpKS5xdWV1ZS5kaXNwYXRjaDtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPWUsW3QsciwhMV19ZnVuY3Rpb24gYTAoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTpuLGRlcHM6cixpbnN0OnQsbmV4dDpudWxsfSxudWxsPT09KHQ9YWEudXBkYXRlUXVldWUpJiYodD1hUCgpLGFhLnVwZGF0ZVF1ZXVlPXQpLG51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gYTEoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGEyKGUsdCxuLHIpe3ZhciBsPWF4KCk7YWEuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPWEwKDF8dCx7ZGVzdHJveTp2b2lkIDB9LG4sdm9pZCAwPT09cj9udWxsOnIpfWZ1bmN0aW9uIGEzKGUsdCxuLHIpe3ZhciBsPWFfKCk7cj12b2lkIDA9PT1yP251bGw6cjt2YXIgYT1sLm1lbW9pemVkU3RhdGUuaW5zdDtudWxsIT09YW8mJm51bGwhPT1yJiZhZyhyLGFvLm1lbW9pemVkU3RhdGUuZGVwcyk/bC5tZW1vaXplZFN0YXRlPWEwKHQsYSxuLHIpOihhYS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTAoMXx0LGEsbixyKSl9ZnVuY3Rpb24gYTQoZSx0KXthMig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBhOChlLHQpe2EzKDIwNDgsOCxlLHQpfWZ1bmN0aW9uIGE1KGUpe3ZhciB0PWFfKCkubWVtb2l6ZWRTdGF0ZSxuPXtyZWY6dCxuZXh0SW1wbDplfTthYS5mbGFnc3w9NDt2YXIgcj1hYS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyPWFQKCksYWEudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgbD1yLmV2ZW50cztudWxsPT09bD9yLmV2ZW50cz1bbl06bC5wdXNoKG4pfXJldHVybiBmdW5jdGlvbigpe2lmKDAhPSgyJnVTKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiB0LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGE2KGUsdCl7cmV0dXJuIGEzKDQsMixlLHQpfWZ1bmN0aW9uIGE5KGUsdCl7cmV0dXJuIGEzKDQsNCxlLHQpfWZ1bmN0aW9uIGE3KGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPXQoZT1lKCkpO3JldHVybiBmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTp0KG51bGwpfX1pZihudWxsIT10KXJldHVybiB0LmN1cnJlbnQ9ZT1lKCksZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gb2UoZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTMoNCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfWZ1bmN0aW9uIG90KCl7fWZ1bmN0aW9uIG9uKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIG9yKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtyPWUoKSx0XSxyKX1mdW5jdGlvbiBvbChlLHQsbil7cmV0dXJuIHZvaWQgMD09PW58fDAhPSgweDQwMDAwMDAwJmFsKSYmMD09KDI2MTkzMCZ1Xyk/ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSxuKX1mdW5jdGlvbiBvYShlLHQsbixyKXtyZXR1cm4gbkEobix0KT9uOm51bGwhPT1sSi5jdXJyZW50PyhuQShlPW9sKGUsbixyKSx0KXx8KG9VPSEwKSxlKTowPT0oNDImYWwpfHwwIT0oMHg0MDAwMDAwMCZhbCkmJjA9PSgyNjE5MzAmdV8pPyhvVT0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSx0KX1mdW5jdGlvbiBvbyhlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb3koZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3YoZSx0LGQsdTQoZSkpfWVsc2Ugb3YoZSx0LHIsdTQoZSkpfWNhdGNoKG4pe292KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU0KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb2koKXt9ZnVuY3Rpb24gb3UoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b3MoZSkucXVldWU7b28oZSxsLHQsSyxudWxsPT09bj9vaTpmdW5jdGlvbigpe3JldHVybiBvYyhlKSxuKHIpfSl9ZnVuY3Rpb24gb3MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvYyhlKXt2YXIgdD1vcyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxvdihlLHQubmV4dC5xdWV1ZSx7fSx1NCgpKX1mdW5jdGlvbiBvZigpe3JldHVybiBsdChmdil9ZnVuY3Rpb24gb2QoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9wKCl7cmV0dXJuIGFfKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvbShlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU0KCkscj1sJCh0LGU9bEgobiksbik7bnVsbCE9PXImJih1NihyLHQsbiksbFEocix0LG4pKSx0PXtjYWNoZTpsdSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2goZSx0LG4pe3ZhciByPXU0KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvYihlKT9vdyh0LG4pOm51bGwhPT0obj1yZihlLHQsbixyKSkmJih1NihuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvZyhlLHQsbil7b3YoZSx0LG4sdTQoKSl9ZnVuY3Rpb24gb3YoZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob2IoZSkpb3codCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5BKGksbykpcmV0dXJuIHJjKGUsdCxsLDApLG51bGw9PT11RSYmcnMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJmKGUsdCxsLHIpKSlyZXR1cm4gdTYobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBveShlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzJCgpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG9iKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmYoZSxuLHIsMikpJiZ1Nih0LGUsMil9ZnVuY3Rpb24gb2IoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hYXx8bnVsbCE9PXQmJnQ9PT1hYX1mdW5jdGlvbiBvdyhlLHQpe2FzPWF1PSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb1M9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazphaCx1c2VDb250ZXh0OmFoLHVzZUVmZmVjdDphaCx1c2VJbXBlcmF0aXZlSGFuZGxlOmFoLHVzZUxheW91dEVmZmVjdDphaCx1c2VJbnNlcnRpb25FZmZlY3Q6YWgsdXNlTWVtbzphaCx1c2VSZWR1Y2VyOmFoLHVzZVJlZjphaCx1c2VTdGF0ZTphaCx1c2VEZWJ1Z1ZhbHVlOmFoLHVzZURlZmVycmVkVmFsdWU6YWgsdXNlVHJhbnNpdGlvbjphaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphaCx1c2VJZDphaCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphaCx1c2VGb3JtU3RhdGU6YWgsdXNlQWN0aW9uU3RhdGU6YWgsdXNlT3B0aW1pc3RpYzphaCx1c2VNZW1vQ2FjaGU6YWgsdXNlQ2FjaGVSZWZyZXNoOmFofTtvUy51c2VFZmZlY3RFdmVudD1haDt2YXIgb0U9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6bHQsdXNlRWZmZWN0OmE0LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTIoNDE5NDMwOCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYTIoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe2EyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49YXgoKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPWUoKTtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPVtyLHRdLHJ9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWF4KCk7aWYodm9pZCAwIT09bil2YXIgbD1uKHQpO2Vsc2UgbD10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bCxyLnF1ZXVlPWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOmx9LGU9ZS5kaXNwYXRjaD1vaC5iaW5kKG51bGwsYWEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9e2N1cnJlbnQ6ZX19LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PShlPWFVKGUpKS5xdWV1ZSxuPW9nLmJpbmQobnVsbCxhYSx0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbChheCgpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hVSghMSk7cmV0dXJuIGU9b28uYmluZChudWxsLGFhLGUucXVldWUsITAsITEpLGF4KCkubWVtb2l6ZWRTdGF0ZT1lLFshMSxlXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFhLGw9YXgoKTtpZihyJCl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXVFKXRocm93IEVycm9yKHUoMzQ5KSk7MCE9KDEyNyZ1Xyl8fGFJKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1hLGE0KGFGLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhRC5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1heCgpLHQ9dUUuaWRlbnRpZmllclByZWZpeDtpZihyJCl7dmFyIG49ckQscj1ySTt0PSJfIit0KyJSXyIrKG49KHImfigxPDwzMi1lUChyKS0xKSkudG9TdHJpbmcoMzIpK24pLDA8KG49YWYrKykmJih0Kz0iSCIrbi50b1N0cmluZygzMikpLHQrPSJfIn1lbHNlIHQ9Il8iK3QrInJfIisobj1hbSsrKS50b1N0cmluZygzMikrIl8iO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFYLHVzZUFjdGlvblN0YXRlOmFYLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PW95LmJpbmQobnVsbCxhYSwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTphVCx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gYXgoKS5tZW1vaXplZFN0YXRlPW9tLmJpbmQobnVsbCxhYSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWF4KCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZigwIT0oMiZ1UykpdGhyb3cgRXJyb3IodSg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LG94PXtyZWFkQ29udGV4dDpsdCx1c2U6YUMsdXNlQ2FsbGJhY2s6b24sdXNlQ29udGV4dDpsdCx1c2VFZmZlY3Q6YTgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvZSx1c2VJbnNlcnRpb25FZmZlY3Q6YTYsdXNlTGF5b3V0RWZmZWN0OmE5LHVzZU1lbW86b3IsdXNlUmVkdWNlcjpheix1c2VSZWY6YTEsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYXooYU8pfSx1c2VEZWJ1Z1ZhbHVlOm90LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2EoYV8oKSxhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1heihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFHLHVzZUFjdGlvblN0YXRlOmFHLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYUIoYV8oKSxhbyxlLHQpfSx1c2VNZW1vQ2FjaGU6YVQsdXNlQ2FjaGVSZWZyZXNoOm9wfTtveC51c2VFZmZlY3RFdmVudD1hNTt2YXIgb189e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpvbix1c2VDb250ZXh0Omx0LHVzZUVmZmVjdDphOCx1c2VJbXBlcmF0aXZlSGFuZGxlOm9lLHVzZUluc2VydGlvbkVmZmVjdDphNix1c2VMYXlvdXRFZmZlY3Q6YTksdXNlTWVtbzpvcix1c2VSZWR1Y2VyOmFSLHVzZVJlZjphMSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhUihhTyl9LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWFfKCk7cmV0dXJuIG51bGw9PT1hbz9vbChuLGUsdCk6b2Eobixhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hUihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFaLHVzZUFjdGlvblN0YXRlOmFaLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hXygpO3JldHVybiBudWxsIT09YW8/YUIobixhbyxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOmFULHVzZUNhY2hlUmVmcmVzaDpvcH07ZnVuY3Rpb24gb1AoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Ongoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfW9fLnVzZUVmZmVjdEV2ZW50PWE1O3ZhciBvTj17ZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bCQoZSxsLHIpKSYmKHU2KHQsZSxyKSxsUSh0LGUscikpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnRhZz0xLGwucGF5bG9hZD10LG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0odD1sJChlLGwscikpJiYodTYodCxlLHIpLGxRKHQsZSxyKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49dTQoKSxyPWxIKG4pO3IudGFnPTIsbnVsbCE9dCYmKHIuY2FsbGJhY2s9dCksbnVsbCE9PSh0PWwkKGUscixuKSkmJih1Nih0LGUsbiksbFEodCxlLG4pKX19O2Z1bmN0aW9uIG9DKGUsdCxuLHIsbCxhLG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLG8pOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhbmoobixyKXx8IW5qKGwsYSl9ZnVuY3Rpb24gb1QoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJm9OLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIG9PKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpZm9yKHZhciByIGluIG49e30sdCkicmVmIiE9PXImJihuW3JdPXRbcl0pO2lmKGU9ZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBsIGluIG49PT10JiYobj14KHt9LG4pKSxlKXZvaWQgMD09PW5bbF0mJihuW2xdPWVbbF0pO3JldHVybiBufWZ1bmN0aW9uIG96KGUpe3JhKGUpfWZ1bmN0aW9uIG9MKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gb1IoZSl7cmEoZSl9ZnVuY3Rpb24gb00oZSx0KXt0cnl7KDAsZS5vblVuY2F1Z2h0RXJyb3IpKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBvSShlLHQsbil7dHJ5eygwLGUub25DYXVnaHRFcnJvcikobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OjE9PT10LnRhZz90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3JldHVybihuPWxIKG4pKS50YWc9MyxuLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sbi5jYWxsYmFjaz1mdW5jdGlvbigpe29NKGUsdCl9LG59ZnVuY3Rpb24gb0YoZSl7cmV0dXJuKGU9bEgoZSkpLnRhZz0zLGV9ZnVuY3Rpb24gb0EoZSx0LG4scil7dmFyIGw9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7dmFyIGE9ci52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbChhKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKX19dmFyIG89bi5zdGF0ZU5vZGU7bnVsbCE9PW8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKSwiZnVuY3Rpb24iIT10eXBlb2YgbCYmKG51bGw9PT11UT91UT1uZXcgU2V0KFt0aGlzXSk6dVEuYWRkKHRoaXMpKTt2YXIgZT1yLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goci52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWU/ZToiIn0pfSl9dmFyIG9qPUVycm9yKHUoNDYxKSksb1U9ITE7ZnVuY3Rpb24gb0IoZSx0LG4scil7dC5jaGlsZD1udWxsPT09ZT9saih0LG51bGwsbixyKTpsQSh0LGUuY2hpbGQsbixyKX1mdW5jdGlvbiBvVihlLHQsbixyLGwpe249bi5yZW5kZXI7dmFyIGE9dC5yZWY7aWYoInJlZiJpbiByKXt2YXIgbz17fTtmb3IodmFyIGkgaW4gcikicmVmIiE9PWkmJihvW2ldPXJbaV0pfWVsc2Ugbz1yO3JldHVybihsZSh0KSxyPWF2KGUsdCxuLG8sYSxsKSxpPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJmkmJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbCksdC5jaGlsZCk6KGFTKGUsdCxsKSxpbChlLHQsbCkpfWZ1bmN0aW9uIG9IKGUsdCxuLHIsbCl7aWYobnVsbD09PWUpe3ZhciBhPW4udHlwZTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgYXx8cnkoYSl8fHZvaWQgMCE9PWEuZGVmYXVsdFByb3BzfHxudWxsIT09bi5jb21wYXJlPygoZT1yayhuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGwpKS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWUpOih0LnRhZz0xNSx0LnR5cGU9YSxvJChlLHQsYSxyLGwpKX1pZihhPWUuY2hpbGQsIWlhKGUsbCkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZigobj1udWxsIT09KG49bi5jb21wYXJlKT9uOm5qKShvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBpbChlLHQsbCl9cmV0dXJuIHQuZmxhZ3N8PTEsKGU9cmIoYSxyKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIG8kKGUsdCxuLHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihuaihhLHIpJiZlLnJlZj09PXQucmVmKWlmKG9VPSExLHQucGVuZGluZ1Byb3BzPXI9YSwhaWEoZSxsKSlyZXR1cm4gdC5sYW5lcz1lLmxhbmVzLGlsKGUsdCxsKTtlbHNlIDAhPSgxMzEwNzImZS5mbGFncykmJihvVT0hMCl9cmV0dXJuIG9ZKGUsdCxuLHIsbCl9ZnVuY3Rpb24gb1EoZSx0LG4scil7dmFyIGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG51bGw9PT1lJiZudWxsPT09dC5zdGF0ZU5vZGUmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksImhpZGRlbiI9PT1yLm1vZGUpe2lmKDAhPSgxMjgmdC5mbGFncykpe2lmKGE9bnVsbCE9PWE/YS5iYXNlTGFuZXN8bjpuLG51bGwhPT1lKXtmb3IobD0wLHI9dC5jaGlsZD1lLmNoaWxkO251bGwhPT1yOylsPWx8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1sJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gb3EoZSx0LGEsbixyKX1pZigwPT0oMHgyMDAwMDAwMCZuKSlyZXR1cm4gcj10LmxhbmVzPTB4MjAwMDAwMDAsb3EoZSx0LG51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixuLHIpO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG51bGwhPT1lJiZsdyh0LG51bGwhPT1hP2EuY2FjaGVQb29sOm51bGwpLG51bGwhPT1hP2wwKHQsYSk6bDEoKSxsNih0KX1lbHNlIG51bGwhPT1hPyhsdyh0LGEuY2FjaGVQb29sKSxsMCh0LGEpLGw5KCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw5KCkpO3JldHVybiBvQihlLHQsbCxuKSx0LmNoaWxkfWZ1bmN0aW9uIG9XKGUsdCl7cmV0dXJuIG51bGwhPT1lJiYyMj09PWUudGFnfHxudWxsIT09dC5zdGF0ZU5vZGV8fCh0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksdC5zaWJsaW5nfWZ1bmN0aW9uIG9xKGUsdCxuLHIsbCl7dmFyIGE9bGIoKTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6bixjYWNoZVBvb2w6YT1udWxsPT09YT9udWxsOntwYXJlbnQ6bGkuX2N1cnJlbnRWYWx1ZSxwb29sOmF9fSxudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw2KHQpLG51bGwhPT1lJiZyOShlLHQsciwhMCksdC5jaGlsZExhbmVzPWwsbnVsbH1mdW5jdGlvbiBvSyhlLHQpe3JldHVybih0PW81KHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpKS5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBvWChlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9b0sodCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixsNyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG9HKGUsdCl7dmFyIG49dC5yZWY7aWYobnVsbD09PW4pbnVsbCE9PWUmJm51bGwhPT1lLnJlZiYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJiJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBFcnJvcih1KDI4NCkpOyhudWxsPT09ZXx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBvWShlLHQsbixyLGwpe3JldHVybihsZSh0KSxuPWF2KGUsdCxuLHIsdm9pZCAwLGwpLHI9YWsoKSxudWxsPT09ZXx8b1UpPyhyJCYmciYmcmoodCksdC5mbGFnc3w9MSxvQihlLHQsbixsKSx0LmNoaWxkKTooYVMoZSx0LGwpLGlsKGUsdCxsKSl9ZnVuY3Rpb24gb0ooZSx0LG4scixsLGEpe3JldHVybihsZSh0KSx0LnVwZGF0ZVF1ZXVlPW51bGwsbj1hYih0LHIsbixsKSxheShlKSxyPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJnImJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LG4sYSksdC5jaGlsZCk6KGFTKGUsdCxhKSxpbChlLHQsYSkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCl7aWYobGUodCksbnVsbD09PXQuc3RhdGVOb2RlKXt2YXIgYT1yaCxvPW4uY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmKGE9bHQobykpLHQubWVtb2l6ZWRTdGF0ZT1udWxsIT09KGE9bmV3IG4ocixhKSkuc3RhdGUmJnZvaWQgMCE9PWEuc3RhdGU/YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1vTix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsKGE9dC5zdGF0ZU5vZGUpLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LGxCKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09bz9sdChvKTpyaCxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Yobz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihvUCh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwobz1hLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmb04uZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksbFgodCxyLGEsbCksbEsoKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYobnVsbD09PWUpe2E9dC5zdGF0ZU5vZGU7dmFyIGk9dC5tZW1vaXplZFByb3BzLHU9b08obixpKTthLnByb3BzPXU7dmFyIHM9YS5jb250ZXh0LGM9bi5jb250ZXh0VHlwZTtvPXJoLCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJihvPWx0KGMpKTt2YXIgZj1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztjPSJmdW5jdGlvbiI9PXR5cGVvZiBmfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSxpPXQucGVuZGluZ1Byb3BzIT09aSxjfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KGl8fHMhPT1vKSYmb1QodCxhLHIsbyksbFU9ITE7dmFyIGQ9dC5tZW1vaXplZFN0YXRlO2Euc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpLHM9dC5tZW1vaXplZFN0YXRlLGl8fGQhPT1zfHxsVT8oImZ1bmN0aW9uIj09dHlwZW9mIGYmJihvUCh0LG4sZixyKSxzPXQubWVtb2l6ZWRTdGF0ZSksKHU9bFV8fG9DKHQsbix1LHIsZCxzLG8pKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9cyksYS5wcm9wcz1yLGEuc3RhdGU9cyxhLmNvbnRleHQ9byxyPXUpOigiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7YT10LnN0YXRlTm9kZSxsVihlLHQpLGM9b08obixvPXQubWVtb2l6ZWRQcm9wcyksYS5wcm9wcz1jLGY9dC5wZW5kaW5nUHJvcHMsZD1hLmNvbnRleHQscz1uLmNvbnRleHRUeXBlLHU9cmgsIm9iamVjdCI9PXR5cGVvZiBzJiZudWxsIT09cyYmKHU9bHQocykpLChzPSJmdW5jdGlvbiI9PXR5cGVvZihpPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09dSkmJm9UKHQsYSxyLHUpLGxVPSExLGQ9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PXB8fGxVfHxudWxsIT09ZSYmbnVsbCE9PWUuZGVwZW5kZW5jaWVzJiZyNyhlLmRlcGVuZGVuY2llcyk/KCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYob1AodCxuLGkscikscD10Lm1lbW9pemVkU3RhdGUpLChjPWxVfHxvQyh0LG4sYyxyLGQscCx1KXx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmcjcoZS5kZXBlbmRlbmNpZXMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLHUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PXUscj1jKTooImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLG9HKGUsdCkscj0wIT0oMTI4JnQuZmxhZ3MpLGF8fHI/KGE9dC5zdGF0ZU5vZGUsbj1yJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsbnVsbCE9PWUmJnI/KHQuY2hpbGQ9bEEodCxlLmNoaWxkLG51bGwsbCksdC5jaGlsZD1sQSh0LG51bGwsbixsKSk6b0IoZSx0LG4sbCksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPWlsKGUsdCxsKSxlfWZ1bmN0aW9uIG8wKGUsdCxuLHIpe3JldHVybiBySigpLHQuZmxhZ3N8PTI1NixvQihlLHQsbixyKSx0LmNoaWxkfXZhciBvMT17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIG8yKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bGsoKX19ZnVuY3Rpb24gbzMoZSx0LG4pe3JldHVybiBlPW51bGwhPT1lP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD11RCksZX1mdW5jdGlvbiBvNChlLHQsbil7dmFyIHIsbD10LnBlbmRpbmdQcm9wcyxhPSExLG89MCE9KDEyOCZ0LmZsYWdzKTtpZigocj1vKXx8KHI9KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImYWUuY3VycmVudCkpLHImJihhPSEwLHQuZmxhZ3MmPS0xMjkpLHI9MCE9KDMyJnQuZmxhZ3MpLHQuZmxhZ3MmPS0zMyxudWxsPT09ZSl7aWYociQpe2lmKGE/bDgodCk6bDkoKSwoZT1ySCk/bnVsbCE9PShlPW51bGwhPT0oZT1jVihlLHJXKSkmJiImIiE9PWUuZGF0YT9lOm51bGwpJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6bnVsbCE9PXJNP3tpZDpySSxvdmVyZmxvdzpyRH06bnVsbCxyZXRyeUxhbmU6MHgyMDAwMDAwMCxoeWRyYXRpb25FcnJvcnM6bnVsbH0sKG49cngoZSkpLnJldHVybj10LHQuY2hpbGQ9bixyVj10LHJIPW51bGwpOmU9bnVsbCxudWxsPT09ZSl0aHJvdyBySyh0KTtyZXR1cm4gYyQoZSk/dC5sYW5lcz0zMjp0LmxhbmVzPTB4MjAwMDAwMDAsbnVsbH12YXIgaT1sLmNoaWxkcmVuO3JldHVybihsPWwuZmFsbGJhY2ssYSk/KGw5KCksaT1vNSh7bW9kZToiaGlkZGVuIixjaGlsZHJlbjppfSxhPXQubW9kZSksbD1yUyhsLGEsbixudWxsKSxpLnJldHVybj10LGwucmV0dXJuPXQsaS5zaWJsaW5nPWwsdC5jaGlsZD1pLChsPXQuY2hpbGQpLm1lbW9pemVkU3RhdGU9bzIobiksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1cobnVsbCxsKSk6KGw4KHQpLG84KHQsaSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cyYmbnVsbCE9PShpPXMuZGVoeWRyYXRlZCkpe2lmKG8pMjU2JnQuZmxhZ3M/KGw4KHQpLHQuZmxhZ3MmPS0yNTcsdD1vNihlLHQsbikpOm51bGwhPT10Lm1lbW9pemVkU3RhdGU/KGw5KCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCx0PW51bGwpOihsOSgpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxsPW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSxhKSxpPXJTKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIsbC5yZXR1cm49dCxpLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxsQSh0LGUuY2hpbGQsbnVsbCxuKSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8yKG4pLGwuY2hpbGRMYW5lcz1vMyhlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8xLHQ9b1cobnVsbCxsKSk7ZWxzZSBpZihsOCh0KSxjJChpKSl7aWYocj1pLm5leHRTaWJsaW5nJiZpLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGM9ci5kZ3N0O3I9YywobD1FcnJvcih1KDQxOSkpKS5zdGFjaz0iIixsLmRpZ2VzdD1yLHIwKHt2YWx1ZTpsLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PW82KGUsdCxuKX1lbHNlIGlmKG9VfHxyOShlLHQsbiwhMSkscj0wIT0obiZlLmNoaWxkTGFuZXMpLG9VfHxyKXtpZihudWxsIT09KHI9dUUpJiYwIT09KGw9ZVUocixuKSkmJmwhPT1zLnJldHJ5TGFuZSl0aHJvdyBzLnJldHJ5TGFuZT1sLHJkKGUsbCksdTYocixlLGwpLG9qO2NIKGkpfHxzdSgpLHQ9bzYoZSx0LG4pfWVsc2UgY0goaSk/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1zLnRyZWVDb250ZXh0LHJIPWNRKGkubmV4dFNpYmxpbmcpLHJWPXQsciQ9ITAsclE9bnVsbCxyVz0hMSxudWxsIT09ZSYmckIodCxlKSx0PW84KHQsbC5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGE/KGw5KCksaT1sLmZhbGxiYWNrLGE9dC5tb2RlLGM9KHM9ZS5jaGlsZCkuc2libGluZywobD1yYihzLHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmwuY2hpbGRyZW59KSkuc3VidHJlZUZsYWdzPTB4N2UwMDAwMCZzLnN1YnRyZWVGbGFncyxudWxsIT09Yz9pPXJiKGMsaSk6KGk9clMoaSxhLG4sbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxsLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxvVyhudWxsLGwpLGw9dC5jaGlsZCxudWxsPT09KGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT9pPW8yKG4pOihudWxsIT09KGE9aS5jYWNoZVBvb2wpPyhzPWxpLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudCE9PXM/e3BhcmVudDpzLHBvb2w6c306YSk6YT1saygpLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksbC5tZW1vaXplZFN0YXRlPWksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1coZS5jaGlsZCxsKSk6KGw4KHQpLGU9KG49ZS5jaGlsZCkuc2libGluZywobj1yYihuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnJldHVybj10LG4uc2libGluZz1udWxsLG51bGwhPT1lJiYobnVsbD09PShyPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpyLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBvOChlLHQpe3JldHVybih0PW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUpKS5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4oZT1ydigyMixlLG51bGwsdCkpLmxhbmVzPTAsZX1mdW5jdGlvbiBvNihlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9bzgodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG85KGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9dCkscjUoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBvNyhlKXtmb3IodmFyIHQ9bnVsbDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZudWxsPT09YXIobikmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGllKGUsdCxuLHIsbCxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bnVsbD09PW8/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6bCx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9bCxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gaXQoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO251bGwhPT10Oyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIGlyKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPWFlLmN1cnJlbnQ7aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGF0KHQsbyksbnVsbDt2YXIgaT0wIT0oMiZvKTtpZihpPyhvPTEmb3wyLHQuZmxhZ3N8PTEyOCk6byY9MSxhdCh0LG8pLCJiYWNrd2FyZHMiPT09bCYmbnVsbCE9PWU/KGl0KGUpLG9CKGUsdCxyLG4pLGl0KGUpKTpvQihlLHQscixuKSxyPXIkP3J6OjAsIWkmJm51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWU6Zm9yKGU9dC5jaGlsZDtudWxsIT09ZTspe2lmKDEzPT09ZS50YWcpbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbzkoZSxuLHQpO2Vsc2UgaWYoMTk9PT1lLnRhZylvOShlLG4sdCk7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGwpe2Nhc2UiYmFja3dhcmRzIjpudWxsPT09KG49bzcodC5jaGlsZCkpPyhsPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobD1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsaXQodCkpLGllKHQsITAsbCxudWxsLGEscik7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3Iobj1udWxsLGw9dC5jaGlsZCx0LmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09YXIoZSkpe3QuY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9bixuPWwsbD1lfWllKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZSJ0b2dldGhlciI6aWUodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bnVsbD09PShuPW83KHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxpZSh0LCExLGwsbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGlsKGUsdCxuKXtpZihudWxsIT09ZSYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSx1Unw9dC5sYW5lcywwPT0obiZ0LmNoaWxkTGFuZXMpKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtlbHNlIGlmKHI5KGUsdCxuLCExKSwwPT0obiZ0LmNoaWxkTGFuZXMpKXJldHVybiBudWxsfWlmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcih1KDE1MykpO2lmKG51bGwhPT10LmNoaWxkKXtmb3Iobj1yYihlPXQuY2hpbGQsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLChuPW4uc2libGluZz1yYihlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gaWEoZSx0KXtyZXR1cm4gMCE9KGUubGFuZXMmdCl8fCEhKG51bGwhPT0oZT1lLmRlcGVuZGVuY2llcykmJnI3KGUpKX1mdW5jdGlvbiBpbyhlLHQsbil7aWYobnVsbCE9PWUpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHMpb1U9ITA7ZWxzZXtpZighaWEoZSxuKSYmMD09KDEyOCZ0LmZsYWdzKSlyZXR1cm4gb1U9ITEsZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJKKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6ZW8odCk7YnJlYWs7Y2FzZSA0OmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpyNCh0LHQudHlwZSx0Lm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gdC5mbGFnc3w9MTI4LGw1KHQpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXIpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIGw4KHQpLHQuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPShuJnQuY2hpbGQuY2hpbGRMYW5lcykpcmV0dXJuIG80KGUsdCxuKTtyZXR1cm4gbDgodCksbnVsbCE9PShlPWlsKGUsdCxuKSk/ZS5zaWJsaW5nOm51bGx9bDgodCk7YnJlYWs7Y2FzZSAxOTppZigxMjgmdC5mbGFncylyZXR1cm4gaXIoZSx0LG4pO3ZhciBsPTAhPSgxMjgmZS5mbGFncyk7aWYoKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyOShlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpcihlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYXQodCxhZS5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbChlLHQsbil9KGUsdCxuKTtvVT0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb1U9ITEsciQmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyQSh0LHJ6LHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sQyh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyeShlKT8ocj1vTyhlLHIpLHQudGFnPTEsdD1vWihudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9ZKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vVihudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9b0gobnVsbCx0LGUscixuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb1koZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b08ocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG9aKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsVihlLHQpLGxYKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNCh0LGxpLHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSxsSygpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMChlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IwKGw9ck4oRXJyb3IodSg0MjQpKSx0KSksdD1vMChlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHJIPWNRKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxyVj10LHIkPSEwLHJRPW51bGwsclc9ITAsbj1saih0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihySigpLHI9PT1sKXt0PWlsKGUsdCxuKTticmVhayBlfW9CKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWMzKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyJHx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3UoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjbChyLG4sZSksZTgociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWMzKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyJCYmKHI9dC5zdGF0ZU5vZGU9Y1godC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJWPXQsclc9ITAsbD1ySCxjeSh0LnR5cGUpPyhjVz1sLHJIPWNRKHIuZmlyc3RDaGlsZCkpOnJIPWwpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyJCYmKChsPXI9ckgpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9cixyVj10LHJIPWNRKHIuZmlyc3RDaGlsZCksclc9ITEsbD0hMCk6bD0hMSksbHx8cksodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2YobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNmKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ2Ll9jdXJyZW50VmFsdWU9bD1hdihlLHQsYXcsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmciQmJigoZT1uPXJIKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jUShlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9bixyVj10LHJIPW51bGwsZT0hMCk6ZT0hMSksZXx8cksodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzQoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bEEodCxudWxsLHIsbik6b0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvVihlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIHI9dC5wZW5kaW5nUHJvcHMscjQodCx0LnR5cGUsci52YWx1ZSksb0IoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbGUodCkscj1yKGw9bHQobCkpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG8kKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaXIoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHIkKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vSyhzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvVyhudWxsLGkpO2lmKGw1KHMpLChpPXJIKT9udWxsIT09KGk9bnVsbCE9PShpPWNWKGksclcpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ck0/e2lkOnJJLG92ZXJmbG93OnJEfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJWPXMsckg9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJLKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb0socyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsNShzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWChpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9VfHxyOShpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9VfHxkKXtpZihudWxsIT09KGY9dUUpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJkKGksbSksdTYoZixpLG0pLG9qO3N1KCkscz1vWChpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsckg9Y1EobS5uZXh0U2libGluZyksclY9cyxyJD0hMCxyUT1udWxsLHJXPSExLG51bGwhPT1pJiZyQihzLGkpLHM9b0socyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJiKGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGxlKHQpLHI9bHQobGkpLG51bGw9PT1lPyhudWxsPT09KGw9bGIoKSkmJihsPXVFLGE9bHUoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbEIodCkscjQodCxsaSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobFYoZSx0KSxsWCh0LG51bGwsbnVsbCxuKSxsSygpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI0KHQsbGkscikpOihyNCh0LGxpLHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSkpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGwhPShyPXQucGVuZGluZ1Byb3BzKS5uYW1lJiYiYXV0byIhPT1yLm5hbWU/dC5mbGFnc3w9bnVsbD09PWU/MHgxMjAyMDAwOjB4MTIwMDAwMDpyJCYmcmoodCksbnVsbCE9PWUmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6b0coZSx0KSxvQihlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBpaShlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbCl7dmFyIGE7aWYoKGE9MCE9KDMyJmUubW9kZSkpJiYoYT1udWxsPT09bj9mbyh0LHIpOmZvKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MHgxMDAwMDAwLCgweDEzZmZmZjQwJmwpPT09bClpZihlLnN0YXRlTm9kZS5jb21wbGV0ZSllLmZsYWdzfD04MTkyO2Vsc2UgaWYoc2EoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbFQ9bF8sbEV9ZWxzZSBlLmZsYWdzJj0tMHgxMDAwMDAxfWZ1bmN0aW9uIGlzKGUsdCl7aWYoInN0eWxlc2hlZXQiIT09dC50eXBlfHwwIT0oNCZ0LnN0YXRlLmxvYWRpbmcpKWUuZmxhZ3MmPS0weDEwMDAwMDE7ZWxzZSBpZihlLmZsYWdzfD0weDEwMDAwMDAsIWZpKHQpKWlmKHNhKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGxUPWxfLGxFfWZ1bmN0aW9uIGljKGUsdCl7bnVsbCE9PXQmJihlLmZsYWdzfD00KSwxNjM4NCZlLmZsYWdzJiYodD0yMiE9PWUudGFnP2VJKCk6MHgyMDAwMDAwMCxlLmxhbmVzfD10LHVGfD10KX1mdW5jdGlvbiBpZChlLHQpe2lmKCFyJClzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJ2aXNpYmxlIjpicmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKG49bnVsbCx0PWUudGFpbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gaXAoZSl7dmFyIHQ9bnVsbCE9PWUuYWx0ZXJuYXRlJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgbD1lLmNoaWxkO251bGwhPT1sOylufD1sLmxhbmVzfGwuY2hpbGRMYW5lcyxyfD0weDdlMDAwMDAmbC5zdWJ0cmVlRmxhZ3Mscnw9MHg3ZTAwMDAwJmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBpbShlLHQpe3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAzOnI4KGxpKSxlYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZWkodCk7YnJlYWs7Y2FzZSA0OmVhKCk7YnJlYWs7Y2FzZSAzMTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiZsNyh0KTticmVhaztjYXNlIDEzOmw3KHQpO2JyZWFrO2Nhc2UgMTk6YW4odCk7YnJlYWs7Y2FzZSAxMDpyOCh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpsNyh0KSxsMigpLG51bGwhPT1lJiZKKGx5KTticmVhaztjYXNlIDI0OnI4KGxpKX19ZnVuY3Rpb24gaWgoZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW51bGwhPT1uP24ubGFzdEVmZmVjdDpudWxsO2lmKG51bGwhPT1yKXt2YXIgbD1yLm5leHQ7bj1sO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlO24uaW5zdC5kZXN0cm95PXI9YSgpfW49bi5uZXh0fXdoaWxlKG4hPT1sKX19Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19ZnVuY3Rpb24gaWcoZSx0LG4pe3RyeXt2YXIgcj10LnVwZGF0ZVF1ZXVlLGw9bnVsbCE9PXI/ci5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWwpe3ZhciBhPWwubmV4dDtyPWE7ZG97aWYoKHIudGFnJmUpPT09ZSl7dmFyIG89ci5pbnN0LGk9by5kZXN0cm95O2lmKHZvaWQgMCE9PWkpe28uZGVzdHJveT12b2lkIDAsbD10O3RyeXtpKCl9Y2F0Y2goZSl7c18obCxuLGUpfX19cj1yLm5leHR9d2hpbGUociE9PWEpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpdihlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10KXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7bFkodCxuKX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX19ZnVuY3Rpb24gaXkoZSx0LG4pe24ucHJvcHM9b08oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyksbi5zdGF0ZT1lLm1lbW9pemVkU3RhdGU7dHJ5e24uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtzXyhlLHQsbil9fWZ1bmN0aW9uIGliKGUsdCl7dHJ5e3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6dmFyIHI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAzMDp2YXIgbD1lLnN0YXRlTm9kZSxhPXJuKGUubWVtb2l6ZWRQcm9wcyxsKTsobnVsbD09PWwucmVmfHxsLnJlZi5uYW1lIT09YSkmJihsLnJlZj1jQyhhKSkscj1sLnJlZjticmVhaztjYXNlIDc6bnVsbD09PWUuc3RhdGVOb2RlJiYoZS5zdGF0ZU5vZGU9bmV3IGNUKGUpKSxyPWUuc3RhdGVOb2RlO2JyZWFrO2RlZmF1bHQ6cj1lLnN0YXRlTm9kZX0iZnVuY3Rpb24iPT10eXBlb2Ygbj9lLnJlZkNsZWFudXA9bihyKTpuLmN1cnJlbnQ9cn19Y2F0Y2gobil7c18oZSx0LG4pfX1mdW5jdGlvbiBpdyhlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG51bGwhPT1uKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXRyeXtyKCl9Y2F0Y2gobil7c18oZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsbnVsbCE9KGU9ZS5hbHRlcm5hdGUpJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pdHJ5e24obnVsbCl9Y2F0Y2gobil7c18oZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gaWsoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e3N3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZyLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpUyhlLHQsbil7dHJ5e3ZhciByPWUuc3RhdGVOb2RlOyhmdW5jdGlvbihlLHQsbixyKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbnB1dCI6dmFyIGw9bnVsbCxhPW51bGwsbz1udWxsLGk9bnVsbCxzPW51bGwsYz1udWxsLGY9bnVsbDtmb3IobSBpbiBuKXt2YXIgZD1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJm51bGwhPWQpc3dpdGNoKG0pe2Nhc2UiY2hlY2tlZCI6Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9ZDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGNuKGUsdCxtLG51bGwscixkKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZD1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihudWxsIT1tfHxudWxsIT1kKSlzd2l0Y2gocCl7Y2FzZSJ0eXBlIjptIT09ZCYmKHRyPSEwKSxhPW07YnJlYWs7Y2FzZSJuYW1lIjptIT09ZCYmKHRyPSEwKSxsPW07YnJlYWs7Y2FzZSJjaGVja2VkIjptIT09ZCYmKHRyPSEwKSxjPW07YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bSE9PWQmJih0cj0hMCksZj1tO2JyZWFrO2Nhc2UidmFsdWUiOm0hPT1kJiYodHI9ITApLG89bTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bSE9PWQmJih0cj0hMCksaT1tO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPW0pdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWQmJmNuKGUsdCxwLG0scixkKX19dGgoZSxvLGkscyxjLGYsYSxsKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIG09bz1pPXA9bnVsbCxuKWlmKHM9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT1zKXN3aXRjaChhKXtjYXNlInZhbHVlIjpicmVhaztjYXNlIm11bHRpcGxlIjptPXM7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxjbihlLHQsYSxudWxsLHIscyl9Zm9yKGwgaW4gcilpZihhPXJbbF0scz1uW2xdLHIuaGFzT3duUHJvcGVydHkobCkmJihudWxsIT1hfHxudWxsIT1zKSlzd2l0Y2gobCl7Y2FzZSJ2YWx1ZSI6YSE9PXMmJih0cj0hMCkscD1hO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphIT09cyYmKHRyPSEwKSxpPWE7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YSE9PXMmJih0cj0hMCksbz1hO2RlZmF1bHQ6YSE9PXMmJmNuKGUsdCxsLGEscixzKX10PWksbj1vLHI9bSxudWxsIT1wP3R5KGUsISFuLHAsITEpOiEhciE9ISFuJiYobnVsbCE9dD90eShlLCEhbix0LCEwKTp0eShlLCEhbixuP1tdOiIiLCExKSk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihpIGluIG09cD1udWxsLG4paWYobD1uW2ldLG4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPWwmJiFyLmhhc093blByb3BlcnR5KGkpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpjYXNlImNoaWxkcmVuIjpicmVhaztkZWZhdWx0OmNuKGUsdCxpLG51bGwscixsKX1mb3IobyBpbiByKWlmKGw9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKG51bGwhPWx8fG51bGwhPWEpKXN3aXRjaChvKXtjYXNlInZhbHVlIjpsIT09YSYmKHRyPSEwKSxwPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmwhPT1hJiYodHI9ITApLG09bDticmVhaztjYXNlImNoaWxkcmVuIjpicmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1sKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmwhPT1hJiZjbihlLHQsbyxsLHIsYSl9dGIoZSxwLG0pO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHZhciBoIGluIG4pcD1uW2hdLG4uaGFzT3duUHJvcGVydHkoaCkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGgpJiYoInNlbGVjdGVkIj09PWg/ZS5zZWxlY3RlZD0hMTpjbihlLHQsaCxudWxsLHIscCkpO2ZvcihzIGluIHIpcD1yW3NdLG09bltzXSxyLmhhc093blByb3BlcnR5KHMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pJiYoInNlbGVjdGVkIj09PXM/KHAhPT1tJiYodHI9ITApLGUuc2VsZWN0ZWQ9cCYmImZ1bmN0aW9uIiE9dHlwZW9mIHAmJiJzeW1ib2wiIT10eXBlb2YgcCk6Y24oZSx0LHMscCxyLG0pKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1wJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmY24oZSx0LGcsbnVsbCxyLHApO2ZvcihjIGluIHIpaWYocD1yW2NdLG09bltjXSxyLmhhc093blByb3BlcnR5KGMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1wKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmNuKGUsdCxjLHAscixtKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnZvaWQgMCE9PXAmJiFyLmhhc093blByb3BlcnR5KHYpJiZjcihlLHQsdix2b2lkIDAscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sci5oYXNPd25Qcm9wZXJ0eShmKSYmcCE9PW0mJih2b2lkIDAhPT1wfHx2b2lkIDAhPT1tKSYmY3IoZSx0LGYscCxyLG0pO3JldHVybn19Zm9yKHZhciB5IGluIG4pcD1uW3ldLG4uaGFzT3duUHJvcGVydHkoeSkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KHkpJiZjbihlLHQseSxudWxsLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLHIuaGFzT3duUHJvcGVydHkoZCkmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJmNuKGUsdCxkLHAscixtKX0pKHIsZS50eXBlLG4sdCkscltlcV09dH1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpRShlLHQpe2lmKDU9PT1lLnRhZyYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljVShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpeChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpUCh0KSl7dmFyIG49ZS5zdGF0ZU5vZGUscj10LnN0YXRlTm9kZS5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PXIpZm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBhPXJbbF07bi5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9fWlmKGlfKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlfKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY3koZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlQKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpTihlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpXyhlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmN5KGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlDKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGlFKGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY3koZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlDKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpQyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpVChlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NsKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19dmFyIGlPPSExLGl6PW51bGw7ZnVuY3Rpb24gaUwoZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlPPSEwKX12YXIgaVI9bnVsbDtmdW5jdGlvbiBpTSgpe3ZhciBlPWlSO3JldHVybiBpUj1udWxsLGV9dmFyIGlJPTA7ZnVuY3Rpb24gaUQoZSx0LG4scixsKXtyZXR1cm4gaUk9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lPPSEwLGNrKGksMD09PWlJP246bisiXyIraUksciksaUkrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlGKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NTKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aUYoZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaUEoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlBKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1ybCh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUQoZSxuLHQsbnVsbCwhMSl8fGlGKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaWooZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJuKHIsbiksYT1ybChyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lEKGUsbCxhLG51bGwsITEpPyhpQShlKSxuLnBhaXJlZHx8dHx8dTUoZSxyLm9uRW50ZXIpKTppRihlLmNoaWxkLCExKTppQShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlqKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpQShlKX1mdW5jdGlvbiBpVShlKXtpZihudWxsIT09aXomJjAhPT1pei5zaXplKXt2YXIgdD1pejtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJsKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUQoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1NShlLG4ub25TaGFyZSkpOmlGKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVUoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpQihlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ybih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pej9pei5nZXQobik6dm9pZCAwLGw9cmwodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpRChlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaXouZGVsZXRlKG4pLHU1KGUsdC5vblNoYXJlKSk6dTUoZSx0Lm9uRXhpdCk6aUYoZS5jaGlsZCwhMSkpLG51bGwhPT1peiYmaVUoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpQihlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1peiYmaVUoZSl9ZnVuY3Rpb24gaVYoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaUYoZS5jaGlsZCwhMSkpfWlWKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlGKGUuY2hpbGQsITEpLGlWKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaUgoZSksZT1lLnNpYmxpbmc7ZWxzZSBpVihlKX1mdW5jdGlvbiBpJChlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpSTxhLmxlbmd0aCl7dmFyIHMsYz1hW2lJXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pST9uOm4rIl8iK2lJLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlSJiYoaVI9W10pLGlSLnB1c2godSxyLHQubWVtb2l6ZWRQcm9wcykpLGlJKyt9ZWxzZSgyMiE9PXQudGFnfHxudWxsPT09dC5tZW1vaXplZFN0YXRlKSYmKDMwPT09dC50YWcmJm8/ZS5mbGFnc3w9MzImdC5mbGFnczppJChlLHQuY2hpbGQsbixyLGwsYSxvKSYmKGk9ITApKTt0PXQuc2libGluZ31yZXR1cm4gaX12YXIgaVE9ITEsaVc9ITEsaXE9ITEsaUs9ITEsaVg9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsaUc9bnVsbCxpWT0hMSxpSj0hMSxpWj0hMSxpMD0hMTtmdW5jdGlvbiBpMShlKXtmb3IoO251bGwhPT1pRzspe3ZhciB0PWlHLG49ZSxyPXQuYWx0ZXJuYXRlLGw9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWYoMCE9KDQmbCkmJm51bGwhPT0ocj1udWxsIT09KHI9dC51cGRhdGVRdWV1ZSk/ci5ldmVudHM6bnVsbCkpZm9yKG49MDtuPHIubGVuZ3RoO24rKykobD1yW25dKS5yZWYuaW1wbD1sLm5leHRJbXBsO2JyZWFrO2Nhc2UgMTppZigwIT0oMTAyNCZsKSYmbnVsbCE9PXIpe249dm9pZCAwLGw9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1vTyh0LnR5cGUsbCk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZigwIT0oMTAyNCZsKSl7aWYoOT09PShuPShyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLm5vZGVUeXBlKSljQihyKTtlbHNlIGlmKDE9PT1uKXN3aXRjaChyLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpjQihyKTticmVhaztkZWZhdWx0OnIudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMzA6biYmbnVsbCE9PXImJihuPXJuKHIubWVtb2l6ZWRQcm9wcyxyLnN0YXRlTm9kZSksIm5vbmUiIT09KGw9cmwoKGw9dC5tZW1vaXplZFByb3BzKS5kZWZhdWx0LGwudXBkYXRlKSkmJmlEKHIsbixsLHIubWVtb2l6ZWRTdGF0ZT1bXSwhMCkpO2JyZWFrO2RlZmF1bHQ6aWYoMCE9KDEwMjQmbCkpdGhyb3cgRXJyb3IodSgxNjMpKX1pZihudWxsIT09KHI9dC5zaWJsaW5nKSl7ci5yZXR1cm49dC5yZXR1cm4saUc9cjticmVha31pRz10LnJldHVybn19ZnVuY3Rpb24gaTIoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVpKGUsbiksNCZyJiZpaCg1LG4pO2JyZWFrO2Nhc2UgMTppZih1aShlLG4pLDQmcilpZihlPW4uc3RhdGVOb2RlLG51bGw9PT10KXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX1lbHNle3ZhciBsPW9PKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShsLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19NjQmciYmaXYobiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZih1aShlLG4pLDY0JnImJm51bGwhPT0oZT1uLnVwZGF0ZVF1ZXVlKSl7aWYodD1udWxsLG51bGwhPT1uLmNoaWxkKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6Y2FzZSAxOnQ9bi5jaGlsZC5zdGF0ZU5vZGV9dHJ5e2xZKGUsdCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzpudWxsPT09dCYmNCZyJiZpVChuKTtjYXNlIDI2OmNhc2UgNTp1aShlLG4pLG51bGw9PT10JiY0JnImJmlrKG4pLDUxMiZyJiZpYihuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOnVpKGUsbik7YnJlYWs7Y2FzZSAzMTp1aShlLG4pLDQmciYmaTkoZSxuKTticmVhaztjYXNlIDEzOnVpKGUsbiksNCZyJiZpNyhlLG4pLDY0JnImJm51bGwhPT0oZT1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKSYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoIiR+Ij09PWUuZGF0YSllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZigiJD8iIT09ZS5kYXRhfHwibG9hZGluZyIhPT1uLnJlYWR5U3RhdGUpdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKSxlLl9yZWFjdFJldHJ5PXJ9fShlLG49c1QuYmluZChudWxsLG4pKTticmVhaztjYXNlIDIyOmlmKCEocj1udWxsIT09bi5tZW1vaXplZFN0YXRlfHxpUSkpe3Q9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGV8fGlXLGw9aVE7dmFyIGE9aVc7aVE9ciwoaVc9dCkmJiFhP2Z1bmN0aW9uIGUodCxuLHIpe2ZvcihyPXImJjAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbD1uLmFsdGVybmF0ZSxhPXQsbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZShhLG8sciksaWgoNCxvKTticmVhaztjYXNlIDE6aWYoZShhLG8sciksImZ1bmN0aW9uIj09dHlwZW9mKGE9KGw9bykuc3RhdGVOb2RlKS5jb21wb25lbnREaWRNb3VudCl0cnl7YS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NfKGwsbC5yZXR1cm4sZSl9aWYobnVsbCE9PShhPShsPW8pLnVwZGF0ZVF1ZXVlKSl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPWEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihudWxsIT09cylmb3IoYS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsYT0wO2E8cy5sZW5ndGg7YSsrKWxHKHNbYV0sdSl9Y2F0Y2goZSl7c18obCxsLnJldHVybixlKX19ciYmNjQmaSYmaXYobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAyNzppVChvKTtjYXNlIDI2OmNhc2UgNTppZig1PT09by50YWcpe3U9bztmb3IodmFyIGM9dS5yZXR1cm47bnVsbCE9PWMmJihpUChjKSYmY1UodS5zdGF0ZU5vZGUsYy5zdGF0ZU5vZGUpLCFpXyhjKSk7KWM9Yy5yZXR1cm59ZShhLG8sciksciYmbnVsbD09PWwmJjQmaSYmaWsobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAxMjplKGEsbyxyKTticmVhaztjYXNlIDMxOmUoYSxvLHIpLHImJjQmaSYmaTkoYSxvKTticmVhaztjYXNlIDEzOmUoYSxvLHIpLHImJjQmaSYmaTcoYSxvKTticmVhaztjYXNlIDIyOm51bGw9PT1vLm1lbW9pemVkU3RhdGUmJmUoYSxvLHIpLGliKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6ZShhLG8sciksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSA3OmliKG8sby5yZXR1cm4pO2RlZmF1bHQ6ZShhLG8scil9bj1uLnNpYmxpbmd9fShlLG4sMCE9KDg3NzImbi5zdWJ0cmVlRmxhZ3MpKTp1aShlLG4pLGlRPWwsaVc9YX1icmVhaztjYXNlIDMwOnVpKGUsbiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzo1MTImciYmaWIobixuLnJldHVybik7ZGVmYXVsdDp1aShlLG4pfX1mdW5jdGlvbiBpMyhlLHQpe2ZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KShmdW5jdGlvbiBlKHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYobil7dmFyIGw9ci5zdHlsZTsiZnVuY3Rpb24iPT10eXBlb2YgbC5zZXRQcm9wZXJ0eT9sLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmwuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgYT10LnN0YXRlTm9kZSxvPXQubWVtb2l6ZWRQcm9wcy5zdHlsZSxpPW51bGwhPW8mJm8uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9vLmRpc3BsYXk6bnVsbDthLnN0eWxlLmRpc3BsYXk9bnVsbD09aXx8ImJvb2xlYW4iPT10eXBlb2YgaT8iIjooIiIraSkudHJpbSgpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfSFmdW5jdGlvbiB0KG4scil7aWYoMHg0MDAwMDAwJm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KXtlOnt2YXIgbD1uO3N3aXRjaChsLnRhZyl7Y2FzZSA0OmUobCxyKTticmVhayBlO2Nhc2UgMjI6bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSYmdChsLHIpO2JyZWFrIGU7ZGVmYXVsdDp0KGwscil9fW49bi5zaWJsaW5nfX0odCxuKTticmVhaztjYXNlIDY6dHJ5e3Quc3RhdGVOb2RlLm5vZGVWYWx1ZT1uPyIiOnQubWVtb2l6ZWRQcm9wcyx0cj0hMH1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciB1PXQuc3RhdGVOb2RlO24/Y3codSwhMCk6Y3codC5zdGF0ZU5vZGUsITEpfWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJmkzKHQsbik7YnJlYWs7ZGVmYXVsdDppMyh0LG4pfX0pKGUsdCksZT1lLnNpYmxpbmd9dmFyIGk0PW51bGwsaTg9ITE7ZnVuY3Rpb24gaTUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWk2KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBpNihlLHQsbil7aWYoZV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBlXy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7ZV8ub25Db21taXRGaWJlclVubW91bnQoZXgsbil9Y2F0Y2goZSl7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjppV3x8aXcobix0KSxpNShlLHQsbiksbi5tZW1vaXplZFN0YXRlP24ubWVtb2l6ZWRTdGF0ZS5jb3VudC0tOm4uc3RhdGVOb2RlJiYobj1uLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTticmVhaztjYXNlIDI3OmlXfHxpdyhuLHQpO3ZhciByPWk0LGw9aTg7Y3kobi50eXBlKSYmKGk0PW4uc3RhdGVOb2RlLGk4PSExKSxpNShlLHQsbiksY0cobi5zdGF0ZU5vZGUpLGk0PXIsaTg9bDticmVhaztjYXNlIDU6aVd8fGl3KG4sdCksNT09PW4udGFnJiZpeChuKTtjYXNlIDY6aWYocj1pNCxsPWk4LGk0PW51bGwsaTUoZSx0LG4pLGk0PXIsaTg9bCxudWxsIT09aTQpaWYoaTgpdHJ5eyg5PT09aTQubm9kZVR5cGU/aTQuYm9keToiSFRNTCI9PT1pNC5ub2RlTmFtZT9pNC5vd25lckRvY3VtZW50LmJvZHk6aTQpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzXyhuLHQsZSl9ZWxzZSB0cnl7aTQucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NfKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNCYmKGk4PyhjYig5PT09KGU9aTQpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZHKGUpKTpjYihpNCxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk0LGw9aTgsaTQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpNShlLHQsbiksaTQ9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZygyLG4sdCksaVd8fGlnKDQsbix0KSxpNShlLHQsbik7YnJlYWs7Y2FzZSAxOmlXfHwoaXcobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml5KG4sdCxyKSksaTUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppNShlLHQsbik7YnJlYWs7Y2FzZSAyMjppVz0ocj1pVyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTUoZSx0LG4pLGlXPXI7YnJlYWs7Y2FzZSAzMDppdyhuLHQpLGk1KGUsdCxuKTticmVhaztjYXNlIDc6aVd8fGl3KG4sdCksaTUoZSx0LG4pfX1mdW5jdGlvbiBpOShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZkcoZSl9Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIGk3KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmRyhlKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1ZShlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaVgpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlYKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNPLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHV0KGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY3kocy50eXBlKSl7aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk0PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNCl0aHJvdyBFcnJvcih1KDE2MCkpO2k2KG8saSxhKSxpND1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVyKHQsZSxuKSx0PXQuc2libGluZ312YXIgdW49bnVsbDtmdW5jdGlvbiB1cihlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnV0KHQsZSxuKSx1bChlKSw0JmwmJihpZygzLGUsZS5yZXR1cm4pLGloKDMsZSksaWcoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnV0KHQsZSxuKSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDY0JmwmJmlRJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bjtpZih1dCh0LGUsbiksdWwoZSksNTEyJmwmJihpV3x8bnVsbD09PXJ8fGl3KHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNsKGwscix0KSxsW2VXXT1lLGU4KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1mbCgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNsKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1mbCgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jbChsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU4KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9YzcoYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmM3KGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpUyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXQodCxlLG4pLHVsKGUpLDUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaVMoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pcSxpcT0hMSx1dCh0LGUsbiksaXE9YSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RrKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NfKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpUyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpSz0hMCk7YnJlYWs7Y2FzZSA2OmlmKHV0KHQsZSxuKSx1bChlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZyPW51bGwsYT11bix1bj1jWih0LmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bj1hLHVsKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZHKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX1pSyYmKGlLPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiZuLnN0YXRlTm9kZS5yZXNldCgpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlxLGlxPWlRLGw9dGwoKSxhPXVuLHVuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bChlKSx1bj1hLHRyJiZpSiYmKGlaPSEwKSx0cj1sLGlxPXI7YnJlYWs7Y2FzZSAxMjp1dCh0LGUsbiksdWwoZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnV0KHQsZSxuKSx1bChlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDEzOnV0KHQsZSxuKSx1bChlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1Qj1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlRLHM9aVcsYz1pcTtpUT1pfHxhLGlxPWN8fGEsaVc9c3x8byx1dCh0LGUsbiksaVc9cyxpcT1jLGlRPWksdWwoZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpUXx8aVd8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWcoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppdyhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXkobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y0cobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1Oml3KG4sbi5yZXR1cm4pLDU9PT1uLnRhZyYmaXgobiksZShuKTticmVhaztjYXNlIDIyOm51bGw9PT1uLm1lbW9pemVkU3RhdGUmJmUobik7YnJlYWs7Y2FzZSAzMDppdyhuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgNzppdyhuLG4ucmV0dXJuKTtkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSksIWEmJmlxfHxpMyhlLGEpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PSh0PXIucmV0cnlRdWV1ZSkmJihyLnJldHJ5UXVldWU9bnVsbCx1ZShlLHQpKTticmVhaztjYXNlIDMwOjUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbD10bCgpLGE9aUosbz0oMHgxM2ZmZmYwMCZuKT09PW4saT1lLm1lbW9pemVkUHJvcHMsaUo9byYmIm5vbmUiIT09cmwoaS5kZWZhdWx0LGkudXBkYXRlKSx1dCh0LGUsbiksdWwoZSksbyYmbnVsbCE9PXImJnRyJiYoZS5mbGFnc3w9NCksaUo9YSx0cj1sO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OnImJm51bGwhPT1yLnN0YXRlTm9kZSYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6dXQodCxlLG4pLHVsKGUpfX1mdW5jdGlvbiB1bChlKXt2YXIgdD1lLmZsYWdzO2lmKDImdCl7dHJ5e2Zvcih2YXIgbixyPW51bGwsbD1lLnJldHVybjtudWxsIT09bDspe2lmKGlQKGwpKXt2YXIgYT1sLnN0YXRlTm9kZTtudWxsPT09cj9yPVthXTpyLnB1c2goYSl9aWYoaV8obCkpe249bDticmVha31sPWwucmV0dXJufWlmKG51bGw9PW4pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2gobi50YWcpe2Nhc2UgMjc6dmFyIG89bi5zdGF0ZU5vZGUsaT1pTihlKTtpQyhlLGksbyxyKTticmVhaztjYXNlIDU6dmFyIHM9bi5zdGF0ZU5vZGU7MzImbi5mbGFncyYmKHRrKHMsIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIGM9aU4oZSk7aUMoZSxjLHMscik7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZj1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGQ9aU4oZSk7IWZ1bmN0aW9uIGUodCxuLHIsbCl7dmFyIGE9dC50YWc7aWYoNT09PWF8fDY9PT1hKWE9dC5zdGF0ZU5vZGUsbj8oOT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuaW5zZXJ0QmVmb3JlKGEsbik6KChuPTk9PT1yLm5vZGVUeXBlP3IuYm9keToiSFRNTCI9PT1yLm5vZGVOYW1lP3Iub3duZXJEb2N1bWVudC5ib2R5OnIpLmFwcGVuZENoaWxkKGEpLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9dFQpKSxpRSh0LGwpLHRyPSEwO2Vsc2UgaWYoNCE9PWEmJigyNz09PWEmJmN5KHQudHlwZSkmJihyPXQuc3RhdGVOb2RlLG49bnVsbCksbnVsbCE9PSh0PXQuY2hpbGQpKSlmb3IoZSh0LG4scixsKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4scixsKSx0PXQuc2libGluZ30oZSxkLGYscik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfWUuZmxhZ3MmPS0zfTQwOTYmdCYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiB1YShlLHQpe2lmKDkyNzAmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdW8odCxlKSx0PXQuc2libGluZztlbHNlIWZ1bmN0aW9uIGUodCxuKXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIHI9dC5tZW1vaXplZFByb3BzLGw9dC5zdGF0ZU5vZGUsYT1ybihyLGwpLG89cmwoci5kZWZhdWx0LHIudXBkYXRlKTtpZihuKXZhciBpPW51bGw9PT0obD1sLmNsb25lcyk/bnVsbDpsLm1hcChjXyk7ZWxzZSBpPXQubWVtb2l6ZWRTdGF0ZSx0Lm1lbW9pemVkU3RhdGU9bnVsbDtsPXQ7dmFyIHU9dC5jaGlsZDtpST0wLGE9aSQobCx1LGEsYSxvLGksITEpLDAhPSg0JnQuZmxhZ3MpJiZhJiYobnx8dTUodCxyLm9uVXBkYXRlKSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0LG4pO3Q9dC5zaWJsaW5nfX0odCwhMSl9ZnVuY3Rpb24gdW8oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihudWxsPT09bilpaihlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGkwPWlZPSExLGlNKCksdWEodCxlKSwhaVkmJiFpWil7aWYobnVsbCE9PShlPWlSKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgbD1lW3IrMV07Y1MobixlW3IrMl0pLG51bGwhPT0obj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6WyJub25lIiwibm9uZSJdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoIitsKyIpIn0pfW51bGwhPT0oZT05PT09KGU9dC5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIiI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSJub25lIixlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSJ9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uIn0pKSxpMD0hMH1pUj1udWxsO2JyZWFrO2Nhc2UgNTpkZWZhdWx0OnVhKHQsZSk7YnJlYWs7Y2FzZSA0OnI9aVksaVk9ITEsdWEodCxlKSxpWSYmKGlaPSEwKSxpWT1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1uLm1lbW9pemVkU3RhdGU/aWooZSwhMSk6dWEodCxlKSk7YnJlYWs7Y2FzZSAzMDpyPWlZLGw9aU0oKSxpWT0hMSx1YSh0LGUpLGlZJiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD1ybihhLG8pLG89cm4obi5tZW1vaXplZFByb3BzLG8pO3ZhciBpPXJsKGEuZGVmYXVsdCxhLnVwZGF0ZSk7Im5vbmUiPT09aT90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsaUk9MCx0PWkkKGUsbix0LG8saSxhLCEwKSxpSSE9PShudWxsPT09YT8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksMCE9KDQmZS5mbGFncykmJnQ/KHU1KGUsZS5tZW1vaXplZFByb3BzLm9uVXBkYXRlKSxpUj1sKTpudWxsIT09bCYmKGwucHVzaC5hcHBseShsLGlSKSxpUj1sKSxpWT0wIT0oMzImZS5mbGFncyl8fHJ9fWZ1bmN0aW9uIHVpKGUsdCl7aWYoODc3MiZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10OylpMihlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHV1KGUsdCl7dmFyIG49bnVsbDtudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLG51bGwhPT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYobnVsbCE9ZSYmZS5yZWZDb3VudCsrLG51bGwhPW4mJmxzKG4pKX1mdW5jdGlvbiB1cyhlLHQpe2U9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1lJiYodC5yZWZDb3VudCsrLG51bGwhPWUmJmxzKGUpKX1mdW5jdGlvbiB1YyhlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGw/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVmKGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgbCYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10OykzMD09PXQudGFnP2lGKHQuY2hpbGQsITEpOjAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpLHQ9dC5zaWJsaW5nfSh0KX1mdW5jdGlvbiB1ZihlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47bCYmbnVsbD09PXQuYWx0ZXJuYXRlJiZudWxsIT09dC5yZXR1cm4mJm51bGwhPT10LnJldHVybi5hbHRlcm5hdGUmJmlIKHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVjKGUsdCxuLHIpLDIwNDgmYSYmaWgoOSx0KTticmVhaztjYXNlIDE6Y2FzZSAzMTpjYXNlIDEzOmRlZmF1bHQ6dWMoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnVjKGUsdCxuLHIpLGwmJmkwJiYoInJvb3QiPT09KGU9OT09PShlPWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/ZS5ib2R5OiJIVE1MIj09PWUubm9kZU5hbWU/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSkuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLG51bGwhPT0oZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIm5vbmUiPT09ZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLDIwNDgmYSYmKGE9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1hJiYodC5yZWZDb3VudCsrLG51bGwhPWEmJmxzKGEpKSk7YnJlYWs7Y2FzZSAxMjppZigyMDQ4JmEpe3VjKGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxpPW8uaWQsdT1vLm9uUG9zdENvbW1pdDsiZnVuY3Rpb24iPT10eXBlb2YgdSYmdShpLG51bGw9PT10LmFsdGVybmF0ZT8ibW91bnQiOiJ1cGRhdGUiLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1lbHNlIHVjKGUsdCxuLHIpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpvPXQuc3RhdGVOb2RlLGk9dC5hbHRlcm5hdGUsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT8obCYmbnVsbCE9PWkmJm51bGw9PT1pLm1lbW9pemVkU3RhdGUmJmlIKGkpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTp1ZChlLHQpKToobCYmbnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGUmJmlIKHQpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTooby5fdmlzaWJpbGl0eXw9MixmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKGE9YSYmMCE9KDEwMjU2Jm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZSh0LG8scixsLGEpLGloKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO251bGwhPT1vLm1lbW9pemVkU3RhdGU/MiZ1Ll92aXNpYmlsaXR5P2UodCxvLHIsbCxhKTp1ZCh0LG8pOih1Ll92aXNpYmlsaXR5fD0yLGUodCxvLHIsbCxhKSksYSYmMjA0OCZpJiZ1dShvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmUodCxvLHIsbCxhKSxhJiYyMDQ4JmkmJnVzKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6ZSh0LG8scixsLGEpfW49bi5zaWJsaW5nfX0oZSx0LG4sciwwIT0oMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpKSkpLDIwNDgmYSYmdXUoaSx0KTticmVhaztjYXNlIDI0OnVjKGUsdCxuLHIpLDIwNDgmYSYmdXModC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDpsJiZudWxsIT09KGE9dC5hbHRlcm5hdGUpJiYoaUYoYS5jaGlsZCwhMCksaUYodC5jaGlsZCwhMCkpLHVjKGUsdCxuLHIpfX1mdW5jdGlvbiB1ZChlLHQpe2lmKDEwMjU2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj10LHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMjI6dWQoZSxuKSwyMDQ4JnImJnV1KG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2Nhc2UgMjQ6dWQoZSxuKSwyMDQ4JnImJnVzKG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2RlZmF1bHQ6dWQoZSxuKX10PXQuc2libGluZ319dmFyIHVwPTgxOTI7ZnVuY3Rpb24gdW0oZSx0LG4pe2lmKGUuc3VidHJlZUZsYWdzJnVwKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KXVoKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiB1aChlLHQsbil7c3dpdGNoKGUudGFnKXtjYXNlIDI2OnVtKGUsdCxuKSxlLmZsYWdzJnVwJiYobnVsbCE9PWUubWVtb2l6ZWRTdGF0ZT9mdW5jdGlvbihlLHQsbixyKXtpZigic3R5bGVzaGVldCI9PT1uLnR5cGUmJigic3RyaW5nIiE9dHlwZW9mIHIubWVkaWF8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmMD09KDQmbi5zdGF0ZS5sb2FkaW5nKSl7aWYobnVsbD09PW4uaW5zdGFuY2Upe3ZhciBsPWM0KHIuaHJlZiksYT10LnF1ZXJ5U2VsZWN0b3IoYzgobCkpO2lmKGEpe251bGwhPT0odD1hLl9wKSYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiYoZS5jb3VudCsrLGU9ZmQuYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxlOChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1jNShyKSwobD1jWS5nZXQobCkpJiZmdChyLGwpLGU4KGE9YS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSxuLmluc3RhbmNlPWF9bnVsbD09PWUuc3R5bGVzaGVldHMmJihlLnN0eWxlc2hlZXRzPW5ldyBNYXApLGUuc3R5bGVzaGVldHMuc2V0KG4sdCksKHQ9bi5zdGF0ZS5wcmVsb2FkKSYmMD09KDMmbi5zdGF0ZS5sb2FkaW5nKSYmKGUuY291bnQrKyxuPWZkLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuKSx0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixuKSl9fShuLHVuLGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpOihlPWUuc3RhdGVOb2RlLCgweDEzZmZmZjQwJnQpPT09dCYmZnMobixlKSkpO2JyZWFrO2Nhc2UgNTp1bShlLHQsbiksZS5mbGFncyZ1cCYmKGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmcyhuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPXVuO3VuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVtKGUsdCxuKSx1bj1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT0ocj1lLmFsdGVybmF0ZSkmJm51bGwhPT1yLm1lbW9pemVkU3RhdGU/KHI9dXAsdXA9MHgxMDAwMDAwLHVtKGUsdCxuKSx1cD1yKTp1bShlLHQsbikpO2JyZWFrO2Nhc2UgMzA6aWYoMCE9KGUuZmxhZ3MmdXApJiZudWxsIT0ocj1lLm1lbW9pemVkUHJvcHMubmFtZSkmJiJhdXRvIiE9PXIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucGFpcmVkPW51bGwsbnVsbD09PWl6JiYoaXo9bmV3IE1hcCksaXouc2V0KHIsbCl9dW0oZSx0LG4pO2JyZWFrO2RlZmF1bHQ6dW0oZSx0LG4pfX1mdW5jdGlvbiB1ZyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZihudWxsIT09dCYmbnVsbCE9PShlPXQuY2hpbGQpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKG51bGwhPT1lKX19ZnVuY3Rpb24gdXYoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoMCE9KDE2JmUuZmxhZ3MpKXtpZihudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpRz1yLHViKHIsZSl9dWcoZSl9aWYoMTAyNTYmZS5zdWJ0cmVlRmxhZ3MpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXkoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gdXkoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnV2KGUpLDIwNDgmZS5mbGFncyYmaWcoOSxlLGUucmV0dXJuKTticmVhaztjYXNlIDM6Y2FzZSAxMjpkZWZhdWx0OnV2KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmMiZ0Ll92aXNpYmlsaXR5JiYobnVsbD09PWUucmV0dXJufHwxMyE9PWUucmV0dXJuLnRhZyk/KHQuX3Zpc2liaWxpdHkmPS0zLGZ1bmN0aW9uIGUodCl7dmFyIG49dC5kZWxldGlvbnM7aWYoMCE9KDE2JnQuZmxhZ3MpKXtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpRz1sLHViKGwsdCl9dWcodCl9Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3N3aXRjaCgobj10KS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6MiYocj1uLnN0YXRlTm9kZSkuX3Zpc2liaWxpdHkmJihyLl92aXNpYmlsaXR5Jj0tMyxlKG4pKTticmVhaztkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSk6dXYoZSl9fWZ1bmN0aW9uIHViKGUsdCl7Zm9yKDtudWxsIT09aUc7KXt2YXIgbj1pRztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihudWxsIT09bi5tZW1vaXplZFN0YXRlJiZudWxsIT09bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO251bGwhPXImJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OmxzKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYobnVsbCE9PShyPW4uY2hpbGQpKXIucmV0dXJuPW4saUc9cjtlbHNlIGZvcihuPWU7bnVsbCE9PWlHOyl7dmFyIGw9KHI9aUcpLnNpYmxpbmcsYT1yLnJldHVybjtpZighZnVuY3Rpb24gZSh0KXt2YXIgbj10LmFsdGVybmF0ZTtudWxsIT09biYmKHQuYWx0ZXJuYXRlPW51bGwsZShuKSksdC5jaGlsZD1udWxsLHQuZGVsZXRpb25zPW51bGwsdC5zaWJsaW5nPW51bGwsNT09PXQudGFnJiZudWxsIT09KG49dC5zdGF0ZU5vZGUpJiZlMChuKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShyKSxyPT09bil7aUc9bnVsbDticmVha31pZihudWxsIT09bCl7bC5yZXR1cm49YSxpRz1sO2JyZWFrfWlHPWF9fX12YXIgdXc9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1sdChsaSksbj10LmRhdGEuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiYobj1lKCksdC5kYXRhLnNldChlLG4pKSxufSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBsdChsaSkuY29udHJvbGxlci5zaWduYWx9fSx1az0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcCx1Uz0wLHVFPW51bGwsdXg9bnVsbCx1Xz0wLHVQPTAsdU49bnVsbCx1Qz0hMSx1VD0hMSx1Tz0hMSx1ej0wLHVMPTAsdVI9MCx1TT0wLHVJPTAsdUQ9MCx1Rj0wLHVBPW51bGwsdWo9bnVsbCx1VT0hMSx1Qj0wLHVWPTAsdUg9MS8wLHUkPW51bGwsdVE9bnVsbCx1Vz0wLHVxPW51bGwsdUs9bnVsbCx1WD0wLHVHPTAsdVk9bnVsbCx1Sj1udWxsLHVaPW51bGwsdTA9bnVsbCx1MT1udWxsLHUyPTAsdTM9bnVsbDtmdW5jdGlvbiB1NCgpe3JldHVybiAwIT0oMiZ1UykmJjAhPT11Xz91XyYtdV86bnVsbCE9PVcuVD9zJCgpOmVIKCl9ZnVuY3Rpb24gdTgoKXtpZigwPT09dUQpaWYoMD09KDB4MjAwMDAwMDAmdV8pfHxyJCl7dmFyIGU9ZU87MD09KDM5MzIxNjAmKGVPPDw9MSkpJiYoZU89MjYyMTQ0KSx1RD1lfWVsc2UgdUQ9MHgyMDAwMDAwMDtyZXR1cm4gbnVsbCE9PShlPWwzLmN1cnJlbnQpJiYoZS5mbGFnc3w9MzIpLHVEfWZ1bmN0aW9uIHU1KGUsdCl7aWYobnVsbCE9dCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtudWxsPT09ciYmKHI9bi5yZWY9Y0Mocm4oZS5tZW1vaXplZFByb3BzLG4pKSksbnVsbD09PXUwJiYodTA9W10pLHUwLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiB1NihlLHQsbil7KGU9PT11RSYmKDI9PT11UHx8OT09PXVQKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdCkmJihzcihlLDApLHNlKGUsdV8sdUQsITEpKSxlRihlLG4pLCgwPT0oMiZ1Uyl8fGUhPT11RSkmJihlPT09dUUmJigwPT0oMiZ1UykmJih1TXw9biksND09PXVMJiZzZShlLHVfLHVELCExKSksc0YoZSkpfWZ1bmN0aW9uIHU5KGUsdCxuKXtpZigwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMjcpKTtmb3IodmFyIHI9IW4mJjA9PSgxMjcmdCkmJjA9PSh0JmUuZXhwaXJlZExhbmVzKXx8ZU0oZSx0KSxsPXI/ZnVuY3Rpb24oZSx0KXt2YXIgbj11Uzt1U3w9Mjt2YXIgcj1zbygpLGw9c2koKTt1RSE9PWV8fHVfIT09dD8odSQ9bnVsbCx1SD1ldigpKzUwMCxzcihlLHQpKTp1VD1lTShlLHQpO2U6Zm9yKDs7KXRyeXtpZigwIT09dVAmJm51bGwhPT11eCl7dD11eDt2YXIgYT11Tjt0OnN3aXRjaCh1UCl7Y2FzZSAxOnVQPTAsdU49bnVsbCxzZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKGxQKGEpKXt1UD0wLHVOPW51bGwsc2YodCk7YnJlYWt9dD1mdW5jdGlvbigpezIhPT11UCYmOSE9PXVQfHx1RSE9PWV8fCh1UD03KSxzRihlKX0sYS50aGVuKHQsdCk7YnJlYWsgZTtjYXNlIDM6dVA9NzticmVhayBlO2Nhc2UgNDp1UD01O2JyZWFrIGU7Y2FzZSA3OmxQKGEpPyh1UD0wLHVOPW51bGwsc2YodCkpOih1UD0wLHVOPW51bGwsc2QoZSx0LGEsNykpO2JyZWFrO2Nhc2UgNTp2YXIgbz1udWxsO3N3aXRjaCh1eC50YWcpe2Nhc2UgMjY6bz11eC5tZW1vaXplZFN0YXRlO2Nhc2UgNTpjYXNlIDI3OnZhciBpPXV4O2lmKG8/Zmkobyk6aS5zdGF0ZU5vZGUuY29tcGxldGUpe3VQPTAsdU49bnVsbDt2YXIgcz1pLnNpYmxpbmc7aWYobnVsbCE9PXMpdXg9cztlbHNle3ZhciBjPWkucmV0dXJuO251bGwhPT1jPyh1eD1jLHNwKGMpKTp1eD1udWxsfWJyZWFrIHR9fXVQPTAsdU49bnVsbCxzZChlLHQsYSw1KTticmVhaztjYXNlIDY6dVA9MCx1Tj1udWxsLHNkKGUsdCxhLDYpO2JyZWFrO2Nhc2UgODpzbigpLHVMPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fWZvcig7bnVsbCE9PXV4JiYhZWgoKTspc2ModXgpO2JyZWFrfWNhdGNoKHQpe3NsKGUsdCl9cmV0dXJuKHIzPXIyPW51bGwsVy5IPXIsVy5BPWwsdVM9bixudWxsIT09dXgpPzA6KHVFPW51bGwsdV89MCxycygpLHVMKX0oZSx0KTpzcyhlLHQsITApLGE9cjs7KXtpZigwPT09bCl1VCYmIXImJnNlKGUsdCwwLCExKTtlbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxhJiYhZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKDA9PT1ufHwxMT09PW58fDE1PT09bikmJjE2Mzg0JnQuZmxhZ3MmJm51bGwhPT0obj10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShuPW4uc3RvcmVzKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxhPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighbkEoYSgpLGwpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfX1pZihuPXQuY2hpbGQsMTYzODQmdC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1uKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH0obikpe2w9c3MoZSx0LCExKSxhPSExO2NvbnRpbnVlfWlmKDI9PT1sKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPTAhPShvPS0weDIwMDAwMDAxJmUucGVuZGluZ0xhbmVzKT9vOjB4MjAwMDAwMDAmbz8weDIwMDAwMDAwOjA7aWYoMCE9PW8pe3Q9bztlOntsPXVBO3ZhciBpPWUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihpJiYoc3IoZSxvKS5mbGFnc3w9MjU2KSwyIT09KG89c3MoZSxvLCExKSkpe2lmKHVPJiYhaSl7ZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9YSx1TXw9YSxsPTQ7YnJlYWsgZX1hPXVqLHVqPWwsbnVsbCE9PWEmJihudWxsPT09dWo/dWo9YTp1ai5wdXNoLmFwcGx5KHVqLGEpKX1sPW99aWYoYT0hMSwyIT09bCljb250aW51ZX19aWYoMT09PWwpe3NyKGUsMCksc2UoZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChyPWUsYT1sKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSA0OmlmKCg0MTk0MDQ4JnQpIT09dCYmKDB4M2MwMDAwMCZ0KSE9PXQpYnJlYWs7Y2FzZSA2OnNlKHIsdCx1RCwhdUMpO2JyZWFrIGU7Y2FzZSAyOnVqPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI5KSl9aWYoKDB4M2MwMDAwMCZ0KT09PXQmJjEwPChsPXVCKzMwMC1ldigpKSl7aWYoc2Uocix0LHVELCF1QyksMCE9PWVSKHIsMCwhMCkpYnJlYWsgZTt1WD10LHIudGltZW91dEhhbmRsZT1jcCh1Ny5iaW5kKG51bGwscixuLHVqLHUkLHVVLHQsdUQsdU0sdUYsdUMsYSwiVGhyb3R0bGVkIiwtMCwwKSxsKTticmVhayBlfXU3KHIsbix1aix1JCx1VSx0LHVELHVNLHVGLHVDLGEsbnVsbCwtMCwwKX19YnJlYWt9c0YoZSl9ZnVuY3Rpb24gdTcoZSx0LG4scixsLGEsbyxpLHUscyxjLGYsZCxwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG0saCxnPXQuc3VidHJlZUZsYWdzLHY9KDB4MTNmZmZmMDAmYSk9PT1hO2lmKGY9bnVsbCwodnx8ODE5MiZnfHwweDEwMDIwMDA9PSgweDEwMDIwMDAmZykpJiYoaXo9bnVsbCx1aCh0LGEsZj17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOnRUfSksdiYmKGc9ZixudWxsIT0odj0oOT09PSh2PWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/djp2Lm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbikmJihnLmNvdW50KyssZy53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsZz1mZC5iaW5kKGcpLHYuZmluaXNoZWQudGhlbihnLGcpKSksbnVsbCE9PShtPWYsaD1nPSgweDNjMDAwMDAmYSk9PT1hP3VCLWV2KCk6KDQxOTQwNDgmYSk9PT1hP3VWLWV2KCk6MCxtLnN0eWxlc2hlZXRzJiYwPT09bS5jb3VudCYmZmgobSxtLnN0eWxlc2hlZXRzKSxnPTA8bS5jb3VudHx8MDxtLmltZ0NvdW50P2Z1bmN0aW9uKGUpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLnN0eWxlc2hlZXRzJiZmaChtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKXt2YXIgZT1tLnVuc3VzcGVuZDttLnVuc3VzcGVuZD1udWxsLGUoKX19LDZlNCtoKTswPG0uaW1nQnl0ZXMmJjA9PT1mYyYmKGZjPTYyNTAwKmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC50cmFuc2ZlclNpemUsbz1sLmluaXRpYXRvclR5cGUsaT1sLmR1cmF0aW9uO2lmKGEmJmkmJmNhKG8pKXtmb3Iobz0wLGk9bC5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgdT1uW3JdLHM9dS5zdGFydFRpbWU7aWYocz5pKWJyZWFrO3ZhciBjPXUudHJhbnNmZXJTaXplLGY9dS5pbml0aWF0b3JUeXBlO2MmJmNhKGYpJiYobys9YyooKHU9dS5yZXNwb25zZUVuZCk8aT8xOihpLXMpLyh1LXMpKSl9aWYoLS1yLHQrPTgqKGErbykvKGwuZHVyYXRpb24vMWUzKSwxMDwrK2UpYnJlYWt9fWlmKDA8ZSlyZXR1cm4gdC9lLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJiJudW1iZXIiPT10eXBlb2YoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayk/ZTo1fSgpKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobS53YWl0aW5nRm9ySW1hZ2VzPSExLDA9PT1tLmNvdW50JiYobS5zdHlsZXNoZWV0cyYmZmgobSxtLnN0eWxlc2hlZXRzKSxtLnVuc3VzcGVuZCkpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sKG0uaW1nQnl0ZXM+ZmM/NTA6ODAwKStoKTtyZXR1cm4gbS51bnN1c3BlbmQ9ZSxmdW5jdGlvbigpe20udW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KHQpLGNsZWFyVGltZW91dChuKX19Om51bGwpKSl7dVg9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9ZyhzaC5iaW5kKG51bGwsZSx0LGEsbixyLGwsbyxpLHUsYyxmLG51bGwsZCxwKSksc2UoZSxhLG8sIXMpO3JldHVybn1zaChlLHQsYSxuLHIsbCxvLGksdSxjLGYpfWZ1bmN0aW9uIHNlKGUsdCxuLHIpe3QmPX51SSx0Jj1+dU0sZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzdCgpe3JldHVybiAwIT0oNiZ1Uyl8fChzQSgwLCExKSwhMSl9ZnVuY3Rpb24gc24oKXtpZihudWxsIT09dXgpe2lmKDA9PT11UCl2YXIgZT11eC5yZXR1cm47ZWxzZSBlPXV4LHIzPXIyPW51bGwsYUUoZSksbEw9bnVsbCxsUj0wLGU9dXg7Zm9yKDtudWxsIT09ZTspaW0oZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1eD1udWxsfX1mdW5jdGlvbiBzcihlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY20obikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1WD0wLHNuKCksdUU9ZSx1eD1uPXJiKGUuY3VycmVudCxudWxsKSx1Xz10LHVQPTAsdU49bnVsbCx1Qz0hMSx1VD1lTShlLHQpLHVPPSExLHVGPXVEPXVJPXVNPXVSPXVMPTAsdWo9dUE9bnVsbCx1VT0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHV6PXQscnMoKSxufWZ1bmN0aW9uIHNsKGUsdCl7YWE9bnVsbCxXLkg9b1MsdD09PWxTfHx0PT09bHg/KHQ9bE8oKSx1UD0zKTp0PT09bEU/KHQ9bE8oKSx1UD00KTp1UD10PT09b2o/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1Tj10LG51bGw9PT11eCYmKHVMPTEsb00oZSxyTih0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzYSgpe3ZhciBlPWwzLmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdV8pPT09dV8/bnVsbD09PWw0OigoMHgzYzAwMDAwJnVfKT09PXVffHwwIT0oMHgyMDAwMDAwMCZ1XykpJiZlPT09bDQpfWZ1bmN0aW9uIHNvKCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b1MsbnVsbD09PWU/b1M6ZX1mdW5jdGlvbiBzaSgpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXV3LGV9ZnVuY3Rpb24gc3UoKXt1TD00LHVDfHwoNDE5NDA0OCZ1XykhPT11XyYmbnVsbCE9PWwzLmN1cnJlbnR8fCh1VD0hMCksMD09KDB4N2ZmZmZmZiZ1UikmJjA9PSgweDdmZmZmZmYmdU0pfHxudWxsPT09dUV8fHNlKHVFLHVfLHVELCExKX1mdW5jdGlvbiBzcyhlLHQsbil7dmFyIHI9dVM7dVN8PTI7dmFyIGw9c28oKSxhPXNpKCk7KHVFIT09ZXx8dV8hPT10KSYmKHUkPW51bGwsc3IoZSx0KSksdD0hMTt2YXIgbz11TDtlOmZvcig7Oyl0cnl7aWYoMCE9PXVQJiZudWxsIT09dXgpe3ZhciBpPXV4LHU9dU47c3dpdGNoKHVQKXtjYXNlIDg6c24oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWwzLmN1cnJlbnQmJih0PSEwKTt2YXIgcz11UDtpZih1UD0wLHVOPW51bGwsc2QoZSxpLHUscyksbiYmdVQpe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11UCx1UD0wLHVOPW51bGwsc2QoZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXV4OylzYyh1eCl9KSgpLG89dUw7YnJlYWt9Y2F0Y2godCl7c2woZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjM9cjI9bnVsbCx1Uz1yLFcuSD1sLFcuQT1hLG51bGw9PT11eCYmKHVFPW51bGwsdV89MCxycygpKSxvfWZ1bmN0aW9uIHNjKGUpe3ZhciB0PWlvKGUuYWx0ZXJuYXRlLGUsdXopO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zcChlKTp1eD10fWZ1bmN0aW9uIHNmKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b0oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdV8pO2JyZWFrO2Nhc2UgMTE6dD1vSihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Xyk7YnJlYWs7Y2FzZSA1OmFFKHQpO2RlZmF1bHQ6aW0obix0KSx0PWlvKG4sdD11eD1ydyh0LHV6KSx1eil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NwKGUpOnV4PXR9ZnVuY3Rpb24gc2QoZSx0LG4scil7cjM9cjI9bnVsbCxhRSh0KSxsTD1udWxsLGxSPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjkodCxuLGwsITApLG51bGwhPT0obj1sMy5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw0P3N1KCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dUwmJih1TD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bF8/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzUChlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sXz9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc1AoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzUChlLHIsbCksc3UoKSwhMX1pZihyJClyZXR1cm4gbnVsbCE9PSh0PWwzLmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cnEmJnIwKHJOKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJxJiZyMChyTih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJOKHIsbiksbD1vRChlLnN0YXRlTm9kZSxyLGwpLGxXKGUsbCksNCE9PXVMJiYodUw9MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ck4oYSxuKSxudWxsPT09dUE/dUE9W2FdOnVBLnB1c2goYSksNCE9PXVMJiYodUw9MiksbnVsbD09PXQpcmV0dXJuITA7cj1yTihyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRChuLnN0YXRlTm9kZSxyLGUpLGxXKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVRfHwhdVEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb0EobD1vRihsKSxlLG4sciksbFcobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdV8pKXt1TD0xLG9NKGUsck4obixlLmN1cnJlbnQpKSx1eD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdXg9bCx0O3VMPTEsb00oZSxyTihuLGUuY3VycmVudCkpLHV4PW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHIkfHwxPT09cj9lPSEwOnVUfHwwIT0oMHgyMDAwMDAwMCZ1Xyk/ZT0hMToodUM9ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDMuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNtKHQsZSkpOnNwKHQpfWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNtKHQsdUMpO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihyWSh0KT9paSh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQsclooKSkpLGlwKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpaSh0KSxudWxsIT09YT8oaXAodCksaXModCxhKSk6KGlwKHQpLGl1KHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlpKHQpLGlwKHQpLGlzKHQsYSkpOihpcCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlpKHQpLGlwKHQpLGl1KHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlpKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpcCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxyWSh0KT9yWCh0LGUpOih0LnN0YXRlTm9kZT1lPWNYKGwscixuKSxpaSh0KSl9cmV0dXJuIGlwKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpaSh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsclkodCkpclgodCxhKTtlbHNle3ZhciBvPWN1KGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjbChhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlpKHQpfX1yZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaXUodCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaWkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxyWSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJWKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y3QoZS5ub2RlVmFsdWUsbikpKXx8cksodCwhMCl9ZWxzZShlPWN1KGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9clkodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgckooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aXAodCksZT0hMX1lbHNlIG49clooKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGw3KHQpLHQ7cmV0dXJuIGw3KHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1yWSh0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSBySigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpcCh0KSxsPSExfWVsc2UgbD1yWigpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gbDcodCksdDtyZXR1cm4gbDcodCksbnVsbH19aWYobDcodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGljKHQsdC51cGRhdGVRdWV1ZSksaXAodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMxKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpcCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksaXAodCksbnVsbDtjYXNlIDE5OmlmKGFuKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpcCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaWQociwhMSk7ZWxzZXtpZigwIT09dUx8fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YXIoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGlkKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGljKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylydyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhdCh0LDEmYWUuY3VycmVudHwyKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51SCYmKHQuZmxhZ3N8PTEyOCxsPSEwLGlkKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YXIoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpYyh0LGUpLGlkKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhciQpcmV0dXJuIGlwKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dUgmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaWQociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWFlLmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyJD9hdCh0LGEpOihuPWEsWihsMyx0KSxaKGFlLG4pLG51bGw9PT1sNCYmKGw0PXQpKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBsNyh0KSxsMigpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaXAodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppcCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmljKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGx5KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGlwKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaXAodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHV6KTtpZihudWxsIT09bil7dXg9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3V4PXQ7cmV0dXJufXV4PXQ9ZX13aGlsZShudWxsIT09dCkwPT09dUwmJih1TD01KX1mdW5jdGlvbiBzbShlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJVKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjgobGkpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYobDcodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihsNyh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYW4odCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGw3KHQpLGwyKCksbnVsbCE9PWUmJkoobHkpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI4KGxpKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdXg9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1eD1lO3JldHVybn11eD1lPW59d2hpbGUobnVsbCE9PWUpdUw9Nix1eD1udWxsfWZ1bmN0aW9uIHNoKGUsdCxuLHIsbCxhLG8saSxzLGMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gc1MoKTt3aGlsZSgwIT09dVcpaWYoMCE9KDYmdVMpKXRocm93IEVycm9yKHUoMzI3KSk7aWYobnVsbCE9PXQpe3ZhciBkO2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IodSgxNzcpKTtpZighZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbixhPXQubGFuZXN8dC5jaGlsZExhbmVzfHJ1LG8saSxzKSxlPT09dUUmJih1eD11RT1udWxsLHVfPTApLHVLPXQsdXE9ZSx1WD1uLHVHPWEsdVk9bCx1Sj1yLHUwPW51bGwsKDB4MTNmZmZmMDAmbik9PT1uPyhkPWUudHJhbnNpdGlvblR5cGVzLGUudHJhbnNpdGlvblR5cGVzPW51bGwsdTE9ZCxyPTEwMjYyKToodTE9bnVsbCxyPTEwMjU2KSwwIT0odC5zdWJ0cmVlRmxhZ3Mmcil8fDAhPSh0LmZsYWdzJnIpPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLGVwKGVrLGZ1bmN0aW9uKCl7cmV0dXJuIHNFKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksaU89ITEscj0wIT0oMTM4NzgmdC5mbGFncyksMCE9KDEzODc4JnQuc3VidHJlZUZsYWdzKXx8cil7cj1XLlQsVy5UPW51bGwsbD1xLnAscS5wPTIsbz11Uyx1U3w9NDt0cnl7IWZ1bmN0aW9uKGUsdCxuKXtpZihlPWUuY29udGFpbmVySW5mbyxjbz1mXyxuSChlPW5WKGUpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciBsPShyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGwmJjAhPT1sLnJhbmdlQ291bnQpe3I9bC5hbmNob3JOb2RlO3ZhciBhLG89bC5hbmNob3JPZmZzZXQsaT1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Iubm9kZVR5cGUsaS5ub2RlVHlwZX1jYXRjaChlKXtyPW51bGw7YnJlYWsgZX12YXIgdT0wLHM9LTEsYz0tMSxmPTAsZD0wLHA9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcig7cCE9PXJ8fDAhPT1vJiYzIT09cC5ub2RlVHlwZXx8KHM9dStvKSxwIT09aXx8MCE9PWwmJjMhPT1wLm5vZGVUeXBlfHwoYz11K2wpLDM9PT1wLm5vZGVUeXBlJiYodSs9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGE9cC5maXJzdENoaWxkKTspbT1wLHA9YTtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIHQ7aWYobT09PXImJisrZj09PW8mJihzPXUpLG09PT1pJiYrK2Q9PT1sJiYoYz11KSxudWxsIT09KGE9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9YX1yPS0xPT09c3x8LTE9PT1jP251bGw6e3N0YXJ0OnMsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjaT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxmXz0hMSxuPSgweDEzZmZmZjAwJm4pPT09bixpRz10LHQ9bj85MjcwOjEwMjg7bnVsbCE9PWlHOyl7aWYoZT1pRyxuJiZudWxsIT09KHI9ZS5kZWxldGlvbnMpKWZvcihvPTA7bzxyLmxlbmd0aDtvKyspbiYmaUIocltvXSk7aWYobnVsbD09PWUuYWx0ZXJuYXRlJiYwIT0oMiZlLmZsYWdzKSluJiZpTChlKSxpMShuKTtlbHNle2lmKDIyPT09ZS50YWcpe2lmKHI9ZS5hbHRlcm5hdGUsbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSl7bnVsbCE9PXImJm51bGw9PT1yLm1lbW9pemVkU3RhdGUmJm4mJmlCKHIpLGkxKG4pO2NvbnRpbnVlfWVsc2UgaWYobnVsbCE9PXImJm51bGwhPT1yLm1lbW9pemVkU3RhdGUpe24mJmlMKGUpLGkxKG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsMCE9KGUuc3VidHJlZUZsYWdzJnQpJiZudWxsIT09cj8oci5yZXR1cm49ZSxpRz1yKToobiYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIG49dC5tZW1vaXplZFByb3BzLHI9cm4obix0LnN0YXRlTm9kZSk7bj1ybChuLmRlZmF1bHQsbi51cGRhdGUpLHQuZmxhZ3MmPS01LCJub25lIiE9PW4mJmlEKHQscixuLHQubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0KTt0PXQuc2libGluZ319KGUpLGkxKG4pKX19aXo9bnVsbH0oZSx0LG4pfWZpbmFsbHl7dVM9byxxLnA9bCxXLlQ9cn19dVc9MSwodD1pTyk/dVo9ZnVuY3Rpb24oZSx0LG4scixsLGEsbyxpLHUpe3ZhciBzPTk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgYz1zLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXMuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89cy5mb250cy5zdGF0dXM7cigpO3ZhciBpPVtdO2lmKCJsb2FkZWQiPT09byYmKHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwibG9hZGluZyI9PT1zLmZvbnRzLnN0YXR1cyYmaS5wdXNoKHMuZm9udHMucmVhZHkpKSxvPWkubGVuZ3RoLG51bGwhPT1lKWZvcih2YXIgdT1lLnN1c3BlbnNleUltYWdlcyxjPTAsZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgZD11W2ZdO2lmKCFkLmNvbXBsZXRlKXt2YXIgcD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8cC5ib3R0b20mJjA8cC5yaWdodCYmcC50b3A8dC5pbm5lckhlaWdodCYmcC5sZWZ0PHQuaW5uZXJXaWR0aCl7aWYoKGMrPWZ1KGQpKT5mYyl7aS5sZW5ndGg9bzticmVha31kPW5ldyBQcm9taXNlKGNQLmJpbmQoZCkpLGkucHVzaChkKX19fXJldHVybiAwPGkubGVuZ3RoPyh0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwoaSksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGwsbCksKG4/UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSkpOihsKCksbik/bi5maW5pc2hlZC50aGVuKGEsYSk6dm9pZCBhKCl9LHR5cGVzOm59KTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1jO3ZhciBmPVtdO3JldHVybiBjLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGw9ci5wc2V1ZG9FbGVtZW50O2lmKG51bGwhPWwmJmwuc3RhcnRzV2l0aCgiOjp2aWV3LXRyYW5zaXRpb24iKSl7Zi5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9bD12b2lkIDAsaT0hMCx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBjPW5bdV0sZD1jLndpZHRoO2lmKHZvaWQgMD09PWwpbD1kO2Vsc2UgaWYobCE9PWQpe2k9ITE7YnJlYWt9aWYoZD1jLmhlaWdodCx2b2lkIDA9PT1hKWE9ZDtlbHNlIGlmKGEhPT1kKXtpPSExO2JyZWFrfWRlbGV0ZSBjLndpZHRoLGRlbGV0ZSBjLmhlaWdodCwibm9uZSI9PT1jLnRyYW5zZm9ybSYmZGVsZXRlIGMudHJhbnNmb3JtfWkmJnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEmJihyLnNldEtleWZyYW1lcyhuKSwoaT1nZXRDb21wdXRlZFN0eWxlKHIudGFyZ2V0LHIucHNldWRvRWxlbWVudCkpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1hKSYmKChpPW5bMF0pLndpZHRoPWwsaS5oZWlnaHQ9YSwoaT1uW24ubGVuZ3RoLTFdKS53aWR0aD1sLGkuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe3MuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09YyYmKHMuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiSW52YWxpZFN0YXRlRXJyb3IiPT09ZS5uYW1lJiYoIlZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuIj09PWUubWVzc2FnZXx8IlRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlIj09PWUubWVzc2FnZSkmJihlPW51bGwpLG51bGwhPT1lJiZ1KGUpfWZpbmFsbHl7cigpLGwoKSxvKCl9fSksYy5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5jYW5jZWwoKTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxpKCl9KSxjfWNhdGNoKGUpe3JldHVybiByKCksbCgpLG8oKSxudWxsfX0oZixlLmNvbnRhaW5lckluZm8sdTEsc3ksc2Isc3Ysc3csc0Usc2csbnVsbCxudWxsKTooc3koKSxzYigpLHN3KCkpfX1mdW5jdGlvbiBzZyhlKXswIT09dVcmJigwLHVxLm9uUmVjb3ZlcmFibGVFcnJvcikoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfWZ1bmN0aW9uIHN2KCl7Mz09PXVXJiYodVc9MCx1byh1Syx1cSksdVc9NCl9ZnVuY3Rpb24gc3koKXtpZigxPT09dVcpe3VXPTA7dmFyIGU9dXEsdD11SyxuPXVYLHI9MCE9KDEzODc4JnQuZmxhZ3MpO2lmKDAhPSgxMzg3OCZ0LnN1YnRyZWVGbGFncyl8fHIpe3I9Vy5ULFcuVD1udWxsO3ZhciBsPXEucDtxLnA9Mjt2YXIgYT11Uzt1U3w9NDt0cnl7aUo9aVo9ITEsdXIodCxlLG4pLG49Y2k7dmFyIG89blYoZS5jb250YWluZXJJbmZvKSxpPW4uZm9jdXNlZEVsZW0sdT1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1pJiZpJiZpLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hIXQmJiEhbiYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfShpLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGkpKXtpZihudWxsIT09dSYmbkgoaSkpe3ZhciBzPXUuc3RhcnQsYz11LmVuZDtpZih2b2lkIDA9PT1jJiYoYz1zKSwic2VsZWN0aW9uU3RhcnQiaW4gaSlpLnNlbGVjdGlvblN0YXJ0PXMsaS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYyxpLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgZj1pLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGQ9ZiYmZi5kZWZhdWx0Vmlld3x8d2luZG93O2lmKGQuZ2V0U2VsZWN0aW9uKXt2YXIgcD1kLmdldFNlbGVjdGlvbigpLG09aS50ZXh0Q29udGVudC5sZW5ndGgsaD1NYXRoLm1pbih1LnN0YXJ0LG0pLGc9dm9pZCAwPT09dS5lbmQ/aDpNYXRoLm1pbih1LmVuZCxtKTshcC5leHRlbmQmJmg+ZyYmKG89ZyxnPWgsaD1vKTt2YXIgdj1uQihpLGgpLHk9bkIoaSxnKTtpZih2JiZ5JiYoMSE9PXAucmFuZ2VDb3VudHx8cC5hbmNob3JOb2RlIT09di5ub2RlfHxwLmFuY2hvck9mZnNldCE9PXYub2Zmc2V0fHxwLmZvY3VzTm9kZSE9PXkubm9kZXx8cC5mb2N1c09mZnNldCE9PXkub2Zmc2V0KSl7dmFyIGI9Zi5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQodi5ub2RlLHYub2Zmc2V0KSxwLnJlbW92ZUFsbFJhbmdlcygpLGg+Zz8ocC5hZGRSYW5nZShiKSxwLmV4dGVuZCh5Lm5vZGUseS5vZmZzZXQpKTooYi5zZXRFbmQoeS5ub2RlLHkub2Zmc2V0KSxwLmFkZFJhbmdlKGIpKX19fX1mb3IoZj1bXSxwPWk7cD1wLnBhcmVudE5vZGU7KTE9PT1wLm5vZGVUeXBlJiZmLnB1c2goe2VsZW1lbnQ6cCxsZWZ0OnAuc2Nyb2xsTGVmdCx0b3A6cC5zY3JvbGxUb3B9KTtmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGkuZm9jdXMmJmkuZm9jdXMoKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciB3PWZbaV07dy5lbGVtZW50LnNjcm9sbExlZnQ9dy5sZWZ0LHcuZWxlbWVudC5zY3JvbGxUb3A9dy50b3B9fWZfPSEhY28sY2k9Y289bnVsbH1maW5hbGx5e3VTPWEscS5wPWwsVy5UPXJ9fWUuY3VycmVudD10LHVXPTJ9fWZ1bmN0aW9uIHNiKCl7aWYoMj09PXVXKXt1Vz0wO3ZhciBlPXVxLHQ9dUssbj0wIT0oODc3MiZ0LmZsYWdzKTtpZigwIT0oODc3MiZ0LnN1YnRyZWVGbGFncyl8fG4pe249Vy5ULFcuVD1udWxsO3ZhciByPXEucDtxLnA9Mjt2YXIgbD11Uzt1U3w9NDt0cnl7aTIoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3VTPWwscS5wPXIsVy5UPW59fXVXPTN9fWZ1bmN0aW9uIHN3KCl7aWYoND09PXVXfHwzPT09dVcpe3VXPTAsdVo9bnVsbCxlZygpO3ZhciBlPXVxLHQ9dUssbj11WCxyPXVKLGw9KDB4MTNmZmZmMDAmbik9PT1uPzEwMjYyOjEwMjU2O2lmKDAhPSh0LnN1YnRyZWVGbGFncyZsKXx8MCE9KHQuZmxhZ3MmbCk/dVc9NToodVc9MCx1Sz11cT1udWxsLHNrKGUsZS5wZW5kaW5nTGFuZXMpKSwwPT09KGw9ZS5wZW5kaW5nTGFuZXMpJiYodVE9bnVsbCksZVYobiksdD10LnN0YXRlTm9kZSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uQ29tbWl0RmliZXJSb290KXRyeXtlXy5vbkNvbW1pdEZpYmVyUm9vdChleCx0LHZvaWQgMCwxMjg9PSgxMjgmdC5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fWlmKG51bGwhPT1yKXt0PVcuVCxsPXEucCxxLnA9MixXLlQ9bnVsbDt0cnl7Zm9yKHZhciBhPWUub25SZWNvdmVyYWJsZUVycm9yLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTthKGkudmFsdWUse2NvbXBvbmVudFN0YWNrOmkuc3RhY2t9KX19ZmluYWxseXtXLlQ9dCxxLnA9bH19aWYocj11MCxhPXUxLHUxPW51bGwsbnVsbCE9PXIpZm9yKHUwPW51bGwsbnVsbD09PWEmJihhPVtdKSxpPTA7aTxyLmxlbmd0aDtpKyspKDAscltpXSkoYSk7MCE9KDMmdVgpJiZzUygpLHNGKGUpLGw9ZS5wZW5kaW5nTGFuZXMsMCE9KDI2MTkzMCZuKSYmMCE9KDQyJmwpP2U9PT11Mz91MisrOih1Mj0wLHUzPWUpOnUyPTAsc0EoMCwhMSl9fWZ1bmN0aW9uIHNrKGUsdCl7MD09KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCkmJm51bGwhPSh0PWUucG9vbGVkQ2FjaGUpJiYoZS5wb29sZWRDYWNoZT1udWxsLGxzKHQpKX1mdW5jdGlvbiBzUygpe3JldHVybiBudWxsIT09dVomJih1Wi5za2lwVHJhbnNpdGlvbigpLHVaPW51bGwpLHN5KCksc2IoKSxzdygpLHNFKCl9ZnVuY3Rpb24gc0UoKXtpZig1IT09dVcpcmV0dXJuITE7dmFyIGU9dXEsdD11Rzt1Rz0wO3ZhciBuPWVWKHVYKSxyPVcuVCxsPXEucDt0cnl7cS5wPTMyPm4/MzI6bixXLlQ9bnVsbCxuPXVZLHVZPW51bGw7dmFyIGE9dXEsbz11WDtpZih1Vz0wLHVLPXVxPW51bGwsdVg9MCwwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMzEpKTt2YXIgaT11UztpZih1U3w9NCx1eShhLmN1cnJlbnQpLHVmKGEsYS5jdXJyZW50LG8sbiksdVM9aSxzQSgwLCExKSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7ZV8ub25Qb3N0Q29tbWl0RmliZXJSb290KGV4LGEpfWNhdGNoKGUpe31yZXR1cm4hMH1maW5hbGx5e3EucD1sLFcuVD1yLHNrKGUsdCl9fWZ1bmN0aW9uIHN4KGUsdCxuKXt0PXJOKG4sdCksdD1vRChlLnN0YXRlTm9kZSx0LDIpLG51bGwhPT0oZT1sJChlLHQsMikpJiYoZUYoZSwyKSxzRihlKSl9ZnVuY3Rpb24gc18oZSx0LG4pe2lmKDM9PT1lLnRhZylzeChlLGUsbik7ZWxzZSBmb3IoO251bGwhPT10Oyl7aWYoMz09PXQudGFnKXtzeCh0LGUsbik7YnJlYWt9aWYoMT09PXQudGFnKXt2YXIgcj10LnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09dVF8fCF1US5oYXMocikpKXtlPXJOKG4sZSksbnVsbCE9PShyPWwkKHQsbj1vRigyKSwyKSkmJihvQShuLHIsdCxlKSxlRihyLDIpLHNGKHIpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gc1AoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyB1azt2YXIgbD1uZXcgU2V0O3Iuc2V0KHQsbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldCh0KSkmJihsPW5ldyBTZXQsci5zZXQodCxsKSk7bC5oYXMobil8fCh1Tz0hMCxsLmFkZChuKSxlPXNOLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bix1RT09PWUmJih1XyZuKT09PW4mJig0PT09dUx8fDM9PT11TCYmKDB4M2MwMDAwMCZ1Xyk9PT11XyYmMzAwPmV2KCktdUI/MD09KDImdVMpJiZzcihlLDApOnVJfD1uLHVGPT09dV8mJih1Rj0wKSksc0YoZSl9ZnVuY3Rpb24gc0MoZSx0KXswPT09dCYmKHQ9ZUkoKSksbnVsbCE9PShlPXJkKGUsdCkpJiYoZUYoZSx0KSxzRihlKSl9ZnVuY3Rpb24gc1QoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLHNDKGUsbil9ZnVuY3Rpb24gc08oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOnZhciByPWUuc3RhdGVOb2RlLGw9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1sJiYobj1sLnJldHJ5TGFuZSk7YnJlYWs7Y2FzZSAxOTpyPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMjI6cj1lLnN0YXRlTm9kZS5fcmV0cnlDYWNoZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLHNDKGUsbil9dmFyIHN6PW51bGwsc0w9bnVsbCxzUj0hMSxzTT0hMSxzST0hMSxzRD0wO2Z1bmN0aW9uIHNGKGUpe2UhPT1zTCYmbnVsbD09PWUubmV4dCYmKG51bGw9PT1zTD9zej1zTD1lOnNMPXNMLm5leHQ9ZSksc009ITAsc1J8fChzUj0hMCxjZyhmdW5jdGlvbigpezAhPSg2JnVTKT9lcChlYixzaik6c1UoKX0pKX1mdW5jdGlvbiBzQShlLHQpe2lmKCFzSSYmc00pe3NJPSEwO2RvIGZvcih2YXIgbj0hMSxyPXN6O251bGwhPT1yOyl7aWYoIXQpaWYoMCE9PWUpe3ZhciBsPXIucGVuZGluZ0xhbmVzO2lmKDA9PT1sKXZhciBhPTA7ZWxzZXt2YXIgbz1yLnN1c3BlbmRlZExhbmVzLGk9ci5waW5nZWRMYW5lczthPTB4YzAwMDA5NSYoYT0oMTw8MzEtZVAoNDJ8ZSkrMSktMSYobCZ+KG8mfmkpKSk/MHhjMDAwMDk1JmF8MTphPzJ8YTowfTAhPT1hJiYobj0hMCxzSChyLGEpKX1lbHNlIGE9dV8sMD09KDMmKGE9ZVIocixyPT09dUU/YTowLG51bGwhPT1yLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ci50aW1lb3V0SGFuZGxlKSkpfHxlTShyLGEpfHwobj0hMCxzSChyLGEpKTtyPXIubmV4dH13aGlsZShuKXNJPSExfX1mdW5jdGlvbiBzaigpe3NVKCl9ZnVuY3Rpb24gc1UoKXtzTT1zUj0hMTt2YXIgZSx0PTA7MD09PXNEfHwoKGU9d2luZG93LmV2ZW50KSYmInBvcHN0YXRlIj09PWUudHlwZT9lPT09Y2R8fChjZD1lLDApOihjZD1udWxsLDEpKXx8KHQ9c0QpO2Zvcih2YXIgbj1ldigpLHI9bnVsbCxsPXN6O251bGwhPT1sOyl7dmFyIGE9bC5uZXh0LG89c0IobCxuKTswPT09bz8obC5uZXh0PW51bGwsbnVsbD09PXI/c3o9YTpyLm5leHQ9YSxudWxsPT09YSYmKHNMPXIpKToocj1sLCgwIT09dHx8MCE9KDMmbykpJiYoc009ITApKSxsPWF9MCE9PXVXJiY1IT09dVd8fHNBKHQsITEpLDAhPT1zRCYmKHNEPTApfWZ1bmN0aW9uIHNCKGUsdCl7Zm9yKHZhciBuPWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT0tMHgzYzAwMDAxJmUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBvPTMxLWVQKGEpLGk9MTw8byx1PWxbb107LTE9PT11PygwPT0oaSZuKXx8MCE9KGkmcikpJiYobFtvXT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztkZWZhdWx0OnJldHVybiAtMX19KGksdCkpOnU8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksYSY9fml9aWYodD11RSxuPXVfLG49ZVIoZSxlPT09dD9uOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpLHI9ZS5jYWxsYmFja05vZGUsMD09PW58fGU9PT10JiYoMj09PXVQfHw5PT09dVApfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoMD09KDMmbil8fGVNKGUsbikpe2lmKCh0PW4mLW4pPT09ZS5jYWxsYmFja1ByaW9yaXR5KXJldHVybiB0O3N3aXRjaChudWxsIT09ciYmZW0ociksZVYobikpe2Nhc2UgMjpjYXNlIDg6bj1ldzticmVhaztjYXNlIDMyOmRlZmF1bHQ6bj1lazticmVhaztjYXNlIDB4MTAwMDAwMDA6bj1lRX1yZXR1cm4gbj1lcChuLHI9c1YuYmluZChudWxsLGUpKSxlLmNhbGxiYWNrUHJpb3JpdHk9dCxlLmNhbGxiYWNrTm9kZT1uLHR9cmV0dXJuIG51bGwhPT1yJiZudWxsIT09ciYmZW0ociksZS5jYWxsYmFja1ByaW9yaXR5PTIsZS5jYWxsYmFja05vZGU9bnVsbCwyfWZ1bmN0aW9uIHNWKGUsdCl7aWYoMCE9PXVXJiY1IT09dVcpcmV0dXJuIGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsbnVsbDt2YXIgbj1lLmNhbGxiYWNrTm9kZTtpZihzUygpJiZlLmNhbGxiYWNrTm9kZSE9PW4pcmV0dXJuIG51bGw7dmFyIHI9dV87cmV0dXJuIDA9PT0ocj1lUihlLGU9PT11RT9yOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpKT9udWxsOih1OShlLHIsdCksc0IoZSxldigpKSxudWxsIT1lLmNhbGxiYWNrTm9kZSYmZS5jYWxsYmFja05vZGU9PT1uP3NWLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBzSChlLHQpe2lmKHNTKCkpcmV0dXJuIG51bGw7dTkoZSx0LCEwKX1mdW5jdGlvbiBzJCgpe2lmKDA9PT1zRCl7dmFyIGU9bG07MD09PWUmJihlPWVULDA9PSgyNjE4ODgmKGVUPDw9MSkpJiYoZVQ9MjU2KSksc0Q9ZX1yZXR1cm4gc0R9ZnVuY3Rpb24gc1EoZSl7cmV0dXJuIG51bGw9PWV8fCJzeW1ib2wiPT10eXBlb2YgZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dEMoIiIrZSl9ZnVuY3Rpb24gc1coZSx0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gbi5uYW1lPXQubmFtZSxuLnZhbHVlPXQudmFsdWUsZS5pZCYmbi5zZXRBdHRyaWJ1dGUoImZvcm0iLGUuaWQpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KSxlPW5ldyBGb3JtRGF0YShlKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX1mb3IodmFyIHNxPTA7c3E8bjcubGVuZ3RoO3NxKyspe3ZhciBzSz1uN1tzcV07cmUoc0sudG9Mb3dlckNhc2UoKSwib24iKyhzS1swXS50b1VwcGVyQ2FzZSgpK3NLLnNsaWNlKDEpKSl9cmUobjEsIm9uQW5pbWF0aW9uRW5kIikscmUobjIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIikscmUobjMsIm9uQW5pbWF0aW9uU3RhcnQiKSxyZSgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIikscmUoImZvY3VzaW4iLCJvbkZvY3VzIikscmUoImZvY3Vzb3V0Iiwib25CbHVyIikscmUobjQsIm9uVHJhbnNpdGlvblJ1biIpLHJlKG44LCJvblRyYW5zaXRpb25TdGFydCIpLHJlKG41LCJvblRyYW5zaXRpb25DYW5jZWwiKSxyZShuNiwib25UcmFuc2l0aW9uRW5kIiksZTcoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxlNygib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksZTcoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlOSgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksZTkoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksZTkoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLGU5KCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzWD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksc0c9bmV3IFNldCgiYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHNYKSk7ZnVuY3Rpb24gc1koZSx0KXt0PTAhPSg0JnQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZih0KWZvcih2YXIgbz1yLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgaT1yW29dLHU9aS5pbnN0YW5jZSxzPWkuY3VycmVudFRhcmdldDtpZihpPWkubGlzdGVuZXIsdSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2E9aSxsLmN1cnJlbnRUYXJnZXQ9czt0cnl7YShsKX1jYXRjaChlKXtyYShlKX1sLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPXV9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKXtpZih1PShpPXJbb10pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0LGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JhKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX19fX1mdW5jdGlvbiBzSihlLHQpe3ZhciBuPXRbZVhdO3ZvaWQgMD09PW4mJihuPXRbZVhdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjtuLmhhcyhyKXx8KHMyKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gc1ooZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLHMyKG4sZSxyLHQpfXZhciBzMD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBzMShlKXtpZighZVtzMF0pe2VbczBdPSEwLGU1LmZvckVhY2goZnVuY3Rpb24odCl7InNlbGVjdGlvbmNoYW5nZSIhPT10JiYoc0cuaGFzKHQpfHxzWih0LCExLGUpLHNaKHQsITAsZSkpfSk7dmFyIHQ9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7bnVsbD09PXR8fHRbczBdfHwodFtzMF09ITAsc1ooInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBzMihlLHQsbixyKXtzd2l0Y2goZkwodCkpe2Nhc2UgMjp2YXIgbD1mUDticmVhaztjYXNlIDg6bD1mTjticmVhaztkZWZhdWx0Omw9ZkN9bj1sLmJpbmQobnVsbCx0LG4sZSksbD12b2lkIDAsdGomJigidG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10KSYmKGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSl9ZnVuY3Rpb24gczMoZSx0LG4scixsKXt2YXIgYT1yO2lmKDA9PSgxJnQpJiYwPT0oMiZ0KSYmbnVsbCE9PXIpZTpmb3IoOzspe2lmKG51bGw9PT1yKXJldHVybjt2YXIgbz1yLnRhZztpZigzPT09b3x8ND09PW8pe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWwpYnJlYWs7aWYoND09PW8pZm9yKG89ci5yZXR1cm47bnVsbCE9PW87KXt2YXIgdT1vLnRhZztpZigoMz09PXV8fDQ9PT11KSYmby5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWwpcmV0dXJuO289by5yZXR1cm59Zm9yKDtudWxsIT09aTspe2lmKG51bGw9PT0obz1lMShpKSkpcmV0dXJuO2lmKDU9PT0odT1vLnRhZyl8fDY9PT11fHwyNj09PXV8fDI3PT09dSl7cj1hPW87Y29udGludWUgZX1pPWkucGFyZW50Tm9kZX19cj1yLnJldHVybn10RChmdW5jdGlvbigpe3ZhciByPWEsbD10eihuKSxvPVtdO2U6e3ZhciBpPW45LmdldChlKTtpZih2b2lkIDAhPT1pKXt2YXIgdT10MSxzPWU7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT10UShuKSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6dT1ubzticmVhaztjYXNlImZvY3VzaW4iOnM9ImZvY3VzIix1PXQ2O2JyZWFrO2Nhc2UiZm9jdXNvdXQiOnM9ImJsdXIiLHU9dDY7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6dT10NjticmVhaztjYXNlImNsaWNrIjppZigyPT09bi5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOnU9dDg7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6dT10NTticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0Ijp1PW51O2JyZWFrO2Nhc2UgbjE6Y2FzZSBuMjpjYXNlIG4zOnU9dDk7YnJlYWs7Y2FzZSBuNjp1PW5zO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6dT10MzticmVhaztjYXNlIndoZWVsIjp1PW5jO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnU9dDc7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6dT1uaTticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOnU9bmZ9dmFyIGY9MCE9KDQmdCksZD0hZiYmKCJzY3JvbGwiPT09ZXx8InNjcm9sbGVuZCI9PT1lKSxwPWY/bnVsbCE9PWk/aSsiQ2FwdHVyZSI6bnVsbDppO2Y9W107Zm9yKHZhciBtLGg9cjtudWxsIT09aDspe3ZhciBnPWg7aWYobT1nLnN0YXRlTm9kZSw1IT09KGc9Zy50YWcpJiYyNiE9PWcmJjI3IT09Z3x8bnVsbD09PW18fG51bGw9PT1wfHxudWxsIT0oZz10RihoLHApKSYmZi5wdXNoKHM0KGgsZyxtKSksZClicmVhaztoPWgucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyB1KGkscyxudWxsLG4sbCksby5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZ0KSl7dT0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsISh1JiZuIT09dE8mJihzPW4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCkmJihlMShzKXx8c1tlS10pKSYmKGl8fHUpJiYocz1sLndpbmRvdz09PWw/bDoodT1sLm93bmVyRG9jdW1lbnQpP3UuZGVmYXVsdFZpZXd8fHUucGFyZW50V2luZG93OndpbmRvdyxpPyh1PW4ucmVsYXRlZFRhcmdldHx8bi50b0VsZW1lbnQsaT1yLG51bGwhPT0odT11P2UxKHUpOm51bGwpJiYoZD1jKHUpLGY9dS50YWcsdSE9PWR8fDUhPT1mJiYyNyE9PWYmJjYhPT1mKSYmKHU9bnVsbCkpOihpPW51bGwsdT1yKSxpIT09dSYmKGY9dDgsZz0ib25Nb3VzZUxlYXZlIixwPSJvbk1vdXNlRW50ZXIiLGg9Im1vdXNlIiwoInBvaW50ZXJvdXQiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUpJiYoZj1uaSxnPSJvblBvaW50ZXJMZWF2ZSIscD0ib25Qb2ludGVyRW50ZXIiLGg9InBvaW50ZXIiKSxkPW51bGw9PWk/czplMyhpKSxtPW51bGw9PXU/czplMyh1KSwocz1uZXcgZihnLGgrImxlYXZlIixpLG4sbCkpLnRhcmdldD1kLHMucmVsYXRlZFRhcmdldD1tLGc9bnVsbCxlMShsKT09PXImJigoZj1uZXcgZihwLGgrImVudGVyIix1LG4sbCkpLnRhcmdldD1tLGYucmVsYXRlZFRhcmdldD1kLGc9ZiksZD1nLGY9aSYmdT9FKGksdSxzNSk6bnVsbCxudWxsIT09aSYmczYobyxzLGksZiwhMSksbnVsbCE9PXUmJm51bGwhPT1kJiZzNihvLGQsdSxmLCEwKSkpO2U6e2lmKCJzZWxlY3QiPT09KHU9KGk9cj9lMyhyKTp3aW5kb3cpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09dSYmImZpbGUiPT09aS50eXBlKXZhciB2LHk9bkM7ZWxzZSBpZihuUyhpKSlpZihuVCl5PW5GO2Vsc2V7eT1uSTt2YXIgYj1uTX1lbHNlKHU9aS5ub2RlTmFtZSkmJiJpbnB1dCI9PT11LnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09aS50eXBlfHwicmFkaW8iPT09aS50eXBlKT95PW5EOnImJnRfKHIuZWxlbWVudFR5cGUpJiYoeT1uQyk7aWYoeSYmKHk9eShlLHIpKSl7bkUobyx5LG4sbCk7YnJlYWsgZX1iJiZiKGUsaSxyKSwiZm9jdXNvdXQiPT09ZSYmciYmIm51bWJlciI9PT1pLnR5cGUmJm51bGwhPXIubWVtb2l6ZWRQcm9wcy52YWx1ZSYmdHYoaSwibnVtYmVyIixpLnZhbHVlKX1zd2l0Y2goYj1yP2UzKHIpOndpbmRvdyxlKXtjYXNlImZvY3VzaW4iOihuUyhiKXx8InRydWUiPT09Yi5jb250ZW50RWRpdGFibGUpJiYoblE9YixuVz1yLG5xPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOm5xPW5XPW5RPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOm5LPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpuSz0hMSxuWChvLG4sbCk7YnJlYWs7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKG4kKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6blgobyxuLGwpfWlmKG5wKXQ6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciB3PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIHQ7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjp3PSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayB0fXc9dm9pZCAwfWVsc2Ugbnc/bnkoZSxuKSYmKHc9Im9uQ29tcG9zaXRpb25FbmQiKToia2V5ZG93biI9PT1lJiYyMjk9PT1uLmtleUNvZGUmJih3PSJvbkNvbXBvc2l0aW9uU3RhcnQiKTt3JiYobmcmJiJrbyIhPT1uLmxvY2FsZSYmKG53fHwib25Db21wb3NpdGlvblN0YXJ0IiE9PXc/Im9uQ29tcG9zaXRpb25FbmQiPT09dyYmbncmJih2PXQkKCkpOih0Vj0idmFsdWUiaW4odEI9bCk/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsbnc9ITApKSwwPChiPXM4KHIsdykpLmxlbmd0aCYmKHc9bmV3IG5lKHcsZSxudWxsLG4sbCksby5wdXNoKHtldmVudDp3LGxpc3RlbmVyczpifSksdj93LmRhdGE9djpudWxsIT09KHY9bmIobikpJiYody5kYXRhPXYpKSksKHY9bmg/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG5iKHQpO2Nhc2Uia2V5cHJlc3MiOmlmKDMyIT09dC53aGljaClyZXR1cm4gbnVsbDtyZXR1cm4gbnY9ITAsIiAiO2Nhc2UidGV4dElucHV0IjpyZXR1cm4iICI9PT0oZT10LmRhdGEpJiZudj9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbik6ZnVuY3Rpb24oZSx0KXtpZihudylyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IW5wJiZueShlLHQpPyhlPXQkKCksdEg9dFY9dEI9bnVsbCxudz0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBuZyYmImtvIiE9PXQubG9jYWxlP251bGw6dC5kYXRhfX0oZSxuKSkmJjA8KHc9czgociwib25CZWZvcmVJbnB1dCIpKS5sZW5ndGgmJihiPW5ldyBuZSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sbCksby5wdXNoKHtldmVudDpiLGxpc3RlbmVyczp3fSksYi5kYXRhPXYpO3ZhciBrPWU7aWYoInN1Ym1pdCI9PT1rJiZyJiZyLnN0YXRlTm9kZT09PWwpe3ZhciBTPXNRKChsW2VxXXx8bnVsbCkuYWN0aW9uKSx4PW4uc3VibWl0dGVyO3gmJm51bGwhPT0oaz0oaz14W2VxXXx8bnVsbCk/c1Eoay5mb3JtQWN0aW9uKTp4LmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpKSYmKFM9ayx4PW51bGwpO3ZhciBfPW5ldyB0MSgiYWN0aW9uIiwiYWN0aW9uIixudWxsLG4sbCk7by5wdXNoKHtldmVudDpfLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihuLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKDAhPT1zRCl7dmFyIGU9eD9zVyhsLHgpOm5ldyBGb3JtRGF0YShsKTtvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOlN9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgUyYmKF8ucHJldmVudERlZmF1bHQoKSxvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZT14P3NXKGwseCk6bmV3IEZvcm1EYXRhKGwpLG1ldGhvZDpsLm1ldGhvZCxhY3Rpb246U30sUyxlKSl9LGN1cnJlbnRUYXJnZXQ6bH1dfSl9fXNZKG8sdCl9KX1mdW5jdGlvbiBzNChlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHM4KGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLHI9W107bnVsbCE9PWU7KXt2YXIgbD1lLGE9bC5zdGF0ZU5vZGU7aWYoNSE9PShsPWwudGFnKSYmMjYhPT1sJiYyNyE9PWx8fG51bGw9PT1hfHwobnVsbCE9KGw9dEYoZSxuKSkmJnIudW5zaGlmdChzNChlLGwsYSkpLG51bGwhPShsPXRGKGUsdCkpJiZyLnB1c2goczQoZSxsLGEpKSksMz09PWUudGFnKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gczUoZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcpcmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gczYoZSx0LG4scixsKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLG89W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGk9bix1PWkuYWx0ZXJuYXRlLHM9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxudWxsIT09dSYmdT09PXIpYnJlYWs7NSE9PWkmJjI2IT09aSYmMjchPT1pfHxudWxsPT09c3x8KHU9cyxsP251bGwhPShzPXRGKG4sYSkpJiZvLnVuc2hpZnQoczQobixzLHUpKTpsfHxudWxsIT0ocz10RihuLGEpKSYmby5wdXNoKHM0KG4scyx1KSkpLG49bi5yZXR1cm59MCE9PW8ubGVuZ3RoJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgczk9L1xyXG4/L2csczc9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiBjZShlKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2U6IiIrZSkucmVwbGFjZShzOSwiXG4iKS5yZXBsYWNlKHM3LCIiKX1mdW5jdGlvbiBjdChlLHQpe3JldHVybiB0PWNlKHQpLGNlKGUpPT09dH1mdW5jdGlvbiBjbihlLHQsbixyLGwsYSl7c3dpdGNoKG4pe2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2YgcikiYm9keSI9PT10fHwidGV4dGFyZWEiPT09dCYmIiI9PT1yfHx0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuOyJib2R5IiE9PXQmJnRrKGUsIiIrcil9YnJlYWs7Y2FzZSJjbGFzc05hbWUiOnRvKGUsImNsYXNzIixyKTticmVhaztjYXNlInRhYkluZGV4Ijp0byhlLCJ0YWJpbmRleCIscik7YnJlYWs7Y2FzZSJkaXIiOmNhc2Uicm9sZSI6Y2FzZSJ2aWV3Qm94IjpjYXNlIndpZHRoIjpjYXNlImhlaWdodCI6dG8oZSxuLHIpO2JyZWFrO2Nhc2Uic3R5bGUiOnR4KGUscixhKTtyZXR1cm47Y2FzZSJkYXRhIjppZigib2JqZWN0IiE9PXQpe3RvKGUsImRhdGEiLHIpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKCIiPT09ciYmKCJhIiE9PXR8fCJocmVmIiE9PW4pfHxudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKCIiK3IpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoImZvcm1BY3Rpb24iPT09bj8oImlucHV0IiE9PXQmJmNuKGUsdCwibmFtZSIsbC5uYW1lLGwsbnVsbCksY24oZSx0LCJmb3JtRW5jVHlwZSIsbC5mb3JtRW5jVHlwZSxsLG51bGwpLGNuKGUsdCwiZm9ybU1ldGhvZCIsbC5mb3JtTWV0aG9kLGwsbnVsbCksY24oZSx0LCJmb3JtVGFyZ2V0IixsLmZvcm1UYXJnZXQsbCxudWxsKSk6KGNuKGUsdCwiZW5jVHlwZSIsbC5lbmNUeXBlLGwsbnVsbCksY24oZSx0LCJtZXRob2QiLGwubWV0aG9kLGwsbnVsbCksY24oZSx0LCJ0YXJnZXQiLGwudGFyZ2V0LGwsbnVsbCkpKSxudWxsPT1yfHwic3ltYm9sIj09dHlwZW9mIHJ8fCJib29sZWFuIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9dEMoIiIrciksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlIm9uU2Nyb2xsIjpudWxsIT1yJiZzSigic2Nyb2xsIixlKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6bnVsbCE9ciYmc0ooInNjcm9sbGVuZCIsZSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UibXVsdGlwbGUiOmUubXVsdGlwbGU9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgcjticmVhaztjYXNlIm11dGVkIjplLm11dGVkPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKG51bGw9PXJ8fCJmdW5jdGlvbiI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByfHwic3ltYm9sIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9bj10QygiIityKSxlLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsbik7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiK3IpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpyJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByP2Uuc2V0QXR0cmlidXRlKG4sIiIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOiExIT09ciYmbnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgciYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UicG9wb3ZlciI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksdGEoZSwicG9wb3ZlciIscik7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixyKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIscik7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixyKTticmVhaztjYXNlInhsaW5rVGl0bGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIscik7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixyKTticmVhaztjYXNlInhtbEJhc2UiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixyKTticmVhaztjYXNlInhtbExhbmciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixyKTticmVhaztjYXNlInhtbFNwYWNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLHIpO2JyZWFrO2Nhc2UiaXMiOnRhKGUsImlzIixyKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6cmV0dXJuO2RlZmF1bHQ6aWYoMjxuLmxlbmd0aCYmKCJvIj09PW5bMF18fCJPIj09PW5bMF0pJiYoIm4iPT09blsxXXx8Ik4iPT09blsxXSkpcmV0dXJuO3RhKGUsbj10UC5nZXQobil8fG4scil9dHI9ITB9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlInN0eWxlIjp0eChlLHIsYSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2Ygcil0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuO3RrKGUsIiIrcil9YnJlYWs7Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc0ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNKKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKCFlNi5oYXNPd25Qcm9wZXJ0eShuKSllOntpZigibyI9PT1uWzBdJiYibiI9PT1uWzFdJiYobD1uLmVuZHNXaXRoKCJDYXB0dXJlIiksdD1uLnNsaWNlKDIsbD9uLmxlbmd0aC03OnZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mKGE9bnVsbCE9KGE9ZVtlcV18fG51bGwpP2Fbbl06bnVsbCkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEsbCksImZ1bmN0aW9uIj09dHlwZW9mIHIpKXsiZnVuY3Rpb24iIT10eXBlb2YgYSYmbnVsbCE9PWEmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQscixsKTticmVhayBlfXRyPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOnRhKGUsbixyKX1yZXR1cm59dHI9ITB9ZnVuY3Rpb24gY2woZSx0LG4pe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6c0ooImVycm9yIixlKSxzSigibG9hZCIsZSk7dmFyIHIsbD0hMSxhPSExO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIG89bltyXTtpZihudWxsIT1vKXN3aXRjaChyKXtjYXNlInNyYyI6bD0hMDticmVhaztjYXNlInNyY1NldCI6YT0hMDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjbihlLHQscixvLG4sbnVsbCl9fWEmJmNuKGUsdCwic3JjU2V0IixuLnNyY1NldCxuLG51bGwpLGwmJmNuKGUsdCwic3JjIixuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlImlucHV0IjpzSigiaW52YWxpZCIsZSk7dmFyIGk9cj1vPWE9bnVsbCxzPW51bGwsYz1udWxsO2ZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSl7dmFyIGY9bltsXTtpZihudWxsIT1mKXN3aXRjaChsKXtjYXNlIm5hbWUiOmE9ZjticmVhaztjYXNlInR5cGUiOm89ZjticmVhaztjYXNlImNoZWNrZWQiOnM9ZjticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpjPWY7YnJlYWs7Y2FzZSJ2YWx1ZSI6cj1mO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPWY7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9Zil0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDpjbihlLHQsbCxmLG4sbnVsbCl9fXRnKGUscixpLHMsYyxvLGEsITEpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gc0ooImludmFsaWQiLGUpLGw9bz1yPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT0oaT1uW2FdKSlzd2l0Y2goYSl7Y2FzZSJ2YWx1ZSI6cj1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPWk7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6bD1pO2RlZmF1bHQ6Y24oZSx0LGEsaSxuLG51bGwpfXQ9cixuPW8sZS5tdWx0aXBsZT0hIWwsbnVsbCE9dD90eShlLCEhbCx0LCExKTpudWxsIT1uJiZ0eShlLCEhbCxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKG8gaW4gc0ooImludmFsaWQiLGUpLHI9YT1sPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KG8pJiZudWxsIT0oaT1uW29dKSlzd2l0Y2gobyl7Y2FzZSJ2YWx1ZSI6bD1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphPWk7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6cj1pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWkpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6Y24oZSx0LG8saSxuLG51bGwpfXR3KGUsbCxhLHIpO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHMgaW4gbiluLmhhc093blByb3BlcnR5KHMpJiZudWxsIT0obD1uW3NdKSYmKCJzZWxlY3RlZCI9PT1zP2Uuc2VsZWN0ZWQ9bCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwmJiJzeW1ib2wiIT10eXBlb2YgbDpjbihlLHQscyxsLG4sbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksc0ooImNhbmNlbCIsZSksc0ooImNsb3NlIixlKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnNKKCJsb2FkIixlKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8c1gubGVuZ3RoO2wrKylzSihzWFtsXSxlKTticmVhaztjYXNlImltYWdlIjpzSigiZXJyb3IiLGUpLHNKKCJsb2FkIixlKTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOnNKKCJlcnJvciIsZSksc0ooImxvYWQiLGUpO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihjIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShjKSYmbnVsbCE9KGw9bltjXSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmNuKGUsdCxjLGwsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiZ2b2lkIDAhPT0obD1uW2ZdKSYmY3IoZSx0LGYsbCxuLHZvaWQgMCk7cmV0dXJufX1mb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPShsPW5baV0pJiZjbihlLHQsaSxsLG4sbnVsbCl9ZnVuY3Rpb24gY2EoZSl7c3dpdGNoKGUpe2Nhc2UiY3NzIjpjYXNlInNjcmlwdCI6Y2FzZSJmb250IjpjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJpbnB1dCI6Y2FzZSJsaW5rIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgY289bnVsbCxjaT1udWxsO2Z1bmN0aW9uIGN1KGUpe3JldHVybiA5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBjcyhlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBjYyhlLHQpe2lmKDA9PT1lKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiAxPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8wOmV9ZnVuY3Rpb24gY2YoZSx0KXtyZXR1cm4idGV4dGFyZWEiPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwiYmlnaW50Ij09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBjZD1udWxsLGNwPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLGNtPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxjZz0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6dm9pZCAwIT09Y2g/ZnVuY3Rpb24oZSl7cmV0dXJuIGNoLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChjdil9OmNwO2Z1bmN0aW9uIGN2KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gY3koZSl7cmV0dXJuImhlYWQiPT09ZX1mdW5jdGlvbiBjYihlLHQpe3ZhciBuPXQscj0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiY4PT09bC5ub2RlVHlwZSlpZigiLyQiPT09KG49bC5kYXRhKXx8Ii8mIj09PW4pe2lmKDA9PT1yKXtlLnJlbW92ZUNoaWxkKGwpLGZHKHQpO3JldHVybn1yLS19ZWxzZSBpZigiJCI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCIkISI9PT1ufHwiJiI9PT1uKXIrKztlbHNlIGlmKCJodG1sIj09PW4pY0coZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZigiaGVhZCI9PT1uKXtjRyhuPWUub3duZXJEb2N1bWVudC5oZWFkKTtmb3IodmFyIGE9bi5maXJzdENoaWxkO2E7KXt2YXIgbz1hLm5leHRTaWJsaW5nLGk9YS5ub2RlTmFtZTthW2VaXXx8IlNDUklQVCI9PT1pfHwiU1RZTEUiPT09aXx8IkxJTksiPT09aSYmInN0eWxlc2hlZXQiPT09YS5yZWwudG9Mb3dlckNhc2UoKXx8bi5yZW1vdmVDaGlsZChhKSxhPW99fWVsc2UiYm9keSI9PT1uJiZjRyhlLm93bmVyRG9jdW1lbnQuYm9keSk7bj1sfXdoaWxlKG4pZkcodCl9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKDE9PT1uLm5vZGVUeXBlP3Q/KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHwiIiwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6Mz09PW4ubm9kZVR5cGUmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT0iIik6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fCIiKSxyJiY4PT09ci5ub2RlVHlwZSlpZigiLyQiPT09KG49ci5kYXRhKSlpZigwPT09ZSlicmVhaztlbHNlIGUtLTtlbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJCEiIT09bnx8ZSsrO249cn13aGlsZShuKX1mdW5jdGlvbiBjayhlLHQsbil7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsbnVsbCE9biYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz1uKSwiaW5saW5lIj09PShuPWdldENvbXB1dGVkU3R5bGUoZSkpLmRpc3BsYXkpe2lmKDE9PT0odD1lLmdldENsaWVudFJlY3RzKCkpLmxlbmd0aCl2YXIgcj0xO2Vsc2UgZm9yKHZhciBsPXI9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTswPGEud2lkdGgmJjA8YS5oZWlnaHQmJnIrK30xPT09ciYmKChlPWUuc3R5bGUpLmRpc3BsYXk9MT09PXQubGVuZ3RoPyJpbmxpbmUtYmxvY2siOiJibG9jayIsZS5tYXJnaW5Ub3A9Ii0iK24ucGFkZGluZ1RvcCxlLm1hcmdpbkJvdHRvbT0iLSIrbi5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gY1MoZSx0KXtlPWUuc3R5bGU7dmFyIG49bnVsbCE9KHQ9dC5zdHlsZSk/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtlLnZpZXdUcmFuc2l0aW9uTmFtZT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksbj1udWxsIT10P3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGUudmlld1RyYW5zaXRpb25DbGFzcz1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksImlubGluZS1ibG9jayI9PT1lLmRpc3BsYXkmJihudWxsPT10P2UuZGlzcGxheT1lLm1hcmdpbj0iIjoobj10LmRpc3BsYXksZS5kaXNwbGF5PW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bixudWxsIT0obj10Lm1hcmdpbik/ZS5tYXJnaW49bjoobj10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sZS5tYXJnaW5Ub3A9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjpuLHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGUubWFyZ2luQm90dG9tPW51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHQ/IiI6dCkpKX1mdW5jdGlvbiBjRShlLHQsbil7cmV0dXJuIG49bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmUsYWJzOiJhYnNvbHV0ZSI9PT10LnBvc2l0aW9ufHwiZml4ZWQiPT09dC5wb3NpdGlvbixjbGlwOiJub25lIiE9PXQuY2xpcFBhdGh8fCJ2aXNpYmxlIiE9PXQub3ZlcmZsb3d8fCJub25lIiE9PXQuZmlsdGVyfHwibm9uZSIhPT10Lm1hc2t8fCJub25lIiE9PXQubWFza3x8IjBweCIhPT10LmJvcmRlclJhZGl1cyx2aWV3OjA8PWUuYm90dG9tJiYwPD1lLnJpZ2h0JiZlLnRvcDw9bi5pbm5lckhlaWdodCYmZS5sZWZ0PD1uLmlubmVyV2lkdGh9fWZ1bmN0aW9uIGN4KGUpe3JldHVybiBjRShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY18oZSl7dmFyIHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gY0UodD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBjUChlKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpfWZ1bmN0aW9uIGNOKGUsdCl7dGhpcy5fc2NvcGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX3NlbGVjdG9yPSI6OnZpZXctdHJhbnNpdGlvbi0iK2UrIigiK3QrIikifWZ1bmN0aW9uIGNDKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IGNOKCJncm91cCIsZSksaW1hZ2VQYWlyOm5ldyBjTigiaW1hZ2UtcGFpciIsZSksb2xkOm5ldyBjTigib2xkIixlKSxuZXc6bmV3IGNOKCJuZXciLGUpfX1mdW5jdGlvbiBjVChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9ZnVuY3Rpb24gY08oZSx0LG4scil7cmV0dXJuIGcoZSkuYWRkRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY3ooZSx0LG4scil7cmV0dXJuIGcoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY0woZSl7cmV0dXJuIG51bGw9PWU/IjAiOiJib29sZWFuIj09dHlwZW9mIGU/ImM9IisoZT8iMSI6IjAiKToiYz0iKyhlLmNhcHR1cmU/IjEiOiIwIikrIiZvPSIrKGUub25jZT8iMSI6IjAiKSsiJnA9IisoZS5wYXNzaXZlPyIxIjoiMCIpfWZ1bmN0aW9uIGNSKGUsdCxuLHIpe2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYT1lW2xdO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZjTChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09Y0wocikpcmV0dXJuIGx9cmV0dXJuIC0xfWZ1bmN0aW9uIGNNKGUsdCl7dmFyIG49ZT1nKGUpLHI9dDtmdW5jdGlvbiBsKCl7YT0hMH12YXIgYT0hMTt0cnl7bi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbCksKG4uZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChuLHIpfWZpbmFsbHl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbCl9cmV0dXJuIGF9ZnVuY3Rpb24gY0koZSx0KXtyZXR1cm4gdC5wdXNoKGUpLCExfWZ1bmN0aW9uIGNEKGUpe3JldHVybihlPWcoZSkpPT09ZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gZT1nKGUpLHQub2JzZXJ2ZShlKSwhMX1mdW5jdGlvbiBjQShlLHQpe3JldHVybiBlPWcoZSksdC51bm9ic2VydmUoZSksITF9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSksITF9ZnVuY3Rpb24gY1UoZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KX1mdW5jdGlvbiBjQihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjQihuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNWKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjSChlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGMkKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNRKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNOLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTp4KHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY04ucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNOLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjVC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y1IocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjTyxlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNULnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGN6LGUsdCxuKSxlPWNSKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjVC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY1QucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjTSxlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjTSh0W25dLGUpO24tLSk7fSxjVC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9LGNULnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7bnVsbD09PXRoaXMuX29ic2VydmVycyYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRixlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUudW5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fb2JzZXJ2ZXJzO251bGwhPT10JiZ0LmhhcyhlKSYmKHQuZGVsZXRlKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjQSxlLHZvaWQgMCx2b2lkIDApKX0sY1QucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjaixlLHZvaWQgMCx2b2lkIDApLGV9LGNULnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiBudWxsPT09dD90aGlzOmcodCkuZ2V0Um9vdE5vZGUoZSl9LGNULnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDt2YXIgbj1bXTttKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0ksbix2b2lkIDAsdm9pZCAwKTt2YXIgcj1nKHQpO2lmKDA9PT1uLmxlbmd0aCl7bj10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBsPXIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIHQ9bCxyPT09ZT90PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKG0obi5zaWJsaW5nLCExLGIpLG49dix2PW51bGwsdD1udWxsPT09bj9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzowPT09KGU9ZyhuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSl8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpLHR8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWcoblswXSksbD1nKG5bbi5sZW5ndGgtMV0pO2Zvcih2YXIgYT1nKG5bMF0pLG89ITEsaT10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09aSYmKDQ9PT1pLnRhZyYmKG89ITApLDMhPT1pLnRhZyYmNSE9PWkudGFnKTspaT1pLnJldHVybjtpZihudWxsPT0oYT1vP2EucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIHU9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gaT1vJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfHx1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLHU9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fGl8fHU/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLFMpKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxTKSk/dD0hMToobSh0LCEwLGssYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY1QucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjSSx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KWcodFtyXSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfTt2YXIgY1c9bnVsbDtmdW5jdGlvbiBjcShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW58fCIvJiI9PT1uKXtpZigwPT09dClyZXR1cm4gY1EoZS5uZXh0U2libGluZyk7dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJiIhPT1ufHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNLKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1ufHwiJH4iPT09bnx8IiYiPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiIT09biYmIi8mIiE9PW58fHQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNYKGUsdCxuKXtzd2l0Y2godD1jdShuKSxlKXtjYXNlImh0bWwiOmlmKCEoZT10LmRvY3VtZW50RWxlbWVudCkpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKCEoZT10LmhlYWQpKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZighKGU9dC5ib2R5KSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gY0coZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO2UwKGUpfXZhciBjWT1uZXcgTWFwLGNKPW5ldyBTZXQ7ZnVuY3Rpb24gY1ooZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOjk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50fXZhciBjMD1xLmQ7cS5kPXtmOmZ1bmN0aW9uKCl7dmFyIGU9YzAuZigpLHQ9c3QoKTtyZXR1cm4gZXx8dH0scjpmdW5jdGlvbihlKXt2YXIgdD1lMihlKTtudWxsIT09dCYmNT09PXQudGFnJiYiZm9ybSI9PT10LnR5cGU/b2ModCk6YzAucihlKX0sRDpmdW5jdGlvbihlKXtjMC5EKGUpLGMyKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9LEM6ZnVuY3Rpb24oZSx0KXtjMC5DKGUsdCksYzIoInByZWNvbm5lY3QiLGUsdCl9LEw6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLkwoZSx0LG4pLGMxJiZlJiZ0KXt2YXIgcj0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJyt0bSh0KSsnIl0nOyJpbWFnZSI9PT10JiZuJiZuLmltYWdlU3JjU2V0PyhyKz0nW2ltYWdlc3Jjc2V0PSInK3RtKG4uaW1hZ2VTcmNTZXQpKyciXScsInN0cmluZyI9PXR5cGVvZiBuLmltYWdlU2l6ZXMmJihyKz0nW2ltYWdlc2l6ZXM9IicrdG0obi5pbWFnZVNpemVzKSsnIl0nKSk6cis9J1tocmVmPSInK3RtKGUpKyciXSc7dmFyIGw9cjtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bD1jNChlKTticmVhaztjYXNlInNjcmlwdCI6bD1jNihlKX1jWS5oYXMobCl8fChlPXgoe3JlbDoicHJlbG9hZCIsaHJlZjoiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSxjWS5zZXQobCxlKSxudWxsIT09YzEucXVlcnlTZWxlY3RvcihyKXx8InN0eWxlIj09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpfHwic2NyaXB0Ij09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzkobCkpfHwoY2wodD1jMS5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU4KHQpLGMxLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19LG06ZnVuY3Rpb24oZSx0KXtpZihjMC5tKGUsdCksYzEmJmUpe3ZhciBuPXQmJiJzdHJpbmciPT10eXBlb2YgdC5hcz90LmFzOiJzY3JpcHQiLHI9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrdG0obikrJyJdW2hyZWY9IicrdG0oZSkrJyJdJyxsPXI7c3dpdGNoKG4pe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpsPWM2KGUpfWlmKCFjWS5oYXMobCkmJihlPXgoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjplfSx0KSxjWS5zZXQobCxlKSxudWxsPT09YzEucXVlcnlTZWxlY3RvcihyKSkpe3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYoYzEucXVlcnlTZWxlY3RvcihjOShsKSkpcmV0dXJufWNsKG49YzEuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlOChuKSxjMS5oZWFkLmFwcGVuZENoaWxkKG4pfX19LFg6ZnVuY3Rpb24oZSx0KXtpZihjMC5YKGUsdCksYzEmJmUpe3ZhciBuPWU0KGMxKS5ob2lzdGFibGVTY3JpcHRzLHI9YzYoZSksbD1uLmdldChyKTtsfHwoKGw9YzEucXVlcnlTZWxlY3RvcihjOShyKSkpfHwoZT14KHtzcmM6ZSxhc3luYzohMH0sdCksKHQ9Y1kuZ2V0KHIpKSYmZm4oZSx0KSxlOChsPWMxLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKSxjbChsLCJsaW5rIixlKSxjMS5oZWFkLmFwcGVuZENoaWxkKGwpKSxsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOmwsY291bnQ6MSxzdGF0ZTpudWxsfSxuLnNldChyLGwpKX19LFM6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLlMoZSx0LG4pLGMxJiZlKXt2YXIgcj1lNChjMSkuaG9pc3RhYmxlU3R5bGVzLGw9YzQoZSk7dD10fHwiZGVmYXVsdCI7dmFyIGE9ci5nZXQobCk7aWYoIWEpe3ZhciBvPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihhPWMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpKW8ubG9hZGluZz01O2Vsc2V7ZT14KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6ZSwiZGF0YS1wcmVjZWRlbmNlIjp0fSxuKSwobj1jWS5nZXQobCkpJiZmdChlLG4pO3ZhciBpPWE9YzEuY3JlYXRlRWxlbWVudCgibGluayIpO2U4KGkpLGNsKGksImxpbmsiLGUpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtpLm9ubG9hZD1lLGkub25lcnJvcj10fSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe28ubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7by5sb2FkaW5nfD0yfSksby5sb2FkaW5nfD00LGZlKGEsdCxjMSl9YT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm99LHIuc2V0KGwsYSl9fX0sTTpmdW5jdGlvbihlLHQpe2lmKGMwLk0oZSx0KSxjMSYmZSl7dmFyIG49ZTQoYzEpLmhvaXN0YWJsZVNjcmlwdHMscj1jNihlKSxsPW4uZ2V0KHIpO2x8fCgobD1jMS5xdWVyeVNlbGVjdG9yKGM5KHIpKSl8fChlPXgoe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PWNZLmdldChyKSkmJmZuKGUsdCksZTgobD1jMS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsZSksYzEuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fX07dmFyIGMxPSJ1Ijx0eXBlb2YgZG9jdW1lbnQ/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBjMihlLHQsbil7aWYoYzEmJiJzdHJpbmciPT10eXBlb2YgdCYmdCl7dmFyIHI9dG0odCk7cj0nbGlua1tyZWw9IicrZSsnIl1baHJlZj0iJytyKyciXScsInN0cmluZyI9PXR5cGVvZiBuJiYocis9J1tjcm9zc29yaWdpbj0iJytuKyciXScpLGNKLmhhcyhyKXx8KGNKLmFkZChyKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sbnVsbD09PWMxLnF1ZXJ5U2VsZWN0b3IocikmJihjbCh0PWMxLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTgodCksYzEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBjMyhlLHQsbixyKXt2YXIgbD0obD1lbi5jdXJyZW50KT9jWihsKTpudWxsO2lmKCFsKXRocm93IEVycm9yKHUoNDQ2KSk7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuIG51bGw7Y2FzZSJzdHlsZSI6cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2UmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmPyh0PWM0KG4uaHJlZiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU3R5bGVzKS5nZXQodCkpfHwocj17dHlwZToic3R5bGUiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2Nhc2UibGluayI6aWYoInN0eWxlc2hlZXQiPT09bi5yZWwmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmJiYic3RyaW5nIj09dHlwZW9mIG4ucHJlY2VkZW5jZSl7ZT1jNChuLmhyZWYpO3ZhciBhLG8saSxzLGM9ZTQobCkuaG9pc3RhYmxlU3R5bGVzLGY9Yy5nZXQoZSk7aWYoZnx8KGw9bC5vd25lckRvY3VtZW50fHxsLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGMuc2V0KGUsZiksKGM9bC5xdWVyeVNlbGVjdG9yKGM4KGUpKSkmJiFjLl9wJiYoZi5pbnN0YW5jZT1jLGYuc3RhdGUubG9hZGluZz01KSxjWS5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LGNZLnNldChlLG4pLGN8fChhPWwsbz1lLGk9bixzPWYuc3RhdGUsYS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrbysiXSIpP3MubG9hZGluZz0xOihzLnByZWxvYWQ9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9MX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9Mn0pLGNsKG8sImxpbmsiLGkpLGU4KG8pLGEuaGVhZC5hcHBlbmRDaGlsZChvKSkpKSksdCYmbnVsbD09PXIpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gZn1pZih0JiZudWxsIT09cil0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLCJzdHJpbmciPT10eXBlb2Yobj1uLnNyYykmJnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYic3ltYm9sIiE9dHlwZW9mIHQ/KHQ9YzYobiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU2NyaXB0cykuZ2V0KHQpKXx8KHI9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQscikpLHIpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDQ0NCxlKSl9fWZ1bmN0aW9uIGM0KGUpe3JldHVybidocmVmPSInK3RtKGUpKyciJ31mdW5jdGlvbiBjOChlKXtyZXR1cm4nbGlua1tyZWw9InN0eWxlc2hlZXQiXVsnK2UrIl0ifWZ1bmN0aW9uIGM1KGUpe3JldHVybiB4KHt9LGUseyJkYXRhLXByZWNlZGVuY2UiOmUucHJlY2VkZW5jZSxwcmVjZWRlbmNlOm51bGx9KX1mdW5jdGlvbiBjNihlKXtyZXR1cm4nW3NyYz0iJyt0bShlKSsnIl0nfWZ1bmN0aW9uIGM5KGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIGM3KGUsdCxuKXtpZih0LmNvdW50KyssbnVsbD09PXQuaW5zdGFuY2Upc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3RtKG4uaHJlZikrJyJdJyk7aWYocilyZXR1cm4gdC5pbnN0YW5jZT1yLGU4KHIpLHI7dmFyIGw9eCh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gZTgocj0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKSxjbChyLCJzdHlsZSIsbCksZmUocixuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1yO2Nhc2Uic3R5bGVzaGVldCI6bD1jNChuLmhyZWYpO3ZhciBhPWUucXVlcnlTZWxlY3RvcihjOChsKSk7aWYoYSlyZXR1cm4gdC5zdGF0ZS5sb2FkaW5nfD00LHQuaW5zdGFuY2U9YSxlOChhKSxhO3I9YzUobiksKGw9Y1kuZ2V0KGwpKSYmZnQocixsKSxlOChhPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSx0LnN0YXRlLmxvYWRpbmd8PTQsZmUoYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Uic2NyaXB0IjppZihhPWM2KG4uc3JjKSxsPWUucXVlcnlTZWxlY3RvcihjOShhKSkpcmV0dXJuIHQuaW5zdGFuY2U9bCxlOChsKSxsO3JldHVybiByPW4sKGw9Y1kuZ2V0KGEpKSYmZm4ocj14KHt9LG4pLGwpLGU4KGw9KGU9ZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsciksZS5oZWFkLmFwcGVuZENoaWxkKGwpLHQuaW5zdGFuY2U9bDtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9cmV0dXJuInN0eWxlc2hlZXQiPT09dC50eXBlJiYwPT0oNCZ0LnN0YXRlLmxvYWRpbmcpJiYocj10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxmZShyLG4ucHJlY2VkZW5jZSxlKSksdC5pbnN0YW5jZX1mdW5jdGlvbiBmZShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxsPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWwsbz0wO288ci5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKGkuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPWk7ZWxzZSBpZihhIT09bClicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD05PT09bi5ub2RlVHlwZT9uLmhlYWQ6bikuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX1mdW5jdGlvbiBmdChlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUudGl0bGUmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIGZuKGUsdCl7bnVsbD09ZS5jcm9zc09yaWdpbiYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbnVsbD09ZS5yZWZlcnJlclBvbGljeSYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbnVsbD09ZS5pbnRlZ3JpdHkmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIGZyPW51bGw7ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKG51bGw9PT1mcil7dmFyIHI9bmV3IE1hcCxsPWZyPW5ldyBNYXA7bC5zZXQobixyKX1lbHNlKHI9KGw9ZnIpLmdldChuKSl8fChyPW5ldyBNYXAsbC5zZXQobixyKSk7aWYoci5oYXMoZSkpcmV0dXJuIHI7Zm9yKHIuc2V0KGUsbnVsbCksbj1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTtpZighKGFbZVpdfHxhW2VXXXx8ImxpbmsiPT09ZSYmInN0eWxlc2hlZXQiPT09YS5nZXRBdHRyaWJ1dGUoInJlbCIpKSYmImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiE9PWEubmFtZXNwYWNlVVJJKXt2YXIgbz1hLmdldEF0dHJpYnV0ZSh0KXx8IiI7bz1lK287dmFyIGk9ci5nZXQobyk7aT9pLnB1c2goYSk6ci5zZXQobyxbYV0pfX1yZXR1cm4gcn1mdW5jdGlvbiBmYShlLHQsbil7KGU9ZS5vd25lckRvY3VtZW50fHxlKS5oZWFkLmluc2VydEJlZm9yZShuLCJ0aXRsZSI9PT10P2UucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gZm8oZSx0KXtyZXR1cm4iaW1nIj09PWUmJm51bGwhPXQuc3JjJiYiIiE9PXQuc3JjJiZudWxsPT10Lm9uTG9hZCYmImxhenkiIT09dC5sb2FkaW5nfWZ1bmN0aW9uIGZpKGUpe3JldHVybiJzdHlsZXNoZWV0IiE9PWUudHlwZXx8MCE9KDMmZS5zdGF0ZS5sb2FkaW5nKX1mdW5jdGlvbiBmdShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKCJudW1iZXIiPT10eXBlb2YgZGV2aWNlUGl4ZWxSYXRpbz9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBmcyhlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlY29kZSYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9ZnUodCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1mcC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX12YXIgZmM9MDtmdW5jdGlvbiBmZihlKXtpZigwPT09ZS5jb3VudCYmKDA9PT1lLmltZ0NvdW50fHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylmaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gZmQoKXt0aGlzLmNvdW50LS0sZmYodGhpcyl9ZnVuY3Rpb24gZnAoKXt0aGlzLmltZ0NvdW50LS0sZmYodGhpcyl9dmFyIGZtPW51bGw7ZnVuY3Rpb24gZmgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsbnVsbCE9PWUudW5zdXNwZW5kJiYoZS5jb3VudCsrLGZtPW5ldyBNYXAsdC5mb3JFYWNoKGZnLGUpLGZtPW51bGwsZmQuY2FsbChlKSl9ZnVuY3Rpb24gZmcoZSx0KXtpZighKDQmdC5zdGF0ZS5sb2FkaW5nKSl7dmFyIG49Zm0uZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsZm0uc2V0KGUsbik7Zm9yKHZhciBsPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07KCJMSU5LIj09PW8ubm9kZU5hbWV8fCJub3QgYWxsIiE9PW8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1vPShsPXQuaW5zdGFuY2UpLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksKGE9bi5nZXQobyl8fHIpPT09ciYmbi5zZXQobnVsbCxsKSxuLnNldChvLGwpLHRoaXMuY291bnQrKyxyPWZkLmJpbmQodGhpcyksbC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixyKSxsLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhLm5leHRTaWJsaW5nKTooZT05PT09ZS5ub2RlVHlwZT9lLmhlYWQ6ZSkuaW5zZXJ0QmVmb3JlKGwsZS5maXJzdENoaWxkKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBmdj17JCR0eXBlb2Y6TCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpLLF9jdXJyZW50VmFsdWUyOkssX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIGZ5KGUsdCxuLHIsbCxhLG8saSx1KXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9ZUQoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPWVEKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1lRChudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uVW5jYXVnaHRFcnJvcj1sLHRoaXMub25DYXVnaHRFcnJvcj1hLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPW8sdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPXUsdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIGZiKGUsdCxuLHIsbCxhLG8saSx1LHMsYyxmKXtyZXR1cm4gZT1uZXcgZnkoZSx0LG4sbyx1LHMsYyxmLGkpLHQ9MSwhMD09PWEmJih0fD0yNCksYT1ydigzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9YSxhLnN0YXRlTm9kZT1lLHQ9bHUoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSxsQihhKSxlfWZ1bmN0aW9uIGZ3KGUsdCxuLHIsbCxhKXtsPWw/cmg6cmgsbnVsbD09PXIuY29udGV4dD9yLmNvbnRleHQ9bDpyLnBlbmRpbmdDb250ZXh0PWwsKHI9bEgodCkpLnBheWxvYWQ9e2VsZW1lbnQ6bn0sbnVsbCE9PShhPXZvaWQgMD09PWE/bnVsbDphKSYmKHIuY2FsbGJhY2s9YSksbnVsbCE9PShuPWwkKGUscix0KSkmJih1NihuLGUsdCksbFEobixlLHQpKX1mdW5jdGlvbiBmayhlLHQpe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dH19ZnVuY3Rpb24gZlMoZSx0KXtmayhlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmsoZSx0KX1mdW5jdGlvbiBmRShlKXtpZigxMz09PWUudGFnfHwzMT09PWUudGFnKXt2YXIgdD1yZChlLDB4NDAwMDAwMCk7bnVsbCE9PXQmJnU2KHQsZSwweDQwMDAwMDApLGZTKGUsMHg0MDAwMDAwKX19ZnVuY3Rpb24gZngoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9dTQoKSxuPXJkKGUsdD1lQih0KSk7bnVsbCE9PW4mJnU2KG4sZSx0KSxmUyhlLHQpfX12YXIgZl89ITA7ZnVuY3Rpb24gZlAoZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTIsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZk4oZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTgsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZkMoZSx0LG4scil7aWYoZl8pe3ZhciBsPWZUKHIpO2lmKG51bGw9PT1sKXMzKGUsdCxyLGZPLG4pLGZCKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLHQsbixyLGwpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBmTT1mVihmTSxlLHQsbixyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gZkk9ZlYoZkksZSx0LG4scixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIGZEPWZWKGZELGUsdCxuLHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIGZGLnNldChhLGZWKGZGLmdldChhKXx8bnVsbCxlLHQsbixyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxmQS5zZXQoYSxmVihmQS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITB9cmV0dXJuITF9KGwsZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGZCKGUsciksNCZ0JiYtMTxmVS5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ZTIobCk7aWYobnVsbCE9PWEpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoKGE9YS5zdGF0ZU5vZGUpLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWVMKGEucGVuZGluZ0xhbmVzKTtpZigwIT09byl7dmFyIGk9YTtmb3IoaS5wZW5kaW5nTGFuZXN8PTIsaS5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIHU9MTw8MzEtZVAobyk7aS5lbnRhbmdsZW1lbnRzWzFdfD11LG8mPX51fXNGKGEpLDA9PSg2JnVTKSYmKHVIPWV2KCkrNTAwLHNBKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOm51bGwhPT0oaT1yZChhLDIpKSYmdTYoaSxhLDIpLHN0KCksZlMoYSwyKX1pZihudWxsPT09KGE9ZlQocikpJiZzMyhlLHQscixmTyxuKSxhPT09bClicmVhaztsPWF9bnVsbCE9PWwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBzMyhlLHQscixudWxsLG4pfX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZnooZT10eihlKSl9dmFyIGZPPW51bGw7ZnVuY3Rpb24gZnooZSl7aWYoZk89bnVsbCxudWxsIT09KGU9ZTEoZSkpKXt2YXIgdD1jKGUpO2lmKG51bGw9PT10KWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKDEzPT09bil7aWYobnVsbCE9PShlPWYodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDMxPT09bil7aWYobnVsbCE9PShlPWQodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT1uKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIGZPPWUsbnVsbH1mdW5jdGlvbiBmTChlKXtzd2l0Y2goZSl7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNoc3RhcnQiOmNhc2Uidm9sdW1lY2hhbmdlIjpjYXNlImNoYW5nZSI6Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmNhc2UidGV4dElucHV0IjpjYXNlImNvbXBvc2l0aW9uc3RhcnQiOmNhc2UiY29tcG9zaXRpb25lbmQiOmNhc2UiY29tcG9zaXRpb251cGRhdGUiOmNhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmNhc2UiYmVmb3JlaW5wdXQiOmNhc2UiYmx1ciI6Y2FzZSJmdWxsc2NyZWVuY2hhbmdlIjpjYXNlImZvY3VzIjpjYXNlImhhc2hjaGFuZ2UiOmNhc2UicG9wc3RhdGUiOmNhc2Uic2VsZWN0IjpjYXNlInNlbGVjdHN0YXJ0IjpyZXR1cm4gMjtjYXNlImRyYWciOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicmVzaXplIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKGV5KCkpe2Nhc2UgZWI6cmV0dXJuIDI7Y2FzZSBldzpyZXR1cm4gODtjYXNlIGVrOmNhc2UgZVM6cmV0dXJuIDMyO2Nhc2UgZUU6cmV0dXJuIDB4MTAwMDAwMDA7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBmUj0hMSxmTT1udWxsLGZJPW51bGwsZkQ9bnVsbCxmRj1uZXcgTWFwLGZBPW5ldyBNYXAsZmo9W10sZlU9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBmQihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZNPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpmST1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjpmRD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6ZkYuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6ZkEuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gZlYoZSx0LG4scixsLGEpe3JldHVybiBudWxsPT09ZXx8ZS5uYXRpdmVFdmVudCE9PWE/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2xdfSxudWxsIT09dCYmbnVsbCE9PSh0PWUyKHQpKSYmZkUodCkpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsbnVsbCE9PWwmJi0xPT09dC5pbmRleE9mKGwpJiZ0LnB1c2gobCkpLGV9ZnVuY3Rpb24gZkgoZSl7dmFyIHQ9ZTEoZS50YXJnZXQpO2lmKG51bGwhPT10KXt2YXIgbj1jKHQpO2lmKG51bGwhPT1uKXtpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PSh0PWYobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmeChuKX0pO3JldHVybn19ZWxzZSBpZigzMT09PXQpe2lmKG51bGwhPT0odD1kKG4pKSl7ZS5ibG9ja2VkT249dCxlJChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7Zngobil9KTtyZXR1cm59fWVsc2UgaWYoMz09PXQmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBmJChlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49ZlQoZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PW4pcmV0dXJuIG51bGwhPT0odD1lMihuKSkmJmZFKHQpLGUuYmxvY2tlZE9uPW4sITE7dmFyIHI9bmV3KG49ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3Iobi50eXBlLG4pO3RPPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx0Tz1udWxsLHQuc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBmUShlLHQsbil7ZiQoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIGZXKCl7ZlI9ITEsbnVsbCE9PWZNJiZmJChmTSkmJihmTT1udWxsKSxudWxsIT09ZkkmJmYkKGZJKSYmKGZJPW51bGwpLG51bGwhPT1mRCYmZiQoZkQpJiYoZkQ9bnVsbCksZkYuZm9yRWFjaChmUSksZkEuZm9yRWFjaChmUSl9ZnVuY3Rpb24gZnEoZSx0KXtlLmJsb2NrZWRPbj09PXQmJihlLmJsb2NrZWRPbj1udWxsLGZSfHwoZlI9ITAsYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZlcpKSl9dmFyIGZLPW51bGw7ZnVuY3Rpb24gZlgoZSl7ZkshPT1lJiYoZks9ZSxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe2ZLPT09ZSYmKGZLPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxsPWVbdCsyXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgcilpZihudWxsPT09Znoocnx8bikpY29udGludWU7ZWxzZSBicmVhazt2YXIgYT1lMihuKTtudWxsIT09YSYmKGUuc3BsaWNlKHQsMyksdC09MyxvdShhLHtwZW5kaW5nOiEwLGRhdGE6bCxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOnJ9LHIsbCkpfX0pKX1mdW5jdGlvbiBmRyhlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmcSh0LGUpfW51bGwhPT1mTSYmZnEoZk0sZSksbnVsbCE9PWZJJiZmcShmSSxlKSxudWxsIT09ZkQmJmZxKGZELGUpLGZGLmZvckVhY2godCksZkEuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGZqLmxlbmd0aDtuKyspe3ZhciByPWZqW25dO3IuYmxvY2tlZE9uPT09ZSYmKHIuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxmai5sZW5ndGgmJm51bGw9PT0obj1malswXSkuYmxvY2tlZE9uOylmSChuKSxudWxsPT09bi5ibG9ja2VkT24mJmZqLnNoaWZ0KCk7aWYobnVsbCE9KG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXkpKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgbD1uW3JdLGE9bltyKzFdLG89bFtlcV18fG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpb3x8Zlgobik7ZWxzZSBpZihvKXt2YXIgaT1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKGw9YSxvPWFbZXFdfHxudWxsKWk9by5mb3JtQWN0aW9uO2Vsc2UgaWYobnVsbCE9PWZ6KGwpKWNvbnRpbnVlfWVsc2UgaT1vLmFjdGlvbjsiZnVuY3Rpb24iPT10eXBlb2YgaT9uW3IrMV09aToobi5zcGxpY2UociwzKSxyLT0zKSxmWChuKX19fWZ1bmN0aW9uIGZZKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmInJlYWN0LXRyYW5zaXRpb24iPT09ZS5pbmZvJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gbD1lfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gdCgpe251bGwhPT1sJiYobCgpLGw9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJm51bGwhPWUudXJsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYoIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0aW9uKXt2YXIgcj0hMSxsPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIix0KSxudWxsIT09bCYmKGwoKSxsPW51bGwpfX19ZnVuY3Rpb24gZkooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZnVuY3Rpb24gZlooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZloucHJvdG90eXBlLnJlbmRlcj1mSi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcih1KDQwOSkpO2Z3KHQuY3VycmVudCx1NCgpLGUsdCxudWxsLG51bGwpfSxmWi5wcm90b3R5cGUudW5tb3VudD1mSi5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09ZSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2Z3KGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHN0KCksdFtlS109bnVsbH19LGZaLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lSCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248ZmoubGVuZ3RoJiYwIT09dCYmdDxmaltuXS5wcmlvcml0eTtuKyspO2ZqLnNwbGljZShuLDAsZSksMD09PW4mJmZIKGUpfX07dmFyIGYwPW8udmVyc2lvbjtpZigiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIhPT1mMCl0aHJvdyBFcnJvcih1KDUyNyxmMCwiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIpKTtpZihxLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIG51bGw9PT0oZT1udWxsIT09KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKG51bGw9PT0odD1jKGUpKSl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiB0IT09ZT9udWxsOmV9Zm9yKHZhciBuPWUscj10Ozspe3ZhciBsPW4ucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXtuPXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiBwKGwpLGU7aWYoYT09PXIpcmV0dXJuIHAobCksdDthPWEuc2libGluZ310aHJvdyBFcnJvcih1KDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9YTtlbHNle2Zvcih2YXIgbz0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXtvPSEwLG49bCxyPWE7YnJlYWt9aWYoaT09PXIpe289ITAscj1sLG49YTticmVha31pPWkuc2libGluZ31pZighbyl7Zm9yKGk9YS5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1hLHI9bDticmVha31pZihpPT09cil7bz0hMCxyPWEsbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXRocm93IEVycm9yKHUoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcih1KDE5MCkpfWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KHQpKT9mdW5jdGlvbiBlKHQpe3ZhciBuPXQudGFnO2lmKDU9PT1ufHwyNj09PW58fDI3PT09bnx8Nj09PW4pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe2lmKG51bGwhPT0obj1lKHQpKSlyZXR1cm4gbjt0PXQuc2libGluZ31yZXR1cm4gbnVsbH0oZSk6bnVsbCk/bnVsbDplLnN0YXRlTm9kZX0sInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciBmMT1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIWYxLmlzRGlzYWJsZWQmJmYxLnN1cHBvcnRzRmliZXIpdHJ5e2V4PWYxLmluamVjdCh7YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTciLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6VyxyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyJ9KSxlXz1mMX1jYXRjaChlKXt9fW4uY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFzKGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIG49ITEscj0iIixsPW96LGE9b0wsbz1vUjtyZXR1cm4gbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25VbmNhdWdodEVycm9yJiYobD10Lm9uVW5jYXVnaHRFcnJvciksdm9pZCAwIT09dC5vbkNhdWdodEVycm9yJiYoYT10Lm9uQ2F1Z2h0RXJyb3IpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9ZmIoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxsLGEsbyxmWSksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmSih0KX0sbi5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgcixsPSExLGE9IiIsbz1veixpPW9MLGM9b1IsZj1udWxsO3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihhPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblVuY2F1Z2h0RXJyb3ImJihvPW4ub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uQ2F1Z2h0RXJyb3ImJihpPW4ub25DYXVnaHRFcnJvciksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihjPW4ub25SZWNvdmVyYWJsZUVycm9yKSx2b2lkIDAhPT1uLmZvcm1TdGF0ZSYmKGY9bi5mb3JtU3RhdGUpKSwodD1mYihlLDEsITAsdCxudWxsIT1uP246bnVsbCxsLGEsZixvLGksYyxmWSkpLmNvbnRleHQ9KHI9bnVsbCxyaCksbj10LmN1cnJlbnQsKGE9bEgobD1lQihsPXU0KCkpKSkuY2FsbGJhY2s9bnVsbCxsJChuLGEsbCksbj1sLHQuY3VycmVudC5sYW5lcz1uLGVGKHQsbiksc0YodCksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmWih0KX0sbi52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LWY5M2I5ZmQ0LTIwMjUxMjE3In0sODI5NDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucig4MjQyNCl9LDgyOTM5LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoNDk4NDMpLGk9ZS5yKDg0MDgyKSx1PWUucigxNzc0OCkscz1lLnIoNzQ4NDcpLGM9YS5fKGUucigxNjE1MykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDY0NTQ3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3NTIwMSksbD1lLnIoMjkwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtvLGldPSgwLHIudXNlU3RhdGUpKCIiKSx1PSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09dS5jdXJyZW50JiZ1LmN1cnJlbnQhPT1lJiZpKGUpLHUuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKG8sdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw3OTIxMywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMjc0NTQpLGw9ZS5yKDU3Nzc4KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7Zm9yKGxldCBvIG9mKCJjaGlsZHJlbiJpbiBuJiZpLnVuc2hpZnQoImNoaWxkcmVuIiksaSkpe2xldFtpLHVdPW5bb107aWYoaT09PXIuREVGQVVMVF9TRUdNRU5UX0tFWSljb250aW51ZTtsZXQgcz10LnBhcmFsbGVsUm91dGVzLmdldChvKTtpZighcyljb250aW51ZTtsZXQgYz0oMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShpKSxmPSgwLGwuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGksITApLGQ9cy5nZXQoYyk7aWYoIWQpY29udGludWU7bGV0IHA9ZShkLHUsYSsiLyIrYyxhKyIvIitmKTtpZihwKXJldHVybiBwfXJldHVybiBudWxsfShlLHQsIiIsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDI2NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBpfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDk4MTM0KSxvPWUucig3NTIwMSk7Y2xhc3MgaSBleHRlbmRzIG8uQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuc3RhdGU9e2hhc0Vycm9yOiExfSx0aGlzLnJvb3RIdG1sPSIiLHRoaXMuaHRtbEF0dHJpYnV0ZXM9e30sdGhpcy5odG1sUmVmPSgwLG8uY3JlYXRlUmVmKSgpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRNb3VudCgpe2xldCBlPXRoaXMuaHRtbFJlZi5jdXJyZW50O3RoaXMuc3RhdGUuaGFzRXJyb3ImJmUmJk9iamVjdC5lbnRyaWVzKHRoaXMuaHRtbEF0dHJpYnV0ZXMpLmZvckVhY2goKFt0LG5dKT0+e2Uuc2V0QXR0cmlidXRlKHQsbil9KX1yZW5kZXIoKXtsZXR7aGFzRXJyb3I6ZX09dGhpcy5zdGF0ZTtyZXR1cm4oInUiPnR5cGVvZiB3aW5kb3cmJiF0aGlzLnJvb3RIdG1sJiYodGhpcy5yb290SHRtbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MLHRoaXMuaHRtbEF0dHJpYnV0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7bGV0IHI9ZS5hdHRyaWJ1dGVzW25dO3Rbci5uYW1lXT1yLnZhbHVlfXJldHVybiB0fShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxlKT8oMCxhLmpzeCkoImh0bWwiLHtyZWY6dGhpcy5odG1sUmVmLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnRoaXMucm9vdEh0bWx9fSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19bGV0IHU9aTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMzcwMiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IHI9ZS5yKDgxMjU4KSxsPWUucig5ODEzNCk7ZS5yKDc1MjAxKTtsZXQgYT1yLl8oZS5yKDI2NzA2KSksbz1lLnIoNzQ4NDcpLGk9ZS5yKDM0NjUpLHU9InUiPnR5cGVvZiB3aW5kb3cmJigwLGkuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBzKHtjaGlsZHJlbjplLGVycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cn0pe3JldHVybiB1PygwLGwuanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOmV9KTooMCxsLmpzeCkoby5FcnJvckJvdW5kYXJ5LHtlcnJvckNvbXBvbmVudDp0LGVycm9yU3R5bGVzOm4sZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYxMTU2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KTtsZXQgcj1lLnIoODEyNTgpLGw9ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1sLl8oZS5yKDc1MjAxKSksaT1lLnIoMTY4NzIpLHU9ZS5yKDU5NDMwKSxzPWUucig4NTU5NCksYz1lLnIoMzE4OTkpLGY9ZS5yKDk0ODc5KSxkPWUucig2NDU0NykscD1lLnIoNTcyNDcpLG09ZS5yKDc5MjEzKSxoPWUucig1MDA5NiksZz1lLnIoMjQwNDIpLHY9ZS5yKDM4OTMzKSx5PWUucigxODE2NyksYj1lLnIoODMzOTgpLHc9ZS5yKDg0Mzk1KSxrPWUucig0MTcyMSksUz1lLnIoOTA4NjIpLEU9ZS5yKDk4MjgzKSx4PXIuXyhlLnIoMzM3MDIpKSxfPXIuXyhlLnIoMTYxNTMpKSxQPWUucigzNjM0NSksTj1lLnIoODg3NzQpLEM9e307ZnVuY3Rpb24gVCh7YXBwUm91dGVyU3RhdGU6ZX0pe3JldHVybigwLG8udXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e2xldHt0cmVlOnQscHVzaFJlZjpuLGNhbm9uaWNhbFVybDpyLHJlbmRlcmVkU2VhcmNoOmx9PWUsYT17Li4ubi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT93aW5kb3cuaGlzdG9yeS5zdGF0ZTp7fSxfX05BOiEwLF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6e3RyZWU6dCxyZW5kZXJlZFNlYXJjaDpsfX07bi5wZW5kaW5nUHVzaCYmKDAscy5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09cj8obi5wZW5kaW5nUHVzaD0hMSx3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSwiIixyKSk6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsIiIscil9LFtlXSksKDAsby51c2VFZmZlY3QpKCgpPT57KDAsRS5waW5nVmlzaWJsZUxpbmtzKShlLm5leHRVcmwsZS50cmVlKX0sW2UubmV4dFVybCxlLnRyZWVdKSxudWxsfWZ1bmN0aW9uIE8oZSl7bnVsbD09ZSYmKGU9e30pO2xldCB0PXdpbmRvdy5oaXN0b3J5LnN0YXRlLG49dD8uX19OQTtuJiYoZS5fX05BPW4pO2xldCByPXQ/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7cmV0dXJuIHImJihlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU9ciksZX1mdW5jdGlvbiB6KHtoZWFkQ2FjaGVOb2RlOmV9KXtsZXQgdD1udWxsIT09ZT9lLmhlYWQ6bnVsbCxuPW51bGwhPT1lP2UucHJlZmV0Y2hIZWFkOm51bGwscj1udWxsIT09bj9uOnQ7cmV0dXJuKDAsby51c2VEZWZlcnJlZFZhbHVlKSh0LHIpfWZ1bmN0aW9uIEwoe2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7bGV0IGwscz0oMCxmLnVzZUFjdGlvblF1ZXVlKShlKSx7Y2Fub25pY2FsVXJsOmJ9PXMse3NlYXJjaFBhcmFtczpFLHBhdGhuYW1lOl99PSgwLG8udXNlTWVtbykoKCk9PntsZXQgZT1uZXcgVVJMKGIsInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJue3NlYXJjaFBhcmFtczplLnNlYXJjaFBhcmFtcyxwYXRobmFtZTooMCx2Lmhhc0Jhc2VQYXRoKShlLnBhdGhuYW1lKT8oMCxnLnJlbW92ZUJhc2VQYXRoKShlLnBhdGhuYW1lKTplLnBhdGhuYW1lfX0sW2JdKTsoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2UucGVyc2lzdGVkJiZ3aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSYmKEMucGVuZGluZ01wYVBhdGg9dm9pZCAwLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOnUuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGhpc3RvcnlTdGF0ZTp3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFfSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixlKX19LFtdKSwoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2xldCB0PSJyZWFzb24iaW4gZT9lLnJlYXNvbjplLmVycm9yO2lmKCgwLFMuaXNSZWRpcmVjdEVycm9yKSh0KSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPSgwLGsuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKHQpOygwLGsuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKSh0KT09PVMuUmVkaXJlY3RUeXBlLnB1c2g/dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKG4se30pOncucHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZShuLHt9KX19cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpfX0sW10pO2xldHtwdXNoUmVmOk59PXM7aWYoTi5tcGFOYXZpZ2F0aW9uKXtpZihDLnBlbmRpbmdNcGFQYXRoIT09Yil7bGV0IGU9d2luZG93LmxvY2F0aW9uO04ucGVuZGluZ1B1c2g/ZS5hc3NpZ24oYik6ZS5yZXBsYWNlKGIpLEMucGVuZGluZ01wYVBhdGg9Yn10aHJvdyBoLnVucmVzb2x2ZWRUaGVuYWJsZX0oMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgZT13aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksdD13aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksbj1lPT57bGV0IHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsbj13aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTp1LkFDVElPTl9SRVNUT1JFLHVybDpuZXcgVVJMKGU/P3QsdCksaGlzdG9yeVN0YXRlOm59KX0pfTt3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU9ZnVuY3Rpb24odCxyLGwpe3JldHVybiB0Py5fX05BfHx0Py5fTnx8KHQ9Tyh0KSxsJiZuKGwpKSxlKHQscixsKX0sd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGUscixsKXtyZXR1cm4gZT8uX19OQXx8ZT8uX058fChlPU8oZSksbCYmbihsKSksdChlLHIsbCl9O2xldCByPWU9PntpZihlLnN0YXRlKXtpZighZS5zdGF0ZS5fX05BKXJldHVybiB2b2lkIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx3LmRpc3BhdGNoVHJhdmVyc2VBY3Rpb24pKHdpbmRvdy5sb2NhdGlvbi5ocmVmLGUuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSl9KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHIpLCgpPT57d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWUsd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPXQsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKX19LFtdKTtsZXR7Y2FjaGU6TCx0cmVlOlIsbmV4dFVybDpNLGZvY3VzQW5kU2Nyb2xsUmVmOkkscHJldmlvdXNOZXh0VXJsOkZ9PXMsQT0oMCxvLnVzZU1lbW8pKCgpPT4oMCxtLmZpbmRIZWFkSW5DYWNoZSkoTCxSWzFdKSxbTCxSXSksaj0oMCxvLnVzZU1lbW8pKCgpPT4oMCx5LmdldFNlbGVjdGVkUGFyYW1zKShSKSxbUl0pLFU9KDAsby51c2VNZW1vKSgoKT0+KHtwYXJlbnRUcmVlOlIscGFyZW50Q2FjaGVOb2RlOkwscGFyZW50U2VnbWVudFBhdGg6bnVsbCxwYXJlbnRQYXJhbXM6e30sZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmIsaXNBY3RpdmU6ITB9KSxbUixMLGJdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpSLGZvY3VzQW5kU2Nyb2xsUmVmOkksbmV4dFVybDpNLHByZXZpb3VzTmV4dFVybDpGfSksW1IsSSxNLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKFAuUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpMLnJzY30pLCgwLGEuanN4KShkLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpSfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLCgwLGEuanN4KShELHt9KSwoMCxhLmpzeCkoYy5OYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpudWxsLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpqLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6XyxjaGlsZHJlbjooMCxhLmpzeCkoYy5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpFLGNoaWxkcmVuOigwLGEuanN4KShpLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOkIsY2hpbGRyZW46KDAsYS5qc3gpKGkuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxjaGlsZHJlbjooMCxhLmpzeCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpVLGNoaWxkcmVuOlZ9KX0pfSl9KX0pfSl9KV19KX1mdW5jdGlvbiBSKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yU3RhdGU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7KDAsYi51c2VOYXZGYWlsdXJlSGFuZGxlcikoKTtsZXQgbD0oMCxhLmpzeCkoTCx7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvcjp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KTtyZXR1cm4oMCxhLmpzeCkoeC5kZWZhdWx0LHtlcnJvckNvbXBvbmVudDpfLmRlZmF1bHQsY2hpbGRyZW46bH0pfWxldCBNPW5ldyBTZXQsST1uZXcgU2V0O2Z1bmN0aW9uIEQoKXtsZXRbLGVdPW8uZGVmYXVsdC51c2VTdGF0ZSgwKSx0PU0uc2l6ZTsoMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0oKT0+ZShlPT5lKzEpO3JldHVybiBJLmFkZChuKSx0IT09TS5zaXplJiZuKCksKCk9PntJLmRlbGV0ZShuKX19LFt0LGVdKTtsZXQgbj0oMCxOLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtyZXR1cm5bLi4uTV0ubWFwKChlLHQpPT4oMCxhLmpzeCkoImxpbmsiLHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6YCR7ZX0ke259YCxwcmVjZWRlbmNlOiJuZXh0In0sdCkpfWdsb2JhbFRoaXMuX05fRV9TVFlMRV9MT0FEPWZ1bmN0aW9uKGUpe2xldCB0PU0uc2l6ZTtyZXR1cm4gTS5hZGQoZSksTS5zaXplIT09dCYmSS5mb3JFYWNoKGU9PmUoKSksUHJvbWlzZS5yZXNvbHZlKCl9LCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDM4NzkyLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCByPWUucig4NTU5NCksbD1lLnIoMTgxNjcpLGE9ZS5yKDY3NjI4KSxvPWUucigxODkzOSk7ZnVuY3Rpb24gaSh7bmF2aWdhdGVkQXQ6ZSxpbml0aWFsRmxpZ2h0RGF0YTp0LGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czpuLGluaXRpYWxSZW5kZXJlZFNlYXJjaDppLGxvY2F0aW9uOnV9KXtsZXQgcz1uLmpvaW4oIi8iKSx7dHJlZTpjLHNlZWREYXRhOmYsaGVhZDpkfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKSh0WzBdKSxwPXU/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkodSk6cztyZXR1cm57dHJlZTpjLGNhY2hlOigwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxjLGYsZCkscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e2FwcGx5OiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsLHNlZ21lbnRQYXRoczpbXX0sY2Fub25pY2FsVXJsOnAscmVuZGVyZWRTZWFyY2g6aSxuZXh0VXJsOigoMCxsLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShjKXx8dT8ucGF0aG5hbWUpPz9udWxsLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MzM1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByLGwsYSxvO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiaHlkcmF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7bGV0IGk9ZS5yKDgxMjU4KSx1PWUucig5ODEzNCk7ZS5yKDc5MTIzKTtsZXQgcz1pLl8oZS5yKDgyOTQwKSksYz1pLl8oZS5yKDc1MjAxKSksZj1lLnIoNzUwNDUpLGQ9ZS5yKDQ0OTM0KSxwPWUucigzMjc5MyksbT1lLnIoODI5MzkpLGg9ZS5yKDMwOTMxKSxnPWUucig4OTU5NCksdj1lLnIoODQzOTUpLHk9aS5fKGUucig2MTE1NikpLGI9ZS5yKDM4NzkyKTtlLnIoMTY4NzIpO2xldCB3PWUucig2MTcwNiksaz1lLnIoNjc2MjgpLFM9Zi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sRT1mLmNyZWF0ZUZyb21GZXRjaCx4PWRvY3VtZW50LF89bmV3IFRleHRFbmNvZGVyLFA9ITEsTj0hMSxDPW51bGw7ZnVuY3Rpb24gVChlKXtpZigwPT09ZVswXSlhPVtdO2Vsc2UgaWYoMT09PWVbMF0pe2lmKCFhKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bz9vLmVucXVldWUoXy5lbmNvZGUoZVsxXSkpOmEucHVzaChlWzFdKX1lbHNlIGlmKDI9PT1lWzBdKUM9ZVsxXTtlbHNlIGlmKDM9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWF0b2IoZVsxXSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspclt0XT1uLmNoYXJDb2RlQXQodCk7bz9vLmVucXVldWUocik6YS5wdXNoKHIpfX1sZXQgTz1mdW5jdGlvbigpe28mJiFOJiYoby5jbG9zZSgpLE49ITAsYT12b2lkIDApLFA9ITB9OyJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTywhMSk6c2V0VGltZW91dChPKTtsZXQgej1zZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdO3ouZm9yRWFjaChUKSx6Lmxlbmd0aD0wLHoucHVzaD1UO2xldCBMPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZSl7YSYmKGEuZm9yRWFjaCh0PT57ZS5lbnF1ZXVlKCJzdHJpbmciPT10eXBlb2YgdD9fLmVuY29kZSh0KTp0KX0pLFAmJiFOKSYmKG51bGw9PT1lLmRlc2lyZWRTaXplfHxlLmRlc2lyZWRTaXplPDA/ZS5lcnJvcihPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlRoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpOmUuY2xvc2UoKSxOPSEwLGE9dm9pZCAwKSxvPWV9fSksUj13aW5kb3cuX19ORVhUX0NMSUVOVF9SRVNVTUU7ZnVuY3Rpb24gTSh7aW5pdGlhbFJTQ1BheWxvYWQ6ZSxhY3Rpb25RdWV1ZTp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KXtyZXR1cm4oMCx1LmpzeCkoeS5kZWZhdWx0LHthY3Rpb25RdWV1ZTp0LGdsb2JhbEVycm9yU3RhdGU6ZS5HLHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KX1sPVI/UHJvbWlzZS5yZXNvbHZlKEUoUix7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyBlPT4oMCxrLmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBSLGUpKTpTKEwse2NhbGxTZXJ2ZXI6aC5jYWxsU2VydmVyLGZpbmRTb3VyY2VNYXBVUkw6Zy5maW5kU291cmNlTWFwVVJMLGRlYnVnQ2hhbm5lbDpyLHN0YXJ0VGltZTowfSk7bGV0IEk9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRCh7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBGPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBBKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7KDAsdy5zZXRBcHBCdWlsZElkKShhLmIpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxGbGlnaHREYXRhOmEuZixpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6YS5jLGluaXRpYWxSZW5kZXJlZFNlYXJjaDphLnEsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoSSx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKE0se2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEYpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uRixmb3JtU3RhdGU6Q30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTYzMzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHI9ZS5yKDQ4NzA2KTtlLnIoMzI3OTMpLHdpbmRvdy5uZXh0LnR1cmJvcGFjaz0hMCxzZWxmLl9fd2VicGFja19oYXNoX189IiI7bGV0IGw9ZS5yKDkyMzg2KTsoMCxyLmFwcEJvb3RzdHJhcCkodD0+e2xldHtoeWRyYXRlOm59PWUucig5MzM1MSk7bihsLHQpfSksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/arrow-call.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:48.070Z","timestamp":1785136428070,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/arrow-call.svg HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Fx5II4f86khXoA5bm5VyZIJZFSe0W1DAtTQNw2v8wDVdBJb93yKB3Jg0xDl9jXZwjyzNYyik7YcXXk0aiB99tqgDB0LiPLEFaXbnre86yBPzh3yf8uMdADmGWYoz2iZ4lg%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-2f9\"\r\ncf-ray: a219d7f37b7a0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":761,"size_decoded":1159,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"fdf35395df443e4a565ecc7338e717f3","sha1":"a1c9c2200e27def304711ae7a233149a36de32d6","sha256":"cfd565708d5a0a18c6376a0601e82158a21f6a5991244eba7cc9098cf9d5b39a","sha512":"8fe36644c5d71492543c3e0ca8d2ec262b9ba3811f56bbc80426dee83b8537a29ab689d20f5f89b0fdedd0c8d49d92f1d931dd328c7fc8425fe23c47de9e50a8","ssdeep":"","tlshash":"7501d07b43b4023458490b6c9e6461dc337097667230c1d87b9e2915df02993207127b","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-08-10T18:26:39.515113Z","times_seen":129,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDM1IDI4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuOTQ4LDE0LjdMNC4zMzYsMjUuNDE0YTIuNTA5LDIuNTA5LDAsMCwxLTMuNTA1LjIxMywyLjQxOSwyLjQxOSwwLDAsMS0uMjE4LTMuNDVMMTIuMTI5LDkuMzQ2YTIuNDU5LDIuNDU5LDAsMCwxLDEuODg5LS44MjUsMi41LDIuNSwwLDAsMSwxLjg3Ljg2NWwzLjMyMywzLjg3Myw2LjEwNy03LjNMMTkuNiwxLjEzMywzMy44NCwwLDM1LDE0LjE1bC01LjkyLTVMMjEuMTUyLDE4LjYzYTIuNSwyLjUsMCwwLDEtMS45Ljg4OCwyLjQ2NCwyLjQ2NCwwLDAsMS0xLjkxMi0uODY3Wk02LDI4LjAxNGg4LjAxMVYxOUw2LDI3LjU1NnYwLjQ1OFptMTUuNzU5LTYuMjMzQTMuOTgzLDMuOTgzLDAsMCwxLDE5LjYzLDIyLjk0Yy0xLjA3NC4xODQtMi43NDYtLjk4Mi0zLjYtMS42MDlMMTYuMDExLDI3Ljk5LDI1LDI4bDAuMDExLTEwLjAwNkEzOC43MDcsMzguNzA3LDAsMCwxLDIxLjc1OSwyMS43ODFabTcuMi04Ljc3Mi0xLjk1NCwyLjRWMjhoNy45OGwtMC4wMzMtMTAuNDJDMzMuMzEzLDE2LjIyLDI4Ljk2LDEzLjAwOSwyOC45NiwxMy4wMDlaIi8+Cjwvc3ZnPgo="}},"time_used":97,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":97,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43325.256fa5a5213b9cb70f5c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.397Z","timestamp":1785136428397,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43325.256fa5a5213b9cb70f5c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-b07\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:17:08\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9339dfc8ebf75a099edacd9a972a5afa\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2823,"size_decoded":1643,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2823), with no line terminators","md5":"9117f5417af5435afba6f7700053a6fc","sha1":"28521c103a762e72c133892f41ee2fb550e20888","sha256":"e121896dc20723795767320cb9facd147ce5ba20427b67b47b47eb2f85d85b67","sha512":"7e71e1b26466a549b6496d8e84f2581eff4877ff30f1d0deaa365a3c6729bf545e9672f4a4c8417b5dfe1c7d61cfd349b3c6d476823a50b074c4a6423cb09a67","ssdeep":"","tlshash":"275188abfbcb1e2de71bcea1e7a712ff91a405c1be584138e5b3ad71064ca741724184","first_seen":"2026-04-15T09:47:56.523899Z","last_seen":"2026-08-11T10:15:18.458274Z","times_seen":5675,"resource_available":false,"data":"LmxhYmVsLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDttYXgtd2lkdGg6MjhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDZweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2l0aW9uOm1heC13aWR0aCAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHMsYmFja2dyb3VuZCAuM3MgY3ViaWMtYmV6aWVyKC40LC4wMSwuMjIsMSkgMHM7ei1pbmRleDozfS5sYWJlbC1kemJkN2x5ViAubG9nb1dyYXAtZHpiZDdseVZ7cGFkZGluZy1pbmxpbmUtZW5kOjVweH0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWRCeUNsaWNrLWR6YmQ3bHlWLC5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWe21heC13aWR0aDoxMDVweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxhYmVsLWR6YmQ3bHlWOmhvdmVye21heC13aWR0aDoxMDVweH19LmxhYmVsLWR6YmQ3bHlWOm5vdChhKXtjdXJzb3I6ZGVmYXVsdH0ubGFiZWwtZHpiZDdseVY6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO291dGxpbmUtb2Zmc2V0Oi0ycHg7b3V0bGluZS13aWR0aDoycHh9LmxhYmVsLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2luc2V0LWlubGluZS1zdGFydDo4cHh9LmxhYmVsLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzowIDJweCA0cHggMCB2YXIoLS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KX0ubGFiZWwtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2luc2V0LWlubGluZS1lbmQ6OHB4fS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoxMnB4O2luc2V0LWlubGluZS1zdGFydDowfS5sYWJlbC1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLmVuZC1kemJkN2x5Vntib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MTJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjEycHg7aW5zZXQtaW5saW5lLWVuZDowfS5sYWJlbC1kemJkN2x5Vi50b3AtZHpiZDdseVZ7dG9wOjhweH1AbWVkaWEgKG1heC1oZWlnaHQ6NTBweCl7LmxhYmVsLWR6YmQ3bHlWLnRvcC1kemJkN2x5Vnt0b3A6YXV0bzt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfX0ubGFiZWwtZHpiZDdseVYuYm90dG9tLWR6YmQ3bHlWe2JvdHRvbTo4cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTtib3JkZXItcmFkaXVzOjE3cHg7aGVpZ2h0OjM0cHg7bWF4LXdpZHRoOjM0cHg7cGFkZGluZzowIDZweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYgLmxvZ29XcmFwLWR6YmQ3bHlWe3BhZGRpbmctaW5saW5lLWVuZDo1cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmVuZC1kemJkN2x5ViwubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc3RhcnQtZHpiZDdseVZ7Ym94LXNoYWRvdzpub25lfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5zbmFwLWR6YmQ3bHlWLnN0YXJ0LWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MCAxN3B4IDE3cHggMH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5zdGFydC1kemJkN2x5VjpkaXIocnRsKXtib3JkZXItcmFkaXVzOjE3cHggMCAwIDE3cHh9LmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLnNuYXAtZHpiZDdseVYuZW5kLWR6YmQ3bHlWe2JvcmRlci1yYWRpdXM6MTdweCAwIDAgMTdweH0ubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVYuc25hcC1kemJkN2x5Vi5lbmQtZHpiZDdseVY6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDE3cHggMTdweCAwfS5sYWJlbC1kemJkN2x5Vi5sYXJnZS1kemJkN2x5Vi5leHBhbmRlZEJ5Q2xpY2stZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmxhcmdlLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVZ7bWF4LXdpZHRoOjExMXB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYubGFyZ2UtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOjExMXB4fX0ubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVZ7bWF4LXdpZHRoOm5vbmU7dHJhbnNpdGlvbjpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubGFiZWwtZHpiZDdseVYuZXhwYW5kZWQtZHpiZDdseVY6aG92ZXJ7bWF4LXdpZHRoOm5vbmV9fS5sYWJlbF9fbGluay1kemJkN2x5Vntib3JkZXItcmFkaXVzOmluaGVyaXQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS5sYWJlbC1kemJkN2x5Vi5leHBhbmRlZC1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkQnlDbGljay1kemJkN2x5ViAubGFiZWxfX2xpbmstZHpiZDdseVYsLmxhYmVsLWR6YmQ3bHlWLmV4cGFuZGVkV2l0aFRyYW5zaXRpb24tZHpiZDdseVYgLmxhYmVsX19saW5rLWR6YmQ3bHlWe3BvaW50ZXItZXZlbnRzOmF1dG99QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sYWJlbC1kemJkN2x5Vjpob3ZlciAubGFiZWxfX2xpbmstZHpiZDdseVZ7cG9pbnRlci1ldmVudHM6YXV0b319"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5994.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.670Z","timestamp":1785136428670,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5994.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3014\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 01:23:06 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:35:35 GMT\r\netag: \"570db8310832b88c50ab986a819a0764\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 21043\r\nx-amz-cf-id: eIeljWZ2yFgUiKV4JLhYKr3eDLiwVomJHgCCnUv1F7ksALX-AvWSqQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":3014,"size_decoded":3523,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"570db8310832b88c50ab986a819a0764","sha1":"d4abd6f12354fb40df26c3aa51a1de62998d2e12","sha256":"a8f6ffea983f46e8f2b83abe8561938c10de36484ca79ca5432683f4c2634ea6","sha512":"a772dd550924c8ed53c12286a3a7572694110c47645a13904184e5591ac35dd0442a239f7d6a4d918fc1717e7a7f90f4e704b5cce2a7cfc461b6eb882067ef43","ssdeep":"","tlshash":"52516b4366536127d84a8b1e0cf0684aa0a78c8b3573d1067c1d7cec87fc251de2828d","first_seen":"2023-05-08T12:03:54Z","last_seen":"2026-08-11T04:47:30.040268Z","times_seen":1760,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUxpcdceB70dCcIeCccfCdIgCv8FAFwECv8cAAAAAP7//xIUG84dB5kDACASEcEdCjQPDeMiCQAWKYsaDEYUD4MWCQUSF58bC5kaC7oZBm0RCkgVEH4VCsYbBrMdCrAUBHgVCU8AAJcPBmUaEYJPQIEMB44XCdkkDHwMB+P09IQkGakbCq8cCswUA6MUA7seCqwZB1kaEcgcB7GJQ+/8+8PPzmIQCsAfCnpZVpQfEvX28/////SkKegxGe+KFOwsEvOmL+cuFfHy7/OiKPOnM+o5Iuk1HPOqOfOlLOs/KPOuROoqEPT08vkjCN4fB+xELfX08PTVo/GgJswhC/X39/XPlvIiCPO3XfOrPe5JM+xNOe2HEvSwSv+vLv+qJ/XKieUsFAAAAPUiB+0hB+c3H+ggB/SzT/OgIvW9ZvOdG/Q4H/PEfeUoD/GjK/T9//ExF/TIhObn4/ilKfupKumBE/OnN/TDdvr69/Pbt/79+8kiD90lDvrpzPS1VPc/JvT5+5JbN/biwvS/buigOKp+PZM3KggHCKMlFqUSBf8lCPVTPvStP7yOPY9ANPfw4bYQAPyjIhsWD/Pr246Pjv736I1pXO2ECr3FwbYcCeYXAe+RHdwyIKovJP62RfLkzeuLG6COiUZGRJ9vOaSko7u2sP7w1v/pw9jc2f7DZgECBgAABPbbssUQAa0iFtbj4bRDOvXNj+03HfWtMvnYp/xKMaAsIYllNtSdNu6bI7Suo7aIO1dXV7y8uZiYl83Rz3RcNlI6GPybG+l+DIQRB4l/fPcsEJYpG/1ZQftYQZxFOfW4a5NRSj4+Pf+8UtMXA//NdkUxFPTy6O66c5VuaeqOLLSdmKJ4cv+xOcREO5d0Pv9XPrQqHd6sWmtsazEoHe3Eh5h7Vf7PfvCuT+ErFptmFtyVKI1fGr1+IceGIf7WmZmDX3xCLN7cxolORcSROqyzs14vKGUXEIphXJ5xRu3nzddIPMcyJdNHPL84Lr2aWsCBImVGFeWyYqx0HP/XiczCnItVZDwAAADHdFJOUwD+/v7+/gICAQH+EvwEJ/wy/QurPXYb0MLPe0uM7OzGaJD1b/44l/5c/v7Z5fyl84Fe9f3+/f3c/en//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v////////////////////////////////////////////////////////////4MkkDGAAAHkUlEQVRYw+2Xd1hT9xrHT0IGGYcAsmXVvVq7731yEkJOUCIZDUlIvIwYEiIz7A2ylxRkC1hAKyigyHWhuK2r7t1pp21v29vW3vbufd9zGIIg5fo89/7V75PnyXNy8n5+7/otBPlZ/1uxmKRYT2TMRBkPHxjof0lhoeQXx87eycnejkM+oMzZD06Mbef7jLsXl6JUUrhe7s842xN+MGc9uouzD1en0FmUFDqdorToFKbr7s52gJhFIDCKyyIvnUlJ41FtaBpQrg2Vx1WaTM8vsiNfzywUQZ29FGYu1YaeIJOJRpSQR7ehcs2K5z0dEfSn7O19dGYalZ4gEgnFYiFIDN9ikSxBQ9XoTMudEMZM9gxkCXcjvY0uExHGq8dEYMSiBE0bRUH3nSkRKOJcV1enEcnAHOxWkYqCDwEhEQNPV3k+nkDYn+tpuaBMEo5YrxnVKpJhTEqo/Gb7Cxc8H5cHFJnffmFwx85/L+DFRRHWr4yJZETF8b6p2W+IKLruMT2BiThp2r+7lb17d3DLngLS/FejIhkFew4FGtTDhjJe3tzpCEwGZ4Wi7sfmu3dvh3z926GDhHXoqAjGwaH3IiTDW9Pra+Zt9HaxZU5TgDkKTd2d/M2bz5TG/wsIoaHV1RcvXnzzzYvV1aGhBzvei1BvSU9Pf+PBWaViztRiQgB0B6ryTn6Yn9+Zu7c//aTj/erQP777a9C7fw6tfv8vhwj7ML+wN47uoVkoc6e0JANxU1Dz2n/M9wOd2aq/8Un5paLfl71QU3O0bHvRpUsL9kdvBXsAQA54ClcmY6oDShuR5UrjljCCkK6P+esHGzo733knArS/tKY0lbT3C6vfnptEdZjiApEBXp5YVJuSsRn+ll4ao7+2PihobWBGgL+/1ZpqSLUOh5GA1KI8EZ32aBZYCMfbQpUZk4Z6LxMAfWaMfsP68KBXAwMBIJVarVKBQL2FCK+0XGRMoJpXukxyAUXmKrkamTFuz/GvAXA5uWQEQHgQIPX3l0gEAolEsgVS8GAoySijURyem9QLKOJpggiEcbnbdm7dfHlvZuYEgD8MDwCQGlJQdi9OLFpMUyyaBIAa6Hgyo3DVZy2bSu8HJ8ePA4gQIAYBfMCF6LC0otf2CSEGkytiOzEFjissPJl4dVRc7bchwSHr4kv0G8YARBIEktjYaIIQW1obFyUUy6hmbw7CmlBEl5VKmsgojCq4d2QnAcg8cCAmfCwEqVUiXbc3EAhqQ01HQZTQKONZeHYTsshE7GgUjUi8etWa11qKAZCZj2E7xnMglUYfgGdwQA0RrIlaLRbRlBr7yQANRSMbByQn52AYlrx2LAeScHjE1kdL1YbtfwIPAECh20/nQVRBBxlCZn7zjuKYoKBX15IAQcCB/E35GdESSf3h8gLwQDbFAxeeMpcIYd93f9gNgE9v9OnDw0caiQhBEqu2GgwCtUQdAVUgATYTcwBV8Hagicg+2EEATp36oE9/P5z0IIDsxIi0f57+Kk2tNhztiIMq2FhWTqwClNTVDGUUxg215gPg44bIhkP3r42HAHPhy5v9uz43DEtSD5cnEX2gW86cCIC5pOMlGIUwmYqzwYPTkf27GsqujXgQ4J/2xemK/v6KL9Mghv1FnwmNMKEnzyYU8bXQFov25d1pJgG3TzX0R0Ye6gzwzwiQRKd+0bCrv+Lm38BeYo2A6Syjc3XzJ7UyUQbopCTathFA/I1/lJ26eTooPrurK/vjzs8/+vtvvkozgL3Eajh6L0lmo8y1n7wgEJOBmpDU1tNcvJts5Zi+vs6+RjZRfwxPro+ISJOoBVJopfoHlefzqLAk2T6yJzxn0dDPV7Y2d2UH700GgP5+PM4+/jqom50YMmxVCyTRsbHWgNTDF87ncs3zH1nZWbaOK8xt5ytfysHxTV3BmSUl+hIVjh2LBH2UpUqMj/WPjg1aV9zY2PhtubnN5M2xZU3Zlsy0vLZWDOdrC7WNe/X6rkIc+7C/oqLiag6uvbU2NiNYnlhYqGUPVkIKp25OLAbqauINbMNwOUirDUkulOPsHsKDJgxXJSYHbUqUq1RyHDtSRTMtd5y6wcK6zHWwKV/Kl5MEeaNWLsdzmhoqPiR+0TbeKlSRbwoX1Mmm2RbIIDzMi6vOjbhAIOR8Nh87eRzTZgFCS4L5ONZ91kE3/f7MgnY00c9+P0aQa1NOpuDd5/CUFPmYcOzkDxSFGzr9CYHFcHRT0H9ofUi4euzEsddPHLuaNW4/+LunN7pybJmPO6Bx3BSUl7/HVPjI34839Tad6z3RPYrEsV7C3uXxRzUm4jhHZ3m5KTGLtODzU/gpvfwUORk/rsJal7Wb3DgzHfXglQd3Y9UvBzH+SDnlWVlEOsEcx15smqegeDJnPipCJp18FO3LTiwFBP4weaocduuCAYX7XMT2pw6rDAT1/YVuoLZ7KTtHhZNSZbETX2qpavdydpzNYRc8dPR1v15Xvu3ki2xSiYNHrlQNuDtzZnHSHT/r2z/rM+9s7dtv9fS89faVZfN8nl0IQ6OsWV8XiMnOWbjE4ymQx5KF5I0BZT3xhQVWXfQJLj4sJjqqJ7w1/az/m/4Dvg7lpGWpzr0AAAAASUVORK5CYII="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/59649.92df5c6660570716c83b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.418Z","timestamp":1785136429418,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/59649.92df5c6660570716c83b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-35cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: af38ef0210854c1240903471b5770b6a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13775,"size_decoded":5591,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3062)","md5":"57159064a167c575b3f42cfe243c8b4a","sha1":"2fd63df6a6219555e07b7f46761a70335b041f7f","sha256":"9507b55a5faa7e958e1e3e4aee4b5f32e94cdbf494c098c8b09ec3d032f0d99f","sha512":"415cd8a87e36d006cfb494a437457d8cb15372dae8dba44d8672272bde5159c57db31fa519cbb62c5b5ae1fc709ed3d65e6fa3fcee70b0920f0b34a22e191089","ssdeep":"384:1n+y6T2SHX//Hz6v6eeR3otnEGIMLwqIhqK6EyHv+FxjLcyJao:9+y66SHX3WyeeR3I7Lw5hqK6pHv+FxjP","tlshash":"405286527293b8f6e1b581e358740503e66d1dcaa881958cf7bc0ccea74de48b274f7a","first_seen":"2026-07-22T16:00:00.524854Z","last_seen":"2026-07-28T06:17:53.620683Z","times_seen":88,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk2NDldLHs5Njg2NzEoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0LHMpe2xldCBpPWVbYCR7dH0jJHtzfWBdfHxudWxsO3JldHVybiBudWxsPT09aSYmKGk9ZVt0XXx8bnVsbCksbnVsbD09PWkmJk9iamVjdC5rZXlzKGUpLmZvckVhY2goKHM9PntudWxsPT09aSYmcy5zdGFydHNXaXRoKGAke3R9I2ApJiYoaT1lW3NdfHxudWxsKX0pKSxpfXMuZCh0LHtnZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvOigpPT5pfSl9LDg1OTY0OShlLHQscyl7cy5kKHQse1N0dWR5Q29tcGFyZTooKT0+S30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxsPXMoOTMwMjMxKSxuPXMoOTY4NjcxKSxvPXMoMTUyNzY2KSxhPXMoMTk3MjcyKSx1PXMoOTUyOTAwKSxkPXMoMTI4OTk4KSxjPXMoMzE0OTE0KSxoPXMoNzY4MjkyKSxtPXMoNDA3Nzk5KSx5PXMoMjI2NDc3KSxiPXMoNzE2NzgpLF89cygxMjM2MTcpLHA9cyg4NzM1NzMpO2NvbnN0IFM9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZm9yY2VfZXhjaGFuZ2VfYXNfdGl0bGUiKTtjbGFzcyB2IGV4dGVuZHMgYi5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zdHVkeUNvbXBhcmU9ZSx0aGlzLl9kYXRhPXR9X3VwZGF0ZVJlbmRlcmVyRGF0YShlLHQscyl7ZS52aXNpYmxlPSExLHQudmlzaWJsZT0hMTtjb25zdCByPXRoaXMuX3N0dWR5Q29tcGFyZS5wcmljZVNjYWxlKCksbD10aGlzLl9zdHVkeUNvbXBhcmUubGFzdFZhbHVlRGF0YSh0aGlzLl9kYXRhLnBsb3ROYW1lLCExKTtpZihsLm5vRGF0YXx8bnVsbD09PXJ8fHIuaXNFbXB0eSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3N0dWR5Q29tcGFyZS5tb2RlbCgpLG89bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksYT1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PW98fG51bGw9PT1hKXJldHVybjtjb25zdCB1PSgwLHAucmVzZXRUcmFuc3BhcmVuY3kpKGwuY29sb3IpO2lmKGE8PW8ubGFzdEJhcigpKXMuYmFja2dyb3VuZD11LHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmJvcmRlckNvbG9yPXZvaWQgMCxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExO2Vsc2V7Y29uc3Qgcj1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGwuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zdHVkeUNvbXBhcmUpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPXIscy50ZXh0Q29sb3I9dSxzLmJvcmRlckNvbG9yPXMudGV4dENvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPWwuY29vcmRpbmF0ZTtjb25zdCBkPW4ucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7ZC5zaG93U2VyaWVzTGFzdFZhbHVlLnZhbHVlKCkmJihlLnRleHQ9KDAsXy5nZXRDdXJyZW50TW9kZVByaWNlVGV4dCkocixsKSxkLnNlcmllc0xhc3RWYWx1ZU1vZGUudmFsdWUoKSE9PXkuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZS5MYXN0UHJpY2VBbmRQZXJjZW50YWdlVmFsdWU/ZS5zZWNvbmRMaW5lPSIiOmUuc2Vjb25kTGluZT0oMCxfLmdldE9wcG9zaXRlTW9kZVByaWNlVGV4dCkocixsKSxlLnZpc2libGU9ITApLHQudGV4dD0iIixkLnNob3dTeW1ib2xMYWJlbHMudmFsdWUoKSYmKHQudGV4dD10aGlzLl9wYW5lVGV4dCgpLHQudmlzaWJsZT10LnRleHQubGVuZ3RoPjApLGUuc2VsZWN0ZWRNYXJrQ29sb3I9bi5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMuX3N0dWR5Q29tcGFyZSk/dTp2b2lkIDB9X3BhbmVUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpO3JldHVybiBTP2U9KDAsZC5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc3R1ZHlDb21wYXJlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxkLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgZz1zKDE4NTI3MSksQz1zKDUzNjcxMCksST1zKDMwOTgzNyksZj1zKDY3ODI4NSksUD1zKDMxODk3NCksVj1zKDg2MDQ0MiksVD1zKDYwMTg0MSksdz1zKDk0Mzk1KTtjb25zdCB4PVAuQ2hlY2tNb2JpbGUuYW55KCk7Y2xhc3MgTCBleHRlbmRzIEkuU3R1ZHlWYWx1ZXNQcm92aWRlcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZW1wdHlWYWx1ZXNbMF0udGl0bGU9ZS5ndWlQbG90TmFtZSh3LlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCIiKX1nZXRWYWx1ZXMoZSl7cmV0dXJuKDAsVC5pc051bWJlcikoZSl8fCh0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpP2U9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpOihlPXRoaXMuX21vZGVsLmNyb3NzaGFpclNvdXJjZSgpLmFwcGxpZWRJbmRleCgpLCgwLFQuaXNOdW1iZXIpKGUpfHwoZT10aGlzLl9zdHVkeS5kYXRhKCkubGFzdEluZGV4KCkpKSksc3VwZXIuZ2V0VmFsdWVzKGUpfV9oaWRlVmFsdWVzKCl7cmV0dXJuITF9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIHgmJihudWxsPT09dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkucGFuZXx8KDAsVi5pc0xpbmVUb29sTmFtZSkoZi50b29sLnZhbHVlKCkpfHxudWxsIT09dGhpcy5fbW9kZWwubGluZUJlaW5nRWRpdGVkKCkpfX1jbGFzcyBFIGV4dGVuZHMgQy5TdHVkeURhdGFXaW5kb3dWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeUNvbXBhcmU9ZX1faGlkZVZhbHVlcygpe3JldHVybiExfV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgTChlLHQpfX12YXIgTz1zKDk2NjQwNCksUj1zKDk0NzM4Mik7Y2xhc3MgVSBleHRlbmRzIEV7Y29uc3RydWN0b3IoZSx0KXsKc3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc2hvd1Nlcmllc09ITEM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U2VyaWVzT0hMQyx0aGlzLl9zaG93U2VyaWVzT0hMQy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLE8uc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl9zaG93U2VyaWVzT0hMQy52YWx1ZSgpfWRlc3Ryb3koKXt0aGlzLl9zaG93U2VyaWVzT0hMQy51bnN1YnNjcmliZUFsbCh0aGlzKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfV91cGRhdGVJbXBsKCl7e2NvbnN0IGU9KDAsUi5nZXREYXRhVmVuZG9yU3RyaW5nKSh0aGlzLl9zdHVkeUNvbXBhcmUuc3ltYm9sSW5mbygpKTt0aGlzLl9hZGRpdGlvbmFsPWU/Zy50KG51bGwsdm9pZCAwLHMoMzY3NTM4KSkrIiAiK2U6bnVsbH1zdXBlci5fdXBkYXRlSW1wbCgpfX12YXIgQT1zKDkzMjY5MyksRj1zKDI1MDMzNCksaz1zKDI3NTg0OSk7Y2xhc3MgRCBleHRlbmRzIGsuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc0FjdHVhbEludGVydmFsKCk/dGhpcy5fc291cmNlLmlzRmFpbGVkKCk/YCR7dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX06ICR7dGhpcy5zb3VyY2VTdGF0dXNUZXh0KCl9YDpgJHt0aGlzLl9zb3VyY2UudGl0bGUody5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSwhMCx2b2lkIDAsITEsITEpfSAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6dGhpcy5fc291cmNlLnRpdGxlKHcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX19dmFyIE09cygyMDY1NzApLE49cygzMjI1NTQpLEg9cyg3MjM1MjUpO2NvbnN0ICQ9KDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3R1ZHlfb3ZlcmxheV9jb21wYXJlX2xlZ2VuZF9vcHRpb24iKSxCPSgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIiksVz0hKDAsbC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zdHVkeV9jb21wYXJlX2xlZ2VuZF9pdGVtIiksaj0oMCxsLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTt2YXIgRzshZnVuY3Rpb24oZSl7ZS5TbmFwU2hvdFN5bWJvbEluZm9LZXk9Il9fX3NuYXBzaG90In0oR3x8KEc9e30pKTtjbGFzcyBLIGV4dGVuZHMgYS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLGwsbil7c3VwZXIoZSxmdW5jdGlvbihlKXtyZXR1cm4gZS5oYXNDaGlsZCgiY3VycmVuY3lJZCIpfHxlLmFkZENoaWxkKCJjdXJyZW5jeUlkIixuZXcgaC5Qcm9wZXJ0eShudWxsKSksZS5oYXNDaGlsZCgidW5pdElkIil8fGUuYWRkQ2hpbGQoInVuaXRJZCIsbmV3IGguUHJvcGVydHkobnVsbCkpLGUuYWRkRXhjbHVkZWRLZXkoImN1cnJlbmN5SWQiLDEpLGUuYWRkRXhjbHVkZWRLZXkoInVuaXRJZCIsMSksZX0odCkscyxpLGwsbiksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2suc3Vic2NyaWJlKG51bGwsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Vbml0Q2hhbmdlZCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgci5XYXRjaGVkVmFsdWUoITEpLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKTtjb25zdCBvPSgpPT50aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsbyksdGhpcy5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxvKSxvKCksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxNLnN5bWJvbFBhcmFtcykodGhpcyl9Y29tcGFyZVN5bWJvbFBhcmFtcyhlKXtyZXR1cm4oMCxNLmNvbXBhcmVTeW1ib2xQYXJhbXMpKHRoaXMsZSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKX1hc3luYyBzZXRTeW1ib2xQYXJhbXMoZSl7dGhpcy5fc2V0U3ltYm9sQ3VycmVuY3lVbml0SW50ZXJuYWwoZSl9c3ltYm9sKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKX1zeW1ib2xPckFsaWFzKCl7cmV0dXJuIHRoaXMuc3ltYm9sKCl9CnN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbH1vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpe3JldHVybiB0aGlzLnN5bWJvbENoYW5nZWQoKX1zZXRTeW1ib2woZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N5bWJvbDplfSl9c3ltYm9sSW5mbygpe2lmKCF0aGlzLl9yZXNvbHZlZFN5bWJvbHMpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLnN5bWJvbCgpO2lmKCFlKXJldHVybiBudWxsO2xldCB0O3JldHVybiB0PXRoaXMuX21vZGVsLmlzU25hcHNob3QoKT90aGlzLl9yZXNvbHZlZFN5bWJvbHMuX19fc25hcHNob3R8fG51bGw6dGhpcy5fcmVzb2x2ZWRTeW1ib2xzW3RoaXMuX2dldFN5bWJvbEZvclJlc29sdmUoZSldfHxudWxsLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSYmbnVsbD09PXQmJih0PSgwLG4uZ2V0T2Jzb2xldGVJZGVhU3ltYm9sSW5mbykodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLGUsdGhpcy5jdXJyZW5jeSgpKSxudWxsIT09dCYmKHRoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdD10KSksdH1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5yZWFkb25seSgpfWFsaWFzU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxNLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLE4uc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfWN1cnJlbmN5KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmN1cnJlbmN5SWQudmFsdWUoKXx8bnVsbH1zZXRDdXJyZW5jeShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7Y3VycmVuY3k6ZX0pfXVuaXQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkudW5pdElkLnZhbHVlKCl8fG51bGx9c2V0VW5pdChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7dW5pdDplfSl9c2V0TWV0cmljKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHttZXRyaWM6ZX0pfXN0eWxlKCl7cmV0dXJuIDJ9c2V0U3R5bGUoZSl7fWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbMV0/P251bGx9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxkLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlSW5QYXJ0cyhlLHQscyxpLHIpe2NvbnN0IGw9dGhpcy5fdGl0bGVJblBhcnRzKGUsdCxzLGkscik7cmV0dXJuW1tsWzBdLC4uLmxbMV0/P1tdXS5qb2luKCIsICIpXX10YWdzKCl7Y29uc3QgZT10aGlzLnN5bWJvbCgpO3JldHVybiBlP1tlXTpbXX1zdGF0dXNWaWV3KCl7cmV0dXJuIFc/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9Z3VpUGxvdE5hbWUoZSx0KXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpfWNhbk92ZXJyaWRlTWluVGljaygpe3JldHVybiEwfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITF9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IEwodGhpcyx0aGlzLm1vZGVsKCkpfXN0YXR1c1Byb3ZpZGVyKGUpe3JldHVybiBuZXcgRCh0aGlzKX1tZWFzdXJlVW5pdElkKCl7cmV0dXJuKDAsZC5tZWFzdXJlVW5pdElkKSh0aGlzLnN5bWJvbEluZm8oKSl9Z2V0U3ltYm9sU3RyaW5nKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLl9nZXRTeW1ib2xGb3JBcGkodGhpcy5zeW1ib2woKSkpLCgwLG0uZW5jb2RlRXh0ZW5kZWRTeW1ib2xPckdldFNpbXBsZVN5bWJvbFN0cmluZykodGhpcy5fZ2V0U3ltYm9sT2JqZWN0KGUpKX1fZ2V0U3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9X2NyZWF0ZVByaWNlQXhpc1ZpZXcoZSl7cmV0dXJuIG5ldyB2KHRoaXMse3Bsb3ROYW1lOiJjb21wYXJlIn0pfV9jcmVhdGVWaWV3cygpe3RoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBVKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9kYXRhV2luZG93Vmlld3x8KHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBFKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgQS5TdHVkeVN0YXR1c1ZpZXcodGhpcykpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9vblVuaXRDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxvLmN1cnJlbmN5VW5pdE1ldHJpY1Zpc2liaWxpdHlQcm9wZXJ0eSkoKS52YWx1ZSgpJiZ0aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCksdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLAp0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X2dldFN5bWJvbE9iamVjdChlKXtjb25zdCB0PXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscz10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXMmJih0WyJjdXJyZW5jeS1pZCJdPXMpO2NvbnN0IGk9dGhpcy51bml0KCk7cmV0dXJuIHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09aSYmKHRbInVuaXQtaWQiXT1pKSx0fV9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCl7dGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlPXQsc3VwZXIuX29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITApfV9vblN5bWJvbEVycm9yKCl7c3VwZXIuX29uU3ltYm9sRXJyb3IoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9vblN5bWJvbFJlc29sdmVkKGUsdCxzKXtzdXBlci5fb25TeW1ib2xSZXNvbHZlZChlLHQscyksdGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKTtjb25zdCBpPXQ9PT10aGlzLnN5bWJvbCgpPygwLGMuZXh0cmFjdFN5bWJvbE5hbWVGcm9tU3ltYm9sSW5mbykocyx0aGlzLnN5bWJvbCgpKTpudWxsLHI9KDAsZC5zeW1ib2xDdXJyZW5jeSkocyksbD0oMCxkLnN5bWJvbFVuaXQpKHMsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO3RoaXMuX3NldFN5bWJvbEN1cnJlbmN5VW5pdEludGVybmFsKHtzeW1ib2w6aT8/dm9pZCAwLGN1cnJlbmN5OnIsdW5pdDpsfSxzKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKXtjb25zdCBlPXN1cGVyLl9jcmVhdGVTdHVkeU9uU2VydmVyKCk7cmV0dXJuIHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNJZlBhcmFtc0NoYW5nZWQoKSxlfV90cnlDcmVhdGVGb3JtYXR0ZXIoKXtGLmN1c3RvbUZvcm1hdHRlcnM/LnByaWNlRm9ybWF0dGVyRmFjdG9yeT8uKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSk7cmV0dXJuKDAsZC5jcmVhdGVTZXJpZXNGb3JtYXR0ZXIpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxkLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5zeW1ib2xJbmZvKCksImRlZmF1bHQiKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3QgbD10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG49W2wubGlzdGVkRXhjaGFuZ2UsbC5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW2wudGl0bGUsbl19X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fc2tpcEhpc3RvZ3JhbUJhc2VPbkF1dG9TY2FsZSgpe3JldHVybiEwfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLHUuY29tYmluZSkoKGU9Pntjb25zdCB0PSgwLGQuc3ltYm9sQ3VycmVuY3kpKGUpO251bGwhPT1lJiZudWxsIT09dD90aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKHtvcmlnaW5hbEN1cnJlbmN5OigwLGQuc3ltYm9sT3JpZ2luYWxDdXJyZW5jeSkoZSksY3VycmVudEN1cnJlbmN5OnQsYmFzZUN1cnJlbmN5OigwLGQuc3ltYm9sQmFzZUN1cnJlbmN5KShlKSxpc0N1cnJlbmN5Q29udmVydGlibGU6KDAsZC5zeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlKShlKSxpc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeTooMCxkLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KShlKSxjdXJyZW5jeU9yaWdpbk5hbWU6KDAsZC5wcm9TeW1ib2wpKGUsdGhpcy5zeW1ib2woKSl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCkpfV9pbml0VW5pdE1ldGFEYXRhKCl7KDAsdS5jb21iaW5lKSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX21vZGVsLGk9KDAsZC5zeW1ib2xVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpO251bGwhPT1lJiZudWxsIT09aSYmbnVsbCE9PXQ/dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHt1bml0T3JpZ2luTmFtZTooMCxkLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKSxjb252ZXJ0aWJsZUdyb3VwczooMCxILnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsZC5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxkLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBqPyIiOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKTtjb25zdCB0PSgwLGQuZ2V0U3ltYm9sTGlzdGVkRXhjaGFuZ2UpKGUpO2lmKEImJnZvaWQgMCE9PXQpcmV0dXJuIHQ7aWYoJClzd2l0Y2godGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCkudmFsdWUoKSl7Y2FzZSJkZXNjcmlwdGlvbiI6cmV0dXJuIGUuZGVzY3JpcHRpb24KO2Nhc2UidGlja2VyLWFuZC1kZXNjcmlwdGlvbiI6cmV0dXJuYCR7ZS5uYW1lfSwgJHtlLmRlc2NyaXB0aW9ufWA7Y2FzZSJsb25nLWRlc2NyaXB0aW9uIjpyZXR1cm4gZS5sb25nX2Rlc2NyaXB0aW9uPz9lLmRlc2NyaXB0aW9ufXJldHVybiBlLm5hbWV9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsZC5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9zZXRTeW1ib2xDdXJyZW5jeVVuaXRJbnRlcm5hbChlLHQpe2NvbnN0e3N5bWJvbDpzLGN1cnJlbmN5OmksdW5pdDpyfT1lLGw9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksbj1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSxvPWwuY3VycmVuY3lJZC52YWx1ZSgpLGE9bC51bml0SWQudmFsdWUoKTtpZih2b2lkIDAhPT1zJiZsLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wuc2V0VmFsdWVTaWxlbnRseShzKSx2b2lkIDAhPT1pJiZsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseShpKSx2b2lkIDAhPT1yJiZsLnVuaXRJZC5zZXRWYWx1ZVNpbGVudGx5KHIpLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihsLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbEN1cnJlbmN5KShlKSksbC51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxkLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnNldFZhbHVlKGUpKX1sLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSE9PW4mJmwuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC5maXJlQ2hhbmdlZCgpLGwuY3VycmVuY3lJZC52YWx1ZSgpIT09byYmbC5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbC51bml0SWQudmFsdWUoKSE9PWEmJmwudW5pdElkLmZpcmVDaGFuZ2VkKCksdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR9ZSYmKHRoaXMuX21vZGVsLnJlYWxpZ25MaW5lVG9vbHModGhpcyksdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz10aGlzLnN5bWJvbFBhcmFtcygpKX19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.79667.38b400b7bcd71265de7e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.788Z","timestamp":1785136429788,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/en.79667.38b400b7bcd71265de7e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-443f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d9c87613c6393d30c022ceeaa1a27c88\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/88906.0d650469c9c843577b47.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.719Z","timestamp":1785136427719,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/88906.0d650469c9c843577b47.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5029\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 897a8aefbd9cafcd2b5665cf288c627d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20521,"size_decoded":4225,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (20521), with no line terminators","md5":"4a51ba6d12ee0610b5d72dd27e711a99","sha1":"aad2a74218259b98d0471539beaba1a0f6d22f98","sha256":"701de67c496f57ecf6702cbf74570ac82c16d20f7661b5336e4b57faaf99a48b","sha512":"ae10205cd98ebe930ec6b30d92db97e27eb3811af4aac3da8ad6e32444c18b650cfb62f89d379fb2f320f1dcdf197bedd1e7fae73ad4ca5af2a4c0ce0a964737","ssdeep":"384:lN346M/4UZch+iBcHuNeCB/H1nVdx2Z1L:g6M/46ch8","tlshash":"eb929cadef35f639e43d972bd7a3789f3910d7caae13469ba2d4141504cabe34122c84","first_seen":"2026-07-23T13:54:09.175898Z","last_seen":"2026-07-28T06:17:53.496825Z","times_seen":305,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/19891.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.693Z","timestamp":1785136428693,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/19891.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 958\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Sun, 26 Jul 2026 08:33:21 GMT\r\nlast-modified: Sun, 08 May 2022 19:17:08 GMT\r\netag: \"c31a8ad908f213778980e620b7a38a95\"\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 81628\r\nx-amz-cf-id: i-1hDKCpfiXIszZtUIkeXmzb4V6FAf6aAOL7q-NM_ijRsiTyvvuapA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":958,"size_decoded":1436,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"c31a8ad908f213778980e620b7a38a95","sha1":"69c6acd7300eda51040cf03fc3b726a1bddc0d80","sha256":"4a2125caa6fd094e4bb5998fdef721f48100d8394259d2f79cc42a673aceb8a9","sha512":"b3625f5e067acac0628975306f29997c91db3298a37c2e2ed9d30016eb62080b666d6364c91549c6ed97e64f2cd68ba862c90ef5c5eb59893a802a5cdf2981e9","ssdeep":"","tlshash":"ca11c8bbc09e72b5ad344ef34152ef0413480ad4a2212d6c21a194c1560d2ebc7ec706","first_seen":"2025-11-23T13:22:53.396084Z","last_seen":"2026-08-11T04:47:30.165735Z","times_seen":1487,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADhUlEQVR4Xs2aMW5UQRBEfRVOwAk4ARdwTAwZiIyAhBQSLkAIKQEZGUhEBE5IsGQugIRIQY00qPf9mpmePz1//aQKtqe7elzyWrvrvfhzIHceXoZ0JBcsZMIfbK9Wkh4AL5+tbNIC4EWpUThPZTEdAC9W9OnbFVt3c3VzvfHPCmJ3ALxI60LsiUrBnlZvhF0BcLm6AM9nRXiueiIMB9BbyvNskd55j3AAXMRlPFut3u4ooQBofvfJg+rZ0SrYnWpnLboBtEx5di617tRjKIBaXWkV3KP21eqKZgA1Iy6nVsN9am+tTqoBeIPR5/y7zx+dUz7c51Xg34QaMoCaKeu3VbX7KroBqNqsPKw9fvN6079H9Pc1zyYANUDzWXlYywrAxB2+VjhLAEdJ3Z+cBKAaaTqrCJyZkfL0HBLADPQalfLx/A9ANdBsVJnQe0TKo7AsgBVwR1RqvrAJ4Orm+8njPVoJd0Vl2KdUvOO/ANjI2oiOgDsjUrPG2QPg3NWPa3eq4c6I1KwhA+BwVD1UH2vlhVAP7o6Ic8ZJADPmfr6G6mNtdQB+1rhoNYyqh+pjzb8UrnH56vlmd0QFX7vVAWSLO02HBmCwl4/PGsCsRqjNrgxAKTUA0x5+/v618TlK6QGYMqDnKi0JwJQJvTOV+keQyob+o1I+SwMoyvxXOb1HpDwOCYCahX5RqfnUl8JReezx6G+If1s7ooJ/nPpmKCoPax++fnGndegZEecMGQBr2fKwturNkJozUgN4+f6tFPs8rEXeDBnKt6UCa5uPxMrzkQY99aj1shYNwOAdWjLswxZ6bwLwhzRpqUetl7VoACNviQuqlhaAXagH/VWNj2twf0tqppD6j5EInFGKwJmaVL/n8AAyuPfs0WZ3TQVVM04CMFQjTVs6Au6sSfWT9ADUkky4qyU1QzYBGGqA5j2tgDtaUjOKbgA1s6gyoGdPtTmFDMDwg6NfkqppBM5GVZj6klShZsClo1JehZkPRT21OmkGYNSMuHxEyqewNwBPra4YCoCGPItKeRTuv3i66e/J0zpTdAMwaJr1NyFDBT7n/VmLUAAGzbmAZ6vV2x0lHECht4jn2SK98x7DARhcqhbzfFaE56onwq4ADC5vXYI9USnY0+qNsDuAAi9SVL5slUHrU+BZpgMo8GLUKJynskgLoMCLZiub9AA8vPxerWRpAIQ/WE1H8hfLatbVj65uIAAAAABJRU5ErkJggg=="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70644.448743def325feb61967.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.569Z","timestamp":1785136429569,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70644.448743def325feb61967.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a10225d-a54f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:44:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1d21320a003e226ebe67ae89ad540d4d\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":42319,"size_decoded":16718,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"8cde28c2b9d157a818e87a14278c7a00","sha1":"1de831d7926ffcdfe3bdd82419e6225185d37e34","sha256":"f5576d28408b822a04da2e824feb2d936edf1e1959b29e0849e709c4ff1beba7","sha512":"dfeb6f084e4ee784b4a74a0525c09ed8d481320b0708417429758d5d393b7f6eec9e153c60a63025903dc145cd998cce1676335c44ba0e9011bf068fb3dd2e24","ssdeep":"384:57bUjPiPk+mozZ2DZNFAw0wg7LEJ8yBzjkjWQIfQ/6URF2a6nUFlUTr1H6ssDLv5:57gjPi8+hiTRXbfQOXXUFwhHnecsfHp","tlshash":"ae13f5c936d6b02452b73475007f710bf23eaea1284e8450d117e8d87cb5a9fa27be6d","first_seen":"2026-05-23T04:38:21.326763Z","last_seen":"2026-08-05T03:55:36.948443Z","times_seen":956,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3MDY0NF0sezg3MDY0NChlLG4sdCl7InVzZSBzdHJpY3QiO3QuZChuLHtkaXNhYmxlQWN0aXZpdHlUcmFja2luZzooKT0+eGUsZGlzYWJsZUFub255bW91c1RyYWNraW5nOigpPT5DZSxkaXNjYXJkQnJhY2U6KCk9PmtlLGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazooKT0+U2UsZW5hYmxlQW5vbnltb3VzVHJhY2tpbmc6KCk9Pk9lLG5ld1RyYWNrZXI6KCk9PkVlLHNldFVzZXJJZDooKT0+VGUsdHJhY2tQYWdlVmlldzooKT0+SWUsdHJhY2tTZWxmRGVzY3JpYmluZ0V2ZW50OigpPT5BZX0pO3ZhciByPWZ1bmN0aW9uKCl7cmV0dXJuIHI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLHQ9MSxyPWFyZ3VtZW50cy5sZW5ndGg7dDxyO3QrKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbdF0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pO3JldHVybiBlfSxyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07T2JqZWN0LmNyZWF0ZTtmdW5jdGlvbiBvKGUsbix0KXtpZih0fHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIHIsbz0wLGk9bi5sZW5ndGg7bzxpO28rKykhciYmbyBpbiBufHwocnx8KHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwLG8pKSxyW29dPW5bb10pO3JldHVybiBlLmNvbmNhdChyfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSl9T2JqZWN0LmNyZWF0ZTt2YXIgaT10KDUzNzIwNCk7ZnVuY3Rpb24gYShlKXtpZighZSlyZXR1cm4gZTtzd2l0Y2goNC1lLmxlbmd0aCU0KXtjYXNlIDI6ZSs9Ij09IjticmVhaztjYXNlIDM6ZSs9Ij0ifXJldHVybiBmdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGEsdT1mdW5jdGlvbihlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUuc3BsaXQoIiIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIiUiKygiMDAiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKX0pKS5qb2luKCIiKSl9LHM9MCxsPTAsZj0iIixkPVtdO2lmKCFlKXJldHVybiBlO2UrPSIiO2Rve249KGE9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwxOHxjLmluZGV4T2YoZS5jaGFyQXQocysrKSk8PDEyfChvPWMuaW5kZXhPZihlLmNoYXJBdChzKyspKSk8PDZ8KGk9Yy5pbmRleE9mKGUuY2hhckF0KHMrKykpKSk+PjE2JjI1NSx0PWE+PjgmMjU1LHI9MjU1JmEsZFtsKytdPTY0PT09bz9TdHJpbmcuZnJvbUNoYXJDb2RlKG4pOjY0PT09aT9TdHJpbmcuZnJvbUNoYXJDb2RlKG4sdCk6U3RyaW5nLmZyb21DaGFyQ29kZShuLHQscil9d2hpbGUoczxlLmxlbmd0aCk7cmV0dXJuIGY9ZC5qb2luKCIiKSx1KGYucmVwbGFjZSgvXDArJC8sIiIpKX0oZS5yZXBsYWNlKC8tL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSl9ZnVuY3Rpb24gdShlKXtpZighZSlyZXR1cm4gZTt2YXIgbj1mdW5jdGlvbihlKXt2YXIgbix0LHIsbyxpLGE9MCx1PTAscz1bXTtpZighZSlyZXR1cm4gZTtlPXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChlKSk7ZG97bj0oaT1lLmNoYXJDb2RlQXQoYSsrKTw8MTZ8ZS5jaGFyQ29kZUF0KGErKyk8PDh8ZS5jaGFyQ29kZUF0KGErKykpPj4xOCY2Myx0PWk+PjEyJjYzLHI9aT4+NiY2MyxvPTYzJmksc1t1KytdPWMuY2hhckF0KG4pK2MuY2hhckF0KHQpK2MuY2hhckF0KHIpK2MuY2hhckF0KG8pfXdoaWxlKGE8ZS5sZW5ndGgpO3ZhciBsPXMuam9pbigiIiksZj1lLmxlbmd0aCUzO3JldHVybihmP2wuc2xpY2UoMCxmLTMpOmwpKyI9PT0iLnNsaWNlKGZ8fDMpfShlKTtyZXR1cm4gbi5yZXBsYWNlKC89L2csIiIpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIil9dmFyIGM9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IjtmdW5jdGlvbiBzKCl7dmFyIGUsbj17fSx0PVtdLHI9W10sbz1bXSxpPWZ1bmN0aW9uKGUsdCl7bnVsbCE9dCYmIiIhPT10JiYobltlXT10KX07cmV0dXJue2FkZDppLGFkZERpY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJmkobixlW25dKX0sYWRkSnNvbjpmdW5jdGlvbihlLG4sbyl7aWYobyYmZihvKSl7dmFyIGk9e2tleUlmRW5jb2RlZDplLGtleUlmTm90RW5jb2RlZDpuLGpzb246b307ci5wdXNoKGkpLHQucHVzaChpKX19LGFkZENvbnRleHRFbnRpdHk6ZnVuY3Rpb24oZSl7by5wdXNoKGUpfSxnZXRQYXlsb2FkOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGdldEpzb246ZnVuY3Rpb24oKXtyZXR1cm4gdH0sd2l0aEpzb25Qcm9jZXNzb3I6ZnVuY3Rpb24obil7ZT1ufSxidWlsZDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1lfHxlKHRoaXMscixvKSxufX19ZnVuY3Rpb24gbChlKXtyZXR1cm4gZnVuY3Rpb24obix0LHIpe2Zvcih2YXIgaT1mdW5jdGlvbih0LHIsbyl7dmFyIGk9SlNPTi5zdHJpbmdpZnkodCk7ZT9uLmFkZChyLHUoaSkpOm4uYWRkKG8saSl9LGM9ZnVuY3Rpb24odCxyKXt2YXIgbz10fHxmdW5jdGlvbigpe3ZhciB0PW4uZ2V0UGF5bG9hZCgpO2lmKGU/dC5jeDp0LmNvKXJldHVybiBKU09OLnBhcnNlKGU/YSh0LmN4KTp0LmNvKX0oKTtyZXR1cm4gbz9vLmRhdGE9by5kYXRhLmNvbmNhdChyLmRhdGEpOm89cixvfSxzPXZvaWQgMCxsPTAsZj10O2w8Zi5sZW5ndGg7bCsrKXt2YXIgZD1mW2xdOyJjeCI9PT1kLmtleUlmRW5jb2RlZD9zPWMocyxkLmpzb24pOmkoZC5qc29uLGQua2V5SWZFbmNvZGVkLGQua2V5SWZOb3RFbmNvZGVkKX0odC5sZW5ndGg9MCxyLmxlbmd0aCkmJihzPWMocyx7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0wIixkYXRhOm8oW10sciwhMCl9KSxyLmxlbmd0aD0wKTtzJiZpKHMsImN4IiwiY28iKX19ZnVuY3Rpb24gZihlKXtpZighZChlKSlyZXR1cm4hMQo7Zm9yKHZhciBuIGluIGUpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbnVsbCE9ZSYmKGUuY29uc3RydWN0b3I9PT17fS5jb25zdHJ1Y3Rvcnx8ZS5jb25zdHJ1Y3Rvcj09PVtdLmNvbnN0cnVjdG9yKX12YXIgdixnPSJTbm93cGxvdzogIjshZnVuY3Rpb24oZSl7ZVtlLm5vbmU9MF09Im5vbmUiLGVbZS5lcnJvcj0xXT0iZXJyb3IiLGVbZS53YXJuPTJdPSJ3YXJuIixlW2UuZGVidWc9M109ImRlYnVnIixlW2UuaW5mbz00XT0iaW5mbyJ9KHZ8fCh2PXt9KSk7dmFyIHA9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9di53YXJuKTtyZXR1cm57c2V0TG9nTGV2ZWw6ZnVuY3Rpb24obil7ZT12W25dP246di53YXJufSx3YXJuOmZ1bmN0aW9uKG4sdCl7Zm9yKHZhciByPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0yXT1hcmd1bWVudHNbaV07aWYoZT49di53YXJuJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbjt0P2NvbnNvbGUud2Fybi5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS53YXJuLmFwcGx5KGNvbnNvbGUsbyhbYV0sciwhMSkpfX0sZXJyb3I6ZnVuY3Rpb24obix0KXtmb3IodmFyIHI9W10saT0yO2k8YXJndW1lbnRzLmxlbmd0aDtpKyspcltpLTJdPWFyZ3VtZW50c1tpXTtpZihlPj12LmVycm9yJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUpe3ZhciBhPWcrbisiXG4iO3Q/Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2ErIlxuIix0XSxyLCExKSk6Y29uc29sZS5lcnJvci5hcHBseShjb25zb2xlLG8oW2FdLHIsITEpKX19LGRlYnVnOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuZGVidWcmJiJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5kZWJ1Zy5hcHBseShjb25zb2xlLG8oW2crbl0sdCwhMSkpfSxpbmZvOmZ1bmN0aW9uKG4pe2Zvcih2YXIgdD1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2U+PXYuaW5mbyYmInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLmluZm8uYXBwbHkoY29uc29sZSxvKFtnK25dLHQsITEpKX19fSgpO2Z1bmN0aW9uIG0oKXt2YXIgZT1bXSxuPVtdLHQ9ZnVuY3Rpb24odCl7dmFyIHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPWUuZ2V0SnNvbigpLHQ9MCxyPW47dDxyLmxlbmd0aDt0Kyspe3ZhciBvPXJbdF07aWYoInVlX3B4Ij09PW8ua2V5SWZFbmNvZGVkJiYib2JqZWN0Ij09dHlwZW9mIG8uanNvbi5kYXRhKXt2YXIgaT1vLmpzb24uZGF0YS5zY2hlbWE7aWYoInN0cmluZyI9PXR5cGVvZiBpKXJldHVybiBpfX1yZXR1cm4iIn0odCksbz1mdW5jdGlvbihlKXt2YXIgbj1lLmdldFBheWxvYWQoKS5lO3JldHVybiJzdHJpbmciPT10eXBlb2Ygbj9uOiIifSh0KSxpPVtdLGE9RShlLHQsbyxyKTtpLnB1c2guYXBwbHkoaSxhKTt2YXIgdT1mdW5jdGlvbihlLG4sdCxyKXt2YXIgbyxpPVAoZSksYT1mdW5jdGlvbihlKXt2YXIgbz1mdW5jdGlvbihlLG4sdCxyKXtpZihUKGUpKXt2YXIgbz1lWzBdLGk9ITE7dHJ5e2k9byh7ZXZlbnQ6bi5nZXRQYXlsb2FkKCksZXZlbnRUeXBlOnQsZXZlbnRTY2hlbWE6cn0pfWNhdGNoKGUpe2k9ITF9aWYoITA9PT1pKXJldHVybiBFKGVbMV0sbix0LHIpfWVsc2UgaWYoSShlKSYmZnVuY3Rpb24oZSxuKXt2YXIgdD0wLHI9MCxvPWUuYWNjZXB0O0FycmF5LmlzQXJyYXkobyk/ZS5hY2NlcHQuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxuKX0pKSYmcisrOiJzdHJpbmciPT10eXBlb2YgbyYmQyhvLG4pJiZyKys7dmFyIGk9ZS5yZWplY3Q7QXJyYXkuaXNBcnJheShpKT9lLnJlamVjdC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gQyhlLG4pfSkpJiZ0Kys6InN0cmluZyI9PXR5cGVvZiBpJiZDKGksbikmJnQrKztpZihyPjAmJjA9PT10KXJldHVybiEwO2lmKDA9PT1yJiZ0PjApcmV0dXJuITE7cmV0dXJuITF9KGVbMF0scikpcmV0dXJuIEUoZVsxXSxuLHQscik7cmV0dXJuW119KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30sdT1pLm1hcChhKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8sdS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9KG4sdCxvLHIpO3JldHVybiBpLnB1c2guYXBwbHkoaSx1KSxpfTtyZXR1cm57Z2V0R2xvYmFsUHJpbWl0aXZlczpmdW5jdGlvbigpe3JldHVybiBlfSxnZXRDb25kaXRpb25hbFByb3ZpZGVyczpmdW5jdGlvbigpe3JldHVybiBufSxhZGRHbG9iYWxDb250ZXh0czpmdW5jdGlvbih0KXtmb3IodmFyIHI9W10sbz1bXSxpPTAsYT10O2k8YS5sZW5ndGg7aSsrKXt2YXIgdT1hW2ldO0EodSk/ci5wdXNoKHUpOngodSkmJm8ucHVzaCh1KX1lPWUuY29uY2F0KG8pLG49bi5jb25jYXQocil9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXtuPVtdLGU9W119LHJlbW92ZUdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKHQpe2Zvcih2YXIgcj1mdW5jdGlvbih0KXtBKHQpP249bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlKSE9PUpTT04uc3RyaW5naWZ5KHQpfSkpOngodCkmJihlPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSkhPT1KU09OLnN0cmluZ2lmeSh0KX0pKSl9LG89MCxpPXQ7bzxpLmxlbmd0aDtvKyspe3IoaVtvXSl9fSxnZXRBcHBsaWNhYmxlQ29udGV4dHM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX1mdW5jdGlvbiBoKGUpe3ZhciBuPWUuc3BsaXQoIi4iKTtyZXR1cm4hIShuJiZuLmxlbmd0aD4xKSYmZnVuY3Rpb24oZSl7aWYoIioiPT09ZVswXXx8IioiPT09ZVsxXSlyZXR1cm4hMTtpZihlLnNsaWNlKDIpLmxlbmd0aD4wKXtmb3IodmFyIG49ITEsdD0wLHI9ZS5zbGljZSgyKTt0PHIubGVuZ3RoO3QrKylpZigiKiI9PT1yW3RdKW49ITA7ZWxzZSBpZihuKXJldHVybiExO3JldHVybiEwfQpyZXR1cm4gMj09ZS5sZW5ndGh9KG4pfWZ1bmN0aW9uIHkoZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KCg/Oig/OlthLXpBLVowLTktX10rfFxcKikuKSsoPzpbYS16QS1aMC05LV9dK3xcXCopKS8oW2EtekEtWjAtOS1fLl0rfFxcKikvanNvbnNjaGVtYS8oWzEtOV1bMC05XSp8XFwqKS0oMHxbMS05XVswLTldKnxcXCopLSgwfFsxLTldWzAtOV0qfFxcKikkIikuZXhlYyhlKTtpZihudWxsIT09biYmaChuWzFdKSlyZXR1cm4gbi5zbGljZSgxLDYpfWZ1bmN0aW9uIHcoZSl7dmFyIG49eShlKTtpZihuKXt2YXIgdD1uWzBdO3JldHVybiA1PT09bi5sZW5ndGgmJmgodCl9cmV0dXJuITF9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZX0pKX0oZSk/ZS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSl9KSk6InN0cmluZyI9PXR5cGVvZiBlJiZ3KGUpfWZ1bmN0aW9uIGsoZSl7dmFyIG49ZTtyZXR1cm4hIShmKG4pJiYic2NoZW1hImluIG4mJiJkYXRhImluIG4pJiYoInN0cmluZyI9PXR5cGVvZiBuLnNjaGVtYSYmIm9iamVjdCI9PXR5cGVvZiBuLmRhdGEpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUubGVuZ3RoPD0xfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIFMoZSl8fGsoZSl9ZnVuY3Rpb24gVChlKXtyZXR1cm4hKCFBcnJheS5pc0FycmF5KGUpfHwyIT09ZS5sZW5ndGgpJiYoQXJyYXkuaXNBcnJheShlWzFdKT9TKGVbMF0pJiZlWzFdLmV2ZXJ5KHgpOlMoZVswXSkmJngoZVsxXSkpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuISghQXJyYXkuaXNBcnJheShlKXx8MiE9PWUubGVuZ3RoKSYmKCEhZnVuY3Rpb24oZSl7dmFyIG49ZSx0PTA7aWYobnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYhQXJyYXkuaXNBcnJheShlKSl7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sImFjY2VwdCIpKXtpZighYihuLmFjY2VwdCkpcmV0dXJuITE7dCs9MX1pZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobiwicmVqZWN0Iikpe2lmKCFiKG4ucmVqZWN0KSlyZXR1cm4hMTt0Kz0xfXJldHVybiB0PjAmJnQ8PTJ9cmV0dXJuITF9KGVbMF0pJiYoQXJyYXkuaXNBcnJheShlWzFdKT9lWzFdLmV2ZXJ5KHgpOngoZVsxXSkpKX1mdW5jdGlvbiBBKGUpe3JldHVybiBUKGUpfHxJKGUpfWZ1bmN0aW9uIEMoZSxuKXtpZighdyhlKSlyZXR1cm4hMTt2YXIgdD15KGUpLHI9ZnVuY3Rpb24oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXmlnbHU6KFthLXpBLVowLTktXy5dKykvKFthLXpBLVowLTktX10rKS9qc29uc2NoZW1hLyhbMS05XVswLTldKiktKDB8WzEtOV1bMC05XSopLSgwfFsxLTldWzAtOV0qKSQiKS5leGVjKGUpO2lmKG51bGwhPT1uKXJldHVybiBuLnNsaWNlKDEsNil9KG4pO2lmKHQmJnIpe2lmKCFmdW5jdGlvbihlLG4pe3ZhciB0PW4uc3BsaXQoIi4iKSxyPWUuc3BsaXQoIi4iKTtpZih0JiZyKXtpZih0Lmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKWlmKCFPKHRbb10scltvXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9KHRbMF0sclswXSkpcmV0dXJuITE7Zm9yKHZhciBvPTE7bzw1O28rKylpZighTyh0W29dLHJbb10pKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIE8oZSxuKXtyZXR1cm4gZSYmbiYmIioiPT09ZXx8ZT09PW59ZnVuY3Rpb24gUChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lOkFycmF5Lm9mKGUpfWZ1bmN0aW9uIEUoZSxuLHQscil7dmFyIG8saT1QKGUpLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7aWYoayhlKSlyZXR1cm5bZV07aWYoUyhlKSl7dmFyIG89ZnVuY3Rpb24oZSxuLHQscil7dmFyIG89dm9pZCAwO3RyeXtyZXR1cm4gbz1lKHtldmVudDpuLmdldFBheWxvYWQoKSxldmVudFR5cGU6dCxldmVudFNjaGVtYTpyfSksQXJyYXkuaXNBcnJheShvKSYmby5ldmVyeShrKXx8ayhvKT9vOnZvaWQgMH1jYXRjaChlKXtvPXZvaWQgMH1yZXR1cm4gb30oZSxuLHQscik7aWYoayhvKSlyZXR1cm5bb107aWYoQXJyYXkuaXNBcnJheShvKSlyZXR1cm4gb31yZXR1cm59KGUsbix0LHIpO2lmKG8mJjAhPT1vLmxlbmd0aClyZXR1cm4gb30pKTtyZXR1cm4obz1bXSkuY29uY2F0LmFwcGx5KG8saS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlLmZpbHRlcihCb29sZWFuKX0pKSl9ZnVuY3Rpb24gTChlKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIG49ZS5iYXNlNjQsdD1lLmNvcmVQbHVnaW5zLGE9ZS5jYWxsYmFjayx1PW51bGwhPXQ/dDpbXSxjPWZ1bmN0aW9uKGUsbix0KXt2YXIgcj1mdW5jdGlvbihlKXtyZXR1cm57YWRkUGx1Z2luQ29udGV4dHM6ZnVuY3Rpb24obil7dmFyIHQ9bj9vKFtdLG4sITApOltdO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmNvbnRleHRzJiZ0LnB1c2guYXBwbHkodCxlLmNvbnRleHRzKCkpfWNhdGNoKGUpe3AuZXJyb3IoIkVycm9yIGFkZGluZyBwbHVnaW4gY29udGV4dHMiLGUpfX0pKSx0fX19KG4pLGE9bSgpLHU9ZSxjPXt9O2Z1bmN0aW9uIHMoZSxuKXtjW2VdPW59dmFyIGY9e3RyYWNrOmZ1bmN0aW9uKGUsbyxzKXtlLndpdGhKc29uUHJvY2Vzc29yKGwodSkpLGUuYWRkKCJlaWQiLCgwLGkudjQpKCkpLGUuYWRkRGljdChjKTt2YXIgZj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT97dHlwZToiZHRtIix2YWx1ZToobmV3IERhdGUpLmdldFRpbWUoKX06Im51bWJlciI9PXR5cGVvZiBlP3t0eXBlOiJkdG0iLHZhbHVlOmV9OiJ0dG0iPT09ZS50eXBlP3t0eXBlOiJ0dG0iLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJkdG0iLHZhbHVlOmUudmFsdWV8fChuZXcgRGF0ZSkuZ2V0VGltZSgpfX0ocyk7ZS5hZGQoZi50eXBlLGYudmFsdWUudG9TdHJpbmcoKSk7dmFyIGQ9ZnVuY3Rpb24oZSl7aWYoZSYmZS5sZW5ndGgpcmV0dXJuewpzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L2NvbnRleHRzL2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6ZX19KGZ1bmN0aW9uKGUsbil7dmFyIHQ9YS5nZXRBcHBsaWNhYmxlQ29udGV4dHMoZSkscj1bXTtyZXR1cm4gbiYmbi5sZW5ndGgmJnIucHVzaC5hcHBseShyLG4pLHQmJnQubGVuZ3RoJiZyLnB1c2guYXBwbHkocix0KSxyfShlLHIuYWRkUGx1Z2luQ29udGV4dHMobykpKTt2b2lkIDAhPT1kJiZlLmFkZEpzb24oImN4IiwiY28iLGQpLG4uZm9yRWFjaCgoZnVuY3Rpb24obil7dHJ5e24uYmVmb3JlVHJhY2smJm4uYmVmb3JlVHJhY2soZSl9Y2F0Y2goZSl7cC5lcnJvcigiUGx1Z2luIGJlZm9yZVRyYWNrIixlKX19KSksImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQoZSk7dmFyIHY9ZS5idWlsZCgpO3JldHVybiBuLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLmFmdGVyVHJhY2smJmUuYWZ0ZXJUcmFjayh2KX1jYXRjaChlKXtwLmVycm9yKCJQbHVnaW4gYWZ0ZXJUcmFjayIsZSl9fSkpLHZ9LGFkZFBheWxvYWRQYWlyOnMsZ2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0QmFzZTY0RW5jb2Rpbmc6ZnVuY3Rpb24oZSl7dT1lfSxhZGRQYXlsb2FkRGljdDpmdW5jdGlvbihlKXtmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKGNbbl09ZVtuXSl9LHJlc2V0UGF5bG9hZFBhaXJzOmZ1bmN0aW9uKGUpe2M9ZChlKT9lOnt9fSxzZXRUcmFja2VyVmVyc2lvbjpmdW5jdGlvbihlKXtzKCJ0diIsZSl9LHNldFRyYWNrZXJOYW1lc3BhY2U6ZnVuY3Rpb24oZSl7cygidG5hIixlKX0sc2V0QXBwSWQ6ZnVuY3Rpb24oZSl7cygiYWlkIixlKX0sc2V0UGxhdGZvcm06ZnVuY3Rpb24oZSl7cygicCIsZSl9LHNldFVzZXJJZDpmdW5jdGlvbihlKXtzKCJ1aWQiLGUpfSxzZXRTY3JlZW5SZXNvbHV0aW9uOmZ1bmN0aW9uKGUsbil7cygicmVzIixlKyJ4IituKX0sc2V0Vmlld3BvcnQ6ZnVuY3Rpb24oZSxuKXtzKCJ2cCIsZSsieCIrbil9LHNldENvbG9yRGVwdGg6ZnVuY3Rpb24oZSl7cygiY2QiLGUpfSxzZXRUaW1lem9uZTpmdW5jdGlvbihlKXtzKCJ0eiIsZSl9LHNldExhbmc6ZnVuY3Rpb24oZSl7cygibGFuZyIsZSl9LHNldElwQWRkcmVzczpmdW5jdGlvbihlKXtzKCJpcCIsZSl9LHNldFVzZXJhZ2VudDpmdW5jdGlvbihlKXtzKCJ1YSIsZSl9LGFkZEdsb2JhbENvbnRleHRzOmZ1bmN0aW9uKGUpe2EuYWRkR2xvYmFsQ29udGV4dHMoZSl9LGNsZWFyR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oKXthLmNsZWFyR2xvYmFsQ29udGV4dHMoKX0scmVtb3ZlR2xvYmFsQ29udGV4dHM6ZnVuY3Rpb24oZSl7YS5yZW1vdmVHbG9iYWxDb250ZXh0cyhlKX19O3JldHVybiBmfShudWxsPT1ufHxuLHUsYSkscz1yKHIoe30sYykse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0LHI9ZS5wbHVnaW47dS5wdXNoKHIpLG51bGw9PT0obj1yLmxvZ2dlcil8fHZvaWQgMD09PW58fG4uY2FsbChyLHApLG51bGw9PT0odD1yLmFjdGl2YXRlQ29yZVBsdWdpbil8fHZvaWQgMD09PXR8fHQuY2FsbChyLHMpfX0pO3JldHVybiBudWxsPT11fHx1LmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuLHQ7bnVsbD09PShuPWUubG9nZ2VyKXx8dm9pZCAwPT09bnx8bi5jYWxsKGUscCksbnVsbD09PSh0PWUuYWN0aXZhdGVDb3JlUGx1Z2luKXx8dm9pZCAwPT09dHx8dC5jYWxsKGUscyl9KSksc31mdW5jdGlvbiBEKGUpe3ZhciBuPWUuZXZlbnQsdD1uLnNjaGVtYSxyPW4uZGF0YSxvPXMoKSxpPXtzY2hlbWE6ImlnbHU6Y29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3Vuc3RydWN0X2V2ZW50L2pzb25zY2hlbWEvMS0wLTAiLGRhdGE6e3NjaGVtYTp0LGRhdGE6cn19O3JldHVybiBvLmFkZCgiZSIsInVlIiksby5hZGRKc29uKCJ1ZV9weCIsInVlX3ByIixpKSxvfXZhciBqPXQoMTk2MzczKSxVPXQubihqKTtmdW5jdGlvbiBSKGUsbix0KXt2b2lkIDA9PT10JiYodD02MzA3MmUzKTt0cnl7dmFyIHI9d2luZG93LmxvY2FsU3RvcmFnZSxvPURhdGUubm93KCkrMWUzKnQ7cmV0dXJuIHIuc2V0SXRlbSgiIi5jb25jYXQoZSwiLmV4cGlyZXMiKSxvLnRvU3RyaW5nKCkpLHIuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBOKGUpe3RyeXt2YXIgbj13aW5kb3cubG9jYWxTdG9yYWdlO3JldHVybiBuLnJlbW92ZUl0ZW0oZSksbi5yZW1vdmVJdGVtKGUrIi5leHBpcmVzIiksITB9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIEIoZSl7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShlKX1jYXRjaChlKXtyZXR1cm59fXZhciBfPXtzZXNzaW9uSWQ6ITAsc291cmNlSWQ6ITAsc291cmNlUGxhdGZvcm06ITEsdXNlcklkOiExLHJlYXNvbjohMX07ZnVuY3Rpb24gVihlKXtyZXR1cm4gYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoL1w9KyQvLCIiKX1mdW5jdGlvbiBNKGUpe3JldHVybiEoIWV8fCJzdHJpbmciIT10eXBlb2YgZS52YWx1ZU9mKCkpfWZ1bmN0aW9uIHooZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXImJk51bWJlci5pc0ludGVnZXIoZSl8fCJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSkmJk1hdGguZmxvb3IoZSk9PT1lfWZ1bmN0aW9uIEgoZSl7aWYoIU0oZSkpe2U9ZS50ZXh0fHwiIjt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKTtuJiZudWxsIT1uWzBdJiYoZT1uWzBdLnRleHQpfXJldHVybiBlfWZ1bmN0aW9uIEooZSl7dmFyIG49bmV3IFJlZ0V4cCgiXig/Oig/Omh0dHBzP3xmdHApOikvKig/OlteQF0rQCk/KFteOi8jXSspIikuZXhlYyhlKTtyZXR1cm4gbj9uWzFdOmV9ZnVuY3Rpb24gcShlKXt2YXIgbj1lLmxlbmd0aDtyZXR1cm4iLiI9PT1lLmNoYXJBdCgtLW4pJiYoZT1lLnNsaWNlKDAsbikpLCIqLiI9PT1lLnNsaWNlKDAsMikmJihlPWUuc2xpY2UoMSkpLGV9ZnVuY3Rpb24gRihlKXsKdmFyIG49d2luZG93LHQ9WCgicmVmZXJyZXIiLG4ubG9jYXRpb24uaHJlZil8fFgoInJlZmVyZXIiLG4ubG9jYXRpb24uaHJlZik7aWYodClyZXR1cm4gdDtpZihlKXJldHVybiBlO3RyeXtpZihuLnRvcClyZXR1cm4gbi50b3AuZG9jdW1lbnQucmVmZXJyZXI7aWYobi5wYXJlbnQpcmV0dXJuIG4ucGFyZW50LmRvY3VtZW50LnJlZmVycmVyfWNhdGNoKGUpe31yZXR1cm4gZG9jdW1lbnQucmVmZXJyZXJ9ZnVuY3Rpb24gRyhlLG4sdCxyKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyPyhlLmFkZEV2ZW50TGlzdGVuZXIobix0LHIpLCEwKTplLmF0dGFjaEV2ZW50P2UuYXR0YWNoRXZlbnQoIm9uIituLHQpOnZvaWQoZVsib24iK25dPXQpfWZ1bmN0aW9uIFgoZSxuKXt2YXIgdD1uZXcgUmVnRXhwKCJeW14jXSpbPyZdIitlKyI9KFteJiNdKikiKS5leGVjKG4pO3JldHVybiB0P2RlY29kZVVSSUNvbXBvbmVudCh0WzFdLnJlcGxhY2UoL1wrL2csIiAiKSk6bnVsbH1mdW5jdGlvbiBXKGUsbix0LHIpe1EoZSwiIiwtMSwiLyIsbix0LHIpfWZ1bmN0aW9uIFkoZSl7Zm9yKHZhciBuPWRvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKSx0PVtdLHI9MDtyPG4ubGVuZ3RoO3IrKyluW3JdLnN1YnN0cmluZygwLGUubGVuZ3RoKT09PWUmJnQucHVzaChuW3JdKTtyZXR1cm4gdH1mdW5jdGlvbiBRKGUsbix0LHIsbyxpLGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/ZG9jdW1lbnQuY29va2llPWUrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsIT1uP246IiIpKyh0PyI7IEV4cGlyZXM9IituZXcgRGF0ZSgrbmV3IERhdGUrMWUzKnQpLnRvVVRDU3RyaW5nKCk6IiIpKyhyPyI7IFBhdGg9IityOiIiKSsobz8iOyBEb21haW49IitvOiIiKSsoaT8iOyBTYW1lU2l0ZT0iK2k6IiIpKyhhPyI7IFNlY3VyZSI6IiIpOmRlY29kZVVSSUNvbXBvbmVudCgoKCI7ICIrZG9jdW1lbnQuY29va2llKS5zcGxpdCgiOyAiK2UrIj0iKVsxXXx8IiIpLnNwbGl0KCI7IilbMF0pfWZ1bmN0aW9uIFooKXt2YXIgZT0ibW9kZXJuaXpyIjtpZighZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3cubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiEwfX0oKSlyZXR1cm4hMTt0cnl7dmFyIG49d2luZG93LmxvY2FsU3RvcmFnZTtyZXR1cm4gbi5zZXRJdGVtKGUsZSksbi5yZW1vdmVJdGVtKGUpLCEwfWNhdGNoKGUpe3JldHVybiExfX12YXIgSz0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvd2ViX3BhZ2UvanNvbnNjaGVtYS8xLTAtMCIsJD0iaWdsdTpjb20uc25vd3Bsb3dhbmFseXRpY3Muc25vd3Bsb3cvYnJvd3Nlcl9jb250ZXh0L2pzb25zY2hlbWEvMi0wLTAiLGVlPSJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jbGllbnRfc2Vzc2lvbi9qc29uc2NoZW1hLzEtMC0yIjtmdW5jdGlvbiBuZShlLG4sdCxyLG8saSxhLHUsYyxzLGwsZixkLHYsZyxtLGgseSx3LGIpe3ZvaWQgMD09PXkmJih5PSEwKTt2YXIgayxTLHg9ITEsVD1bXSxJPSExLEE9ITA9PT0ocj0ic3RyaW5nIj09dHlwZW9mIHI/ci50b0xvd2VyQ2FzZSgpOnIpfHwiYmVhY29uIj09PXJ8fCJ0cnVlIj09PXIsQz1Cb29sZWFuKEEmJndpbmRvdy5uYXZpZ2F0b3ImJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJiEoZnVuY3Rpb24oZSxuKXt2YXIgdD1uLm1hdGNoKCIoaVAuKzsgQ1BVIC4qT1MgKGQrKVtfZF0qLiopIEFwcGxlV2ViS2l0LyIpO3JldHVybiEoIXR8fCF0Lmxlbmd0aCkmJnBhcnNlSW50KHRbMF0pPD1lfSgxMyxTPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KXx8ZnVuY3Rpb24oZSxuLHQpe3ZhciByPXQubWF0Y2goIihNYWNpbnRvc2g7LipNYWMgT1MgWCAoZCspXyhkKylbX2RdKi4qKSBBcHBsZVdlYktpdC8iKTtyZXR1cm4hKCFyfHwhci5sZW5ndGgpJiYocGFyc2VJbnQoclswXSk8PWV8fHBhcnNlSW50KHJbMF0pPT09ZSYmcGFyc2VJbnQoclsxXSk8PW4pfSgxMCwxNSxTKSYmZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIlZlcnNpb24vLiogU2FmYXJpLyIpJiYhZnVuY3Rpb24oZSl7cmV0dXJuIGUubWF0Y2goIkNocm9tKGV8aXVtKSIpfShlKX0oUykpKSYmQSxPPSJnZXQiPT09cixQPUJvb2xlYW4od2luZG93LlhNTEh0dHBSZXF1ZXN0JiYid2l0aENyZWRlbnRpYWxzImluIG5ldyBYTUxIdHRwUmVxdWVzdCksRT0hTyYmUCYmKCJwb3N0Ij09PXJ8fEEpLEw9RT9vOiIvaSIsRD0ic25vd3Bsb3dPdXRRdWV1ZV8iLmNvbmNhdChlLCJfIikuY29uY2F0KEU/InBvc3QyIjoiZ2V0Iik7aWYoQSYmKGQ9e30pLGk9dCYmWigpJiZFJiZpfHwxLHQpdHJ5e3ZhciBqPXdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShEKTtUPWo/SlNPTi5wYXJzZShqKTpbXX1jYXRjaChlKXt9ZnVuY3Rpb24gVShlKXt2YXIgbj1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybltuLGVbbl1dfSkpLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXt2YXIgdD1uWzBdLHI9blsxXTtyZXR1cm4gZVt0XT1yLnRvU3RyaW5nKCksZX0pLHt9KTtyZXR1cm57ZXZ0Om4sYnl0ZXM6TihKU09OLnN0cmluZ2lmeShuKSl9fWZ1bmN0aW9uIE4oZSl7Zm9yKHZhciBuPTAsdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lLmNoYXJDb2RlQXQodCk7cjw9MTI3P24rPTE6cjw9MjA0Nz9uKz0yOnI+PTU1Mjk2JiZyPD01NzM0Mz8obis9NCx0KyspOm4rPXI8NjU1MzU/Mzo0fXJldHVybiBufUFycmF5LmlzQXJyYXkoVCl8fChUPVtdKSxuLm91dFF1ZXVlcy5wdXNoKFQpLFAmJmk+MSYmbi5idWZmZXJGbHVzaGVycy5wdXNoKChmdW5jdGlvbihlKXt4fHxIKGUpfSkpO3ZhciBCPWZ1bmN0aW9uKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZVswXSYmImV2dCJpbiBlWzBdfTtmdW5jdGlvbiBfKGUsbil7dmFyIHQ9cShuLCEwLCExKSxyPUcoW2UuZXZ0XSk7dC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT09dC5yZWFkeVN0YXRlJiYoSih0LnN0YXR1cyk/bnVsbD09d3x8dyhyKTpudWxsPT1ifHxiKHtzdGF0dXM6dC5zdGF0dXMsbWVzc2FnZTp0LnN0YXR1c1RleHQsZXZlbnRzOnIsd2lsbFJldHJ5OiExfSkpfSwKdC5zZW5kKEYocikpfWZ1bmN0aW9uIFYoZSl7Zm9yKHZhciBuPTA7bjxlO24rKylULnNoaWZ0KCk7dCYmUihELEpTT04uc3RyaW5naWZ5KFQuc2xpY2UoMCxzKSkpfWZ1bmN0aW9uIHooZSxuLHQpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoND09PWUucmVhZHlTdGF0ZSlpZihjbGVhclRpbWVvdXQociksSihlLnN0YXR1cykpVihuKSxudWxsPT13fHx3KHQpLEgoKTtlbHNle3ZhciBvPWZ1bmN0aW9uKGUpe2lmKEooZSkpcmV0dXJuITE7aWYoIXkpcmV0dXJuITE7aWYoZy5pbmNsdWRlcyhlKSlyZXR1cm4hMDtyZXR1cm4hbS5pbmNsdWRlcyhlKX0oZS5zdGF0dXMpO298fChwLmVycm9yKCJTdGF0dXMgIi5jb25jYXQoZS5zdGF0dXMsIiwgd2lsbCBub3QgcmV0cnkuIikpLFYobikpLG51bGw9PWJ8fGIoe3N0YXR1czplLnN0YXR1cyxtZXNzYWdlOmUuc3RhdHVzVGV4dCxldmVudHM6dCx3aWxsUmV0cnk6b30pLHg9ITF9fTt2YXIgcj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuYWJvcnQoKSx5fHxWKG4pLG51bGw9PWJ8fGIoe3N0YXR1czowLG1lc3NhZ2U6InRpbWVvdXQiLGV2ZW50czp0LHdpbGxSZXRyeTp5fSkseD0hMX0pLGwpfWZ1bmN0aW9uIEgoZSl7Zm9yKHZvaWQgMD09PWUmJihlPSExKTtULmxlbmd0aCYmInN0cmluZyIhPXR5cGVvZiBUWzBdJiYib2JqZWN0IiE9dHlwZW9mIFRbMF07KVQuc2hpZnQoKTtpZihULmxlbmd0aCl7aWYoIU0oaykpdGhyb3ciTm8gY29sbGVjdG9yIGNvbmZpZ3VyZWQiO2lmKHg9ITAsaCYmIUkpe3ZhciBuPXEoaCwhMSxlKTtyZXR1cm4gST0hMCxuLnRpbWVvdXQ9bCxuLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1uLnJlYWR5U3RhdGUmJkgoKX0sdm9pZCBuLnNlbmQoKX1pZihQKXt2YXIgcj12b2lkIDAsbz12b2lkIDAsaT12b2lkIDA7aWYoQihUKT8obz1xKHI9aywhMCxlKSxpPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wLHQ9MDtuPGUubGVuZ3RoJiYhKCh0Kz1lW25dLmJ5dGVzKT49YSk7KW4rPTE7cmV0dXJuIG59KFQpKToobz1xKHI9WChUWzBdKSwhMSxlKSxpPTEpLEIoVCkpe3ZhciB1PVQuc2xpY2UoMCxpKTtpZih1Lmxlbmd0aD4wKXt2YXIgYz0hMSxkPXUubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ldnR9KSk7aWYoQyl7dmFyIHY9bmV3IEJsb2IoW0YoRyhkKSldLHt0eXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pO3RyeXtjPXdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihyLHYpfWNhdGNoKGUpe2M9ITF9fWlmKCEwPT09YylWKGkpLG51bGw9PXd8fHcodSksSCgpO2Vsc2V7dmFyIGc9RyhkKTt6KG8saSxnKSxvLnNlbmQoRihnKSl9fX1lbHNlIHoobyxpLFtyXSksby5zZW5kKCl9ZWxzZSBpZihmfHxCKFQpKXg9ITE7ZWxzZXt2YXIgcD1uZXcgSW1hZ2UoMSwxKSxtPSEwO3Aub25sb2FkPWZ1bmN0aW9uKCl7bSYmKG09ITEsVC5zaGlmdCgpLHQmJlIoRCxKU09OLnN0cmluZ2lmeShULnNsaWNlKDAscykpKSxIKCkpfSxwLm9uZXJyb3I9ZnVuY3Rpb24oKXttJiYobT0hMSx4PSExKX0scC5zcmM9WChUWzBdKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe20mJngmJihtPSExLEgoKSl9KSxsKX19ZWxzZSB4PSExfWZ1bmN0aW9uIEooZSl7cmV0dXJuIGU+PTIwMCYmZTwzMDB9ZnVuY3Rpb24gcShlLG4sdCl7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O2Zvcih2YXIgbyBpbiBuPyhyLm9wZW4oIlBPU1QiLGUsIXQpLHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCIpKTpyLm9wZW4oIkdFVCIsZSwhdCksci53aXRoQ3JlZGVudGlhbHM9dixmJiZyLnNldFJlcXVlc3RIZWFkZXIoIlNQLUFub255bW91cyIsIioiKSxkKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLG8pJiZyLnNldFJlcXVlc3RIZWFkZXIobyxkW29dKTtyZXR1cm4gcn1mdW5jdGlvbiBGKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7c2NoZW1hOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9wYXlsb2FkX2RhdGEvanNvbnNjaGVtYS8xLTAtNCIsZGF0YTplfSl9ZnVuY3Rpb24gRyhlKXtmb3IodmFyIG49KG5ldyBEYXRlKS5nZXRUaW1lKCkudG9TdHJpbmcoKSx0PTA7dDxlLmxlbmd0aDt0KyspZVt0XS5zdG09bjtyZXR1cm4gZX1mdW5jdGlvbiBYKGUpe3JldHVybiBjP2srZS5yZXBsYWNlKCI/IiwiP3N0bT0iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpKyImIik6aytlfXJldHVybntlbnF1ZXVlUmVxdWVzdDpmdW5jdGlvbihlLG4pe2s9bitMO3ZhciByPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHAud2FybigiRXZlbnQgKCIrZSsiQikgdG9vIGJpZywgbWF4IGlzICIrbil9O2lmKEUpe2lmKChmPVUoZSkpLmJ5dGVzPj1hKXJldHVybiByKGYuYnl0ZXMsYSksdm9pZCBfKGYsayk7VC5wdXNoKGYpfWVsc2V7dmFyIGM9ZnVuY3Rpb24oZSl7dmFyIG49Ij8iLHQ9e2NvOiEwLGN4OiEwfSxyPSEwO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJiF0Lmhhc093blByb3BlcnR5KG8pJiYocj9yPSExOm4rPSImIixuKz1lbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7Zm9yKHZhciBpIGluIHQpZS5oYXNPd25Qcm9wZXJ0eShpKSYmdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG4rPSImIitpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtpXSkpO3JldHVybiBufShlKTtpZih1PjApe3ZhciBsPU4oWChjKSk7aWYobD49dSl7dmFyIGY7aWYocihsLHUpLFApXyhmPVUoZSksbitvKTtyZXR1cm59fVQucHVzaChjKX12YXIgZD0hMTt0JiYoZD1SKEQsSlNPTi5zdHJpbmdpZnkoVC5zbGljZSgwLHMpKSkpLHh8fGQmJiEoVC5sZW5ndGg+PWkpfHxIKCl9LGV4ZWN1dGVRdWV1ZTpmdW5jdGlvbigpe3h8fEgoKX0sc2V0VXNlTG9jYWxTdG9yYWdlOmZ1bmN0aW9uKGUpe3Q9ZX0sc2V0QW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Zj1lfSxzZXRDb2xsZWN0b3JVcmw6ZnVuY3Rpb24oZSl7az1lK0x9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7aT1lfX19ZnVuY3Rpb24gdGUoZSxuLHQpe3ZhciByLG8saSxhCjtyZXR1cm4idHJhbnNsYXRlLmdvb2dsZXVzZXJjb250ZW50LmNvbSI9PT1lPygiIj09PXQmJih0PW4pLGU9SihuPW51bGwhPT0obz1uLGk9InUiLHI9KGE9bmV3IFJlZ0V4cCgiXig/Omh0dHBzP3xmdHApKD86Oi8qKD86W14/XSspKShbP11bXiNdKykiKS5leGVjKG8pKSYmKG51bGw9PWE/dm9pZCAwOmEubGVuZ3RoKT4xP1goaSxhWzFdKTpudWxsKSYmdm9pZCAwIT09cj9yOiIiKSk6ImNjLmJpbmdqLmNvbSIhPT1lJiYid2ViY2FjaGUuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiE9PWV8fChlPUoobj1kb2N1bWVudC5saW5rc1swXS5ocmVmKSksW2Usbix0XX1mdW5jdGlvbiByZShlLG4pe3ZvaWQgMD09PW4mJihuPXttZW1vcml6ZWRWaXNpdENvdW50OjF9KTt2YXIgdD1uLm1lbW9yaXplZFZpc2l0Q291bnQ7Y2UoZSk/KGVbN109ZVs2XSxlWzVdPWVbNF0sZVszXSsrKTplWzNdPXQ7dmFyIHI9KDAsaS52NCkoKTtyZXR1cm4gZVs2XT1yLGVbMTBdPTAsZVs4XT0iIixlWzldPXZvaWQgMCxyfWZ1bmN0aW9uIG9lKGUpe2VbNF09TWF0aC5yb3VuZCgobmV3IERhdGUpLmdldFRpbWUoKS8xZTMpfWZ1bmN0aW9uIGllKGUsbix0KXt2YXIgcj1lWzldO3JldHVybnt1c2VySWQ6dD8iMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIjplWzFdLHNlc3Npb25JZDplWzZdLGV2ZW50SW5kZXg6ZVsxMF0sc2Vzc2lvbkluZGV4OmVbM10scHJldmlvdXNTZXNzaW9uSWQ6dD9udWxsOmVbN118fG51bGwsc3RvcmFnZU1lY2hhbmlzbToibG9jYWxTdG9yYWdlIj09bj8iTE9DQUxfU1RPUkFHRSI6IkNPT0tJRV8xIixmaXJzdEV2ZW50SWQ6ZVs4XXx8bnVsbCxmaXJzdEV2ZW50VGltZXN0YW1wOnI/bmV3IERhdGUocikudG9JU09TdHJpbmcoKTpudWxsfX1mdW5jdGlvbiBhZShlKXtyZXR1cm4gZVs2XX1mdW5jdGlvbiB1ZShlKXtyZXR1cm4gZVszXX1mdW5jdGlvbiBjZShlKXtyZXR1cm4iMCI9PT1lWzBdfXZhciBzZSxsZT0hMTt2YXIgZmU9IngiO2Z1bmN0aW9uIGRlKCl7cmV0dXJuIlJlc2l6ZU9ic2VydmVyImluIHdpbmRvdz8oc2V8fChzZT12ZSgpKSxmdW5jdGlvbigpe2lmKCFsZSYmZG9jdW1lbnQmJmRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGU9ITA7dmFyIGU9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihlKXtmb3IodmFyIG49MCx0PWU7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci50YXJnZXQhPT1kb2N1bWVudC5ib2R5JiZyLnRhcmdldCE9PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KHNlPXZlKCkpfX0pKTtlLm9ic2VydmUoZG9jdW1lbnQuYm9keSksZS5vYnNlcnZlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl9fSgpLHNlKTp2ZSgpfWZ1bmN0aW9uIHZlKCl7cmV0dXJue3ZpZXdwb3J0OnBlKGdlKCkpLGRvY3VtZW50U2l6ZTpwZSgoZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1kb2N1bWVudC5ib2R5LHQ9bj9NYXRoLm1heChuLm9mZnNldEhlaWdodCxuLnNjcm9sbEhlaWdodCk6MCxyPU1hdGgubWF4KGUuY2xpZW50V2lkdGgsZS5vZmZzZXRXaWR0aCxlLnNjcm9sbFdpZHRoKSxvPU1hdGgubWF4KGUuY2xpZW50SGVpZ2h0LGUub2Zmc2V0SGVpZ2h0LGUuc2Nyb2xsSGVpZ2h0LHQpLGlzTmFOKHIpfHxpc05hTihvKT8iIjpyK2ZlK28pKSxyZXNvbHV0aW9uOnBlKHNjcmVlbi53aWR0aCtmZStzY3JlZW4uaGVpZ2h0KSxjb2xvckRlcHRoOnNjcmVlbi5jb2xvckRlcHRoLGRldmljZVBpeGVsUmF0aW86d2luZG93LmRldmljZVBpeGVsUmF0aW8sY29va2llc0VuYWJsZWQ6d2luZG93Lm5hdmlnYXRvci5jb29raWVFbmFibGVkLG9ubGluZTp3aW5kb3cubmF2aWdhdG9yLm9uTGluZSxicm93c2VyTGFuZ3VhZ2U6d2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXx8d2luZG93Lm5hdmlnYXRvci51c2VyTGFuZ3VhZ2UsZG9jdW1lbnRMYW5ndWFnZTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyx3ZWJkcml2ZXI6d2luZG93Lm5hdmlnYXRvci53ZWJkcml2ZXIsZGV2aWNlTWVtb3J5OndpbmRvdy5uYXZpZ2F0b3IuZGV2aWNlTWVtb3J5LGhhcmR3YXJlQ29uY3VycmVuY3k6d2luZG93Lm5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5fTt2YXIgZSxuLHQscixvfWZ1bmN0aW9uIGdlKCl7dmFyIGUsbjtpZigiaW5uZXJXaWR0aCJpbiB3aW5kb3cpZT13aW5kb3cuaW5uZXJXaWR0aCxuPXdpbmRvdy5pbm5lckhlaWdodDtlbHNle3ZhciB0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keTtlPXQuY2xpZW50V2lkdGgsbj10LmNsaWVudEhlaWdodH1yZXR1cm4gZT49MCYmbj49MD9lK2ZlK246bnVsbH1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZSYmZS5zcGxpdChmZSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5mbG9vcihOdW1iZXIoZSkpfSkpLmpvaW4oZmUpfWZ1bmN0aW9uIG1lKGUsbix0LGEsdSxjKXt2b2lkIDA9PT1jJiYoYz17fSk7dmFyIGw9W10sZj1mdW5jdGlvbihlLG4sdCxhLHUsYyl7dmFyIGYsZCx2LGcsbSxoLHksdyxiLGssUyx4LFQsSSxBLEMsTyxQLEUsRCxqLE0sWixzZSxsZSxmZSx2ZSxnZSxwZTtjLmV2ZW50TWV0aG9kPW51bGwhPT0oZj1jLmV2ZW50TWV0aG9kKSYmdm9pZCAwIT09Zj9mOiJwb3N0Ijt2YXIgbWUsaGUseWU9ZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIG51bGwhPT0obj1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5KSYmdm9pZCAwIT09bj9uOiJjb29raWVBbmRMb2NhbFN0b3JhZ2UifSx3ZT1mdW5jdGlvbihlKXt2YXIgbix0O3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXNzaW9uVHJhY2tpbmcpKSYmdm9pZCAwIT09dCYmdCl9LGJlPWZ1bmN0aW9uKGUpe3ZhciBuLHQKO3JldHVybiJib29sZWFuIiE9dHlwZW9mIGUuYW5vbnltb3VzVHJhY2tpbmcmJihudWxsIT09KHQ9ITA9PT0obnVsbD09PShuPWUuYW5vbnltb3VzVHJhY2tpbmcpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLndpdGhTZXJ2ZXJBbm9ueW1pc2F0aW9uKSkmJnZvaWQgMCE9PXQmJnQpfSxrZT1mdW5jdGlvbihlKXtyZXR1cm4hIWUuYW5vbnltb3VzVHJhY2tpbmd9LFNlPW51bGwhPT0odj1udWxsPT09KGQ9bnVsbD09Yz92b2lkIDA6Yy5jb250ZXh0cyl8fHZvaWQgMD09PWQ/dm9pZCAwOmQuYnJvd3NlcikmJnZvaWQgMCE9PXYmJnYseGU9bnVsbD09PShtPW51bGw9PT0oZz1udWxsPT1jP3ZvaWQgMDpjLmNvbnRleHRzKXx8dm9pZCAwPT09Zz92b2lkIDA6Zy53ZWJQYWdlKXx8dm9pZCAwPT09bXx8bTtsLnB1c2goKG1lPWZ1bmN0aW9uKGUpe3JldHVybiBmbj9udWxsOmV9LGhlPWZ1bmN0aW9uKGUpe3JldHVybiBzbj9lOm1lKGUpfSx7YmVmb3JlVHJhY2s6ZnVuY3Rpb24oZSl7dmFyIG49Qm4oInNlcyIpLHQ9UW4oKSxyPTA9PT1mdW5jdGlvbihlKXtyZXR1cm4gZVsxMF19KHQpO2lmKFZlPSEhUGUmJiEhUShQZSksYW58fFZlKVhuKCk7ZWxzZXtjZSh0KT8oQmU9bnx8Im5vbmUiPT1kbj9hZSh0KTpyZSh0KSxnbj11ZSh0KSk6KG5ldyBEYXRlKS5nZXRUaW1lKCktdm4+MWUzKmNuJiYoZ24rKyxCZT1yZSh0LHttZW1vcml6ZWRWaXNpdENvdW50OmdufSkpLG9lKHQpLGZ1bmN0aW9uKGUsbil7aWYoMD09PWVbMTBdKXt2YXIgdD1uLmJ1aWxkKCk7ZVs4XT10LmVpZDt2YXIgcj10LmR0bXx8dC50dG07ZVs5XT1yP3BhcnNlSW50KHIpOnZvaWQgMH19KHQsZSksZnVuY3Rpb24oZSl7ZVsxMF0rPTF9KHQpO3ZhciBvPWRlKCksaT1vLnZpZXdwb3J0LGE9by5kb2N1bWVudFNpemU7ZS5hZGQoInZwIixpKSxlLmFkZCgiZHMiLGEpLGUuYWRkKCJ2aWQiLGhlKGduKSksZS5hZGQoInNpZCIsaGUoQmUpKSxlLmFkZCgiZHVpZCIsbWUoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV19KHQpKSksZS5hZGQoInVpZCIsbWUoX2UpKSxMbigpLGUuYWRkKCJyZWZyIixVbihUZXx8R2UpKSxlLmFkZCgidXJsIixVbihJZXx8RmUpKTt2YXIgdT1pZSh0LGRuLGZuKTtpZighYm58fGZuJiYhc258fGZ1bmN0aW9uKGUsbil7dmFyIHQ9e3NjaGVtYTplZSxkYXRhOm59O2UuYWRkQ29udGV4dEVudGl0eSh0KX0oZSx1KSwibm9uZSIhPWRuKXtGbih0KTt2YXIgYz1xbigpO24mJiFyfHwhY3x8IWtufHxTbnx8KGtuKHUpLFNuPSExKX12bj0obmV3IERhdGUpLmdldFRpbWUoKX19fSkpLHhlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6SyxkYXRhOntpZDokbigpfX1dfX0pLFNlJiZsLnB1c2goe2NvbnRleHRzOmZ1bmN0aW9uKCl7cmV0dXJuW3tzY2hlbWE6JCxkYXRhOnIocih7fSxkZSgpKSx7dGFiSWQ6ZXQoKX0pfV19fSksbC5wdXNoLmFwcGx5KGwsbnVsbCE9PShoPWMucGx1Z2lucykmJnZvaWQgMCE9PWg/aDpbXSk7dmFyIFRlLEllLEFlLENlLE9lLFBlLEVlLExlLERlLGplLFVlLFJlLE5lLEJlLF9lLFZlLE1lLHplPUwoe2Jhc2U2NDpjLmVuY29kZUJhc2U2NCxjb3JlUGx1Z2luczpsLGNhbGxiYWNrOmZ1bmN0aW9uKGUpe2FufHxWZXx8cG4uZW5xdWV1ZVJlcXVlc3QoZS5idWlsZCgpLFdlKX0KfSksSGU9ZG9jdW1lbnQuY2hhcmFjdGVyU2V0fHxkb2N1bWVudC5jaGFyc2V0LEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpLHFlPXEoSmVbMF0pLEZlPUplWzFdLEdlPUplWzJdLFhlPW51bGwhPT0oeT1jLnBsYXRmb3JtKSYmdm9pZCAwIT09eT95OiJ3ZWIiLFdlPVpuKGEpLFllPW51bGwhPT0odz1jLnBvc3RQYXRoKSYmdm9pZCAwIT09dz93OiIvY29tLnNub3dwbG93YW5hbHl0aWNzLnNub3dwbG93L3RwMiIsUWU9bnVsbCE9PShiPWMuYXBwSWQpJiZ2b2lkIDAhPT1iP2I6IiIsWmU9ZG9jdW1lbnQudGl0bGUsS2U9bnVsbD09PShrPWMucmVzZXRBY3Rpdml0eVRyYWNraW5nT25QYWdlVmlldyl8fHZvaWQgMD09PWt8fGssJGU9bnVsbCE9PShTPWMuY29va2llTmFtZSkmJnZvaWQgMCE9PVM/UzoiX3NwXyIsZW49bnVsbCE9PSh4PWMuY29va2llRG9tYWluKSYmdm9pZCAwIT09eD94OnZvaWQgMCxubj0iLyIsdG49bnVsbCE9PShUPWMuY29va2llU2FtZVNpdGUpJiZ2b2lkIDAhPT1UP1Q6Ik5vbmUiLHJuPW51bGw9PT0oST1jLmNvb2tpZVNlY3VyZSl8fHZvaWQgMD09PUl8fEksb249d2luZG93Lm5hdmlnYXRvci5kb05vdFRyYWNrfHx3aW5kb3cubmF2aWdhdG9yLm1zRG9Ob3RUcmFja3x8d2luZG93LmRvTm90VHJhY2ssYW49dm9pZCAwIT09Yy5yZXNwZWN0RG9Ob3RUcmFjayYmKGMucmVzcGVjdERvTm90VHJhY2smJigieWVzIj09PW9ufHwiMSI9PT1vbikpLHVuPW51bGwhPT0oQT1jLmNvb2tpZUxpZmV0aW1lKSYmdm9pZCAwIT09QT9BOjYzMDcyZTMsY249bnVsbCE9PShDPWMuc2Vzc2lvbkNvb2tpZVRpbWVvdXQpJiZ2b2lkIDAhPT1DP0M6MTgwMCxzbj13ZShjKSxsbj1iZShjKSxmbj1rZShjKSxkbj15ZShjKSx2bj0obmV3IERhdGUpLmdldFRpbWUoKSxnbj0xLHBuPW5lKGUsdSwibG9jYWxTdG9yYWdlIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbixjLmV2ZW50TWV0aG9kLFllLG51bGwhPT0oTz1jLmJ1ZmZlclNpemUpJiZ2b2lkIDAhPT1PP086MSxudWxsIT09KFA9Yy5tYXhQb3N0Qnl0ZXMpJiZ2b2lkIDAhPT1QP1A6NGU0LG51bGwhPT0oRT1jLm1heEdldEJ5dGVzKSYmdm9pZCAwIT09RT9FOjAsbnVsbD09PShEPWMudXNlU3RtKXx8dm9pZCAwPT09RHx8RCxudWxsIT09KGo9Yy5tYXhMb2NhbFN0b3JhZ2VRdWV1ZVNpemUpJiZ2b2lkIDAhPT1qP2o6MWUzLG51bGwhPT0oTT1jLmNvbm5lY3Rpb25UaW1lb3V0KSYmdm9pZCAwIT09TT9NOjVlMyxsbixudWxsIT09KFo9Yy5jdXN0b21IZWFkZXJzKSYmdm9pZCAwIT09Wj9aOnt9LG51bGw9PT0oc2U9Yy53aXRoQ3JlZGVudGlhbHMpfHx2b2lkIDA9PT1zZXx8c2UsbnVsbCE9PShsZT1jLnJldHJ5U3RhdHVzQ29kZXMpJiZ2b2lkIDAhPT1sZT9sZTpbXSwobnVsbCE9PShmZT1jLmRvbnRSZXRyeVN0YXR1c0NvZGVzKSYmdm9pZCAwIT09ZmU/ZmU6W10pLmNvbmNhdChbNDAwLDQwMSw0MDMsNDEwLDQyMl0pLGMuaWRTZXJ2aWNlLGMucmV0cnlGYWlsZWRSZXF1ZXN0cyxjLm9uUmVxdWVzdFN1Y2Nlc3MsYy5vblJlcXVlc3RGYWlsdXJlKSxtbj0hMSxobj1udWxsIT09KHZlPWMucHJlc2VydmVQYWdlVmlld0lkRm9yVXJsKSYmdm9pZCAwIT09dmUmJnZlLHluPXZvaWQgMCx3bj17ZW5hYmxlZDohMSxpbnN0YWxsZWQ6ITEsY29uZmlndXJhdGlvbnM6e319LGJuPW51bGwhPT0ocGU9bnVsbD09PShnZT1jLmNvbnRleHRzKXx8dm9pZCAwPT09Z2U/dm9pZCAwOmdlLnNlc3Npb24pJiZ2b2lkIDAhPT1wZSYmcGUsa249Yy5vblNlc3Npb25VcGRhdGVDYWxsYmFjayxTbj0hMSx4bj0iYm9vbGVhbiI9PXR5cGVvZihNZT1jLnVzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXJ8fCExKT97dXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcjpNZX06e3VzZUV4dGVuZGVkQ3Jvc3NEb21haW5MaW5rZXI6ITAsY29sbGVjdENyb3NzRG9tYWluQXR0cmlidXRlczpNZX0sVG49eG4udXNlRXh0ZW5kZWRDcm9zc0RvbWFpbkxpbmtlcixJbj14bi5jb2xsZWN0Q3Jvc3NEb21haW5BdHRyaWJ1dGVzO2MuaGFzT3duUHJvcGVydHkoImRpc2NvdmVyUm9vdERvbWFpbiIpJiZjLmRpc2NvdmVyUm9vdERvbWFpbiYmKGVuPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PXdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxyPSJfc3Bfcm9vdF9kb21haW5fdGVzdF8iLG89cisobmV3IERhdGUpLmdldFRpbWUoKSxpPSJfdGVzdF92YWx1ZV8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLGE9dC5zcGxpdCgiLiIpLHU9YS5sZW5ndGgtMjt1Pj0wO3UtLSl7dmFyIGM9YS5zbGljZSh1KS5qb2luKCIuIik7aWYoUShvLGksMCwiLyIsYyxlLG4pLFEobyk9PT1pKXtXKG8sYyxlLG4pO2Zvcih2YXIgcz1ZKHIpLGw9MDtsPHMubGVuZ3RoO2wrKylXKHNbbF0sYyxlLG4pO3JldHVybiBjfX1yZXR1cm4gdH0odG4scm4pKTt2YXIgQW49ZGUoKSxDbj1Bbi5icm93c2VyTGFuZ3VhZ2UsT249QW4ucmVzb2x1dGlvbixQbj1Bbi5jb2xvckRlcHRoLEVuPUFuLmNvb2tpZXNFbmFibGVkO2Z1bmN0aW9uIExuKCl7KEplPXRlKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSx3aW5kb3cubG9jYXRpb24uaHJlZixGKCkpKVsxXSE9PUZlJiYoR2U9RihGZSkpLHFlPXEoSmVbMF0pLEZlPUplWzFdfWZ1bmN0aW9uIERuKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD1uLmN1cnJlbnRUYXJnZXQsbz1mdW5jdGlvbihlLG4sdCl7dmFyIG8saT0obmV3IERhdGUpLmdldFRpbWUoKSxhPXIocih7fSxfKSxuKSx1PXQuZG9tYWluVXNlcklkLGM9dC51c2VySWQscz10LnNlc3Npb25JZCxsPXQuc291cmNlSWQsZj10LnNvdXJjZVBsYXRmb3JtLGQ9dC5ldmVudCx2PWQuY3VycmVudFRhcmdldCxnPSJmdW5jdGlvbiI9PXR5cGVvZiBhLnJlYXNvbj9hLnJlYXNvbihkKTpudWxsPT09KG89bnVsbD09dj92b2lkIDA6di50ZXh0Q29udGVudCl8fHZvaWQgMD09PW8/dm9pZCAwOm8udHJpbSgpCjtyZXR1cm4gZT9bdSxpLGEuc2Vzc2lvbklkJiZzLGEudXNlcklkJiZWKGN8fCIiKSxhLnNvdXJjZUlkJiZWKGx8fCIiKSxhLnNvdXJjZVBsYXRmb3JtJiZmLGEucmVhc29uJiZWKGd8fCIiKV0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZXx8IiJ9KSkuam9pbigiLiIpLnJlcGxhY2UoLyhbLl0qJCkvLCIiKTp0LmRvbWFpblVzZXJJZCsiLiIraX0oZSxJbix7ZG9tYWluVXNlcklkOk5lLHVzZXJJZDpfZXx8dm9pZCAwLHNlc3Npb25JZDpCZSxzb3VyY2VJZDpRZSxzb3VyY2VQbGF0Zm9ybTpYZSxldmVudDpufSk7KG51bGw9PXQ/dm9pZCAwOnQuaHJlZikmJih0LmhyZWY9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPW4rIj0iK3Qsbz1lLnNwbGl0KCIjIiksaT1vWzBdLnNwbGl0KCI/IiksYT1pLnNoaWZ0KCksdT1pLmpvaW4oIj8iKTtpZih1KXtmb3IodmFyIGM9ITAscz11LnNwbGl0KCImIiksbD0wO2w8cy5sZW5ndGg7bCsrKWlmKHNbbF0uc3Vic3RyKDAsbi5sZW5ndGgrMSk9PT1uKyI9Iil7Yz0hMSxzW2xdPXIsdT1zLmpvaW4oIiYiKTticmVha31jJiYodT1yKyImIit1KX1lbHNlIHU9cjtyZXR1cm4gb1swXT1hKyI/Iit1LG8uam9pbigiIyIpfSh0LmhyZWYsIl9zcCIsbykpfX1mdW5jdGlvbiBqbihlKXtmb3IodmFyIG49RG4oVG4pLHQ9MDt0PGRvY3VtZW50LmxpbmtzLmxlbmd0aDt0Kyspe3ZhciByPWRvY3VtZW50LmxpbmtzW3RdOyFyLnNwRGVjb3JhdGlvbkVuYWJsZWQmJmUocikmJihyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCEwKSxyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMCksci5zcERlY29yYXRpb25FbmFibGVkPSEwKX19ZnVuY3Rpb24gVW4oZSl7dmFyIG47cmV0dXJuIENlJiYobj1uZXcgUmVnRXhwKCIjLioiKSxlPWUucmVwbGFjZShuLCIiKSksT2UmJihuPW5ldyBSZWdFeHAoIlt7fV0iLCJnIiksZT1lLnJlcGxhY2UobiwiIikpLGV9ZnVuY3Rpb24gUm4oZSl7dmFyIG49bmV3IFJlZ0V4cCgiXihbYS16XSspOiIpLmV4ZWMoZSk7cmV0dXJuIG4/blsxXTpudWxsfWZ1bmN0aW9uIE5uKGUpe3JldHVybiAkZStlKyIuIitSZX1mdW5jdGlvbiBCbihlKXt2YXIgbj1ObihlKTtyZXR1cm4ibG9jYWxTdG9yYWdlIj09ZG4/ZnVuY3Rpb24oZSl7dHJ5e3ZhciBuPXdpbmRvdy5sb2NhbFN0b3JhZ2UsdD1uLmdldEl0ZW0oZSsiLmV4cGlyZXMiKTtyZXR1cm4gbnVsbD09PXR8fCt0PkRhdGUubm93KCk/bi5nZXRJdGVtKGUpOihuLnJlbW92ZUl0ZW0oZSksdm9pZCBuLnJlbW92ZUl0ZW0oZSsiLmV4cGlyZXMiKSl9Y2F0Y2goZSl7cmV0dXJufX0obik6ImNvb2tpZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4/UShuKTp2b2lkIDB9ZnVuY3Rpb24gX24oKXtMbigpLFJlPVUoKSgoZW58fHFlKSsobm58fCIvIikpLnNsaWNlKDAsNCl9ZnVuY3Rpb24gVm4oKXt2YXIgZT1uZXcgRGF0ZTtFZT1lLmdldFRpbWUoKX1mdW5jdGlvbiBNbigpeyFmdW5jdGlvbigpe3ZhciBlPXpuKCksbj1lWzBdO248TGU/TGU9bjpuPkRlJiYoRGU9bik7dmFyIHQ9ZVsxXTt0PGplP2plPXQ6dD5VZSYmKFVlPXQpfSgpLFZuKCl9ZnVuY3Rpb24gem4oKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGU/W2Uuc2Nyb2xsTGVmdHx8d2luZG93LnBhZ2VYT2Zmc2V0LGUuc2Nyb2xsVG9wfHx3aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfWZ1bmN0aW9uIEhuKCl7dmFyIGU9em4oKSxuPWVbMF07TGU9bixEZT1uO3ZhciB0PWVbMV07amU9dCxVZT10fWZ1bmN0aW9uIEpuKGUpe3JldHVybiBNYXRoLnJvdW5kKGUpfWZ1bmN0aW9uIHFuKCl7cmV0dXJuIEduKE5uKCJzZXMiKSwiKiIsY24pfWZ1bmN0aW9uIEZuKGUpe3ZhciBuPU5uKCJpZCIpLHQ9ZnVuY3Rpb24oZSxuKXt2YXIgdD1vKFtdLGUsITApO3JldHVybiBuJiYodFsxXT0iIix0WzddPSIiKSx0LnNoaWZ0KCksdC5qb2luKCIuIil9KGUsZm4pO3JldHVybiBHbihuLHQsdW4pfWZ1bmN0aW9uIEduKGUsbix0KXtyZXR1cm4hKGZuJiYhc24pJiYoImxvY2FsU3RvcmFnZSI9PWRuP1IoZSxuLHQpOigiY29va2llIj09ZG58fCJjb29raWVBbmRMb2NhbFN0b3JhZ2UiPT1kbikmJihRKGUsbix0LG5uLGVuLHRuLHJuKSwtMSE9PWRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCIiLmNvbmNhdChlLCI9IikpKSl9ZnVuY3Rpb24gWG4oZSl7dmFyIG49Tm4oImlkIiksdD1Obigic2VzIik7TihuKSxOKHQpLFcobixlbix0bixybiksVyh0LGVuLHRuLHJuKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVNlc3Npb24pfHwoQmU9KDAsaS52NCkoKSxnbj0xKSwobnVsbD09ZT92b2lkIDA6ZS5wcmVzZXJ2ZVVzZXIpfHwoTmU9Zm4/IiI6KDAsaS52NCkoKSxfZT1udWxsKX1mdW5jdGlvbiBXbihlKXtlJiZlLnN0YXRlU3RvcmFnZVN0cmF0ZWd5JiYoYy5zdGF0ZVN0b3JhZ2VTdHJhdGVneT1lLnN0YXRlU3RvcmFnZVN0cmF0ZWd5LGRuPXllKGMpKSxmbj1rZShjKSxzbj13ZShjKSxsbj1iZShjKSxwbi5zZXRVc2VMb2NhbFN0b3JhZ2UoImxvY2FsU3RvcmFnZSI9PWRufHwiY29va2llQW5kTG9jYWxTdG9yYWdlIj09ZG4pLHBuLnNldEFub255bW91c1RyYWNraW5nKGxuKX1mdW5jdGlvbiBZbigpe2lmKCFmbnx8c24pe3ZhciBlPSJub25lIiE9ZG4mJiEhQm4oInNlcyIpLG49UW4oKTtOZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBlWzFdP3Q9ZVsxXTpuPyh0PSIiLGVbMV09dCk6KHQ9KDAsaS52NCkoKSxlWzFdPXQpLHR9KG4sZm4pLEJlPWU/YWUobik6cmUobiksZ249dWUobiksIm5vbmUiIT1kbiYmKHFuKCksb2UobiksRm4obikpfX1mdW5jdGlvbiBRbigpe3JldHVybiJub25lIj09ZG4/WyIxIiwiIiwwLDAsMCx2b2lkIDAsIiIsIiIsIiIsdm9pZCAwLDBdOmZ1bmN0aW9uKGUsbix0LHIpe3ZhciBvLGE9bmV3IERhdGUsdT1NYXRoLnJvdW5kKGEuZ2V0VGltZSgpLzFlMyk7ZT8obz1lLnNwbGl0KCIuIikpLnVuc2hpZnQoIjAiKTpvPVsiMSIsbix1LHIsdSwiIix0XSxvWzZdJiYidW5kZWZpbmVkIiE9PW9bNl18fChvWzZdPSgwLGkudjQpKCkpLG9bN10mJiJ1bmRlZmluZWQiIT09b1s3XXx8KG9bN109IiIpLApvWzhdJiYidW5kZWZpbmVkIiE9PW9bOF18fChvWzhdPSIiKSxvWzldJiYidW5kZWZpbmVkIiE9PW9bOV18fChvWzldPSIiKSxvWzEwXSYmInVuZGVmaW5lZCIhPT1vWzEwXXx8KG9bMTBdPTApO3ZhciBjPWZ1bmN0aW9uKGUsbil7dmFyIHQ9cGFyc2VJbnQoZSk7cmV0dXJuIGlzTmFOKHQpP246dH0scz1mdW5jdGlvbihlKXtyZXR1cm4gZT9jKGUsdm9pZCAwKTp2b2lkIDB9O3JldHVybltvWzBdLG9bMV0sYyhvWzJdLHUpLGMob1szXSxyKSxjKG9bNF0sdSkscyhvWzVdKSxvWzZdLG9bN10sb1s4XSxzKG9bOV0pLGMob1sxMF0sMCldfShCbigiaWQiKXx8dm9pZCAwLE5lLEJlLGduKX1mdW5jdGlvbiBabihlKXtyZXR1cm4gMD09PWUuaW5kZXhPZigiaHR0cCIpP2U6KCJodHRwczoiPT09ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2w/Imh0dHBzIjoiaHR0cCIpKyI6Ly8iK2V9ZnVuY3Rpb24gS24oKXttbiYmbnVsbCE9dS5wYWdlVmlld0lkfHwodS5wYWdlVmlld0lkPSgwLGkudjQpKCksdS5wYWdlVmlld1VybD1JZXx8RmUpfWZ1bmN0aW9uICRuKCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYobnVsbD09dS5wYWdlVmlld0lkKXJldHVybiEwO2lmKG1ufHwhaG4pcmV0dXJuITE7aWYodm9pZCAwPT09dS5wYWdlVmlld1VybClyZXR1cm4hMDt2YXIgZT1JZXx8RmU7aWYoITA9PT1obnx8ImZ1bGwiPT1obnx8ISgiVVJMImluIHdpbmRvdykpcmV0dXJuIHUucGFnZVZpZXdVcmwhPWU7dmFyIG49bmV3IFVSTChlKSx0PW5ldyBVUkwodS5wYWdlVmlld1VybCk7aWYoInBhdGhuYW1lIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWU7aWYoInBhdGhuYW1lQW5kU2VhcmNoIj09aG4pcmV0dXJuIG4ucGF0aG5hbWUhPXQucGF0aG5hbWV8fG4uc2VhcmNoIT10LnNlYXJjaDtyZXR1cm4hMX0oKSYmKHUucGFnZVZpZXdJZD0oMCxpLnY0KSgpLHUucGFnZVZpZXdVcmw9SWV8fEZlKSx1LnBhZ2VWaWV3SWR9ZnVuY3Rpb24gZXQoKXtpZigibm9uZSI9PT1kbnx8Zm58fCF4ZSlyZXR1cm4gbnVsbDt2YXIgZT0iX3NwX3RhYl9pZCIsbj1CKGUpO3JldHVybiBufHwoIWZ1bmN0aW9uKGUsbil7dHJ5e3JldHVybiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlLG4pLCEwfWNhdGNoKGUpe3JldHVybiExfX0oZSwoMCxpLnY0KSgpKSxuPUIoZSkpLG58fG51bGx9ZnVuY3Rpb24gbnQoZSxuKXtyZXR1cm4oZXx8W10pLmNvbmNhdChuP24oKTpbXSl9ZnVuY3Rpb24gdHQoZSl7dmFyIG49ZS50aXRsZSx0PWUuY29udGV4dCxyPWUudGltZXN0YW1wLG89ZS5jb250ZXh0Q2FsbGJhY2s7TG4oKSx5biYmeW49PSRuKCkmJktuKCkseW49JG4oKSxaZT1kb2N1bWVudC50aXRsZTt2YXIgaT1IKChBZT1udWxsIT1uP246QWUpfHxaZSk7emUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89cygpO3JldHVybiBvLmFkZCgiZSIsInB2Iiksby5hZGQoInVybCIsbiksby5hZGQoInBhZ2UiLHQpLG8uYWRkKCJyZWZyIixyKSxvfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTppLHJlZmVycmVyOlVuKFRlfHxHZSl9KSxudCh0LG8pLHIpO3ZhciBhPW5ldyBEYXRlLHU9ITE7aWYod24uZW5hYmxlZCYmIXduLmluc3RhbGxlZCl7d24uaW5zdGFsbGVkPSEwLHU9ITA7dmFyIGM9e3VwZGF0ZTpmdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXIpe3ZhciBlPSExLG49T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ZT0hMH0sc2V0OmZ1bmN0aW9uKCl7fX0pLHQ9ZnVuY3Rpb24oKXt9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUV2ZW50U3VwcG9ydCIsdCxuKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmVFdmVudFN1cHBvcnQiLHQsbiksYy5oYXNTdXBwb3J0PWV9fX07Yy51cGRhdGUoKTt2YXIgbD0ib253aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKT8id2hlZWwiOnZvaWQgMCE9PWRvY3VtZW50Lm9ubW91c2V3aGVlbD8ibW91c2V3aGVlbCI6IkRPTU1vdXNlU2Nyb2xsIjtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYywiaGFzU3VwcG9ydCIpP0coZG9jdW1lbnQsbCxWbix7cGFzc2l2ZTohMH0pOkcoZG9jdW1lbnQsbCxWbiksSG4oKTt2YXIgZj1mdW5jdGlvbihlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1WbiksZnVuY3Rpb24oZSl7cmV0dXJuIEcoZG9jdW1lbnQsZSxuKX19O1siY2xpY2siLCJtb3VzZXVwIiwibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwia2V5cHJlc3MiLCJrZXlkb3duIiwia2V5dXAiLCJ0b3VjaGVuZCIsInRvdWNoc3RhcnQiXS5mb3JFYWNoKGYoZG9jdW1lbnQpKSxbInJlc2l6ZSIsImZvY3VzIiwiYmx1ciJdLmZvckVhY2goZih3aW5kb3cpKSxmKHdpbmRvdyxNbikoInNjcm9sbCIpfWlmKHduLmVuYWJsZWQmJihLZXx8dSkpe0VlPWEuZ2V0VGltZSgpO3ZhciBkPXZvaWQgMDtmb3IoZCBpbiB3bi5jb25maWd1cmF0aW9ucyl7dmFyIHY9d24uY29uZmlndXJhdGlvbnNbZF07diYmKHdpbmRvdy5jbGVhckludGVydmFsKHYuYWN0aXZpdHlJbnRlcnZhbCkscnQodix0LG8pKX19fWZ1bmN0aW9uIHJ0KGUsbix0KXt2YXIgcj1mdW5jdGlvbihlLG4pe0xuKCksZSh7Y29udGV4dDpuLHBhZ2VWaWV3SWQ6JG4oKSxtaW5YT2Zmc2V0OkxlLG1pbllPZmZzZXQ6amUsbWF4WE9mZnNldDpEZSxtYXhZT2Zmc2V0OlVlfSksSG4oKX0sbz1mdW5jdGlvbigpe3ZhciBvPW5ldyBEYXRlO0VlK2UuY29uZmlnSGVhcnRCZWF0VGltZXI+by5nZXRUaW1lKCkmJnIoZS5jYWxsYmFjayxudChuLHQpKX07MD09PWUuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoP2UuYWN0aXZpdHlJbnRlcnZhbD13aW5kb3cuc2V0SW50ZXJ2YWwobyxlLmNvbmZpZ0hlYXJ0QmVhdFRpbWVyKTplLmFjdGl2aXR5SW50ZXJ2YWw9d2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIGk9bmV3IERhdGUKO0VlK2UuY29uZmlnTWluaW11bVZpc2l0TGVuZ3RoPmkuZ2V0VGltZSgpJiZyKGUuY2FsbGJhY2ssbnQobix0KSksZS5hY3Rpdml0eUludGVydmFsPXdpbmRvdy5zZXRJbnRlcnZhbChvLGUuY29uZmlnSGVhcnRCZWF0VGltZXIpfSksZS5jb25maWdNaW5pbXVtVmlzaXRMZW5ndGgpfWZ1bmN0aW9uIG90KGUpe3ZhciBuPWUubWluaW11bVZpc2l0TGVuZ3RoLHQ9ZS5oZWFydGJlYXREZWxheSxyPWUuY2FsbGJhY2s7aWYoeihuKSYmeih0KSlyZXR1cm57Y29uZmlnTWluaW11bVZpc2l0TGVuZ3RoOjFlMypuLGNvbmZpZ0hlYXJ0QmVhdFRpbWVyOjFlMyp0LGNhbGxiYWNrOnJ9O3AuZXJyb3IoIkFjdGl2aXR5IHRyYWNraW5nIG1pbmltdW1WaXNpdExlbmd0aCAmIGhlYXJ0YmVhdERlbGF5IG11c3QgYmUgaW50ZWdlcnMiKX1mdW5jdGlvbiBpdChlKXt2YXIgbj1lLmNvbnRleHQsdD1lLm1pblhPZmZzZXQscj1lLm1pbllPZmZzZXQsbz1lLm1heFhPZmZzZXQsaT1lLm1heFlPZmZzZXQsYT1kb2N1bWVudC50aXRsZTthIT09WmUmJihaZT1hLEFlPXZvaWQgMCksemUudHJhY2soZnVuY3Rpb24oZSl7dmFyIG49ZS5wYWdlVXJsLHQ9ZS5wYWdlVGl0bGUscj1lLnJlZmVycmVyLG89ZS5taW5YT2Zmc2V0LGk9ZS5tYXhYT2Zmc2V0LGE9ZS5taW5ZT2Zmc2V0LHU9ZS5tYXhZT2Zmc2V0LGM9cygpO3JldHVybiBjLmFkZCgiZSIsInBwIiksYy5hZGQoInVybCIsbiksYy5hZGQoInBhZ2UiLHQpLGMuYWRkKCJyZWZyIixyKSxvJiYhaXNOYU4oTnVtYmVyKG8pKSYmYy5hZGQoInBwX21peCIsby50b1N0cmluZygpKSxpJiYhaXNOYU4oTnVtYmVyKGkpKSYmYy5hZGQoInBwX21heCIsaS50b1N0cmluZygpKSxhJiYhaXNOYU4oTnVtYmVyKGEpKSYmYy5hZGQoInBwX21peSIsYS50b1N0cmluZygpKSx1JiYhaXNOYU4oTnVtYmVyKHUpKSYmYy5hZGQoInBwX21heSIsdS50b1N0cmluZygpKSxjfSh7cGFnZVVybDpVbihJZXx8RmUpLHBhZ2VUaXRsZTpIKEFlfHxaZSkscmVmZXJyZXI6VW4oVGV8fEdlKSxtaW5YT2Zmc2V0OkpuKHQpLG1heFhPZmZzZXQ6Sm4obyksbWluWU9mZnNldDpKbihyKSxtYXhZT2Zmc2V0OkpuKGkpfSksbil9ZnVuY3Rpb24gYXQoZSl7dmFyIG49d24uY29uZmlndXJhdGlvbnNbZV07MD09PShudWxsPT1uP3ZvaWQgMDpuLmNvbmZpZ01pbmltdW1WaXNpdExlbmd0aCk/d2luZG93LmNsZWFyVGltZW91dChudWxsPT1uP3ZvaWQgMDpuLmFjdGl2aXR5SW50ZXJ2YWwpOndpbmRvdy5jbGVhckludGVydmFsKG51bGw9PW4/dm9pZCAwOm4uYWN0aXZpdHlJbnRlcnZhbCksd24uY29uZmlndXJhdGlvbnNbZV09dm9pZCAwfXplLnNldFRyYWNrZXJWZXJzaW9uKHQpLHplLnNldFRyYWNrZXJOYW1lc3BhY2UobiksemUuc2V0QXBwSWQoUWUpLHplLnNldFBsYXRmb3JtKFhlKSx6ZS5hZGRQYXlsb2FkUGFpcigiY29va2llIixFbj8iMSI6IjAiKSx6ZS5hZGRQYXlsb2FkUGFpcigiY3MiLEhlKSx6ZS5hZGRQYXlsb2FkUGFpcigibGFuZyIsQ24pLHplLmFkZFBheWxvYWRQYWlyKCJyZXMiLE9uKSx6ZS5hZGRQYXlsb2FkUGFpcigiY2QiLFBuKSxfbigpLFluKCksYy5jcm9zc0RvbWFpbkxpbmtlciYmam4oYy5jcm9zc0RvbWFpbkxpbmtlcik7dmFyIHV0PXtnZXREb21haW5TZXNzaW9uSW5kZXg6ZnVuY3Rpb24oKXtyZXR1cm4gZ259LGdldFBhZ2VWaWV3SWQ6JG4sZ2V0VGFiSWQ6ZXQsbmV3U2Vzc2lvbjpmdW5jdGlvbigpe3ZhciBlPVFuKCk7aWYoY2UoZSk/KEJlPSJub25lIiE9ZG4/cmUoZSk6YWUoZSksZ249dWUoZSkpOihnbisrLEJlPXJlKGUse21lbW9yaXplZFZpc2l0Q291bnQ6Z259KSksb2UoZSksIm5vbmUiIT1kbil7dmFyIG49aWUoZSxkbixmbik7Rm4oZSkscW4oKSYma24mJihTbj0hMCxrbihuKSl9dm49KG5ldyBEYXRlKS5nZXRUaW1lKCl9LGdldENvb2tpZU5hbWU6ZnVuY3Rpb24oZSl7cmV0dXJuIE5uKGUpfSxnZXRVc2VySWQ6ZnVuY3Rpb24oKXtyZXR1cm4gX2V9LGdldERvbWFpblVzZXJJZDpmdW5jdGlvbigpe3JldHVybiBRbigpWzFdfSxnZXREb21haW5Vc2VySW5mbzpmdW5jdGlvbigpe3JldHVybiBRbigpfSxzZXRSZWZlcnJlclVybDpmdW5jdGlvbihlKXtUZT1lfSxzZXRDdXN0b21Vcmw6ZnVuY3Rpb24oZSl7TG4oKSxJZT1mdW5jdGlvbihlLG4pe3ZhciB0O3JldHVybiBSbihuKT9uOiIvIj09PW4uc2xpY2UoMCwxKT9SbihlKSsiOi8vIitKKGUpK246KCh0PShlPVVuKGUpKS5pbmRleE9mKCI/IikpPj0wJiYoZT1lLnNsaWNlKDAsdCkpLCh0PWUubGFzdEluZGV4T2YoIi8iKSkhPT1lLmxlbmd0aC0xJiYoZT1lLnNsaWNlKDAsdCsxKSksZStuKX0oRmUsZSl9LHNldERvY3VtZW50VGl0bGU6ZnVuY3Rpb24oZSl7WmU9ZG9jdW1lbnQudGl0bGUsQWU9ZX0sZGlzY2FyZEhhc2hUYWc6ZnVuY3Rpb24oZSl7Q2U9ZX0sZGlzY2FyZEJyYWNlOmZ1bmN0aW9uKGUpe09lPWV9LHNldENvb2tpZVBhdGg6ZnVuY3Rpb24oZSl7bm49ZSxfbigpfSxzZXRWaXNpdG9yQ29va2llVGltZW91dDpmdW5jdGlvbihlKXt1bj1lfSxjcm9zc0RvbWFpbkxpbmtlcjpmdW5jdGlvbihlKXtqbihlKX0sZW5hYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5wYWdlUGluZ3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMucGFnZVBpbmc9b3QocihyKHt9LGUpLHtjYWxsYmFjazppdH0pKSl9LGVuYWJsZUFjdGl2aXR5VHJhY2tpbmdDYWxsYmFjazpmdW5jdGlvbihlKXt3bi5jb25maWd1cmF0aW9ucy5jYWxsYmFja3x8KHduLmVuYWJsZWQ9ITAsd24uY29uZmlndXJhdGlvbnMuY2FsbGJhY2s9b3QoZSkpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZzpmdW5jdGlvbigpe2F0KCJwYWdlUGluZyIpfSxkaXNhYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrOmZ1bmN0aW9uKCl7YXQoImNhbGxiYWNrIil9LHVwZGF0ZVBhZ2VBY3Rpdml0eTpmdW5jdGlvbigpe1ZuKCl9LHNldE9wdE91dENvb2tpZTpmdW5jdGlvbihlKXtQZT1lfSxzZXRVc2VySWQ6ZnVuY3Rpb24oZSl7X2U9ZX0sc2V0VXNlcklkRnJvbUxvY2F0aW9uOmZ1bmN0aW9uKGUpe0xuKCksX2U9WChlLEZlKX0sCnNldFVzZXJJZEZyb21SZWZlcnJlcjpmdW5jdGlvbihlKXtMbigpLF9lPVgoZSxHZSl9LHNldFVzZXJJZEZyb21Db29raWU6ZnVuY3Rpb24oZSl7X2U9UShlKX0sc2V0Q29sbGVjdG9yVXJsOmZ1bmN0aW9uKGUpe1dlPVpuKGUpLHBuLnNldENvbGxlY3RvclVybChXZSl9LHNldEJ1ZmZlclNpemU6ZnVuY3Rpb24oZSl7cG4uc2V0QnVmZmVyU2l6ZShlKX0sZmx1c2hCdWZmZXI6ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9e30pLHBuLmV4ZWN1dGVRdWV1ZSgpLGUubmV3QnVmZmVyU2l6ZSYmcG4uc2V0QnVmZmVyU2l6ZShlLm5ld0J1ZmZlclNpemUpfSx0cmFja1BhZ2VWaWV3OmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KSx0dChlKX0scHJlc2VydmVQYWdlVmlld0lkOmZ1bmN0aW9uKCl7bW49ITB9LHByZXNlcnZlUGFnZVZpZXdJZEZvclVybDpmdW5jdGlvbihlKXtobj1lfSxkaXNhYmxlQW5vbnltb3VzVHJhY2tpbmc6ZnVuY3Rpb24oZSl7Yy5hbm9ueW1vdXNUcmFja2luZz0hMSxXbihlKSxZbigpLHBuLmV4ZWN1dGVRdWV1ZSgpfSxlbmFibGVBbm9ueW1vdXNUcmFja2luZzpmdW5jdGlvbihlKXt2YXIgbjtjLmFub255bW91c1RyYWNraW5nPW51bGw9PT0obj1lJiYobnVsbD09ZT92b2lkIDA6ZS5vcHRpb25zKSl8fHZvaWQgMD09PW58fG4sV24oZSksc258fEtuKCl9LGNsZWFyVXNlckRhdGE6WG59O3JldHVybiByKHIoe30sdXQpLHtpZDplLG5hbWVzcGFjZTpuLGNvcmU6emUsc2hhcmVkU3RhdGU6dX0pfShlLG4sdCxhLHUsYyksZD1yKHIoe30sZikse2FkZFBsdWdpbjpmdW5jdGlvbihlKXt2YXIgbix0O2QuY29yZS5hZGRQbHVnaW4oZSksbnVsbD09PSh0PShuPWUucGx1Z2luKS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT10fHx0LmNhbGwobixkKX19KTtyZXR1cm4gbC5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbjtudWxsPT09KG49ZS5hY3RpdmF0ZUJyb3dzZXJQbHVnaW4pfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSxkKX0pKSxkfXZhciBoZT17fTtmdW5jdGlvbiB5ZShlLG4pe3RyeXsodD1udWxsIT1lP2U6T2JqZWN0LmtleXMoaGUpLHdlKHQsaGUpKS5mb3JFYWNoKG4pfWNhdGNoKGUpe3AuZXJyb3IoIkZ1bmN0aW9uIGZhaWxlZCIsZSl9dmFyIHR9ZnVuY3Rpb24gd2UoZSxuKXtmb3IodmFyIHQ9W10scj0wLG89ZTtyPG8ubGVuZ3RoO3IrKyl7dmFyIGk9b1tyXTtuLmhhc093blByb3BlcnR5KGkpP3QucHVzaChuW2ldKTpwLndhcm4oaSsiIG5vdCBjb25maWd1cmVkIil9cmV0dXJuIHR9dmFyIGJlPWZ1bmN0aW9uKCl7dGhpcy5vdXRRdWV1ZXM9W10sdGhpcy5idWZmZXJGbHVzaGVycz1bXSx0aGlzLmhhc0xvYWRlZD0hMSx0aGlzLnJlZ2lzdGVyZWRPbkxvYWRIYW5kbGVycz1bXX07ZnVuY3Rpb24ga2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmRpc2NhcmRCcmFjZShlKX0pKX1mdW5jdGlvbiBTZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKGUpfSkpfWZ1bmN0aW9uIHhlKGUpe3llKGUsKGZ1bmN0aW9uKGUpe2UuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcoKX0pKX1mdW5jdGlvbiBUZShlLG4pe3llKG4sKGZ1bmN0aW9uKG4pe24uc2V0VXNlcklkKGUpfSkpfWZ1bmN0aW9uIEllKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi50cmFja1BhZ2VWaWV3KGUpfSkpfWZ1bmN0aW9uIEFlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5jb3JlLnRyYWNrKEQoe2V2ZW50OmUuZXZlbnR9KSxlLmNvbnRleHQsZS50aW1lc3RhbXApfSkpfWZ1bmN0aW9uIENlKGUsbil7eWUobiwoZnVuY3Rpb24obil7bi5kaXNhYmxlQW5vbnltb3VzVHJhY2tpbmcoZSl9KSl9ZnVuY3Rpb24gT2UoZSxuKXt5ZShuLChmdW5jdGlvbihuKXtuLmVuYWJsZUFub255bW91c1RyYWNraW5nKGUpfSkpfXZhciBQZT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz9mdW5jdGlvbigpe3ZhciBlPW5ldyBiZSxuPWRvY3VtZW50LHQ9d2luZG93O2Z1bmN0aW9uIHIoKXt2YXIgbjtpZighZS5oYXNMb2FkZWQpZm9yKGUuaGFzTG9hZGVkPSEwLG49MDtuPGUucmVnaXN0ZXJlZE9uTG9hZEhhbmRsZXJzLmxlbmd0aDtuKyspZS5yZWdpc3RlcmVkT25Mb2FkSGFuZGxlcnNbbl0oKTtyZXR1cm4hMH1yZXR1cm4gbi52aXNpYmlsaXR5U3RhdGUmJkcobiwidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKCl7ImhpZGRlbiI9PW4udmlzaWJpbGl0eVN0YXRlJiZlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLEcodCwiYmVmb3JldW5sb2FkIiwoZnVuY3Rpb24oKXtlLmJ1ZmZlckZsdXNoZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UoITEpfSkpfSksITEpLCJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/KG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChmdW5jdGlvbiBlKCl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlLCExKSxyKCl9KSk6bi5hdHRhY2hFdmVudCYmbi5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24gZSgpeyJjb21wbGV0ZSI9PT1uLnJlYWR5U3RhdGUmJihuLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGUpLHIoKSl9KSksRyh0LCJsb2FkIixyLCExKSk6cigpLGV9KCk6dm9pZCAwO2Z1bmN0aW9uIEVlKGUsbix0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9e30pLFBlP2Z1bmN0aW9uKGUsbix0LHIsbyxpKXtyZXR1cm4gaGUuaGFzT3duUHJvcGVydHkoZSk/bnVsbDooaGVbZV09bWUoZSxuLHQscixvLGkpLGhlW2VdKX0oZSxlLCJqcy0iLmNvbmNhdCgiMy4yNC4xIiksbixQZSx0KTp2b2lkIDB9fSwyNDE1MzkoZSl7dmFyIG49e3V0Zjg6e3N0cmluZ1RvQnl0ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIG4uYmluLnN0cmluZ1RvQnl0ZXModW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKSl9LGJ5dGVzVG9TdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUobi5iaW4uYnl0ZXNUb1N0cmluZyhlKSkpfX0sYmluOnsKc3RyaW5nVG9CeXRlczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCgyNTUmZS5jaGFyQ29kZUF0KHQpKTtyZXR1cm4gbn0sYnl0ZXNUb1N0cmluZzpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGVbdF0pKTtyZXR1cm4gbi5qb2luKCIiKX19fTtlLmV4cG9ydHM9bn0sMjk3NjM1KGUpe3ZhciBuLHQ7bj0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsdD17cm90bDpmdW5jdGlvbihlLG4pe3JldHVybiBlPDxufGU+Pj4zMi1ufSxyb3RyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGU8PDMyLW58ZT4+Pm59LGVuZGlhbjpmdW5jdGlvbihlKXtpZihlLmNvbnN0cnVjdG9yPT1OdW1iZXIpcmV0dXJuIDE2NzExOTM1JnQucm90bChlLDgpfDQyNzgyNTUzNjAmdC5yb3RsKGUsMjQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKWVbbl09dC5lbmRpYW4oZVtuXSk7cmV0dXJuIGV9LHJhbmRvbUJ5dGVzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXTtlPjA7ZS0tKW4ucHVzaChNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSk7cmV0dXJuIG59LGJ5dGVzVG9Xb3JkczpmdW5jdGlvbihlKXtmb3IodmFyIG49W10sdD0wLHI9MDt0PGUubGVuZ3RoO3QrKyxyKz04KW5bcj4+PjVdfD1lW3RdPDwyNC1yJTMyO3JldHVybiBufSx3b3Jkc1RvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PDMyKmUubGVuZ3RoO3QrPTgpbi5wdXNoKGVbdD4+PjVdPj4+MjQtdCUzMiYyNTUpO3JldHVybiBufSxieXRlc1RvSGV4OmZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSx0PTA7dDxlLmxlbmd0aDt0Kyspbi5wdXNoKChlW3RdPj4+NCkudG9TdHJpbmcoMTYpKSxuLnB1c2goKDE1JmVbdF0pLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbigiIil9LGhleFRvQnl0ZXM6ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLHQ9MDt0PGUubGVuZ3RoO3QrPTIpbi5wdXNoKHBhcnNlSW50KGUuc3Vic3RyKHQsMiksMTYpKTtyZXR1cm4gbn0sYnl0ZXNUb0Jhc2U2NDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7cis9Mylmb3IodmFyIG89ZVtyXTw8MTZ8ZVtyKzFdPDw4fGVbcisyXSxpPTA7aTw0O2krKyk4KnIrNippPD04KmUubGVuZ3RoP3QucHVzaChuLmNoYXJBdChvPj4+NiooMy1pKSY2MykpOnQucHVzaCgiPSIpO3JldHVybiB0LmpvaW4oIiIpfSxiYXNlNjRUb0J5dGVzOmZ1bmN0aW9uKGUpe2U9ZS5yZXBsYWNlKC9bXkEtWjAtOStcL10vZ2ksIiIpO2Zvcih2YXIgdD1bXSxyPTAsbz0wO3I8ZS5sZW5ndGg7bz0rK3IlNCkwIT1vJiZ0LnB1c2goKG4uaW5kZXhPZihlLmNoYXJBdChyLTEpKSZNYXRoLnBvdygyLC0yKm8rOCktMSk8PDIqb3xuLmluZGV4T2YoZS5jaGFyQXQocikpPj4+Ni0yKm8pO3JldHVybiB0fX0sZS5leHBvcnRzPXR9LDE5NjM3MyhlLG4sdCl7dmFyIHIsbyxpLGE7cj10KDI5NzYzNSksbz10KDI0MTUzOSkudXRmOCxpPXQoMjQxNTM5KS5iaW4sKGE9ZnVuY3Rpb24oZSxuKXt2YXIgdD1yLndvcmRzVG9CeXRlcyhmdW5jdGlvbihlKXtlLmNvbnN0cnVjdG9yPT1TdHJpbmc/ZT1vLnN0cmluZ1RvQnl0ZXMoZSk6InVuZGVmaW5lZCIhPXR5cGVvZiBCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKT9lPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUsMCk6QXJyYXkuaXNBcnJheShlKXx8KGU9ZS50b1N0cmluZygpKTt2YXIgbj1yLmJ5dGVzVG9Xb3JkcyhlKSx0PTgqZS5sZW5ndGgsaT1bXSxhPTE3MzI1ODQxOTMsdT0tMjcxNzMzODc5LGM9LTE3MzI1ODQxOTQscz0yNzE3MzM4NzgsbD0tMTAwOTU4OTc3NjtuW3Q+PjVdfD0xMjg8PDI0LXQlMzIsblsxNSsodCs2ND4+Pjk8PDQpXT10O2Zvcih2YXIgZj0wO2Y8bi5sZW5ndGg7Zis9MTYpe2Zvcih2YXIgZD1hLHY9dSxnPWMscD1zLG09bCxoPTA7aDw4MDtoKyspe2lmKGg8MTYpaVtoXT1uW2YraF07ZWxzZXt2YXIgeT1pW2gtM11eaVtoLThdXmlbaC0xNF1eaVtoLTE2XTtpW2hdPXk8PDF8eT4+PjMxfXZhciB3PShhPDw1fGE+Pj4yNykrbCsoaVtoXT4+PjApKyhoPDIwPzE1MTg1MDAyNDkrKHUmY3x+dSZzKTpoPDQwPzE4NTk3NzUzOTMrKHVeY15zKTpoPDYwPyh1JmN8dSZzfGMmcyktMTg5NDAwNzU4ODoodV5jXnMpLTg5OTQ5NzUxNCk7bD1zLHM9YyxjPXU8PDMwfHU+Pj4yLHU9YSxhPXd9YSs9ZCx1Kz12LGMrPWcscys9cCxsKz1tfXJldHVyblthLHUsYyxzLGxdfShlKSk7cmV0dXJuIG4mJm4uYXNCeXRlcz90Om4mJm4uYXNTdHJpbmc/aS5ieXRlc1RvU3RyaW5nKHQpOnIuYnl0ZXNUb0hleCh0KX0pLl9ibG9ja3NpemU9MTYsYS5fZGlnZXN0c2l6ZT0yMCxlLmV4cG9ydHM9YX0sNTM3MjA0KGUsbix0KXt2YXIgcj10KDY5ODU3MSksbz10KDQ2NjY4MCksaT1vO2kudjE9cixpLnY0PW8sZS5leHBvcnRzPWl9LDg2NzE3KGUpe2Zvcih2YXIgbj1bXSx0PTA7dDwyNTY7Kyt0KW5bdF09KHQrMjU2KS50b1N0cmluZygxNikuc3Vic3RyKDEpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPXR8fDAsbz1uO3JldHVybltvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sIi0iLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dLG9bZVtyKytdXSxvW2VbcisrXV0sb1tlW3IrK11dXS5qb2luKCIiKX19LDcyNzY0NChlKXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIGNyeXB0byYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcyYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcy5iaW5kKGNyeXB0byl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbXNDcnlwdG8mJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzJiZtc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMuYmluZChtc0NyeXB0byk7aWYobil7CnZhciB0PW5ldyBVaW50OEFycmF5KDE2KTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbih0KSx0fX1lbHNle3ZhciByPW5ldyBBcnJheSgxNik7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlLG49MDtuPDE2O24rKykzJm58fChlPTQyOTQ5NjcyOTYqTWF0aC5yYW5kb20oKSkscltuXT1lPj4+KCgzJm4pPDwzKSYyNTU7cmV0dXJuIHJ9fX0sNjk4NTcxKGUsbix0KXt2YXIgcixvLGk9dCg3Mjc2NDQpLGE9dCg4NjcxNyksdT0wLGM9MDtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxuLHQpe3ZhciBzPW4mJnR8fDAsbD1ufHxbXSxmPShlPWV8fHt9KS5ub2RlfHxyLGQ9dm9pZCAwIT09ZS5jbG9ja3NlcT9lLmNsb2Nrc2VxOm87aWYobnVsbD09Znx8bnVsbD09ZCl7dmFyIHY9aSgpO251bGw9PWYmJihmPXI9WzF8dlswXSx2WzFdLHZbMl0sdlszXSx2WzRdLHZbNV1dKSxudWxsPT1kJiYoZD1vPTE2MzgzJih2WzZdPDw4fHZbN10pKX12YXIgZz12b2lkIDAhPT1lLm1zZWNzP2UubXNlY3M6KG5ldyBEYXRlKS5nZXRUaW1lKCkscD12b2lkIDAhPT1lLm5zZWNzP2UubnNlY3M6YysxLG09Zy11KyhwLWMpLzFlNDtpZihtPDAmJnZvaWQgMD09PWUuY2xvY2tzZXEmJihkPWQrMSYxNjM4MyksKG08MHx8Zz51KSYmdm9pZCAwPT09ZS5uc2VjcyYmKHA9MCkscD49MWU0KXRocm93IG5ldyBFcnJvcigidXVpZC52MSgpOiBDYW4ndCBjcmVhdGUgbW9yZSB0aGFuIDEwTSB1dWlkcy9zZWMiKTt1PWcsYz1wLG89ZDt2YXIgaD0oMWU0KigyNjg0MzU0NTUmKGcrPTEyMjE5MjkyOGU1KSkrcCklNDI5NDk2NzI5NjtsW3MrK109aD4+PjI0JjI1NSxsW3MrK109aD4+PjE2JjI1NSxsW3MrK109aD4+PjgmMjU1LGxbcysrXT0yNTUmaDt2YXIgeT1nLzQyOTQ5NjcyOTYqMWU0JjI2ODQzNTQ1NTtsW3MrK109eT4+PjgmMjU1LGxbcysrXT0yNTUmeSxsW3MrK109eT4+PjI0JjE1fDE2LGxbcysrXT15Pj4+MTYmMjU1LGxbcysrXT1kPj4+OHwxMjgsbFtzKytdPTI1NSZkO2Zvcih2YXIgdz0wO3c8NjsrK3cpbFtzK3ddPWZbd107cmV0dXJuIG58fGEobCl9fSw0NjY2ODAoZSxuLHQpe3ZhciByPXQoNzI3NjQ0KSxvPXQoODY3MTcpO2UuZXhwb3J0cz1mdW5jdGlvbihlLG4sdCl7dmFyIGk9biYmdHx8MDsic3RyaW5nIj09dHlwZW9mIGUmJihuPSJiaW5hcnkiPT09ZT9uZXcgQXJyYXkoMTYpOm51bGwsZT1udWxsKTt2YXIgYT0oZT1lfHx7fSkucmFuZG9tfHwoZS5ybmd8fHIpKCk7aWYoYVs2XT0xNSZhWzZdfDY0LGFbOF09NjMmYVs4XXwxMjgsbilmb3IodmFyIHU9MDt1PDE2OysrdSluW2krdV09YVt1XTtyZXR1cm4gbnx8byhhKX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/perfect.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.075Z","timestamp":1785136422075,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/perfect.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 9148\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":9148,"size_decoded":9489,"mime_type":"image/png","magic":"PNG image data, 178 x 127, 8-bit/color RGBA, non-interlaced","md5":"481edb8b2ce70187a9449ec691e03e1c","sha1":"7161d99e0e387c78c8602f8caf1f14bc4a832078","sha256":"7a9c108697638c55890ead8f4d0d592ad896f4ea9590c2c864e403e71387b2ab","sha512":"35ac058ed4623541e5adfbb313829be242f7a34b7e3c0cdd6890411a42f66e48b2b3b751d92e5b65f76261456a1cf08c11a9b159589252f10bd7487aa2d8cdd0","ssdeep":"192:1o6vXfEuCrSTBoNM4XD4z5pi8t630sK59S2L0DxGqEcJ1jX8aboELjczSn:KGsdGom4T4z5cK59SunoXZbo+cW","tlshash":"c112b0c1d5b71fd290840ca82e6c04e9638602cdfe6af7ed34c79e6f816d3454492b5c","first_seen":"2023-11-10T13:43:16Z","last_seen":"2026-08-10T18:46:06.086611Z","times_seen":48,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAALIAAAB/CAYAAABL/JgCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAI15JREFUeNrsXQeAFFXSru7JO2FzBhaWZQkShZUkiIooKiqKoneYPRHD6SGinocBz/ybfgMKciogGDAQRPxBDlCCCEoSkBw3sGwOsxP7r+qpwWaYTbjghldLMTM9HV74Xr2v6oWR9uzcCWHEiHoVa3/UFD4mRMiZlnLUw6i/oH6JOg/VHXqSFAbII1FfRM0QZSikEcpu1IdRv9AelDXvdagv8AkE4m2o41G7oJoJ9EKF/glqZgyOZ0wSNj9nrOrCWWT6YiKqE/VB1KmoPmEAhDQiIeCOQ32Zqe6LbJ2PA3kU6mfMPS5DXSrKTEgjlotQFzKYr0WdK/OHV/mEBwWIhTQBWcJUg+Q1wrDMiG6F+ivqFFFGQpqIvMOYTUW9joB8FX/xnuDEQpqQ+BizJFcRkLP4w2JRNkKamAQx24eAnMQf9olyEdLEZC+/JhOQTfzBJcpFSBOT4AifUd+Sct0xMzPs8WjQQbLOBiZFgqP+SsgHD1hBhgpQwIvqRn39gUkwoH0nOHJ4D3Q9fwAU5B6FqLQ00B2TobSoCq/VR5V5CzOSktt2MbUxdXCWONNsccbY2KhEiyTFyopS4C8uznOWHHMXmB3mg97D7l052fu3mXVRu/QmY/Evq1dBr2uzwFdUCLbYaPh5yQpITGoNvxzaD39/ZTIYQVKDqDZMVyWmJwE/2THNAH446ivHdPrU0YNQWRt+CkKzE71o1PUXxecHr9sNsiy3tqZEXxjbNfJiU6ytryXelgYnjpYeFwliIaYNavBAH4DW0N1febTsgK/Uva4MSr41GIzfud3ug4rfLwpZAPn0iF9RwOf2qGqJcgxJb5N6a1xG++F6syn++DmVFeDJzQbP4YPgPnIIfOVl4C8tPX4P2eEAnc0OxtTWYGjVBgxJKXJEgr0dmtd2fTMuHu1xuY8V74v5xlNS+oHX41lGz6LnChFAbgASFgCSAWlHYma781sPzZqQ0r3LcAjMAwD3wX1Q8dMaqFi3Bqp27gDv0VzwV1SA3+uFwKXKCXaZ/sl6PchWK+gTksCc2Qms5/QHa1Y/MLZJj4vvlHmjoihjBlgiFlfsy37ZmJv9XTAdlrDkQYgAck30Af8qkX+2ckTDgzeNbT967C1PxnVJHxP40o/AXQXFC76A8u+Xg7egQAWpZDQA6PQgmcygM9cAOrSyfrS27gP7wLVrJ5R8PQ90MbFg69sfoq4eDdZ+g6TW2FgU1PjM9rN9ft8TL37w9u5DJYXI3YWFDkvd9uzcqfxuLoSzR85eLto/auGDzuoDzz/11G09rhr+DOikJCqo8pVLoWDGNKj8eQP4XciTLWgn9X/cHihowf1VVSBjY4g4uzfE3vQ3sA4eGiDc6M9tmvfNY48+/vh7K7euV0cCksEgnL2gzanOMWnJQoAgV+vOi0ZaZ7z/4bs9rrl0uh9B7DywBw5PvAcO3T8WrfGPIBmMoLPbGwTEqhXB++hsNvW+dP+D+Jwj+Dzn/t3gkyGhx8jh02bOmDlt3PBRNh+nU8jvIoCsEY/fh5ZYgWevvzP1hVnTv47L6nInMl0o/mI2HLx1NFKA+SrQ5AgrIu80dWB4X7q/jM+h5x287Xr1+R78KqZXpzuemzF90bM33NXKQOn1eUWlCSCHWGKFQCzBo9fflT7upacWygnR57mqKiHv6Ucg54lHwFdSghY4EkvsDBUZPoeeR8/NxecfffpRcGN6pDjHoLtfnvz1I3+9O4PS61VEqE4AmcWPf16/C/46YmSrm1+bPM/YKqmnqyAfcv8xFornzEIeHOjy4Yw7WkqgB8DnF8+ZCTmYHndhPpiS47vfhOm84+pr23j9VUyGBJBbOIhBHb27afio6JtfffozOTG2q/tYHuSORy68cjnIDrLCf7IfjM+ndFSsWA454+8CF6ZPFxfdZcwLj8+9dtClMT5Mv08AuWVlVqtBeI7KyJLvembSVGv71v3cxUWQ9/B94Fz/E8h2R+NKv8MBzp/WYfr+Dq7SYrBntMka/9ZL00dl9tMZ1EYpkQ0/QQWQm6HYQHeCElk4LyIJxk0Y/6CtV6dRHrcbCp+bBJVrVjc6EB+vMExXxZpVUPDMv8Dj9YC9W4erxk188KEe1lRwqdFv+QQVQG6GYpZ1qlpQ9Wis0hDOt107JuusG698yovWq+T9t6Fs4VfoZDkadT4ofWULvsL0TlGjGV3GjHjizjG39m0FVihGklGuUQHkZiguxatqBaqi+OCSjr2Mw8bf8YovwmJx/vgDlEyfAlKE7fSF1hpKKERnRQdw2ttQtX4N+Ewm85D7bn5taMeeJkq5j93SljQG2KKATFMhSWXFD+n6aBhx0w232LpmnOstKYaS/30JFJcbJJ2uaWQG0+l3uaDotRfAU1oC1i7t+l19y5jbeuqiwI7VGi3pVRVAboaiR14s4x/NNR7es19M1+svf9iLNKP8izng2vgzSJaIplV5mF7XLxug4suPwSfpoNvoyx4e3qt/rA0bq0FttIIjN0uhrtaN1jjNGANDrr3yJkvb1HTvwf1Q/vEMJNDmppkpkxnKZn8A7kMHIKJtq7QLRl91S1tDFFIon6AWzVVo4IDgOjCzm73Dpef/zSvJULngc/AdPswDHk1PJKMRvJh+NR/InTtedv6d/Tt1d1DFuoSz10wzq+ggQbZD1pDBF1nTW3Xx5GVD5eIFqlVr0oLpp3x48nLB2rZV5jnnD7m4lewAoyI4crMUB9Zrp7gk6HBh/+sgwgKutT+A98B+1ao1PI9RTtTTeA/VKh/YB1XrVoFiMUPm0AGjM+OSpQgdCCA3y8z6ddChfYfUuG4dz/c6q8C18rs6xagopCV7PSB73NhfV6mq83lB5/epr5LbBeCsBKhyqoBTz6dXH3btpHhtvcFM6/boOr6Her+aEounu1YsBV+VC+K7ZZ7XISOjtU5pOdXbolaIGNCPb9/1rH7mhNgET/Zh8GzZBJLJVDOIEUTuyGhwXfMXMKAVp2gAgbKkpBg8Hg/okFs74hPAWFkOnh9/AN1Pa8HtiATXHfeCGV8lMqZHc0D3/hR8r9QtRo0g9iNd8N9xD0j2SLVhVNAKlK+/hIif14alQpQP9+ZfwJtzBEwJSXEZ3bv1M6xZeVBY5GYoCVYHtOrZaSCYTeDZ/Rv4juVjU665Lcs6HTjLy2HVpx/DsiVLwdN/MMAFF8OWdetg0+yZ8NOnc2DRwgWwp10m6J98CZR/PApOxOvyKW/Cpl17QH9Of4CLR4Cna0+QyGLXRZxO8PbB6y64BK8fAAd8Cix6/RXI3bENdNXRIMyHLz8fvJgvCfPXpmfngYlWBwggN0OJtUUaYtqn9fYj0DzbtgS67lojHcitFR8MK8iG3nu3g7+oSF2S1LWqDIb5nHCxqxQG/rwKdj9wFxza+AvIw6+CiNvvhmF5ByB551bwu91IP/Aul1wBPhpsqY1i0GptWj417DKQ8Tlo9sGydxcMP7Ib0j1O8Ek1VBme6/l1M1D+4jLa9o53RBkEkJuhxMfHxtmS49t6ESC+PTuxP66jN4R0QI9dtwW7dMKRRNM6EZQKAVNvgMSYGBjsq4L8j94Hb3kpyAOHgNStF1jxPB/SBAkbjL57L/B27g6Sq5YNndBq+3plgaFzV5B9XpUVmw16sCC4ZbmW9OL3nl3Y02D+KJ/xcbEJAsjNUGLi4lIMDnuiut9Ebk6ttOIEQ0nUVfGrnFfHK6UVRVGPexCsFqsVEg/vh6qCAtBHRIC7faZKS/asXQ3F+CwjLV8ajla5JotM1hjvbbhiFBRkH4H8AwfAgA2IFqbWae6EXgd+dTuCcjBG2hNiEuJTBZCbodiioxN1FpPJX1IC/uIiNMj1y746w1cNScjgJ+uoQZaCx60UxUDrS/M1POgEKmitTUcOwuFvFtKuRKDP6g++jI7VW2U87u/aA4x9+sH+T2cDFOSDhPdQox91ALKEaaK8UUPVWcwGW0x0ogByMxSjPSKOVivTjkAEGpDqmX1F3b0C5DCRB9pGS4dW2Wh3gIQW2olWWEFqEY/H/N/MhxL8bIiMAvmSEeALu2hUUXcVMlx5HRQdOQK65f8HUXab2kDqHLqjdLmcoFRWqquyLZH2OAHkZihWu82uoBX2l5WCogK5ntM1aZcgWnaE1jX0Sn8ldue9+4IlIRHKcrKhavNGMBiRUxsMkFKYB4cXzQcdXqtH/uxv0w7AfeJPxZGV9md2BuPA8yD7s9mQUlGi8m8J0yj5fXVb64HpUoj/lxSrvY3ZZo0UQG6GIlGfrw6S1c3CUdyXHDWggRBPYHBCZzSBjuK4yJcVAqOzEhRsGHK/QRD1t3vBg+dseecNiC0pAEAQ41kQi1bZh1a5GC2tKT4R5GGXg+I5kV74vD6VGxcfOwbSd4sgymZT1xPKcv17DeodVO6uKKaWUrctakDEo06ox0pWd7tUoMbNlfAcj80OUkISGPA0o9sFJrcXVk2dAh4EclcEsbVbD/CntAIFLbF7wHmwa99+2Dr1Tei0cS1E47WluoDlVhDQyYVH4dDCryDunvvBeP4wqFowF/RFBarVJevsb5sO1qGXwG/vvAkppcWgIJCJwpBK9Vp7FxzSJufUpwggN0MpLS9z+clxokEFApDKVaVqHCcZPBUVkJeXB5VxCQCxKWiJjRBRhs5UZRkcbZcJ2WYLVCJUKjb8As7Zs8G6dyf0lvyQFB0NrvJyfI5JBSFFKmIRmDnfzIOiESMhOq0teIYOB2XmeyDZ0GqjdTZefg2UlJWD8u0CtMZWKMVrdEEg1xXHSmD7ALBY1E0Uq6qqKgSQm6EUo9DmgUqEDSQEpVLu0fx25snhtggEUJvyYnAW5kMFWs0qvC7m1nEgoUNX/NH7YNi9A+zkVCHSIvF+9kgrOngydenqHWQEchCFCp6XXJQPBxd8CfH3TwAT0gvnonmgRz6rJKWC5dIrYdeM6ZBcUggQGalSGUnl4zp19846sSE6iYbcIyLAh9cXFhQUCY7cDKUAxeus8lNFA217VcuG2oQdihnb8fxUuw0SYmKgzeVXQsa110OrtDToEmmDzNgYaBUTDVZrBHgl6XicmHi4jBQkyHGJtcZYbeBBq1xwYD9Y0juAjBTDW1wIxktHQqnHC56vv4Ro4tN8D9XRQzBLujraG8oPXk/5w3wqmN1jAsjNULLzcvOcpWUlEnbzEBuPFV/7xPPAQIgCXr+iWloaNfMi5XDjtR5FdajAS9vEKidfR9MrpWC8mVTlyvlw4Ku5oEMra774MvAioCOuGAkH587B746p5/zunMoBMKsDN3UwyUibpJg4dQFtVWlZaXZubp4AcjOUI0fz8orzjmbTqBygkwa++q2goKAHjdYRf5ZCBkRConQBa04xZQ2/JUsbg5bdjZSiYN8esLTrAI7Hn4Uyrx9c8z+DGJtVM/InqUCWGci1uKbHgSy3agOyxQxFeUdzDuXm5AogN0PJKSkoOrJn304VjO0y6n09OYpkIY+HxGrYQFBBE62nbWfpXC3BRSeTuPK+Lz4FfYQFHP0Gwf55n0PSsTyNNQ5EHoLPOuke1bY0/Nexs9rIDu3e+xvlVwC5OXJkf5Vn+8Yt69SYMFa4yifr8MMzFE9WnJVgQAurN5tVq2yMjlaX44M3ZJSO5kUg9ZCjY8CS0QHMiclqKStVTvU+WqtclJsDJbm5ULXgC4gNWmNSvK/OYgETPoM4Cz1XCU7Qr40fp2eChPnbtnHzesyvW0QtmqHQEMTPGzb8OLqgyC2lphmltumg7Nge8PSrEwSFD2lI5FMvQlRaOugpooBYS7r7AfCPuBrKFy9EJ+0LkM0W8DudYLziGrBdMEzlqvq27SEiORWsb81QgVzyzusgHdyrhuVSio7BvgVfgQ6dzsR8ZADRFKnwgi86FhwPPAL2pBTQpbXFxlIFMUMvAX/7DlC5egW4Z/0HnxVmjaHHDXLGWSCltgFnUbFnw0/r17pbUN22uN8Q2fTb9l8P/rZze/qAvj28vfoAbN1cI5B1aH0LS0thxYIF4CPrG5zwQ7wVQdj60D7orA9QAp1BD1u2bYPD5VUg03nBYXBzhDq03bW4CJLwfmR5oyMdkPvZR+BD2tDaYQefEnhWSWUFfP/FXHQm8QA6ljS/jqiCgtY2qSAfuuv1xzl4aE8gnZ0Fekck7F3z445N27duAQHkZhy5cJYcW7NsxeLMflk9PH0GgDRvrmoJq9vA24/HIyvLofuyr0+iqQQyK1lHpAEKD0ak7dkBsVs3qvw21AGkSUB+fcBJ9Es6yPC5aYdxdeRP/YEcvMaOlrXX2uUn/SwZfTQbDSBFRJw8xE60gvar63su6PH9D0v/++2RypJ8AeRmLAhZ/7ffLJ4/8rYb7zW0y7BC97MBVq9EMEZUG37To6VMiIqq5nvlOOgIYDaLGRwE7HCNgri28vt1Ot6eKwhM+p+cuxiHo9ZnnSBIW+RBQ0BGflyal+dc/M2i+V5oWbt/t8SNvqWNe3dsXrtsxRIT8dqhwwMT7GuICigcOgunofFj+uyt5lwlzH3DPbWuzzpuqsmiXzwCqbcJ1ixbvnTDzm0bAVrWj/K1RCAryDwr5sya9Z+qwkIv9ECe3KdvYDl/UxRMt9R3AFA+XJifjz6c+R8XKOXQsjbjbLk/vbB608/fL1+0eBFZZe/VNwDQaJ+viW0xRem120G5dgyYkav/d9G3337/87rlLbE+WyqQFQ9arXenTHmtODu7XMo8Sw2lQV2X6zcaa4zpvXIUyB26QElObsXbb731mqcFWuMWbZGJzm7Zt3vdjKnvvWPGevdcdg1A955Nh2JQOnv2Av/lo9SNGT94d9rUTbt/WwPQMn/iqUUDGdU1feaHb/+48vv1lsgocN92D0Bs3EnLkBqdUPri4sD/t/vAEhUN61Z+//PU96e/Sd8IILdM8VW6XTmTn3zqn8cOHDyma9cBPHfeB5JBf/LQc2MRSpdBB/67HgBdeiYUHDxU+MTjk/5Z4arKBjW62DKlpQNZXdq2c//e1U8+8cTjSnmZF/oMBPed9wZmrXk8jSu16mR7NLnjHgDpnHMByst9kyb96/Hte3avom9bIjcWQNZYZeqSly7/7yfPPfPsc3q3C/yDhwXATKNwjYVmYDooPd6x94Ny3iVgRMuM6X3h26VLP4bANJIW/ZuReoHjgK1DrZjz6Sdvmcxmy4SJEyd4zhsOVVYHmKa9AVBYUO3I3xlz7GJjwTOWLPEgMHnd8OKLL74646NZ/4vflnP6QQBZCLBVK/lgxocvuz1u90MTJ06UsgbqnTFxYP5wCsi/bgHFZFH3fDtzfYUvEBLs2h08t98D+ozOAJUVvn8///z/zJg583U8o5TT3eJFUIuTwVw8e86c1yc+9NCE0pzsInOHzuCc8CS4R92AIJZBIuuonGYqSvenETvaTGb0X8H9yNNgzjwLMD3FE8aPn4ggfpXSiVolqiwg0p6dO39fW9PMpX1mZl1PpdCstWNm5uDHHntsUlb//r0qfX6AHVvAtOAzkDduAMnrQwttrnbW3CkJzWJzValc2N+rD3hHXg/QqTtE4DPWr12zafLkyU9v37FjBdOJOoEY67clOOwCyDUI7agdYTab291+2+1jx4wZc5MjMdHiLC8DecsGMKz8DnRbNoJUXg4KrXKmiTunAmoCL0UjfEhzbXbwdesJviHDQOnRGyw2B5QezauaNXPmjKnTpr3rdDr34hU0YlNnD1QAWQA56EMgMQZH506dBt6BMuSCCy40R0bJzsoKkPbvAd2m9aDf/AvIhw+AVFERoAWSBAotTpUkBjcvHSXQ0rxlWr1NU9lkPM9qA6V1G/D1OBs1C6BdBljwmKukWFm+bNmyqVOnTvt127Yf8AZl5JDWNzohgCyADJpyMTGgY/v07jNk9PWjrxs4cOC5UfEJFg+ClX5CV8o+BPKBvSqg5aO5IBUVgVSFxtNZFQA0AZzmKVsiQImKAiUhGfyt08Cflg6Q2hoMjiigdSYl+fnOVT98v/rjTz75ZN06dQIQ7U3hZP5eb3IugCyAHM4xtjB/jm7fvn2PoRdeOHTw4MGD0jt0yHRExxhoNyGfzwc+l0tdo6fQrz1VMZBpyRJxatq0xWwGnckU2DDc64Wy4iLv3t27d36/cuUP/7dkyZLdu3dvwgsKmQcTiE952FkAWQC5OtGxhSaN0Ov1CR0yMjp369atR9du3Tq3bds2IyExMc5ut9uMZrNFbwhsDUurQLzIhd1VLmd5eVn50by8Y/v379+zdevWbZs3b960a9euHV6vN485sAsaaJBDAFkAuS4W2sBOoYE1QpblqGgUh8MR47DbIyOsVise0/v9fm9lRUVFaVlZKUphEQoeK2beS86bl1/d0IBDzS0FyGJA5A8EyzSWU2JLXYLgzC8oKJBRdXxcCil0hS2tn8Hr41dFFOmpiwByw1kFL5w4+0wK09MpIa9CBJAbfTcrQHsGRQxRCxFAFiJEAFmIEAFkIUIEkIUIIAsRIoAsRIgAshAhAshCBJCFCBFAFiJEAFmIEAFkIS1MTnn2W2xWVmPOVx/Uh1D7oUaj0uLNF1GXiypv3FLw009nFsgh0h/1IghMLqdpi7RqIhICWzmR0hKeDai0J8Pp3vb0RtQJqFNQv0C9GXU4akdUWiLSGPZIoznKd6K2g8DqaCqzfahz6nmfGNS7ITAPOoLr87+oS4RFPjWh9WupqFegJvGx11D3o7bi4y+h/oL6bwbY6ZC+qDP4eQv42Geob6AehMa1d/Bm1GTUSVx+u1A/rWdDOxf1aX7/PepbqHtboiU/5TV71VCL61A/oR6CK0m7ud41qHP5/SjUz09Dfr5D7c6NqansTjkd9Ta2qj1Rf63HtbQT52gILLfqgHqoBVIL5XQ4e2UaJ9Ie8h0B911+T7tIxjbws6nhDETdBE1ri1WXpne8vR7XteWeh4S2DWhJv9h72qMWtW1vGrTCKajDGvjZ/biL3trE6oB8iR8ZjLdqqFlt8gjTJRfXoySA3HBSGwc9orGWqQ387DR+LTqD5WdDjf+D96CfVP0S9Wt+f3MdrumEeiXqEwLEpwfItYld88ziU7jeXAsg4Ax3sfQDNH9vAEeZGt8s/vyPOjQOssaLUOlXnAwNjAddUwTymV5FfS5bDzd72SQUNrqWqUEKUwOKamzQpPFs1PshEKJ6CnUM6nmo89iapfG9gc+9SmOlVkMg/EcyAnUIO0aHUeejLg6TTuotLkXtBoGwHW2oTWGthdydU/d/I1vPrzTPU/i8klNonAs5f+24cUyq5vx01Mu4vGoDXSLn+RxO8x7UpajfwolbF8TzPYmjD9d87svgJid6NoTfyrYj5/9s7pFXQiCMSIaqC2oWO/8+rms/l5nCabNyeVE5GDlY8Kdb5GDBWsN81wb1n/z+cdTfIBDX/YG7yWXswfdkS3Mjn3sXc8i/QGCgg8Jp/2EQTebKos/9+fzhbCnfZKeyNadnHj93G+rbXCnfQCAsqBVqJOtRh3IEYR6DgEJb7zGdmAaBARaSC0Oel3IKvUwFA+tlPnZ3Dc4whS9XMSgtDAg9g0ArI1G3cDku4bQncYP5jsuFJI7B/T4D/ll+T8alN5f7dC7jUAozjq+lMvkAAuME/+LXFMYDNYYF3INQqFD7i/EWfg599049/IMGtcgmrgTKnJOtbA5XfBkfM3LrHsl8rpytzUdMBZZxAfxLc9/53JqncIHPYseQWm9n1Ku5MsexNc1ni0CgfoDBNJnTFdwNaDkDRRszXMyWeQK//44bDT33FtQPNee+zfc0MOj+wpVNIcVHuaKDFrm+u8hTZQZ/pZLu+RD3MPdy7xNq/a7j6EyoAdFSDDIMcxnw52t8l/nspzzI31PvRJslTmSwGbm8RmgiUBTem4l6A5ftWj5On59nA7JN8+x9XJ6v8rXUKI9xD7M5pFw/5bRfzWnZ/mcAOQjS3tySghbkBwbpVAa6hS3/C9yqC/m8+7kLdzO4Jb5nKnvyQQeOrPMOLtwVGspxe0jYT9GEorRgGsY0hMB2H6dFz3w9SxPxoEJ+gyv4wzD5fTzkeW7N+1P9CQQDG4QgkCu54T7GQKZwZa7m/PvZuv4YEkfVaSxyBINI5oYQ6oA/z73ZOdxgpzDgK7m+XtKAGLirf4R7yvYMZCq7VzhtgyEwqivxs8/V0EgDR7KogT7MdI0sdbbm/n/n77f/ASz+ISCXse7WWJa2DI69DJwy5j+eMFboVm69Pg1wJQb6gwyOHZoKB7bo1YlUDV26hSs7n58jaQDwMlsgskZjuTy+qWP+pRA6daq9mj4kX2+yFYvjSv6nplHfwMAJl5ZgGfVknp0XAvigHOOe8DqmHVP4WonrIlwEpDAkKnURG681nE7t9mCruLHt1/DwfczLyRgN0vDgzpyvUY3J2SMqkczWrICdktJqzk3lDBBonqnHM+obZiJQd+UKelpj+aqLQwMD/kyJUUNXgpLLfPxfDLTn2CA8yb3dFs25wc0Q9Zq67M2vBTX0FD8xkJP5On8tZRx6bBC/fgZ1nx/yFQP5Bg2QH2J6caSxht/0tTSSoKfepZaQWkMAxc5Ws20drCNAw4841iTxnP/QnuZtBm8rplA0g+9y5uMQBsjaXsuiqYPqGr5LY2FPZW+6oDOfUY9r5rNlJ2uewHm/kHl3o4sj60O6oJpoiZutcu8GerZUTYXl8neX1XJ9MGQ29AwCOYUbWij1ymFLBcyVP+AwY7hRSyUEyEHHK5kjOuEkgV8Pc2OoLw6yNRGbusoxDqsSj76EKd9yaKBJTg0NZK3nXBOYqQDXacJJ4UAYrQnV1GVnS2eY5yrcHQM7einVWO0ETTz5Ou4Cw8kgOHmwIvEPlFcM10E4CvAi56k9W+N/1wBirRH5kSmdnUOR4eRifp0Z5l41lXHwu0X8eh5HeqCacGsovj7g+qEI1l85EgSNEcjBbtnBDkd14mPuBxx2WcROopFBPYD5V32Gf00ar10rbzEHbc0htqs0zmU7fk5f5vYbuTHOZocrQZOf8RCYmhocYg86MheEOLGmeqQ5k2lPXJjvaA/cGfyeZrkdrKYcdRrgBDl+MGz3GFtmrVzKZb0Cfh9NlDndUjWNyhDSWCjO/rnGOX1CE5e2Mr9/IQy+VnMZp/P7PY0NyBlM3CdrPPlZXPnVLSVZxFbGw13NOvZud3IsegbTgnHsIADHG+8OiaMm8LFb+POtfE0v/ryfeSY5P524iz4AgQGZdfy6gNNB1pjmTNu4ARzkyAkV+B18n6AHv1DjwS/lCn0ffh8qr0myOO+PaRrbjRzX1spH/PpqyPFkDqFN0YDrGaYh3Tg09m8GNwHmGm6sd3AaKbLwFwZtfw47BkOlr2jqLIXT2E8T/ruBQT+WqYGOHVEq010cRhvBsWlvGIu+XpPnBue0f1RiGAgPa+KrZu52axrpmsTAuoErUc/g+pALJpatxP18fz0Dt1WI4yFzwXo15ySFxEJXMVh6cbe7hyt1g+a8XRz/vIIbVzI7Yks4Tc6Qe+q40oL5fxR+Hw6vSRLZU7+FraqFqVRMyHkbuVGuDzluZytOPcdUjdVM1PRikziNY1g97JvcxQ3Xq6m7pdwzBR3QWE3Z0jyQ65kSWPh8ExsGoihXasqqjJ26T8KAWNtzUrTq14YEckNPrBcipDYGQD0EjcCuDXdCY5lYL0RITTKaHf21p6OFCBFyJkTPXPrd03VzIUJOpxCn7sL+AHHoZQLIQpqakN9FAzvBgZNL4DStpxRAFnI6hRwxigRRvJxG9b49bS2mJf2Er5Bm21iEsyekeYgMv0+iNoriENLExMavbgJyDn9IF+UipIlJcAuIHALyZo1HKURIU5LglNv1BOSv+ANNiNGJshHSRISwege//4qATJNFaNiQlgTdJcpHSBORsYxZmnz1GQGZZquN5y9pCt+FooyENHKhqbPBqa20M5MrGH4jq0zLwClysYAtswjNCWlsQpikOdcLGasvMXZPACvNpaXJ4TTnlCZs02pdmgdMm4IYRBkK+ZOE5kSfxVgkTL7BIH4LNItxaWQv9EJaTUCbeGSIMhTSCGU3A3iu9mA4IAMjnvbkoq2uaJVzqrDKQv4k8bBDRyt5vmQqcdKOq/8vwABQtvtS6JRAPwAAAABJRU5ErkJggg=="}},"time_used":4961,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4961,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/56258.282e6141fc02ac85d0d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.740Z","timestamp":1785136427740,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/56258.282e6141fc02ac85d0d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a0c2e6a-174e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 19 May 2026 09:33:30 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5929361ddaabf7c5cc2b243206beee9b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5966,"size_decoded":3195,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3055)","md5":"a9563eafb41c9e6b519a29f0206f6b89","sha1":"43a8b417d99fe60c3d65ddae1e66d8cabd277000","sha256":"ba67ff82446ee411a3ef96ebe6abe55cf6cc1abfd78c841cd5d9a0a70804725a","sha512":"1e31a74cb24aeb33cac85e854608a21314f1416f3db595d14b0577305da06f72bf42b9dea2c36f570fcea9dbd7d88793bd8bc291d498ab58b1e2413f173b781d","ssdeep":"96:AaPctCCkctcSycQOchchctDOAXtC4C2GM0/CnXkMHsU3KEu9pJfmJuuImRBYkqMy:NcUrctcXc3chchc1OotC4ChMUCX1HFRM","tlshash":"d5c1118471c1f09513db9a82a4370606f27d5c5c704b79ece3d0d4d6aabba4db42bb36","first_seen":"2026-05-19T10:58:17.796011Z","last_seen":"2026-08-07T05:09:59.618027Z","times_seen":1283,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/main.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.790Z","timestamp":1785136427790,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/main.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 05 Jul 2016 14:10:54 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=pDz4nDctjxqndPOSa%2FWItHvs1k5kUAeenKKt1Y0BFI%2B6O7vmlnnHc6z07JdWZLkZDwr%2BGXa%2Bhh0kFRE%2BY361ZpxnK19Niz%2BZnA%2BSdqvY8H%2BPvRIZogpQDt506r1X73PsJg%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"577bbfee-342\"\r\ncf-ray: a219d7f1bb3b0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":834,"size_decoded":1147,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"f88e94c021290d5e027f184cc6f6a015","sha1":"7be058ade75b8dd085e874df53c1e3cddca752ba","sha256":"55acd0646cbb84b9bd51501cd287eee373c3528c42b99dd3f0393ff82c27536b","sha512":"7cdf79b3a2afb68a48d23886b15744ec8e2a2d05a96168e569c405115b061b5fb8beef01c191ca42cad0d70fb7d40fb1b1a0e6ee764176249e90da48775dc4f2","ssdeep":"","tlshash":"800164887cd338c56767303c53ef1165b0ba5907458cc604ff0c9aa29f6223e91aafc8","first_seen":"2023-03-07T12:40:40Z","last_seen":"2026-08-10T18:26:39.651729Z","times_seen":97,"resource_available":true,"data":"JChmdW5jdGlvbigpIHsKCgogICAgZnVuY3Rpb24gZ3VwKCBuYW1lICkKICAgIHsKICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFtdLywiXFxcWyIpLnJlcGxhY2UoL1tcXV0vLCJcXFxdIik7CiAgICAgICAgdmFyIHJlZ2V4UyA9ICJbXFw/Jl0iK25hbWUrIj0oW14mI10qKSI7CiAgICAgICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCggcmVnZXhTICk7CiAgICAgICAgdmFyIHJlc3VsdHMgPSByZWdleC5leGVjKCB3aW5kb3cubG9jYXRpb24uaHJlZiApOwogICAgICAgIGlmKCByZXN1bHRzID09IG51bGwgKQogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiByZXN1bHRzWzFdOwogICAgfQoKICAgIHZhciB1cmxkZWNvZGUgPSBmdW5jdGlvbiAoc3RyKSB7CgogICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoKHN0ciArICcnKQogICAgICAgICAgICAucmVwbGFjZSgvJSg/IVtcZGEtZl17Mn0pL2dpLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIFBIUCB0b2xlcmF0ZXMgcG9vcmx5IGZvcm1lZCBlc2NhcGUgc2VxdWVuY2VzCiAgICAgICAgICAgICAgICByZXR1cm4gJyUyNSc7CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIC5yZXBsYWNlKC9cKy9nLCAnJTIwJykpOwogICAgfQoKICAgIHZhciByZWRpcmVjdCA9IHVybGRlY29kZShndXAoJ3InKSk7CiAgICB2YXIgdHJhY2sgPSBndXAoJ3RyYWNrJyk7CiAgICB2YXIgbGFuZyA9IGd1cCgnbGFuZycpOwoKICAgIGlmKHJlZGlyZWN0KXsKICAgICAgICAkKCcubGlua19vdXQnKS5hdHRyKCdocmVmJyxyZWRpcmVjdCk7CiAgICB9CgoKfSk7"}},"time_used":96,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":96,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.436Z","timestamp":1785136428436,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_screener_v1_widget.9dbe1b28214d7a1471ba.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-7cb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3d2aeb43c11d1a03e86fdf5557bdcdcc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31926,"size_decoded":16555,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3765)","md5":"078c641a9165940f92f650670dcfe56c","sha1":"588a588b3de873254a2ca6be4975e9a456d154af","sha256":"bf1232ee83f71f223d4d69f4ec7b7ffc474385b0bf3e2ea817a41a51de2fdffc","sha512":"d70d6ac8dc2d5315cae23b5ad2102e5968136636834d12b08553280efe2990f9bb1ca243bb1cc9bcee0f291f1db4af42d8ef1716326c2ca0de1643e12bdfe1ff","ssdeep":"768:2O2u/W/ww+vFmk6+uoYOgJV3MDbos8ZJh9qWxZjcLY8Z4NqSY:2O2u/WIw49gJV3ebo9h9HrD+7F","tlshash":"35e27ded923cd6b336f12da96d7a9863f33c24237c5980d49393b56409a6ff4a232513","first_seen":"2026-07-25T03:24:57.413219Z","last_seen":"2026-07-28T04:58:42.081275Z","times_seen":293,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYix0PXt9LHI9e307ZnVuY3Rpb24gbihlKXt2YXIgYT1yW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1yW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyxuKSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9bi5tPXQsbi5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sbi5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSxuLk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLHQ9ITAscj0wO3I8Yy5sZW5ndGg7cisrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXMobi5PKS5ldmVyeSgoZT0+bi5PW2VdKGNbcl0pKSk/Yy5zcGxpY2Uoci0tLDEpOih0PSExLGY8YiYmKGI9ZikpO2lmKHQpe2Uuc3BsaWNlKGktLSwxKTt2YXIgbz1kKCk7dm9pZCAwIT09byYmKGE9byl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSxuLkY9e30sbi5FPWU9PntPYmplY3Qua2V5cyhuLkYpLm1hcCgoYT0+e24uRlthXShlKX0pKX0sbi5uPWU9Pnt2YXIgYT1lJiZlLl9fZXNNb2R1bGU/KCk9PmUuZGVmYXVsdDooKT0+ZTtyZXR1cm4gbi5kKGEse2F9KSxhfSxjPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18sbi50PWZ1bmN0aW9uKGUsZCl7aWYoMSZkJiYoZT10aGlzKGUpKSw4JmQpcmV0dXJuIGU7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZlKXtpZig0JmQmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZigxNiZkJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBlfXZhciBmPU9iamVjdC5jcmVhdGUobnVsbCk7bi5yKGYpO3ZhciBiPXt9O2E9YXx8W251bGwsYyh7fSksYyhbXSksYyhjKV07Zm9yKHZhciB0PTImZCYmZTsoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCkmJiF+YS5pbmRleE9mKHQpO3Q9Yyh0KSlPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5mb3JFYWNoKChhPT5iW2FdPSgpPT5lW2FdKSk7cmV0dXJuIGIuZGVmYXVsdD0oKT0+ZSxuLmQoZixiKSxmfSxuLmQ9KGUsYSk9Pntmb3IodmFyIGMgaW4gYSluLm8oYSxjKSYmIW4ubyhlLGMpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxjLHtlbnVtZXJhYmxlOiEwLGdldDphW2NdfSl9LG4uZj17fSxuLmU9ZT0+UHJvbWlzZS5hbGwoT2JqZWN0LmtleXMobi5mKS5yZWR1Y2UoKChhLGMpPT4obi5mW2NdKGUsYSksYSkpLFtdKSksCm4udT1lPT4yODgzMT09PWU/Il9fTEFOR19fLiIrZSsiLmY5ZTczNTZmZjkxZjgzN2Y0N2M3LmpzIjo4NDY5Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcxNWNiN2IyNzMyZjIwYzRjOTYxLmpzIjo0OTY4ND09PWU/Il9fTEFOR19fLiIrZSsiLjQ5OWNmYmQ3MzQ3ZTk3NDcyMjI4LmpzIjo1NDk4PT09ZT8iX19MQU5HX18uNTQ5OC44ZTRjY2M3Y2VmOGJmYWYzOTM5OS5qcyI6ODU1Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi40OWZkYTEzZTE4NzYxMjQ2M2Y4NC5qcyI6MjY5NzM9PT1lPyJfX0xBTkdfXy4iK2UrIi45YWU1NmQ2MjFhNWYyOTgyN2UwMC5qcyI6MTc2NjI9PT1lPyJfX0xBTkdfXy4iK2UrIi40N2Y1YzljYWY2NjBjNGQwZTgwNC5qcyI6ODcyMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZTc3MzA5NzMzN2EzNGJlNjY1Mi5qcyI6MjE4NzA9PT1lPyJfX0xBTkdfXy4iK2UrIi43ZDM3ZmZhNTNkZmJiYzE4NDA4OC5qcyI6ODQyNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDM1MWEyYjM5ZTQ5MzI0YjQxYy5qcyI6OTIyOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNmFmNjI2ZTg5NGVjOTAwN2Q1OC5qcyI6MTA4NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43NjZmOTY2ODc4YjdmODcyNmQ3NC5qcyI6ODg0MzI9PT1lPyJfX0xBTkdfXy4iK2UrIi40NDA2MGFkZDIxNjI4MGNmYTBkMy5qcyI6MTI2NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi42MzU3NjY1OTJiNDZkZTc0OGU4ZC5qcyI6MTcxMjM9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZDRkOGU3NjgzZTM0NmYxMmUxMi5qcyI6MjU3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi43MzdmNjUzYTdiMTNmMDZhOWZjZS5qcyI6MzQ5MDg9PT1lPyJfX0xBTkdfXy4iK2UrIi40ODhjZDE0NzM2MDE5Y2VmMjdiYy5qcyI6NzM3MjU9PT1lPyJfX0xBTkdfXy4iK2UrIi5hYjczZTk1NGQyY2QxYmUzNmRjNC5qcyI6NDA4OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NmVlM2M1MjQxN2E2MGZiMDkzMS5qcyI6NDg4Mzc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZDY1NjczZTU4MzdjZDg2NzM3YS5qcyI6OTY0NDg9PT1lPyJfX0xBTkdfXy4iK2UrIi5hMjMwOTNiMjBjMmU0OGFhYzEyYi5qcyI6NjA5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZTZjYmVlZjg2ZGQ4ZmYxMDk2NC5qcyI6NDkyMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYzIxNTZmYTBlODU0NWNiY2FhYi5qcyI6MjA4NjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4zZGI4ZThlZWVlNjg2YTUwOWIyMC5qcyI6NDEyODA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYWEzY2QwN2Q2MDBlYjk2Y2JiYy5qcyI6ODEzOTU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmQ4M2M3NDg4ZGY0OTAzOTRmOC5qcyI6MjY3NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5lM2IwMzU1Y2ZmZDA3N2JkZTI0Mi5qcyI6MTA2NzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi42NWFjZGNjZmVmMGYzZjQ5ODJlMC5qcyI6NDk3NDc9PT1lPyJfX0xBTkdfXy4iK2UrIi45ZmRkZThkZmJkNDU2NjM4ZjMxMS5qcyI6Mzg1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yNjkxODkyNzVhZGRkMWY3NjdiNS5qcyI6NTkzMT09PWU/Il9fTEFOR19fLjU5MzEuMmQwMGExMDY3OGU3OGNkNjZjOTIuanMiOjg2MzE9PT1lPyJfX0xBTkdfXy44NjMxLjdhY2YyYmE0NDIxNjMzMjNhNmVjLmpzIjo4NDkwMD09PWU/Il9fTEFOR19fLiIrZSsiLjBkMzc2MmZkMGNlNzIzZTU0MWRiLmpzIjo3NTUyPT09ZT8iX19MQU5HX18uNzU1Mi5iYzAwMjAxOTI5Nzc3NzFkNzExOS5qcyI6MTg5MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi42OTgxOTM4YjExNDNhYWE2MTU3Ny5qcyI6MTcwOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44OWQ4ZTBiZjUxYTc3ZDZjZTczMS5qcyI6NzM3Nz09PWU/Il9fTEFOR19fLjczNzcuZGMxMDMxMjUyYmY5MmNmYjQxZmIuanMiOjE5OTE2PT09ZT8iX19MQU5HX18uIitlKyIuNDJlZTFlOThkNzUzMGFhNTY1NTMuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjYzNTUzPT09ZT8iX19MQU5HX18uIitlKyIuZDFlZTYxOThiNzAyODQ3OGRkNjIuanMiOjYxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuM2NiNmM2NDIzYzZiMWZhMDEwZGYuanMiOjc2Mzg1PT09ZT8iX19MQU5HX18uIitlKyIuYTM4YzhlOTIxOTYwY2VhNDQwMTkuanMiOjI2MDU9PT1lPyJfX0xBTkdfXy4yNjA1LmY3MDBhZjZjYjgwYjA2ZTU1NGRkLmpzIjo5OTg2NT09PWU/Il9fTEFOR19fLiIrZSsiLjU1ODhmMmJkZjM0OTEyZWMxNDQ4LmpzIjo5OTc2NT09PWU/Il9fTEFOR19fLiIrZSsiLjZkYTZiZGJiMDhmNmY3YjljMWRkLmpzIjozMDU5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjg0YTRiM2UzY2NiNmQ3YzJmMjJhLmpzIjo0NTUyMj09PWU/Il9fTEFOR19fLiIrZSsiLjNhNjYwYTE0MjEyNGFkZjQ1MDQzLmpzIjoxMDMzPT09ZT8iX19MQU5HX18uMTAzMy43MzRiZDdkYWZlNzc3Y2YyZGY2MS5qcyI6ODg4OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZjY2M2JkMTI1ZGIyOGYxY2JkYS5qcyI6ODg0Mj09PWU/Il9fTEFOR19fLjg4NDIuZjQ4NDRiNDQwNzgxYjE5ZTQ1MDguanMiOjE5MDM0PT09ZT8iX19MQU5HX18uIitlKyIuMzA1MTcyMDQ3ZTdmYWJiNTM0ODEuanMiOjE2NzI9PT1lPyJfX0xBTkdfXy4xNjcyLmZjZjY5OWM0MmNiZjZkYTA1MDNkLmpzIjoyMTM5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjM0MWY2YzdiNzY1N2U1NTU0ZGYwLmpzIjoyOTE2OT09PWU/Il9fTEFOR19fLiIrZSsiLmMzNTczZGQzM2FiZWVlZWJlZjA0LmpzIjoxODg5OD09PWU/Il9fTEFOR19fLiIrZSsiLmRmODY3OGZiMWZlZjc3MWI1M2FhLmpzIjoxODYyOD09PWU/Il9fTEFOR19fLiIrZSsiLjMyYjBiYzIwOGQ1ZTE5MGEzNzMzLmpzIjo3MzYzMz09PWU/Il9fTEFOR19fLiIrZSsiLjA1YjVlZmY0NmQ1OTE1NzE0ZmZjLmpzIjo2Nzk0OT09PWU/Il9fTEFOR19fLiIrZSsiLjk0MDFhZmNiN2JkNDc3ZTMxOWExLmpzIjo2ODg2MD09PWU/Il9fTEFOR19fLiIrZSsiLjM3NjZkMTEwNzg4MTJkN2YxNDU3LmpzIjoxODc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjM4ZjEwM2NlYjM1MWQ2OGMyZjhmLmpzIjo4ODk5Nz09PWU/Il9fTEFOR19fLiIrZSsiLjI1OTkxZGE1OWUyMGE3OTZlZGFhLmpzIjo0ODkxMj09PWU/Il9fTEFOR19fLiIrZSsiLjA3ZjEzZTY5NGRkZjU0YjRkZWViLmpzIjo2NDQ0MT09PWU/Il9fTEFOR19fLiIrZSsiLjZkM2EwN2I5YTgxNDA4NzMxY2M0LmpzIjozMzM5MT09PWU/Il9fTEFOR19fLiIrZSsiLmFlZGQxZDNjZWVmYmU0Y2U2ODAyLmpzIjoxNzg1OT09PWU/Il9fTEFOR19fLiIrZSsiLjRhNTgwYWNlNDkxNGYxMTVjZDA3LmpzIjoyODg3NT09PWU/Il9fTEFOR19fLiIrZSsiLmVkZTFiNzIxODE2OTNkMWFjZjRmLmpzIjo1ODY2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmQxNWZjNGI1YzYzMWJiNWVjZThkLmpzIjo0NzAzMD09PWU/Il9fTEFOR19fLiIrZSsiLjlhYTZlMGZmNGVkZGExNjg3NTM2LmpzIjoyOTYxOD09PWU/Il9fTEFOR19fLiIrZSsiLmRkMjA4ZmE5ZDI2ZTczMjgxMDljLmpzIjozOTUwND09PWU/Il9fTEFOR19fLiIrZSsiLmViN2M4NThhMjMxMDhhY2E3ZmVlLmpzIjozOTk4OD09PWU/Il9fTEFOR19fLiIrZSsiLjNjOWQ0NmQ2OWY1YWQ3MjEwOWEwLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo5Mjk2ND09PWU/Il9fTEFOR19fLiIrZSsiLmFhNjcwZGRmZDE2NTk1OTY0YWViLmpzIjoyMzU2Nz09PWU/Il9fTEFOR19fLiIrZSsiLjVmZGRjMTU5OTgxNDJjYmM2MWVmLmpzIjooewozNDc6Im1hcmtlZC1zeW1ib2xzIiw1Nzc6ImNvbnZlcnNpb24tY29udGV4dCIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTc4NzoiYWRkLXRvLXdhdGNobGlzdC1hY3Rpb24iLDIyODQ6InJlZ3dhbGxzLW1hbmFnZXIiLDM5NjE6InByb2ZpbGUtYXBpIiw3Mzk3OiJwZXJpb2QtZm9ybWF0dGVyIiw3NzE4OiJwaW5lLm1vbmFyY2gudjUiLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDk1OTk6ImNvbnRhY3QtYWR2YW5jZWQtY2hhcnRzLWRpYWxvZyIsMTA3MDQ6ImNyZWF0ZS1kaWFsb2ciLDExNDM1OiJub3Rlcy1kaWFsb2ciLDEzMTIzOiJlYXJseS1iaXJkLWJhbm5lciIsMTM3MTk6InBob25lLWNoYW5nZS1mbG93IiwxMzczMjoiZnVsbHNjcmVlbi1pbWFnZS1kaWFsb2ctaW1wbCIsMTM5OTM6InB1c2hzdHJlYW0tbXVsdGlwbGV4ZXIiLDE1NzY3OiJ6eGN2Ym5Db21tb25QYWNrYWdlIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTkwMTI6Im1vbmFyY2guY29sb3JpemVyIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTc2OToic3Vic2NyaXB0aW9uLWhhcy1jaGFuZ2VkLWRpYWxvZyIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIxMjYwOiJuc2QtdW5wYWNrLWltcGwiLDIzNzY5OiJzdXBwb3J0LXdpemFyZC1zaG9ydGN1dC1wYWdlIiwyNjA2NjoiY29udGFjdC1wcml2YWN5LXBvbGljaWVzLWRpYWxvZyIsMjg1MDc6ImdldC1lcnJvci1jYXJkIiwzMDMwNDoiY29udGFjdC1lZHVjYXRpb25hbC1kaWFsb2ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM1NTkyOiJlcnJvci1sb3R0aWUtYW5pbWF0aW9uIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzODc4NzoicGFnZS1zbmFwc2hvdCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDQwMTAxOiJ0di1jb2lucy1kaWFsb2ciLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0Mzk4MDoiY29udGV4dC1tZW51Iiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NTMyMjoibGlnaHR3ZWlnaHQtY2hhcnQtcHJpY2UtdGltZS10b29sdGlwIiw0NjE2OToidXBncmFkZURpYWxvZyIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ3OTYxOiJkZWNsYXJhdGlvbiIsNDgwMDI6ImNvbnRhY3Qtd2lkZ2V0cy1kaWFsb2ciLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDg0MTM6InN1cHBvcnQtd2l6YXJkLWhpZ2gtdm9sdW1lLWluZm8iLDQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTgzOToic291cmNlLXRhZy1wb3BvdmVyIiw1MDE4MjoiZ2xvYmFsLW5vdGlmaWNhdGlvbiIsNTI0NTM6InNjcmVlbmVyLW5ldy1zdGFuZGFsb25lLWRpYWxvZy1pbXBsIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQ2MTU6InJlZmVycmFsLXdlbGNvbWUiLDU1MzU2OiJnbG9iYWwtbm90aWZpY2F0aW9uLXRvb2xzIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU3NjM5OiJtaW5pLWNoYXJ0LXN5bWJvbC1kYXRhIiw1NzcxNDoidXNlci1zdGF0dXMtZGVjbGFyYXRpb24iLDU4NjEzOiJjaGFuZ2UtcGxhbi1kaWFsb2ctaW1wbCIsNTg4MTc6InZhbGlkYXRlLWludGwtYWRkcmVzcy1kaWFsb2ciLDYxNTMzOiJzdG9yeS1pdGVtLXRyYW5zZm9ybSIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyNTU3OiJzdXBwb3J0LXdpemFyZC13aGF0cy1uZXctcGFnZSIsNjI4MTE6Indhcm5pbmctcG9wdXAtaW1wbCIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjQ2NDQ6InJlYWN0Iiw2NDk5NzoidGFiYmVkZGlhbG9nIiw2NTYyMzoicG9wLW92ZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYzOTk6InNub3dwbG93LXRyYWNrZXIiLDY2Njg3OiJyZWNhcHRjaGEtcG9wdXAiLDY3MzAzOiJzY3JlZW5lci1tYXJrZXQtZGlhbG9nLWltcGwiLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY5NDg2OiJjbGVhci1jb252ZXJzYXRpb24tbW9kYWwiLDY5ODc0OiJsb3R0aWUud29ya2VyIiw2OTg4MToid3JvbmctYWNjb3VudC1kaWFsb2ciLDcxMTg1OiJiYXNpYy1xdW90ZXMtc25hcHNob3RlciIsNzExOTI6InF1b3RlLXRpY2tlciIsNzEzMTk6ImFsZXJ0cy1jb2xsZWN0aW9uIiw3MTM5NDoiY21vbmV5Y29tdHctY29weXJpZ2h0LWRhdGEtaW1wbCIsNzIxMTE6InBpbmUubW9uYXJjaC52NCIsNzMzMDA6ImNvbnRhY3QtYnJva2VyYWdlLWludGVncmF0aW9uLWRpYWxvZyIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzYwNDA6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1uZXctZGF0YS1pbXBsIiw3ODcxNzoicGluZS5tb25hcmNoLnY2Iiw3ODg0MToibWF0Y2hlclB3bmVkRmFjdG9yeSIsNzg4Nzc6InBheW1lbnQtb3JkZXItZGlhbG9nIiw3OTA0MToidHJhZGluZ3ZpZXctY29weXJpZ2h0LXRyYWRlLXdpdGgtZGF0YS1pbXBsIiw4MDkzOToidHJhbnNsYXRlZC1zeW1ib2wtZGVzY3JpcHRpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODUwMzg6ImxlbnRhcnUtY29weXJpZ2h0LWRhdGEtaW1wbCIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDkwNDE1OiJzeW1waG9ueS1jb21tdW5pY2F0aW9uIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkyOTY4OiJjaGF0Ym90IiwKOTMyNDg6ImFsZXJ0cy1yZXNwb25zZS1tb2NrcyIsOTMyNzk6Im1pbmktY2hhcnQtYmFyLWJ1aWxkZXIiLDk1MjA3OiJzbm93cGxvdy10cmFja2VyLWJhc2UiLDk1NzU2OiJ0di1jb2lucyIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTc1MDk6InRyYWRpbmd2aWV3LWNvcHlyaWdodC1kYXRhLWltcGwiLDk4ODMwOiJ0d28tZmFjdG9yLWFwaSIsOTk4MDU6ImNvbnRhY3QtYWR2ZXJ0aXNpbmctZGlhbG9nIn1bZV18fGUpKyIuIit7MzQ3OiIxZjdkNjczN2UxOGQ1ZThjMWQzYSIsNTc3OiI5YTM5NjFjMTRmMjI5M2Y5MDllYyIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTc4NzoiZGVlODBiMWQ1Y2M5MGQwMGQ3OGYiLDIyODQ6ImM0NGFhOTI2N2JlOGRjMWM3MTc5IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMzQ2NzoiODk1NTBjMmI5MWRkYzQ4MDI5MDkiLDM1NTI6IjRjNTUzNTE4M2I3YTAzMzBhODlkIiwzOTYxOiJmM2IwY2VmM2FjOWNkOGQxMTAwZCIsNDg3NjoiMjc0ZDU1YTAyZDMyNDA4NzY4NzYiLDY5MzQ6IjkwZWRmZWY2Y2U5ODM2OWFlMDRhIiw3MjExOiIyZjkzNGIzMGNmMzg2NTE3MTQ0NiIsNzI4NToiOGJjODI5MjY2NTI4ZmE3NGFmNWMiLDczOTc6IjA1OWU2MjI5MjQwMjMyNzAxNmM0Iiw3NjA4OiI5ZGQxNDY0OTIyYzFlNjUxNTZhOCIsNzY3NjoiMGFmMTY3NzMxOWRiNzBhNzFjZGQiLDc3MTg6IjlhMWU0ZDgzOGUyMjJhM2EyNzNlIiw4NDY3OiIwODNkZDdhNTEzZDc3ZGIzZDM0NCIsODYwODoiZGE0YzY5YzJhZjg0ZmI4ZmM2MjYiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTI5NjU6IjQwNmVlNTlmYTAwOWYwZTljMjZiIiwxMzEyMzoiMzNjMDFmOWQ1MGJhM2NmZTFkYWEiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTc2NzoiOThmOGZlOTZiYjc4ZmU1MDhlMDciLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNzc5NzoiYjJmMjk0NTAwMGFjYWFmMmQxNjUiLDE3OTkxOiJhMzA3YmZlMDAyMzRkYzQxOWJmZCIsMTg1MTI6ImEzYmNkYzcxYzY4NjAxYjdkYmZjIiwxOTAxMjoiYjc2YzU5ZmRhY2JhYmFiYWYzNDgiLDE5MzExOiI2MjhjNmQzZjc2ZGFjODgyZTgyZCIsMTk0NjM6ImNiOWE4MjU3N2NlODFiNDY5MmQzIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAzMzE6Ijc0MDM1ZmU5Mjk3MTgxYTEyN2RiIiwyMTI2MDoiZDA5NTVhYWU3NWY4N2QzYmQ0MjEiLDIzMzY0OiI4MDJjZGFkYTc0ODQ1N2NiZmRkOSIsMjM3NDM6IjQ3MzMxMzdhZjJmMjMyYTZhMzRhIiwyMzc2OToiNjZjZWU2NWEyYTg2MGEzMDZkODgiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MTQ1OiI3MjExZmY1ODA4ZjBhMThhMWU5ZCIsMjY0NzM6ImU2OTJlYzRhNTMyOWNjZTYxYWMzIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODUwNzoiZTllNWVlZDEwOGRjOWIwYmI0YTciLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMyNjEzOiI3MjMwZDczZWRhNjQ5NWY5YTkwZCIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDY0NToiODQxZWE2MTY4OGVlYmJiZDY5NmEiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzU1OTI6ImUyNzExZjY1YjVlNGU0MjZjOTBkIiwzNTk4MDoiYzM0MDQyYTRhMTBjYjVmYjJlM2QiLDM4Mzk4OiIwMjU1MGMxYTQ4YWM5MzYwY2E5YSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzOTQ0MjoiMjc0MDk2M2I3OGVlNGE0ZTk2NDAiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsNDAxMDE6IjRjMWJkYTJhYmJmYWI4NDczODJkIiw0MjE3MToiMWMwNWQ4MTQ3YzIzMGQ4NmI0ZmEiLDQyMjEyOiI0NzU0YzI4MDRhYjlhOTc5Nzc2YiIsNDIyODg6IjQ3ZWNhZWNhMTAxMmVlM2UxZDhjIiw0MjQ1NzoiMzI4YTg1MjM3N2Q2NDQ1NzBiMGMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDM5ODA6IjdlMDM3Y2ZjN2IwMTJhOTcwMzM2Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0NzgwOiI3OWQyMDUxZDNiODRjYWVhYjRlNiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NjE2OToiMTkwMzg3OWMyMjIxZmNhZGNiYTgiLDQ2MjE3OiIzZDg2NGJiNGE3MGQ0ZDNkODQwZiIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDg0MTM6ImYzZjFjMTcyZTE1NDI5NGQxNzYyIiw0ODU1MjoiOTM0Y2QxNDdiYTMyYTc1ZmM0NzkiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk4Mzk6IjI2ZmZkZTY5NzUwMjUyYTRkMjJmIiw1MDE4MjoiYTdhOWQ0MTFhZTI3M2YzMDUxMzIiLDUyNDUzOiI2NDczNzExMmU1NzZlZGFjMzQ1ZSIsNTI1MDk6IjQwNjU5NDcwZTUxYjA2NWQ1MTM5Iiw1MjgxMToiMjg3MDBkNDFmNDY4N2JlODE1OTciLDUzNjUzOiIwMzBhZDU0OTk3MDE1MzQzMGY5MCIsCjUzNzcwOiJiY2NkZjI4OGNhMWYyMDU0ZTE0NSIsNTM4ODE6IjNiY2MyZTRmYmEzZGJlZWM2OTEwIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUzNTY6IjY1ODU5MTlkOGU5ZDllOWM3ODVjIiw1NTk2MDoiMzBlNjRmMzYxNmJlMjI1NjBjYzIiLDU1OTY5OiI0M2MzNzQ4MDE0ZGUyY2QwYmQxYyIsNTYwMDg6IjY1MTljMTQ4NWVjYjlhNmU3OTliIiw1NzA4MjoiNmZjYzZhNTViNWYyODRhOWMyYzEiLDU3NjM5OiIzNDljYmZhNzhkNjEzY2Q0ZmIzNSIsNTc3MTQ6IjMyNTRkOTAwNjkxM2EyNjhmNTY4Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTk2MTk6ImVlNjE3ZTkxZjViZGExNGM2YWQyIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYxMTgzOiI3Y2JkMTZmYmM3YzUxOTE1OTM0ZiIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyNTU3OiJjZDJhYjEzZGI5NGM0YjgzYzY5YiIsNjI4MTE6ImI0NGU3NTQxZmI2OTdjYjhhNzEzIiw2MzA4ODoiMTRlZDZhMWYzZjgwZGZhZGE5MTUiLDYzMTYwOiIyYTNhMjExODVmYmNjNzA3OWRhZSIsNjQ2NDQ6IjkwOTkyYzlkMGQ1ZGM5MmM4OWI3Iiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0OTk3OiJiOWJmNjAyOGFkZmMyZDAzZTY2ZiIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTYyMzoiZmY0ZmI3NDg0MjVkMmM1Yjk2ZDkiLDY1OTQ3OiIyZWUwYTcyYzFmMjhiNDkyM2JiMiIsNjYzOTk6IjNmNjg2NTdkNWZmZTI5YjIxZjYyIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2OTMzOiJjMWIxZWQ3Zjk3NWFiZGU1NjU5YyIsNjczMDM6IjViYTJiYmQ5YWY4OGVjMzQxNDRiIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MzA0OiJmNjY1OTY5MjRkZjZlODkxNjNiZSIsNjg3NDE6ImNiOGMyNDRiZmI2MTQwY2MxM2JmIiw2OTEyMDoiMzIyYThhMzEwM2Q2ZmMwYjE5ZGUiLDY5NDg2OiI4ZmMxYzcwODliMmE2ODQ2YmMwOSIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwNTkwOiIwMTc4M2JkOWIyNGIxNTVjOGUxZSIsNzA2NDQ6IjQ0ODc0M2RlZjMyNWZlYjYxOTY3Iiw3MDcxMjoiOTI4MDI4YzQzYmE5YjcwN2U4MTEiLDcxMTg1OiJiNGQyMTIyZmJmYzMwN2ExZjc3MiIsNzExOTI6IjNmNWJmYTU2MGYzZDg2NzZhYTBlIiw3MTMwMDoiYjY3MDk0MzM5NDAzMzlkYzFmNjYiLDcxMzE5OiJmZTYzMTFiODIyZTA3OGYzY2MyZCIsNzEzOTQ6ImU2Mzk3NWJhMWQzNjdkZjdhOWQ4Iiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzI2NzQ6ImRjYzE3NTI1NGUwYzY2NjJkZDE0Iiw3MzMwMDoiNjM5NTQyNjAxZjdkZjc4M2NjMDciLDczNTczOiJjMjBlYmZkYmQ5Mzc2ODk2ZjM4YSIsNzQzNjQ6ImQ1MWNlYjhkMTA2YTQ5NTFjY2YzIiw3NTQ4OToiZDljMDkxZTFhZWMyNDNjYWIxYTciLDc1OTMwOiIxNDNjM2IyNDE2YTUwOTg5MzdjOSIsNzYwMzM6IjQ1N2ZjNmE5ZGVhOTNhYmM2NGE2Iiw3NjA0MDoiODlhNTFiOTg4ZWM0M2VkMDRlZTciLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzgxMDk6IjRhZWJmM2I3YWJhZjNhNDMwZTM2Iiw3ODMxMjoiMDkwZDhhMDAyYjk0M2QyOGE4MjYiLDc4NzE3OiJjM2MwYWE5NTBjYzJhYmQxNGQ3YSIsNzg4NDE6IjJkZjljNjhlMmIyN2U4NTkyMGJiIiw3ODg3NzoiZDIwMDNiYjhiMzEzYzhiZTg1ODkiLDc5MDQxOiJiYjRmN2NiMDY4ZmZiZWU4Y2JiYSIsNzk5OTY6IjFhNzFhYjVkMjYzY2RiYWE5NDhiIiw4MDkxNToiNjk0MDRmZGE4YWFmYzI3NDJjNTUiLDgwOTM5OiJjZWM1ZTMyYjYwZGJjNDM3OWU3NiIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzNzgxOiJhNDMyM2IwZjAxODFlOWRkZmE2MCIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDM3MToiMjU2NTQ1MmNhZWNhYjk5ODI1NWMiLDg1MDM4OiI0YzBkNmRmMzA0NWRlNDE3MzE3OCIsODU0MzQ6ImI4NWI3NWRmOTFiMjJiYWM4ZDM5Iiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4Nzg1ODoiNjkxMzdlNjJiYmQ1ZTBhNjNhZjQiLDg3OTk1OiI5MTFiMjYxODE3NzhmZWNjNGI0ZSIsODgxNzI6IjNhODE5MDRhZTk0MTIxOTAyZmZlIiw4ODU5MDoiMmY1ZTIwNGM3ZTNkZDkwNjg3OGQiLDg4NjQwOiIxYjUzOTkwNDQwYjIzMWI3MGYyZSIsOTA0MTU6IjhlMmFjMWVjMjJhMGEzMzYyNDUyIiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkyOTY4OiI0YzQ1MzZkMGM3MTYyMmU5N2FhMyIsOTMyNDg6ImFmZGU1NDhkZmUwOTExOWI2OWI5Iiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDk0MTgyOiIyMGRjYzc4YzBlODQ4MWQ0MzQ3MCIsOTQ4MjU6IjhhOTBjMGMzZWJkNDEzZWI5YzgxIiw5NTIwNzoiNDY1ZjhhZjFhYTcyYWMzYTFjMzIiLDk1MjQ0OiI5ZGE4ODljMTM2ZDI1MDZhM2Q4MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NjMzNzoiODZjM2NjNjEyYzk4ZjdlNzc0OGQiLDk3MjAyOiIzMjNjMTFjZGFmZGNhMzJkNGFkNyIsOTc0NzI6ImU4MTk1NDA1Zjk5MDU1YTgzYzZmIiw5NzUwOToiMjdmMzQ5YTFkNTg0ODNmMjdlYWEiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIn1bZV0rIi5qcyIsCm4ubWluaUNzc0Y9ZT0+OTc3OTc9PT1lP2UrIi5kOTg1ZWViZTY3Mzk3ZjAyZmE2NC5jc3MiOjUyMzk2PT09ZT9lKyIuZWQ3NmNhZjJmZmUwMTQ0NjBiYTYuY3NzIjoyMDM1ND09PWU/ZSsiLjJkZGY5MzRmOGVkYzI4MDJkOTBhLmNzcyI6MTM0OTI9PT1lP2UrIi4yYzc3NzMwZDExMjVhNDk4NWJkYy5jc3MiOjM3NzQ2PT09ZT9lKyIuMzQ1MjI3YmIxNmUwZDhiYzliZDUuY3NzIjoxMjM4NT09PWU/ZSsiLjc4NTYxZWJkZWYwNWNlNjQ4YjVkLmNzcyI6ODEwNzI9PT1lP2UrIi4yOTI3YTE3NzIzMWZkZDBlMjRjMS5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6MTEyMTg9PT1lP2UrIi4xMWZlN2U4ZmRhMzAxOWFhYzFhZi5jc3MiOjcyNjY2PT09ZT9lKyIuMjIyOTE3M2JmNGQ2NzQ0ODQ2MzcuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjQ1ODE9PT1lP2UrIi40NWRmMDIxODFjNDUwOTczMmQyMC5jc3MiOjIzNjI0PT09ZT9lKyIuZDIzOTBkMTdiMTUwOWIwMTg4MjYuY3NzIjozNjIyMj09PWU/ZSsiLmU5YmU5YTczM2UxMTQ3MzBhNGVhLmNzcyI6ODM0ODg9PT1lP2UrIi4yYTM1Mzc3ZmQ1NGYwYWY0MDg3NC5jc3MiOjY3Nzk5PT09ZT9lKyIuZTI0OTU2OTFjZWExN2IzYTgxYzIuY3NzIjoxMTQ2MT09PWU/ZSsiLmUyN2NiNGVjZjMwNDkyYWMxMWY2LmNzcyI6OTY1ODc9PT1lP2UrIi45N2ZkZDY1ZjIwMTIxMDZmZjExZS5jc3MiOjg2NDIzPT09ZT9lKyIuNzk3ODNhYTcyYjZlMjkyNTJkMGMuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjo0MDgzNT09PWU/ZSsiLjc2YTFjNzkyM2EyYzk4NmJlOWFjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjozMTgzNz09PWU/ZSsiLmQzNjhjYWE2NGQ0OTRhNDA4N2NjLmNzcyI6NzY2NT09PWU/Ijc2NjUuOWYxZjMyYjE3NzNiMDU0ZmRmMDcuY3NzIjo1NTAxMT09PWU/ZSsiLmY5YzBhM2MwOWY3Yjg3NzlhYTM3LmNzcyI6NTAwMzU9PT1lP2UrIi4wMjI3YzA5ZThkZTNiNDAwODM5NS5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjo1MDIyMT09PWU/ZSsiLmY0OWRhMmE3Mjc5Nzc0YWE1ZmU4LmNzcyI6NDUzNjg9PT1lP2UrIi45ZmYwMGEzZTM4MjEyMDI5YmE1NS5jc3MiOjI2NTkyPT09ZT9lKyIuMWM2MTIzOTAyYmM4OGViYTlkNTcuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6ODQwOD09PWU/Ijg0MDguZGU1MzQ2NjNlMDUyMDc1YmExMmYuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6NDM2NDQ9PT1lP2UrIi4wZjdjMTQwMDE5YTY3ZmQ1MGJlNi5jc3MiOjE4NDcyPT09ZT9lKyIuZDk0MTliNmRjYjY0Yzg4NTY0YzEuY3NzIjoyNTgwOT09PWU/ZSsiLjhkZjRlYTdiMDk5YWRjMTVkMDY2LmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOmUrIi4iK3s2NDU6ImZiMzUwZDlhYzljNzgyZTVlNDM5Iiw2NDY6ImVlMjhiMmIxOWNjODgzMjc2NGI1Iiw2NTc6IjI5ZGRkNGYwNGU2ZWM1MGRhNzBiIiwxNTA5OiIyN2M0ZjAxMWMyNTk3YWRkNzI3NiIsMTY3ODoiOWU5OWM2YzdjMTQyNDRmYWU3NGUiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwzMzIzOiIzZGE3OThkYTM1ODA2Zjg2NzlhMCIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQ0Nzc6IjUxMmMwNDcwOWEzMjU5YmQxMTI0Iiw0OTI5OiI2ZGQ2MWQ1YmY5NmFiMjM0M2Q5OCIsNDk2OToiYzNhZGIxYTEwOGJmMmJhZjljYjMiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw2MDgyOiJlMDJiODhmNTRmNjhjYmE0MjQ3MSIsNjQ0NToiYWM2MzViYTE1MTk0ZGY0ODQ2MTYiLDY1ODM6ImJjYzU3NDNlMjM2ZmZjNWI3Y2NmIiw2NjA1OiIxZTg5NDIzMTliNDg1YWZjMWY3NSIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzg5OToiNDdhYWQwNWVhYTIwYmYzMDEyZjciLDg1Nzk6IjZmNjUxOGJlNDI5MzgyMjc4NmUwIiw5ZTM6ImY4NmUxZmQxMDVkOGNjN2FlY2Y0Iiw5MTQwOiI1MTI4MzhkN2U2ZTEwN2YwNzM4ZCIsOTc0NDoiNzBiNTEyNjQ5NWY3YWRjY2FmMmYiLDEwMzY2OiIwN2UyMGU3YmJlZTI3YzlkNWZiYyIsMTAzODU6Ijg3NDRkNGY4NjcwZGFjMzEwZDFmIiwxMTAwODoiNTJhZmE1ZWVkNGExY2Y2NmJlZDYiLDExMjU3OiJlNzlmMGY3OTk1ODg0MDQ3M2QzMSIsMTE0ODk6IjU0N2UzMDNlMjkyZjU0ODE0ZGI0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI1NjU6IjFkNDA1MzY3OTdhMjk0MTljNjZlIiwxNDE5MzoiZmZlNmYxZjczZGNiMThmMjliNTUiLDE0NjI1OiJhZGE2MTJjY2VmZGVmNzc5ZTI5NSIsMTU1MjY6ImM4MjljNTJmZWQyNTk4NTViYjk2IiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5Nzg3OiJiYmI2NmZhMGZkMmJkMDRkMDg3NSIsMTk4MzM6ImE5YjhmZjQ0YThjNjc2MzMwNzlhIiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyNDQwODoiODZlNDVlY2YwODg0YmU2YTZlZTMiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NzM2OiIyOTNkOTQ3N2MxOTU0ZjE5NzdhNyIsCjI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsMjg0MTM6ImQ5MTIxYmU2Y2QxMzcwNzNmZDNhIiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMjc6IjVhNjIzZmU0OTg4MmI5Y2Y1MWU3IiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5OTQzOiIyZjMzNzMzZGQ2NDhiODJjNDZmYiIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwOTYwOiI1NDcxMDk4YmQyN2Y5MGYzMTE1ZCIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI3NDg6IjJkZDE4ZTIwOWE3NzJlYTRmMWQ3IiwzMzEyMDoiM2U2ZDFjMzNkNmM1MjVjMDc3MWYiLDMzMjIxOiJmNDJjYzU1YTkwYzk4ODQxMjFlNSIsMzMzNjg6ImYxNWRmY2JjMGY3MTk2ZDdkNjc2IiwzMzU1MzoiMGRmOWIzNTJjYmM2ZmEwM2NjYTgiLDM0NzU4OiI4ODBkOTczYmY2Y2JiYzQ4MjE3NCIsMzUwNzM6ImI4NTYzMmVhYTIyY2YxOWU3Y2QyIiwzNTE5ODoiMjJhNTY1NWY1M2UwOTFhMmZiNzMiLDM1NjMwOiI4YjllZTI1YzVlMmQyMzRkOTk1MSIsMzYzNTY6IjY4ZTY2YmY3NGZkYjI0M2Q0MzJhIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3MzkwOiIzMmZlYzg3MDMzZTI4YTVkODY0ZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4ODY4OiI1ZWU3NDFmZDYzODY2NmQ0NDVkYyIsMzk3ODY6IjJiMDBkYzIxZWY5NDYwMGUwOTY4Iiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MTQ6ImE4ZGQ2OTZiZTdkZGU2Y2U2ZGRiIiw0MTU4ODoiYTRkMWZiYmZiYzEzYmFlNzYwZDAiLDQzNDQxOiJhYzYwMzUwYzg2YzU3ODExZjIyMyIsNDQyNTM6Ijg0MDViYWYzM2MzZWZkMDE1MjhlIiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDY1OTE6IjhkMDMzMzk0YjgzYjYxNmJmMDY2Iiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3NTUxOiI4ZDJjZTUyNGIzOGU0YTkyNTQ3ZiIsNDc1Nzk6ImRjMzg3OTE5MWMwNGI5MzhmZDNmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw1MDMyNToiNTc3Y2QxMTQ2MTYyYmNmMDVjMmIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA4MDA6IjgwZjkwZTA0NDllZjIwZjM4OTg2Iiw1MTAzMDoiYjdmNTNlZDYzNWIwOTJmZDE2OTEiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEzMDk6IjZmMDJlYWMxNGJmMDIyZGMyYTQ3Iiw1MTMxNToiNDUxOGM0MGM1OTRkN2M2YzczNDciLDUxNjgyOiIxNWQwMTM0NzJiODVjZDk4NTE3YSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1NDA5MzoiZDgwYzBmZmIyMzQ1N2ZmODVlZjQiLDU0MzEwOiJjZGQwMjJmZGFmZTQ0ZmMyYzU4OSIsNTYyMTM6IjAwZDI1ZmU4YWQxNjllMzE4YjJlIiw1NjI1MjoiMmI4MmY1NzViYTFjZWI1NGZhMjkiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1ODM4NDoiNjZhNjBiNWViYjNlMDQ2ZjgyZDEiLDU4OTMzOiJiM2FlNTFiOWIzODNmM2FjOTU2NCIsNTkzNTA6ImI2NjM2M2QxOTk4NDFlYmY4Yjg2Iiw1OTQzNzoiYjcyYzUwYjUwNWYxMmM5OWM3MmUiLDU5OTQxOiJhZjIyZjNhYjgzY2RmY2MzOTM1YSIsNjAwNjI6IjQ5NTQ0NGE3ZmFjMTczZmIyOGNkIiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNzkwOiIwY2QyYjkxN2Y3YTcxNjkwZTc0NSIsNjI4MDY6ImFlN2I5OTJiZDUzMWU3NmY4ZTc2Iiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NjQzOiI1ZWYzYmRiYWEwYzZjNDg4OWY0ZSIsNjQ2NzQ6IjY2ZDVhM2NiNWY4NDA2MzM0NDdhIiw2NTUyODoiOWRjYzE5MWE0YWI0ODdkMGIxMGMiLDY1ODU2OiI2Y2YyNzMwNjQ1MTZjZDgxMjljMCIsNjYyNzA6IjAwZjdlMDI3MzBiNDU2YWJmMjZkIiw2NjQ3MzoiMjE4MjJlYjViYTZkOGJkNTBjNmUiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjc1NDM6ImRjZGJhODk5NDljMDBiZjU3NWQ2Iiw2ODk0MjoiNDljZTM1ZTA4ZGZiYjdiOThlNWEiLDY4OTY0OiI5NDI1YjU4NzMwZGYxMzgwNmZmNiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwODE1OiIzY2U2ZDZhMjY4NmU4ODkwN2FiMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQ4MjoiMWYwYWRhOTE2MGYzZjlmY2VjMDMiLDcxOTAxOiI0M2Q1YjQ4ZDk2NDM2NTZiZmQyYyIsNzIyNDk6Ijg0YmM3ODY3ZjVmMTA0YmJhZDI2Iiw3MjUxMjoiNjE5MzEwMmUzMTUyODA2YjhiMGYiLDcyNjgwOiJmNzlhNTcxNjBjZDcyNGFkZmRmYyIsNzI5MDI6Ijc3NmRiYjQ0NjlkMTk1NGY1YzZhIiw3MzQyNToiYWVhYjkxMjllOGRkMzliNWEyNDQiLDczNTUxOiIzMjgyZTA1MjVhOTM1ODIwYjRmNyIsNzQwMTE6ImUzMWQ4ZjkyNDEzZjBiZWNhOTg0Iiw3NDIzMzoiMWU3NzYxYTgxYzRlYzVmOTk4NzYiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDYzNjoiYjBkZWExNjVmNDQ1ZjQwOTA5ZmEiLDc0ODMwOiI0ZjUwZDAwZmJmOTVjMWUyOTY5NSIsNzYzMjk6ImM1N2QxNmQzNTBkZDZmNGFhN2FkIiw3NjkxMjoiZjA1NTNjNTI4M2M5ZGExMjViNDkiLAo3ODIzNzoiZTg5NmE4YmVhOTI1ZDY1ZjZlZmYiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0NzE6IjA1MmY5NjMzMDM0NjE4YjAxNTYxIiw3ODg5OToiYmI1ZjgxZDk0YmU1YjVhN2JiZDEiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3ODI6Ijk3NWZiNDFkNDJhZTJkNTFjMDhiIiw4MTAwMToiYWZmODRiYzA0YTAzYjE3YjU0NmQiLDgxNTI5OiI5NjUyNGIwMzkzY2Y4Njk1ZDljZiIsODE5MDM6IjJjYTY3NmJiZTQ2MzgyZTZjMWZmIiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODM1Mjk6ImQ5NmVhNWMxZjljODM3NWZiYzE4Iiw4NDk0ODoiMWYwNWQyZTYzODc3OTMxYTRhMTEiLDg3NDc0OiJiZTI4ZjllMDAzZTBjNDczYjkxZCIsODc3NDA6IjVlMWE3Njc5MGVlNDlhMzc5NWZhIiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NTU4OiI5ODFhMzRiMTliNDFmYWQ5MmI4OCIsOTA5NjA6ImVjOTQxYWNjZmFhM2VkMmNkNmUyIiw5MTIwMDoiOWE1MmY5ZjkxOGZjMTk2YmE0NGEiLDkxNjc4OiJlMzBkNGNkY2RjNjg4MzdmZjRkMSIsOTM0MTY6IjkwODE4ZDczZTBlM2E5YTlmZTJhIiw5NDA1NDoiZDUwZTkzZWY0M2MxODRhNTEzZWYiLDk1MTU4OiI1M2JlNmVlNjY0ZTUwNTE4NDVmOCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSJ9W2VdKyIuY3NzIixuLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxuLm89KGUsYSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGEpLGQ9e30sZj0idHJhZGluZ3ZpZXc6IixuLmw9KGUsYSxjLGIpPT57aWYoZFtlXSlkW2VdLnB1c2goYSk7ZWxzZXt2YXIgdCxyO2lmKHZvaWQgMCE9PWMpZm9yKHZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxpPTA7aTxvLmxlbmd0aDtpKyspe3ZhciBzPW9baV07aWYocy5nZXRBdHRyaWJ1dGUoInNyYyIpPT1lfHxzLmdldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIik9PWYrYyl7dD1zO2JyZWFrfX10fHwocj0hMCwodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkuY2hhcnNldD0idXRmLTgiLG4ubmMmJnQuc2V0QXR0cmlidXRlKCJub25jZSIsbi5uYyksdC5zZXRBdHRyaWJ1dGUoImRhdGEtd2VicGFjayIsZitjKSx0LnNyYz1lLDAhPT10LnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKHQuY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgXz0oYSxjKT0+e3Qub25lcnJvcj10Lm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLHQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChfLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDp0fSksMTJlNCk7dC5vbmVycm9yPV8uYmluZChudWxsLHQub25lcnJvciksdC5vbmxvYWQ9Xy5iaW5kKG51bGwsdC5vbmxvYWQpLHImJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9fSxuLnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LG4ubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSxuLmo9MjExOCwoKCk9Pnt2YXIgZTtuLmcuaW1wb3J0U2NyaXB0cyYmKGU9bi5nLmxvY2F0aW9uKyIiKTt2YXIgYT1uLmcuZG9jdW1lbnQ7aWYoIWUmJmEmJihhLmN1cnJlbnRTY3JpcHQmJiJTQ1JJUFQiPT09YS5jdXJyZW50U2NyaXB0LnRhZ05hbWUudG9VcHBlckNhc2UoKSYmKGU9YS5jdXJyZW50U2NyaXB0LnNyYyksIWUpKXt2YXIgYz1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtpZihjLmxlbmd0aClmb3IodmFyIGQ9Yy5sZW5ndGgtMTtkPi0xJiYoIWV8fCEvXmh0dHAocz8pOi8udGVzdChlKSk7KWU9Y1tkLS1dLnNyY31pZighZSl0aHJvdyBuZXcgRXJyb3IoIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyIik7ZT1lLnJlcGxhY2UoL15ibG9iOi8sIiIpLnJlcGxhY2UoLyMuKiQvLCIiKS5yZXBsYWNlKC9cPy4qJC8sIiIpLnJlcGxhY2UoL1wvW15cL10rJC8sIi8iKSxuLnA9ZX0pKCksbi5nLmxvY2F0aW9uJiZuLnAuc3RhcnRzV2l0aChuLmcubG9jYXRpb24ub3JpZ2luKSYmKG4ucD1uLnAuc2xpY2Uobi5nLmxvY2F0aW9uLm9yaWdpbi5sZW5ndGgpKSwoKCk9Pntjb25zdCBlPW4udTtuLnU9YT0+ZShhKS5yZXBsYWNlKCJfX0xBTkdfXyIsbi5nLmxhbmd1YWdlKX0pKCksKCgpPT57dmFyIGU9bi5lLGE9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKGEsZCl7cmV0dXJuIGUoYSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihmKXt2YXIgYj1mdW5jdGlvbigpe3NlbGYucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKSwhMT09PW5hdmlnYXRvci5vbkxpbmU/c2VsZi5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGIsITEpOmYoZDwyP2MoYSxkKzEpOmUoYSkpfTtzZXRUaW1lb3V0KGIsZCpkKjFlMyl9KSl9KSl9bi5lPWZ1bmN0aW9uKGUpe2lmKCFhW2VdKXthW2VdPWMoZSwwKTt2YXIgZD1mdW5jdGlvbigpewpkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD1uLm1pbmlDc3NGKGUpLGY9bi5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0odD1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHx0LmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gdH12YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgdDtpZigoZj0odD1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiB0fX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciB0PWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSkscj1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSxuPW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrcisiKSIpO24uY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIixuLnR5cGU9dCxuLnJlcXVlc3Q9cixiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKG4pfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezIxMTg6MH07bi5mLm1pbmlDc3M9KGMsZCk9PnthW2NdP2QucHVzaChhW2NdKTowIT09YVtjXSYmezY0NToxLDY0NjoxLDY1NzoxLDE1MDk6MSwxNjc4OjEsMjMzMToxLDMzMjM6MSw0MDQyOjEsNDQ3NzoxLDQ5Mjk6MSw0OTY5OjEsNTE4NDoxLDU2ODk6MSw2MDgyOjEsNjQ0NToxLDY1ODM6MSw2NjA1OjEsNzE2MzoxLDczODc6MSw3NDQ1OjEsNzY2NToxLDc4OTk6MSw4NDA4OjEsODU3OToxLDllMzoxLDkxNDA6MSw5NTA0OjEsOTc0NDoxLDEwMzY2OjEsMTAzODU6MSwxMTAwODoxLDExMjE4OjEsMTEyNTc6MSwxMTQ2MToxLDExNDg5OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI1NjU6MSwxMzQ5MjoxLDE0MTkzOjEsMTQ2MjU6MSwxNTUyNjoxLDE2NDIxOjEsMTc2OTM6MSwxODE2MjoxLDE4NDAwOjEsMTg0NzI6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTc4NzoxLDE5ODMzOjEsMjAyNzE6MSwyMDM1NDoxLDIwOTcxOjEsMjA5ODY6MSwyMzYyNDoxLDI0NDA4OjEsMjQ1ODE6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNjU5MjoxLDI3NTE3OjEsMjc1NDk6MSwyNzczNjoxLDI4MDE3OjEsMjg0MTM6MSwyOTEzMzoxLDI5Mjk2OjEsMjkzMjc6MSwyOTUzNjoxLDI5OTQzOjEsMzAzNzM6MSwzMDc0NToxLDMwOTYwOjEsMzEyNjI6MSwzMTU1NzoxLDMxODM3OjEsMzIxNzY6MSwzMjc0ODoxLDMzMTIwOjEsMzMyMjE6MSwzMzM2ODoxLDMzNTUzOjEsMzQ3NTg6MSwzNTA3MzoxLDM1MTk4OjEsMzU2MzA6MSwzNjIyMjoxLDM2MzU2OjEsMzY1NDU6MSwzNzM5MDoxLDM3NTEzOjEsMzc3NDY6MSwzNzc2NzoxLDM4MjYyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMjIwOjEsNDA4MzU6MSw0MDg2NzoxLDQwOTE0OjEsNDE1ODg6MSw0MzQ0MToxLDQzNjQ0OjEsNDQyNTM6MSw0NTM2ODoxLDQ1OTQ1OjEsNDYwMzQ6MSw0NjU5MToxLDQ3MDIxOjEsNDc1NTE6MSw0NzU3OToxLDQ3NjMyOjEsNDg4NjQ6MSw0OTUzNjoxLDQ5NTg4OjEsNTAwMzU6MSw1MDIyMToxLDUwMzI1OjEsNTA2MjI6MSw1MDgwMDoxLDUxMDMwOjEsNTEyMTM6MSw1MTMwOToxLDUxMzE1OjEsNTE2ODI6MSw1MTg4MDoxLDUyMDY1OjEsNTIxNzg6MSw1MjM5NjoxLDUyNjgwOjEsNTMzMjk6MSw1MzUyMToxLDUzNzEzOjEsNTQwOTM6MSw1NDMxMDoxLDU1MDExOjEsNTYyMTM6MSw1NjI1MjoxLDU3MzAwOjEsNTc1MDQ6MSw1ODM4NDoxLDU4OTMzOjEsNTkzNTA6MSw1OTQzNzoxLDU5OTQxOjEsNjAwNjI6MSw2MTgyMToxLDYyNjMwOjEsNjI3OTA6MSw2MjgwNjoxLDY0MTk1OjEsNjQ2NDM6MSw2NDY3NDoxLDY1NTI4OjEsNjU4NTY6MSw2NjI3MDoxLDY2NDczOjEsNjcyMTI6MSw2NzU0MzoxLDY3Nzk5OjEsNjg5NDI6MSw2ODk2NDoxLDY5ODA5OjEsNzA2NTY6MSw3MDgxNToxLDcxNDE0OjEsNzE0ODI6MSw3MTkwMToxLDcyMjQ5OjEsNzI1MTI6MSw3MjY2NjoxLDcyNjgwOjEsNzI5MDI6MSw3MzQyNToxLDczNTUxOjEsNzQwMTE6MSw3NDIzMzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDYzNjoxLDc0ODMwOjEsNzYzMjk6MSw3NjkxMjoxLDc4MjM3OjEsNzg0MDQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw4MDczMToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxNTI5OjEsODE5MDM6MSw4MjI3MToxLDgyNTg2OjEsODM0ODg6MSw4MzUyOToxLDg0OTQ4OjEsODY0MjM6MSw4NzQ3NDoxLDg3NzQwOjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTU1ODoxLDkwOTYwOjEsOTEyMDA6MSw5MTY3ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0OTQ4OjEsOTUxNTg6MSw5NjU4NzoxLDk3NjYwOjEsOTc3OTc6MSw5ODA4NDoxLDk5NTkzOjEsOTk5MDg6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLG4uaTE4bmV4dD0oZSxhPXt9LGMsZD1uLmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpewppZihBcnJheS5pc0FycmF5KGMpKXJldHVybiBjW3ZvaWQgMD09PWEuY291bnQ/MDpuLl9wbHVyYWxbZF0oYS5jb3VudCldLnJlcGxhY2UoL3soXHcrKX0vZywoKGUsYyk9PnZvaWQgMCE9PShhLnJlcGxhY2V8fGEpW2NdPyhhLnJlcGxhY2V8fGEpW2NdOmUpKTtpZigib2JqZWN0Ij09dHlwZW9mIGMpcmV0dXJuIGNbbi5nLmxhbmd1YWdlXT9uLmkxOG5leHQobnVsbCxhLGNbbi5nLmxhbmd1YWdlXSk6bi5pMThuZXh0KG51bGwsYSxjLmVuLCJlbiIpfWVsc2UgaWYoYyYmZSl7Y29uc3QgZD1gJHtlfSR7YS5jb250ZXh0P2BfJHthLmNvbnRleHR9YDoiIn1gO2lmKGNbZF0pcmV0dXJuIG4uaTE4bmV4dChudWxsLGEsY1tkXSl9cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX0sKCgpPT57bi5iPSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmJhc2VVUkl8fHNlbGYubG9jYXRpb24uaHJlZjt2YXIgZT17MjExODowLDg0MzA2OjAsNDY5MDc6MCw5NDIzMjowLDMyODE2OjAsMTcwODc6MCw0MzMyNTowLDM5MDU6MCwzNTc5NDowLDE1OTMyOjAsNTQ2ODE6MCw1MTUwODowLDQ5NTE4OjAsMzI2MzI6MCwxNTYzNDowLDc1MzA0OjAsNTIwOTU6MCwzODAwMjowLDQ0MDMxOjAsNDM3OTI6MCw3MDM2NDowLDk0ODg6MCwzNzg2NzowLDYyNjgxOjAsMzAyMDA6MCwzMTM5NjowfTtuLmYuaj0oYSxjKT0+e3ZhciBkPW4ubyhlLGEpP2VbYV06dm9pZCAwO2lmKDAhPT1kKWlmKGQpYy5wdXNoKGRbMl0pO2Vsc2UgaWYoL14oMSgwMyg2Nnw4NSl8MSgwMDh8MjE4fDI1N3w0NjF8NDg5fDcyNSl8MigwNTF8Mzg1fDU2NSl8NSgwOXw1MjZ8NjM0fDkzMil8OCgxNjJ8NDAwfDQ3Mil8OSg1KDEzfDk1fDk4KXw3ODd8ODMzKXwoNDF8NzYpOTN8MzQ5Mnw0NjI1fDY0MjF8Njc4fDcwODcpfDIoMChbMjldNzF8MzU0fDk4Nil8NSg2NDd8Njk4fDgwOSl8Nyg1MTd8NTQ5fDczNil8OSgxMzN8Mjk2fDMyN3w1MzZ8OTQzKXwxMTh8MzMxfDM2MjR8NDQwOHw0NTgxfDY1OTJ8ODAxN3w4NDEzKXwzKDAoMjAwfDM3M3w3NDV8OTYwKXwxKDI2MnwzOTZ8NTU3fDgzNyl8MigxNzZ8NjMyfDc0OHw4MTYpfDMoMTIwfDIyMXwyM3wzNjh8NTUzKXw1KDA3M3wxOTh8NjMwfDc5NCl8NigyMjJ8MzU2fDU0NSl8NyhbNzhdNjd8MzkwfDUxM3w3NDYpfDgoMDAyfDI2Mnw4NjgpfDQ3NTh8OTA1fDk3ODYpfDQoMCgyMjB8NDJ8ODM1fDg2N3w5MTQpfDMoMzI1fDQ0MXw2NDR8NzkyKXw0KDAzMXwyNTN8NzcpfDYoMDM0fDU5MXw5MDcpfDcoMDIxfDU1MXw1Nzl8NjMyKXw5KDUoMTh8MzZ8ODgpfDI5fDY5KXwxNTg4fDUzNjh8NTk0NXw4ODY0KXw1KDAoMDM1fDIyMXwzMjV8NjIyfDgwMCl8MSgwMzB8MjEzfDMwOXwzMTV8NTA4fDY4Mnw4NHw4ODApfDIoMDY1fDA5NXwxNzh8Mzk2fDY4MCl8MygzMjl8NTIxfDcxMyl8NCgwOTN8MzEwfDY4MSl8NigyMTN8MjUyfDg5KXw5KDM1MHw0Mzd8OTQxKXw1MDExfDczMDB8NzUwNHw4Mzg0fDg5MzMpfDYoMig2MzB8NjgxfDc5MHw4MDYpfDQoNih8NDN8NzQpfCh8MTl8NCk1KXw1KDUyOHw3fDgzfDg1Nil8NigwNXwyNzB8NDczKXw3KDIxMnw1NDN8Nzk5KXw4OSg0Mnw2NCl8MDA2MnwwODJ8MTgyMXw5ODA5KXw3KDAoMzY0fDY1Nnw4MTUpfDEoNDE0fDQ4Mnw2M3w5MDEpfDIoMjQ5fDUxMnw2NjZ8NjgwfDkwMil8Myg0MjV8NTUxfDg3KXw0KDAxMXwyMzN8MzgxfDQyMnw0NXw2MzZ8ODMwKXw2KDMyOXw2NXw5MTIpfDgoKHw4KTk5fDIzN3w0MDR8NDcxfDY1Mil8NTMwNCl8OCgwNygzMXw4Mil8MSgwMDF8MDcyfDUyOXw5MDMpfDQoMDh8MzA2fDk0OCl8OSgwNDR8MTk1fDU1OCl8MjI3MXwyNTg2fDM0ODh8MzUyOXw1Nzl8NjQyM3w3NDc0fDc3NDB8ODM4NXw4NjQxKXw5KDEoMjAwfDQwfDY3OCl8MzQoMTZ8MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDcoNDR8NjYwfDc5Nyl8MDAwfDA5NjB8NTA0fDUxNTh8NjU4N3w4MDg0fDk1OTN8OTkwOCkpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPW4ucCtuLnUoYSksdD1uZXcgRXJyb3I7bi5sKGIsKGM9PntpZihuLm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7dC5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIix0Lm5hbWU9IkNodW5rTG9hZEVycm9yIix0LnR5cGU9Zix0LnJlcXVlc3Q9YixkWzFdKHQpfX0pLCJjaHVuay0iK2EsYSl9fSxuLkYuaj1hPT57CmlmKCEobi5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoMDA4fDIxOHwyNTd8NDYxfDQ4OXw3MjUpfDIoMDUxfDM4NXw1NjUpfDUoMDl8NTI2fDYzNHw5MzIpfDgoMTYyfDQwMHw0NzIpfDkoNSgxM3w5NXw5OCl8Nzg3fDgzMyl8KDQxfDc2KTkzfDM0OTJ8NDYyNXw2NDIxfDY3OHw3MDg3KXwyKDAoWzI5XTcxfDM1NHw5ODYpfDUoNjQ3fDY5OHw4MDkpfDcoNTE3fDU0OXw3MzYpfDkoMTMzfDI5NnwzMjd8NTM2fDk0Myl8MTE4fDMzMXwzNjI0fDQ0MDh8NDU4MXw2NTkyfDgwMTd8ODQxMyl8MygwKDIwMHwzNzN8NzQ1fDk2MCl8MSgyNjJ8Mzk2fDU1N3w4MzcpfDIoMTc2fDYzMnw3NDh8ODE2KXwzKDEyMHwyMjF8MjN8MzY4fDU1Myl8NSgwNzN8MTk4fDYzMHw3OTQpfDYoMjIyfDM1Nnw1NDUpfDcoWzc4XTY3fDM5MHw1MTN8NzQ2KXw4KDAwMnwyNjJ8ODY4KXw0NzU4fDkwNXw5Nzg2KXw0KDAoMjIwfDQyfDgzNXw4Njd8OTE0KXwzKDMyNXw0NDF8NjQ0fDc5Mil8NCgwMzF8MjUzfDc3KXw2KDAzNHw1OTF8OTA3KXw3KDAyMXw1NTF8NTc5fDYzMil8OSg1KDE4fDM2fDg4KXwyOXw2OSl8MTU4OHw1MzY4fDU5NDV8ODg2NCl8NSgwKDAzNXwyMjF8MzI1fDYyMnw4MDApfDEoMDMwfDIxM3wzMDl8MzE1fDUwOHw2ODJ8ODR8ODgwKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODApfDMoMzI5fDUyMXw3MTMpfDQoMDkzfDMxMHw2ODEpfDYoMjEzfDI1Mnw4OSl8OSgzNTB8NDM3fDk0MSl8NTAxMXw3MzAwfDc1MDR8ODM4NHw4OTMzKXw2KDIoNjMwfDY4MXw3OTB8ODA2KXw0KDYofDQzfDc0KXwofDE5fDQpNSl8NSg1Mjh8N3w4M3w4NTYpfDYoMDV8MjcwfDQ3Myl8NygyMTJ8NTQzfDc5OSl8ODkoNDJ8NjQpfDAwNjJ8MDgyfDE4MjF8OTgwOSl8NygwKDM2NHw2NTZ8ODE1KXwxKDQxNHw0ODJ8NjN8OTAxKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4Nyl8NCgwMTF8MjMzfDM4MXw0MjJ8NDV8NjM2fDgzMCl8NigzMjl8NjV8OTEyKXw4KCh8OCk5OXwyMzd8NDA0fDQ3MXw2NTIpfDUzMDQpfDgoMDcoMzF8ODIpfDEoMDAxfDA3Mnw1Mjl8OTAzKXw0KDA4fDMwNnw5NDgpfDkoMDQ0fDE5NXw1NTgpfDIyNzF8MjU4NnwzNDg4fDM1Mjl8NTc5fDY0MjN8NzQ3NHw3NzQwfDgzODV8ODY0MSl8OSgxKDIwMHw0MHw2NzgpfDM0KDE2fDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw3KDQ0fDY2MHw3OTcpfDAwMHwwOTYwfDUwNHw1MTU4fDY1ODd8ODA4NHw5NTkzfDk5MDgpKSQvLnRlc3QoYSkpKXtlW2FdPW51bGw7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2MuY2hhcnNldD0idXRmLTgiLGMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5uYyYmYy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixuLm5jKSxjLnJlbD0icHJlZmV0Y2giLGMuYXM9InNjcmlwdCIsYy5ocmVmPW4ucCtuLnUoYSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjKX19LG4uTy5qPWE9PjA9PT1lW2FdO3ZhciBhPShhLGMpPT57dmFyIGQsZixbYix0LHJdPWMsbz0wO2lmKGIuc29tZSgoYT0+MCE9PWVbYV0pKSl7Zm9yKGQgaW4gdCluLm8odCxkKSYmKG4ubVtkXT10W2RdKTtpZihyKXZhciBpPXIobil9Zm9yKGEmJmEoYyk7bzxiLmxlbmd0aDtvKyspZj1iW29dLG4ubyhlLGYpJiZlW2ZdJiZlW2ZdWzBdKCksZVtmXT0wO3JldHVybiBuLk8oaSl9LGM9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlldz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3fHxbXTtjLmZvckVhY2goYS5iaW5kKG51bGwsMCkpLGMucHVzaD1hLmJpbmQobnVsbCxjLnB1c2guYmluZChjKSl9KSgpLG4ucD1uLmcmJm4uZy5XRUJQQUNLX1BVQkxJQ19QQVRIfHxuLnAsYj17OTI5Njg6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XX0sbi5mLnByZWZldGNoPShlLGEpPT5Qcm9taXNlLmFsbChhKS50aGVuKCgoKT0+e3ZhciBhPWJbZV07QXJyYXkuaXNBcnJheShhKSYmYS5tYXAobi5FKX0pKX0pKCk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.120","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.368Z","timestamp":1785136427368,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tradingview.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Fri, 12 Dec 2025 00:00:00 GMT","end":"Sun, 10 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"93:7A:32:54:9B:07:78:A4:C2:12:01:FE:F8:01:86:4E:F4:B0:E5:88","sha256":"DC:6B:BC:C2:10:66:1A:99:2E:BE:17:BD:A9:27:49:E3:D8:CA:EB:13:B6:95:9C:BF:68:76:22:17:62:D1:05:57"}}},"request":{"raw":"GET /widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en HTTP/1.1\r\nHost: s.tradingview.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:11:52 GMT\r\nserver: tv\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nexpires: Mon, 27 Jul 2026 07:13:52 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: base-uri 'none'; object-src 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-ZgPm5nVXN8WgIYvNqt89PA=='\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin, origin-when-cross-origin\r\nx-content-type-options: nosniff, nosniff\r\ncontent-encoding: gzip\r\nvary: Accept-Encoding,Accept-Encoding\r\nx-cache: Hit from cloudfront\r\nvia: 1.1 3fef473b9069c3a6b17fb47d4e1f2460.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: Ohlz0Dnl06zpOrRBIJc2nZE1RWckimaV1lO3kpOGWPCz4IWxOS5v3Q==\r\nage: 115\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":76549,"size_decoded":18289,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17729)","md5":"68d93e3fbbcc08fbd5d1df5035f74d17","sha1":"0fa69a03733942d97f7c8447e33050289c51c7f5","sha256":"93c83ff1ddd9730c6e106573a7a9a5cb0e48b908e8768b0aa587e3e5be218688","sha512":"525e79bc29aa07179535b2cc1d18f04ae5e8792d0c1f80f2882cb4cd8578acc95b3b2e19e7becddeb5cbc84275b52b2145baf532c1da2d6ec32b338d0988c5e9","ssdeep":"1536:n8DCteAQTe8NzMob3e9c/1fUNogdf3a4UNogddWn+66ceuvRMg:n8DCteAQTe8NzMob3e9c/1fUNlsNldWf","tlshash":"8873f857d80d8705da968a157c33b202fd29036c859268947aecdcec149bec3f15bbbe","first_seen":"2026-07-27T07:14:43.744352Z","last_seen":"2026-07-27T07:14:43.744352Z","times_seen":1,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iWmdQbTVuVlhOOFdnSVl2TnF0ODlQQT09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJaZ1BtNW5WWE44V2dJWXZOcXQ4OVBBPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9IlpnUG01blZYTjhXZ0lZdk5xdDg5UEE9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMzUsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC4zfTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJkZWZfaGlkZV9zeW1ib2xfZWRpdCI6dHJ1ZSwid2lkZ2V0RmVhdHVyZXNldCI6IndpZGdldCIsImJvZHlJZCI6IndpZGdldC1jb250YWluZXIiLCJib2R5Q2xhc3NlcyI6WyJjaGFydC1wYWdlIiwidW5zZWxlY3RhYmxlIiwib24td2lkZ2V0Il0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIiwiZmxhZyI6InVzIiwiZ2VvaXBfY29kZSI6InVzIiwiaXNvIjoiZW4iLCJpc29fNjM5XzMiOiJlbmciLCJnbG9iYWxfbmFtZSI6IkVuZ2xpc2giLCJpc19vbmx5X3JlY29tbWVuZGVkX3R3X2F1dG9yZXBvc3QiOnRydWV9OwoJCXdpbmRvdy5pbml0RGF0YS5zZXR0aW5ncyA9IHsnUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLycsICdTM19ORVdTX0lNQUdFX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vbmV3cy8nLCAnV0VCUEFDS19TVEFUSUNfUEFUSCc6ICdodHRwczovL3N0YXRpYy50cmFkaW5ndmlldy5jb20vc3RhdGljL2J1bmRsZXMvJywgJ1RSQURJTkdfVVJMUyc6IHsnZnJlZSc6ICdodHRwczovL3BhcGVydHJhZGluZy1mcmVlLnRyYWRpbmd2aWV3LmNvbScsICdwcm8nOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmcudHJhZGluZ3ZpZXcuY29tJ30sICdDT05URVNUU19VUkwnOiAnL3BhcGVyLXRyYWRpbmcnLCAnQ1JVRF9TVE9SQUdFX1VSTCc6ICdodHRwczovL2NydWQtc3RvcmFnZS50cmFkaW5ndmlldy5jb20nfTs8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJaZ1BtNW5WWE44V2dJWXZOcXQ4OVBBPT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXt3aGl0ZWxhYmVsOiEwLHBlcm1pc3Npb25PdmVycmlkZXM6ITAsbGlua0NhcHR1cmluZ0FsbG93ZWQ6ITAsc3ltYm9sX3NlYXJjaF9kZWZhdWx0X2V4Y2hhbmdlOiEwLHN5bWJvbF9zZWFyY2hfYWxsb3dlZF9leGNoYW5nZXM6ITB9O2NvbnN0IHQ9d2luZG93O3QuaW5pdERhdGE9dC5pbml0RGF0YXx8e307Y29uc3QgYT0vXCsvZyxuPS88XC8/W14+XSsoPnwkKS9nLHM9ZT0+ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShhLCIgIikpLnJlcGxhY2UobiwiIiksbz10LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSksYz0vKFteJj1dKyk9PyhbXiZdKikvZyxpPXt9O2xldCBsLHI9Yy5leGVjKG8pO2Zvcig7bnVsbCE9PXI7KWlbcyhyWzFdKV09cyhyWzJdKSxyPWMuZXhlYyhvKTt0cnl7bD1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh0LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSksIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bHx8KGw9e30pfWNhdGNoKGUpe2w9e319dmFyIGg7dC5pbml0RGF0YS5xdWVyeVNldHRpbmdzPWksdC5pbml0RGF0YS5oYXNoU2V0dGluZ3M9KGg9bCxPYmplY3Qua2V5cyhoKS5mb3JFYWNoKCh0PT57ZVt0XSYmZGVsZXRlIGhbdF19KSksaCl9KSgpOwoJPC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iWmdQbTVuVlhOOFdnSVl2TnF0ODlQQT09Ij53aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCQl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCgl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gW3dpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy53aWRnZXRGZWF0dXJlc2V0XQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZW5hYmxlZF9mZWF0dXJlcyB8fCAiW10iKSkKCTsKCgl3aW5kb3cuX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cyA9IEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3MuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikKCQkuY29uY2F0KEpTT04ucGFyc2Uod2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLmRpc2FibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2RlZmF1bHRzT3ZlcnJpZGVzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5vdmVycmlkZXMgfHwgd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLm92ZXJyaWRlcyB8fCAie30iKTsKCgl3aW5kb3cuU1NfSE9TVCA9ICJzeW1ib2wtc2VhcmNoLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuU1NfRE9NQUlOX1BBUkFNRVRFUiA9ICJwcm9kdWN0aW9uIjsKCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7Cgl3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEID0gMTAwOwoJd2luZG93LlBVU0hTVFJFQU1fVVJMID0gIndzczovL3B1c2hzdHJlYW0udHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DSEFSVEVWRU5UU19VUkwgPSAiaHR0cHM6Ly9jaGFydGV2ZW50cy1yZXV0ZXJzLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVDT05PTUlDX0NBTEVOREFSX1VSTCA9ICJodHRwczovL2Vjb25vbWljLWNhbGVuZGFyLnRyYWRpbmd2aWV3LmNvbS8iOwoJd2luZG93LkVBUk5JTkdTX0NBTEVOREFSX1VSTCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NFUlZJQ0VfVVJMID0gImh0dHBzOi8vbmV3cy1oZWFkbGluZXMudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX01FRElBVE9SX1VSTCA9ICJodHRwczovL25ld3MtbWVkaWF0b3IudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5ORVdTX1NUUkVBTUlOR19VUkwgPSAiaHR0cHM6Ly9ub3RpZmljYXRpb25zLnRyYWRpbmd2aWV3LmNvbS9uZXdzL2NoYW5uZWwiOwoJd2luZG93LlNDUkVFTkVSX0hPU1QgPSAiaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSI7Cgl3aW5kb3cuQ09VTlRSWV9DT0RFX1RPX0RFRkFVTFRfRVhDSEFOR0UgPSB7ImVuIjoiVVMiLCJ1cyI6IlVTIiwiYWUiOiJBRFgiLCJhciI6IkJDQkEiLCJhdCI6IlZJRSIsImF1IjoiQVNYIiwiYmQiOiJEU0VCRCIsImJlIjoiRVVST05FWFRfQlJVIiwiYmciOiJCU0VTT0YiLCJiaCI6IkJBSFJBSU4iLCJiciI6IkJNRkJPVkVTUEEiLCJjYSI6IlRTWCIsImNoIjoiU0lYIiwiY2wiOiJCQ1MiLCJ6aF9DTiI6IlNTRSIsImNvIjoiQlZDIiwiaHIiOiJaU0UiLCJjeSI6IkNTRUNZIiwiY3oiOiJQU0VDWiIsImRlX0RFIjoiWEVUUiIsImRrIjoiT01YQ09QIiwiZWUiOiJPTVhUU0UiLCJlZyI6IkVHWCIsImVzIjoiQk1FIiwiZmkiOiJPTVhIRVgiLCJmciI6IkVVUk9ORVhUX1BBUiIsImdyIjoiQVRIRVgiLCJoayI6IkhLRVgiLCJodSI6IkJFVCIsImlkIjoiSURYIiwiaWUiOiJFVVJPTkVYVERVQiIsImhlX0lMIjoiVEFTRSIsImluIjoiQlNFIiwiaXMiOiJPTVhJQ0UiLCJpdCI6Ik1JTCIsImphIjoiVFNFIiwia2UiOiJOU0VLRSIsImtyIjoiS1JYIiwia3ciOiJLU0UiLCJsayI6IkNTRUxLIiwibHQiOiJPTVhWU0UiLCJsdiI6Ik9NWFJTRSIsImx1IjoiTFVYU0UiLCJteCI6IkJNViIsIm1hIjoiQ1NFTUEiLCJtc19NWSI6Ik1ZWCIsIm5nIjoiTlNFTkciLCJubCI6IkVVUk9ORVhUX0FNUyIsIm5vIjoiT1NMIiwibnoiOiJOWlgiLCJwZSI6IkJWTCIsInBoIjoiUFNFIiwicGsiOiJQU1giLCJwbCI6IkdQVyIsInB0IjoiRVVST05FWFRfTElTIiwicWEiOiJRU0UiLCJycyI6IkJFTEVYIiwicnUiOiJSVVMiLCJybyI6IkJWQiIsImFyX0FFIjoiVEFEQVdVTCIsInNlIjoiTkdNIiwic2ciOiJTR1giLCJzaSI6IkxKU0UiLCJzayI6IkJTU0UiLCJ0aF9USCI6IlNFVCIsInRuIjoiQlZNVCIsInRyIjoiQklTVCIsInpoX1RXIjoiVFdTRSIsImdiIjoiTFNFIiwidmUiOiJCVkNWIiwidmlfVk4iOiJIT1NFIiwiemEiOiJKU0UifTsKCXdpbmRvdy5QSU5FX1VSTCA9ICJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSI7Cgl3aW5kb3cuVEVMRU1FVFJZX0hPU1RTID0geyJjaGFydHMiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9mcmVlIiwicHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS93aWRnZXQiLCJpb3NfZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtaW9zLWZyZWUiLCJpb3NfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtcHJvIiwiYW5kcm9pZF9mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLWZyZWUiLCJhbmRyb2lkX3BybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jaGFydHMtYW5kcm9pZC1wcm8ifSwiYWxlcnRzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9hbGVydHMifSwibGluZV90b29sc19zdG9yYWdlIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9saW5lLXRvb2xzLXN0b3JhZ2UifSwibmV3cyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vbmV3cyJ9LCJwaW5lIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9waW5lIn0sImNhbGVuZGFycyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2FsZW5kYXJzIn0sInNpdGUiOnsiZnJlZSI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLWZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS1wcm8iLCJ3aWRnZXQiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vc2l0ZS13aWRnZXQifSwidHJhZGluZyI6eyJhbGwiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vdHJhZGluZyJ9fTsKCgkvLyBSRUNBUFRDSEFfU0lURV9LRVkgaXMgTk9UIHVudXNlZCEgU2VlIFRWLTEyNjk5LCBUVi0xMzAwMSBhbmQgc3RhdGljL2pzL2RpYWxvZ3Mvc2lnbi1tb2RhbC9zaWduLW1vZGFsLWltcGwuZXM2Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZID0gIjZMY3F2MjRVQUFBQUFJdmtFbER2d1B4RDBSOHNjRG5NcGl6YUJjSFEiOwoJd2luZG93LlJFQ0FQVENIQV9TSVRFX0tFWV9WMyA9ICI2TGVRTUhnVUFBQUFBS0NZY3RpQkdXWXJYTl90dnJPRFNaN2k5ZExBIjsKCgl3aW5kb3cuaXNfYXV0aGVudGljYXRlZCA9IGZhbHNlOwoKCXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CgoJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9OwoKCXdpbmRvdy5pbml0RGF0YS5pZGNfZXhjaGFuZ2VzX2xpc3QgPSBbIm56eCIsImJtZSIsImJtZV9zdG9ja3MiLCJzaGZlIiwic3pzZSIsIm5hZyIsInRmeCIsInR3c2UiLCJidmMiLCJidmN2IiwiYm12IiwiYnZtdCIsImJ2bCIsImJjcyIsInNpeCIsImJzc2UiLCJiYWhyYWluIiwiYmVsZXgiLCJuc2VrZSIsInFzZSJdOwoKCQl3aW5kb3cubG9jYWxlX2RvbWFpbnMgPSB7ImVuIjoid3d3LnRyYWRpbmd2aWV3LmNvbSIsImFyX0FFIjoiYXIudHJhZGluZ3ZpZXcuY29tIiwiYnIiOiJici50cmFkaW5ndmlldy5jb20iLCJkZV9ERSI6ImRlLnRyYWRpbmd2aWV3LmNvbSIsImVzIjoiZXMudHJhZGluZ3ZpZXcuY29tIiwiZnIiOiJmci50cmFkaW5ndmlldy5jb20iLCJoZV9JTCI6ImlsLnRyYWRpbmd2aWV3LmNvbSIsImlkIjoiaWQudHJhZGluZ3ZpZXcuY29tIiwiaW4iOiJpbi50cmFkaW5ndmlldy5jb20iLCJpdCI6Iml0LnRyYWRpbmd2aWV3LmNvbSIsImphIjoianAudHJhZGluZ3ZpZXcuY29tIiwia3IiOiJrci50cmFkaW5ndmlldy5jb20iLCJtc19NWSI6Im15LnRyYWRpbmd2aWV3LmNvbSIsInBsIjoicGwudHJhZGluZ3ZpZXcuY29tIiwicnUiOiJydS50cmFkaW5ndmlldy5jb20iLCJ0aF9USCI6InRoLnRyYWRpbmd2aWV3LmNvbSIsInRyIjoidHIudHJhZGluZ3ZpZXcuY29tIiwidmlfVk4iOiJ2bi50cmFkaW5ndmlldy5jb20iLCJ6aF9DTiI6ImNuLnRyYWRpbmd2aWV3LmNvbSIsInpoX1RXIjoidHcudHJhZGluZ3ZpZXcuY29tIiwiY2FfRVMiOiJlcy50cmFkaW5ndmlldy5jb20ifTsKCgkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSB3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzIHx8IFtdOwoJCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cy5wdXNoKCd3aWRnZXQnKTsKCgkJd2luZG93LlRyYWRpbmdWaWV3ID0gd2luZG93LlRyYWRpbmdWaWV3IHx8IHt9Owo8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJaZ1BtNW5WWE44V2dJWXZOcXQ4OVBBPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOwoJCXdpbmRvdy5CVUlMRF9USU1FID0gIjIwMjYtMDctMjRUMTE6NDA6MDgiOwoJCXdpbmRvdy5XRUJTT0NLRVRfSE9TVCA9ICJ3aWRnZXRkYXRhLnRyYWRpbmd2aWV3LmNvbSI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUX0ZPUl9SRUNPTk5FQ1QgPSAid2lkZ2V0ZGF0YS1iYWNrdXAudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cudXNlciA9IHsndXNlcm5hbWUnOiAnR3Vlc3QnLCAnZm9sbG93aW5nJzogJzAnLCAnZm9sbG93ZXJzJzogJzAnLCAnaWdub3JlX2xpc3QnOiB7fSwgJ2RvX25vdF90cmFjayc6IHRydWV9Ozwvc2NyaXB0PgoJPHNjcmlwdCBub25jZT0iWmdQbTVuVlhOOFdnSVl2TnF0ODlQQT09Ij5sZXQgcGFyYW1zID0ge307CgkJCWNvbnN0IGh0dHBSZWcgPSBuZXcgUmVnRXhwKCdeaHR0cChzKT86Ly8nKTsKCgkJCXRyeSB7CgkJCQlwYXJhbXMgPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpOwoJCQl9IGNhdGNoIChlKSB7CgkJCQlwYXJhbXMgPSB7fTsKCQkJfQoKCQkJd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTID0gewoJCQkJJ3dzX2FuY2VzdG9yX29yaWdpbic6IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMgJiYgd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggPyB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW3dpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoIC0gMV0ucmVwbGFjZShodHRwUmVnLCAnJykgOiBudWxsLAoJCQkJJ3dzX3BhZ2VfdXJpJzogcGFyYW1zWydwYWdlLXVyaSddLAoJCQl9OygoKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IHM9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1mdW5jdGlvbihlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBzPW5bZV07Zm9yKDsiICI9PT1zLmNoYXJBdCgwKTspcz1zLnN1YnN0cmluZygxLHMubGVuZ3RoKTtpZigwPT09cy5pbmRleE9mKHQpKXJldHVybiBzLnN1YnN0cmluZyh0Lmxlbmd0aCxzLmxlbmd0aCl9cmV0dXJuIG51bGx9KCJ0dl9hcHAiKXx8IiI7c3x8PVsiYW5kcm9pZCIsImFuZHJvaWRfbnBzIl0uaW5jbHVkZXMoZSksb3x8PSJpb3MiPT09ZX1yZXR1cm4hKCJuZXciIT09ZSYmImFueSIhPT1lfHwhcyl8fCEoIm5ldyI9PT1lfHwhbyl9Y29uc3QgdD0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmInVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3Isbj10JiYib250b3VjaHN0YXJ0ImluIHdpbmRvdyxzPSh0JiZuJiZ3aW5kb3csdCYmKG58fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyksdCYmd2luZG93LmNocm9tZSYmd2luZG93LmNocm9tZS5ydW50aW1lLHQmJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpLHQmJi9cc0VkZ2VcL1xkXGRcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0JiZCb29sZWFuKG5hdmlnYXRvci52ZW5kb3IpJiZuYXZpZ2F0b3IudmVuZG9yLmluZGV4T2YoIkFwcGxlIik+LTEmJi0xPT09bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJDcmlPUyIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksdCYmL21hYy9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvV2luMzJ8V2luNjQvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0xpbnV4L2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9BbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSksbz10JiYvQmxhY2tCZXJyeS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksaT10JiYvaVBob25lfGlQYWR8aVBvZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHI9dCYmL09wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dCYmKCJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfHwvaVBhZC8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pKSxhPXN8fG98fGl8fHI7Y29uc3QgXz1uZXcgTWFwO2Z1bmN0aW9uIGQoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXdpbmRvdy5sb2NhdGlvbi5ob3N0LG49YCR7dH0ke2V9YDtyZXR1cm4gXy5oYXMobil8fF8uc2V0KG4sZnVuY3Rpb24oZSx0KXtjb25zdCBuPVsiXndpZGdldC1kb2NzIl07Zm9yKGNvbnN0IGUgb2YgbilpZihuZXcgUmVnRXhwKGUpLnRlc3QodCkpcmV0dXJuITA7Y29uc3Qgcz1bIl53aWRnZXRlbWJlZC8/JCIsIl5jbWV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldHN0YXRpYy8/JCIsIl4oWzAtOWEtekEtWi1dKyk/Lz9tZWRpdW13aWRnZXRlbWJlZC8/JCIsIl50d2l0dGVyLWNoYXJ0Lz8kIiwiXnRlbGVncmFtL2NoYXJ0Lz8kIiwiXmVtYmVkLyhbMC05YS16QS1aXXs4fSkvPyQiLCJed2lkZ2V0cG9wdXAvPyQiLCJeZXh0ZW5zaW9uLz8kIiwiXmlkZWEtcG9wdXAvPyQiLCJeaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvaG90bGlzdHN3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRvdmVydmlld3dpZGdldGVtYmVkLz8kIiwiXmV2ZW50c3dpZGdldGVtYmVkLz8kIiwiXnRpY2tlcnN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGNyb3NzcmF0ZXN3aWRnZXRlbWJlZC8/JCIsIl5mb3JleGhlYXRtYXB3aWRnZXRlbWJlZC8/JCIsIl5tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl5zY3JlZW5lcndpZGdldC8/JCIsIl5jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnRlY2huaWNhbC1hbmFseXNpcy13aWRnZXQtZW1iZWQvJCIsIl5zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9zaW5nbGVxdW90ZXdpZGdldGVtYmVkLz8kIiwiXmVtYmVkLXdpZGdldC8oWzAtOWEtekEtWi1dKykvKChbMC05YS16QS1aLV0rKS8pPyQiLCJed2lkZ2V0LWRvY3MvKFswLTlhLXpBLVotXSspLyhbMC05YS16QS1aLS9dKyk/JCJdLG89ZS5yZXBsYWNlKC9eXC8vLCIiKTtsZXQgaTtmb3IobGV0IGU9cy5sZW5ndGgtMTtlPj0wO2UtLSlpZihpPW5ldyBSZWdFeHAoc1tlXSksaS50ZXN0KG8pKXJldHVybiEwO3JldHVybiExfShlLHQpKSxfLmdldChuKT8/ITF9Y29uc3QgaD13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtjb25zdCBsPXtBbmRyb2lkOigpPT5zLEJsYWNrQmVycnk6KCk9Pm8saU9TOigpPT5pLE9wZXJhOigpPT5yLGlzSVBhZDooKT0+Yyxhbnk6KCk9PmF9O2guaXNNb2JpbGU9bCxoLm9uV2lkZ2V0PWQ7Y29uc3QgdT0oKT0+e30sZz0ifm1+IjtjbGFzcyBte2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5zZXNzaW9uaWQ9bnVsbCx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5fYmFzZT1lLHRoaXMuX29wdGlvbnM9e3RpbWVvdXQ6dC50aW1lb3V0fHwyZTQsY29ubmVjdGlvblR5cGU6dC5jb25uZWN0aW9uVHlwZSxhcGlLZXk6dC5hcGlLZXl9fWNvbm5lY3QoKXt0aGlzLl9zb2NrZXQ9bmV3IFdlYlNvY2tldCh0aGlzLl9wcmVwYXJlVXJsKCkpLAp0aGlzLl9zb2NrZXQub25tZXNzYWdlPWU9PntpZigic3RyaW5nIiE9dHlwZW9mIGUuZGF0YSl0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgV2ViU29ja2V0IG1lc3NhZ2Ugc2hvdWxkIGJlIGEgc3RyaW5nLiBSZWNpZXZlZCAke09iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlLmRhdGEpfWApO3RoaXMuX29uRGF0YShlLmRhdGEpfSx0aGlzLl9zb2NrZXQub25jbG9zZT10aGlzLl9vbkNsb3NlLmJpbmQodGhpcyksdGhpcy5fc29ja2V0Lm9uZXJyb3I9dGhpcy5fb25FcnJvci5iaW5kKHRoaXMpfXNlbmQoZSl7dGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuc2VuZCh0aGlzLl9lbmNvZGUoZSkpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9ubWVzc2FnZT11LHRoaXMuX3NvY2tldC5vbmNsb3NlPXUsdGhpcy5fc29ja2V0Lm9uZXJyb3I9dSx0aGlzLl9zb2NrZXQuY2xvc2UoKSl9X2NsZWFySWRsZVRpbWVvdXQoKXtudWxsIT09dGhpcy5fdGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGwpfV9lbmNvZGUoZSl7bGV0IHQsbj0iIjtjb25zdCBzPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0sbz1zLmxlbmd0aDtmb3IobGV0IGU9MDtlPG87ZSsrKXQ9bnVsbD09PXNbZV18fHZvaWQgMD09PXNbZV0/IiI6bS5fc3RyaW5naWZ5KHNbZV0pLG4rPWcrdC5sZW5ndGgrZyt0O3JldHVybiBufV9kZWNvZGUoZSl7Y29uc3QgdD1bXTtsZXQgbixzO2Rve2lmKGUuc3Vic3RyaW5nKDAsMykhPT1nKXJldHVybiB0O249IiIscz0iIjtjb25zdCBvPShlPWUuc3Vic3RyaW5nKDMpKS5sZW5ndGg7Zm9yKGxldCB0PTA7dDxvO3QrKyl7aWYocz1OdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSxOdW1iZXIoZS5zdWJzdHJpbmcodCx0KzEpKSE9PXMpe2U9ZS5zdWJzdHJpbmcobi5sZW5ndGgrMyksbj1OdW1iZXIobik7YnJlYWt9bis9c310LnB1c2goZS5zdWJzdHJpbmcoMCxuKSksZT1lLnN1YnN0cmluZyhuKX13aGlsZSgiIiE9PWUpO3JldHVybiB0fV9vbkRhdGEoZSl7dGhpcy5fc2V0VGltZW91dCgpO2NvbnN0IHQ9dGhpcy5fZGVjb2RlKGUpLG49dC5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxuO2UrKyl0aGlzLl9vbk1lc3NhZ2UodFtlXSl9X3NldFRpbWVvdXQoKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fdGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX29uVGltZW91dC5iaW5kKHRoaXMpLHRoaXMuX29wdGlvbnMudGltZW91dCl9X29uVGltZW91dCgpe3RoaXMuZGlzY29ubmVjdCgpLHRoaXMuX29uRGlzY29ubmVjdCh7Y29kZTo0ZTMscmVhc29uOiJzb2NrZXQuaW8gdGltZW91dCIsd2FzQ2xlYW46ITF9KX1fb25NZXNzYWdlKGUpe3RoaXMuc2Vzc2lvbmlkP3RoaXMuX2NoZWNrSWZIZWFydGJlYXQoZSk/dGhpcy5fb25IZWFydGJlYXQoZS5zbGljZSgzKSk6dGhpcy5fY2hlY2tJZkpzb24oZSk/dGhpcy5fYmFzZS5vbk1lc3NhZ2UoSlNPTi5wYXJzZShlLnNsaWNlKDMpKSk6dGhpcy5fYmFzZS5vbk1lc3NhZ2UoZSk6KHRoaXMuc2Vzc2lvbmlkPWUsdGhpcy5fb25Db25uZWN0KCkpfV9jaGVja0lmSGVhcnRiZWF0KGUpe3JldHVybiB0aGlzLl9jaGVja01lc3NhZ2VUeXBlKGUsImgiKX1fY2hlY2tJZkpzb24oZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaiIpfV9jaGVja01lc3NhZ2VUeXBlKGUsdCl7cmV0dXJuIGUuc3Vic3RyaW5nKDAsMyk9PT0ifiIrdCsifiJ9X29uSGVhcnRiZWF0KGUpe3RoaXMuc2VuZCgifmh+IitlKX1fb25Db25uZWN0KCl7dGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5fYmFzZS5vbkNvbm5lY3QoKX1fb25EaXNjb25uZWN0KGUpe3RoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5vbkRpc2Nvbm5lY3QoZSksdGhpcy5zZXNzaW9uaWQ9bnVsbH1fY2xlYXIoKXt0aGlzLmNvbm5lY3RlZD0hMX1fcHJlcGFyZVVybCgpe2NvbnN0IHQ9ayh0aGlzLl9iYXNlLmhvc3QpO2lmKHQucGF0aG5hbWUrPSJzb2NrZXQuaW8vd2Vic29ja2V0Iix0LnByb3RvY29sPSJ3c3M6Iix0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImZyb20iLHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxLDUwKSksdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkYXRlIix3aW5kb3cuQlVJTERfVElNRXx8IiIpLGUoImFueSIpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImNsaWVudCIsIm1vYmlsZSIpLHRoaXMuX29wdGlvbnMuY29ubmVjdGlvblR5cGUmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgidHlwZSIsdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSksd2luZG93LldFQlNPQ0tFVF9QQVJBTVNfQU5BTFlUSUNTKXtjb25zdHt3c19wYWdlX3VyaTplLHdzX2FuY2VzdG9yX29yaWdpbjpufT13aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1M7ZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJwYWdlLXVyaSIsZSksbiYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhbmNlc3Rvci1vcmlnaW4iLG4pfWNvbnN0IG49d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmNsdWRlcygid2lkZ2V0X3Rva2VuIil8fHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKTtyZXR1cm4gZCgpfHxufHx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImF1dGgiLCJzZXNzaW9uaWQiKSx2b2lkIDAhPT10aGlzLl9vcHRpb25zLmFwaUtleSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJhcGlfa2V5Iix0aGlzLl9vcHRpb25zLmFwaUtleSksdC5ocmVmfV9vbkNsb3NlKGUpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9vbkRpc2Nvbm5lY3QoZSl9X29uRXJyb3IoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX2NsZWFyKCksdGhpcy5fYmFzZS5lbWl0KCJlcnJvciIsW2VdKSx0aGlzLnNlc3Npb25pZD1udWxsfXN0YXRpYyBfc3RyaW5naWZ5KGUpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPyJ+an4iK0pTT04uc3RyaW5naWZ5KGUpOlN0cmluZyhlKX19Y2xhc3Mgd3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuaG9zdD1lLAp0aGlzLl9jb25uZWN0aW5nPSExLHRoaXMuX2V2ZW50cz17fSx0aGlzLnRyYW5zcG9ydD10aGlzLl9nZXRUcmFuc3BvcnQodCl9aXNDb25uZWN0ZWQoKXtyZXR1cm4hIXRoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWR9aXNDb25uZWN0aW5nKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpbmd9Y29ubmVjdCgpe3RoaXMuaXNDb25uZWN0ZWQoKXx8KHRoaXMuX2Nvbm5lY3RpbmcmJnRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX2Nvbm5lY3Rpbmc9ITAsdGhpcy50cmFuc3BvcnQuY29ubmVjdCgpKX1zZW5kKGUpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5jb25uZWN0ZWQmJnRoaXMudHJhbnNwb3J0LnNlbmQoZSl9ZGlzY29ubmVjdCgpe3RoaXMudHJhbnNwb3J0JiZ0aGlzLnRyYW5zcG9ydC5kaXNjb25uZWN0KCl9b24oZSx0KXtlIGluIHRoaXMuX2V2ZW50c3x8KHRoaXMuX2V2ZW50c1tlXT1bXSksdGhpcy5fZXZlbnRzW2VdLnB1c2godCl9b2ZmQWxsKCl7dGhpcy5fZXZlbnRzPXt9fW9uTWVzc2FnZShlKXt0aGlzLmVtaXQoIm1lc3NhZ2UiLFtlXSl9ZW1pdChlLHQ9W10pe2lmKGUgaW4gdGhpcy5fZXZlbnRzKXtjb25zdCBuPXRoaXMuX2V2ZW50c1tlXS5jb25jYXQoKSxzPW4ubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cztlKyspbltlXS5hcHBseSh0aGlzLHQpfX1vbkNvbm5lY3QoKXt0aGlzLmNsZWFyKCksdGhpcy5lbWl0KCJjb25uZWN0Iil9b25EaXNjb25uZWN0KGUpe3RoaXMuZW1pdCgiZGlzY29ubmVjdCIsW2VdKX1jbGVhcigpe3RoaXMuX2Nvbm5lY3Rpbmc9ITF9X2dldFRyYW5zcG9ydChlKXtyZXR1cm4gbmV3IG0odGhpcyxlKX19ZnVuY3Rpb24gayhlKXtjb25zdCB0PS0xIT09ZS5pbmRleE9mKCIvIik/bmV3IFVSTChlKTpuZXcgVVJMKCJ3c3M6Ly8iK2UpO2lmKCJ3c3M6IiE9PXQucHJvdG9jb2wmJiJodHRwczoiIT09dC5wcm90b2NvbCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgd2Vic29ja2V0IGJhc2UgIitlKTtyZXR1cm4gdC5wYXRobmFtZS5lbmRzV2l0aCgiLyIpfHwodC5wYXRobmFtZSs9Ii8iKSx0LnNlYXJjaD0iIix0LnVzZXJuYW1lPSIiLHQucGFzc3dvcmQ9IiIsdH12YXIgcCxiOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLkFmdGVyQ2xvc2VFdmVudD01ZTNdPSJBZnRlckNsb3NlRXZlbnQifShwfHwocD17fSkpLGZ1bmN0aW9uKGUpe2VbZS5JbmZvPTBdPSJJbmZvIixlW2UuTm9ybWFsPTFdPSJOb3JtYWwiLGVbZS5EZWJ1Zz0yXT0iRGVidWciLGVbZS5FcnJvcj0zXT0iRXJyb3IifShifHwoYj17fSkpO2NvbnN0IGY9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJk51bWJlcih3aW5kb3cuVEVMRU1FVFJZX1dTX0VSUk9SX0xPR1NfVEhSRVNIT0xEKXx8MDt2YXIgeTshZnVuY3Rpb24oZSl7ZVtlLlBpbmdJbnRlcnZhbD0xZTRdPSJQaW5nSW50ZXJ2YWwiLGVbZS5NYXhQaW5nc0NvdW50PTEwXT0iTWF4UGluZ3NDb3VudCIsZVtlLk1heFJlZGlyZWN0cz0yMF09Ik1heFJlZGlyZWN0cyIsZVtlLk1heFJlY29ubmVjdHM9MjBdPSJNYXhSZWNvbm5lY3RzIn0oeXx8KHk9e30pKTtjbGFzcyBUe2NvbnN0cnVjdG9yKGUsdD17fSl7dGhpcy5fcXVldWVTdGFjaz1bXSx0aGlzLl9sb2dzUXVldWU9W10sdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdLHRoaXMuX3JlY29ubmVjdENvdW50PTAsdGhpcy5fcmVkaXJlY3RDb3VudD0wLHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEsdGhpcy5fY29ubmVjdGlvblN0YXJ0PW51bGwsdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPW51bGwsdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwsdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSExLHRoaXMuX2luaXRpYWxIb3N0PXQuaW5pdGlhbEhvc3R8fG51bGwsdGhpcy5fc3VnZ2VzdGVkSG9zdD1lLHRoaXMuX3Byb0hvc3Q9dC5wcm9Ib3N0LHRoaXMuX3JlY29ubmVjdEhvc3Q9dC5yZWNvbm5lY3RIb3N0LHRoaXMuX25vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0PSEwPT09dC5ub1JlY29ubmVjdEFmdGVyVGltZW91dCx0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQ9dC5kYXRhUmVxdWVzdFRpbWVvdXQsdGhpcy5fY29ubmVjdGlvblR5cGU9dC5jb25uZWN0aW9uVHlwZSx0aGlzLl9hcGlLZXk9dC5hcGlLZXksdGhpcy5fZG9Db25uZWN0KCksdC5waW5nUmVxdWlyZWQmJi0xPT09d2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCJub3BpbmciKSYmdGhpcy5fc3RhcnRQaW5nKCl9Y29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKX1yZXNldENvdW50ZXJzKCl7dGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTB9c2V0TG9nZ2VyKGUsdCl7dGhpcy5fbG9nZ2VyPWUsdGhpcy5fZ2V0TG9nSGlzdG9yeT10LHRoaXMuX2ZsdXNoTG9ncygpfXNldFRlbGVtZXRyeShlKXt0aGlzLl90ZWxlbWV0cnk9ZSx0aGlzLl90ZWxlbWV0cnkucmVwb3J0U2VudC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblRlbGVtZXRyeVNlbnQpLHRoaXMuX2ZsdXNoVGVsZW1ldHJ5KCl9b25SZWNvbm5lY3QoZSl7dGhpcy5fb25SZWNvbm5lY3Q9ZX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKX1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpfW9uKGUsdCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJigiY29ubmVjdCI9PT1lJiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKT90KCk6ImRpc2Nvbm5lY3QiPT09ZT90aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLnB1c2godCk6dGhpcy5fc29ja2V0Lm9uKGUsdCksITApfWdldFNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC50cmFuc3BvcnQ/dGhpcy5fc29ja2V0LnRyYW5zcG9ydC5zZXNzaW9uaWQ6bnVsbH1zZW5kKGUpe3JldHVybiB0aGlzLmlzQ29ubmVjdGVkKCk/KHRoaXMuX3NvY2tldC5zZW5kKGUpLCEwKToodGhpcy5fcXVldWVNZXNzYWdlKGUpLCExKX0KZ2V0Q29ubmVjdGlvbkVzdGFibGlzaGVkKCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZH1nZXRIb3N0KCl7Y29uc3QgZT10aGlzLl90cnlHZXRQcm9Ib3N0KCk7cmV0dXJuIG51bGwhPT1lP2U6dGhpcy5fcmVjb25uZWN0SG9zdCYmdGhpcy5fcmVjb25uZWN0Q291bnQ+Mz90aGlzLl9yZWNvbm5lY3RIb3N0OnRoaXMuX3N1Z2dlc3RlZEhvc3R9Z2V0UmVjb25uZWN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnR9Z2V0UmVkaXJlY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50fWdldENvbm5lY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhcnR9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFyUmVjb25uZWN0VGltZW91dCgpLCh0aGlzLmlzQ29ubmVjdGVkKCl8fHRoaXMuaXNDb25uZWN0aW5nKCkpJiYodGhpcy5fcHJvcGFnYXRlRGlzY29ubmVjdCgpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY2xvc2VTb2NrZXQoKSl9Zm9yYmlkQ29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMCx0aGlzLmRpc2Nvbm5lY3QoKX1hbGxvd0Nvbm5lY3Rpb24oKXt0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5jb25uZWN0KCl9aXNNYXhSZWRpcmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudD49MjB9aXNNYXhSZWNvbm5lY3RzKCl7cmV0dXJuIHRoaXMuX3JlY29ubmVjdENvdW50Pj0yMH1nZXRQaW5nSW5mbygpe3JldHVybiB0aGlzLl9waW5nSW5mb3x8bnVsbH1nZXRBcGlLZXkoKXtyZXR1cm4gdGhpcy5fYXBpS2V5fV90cnlHZXRQcm9Ib3N0KCl7cmV0dXJuIHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiYiYmF0dGxlIj09PXdpbmRvdy5lbnZpcm9ubWVudCYmIXRoaXMuX3JlZGlyZWN0Q291bnQmJi0xPT09d2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigid3NfaG9zdCIpP3RoaXMuX2luaXRpYWxIb3N0P3RoaXMuX2luaXRpYWxIb3N0OnZvaWQgMCE9PXdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5wcm9fcGxhbj90aGlzLl9wcm9Ib3N0fHx0aGlzLl9zdWdnZXN0ZWRIb3N0Om51bGw6bnVsbH1fcXVldWVNZXNzYWdlKGUpezA9PT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmdGhpcy5fbG9nTWVzc2FnZSgwLCJTb2NrZXQgaXMgbm90IGNvbm5lY3RlZC4gUXVldWVkIGEgbWVzc2FnZSIpLHRoaXMuX3F1ZXVlU3RhY2sucHVzaChlKX1fcHJvY2Vzc01lc3NhZ2VRdWV1ZSgpezAhPT10aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCYmKHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2luZyBxdWV1ZWQgbWVzc2FnZXMiKSx0aGlzLl9xdWV1ZVN0YWNrLmZvckVhY2godGhpcy5zZW5kLmJpbmQodGhpcykpLHRoaXMuX2xvZ01lc3NhZ2UoMCwiUHJvY2Vzc2VkICIrdGhpcy5fcXVldWVTdGFjay5sZW5ndGgrIiBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2s9W10pfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXR8fG51bGwhPT10aGlzLl9yZWNvbm5lY3RUaW1lb3V0fHwodGhpcy5fcmVjb25uZWN0VGltZW91dD1zZXRUaW1lb3V0KHRoaXMuX3RyeVJlY29ubmVjdC5iaW5kKHRoaXMpLDVlMykpLHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKTtsZXQgdD0iZGlzY29ubmVjdCBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKTtlJiYodCs9IiwgY29kZToiK2UuY29kZSsiLCByZWFzb246IitlLnJlYXNvbiwxMDA1PT09ZS5jb2RlJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfY29kZV8xMDA1IikpLHRoaXMuX2xvZ01lc3NhZ2UoMCx0KSx0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KGUpLHRoaXMuX2Nsb3NlU29ja2V0KCksdGhpcy5fcXVldWVTdGFjaz1bXX1fY2xvc2VTb2NrZXQoKXtudWxsIT09dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9mZkFsbCgpLHRoaXMuX3NvY2tldC5kaXNjb25uZWN0KCksdGhpcy5fc29ja2V0PW51bGwpfV9sb2dNZXNzYWdlKGUsdCl7Y29uc3Qgbj17bWV0aG9kOmUsbWVzc2FnZTp0fTt0aGlzLl9sb2dnZXI/dGhpcy5fZmx1c2hMb2dNZXNzYWdlKG4pOihuLm1lc3NhZ2U9YFskeyhuZXcgRGF0ZSkudG9JU09TdHJpbmcoKX1dICR7bi5tZXNzYWdlfWAsdGhpcy5fbG9nc1F1ZXVlLnB1c2gobikpfV9mbHVzaExvZ01lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlIDI6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAzOnRoaXMuX2xvZ2dlci5sb2dFcnJvcihlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMDp0aGlzLl9sb2dnZXIubG9nSW5mbyhlLm1lc3NhZ2UpO2JyZWFrO2Nhc2UgMTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGUubWVzc2FnZSl9fV9mbHVzaExvZ3MoKXt0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIFN0YXJ0LiJ9KSx0aGlzLl9sb2dzUXVldWUuZm9yRWFjaCgoZT0+e3RoaXMuX2ZsdXNoTG9nTWVzc2FnZShlKX0pKSx0aGlzLl9mbHVzaExvZ01lc3NhZ2Uoe21ldGhvZDoxLG1lc3NhZ2U6Im1lc3NhZ2VzIGZyb20gcXVldWUuIEVuZC4ifSksdGhpcy5fbG9nc1F1ZXVlPVtdfV9zZW5kVGVsZW1ldHJ5KGUsdCl7Y29uc3Qgbj17ZXZlbnQ6ZSxwYXJhbXM6dH07dGhpcy5fdGVsZW1ldHJ5P3RoaXMuX2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KG4pOnRoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5wdXNoKG4pfV9mbHVzaFRlbGVtZXRyeU9iamVjdChlKXt0aGlzLl90ZWxlbWV0cnkuc2VuZENoYXJ0UmVwb3J0KGUuZXZlbnQsZS5wYXJhbXMsITEpfV9mbHVzaFRlbGVtZXRyeSgpe3RoaXMuX3RlbGVtZXRyeU9iamVjdHNRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3QoZSl9KSksdGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlPVtdfV9kb0Nvbm5lY3QoKXsKdGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0LmlzQ29ubmVjdGVkKCl8fHRoaXMuX3NvY2tldC5pc0Nvbm5lY3RpbmcoKSl8fCh0aGlzLl9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCksdGhpcy5faG9zdD10aGlzLmdldEhvc3QoKSx0aGlzLl9zb2NrZXQ9bmV3IHcodGhpcy5faG9zdCx7dGltZW91dDp0aGlzLl9kYXRhUmVxdWVzdFRpbWVvdXQsY29ubmVjdGlvblR5cGU6dGhpcy5fY29ubmVjdGlvblR5cGUsYXBpS2V5OnRoaXMuX2FwaUtleX0pLHRoaXMuX2xvZ01lc3NhZ2UoMCwiQ29ubmVjdGluZyB0byAiK3RoaXMuX2hvc3QpLHRoaXMuX2JpbmRFdmVudHMoKSx0aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuX2Nvbm5lY3Rpb25TdGFydD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9zb2NrZXQuY29ubmVjdCgpLHBlcmZvcm1hbmNlLm1hcmsoIlNXU0MiLHtkZXRhaWw6IlN0YXJ0IFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHRoaXMuX3NvY2tldC5vbigiY29ubmVjdCIsKCgpPT57cGVyZm9ybWFuY2UubWFyaygiRVdTQyIse2RldGFpbDoiRW5kIFdlYlNvY2tldCBjb25uZWN0aW9uIn0pLHBlcmZvcm1hbmNlLm1lYXN1cmUoIldlYlNvY2tldCBjb25uZWN0aW9uIGRlbGF5IiwiU1dTQyIsIkVXU0MiKX0pKSl9X3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSl7Y29uc3QgdD10aGlzLl9kaXNjb25uZWN0Q2FsbGJhY2tzLmxlbmd0aDtmb3IobGV0IG49MDtuPHQ7bisrKXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3Nbbl0oZXx8e30pfV9iaW5kRXZlbnRzKCl7dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9Pntjb25zdCBlPXRoaXMuZ2V0U2Vzc2lvbklkKCk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7aWYodC5yZWRpcmVjdClyZXR1cm4gdGhpcy5fcmVkaXJlY3RDb3VudCs9MSx0aGlzLl9zdWdnZXN0ZWRIb3N0PXQucmVkaXJlY3QsdGhpcy5pc01heFJlZGlyZWN0cygpJiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJyZWRpcmVjdF9iYWlsb3V0Iiksdm9pZCB0aGlzLl9yZWRpcmVjdCgpfXRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1wZXJmb3JtYW5jZS5ub3coKSx0aGlzLl9wcm9jZXNzTWVzc2FnZVF1ZXVlKCksdGhpcy5fbG9nTWVzc2FnZSgwLCJjb25uZWN0IHNlc3Npb246IitlKX0pKSx0aGlzLl9zb2NrZXQub24oImRpc2Nvbm5lY3QiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImNsb3NlIix0aGlzLl9vbkRpc2Nvbm5lY3QuYmluZCh0aGlzKSksdGhpcy5fc29ja2V0Lm9uKCJlcnJvciIsKGU9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsbmV3IERhdGUrIiBzZXNzaW9uOiIrdGhpcy5nZXRTZXNzaW9uSWQoKSsiIHdlYnNvY2tldCBlcnJvcjoiK0pTT04uc3RyaW5naWZ5KGUpKSx0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3IiKSx0aGlzLl9lcnJvcnNDb3VudCsrLCF0aGlzLl9lcnJvcnNJbmZvU2VudCYmdGhpcy5fZXJyb3JzQ291bnQ+PWYmJih2b2lkIDAhPT10aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayYmKHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvcl9jb25uZWN0X3N0YWNrIix7dGV4dDp0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFja30pLGRlbGV0ZSB0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjayksdm9pZCAwIT09dGhpcy5fZ2V0TG9nSGlzdG9yeSYmdGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2xvZyIse3RleHQ6dGhpcy5fZ2V0TG9nSGlzdG9yeSg1MCkuam9pbigiXG4iKX0pLHRoaXMuX2Vycm9yc0luZm9TZW50PSEwKX0pKSl9X3JlZGlyZWN0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fcmVjb25uZWN0V2hlbk9ubGluZSgpfV90cnlSZWNvbm5lY3QoKXt0aGlzLl90cnlDb25uZWN0KCkmJih0aGlzLl9yZWNvbm5lY3RDb3VudCs9MSl9X3RyeUNvbm5lY3QoKXtyZXR1cm4hdGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuJiYodGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksdGhpcy5fbGFzdENvbm5lY3RDYWxsU3RhY2s9bmV3IEVycm9yKGBXZWJTb2NrZXQgY29ubmVjdCBzdGFjay4gSXMgY29ubmVjdGVkOiAke3RoaXMuaXNDb25uZWN0ZWQoKX0uYCkuc3RhY2t8fCIiLCF0aGlzLmlzQ29ubmVjdGVkKCkmJih0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCksITApKX1fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpe3RoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKX1fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dCksdGhpcy5fcmVjb25uZWN0VGltZW91dD1udWxsKX1fcmVjb25uZWN0V2hlbk9ubGluZSgpe2lmKG5hdmlnYXRvci5vbkxpbmUpcmV0dXJuIHRoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXM6IG9ubGluZSAtIHRyeWluZyB0byBjb25uZWN0IiksdGhpcy5fZG9Db25uZWN0KCksdm9pZCh0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKSk7dGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb2ZmbGluZSAtIHdhaXQgdW50aWwgb25saW5lIiksdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49ZnVuY3Rpb24oZSl7bGV0IHQ9ZTtjb25zdCBuPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksdCYmdCgpfTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsbiksKCk9Pnt0PW51bGx9fSgoKCk9Pnt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx0aGlzLl9vblJlY29ubmVjdCYmdGhpcy5fb25SZWNvbm5lY3QoKX0pKX0KX29uVGVsZW1ldHJ5U2VudChlKXsid2Vic29ja2V0X2Vycm9yImluIGUmJih0aGlzLl9lcnJvcnNDb3VudD0wLHRoaXMuX2Vycm9yc0luZm9TZW50PSExKX1fc3RhcnRQaW5nKCl7aWYodGhpcy5fcGluZ0ludGVydmFsSWQpcmV0dXJuO2NvbnN0IGU9ayh0aGlzLmdldEhvc3QoKSk7ZS5wYXRobmFtZSs9InBpbmciLGUucHJvdG9jb2w9Imh0dHBzOiI7bGV0IHQ9MCxuPTA7Y29uc3Qgcz1lPT57dGhpcy5fcGluZ0luZm89dGhpcy5fcGluZ0luZm98fHttYXg6MCxtaW46MS8wLGF2ZzowfTtjb25zdCBzPShuZXcgRGF0ZSkuZ2V0VGltZSgpLWU7cz50aGlzLl9waW5nSW5mby5tYXgmJih0aGlzLl9waW5nSW5mby5tYXg9cyksczx0aGlzLl9waW5nSW5mby5taW4mJih0aGlzLl9waW5nSW5mby5taW49cyksdCs9cyxuKyssdGhpcy5fcGluZ0luZm8uYXZnPXQvbixuPj0xMCYmdGhpcy5fcGluZ0ludGVydmFsSWQmJihjbGVhckludGVydmFsKHRoaXMuX3BpbmdJbnRlcnZhbElkKSxkZWxldGUgdGhpcy5fcGluZ0ludGVydmFsSWQpfTt0aGlzLl9waW5nSW50ZXJ2YWxJZD1zZXRJbnRlcnZhbCgoKCk9Pntjb25zdCB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpLG49bmV3IFhNTEh0dHBSZXF1ZXN0O24ub3BlbigiR0VUIixlLCEwKSxuLnNlbmQoKSxuLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e24ucmVhZHlTdGF0ZT09PVhNTEh0dHBSZXF1ZXN0LkRPTkUmJjIwMD09PW4uc3RhdHVzJiZzKHQpfX0pLDFlNCl9fQpjb25zdCBDPSJ3aWRnZXRfdXNlcl90b2tlbi0iLHY9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKVt3aW5kb3cuVHJhZGluZ1ZpZXcmJndpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcnx8IiJdfHwiIixTPXYuc3RhcnRzV2l0aChDKT92LnN1YnN0cmluZygxOCk6InRyYWRpbmd2aWV3Igo7d2luZG93LldTQmFja2VuZENvbm5lY3Rpb249bmV3IFQod2luZG93LldFQlNPQ0tFVF9IT1NULHtwaW5nUmVxdWlyZWQ6d2luZG93LldTX0hPU1RfUElOR19SRVFVSVJFRCxwcm9Ib3N0OndpbmRvdy5XRUJTT0NLRVRfUFJPX0hPU1QscmVjb25uZWN0SG9zdDp3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCxpbml0aWFsSG9zdDp3aW5kb3cuV0VCU09DS0VUX0lOSVRJQUxfSE9TVCxjb25uZWN0aW9uVHlwZTp3aW5kb3cuV0VCU09DS0VUX0NPTk5FQ1RJT05fVFlQRSxhcGlLZXk6U30pLHdpbmRvdy5XU0JhY2tlbmRDb25uZWN0aW9uQ3Rvcj1UfSkoKTsKCTwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoJPHNjcmlwdCBub25jZT0iWmdQbTVuVlhOOFdnSVl2TnF0ODlQQT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgdD0xMDE5O3ZhciBlLHMsbyxhLGQ7IWZ1bmN0aW9uKHQpe3QuQWRhcHRpdmU9ImFkYXB0aXZlIix0LlJlZ3VsYXI9InJlZ3VsYXIiLHQuQ29tcGFjdD0iY29tcGFjdCJ9KGV8fChlPXt9KSksZnVuY3Rpb24odCl7dC5BbGxTeW1ib2xzPSJhbGxfc3ltYm9scyIsdC5NYXJrZXQ9Im1hcmtldCIsdC5TeW1ib2w9InN5bWJvbCJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5DcnlwdG9jdXJyZW5jaWVzPSJjcnlwdG8iLHQuQ3VycmVuY2llcz0iZm9yZXgiLHQuU3RvY2tzPSJzdG9jayIsdC5JbmRpY2VzPSJpbmRleCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0LkJvbmRzPSJjZmQifShvfHwobz17fSkpLGZ1bmN0aW9uKHQpe3QuSFRNTD0iaHRtbCIsdC5SZWFjdD0icmVhY3QifShhfHwoYT17fSkpLGZ1bmN0aW9uKHQpe3QuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oZHx8KGQ9e30pKTtjb25zdCBjPXdpbmRvdztjLmluaXREYXRhPWMuaW5pdERhdGF8fHt9O2xldCBpPWMuaW5pdERhdGEuaGFzaFNldHRpbmdzO2lmKGMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMmJihpPXsuLi5jLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLml9KSx2b2lkIDAhPT1pKXtpZih2b2lkIDAhPT1pLmNvbG9yVGhlbWUmJmZ1bmN0aW9uKHQsZT13aW5kb3cpe2NvbnN0IHM9InRoZW1lLSIrdCxvPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKG8pKXQuc3RhcnRzV2l0aCgidGhlbWUtIikmJnQhPT1zJiZvLnJlbW92ZSh0KTtvLmFkZChzKSxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPXR9KGkuY29sb3JUaGVtZSksKGkuaXNUcmFuc3BhcmVudHx8aS50cmFuc3BhcmVuY3kpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtdHJhbnNwYXJlbnQiKSx2b2lkIDAhPT1pLmRpc3BsYXlNb2RlJiZmdW5jdGlvbihzLG8pe2lmKG89PT1lLkFkYXB0aXZlKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGAobWF4LXdpZHRoOiAke3R9cHgpYCksbz0oKT0+e3MuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLCFlLm1hdGNoZXMpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLGUubWF0Y2hlcyl9O28oKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyl9ZWxzZSBzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIixvPT09ZS5SZWd1bGFyKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixvPT09ZS5Db21wYWN0KX0oZG9jdW1lbnQuYm9keSxpLmRpc3BsYXlNb2RlKSxpLmJvZHlDbGFzc2VzKWZvcihjb25zdCB0IG9mIGkuYm9keUNsYXNzZXMpZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHQpO2kuYm9keV9jbGFzcyYmZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGkuYm9keV9jbGFzcyksaS5ib2R5SWQmJihkb2N1bWVudC5ib2R5LmlkPWkuYm9keUlkKX19KSgpOwoJPC9zY3JpcHQ+CgoKPHNjcmlwdCBub25jZT0iWmdQbTVuVlhOOFdnSVl2TnF0ODlQQT09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":78,"timings":{"blocked":-1,"dns":18,"connect":9,"send":0,"wait":34,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/1331.54fd2a5952c88f3555c1.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.867Z","timestamp":1785136429867,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/1331.54fd2a5952c88f3555c1.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.551Z","timestamp":1785136427551,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/81a298ddc7471070.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823944\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"81a298ddc7471070.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"19fc6352b3bef54383c8770d74131cfa\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/81a298ddc7471070.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wcw4z-1781312483461-776bf6c194f6\r\nx-xss-protection: 1; mode=block\r\npriority: u=4,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=5QUsRr2hhDzG5WIuWHo924AXZBr4J0dCiLlU1268%2FmSWMt8MPxNsWixFJ9PvmhgUdhh4PmFj6di6t60OWnXTcE9crnPZF1WNvZQj%2FVTOpQi2%2B%2BaIz2OOMA0I7ExU\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f03ef08deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":8114,"size_decoded":4392,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8114), with no line terminators","md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-11T04:47:30.109196Z","times_seen":1901,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk0OTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODk3OTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoOTQ5NCl9LDcxMjM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYW5kbGVJU1JFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49InUiPHR5cGVvZiB3aW5kb3c/ZS5yKDg5NzkxKS53b3JrQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBvKHtlcnJvcjplfSl7aWYobil7bGV0IHQ9bi5nZXRTdG9yZSgpO2lmKHQ/LmlzU3RhdGljR2VuZXJhdGlvbil0aHJvdyBlJiZjb25zb2xlLmVycm9yKGUpLGV9cmV0dXJuIG51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQwODQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVVudHJhY2tlZFBhdGhuYW1lIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoNzUyMDEpLG89ZS5yKDMxODk5KTtmdW5jdGlvbiB1KCl7cmV0dXJuIWZ1bmN0aW9uKCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHt3b3JrVW5pdEFzeW5jU3RvcmFnZTp0fT1lLnIoMTI5NjUpLHI9dC5nZXRTdG9yZSgpO2lmKCFyKXJldHVybiExO3N3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO3JldHVybiEhbiYmbi5zaXplPjB9fXJldHVybiExfSgpPygwLG4udXNlQ29udGV4dCkoby5QYXRobmFtZUNvbnRleHQpOm51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODMzOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2hhbmRsZUhhcmROYXZFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSx1c2VOYXZGYWlsdXJlSGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2Uucig3NTIwMSk7bGV0IHU9ZS5yKDg1NTk0KTtmdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJiJ1Ij50eXBlb2Ygd2luZG93KSYmISF3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwmJigwLHUuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PSgwLHUuY3JlYXRlSHJlZkZyb21VcmwpKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCkmJihjb25zb2xlLmVycm9yKCJFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiIsZSksd2luZG93LmxvY2F0aW9uLmhyZWY9d2luZG93Lm5leHQuX19wZW5kaW5nVXJsLnRvU3RyaW5nKCksITApfWZ1bmN0aW9uIGkoKXt9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQ4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0Vycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gX30sRXJyb3JCb3VuZGFyeUhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoODEyNTgpLGw9ZS5yKDk4MTM0KSxpPXUuXyhlLnIoNzUyMDEpKSxhPWUucig3NDA4NCkscz1lLnIoNDk4NDMpO2Uucig4MzM5OCk7bGV0IGQ9ZS5yKDcxMjM0KSxjPWUucigzNDY1KSxmPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxjLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgcCBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5yZXNldD0oKT0+e3RoaXMuc2V0U3RhdGUoe2Vycm9yOm51bGx9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIWY/KDAsbC5qc3hzKShsLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbC5qc3gpKGQuSGFuZGxlSVNSRXJyb3Ise2Vycm9yOnRoaXMuc3RhdGUuZXJyb3J9KSx0aGlzLnByb3BzLmVycm9yU3R5bGVzLHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLCgwLGwuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yLHJlc2V0OnRoaXMucmVzZXR9KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBfKHtlcnJvckNvbXBvbmVudDplLGVycm9yU3R5bGVzOnQsZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46bn0pe2xldCBvPSgwLGEudXNlVW50cmFja2VkUGF0aG5hbWUpKCk7cmV0dXJuIGU/KDAsbC5qc3gpKHAse3BhdGhuYW1lOm8sZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KTooMCxsLmpzeCkobC5GcmFnbWVudCx7Y2hpbGRyZW46bn0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3MjQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWRpcmVjdEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJlZGlyZWN0RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig0NDA2NiksbD1lLnIoOTgxMzQpLGk9dS5fKGUucig3NTIwMSkpLGE9ZS5yKDI4OTk1KSxzPWUucig0MTcyMSksZD1lLnIoOTA4NjIpO2Z1bmN0aW9uIGMoe3JlZGlyZWN0OmUscmVzZXQ6dCxyZWRpcmVjdFR5cGU6cn0pe2xldCBuPSgwLGEudXNlUm91dGVyKSgpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKT0+e2kuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntyPT09ZC5SZWRpcmVjdFR5cGUucHVzaD9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZiBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxkLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsbC5qc3gpKGMse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxhLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxsLmpzeCkoZix7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUwMDk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnJlc29sdmVkVGhlbmFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXt0aGVuOigpPT57fX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzYzNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e01ldGFkYXRhQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sT3V0bGV0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUm9vdExheW91dEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFZpZXdwb3J0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNTM0NTkpLGw9e1t1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1Lk9VVExFVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfX0saT1sW3UuTUVUQURBVEFfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0sYT1sW3UuVklFV1BPUlRfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0scz1sW3UuT1VUTEVUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGQ9bFt1LlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldfSw0NDkzNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSGVhZE1hbmFnZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODEyNTgpLl8oZS5yKDc1MjAxKSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMTYxNTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig5ODEzNCksbz1lLnIoNzEyMzQpLHU9e2ZvbnRGYW1pbHk6J3N5c3RlbS11aSwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSInLGhlaWdodDoiMTAwdmgiLHRleHRBbGlnbjoiY2VudGVyIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGw9e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyOHB4IixtYXJnaW46IjAgOHB4In0saT1mdW5jdGlvbih7ZXJyb3I6ZX0pe2xldCB0PWU/LmRpZ2VzdDtyZXR1cm4oMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7fSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoby5IYW5kbGVJU1JFcnJvcix7ZXJyb3I6ZX0pLCgwLG4uanN4KSgiZGl2Iix7c3R5bGU6dSxjaGlsZHJlbjooMCxuLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsbi5qc3hzKSgiaDIiLHtzdHlsZTpsLGNoaWxkcmVuOlsiQXBwbGljYXRpb24gZXJyb3I6IGEgIix0PyJzZXJ2ZXIiOiJjbGllbnQiLCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIiAoc2VlIHRoZSIsIiAiLHQ/InNlcnZlciBsb2dzIjoiYnJvd3NlciBjb25zb2xlIiwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS4iXX0pLHQ/KDAsbi5qc3gpKCJwIix7c3R5bGU6bCxjaGlsZHJlbjpgRGlnZXN0OiAke3R9YH0pOm51bGxdfSl9KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6934.90edfef6ce98369ae04a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.753Z","timestamp":1785136427753,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/6934.90edfef6ce98369ae04a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-138a8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a3b9692ffe1926d4c740a180ac25b67f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":80040,"size_decoded":25281,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8855)","md5":"e360111388c7ca7cc416b65a333c1c13","sha1":"e46ada551fc22f5bd35034c2bca095f54b635503","sha256":"fcaf403c75b1a585c7a07556cb65bc683ba6feecbe0399257d62a34f85d430bd","sha512":"60b615d8b0f61e9026e63070379bd94624842f181c1c1fc3ebd02da9ec8b0937f58c344459767399d75cd658ba805c0033a4d1e60d237c8bf2cfd20377f72aa6","ssdeep":"1536:Rw7HUzRyKUuj/NJd07iwH2Hwzp0q2f70lq4Gf7TtJiO:RJzRyluj/NJ6kMpc7N4Gf7Tz3","tlshash":"0273b638f9d0a4b7b2e784fe6741e6919a26b88276265fe17235c6c47804ccf3135e1e","first_seen":"2026-07-23T13:54:09.170539Z","last_seen":"2026-07-28T06:17:53.380432Z","times_seen":310,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2OTM0XSx7ODQ1NTc3KG8pe28uZXhwb3J0cz17InR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLWo0SmxyWVZIIiwidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwiOiJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCJ9fSw3MzIwNDAobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtmdW5jdGlvbiB0KG8scj13aW5kb3cpe2NvbnN0IGU9InRoZW1lLSIrbyxsPXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgbyBvZiBBcnJheS5mcm9tKGwpKW8uc3RhcnRzV2l0aCgidGhlbWUtIikmJm8hPT1lJiZsLnJlbW92ZShvKTtsLmFkZChlKSxyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPW99ZS5kKHIse2FwcGx5VGhlbWU6KCk9PnR9KSxmdW5jdGlvbihvKXtvLlRoZW1lQ2xhc3NQcmVmaXg9InRoZW1lLSJ9KGx8fChsPXt9KSl9LDIwMDY2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtzZXRUaGVtZTooKT0+YSx3YXRjaGVkVGhlbWU6KCk9PmN9KTt2YXIgbD1lKDIzMjM2NCksdD1lKDczMjA0MCk7Y29uc3QgYz1uZXcgbC5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gYShvKXtjLnNldFZhbHVlKG8pfWMuc3Vic2NyaWJlKChvPT57KDAsdC5hcHBseVRoZW1lKShvLHdpbmRvdyl9KSl9LDgzMDc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHt0cnlQYXJzZU5hbWVkUmdiYTooKT0+dH0pCjtjb25zdCBsPW5ldyBNYXAoW1siYWxpY2VibHVlIiwiI2YwZjhmZiJdLFsiYW50aXF1ZXdoaXRlIiwiI2ZhZWJkNyJdLFsiYXF1YSIsIiMwMGZmZmYiXSxbImFxdWFtYXJpbmUiLCIjN2ZmZmQ0Il0sWyJhenVyZSIsIiNmMGZmZmYiXSxbImJlaWdlIiwiI2Y1ZjVkYyJdLFsiYmlzcXVlIiwiI2ZmZTRjNCJdLFsiYmxhY2siLCIjMDAwMDAwIl0sWyJibGFuY2hlZGFsbW9uZCIsIiNmZmViY2QiXSxbImJsdWUiLCIjMDAwMGZmIl0sWyJibHVldmlvbGV0IiwiIzhhMmJlMiJdLFsiYnJvd24iLCIjYTUyYTJhIl0sWyJidXJseXdvb2QiLCIjZGViODg3Il0sWyJjYWRldGJsdWUiLCIjNWY5ZWEwIl0sWyJjaGFydHJldXNlIiwiIzdmZmYwMCJdLFsiY2hvY29sYXRlIiwiI2QyNjkxZSJdLFsiY29yYWwiLCIjZmY3ZjUwIl0sWyJjb3JuZmxvd2VyYmx1ZSIsIiM2NDk1ZWQiXSxbImNvcm5zaWxrIiwiI2ZmZjhkYyJdLFsiY3JpbXNvbiIsIiNkYzE0M2MiXSxbImN5YW4iLCIjMDBmZmZmIl0sWyJkYXJrYmx1ZSIsIiMwMDAwOGIiXSxbImRhcmtjeWFuIiwiIzAwOGI4YiJdLFsiZGFya2dvbGRlbnJvZCIsIiNiODg2MGIiXSxbImRhcmtncmF5IiwiI2E5YTlhOSJdLFsiZGFya2dyZWVuIiwiIzAwNjQwMCJdLFsiZGFya2toYWtpIiwiI2JkYjc2YiJdLFsiZGFya21hZ2VudGEiLCIjOGIwMDhiIl0sWyJkYXJrb2xpdmVncmVlbiIsIiM1NTZiMmYiXSxbImRhcmtvcmFuZ2UiLCIjZmY4YzAwIl0sWyJkYXJrb3JjaGlkIiwiIzk5MzJjYyJdLFsiZGFya3JlZCIsIiM4YjAwMDAiXSxbImRhcmtzYWxtb24iLCIjZTk5NjdhIl0sWyJkYXJrc2VhZ3JlZW4iLCIjOGZiYzhmIl0sWyJkYXJrc2xhdGVibHVlIiwiIzQ4M2Q4YiJdLFsiZGFya3NsYXRlZ3JheSIsIiMyZjRmNGYiXSxbImRhcmt0dXJxdW9pc2UiLCIjMDBjZWQxIl0sWyJkYXJrdmlvbGV0IiwiIzk0MDBkMyJdLFsiZGVlcHBpbmsiLCIjZmYxNDkzIl0sWyJkZWVwc2t5Ymx1ZSIsIiMwMGJmZmYiXSxbImRpbWdyYXkiLCIjNjk2OTY5Il0sWyJkb2RnZXJibHVlIiwiIzFlOTBmZiJdLFsiZmVsZHNwYXIiLCIjZDE5Mjc1Il0sWyJmaXJlYnJpY2siLCIjYjIyMjIyIl0sWyJmbG9yYWx3aGl0ZSIsIiNmZmZhZjAiXSxbImZvcmVzdGdyZWVuIiwiIzIyOGIyMiJdLFsiZnVjaHNpYSIsIiNmZjAwZmYiXSxbImdhaW5zYm9ybyIsIiNkY2RjZGMiXSxbImdob3N0d2hpdGUiLCIjZjhmOGZmIl0sWyJnb2xkIiwiI2ZmZDcwMCJdLFsiZ29sZGVucm9kIiwiI2RhYTUyMCJdLFsiZ3JheSIsIiM4MDgwODAiXSxbImdyZWVuIiwiIzAwODAwMCJdLFsiZ3JlZW55ZWxsb3ciLCIjYWRmZjJmIl0sWyJob25leWRldyIsIiNmMGZmZjAiXSxbImhvdHBpbmsiLCIjZmY2OWI0Il0sWyJpbmRpYW5yZWQiLCIjY2Q1YzVjIl0sWyJpbmRpZ28iLCIjNGIwMDgyIl0sWyJpdm9yeSIsIiNmZmZmZjAiXSxbImtoYWtpIiwiI2YwZTY4YyJdLFsibGF2ZW5kZXIiLCIjZTZlNmZhIl0sWyJsYXZlbmRlcmJsdXNoIiwiI2ZmZjBmNSJdLFsibGF3bmdyZWVuIiwiIzdjZmMwMCJdLFsibGVtb25jaGlmZm9uIiwiI2ZmZmFjZCJdLFsibGlnaHRibHVlIiwiI2FkZDhlNiJdLFsibGlnaHRjb3JhbCIsIiNmMDgwODAiXSxbImxpZ2h0Y3lhbiIsIiNlMGZmZmYiXSxbImxpZ2h0Z29sZGVucm9keWVsbG93IiwiI2ZhZmFkMiJdLFsibGlnaHRncmVlbiIsIiM5MGVlOTAiXSxbImxpZ2h0Z3JleSIsIiNkM2QzZDMiXSxbImxpZ2h0cGluayIsIiNmZmI2YzEiXSxbImxpZ2h0c2FsbW9uIiwiI2ZmYTA3YSJdLFsibGlnaHRzZWFncmVlbiIsIiMyMGIyYWEiXSxbImxpZ2h0c2t5Ymx1ZSIsIiM4N2NlZmEiXSxbImxpZ2h0c2xhdGVibHVlIiwiIzg0NzBmZiJdLFsibGlnaHRzbGF0ZWdyYXkiLCIjNzc4ODk5Il0sWyJsaWdodHN0ZWVsYmx1ZSIsIiNiMGM0ZGUiXSxbImxpZ2h0eWVsbG93IiwiI2ZmZmZlMCJdLFsibGltZSIsIiMwMGZmMDAiXSxbImxpbWVncmVlbiIsIiMzMmNkMzIiXSxbImxpbmVuIiwiI2ZhZjBlNiJdLFsibWFnZW50YSIsIiNmZjAwZmYiXSxbIm1hcm9vbiIsIiM4MDAwMDAiXSxbIm1lZGl1bWFxdWFtYXJpbmUiLCIjNjZjZGFhIl0sWyJtZWRpdW1ibHVlIiwiIzAwMDBjZCJdLFsibWVkaXVtb3JjaGlkIiwiI2JhNTVkMyJdLFsibWVkaXVtcHVycGxlIiwiIzkzNzBkOCJdLFsibWVkaXVtc2VhZ3JlZW4iLCIjM2NiMzcxIl0sWyJtZWRpdW1zbGF0ZWJsdWUiLCIjN2I2OGVlIl0sWyJtZWRpdW1zcHJpbmdncmVlbiIsIiMwMGZhOWEiXSxbIm1lZGl1bXR1cnF1b2lzZSIsIiM0OGQxY2MiXSxbIm1lZGl1bXZpb2xldHJlZCIsIiNjNzE1ODUiXSxbIm1pZG5pZ2h0Ymx1ZSIsIiMxOTE5NzAiXSxbIm1pbnRjcmVhbSIsIiNmNWZmZmEiXSxbIm1pc3R5cm9zZSIsIiNmZmU0ZTEiXSxbIm1vY2Nhc2luIiwiI2ZmZTRiNSJdLFsibmF2YWpvd2hpdGUiLCIjZmZkZWFkIl0sWyJuYXZ5IiwiIzAwMDA4MCJdLFsib2xkbGFjZSIsIiNmZGY1ZTYiXSxbIm9saXZlIiwiIzgwODAwMCJdLFsib2xpdmVkcmFiIiwiIzZiOGUyMyJdLFsib3JhbmdlIiwiI2ZmYTUwMCJdLFsib3JhbmdlcmVkIiwiI2ZmNDUwMCJdLFsib3JjaGlkIiwiI2RhNzBkNiJdLFsicGFsZWdvbGRlbnJvZCIsIiNlZWU4YWEiXSxbInBhbGVncmVlbiIsIiM5OGZiOTgiXSxbInBhbGV0dXJxdW9pc2UiLCIjYWZlZWVlIl0sWyJwYWxldmlvbGV0cmVkIiwiI2Q4NzA5MyJdLFsicGFwYXlhd2hpcCIsIiNmZmVmZDUiXSxbInBlYWNocHVmZiIsIiNmZmRhYjkiXSxbInBlcnUiLCIjY2Q4NTNmIl0sWyJwaW5rIiwiI2ZmYzBjYiJdLFsicGx1bSIsIiNkZGEwZGQiXSxbInBvd2RlcmJsdWUiLCIjYjBlMGU2Il0sWyJwdXJwbGUiLCIjODAwMDgwIl0sWyJyZWQiLCIjZmYwMDAwIl0sWyJyb3N5YnJvd24iLCIjYmM4ZjhmIl0sWyJyb3lhbGJsdWUiLCIjNDE2OWUxIl0sWyJzYWRkbGVicm93biIsIiM4YjQ1MTMiXSxbInNhbG1vbiIsIiNmYTgwNzIiXSxbInNhbmR5YnJvd24iLCIjZjRhNDYwIl0sWyJzZWFncmVlbiIsIiMyZThiNTciXSxbInNlYXNoZWxsIiwiI2ZmZjVlZSJdLFsic2llbm5hIiwiI2EwNTIyZCJdLFsic2lsdmVyIiwiI2MwYzBjMCJdLFsic2t5Ymx1ZSIsIiM4N2NlZWIiXSxbInNsYXRlYmx1ZSIsIiM2YTVhY2QiXSxbInNsYXRlZ3JheSIsIiM3MDgwOTAiXSxbInNub3ciLCIjZmZmYWZhIl0sWyJzcHJpbmdncmVlbiIsIiMwMGZmN2YiXSxbInN0ZWVsYmx1ZSIsIiM0NjgyYjQiXSxbInRhbiIsIiNkMmI0OGMiXSxbInRlYWwiLCIjMDA4MDgwIl0sWyJ0aGlzdGxlIiwiI2Q4YmZkOCJdLFsidG9tYXRvIiwiI2ZmNjM0NyJdLFsidHVycXVvaXNlIiwiIzQwZTBkMCJdLFsidmlvbGV0IiwiI2VlODJlZSJdLFsidmlvbGV0cmVkIiwiI2QwMjA5MCJdLFsid2hlYXQiLCIjZjVkZWIzIl0sWyJ3aGl0ZSIsIiNmZmZmZmYiXSxbIndoaXRlc21va2UiLCIjZjVmNWY1Il0sWyJ5ZWxsb3ciLCIjZmZmZjAwIl0sWyJ5ZWxsb3dncmVlbiIsIiM5YWNkMzIiXV0pCjtmdW5jdGlvbiB0KG8pe2NvbnN0IHI9bC5nZXQobyk7aWYodm9pZCAwPT09cilyZXR1cm4gbnVsbDtyZXR1cm5bcGFyc2VJbnQoci5zbGljZSgxLDMpLDE2KSxwYXJzZUludChyLnNsaWNlKDMsNSksMTYpLHBhcnNlSW50KHIuc2xpY2UoNSw3KSwxNiksMV19fSw3Nzg0NTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YnJlYWtwb2ludHM6KCk9PmwsbW9iaWxlRmlyc3RCcmVha3BvaW50czooKT0+dCxtb2JpbGVGaXJzdExlZ2FjeUJyZWFrcG9pbnRzOigpPT5jfSk7Y29uc3QgbD17ZGVza3RvcDoxLzAsZGVza3RvcEhkOjE5MTkscGhvbmU6NzY3LCJwaG9uZS12ZXJ0aWNhbCI6NDc5LHRhYmxldDoxMDE5fSx0PXtiYXNlOjAsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjozMjAsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6NTY4LCJtZWRpYS1tZi10YWJsZXQtdmVydGljYWwiOjc2OCwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6MTAyNCwibWVkaWEtbWYtbGFwdG9wIjoxMjgwLCJtZWRpYS1tZi1kZXNrdG9wLW1lZGl1bSI6MTQ0MCwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6MTkyMCwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6MjU2MH0sYz17Im1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6MzMwLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOjQ4MCwibWVkaWEtbWYtbGVnYWN5LW5vdGVib29rIjoxMDIwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOjE0ODAsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoxNTMxfX0sMjc2MDE5KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dsb2JhbENsb3NlRGVsZWdhdGU6KCk9PmwsZ2xvYmFsQ2xvc2VNZW51OigpPT50fSk7Y29uc3QgbD1uZXcoZSg5NDgzODApLkRlbGVnYXRlKTtmdW5jdGlvbiB0KCl7bC5maXJlKCl9fSw1MDU1NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnNQYWxldHRlOigpPT5nLGdldEhleENvbG9yQnlOYW1lOigpPT51fSk7dmFyIGw9ZSgzMTc2NjMpLHQ9ZSg4Njc1MjIpLGM9ZSgxMzg2MzgpO2NvbnN0IGE9ey4uLmwsLi4udH0sbj17fSxpPU9iamVjdC5rZXlzKGEpLmxlbmd0aCxkPS9eIygoW2EtZjAtOV17Mn0pezIsNH18W2EtZjAtOV17M30pJC9pO2Z1bmN0aW9uIHMobyxyPVtdLGU9YSl7Y29uc3QgbD1lW29dO2lmKCFsKXJldHVybiBudWxsO2lmKGQudGVzdChsKSlyZXR1cm4gbDtjb25zdCB0PWw7cmV0dXJuIHIucHVzaChvKSwtMSE9PXIuaW5kZXhPZih0KT8oY29uc29sZS53YXJuKCJDb2xvcnMgZGVmaW5pdGlvbnMgY3ljbGVkIiksbCk6ci5sZW5ndGg+aT8oY29uc29sZS53YXJuKCJUb28gbWFueSB2YXJpYWJsZXMtbGluayBpbiBIRVgtY29sb3Igc2VhcmNoOiAiK3JbMF0pLG51bGwpOnModCxyLGUpfU9iamVjdC5rZXlzKGEpLmZvckVhY2goKG89Pntjb25zdCByPXMobyk7bltvXT0oMCxjLmVuc3VyZU5vdE51bGwpKHIpfSkpO2NvbnN0IGc9bjtmdW5jdGlvbiB1KG8scj1nKXtjb25zdCBlPXJbb107aWYoIWUpe2lmKGQudGVzdChvKSlyZXR1cm4gbzt0aHJvdyBuZXcgRXJyb3IoIk5vIHN1Y2ggY29sb3IgIitvKX1yZXR1cm4gZX19LDIxODgxNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtDdWJpY0JlemllcjooKT0+Yyxjb2xvcjooKT0+YSxkdXI6KCk9PmwsZWFzaW5nRnVuYzooKT0+dH0pO2NvbnN0IGw9MzUwLHQ9e2xpbmVhcjpvPT5vLGVhc2VJblF1YWQ6bz0+bypvLGVhc2VPdXRRdWFkOm89Pm8qKDItbyksZWFzZUluT3V0UXVhZDpvPT5vPC41PzIqbypvOig0LTIqbykqby0xLGVhc2VJbkN1YmljOm89Pm8qbypvLGVhc2VPdXRDdWJpYzpvPT4tLW8qbypvKzEsZWFzZUluT3V0Q3ViaWM6bz0+bzwuNT80Km8qbypvOihvLTEpKigyKm8tMikqKDIqby0yKSsxLGVhc2VJblF1YXJ0Om89Pm8qbypvKm8sZWFzZU91dFF1YXJ0Om89PjEtIC0tbypvKm8qbyxlYXNlSW5PdXRRdWFydDpvPT5vPC41PzgqbypvKm8qbzoxLTgqLS1vKm8qbypvLGVhc2VJblF1aW50Om89Pm8qbypvKm8qbyxlYXNlT3V0UXVpbnQ6bz0+MSstLW8qbypvKm8qbyxlYXNlSW5PdXRRdWludDpvPT5vPC41PzE2Km8qbypvKm8qbzoxKzE2Ki0tbypvKm8qbypvfTtjbGFzcyBje2NvbnN0cnVjdG9yKG8scixlLGwpe3RoaXMuX21YMT1vLHRoaXMuX21ZMT1yLHRoaXMuX21YMj1lLHRoaXMuX21ZMj1sfWVhc2luZ0Z1bmMobyl7cmV0dXJuIHRoaXMuX21YMT09PXRoaXMuX21ZMSYmdGhpcy5fbVgyPT09dGhpcy5fbVkyP286dGhpcy5fY2FsY0Jlemllcih0aGlzLl9nZXRURm9yWChvKSl9X2EobyxyKXtyZXR1cm4gMS0zKnIrMypvfV9iKG8scil7cmV0dXJuIDMqci02Km99X2Mobyl7cmV0dXJuIDMqb31fY2FsY0JlemllcihvKXtyZXR1cm4oKHRoaXMuX2EodGhpcy5fbVkxLHRoaXMuX21ZMikqbyt0aGlzLl9iKHRoaXMuX21ZMSx0aGlzLl9tWTIpKSpvK3RoaXMuX2ModGhpcy5fbVkxKSkqb31fZ2V0U2xvcGUobyl7cmV0dXJuIDMqdGhpcy5fYSh0aGlzLl9tWDEsdGhpcy5fbVgyKSpvKm8rMip0aGlzLl9iKHRoaXMuX21YMSx0aGlzLl9tWDIpKm8rdGhpcy5fYyh0aGlzLl9tWDEpfV9nZXRURm9yWChvKXtsZXQgcj1vO2ZvcihsZXQgZT0wO2U8NDsrK2Upe2NvbnN0IGU9dGhpcy5fZ2V0U2xvcGUocik7aWYoMD09PWUpcmV0dXJuIHI7ci09KHRoaXMuX2NhbGNCZXppZXIociktbykvZX1yZXR1cm4gcn19Y29uc3QgYT17YmxhY2s3MDoiIzRBNEE0QSIsYmxhY2s4MDoiIzUzNTM1MyJ9fSw1Njc0NzkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7REVGQVVMVF9TSVpFOigpPT5sLHNwaW5uZXJTaXplTWFwOigpPT50fSk7Y29uc3QgbD0ibGFyZ2UiLHQ9e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwxMjEzMShvLHIsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwobyxyKXtsZXQgZTtjb25zdCBsPSgpPT57Y2xlYXJUaW1lb3V0KGUpLGU9dm9pZCAwfTtyZXR1cm57c3RhcnQ6KCk9PntsKCksZT1zZXRUaW1lb3V0KG8scil9LHJlc2V0Omx9fWUuZChyLHtjcmVhdGVUaW1lcjooKT0+bH0pfSwKODQ4OTg4KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbChvKXtyZXR1cm4gMD09PW8uZGV0YWlsfWUuZChyLHtpc0tleWJvYXJkQ2xpY2s6KCk9Pmx9KX0sMzgyMjQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldEZpcnN0RGVzY2VuZGFudDooKT0+YyxnZXRMYXN0RGVzY2VuZGFudDooKT0+YSxnZXRQcmV2aW91c05vblBhcmVudDooKT0+bixnZXRTZWxlY3RvclRyZWVXYWxrZXI6KCk9PnR9KTt2YXIgbD1lKDY4MjM4MSk7Y29uc3QgdD0obz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscik9PmRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobyxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwobz0+cj0+e2lmKDEhPT1yLm5vZGVUeXBlKXJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO2NvbnN0IGU9cjtyZXR1cm4oMCxsLmlzSW5lcnRSb290KShlKT9Ob2RlRmlsdGVyLkZJTFRFUl9SRUpFQ1Q6KDAsbC5pc1Zpc2liaWxpdHlWaXNpYmxlKShlKSYmZS5tYXRjaGVzKG8pP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfSkocikpO2Z1bmN0aW9uIGMobyl7cmV0dXJuIG8uY3VycmVudE5vZGU9by5yb290LG8ubmV4dE5vZGUoKX1mdW5jdGlvbiBhKG8pe2ZvcihvLmN1cnJlbnROb2RlPW8ucm9vdDtudWxsIT09by5sYXN0Q2hpbGQoKTspO3JldHVybiBvLmN1cnJlbnROb2RlPT09by5yb290P251bGw6by5jdXJyZW50Tm9kZX1mdW5jdGlvbiBuKG8pe2NvbnN0IHI9by5jdXJyZW50Tm9kZTtsZXQgZT1vLnByZXZpb3VzTm9kZSgpO2Zvcig7ZSYmZS5jb250YWlucyhyKTspZT1vLnByZXZpb3VzTm9kZSgpO3JldHVybiBlfX0sNzEwMTEyKG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe2NvbnN0IG89bmV3IFNldCxyPW5ldyBTZXQ7Y29uc3QgZT17dXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD9yLmFkZCh0KTpyLmRlbGV0ZSh0KTtjb25zdCBjPXIuc2l6ZT4wO2UudmFsdWUhPT1jJiYoZS52YWx1ZT1jLG8uZm9yRWFjaCgobz0+e28obCl9KSkpfSx2YWx1ZTohMSxzdWJzY3JpYmU6ZnVuY3Rpb24ocil7cmV0dXJuIG8uYWRkKHIpLCgpPT57by5kZWxldGUocil9fX07cmV0dXJuIGV9ZS5kKHIse2NyZWF0ZVVzZXJJbnRlcmFjdGlvblN0YXR1czooKT0+bH0pfSwyMjI0MjMobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7QWdncmVnYXRlRXJyb3I6KCk9Pl8sQXBpRXJyb3I6KCk9Pm0sU01TX0JBTk5FRF9TVEFUVVM6KCk9PmMsYWNjdW11bGF0ZUVycm9yczooKT0+bixjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT53LGZpcnN0TG9naW5EYXRhOigpPT5zLGZpcnN0TG9naW5EYXRhVXJsOigpPT5hLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT5SLGdldEFwaUVycm9yTWVzc2FnZTooKT0+QSxyZWNvdmVyUGFzc3dvcmQ6KCk9PmYscmVjb3ZlclBhc3N3b3JkVXJsOigpPT5ULHJlY292ZXJ5UGFzc3dvcmQ6KCk9PnAscmVzZW5kTGluazooKT0+ZyxzZWNvbmRGYWN0b3JTaWduaW46KCk9Pk4sc2lnbmluOigpPT5iLHNpZ25pblVybDooKT0+QyxzaWdudXA6KCk9PkUsc2lnbnVwVXJsOigpPT5oLHNvY2lhbEF1dGg6KCk9PnZ9KTt2YXIgbD1lKDM4NDAxNyksdD1lKDE4NTI3MSk7Y29uc3QgYz00MDMsYT0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBuKG8scil7cmV0dXJuIE9iamVjdC5lbnRyaWVzKG8pLm1hcCgobz0+bmV3IG0ob1sxXS5qb2luKCJcbiIpLHIsb1swXSkpKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuKDAsbC5mZXRjaCkobyx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6cn0pfWFzeW5jIGZ1bmN0aW9uIGQobyl7dHJ5e3JldHVybiBhd2FpdCBvLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgbSh0LnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sZSg2ODM2MjcpKSxvLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIHMobyl7cmV0dXJuIGkoYSxvKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChyPT57dGhyb3cgbmV3IF8obihyLmVycm9ycyxvLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gZygpe3JldHVybiBpKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChvPT5vLm9rP2Qobyk6ZChvKS50aGVuKChvPT57dGhyb3cgRXJyb3Ioby5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KG8pe3JldHVybiBpKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLG8pLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKG89Pnt0aHJvdyBFcnJvcihvLmVycm9yKX0pKSkpfWZ1bmN0aW9uIHAobyl7cmV0dXJuIGkoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLG8pLnRoZW4oKG89Pm8pKX1jb25zdCBDPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24geShvKXtyZXR1cm4gZChvKS50aGVuKChyPT57aWYoImVycm9ycyJpbiByJiZPYmplY3Qua2V5cyhyLmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBfKG4oci5lcnJvcnMsby5zdGF0dXMpKTtpZigiZXJyb3IiaW4gciYmIiIhPT1yLmVycm9yfHwiY29kZSJpbiByfHwhby5vayl0aHJvdyBuZXcgbShyLmVycm9yfHxyLmRldGFpbCxvLnN0YXR1cyxyLmNvZGUsci5jb25maXJtX2F1dGhfZGF0YSxyLnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24obyl7aWYoby5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTpvLnNpZ25hdHVyZSxlbWFpbDpvLmVtYWlsfHwiIixwaG9uZTpvLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHIpKTtyZXR1cm4gcn0pKX1mdW5jdGlvbiBiKG8pe3JldHVybiBpKEMsbykudGhlbih5KX1jb25zdCBoPSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gRShvKXtyZXR1cm4gaShoLG8pLnRoZW4oKG89PmQobykudGhlbigocj0+e2lmKCJlcnJvcnMiaW4gciYmIiIhPT1yLmVycm9ycyl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jbGFzcyBtIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IobyxyLGUsbCx0LGMpe3N1cGVyKG8pLHRoaXMudHlwZT1lLAp0aGlzLnN0YXR1cz1yLHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9dCx0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWwsdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1jfX1mdW5jdGlvbiBBKG8scil7cmV0dXJuIG8gaW5zdGFuY2VvZiBtJiZ2b2lkIDAhPT1vLnN0YXR1cz9gJHtvLm1lc3NhZ2V8fHJ8fHQudChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxlKDY4MzYyNykpfSAoJHtvLnN0YXR1c30pYDpvIGluc3RhbmNlb2YgRXJyb3ImJm8ubWVzc2FnZT9vLm1lc3NhZ2U6cnx8dC50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LGUoNjgzNjI3KSl9Y2xhc3MgXyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG8pe3N1cGVyKG8ubWFwKChvPT5vLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1vfX1jb25zdCBUPSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gZihvKXtyZXR1cm4gaShULG8pLnRoZW4oeSl9Y29uc3QgUz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gdihvLHIpe2NvbnN0IGU9bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHIpLmZvckVhY2goKChbbyxyXSk9PnImJmUuc2VhcmNoUGFyYW1zLmFwcGVuZChvLHIpKSksKDAsbC5mZXRjaCkoZS5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6byxoZWFkZXJzOlN9KS50aGVuKHkpfWZ1bmN0aW9uIHcobyxyKXtjb25zdCBlPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7b30vYCksdD1uZXcgRm9ybURhdGE7cmV0dXJuIHQuYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIixyKSwoMCxsLmZldGNoKShlLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTp0LGhlYWRlcnM6U30pLnRoZW4oeSl9ZnVuY3Rpb24gUihvKXtyZXR1cm4gaShgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7b30vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKCh7ZGV0YWlsOm99KT0+e3Rocm93IEVycm9yKG8pfSkpKSl9ZnVuY3Rpb24gTihvLHIpe3JldHVybiBpKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtvfS9gLHIpLnRoZW4oKG89Pm8ub2s/ZChvKTpkKG8pLnRoZW4oKHI9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXIuY29kZSl0aHJvdyBuZXcgXyhuKHIuZXJyb3JzLG8uc3RhdHVzKSk7dGhyb3cgbmV3IG0oci5kZXRhaWwsby5zdGF0dXMsci5jb2RlKX0pKSkpfX0sODI3MDY3KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2lzU2lnbmVkRXhjaGFuZ2VBZ3JlZW1lbnQ6KCk9Pm4sc2F2ZUV4Y2hhbmdlQWdyZWVtZW50OigpPT5jfSk7dmFyIGw9ZSgzODQwMTcpLHQ9ZSgyMjI0MjMpO2Z1bmN0aW9uIGMobyl7cmV0dXJuKDAsbC5mZXRjaCkoIi9leGNoYW5nZS1hZ3JlZW1lbnQvIix7aGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9KS50aGVuKChvPT5vLm9rP28uanNvbigpOm8uanNvbigpLnRoZW4oKHI9Pnt0aHJvdyBuZXcgdC5BZ2dyZWdhdGVFcnJvcigoMCx0LmFjY3VtdWxhdGVFcnJvcnMpKHIuZXJyb3JzLG8uc3RhdHVzKSl9KSkpKX1jb25zdCBhPXt9O2FzeW5jIGZ1bmN0aW9uIG4obyl7bGV0IHI9Ii9pcy1zaWduZWQtZXhjaGFuZ2UtYWdyZWVtZW50LyI7aWYoby5leGNoYW5nZSYmKHIrPWA/ZXhjaGFuZ2U9JHtvLmV4Y2hhbmdlfWAsYVtvLmV4Y2hhbmdlXSkpcmV0dXJuIGFbby5leGNoYW5nZV07Y29uc3QgZT1hd2FpdCgwLGwuZmV0Y2gpKHIpO2lmKCFlLm9rKXtjb25zdCBvPWF3YWl0IGUuanNvbigpO3Rocm93IEVycm9yKG8uZGV0YWlsKX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybiBvLmV4Y2hhbmdlJiYoYVtvLmV4Y2hhbmdlXT10KSx0fX0sNTU0NjU0KG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse3NvbHV0aW9uSWRzOigpPT5sfSkKO2NvbnN0IGw9SlNPTi5wYXJzZSgneyJFWFRFTkRFRF9IT1VSUyI6NDMwMDA1MDIwMjMsIlBSRV9NQVJLRVQiOjQzMDAwNTAyMDIzLCJQT1NUX01BUktFVCI6NDMwMDA1MDIwMjMsIlNQUkVBRF9DSEFSVFMiOjQzMDAwNTAyMjk4LCJBTEVSVFMiOjQzMDAwNTIwMTQ5LCJBTEVSVF9PTl9TVFJBVEVHWSI6NDMwMDA0ODEzNjgsIkFMRVJUU19PTl9GVU5EQU1FTlRBTFMiOjQzMDAwNzg2ODMxLCJBTEVSVF9XRUJIT09LIjo0MzAwMDUyOTM0OCwiQUxFUlRfV0VCSE9PS19FUlJPUlMiOjQzMDAwNzc2ODk0LCJBTEVSVF9ERVNDUklQVElPTl9QTEFDRUhPTERFUiI6NDMwMDA1MzEwMjEsIkFMRVJUX1JFQ0VJVkVfTk9USUZJQ0FUSU9OU19PSF9QSE9ORSI6NDMwMDA0NzQzODksIkFMRVJUX1VTRV9BTFRFUk5BVElWRV9FTUFJTCI6NDMwMDA0NzQzOTQsIkFMRVJUX1dFQkhPT0tfQ1JFREVOVElBTFMiOjQzMDAwNzIyMDE1LCJBTEVSVF9LRUVQX1RPQVNUU19WSVNJQkxFIjo0MzAwMDczNzk4MiwiVk9MVU1FX1BST0ZJTEUiOjQzMDAwNTAyMDQwLCJWT0xVTUVfUFJPRklMRV9JTkRJQ0FUT1IiOjQzMDAwNTU3NDUwLCJSRU5LTyI6NDMwMDA1MDIyODQsIktBR0kiOjQzMDAwNTAyMjcyLCJMSU5FX0JSRUFLIjo0MzAwMDUwMjI3MywiUE5GIjo0MzAwMDUwMjI3NiwiRklOQU5DSUFMX0RBVEEiOjQzMDAwNTQzNTA2LCJCUk9LRVJfUkFUSU5HIjo0MzAwMDU0MjQ5MCwiQ1JZUFRPX01BUktFVF9DQVAiOjQzMDAwNTQwOTQxLCJDUllQVE9fUEFZTUVOVCI6NDMwMDA0ODU1MzYsIkFMRVJUX09OX1NQUkVBRCI6NDMwMDA0Nzg0MDYsIkFMRVJUX0RFR1JBREVEX1NUQVRFIjo0MzAwMDczOTUyMSwiQUxFUlRfT05fTE9HX1NDQUxFIjo0MzAwMDY5MDk0MiwiQUxFUlRfT05fQ1VTVE9NX1NDUklQVCI6NDMwMDA0Nzg0MTUsIkFMRVJUX09OX1BPU0lUSU9OIjo0MzAwMDUxNjk5MiwiQUxFUlRfRlVOQ1RJT04iOjQzMDAwNTk3NDk0LCJBTEVSVF9NVUxUSUNPTkRJVElPTlMiOjQzMDAwNzYxNDkyLCJBTEVSVF9OT1RJRklDQVRJT05fU0NIRURVTEUiOjQzMDAwNzg3MTk2LCJTTVNfVkVSSUZJQ0FUSU9OIjo0MzAwMDU1MzQyOSwiTUFHTkVUX01PREUiOjQzMDAwNTM3MjcwLCJQUklWQUNZX1NFVFRJTkdTIjo0MzAwMDU0ODMzNSwiUFVCTElDQVRJT05fVFlQRSI6NDMwMDA2MDk0OTcsIlNDUklQVF9BQ0NFU1MiOjQzMDAwNDgyNTczLCJGUkVFX1VTRVJfRkFRUyI6NDMwMDA1OTA5NDcsIlNUUkFURUdZX1VOUkVBTElTVElDX1JFU1VMVFMiOjQzMDAwNDgxMDI5LCJTVFJBVEVHWV9GVVRVUkVfREFUQSI6NDMwMDA2MTQ3MDUsIkhPV19UT19VU0VfUEFQRVIiOjQzMDAwNTE2NDY2LCJIT1dfVE9fVVNFX0NRRyI6NDMwMDA1MTYzNzIsIkhPV19UT19VU0VfT0FOREEiOjQzMDAwNTE2Mzc1LCJIT1dfVE9fVVNFX0ZPUkVYQ09NIjo0MzAwMDUxNjM3NCwiRkFWT1JJVEVfSURFQSI6NDMwMDA1NTUyMTYsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX1BVQkNMSUNBVElPTiI6NDMwMDA1NDk5NTEsIkFVVEhPUlNfSU5TVFJVQ1RJT05TX0VESVQiOjQzMDAwNjE0NjE4LCJTQ1JJUFRfSU5TVFJVQ1RJT05TIjo0MzAwMDQ4MjU3MywiQkFSX1JFUExBWV9VTkFWQUlMQUJJTElUWSI6NDMwMDA0NzU0NzAsIldIQVRfSVNfQ0JPRV9CWlhfRVhDSEFOR0UiOjQzMDAwNDczOTI0LCJHT1BST19VUEdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ3MzMyNCwiR09QUk9fRE9XTkdSQURFX0RFU0NSSVBUSU9OIjo0MzAwMDQ4NTQzNywiR09QUk9fUkVORVdfQU5OVUFMX01PTlRITFlfREVTQ1JJUFRJT04iOjQzMDAwNjQ0NDkxLCJGSU5BTkNJQUxTX09XTkVSU0hJUCI6NDMwMDA2OTk0NzksIkZJTkFOQ0lBTFNfVkFMVUFUSU9OX1NVTU1BUlkiOjQzMDAwNjk5NDg0LCJGSU5BTkNJQUxTX1ZBTFVBVElPTl9SQVRJT1MiOjQzMDAwNjk5NDk1LCJGSU5BTkNJQUxTX0dST1dUSF9BTkRfUFJPRklUQUJJTElUWSI6NDMwMDA2OTk0ODUsIkZJTkFOQ0lBTFNfUkVWRU5VRV9UT19QUk9GSVRfQ09OVkVSU0lPTiI6NDMwMDA2OTk0OTYsIkZJTkFOQ0lBTFNfUkVWRU5VRV9CUkVBS0RPV05fQllfU09VUkNFIjo0MzAwMDY5OTQ4NywiRklOQU5DSUFMU19SRVZFTlVFX0JSRUFLRE9XTl9CWV9DT1VOVFJZIjo0MzAwMDY5OTQ5NywiRklOQU5DSUFMU19SRVZFTlVFX0VTVElNQVRFUyI6NDMwMDA2OTk0ODksIkZJTkFOQ0lBTFNfRUFSTklOR1NfRVNUSU1BVEVTIjo0MzAwMDY5OTQ5OCwiRklOQU5DSUFMU19ESVZJREVORF9TVU1NQVJZIjo0MzAwMDY5OTUwMCwiRklOQU5DSUFMU19ESVZJREVORF9ISVNUT1JZIjo0MzAwMDY5OTUwMSwiRklOQU5DSUFMU19ERUJUX0xFVkVMIjo0MzAwMDY5OTUwMiwiRklOQU5DSUFMU19QT1NJVElPTiI6NDMwMDA2OTk1MDMsIkZJUkVfQ09OVFJPTF9TT0xVVElPTiI6NDMwMDA2OTA5MzksIkJST0tFUkFHRV9SRVZJRVdTIjo0MzAwMDU5MTM1MSwiTElOS1NfVE9fU09DSUFMX01FRElBIjo0MzAwMDYzNTgwNiwiUElORV9MSUJSQVJZX0lORk8iOjQzMDAwNjM4MzcxLCJURUNITklDQUxfUkFUSU5HUyI6NDMwMDA2MTQzMzEsIkJBQ0tURVNUSU5HX1dJREdFVCI6NDMwMDA1NjIzNjIsIkJBQ0tURVNUSU5HX05PX0RBVEEiOjQzMDAwNDc4NDUwLCJCQUNLRU5EX0NPTk5FQ1RJT05TIjo0MzAwMDY5NDQ3NCwiREVFUF9CQUNLVEVTVElOR19XSURHRVQiOjQzMDAwNjcwNTY2LCJERUVQX0JBQ0tURVNUSU5HIjo0MzAwMDY2NjE5OSwiREVFUF9CQUNLVEVTVElOR19BVkFJTEFCTEVfREFUQSI6NDMwMDA2NjgyMTAsIkJFVEFfQlJPS0VSUyI6NDMwMDA2NzM0MzQsIlZJREVPX1VQTE9BRF9GQUlMRUQiOjQzMDAwNjY2NjA3LCJWSURFT19ERVZJQ0VfQUNDRVNTIjo0MzAwMDY3NzIwOSwiSU5WSVRFX09OTFlfU0NSSVBUUyI6NDMwMDA2MTQ2MTcsIkhPV19ET0VTX0JSQUNLRVRTX01BTkFHRU1FTlRfV09SSyI6NDMwMDA2MzE5ODcsIkhPV19UT19TRUVfVEhFX0RFRVBFU1RfSElTVF9EQVRBIjo0MzAwMDY4NzA1MywiSV9DQU5UX1NFRV9BTExfSElTVF9EQVRBX09OX1JFU19MT1dFUl9USEFOX0RBWSI6NDMwMDA0ODA2NzksIklERUFTX09OX0NIQVJUIjo0MzAwMDY5NDI4NSwiR0VUX0FfUkVGVU5EIjo0MzAwMDQ4NTQzMCwiVVNFX1NFVFRMRU1FTlRfQVNfQ0xPU0VfT05fREFJTFlfSU5UUkVWQUwiOjQzMDAwNjg1MjY4LCJBREpVU1RfRk9SX0NPTlRSQUNUX0NIQU5HRVMiOjQzMDAwNjg1MjY2LCJTV0lUQ0hJTkdfQ09OVElOVU9VU19GVVRVUkVTX0NPTlRSQUNUUyI6NDMwMDA2ODkzMTMsIkFESlVTVF9EQVRBX0ZPUl9ESVZJREVORFMiOjQzMDAwNTkwNTk3LCJXSFlfSVNfTVlfQUNDT1VOVF9CQU5ORUQiOjQzMDAwNjc0NzI2LCJURUxMX01FX01PUkVfQUJPVVRfVEhFX0NPTU1VTklUWV9TQ1JJUFRTIjo0MzAwMDU1ODUyMiwiSE9XX1RPX1BPU1RfQVdFU09NRV9JREVBU19BTkRfR0VUX0xPVFNfT0ZfTElLRVMiOjQzMDAwNjAzNzQ4LCJBQk9VVF9FWFBFUlRfUExBTiI6NDMwMDA2NzczODIsIkNPTk5FQ1RJT05TX0xJTUlUX0VYQ0VFREVEIjo0MzAwMDY5Mzg3NywiQUNDT1VOVF9SRUNPVkVSWSI6NDMwMDA2MTk1OTcsIkhPV19UT19TWU5DX0NIQVJUU19PTl9MQVlPVVQiOjQzMDAwNjI5OTkyLCJIT1dfVE9fU0VFX0JVSUxUSU5fSU5ESUNBVE9SX1NPVVJDRSI6NDMwMDA0ODE2NTksIk1VTFRJX0NIQVJUX01PREUiOjQzMDAwNjI5OTkwLCJRVUlDS19TRUFSQ0giOjQzMDAwNjU5NjcxLCJXSEFUU19BTl9JTkRJQ0FUT1IiOjQzMDAwNTQzNjI2LCJDSEFSVF9UWVBFUyI6NDMwMDA3MDM0MDcsIkRSQVdJTkdfVE9PTFMiOjQzMDAwNzAzMzk2LCJDVVNUT01fSU5URVJWQUxTIjo0MzAwMDU0Mzg4MywiQ1VTVE9NX1JBTkdFX0JBUlMiOjQzMDAwNDc0MDA3LCJDQU5ETEVTVElDS19QQVRURVJOUyI6NDMwMDA1ODQ0NjIsIk1VTFRJX1RJTUVGUkFNRV9DSEFSVFMiOjQzMDAwNTAyNTkxLCJCQVJfUkVQTEFZIjo0MzAwMDcxMjc0NywiUElORV9TQ1JJUFQiOjQzMDAwNTYxODM2LCJTQ1JFRU5FUl9PVkVSVklFVyI6NDMwMDA2MzU3OTYsIkFVVE9fQ0hBUlRfUEFUVEVSTlMiOjQzMDAwNjkwNDY0LCJIT1dfVE9fUFJPVEVDVF9ZT1VSX0FDQ09VTlQiOjQzMDAwNTgyMjc3LCJQTFVTX0JVVFRPTiI6NDMwMDA2NDUyNTYsIlBVUkNIQVNFX01BUktFVF9EQVRBIjo0MzAwMDQ3MTcwNSwiV0hZX1RBWF9IQVNfQkVFTl9BRERFRF9UT19NWV9CSUxMIjo0MzAwMDY4NDc0MSwiQ09NUEFSRV9TWU1CT0xTX1RPT0wiOjQzMDAwNTQzMDUzLCJTQVZFRF9DSEFSVCI6NDMwMDA2OTI0MDQsIkNVU1RPTV9JTkRJQ0FUT1IiOjQzMDAwNTQzMDQ4LCJCSVNUX01JWEVEX1NVQlNDUklQVElPTiI6NDMwMDA2MDkxMzcsIldIWV9SRU5LT19OT1RfV09SSyI6NDMwMDA3MTE1MDIsIkFMRVJUU19TRVBBUkFUSU9OX0JZX1RZUEUiOjQzMDAwNjk2NDAzLCJXQVRDSExJU1RfQUxFUlRTIjo0MzAwMDczOTcwOCwiSE9XX1RPX1NFVF9VUF9BTEVSVFMiOjQzMDAwNTk1MzE1LCJQSU5FX1NDUkVFTkVSIjo0MzAwMDc0MjQzNiwiRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzA3MzkxLCJTQ1JJUFRfUFVCTElTSElOR19SVUxFUyI6NDMwMDA1OTA1OTksIkhPV19UT19VU0VfTUlORFMiOjQzMDAwNjkwMjI2LCJIT1dfVE9fVVNFX1RSQURJTkdWSUVXX0NIQVQiOjQzMDAwNjA0NDQ4LCJQQVBFUl9DT01QRVRJVElPTiI6NDMwMDA1OTM1NzksIlBBUEVSX0NPTVBFVElUSU9OX0FDQ09VTlQiOjQzMDAwNzIxMzE1LCJQQVBFUl9DT01QRVRJVElPTl9QUklaRSI6NDMwMDA3MjEzMTcsIlBBUEVSX0NPTVBFVElUSU9OX0ZSRUVfQUNDT1VOVCI6NDMwMDA3MjEzMTAsIlBVQkxJU0hJTkdfQU5EX1VQREFUSU5HX0lERUFTIjo0MzAwMDU5MTMzOCwiVVNJTkdfTUlORFMiOjQzMDAwNjk2MzAxLCJQVUJMSVNIX1ZJREVPX0lERUEiOjQzMDAwNDc2NzUyLCJUQVJPVF9ERUNLIjo0MzAwMDcyNDAyMCwiVkFUX05VTUJFUl9HVUlERSI6NDMwMDA3MjE5MTAsIlBJTkVfUEVSRk9STUFOQ0VfUFJPRklMRVIiOjQzMDAwNzI1MjE2LCJQSU5FX0xPR1NfSU5GTyI6NDMwMDA3MTA4NzYsIklORElDQVRPUlMiOjQzMDAwNDc0MDQ4LCJDSEFSVF9EQVRBX0VYUE9SVCI6NDMwMDA1MzcyNTUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFUyI6NDMwMDA3MTMzMDYsIlRJQ0tfSU5URVJWQUxTIjo0MzAwMDcwOTIyNSwiVk9MVU1FX0ZPT1RQUklOVCI6NDMwMDA3MjYxNjQsIlZPTFVNRV9DQU5ETEVTIjo0MzAwMDcyNDk5NSwiSEVJS0lOX0FTSEkiOjQzMDAwNjE5NDM2LCJITENfQVJFQSI6NDMwMDA3MDkwNjIsIkJBU0VMSU5FIjo0MzAwMDY5MDIzMiwiSElHSF9MT1ciOjQzMDAwNjc3MTk2LCJDT0xVTU5TIjo0MzAwMDY3MzkxMiwiR0lGVFMiOjQzMDAwNzM5NDAxLCJIT1dfVE9fQkVDT01FX01PREVSQVRPUiI6NDMwMDA1OTEzNTYsIkhPV19UT19GSU5EX1BJTkVfUFJPR1JBTU1FUiI6NDMwMDA2MDE2NzcsIkhPV19UT19DSEFOR0VfUkVQTEFZX0lOVEVSVkFMIjo0MzAwMDczOTE1OCwiU0VBU09OQUxTIjo0MzAwMDc0NTIwMSwiQkFSX0NIQVJUUyI6NDMwMDA2NzI0MDMsIkNBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI2OSwiSE9MTE9XX0NBTkRMRVNfQ0hBUlRTIjo0MzAwMDc0NTI3MCwiTElORV9DSEFSVFMiOjQzMDAwNzQ1MjcxLCJTVEVQX0xJTkVfQ0hBUlRTIjo0MzAwMDc0NTI3MiwiTElORV9XSVRIX01BUktFUlNfQ0hBUlRTIjo0MzAwMDc0NTI3MywiQVJFQV9DSEFSVFMiOjQzMDAwNzQ1Mjc0LCJTRVNTSU9OX1ZPTFVNRV9QUk9GSUxFX0NIQVJUUyI6NDMwMDA3NDUyNzUsIlRJTUVfUFJJQ0VfT1BQT1JUVU5JVElFU19DSEFSVFMiOjQzMDAwNzI1NTkwLCJCQUNLVEVTVElOR19CQVJfTUFHTklGSUVSIjo0MzAwMDY2OTI4NSwiQkFDS1RFU1RJTkdfQkFSX0RFVEFMSVpBVElPTiI6NDMwMDA3ODYxODAsIkJBQ0tURVNUSU5HX1NDUklQVF9FWEVDVVRJT04iOjQzMDAwNzg2MTc4LCJCUk9LRVJfRU1VTEFUT1IiOjQzMDAwNzg2MTgxLCJTT0NJQUxfTkVUV09SS19IT1VTRV9SVUxFUyI6NDMwMDA1OTE2MzgsIlFVSUNLX0FORF9FQVNZX0dVSURFIjo0MzAwMDcxODg4NSwiSE9XX1RPX1VTRV9GSUxURVJTIjo0MzAwMDcxODc0NSwiQ0hBUlRfVklFV19NT0RFIjo0MzAwMDcyNDIzMywiV0FUQ0hMSVNUX0FMRVJUU19IT1ciOjQzMDAwNjUzMzY5LCJXQVRDSExJU1RfQUxFUlRTX0NVU1RPTUlaRSI6NDMwMDA2NjI1MDYsIlBVQkxJU0hfQU5fSURFQSI6NDMwMDA1ODkwODMsIlNVUEVSQ0hBUlRTIjo0MzAwMDc0NjQ2NCwiQkFTSUNTIjo0MzAwMDc0NjY4MiwiVElNRV9JTlRFUlZBTFMiOjQzMDAwNzQ3OTM0LCJMQVlPVVRTIjo0MzAwMDc0Njk3NSwiQ09ORklHVVJFIjo0MzAwMDc0ODE2NiwiTUFTVEVSSU5HIjo0MzAwMDc0NTgyNSwiTVVMVElfVElNRUZSQU1FX0FOQUxZU0lTIjo0MzAwMDU5MTU1NSwiU0VUX1VQX0FMVEVSTkFUSVZFX0VNQUlMX0FERFJFU1MiOjQzMDAwNDc0Mzk4LCJERUxFVEVfQUNDT1VOVCI6NDMwMDA1NTA1MzQsIlNJR05BVFVSRV9PTl9QT1NUUyI6NDMwMDA0NzI3NzAsIlNDUkVFTkVSX0RFWCI6NDMwMDA3NDQ0NjUsIlNDUkVFTkVSX0NFWCI6NDMwMDA3NDYxMTAsIlNDUkVFTkVSX0NSWVBUTyI6NDMwMDA3MTg3NDIsIlNDUkVFTkVSX0JPTkQiOjQzMDAwNzQzOTUxLCJTQ1JFRU5FUl9FVEYiOjQzMDAwNzE4NzQzLCJTQ1JFRU5FUl9TVE9DSyI6NDMwMDA3MTg4NjYsIk9QVElPTlNfQlVJTERFUiI6NDMwMDA3MDcyMTQsIk5FV1NfRkxPVyI6NDMwMDA3Mjg4MjgsIkhPV19UT19DT05GSUdVUkVfMkZBIjo0MzAwMDU3MjQ2MCwiSU5UUkFEQVlfUkVOS09fS0FHSSI6NDMwMDA3NTg2MTcsIkRBVEFfRUNPTk9NSUNfQ0FMRU5EQVIiOjQzMDAwNzU5OTExLCJFQVJOSU5HU19DQUxFTkRBUiI6NDMwMDA3NTk5MTIsIkRJVklERU5EX0NBTEVOREFSIjo0MzAwMDc1OTkxMywiVEVDSE5JQ0FMX0FOQUxZU0lTIjo0MzAwMDc1OTU3NywiRlVOREFNRU5UQUxfQU5BTFlTSVMiOjQzMDAwNzU5NTc0LCJGSU5BTkNJQUxfU1RBVEVNRU5UU19IT1dUTyI6NDMwMDA3NjAwNTksIk9ORV9DTElDS19UUkFESU5HIjo0MzAwMDQ4MDkyMCwiT05FX1RBUF9UUkFESU5HIjo0MzAwMDc3NjI2NCwiUFJPRklUX0xPU1NfVFlQRV9TRUxFQ1RJT04iOjQzMDAwNzYxMTgxLCJUSVBTX0ZPUl9TQ1JJUFRfQVVUSE9SUyI6NDMwMDA1NDk5MzUsIlVQREFURV9QSU5FX1NDUklQVFMiOjQzMDAwNTMwNzIwLCJFWFBPUlRfU1RSQVRFR1lfREFUQSI6NDMwMDA2MTM2ODAsIllJRUxEX0NVUlZFUyI6NDMwMDA3NTgxMjMsIk5FV1NfQUxFUlRTIjo0MzAwMDc2MjgzOCwiUE9TSVRJT05TX0FORF9PUkRFUlNfT05fQ0hBUlQiOjQzMDAwNzYzMzYyLCJFWEVDVVRJT05TX01BUktTX09OX0NIQVJUIjo0MzAwMDc2MzM3MSwiUFJJQ0VfQUxFUlRTIjo0MzAwMDc2MzMxMywiVEVDSE5JQ0FMX0FMRVJUUyI6NDMwMDA3NjMzMTUsIkhJU1RPUklDQUxfREFUQSI6NDMwMDA2OTE4ODksIlBJTkVfRURJVE9SIjo0MzAwMDc2MzMyMCwiU1RSQVRFR1lfUFVCTElTSElOR19SVUxFUyI6NDMwMDA3NjQ2ODEsIkFTU0VUU19ZT1VfQ0FOX0FOQUxZWkUiOjQzMDAwNzY0ODg5LCJDSEFOR0VfQUNDT1VOVF9DVVJSRU5DWSI6NDMwMDA0ODA5MDMsIlNFVF9MRVZFUkFHRSI6NDMwMDA3NDI2OTksIlNDQU5fU1RPQ0tTIjo0MzAwMDY2OTg3NywiTUFDUk9fTUFQUyI6NDMwMDA3NjQ5MjUsIk9QVElPTlNfQ0hBSU4iOjQzMDAwNzYwODM3LCJHUkVFS1MiOjQzMDAwNzA4MTM3LCJTRUNPTkRfQkFTRURfSU5URVJWQUxTIjo0MzAwMDc2MjA2OCwiUEFJRF9TUEFDRSI6NDMwMDA3NjU4NzcsIlBBSURfU1BBQ0VfQVVUSE9SX1JVTEVTIjo0MzAwMDc2NTg3OCwiQ1JFQVRPUl9QUk9HUkFNX1BBSURfU1BBQ0VTX1RFUk1TIjo0MzAwMDc3MjE3NywiRUFSTklOR19MT0xMSVBPUF9GSUVMRFMiOjQzMDAwNjI5NzkwLCJFVkVSWVRISU5HX1lPVV9XQU5UX1RPX0tOT1ciOjQzMDAwNTgxODE3LCJNVUxUSVBMRV9MRVZFTFMiOjQzMDAwNzcyMzM0LCJIRUFUTUFQUyI6NDMwMDA3NjY0NDYsIldIQVRfSUZfU0NFTkFSSU9TIjo0MzAwMDc2Mjk1MywiT1BUSU9OU19TVFJBVEVHWSI6NDMwMDA3MDgxMDMsIk9QVElPTlNfRVhQSVJBVElPTiI6NDMwMDA3MzU2MTMsIk5FV1NfQllfTUFSS0VUIjo0MzAwMDczMjU2MiwiTkVXU19CWV9QUk9WSURFUiI6NDMwMDA3MzI1NjUsIk5FV1NfQllfQ09SUE9SQVRJT04iOjQzMDAwNzMyNTYzLCJDSEFSVFNfT1JERVJfVFJBQ0tJTkciOjQzMDAwNzY2MzM0LCJGVU5EQU1FTlRBTF9HUkFQSFMiOjQzMDAwNzYzMzc2LCJDT05URVhUX0hJTlRTIjo0MzAwMDU0Mjk2MywiSU5ESUNBVE9SU19WRVJTSU9OUyI6NDMwMDA3NDY3NTIsIlNUUkFURUdZX1RFU1RFUiI6NDMwMDA3NjQxMzgsIlRIRV9MRUFQIjo0MzAwMDc3MTU5NCwiUE9SVEZPTElPUyI6NDMwMDA3NjA5MzcsIldBVENITElTVF9TQ1JFRU5FUl9TRUFSQ0giOjQzMDAwNDczOTMwLCJIT1RMSVNUUyI6NDMwMDA3NjIwMjksIkRFUFRIX09GX01BUktFVCI6NDMwMDA1MTY0NTksIkxBU1RfT1BFTl9DSEFSVF9NT0JJTEUiOjQzMDAwNzU1NDc5LCJJT1NfUFVTSEVTIjo0MzAwMDQ3NDU5MCwiSU9TX0VESVRfV0lER0VUUyI6NDMwMDA3NTQ1MzYsIk1VTFRJQVBQX1dJTkRPV1MiOjQzMDAwNjExNTQzLCJTWU1CT0xfU1lOQ0lORyI6NDMwMDA2NzM4OTMsIkRFU0tUT1BfQVBQIjo0MzAwMDY3MTYxOCwiQ1VTVE9NRVJfU1VQUE9SVCI6NDMwMDA2NDgyNDgsIlJFTktPX0NIQVJUX0RJU1BMQVlfSVNTVUVTIjo0MzAwMDQ3NDMwNSwiQUNDRVNTX0FDUk9TU19ERVZJQ0VTIjo0MzAwMDc3NzcxOCwiV0FUQ0hMSVNUX0FTX0ZJTFRFUiI6NDMwMDA3MjQ1NDksIkRBVEFfRVhQT1JUIjo0MzAwMDQ3NDQzMiwiU0NSRUVORVJfVElNRUZSQU1FUyI6NDMwMDA3MjM2MTYsIlNIQVJFX1BPUlRGT0xJTyI6NDMwMDA3ODc1ODd9JykKfSwzODk4NDQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKG8pe3JldHVybiB0KCk/MDpjKCk/NDU6TWF0aC5taW4oTWF0aC5tYXgobyw0NSksNDUwKX1lLmQocix7Z2V0V2lkZ2V0QmFyUGFkZGluZzooKT0+bH0pO2NvbnN0IHQ9KCk9PiF3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogNzY4cHgpIikubWF0Y2hlcyxjPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEyODBweCkiKS5tYXRjaGVzfSw1NTcwNjUobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIG5hdmlnYXRvci5hbmRyb2lkQ2xpcGJvYXJkPz9uYXZpZ2F0b3IuY2xpcGJvYXJkfWZ1bmN0aW9uIHQobyl7cmV0dXJuIGMobyxudWxsKX1mdW5jdGlvbiBjKG8scil7Y29uc3QgZT1vLmZpbGVzJiZvLmZpbGVzLmxlbmd0aD4wO2lmKCFlJiZyJiZyLmV2ZW50UGhhc2U+MClyZXR1cm4gYShyLG8pLFByb21pc2UucmVzb2x2ZSgpO2lmKCFlKXtsZXQgcj0hMTtjb25zdCBlPWU9PntlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGEoZSxvKSxyPSEwfTt0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29weSIsZSwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX1maW5hbGx5e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvcHkiLGUsITApfWlmKHIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBhc3luYyBmdW5jdGlvbihvKXtjb25zdCByPWwoKTtpZighcnx8IXIud3JpdGV8fCF3aW5kb3cuQ2xpcGJvYXJkSXRlbSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJDbGlwYm9hcmRBcGkgaXMgbm90IHN1cHBvcnRlZCIsIk5vdFN1cHBvcnRlZEVycm9yIik7Y29uc3QgZT17fTtmb3IoY29uc3QgciBvZiBvLmZpbGVzfHxbXSllW3IudHlwZV09cjtvLnRleHQmJihlWyJ0ZXh0L3BsYWluIl09by50ZXh0KTtvLmh0bWwmJihlWyJ0ZXh0L2h0bWwiXT1vLmh0bWwpO3JldHVybiByLndyaXRlKFtuZXcgd2luZG93LkNsaXBib2FyZEl0ZW0oZSldKX0obyl9ZnVuY3Rpb24gYShvLHIpe28ucHJldmVudERlZmF1bHQoKTtjb25zdCBlPW8uY2xpcGJvYXJkRGF0YTtyLnRleHQmJmUuc2V0RGF0YSgidGV4dC9wbGFpbiIsci50ZXh0KSxyLmh0bWwmJmUuc2V0RGF0YSgidGV4dC9odG1sIixyLmh0bWwpfWFzeW5jIGZ1bmN0aW9uIG4obyxyKXtjb25zdCBlPWwoKTtpZigidGV4dC9wbGFpbiI9PT1yJiYhZS53cml0ZSl7Y29uc3Qgcj1hd2FpdCBvO3JldHVybiBlLndyaXRlVGV4dChhd2FpdCByLnRleHQoKSl9aWYoIWV8fCFlLndyaXRlfHwhd2luZG93LkNsaXBib2FyZEl0ZW0pdGhyb3cgbmV3IERPTUV4Y2VwdGlvbigiQ2xpcGJvYXJkQXBpIGlzIG5vdCBzdXBwb3J0ZWQiLCJOb3RTdXBwb3J0ZWRFcnJvciIpO2xldCB0PW51bGw7dHJ5e3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06b30pfWNhdGNoKGUpe3Q9bmV3IHdpbmRvdy5DbGlwYm9hcmRJdGVtKHtbcl06YXdhaXQgb30pfWlmKHQpcmV0dXJuIGUud3JpdGUoW3RdKTt0aHJvdyBuZXcgRXJyb3IoIkNsaXBib2FyZEFwaSBpcyBub3Qgc3VwcG9ydGVkIil9ZS5kKHIse2NvcHlUb0NsaXBib2FyZDooKT0+dCxnZXRDbGlwYm9hcmQ6KCk9Pmwsd3JpdGVJbXBsOigpPT5jLHdyaXRlUHJvbWlzZVVzaW5nQXBpOigpPT5ufSl9LDcyNzA2NihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthZHdvcmRzQW5hbHl0aWNzRW5hYmxlZDooKT0+YSxjcmVhdGVJbWFnZTooKT0+dCxtYXJrZXRpbmdBbmFseXRpY3NFbmFibGVkOigpPT5jfSk7dmFyIGw9ZSg1NjkzOTgpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gci5zcmM9byxyfWZ1bmN0aW9uIGMoKXtyZXR1cm4oMCxsLmlzRmVhdHVyZUVuYWJsZWQpKCJtYXJrZXRpbmctYW5hbHl0aWNzIil9ZnVuY3Rpb24gYSgpe3JldHVybigwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImFkd29yZHMtYW5hbHl0aWNzIil9fSwxNTc5MTcobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7Q21FdmVudDooKT0+bCx0cmFja0NtRXZlbnQ6KCk9Pml9KSxmdW5jdGlvbihvKXtvLlBhZ2VWaWV3PSJwYWdlVmlldyIsby5BYm91dFZpc2l0PSJhYm91dFZpc2l0IixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0icmVnaXN0cmF0aW9uQ29tcGxldGVkIixvLlRyaWFsU2lnblVwPSJ0cmlhbFNpZ25VcCIsby5QYWlkUGxhbkFjcXVpcmVkPSJwYWlkUGxhbkFjcXVpcmVkIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2Nik7Y29uc3QgYz17W2wuUGFnZVZpZXddOnt0eXBlOiJ3Y291bnQiLGNhdDoidmlzaXQifSxbbC5BYm91dFZpc2l0XTp7dHlwZToid2NvdW50IixjYXQ6InRyYWRpMDAifSxbbC5SZWdpc3RyYXRpb25Db21wbGV0ZWRdOnt0eXBlOiJ3Y291bnQiLGNhdDoidHJhZGkwMDAifSxbbC5UcmlhbFNpZ25VcF06e3R5cGU6Indjb3VudCIsY2F0OiJ0cmFkaTAwMSJ9LFtsLlBhaWRQbGFuQWNxdWlyZWRdOnt0eXBlOiJ3c2FsZXMiLGNhdDoidHJhZGkwIn19O2Z1bmN0aW9uIGEoKXtyZXR1cm4gZnVuY3Rpb24obz0iX3NwXyIpe2NvbnN0IHI9bmV3IFJlZ0V4cChvKyJpZFxcLlthLWYwLTldKz0oW147XSspOz8iKSxlPWRvY3VtZW50LmNvb2tpZS5tYXRjaChyKTtyZXR1cm4gZSYmZVsxXT9lWzFdLnNwbGl0KCIuIilbMF06IiJ9KCl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBvJiZudWxsIT1yLnRyYW5zYWN0aW9uSWQ/ci50cmFuc2FjdGlvbklkOmAke0RhdGUubm93KCl9JHtNYXRoLmZsb29yKDFlOSpNYXRoLnJhbmRvbSgpKX1gfWZ1bmN0aW9uIGkobyxyPXt9KXsoMCx0LmNyZWF0ZUltYWdlKShmdW5jdGlvbihvLHI9e30pe2NvbnN0e3R5cGU6ZSxjYXQ6bH09Y1tvXSx0PSJ3c2FsZXMiPT09ZSxpPXQ/ZnVuY3Rpb24obyl7bGV0IHI9InF0eT0xOyI7cmV0dXJuIG51bGwhPW8udmFsdWUmJihyKz1gY29zdD0ke28udmFsdWV9O2ApLHJ9KHIpOiIiCjtyZXR1cm5gaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz0xMzkxOTM5OTt0eXBlPSR7ZX07Y2F0PSR7bH07JHtpfSR7W2B1Mjc9JHthKCl9YCxgdTI4PSR7d2luZG93LnVzZXIuaWR9YCwiZGNfbGF0PSIsImRjX3JkaWQ9IiwidGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9IiwidGZ1YT0iLCJucGE9Il0uam9pbigiOyIpfTtvcmQ9JHtuKHQscil9P2B9KG8scikpfX0sMTQxMzEobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7R1RhZ0V2ZW50OigpPT5sLHRyYWNrR1RhZ0Fkc0V2ZW50OigpPT55fSksZnVuY3Rpb24obyl7by5QYWdlVmlldz0ia3duUkNQNkF3cXNCRU9UdnZ1RUQiLG8uVHJpYWxTaWduVXA9IjZfZ0NDT3llanNBQ0VLM3NxNmdCIixvLlJlZ2lzdHJhdGlvbkNvbXBsZXRlZD0iSnpZaENJT3I1NzhDRUszc3E2Z0IiLG8uUGFpZFBsYW5BY3F1aXJlZD0iY2E4aUNOckc1NzhDRUszc3E2Z0IifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNjgwODQyKSxhPWUoMTE3MzEzKSxuPWUoMzE4OTc0KSxpPWUoNjMxNjM0KSxkPWUoNzI3MDY2KSxzPWUoNDQ5NTA4KTtsZXQgZz0hMSx1PSExO2Z1bmN0aW9uIHAoKXtyZXR1cm4oMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fG4uQ2hlY2tNb2JpbGUuaU9TKCl8fCgwLG4uaXNTeW1waG9ueUVtYmVkKSgpfHwoMCxuLmlzRGVza3RvcEFwcCkoKX1mdW5jdGlvbiBDKG8pe3JldHVybiEoIW98fHAoKSkmJigoMCxzLmVuc3VyZUd0YWdCb290c3RyYXApKG8pLHV8fCh3aW5kb3cuZ3RhZygiY29uc2VudCIsImRlZmF1bHQiLHthZF9zdG9yYWdlOigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BZHZlcnRpc2luZyk/ImdyYW50ZWQiOiJkZW5pZWQifSksdC5zdWJzY3JpYmUoYy5jb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50LCgobyxyKT0+e289PT1jLkNvb2tpZVNldHRpbmdzLkFkdmVydGlzaW5nJiZ3aW5kb3cuZ3RhZygiY29uc2VudCIsInVwZGF0ZSIse2FkX3N0b3JhZ2U6cj8iZ3JhbnRlZCI6ImRlbmllZCJ9KX0pLG51bGwpLHU9ITApLCEwKX1mdW5jdGlvbiB5KG8scj17fSl7aWYoZnVuY3Rpb24oKXtpZihnfHwhKDAsZC5hZHdvcmRzQW5hbHl0aWNzRW5hYmxlZCkoKXx8cCgpKXJldHVybjsoMCxpLnVwZGF0ZUluaXREYXRhKSgpO2NvbnN0IG89KDAsaS5nZXRJbml0RGF0YSkoKTtvLmdhZHdJZCYmQyhvLmdhZHdJZCkmJihnPSEwLHdpbmRvdy5ndGFnKCJjb25maWciLG8uZ2Fkd0lkKSl9KCksIWcpcmV0dXJuO2NvbnN0IGU9KDAsaS5nZXRJbml0RGF0YSkoKS5nYWR3SWQ7d2luZG93Lmd0YWcoImV2ZW50IiwiY29udmVyc2lvbiIse3NlbmRfdG86YCR7ZX0vJHtvfWAsdXNlcl9pZDp3aW5kb3cudXNlci5pZCwuLi5yfSl9fSw0NDk1MDgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZW5zdXJlR3RhZ0Jvb3RzdHJhcDooKT0+YX0pO3ZhciBsPWUoMTk4NTgxKTtsZXQgdD0hMSxjPSExO2Z1bmN0aW9uIGEobyl7byYmKHR8fCgoMCxsLmFwcGVuZFNjcmlwdCkoKG89PmBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPSR7b31gKShvKSksdD0hMCksQXJyYXkuaXNBcnJheSh3aW5kb3cuZGF0YUxheWVyKXx8KHdpbmRvdy5kYXRhTGF5ZXI9W10pLGN8fCh3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe3dpbmRvdy5kYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpfSx3aW5kb3cuZ3RhZygianMiLG5ldyBEYXRlKSxjPSEwKSl9fSw1NDkxOTkobyxyLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgbDtlLmQocix7VHdpdHRlckV2ZW50OigpPT5sLHRyYWNrVHdpdHRlckV2ZW50OigpPT5hfSksZnVuY3Rpb24obyl7by5TaXRlVmlzaXQ9Im8yZWcyIixvLlRyaWFsU2lnblVwPSJvMXdqbyIsby5SZWdpc3RyYXRpb25Db21wbGV0ZWQ9Im8xd2pxIixvLlBhaWRQbGFuQWNxdWlyZWQ9Im8xd2pyIn0obHx8KGw9e30pKTt2YXIgdD1lKDcyNzA2NiksYz1lKDY4MDg0Mik7ZnVuY3Rpb24gYShvKXsoMCx0Lm1hcmtldGluZ0FuYWx5dGljc0VuYWJsZWQpKCkmJigwLGMuZ2V0Q29va2llU2V0dGluZykoYy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MpJiYobz0+W2BodHRwczovL2FuYWx5dGljcy50d2l0dGVyLmNvbS9pL2Fkc2N0P3R4bl9pZD0ke299JnBfaWQ9VHdpdHRlciZ0d19zYWxlX2Ftb3VudD0wJnR3X29yZGVyX3F1YW50aXR5PTBgLGBodHRwczovL3QuY28vaS9hZHNjdD90eG5faWQ9JHtvfSZwX2lkPVR3aXR0ZXImdHdfc2FsZV9hbW91bnQ9MCZ0d19vcmRlcl9xdWFudGl0eT0wImBdKShvKS5tYXAodC5jcmVhdGVJbWFnZSl9fSwxOTg1ODEobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7YXBwZW5kU2NyaXB0OigpPT50fSk7dmFyIGw9ZSg1ODQ2NzcpO2Z1bmN0aW9uIHQobyl7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLmFzeW5jPSEwLHIuc3JjPW87Y29uc3QgZT0oMCxsLmdldENzcE5vbmNlKSgpO3JldHVybiBlJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocikscn19LDY4MDg0MihvLHIsZSl7InVzZSBzdHJpY3QiO3ZhciBsO2UuZChyLHtDb29raWVTZXR0aW5nczooKT0+bCxiYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+cCxjaGVja0Jhbm5lclByaXZhY3lQcmVmZXJlbmNlS2V5OigpPT5mLGNvb2tpZVNldHRpbmdzQ2hhbmdlRXZlbnQ6KCk9PmQsZ2V0Q29va2llU2V0dGluZzooKT0+TixoaWRlQmFubmVyOigpPT5TLHJlamVjdEJhbm5lcjooKT0+dixzZXRDb29raWVTZXR0aW5nOigpPT5SfSksZnVuY3Rpb24obyl7by5BbmFseXRpY3M9ImFuYWx5dGljcyIsby5BZHZlcnRpc2luZz0iYWR2ZXJ0aXNpbmcifShsfHwobD17fSkpO3ZhciB0PWUoMTc5NzcxKSxjPWUoNzY4NzYwKSxhPWUoOTMyMzY1KSxuPWUoMTYwMjk2KSxpPWUoNTg3NDM2KTtjb25zdCBkPSJjb29raWVfc2V0dGluZ3NfY2hhbmdlZCIscz0oKDAsYy5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikpLGc9KDAsCm4uaXNMb2NhbCkoKT8iIjoiLiIrcy5zbGljZSgxLHMubGVuZ3RoKS5qb2luKCIuIiksdT0iY29va2llQmFubmVyIixwPSgwLG4uaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixDPSJhY2NlcHRlZCIseT0ibm90QXBwbGljYWJsZSIsYj0icmVqZWN0IixoPSJjb29raWVzU2V0dGluZ3MiLEU9ImxvY2FsQ29va2llc1NldHRpbmdzIixtPSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsQT17W2wuQW5hbHl0aWNzXTohMSxbbC5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIF8oKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHUpfWZ1bmN0aW9uIFQobyl7cmV0dXJuW0MseSxiXS5pbmNsdWRlcyhhLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obyk/PyIiKX1mdW5jdGlvbiBmKCl7cmV0dXJuIG89cCxbQyx5LGJdLmluY2x1ZGVzKGkuZ2V0KG8pPz8iIik7dmFyIG99ZnVuY3Rpb24gUygpe3coQyl9ZnVuY3Rpb24gdigpe3coYil9ZnVuY3Rpb24gdyhvKXtpLnNldChwLG8sMzY1MywiLyIsZyl9ZnVuY3Rpb24gUihvLHIpe0Fbb109cixpLnNldCgoMCxuLmlzUHJvZCkoKT9oOkUsSlNPTi5zdHJpbmdpZnkoQSksMzY1MywiLyIsZyksdC5lbWl0KGQsbyxyKX1mdW5jdGlvbiBOKG8pe3JldHVybiBBW29dfWZ1bmN0aW9uIEkoKXtyZXR1cm4gYS5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG0pfSFmdW5jdGlvbigpe2NvbnN0IG89aS5nZXQoKDAsbi5pc1Byb2QpKCk/aDpFKSxyPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShtKSxlPWEuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShoKTtpZihvKXtyJiZlJiYoSSgpLGEuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShoKSksVCh1KSYmXygpO3RyeXtjb25zdCByPUpTT04ucGFyc2Uobyk7QVtsLkFuYWx5dGljc109cj8uW2wuQW5hbHl0aWNzXXx8ITEsQVtsLkFkdmVydGlzaW5nXT1yPy5bbC5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihUKHUpJiYoUihsLkFuYWx5dGljcywhMCksUihsLkFkdmVydGlzaW5nLCEwKSxTKCksXygpKSxyJiZlKXtjb25zdCBvPUpTT04ucGFyc2UoZSk7dyhyKSxSKGwuQW5hbHl0aWNzLG8/LltsLkFuYWx5dGljc10pLFIobC5BZHZlcnRpc2luZyxvPy5bbC5BZHZlcnRpc2luZ10pLEkoKSxhLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaCl9fSgpfSw1ODQ2NzcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBsKCl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKG51bGwhPT1vKXJldHVybiBvLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8by5ub25jZX0oZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpKX1lLmQocix7Z2V0Q3NwTm9uY2U6KCk9Pmx9KX0sMTEyNTQyKG8scixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldENTU1Byb3BlcnR5OigpPT5uLGdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlOigpPT5pLGdldENvbnRlbnRXaWR0aDooKT0+YyxnZXRTY3JvbGxiYXJXaWR0aDooKT0+bCxtYXRjaE1lZGlhTWluTWF4OigpPT50LHNldFN0eWxlOigpPT5hfSk7Y29uc3QgbD0oKCk9PntsZXQgbztyZXR1cm4oKT0+e2lmKHZvaWQgMD09PW8pe2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1yLnN0eWxlO2UudmlzaWJpbGl0eT0iaGlkZGVuIixlLndpZHRoPSIxMDBweCIsZS5tc092ZXJmbG93U3R5bGU9InNjcm9sbGJhciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKTtjb25zdCBsPXIub2Zmc2V0V2lkdGg7ci5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIjtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUud2lkdGg9IjEwMCUiLHIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgYz10Lm9mZnNldFdpZHRoO3IucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQociksbz1sLWN9cmV0dXJuIG99fSkoKTtmdW5jdGlvbiB0KG8scil7cmV0dXJuIHI9PT0xLzA/d2luZG93Lm1hdGNoTWVkaWEoYChtaW4td2lkdGg6ICR7b31weClgKTp3aW5kb3cubWF0Y2hNZWRpYShgKG1pbi13aWR0aDogJHtvfXB4KSBhbmQgKG1heC13aWR0aDogJHtyfXB4KWApfWZ1bmN0aW9uIGMobyl7cmV0dXJuIGkobywid2lkdGgiKS1pKG8sInBhZGRpbmctbGVmdCIpLWkobywicGFkZGluZy1yaWdodCIpfWZ1bmN0aW9uIGEobyxyLGUpe251bGwhPT1vJiZvLnN0eWxlLnNldFByb3BlcnR5KHIsZSl9ZnVuY3Rpb24gbihvLHIpe3JldHVybiBnZXRDb21wdXRlZFN0eWxlKG8sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShyKX1mdW5jdGlvbiBpKG8scil7cmV0dXJuIHBhcnNlSW50KG4obyxyKSl9fSw4NzI1MTgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c2V0Rml4ZWRCb2R5U3RhdGU6KCk9Pm59KTt2YXIgbD1lKDExMjU0MiksdD1lKDM4OTg0NCk7bGV0IGM9MCxhPSExO2Z1bmN0aW9uIG4obyl7Y29uc3R7Ym9keTpyfT1kb2N1bWVudCxlPXIucXVlcnlTZWxlY3RvcigiLndpZGdldGJhci13cmFwIik7aWYobyYmMT09KytjKXtjb25zdCBvPSgwLGwuZ2V0Q1NTUHJvcGVydHkpKHIsIm92ZXJmbG93IiksdD0oMCxsLmdldENTU1Byb3BlcnR5TnVtZXJpY1ZhbHVlKShyLCJwYWRkaW5nLXJpZ2h0Iik7ImhpZGRlbiIhPT1vLnRvTG93ZXJDYXNlKCkmJnIuc2Nyb2xsSGVpZ2h0PnIub2Zmc2V0SGVpZ2h0JiYoKDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLGAkeygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgKSxyLnN0eWxlLnBhZGRpbmdSaWdodD1gJHt0KygwLGwuZ2V0U2Nyb2xsYmFyV2lkdGgpKCl9cHhgLGE9ITApLHIuY2xhc3NMaXN0LmFkZCgiaS1uby1zY3JvbGwiKX1lbHNlIGlmKCFvJiZjPjAmJjA9PS0tYyYmKHIuY2xhc3NMaXN0LnJlbW92ZSgiaS1uby1zY3JvbGwiKSxhKSl7KDAsbC5zZXRTdHlsZSkoZSwicmlnaHQiLCIwcHgiKTtsZXQgbz0wO289ZT8oMCx0LmdldFdpZGdldEJhclBhZGRpbmcpKCgwLGwuZ2V0Q29udGVudFdpZHRoKShlKSk6MCxyLnNjcm9sbEhlaWdodDw9ci5jbGllbnRIZWlnaHQmJihvLT0oMCxsLmdldFNjcm9sbGJhcldpZHRoKSgpKSwKci5zdHlsZS5wYWRkaW5nUmlnaHQ9KG88MD8wOm8pKyJweCIsYT0hMX19fSwxNTI3MTcobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmd9KTt2YXIgbD1lKDIyMTA2MSksdD1lKDM4NjkzMSksYz1lKDgyNzAxKSxhPWUoMzg0MDE3KSxuPWUoNTI0MDY5KTtjb25zdCBpPSgwLGwuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gZChvKXtyZXR1cm5gJHtvfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBzKG8pe2NvbnN0e3NvdXJjZTpyLGlzQXV0aGVudGljYXRlZDplLHByb1BsYW46bCxvZmZlcnM6YSxmaXJlTG9naW5DaGFuZ2U6bj0hMH09bztsIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1sLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGwpLCgwLHQudHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixkKHIpKSksZSE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9ZSxuJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsdC50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsZChyKSkpLGEmJmMuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwoYSl9YXN5bmMgZnVuY3Rpb24gZyhvKXt0cnl7cyh7c291cmNlOm8saXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsbi5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2gocil7IWZ1bmN0aW9uKG8scil7NDAzPT09ci5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHIudHlwZXx8IiIpP3Moe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmkubG9nRXJyb3Ioci5tZXNzYWdlKX0obyxyKX19YXN5bmMgZnVuY3Rpb24gdShvLHI9ITApe2NvbnN0IGU9bmV3IFVSTCgiL3ByaWNpbmcvIix3aW5kb3cubG9jYXRpb24ub3JpZ2luKSxsPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bC5oYXMoIl90ZXN0X2NvdW50cnkiKSYmZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJfdGVzdF9jb3VudHJ5IixsLmdldCgiX3Rlc3RfY291bnRyeSIpPz8iIiksZS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJjb21wb25lbnQtZGF0YS1vbmx5IiwiMSIpO2NvbnN0IHQ9YXdhaXQoMCxhLmZldGNoKShlLmhyZWYpLGM9YXdhaXQgdC5qc29uKCk7cmV0dXJuIHMoe3NvdXJjZTpvLGlzQXV0aGVudGljYXRlZDpjLmlzX2F1dGhlbnRpY2F0ZWQscHJvUGxhbjpjLnVzZXIucHJvX3BsYW4sZmlyZUxvZ2luQ2hhbmdlOnIsb2ZmZXJzOmMudXNlci5hdmFpbGFibGVfb2ZmZXJzfSksY319LDQzMjc4MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtERUZBVUxUX1RIRU1FOigpPT5sfSk7Y29uc3QgbD0ibGlnaHQifSwyNDQ2NjQobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7dGhlbWVzOigpPT5ufSk7dmFyIGw9ZSg4MTA0MSksdD1lKDE4NTI3MSkKO2NvbnN0IGM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktYmciOiJjb2xvci1ibGFjayIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItYmctcHJpbWFyeS1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1iZy1zZWNvbmRhcnkiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItYmctaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJnLXNjcm9sbC1idXR0b25zIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1sZWdhY3ktYmctd2lkZ2V0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10ZXh0LXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10ZXh0LXRlcnRpYXJ5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXRleHQtZGlzYWJsZWQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYWNjZW50LWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWFjdGl2ZS1ob3Zlci10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWFsZXJ0LXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItYm9yZGVyLXRhYmxlIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJyYW5kIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1idXR0b24taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC02MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1maWxsLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItZGlzYWJsZWQtaW5wdXQiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2UiOiJjb2xvci1jb2xkLWdyYXktNDUwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWlucHV0LWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS1ibHVlIjoiY29sb3ItdHYtYmx1ZS1hOTAwIiwiY29sb3ItaXRlbS1ob3Zlci1hY3RpdmUtYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1pdGVtLWhvdmVyLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1pdGVtLWFjdGl2ZS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saW5rLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1saW5rLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItbGlzdC1pdGVtIjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLW5ld3MtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBhbmUtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1zY3JlZW5lci1kZXNjcmlwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdCI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNzAwIiwiY29sb3Itc3VjY2Vzcy1ob3ZlciI6ImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIsImNvbG9yLXN1Y2Nlc3MtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTIwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtYTgwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS03MDAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3ItY29sZC1ncmF5LTg1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktNjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNzAwIiwiY29sb3ItdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci10di1idXR0b24tY2hlY2tlZCI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci10di1kaWFsb2ctY2FwdGlvbiI6ImNvbG9yLWNvbGQtZ3JheS01MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQ1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci13YXJuaW5nIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3Itd2hpdGUiLCJjb2xvci1saXN0LWl0ZW0tYWN0aXZlLWJnIjoiY29sb3ItdHYtYmx1ZS01MDAiLCJjb2xvci1saXN0LWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktODAwIiwiY29sb3ItbGlzdC1pdGVtLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC1iYWNrIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS01MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXIiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItcHJpY2UtYXhpcy1nZWFyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itc2Nyb2xsLWJnIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLXNjcm9sbC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itd2lkZ2V0LWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1zY3JvbGwtYnV0dG9ucy1hcnJvdyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtcHJpbWFyeSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyIjoiY29sb3ItcmlwZS1yZWQtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQiOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3ItcHJlLW1hcmtldCI6ImNvbG9yLXRhbi1vcmFuZ2UtNjAwIiwiY29sb3ItcG9zdC1tYXJrZXQiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5vdGFjY3VyYXRlLW1vZGUiOiJjb2xvci1iZXJyeS1waW5rLWEyMDAiLCJjb2xvci1kZWxheS1tb2RlIjoiY29sb3ItdGFuLW9yYW5nZS03MDAiLCJjb2xvci1kZWxheS1tb2RlLWJnIjoiY29sb3ItdGFuLW9yYW5nZS00MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQiOiJjb2xvci10di1ibHVlLWE5MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE4MDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLWE3MDAiLCJjb2xvci1zY3JlZW5lci1oZWFkZXItYmciOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLW92ZXJsYXkiOiJjb2xvci1jb2xkLWdyYXktOTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3Itd2hpdGUiLCJjb2xvci1ib29zdC1idXR0b24tYmctaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktNzUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS03NTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktNzAwIiwiY29sb3IteC10d2l0dGVyLWNvbnRlbnQiOiJjb2xvci13aGl0ZSIsImNvbG9yLWNhcmQtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTYwMCIsImNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItYmxhY2siLCJjb2xvci1zdHJva2Utc3BlY2lhbC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXNlbGVjdGlvbi1iZyI6ImNvbG9yLXR2LWJsdWUtYTcwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS00NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAifScpCjt2YXIgYT1lKDUwNTU2KTtjb25zdCBuPXtbbC5TdGRUaGVtZS5MaWdodF06e25hbWU6bC5TdGRUaGVtZS5MaWdodCxsYWJlbDooKT0+dC50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0sZSgyNDcxNjcpKSxvcmRlcjoyLGdldFRoZW1lZENvbG9yOm89PigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKG8pfSxbbC5TdGRUaGVtZS5EYXJrXTp7bmFtZTpsLlN0ZFRoZW1lLkRhcmssbGFiZWw6KCk9PnQudChudWxsLHtjb250ZXh0OiJjb2xvclRoZW1lTmFtZSJ9LGUoOTQ1MzYyKSksb3JkZXI6MSxnZXRUaGVtZWRDb2xvcjpvPT57Y29uc3Qgcj1jW29dfHxvO3JldHVybigwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKHIpfX19fSw0NTM5NjgobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7aXNTdGRUaGVtZU5hbWU6KCk9PnR9KTt2YXIgbD1lKDgxMDQxKTtmdW5jdGlvbiB0KG8pe3JldHVybiBvPT09bC5TdGRUaGVtZS5MaWdodHx8bz09PWwuU3RkVGhlbWUuRGFya319LDUwNzYwNChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtjb2xvcnM6KCk9Pm59KTt2YXIgbD1lKDUwNTU2KSx0PWUoODczNTczKTtjb25zdCBjPXtjb2xvckJsYWNrOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ibGFjayIpLGNvbG9yV2hpdGU6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXdoaXRlIiksY29sb3JUdkJsdWU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MCIpLGNvbG9yVHZCbHVlMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTIwMCIpLGNvbG9yVHZCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTQwMCIpLGNvbG9yVHZCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGNvbG9yVHZCbHVlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTYwMCIpLGNvbG9yVHZCbHVlODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTgwMCIpLGNvbG9yVHZCbHVlQTgwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS1hODAwIiksY29sb3JEZWVwQmx1ZTIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZGVlcC1ibHVlLTIwMCIpLGNvbG9yRGVlcEJsdWUzMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS0zMDAiKSxjb2xvckRlZXBCbHVlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtNTAwIiksY29sb3JEZWVwQmx1ZUEyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksY29sb3JEZWVwQmx1ZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNDAwIiksY29sb3JEZWVwQmx1ZUE3MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hNzAwIiksY29sb3JTa3lCbHVlNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1za3ktYmx1ZS00MDAiKSxjb2xvclNreUJsdWU1MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLTUwMCIpLGNvbG9yU2t5Qmx1ZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtNzAwIiksY29sb3JTa3lCbHVlQTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itc2t5LWJsdWUtYTQwMCIpLGNvbG9yRGVmYXVsdFJlZDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3IteW91dHViZSIpLGNvbG9yUmlwZVJlZDIwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtMjAwIiksY29sb3JSaXBlUmVkMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC0zMDAiKSxjb2xvclJpcGVSZWQ0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTQwMCIpLGNvbG9yUmlwZVJlZDUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItcmlwZS1yZWQtNTAwIiksY29sb3JSaXBlUmVkNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxjb2xvclJpcGVSZWQ4MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTgwMCIpLGNvbG9yUmlwZVJlZEE5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLWE5MDAiKSxjb2xvclJpcGVSZWRBNzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC1hNzAwIiksY29sb3JHcmFwZXNQdXJwbGVBMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLWEyMDAiKSxjb2xvckdyYXBlc1B1cnBsZUE0MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGNvbG9yR3JhcGVzUHVycGxlNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTUwMCIpLGNvbG9yR3JhcGVzUHVycGxlNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1ncmFwZXMtcHVycGxlLTYwMCIpLGNvbG9yQmVycnlQaW5rNDAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTQwMCIpLGNvbG9yQmVycnlQaW5rNTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1iZXJyeS1waW5rLTUwMCIpLGNvbG9yTWludHlHcmVlbjEwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tMTAwIiksY29sb3JNaW50eUdyZWVuMjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi0yMDAiKSxjb2xvck1pbnR5R3JlZW40MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTQwMCIpLGNvbG9yTWludHlHcmVlbjUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIiksY29sb3JNaW50eUdyZWVuNjAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi02MDAiKSwKY29sb3JNaW50eUdyZWVuODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi04MDAiKSxjb2xvck1pbnR5R3JlZW5BOTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1taW50eS1ncmVlbi1hOTAwIiksY29sb3JJZ3VhbmFHcmVlbjMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLTMwMCIpLGNvbG9ySWd1YW5hR3JlZW41MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWlndWFuYS1ncmVlbi01MDAiKSxjb2xvcklndWFuYUdyZWVuQTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItaWd1YW5hLWdyZWVuLWE3MDAiKSxjb2xvclRhbk9yYW5nZTMwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS0zMDAiKSxjb2xvclRhbk9yYW5nZTUwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS01MDAiKSxjb2xvclRhbk9yYW5nZTYwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxjb2xvclRhbk9yYW5nZTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS03MDAiKSxjb2xvckNvbGRHcmF5MTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMTAwIiksY29sb3JDb2xkR3JheTE1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTE1MCIpLGNvbG9yQ29sZEdyYXkyMDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0yMDAiKSxjb2xvckNvbGRHcmF5MzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksY29sb3JDb2xkR3JheTQwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTQwMCIpLGNvbG9yQ29sZEdyYXk0NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS00NTAiKSxjb2xvckNvbGRHcmF5NTAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNTAwIiksY29sb3JDb2xkR3JheTU1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpLGNvbG9yQ29sZEdyYXk2MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS02MDAiKSxjb2xvckNvbGRHcmF5NjUwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktNjUwIiksY29sb3JDb2xkR3JheTcwMDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTcwMCIpLGNvbG9yQ29sZEdyYXk3NTA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03NTAiKSxjb2xvckNvbGRHcmF5ODAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktODAwIiksY29sb3JDb2xkR3JheTg1MDooMCxsLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTg1MCIpLGNvbG9yQ29sZEdyYXk5MDA6KDAsbC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxjb2xvckZvcmVzdEdyZWVuMzAwOigwLGwuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIil9LGE9e2NvbG9yV2hpdGVBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcldoaXRlLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhNDA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDYwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMzA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcwKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjg6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDcyKSxjb2xvclR2Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDc1KSxjb2xvclR2Qmx1ZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVHZCbHVlNTAwLDgwKSxjb2xvckRlZXBCbHVlNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JEZWVwQmx1ZTUwMCw4MCksY29sb3JTa3lCbHVlNDAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU0MDAsOTUpLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTQwMCw1MCksY29sb3JTa3lCbHVlNDAwQWxwaGE3NTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNDAwLDI1KSxjb2xvclNreUJsdWU1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclNreUJsdWU1MDAsODApLGNvbG9yU2t5Qmx1ZTUwMEFscGhhMjU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yU2t5Qmx1ZTUwMCw3NSksY29sb3JTa3lCbHVlNzAwQWxwaGE3MDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JTa3lCbHVlNzAwLDMwKSxjb2xvclJpcGVSZWQ0MDBBbHBoYTU6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDQwMCw5NSksY29sb3JSaXBlUmVkNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsOTUpLGNvbG9yUmlwZVJlZDUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw4MCksY29sb3JSaXBlUmVkNTAwQWxwaGEyODooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JSaXBlUmVkNTAwLDcyKSxjb2xvclJpcGVSZWQ1MDBBbHBoYTMwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvclJpcGVSZWQ1MDAsNzApLGNvbG9yUmlwZVJlZDUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yUmlwZVJlZDUwMCw1MCksY29sb3JHcmFwZXNQdXJwbGVBMjAwQWxwaGExNTooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGVBMjAwLDg1KSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JHcmFwZXNQdXJwbGU1MDAsMTAwKSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhMjA6KDAsCnQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCw4MCksY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTcwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckdyYXBlc1B1cnBsZTUwMCwzMCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTUwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCw1MCksY29sb3JCZXJyeVBpbms0MDBBbHBoYTc1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazQwMCwyNSksY29sb3JCZXJyeVBpbms1MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw4MCksY29sb3JCZXJyeVBpbms1MDBBbHBoYTI1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckJlcnJ5UGluazUwMCw3NSksY29sb3JNaW50eUdyZWVuNTAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JNaW50eUdyZWVuNTAwLDgwKSxjb2xvck1pbnR5R3JlZW41MDBBbHBoYTI4OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsNzIpLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yTWludHlHcmVlbjUwMCw1MCksY29sb3JNaW50eUdyZWVuNTAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvck1pbnR5R3JlZW41MDAsOTUpLGNvbG9ySWd1YW5hR3JlZW41MDBBbHBoYTIwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvcklndWFuYUdyZWVuNTAwLDgwKSxjb2xvclRhbk9yYW5nZTUwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yVGFuT3JhbmdlNTAwLDgwKSxjb2xvckZvcmVzdEdyZWVuMzAwQWxwaGE1OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckZvcmVzdEdyZWVuMzAwLDk1KSxjb2xvckNvbGRHcmF5MTAwQWxwaGEwOigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5MTAwLDEwMCksY29sb3JDb2xkR3JheTEwMEFscGhhNjooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTEwMCw5NCksY29sb3JDb2xkR3JheTEwMEFscGhhMjA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXkxMDAsODApLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTA6KDAsdC5nZW5lcmF0ZUNvbG9yKShjLmNvbG9yQ29sZEdyYXk4MDAsMTAwKSxjb2xvckNvbGRHcmF5ODAwQWxwaGE2OigwLHQuZ2VuZXJhdGVDb2xvcikoYy5jb2xvckNvbGRHcmF5ODAwLDk0KSxjb2xvckNvbGRHcmF5ODAwQWxwaGEyMDooMCx0LmdlbmVyYXRlQ29sb3IpKGMuY29sb3JDb2xkR3JheTgwMCw4MCl9LG49ey4uLmMsLi4uYX19LDk4NDQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkYXJrOigpPT5jb30pO3ZhciBsPWUoMjI3ODI1KSx0PWUoNTA3NjA0KTtjb25zdHtjb2xvcldoaXRlOmMsY29sb3JDb2xkR3JheTEwMEFscGhhMDphLGNvbG9yQ29sZEdyYXkxMDBBbHBoYTIwOm4sY29sb3JDb2xkR3JheTIwMDppLGNvbG9yQ29sZEdyYXkzMDA6ZCxjb2xvckNvbGRHcmF5NDAwOnMsY29sb3JDb2xkR3JheTQ1MDpnLGNvbG9yQ29sZEdyYXk2MDA6dSxjb2xvckNvbGRHcmF5ODAwOnAsY29sb3JDb2xkR3JheTg1MDpDLGNvbG9yQ29sZEdyYXk5MDA6eSxjb2xvckRlZXBCbHVlQTIwMDpiLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpoLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6RSxjb2xvckdyYXBlc1B1cnBsZTYwMDptLGNvbG9yTWludHlHcmVlbjQwMDpBLGNvbG9yTWludHlHcmVlbjUwMDpfLGNvbG9yTWludHlHcmVlbjYwMDpULGNvbG9yTWludHlHcmVlbjgwMDpmLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpTLGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6dixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOncsY29sb3JNaW50eUdyZWVuQTkwMDpSLGNvbG9yUmlwZVJlZDQwMDpOLGNvbG9yUmlwZVJlZDUwMDpJLGNvbG9yUmlwZVJlZDYwMDpPLGNvbG9yUmlwZVJlZDgwMDprLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpCLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6UCxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkQsY29sb3JSaXBlUmVkQTkwMDpMLGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDp4LGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTpILGNvbG9yQmVycnlQaW5rNTAwOlUsY29sb3JJZ3VhbmFHcmVlbkE3MDA6Ryxjb2xvclNreUJsdWVBNDAwOk0sY29sb3JTa3lCbHVlNDAwQWxwaGE1OlcsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpWLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6WSxjb2xvclNreUJsdWU1MDA6aixjb2xvclNreUJsdWU1MDBBbHBoYTI1OkssY29sb3JEZWVwQmx1ZUE0MDA6JCxjb2xvclR2Qmx1ZTQwMDpYLGNvbG9yVHZCbHVlNTAwOnEsY29sb3JUdkJsdWU1MDBBbHBoYTI4OkosY29sb3JUdkJsdWU2MDA6eixjb2xvclR2Qmx1ZTgwMDpRLGNvbG9yVHZCbHVlQTgwMDpaLGNvbG9yVGFuT3JhbmdlNTAwOm9vLGNvbG9yVGFuT3JhbmdlNjAwOnJvfT10LmNvbG9ycyxlbz17Y29sb3I6cSx0cG86e2NvbG9yczp7Z3JhZGllbnRDb2xvcnM6W1UsRyxqLCRdfX0sdm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2YWg6e2NvbG9yOml9LHZhbDp7Y29sb3I6aX0scG9jOntjb2xvcjppfSx2b2x1bWVDb2xvcjpWLHZhbHVlQXJlYUNvbG9yOll9LGxldmVsczp7cG9jQ29sb3I6aSxwb29ySGlnaENvbG9yOmIscG9vckxvd0NvbG9yOmIsc2luZ2xlcHJpbnRzQ29sb3I6RSx2YWhDb2xvcjppLHZhbENvbG9yOml9fSxsbz17dXBDb2xvcjpfLGRvd25Db2xvcjpJLGJvcmRlckNvbG9yOiIjMzc4NjU4Iixib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksd2lja0NvbG9yOiIjNzM3Mzc1Iix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SSxpbWJhbGFuY2VIaWdobGlnaHQ6e2J1eUNvbG9yOl8sc2VsbENvbG9yOkl9LHVuZmluaXNoZWRBdWN0aW9uOntoaWdoQ29sb3I6aCxsb3dDb2xvcjpNfSxiZ0NvbG9yczp7YWRqQnV5QmdDb2xvcnM6W1IsZixULEFdLGFkalNlbGxCZ0NvbG9yczpbTCxrLE8sTl0sYWRqVG90YWxCZ0NvbG9yczpbWixRLHosWF0sYnV5QmdDb2xvcjpmLApzZWxsQmdDb2xvcjprLHRvdGFsQmdDb2xvcjpRLHBvY0NvbG9yOml9fSx0bz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6aSx2b2x1bWVDb2xvclVwOlYsdm9sdW1lQ29sb3JEb3duOngsdmFsdWVBcmVhQ29sb3JVcDpZLHZhbHVlQXJlYUNvbG9yRG93bjpILGhpc3RvZ3JhbUJveENvbG9yOld9LHZhaDp7Y29sb3I6aX0sdmFsOntjb2xvcjppfSxwb2M6e2NvbG9yOml9LGRldmVsb3BpbmdQb2M6e2NvbG9yOml9LGRldmVsb3BpbmdWQTp7Y29sb3I6an19LGNvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpkLGxpbmVDb2xvcjphLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjpufSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOm59LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOnN9LGJhY2tncm91bmQ6eSxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOkMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6eSxiYWNrZ3JvdW5kVHlwZToic29saWQiLHNlcGFyYXRvckNvbG9yOnB9fSxzZXNzaW9uczp7c2Vzc2lvbkhpZ2hsaWdodDp7YmFja2dyb3VuZHM6e291dE9mU2Vzc2lvbjp7Y29sb3I6cSx0cmFuc3BhcmVuY3k6OTJ9LHByZU1hcmtldDp7Y29sb3I6b28sdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOmgsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpxLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjp1LHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpxLGFza0xpbmVDb2xvcjpOfSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpybyxwb3N0TWFya2V0Q29sb3I6cSxvdmVybmlnaHRNYXJrZXRDb2xvcjptfSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6Xyx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJLGRvd25Db2xvcjpJLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SX0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjpfLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6Xyx3aWNrRG93bkNvbG9yOkksZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6aixsb3dMaW5lQ29sb3I6VSxjbG9zZUxpbmVDb2xvcjpxLGhpZ2hDbG9zZUZpbGxDb2xvcjpLLGNsb3NlTG93RmlsbENvbG9yOkZ9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6Xyxib3JkZXJEb3duQ29sb3I6SSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOl8sd2lja0Rvd25Db2xvcjpJfSxiYXJTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpffSxwbmZTdHlsZTp7ZG93bkNvbG9yOkksdXBDb2xvcjpfLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpnLHRvcEZpbGxDb2xvcjE6dix0b3BGaWxsQ29sb3IyOlMsYm90dG9tRmlsbENvbG9yMTpCLGJvdHRvbUZpbGxDb2xvcjI6UCx0b3BMaW5lQ29sb3I6Xyxib3R0b21MaW5lQ29sb3I6SX0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpKLGNvbG9yMjpxLGxpbmVjb2xvcjpxfSxoaWxvU3R5bGU6e2NvbG9yOnEsYm9yZGVyQ29sb3I6cSxsYWJlbENvbG9yOnF9LGNvbHVtblN0eWxlOnt1cENvbG9yOncsZG93bkNvbG9yOkR9LHJlbmtvU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSxib3JkZXJVcENvbG9yOl8sYm9yZGVyRG93bkNvbG9yOkksdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIix3aWNrVXBDb2xvcjpfLHdpY2tEb3duQ29sb3I6SX0sbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTpsLkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpxLGdyYWRpZW50U3RhcnRDb2xvcjpoLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6bC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6cSxncmFkaWVudFN0YXJ0Q29sb3I6aCxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6SSx1cENvbG9yOl8sdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YifSxwYlN0eWxlOnt1cENvbG9yOl8sZG93bkNvbG9yOkksYm9yZGVyVXBDb2xvcjpfLGJvcmRlckRvd25Db2xvcjpJLHVwQ29sb3JQcm9qZWN0aW9uOiIjMzM2ODU0Iixkb3duQ29sb3JQcm9qZWN0aW9uOiIjN2YzMjNmIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiIzMzNjg1NCIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiIzdmMzIzZiJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6Xyxkb3duQ29sb3I6SSwKdXBDb2xvclByb2plY3Rpb246IiMzMzY4NTQiLGRvd25Db2xvclByb2plY3Rpb246IiM3ZjMyM2YiLGNhbmRsZXNVcENvbG9yOl8sY2FuZGxlc0Rvd25Db2xvcjpJLGNhbmRsZXNCb3JkZXJVcENvbG9yOl8sY2FuZGxlc0JvcmRlckRvd25Db2xvcjpJLGNhbmRsZXNXaWNrVXBDb2xvcjpfLGNhbmRsZXNXaWNrRG93bkNvbG9yOkl9LHRwb1N0eWxlOmVvLHZvbEZvb3RwcmludFN0eWxlOmxvLHN2cFN0eWxlOnRvLGhsY0JhcnNTdHlsZTp7Y29sb3I6cX19fX19LDcxNjc2OChvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtsaWdodDooKT0+bG99KTt2YXIgbD1lKDUwNzYwNCksdD1lKDIyNzgyNSk7Y29uc3R7Y29sb3JXaGl0ZTpjLGNvbG9yQmxhY2s6YSxjb2xvckNvbGRHcmF5MTUwOm4sY29sb3JDb2xkR3JheTMwMDppLGNvbG9yQ29sZEdyYXk0MDA6ZCxjb2xvckNvbGRHcmF5NDUwOnMsY29sb3JDb2xkR3JheTgwMEFscGhhMDpnLGNvbG9yQ29sZEdyYXk4MDBBbHBoYTIwOnUsY29sb3JDb2xkR3JheTkwMDpwLGNvbG9yR3JhcGVzUHVycGxlQTQwMDpDLGNvbG9yR3JhcGVzUHVycGxlQTIwMEFscGhhMTU6eSxjb2xvckdyYXBlc1B1cnBsZTYwMDpiLGNvbG9yTWludHlHcmVlbjIwMDpoLGNvbG9yTWludHlHcmVlbjQwMDpFLGNvbG9yTWludHlHcmVlbjUwMDptLGNvbG9yTWludHlHcmVlbjYwMDpBLGNvbG9yTWludHlHcmVlbjgwMDpfLGNvbG9yTWludHlHcmVlbjUwMEFscGhhNTpULGNvbG9yTWludHlHcmVlbjUwMEFscGhhMjg6Zixjb2xvck1pbnR5R3JlZW41MDBBbHBoYTUwOlMsY29sb3JSaXBlUmVkMjAwOnYsY29sb3JSaXBlUmVkNDAwOncsY29sb3JSaXBlUmVkNTAwOlIsY29sb3JSaXBlUmVkNjAwOk4sY29sb3JSaXBlUmVkQTcwMDpJLGNvbG9yUmlwZVJlZDUwMEFscGhhNTpPLGNvbG9yUmlwZVJlZDUwMEFscGhhMjg6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTUwOkIsY29sb3JEZWVwQmx1ZUE3MDA6UCxjb2xvckJlcnJ5UGluazUwMDpELGNvbG9yQmVycnlQaW5rNTAwQWxwaGEyNTpMLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE1MDpGLGNvbG9yQmVycnlQaW5rNDAwQWxwaGE3NTp4LGNvbG9ySWd1YW5hR3JlZW5BNzAwOkgsY29sb3JTa3lCbHVlNDAwQWxwaGE1OlUsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDpHLGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6TSxjb2xvclNreUJsdWU1MDA6Vyxjb2xvclNreUJsdWU1MDBBbHBoYTI1OlYsY29sb3JTa3lCbHVlQTQwMDpZLGNvbG9yRGVlcEJsdWVBNDAwOmosY29sb3JUdkJsdWUyMDA6Syxjb2xvclR2Qmx1ZTQwMDokLGNvbG9yVHZCbHVlNTAwOlgsY29sb3JUdkJsdWU1MDBBbHBoYTI4OnEsY29sb3JUdkJsdWU2MDA6Sixjb2xvclR2Qmx1ZTgwMDp6LGNvbG9yVGFuT3JhbmdlNTAwOlEsY29sb3JUYW5PcmFuZ2U2MDA6Wn09bC5jb2xvcnMsb289e2NvbG9yOlgsdHBvOntjb2xvcnM6e2dyYWRpZW50Q29sb3JzOltELEgsVyxqXX19LHZvbHVtZVByb2ZpbGU6e3ZhbHVlc0NvbG9yOnAsdmFoOntjb2xvcjpwfSx2YWw6e2NvbG9yOnB9LHBvYzp7Y29sb3I6cH0sdm9sdW1lQ29sb3I6Ryx2YWx1ZUFyZWFDb2xvcjpNfSxsZXZlbHM6e3BvY0NvbG9yOnAscG9vckhpZ2hDb2xvcjpQLHBvb3JMb3dDb2xvcjpQLHNpbmdsZXByaW50c0NvbG9yOnksdmFoQ29sb3I6cCx2YWxDb2xvcjpwfX0scm89e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJDb2xvcjoiIzM3ODY1OCIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsaW1iYWxhbmNlSGlnaGxpZ2h0OntidXlDb2xvcjptLHNlbGxDb2xvcjpSfSx1bmZpbmlzaGVkQXVjdGlvbjp7aGlnaENvbG9yOkMsbG93Q29sb3I6WX0sYmdDb2xvcnM6e2FkakJ1eUJnQ29sb3JzOltoLEUsQSxfXSxhZGpTZWxsQmdDb2xvcnM6W3YsdyxOLEldLGFkalRvdGFsQmdDb2xvcnM6W0ssJCxKLHpdLGJ1eUJnQ29sb3I6RSxzZWxsQmdDb2xvcjp3LHRvdGFsQmdDb2xvcjokLHBvY0NvbG9yOmF9fSxlbz17dm9sdW1lUHJvZmlsZTp7dmFsdWVzQ29sb3I6cCx2b2x1bWVDb2xvclVwOkcsdm9sdW1lQ29sb3JEb3duOkYsdmFsdWVBcmVhQ29sb3JVcDpNLHZhbHVlQXJlYUNvbG9yRG93bjp4LGhpc3RvZ3JhbUJveENvbG9yOlV9LHZhaDp7Y29sb3I6cH0sdmFsOntjb2xvcjpwfSxwb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdQb2M6e2NvbG9yOnB9LGRldmVsb3BpbmdWQTp7Y29sb3I6V319LGxvPXtjb250ZW50OntjaGFydFByb3BlcnRpZXM6e3NjYWxlc1Byb3BlcnRpZXM6e3RleHRDb2xvcjpwLGxpbmVDb2xvcjpnLGJhY2tncm91bmRDb2xvcjpjfSxwYW5lUHJvcGVydGllczp7dmVydEdyaWRQcm9wZXJ0aWVzOntjb2xvcjp1fSxob3J6R3JpZFByb3BlcnRpZXM6e2NvbG9yOnV9LGNyb3NzSGFpclByb3BlcnRpZXM6e2NvbG9yOmR9LGJhY2tncm91bmRUeXBlOnQuQ29sb3JUeXBlLlNvbGlkLGJhY2tncm91bmQ6YyxiYWNrZ3JvdW5kR3JhZGllbnRTdGFydENvbG9yOmMsYmFja2dyb3VuZEdyYWRpZW50RW5kQ29sb3I6YyxzZXBhcmF0b3JDb2xvcjpufX0sc2Vzc2lvbnM6e3Nlc3Npb25IaWdobGlnaHQ6e2JhY2tncm91bmRzOntvdXRPZlNlc3Npb246e2NvbG9yOlgsdHJhbnNwYXJlbmN5OjkyfSxwcmVNYXJrZXQ6e2NvbG9yOlEsdHJhbnNwYXJlbmN5OjkyfSxwb3N0TWFya2V0Ontjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn0sbmlnaHRNYXJrZXQ6e2NvbG9yOkMsdHJhbnNwYXJlbmN5OjkyfSxlbGVjdHJvbmljOntjb2xvcjpYLHRyYW5zcGFyZW5jeTo5Mn19LHZlcnRsaW5lczp7c2Vzc0JyZWFrczp7Y29sb3I6IiM0OTg1ZTcifX19fSxtYWluU291cmNlUHJvcGVydGllczp7YmFzZUxpbmVDb2xvcjppLHByZXZDbG9zZVByaWNlTGluZUNvbG9yOiIjNTU1NTU1IixwcmljZUxpbmVDb2xvcjoiIixoaWdoTG93QXZnUHJpY2U6e2hpZ2hMb3dQcmljZUxpbmVzQ29sb3I6IiIsYXZlcmFnZVByaWNlTGluZUNvbG9yOiIifSxiaWRBc2s6e2JpZExpbmVDb2xvcjpYLGFza0xpbmVDb2xvcjp3fSxwcmVQb3N0TWFya2V0OntwcmVNYXJrZXRDb2xvcjpaLApwb3N0TWFya2V0Q29sb3I6WCxvdmVybmlnaHRNYXJrZXRDb2xvcjpifSxjYW5kbGVTdHlsZTp7Ym9yZGVyQ29sb3I6IiMzNzg2NTgiLHVwQ29sb3I6bSx3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSLGRvd25Db2xvcjpSLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Un0sdm9sQ2FuZGxlc1N0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxoYVN0eWxlOntib3JkZXJDb2xvcjoiIzM3ODY1OCIsdXBDb2xvcjptLHdpY2tDb2xvcjoiIzczNzM3NSIsd2lja1VwQ29sb3I6bSx3aWNrRG93bkNvbG9yOlIsZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSfSxobGNBcmVhU3R5bGU6e2hpZ2hMaW5lQ29sb3I6Vyxsb3dMaW5lQ29sb3I6RCxjbG9zZUxpbmVDb2xvcjpYLGhpZ2hDbG9zZUZpbGxDb2xvcjpWLGNsb3NlTG93RmlsbENvbG9yOkx9LGhvbGxvd0NhbmRsZVN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyQ29sb3I6IiMzNzg2NTgiLGJvcmRlclVwQ29sb3I6bSxib3JkZXJEb3duQ29sb3I6Uix3aWNrQ29sb3I6IiM3MzczNzUiLHdpY2tVcENvbG9yOm0sd2lja0Rvd25Db2xvcjpSfSxiYXJTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptfSxwbmZTdHlsZTp7ZG93bkNvbG9yOlIsdXBDb2xvcjptLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIn0sYmFzZWxpbmVTdHlsZTp7YmFzZWxpbmVDb2xvcjpzLHRvcEZpbGxDb2xvcjE6Zix0b3BGaWxsQ29sb3IyOlQsYm90dG9tRmlsbENvbG9yMTpPLGJvdHRvbUZpbGxDb2xvcjI6ayx0b3BMaW5lQ29sb3I6bSxib3R0b21MaW5lQ29sb3I6Un0sYXJlYVN0eWxlOnt0cmFuc3BhcmVuY3k6MTAwLGNvbG9yMTpxLGNvbG9yMjpYLGxpbmVjb2xvcjpYfSxoaWxvU3R5bGU6e2NvbG9yOlgsYm9yZGVyQ29sb3I6WCxsYWJlbENvbG9yOlh9LGNvbHVtblN0eWxlOnt1cENvbG9yOlMsZG93bkNvbG9yOkJ9LHJlbmtvU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uixib3JkZXJVcENvbG9yOm0sYm9yZGVyRG93bkNvbG9yOlIsdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUiLGJvcmRlclVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixib3JkZXJEb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIix3aWNrVXBDb2xvcjptLHdpY2tEb3duQ29sb3I6Un0sbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sbGluZVdpdGhNYXJrZXJzU3R5bGU6e2NvbG9yVHlwZTp0LkNvbG9yVHlwZS5HcmFkaWVudCxjb2xvcjpYLGdyYWRpZW50U3RhcnRDb2xvcjpDLGdyYWRpZW50RW5kQ29sb3I6IiMwMEJDRTUifSxzdGVwbGluZVN0eWxlOntjb2xvclR5cGU6dC5Db2xvclR5cGUuR3JhZGllbnQsY29sb3I6WCxncmFkaWVudFN0YXJ0Q29sb3I6QyxncmFkaWVudEVuZENvbG9yOiIjMDBCQ0U1In0sa2FnaVN0eWxlOntkb3duQ29sb3I6Uix1cENvbG9yOm0sdXBDb2xvclByb2plY3Rpb246IiNhOWRjYzMiLGRvd25Db2xvclByb2plY3Rpb246IiNmNWE2YWUifSxwYlN0eWxlOnt1cENvbG9yOm0sZG93bkNvbG9yOlIsYm9yZGVyVXBDb2xvcjptLGJvcmRlckRvd25Db2xvcjpSLHVwQ29sb3JQcm9qZWN0aW9uOiIjYTlkY2MzIixkb3duQ29sb3JQcm9qZWN0aW9uOiIjZjVhNmFlIixib3JkZXJVcENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsYm9yZGVyRG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSJ9LHJhbmdlU3R5bGU6e3VwQ29sb3I6bSxkb3duQ29sb3I6Uix1cENvbG9yUHJvamVjdGlvbjoiI2E5ZGNjMyIsZG93bkNvbG9yUHJvamVjdGlvbjoiI2Y1YTZhZSIsY2FuZGxlc1VwQ29sb3I6bSxjYW5kbGVzRG93bkNvbG9yOlIsY2FuZGxlc0JvcmRlclVwQ29sb3I6bSxjYW5kbGVzQm9yZGVyRG93bkNvbG9yOlIsY2FuZGxlc1dpY2tVcENvbG9yOm0sY2FuZGxlc1dpY2tEb3duQ29sb3I6Un0sdHBvU3R5bGU6b28sdm9sRm9vdHByaW50U3R5bGU6cm8sc3ZwU3R5bGU6ZW8saGxjQmFyc1N0eWxlOntjb2xvcjpYfX19fX0sMTEzNjU2KG8scixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbCgpe3JldHVybi8oPzpefDspXHMqdGhlbWU9KGRhcmt8bGlnaHQpKD86O3wkKXwkLy5leGVjKGRvY3VtZW50LmNvb2tpZSlbMV19ZnVuY3Rpb24gdChvKXtjb25zdCByPWZ1bmN0aW9uKCl7Y29uc3Qgbz1sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gby5ldmVyeShpc0Zpbml0ZSk/bG9jYXRpb24uaG9zdDpvLnNsaWNlKC0yKS5qb2luKCIuIil9KCksZT12b2lkIDA9PT1vPy0xOjNlODtkb2N1bWVudC5jb29raWU9YHRoZW1lPSR7b307cGF0aD0vO2RvbWFpbj0ke3J9O21heC1hZ2U9JHtlfWB9ZS5kKHIse2dldFRoZW1lRnJvbUNvb2tpZTooKT0+bCxzZXRUaGVtZVRvQ29va2llOigpPT50fSl9LDQ4NTY1MShvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtnZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3M6KCk9PmMsc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3M6KCk9PmF9KTt2YXIgbD1lKDkzMDU2NiksdD1lKDExMzY1Nik7ZnVuY3Rpb24gYygpe3JldHVybigwLHQuZ2V0VGhlbWVGcm9tQ29va2llKSgpfHwoMCxsLmdldFZhbHVlKSgiY3VycmVudF90aGVtZS5uYW1lIil8fG51bGx9ZnVuY3Rpb24gYShvKXsoMCx0LnNldFRoZW1lVG9Db29raWUpKG8pLCgwLGwuc2V0VmFsdWUpKCJjdXJyZW50X3RoZW1lLm5hbWUiLG8se2ZvcmNlRmx1c2g6ITB9KX19LDY2NTE4NyhvLHIsZSl7InVzZSBzdHJpY3QiO2UucihyKSxlLmQocix7REVGQVVMVF9USEVNRTooKT0+RS5ERUZBVUxUX1RIRU1FLGdldEN1cnJlbnRUaGVtZTooKT0+XyxnZXRTdGRUaGVtZTooKT0+SSwKZ2V0U3RkVGhlbWVOYW1lczooKT0+TixnZXRTdGRUaGVtZWRWYWx1ZTooKT0+TyxnZXRUaGVtZTooKT0+dyxnZXRUaGVtZU5hbWVzOigpPT5SLGdldFRoZW1lZENvbG9yOigpPT5ULGlzU3RkVGhlbWVOYW1lOigpPT5BLmlzU3RkVGhlbWVOYW1lLGlzU3RkVGhlbWVkRGVmYXVsdFZhbHVlOigpPT5rLGlzVGhlbWVFeGlzdDooKT0+RCxyZW1vdmVUaGVtZTooKT0+UCxyZXN0b3JlVGhlbWU6KCk9PmYsc2F2ZVRoZW1lOigpPT5CLHNhdmVkVGhlbWVOYW1lOigpPT5TLHN5bmNUaGVtZTooKT0+dix0aGVtZUxpc3RDaGFuZ2VkOigpPT5GLHRoZW1lczooKT0+bS50aGVtZXMsdHJhbnNsYXRlU3RkVGhlbWVOYW1lOigpPT5MfSk7dmFyIGw9e307aWYoZS5yKGwpLGUuZChsLHtpc1RoZW1lRXhpc3Q6KCk9PkMsbG9hZFRoZW1lOigpPT5zLGxvYWRUaGVtZXM6KCk9PmcscmVtb3ZlVGhlbWU6KCk9PnAsc2F2ZVRoZW1lOigpPT51fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChlLmopKXZhciB0PWUoMTM0NjcpO3ZhciBjPWUoOTQ4MzgwKSxhPWUoNDg1NjUxKSxuPWUoMzg0MDE3KTtjb25zdCBpPSgwLGUoMjIxMDYxKS5nZXRMb2dnZXIpKCJUaGVtZXMuUHJvdmlkZXIiKTtsZXQgZD1udWxsO2Z1bmN0aW9uIHMobyl7cmV0dXJuKDAsbi5mZXRjaCkoIi90aGVtZS8/dGhlbWVOYW1lPSIrZW5jb2RlVVJJQ29tcG9uZW50KG8pLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJHRVQifSkudGhlbigobz0+by5qc29uKCkpKS50aGVuKChvPT57Y29uc3Qgcj17fTtyZXR1cm4gby5jb250ZW50JiYoci5jb250ZW50PUpTT04ucGFyc2Uoby5jb250ZW50KSkscn0pKX1mdW5jdGlvbiBnKCl7cmV0dXJuIGR8fCgwLG4uZmV0Y2gpKCIvdGhlbWVzLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IkdFVCJ9KS50aGVuKChvPT4oZD1vLmpzb24oKSxkKSkpfWZ1bmN0aW9uIHUobyxyKXtjb25zdCBlPW5ldyBGb3JtRGF0YTtyZXR1cm4gZS5hcHBlbmQoImNvbnRlbnQiLEpTT04uc3RyaW5naWZ5KHIpKSxlLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvc2F2ZS10aGVtZS8iLHtjcmVkZW50aWFsczoiaW5jbHVkZSIsbWV0aG9kOiJQT1NUIixib2R5OmV9KS50aGVuKChvPT5vLmpzb24oKSksKG89PmkubG9nRXJyb3IobykpKX1mdW5jdGlvbiBwKG8pe2NvbnN0IHI9bmV3IEZvcm1EYXRhO3JldHVybiByLmFwcGVuZCgibmFtZSIsbyksZD1udWxsLCgwLG4uZmV0Y2gpKCIvcmVtb3ZlLXRoZW1lLyIse2NyZWRlbnRpYWxzOiJpbmNsdWRlIixtZXRob2Q6IlBPU1QiLGJvZHk6cn0pLnRoZW4oKG89Pm8uanNvbigpKSwobz0+aS5sb2dFcnJvcihvKSkpfWZ1bmN0aW9uIEMobyl7cmV0dXJuIHMobykudGhlbigobz0+Qm9vbGVhbihvLmNvbnRlbnQpKSl9Y29uc3QgeT0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KGUuaik/bDpudWxsO3ZhciBiPWUoNzI4NTQpLGg9ZSgyMDA2NjYpLEU9ZSg0MzI3ODMpLG09ZSgyNDQ2NjQpLEE9ZSg0NTM5NjgpO2Z1bmN0aW9uIF8oKXtyZXR1cm4gbS50aGVtZXNbaC53YXRjaGVkVGhlbWUudmFsdWUoKV18fG0udGhlbWVzW0UuREVGQVVMVF9USEVNRV19ZnVuY3Rpb24gVChvKXtyZXR1cm4gXygpLmdldFRoZW1lZENvbG9yKG8pfWZ1bmN0aW9uIGYoKXsoMCxoLnNldFRoZW1lKSgoMCxhLmdldFRoZW1lRnJvbVVzZXJTZXR0aW5ncykoKXx8RS5ERUZBVUxUX1RIRU1FKX1mdW5jdGlvbiBTKCl7cmV0dXJuKDAsYS5nZXRUaGVtZUZyb21Vc2VyU2V0dGluZ3MpKCl9ZnVuY3Rpb24gdigpeygwLGEuc2F2ZVRoZW1lSW5Vc2VyU2V0dGluZ3MpKF8oKS5uYW1lKX1mdW5jdGlvbiB3KG8pe3JldHVybiB5LmxvYWRUaGVtZShvKX1mdW5jdGlvbiBSKCl7cmV0dXJuIHkubG9hZFRoZW1lcygpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gYi5nZXRTdGRUaGVtZU5hbWVzKCl9ZnVuY3Rpb24gSShvKXtyZXR1cm4gYi5nZXRTdGRDaGFydFRoZW1lKG8pfHx7Y29udGVudDp2b2lkIDB9fWZ1bmN0aW9uIE8obyxyKXtjb25zdCBlPXJ8fF8oKS5uYW1lLGw9Yi5nZXRTdGRDaGFydFRoZW1lKGUpLHQ9MCE9PW8ubGVuZ3RoJiZvLnNwbGl0KCIuIik7cmV0dXJuIGwmJmwuY29udGVudCYmdD90LnJlZHVjZSgoKG8scik9Pm9bcl0pLGwuY29udGVudCk6bnVsbH1mdW5jdGlvbiBrKG8scixlKXtjb25zdCBsPU8obyxlKTtyZXR1cm4gbnVsbCE9PWwmJigwLHQuYXJlRXF1YWxSZ2JhKSgoMCx0LnBhcnNlUmdiYSkobCksKDAsdC5wYXJzZVJnYmEpKFN0cmluZyhyKSkpfWFzeW5jIGZ1bmN0aW9uIEIobyxyKXt0cnl7cmV0dXJuIGF3YWl0IHkuc2F2ZVRoZW1lKG8scil9ZmluYWxseXtGLmZpcmUoKX19YXN5bmMgZnVuY3Rpb24gUChvKXt0cnl7cmV0dXJuIGF3YWl0IHkucmVtb3ZlVGhlbWUobyl9ZmluYWxseXtGLmZpcmUoKX19ZnVuY3Rpb24gRChvKXtyZXR1cm4geS5pc1RoZW1lRXhpc3Qobyl9ZnVuY3Rpb24gTChvKXtyZXR1cm4gYi50cmFuc2xhdGVUaGVtZU5hbWUobyl9Y29uc3QgRj1uZXcgYy5EZWxlZ2F0ZX0sMjI3ODI1KG8scixlKXsidXNlIHN0cmljdCI7dmFyIGw7ZS5kKHIse0NvbG9yVHlwZTooKT0+bH0pLGZ1bmN0aW9uKG8pe28uU29saWQ9InNvbGlkIixvLkdyYWRpZW50PSJncmFkaWVudCJ9KGx8fChsPXt9KSl9LDg3MzU3MyhvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHthbHBoYVRvVHJhbnNwYXJlbmN5OigpPT5hLGFwcGx5QWxwaGE6KCk9PmMsYXBwbHlUcmFuc3BhcmVuY3k6KCk9PmksY29sb3JGcm9tQmFja2dyb3VuZDooKT0+Zyxjb2xvclRvSW50ZWdlcjooKT0+QyxnZW5lcmF0ZUNvbG9yOigpPT50LGdyYWRpZW50Q29sb3JBdFBlcmNlbnQ6KCk9PnUsaXNIZXhDb2xvcjooKT0+cyxyZXNldFRyYW5zcGFyZW5jeTooKT0+ZCxyZ2JhRnJvbUludGVnZXI6KCk9PnAsdHJhbnNwYXJlbmN5VG9BbHBoYTooKT0+bn0pO3ZhciBsPWUoMTM0NjcpO2Z1bmN0aW9uIHQobyxyLGUpe2lmKHI9cnx8MCwhcyhvKSlyZXR1cm4gZT8oMCxsLnJnYmFUb1N0cmluZykoKDAsbC5yZ2JhKSgoMCxsLnBhcnNlUmdiKShvKSwoMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShuKHIpKSkpOm87Y29uc3RbdCxjLGFdPSgwLApsLnBhcnNlUmdiKShvKSxpPSgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKG4ocikpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKShbdCxjLGEsaV0pfWZ1bmN0aW9uIGMobyxyLGUpe2NvbnN0IHQ9KDAsbC50cnlQYXJzZVJnYmEpKG8pO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb2xvcjogJHtvfWApO2NvbnN0W2MsYSxuLGldPXQsZD0oMCxsLm5vcm1hbGl6ZUFscGhhQ29tcG9uZW50KShyKihlP2k6MSkpO3JldHVybigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKFtjLGEsbl0sZCkpfWZ1bmN0aW9uIGEobyl7cmV0dXJuIDEwMCooMS1vKX1mdW5jdGlvbiBuKG8pe2lmKG88MHx8bz4xMDApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHRyYW5zcGFyZW5jeSIpO3JldHVybiAxLW8vMTAwfWZ1bmN0aW9uIGkobyxyKXtpZigidHJhbnNwYXJlbnQiPT09bylyZXR1cm4gbztjb25zdCBlPSgwLGwucGFyc2VSZ2JhKShvKSx0PWVbM107cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwucmdiYSkoZVswXSxlWzFdLGVbMl0sbihyKSp0KSl9ZnVuY3Rpb24gZChvKXtyZXR1cm4idHJhbnNwYXJlbnQiPT09bz9vOnMobyk/by5zbGljZSgwLDcpOigwLGwucmdiYVRvU3RyaW5nKSgoMCxsLnJnYmEpKCgwLGwucGFyc2VSZ2IpKG8pLCgwLGwubm9ybWFsaXplQWxwaGFDb21wb25lbnQpKDEpKSl9ZnVuY3Rpb24gcyhvKXtyZXR1cm4gMD09PW8uaW5kZXhPZigiIyIpfWZ1bmN0aW9uIGcobyl7cmV0dXJuImJsYWNrIj09PSgwLGwucmdiVG9CbGFja1doaXRlU3RyaW5nKSgoMCxsLnBhcnNlUmdiKShvKSwxNTApPyIjZmZmZmZmIjoiIzAwMDAwMCJ9ZnVuY3Rpb24gdShvLHIsZSl7Y29uc3RbdCxjLGEsbl09KDAsbC5wYXJzZVJnYmEpKG8pLFtpLGQscyxnXT0oMCxsLnBhcnNlUmdiYSkociksdT0oMCxsLnJnYmEpKE1hdGgucm91bmQodCtlKihpLXQpKSxNYXRoLnJvdW5kKGMrZSooZC1jKSksTWF0aC5yb3VuZChhK2UqKHMtYSkpLG4rZSooZy1uKSk7cmV0dXJuKDAsbC5yZ2JhVG9TdHJpbmcpKHUpfWZ1bmN0aW9uIHAobyl7Y29uc3Qgcj0obz1NYXRoLnJvdW5kKG8pKSUyNTY7by09cjtjb25zdCBlPShvLz0yNTYpJTI1NjtvLT1lO2NvbnN0IGw9KG8vPTI1NiklMjU2O28tPWw7cmV0dXJuYHJnYmEoJHtyfSwke2V9LCR7bH0sJHsoby89MjU2KS8yNTV9KWB9ZnVuY3Rpb24gQyhvKXtjb25zdCByPSgwLGwudHJ5UGFyc2VSZ2JhKShvKTtyZXR1cm4gbnVsbD09PXI/MDpmdW5jdGlvbihvKXtjb25zdCByPU1hdGgucm91bmQoMjU1Km9bM10pO3JldHVybiBvWzBdKzI1NipvWzFdKzY1NTM2Km9bMl0rMTY3NzcyMTYqcn0ocil9fSw5OTk2NDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7cGF5d2FsbE1vYmlsZUludGVyY2VwdG9yOigpPT5sfSk7Y29uc3QgbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9oaWRkZW5GZWF0dXJlcz1uZXcgU2V0LHRoaXMuX2xpc3RlbmVycz1bXSx0aGlzLmhpZGU9bz0+e3RoaXMuX2hpZGRlbkZlYXR1cmVzLmFkZChvKX0sdGhpcy5pc0hpZGRlbkZlYXR1cmU9bz0+dGhpcy5faGlkZGVuRmVhdHVyZXMuaGFzKG8pLHRoaXMuc3Vic2NyaWJlPW89Pnt0aGlzLl9saXN0ZW5lcnMucHVzaChvKX0sdGhpcy5pbnZva2U9bz0+e3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChyPT5yKG8pKSl9fX19LDUwNzQyNihvLHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtwYWlkQWNjb3VudENoZWNrOigpPT5hfSk7dmFyIGw9ZSg5MzIzNjUpLHQ9ZSgzMTg5NzQpO2NvbnN0IGM9KDAsZSgyMjEwNjEpLmdldExvZ2dlcikoIlBhaWRBY2NvdW50Q2hlY2siKTthc3luYyBmdW5jdGlvbiBhKG8pe2NvbnN0e29ubHlDaGVjazpyLHN1Y2Nlc3NCdXR0b25UZXh0OmEsaXNOZWVkQ2FuY2VsQnV0dG9uOm59PW8saT13aW5kb3cudXNlcixkPWwuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSgicHJldmlvdXNfdXNlcm5hbWUiKTtpZihpJiZ3aW5kb3cuaXNfYXV0aGVudGljYXRlZCYmIWkuaXNfcHJvJiZkJiYhKDAsdC5pc1N5bXBob255RW1iZWQpKCkpe2NvbnN0e2dldFByb2ZpbGU6b309YXdhaXQgZS5lKDM5NjEpLnRoZW4oZS5iaW5kKGUsNTY5MDE1KSk7dHJ5e2NvbnN0IGw9YXdhaXQgbyhkKTtpZihCb29sZWFuKGwucHJvX3BsYW4pKXtpZihyKXJldHVybiBkO3tjb25zdHtzaG93V3JvbmdBY2NvdW50RGlhbG9nOm99PWF3YWl0IFByb21pc2UuYWxsKFtlLmUoNjM1NTMpLGUuZSgxNjc4KSxlLmUoNjk4ODEpXSkudGhlbihlLmJpbmQoZSw2ODY5MDEpKTtyZXR1cm4gbyh7dXNlck5hbWU6ZCxpc05lZWRDYW5jZWxCdXR0b246bixzdWNjZXNzQnV0dG9uVGV4dDphfSl9fX1jYXRjaChvKXtjLmxvZ0Vycm9yKG8ubWVzc2FnZSl9fXJldHVybiExfX0sNDgyNTA0KG8scixlKXtjb25zdCBsPWUoMTk5ODI3KTtvLmV4cG9ydHM9bCxsKGRvY3VtZW50KS5hamF4U2VuZCgoKG8scixlKT0+e2UuY3Jvc3NEb21haW4mJiFlLmZvcmNlTGFuZ3VhZ2VIZWFkZXJ8fCh3aW5kb3cubG9jYWxlP3Iuc2V0UmVxdWVzdEhlYWRlcigiWC1MYW5ndWFnZSIsd2luZG93LmxvY2FsZSk6Y29uc29sZS53YXJuKCJ3aW5kb3cubG9jYWxlIGlzIG5vdCBkZWZpbmVkIikpfSkpfSw1MjQwNjkobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7Z2V0UHJvUGxhbkRldGFpbHNGb3JVc2VyOigpPT5uLGdldFByb1BsYW5XZWlnaHQ6KCk9PmF9KTtlKDQ3OTM0KTt2YXIgbD1lKDIxMjIyOSksdD1lKDM4NDAxNyksYz1lKDIyMjQyMyk7ZnVuY3Rpb24gYShvKXtyZXR1cm4gd2luZG93LnBybz8iZnJlZSI9PT1vPy0xOndpbmRvdy5wcm8uZ2V0UHJvZHVjdCgoMCxsLmdldFByb2R1Y3RGb3JUcmlhbCkobykpLnVwZ3JhZGVfd2VpZ2h0OjB9YXN5bmMgZnVuY3Rpb24gbigpe2NvbnN0IG89YXdhaXQoMCx0LmZldGNoKSgiL3Byby1wbGFucy9wcm9maWxlLyIpLHI9YXdhaXQgby5qc29uKCk7aWYoby5vaylyZXR1cm4gcjtpZig0MDM9PT1vLnN0YXR1cyl7Y29uc3QgZT1yO3Rocm93IG5ldyBjLkFwaUVycm9yKGUuZGV0YWlsLG8uc3RhdHVzLGUuY29kZSl9CnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGhhbmRsZSB1bmV4cGVjdGVkIHJlc3BvbnNlOiAke1N0cmluZyhvLnRleHQoKSl9YCl9fSwyMjE3MDAobyxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGlzYWJsZTooKT0+ZCxlbmFibGU6KCk9PnMscHVzaEJhY2tMaXN0ZW5lcjooKT0+aX0pO3ZhciBsPWUoMTUwMTUwKTtjb25zdCB0PVtdO2xldCBjPW51bGw7ZnVuY3Rpb24gYShvKXtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrKylpZih0W3JdLm5hbWU9PT1vKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIG4obyl7aWYoIWMpZm9yKGxldCByPXQubGVuZ3RoLTE7cj49MCYmITAhPT10W3JdLmZ1bmMobyk7ci0tKTt9ZnVuY3Rpb24gaShvLHIpe2NvbnN0IGU9e25hbWU6byxmdW5jOnJ9LGw9YShlLm5hbWUpO2w+LTEmJnQuc3BsaWNlKGwsMSksdC51bnNoaWZ0KGUpfWZ1bmN0aW9uIGQoKXtyZXR1cm4gYz9udWxsOihjPSgwLGwucmFuZG9tSGFzaE4pKDQpLGMpfWZ1bmN0aW9uIHMobyl7aWYobyE9PWMpdGhyb3cgRXJyb3IoIkxvY2sgaWQgaXMgb3V0ZGF0ZWQiKTtjPW51bGx9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXByZXNzIixuLCExKX0sMzE3NjYzKG8peyJ1c2Ugc3RyaWN0Igo7by5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29sb3Itd2hpdGUiOiIjZmZmZmZmIiwiY29sb3ItYmxhY2siOiIjMDAwMDAwIiwiY29sb3ItdHJhbnNwYXJlbnQiOiIjMDAwMDAwMDAiLCJjb2xvci1jb2xkLWdyYXktNTAiOiIjRjlGOUY5IiwiY29sb3ItY29sZC1ncmF5LTEwMCI6IiNGMkYyRjIiLCJjb2xvci1jb2xkLWdyYXktMTUwIjoiI0VCRUJFQiIsImNvbG9yLWNvbGQtZ3JheS0yMDAiOiIjREJEQkRCIiwiY29sb3ItY29sZC1ncmF5LTI1MCI6IiNDOUM5QzkiLCJjb2xvci1jb2xkLWdyYXktMzAwIjoiI0I4QjhCOCIsImNvbG9yLWNvbGQtZ3JheS0zNTAiOiIjQThBOEE4IiwiY29sb3ItY29sZC1ncmF5LTQwMCI6IiM5QzlDOUMiLCJjb2xvci1jb2xkLWdyYXktNDUwIjoiIzhDOEM4QyIsImNvbG9yLWNvbGQtZ3JheS01MDAiOiIjODA4MDgwIiwiY29sb3ItY29sZC1ncmF5LTU1MCI6IiM3MDcwNzAiLCJjb2xvci1jb2xkLWdyYXktNjAwIjoiIzYzNjM2MyIsImNvbG9yLWNvbGQtZ3JheS02NTAiOiIjNTc1NzU3IiwiY29sb3ItY29sZC1ncmF5LTcwMCI6IiM0QTRBNEEiLCJjb2xvci1jb2xkLWdyYXktNzUwIjoiIzNEM0QzRCIsImNvbG9yLWNvbGQtZ3JheS04MDAiOiIjMkUyRTJFIiwiY29sb3ItY29sZC1ncmF5LTg1MCI6IiMxRjFGMUYiLCJjb2xvci1jb2xkLWdyYXktOTAwIjoiIzBGMEYwRiIsImNvbG9yLWNvbGQtZ3JheS05NTAiOiIjMDAwMDAwIiwiY29sb3ItcmlwZS1yZWQtNTAiOiIjRkZFQkVDIiwiY29sb3ItcmlwZS1yZWQtMTAwIjoiI0ZDQ0JDRCIsImNvbG9yLXJpcGUtcmVkLTIwMCI6IiNGQUExQTQiLCJjb2xvci1yaXBlLXJlZC0zMDAiOiIjRjc3QzgwIiwiY29sb3ItcmlwZS1yZWQtNDAwIjoiI0Y3NTI1RiIsImNvbG9yLXJpcGUtcmVkLTUwMCI6IiNGMjM2NDUiLCJjb2xvci1yaXBlLXJlZC02MDAiOiIjQ0MyRjNDIiwiY29sb3ItcmlwZS1yZWQtNzAwIjoiI0IyMjgzMyIsImNvbG9yLXJpcGUtcmVkLTgwMCI6IiM5OTFGMjkiLCJjb2xvci1yaXBlLXJlZC05MDAiOiIjODAxOTIyIiwiY29sb3ItcmlwZS1yZWQtYTEwMCI6IiNGRjgwODAiLCJjb2xvci1yaXBlLXJlZC1hMjAwIjoiI0ZGNTI1MiIsImNvbG9yLXJpcGUtcmVkLWE0MDAiOiIjRkYzMzMzIiwiY29sb3ItcmlwZS1yZWQtYTYwMCI6IiNDQzI5MjkiLCJjb2xvci1yaXBlLXJlZC1hNzAwIjoiIzgwMjAyOCIsImNvbG9yLXJpcGUtcmVkLWE4MDAiOiIjNEQxOTFEIiwiY29sb3ItcmlwZS1yZWQtYTkwMCI6IiMzMzFGMjAiLCJjb2xvci10YW4tb3JhbmdlLTUwIjoiI0ZGRjNFMCIsImNvbG9yLXRhbi1vcmFuZ2UtMTAwIjoiI0ZGRTBCMiIsImNvbG9yLXRhbi1vcmFuZ2UtMjAwIjoiI0ZGQ0M4MCIsImNvbG9yLXRhbi1vcmFuZ2UtMzAwIjoiI2ZmYjc0ZCIsImNvbG9yLXRhbi1vcmFuZ2UtNDAwIjoiI0ZGQTcyNiIsImNvbG9yLXRhbi1vcmFuZ2UtNTAwIjoiI0ZGOTgwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNjAwIjoiI0ZCOEMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtNzAwIjoiI0Y1N0MwMCIsImNvbG9yLXRhbi1vcmFuZ2UtODAwIjoiI0VGNkMwMCIsImNvbG9yLXRhbi1vcmFuZ2UtOTAwIjoiI2U2NTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTEwMCI6IiNGRkQxODAiLCJjb2xvci10YW4tb3JhbmdlLWEyMDAiOiIjZmZhYjQwIiwiY29sb3ItdGFuLW9yYW5nZS1hNDAwIjoiI0ZGOTEwMCIsImNvbG9yLXRhbi1vcmFuZ2UtYTUwMCI6IiNFNTdFMTciLCJjb2xvci10YW4tb3JhbmdlLWE2MDAiOiIjQ0M3MDE0IiwiY29sb3ItdGFuLW9yYW5nZS1hNzAwIjoiIzhDNTQxQyIsImNvbG9yLXRhbi1vcmFuZ2UtYTgwMCI6IiM1OTNBMUIiLCJjb2xvci10YW4tb3JhbmdlLWE5MDAiOiIjMzMyNjFBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwIjoiI0U4RjVFOSIsImNvbG9yLWlndWFuYS1ncmVlbi0xMDAiOiIjQzhFNkM5IiwiY29sb3ItaWd1YW5hLWdyZWVuLTIwMCI6IiNBNUQ2QTciLCJjb2xvci1pZ3VhbmEtZ3JlZW4tMzAwIjoiIzgxYzc4NCIsImNvbG9yLWlndWFuYS1ncmVlbi00MDAiOiIjNjZCQjZBIiwiY29sb3ItaWd1YW5hLWdyZWVuLTUwMCI6IiM0Y2FmNTAiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tNjAwIjoiIzQzYTA0NyIsImNvbG9yLWlndWFuYS1ncmVlbi03MDAiOiIjMzg4ZTNjIiwiY29sb3ItaWd1YW5hLWdyZWVuLTgwMCI6IiMyRTdEMzIiLCJjb2xvci1pZ3VhbmEtZ3JlZW4tOTAwIjoiIzFCNUUyMCIsImNvbG9yLWlndWFuYS1ncmVlbi1hMTAwIjoiI0I5RjZDQSIsImNvbG9yLWlndWFuYS1ncmVlbi1hMjAwIjoiIzY5RjBBRSIsImNvbG9yLWlndWFuYS1ncmVlbi1hNDAwIjoiIzAwRTY3NiIsImNvbG9yLWlndWFuYS1ncmVlbi1hNzAwIjoiIzAwYzg1MyIsImNvbG9yLWJhbmFuYS15ZWxsb3ctNTAiOiIjRkZGREU3IiwiY29sb3ItYmFuYW5hLXllbGxvdy0xMDAiOiIjRkZGOUM0IiwiY29sb3ItYmFuYW5hLXllbGxvdy0yMDAiOiIjRkZGNTlEIiwiY29sb3ItYmFuYW5hLXllbGxvdy0zMDAiOiIjRkZGMTc2IiwiY29sb3ItYmFuYW5hLXllbGxvdy00MDAiOiIjZmZlZTU4IiwiY29sb3ItYmFuYW5hLXllbGxvdy01MDAiOiIjZmZlYjNiIiwiY29sb3ItYmFuYW5hLXllbGxvdy02MDAiOiIjZmRkODM1IiwiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiOiIjZmJjMDJkIiwiY29sb3ItYmFuYW5hLXllbGxvdy04MDAiOiIjZjlhODI1IiwiY29sb3ItYmFuYW5hLXllbGxvdy05MDAiOiIjRjU3RjE3IiwiY29sb3ItYmFuYW5hLXllbGxvdy1hMTAwIjoiI0ZGRkY4RCIsImNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMCI6IiNGRkZGMDAiLCJjb2xvci1iYW5hbmEteWVsbG93LWE0MDAiOiIjZmZlYTAwIiwiY29sb3ItYmFuYW5hLXllbGxvdy1hNzAwIjoiI0VFREEwMSIsImNvbG9yLXR2LWJsdWUtNTAiOiIjRTNFRkZEIiwiY29sb3ItdHYtYmx1ZS0xMDAiOiIjQkJEOUZCIiwiY29sb3ItdHYtYmx1ZS0yMDAiOiIjOTBCRkY5IiwiY29sb3ItdHYtYmx1ZS0zMDAiOiIjNUI5Q0Y2IiwiY29sb3ItdHYtYmx1ZS00MDAiOiIjMzE3OUY1IiwiY29sb3ItdHYtYmx1ZS01MDAiOiIjMjk2MkZGIiwiY29sb3ItdHYtYmx1ZS02MDAiOiIjMUU1M0U1IiwiY29sb3ItdHYtYmx1ZS03MDAiOiIjMTg0OENDIiwiY29sb3ItdHYtYmx1ZS04MDAiOiIjMTQzRUIyIiwiY29sb3ItdHYtYmx1ZS05MDAiOiIjMEMzMjk5IiwiY29sb3ItdHYtYmx1ZS1hMTAwIjoiIzgyYjFmZiIsImNvbG9yLXR2LWJsdWUtYTIwMCI6IiM0NDhhZmYiLCJjb2xvci10di1ibHVlLWE0MDAiOiIjMjk3OWZmIiwiY29sb3ItdHYtYmx1ZS1hNjAwIjoiIzI5NjJGRiIsImNvbG9yLXR2LWJsdWUtYTcwMCI6IiMxNDNBODciLCJjb2xvci10di1ibHVlLWE4MDAiOiIjMTQyRTYxIiwiY29sb3ItdHYtYmx1ZS1hOTAwIjoiIzEzMjA0MiIsImNvbG9yLWRlZXAtYmx1ZS01MCI6IiNFREU3RjYiLCJjb2xvci1kZWVwLWJsdWUtMTAwIjoiI0QxQzRFOSIsImNvbG9yLWRlZXAtYmx1ZS0yMDAiOiIjQjM5RERCIiwiY29sb3ItZGVlcC1ibHVlLTMwMCI6IiM5NTc1Y2QiLCJjb2xvci1kZWVwLWJsdWUtNDAwIjoiIzdlNTdjMiIsImNvbG9yLWRlZXAtYmx1ZS01MDAiOiIjNjczYWI3IiwiY29sb3ItZGVlcC1ibHVlLTYwMCI6IiM1RTM1QjEiLCJjb2xvci1kZWVwLWJsdWUtNzAwIjoiIzUxMmRhOCIsImNvbG9yLWRlZXAtYmx1ZS04MDAiOiIjNDUyN0EwIiwiY29sb3ItZGVlcC1ibHVlLTkwMCI6IiMzMTFCOTIiLCJjb2xvci1kZWVwLWJsdWUtYTEwMCI6IiNiMzg4ZmYiLCJjb2xvci1kZWVwLWJsdWUtYTIwMCI6IiM3QzRERkYiLCJjb2xvci1kZWVwLWJsdWUtYTQwMCI6IiM2NTFGRkYiLCJjb2xvci1kZWVwLWJsdWUtYTcwMCI6IiM2MjAwRUEiLCJjb2xvci1taW50eS1ncmVlbi01MCI6IiNEQUYyRUUiLCJjb2xvci1taW50eS1ncmVlbi0xMDAiOiIjQUNFNURDIiwiY29sb3ItbWludHktZ3JlZW4tMjAwIjoiIzcwQ0NCRCIsImNvbG9yLW1pbnR5LWdyZWVuLTMwMCI6IiM0MkJEQTgiLCJjb2xvci1taW50eS1ncmVlbi00MDAiOiIjMjJBQjk0IiwiY29sb3ItbWludHktZ3JlZW4tNTAwIjoiIzA4OTk4MSIsImNvbG9yLW1pbnR5LWdyZWVuLTYwMCI6IiMwNjgwNkIiLCJjb2xvci1taW50eS1ncmVlbi03MDAiOiIjMDU2NjU2IiwiY29sb3ItbWludHktZ3JlZW4tODAwIjoiIzAwNEQ0MCIsImNvbG9yLW1pbnR5LWdyZWVuLTkwMCI6IiMwMDMzMkEiLCJjb2xvci1taW50eS1ncmVlbi1hMTAwIjoiI0E3RkZGMCIsImNvbG9yLW1pbnR5LWdyZWVuLWEyMDAiOiIjNDVFNUNCIiwiY29sb3ItbWludHktZ3JlZW4tYTQwMCI6IiMyQkQ5QkMiLCJjb2xvci1taW50eS1ncmVlbi1hNjAwIjoiIzI0QjI5QiIsImNvbG9yLW1pbnR5LWdyZWVuLWE3MDAiOiIjMUI3NjY3IiwiY29sb3ItbWludHktZ3JlZW4tYTgwMCI6IiMxMDQ0M0IiLCJjb2xvci1taW50eS1ncmVlbi1hOTAwIjoiIzA4MjYyMSIsImNvbG9yLWdyYXBlcy1wdXJwbGUtNTAiOiIjRjNFNUY1IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDAiOiIjRTFCRUU3IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0yMDAiOiIjQ0U5M0Q4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDAiOiIjYmE2OGM4IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS00MDAiOiIjYWI0N2JjIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS01MDAiOiIjOWMyN2IwIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS02MDAiOiIjOGUyNGFhIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS03MDAiOiIjN2IxZmEyIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS04MDAiOiIjNkExQjlBIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS05MDAiOiIjNEExNDhDIiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hMTAwIjoiI0VBODBGQyIsImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCI6IiNFMDQwRkIiLCJjb2xvci1ncmFwZXMtcHVycGxlLWE0MDAiOiIjRDUwMEY5IiwiY29sb3ItZ3JhcGVzLXB1cnBsZS1hNzAwIjoiI2FhMDBmZiIsImNvbG9yLWJlcnJ5LXBpbmstNTAiOiIjRkNFNEVDIiwiY29sb3ItYmVycnktcGluay0xMDAiOiIjRjhCQkQwIiwiY29sb3ItYmVycnktcGluay0yMDAiOiIjZjQ4ZmIxIiwiY29sb3ItYmVycnktcGluay0zMDAiOiIjZjA2MjkyIiwiY29sb3ItYmVycnktcGluay00MDAiOiIjZWM0MDdhIiwiY29sb3ItYmVycnktcGluay01MDAiOiIjZTkxZTYzIiwiY29sb3ItYmVycnktcGluay02MDAiOiIjRDgxQjYwIiwiY29sb3ItYmVycnktcGluay03MDAiOiIjQzIxODVCIiwiY29sb3ItYmVycnktcGluay04MDAiOiIjQUQxNDU3IiwiY29sb3ItYmVycnktcGluay05MDAiOiIjODgwRTRGIiwiY29sb3ItYmVycnktcGluay1hMTAwIjoiI2ZmODBhYiIsImNvbG9yLWJlcnJ5LXBpbmstYTIwMCI6IiNmZjQwODEiLCJjb2xvci1iZXJyeS1waW5rLWE0MDAiOiIjZjUwMDU3IiwiY29sb3ItYmVycnktcGluay1hNzAwIjoiI2M1MTE2MiIsImNvbG9yLXNreS1ibHVlLTUwIjoiI0UwRjdGQSIsImNvbG9yLXNreS1ibHVlLTEwMCI6IiNCMkVCRjIiLCJjb2xvci1za3ktYmx1ZS0yMDAiOiIjODBERUVBIiwiY29sb3Itc2t5LWJsdWUtMzAwIjoiIzRkZDBlMSIsImNvbG9yLXNreS1ibHVlLTQwMCI6IiMyNmM2ZGEiLCJjb2xvci1za3ktYmx1ZS01MDAiOiIjMDBiY2Q0IiwiY29sb3Itc2t5LWJsdWUtNjAwIjoiIzAwYWNjMSIsImNvbG9yLXNreS1ibHVlLTcwMCI6IiMwMDk3QTciLCJjb2xvci1za3ktYmx1ZS04MDAiOiIjMDA4MzhGIiwiY29sb3Itc2t5LWJsdWUtOTAwIjoiIzAwNjA2NCIsImNvbG9yLXNreS1ibHVlLWExMDAiOiIjODRGRkZGIiwiY29sb3Itc2t5LWJsdWUtYTIwMCI6IiMxOEZGRkYiLCJjb2xvci1za3ktYmx1ZS1hNDAwIjoiIzAwZTVmZiIsImNvbG9yLXNreS1ibHVlLWE3MDAiOiIjMDBCOEQ0IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwIjoiI0RBRjJFNiIsImNvbG9yLWZvcmVzdC1ncmVlbi0xMDAiOiIjQUNFNUM5IiwiY29sb3ItZm9yZXN0LWdyZWVuLTIwMCI6IiM3MENDOUUiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tMzAwIjoiIzQyQkQ3RiIsImNvbG9yLWZvcmVzdC1ncmVlbi00MDAiOiIjMjJBQjY3IiwiY29sb3ItZm9yZXN0LWdyZWVuLTUwMCI6IiMwODk5NTAiLCJjb2xvci1mb3Jlc3QtZ3JlZW4tNjAwIjoiIzA2ODA0MyIsImNvbG9yLWZvcmVzdC1ncmVlbi03MDAiOiIjMDU2NjM2IiwiY29sb3ItZm9yZXN0LWdyZWVuLTgwMCI6IiMwMDREMjciLCJjb2xvci1mb3Jlc3QtZ3JlZW4tOTAwIjoiIzFBMzMyNiIsImNvbG9yLWZhY2Vib29rIjoiIzE4NzdGMiIsImNvbG9yLWRlZXAtZmFjZWJvb2siOiIjMTU2NENBIiwiY29sb3ItdHdpdHRlciI6IiMxREExRjIiLCJjb2xvci1kZWVwLXR3aXR0ZXIiOiIjMTg4Q0QzIiwiY29sb3IteW91dHViZSI6IiNGRjAwMDAiLCJjb2xvci1saW5rZWRpbiI6IiMwMDdCQjUiLCJjb2xvci1zZWVraW5nLWFscGhhLWJyYW5kIjoiI2ZmNzIwMCJ9JykKfSw4Njc1MjIobyl7InVzZSBzdHJpY3QiCjtvLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2xvci1oZWFkZXItYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktYmciOiJjb2xvci13aGl0ZSIsImNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLWJnLXByaW1hcnkiOiJjb2xvci13aGl0ZSIsImNvbG9yLWJnLXByaW1hcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItYmctc2Vjb25kYXJ5IjoiY29sb3Itd2hpdGUiLCJjb2xvci1iZy1oaWdobGlnaHQiOiJjb2xvci1jb2xkLWdyYXktNTAiLCJjb2xvci1iZy1zY3JvbGwtYnV0dG9ucyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1sZWdhY3ktYmctc2Nyb2xsLWJ1dHRvbnMiOiJjb2xvci1jb2xkLWdyYXktODUwIiwiY29sb3ItbGVnYWN5LWJnLXdpZGdldCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItdGV4dC1wcmltYXJ5IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXRleHQtc2Vjb25kYXJ5IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRleHQtdGVydGlhcnkiOiJjb2xvci1jb2xkLWdyYXktNDAwIiwiY29sb3ItdGV4dC1kaXNhYmxlZCI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1hY2NlbnQtY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1ib3gtc2hhZG93IjoiY29sb3ItY29sZC1ncmF5LTMwMCIsImNvbG9yLWRpdmlkZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItZGl2aWRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1kaXZpZGVyLXNlY29uZGFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1hY3RpdmUtaG92ZXItdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1hbGVydC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvcmRlci10YWJsZSI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1icmFuZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci1icmFuZC1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItY2hhcnQtcGFnZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC1iZyI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1kYW5nZXIiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1kYW5nZXItaG92ZXIiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1kYW5nZXItYWN0aXZlIjoiY29sb3ItcmlwZS1yZWQtNjAwIiwiY29sb3ItZGVwdGhyZW5kZXJlci1zdHJva2Utc3R5bGUiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItaGlnaGxpZ2h0LW5ldyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAiLCJjb2xvci1pbnB1dC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaW5wdXQtcHVibGlzaC1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItbGluayI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItbGluay1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtNjAwIiwiY29sb3ItbGluay1hY3RpdmUiOiJjb2xvci10di1ibHVlLTcwMCIsImNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItcGFuZS1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3ItcGFuZS1zZWNvbmRhcnktYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLXByaW1hcnktc3ltYm9sIjoiY29sb3Itc2t5LWJsdWUtNTAwIiwiY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb24iOiJjb2xvci1jb2xkLWdyYXktNjUwIiwiY29sb3Itc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLXN1Y2Nlc3MtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1zdWNjZXNzLWFjdGl2ZSI6ImNvbG9yLW1pbnR5LWdyZWVuLTcwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIiOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZSI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbiI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWwiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1wb3B1cC1iYWNrZ3JvdW5kIjoiY29sb3Itd2hpdGUiLCJjb2xvci1wb3B1cC1lbGVtZW50LXRleHQiOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmUiOiJjb2xvci13aGl0ZSIsImNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTUwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWFjdGl2ZS1ob3ZlciI6ImNvbG9yLXR2LWJsdWUtMjAwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS03MDAiLCJjb2xvci10b29sdGlwLWJnIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uIjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3ItdW5kZXJsaW5lZC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXdpZGdldC1wYWdlcy1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itd2FybmluZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItZ3Jvd2luZyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWZhbGxpbmciOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1mb3JleC1pY29uIjoiY29sb3ItY29sZC1ncmF5LTc1MCIsImNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTQwMCIsImNvbG9yLWxpc3QtaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1saXN0LWl0ZW0tdGV4dCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2siOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItcHJpY2UtYXhpcy1sYWJlbC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLXByaWNlLWF4aXMtZ2VhciI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXIiOiJjb2xvci1ibGFjayIsImNvbG9yLXByaWNlLWF4aXMtaGlnaGxpZ2h0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJpZCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3ItYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvcmRlci1jaGF0LWZpZWxkcyI6ImNvbG9yLWNvbGQtZ3JheS0yNTAiLCJjb2xvci1ib3JkZXItaG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMjUwIiwiY29sb3ItYnV0dG9uLWhvdmVyLWJnIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZSI6ImNvbG9yLWNvbGQtZ3JheS02NTAiLCJjb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWRpc2FibGVkLWlucHV0IjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWVtcHR5LWNvbnRhaW5lci1tZXNzYWdlIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWljb25zIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLWlucHV0LXRleHRhcmVhLXJlYWRvbmx5IjoiY29sb3ItY29sZC1ncmF5LTY1MCIsImNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3ItaXRlbS1hY3RpdmUtYmx1ZSI6ImNvbG9yLXR2LWJsdWUtNTAiLCJjb2xvci1pdGVtLWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1iZyI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItaXRlbS1ob3Zlci1ibHVlIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1pdGVtLXNlbGVjdGVkLWJsdWUiOiJjb2xvci10di1ibHVlLTUwIiwiY29sb3ItaXRlbS1hY3RpdmUtdGV4dCI6ImNvbG9yLXdoaXRlIiwiY29sb3ItaXRlbS1hY3RpdmUtYmciOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWxpc3QtaXRlbSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1uZXdzLWhpZ2hsaWdodCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItcGxhY2Vob2xkZXIiOiJjb2xvci1jb2xkLWdyYXktMzUwIiwiY29sb3Itcm93LWhvdmVyLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0xMDAiLCJjb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMzAwIiwiY29sb3Itc2VwYXJhdG9yLXRhYmxlLWNoYXQiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGFnLWFjdGl2ZS1iZyI6ImNvbG9yLWNvbGQtZ3JheS0yMDAiLCJjb2xvci10YWctaG92ZXItYmciOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItdGV4dC1yZWd1bGFyIjoiY29sb3ItY29sZC1ncmF5LTcwMCIsImNvbG9yLXR2LWJ1dHRvbi1jaGVja2VkIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXNjcm9sbC1iZyI6ImNvbG9yLWNvbGQtZ3JheS00MDAiLCJjb2xvci1zY3JvbGwtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXdpZGdldC1ib3JkZXIiOiJjb2xvci1jb2xkLWdyYXktMTAwIiwiY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3ciOiJjb2xvci13aGl0ZSIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQiOiJjb2xvci1jb2xkLWdyYXktMjAwIiwiY29sb3ItY29udHJvbC1pbnRlbnQtc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmciOiJjb2xvci10YW4tb3JhbmdlLTUwMCIsImNvbG9yLWNvbnRyb2wtaW50ZW50LWRhbmdlciI6ImNvbG9yLXJpcGUtcmVkLTUwMCIsImNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZCI6ImNvbG9yLWNvbGQtZ3JheS04MDAiLCJjb2xvci1wcmUtbWFya2V0IjoiY29sb3ItdGFuLW9yYW5nZS02MDAiLCJjb2xvci1wb3N0LW1hcmtldCI6ImNvbG9yLXR2LWJsdWUtNTAwIiwiY29sb3Itbm90YWNjdXJhdGUtbW9kZSI6ImNvbG9yLWJlcnJ5LXBpbmstNjAwIiwiY29sb3ItZGVsYXktbW9kZSI6ImNvbG9yLXRhbi1vcmFuZ2UtNzAwIiwiY29sb3ItZGVsYXktbW9kZS1iZyI6ImNvbG9yLXRhbi1vcmFuZ2UtNDAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkIjoiY29sb3ItdHYtYmx1ZS01MCIsImNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZCI6ImNvbG9yLXR2LWJsdWUtMTAwIiwiY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS0xMDAiLCJjb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXIiOiJjb2xvci10di1ibHVlLTIwMCIsImNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZyI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLW1hcmtlci1mbGFnZ2VkIjoiY29sb3ItcmlwZS1yZWQtNDAwIiwiY29sb3ItbWFya2VyLWZsYWdnZWQtaG92ZXJlZCI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFzayI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLXNlbGwiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1idXkiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLW5ldXRyYWwiOiJjb2xvci1jb2xkLWdyYXktNTUwIiwiY29sb3ItcHJvIjoiY29sb3ItbWludHktZ3JlZW4tNDAwIiwiY29sb3ItcHJvLWhvdmVyIjoiY29sb3ItbWludHktZ3JlZW4tNjAwIiwiY29sb3ItcHJvLXBsdXMiOiJjb2xvci10di1ibHVlLTUwMCIsImNvbG9yLXByby1wbHVzLWhvdmVyIjoiY29sb3ItdHYtYmx1ZS02MDAiLCJjb2xvci1wcm8tcHJlbWl1bSI6ImNvbG9yLXRhbi1vcmFuZ2UtNTAwIiwiY29sb3ItcHJvLXByZW1pdW0taG92ZXIiOiJjb2xvci10YW4tb3JhbmdlLTcwMCIsImNvbG9yLXRyaWFsIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLXRyaWFsLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTU1MCIsImNvbG9yLW1vZCI6ImNvbG9yLXJpcGUtcmVkLTQwMCIsImNvbG9yLW1vZC1ob3ZlciI6ImNvbG9yLXJpcGUtcmVkLTYwMCIsImNvbG9yLWFkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQiOiJjb2xvci1taW50eS1ncmVlbi00MDAiLCJjb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXIiOiJjb2xvci1taW50eS1ncmVlbi02MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtYWN0aXZlIjoiY29sb3ItbWludHktZ3JlZW4tNTAwIiwiY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQiOiJjb2xvci1yaXBlLXJlZC01MDAiLCJjb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkIjoiY29sb3ItdGFuLW9yYW5nZS01MDAiLCJjb2xvci1vdmVybGF5IjoiY29sb3ItY29sZC1ncmF5LTQwMCIsImNvbG9yLXNlYXJjaC1idXR0b24taG92ZXIiOiJjb2xvci1jb2xkLWdyYXktMTUwIiwiY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQiOiJjb2xvci10di1ibHVlLTYwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1jb250ZW50LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTkwMCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1iZy1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTE1MCIsImNvbG9yLWJvb3N0LWJ1dHRvbi1ib3JkZXItZGVmYXVsdCI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jb21tb24tdG9vbHRpcC10ZXh0IjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXJlcGxheS1kYXRhLW1vZGUiOiJjb2xvci1yaXBlLXJlZC00MDAiLCJjb2xvci1sZWdhY3ktc3VjY2VzcyI6ImNvbG9yLW1pbnR5LWdyZWVuLTMwMCIsImNvbG9yLWNvbGxhcHNlLXRhYnMtYm9yZGVyIjoiY29sb3ItY29sZC1ncmF5LTEwMCIsImNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTUwIiwiY29sb3ItYXR0ZW50aW9uIjoiY29sb3ItYmFuYW5hLXllbGxvdy03MDAiLCJjb2xvci14LXR3aXR0ZXItY29udGVudCI6ImNvbG9yLWNvbGQtZ3JheS05MDAiLCJjb2xvci1jYXJkLWJvcmRlciI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1jYXJkLWJvcmRlci1ob3ZlciI6ImNvbG9yLWNvbGQtZ3JheS0zMDAiLCJjb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLXdoaXRlIiwiY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeSI6ImNvbG9yLWNvbGQtZ3JheS0xNTAiLCJjb2xvci1zZWxlY3Rpb24tYmciOiJjb2xvci10di1ibHVlLTEwMCIsImNvbG9yLWRlZmF1bHQtZ3JheSI6ImNvbG9yLWNvbGQtZ3JheS01NTAiLCJjb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmciOiJjb2xvci1jb2xkLWdyYXktOTAwIiwiY29sb3ItZmVhdHVyZWQtYnJva2VyLWJhZGdlLWJnLWhvdmVyIjoiY29sb3ItY29sZC1ncmF5LTgwMCIsImNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS10ZXh0IjoiY29sb3Itd2hpdGUifScpCn19XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.231Z","timestamp":1785136428231,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tZOSQBP946Q\r\nCookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; YSC=seM8HdZ9Ato; __Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; VISITOR_INFO1_LIVE=-NYM_ljp5ZA; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D\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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 431100\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81107.1bba59e2089e58347859.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.295Z","timestamp":1785136429295,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81107.1bba59e2089e58347859.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a168c40-1a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 27 May 2026 06:16:32 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/27/2026 10:28:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9a9d520afe375bb1a05bc2bf235636ec\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":422,"size_decoded":1071,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (422), with no line terminators","md5":"bbedb6cfb6fdedcd16b81f2902fc0dd3","sha1":"a08e4fbb5cf25c5f36e5205c1daaef7e8932a13a","sha256":"a66450b6e17ba000dfee8e666e946eafb12a80bdece569b3d84ee53deeb26719","sha512":"ddd2ce1956348275866bef49d9e080afd694d048db9dee2058a369a7b03877c8fbbbcca91d67e5c712789bff19c9bae30838e8fe3b0cedf48ec09bf240623705","ssdeep":"","tlshash":"60e055a3f418822e3a12ad3b1390474fa069f8476803b658ea85b51800c36e328b1708","first_seen":"2026-05-29T10:56:22.456907Z","last_seen":"2026-07-28T06:17:53.610406Z","times_seen":322,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtdm1jVjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX0uZm9vdGVyLVlCSk16QV9se2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXZtY1YpO2JvcmRlci1yYWRpdXM6MCAwIDZweCA2cHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87Zm9udC1zaXplOjEzcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxN3B4O21heC1oZWlnaHQ6NjVweDttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo5cHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcn0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/neutral-arrow.98f61c315d4530055812.svg","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.282Z","timestamp":1785136430282,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/neutral-arrow.98f61c315d4530055812.svg HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136430.1.1785136430..e10326a9-5e0a-4b24-bb1b-ef5e2ad69273..b8a217f6-bdbb-4762-8027-7add5bfbfb8e.1785136429729.1\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/30288.59207aa2607ea1597287.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.467Z","timestamp":1785136428467,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30288.59207aa2607ea1597287.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-c680\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 21e0167903df7475d9cb5c9b7e21866b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":50816,"size_decoded":20318,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"ea1d9d8d3342c88f33ec3b530e0573ef","sha1":"d655950fc76c40243ee9494c5fcc45e069dbaad3","sha256":"5c4b42f42930e52d140aec5e82b967b86ea0bc4581cfea3ecd33ca21c156520f","sha512":"4a85bff8bc70939b4386535712fa0ce2eae8d2f970a7e4c0f966b40eef502520b53f0bcc55b8062e0d4154ec40c589d4be511f57f11176afdb68166e3b090436","ssdeep":"1536:M/5WmDah7ltfnbgA/bllhJ9AwCh85Q9BO9X/tH78kJM:MZilpvbAR9By/5M","tlshash":"6e330ac572d6f0ab03d605e584bb5042f33d49a9b80d84a1f658e9d13c66c9e63b3fac","first_seen":"2026-07-23T22:46:45.786098Z","last_seen":"2026-07-28T04:58:42.063064Z","times_seen":361,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMDI4OF0sezg2MDAyNShlKXtlLmV4cG9ydHM9e3BhaXI6InBhaXIteHdHc1NYUjAiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwIix4eHh4c21hbGw6Inh4eHhzbWFsbC14d0dzU1hSMCIseHh4c21hbGw6Inh4eHNtYWxsLXh3R3NTWFIwIix4eHNtYWxsOiJ4eHNtYWxsLXh3R3NTWFIwIix4c21hbGw6InhzbWFsbC14d0dzU1hSMCIsc21hbGw6InNtYWxsLXh3R3NTWFIwIixtZWRpdW06Im1lZGl1bS14d0dzU1hSMCIsbGFyZ2U6ImxhcmdlLXh3R3NTWFIwIix4bGFyZ2U6InhsYXJnZS14d0dzU1hSMCIseHhsYXJnZToieHhsYXJnZS14d0dzU1hSMCIseHh4bGFyZ2U6Inh4eGxhcmdlLXh3R3NTWFIwIixsb2dvOiJsb2dvLXh3R3NTWFIwIixza2VsZXRvbjoic2tlbGV0b24teHdHc1NYUjAiLGVtcHR5OiJlbXB0eS14d0dzU1hSMCJ9fSwxNDAwMTcoZSl7ZS5leHBvcnRzPXtsb2dvOiJsb2dvLVZDTkt1YldxIixoaWRkZW46ImhpZGRlbi1WQ05LdWJXcSIseHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzOiJ4eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3EiLHh4eHNtYWxsOiJ4eHhzbWFsbC1WQ05LdWJXcSIseHhzbWFsbDoieHhzbWFsbC1WQ05LdWJXcSIseHNtYWxsOiJ4c21hbGwtVkNOS3ViV3EiLHNtYWxsOiJzbWFsbC1WQ05LdWJXcSIsbWVkaXVtOiJtZWRpdW0tVkNOS3ViV3EiLGxhcmdlOiJsYXJnZS1WQ05LdWJXcSIseGxhcmdlOiJ4bGFyZ2UtVkNOS3ViV3EiLHh4bGFyZ2U6Inh4bGFyZ2UtVkNOS3ViV3EiLHh4eGxhcmdlOiJ4eHhsYXJnZS1WQ05LdWJXcSIsc2tlbGV0b246InNrZWxldG9uLVZDTkt1YldxIixsZXR0ZXI6ImxldHRlci1WQ05LdWJXcSJ9fSw5NzUyODUoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLWhjdDJ5SnZLIixhbmltYXRlZDoiYW5pbWF0ZWQtaGN0MnlKdksiLHB1bHNhdGlvbjoicHVsc2F0aW9uLWhjdDJ5SnZLIn19LDM5OTA5MihlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtY29weXJpZ2h0LXRyYW5zaXRpb24tcGFyYW1zIjoiLjZzIDBzIGN1YmljLWJlemllciguNCwgLjAxLCAuMjIsIDEpIiwiY3NzLXZhbHVlLWNvcHlyaWdodC10cmFuc2l0aW9uLXBhcmFtcy1oYWxmLXRpbWUiOiIuM3MgMHMgY3ViaWMtYmV6aWVyKC40LCAuMDEsIC4yMiwgMSkiLGxhYmVsOiJsYWJlbC1kemJkN2x5ViIsbG9nb1dyYXA6ImxvZ29XcmFwLWR6YmQ3bHlWIixleHBhbmRlZFdpdGhUcmFuc2l0aW9uOiJleHBhbmRlZFdpdGhUcmFuc2l0aW9uLWR6YmQ3bHlWIixleHBhbmRlZEJ5Q2xpY2s6ImV4cGFuZGVkQnlDbGljay1kemJkN2x5ViIsc3RhcnQ6InN0YXJ0LWR6YmQ3bHlWIixlbmQ6ImVuZC1kemJkN2x5ViIsc25hcDoic25hcC1kemJkN2x5ViIsdG9wOiJ0b3AtZHpiZDdseVYiLGJvdHRvbToiYm90dG9tLWR6YmQ3bHlWIixsYXJnZToibGFyZ2UtZHpiZDdseVYiLGV4cGFuZGVkOiJleHBhbmRlZC1kemJkN2x5ViIsbGFiZWxfX2xpbms6ImxhYmVsX19saW5rLWR6YmQ3bHlWIn19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5wLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDM3NzIyNiksbz1uKDg1NjE5Nikscz1uKDkzMjM2NSk7Y29uc3QgYT1uZXcgci5EZWxlZ2F0ZSxjPSgpPT5hLGw9ImZvcmNlZmVhdHVyZXRvZ2dsZS4iO2NvbnN0IHU9bmV3IGNsYXNze2VuYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwidHJ1ZSIpLGEuZmlyZShlKX1kaXNhYmxlRmVhdHVyZShlKXtzLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0obCtlLCJmYWxzZSIpLGEuZmlyZShlKX1yZXNldEZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGwrZSksYS5maXJlKGUpfW9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQoKXtyZXR1cm4gYX19O2Z1bmN0aW9uIGQoZSx0KXtyZXR1cm4oIWVbdF18fC0xIT09ZVt0XSkmJighISgidHJ1ZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJ0cnVlIj09PXdpbmRvdy51c2VyPy5zZXR0aW5ncz8uW2wrdF0pfHwhKCJmYWxzZSI9PT1zLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0obCt0KXx8d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJiJmYWxzZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKSYmKCEhZVt0XSYmKDE9PT1lW3RdfHwoMCxvLnNob3VsZEFmZmVjdFVzZXIpKHQsZVt0XSkpKSl9d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e30sd2luZG93LlRyYWRpbmdWaWV3LkZlYXR1cmVUb2dnbGU9dTtjb25zdCBwPShnPXdpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGV8fHt9LCgwLGkub25XaWRnZXQpKCl8fFByb21pc2UuYWxsKFtuLmUoODU0MzQpLG4uZSg3Mjg1KSxuLmUoMTM5OTMpXSkudGhlbihuLmJpbmQobiw1MDcyODUpKS50aGVuKChlPT57ZS5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub24oImZlYXR1cmV0b2dnbGUiLChlPT57Y29uc3QgdD1kKGcsZS5uYW1lKTtnW2UubmFtZV09ZS5zdGF0ZSx0IT09ZChnLGUubmFtZSkmJmEuZmlyZShlLm5hbWUpfSkpfSkpLGQuYmluZChudWxsLGcpKTt2YXIgZzt3aW5kb3cuVHJhZGluZ1ZpZXcuaXNGZWF0dXJlRW5hYmxlZD1wfSw3OTI2MTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0RnJlc2hJbml0RGF0YTooKT0+bCxnZXRJbml0RGF0YTooKT0+Yyx1cGRhdGVJbml0RGF0YTooKT0+YX0pO3ZhciByPW4oMTM4NjM4KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uSW5pdERhdGEiKSxvPXdpbmRvdy5pbml0RGF0YXx8e307ZnVuY3Rpb24gcygpeyFmdW5jdGlvbigpe2NvbnN0IGU9d2luZG93O2UuaW5pdERhdGEmJmUuaW5pdERhdGEhPT1vJiYoT2JqZWN0LmFzc2lnbihvLGUuaW5pdERhdGEpLGUuaW5pdERhdGE9bykKfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLHIuZW5zdXJlTm90TnVsbCkobi50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24obyxlKX1jYXRjaChlKXtpLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxyLmVuc3VyZU5vdE51bGwpKG4ucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQobil9fWNvbnN0IHQ9by5jb250ZW50O3QmJm8uc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLm8uc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtzKCl9ZnVuY3Rpb24gYygpe3JldHVybiBvfWZ1bmN0aW9uIGwoKXtyZXR1cm4gcygpLG99fSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9PmksdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+b30pO3ZhciByPW4oNTg3NDM2KTtmdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IGk9InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxvPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1yLmdldCgidHZfYXBwIil8fCIiO2l8fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLG98fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IWkpfHwhKCJuZXciPT09ZXx8IW8pfWZ1bmN0aW9uIG8oZSx0PSExKXtpZihpKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYoaSgib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw5MzA1NjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6KCk9PkosZ2V0Qm9vbDooKT0+SSxnZXRGbG9hdDooKT0+TyxnZXRJbnQ6KCk9PkQsZ2V0SlNPTjooKT0+TSxnZXRWYWx1ZTooKT0+TixrZXlzOigpPT5CLGtleXNNYXNrOigpPT5XLGxvYWRlZDooKT0+Ryxsb2FkZWRNb2RlbDooKT0+cSxvblN5bmM6KCk9PmoscmVtb3ZlOigpPT5WLHNldEpTT046KCk9PkEsc2V0U2V0dGluZ3NBZGFwdGVyOigpPT5LLHNldFZhbHVlOigpPT5SLHN5bmM6KCk9Pkh9KTt2YXIgcj1uKDk0ODM4MCksaT1uKDIyMTA2MSksbz1uKDU0MDU3OCkscz1uKDkzMDIzMSksYT1uKDU2OTM5OCksYz1uKDkwOTc5OCksbD1uKDM3NzIyNiksdT1uKDM4NDAxNyksZD1uKDE1MjY5OSkscD1uKDkzMjM2NSk7d2luZG93LlRyYWRpbmdWaWV3PXdpbmRvdy5UcmFkaW5nVmlld3x8e307Y29uc3QgZz1bInMudHJhZGluZ3ZpZXcuY29tIiwiYmV0YWNkbi50cmFkaW5ndmlldy5jb20iXSxmPSgoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpLCJsb2NhbCI9PT13aW5kb3cuZW52aXJvbm1lbnQ/NWUzOjEyZTQpLG09KDAsbC5vbldpZGdldCkoKT8idHJhZGluZ3ZpZXctd2lkZ2V0IjoidHJhZGluZ3ZpZXciLGg9bSsiLiI7bGV0IHksdix3LGI9ITEsXz1udWxsLHg9e30sUz1bXTtjb25zdCBrPVsvXndpZGdldGJhclwud2lkZ2V0XC53YXRjaGxpc3QuKy8sLy4rcXVpY2tzJC8sL153aWRnZXRiYXJcLmxheW91dC1zZXR0aW5ncyQvLC9eQ2hhcnRTaWRlVG9vbGJhcldpZGdldFwudmlzaWJsZSQvLC9eb253aWRnZXRcLndhdGNobGlzdCQvLC9eY2hhcnRcLmZhdm9yaXRlRHJhd2luZ3MkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzUG9zaXRpb24kLywvXmNoYXJ0XC5mYXZvcml0ZUxpYnJhcnlJbmRpY2F0b3JzJC8sL15sb2FkQ2hhcnREaWFsb2cuZmF2b3JpdGVzJC8sL15DaGFydEZhdm9yaXRlRHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvLC9edHJhZGluZ1wuY2hhcnRcLnByb3RlcnR5JC8sL150cmFkaW5nX2Zsb2F0aW5nX3Rvb2xiYXJcLnBvc2l0aW9uJC8sL150cmFkaW5nXC5vcmRlcldpZGdldE1vZGVcLi8sL15zeW1ib2xXYXRlcm1hcmskLywvXnBpbmVyZWZlcmVuY2VcLnNpemUkLywvXnBpbmVyZWZlcmVuY2VcLnBvc2l0aW9uJC8sL15oaW50XC4rLywvXkNoYXJ0RHJhd2luZ1Rvb2xiYXJXaWRnZXRcLnZpc2libGUvXTtjb25zdCBUPSgpPT4hKF98fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxQPWU9PmgrZSxDPSgwLGkuZ2V0TG9nZ2VyKSgiTGliLlRWU2V0dGluZ3MiKSxFPWU9PntpZihifHx3KXJldHVybjtpZigoMCxhLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3NhdmVfc2V0dGluZ3MiKSlyZXR1cm4gdm9pZCBDPy5sb2dXYXJuKCJTZXR0aW5ncyBmbGFzaGluZyBoYXMgYmVlbiBza2lwcGVkIGJlY2F1c2Ugb2YgZGlzYWJsZV9zYXZlX3NldHRpbmdzIGZlYXR1cmV0b2dnbGUiKTtpZigoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSlyZXR1cm47aWYoVCgpKXJldHVybjtpZigwPT09Uy5sZW5ndGgpcmV0dXJuO2NvbnN0IHQ9UztTPVtdO2NvbnN0IG49e307Zm9yKGxldCBlPXQubGVuZ3RoO2UtLTspe2NvbnN0IHI9dFtlXTtuW3JdPXhbcl0/P251bGx9Y29uc3Qgcj1uZXcgRm9ybURhdGE7ci5hcHBlbmQoImRlbHRhIixKU09OLnN0cmluZ2lmeShuKSksZSYmbmF2aWdhdG9yLnNlbmRCZWFjb24/bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9zYXZlc2V0dGluZ3MvIixyKTooMCx1LmZldGNoKSgiL3NhdmVzZXR0aW5ncy8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixib2R5OnJ9KS50aGVuKChuPT57aWYobi5va3x8KFM9Uy5jb25jYXQodCkpLFs0MjksNTAzXS5pbmNsdWRlcyhuLnN0YXR1cykpewpjb25zdCB0PTFlMyorKG4uaGVhZGVycy5nZXQoInJldHJ5LWFmdGVyIil8fDApfHwzZTU7dz1zZXRUaW1lb3V0KCgoKT0+e3c9dm9pZCAwLEUoZSl9KSx0KX19KSkuY2F0Y2goKCgpPT57Uz1TLmNvbmNhdCh0KX0pKX0sRj0oKT0+e3k9dm9pZCAwLFMubGVuZ3RoJiZFKCl9LEw9KGUsdD17fSk9PntpZihfKW51bGw9PXhbZV0/Xy5yZW1vdmVWYWx1ZShlKTpfLnNldFZhbHVlKGUseFtlXSk7ZWxzZSBpZihUKCkpdHJ5e251bGw9PXhbZV0/cC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFAoZSkpOnAuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShQKGUpLHhbZV0pfWNhdGNoKGUpe31lbHNlIFMucHVzaChlKSx5fHwoeT1zZXRUaW1lb3V0KEYsZikpO3Quc2tpcENyb3NzV2luZG93RXZlbnR8fGQuVFZYV2luZG93RXZlbnRzLmVtaXQoInNldHRpbmdzIixKU09OLnN0cmluZ2lmeSh7a2V5OmUsdmFsdWU6eFtlXX0pKX07ZnVuY3Rpb24gTihlLHQpe2NvbnN0IG49eFtlXTtyZXR1cm4gbj8/dH1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7dHJ5e3JldHVybiBKU09OLnBhcnNlKG4pfWNhdGNoKG4pe3JldHVybiBWKGUpLHR9fWZ1bmN0aW9uIFYoZSx0PXt9KXtyZXR1cm4gbnVsbCE9eFtlXSYmKGRlbGV0ZSB4W2VdLEwoZSkpLHQuZm9yY2VGbHVzaCYmRSgpLFh9ZnVuY3Rpb24gSShlLHQpe2NvbnN0IG49TihlKTtyZXR1cm4gbnVsbD09bj90OiEoIW58fCJmYWxzZSI9PT1ufHwwPT0rbil9ZnVuY3Rpb24gTyhlLHQpe2NvbnN0IG49TihlKTtpZihudWxsPT1uKXJldHVybiB0O2NvbnN0IHI9cGFyc2VGbG9hdChuKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgZmxvYXQgKGtleTogIicrZSsnIiknKTtyZXR1cm4gcn1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgbj1OKGUpO2lmKG51bGw9PW4pcmV0dXJuIHQ7Y29uc3Qgcj1wYXJzZUludChuLDEwKTtpZighaXNGaW5pdGUocikpdGhyb3cgbmV3IFR5cGVFcnJvcignIicrbisnIiBpcyBub3QgaW50IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIHJ9ZnVuY3Rpb24gUihlLHQsbj17fSl7Y29uc3Qgcj0iIit0O3JldHVybiB4W2VdIT09ciYmKHhbZV09cixMKGUsbikpLG4uZm9yY2VGbHVzaCYmIXYmJih2PXNldFRpbWVvdXQoKCgpPT57dj12b2lkIDAsRSgpfSksMTApKSxYfWZ1bmN0aW9uIEEoZSx0LG4pe3JldHVybiBSKGUsSlNPTi5zdHJpbmdpZnkodCksbiksWH1mdW5jdGlvbiBCKCl7cmV0dXJuIE9iamVjdC5rZXlzKHgpfWZ1bmN0aW9uIFcoZSl7Y29uc3QgdD1CKCksbj1bXSxyPW5ldyBSZWdFeHAoIl4iKygwLG8ucmVnRXhwRXNjYXBlKShlKS5yZXBsYWNlKC9cXFwqXFxcKi9naSwiLisiKS5yZXBsYWNlKC9cXFwqL2dpLCJbXi5dKyIpKyIkIiwiZ2kiKTtmb3IobGV0IGU9dC5sZW5ndGgtMTtlPj0wO2UtLSlyLnRlc3QodFtlXSkmJm4ucHVzaCh0W2VdKSxyLmxhc3RJbmRleD0wO3JldHVybiBufWQuVFZYV2luZG93RXZlbnRzLm9uKCJzZXR0aW5ncyIsKGU9Pntjb25zdCB0PUpTT04ucGFyc2UoZSk7bnVsbD09dC52YWx1ZT9kZWxldGUgeFt0LmtleV06eFt0LmtleV09dC52YWx1ZX0pKTtjb25zdCBVPWU9Pntmb3IobGV0IHQ9MDt0PGsubGVuZ3RoOysrdClpZihrW3RdLmV4ZWMoZSkpcmV0dXJuITA7cmV0dXJuITF9LCQ9ZT0+ZS5zdWJzdHJpbmcoMCxoLmxlbmd0aCk9PT1oLHo9ZT0+e3g9e307Y29uc3QgdD0wPT09T2JqZWN0LmtleXMoZSkubGVuZ3RoO3R8fChlPT57T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e3hbdF09ZVt0XSsiIn0pKX0pKGUpLChlPT57Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7biYmJChuKSYmKGUmJlIobi5zdWJzdHJpbmcoaC5sZW5ndGgpLHAuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShuKSkscC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKG4pKX19KSh0KX0saj1uZXcgci5EZWxlZ2F0ZTtmdW5jdGlvbiBIKGUpe251bGwhPT1lPyhfP3ooXy5pbml0aWFsU2V0dGluZ3N8fHt9KTpUKCk/KCgoKT0+e2lmKCEoMCxsLm9uV2lkZ2V0KSgpfHwhZy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdCkpcmV0dXJuO2NvbnN0IGU9InRyYWRpbmd2aWV3LiI7Zm9yKGxldCB0PXAuVFZMb2NhbFN0b3JhZ2UubGVuZ3RoO3QtLTspe2NvbnN0IG49cC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoMD09PW4uaW5kZXhPZihlKSl7Y29uc3QgdD1uLnJlcGxhY2UoZSxtKyIuIik7cC5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQscC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKSxwLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obil9fX0pKCksKCgpPT57eD17fTtjb25zdCBlPSEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSIpO2ZvcihsZXQgdD1wLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBuPXAuVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKCFufHwhJChuKSljb250aW51ZTtjb25zdCByPW4uc3Vic3RyaW5nKGgubGVuZ3RoKTtlJiYhVShyKXx8KHhbcl09cC5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pKX19KSgpKTp6KGV8fHt9KSxqLmZpcmUoKSk6Yj0hMH1mdW5jdGlvbiBLKGUpe189ZX1jb25zdCBHPSExLHE9ITEsWD17bG9hZGVkOkcsbG9hZGVkTW9kZWw6cSxnZXRWYWx1ZTpOLGdldEpTT046TSxnZXRCb29sOkksZ2V0RmxvYXQ6TyxnZXRJbnQ6RCxzZXRWYWx1ZTpSLHNldEpTT046QSxyZW1vdmU6VixrZXlzOkIsa2V5c01hc2s6VyxzeW5jOkgsb25TeW5jOmosc2V0U2V0dGluZ3NBZGFwdGVyOkt9LEo9WDt3aW5kb3cuVFZTZXR0aW5ncz1YLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgoKT0+eyJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiYhMCE9PWRvY3VtZW50LmhpZGRlbnx8RSgpfSkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsKCgpPT57RSghMCl9KSksCndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+e0UoITApfSkpLGMuZmx1c2hEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCwoKCk9PntFKCl9KSksc2V0VGltZW91dCgoYXN5bmMoKT0+e2NvbnN0e2NsZWFyT2xkU2V0dGluZ3M6ZX09YXdhaXQgbi5lKDM1OTgwKS50aGVuKG4uYmluZChuLDc1NDE4NSkpO2UoKX0pLDNlNCl9LDE1MjE4MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRDaXJjbGVMb2dvUGFpckh0bWw6KCk9Pml9KTt2YXIgcj1uKDYyNzg0OCk7ZnVuY3Rpb24gaShlKXtjb25zdHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6bixzaXplOmksY2xhc3NOYW1lOnN9PWU7cmV0dXJuYDxzcGFuIGNsYXNzPSIkeygwLHIuZ2V0QmxvY2tTdHlsZUNsYXNzZXMpKGkscyl9Ij5cblx0XHRcdCR7byh7bG9nb1VybDpuLHNpemU6aX0pfVxuXHRcdFx0JHtvKHtsb2dvVXJsOnQsc2l6ZTppfSl9XG5cdFx0PC9zcGFuPmB9ZnVuY3Rpb24gbyhlKXtjb25zdHtsb2dvVXJsOnQsc2l6ZTpufT1lLGk9KDAsci5nZXRMb2dvU3R5bGVDbGFzc2VzKShuLDIsQm9vbGVhbih0KSk7cmV0dXJuIHZvaWQgMD09PXQ/YDxzcGFuIGNsYXNzPSIke2l9Ij48L3NwYW4+YDpgPGltZyBjbGFzcz0iJHtpfSIgY3Jvc3NvcmlnaW4gc3JjPSIke3R9IiBhbHQ9IiIgLz5gfX0sNjI3ODQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldEJsb2NrU3R5bGVDbGFzc2VzOigpPT5jLGdldExvZ29TdHlsZUNsYXNzZXM6KCk9Pmx9KTt2YXIgcj1uKDkxNDQ4NyksaT1uLm4ociksbz1uKDEzNjQpLHM9big4NjAwMjUpLGE9bi5uKHMpO2Z1bmN0aW9uIGMoZSx0KXtyZXR1cm4gaSgpKGEoKS5wYWlyLGEoKVtlXSx0KX1mdW5jdGlvbiBsKGUsdD0yLG49ITApe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLGEoKS5za2VsZXRvbixvLnNrZWxldG9uVGhlbWUud3JhcHBlciwhbiYmYSgpLmVtcHR5LDE9PT10JiZpKCkoby5za2VsZXRvblRoZW1lLmFuaW1hdGVkKSl9fSw4ODQ3OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0Q2lyY2xlTG9nb0h0bWw6KCk9Pml9KTt2YXIgcj1uKDc5NDE4Nyk7bigxNDAwMTcpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxyLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLDIsZS5jbGFzc05hbWUpO3JldHVybigwLHIuaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzKShlKT9gPGltZyBjbGFzcz0iJHt0fSIgY3Jvc3NvcmlnaW4gc3JjPSIke2UubG9nb1VybH0iIGFsdD0iIj5gOmA8c3BhbiBjbGFzcz0iJHt0fSI+JHtlLnBsYWNlaG9sZGVyTGV0dGVyfHwiIn08L3NwYW4+YH19LDc5NDE4NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHlsZUNsYXNzZXM6KCk9PmMsaXNDaXJjbGVMb2dvV2l0aFVybFByb3BzOigpPT5sfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY0KSxzPW4oMTQwMDE3KSxhPW4ubihzKTtmdW5jdGlvbiBjKGUsdD0yLG4pe3JldHVybiBpKCkoYSgpLmxvZ28sYSgpW2VdLG4sMD09PXR8fDE9PT10P2koKShvLnNrZWxldG9uVGhlbWUud3JhcHBlcixhKCkuc2tlbGV0b24pOmEoKS5sZXR0ZXIsMT09PXQmJm8uc2tlbGV0b25UaGVtZS5hbmltYXRlZCl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibG9nb1VybCJpbiBlJiZudWxsIT09ZS5sb2dvVXJsJiZ2b2lkIDAhPT1lLmxvZ29VcmwmJjAhPT1lLmxvZ29VcmwubGVuZ3RofX0sMzA5OTIwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0N1c3RvbUJlaGF2aW91ckNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSh7ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9KTtyLmRpc3BsYXlOYW1lPSJDdXN0b21CZWhhdmlvdXJDb250ZXh0In0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pml9KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3QgaT1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOmksYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6cyxhcmlhSGlkZGVuOmEsLi4uY309ZSxsPSEhKGl8fG98fHMpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmMscmVmOnQsImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6cywiYXJpYS1oaWRkZW4iOmF8fCFsLHRpdGxlOmksZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pml9KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3QgaT1uLm4ocikoKX0sMzQ0MTAzKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1be2Q6IkUtTWluaSBTJlAgNTAwIix0OiJFUyJ9LHtkOiJFLU1pbmkgTmFzZGFxIDEwMCIsdDoiTlEifSx7ZDoiR29sZCIsdDoiR0MifSx7ZDoiU2lsdmVyIix0OiJTSSJ9LHtkOiJDcnVkZSBPaWwgV1RJIix0OiJDTCJ9LHtkOiJOYXR1cmFsIEdhcyIsdDoiTkcifSx7ZDoiQXVzdHJhbGlhbiBEb2xsYXIiLHQ6IjZBIn0se2Q6IkF1c3RyYWxpYW4gRG9sbGFyIChGbG9vcikiLHQ6IkFEIn0se2Q6IkV1cm8gRlgiLHQ6IjZFIn0se2Q6IkV1cm8gRlggKEZsb29yKSIsdDoiRUMifSx7ZDoiQ29ybiIsdDoiWkMifSx7ZDoiQ29ybiAoRmxvb3IpIix0OiJDIn0se2Q6IkV1cm9kb2xsYXIiLHQ6IkdFIn0se2Q6IkV1cm9kb2xsYXIgKEZsb29yKSIsdDoiRUQifV0sbj1mdW5jdGlvbigpe3ZhciBlPVt7cGF0dGVybjoiKCIsY3RvcjpvfSx7cGF0dGVybjoiKSIsY3RvcjpzfSx7cGF0dGVybjoiKyIsY3RvcjpjfSx7cGF0dGVybjoiLSIsY3RvcjpsfSx7cGF0dGVybjoiKiIsY3Rvcjp1fSx7cGF0dGVybjoiLyIsY3RvcjpkfSx7cGF0dGVybjoiXiIsY3RvcjpwfSx7cGF0dGVybjovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxjdG9yOmh9LHtwYXR0ZXJuOi9cLi8sY3Rvcjp3fSx7cGF0dGVybjovW2EtekEtWjAtOV9cdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZdW2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKnwnLis/Jy8sY3RvcjptfSx7CnBhdHRlcm46LydbXiddKi8sY3Rvcjp2fSx7cGF0dGVybjovW1wwLVx4MjBcc10rLyxjdG9yOml9XTtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZnVuY3Rpb24oKXt9O3JldHVybiBuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlfWZ1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gaShlKXt0aGlzLnZhbHVlPWV9ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBwKCl7fXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LG4oaSxyKSxuKG8sciksby5wcm90b3R5cGUudmFsdWU9IigiLG4ocyxyKSxzLnByb3RvdHlwZS52YWx1ZT0iKSIsbihhLHIpLG4oYyxhKSxjLnByb3RvdHlwZS52YWx1ZT0iKyIsYy5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGMucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4obCxhKSxsLnByb3RvdHlwZS52YWx1ZT0iLSIsbC5wcm90b3R5cGUucHJlY2VkZW5jZT0wLGwucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4odSxhKSx1LnByb3RvdHlwZS52YWx1ZT0iKiIsdS5wcm90b3R5cGUucHJlY2VkZW5jZT0xLHUucHJvdG90eXBlLmNvbW11dGF0aXZlPSEwLG4oZCxhKSxkLnByb3RvdHlwZS52YWx1ZT0iLyIsZC5wcm90b3R5cGUucHJlY2VkZW5jZT0xLGQucHJvdG90eXBlLmNvbW11dGF0aXZlPSExLG4ocCxhKSxwLnByb3RvdHlwZS52YWx1ZT0iXiIscC5wcm90b3R5cGUucHJlY2VkZW5jZT0yLHAucHJvdG90eXBlLmNvbW11dGF0aXZlPSExO3ZhciBnPS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLGY9L1srXC0vKl0vO2Z1bmN0aW9uIG0oZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIGgoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHkoZSl7dGhpcy52YWx1ZT1lfWZ1bmN0aW9uIHYoKXttLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiB3KCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9bihtLHIpLG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgiX3RpY2tlciIpKXt2YXIgZT1mLnRlc3QodGhpcy5fdGlja2VyKT8iJyI6IiI7cmV0dXJuIGUrKHRoaXMuX2V4Y2hhbmdlP3RoaXMuX2V4Y2hhbmdlKyI6IjoiIikrdGhpcy5fdGlja2VyK2V9cmV0dXJuIHRoaXMudmFsdWV9LG0ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKCl7dmFyIGU9Zy5leGVjKHRoaXMudmFsdWUpO2VbMV0mJih0aGlzLl9leGNoYW5nZT1lWzFdKSx0aGlzLl90aWNrZXI9ZVsyXX0sbS5wcm90b3R5cGUucGFyc2VBc0Z1dHVyZXM9ZnVuY3Rpb24oKXt0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKTtmb3IodmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQudD09PWV9KSl9LG49MjtuPj0xOy0tbil7dmFyIHI9dGhpcy5fdGlja2VyLnNsaWNlKDAsbik7aWYoZShyKSl7dGhpcy5fcm9vdD1yLHRoaXMuX2NvbnRyYWN0PXRoaXMuX3RpY2tlci5zbGljZShuKTticmVha319fSxtLnByb3RvdHlwZS5leGNoYW5nZT1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX2V4Y2hhbmdlO251bGw9PWU/ZGVsZXRlIHRoaXMuX2V4Y2hhbmdlOnRoaXMuX2V4Y2hhbmdlPWUrIiJ9LG0ucHJvdG90eXBlLnRpY2tlcj1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfdGlja2VyIil8fHRoaXMucGFyc2UoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3RpY2tlcjtudWxsPT1lP2RlbGV0ZSB0aGlzLl90aWNrZXI6dGhpcy5fdGlja2VyPWUrIiIsZGVsZXRlIHRoaXMuX3Jvb3QsZGVsZXRlIHRoaXMuX2NvbnRyYWN0fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKGUpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoIl9yb290Iil8fHRoaXMucGFyc2VBc0Z1dHVyZXMoKSwhKGFyZ3VtZW50cy5sZW5ndGg+MCkpcmV0dXJuIHRoaXMuX3Jvb3Q7bnVsbD09ZT9kZWxldGUgdGhpcy5fcm9vdDoodGhpcy5fcm9vdD1lKyIiLHRoaXMuX3Jvb3QmJih0aGlzLl90aWNrZXI9dGhpcy5fcm9vdCsodGhpcy5fY29udHJhY3R8fCIiKSkpfSxtLnByb3RvdHlwZS5jb250cmFjdD1mdW5jdGlvbihlKXtpZih0aGlzLmhhc093blByb3BlcnR5KCJfY29udHJhY3QiKXx8dGhpcy5wYXJzZUFzRnV0dXJlcygpLCEoYXJndW1lbnRzLmxlbmd0aD4wKSlyZXR1cm4gdGhpcy5fcm9vdDtudWxsPT1lP2RlbGV0ZSB0aGlzLl9jb250cmFjdDoodGhpcy5fY29udHJhY3Q9ZSsiIix0aGlzLl9yb290JiYodGhpcy5fdGlja2VyPXRoaXMuX3Jvb3QrdGhpcy5fY29udHJhY3QpKX0sbihoLHIpLGgucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzT3duUHJvcGVydHkoIl9ub3JtYWxpemVkVmFsdWUiKT90aGlzLl9ub3JtYWxpemVkVmFsdWU6dGhpcy52YWx1ZX0saC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt0aGlzLl9ub3JtYWxpemVkVmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9eMCt8XC4wKiQvZywiIikucmVwbGFjZSgvKFwuXGQqPykwKyQvLCIkMSIpLnJlcGxhY2UoL14oXC58JCkvLCIwJDEiKX0seS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX0sbih2LG0pLHYucHJvdG90eXBlLmlzSW5jb21wbGV0ZT0hMCx2LnByb3RvdHlwZS5pbmNvbXBsZXRlU3VnZ2VzdD1mdW5jdGlvbigpe2lmKCInIiE9PXRoaXMudmFsdWUpcmV0dXJuIFN0cmluZygiJyIpfSxuKHcsaCksdy5wcm90b3R5cGUuaXNJbmNvbXBsZXRlPSEwO3ZhciBiPW5ldyBSZWdFeHAoZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIoIisoInN0cmluZyI9PXR5cGVvZiBlLnBhdHRlcm4/ZS5wYXR0ZXJuLnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIik6ZS5wYXR0ZXJuLnNvdXJjZSkrIikifSkpLmNvbmNhdCgiLiIpLmpvaW4oInwiKSwiZyIpCjtmdW5jdGlvbiBfKHQsbil7dmFyIHIsbz1bXTtlOmZvcig7cj1iLmV4ZWModCk7KXtmb3IodmFyIHM9ZS5sZW5ndGg7cy0tOylpZihyW3MrMV0pe2lmKGVbc10uY3Rvcil7dmFyIGE9bmV3IGVbc10uY3RvcihyW3MrMV0pO2EuX29mZnNldD1yLmluZGV4LG8ucHVzaChhKX1jb250aW51ZSBlfXZhciBjPW5ldyB5KHJbMF0pO2MuX29mZnNldD1yLmluZGV4LG8ucHVzaChjKX1pZihuJiZuLnJlY292ZXIpe3ZhciBsO2ZvcihzPW8ubGVuZ3RoO3MtLTspe3ZhciB1PW9bc107aWYodSBpbnN0YW5jZW9mIGh8fHUgaW5zdGFuY2VvZiBtKXtpZih2b2lkIDAhPT1sKXt2YXIgZD1uZXcgbSgiIikscD1vLnNwbGljZShzLGwtcysxLGQpO2QudmFsdWU9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhbHVlfSkpLmpvaW4oIiIpfWw9c31lbHNlIHUgaW5zdGFuY2VvZiBpfHwobD12b2lkIDApfX1yZXR1cm4gb31mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXWluc3RhbmNlb2YgaXx8dC5wdXNoKGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFMoZSl7ZT14KGUpO2Zvcih2YXIgdCxuPVtdLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgYz1lW2ldO2lmKGMgaW5zdGFuY2VvZiBhKXIubGVuZ3RoJiZyW3IubGVuZ3RoLTFdLm1pblByZWNlZGVuY2U+Yy5wcmVjZWRlbmNlJiYocltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPWMucHJlY2VkZW5jZSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgbylyLnB1c2godD17bWluUHJlY2VkZW5jZToxLzAsb3BlbkJyYWNlSW5kZXg6aX0pO2Vsc2UgaWYoYyBpbnN0YW5jZW9mIHMpe3ZhciBsPWVbKHQ9ci5wb3AoKSkub3BlbkJyYWNlSW5kZXgtMV0sdT1lW2krMV07dSBpbnN0YW5jZW9mIGEmJiEodS5wcmVjZWRlbmNlPD10Lm1pblByZWNlZGVuY2UpfHwhKCEobCBpbnN0YW5jZW9mIGEpfHxsLnByZWNlZGVuY2U8dC5taW5QcmVjZWRlbmNlfHxsLnByZWNlZGVuY2U9PT10Lm1pblByZWNlZGVuY2UmJmwuY29tbXV0YXRpdmUpfHwobi51bnNoaWZ0KHQub3BlbkJyYWNlSW5kZXgpLG4ucHVzaChpKSxyLmxlbmd0aCYmcltyLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnQubWluUHJlY2VkZW5jZSYmKHJbci5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT10Lm1pblByZWNlZGVuY2UpKX19Zm9yKGk9bi5sZW5ndGg7aS0tOyllLnNwbGljZShuW2ldLDEpO3JldHVybiBlfWZ1bmN0aW9uIGsoZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cHJlc3Npb24gbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybihlPV8oZSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBtfSkpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXhjaGFuZ2UoKX0pKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIDEhPT0oZT1rKGUpKS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4oZT1rKGUpKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC5pbmNsdWRlcygoZXx8IiIpLnRvVXBwZXJDYXNlKCkpfSkpfWZ1bmN0aW9uIEMoZSl7cmV0dXJuIGUuam9pbigiIil9cmV0dXJue3Rva2VuaXplOl8sdmFsaWRhdGU6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PSJpbml0IixuPSJ2YXIiLHI9dCxjPXt3YXJuaW5nczpbXSxlcnJvcnM6W10saXNFbXB0eTohMH0sbD1bXSx1PTA7dTxlLmxlbmd0aDt1Kyspe2lmKCEoKHA9ZVt1XSlpbnN0YW5jZW9mIGkpKXtpZihkZWxldGUgYy5pc0VtcHR5LHAuaXNJbmNvbXBsZXRlKXt2YXIgZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246ImluY29tcGxldGVfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH07aWYocC5pbmNvbXBsZXRlU3VnZ2VzdCYmKGQucmVjb3Zlcj17YXBwZW5kOnAuaW5jb21wbGV0ZVN1Z2dlc3QoKX0pLGMud2FybmluZ3MucHVzaChkKSx1IT09ZS5sZW5ndGgtMSl7ZC5zdGF0dXM9ImVycm9yIjtjb250aW51ZX19aWYocCBpbnN0YW5jZW9mIG18fHAgaW5zdGFuY2VvZiBoKXtpZihyPT09bil7Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmV4cGVjdGVkX3Rva2VuIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnB9KTtjb250aW51ZX1yPW59ZWxzZSBpZihwIGluc3RhbmNlb2YgYSl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9cj0ib3BlcmF0b3IifWVsc2UgaWYocCBpbnN0YW5jZW9mIG8pe2lmKHI9PT1uKXtjLmVycm9ycy5wdXNoKHtzdGF0dXM6ImVycm9yIixyZWFzb246InVuZXhwZWN0ZWRfdG9rZW4iLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pO2NvbnRpbnVlfWwucHVzaChwKSxyPXR9ZWxzZSBpZihwIGluc3RhbmNlb2Ygcyl7aWYociE9PW4pe2MuZXJyb3JzLnB1c2goe3N0YXR1czoiZXJyb3IiLHJlYXNvbjoidW5leHBlY3RlZF90b2tlbiIsb2Zmc2V0OnAuX29mZnNldCx0b2tlbjpwfSk7Y29udGludWV9bC5wb3AoKXx8Yy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bmJhbGFuY2VkX2JyYWNlIixvZmZzZXQ6cC5fb2Zmc2V0LHRva2VuOnAscmVjb3Zlcjp7cHJlcGVuZDpuZXcgb319KSxyPW59ZWxzZSBwIGluc3RhbmNlb2YgeSYmYy5lcnJvcnMucHVzaCh7c3RhdHVzOiJlcnJvciIscmVhc29uOiJ1bnBhcnNlZF9lbnRpdHkiLG9mZnNldDpwLl9vZmZzZXQsdG9rZW46cH0pfX1mb3IoYy5icmFjZUJhbGFuY2U9bC5sZW5ndGgsciE9PW4mJmMud2FybmluZ3MucHVzaCh7c3RhdHVzOiJpbmNvbXBsZXRlIn0pO2wubGVuZ3RoOyl7dmFyIHA7ZD17c3RhdHVzOiJpbmNvbXBsZXRlIixyZWFzb246InVuYmFsYW5jZWRfYnJhY2UiLG9mZnNldDoocD1sLnBvcCgpKS5fb2Zmc2V0LHRva2VuOnB9O3I9PT1uJiYoZC5yZWNvdmVyPXthcHBlbmQ6bmV3IHN9KSxjLndhcm5pbmdzLnB1c2goZCl9cmV0dXJuIGMuY3VycmVudFN0YXRlPXIsMD09PWMud2FybmluZ3MubGVuZ3RoJiZkZWxldGUgYy53YXJuaW5ncywKMD09PWMuZXJyb3JzLmxlbmd0aCYmZGVsZXRlIGMuZXJyb3JzLGN9LGZhY3Rvck91dEJyYWNlczpTLG5vcm1hbGl6ZVRva2VuczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcnNlJiZlW3RdLnBhcnNlKCk7cmV0dXJuIGV9LGZsaXA6ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49MCxyPTEsYz0yLGw9Myx1PW4scD0wLGc9MDtnPGUubGVuZ3RoO2crKyl7dmFyIGY9ZVtnXTtpZighKGYgaW5zdGFuY2VvZiBpKSlzd2l0Y2godSl7Y2FzZSBuOmlmKCEoZiBpbnN0YW5jZW9mIGgmJjE9PStmLnZhbHVlKSlyZXR1cm4hMTt1PXI7YnJlYWs7Y2FzZSByOmlmKCEodT09PXImJmYgaW5zdGFuY2VvZiBkKSlyZXR1cm4hMTt1PWMsdD1nKzE7YnJlYWs7Y2FzZSBjOmlmKGYgaW5zdGFuY2VvZiBvKXU9bCxwPTE7ZWxzZSBpZihmIGluc3RhbmNlb2YgYSlyZXR1cm4hMTticmVhaztjYXNlIGw6ZiBpbnN0YW5jZW9mIG8/cCsrOmYgaW5zdGFuY2VvZiBzJiYtLXA8PTAmJih1PWMpfX1yZXR1cm4gZS5zbGljZSh0KX0oZSk7cmV0dXJuIFModHx8W25ldyBoKCIxIiksbmV3IGQsbmV3IG9dLmNvbmNhdChlKS5jb25jYXQobmV3IHMpKX0saGFzQmF0c1N5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSxbIkJBVFMiXSl9LGhhc0VvZFN5bWJvbHM6ZnVuY3Rpb24oZSl7cmV0dXJuKGU9VChlKSkmJi0xIT09ZS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIl9FT0QiKX0saGFzQ2h4anB5U3ltYm9sczpmdW5jdGlvbihlKXtyZXR1cm4gUChlLFsiQ0hYSlBZIl0pfSxoYXNGcmVlRGVsYXlTeW1ib2xzOmZ1bmN0aW9uKGUpe3JldHVybiBQKGUscHJvLmdldFByb2R1Y3RzQnlUeXBlKHByby5QUk9EVUNUX1RZUEVTLmV4Y2hhbmdlKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmV4Y2hhbmdlLnRvVXBwZXJDYXNlKCkrIl9ETFkifSkpKX0sZ2V0RXhjaGFuZ2U6VCxnZXRFeGNoYW5nZXM6ayxpc0V4Y2hhbmdlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuISEoZT1UKGUpKSYmZS5zdWJzdHJpbmcoMCx0Lmxlbmd0aCk9PT10fSxTeW1ib2xUb2tlbjptLEluY29tcGxldGVTeW1ib2xUb2tlbjp2LE51bWJlclRva2VuOmgsQmluYXJ5T3BlcmF0b3JUb2tlbjphLE9wZW5CcmFjZVRva2VuOm8sQ2xvc2VCcmFjZVRva2VuOnMsdGlja2VyOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbShlKS50aWNrZXIoKX0sc2hvcnROYW1lOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJleHByZXNzaW9uIG11c3QgYmUgYSBzdHJpbmciKTt2YXIgdD1TKHgoXyhlKSkpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBtJiZlLmV4Y2hhbmdlKG51bGwpfSkpLEModCl9LG5vcm1hbGl6ZTpmdW5jdGlvbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiZXhwcmVzc2lvbiBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIEMoUyh4KF8oZSkpKSl9fX0oKTtlLmV4cG9ydHM9bn0sMjMyOTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFByb2R1Y3RJZDooKT0+dSxpc0V4Y2hhbmdlOigpPT5sLGlzUGFpZFBybzooKT0+YSxpc1BsYW46KCk9PmMsaXNQcm86KCk9PnMsaXNQcm9kdWN0RGVmaW5lZDooKT0+aSxpc1RyaWFsOigpPT5vfSk7dmFyIHI9big1ODE4OTMpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISghZXx8IU9iamVjdC5rZXlzKGUpLmxlbmd0aCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4hIWUuaXNfdHJpYWx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hIWU/LnByb19wbGFufWZ1bmN0aW9uIGEoZSl7cmV0dXJuIHMoZSkmJiFvKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuUHJvUGxhbn1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnR5cGU9PT1yLlByb2R1Y3RUeXBlLkV4Y2hhbmdlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGU/bChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXIuUHJvZHVjdFR5cGUuQ29pbnN9KGUpP2UudGV4dF9pZD8/IiI6ZS5kaXNjb3VudF90ZXh0X2lkPz9lLnRleHRfaWQ/PyIiOiIifX0sODY0MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse0JpbGxpbmdDeWNsZTooKT0+cixNT05USExZX1NVQlNDUklQVElPTl9EQVlTX0xFTjooKT0+byxXRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5Nb250aGx5PSJtIixlLlRocmVlTW9udGhzPSIzbSIsZS5PbmVZZWFyPSJ5In0ocnx8KHI9e30pKTtjb25zdCBpPTcsbz0zMH0sNTgxODkzKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7bi5kKHQse1Byb2R1Y3RUeXBlOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLlByb1BsYW49MV09IlByb1BsYW4iLGVbZS5OZXdzRmVlZD0zXT0iTmV3c0ZlZWQiLGVbZS5FeGNoYW5nZT00XT0iRXhjaGFuZ2UiLGVbZS5Db25uZWN0aW9uPTZdPSJDb25uZWN0aW9uIixlW2UuQ29pbnM9OF09IkNvaW5zIixlW2UuU2NyaXB0UGFja2FnZT05XT0iU2NyaXB0UGFja2FnZSJ9KHJ8fChyPXt9KSl9LDQ5ODY1MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5pfSk7dmFyIHI9bigyMzI5NDgpO2Z1bmN0aW9uIGkoZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IG49d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PW58fCEoMCxyLmlzUHJvZHVjdERlZmluZWQpKG4pfHwodD8hbi5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohbi5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IG49KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKG4pPz8hMX19LDk1MjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthY2N1bXVsYXRlOigpPT5zLGNvbWJpbmU6KCk9Pm99KTt2YXIgcj1uKDIzMjM2NCk7ZnVuY3Rpb24gaShlLHQsLi4ubil7bGV0IGk9bnVsbAo7Y29uc3Qgbz0oLi4udCk9PmUoLi4udC5tYXAoKGU9PmUudmFsdWUoKSkpLGk/LnZhbHVlKCkpLHM9aT1uZXcgci5XYXRjaGVkVmFsdWUobyguLi5uKSksYT0oKT0+e2NvbnN0IGU9bi5tYXAoKChlLHQpPT5lLnZhbHVlKCkpKTt0KC4uLmUpJiZzLnNldFZhbHVlKG8oLi4ubikpfSxjPW4ubWFwKChlPT5lLnNwYXduKCkpKTtmb3IoY29uc3QgZSBvZiBjKWUuc3Vic2NyaWJlKGEpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57Yy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLG4uZm9yRWFjaCgoZT0+ZS5yZWxlYXNlKCkpKX0pKX1mdW5jdGlvbiBvKGUsLi4udCl7cmV0dXJuIGkoZSwoKCk9PiEwKSwuLi50KX1mdW5jdGlvbiBzKGUsdCwuLi5uKXtsZXQgaT1udWxsO2NvbnN0IHM9bygoKC4uLmUpPT4oZS5zcGxpY2UoLTEpLGUpKSwuLi5uKSxhPXQuc3Bhd24oKSxjPSh0LC4uLm4pPT57Y29uc3Qgcj10Lm1hcCgoZT0+ZS52YWx1ZSgpKSk7cmV0dXJuIGUociwuLi5uLGk/LnZhbHVlKCkpfSxsPWk9bmV3IHIuV2F0Y2hlZFZhbHVlKGMoYS52YWx1ZSgpLC4uLnMudmFsdWUoKSkpO2xldCB1PVtdO2NvbnN0IGQ9KCk9PntsLnNldFZhbHVlKGModSwuLi5zLnZhbHVlKCkpKX0scD1lPT57dS5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHU9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLHUuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoZCkpKSxkKCl9O3AoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShwKSxzLnN1YnNjcmliZShkKTtyZXR1cm4gbC5yZWFkb25seSgpLnNwYXduKCgoKT0+e3UuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxzLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDE1MDE1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtndWlkOigpPT5pLHJhbmRvbUhhc2g6KCk9Pm8scmFuZG9tSGFzaE46KCk9PnN9KTtjb25zdCByPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7ZnVuY3Rpb24gaSgpe3JldHVybiJ4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZT0+e2NvbnN0IHQ9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT1lP3Q6MyZ0fDgpLnRvU3RyaW5nKDE2KX0pKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHMoMTIpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9IiI7Zm9yKGxldCBuPTA7bjxlOysrbil7Y29uc3QgZT1NYXRoLmZsb29yKDYyKk1hdGgucmFuZG9tKCkpO3QrPXJbZV19cmV0dXJuIHR9fSw2NDA3NDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCxuKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoZSx0KSxuKX1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9TWF0aC5jZWlsKGUpO3JldHVybiB0JTIhPTA/dC0xOnR9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PU1hdGguY2VpbChlKTtyZXR1cm4gdCUyPT0wP3QtMTp0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGU+MD9NYXRoLmZsb29yKGUpOk1hdGguY2VpbChlKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlJTI9PTB9bi5kKHQse2NlaWxlZEV2ZW46KCk9PmksY2VpbGVkT2RkOigpPT5vLGNsYW1wOigpPT5yLGlzRXZlbjooKT0+YSx0b0ludDooKT0+c30pfSwyNDE5NTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uOigpPT5pfSk7dmFyIHI9bigyMzIzNjQpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPW5ldyByLldhdGNoZWRWYWx1ZShlKCkpLGk9e307dC5zdWJzY3JpYmUoaSwoKCk9PntuLnNldFZhbHVlKGUobi52YWx1ZSgpKSl9KSk7cmV0dXJuIG4ucmVhZG9ubHkoKS5zcGF3bigoKCk9PnQudW5zdWJzY3JpYmVBbGwoaSkpKX19LDYwMTg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtjbG9uZTooKT0+cyxkZWVwRXF1YWxzOigpPT5kLGhhc1Byb3BlcnR5OigpPT5sLGlzQXJyYXk6KCk9PnAsaXNFeGlzdGVudDooKT0+Zixpc0ludGVnZXI6KCk9Pm0saXNOYU46KCk9PmcsaXNOdW1iZXI6KCk9Pm8saXNPYmplY3Q6KCk9PmMsaXNTdHJpbmc6KCk9PmgsbWVyZ2U6KCk9PmEsbm90TnVsbDooKT0+eX0pO2NvbnN0IHI9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHIuaGFzKGUpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBzKGUpe2lmKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpcmV0dXJuIGU7bGV0IHQ7dD1BcnJheS5pc0FycmF5KGUpP1tdOnt9O2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7Y29uc3Qgcj1lW25dO3Rbbl09ciYmIm9iamVjdCI9PXR5cGVvZiByP3Mocik6cn1yZXR1cm4gdH1mdW5jdGlvbiBhKGUsdCl7aWYoIWMoZSl8fCFjKHQpKXJldHVybiBlO2Zvcihjb25zdFtuLHJdb2YgT2JqZWN0LmVudHJpZXModCkpaShuKXx8KHImJih1KHIpfHwhcChyKSYmT2JqZWN0LmdldFByb3RvdHlwZU9mKHIpIT09T2JqZWN0LnByb3RvdHlwZSk/ZVtuXT1yOihlLmhhc093blByb3BlcnR5KG4pJiZjKGVbbl0pfHwhYyhyKXx8KGVbbl09QXJyYXkuaXNBcnJheShyKT9bXTp7fSksYyhyKSYmYyhlW25dKT9hKGVbbl0scik6ZVtuXT1yKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gdCBpbiBlfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG51bGwhPWUmJihlLmNvbnN0cnVjdG9yPT09RnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpfWZ1bmN0aW9uIGQoZSx0LG49IiIpe2lmKGU9PT10KXJldHVyblshMCxuXTtpZih1KGUpJiYoZT12b2lkIDApLHUodCkmJih0PXZvaWQgMCksbnVsbD09ZXx8bnVsbD09dClyZXR1cm5bZT09PXQsbl07aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuW2U9PT10LG5dO2lmKEFycmF5LmlzQXJyYXkoZSkmJkFycmF5LmlzQXJyYXkodCkpewpjb25zdCByPWUubGVuZ3RoO2lmKHIhPT10Lmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGxldCBpPTA7aTxyO2krKyl7Y29uc3Qgcj1kKGVbaV0sdFtpXSxuKyJbIitpKyJdIik7aWYoIXJbMF0pcmV0dXJuIHJ9cmV0dXJuWyEwLG5dfWlmKEFycmF5LmlzQXJyYXkoZSl8fEFycmF5LmlzQXJyYXkodCkpcmV0dXJuWyExLG5dO2lmKE9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm5bITEsbl07Zm9yKGNvbnN0IHIgaW4gZSl7Y29uc3QgaT1kKGVbcl0sdFtyXSxuKyJbIityKyJdIik7aWYoIWlbMF0pcmV0dXJuIGl9cmV0dXJuWyEwLG5dfWNvbnN0IHA9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX07ZnVuY3Rpb24gZyhlKXtyZXR1cm4hKGU8PTB8fGU+MCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4gbnVsbCE9ZX1mdW5jdGlvbiBtKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZSUxPT0wfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIG51bGwhPWUmJmUuY29uc3RydWN0b3I9PT1TdHJpbmd9ZnVuY3Rpb24geShlKXtyZXR1cm4gbnVsbCE9PWV9TnVtYmVyLmlzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9fSw0OTI2NzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxuPXt9O2lmKCFlKXJldHVybiBuO2xldCBpPXQuZXhlYyhlKTtmb3IoO2k7KW5bcihpWzFdKV09cihpWzJdKSxpPXQuZXhlYyhlKTtyZXR1cm4gbn1mdW5jdGlvbiBvKCl7cmV0dXJuIGkod2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIHMoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF07d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKCIiLGRvY3VtZW50LnRpdGxlLGUpfWZ1bmN0aW9uIGEoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikmJm51bGwhPWVbbl0pe2NvbnN0IHI9ZVtuXSxpPSJvYmplY3QiPT10eXBlb2Ygcj9KU09OLnN0cmluZ2lmeShyKTpTdHJpbmcocik7dC5wdXNoKHtrZXk6bixwYWlyOmVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpfSl9cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUua2V5PnQua2V5PzE6ZS5rZXk8dC5rZXk/LTE6MCkpLm1hcCgoZT0+ZS5wYWlyKSkuam9pbigiJiIpfW4uZCh0LHtjcmVhdGVVcmxQYXJhbXM6KCk9PmEsZ2V0VXJsUGFyYW1zOigpPT5vLHJlbW92ZUhhc2hGcm9tVXJsOigpPT5zfSl9LDEwNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtOdW1lcmljRm9ybWF0dGVyOigpPT5vfSk7dmFyIHI9big1OTg5MjIpLGk9big1NDY0ODUpO2NsYXNzIG97Y29uc3RydWN0b3IoZT17fSl7dGhpcy5fb3B0aW9ucz1lfWZvcm1hdChlLHQ9e30pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpcmV0dXJuIFN0cmluZyhlKTtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bj10aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTpzPXRoaXMuX29wdGlvbnMubm9FeHBvbmVudGlhbEZvcm19PXQse21pblByZWNpc2lvbjphLHByZWNpc2lvbjpjfT10aGlzLl9vcHRpb25zLGw9KDAsaS5nZXROdW1iZXJGb3JtYXQpKG4pO3JldHVybiB2b2lkIDA9PT1jP28uX2Zvcm1hdE5vRUltcGwoZSxsLGMsYSk6KDAsci5mb3JtYXROdW1iZXIpKGUsbCxjLHMsYSl9cGFyc2UoZSx0KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixwcmVjaXNpb246b309dGhpcy5fb3B0aW9ucyxzPSgwLGkuZ2V0TnVtYmVyRm9ybWF0KShufHx0Py5pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQpO2xldCBhPSgwLHIucGFyc2VOdW1iZXIpKGUscyk7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT8obyYmKGE9K2EudG9GaXhlZChvKSkse3JlczohMCx2YWx1ZTphfSk6e3JlczohMX19c3RhdGljIGZvcm1hdE5vRShlLHQpe3JldHVybiB0aGlzLl9mb3JtYXROb0VJbXBsKGUsdCl9c3RhdGljIF9mb3JtYXROb0VJbXBsKGUsdCxuLGkpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoZSk/KHQ9dD8/e2dyb3VwaW5nU2VwYXJhdG9yOiIiLGRlY2ltYWxTaWduOiIuIn0sKDAsci5mb3JtYXROdW1iZXIpKGUsdCxuLCEwLGkpKTpTdHJpbmcoZSl9fX0sMTI1MjE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BlcmNlbnRhZ2VGb3JtYXR0ZXI6KCk9Pm99KTt2YXIgcj1uKDExNTI5MyksaT1uKDc1NTYyNyk7Y2xhc3MgbyBleHRlbmRzIGkuUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7dm9pZCAwIT09ZS5kZWNpbWFsUGxhY2VzJiYoZS5wcmljZVNjYWxlPU1hdGgucG93KDEwLGUuZGVjaW1hbFBsYWNlcykpLHN1cGVyKGUpLHRoaXMudHlwZT0icGVyY2VudGFnZSJ9c3RhdGUoKXtyZXR1cm57Li4uc3VwZXIuc3RhdGUoKSxwZXJjZW50OiEwfX1wYXJzZShlLHQpe3JldHVybiBlPWUucmVwbGFjZSgiJSIsIiIpLHN1cGVyLnBhcnNlKGUsdCl9Zm9ybWF0KGUsdD17fSl7Y29uc3R7dXNlUnRsRm9ybWF0Om49ITB9PXQsaT1zdXBlci5mb3JtYXQoZSx7Li4udCx1c2VSdGxGb3JtYXQ6ITF9KSsiJSI7cmV0dXJuIG4/KDAsci5mb3JjZUxUUlN0cikoaSk6aX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgbyhlKX19fSw5ODQzNzYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VfSE9MREVSOigpPT5zLFZvbHVtZUZvcm1hdHRlcjooKT0+bH0pO3ZhciByPW4oNzgzMjU0KSxpPW4oNjAxODQxKSxvPW4oMTA3MDQ1KTtjb25zdCBzPSItLS0iLGE9W3t2YWx1ZTozLGxldHRlcjoiSyJ9LHt2YWx1ZTo2LGxldHRlcjoiTSJ9LHt2YWx1ZTo5LGxldHRlcjoiQiJ9LHsKdmFsdWU6MTIsbGV0dGVyOiJUIn1dO2Z1bmN0aW9uIGMoZSx0KXtjb25zdCBuPWUtdDtyZXR1cm4gYS5maW5kKChlPT5lLnZhbHVlPj1uKSk/P2FbYS5sZW5ndGgtMV19Y2xhc3MgbHtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InZvbHVtZSI7Y29uc3R7cHJlY2lzaW9uOnQ9MCxtaW5QcmVjaXNpb246bj0wLGRpbWVuc2lvblByZWNpc2lvbjpyPTIsZGltZW5zaW9uTWluUHJlY2lzaW9uOmk9MCxzaWduaWZpY2FudERpZ2l0czpzPTMsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEsbm9FeHBvbmVudGlhbEZvcm06YyxyZW1vdmVTcGFjZUJlZm9yZURpbWVuc2lvbjpsfT1lO3RoaXMuX3ByZWNpc2lvbj10LHRoaXMuX2Zvcm1hdHRlcj1uZXcgby5OdW1lcmljRm9ybWF0dGVyKHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6YSxwcmVjaXNpb246dGhpcy5fcHJlY2lzaW9uLG1pblByZWNpc2lvbjpuLG5vRXhwb25lbnRpYWxGb3JtOmN9KSx0aGlzLl9kaW1lbnNpb25QcmVjaXNpb249cix0aGlzLl9kaW1lbnNpb25Gb3JtYXR0ZXI9bmV3IG8uTnVtZXJpY0Zvcm1hdHRlcih7aWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmEscHJlY2lzaW9uOnRoaXMuX2RpbWVuc2lvblByZWNpc2lvbixtaW5QcmVjaXNpb246aSxub0V4cG9uZW50aWFsRm9ybTpjfSksdGhpcy5fc2lnbmlmaWNhbnREaWdpdHM9cyx0aGlzLl9mcmFjdGlvbmFsVmFsdWVzPXZvaWQgMCE9PXQmJnQ+MCx0aGlzLl9zcGFjZUJlZm9yZURpbWVuc2lvbj1sPyIiOiLigK8iLHRoaXMuX29wdGlvbnM9ZX1zdGF0ZSgpe2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDplLC4uLnR9PXRoaXMuX29wdGlvbnM7cmV0dXJuIHR9Zm9ybWF0KGUsdCl7aWYoISgwLGkuaXNOdW1iZXIpKGUpKXJldHVybiBzO2lmKE1hdGguYWJzKGUpPj0xZTEwMClyZXR1cm4gci50KG51bGwse2NvbnRleHQ6InZvbHVtZS1mb3JtYXR0ZXIifSxuKDU3MDYyKSk7bGV0IG89IiI7TWF0aC5hYnMoZSk8MSYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pKSxlPDA/bz0i4oiSIjplPjAmJnQ/LnNpZ25Qb3NpdGl2ZSYmKG89IisiKSxlPU1hdGguYWJzKGUpO2NvbnN0IGE9ISEodD8uaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Pz90aGlzLl9vcHRpb25zLmlnbm9yZUxvY2FsZU51bWJlckZvcm1hdCk7bGV0IGwsdSxkPU1hdGguZmxvb3IoTWF0aC5sb2cxMChlKSkrMTtpZihkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cyYmKGU9K2UudG9GaXhlZCh0aGlzLl9wcmVjaXNpb24pLGQ9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxKSxkPD10aGlzLl9zaWduaWZpY2FudERpZ2l0cylsPXRoaXMuX2Zvcm1hdE51bWJlcihlLGEsdGhpcy5fZm9ybWF0dGVyKTtlbHNle2xldCB0PWMoZCx0aGlzLl9zaWduaWZpY2FudERpZ2l0cyk7Y29uc3Qgbj1NYXRoLnBvdygxMCx0LnZhbHVlKTtlPSsoZS9uKS50b0ZpeGVkKHRoaXMuX2RpbWVuc2lvblByZWNpc2lvbikqbix0PWMoTWF0aC5mbG9vcihNYXRoLmxvZzEwKGUpKSsxLHRoaXMuX3NpZ25pZmljYW50RGlnaXRzKSxsPXRoaXMuX2Zvcm1hdE51bWJlcihlL01hdGgucG93KDEwLHQudmFsdWUpLGEsdGhpcy5fZGltZW5zaW9uRm9ybWF0dGVyKSx1PXQubGV0dGVyfXJldHVybiB1P2Ake299JHtsfSR7dGhpcy5fc3BhY2VCZWZvcmVEaW1lbnNpb259JHt1fWA6YCR7b30ke2x9YH1wYXJzZShlLHQpe2lmKGU9PT1zKXJldHVybntlcnJvcjoibm90IGEgbnVtYmVyIixyZXM6ITEsdmFsdWU6TmFOfTtjb25zdCBuPXtLOjFlMyxNOjFlNixCOjFlOSxUOjFlMTJ9LHI9KGU9ZS5yZXBsYWNlKCLiiJIiLCItIikpLnNsaWNlKC0xKTtpZihuLmhhc093blByb3BlcnR5KHIpKXtjb25zdCBvPXRoaXMuX2Zvcm1hdHRlci5wYXJzZShlLnNsaWNlKDAsLTEpLnRyaW0oKSx0KSxzPW8ucmVzP28udmFsdWU6TmFOO3JldHVybigwLGkuaXNOdW1iZXIpKHMpP3tyZXM6ITAsdmFsdWU6cypuW3JdfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19e2NvbnN0IG49dGhpcy5fZm9ybWF0dGVyLnBhcnNlKGUudHJpbSgpLHQpO2xldCByPW4ucmVzP24udmFsdWU6TmFOO3JldHVybi0wPT09ciYmKHI9MCksKDAsaS5pc051bWJlcikocik/e3JlczohMCx2YWx1ZTpyfTp7ZXJyb3I6Im5vdCBhIG51bWJlciIscmVzOiExLHZhbHVlOk5hTn19fXN0YXRpYyBzZXJpYWxpemUoZSl7cmV0dXJuIGUuc3RhdGUoKX1zdGF0aWMgZGVzZXJpYWxpemUoZSl7cmV0dXJuIG5ldyBsKGUpfV9mb3JtYXROdW1iZXIoZSx0LG4pe2lmKHRoaXMuX2ZyYWN0aW9uYWxWYWx1ZXMmJjAhPT1lKXtjb25zdCB0PTE0LU1hdGguY2VpbChNYXRoLmxvZzEwKGUpKSxuPU1hdGgucG93KDEwLHQpO2U9TWF0aC5yb3VuZChlKm4pL259cmV0dXJuIG4uZm9ybWF0KGUse2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0fSl9fX0sOTAxMDIyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnIsaXNTZXBhcmF0b3JJdGVtOigpPT5pfSk7Y29uc3Qgcj0iIyMjIjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocil9fSw2NDE1OTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVySW5Xb3JkOigpPT5kLGRlY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+cCxodG1sRXNjYXBlOigpPT5sLHJlbW92ZVRhZ3M6KCk9PnV9KTtjb25zdCByPS9bPCInJj5dL2csaT1lPT5gJiMke2UuY2hhckNvZGVBdCgwKX07YCxvPXsiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInLCImYXBvczsiOiInIiwiJmFtcDsiOiImIiwiJiM2MDsiOiI8IiwiJiM2MjsiOiI+IiwiJiMzNDsiOiciJywiJiMzOTsiOiInIiwiJiMwMzk7IjoiJyIsIiYjMzg7IjoiJiJ9LHM9T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhvKS5tYXAoKChbZSx0XSk9Pih7W3RdOmV9KSkpKSxhPW5ldyBSZWdFeHAoT2JqZWN0LmtleXMobykuam9pbigifCIpLCJnIik7bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhzKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiBjKGUpewpyZXR1cm4gZS5yZXBsYWNlKGEsKGU9Pm9bZV18fGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLnJlcGxhY2UocixpKX1mdW5jdGlvbiB1KGU9IiIpe3JldHVybiBlLnJlcGxhY2UoLyg8KFtePl0rKT4pL2dpLCIiKX1mdW5jdGlvbiBkKGU9IiIpe3JldHVybiBlLnJlcGxhY2UoL1xiXHcvZywoZT0+ZS50b1VwcGVyQ2FzZSgpKSl9ZnVuY3Rpb24gcChlKXtjb25zdCB0PUludGwuU2VnbWVudGVyO2lmKHQpe2NvbnN0IG49bmV3IHQodm9pZCAwLHtncmFudWxhcml0eToiZ3JhcGhlbWUifSksW3tzZWdtZW50OnJ9PXtzZWdtZW50Om51bGx9XT1uLnNlZ21lbnQoZSk7cmV0dXJuIHI/LnRvVXBwZXJDYXNlKCk/P251bGx9e2NvbnN0IHQ9ZS5jb2RlUG9pbnRBdCgwKTtyZXR1cm4gdD9TdHJpbmcuZnJvbUNvZGVQb2ludCh0KS50b1VwcGVyQ2FzZSgpOm51bGx9fX0sMTM2OTkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5yLGNvcHlyaWdodExhYmVsOigpPT51fSk7dmFyIHIsaT1uKDE4NTI3MSksbz1uKDkxNDQ4Nykscz1uLm4obyksYT1uKDYwMTg0MSksYz1uKDM4NzIzMSksbD1uKDM5OTA5Mik7ZnVuY3Rpb24gdSh7c3ZnVGV4dDplLGljb246dCx0aGVtZTpvLHVybDp1LG1vZGU6ZCx2ZXJ0aWNhbFBvc2l0aW9uOnA9ci5WZXJ0aWNhbC5Cb3R0b20saG9yaXpvbnRhbFBvc2l0aW9uOmc9ci5Ib3Jpem9udGFsLkVuZCxzbmFwVG9FZGdlOmY9ITAsaXNFeHBhbmRlZDptPSExLGNsYXNzTmFtZTpofSl7bGV0IHk7c3dpdGNoKGQpe2Nhc2UibmV3IjpjYXNlIndpdGhfYm9yZGVyIjpjYXNlImxhcmdlX3RyYWRlIjp5PSgwLGEuY2xvbmUpKG8pO2JyZWFrO2RlZmF1bHQ6eT0oMCxjLm1lcmdlVGhlbWVzKSgoMCxhLmNsb25lKShsKSxvKX1jb25zdCB2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtsZXQgdzt1JiYodz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdy5jbGFzc0xpc3QuYWRkKC4uLnkubGFiZWxfX2xpbmsuc3BsaXQoL1xzLykpLHcuaHJlZj11LHcudGFyZ2V0PSJfYmxhbmsiLHcucmVsPSJub29wZW5lciBub3JlZmVycmVyIix3LnNldEF0dHJpYnV0ZSgiZGF0YS10YXJnZXQtdHlwZSIsImNvcHlyaWdodCIpLHcuYXJpYUxhYmVsPWkudChudWxsLHZvaWQgMCxuKDUxNzg1OSkpLHYuYXBwZW5kKHcpKSx2LmNsYXNzTmFtZT1zKCkoeS5sYWJlbCxnPT09ci5Ib3Jpem9udGFsLlN0YXJ0JiZ5LnN0YXJ0LGc9PT1yLkhvcml6b250YWwuRW5kJiZ5LmVuZCxwPT09ci5WZXJ0aWNhbC5Ub3AmJnkudG9wLHA9PT1yLlZlcnRpY2FsLkJvdHRvbSYmeS5ib3R0b20sZiYmImxhcmdlX3RyYWRlIiE9PWQmJnkuc25hcCwibGFyZ2Vfb2xkIj09PWQmJnkubGFyZ2UsKG18fCJsYXJnZV90cmFkZSI9PT1kKSYmeS5leHBhbmRlZCxoLCJqcy1jb3B5cmlnaHQtbGFiZWwiKSx2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKCk9PntmdW5jdGlvbiBlKCl7di5jbGFzc0xpc3QucmVtb3ZlKHkuZXhwYW5kZWRCeUNsaWNrKSx2LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpfXYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbil8fHYuY2xhc3NMaXN0LmNvbnRhaW5zKHkuZXhwYW5kZWQpfHwodi5jbGFzc0xpc3QuY29udGFpbnMoeS5leHBhbmRlZEJ5Q2xpY2spP3V8fGUoKToodi5jbGFzc0xpc3QuYWRkKHkuZXhwYW5kZWRCeUNsaWNrKSx2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGUpKSl9KSk7Y29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi5jbGFzc05hbWU9eS5sb2dvV3JhcCxiLmlubmVySFRNTD10O2NvbnN0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiBfLmNsYXNzTmFtZT15LnN2Z1RleHRXcmFwLF8uaW5uZXJIVE1MPWUsdi5hcHBlbmQoYixfKSxbdix5XX0hZnVuY3Rpb24oZSl7bGV0IHQsbjshZnVuY3Rpb24oZSl7ZVtlLkJvdHRvbT0wXT0iQm90dG9tIixlW2UuVG9wPTFdPSJUb3AifSh0PWUuVmVydGljYWx8fChlLlZlcnRpY2FsPXt9KSksZnVuY3Rpb24oZSl7ZVtlLlN0YXJ0PTBdPSJTdGFydCIsZVtlLkVuZD0xXT0iRW5kIn0obj1lLkhvcml6b250YWx8fChlLkhvcml6b250YWw9e30pKX0ocnx8KHI9e30pKX0sNjUzODE3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvcHlyaWdodFBvc2l0aW9uOigpPT5vLkNvcHlyaWdodFBvc2l0aW9uLGNyZWF0ZUNvcHlyaWdodExhYmVsOigpPT5hfSk7dmFyIHI9big5MTQ0ODcpLGk9bi5uKHIpLG89bigxMzY5OTEpLHM9big1Mjg4NjQpO2Z1bmN0aW9uIGEoe3NoZXJpZmZPcHRpb25zOmUsLi4udH0pe2NvbnN0W24scl09KDAsby5jb3B5cmlnaHRMYWJlbCkodCksYT1lJiZlLmluY2x1ZGVzKHMuS25vd25BY3Rpb24uRXhwYW5kKSxjPWUmJmUuaW5jbHVkZXMocy5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbyk7cmV0dXJuIG4uY2xhc3NOYW1lPWkoKShuLmNsYXNzTmFtZSwoYXx8YykmJnIuZXhwYW5kZWRXaXRoVHJhbnNpdGlvbiksbn19LDc0MjU3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZSYmZS51dG1fY2FtcGFpZ24mJihlLnV0bV9jYW1wYWlnbis9YC0ke3R9YCksZX1hc3luYyBmdW5jdGlvbiBpKGUsdCxyLGkpe2lmKCJsZW50YXJ1Ij09PWUpe2NvbnN0e2dldExlbnRhQ29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDQ0MjUzKSxuLmUoODUwMzgpXSkudGhlbihuLmJpbmQobiwyODQwNDEpKTtyZXR1cm4gZSgpfWlmKCJjbW9uZXljb210dyI9PT1lKXtjb25zdHtnZXRDbW9uZXljb210d0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg1OTk0MSksbi5lKDY0NDUpLG4uZSg3MTM5NCldKS50aGVuKG4uYmluZChuLDc3Nzc2OSkpO3JldHVybiBlKHQscil9aWYoIm5ldyI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg5Nzc5Nyksbi5lKDc2MDQwKV0pLnRoZW4obi5iaW5kKG4sOTgxMTU3KSk7cmV0dXJuIGUodCxyKX1pZigid2l0aF9ib3JkZXIiPT09aSl7CmNvbnN0e2dldFRyYWRpbmdWaWV3Q29weXJpZ2h0RGF0YTplfT1hd2FpdCBQcm9taXNlLmFsbChbbi5lKDUzNTIxKSxuLmUoMTY4MTMpXSkudGhlbihuLmJpbmQobiw4NTI2NjkpKTtyZXR1cm4gZSh0LHIpfWlmKCJsYXJnZV90cmFkZSI9PT1pKXtjb25zdHtnZXRUcmFkaW5nVmlld0NvcHlyaWdodERhdGE6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW24uZSg3NDAxMSksbi5lKDc5MDQxKV0pLnRoZW4obi5iaW5kKG4sNDkzNTU5KSk7cmV0dXJuIGUodCxyKX17Y29uc3R7Z2V0VHJhZGluZ1ZpZXdDb3B5cmlnaHREYXRhOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNTk5NDEpLG4uZSg5NzUwOSldKS50aGVuKG4uYmluZChuLDcwNTc5MCkpO3JldHVybiBlKHQscil9fW4uZCh0LHthZGRVdG1DYW1wYWlnblNvdXJjZTooKT0+cixnZXRDdXN0b21lckNvcHlyaWdodERhdGE6KCk9Pml9KX0sNzQ4MDAyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFdpZGdldFNoZXJpZmZBY3Rpb25zOigpPT5sfSk7dmFyIHI9bigyMjEwNjEpLGk9bigzODQwMTcpLG89big1Mjg4NjQpO2NvbnN0IHM9d2luZG93LldJREdFVF9TSEVSSUZGX0hPU1R8fCJodHRwczovL3dpZGdldC1zaGVyaWZmLnhzdGFnaW5nLXdpZGdldC50diIsYT0oMCxyLmdldExvZ2dlcikoIldpZGdldFNoZXJpZmYuV2lkZ2V0Iik7bGV0IGM9bnVsbDthc3luYyBmdW5jdGlvbiBsKCl7cmV0dXJuIG51bGw9PT1jJiYoYz1hd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oKXtpZihkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMmJmRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgpcmV0dXJuIGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2luc1tkb2N1bWVudC5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnMubGVuZ3RoLTFdO3RyeXtyZXR1cm4gbmV3IFVSTChkb2N1bWVudC5yZWZlcnJlcikub3JpZ2lufWNhdGNoKGUpe3JldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT1lKXJldHVybiBhLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgdD1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixzKTt0LnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsZSk7cmV0dXJuKGF3YWl0KDAsaS5mZXRjaCkodC50b0pTT04oKSkudGhlbigoZT0+e2lmKCFlLm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PWUuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOmUuanNvbigpfSkpLmNhdGNoKChlPT4oYS5sb2dXYXJuKGUubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKChlPT5vLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyhlKSkpfSgpKSxQcm9taXNlLnJlc29sdmUoYyl9fSw1Mjg4NjQoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjtuLmQodCx7S25vd25BY3Rpb246KCk9PnIsd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9Pml9KSxmdW5jdGlvbihlKXtlLkV4cGFuZD0iZXhwYW5kLWxvZ28iLGUuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShyfHwocj17fSkpO2NvbnN0IGk9bmV3IFNldChbci5FeHBhbmQsci5MYXJnZVRyYWRlTG9nb10pfSw0NzkzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtlbmFibGVkOigpPT5jLGdldENvbmZpZzooKT0+dSxnZXRQcm9kdWN0SWQ6KCk9PmF9KTt2YXIgcj1uKDUwMjU4NyksaT1uKDEyNzcxMSksbz1uKDMxODk3NCkscz1uKDIxMjIyOSk7ZnVuY3Rpb24gYShlKXtsZXQgdD13aW5kb3cudXNlcjsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnVzZXImJih0PXdpbmRvdy51c2VyKSxlJiYodD1lKTtsZXQgbj10Py5wcm9fcGxhbnx8ImZyZWUiO3JldHVybiJmcmVlIiE9PW4mJiEoMCxzLmlzVHJpYWxQcm9kdWN0KShuKXx8KG49KDAscy5nZXRQcm9kdWN0Rm9yVHJpYWwpKG4pKSxufWZ1bmN0aW9uIGMoZSx0LG4pe2xldCByPXdpbmRvdy51c2VyO24mJihyPW4pO2NvbnN0IGk9dShlLHQscik7aWYoIWkpcmV0dXJuITE7aWYoaS5kaXNhYmxlX29uX3RyaWFsJiYoIXJ8fHIuaXNfdHJpYWwpKXJldHVybiExO2NvbnN0IHM9aS5kaXNhYmxlX29uX2xpdGVfcGxhbjtpZihzJiZyLmlzX2xpdGVfcGxhbil7aWYoImFsbCI9PT1zKXJldHVybiExO2lmKCJleGNsdWRlX21vYmlsZSI9PT1zJiYhby5DaGVja01vYmlsZS5hbnkoKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9cltlXTtyZXR1cm4gdD90LmV4dGVuZHM/T2JqZWN0LmFzc2lnbih7fSxsKHQuZXh0ZW5kcyksdCk6dDpudWxsfWZ1bmN0aW9uIHUoZSx0LG4pe2xldCByPWwodHx8KGEobik/PyIiKSk7aWYoIXIpcmV0dXJuIG51bGw7Y29uc3Qgbz13aW5kb3cuVHJhZGluZ1ZpZXc/LndpZGdldEN1c3RvbWVyO3JldHVybiBvJiZpW29dJiYocj1PYmplY3QuYXNzaWduKHt9LHIsaVtvXSkpLHImJnJbZV18fG51bGx9fSw0Mjk2NihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgcj1uKDg1NjMyNCksaT1uKDk2MzA5OCk7KDAsci5yZWdpc3Rlckxhbmd1YWdlR2V0dGVyKSgoKCk9PndpbmRvdy5sYW5ndWFnZXx8IiIpKSwoMCxyLnJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyKShpLmdldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZSl9LDYzMTYzNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5zLGdldEluaXREYXRhOigpPT5vLHVwZGF0ZUluaXREYXRhOigpPT5pfSk7dmFyIHI9big3OTI2MTIpO2Z1bmN0aW9uIGkoKXsoMCxyLnVwZGF0ZUluaXREYXRhKSgpfWZ1bmN0aW9uIG8oKXtyZXR1cm4oMCxyLmdldEluaXREYXRhKSgpfWZ1bmN0aW9uIHMoKXtyZXR1cm4oMCxyLmdldEZyZXNoSW5pdERhdGEpKCl9fSw4NjIyMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TG9nb1NpemU6KCk9PnIuTG9nb1NpemUsZ2V0TG9nb1VybFJlc29sdmVyOigpPT51fSkKO3ZhciByPW4oNjIwMzU0KSxpPW4oMTM4NjM4KSxvPW4oNjMxNjM0KSxzPW4oODEwNDEpO2NvbnN0IGE9KDAsbigyMjEwNjEpLmdldExvZ2dlcikoIkxvZ29VcmxSZXNvbHZlciIpO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7KDAsaS5hc3NlcnQpKCIiIT09ZSwiUzMgYmFzZSB1cmwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKSx0aGlzLl9iYXNlVXJsPWV9Z2V0U3ltYm9sTG9nb1VybChlLHQpe2lmKCIiPT09ZSlyZXR1cm4gYS5sb2dXYXJuKCJsb2dvIGlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nIiksIiI7c3dpdGNoKHQpe2Nhc2Ugci5Mb2dvU2l6ZS5NZWRpdW06cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0uc3ZnYDtjYXNlIHIuTG9nb1NpemUuTGFyZ2U6cmV0dXJuIHRoaXMuX2Jhc2VVcmwrYCR7ZX0tLWJpZy5zdmdgfX1nZXRDb3VudHJ5RmxhZ1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoImNvdW50cnkvIitlLHQpfWdldFByb3ZpZGVyTG9nb1VybChlLHQpe3JldHVybiB0aGlzLmdldFN5bWJvbExvZ29VcmwoInByb3ZpZGVyLyIrZSx0KX1nZXRTb3VyY2VMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgic291cmNlLyIrZSx0KX1nZXRCbG9ja2NoYWluQ29udHJhY3RMb2dvVXJsKGUsdCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybCgiYmxvY2tjaGFpbi8iK2UsdCl9Z2V0Q2FuZGxlc3RpY2tQYXR0ZXJuTG9nb1VybChlLHQ9cy5TdGRUaGVtZS5MaWdodCl7cmV0dXJuIHRoaXMuZ2V0U3ltYm9sTG9nb1VybChgY2FuZGxlcGF0dGVybi8ke2V9LSR7dH1gLHIuTG9nb1NpemUuTWVkaXVtKX19bGV0IGw7ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbigpe2lmKCFsKXtjb25zdCBlPSgwLG8uZ2V0SW5pdERhdGEpKCksdD1lLnNldHRpbmdzP2Uuc2V0dGluZ3MuUzNfTE9HT19TRVJWSUNFX0JBU0VfVVJMOiIiO2w9bmV3IGModCl9cmV0dXJuIGx9KCl9fSw0MDAxODEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiByKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtuLmUoNzA2NDQpLG4uZSg5NTIwNyldKS50aGVuKG4uYmluZChuLDQ3NzE1MCkpO3JldHVybiBlKCl9bi5kKHQse2dldFRyYWNrZXI6KCk9PnJ9KX0sMTU2ODI5KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gaShlKXtyZXR1cm4iYm9uZCI9PT1lfWZ1bmN0aW9uIG8oZSl7cmV0dXJuImVjb25vbWljIj09PWV9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfW4uZCh0LHtoYXNDcnlwdG9UeXBlc3BlYzooKT0+cixpc0JvbmQ6KCk9PmksaXNFY29ub21pY1N5bWJvbDooKT0+byxpc0Z1dHVyZXM6KCk9PnN9KX0sODUxNDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Rva2VuaXplOigpPT5jfSk7dmFyIHIsaT1uKDkwMTAyMiksbz1uKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KHJ8fChyPXt9KSk7Y29uc3Qgcz0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9KGU9KDAsby5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOnMsaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6aS5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1hKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IG49W10scj1PYmplY3Qua2V5cyh0KTtsZXQgaTtjb25zdCBvPSgoZT1hKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7aT1vLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9ci5sZW5ndGg7dC0tOylpZihpW3QrMV0pe3JbdF0mJm4ucHVzaCh7dmFsdWU6aVt0KzFdLHR5cGU6clt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0OmkuaW5kZXh9KSxlPSEwO2JyZWFrfWV8fG4ucHVzaCh7dmFsdWU6aVswXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDppLmluZGV4fSl9cmV0dXJuIG59fSw3OTUzODMoZSx0LG4pe24oMzYzMjY5KS5zZXRDbGFzc2VzKCksbig0Mjk2Niksbig2MTAyNjgpO3ZhciByPW4oNzQ5NjQ4KS53aGVuRG9jdW1lbnRSZWFkeSxpPW4oOTMxMTk4KS5oYW5kbGVUVkxpbmtzQ2xpY2s7cigoKCk9PntpKCl9KSl9LAo3OTgzOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTVFlMRV9TSE9SVF9OQU1FUzooKT0+cyxTWU1CT0xfU1RSSU5HX0RBVEE6KCk9PmwsaXNDaGFydFN0eWxlU3R1ZHlJbmZvQ29tcGxleDooKT0+YX0pO24oNTgwMzcpO3ZhciByPW4oNzI4NDM2KSxpPW4oNzc3NjYxKSxvPW4oNTUwMzkzKTtuZXcgU2V0KFszLDYsNyw4LDksMTFdKSxuZXcgU2V0KFsxLDJdKTtjb25zdCBzPXswOiJiYXIiLDE6ImNhbmRsZSIsOToiaG9sbG93Q2FuZGxlIiwyOiJsaW5lIiwxNDoibGluZVdpdGhNYXJrZXJzIiwxNToic3RlcGxpbmUiLDM6ImFyZWEiLDE2OiJobGNBcmVhIiw0OiJyZW5rbyIsNzoicGIiLDU6ImthZ2kiLDY6InBuZiIsODoiaGEiLDEwOiJiYXNlbGluZSIsMTE6InJhbmdlIiwxMjoiaGlsbyIsMTM6ImNvbHVtbiIsMTc6InZvbEZvb3RwcmludCIsMTg6InRwbyIsMTk6InZvbENhbmRsZXMiLDIwOiJzdnAiLDIxOiJobGNCYXJzIn07ZnVuY3Rpb24gYShlKXtyZXR1cm4idmFyaWFudHMiaW4gZX1jb25zdCBjPVt7dHlwZTppLnN0dWR5VHBvUHJlcmlvZGljSWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSx7dHlwZTppLnN0dWR5VHBvU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9XSxsPXs0Ont0eXBlOiJCYXJTZXRSZW5rb0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNzp7dHlwZToiQmFyU2V0UHJpY2VCcmVha0B0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjozNH0sNTp7dHlwZToiQmFyU2V0S2FnaUB0di1wcm9zdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo3M30sNjp7dHlwZToiQmFyU2V0UG5GQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw4Ont0eXBlOiJCYXJTZXRIZWlrZW5Bc2hpQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NjB9LDExOnt0eXBlOiJCYXJTZXRSYW5nZUB0di1iYXNpY3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjcyfSwxNzp7dHlwZTpyLnN0dWR5Vm9sRm9vdHByaW50SWQsYmFzaWNTdHVkeVZlcnNpb246MTA0fSwxODp7dmFyaWFudHM6YyxzZWxlY3RvcjplPT57Y29uc3QgdD1lO3JldHVybiJEYXkiPT09dC5wZXJpb2QmJjE9PT10LnBlcmlvZHNOdW0/Y1sxXTpjWzBdfX0sMjA6e3R5cGU6by5zdHVkeVZiUFNlc3Npb25zSWQsYmFzaWNTdHVkeVZlcnNpb246MTI2fX19LDYxMDI2OChlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSwoMCxuKDExNTI5Mykuc2V0RG9jdW1lbnREaXJHZXR0ZXIpKCgoKT0+d2luZG93LmRvY3VtZW50LmRpcikpfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcjshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ocnx8KHI9e30pKX0sMjEyMjI5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NVU1RPTV9TVUZGSVg6KCk9PmEsRUFfU1VGRklYOigpPT5zLFRSSUFMX1NVRkZJWDooKT0+byxiaWxsaW5nQ3ljbGVUb01vbnRoOigpPT52LGJpbGxpbmdDeWNsZVRvVGltZVVuaXQ6KCk9PmMsY291bnREaXNjb3VudEJ5QmlsbGluZ0N5Y2xlOigpPT55LGdldERpc2NvdW50UHJvZHVjdElkOigpPT5nLGdldFBsYW5OYW1lOigpPT54LGdldFByb2R1Y3RGb3JUcmlhbDooKT0+cCxnZXRSZWFkYWJsZUN5Y2xlOigpPT5sLGdldFJlYWRhYmxlTnVtZXJpY0N5Y2xlOigpPT51LGdldFJlbGF0aXZlQW1vdW50T2ZEYXlzRnJvbUJpbGxpbmdDeWNsZTooKT0+aCxodW1hbml6ZUNhcmRQbGFuOigpPT5tLGh1bWFuaXplUHJvUGxhbjooKT0+Zixpc1RyaWFsUHJvZHVjdDooKT0+ZCxyb3VuZDA6KCk9PmIscm91bmQyOigpPT53LHJvdW5kMm9yMDooKT0+X30pO24oODI5MTgwKTt2YXIgcj1uKDE4NTI3MSksaT1uKDg2NDAzNCk7Y29uc3Qgbz0iX3RyaWFsIixzPSJfZGlzY291bnQiLGE9Il9jdXN0b20iO2Z1bmN0aW9uIGMoZSl7cmV0dXJue3k6ci50KG51bGwse3BsdXJhbDoieWVhcnMiLGNvdW50OjF9LG4oNDQyNjY2KSksbTpyLnQobnVsbCx7cGx1cmFsOiJtb250aHMiLGNvdW50OjF9LG4oMzIzNDg1KSksIjNtIjpyLnQobnVsbCx2b2lkIDAsbig4NjM4NTIpKX1bZV18fCIifWZ1bmN0aW9uIGwoZSl7cmV0dXJue206ci50KG51bGwsdm9pZCAwLG4oNTU2NTY4KSkseTpyLnQobnVsbCx2b2lkIDAsbig3MjExMTgpKSwiM20iOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gdShlKXtyZXR1cm57W2kuQmlsbGluZ0N5Y2xlLk1vbnRobHldOnIudChudWxsLHZvaWQgMCxuKDU1NjU2OCkpLFtpLkJpbGxpbmdDeWNsZS5PbmVZZWFyXTpyLnQobnVsbCx2b2lkIDAsbigxMTE5NzYpKSxbaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHNdOnIudChudWxsLHZvaWQgMCxuKDMyODAzMCkpfVtlXXx8IiJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbmV3IFJlZ0V4cChvKyIkIikudGVzdChlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLnNwbGl0KG8pWzBdfWZ1bmN0aW9uIGcoZSx0LG4pe3JldHVybmAke2V9XyR7dH0ke259YH1mdW5jdGlvbiBmKGUsdCl7bGV0IGk9ZTtzd2l0Y2goZSl7Y2FzZSJmcmVlIjppPSJCYXNpYyI7YnJlYWs7Y2FzZSJwcm8iOmk9IkVzc2VudGlhbCI7YnJlYWs7Y2FzZSJwcm9fcmVhbHRpbWUiOmk9IlBsdXMiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW0iOmk9IlByZW1pdW0iO2JyZWFrO2Nhc2UicHJvX2V4cGVydCI6aT0iRXhwZXJ0IjticmVhaztjYXNlInByb19wcmVtaXVtX2V4cGVydCI6aT0iVWx0aW1hdGUifXJldHVybiB0JiYoaSs9IiAiK3IudChudWxsLHZvaWQgMCxuKDgzNTgpKSksaX1mdW5jdGlvbiBtKGUpe2xldCB0PWU7c3dpdGNoKGUpe2Nhc2UicHJvIjp0PSJFc3NlbnRpYWwiO2JyZWFrO2Nhc2UicHJvX3JlYWx0aW1lIjp0PSJQbHVzIjticmVhawo7Y2FzZSJwcm9fcHJlbWl1bSI6dD0iUHJlbWl1bSI7YnJlYWs7Y2FzZSJwcm9fZXhwZXJ0Ijp0PSJFeHBlcnQiO2JyZWFrO2Nhc2UicHJvX3ByZW1pdW1fZXhwZXJ0Ijp0PSJVbHRpbWF0ZSI7YnJlYWs7Y2FzZSJmcmVlIjp0PSJCYXNpYyJ9cmV0dXJuIHR9ZnVuY3Rpb24gaChlLHQpe2NvbnN0IG49dHx8bmV3IERhdGUscj12KGUpLGk9bi5nZXRNb250aCgpK3Isbz1uZXcgRGF0ZShuZXcgRGF0ZShuKS5zZXRNb250aChpKSk7cmV0dXJuIG8uZ2V0TW9udGgoKT5pJTEyJiZvLnNldERhdGUoMCksZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQuZ2V0VGltZSgpLWUuZ2V0VGltZSgpO3JldHVybiBNYXRoLnJvdW5kKG4vMWUzLzYwLzYwLzI0KX0obixvKX1mdW5jdGlvbiB5KGUsdCxuKXtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKSp2KG4pKX1mdW5jdGlvbiB2KGUpe3N3aXRjaChlKXtjYXNlIGkuQmlsbGluZ0N5Y2xlLk9uZVllYXI6cmV0dXJuIDEyO2Nhc2UgaS5CaWxsaW5nQ3ljbGUuVGhyZWVNb250aHM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gMX19ZnVuY3Rpb24gdyhlKXtyZXR1cm4oTWF0aC5yb3VuZCgxMDAqZSkvMTAwKS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1NYXRoLnJvdW5kKDEwMCplKS8xMDA7cmV0dXJuIE1hdGgucm91bmQodCkudG9GaXhlZCgwKX1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSkvMTAwLG49TWF0aC5yb3VuZCh0KTtyZXR1cm4gTWF0aC5hYnModC1uKT4wP3QudG9GaXhlZCgyKTpuLnRvRml4ZWQoMCl9ZnVuY3Rpb24geChlKXtjb25zdCB0PXIudChudWxsLHZvaWQgMCxuKDE1Mzc2NikpO2lmKGQoZSkpe2NvbnN0IG49ZihwKGUpKTtyZXR1cm4gdC5mb3JtYXQoe3Byb1BsYW5OYW1lOm59KX1yZXR1cm4gZihlKX19LDQ0MzU1NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtwYXJzZUh0bWw6KCk9Pm8scGFyc2VIdG1sRWxlbWVudDooKT0+c30pO2NvbnN0IHI9bmV3IFdlYWtNYXA7dmFyIGk7ZnVuY3Rpb24gbyhlLHQpe2xldCBuLGk7cmV0dXJuIG49bnVsbD09dD9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxyJiYoaT1yLmdldChuKSksaXx8KGk9bi5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaS5zZWxlY3ROb2RlQ29udGVudHMobiksciYmci5zZXQobixpKSksaS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoZSl9ZnVuY3Rpb24gcyhlLHQpe2NvbnN0IG49byhlLHQpLHI9bi5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gbnVsbCE9PXImJm4ucmVtb3ZlQ2hpbGQocikscn0hZnVuY3Rpb24oZSl7ZVtlLkVsZW1lbnQ9MV09IkVsZW1lbnQiLGVbZS5Eb2N1bWVudD05XT0iRG9jdW1lbnQifShpfHwoaT17fSkpfSw5MzExOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aGFuZGxlVFZMaW5rc0NsaWNrOigpPT5hfSk7dmFyIHI9big0MDAxODEpLGk9big2MDE1ODcpLG89big3MzA2NDUpO2NvbnN0IHM9ImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldF90dl9saW5rX2NsaWNrL2pzb25zY2hlbWEvMS0wLTAiO2Z1bmN0aW9uIGEoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGU9Pntjb25zdCB0PWUudGFyZ2V0LmNsb3Nlc3QoIjpsaW5rIik7dD8uaG9zdG5hbWUmJigwLG8uaXNJbnRlcm5hbEhvc3QpKHQuaG9zdG5hbWUsInRyYWRpbmd2aWV3LmNvbSIpJiZhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoT2JqZWN0LmtleXMoZSkubGVuZ3RoPjApcmV0dXJuKDAsaS5maWx0ZXJVdG1JbmZvKShlKTtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uaHJlZik7cmV0dXJue3V0bV9jYW1wYWlnbjp0LmdldCgidXRtX2NhbXBhaWduIil8fHZvaWQgMCx1dG1fc291cmNlOnQuZ2V0KCJ1dG1fc291cmNlIil8fHZvaWQgMH19KCk7KGF3YWl0KDAsci5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYyhzLHt3aWRnZXRfdHlwZTpsKG4pLGRvbWFpbjpjKG4pLGxpbms6ZSx0YXJnZXRfdHlwZTp0fSl9KHQuaHJlZix0LmRhdGFzZXQudGFyZ2V0VHlwZXx8bnVsbCl9KSl9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PWxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdfHxkb2N1bWVudC5yZWZlcnJlcjtyZXR1cm4gZS51dG1fc291cmNlfHxmdW5jdGlvbihlKXt0cnl7cmV0dXJuIG5ldyBVUkwoZSkuaG9zdH1jYXRjaChlKXtyZXR1cm4iIn19KHQpfWZ1bmN0aW9uIGwoZSl7aWYoZS51dG1fY2FtcGFpZ24pcmV0dXJuIGUudXRtX2NhbXBhaWduO2NvbnN0IHQ9bG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIHQuaW5jbHVkZXMoImVtYmVkLXdpZGdldCIpP3Quc3BsaXQoIi8iKVsyXTp0fX0sMzg5Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3RyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvOigpPT5pfSk7dmFyIHI9big0MDAxODEpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxyLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfbG9hZF9tZXRhX2luZm8vanNvbnNjaGVtYS8xLTAtMCIsZSl9fSw5MDIxMDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZXh0cmFjdFdpZGdldFNldHRpbmdzOigpPT5pfSk7Y29uc3Qgcj17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtmdW5jdGlvbiBpKGUsdD1bXSxuKXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4saT1bXSxvKXtjb25zdCBzPW4uc2xpY2UoMSksYT1kZWNvZGVVUklDb21wb25lbnQocyk7bGV0IGM9e307dHJ5eyIiIT09YSYmKGM9SlNPTi5wYXJzZShhKSx2b2lkIDAhPT1vJiZvKGUsYyksT2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZT0+eyhyW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGNbZV19KSkpfWNhdGNoKGUpe2M9e30sCmNvbnNvbGUud2FybigiSGFzaCBwYXJhbXMgcGFyc2luZyBlcnJvciEgSGFzaCBwYXJhbXMgaWdub3JlZC4iKX1jb25zdCBsPXQuc2xpY2UoMSksdT10LmluY2x1ZGVzKCIlIik/ZGVjb2RlVVJJQ29tcG9uZW50KGwpOnQsZD1uZXcgVVJMU2VhcmNoUGFyYW1zKHUpO2xldCBwPXt9O3RyeXtkLmZvckVhY2goKChlLHQpPT57aS5pbmNsdWRlcyh0KXx8KHBbdF09ZSl9KSksdm9pZCAwIT09byYmbyhlLHApfWNhdGNoKGUpe3A9e30sY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGMscCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxuKX19LDI1NDY3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtJbnRlcnZhbDooKT0+dSxSZXNvbHV0aW9uS2luZDooKT0+byxTcGVjaWFsUmVzb2x1dGlvbktpbmQ6KCk9PnN9KTtjb25zdCByPS9eKFxkKikoW1RTSERXTVJdKSQvLGk9L14oXGQrKSQvO3ZhciBvLHM7IWZ1bmN0aW9uKGUpe2UuVGlja3M9InRpY2tzIixlLlNlY29uZHM9InNlY29uZHMiLGUuTWludXRlcz0ibWludXRlcyIsZS5EYXlzPSJkYXlzIixlLldlZWtzPSJ3ZWVrcyIsZS5Nb250aHM9Im1vbnRocyIsZS5SYW5nZT0icmFuZ2UiLGUuSW52YWxpZD0iaW52YWxpZCJ9KG98fChvPXt9KSksZnVuY3Rpb24oZSl7ZS5Ib3Vycz0iaG91cnMifShzfHwocz17fSkpO2NvbnN0IGE9e307YVtvLlRpY2tzXT0xZTMsYVtvLlNlY29uZHNdPTFlMyxhW28uTWludXRlc109NjAqYVtvLlNlY29uZHNdLGFbby5EYXlzXT0xNDQwKmFbby5NaW51dGVzXSxhW28uV2Vla3NdPTcqYVtvLkRheXNdO2NvbnN0IGM9e1Q6by5UaWNrcyxTOm8uU2Vjb25kcyxEOm8uRGF5cyxXOm8uV2Vla3MsTTpvLk1vbnRocyxSOm8uUmFuZ2V9LGw9bmV3IFNldChbby5UaWNrcyxvLlNlY29uZHMsby5NaW51dGVzXSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2tpbmQ9by5JbnZhbGlkLHRoaXMuX211bHRpcGxpZXI9MCxlIT09by5JbnZhbGlkJiZ0PjAmJih0aGlzLl9raW5kPWUsdGhpcy5fbXVsdGlwbGllcj10KX1raW5kKCl7cmV0dXJuIHRoaXMuX2tpbmR9Z3VpS2luZCgpe3JldHVybiB0aGlzLmlzTWludXRlSG91cnMoKT9zLkhvdXJzOnRoaXMuX2tpbmR9bXVsdGlwbGllcigpe3JldHVybiB0aGlzLl9tdWx0aXBsaWVyfWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5raW5kKCkhPT1vLkludmFsaWQmJnRoaXMubXVsdGlwbGllcigpPjB9aXNEV00oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJiF0aGlzLmlzUmFuZ2UoKSYmIXRoaXMuaXNJbnRyYWRheSgpJiYhdGhpcy5pc1RpY2tzKCl9aXNJbnRyYWRheSgpe2NvbnN0IGU9bC5oYXModGhpcy5raW5kKCkpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmZX1pc1NlY29uZHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLlNlY29uZHN9aXNNaW51dGVzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5NaW51dGVzfWlzTWludXRlSG91cnMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1pbnV0ZXMmJigoZT10aGlzLm11bHRpcGxpZXIoKSk+PTYwJiYhKGUlNjApKTt2YXIgZX1pc0RheXMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLkRheXN9aXNXZWVrcygpe3JldHVybiB0aGlzLmtpbmQoKT09PW8uV2Vla3N9aXNNb250aHMoKXtyZXR1cm4gdGhpcy5raW5kKCk9PT1vLk1vbnRoc31pc1JhbmdlKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5SYW5nZX1pc1RpY2tzKCl7cmV0dXJuIHRoaXMua2luZCgpPT09by5UaWNrc31pczFUaWNrKCl7cmV0dXJuIHRoaXMuaXNUaWNrcygpJiYxPT09dGhpcy5tdWx0aXBsaWVyKCl9aXNUaW1lQmFzZWQoKXtyZXR1cm4hdGhpcy5pc1JhbmdlKCl9bGV0dGVyKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0aGlzLmtpbmQoKSE9PW8uTWludXRlcz90aGlzLmtpbmQoKVswXS50b1VwcGVyQ2FzZSgpOiIifXZhbHVlKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMua2luZCgpPT09by5NaW51dGVzP3RoaXMubXVsdGlwbGllcigpKyIiOnRoaXMubXVsdGlwbGllcigpK3RoaXMubGV0dGVyKCk6IiJ9aXNFcXVhbFRvKGUpe2lmKCEoZSBpbnN0YW5jZW9mIHUpKXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgaXMgbm90IGFuIEludGVydmFsIik7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFlLmlzVmFsaWQoKSkmJih0aGlzLmtpbmQoKT09PWUua2luZCgpJiZ0aGlzLm11bHRpcGxpZXIoKT09PWUubXVsdGlwbGllcigpKX1pbk1pbGxpc2Vjb25kcyhlPURhdGUubm93KCkpe2lmKCF0aGlzLmlzVmFsaWQoKXx8dGhpcy5pc1JhbmdlKCkpcmV0dXJuIE5hTjtpZih0aGlzLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZSk7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrKHRoaXMubXVsdGlwbGllcigpfHwxKSk7cmV0dXJuK3QtZX1jb25zdCB0PXRoaXMubXVsdGlwbGllcigpO3JldHVybiBhW3RoaXMua2luZCgpXSp0fXN0YXRpYyBpc0VxdWFsKGUsdCl7cmV0dXJuIGU9PT10fHx1LnBhcnNlKGUpLmlzRXF1YWxUbyh1LnBhcnNlKHQpKX1zdGF0aWMgcGFyc2VFeHQoZSl7ZT0oZSsiIikudG9VcHBlckNhc2UoKS5zcGxpdCgiLCIpWzBdO2xldCB0PXIuZXhlYyhlKTtyZXR1cm4gbnVsbCE9PXQ/IkgiPT09dFsyXT97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLDYwKmQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOnMuSG91cnN9OntpbnRlcnZhbDpuZXcgdShjW3RbMl1dLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOmNbdFsyXV19Oih0PWkuZXhlYyhlKSxudWxsIT09dD97aW50ZXJ2YWw6bmV3IHUoby5NaW51dGVzLGQodFsxXSkpLGd1aVJlc29sdXRpb25LaW5kOm8uTWludXRlc306e2ludGVydmFsOm5ldyB1KG8uSW52YWxpZCwwKSxndWlSZXNvbHV0aW9uS2luZDpvLkludmFsaWR9KX1zdGF0aWMgcGFyc2UoZSl7cmV0dXJuIHUucGFyc2VFeHQoZSkuaW50ZXJ2YWx9c3RhdGljIGtpbmQoZSl7cmV0dXJuIHUucGFyc2UoZSkua2luZCgpfXN0YXRpYyBpc1ZhbGlkKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVmFsaWQoKQp9c3RhdGljIGlzRFdNKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzRFdNKCl9c3RhdGljIGlzSW50cmFkYXkoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNJbnRyYWRheSgpfXN0YXRpYyBpc1NlY29uZHMoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNTZWNvbmRzKCl9c3RhdGljIGlzTWludXRlcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZXMoKX1zdGF0aWMgaXNNaW51dGVIb3VycyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc01pbnV0ZUhvdXJzKCl9c3RhdGljIGlzRGF5cyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc0RheXMoKX1zdGF0aWMgaXNXZWVrcyhlKXtyZXR1cm4gdS5wYXJzZShlKS5pc1dlZWtzKCl9c3RhdGljIGlzTW9udGhzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzTW9udGhzKCl9c3RhdGljIGlzUmFuZ2UoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNSYW5nZSgpfXN0YXRpYyBpc1RpY2tzKGUpe3JldHVybiB1LnBhcnNlKGUpLmlzVGlja3MoKX1zdGF0aWMgaXNUaW1lQmFzZWQoZSl7cmV0dXJuIHUucGFyc2UoZSkuaXNUaW1lQmFzZWQoKX1zdGF0aWMgbm9ybWFsaXplKGUpe2NvbnN0IHQ9dS5wYXJzZShlKTtyZXR1cm4gdC5pc1ZhbGlkKCk/dC52YWx1ZSgpOm51bGx9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD8xOnBhcnNlSW50KGUsMTApfX0sNzM4NDU4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzQW5kcm9pZDooKT0+Zyxpc0FueU1vYmlsZTooKT0+dixpc0JsYWNrQmVycnk6KCk9PmYsaXNDaHJvbWU6KCk9PmEsaXNFZGdlOigpPT5sLGlzRkY6KCk9PmMsaXNJT1M6KCk9Pm0saXNJUGFkOigpPT55LGlzTGludXg6KCk9PnAsaXNNYWM6KCk9PmQsaXNPcGVyYU1pbmk6KCk9PmgsaXNTYWZhcmk6KCk9PnUsbW9iaWxldG91Y2g6KCk9Pm8sdG91Y2g6KCk9PnN9KTtjb25zdCByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixpPXImJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LG89ciYmaSYmIm9ub3JpZW50YXRpb25jaGFuZ2UiaW4gd2luZG93LHM9ciYmKGl8fCEhbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSxhPXImJndpbmRvdy5jaHJvbWUmJndpbmRvdy5jaHJvbWUucnVudGltZSxjPXImJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiZmlyZWZveCIpPi0xLGw9ciYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHU9ciYmQm9vbGVhbihuYXZpZ2F0b3IudmVuZG9yKSYmbmF2aWdhdG9yLnZlbmRvci5pbmRleE9mKCJBcHBsZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQ3JpT1MiKSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkZ4aU9TIiksZD1yJiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHA9KHImJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxyJiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGc9ciYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGY9ciYmL0JsYWNrQmVycnkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLG09ciYmL2lQaG9uZXxpUGFkfGlQb2QvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSxoPXImJi9PcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PXImJigiTWFjSW50ZWwiPT09bmF2aWdhdG9yLnBsYXRmb3JtJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MXx8L2lQYWQvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSksdj1nfHxmfHxtfHxofX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.21784.3a87670ef41edfdc885c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.386Z","timestamp":1785136429386,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.21784.3a87670ef41edfdc885c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c48\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5415143ccfd4fe69acf579d6f34778ad\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3144,"size_decoded":1995,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3066)","md5":"68b75b26be0b7fe9cba6ceddf63188df","sha1":"447c852987cb0e880df0376f8a8e0e27c60cd3d3","sha256":"0b29ce96df5aa6f662415605317e6649052164faa030d408343458926bfcf91c","sha512":"aed77643d5947482c1d0f7df00997cb11568215d6b283085e572ffc9ec7a62cb10f40e21a1b6f166ac471743f8af4969cdbc41eff7c9365696e28d08f21572dd","ssdeep":"","tlshash":"c851fe27d181c5e92f31da01b389ecc1baf0b54514f7e0cb778aaf2ac15bc512928b75","first_seen":"2026-07-03T16:22:04.594265Z","last_seen":"2026-07-28T06:17:53.434777Z","times_seen":186,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMTc4NCw0OTMwNyw4NjU5Myw5NjY3OF0sezc2Nzc3MShlKXtlLmV4cG9ydHM9WyJSZWFkIHN1bW1hcnkiXX0sMzI0NTEoZSl7ZS5leHBvcnRzPVsiQW1vdW50Il19LDQ5NzA5NihlKXtlLmV4cG9ydHM9WyJBY3RpdmUgYWxlcnRzIG9uIHRoaXMgZWFybmluZyJdfSw0NjQ2NjcoZSl7ZS5leHBvcnRzPVsiQWRqdXN0ZWQgYW1vdW50Il19LDI5OTU5MyhlKXtlLmV4cG9ydHM9WyJBZnRlciBtYXJrZXQgY2xvc2UiXX0sODQ0MDA5KGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw2NDI4MTcoZSl7ZS5leHBvcnRzPVsiQmVmb3JlIG1hcmtldCBvcGVuIl19LDg0Nzg1OChlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDQ3MTEyNChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMiXX0sMzg1MTEyKGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIl19LDY0MTg3NShlKXtlLmV4cG9ydHM9WyJFYXJuaW5ncyAmIFJldmVudWUiXX0sMzM2ODcxKGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlIl19LDQ2Mjk5KGUpe2UuZXhwb3J0cz1bIkVzdGltYXRlZCBkYXRlIl19LDUxODE0MyhlKXtlLmV4cG9ydHM9WyJFeC1kaXZpZGVuZCBkYXRlIl19LDM4MTQ3OShlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGRpdmlkZW5kcyJdfSw3NTkxNTEoZSl7ZS5leHBvcnRzPVsiTW9yZSB7c3ltYm9sfSBlYXJuaW5ncyJdfSwyNDE3NyhlKXtlLmV4cG9ydHM9WyJNb3JlIHtzeW1ib2x9IGZpbmFuY2lhbHMiXX0sNDEwMzQ1KGUpe2UuZXhwb3J0cz1bIlNwbGl0Il19LDEzNjk1MihlKXtlLmV4cG9ydHM9WyJTdGFuZGFyZGl6ZWQiXX0sOTMwNTg2KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlIl19LDQ2NTkzNihlKXtlLmV4cG9ydHM9WyJQYXltZW50IGRhdGUiXX0sNzcyMTQ5KGUpe2UuZXhwb3J0cz1bIlBlcmlvZCBFbmRpbmciXX0sNjUxMjI0KGUpe2UuZXhwb3J0cz1bIlJldmVudWUiXX0sNzU2Nzg0KGUpe2UuZXhwb3J0cz1bIlJlcG9ydGVkIl19LDQyODcyMyhlKXtlLmV4cG9ydHM9WyJSb3RhdGlvbiBmYWN0b3IiXX0sMjY4ODkxKGUpe2UuZXhwb3J0cz1bIlRQTyBhYm92ZSBQT0MiXX0sMTEyNzQ4KGUpe2UuZXhwb3J0cz1bIlRQTyBiZWxvdyBQT0MiXX0sODU2MDI4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIFRQTyJdfSw3MjkyMDMoZSl7ZS5leHBvcnRzPVsiVG90YWwgdm9sdW1lIl19LDUwNTAxMChlKXtlLmV4cG9ydHM9WyJWQSByYW5nZSJdfSwyNzYxMzcoZSl7ZS5leHBvcnRzPVsiSUIgaGlnaCJdfSwxNDgzMzUoZSl7ZS5leHBvcnRzPVsiSUIgbG93Il19LDUxNDc2MihlKXtlLmV4cG9ydHM9WyJJQiByYW5nZSJdfSw5NDk2MTcoZSl7ZS5leHBvcnRzPVsiUE9DIl19LDg2OTI4MyhlKXtlLmV4cG9ydHM9WyJWQUgiXX0sOTI4NjY1KGUpe2UuZXhwb3J0cz1bIlZBTCJdfSw5MzE0ODgoZSl7ZS5leHBvcnRzPVsiSEwgcmFuZ2UiXX0sNTczMjI0KGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUiXX0sNTMwOTMxKGUpe2UuZXhwb3J0cz1bIkJ1eSB2b2x1bWUsICUiXX0sMTM5ODcwKGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDIxOTMwNihlKXtlLmV4cG9ydHM9WyJEZWx0YSwgJSJdfSw2Njk3NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCJdfSw2MDA0NTMoZSl7ZS5leHBvcnRzPVsiT3BlbiBpbnRlcmVzdCBoaWdoIl19LDQ1NjU0MihlKXtlLmV4cG9ydHM9WyJPcGVuIGludGVyZXN0IGxvdyJdfSwyNDk0MShlKXtlLmV4cG9ydHM9WyJNYXggZGVsdGEiXX0sODExMDgyKGUpe2UuZXhwb3J0cz1bIk1pbiBkZWx0YSJdfSw3NDc3NzYoZSl7ZS5leHBvcnRzPVsiU2VsbCB2b2x1bWUiXX0sNzk0MzgwKGUpe2UuZXhwb3J0cz1bIlNlbGwgdm9sdW1lLCAlIl19LDcyNDY2MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sOTE1NjQ1KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBjaGFuZ2UsICUiXX0sMzQ3ODQ5KGUpe2UuZXhwb3J0cz1bIlBPQyJdfSw5NzMzOTUoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiBDVkQiXX0sODE1MjQwKGUpe2UuZXhwb3J0cz1bIkhMIHJhbmdlIl19LDg3MDA5KGUpe2UuZXhwb3J0cz1bIlN1bW1hcnkgaW5mbyJdfSw5MjkwNjYoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sMjE5MTA0KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0IHN3aXRjaCJdfSw3OTQ0MDgoZSl7ZS5leHBvcnRzPVsiQ2lyY2xlIl19LDg2OTg2NyhlKXtlLmV4cG9ydHM9WyJDbGljayB0byBsZWFybiBtb3JlIl19LDQ4ODE4MChlKXtlLmV4cG9ydHM9WyJDcm9zcyJdfSwzNDQ0ODIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIGVhcm5pbmdzIG9yIHJldmVudWUiXX0sNzA0NDU4KGUpe2UuZXhwb3J0cz1bIkFycm93IERvd24iXX0sNjIwNjEoZSl7ZS5leHBvcnRzPVsiQXJyb3cgVXAiXX0sMjgxMjQ4KGUpe2UuZXhwb3J0cz1bIkRpYW1vbmQiXX0sOTcxNTI3KGUpe2UuZXhwb3J0cz1bIkZsYWciXX0sNjE2NDk0KGUpe2UuZXhwb3J0cz1bIkZyb20gY29udHJhY3QiXX0sMTU1ODUoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwgc3R1ZGllcyBhcmUgbm8gbG9uZ2VyIGF2YWlsYWJsZSBvbiBjaGFydHMiXX0sMjYyNDU4KGUpe2UuZXhwb3J0cz1bIkxhYmVsIERvd24iXX0sNDY0MTU3KGUpe2UuZXhwb3J0cz1bIkxhYmVsIFVwIl19LDkxNjIxNShlKXtlLmV4cG9ydHM9WyJTcXVhcmUiXX0sODcwNDA5KGUpe2UuZXhwb3J0cz1bIlRQTyBtZXJnZSBibG9jayJdfSw2MTk2MDkoZSl7ZS5leHBvcnRzPVsiVFBPIHNwbGl0IGJsb2NrIl19LDM4Mzc1MShlKXtlLmV4cG9ydHM9WyJUbyBjb250cmFjdCJdfSw4NDI2MzUoZSl7ZS5leHBvcnRzPVsiVGhpcyBmdW5kYW1lbnRhbCBtZXRyaWMgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIHN5bWJvbC4iXX0sNDcxNzQ1KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIERvd24iXX0sMzk5Njg4KGUpe2UuZXhwb3J0cz1bIlRyaWFuZ2xlIFVwIl19LDgxMDIyMihlKXtlLmV4cG9ydHM9WyJYIENyb3NzIl19LDM3MTI5NyhlKXtlLmV4cG9ydHM9WyJzdHVkeSBwYWNrYWdlIGlzIG5vdCBhdmFpbGFibGUiXX0sCjUxODcxOShlKXtlLmV4cG9ydHM9WyJhbmQge2NvdW50fSBtb3JlIGFsZXJ0IiwiYW5kIHtjb3VudH0gbW9yZSBhbGVydHMiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.585Z","timestamp":1785136427585,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-18a9de512a1933ad.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 2251814\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"turbopack-18a9de512a1933ad.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"ee874107586f9203ea70e460428f2bb3\"\r\nlast-modified: Tue, 30 Jun 2026 21:36:51 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/turbopack-18a9de512a1933ad.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::224xg-1782884613047-36a6958ca2eb\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9Vngrt4whKXoZC%2FeflPvtkfFGaRdH6YxijF9WPEG3vjcHujm4PCf8%2FHa0JD3QXjVhpc4GzF2QueeiMA%2FRrzSrxEiTcoNbLKeId5UIOn%2FJNlmFgM9%2Bc2EbXtKOyc%2B\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f138deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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"]},{"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"]}],"data":{"size":10707,"size_decoded":6496,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (6438)","md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIsInN0YXRpYy9jaHVua3MvOWRmM2I2N2I2MDYxZWE5ZS5qcyIsInN0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIsInN0YXRpYy9jaHVua3MvNDkxMTQxMGU1MTUzZjBkNy5qcyIsInN0YXRpYy9jaHVua3MvNDgxNWE3NTg2NTdkNGJhZS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk2MzM1XX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19DSFVOS19TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCBsPW8ucHJvdG90eXBlLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gdShlLHQscil7aS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gYShlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWModCksZVt0XT1yKSxyfWZ1bmN0aW9uIGMoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZihlLHQpe3UoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyYmdShlLHMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKXUoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP3UoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTp1KGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWwucz1mdW5jdGlvbihlLHQpe2xldCByLG47bnVsbCE9dD9uPShyPWEodGhpcy5jLHQpKS5leHBvcnRzOihyPXRoaXMubSxuPXRoaXMuZSksci5uYW1lc3BhY2VPYmplY3Q9bixmKG4sZSl9LGwuaj1mdW5jdGlvbihlLHQpe3ZhciByLG87bGV0IGwscyx1O251bGwhPXQ/cz0obD1hKHRoaXMuYyx0KSkuZXhwb3J0czoobD10aGlzLm0scz10aGlzLmUpO2xldCBjPShyPWwsbz1zLCh1PW4uZ2V0KHIpKXx8KG4uc2V0KHIsdT1bXSksci5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PW5ldyBQcm94eShvLHtnZXQoZSx0KXtpZihpLmNhbGwoZSx0KXx8ImRlZmF1bHQiPT09dHx8Il9fZXNNb2R1bGUiPT09dClyZXR1cm4gUmVmbGVjdC5nZXQoZSx0KTtmb3IobGV0IGUgb2YgdSl7bGV0IHI9UmVmbGVjdC5nZXQoZSx0KTtpZih2b2lkIDAhPT1yKXJldHVybiByfX0sb3duS2V5cyhlKXtsZXQgdD1SZWZsZWN0Lm93bktleXMoZSk7Zm9yKGxldCBlIG9mIHUpZm9yKGxldCByIG9mIFJlZmxlY3Qub3duS2V5cyhlKSkiZGVmYXVsdCI9PT1yfHx0LmluY2x1ZGVzKHIpfHx0LnB1c2gocik7cmV0dXJuIHR9fSkpLHUpOyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmMucHVzaChlKX0sbC52PWZ1bmN0aW9uKGUsdCl7KG51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPWV9LGwubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBwPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18saD1bbnVsbCxwKHt9KSxwKFtdKSxwKHApXTtmdW5jdGlvbiBkKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIWguaW5jbHVkZXModCk7dD1wKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGYodCxuKSx0fWZ1bmN0aW9uIG0oZSl7bGV0IHQ9QihlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZChyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBiKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiB5KCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fWwuaT1tLGwuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKG0uYmluZCh0aGlzKSl9LGwudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSxsLnI9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSx0aGlzLm0pLmV4cG9ydHN9LGwuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBPPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLGc9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLHc9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBDKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9bC5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmwscmVqZWN0OmkscHJvbWlzZTpzfT15KCksdT1PYmplY3QuYXNzaWduKHMse1tnXTpyLmV4cG9ydHMsW09dOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbZ109ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoTyBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbZ106e30sW09dOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3JbZ109ZSxDKHQpfSxlPT57clt3XT1lLEModCl9KSxyfX1yZXR1cm57W2ddOmUsW09dOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVt3XSl0aHJvdyBlW3ddO3JldHVybiBlW2ddfSkse3Byb21pc2U6bCxyZXNvbHZlOml9PXkoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmkocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW09dKHUpKSxzLnF1ZXVlQ291bnQ/bDpyKCl9LGZ1bmN0aW9uKGUpe2U/aSh1W3ddPWUpOmwodVtnXSksQyhuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uIGooZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSxsLlU9VSxsLno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LGwuZz1nbG9iYWxUaGlzO2xldCBSPW8ucHJvdG90eXBlO3ZhciBrLF89KChrPV98fHt9KVtrLlJ1bnRpbWU9MF09IlJ1bnRpbWUiLGtbay5QYXJlbnQ9MV09IlBhcmVudCIsa1trLlVwZGF0ZT0yXT0iVXBkYXRlIixrKTtsZXQgdj1uZXcgTWFwO2wuTT12O2xldCAkPW5ldyBNYXAsUD1uZXcgTWFwO2FzeW5jIGZ1bmN0aW9uIFMoZSx0LHIpe2xldCBuO2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gRShlLHQsSyhyKSk7bGV0IG89ci5pbmNsdWRlZHx8W10sbD1vLm1hcChlPT4hIXYuaGFzKGUpfHwkLmdldChlKSk7aWYobC5sZW5ndGg+MCYmbC5ldmVyeShlPT5lKSlyZXR1cm4gdm9pZCBhd2FpdCBQcm9taXNlLmFsbChsKTtsZXQgaT1yLm1vZHVsZUNodW5rc3x8W10scz1pLm1hcChlPT5QLmdldChlKSkuZmlsdGVyKGU9PmUpO2lmKHMubGVuZ3RoPjApe2lmKHMubGVuZ3RoPT09aS5sZW5ndGgpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwocyk7bGV0IHI9bmV3IFNldDtmb3IobGV0IGUgb2YgaSlQLmhhcyhlKXx8ci5hZGQoZSk7Zm9yKGxldCBuIG9mIHIpe2xldCByPUUoZSx0LEsobikpO1Auc2V0KG4scikscy5wdXNoKHIpfW49UHJvbWlzZS5hbGwocyl9ZWxzZXtmb3IobGV0IG8gb2Yobj1FKGUsdCxLKHIucGF0aCkpLGkpKVAuaGFzKG8pfHxQLnNldChvLG4pfWZvcihsZXQgZSBvZiBvKSQuaGFzKGUpfHwkLnNldChlLG4pO2F3YWl0IG59Ui5sPWZ1bmN0aW9uKGUpe3JldHVybiBTKDEsdGhpcy5tLmlkLGUpfTtsZXQgVD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxBPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUodCxyLG4pe2xldCBvPWUubG9hZENodW5rQ2FjaGVkKHQsbiksbD1BLmdldChvKTtpZih2b2lkIDA9PT1sKXtsZXQgZT1BLnNldC5iaW5kKEEsbyxUKTtsPW8udGhlbihlKS5jYXRjaChlPT57bGV0IG87c3dpdGNoKHQpe2Nhc2UgMDpvPWBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bz1gZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gRSgxLHRoaXMubS5pZCxlKX0sUi5SPWZ1bmN0aW9uKGUpe2xldCB0PXRoaXMucihlKTtyZXR1cm4gdD8uZGVmYXVsdD8/dH0sUi5QPWZ1bmN0aW9uKGUpe3JldHVybmAvUk9PVC8ke2U/PyIifWB9LFIuYj1mdW5jdGlvbihlKXtsZXQgdD1uZXcgQmxvYihbYHNlbGYuVFVSQk9QQUNLX1dPUktFUl9MT0NBVElPTiA9ICR7SlNPTi5zdHJpbmdpZnkobG9jYXRpb24ub3JpZ2luKX07CnNlbGYuVFVSQk9QQUNLX0NIVU5LX1NVRkZJWCA9ICR7SlNPTi5zdHJpbmdpZnkocil9OwpzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMgPSAke0pTT04uc3RyaW5naWZ5KGUucmV2ZXJzZSgpLm1hcChLKSxudWxsLDIpfTsKaW1wb3J0U2NyaXB0cyguLi5zZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMubWFwKGMgPT4gc2VsZi5UVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OICsgYykucmV2ZXJzZSgpKTtgXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pO3JldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKHQpfTtsZXQgeD0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sTj0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIE4udGVzdChlKX1sLnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseSgxLHRoaXMubS5pZCx0LHIsbil9LGwudT1mdW5jdGlvbih0LHIpe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseU1vZHVsZSgxLHRoaXMubS5pZCx0LHIpfTtsZXQgTD17fTtsLmM9TDtsZXQgQj0oZSx0KT0+e2xldCByPUxbZV07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybiByfXJldHVybiBxKGUsXy5QYXJlbnQsdC5pZCl9O2Z1bmN0aW9uIHEoZSx0LHIpe2xldCBuPXYuZ2V0KGUpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKGZ1bmN0aW9uKGUsdCxyKXtsZXQgbjtzd2l0Y2godCl7Y2FzZSAwOm49YGFzIGEgcnVudGltZSBlbnRyeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bj1gYmVjYXVzZSBpdCB3YXMgcmVxdWlyZWQgZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm49ImJlY2F1c2Ugb2YgYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1yZXR1cm5gTW9kdWxlICR7ZX0gd2FzIGluc3RhbnRpYXRlZCAke259LCBidXQgdGhlIG1vZHVsZSBmYWN0b3J5IGlzIG5vdCBhdmFpbGFibGUuYH0oZSx0LHIpKTtsZXQgbD1jKGUpLGk9bC5leHBvcnRzO0xbZV09bDtsZXQgcz1uZXcgbyhsLGkpO3RyeXtuKHMsbCxpKX1jYXRjaChlKXt0aHJvdyBsLmVycm9yPWUsZX1yZXR1cm4gbC5uYW1lc3BhY2VPYmplY3QmJmwuZXhwb3J0cyE9PWwubmFtZXNwYWNlT2JqZWN0JiZkKGwuZXhwb3J0cyxsLm5hbWVzcGFjZU9iamVjdCksbH1mdW5jdGlvbiBJKHIpe2xldCBuLG89ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCByPWRlY29kZVVSSUNvbXBvbmVudCgoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTP1RVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucG9wKCk6ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKS5yZXBsYWNlKC9bPyNdLiokLywiIikpO3JldHVybiByLnN0YXJ0c1dpdGgodCk/ci5zbGljZSh0Lmxlbmd0aCk6cn0oclswXSk7cmV0dXJuIDI9PT1yLmxlbmd0aD9uPXJbMV06KG49dm9pZCAwLCFmdW5jdGlvbihlLHQscixuKXtsZXQgbz0xO2Zvcig7bzxlLmxlbmd0aDspe2xldCB0PWVbb10sbj1vKzE7Zm9yKDtuPGUubGVuZ3RoJiYiZnVuY3Rpb24iIT10eXBlb2YgZVtuXTspbisrO2lmKG49PT1lLmxlbmd0aCl0aHJvdyBFcnJvcigibWFsZm9ybWVkIGNodW5rIGZvcm1hdCwgZXhwZWN0ZWQgYSBmYWN0b3J5IGZ1bmN0aW9uIik7aWYoIXIuaGFzKHQpKXtsZXQgbD1lW25dO2ZvcihPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KTtvPG47bysrKXQ9ZVtvXSxyLnNldCh0LGwpfW89bisxfX0ociwwLHYpKSxlLnJlZ2lzdGVyQ2h1bmsobyxuKX1sZXQgVz1uZXcgTWFwO2Z1bmN0aW9uIEgoZSl7bGV0IHQ9Vy5nZXQoZSk7aWYoIXQpe2xldCByLG47dD17cmVzb2x2ZWQ6ITEsbG9hZGluZ1N0YXJ0ZWQ6ITEscHJvbWlzZTpuZXcgUHJvbWlzZSgoZSx0KT0+e3I9ZSxuPXR9KSxyZXNvbHZlOigpPT57dC5yZXNvbHZlZD0hMCxyKCl9LHJlamVjdDpufSxXLnNldChlLHQpfXJldHVybiB0fWU9e2FzeW5jIHJlZ2lzdGVyQ2h1bmsoZSx0KXtpZihIKEsoZSkpLnJlc29sdmUoKSxudWxsIT10KXtmb3IobGV0IGUgb2YgdC5vdGhlckNodW5rcylIKEsoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwodC5vdGhlckNodW5rcy5tYXAodD0+UygwLGUsdCkpKSx0LnJ1bnRpbWVNb2R1bGVJZHMubGVuZ3RoPjApZm9yKGxldCByIG9mIHQucnVudGltZU1vZHVsZUlkcykhZnVuY3Rpb24oZSx0KXtsZXQgcj1MW3RdO2lmKHIpe2lmKHIuZXJyb3IpdGhyb3cgci5lcnJvcjtyZXR1cm59cSh0LF8uUnVudGltZSxlKX0oZSxyKX19LGxvYWRDaHVua0NhY2hlZDooZSx0KT0+KGZ1bmN0aW9uKGUsdCl7bGV0IHI9SCh0KTtpZihyLmxvYWRpbmdTdGFydGVkKXJldHVybiByLnByb21pc2U7aWYoZT09PV8uUnVudGltZSlyZXR1cm4gci5sb2FkaW5nU3RhcnRlZD0hMCxNKHQpJiZyLnJlc29sdmUoKSxyLnByb21pc2U7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGltcG9ydFNjcmlwdHMpaWYoTSh0KSk7ZWxzZSBpZih4LnRlc3QodCkpc2VsZi5UVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTLnB1c2godCksaW1wb3J0U2NyaXB0cyhUVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OK3QpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihNKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKHgudGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGw9ZmV0Y2goSyhyKSkse2luc3RhbmNlOml9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGwsbyk7cmV0dXJuIGkuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKEsocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEY9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6SX0sRi5mb3JFYWNoKEkpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9DUUNuSlhHMXJLWk0xazNReERpQjlpMVRtZjY2Iik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/css/plat.css?v=01","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.771Z","timestamp":1785136427771,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/plat.css?v=01 HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 23 May 2017 15:12:28 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qMFJLz5L5b7HmXngRSSzCCyENQmfm%2Bet0AhvQw7YkFbn21gWpcwWtdO5SDIeGpY0CkEfa0cL7IJTIWXKvS2YkyskymTroa%2FbJRyjkqTyyVCo%2FTGcnaS09JlOwO%2B8jqR6kg%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"5924515c-2a2a\"\r\ncf-ray: a219d7f1ab350daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":10794,"size_decoded":3584,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"373098dee4d591a96a9f246be8f6cda7","sha1":"efbcb2441a92c07f5b0285d044be4cc65e52de98","sha256":"88fd82d5b36892e96b8683e225236382a1dc3effc95440916b114e00f2f0b099","sha512":"a250c9efaa98c2a6f357642412c23cb38d87cd1a9e5aa3336577c886cf788e704aa8d6642026d2b7834276da5d8f2a8baa918b2f012fc80890c07da9dc142941","ssdeep":"96:17IEocmu5SlfWZijXD4LZ1EWp1uLf/QBHuP/MGKhACXHDFYWnvUtA5/kUtAD/d/4:eEalfWCGp11cUHACuYviZiFeS","tlshash":"e32274a6dfa31904752fc2947502a7a5e33c8002690fc8fdbba1744ceecf2d99166b59","first_seen":"2023-04-07T16:36:39Z","last_seen":"2026-08-10T18:26:39.607638Z","times_seen":97,"resource_available":false,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgICAgICAgIFJlc2V0CioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKiBCb3JkZXItQm94ICovCgoqLAoqOmJlZm9yZSwKKjphZnRlciB7CiAgYm94LXNpemluZzogaW5oZXJpdDsKfQoKaHRtbCB7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoKLyogaVBhZCBJbnB1dCBTaGFkb3dzICovCgppbnB1dFt0eXBlPSJ0ZXh0Il0sCmlucHV0W3R5cGU9ImVtYWlsIl0sCmlucHV0W3R5cGU9InNlYXJjaCJdLAppbnB1dFt0eXBlPSJwYXNzd29yZCJdIHsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIC8qIG1vYmlsZSBmaXJlZm94IHRvbyEgKi8KfQpib2R5IHsKICBtYXJnaW46IDA7CiAgZm9udC1mYW1pbHk6ICJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOwp9CmEgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgovKioKICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuCiAqLwoKYTphY3RpdmUsCmE6aG92ZXIgewogIG91dGxpbmU6IDA7Cn0KLmxlZnR7CiAgZmxvYXQ6IGxlZnQ7Cn0KLnJpZ2h0ewogIGZsb2F0OiByaWdodDsKfQouY2xlYXJmaXh7CiAgY2xlYXI6IGJvdGg7Cn0KCi5jbGVhcmZpeDphZnRlciB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMDsKICBjb250ZW50OiAiICI7CiAgY2xlYXI6IGJvdGg7CiAgaGVpZ2h0OiAwOwp9Ci5oMSwgaDEgewogIGxpbmUtaGVpZ2h0OiAzMHB4OwogIGZvbnQtc2l6ZTogMzBweDsKICBmb250LXdlaWdodDogMTAwOwogIGNvbG9yOiAjM2M0NTRjOwp9Ci50ZXh0LWNlbnRlcmVkIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KaGVhZGVyewogIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVhZGVyLmpwZykgdG9wIGNlbnRlcjsKICBoZWlnaHQ6IDE5NXB4OwogIHdpZHRoOiAxMDAlOwogIG1pbi13aWR0aDogOTcwcHg7Cn0KCgoKCgovKi0tLS0tLS0tLS0tLS0tLS0tLWF1dGggZXZlbnQtLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyotLS0tLS0tLS0tLS0tLS0tLS1yZWdpc3Rlci1wb3B1cC0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKi5hd2FyZC1pbWctY29udDpob3ZlciwgI2JlbmVmaXRzIC5hd2FyZC1pbWctY29udDpob3ZlciB7Ki8KLm1jLXRhYmxlLCAuY2hhcnQtcGFkZGluZyB7CiAgd2lkdGg6IDQ5MHB4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Owp9Ci5taW5pLWNoYXJ0LWJ0bi1jb250LCAubWMtbG9nbyB7CiAgd2lkdGg6IDE4MHB4OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Owp9CgoubWluaS1jaGFydC1jb250ID4gKiwKLm1pbmktY2hhcnQtbGVnZW5kID4gKiwKLm1jLXRhYmxlID4gKiB7CiAgZmxvYXQ6IGxlZnQ7Cn0KLm1pbmktY2hhcnQtbGVnZW5kOmFmdGVyLAoubWluaS1jaGFydC1jb250OmFmdGVyIHsKICBjb250ZW50OiAnJzsKICBkaXNwbGF5OiBibG9jazsKICBjbGVhcjogYm90aDsKfQouY2hhcnQtcGFkZGluZyB7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICAvKiBiYWNrZ3JvdW5kOiAjMWMxYzFjOyAqLwp9Ci5jaGFydCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIGNvbG9yOiAjZDQ0YTNkOyAqLwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvQm9sZCcsIHNhbnMtc2VyaWY7CiAgd2lkdGg6IDEwMCU7Cn0KLmNoYXJ0LXRpbWVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbWFyZ2luOiBhdXRvOwogIGxlZnQ6IDBweDsKICByaWdodDogMDsKICBsZXR0ZXItc3BhY2luZzogMC4ycHg7CiAgd2lkdGg6IDEwMHB4OwogIGhlaWdodDogNDBweDsKICB0b3A6IDEycHg7CiAgZm9udC1zaXplOiAyMHB4OwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7CiAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgY29sb3I6ICM1NTZlNzg7Cn0KLmNoYXJ0LXRpbWUtc2VsZiB7CiAgcGFkZGluZy1sZWZ0OiAxMHB4OwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KLm1pbmktY2hhcnQtY29udCB7CiAgd2lkdGg6IDEwMCU7Cn0KLm1jLXRhYmxlLXRkLWxlZ2VuZCB7CiAgcGFkZGluZy10b3A6IDEzcHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7CiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4Owp9Ci5tYy10YWJsZS10ZCB7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB3aWR0aDogMjQuNSU7CiAgY29sb3I6ICNDMEMxQzQ7Cn0KCi5tYy10YWJsZS10ZC1sZWdlbmQgYiB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKfQoKLm1pbmktY2hhcnQtbGVnZW5kIHsKICBoZWlnaHQ6IDcwcHg7CiAgd2lkdGg6IDQ5MHB4OwogIGZsb2F0OiBsZWZ0Owp9Ci5tYy10YWJsZS10ZC12YWx1ZSB7CiAgcGFkZGluZy10b3A6IDBweDsKICBmb250LXNpemU6IDI0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7Cn0KLnRleHQtZ3JlZW4gewogIGNvbG9yOiAjMDNBRTg5Owp9Ci50ZXh0LXllbGxvd3sKICBjb2xvcjogI2ZmZTA3NjsKfQoubWMtYnRuIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIG91dGxpbmU6IG5vbmU7CiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAtby11c2VyLXNlbGVjdDogbm9uZTsKICB1c2VyLXNlbGVjdDogbm9uZTsKICBwYWRkaW5nOiAxMHB4IDMwcHg7CiAgZm9udC1zaXplOiAxOHB4OwogIGxpbmUtaGVpZ2h0OiAxLjMzOwogIGJvcmRlcjogbm9uZTsKICBtYXJnaW46IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiA4MHB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Cn0KLm1jLWJ0bl9jYWxsIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkNBOTI0OwogIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOwogIG1hcmdpbi1ib3R0b206IDFweDsKfQoubWMtYnRuX2NhbGw6aG92ZXIsIC5tYy1idG5fY2FsbDpmb2N1cywgLm1jLWJ0bl9jYWxsOmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzc2RDIwQzsKfQoubWMtYnRuX3B1dCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3NEE1QzsKICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKfQoubWMtYnRuX3B1dDpob3ZlciwgLm1jLWJ0bl9wdXQ6Zm9jdXMsIC5tYy1idG5fcHV0OmFjdGl2ZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMEIwQjsKfQoubWMtYnRuOmFjdGl2ZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQoubWMtYnRuOmFjdGl2ZSB7CiAgb3V0bGluZTogMDsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwogIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTsKfQoubWluaS1jaGFydC1idG4tY29udCAubWMtYnRuIGltZyB7CiAgd2lkdGg6IDMxcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMnB4OwogIGJvdHRvbTogMDsKICBsZWZ0OiAzMHB4OwogIGhlaWdodDogMjJweDsKICBtYXJnaW46IGF1dG8gMDsKfQoubWMtYnRuIHNwYW4gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwIDAgMCA0OHB4OwogIG1hcmdpbi1ib3R0b206IC00cHg7CiAgbGVmdDogLTJweDsKICBkaXNwbGF5OiBibG9jazsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBsaW5lLWhlaWdodDogMjBweDsKfQoubWMtYnRuIHNwYW4gYnsKICBkaXNwbGF5OiBibG9jazsKfQoubWMtdGFibGUtdGQubWMtdGFibGUtdGRfcHJpY2UgewogIHBhZGRpbmctbGVmdDogMzlweDsKICBjb2xvcjogI0MwQzFDNDsKICBib3JkZXItdG9wOiBzb2xpZCAxMHB4ICMxRjIzMkU7CiAgbWFyZ2luLXRvcDogLTEwcHg7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3JldmVudWUgewogIHBhZGRpbmctbGVmdDogNTRweDsKICBib3JkZXItdG9wOiBzb2xpZCAxMHB4ICMxRjIzMkU7CiAgbWFyZ2luLXRvcDogLTEwcHg7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3Byb2ZpdCB7CiAgcGFkZGluZy1sZWZ0OiA2NXB4OwogIGJhY2tncm91bmQ6ICMyQTMwNDA7Cn0KLm1jLXRhYmxlLXRkLm1jLXRhYmxlLXRkX3Byb2ZpdCA+IGRpdiB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKfQoubWMtdGFibGUgewogIHBhZGRpbmc6IDA7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZDogIzJBMzA0MDsKfQoKLm1jLWxvZ28ubWMtbG9nb19ldXJ1c2QgewogIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsKfQoubWluaS1jaGFydC1idG4tY29udCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGZsb2F0OiByaWdodDsKfQoud2FpdC1kZWFsLWVuZCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMzsKICBoZWlnaHQ6IDEwMCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYmFja2dyb3VuZDogIzMwMzAzMDsKICBkaXNwbGF5OiBub25lOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoud2RlLWxlZ2VuZCB7CiAgbWFyZ2luLXRvcDogMzVweDsKICBmb250LXNpemU6IDI0cHg7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9MaWdodCcsIHNhbnMtc2VyaWY7CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgY29sb3I6IHdoaXRlOwp9Cgoud2FpdC1kZWFsLWVuZCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgei1pbmRleDogMzsKICBoZWlnaHQ6IDEwMCU7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYmFja2dyb3VuZDogIzMwMzAzMDsKICBkaXNwbGF5OiBub25lOwogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoKLndkZS1sZWdlbmQgewogIG1hcmdpbi10b3A6IDM1cHg7CiAgZm9udC1zaXplOiAyNHB4OwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIGxpbmUtaGVpZ2h0OiAyOHB4OwogIGNvbG9yOiB3aGl0ZTsKfQoKLndhaXQtZGVhbC1lbmQgLmNoYXJ0LXRpbWVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogYmxvY2s7CiAgY29sb3I6ICNkNDRhM2Q7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKICB3aWR0aDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgZm9udC1zaXplOiAzNXB4OwogIHRvcDogMTdweDsKfQoKLmRlYWwtc3RhcnRlZCAud2FpdC1kZWFsLWVuZCB7CiAgb3BhY2l0eTogMTsKICBkaXNwbGF5OiBibG9jazsKfQoKLndhaXQtZGVhbC1lbmQgLmNoYXJ0LXRpbWUtc2VsZiB7CiAgcGFkZGluZy1sZWZ0OiA2cHg7Cn0KCi53YWl0LWRlYWwtZW5kIC5mYS1jbG9jay1vIHsKICB3aWR0aDogMzVweDsKfQoKLndhaXQtZGVhbC1lbmQgLmZhLWNsb2NrLW86YmVmb3JlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAxcHg7Cn0KCi5kZWFsLWZpbmlzaC1wb3B1cCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDU7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjczKTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29sb3I6IHdoaXRlOwogIG9wYWNpdHk6IDA7CiAgZGlzcGxheTogbm9uZTsKICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwp9CmgyLmRmcC1oZWFkIHsKICBmb250LXNpemU6IDM1cHg7CiAgY29sb3I6ICMyMWMyMzk7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIG1hcmdpbi10b3A6IDQwcHg7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICBsZXR0ZXItc3BhY2luZzogLTAuNXB4Owp9CnAuZGZwLWJvZHkgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBmb250LXNpemU6IDI5cHg7CiAgY29sb3I6ICMyMWMyMzk7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGxldHRlci1zcGFjaW5nOiAwOwp9Ci5kZnAtZm9vdCB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtc2l6ZTogMThweDsKICBsZXR0ZXItc3BhY2luZzogLTAuMXB4Owp9Ci5yaWdodC1mb290IHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogNDElOwogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTGlnaHQnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMThweDsKICB0ZXh0LWFsaWduOiBsZWZ0OwogIHBhZGRpbmctdG9wOiAzMHB4Owp9Ci5yaWdodC1mb290IHNwYW4gewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvTWVkaXVtJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgbGV0dGVyLXNwYWNpbmc6IDFweDsKfQoubGVmdC1mb290IHsKICBmbG9hdDogbGVmdDsKICB3aWR0aDogMTclOwogIGhlaWdodDogMTEwcHg7CiAgZm9udC1zaXplOiA2MHB4OwogIHRleHQtYWxpZ246IHJpZ2h0OwogIHBhZGRpbmctdG9wOiAxNXB4Owp9Ci5sZWZ0LWZvb3QgaSB7CiAgcGFkZGluZy1yaWdodDogMzBweDsKfQouZGZwLWZvb3QgYSB7CiAgY29sb3I6ICMwMDg4ZmY7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG9Cb2xkJywgc2Fucy1zZXJpZjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmRmcC1mb290IGE6aG92ZXIgewogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwp9CmEucmVzdGFydCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRvcDogMzVweDsKICBjb2xvcjogIzAyNjdmZjsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KYS5yZXN0YXJ0IGkgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAtNzVweDsKICB0b3A6IC0xNXB4OwogIGZvbnQtc2l6ZTogNjBweDsKICBwYWRkaW5nOiAwOwp9Ci5kZWFsLWZpbmlzaC1wb3B1cC13aW4sIC5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIHsKICBkaXNwbGF5OiBub25lOwp9Ci5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIGgyLmRmcC1oZWFkIHsKICBjb2xvcjogIzZDQTkyNDsKfQoKLmRlYWwtZmluaXNoLXBvcHVwLXdpbiwgLmRlYWwtZmluaXNoLXBvcHVwLWxvc2UgewogIGRpc3BsYXk6IG5vbmU7Cn0KCi5kZWFsLWZpbmlzaGVkIC5kZWFsLWZpbmlzaC1wb3B1cCB7CiAgZGlzcGxheTogYmxvY2s7CiAgb3BhY2l0eTogMTsKfQoKLmRlYWwtZmluaXNoZWRfd2luIC5kZWFsLWZpbmlzaC1wb3B1cC13aW4gewogIGRpc3BsYXk6IGJsb2NrOwp9CgouZGVhbC1maW5pc2hlZF9sb3NlIC5kZWFsLWZpbmlzaC1wb3B1cC1sb3NlIHsKICBkaXNwbGF5OiBibG9jazsKfQoKLmRlYWwtZmluaXNoLXBvcHVwLWxvc2UgaDIuZGZwLWhlYWQgewogIGNvbG9yOiAjZDQ0YTNkOwp9CgoKLmJsb2NrLWNoYXJ0c3sKICBwYWRkaW5nOiAxMHB4OwogIGJhY2tncm91bmQ6ICMyQTMwNDA7CiAgLypib3JkZXItbGVmdDogc29saWQgMTBweCAjMUYyMzJFOyovCiAgLypwYWRkaW5nLWxlZnQ6IDA7Ki8KfQoubWluaS1jaGFydC13cmFwOmFmdGVyewogIGNsZWFyOiBib3RoOwogIGNvbnRlbnQ6ICcnOwogIGRpc3BsYXk6IGJsb2NrOwp9Ci5ibG9jay1jaGFydHN7CiAgd2lkdGg6NzAwcHg7Cn0KLm1pbmktY2hhcnQtd3JhcHsKICB3aWR0aDogMTAwJTsKfQoubWMtbG9nby1lbXB0eSB7CiAgZGlzcGxheTpub25lOwp9CgoubWMtdGFibGUtdGQgewogIHdpZHRoOjMzJTsKICBoZWlnaHQ6IDEwMCU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Cgoub3V0ZXIgLmxnLW9nbyB7CiAgYmFja2dyb3VuZDp1cmwoL2Fzc2V0cy9pbWcvbG9nb19lbl8yMDAucG5nKSAxMHB4IGNlbnRlciBuby1yZXBlYXQgI2YyZjJmMjsKICBiYWNrZ3JvdW5kLXNpemU6MjUlOwp9Ci5vdXRlciAubWMtbG9nby1lbXB0eSB7CiAgaGVpZ2h0OjkwcHg7CiAgd2lkdGg6MzAlICFpbXBvcnRhbnQ7CiAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50Owp9Cgoub3V0ZXIgLm1jLXRhYmxlLXRkLWxlZ2VuZCB7CiAgcGFkZGluZy10b3A6MzFweDsKfQoub3V0ZXIgLm1jLXRhYmxlLXRkIHsKICB3aWR0aDoyMiU7Cn0KLmJsb2NrLWNoYXJ0cyAub25lLWNoYXJ0CSB7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7Cn0KCgoudWktYnV0dG9uc2V0IC51aS1idXR0b24gewogIG1hcmdpbi1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogLS4zZW07Cn0KLnVpLWJ1dHRvbiB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgbWFyZ2luLXJpZ2h0OiAuMWVtOwogIGN1cnNvcjogcG9pbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBvdmVyZmxvdzogdmlzaWJsZTsKICBiYWNrZ3JvdW5kOiAjMDJCMjhDOwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgY29sb3I6ICNFMEUxRTQ7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLnVpLWJ1dHRvbjpob3ZlcnsKICBiYWNrZ3JvdW5kOiAjMDdDMUVBOwp9Ci51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHsKICBiYWNrZ3JvdW5kOiAjM0E0MTU1Owp9Ci51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUgewogIGJvcmRlcjogMDsKICBjbGlwOiByZWN0KDAgMCAwIDApOwogIGhlaWdodDogMXB4OwogIG1hcmdpbjogLTFweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxcHg7Cn0KLnVpLWJ1dHRvbi10ZXh0LW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHsKICBwYWRkaW5nOiAuNmVtIDFlbTsKfQoudWktYnV0dG9uIC51aS1idXR0b24tdGV4dCB7CiAgZGlzcGxheTogYmxvY2s7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKfQoubWMtdGFibGUtdGRfcHJvZml0IC5tYy10YWJsZS10ZC12YWx1ZSB7CiAgY29sb3I6ICNGNEY0RjU7Cn0KI2NoYXJ0LW0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUYyMzJFOzsKfQoKLmN0LWNoYXJ0IHsKICAvKnRvcDogMDsqLwogIC8qbGVmdDogMDsqLwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsKICB3aWR0aDogMTAwJSAhaW1wb3J0YW50Owp9CgouZGVhbC1maW5pc2gtcG9wdXAgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAyMDA7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjczKTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgY29sb3I6IHdoaXRlOwogIG9wYWNpdHk6IDA7CiAgLypkaXNwbGF5OiBub25lOyovCiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzOwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlIDAuMXM7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC4xczsKfQoKI2NoYXJ0LWhvbGRlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5sb29zZSBoMi5kZnAtaGVhZCB7CiAgY29sb3I6ICNGNzRBNUM7Cn0KCi5tYy1sb2dvIGZvcm0gewogIG1hcmdpbjogMCAhaW1wb3J0YW50Owp9"}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":104,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/76577.f73a01e1f00043622b65.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.459Z","timestamp":1785136428459,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/76577.f73a01e1f00043622b65.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-12b22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0d5cba6a4b50463d628651c346f708be\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":76578,"size_decoded":29340,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"6a57b1deb31991bb129476b06e9cad11","sha1":"d00dffa870d90063d146679279b23729d7cc0bb2","sha256":"4ba69451c43dc3871ed3f2b689d739650d0189c1095c65a1e4c3050c3ca9a662","sha512":"73f9b1560727a29f3cfe717e938a390645a6bb2cae109ebddc8e909a042a048adc3d51bccd2be01a77a3839b742c0edf3283489d06d79bb43e3d75bc2974df1e","ssdeep":"768:VXEgvhG7/2KArEGBxc1lmprTmMAo58FRGdfycQKRAppcS+oLAMzpOXYq9EqLN6e:V5G7/0r9HqlmprTmMAw8FRGdfycNAgVf","tlshash":"7873f8cdb281b46546e7a1b0803f550bf23a6998700d8488f235e8e97c7ca5ea177f7d","first_seen":"2026-07-25T03:24:57.112206Z","last_seen":"2026-07-28T04:58:41.945434Z","times_seen":292,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s3NjU3N10sezEzMDY5OSh0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLHtjb25maWd1cmVTdG9yZTooKT0+TyxjcmVhdGVBc3luY1RodW5rOigpPT5qLGNyZWF0ZVNsaWNlOigpPT5rfSk7dmFyIGkscj1uKDMyNzIzOSksbz0obigzNjQzNTApLG4oNzg3NzI0KSkscz1uKDk1Mzc0OSksYT0oaT1mdW5jdGlvbih0LGUpe3JldHVybiBpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pJiYodFtuXT1lW25dKX0saSh0LGUpfSxmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDbGFzcyBleHRlbmRzIHZhbHVlICIrU3RyaW5nKGUpKyIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbCIpO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX0pLHU9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbyxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJnJbMF0pdGhyb3cgclsxXTtyZXR1cm4gclsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBhKG8pe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYobj0xLGkmJihyPTImb1swXT9pLnJldHVybjpvWzBdP2kudGhyb3d8fCgocj1pLnJldHVybikmJnIuY2FsbChpKSwwKTppLm5leHQpJiYhKHI9ci5jYWxsKGksb1sxXSkpLmRvbmUpcmV0dXJuIHI7c3dpdGNoKGk9MCxyJiYobz1bMiZvWzBdLHIudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOnI9bzticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLGk9b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHI9cy50cnlzLChyPXIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXtzPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighcnx8b1sxXT5yWzBdJiZvWzFdPHJbM10pKXtzLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJnMubGFiZWw8clsxXSl7cy5sYWJlbD1yWzFdLHI9bzticmVha31pZihyJiZzLmxhYmVsPHJbMl0pe3MubGFiZWw9clsyXSxzLm9wcy5wdXNoKG8pO2JyZWFrfXJbMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1vPWUuY2FsbCh0LHMpfWNhdGNoKHQpe289WzYsdF0saT0wfWZpbmFsbHl7bj1yPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLGFdKX19fSxsPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aCxyPXQubGVuZ3RoO248aTtuKysscisrKXRbcl09ZVtuXTtyZXR1cm4gdH0sYz1PYmplY3QuZGVmaW5lUHJvcGVydHksZj1PYmplY3QuZGVmaW5lUHJvcGVydGllcyxoPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLGQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxwPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGc9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIHQ/Yyh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KTp0W2VdPW59LG09ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZXx8KGU9e30pKXAuY2FsbChlLG4pJiZnKHQsbixlW25dKTtpZihkKWZvcih2YXIgaT0wLHI9ZChlKTtpPHIubGVuZ3RoO2krKyl7bj1yW2ldO3YuY2FsbChlLG4pJiZnKHQsbixlW25dKX1yZXR1cm4gdH0seT1mdW5jdGlvbih0LGUpe3JldHVybiBmKHQsaChlKSl9LGI9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP28uY29tcG9zZTpvLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIF8odCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIGU9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOyllPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09ZX12YXIgdz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7Zm9yKHZhciBuPVtdLGk9MDtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baV09YXJndW1lbnRzW2ldO3ZhciByPXQuYXBwbHkodGhpcyxuKXx8dGhpcztyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKHIsZS5wcm90b3R5cGUpLHJ9cmV0dXJuIGEoZSx0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wuc3BlY2llcyx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksCmUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuXT1hcmd1bWVudHNbbl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIHgoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLG49dm9pZCAwPT09ZXx8ZSxpPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IHcpO24mJigiYm9vbGVhbiI9PXR5cGVvZiBuP2kucHVzaChzLmRlZmF1bHQpOmkucHVzaChzLmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQobi5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIGl9KHQpfX1mdW5jdGlvbiBPKHQpe3ZhciBlLG49eCgpLGk9dHx8e30scj1pLnJlZHVjZXIscz12b2lkIDA9PT1yP3ZvaWQgMDpyLGE9aS5taWRkbGV3YXJlLHU9dm9pZCAwPT09YT9uKCk6YSxjPWkuZGV2VG9vbHMsZj12b2lkIDA9PT1jfHxjLGg9aS5wcmVsb2FkZWRTdGF0ZSxkPXZvaWQgMD09PWg/dm9pZCAwOmgscD1pLmVuaGFuY2Vycyx2PXZvaWQgMD09PXA/dm9pZCAwOnA7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpZT1zO2Vsc2V7aWYoIV8ocykpdGhyb3cgbmV3IEVycm9yKCcicmVkdWNlciIgaXMgYSByZXF1aXJlZCBhcmd1bWVudCwgYW5kIG11c3QgYmUgYSBmdW5jdGlvbiBvciBhbiBvYmplY3Qgb2YgZnVuY3Rpb25zIHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb21iaW5lUmVkdWNlcnMnKTtlPSgwLG8uY29tYmluZVJlZHVjZXJzKShzKX12YXIgZz11OyJmdW5jdGlvbiI9PXR5cGVvZiBnJiYoZz1nKG4pKTt2YXIgeT1vLmFwcGx5TWlkZGxld2FyZS5hcHBseSh2b2lkIDAsZyksdz1vLmNvbXBvc2U7ZiYmKHc9YihtKHt0cmFjZTohMX0sIm9iamVjdCI9PXR5cGVvZiBmJiZmKSkpO3ZhciBPPVt5XTtBcnJheS5pc0FycmF5KHYpP089bChbeV0sdik6ImZ1bmN0aW9uIj09dHlwZW9mIHYmJihPPXYoTykpO3ZhciBFPXcuYXBwbHkodm9pZCAwLE8pO3JldHVybigwLG8uY3JlYXRlU3RvcmUpKGUsZCxFKX1mdW5jdGlvbiBFKHQsZSl7ZnVuY3Rpb24gbigpe2Zvcih2YXIgbj1bXSxpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKyluW2ldPWFyZ3VtZW50c1tpXTtpZihlKXt2YXIgcj1lLmFwcGx5KHZvaWQgMCxuKTtpZighcil0aHJvdyBuZXcgRXJyb3IoInByZXBhcmVBY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0Iik7cmV0dXJuIG0obSh7dHlwZTp0LHBheWxvYWQ6ci5wYXlsb2FkfSwibWV0YSJpbiByJiZ7bWV0YTpyLm1ldGF9KSwiZXJyb3IiaW4gciYme2Vycm9yOnIuZXJyb3J9KX1yZXR1cm57dHlwZTp0LHBheWxvYWQ6blswXX19cmV0dXJuIG4udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0fSxuLnR5cGU9dCxuLm1hdGNoPWZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT10fSxufWZ1bmN0aW9uIEModCl7dmFyIGUsbj17fSxpPVtdLHI9e2FkZENhc2U6ZnVuY3Rpb24odCxlKXt2YXIgaT0ic3RyaW5nIj09dHlwZW9mIHQ/dDp0LnR5cGU7aWYoaSBpbiBuKXRocm93IG5ldyBFcnJvcigiYWRkQ2FzZSBjYW5ub3QgYmUgY2FsbGVkIHdpdGggdHdvIHJlZHVjZXJzIGZvciB0aGUgc2FtZSBhY3Rpb24gdHlwZSIpO3JldHVybiBuW2ldPWUscn0sYWRkTWF0Y2hlcjpmdW5jdGlvbih0LGUpe3JldHVybiBpLnB1c2goe21hdGNoZXI6dCxyZWR1Y2VyOmV9KSxyfSxhZGREZWZhdWx0Q2FzZTpmdW5jdGlvbih0KXtyZXR1cm4gZT10LHJ9fTtyZXR1cm4gdChyKSxbbixpLGVdfWZ1bmN0aW9uIGsodCl7dmFyIGU9dC5uYW1lLG49dC5pbml0aWFsU3RhdGU7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJgbmFtZWAgaXMgYSByZXF1aXJlZCBvcHRpb24gZm9yIGNyZWF0ZVNsaWNlIik7dmFyIGk9dC5yZWR1Y2Vyc3x8e30sbz0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0ModC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSxzPW9bMF0sYT12b2lkIDA9PT1zP3t9OnMsdT1vWzFdLGM9dm9pZCAwPT09dT9bXTp1LGY9b1syXSxoPXZvaWQgMD09PWY/dm9pZCAwOmYsZD1PYmplY3Qua2V5cyhpKSxwPXt9LHY9e30sZz17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuLHIsbz1pW3RdLHM9ZSsiLyIrdDsicmVkdWNlciJpbiBvPyhuPW8ucmVkdWNlcixyPW8ucHJlcGFyZSk6bj1vLHBbdF09bix2W3NdPW4sZ1t0XT1yP0UocyxyKTpFKHMpfSkpO3ZhciB5PWZ1bmN0aW9uKHQsZSxuLGkpe3ZvaWQgMD09PW4mJihuPVtdKTt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgZT9DKGUpOltlLG4saV0scz1vWzBdLGE9b1sxXSx1PW9bMl0sYz0oMCxyLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciBuPWwoW3NbZS50eXBlXV0sYS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PW4uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYobj1bdV0pLG4ucmVkdWNlKChmdW5jdGlvbih0LG4pe2lmKG4pe3ZhciBpO2lmKCgwLHIuaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShpPW4odCxlKSk/dDppO2lmKCgwLHIuaXNEcmFmdGFibGUpKHQpKXJldHVybigwLHIuZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCxlKX0pKTtpZih2b2lkIDA9PT0oaT1uKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdAo7dGhyb3cgRXJyb3IoIkEgY2FzZSByZWR1Y2VyIG9uIGEgbm9uLWRyYWZ0YWJsZSB2YWx1ZSBtdXN0IG5vdCByZXR1cm4gdW5kZWZpbmVkIil9cmV0dXJuIGl9cmV0dXJuIHR9KSx0KX19KG4sbShtKHt9LGEpLHYpLGMsaCk7cmV0dXJue25hbWU6ZSxyZWR1Y2VyOnksYWN0aW9uczpnLGNhc2VSZWR1Y2VyczpwfX12YXIgUz1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0yMSk7Zm9yKHZhciBlPSIiLG49dDtuLS07KWUrPSJNb2R1bGVTeW1iaGFzT3duUHItMDEyMzQ1Njc4OUFCQ0RFRkdITlJWZmdjdGlVdnpfS3FZVEprTHhwWlhJalFXIls2NCpNYXRoLnJhbmRvbSgpfDBdO3JldHVybiBlfSxEPVsibmFtZSIsIm1lc3NhZ2UiLCJzdGFjayIsImNvZGUiXSxNPWZ1bmN0aW9uKHQsZSl7dGhpcy5wYXlsb2FkPXQsdGhpcy5tZXRhPWV9LFA9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sQT1mdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtmb3IodmFyIGU9e30sbj0wLGk9RDtuPGkubGVuZ3RoO24rKyl7dmFyIHI9aVtuXTsic3RyaW5nIj09dHlwZW9mIHRbcl0mJihlW3JdPXRbcl0pfXJldHVybiBlfXJldHVybnttZXNzYWdlOlN0cmluZyh0KX19O2Z1bmN0aW9uIGoodCxlLG4pe3ZhciBpPUUodCsiL2Z1bGZpbGxlZCIsKGZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybntwYXlsb2FkOnQsbWV0YTp5KG0oe30saXx8e30pLHthcmc6bixyZXF1ZXN0SWQ6ZSxyZXF1ZXN0U3RhdHVzOiJmdWxmaWxsZWQifSl9fSkpLHI9RSh0KyIvcGVuZGluZyIsKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm57cGF5bG9hZDp2b2lkIDAsbWV0YTp5KG0oe30sbnx8e30pLHthcmc6ZSxyZXF1ZXN0SWQ6dCxyZXF1ZXN0U3RhdHVzOiJwZW5kaW5nIn0pfX0pKSxvPUUodCsiL3JlamVjdGVkIiwoZnVuY3Rpb24odCxlLGkscixvKXtyZXR1cm57cGF5bG9hZDpyLGVycm9yOihuJiZuLnNlcmlhbGl6ZUVycm9yfHxBKSh0fHwiUmVqZWN0ZWQiKSxtZXRhOnkobSh7fSxvfHx7fSkse2FyZzppLHJlcXVlc3RJZDplLHJlamVjdGVkV2l0aFZhbHVlOiEhcixyZXF1ZXN0U3RhdHVzOiJyZWplY3RlZCIsYWJvcnRlZDoiQWJvcnRFcnJvciI9PT0obnVsbD09dD92b2lkIDA6dC5uYW1lKSxjb25kaXRpb246IkNvbmRpdGlvbkVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpfSl9fSkpLHM9InVuZGVmaW5lZCIhPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI/QWJvcnRDb250cm9sbGVyOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuc2lnbmFsPXthYm9ydGVkOiExLGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LGRpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sb25hYm9ydDpmdW5jdGlvbigpe30scmVtb3ZlRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe319fXJldHVybiB0LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpezB9LHR9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihhLGwsYyl7dmFyIGYsaCxkPShudWxsIT0oZj1udWxsPT1uP3ZvaWQgMDpuLmlkR2VuZXJhdG9yKT9mOlMpKCkscD1uZXcgcyx2PW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe3JldHVybiBwLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGUoe25hbWU6IkFib3J0RXJyb3IiLG1lc3NhZ2U6aHx8IkFib3J0ZWQifSl9KSl9KSksZz0hMTt2YXIgbT1mdW5jdGlvbigpe3JldHVybiBzPXRoaXMsZj1udWxsLGg9ZnVuY3Rpb24oKXt2YXIgcyxmLGg7cmV0dXJuIHUodGhpcywoZnVuY3Rpb24odSl7c3dpdGNoKHUubGFiZWwpe2Nhc2UgMDppZih1LnRyeXMucHVzaChbMCwyLCwzXSksbiYmbi5jb25kaXRpb24mJiExPT09bi5jb25kaXRpb24odCx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpdGhyb3d7bmFtZToiQ29uZGl0aW9uRXJyb3IiLG1lc3NhZ2U6IkFib3J0ZWQgZHVlIHRvIGNvbmRpdGlvbiBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UuIn07cmV0dXJuIGc9ITAsYShyKGQsdCxudWxsPT0ocz1udWxsPT1uP3ZvaWQgMDpuLmdldFBlbmRpbmdNZXRhKT92b2lkIDA6cy5jYWxsKG4se3JlcXVlc3RJZDpkLGFyZzp0fSx7Z2V0U3RhdGU6bCxleHRyYTpjfSkpKSxbNCxQcm9taXNlLnJhY2UoW3YsUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6YSxnZXRTdGF0ZTpsLGV4dHJhOmMscmVxdWVzdElkOmQsc2lnbmFsOnAuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgTSh0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBQKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBNKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBQP2koZS5wYXlsb2FkLGQsdCxlLm1ldGEpOmkoZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gZj11LnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIGg9dS5zZW50KCksZj1oIGluc3RhbmNlb2YgTT9vKG51bGwsZCx0LGgucGF5bG9hZCxoLm1ldGEpOm8oaCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gbiYmIW4uZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJm8ubWF0Y2goZikmJmYubWV0YS5jb25kaXRpb258fGEoZiksWzIsZl19fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0KXt0cnl7cihoLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxpPWZ1bmN0aW9uKHQpe3RyeXtyKGgudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxyPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihuLGkpfTtyKChoPWguYXBwbHkocyxmKSkubmV4dCgpKX0pKTt2YXIgcyxmLGh9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obSx7YWJvcnQ6ZnVuY3Rpb24odCl7ZyYmKGg9dCxwLmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gbS50aGVuKFQpfX0pfX0pLHtwZW5kaW5nOnIscmVqZWN0ZWQ6byxmdWxmaWxsZWQ6aSx0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBUKHQpewppZih0Lm1ldGEmJnQubWV0YS5yZWplY3RlZFdpdGhWYWx1ZSl0aHJvdyB0LnBheWxvYWQ7aWYodC5lcnJvcil0aHJvdyB0LmVycm9yO3JldHVybiB0LnBheWxvYWR9KDAsci5lbmFibGVFUzUpKCl9LDg1MzMzNih0LGUpe3ZhciBuLGkscjtpPVtlXSxuPWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgZT0wLG49QXJyYXkodC5sZW5ndGgpO2U8dC5sZW5ndGg7ZSsrKW5bZV09dFtlXTtyZXR1cm4gbn1yZXR1cm4gQXJyYXkuZnJvbSh0KX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpe3ZhciBpPXtnZXQgcGFzc2l2ZSgpe249ITB9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmUiLG51bGwsaSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIixudWxsLGkpfXZhciByPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtJiYvaVAoYWR8aG9uZXxvZCkvLnRlc3Qod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybSksbz1bXSxzPSExLGE9LTEsdT12b2lkIDAsbD12b2lkIDAsYz1mdW5jdGlvbih0KXtyZXR1cm4gby5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4hKCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmV8fCFlLm9wdGlvbnMuYWxsb3dUb3VjaE1vdmUodCkpfSkpfSxmPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fHdpbmRvdy5ldmVudDtyZXR1cm4hIWMoZS50YXJnZXQpfHwxPGUudG91Y2hlcy5sZW5ndGh8fChlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksITEpfSxoPWZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2b2lkIDAhPT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9bCxsPXZvaWQgMCksdm9pZCAwIT09dSYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9dSx1PXZvaWQgMCl9KSl9O3QuZGlzYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCxpKXtpZihyKXtpZighdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJkaXNhYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGRpc2FibGVCb2R5U2Nyb2xsIG9uIElPUyBkZXZpY2VzLiIpO2lmKHQmJiFvLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhcmdldEVsZW1lbnQ9PT10fSkpKXt2YXIgaD17dGFyZ2V0RWxlbWVudDp0LG9wdGlvbnM6aXx8e319O289W10uY29uY2F0KGUobyksW2hdKSx0Lm9udG91Y2hzdGFydD1mdW5jdGlvbih0KXsxPT09dC50YXJnZXRUb3VjaGVzLmxlbmd0aCYmKGE9dC50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFkpfSx0Lm9udG91Y2htb3ZlPWZ1bmN0aW9uKGUpe3ZhciBuLGkscixvOzE9PT1lLnRhcmdldFRvdWNoZXMubGVuZ3RoJiYoaT10LG89KG49ZSkudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZLWEsIWMobi50YXJnZXQpJiYoaSYmMD09PWkuc2Nyb2xsVG9wJiYwPG98fChyPWkpJiZyLnNjcm9sbEhlaWdodC1yLnNjcm9sbFRvcDw9ci5jbGllbnRIZWlnaHQmJm88MD9mKG4pOm4uc3RvcFByb3BhZ2F0aW9uKCkpKX0sc3x8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZixuP3twYXNzaXZlOiExfTp2b2lkIDApLHM9ITApfX1lbHNle3A9aSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2lmKHZvaWQgMD09PWwpe3ZhciB0PSEhcCYmITA9PT1wLnJlc2VydmVTY3JvbGxCYXJHYXAsZT13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7dCYmMDxlJiYobD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1lKyJweCIpfXZvaWQgMD09PXUmJih1PWRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3csZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIil9KSk7dmFyIGQ9e3RhcmdldEVsZW1lbnQ6dCxvcHRpb25zOml8fHt9fTtvPVtdLmNvbmNhdChlKG8pLFtkXSl9dmFyIHB9LHQuY2xlYXJBbGxCb2R5U2Nyb2xsTG9ja3M9ZnVuY3Rpb24oKXtyPyhvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudGFyZ2V0RWxlbWVudC5vbnRvdWNoc3RhcnQ9bnVsbCx0LnRhcmdldEVsZW1lbnQub250b3VjaG1vdmU9bnVsbH0pKSxzJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSksbz1bXSxhPS0xKTooaCgpLG89W10pfSx0LmVuYWJsZUJvZHlTY3JvbGw9ZnVuY3Rpb24odCl7aWYocil7aWYoIXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiZW5hYmxlQm9keVNjcm9sbCB1bnN1Y2Nlc3NmdWwgLSB0YXJnZXRFbGVtZW50IG11c3QgYmUgcHJvdmlkZWQgd2hlbiBjYWxsaW5nIGVuYWJsZUJvZHlTY3JvbGwgb24gSU9TIGRldmljZXMuIik7dC5vbnRvdWNoc3RhcnQ9bnVsbCx0Lm9udG91Y2htb3ZlPW51bGwsbz1vLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGFyZ2V0RWxlbWVudCE9PXR9KSkscyYmMD09PW8ubGVuZ3RoJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixmLG4/e3Bhc3NpdmU6ITF9OnZvaWQgMCkscz0hMSl9ZWxzZSAxPT09by5sZW5ndGgmJm9bMF0udGFyZ2V0RWxlbWVudD09PXQ/KGgoKSxvPVtdKTpvPW8uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS50YXJnZXRFbGVtZW50IT09dH0pKX19LHZvaWQgMD09PShyPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkoZSxpKTpuKXx8KHQuZXhwb3J0cz1yKX0sMzI3MjM5KHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KGU+MT9lLTE6MCksaT0xO2k8ZTtpKyspbltpLTFdPWFyZ3VtZW50c1tpXQo7dGhyb3cgRXJyb3IoIltJbW1lcl0gbWluaWZpZWQgZXJyb3IgbnI6ICIrdCsobi5sZW5ndGg/IiAiK24ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iJyIrdCsiJyJ9KSkuam9pbigiLCIpOiIiKSsiLiBGaW5kIHRoZSBmdWxsIGVycm9yIGF0OiBodHRwczovL2JpdC5seS8zY1hFS1dmIil9ZnVuY3Rpb24gcih0KXtyZXR1cm4hIXQmJiEhdFtYXX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmKGZ1bmN0aW9uKHQpe2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO2lmKG51bGw9PT1lKXJldHVybiEwO3ZhciBuPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsImNvbnN0cnVjdG9yIikmJmUuY29uc3RydWN0b3I7cmV0dXJuIG49PT1PYmplY3R8fCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZGdW5jdGlvbi50b1N0cmluZy5jYWxsKG4pPT09WX0odCl8fEFycmF5LmlzQXJyYXkodCl8fCEhdFtLXXx8ISF0LmNvbnN0cnVjdG9yW0tdfHxkKHQpfHxwKHQpKX1mdW5jdGlvbiBzKHQpe3JldHVybiByKHQpfHxpKDIzLHQpLHRbWF0udH1mdW5jdGlvbiBhKHQsZSxuKXt2b2lkIDA9PT1uJiYobj0hMSksMD09PXUodCk/KG4/T2JqZWN0LmtleXM6JCkodCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7biYmInN5bWJvbCI9PXR5cGVvZiBpfHxlKGksdFtpXSx0KX0pKTp0LmZvckVhY2goKGZ1bmN0aW9uKG4saSl7cmV0dXJuIGUoaSxuLHQpfSkpfWZ1bmN0aW9uIHUodCl7dmFyIGU9dFtYXTtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/MjpwKHQpPzM6MH1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIDI9PT11KHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gMj09PXUodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBmKHQsZSxuKXt2YXIgaT11KHQpOzI9PT1pP3Quc2V0KGUsbik6Mz09PWk/KHQuZGVsZXRlKGUpLHQuYWRkKG4pKTp0W2VdPW59ZnVuY3Rpb24gaCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHAodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gZyh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW1hdO2Zvcih2YXIgbj0kKGUpLGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHI9bltpXSxvPWVbcl07ITE9PT1vLndyaXRhYmxlJiYoby53cml0YWJsZT0hMCxvLmNvbmZpZ3VyYWJsZT0hMCksKG8uZ2V0fHxvLnNldCkmJihlW3JdPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTpvLmVudW1lcmFibGUsdmFsdWU6dFtyXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxiKHQpfHxyKHQpfHwhbyh0KXx8KHUodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9eSksT2JqZWN0LmZyZWV6ZSh0KSxlJiZhKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0oZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24geSgpe2koMil9ZnVuY3Rpb24gYih0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gXyh0KXt2YXIgZT1KW3RdO3JldHVybiBlfHxpKDE4LHQpLGV9ZnVuY3Rpb24gdyh0LGUpe0pbdF18fChKW3RdPWUpfWZ1bmN0aW9uIHgoKXtyZXR1cm4gQn1mdW5jdGlvbiBPKHQsZSl7ZSYmKF8oIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe0ModCksdC5wLmZvckVhY2goUyksdC5wPW51bGx9ZnVuY3Rpb24gQyh0KXt0PT09QiYmKEI9dC5sKX1mdW5jdGlvbiBrKHQpe3JldHVybiBCPXtwOltdLGw6QixoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIFModCl7dmFyIGU9dFtYXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIG49ZS5wWzBdLHI9dm9pZCAwIT09dCYmdCE9PW47cmV0dXJuIGUuaC5nfHxfKCJFUzUiKS5TKGUsdCxyKSxyPyhuW1hdLlAmJihFKGUpLGkoNCkpLG8odCkmJih0PU0oZSx0KSxlLmx8fEEoZSx0KSksZS51JiZfKCJQYXRjaGVzIikuTShuW1hdLHQsZS51LGUucykpOnQ9TShlLG4sW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PUc/dDp2b2lkIDB9ZnVuY3Rpb24gTSh0LGUsbil7aWYoYihlKSlyZXR1cm4gZTt2YXIgaT1lW1hdO2lmKCFpKXJldHVybiBhKGUsKGZ1bmN0aW9uKHIsbyl7cmV0dXJuIFAodCxpLGUscixvLG4pfSksITApLGU7aWYoaS5BIT09dClyZXR1cm4gZTtpZighaS5QKXJldHVybiBBKHQsaS50LCEwKSxpLnQ7aWYoIWkuSSl7aS5JPSEwLGkuQS5fLS07dmFyIHI9ND09PWkuaXx8NT09PWkuaT9pLm89ZyhpLmspOmkubzthKDM9PT1pLmk/bmV3IFNldChyKTpyLChmdW5jdGlvbihlLG8pe3JldHVybiBQKHQsaSxyLGUsbyxuKX0pKSxBKHQsciwhMSksbiYmdC51JiZfKCJQYXRjaGVzIikuUihpLG4sdC51LHQucyl9cmV0dXJuIGkub31mdW5jdGlvbiBQKHQsZSxuLGkscyxhKXtpZihyKHMpKXt2YXIgdT1NKHQscyxhJiZlJiYzIT09ZS5pJiYhbChlLkQsaSk/YS5jb25jYXQoaSk6dm9pZCAwKTtpZihmKG4saSx1KSwhcih1KSlyZXR1cm47dC5tPSExfWlmKG8ocykmJiFiKHMpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjtNKHQscyksZSYmZS5BLmx8fEEodCxzKX19ZnVuY3Rpb24gQSh0LGUsbil7dm9pZCAwPT09biYmKG49ITEpLHQuaC5GJiZ0Lm0mJm0oZSxuKX1mdW5jdGlvbiBqKHQsZSl7dmFyIG49dFtYXTtyZXR1cm4obj92KG4pOnQpW2VdfWZ1bmN0aW9uIFQodCxlKXtpZihlIGluIHQpZm9yKHZhciBuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtuOyl7CnZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtpZihpKXJldHVybiBpO249T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pfX1mdW5jdGlvbiBOKHQpe3QuUHx8KHQuUD0hMCx0LmwmJk4odC5sKSl9ZnVuY3Rpb24gSSh0KXt0Lm98fCh0Lm89Zyh0LnQpKX1mdW5jdGlvbiBMKHQsZSxuKXt2YXIgaT1kKGUpP18oIk1hcFNldCIpLk4oZSxuKTpwKGUpP18oIk1hcFNldCIpLlQoZSxuKTp0Lmc/ZnVuY3Rpb24odCxlKXt2YXIgbj1BcnJheS5pc0FycmF5KHQpLGk9e2k6bj8xOjAsQTplP2UuQTp4KCksUDohMSxJOiExLEQ6e30sbDplLHQsazpudWxsLG86bnVsbCxqOm51bGwsQzohMX0scj1pLG89WjtuJiYocj1baV0sbz10dCk7dmFyIHM9UHJveHkucmV2b2NhYmxlKHIsbyksYT1zLnJldm9rZSx1PXMucHJveHk7cmV0dXJuIGkuaz11LGkuaj1hLHV9KGUsbik6XygiRVM1IikuSihlLG4pO3JldHVybihuP24uQTp4KCkpLnAucHVzaChpKSxpfWZ1bmN0aW9uIFYodCl7cmV0dXJuIHIodCl8fGkoMjIsdCksZnVuY3Rpb24gdChlKXtpZighbyhlKSlyZXR1cm4gZTt2YXIgbixpPWVbWF0scj11KGUpO2lmKGkpe2lmKCFpLlAmJihpLmk8NHx8IV8oIkVTNSIpLksoaSkpKXJldHVybiBpLnQ7aS5JPSEwLG49UihlLHIpLGkuST0hMX1lbHNlIG49UihlLHIpO3JldHVybiBhKG4sKGZ1bmN0aW9uKGUscil7aSYmYyhpLnQsZSk9PT1yfHxmKG4sZSx0KHIpKX0pKSwzPT09cj9uZXcgU2V0KG4pOm59KHQpfWZ1bmN0aW9uIFIodCxlKXtzd2l0Y2goZSl7Y2FzZSAyOnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gZyh0KX1mdW5jdGlvbiBXKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciBuPW9bdF07cmV0dXJuIG4/bi5lbnVtZXJhYmxlPWU6b1t0XT1uPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbWF07cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgbj10aGlzW1hdO1ouc2V0KG4sdCxlKX19LG59ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIHI9dFtlXVtYXTtpZighci5QKXN3aXRjaChyLmkpe2Nhc2UgNTppKHIpJiZOKHIpO2JyZWFrO2Nhc2UgNDpuKHIpJiZOKHIpfX19ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9dC50LG49dC5rLGk9JChuKSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBvPWlbcl07aWYobyE9PVgpe3ZhciBzPWVbb107aWYodm9pZCAwPT09cyYmIWwoZSxvKSlyZXR1cm4hMDt2YXIgYT1uW29dLHU9YSYmYVtYXTtpZih1P3UudCE9PXM6IWgoYSxzKSlyZXR1cm4hMH19dmFyIGM9ISFlW1hdO3JldHVybiBpLmxlbmd0aCE9PSQoZSkubGVuZ3RoKyhjPzA6MSl9ZnVuY3Rpb24gaSh0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFufHxuLmdldCl9dmFyIG89e307dygiRVM1Iix7SjpmdW5jdGlvbihlLG4pe3ZhciBpPUFycmF5LmlzQXJyYXkoZSkscj1mdW5jdGlvbihlLG4pe2lmKGUpe2Zvcih2YXIgaT1BcnJheShuLmxlbmd0aCkscj0wO3I8bi5sZW5ndGg7cisrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCIiK3IsdChyLCEwKSk7cmV0dXJuIGl9dmFyIG89UShuKTtkZWxldGUgb1tYXTtmb3IodmFyIHM9JChvKSxhPTA7YTxzLmxlbmd0aDthKyspe3ZhciB1PXNbYV07b1t1XT10KHUsZXx8ISFvW3VdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihuKSxvKX0oaSxlKSxvPXtpOmk/NTo0LEE6bj9uLkE6eCgpLFA6ITEsSTohMSxEOnt9LGw6bix0OmUsazpyLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocixYLHt2YWx1ZTpvLHdyaXRhYmxlOiEwfSkscn0sUzpmdW5jdGlvbih0LG4sbyl7bz9yKG4pJiZuW1hdLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciBuPWVbWF07aWYobil7dmFyIHI9bi50LG89bi5rLHM9bi5ELHU9bi5pO2lmKDQ9PT11KWEobywoZnVuY3Rpb24oZSl7ZSE9PVgmJih2b2lkIDAhPT1yW2VdfHxsKHIsZSk/c1tlXXx8dChvW2VdKTooc1tlXT0hMCxOKG4pKSl9KSksYShyLChmdW5jdGlvbih0KXt2b2lkIDAhPT1vW3RdfHxsKG8sdCl8fChzW3RdPSExLE4obikpfSkpO2Vsc2UgaWYoNT09PXUpe2lmKGkobikmJihOKG4pLHMubGVuZ3RoPSEwKSxvLmxlbmd0aDxyLmxlbmd0aClmb3IodmFyIGM9by5sZW5ndGg7YzxyLmxlbmd0aDtjKyspc1tjXT0hMTtlbHNlIGZvcih2YXIgZj1yLmxlbmd0aDtmPG8ubGVuZ3RoO2YrKylzW2ZdPSEwO2Zvcih2YXIgaD1NYXRoLm1pbihvLmxlbmd0aCxyLmxlbmd0aCksZD0wO2Q8aDtkKyspdm9pZCAwPT09c1tkXSYmdChvW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP24odCk6aSh0KX19KX1uLmQoZSx7ZGVmYXVsdDooKT0+cnQsZW5hYmxlRVM1OigpPT5XLGlzRHJhZnQ6KCk9PnIsaXNEcmFmdGFibGU6KCk9Pm8sb3JpZ2luYWw6KCk9PnN9KTt2YXIgRixCLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sKCJ4IiksVT0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCx6PSJ1bmRlZmluZWQiIT10eXBlb2YgU2V0LHE9InVuZGVmaW5lZCIhPXR5cGVvZiBQcm94eSYmdm9pZCAwIT09UHJveHkucmV2b2NhYmxlJiYidW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QsRz1IP1N5bWJvbC5mb3IoImltbWVyLW5vdGhpbmciKTooKEY9e30pWyJpbW1lci1ub3RoaW5nIl09ITAsRiksSz1IP1N5bWJvbC5mb3IoImltbWVyLWRyYWZ0YWJsZSIpOiJfXyRpbW1lcl9kcmFmdGFibGUiLFg9SD9TeW1ib2wuZm9yKCJpbW1lci1zdGF0ZSIpOiJfXyRpbW1lcl9zdGF0ZSIsWT0oInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciwKIiIrT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciksJD0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3Qub3duS2V5cz9SZWZsZWN0Lm93bktleXM6dm9pZCAwIT09T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpfTpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxRPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzfHxmdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gJCh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtlW25dPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKX0pKSxlfSxKPXt9LFo9e2dldDpmdW5jdGlvbih0LGUpe2lmKGU9PT1YKXJldHVybiB0O3ZhciBuPXYodCk7aWYoIWwobixlKSlyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3ZhciBpLHI9VChlLG4pO3JldHVybiByPyJ2YWx1ZSJpbiByP3IudmFsdWU6bnVsbD09PShpPXIuZ2V0KXx8dm9pZCAwPT09aT92b2lkIDA6aS5jYWxsKHQuayk6dm9pZCAwfSh0LG4sZSk7dmFyIGk9bltlXTtyZXR1cm4gdC5JfHwhbyhpKT9pOmk9PT1qKHQudCxlKT8oSSh0KSx0Lm9bZV09TCh0LkEuaCxpLHQpKTppfSxoYXM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSBpbiB2KHQpfSxvd25LZXlzOmZ1bmN0aW9uKHQpe3JldHVybiBSZWZsZWN0Lm93bktleXModih0KSl9LHNldDpmdW5jdGlvbih0LGUsbil7dmFyIGk9VCh2KHQpLGUpO2lmKG51bGw9PWk/dm9pZCAwOmkuc2V0KXJldHVybiBpLnNldC5jYWxsKHQuayxuKSwhMDtpZighdC5QKXt2YXIgcj1qKHYodCksZSksbz1udWxsPT1yP3ZvaWQgMDpyW1hdO2lmKG8mJm8udD09PW4pcmV0dXJuIHQub1tlXT1uLHQuRFtlXT0hMSwhMDtpZihoKG4scikmJih2b2lkIDAhPT1ufHxsKHQudCxlKSkpcmV0dXJuITA7SSh0KSxOKHQpfXJldHVybiB0Lm9bZV09PT1uJiYibnVtYmVyIiE9dHlwZW9mIG4mJih2b2lkIDAhPT1ufHxlIGluIHQubyl8fCh0Lm9bZV09bix0LkRbZV09ITAsITApfSxkZWxldGVQcm9wZXJ0eTpmdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDAhPT1qKHQudCxlKXx8ZSBpbiB0LnQ/KHQuRFtlXT0hMSxJKHQpLE4odCkpOmRlbGV0ZSB0LkRbZV0sdC5vJiZkZWxldGUgdC5vW2VdLCEwfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6ZnVuY3Rpb24odCxlKXt2YXIgbj12KHQpLGk9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKTtyZXR1cm4gaT97d3JpdGFibGU6ITAsY29uZmlndXJhYmxlOjEhPT10Lml8fCJsZW5ndGgiIT09ZSxlbnVtZXJhYmxlOmkuZW51bWVyYWJsZSx2YWx1ZTpuW2VdfTppfSxkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe2koMTEpfSxnZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQudCl9LHNldFByb3RvdHlwZU9mOmZ1bmN0aW9uKCl7aSgxMil9fSx0dD17fTthKFosKGZ1bmN0aW9uKHQsZSl7dHRbdF09ZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzWzBdPWFyZ3VtZW50c1swXVswXSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSksdHQuZGVsZXRlUHJvcGVydHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gWi5kZWxldGVQcm9wZXJ0eS5jYWxsKHRoaXMsdFswXSxlKX0sdHQuc2V0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gWi5zZXQuY2FsbCh0aGlzLHRbMF0sZSxuLHRbMF0pfTt2YXIgZXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5nPXEsdGhpcy5GPSEwLHRoaXMucHJvZHVjZT1mdW5jdGlvbih0LG4scil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXt2YXIgcz1uO249dDt2YXIgYT1lO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10aGlzO3ZvaWQgMD09PXQmJih0PXMpO2Zvcih2YXIgaT1hcmd1bWVudHMubGVuZ3RoLHI9QXJyYXkoaT4xP2ktMTowKSxvPTE7bzxpO28rKylyW28tMV09YXJndW1lbnRzW29dO3JldHVybiBhLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7dmFyIGk7cmV0dXJuKGk9bikuY2FsbC5hcHBseShpLFtlLHRdLmNvbmNhdChyKSl9KSl9fXZhciB1O2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuJiZpKDYpLHZvaWQgMCE9PXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiZpKDcpLG8odCkpe3ZhciBsPWsoZSksYz1MKGUsdCx2b2lkIDApLGY9ITA7dHJ5e3U9bihjKSxmPSExfWZpbmFsbHl7Zj9FKGwpOkMobCl9cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlJiZ1IGluc3RhbmNlb2YgUHJvbWlzZT91LnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBPKGwsciksRCh0LGwpfSksKGZ1bmN0aW9uKHQpe3Rocm93IEUobCksdH0pKTooTyhsLHIpLEQodSxsKSl9aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdCl7aWYoKHU9bih0KSk9PT1HKXJldHVybjtyZXR1cm4gdm9pZCAwPT09dSYmKHU9dCksZS5GJiZtKHUsITApLHV9aSgyMSx0KX0sdGhpcy5wcm9kdWNlV2l0aFBhdGNoZXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD9mdW5jdGlvbihuKXtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGk+MT9pLTE6MCksbz0xO288aTtvKyspcltvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gZS5wcm9kdWNlV2l0aFBhdGNoZXMobiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodm9pZCAwLFtlXS5jb25jYXQocikpfSkpfTpbZS5wcm9kdWNlKHQsbiwoZnVuY3Rpb24odCxlKXtpPXQscj1lfSkpLGkscl07dmFyIGkscn0sImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC51c2VQcm94aWVzKSYmdGhpcy5zZXRVc2VQcm94aWVzKHQudXNlUHJveGllcyksImJvb2xlYW4iPT10eXBlb2YobnVsbD09dD92b2lkIDA6dC5hdXRvRnJlZXplKSYmdGhpcy5zZXRBdXRvRnJlZXplKHQuYXV0b0ZyZWV6ZSl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUuY3JlYXRlRHJhZnQ9ZnVuY3Rpb24odCl7byh0KXx8aSg4KSxyKHQpJiYodD1WKHQpKTt2YXIgZT1rKHRoaXMpLG49TCh0aGlzLHQsdm9pZCAwKQo7cmV0dXJuIG5bWF0uQz0hMCxDKGUpLG59LGUuZmluaXNoRHJhZnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj0odCYmdFtYXSkuQTtyZXR1cm4gTyhuLGUpLEQodm9pZCAwLG4pfSxlLnNldEF1dG9GcmVlemU9ZnVuY3Rpb24odCl7dGhpcy5GPXR9LGUuc2V0VXNlUHJveGllcz1mdW5jdGlvbih0KXt0JiYhcSYmaSgyMCksdGhpcy5nPXR9LGUuYXBwbHlQYXRjaGVzPWZ1bmN0aW9uKHQsZSl7dmFyIG47Zm9yKG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7dmFyIGk9ZVtuXTtpZigwPT09aS5wYXRoLmxlbmd0aCYmInJlcGxhY2UiPT09aS5vcCl7dD1pLnZhbHVlO2JyZWFrfX1uPi0xJiYoZT1lLnNsaWNlKG4rMSkpO3ZhciBvPV8oIlBhdGNoZXMiKS4kO3JldHVybiByKHQpP28odCxlKTp0aGlzLnByb2R1Y2UodCwoZnVuY3Rpb24odCl7cmV0dXJuIG8odCxlKX0pKX0sdH0oKSxudD1uZXcgZXQsaXQ9bnQucHJvZHVjZTtudC5wcm9kdWNlV2l0aFBhdGNoZXMuYmluZChudCksbnQuc2V0QXV0b0ZyZWV6ZS5iaW5kKG50KSxudC5zZXRVc2VQcm94aWVzLmJpbmQobnQpLG50LmFwcGx5UGF0Y2hlcy5iaW5kKG50KSxudC5jcmVhdGVEcmFmdC5iaW5kKG50KSxudC5maW5pc2hEcmFmdC5iaW5kKG50KTtjb25zdCBydD1pdH0sODE1NzI4KHQsZSxuKXt2YXIgaSxyLG8scz1uKDQ4MjUwNCk7IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDIxMDk3MSksbigxODYyMzQpLG4oMTY4NzAxKV0saT1mdW5jdGlvbih0KXt2YXIgZT0idWktZWZmZWN0cy0iLG49InVpLWVmZmVjdHMtc3R5bGUiLGk9InVpLWVmZmVjdHMtYW5pbWF0ZWQiO3JldHVybiB0LmVmZmVjdHM9e2VmZmVjdDp7fX0sZnVuY3Rpb24oKXt2YXIgZSxuPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0saT17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC8tKFtcZGEtel0pL2dpLChmdW5jdGlvbih0LGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCl9KSl9ZnVuY3Rpb24gbyh0KXt2YXIgZSxuLGk9dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P3Qub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCk6dC5jdXJyZW50U3R5bGUsbz17fTtpZihpJiZpLmxlbmd0aCYmaVswXSYmaVtpWzBdXSlmb3Iobj1pLmxlbmd0aDtuLS07KSJzdHJpbmciPT10eXBlb2YgaVtlPWlbbl1dJiYob1tyKGUpXT1pW2VdKTtlbHNlIGZvcihlIGluIGkpInN0cmluZyI9PXR5cGVvZiBpW2VdJiYob1tlXT1pW2VdKTtyZXR1cm4gb31mdW5jdGlvbiBhKGUsbil7dmFyIHIsbyxzPXt9O2ZvcihyIGluIG4pbz1uW3JdLGVbcl0hPT1vJiYoaVtyXXx8IXQuZnguc3RlcFtyXSYmaXNOYU4ocGFyc2VGbG9hdChvKSl8fChzW3JdPW8pKTtyZXR1cm4gc310LmVhY2goWyJib3JkZXJMZWZ0U3R5bGUiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJUb3BTdHlsZSJdLChmdW5jdGlvbihlLG4pe3QuZnguc3RlcFtuXT1mdW5jdGlvbih0KXsoIm5vbmUiIT09dC5lbmQmJiF0LnNldEF0dHJ8fDE9PT10LnBvcyYmIXQuc2V0QXR0cikmJihzLnN0eWxlKHQuZWxlbSxuLHQuZW5kKSx0LnNldEF0dHI9ITApfX0pKSx0LmZuLmFkZEJhY2t8fCh0LmZuLmFkZEJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PXQ/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIodCkpfSksdC5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihlLGkscixzKXt2YXIgdT10LnNwZWVkKGkscixzKTtyZXR1cm4gdGhpcy5xdWV1ZSgoZnVuY3Rpb24oKXt2YXIgaSxyPXQodGhpcykscz1yLmF0dHIoImNsYXNzIil8fCIiLGw9dS5jaGlsZHJlbj9yLmZpbmQoIioiKS5hZGRCYWNrKCk6cjtsPWwubWFwKChmdW5jdGlvbigpe3JldHVybntlbDp0KHRoaXMpLHN0YXJ0Om8odGhpcyl9fSkpLChpPWZ1bmN0aW9uKCl7dC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7ZVtuXSYmcltuKyJDbGFzcyJdKGVbbl0pfSkpfSkoKSxsPWwubWFwKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZD1vKHRoaXMuZWxbMF0pLHRoaXMuZGlmZj1hKHRoaXMuc3RhcnQsdGhpcy5lbmQpLHRoaXN9KSksci5hdHRyKCJjbGFzcyIscyksbD1sLm1hcCgoZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5EZWZlcnJlZCgpLGk9dC5leHRlbmQoe30sdSx7cXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXtuLnJlc29sdmUoZSl9fSk7cmV0dXJuIHRoaXMuZWwuYW5pbWF0ZSh0aGlzLmRpZmYsaSksbi5wcm9taXNlKCl9KSksdC53aGVuLmFwcGx5KHQsbC5nZXQoKSkuZG9uZSgoZnVuY3Rpb24oKXtpKCksdC5lYWNoKGFyZ3VtZW50cywoZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsO3QuZWFjaCh0aGlzLmRpZmYsKGZ1bmN0aW9uKHQpe2UuY3NzKHQsIiIpfSkpfSkpLHUuY29tcGxldGUuY2FsbChyWzBdKX0pKX0pKX0sdC5mbi5leHRlbmQoe2FkZENsYXNzOihlPXQuZm4uYWRkQ2xhc3MsZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGk/dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpufSxpLHIsbyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7cmVtb3ZlOm59LGkscixvKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KHQuZm4ucmVtb3ZlQ2xhc3MpLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLGkscixvLHMpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGl8fHZvaWQgMD09PWk/cj90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyxpP3thZGQ6bn06e3JlbW92ZTpufSxyLG8scyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse3RvZ2dsZTpufSxpLHIsbykKfX0odC5mbi50b2dnbGVDbGFzcyksc3dpdGNoQ2xhc3M6ZnVuY3Rpb24oZSxuLGkscixvKXtyZXR1cm4gdC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDpuLHJlbW92ZTplfSxpLHIsbyl9fSl9KCksZnVuY3Rpb24oKXt2YXIgcjtmdW5jdGlvbiBvKGUsbixpLHIpe3JldHVybiB0LmlzUGxhaW5PYmplY3QoZSkmJihuPWUsZT1lLmVmZmVjdCksZT17ZWZmZWN0OmV9LG51bGw9PW4mJihuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKHI9bixpPW51bGwsbj17fSksKCJudW1iZXIiPT10eXBlb2Ygbnx8dC5meC5zcGVlZHNbbl0pJiYocj1pLGk9bixuPXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHI9aSxpPW51bGwpLG4mJnQuZXh0ZW5kKGUsbiksaT1pfHxuLmR1cmF0aW9uLGUuZHVyYXRpb249dC5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGk/aTppIGluIHQuZnguc3BlZWRzP3QuZnguc3BlZWRzW2ldOnQuZnguc3BlZWRzLl9kZWZhdWx0LGUuY29tcGxldGU9cnx8bi5jb21wbGV0ZSxlfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIShlJiYibnVtYmVyIiE9dHlwZW9mIGUmJiF0LmZ4LnNwZWVkc1tlXSl8fCgic3RyaW5nIj09dHlwZW9mIGUmJiF0LmVmZmVjdHMuZWZmZWN0W2VdfHwoImZ1bmN0aW9uIj09dHlwZW9mIGV8fCJvYmplY3QiPT10eXBlb2YgZSYmIWUuZWZmZWN0KSl9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPWUub3V0ZXJXaWR0aCgpLGk9ZS5vdXRlckhlaWdodCgpLHI9L15yZWN0XCgoLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0bylcKSQvLmV4ZWModCl8fFsiIiwwLG4saSwwXTtyZXR1cm57dG9wOnBhcnNlRmxvYXQoclsxXSl8fDAscmlnaHQ6ImF1dG8iPT09clsyXT9uOnBhcnNlRmxvYXQoclsyXSksYm90dG9tOiJhdXRvIj09PXJbM10/aTpwYXJzZUZsb2F0KHJbM10pLGxlZnQ6cGFyc2VGbG9hdChyWzRdKXx8MH19dC5leHByJiZ0LmV4cHIucHNldWRvcyYmdC5leHByLnBzZXVkb3MuYW5pbWF0ZWQmJih0LmV4cHIucHNldWRvcy5hbmltYXRlZD0ocj10LmV4cHIucHNldWRvcy5hbmltYXRlZCxmdW5jdGlvbihlKXtyZXR1cm4hIXQoZSkuZGF0YShpKXx8cihlKX0pKSwhMSE9PXQudWlCYWNrQ29tcGF0JiZ0LmV4dGVuZCh0LmVmZmVjdHMse3NhdmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGk9MCxyPW4ubGVuZ3RoO2k8cjtpKyspbnVsbCE9PW5baV0mJnQuZGF0YShlK25baV0sdFswXS5zdHlsZVtuW2ldXSl9LHJlc3RvcmU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIGkscj0wLG89bi5sZW5ndGg7cjxvO3IrKyludWxsIT09bltyXSYmKGk9dC5kYXRhKGUrbltyXSksdC5jc3MobltyXSxpKSl9LHNldE1vZGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4idG9nZ2xlIj09PWUmJihlPXQuaXMoIjpoaWRkZW4iKT8ic2hvdyI6ImhpZGUiKSxlfSxjcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKGUpe2lmKGUucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSlyZXR1cm4gZS5wYXJlbnQoKTt2YXIgbj17d2lkdGg6ZS5vdXRlcldpZHRoKCEwKSxoZWlnaHQ6ZS5vdXRlckhlaWdodCghMCksZmxvYXQ6ZS5jc3MoImZsb2F0Iil9LGk9dCgiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygidWktZWZmZWN0cy13cmFwcGVyIikuY3NzKHtmb250U2l6ZToiMTAwJSIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLGJvcmRlcjoibm9uZSIsbWFyZ2luOjAscGFkZGluZzowfSkscj17d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpfSxvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7dHJ5e28uaWR9Y2F0Y2godCl7bz1kb2N1bWVudC5ib2R5fXJldHVybiBlLndyYXAoaSksKGVbMF09PT1vfHx0LmNvbnRhaW5zKGVbMF0sbykpJiZ0KG8pLnRyaWdnZXIoImZvY3VzIiksaT1lLnBhcmVudCgpLCJzdGF0aWMiPT09ZS5jc3MoInBvc2l0aW9uIik/KGkuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KSk6KHQuZXh0ZW5kKG4se3Bvc2l0aW9uOmUuY3NzKCJwb3NpdGlvbiIpLHpJbmRleDplLmNzcygiei1pbmRleCIpfSksdC5lYWNoKFsidG9wIiwibGVmdCIsImJvdHRvbSIsInJpZ2h0Il0sKGZ1bmN0aW9uKHQsaSl7bltpXT1lLmNzcyhpKSxpc05hTihwYXJzZUludChuW2ldLDEwKSkmJihuW2ldPSJhdXRvIil9KSksZS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOjAsbGVmdDowLHJpZ2h0OiJhdXRvIixib3R0b206ImF1dG8ifSkpLGUuY3NzKHIpLGkuY3NzKG4pLnNob3coKX0scmVtb3ZlV3JhcHBlcjpmdW5jdGlvbihlKXt2YXIgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiBlLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikmJihlLnBhcmVudCgpLnJlcGxhY2VXaXRoKGUpLChlWzBdPT09bnx8dC5jb250YWlucyhlWzBdLG4pKSYmdChuKS50cmlnZ2VyKCJmb2N1cyIpKSxlfX0pLHQuZXh0ZW5kKHQuZWZmZWN0cyx7dmVyc2lvbjoiMS4xMy4yIixkZWZpbmU6ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uLG49ImVmZmVjdCIpLHQuZWZmZWN0cy5lZmZlY3RbZV09aSx0LmVmZmVjdHMuZWZmZWN0W2VdLm1vZGU9bixpfSxzY2FsZWREaW1lbnNpb25zOmZ1bmN0aW9uKHQsZSxuKXtpZigwPT09ZSlyZXR1cm57aGVpZ2h0OjAsd2lkdGg6MCxvdXRlckhlaWdodDowLG91dGVyV2lkdGg6MH07dmFyIGk9Imhvcml6b250YWwiIT09bj8oZXx8MTAwKS8xMDA6MSxyPSJ2ZXJ0aWNhbCIhPT1uPyhlfHwxMDApLzEwMDoxO3JldHVybntoZWlnaHQ6dC5oZWlnaHQoKSpyLHdpZHRoOnQud2lkdGgoKSppLG91dGVySGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSpyLG91dGVyV2lkdGg6dC5vdXRlcldpZHRoKCkqaX19LGNsaXBUb0JveDpmdW5jdGlvbih0KXtyZXR1cm57d2lkdGg6dC5jbGlwLnJpZ2h0LXQuY2xpcC5sZWZ0LGhlaWdodDp0LmNsaXAuYm90dG9tLXQuY2xpcC50b3AsbGVmdDp0LmNsaXAubGVmdCx0b3A6dC5jbGlwLnRvcH19LHVuc2hpZnQ6ZnVuY3Rpb24odCxlLG4pewp2YXIgaT10LnF1ZXVlKCk7ZT4xJiZpLnNwbGljZS5hcHBseShpLFsxLDBdLmNvbmNhdChpLnNwbGljZShlLG4pKSksdC5kZXF1ZXVlKCl9LHNhdmVTdHlsZTpmdW5jdGlvbih0KXt0LmRhdGEobix0WzBdLnN0eWxlLmNzc1RleHQpfSxyZXN0b3JlU3R5bGU6ZnVuY3Rpb24odCl7dFswXS5zdHlsZS5jc3NUZXh0PXQuZGF0YShuKXx8IiIsdC5yZW1vdmVEYXRhKG4pfSxtb2RlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5pcygiOmhpZGRlbiIpO3JldHVybiJ0b2dnbGUiPT09ZSYmKGU9bj8ic2hvdyI6ImhpZGUiKSwobj8iaGlkZSI9PT1lOiJzaG93Ij09PWUpJiYoZT0ibm9uZSIpLGV9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKHQsZSl7dmFyIG4saTtzd2l0Y2godFswXSl7Y2FzZSJ0b3AiOm49MDticmVhaztjYXNlIm1pZGRsZSI6bj0uNTticmVhaztjYXNlImJvdHRvbSI6bj0xO2JyZWFrO2RlZmF1bHQ6bj10WzBdL2UuaGVpZ2h0fXN3aXRjaCh0WzFdKXtjYXNlImxlZnQiOmk9MDticmVhaztjYXNlImNlbnRlciI6aT0uNTticmVhaztjYXNlInJpZ2h0IjppPTE7YnJlYWs7ZGVmYXVsdDppPXRbMV0vZS53aWR0aH1yZXR1cm57eDppLHk6bn19LGNyZWF0ZVBsYWNlaG9sZGVyOmZ1bmN0aW9uKG4pe3ZhciBpLHI9bi5jc3MoInBvc2l0aW9uIiksbz1uLnBvc2l0aW9uKCk7cmV0dXJuIG4uY3NzKHttYXJnaW5Ub3A6bi5jc3MoIm1hcmdpblRvcCIpLG1hcmdpbkJvdHRvbTpuLmNzcygibWFyZ2luQm90dG9tIiksbWFyZ2luTGVmdDpuLmNzcygibWFyZ2luTGVmdCIpLG1hcmdpblJpZ2h0Om4uY3NzKCJtYXJnaW5SaWdodCIpfSkub3V0ZXJXaWR0aChuLm91dGVyV2lkdGgoKSkub3V0ZXJIZWlnaHQobi5vdXRlckhlaWdodCgpKSwvXihzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KHIpJiYocj0iYWJzb2x1dGUiLGk9dCgiPCIrblswXS5ub2RlTmFtZSsiPiIpLmluc2VydEFmdGVyKG4pLmNzcyh7ZGlzcGxheTovXihpbmxpbmV8cnVieSkvLnRlc3Qobi5jc3MoImRpc3BsYXkiKSk/ImlubGluZS1ibG9jayI6ImJsb2NrIix2aXNpYmlsaXR5OiJoaWRkZW4iLG1hcmdpblRvcDpuLmNzcygibWFyZ2luVG9wIiksbWFyZ2luQm90dG9tOm4uY3NzKCJtYXJnaW5Cb3R0b20iKSxtYXJnaW5MZWZ0Om4uY3NzKCJtYXJnaW5MZWZ0IiksbWFyZ2luUmlnaHQ6bi5jc3MoIm1hcmdpblJpZ2h0IiksZmxvYXQ6bi5jc3MoImZsb2F0Iil9KS5vdXRlcldpZHRoKG4ub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodChuLm91dGVySGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXBsYWNlaG9sZGVyIiksbi5kYXRhKGUrInBsYWNlaG9sZGVyIixpKSksbi5jc3Moe3Bvc2l0aW9uOnIsbGVmdDpvLmxlZnQsdG9wOm8udG9wfSksaX0scmVtb3ZlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dmFyIG49ZSsicGxhY2Vob2xkZXIiLGk9dC5kYXRhKG4pO2kmJihpLnJlbW92ZSgpLHQucmVtb3ZlRGF0YShuKSl9LGNsZWFuVXA6ZnVuY3Rpb24oZSl7dC5lZmZlY3RzLnJlc3RvcmVTdHlsZShlKSx0LmVmZmVjdHMucmVtb3ZlUGxhY2Vob2xkZXIoZSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIHI9cnx8e30sdC5lYWNoKG4sKGZ1bmN0aW9uKHQsbil7dmFyIG89ZS5jc3NVbml0KG4pO29bMF0+MCYmKHJbbl09b1swXSppK29bMV0pfSkpLHJ9fSksdC5mbi5leHRlbmQoe2VmZmVjdDpmdW5jdGlvbigpe3ZhciBlPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLG49dC5lZmZlY3RzLmVmZmVjdFtlLmVmZmVjdF0scj1uLm1vZGUscz1lLnF1ZXVlLGE9c3x8ImZ4Iix1PWUuY29tcGxldGUsbD1lLm1vZGUsYz1bXSxmPWZ1bmN0aW9uKGUpe3ZhciBuPXQodGhpcyksbz10LmVmZmVjdHMubW9kZShuLGwpfHxyO24uZGF0YShpLCEwKSxjLnB1c2gobyksciYmKCJzaG93Ij09PW98fG89PT1yJiYiaGlkZSI9PT1vKSYmbi5zaG93KCksciYmIm5vbmUiPT09b3x8dC5lZmZlY3RzLnNhdmVTdHlsZShuKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmZSgpfTtpZih0LmZ4Lm9mZnx8IW4pcmV0dXJuIGw/dGhpc1tsXShlLmR1cmF0aW9uLHUpOnRoaXMuZWFjaCgoZnVuY3Rpb24oKXt1JiZ1LmNhbGwodGhpcyl9KSk7ZnVuY3Rpb24gaChvKXt2YXIgcz10KHRoaXMpO2Z1bmN0aW9uIGEoKXtzLnJlbW92ZURhdGEoaSksdC5lZmZlY3RzLmNsZWFuVXAocyksImhpZGUiPT09ZS5tb2RlJiZzLmhpZGUoKSxmKCl9ZnVuY3Rpb24gZigpeyJmdW5jdGlvbiI9PXR5cGVvZiB1JiZ1LmNhbGwoc1swXSksImZ1bmN0aW9uIj09dHlwZW9mIG8mJm8oKX1lLm1vZGU9Yy5zaGlmdCgpLCExPT09dC51aUJhY2tDb21wYXR8fHI/Im5vbmUiPT09ZS5tb2RlPyhzW2xdKCksZigpKTpuLmNhbGwoc1swXSxlLGEpOihzLmlzKCI6aGlkZGVuIik/ImhpZGUiPT09bDoic2hvdyI9PT1sKT8oc1tsXSgpLGYoKSk6bi5jYWxsKHNbMF0sZSxmKX1yZXR1cm4hMT09PXM/dGhpcy5lYWNoKGYpLmVhY2goaCk6dGhpcy5xdWV1ZShhLGYpLnF1ZXVlKGEsaCl9LHNob3c6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSkpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InNob3ciLHRoaXMuZWZmZWN0LmNhbGwodGhpcyxuKX19KHQuZm4uc2hvdyksaGlkZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYocyhlKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49by5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHMoZSl8fCJib29sZWFuIj09dHlwZW9mIGUpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5jc3MoZSksaT1bXQo7cmV0dXJuIHQuZWFjaChbImVtIiwicHgiLCIlIiwicHQiXSwoZnVuY3Rpb24odCxlKXtuLmluZGV4T2YoZSk+MCYmKGk9W3BhcnNlRmxvYXQobiksZV0pfSkpLGl9LGNzc0NsaXA6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dGhpcy5jc3MoImNsaXAiLCJyZWN0KCIrdC50b3ArInB4ICIrdC5yaWdodCsicHggIit0LmJvdHRvbSsicHggIit0LmxlZnQrInB4KSIpOmEodGhpcy5jc3MoImNsaXAiKSx0aGlzKX0sdHJhbnNmZXI6ZnVuY3Rpb24oZSxuKXt2YXIgaT10KHRoaXMpLHI9dChlLnRvKSxvPSJmaXhlZCI9PT1yLmNzcygicG9zaXRpb24iKSxzPXQoImJvZHkiKSxhPW8/cy5zY3JvbGxUb3AoKTowLHU9bz9zLnNjcm9sbExlZnQoKTowLGw9ci5vZmZzZXQoKSxjPXt0b3A6bC50b3AtYSxsZWZ0OmwubGVmdC11LGhlaWdodDpyLmlubmVySGVpZ2h0KCksd2lkdGg6ci5pbm5lcldpZHRoKCl9LGY9aS5vZmZzZXQoKSxoPXQoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpO2guYXBwZW5kVG8oImJvZHkiKS5hZGRDbGFzcyhlLmNsYXNzTmFtZSkuY3NzKHt0b3A6Zi50b3AtYSxsZWZ0OmYubGVmdC11LGhlaWdodDppLmlubmVySGVpZ2h0KCksd2lkdGg6aS5pbm5lcldpZHRoKCkscG9zaXRpb246bz8iZml4ZWQiOiJhYnNvbHV0ZSJ9KS5hbmltYXRlKGMsZS5kdXJhdGlvbixlLmVhc2luZywoZnVuY3Rpb24oKXtoLnJlbW92ZSgpLCJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuKCl9KSl9fSksdC5meC5zdGVwLmNsaXA9ZnVuY3Rpb24oZSl7ZS5jbGlwSW5pdHx8KGUuc3RhcnQ9dChlLmVsZW0pLmNzc0NsaXAoKSwic3RyaW5nIj09dHlwZW9mIGUuZW5kJiYoZS5lbmQ9YShlLmVuZCxlLmVsZW0pKSxlLmNsaXBJbml0PSEwKSx0KGUuZWxlbSkuY3NzQ2xpcCh7dG9wOmUucG9zKihlLmVuZC50b3AtZS5zdGFydC50b3ApK2Uuc3RhcnQudG9wLHJpZ2h0OmUucG9zKihlLmVuZC5yaWdodC1lLnN0YXJ0LnJpZ2h0KStlLnN0YXJ0LnJpZ2h0LGJvdHRvbTplLnBvcyooZS5lbmQuYm90dG9tLWUuc3RhcnQuYm90dG9tKStlLnN0YXJ0LmJvdHRvbSxsZWZ0OmUucG9zKihlLmVuZC5sZWZ0LWUuc3RhcnQubGVmdCkrZS5zdGFydC5sZWZ0fSl9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9e307dC5lYWNoKFsiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCIsIkV4cG8iXSwoZnVuY3Rpb24odCxuKXtlW25dPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLnBvdyhlLHQrMil9fSkpLHQuZXh0ZW5kKGUse1NpbmU6ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5jb3ModCpNYXRoLlBJLzIpfSxDaXJjOmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGguc3FydCgxLXQqdCl9LEVsYXN0aWM6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fHwxPT09dD90Oi1NYXRoLnBvdygyLDgqKHQtMSkpKk1hdGguc2luKCg4MCoodC0xKS03LjUpKk1hdGguUEkvMTUpfSxCYWNrOmZ1bmN0aW9uKHQpe3JldHVybiB0KnQqKDMqdC0yKX0sQm91bmNlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTQ7dDwoKGU9TWF0aC5wb3coMiwtLW4pKS0xKS8xMTspO3JldHVybiAxL01hdGgucG93KDQsMy1uKS03LjU2MjUqTWF0aC5wb3coKDMqZS0yKS8yMi10LDIpfX0pLHQuZWFjaChlLChmdW5jdGlvbihlLG4pe3QuZWFzaW5nWyJlYXNlSW4iK2VdPW4sdC5lYXNpbmdbImVhc2VPdXQiK2VdPWZ1bmN0aW9uKHQpe3JldHVybiAxLW4oMS10KX0sdC5lYXNpbmdbImVhc2VJbk91dCIrZV09ZnVuY3Rpb24odCl7cmV0dXJuIHQ8LjU/bigyKnQpLzI6MS1uKC0yKnQrMikvMn19KSl9KCksdC5lZmZlY3RzfSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YgaT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDI5MzI3MSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5pZT0hIS9tc2llIFtcdy5dKy8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0MDYwNzIodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dC5leHByLnBzZXVkb3N8fCh0LmV4cHIucHNldWRvcz10LmV4cHJbIjoiXSk7dC51bmlxdWVTb3J0fHwodC51bmlxdWVTb3J0PXQudW5pcXVlKTtpZighdC5lc2NhcGVTZWxlY3Rvcil7dmFyIGU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZyxuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/IlwwIj09PXQ/Iu+/vSI6dC5zbGljZSgwLC0xKSsiXFwiK3QuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKS50b1N0cmluZygxNikrIiAiOiJcXCIrdH07dC5lc2NhcGVTZWxlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4odCsiIikucmVwbGFjZShlLG4pfX10LmZuLmV2ZW4mJnQuZm4ub2RkfHx0LmZuLmV4dGVuZCh7ZXZlbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQlMj09MH0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCUyPT0xfSkpfX0pfSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwyMTA5NzEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpLG4oMTY4NzAxKV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw3MTY5OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aS5rZXlDb2RlPXtCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLApFU0NBUEU6MjcsSE9NRTozNixMRUZUOjM3LFBBR0VfRE9XTjozNCxQQUdFX1VQOjMzLFBFUklPRDoxOTAsUklHSFQ6MzksU1BBQ0U6MzIsVEFCOjksVVA6Mzh9fSk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSwxODYyMzQodCxlLG4pe3ZhciBpLHIsbztyPVtuKDQ4MjUwNCldLGk9ZnVuY3Rpb24odCxlKXt2YXIgbixpPSJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgYm9yZGVyVG9wQ29sb3IgY29sb3IgY29sdW1uUnVsZUNvbG9yIG91dGxpbmVDb2xvciB0ZXh0RGVjb3JhdGlvbkNvbG9yIHRleHRFbXBoYXNpc0NvbG9yIixyPXt9LG89ci50b1N0cmluZyxzPS9eKFtcLStdKT1ccyooXGQrXC4/XGQqKS8sYT1be3JlOi9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3RbMV0sdFsyXSx0WzNdLHRbNF1dfX0se3JlOi9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuWzIuNTUqdFsxXSwyLjU1KnRbMl0sMi41NSp0WzNdLHRbNF1dfX0se3JlOi8jKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KT8vLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KSx0WzRdPyhwYXJzZUludCh0WzRdLDE2KS8yNTUpLnRvRml4ZWQoMik6MV19fSx7cmU6LyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pPy8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3BhcnNlSW50KHRbMV0rdFsxXSwxNikscGFyc2VJbnQodFsyXSt0WzJdLDE2KSxwYXJzZUludCh0WzNdK3RbM10sMTYpLHRbNF0/KHBhcnNlSW50KHRbNF0rdFs0XSwxNikvMjU1KS50b0ZpeGVkKDIpOjFdfX0se3JlOi9oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqKD86LFxzKihcZD8oPzpcLlxkKyk/KVxzKik/XCkvLHNwYWNlOiJoc2xhIixwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bdFsxXSx0WzJdLzEwMCx0WzNdLzEwMCx0WzRdXX19XSx1PXQuQ29sb3I9ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIG5ldyB0LkNvbG9yLmZuLnBhcnNlKGUsbixpLHIpfSxsPXtyZ2JhOntwcm9wczp7cmVkOntpZHg6MCx0eXBlOiJieXRlIn0sZ3JlZW46e2lkeDoxLHR5cGU6ImJ5dGUifSxibHVlOntpZHg6Mix0eXBlOiJieXRlIn19fSxoc2xhOntwcm9wczp7aHVlOntpZHg6MCx0eXBlOiJkZWdyZWVzIn0sc2F0dXJhdGlvbjp7aWR4OjEsdHlwZToicGVyY2VudCJ9LGxpZ2h0bmVzczp7aWR4OjIsdHlwZToicGVyY2VudCJ9fX19LGM9e2J5dGU6e2Zsb29yOiEwLG1heDoyNTV9LHBlcmNlbnQ6e21heDoxfSxkZWdyZWVzOnttb2Q6MzYwLGZsb29yOiEwfX0sZj11LnN1cHBvcnQ9e30saD10KCI8cD4iKVswXSxkPXQuZWFjaDtmdW5jdGlvbiBwKHQpe3JldHVybiBudWxsPT10P3QrIiI6Im9iamVjdCI9PXR5cGVvZiB0P3Jbby5jYWxsKHQpXXx8Im9iamVjdCI6dHlwZW9mIHR9ZnVuY3Rpb24gdih0LGUsbil7dmFyIGk9Y1tlLnR5cGVdfHx7fTtyZXR1cm4gbnVsbD09dD9ufHwhZS5kZWY/bnVsbDplLmRlZjoodD1pLmZsb29yP35+dDpwYXJzZUZsb2F0KHQpLGlzTmFOKHQpP2UuZGVmOmkubW9kPyh0K2kubW9kKSVpLm1vZDpNYXRoLm1pbihpLm1heCxNYXRoLm1heCgwLHQpKSl9ZnVuY3Rpb24gZyhlKXt2YXIgaT11KCkscj1pLl9yZ2JhPVtdO3JldHVybiBlPWUudG9Mb3dlckNhc2UoKSxkKGEsKGZ1bmN0aW9uKHQsbil7dmFyIG8scz1uLnJlLmV4ZWMoZSksYT1zJiZuLnBhcnNlKHMpLHU9bi5zcGFjZXx8InJnYmEiO2lmKGEpcmV0dXJuIG89aVt1XShhKSxpW2xbdV0uY2FjaGVdPW9bbFt1XS5jYWNoZV0scj1pLl9yZ2JhPW8uX3JnYmEsITF9KSksci5sZW5ndGg/KCIwLDAsMCwwIj09PXIuam9pbigpJiZ0LmV4dGVuZChyLG4udHJhbnNwYXJlbnQpLGkpOm5bZV19ZnVuY3Rpb24gbSh0LGUsbil7cmV0dXJuIDYqKG49KG4rMSklMSk8MT90KyhlLXQpKm4qNjoyKm48MT9lOjMqbjwyP3QrKGUtdCkqKDIvMy1uKSo2OnR9aC5zdHlsZS5jc3NUZXh0PSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIixmLnJnYmE9aC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IuaW5kZXhPZigicmdiYSIpPi0xLGQobCwoZnVuY3Rpb24odCxlKXtlLmNhY2hlPSJfIit0LGUucHJvcHMuYWxwaGE9e2lkeDozLHR5cGU6InBlcmNlbnQiLGRlZjoxfX0pKSx0LmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLChmdW5jdGlvbih0LGUpe3JbIltvYmplY3QgIitlKyJdIl09ZS50b0xvd2VyQ2FzZSgpfSkpLHUuZm49dC5leHRlbmQodS5wcm90b3R5cGUse3BhcnNlOmZ1bmN0aW9uKGkscixvLHMpe2lmKGk9PT1lKXJldHVybiB0aGlzLl9yZ2JhPVtudWxsLG51bGwsbnVsbCxudWxsXSx0aGlzOyhpLmpxdWVyeXx8aS5ub2RlVHlwZSkmJihpPXQoaSkuY3NzKHIpLHI9ZSk7dmFyIGE9dGhpcyxjPXAoaSksZj10aGlzLl9yZ2JhPVtdO3JldHVybiByIT09ZSYmKGk9W2kscixvLHNdLGM9ImFycmF5IiksInN0cmluZyI9PT1jP3RoaXMucGFyc2UoZyhpKXx8bi5fZGVmYXVsdCk6ImFycmF5Ij09PWM/KGQobC5yZ2JhLnByb3BzLChmdW5jdGlvbih0LGUpe2ZbZS5pZHhdPXYoaVtlLmlkeF0sZSl9KSksdGhpcyk6Im9iamVjdCI9PT1jPyhkKGwsaSBpbnN0YW5jZW9mIHU/ZnVuY3Rpb24odCxlKXtpW2UuY2FjaGVdJiYoYVtlLmNhY2hlXT1pW2UuY2FjaGVdLnNsaWNlKCkpfTpmdW5jdGlvbihlLG4pe3ZhciByPW4uY2FjaGUKO2Qobi5wcm9wcywoZnVuY3Rpb24odCxlKXtpZighYVtyXSYmbi50byl7aWYoImFscGhhIj09PXR8fG51bGw9PWlbdF0pcmV0dXJuO2Fbcl09bi50byhhLl9yZ2JhKX1hW3JdW2UuaWR4XT12KGlbdF0sZSwhMCl9KSksYVtyXSYmdC5pbkFycmF5KG51bGwsYVtyXS5zbGljZSgwLDMpKTwwJiYobnVsbD09YVtyXVszXSYmKGFbcl1bM109MSksbi5mcm9tJiYoYS5fcmdiYT1uLmZyb20oYVtyXSkpKX0pLHRoaXMpOnZvaWQgMH0saXM6ZnVuY3Rpb24odCl7dmFyIGU9dSh0KSxuPSEwLGk9dGhpcztyZXR1cm4gZChsLChmdW5jdGlvbih0LHIpe3ZhciBvLHM9ZVtyLmNhY2hlXTtyZXR1cm4gcyYmKG89aVtyLmNhY2hlXXx8ci50byYmci50byhpLl9yZ2JhKXx8W10sZChyLnByb3BzLChmdW5jdGlvbih0LGUpe2lmKG51bGwhPXNbZS5pZHhdKXJldHVybiBuPXNbZS5pZHhdPT09b1tlLmlkeF19KSkpLG59KSksbn0sX3NwYWNlOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT10aGlzO3JldHVybiBkKGwsKGZ1bmN0aW9uKG4saSl7ZVtpLmNhY2hlXSYmdC5wdXNoKG4pfSkpLHQucG9wKCl9LHRyYW5zaXRpb246ZnVuY3Rpb24odCxlKXt2YXIgbj11KHQpLGk9bi5fc3BhY2UoKSxyPWxbaV0sbz0wPT09dGhpcy5hbHBoYSgpP3UoInRyYW5zcGFyZW50Iik6dGhpcyxzPW9bci5jYWNoZV18fHIudG8oby5fcmdiYSksYT1zLnNsaWNlKCk7cmV0dXJuIG49bltyLmNhY2hlXSxkKHIucHJvcHMsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9aS5pZHgsbz1zW3JdLHU9bltyXSxsPWNbaS50eXBlXXx8e307bnVsbCE9PXUmJihudWxsPT09bz9hW3JdPXU6KGwubW9kJiYodS1vPmwubW9kLzI/bys9bC5tb2Q6by11PmwubW9kLzImJihvLT1sLm1vZCkpLGFbcl09digodS1vKSplK28saSkpKX0pKSx0aGlzW2ldKGEpfSxibGVuZDpmdW5jdGlvbihlKXtpZigxPT09dGhpcy5fcmdiYVszXSlyZXR1cm4gdGhpczt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpLHI9dShlKS5fcmdiYTtyZXR1cm4gdSh0Lm1hcChuLChmdW5jdGlvbih0LGUpe3JldHVybigxLWkpKnJbZV0raSp0fSkpKX0sdG9SZ2JhU3RyaW5nOmZ1bmN0aW9uKCl7dmFyIGU9InJnYmEoIixuPXQubWFwKHRoaXMuX3JnYmEsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQ/dDplPjI/MTowfSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0icmdiKCIpLGUrbi5qb2luKCkrIikifSx0b0hzbGFTdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT0iaHNsYSgiLG49dC5tYXAodGhpcy5oc2xhKCksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQmJih0PWU+Mj8xOjApLGUmJmU8MyYmKHQ9TWF0aC5yb3VuZCgxMDAqdCkrIiUiKSx0fSkpO3JldHVybiAxPT09blszXSYmKG4ucG9wKCksZT0iaHNsKCIpLGUrbi5qb2luKCkrIikifSx0b0hleFN0cmluZzpmdW5jdGlvbihlKXt2YXIgbj10aGlzLl9yZ2JhLnNsaWNlKCksaT1uLnBvcCgpO3JldHVybiBlJiZuLnB1c2gofn4oMjU1KmkpKSwiIyIrdC5tYXAobiwoZnVuY3Rpb24odCl7cmV0dXJuIDE9PT0odD0odHx8MCkudG9TdHJpbmcoMTYpKS5sZW5ndGg/IjAiK3Q6dH0pKS5qb2luKCIiKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuX3JnYmFbM10/InRyYW5zcGFyZW50Ijp0aGlzLnRvUmdiYVN0cmluZygpfX0pLHUuZm4ucGFyc2UucHJvdG90eXBlPXUuZm4sbC5oc2xhLnRvPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXRbMF18fG51bGw9PXRbMV18fG51bGw9PXRbMl0pcmV0dXJuW251bGwsbnVsbCxudWxsLHRbM11dO3ZhciBlLG4saT10WzBdLzI1NSxyPXRbMV0vMjU1LG89dFsyXS8yNTUscz10WzNdLGE9TWF0aC5tYXgoaSxyLG8pLHU9TWF0aC5taW4oaSxyLG8pLGw9YS11LGM9YSt1LGY9LjUqYztyZXR1cm4gZT11PT09YT8wOmk9PT1hPzYwKihyLW8pL2wrMzYwOnI9PT1hPzYwKihvLWkpL2wrMTIwOjYwKihpLXIpL2wrMjQwLG49MD09PWw/MDpmPD0uNT9sL2M6bC8oMi1jKSxbTWF0aC5yb3VuZChlKSUzNjAsbixmLHM/PzFdfSxsLmhzbGEuZnJvbT1mdW5jdGlvbih0KXtpZihudWxsPT10WzBdfHxudWxsPT10WzFdfHxudWxsPT10WzJdKXJldHVybltudWxsLG51bGwsbnVsbCx0WzNdXTt2YXIgZT10WzBdLzM2MCxuPXRbMV0saT10WzJdLHI9dFszXSxvPWk8PS41P2kqKDErbik6aStuLWkqbixzPTIqaS1vO3JldHVybltNYXRoLnJvdW5kKDI1NSptKHMsbyxlKzEvMykpLE1hdGgucm91bmQoMjU1Km0ocyxvLGUpKSxNYXRoLnJvdW5kKDI1NSptKHMsbyxlLTEvMykpLHJdfSxkKGwsKGZ1bmN0aW9uKHQsbil7dmFyIGk9bi5wcm9wcyxyPW4uY2FjaGUsbz1uLnRvLGE9bi5mcm9tO3UuZm5bdF09ZnVuY3Rpb24odCl7aWYobyYmIXRoaXNbcl0mJih0aGlzW3JdPW8odGhpcy5fcmdiYSkpLHQ9PT1lKXJldHVybiB0aGlzW3JdLnNsaWNlKCk7dmFyIG4scz1wKHQpLGw9ImFycmF5Ij09PXN8fCJvYmplY3QiPT09cz90OmFyZ3VtZW50cyxjPXRoaXNbcl0uc2xpY2UoKTtyZXR1cm4gZChpLChmdW5jdGlvbih0LGUpe3ZhciBuPWxbIm9iamVjdCI9PT1zP3Q6ZS5pZHhdO251bGw9PW4mJihuPWNbZS5pZHhdKSxjW2UuaWR4XT12KG4sZSl9KSksYT8oKG49dShhKGMpKSlbcl09YyxuKTp1KGMpfSxkKGksKGZ1bmN0aW9uKGUsbil7dS5mbltlXXx8KHUuZm5bZV09ZnVuY3Rpb24oaSl7dmFyIHIsbyxhLHUsbD1wKGkpO3JldHVybiBvPShyPXRoaXNbdT0iYWxwaGEiPT09ZT90aGlzLl9oc2xhPyJoc2xhIjoicmdiYSI6dF0oKSlbbi5pZHhdLCJ1bmRlZmluZWQiPT09bD9vOigiZnVuY3Rpb24iPT09bCYmKGw9cChpPWkuY2FsbCh0aGlzLG8pKSksbnVsbD09aSYmbi5lbXB0eT90aGlzOigic3RyaW5nIj09PWwmJihhPXMuZXhlYyhpKSkmJihpPW8rcGFyc2VGbG9hdChhWzJdKSooIisiPT09YVsxXT8xOi0xKSkscltuLmlkeF09aSx0aGlzW3VdKHIpKSl9KX0pKX0pKSx1Lmhvb2s9ZnVuY3Rpb24oZSl7dmFyIG49ZS5zcGxpdCgiICIpO2QobiwoZnVuY3Rpb24oZSxuKXt0LmNzc0hvb2tzW25dPXtzZXQ6ZnVuY3Rpb24oZSxpKXt2YXIgcixvLHM9IiI7aWYoInRyYW5zcGFyZW50IiE9PWkmJigic3RyaW5nIiE9PXAoaSl8fChyPWcoaSkpKSl7CmlmKGk9dShyfHxpKSwhZi5yZ2JhJiYxIT09aS5fcmdiYVszXSl7Zm9yKG89ImJhY2tncm91bmRDb2xvciI9PT1uP2UucGFyZW50Tm9kZTplOygiIj09PXN8fCJ0cmFuc3BhcmVudCI9PT1zKSYmbyYmby5zdHlsZTspdHJ5e3M9dC5jc3MobywiYmFja2dyb3VuZENvbG9yIiksbz1vLnBhcmVudE5vZGV9Y2F0Y2godCl7fWk9aS5ibGVuZChzJiYidHJhbnNwYXJlbnQiIT09cz9zOiJfZGVmYXVsdCIpfWk9aS50b1JnYmFTdHJpbmcoKX10cnl7ZS5zdHlsZVtuXT1pfWNhdGNoKHQpe319fSx0LmZ4LnN0ZXBbbl09ZnVuY3Rpb24oZSl7ZS5jb2xvckluaXR8fChlLnN0YXJ0PXUoZS5lbGVtLG4pLGUuZW5kPXUoZS5lbmQpLGUuY29sb3JJbml0PSEwKSx0LmNzc0hvb2tzW25dLnNldChlLmVsZW0sZS5zdGFydC50cmFuc2l0aW9uKGUuZW5kLGUucG9zKSl9fSkpfSx1Lmhvb2soaSksdC5jc3NIb29rcy5ib3JkZXJDb2xvcj17ZXhwYW5kOmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3JldHVybiBkKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sKGZ1bmN0aW9uKG4saSl7ZVsiYm9yZGVyIitpKyJDb2xvciJdPXR9KSksZX19LG49dC5Db2xvci5uYW1lcz17YXF1YToiIzAwZmZmZiIsYmxhY2s6IiMwMDAwMDAiLGJsdWU6IiMwMDAwZmYiLGZ1Y2hzaWE6IiNmZjAwZmYiLGdyYXk6IiM4MDgwODAiLGdyZWVuOiIjMDA4MDAwIixsaW1lOiIjMDBmZjAwIixtYXJvb246IiM4MDAwMDAiLG5hdnk6IiMwMDAwODAiLG9saXZlOiIjODA4MDAwIixwdXJwbGU6IiM4MDAwODAiLHJlZDoiI2ZmMDAwMCIsc2lsdmVyOiIjYzBjMGMwIix0ZWFsOiIjMDA4MDgwIix3aGl0ZToiI2ZmZmZmZiIseWVsbG93OiIjZmZmZjAwIix0cmFuc3BhcmVudDpbbnVsbCxudWxsLG51bGwsMF0sX2RlZmF1bHQ6IiNmZmZmZmYifX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSwxNjg3MDEodCxlLG4pe3ZhciBpLHIsbzshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cj1bbig0ODI1MDQpXSx2b2lkIDA9PT0obz0iZnVuY3Rpb24iPT10eXBlb2YoaT1mdW5jdGlvbih0KXtyZXR1cm4gdC51aT10LnVpfHx7fSx0LnVpLnZlcnNpb249IjEuMTMuMiJ9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDY2NjM0OSh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigxNjg3MDEpXSxpPWZ1bmN0aW9uKHQpe3ZhciBlPTAsbj1BcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksaT1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuY2xlYW5EYXRhPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxyLG87Zm9yKG89MDtudWxsIT0ocj1uW29dKTtvKyspKGk9dC5fZGF0YShyLCJldmVudHMiKSkmJmkucmVtb3ZlJiZ0KHIpLnRyaWdnZXJIYW5kbGVyKCJyZW1vdmUiKTtlKG4pfX0odC5jbGVhbkRhdGEpLHQud2lkZ2V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLHMsYT17fSx1PWUuc3BsaXQoIi4iKVswXSxsPXUrIi0iKyhlPWUuc3BsaXQoIi4iKVsxXSk7cmV0dXJuIGl8fChpPW4sbj10LldpZGdldCksQXJyYXkuaXNBcnJheShpKSYmKGk9dC5leHRlbmQuYXBwbHkobnVsbCxbe31dLmNvbmNhdChpKSkpLHQuZXhwci5wc2V1ZG9zW2wudG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24oZSl7cmV0dXJuISF0LmRhdGEoZSxsKX0sdFt1XT10W3VdfHx7fSxyPXRbdV1bZV0sbz10W3VdW2VdPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXN8fCF0aGlzLl9jcmVhdGVXaWRnZXQpcmV0dXJuIG5ldyBvKHQsZSk7YXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KHQsZSl9LHQuZXh0ZW5kKG8scix7dmVyc2lvbjppLnZlcnNpb24sX3Byb3RvOnQuZXh0ZW5kKHt9LGkpLF9jaGlsZENvbnN0cnVjdG9yczpbXX0pLChzPW5ldyBuKS5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSxzLm9wdGlvbnMpLHQuZWFjaChpLChmdW5jdGlvbih0LGUpe2FbdF09ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG4ucHJvdG90eXBlW3RdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiByKGUpe3JldHVybiBuLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGUpfXJldHVybiBmdW5jdGlvbigpe3ZhciB0LG49dGhpcy5fc3VwZXIsbz10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1pLHRoaXMuX3N1cGVyQXBwbHk9cix0PWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPW4sdGhpcy5fc3VwZXJBcHBseT1vLHR9fSgpOmV9KSksby5wcm90b3R5cGU9dC53aWRnZXQuZXh0ZW5kKHMse3dpZGdldEV2ZW50UHJlZml4OnImJnMud2lkZ2V0RXZlbnRQcmVmaXh8fGV9LGEse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOnUsd2lkZ2V0TmFtZTplLHdpZGdldEZ1bGxOYW1lOmx9KSxyPyh0LmVhY2goci5fY2hpbGRDb25zdHJ1Y3RvcnMsKGZ1bmN0aW9uKGUsbil7dmFyIGk9bi5wcm90b3R5cGU7dC53aWRnZXQoaS5uYW1lc3BhY2UrIi4iK2kud2lkZ2V0TmFtZSxvLG4uX3Byb3RvKX0pKSxkZWxldGUgci5fY2hpbGRDb25zdHJ1Y3RvcnMpOm4uX2NoaWxkQ29uc3RydWN0b3JzLnB1c2gobyksdC53aWRnZXQuYnJpZGdlKGUsbyksb30sdC53aWRnZXQuZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcixvLHM9aS5jYWxsKGFyZ3VtZW50cywxKSxhPTAsdT1zLmxlbmd0aDthPHU7YSsrKWZvcihyIGluIHNbYV0pbz1zW2FdW3JdLG4uY2FsbChzW2FdLHIpJiZ2b2lkIDAhPT1vJiYodC5pc1BsYWluT2JqZWN0KG8pP2Vbcl09dC5pc1BsYWluT2JqZWN0KGVbcl0pP3Qud2lkZ2V0LmV4dGVuZCh7fSxlW3JdLG8pOnQud2lkZ2V0LmV4dGVuZCh7fSxvKTplW3JdPW8pO3JldHVybiBlfSx0LndpZGdldC5icmlkZ2U9ZnVuY3Rpb24oZSxuKXt2YXIgcj1uLnByb3RvdHlwZS53aWRnZXRGdWxsTmFtZXx8ZTt0LmZuW2VdPWZ1bmN0aW9uKG8pe3ZhciBzPSJzdHJpbmciPT10eXBlb2YgbyxhPWkuY2FsbChhcmd1bWVudHMsMSksdT10aGlzCjtyZXR1cm4gcz90aGlzLmxlbmd0aHx8Imluc3RhbmNlIiE9PW8/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuLGk9dC5kYXRhKHRoaXMscik7cmV0dXJuImluc3RhbmNlIj09PW8/KHU9aSwhMSk6aT8iZnVuY3Rpb24iIT10eXBlb2YgaVtvXXx8Il8iPT09by5jaGFyQXQoMCk/dC5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbysiJyBmb3IgIitlKyIgd2lkZ2V0IGluc3RhbmNlIik6KG49aVtvXS5hcHBseShpLGEpKSE9PWkmJnZvaWQgMCE9PW4/KHU9biYmbi5qcXVlcnk/dS5wdXNoU3RhY2sobi5nZXQoKSk6biwhMSk6dm9pZCAwOnQuZXJyb3IoImNhbm5vdCBjYWxsIG1ldGhvZHMgb24gIitlKyIgcHJpb3IgdG8gaW5pdGlhbGl6YXRpb247IGF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIitvKyInIil9KSk6dT12b2lkIDA6KGEubGVuZ3RoJiYobz10LndpZGdldC5leHRlbmQuYXBwbHkobnVsbCxbb10uY29uY2F0KGEpKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLHIpO2U/KGUub3B0aW9uKG98fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLHIsbmV3IG4obyx0aGlzKSl9KSkpLHV9fSx0LldpZGdldD1mdW5jdGlvbigpe30sdC5XaWRnZXQuX2NoaWxkQ29uc3RydWN0b3JzPVtdLHQuV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0TmFtZToid2lkZ2V0Iix3aWRnZXRFdmVudFByZWZpeDoiIixkZWZhdWx0RWxlbWVudDoiPGRpdj4iLG9wdGlvbnM6e2NsYXNzZXM6e30sZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24obixpKXtpPXQoaXx8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PXQoaSksdGhpcy51dWlkPWUrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPSIuIit0aGlzLndpZGdldE5hbWUrdGhpcy51dWlkLHRoaXMuYmluZGluZ3M9dCgpLHRoaXMuaG92ZXJhYmxlPXQoKSx0aGlzLmZvY3VzYWJsZT10KCksdGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cD17fSxpIT09dGhpcyYmKHQuZGF0YShpLHRoaXMud2lkZ2V0RnVsbE5hbWUsdGhpcyksdGhpcy5fb24oITAsdGhpcy5lbGVtZW50LHtyZW1vdmU6ZnVuY3Rpb24odCl7dC50YXJnZXQ9PT1pJiZ0aGlzLmRlc3Ryb3koKX19KSx0aGlzLmRvY3VtZW50PXQoaS5zdHlsZT9pLm93bmVyRG9jdW1lbnQ6aS5kb2N1bWVudHx8aSksdGhpcy53aW5kb3c9dCh0aGlzLmRvY3VtZW50WzBdLmRlZmF1bHRWaWV3fHx0aGlzLmRvY3VtZW50WzBdLnBhcmVudFdpbmRvdykpLHRoaXMub3B0aW9ucz10LndpZGdldC5leHRlbmQoe30sdGhpcy5vcHRpb25zLHRoaXMuX2dldENyZWF0ZU9wdGlvbnMoKSxuKSx0aGlzLl9jcmVhdGUoKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlvbkRpc2FibGVkKHRoaXMub3B0aW9ucy5kaXNhYmxlZCksdGhpcy5fdHJpZ2dlcigiY3JlYXRlIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJue319LF9nZXRDcmVhdGVFdmVudERhdGE6dC5ub29wLF9jcmVhdGU6dC5ub29wLF9pbml0OnQubm9vcCxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9kZXN0cm95KCksdC5lYWNoKHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXAsKGZ1bmN0aW9uKHQsbil7ZS5fcmVtb3ZlQ2xhc3Mobix0KX0pKSx0aGlzLmVsZW1lbnQub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSksdGhpcy53aWRnZXQoKS5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsbil7dmFyIGkscixvLHM9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBlKWlmKHM9e30saT1lLnNwbGl0KCIuIiksZT1pLnNoaWZ0KCksaS5sZW5ndGgpe2ZvcihyPXNbZV09dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tlXSksbz0wO288aS5sZW5ndGgtMTtvKyspcltpW29dXT1yW2lbb11dfHx7fSxyPXJbaVtvXV07aWYoZT1pLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1yW2VdP251bGw6cltlXTtyW2VdPW59ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW2VdP251bGw6dGhpcy5vcHRpb25zW2VdO3NbZV09bn1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhzKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZTtmb3IoZSBpbiB0KXRoaXMuX3NldE9wdGlvbihlLHRbZV0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImNsYXNzZXMiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSwiZGlzYWJsZWQiPT09dCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoZSksdGhpc30sX3NldE9wdGlvbkNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG4saSxyO2ZvcihuIGluIGUpcj10aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwW25dLGVbbl0hPT10aGlzLm9wdGlvbnMuY2xhc3Nlc1tuXSYmciYmci5sZW5ndGgmJihpPXQoci5nZXQoKSksdGhpcy5fcmVtb3ZlQ2xhc3MocixuKSxpLmFkZENsYXNzKHRoaXMuX2NsYXNzZXMoe2VsZW1lbnQ6aSxrZXlzOm4sY2xhc3NlczplLGFkZDohMH0pKSl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl90b2dnbGVDbGFzcyh0aGlzLndpZGdldCgpLHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCIsbnVsbCwhIXQpLHQmJih0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhvdmVyYWJsZSxudWxsLCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsInVpLXN0YXRlLWZvY3VzIikpfSwKZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX2NsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIG49W10saT10aGlzO2Z1bmN0aW9uIHIoKXt2YXIgbj1bXTtlLmVsZW1lbnQuZWFjaCgoZnVuY3Rpb24oZSxyKXt0Lm1hcChpLmNsYXNzZXNFbGVtZW50TG9va3VwLChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pcyhyKX0pKXx8bi5wdXNoKHIpfSkpLGkuX29uKHQobikse3JlbW92ZToiX3VudHJhY2tDbGFzc2VzRWxlbWVudCJ9KX1mdW5jdGlvbiBvKG8scyl7dmFyIGEsdTtmb3IodT0wO3U8by5sZW5ndGg7dSsrKWE9aS5jbGFzc2VzRWxlbWVudExvb2t1cFtvW3VdXXx8dCgpLGUuYWRkPyhyKCksYT10KHQudW5pcXVlU29ydChhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSkpOmE9dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxpLmNsYXNzZXNFbGVtZW50TG9va3VwW29bdV1dPWEsbi5wdXNoKG9bdV0pLHMmJmUuY2xhc3Nlc1tvW3VdXSYmbi5wdXNoKGUuY2xhc3Nlc1tvW3VdXSl9cmV0dXJuKGU9dC5leHRlbmQoe2VsZW1lbnQ6dGhpcy5lbGVtZW50LGNsYXNzZXM6dGhpcy5vcHRpb25zLmNsYXNzZXN8fHt9fSxlKSkua2V5cyYmbyhlLmtleXMubWF0Y2goL1xTKy9nKXx8W10sITApLGUuZXh0cmEmJm8oZS5leHRyYS5tYXRjaCgvXFMrL2cpfHxbXSksbi5qb2luKCIgIil9LF91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQ6ZnVuY3Rpb24oZSl7dmFyIG49dGhpczt0LmVhY2gobi5jbGFzc2VzRWxlbWVudExvb2t1cCwoZnVuY3Rpb24oaSxyKXstMSE9PXQuaW5BcnJheShlLnRhcmdldCxyKSYmKG4uY2xhc3Nlc0VsZW1lbnRMb29rdXBbaV09dChyLm5vdChlLnRhcmdldCkuZ2V0KCkpKX0pKSx0aGlzLl9vZmYodChlLnRhcmdldCkpfSxfcmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsbiwhMSl9LF9hZGRDbGFzczpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKHQsZSxuLCEwKX0sX3RvZ2dsZUNsYXNzOmZ1bmN0aW9uKHQsZSxuLGkpe2k9ImJvb2xlYW4iPT10eXBlb2YgaT9pOm47dmFyIHI9InN0cmluZyI9PXR5cGVvZiB0fHxudWxsPT09dCxvPXtleHRyYTpyP2U6bixrZXlzOnI/dDplLGVsZW1lbnQ6cj90aGlzLmVsZW1lbnQ6dCxhZGQ6aX07cmV0dXJuIG8uZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLl9jbGFzc2VzKG8pLGkpLHRoaXN9LF9vbjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbz10aGlzOyJib29sZWFuIiE9dHlwZW9mIGUmJihpPW4sbj1lLGU9ITEpLGk/KG49cj10KG4pLHRoaXMuYmluZGluZ3M9dGhpcy5iaW5kaW5ncy5hZGQobikpOihpPW4sbj10aGlzLmVsZW1lbnQscj10aGlzLndpZGdldCgpKSx0LmVhY2goaSwoZnVuY3Rpb24oaSxzKXtmdW5jdGlvbiBhKCl7aWYoZXx8ITAhPT1vLm9wdGlvbnMuZGlzYWJsZWQmJiF0KHRoaXMpLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpKXJldHVybigic3RyaW5nIj09dHlwZW9mIHM/b1tzXTpzKS5hcHBseShvLGFyZ3VtZW50cyl9InN0cmluZyIhPXR5cGVvZiBzJiYoYS5ndWlkPXMuZ3VpZD1zLmd1aWR8fGEuZ3VpZHx8dC5ndWlkKyspO3ZhciB1PWkubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLGw9dVsxXStvLmV2ZW50TmFtZXNwYWNlLGM9dVsyXTtjP3Iub24obCxjLGEpOm4ub24obCxhKX0pKX0sX29mZjpmdW5jdGlvbihlLG4pe249KG58fCIiKS5zcGxpdCgiICIpLmpvaW4odGhpcy5ldmVudE5hbWVzcGFjZSsiICIpK3RoaXMuZXZlbnROYW1lc3BhY2UsZS5vZmYobiksdGhpcy5iaW5kaW5ncz10KHRoaXMuYmluZGluZ3Mubm90KGUpLmdldCgpKSx0aGlzLmZvY3VzYWJsZT10KHRoaXMuZm9jdXNhYmxlLm5vdChlKS5nZXQoKSksdGhpcy5ob3ZlcmFibGU9dCh0aGlzLmhvdmVyYWJsZS5ub3QoZSkuZ2V0KCkpfSxfZGVsYXk6ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgdD9pW3RdOnQpLmFwcGx5KGksYXJndW1lbnRzKX12YXIgaT10aGlzO3JldHVybiBzZXRUaW1lb3V0KG4sZXx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24oZSl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKGUpLHRoaXMuX29uKGUse21vdXNlZW50ZXI6ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9LG1vdXNlbGVhdmU6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWhvdmVyIil9fSl9LF9mb2N1c2FibGU6ZnVuY3Rpb24oZSl7dGhpcy5mb2N1c2FibGU9dGhpcy5mb2N1c2FibGUuYWRkKGUpLHRoaXMuX29uKGUse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dGhpcy5fYWRkQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWZvY3VzIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKGUpe3RoaXMuX3JlbW92ZUNsYXNzKHQoZS5jdXJyZW50VGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1mb2N1cyIpfX0pfSxfdHJpZ2dlcjpmdW5jdGlvbihlLG4saSl7dmFyIHIsbyxzPXRoaXMub3B0aW9uc1tlXTtpZihpPWl8fHt9LChuPXQuRXZlbnQobikpLnR5cGU9KGU9PT10aGlzLndpZGdldEV2ZW50UHJlZml4P2U6dGhpcy53aWRnZXRFdmVudFByZWZpeCtlKS50b0xvd2VyQ2FzZSgpLG4udGFyZ2V0PXRoaXMuZWxlbWVudFswXSxvPW4ub3JpZ2luYWxFdmVudClmb3IociBpbiBvKXIgaW4gbnx8KG5bcl09b1tyXSk7cmV0dXJuIHRoaXMuZWxlbWVudC50cmlnZ2VyKG4saSksISgiZnVuY3Rpb24iPT10eXBlb2YgcyYmITE9PT1zLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbbl0uY29uY2F0KGkpKXx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6ImZhZGVJbiIsaGlkZToiZmFkZU91dCJ9LChmdW5jdGlvbihlLG4pe3QuV2lkZ2V0LnByb3RvdHlwZVsiXyIrZV09ZnVuY3Rpb24oaSxyLG8pewp2YXIgczsic3RyaW5nIj09dHlwZW9mIHImJihyPXtlZmZlY3Q6cn0pO3ZhciBhPXI/ITA9PT1yfHwibnVtYmVyIj09dHlwZW9mIHI/bjpyLmVmZmVjdHx8bjplOyJudW1iZXIiPT10eXBlb2Yocj1yfHx7fSk/cj17ZHVyYXRpb246cn06ITA9PT1yJiYocj17fSkscz0hdC5pc0VtcHR5T2JqZWN0KHIpLHIuY29tcGxldGU9byxyLmRlbGF5JiZpLmRlbGF5KHIuZGVsYXkpLHMmJnQuZWZmZWN0cyYmdC5lZmZlY3RzLmVmZmVjdFthXT9pW2VdKHIpOmEhPT1lJiZpW2FdP2lbYV0oci5kdXJhdGlvbixyLmVhc2luZyxvKTppLnF1ZXVlKChmdW5jdGlvbihuKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKGlbMF0pLG4oKX0pKX19KSksdC53aWRnZXR9LHZvaWQgMD09PShvPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2kuYXBwbHkoZSxyKTppKXx8KHQuZXhwb3J0cz1vKX0oKX0sMjg5MTMyKHQsZSxuKXt2YXIgaSxyLG87IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3I9W24oNDgyNTA0KSxuKDI5MzI3MSksbigxNjg3MDEpLG4oNjY2MzQ5KV0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mKGk9ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKCJtb3VzZXVwIiwoZnVuY3Rpb24oKXtlPSExfSkpLHQud2lkZ2V0KCJ1aS5tb3VzZSIse3ZlcnNpb246IjEuMTMuMiIsb3B0aW9uczp7Y2FuY2VsOiJpbnB1dCwgdGV4dGFyZWEsIGJ1dHRvbiwgc2VsZWN0LCBvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5lbGVtZW50Lm9uKCJtb3VzZWRvd24uIit0aGlzLndpZGdldE5hbWUsKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9tb3VzZURvd24odCl9KSkub24oImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLChmdW5jdGlvbihuKXtpZighMD09PXQuZGF0YShuLnRhcmdldCxlLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpKXJldHVybiB0LnJlbW92ZURhdGEobi50YXJnZXQsZS53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSxuLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCExfSkpLHRoaXMuc3RhcnRlZD0hMX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5vZmYoIi4iK3RoaXMud2lkZ2V0TmFtZSksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUmJnRoaXMuZG9jdW1lbnQub2ZmKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLm9mZigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKG4pe2lmKCFlKXt0aGlzLl9tb3VzZU1vdmVkPSExLHRoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChuKSx0aGlzLl9tb3VzZURvd25FdmVudD1uO3ZhciBpPXRoaXMscj0xPT09bi53aGljaCxvPSEoInN0cmluZyIhPXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsfHwhbi50YXJnZXQubm9kZU5hbWUpJiZ0KG4udGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDtyZXR1cm4hKHImJiFvJiZ0aGlzLl9tb3VzZUNhcHR1cmUobikpfHwodGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXksdGhpcy5tb3VzZURlbGF5TWV0fHwodGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5tb3VzZURlbGF5TWV0PSEwfSksdGhpcy5vcHRpb25zLmRlbGF5KSksdGhpcy5fbW91c2VEaXN0YW5jZU1ldChuKSYmdGhpcy5fbW91c2VEZWxheU1ldChuKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQobiksIXRoaXMuX21vdXNlU3RhcnRlZCk/KG4ucHJldmVudERlZmF1bHQoKSwhMCk6KCEwPT09dC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IikmJnQucmVtb3ZlRGF0YShuLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBpLl9tb3VzZU1vdmUodCl9LHRoaXMuX21vdXNlVXBEZWxlZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbW91c2VVcCh0KX0sdGhpcy5kb2N1bWVudC5vbigibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5vbigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpLG4ucHJldmVudERlZmF1bHQoKSxlPSEwLCEwKSl9fSxfbW91c2VNb3ZlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuX21vdXNlTW92ZWQpe2lmKHQudWkuaWUmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHxkb2N1bWVudC5kb2N1bWVudE1vZGU8OSkmJiFlLmJ1dHRvbilyZXR1cm4gdGhpcy5fbW91c2VVcChlKTtpZighZS53aGljaClpZihlLm9yaWdpbmFsRXZlbnQuYWx0S2V5fHxlLm9yaWdpbmFsRXZlbnQuY3RybEtleXx8ZS5vcmlnaW5hbEV2ZW50Lm1ldGFLZXl8fGUub3JpZ2luYWxFdmVudC5zaGlmdEtleSl0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMDtlbHNlIGlmKCF0aGlzLmlnbm9yZU1pc3NpbmdXaGljaClyZXR1cm4gdGhpcy5fbW91c2VVcChlKX1yZXR1cm4oZS53aGljaHx8ZS5idXR0b24pJiYodGhpcy5fbW91c2VNb3ZlZD0hMCksdGhpcy5fbW91c2VTdGFydGVkPyh0aGlzLl9tb3VzZURyYWcoZSksZS5wcmV2ZW50RGVmYXVsdCgpKToodGhpcy5fbW91c2VEaXN0YW5jZU1ldChlKSYmdGhpcy5fbW91c2VEZWxheU1ldChlKSYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSE9PXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsZSksdGhpcy5fbW91c2VTdGFydGVkP3RoaXMuX21vdXNlRHJhZyhlKTp0aGlzLl9tb3VzZVVwKGUpKSwhdGhpcy5fbW91c2VTdGFydGVkKX0sX21vdXNlVXA6ZnVuY3Rpb24obil7dGhpcy5kb2N1bWVudC5vZmYoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkub2ZmKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksCnRoaXMuX21vdXNlU3RhcnRlZCYmKHRoaXMuX21vdXNlU3RhcnRlZD0hMSxuLnRhcmdldD09PXRoaXMuX21vdXNlRG93bkV2ZW50LnRhcmdldCYmdC5kYXRhKG4udGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiwhMCksdGhpcy5fbW91c2VTdG9wKG4pKSx0aGlzLl9tb3VzZURlbGF5VGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fbW91c2VEZWxheVRpbWVyKSxkZWxldGUgdGhpcy5fbW91c2VEZWxheVRpbWVyKSx0aGlzLmlnbm9yZU1pc3NpbmdXaGljaD0hMSxlPSExLG4ucHJldmVudERlZmF1bHQoKX0sX21vdXNlRGlzdGFuY2VNZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VYLXQucGFnZVgpLE1hdGguYWJzKHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VZLXQucGFnZVkpKT49dGhpcy5vcHRpb25zLmRpc3RhbmNlfSxfbW91c2VEZWxheU1ldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vdXNlRGVsYXlNZXR9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7fSxfbW91c2VEcmFnOmZ1bmN0aW9uKCl7fSxfbW91c2VTdG9wOmZ1bmN0aW9uKCl7fSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSl9KT9pLmFwcGx5KGUscik6aSl8fCh0LmV4cG9ydHM9byl9KCl9LDEyMTYzNCh0LGUsbil7dmFyIGkscixvOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtyPVtuKDQ4MjUwNCksbigyODkxMzIpLG4oNzE2OTkpLG4oMTY4NzAxKSxuKDY2NjM0OSldLGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2lkZ2V0KCJ1aS5zbGlkZXIiLHQudWkubW91c2Use3ZlcnNpb246IjEuMTMuMiIsd2lkZ2V0RXZlbnRQcmVmaXg6InNsaWRlIixvcHRpb25zOnthbmltYXRlOiExLGNsYXNzZXM6eyJ1aS1zbGlkZXIiOiJ1aS1jb3JuZXItYWxsIiwidWktc2xpZGVyLWhhbmRsZSI6InVpLWNvcm5lci1hbGwiLCJ1aS1zbGlkZXItcmFuZ2UiOiJ1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1oZWFkZXIifSxkaXN0YW5jZTowLG1heDoxMDAsbWluOjAsb3JpZW50YXRpb246Imhvcml6b250YWwiLHJhbmdlOiExLHN0ZXA6MSx2YWx1ZTowLHZhbHVlczpudWxsLGNoYW5nZTpudWxsLHNsaWRlOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LG51bVBhZ2VzOjUsX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX2tleVNsaWRpbmc9ITEsdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5faGFuZGxlSW5kZXg9bnVsbCx0aGlzLl9kZXRlY3RPcmllbnRhdGlvbigpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX2FkZENsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiwidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiksdGhpcy5fcmVmcmVzaCgpLHRoaXMuX2FuaW1hdGVPZmY9ITF9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fY3JlYXRlUmFuZ2UoKSx0aGlzLl9jcmVhdGVIYW5kbGVzKCksdGhpcy5fc2V0dXBFdmVudHMoKSx0aGlzLl9yZWZyZXNoVmFsdWUoKX0sX2NyZWF0ZUhhbmRsZXM6ZnVuY3Rpb24oKXt2YXIgZSxuLGk9dGhpcy5vcHRpb25zLHI9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1zbGlkZXItaGFuZGxlIiksbz0iPHNwYW4gdGFiaW5kZXg9JzAnPjwvc3Bhbj4iLHM9W107Zm9yKG49aS52YWx1ZXMmJmkudmFsdWVzLmxlbmd0aHx8MSxyLmxlbmd0aD5uJiYoci5zbGljZShuKS5yZW1vdmUoKSxyPXIuc2xpY2UoMCxuKSksZT1yLmxlbmd0aDtlPG47ZSsrKXMucHVzaChvKTt0aGlzLmhhbmRsZXM9ci5hZGQodChzLmpvaW4oIiIpKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmhhbmRsZXMsInVpLXNsaWRlci1oYW5kbGUiLCJ1aS1zdGF0ZS1kZWZhdWx0IiksdGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApLHRoaXMuaGFuZGxlcy5lYWNoKChmdW5jdGlvbihlKXt0KHRoaXMpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiLGUpLmF0dHIoInRhYkluZGV4IiwwKX0pKX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO2UucmFuZ2U/KCEwPT09ZS5yYW5nZSYmKGUudmFsdWVzP2UudmFsdWVzLmxlbmd0aCYmMiE9PWUudmFsdWVzLmxlbmd0aD9lLnZhbHVlcz1bZS52YWx1ZXNbMF0sZS52YWx1ZXNbMF1dOkFycmF5LmlzQXJyYXkoZS52YWx1ZXMpJiYoZS52YWx1ZXM9ZS52YWx1ZXMuc2xpY2UoMCkpOmUudmFsdWVzPVt0aGlzLl92YWx1ZU1pbigpLHRoaXMuX3ZhbHVlTWluKCldKSx0aGlzLnJhbmdlJiZ0aGlzLnJhbmdlLmxlbmd0aD8odGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5yYW5nZSwidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IiksdGhpcy5yYW5nZS5jc3Moe2xlZnQ6IiIsYm90dG9tOiIifSkpOih0aGlzLnJhbmdlPXQoIjxkaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KSx0aGlzLl9hZGRDbGFzcyh0aGlzLnJhbmdlLCJ1aS1zbGlkZXItcmFuZ2UiKSksIm1pbiIhPT1lLnJhbmdlJiYibWF4IiE9PWUucmFuZ2V8fHRoaXMuX2FkZENsYXNzKHRoaXMucmFuZ2UsInVpLXNsaWRlci1yYW5nZS0iK2UucmFuZ2UpKToodGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLnJhbmdlPW51bGwpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLl9vZmYodGhpcy5oYW5kbGVzKSx0aGlzLl9vbih0aGlzLmhhbmRsZXMsdGhpcy5faGFuZGxlRXZlbnRzKSx0aGlzLl9ob3ZlcmFibGUodGhpcy5oYW5kbGVzKSx0aGlzLl9mb2N1c2FibGUodGhpcy5oYW5kbGVzKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmhhbmRsZXMucmVtb3ZlKCksdGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5yZW1vdmUoKSx0aGlzLl9tb3VzZURlc3Ryb3koKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbihlKXt2YXIgbixpLHIsbyxzLGEsdSxsPXRoaXMsYz10aGlzLm9wdGlvbnM7cmV0dXJuIWMuZGlzYWJsZWQmJih0aGlzLmVsZW1lbnRTaXplPXt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKQp9LHRoaXMuZWxlbWVudE9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCksbj17eDplLnBhZ2VYLHk6ZS5wYWdlWX0saT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2Uobikscj10aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkrMSx0aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49TWF0aC5hYnMoaS1sLnZhbHVlcyhlKSk7KHI+bnx8cj09PW4mJihlPT09bC5fbGFzdENoYW5nZWRWYWx1ZXx8bC52YWx1ZXMoZSk9PT1jLm1pbikpJiYocj1uLG89dCh0aGlzKSxzPWUpfSkpLCExIT09dGhpcy5fc3RhcnQoZSxzKSYmKHRoaXMuX21vdXNlU2xpZGluZz0hMCx0aGlzLl9oYW5kbGVJbmRleD1zLHRoaXMuX2FkZENsYXNzKG8sbnVsbCwidWktc3RhdGUtYWN0aXZlIiksby50cmlnZ2VyKCJmb2N1cyIpLGE9by5vZmZzZXQoKSx1PSF0KGUudGFyZ2V0KS5wYXJlbnRzKCkuYWRkQmFjaygpLmlzKCIudWktc2xpZGVyLWhhbmRsZSIpLHRoaXMuX2NsaWNrT2Zmc2V0PXU/e2xlZnQ6MCx0b3A6MH06e2xlZnQ6ZS5wYWdlWC1hLmxlZnQtby53aWR0aCgpLzIsdG9wOmUucGFnZVktYS50b3Atby5oZWlnaHQoKS8yLShwYXJzZUludChvLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApLShwYXJzZUludChvLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChvLmNzcygibWFyZ2luVG9wIiksMTApfHwwKX0sdGhpcy5oYW5kbGVzLmhhc0NsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfHx0aGlzLl9zbGlkZShlLHMsaSksdGhpcy5fYW5pbWF0ZU9mZj0hMCwhMCkpfSxfbW91c2VTdGFydDpmdW5jdGlvbigpe3JldHVybiEwfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQpe3ZhciBlPXt4OnQucGFnZVgseTp0LnBhZ2VZfSxuPXRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZShlKTtyZXR1cm4gdGhpcy5fc2xpZGUodCx0aGlzLl9oYW5kbGVJbmRleCxuKSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5oYW5kbGVzLG51bGwsInVpLXN0YXRlLWFjdGl2ZSIpLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9zdG9wKHQsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2NoYW5nZSh0LHRoaXMuX2hhbmRsZUluZGV4KSx0aGlzLl9oYW5kbGVJbmRleD1udWxsLHRoaXMuX2NsaWNrT2Zmc2V0PW51bGwsdGhpcy5fYW5pbWF0ZU9mZj0hMSwhMX0sX2RldGVjdE9yaWVudGF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5vcmllbnRhdGlvbj0idmVydGljYWwiPT09dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwifSxfbm9ybVZhbHVlRnJvbU1vdXNlOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyLG87cmV0dXJuImhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj8oZT10aGlzLmVsZW1lbnRTaXplLndpZHRoLG49dC54LXRoaXMuZWxlbWVudE9mZnNldC5sZWZ0LSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC5sZWZ0OjApKTooZT10aGlzLmVsZW1lbnRTaXplLmhlaWdodCxuPXQueS10aGlzLmVsZW1lbnRPZmZzZXQudG9wLSh0aGlzLl9jbGlja09mZnNldD90aGlzLl9jbGlja09mZnNldC50b3A6MCkpLChpPW4vZSk+MSYmKGk9MSksaTwwJiYoaT0wKSwidmVydGljYWwiPT09dGhpcy5vcmllbnRhdGlvbiYmKGk9MS1pKSxyPXRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWluKCkraSpyLHRoaXMuX3RyaW1BbGlnblZhbHVlKG8pfSxfdWlIYXNoOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT17aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSxoYW5kbGVJbmRleDp0LHZhbHVlOnZvaWQgMCE9PWU/ZTp0aGlzLnZhbHVlKCl9O3JldHVybiB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpJiYoaS52YWx1ZT12b2lkIDAhPT1lP2U6dGhpcy52YWx1ZXModCksaS52YWx1ZXM9bnx8dGhpcy52YWx1ZXMoKSksaX0sX2hhc011bHRpcGxlVmFsdWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RofSxfc3RhcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX3NsaWRlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyPXRoaXMudmFsdWUoKSxvPXRoaXMudmFsdWVzKCk7dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSYmKGk9dGhpcy52YWx1ZXMoZT8wOjEpLHI9dGhpcy52YWx1ZXMoZSksMj09PXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYhMD09PXRoaXMub3B0aW9ucy5yYW5nZSYmKG49MD09PWU/TWF0aC5taW4oaSxuKTpNYXRoLm1heChpLG4pKSxvW2VdPW4pLG4hPT1yJiYhMSE9PXRoaXMuX3RyaWdnZXIoInNsaWRlIix0LHRoaXMuX3VpSGFzaChlLG4sbykpJiYodGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhlLG4pOnRoaXMudmFsdWUobikpfSxfc3RvcDpmdW5jdGlvbih0LGUpe3RoaXMuX3RyaWdnZXIoInN0b3AiLHQsdGhpcy5fdWlIYXNoKGUpKX0sX2NoYW5nZTpmdW5jdGlvbih0LGUpe3RoaXMuX2tleVNsaWRpbmd8fHRoaXMuX21vdXNlU2xpZGluZ3x8KHRoaXMuX2xhc3RDaGFuZ2VkVmFsdWU9ZSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQsdGhpcy5fdWlIYXNoKGUpKSl9LHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdHJpbUFsaWduVmFsdWUodCksdGhpcy5fcmVmcmVzaFZhbHVlKCksdm9pZCB0aGlzLl9jaGFuZ2UobnVsbCwwKSk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1t0XT10aGlzLl90cmltQWxpZ25WYWx1ZShlKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx2b2lkIHRoaXMuX2NoYW5nZShudWxsLHQpO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl92YWx1ZXMoKQo7aWYoIUFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLl92YWx1ZXModCk6dGhpcy52YWx1ZSgpO2ZvcihuPXRoaXMub3B0aW9ucy52YWx1ZXMsaT1hcmd1bWVudHNbMF0scj0wO3I8bi5sZW5ndGg7cis9MSluW3JdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGlbcl0pLHRoaXMuX2NoYW5nZShudWxsLHIpO3RoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT0wO3N3aXRjaCgicmFuZ2UiPT09dCYmITA9PT10aGlzLm9wdGlvbnMucmFuZ2UmJigibWluIj09PWU/KHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl92YWx1ZXMoMCksdGhpcy5vcHRpb25zLnZhbHVlcz1udWxsKToibWF4Ij09PWUmJih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoLTEpLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCkpLEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykmJihpPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSx0aGlzLl9zdXBlcih0LGUpLHQpe2Nhc2Uib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCksdGhpcy5fcmVtb3ZlQ2xhc3MoInVpLXNsaWRlci1ob3Jpem9udGFsIHVpLXNsaWRlci12ZXJ0aWNhbCIpLl9hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5vcHRpb25zLnJhbmdlJiZ0aGlzLl9yZWZyZXNoUmFuZ2UoZSksdGhpcy5oYW5kbGVzLmNzcygiaG9yaXpvbnRhbCI9PT1lPyJib3R0b20iOiJsZWZ0IiwiIik7YnJlYWs7Y2FzZSJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCwwKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UidmFsdWVzIjpmb3IodGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSxuPWktMTtuPj0wO24tLSl0aGlzLl9jaGFuZ2UobnVsbCxuKTt0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2Uic3RlcCI6Y2FzZSJtaW4iOmNhc2UibWF4Ijp0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2NhbGN1bGF0ZU5ld01heCgpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2FuaW1hdGVPZmY9ITE7YnJlYWs7Y2FzZSJyYW5nZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoKCksdGhpcy5fYW5pbWF0ZU9mZj0hMX19LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl9zdXBlcih0KSx0aGlzLl90b2dnbGVDbGFzcyhudWxsLCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KX0sX3ZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnZhbHVlO3JldHVybiB0PXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpfSxfdmFsdWVzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saTtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlPXRoaXMub3B0aW9ucy52YWx1ZXNbdF0sZT10aGlzLl90cmltQWxpZ25WYWx1ZShlKTtpZih0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpKXtmb3Iobj10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCksaT0wO2k8bi5sZW5ndGg7aSs9MSluW2ldPXRoaXMuX3RyaW1BbGlnblZhbHVlKG5baV0pO3JldHVybiBufXJldHVybltdfSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24odCl7aWYodDw9dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZih0Pj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciBlPXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxuPSh0LXRoaXMuX3ZhbHVlTWluKCkpJWUsaT10LW47cmV0dXJuIDIqTWF0aC5hYnMobik+PWUmJihpKz1uPjA/ZTotZSkscGFyc2VGbG9hdChpLnRvRml4ZWQoNSkpfSxfY2FsY3VsYXRlTmV3TWF4OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLm1heCxlPXRoaXMuX3ZhbHVlTWluKCksbj10aGlzLm9wdGlvbnMuc3RlcDsodD1NYXRoLnJvdW5kKCh0LWUpL24pKm4rZSk+dGhpcy5vcHRpb25zLm1heCYmKHQtPW4pLHRoaXMubWF4PXBhcnNlRmxvYXQodC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbigpKSl9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYodD1NYXRoLm1heCh0LHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksdH0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKHQpe3ZhciBlPXQudG9TdHJpbmcoKSxuPWUuaW5kZXhPZigiLiIpO3JldHVybi0xPT09bj8wOmUubGVuZ3RoLW4tMX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sX3JlZnJlc2hSYW5nZTpmdW5jdGlvbih0KXsidmVydGljYWwiPT09dCYmdGhpcy5yYW5nZS5jc3Moe3dpZHRoOiIiLGxlZnQ6IiJ9KSwiaG9yaXpvbnRhbCI9PT10JiZ0aGlzLnJhbmdlLmNzcyh7aGVpZ2h0OiIiLGJvdHRvbToiIn0pfSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIsbyxzPXRoaXMub3B0aW9ucy5yYW5nZSxhPXRoaXMub3B0aW9ucyx1PXRoaXMsbD0hdGhpcy5fYW5pbWF0ZU9mZiYmYS5hbmltYXRlLGM9e307dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLmhhbmRsZXMuZWFjaCgoZnVuY3Rpb24oaSl7bj0odS52YWx1ZXMoaSktdS5fdmFsdWVNaW4oKSkvKHUuX3ZhbHVlTWF4KCktdS5fdmFsdWVNaW4oKSkqMTAwLGNbImhvcml6b250YWwiPT09dS5vcmllbnRhdGlvbj8ibGVmdCI6ImJvdHRvbSJdPW4rIiUiLHQodGhpcykuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXShjLGEuYW5pbWF0ZSksITA9PT11Lm9wdGlvbnMucmFuZ2UmJigiaG9yaXpvbnRhbCI9PT11Lm9yaWVudGF0aW9uPygwPT09aSYmdS5yYW5nZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKHtsZWZ0Om4rIiUifSxhLmFuaW1hdGUpLAoxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOm4tZSsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjphLmFuaW1hdGV9KSk6KDA9PT1pJiZ1LnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTpuKyIlIn0sYS5hbmltYXRlKSwxPT09aSYmdS5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuLWUrIiUifSx7cXVldWU6ITEsZHVyYXRpb246YS5hbmltYXRlfSkpKSxlPW59KSk6KGk9dGhpcy52YWx1ZSgpLHI9dGhpcy5fdmFsdWVNaW4oKSxvPXRoaXMuX3ZhbHVlTWF4KCksbj1vIT09cj8oaS1yKS8oby1yKSoxMDA6MCxjWyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1uKyIlIix0aGlzLmhhbmRsZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKGMsYS5hbmltYXRlKSwibWluIj09PXMmJiJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6bisiJSJ9LGEuYW5pbWF0ZSksIm1heCI9PT1zJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1uKyIlIn0sYS5hbmltYXRlKSwibWluIj09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDpuKyIlIn0sYS5hbmltYXRlKSwibWF4Ij09PXMmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtbisiJSJ9LGEuYW5pbWF0ZSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKGUpe3ZhciBuLGkscixvPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmNhc2UgdC51aS5rZXlDb2RlLkVORDpjYXNlIHQudWkua2V5Q29kZS5QQUdFX1VQOmNhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjpjYXNlIHQudWkua2V5Q29kZS5VUDpjYXNlIHQudWkua2V5Q29kZS5SSUdIVDpjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMCx0aGlzLl9hZGRDbGFzcyh0KGUudGFyZ2V0KSxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSwhMT09PXRoaXMuX3N0YXJ0KGUsbykpKXJldHVybn1zd2l0Y2gocj10aGlzLm9wdGlvbnMuc3RlcCxuPWk9dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhvKTp0aGlzLnZhbHVlKCksZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOmk9dGhpcy5fdmFsdWVNaW4oKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTkQ6aT10aGlzLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfVVA6aT10aGlzLl90cmltQWxpZ25WYWx1ZShuKyh0aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkpL3RoaXMubnVtUGFnZXMpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjppPXRoaXMuX3RyaW1BbGlnblZhbHVlKG4tKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6aWYobj09PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobityKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYobj09PXRoaXMuX3ZhbHVlTWluKCkpcmV0dXJuO2k9dGhpcy5fdHJpbUFsaWduVmFsdWUobi1yKX10aGlzLl9zbGlkZShlLG8saSl9LGtleXVwOmZ1bmN0aW9uKGUpe3ZhciBuPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTt0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMSx0aGlzLl9zdG9wKGUsbiksdGhpcy5fY2hhbmdlKGUsbiksdGhpcy5fcmVtb3ZlQ2xhc3ModChlLnRhcmdldCksbnVsbCwidWktc3RhdGUtYWN0aXZlIikpfX19KX0sdm9pZCAwPT09KG89ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5hcHBseShlLHIpOmkpfHwodC5leHBvcnRzPW8pfSgpfSw0OTE4Nih0LGUpe3ZhciBuLGkscixvO289ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1lLmNhbGwodCl9O2Z1bmN0aW9uIGkodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIil9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHQmJmUgaW4gdH12YXIgcz1SZWdFeHAucHJvdG90eXBlLnRlc3QsYT0vXFMvO2Z1bmN0aW9uIHUodCl7cmV0dXJuIWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHMuY2FsbCh0LGUpfShhLHQpfXZhciBsPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiMzOTsiLCIvIjoiJiN4MkY7IiwiYCI6IiYjeDYwOyIsIj0iOiImI3gzRDsifSxjPS9ccyovLGY9L1xzKy8saD0vXHMqPS8sZD0vXHMqXH0vLHA9LyN8XF58XC98Pnxce3wmfD18IS87ZnVuY3Rpb24gdih0KXt0aGlzLnN0cmluZz10LHRoaXMudGFpbD10LHRoaXMucG9zPTB9ZnVuY3Rpb24gZyh0LGUpe3RoaXMudmlldz10LHRoaXMuY2FjaGU9eyIuIjp0aGlzLnZpZXd9LHRoaXMucGFyZW50PWV9ZnVuY3Rpb24gbSgpe3RoaXMuY2FjaGU9e319di5wcm90b3R5cGUuZW9zPWZ1bmN0aW9uKCl7cmV0dXJuIiI9PT10aGlzLnRhaWx9LHYucHJvdG90eXBlLnNjYW49ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50YWlsLm1hdGNoKHQpO2lmKCFlfHwwIT09ZS5pbmRleClyZXR1cm4iIgo7dmFyIG49ZVswXTtyZXR1cm4gdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobi5sZW5ndGgpLHRoaXMucG9zKz1uLmxlbmd0aCxufSx2LnByb3RvdHlwZS5zY2FuVW50aWw9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLnRhaWwuc2VhcmNoKHQpO3N3aXRjaChuKXtjYXNlLTE6ZT10aGlzLnRhaWwsdGhpcy50YWlsPSIiO2JyZWFrO2Nhc2UgMDplPSIiO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLnRhaWwuc3Vic3RyaW5nKDAsbiksdGhpcy50YWlsPXRoaXMudGFpbC5zdWJzdHJpbmcobil9cmV0dXJuIHRoaXMucG9zKz1lLmxlbmd0aCxlfSxnLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZyh0LHRoaXMpfSxnLnByb3RvdHlwZS5sb29rdXA9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLmNhY2hlO2lmKG4uaGFzT3duUHJvcGVydHkodCkpZT1uW3RdO2Vsc2V7Zm9yKHZhciByLHMsYT10aGlzLHU9ITE7YTspe2lmKHQuaW5kZXhPZigiLiIpPjApZm9yKGU9YS52aWV3LHI9dC5zcGxpdCgiLiIpLHM9MDtudWxsIT1lJiZzPHIubGVuZ3RoOylzPT09ci5sZW5ndGgtMSYmKHU9byhlLHJbc10pKSxlPWVbcltzKytdXTtlbHNlIGU9YS52aWV3W3RdLHU9byhhLnZpZXcsdCk7aWYodSlicmVhazthPWEucGFyZW50fW5bdF09ZX1yZXR1cm4gaShlKSYmKGU9ZS5jYWxsKHRoaXMudmlldykpLGV9LG0ucHJvdG90eXBlLmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlPXt9fSxtLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihlLGkpe3ZhciBvPXRoaXMuY2FjaGUscz1vW2VdO3JldHVybiBudWxsPT1zJiYocz1vW2VdPWZ1bmN0aW9uKGUsaSl7aWYoIWUpcmV0dXJuW107dmFyIG8scyxhLGw9W10sZz1bXSxtPVtdLHk9ITEsYj0hMTtmdW5jdGlvbiBfKCl7aWYoeSYmIWIpZm9yKDttLmxlbmd0aDspZGVsZXRlIGdbbS5wb3AoKV07ZWxzZSBtPVtdO3k9ITEsYj0hMX1mdW5jdGlvbiB3KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdChmLDIpKSwhbih0KXx8MiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB0YWdzOiAiK3QpO289bmV3IFJlZ0V4cChyKHRbMF0pKyJcXHMqIikscz1uZXcgUmVnRXhwKCJcXHMqIityKHRbMV0pKSxhPW5ldyBSZWdFeHAoIlxccyoiK3IoIn0iK3RbMV0pKX13KGl8fHQudGFncyk7Zm9yKHZhciB4LE8sRSxDLGssUyxEPW5ldyB2KGUpOyFELmVvcygpOyl7aWYoeD1ELnBvcyxFPUQuc2NhblVudGlsKG8pKWZvcih2YXIgTT0wLFA9RS5sZW5ndGg7TTxQOysrTSl1KEM9RS5jaGFyQXQoTSkpP20ucHVzaChnLmxlbmd0aCk6Yj0hMCxnLnB1c2goWyJ0ZXh0IixDLHgseCsxXSkseCs9MSwiXG4iPT09QyYmXygpO2lmKCFELnNjYW4obykpYnJlYWs7aWYoeT0hMCxPPUQuc2NhbihwKXx8Im5hbWUiLEQuc2NhbihjKSwiPSI9PT1PPyhFPUQuc2NhblVudGlsKGgpLEQuc2NhbihoKSxELnNjYW5VbnRpbChzKSk6InsiPT09Tz8oRT1ELnNjYW5VbnRpbChhKSxELnNjYW4oZCksRC5zY2FuVW50aWwocyksTz0iJiIpOkU9RC5zY2FuVW50aWwocyksIUQuc2NhbihzKSl0aHJvdyBuZXcgRXJyb3IoIlVuY2xvc2VkIHRhZyBhdCAiK0QucG9zKTtpZihrPVtPLEUseCxELnBvc10sZy5wdXNoKGspLCIjIj09PU98fCJeIj09PU8pbC5wdXNoKGspO2Vsc2UgaWYoIi8iPT09Tyl7aWYoIShTPWwucG9wKCkpKXRocm93IG5ldyBFcnJvcignVW5vcGVuZWQgc2VjdGlvbiAiJytFKyciIGF0ICcreCk7aWYoU1sxXSE9PUUpdGhyb3cgbmV3IEVycm9yKCdVbmNsb3NlZCBzZWN0aW9uICInK1NbMV0rJyIgYXQgJyt4KX1lbHNlIm5hbWUiPT09T3x8InsiPT09T3x8IiYiPT09Tz9iPSEwOiI9Ij09PU8mJncoRSl9aWYoUz1sLnBvcCgpKXRocm93IG5ldyBFcnJvcignVW5jbG9zZWQgc2VjdGlvbiAiJytTWzFdKyciIGF0ICcrRC5wb3MpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGUsbj1bXSxpPW4scj1bXSxvPTAscz10Lmxlbmd0aDtvPHM7KytvKXN3aXRjaCgoZT10W29dKVswXSl7Y2FzZSIjIjpjYXNlIl4iOmkucHVzaChlKSxyLnB1c2goZSksaT1lWzRdPVtdO2JyZWFrO2Nhc2UiLyI6ci5wb3AoKVs1XT1lWzJdLGk9ci5sZW5ndGg+MD9yW3IubGVuZ3RoLTFdWzRdOm47YnJlYWs7ZGVmYXVsdDppLnB1c2goZSl9cmV0dXJuIG59KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuLGk9W10scj0wLG89dC5sZW5ndGg7cjxvOysrcikoZT10W3JdKSYmKCJ0ZXh0Ij09PWVbMF0mJm4mJiJ0ZXh0Ij09PW5bMF0/KG5bMV0rPWVbMV0sblszXT1lWzNdKTooaS5wdXNoKGUpLG49ZSkpO3JldHVybiBpfShnKSl9KGUsaSkpLHN9LG0ucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpcy5wYXJzZSh0KSxyPWUgaW5zdGFuY2VvZiBnP2U6bmV3IGcoZSk7cmV0dXJuIHRoaXMucmVuZGVyVG9rZW5zKGkscixuLHQpfSxtLnByb3RvdHlwZS5yZW5kZXJUb2tlbnM9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByLG8scyxhPSIiLHU9MCxsPXQubGVuZ3RoO3U8bDsrK3Upcz12b2lkIDAsIiMiPT09KG89KHI9dFt1XSlbMF0pP3M9dGhpcy5yZW5kZXJTZWN0aW9uKHIsZSxuLGkpOiJeIj09PW8/cz10aGlzLnJlbmRlckludmVydGVkKHIsZSxuLGkpOiI+Ij09PW8/cz10aGlzLnJlbmRlclBhcnRpYWwocixlLG4saSk6IiYiPT09bz9zPXRoaXMudW5lc2NhcGVkVmFsdWUocixlKToibmFtZSI9PT1vP3M9dGhpcy5lc2NhcGVkVmFsdWUocixlKToidGV4dCI9PT1vJiYocz10aGlzLnJhd1ZhbHVlKHIpKSx2b2lkIDAhPT1zJiYoYSs9cyk7cmV0dXJuIGF9LG0ucHJvdG90eXBlLnJlbmRlclNlY3Rpb249ZnVuY3Rpb24odCxlLHIsbyl7dmFyIHM9dGhpcyxhPSIiLHU9ZS5sb29rdXAodFsxXSk7aWYodSl7aWYobih1KSlmb3IodmFyIGw9MCxjPXUubGVuZ3RoO2w8YzsrK2wpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godVtsXSkscixvKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgdXx8InN0cmluZyI9PXR5cGVvZiB1fHwibnVtYmVyIj09dHlwZW9mIHUpYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLnB1c2godSkscixvKTtlbHNlIGlmKGkodSkpewppZigic3RyaW5nIiE9dHlwZW9mIG8pdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgdXNlIGhpZ2hlci1vcmRlciBzZWN0aW9ucyB3aXRob3V0IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSIpO251bGwhPSh1PXUuY2FsbChlLnZpZXcsby5zbGljZSh0WzNdLHRbNV0pLChmdW5jdGlvbih0KXtyZXR1cm4gcy5yZW5kZXIodCxlLHIpfSkpKSYmKGErPXUpfWVsc2UgYSs9dGhpcy5yZW5kZXJUb2tlbnModFs0XSxlLHIsbyk7cmV0dXJuIGF9fSxtLnByb3RvdHlwZS5yZW5kZXJJbnZlcnRlZD1mdW5jdGlvbih0LGUsaSxyKXt2YXIgbz1lLmxvb2t1cCh0WzFdKTtpZighb3x8bihvKSYmMD09PW8ubGVuZ3RoKXJldHVybiB0aGlzLnJlbmRlclRva2Vucyh0WzRdLGUsaSxyKX0sbS5wcm90b3R5cGUucmVuZGVyUGFydGlhbD1mdW5jdGlvbih0LGUsbil7aWYobil7dmFyIHI9aShuKT9uKHRbMV0pOm5bdFsxXV07cmV0dXJuIG51bGwhPXI/dGhpcy5yZW5kZXJUb2tlbnModGhpcy5wYXJzZShyKSxlLG4scik6dm9pZCAwfX0sbS5wcm90b3R5cGUudW5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmxvb2t1cCh0WzFdKTtpZihudWxsIT1uKXJldHVybiBufSxtLnByb3RvdHlwZS5lc2NhcGVkVmFsdWU9ZnVuY3Rpb24oZSxuKXt2YXIgaT1uLmxvb2t1cChlWzFdKTtpZihudWxsIT1pKXJldHVybiB0LmVzY2FwZShpKX0sbS5wcm90b3R5cGUucmF3VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19LHQubmFtZT0ibXVzdGFjaGUuanMiLHQudmVyc2lvbj0iMi4yLjEiLHQudGFncz1bInt7IiwifX0iXTt2YXIgeT1uZXcgbTt0LmNsZWFyQ2FjaGU9ZnVuY3Rpb24oKXtyZXR1cm4geS5jbGVhckNhY2hlKCl9LHQucGFyc2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5wYXJzZSh0LGUpfSx0LnJlbmRlcj1mdW5jdGlvbih0LGUsaSl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgdGVtcGxhdGUhIFRlbXBsYXRlIHNob3VsZCBiZSBhICJzdHJpbmciIGJ1dCAiJysobihyPXQpPyJhcnJheSI6dHlwZW9mIHIpKyciIHdhcyBnaXZlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgZm9yIG11c3RhY2hlI3JlbmRlcih0ZW1wbGF0ZSwgdmlldywgcGFydGlhbHMpJyk7dmFyIHI7cmV0dXJuIHkucmVuZGVyKHQsZSxpKX0sdC50b19odG1sPWZ1bmN0aW9uKGUsbixyLG8pe3ZhciBzPXQucmVuZGVyKGUsbixyKTtpZighaShvKSlyZXR1cm4gcztvKHMpfSx0LmVzY2FwZT1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpLnJlcGxhY2UoL1smPD4iJ2A9XC9dL2csKGZ1bmN0aW9uKHQpe3JldHVybiBsW3RdfSkpfSx0LlNjYW5uZXI9dix0LkNvbnRleHQ9Zyx0LldyaXRlcj1tfSxlJiYic3RyaW5nIiE9dHlwZW9mIGUubm9kZU5hbWU/byhlKTooaT1bZV0sdm9pZCAwPT09KHI9ImZ1bmN0aW9uIj09dHlwZW9mKG49byk/bi5hcHBseShlLGkpOm4pfHwodC5leHBvcnRzPXIpKX0sMzIwNDAzKHQsZSl7InVzZSBzdHJpY3QiO3ZhciBuLGk9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8IXdpbmRvdy5kb2N1bWVudHx8IXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KTtmdW5jdGlvbiByKCl7aWYobilyZXR1cm4gbjtpZighaXx8IXdpbmRvdy5kb2N1bWVudC5ib2R5KXJldHVybiJpbmRldGVybWluYXRlIjt2YXIgdD13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFCQ0QiKSksdC5kaXI9InJ0bCIsdC5zdHlsZS5mb250U2l6ZT0iMTRweCIsdC5zdHlsZS53aWR0aD0iNHB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS50b3A9Ii0xMDAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KSxuPSJyZXZlcnNlIix0LnNjcm9sbExlZnQ+MD9uPSJkZWZhdWx0IjoodC5zY3JvbGxMZWZ0PTEsMD09PXQuc2Nyb2xsTGVmdCYmKG49Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksbn1lLmdldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5zY3JvbGxMZWZ0O2lmKCJydGwiIT09ZSlyZXR1cm4gbjt2YXIgaT1yKCk7aWYoImluZGV0ZXJtaW5hdGUiPT09aSlyZXR1cm4gTnVtYmVyLk5hTjtzd2l0Y2goaSl7Y2FzZSJuZWdhdGl2ZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aCtuO2Nhc2UicmV2ZXJzZSI6cmV0dXJuIHQuc2Nyb2xsV2lkdGgtdC5jbGllbnRXaWR0aC1ufXJldHVybiBufX0sODI5MTgwKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciBpPW4oNjAxODQxKTtjb25zdCByPS97KFx3Kyl9L2csbz0veyhcZCspfS9nO1N0cmluZy5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKC4uLnQpe2NvbnN0IGU9KDAsaS5pc09iamVjdCkodFswXSksbj1lP3I6byxzPWU/KGUsbik9Pntjb25zdCBpPXRbMF07cmV0dXJuIHZvaWQgMCE9PWlbbl0/aVtuXTplfTooZSxuKT0+e2NvbnN0IGk9cGFyc2VJbnQobiwxMCkscj10W2ldO3JldHVybiB2b2lkIDAhPT1yP3I6ZX07cmV0dXJuIHRoaXMucmVwbGFjZShuLHMpfX0sMzYzMjY5KHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse21vYmlsZXRvdWNoOigpPT5yLHNldENsYXNzZXM6KCk9PnMsdG91Y2g6KCk9Pm99KTt2YXIgaT1uKDczODQ1OCk7Y29uc3Qgcj1pLm1vYmlsZXRvdWNoLG89aS50b3VjaDtmdW5jdGlvbiBzKCl7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoaS50b3VjaD8iZmVhdHVyZS10b3VjaCI6ImZlYXR1cmUtbm8tdG91Y2giLGkubW9iaWxldG91Y2g/ImZlYXR1cmUtbW9iaWxldG91Y2giOiJmZWF0dXJlLW5vLW1vYmlsZXRvdWNoIil9fSwzMTg5NzQodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7Q2hlY2tNb2JpbGU6KCk9PmMsaXNEZXNrdG9wQXBwOigpPT51LGlzTGludXg6KCk9PmEsaXNNYWM6KCk9PnMsaXNTYWZhcmk6KCk9PmgsaXNTeW1waG9ueUVtYmVkOigpPT5sLG9uR29Qcm86KCk9PmQsCm9uV2lkZ2V0OigpPT5yLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+Zn0pO3ZhciBpPW4oNzM4NDU4KSxyPW4oMzc3MjI2KTtjb25zdCBvPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiB1KCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiBvLmlzU3ltcGhvbnl8fCExfWNvbnN0IGM9e0FuZHJvaWQ6KCk9PmkuaXNBbmRyb2lkLEJsYWNrQmVycnk6KCk9PmkuaXNCbGFja0JlcnJ5LGlPUzooKT0+aS5pc0lPUyxPcGVyYTooKT0+aS5pc09wZXJhTWluaSxpc0lQYWQ6KCk9PmkuaXNJUGFkLGFueTooKT0+aS5pc0FueU1vYmlsZX07ZnVuY3Rpb24gZigpe3JldHVybiBpLm1vYmlsZXRvdWNofHxpLnRvdWNofHxpLmlzQW55TW9iaWxlfW8uaXNNb2JpbGU9YyxvLm9uV2lkZ2V0PXIub25XaWRnZXQ7aS5pc0Nocm9tZSxpLmlzRkYsaS5pc0VkZ2U7Y29uc3QgaD1pLmlzU2FmYXJpO2Z1bmN0aW9uIGQoKXtyZXR1cm4iL3ByaWNpbmcvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX19LDMzNjMzNCh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMTI5MzY1KTtlLmNyZWF0ZVJvb3Q9aS5jcmVhdGVSb290LGkuaHlkcmF0ZVJvb3R9LDEyOTM2NSh0LGUsbil7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiB0KCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSh0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfX0oKSx0LmV4cG9ydHM9big1MzIzODcpfSw3Nzk0NzQodCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9bigxMjI3NDkpfSw5ODY3MDUodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1uKDQ4MjUwNCkscj1uKDM2MzI2OSkubW9iaWxldG91Y2g7IWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKGkscil7cj1yfHxpK247dmFyIG89dCgpLHM9aSsiLiIrcisiLXNwZWNpYWwtZXZlbnQiO2Z1bmN0aW9uIGEoZSl7dChvKS5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXQodGhpcyk7dGhpcz09PWUudGFyZ2V0fHxuLmhhcyhlLnRhcmdldCkubGVuZ3RofHxuLnRyaWdnZXJIYW5kbGVyKHIsW2UudGFyZ2V0XSl9KSl9dC5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe2RlbGV0ZShvPW8uYWRkKHRoaXMpKS5wcmV2T2JqZWN0LDE9PT1vLmxlbmd0aCYmdChlKS5iaW5kKHMsYSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7ZGVsZXRlKG89by5ub3QodGhpcykpLnByZXZPYmplY3QsMD09PW8ubGVuZ3RoJiZ0KGUpLnVuYmluZChzKX0sYWRkOmZ1bmN0aW9uKHQpe3ZhciBlPXQuaGFuZGxlcjt0LmhhbmRsZXI9ZnVuY3Rpb24odCxuKXt0LnRhcmdldD1uLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19fXQubWFwKCJjbGljayBkYmxjbGljayBtb3VzZW1vdmUgbW91c2Vkb3duIG1vdXNldXAgbW91c2VvdmVyIG1vdXNlb3V0IGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKHQpe2kodCl9KSksaSgiZm9jdXNpbiIsImZvY3VzIituKSxpKCJmb2N1c291dCIsImJsdXIiK24pLHImJihpKCJ0b3VjaHN0YXJ0IiwibW91c2Vkb3duIituKSxpKCJ0b3VjaG1vdmUiLCJtb3VzZW1vdmUiK24pLGkoInRvdWNoZW5kIiwibW91c2V1cCIrbikpLHQuYWRkT3V0c2lkZUV2ZW50PWl9KGksZG9jdW1lbnQsIm91dHNpZGUiKX0sOTM0MTkodCxlLG4peyJ1c2Ugc3RyaWN0IjtuKDQwNjA3Mil9LDM2NDgzOCh0LGUsbil7InVzZSBzdHJpY3QiO24oOTM0MTkpLG4oNjY2MzQ5KSxuKDI4OTEzMil9LDcxMTk3OSh0LGUsbil7InVzZSBzdHJpY3QiO3ZhciBpLHIsbyxzLGE9big0ODI1MDQpO3I9KGk9YSkod2luZG93KSxvPWkoZG9jdW1lbnQpLHM9ZnVuY3Rpb24odCl7dmFyIGU9YS5kYXRhKHQudGFyZ2V0KTtlLmxvY2FsU2Nyb2xsP3QudGFyZ2V0LnNjcm9sbFRvcD50LnRhcmdldC5zY3JvbGxIZWlnaHQtaSh0LnRhcmdldCkuaGVpZ2h0KCktKGUudG9sZXJhbmNlfHwxOTApJiZpKHRoaXMpLnRyaWdnZXIoInNjcm9sbHRvZW5kIik6ci5zY3JvbGxUb3AoKT5vLmhlaWdodCgpLXIuaW5uZXJIZWlnaHQoKS0oZS50b2xlcmFuY2V8fDE5MCkmJmkodGhpcykudHJpZ2dlcigic2Nyb2xsdG9lbmQiKX0saS5ldmVudC5zcGVjaWFsLnNjcm9sbHRvZW5kPXtzZXR1cDpmdW5jdGlvbih0LGUpe2kodGhpcykuYmluZCgic2Nyb2xsLnNjcm9sbHRvZW5kIixzKX0sdGVhcmRvd246ZnVuY3Rpb24odCl7aSh0aGlzKS51bmJpbmQoInNjcm9sbC5zY3JvbGx0b2VuZCIscyl9fSxhLmV2ZW50LnNwZWNpYWwuc2Nyb2xsdG89e2JpbmRUeXBlOiJzY3JvbGwiLGhhbmRsZTpmdW5jdGlvbih0KXt2YXIgZT10LmhhbmRsZU9iajt0LnNjcm9sbERhdGF8fCh0LnNjcm9sbERhdGE9e3Njcm9sbFRvcDpyLnNjcm9sbFRvcCgpfSk7dmFyIG49bnVsbDtpZigibnVtYmVyIj09dHlwZW9mIHQuZGF0YS50byluPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5kYXRhLnRvLSh0LmRhdGEudG9sZXJhbmNlfHwwKTtlbHNle2lmKCJib3R0b20iIT09dC5kYXRhLnRvKXRocm93IG5ldyBFcnJvcignU3BlY2lhbCBldmVudCBzY3JvbGx0bzogcHJvcGVydHkgInRvIiBoYXMgdW5leHBlY3RlZCB2YWx1ZScpO3Quc2Nyb2xsRGF0YS5ib3R0b21PZmZzZXR8fCh0LnNjcm9sbERhdGEuYm90dG9tT2Zmc2V0PW8uaGVpZ2h0KCktci5pbm5lckhlaWdodCgpKSxuPXQuc2Nyb2xsRGF0YS5zY3JvbGxUb3A+dC5zY3JvbGxEYXRhLmJvdHRvbU9mZnNldC0odC5kYXRhLnRvbGVyYW5jZXx8MCl9dmFyIGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyk7cmV0dXJuIG4/KGkucHVzaCghMCksCmUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp0LmRhdGEudHdvd2F5PyhpLnB1c2goITEpLGUuaGFuZGxlci5hcHBseSh0aGlzLGkpKTp2b2lkIDB9fX0sODcyODgxKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUse2RlZmF1bHQ6KCk9Pk19KTt2YXIgaT1uKDg4NjUxNCkscj1uKDI2OTM2Nik7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aTspaWYoZSh0W25dLG4sdCkpcmV0dXJuITA7cmV0dXJuITF9O3ZhciBzPW4oNzEyODAxKTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxuLGksYSx1KXt2YXIgbD0xJm4sYz10Lmxlbmd0aCxmPWUubGVuZ3RoO2lmKGMhPWYmJiEobCYmZj5jKSlyZXR1cm4hMTt2YXIgaD11LmdldCh0KSxkPXUuZ2V0KGUpO2lmKGgmJmQpcmV0dXJuIGg9PWUmJmQ9PXQ7dmFyIHA9LTEsdj0hMCxnPTImbj9uZXcgci5kZWZhdWx0OnZvaWQgMDtmb3IodS5zZXQodCxlKSx1LnNldChlLHQpOysrcDxjOyl7dmFyIG09dFtwXSx5PWVbcF07aWYoaSl2YXIgYj1sP2koeSxtLHAsZSx0LHUpOmkobSx5LHAsdCxlLHUpO2lmKHZvaWQgMCE9PWIpe2lmKGIpY29udGludWU7dj0hMTticmVha31pZihnKXtpZighbyhlLChmdW5jdGlvbih0LGUpe2lmKCEoMCxzLmRlZmF1bHQpKGcsZSkmJihtPT09dHx8YShtLHQsbixpLHUpKSlyZXR1cm4gZy5wdXNoKGUpfSkpKXt2PSExO2JyZWFrfX1lbHNlIGlmKG0hPT15JiYhYShtLHksbixpLHUpKXt2PSExO2JyZWFrfX1yZXR1cm4gdS5kZWxldGUodCksdS5kZWxldGUoZSksdn07dmFyIHU9big4NzI5OTkpLGw9big4NjUzMzApLGM9big5MTA3NzgpO2NvbnN0IGY9ZnVuY3Rpb24odCl7dmFyIGU9LTEsbj1BcnJheSh0LnNpemUpO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7blsrK2VdPVtpLHRdfSkpLG59O3ZhciBoPW4oOTcyMDE3KSxkPXUuZGVmYXVsdD91LmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxwPWQ/ZC52YWx1ZU9mOnZvaWQgMDtjb25zdCB2PWZ1bmN0aW9uKHQsZSxuLGkscixvLHMpe3N3aXRjaChuKXtjYXNlIltvYmplY3QgRGF0YVZpZXddIjppZih0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8dC5ieXRlT2Zmc2V0IT1lLmJ5dGVPZmZzZXQpcmV0dXJuITE7dD10LmJ1ZmZlcixlPWUuYnVmZmVyO2Nhc2UiW29iamVjdCBBcnJheUJ1ZmZlcl0iOnJldHVybiEodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fCFvKG5ldyBsLmRlZmF1bHQodCksbmV3IGwuZGVmYXVsdChlKSkpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpjYXNlIltvYmplY3QgTnVtYmVyXSI6cmV0dXJuKDAsYy5kZWZhdWx0KSgrdCwrZSk7Y2FzZSJbb2JqZWN0IEVycm9yXSI6cmV0dXJuIHQubmFtZT09ZS5uYW1lJiZ0Lm1lc3NhZ2U9PWUubWVzc2FnZTtjYXNlIltvYmplY3QgUmVnRXhwXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiB0PT1lKyIiO2Nhc2UiW29iamVjdCBNYXBdIjp2YXIgdT1mO2Nhc2UiW29iamVjdCBTZXRdIjp2YXIgZD0xJmk7aWYodXx8KHU9aC5kZWZhdWx0KSx0LnNpemUhPWUuc2l6ZSYmIWQpcmV0dXJuITE7dmFyIHY9cy5nZXQodCk7aWYodilyZXR1cm4gdj09ZTtpfD0yLHMuc2V0KHQsZSk7dmFyIGc9YSh1KHQpLHUoZSksaSxyLG8scyk7cmV0dXJuIHMuZGVsZXRlKHQpLGc7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKHApcmV0dXJuIHAuY2FsbCh0KT09cC5jYWxsKGUpfXJldHVybiExfTt2YXIgZz1uKDgwNjI0MCksbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IHk9ZnVuY3Rpb24odCxlLG4saSxyLG8pe3ZhciBzPTEmbixhPSgwLGcuZGVmYXVsdCkodCksdT1hLmxlbmd0aDtpZih1IT0oMCxnLmRlZmF1bHQpKGUpLmxlbmd0aCYmIXMpcmV0dXJuITE7Zm9yKHZhciBsPXU7bC0tOyl7dmFyIGM9YVtsXTtpZighKHM/YyBpbiBlOm0uY2FsbChlLGMpKSlyZXR1cm4hMX12YXIgZj1vLmdldCh0KSxoPW8uZ2V0KGUpO2lmKGYmJmgpcmV0dXJuIGY9PWUmJmg9PXQ7dmFyIGQ9ITA7by5zZXQodCxlKSxvLnNldChlLHQpO2Zvcih2YXIgcD1zOysrbDx1Oyl7dmFyIHY9dFtjPWFbbF1dLHk9ZVtjXTtpZihpKXZhciBiPXM/aSh5LHYsYyxlLHQsbyk6aSh2LHksYyx0LGUsbyk7aWYoISh2b2lkIDA9PT1iP3Y9PT15fHxyKHYseSxuLGksbyk6Yikpe2Q9ITE7YnJlYWt9cHx8KHA9ImNvbnN0cnVjdG9yIj09Yyl9aWYoZCYmIXApe3ZhciBfPXQuY29uc3RydWN0b3Isdz1lLmNvbnN0cnVjdG9yO189PXd8fCEoImNvbnN0cnVjdG9yImluIHQpfHwhKCJjb25zdHJ1Y3RvciJpbiBlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIF8mJl8gaW5zdGFuY2VvZiBfJiYiZnVuY3Rpb24iPT10eXBlb2YgdyYmdyBpbnN0YW5jZW9mIHd8fChkPSExKX1yZXR1cm4gby5kZWxldGUodCksby5kZWxldGUoZSksZH07dmFyIGI9big5Njk3ODUpLF89bigyOTU2MzUpLHc9big2NTkwMTgpLHg9bigxNjUyNjcpLE89IltvYmplY3QgQXJndW1lbnRzXSIsRT0iW29iamVjdCBBcnJheV0iLEM9IltvYmplY3QgT2JqZWN0XSIsaz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IFM9ZnVuY3Rpb24odCxlLG4scixvLHMpe3ZhciB1PSgwLF8uZGVmYXVsdCkodCksbD0oMCxfLmRlZmF1bHQpKGUpLGM9dT9FOigwLGIuZGVmYXVsdCkodCksZj1sP0U6KDAsYi5kZWZhdWx0KShlKSxoPShjPWM9PU8/QzpjKT09QyxkPShmPWY9PU8/QzpmKT09QyxwPWM9PWY7aWYocCYmKDAsdy5kZWZhdWx0KSh0KSl7aWYoISgwLHcuZGVmYXVsdCkoZSkpcmV0dXJuITE7dT0hMCxoPSExfWlmKHAmJiFoKXJldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSx1fHwoMCx4LmRlZmF1bHQpKHQpP2EodCxlLG4scixvLHMpOnYodCxlLGMsbixyLG8scyk7aWYoISgxJm4pKXt2YXIgZz1oJiZrLmNhbGwodCwiX193cmFwcGVkX18iKSxtPWQmJmsuY2FsbChlLCJfX3dyYXBwZWRfXyIpO2lmKGd8fG0pe3ZhciBTPWc/dC52YWx1ZSgpOnQsRD1tP2UudmFsdWUoKTplO3JldHVybiBzfHwocz1uZXcgaS5kZWZhdWx0KSxvKFMsRCxuLHIscyl9fXJldHVybiEhcCYmKHN8fChzPW5ldyBpLmRlZmF1bHQpLAp5KHQsZSxuLHIsbyxzKSl9O3ZhciBEPW4oMzYwNjIwKTtjb25zdCBNPWZ1bmN0aW9uIHQoZSxuLGkscixvKXtyZXR1cm4gZT09PW58fChudWxsPT1lfHxudWxsPT1ufHwhKDAsRC5kZWZhdWx0KShlKSYmISgwLEQuZGVmYXVsdCkobik/ZSE9ZSYmbiE9bjpTKGUsbixpLHIsdCxvKSl9fSwxNjc1MDIodCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oODcyODgxKTtjb25zdCByPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKDAsaS5kZWZhdWx0KSh0LGUpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.461Z","timestamp":1785136428461,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7dc66d53a3167ad581811018406df13e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/en/tyni-platform?r=nullplatform","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.283Z","timestamp":1785136427283,"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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /en/tyni-platform?r=nullplatform HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 07:13:47 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: no-cache, private\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=oo%2B1NNWH0gIPTcH5bMLzmHv3G7y9ItdJAQnhqvMfiFU5tBwOZUbkYhNzkNYzi4DXJ0Q9HOubDi%2FuOHMw6BCU5if9L8pNMFoPaWuQkiqBacqeAsoLD9NLZUiAYnWTi0%2FMQQ%3D%3D\"}]}\r\nserver: cloudflare\r\nset-cookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt; expires=Mon, 27-Jul-2026 09:13:47 GMT; Max-Age=7200; path=/; httponly\r\ncf-cache-status: DYNAMIC\r\nvary: accept-encoding\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a219d7eea919723c-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Chart.js","description":"Chart.js is an open-source JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element.","website":"https://www.chartjs.org","common_platform_enumeration":"","icon":"Chart.js.svg","categories":["JavaScript graphics"]},{"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"]},{"name":"Laravel","description":"Laravel is a free, open-source PHP web framework.","website":"https://laravel.com","common_platform_enumeration":"cpe:2.3:a:laravel:laravel:*:*:*:*:*:*:*:*","icon":"Laravel.svg","categories":["Web frameworks"]},{"name":"PHP","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:1.11.3","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":"Moment.js","description":"Moment.js is a free and open-source JavaScript library that removes the need to use the native JavaScript Date object directly.","website":"https://momentjs.com","common_platform_enumeration":"cpe:2.3:a:momentjs:moment:*:*:*:*:*:*:*:*","icon":"Moment.js.svg","categories":["JavaScript libraries"]}],"data":{"size":8185,"size_decoded":2587,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"fdf6b53f36e127f6f94d31ced8eee66b","sha1":"066f6c93123d49dd5eeb6b69d74c11eb7aeee5c2","sha256":"43eec9d4f1b81b9948f5d226c0a781fb72c6a27300685af2a2a923a9e0f81b01","sha512":"d7542f6ce4c846191c62e944d1dbbb88b710a5c676eab9685e7a22015d98eaebe0033b83c8d2018bb473d25d4abe2f70d11c4d6e1389daca57cb537bc31499f2","ssdeep":"96:+T2BMzL5syc0NpNn443rbRlRh4Lh6ieoP63Px8Uqpt1FDiDDUD+T:+TaMX5syff3oFcWmPxGFDyDUD+T","tlshash":"5df1c921d5f2643b26a281d1aab25b0bafe09607ea5f015973fc47e44f9fc81cc17958","first_seen":"2024-10-24T08:49:22.7871Z","last_seen":"2026-08-10T18:26:39.51427Z","times_seen":90,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDwhLS0gU3RhbmRhcmQgTWV0YSAtLT4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UsY2hyb21lPTEiLz4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICAgIDwhLS0gU2l0ZSBQcm9wZXJpdGllcyAtLT4KICAgIDx0aXRsZT5CTTwvdGl0bGU+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9jc3MvcGxhdC5jc3M/dj0wMSI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9jc3MvcmVzcG9uc2l2ZS5jc3MiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIj4KCQo8L2hlYWQ+Cjxib2R5Pgo8c3R5bGU+Cgo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJibG9jay1jaGFydHMiIGlkPSJjaGFydC1ob2xkZXIiPgogICAgPCEtLTxkaXYgY2xhc3M9ImJsb2NrLWNoYXJ0cyAiPi0tPgogICAgPGRpdiBjbGFzcz0ib25lLWNoYXJ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtaW5pLWNoYXJ0LXdyYXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC13aW4iPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iZGZwLWhlYWQiPkNvbmdyYXR1bGF0aW9ucyEgWW91IHByZWRpY3RlZCB0aGUgbWFya2V0IGFuZCBlYXJuZWQgJDE5ITwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGZwLWZvb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibGlua19vdXQiIHRhcmdldD0iX3BhcmVudCIgaHJlZj0iL3JlZ2lzdGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQtZm9vdCI+PGkgY2xhc3M9ImZhIGZhLWFycm93LWxlZnQiPjwvaT48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0LWZvb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wZW4gYW4gYWNjb3VudDwvc3Bhbj4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHN0YXJ0IHRyYWRpbmcgbm93IQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InJlc3RhcnQiIGlkPSJyZXN0YXJ0Ij48aSBjbGFzcz0iZmEgZmEtcmVmcmVzaCI+PC9pPjxzcGFuPk5ldyBmb3JlY2FzdDwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlYWwtZmluaXNoLXBvcHVwLWxvc2UiPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iZGZwLWhlYWQiPkluY29ycmVjdCBmb3JlY2FzdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbmktY2hhcnQtbGVnZW5kIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlIGxnLW9nbyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQgbWMtbG9nby1lbXB0eSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQgbWMtdGFibGUtdGRfcHJpY2UiIGRhdGEtc3R5bGU9IndpZHRoOiAzMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5QcmljZTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy10YWJsZS10ZC12YWx1ZSB0ZXh0LWdyZWVuIj4kMTA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYy10YWJsZS10ZCBtYy10YWJsZS10ZF9wcm9maXQiIGRhdGEtc3R5bGU9IndpZHRoOiA0MCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5Qcm9maXQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtdmFsdWUiPiQxOTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlLXRkIG1jLXRhYmxlLXRkX3JldmVudWUiIGRhdGEtc3R5bGU9IndpZHRoOiAzMCU7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWMtdGFibGUtdGQtbGVnZW5kIj5SZXZlbnVlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLXRhYmxlLXRkLXZhbHVlIHRleHQtZ3JlZW4iPjkwJTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5pLWNoYXJ0LWJ0bi1jb250Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1jLWxvZ28gbWMtbG9nb19ldXJ1c2QiPgogICAgICAgICAgICAgICAgICAgIDxmb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJyYWRpbyIgY2xhc3M9InVpLWJ1dHRvbnNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzEiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzEiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktc3RhdGUtYWN0aXZlIHVpLWJ1dHRvbiB1aS13aWRnZXQgdWktc3RhdGUtZGVmYXVsdCB1aS1idXR0b24tdGV4dC1vbmx5IHVpLWNvcm5lci1sZWZ0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iIGlkPSJBcHBsZSI+PHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uLXRleHQiPkFwcGxlPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzIiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzIiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWJ1dHRvbi10ZXh0LW9ubHkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIgaWQ9IkdBWlBST00iPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InVpLWJ1dHRvbi10ZXh0Ij5HQVpQUk9NPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpbzMiIG5hbWU9InJhZGlvIiB2YWx1ZT0iMiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIj48bGFiZWwgZm9yPSJyYWRpbzMiIHN0eWxlPSJ3aWR0aDogMTgwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWJ1dHRvbi10ZXh0LW9ubHkgdWktY29ybmVyLXJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJidXR0b24iIGlkPSJFVVJVU0QiPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InVpLWJ1dHRvbi10ZXh0Ij5FVVIvVVNEPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibWMtYnRuIG1jLWJ0bl9jYWxsIiBpZD0iYnRuX2NhbGwiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9InN2Zy1pY28tY2FsbCIgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9pbWFnZXMvYXJyb3ctY2FsbC5zdmciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPldpbGwgZ288Yj51cDwvYj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1jLWJ0biBtYy1idG5fcHV0IiBpZD0iYnRuX3B1dCI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ic3ZnLWljby1wdXQiIHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvaW1hZ2VzL2Fycm93LXB1dC5zdmciPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPldpbGwgZ288Yj5kb3duPC9iPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2FpdC1kZWFsLWVuZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2RlLWxlZ2VuZCI+V2FpdCBmb3IgdHJhZGUgY2xvc2U6PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2RlLXRpbWVyLWNvbnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC10aW1lciI+PGk+PGltZyBjbGFzcz0ic3ZnLWljby1jYWxsIiBzcmM9Ii9hc3NldHMvbGFuZGluZy9wbGF0Zm9ybS10aW55L2ltYWdlcy9jbG9jay1zcGlubmVyLnN2ZyI+PC9pPjxzcGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNoYXJ0LXRpbWUtc2VsZiI+MDA6MDg8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pbmktY2hhcnQtY29udCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC1wYWRkaW5nIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjaGFydDEiIGNsYXNzPSJjaGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08aW1nIHdpZHRoPSI0OTAiIGhlaWdodD0iMjU0Ii0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tc3R5bGU9ImhlaWdodDogMjU0cHg7IHdpZHRoOiA0OTBweDt2ZXJ0aWNhbC1hbGlnbjogdG9wO21hcmdpbi1ib3R0b206IC0xMHB4OyItLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLXNyYz0iaW1hZ2VzL3BsYXQtdGVtcGxhdGUucG5nIj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiB3aWR0aD0iNDkwIiBoZWlnaHQ9IjI1NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAyNTRweDsgd2lkdGg6IDQ5MHB4O3ZlcnRpY2FsLWFsaWduOiB0b3A7bWFyZ2luLWJvdHRvbTogLTEwcHg7IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJjaGFydC1tIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTxjYW52YXMgd2lkdGg9IjUyNCIgaGVpZ2h0PSIyMjAiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IGhlaWdodDogMjIwcHg7IHdpZHRoOiA1MjRweDsiPjwvY2FudmFzPi0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydC10aW1lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIAk8aT4KICAgICAgICAgICAgICAgICAgICAgICAgCQk8aW1nIGNsYXNzPSJzdmctaWNvLWNhbGwiIHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvaW1hZ2VzL2Nsb2NrLXNwaW5uZXIuc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgCTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08c3BhbiAgICBjbGFzcz0iY2hhcnQtdGltZS1zZWxmIj4wMDowODwvc3Bhbj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlYWwtZmluaXNoLXBvcHVwIG1pbmktY2hhcnQtd3JhcCBkZWFsLWZpbmlzaGVkIGRlYWwtZmluaXNoZWRfd2luIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC13aW4iPgogICAgICAgICAgICA8aDIgY2xhc3M9ImRmcC1oZWFkIj4KICAgICAgICAgICAgICAgIFlvdXIgdHJhZGluZyByZXN1bHQ6IDxzcGFuIGlkPSJ3aW5fYW10Ij48L3NwYW4+PGJyLz5UcnkgYWdhaW4hPC9oMj4KICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZnAtZm9vdCI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibGlua19vdXQiIHRhcmdldD0iX3BhcmVudCIgaHJlZj0iL3JlZ2lzdGVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWZvb3QiPjxpIGNsYXNzPSJmYSBmYS1hcnJvdy1sZWZ0Ij48L2k+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmlnaHQtZm9vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wZW4gYW4gYWNjb3VudDwvc3Bhbj4sCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBzdGFydCB0cmFkaW5nIG5vdyEKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJyZXN0YXJ0IiBpZD0icmVzdGFydC1jaGFydCI+PGkgY2xhc3M9ImZhIGZhLXJlZnJlc2giPjwvaT48c3Bhbj5OZXcgZm9yZWNhc3Q8L3NwYW4+PC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZWFsLWZpbmlzaC1wb3B1cC1sb3NlIj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJkZnAtaGVhZCI+SW5jb3JyZWN0IGZvcmVjYXN0PC9oMj4KICAgICAgICAgICAgPHAgY2xhc3M9ImRmcC1ib2R5Ij4KCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9qcy9qcXVlcnktMS4xMS4zLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvYXNzZXRzL2xhbmRpbmcvcGxhdGZvcm0tdGlueS9qcy9tb21lbnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvanMvY2hhcnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL2Fzc2V0cy9sYW5kaW5nL3BsYXRmb3JtLXRpbnkvanMvbWFpbi5qcyI+PC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4KCiAgICAgICAgICAgICAgICAgICAgICAgIA=="}},"time_used":180,"timings":{"blocked":-1,"dns":8,"connect":1,"send":0,"wait":159,"receive":0,"ssl":11},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37746.345227bb16e0d8bc9bd5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.178Z","timestamp":1785136429178,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37746.345227bb16e0d8bc9bd5.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-4a3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7cba9de14bf59b04676238c0eaf09b49\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1187,"size_decoded":1308,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1187), with no line terminators","md5":"7c2aff82ece78ae66e4fd48a3d376d48","sha1":"a0455b0a01ddb45dbeb672c1c2b4acd05473f387","sha256":"b7b76e631e49ee552d2d39a236f96bdfaf0b9feeb6bfc0f463b53af9b083016a","sha512":"eb59cb697bda650cf008b5547eb750fad0e6fb3532027021fcdf3c855b246b1f377f29bdde84c93f8e6514afcba0b90d725b44f933da0dca4ece00bb5204704f","ssdeep":"","tlshash":"59219099c45b006d493f13259bdd264d453d980262277eef39d1b0ce0a86adf23ff229","first_seen":"2026-04-09T17:47:32.401827Z","last_seen":"2026-08-11T04:43:23.145753Z","times_seen":781,"resource_available":false,"data":"LmRpYWxvZy1xeUN3MFBhTnttYXgtd2lkdGg6MzgwcHg7bWluLXdpZHRoOjI4MHB4O3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmRpYWxvZy1xeUN3MFBhTiBbZGF0YS1kcmFnZy1hcmVhPXRydWVde2N1cnNvcjpncmFifS5kaWFsb2ctcXlDdzBQYU4gW2RhdGEtZHJhZ2ctYXJlYT10cnVlXS5kcmFnZ2luZy1xeUN3MFBhTntjdXJzb3I6Z3JhYmJpbmd9aHRtbC50aGVtZS1kYXJrIC5kaWFsb2ctcXlDdzBQYU4ubW9iaWxlLXF5Q3cwUGFOe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmxhY2spfWh0bWwudGhlbWUtZGFyayAuZGlhbG9nLXF5Q3cwUGFOLm1vYmlsZS1xeUN3MFBhTjpub3QoLmZ1bGxzY3JlZW4tcXlDdzBQYU4pe2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApLDAgMCAycHggMCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOe2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLW5hbWU6ZGlhbG9nQW5pbWF0aW9uLXF5Q3cwUGFOO3RyYW5zZm9ybS1vcmlnaW46MCAwfS5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9QGtleWZyYW1lcyBkaWFsb2dBbmltYXRpb24tcXlDdzBQYU57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkpKSBzY2FsZSgwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZKSkgc2NhbGUoMSl9fS5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtsaW5lLWhlaWdodDoyMXB4O21heC13aWR0aDo1NDBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTIwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6bWF4LWNvbnRlbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe21heC13aWR0aDoyNDBweH19LmRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.565Z","timestamp":1785136429565,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39609.8ce0d793b2b60be7a4d5.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3f84\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 54542fc0dfd89aa90dae8464abcaf35e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16260,"size_decoded":6269,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"1af372c8d2679eb4b4723ab88e601eef","sha1":"bdd83e7842c5a9012e55084e71cd31fdcd5f72d6","sha256":"7cd30257c9448f2910216296d47b421cb724c4657dd6b6da06196e9b6323451c","sha512":"2cbc64c079104c42314e0475923e68a449456822936c0c290ef608f65e01b8e76a18727eadf52df0f2fc73b20c0b817c4287d1b42ac30ce2cf06eaf5cb25079d","ssdeep":"384:533u26UHCVnsa67bSIVIZjgeWDGu2JL2qlSUOTeEX:peEwnsa67uIVEjHWDGj2QSUAeG","tlshash":"c572c6a5b1a9203a11e78667d1791743f231694db003479cb17e3cee1eae8893369f7c","first_seen":"2026-07-22T17:32:48.037533Z","last_seen":"2026-07-28T06:17:53.598563Z","times_seen":66,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTc1ODYzKHQpe3QuZXhwb3J0cz17InRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDc2OHB4KSIsInRvb2x0aXAtb2Zmc2V0IjoiMjBweCIsZGlhbG9nOiJkaWFsb2ctcXlDdzBQYU4iLGRyYWdnaW5nOiJkcmFnZ2luZy1xeUN3MFBhTiIsbW9iaWxlOiJtb2JpbGUtcXlDdzBQYU4iLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tcXlDdzBQYU4iLGRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZToiZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRpb246ImRpYWxvZ0FuaW1hdGlvbi1xeUN3MFBhTiIsZGlhbG9nVG9vbHRpcDoiZGlhbG9nVG9vbHRpcC1xeUN3MFBhTiJ9fSw5MjM1MTModCl7dC5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci16TFZtNkI0dCIsY29udGVudDoiY29udGVudC16TFZtNkI0dCIsYXJyb3dIb2xkZXI6ImFycm93SG9sZGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlbG93IjoiYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlIjoiYXJyb3dIb2xkZXItLWFib3ZlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWJlZm9yZSI6ImFycm93SG9sZGVyLS1iZWZvcmUtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXIiOiJhcnJvd0hvbGRlci0tYWZ0ZXItekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWJvdmUtZml4IjoiYXJyb3dIb2xkZXItLWFib3ZlLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCI6ImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeC16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4IjoiYXJyb3dIb2xkZXItLWFmdGVyLWx0ci1maXgtekxWbTZCNHQiLGxhYmVsOiJsYWJlbC16TFZtNkI0dCIsY2xvc2VCdXR0b246ImNsb3NlQnV0dG9uLXpMVm02QjR0In19LDQ5MDg5Myh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cENvbnRleHQ6KCk9Pm99KTtjb25zdCBvPWkoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw5OTEwNjYodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RGlhbG9nOigpPT5kfSk7dmFyIG89aSg3Nzk0NzQpLHM9aSg5MTQ0ODcpLG49aS5uKHMpLGE9aSg2MDc4MzIpLHI9aSg5MDM0MiksbD1pKDM0NTExNiksaD1pKDQ0ODQxMSksYz1pLm4oaCk7Y2xhc3MgZCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fbWFuYWdlcj1uZXcgci5PdmVybGFwTWFuYWdlcix0aGlzLl9oYW5kbGVTbG90PXQ9Pnt0aGlzLl9tYW5hZ2VyLnNldENvbnRhaW5lcih0KX19cmVuZGVyKCl7Y29uc3R7cm91bmRlZDp0PSEwLHNoYWRvd2VkOmU9ITAsZnVsbHNjcmVlbjppPSExLGRhcmtlcjpzPSExLGNsYXNzTmFtZTpyLGJhY2tkcm9wOmgsY29udGFpbmVyVGFiSW5kZXg6ZD0tMX09dGhpcy5wcm9wcyx1PW4oKShyLGMoKS5kaWFsb2csdCYmYygpLnJvdW5kZWQsZSYmYygpLnNoYWRvd2VkLGkmJmMoKS5mdWxsc2NyZWVuLHMmJmMoKS5kYXJrZXIpLHA9KDAsbC5maWx0ZXJEYXRhUHJvcHMpKHRoaXMucHJvcHMpLGc9dGhpcy5wcm9wcy5zdHlsZT97Li4udGhpcy5fY3JlYXRlU3R5bGVzKCksLi4udGhpcy5wcm9wcy5zdHlsZX06dGhpcy5fY3JlYXRlU3R5bGVzKCk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGEuU2xvdENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuX21hbmFnZXJ9LGgmJm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7b25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2tCYWNrZHJvcCxjbGFzc05hbWU6YygpLmJhY2tkcm9wfSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5wLGNsYXNzTmFtZTp1LHN0eWxlOmcscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlLG9uRm9jdXM6dGhpcy5wcm9wcy5vbkZvY3VzLG9uTW91c2VEb3duOnRoaXMucHJvcHMub25Nb3VzZURvd24sb25Nb3VzZVVwOnRoaXMucHJvcHMub25Nb3VzZVVwLG9uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrLG9uS2V5RG93bjp0aGlzLnByb3BzLm9uS2V5RG93bix0YWJJbmRleDpkLCJhcmlhLWxhYmVsIjp0aGlzLnByb3BzLmNvbnRhaW5lckFyaWFMYWJlbH0sdGhpcy5wcm9wcy5jaGlsZHJlbikpLG8uY3JlYXRlRWxlbWVudChhLlNsb3Qse3JlZmVyZW5jZTp0aGlzLl9oYW5kbGVTbG90fSkpfV9jcmVhdGVTdHlsZXMoKXtjb25zdHtib3R0b206dCxsZWZ0OmUsd2lkdGg6aSxyaWdodDpvLHRvcDpzLHpJbmRleDpuLGhlaWdodDphfT10aGlzLnByb3BzO3JldHVybntib3R0b206dCxsZWZ0OmUscmlnaHQ6byx0b3A6cyx6SW5kZXg6bixtYXhXaWR0aDppLGhlaWdodDphfX19fSw5OTU2ODIodCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSx7RHJhZ0hhbmRsZXI6KCk9PnN9KTt2YXIgbz1pKDUzMTkyOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUsaT17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKQo7dGhpcy5fZHJhZ1N0YXJ0KGUpfSx0aGlzLl9vblRvdWNoRHJhZ1N0YXJ0PXQ9PntpZih0aGlzLl9pc1RhcmdldE5vRHJhZ2dhYmxlKHQpKXJldHVybjt0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITAsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSx7cGFzc2l2ZTohMX0pO2NvbnN0IGU9KDAsby5jbGFtcFBvc2l0aW9uKSgoMCxvLnBvc2l0aW9uRnJvbVRvdWNoRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uTW91c2VEcmFnRW5kPXQ9Pnt0LnRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJnRoaXMuX2hlYWRlci5jb250YWlucyh0LnRhcmdldCkmJnQucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpLHRoaXMuX29uRHJhZ1N0b3AoKX0sdGhpcy5fb25Ub3VjaERyYWdFbmQ9dD0+e3RoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hEcmFnTW92ZSksdGhpcy5fb25EcmFnU3RvcCgpLHRoaXMuX2NhbkJlVG91Y2hDbGljayYmKHRoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSwoMCxvLnNpbXVsYXRlQ2xpY2spKHQudGFyZ2V0KSl9LHRoaXMuX29uTW91c2VEcmFnTW92ZT10PT57Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tTW91c2VFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vblRvdWNoRHJhZ01vdmU9dD0+e3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMSx0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT0oMCxvLmNsYW1wUG9zaXRpb24pKCgwLG8ucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdNb3ZlKGUpfSx0aGlzLl9vbkRyYWdTdG9wPSgpPT57dGhpcy5fZHJhZz1udWxsLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnRW5kJiZ0aGlzLl9vcHRpb25zLm9uRHJhZ0VuZCgpfSx0aGlzLl9kaWFsb2c9dCx0aGlzLl9oZWFkZXI9ZSx0aGlzLl9vcHRpb25zPWksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpfWRlc3Ryb3koKXtudWxsIT09dGhpcy5fZnJhbWUmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hEcmFnU3RhcnQpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaERyYWdFbmQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uTW91c2VEcmFnRW5kKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX29wdGlvbnM9dH1fZHJhZ1N0YXJ0KHQpe2NvbnN0IGU9dGhpcy5fZGlhbG9nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2RyYWc9e3N0YXJ0WDp0Lngsc3RhcnRZOnQueSxmaW5pc2hYOnQueCxmaW5pc2hZOnQueSxkaWFsb2dYOmUubGVmdCxkaWFsb2dZOmUudG9wfTtjb25zdCBpPU1hdGgucm91bmQoZS5sZWZ0KSxvPU1hdGgucm91bmQoZS50b3ApO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke2l9cHgsICR7b31weClgLHRoaXMuX2hlYWRlci5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQmJnRoaXMuX29wdGlvbnMub25EcmFnU3RhcnQoKX1fZHJhZ01vdmUodCl7aWYodGhpcy5fZHJhZyl7aWYodGhpcy5fZHJhZy5maW5pc2hYPXQueCx0aGlzLl9kcmFnLmZpbmlzaFk9dC55LG51bGwhPT10aGlzLl9mcmFtZSlyZXR1cm47dGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2lmKHRoaXMuX2RyYWcpe2NvbnN0IGU9dC54LXRoaXMuX2RyYWcuc3RhcnRYLGk9dC55LXRoaXMuX2RyYWcuc3RhcnRZO3RoaXMuX21vdmVEaWFsb2codGhpcy5fZHJhZy5kaWFsb2dYK2UsdGhpcy5fZHJhZy5kaWFsb2dZK2kpfXRoaXMuX2ZyYW1lPW51bGx9KSl9fV9tb3ZlRGlhbG9nKHQsZSl7Y29uc3QgaT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46c309dGhpcy5fb3B0aW9ucyxuPSgwLG8uY2xhbXBTZWdtZW50KSh0LGkud2lkdGgscz8wOi0xLzAscz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsby5jbGFtcFNlZ21lbnQpKGUsaS5oZWlnaHQscz8wOi0xLzAscz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtQb3B1cERpYWxvZzooKT0+Rn0pO3ZhciBvPWkoNzc5NDc0KSxzPWkoOTE0NDg3KSxuPWkubihzKSxhPWkoMTM4NjM4KSxyPWkoOTkxMDY2KSxsPWkoNzE4NTUzKSxoPWkoOTMwMjMxKSxjPWkoNjU5ODc4KSxkPWkoOTk1NjgyKSx1PWkoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBne2NvbnN0cnVjdG9yKHQsZSl7CnRoaXMuX2ZyYW1lPW51bGwsdGhpcy5faXNGdWxsc2NyZWVuPSExLHRoaXMuX2hhbmRsZVJlc2l6ZT0oKT0+e251bGw9PT10aGlzLl9mcmFtZSYmKHRoaXMuX2ZyYW1lPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCksdGhpcy5fZnJhbWU9bnVsbH0pKSl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2d1YXJkPWUuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249ZS5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbix0aGlzLl9pbml0aWFsSGVpZ2h0PXQuc3R5bGUuaGVpZ2h0LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2hhbmRsZVJlc2l6ZSl9dXBkYXRlT3B0aW9ucyh0KXt0aGlzLl9ndWFyZD10Lmd1YXJkfHxwLHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPXQuY2FsY3VsYXRlRGlhbG9nUG9zaXRpb259c2V0RnVsbHNjcmVlbih0KXt0aGlzLl9pc0Z1bGxzY3JlZW4hPT10JiYodGhpcy5faXNGdWxsc2NyZWVuPXQsdGhpcy5yZWNhbGN1bGF0ZUJvdW5kcygpKX1jZW50ZXJBbmRGaXQoKXtjb25zdHt4OnQseTplfT10aGlzLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKSxpPXRoaXMuX2NhbGNBdmFpbGFibGVIZWlnaHQoKSxvPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKTtpZihpPT09bylpZih0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbil7Y29uc3R7bGVmdDp0LHRvcDplfT10aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbih0aGlzLl9kaWFsb2csZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX2d1YXJkKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKHQpfXB4LCAke01hdGgucm91bmQoZSl9cHgpYH1lbHNlIHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bysicHgiO3RoaXMuX2RpYWxvZy5zdHlsZS50b3A9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLmxlZnQ9IjBweCIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpe2NvbnN0e2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9PXRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKSxpPXRoaXMuX2NhbGNEaWFsb2dIZWlnaHQoKSxvPXQvMi10aGlzLl9kaWFsb2cuY2xpZW50V2lkdGgvMixzPWUvMi1pLzIrdGhpcy5fZ2V0VG9wT2Zmc2V0KCk7cmV0dXJue3g6TWF0aC5yb3VuZChvKSx5Ok1hdGgucm91bmQocyl9fXJlY2FsY3VsYXRlQm91bmRzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHt2ZXJ0aWNhbDppfT10aGlzLl9ndWFyZCxvPXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uPy4odGhpcy5fZGlhbG9nLHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfSx7dmVydGljYWw6aX0pO2lmKHRoaXMuX2lzRnVsbHNjcmVlbil7aWYodGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLG8pe2NvbnN0e2xlZnQ6dCx0b3A6ZSx3aWR0aDppLGhlaWdodDpzfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgLGkmJih0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9YCR7aX1weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbldpZHRoPSJ1bnNldCIpLHMmJih0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PWAke3N9cHhgLHRoaXMuX2RpYWxvZy5zdHlsZS5taW5IZWlnaHQ9InVuc2V0Iil9fWVsc2UgaWYobyl7Y29uc3R7bGVmdDp0LHRvcDplfT1vO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2V7dGhpcy5fZGlhbG9nLnN0eWxlLndpZHRoPSIiLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9IiI7Y29uc3Qgbz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLTIqaSxuPSgwLHUuY2xhbXBTZWdtZW50KShvLmxlZnQsby53aWR0aCwwLHQpLGE9KDAsdS5jbGFtcFNlZ21lbnQpKG8udG9wLG8uaGVpZ2h0LGksZSk7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYCx0aGlzLl9kaWFsb2cuc3R5bGUuaGVpZ2h0PXM8by5oZWlnaHQ/cysicHgiOnRoaXMuX2luaXRpYWxIZWlnaHR9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89aSg1ODU0OCksbT1pKDQ5MDg5MyksZj1pKDg3MjUxOCksdj1pKDMzMjY2MCksRD1pKDExNzMxMykseT1pKDMzNzM2Mik7dmFyIEU9aSg2OTIyNjYpLHg9aSgxNDc5MDEpLHc9aSgxNzU4NjMpCjtjb25zdCBiPXdbInRvb2x0aXAtb2Zmc2V0Il0sVD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpP2NsYXNzIGV4dGVuZHMgZ3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy5fZW5hYmxlZD0oMCxoLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpfV9nZXRDbGllbnREaW1lbnNpb25zKCl7Y29uc3QgdD1zdXBlci5fZ2V0Q2xpZW50RGltZW5zaW9ucygpO2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IGU9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2UmJih0LmNsaWVudEhlaWdodD1lLmhlaWdodCl9cmV0dXJuIHR9X2dldFRvcE9mZnNldCgpe2lmKHRoaXMuX2VuYWJsZWQpe2NvbnN0IHQ9eS5FbWJlZFZpZXdwb3J0RGltZW5zaW9uc1Byb3ZpZGVyLmdldEluc3RhbmNlKCkuZGF0YSgpO2lmKHQpcmV0dXJuIHQudG9wfXJldHVybiBzdXBlci5fZ2V0VG9wT2Zmc2V0KCl9fTpnO2NsYXNzIFMgZXh0ZW5kcyBvLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZGlhbG9nPW51bGwsdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucz1bXSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2V2ZW50RGlzcGF0Y2hlcj1uZXcgdi5EaWFsb2dFdmVudERpc3BhdGNoZXIsdGhpcy5faGFuZGxlRGlhbG9nUmVmPXQ9Pntjb25zdHtyZWZlcmVuY2U6ZX09dGhpcy5wcm9wczt0aGlzLl9kaWFsb2c9dCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9LHRoaXMuX2hhbmRsZUZvY3VzPSgpPT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZU1vdXNlRG93bj10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e3RoaXMuX21vdmVUb1RvcCgpfSx0aGlzLnN0YXRlPXtjYW5GaXRUb29sdGlwOiExfSx0aGlzLl9wcmV2QWN0aXZlRWxlbWVudD1kb2N1bWVudC5hY3RpdmVFbGVtZW50fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobS5Qb3B1cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LG8uY3JlYXRlRWxlbWVudChsLk91dHNpZGVFdmVudCx7bW91c2VEb3duOiEwLHRvdWNoU3RhcnQ6ITAsaGFuZGxlcjp0aGlzLnByb3BzLm9uQ2xpY2tPdXRzaWRlfSwodD0+by5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6dCwiZGF0YS1vdXRzaWRlLWJvdW5kYXJ5LWZvciI6dGhpcy5wcm9wcy5uYW1lLG9uRm9jdXM6dGhpcy5faGFuZGxlRm9jdXMsb25Nb3VzZURvd246dGhpcy5faGFuZGxlTW91c2VEb3duLG9uVG91Y2hTdGFydDp0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0LCJkYXRhLWRpYWxvZy1uYW1lIjp0aGlzLnByb3BzWyJkYXRhLWRpYWxvZy1uYW1lIl0sImRhdGEtdG9vbHRpcC1zaG93LW9uLWZvY3VzIjoidHJ1ZSIsImRhdGEtcWEtaWQiOigwLHguZGF0YVFhSWRzKSgidWktbGliLVBvcHVwRGlhbG9nIix0aGlzLnByb3BzLmRhdGFRYUlkKX0sby5jcmVhdGVFbGVtZW50KHIuRGlhbG9nLHtzdHlsZTp0aGlzLl9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpLC4uLnRoaXMucHJvcHMscmVmZXJlbmNlOnRoaXMuX2hhbmRsZURpYWxvZ1JlZixjbGFzc05hbWU6bigpKHcuZGlhbG9nLCgwLEQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmIXRoaXMucHJvcHMubm9Nb2JpbGVBcHBTaGFkb3dzJiZ3Lm1vYmlsZSx0aGlzLnByb3BzLmZ1bGxzY3JlZW4mJncuZnVsbHNjcmVlbix0aGlzLnByb3BzLmNsYXNzTmFtZSl9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCYmdGhpcy5zdGF0ZS5jYW5GaXRUb29sdGlwJiZvLmNyZWF0ZUVsZW1lbnQoRS5Ub29sdGlwV2lkZ2V0LHtjbGFzc05hbWU6dy5kaWFsb2dUb29sdGlwfSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXApLHRoaXMucHJvcHMuY2hpbGRyZW4pKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2NvbnN0e2RyYWdnYWJsZTp0LGJvdW5kQnlTY3JlZW46ZSxvbkRyYWdTdGFydDppfT10aGlzLnByb3BzLG89KDAsYS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kaWFsb2cpO2lmKHRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLW9wZW4iKSx0KXtjb25zdCB0PW8ucXVlcnlTZWxlY3RvcigiW2RhdGEtZHJhZ2ctYXJlYV0iKTtpZih0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2NvbnN0IHM9bmV3IGQuRHJhZ0hhbmRsZXIobyx0LHtib3VuZEJ5U2NyZWVuOkJvb2xlYW4oZSksb25EcmFnU3RhcnQ6aX0pO3RoaXMuX2NsZWFuVXBGdW5jdGlvbnMucHVzaCgoKCk9PnMuZGVzdHJveSgpKSksdGhpcy5fZHJhZz1zfX10aGlzLnByb3BzLmF1dG9mb2N1cyYmIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJm8uZm9jdXMoKSwodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsZi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOnMsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IFQobyx7Z3VhcmQ6cyxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSwKdGhpcy5wcm9wcy5zaG91bGRGb3JjZUZvY3VzKXtpZih0aGlzLnByb3BzLm9uRm9yY2VGb2N1cylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uRm9yY2VGb2N1cyhvKTtvLmZvY3VzKCl9aWYoIW8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9KDAsdS5maW5kRGVmYXVsdEZvY3VzYWJsZUVsZW1lbnQpKG8pO3QgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5mb2N1cygpfX1jb21wb25lbnREaWRVcGRhdGUodCl7Y29uc3QgZT10LmZ1bGxzY3JlZW47aWYodGhpcy5fcmVzaXplKXtjb25zdHtndWFyZDp0LGNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uOmV9PXRoaXMucHJvcHM7dGhpcy5fcmVzaXplLnVwZGF0ZU9wdGlvbnMoe2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX0pLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKX1pZih0aGlzLl9kcmFnJiZ0aGlzLl9kcmFnLnVwZGF0ZU9wdGlvbnMoe2JvdW5kQnlTY3JlZW46Qm9vbGVhbih0aGlzLnByb3BzLmJvdW5kQnlTY3JlZW4pLG9uRHJhZ1N0YXJ0OnRoaXMucHJvcHMub25EcmFnU3RhcnR9KSx0LmZ1bGxzY3JlZW4hPT10aGlzLnByb3BzLmZ1bGxzY3JlZW4pe2NvbnN0IHQ9dGhpcy5wcm9wcy5mdWxsc2NyZWVuO3QmJiFlP3RoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb24iKTohdCYmZSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKX19Y29tcG9uZW50V2lsbFVubW91bnQoKXtpZih0aGlzLnByb3BzLnNob3VsZFJldHVybkZvY3VzJiZ0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYm9keS5jb250YWlucyh0aGlzLl9wcmV2QWN0aXZlRWxlbWVudCkmJihudWxsPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWRvY3VtZW50LmJvZHl8fHRoaXMuX2RpYWxvZz8uY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpKXRyeXtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3ByZXZBY3RpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KSl9Y2F0Y2h7fWZvcihjb25zdCB0IG9mIHRoaXMuX2NsZWFuVXBGdW5jdGlvbnMpdCgpOyh0aGlzLl9pc0Z1bGxTY3JlZW4oKXx8dGhpcy5wcm9wcy5maXhlZEJvZHkpJiYoMCxmLnNldEZpeGVkQm9keVN0YXRlKSghMSksdGhpcy5faXNGdWxsU2NyZWVuKCkmJnRoaXMuX2V2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaCgiZGlhbG9nLWZ1bGxzY3JlZW4tb2ZmIiksdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctY2xvc2UiKX1mb2N1cygpe3RoaXMuX2RpYWxvZyYmdGhpcy5fZGlhbG9nLmZvY3VzKCl9Y2VudGVyQW5kRml0KCl7dGhpcy5fcmVzaXplJiZ0aGlzLl9yZXNpemUuY2VudGVyQW5kRml0KCl9cmVjYWxjdWxhdGVCb3VuZHMoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5yZWNhbGN1bGF0ZUJvdW5kcygpfV9tb3ZlVG9Ub3AoKXt0aGlzLnByb3BzLmlzWkluZGV4Rml4ZWR8fG51bGwhPT10aGlzLmNvbnRleHQmJnRoaXMuY29udGV4dC5tb3ZlVG9Ub3AoKX1fYXBwbHlBbmltYXRpb25DU1NWYXJpYWJsZXMoKXtyZXR1cm57Ii0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSI6bnVsbCwiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiOm51bGx9fV9hcHBseUFwcGVhcmFuY2VBbmltYXRpb24odCl7aWYodGhpcy5fcmVzaXplJiZ0aGlzLl9kaWFsb2cpe2NvbnN0e3g6ZSx5Oml9PXQse3g6byx5OnN9PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCk7dGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WCIsYCR7ZX1weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkiLGAke2l9cHhgKSx0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWCIsYCR7b31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZIixgJHtzfXB4YCksdGhpcy5fZGlhbG9nLmNsYXNzTGlzdC5hZGQody5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UpfX1faGFuZGxlVG9vbHRpcEZpdCgpe2lmKHRoaXMuX3Jlc2l6ZSl7Y29uc3QgdD10aGlzLl9yZXNpemUuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLnktcGFyc2VJbnQoYik+PTA7dGhpcy5zZXRTdGF0ZSh7Y2FuRml0VG9vbHRpcDp0fSl9fV9pc0Z1bGxTY3JlZW4oKXtyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX1TLmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCxTLmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBGPSgwLGMubWFrZU92ZXJsYXBhYmxlKShTLCEwKX0sNTMxOTI4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBvLHM9aSg2NDA3NDQpLG49aSg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLGksbyl7cmV0dXJuIHQrZT5vJiYodD1vLWUpLHQ8aSYmKHQ9aSksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLHMuY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAscy5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpCjtlLmluaXRFdmVudCgiY2xpY2siLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQoZSl9dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmNsaWNrKCl9ZnVuY3Rpb24gaCh0KXtyZXR1cm57eDp0LmNsaWVudFgseTp0LmNsaWVudFl9fWZ1bmN0aW9uIGModCl7cmV0dXJue3g6dC50b3VjaGVzWzBdLmNsaWVudFgseTp0LnRvdWNoZXNbMF0uY2xpZW50WX19ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXQucXVlcnlTZWxlY3RvcigiW2F1dG9mb2N1c106bm90KFtkaXNhYmxlZF0pIik7aWYoZSlyZXR1cm4gZTtpZih0LnRhYkluZGV4Pj0wKXJldHVybiB0O2NvbnN0IGk9KDAsbi5nZXRBY3RpdmVFbGVtZW50U2VsZWN0b3JzKSgpLG89QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoaSkpLmZpbHRlcigoMCxuLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKSh0KSk7bGV0IHM9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGE9bnVsbDtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7Y29uc3QgZT1vW3RdLGk9ZS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iik7aWYobnVsbCE9PWkpe2NvbnN0IHQ9cGFyc2VJbnQoaSwxMCk7IWlzTmFOKHQpJiZ0PnMmJihzPXQsYT1lKX19cmV0dXJuIGF9IWZ1bmN0aW9uKHQpe3RbdC5Nb3VzZUd1YXJkWm9uZT0yMF09Ik1vdXNlR3VhcmRab25lIn0ob3x8KG89e30pKX0sODA2NjkzKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS43MDcgOWw0LjY0Ny00LjY0Ni0uNzA3LS43MDhMOSA4LjI5MyA0LjM1NCAzLjY0NmwtLjcwOC43MDhMOC4yOTMgOWwtNC42NDcgNC42NDYuNzA4LjcwOEw5IDkuNzA3bDQuNjQ2IDQuNjQ3LjcwOC0uNzA3TDkuNzA3IDl6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.553Z","timestamp":1785136427553,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/480cde08b8bfd5ce.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 7102800\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"480cde08b8bfd5ce.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"2197ad79def7e68e0db5210279b81a88\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/480cde08b8bfd5ce.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::m49ll-1777388594165-c9ac0a174814\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=H%2Fgyrbz6Y8E83ilUuKbJ1Tls3Pe57N9EYkDloq4%2FEtD%2B3llV7qN6wJWREofXHdJ%2Bx9O1CRtl1WZNHYxKCkvyTrNH4OqHrJ30I1ooiwJFG%2Fh9UvhCeoA329q%2FE1jp\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f03ef38deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":84456,"size_decoded":25532,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-11T04:47:30.054673Z","times_seen":2173,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDg1NTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQzMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sMzQ2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17SFRNTF9MSU1JVEVEX0JPVF9VQV9SRTpmdW5jdGlvbigpe3JldHVybiBsLkhUTUxfTElNSVRFRF9CT1RfVUFfUkV9LEhUTUxfTElNSVRFRF9CT1RfVUFfUkVfU1RSSU5HOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEJvdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30saXNCb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTQzMjApLHU9L0dvb2dsZWJvdCg/IS0pfEdvb2dsZWJvdCQvaSxvPWwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS5zb3VyY2U7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFLnRlc3QoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS50ZXN0KGUpfHxpKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKT8iZG9tIjppKGUpPyJodG1sIjp2b2lkIDB9fSw4NTYxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6YC8ke2V9YH1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVuc3VyZUxlYWRpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkyMjI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NTYxOSksdT1lLnIoMjc0NTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbC5lbnN1cmVMZWFkaW5nU2xhc2gpKGUuc3BsaXQoIi8iKS5yZWR1Y2UoKGUsdCxyLG4pPT4hdHx8KDAsdS5pc0dyb3VwU2VnbWVudCkodCl8fCJAIj09PXRbMF18fCgicGFnZSI9PT10fHwicm91dGUiPT09dCkmJnI9PT1uLmxlbmd0aC0xP2U6YCR7ZX0vJHt0fWAsIiIpKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDU0NjgyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBpfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MjIyNyksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSw4OTYxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTgxNjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NvbXB1dGVDaGFuZ2VkUGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWxlY3RlZFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscj17fSl7Zm9yKGxldCBuIG9mIE9iamVjdC52YWx1ZXModFsxXSkpe2xldCB0PW5bMF0sYT1BcnJheS5pc0FycmF5KHQpLGw9YT90WzFdOnQ7IWx8fGwuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpfHwoYSYmKCJjIj09PXRbMl18fCJvYyI9PT10WzJdKT9yW3RbMF1dPXRbMV0uc3BsaXQoIi8iKTphJiYoclt0WzBdXT10WzFdKSxyPWUobixyKSl9cmV0dXJuIHJ9fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1NDY4MiksdT1lLnIoMjc0NTQpLG89ZS5yKDg5NjE2KSxpPWU9PiJzdHJpbmciPT10eXBlb2YgZT8iY2hpbGRyZW4iPT09ZT8iIjplOmVbMV07ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZWR1Y2UoKGUsdCk9PntsZXQgcjtyZXR1cm4iIj09PSh0PSIvIj09PShyPXQpWzBdP3Iuc2xpY2UoMSk6cil8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpP2U6YCR7ZX0vJHt0fWB9LCIiKXx8Ii8ifWZ1bmN0aW9uIHMoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtpKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9zKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1zKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBmKGUsdCl7bGV0IHI9ZnVuY3Rpb24gZSh0LHIpe2xldFtuLGFdPXQsW3UsY109cixmPWkobiksZD1pKHUpO2lmKGwuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShlPT5mLnN0YXJ0c1dpdGgoZSl8fGQuc3RhcnRzV2l0aChlKSkpcmV0dXJuIiI7aWYoISgwLG8ubWF0Y2hTZWdtZW50KShuLHUpKXJldHVybiBzKHIpPz8iIjtmb3IobGV0IHQgaW4gYSlpZihjW3RdKXtsZXQgcj1lKGFbdF0sY1t0XSk7aWYobnVsbCE9PXIpcmV0dXJuYCR7aSh1KX0vJHtyfWB9cmV0dXJuIG51bGx9KGUsdCk7cmV0dXJuIG51bGw9PXJ8fCIvIj09PXI/cjpjKHIuc3BsaXQoIi8iKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjMyNzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhbmRsZU11dGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODE2Nyk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9dC5zaG91bGRTY3JvbGw/PyEwLGw9ZS5wcmV2aW91c05leHRVcmwsdT1lLm5leHRVcmw7aWYoYSh0LnBhdGNoZWRUcmVlKSl7bGV0IHI9KDAsbi5jb21wdXRlQ2hhbmdlZFBhdGgpKGUudHJlZSx0LnBhdGNoZWRUcmVlKTtyPyhsPXUsdT1yKTp1fHwodT1lLmNhbm9uaWNhbFVybCl9cmV0dXJue2Nhbm9uaWNhbFVybDp0LmNhbm9uaWNhbFVybD8/ZS5jYW5vbmljYWxVcmwscmVuZGVyZWRTZWFyY2g6dC5yZW5kZXJlZFNlYXJjaD8/ZS5yZW5kZXJlZFNlYXJjaCxwdXNoUmVmOntwZW5kaW5nUHVzaDphKHQucGVuZGluZ1B1c2gpP3QucGVuZGluZ1B1c2g6ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLG1wYU5hdmlnYXRpb246YSh0Lm1wYU5hdmlnYXRpb24pP3QubXBhTmF2aWdhdGlvbjplLnB1c2hSZWYubXBhTmF2aWdhdGlvbixwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTphKHQucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpP3QucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlfSxmb2N1c0FuZFNjcm9sbFJlZjp7YXBwbHk6ISFyJiYoISFhKHQ/LnNjcm9sbGFibGVTZWdtZW50cyl8fGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpLG9ubHlIYXNoQ2hhbmdlOnQub25seUhhc2hDaGFuZ2V8fCExLGhhc2hGcmFnbWVudDpyP3QuaGFzaEZyYWdtZW50JiYiIiE9PXQuaGFzaEZyYWdtZW50P2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2hGcmFnbWVudC5zbGljZSgxKSk6ZS5mb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQ6bnVsbCxzZWdtZW50UGF0aHM6cj90Py5zY3JvbGxhYmxlU2VnbWVudHM/P2UuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzOltdfSxjYWNoZTp0LmNhY2hlP3QuY2FjaGU6ZS5jYWNoZSx0cmVlOmEodC5wYXRjaGVkVHJlZSk/dC5wYXRjaGVkVHJlZTplLnRyZWUsbmV4dFVybDp1LHByZXZpb3VzTmV4dFVybDpsLGRlYnVnSW5mbzp0LmNvbGxlY3RlZERlYnVnSW5mbz8/bnVsbH19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDYyMTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hFQURfUkVRVUVTVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBjfSxjb252ZXJ0U2VnbWVudFBhdGhUb1N0YXRpY0V4cG9ydEZpbGVuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT0iIixvPSIvX2hlYWQiO2Z1bmN0aW9uIGkoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKT9sLlBBR0VfU0VHTUVOVF9LRVk6Ii9fbm90LWZvdW5kIj09PWU/Il9ub3QtZm91bmQiOmYoZSk7bGV0IHQ9ZVswXTtyZXR1cm4iJCIrZVsyXSsiJCIrZih0KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gZSsiLyIrKCJjaGlsZHJlbiI9PT10P3I6YEAke2YodCl9LyR7cn1gKX1sZXQgcz0vXlthLXpBLVowLTlcLV9AXSskLztmdW5jdGlvbiBmKGUpe3JldHVybiBzLnRlc3QoZSk/ZToiISIrYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuYF9fbmV4dCR7ZS5yZXBsYWNlKC9cLy9nLCIuIil9LnR4dGB9fSw4ODA2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbTpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRQYXJhbVZhbHVlRnJvbUNhY2hlS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldFJlbmRlcmVkUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0UmVuZGVyZWRTZWFyY2g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydDpmdW5jdGlvbigpe3JldHVybiBzfSx1cmxTZWFyY2hQYXJhbXNUb1BhcnNlZFVybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjpmdW5jdGlvbigpe3JldHVybiBofX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT1lLnIoNDYyMTkpLG89ZS5yKDM0NjQxKTtmdW5jdGlvbiBpKGUpe2xldCB0PWUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIpO3JldHVybiBudWxsIT09dD8iIj09PXQ/IiI6Ij8iK3Q6aChuZXcgVVJMKGUudXJsKSkuc2VhcmNofWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUik/P2gobmV3IFVSTChlLnVybCkpLnBhdGhuYW1lfWZ1bmN0aW9uIHMoZSx0LHIpe3N3aXRjaChlKXtjYXNlImMiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6W107Y2FzZSJjaSguLikoLi4pIjpjYXNlImNpKC4pIjpjYXNlImNpKC4uKSI6Y2FzZSJjaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcCgoZSx0KT0+MD09PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KGUuc2xpY2UobikpOmVuY29kZVVSSUNvbXBvbmVudChlKSk6W119Y2FzZSJvYyI6cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpudWxsO2Nhc2UiZCI6aWYocj49dC5sZW5ndGgpcmV0dXJuIiI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0W3JdKTtjYXNlImRpKC4uKSguLikiOmNhc2UiZGkoLikiOmNhc2UiZGkoLi4pIjpjYXNlImRpKC4uLikiOntsZXQgbj1lLmxlbmd0aC0yO2lmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXS5zbGljZShuKSl9ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGU9PT11LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWXx8ZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSl8fCIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKSkmJmUhPT1sLkRFRkFVTFRfU0VHTUVOVF9LRVkmJiIvX25vdC1mb3VuZCIhPT1lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KDAsbC5hZGRTZWFyY2hQYXJhbXNJZlBhZ2VTZWdtZW50KShlLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHQpKSk6bnVsbD09PWU/IiI6ZS5qb2luKCIvIil9ZnVuY3Rpb24gaChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybiB0LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuImMiPT09dHx8Im9jIj09PXQ/ZS5zcGxpdCgiLyIpOmV9ZnVuY3Rpb24geShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl2b2lkIDA9PT10W3JdP3Rbcl09bjpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChuKTp0W3JdPVt0W3JdLG5dO3JldHVybiB0fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NjI4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVJbml0aWFsUlNDUGF5bG9hZEZyb21GYWxsYmFja1ByZXJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfSxnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbm9ybWFsaXplRmxpZ2h0RGF0YTpmdW5jdGlvbigpe3JldHVybiBmfSxwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI3NDU0KSx1PWUucig4ODA2Miksbz1lLnIoODU1OTQpO2Z1bmN0aW9uIGkoZSl7bGV0W3QscixuLGFdPWUuc2xpY2UoLTQpLGw9ZS5zbGljZSgwLC00KTtyZXR1cm57cGF0aFRvU2VnbWVudDpsLnNsaWNlKDAsLTEpLHNlZ21lbnRQYXRoOmwsc2VnbWVudDpsW2wubGVuZ3RoLTFdPz8iIix0cmVlOnQsc2VlZERhdGE6cixoZWFkOm4saXNIZWFkUGFydGlhbDphLGlzUm9vdFJlbmRlcjo0PT09ZS5sZW5ndGh9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj0oMCx1LmdldFJlbmRlcmVkUGF0aG5hbWUpKGUpLG49KDAsdS5nZXRSZW5kZXJlZFNlYXJjaCkoZSksYT0oMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKGxvY2F0aW9uLmhyZWYpKSxsPXQuZlswXSxpPWxbMF07cmV0dXJue2I6dC5iLGM6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxvLGk9dFswXTtpZigic3RyaW5nIj09dHlwZW9mIGkpbD1pLG89KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShpKTtlbHNle2xldCBlPWlbMF0sdD1pWzJdLGM9KDAsdS5wYXJzZUR5bmFtaWNQYXJhbUZyb21VUkxQYXJ0KSh0LG4sYSk7bD1bZSwoMCx1LmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShjLHIpLHRdLG89ITB9bGV0IGM9bz9hKzE6YSxzPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gcyl7bGV0IGE9c1t0XTtmW3RdPWUoYSxyLG4sYyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KGksbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuU319ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9PmkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe3ZhciByLG47bGV0W2EsdSxvLGksYyxzXT10LGY9InN0cmluZyI9PXR5cGVvZihyPWEpJiZyLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKyI/Iik/bC5QQUdFX1NFR01FTlRfS0VZOnIsZD17fTtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh1KSlkW3RdPWUocik7bGV0IGg9W2YsZCxudWxsLChuPWkpJiYicmVmcmVzaCIhPT1uP2k6bnVsbF07cmV0dXJuIHZvaWQgMCE9PWMmJihoWzRdPWMpLHZvaWQgMCE9PXMmJihoWzVdPXMpLGh9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjE3MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldEFwcEJ1aWxkSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0QXBwQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIG8oKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyNzQxOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGpiMkhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saGV4SGFzaDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9NTM4MTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0PSh0PDw1KSt0K2UuY2hhckNvZGVBdChyKXwwO3JldHVybiB0Pj4+MH1mdW5jdGlvbiB1KGUpe3JldHVybiBsKGUpLnRvU3RyaW5nKDM2KS5zbGljZSgwLDUpfX0sNjg4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDI3NDE4KTtmdW5jdGlvbiBhKGUsdCxyLGEpe3JldHVybih2b2lkIDA9PT1lfHwiMCI9PT1lKSYmdm9pZCAwPT09dCYmdm9pZCAwPT09ciYmdm9pZCAwPT09YT8iIjooMCxuLmhleEhhc2gpKFtlfHwiMCIsdHx8IjAiLHJ8fCIwIixhfHwiMCJdLmpvaW4oIiwiKSl9fSw0MTMwMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17c2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW1XaXRoSGFzaDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig2ODg0NyksdT1lLnIoMzQ2NDEpLG89KGUsdCk9PntpKGUsKDAsbC5jb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKHRbdS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl0sdFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSx0W3UuTkVYVF9VUkxdKSl9LGk9KGUsdCk9PntsZXQgcj1lLnNlYXJjaCxuPShyLnN0YXJ0c1dpdGgoIj8iKT9yLnNsaWNlKDEpOnIpLnNwbGl0KCImIikuZmlsdGVyKGU9PmUmJiFlLnN0YXJ0c1dpdGgoYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX09YCkpO3QubGVuZ3RoPjA/bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PSR7dH1gKTpuLnB1c2goYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX1gKSxlLnNlYXJjaD1uLmxlbmd0aD9gPyR7bi5qb2luKCImIil9YDoiIn07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTEwNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2xldCBuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17Y3JlYXRlRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbTpmdW5jdGlvbigpe3JldHVybiBFfSxmZXRjaFNlcnZlclJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDc1MDQ1KSxvPWUucigzNDY0MSksaT1lLnIoMzA5MzEpLGM9ZS5yKDg5NTk0KSxzPWUucig2NzYyOCksZj1lLnIoNjE3MDYpLGQ9ZS5yKDQxMzAyKSxoPWUucig4ODA2MikscD1lLnIoODg3NzQpLHk9dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sZz11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBSKGUpe3JldHVybigwLGgudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgXz0hMTthc3luYyBmdW5jdGlvbiBQKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAscy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbby5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IHYoZSxhLCJhdXRvIiwhMCkscj0oMCxoLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhvLk5FWFRfVVJMKSxpPSEhdC5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksYz10LmhlYWRlcnMuZ2V0KG8uTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpLGQ9bnVsbCE9PWM/MWUzKnBhcnNlSW50KGMsMTApOi0xO2lmKCFsLnN0YXJ0c1dpdGgoby5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUil8fCF0Lm9rfHwhdC5ib2R5KXJldHVybiBlLmhhc2gmJihyLmhhc2g9ZS5oYXNoKSxSKHIudG9TdHJpbmcoKSk7bGV0IHA9dC5mbGlnaHRSZXNwb25zZTtpZihudWxsPT09cCl7bGV0IGUscj1pPyhlPXQuYm9keS5nZXRSZWFkZXIoKSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwodCl7Zm9yKDs7KXtsZXR7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IGUucmVhZCgpO2lmKCFyKXt0LmVucXVldWUobik7Y29udGludWV9cmV0dXJufX19KSk6dC5ib2R5O3A9RShyLGEpfWxldCB5PWF3YWl0IHA7aWYoKDAsZi5nZXRBcHBCdWlsZElkKSgpIT09eS5iKXJldHVybiBSKHQudXJsKTtsZXQgZz0oMCxzLm5vcm1hbGl6ZUZsaWdodERhdGEpKHkuZik7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybiBSKGcpO3JldHVybntmbGlnaHREYXRhOmcsY2Fub25pY2FsVXJsOm4scmVuZGVyZWRTZWFyY2g6KDAsaC5nZXRSZW5kZXJlZFNlYXJjaCkodCksY291bGRCZUludGVyY2VwdGVkOnUscHJlcmVuZGVyZWQ6eS5TLHBvc3Rwb25lZDppLHN0YWxlVGltZTpkLGRlYnVnSW5mbzpwLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBffHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIHYoZSx0LHIsYSxsKXt2YXIgdSxzO2xldCBmPSgwLHAuZ2V0RGVwbG95bWVudElkKSgpO2YmJih0WyJ4LWRlcGxveW1lbnQtaWQiXT1mKTtsZXQgaD1uZXcgVVJMKGUpOygwLGQuc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKGgsdCk7bGV0IHk9ZmV0Y2goaCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnQscHJpb3JpdHk6cnx8dm9pZCAwLHNpZ25hbDpsfSksUj1hPyh1PXkscz10LGcodSx7Y2FsbFNlcnZlcjppLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpjLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOm4mJm4ocyl9KSk6bnVsbCxfPWF3YWl0IHksUD1fLnJlZGlyZWN0ZWQsdj1uZXcgVVJMKF8udXJsLGgpO3JldHVybiB2LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSkse3VybDp2LmhyZWYscmVkaXJlY3RlZDpQLG9rOl8ub2ssaGVhZGVyczpfLmhlYWRlcnMsYm9keTpfLmJvZHksc3RhdHVzOl8uc3RhdHVzLGZsaWdodFJlc3BvbnNlOlJ9fWZ1bmN0aW9uIEUoZSx0KXtyZXR1cm4geShlLHtjYWxsU2VydmVyOmkuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KX0pfSJ1Ij50eXBlb2Ygd2luZG93JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKT0+e189ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCgpPT57Xz0hMX0pKSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1Nzc3OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigyNzQ1NCk7ZnVuY3Rpb24gYShlLHQ9ITEpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Ake2VbMF19fCR7ZVsxXX18JHtlWzJdfWA6dCYmZS5zdGFydHNXaXRoKG4uUEFHRV9TRUdNRU5UX0tFWSk/bi5QQUdFX1NFR01FTlRfS0VZOmV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzczNjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtsZXQgbj10WzBdLGE9clswXTtpZihBcnJheS5pc0FycmF5KG4pJiZBcnJheS5pc0FycmF5KGEpKXtpZihuWzBdIT09YVswXXx8blsyXSE9PWFbMl0pcmV0dXJuITB9ZWxzZSBpZihuIT09YSlyZXR1cm4hMDtpZih0WzRdKXJldHVybiFyWzRdO2lmKHJbNF0pcmV0dXJuITA7bGV0IGw9T2JqZWN0LnZhbHVlcyh0WzFdKVswXSx1PU9iamVjdC52YWx1ZXMoclsxXSlbMF07cmV0dXJuIWx8fCF1fHxlKGwsdSl9fX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE4OTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e0ZyZXNobmVzc1BvbGljeTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVJbml0aWFsQ2FjaGVOb2RlRm9ySHlkcmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGlzRGVmZXJyZWRSc2M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sc3Bhd25EeW5hbWljUmVxdWVzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gan0sc3RhcnRQUFJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDI3NDU0KSxvPWUucig4OTYxNiksaT1lLnIoODU1OTQpLGM9ZS5yKDU3Nzc4KSxzPWUucigxMTA2KSxmPWUucig5NDg3OSksZD1lLnIoNTk0MzApLGg9ZS5yKDM3MzY4KSxwPWUucig1NDAxMSkseT1lLnIoNjU0NjMpO3ZhciBnPSgobj17fSlbbi5EZWZhdWx0PTBdPSJEZWZhdWx0IixuW24uSHlkcmF0aW9uPTFdPSJIeWRyYXRpb24iLG5bbi5IaXN0b3J5VHJhdmVyc2FsPTJdPSJIaXN0b3J5VHJhdmVyc2FsIixuW24uUmVmcmVzaEFsbD0zXT0iUmVmcmVzaEFsbCIsbltuLkhNUlJlZnJlc2g9NF09IkhNUlJlZnJlc2giLG4pO2xldCBSPSgpPT57fTtmdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiB2KGUsdCx2b2lkIDAsMSxyLG4sbnVsbCxudWxsLCExLG51bGwsbnVsbCwhMSx7c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSkubm9kZX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHMsZixkLHAseSxnLFIpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGYsZCxwLHksZyxSLF8sUCxPLGosTSxBKXt2YXIgVSxDO2xldCBOLHcsRixJPWFbMF0sTD1sWzBdO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoTCxJKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEw9PT11Lk5PVF9GT1VORF9TRUdNRU5UX0tFWXx8bnVsbD09PVB8fG51bGw9PT1PP251bGw6dih0LGwsbixzLGQscCx5LGcsUixQLE8saixBKTtsZXQgRD1udWxsIT09TyYmbnVsbCE9PVA/UC5jb25jYXQoW08sTF0pOltdLHg9bFsxXSxrPWFbMV0sSD1udWxsIT09ZD9kWzFdOm51bGwsQj1udWxsIT09eT95WzFdOm51bGwsSz0hMD09PWxbNF0sVj1mfHxLLHE9dm9pZCAwIT09bj9uLnBhcmFsbGVsUm91dGVzOnZvaWQgMCxHPSExLHo9ITE7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOkc9ITEsej0hMTticmVhaztjYXNlIDM6Y2FzZSA0Okc9ITAsej0hMH1sZXQgWD1uZXcgTWFwKEc/dm9pZCAwOnEpLFc9MD09PU9iamVjdC5rZXlzKHgpLmxlbmd0aDtpZih2b2lkIDA9PT1ufHx6fHxXJiZfKWlmKG51bGwhPT1kJiZudWxsIT09ZFswXSl7bGV0IGU9ZFswXSxyPWRbMl0sbj1udWxsPT09cDt3PVMoZSxyLCExLHAsbixXLFgsdCksRj1XJiZufWVsc2UgaWYobnVsbCE9PXkpe2xldCBlPXlbMF0scj15WzJdLG49eVszXTt3PVMoZSxyLG4sZyxSLFcsWCx0KSxGPW58fFcmJlJ9ZWxzZSB3PVQoWCxXLHQscyksRj0hMDtlbHNlIHc9YighMSxuLFgpLEY9ITE7bGV0IFk9bFsyXSwkPSJzdHJpbmciPT10eXBlb2YgWSYmInJlZnJlc2giPT09bFszXT9ZOk07RiYmbnVsbCE9PSQmJihVPUEsQz0kLG51bGw9PT0oTj1VLnNlcGFyYXRlUmVmcmVzaFVybHMpP1Uuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtDXSk6Ti5hZGQoQykpO2xldCBRPXt9LEo9bnVsbCxaPSExLGVlPXt9O2ZvcihsZXQgbiBpbiB4KXtsZXQgYT14W25dLGw9a1tuXTtpZih2b2lkIDA9PT1sKXJldHVybiBudWxsO2xldCBvPXZvaWQgMCE9PXE/cS5nZXQobik6dm9pZCAwLGY9bnVsbCE9PUg/SFtuXTpudWxsLGQ9bnVsbCE9PUI/QltuXTpudWxsLGg9YVswXSx5PXAsUD1nLHY9UjsyIT09cyYmaD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9KGE9ZnVuY3Rpb24oZSx0KXtsZXQgcjtyZXR1cm4icmVmcmVzaCI9PT10WzNdP3I9dDooKHI9RSh0LHRbMV0pKVsyXT0oMCxpLmNyZWF0ZUhyZWZGcm9tVXJsKShlKSxyWzNdPSJyZWZyZXNoIikscn0ocixsKSlbMF0sZj1udWxsLHk9bnVsbCxkPW51bGwsUD1udWxsLHY9ITEpO2xldCBtPSgwLGMuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGgpLGI9ZSh0LHIsdm9pZCAwIT09bz9vLmdldChtKTp2b2lkIDAsbCxhLHMsVixmPz9udWxsLHksZD8/bnVsbCxQLHYsXyxELG4sanx8RiwkLEEpO2lmKG51bGw9PT1iKXJldHVybiBudWxsO251bGw9PT1KJiYoSj1uZXcgTWFwKSxKLnNldChuLGIpO2xldCBTPWIubm9kZTtpZihudWxsIT09Uyl7bGV0IGU9bmV3IE1hcChHP3ZvaWQgMDpvKTtlLnNldChtLFMpLFguc2V0KG4sZSl9bGV0IFQ9Yi5yb3V0ZTtRW25dPVQ7bGV0IE89Yi5keW5hbWljUmVxdWVzdFRyZWU7bnVsbCE9PU8/KFo9ITAsZWVbbl09Tyk6ZWVbbl09VH1yZXR1cm57c3RhdHVzOishRixyb3V0ZTpFKGwsUSksbm9kZTp3LGR5bmFtaWNSZXF1ZXN0VHJlZTptKGwsZWUsRixaLGopLHJlZnJlc2hVcmw6JCxjaGlsZHJlbjpKfX0oZSx0LG51bGwhPT1yP3I6dm9pZCAwLG4sYSxsLCExLHMsZixkLHAseSxnLG51bGwsbnVsbCwhMSxudWxsLFIpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsdSxvLGkscyxmLGQsaCl7bGV0IHksZyxSPXRbMF0sXz1udWxsIT09ZiYmbnVsbCE9PXM/cy5jb25jYXQoW2YsUl0pOltdLFA9dFsxXSxPPW51bGwhPT11P3VbMV06bnVsbCxqPW51bGwhPT1hP2FbMV06bnVsbCxNPXZvaWQgMCE9PXI/ci5wYXJhbGxlbFJvdXRlczp2b2lkIDAsQT0hMSxVPSExLEM9ITE7c3dpdGNoKG4pe2Nhc2UgMDpBPSExLFU9dm9pZCAwPT09cnx8ZS1yLm5hdmlnYXRlZEF0Pj1wLkRZTkFNSUNfU1RBTEVUSU1FX01TLEM9ITE7YnJlYWs7Y2FzZSAxOlU9ITEsQT0hMSxDPSExO2JyZWFrO2Nhc2UgMjppZihVPSExLFU9ITEsdm9pZCAwIT09cil7bGV0IGU9ci5yc2M7Qz0hTihlKXx8InBlbmRpbmciIT09ZS5zdGF0dXN9ZWxzZSBDPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6VT0hMCxBPSEwLEM9ITF9bGV0IHc9bmV3IE1hcChBP3ZvaWQgMDpNKSxGPTA9PT1PYmplY3Qua2V5cyhQKS5sZW5ndGg7aWYoRiYmKG51bGw9PT1oLnNjcm9sbGFibGVTZWdtZW50cyYmKGguc2Nyb2xsYWJsZVNlZ21lbnRzPVtdKSxoLnNjcm9sbGFibGVTZWdtZW50cy5wdXNoKF8pKSxVfHx2b2lkIDA9PT1yKWlmKG51bGwhPT1hJiZudWxsIT09YVswXSl7bGV0IHQ9YVswXSxyPWFbMl0sdT1udWxsPT09bCYmMSE9PW47eT1TKHQsciwhMSxsLHUsRix3LGUpLGc9RiYmdX1lbHNlIGlmKDE9PT1uJiZGJiZudWxsIT09bCl5PVMobnVsbCxudWxsLCExLGwsITEsRix3LGUpLGc9ITE7ZWxzZSBpZigxIT09biYmbnVsbCE9PXUpe2xldCB0PXVbMF0scj11WzJdLG49dVszXTt5PVModCxyLG4sbyxpLEYsdyxlKSxnPW58fEYmJml9ZWxzZSB5PVQodyxGLGUsbiksZz0hMDtlbHNlIHk9YihDLHIsdyksZz0hMTtsZXQgST17fSxMPW51bGwsRD0hMSx4PXt9O2ZvcihsZXQgdCBpbiBQKXtsZXQgcj1QW3RdLGE9dm9pZCAwIT09TT9NLmdldCh0KTp2b2lkIDAsdT1udWxsIT09aj9qW3RdOm51bGwscz1udWxsIT09Tz9PW3RdOm51bGwsZj1yWzBdLHA9KDAsYy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoZikseT12KGUscix2b2lkIDAhPT1hP2EuZ2V0KHApOnZvaWQgMCxuLHU/P251bGwsbCxzPz9udWxsLG8saSxfLHQsZHx8ZyxoKTtudWxsPT09TCYmKEw9bmV3IE1hcCksTC5zZXQodCx5KTtsZXQgUj15Lm5vZGU7aWYobnVsbCE9PVIpe2xldCBlPW5ldyBNYXAoQT92b2lkIDA6YSk7ZS5zZXQocCxSKSx3LnNldCh0LGUpfWxldCBFPXkucm91dGU7SVt0XT1FO2xldCBtPXkuZHluYW1pY1JlcXVlc3RUcmVlO251bGwhPT1tPyhEPSEwLHhbdF09bSk6eFt0XT1FfXJldHVybntzdGF0dXM6KyFnLHJvdXRlOkUodCxJKSxub2RlOnksZHluYW1pY1JlcXVlc3RUcmVlOm0odCx4LGcsRCxkKSxyZWZyZXNoVXJsOm51bGwsY2hpbGRyZW46TH19ZnVuY3Rpb24gRShlLHQpe2xldCByPVtlWzBdLHRdO3JldHVybiAyIGluIGUmJihyWzJdPWVbMl0pLDMgaW4gZSYmKHJbM109ZVszXSksNCBpbiBlJiYocls0XT1lWzRdKSxyfWZ1bmN0aW9uIG0oZSx0LHIsbixhKXtsZXQgbD1udWxsO3JldHVybiByPyhsPUUoZSx0KSxhfHwobFszXT0icmVmZXRjaCIpKTpsPW4/RShlLHQpOm51bGwsbH1mdW5jdGlvbiBiKGUsdCxyKXtyZXR1cm57cnNjOnQucnNjLHByZWZldGNoUnNjOmU/bnVsbDp0LnByZWZldGNoUnNjLGhlYWQ6dC5oZWFkLHByZWZldGNoSGVhZDplP251bGw6dC5wcmVmZXRjaEhlYWQsbG9hZGluZzp0LmxvYWRpbmcscGFyYWxsZWxSb3V0ZXM6cixuYXZpZ2F0ZWRBdDp0Lm5hdmlnYXRlZEF0fX1mdW5jdGlvbiBTKGUsdCxyLG4sYSxsLHUsbyl7bGV0IGksYyxzLGY7cmV0dXJuIHI/KGM9ZSxpPXcoKSk6KGM9bnVsbCxpPWUpLGw/YT8ocz1uLGY9dygpKToocz1udWxsLGY9bik6KHM9bnVsbCxmPW51bGwpLHtyc2M6aSxwcmVmZXRjaFJzYzpjLGhlYWQ6ZixwcmVmZXRjaEhlYWQ6cyxsb2FkaW5nOnQscGFyYWxsZWxSb3V0ZXM6dSxuYXZpZ2F0ZWRBdDpvfX1mdW5jdGlvbiBUKGUsdCxyLG4pe2xldCBhPTE9PT1uO3JldHVybntyc2M6YT9udWxsOncoKSxwcmVmZXRjaFJzYzpudWxsLGhlYWQ6IWEmJnQ/dygpOm51bGwscHJlZmV0Y2hIZWFkOm51bGwsbG9hZGluZzphP251bGw6dygpLHBhcmFsbGVsUm91dGVzOmUsbmF2aWdhdGVkQXQ6cn19bGV0IE89ITE7ZnVuY3Rpb24gaihlLHQscixuLGEpe2xldCBsPWUuZHluYW1pY1JlcXVlc3RUcmVlO2lmKG51bGw9PT1sKXtPPSExO3JldHVybn1sZXQgdT1VKGUsbCx0LHIsbiksbz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsYz1udWxsO2lmKG51bGwhPT1vKXtjPVtdO2xldCBhPSgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBvKXQhPT1hJiZudWxsIT09bCYmYy5wdXNoKFUoZSxsLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbikpfU0oZSxyLHUsYykudGhlbihSLFIpfWFzeW5jIGZ1bmN0aW9uIE0oZSx0LHIsbil7dmFyIGEsbDtsZXQgdT1hd2FpdCAoYT1yLGw9bixuZXcgUHJvbWlzZShlPT57bGV0IHQ9dD0+ezA9PT10LmV4aXRTdGF0dXM/MD09LS1uJiZlKDApOmUodC5leGl0U3RhdHVzKX0scj0oKT0+ZSgyKSxuPTE7YS50aGVuKHQsciksbnVsbCE9PWwmJihuKz1sLmxlbmd0aCxsLmZvckVhY2goZT0+ZS50aGVuKHQscikpKX0pKTtzd2l0Y2goMD09PXUmJih1PWZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLGwsdTtsZXQgbyxpLGMsczswPT09dC5zdGF0dXM/KHQuc3RhdHVzPTIsYT10Lm5vZGUsbD1yLHU9bixOKGk9YS5yc2MpJiYobnVsbD09PWw/aS5yZXNvbHZlKG51bGwsdSk6aS5yZWplY3QobCx1KSksTihjPWEubG9hZGluZykmJmMucmVzb2x2ZShudWxsLHUpLE4ocz1hLmhlYWQpJiZzLnJlc29sdmUobnVsbCx1KSxvPW51bGw9PT10LnJlZnJlc2hVcmw/MToyKTpvPTA7bGV0IGY9dC5jaGlsZHJlbjtpZihudWxsIT09Zilmb3IobGV0Wyx0XW9mIGYpe2xldCBhPWUodCxyLG4pO2E+byYmKG89YSl9cmV0dXJuIG99KGUsbnVsbCxudWxsKSksdSl7Y2FzZSAwOk89ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtBKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUpO3JldHVybn1jYXNlIDI6e2xldCBuPWF3YWl0IHI7QSghMCxuLnVybCx0LG4uc2VlZCxlLnJvdXRlKTtyZXR1cm59ZGVmYXVsdDpyZXR1cm4gdX19ZnVuY3Rpb24gQShlLHQscixuLGEpe2U9ZXx8TyxPPSEwO2xldCBsPXt0eXBlOmQuQUNUSU9OX1NFUlZFUl9QQVRDSCxwcmV2aW91c1RyZWU6YSx1cmw6dCxuZXh0VXJsOnIsc2VlZDpuLG1wYTplfTsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKShsKX1hc3luYyBmdW5jdGlvbiBVKGUsdCxyLG4sYSl7dHJ5e2xldCBsPWF3YWl0ICgwLHMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwobCxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IHU9KDAseS5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLnJvdXRlLGwuZmxpZ2h0RGF0YSxsLnJlbmRlcmVkU2VhcmNoKTtyZXR1cm57ZXhpdFN0YXR1czorISFmdW5jdGlvbiBlKHQscixuLGEsbCl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOk4oYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUubG9hZGluZztpZihOKHUpKXtsZXQgZT10WzJdO3UucmVzb2x2ZShlLG4pfWxldCBvPWUuaGVhZDtOKG8pJiZvLnJlc29sdmUocixuKX0odC5ub2RlLG4sYSxsKSk7bGV0IHU9dC5jaGlsZHJlbixpPXJbMV0sYz1udWxsIT09bj9uWzFdOm51bGwscz0hMTtpZihudWxsIT09dSlmb3IobGV0IHQgaW4gaSl7bGV0IHI9aVt0XSxuPW51bGwhPT1jP2NbdF06bnVsbCxmPXUuZ2V0KHQpO2lmKHZvaWQgMD09PWYpcz0hMDtlbHNle2xldCB0PWYucm91dGVbMF07KDAsby5tYXRjaFNlZ21lbnQpKHJbMF0sdCkmJm51bGwhPW4mJmUoZixyLG4sYSxsKSYmKHM9ITApfX1yZXR1cm4gc30oZSx1LnRyZWUsdS5kYXRhLHUuaGVhZCxsLmRlYnVnSW5mbyksdXJsOm5ldyBVUkwobC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnV9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEM9U3ltYm9sKCk7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUN9ZnVuY3Rpb24gdygpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9QyxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYXNMb2FkaW5nQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnk9MV09IlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5TdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5PTJdPSJTdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5IixuW24uU3VidHJlZUhhc05vTG9hZGluZ0JvdW5kYXJ5PTNdPSJTdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnkiLG4pfSw1MjQxMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhLGwsdT17RmV0Y2hTdHJhdGVneTpmdW5jdGlvbigpe3JldHVybiBzfSxOYXZpZ2F0aW9uUmVzdWx0VGFnOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFByZWZldGNoUHJpb3JpdHk6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiB1KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0OnVbb119KTt2YXIgaT0oKG49e30pW24uTVBBPTBdPSJNUEEiLG5bbi5TdWNjZXNzPTFdPSJTdWNjZXNzIixuW24uTm9PcD0yXT0iTm9PcCIsbltuLkFzeW5jPTNdPSJBc3luYyIsbiksYz0oKGE9e30pW2EuSW50ZW50PTJdPSJJbnRlbnQiLGFbYS5EZWZhdWx0PTFdPSJEZWZhdWx0IixhW2EuQmFja2dyb3VuZD0wXT0iQmFja2dyb3VuZCIsYSkscz0oKGw9e30pW2wuTG9hZGluZ0JvdW5kYXJ5PTBdPSJMb2FkaW5nQm91bmRhcnkiLGxbbC5QUFI9MV09IlBQUiIsbFtsLlBQUlJ1bnRpbWU9Ml09IlBQUlJ1bnRpbWUiLGxbbC5GdWxsPTNdPSJGdWxsIixsKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MTg1MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NTc0NSksdT1udWxsLG89ITEsaT0wO2Z1bmN0aW9uIGMoZSl7aWYodT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KGkrPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PXUpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD11LnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PXUsdS5wcmV2PWV9dT1lfWZ1bmN0aW9uIHMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKGk9aS1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihpLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsdT09PWU/dD09PXU/dT1udWxsOih1PXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvfHxpPD0weDMyMDAwMDB8fChvPSEwLHAoaCkpfWZ1bmN0aW9uIGgoKXtvPSExO2Zvcig7aT4weDJkMDAwMDAmJm51bGwhPT11Oyl7bGV0IGU9dS5wcmV2O251bGwhPT1lJiYoMCxsLmRlbGV0ZU1hcEVudHJ5KShlKX19bGV0IHA9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2s/cmVxdWVzdElkbGVDYWxsYmFjazplPT5zZXRUaW1lb3V0KGUsMCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzU3NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0ZhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGRlbGV0ZUZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBofSxkZWxldGVNYXBFbnRyeTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRGcm9tQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNWYWx1ZUV4cGlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0SW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBmfSxzZXRTaXplSW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig0MTg1MiksdT17fSxvPXt9O2Z1bmN0aW9uIGkoKXtyZXR1cm57cGFyZW50Om51bGwsa2V5Om51bGwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH19ZnVuY3Rpb24gYyhlLHQscixuLGEpe2xldCBpPWZ1bmN0aW9uIGUodCxyLG4sYSxsLGkpe2xldCBjLGY7aWYobnVsbCE9PWEpYz1hLnZhbHVlLGY9YS5wYXJlbnQ7ZWxzZSBpZihsJiZpIT09byljPW8sZj1udWxsO2Vsc2UgcmV0dXJuIG51bGw9PT1uLnZhbHVlP246cyh0LHIsbi52YWx1ZSk/KHAobiksbnVsbCk6bjtsZXQgZD1uLm1hcDtpZihudWxsIT09ZCl7bGV0IG49ZC5nZXQoYyk7aWYodm9pZCAwIT09bil7bGV0IGE9ZSh0LHIsbixmLGwsYyk7aWYobnVsbCE9PWEpcmV0dXJuIGF9bGV0IGE9ZC5nZXQodSk7aWYodm9pZCAwIT09YSlyZXR1cm4gZSh0LHIsYSxmLGwsYyl9cmV0dXJuIG51bGx9KGUsdCxyLG4sYSwwKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1pLnZhbHVlP251bGw6KCgwLGwubHJ1UHV0KShpKSxpLnZhbHVlKX1mdW5jdGlvbiBzKGUsdCxyKXtyZXR1cm4gci5zdGFsZUF0PD1lfHxyLnZlcnNpb248dH1mdW5jdGlvbiBmKGUsdCxyLG4pe2xldCBhPWZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1lLGE9dCxsPW51bGw7Zm9yKDs7KXtsZXQgZT1sO2lmKG51bGwhPT1hKWw9YS52YWx1ZSxhPWEucGFyZW50O2Vsc2UgaWYociYmZSE9PW8pe2lmKG51bGw9PT1uLnZhbHVlKXJldHVybiBuO2w9b31lbHNlIGJyZWFrO2xldCB0PW4ubWFwO2lmKG51bGwhPT10KXtsZXQgZT10LmdldChsKTtpZih2b2lkIDAhPT1lKXtuPWU7Y29udGludWV9fWVsc2UgdD1uZXcgTWFwLG4ubWFwPXQ7bGV0IHU9e3BhcmVudDpuLGtleTpsLHZhbHVlOm51bGwsbWFwOm51bGwscHJldjpudWxsLG5leHQ6bnVsbCxzaXplOjB9O3Quc2V0KGwsdSksbj11fXJldHVybiBufShlLHQsbik7ZChhLHIpLCgwLGwubHJ1UHV0KShhKSwoMCxsLnVwZGF0ZUxydVNpemUpKGEsci5zaXplKX1mdW5jdGlvbiBkKGUsdCl7bnVsbCE9PWUudmFsdWUmJihlLnZhbHVlLnJlZj1udWxsLGUudmFsdWU9bnVsbCk7bGV0IHI9dC5yZWY7ZS52YWx1ZT10LHQucmVmPWUsKDAsbC51cGRhdGVMcnVTaXplKShlLHQuc2l6ZSksbnVsbCE9PXImJnIhPT1lJiZyLnZhbHVlPT09dCYmcChyKX1mdW5jdGlvbiBoKGUpe2xldCB0PWUucmVmO251bGwhPT10JiYoZS5yZWY9bnVsbCxwKHQpKX1mdW5jdGlvbiBwKGUpe2UudmFsdWU9bnVsbCwoMCxsLmRlbGV0ZUZyb21McnUpKGUpO2xldCB0PWUubWFwO2lmKG51bGw9PT10KXtsZXQgdD1lLnBhcmVudCxyPWUua2V5O2Zvcig7bnVsbCE9PXQ7KXtsZXQgZT10Lm1hcDtpZihudWxsIT09ZSYmKGUuZGVsZXRlKHIpLDA9PT1lLnNpemUpJiYodC5tYXA9bnVsbCxudWxsPT09dC52YWx1ZSkpe3I9dC5rZXksdD10LnBhcmVudDtjb250aW51ZX1icmVha319ZWxzZXtsZXQgcj10LmdldChvKTt2b2lkIDAhPT1yJiZudWxsIT09ci52YWx1ZSYmZChlLHIudmFsdWUpfX1mdW5jdGlvbiB5KGUsdCl7bGV0IHI9ZS5yZWY7bnVsbCE9PXImJihlLnNpemU9dCwoMCxsLnVwZGF0ZUxydVNpemUpKHIsdCkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY1ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRSb3V0ZVZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDc1NzQ1KSxvPWUucig0NjIxOSk7ZnVuY3Rpb24gaShlLHQscil7cmV0dXJue3ZhbHVlOmUscGFyZW50Ont2YWx1ZTp0LHBhcmVudDp7dmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBjKGUsdCxyLG4pe3JldHVybnt2YWx1ZTplLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6e3ZhbHVlOm4/cjp1LkZhbGxiYWNrLHBhcmVudDpudWxsfX19fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm57dmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybnt2YWx1ZTplLHBhcmVudDp0fX1mdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm57dmFsdWU6ZSxwYXJlbnQ6e3ZhbHVlOnQscGFyZW50OnJ9fX1mdW5jdGlvbiBoKGUsdCxyKXtyZXR1cm57dmFsdWU6ZStvLkhFQURfUkVRVUVTVF9LRVkscGFyZW50Ont2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gcChlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue3ZhbHVlOnIudmFsdWUscGFyZW50Ont2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24geShlLHQpe2xldCByPWUucGFyZW50O3JldHVybnt2YWx1ZTplLnZhbHVlLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjMxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj1uZXcgVVJMKGUpO3JldHVybntwYXRobmFtZTpyLnBhdGhuYW1lLHNlYXJjaDpyLnNlYXJjaCxuZXh0VXJsOnR9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc1NzgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjYW5jZWxQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gRX0saXNQcmVmZXRjaFRhc2tEaXJ0eTpmdW5jdGlvbigpe3JldHVybiBifSxwaW5nUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LHJlc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bjpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNDQ1NyksdT1lLnIoODk2MTYpLG89ZS5yKDQ0NjY3KSxpPWUucig2NTg5MyksYz1lLnIoMTYzMTYpLHM9ZS5yKDUyNDEzKSxmPWUucigyNzQ1NCksZD0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6ZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbihlKS5jYXRjaChlPT5zZXRUaW1lb3V0KCgpPT57dGhyb3cgZX0pKSxoPVtdLHA9MCx5PTAsZz0hMSxSPW51bGwsXz1udWxsO2Z1bmN0aW9uIFAoKXtudWxsIT09XyYmY2xlYXJUaW1lb3V0KF8pLF89c2V0VGltZW91dCgoKT0+e189bnVsbCxUKCl9LDMwMCl9ZnVuY3Rpb24gdihlLHQscixuLGEpe2xldCBsPXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LGNhY2hlVmVyc2lvbjooMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCkscHJpb3JpdHk6bixwaGFzZToxLGhhc0JhY2tncm91bmRXb3JrOiExLHNwYXduZWRSdW50aW1lUHJlZmV0Y2hlczpudWxsLGZldGNoU3RyYXRlZ3k6cixzb3J0SWQ6eSsrLGlzQ2FuY2VsZWQ6ITEsb25JbnZhbGlkYXRlOmEsX2hlYXBJbmRleDotMX07cmV0dXJuIFMobCksQihoLGwpLFQoKSxsfWZ1bmN0aW9uIEUoZSl7ZS5pc0NhbmNlbGVkPSEwLGZ1bmN0aW9uKGUsdCl7bGV0IHI9dC5faGVhcEluZGV4O2lmKC0xIT09ciYmKHQuX2hlYXBJbmRleD0tMSwwIT09ZS5sZW5ndGgpKXtsZXQgbj1lLnBvcCgpO24hPT10JiYoZVtyXT1uLG4uX2hlYXBJbmRleD1yLHooZSxuLHIpKX19KGgsZSl9ZnVuY3Rpb24gbShlLHQscixuKXtlLmlzQ2FuY2VsZWQ9ITEsZS5waGFzZT0xLGUuc29ydElkPXkrKyxlLnByaW9yaXR5PWU9PT1SP3MuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQ6bixlLnRyZWVBdFRpbWVPZlByZWZldGNoPXQsZS5mZXRjaFN0cmF0ZWd5PXIsUyhlKSwtMSE9PWUuX2hlYXBJbmRleD9xKGgsZSk6QihoLGUpLFQoKX1mdW5jdGlvbiBiKGUsdCxyKXtsZXQgbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7cmV0dXJuIGUuY2FjaGVWZXJzaW9uIT09bnx8ZS50cmVlQXRUaW1lT2ZQcmVmZXRjaCE9PXJ8fGUua2V5Lm5leHRVcmwhPT10fWZ1bmN0aW9uIFMoZSl7ZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQmJmUhPT1SJiYobnVsbCE9PVImJlIucHJpb3JpdHkhPT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCYmKFIucHJpb3JpdHk9cy5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQscShoLFIpKSxSPWUpfWZ1bmN0aW9uIFQoKXtnfHwoZz0hMCxkKFUpKX1mdW5jdGlvbiBPKGUpe3JldHVybiBudWxsPT09XyYmKGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50P3A8MTI6cDw0KX1mdW5jdGlvbiBqKGUpe3JldHVybiBwKyssZS50aGVuKGU9Pm51bGw9PT1lPyhNKCksbnVsbCk6KGUuY2xvc2VkLnRoZW4oTSksZS52YWx1ZSkpfWZ1bmN0aW9uIE0oKXtwLS0sVCgpfWZ1bmN0aW9uIEEoZSl7ZS5pc0NhbmNlbGVkfHwtMSE9PWUuX2hlYXBJbmRleHx8KEIoaCxlKSxUKCkpfWZ1bmN0aW9uIFUoKXtnPSExO2xldCBlPURhdGUubm93KCksdD1LKGgpO2Zvcig7bnVsbCE9PXQmJk8odCk7KXt0LmNhY2hlVmVyc2lvbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7bGV0IHI9ZnVuY3Rpb24oZSx0KXtsZXQgcj10LmtleSxuPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsciksYT1mdW5jdGlvbihlLHQscil7c3dpdGNoKHIuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoUm91dGVPbkNhY2hlTWlzcykocix0LHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOntpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgaT1yLnRyZWUsYz10LmZldGNoU3RyYXRlZ3k9PT1zLkZldGNoU3RyYXRlZ3kuUFBSP3IuaXNQUFJFbmFibGVkP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3k7c3dpdGNoKGMpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKEYobj1lLGE9dCx1PXIsKDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUsdS5tZXRhZGF0YSksYS5rZXksdS5tZXRhZGF0YSksMD09PWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGwpO0YodCxyLG4sdSxyLmtleSxsKTtsZXQgaT1hWzFdLGM9bC5zbG90cztpZihudWxsIT09Yylmb3IobGV0IGEgaW4gYyl7aWYoIU8ocikpcmV0dXJuIDA7bGV0IGw9Y1thXSx1PWwuc2VnbWVudCxzPWlbYV0sZj1zPy5bMF07aWYoMD09PSh2b2lkIDAhPT1mJiZrKG4sdSxmKT9lKHQscixuLHMsbCk6ZnVuY3Rpb24gZSh0LHIsbixhKXtpZihhLmhhc1J1bnRpbWVQcmVmZXRjaClyZXR1cm4gbnVsbD09PXIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzP3Iuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW5ldyBTZXQoW2EucmVxdWVzdEtleV0pOnIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzLmFkZChhLnJlcXVlc3RLZXkpLDI7bGV0IGw9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksbixhKTtpZihGKHQscixuLGwsci5rZXksYSksbnVsbCE9PWEuc2xvdHMpe2lmKCFPKHIpKXJldHVybiAwO2ZvcihsZXQgbCBpbiBhLnNsb3RzKWlmKDA9PT1lKHQscixuLGEuc2xvdHNbbF0pKXJldHVybiAwfXJldHVybiAyfSh0LHIsbixsKSkpcmV0dXJuIDB9cmV0dXJuIDJ9KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsaSkpcmV0dXJuIDA7bGV0IGw9dC5zcGF3bmVkUnVudGltZVByZWZldGNoZXM7aWYobnVsbCE9PWwpe2xldCBuPW5ldyBNYXA7TihlLHQscixuLHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtpZihsLmhhcyhhLnJlcXVlc3RLZXkpKXJldHVybiB3KHQscixuLGEsITEsdSxzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSk7bGV0IG89e30saT1hLnNsb3RzO2lmKG51bGwhPT1pKWZvcihsZXQgYSBpbiBpKXtsZXQgYz1pW2FdO29bYV09ZSh0LHIsbixjLGwsdSl9cmV0dXJuW2Euc2VnbWVudCxvLG51bGwsbnVsbF19KGUsdCxyLGksbCxuKTtuLnNpemU+MCYmaigoMCxvLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIscy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUsYSxuKSl9cmV0dXJuIDJ9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp7bGV0IG49bmV3IE1hcDtOKGUsdCxyLG4sYyk7bGV0IGE9ZnVuY3Rpb24gZSh0LHIsbixhLHUsaSxjKXtsZXQgZj1hWzFdLGQ9dS5zbG90cyxoPXt9O2lmKG51bGwhPT1kKWZvcihsZXQgYSBpbiBkKXtsZXQgdT1kW2FdLHA9dS5zZWdtZW50LHk9ZlthXSxnPXk/LlswXTtpZih2b2lkIDAhPT1nJiZrKG4scCxnKSl7bGV0IGw9ZSh0LHIsbix5LHUsaSxjKTtoW2FdPWx9ZWxzZSBzd2l0Y2goYyl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgZT11Lmhhc0xvYWRpbmdCb3VuZGFyeSE9PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeT9mdW5jdGlvbiBlKHQscixuLGEsdSxpKXtsZXQgYz1udWxsPT09dT8iaW5zaWRlLXNoYXJlZC1sYXlvdXQiOm51bGwsZj0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5Omkuc2V0KGEucmVxdWVzdEtleSwoMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZihhLmhhc0xvYWRpbmdCb3VuZGFyeT09PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpcmV0dXJuKDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkoYSk7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1sZXQgZD17fTtpZihudWxsIT09YS5zbG90cylmb3IobGV0IGwgaW4gYS5zbG90cyl7bGV0IG89YS5zbG90c1tsXTtkW2xdPWUodCxyLG4sbyx1LGkpfXJldHVyblthLnNlZ21lbnQsZCxudWxsLGMsYS5pc1Jvb3RMYXlvdXRdfSh0LHIsbix1LG51bGwsaSk6KDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkodSk7aFthXT1lO2JyZWFrfWNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6e2xldCBlPXcodCxyLG4sdSwhMSxpLGMpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOntsZXQgZT13KHQscixuLHUsITEsaSxjKTtoW2FdPWV9fX1yZXR1cm5bdS5zZWdtZW50LGgsbnVsbCxudWxsLHUuaXNSb290TGF5b3V0XX0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxpLG4sYyk7cmV0dXJuIG4uc2l6ZT4wJiZqKCgwLG8uZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixjLGEsbikpLDJ9fX19cmV0dXJuIDJ9KGUsdCxuKTtpZigwIT09YSYmIiIhPT1yLnNlYXJjaCl7bGV0IG49bmV3IFVSTChyLnBhdGhuYW1lLGxvY2F0aW9uLm9yaWdpbiksYT0oMCxjLmNyZWF0ZUNhY2hlS2V5KShuLmhyZWYsci5uZXh0VXJsKSxsPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsYSk7c3dpdGNoKGwuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6Qyh0KSYmKGwuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZyxqKCgwLG8uZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShsLHQsYSkpKTtjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fXJldHVybiBhfShlLHQpLG49dC5oYXNCYWNrZ3JvdW5kV29yaztzd2l0Y2godC5oYXNCYWNrZ3JvdW5kV29yaz0hMSx0LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1udWxsLHIpe2Nhc2UgMDpyZXR1cm47Y2FzZSAxOlYoaCksdD1LKGgpO2NvbnRpbnVlO2Nhc2UgMjoxPT09dC5waGFzZT8odC5waGFzZT0wLHEoaCx0KSk6bj8odC5wcmlvcml0eT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCxxKGgsdCkpOlYoaCksdD1LKGgpO2NvbnRpbnVlfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kfHwoZS5oYXNCYWNrZ3JvdW5kV29yaz0hMCwhMSl9ZnVuY3Rpb24gTihlLHQscixuLGEpe3coZSx0LHIsci5tZXRhZGF0YSwhMSxuLGE9PT1zLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5P3MuRmV0Y2hTdHJhdGVneS5GdWxsOmEpfWZ1bmN0aW9uIHcoZSx0LHIsbixhLGwsdSl7bGV0IGk9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkoZSx1LHIsbiksYz1udWxsO3N3aXRjaChpLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5OmM9KDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoaSx1KTticmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmkuaXNQYXJ0aWFsJiYoMCxvLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKGkuZmV0Y2hTdHJhdGVneSx1KSYmKGM9TChlLHIsbix1KSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLG8uY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoaS5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1MKGUscixuLHUpKX1sZXQgcz17fTtpZihudWxsIT09bi5zbG90cylmb3IobGV0IG8gaW4gbi5zbG90cyl7bGV0IGk9bi5zbG90c1tvXTtzW29dPXcoZSx0LHIsaSxhfHxudWxsIT09YyxsLHUpfW51bGwhPT1jJiZsLnNldChuLnJlcXVlc3RLZXksYyk7bGV0IGY9YXx8bnVsbD09PWM/bnVsbDoicmVmZXRjaCI7cmV0dXJuW24uc2VnbWVudCxzLG51bGwsZixuLmlzUm9vdExheW91dF19ZnVuY3Rpb24gRihlLHQscixuLGEsbCl7c3dpdGNoKG4uc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoU2VnbWVudE9uQ2FjaGVNaXNzKShyLCgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scy5GZXRjaFN0cmF0ZWd5LlBQUiksYSxsKSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6Qyh0KSYmSShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1icmVhaztjYXNlIG8uRW50cnlTdGF0dXMuUmVqZWN0ZWQ6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6SShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1jYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOn19ZnVuY3Rpb24gSShlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxzLkZldGNoU3RyYXRlZ3kuUFBSLHQsbik7c3dpdGNoKGEuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6eChqKCgwLG8uZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKHMuRmV0Y2hTdHJhdGVneS5QUFIsbikpO2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19ZnVuY3Rpb24gTChlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxuLHQscik7aWYoYS5zdGF0dXM9PT1vLkVudHJ5U3RhdHVzLkVtcHR5KXtsZXQgZT0oMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShhLG4pO3JldHVybiB4KCgwLG8ud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShlKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKG4scikpLGV9aWYoKDAsby5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShhLmZldGNoU3RyYXRlZ3ksbikpe2xldCBlPSgwLG8ub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKG4sdCxyKSxhPSgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKGUsbik7cmV0dXJuIHgoKDAsby53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLCgwLGkuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkobixyKSksYX1zd2l0Y2goYS5zdGF0dXMpe2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWxldCBEPSgpPT57fTtmdW5jdGlvbiB4KGUsdCl7ZS50aGVuKGU9PntudWxsIT09ZSYmKDAsby51cHNlcnRTZWdtZW50RW50cnkpKERhdGUubm93KCksdCxlKX0sRCl9ZnVuY3Rpb24gayhlLHQscil7cmV0dXJuIHI9PT1mLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGYuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZi5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gSChlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24gQihlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9cixHKGUsdCxyKX1mdW5jdGlvbiBLKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLHooZSxyLDApKSx0fWZ1bmN0aW9uIHEoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/eihlLHQsMCk6SChlW3ItMT4+PjFdLHQpPjA/RyhlLHQscik6eihlLHQscikpfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKEgoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIHooZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxvPWVbdV07aWYoMD5IKGwsdCkpdTxhJiYwPkgobyxsKT8oZVtuXT1vLG8uX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5IKG8sdCkpKXJldHVybjtlW25dPW8sby5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk4MDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtsZXQgdD1lLmluZGV4T2YoIiMiKSxyPWUuaW5kZXhPZigiPyIpLG49cj4tMSYmKHQ8MHx8cjx0KTtyZXR1cm4gbnx8dD4tMT97cGF0aG5hbWU6ZS5zdWJzdHJpbmcoMCxuP3I6dCkscXVlcnk6bj9lLnN1YnN0cmluZyhyLHQ+LTE/dDp2b2lkIDApOiIiLGhhc2g6dD4tMT9lLnNsaWNlKHQpOiIifTp7cGF0aG5hbWU6ZSxxdWVyeToiIixoYXNoOiIifX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkwNTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODA2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSw5ODk0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTgwNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5ODk0NyksYT1lLnIoOTgwNjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNDg1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWRkQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5MDU4KSxhPWUucig2MTgwNyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI5MzYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDM0NjUpLHU9ZS5yKDE0ODU3KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gaShlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbyh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTgyODMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBzfSxtb3VudEZvcm1JbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB2fSxtb3VudExpbmtJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBQfSxvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZDpmdW5jdGlvbigpe3JldHVybiBtfSxvbk5hdmlnYXRpb25JbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0scGluZ1Zpc2libGVMaW5rczpmdW5jdGlvbigpe3JldHVybiBUfSxzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBofSx1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDE2MzE2KSxvPWUucig3NTc4MCksaT1lLnIoNzUyMDEpLGM9bnVsbCxzPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKHMpLGM9ZX0pfWZ1bmN0aW9uIGgoZSl7Yz09PWUmJihjPW51bGwpfWxldCBwPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBNYXAseT1uZXcgU2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtmb3IobGV0IHQgb2YgZSl7bGV0IGU9dC5pbnRlcnNlY3Rpb25SYXRpbz4wO20odC50YXJnZXQsZSl9fSx7cm9vdE1hcmdpbjoiMjAwcHgifSk6bnVsbDtmdW5jdGlvbiBSKGUsdCl7dm9pZCAwIT09cC5nZXQoZSkmJkUoZSkscC5zZXQoZSx0KSxudWxsIT09ZyYmZy5vYnNlcnZlKGUpfWZ1bmN0aW9uIF8odCl7aWYoISgidSI+dHlwZW9mIHdpbmRvdykpcmV0dXJuIG51bGw7e2xldHtjcmVhdGVQcmVmZXRjaFVSTDpyfT1lLnIoMjkzNjIpO3RyeXtyZXR1cm4gcih0KX1jYXRjaHtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmNvbnNvbGUuZXJyb3IpKGBDYW5ub3QgcHJlZmV0Y2ggJyR7dH0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSxudWxsfX19ZnVuY3Rpb24gUChlLHQscixuLGEsbCl7aWYoYSl7bGV0IGE9Xyh0KTtpZihudWxsIT09YSl7bGV0IHQ9e3JvdXRlcjpyLGZldGNoU3RyYXRlZ3k6bixpc1Zpc2libGU6ITEscHJlZmV0Y2hUYXNrOm51bGwscHJlZmV0Y2hIcmVmOmEuaHJlZixzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfTtyZXR1cm4gUihlLHQpLHR9fXJldHVybntyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjpudWxsLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOmx9fWZ1bmN0aW9uIHYoZSx0LHIsbil7bGV0IGE9Xyh0KTtudWxsPT09YXx8UihlLHtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bnVsbH0pfWZ1bmN0aW9uIEUoZSl7bGV0IHQ9cC5nZXQoZSk7aWYodm9pZCAwIT09dCl7cC5kZWxldGUoZSkseS5kZWxldGUodCk7bGV0IHI9dC5wcmVmZXRjaFRhc2s7bnVsbCE9PXImJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShyKX1udWxsIT09ZyYmZy51bm9ic2VydmUoZSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJihyLmlzVmlzaWJsZT10LHQ/eS5hZGQocik6eS5kZWxldGUociksUyhyLGwuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KSl9ZnVuY3Rpb24gYihlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJnZvaWQgMCE9PXImJlMocixsLlByZWZldGNoUHJpb3JpdHkuSW50ZW50KX1mdW5jdGlvbiBTKHQscil7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBuPXQucHJlZmV0Y2hUYXNrO2lmKCF0LmlzVmlzaWJsZSl7bnVsbCE9PW4mJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShuKTtyZXR1cm59bGV0e2dldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTphfT1lLnIoODQzOTUpLGw9YSgpO2lmKG51bGwhPT1sKXtsZXQgZT1sLnRyZWU7aWYobnVsbD09PW4pe2xldCBuPWwubmV4dFVybCxhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHQucHJlZmV0Y2hIcmVmLG4pO3QucHJlZmV0Y2hUYXNrPSgwLG8uc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsZSx0LmZldGNoU3RyYXRlZ3kscixudWxsKX1lbHNlKDAsby5yZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKShuLGUsdC5mZXRjaFN0cmF0ZWd5LHIpfX19ZnVuY3Rpb24gVChlLHQpe2ZvcihsZXQgciBvZiB5KXtsZXQgbj1yLnByZWZldGNoVGFzaztpZihudWxsIT09biYmISgwLG8uaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpKWNvbnRpbnVlO251bGwhPT1uJiYoMCxvLmNhbmNlbFByZWZldGNoVGFzaykobik7bGV0IGE9KDAsdS5jcmVhdGVDYWNoZUtleSkoci5wcmVmZXRjaEhyZWYsZSk7ci5wcmVmZXRjaFRhc2s9KDAsby5zY2hlZHVsZVByZWZldGNoVGFzaykoYSx0LHIuZmV0Y2hTdHJhdGVneSxsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCxudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDA0NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDQ2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RW50cnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gU30sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlYX0sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbCx0LmlzUm9vdExheW91dF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiAkfSxmZXRjaFNlZ21lbnRPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBRfSxmZXRjaFNlZ21lbnRQcmVmZXRjaGVzVXNpbmdEeW5hbWljUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBKfSxnZXRDdXJyZW50Q2FjaGVWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldFN0YWxlVGltZU1zOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG92ZXJ3cml0ZVJldmFsaWRhdGluZ1NlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHBpbmdJbnZhbGlkYXRpb25MaXN0ZW5lcnM6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBMfSxyZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBrfSxyZWFkUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHd9LHJlYWRTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBGfSxyZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBEfSxyZXZhbGlkYXRlRW50aXJlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gcX0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBJfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigyNDQ1Nyksbz1lLnIoMzQ2NDEpLGk9ZS5yKDExMDYpLGM9ZS5yKDc1NzgwKSxzPWUucig2NTg5MyksZj1lLnIoNjE3MDYpLGQ9ZS5yKDg1NTk0KSxoPWUucigxNjMxNikscD1lLnIoODgwNjIpLHk9ZS5yKDc1NzQ1KSxnPWUucig0NjIxOSksUj1lLnIoNjc2MjgpLF89ZS5yKDU0MDExKSxQPWUucig5ODI4Myksdj1lLnIoMjc0NTQpLEU9ZS5yKDUyNDEzKSxtPWUucig0MDQ2MSk7ZnVuY3Rpb24gYihlKXtyZXR1cm4gMWUzKk1hdGgubWF4KGUsMzApfXZhciBTPSgobj17fSlbbi5FbXB0eT0wXT0iRW1wdHkiLG5bbi5QZW5kaW5nPTFdPSJQZW5kaW5nIixuW24uRnVsZmlsbGVkPTJdPSJGdWxmaWxsZWQiLG5bbi5SZWplY3RlZD0zXT0iUmVqZWN0ZWQiLG4pO2xldCBUPVsiIix7fSxudWxsLCJtZXRhZGF0YS1vbmx5Il0sTz0oMCx5LmNyZWF0ZUNhY2hlTWFwKSgpLGo9KDAseS5jcmVhdGVDYWNoZU1hcCkoKSxNPW51bGwsQT0wO2Z1bmN0aW9uIFUoKXtyZXR1cm4gQX1mdW5jdGlvbiBDKGUsdCl7QSsrLCgwLGMuc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bikoKSwoMCxQLnBpbmdWaXNpYmxlTGlua3MpKGUsdCksTihlLHQpfWZ1bmN0aW9uIE4oZSx0KXtpZihudWxsIT09TSl7bGV0IHI9TTtmb3IobGV0IG4gb2YoTT1udWxsLHIpKSgwLGMuaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpJiZmdW5jdGlvbihlKXtsZXQgdD1lLm9uSW52YWxpZGF0ZTtpZihudWxsIT09dCl7ZS5vbkludmFsaWRhdGU9bnVsbDt0cnl7dCgpfWNhdGNoKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcihlKTpjb25zb2xlLmVycm9yKGUpfX19KG4pfX1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9KDAscy5nZXRSb3V0ZVZhcnlQYXRoKSh0LnBhdGhuYW1lLHQuc2VhcmNoLHQubmV4dFVybCk7cmV0dXJuKDAseS5nZXRGcm9tQ2FjaGVNYXApKGUsQSxPLHIsITEpfWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4oMCx5LmdldEZyb21DYWNoZU1hcCkoZSxBLGosdCwhMSl9ZnVuY3Rpb24gSShlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEwoZSx0LHIpe251bGwhPT10Lm9uSW52YWxpZGF0ZSYmKG51bGw9PT1NP009bmV3IFNldChbdF0pOk0uYWRkKHQpKTtsZXQgbj13KGUscik7aWYobnVsbCE9PW4pcmV0dXJuIG47bGV0IGE9e2Nhbm9uaWNhbFVybDpudWxsLHN0YXR1czowLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6bnVsbCxtZXRhZGF0YTpudWxsLGNvdWxkQmVJbnRlcmNlcHRlZDohMCxpc1BQUkVuYWJsZWQ6ITEscmVuZGVyZWRTZWFyY2g6bnVsbCxyZWY6bnVsbCxzaXplOjAsc3RhbGVBdDoxLzAsdmVyc2lvbjpBfSxsPSgwLHMuZ2V0Um91dGVWYXJ5UGF0aCkoci5wYXRobmFtZSxyLnNlYXJjaCxyLm5leHRVcmwpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoTyxsLGEsITEpLGF9ZnVuY3Rpb24gRChlLHQscil7bGV0IG49dC5zZWFyY2g7aWYoIiI9PT1uKXJldHVybiBudWxsO2xldCBhPW5ldyBVUkwodCk7YS5zZWFyY2g9IiI7bGV0IGw9dyhlLCgwLGguY3JlYXRlQ2FjaGVLZXkpKGEuaHJlZixyKSk7aWYobnVsbD09PWx8fDIhPT1sLnN0YXR1cylyZXR1cm4gbnVsbDtsZXQgdT1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLHQub3JpZ2luKSxvPSIiIT09dS5zZWFyY2g/dS5zZWFyY2g6bixpPSIiIT09bC5yZW5kZXJlZFNlYXJjaD9sLnJlbmRlcmVkU2VhcmNoOm4sYz1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbik7cmV0dXJuIGMuc2VhcmNoPW8se2Nhbm9uaWNhbFVybDooMCxkLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxzdGF0dXM6MixibG9ja2VkVGFza3M6bnVsbCx0cmVlOngobC50cmVlLGkpLG1ldGFkYXRhOngobC5tZXRhZGF0YSxpKSxjb3VsZEJlSW50ZXJjZXB0ZWQ6bC5jb3VsZEJlSW50ZXJjZXB0ZWQsaXNQUFJFbmFibGVkOmwuaXNQUFJFbmFibGVkLHJlbmRlcmVkU2VhcmNoOmkscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6bC5zdGFsZUF0LHZlcnNpb246bC52ZXJzaW9ufX1mdW5jdGlvbiB4KGUsdCl7bGV0IHI9bnVsbCxuPWUuc2xvdHM7aWYobnVsbCE9PW4pZm9yKGxldCBlIGluIHI9e30sbil7bGV0IGE9bltlXTtyW2VdPXgoYSx0KX1yZXR1cm4gZS5pc1BhZ2U/e3JlcXVlc3RLZXk6ZS5yZXF1ZXN0S2V5LHNlZ21lbnQ6ZS5zZWdtZW50LHZhcnlQYXRoOigwLHMuY2xvbmVQYWdlVmFyeVBhdGhXaXRoTmV3U2VhcmNoUGFyYW1zKShlLnZhcnlQYXRoLHQpLGlzUGFnZTohMCxzbG90czpyLGlzUm9vdExheW91dDplLmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6ZS5oYXNMb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOmUuaGFzUnVudGltZVByZWZldGNofTp7cmVxdWVzdEtleTplLnJlcXVlc3RLZXksc2VnbWVudDplLnNlZ21lbnQsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixpc1Jvb3RMYXlvdXQ6ZS5pc1Jvb3RMYXlvdXQsaGFzTG9hZGluZ0JvdW5kYXJ5OmUuaGFzTG9hZGluZ0JvdW5kYXJ5LGhhc1J1bnRpbWVQcmVmZXRjaDplLmhhc1J1bnRpbWVQcmVmZXRjaH19ZnVuY3Rpb24gayhlLHQscixuKXtsZXQgYT1GKGUsbi52YXJ5UGF0aCk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLHU9VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixsLHUsITEpLHV9ZnVuY3Rpb24gSChlLHQscixuKXt2YXIgYTtsZXQgbD0oYT1uLnZhcnlQYXRoLCgwLHkuZ2V0RnJvbUNhY2hlTWFwKShlLEEsaixhLCEwKSk7aWYobnVsbCE9PWwpcmV0dXJuIGw7bGV0IHU9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLG89VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaix1LG8sITApLG99ZnVuY3Rpb24gQihlLHQscil7bGV0IG49KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KShlLHIpLGE9Vih0LnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixuLGEsITApLGF9ZnVuY3Rpb24gSyhlLHQscil7aWYoKDAseS5pc1ZhbHVlRXhwaXJlZCkoZSxBLHIpKXJldHVybiBudWxsO2xldCBuPUYoZSx0KTtpZihudWxsIT09bil7dmFyIGE7aWYoci5mZXRjaFN0cmF0ZWd5IT09bi5mZXRjaFN0cmF0ZWd5JiYoYT1uLmZldGNoU3RyYXRlZ3ksIShhPHIuZmV0Y2hTdHJhdGVneSkpfHwhbi5pc1BhcnRpYWwmJnIuaXNQYXJ0aWFsKXJldHVybiByLnN0YXR1cz0zLHIubG9hZGluZz1udWxsLHIucnNjPW51bGwsbnVsbDsoMCx5LmRlbGV0ZUZyb21DYWNoZU1hcCkobil9cmV0dXJuKDAseS5zZXRJbkNhY2hlTWFwKShqLHQsciwhMSkscn1mdW5jdGlvbiBWKGUpe3JldHVybntzdGF0dXM6MCxmZXRjaFN0cmF0ZWd5OkUuRmV0Y2hTdHJhdGVneS5QUFIscnNjOm51bGwsbG9hZGluZzpudWxsLGlzUGFydGlhbDohMCxwcm9taXNlOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6ZSx2ZXJzaW9uOjB9fWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gZS5zdGF0dXM9MSxlLmZldGNoU3RyYXRlZ3k9dCx0PT09RS5GZXRjaFN0cmF0ZWd5LkZ1bGwmJihlLmlzUGFydGlhbD0hMSksZS52ZXJzaW9uPUEsZX1mdW5jdGlvbiBHKGUpe2xldCB0PWUuYmxvY2tlZFRhc2tzO2lmKG51bGwhPT10KXtmb3IobGV0IGUgb2YgdCkoMCxjLnBpbmdQcmVmZXRjaFRhc2spKGUpO2UuYmxvY2tlZFRhc2tzPW51bGx9fWZ1bmN0aW9uIHooZSx0LHIsbixhLGwsbyxpKXtsZXQgYz17cmVxdWVzdEtleTpnLkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDpnLkhFQURfUkVRVUVTVF9LRVksdmFyeVBhdGg6cixpc1BhZ2U6ITAsc2xvdHM6bnVsbCxpc1Jvb3RMYXlvdXQ6ITEsaGFzTG9hZGluZ0JvdW5kYXJ5OnUuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6ITF9O3JldHVybiBlLnN0YXR1cz0yLGUudHJlZT10LGUubWV0YWRhdGE9YyxlLnN0YWxlQXQ9bixlLmNvdWxkQmVJbnRlcmNlcHRlZD1hLGUuY2Fub25pY2FsVXJsPWwsZS5yZW5kZXJlZFNlYXJjaD1vLGUuaXNQUFJFbmFibGVkPWksRyhlKSxlfWZ1bmN0aW9uIFgoZSx0LHIsbixhKXtyZXR1cm4gZS5zdGF0dXM9MixlLnJzYz10LGUubG9hZGluZz1yLGUuc3RhbGVBdD1uLGUuaXNQYXJ0aWFsPWEsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKGUpLGUucHJvbWlzZT1udWxsKSxlfWZ1bmN0aW9uIFcoZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LEcoZSl9ZnVuY3Rpb24gWShlLHQpe2Uuc3RhdHVzPTMsZS5zdGFsZUF0PXQsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKG51bGwpLGUucHJvbWlzZT1udWxsKX1hc3luYyBmdW5jdGlvbiAkKGUsdCxyKXtsZXQgbj1yLnBhdGhuYW1lLGE9ci5zZWFyY2gsbD1yLm5leHRVcmwsYz17W28uUlNDX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXToiL190cmVlIn07bnVsbCE9PWwmJihjW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcixoLFA9bmV3IFVSTChuK2EsbG9jYXRpb24ub3JpZ2luKTtpZihyPWF3YWl0IGVyKFAsYyksaD1udWxsIT09ciYmci5yZWRpcmVjdGVkP25ldyBVUkwoci51cmwpOlAsIXJ8fCFyLm9rfHwyMDQ9PT1yLnN0YXR1c3x8IXIuYm9keSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBTPSgwLGQuY3JlYXRlSHJlZkZyb21VcmwpKGgpLFQ9ci5oZWFkZXJzLmdldCgidmFyeSIpLGo9bnVsbCE9PVQmJlQuaW5jbHVkZXMoby5ORVhUX1VSTCksTT0oMCxtLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLEE9IjIiPT09ci5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoQSl7bGV0IHQsbixhPWVuKHIuYm9keSxNLnJlc29sdmUsZnVuY3Rpb24odCl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkoZSx0KX0pLGw9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShhLGMpO2lmKGwuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBvPSgwLHAuZ2V0UmVuZGVyZWRQYXRobmFtZSkociksZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShyKSxoPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KHQ9by5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLG49Zy5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsbyxpLGMpe2xldCBmLGQsaD1udWxsLHk9dC5zbG90cztpZihudWxsIT09eSlmb3IobGV0IHQgaW4gZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxoPXt9LHkpe2xldCByLHUsZixkPXlbdF0sUj1kLm5hbWUsXz1kLnBhcmFtVHlwZSxQPWQucGFyYW1LZXk7aWYobnVsbCE9PV8pe2xldCBlPSgwLHAucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkoXyxsLG8pLHQ9bnVsbCE9PVA/UDooMCxwLmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShlLCIiKTtmPSgwLHMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKG4sdCksdT1bUix0LF9dLHI9ITB9ZWxzZSBmPW4sdT1SLHI9KDAscC5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShSKTtsZXQgdj1yP28rMTpvLEU9KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLG09KDAsZy5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGEsdCxFKTtoW3RdPWUoZCx1LGYsbSxsLHYsaSxjKX1lbHNlIGEuZW5kc1dpdGgodi5QQUdFX1NFR01FTlRfS0VZKT8oZj0hMCxkPSgwLHMuZmluYWxpemVQYWdlVmFyeVBhdGgpKGEsaSxuKSxudWxsPT09Yy5tZXRhZGF0YVZhcnlQYXRoJiYoYy5tZXRhZGF0YVZhcnlQYXRoPSgwLHMuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKShhLGksbikpKTooZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSk7cmV0dXJue3JlcXVlc3RLZXk6YSxzZWdtZW50OnIsdmFyeVBhdGg6ZCxpc1BhZ2U6ZixzbG90czpoLGlzUm9vdExheW91dDp0LmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6dS5IYXNMb2FkaW5nQm91bmRhcnkuU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6dC5oYXNSdW50aW1lUHJlZmV0Y2h9fShsLnRyZWUsbixudWxsLGcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLHQsMCxkLGgpKSxfPWgubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09XylyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBQPWIobC5zdGFsZVRpbWUpO3ooZSxSLF8sRGF0ZS5ub3coKStQLGosUyxkLEEpfWVsc2V7bGV0IG49ZW4oci5ib2R5LE0ucmVzb2x2ZSxmdW5jdGlvbih0KXsoMCx5LnNldFNpemVJbkNhY2hlTWFwKShlLHQpfSksYT1hd2FpdCAoMCxpLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKG4sYyk7aWYoYS5iIT09KDAsZi5nZXRBcHBCdWlsZElkKSgpKXJldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7IWZ1bmN0aW9uKGUsdCxyLG4sYSxsLGksYyxmKXtsZXQgZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShuKSxoPSgwLFIubm9ybWFsaXplRmxpZ2h0RGF0YSkoYS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGh8fDEhPT1oLmxlbmd0aClyZXR1cm4gVyhsLGUrMWU0KTtsZXQgeT1oWzBdO2lmKCF5LmlzUm9vdFJlbmRlcilyZXR1cm4gVyhsLGUrMWU0KTtsZXQgUD15LnRyZWUsRT0ibnVtYmVyIj09dHlwZW9mIGEucnA/LlsxXT9hLnJwWzFdOnBhcnNlSW50KG4uaGVhZGVycy5nZXQoby5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKSxtPWlzTmFOKEUpP18uU1RBVElDX1NUQUxFVElNRV9NUzpiKEUpLFM9IjEiPT09bi5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksVD17bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSxPPWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgbyxpLGMsZixkPXRbMF07aWYoQXJyYXkuaXNBcnJheShkKSl7Yz0hMTtsZXQgZT1kWzFdO2k9KDAscy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobixlKSxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSxvPWR9ZWxzZSBpPW4sci5lbmRzV2l0aCh2LlBBR0VfU0VHTUVOVF9LRVkpPyhjPSEwLG89di5QQUdFX1NFR01FTlRfS0VZLGY9KDAscy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkocixhLGkpLG51bGw9PT1sLm1ldGFkYXRhVmFyeVBhdGgmJihsLm1ldGFkYXRhVmFyeVBhdGg9KDAscy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHIsYSxpKSkpOihjPSExLG89ZCxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSk7bGV0IGg9bnVsbCxwPXRbMV07Zm9yKGxldCB0IGluIHApe2xldCBuPXBbdF0sdT1uWzBdLG89KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLGM9ZShuLCgwLGcuYXBwZW5kU2VnbWVudFJlcXVlc3RLZXlQYXJ0KShyLHQsbyksaSxhLGwpO251bGw9PT1oP2g9e1t0XTpjfTpoW3RdPWN9cmV0dXJue3JlcXVlc3RLZXk6cixzZWdtZW50Om8sdmFyeVBhdGg6Zixpc1BhZ2U6YyxzbG90czpoLGlzUm9vdExheW91dDohMD09PXRbNF0saGFzTG9hZGluZ0JvdW5kYXJ5OnZvaWQgMCE9PXRbNV0/dFs1XTp1Lkhhc0xvYWRpbmdCb3VuZGFyeS5TdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOiExfX0oUCxnLlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLGQsVCksaj1ULm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PWopcmV0dXJuIFcobCxlKzFlNCk7bGV0IE09eihsLE8saixlK20saSxjLGQsZik7ZWUoZSx0LHIsbixhLFMsTSxudWxsKX0oRGF0ZS5ub3coKSx0LEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkscixhLGUsaixTLEEpfWlmKCFqKXtsZXQgdD0oMCxzLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKG4sYSxsLGopOygwLHkuc2V0SW5DYWNoZU1hcCkoTyx0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpNLnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFEoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9ci5uZXh0VXJsLHU9bi5yZXF1ZXN0S2V5LGM9dT09PWcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZPyIvX2luZGV4Ijp1LHM9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Y307bnVsbCE9PWwmJihzW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcj1hd2FpdCBlcihhLHMpO2lmKCFyfHwhci5va3x8MjA0PT09ci5zdGF0dXN8fCIyIiE9PXIuaGVhZGVycy5nZXQoby5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhci5ib2R5KXJldHVybiBZKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IG49KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxsPWVuKHIuYm9keSxuLnJlc29sdmUsZnVuY3Rpb24oZSl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkodCxlKX0pLHU9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLHMpO2lmKHUuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gWSh0LERhdGUubm93KCkrMWU0KSxudWxsO3JldHVybnt2YWx1ZTpYKHQsdS5yc2MsdS5sb2FkaW5nLGUuc3RhbGVBdCx1LmlzUGFydGlhbCksY2xvc2VkOm4ucHJvbWlzZX19Y2F0Y2goZSl7cmV0dXJuIFkodCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gSihlLHQscixuLGEpe2xldCBsPWUua2V5LHU9bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGM9bC5uZXh0VXJsOzE9PT1hLnNpemUmJmEuaGFzKHQubWV0YWRhdGEucmVxdWVzdEtleSkmJihuPVQpO2xldCBzPXtbby5SU0NfSEVBREVSXToiMSIsW28uTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOigwLFIucHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCkobil9O3N3aXRjaChudWxsIT09YyYmKHNbby5ORVhUX1VSTF09Yykscil7Y2FzZSBFLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOnNbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIyIjticmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6c1tvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl09IjEifXRyeXtsZXQgbj1hd2FpdCBlcih1LHMpO2lmKCFufHwhbi5va3x8IW4uYm9keXx8KDAscC5nZXRSZW5kZXJlZFNlYXJjaCkobikhPT10LnJlbmRlcmVkU2VhcmNoKXJldHVybiBaKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGw9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxvPW51bGwsYz1lbihuLmJvZHksbC5yZXNvbHZlLGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1vKXJldHVybjtsZXQgdD1lL28ubGVuZ3RoO2ZvcihsZXQgZSBvZiBvKSgwLHkuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9KSxmPWF3YWl0ICgwLGkuY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYyxzKSxkPXI9PT1FLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSYmZi5ycD8uWzBdPT09ITA7cmV0dXJuIG89ZWUoRGF0ZS5ub3coKSxlLHIsbixmLGQsdCxhKSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gWihhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBaKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUudmFsdWVzKCkpMT09PW4uc3RhdHVzP1kobix0KToyPT09bi5zdGF0dXMmJnIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBlZShlLHQscixuLGEsbCx1LGkpe2lmKGEuYiE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PWkmJlooaSxlKzFlNCksbnVsbDtsZXQgYz0oMCxSLm5vcm1hbGl6ZUZsaWdodERhdGEpKGEuZik7aWYoInN0cmluZyI9PXR5cGVvZiBjKXJldHVybiBudWxsO2xldCBzPSJudW1iZXIiPT10eXBlb2YgYS5ycD8uWzFdP2EucnBbMV06cGFyc2VJbnQobi5oZWFkZXJzLmdldChvLk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSKT8/IiIsMTApLGQ9ZSsoaXNOYU4ocyk/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOmIocykpO2ZvcihsZXQgbiBvZiBjKXtsZXQgYT1uLnNlZWREYXRhO2lmKG51bGwhPT1hKXtsZXQgbz1uLnNlZ21lbnRQYXRoLGM9dS50cmVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9Mil7bGV0IHI9b1t0XTtpZihjPy5zbG90cz8uW3JdPT09dm9pZCAwKXJldHVybiBudWxsIT09aSYmWihpLGUrMWU0KSxudWxsO2M9Yy5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxvLGksYyl7bGV0IHM9b1swXTtldCh0LG4sYSxzLG9bMl0sbnVsbD09PXN8fGksdSxsLGMpO2xldCBmPWwuc2xvdHM7aWYobnVsbCE9PWYpe2xldCBsPW9bMV07Zm9yKGxldCBvIGluIGYpe2xldCBzPWZbb10sZD1sW29dO251bGwhPWQmJmUodCxyLG4sYSxzLHUsZCxpLGMpfX19KGUsdCxyLHUsYyxkLGEsbCxpKX1sZXQgbz1uLmhlYWQ7bnVsbCE9PW8mJmV0KGUscix1LG8sbnVsbCxuLmlzSGVhZFBhcnRpYWwsZCx1Lm1ldGFkYXRhLGkpfXJldHVybiBudWxsIT09aT9aKGksZSsxZTQpOm51bGx9ZnVuY3Rpb24gZXQoZSx0LHIsbixhLGwsdSxvLGkpe2xldCBjPW51bGwhPT1pP2kuZ2V0KG8ucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PWMpWChjLG4sYSx1LGwpO2Vsc2V7bGV0IGk9ayhlLHQscixvKTtpZigwPT09aS5zdGF0dXMpWChxKGksdCksbixhLHUsbCk7ZWxzZXtsZXQgcj1YKHEoVih1KSx0KSxuLGEsdSxsKTtLKGUsKDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG8pLHIpfX19YXN5bmMgZnVuY3Rpb24gZXIoZSx0KXtsZXQgcj1hd2FpdCAoMCxpLmNyZWF0ZUZldGNoKShlLHQsImxvdyIsITEpO2lmKCFyLm9rKXJldHVybiBudWxsO3tsZXQgZT1yLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKTtpZighKGUmJmUuc3RhcnRzV2l0aChvLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKSkpcmV0dXJuIG51bGx9cmV0dXJuIHJ9ZnVuY3Rpb24gZW4oZSx0LHIpe2xldCBuPTAsYT1lLmdldFJlYWRlcigpO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpsLHZhbHVlOnV9PWF3YWl0IGEucmVhZCgpO2lmKCFsKXtlLmVucXVldWUodSkscihuKz11LmJ5dGVMZW5ndGgpO2NvbnRpbnVlfXQoKTtyZXR1cm59fX0pfWZ1bmN0aW9uIGVhKGUsdCl7cmV0dXJuIGU8dH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NTQ2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiB2fSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBkfSxuYXZpZ2F0ZVRvU2VlZGVkUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTEwNiksdT1lLnIoMTg5MzkpLG89ZS5yKDg1NTk0KSxpPWUucig0NDY2NyksYz1lLnIoMTYzMTYpLHM9ZS5yKDI3NDU0KSxmPWUucig1MjQxMyk7ZnVuY3Rpb24gZChlLHQscixuLGEsbCx1LG8pe2xldCBzPURhdGUubm93KCksZD1lLmhyZWYsaD1kPT09dC5ocmVmLHk9KDAsYy5jcmVhdGVDYWNoZUtleSkoZCxhKSxfPSgwLGkucmVhZFJvdXRlQ2FjaGVFbnRyeSkocyx5KTtpZihudWxsIT09XyYmXy5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZCl7bGV0IG89ZyhzLF8sXy50cmVlKSxpPW8uZmxpZ2h0Um91dGVyU3RhdGUsYz1vLnNlZWREYXRhLGY9UihzLF8pLGQ9Zi5yc2MseT1mLmlzUGFydGlhbCxQPV8uY2Fub25pY2FsVXJsK2UuaGFzaDtyZXR1cm4gcChzLGUsdCxhLGgscixuLGksYyxkLHksUCxfLnJlbmRlcmVkU2VhcmNoLGwsdSl9aWYobnVsbD09PV98fF8uc3RhdHVzIT09aS5FbnRyeVN0YXR1cy5SZWplY3RlZCl7bGV0IG89KDAsaS5yZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeSkocyxlLGEpO2lmKG51bGwhPT1vKXtsZXQgaT1nKHMsbyxvLnRyZWUpLGM9aS5mbGlnaHRSb3V0ZXJTdGF0ZSxmPWkuc2VlZERhdGEsZD1SKHMsbykseT1kLnJzYyxfPWQuaXNQYXJ0aWFsLFA9by5jYW5vbmljYWxVcmwrZS5oYXNoO3JldHVybiBwKHMsZSx0LGEsaCxyLG4sYyxmLHksXyxQLG8ucmVuZGVyZWRTZWFyY2gsbCx1KX19bGV0IHY9by5jb2xsZWN0ZWREZWJ1Z0luZm8/P1tdO3JldHVybiB2b2lkIDA9PT1vLmNvbGxlY3RlZERlYnVnSW5mbyYmKHY9by5jb2xsZWN0ZWREZWJ1Z0luZm89W10pLHt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLkFzeW5jLGRhdGE6UChzLGUsdCxhLHIsbixsLHUsdil9fWZ1bmN0aW9uIGgoZSx0LHIsbixhLGwsbyxpLGMscyl7bGV0IGQ9e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0saD10LmhyZWY9PT1hLmhyZWYscD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxhLGwsbyxuLnRyZWUsaSxuLmRhdGEsbi5oZWFkLG51bGwsbnVsbCwhMSxoLGQpO3JldHVybiBudWxsIT09cD8oKDAsdS5zcGF3bkR5bmFtaWNSZXF1ZXN0cykocCx0LGMsaSxkKSx5KHAscixuLnJlbmRlcmVkU2VhcmNoLGQuc2Nyb2xsYWJsZVNlZ21lbnRzLHMsdC5oYXNoKSk6e3RhZzpmLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBLGRhdGE6cn19ZnVuY3Rpb24gcChlLHQscixuLGEsbCxvLGksYyxzLGQsaCxwLGcsUil7bGV0IF89e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0sUD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxyLGwsbyxpLGcsbnVsbCxudWxsLGMscyxkLGEsXyk7cmV0dXJuIG51bGwhPT1QPygoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKShQLHQsbixnLF8pLHkoUCxoLHAsXy5zY3JvbGxhYmxlU2VnbWVudHMsUix0Lmhhc2gpKTp7dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5NUEEsZGF0YTpofX1mdW5jdGlvbiB5KGUsdCxyLG4sYSxsKXtyZXR1cm57dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5TdWNjZXNzLGRhdGE6e2ZsaWdodFJvdXRlclN0YXRlOmUucm91dGUsY2FjaGVOb2RlOmUubm9kZSxjYW5vbmljYWxVcmw6dCxyZW5kZXJlZFNlYXJjaDpyLHNjcm9sbGFibGVTZWdtZW50czpuLHNob3VsZFNjcm9sbDphLGhhc2g6bH19fWZ1bmN0aW9uIGcoZSx0LHIpe2xldCBuPXt9LGE9e30sbD1yLnNsb3RzO2lmKG51bGwhPT1sKWZvcihsZXQgciBpbiBsKXtsZXQgdT1nKGUsdCxsW3JdKTtuW3JdPXUuZmxpZ2h0Um91dGVyU3RhdGUsYVtyXT11LnNlZWREYXRhfWxldCB1PW51bGwsbz1udWxsLGM9ITAsZj0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSxyLnZhcnlQYXRoKTtpZihudWxsIT09Zilzd2l0Y2goZi5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6dT1mLnJzYyxvPWYubG9hZGluZyxjPWYuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOntsZXQgZT0oMCxpLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkoZik7dT1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbz1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5sb2FkaW5nOm51bGwpLGM9Zi5pc1BhcnRpYWx9Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9cmV0dXJue2ZsaWdodFJvdXRlclN0YXRlOlsoMCxzLmFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQpKHIuc2VnbWVudCxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0LnJlbmRlcmVkU2VhcmNoKSkpLG4sbnVsbCxudWxsLHIuaXNSb290TGF5b3V0XSxzZWVkRGF0YTpbdSxhLG8sYywhMV19fWZ1bmN0aW9uIFIoZSx0KXtsZXQgcj1udWxsLG49ITAsYT0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSx0Lm1ldGFkYXRhLnZhcnlQYXRoKTtpZihudWxsIT09YSlzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6cj1hLnJzYyxuPWEuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnI9KDAsaS53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbj1hLmlzUGFydGlhbDtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1yZXR1cm57cnNjOnIsaXNQYXJ0aWFsOm59fWxldCBfPVsiIix7fSxudWxsLCJyZWZldGNoIl07YXN5bmMgZnVuY3Rpb24gUChlLHQscixuLGEsaSxjLHMsZCl7bGV0IHA7c3dpdGNoKGMpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6cD1pO2JyZWFrO2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuSHlkcmF0aW9uOmNhc2UgdS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDpjYXNlIHUuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2g6cD1fO2JyZWFrO2RlZmF1bHQ6cD1pfWxldCB5PSgwLGwuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodCx7ZmxpZ2h0Um91dGVyU3RhdGU6cCxuZXh0VXJsOm59KSxnPWF3YWl0IHk7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybnt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQSxkYXRhOmd9O2xldHtmbGlnaHREYXRhOlIsY2Fub25pY2FsVXJsOlAscmVuZGVyZWRTZWFyY2g6RSxkZWJ1Z0luZm86bX09ZztudWxsIT09bSYmZC5wdXNoKC4uLm0pO2xldCBiPXYoaSxSLEUpO3JldHVybiBoKGUsdCwoMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShQKSxiLHIsYSxpLGMsbixzKX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1lLGE9bnVsbCxsPW51bGw7Zm9yKGxldHtzZWdtZW50UGF0aDplLHRyZWU6cixzZWVkRGF0YTp1LGhlYWQ6b31vZiB0KXtsZXQgdD1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtsZXQgbztpZih1PT09bC5sZW5ndGgpcmV0dXJue3RyZWU6bixkYXRhOmF9O2xldCBpPWxbdV0sYz10WzFdLHM9bnVsbCE9PXI/clsxXTpudWxsLGY9e30sZD17fTtmb3IobGV0IHQgaW4gYyl7bGV0IHI9Y1t0XSxvPW51bGwhPT1zP3NbdF0/P251bGw6bnVsbDtpZih0PT09aSl7bGV0IGk9ZShyLG8sbixhLGwsdSsyKTtmW3RdPWkudHJlZSxkW3RdPWkuZGF0YX1lbHNlIGZbdF09cixkW3RdPW99cmV0dXJuIG89W3RbMF0sZl0sMiBpbiB0JiYob1syXT10WzJdKSwzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGQsbnVsbCwhMCwhMV19fShuLGEscix1LGUsMCk7bj10LnRyZWUsYT10LmRhdGEsbD1vfXJldHVybnt0cmVlOm4sZGF0YTphLHJlbmRlcmVkU2VhcmNoOnIsaGVhZDpsfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDAxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RFlOQU1JQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sU1RBVElDX1NUQUxFVElNRV9NUzpmdW5jdGlvbigpe3JldHVybiBkfSxnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7bGV0IHI9W10sW24sYV09dDtpZigwPT09T2JqZWN0LmtleXMoYSkubGVuZ3RoKXJldHVybltbbl1dO2ZvcihsZXRbdCxsXW9mIE9iamVjdC5lbnRyaWVzKGEpKWZvcihsZXQgYSBvZiBlKGwpKSIiPT09bj9yLnB1c2goW3QsLi4uYV0pOnIucHVzaChbbix0LC4uLmFdKTtyZXR1cm4gcn19LGhhbmRsZUV4dGVybmFsVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGhhbmRsZU5hdmlnYXRpb25SZXN1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg1NTk0KSx1PWUucig2MzI3OCksbz1lLnIoNjU0NjMpLGk9ZS5yKDUyNDEzKSxjPWUucig0NDY2Nykscz1lLnIoMTg5MzkpLGY9MWUzKk51bWJlcigiMCIpLGQ9KDAsYy5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gaChlLHQscixuKXtyZXR1cm4gdC5tcGFOYXZpZ2F0aW9uPSEwLHQuY2Fub25pY2FsVXJsPXIsdC5wZW5kaW5nUHVzaD1uLHQuc2Nyb2xsYWJsZVNlZ21lbnRzPXZvaWQgMCwoMCx1LmhhbmRsZU11dGFibGUpKGUsdCl9ZnVuY3Rpb24gcChlLHQscixuLGEpe3N3aXRjaChhLnRhZyl7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBOnJldHVybiBoKHQscixhLmRhdGEsbik7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczp7ci5jYWNoZT1hLmRhdGEuY2FjaGVOb2RlLHIucGF0Y2hlZFRyZWU9YS5kYXRhLmZsaWdodFJvdXRlclN0YXRlLHIucmVuZGVyZWRTZWFyY2g9YS5kYXRhLnJlbmRlcmVkU2VhcmNoLHIuY2Fub25pY2FsVXJsPWEuZGF0YS5jYW5vbmljYWxVcmwsci5zY3JvbGxhYmxlU2VnbWVudHM9YS5kYXRhLnNjcm9sbGFibGVTZWdtZW50cz8/dm9pZCAwLHIuc2hvdWxkU2Nyb2xsPWEuZGF0YS5zaG91bGRTY3JvbGwsci5oYXNoRnJhZ21lbnQ9YS5kYXRhLmhhc2g7bGV0IG49bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxlKTtyZXR1cm4gZS5wYXRobmFtZT09PW4ucGF0aG5hbWUmJmUuc2VhcmNoPT09bi5zZWFyY2gmJmUuaGFzaCE9PW4uaGFzaCYmKHIub25seUhhc2hDaGFuZ2U9ITAsci5zaG91bGRTY3JvbGw9YS5kYXRhLnNob3VsZFNjcm9sbCxyLmhhc2hGcmFnbWVudD1lLmhhc2gsci5zY3JvbGxhYmxlU2VnbWVudHM9W10pLCgwLHUuaGFuZGxlTXV0YWJsZSkodCxyKX1jYXNlIGkuTmF2aWdhdGlvblJlc3VsdFRhZy5Bc3luYzpyZXR1cm4gYS5kYXRhLnRoZW4oYT0+cChlLHQscixuLGEpLCgpPT50KTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB5KGUsdCl7bGV0e3VybDpyLGlzRXh0ZXJuYWxVcmw6bixuYXZpZ2F0ZVR5cGU6YSxzaG91bGRTY3JvbGw6dX09dCxpPXt9LGM9KDAsbC5jcmVhdGVIcmVmRnJvbVVybCkociksZj0icHVzaCI9PT1hO2lmKGkucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU9ITEsaS5wZW5kaW5nUHVzaD1mLG4pcmV0dXJuIGgoZSxpLHIudG9TdHJpbmcoKSxmKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4gaChlLGksYyxmKTtsZXQgZD1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikseT0oMCxvLm5hdmlnYXRlKShyLGQsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLHMuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxpKTtyZXR1cm4gcChyLGUsaSxmLHkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxNzM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKFt0LHJdKXtpZihBcnJheS5pc0FycmF5KHQpJiYoImRpKC4uKSguLikiPT09dFsyXXx8ImNpKC4uKSguLikiPT09dFsyXXx8ImRpKC4pIj09PXRbMl18fCJjaSguKSI9PT10WzJdfHwiZGkoLi4pIj09PXRbMl18fCJjaSguLikiPT09dFsyXXx8ImRpKC4uLikiPT09dFsyXXx8ImNpKC4uLikiPT09dFsyXSl8fCJzdHJpbmciPT10eXBlb2YgdCYmKDAsbi5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkodCkpcmV0dXJuITA7aWYocil7Zm9yKGxldCB0IGluIHIpaWYoZShyW3RdKSlyZXR1cm4hMH1yZXR1cm4hMX19fSk7bGV0IG49ZS5yKDU0NjgyKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzczMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17cmVmcmVzaER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlZnJlc2hSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDExKSx1PWUucig2NTQ2Myksbz1lLnIoNDQ2NjcpLGk9ZS5yKDYxNzM5KSxjPWUucigxODkzOSk7ZnVuY3Rpb24gcyhlKXtsZXQgdD1lLm5leHRVcmwscj1lLnRyZWU7cmV0dXJuKDAsby5yZXZhbGlkYXRlRW50aXJlQ2FjaGUpKHQsciksZihlLGMuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwpfWZ1bmN0aW9uIGYoZSx0KXtsZXQgcj1lLm5leHRVcmwsbj0oMCxpLmhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSkoZS50cmVlKT9lLnByZXZpb3VzTmV4dFVybHx8cjpudWxsLGE9ZS5jYW5vbmljYWxVcmwsbz1uZXcgVVJMKGEsbG9jYXRpb24ub3JpZ2luKSxjPWUudHJlZSxzPXt0cmVlOmUudHJlZSxyZW5kZXJlZFNlYXJjaDplLnJlbmRlcmVkU2VhcmNoLGRhdGE6bnVsbCxoZWFkOm51bGx9LGY9RGF0ZS5ub3coKSxkPSgwLHUubmF2aWdhdGVUb1NlZWRlZFJvdXRlKShmLG8sYSxzLG8sZS5jYWNoZSxjLHQsbiwhMCksaD17fTtyZXR1cm4gaC5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT0hMSwoMCxsLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKG8sZSxoLCExLGQpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwNTUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoNTQwMTEpLGw9ZS5yKDY1NDYzKSx1PWUucig3NzczMyksbz1lLnIoMTg5MzkpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcj17fTtyLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBpPXQubXBhLGM9bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkO2lmKGl8fG51bGw9PT1zKXJldHVybigwLGEuaGFuZGxlRXh0ZXJuYWxVcmwpKGUscixjLmhyZWYsITEpO2xldCBmPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKTtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlKTtsZXQgZD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxoPXQubmV4dFVybCxwPURhdGUubm93KCkseT0oMCxsLm5hdmlnYXRlVG9TZWVkZWRSb3V0ZSkocCxjLGQscyxmLGUuY2FjaGUsZS50cmVlLG8uRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwsaCwhMCk7cmV0dXJuKDAsYS5oYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KShjLGUsciwhMSx5KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjgzOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVzdG9yZVJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoMTgxNjcpLGw9ZS5yKDE4OTM5KSx1PWUucig1NDAxMSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByLG8saT10Lmhpc3RvcnlTdGF0ZTtpPyhyPWkudHJlZSxvPWkucmVuZGVyZWRTZWFyY2gpOihyPWUudHJlZSxvPWUucmVuZGVyZWRTZWFyY2gpO2xldCBjPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzPXQudXJsLGY9KDAsbi5jcmVhdGVIcmVmRnJvbVVybCkocyksZD0oMCxhLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShyKT8/cy5wYXRobmFtZSxoPURhdGUubm93KCkscD17c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSx5PSgwLGwuc3RhcnRQUFJOYXZpZ2F0aW9uKShoLGMsZS5jYWNoZSxlLnRyZWUscixsLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxudWxsLG51bGwsITEsITEscCk7cmV0dXJuIG51bGw9PT15PygwLHUuaGFuZGxlRXh0ZXJuYWxVcmwpKGUse3ByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmLCExKTooKDAsbC5zcGF3bkR5bmFtaWNSZXF1ZXN0cykoeSxzLGQsbC5GcmVzaG5lc3NQb2xpY3kuSGlzdG9yeVRyYXZlcnNhbCxwKSx7Y2Fub25pY2FsVXJsOmYscmVuZGVyZWRTZWFyY2g6byxwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOnkubm9kZSx0cmVlOnIsbmV4dFVybDpkLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTk2NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhtclJlZnJlc2hSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1lLnIoNzc3MzMpLGE9ZS5yKDE4OTM5KTtmdW5jdGlvbiBsKGUpe3JldHVybigwLG4ucmVmcmVzaER5bmFtaWNEYXRhKShlLGEuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2gpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4OTM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhc3NpZ25Mb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDE0ODU3KTtmdW5jdGlvbiBhKGUsdCl7aWYoZS5zdGFydHNXaXRoKCIuIikpe2xldCByPXQub3JpZ2luK3QucGF0aG5hbWU7cmV0dXJuIG5ldyBVUkwoKHIuZW5kc1dpdGgoIi8iKT9yOnIrIi8iKStlKX1yZXR1cm4gbmV3IFVSTCgoMCxuLmFkZEJhc2VQYXRoKShlKSx0LmhyZWYpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5ODk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwYXRoSGFzUHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoOTgwNjMpO2Z1bmN0aW9uIGEoZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwzODkzMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5OTg5Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLnBhdGhIYXNQcmVmaXgpKGUsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0MDQyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZUJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzg5MzMpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDgwOTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtleHRyYWN0SW5mb0Zyb21TZXJ2ZXJSZWZlcmVuY2VJZDpmdW5jdGlvbigpe3JldHVybiBsfSxvbWl0VW51c2VkQXJnczpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9cGFyc2VJbnQoZS5zbGljZSgwLDIpLDE2KSxyPXQ+PjEmNjMsbj1BcnJheSg2KTtmb3IobGV0IGU9MDtlPDY7ZSsrKXtsZXQgdD1yPj41LWUmMTtuW2VdPTE9PT10fXJldHVybnt0eXBlOjE9PSh0Pj43JjEpPyJ1c2UtY2FjaGUiOiJzZXJ2ZXItYWN0aW9uIix1c2VkQXJnczpuLGhhc1Jlc3RBcmdzOjE9PSgxJnQpfX1mdW5jdGlvbiB1KGUsdCl7bGV0IHI9QXJyYXkoZS5sZW5ndGgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKShuPDYmJnQudXNlZEFyZ3Nbbl18fG4+PTYmJnQuaGFzUmVzdEFyZ3MpJiYocltuXT1lW25dKTtyZXR1cm4gcn19LDc2ODQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtBY3Rpb25EaWROb3RSZXZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LEFjdGlvbkRpZFJldmFsaWRhdGVEeW5hbWljT25seTpmdW5jdGlvbigpe3JldHVybiBvfSxBY3Rpb25EaWRSZXZhbGlkYXRlU3RhdGljQW5kRHluYW1pYzpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPTAsdT0xLG89Mn0sNjcwMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlckFjdGlvblJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBqfX0pO2xldCBhPWUucigzMDkzMSksbD1lLnIoODk1OTQpLHU9ZS5yKDM0NjQxKSxvPWUucig3NTA1MSksaT1lLnIoNzUwNDUpLGM9ZS5yKDY4OTM0KSxzPWUucig4NTU5NCksZj1lLnIoNTQwMTEpLGQ9ZS5yKDYxNzM5KSxoPWUucig2NzYyOCkscD1lLnIoNDE3MjEpLHk9ZS5yKDkwODYyKSxnPWUucigyNDA0MiksUj1lLnIoMzg5MzMpLF89ZS5yKDgwOTI0KSxQPWUucig0NDY2Nyksdj1lLnIoODg3NzQpLEU9ZS5yKDY1NDYzKSxtPWUucig3Njg0NCksYj1lLnIoMjkzNjIpLFM9ZS5yKDE4OTM5KSxUPWkuY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIE8oZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCxnLFIsUD0oMCxpLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCkoKSxFPSgwLF8uZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQpKHIpLGI9InVzZS1jYWNoZSI9PT1FLnR5cGU/KDAsXy5vbWl0VW51c2VkQXJncykocyxFKTpzLFM9YXdhaXQgKDAsaS5lbmNvZGVSZXBseSkoYix7dGVtcG9yYXJ5UmVmZXJlbmNlczpQfSksTz17QWNjZXB0OnUuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsW3UuQUNUSU9OX0hFQURFUl06cixbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsaC5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShlLnRyZWUpfSxqPSgwLHYuZ2V0RGVwbG95bWVudElkKSgpO2omJihPWyJ4LWRlcGxveW1lbnQtaWQiXT1qKSx0JiYoT1t1Lk5FWFRfVVJMXT10KTtsZXQgTT1hd2FpdCBmZXRjaChlLmNhbm9uaWNhbFVybCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOk8sYm9keTpTfSk7aWYoIjEiPT09TS5oZWFkZXJzLmdldCh1Lk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5VbnJlY29nbml6ZWRBY3Rpb25FcnJvcihgU2VydmVyIEFjdGlvbiAiJHtyfSIgd2FzIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLiAKUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9mYWlsZWQtdG8tZmluZC1zZXJ2ZXItYWN0aW9uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IEE9TS5oZWFkZXJzLmdldCgieC1hY3Rpb24tcmVkaXJlY3QiKSxbVSxDXT1BPy5zcGxpdCgiOyIpfHxbXTtzd2l0Y2goQyl7Y2FzZSJwdXNoIjpmPXkuUmVkaXJlY3RUeXBlLnB1c2g7YnJlYWs7Y2FzZSJyZXBsYWNlIjpmPXkuUmVkaXJlY3RUeXBlLnJlcGxhY2U7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgTj0hIU0uaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLHc9bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1NLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1tLkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09bS5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYodz10KX19Y2F0Y2h7fWxldCBGPVU/KDAsYy5hc3NpZ25Mb2NhdGlvbikoVSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEk9TS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksTD0hIShJJiZJLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFMJiYhRil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoTS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09ST9hd2FpdCBNLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2lmKEwpe2xldCBlPWF3YWl0IFQoUHJvbWlzZS5yZXNvbHZlKE0pLHtjYWxsU2VydmVyOmEuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmwuZmluZFNvdXJjZU1hcFVSTCx0ZW1wb3JhcnlSZWZlcmVuY2VzOlAsZGVidWdDaGFubmVsOm4mJm4oTyl9KTtkPUY/dm9pZCAwOmUuYTtsZXQgdD0oMCxoLm5vcm1hbGl6ZUZsaWdodERhdGEpKGUuZik7IiIhPT10JiYocD10LGc9ZS5xLFI9ZS5pKX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLGc9dm9pZCAwLFI9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOmcsYWN0aW9uRmxpZ2h0RGF0YUNvdWxkQmVJbnRlcmNlcHRlZDpSLHJlZGlyZWN0TG9jYXRpb246RixyZWRpcmVjdFR5cGU6ZixyZXZhbGlkYXRpb25LaW5kOncsaXNQcmVyZW5kZXI6Tn19ZnVuY3Rpb24gaihlLHQpe2xldHtyZXNvbHZlOnIscmVqZWN0Om59PXQsYT17fTthLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBsPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBPKGUsbCx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOnUsYWN0aW9uUmVzdWx0Om8sYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpjLGFjdGlvbkZsaWdodERhdGFDb3VsZEJlSW50ZXJjZXB0ZWQ6ZCxyZWRpcmVjdExvY2F0aW9uOmgscmVkaXJlY3RUeXBlOnB9KT0+e3UhPT1tLkFjdGlvbkRpZE5vdFJldmFsaWRhdGUmJih0LmRpZFJldmFsaWRhdGU9ITAsdT09PW0uQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLFAucmV2YWxpZGF0ZUVudGlyZUNhY2hlKShsLGUudHJlZSkpO2xldCBfPXAhPT15LlJlZGlyZWN0VHlwZS5yZXBsYWNlO2lmKGUucHVzaFJlZi5wZW5kaW5nUHVzaD1fLGEucGVuZGluZ1B1c2g9Xyx2b2lkIDAhPT1oKXtsZXQgdD1wfHx5LlJlZGlyZWN0VHlwZS5wdXNoO2lmKCgwLGIuaXNFeHRlcm5hbFVSTCkoaCkpe2xldCByPWguaHJlZjtyZXR1cm4gbihNKHIsdCkpLCgwLGYuaGFuZGxlRXh0ZXJuYWxVcmwpKGUsYSxyLF8pfXtsZXQgZT0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShoLCExKTtuKE0oKDAsUi5oYXNCYXNlUGF0aCkoZSk/KDAsZy5yZW1vdmVCYXNlUGF0aCkoZSk6ZSx0KSl9fWVsc2UgcihvKTtpZih2b2lkIDA9PT1oJiZ1PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWgpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGguaHJlZixfKTtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGksXyk7bGV0IHY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLFQ9dm9pZCAwIT09aD9oOnYsTz1lLnRyZWUsaj11PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP1MuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6Uy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pKXtsZXQgdD1pWzBdO2lmKHZvaWQgMCE9PXQmJnQuaXNSb290UmVuZGVyJiZ2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtsZXQgcj0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShUKSxuPXt0cmVlOnQudHJlZSxyZW5kZXJlZFNlYXJjaDpjLGRhdGE6dC5zZWVkRGF0YSxoZWFkOnQuaGVhZH0sdT1EYXRlLm5vdygpLG89KDAsRS5uYXZpZ2F0ZVRvU2VlZGVkUm91dGUpKHUsVCxyLG4sdixlLmNhY2hlLE8saixsLCEwKTtyZXR1cm4oMCxmLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKFQsZSxhLF8sbyl9fWxldCBBPSgwLEUubmF2aWdhdGUpKFQsdixlLmNhY2hlLE8sbCxqLCEwLGEpO3JldHVybigwLGYuaGFuZGxlTmF2aWdhdGlvblJlc3VsdCkoVCxlLGEsXyxBKX0sdD0+KG4odCksZSkpfWZ1bmN0aW9uIE0oZSx0KXtsZXQgcj0oMCxwLmdldFJlZGlyZWN0RXJyb3IpKGUsdCk7cmV0dXJuIHIuaGFuZGxlZD0hMCxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY0MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IG49ZS5yKDU5NDMwKSxhPWUucig1NDAxMSksbD1lLnIoNjA1NTMpLHU9ZS5yKDMyODM4KSxvPWUucig3NzczMyksaT1lLnIoNTk2NjIpLGM9ZS5yKDY3MDMzKSxzPSJ1Ijx0eXBlb2Ygd2luZG93P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGV9OmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSBuLkFDVElPTl9OQVZJR0FURTpyZXR1cm4oMCxhLm5hdmlnYXRlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9QQVRDSDpyZXR1cm4oMCxsLnNlcnZlclBhdGNoUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFU1RPUkU6cmV0dXJuKDAsdS5yZXN0b3JlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFRlJFU0g6cmV0dXJuKDAsby5yZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9ITVJfUkVGUkVTSDpyZXR1cm4oMCxpLmhtclJlZnJlc2hSZWR1Y2VyKShlKTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9BQ1RJT046cmV0dXJuKDAsYy5zZXJ2ZXJBY3Rpb25SZWR1Y2VyKShlLHQpO2RlZmF1bHQ6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmtub3duIGFjdGlvbiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQwNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1lLnIoMjkzNjIpLGE9ZS5yKDE2MzE2KSxsPWUucig3NTc4MCksdT1lLnIoNTI0MTMpO2Z1bmN0aW9uIG8oZSx0LHIsbyxpKXtsZXQgYz0oMCxuLmNyZWF0ZVByZWZldGNoVVJMKShlKTtpZihudWxsPT09YylyZXR1cm47bGV0IHM9KDAsYS5jcmVhdGVDYWNoZUtleSkoYy5ocmVmLHQpOygwLGwuc2NoZWR1bGVQcmVmZXRjaFRhc2spKHMscixvLHUuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LGkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg0Mzk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBFfSxkaXNwYXRjaFRyYXZlcnNlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQfSxwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBifX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1OTQzMCksdT1lLnIoNjQxKSxvPWUucig3NTIwMSksaT1lLnIoOTE3NjgpLGM9ZS5yKDUyNDEzKSxzPWUucigzNDA1MiksZj1lLnIoOTQ4NzkpLGQ9ZS5yKDE0ODU3KSxoPWUucigyOTM2MikscD1lLnIoOTgyODMpO2Z1bmN0aW9uIHkoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmZyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gbyhuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSx5KGUscik7cmV0dXJufWUuc3RhdGU9bix5KGUsciksdC5yZXNvbHZlKG4pfSgwLGkuaXNUaGVuYWJsZSkodSk/dS50aGVuKG8sbj0+e3koZSxyKSx0LnJlamVjdChuKX0pOm8odSl9bGV0IFI9bnVsbDtmdW5jdGlvbiBfKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LGcoe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT1SKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtSPXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUCgpe3JldHVybiBudWxsIT09Uj9SLnN0YXRlOm51bGx9ZnVuY3Rpb24gdigpe3JldHVybiBudWxsIT09Uj9SLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gRShlLHQscixuKXtsZXQgYT1uZXcgVVJMKCgwLGQuYWRkQmFzZVBhdGgpKGUpLGxvY2F0aW9uLmhyZWYpOygwLHAuc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShuKTtsZXQgdT12KCk7bnVsbCE9PXUmJnUoZSx0KSwoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9OQVZJR0FURSx1cmw6YSxpc0V4dGVybmFsVXJsOigwLGguaXNFeHRlcm5hbFVSTCkoYSksbG9jYXRpb25TZWFyY2g6bG9jYXRpb24uc2VhcmNoLHNob3VsZFNjcm9sbDpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXYoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByLG49ZnVuY3Rpb24oKXtpZihudWxsPT09Uil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIFJ9KCk7c3dpdGNoKHQ/LmtpbmQ/P2wuUHJlZmV0Y2hLaW5kLkFVVE8pe2Nhc2UgbC5QcmVmZXRjaEtpbmQuQVVUTzpyPWMuRmV0Y2hTdHJhdGVneS5QUFI7YnJlYWs7Y2FzZSBsLlByZWZldGNoS2luZC5GVUxMOnI9Yy5GZXRjaFN0cmF0ZWd5LkZ1bGw7YnJlYWs7ZGVmYXVsdDpyPWMuRmV0Y2hTdHJhdGVneS5QUFJ9KDAscy5wcmVmZXRjaCkoZSxuLnN0YXRlLm5leHRVcmwsbi5zdGF0ZS50cmVlLHIsdD8ub25JbnZhbGlkYXRlPz9udWxsKX0scmVwbGFjZTooZSx0KT0+eygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e0UoZSwicmVwbGFjZSIsdD8uc2Nyb2xsPz8hMCxudWxsKX0pfSxwdXNoOihlLHQpPT57KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57RShlLCJwdXNoIix0Py5zY3JvbGw/PyEwLG51bGwpfSl9LHJlZnJlc2g6KCk9PnsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9SRUZSRVNIfSl9KX0saG1yUmVmcmVzaDooKT0+e3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07InUiPnR5cGVvZiB3aW5kb3cmJndpbmRvdy5uZXh0JiYod2luZG93Lm5leHQucm91dGVyPWIpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.557Z","timestamp":1785136427557,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4815a758657d4bae.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4815a758657d4bae.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"9b4f6d29f92ea43b7c7ef4770fbed76a\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4815a758657d4bae.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::98lrq-1781312483644-7e3fe14e464a\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=n6shM2MKwYC1st6MkahhMoG6Beab%2F%2BbH8EF5qRFQHCos1tkOmxajbBOTBr4Ik235hC1nlLsENktrhVJ0XcoX2zDUCqlxcoAqBQKxOVYFJm3Hq8KcUC9Bf8ppS6iz\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f04ef78deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":49883,"size_decoded":17718,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49883), with no line terminators","md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-11T04:47:30.060041Z","times_seen":1896,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkzMDYzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJSZWRpcmVjdFN0YXR1c0NvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO3ZhciByLG89KChyPXt9KVtyLlNlZU90aGVyPTMwM109IlNlZU90aGVyIixyW3IuVGVtcG9yYXJ5UmVkaXJlY3Q9MzA3XT0iVGVtcG9yYXJ5UmVkaXJlY3QiLHJbci5QZXJtYW5lbnRSZWRpcmVjdD0zMDhdPSJQZXJtYW5lbnRSZWRpcmVjdCIscik7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTA4NjIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHIsbz17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBhfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saXNSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIHUgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkobix1LHtlbnVtZXJhYmxlOiEwLGdldDpvW3VdfSk7bGV0IGk9ZS5yKDkzMDYzKSxhPSJORVhUX1JFRElSRUNUIjt2YXIgbD0oKHI9e30pLnB1c2g9InB1c2giLHIucmVwbGFjZT0icmVwbGFjZSIscik7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0IHQ9ZS5kaWdlc3Quc3BsaXQoIjsiKSxbbixyXT10LG89dC5zbGljZSgyLC0yKS5qb2luKCI7IiksdT1OdW1iZXIodC5hdCgtMikpO3JldHVybiBuPT09YSYmKCJyZXBsYWNlIj09PXJ8fCJwdXNoIj09PXIpJiYic3RyaW5nIj09dHlwZW9mIG8mJiFpc05hTih1KSYmdSBpbiBpLlJlZGlyZWN0U3RhdHVzQ29kZX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzNDY0MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gU30sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiB2fSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT1bdSxhLGwsYyxzXSx2PSJfcnNjIixoPSJ4LW5leHRqcy1zdGFsZS10aW1lIixfPSJ4LW5leHRqcy1wb3N0cG9uZWQiLGI9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixnPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLG09IngtbmV4dGpzLXByZXJlbmRlciIsRT0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsUz0ieC1uZXh0anMtcmVxdWVzdC1pZCIsUj0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixPPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMjc0NTQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e0RFRkFVTFRfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTk9UX0ZPVU5EX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBBR0VfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBsfSxjb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFNlZ21lbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHI9ITAsbz1bXSl7bGV0IGk7aWYocilpPXRbMV1bbl07ZWxzZXtsZXQgZT10WzFdO2k9ZS5jaGlsZHJlbj8/T2JqZWN0LnZhbHVlcyhlKVswXX1pZighaSlyZXR1cm4gbztsZXQgYT11KGlbMF0pO3JldHVybiFhfHxhLnN0YXJ0c1dpdGgoYyk/bzooby5wdXNoKGEpLGUoaSxuLCExLG8pKX19LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzUGFyYWxsZWxSb3V0ZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2VbMV06ZX1mdW5jdGlvbiBpKGUpe3JldHVybiIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIkAiKSYmIkBjaGlsZHJlbiIhPT1lfWZ1bmN0aW9uIGwoZSx0KXtpZihlLmluY2x1ZGVzKGMpKXtsZXQgZT1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4ie30iIT09ZT9jKyI/IitlOmN9cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG49ImNoaWxkcmVuIj09PXQ/ZVswXTplW2UubGVuZ3RoLTFdO3JldHVybiBuPT09Zj9udWxsOm59bGV0IGM9Il9fUEFHRV9fIixmPSJfX0RFRkFVTFRfXyIsZD0iL19ub3QtZm91bmQifSw3NTA1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17VW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2NsYXNzIHUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLm5hbWU9IlVucmVjb2duaXplZEFjdGlvbkVycm9yIn19ZnVuY3Rpb24gaShlKXtyZXR1cm4hIShlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUgaW5zdGFuY2VvZiB1KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzA4OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiYWN0aW9uQXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSgwLGUucig0OTIxMSkuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDIzNzA4LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlfX0pO2xldCByPWUucig5NzA4OCl9LDQxNzIxLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtnZXRSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scGVybWFuZW50UmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY30scmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1lLnIoOTMwNjMpLGk9ZS5yKDkwODYyKSxhPSJ1Ijx0eXBlb2Ygd2luZG93P2UucigyMzcwOCkuYWN0aW9uQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBsKGUsdCxuPXUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KXtsZXQgcj1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoaS5SRURJUkVDVF9FUlJPUl9DT0RFKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gci5kaWdlc3Q9YCR7aS5SRURJUkVDVF9FUlJPUl9DT0RFfTske3R9OyR7ZX07JHtufTtgLHJ9ZnVuY3Rpb24gcyhlLHQpe3Rocm93IGwoZSx0Pz89YT8uZ2V0U3RvcmUoKT8uaXNBY3Rpb24/aS5SZWRpcmVjdFR5cGUucHVzaDppLlJlZGlyZWN0VHlwZS5yZXBsYWNlLHUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KX1mdW5jdGlvbiBjKGUsdD1pLlJlZGlyZWN0VHlwZS5yZXBsYWNlKXt0aHJvdyBsKGUsdCx1LlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxpLmlzUmVkaXJlY3RFcnJvcikoZSk/ZS5kaWdlc3Quc3BsaXQoIjsiKS5zbGljZSgyLC0yKS5qb2luKCI7Iik6bnVsbH1mdW5jdGlvbiBkKGUpe2lmKCEoMCxpLmlzUmVkaXJlY3RFcnJvcikoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOb3QgYSByZWRpcmVjdCBlcnJvciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjYwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlLmRpZ2VzdC5zcGxpdCgiOyIsMilbMV19ZnVuY3Rpb24gcChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IikuYXQoLTIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNjg3MiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2xldCB1PWUucig4MTI1OCkuXyhlLnIoNzUyMDEpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDYzMTY1LChlLHQsbik9Pnt2YXIgcj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e249ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtuPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKG4pe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmciYmKHM9ITEsci5sZW5ndGg/bD1yLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKHI9bCxsPVtdOysrYzx0OylyJiZyW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1yPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKG49PT1pfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtyW2VdKG4sbi5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gbi5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfcmVhY3QtZG9tQDE5LjIuM19yZWFjdEAxOS4yLjNfX3JlYWN0QDE5LjIuMy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvIix0LmV4cG9ydHM9dSgyMjkpfSw4MjYzNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLG87dC5leHBvcnRzPShudWxsPT0ocj1lLmcucHJvY2Vzcyk/dm9pZCAwOnIuZW52KSYmIm9iamVjdCI9PXR5cGVvZihudWxsPT0obz1lLmcucHJvY2Vzcyk/dm9pZCAwOm8uZW52KT9lLmcucHJvY2VzczplLnIoNjMxNjUpfSw5OTI5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iik7ZnVuY3Rpb24gbyhlLHQsbil7dmFyIG89bnVsbDtpZih2b2lkIDAhPT1uJiYobz0iIituKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLCJrZXkiaW4gdClmb3IodmFyIHUgaW4gbj17fSx0KSJrZXkiIT09dSYmKG5bdV09dFt1XSk7ZWxzZSBuPXQ7cmV0dXJueyQkdHlwZW9mOnIsdHlwZTplLGtleTpvLHJlZjp2b2lkIDAhPT0odD1uLnJlZik/dDpudWxsLHByb3BzOm59fW4uRnJhZ21lbnQ9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxuLmpzeD1vLG4uanN4cz1vfSw5ODEzNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoOTkyOTMpfSw2MzQxNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUuaSg4MjYzNyksbz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxsPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikscz1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLGM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxkPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLGg9U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksXz1TeW1ib2wuaXRlcmF0b3IsYj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sZz1PYmplY3QuYXNzaWduLG09e307ZnVuY3Rpb24gRShlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gUihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSxFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sUy5wcm90b3R5cGU9RS5wcm90b3R5cGU7dmFyIE89Ui5wcm90b3R5cGU9bmV3IFM7Ty5jb25zdHJ1Y3Rvcj1SLGcoTyxFLnByb3RvdHlwZSksTy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgdz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFQoKXt9dmFyIGo9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbH0sQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGsoZSx0LG4pe3ZhciByPW4ucmVmO3JldHVybnskJHR5cGVvZjpvLHR5cGU6ZSxrZXk6dCxyZWY6dm9pZCAwIT09cj9yOm51bGwscHJvcHM6bn19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09b312YXIgTj0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3ZhciBuLHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KG49IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIituLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4hZnVuY3Rpb24gZSh0LG4scixpLGEpe3ZhciBsLHMsYyxmPXR5cGVvZiB0OygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYodD1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09dClkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmQ9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIG86Y2FzZSB1OmQ9ITA7YnJlYWs7Y2FzZSB5OnJldHVybiBlKChkPXQuX2luaXQpKHQuX3BheWxvYWQpLG4scixpLGEpfX1pZihkKXJldHVybiBhPWEodCksZD0iIj09PWk/Ii4iK1AodCwwKTppLHcoYSk/KHI9IiIsbnVsbCE9ZCYmKHI9ZC5yZXBsYWNlKE4sIiQmLyIpKyIvIiksZShhLG4sciwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1hJiYoQyhhKSYmKGw9YSxzPXIrKG51bGw9PWEua2V5fHx0JiZ0LmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShOLCIkJi8iKSsiLyIpK2QsYT1rKGwudHlwZSxzLGwucHJvcHMpKSxuLnB1c2goYSkpLDE7ZD0wO3ZhciBwPSIiPT09aT8iLiI6aSsiOiI7aWYodyh0KSlmb3IodmFyIHY9MDt2PHQubGVuZ3RoO3YrKylmPXArUChpPXRbdl0sdiksZCs9ZShpLG4scixmLGEpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mKHY9bnVsbD09PShjPXQpfHwib2JqZWN0IiE9dHlwZW9mIGM/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoYz1fJiZjW19dfHxjWyJAQGl0ZXJhdG9yIl0pP2M6bnVsbCkpZm9yKHQ9di5jYWxsKHQpLHY9MDshKGk9dC5uZXh0KCkpLmRvbmU7KWY9cCtQKGk9aS52YWx1ZSx2KyspLGQrPWUoaSxuLHIsZixhKTtlbHNlIGlmKCJvYmplY3QiPT09Zil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZShmdW5jdGlvbihlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCgic3RyaW5nIj09dHlwZW9mIGUuc3RhdHVzP2UudGhlbihULFQpOihlLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKHQpeyJwZW5kaW5nIj09PWUuc3RhdHVzJiYoZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10KX0sZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXQpfSkpLGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgZS5yZWFzb259fXRocm93IGV9KHQpLG4scixpLGEpO3Rocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KG49U3RyaW5nKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpuKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpfXJldHVybiBkfShlLHIsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gRChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbihmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PXQpfSxmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBNPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCByLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uICQoZSl7dmFyIHQ9ai5ULG49e307bi50eXBlcz1udWxsIT09dD90LnR5cGVzOm51bGwsai5UPW47dHJ5e3ZhciByPWUoKSxvPWouUztudWxsIT09byYmbyhuLHIpLCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4mJnIudGhlbihULE0pfWNhdGNoKGUpe00oZSl9ZmluYWxseXtudWxsIT09dCYmbnVsbCE9PW4udHlwZXMmJih0LnR5cGVzPW4udHlwZXMpLGouVD10fX1mdW5jdGlvbiBJKGUpe3ZhciB0PWouVDtpZihudWxsIT09dCl7dmFyIG49dC50eXBlcztudWxsPT09bj90LnR5cGVzPVtlXTotMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpfWVsc2UgJChJLmJpbmQobnVsbCxlKSl9bi5BY3Rpdml0eT12LG4uQ2hpbGRyZW49e21hcDp4LGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe3goZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geChlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PUUsbi5GcmFnbWVudD1pLG4uUHJvZmlsZXI9bCxuLlB1cmVDb21wb25lbnQ9UixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWQsbi5WaWV3VHJhbnNpdGlvbj1oLG4uX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWosbi5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VNZW1vQ2FjaGUoZSl9fSxuLmFkZFRyYW5zaXRpb25UeXBlPUksbi5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxuLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LG4uY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleTtpZihudWxsIT10KWZvcih1IGluIHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksdClBLmNhbGwodCx1KSYmImtleSIhPT11JiYiX19zZWxmIiE9PXUmJiJfX3NvdXJjZSIhPT11JiYoInJlZiIhPT11fHx2b2lkIDAhPT10LnJlZikmJihyW3VdPXRbdV0pO3ZhciB1PWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09dSlyLmNoaWxkcmVuPW47ZWxzZSBpZigxPHUpe2Zvcih2YXIgaT1BcnJheSh1KSxhPTA7YTx1O2ErKylpW2FdPWFyZ3VtZW50c1thKzJdO3IuY2hpbGRyZW49aX1yZXR1cm4gayhlLnR5cGUsbyxyKX0sbi5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0pLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6cyxfY29udGV4dDplfSxlfSxuLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89e30sdT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSx0KUEuY2FsbCh0LHIpJiYia2V5IiE9PXImJiJfX3NlbGYiIT09ciYmIl9fc291cmNlIiE9PXImJihvW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aSlvLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgYT1BcnJheShpKSxsPTA7bDxpO2wrKylhW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW9bcl0mJihvW3JdPWlbcl0pO3JldHVybiBrKGUsdSxvKX0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkR9fSxuLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LG4uc3RhcnRUcmFuc2l0aW9uPSQsbi51bnN0YWJsZV91c2VDYWNoZVJlZnJlc2g9ZnVuY3Rpb24oKXtyZXR1cm4gai5ILnVzZUNhY2hlUmVmcmVzaCgpfSxuLnVzZT1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZShlKX0sbi51c2VBY3Rpb25TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VBY3Rpb25TdGF0ZShlLHQsbil9LG4udXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUNhbGxiYWNrKGUsdCl9LG4udXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUNvbnRleHQoZSl9LG4udXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sbi51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VEZWZlcnJlZFZhbHVlKGUsdCl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VFZmZlY3QoZSx0KX0sbi51c2VFZmZlY3RFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUVmZmVjdEV2ZW50KGUpfSxuLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGouSC51c2VJZCgpfSxuLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LG4udXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sbi51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUxheW91dEVmZmVjdChlLHQpfSxuLnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZU1lbW8oZSx0KX0sbi51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VPcHRpbWlzdGljKGUsdCl9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VSZWR1Y2VyKGUsdCxuKX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQsbil9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBqLkgudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSw3NTIwMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNjM0MTcpfSw0NDA2NiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAsbj1uZXcgV2Vha01hcDtyZXR1cm4ocj1mdW5jdGlvbihlKXtyZXR1cm4gZT9uOnR9KShlKX1uLl89ZnVuY3Rpb24oZSx0KXtpZighdCYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciBuPXIodCk7aWYobiYmbi5oYXMoZSkpcmV0dXJuIG4uZ2V0KGUpO3ZhciBvPXtfX3Byb3RvX186bnVsbH0sdT1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBpIGluIGUpaWYoImRlZmF1bHQiIT09aSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkpe3ZhciBhPXU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8saSxhKTpvW2ldPWVbaV19cmV0dXJuIG8uZGVmYXVsdD1lLG4mJm4uc2V0KGUsbyksb319LDgxMjU4LChlLHQsbik9PnsidXNlIHN0cmljdCI7bi5fPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX19LDQ5MjExLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtiaW5kU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY3JlYXRlU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogQXN5bmNMb2NhbFN0b3JhZ2UgYWNjZXNzZWQgaW4gcnVudGltZSB3aGVyZSBpdCBpcyBub3QgYXZhaWxhYmxlIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1MDQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgaXtkaXNhYmxlKCl7dGhyb3cgdX1nZXRTdG9yZSgpe31ydW4oKXt0aHJvdyB1fWV4aXQoKXt0aHJvdyB1fWVudGVyV2l0aCgpe3Rocm93IHV9c3RhdGljIGJpbmQoZSl7cmV0dXJuIGV9fWxldCBhPSJ1Ij50eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcy5Bc3luY0xvY2FsU3RvcmFnZTtmdW5jdGlvbiBsKCl7cmV0dXJuIGE/bmV3IGE6bmV3IGl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gYT9hLmJpbmQoZSk6aS5iaW5kKGUpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYT9hLnNuYXBzaG90KCk6ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gZSguLi50KX19fSw1NjU0OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUucig3NTIwMSk7ZnVuY3Rpb24gbyhlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHUoKXt9dmFyIGk9e2Q6e2Y6dSxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iobyg1MjIpKX0sRDp1LEM6dSxMOnUsbTp1LFg6dSxTOnUsTTp1fSxwOjAsZmluZERPTU5vZGU6bnVsbH0sYT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm9wdGltaXN0aWNfa2V5Iikscz1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBjKGUsdCl7cmV0dXJuImZvbnQiPT09ZT8iIjoic3RyaW5nIj09dHlwZW9mIHQ/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwfW4uX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksbi5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighdHx8MSE9PXQubm9kZVR5cGUmJjkhPT10Lm5vZGVUeXBlJiYxMSE9PXQubm9kZVR5cGUpdGhyb3cgRXJyb3IobygyOTkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjphLGtleTpudWxsPT1yP251bGw6cj09PWw/bDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzp0LGltcGxlbWVudGF0aW9uOm59fShlLHQsbnVsbCxuKX0sbi5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5ULG49aS5wO3RyeXtpZihzLlQ9bnVsbCxpLnA9MixlKXJldHVybiBlKCl9ZmluYWxseXtzLlQ9dCxpLnA9bixpLmQuZigpfX0sbi5wcmVjb25uZWN0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PXR5cGVvZiBlJiYodD10PyJzdHJpbmciPT10eXBlb2YodD10LmNyb3NzT3JpZ2luKT8idXNlLWNyZWRlbnRpYWxzIj09PXQ/dDoiIjp2b2lkIDA6bnVsbCxpLmQuQyhlLHQpKX0sbi5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUmJmkuZC5EKGUpfSxuLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJnQmJiJzdHJpbmciPT10eXBlb2YgdC5hcyl7dmFyIG49dC5hcyxyPWMobix0LmNyb3NzT3JpZ2luKSxvPSJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwLHU9InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMDsic3R5bGUiPT09bj9pLmQuUyhlLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5Om8sZmV0Y2hQcmlvcml0eTp1fSk6InNjcmlwdCI9PT1uJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTpvLGZldGNoUHJpb3JpdHk6dSxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19LG4ucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtpZihudWxsPT10LmFzfHwic2NyaXB0Ij09PXQuYXMpe3ZhciBuPWModC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19ZWxzZSBudWxsPT10JiZpLmQuTShlKX0sbi5wcmVsb2FkPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciBuPXQuYXMscj1jKG4sdC5jcm9zc09yaWdpbik7aS5kLkwoZSxuLHtjcm9zc09yaWdpbjpyLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDAsdHlwZToic3RyaW5nIj09dHlwZW9mIHQudHlwZT90LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeToic3RyaW5nIj09dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k/dC5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU3JjU2V0P3QuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU2l6ZXM/dC5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYToic3RyaW5nIj09dHlwZW9mIHQubWVkaWE/dC5tZWRpYTp2b2lkIDB9KX19LG4ucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZih0KXt2YXIgbj1jKHQuYXMsdC5jcm9zc09yaWdpbik7aS5kLm0oZSx7YXM6InN0cmluZyI9PXR5cGVvZiB0LmFzJiYic2NyaXB0IiE9PXQuYXM/dC5hczp2b2lkIDAsY3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDB9KX1lbHNlIGkuZC5tKGUpfSxuLnJlcXVlc3RGb3JtUmVzZXQ9ZnVuY3Rpb24oZSl7aS5kLnIoZSl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sbi51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBzLkgudXNlRm9ybVN0YXRlKGUsdCxuKX0sbi51c2VGb3JtU3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIHMuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSwyOTA4MCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDU2NTQ5KX0sODg3NzQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldERlcGxveW1lbnRJZDpmdW5jdGlvbigpe3JldHVybiB1fSxnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KCl7cmV0dXJuITF9ZnVuY3Rpb24gaSgpe3JldHVybiIifX0sNDk3MDYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lLnIoMjkwODApLG89e3N0cmVhbTohMH0sdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkodCl7dmFyIG49ZS5yKHQpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRoZW58fCJmdWxmaWxsZWQiPT09bi5zdGF0dXM/bnVsbDoobi50aGVuKGZ1bmN0aW9uKGUpe24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX0sZnVuY3Rpb24oZSl7bi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lfSksbil9dmFyIGE9bmV3IFdlYWtTZXQsbD1uZXcgV2Vha1NldDtmdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGModCl7Zm9yKHZhciBuPXRbMV0scj1bXSxvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciB1PWUuTChuW29dKTtpZihsLmhhcyh1KXx8ci5wdXNoKHUpLCFhLmhhcyh1KSl7dmFyIGM9bC5hZGQuYmluZChsLHUpO3UudGhlbihjLHMpLGEuYWRkKHUpfX1yZXR1cm4gND09PXQubGVuZ3RoPzA9PT1yLmxlbmd0aD9pKHRbMF0pOlByb21pc2UuYWxsKHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaSh0WzBdKX0pOjA8ci5sZW5ndGg/UHJvbWlzZS5hbGwocik6bnVsbH1mdW5jdGlvbiBmKHQpe3ZhciBuPWUucih0WzBdKTtpZig0PT09dC5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4paWYoImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyluPW4udmFsdWU7ZWxzZSB0aHJvdyBuLnJlYXNvbjtyZXR1cm4iKiI9PT10WzJdP246IiI9PT10WzJdP24uX19lc01vZHVsZT9uLmRlZmF1bHQ6bjp1LmNhbGwobix0WzJdKT9uW3RbMl1dOnZvaWQgMH12YXIgZD1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxwPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3IsaD1TeW1ib2wuYXN5bmNJdGVyYXRvcixfPUFycmF5LmlzQXJyYXksYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZz1PYmplY3QucHJvdG90eXBlLG09bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRShlLHQsbil7bS5oYXMoZSl8fG0uc2V0KGUse2lkOnQsb3JpZ2luYWxCaW5kOmUuYmluZCxib3VuZDpufSl9ZnVuY3Rpb24gUyhlLHQsbil7dGhpcy5zdGF0dXM9ZSx0aGlzLnZhbHVlPXQsdGhpcy5yZWFzb249bn1mdW5jdGlvbiBSKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RChlKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TShlKX1zd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInBlbmRpbmciOmNhc2UiYmxvY2tlZCI6Y2FzZSJoYWx0ZWQiOnRocm93IGU7ZGVmYXVsdDp0aHJvdyBlLnJlYXNvbn19ZnVuY3Rpb24gTyhlLHQsbixyKXtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHU9dFtvXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KG4pOkwoZSx1LG4scil9fWZ1bmN0aW9uIHcoZSx0LG4pe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdOyJmdW5jdGlvbiI9PXR5cGVvZiBvP28obik6VShlLG8uaGFuZGxlcixuKX19ZnVuY3Rpb24gVChlLHQpe3ZhciBuPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09bilyZXR1cm4gbnVsbDtpZihuPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1uLnZhbHVlKSlmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09KHI9VChlLHIpKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCxuLHIpe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOk8oZSxuLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHU9bltvXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdSl7dmFyIGk9VCh0LHUpO2lmKG51bGwhPT1pKXN3aXRjaChMKGUsdSxpLnZhbHVlLHQpLG4uc3BsaWNlKG8sMSksby0tLG51bGwhPT1yJiYtMSE9PSh1PXIuaW5kZXhPZih1KSkmJnIuc3BsaWNlKHUsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpPKGUsbix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09ciYmdyhlLHIsdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChuW2VdKTtlbHNlIHQudmFsdWU9bjtpZih0LnJlYXNvbil7aWYocilmb3Iobj0wO248ci5sZW5ndGg7bisrKXQucmVhc29uLnB1c2gocltuXSl9ZWxzZSB0LnJlYXNvbj1yO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOnImJncoZSxyLHQucmVhc29uKX19ZnVuY3Rpb24gQShlLHQsbil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKG4pO2Vsc2V7dmFyIHI9dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLG51bGwhPT1yJiZ3KGUscixuKX19ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKG4/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBDKGUsdCxuLHIpe04oZSx0LChyPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrbisifSIpfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChuKTtlbHNle3ZhciByPXQudmFsdWUsbz10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9bix0LnJlYXNvbj1lLG51bGwhPT1yJiYoRCh0KSxqKGUsdCxyLG8pKX19ZnVuY3Rpb24gUChlLHQsbil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgcj10LnZhbHVlLG89dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1uLHQucmVhc29uPW51bGwsbnVsbCE9PXImJihNKHQpLGooZSx0LHIsbykpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgeD1udWxsO2Z1bmN0aW9uIEQoZSl7dmFyIHQ9eDt4PW51bGw7dmFyIG49ZS52YWx1ZSxyPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIG89SlNPTi5wYXJzZShuLHIuX2Zyb21KU09OKSx1PWUudmFsdWU7aWYobnVsbCE9PXUpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLG49MDtuPHUubGVuZ3RoO24rKyl7dmFyIGk9dVtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaT9pKG8pOkwocixpLG8sZSl9aWYobnVsbCE9PXgpe2lmKHguZXJyb3JlZCl0aHJvdyB4LnJlYXNvbjtpZigwPHguZGVwcyl7eC52YWx1ZT1vLHguY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9b31jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9ZmluYWxseXt4PXR9fWZ1bmN0aW9uIE0oZSl7dHJ5e3ZhciB0PWYoZS52YWx1ZSk7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10fWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH19ZnVuY3Rpb24gJChlLHQpe2UuX2Nsb3NlZD0hMCxlLl9jbG9zZWRSZWFzb249dCxlLl9jaHVua3MuZm9yRWFjaChmdW5jdGlvbihuKXsicGVuZGluZyI9PT1uLnN0YXR1cz9BKGUsbix0KToiZnVsZmlsbGVkIj09PW4uc3RhdHVzJiZudWxsIT09bi5yZWFzb24mJm4ucmVhc29uLmVycm9yKHQpfSl9ZnVuY3Rpb24gSShlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDplLF9pbml0OlJ9fWZ1bmN0aW9uIEgoZSx0KXt2YXIgbj1lLl9jaHVua3Mscj1uLmdldCh0KTtyZXR1cm4gcnx8KHI9ZS5fY2xvc2VkP25ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpLG4uc2V0KHQscikpLHJ9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5oYW5kbGVyLG89dC5wYXJlbnRPYmplY3QsaT10LmtleSxhPXQubWFwLGw9dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPGwubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiZuLiQkdHlwZW9mPT09eTspe3ZhciBjPW4uX3BheWxvYWQ7aWYoYz09PXIuY2h1bmspbj1yLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOm49Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPVQoYyx0KTtpZihudWxsIT09Zil7bj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6bC5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpVKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1sW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJnUuY2FsbChuLGQpKW49bltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJm4uJCR0eXBlb2Y9PT15Oyl7dmFyIHY9bi5fcGF5bG9hZDtpZih2PT09ci5jaHVuayluPXIudmFsdWU7ZWxzZXtzd2l0Y2godi5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodik7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odil9aWYoImZ1bGZpbGxlZCI9PT12LnN0YXR1cyl7bj12LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgaD1hKGUsbixvLGkpO2lmKCJfX3Byb3RvX18iIT09aSYmKG9baV09aCksIiI9PT1pJiZudWxsPT09ci52YWx1ZSYmKHIudmFsdWU9aCksb1swXT09PXAmJiJvYmplY3QiPT10eXBlb2Ygci52YWx1ZSYmbnVsbCE9PXIudmFsdWUmJnIudmFsdWUuJCR0eXBlb2Y9PT1wKXt2YXIgXz1yLnZhbHVlOyIzIj09PWkmJihfLnByb3BzPWgpfX1jYXRjaChuKXtVKGUsdC5oYW5kbGVyLG4pO3JldHVybn1yLmRlcHMtLSwwPT09ci5kZXBzJiZudWxsIT09KHQ9ci5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYobj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9ci52YWx1ZSx0LnJlYXNvbj1yLnJlYXNvbixudWxsIT09biYmTyhlLG4sci52YWx1ZSx0KSl9ZnVuY3Rpb24gVShlLHQsbil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1uLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkEoZSx0LG4pKX1mdW5jdGlvbiBGKGUsdCxuLHIsbyx1KXtyZXR1cm4geD8ocj14LHIuZGVwcysrKTpyPXg9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpyLHBhcmVudE9iamVjdDp0LGtleTpuLG1hcDpvLHBhdGg6dX0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uIFgoZSx0LG4scil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbz8iZnVsZmlsbGVkIj09PW8uc3RhdHVzP3QocixvLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQocixuLmNvbmNhdChlKSl9KTp0KHIsZSl9dmFyIHI9ZS5pZCxvPWUuYm91bmQ7cmV0dXJuIEUobixyLG8pLG59KHQsZS5fY2FsbFNlcnZlcik7dmFyIG89ZnVuY3Rpb24oZSx0KXt2YXIgbj0iIixyPWVbdF07aWYociluPXIubmFtZTtlbHNle3ZhciBvPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PW8mJihuPXQuc2xpY2UobysxKSxyPWVbdC5zbGljZSgwLG8pXSksIXIpdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiByLmFzeW5jP1tyLmlkLHIuY2h1bmtzLG4sMV06W3IuaWQsci5jaHVua3Msbl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSx1PWMobyk7aWYodSl0LmJvdW5kJiYodT1Qcm9taXNlLmFsbChbdSx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUodT1mKG8pLHQuaWQsdC5ib3VuZCksdTt1PVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZih4KXt2YXIgaT14O2kuZGVwcysrfWVsc2UgaT14PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiB1LnRoZW4oZnVuY3Rpb24oKXt2YXIgdT1mKG8pO2lmKHQuYm91bmQpe3ZhciBhPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7YS51bnNoaWZ0KG51bGwpLHU9dS5iaW5kLmFwcGx5KHUsYSl9RSh1LHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1yJiYobltyXT11KSwiIj09PXImJm51bGw9PT1pLnZhbHVlJiYoaS52YWx1ZT11KSxuWzBdPT09cCYmIm9iamVjdCI9PXR5cGVvZiBpLnZhbHVlJiZudWxsIT09aS52YWx1ZSYmaS52YWx1ZS4kJHR5cGVvZj09PXAmJihhPWkudmFsdWUsIjMiPT09cikmJihhLnByb3BzPXUpLGkuZGVwcy0tLDA9PT1pLmRlcHMmJm51bGwhPT0odT1pLmNodW5rKSYmImJsb2NrZWQiPT09dS5zdGF0dXMmJihhPXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1pLnZhbHVlLHUucmVhc29uPW51bGwsbnVsbCE9PWEmJk8oZSxhLGkudmFsdWUsdSkpfSxmdW5jdGlvbih0KXtpZighaS5lcnJvcmVkKXtpLmVycm9yZWQ9ITAsaS52YWx1ZT1udWxsLGkucmVhc29uPXQ7dmFyIG49aS5jaHVuaztudWxsIT09biYmImJsb2NrZWQiPT09bi5zdGF0dXMmJkEoZSxuLHQpfX0pLG51bGx9ZnVuY3Rpb24gVihlLHQsbixyLG8pe3ZhciB1PXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgodT1IKGUsdSkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RCh1KTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TSh1KX1zd2l0Y2godS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjp1PXUudmFsdWU7Zm9yKHZhciBpPTE7aTx0Lmxlbmd0aDtpKyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSYmdS4kJHR5cGVvZj09PXk7KXtzd2l0Y2goKHU9dS5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHUpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHUpfXN3aXRjaCh1LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnU9dS52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEYodSxuLHIsZSxvLHQuc2xpY2UoaS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX11PXVbdFtpXV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11JiZ1LiQkdHlwZW9mPT09eTspe3N3aXRjaCgodD11Ll9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7dT10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBvKGUsdSxuLHIpO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gRih1LG4scixlLG8sdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBxKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIFcoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gRyhlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWUuYXBwZW5kKHRbbl1bMF0sdFtuXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24gSihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24geigpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIFkoZSx0LG4scixvLHUsaSl7dmFyIGEsbD1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPW4sdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1yP3I6eix0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPW8sdGhpcy5fbm9uY2U9dSx0aGlzLl9jaHVua3M9bCx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9mcm9tSlNPTj1udWxsLHRoaXMuX2Nsb3NlZD0hMSx0aGlzLl9jbG9zZWRSZWFzb249bnVsbCx0aGlzLl90ZW1wUmVmcz1pLHRoaXMuX2Zyb21KU09OPShhPXRoaXMsZnVuY3Rpb24oZSx0KXtpZigiX19wcm90b19fIiE9PWUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49YSxyPXRoaXMsbz1lLHU9dDtpZigiJCI9PT11WzBdKXtpZigiJCI9PT11KXJldHVybiBudWxsIT09eCYmIjAiPT09byYmKHg9e3BhcmVudDp4LGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjAsZXJyb3JlZDohMX0pLHA7c3dpdGNoKHVbMV0pe2Nhc2UiJCI6cmV0dXJuIHUuc2xpY2UoMSk7Y2FzZSJMIjpyZXR1cm4gSShuPUgobixyPXBhcnNlSW50KHUuc2xpY2UoMiksMTYpKSk7Y2FzZSJAIjpyZXR1cm4gSChuLHI9cGFyc2VJbnQodS5zbGljZSgyKSwxNikpO2Nhc2UiUyI6cmV0dXJuIFN5bWJvbC5mb3IodS5zbGljZSgyKSk7Y2FzZSJoIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sWCk7Y2FzZSJUIjppZihyPSIkIit1LnNsaWNlKDIpLG51bGw9PShuPW4uX3RlbXBSZWZzKSl0aHJvdyBFcnJvcigiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuIik7cmV0dXJuIG4uZ2V0KHIpO2Nhc2UiUSI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLHEpO2Nhc2UiVyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEIpO2Nhc2UiQiI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLFcpO2Nhc2UiSyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEcpO2Nhc2UiWiI6cmV0dXJuIGVyKCk7Y2FzZSJpIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sSik7Y2FzZSJJIjpyZXR1cm4gMS8wO2Nhc2UiLSI6cmV0dXJuIiQtMCI9PT11Py0wOi0xLzA7Y2FzZSJOIjpyZXR1cm4gTmFOO2Nhc2UidSI6cmV0dXJuO2Nhc2UiRCI6cmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodS5zbGljZSgyKSkpO2Nhc2UibiI6cmV0dXJuIEJpZ0ludCh1LnNsaWNlKDIpKTtkZWZhdWx0OnJldHVybiBWKG4sdT11LnNsaWNlKDEpLHIsbyxLKX19cmV0dXJuIHV9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYodFswXT09PXApe2lmKGU9eyQkdHlwZW9mOnAsdHlwZTp0WzFdLGtleTp0WzJdLHJlZjpudWxsLHByb3BzOnRbM119LG51bGwhPT14KXtpZih4PSh0PXgpLnBhcmVudCx0LmVycm9yZWQpZT1JKGU9bmV3IFMoInJlamVjdGVkIixudWxsLHQucmVhc29uKSk7ZWxzZSBpZigwPHQuZGVwcyl7dmFyIGk9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCk7dC52YWx1ZT1lLHQuY2h1bms9aSxlPUkoaSl9fX1lbHNlIGU9dDtyZXR1cm4gZX1yZXR1cm4gdH19KX1mdW5jdGlvbiBRKGUsdCxuKXt2YXIgcj0oZT1lLl9jaHVua3MpLmdldCh0KTtyJiYicGVuZGluZyIhPT1yLnN0YXR1cz9yLnJlYXNvbi5lbnF1ZXVlVmFsdWUobik6KG49bmV3IFMoImZ1bGZpbGxlZCIsbixudWxsKSxlLnNldCh0LG4pKX1mdW5jdGlvbiBaKGUsdCxuLHIpe3ZhciBvPWUuX2NodW5rcyx1PW8uZ2V0KHQpO3U/InBlbmRpbmciPT09dS5zdGF0dXMmJih0PXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1uLHUucmVhc29uPXIsbnVsbCE9PXQmJk8oZSx0LHUudmFsdWUsdSkpOihlPW5ldyBTKCJmdWxmaWxsZWQiLG4sciksby5zZXQodCxlKSl9ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByPW51bGwsbz0hMTtuPW5ldyBSZWFkYWJsZVN0cmVhbSh7dHlwZTpuLHN0YXJ0OmZ1bmN0aW9uKGUpe3I9ZX19KTt2YXIgdT1udWxsO1ooZSx0LG4se2VucXVldWVWYWx1ZTpmdW5jdGlvbihlKXtudWxsPT09dT9yLmVucXVldWUoZSk6dS50aGVuKGZ1bmN0aW9uKCl7ci5lbnF1ZXVlKGUpfSl9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXtpZihudWxsPT09dSl7dmFyIG49bmV3IFMoInJlc29sdmVkX21vZGVsIix0LGUpO0QobiksImZ1bGZpbGxlZCI9PT1uLnN0YXR1cz9yLmVucXVldWUobi52YWx1ZSk6KG4udGhlbihmdW5jdGlvbihlKXtyZXR1cm4gci5lbnF1ZXVlKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gci5lcnJvcihlKX0pLHU9bil9ZWxzZXtuPXU7dmFyIG89bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCk7by50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiByLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiByLmVycm9yKGUpfSksdT1vLG4udGhlbihmdW5jdGlvbigpe3U9PT1vJiYodT1udWxsKSxOKGUsbyx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighbylpZihvPSEwLG51bGw9PT11KXIuY2xvc2UoKTtlbHNle3ZhciBlPXU7dT1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiByLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFvKWlmKG89ITAsbnVsbD09PXUpci5lcnJvcihlKTtlbHNle3ZhciB0PXU7dT1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiByLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGV0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LG4pe3ZhciByPVtdLG89ITEsdT0wLGk9e307aVtoXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PXIubGVuZ3RoKXtpZihvKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO3JbdF09bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9cmV0dXJuIHJbdCsrXX19KVtoXT1ldCxlfSxaKGUsdCxuP2lbaF0oKTppLHtlbnF1ZXVlVmFsdWU6ZnVuY3Rpb24odCl7aWYodT09PXIubGVuZ3RoKXJbdV09bmV3IFMoImZ1bGZpbGxlZCIse2RvbmU6ITEsdmFsdWU6dH0sbnVsbCk7ZWxzZXt2YXIgbj1yW3VdLG89bi52YWx1ZSxpPW4ucmVhc29uO24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9e2RvbmU6ITEsdmFsdWU6dH0sbi5yZWFzb249bnVsbCxudWxsIT09byYmaihlLG4sbyxpKX11Kyt9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXt1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMSk6QyhlLHJbdV0sdCwhMSksdSsrfSxjbG9zZTpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMCk6QyhlLHJbdV0sdCwhMCksdSsrO3U8ci5sZW5ndGg7KUMoZSxyW3UrK10sJyIkdW5kZWZpbmVkIicsITApfSxlcnJvcjpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGgmJihyW3VdPW5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpKTt1PHIubGVuZ3RoOylBKGUsclt1KytdLHQpfX0pfWZ1bmN0aW9uIGVyKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVvKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wO288bjtvKyspcis9ZVtvXS5ieXRlTGVuZ3RoO3I9bmV3IFVpbnQ4QXJyYXkocik7Zm9yKHZhciB1PW89MDt1PG47dSsrKXt2YXIgaT1lW3VdO3Iuc2V0KGksbyksbys9aS5ieXRlTGVuZ3RofXJldHVybiByLnNldCh0LG8pLHJ9ZnVuY3Rpb24gZXUoZSx0LG4scixvLHUpe1EoZSx0LG89bmV3IG8oKG49MD09PW4ubGVuZ3RoJiYwPT1yLmJ5dGVPZmZzZXQldT9yOmVvKG4scikpLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoL3UpKX1mdW5jdGlvbiBlaShlKXskKGUsRXJyb3IoIkNvbm5lY3Rpb24gY2xvc2VkLiIpKX1mdW5jdGlvbiBlYShlKXtyZXR1cm4gbmV3IFkobnVsbCxudWxsLG51bGwsZSYmZS5jYWxsU2VydmVyP2UuY2FsbFNlcnZlcjp2b2lkIDAsdm9pZCAwLHZvaWQgMCxlJiZlLnRlbXBvcmFyeVJlZmVyZW5jZXM/ZS50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCl9ZnVuY3Rpb24gZWwoZSx0LG4pe2Z1bmN0aW9uIHIodCl7JChlLHQpfXZhciB1PXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LGk9dC5nZXRSZWFkZXIoKTtpLnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoYSl7dmFyIGw9YS52YWx1ZTtpZihhLmRvbmUpcmV0dXJuIG4oKTt2YXIgcz0wLGY9dS5fcm93U3RhdGU7YT11Ll9yb3dJRDtmb3IodmFyIHA9dS5fcm93VGFnLHk9dS5fcm93TGVuZ3RoLHY9dS5fYnVmZmVyLGg9bC5sZW5ndGg7czxoOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPWxbcysrXSk/Zj0xOmE9YTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPWxbc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhwPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhwPWYsZj0zLHMrKyk6KHA9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPWxbcysrXSk/Zj00Onk9eTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPWwuaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cyt5KT5sLmxlbmd0aCYmKF89LTEpfXZhciBiPWwuYnl0ZU9mZnNldCtzO2lmKC0xPF8peT1uZXcgVWludDhBcnJheShsLmJ1ZmZlcixiLF8tcyksOTg9PT1wP1EoZSxhLF89PT1oP3k6eS5zbGljZSgpKTpmdW5jdGlvbihlLHQsbixyLHUsaSl7c3dpdGNoKHIpe2Nhc2UgNjU6UShlLG4sZW8odSxpKS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUsbix1LGksSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpRKGUsbiwwPT09dS5sZW5ndGg/aTplbyh1LGkpKTtyZXR1cm47Y2FzZSA4NTpldShlLG4sdSxpLFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUsbix1LGksSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxuLHUsaSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLG4sdSxpLEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUsbix1LGksVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxuLHUsaSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUsbix1LGksRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUsbix1LGksQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxuLHUsaSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLG4sdSxpLERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBhPSIiLGw9MDtsPHUubGVuZ3RoO2wrKylhKz10LmRlY29kZSh1W2xdLG8pO3N3aXRjaCh1PWErPXQuZGVjb2RlKGkpLHIpe2Nhc2UgNzM6dmFyIHM9ZSxmPW4scD11LHk9cy5fY2h1bmtzLHY9eS5nZXQoZik7cD1KU09OLnBhcnNlKHAscy5fZnJvbUpTT04pO3ZhciBoPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIG49ZVt0WzBdXTtpZihlPW4mJm5bdFsyXV0pbj1lLm5hbWU7ZWxzZXtpZighKGU9biYmblsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7bj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsbiwxXTpbZS5pZCxlLmNodW5rcyxuXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxwKTtpZihwPWMoaCkpe2lmKHYpe3ZhciBfPXY7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSx5LnNldChmLF8pO3AudGhlbihmdW5jdGlvbigpe3JldHVybiBQKHMsXyxoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEEocyxfLGUpfSl9ZWxzZSB2P1Aocyx2LGgpOih2PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGgsbnVsbCkseS5zZXQoZix2KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gobj11WzBdLGU9SlNPTi5wYXJzZSh1PXUuc2xpY2UoMSksZS5fZnJvbUpTT04pLHU9ZC5kLG4pe2Nhc2UiRCI6dS5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP3UuQyhlKTp1LkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOm49ZVswXSxyPWVbMV0sMz09PWUubGVuZ3RoP3UuTChuLHIsZVsyXSk6dS5MKG4scik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/dS5tKGUpOnUubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP3UuWChlKTp1LlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT91LlMoZSk6dS5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT91Lk0oZSk6dS5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTppPShyPWUuX2NodW5rcykuZ2V0KG4pLHU9SlNPTi5wYXJzZSh1KSwodD1lcigpKS5kaWdlc3Q9dS5kaWdlc3QsaT9BKGUsaSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksci5zZXQobixlKSk7YnJlYWs7Y2FzZSA4NDoocj0oZT1lLl9jaHVua3MpLmdldChuKSkmJiJwZW5kaW5nIiE9PXIuc3RhdHVzP3IucmVhc29uLmVucXVldWVWYWx1ZSh1KToodT1uZXcgUygiZnVsZmlsbGVkIix1LG51bGwpLGUuc2V0KG4sdSkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjplZShlLG4sdm9pZCAwKTticmVhaztjYXNlIDExNDplZShlLG4sImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLG4sITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsbiwhMCk7YnJlYWs7Y2FzZSA2Nzoobj1lLl9jaHVua3MuZ2V0KG4pKSYmImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyYmbi5yZWFzb24uY2xvc2UoIiI9PT11PyciJHVuZGVmaW5lZCInOnUpO2JyZWFrO2RlZmF1bHQ6KGk9KHI9ZS5fY2h1bmtzKS5nZXQobikpP04oZSxpLHUpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsdSxlKSxyLnNldChuLGUpKX19KGUsdSxhLHAsdix5KSxzPV8sMz09PWYmJnMrKyx5PWE9cD1mPTAsdi5sZW5ndGg9MDtlbHNle2w9bmV3IFVpbnQ4QXJyYXkobC5idWZmZXIsYixsLmJ5dGVMZW5ndGgtcyksOTg9PT1wPyh5LT1sLmJ5dGVMZW5ndGgsUShlLGEsbCkpOih2LnB1c2gobCkseS09bC5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIHUuX3Jvd1N0YXRlPWYsdS5fcm93SUQ9YSx1Ll9yb3dUYWc9cCx1Ll9yb3dMZW5ndGg9eSxpLnJlYWQoKS50aGVuKHQpLmNhdGNoKHIpfSkuY2F0Y2gocil9bi5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lYSh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VsKG4sZS5ib2R5LGVpLmJpbmQobnVsbCxuKSl9LGZ1bmN0aW9uKGUpeyQobixlKX0pLEgobiwwKX0sbi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWwodD1lYSh0KSxlLGVpLmJpbmQobnVsbCx0KSksSCh0LDApfSxuLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUsbil9cmV0dXJuIEUobixlLG51bGwpLG59LG4uY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LG4uZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt2YXIgbz1mdW5jdGlvbihlLHQsbixyLG8pe2Z1bmN0aW9uIHUoZSx0KXt0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKV0pO3ZhciBuPWwrKztyZXR1cm4gbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrbix0KSwiJCIrZStuLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBwOmlmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6Iikpe3ZhciBFLFMsUixPLHcsVD1mLmdldCh0aGlzKTtpZih2b2lkIDAhPT1UKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCJ9dGhyb3cgRXJyb3IoIlJlYWN0IEVsZW1lbnQgY2Fubm90IGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudCB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIik7Y2FzZSB5OlQ9dC5fcGF5bG9hZDt2YXIgaj10Ll9pbml0O251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt0cnl7dmFyIEE9aihUKSxrPWwrKyxDPWEoQSxrKTtyZXR1cm4gYy5hcHBlbmQoIiIrayxDKSwiJCIray50b1N0cmluZygxNil9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7cysrO3ZhciBOPWwrKztyZXR1cm4gVD1mdW5jdGlvbigpe3RyeXt2YXIgZT1hKHQsTiksbj1jO24uYXBwZW5kKCIiK04sZSkscy0tLDA9PT1zJiZyKG4pfWNhdGNoKGUpe28oZSl9fSxlLnRoZW4oVCxUKSwiJCIrTi50b1N0cmluZygxNil9cmV0dXJuIG8oZSksbnVsbH1maW5hbGx5e3MtLX19aWYoVD1mLmdldCh0KSwiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXtpZih2b2lkIDAhPT1UKWlmKGQhPT10KXJldHVybiBUO2Vsc2UgZD1udWxsO251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt2YXIgUD1sKys7cmV0dXJuIGU9IiRAIitQLnRvU3RyaW5nKDE2KSxmLnNldCh0LGUpLHQudGhlbihmdW5jdGlvbihlKXt0cnl7dmFyIHQ9Zi5nZXQoZSksbj12b2lkIDAhPT10P0pTT04uc3RyaW5naWZ5KHQpOmEoZSxQKTsoZT1jKS5hcHBlbmQoIiIrUCxuKSxzLS0sMD09PXMmJnIoZSl9Y2F0Y2goZSl7byhlKX19LG8pLGV9aWYodm9pZCAwIT09VClpZihkIT09dClyZXR1cm4gVDtlbHNlIGQ9bnVsbDtlbHNlIC0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSYmKGU9VCsiOiIrZSxmLnNldCh0LGUpLHZvaWQgMCE9PW4mJm4uc2V0KGUsdCkpO2lmKF8odCkpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEZvcm1EYXRhKXtudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKTt2YXIgeD1jLEQ9IiIrKGU9bCsrKSsiXyI7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlLHQpe3guYXBwZW5kKEQrdCxlKX0pLCIkSyIrZS50b1N0cmluZygxNil9aWYodCBpbnN0YW5jZW9mIE1hcClyZXR1cm4gZT1sKyssVD1hKEFycmF5LmZyb20odCksZSksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrZSxUKSwiJFEiK2UudG9TdHJpbmcoMTYpO2lmKHQgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIGU9bCsrLFQ9YShBcnJheS5mcm9tKHQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRXIitlLnRvU3RyaW5nKDE2KTtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGU9bmV3IEJsb2IoW3RdKSxUPWwrKyxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxjLmFwcGVuZCgiIitULGUpLCIkQSIrVC50b1N0cmluZygxNik7aWYodCBpbnN0YW5jZW9mIEludDhBcnJheSlyZXR1cm4gdSgiTyIsdCk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHUoIm8iLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlyZXR1cm4gdSgiVSIsdCk7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHUoIlMiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gdSgicyIsdCk7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHUoIkwiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSlyZXR1cm4gdSgibCIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlyZXR1cm4gdSgiRyIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSlyZXR1cm4gdSgiZyIsdCk7aWYodCBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXkpcmV0dXJuIHUoIk0iLHQpO2lmKHQgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlyZXR1cm4gdSgibSIsdCk7aWYodCBpbnN0YW5jZW9mIERhdGFWaWV3KXJldHVybiB1KCJWIix0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2IpcmV0dXJuIG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGU9bCsrLGMuYXBwZW5kKCIiK2UsdCksIiRCIitlLnRvU3RyaW5nKDE2KTtpZihlPW51bGw9PT0oRT10KXx8Im9iamVjdCIhPXR5cGVvZiBFP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKEU9diYmRVt2XXx8RVsiQEBpdGVyYXRvciJdKT9FOm51bGwpcmV0dXJuKFQ9ZS5jYWxsKHQpKT09PXQ/KGU9bCsrLFQ9YShBcnJheS5mcm9tKFQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRpIitlLnRvU3RyaW5nKDE2KSk6QXJyYXkuZnJvbShUKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUmVhZGFibGVTdHJlYW0mJnQgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3ZhciB0LG4sdSxhLGYsZCxwLHk9ZS5nZXRSZWFkZXIoe21vZGU6ImJ5b2IifSl9Y2F0Y2goYSl7cmV0dXJuIHQ9ZS5nZXRSZWFkZXIoKSxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxuPWMscysrLHU9bCsrLHQucmVhZCgpLnRoZW4oZnVuY3Rpb24gZShhKXtpZihhLmRvbmUpbi5hcHBlbmQoIiIrdSwiQyIpLDA9PS0tcyYmcihuKTtlbHNlIHRyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShhLnZhbHVlLGkpO24uYXBwZW5kKCIiK3UsbCksdC5yZWFkKCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJFIiK3UudG9TdHJpbmcoMTYpfXJldHVybiBhPXksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksZj1jLHMrKyxkPWwrKyxwPVtdLGEucmVhZChuZXcgVWludDhBcnJheSgxMDI0KSkudGhlbihmdW5jdGlvbiBlKHQpe3QuZG9uZT8odD1sKyssZi5hcHBlbmQoIiIrdCxuZXcgQmxvYihwKSksZi5hcHBlbmQoIiIrZCwnIiRvJyt0LnRvU3RyaW5nKDE2KSsnIicpLGYuYXBwZW5kKCIiK2QsIkMiKSwwPT0tLXMmJnIoZikpOihwLnB1c2godC52YWx1ZSksYS5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGUsbykpfSxvKSwiJHIiK2QudG9TdHJpbmcoMTYpfSh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YoZT10W2hdKSlyZXR1cm4gUz10LFI9ZS5jYWxsKHQpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLE89YyxzKyssdz1sKyssUz1TPT09UixSLm5leHQoKS50aGVuKGZ1bmN0aW9uIGUodCl7aWYodC5kb25lKXtpZih2b2lkIDA9PT10LnZhbHVlKU8uYXBwZW5kKCIiK3csIkMiKTtlbHNlIHRyeXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csIkMiK24pfWNhdGNoKGUpe28oZSk7cmV0dXJufTA9PS0tcyYmcihPKX1lbHNlIHRyeXt2YXIgdT1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csdSksUi5uZXh0KCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJCIrKFM/IngiOiJYIikrdy50b1N0cmluZygxNik7aWYoKGU9Yih0KSkhPT1nJiYobnVsbD09PWV8fG51bGwhPT1iKGUpKSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcigiT25seSBwbGFpbiBvYmplY3RzLCBhbmQgYSBmZXcgYnVpbHQtaW5zLCBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMuIENsYXNzZXMgb3IgbnVsbCBwcm90b3R5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiIkVCJ9cmV0dXJuIHR9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiJaIj09PXRbdC5sZW5ndGgtMV0mJnRoaXNbZV1pbnN0YW5jZW9mIERhdGU/IiREIit0OmU9IiQiPT09dFswXT8iJCIrdDp0O2lmKCJib29sZWFuIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiBOdW1iZXIuaXNGaW5pdGUodCk/MD09PXQmJi0xLzA9PTEvdD8iJC0wIjp0OjEvMD09PXQ/IiRJbmZpbml0eSI6LTEvMD09PXQ/IiQtSW5maW5pdHkiOiIkTmFOIjtpZih2b2lkIDA9PT10KXJldHVybiIkdW5kZWZpbmVkIjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7aWYodm9pZCAwIT09KFQ9bS5nZXQodCkpKXJldHVybiB2b2lkIDAhPT0oZT1mLmdldCh0KSl8fChlPUpTT04uc3RyaW5naWZ5KHtpZDpULmlkLGJvdW5kOlQuYm91bmR9LGkpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLFQ9bCsrLGMuc2V0KCIiK1QsZSksZT0iJGgiK1QudG9TdHJpbmcoMTYpLGYuc2V0KHQsZSkpLGU7aWYodm9pZCAwIT09biYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KFQ9Zi5nZXQodGhpcykpKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCI7dGhyb3cgRXJyb3IoIkNsaWVudCBGdW5jdGlvbnMgY2Fubm90IGJlIHBhc3NlZCBkaXJlY3RseSB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4iKX1pZigic3ltYm9sIj09dHlwZW9mIHQpe2lmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSlyZXR1cm4gbi5zZXQoVCsiOiIrZSx0KSwiJFQiO3Rocm93IEVycm9yKCJTeW1ib2xzIGNhbm5vdCBiZSBwYXNzZWQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24gd2l0aG91dCBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0LiBQYXNzIGEgVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IHRvIHRoZSBvcHRpb25zLiIpfWlmKCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4iJG4iK3QudG9TdHJpbmcoMTApO3Rocm93IEVycm9yKCJUeXBlICIrdHlwZW9mIHQrIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLiIpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYodD0iJCIrdC50b1N0cmluZygxNiksZi5zZXQoZSx0KSx2b2lkIDAhPT1uJiZuLnNldCh0LGUpKSxkPWUsSlNPTi5zdHJpbmdpZnkoZSxpKX12YXIgbD0xLHM9MCxjPW51bGwsZj1uZXcgV2Vha01hcCxkPWUsRT1hKGUsMCk7cmV0dXJuIG51bGw9PT1jP3IoRSk6KGMuc2V0KCIwIixFKSwwPT09cyYmcihjKSksZnVuY3Rpb24oKXswPHMmJihzPTAsbnVsbD09PWM/cihFKTpyKGMpKX19KGUsMCx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxuLHIpO2lmKHQmJnQuc2lnbmFsKXt2YXIgdT10LnNpZ25hbDtpZih1LmFib3J0ZWQpbyh1LnJlYXNvbik7ZWxzZXt2YXIgaT1mdW5jdGlvbigpe28odS5yZWFzb24pLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGkpfTt1LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKX19fSl9LG4ucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDkxNTk4LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0OTcwNil9LDc1MDQ1LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig5MTU5OCl9LDU5NDMwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByLG89e0FDVElPTl9ITVJfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBjfSxBQ1RJT05fTkFWSUdBVEU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sQUNUSU9OX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQUNUSU9OX1JFU1RPUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sQUNUSU9OX1NFUlZFUl9BQ1RJT046ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX1NFUlZFUl9QQVRDSDpmdW5jdGlvbigpe3JldHVybiBzfSxQcmVmZXRjaEtpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgdSBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHUse2VudW1lcmFibGU6ITAsZ2V0Om9bdV19KTtsZXQgaT0icmVmcmVzaCIsYT0ibmF2aWdhdGUiLGw9InJlc3RvcmUiLHM9InNlcnZlci1wYXRjaCIsYz0iaG1yLXJlZnJlc2giLGY9InNlcnZlci1hY3Rpb24iO3ZhciBkPSgocj17fSkuQVVUTz0iYXV0byIsci5GVUxMPSJmdWxsIixyKTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MTc2OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJ0aGVuImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJpc1RoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTQ4NzksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2Rpc3BhdGNoQXBwUm91dGVyQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVzZUFjdGlvblF1ZXVlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDkxNzY4KSxhPW51bGw7ZnVuY3Rpb24gbChlKXtpZihudWxsPT09YSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7YShlKX1mdW5jdGlvbiBzKGUpe2xldFt0LG5dPXUuZGVmYXVsdC51c2VTdGF0ZShlLnN0YXRlKTthPXQ9PmUuZGlzcGF0Y2godCxuKTtsZXQgcj0oMCx1LnVzZU1lbW8pKCgpPT50LFt0XSk7cmV0dXJuKDAsaS5pc1RoZW5hYmxlKShyKT8oMCx1LnVzZSkocik6cn0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMDkzMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY2FsbFNlcnZlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IHI9ZS5yKDc1MjAxKSxvPWUucig1OTQzMCksdT1lLnIoOTQ4NzkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4saSk9PnsoMCxyLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx1LmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpvLkFDVElPTl9TRVJWRVJfQUNUSU9OLGFjdGlvbklkOmUsYWN0aW9uQXJnczp0LHJlc29sdmU6bixyZWplY3Q6aX0pfSl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4OTU5NCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZFNvdXJjZU1hcFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11409.ff84ce4d523d3540c7b2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.714Z","timestamp":1785136427714,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11409.ff84ce4d523d3540c7b2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-30a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 52e0dd136b2209fc7167a00bb1ec0b4f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12448,"size_decoded":2540,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (12448), with no line terminators","md5":"9cbd709ec51e71339f9e69c3d1123c45","sha1":"18fc795afdbb481ad608bd860ac9b7bb46ee7e64","sha256":"16656563dbea106cf3921679f643ec67ec00cb3aa403ca62d51a28b02edc49cd","sha512":"26e5802457dc337b290fa5ffd9b5ab3134a9243bc599ee54d8bf8129ad1f8c76256660c9eb5ea4e260161ba1568a64085cfdb3496f618dab283564cf760fcb96","ssdeep":"192:kOE3SjlWLR0cFLonGDgTVoTRRCc0OE3R25jqBfm2GKctwCYzcbyVjEBRroRGR7lW:2Wc1z3lTlftwE+VjEkARZVsr","tlshash":"45428b8ce94142af6813903c1339eb38de46ff53dc524bab7769544a4bc3ae161ebb44","first_seen":"2026-06-17T17:32:05.658594Z","last_seen":"2026-07-28T06:17:53.392875Z","times_seen":933,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"time_used":54,"timings":{"blocked":-1,"dns":4,"connect":2,"send":0,"wait":6,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67930.f0d77c1721dc8fa0d333.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.250Z","timestamp":1785136429250,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67930.f0d77c1721dc8fa0d333.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-1bb1d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5d773d03a271574d532d3a4729d1c3be\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":113437,"size_decoded":36882,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"990cf69851fde87b4493a4a244863db8","sha1":"ee7d5c61c67346c3d87c7e74c026bf4563383065","sha256":"6dfa7fc1e68a590ca27e08e6e6764259c28a0d7b39bb6971ab6383e8f246b6ac","sha512":"c819313da9003f50657bb1bc8de38b3e74208ac8407598c9755760b3b87d2ef157dbfebfaab0286f372c6586681bc19bca3e95ffcd2493326e2ae3b7c4947127","ssdeep":"3072:R0RDUtOcN3trUIjzAXK8ZrhLy6fXK6ZKubLBc4MO:ZZdTjsXK8ZVy0subLBcrO","tlshash":"66b33be3b1a0f0a9556601e984be0103971e6966bc47887cf6bc9cce155c9caf636f3c","first_seen":"2026-07-23T14:00:31.373835Z","last_seen":"2026-07-28T06:17:53.587399Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw2NzkzMF0sezkxNDQ4NyhlLHQpe3ZhciBhOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgYT1hcmd1bWVudHNbdF07aWYoYSl7dmFyIGk9dHlwZW9mIGE7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKGEpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGgpe3ZhciByPW8uYXBwbHkobnVsbCxhKTtyJiZlLnB1c2gocil9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBuIGluIGEpcy5jYWxsKGEsbikmJmFbbl0mJmUucHVzaChuKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShhPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1hKX0oKX0sNzE3NjAoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLCJjaGVja2JveC1wcmltYXJ5LWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCkiLCJjaGVja2JveC1wcmltYXJ5LWhvdmVyLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpIiwiY2hlY2tib3gtcHJpbWFyeS1hY3RpdmUtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKSIsImNoZWNrYm94LXByaW1hcnktZmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpIiwiY2hlY2tib3gtZGFuZ2VyLWRlZmF1bHQtYmciOiJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ib2xkKSIsImNoZWNrYm94LWRhbmdlci1ob3Zlci1iZyI6InZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCkiLCJjaGVja2JveC1kYW5nZXItYWN0aXZlLWJnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpIiwiY2hlY2tib3gtZGFuZ2VyLWZnIjoidmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKSIsd3JhcHBlcjoid3JhcHBlci1zVzg3cFF6SyIsaW5wdXQ6ImlucHV0LXNXODdwUXpLIixmb2N1c091dGxpbmU6ImZvY3VzT3V0bGluZS1zVzg3cFF6SyIscHJpbWFyeToicHJpbWFyeS1zVzg3cFF6SyIsZGlzYWJsZWQ6ImRpc2FibGVkLXNXODdwUXpLIixkYW5nZXI6ImRhbmdlci1zVzg3cFF6SyIsdmlldzoidmlldy1zVzg3cFF6SyJ9fSw4MzI1MTgoZSl7ZS5leHBvcnRzPXsiY2hlY2tib3gtc2l6ZSI6IjE4cHgiLGJveDoiYm94LVhmR2tCQnFmIix1bmNoZWNrZWQ6InVuY2hlY2tlZC1YZkdrQkJxZiIsY2hlY2tlZDoiY2hlY2tlZC1YZkdrQkJxZiIsbWl4ZWQ6Im1peGVkLVhmR2tCQnFmIixkaXNhYmxlZDoiZGlzYWJsZWQtWGZHa0JCcWYiLGNoZWNrZWRNYXJrOiJjaGVja2VkTWFyay1YZkdrQkJxZiIsbWl4ZWRNYXJrOiJtaXhlZE1hcmstWGZHa0JCcWYifX0sMjgyNTkzKGUpe2UuZXhwb3J0cz17Y2hlY2tib3g6ImNoZWNrYm94LWhVc25uMlpfIixyZXZlcnNlOiJyZXZlcnNlLWhVc25uMlpfIixiYXNlbGluZToiYmFzZWxpbmUtaFVzbm4yWl8iLGxhYmVsOiJsYWJlbC1oVXNubjJaXyIsZGlzYWJsZWQ6ImRpc2FibGVkLWhVc25uMlpfIixwcmltYXJ5OiJwcmltYXJ5LWhVc25uMlpfIixkYW5nZXI6ImRhbmdlci1oVXNubjJaXyJ9fSw5OTQxNShlKXtlLmV4cG9ydHM9e2lubGluZUljb246ImlubGluZUljb24tdDZXWmxMUU8ifX0sODMwMTk3KGUpe2UuZXhwb3J0cz17ZWRpdG9yRXJyb3JCdXR0b25zOiJlZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTMifX0sODc3OTk5KGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1QZ3VBckxGZiIsd3JhcEVycm9yOiJ3cmFwRXJyb3ItUGd1QXJMRmYiLGNsaWNrZWRBbmltOiJjbGlja2VkQW5pbS1QZ3VBckxGZiIsZXJyb3JUZXh0OiJlcnJvclRleHQtUGd1QXJMRmYiLHdyYXBTdGFja1RyYWNlOiJ3cmFwU3RhY2tUcmFjZS1QZ3VBckxGZiJ9fSw3NTc5MjMoZSl7ZS5leHBvcnRzPXtkZXNjcmlwdGlvbjoiZGVzY3JpcHRpb24tamVuTlZzX0MiLG1vZGU6Im1vZGUtamVuTlZzX0MiLGFjdGlvbnM6ImFjdGlvbnMtamVuTlZzX0MiLGxpbms6ImxpbmstamVuTlZzX0MifX0sNjg1OTI2KGUpe2UuZXhwb3J0cz17ZGVmYXVsdGVkU3RhdHVzOiJkZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV8ifX0sMTUyMDY5KGUpe2UuZXhwb3J0cz17aGFsYWxTdGF0dXM6ImhhbGFsU3RhdHVzLW5QVTM5cndVIn19LDkyNDAyMChlKXtlLmV4cG9ydHM9e2hrZXhDb21tZW50OiJoa2V4Q29tbWVudC1lYnVOU3ZvdyJ9fSwyODQ0NjcoZSl7ZS5leHBvcnRzPXtsZXRJdFNub3dTdGF0dXM6ImxldEl0U25vd1N0YXR1cy1EdDMwYnZVQSJ9fSw1NzE0NjQoZSl7ZS5leHBvcnRzPXt0dkNhbGN1bGF0ZWRQYWlyOiJ0dkNhbGN1bGF0ZWRQYWlyLVMzemNjSV9QIn19LDQ0NTEoZSl7ZS5leHBvcnRzPXt1cGNvbWluZ0lwb1N0YXR1czoidXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzUifX0sMzgyNTkzKGUpe2UuZXhwb3J0cz17d3JhcFN0YWNrVHJhY2U6IndyYXBTdGFja1RyYWNlLXFxMmpTcjlPIixzdGFja1RyYWNlTGluZToic3RhY2tUcmFjZUxpbmUtcXEyalNyOU8iLGZ1bmN0aW9uTmFtZToiZnVuY3Rpb25OYW1lLXFxMmpTcjlPIixiYXJJbmRleDoiYmFySW5kZXgtcXEyalNyOU8iLGluZm86ImluZm8tcXEyalNyOU8iLGhpZGVFbXB0eToiaGlkZUVtcHR5LXFxMmpTcjlPIn19LDM4NzIzMShlLHQsYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LGE9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LGE9e30pe2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgbyBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3QgaT1hW29dfHxvCjtpIGluIGUmJihzW29dPVtlW2ldLHRbb11dLmpvaW4oIiAiKSl9cmV0dXJuIHN9KGUsdCxhKSl9YS5kKHQse21lcmdlVGhlbWVzOigpPT5zfSl9LDg2MDkwNyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveElucHV0OigpPT5wLEdyb3VwZWRDaGVja2JveElucHV0OigpPT5tfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgzNDUxMTYpLG49YSg2NTg0NiksbD1hKDE0NzkwMSksdT1hKDUzNjEyNSksYz1hKDcxNzYwKSxkPWEubihjKTtjb25zdCBoPWAke2wuVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWNoZWNrYm94LWlucHV0YDtmdW5jdGlvbiBwKGUpe2NvbnN0e2ludGVudDp0LGRpc2FibGVkOmEsY2xhc3NOYW1lOm8sdGl0bGU6bixzdHlsZTpsLGNoZWNrZWQ6YyxpZDpwLHRhYkluZGV4Om0sbmFtZTpfLHZhbHVlOlMscm9sZTpmLG9uQ2hhbmdlOncscmVmZXJlbmNlOmIsYXJpYVJlcXVpcmVkOmcsYXJpYURlc2NyaWJlZGJ5OnYsYXJpYUludmFsaWQ6eSxkYXRhUWFJZDpNfT1lLEk9dD8/InByaW1hcnkiO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQoKS53cmFwcGVyLGEmJmQoKS5kaXNhYmxlZCxvKSx0aXRsZTpuLHN0eWxlOmwsImRhdGEtcWEtaWQiOk19LHMuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkoZCgpLnZpZXcsZCgpW0ldKX0scy5jcmVhdGVFbGVtZW50KHUuQ2hlY2tib3hWaWV3SW1wbCx7Y2hlY2tlZDpjLGRpc2FibGVkOmEsZGF0YVFhSWQ6YCR7aH0tdmlld2B9KSkscy5jcmVhdGVFbGVtZW50KCJpbnB1dCIse2lkOnAsdGFiSW5kZXg6bSxjbGFzc05hbWU6aSgpKGQoKVtJXSxkKCkuaW5wdXQpLHR5cGU6ImNoZWNrYm94IixuYW1lOl8sY2hlY2tlZDohMSE9PWMsZGlzYWJsZWQ6YSx2YWx1ZTpTLHJvbGU6ZixvbkNoYW5nZTp3LHJlZjpiLCJhcmlhLWNoZWNrZWQiOigoKT0+e3N3aXRjaChjKXtjYXNlITA6cmV0dXJuInRydWUiO2Nhc2UhMTpyZXR1cm4iZmFsc2UiO2Nhc2UibWl4ZWQiOnJldHVybiJtaXhlZCJ9fSkoKSwiYXJpYS1yZXF1aXJlZCI6ZywiYXJpYS1kZXNjcmliZWRieSI6diwiYXJpYS1pbnZhbGlkIjp5LCJkYXRhLXFhLWlkIjpgJHtofS1pbnB1dGAsLi4uKDAsci5maWx0ZXJEYXRhUHJvcHMpKGUpfSkscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZCgpLmZvY3VzT3V0bGluZX0pKX1jb25zdCBtPSgwLG4ubWFrZVN3aXRjaEdyb3VwSXRlbSkocCl9LDUzNjEyNShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtDaGVja2JveFZpZXdJbXBsOigpPT5ofSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMTcyNzQpLG49YSgxNDc5MDEpLGw9YSgxMjU4OTcpLHU9YS5uKGwpLGM9YSg4MzI1MTgpLGQ9YS5uKGMpO2Z1bmN0aW9uIGgoZSl7Y29uc3R7Y2hlY2tlZDp0LGRpc2FibGVkOmEsZGF0YVFhSWQ6b309ZTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGQoKS5ib3gsITA9PT10JiZkKCkuY2hlY2tlZCwhMT09PXQmJmQoKS51bmNoZWNrZWQsIm1peGVkIj09PXQmJmQoKS5taXhlZCxhJiZkKCkuZGlzYWJsZWQpLCJkYXRhLXFhLWlkIjooMCxuLmNvbmNhdElmTm90TnVsbCkoYCR7bi5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9Y2hlY2tib3gtdmlldy0ke3Q/ImNoZWNrZWQiOiJ1bmNoZWNrZWQifWAsbyl9LCEwPT09dCYmcy5jcmVhdGVFbGVtZW50KHIuQmxvY2tJY29uLHtpY29uOnUoKSxjbGFzc05hbWU6ZCgpLmNoZWNrZWRNYXJrfSksIm1peGVkIj09PXQmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmQoKS5taXhlZE1hcmt9KSl9fSw5NzUxOTgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Q2hlY2tib3g6KCk9PmMsR3JvdXBlZENoZWNrYm94OigpPT5kfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSg2NTg0Niksbj1hKDg2MDkwNyksbD1hKDI4MjU5MyksdT1hLm4obCk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGFzc05hbWU6dCxsYWJlbFBvc2l0aW9uUmV2ZXJzZTphLGxhYmVsQWxpZ25CYXNlbGluZTpvLGlucHV0Q2xhc3NOYW1lOnIsbGFiZWxDbGFzc05hbWU6bCxsYWJlbDpjLHRpdGxlOmQsZGlzYWJsZWQ6aCxpbnRlbnQ6cD0icHJpbWFyeSIsZGF0YVFhSWQ6bSx2YWx1ZTpfLG9uQ2hhbmdlOlMsbmFtZTpmLGNoZWNrZWQ6dyxpZDpiLHRhYkluZGV4Omcscm9sZTp2LHJlZmVyZW5jZTp5LHN0eWxlOk0sYXJpYVJlcXVpcmVkOkksYXJpYURlc2NyaWJlZGJ5OkUsYXJpYUludmFsaWQ6QyxhdXRvRm9jdXM6VCwuLi5rfT1lLHg9T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGspLmZpbHRlcigoKFtlLHRdKT0+ZS5zdGFydHNXaXRoKCJkYXRhIikpKSksRD1pKCkodCx1KCkuY2hlY2tib3gsYSYmdSgpLnJldmVyc2UsbyYmdSgpLmJhc2VsaW5lKSxWPWkoKSh1KCkubGFiZWwsbCxoJiZ1KCkuZGlzYWJsZWQsdSgpW3BdKSxQPWM/cy5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOlYsdGl0bGU6ZH0sYyk6bnVsbDtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJsYWJlbCIse2NsYXNzTmFtZTpELCJkYXRhLXFhLWlkIjptfSxzLmNyZWF0ZUVsZW1lbnQobi5DaGVja2JveElucHV0LHsuLi54LHZhbHVlOl8sb25DaGFuZ2U6UyxjbGFzc05hbWU6cixpbnRlbnQ6cCxuYW1lOmYsY2hlY2tlZDp3LGlkOmIsdGFiSW5kZXg6Zyxyb2xlOnYscmVmZXJlbmNlOnksc3R5bGU6TSxhcmlhUmVxdWlyZWQ6SSxhcmlhRGVzY3JpYmVkYnk6RSxhcmlhSW52YWxpZDpDLGRpc2FibGVkOmgsYXV0b0ZvY3VzOlR9KSxQKX1jb25zdCBkPSgwLHIubWFrZVN3aXRjaEdyb3VwSXRlbSkoYyl9LDUyOTQxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VJc0ZpcnN0UmVuZGVyOigpPT5vLHVzZUlzTm9uRmlyc3RSZW5kZXI6KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCk7ZnVuY3Rpb24gbygpe2NvbnN0W2UsdF09KDAscy51c2VTdGF0ZSkoITApO3JldHVybigwLHMudXNlRWZmZWN0KSgoKCk9Pnt0KCExKX0pLFtdKSxlfWZ1bmN0aW9uIGkoKXtyZXR1cm4hbygpfX0sCjExOTc1MChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+SSxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+RX0pO3ZhciBzLG89YSg3Nzk0NzQpLGk9YSg5MTQ0ODcpLHI9YS5uKGkpLG49YSgzNDUxMTYpLGw9YSgyNzMzMTApLHU9YSg3ODU5OTUpLGM9YS5uKHUpLGQ9YSg1MjcyMTkpLGg9YS5uKGQpLHA9YSg2NzMwNjUpLG09YS5uKHApLF89YSg0MDAwNDYpLFM9YS5uKF8pLGY9YSg5OTQ1KSx3PWEubihmKTshZnVuY3Rpb24oZSl7ZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIn0oc3x8KHM9e30pKTtjb25zdCBiPSJzbWFsbCI7dmFyIGcsdjshZnVuY3Rpb24oZSl7ZS5EZWZhdWx0PSJkZWZhdWx0IixlLkRhbmdlcj0iZGFuZ2VyIixlLldhcm5pbmc9Indhcm5pbmciLGUuU3VjY2Vzcz0ic3VjY2VzcyIsZS5OZXV0cmFsPSJuZXV0cmFsIixlLk5ldXRyYWxMaWdodD0ibmV1dHJhbC1saWdodCJ9KGd8fChnPXt9KSksZnVuY3Rpb24oZSl7ZS5JbmZvPSJpbmZvIixlLlF1ZXN0aW9uPSJxdWVzdGlvbiIsZS5DaGVjaz0iY2hlY2siLGUuRXhjbGFtYXRpb249ImV4Y2xhbWF0aW9uIn0odnx8KHY9e30pKTtjb25zdCB5PXtpbmZvOmgoKSxxdWVzdGlvbjpjKCksY2hlY2s6bSgpLGV4Y2xhbWF0aW9uOlMoKX0sTT1vLmZvcndhcmRSZWYoKChlLHQpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5lLHJlZjp0LGNsYXNzTmFtZTpyKCkoZS5jbGFzc05hbWUsdygpWyJuby1hY3RpdmUtc3RhdGUiXSl9KSkpLEk9by5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e2ljb246YT0iZXhjbGFtYXRpb24iLGludGVudDpzPSJkZWZhdWx0IixhcmlhTGFiZWw6aSx0b29sdGlwOnUsY2xhc3NOYW1lOmMscmVuZGVyQ29tcG9uZW50OmQ9TSx0YWJJbmRleDpoPTAsc2l6ZTpwPWIsb25Gb2N1czptLG9uQmx1cjpfLG9uQ2xpY2s6UywuLi5mfT1lLGc9eVthXT8/YTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2NsYXNzTmFtZTpyKCkoYyx3KCkuaWNvbldyYXBwZXIsdygpW3NdLHcoKVtwXSksdGl0bGU6dSxyZWY6dCx0YWJJbmRleDpoLG9uRm9jdXM6bSxvbkJsdXI6XyxvbkNsaWNrOlMsLi4uKDAsbi5maWx0ZXJEYXRhUHJvcHMpKGYpfSxvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsiYXJpYS1oaWRkZW4iOiFpLCJhcmlhLWxhYmVsIjppLGljb246ZyxjbGFzc05hbWU6dygpLmljb259KSl9KSk7ZnVuY3Rpb24gRShlKXtjb25zdHtpY29uOnQ9ImV4Y2xhbWF0aW9uIixpbnRlbnQ6YT0iZGVmYXVsdCIsc2l6ZTpzPWIsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCxyZWZlcmVuY2U6aCxhcmlhTGFiZWw6cH09ZSxtPXlbdF0/P3Q7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Y2xhc3NOYW1lOnIoKSh3KCkuaWNvbldyYXBwZXIsdygpW2FdLHcoKVtzXSkscmVmOmgsb25DbGljazppLG9uTW91c2VFbnRlcjpuLG9uTW91c2VMZWF2ZTp1LG9uRm9jdXM6YyxvbkJsdXI6ZCwiYXJpYS1sYWJlbCI6cH0sby5jcmVhdGVFbGVtZW50KGwuSWNvbix7aWNvbjptLGNsYXNzTmFtZTp3KCkuaWNvbn0pKX19LDc1ODIzOChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJbmxpbmVJY29uOigpPT51fSk7dmFyIHM9YSg5MTQ0ODcpLG89YS5uKHMpLGk9YSg3Nzk0NzQpLHI9YSg5NDg0NTApLG49YSg5OTQxNSksbD1hLm4obik7Y29uc3QgdT1pLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsLi4uc309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHIuQ29tbW9uSWNvbix7Li4ucyxjbGFzc05hbWU6bygpKGEsbCgpLmlubGluZUljb24pLHJlZjp0fSl9KSl9LDMwNjI4NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHt1c2VXaW5kb3dSZXNpemVUcmlnZ2VyOigpPT5uLHVzZVdpbmRvd1Njcm9sbFRyaWdnZXI6KCk9Pmx9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDcwNjk0MyksaT1hKDE1OTI1Nik7ZnVuY3Rpb24gcihlLHQsYSl7Y29uc3Qgcj0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsby5jcmVhdGVTaWduYWwpKCkpLFtdKTtyZXR1cm4oMCxpLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKHQsci5maXJlLGEpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLmZpcmUsYSl9KSksW3JdKSxyfWNvbnN0IG49KGU9ITApPT5yKGUsInJlc2l6ZSIsITApLGw9KGU9ITApPT5yKGUsInNjcm9sbCIsITApfSw4Njk4NDIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5pfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg4NjIzODgpO2NvbnN0IGk9KDAscy5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+by5kZWZhdWx0LHN1YnNjcmliZTpvLmRlZmF1bHQsdW5zdWJzY3JpYmU6by5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pml9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDg2OTg0Mik7ZnVuY3Rpb24gaShlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9by5Td2l0Y2hHcm91cENvbnRleHQsdH19LDIwNTYxMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5vfSk7dmFyIHM9YSgyMzIzNjQpO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBhPW5ldyBzLldhdGNoZWRWYWx1ZShlKCkpLG89e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShvLCgoKT0+e2Euc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBhLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwobykpKSkpfX0sOTAxMDIyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1NFUEFSQVRPUl9QUkVGSVg6KCk9PnMsaXNTZXBhcmF0b3JJdGVtOigpPT5vfSk7Y29uc3Qgcz0iIyMjIjtmdW5jdGlvbiBvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgocyl9fSw4MDI1MjgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7ZmV0Y2hFZGl0b3JFcnJvcjooKT0+dSxmZXRjaExhc3RVcGRhdGVSZWxlYXNlTm90ZXNUaW1lOigpPT5jfSk7dmFyIHM9YSgzODQwMTcpO2NvbnN0IG89Ii9waW5lLXNjcmlwdC1kb2NzLyIsaT1gJHtvfWRvY3VtZW50ZWQtZXJyb3JzLmpzb25gLHI9YCR7b31lcnJvcnMvYDtsZXQgbj1udWxsLGw9bnVsbDthc3luYyBmdW5jdGlvbiB1KGUsdCl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgYT1hd2FpdChhc3luYyBlPT5sfHxufHwobD0oYXN5bmMoKT0+e2NvbnN0IHQ9YXdhaXQoMCxzLmZldGNoKShpLHtjYWNoZToiZGVmYXVsdCIsc2lnbmFsOmV9KTtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCBlcnJvciBjb2RlczogJHt0LnN0YXR1c30gJHt0LnN0YXR1c1RleHR9YCk7Y29uc3QgYT1hd2FpdCB0Lmpzb24oKTtyZXR1cm4gbj1uZXcgU2V0KGEpLGw9bnVsbCxufSkoKSxsKSkodCk7cmV0dXJuIGEuaGFzKGUpP2Ake3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHtyfSR7ZX1gOm51bGx9YXN5bmMgZnVuY3Rpb24gYygpe3JldHVybihhd2FpdCgwLHMuZmV0Y2gpKCIvcGluZS1zY3JpcHQtZG9jcy9sYXN0LXVwZGF0ZS10aW1lLmpzb24iKSkuanNvbigpfX0sMTA4MTgyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2NvbG9yRGVmYXVsdGVkOigpPT5sLGNvbG9yRGVsYXlNb2RlOigpPT5zLGNvbG9yRW9kTW9kZTooKT0+byxjb2xvckhhbGFsTW9kZTooKT0+cixjb2xvck5vdEFjY3VyYXRlTW9kZTooKT0+aSxjb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlOigpPT5uLGNvbG9yVXBjb21pbmdJcG86KCk9PnV9KTtjb25zdCBzPSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKSIsbz0idmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCkiLGk9InZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKSIscj0idmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQpIixuPSJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKSIsbD0idmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpIix1PSJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWV4dHJhLWJvbGQpIn0sMTkzNTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0hLRVhEYXRhQ29tbWVudDooKT0+UCxIS0VYRGF0YVRpdGxlOigpPT5WLGJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWw6KCk9PnksYmF0c1RvUmVhbHRpbWVIdG1sMTooKT0+YixiYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT52LGJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PmcsZGVmYXVsdGVkSHRtbDooKT0+UixkZWZhdWx0ZWRUaXRsZTooKT0+QSxkZWxheVRvb2x0aXA6KCk9PnIsZW9kSHRtbDooKT0+bSxlb2RUb1JlYWx0aW1lSHRtbDooKT0+Xyxlb2RUb29sdGlwOigpPT5uLGV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+dSxoYWxhbEJvbmRIdG1sOigpPT5wLGhhbGFsSHRtbDooKT0+aCxoYWxhbFRpdGxlOigpPT5kLGxldEl0U25vd0h0bWw6KCk9PlcsbGV0SXRTbm93U3RhcnQ6KCk9Pk8sbGV0SXRTbm93U3RvcDooKT0+SCxsZXRJdFNub3dUaXRsZTooKT0+Rixub3RBY2N1cmF0ZTFQZXJTZWNvbmRUb29sdGlwOigpPT5sLG9wZW5JbkVkaXRvckFjdGlvblRleHQ6KCk9Pngsb3BlbmVkSW5Cb3R0b21QYW5lbFRleHQ6KCk9PlQsb3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlOigpPT5JLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUZXh0OigpPT5rLG9wZW5lZEluRGV0YWNoZWRFZGl0b3JUaXRsZTooKT0+RSxvcGVuZWRJbkVkaXRvclRleHQ6KCk9PkMsb3BlbmVkSW5FZGl0b3JUaXRsZTooKT0+TSxvdmVybmlnaHRRdW90ZXNUZXh0OigpPT5VLG92ZXJuaWdodFF1b3Rlc1RpdGxlOigpPT5MLHRpY2tCeVRpY2tIdG1sMTooKT0+Zix0aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooKT0+Uyx0aWNrQnlUaWNrSHRtbDI6KCk9PncsdHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PkQsdHZDYWxjdWxhdGVkUGFpclRvb2x0aXA6KCk9PmMsdXBjb21pbmdJcG9IdG1sOigpPT5OLHVwY29taW5nSXBvVGl0bGU6KCk9PkJ9KTt2YXIgcz1hKDE4NTI3MSksbz1hKDY0MTU5MyksaT1hKDE1NzQ0Nyk7Y29uc3Qgcj0oMCxpLmdldERlbGF5VG9vbHRpcCkoKSxuPXMudChudWxsLHZvaWQgMCxhKDc5NzQ2MCkpLGw9cy50KG51bGwsdm9pZCAwLGEoMzMwNzYwKSksdT0oKDAsaS5nZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwKSgpLCgwLGkuZ2V0RXhjaGFuZ2VCeU9yaWdpbmFsRXhjaGFuZ2VUb29sdGlwKSgpKSxjPSgwLGkuZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlKSgpLGQ9KCgwLGkuZ2V0RGVyaXZlZFRpdGxlKSgpLCgwLGkuZ2V0RGVyaXZlZEh0bWwpKCksKDAsCmkuZ2V0SGFsYWxUaXRsZSkoKSksaD0oMCxpLmdldEhhbGFsSHRtbCkoKSxwPSgwLGkuZ2V0SGFsYWxCb25kSHRtbCkoKSxtPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMTg3MjcyKSkpLF89KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgyMjcwODgpKSksUz0oMCxvLmh0bWxFc2NhcGUpKHMudChudWxsLHZvaWQgMCxhKDg5NTMwMCkpKSxmPSgwLG8uaHRtbEVzY2FwZSkocy50KG51bGwsdm9pZCAwLGEoMjMzOTEyKSkpLHc9KDAsby5odG1sRXNjYXBlKShzLnQobnVsbCx2b2lkIDAsYSgxMTQ0NCkpKSxiPXMudChudWxsLHZvaWQgMCxhKDk2MTkyNikpLGc9KCgwLGkuZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDEpKCksKDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWxQYXJ0MikoKSwoMCxpLmdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKCkpLHY9KDAsaS5nZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlKSgpLHk9cy50KG51bGwsdm9pZCAwLGEoNzE5NzExKSksTT0oKDAsaS5nZXRDb250aW51b3VzVGl0bGUpKCksKDAsaS5nZXRDb250aW51b3VzSHRtbCkoKSxzLnQobnVsbCx7Y29udGV4dDoiUGluZSBlZGl0b3IifSxhKDI5NDYxOCkpKSxJPXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoNzc0MjgpKSxFPXMudChudWxsLHZvaWQgMCxhKDk1ODI3MSkpLEM9cy50KG51bGwsdm9pZCAwLGEoNTQ1ODQpKSxUPXMudChudWxsLHZvaWQgMCxhKDgzNzI1KSksaz1zLnQobnVsbCx2b2lkIDAsYSg4Mjk0NDgpKSx4PXMudChudWxsLHtjb250ZXh0OiJQaW5lIGVkaXRvciJ9LGEoOTAwNDI1KSksRD0oMCxpLmdldFR2Q2FsY3VsYXRlZFBhaXJIdG1sKSgpLFY9cy50KG51bGwse2NvbnRleHQ6IkhLRVggZGlzY2xhaW1lciJ9LGEoMTY3OTEyKSksUD1zLnQobnVsbCx2b2lkIDAsYSg0NTc3NTApKSxBPSgwLGkuZ2V0RGVmYXVsdGVkVGl0bGUpKCksUj0oMCxpLmdldERlZmF1bHRlZEh0bWwpKCksQj0oMCxpLmdldFVwY29taW5nSXBvVGl0bGUpKCksTj0oMCxpLmdldFVwY29taW5nSXBvSHRtbCkoKSxGPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoMjQ0MTApKSxXPXMudChudWxsLHZvaWQgMCxhKDQwNDU0NCkpLE89cy50KG51bGwse2NvbnRleHQ6IkhvbGlkYXkgYmFubmVyIn0sYSg5ODE4NzIpKSxIPXMudChudWxsLHtjb250ZXh0OiJIb2xpZGF5IGJhbm5lciJ9LGEoNDg5MjAwKSksTD1zLnQobnVsbCx2b2lkIDAsYSg1OTc5NCkpLFU9cy50KG51bGwsdm9pZCAwLGEoNjg3OTU0KSl9LDE1NzQ0NyhlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtnZXRCYXRzVG9SZWFsdGltZUh0bWwyV2l0aEV4Y2hhbmdlOigpPT5FLGdldEJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2U6KCk9PkMsZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDE6KCk9Pk0sZ2V0QmF0c1RvUmVhbHRpbWVIdG1sUGFydDI6KCk9PkksZ2V0Q29udGludW91c0h0bWw6KCk9PmQsZ2V0Q29udGludW91c1RpdGxlOigpPT5jLGdldENyZWF0ZUZyZWVBY2NvdW50VGl0bGU6KCk9PncsZ2V0RGVmYXVsdGVkSHRtbDooKT0+RCxnZXREZWZhdWx0ZWRUaXRsZTooKT0+eCxnZXREZWxheUh0bWw6KCk9PnAsZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbDooKT0+XyxnZXREZWxheVRvUmVhbHRpbWVKc3g6KCk9Pm0sZ2V0RGVsYXlUb29sdGlwOigpPT5oLGdldERlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudEh0bWw6KCk9PlMsZ2V0RGVyaXZlZEh0bWw6KCk9PnIsZ2V0RGVyaXZlZFRpdGxlOigpPT5pLGdldEV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcDooKT0+eSxnZXRGaWxsRXhjaGFuZ2VBZ3JlZW1lbnRzVGl0bGU6KCk9PmIsZ2V0SGFsYWxCb25kSHRtbDooKT0+dSxnZXRIYWxhbEh0bWw6KCk9PmwsZ2V0SGFsYWxUaXRsZTooKT0+bixnZXRMZWFybk1vcmVUaXRsZTooKT0+ZyxnZXROb3RBY2N1cmF0ZUNib2VUb29sdGlwOigpPT52LGdldFJ0RnJlZUZvclJlZ2lzdGVyZWRVc2Vyc0h0bWw6KCk9PmYsZ2V0VHZDYWxjdWxhdGVkUGFpckh0bWw6KCk9PmssZ2V0VHZDYWxjdWxhdGVkUGFpclRpdGxlOigpPT5ULGdldFVwY29taW5nSXBvSHRtbDooKT0+UCxnZXRVcGNvbWluZ0lwb1RpdGxlOigpPT5WfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSgxODUyNzEpO2NvbnN0IGk9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgxNjM4MDYpKSxyPSgpPT5vLnQobnVsbCx2b2lkIDAsYSg5NTI1MDApKSxuPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoNDE3OTEpKSxsPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgyMzgwMDQpKSx1PSgpPT5vLnQobnVsbCx2b2lkIDAsYSg1NzM2ODIpKSxjPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoODk0MjIxKSksZD0oKT0+by50KG51bGwsdm9pZCAwLGEoOTc3Nzc2KSksaD0oKT0+by50KG51bGwse2NvbnRleHQ6IlF1b3RlIHRvb2x0aXAifSxhKDQ3MzQyNSkpLHA9KGUsdCk9Pm8udChudWxsLHtwbHVyYWw6IntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZXMgYmVjYXVzZSBvZiBleGNoYW5nZSByZXF1aXJlbWVudHMuIixjb3VudDp0LHJlcGxhY2U6e3N5bWJvbE5hbWU6ZSx0aW1lOnQudG9TdHJpbmcoKX19LGEoODU3MDY3KSksbT1lPT57Y29uc3RbdCxpXT1vLnQobnVsbCx2b2lkIDAsYSgyMjA3MzgpKS5zcGxpdCgie2Rlc2NyaXB0aW9ufSIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHQsZSxpKX0sXz0oKT0+by50KG51bGwsdm9pZCAwLGEoOTE1MTAwKSksUz1lPT5vLnQobnVsbCx2b2lkIDAsYSgxNjUwNTIpKS5yZXBsYWNlKCJ7bGlzdGVkRXhjaGFuZ2V9IixlKSxmPWU9Pm8udChudWxsLHZvaWQgMCxhKDkxNDU1KSkucmVwbGFjZSgie2xpc3RlZEV4Y2hhbmdlfSIsZSksdz0oKT0+by50KG51bGwsdm9pZCAwLGEoMjk5OTI2KSksYj0oKT0+by50KG51bGwsdm9pZCAwLGEoODYzODc3KSksZz0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBwYWdlIHN0YXR1c2VzIgp9LGEoMTA5NjAxKSksdj0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMjI5MDI1KSkseT0oKT0+by50KG51bGwse2NvbnRleHQ6IkV4Y2hhbmdlIGRhdGEgdG9vbHRpcCJ9LGEoMzAwMjcxKSksTT0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoMjMyMTQ5KSksST0oKT0+by50KG51bGwse2NvbnRleHQ6J1BhcnQgb2Y6ICJSZWFsLXRpbWUgZGF0YSBmb3Ige3N5bWJvbE5hbWV9IGlzIHByb3ZpZGVkIGJ5IHtleGNoYW5nZX0gZXhjaGFuZ2UuIid9LGEoNDA5MDE5KSksRT0oKT0+by50KG51bGwsdm9pZCAwLGEoMjgyMTMxKSksQz0oKT0+by50KG51bGwsdm9pZCAwLGEoNDYzODI1KSksVD0oKT0+by50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBzdGF0dXMifSxhKDgzNjEyMykpLGs9KCk9Pm8udChudWxsLHZvaWQgMCxhKDYyODU1MykpLHg9KCk9Pm8udChudWxsLHtjb250ZXh0OiJTeW1ib2wgc3RhdHVzIn0sYSgzMzM4ODQpKSxEPSgpPT5vLnQobnVsbCx2b2lkIDAsYSgxNDI3NTUpKSxWPSgpPT5vLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIHN0YXR1cyJ9LGEoMTE5NSkpLFA9KCk9Pm8udChudWxsLHZvaWQgMCxhKDEzMjU2MSkpfSw3NzY1NzYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7QkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRDooKT0+byxIQUxBTF9TT0xVVElPTl9JRDooKT0+cyxUVl9DQUxDVUxBVEVEX1BBSVJfU09MVVRJT05fSUQ6KCk9Pml9KTtjb25zdCBzPTQzMDAwNzAwODUyLG89NDMwMDA0NzM5MjQsaT00MzAwMDcwMzE3M30sNjAzNjEyKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5EOigpPT5zLGJyZWFrcG9pbnRMaXN0OigpPT5pfSk7Y29uc3Qgcz0iQ0xPU0VfUE9QVVBTX0FORF9ESUFMT0dTX0NPTU1BTkQiO3ZhciBvOyFmdW5jdGlvbihlKXtlW2UuTW9iaWxlPTBdPSJNb2JpbGUiLGVbZS5UYWJsZXRTbWFsbD00ODBdPSJUYWJsZXRTbWFsbCIsZVtlLlRhYmxldD03NjhdPSJUYWJsZXQiLGVbZS5UYWJsZXRMYXJnZT0xMDI0XT0iVGFibGV0TGFyZ2UiLGVbZS5EZXNrdG9wU21hbGw9MTI4MF09IkRlc2t0b3BTbWFsbCIsZVtlLkRlc2t0b3A9MTQ0MF09IkRlc2t0b3AiLGVbZS5EZXNrdG9wTGFyZ2U9MTkyMF09IkRlc2t0b3BMYXJnZSJ9KG98fChvPXt9KSk7Y29uc3QgaT03OTc5NT09YS5qP1sxOTIwLDE0NDAsMTI4MCwxMDI0LDc2OCw0ODAsMF06bnVsbH0sNDkwMjA0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Jlc29sdmVVbmRlcmx5aW5nU3ltYm9sOigpPT5vfSk7dmFyIHM9YSgzMjA1NSk7YXN5bmMgZnVuY3Rpb24gbyhlKXtjb25zdCB0PWF3YWl0KDAscy5zbmFwc2hvdGVyKSgpLmdldFNuYXBzaG90KGUsbmV3IFNldChbInVuZGVybHlpbmctc3ltYm9sIl0pKTtpZigiZXJyb3IiPT09dC5zdGF0dXMpcmV0dXJuIG51bGw7Y29uc3QgYT10LnZhbHVlc1sidW5kZXJseWluZy1zeW1ib2wiXTtyZXR1cm4gYXx8bnVsbH19LDEzODk5NChlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtJY29uUXVlc3Rpb25JbmZvcm1hdGlvbjooKT0+cCxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkJ1dHRvbjooKT0+XyxJY29uUXVlc3Rpb25JbmZvcm1hdGlvbkxpbms6KCk9Pm19KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDExOTc1MCksbj1hKDg2NTA5MiksbD1hKDM0NDc4NSksdT1hKDE5ODIwOSksYz1hLm4odSk7ZnVuY3Rpb24gZCgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLGQpLCgwLGwuaGlkZSkoKX1jb25zdCBoPWU9PnsoMCxsLnNob3dPbkVsZW1lbnQpKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixkKX0scD0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLG9uQ2xpY2s6bz1oLGRvTm90U2hvd1Rvb2x0aXBPblRvdWNoOnUsc2l6ZTpkLC4uLnB9PWUse3Rvb2x0aXA6bSxjbGFzc05hbWU6XywuLi5TfT0oMCxuLnVzZVRvb2x0aXApKHt0b29sdGlwOmUudG9vbHRpcCxkb05vdFNob3dUb29sdGlwT25Ub3VjaDohMSxzaG93VG9vbHRpcDpsLnNob3dPbkVsZW1lbnQsaGlkZVRvb2x0aXA6bC5oaWRlLG9uQ2xpY2s6b30sdCk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChyLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtjbGFzc05hbWU6aSgpKGEsYygpWyJpY29uLXdyYXBwZXIiXSxtJiZjKClbIndpdGgtdG9vbHRpcCJdLF8pLHRvb2x0aXA6bSxzaXplOmQsLi4ucCwuLi5TfSl9KSksbT0oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTphLGhyZWY6byxyZWw6cix0YXJnZXQ6biwuLi5sfT1lLHU9KDAscy51c2VNZW1vKSgoKCk9PigwLHMuZm9yd2FyZFJlZikoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoImEiLHtocmVmOm8scmVsOnIsdGFyZ2V0Om4scmVmOnQsLi4uZX0pKSkpLFtvLHIsbl0pO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocCx7Li4ubCxjbGFzc05hbWU6aSgpKGEsYygpWyJ3aXRoLWxpbmsiXSkscmVuZGVyQ29tcG9uZW50OnUscmVmOnQsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6ITB9KX0pKSxfPSgwLHMuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOmEsd2l0aEFjdGl2ZVN0YXRlOm8sLi4ucn09ZSxuPSgwLHMudXNlTWVtbykoKCgpPT4oMCxzLmZvcndhcmRSZWYpKCgoZSx0KT0+cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5lLHJlZjp0LHR5cGU6ImJ1dHRvbiJ9KSkpKSxbXSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChwLHsKLi4ucixjbGFzc05hbWU6aSgpKGEsIW8mJmMoKVsibm8tYWN0aXZlLXN0YXRlIl0pLHJlbmRlckNvbXBvbmVudDpuLHJlZjp0fSl9KSl9LDMzNjMzNChlLHQsYSl7InVzZSBzdHJpY3QiO3ZhciBzPWEoMTI5MzY1KTt0LmNyZWF0ZVJvb3Q9cy5jcmVhdGVSb290LHMuaHlkcmF0ZVJvb3R9LDEyOTM2NShlLHQsYSl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9YSg1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIGE9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLHM9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxyPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IikscD1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LF89T2JqZWN0LmFzc2lnbixTPXt9O2Z1bmN0aW9uIGYoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mdW5jdGlvbiB3KCl7fWZ1bmN0aW9uIGIoZSx0LGEpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Uyx0aGlzLnVwZGF0ZXI9YXx8bX1mLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHcucHJvdG90eXBlPWYucHJvdG90eXBlO3ZhciBnPWIucHJvdG90eXBlPW5ldyB3O2cuY29uc3RydWN0b3I9YixfKGcsZi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHY9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksTT17Y3VycmVudDpudWxsfSxJPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQscyl7dmFyIG8saT17fSxyPW51bGwsbj1udWxsO2lmKG51bGwhPXQpZm9yKG8gaW4gdm9pZCAwIT09dC5yZWYmJihuPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHI9IiIrdC5rZXkpLHQpeS5jYWxsKHQsbykmJiFJLmhhc093blByb3BlcnR5KG8pJiYoaVtvXT10W29dKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpaS5jaGlsZHJlbj1zO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtpLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1pW29dJiYoaVtvXT1sW29dKTtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUsa2V5OnIscmVmOm4scHJvcHM6aSxfb3duZXI6TS5jdXJyZW50fX1mdW5jdGlvbiBDKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1hfXZhciBUPS9cLysvZztmdW5jdGlvbiBrKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24geChlLHQsbyxpLHIpe3ZhciBuPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChuKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIGE6Y2FzZSBzOmw9ITB9fWlmKGwpcmV0dXJuIHI9cihsPWUpLGU9IiI9PT1pPyIuIitrKGwsMCk6aSx2KHIpPyhvPSIiLG51bGwhPWUmJihvPWUucmVwbGFjZShULCIkJi8iKSsiLyIpLHgocix0LG8sIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1yJiYoQyhyKSYmKHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6YSx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShyLG8rKCFyLmtleXx8bCYmbC5rZXk9PT1yLmtleT8iIjooIiIrci5rZXkpLnJlcGxhY2UoVCwiJCYvIikrIi8iKStlKSksdC5wdXNoKHIpKSwxO2lmKGw9MCxpPSIiPT09aT8iLiI6aSsiOiIsdihlKSlmb3IodmFyIHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIGM9aStrKG49ZVt1XSx1KTtsKz14KG4sdCxvLGMscil9ZWxzZSBpZihjPWZ1bmN0aW9uKGUpewpyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPXAmJmVbcF18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEobj1lLm5leHQoKSkuZG9uZTspbCs9eChuPW4udmFsdWUsdCxvLGM9aStrKG4sdSsrKSxyKTtlbHNlIGlmKCJvYmplY3QiPT09bil0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBEKGUsdCxhKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBzPVtdLG89MDtyZXR1cm4geChlLHMsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwoYSxlLG8rKyl9KSksc31mdW5jdGlvbiBWKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFA9e2N1cnJlbnQ6bnVsbH0sQT17dHJhbnNpdGlvbjpudWxsfSxSPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlAsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6QSxSZWFjdEN1cnJlbnRPd25lcjpNfTt0LkNoaWxkcmVuPXttYXA6RCxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxhKXtEKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxhKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gRChlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBEKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighQyhlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1mLHQuRnJhZ21lbnQ9byx0LlByb2ZpbGVyPXIsdC5QdXJlQ29tcG9uZW50PWIsdC5TdHJpY3RNb2RlPWksdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Uix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscyl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIG89Xyh7fSxlLnByb3BzKSxpPWUua2V5LHI9ZS5yZWYsbj1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHI9dC5yZWYsbj1NLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYoaT0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl5LmNhbGwodCx1KSYmIUkuaGFzT3duUHJvcGVydHkodSkmJihvW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpby5jaGlsZHJlbj1zO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtvLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOmEsdHlwZTplLnR5cGUsa2V5OmkscmVmOnIscHJvcHM6byxfb3duZXI6bn19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bixfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1DLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OlZ9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6ZCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUEudHJhbnNpdGlvbjtBLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0EudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBQLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBQLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFAuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpewpyZXR1cm4gUC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LGEpe3JldHVybiBQLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsYSl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFAuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LGEpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxhKXtyZXR1cm4gUC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxhKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFAuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxhKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWEoMTIyNzQ5KX0sNjMzNjQ0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse3Nob3dBYm91dFRoZVN0dWR5SGFuZGxlcjooKT0+Y30pO3ZhciBzPWEoOTI2OTk1KTthKDE4NTI3MSksYSgyNTYzMTQpO2NvbnN0IG89L15TVEQ7RnVuZF8oLio/KSg/Ol8oPzpmeXxmcXxmaHx0dG0pKT8kLzt2YXIgaT1hKDc5MTQyNykscj1hKDQxMzQxKSxuPWEoMTQ3ODA1KSxsPWEoMTAzOTk4KSx1PWEoMTQzODA4KTthc3luYyBmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e3NjcmlwdElkUGFydDpjLGlkOmQscGluZTpofT10O2lmKCgwLHUuaXNGdW5kYW1lbnRhbFN0dWR5TWV0YUluZm8pKHQpKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tYXRjaChvKTtyZXR1cm4gdD90WzFdOnR9KGMpO2lmKGUpe2NvbnN0e2RlZmF1bHQ6dH09YXdhaXQgYS5lKDYyMDY4KS50aGVuKGEudC5iaW5kKGEsNjMwNDc2LDE5KSk7aWYoZSBpbiB0KXJldHVybigpPT4oMCxzLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDp0W2VdfSl9fWVsc2UgaWYoIWh8fGkuU3R1ZHlNZXRhSW5mby5oYXNTdGRTdWZmaXgoYykpe2NvbnN0e2RlZmF1bHQ6ZX09YXdhaXQgYS5lKDQyNDQxKS50aGVuKGEudC5iaW5kKGEsNDQ1MDY3LDE5KSk7aWYoYyBpbiBlfHxkIGluIGUpcmV0dXJuKCk9PigwLHMuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmVbY118fGVbZF19KX1lbHNlIGlmKGkuU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoYykpcmV0dXJuIGFzeW5jKCk9Pnt0cnl7Y29uc3R7Y2hhcnRJbWFnZVVybDplfT1hd2FpdCgwLHIucmVxdWVzdFNjcmlwdEluZm8pKGMpOygwLG4ub3BlblB1YmxpY2F0aW9uVmlld1BvcHVwKSh7dWlkOmUsdHlwZToic2NyaXB0In0pfWNhdGNoeygwLGwuc2hvd1NjcmlwdEluZm9FcnJvck5vdGljZURpYWxvZykoKX19O3JldHVybiBudWxsfX0sNjA0Mzg0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0NoYXJ0TW9kZWxNYWluU2VyaWVzU3RhdHVzU291cmNlQWRhcHRlcjooKT0+aCxDaGFydE1vZGVsU3RhdHVzU291cmNlQWRhcHRlcjooKT0+ZH0pO3ZhciBzLG89YSgxMzg2MzgpLGk9YSgyMzIzNjQpLHI9YSg5NTI5MDApLG49YSgyNDE5NTYpLGw9YSgyMDU2MTEpLHU9YSg5NTY0MzcpLGM9YSgzMjI0MTkpOyFmdW5jdGlvbihlKXtlW2UuRm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0TXM9MzUwMF09IkZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dE1zIn0oc3x8KHM9e30pKTtjbGFzcyBke2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faGlkZGVuPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sPW51bGwsdGhpcy5faXNTeW1ib2xJbnZhbGlkPW51bGwsdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPW51bGwsdGhpcy5fc3ltYm9sSW5mbz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zb3VyY2U9ZSxlLnByb3BlcnRpZXMoKS5oYXNDaGlsZCgic3ltYm9sIikmJih0aGlzLl9zeW1ib2w9KDAsbi5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+ZS5wcm9wZXJ0aWVzKCkuc3ltYm9sLnZhbHVlKCkpLGUucHJvcGVydGllcygpLnN5bWJvbC5saXN0ZW5lcnMoKSkpO2NvbnN0IGE9W107aWYoKDAsYy5pc1N0dWR5TGluZVRvb2wpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpKTtlbHNlIGlmKCgwLHUuaXNTdHVkeSkoZSl8fCgwLHUuaXNTdHVkeVN0dWIpKGUpKWEucHVzaChlLm9uU3RhdHVzQ2hhbmdlZCgpLGUub25Jc0FjdHVhbEludGVydmFsQ2hhbmdlKCkpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD0oMCxsLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+ZS5pc1N5bWJvbEludmFsaWQoKSYmZS5pc0FjdHVhbEludGVydmFsKCkpLGEpLCgwLHUuaXNTdHVkeSkoZSk/KHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lcj0oMCxyLmNvbWJpbmUpKCgoZSx0KT0+IWV8fCF0KSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzVmlzaWJsZSgpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlKS5vd25lcnNoaXAoKSwoMCxuLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlzQWN0dWFsSW50ZXJ2YWwoKSksZS5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKSkub3duZXJzaGlwKCkpLHRoaXMuX3Zpc2liaWxpdHlDb21iaW5lci5zdWJzY3JpYmUoKGU9PnRoaXMuX2hpZGRlbi5zZXRWYWx1ZShlKSkse2NhbGxXaXRoTGFzdDohMAp9KSk6dGhpcy5faGlkZGVuLnNldFZhbHVlKCFlLmlzVmlzaWJsZSgpfHwhZS5pc0FjdHVhbEludGVydmFsKCkpO2Vsc2V7KDAsby5hc3NlcnQpKGU9PT10Lm1haW5TZXJpZXMoKSk7Y29uc3Qgcz10Lm1haW5TZXJpZXMoKTthLnB1c2gocy5vblN0YXR1c0NoYW5nZWQoKSksdGhpcy5faXNTeW1ib2xJbnZhbGlkPSgwLGwuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9ucykoKCgpPT5zLmlzU3ltYm9sSW52YWxpZCgpKSxhKSx0aGlzLl9zeW1ib2xJbmZvPSgwLG4uY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKShzLnN5bWJvbEluZm8uYmluZChzKSxzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpKX10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXM9KDAsbC5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PnRoaXMuX3NvdXJjZS5zdGF0dXNQcm92aWRlcih7fSkuZXJyb3JTdGF0dXMoKSksYSl9ZGVzdHJveSgpe3RoaXMuX3N5bWJvbD8uZGVzdHJveSgpLHRoaXMuX2lzU3ltYm9sSW52YWxpZD8uZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksdGhpcy5fc3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eUNvbWJpbmVyPy5kZXN0cm95KCl9ZW50aXR5SWQoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlkKCl9c3ltYm9sKCl7cmV0dXJuIHRoaXMuX3N5bWJvbH1pc1N5bWJvbEludmFsaWQoKXtyZXR1cm4gdGhpcy5faXNTeW1ib2xJbnZhbGlkfWVycm9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c31zeW1ib2xJbmZvKCl7cmV0dXJuIHRoaXMuX3N5bWJvbEluZm99aGlkZGVuKCl7cmV0dXJuIHRoaXMuX2hpZGRlbi5yZWFkb25seSgpfW1hcmtldFN0YXR1c01vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpfWRhdGFQcm9ibGVtTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKX1kYXRhVXBkYXRlZE1vZGVNb2RlbCgpe3JldHVybiB0aGlzLl9zb3VyY2UuZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKX1hc3luYyBwaW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsPy4oKT8/UHJvbWlzZS5yZXNvbHZlKG51bGwpfWFsZXJ0U291cmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5fc291cmNlLmFsZXJ0U291cmNlTW9kZWwoKX1pc01haW5TZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlLmlzTWFpblNlcmllcz8uKCk/PyExfX1jbGFzcyBoIGV4dGVuZHMgZHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fcXVvdGVzRGF0YT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGU9bmV3IGkuV2F0Y2hlZFZhbHVlKCEwKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZVRpbWVvdXQ9bnVsbCx0aGlzLl9zZXJpZXM9ZSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5tYXJrZXRTdGF0dXNNb2RlbCgpLnN0YXR1cygpLnNwYXduKCksZS5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXNQcm92aWRlcigpLnF1b3RlcygpLnZhbHVlKCksITApfSkpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZVN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLl9xdW90ZXNEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3F1b3Rlc0RhdGEuc2V0VmFsdWUoZS5xdW90ZXMoKSksdGhpcy5fbWFya2V0U3RhdHVzLnN1YnNjcmliZSgoZT0+e251bGw9PT1lJiYobnVsbCE9PXRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dCksdGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUuc2V0VmFsdWUoITEpLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlVGltZW91dD1udWxsLHRoaXMuX2ZvcmNlRGlzYWJsZUhpZGRlblN0YXRlLnNldFZhbHVlKCEwKX0pLDM1MDApKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9kYXRhUHJvYmxlbXM9dGhpcy5fc2VyaWVzLmRhdGFQcm9ibGVtTW9kZWwoKS5kYXRhUHJvYmxlbXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZS5iaW5kKHRoaXMpKSx0aGlzLl9mb3JjZURpc2FibGVIaWRkZW5TdGF0ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUuYmluZCh0aGlzKSksZS5vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPy4oKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksZS5vblN0YXR1c0NoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVIaWRkZW5WYWx1ZSksdGhpcy5fdXBkYXRlSGlkZGVuVmFsdWUoKX1xdW90ZXNEYXRhKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc0RhdGEucmVhZG9ubHkoKS5zcGF3bigpfWRlc3Ryb3koKXt0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksdGhpcy5fc2VyaWVzLm9uSW5SZXBsYXlTdGF0ZUNoYW5nZWQ/LigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3Rlc1VwZGF0ZSgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5xdW90ZXNQcm92aWRlcigpLnF1b3RlU3ltYm9sQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Nlcmllcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxudWxsIT09dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGVUaW1lb3V0KSxzdXBlci5kZXN0cm95KCl9Cl91cGRhdGVIaWRkZW5WYWx1ZSgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzLnN0YXR1cygpLHQ9dGhpcy5fZm9yY2VEaXNhYmxlSGlkZGVuU3RhdGUudmFsdWUoKXx8dGhpcy5fc2VyaWVzLmlzSW5SZXBsYXkoKS52YWx1ZSgpfHwxMj09PWV8fDQ9PT1lfHxudWxsIT09dGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkmJjIhPT1lJiYxIT09ZXx8dGhpcy5fZGF0YVByb2JsZW1zLnZhbHVlKCkuc29tZSgoZT0+ImhpZ2giPT09ZS5zZXZlcml0eSkpO3RoaXMuX2hpZGRlbi5zZXRWYWx1ZSghdCl9fX0sNDQxNDQwKGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse0RhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5adH0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoOTUyOTAwKSxpPWEoMTI4OTk4KSxyPWEoODkxOTU0KSxuPWEoMTg1MjcxKSxsPWEoNjQxNTkzKSx1PWEoOTYyNzM3KSxjPWEoNzcwNzU1KSxkPWEoMTU3NDQ3KSxoPWEoNTY1MjA2KSxwPWEoNjQyNzgzKSxtPWEoMzUxMTgyKSxfPWEoODYwNTQ4KTtjb25zdCBTPW4udChudWxsLHZvaWQgMCxhKDMzMzQwNykpLGY9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksdz1uZXcgTWFwKFtbITAsXy5kYXRhUHJvYmxlbUxvd10sWyExLG51bGxdXSksYj1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksZz1uZXcgTWFwKFtbITAsU10sWyExLG51bGxdXSksdj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXSxbITEsbnVsbF1dKTtjbGFzcyB5IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOmYsY2xhc3NOYW1lTWFwOncsdG9vbHRpcE1hcDpiLHRpdGxlTWFwOmcsdGl0bGVDb2xvck1hcDp2LHNpemU6dH0pLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9sYXN0RXJyb3I9bnVsbCx0aGlzLl9vcHRpb25zPWEsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXNldFNvdXJjZShlKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1cz1lLmVycm9yU3RhdHVzKCkuc3Bhd24oKSx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4oZT90aGlzLl9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpOm51bGwpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuKGU/dGhpcy5fZ2V0RGF0YVNvdXJjZUVycm9yU3RhdHVzQ3VzdG9tVGl0bGUoKTpudWxsKT8/c3VwZXIuX2dldFRpdGxlKGUpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCksdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3tpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOnRoaXMuX2dldFRpdGxlKGUpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOnZvaWQgMD09PXQuc3RhY2tUcmFjZT9bKDAsdS5mb3JtYXRTdHVkeUVycm9yKSgoMCxsLmh0bWxFc2NhcGUpKHQuZXJyb3IpKV06bnVsbCxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzb2x1dGlvbklkOnRoaXMuX29wdGlvbnMuZXJyb3JTb2x1dGlvbj90aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8uc29sdXRpb25JZDp2b2lkIDAsZGF0YVFhSWQ6dGhpcy5fZGF0YVFhSWQoKT8/dm9pZCAwfV0pOnRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpfV9kYXRhUWFJZCgpe3JldHVybiJkYXRhLXNvdXJjZS1lcnJvci1zdGF0dXMifV9nZXRBY3Rpb24oZSl7Y29uc3QgdD10aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKTtpZih0aGlzLl9vcHRpb25zLmVycm9yU29sdXRpb24mJm51bGwhPT10KXtjb25zdHtzdHVkeUZlYXR1cmU6ZX09dDtpZihlKXJldHVybnt0ZXh0OigwLGQuZ2V0TGVhcm5Nb3JlVGl0bGUpKCksb25DbGljazooKT0+KDAsYy5vcGVuUGF5d2FsbCkoZSl9fXJldHVybiBudWxsfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT8odGhpcy5fc3RhdHVzLnNldFZhbHVlKCEwKSx0JiZ0aGlzLl9sYXN0RXJyb3IhPT1lLmVycm9yJiZ0aGlzLl91cGRhdGVCeVN0YXR1cyghMCksdGhpcy5fbGFzdEVycm9yPWUuZXJyb3IpOih0aGlzLl9zdGF0dXMuc2V0VmFsdWUobnVsbCksdGhpcy5fbGFzdEVycm9yPW51bGwpfV9nZXREYXRhU291cmNlRXJyb3JTdGF0dXNDdXN0b21UaXRsZSgpe3JldHVybiB0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXMudmFsdWUoKT8udGl0bGV8fG51bGx9fXZhciBNLEk9YSg3Nzk0NzQpLEU9YSgyMjEwNjEpLEM9YSg3MDA4NCksVD1hKDU2MjQ1NSksaz1hKDI4NTg2MSkseD1hKDQ2MDQ0OCksRD1hKDU1NDY0MSksVj1hKDgzNTk4MCksUD1hKDEwODE4MiksQT1hKDc3NjU3NiksUj1hKDE5MzUwOCk7IWZ1bmN0aW9uKGUpe2UuRGVsYXlUb1JlYWx0aW1lPSJEZWxheVRvUmVhbHRpbWUiLGUuRGVsYXlOb1JlYWx0aW1lPSJEZWxheU5vUmVhbHRpbWUiLGUuVEZFWERlbGF5Rm9yR3Vlc3Q9IlRGRVhEZWxheUZvckd1ZXN0IixlLk1JTERlbGF5Rm9yR3Vlc3Q9Ik1JTERlbGF5Rm9yR3Vlc3QiLGUuSUNFU0dEZWxheUZvckd1ZXN0PSJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLGUuVFVSUVVPSVNFRGVsYXlGb3JHdWVzdD0iVFVSUVVPSVNFRGVsYXlGb3JHdWVzdCIsCmUuQURYRGVsYXlGb3JHdWVzdD0iQURYRGVsYXlGb3JHdWVzdCIsZS5UUkFERUdBVEVEZWxheUZvckd1ZXN0PSJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixlLkxVWFNFRGVsYXlGb3JHdWVzdD0iTFVYU0VEZWxheUZvckd1ZXN0IixlLk5TRU5HRGVsYXlGb3JHdWVzdD0iTlNFTkdEZWxheUZvckd1ZXN0IixlLkZJTlJBRGVsYXlGb3JHdWVzdD0iRklOUkFEZWxheUZvckd1ZXN0IixlLkFRVUlTRGVsYXlGb3JHdWVzdD0iQVFVSVNEZWxheUZvckd1ZXN0IixlLkVFWERlbGF5Rm9yR3Vlc3Q9IkVFWERlbGF5Rm9yR3Vlc3QiLGUuREVGb3JHdWVzdD0iREVGb3JHdWVzdCIsZS5FT0Q9IkVPRCIsZS5FT0RUb1JlYWx0aW1lPSJFT0RUb1JlYWx0aW1lIixlLlRpY2tCeVRpY2s9IlRpY2tCeVRpY2siLGUuQkFUU1RvUmVhbHRpbWU9IkJBVFNUb1JlYWx0aW1lIixlLkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudD0iRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixlLkRlbGF5V2l0aG91dFBhaWRGb3JQcm9mZmVzc2lvbmFsPSJEZWxheVdpdGhvdXRQYWlkRm9yUHJvZmZlc3Npb25hbCIsZS5PdmVybmlnaHRRdW90ZXM9Ik92ZXJuaWdodFF1b3RlcyJ9KE18fChNPXt9KSk7Y29uc3QgQj1bIlRGRVhEZWxheUZvckd1ZXN0IiwiTUlMRGVsYXlGb3JHdWVzdCIsIkRFRm9yR3Vlc3QiLCJJQ0VTR0RlbGF5Rm9yR3Vlc3QiLCJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IiwiQURYRGVsYXlGb3JHdWVzdCIsIlRSQURFR0FURURlbGF5Rm9yR3Vlc3QiLCJMVVhTRURlbGF5Rm9yR3Vlc3QiLCJOU0VOR0RlbGF5Rm9yR3Vlc3QiLCJGSU5SQURlbGF5Rm9yR3Vlc3QiLCJBUVVJU0RlbGF5Rm9yR3Vlc3QiLCJFRVhEZWxheUZvckd1ZXN0Il07dmFyIE49YSg3Mzc1MjMpLEY9YSg5MzA1NjYpO2NvbnN0IFc9InR2LmFscmVhZHlCbGlua2VkU3RhdHVzZXMiLE89W107ZnVuY3Rpb24gSCgpe3JldHVybiBGLmdldEpTT04oVyxPKX1jb25zdCBMPW5ldyBzLldhdGNoZWRWYWx1ZShIKCkpO2Z1bmN0aW9uIFUoZSl7Y29uc3QgdD1GLmdldEpTT04oVyxPKTt0LmluY2x1ZGVzKGUpfHwodC5wdXNoKGUpLEYuc2V0SlNPTihXLHQpLEwuc2V0VmFsdWUoSCgpKSl9Ri5vblN5bmMuc3Vic2NyaWJlKG51bGwsKCgpPT5MLnNldFZhbHVlKEgoKSkpKTtjb25zdCBHPUw7dmFyIHo9YSgzNjIyMzkpO3ZhciBxPWEoMzg2OTMxKSwkPWEoNjEzODcwKSxqPWEoOTI2OTk1KSxRPWEoNzc0NTA3KTthc3luYyBmdW5jdGlvbiBYKGUpe3ZvaWQgMD09PWUuaXNFeHBlcnQmJihlPXsuLi5lLGlzRXhwZXJ0OndpbmRvdy51c2VyLmRlY2xhcmVkX3N0YXR1cz09PVEuVXNlclN0YXR1cy5Qcm99KTsoYXdhaXQgUHJvbWlzZS5hbGwoW2EuZSg0MzU3NiksYS5lKDg0MzA2KSxhLmUoNTIzOTYpLGEuZSgxMzQ5MiksYS5lKDM3NzQ2KSxhLmUoODEwNzIpLGEuZSgyMzYyNCksYS5lKDE5NTk1KSxhLmUoMTk3ODcpLGEuZSg2Nzc5OSksYS5lKDg2NDIzKSxhLmUoODU3OSksYS5lKDQwODM1KSxhLmUoNzI2NjYpLGEuZSg5MzQyMSksYS5lKDc4NjUyKSxhLmUoNzQzODEpLGEuZSgxNTUyNiksYS5lKDYxODIxKSxhLmUoNTczMDApLGEuZSg2NjI3MCksYS5lKDUxNjgyKSxhLmUoMzc3NjcpLGEuZSgzNTE5OCksYS5lKDQ2NTkxKSxhLmUoOTQwNTQpLGEuZSgzMzEyMCksYS5lKDQwODY3KSxhLmUoMTUwOSksYS5lKDUwODAwKSxhLmUoNzY2NSksYS5lKDMzMjIxKSxhLmUoMTI1NjUpLGEuZSgzMTI2MiksYS5lKDI1Njk4KSxhLmUoMjMzMSksYS5lKDc4OTkpLGEuZSg4MTkwMyksYS5lKDgxNTI5KSxhLmUoOTEyMDApLGEuZSg0NDc4MCksYS5lKDg0MzcxKSxhLmUoMjYxNDUpLGEuZSgzODM5OCksYS5lKDM3NzU2KV0pLnRoZW4oYS5iaW5kKGEsODcxMDUyKSkpLm9wZW5FeGNoYW5nZUFncmVlbWVudERpYWxvZyhlKX12YXIgSz1hKDU4OTc0OSk7Y29uc3QgWj0oMCwKRS5nZXRMb2dnZXIpKCJDaGFydC5MZWdlbmRXaWRnZXQiKSxKPW5ldyBNYXAoW1sic21hbGwiLENdLFsibWVkaXVtIixUXSxbImxhcmdlIixUXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsa10sWyJtZWRpdW0iLHhdLFsibGFyZ2UiLHhdXSksZWU9bmV3IE1hcChbWyJzbWFsbCIsRF0sWyJtZWRpdW0iLFZdLFsibGFyZ2UiLFZdXSksdGU9bmV3IE1hcChbWyJEZWxheVRvUmVhbHRpbWUiLEpdLFsiRGVsYXlOb1JlYWx0aW1lIixKXSxbIlRGRVhEZWxheUZvckd1ZXN0IixKXSxbIk1JTERlbGF5Rm9yR3Vlc3QiLEpdLFsiSUNFU0dEZWxheUZvckd1ZXN0IixKXSxbIlRVUlFVT0lTRURlbGF5Rm9yR3Vlc3QiLEpdLFsiQURYRGVsYXlGb3JHdWVzdCIsSl0sWyJUUkFERUdBVEVEZWxheUZvckd1ZXN0IixKXSxbIkxVWFNFRGVsYXlGb3JHdWVzdCIsSl0sWyJOU0VOR0RlbGF5Rm9yR3Vlc3QiLEpdLFsiRklOUkFEZWxheUZvckd1ZXN0IixKXSxbIkFRVUlTRGVsYXlGb3JHdWVzdCIsSl0sWyJFRVhEZWxheUZvckd1ZXN0IixKXSxbIkRFRm9yR3Vlc3QiLEpdLFsiRU9EIixZXSxbIkVPRFRvUmVhbHRpbWUiLFldLFsiVGlja0J5VGljayIsZWVdLFsiQkFUU1RvUmVhbHRpbWUiLGVlXSxbIk92ZXJuaWdodFF1b3RlcyIsZWVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixKXV0pLGFlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixfLmRlbGF5XSxbIkRlbGF5Tm9SZWFsdGltZSIsXy5kZWxheV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJNSUxEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkFEWERlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiTlNFTkdEZWxheUZvckd1ZXN0IixfLmRlbGF5XSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLF8uZGVsYXldLFsiRUVYRGVsYXlGb3JHdWVzdCIsXy5kZWxheV0sWyJERUZvckd1ZXN0IixfLmRlbGF5XSxbIkVPRCIsXy5lb2RdLFsiRU9EVG9SZWFsdGltZSIsXy5lb2RdLFsiVGlja0J5VGljayIsXy5ub3RBY2N1cmF0ZV0sWyJCQVRTVG9SZWFsdGltZSIsXy5ub3RBY2N1cmF0ZV0sWyJPdmVybmlnaHRRdW90ZXMiLF8ubm90QWNjdXJhdGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixfLmRlbGF5XV0pLHNlPW5ldyBNYXAoW1siRGVsYXlUb1JlYWx0aW1lIixQLmNvbG9yRGVsYXlNb2RlXSxbIkRlbGF5Tm9SZWFsdGltZSIsUC5jb2xvckRlbGF5TW9kZV0sWyJURkVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJNSUxEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIklDRVNHRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJUVVJRVU9JU0VEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkFEWERlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiVFJBREVHQVRFRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJMVVhTRURlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiTlNFTkdEZWxheUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkZJTlJBRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJBUVVJU0RlbGF5Rm9yR3Vlc3QiLFAuY29sb3JEZWxheU1vZGVdLFsiRUVYRGVsYXlGb3JHdWVzdCIsUC5jb2xvckRlbGF5TW9kZV0sWyJERUZvckd1ZXN0IixQLmNvbG9yRGVsYXlNb2RlXSxbIkVPRCIsUC5jb2xvckVvZE1vZGVdLFsiRU9EVG9SZWFsdGltZSIsUC5jb2xvckVvZE1vZGVdLFsiVGlja0J5VGljayIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJCQVRTVG9SZWFsdGltZSIsUC5jb2xvck5vdEFjY3VyYXRlTW9kZV0sWyJPdmVybmlnaHRRdW90ZXMiLFAuY29sb3JOb3RBY2N1cmF0ZU1vZGVdLFsiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IixQLmNvbG9yRGVsYXlNb2RlXV0pO3ZhciBvZTshZnVuY3Rpb24oZSl7ZS5Ub29sdGlwU2VwYXJhdG9yPSIgwrcgIn0ob2V8fChvZT17fSkpO2NsYXNzIGllIGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKHtpY29uTWFwOnRlLGNsYXNzTmFtZU1hcDphZSx0aXRsZUNvbG9yTWFwOnNlLHNpemU6dH0pLHRoaXMuX2RhdGFVcGRhdGVkSW5mbz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQ9KCk9Pnt0aGlzLl91cGRhdGVCeVN0YXR1cyh0aGlzLnN0YXR1cygpLnZhbHVlKCkpfSx0aGlzLl9vcHRpb25zPWEsdGhpcy5fbW9kZWw9ZSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXM9Ry5zcGF3bigpLHRoaXMuX2RhdGFNb2RlQmxpbmtpbmdTdGF0dXNlcy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQmxpbmtpbmdNb2RlLmJpbmQodGhpcykpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5zdWJzY3JpYmUodGhpcy5fb25NYXJrZXRTdGF0dXNDaGFuZ2VkKSx0aGlzLnR1cm5PZmZCbGlua2luZ01vZGU9dGhpcy5fdHVybk9mZkJsaW5raW5nLmJpbmQodGhpcyksdGhpcy5zZXRNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLmRlc3Ryb3koKSx0aGlzLl9kYXRhTW9kZUJsaW5raW5nU3RhdHVzZXMuZGVzdHJveSgpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy51bnN1YnNjcmliZSh0aGlzLl9vbk1hcmtldFN0YXR1c0NoYW5nZWQpLHRoaXMuX29wdGlvbnMubWFya2V0U3RhdHVzPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfXNldE1vZGVsKGUpe2lmKHRoaXMuX2RhdGFVcGRhdGVkSW5mby5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21vZGVsPWUsdm9pZCh0aGlzLl9kYXRhVXBkYXRlZEluZm89bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCkpO3RoaXMuX2RhdGFVcGRhdGVkSW5mbz1lLnN0YXR1cygpLnNwYXduKCksCnRoaXMuX2RhdGFVcGRhdGVkSW5mby5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfW9uUGlsbENsaWNrKCl7dmFyIGUsdCxhO251bGwhPT10aGlzLl9tb2RlbCYmKGU9Im1kX3BpbGxfY2xpY2siLHQ9ImNoYXJ0IixhPXRoaXMuX21vZGVsLnByb05hbWUoKXx8dm9pZCAwLCgwLHouZ2V0VHJhY2tlcikoKS50aGVuKChzPT5zPy50cmFja01hcmtldERhdGFTdGF0dXNFdmVudChlLHQsYSkpKSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7Y29uc3QgdD10aGlzLl9vcHRpb25zLm1hcmtldFN0YXR1cz8udmFsdWUoKTtyZXR1cm4iZXhwaXJlZCI9PT10fHwiZGVsaXN0ZWQiPT09dHx8KCEoIkJBVFNUb1JlYWx0aW1lIiE9PWV8fCF0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKSl8fHN1cGVyLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKX1fZ2V0VG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZ2V0U2hvcnRUZXh0cygpO3JldHVybiBudWxsPT09ZT9udWxsOk9iamVjdC52YWx1ZXMoZSkuam9pbigiIMK3ICIpfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCksdD10aGlzLl9zdGF0dXMudmFsdWUoKTtpZihudWxsPT09ZXx8bnVsbD09PXQpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgYT10aGlzLl9nZXRTaG9ydFRleHRzKCksW3Msb109YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMuX2dldEh0bWxzKCksdGhpcy5fZ2V0QWN0aW9ucygpXSk7aWYoZSE9PXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpKXJldHVybjtjb25zdCBpPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5tb2RlOyJCQVRTVG9SZWFsdGltZSI9PT1lJiZ0aGlzLl9tb2RlbD8uaXNTcHJlYWQoKXx8aS5wdXNoKHtpY29uOnRoaXMuX2dldEljb24oZSksaWNvbkNsYXNzTmFtZTp0aGlzLl9nZXRGdWxsVG9vbHRpcEljb25DbGFzc05hbWVzKGUpLHRpdGxlOmEmJmFbZV0sdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6cyYmc1tlXSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOm8mJm9bZV19KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShpKX1fdXBkYXRlU3RhdHVzKGUpe2NvbnN0IHQ9bnVsbCE9PWU/ZVswXS5tb2RlOm51bGw7dGhpcy5fc3RhdHVzLnNldFZhbHVlKHQ/P251bGwsITApLHRoaXMuX3VwZGF0ZUJsaW5raW5nTW9kZSgpfWFzeW5jIF9nZXRIdG1scygpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWV8fG51bGw9PT10aGlzLl9tb2RlbClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG51bGwpO2NvbnN0IHQ9e30scz10aGlzLl9tb2RlbC5zeW1ib2xOYW1lKCk7bGV0IG89bnVsbDtjb25zdCBpPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCkscj10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXtvPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX1mb3IoY29uc3QgdSBvZiBlKXtjb25zdCBlPXUubW9kZTtpZih0W2VdPVtdLFsiRGVsYXlUb1JlYWx0aW1lIiwiRGVsYXlOb1JlYWx0aW1lIiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50IiwuLi5CXS5pbmNsdWRlcyhlKSYmKHRbZV0ucHVzaCgoMCxkLmdldERlbGF5SHRtbCkocyx0aGlzLl9tb2RlbC50aW1lKCkpKSx0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvJiZudWxsIT09byYmIkRlbGF5VG9SZWFsdGltZSI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVRvUmVhbHRpbWVKc3gpKEkuY3JlYXRlRWxlbWVudCgiYiIsbnVsbCxvKSkpLCJEZWxheU5vUmVhbHRpbWUiPT09ZSYmdFtlXS5wdXNoKCgwLGQuZ2V0RGVsYXlOb1JlYWx0aW1lSHRtbCkoKSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lJiZ0W2VdLnB1c2goKDAsZC5nZXREZWxheVdpdGhvdXRNYXJrZXRBZ3JlZW1lbnRIdG1sKShpKSksdGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbyYmQi5pbmNsdWRlcyhlKSYmdFtlXS5wdXNoKCgwLGQuZ2V0UnRGcmVlRm9yUmVnaXN0ZXJlZFVzZXJzSHRtbCkoaSkpKSwiRU9EIj09PWUmJih0W2VdPVtSLmVvZEh0bWxdKSwiRU9EVG9SZWFsdGltZSI9PT1lJiYodFtlXT1bUi5lb2RUb1JlYWx0aW1lSHRtbC5mb3JtYXQoe2xpc3RlZEV4Y2hhbmdlOmA8Yj4ke2l9PC9iPmB9KV0pLCJUaWNrQnlUaWNrIj09PWUpe2NvbnN0IHM9dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDFGdWxsSW5mbzooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtjb3VudDp1LnVwZGF0ZVBlcmlvZCxyZXBsYWNlOnthbW91bnQ6KHUudXBkYXRlUGVyaW9kPz8xKS50b1N0cmluZygpfSxwbHVyYWw6IkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJ9LGEoNzU1MTkyKSkpLG89dm9pZCAwPT09dS51cGRhdGVQZXJpb2Q/Ui50aWNrQnlUaWNrSHRtbDE6KDAsbC5odG1sRXNjYXBlKShuLnQobnVsbCx7Y291bnQ6dS51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50Oih1LnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX0scGx1cmFsOiJEYXRhIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmRzLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4ifSxhKDc3MTM1NikpKTt0W2VdLnB1c2godGhpcy5fb3B0aW9ucy5zdWJzY3JpcHRpb25GdWxsSW5mbz9zOm8pLHRoaXMuX29wdGlvbnMuc3Vic2NyaXB0aW9uRnVsbEluZm8mJnRbZV0ucHVzaChSLnRpY2tCeVRpY2tIdG1sMil9aWYoaSE9PXImJiJCQVRTVG9SZWFsdGltZSI9PT1lKXtjb25zdCBhPSgwLE4uaXNBbWV4VG9DYm9lTWlncmF0ZWRTeW1ib2wpKGksdGhpcy5fbW9kZWwucHJvUGVybSgpKQo7Ti5jcnVjaWFsUmVhbHRpbWVCYXRzLmluY2x1ZGVzKHIpfHxhP3RbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lQ3J1Y2lhbEh0bWwuZm9ybWF0KHtleGNoYW5nZTphPyJOWVNFIEFyY2EiOmksb3JpZ2luYWxFeGNoYW5nZTpyfSkpOnRbZV0ucHVzaChSLmJhdHNUb1JlYWx0aW1lSHRtbDEuZm9ybWF0KHtzeW1ib2xOYW1lOnMsZXhjaGFuZ2U6cn0pLCIiIT09aT8oMCxsLmh0bWxFc2NhcGUpKFIuYmF0c1RvUmVhbHRpbWVIdG1sMldpdGhFeGNoYW5nZSkuZm9ybWF0KHtleGNoYW5nZTppfSk6KDAsbC5odG1sRXNjYXBlKShSLmJhdHNUb1JlYWx0aW1lSHRtbDJXaXRob3V0RXhjaGFuZ2UpKX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJnRbZV0ucHVzaChSLm92ZXJuaWdodFF1b3Rlc1RleHQpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9YXN5bmMgX2dldEFjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtpZih0aGlzLl9vcHRpb25zLnN1YnNjcmlwdGlvbkZ1bGxJbmZvKWZvcihjb25zdCBhIG9mIGUpe2NvbnN0IGU9YS5tb2RlO2lmKEIuaW5jbHVkZXMoYS5tb2RlKSYmKHRbZV09e3RleHQ6KDAsZC5nZXRDcmVhdGVGcmVlQWNjb3VudFRpdGxlKSgpLG9uQ2xpY2s6KCk9PnsoMCwkLnNob3dTaWduTW9kYWwpKHtzb3VyY2U6IkRhdGEgd2FybmluZyBpbmRpY2F0b3IifSl9fSksIkRlbGF5V2l0aG91dE1hcmtldEFncmVlbWVudCI9PT1lKXtjb25zdCBhPXRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwubGlzdGVkRXhjaGFuZ2UoKTt0W2VdPXt0ZXh0OigwLGQuZ2V0RmlsbEV4Y2hhbmdlQWdyZWVtZW50c1RpdGxlKSgpLG9uQ2xpY2s6KCk9PntYKHtleGNoYW5nZTphLnRvTG93ZXJDYXNlKCksaXNGcmVlRXhjaGFuZ2U6ITAsaGlkZUNsb3NlQnV0dG9uOiExfSl9fX1pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7Y29uc3QgYT10aGlzLl9tb2RlbC5saXN0ZWRFeGNoYW5nZSgpLHM9KDAsTi5pc0FtZXhUb0Nib2VNaWdyYXRlZFN5bWJvbCkoYSx0aGlzLl9tb2RlbC5wcm9QZXJtKCkpO2lmKE4uY3J1Y2lhbFJlYWx0aW1lQmF0cy5pbmNsdWRlcyhhKXx8cyl7Y29uc3Qgbz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkJBVFNUb1JlYWx0aW1lIixjb3VudHJ5OnRoaXMuX21vZGVsLmNvdW50cnkoKSxsaW5rOiJodHRwczovL3d3dy5jYm9lLmNvbS91cy9lcXVpdGllcy9tYXJrZXRfc3RhdGlzdGljcyIsb3JpZ2luYWxFeGNoYW5nZTpvLGxpc3RlZEV4Y2hhbmdlOnM/Ik5ZU0UgQXJjYSI6YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl9KX1lbHNlIHRbZV09e3RleHQ6KDAsZC5nZXRMZWFybk1vcmVUaXRsZSkoKSxvbkNsaWNrOigpPT57dGhpcy5fc2hvd1N1cHBvcnREaWFsb2dGb3JVcGRhdGVNb2RlKEEuQkFUU19UT19SRUFMVElNRV9TT0xVVElPTl9JRCl9fX1pZigiVGlja0J5VGljayI9PT1lfHwiRGVsYXlUb1JlYWx0aW1lIj09PWUpe2xldCBhPW51bGw7Y29uc3Qgcz10aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpO3RyeXthPWF3YWl0IHRoaXMuX21vZGVsLmRlc2NyaXB0aW9uKCl9Y2F0Y2goZSl7Wi5sb2dFcnJvcihgQ2FuJ3QgZ2V0IGV4Y2hhbmdlIGRlc2NyaXB0aW9uLCByZWFzb246ICR7KDAsSy5lcnJvclRvU3RyaW5nKShlKX1gKX10W2VdPXRoaXMuX2dvUHJvRGlhbG9nQWN0aW9uKHtmZWF0dXJlOmUsdGltZTp0aGlzLl9tb2RlbC50aW1lKCksZGVzY3JpcHRpb246YSxleGNoYW5nZTp0aGlzLl9tb2RlbC5wcm9QZXJtKCl8fHMudG9Mb3dlckNhc2UoKX0pfSJPdmVybmlnaHRRdW90ZXMiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6Ik92ZXJuaWdodFF1b3RlcyIsZXhjaGFuZ2U6dGhpcy5fbW9kZWwucHJvUGVybSgpfHx0aGlzLl9tb2RlbC50cmFkZWRFeGNoYW5nZSgpLnRvTG93ZXJDYXNlKCl9KSksIkVPRFRvUmVhbHRpbWUiPT09ZSYmKHRbZV09dGhpcy5fZ29Qcm9EaWFsb2dBY3Rpb24oe2ZlYXR1cmU6IkVPRFRvUmVhbHRpbWUiLGV4Y2hhbmdlOnRoaXMuX21vZGVsLnByb1Blcm0oKXx8dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKS50b0xvd2VyQ2FzZSgpfSkpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3Nob3dTdXBwb3J0RGlhbG9nRm9yVXBkYXRlTW9kZShlKXtpZigoMCxqLnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDplfSksbnVsbD09PXRoaXMuX21vZGVsKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnByb05hbWUoKTsoMCx6LmdldFRyYWNrZXIpKCkudGhlbigoZT0+ZSYmdCYmZS50cmFja01hcmtldERhdGFTb2x1dGlvbkV2ZW50KHQpKSl9X2dldFNob3J0VGV4dHMoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lfHxudWxsPT09dGhpcy5fbW9kZWwpcmV0dXJuIG51bGw7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXMubW9kZTtpZihbIkRlbGF5VG9SZWFsdGltZSIsIkRlbGF5Tm9SZWFsdGltZSIsLi4uQiwiRGVsYXlXaXRob3V0TWFya2V0QWdyZWVtZW50Il0uaW5jbHVkZXMoZSkmJih0W2VdPVIuZGVsYXlUb29sdGlwKSxbIkVPRCIsIkVPRFRvUmVhbHRpbWUiXS5pbmNsdWRlcyhlKSYmKHRbZV09Ui5lb2RUb29sdGlwKSwiVGlja0J5VGljayI9PT1lKXtjb25zdCBvPXZvaWQgMD09PXMudXBkYXRlUGVyaW9kP1Iubm90QWNjdXJhdGUxUGVyU2Vjb25kVG9vbHRpcDooMCxsLmh0bWxFc2NhcGUpKG4udChudWxsLHtwbHVyYWw6Ik9uZSB1cGRhdGUgZXZlcnkge2Ftb3VudH0gc2Vjb25kcyIsY291bnQ6cy51cGRhdGVQZXJpb2QscmVwbGFjZTp7YW1vdW50OihzLnVwZGF0ZVBlcmlvZD8/MSkudG9TdHJpbmcoKX19LGEoMjU2ODE3KSkpO3RbZV09b31pZigiQkFUU1RvUmVhbHRpbWUiPT09ZSl7CmNvbnN0IGE9dGhpcy5fbW9kZWwudHJhZGVkRXhjaGFuZ2UoKSxzPXRoaXMuX21vZGVsLmxpc3RlZEV4Y2hhbmdlKCk7dFtlXT1hIT09cz9SLmV4Y2hhbmdlQnlPcmlnaW5hbEV4Y2hhbmdlVG9vbHRpcC5mb3JtYXQoe2V4Y2hhbmdlOnMsb3JpZ2luYWxFeGNoYW5nZTphfSk6YX0iT3Zlcm5pZ2h0UXVvdGVzIj09PWUmJih0W2VdPVIub3Zlcm5pZ2h0UXVvdGVzVGl0bGUpfXJldHVybiBPYmplY3Qua2V5cyh0KS5sZW5ndGg+MD90Om51bGx9X3VwZGF0ZUJsaW5raW5nTW9kZSgpe2NvbnN0IGU9dGhpcy5fZGF0YVVwZGF0ZWRJbmZvLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZGF0YU1vZGVCbGlua2luZ1N0YXR1c2VzLnZhbHVlKCk7Zm9yKGNvbnN0IGEgb2YgZSlpZighdC5pbmNsdWRlcyhhLm1vZGUpKXJldHVybiB2b2lkIHRoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITApO3RoaXMuaXNCbGlua2luZ01vZGUuc2V0VmFsdWUoITEpfV90dXJuT2ZmQmxpbmtpbmcoKXtjb25zdCBlPXRoaXMuX2RhdGFVcGRhdGVkSW5mby52YWx1ZSgpO2lmKG51bGwhPT1lKWZvcihjb25zdCB0IG9mIGUpVSh0Lm1vZGUpfV9nb1Byb0RpYWxvZ0FjdGlvbihlKXtyZXR1cm57dGV4dDooMCxkLmdldExlYXJuTW9yZVRpdGxlKSgpLG9uQ2xpY2s6KCk9PntudWxsIT09dGhpcy5fbW9kZWwmJihlLmdvcHJvU291cmNlPWUuZ29wcm9Tb3VyY2U/PyJjaGFydF9pbmZvX3BpbGxfcGF5d2FsbCIsKDAsYy5vcGVuUGF5d2FsbCkoZSx7YWZ0ZXJPcGVuOigpPT4oMCxxLnRyYWNrRXZlbnQpKCJEYXRhIFdhcm5pbmciLCJGdWxsIGRlc2NyaXB0aW9uIHZpc2libGUiLGUuZmVhdHVyZSl9KSl9fX19Y29uc3QgcmU9bi50KG51bGwsdm9pZCAwLGEoMjI4MDQxKSksbmU9bmV3IE1hcChbWyJoaWdoIixuZXcgTWFwKFtbInNtYWxsIixwXSxbIm1lZGl1bSIsbV0sWyJsYXJnZSIsbV1dKV0sWyJsb3ciLG5ldyBNYXAoW1sic21hbGwiLHBdLFsibWVkaXVtIixtXSxbImxhcmdlIixtXV0pXV0pLGxlPW5ldyBNYXAoW1siaGlnaCIsXy5kYXRhUHJvYmxlbUhpZ2hdLFsibG93IixfLmRhdGFQcm9ibGVtTG93XV0pLHVlPW5ldyBNYXAoW1siaGlnaCIscmVdLFsibG93IixyZV1dKSxjZT1uZXcgTWFwKFtbImhpZ2giLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKSJdLFsibG93IiwidmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKSJdXSk7Y2xhc3MgZGUgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHt0b29sdGlwTWFwOnVlLGljb25NYXA6bmUsY2xhc3NOYW1lTWFwOmxlLHRpdGxlTWFwOnVlLHRpdGxlQ29sb3JNYXA6Y2Usc2l6ZTp0fSksdGhpcy5fZGF0YVByb2JsZW1zPW5ldyBzLldhdGNoZWRWYWx1ZShbXSkuc3Bhd24oKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLnNldE1vZGVsKGUpfWRlc3Ryb3koKXt0aGlzLl9kYXRhUHJvYmxlbXMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1pc0RhdGFQcm9ibGVtQ3JpdGljYWwoKXtyZXR1cm4gdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsfXNldE1vZGVsKGUpe3RoaXMuX2RhdGFQcm9ibGVtcy5kZXN0cm95KCksbnVsbCE9PWU/KHRoaXMuX2RhdGFQcm9ibGVtcz1lLmRhdGFQcm9ibGVtcygpLnNwYXduKCksdGhpcy5fZGF0YVByb2JsZW1zLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSkpOnRoaXMuX2RhdGFQcm9ibGVtcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLnNwYXduKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCksdD10aGlzLl9kYXRhUHJvYmxlbXMudmFsdWUoKTtpZihudWxsPT09ZXx8MD09PXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMuX2Z1bGxUb29sdGlwLnNldFZhbHVlKG51bGwpO2NvbnN0IGE9dC5tYXAoKCh0LGEpPT4oe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dC50aXRsZT8/KDA9PT1hP3RoaXMuX2dldFRpdGxlKGUpOm51bGwpLHRpdGxlQ29sb3I6dGhpcy5fZ2V0VGl0bGVDb2xvcihlKSxodG1sOlsoMCxsLmh0bWxFc2NhcGUpKHQudGV4dCldLHNpemU6dGhpcy5fc2l6ZSxhY3Rpb246dGhpcy5fZ2V0QWN0aW9uKGUpfSkpKTt0aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShhKX1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0RGF0YVByb2JsZW1DdXN0b21UaXRsZSgpPz9zdXBlci5fZ2V0VG9vbHRpcChlKX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2dldERhdGFQcm9ibGVtQ3VzdG9tVGl0bGUoKT8/c3VwZXIuX2dldFRpdGxlKGUpfV91cGRhdGVTdGF0dXMoZSl7Y29uc3QgdD1lWzBdPy5zZXZlcml0eT8/bnVsbCxhPXRoaXMuX3N0YXR1cy52YWx1ZSgpIT09dDt0aGlzLl9zdGF0dXMuc2V0VmFsdWUodCksdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnNldFZhbHVlKGZ1bmN0aW9uKGUpe3JldHVybiJoaWdoIj09PWV9KHQpKSxhfHx0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9nZXREYXRhUHJvYmxlbUN1c3RvbVRpdGxlKCl7cmV0dXJuIHRoaXMuX2RhdGFQcm9ibGVtcy52YWx1ZSgpPy5bMF0/LnRpdGxlfHxudWxsfX12YXIgaGU9YSg5NzA2MzUpLHBlPWEoNzg2NDIwKSxtZT1hKDM3ODU5OSkKO2NvbnN0IF9lPW4udChudWxsLHZvaWQgMCxhKDczMjc3NikpLFNlPW4udChudWxsLHZvaWQgMCxhKDY5MjYxNSkpLGZlPW5ldyBNYXAoW1shMCxuZXcgTWFwKFtbInNtYWxsIixwZV0sWyJtZWRpdW0iLG1lXSxbImxhcmdlIixtZV1dKV0sWyExLG5ldyBNYXAoW1sic21hbGwiLCIiXSxbIm1lZGl1bSIsIiJdLFsibGFyZ2UiLCIiXV0pXV0pLHdlPW5ldyBNYXAoW1shMCxfLmludmFsaWRTeW1ib2xdLFshMSxudWxsXV0pLGJlPW5ldyBNYXAoW1shMCxfZV0sWyExLG51bGxdXSksZ2U9bmV3IE1hcChbWyEwLF9lXSxbITEsbnVsbF1dKSx2ZT1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpIl0sWyExLG51bGxdXSkseWU9bmV3IE1hcChbWyEwLFtTZV1dLFshMSxudWxsXV0pLE1lPW5ldyBNYXAoW1shMCxudWxsXSxbITEsbnVsbF1dKTt2YXIgSWUsRWU9YSg1NjkzOTgpLENlPWEoMTc5NzcxKSxUZT1hKDkxNDQ4Nyksa2U9YS5uKFRlKSx4ZT1hKDM4MjU5Myk7ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIHZvaWQgMCE9PWUudGV4dD9lLnRleHQ6YCR7ZS5saW5lTnVtYmVyfSR7ZS5mdW5jdGlvbk9yU2NvcGVOYW1lfWB9ZnVuY3Rpb24gVmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc3RhY2tUcmFjZTpzLGJhckluZGV4Om8saW5GdW5jdGlvbjppfT1lLHI9KDAsSS51c2VNZW1vKSgoKCk9PnMubGVuZ3RoPjEwP1suLi5zLnNsaWNlKDAsNSkse3RleHQ6Ii4uLiJ9LC4uLnMuc2xpY2UoLTUpXTpzKSxbc10pO3JldHVybiByLmxlbmd0aHx8dm9pZCAwIT09b3x8dm9pZCAwIT09aT9JLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLndyYXBTdGFja1RyYWNlLHQpfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHhlLmluZm8seGUuaGlkZUVtcHR5KX0sdm9pZCAwIT09byYmSS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsSS5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLGAke24udChudWxsLHtjb250ZXh0OiJwaW5lIHN0YWNrIHRyYWNlIn0sYSg4ODYxMzMpKX06IGApLEkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTp4ZS5iYXJJbmRleH0sbykpLGkmJkkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxgJHtuLnQobnVsbCx7Y29udGV4dDoicGluZSBzdGFjayB0cmFjZSJ9LGEoODE5MTYzKSl9OiBgKSxJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6eGUuZnVuY3Rpb25OYW1lfSxpKSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLmhpZGVFbXB0eX0sci5tYXAoKChlLHQpPT5JLmNyZWF0ZUVsZW1lbnQoUGUse2tleTpgJHtEZShlKX0ke3R9YCwuLi5lfSkpKSkpOm51bGx9ZnVuY3Rpb24gUGUoZSl7Y29uc3R7ZnVuY3Rpb25PclNjb3BlTmFtZTp0LGxpbmVOdW1iZXI6YSx0ZXh0OnN9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnhlLnN0YWNrVHJhY2VMaW5lfSxzP0kuY3JlYXRlRWxlbWVudCgic3BhbiIsbnVsbCxzKTpJLmNyZWF0ZUVsZW1lbnQoInNwYW4iLG51bGwsImF0ICIsSS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnhlLmZ1bmN0aW9uTmFtZX0sdCwiKCkiKSwiOiIsYSkpfSFmdW5jdGlvbihlKXtlW2UuTWF4U3RhY2tUcmFjZUNvdW50PTEwXT0iTWF4U3RhY2tUcmFjZUNvdW50In0oSWV8fChJZT17fSkpO3ZhciBBZT1hKDM0NDc4NSksUmU9YSg2MzI0NDQpLEJlPWEoNTU3MDY1KSxOZT1hKDg1NDgyMCksRmU9YSg0Njg0OTMpLFdlPWEoMjc2MDE5KTtmdW5jdGlvbiBPZShlKXtjb25zdHtjbGFzc05hbWU6dCxwaW5lU291cmNlQ29kZU1vZGVsOnMscGluZUVkaXRvck9wZW5QYXJhbXM6b309ZSxbaSxyXT0oMCxJLnVzZVN0YXRlKSghMSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnMpKTsoMCxJLnVzZUVmZmVjdCkoKCgpPT57aWYobnVsbD09PWwpcmV0dXJuO2NvbnN0IGU9ZT0+e2NvbnN0IHQ9Qm9vbGVhbihvLmVycm9yPy5zdGFydD8/dm9pZCAwKTtyKGUmJnQpfTtyZXR1cm4gbC5pc0FibGVTaG93U291cmNlQ29kZSgpLnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+bC5pc0FibGVTaG93U291cmNlQ29kZSgpLnVuc3Vic2NyaWJlKGUpfSksW28sbF0pO2NvbnN0IHU9KDAsSS51c2VDYWxsYmFjaykoKCgpPT57KDAsV2UuZ2xvYmFsQ2xvc2VNZW51KSgpLG8mJmw/LnNob3dQaW5lU291cmNlQ29kZShvKX0pLFtsLG9dKTtyZXR1cm4gaT9JLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6dSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg2NDExMDkpKSk6bnVsbH12YXIgSGU9YSg3NTgyMzgpLExlPWEoNzgzMjU0KSxVZT1hKDgwMjUyOCksR2U9YSgyMjMwODApO2Z1bmN0aW9uIHplKHtjb2RlOmV9KXtjb25zdCB0PSgwLEZlLnVzZVByb21pc2UpKChhc3luYygpPT57dHJ5e3JldHVybiBhd2FpdCgwLFVlLmZldGNoRWRpdG9yRXJyb3IpKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX0pLHZvaWQgMCxbZV0pO3JldHVybiB0P0kuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7c2l6ZToieHNtYWxsIix2YXJpYW50OiJzZWNvbmRhcnkiLGVuZFNsb3Q6SS5jcmVhdGVFbGVtZW50KEhlLklubGluZUljb24se2ljb246R2V9KSxvbkNsaWNrOigpPT5vcGVuKHQsIl9ibGFuayIpfSxMZS50KG51bGwse2NvbnRleHQ6IlBpbmUncyBlcnJvciBjb2RlIn0sYSg5OTI2MzYpKSk6bnVsbH12YXIgcWU9YSg4MzAxOTcpO2Z1bmN0aW9uICRlKHtlZGl0b3JFcnJvcjplLHNob3dSZXBvcnRJdEJ1dHRvbjp0LGNvZGU6YSxjbGFzc05hbWU6c30pe3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTprZSgpKHFlLmVkaXRvckVycm9yQnV0dG9ucyxzKX0sZSx0LGEpfXZhciBqZT1hKDg3Nzk5OSk7ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIGUubWFwKChlPT5gYXQgJHtlLmZ1bmN0aW9uT3JTY29wZU5hbWV9KCk6JHtlLmxpbmVOdW1iZXJ9YCkpLmpvaW4oIlxuIil9ZnVuY3Rpb24gWGUoZSl7CmNvbnN0e3N0YWNrVHJhY2U6dCxlcnJvck1lc3NhZ2U6cyxwaW5lU291cmNlQ29kZU1vZGVsOm8sYmFySW5kZXg6aSxpbkZ1bmN0aW9uOnJ9PWUsW2wsdV09KDAsSS51c2VTdGF0ZSkoITEpLGM9KDAsSS51c2VSZWYpKG51bGwpLGQ9KDAsSS51c2VNZW1vKSgoKCk9Pntjb25zdCBlPXQuZmluZCgoZT0+IWUuaWR8fCEoMCxSZS5pc1B1Ymxpc2hlZFBpbmVJZCkoZS5pZCkpKTtyZXR1cm4gdm9pZCAwPT09ZT97fTp7c3RhY2tUcmFjZTp0LGVycm9yOnttZXNzYWdlOnMsc3RhcnQ6e2xpbmU6ZS5saW5lTnVtYmVyLGNvbHVtbjowfX19fSksW3MsdF0pLGg9a2UoKShqZS53cmFwRXJyb3IsbCYmamUuY2xpY2tlZEFuaW0pO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpqZS53cmFwcGVyfSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLGNsYXNzTmFtZTpoLG9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYobClyZXR1cm47aWYoKDAsQmUuY29weVRvQ2xpcGJvYXJkKSh7dGV4dDpRZSh0KX0pLG51bGw9PT1jLmN1cnJlbnQpcmV0dXJuOygwLEFlLnNob3dPbkVsZW1lbnQpKGMuY3VycmVudCx7dG9vbHRpcERlbGF5OjAsY29udGVudDp7dHlwZToidGV4dCIsZGF0YTpuLnQobnVsbCx2b2lkIDAsYSg0Njk4NDEpKX19KSx1KCEwKSxzZXRUaW1lb3V0KCgoKT0+eygwLEFlLmhpZGUpKCksdSghMSl9KSwyZTMpfX0scy5sZW5ndGgmJkkuY3JlYXRlRWxlbWVudChLZSx7ZXJyb3JNZXNzYWdlOnN9KSxJLmNyZWF0ZUVsZW1lbnQoVmUse3N0YWNrVHJhY2U6dCxiYXJJbmRleDppLGluRnVuY3Rpb246cixjbGFzc05hbWU6amUud3JhcFN0YWNrVHJhY2V9KSksSS5jcmVhdGVFbGVtZW50KCRlLHtlZGl0b3JFcnJvcjpJLmNyZWF0ZUVsZW1lbnQoT2Use2NsYXNzTmFtZToiZWRpdG9yQnV0dG9uIixwaW5lU291cmNlQ29kZU1vZGVsOm8scGluZUVkaXRvck9wZW5QYXJhbXM6ZH0pLGNvZGU6ZS5jb2RlJiZJLmNyZWF0ZUVsZW1lbnQoemUse2NvZGU6ZS5jb2RlfSl9KSl9ZnVuY3Rpb24gS2UoZSl7Y29uc3R7ZXJyb3JNZXNzYWdlOnR9PWU7cmV0dXJuIEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmplLmVycm9yVGV4dH0sdCl9ZnVuY3Rpb24gWmUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsZWRpdG9yRXJyb3I6YSxwaW5lU291cmNlQ29kZU1vZGVsOnN9PWU7cmV0dXJuIGEuaWQuc3RhcnRzV2l0aCgiVVNFUiIpP0kuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLEkuY3JlYXRlRWxlbWVudChPZSx7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLHBpbmVFZGl0b3JPcGVuUGFyYW1zOntlcnJvcjphfX0pKTpudWxsfWZ1bmN0aW9uIEplKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoTmUuTGlnaHRCdXR0b24se2NsYXNzTmFtZTp0LG9uQ2xpY2s6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLCgwLGouc2hvd1N1cHBvcnREaWFsb2cpKHtpbml0aWFsU3RhdGU6ImNoYXQtYXNzaXN0YW50In0pfSxzaXplOiJ4c21hbGwifSxuLnQobnVsbCx2b2lkIDAsYSg1MDg3NDkpKSkpfWNsYXNzIFlle2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NsaWNrT25MaW5lQ2FsbGJhY2s9ZT0+e0NlLmVtaXQoInN0dWR5X3N0YWNrX3RyYWNlX29wZW5fb25fbGluZSIsdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT8/IiIsZSl9LHRoaXMuX3NvdXJjZT1lfWRlc3Ryb3koKXt9cmVuZGVyZXIoZSx0KXtjb25zdCBhPXRoaXMuX3NvdXJjZS5lcnJvclN0YXR1cygpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT1hP251bGw6YS5zdGFja1RyYWNlPygwLEkuY3JlYXRlRWxlbWVudCkoWGUse2tleTplLHBpbmVTb3VyY2VDb2RlTW9kZWw6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKSxlcnJvck1lc3NhZ2U6YS5lcnJvcj8/IiIsc3RhY2tUcmFjZTphLnN0YWNrVHJhY2UsY2xpY2tPbkxpbmVDYWxsYmFjazp0aGlzLl9jbGlja09uTGluZUNhbGxiYWNrLGNvZGU6YS5jb2RlLGJhckluZGV4OmEuYmFySW5kZXh9KTphLmVkaXRvckVycm9yfHxhLnNob3dSZXBvcnRJdEJ1dHRvbnx8YS5jb2RlPygwLEkuY3JlYXRlRWxlbWVudCkoJGUse2tleTplLGNsYXNzTmFtZTp0LGVkaXRvckVycm9yOmEuZWRpdG9yRXJyb3ImJigwLEkuY3JlYXRlRWxlbWVudCkoWmUse2VkaXRvckVycm9yOmEuZWRpdG9yRXJyb3IscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpfSksc2hvd1JlcG9ydEl0QnV0dG9uOmEuc2hvd1JlcG9ydEl0QnV0dG9uJiYoMCxJLmNyZWF0ZUVsZW1lbnQpKEplKSxjb2RlOmEuY29kZSYmKDAsSS5jcmVhdGVFbGVtZW50KSh6ZSx7Y29kZTphLmNvZGV9KX0pOm51bGx9dXBkYXRlU291cmNlKGUpe3RoaXMuX3NvdXJjZT1lfX12YXIgZXQ9YSg5MDExMDgpLHR0PWEoOTg5ODcyKSxhdD1hKDkxMzg0Myk7Y29uc3Qgc3Q9bi50KG51bGwsdm9pZCAwLGEoMTA3ODcwKSksb3Q9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLHR0XSxbIm1lZGl1bSIsYXRdLFsibGFyZ2UiLGF0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksaXQ9bmV3IE1hcChbWyEwLF8udXBkYXRlQXZhaWxhYmxlXSxbITEsbnVsbF1dKSxydD1uZXcgTWFwKFtbITAsc3RdLFshMSxudWxsXV0pLG50PW5ldyBNYXAoW1shMCxzdF0sWyExLG51bGxdXSksbHQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbCkiXSxbITEsbnVsbF1dKTtjbGFzcyB1dCBleHRlbmRzIGguU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoe2ljb25NYXA6b3QsY2xhc3NOYW1lTWFwOml0LHRvb2x0aXBNYXA6cnQsdGl0bGVNYXA6bnQsdGl0bGVDb2xvck1hcDpsdCxzaXplOnR9KSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9wb3NzaWJsZVVwZGF0ZUluZm9ybWF0aW9uPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fbGFzdFVwZGF0ZUFib3J0Q29udHJvbGxlcj1udWxsLHRoaXMuX2VudGl0eUlkPW5ldyBzLldhdGNoZWRWYWx1ZShlLmVudGl0eUlkPy4oKSksdGhpcy51cGRhdGVTb3VyY2UoZSksdGhpcy5fYXZhaWxhYmxlRm9yVXBkYXRlPSgwLG8uY29tYmluZSkoKChlLHQsYSk9PndpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ0JiYhIWEmJiEhZSYmKDAsZXQudXBkYXRlc0luZm9TdXBwb3J0ZWQpKGUuc2NyaXB0SWRQYXJ0KCk/PyIiKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdmlzaWJsZS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi53ZWFrUmVmZXJlbmNlKCkpfWRlc3Ryb3koKXt0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGUuZGVzdHJveSgpLHRoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksc3VwZXIuZGVzdHJveSgpfWVudGl0eUlkKCl7cmV0dXJuIHRoaXMuX2VudGl0eUlkLnJlYWRvbmx5KCl9dmlzaWJsZSgpe3JldHVybiB0aGlzLl9hdmFpbGFibGVGb3JVcGRhdGV9dXBkYXRlU291cmNlKGUpe3RoaXMuX2VudGl0eUlkLnNldFZhbHVlKGUuZW50aXR5SWQ/LigpKTtjb25zdCB0PWUucGluZVNvdXJjZUNvZGVNb2RlbCgpO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7Y29uc3QgYT1uZXcgQWJvcnRDb250cm9sbGVyO3RoaXMuX2xhc3RVcGRhdGVBYm9ydENvbnRyb2xsZXI9YSx0LnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5zZXRWYWx1ZShlKSxlJiZlLnJlcXVlc3RVcGRhdGVJbmZvcm1hdGlvbigpLnRoZW4oKGU9PnthLnNpZ25hbC5hYm9ydGVkfHwodGhpcy5fcG9zc2libGVVcGRhdGVJbmZvcm1hdGlvbi5zZXRWYWx1ZShlKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSYmZS5jdXJyZW50VmVyc2lvbi5pc0xlc3MoZS5sYXN0VmVyc2lvbikpKX0pKSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2RhdGFRYUlkKCl7cmV0dXJuInNjcmlwdC11cGRhdGUtc3RhdHVzIn19dmFyIGN0PWEoOTc1MTk4KSxkdD1hKDEzODk5NCksaHQ9YSg3OTE0MjcpLHB0PWEoNjMzNjQ0KSxtdD1hKDc1NzkyMyk7ZnVuY3Rpb24gX3QoZSl7Y29uc3R7Y2xhc3NOYW1lOnQscGluZVNvdXJjZUNvZGVNb2RlbDpzLG1vZGVsOm8sb25DbG9zZTppfT1lLHI9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5zKSksbD0oMCxGZS51c2VQcm9taXNlKSgoKCk9PnI/ci5yZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKTpQcm9taXNlLnJlc29sdmUobnVsbCkpLCgoKT0+e30pLFtyXSksdT1yPy5zY3JpcHRJZFBhcnQoKSxjPXUmJmh0LlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KHUpLGQ9KDAsRmUudXNlUHJvbWlzZSkoKCgpPT5jJiZyPygwLHB0LnNob3dBYm91dFRoZVN0dWR5SGFuZGxlcikocikudGhlbigoZT0+KHtoYW5kbGVyOmV9KSkpOlByb21pc2UucmVzb2x2ZShudWxsKSksKCgpPT57fSksW3IsY10pLFtoLHBdPSgwLEkudXNlU3RhdGUpKCgoKT0+Ri5nZXRCb29sKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLCEwKSkpO3JldHVybigwLEkudXNlRWZmZWN0KSgoKCk9PntGLnNldFZhbHVlKCJjaGFydC51cGRhdGVJbmRpY2F0b3JzT25BbGxDaGFydHMiLGgpfSksW2hdKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5kZXNjcmlwdGlvbn0sbi50KG51bGwsdm9pZCAwLGEoNTMzNzk5KSksZCYmSS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOm10Lmxpbmssb25DbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksZD8uaGFuZGxlcj8uKCl9fSwiICIsbi50KG51bGwsdm9pZCAwLGEoMTgzMTMyKSkpKSxJLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptdC5tb2RlfSxJLmNyZWF0ZUVsZW1lbnQoY3QuQ2hlY2tib3gse2NoZWNrZWQ6aCxvbkNoYW5nZTooKT0+cCgoZT0+IWUpKSxsYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgzNDYzKSl9KSxJLmNyZWF0ZUVsZW1lbnQoZHQuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpuLnQobnVsbCx2b2lkIDAsYSgxOTQzMDQpKSx0b29sdGlwOm4udChudWxsLHZvaWQgMCxhKDE5NDMwNCkpfSkpLEkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm10LmFjdGlvbnN9LEkuY3JlYXRlRWxlbWVudChOZS5MaWdodEJ1dHRvbix7Y2xhc3NOYW1lOnQsc2l6ZToieHNtYWxsIixvbkNsaWNrOmZ1bmN0aW9uKCl7bCYmKHI/LnVwZGF0ZVRvVmVyc2lvbihvLGwubGFzdFZlcnNpb24saCksaSgpKX0sZGF0YVFhSWQ6InVwZGF0ZS10by1sYXRlc3QtdmVyc2lvbi1idXR0b24ifSxuLnQobnVsbCx2b2lkIDAsYSg1ODEzODgpKSkpKX1jbGFzcyBTdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3NvdXJjZT1lLHRoaXMuX21vZGVsPXR9ZGVzdHJveSgpe31yZW5kZXJlcihlLHQsYSl7cmV0dXJuKDAsSS5jcmVhdGVFbGVtZW50KShfdCx7a2V5OmUscGluZVNvdXJjZUNvZGVNb2RlbDp0aGlzLl9zb3VyY2UucGluZVNvdXJjZUNvZGVNb2RlbCgpLG1vZGVsOnRoaXMuX21vZGVsLGNsYXNzTmFtZTp0LG9uQ2xvc2U6YX0pfXVwZGF0ZVNvdXJjZShlKXt0aGlzLl9zb3VyY2U9ZX19dmFyIGZ0PWEoNTA1NTYpLHd0PWEoMjI2OTM3KSxidD1hKDk5OTMwMikKO2NvbnN0IGd0PW5ldyBNYXAoW1syLG5ldyBNYXAoW1sic21hbGwiLGJ0XSxbIm1lZGl1bSIsYnRdLFsibGFyZ2UiLGJ0XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIixidF0sWyJtZWRpdW0iLGJ0XSxbImxhcmdlIixidF1dKV0sWzMsbmV3IE1hcChbWyJzbWFsbCIsYnRdLFsibWVkaXVtIixidF0sWyJsYXJnZSIsYnRdXSldXSksdnQ9bmV3IE1hcChbWzIsXy5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcl0sWzEsXy5vcGVuZWRJblBpbmVFZGl0b3JdLFszLF8ub3BlbmVkSW5QaW5lRWRpdG9yXV0pLHl0PW5ldyBNYXAoW1syLFIub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRpdGxlXSxbMSxSLm9wZW5lZEluRWRpdG9yVGl0bGVdLFszLFIub3BlbmVkSW5Cb3R0b21QYW5lbFRpdGxlXV0pLE10PW5ldyBNYXAoW1syLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTU1MCIpXSxbMSwoMCxmdC5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWZvcmVzdC1ncmVlbi01MDAiKV0sWzMsKDAsZnQuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1mb3Jlc3QtZ3JlZW4tNTAwIildXSksSXQ9bmV3IE1hcChbWzIsW1Iub3BlbmVkSW5EZXRhY2hlZEVkaXRvclRleHRdXSxbMSxbUi5vcGVuZWRJbkVkaXRvclRleHRdXSxbMyxbUi5vcGVuZWRJbkJvdHRvbVBhbmVsVGV4dF1dXSk7Y2xhc3MgRXQgZXh0ZW5kcyBoLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe2NvbnN0IGE9KCk9PnRoaXMuX3Nob3dTb3VyY2VDb2RlKCkscz1uZXcgTWFwKFtbMix7dGV4dDpSLm9wZW5JbkVkaXRvckFjdGlvblRleHQsb25DbGljazphfV0sWzEse3RleHQ6Ui5vcGVuSW5FZGl0b3JBY3Rpb25UZXh0LG9uQ2xpY2s6YX1dLFszLHt0ZXh0OlIub3BlbkluRWRpdG9yQWN0aW9uVGV4dCxvbkNsaWNrOmF9XV0pO3N1cGVyKHtpY29uTWFwOmd0LGNsYXNzTmFtZU1hcDp2dCx0aXRsZU1hcDp5dCx0b29sdGlwTWFwOnl0LHRpdGxlQ29sb3JNYXA6TXQsaHRtbE1hcDpJdCxhY3Rpb25NYXA6cyxzaXplOnR9KSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1udWxsLHRoaXMuc2V0TW9kZWwoZSl9ZGVzdHJveSgpe3RoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXt0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXM/LmRlc3Ryb3koKSx0aGlzLl91cGRhdGVTdGF0dXMoMCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bmV3IHd0LkFzeW5jUmVzb3VyY2VXcmFwcGVyKGUpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9waW5lU291cmNlRWRpdG9yU3RhdHVzPWUucGluZVNvdXJjZUVkaXRvclN0YXR1cygpLnNwYXduKCksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0pKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4gMD09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl92aXNpYmxlLnNldFZhbHVlKDAhPT1lKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3Nob3dTb3VyY2VDb2RlKCl7dGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmNhbGxGdW5jdGlvbigoZT0+e2U/LnNob3dQaW5lU291cmNlQ29kZSgpfSkpfX12YXIgQ3Q9YSgzMTg5NzQpLFR0PWEoNDY1MTM0KSxrdD1hKDEwOTMyNSk7Y29uc3QgeHQ9TGUudChudWxsLHZvaWQgMCxhKDc1ODU0OSkpLER0PUxlLnQobnVsbCx2b2lkIDAsYSgzNDkzMzApKSxWdD1MZS50KG51bGwse2NvbnRleHQ6ImJ1dHRvbiB0aXRsZSJ9LGEoMzcxODE1KSksUHQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFR0XSxbIm1lZGl1bSIsa3RdLFsibGFyZ2UiLGt0XV0pXSxbITEsbmV3IE1hcChbWyJzbWFsbCIsIiJdLFsibWVkaXVtIiwiIl0sWyJsYXJnZSIsIiJdXSldXSksQXQ9bmV3IE1hcChbWyEwLF8uYWN0aXZlU3RyYXRlZ3ldLFshMSxudWxsXV0pLFJ0PW5ldyBNYXAoW1shMCx4dF0sWyExLG51bGxdXSksQnQ9bmV3IE1hcChbWyEwLCJ2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpIl0sWyExLG51bGxdXSksTnQ9bmV3IE1hcChbWyEwLFtEdF1dLFshMSxudWxsXV0pO2NsYXNzIEZ0IGV4dGVuZHMgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIodCx7aWNvbk1hcDpQdCxjbGFzc05hbWVNYXA6QXQsdGl0bGVNYXA6UnQsdG9vbHRpcE1hcDpSdCx0aXRsZUNvbG9yTWFwOkJ0LGh0bWxNYXA6TnQsc2l6ZTphfSksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U9bnVsbCx0aGlzLl9yZXNldFN0YXR1c0ZvcmNlPSgpPT57Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKT8/ITE7dGhpcy5fdmlzaWJsZS5zZXRWYWx1ZShlLCEwKSx0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSwhMCl9LHRoaXMudXBkYXRlU291cmNlKGUpfWRlc3Ryb3koKXt0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVTb3VyY2UoZSl7dGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nPy5kZXN0cm95KCksdGhpcy5fcGluZU1vZGVsUmVzb3VyY2U/LmRlc3Ryb3koKSx0aGlzLl9waW5lTW9kZWxSZXNvdXJjZT1uZXcgd3QuQXN5bmNSZXNvdXJjZVdyYXBwZXIoZS5waW5lU291cmNlQ29kZU1vZGVsKCkpLHRoaXMuX3BpbmVNb2RlbFJlc291cmNlLmNhbGxGdW5jdGlvbigoZT0+e2UmJih0aGlzLl9pc0FibGVTaG93QmFja3Rlc3Rpbmc9ZS5pc0FibGVTaG93U291cmNlQ29kZSgpLnNwYXduKCksdGhpcy5faXNBYmxlU2hvd0JhY2t0ZXN0aW5nLnN1YnNjcmliZSh0aGlzLl9yZXNldFN0YXR1c0ZvcmNlLHtjYWxsV2l0aExhc3Q6ITB9KSl9KSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldEFjdGlvbihlKXsKcmV0dXJuIGUmJnRoaXMuX2lzQWJsZVNob3dCYWNrdGVzdGluZz8udmFsdWUoKT97dGV4dDpWdCxvbkNsaWNrOigpPT50aGlzLl9waW5lTW9kZWxSZXNvdXJjZT8uY2FsbEZ1bmN0aW9uKChlPT57ZT8uc2hvd0JhY2t0ZXN0aW5nPy4oKX0pKX06bnVsbH19dmFyIFd0PWEoOTEyODE1KSxPdD1hKDczMDExMCk7Y29uc3QgSHQ9bi50KG51bGwsdm9pZCAwLGEoMjQ1ODcwKSksTHQ9bi50KG51bGwsdm9pZCAwLGEoOTMzMTg0KSksVXQ9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFd0XSxbIm1lZGl1bSIsT3RdLFsibGFyZ2UiLE90XV0pXV0pLEd0PW5ldyBNYXAoW1shMCxfLmFsZXJ0XV0pLHp0PW5ldyBNYXAoW1shMCxIdF1dKSxxdD1uZXcgTWFwKFtbITAsSHRdXSksJHQ9bmV3IE1hcChbWyEwLCgwLGZ0LmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAwIildXSksanQ9bmV3IE1hcChbWyEwLFtdXV0pO2NsYXNzIFF0IGV4dGVuZHMgaC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpVdCxjbGFzc05hbWVNYXA6R3QsdG9vbHRpcE1hcDpxdCx0aXRsZU1hcDp6dCx0aXRsZUNvbG9yTWFwOiR0LGh0bWxNYXA6anQsc2l6ZTp0fSksdGhpcy5fYWxlcnRzPW51bGwsdGhpcy5zZXRTb3VyY2UoZSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0cz8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRTb3VyY2UoZSl7dGhpcy5fYWxlcnRzPy5kZXN0cm95KCksdGhpcy5fYWxlcnRzPW51bGw7Y29uc3QgdD1lLmFsZXJ0U291cmNlTW9kZWwoKTt0aGlzLl9hbGVydHM9dD8uYWxlcnRzKCkuc3Bhd24oKT8/bnVsbCx0aGlzLl9hbGVydHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIWV9X2dldFRpdGxlKGUpe3JldHVybmAke0h0fSDCtyAke3RoaXMuX2FsZXJ0cz8udmFsdWUoKS5sZW5ndGh9YH1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5fZ2V0VGl0bGUoZSl9X2dldEhUTUwoZSl7Y29uc3QgdD10aGlzLl9hbGVydHM/LnZhbHVlKCk7aWYodm9pZCAwPT09dHx8MD09PXQubGVuZ3RoKXJldHVybltdO2NvbnN0IGE9dC5zbGljZSgwLDUpLm1hcCgoZT0+YDxkaXYgY2xhc3M9IiR7Xy5hbGVydEl0ZW19Ij4ke2UudGl0bGV9PC9kaXY+YCkpO3JldHVybltgPGRpdiBjbGFzcz0iJHtfLmFsZXJ0SXRlbXNDb250YWluZXJ9Ij4ke2Euam9pbigiIil9PC9kaXY+YF19X2dldEFjdGlvbihlKXtjb25zdCB0PXRoaXMuX2FsZXJ0cz8udmFsdWUoKTtpZih2b2lkIDA9PT10fHx0Lmxlbmd0aDw9NSlyZXR1cm4gbnVsbDtjb25zdCBhPXdpbmRvdy53aWRnZXRiYXI7cmV0dXJuIGEmJmEuaXNWaXNpYmxlKCk/e3RleHQ6THQsY2xhc3NOYW1lOl8uYWxlcnRBY3Rpb24sdG9vbHRpcDpMdCxvbkNsaWNrOigpPT5hLnNldFBhZ2UoImFsZXJ0cyIpfTpudWxsfV91cGRhdGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX2FsZXJ0cz8udmFsdWUoKSx0PWU/LmZpbHRlcigoZT0+ZS5jYW5EaXNwbGF5T25TdGF0dXNWaWV3KCkpKSxhPXZvaWQgMCE9PXQmJnQubGVuZ3RoPjA7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGEsITApfX12YXIgWHQ9YSgyMzIzNjEpLEt0PWEoNzgzOTc4KTtjbGFzcyBadCBleHRlbmRzIEt0LlN0YXR1c2VzV2lkZ2V0U3RhdGVCYXNle2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihhKSx0aGlzLmRhdGFTb3VyY2VFcnJvclN0YXR1c1Nob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5kYXRhVXBkYXRlZE1vZGVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tYXJrZXRTdGF0dXNDYW5CZVNob3duPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhVXBkYXRlZE1vZGVWaWV3TW9kZWw9bnVsbCx0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1udWxsLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZVZpZXdNb2RlbD1udWxsLHRoaXMuX2FsZXJ0U3RhdHVzVmlld01vZGVsPW51bGwsdGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW51bGwsdGhpcy5fYWN0aXZlU3RyYXRlZ3lTb3VyY2VWaWV3TW9kZWw9bnVsbCx0aGlzLl9jdXN0b21TdGF0dXNWaWV3TW9kZWw9bnVsbCx0aGlzLl9zZXNzaW9uV2lkZ2V0PW51bGwsdGhpcy5fZXJyb3JXaWRnZXQ9bnVsbCx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bnVsbCx0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlPW51bGwsdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT1udWxsLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bj1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd249bmV3IHMuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9bnVsbCx0aGlzLl91cGRhdGVWaXNpYmlsaXR5PSgpPT57Y29uc3QgZT10aGlzLnZpc2libGVNb2RlbHMoKS52YWx1ZSgpLmxlbmd0aD4wO3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSl9LHRoaXMuX3NvdXJjZT1lLHRoaXMuX3N5bWJvbD1lLnN5bWJvbCgpPy5zcGF3bigpPz9udWxsLHRoaXMuX29wdGlvbnM9YSx0aGlzLl91bmRvTW9kZWw9dCx0aGlzLl9zdGF0dXNQcm92aWRlckhpZGRlbj0oMCxvLmNvbWJpbmUpKChlPT4odGhpcy5fZm9yY2VIaWRlVmlzaWJpbGl0eU1vZGVscy5zZXRWYWx1ZShlKSxlKSksZS5oaWRkZW4oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2NyZWF0ZVN0YXR1c2VzV2lkZ2V0U3RhdGVzKCksCnRoaXMuX2FkZFN1YnNjcmlwdGlvbkZvclN5bWJvbEludmFsaWQoKSxudWxsIT09dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZSYmKHRoaXMuX2RhdGFTb3VyY2VIYXNFcnJvclZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMuYmluZCh0aGlzKSksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRXJyb3JXaWRnZXRJc1Nob3duLmJpbmQodGhpcykpKSxudWxsIT09dGhpcy5fZGF0YVVwZGF0ZWRBdmFpbGFibGVWaXNpYmxlJiZ0aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGUuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZURhdGFVcGRhdGVkV2lkZ2V0SXNTaG93bi5iaW5kKHRoaXMpKSx0aGlzLl9vcHRpb25zLmRhdGFQcm9ibGVtRW5hYmxlZCYmbnVsbCE9PXRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbCYmdGhpcy5faXNEYXRhUHJvYmxlbUNyaXRpY2FsLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzLmJpbmQodGhpcykpLHRoaXMuX3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpLHRoaXMuX3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCksdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfWRlc3Ryb3koKXt0aGlzLl92aXNpYmlsaXR5LnVuc3Vic2NyaWJlKCksdGhpcy5fc3ltYm9sPy5kZXN0cm95KCksdGhpcy5fc3RhdHVzUHJvdmlkZXJIaWRkZW4uZGVzdHJveSgpLHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8uZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpe2NvbnN0IGU9dGhpcy5faXNGb3JjZVN0YXR1c0FjdGl2ZSgpO3RoaXMuX2RhdGFTb3VyY2VFcnJvckNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3VwZGF0ZUF2YWlsYWJsZUNhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RhdGFQcm9ibGVtQ2FuQmVTaG93bi5zZXRWYWx1ZSghdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKSl9X2lzUHJpbWFyeVdpZGdldFNob3duKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKT8udmFsdWUoKT8/ITF9X2lzRm9yY2VTdGF0dXNBY3RpdmUoKXtyZXR1cm4gdGhpcy5faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXx8KHRoaXMuX2lzRGF0YVByb2JsZW1Dcml0aWNhbD8udmFsdWUoKT8/ITEpfV9jcmVhdGVTdGF0dXNlc1dpZGdldFN0YXRlcygpe3RoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVTeW1ib2xJbnZhbGlkU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5tYXJrZXRTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVNYXJrZXRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLmRhdGFVcGRhdGVNb2RlRW5hYmxlZCYmdGhpcy5fY3JlYXRlRGF0YVVwZGF0ZWRNb2RlU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5kYXRhUHJvYmxlbUVuYWJsZWQmJnRoaXMuX2NyZWF0ZURhdGFQcm9ibGVtU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUVycm9yU3RhdHVzKCksdGhpcy5fb3B0aW9ucy5waW5lU291cmNlU3RhdHVzRW5hYmxlZCYmdGhpcy5fY3JlYXRlU2NyaXB0VXBkYXRlKCksdGhpcy5fb3B0aW9ucy5hbGVydFN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKSx0aGlzLl9vcHRpb25zLnBpbmVTb3VyY2VTdGF0dXNFbmFibGVkJiZ0aGlzLl9jcmVhdGVBY3RpdmVTdHJhdGVneVN0YXR1cygpLHRoaXMuX29wdGlvbnMucGluZVNvdXJjZVN0YXR1c0VuYWJsZWQmJnRoaXMuX2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKSx0aGlzLl9jcmVhdGVDdXN0b21NYXJrZXRTdGF0dXMoKX1fY3JlYXRlU3ltYm9sSW52YWxpZFN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpO251bGwhPT1lJiYodGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbD1uZXcgaGUuQm9vbGVhblN0YXR1c1ZpZXdNb2RlbChlLHt0b29sdGlwTWFwOmJlLGljb25NYXA6ZmUsY2xhc3NOYW1lTWFwOndlLHRpdGxlTWFwOmdlLHRpdGxlQ29sb3JNYXA6dmUsaHRtbE1hcDp5ZSxhY3Rpb25NYXA6TWUsc2l6ZTp0aGlzLl9zaXplfSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX3N5bWJvbEludmFsaWRWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6dGhpcy5fc3ltYm9sSW52YWxpZFZpZXdNb2RlbH0pKX1fY3JlYXRlTWFya2V0U3RhdHVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKTt0aGlzLl9tYXJrZXRTdGF0dXNWaWV3TW9kZWw9bmV3IFh0Lk1hcmtldFN0YXR1c1ZpZXdNb2RlbChlLHRoaXMuX3NpemUpO2NvbnN0IHQ9e3Zpc2libGU6KDAsby5jb21iaW5lKSgoKGUsdCxhKT0+ZSYmdCYmISgwLGkuaXNFY29ub21pY1N5bWJvbCkoYSkmJiEoMCxpLmlzU3ByZWFkU3ltYm9sV2l0aE1hbnlMZWdzKShhKSksdGhpcy5fbWFya2V0U3RhdHVzQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbWFya2V0U3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLG1vZGVsOnRoaXMuX21hcmtldFN0YXR1c1ZpZXdNb2RlbH07bnVsbCE9PWUmJih0aGlzLl9zZXNzaW9uV2lkZ2V0PW5ldyByLkZ1bGxTZXNzaW9uU2NoZWR1bGVXaWRnZXQodGhpcy5fc291cmNlKSx0LmFkZGl0aW9uYWxXaWRnZXRzPVt0aGlzLl9zZXNzaW9uV2lkZ2V0XSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVEYXRhVXBkYXRlZE1vZGVTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5kYXRhVXBkYXRlZE1vZGVNb2RlbCgpLHQ9ey4uLnRoaXMuX29wdGlvbnMuZGF0YVVwZGF0ZU1vZGUsCm1hcmtldFN0YXR1czp0aGlzLl9zb3VyY2UubWFya2V0U3RhdHVzTW9kZWwoKT8uc3RhdHVzKCkuc3Bhd25Pd25lcnNoaXAoKX07dGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsPW5ldyBpZShlLHRoaXMuX3NpemUsdCk7Y29uc3QgYT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhKDAsaS5pc0Vjb25vbWljU3ltYm9sKShhKSksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVVwZGF0ZWRNb2RlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnRoaXMuX2RhdGFVcGRhdGVkTW9kZVZpZXdNb2RlbH0pfV9jcmVhdGVEYXRhUHJvYmxlbVN0YXR1cygpe2NvbnN0IGU9dGhpcy5fc291cmNlLmRhdGFQcm9ibGVtTW9kZWwoKTt0aGlzLl9kYXRhUHJvYmxlbVZpZXdNb2RlbD1uZXcgZGUoZSx0aGlzLl9zaXplKSx0aGlzLl9pc0RhdGFQcm9ibGVtQ3JpdGljYWw9dGhpcy5fZGF0YVByb2JsZW1WaWV3TW9kZWwuaXNEYXRhUHJvYmxlbUNyaXRpY2FsKCkuc3Bhd24oKTtjb25zdCB0PSgwLG8uY29tYmluZSkoKChlLHQpPT5lJiZ0KSx0aGlzLl9kYXRhUHJvYmxlbUNhbkJlU2hvd24ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2RhdGFQcm9ibGVtVmlld01vZGVsfSl9X2NyZWF0ZVNjcmlwdFVwZGF0ZSgpe3RoaXMuX3VuZG9Nb2RlbC5tb2RlbCgpLmlzU25hcHNob3QoKXx8dGhpcy5fdW5kb01vZGVsLm1vZGVsKCkucmVhZE9ubHkoKXx8KDAsQ3Qub25XaWRnZXQpKCl8fCgwLEVlLmlzRmVhdHVyZUVuYWJsZWQpKCJkaXNhYmxlX3VwZGF0ZV9hdmFpbGFiaWxpdHlfc3RhdHVzIil8fCh0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWw9bmV3IHV0KHRoaXMuX3NvdXJjZSx0aGlzLl9zaXplKSx0aGlzLl91cGRhdGVBdmFpbGFibGVXaWRnZXQ9bmV3IFN0KHRoaXMuX3NvdXJjZSx0aGlzLl91bmRvTW9kZWwpLHRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fdXBkYXRlQXZhaWxhYmxlQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOnRoaXMuX2RhdGFVcGRhdGVkQXZhaWxhYmxlVmlzaWJsZSxtb2RlbDp0aGlzLl91cGRhdGVBdmFpbGFibGVWaWV3TW9kZWwsYWRkaXRpb25hbFdpZGdldHM6W3RoaXMuX3VwZGF0ZUF2YWlsYWJsZVdpZGdldF0scHJlbGltaW5hcnlKb2I6dGhpcy5fc291cmNlLnBpbmVTb3VyY2VDb2RlTW9kZWwoKS50aGVuKChlPT5lP1Byb21pc2UuYWxsKFtlLnJlcXVlc3RTY3JpcHRJbmZvKCksKDAscHQuc2hvd0Fib3V0VGhlU3R1ZHlIYW5kbGVyKShlKV0pOlByb21pc2UucmVzb2x2ZSgpKSksZGF0YVFhSWQ6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMtaWNvbi11cGRhdGUiLGljb25EYXRhc2V0RW50aXR5SWQ6dGhpcy5fdXBkYXRlQXZhaWxhYmxlVmlld01vZGVsLmVudGl0eUlkKCl9KSl9X2NyZWF0ZUFsZXJ0QWxlcnRTdGF0dXMoKXt0aGlzLl9hbGVydFN0YXR1c1ZpZXdNb2RlbD1uZXcgUXQodGhpcy5fc291cmNlLHRoaXMuX3NpemUpO2NvbnN0IGU9dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWwudmlzaWJsZSgpLnNwYXduKCk7dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHt2aXNpYmxlOmUsbW9kZWw6dGhpcy5fYWxlcnRTdGF0dXNWaWV3TW9kZWx9KX1fY3JlYXRlRXJyb3JTdGF0dXMoKXt0aGlzLl9kYXRhU291cmNlRXJyb3JTdGF0dXNWaWV3TW9kZWw9bmV3IHkodGhpcy5fc291cmNlLHRoaXMuX3NpemUsdGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlcyksdGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT0oMCxvLmNvbWJpbmUpKCgoZSx0LGEpPT5lJiZ0JiYhYSksdGhpcy5fZGF0YVNvdXJjZUVycm9yQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fZGF0YVNvdXJjZUVycm9yU3RhdHVzVmlld01vZGVsLnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLmhpZGRlbigpLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgZT1bXTt0aGlzLl9lcnJvcldpZGdldD1uZXcgWWUodGhpcy5fc291cmNlKSxlLnB1c2godGhpcy5fZXJyb3JXaWRnZXQpLHRoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0aGlzLl9kYXRhU291cmNlSGFzRXJyb3JWaXNpYmxlLG1vZGVsOnRoaXMuX2RhdGFTb3VyY2VFcnJvclN0YXR1c1ZpZXdNb2RlbCxhZGRpdGlvbmFsV2lkZ2V0czplfSl9X2NyZWF0ZUFjdGl2ZVN0cmF0ZWd5U3RhdHVzKCl7Y29uc3QgZT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSYmdGhpcy5fc291cmNlLmVudGl0eUlkPy4oKT09PWUuaWQoKSksdGhpcy5fdW5kb01vZGVsLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsPW5ldyBGdCh0aGlzLl9zb3VyY2UsZSx0aGlzLl9zaXplKTtjb25zdCB0PXRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsLnZpc2libGUoKS5zcGF3bigpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTp0LG1vZGVsOnRoaXMuX2FjdGl2ZVN0cmF0ZWd5U291cmNlVmlld01vZGVsfSl9X2NyZWF0ZVBpbmVFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3NvdXJjZS5waW5lU291cmNlQ29kZU1vZGVsKCk7dGhpcy5fcGluZUVkaXRvclN0YXRlVmlld01vZGVsPW5ldyBFdChlLHRoaXMuX3NpemUpCjtjb25zdCB0PXRoaXMuX3BpbmVFZGl0b3JTdGF0ZVZpZXdNb2RlbC52aXNpYmxlKCkuc3Bhd24oKTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3Moe3Zpc2libGU6dCxtb2RlbDp0aGlzLl9waW5lRWRpdG9yU3RhdGVWaWV3TW9kZWx9KX1fY3JlYXRlQ3VzdG9tTWFya2V0U3RhdHVzKCl7fV9hZGRTdWJzY3JpcHRpb25Gb3JTeW1ib2xJbnZhbGlkKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJm51bGwhPT1lJiYoZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpKSxlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJc1N5bWJvbEludmFsaWRTdGF0dXNTaG93bi5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSl9X3VwZGF0ZUVycm9yV2lkZ2V0SXNTaG93bigpe2NvbnN0IGU9dGhpcy5fZGF0YVNvdXJjZUhhc0Vycm9yVmlzaWJsZT8udmFsdWUoKT8/ITE7dGhpcy5kYXRhU291cmNlRXJyb3JTdGF0dXNTaG93bi5zZXRWYWx1ZShlKX1fdXBkYXRlRGF0YVVwZGF0ZWRXaWRnZXRJc1Nob3duKCl7Y29uc3QgZT10aGlzLl9kYXRhVXBkYXRlZEF2YWlsYWJsZVZpc2libGU/LnZhbHVlKCk/PyExO3RoaXMuZGF0YVVwZGF0ZWRNb2RlU2hvd24uc2V0VmFsdWUoZSl9X3VwZGF0ZUlzU3ltYm9sSW52YWxpZFN0YXR1c1Nob3duKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UuaXNTeW1ib2xJbnZhbGlkKCk/LnZhbHVlKCk/PyExO3RoaXMuaXNTeW1ib2xJbnZhbGlkU3RhdHVzU2hvd24uc2V0VmFsdWUoZSl9fX0sNzk0OTUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7TWFpbkRhdGFTb3VyY2VTdGF0dXNlc1dpZGdldFN0YXRlOigpPT5IZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMjMyMzY0KSxpPWEoOTUyOTAwKSxyPWEoMTU2ODI5KSxuPWEoMTg1MjcxKSxsPWEoNTY1MjA2KSx1PWEoNzczNDY2KSxjPWEoODYwNTQ4KTtjb25zdCBkPW4udChudWxsLHZvaWQgMCxhKDQzNTApKSxoPW4udChudWxsLHZvaWQgMCxhKDI4MTQ1MykpLHA9bi50KG51bGwsdm9pZCAwLGEoODgyODM5KSksbT1uLnQobnVsbCx2b2lkIDAsYSg3NjM0NTEpKSxfPW5ldyBNYXAoW1szLG5ldyBNYXAoW1sic21hbGwiLHVdLFsibWVkaXVtIix1XSxbImxhcmdlIix1XV0pXSxbMSxuZXcgTWFwKFtbInNtYWxsIix1XSxbIm1lZGl1bSIsdV0sWyJsYXJnZSIsdV1dKV0sWzIsbmV3IE1hcChbWyJzbWFsbCIsdV0sWyJtZWRpdW0iLHVdLFsibGFyZ2UiLHVdXSldXSksUz1uZXcgTWFwKFtbMixjLnJlcGxheU1vZGVBdXRvUGxheV0sWzMsYy5yZXBsYXlNb2RlUGF1c2VdLFsxLGMucmVwbGF5TW9kZVBvaW50U2VsZWN0XV0pLGY9bmV3IE1hcChbWzIsaF0sWzMsaF0sWzEsaF1dKSx3PW5ldyBNYXAoW1syLGhdLFszLGhdLFsxLGRdXSksYj1uZXcgTWFwKFtbMiwidmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KSJdLFszLCJ2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQpIl0sWzEsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCkiXV0pLGc9bmV3IE1hcChbWzIsW21dXSxbMyxbbV1dLFsxLFtwXV1dKTtjbGFzcyB2IGV4dGVuZHMgbC5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih7aWNvbk1hcDpfLGNsYXNzTmFtZU1hcDpTLHRvb2x0aXBNYXA6dyx0aXRsZU1hcDpmLHRpdGxlQ29sb3JNYXA6YixodG1sTWFwOmcsc2l6ZTp0fSksdGhpcy5fcmVwbGF5U3RhdHVzPWUsdGhpcy5fcmVwbGF5U3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX3JlcGxheVN0YXR1cy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXMoZSl7dGhpcy5fc3RhdHVzLnNldFZhbHVlKDAhPT1lP2U6bnVsbCksdGhpcy5pc0JsaW5raW5nTW9kZS5zZXRWYWx1ZSgyPT09ZSl9fXZhciB5OyFmdW5jdGlvbihlKXtlLlN0b2NrPSJIYWxhbFN0b2NrIixlLkJvbmQ9IkhhbGFsQm9uZCJ9KHl8fCh5PXt9KSk7dmFyIE09YSg5MjY5OTUpLEk9YSg3NzY1NzYpLEU9YSgxOTM1MDgpLEM9YSgxMDgxODIpLFQ9YSgzNDAxNTgpO2NsYXNzIGsgZXh0ZW5kcyBsLlN0YXR1c1ZpZXdNb2RlbHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKHQpLHRoaXMuX3NpbXBsZVN0YXR1cz1lLHRoaXMuX3NpbXBsZVN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9zaW1wbGVTdGF0dXMucmVsZWFzZSgpLHN1cGVyLmRlc3Ryb3koKX1fdXBkYXRlU3RhdHVzKGUpe3RoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX19dmFyIHg9YSgxNTIwNjkpO2NvbnN0IEQ9bmV3IE1hcChbW3kuQm9uZCxFLmhhbGFsVGl0bGVdLFt5LlN0b2NrLEUuaGFsYWxUaXRsZV1dKSxWPW5ldyBNYXAoW1t5LkJvbmQsQy5jb2xvckhhbGFsTW9kZV0sW3kuU3RvY2ssQy5jb2xvckhhbGFsTW9kZV1dKSxQPW5ldyBNYXAoW1t5LkJvbmQsbmV3IE1hcChbWyJzbWFsbCIsVF0sWyJtZWRpdW0iLFRdXSldLFt5LlN0b2NrLG5ldyBNYXAoW1sic21hbGwiLFRdLFsibWVkaXVtIixUXV0pXV0pLEE9bmV3IE1hcChbW3kuQm9uZCx4LmhhbGFsU3RhdHVzXSxbeS5TdG9jayx4LmhhbGFsU3RhdHVzXV0pLFI9bmV3IE1hcChbW3kuQm9uZCxbRS5oYWxhbEJvbmRIdG1sXV0sW3kuU3RvY2ssW0UuaGFsYWxIdG1sXV1dKSxCPW5ldyBNYXAoW1t5LkJvbmQse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV0sW3kuU3RvY2sse3RleHQ6bi50KG51bGwsdm9pZCAwLGEoMzI1MTU1KSksb25DbGljazooKT0+KDAsTS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6SS5IQUxBTF9TT0xVVElPTl9JRH0pfV1dKTtjbGFzcyBOIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUse2ljb25NYXA6UCwKdG9vbHRpcE1hcDpELHRpdGxlTWFwOkQsdGl0bGVDb2xvck1hcDpWLHNpemU6dCxjbGFzc05hbWVNYXA6QSxodG1sTWFwOlIsYWN0aW9uTWFwOkJ9KX19dmFyIEY9YSgzMTExMTUpLFc9YSg3ODc2MjYpLE89YSg1NzE0NjQpO2NvbnN0IEg9bmV3IE1hcChbWyEwLEUudHZDYWxjdWxhdGVkUGFpclRvb2x0aXBdXSksTD1uZXcgTWFwKFtbITAsQy5jb2xvclRWQ2FsY3VsYXRlZFBhaXJNb2RlXV0pLFU9bmV3IE1hcChbWyJzbWFsbCIsRl0sWyJtZWRpdW0iLFddLFsibGFyZ2UiLFddXSksRz1uZXcgTWFwKFtbITAsVV1dKSx6PW5ldyBNYXAoW1shMCxPLnR2Q2FsY3VsYXRlZFBhaXJdXSkscT1uZXcgTWFwKFtbITAsW0UudHZDYWxjdWxhdGVkUGFpckh0bWxdXV0pLCQ9bmV3IE1hcChbWyEwLHt0ZXh0Om4udChudWxsLHZvaWQgMCxhKDMyNTE1NSkpLG9uQ2xpY2s6KCk9PigwLE0uc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOkkuVFZfQ0FMQ1VMQVRFRF9QQUlSX1NPTFVUSU9OX0lEfSl9XV0pO2NsYXNzIGogZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpHLHRvb2x0aXBNYXA6SCx0aXRsZU1hcDpILHRpdGxlQ29sb3JNYXA6TCxzaXplOnQsY2xhc3NOYW1lTWFwOnosaHRtbE1hcDpxLGFjdGlvbk1hcDokfSl9fXZhciBRPWEoNjQyNzgzKSxYPWEoMzUxMTgyKSxLPWEoOTI0MDIwKTtjb25zdCBaPW5ldyBNYXAoW1shMCxFLkhLRVhEYXRhVGl0bGVdXSksSj1uZXcgTWFwKFtbITAsInZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCkiXV0pLFk9bmV3IE1hcChbWyJzbWFsbCIsUV0sWyJtZWRpdW0iLFhdLFsibGFyZ2UiLFhdXSksZWU9bmV3IE1hcChbWyEwLFldXSksdGU9bmV3IE1hcChbWyEwLEsuaGtleENvbW1lbnRdXSksYWU9bmV3IE1hcChbWyEwLFtFLkhLRVhEYXRhQ29tbWVudF1dXSk7Y2xhc3Mgc2UgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDplZSx0b29sdGlwTWFwOlosdGl0bGVNYXA6Wix0aXRsZUNvbG9yTWFwOkosc2l6ZTp0LGNsYXNzTmFtZU1hcDp0ZSxodG1sTWFwOmFlfSl9fXZhciBvZT1hKDU5ODI1NyksaWU9YSg1NzUxNDgpLHJlPWEoNjg1OTI2KTtjb25zdCBuZT1uZXcgTWFwKFtbITAsRS5kZWZhdWx0ZWRUaXRsZV1dKSxsZT1uZXcgTWFwKFtbITAsQy5jb2xvckRlZmF1bHRlZF1dKSx1ZT1uZXcgTWFwKFtbInNtYWxsIixvZV0sWyJtZWRpdW0iLGllXSxbImxhcmdlIixpZV1dKSxjZT1uZXcgTWFwKFtbITAsdWVdXSksZGU9bmV3IE1hcChbWyEwLHJlLmRlZmF1bHRlZFN0YXR1c11dKSxoZT1uZXcgTWFwKFtbITAsW0UuZGVmYXVsdGVkSHRtbF1dXSk7Y2xhc3MgcGUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpjZSx0b29sdGlwTWFwOm5lLHRpdGxlTWFwOm5lLHRpdGxlQ29sb3JNYXA6bGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpkZSxodG1sTWFwOmhlfSl9fXZhciBtZT1hKDUwNTU2KSxfZT1hKDIyNjkzNyksU2U9YSg5MTM2MTApLGZlPWEoMjg0NDY3KTtjb25zdCB3ZT0oMCxtZS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXNreS1ibHVlLWE3MDAiKSxiZT1uZXcgTWFwKFtbITEsRS5sZXRJdFNub3dUaXRsZV0sWyEwLEUubGV0SXRTbm93VGl0bGVdXSksZ2U9bmV3IE1hcChbWyExLHdlXSxbITAsd2VdXSksdmU9bmV3IE1hcChbWyEwLG5ldyBNYXAoW1sic21hbGwiLFNlXSxbIm1lZGl1bSIsU2VdXSldXSkseWU9bmV3IE1hcChbWyExLGZlLmxldEl0U25vd1N0YXR1c10sWyEwLGZlLmxldEl0U25vd1N0YXR1c11dKSxNZT1uZXcgTWFwKFtbITEsW0UubGV0SXRTbm93SHRtbF1dLFshMCxbRS5sZXRJdFNub3dIdG1sXV1dKSxJZT1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2xldCBFZT1udWxsO0llLnN1YnNjcmliZSgoZT0+e251bGw9PT1FZSYmKEVlPW5ldyBfZS5Bc3luY1Jlc291cmNlV3JhcHBlcihhLmUoMzM0MTApLnRoZW4oYS5iaW5kKGEsMzM4Njc0KSkpKSxFZS5jYWxsRnVuY3Rpb24oKHQ9Pnt0LnNub3coZSl9KSl9KSk7Y29uc3QgQ2U9bmV3IFNldChbImVuIiwidWsiLCJkZV9ERSIsImZyIiwiZXMiLCJpdCIsInBsIiwiamEiLCJjYSIsInJ1Il0pO2NsYXNzIFRlIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlKXtzdXBlcihJZS5zcGF3bigpLm93bmVyc2hpcCgpLHtpY29uTWFwOnZlLHRvb2x0aXBNYXA6YmUsdGl0bGVNYXA6YmUsdGl0bGVDb2xvck1hcDpnZSxzaXplOmUsY2xhc3NOYW1lTWFwOnllLGh0bWxNYXA6TWUsYWN0aW9uTWFwOm5ldyBNYXAoW1shMSx7dGV4dDpFLmxldEl0U25vd1N0YXJ0LG9uQ2xpY2s6KCk9PkllLnNldFZhbHVlKCEwKX1dLFshMCx7dGV4dDpFLmxldEl0U25vd1N0b3Asb25DbGljazooKT0+SWUuc2V0VmFsdWUoITEpfV1dKX0pfWFzeW5jIF91cGRhdGVGdWxsVG9vbHRpcCgpe2F3YWl0IHN1cGVyLl91cGRhdGVGdWxsVG9vbHRpcCgpO2NvbnN0IGU9dGhpcy5fZnVsbFRvb2x0aXAudmFsdWUoKTtudWxsIT09ZSYmdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUoW3suLi5lWzBdLGljb246U2V9XSl9fXZhciBrZT1hKDkwODQwMCkseGU9YSgxOTI3NTUpLERlPWEoNDQ1MSk7Y29uc3QgVmU9bmV3IE1hcChbWyEwLEUudXBjb21pbmdJcG9UaXRsZV1dKSxQZT1uZXcgTWFwKFtbITAsQy5jb2xvclVwY29taW5nSXBvXV0pLEFlPW5ldyBNYXAoW1sic21hbGwiLGtlXSxbIm1lZGl1bSIseGVdLFsibGFyZ2UiLHhlXV0pLFJlPW5ldyBNYXAoW1shMCxBZV1dKSxCZT1uZXcgTWFwKFtbITAsRGUudXBjb21pbmdJcG9TdGF0dXNdXSksTmU9bmV3IE1hcChbWyEwLFtFLnVwY29taW5nSXBvSHRtbF1dXSk7Y2xhc3MgRmUgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx7aWNvbk1hcDpSZSx0b29sdGlwTWFwOlZlLHRpdGxlTWFwOlZlLHRpdGxlQ29sb3JNYXA6UGUsc2l6ZTp0LGNsYXNzTmFtZU1hcDpCZSxodG1sTWFwOk5lfSl9fXZhciBXZT1hKDU2OTM5OCksT2U9YSg0NDE0NDApO2NsYXNzIEhlIGV4dGVuZHMgT2UuRGF0YVNvdXJjZVN0YXR1c2VzV2lkZ2V0U3RhdGV7Y29uc3RydWN0b3IoZSx0LGEpe3N1cGVyKGUsdCxhKSwKdGhpcy5faXNJblJlcGxheT1uZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkuc3Bhd24oKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlPW5ldyBvLldhdGNoZWRWYWx1ZSghMSkucmVhZG9ubHkoKS5zcGF3bigpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duPW51bGwsdGhpcy5faW5pdGVkPSExLHRoaXMuX2hhbGFsQ2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5faGtleENvbW1lbnRDYW5CZVNob3duPW5ldyBvLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVmYXVsdGVkQm9uZENhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd249bmV3IG8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQ9dGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcy5iaW5kKHRoaXMpO2NvbnN0IHM9dC5tb2RlbCgpO2lmKHRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXt0aGlzLl9jcmVhdGVIYWxhbFN0YXR1cygpLHRoaXMuX2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKSx0aGlzLl9jcmVhdGVIS0VYQ29tbWVudFN0YXR1cygpLHRoaXMuX2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKSx0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1N0YXR1cygpLHRoaXMuX2NyZWF0ZUxldEl0U25vd1N0YXR1cygpLHRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmU9dGhpcy5fY3JlYXRlSXNVcGNvbWluZ0lwb0FjdGl2ZSgpO3t0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bj1uZXcgby5XYXRjaGVkVmFsdWUoITEpO2NvbnN0IGU9KDAsaS5jb21iaW5lKSgoKGUsdCk9PnR8fDE9PT1lfHw0PT09ZT9lOjApLHMucmVwbGF5U3RhdHVzKCkud2Vha1JlZmVyZW5jZSgpLHMubWFpblNlcmllcygpLmlzSW5SZXBsYXkoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2lzSW5SZXBsYXk9KDAsaS5jb21iaW5lKSgoZT0+MCE9PWUmJjQhPT1lKSxlLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgdD1uZXcgdihlLm93bmVyc2hpcCgpLHRoaXMuX3NpemUpLGE9KDAsaS5jb21iaW5lKSgoKGUsdCk9PmUmJnQpLHRoaXMuX2lzSW5SZXBsYXlDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSx0LnZpc2libGUoKS53ZWFrUmVmZXJlbmNlKCkpO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh7dmlzaWJsZTphLG1vZGVsOnR9KSxhLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzQm91bmQpLHRoaXMuX2lzSW5SZXBsYXkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXNCb3VuZCx7Y2FsbFdpdGhMYXN0OiEwfSl9dGhpcy5faXNVcGNvbWluZ0lwb0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllc0JvdW5kLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9pbml0ZWQ9ITAsdGhpcy5fdXBkYXRlU3RhdHVzV2lkZ2V0c1Zpc2liaWxpdGllcygpfX1kZXN0cm95KCl7dGhpcy5fb3B0aW9ucy5zb3VyY2VTdGF0dXNlc0VuYWJsZWQmJih0aGlzLl9pc0luUmVwbGF5LmRlc3Ryb3koKSx0aGlzLl9pc1VwY29taW5nSXBvQWN0aXZlLmRlc3Ryb3koKSksc3VwZXIuZGVzdHJveSgpfV91cGRhdGVTdGF0dXNXaWRnZXRzVmlzaWJpbGl0aWVzKCl7aWYoc3VwZXIuX3VwZGF0ZVN0YXR1c1dpZGdldHNWaXNpYmlsaXRpZXMoKSx0aGlzLl9pbml0ZWQmJnRoaXMuX29wdGlvbnMuc291cmNlU3RhdHVzZXNFbmFibGVkKXtjb25zdCBlPXRoaXMuX2lzRm9yY2VTdGF0dXNBY3RpdmUoKSx0PXRoaXMuX2lzVXBjb21pbmdJcG9BY3RpdmUudmFsdWUoKTt0aGlzLl9oYWxhbENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl9oa2V4Q29tbWVudENhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX2RlZmF1bHRlZEJvbmRDYW5CZVNob3duLnNldFZhbHVlKCFlKSx0aGlzLl91cGNvbWluZ0lwb0NhbkJlU2hvd24uc2V0VmFsdWUoIWUpLHRoaXMuX21hcmtldFN0YXR1c0NhbkJlU2hvd24uc2V0VmFsdWUoIWUmJiF0KSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVDYW5CZVNob3duLnNldFZhbHVlKCFlJiYhdCksKDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc0luUmVwbGF5Q2FuQmVTaG93bikuc2V0VmFsdWUoIXN1cGVyLl9pc1ByaW1hcnlXaWRnZXRTaG93bigpJiZ0aGlzLl9pc0luUmVwbGF5LnZhbHVlKCkpfX1faXNQcmltYXJ5V2lkZ2V0U2hvd24oKXtyZXR1cm4gc3VwZXIuX2lzUHJpbWFyeVdpZGdldFNob3duKCl8fHRoaXMuX2luaXRlZCYmdGhpcy5faXNJblJlcGxheS52YWx1ZSgpfV9jcmVhdGVIYWxhbFN0YXR1cygpe2NvbnN0IGU9bmV3IE4odGhpcy5fY3JlYXRlSGFsYWxUeXBlUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZURlZmF1bHRlZEJvbmRTdGF0dXMoKXtjb25zdCBlPW5ldyBwZSh0aGlzLl9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpLHRoaXMuX3NpemUpLHQ9e3Zpc2libGU6ZS52aXNpYmxlKCkuc3Bhd24oKSxtb2RlbDplfTt0aGlzLl9hZGRTdGF0dXNWaWV3TW9kZWxzSW5mb3ModCl9X2NyZWF0ZVRWQ2FsY3VsYXRlZFBhaXJTdGF0dXMoKXtjb25zdCBlPW5ldyBqKHRoaXMuX2NyZWF0ZVR2Q2FsY3VsYXRlZFBhaXJSZWxlYXNhYmxlKCksdGhpcy5fc2l6ZSksdD17dmlzaWJsZTplLnZpc2libGUoKS5zcGF3bigpLG1vZGVsOmV9O3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlSEtFWENvbW1lbnRTdGF0dXMoKXtjb25zdCBlPW5ldyBzZSh0aGlzLl9jcmVhdGVIa2V4Q29tbWVudFJlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX0KO3RoaXMuX2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyh0KX1fY3JlYXRlVXBjb21pbmdJcG9TdGF0dXMoKXtjb25zdCBlPW5ldyBGZSh0aGlzLl9jcmVhdGVVcGNvbWluZ0lwb1JlbGVhc2FibGUoKSx0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVMZXRJdFNub3dTdGF0dXMoKXtpZighQ2UuaGFzKHdpbmRvdy5sb2NhbGUpfHwhKDAsV2UuaXNGZWF0dXJlRW5hYmxlZCkoInNwZWNpYWxfY2hhcnRfc2VyaWVzX3N0YXR1cyIpKXJldHVybjtjb25zdCBlPW5ldyBUZSh0aGlzLl9zaXplKSx0PXt2aXNpYmxlOmUudmlzaWJsZSgpLnNwYXduKCksbW9kZWw6ZX07dGhpcy5fYWRkU3RhdHVzVmlld01vZGVsc0luZm9zKHQpfV9jcmVhdGVJc1VwY29taW5nSXBvQWN0aXZlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhKT0+e2NvbnN0IHM9YT8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpLG89IWU/Lmxhc3RfcHJpY2U7cmV0dXJuIG51bGwhPT1hJiYhdCYmQm9vbGVhbihzKSYmb30pLCh0aGlzLl9zb3VyY2UucXVvdGVzRGF0YT8uKCl8fG5ldyBvLldhdGNoZWRWYWx1ZShudWxsKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpfV9jcmVhdGVIYWxhbFR5cGVSZWxlYXNhYmxlKCl7cmV0dXJuKDAsaS5jb21iaW5lKSgoKGUsdCxhLHMpPT5udWxsIT09cyYmdCYmIWEmJmU/LlsiaXMtc2hhcmlhaC1jb21wbGlhbnQiXT8oMCxyLmlzQm9uZCkocy50eXBlKT95LkJvbmQ6eS5TdG9jazpudWxsKSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX2hhbGFsQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVEZWZhdWx0ZWRCb25kUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+IShudWxsPT09c3x8IXR8fGF8fCJkZWZhdWx0ZWQiIT09ZT8uaXNzdWVfc3RhdHVzKXx8bnVsbCksKHRoaXMuX3NvdXJjZS5xdW90ZXNEYXRhPy4oKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKG51bGwpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9kZWZhdWx0ZWRCb25kQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfV9jcmVhdGVUdkNhbGN1bGF0ZWRQYWlyUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwhYS50eXBlc3BlY3M/LmluY2x1ZGVzKCJ0di1jYWxjdWxhdGVkLXBhaXIiKSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZUhrZXhDb21tZW50UmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSk9PiEobnVsbD09PWF8fCFlfHx0fHwiSEtFWCIhPT1hLmxpc3RlZF9leGNoYW5nZSl8fG51bGwpLHRoaXMuX3R2Q2FsY3VsYXRlZFBhaXJDYW5CZVNob3duLndlYWtSZWZlcmVuY2UoKSwodGhpcy5fc291cmNlLmlzU3ltYm9sSW52YWxpZCgpfHxuZXcgby5XYXRjaGVkVmFsdWUoITEpLnJlYWRvbmx5KCkpLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9zb3VyY2Uuc3ltYm9sSW5mbygpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCl9X2NyZWF0ZVVwY29taW5nSXBvUmVsZWFzYWJsZSgpe3JldHVybigwLGkuY29tYmluZSkoKChlLHQsYSxzKT0+e2NvbnN0IG89cz8udHlwZXNwZWNzPy5pbmNsdWRlcygicHJlLWlwbyIpO3JldHVybiEobnVsbD09PXN8fCF0fHxhfHwhb3x8ZT8ubGFzdF9wcmljZSl8fG51bGx9KSwodGhpcy5fc291cmNlLnF1b3Rlc0RhdGE/LigpfHxuZXcgby5XYXRjaGVkVmFsdWUobnVsbCkucmVhZG9ubHkoKSkud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3VwY29taW5nSXBvQ2FuQmVTaG93bi53ZWFrUmVmZXJlbmNlKCksKHRoaXMuX3NvdXJjZS5pc1N5bWJvbEludmFsaWQoKXx8bmV3IG8uV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpKS53ZWFrUmVmZXJlbmNlKCksdGhpcy5fc291cmNlLnN5bWJvbEluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpfX19LDgwODAwMShlLHQsYSl7InVzZSBzdHJpY3QiO2EuZCh0LHtGdWxsVG9vbHRpcHNQb3B1cDooKT0+cH0pO3ZhciBzPWEoNzc5NDc0KSxvPWEoNzE3OTMyKSxpPWEoMjM3NjE2KSxyPWEoNTIwNDg2KSxuPWEoNjQwNTEzKSxsPWEoNzE4NzczKSx1PWEoMjc2MDE5KSxjPWEoMTA2OTAwKSxkPWEoMjIxMzAwKSxoPWEoNDQ3MjY4KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FuY2hvcmVkOnQsb2Zmc2V0UG9zaXRpb246YSxvdmVyZmxvd1ZlcnRpY2FsOnAsb3ZlcmZsb3dIb3Jpem9udGFsOm0sc3RhdHVzZXM6Xyxpc09wZW46UyxvbkNsb3NlOmYsbW9iaWxlQnJlYWtwb2ludDp3PSJhbGwgYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSIscGxhY2VtZW50UnVsZXM6Yj1bey4uLm4uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULG9mZnNldDphLApvdmVyZmxvd1ZlcnRpY2FsOnA/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93VmVydGljYWwsb3ZlcmZsb3dIb3Jpem9udGFsOm0/P24uUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZULm92ZXJmbG93SG9yaXpvbnRhbH1dfT1lLGc9KDAsYy51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpffSksdj0oMCxzLnVzZUNhbGxiYWNrKSgoKCk9PmYoITEpKSxbZl0pOygwLHMudXNlRWZmZWN0KSgoKCk9Pih1Lmdsb2JhbENsb3NlRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsdiksKCk9Pnt1Lmdsb2JhbENsb3NlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCx2KX0pKSxbdl0pO2NvbnN0e3JlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19PSgwLGwudXNlUG9wb3ZlckNsb3NlQmVoYXZpb3IpKHtpc09wZW46UyxvbkNsb3NlOmYsZXhjbHVkZUFyZWE6dC5hdCxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlT25DbGlja0F3YXk6ITAsY2xvc2VPblNjcm9sbE91dHNpZGU6ITAsY2xvc2VPblJlc2l6ZVdpbmRvdzohMCxjbG9zZU9uVGFiOiEwfSksST0oMCxvLnVzZU1hdGNoTWVkaWEpKHcpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Qb3BvdmVyLHtpc09wZW46UyxvbkNsb3NlOmYsYW5jaG9yZWQ6dCx3aWR0aDp7Ynk6ImNvbnRlbnQifSxoZWlnaHQ6e2J5OiJjb250ZW50In0scGxhY2VtZW50UnVsZXM6Yixtb2JpbGVCcmVha3BvaW50OncsbW9iaWxlUG9zaXRpb25lclN0cmV0Y2g6ITEsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgucG9wdXBXaWRnZXRXcmFwcGVyLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLnBvcHVwV2lkZ2V0V3JhcHBlcixkYXRhUWFJZDoiY2hhcnQtc3RhdHVzZXMtcG9wdXAiLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnkscmVwb3NpdGlvblRyaWdnZXJzOk19LHMuY3JlYXRlRWxlbWVudChyLlBvcG92ZXJDb250ZW50VmVydGljYWwsbnVsbCxnLm1hcCgoKGUsdCk9PnMuY3JlYXRlRWxlbWVudChkLkZ1bGxUb29sdGlwV2lkZ2V0LHtrZXk6YEZ1bGxUb29sdGlwV2lkZ2V0JHt0fWAsaW5mbzplLm1vZGVsLmZ1bGxJbmZvKCksYWRkaXRpb25hbFdpZGdldHM6ZS5hZGRpdGlvbmFsV2lkZ2V0cyxwcmVsaW1pbmFyeUpvYjplLnByZWxpbWluYXJ5Sm9iLG9uQ2xvc2U6dixpc01vYmlsZTpJfSkpKSkpfX0sNTQ3ODY0KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1N0YXR1c0ljb246KCk9PnV9KTt2YXIgcz1hKDc3OTQ3NCksbz1hKDkxNDQ4NyksaT1hLm4obykscj1hKDI3MzMxMCksbj1hKDEwNjkwMCksbD1hKDg2MDU0OCk7ZnVuY3Rpb24gdShlKXtjb25zdHt2aXNpYmxlOnQsaWNvbjphLGNsYXNzTmFtZTpvLHNpemU6dT0ic21hbGwiLGlzQmxpbmtpbmc6Yyx0dXJuT2ZmQmxpbmtpbmc6ZCxjdXN0b21Db2xvcjpoLGRhdGFRYUlkOnAsZGF0YXNldEVudGl0eUlkOm19PWUsXz0oMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOnR9KSxTPSgwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6YX0pLGY9KDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpvfSksdz0oKDAsbi51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTpofSksISFjJiYoMCxuLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmN9KSksYj1tPygwLG4udXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6bX0pOnZvaWQgMDtpZighX3x8IVMpcmV0dXJuIG51bGw7Y29uc3QgZz17Li4ucD97ImRhdGEtcWEtaWQiOnB9Ont9LC4uLmI/eyJkYXRhLWVudGl0eS1pZCI6Yn06e319O3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6aSgpKGwuc3RhdHVzSXRlbSxsW3VdLGYse1tsLmJsaW5raW5nXTp3fSksb25DbGljazpkLHN0eWxlOnZvaWQgMCwuLi5nLGljb246U30pfX0sNzM0ODIoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7REVGQVVMVF9TVEFUVVNfUkVOREVSRVJfVEhFTUU6KCk9PmYsU3RhdHVzZXNQaWxsOigpPT5nfSk7dmFyIHM9YSg3Nzk0NzQpLG89YSg5MTQ0ODcpLGk9YS5uKG8pLHI9YSgyMzY3NjUpLG49YSgxNzk3NzEpLGw9YSg2MDM2MTIpLHU9YSgxMDY5MDApLGM9YSg4MDAyMjYpLGQ9YSgzODY5MzEpLGg9YSgxNTAxNTApLHA9YSgzODcyMzEpLG09YSg1NDc4NjQpLF89YSg4MDgwMDEpLFM9YSg4NjA1NDgpO2NvbnN0IGY9Uyx3PW5ldyBXZWFrTWFwLGI9Yy50cmFja2luZ01vZGVJc0F2YWlsYWJsZT8ibWVkaXVtIjoic21hbGwiO2Z1bmN0aW9uIGcoZSl7Y29uc3R7c3RhdHVzZXM6dCx0b29sdGlwOmEsdGhlbWU6bz1TLHNob3dUb29sdGlwT3ZlcnJpZGVDYWxsYmFjazpjfT1lLFtnLHZdPSgwLHMudXNlU3RhdGUpKCExKSx5PSgwLHUudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6dH0pLE09KDAsdS51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTphfSksST0oMCxzLnVzZU1lbW8pKCgoKT0+KDAscC5tZXJnZVRoZW1lcykoZixvKSksW29dKTsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT17fTtyZXR1cm4gbi5zdWJzY3JpYmUobC5DTE9TRV9QT1BVUFNfQU5EX0RJQUxPR1NfQ09NTUFORCxrLGUpLCgpPT57bi51bnN1YnNjcmliZShsLkNMT1NFX1BPUFVQU19BTkRfRElBTE9HU19DT01NQU5ELGssZSl9fSksW10pO2NvbnN0IEU9KDAsci51c2VPdXRzaWRlRXZlbnQpKHtjbGljazohMCxoYW5kbGVyOigpPT57YyYmKGMoITApLHYoITEpKX19KTtpZigwPT09eS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3QgQz0hIWM7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkkuc3RhdHVzZXNXcmFwLHJlZjpFfSxzLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIseyJkYXRhLXJvbGUiOiJzdGF0dXNlcy1waWxsIixjbGFzc05hbWU6aSgpKCJhcHBseS1jb21tb24tdG9vbHRpcCIsImNvbW1vbi10b29sdGlwLXdpZGUiLElbYl0pLHRhYkluZGV4OjAsCm9uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHkuZm9yRWFjaCgoZT0+e2UubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZT8uKCl9KSksVCgpLCFnKXtjb25zdCBlPXkuZmluZCgoZT0+ZS5tb2RlbC5vblBpbGxDbGljaykpO2U/Lm1vZGVsPy5vblBpbGxDbGljaz8uKCl9YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksYyhnKSk7ZyYmKHQ9TSwoMCxkLnRyYWNrRXZlbnQpKCJHVUkiLCJTdGF0dXNlcyB3aWRnZXQncyBhY3Rpb24iLHQpKTt2YXIgdH0sdGl0bGU6TSwiZGF0YS1xYS1pZCI6ImxlZ2VuZC1zb3VyY2UtaXRlbS1zdGF0dXMifSx5Lm1hcCgoZT0+KHcuaGFzKGUpfHx3LnNldChlLCgwLGgucmFuZG9tSGFzaCkoKSkscy5jcmVhdGVFbGVtZW50KG0uU3RhdHVzSWNvbix7a2V5OncuZ2V0KGUpLHZpc2libGU6ZS52aXNpYmxlLGljb246ZS5tb2RlbC5pY29uKCksY2xhc3NOYW1lOmUubW9kZWwuY2xhc3NOYW1lKCksc2l6ZTplLm1vZGVsLnNpemUoKT8/InNtYWxsIixpc0JsaW5raW5nOmUubW9kZWwuaXNCbGlua2luZ01vZGUsdHVybk9mZkJsaW5raW5nOmUubW9kZWwudHVybk9mZkJsaW5raW5nTW9kZSxjdXN0b21Db2xvcjplLm1vZGVsLmN1c3RvbUNvbG9yKCksZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkYXRhc2V0RW50aXR5SWQ6ZS5pY29uRGF0YXNldEVudGl0eUlkfSkpKSkpLHMuY3JlYXRlRWxlbWVudChfLkZ1bGxUb29sdGlwc1BvcHVwLHtzdGF0dXNlczp0LGFuY2hvcmVkOnt0eXBlOiJlbGVtZW50IixhdDpFfSxpc09wZW46ZyYmIUMsb25DbG9zZTprLG9mZnNldFBvc2l0aW9uOnt4Oi0xNSx5OjR9fSkpO2Z1bmN0aW9uIFQoKXt2KChlPT4hZSkpfWZ1bmN0aW9uIGsoKXt2KCExKX19fSw3ODM5NzgoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7U3RhdHVzZXNXaWRnZXRTdGF0ZUJhc2U6KCk9PmMsdXBkYXRlV2F0Y2hlZFZhbHVlRGVib3VuY2VkOigpPT51fSk7dmFyIHMsbz1hKDU0Nzg1MSksaT1hKDYwMTg0MSkscj1hKDIzMjM2NCksbj1hKDk1MjkwMCksbD1hKDgwMDIyNik7ZnVuY3Rpb24gdShlLHQsYSxzKXtjb25zdCBpPW5ldyByLldhdGNoZWRWYWx1ZSh0KSxuPSgwLG8uZGVmYXVsdCkoKGU9Pmkuc2V0VmFsdWUoZSkpLGEpO3JldHVybiBlLnN1YnNjcmliZSgoZT0+e24oZSkscz8uKGUpJiZuLmZsdXNoKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksaS5yZWFkb25seSgpLnNwYXduKCgoKT0+e24uY2FuY2VsKCksZS5yZWxlYXNlKCl9KSl9IWZ1bmN0aW9uKGUpe2UuVG9vbHRpcFNlcGFyYXRvcj0iIMK3ICJ9KHN8fChzPXt9KSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaXplPWwudHJhY2tpbmdNb2RlSXNBdmFpbGFibGU/Im1lZGl1bSI6InNtYWxsIix0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVj1uZXcgci5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3Zpc2liaWxpdHk9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9mb3JjZUhpZGVWaXNpYmlsaXR5TW9kZWxzPW5ldyByLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fb3B0aW9ucz1lO2NvbnN0IHQ9KDAsbi5jb21iaW5lKSgoZT0+ZS5tYXAoKGU9PigwLG4uY29tYmluZSkoKChlLHQpPT5lJiZ0KSxlLnZpc2libGUud2Vha1JlZmVyZW5jZSgpLGUubW9kZWwudmlzaWJsZSgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpKSksdGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1Yud2Vha1JlZmVyZW5jZSgpKTt0aGlzLl92aXNpYmxlTW9kZWxzPXUoKDAsbi5hY2N1bXVsYXRlKSgoKGUsdCxhKT0+dD9bXTphLmZpbHRlcigoKHQsYSk9PmVbYV0mJnR8fG51bGwpKS5maWx0ZXIoaS5ub3ROdWxsKS5zbGljZSgwLDMpKSx0Lm93bmVyc2hpcCgpLHRoaXMuX2ZvcmNlSGlkZVZpc2liaWxpdHlNb2RlbHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCksW10sMjUwLChlPT4wPT09ZS5sZW5ndGgpKSx0aGlzLl92aXNpYmxlTW9kZWxzLnN1YnNjcmliZSgoKCk9PnRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKSkpLHRoaXMuX3Rvb2x0aXA9KDAsbi5hY2N1bXVsYXRlKSgoZT0+ZS5maWx0ZXIoaS5ub3ROdWxsKS5qb2luKCIgwrcgIikpLCgwLG4uY29tYmluZSkoKGU9PmUubWFwKChlPT5lLm1vZGVsLnRvb2x0aXAoKS53ZWFrUmVmZXJlbmNlKCkpKSksdGhpcy5fdmlzaWJsZU1vZGVscy53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKX1kZXN0cm95KCl7dGhpcy5fdmlzaWJpbGl0eS51bnN1YnNjcmliZSgpLHRoaXMuX2NsZWFyU3RhdHVzVmlld01vZGVscygpLHRoaXMuX3Zpc2libGVNb2RlbHMuZGVzdHJveSgpLHRoaXMuX3Rvb2x0aXAuZGVzdHJveSgpfXZpc2liaWxpdHkoKXtyZXR1cm4gdGhpcy5fdmlzaWJpbGl0eS5yZWFkb25seSgpfXZpc2libGVNb2RlbHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZU1vZGVsc310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9X2FkZFN0YXR1c1ZpZXdNb2RlbHNJbmZvcyhlKXt0aGlzLl9zdGF0dXNWaWV3TW9kZWxzSW5mb3NXVi5zZXRWYWx1ZShbLi4udGhpcy5fc3RhdHVzVmlld01vZGVsc0luZm9zV1YudmFsdWUoKSxlXSl9X2NsZWFyU3RhdHVzVmlld01vZGVscygpe2Zvcihjb25zdCBlIG9mIHRoaXMuX3N0YXR1c1ZpZXdNb2RlbHNJbmZvc1dWLnZhbHVlKCkpe2lmKGUuYWRkaXRpb25hbFdpZGdldHMpZm9yKGNvbnN0IHQgb2YgZS5hZGRpdGlvbmFsV2lkZ2V0cyl0LmRlc3Ryb3koKTtlLm1vZGVsLmRlc3Ryb3koKSxlLnZpc2libGUuZGVzdHJveSgpfX19fSw5NzA2MzUoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7Qm9vbGVhblN0YXR1c1ZpZXdNb2RlbDooKT0+aX0pO3ZhciBzPWEoMjMyMzY0KSxvPWEoNTY1MjA2KTtjbGFzcyBpIGV4dGVuZHMgby5TdGF0dXNWaWV3TW9kZWx7Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KSx0aGlzLl9ib29sZWFuU3RhdHVzPW5ldyBzLldhdGNoZWRWYWx1ZSghMSkuc3Bhd24oKSx0aGlzLnVwZGF0ZVN0YXR1cyhlKX1kZXN0cm95KCl7dGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXVwZGF0ZVN0YXR1cyhlKXsKdGhpcy5fYm9vbGVhblN0YXR1cy5kZXN0cm95KCksdGhpcy5fYm9vbGVhblN0YXR1cz1lLnNwYXduKCksdGhpcy5fYm9vbGVhblN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pfV91cGRhdGVTdGF0dXMoZSl7ZT90aGlzLl9zdGF0dXMuc2V0VmFsdWUoITApOnRoaXMuX3N0YXR1cy5zZXRWYWx1ZShudWxsKX19fSw4MDAyMjYoZSx0LGEpeyJ1c2Ugc3RyaWN0IjthLmQodCx7dHJhY2tpbmdNb2RlSXNBdmFpbGFibGU6KCk9PnN9KTtjb25zdCBzPWEoMzE4OTc0KS5DaGVja01vYmlsZS5hbnkoKX0sOTAxMTA4KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse1BpbmVTb3VyY2VDb2RlTW9kZWxCYXNlOigpPT5uZSxib3R0b21XaWRnZXRCYXI6KCk9PmllLHVwZGF0ZXNJbmZvU3VwcG9ydGVkOigpPT5yZX0pO3ZhciBzPWEoMTM4NjM4KSxvPWEoMTg1MjcxKSxpPWEoMzg2OTMxKSxyPWEoMjIxMDYxKSxuPWEoMzY4MzEyKSxsPWEoMjMyMzY0KSx1PWEoODc0MzA2KSxjPWEoNjA1MjU3KSxkPWEoNTcwNjAzKSxoPWEoOTIwNDc1KSxwPWEoMTY3NTAyKSxtPWEoNzY4NzYwKSxfPWEoNzkxNDI3KSxTPWEoNjgxNzk5KSxmPWEoNzY1MTczKSx3PWEoODQ4Nzg1KSxiPWEoNDEyMzg0KSxnPWEoNjI4MDYpLHY9YSg5NTY0MzcpLHk9YSg4ODU2MzApLE09YSg5NjQ1NzMpLEk9YSgxNjM2MDMpLEU9YSgxODU2MDgpLEM9YSg4MjAxODApLFQ9YSg5NDgzODApO2NsYXNzIGsgZXh0ZW5kcyBTLlN0dWR5U3R1Yntjb25zdHJ1Y3RvcihlLHQsYSxzKXtzdXBlcihlLHQsYSwhMSxzKSx0aGlzLmlzU3RyYXRlZ3lTdHViPSEwLHRoaXMud2F0Y2hlZERhdGE9bmV3IGwuV2F0Y2hlZFZhbHVlKHttZXRob2Q6IlRlc3QifSksdGhpcy5fcmVwb3J0RGF0YT1udWxsLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX2JhcnNJbmRleGVzPXQuZGF0YS5iYXJzSW5kZXhlc3x8W10sdGhpcy5fcmVwb3J0RGF0YT10LmRhdGEucmVwb3J0RGF0YT8/bnVsbCx0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKX1kZXN0cm95KCl7dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsMCksc3VwZXIuZGVzdHJveSgpfW1ldGFJbmZvKCl7cmV0dXJuKDAscy5lbnN1cmVOb3ROdWxsKShzdXBlci5tZXRhSW5mbygpKX1yZXBvcnREYXRhKCl7cmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5tb2RlbCgpLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT09PXRoaXN9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiBudWxsfXJlcG9ydENoYW5nZWQoKXtyZXR1cm4gbmV3IFQuRGVsZWdhdGV9c3R1ZHlOYW1lKCl7cmV0dXJuIG5ldyBsLldhdGNoZWRWYWx1ZSgiIikucmVhZG9ubHkoKX19dmFyIHg9YSg5NjY0MDQpO2NvbnN0IEQ9e2FzT2JqZWN0OiEwLG9ubHlBdG9tVmFsdWVzOiEwLHZhbHVlc0FzSXNGcm9tUHJvcGVydGllczohMCxza2lwSGlkZGVuSW5wdXRzOiEwLGRvTm90U2tpcEhpZGRlbldpdGhNaWdyYXRlOiEwLHNraXBCb29sZWFuSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSx1c2VOYW1lQW5kR3JvdXBBc0tleTohMH0sVj1uZXcgTWFwLFA9bmV3IFNldDtmdW5jdGlvbiBBKGUsdCxhLG8saSl7Y29uc3Qgcj1lLmlkKCksbj1QLmhhcyhyKTtsZXQgbD1uPygwLHMuZW5zdXJlRGVmaW5lZCkoVi5nZXQocikpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5tZXRhSW5mbygpO3JldHVybntpbnB1dHNJbmZvTGlzdDp0LmlucHV0cyxpbnB1dERlZmF1bHRzOnQuZGVmYXVsdHMuaW5wdXRzLGlucHV0VmFsdWVzOmUuaW5wdXRzKEQpfX0oZSk7MD09PU9iamVjdC5rZXlzKGwuaW5wdXRWYWx1ZXMpLmxlbmd0aCYmKGw9Vi5nZXQocik/P2wpLG58fFYuc2V0KHIsbCksaT8ubGVuZ3RoP1AuYWRkKHIpOlAuZGVsZXRlKHIpO2NvbnN0IHU9e3pvcmRlcjplLnpvcmRlcigpLHBhbmVJZDphLnBhbmUuaWQoKX07bGV0IGM7aWYoYS5wcmljZVNjYWxlJiZhLnByaWNlU2NhbGU9PT1lLnByaWNlU2NhbGUoKSl7Yz0oMCx2LmlzU3R1ZHlTdHJhdGVneSkoZSk/ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLm1vZGVsKCksYT1lLnN0YXRlKCEwKSxzPW5ldyBrKHQsYSwiIixlLm1ldGFJbmZvKCkpLG89dC5jcmVhdGVQYW5lKCk7cmV0dXJuIG8uYWRkRGF0YVNvdXJjZShzLG51bGwsITEpLHMuc2V0Wm9yZGVyKG8ubmV3U3R1ZHlaT3JkZXIoKSksdC5yZWNhbGN1bGF0ZVBhbmUobywoMCx4LnNvdXJjZUNoYW5nZUV2ZW50KShzLmlkKCkpKSx0LmZ1bGxVcGRhdGUoKSxzfShlKTpvLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKCIiKTtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkoby5wYW5lRm9yU291cmNlKGUpKSxhPW8ubW9kZWwoKS5wYW5lcygpLmluZGV4T2YodCk7bmV3IE0uTWVyZ2VUb1RhcmdldFBhbmUoby5tb2RlbCgpLGMsYSxudWxsLCEwKS5yZWRvKCk7bmV3IEkuTW92ZVRvRXhpc3RpbmdQcmljZVNjYWxlVW5kb0NvbW1hbmQoby5tb2RlbCgpLGMsdCwoMCxzLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKSxudWxsKS5yZWRvKCl9KDAsYi5yZW1vdmVBbGxTb3VyY2VzV2l0aERlcGVuZGVuY2llcykoby5tb2RlbCgpLFtlXSk7Y29uc3QgZD1mdW5jdGlvbihlLHQsYSxzLG8pe2NvbnN0IGk9KDAseS5yZW1hcFN0dWR5SW5wdXRzQnlOYW1lKSh0LmlucHV0cyx0LmRlZmF1bHRzLmlucHV0cyx7aW5wdXRzSW5mb0xpc3Q6YS5pbnB1dHNJbmZvTGlzdCxpbnB1dERlZmF1bHRzOmEuaW5wdXREZWZhdWx0cyx2YWx1ZXNCeU5hbWU6YS5pbnB1dFZhbHVlc30pLHI9bmV3IEUuSW5zZXJ0U3R1ZHlDb21tYW5kKHtjaGFydE1vZGVsOmUubW9kZWwoKSxzdHVkeU1ldGFJbmZvOnQsaW5wdXRzOmkscHJvcHM6e30sYWRkQXNPdmVybGF5OiExLHBhcmVudFNvdXJjZXM6W10sdGFyZ2V0Wk9yZGVyOnMsc3R1ZHlJZDpvfSk7ci5yZWRvKCkKO2NvbnN0IG49ci5pbnNlcnRlZFN0dWR5KCk7cmV0dXJuIG4uc3R1ZHkudGhlbigodD0+e0MuRGVmZXJyZWRTdHVkaWVzLmluc3RhbmNlKGUubW9kZWwoKSkuYWRkKG8sdCl9KSksbn0obyx0LGwsdSxlLmlkKCkpO3JldHVybiBkLnN0dWR5LnRoZW4oKGU9PntpZihlLnNldFpvcmRlcih1LnpvcmRlciksIXQubGlua2VkVG9TZXJpZXMpe2NvbnN0IHQ9by5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZihhLnBhbmUpO2lmKG5ldyBNLk1lcmdlVG9UYXJnZXRQYW5lKG8ubW9kZWwoKSxlLHQsbnVsbCwhMCkucmVkbygpLG51bGwhPT1hLnByaWNlU2NhbGUpe25ldyBJLk1vdmVUb0V4aXN0aW5nUHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSxhLnByaWNlU2NhbGUsbnVsbCkucmVkbygpfWVsc2V7bmV3IEkuTW92ZVRvTmV3UHJpY2VTY2FsZVVuZG9Db21tYW5kKG8ubW9kZWwoKSxlLGEucGFuZSwib3ZlcmxheSIsbnVsbCkucmVkbygpfX1lLnNldEVycm9yQ29tcGlsYXRpb24oaT8ubGVuZ3RoP2k6bnVsbCksYyYmby5tb2RlbCgpLnJlbW92ZVNvdXJjZShjKX0pKSxkfXZhciBSPWEoODgxOTIpLEI9YSgxOTg5MDEpO2NvbnN0IE49bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIHt0aXRsZX0gc2NyaXB0IixvLnQobnVsbCx2b2lkIDAsYSg0MTAxNDgpKSk7ZnVuY3Rpb24gRihlLHQpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IGE9dC5wcmljZVNjYWxlUG9zaXRpb24oZSk7cmV0dXJue2lkOmUuaWQoKSxwb3NpdGlvbjphLHByaWNlU2NhbGVJbmRleDp0LnByaWNlU2NhbGVJbmRleChlLGEpfX1jb25zdCBXPW5ldyBNYXAsTz0vXmRlc2NyaXB0aW9uJC8sSD0vXnNob3J0RGVzY3JpcHRpb24kLyxMPS9eYmFuZHNcLlxkK1wubmFtZSQvLFU9L15maWxsZWRBcmVhc1wuXGQrXC50aXRsZSQvLEc9L15zdHlsZXNcLnBsb3RfXGQrXC50aXRsZSQvLHo9L15vaGxjUGxvdHNcLnBsb3RiYXJfXGQrXC50aXRsZSQvLHE9L15vaGxjUGxvdHNcLnBsb3RjYW5kbGVfXGQrXC50aXRsZSQvO2Z1bmN0aW9uICQoZSl7cmV0dXJuW08sSCxMLFUsRyx6LHFdLnNvbWUoKHQ9PnQudGVzdChlKSkpfWZ1bmN0aW9uIGooZSx0KXtjb25zdCBhPSgwLGguZGVmYXVsdCkodCxlKTtkZWxldGUgYS5waW5lLGRlbGV0ZSBhLmRlZmF1bHRzPy5pbnB1dHMsZGVsZXRlIGEuaW5wdXRzLCgwLEIucmVtb3ZlRW1wdHlPYmplY3RzRnJvbVJlY29yZElucGxhY2UpKGEpO3JldHVybigwLEIuY29sbGVjdEFsbFBhdGhzKShhKS5ldmVyeSgkKX1mdW5jdGlvbiBRKGUsdCxhKXthLmZvckVhY2goKChhLHMpPT57Y29uc3Qgbz1wYXJzZUludChhLnNwbGl0KCIkIilbMV0/PyItMSIpO28+PTAmJm88ZS5wbG90cy5sZW5ndGgmJnQucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZChzKT8uc2V0VmFsdWUoYSl9KSl9ZnVuY3Rpb24gWChlKXtjb25zdCB0PWUuaW5wdXRzKHthc09iamVjdDohMH0pLGE9T2JqZWN0LmtleXModCkuZmlsdGVyKChlPT4oMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkodFtlXSkpKS5tYXAoKGU9PltlLCgwLGcuZ2V0SW5wdXRWYWx1ZSkodFtlXSldKSk7cmV0dXJuIG5ldyBNYXAoYSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gZS5jaGlsZHJlbigpLm1hcCgoZT0+KHtlbnRpdHlJZDplLmlkKCksaW5wdXRzOlgoZSl9KSkpfWZ1bmN0aW9uIFooZSx0KXtjb25zdCBhPXt9LHM9ZS5zdHVkaWVzV1YoKS5zcGF3bigpLG89KCk9PntlLm9uRGVzdHJveWVkKCkudW5zdWJzY3JpYmVBbGwoYSkscy5kZXN0cm95KCl9O3JldHVybiBuZXcgUHJvbWlzZSgoKGkscik9PntlLm9uRGVzdHJveWVkKCkuc3Vic2NyaWJlKGEsKCgpPT57bygpLHIoKX0pKSxzLnN1YnNjcmliZSgoZT0+e2NvbnN0IGE9ZS5maW5kKChlPT5lLmlkKCk9PT10KSk7YSYmKG8oKSxpKGEpKX0pKX0pKX1jbGFzcyBKIGV4dGVuZHMgZi5VbmRvQ29tbWFuZHtjb25zdHJ1Y3RvcihlLHQsYSxzKXtjb25zdCBvPWEuc3RhdGUoKTtpZihzdXBlcihOLmZvcm1hdCh7dGl0bGU6by5zaG9ydERlc2NyaXB0aW9ufHxvLmRlc2NyaXB0aW9ufHwiIn0pKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9W10sdGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9W10sdGhpcy5fbmV3U2NyaXB0c1N0YXRlcz1bXSx0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHM9bmV3IE1hcCx0aGlzLl9jaGFydE1vZGVsPWUsdGhpcy5fY29tcGlsZUVycm9ycz1zLHRoaXMuX25ld01ldGFJbmZvPWEsInNjcmlwdElkUGFydCJpbiB0KXtjb25zdCBlPWZ1bmN0aW9uKGUsdCxhLHMpe2NvbnN0IG89W10saT10LmRhdGFTb3VyY2VzKCk7Zm9yKGxldCB0PWkubGVuZ3RoLTE7dD49MDt0LS0pe2NvbnN0IHI9aVt0XTtpZihzJiZyLmlkKCkhPT1zKWNvbnRpbnVlO2lmKCEoMCx2LmlzU3R1ZHkpKHIpKWNvbnRpbnVlO2NvbnN0IG49ci5tZXRhSW5mbygpO24ucGluZSYmbi5zY3JpcHRJZFBhcnQ9PT1lJiYoImFsbCI9PT1hfHxhJiZuLnBpbmUudmVyc2lvbj09PWEudG9TdHJpbmcoKSkmJm8ucHVzaChyKX1yZXR1cm4gb30odC5zY3JpcHRJZFBhcnQsdGhpcy5fY2hhcnRNb2RlbCx0LnNjcmlwdFZlcnNpb25Ub1VwZGF0ZSk7dGhpcy5fdXBkYXRlZFN0dWRpZXNJZHM9ZS5tYXAoKGU9PmUuaWQoKSkpLHRoaXMuX3NhdmVDaGlsZFN0dWRpZXNJbnB1dHMoZSl9ZWxzZSB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcz1bdC5zdHVkeS5pZCgpXX11cGRhdGVTY3JpcHRzSWRzKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZWRTdHVkaWVzSWRzfWFzeW5jIHJlZG8oKXt0aGlzLl9zdGFydFJlZG9Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlPSgwLG0uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO2NvbnN0IGU9dGhpcy5fZGV0YWNoTGluZVRvb2xzKCk7dHJ5e2lmKDA9PT10aGlzLl9uZXdTY3JpcHRzU3RhdGVzLmxlbmd0aCl7CmlmKCFhd2FpdCB0aGlzLl9yZXBsYWNlU291cmNlc0FuZFNhdmVTdGF0ZXMoKSlyZXR1cm59ZWxzZXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9uZXdTY3JpcHRzU3RhdGVzKSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKSlyZXR1cm59Zm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9jaGlsZFN0dWRlc1NvdXJjZXNJbnB1dHMpe2NvbnN0IGE9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKSksbz1lPT57Y29uc3QgYT1lLm1ldGFJbmZvKCk7Zm9yKGNvbnN0e2VudGl0eUlkOmUsaW5wdXRzOnN9b2YgdCl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZChlKTt0JiYoYSYmUShhLHQscyksdC5zdGFydCghMCwhMSwyKSl9fTtpZigoMCx2LmlzU3R1ZHkpKGEpKW8oYSk7ZWxzZXtaKHRoaXMuX2NoYXJ0TW9kZWwsZSkudGhlbihvKX19fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyB1bmRvKCl7dGhpcy5fc3RhcnRVbmRvUHJvbWlzZS5yZXNvbHZlKCksdGhpcy5fc3RhcnRSZWRvUHJvbWlzZT0oMCxtLmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKTtjb25zdCBlPXRoaXMuX2RldGFjaExpbmVUb29scygpO3RyeXtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKXRoaXMuX3Jlc2V0Q2hpbGRJbnB1dHNTb3VyY2VUb0RlZmF1bHQoZSk7aWYoIWF3YWl0IFByb21pc2UucmFjZShbUHJvbWlzZS5hbGwodGhpcy5fcmVzdG9yZVN0YXRlcyh0aGlzLl9wcmV2U2NyaXB0c1N0YXRlcykpLHRoaXMuX3N0YXJ0UmVkb1Byb21pc2UucHJvbWlzZV0pKXJldHVybjtmb3IoY29uc3RbLGVdb2YgdGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzKWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCk7aWYobnVsbCE9PWUpZm9yKGNvbnN0W2Esc11vZiB0LmlucHV0cyllLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbYV0uc2V0VmFsdWUocyl9fWZpbmFsbHl7dGhpcy5fYXR0YWNoTGluZVRvb2xzKGUpfX1hc3luYyBfcmVwbGFjZVNvdXJjZXNBbmRTYXZlU3RhdGVzKCl7Y29uc3QgZT10aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5tYXAoKGU9PnRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKGUpKSk7dGhpcy5fcHJldlNjcmlwdHNTdGF0ZXM9dGhpcy5fZ2V0U2NyaXB0c1N0YXRlcyhlKTtjb25zdCB0PVtdO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKXtjb25zdCBvPWVbYV0saT1vLmlkKCkscj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSksbj1yLmlzT3ZlcmxheShvKT9udWxsOm8ucHJpY2VTY2FsZSgpLGw9by5vcmlnaW5hbE1ldGFJbmZvKCkuc3RhdGUoKSx1PXRoaXMuX25ld01ldGFJbmZvLnN0YXRlKCk7dGhpcy5fc2F2ZUNoaWxkU291cmNlSW5wdXRzQmVmb3JlUmVjb21waWxhdGUoaSxsLHUpO2NvbnN0IGM9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldChpKTtjJiZ0aGlzLl9yZXNldENoaWxkSW5wdXRzU291cmNlVG9EZWZhdWx0KGMpO2NvbnN0IGQ9QShvLHRoaXMuX25ld01ldGFJbmZvLHtwYW5lOnIscHJpY2VTY2FsZTpufSx0aGlzLl9jaGFydE1vZGVsLnVuZG9Nb2RlbCgpLHRoaXMuX2NvbXBpbGVFcnJvcnMpO2lmKHQucHVzaChkLnN0dWR5KSxqKGwsdSkpe2NvbnN0IGU9by5wcm9wZXJ0aWVzKCkuc3RhdGUoKTtkZWxldGUgZS5pbnB1dHMsZC5zdHVkeS50aGVuKCh0PT57dC5wcm9wZXJ0aWVzKCkubWVyZ2VBbmRGaXJlKGUpfSkpfX1Qcm9taXNlLmFsbCh0KS50aGVuKChlPT57dGhpcy5fbmV3U2NyaXB0c1N0YXRlcz10aGlzLl9nZXRTY3JpcHRzU3RhdGVzKGUpfSkpO2NvbnN0IGE9YXdhaXQgUHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbCh0KSx0aGlzLl9zdGFydFVuZG9Qcm9taXNlLnByb21pc2VdKTtyZXR1cm4gYXx8bnVsbH1fcmVzdG9yZVN0YXRlcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBhIG9mIGUpdGhpcy5fcmVzdG9yZVNjcmlwdEFmdGVyUmVjb21waWxhdGlvbihhKSx0LnB1c2godGhpcy5fY2hhcnRNb2RlbC53YWl0Rm9yU3R1ZHkoYS5lbnRpdHlJZCkpO3JldHVybiB0fV9nZXRTY3JpcHRzU3RhdGVzKGUpe2NvbnN0IHQ9W10sYT10aGlzLl9jaGFydE1vZGVsLnBhbmVzKCkubWFwKCgoZSx0KT0+KHtzdGF0ZTplLnN0YXRlKHtpbmNsdWRlU291cmNlczohMX0pLGluZGV4OnQsaWQ6ZS5pZCgpfSkpKTtmb3IobGV0IG89ZS5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT1lW29dLHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JTb3VyY2UoaSkpLG49dGhpcy5fY2hhcnRNb2RlbC5wYW5lcygpLmluZGV4T2YociksbD1GKGkucHJpY2VTY2FsZSgpLHIpLHU9aS5zdGF0ZSghMSk7dC5wdXNoKHtlbnRpdHlJZDppLmlkKCksc3RhdGU6dSxwYW5lU3RhdGU6YVtuXSxwcmljZVNjYWxlUG9zaXRpb25JZHM6bH0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLnBhbmVTdGF0ZS5pbmRleC10LnBhbmVTdGF0ZS5pbmRleCkpLHR9X3Jlc3RvcmVTY3JpcHRBZnRlclJlY29tcGlsYXRpb24oZSl7Y29uc3R7ZW50aXR5SWQ6dCxwYW5lU3RhdGU6YSxzdGF0ZTpvLHByaWNlU2NhbGVQb3NpdGlvbklkczppfT1lO2lmKG51bGw9PT1vfHwoMCxTLmlzU3R1ZHlTdHViRGVzY3JpcHRvcikobykpcmV0dXJuO2NvbnN0IHI9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSksbj0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShyKSksbD1uZXcgdy5SZW1vdmVTb3VyY2VzVW5kb0NvbW1hbmQodGhpcy5fY2hhcnRNb2RlbCxbcl0sbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiIiwiIikpO2wucmVkbygpLApsLnJlbW92ZWRJZHMoKS5mb3JFYWNoKChlPT50aGlzLl9jaGFydE1vZGVsLnJlc2V0V2FpdEZvclN0dWR5KGUpKSk7Y29uc3QgdT17em9yZGVyOnIuem9yZGVyKCkscGFuZUlkOm4uaWQoKX07bGV0IGM7aWYobnVsbD09PXRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvcklkKGEuaWQpKXRoaXMuX2NoYXJ0TW9kZWwuY3JlYXRlUGFuZShhLmluZGV4LHZvaWQgMCxhLmlkKSx0aGlzLl9jaGFydE1vZGVsLnBhbmVGb3JJZChhLmlkKT8ucmVzdG9yZVN0YXRlKHtzdGF0ZTp7Li4uYS5zdGF0ZSxzb3VyY2VzOltvXX0sd2l0aERhdGE6ITEsdmVyc2lvbjp0aGlzLl9jaGFydE1vZGVsLnZlcnNpb24oKX0pLGM9KDAscy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydE1vZGVsLmRhdGFTb3VyY2VGb3JJZCh0KSk7ZWxzZXtjb25zdCBlPXRoaXMuX2NoYXJ0TW9kZWwucGFuZXMoKS5pbmRleE9mKCgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9ySWQoYS5pZCkpKTtjPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5yZXN0b3JlU291cmNlKCExLGUsbnVsbCxvLGkpKSxjLnNldFpvcmRlcih1LnpvcmRlcil9Vy5oYXModCkmJlcuc2V0KGMuaWQoKSwoMCxzLmVuc3VyZURlZmluZWQpKFcuZ2V0KHQpKSl9X3NhdmVDaGlsZFNvdXJjZUlucHV0c0JlZm9yZVJlY29tcGlsYXRlKGUsdCxhKXtjb25zdCBvPXQucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKSxpPWEucGxvdHMuZmlsdGVyKChlPT5fLlN0dWR5TWV0YUluZm8uY2FuUGxvdEJlU291cmNlT2ZDaGlsZFN0dWR5KGUudHlwZSkpKTtpZighKDAscC5kZWZhdWx0KShvLGkpKXtjb25zdCB0PSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoZSkpLGE9KDAsYi5jbG9zZVNvdXJjZXNTZXQpKHRoaXMuX2NoYXJ0TW9kZWwsW3RdLCEwKTtmb3IoY29uc3QgZSBvZiBvKWkuZmluZCgodD0+dD09PWUpKXx8YS5maWx0ZXIodi5pc1N0dWR5KS5mb3JFYWNoKChlPT57Y29uc3QgYT1lLmlucHV0cygpLHM9Xy5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKGUubWV0YUluZm8oKSksbz17ZW50aXR5SWQ6ZS5pZCgpLGlucHV0czpuZXcgTWFwfTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWFbZV07aWYoKDAsZy5pc0V4dGVuZGVkSW5wdXQpKHMpJiYoMCxnLmlzRXh0ZW5kZWRJbnB1dFNvdXJjZSkocykpe2NvbnN0IGE9KDAsZy5nZXRJbnB1dFZhbHVlKShzKTstMSE9PWEuaW5kZXhPZih0LmlkKCkpJiZvLmlucHV0cy5zZXQoZSxhKX19aWYoby5pbnB1dHMuc2l6ZSl7bGV0IGU9dGhpcy5fY2hpbGRTdHVkZXNTb3VyY2VzSW5wdXRzLmdldCh0LmlkKCkpO2V8fChlPVtdLHRoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cy5zZXQodC5pZCgpLGUpKSxlLnB1c2gobyl9fSkpfX1fcmVzZXRDaGlsZElucHV0c1NvdXJjZVRvRGVmYXVsdChlKXtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQodC5lbnRpdHlJZCkpO2Uuc3RvcCghMSwyKTtmb3IoY29uc3RbYV1vZiB0LmlucHV0cyl7Y29uc3QgdD0oMCxzLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/LlthXSk7ZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpW2FdLnNldFZhbHVlKHQpfX19X2RldGFjaExpbmVUb29scygpe3JldHVybiB0aGlzLl91cGRhdGVkU3R1ZGllc0lkcy5yZWR1Y2UoKChlLHQpPT57Y29uc3QgYT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwuZGF0YVNvdXJjZUZvcklkKHQpKSxvPSgwLHMuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKGEpKSxpPW8uZGF0YVNvdXJjZXMoKS5maWx0ZXIoUi5pc0xpbmVUb29sKS5maWx0ZXIoKGU9PmUub3duZXJTb3VyY2UoKT8uaWQoKT09PWEuaWQoKSkpO3JldHVybiBlLnNldChhLmlkKCksaSksaS5mb3JFYWNoKChlPT5vLnJlbW92ZURhdGFTb3VyY2UoZSkpKSxlfSksbmV3IE1hcCl9X2F0dGFjaExpbmVUb29scyhlKXtjb25zdCB0PW5ldyBTZXQ7ZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IG89dGhpcy5fY2hhcnRNb2RlbC5kYXRhU291cmNlRm9ySWQoYSk7aWYobnVsbD09PW8pcmV0dXJuIHZvaWQgdC5hZGQoYSk7Y29uc3QgaT0oMCxzLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0TW9kZWwucGFuZUZvclNvdXJjZShvKSk7ZS5mb3JFYWNoKChlPT57ZS5zZXRPd25lclNvdXJjZShvKSxpLmFkZERhdGFTb3VyY2UoZSxvLnByaWNlU2NhbGUoKSwhMCl9KSl9KSksdC5mb3JFYWNoKCh0PT57Y29uc3QgYT1lLmdldCh0KTthJiZhLmZvckVhY2goKGU9PntlLmRlc3Ryb3k/LigpfSkpfSkpfV9zYXZlQ2hpbGRTdHVkaWVzSW5wdXRzKGUpe3RoaXMuX2NoaWxkU3R1ZGVzU291cmNlc0lucHV0cz1uZXcgTWFwKGUubWFwKChlPT5bZS5pZCgpLEsoZSldKSkpfX12YXIgWT1hKDQxMzQxKSxlZT1hKDk0Mzk1KSx0ZT1hKDM0MjIwKSxhZT1hKDYwMjM4Nik7Y29uc3Qgc2U9bmV3IGQuVHJhbnNsYXRlZFN0cmluZygidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiIsby50KG51bGwsdm9pZCAwLGEoNzE4NzU3KSkpLG9lPSgwLHIuZ2V0TG9nZ2VyKSgiQ2hhcnQuUGluZVNvdXJjZUNvZGUiKTtmdW5jdGlvbiBpZSgpe3JldHVybiB3aW5kb3cuVHJhZGluZ1ZpZXcuYm90dG9tV2lkZ2V0QmFyfWZ1bmN0aW9uIHJlKGUpe3JldHVybiBfLlN0dWR5TWV0YUluZm8uaGFzUHViU3VmZml4KGUpfHxfLlN0dWR5TWV0YUluZm8uaGFzU3RkU3VmZml4KGUpfWNsYXNzIG5le2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlPW5ldyBsLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fcGluZVNvdXJjZUVkaXRvclN0YXR1cz1uZXcgbC5XYXRjaGVkVmFsdWUoMCksdGhpcy5fZ2V0U2NyaXB0SW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSwKdGhpcy5fdXBkYXRlQWJpbGl0eVNob3dTb3VyY2VDb2RlPWFzeW5jKCk9PntpZighd2luZG93LndpZGdldGJhcilyZXR1cm47Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgibGFzdCIpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdHtzY3JpcHRJZFBhcnQ6dCxwaW5lVmVyc2lvbjphfT1lO3RyeXtjb25zdCBlPWF3YWl0KDAsbi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlKSh0LGEpO2lmKHRoaXMuX2Rlc3Ryb3llZClyZXR1cm47dGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUuc2V0VmFsdWUoZSYmd2luZG93LndpZGdldGJhci5pc1Zpc2libGUoKSl9Y2F0Y2goZSl7b2UubG9nRXJyb3IoIkZhaWxlZCBpc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlLCByZWFzb246ICIrZSl9fSx0aGlzLl9waW5lU2NyaXB0PWUsd2luZG93LndpZGdldGJhcj8udmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykpLHRoaXMuX2luaXRPcGVuZWRTY3JpcHRzKCl9ZGVzdHJveSgpe3dpbmRvdy53aWRnZXRiYXI/LnZpc2libGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBYmlsaXR5U2hvd1NvdXJjZUNvZGUpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX29wZW5lZFNjcmlwdHM/LmRlc3Ryb3koKSx0aGlzLl9kZXN0cm95ZWQ9ITB9aXNBYmxlU2hvd1NvdXJjZUNvZGUoKXtyZXR1cm4gdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUucmVhZG9ubHkoKX1zY3JpcHQoKXtyZXR1cm4gdGhpcy5fcGluZVNjcmlwdH10aXRsZSgpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0LnRpdGxlKGVlLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1tZXRhSW5mbygpe3JldHVybiB0aGlzLl9waW5lU2NyaXB0Lm1ldGFJbmZvKCl9c2NyaXB0SWRQYXJ0KCl7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7cmV0dXJuIGU/LnNjcmlwdElkUGFydD8/bnVsbH1hc3luYyBzaG93UGluZVNvdXJjZUNvZGUoZSl7aWYoKDAscy5hc3NlcnQpKHRoaXMuX2lzQWJsZVNob3dTb3VyY2VDb2RlLnZhbHVlKCksIlNvdXJjZSBjb2RlIG5vdCBhdmFpbGFibGUhIChDaGVjayBhYmlsaXR5IHNob3cgc291cmNlIGNvZGUgYmVmb3JlIC0gY2FsbCBjYW5TaG93U291cmNlQ29kZSgpKSIpLCF3aW5kb3cud2lkZ2V0YmFyKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFNvdXJjZUNvZGVEYXRhKCIiKTtudWxsIT09dCYmYXdhaXQoMCx0ZS5hY3RpdmF0ZVBpbmVFZGl0b3JEaWFsb2cpKHtzY3JpcHRJbmZvOntzY3JpcHQ6e3NjcmlwdElkUGFydDp0LnNjcmlwdElkUGFydCx2ZXJzaW9uOnQucGluZVZlcnNpb259LHBhcmFtczplfSxvcGVuU291cmNlSWQ6ImNoYXJ0X2xlZ2VuZCJ9KX1hc3luYyByZXF1ZXN0VXBkYXRlSW5mb3JtYXRpb24oKXtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuIG51bGw7Y29uc3QgZT10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2NvbnN0e3NjcmlwdElkUGFydDp0LHBpbmVWZXJzaW9uOmF9PWU7aWYoIXJlKHQpKXJldHVybiBudWxsO2NvbnN0IHM9YXdhaXQoMCxuLmdldExhc3RWZXJzaW9uKSh0KTtyZXR1cm4gcz97Y3VycmVudFZlcnNpb246dS5WZXJzaW9uLnBhcnNlKGEpLGxhc3RWZXJzaW9uOnUuVmVyc2lvbi5wYXJzZShzLnZlcnNpb24pfTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyByZXF1ZXN0U2NyaXB0SW5mbygpe2lmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMuc2NyaXB0SWRQYXJ0KCk7aWYoIWUpcmV0dXJuIG51bGw7aWYoIV8uU3R1ZHlNZXRhSW5mby5oYXNQdWJTdWZmaXgoZSkpcmV0dXJuIG51bGw7aWYobmUuX3BpbmVQdWJTY3JpcHRJbmZvQ2FjaGUuaGFzKGUpKXJldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5nZXQoZSk/P251bGw7Y29uc3QgdD1hd2FpdCgwLFkucmVxdWVzdFNjcmlwdEluZm8pKGUpO3JldHVybiBuZS5fcGluZVB1YlNjcmlwdEluZm9DYWNoZS5zZXQoZSx0KSx0fWFzeW5jIHVwZGF0ZVRvVmVyc2lvbihlLHQsYSl7Y29uc3Qgcz10aGlzLl9nZXRTb3VyY2VDb2RlRGF0YSgiIik7aWYoIXMpcmV0dXJuOygwLGkudHJhY2tFdmVudCkoIkdVSSIsIlVwZGF0ZSBzdHVkeSB2ZXJzaW9uIik7Y29uc3Qgbz1hd2FpdCgwLGMuc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6InBpbmUiLHBpbmVJZDpzLnNjcmlwdElkUGFydCxwaW5lVmVyc2lvbjp0LnRvU3RyaW5nKCl9KTtpZighdGhpcy5fZGVzdHJveWVkKXtjb25zdCB0PWE/ZS5hbGxVbmRvTW9kZWxzKCk6W2VdLHM9YT97c2NyaXB0SWRQYXJ0Om8uc2NyaXB0SWRQYXJ0LHNjcmlwdFZlcnNpb25Ub1VwZGF0ZToiYWxsIn06e3N0dWR5OnRoaXMuX3BpbmVTY3JpcHR9LGk9dC5tYXAoKGU9Pm5ldyBKKGUubW9kZWwoKSxzLG8pKSkuZmlsdGVyKChlPT5lLnVwZGF0ZVNjcmlwdHNJZHMoKS5sZW5ndGg+MCkpLHI9dFswXS51bmRvSGlzdG9yeSgpO2lmKGkubGVuZ3RoKXtyLmJlZ2luVW5kb01hY3JvKHNlKTtmb3IoY29uc3QgZSBvZiBpKXIucHVzaFVuZG9Db21tYW5kKGUpO3IuZW5kVW5kb01hY3JvKCl9fX1waW5lU291cmNlRWRpdG9yU3RhdHVzKCl7cmV0dXJuIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXN9YXN5bmMgX2luaXRPcGVuZWRTY3JpcHRzKCl7Y29uc3QgZT1hd2FpdCgwLGFlLmdldE9wZW5lZFBpbmVTY3JpcHRzKSgpO3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2dldFNjcmlwdEluZm89ZS5nZXRTY3JpcHRJbmZvLmJpbmQoZSksdGhpcy5fb3BlbmVkU2NyaXB0cz1lLnNjcmlwdHMoKS5zcGF3bigpLHRoaXMuX29wZW5lZFNjcmlwdHM/LnN1YnNjcmliZSh0aGlzLl91cGRhdGVQaW5lU291cmNlRWRpdG9yU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pKX0KX3VwZGF0ZVBpbmVTb3VyY2VFZGl0b3JTdGF0dXMoKXtjb25zdCBlPXRoaXMuX3BpbmVTY3JpcHQubWV0YUluZm8oKTtpZighdGhpcy5faXNBYmxlU2hvd1NvdXJjZUNvZGUudmFsdWUoKXx8bnVsbD09PWV8fG51bGw9PT10aGlzLl9nZXRTY3JpcHRJbmZvKXJldHVybiB2b2lkIHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoMCk7Y29uc3QgdD10aGlzLl9nZXRTY3JpcHRJbmZvKHtzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/LnZlcnNpb259KTtsZXQgYT0wO251bGwhPT10JiYodC5kaWFsb2dDb3VudD4wP2E9MTp0LmRldGFjaENvdW50PjA/YT0yOnQuYm90dG9tQ291bnQ+MCYmKGE9MykpLHRoaXMuX3BpbmVTb3VyY2VFZGl0b3JTdGF0dXMuc2V0VmFsdWUoYSl9fW5lLl9waW5lUHViU2NyaXB0SW5mb0NhY2hlPW5ldyBNYXB9LDIyMzA4MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOCA0SDVhMSAxIDAgMCAwLTEgMXY4YTEgMSAwIDAgMCAxIDFoOGExIDEgMCAwIDAgMS0xdi0zaDF2M2wtLjAxLjIwNGEyIDIgMCAwIDEtMS43ODYgMS43ODVMMTMgMTVINWEyIDIgMCAwIDEtMS45OS0xLjc5NkwzIDEzVjVhMiAyIDAgMCAxIDItMmgzem03IDNoLTFWNC42OUw5LjcxIDkuMDA1IDkuMDAxIDguMyAxMy4yNzcgNEgxMVYzaDR6Ii8+PC9zdmc+J30sMTI1ODk3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSA5IiB3aWR0aD0iMTEiIGhlaWdodD0iOSIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTAuOTk5ODc4IDRMMy45OTk4OCA3TDkuOTk5ODggMSIvPjwvc3ZnPid9LDkxMzYxMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAyLjA1Yy4zNyAwIC42Ny4zLjY3LjY3di44OGwuNjQtLjMzYS42Ny42NyAwIDAgMSAuNjEgMS4xOWwtMS4yNS42NHYxLjEyYy41OC4xNCAxLjEuNDYgMS40OC44OWwxLjE4LS42N1Y1YzAtLjM2LjMtLjY2LjY3LS42NS4zNyAwIC42Ny4zLjY3LjY2di42OGwuNzItLjRhLjY3LjY3IDAgMSAxIC42NSAxLjE1bC0uNzIuNDIuNi4zN2MuMy4yLjQuNi4yLjkyLS4yLjMtLjYxLjQtLjkyLjJMMTMgNy42bC0xLjIyLjdhMi44IDIuOCAwIDAgMS0uMDQgMS40OGwxLjI3LjcgMS4xOC0uNzdjLjMxLS4yLjczLS4xMi45My4xOS4yLjMuMTEuNzItLjIuOTJsLS42LjM5LjcyLjRhLjY3LjY3IDAgMCAxLS42NSAxLjE3bC0uNzItLjRWMTNhLjY3LjY3IDAgMCAxLTEuMzQgMHYtMS4zOGwtMS4yNi0uN2MtLjM4LjM4LS44Ni42Ni0xLjQuOHYxLjE4bDEuMjUuNjRhLjY3LjY3IDAgMSAxLS42IDEuMTlsLS42NS0uMzN2Ljg4YS42Ny42NyAwIDAgMS0xLjM0IDB2LS44OGwtLjY0LjMzYS42Ny42NyAwIDEgMS0uNjEtMS4xOWwxLjI1LS42NFYxMS43YTIuODYgMi44NiAwIDAgMS0xLjQtLjhsLTEuMjYuN3YxLjRjMCAuMzYtLjMuNjYtLjY3LjY1YS42Ny42NyAwIDAgMS0uNjctLjY2di0uNjRsLS43LjM5YS42OC42OCAwIDAgMS0uOTItLjI2LjY2LjY2IDAgMCAxIC4yNi0uOWwuNy0uNC0uNTktLjM4YS42Ni42NiAwIDAgMS0uMi0uOTJjLjItLjMuNjItLjQuOTMtLjJsMS4xOC43OCAxLjI3LS43YTIuOCAyLjggMCAwIDEtLjA0LTEuNDdMNC45NyA3LjZsLTEuMi43NWMtLjMuMi0uNzIuMS0uOTItLjItLjItLjMxLS4xLS43Mi4yMS0uOTJsLjYtLjM4LS43LS40YS42Ni42NiAwIDAgMS0uMjQtLjljLjE4LS4zMi42LS40My45MS0uMjVsLjcuNFY1YS42Ny42NyAwIDAgMSAxLjM0IDB2MS40NWwxLjE3LjY3Yy4zOC0uNDQuOS0uNzYgMS41LS45VjUuMWwtMS4yNi0uNjRhLjY3LjY3IDAgMCAxIC42MS0xLjE5bC42NC4zM3YtLjg4YzAtLjM3LjMtLjY3LjY3LS42N1ptMCA4LjRhMS41IDEuNSAwIDAgMCAxLjUyLTEuNDhjMC0uODEtLjY2LTEuNS0xLjUyLTEuNWExLjUgMS41IDAgMCAwLTEuNTIgMS41YzAgLjguNjYgMS40OSAxLjUyIDEuNDlaIi8+PC9zdmc+J30sNzMwMTEwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDQuOTNhNS43MSA1LjcxIDAgMSAxIDAgMTEuNDNBNS43MSA1LjcxIDAgMCAxIDkgNC45M004LjQzIDcuMnYyLjg2SDYuMTR2MS43Mmg0VjcuMnpNNi43IDIuODEgMi4wOSA2LjY2IDEgNS4zMyA1LjYxIDEuNXpNMTcgNS4zNGwtMS4xIDEuMzItNC42MS0zLjgzIDEuMDktMS4zMnoiLz48L3N2Zz4nfSw5MTI4MTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgNWE1IDUgMCAxIDEgMCAxMEE1IDUgMCAwIDEgOSA1bS0uNSAydjIuNWgtMlYxMUgxMFY3ek03IDMuMTUgMi45NiA2LjUgMiA1LjM1IDYuMDQgMnptOSAyLjItLjk2IDEuMTVMMTEgMy4xNSAxMS45NiAyeiIvPjwvc3ZnPid9LDM1MTE4MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTIuNWExLjUgMS41IDAgMSAxIDAgMyAxLjUgMS41IDAgMCAxIDAtM20wLTEwYzEuMDYgMCAxLjg4LjkzIDEuNzUgMS45OGwtLjYyIDUuMDNhMS4xMyAxLjEzIDAgMCAxLTIuMjUgMGwtLjYzLTUuMDNBMS43NyAxLjc3IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sNjQyNzgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDEyYTEgMSAwIDEgMSAwIDIgMSAxIDAgMCAxIDAtMm0wLThjLjc4IDAgMS4zOC43IDEuMjUgMS40OEw5LjU4IDkuNWEuNi42IDAgMCAxLTEuMTYgMGwtLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAxIDkgNCIvPjwvc3ZnPid9LDU3NTE0OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTMuNWMwIC44My0uNjcgMS41LTEuNSAxLjVoLTlBMS41IDEuNSAwIDAgMSAzIDEzLjVWOGgxMnpNNi41IDRoNVYyLjVIMTNWNGguNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxSDN2LTFDMyA0LjY3IDMuNjcgNCA0LjUgNEg1VjIuNWgxLjV6Ii8+PC9zdmc+J30sNTk4MjU3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxMi41NWMwIC44LS41NiAxLjQ1LTEuMjUgMS40NWgtNy41QzQuNTYgMTQgNCAxMy4zNSA0IDEyLjU1VjhoMTB6TTYuOTIgNWg0LjE2VjRoMS4yNXYxaC40MmMuNjkgMCAxLjI1LjYzIDEuMjUgMS40di41NUg0VjYuNEM0IDUuNjMgNC41NiA1IDUuMjUgNWguNDJWNGgxLjI1eiIvPjwvc3ZnPid9LDU2MjQ1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4yMiAzLjUzYTYgNiAwIDAgMSAyLjg2LjY1cTEuMi42NyAxLjgyIDEuOS42MyAxLjI2LjYzIDMuMDJ2LjAycTAgMS44LS42MyAzLjA4YTQuNCA0LjQgMCAwIDEtMS44IDEuOTRxLTEuMi42Ni0yLjg4LjY2SDVWMy41M3ptLTIuMiA5LjU3aDEuOTRxMS4xMSAwIDEuOS0uNDYuOC0uNDUgMS4yLTEuMzQuNDEtLjg4LjQxLTIuMTV2LS4wMXEwLTEuMjQtLjQyLTIuMTFhMyAzIDAgMCAwLTEuMi0xLjM1IDMuNyAzLjcgMCAwIDAtMS45LS40Nkg3LjAyeiIvPjwvc3ZnPid9LDcwMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjE3IDQuNTVxMS4yNiAwIDIuMTQuNS45LjQ5IDEuMzYgMS40Mi40OC45NC40OCAyLjI2di4wMXEwIDEuMzYtLjQ3IDIuMzFhMy4zIDMuMyAwIDAgMS0xLjM2IDEuNDZxLS44OC41LTIuMTUuNUg2VjQuNTR6bS0xLjY2IDcuMThoMS40NnEuODQgMCAxLjQzLS4zNC42LS4zNS45LTEuMDF0LjMtMS42MXYtLjAxcTAtLjkzLS4zLTEuNTktLjMzLS42Ni0uOTEtMS0uNi0uMzUtMS40Mi0uMzVINy41MXoiLz48L3N2Zz4nfSw0NjA0NDgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUuNjUgMTQuOFYzLjUzaDcuM3YxLjdINy42N3YzLjA1aDQuOTl2MS42aC01djMuMjJoNS4yOXYxLjd6Ii8+PC9zdmc+J30sMjg1ODYxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA1LjI2SDcuNTF2Mi41NWgzLjc0djEuMkg3LjUxdjIuNzJoNC41VjEzSDZWNGg2eiIvPjwvc3ZnPid9LDM0MDE1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOS4wMiA0YTMuOTYgMy45NiAwIDAgMCAyLjA5IDcuMjljMS4xNSAwIDIuMTgtLjUgMi45LTEuM0MxMy41MiAxMi4zIDExLjUgMTQgOS4wNCAxNEE1LjAzIDUuMDMgMCAwIDEgNCA5YTUuMDMgNS4wMyAwIDAgMSA1LjAyLTVtMi42NSAyLjMzIDEuMzMuMi0uOTggMS4wMy4yMiAxLjQ0TDExIDguMzQgOS43NiA5bC4yMi0xLjQ0TDkgNi41M2wxLjMzLS4yTDExIDV6Ii8+PC9zdmc+J30sMzc4NTk5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xNSA0LjQxLTQuNTkgNC42TDE1IDEzLjU4bC0xLjQxIDEuNEw5IDEwLjQyIDQuNDIgMTUgMyAxMy41OSA3LjYgOSAzIDQuNDFsMS40MS0xLjRMOSA3LjU4IDEzLjU5IDN6Ii8+PC9zdmc+J30sNzg2NDIwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMTQgNS4wNy0zLjkzIDMuOTQgMy45MSAzLjlMMTIuOTEgMTRsLTMuOS0zLjlMNS4wNyAxNCA0IDEyLjkzbDMuOTItMy45Mkw0IDUuMDggNS4wOCA0IDkgNy45MyAxMi45MiA0eiIvPjwvc3ZnPid9LDEwOTMyNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcgMTNoLTMuNXY0aC0ydi00SDhsNC41LTR6TTYuNSA1SDEwTDUuNSA5IDEgNWgzLjVWMWgyeiIvPjwvc3ZnPid9LDQ2NTEzNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgMTJoLTIuNzZ2M2gtMS41di0zSDhsMy41LTN6TTcuMjQgNkgxMEw2LjUgOSAzIDZoMi43NFYzaDEuNXoiLz48L3N2Zz4nfSw4MzU5ODAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1LjEzIDEwLjA1cS0uODIgMy4yMy0yLjkyIDMuNDRsLS4yOC4wMWgtLjNxLTEuMDUtLjA4LTIuODMtLjYzYTExIDExIDAgMCAwLTIuOC0uNjUgMS44IDEuOCAwIDAgMC0xLjEuMzZxLS40Mi4zMi0uNzEuOTJIMi42N2E1IDUgMCAwIDEgMS4wOC0yLjQ0IDIuNSAyLjUgMCAwIDEgMi0xLjAybC4zLjAxcTEuMTUuMDggMi45NC42NSAyLjAzLjYzIDIuODcuNjMgMS4zNSAwIDEuOC0xLjI4em0wLTUuNTJxLS44OSAzLjQ1LTMuMiAzLjQ2LS4yOSAwLS42MS0uMDQtMS0uMTItMi41Mi0uNkExMSAxMSAwIDAgMCA2IDYuN1E0LjggNi43IDQuMTggOEgyLjY3YTUgNSAwIDAgMSAxLjA4LTIuNDQgMi41IDIuNSAwIDAgMSAyLTEuMDJxMS4yIDAgMy4yNC42NSAyLjAzLjY0IDIuODcuNjQgMS4zNSAwIDEuOC0xLjI5eiIvPjwvc3ZnPid9LDU1NDY0MShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOS43OHEtLjcgMi43Ny0yLjU3IDIuNzctLjkgMC0yLjUtLjVhOSA5IDAgMCAwLTIuMjYtLjUzcS0uOTUgMC0xLjQ1IDEuMDNINHEuMi0xLjE1Ljg4LTEuOTZ0MS41OS0uODFxLjk2IDAgMi42LjUyIDEuNjQuNSAyLjMuNTEgMS4xIDAgMS40NS0xLjAzem0wLTQuNDNxLS43IDIuNzgtMi41NyAyLjc4LS45IDAtMi41LS41MWE5IDkgMCAwIDAtMi4yNi0uNTJxLS45NSAwLTEuNDUgMS4wM0g0cS4yLTEuMTUuODgtMS45NnQxLjU5LS44MnEuOTYgMCAyLjYuNTNhOSA5IDAgMCAwIDIuMy41cTEuMSAwIDEuNDUtMS4wM3oiLz48L3N2Zz4nfSw3NzM0NjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTggMTMgNCA5bDQtNHptNCAwTDggOWw0LTR6Ii8+PC9zdmc+J30sOTk5MzAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDQuNzVINi42NmMtLjM3IDAtLjU4LjI3LS41OC41di45NkEzLjYgMy42IDAgMCAxIDQuNTMgOWEzLjYgMy42IDAgMCAxIDEuNTUgMi44di45NWMwIC4yMy4yMS41LjU4LjVIOHYxLjVINi42NmMtMS4xIDAtMi4wOC0uODUtMi4wOC0ydi0uOTZjMC0uNy0uNi0xLjUtMS41LTEuOTJsLS4yLS4xYS44NS44NSAwIDAgMSAwLTEuNTRsLjItLjFjLjktLjQyIDEuNS0xLjIxIDEuNS0xLjkydi0uOTZjMC0xLjE1Ljk4LTIgMi4wOC0ySDh6bTMuMzQtMS41YzEuMSAwIDIuMDkuODUgMi4wOSAydi45NmMwIC43LjYgMS41IDEuNDkgMS45MmwuMi4xYS44NS44NSAwIDAgMSAwIDEuNTRsLS4yLjFjLS45LjQyLTEuNSAxLjIxLTEuNSAxLjkydi45NmMwIDEuMTUtLjk4IDItMi4wOCAySDEwdi0xLjVoMS4zNGMuMzcgMCAuNTktLjI3LjU5LS41di0uOTZjMC0xLjE1LjY3LTIuMTQgMS41NC0yLjc5YTMuNiAzLjYgMCAwIDEtMS41NC0yLjh2LS45NWMwLS4yMy0uMjItLjUtLjYtLjVIMTB2LTEuNXoiLz48L3N2Zz4nfSw3ODc2MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjcyIDMuMzdhMi4zIDIuMyAwIDEgMSAyLjc0IDMuMzNsLS4wMiA0LjkzYTIuMyAyLjMgMCAwIDEgMS4yMyAzLjMzIDIuMyAyLjMgMCAwIDEtNC4yNS0xLjZMNi4yIDEwLjk1YTIuMyAyLjMgMCAxIDEtLjAxLTMuNDlsNC4yNi0yLjQ4YTIuMyAyLjMgMCAwIDEgLjI2LTEuNk02Ljk1IDguNzVxLjA5LjQ0IDAgLjg5bDQuMjIgMi40M3EuMzQtLjMuNzctLjQ0bC4wMi00Ljk0YTIgMiAwIDAgMS0uNzQtLjQzeiIvPjwvc3ZnPid9LDMxMTExNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuODcgNC4xM0EyIDIgMCAxIDEgMTIuMzQgN2wtLjAyIDQuMzUuMjQuMTJhMiAyIDAgMSAxLTIuOTggMS40NmwtMy43Mi0yLjE1YTIgMiAwIDEgMSAwLTMuMTZsMy43Ni0yLjJhMiAyIDAgMCAxIC4yNS0xLjI4TTYuNiA4LjkxYTIgMiAwIDAgMSAwIC41NmwzLjcyIDIuMTVhMiAyIDAgMCAxIC40OS0uMjhsLjAyLTQuMzZhMiAyIDAgMCAxLS40Ny0uMjd6Ii8+PC9zdmc+J30sMTkyNzU1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjYgMi4wMmE0LjU4IDQuNTggMCAwIDEgMi44NC43NmMuMzguMjYgMS4wMi44MyAxLjM1IDEuMjJhOS42IDkuNiAwIDAgMSAyLjAzIDQuMTVMMTMuNSA5LjYyIDExLjcgNy42IDkuODcgOS42MiA4LjY1IDguMjRsLTEuMTUuOSAyLjM4IDIuNjYgMS44MS0yLjAyIDEuOCAyLjAyTDE1IDEwLjEycS0uMDMgMS4wMS0uMyAxLjg2YTUuOCA1LjggMCAwIDEtNS4xNSA0IDYuMjYgNi4yNiAwIDAgMS00LjE4LTEuMSA4IDggMCAwIDEtLjk1LS44NiA2IDYgMCAwIDEtMS4zOS0zLjE1IDEzIDEzIDAgMCAxIC4wMi0yLjAyIDkuNiA5LjYgMCAwIDEgMi4yNy01Yy4yNi0uMy45LS44NSAxLjIyLTEuMDYuNjYtLjQzIDEuMzgtLjcgMi4wNi0uNzciLz48L3N2Zz4nfSw5MDg0MDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuMjkgMy4wMnEuOS4wOCAxLjc0LjY1Yy4zMy4yMi44NS43IDEuMTMgMS4wNGE4IDggMCAwIDEgMS42OSAzLjU2bC0xLjEgMS4yNi0xLjUtMS43My0xLjUxIDEuNzNMOC43IDguMzVsLS45Ni43NyAxLjk5IDIuMjggMS41LTEuNzMgMS41MSAxLjczTDE0IDkuOTZhNiA2IDAgMCAxLS4yNCAxLjYgNC44IDQuOCAwIDAgMS00LjMgMy40MiA1LjE1IDUuMTUgMCAwIDEtMy40OC0uOTQgNyA3IDAgMCAxLS44LS43NCA1IDUgMCAwIDEtMS4xNS0yLjdDNCAxMC4zIDQgOS4xOSA0LjA0IDguODdjLjI0LTEuNjYuOS0zLjEzIDEuOS00LjI4LjIxLS4yNS43NS0uNzMgMS0uOTFxLjg2LS41NiAxLjczLS42NmMuMjUtLjAzLjM3LS4wMy42MiAwIi8+PC9zdmc+J30sOTEzODQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0zLjM5IDguNzkgMi41OC43LS4zNyAxLjM1LTEuNTItLjQxYTUuMTIgNS4xMiAwIDAgMCA5LjguMWwxLjM1LjRhNi41MiA2LjUyIDAgMCAxLTEyLjQuMmwtLjc3IDEuMDYtMS4xMy0uODMgMS43MS0yLjMxLjI4LS4zOXptMTEuOTUuMjMtLjMzLjQzLS41LS4yMS4yOC0uNjV6TTkgMi41YTYuNSA2LjUgMCAwIDEgNi4xNyA0LjQ3bC43Ny0uOTkgMS4xLjg3LTEuNyAyLjE3LS41NS0uNDMtLjI3LjY1LTIuNTktMS4xMS41Ni0xLjI5IDEuMzYuNTlBNS4xIDUuMSAwIDAgMCA5IDMuOSA1LjEgNS4xIDAgMCAwIDQuMSA3LjUzbC0xLjM0LS40MUE2LjUgNi41IDAgMCAxIDkgMi41Ii8+PC9zdmc+J30sOTg5ODcyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjE2IDguNjUtLjE4LjY4emwyLjI0LjYxLS4zNyAxLjM1LTEuMTUtLjMxYTQuMzQgNC4zNCAwIDAgMCA4LjI3LS4wOGwxLjM0LjQxYTUuNzQgNS43NCAwIDAgMS0xMC44Ni4zNGwtLjU3Ljc3LTEuMTItLjgzIDEuNDgtMiAuMjgtLjM4ek05IDMuMmE1Ljc1IDUuNzUgMCAwIDEgNS4zOSAzLjc3bC41Ni0uNzIgMS4xLjg3TDE0LjU4IDlsLS4zNC40Mi0uNS0uMjEtMi4yMy0uOTYuNTUtMS4yOS45OS40MkE0LjM1IDQuMzUgMCAwIDAgOSA0LjZjLTEuOTQgMC0zLjYgMS4zLTQuMTQgMy4wOGwtMS4zNC0uNDFBNS43NSA1Ljc1IDAgMCAxIDkgMy4yIi8+PC9zdmc+J30sOTIwNDc1KGUsdCxhKXsidXNlIHN0cmljdCI7YS5kKHQse2RlZmF1bHQ6KCk9Pmx9KTtjb25zdCBzPWU9PmUgaW5zdGFuY2VvZiBEYXRlLG89ZT0+bnVsbCE9ZSYmIm9iamVjdCI9PXR5cGVvZiBlLGk9KGUsLi4udCk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLC4uLnQpLHI9ZT0+byhlKSYmKGU9PjA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgpKGUpLG49KGUsdCk9PntpZihlPT09dClyZXR1cm57fTtpZighbyhlKXx8IW8odCkpcmV0dXJuIHQ7Y29uc3QgYT1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChlLGEpPT4oaSh0LGEpfHwoZVthXT12b2lkIDApLGUpKSxPYmplY3QuY3JlYXRlKG51bGwpKTtyZXR1cm4gcyhlKXx8cyh0KT9lLnZhbHVlT2YoKT09dC52YWx1ZU9mKCk/e306dDpPYmplY3Qua2V5cyh0KS5yZWR1Y2UoKChhLG8pPT57aWYoIWkoZSxvKSlyZXR1cm4gYVtvXT10W29dLGE7Y29uc3QgbD1uKGVbb10sdFtvXSk7cmV0dXJuIXIobCl8fHMobCl8fCFyKGVbb10pJiZyKHRbb10pPyhhW29dPWwsYSk6YX0pLGEpfSxsPW59fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:49.252Z","timestamp":1785136429252,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tZOSQBP946Q\r\nCookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; YSC=seM8HdZ9Ato; __Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; VISITOR_INFO1_LIVE=-NYM_ljp5ZA; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D\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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 205847\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:23 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:23 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 238646\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":698252,"size_decoded":206761,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2659)","md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T16:56:48.623387Z","times_seen":646,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uQ3Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnNlcnZpY2VJZD1uZXcgXy5OcihhLGIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuc2VydmljZUlkLnRvU3RyaW5nKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiaXVUNU9jIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3dDtfLnZ0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18ueHQ9ZnVuY3Rpb24oYSxiKXtiLmhhc093blByb3BlcnR5KCJkaXNwbGF5TmFtZSIpfHwoYi5kaXNwbGF5TmFtZT1hLnRvU3RyaW5nKCkpO2Jbd3RdPWF9O3d0PVN5bWJvbCgiSWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JZT1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLkllLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfTtfLkZ0PW5ldyBfLk5yKCJNcEp3WmMiLCJNcEp3WmMiKTt2YXIgR3Q7R3Q9bmV3IF8uSWU7Xy5IdD1jbGFzcyBleHRlbmRzIF8uSmV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihHdCxhKTt0aGlzLm5vZGU9YTt0aGlzLmtpbmQ9Yn19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBBQSxCQSxEQSxXYWEsWGFhLE9BLFBBLCRhYSxhYmEsU0EsVEEsZGJhLGViYSxmYmEsZEIsZ2JhLGpiYSxrYmEsaEIsa0IsbEIsckIsc0IsdEIsdUIsdkIsd0IsbmJhLHBiYSxvYmEsRUIsc2JhLERCLEZCLEhCLHRiYSx1YmEsdmJhLFFCLFNCLFRCLHdiYSxhQyxZQixjQyxVQixlQyxoQyxpQyxrQyx5YmEsemJhLEFiYSxzQyx2QyxEYmEsekMsQ0MsRmJhLEdiYSxFYmEsVmFhLEtBLG9DO18ueUE9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uZmIpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307Xy56QT1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYS50YWdOYW1lKSl0aHJvdyBFcnJvcigiaCIpO2EuaW5uZXJIVE1MPV8ueUEoYil9O0FBPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307Zm9yKGxldCBkIGluIGEpY1tkXT1iLmNhbGwodm9pZCAwLGFbZF0sZCxhKTtyZXR1cm4gY307Cl8uSXQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTWEiKTt9O0JBPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsMix2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uZ2IoYSl9O18uQ0E9ZnVuY3Rpb24oYT0zKXt2YXIgYj1fLlp0O2lmKCFiKXtzd2l0Y2goYSl7Y2FzZSAwOmE9RXJyb3IoIlJhIik7YnJlYWs7Y2FzZSAxOmE9RXJyb3IoIlVhIik7YnJlYWs7Y2FzZSAyOmE9RXJyb3IoIlZhIik7YnJlYWs7ZGVmYXVsdDphPUVycm9yKCJXYSIpfXRocm93IGE7fXJldHVybiBifTtEQT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9T2JqZWN0LmNyZWF0ZShWYWEpO2Quc291cmNlPWE7ZC5UZz1iO2MhPXZvaWQgMCYmKGQuZXF1YWw9Yyk7YT0oKT0+e18ucnUoZCk7Xy5wdShkKTtpZihkLnZhbHVlPT09Xy5Jdil0aHJvdyBkLmVycm9yO3JldHVybiBkLnZhbHVlfTthW18uWnVdPWQ7cmV0dXJuIGF9OwpfLkVBPWZ1bmN0aW9uKGEpe3ZhciBiPV8ua3UobnVsbCk7dHJ5e3JldHVybiBhKCl9ZmluYWxseXtfLmt1KGIpfX07V2FhPWZ1bmN0aW9uKGEpe2E9e1tfLkV1XTohMCxkZWJ1Z05hbWU6YX07IV8uWnR8fF8uQnUoYSk7cmV0dXJuIGF9O18uRkE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGVidWdOYW1lfHxhLm5hbWV8fCJbY29tcG9uZW50XSJ9O18uR0E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uRkEoYSk7Xy5NdT17bmFtZTpjP2Ake2R9ICgke2N9KWA6ZCxsajphLmNvbXBvbmVudFR5cGUhPT1fLkt2LHBhcmVudDpfLk11fTthPWIoKTtfLk11PV8uTXUucGFyZW50O3JldHVybiBhfTtfLkhBPWZ1bmN0aW9uKCl7dmFyIGE9Xy5NdTtyZXR1cm4gYT9hLmxqOiExfTtfLklBPWZ1bmN0aW9uKGEpe18uZ3YtLTtpZihhKWZvcihsZXQgYiBvZiBfLll2KWIuY2xlYXIoKTtlbHNlIF8uZ3Y+MHx8Xy5jdi5pc0ZsdXNoaW5nJiYhXy5LdS5SaXx8Xy5qdigpfTsKXy5KQT1mdW5jdGlvbihhLGIpe2I9e2NvbXBvbmVudFN0YWNrOl8uU3UoXy5QdSkscHI6Xy5RdT8uc2xpY2UoKT8/W10sZmg6MyxBbDpfLkx1KCksdGFnTmFtZTpifTtyZXR1cm5bYSxiXX07Xy5MQT1mdW5jdGlvbigpe2lmKHR5cGVvZiBLQT09PSJmdW5jdGlvbiIpdmFyIGE9S0E7ZWxzZSBpZih0eXBlb2YgS0E9PT0ib2JqZWN0IilhPUtBLmNvbnN0cnVjdG9yO2Vsc2UgdGhyb3cgRXJyb3Iodm9pZCAwKTtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSl9O1hhYT1mdW5jdGlvbigpe2lmKCFfLnU/LlN5bWJvbD8uZm9yKXJldHVybiBuZXcgV2Vha01hcDt2YXIgYT1TeW1ib2wuZm9yKCJnb29nbGUuZ29lbSIpLGI9Xy51W2FdO2lmKGIpcmV0dXJuIGI7Yj1uZXcgV2Vha01hcDtyZXR1cm4gXy51W2FdPWJ9OwpPQT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudGFnTmFtZSxkPWEudGFnTmFtZTthPU1BLmhhcyhkKSYmIVlhYS5oYXMoZCk7KChiPU1BLmhhcyhjKSl8fGEpJiZhJiYhYiYmTkEuaGFzKGMudG9Mb3dlckNhc2UoKSkmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJJYmAiK2MrImAiK2QpLDIsYyk7fSl9O1BBPWZ1bmN0aW9uKCl7fTtfLlFBPWZ1bmN0aW9uKGEsYixjKXtpZihjPT1udWxsKWEucmVtb3ZlQXR0cmlidXRlKGIpO2Vsc2V7dmFyIGQ7KGQ9Yi5sYXN0SW5kZXhPZigieG1sOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiOmIubGFzdEluZGV4T2YoInhsaW5rOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIjpudWxsKT9hLnNldEF0dHJpYnV0ZU5TKGQsYixjKTphLnNldEF0dHJpYnV0ZShiLGMpfX07CiRhYT1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO2lmKHR5cGVvZiBjPT09InN0cmluZyIpYS5jc3NUZXh0PWM7ZWxzZXthLmNzc1RleHQ9IiI7Zm9yKGxldCBmIGluIGMpaWYoWmFhLmNhbGwoYyxmKSl7Yj1hO3ZhciBkPWYsZT1jW2ZdO2QuaW5kZXhPZigiLSIpPj0wP2Iuc2V0UHJvcGVydHkoZCxlKTpiW2RdPWV9fX07YWJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10eXBlb2YgYztkPT09Im9iamVjdCJ8fGQ9PT0iZnVuY3Rpb24iP2FbYl09YzpfLlFBKGEsYixjKX07U0E9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgUEE7YVtfLlJBLmRlZmF1bHRdPWFiYTthLnN0eWxlPSRhYTtyZXR1cm4gYX07VEE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYj09YyYmZD09ZX07Xy5YQT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlVBLGI9Xy5WQSgpO2IhPT1udWxsOyl7bGV0IGM9Yi5uZXh0U2libGluZzthLnJlbW92ZUNoaWxkKGIpO18uV0EuZGVsZXRlZC5wdXNoKGIpO2I9Y319OwpfLlZBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uWUE/Xy5ZQS5uZXh0U2libGluZzpfLlVBLmZpcnN0Q2hpbGR9OwpkYmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uV0EsZT1fLlpBLGY9Xy4kQSxoPV8uYUIsaz1fLllBLGw9Xy5VQSxtPV8uYkI7Xy5aQT1hLm93bmVyRG9jdW1lbnQ7Xy5XQT1uZXcgYmJhKGEpO18uYkI9YjtfLmFCPVtdO18uWUE9bnVsbDtiPV8uVUE9YS5wYXJlbnROb2RlO3ZhciBuPWNiYS5jYWxsKGEpO2lmKChuPW4ubm9kZVR5cGU9PT0xMXx8bi5ub2RlVHlwZT09PTk/bi5hY3RpdmVFbGVtZW50Om51bGwpJiZhLmNvbnRhaW5zKG4pKXtmb3IoYT1bXTtuIT09YjspYS5wdXNoKG4pLG49bi5wYXJlbnROb2RlfHwoYj9uLmhvc3Q6bnVsbCk7Yj1hfWVsc2UgYj1bXTtfLiRBPWI7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtjPV8uV0EsXy5jQiYmYy5kZWxldGVkLmxlbmd0aD4wJiYoMCxfLmNCKShjLmRlbGV0ZWQpLF8uWkE9ZSxfLldBPWQsXy5iQj1tLF8uYUI9aCxfLllBPWssXy5VQT1sLF8uJEE9Zn19OwplYmE9ZnVuY3Rpb24oYSxiPXt9KXt2YXIge21hdGNoZXM6Yz1UQX09YjtyZXR1cm4oZCxlLGYpPT5kYmEoZCxjLCgpPT5hKGQsZSxmKSl9O2ZiYT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtmb3IodmFyIGI9KGQsZSxmKT0+e3ZhciBoPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpO2ZvcihsZXQgbD0wO2w8aDtsKyspe3ZhciBrPWVbZitsXTtpZihkW2xdIT09KCJBIjw9ayYmazw9IloiP2sudG9Mb3dlckNhc2UoKTprKSlyZXR1cm4hMX1yZXR1cm4hMH0sYz0wOyhjPWEuaW5kZXhPZigiPCIsYykpIT0tMTspe2lmKGIoIlx4M2Mvc2NyaXB0IixhLGMpfHxiKCJceDNjIS0tIixhLGMpKXJldHVybiJ6U295eiI7Yys9MX1yZXR1cm4gYX07CmRCPWZ1bmN0aW9uKGEpe2lmKGEuaXNDb25uZWN0ZWQhPT12b2lkIDApcmV0dXJuIGEuaXNDb25uZWN0ZWQ7dmFyIGI9YS5vd25lckRvY3VtZW50O2lmKCFiKXJldHVybiBhPT09ZG9jdW1lbnQ7aWYodHlwZW9mIGIuY29udGFpbnM9PT0iZnVuY3Rpb24iKXJldHVybiBiLmNvbnRhaW5zKGEpO2Zvcig7YTspe2lmKGE9PT1iKXJldHVybiEwO2E9YS5wYXJlbnROb2RlfXJldHVybiExfTtnYmE9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1fLkNBKCksZD1fLk11O3JldHVybiBlPT57dmFyIGY9ITEsaD1lLmN1cnJlbnRUYXJnZXQ7aCYmKGY9IWRCKGgpfHxiJiZoW2VCXT09PSEwKTt2YXIgaz1jPy5pYSxsPWImJmgmJmhbZUJdPT09ITA7aWYoZnx8ayl7aWYoaCYmZEIoaCkmJihrfHxsKSl0aHJvdyBfLlV1KEVycm9yKCJrYyIpLDQpO31lbHNle3ZhciBtPSgpPT5hKGUpO3RyeXtfLlJ1KCgpPT5fLkVBKG0pLGQpfWNhdGNoKG4pe18ub3YobixjKX19fX07Cl8uZ0I9ZnVuY3Rpb24oYSxiLGMpe2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZCLGEpJiYoYT1mQlthXSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpJiYoYT1hW2JdLGEgaW5zdGFuY2VvZiBBcnJheSkpKXtsZXQgZT1udWxsLGY9ITE7Zm9yKGxldCBoPTAsaz1hLmxlbmd0aDtoPGs7KytoKXtsZXQgbD1hW2hdO3ZhciBkPWwuaWI7aWYoIWQpcmV0dXJuIGwua2E7ZT09PW51bGwmJihlPXt9KTtkPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsZCk/ZVtkXTplW2RdPWMoZCk7aWYoZD09PWwubmIpcmV0dXJuIGwua2E7ZD09bnVsbCYmKGY9ITApfWlmKGYpcmV0dXJuIG51bGx9Yj1oYmFbYl07cmV0dXJuIHR5cGVvZiBiPT09Im51bWJlciI/YjpudWxsfTsKamJhPWZ1bmN0aW9uKGEsYil7Yj1fLmdCKGEudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgXy5VdShFcnJvcigibWMiKSw0LGEudG9Mb3dlckNhc2UoKSk7fSk7cmV0dXJuIGI9PT1udWxsP251bGw6aWJhW2JdPz9udWxsfTtrYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKGM9PT1udWxsfHxjPT09dm9pZCAwKXJldHVybiBjO2I9Yi50b0xvd2VyQ2FzZSgpO2E9amJhKGEsYik7cmV0dXJuIGE9PT1udWxsP2M6YShiLGMpfTtoQj1mdW5jdGlvbihhLGIpe3ZhciBjPVdhYShiKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18uaUI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSk/Im5vZGVUeXBlImluIGE6ITF9O18uakI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaUIoYSkmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX07a0I9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTsKbEI9ZnVuY3Rpb24oYSl7YT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpO2EuX2lzU2lnbmFsVGV4dE5vZGU9ITA7cmV0dXJuIGF9O18ub0I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEuR2k9PT1fLm1CfHxhIGluc3RhbmNlb2YgXy5mYnx8bkIoYSl9O18ucEI9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobkIoYSkmJkJBKGEpKV8uekEoYixCQShhKSk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5mYilfLnpBKGIsYSk7ZWxzZSBpZihhIT1udWxsJiZhLkdpPT09Xy5tQil7aWYoYS5HaSE9PV8ubUIpdGhyb3cgRXJyb3IoIk5hIik7YT1fLmdiKGEudG9TdHJpbmcoKSk7Xy56QShiLGEpfWZvcihsZXQgYyBvZiBiLmNoaWxkTm9kZXMpYy5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZT0hMDtyZXR1cm4gYn07Cl8ucUI9ZnVuY3Rpb24oYSl7YT10eXBlb2YgYTtyZXR1cm4gYT09PSJzdHJpbmcifHxhPT09Im51bWJlciJ8fGE9PT0iYm9vbGVhbiJ9O3JCPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYXx8Xy5YYShhKXx8ITF9O3NCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5wYXJlbnRFbGVtZW50O2lmKCFjKXJldHVybiBiO18uakIoYikmJk9BKGMsYik7Yy5yZXBsYWNlQ2hpbGQoYixhKTtyZXR1cm4gYn07dEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7aWYoYylpZihhWzBdLnByZXZpb3VzU2libGluZ3x8YVthLmxlbmd0aC0xXS5uZXh0U2libGluZyl7Yy5pbnNlcnRCZWZvcmUoYixhWzBdKTtmb3IobGV0IGQ9YS5sZW5ndGgtMTtkPj0wO2QtLSljLnJlbW92ZUNoaWxkKGFbZF0pfWVsc2UgYy50ZXh0Q29udGVudD0iIixjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifTsKdUI9ZnVuY3Rpb24oYSxiKXtpZihhWzBdLnBhcmVudEVsZW1lbnQpe3ZhciBjPWFbMF0ucGFyZW50RWxlbWVudDtsZXQgZj1iLmxlbmd0aCxoPWEubGVuZ3RoLGs9ZixsPTAsbT0wLG49YVtoLTFdLm5leHRTaWJsaW5nLHA9bnVsbDtmb3IoO2w8aHx8bTxrOylpZihhW2xdPT09YlttXSlsKyssbSsrO2Vsc2V7Zm9yKDthW2gtMV09PT1iW2stMV07KWgtLSxrLS07aWYoaD09PWwpZm9yKHZhciBkPWs8Zj9tP2JbbS0xXS5uZXh0U2libGluZzpiW2stbV06bjttPGs7KXt2YXIgZT1iW20rK107Xy5qQihlKSYmT0EoYyxlKTtjLmluc2VydEJlZm9yZShlLGQpfWVsc2UgaWYoaz09PW0pZm9yKDtsPGg7KWQ9YVtsXSxwJiZwLmhhcyhkKXx8Yy5yZW1vdmVDaGlsZChkKSxsKys7ZWxzZSBpZihhW2xdPT09YltrLTFdJiZiW21dPT09YVtoLTFdKWQ9YVstLWhdLm5leHRTaWJsaW5nLGMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxhW2wrK10ubmV4dFNpYmxpbmcpLGMuaW5zZXJ0QmVmb3JlKGJbLS1rXSxkKSwKYVtoXT1iW2tdO2Vsc2V7aWYoIXApZm9yKHA9bmV3IE1hcCxkPW07ZDxrOylwLnNldChiW2RdLGQrKyk7ZD1wLmdldChhW2xdKTtpZihkPT1udWxsKWMucmVtb3ZlQ2hpbGQoYVtsXSksbCsrO2Vsc2UgaWYobTxkJiZkPGspe2U9bDtsZXQgcj0xLHQ7Zm9yKDsrK2U8aCYmZTxrOyl7dD1wLmdldChhW2VdKTtpZih0PT1udWxsfHx0IT09ZCtyKWJyZWFrO3IrK31pZihyPmQtbSlmb3IoZT1hW2xdO208ZDspYy5pbnNlcnRCZWZvcmUoYlttKytdLGUpO2Vsc2UgYy5yZXBsYWNlQ2hpbGQoYlttKytdLGFbbCsrXSl9ZWxzZSBsKyt9fX1yZXR1cm4gYn07dkI9ZnVuY3Rpb24oYSl7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE/LnBhcmVudEVsZW1lbnQ7Zm9yKGxldCBiIG9mIGEpaWYoYT12QihiKSlyZXR1cm4gYTtyZXR1cm4gbnVsbH07d0I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9kaXNwb3NlRWZmZWN0czthLl9kaXNwb3NlRWZmZWN0cz1jPygpPT57YygpO2IoKX06Yn07Cl8uekI9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImJvb2xlYW4iJiZsYmEuaGFzKGIpKV8uUUEoYSxiLFN0cmluZyhjKSk7ZWxzZSBpZihjPT09ITEmJm1iYS5oYXMoYikpXy5RQShhLGIsbnVsbCk7ZWxzZSBpZihiIT09Imlkb21LZXkiJiZiIT09InNraXAiJiZiIT09InNraXBjaGlsZHJlbiImJmIhPT0iY2hpbGRyZW4iJiZiIT09ImVsIilpZihiLnN0YXJ0c1dpdGgoIm9uIikpe2lmKGJbMl0hPT0iOiIpdGhyb3cgXy5VdShFcnJvcigibGNgIitiKSw0LGEudGFnTmFtZSk7bGV0IGY9Yi5zbGljZSgzKTt2YXIgZD1fLkhBKCk7aWYoYz09PXZvaWQgMClkfHxmPT09ImpzYWN0aW9uInx8eEIuaW5jbHVkZXMoZil8fChhW2BvbiR7Zn1gXT1udWxsKTtlbHNlIGlmKGY9PT0ianNhY3Rpb24iKXtjPUFycmF5LmlzQXJyYXkoYyk/YzpbY107Zm9yKGxldCBoIG9mIGMpe2lmKHR5cGVvZiBoIT09Im9iamVjdCJ8fGg9PT1udWxsfHx0eXBlb2YgaC5xbiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInNjYCIrCmIpO2gucW4oMCxhLGQ/Xy5ZdTooKT0+e30pfX1lbHNle2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7ZHx8YVtlQl0hPT12b2lkIDB8fChhW2VCXT0hMSx3QihhLCgpPT57YVtlQl09ITB9KSk7dmFyIGU9Z2JhKGMsIWQpfWVsc2V7bmJhKGIsYyk7aWYoYy5xbil7Yy5xbigwLGEsZixkP18uWXU6KCk9Pnt9KTtyZXR1cm59ZT1jLlVwKDApfWlmKGQmJmFbYG9uJHtmfWBdPT09dm9pZCAwKWEuYWRkRXZlbnRMaXN0ZW5lcihmLGUpLF8uWXUoKCk9PnZvaWQgYS5yZW1vdmVFdmVudExpc3RlbmVyKGYsZSkpO2Vsc2UgaWYoZHx8IXhCLmluY2x1ZGVzKGYpKWFbYG9uJHtmfWBdPWV9fWVsc2V7aWYoYi5zdGFydHNXaXRoKCJkYXRhLSIpJiZ0eXBlb2YgYz09PSJzdHJpbmciKXRyeXtjPWZiYShjKX1jYXRjaChmKXtjPSJ6U295eiJ9dHlwZW9mIGMhPT0iZnVuY3Rpb24ifHxhLl9kaXNwb3NlRWZmZWN0cyE9bnVsbD8oKGQ9Yi5zdGFydHNXaXRoKCJwcm9wOiIpKSYmKGI9Yi5zbGljZSg1KSksYj09PQoic3R5bGUiP18uSEEoKT90eXBlb2YgYz09PSJvYmplY3QiJiZjIT09bnVsbD9vYmEoYSxjKTp5QihhLGIsYyk6eUIoYSxiLGMpOihfLkt1Lnl2JiYoZCYmcGJhKGEudGFnTmFtZSl8fChjPWtiYShhLnRhZ05hbWUsYixjKSkpLGQ/YVtiXT1jOnFiYShhLGIsYykpKTooYS5fc2lnbmFsUHJvcHN8fChhLl9zaWduYWxQcm9wcz1bXSksYS5fc2lnbmFsVmFsdWVzfHwoYS5fc2lnbmFsVmFsdWVzPVtdKSxhLl9zaWduYWxQcm9wcy5wdXNoKGIpKX19O18uQUI9ZnVuY3Rpb24oYSxiLHtsajpjfT17fSl7aWYoYj8uZWwpe2xldCBkPWIuZWw7ZC5tej8uKGEpO2EuX2Rpc3Bvc2VSZWZ8fChhLl9kaXNwb3NlUmVmPSgpPT57ZC51ej8uKCk7ZGVsZXRlIGEuX2Rpc3Bvc2VSZWZ9LGMmJl8uWXUoKCk9PnthLl9kaXNwb3NlUmVmPy4oKX0pKX19OwpuYmE9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJvYmplY3QifHxiPT09bnVsbCl0aHJvdyBfLlV1KEVycm9yKCJxY2AiK2ErImAiK3R5cGVvZiBiKSw0KTtpZih0eXBlb2YgYi5VcCE9PSJmdW5jdGlvbiIpdGhyb3cgXy5VdShFcnJvcigicmNgIithKyJgIitPYmplY3Qua2V5cyhiKSksNCk7fTtwYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPjAmJmEuaW5jbHVkZXMoIi0iKSYmIXJiYS5pbmNsdWRlcyhhLnRvTG93ZXJDYXNlKCkpfTsKb2JhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5adCxkPWFbQkJdLGU9YVtDQl07aWYoZSlmb3IodmFyIGYgb2Ygc2JhKGUsYikpREIoZCxmKSxFQihhLnN0eWxlLGYsbnVsbCk7ZT1uZXcgU2V0O2ZvcihsZXQgaCBpbiBiKXtpZighYi5oYXNPd25Qcm9wZXJ0eShoKSljb250aW51ZTtlLmFkZChoKTtsZXQgaz1iW2hdO2lmKHR5cGVvZiBrPT09ImZ1bmN0aW9uIiYmYyl7aWYoIWQpe2Q9bmV3IE1hcDtsZXQgbD1hW0JCXT1kO3dCKGEsKCk9Pntmb3IobGV0IG0gb2YgbC52YWx1ZXMoKSltKCk7bC5jbGVhcigpfSl9REIoZCxoKTtmPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGw9aygpO0VCKGEuc3R5bGUsaCxsKX0sIlFEekhKZSIpfSk7ZC5zZXQoaCxmKX1lbHNlIERCKGQsaCksRUIoYS5zdHlsZSxoLGspfWFbQ0JdPWV9OwpFQj1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbHx8Yz09PSExP2Iuc3RhcnRzV2l0aCgiLS0iKXx8Yi5pbmNsdWRlcygiLSIpP2EucmVtb3ZlUHJvcGVydHkoYik6YVtiXT0iIjpiLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnNldFByb3BlcnR5KGIsU3RyaW5nKGMpKTphW2JdPWN9O3NiYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXtmb3IobGV0IGMgb2YgYSljIGluIGJ8fCh5aWVsZCBjKX0oKX07REI9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1hLmdldChiKTtjJiYoYygpLGEuZGVsZXRlKGIpKX19O0ZCPWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiYiX193aXpfUnFNWU0iaW4gYX07Xy5HQj1mdW5jdGlvbihhKXtyZXR1cm4gRkIoYSk/YS5fX3dpel9ScU1ZTS5RZTphfTtIQj1mdW5jdGlvbihhLGIsLi4uYyl7Yj1iPz97fTtyZXR1cm57dHlwZTphLHByb3BzOmIsY2hpbGRyZW46YyxbXy5Mdl06ITB9fTtfLklCPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoaWxkcmVufTsKXy5MQj1mdW5jdGlvbihhKXt2YXIgYj1KQiE9PUhCO0pCPWE/Xy5LQjpIQjtyZXR1cm4gYn07dGJhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgxKSxiPV8uY3UoYSxfLk1CKTtpZighXy5idShiKSlyZXR1cm4gYjthPV8uY3UoYSxfLk5CKTtpZighXy5idShhKSlyZXR1cm4gYS5udygpfTtfLlBCPWZ1bmN0aW9uKGEsYil7Yj09bnVsbCYmKGI9KF8uT0Iuc3Y/P2RvY3VtZW50KS5fX3dpemRpc3BhdGNoZXIuYUooKSk7Yi5nZXQoXy5GdCkuby5kaXNwYXRjaEV2ZW50KG5ldyBfLkh0KGEsXy5tQikpfTsKdWJhPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigidmNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNDUklQVCIpO2E9YVswXX1pZihhPT1udWxsKXJldHVybiBudWxsO2lmKCEoYSBpbnN0YW5jZW9mIF8uamIpKXtpZih3aW5kb3c/LnRydXN0ZWRUeXBlcz8uaXNTY3JpcHQoYSkpdGhyb3cgRXJyb3IoInVjIik7aWYoU3RyaW5nKGEpLnRyaW0oKS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3Rocm93IEVycm9yKCJ3Y2AiK1FCKGEpKTt9cmV0dXJuIGF9O3ZiYT1mdW5jdGlvbihhLGIpe2I9dWJhKGIpO2IhPT1udWxsJiZfLm5iKGEsYil9OwpfLlJCPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigieGNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNUWUxFIik7YT1hWzBdfWlmKGE9PW51bGx8fFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigieWNgIitRQihhKSk7fTtRQj1mdW5jdGlvbihhKXtyZXR1cm5gKCR7dHlwZW9mIGF9KSAke2EhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCI/YS5jb25zdHJ1Y3Rvci5uYW1lOnR5cGVvZiBhfSAke2F9YH07U0I9ZnVuY3Rpb24oKXt9O1RCPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9OwpfLlhCPWZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9VUIoKSxkPSEwLGUsZj0hIV8uS3UuSnE7ZiYmKGU9dGJhKCkpO18udHYoKCk9Pnt2YXIgaD0hZCYmYi5XZSYmZixrPWg/dkIoY1swXSk6dm9pZCAwO2Q9ITE7Yi5XZSYmXy5ndisrO3ZhciBsPWNbMF0sbT1jLl9fd2l6X1JxTVlNLlFlLG49Xy5MQighMCk7dHJ5e2xldCB2O3RyeXt2PWEoKX1jYXRjaChGKXtfLm92KEYpLHY9a0IoKX1sZXQgej13YmEobCx2LGMpLEU9Xy5WQi52eSh6KT8/ejtBcnJheS5pc0FycmF5KEUpfHwoYy5fX3dpel9ScU1ZTS5RZT1bRV0pO2xldCBBPWMuX193aXpfUnFNWU0uUWU7aWYobSYmKCFBcnJheS5pc0FycmF5KG0pfHxtLmxlbmd0aCE9PTApKXt2YXIgcD1BcnJheS5pc0FycmF5KG0pP21bMF06bSxyPXBbXy5XQl0sdD1wLl9kaXNwb3NlRWZmZWN0cztwLl9kaXNwb3NlRWZmZWN0cz12b2lkIDA7cD1BcnJheS5pc0FycmF5KEEpP0FbMF06QTtwW18uV0JdPXI7cFtfLldCXSYmKHBbXy5XQl0uVXE9cD09PUE/CjE6QS5sZW5ndGgpO3AuX2Rpc3Bvc2VFZmZlY3RzPXR9Y1swXT1FO2IuV2UmJl8uSUEoITEpfWNhdGNoKHYpe3Rocm93IGIuV2UmJl8uSUEoITApLF8uVXUodiw0KTt9ZmluYWxseXtfLkxCKG4pfWgmJl8uUEIoayxlKX0sYi5kZWJ1Z05hbWUpO3JldHVybiBjfTsKd2JhPWZ1bmN0aW9uKGEsYixjKXtmb3IoO3R5cGVvZiBiPT09ImZ1bmN0aW9uIjspYj1iKCk7aWYoYj8uW18uTHZdKXRocm93IF8uVXUoRXJyb3IoInpjYCIrYi50eXBlPy5aYyksNCxiLnR5cGU/LlpjKTtpZihhPT1udWxsKXJldHVybiBiPT1udWxsP2tCKCk6Xy5xQihiKT9sQihiKTpyQihiKT9sQihiLnRvU3RyaW5nKCkpOl8uaUIoYik/YjpiLmxlbmd0aD09PTA/a0IoKTpZQihiLGMpO2lmKF8uaUIoYSkpe2lmKGI9PW51bGwpcmV0dXJuIHNCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gYUMoYSxiKTtpZihyQihiKSlyZXR1cm4gYUMoYSxiLnRvU3RyaW5nKCkpO2lmKF8uaUIoYikpcmV0dXJuIHNCKGEsYik7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBzQihhLGtCKCkpO2I9WUIoYixjKTt1QihbYV0sYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9YT1fLmJDKGEpO2lmKGI9PW51bGwpcmV0dXJuIHRCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gdEIoYSxsQihiKSk7aWYockIoYikpcmV0dXJuIHRCKGEsCmxCKGIudG9TdHJpbmcoKSkpO2lmKF8uaUIoYikpcmV0dXJuIHVCKGEsW2JdKVswXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIHRCKGEsa0IoKSk7Yj1ZQihiLGMpO3VCKGEsYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9O2FDPWZ1bmN0aW9uKGEsYil7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2EudGV4dENvbnRlbnQhPT1TdHJpbmcoYikmJihhLnRleHRDb250ZW50PVN0cmluZyhiKSk6YT1zQihhLGxCKGIpKTtyZXR1cm4gYX07Xy5iQz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIGNDKGEsYj8/W10sYyl9O1lCPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5iQyhhLHZvaWQgMCwhMCk7aWYoYy5sZW5ndGg9PT0wKXJldHVybiBrQigpO2IuX193aXpfUnFNWU0uUWU9YztyZXR1cm4gYX07CmNDPWZ1bmN0aW9uKGEsYj1bXSxjPSExLGQsZT0tMSl7aWYoYT09bnVsbClyZXR1cm4gYjtpZighQXJyYXkuaXNBcnJheShiKSYmXy5qQihiKSlzd2l0Y2goXy5qQihhKSYmT0EoYixhKSxiLnRhZ05hbWUpe2Nhc2UgIlNDUklQVCI6dmJhKGIsYSk7cmV0dXJuO2Nhc2UgIlNUWUxFIjppZihfLlJCKGEpIT09bnVsbCl0aHJvdyBFcnJvcigiaCIpO3JldHVybn1pZihBcnJheS5pc0FycmF5KGEpKXtmb3IodmFyIGY9MDtmPGEubGVuZ3RoO2YrKyljQyhhW2ZdLGIsYyxhLGYpO3JldHVybiBifWlmKGEgaW5zdGFuY2VvZiBfLmRDKXJldHVybiBmPWEub2MoKSxjQyhmLGIsYyxkLGUpO2lmKF8ucUIoYSkpcmV0dXJuIGE9bEIoYSksZCYmYyYmKGRbZV09YSksZUMoYixhKTtpZihfLm9CKGEpKXtjPV8ucEIoYSk7Zm9yKGM9Yy5maXJzdENoaWxkO2M7KWY9Yy5uZXh0U2libGluZyxlQyhiLGMpLGM9ZjtyZXR1cm4gYn1pZihyQihhKSlyZXR1cm4gYT1sQihhLnRvU3RyaW5nKCkpLGQmJmMmJihkW2VdPQphKSxlQyhiLGEpO2lmKF8uaUIoYSkpcmV0dXJuIGVDKGIsYSk7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXtmPV8uWEIoKCk9Pnt2YXIgaz1hKCk7aWYoaz09bnVsbHx8Xy5xQihrKSlyZXR1cm4gaztpZihfLm9CKGspKXJldHVybiBrPV8ucEIoayksQXJyYXkuZnJvbShrLmNoaWxkTm9kZXMpO3Rocm93IF8uVXUoRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBrKSw0KTt9LHtkZWJ1Z05hbWU6InFtRjJuZSIsenA6YX0pWzBdO2lmKEFycmF5LmlzQXJyYXkoZikpe2Zvcih2YXIgaCBvZiBmKWVDKGIsaCk7cmV0dXJuIGJ9ZCYmYyYmKGRbZV09Zik7cmV0dXJuIGVDKGIsZil9aWYoYT8uW18uTHZdKXtkPWE7ZT1fLkxCKCEwKTtoPUpCO3RyeXtmPWgoZC50eXBlLGQucHJvcHMsLi4uZC5jaGlsZHJlbil9ZmluYWxseXtfLkxCKGUpfXJldHVybiBjQyhmLGIsYyl9dGhyb3cgXy5VdShFcnJvcigiQWMiKSw0KTt9OwpVQj1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuYXNzaWduKFtdLHtfX3dpel9ScU1ZTTp7UWU6W119fSk7aWYoIWEpcmV0dXJuIGI7YlswXT1ZQihhLGIpO3JldHVybiBifTtlQz1mdW5jdGlvbihhLGIpe0FycmF5LmlzQXJyYXkoYSk/YS5wdXNoKGIpOmEuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGF9O18uZkM9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT1fLmZDKGFbYl0pO3JldHVybiBhfXJldHVybiBhIGluc3RhbmNlb2YgXy5kQz8oYT1hLm9jKCksXy5mQyhhKSk6YX07Cl8uZ0M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9Xy5GQShhKSxmPWw9PntkPWw7dmFyIG09Xy5MQighMCksbj1fLmt1KF8uenYpO3RyeXtjPV8uZkMoYShiKSl9ZmluYWxseXtfLmt1KG4pLF8uTEIobSl9IUFycmF5LmlzQXJyYXkoYykmJl8uRnUobCl9O2U9Xy5LdS5HcD9oQihmLGUpOl8udXYoZixfLkt1LnJpfHwhIV8uWnQpO2lmKCFiLmpuKXtmPV8uJHQoZCk7dHJ5e3JldHVybigwLF8udnYpKGEsYixjKSxjfWZpbmFsbHl7Xy4kdChmKX19IUZCKGMpJiZBcnJheS5pc0FycmF5KGMpJiYoYz1VQihjKSk7dmFyIGg9Xy5HQihjKTtmPUFycmF5LmlzQXJyYXkoaCk/aFswXTpoO3ZhciBrPSExO2lmKGYpe2xldCBsPWI/Lmlkb21LZXk/P2EsbT1oIT09ZjtmLl9kaXNwb3NlRWZmZWN0cz1lO2xldCBuPWZbXy5XQl18fHt9LHA9RkIoYyk/YzpuLnluO09iamVjdC5hc3NpZ24obix7a2V5OmwsVXE6bT9oLmxlbmd0aDoxLG93bmVyOmQsbEo6ISFmW18uV0JdLHluOnB9KTtmW18uV0JdPW59ZWxzZSBrPQohMDsoKCk9Pnt2YXIgbD1fLiR0KGQpO3RyeXsoMCxfLnZ2KShhLGIsaCl9ZmluYWxseXtfLiR0KGwpfX0pKCk7ayYmZSgpO3JldHVybiBjfTtoQz1mdW5jdGlvbihhLGIpe2lmKCFhLnYmJmIpe2Eudj0hMDt0cnl7YS5IZigpfWNhdGNoKGMpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGMsYS5qPy5aYykpfV8uYncuSGYoYSk7YS5lbD1udWxsO2IuX19pbnN0YW5jZSYmZGVsZXRlIGIuX19pbnN0YW5jZX19O18uakM9ZnVuY3Rpb24oYSxiLGM9ITEpe2EuX3NpZ25hbFByb3BzIT1udWxsJiZhLl9kaXNwb3NlRWZmZWN0cz09bnVsbCYmKGM/YS5fZGlzcG9zZUVmZmVjdHM9Xy51digoKT0+dm9pZCBpQyhhLGIpLF8uS3Uucml8fCEhXy5adCk6aUMoYSxiKSl9OwppQz1mdW5jdGlvbihhLGIpe18udHYoKCk9Pnt2YXIgYz1hLl9zaWduYWxQcm9wcyxkPWEuX3NpZ25hbFZhbHVlcztmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXSxoPWJbZl0oKTtkW2VdIT09aCYmKGRbZV09aCxfLnpCKGEsZixoKSl9fSwiZTNZVmJiIil9O18ubEM9ZnVuY3Rpb24oYSxiLC4uLmMpe2I/PyhiPXt9KTtyZXR1cm4gXy5IQSgpfHxfLk11PT1udWxsP25ldyB4YmEoYSxiLGMpOmtDKGEsYixjKX07CmtDPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09Xy5JQilyZXR1cm4gYztpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpcmV0dXJuIF8uTXUmJiFfLkhBKCkmJihiLmpuPSEwKSxfLkdBKGEsKCk9PntjLmxlbmd0aD4wJiYoYi5jaGlsZHJlbj1jLmxlbmd0aD09PTE/Y1swXTpjKTtpZihhLmNvbXBvbmVudFR5cGU9PT1fLkt2KXtsZXQgZTtoQigoKT0+e3ZhciBmPWI7aWYoYS5jb21wb25lbnRUeXBlIT09Xy5LdillPSExO2Vsc2V7Znx8KGY9e30pO3ZhciBoPW5ldyBfLm1DKGYsYSksaz1fLmt1KF8uenYpO3RyeXt2YXIgbD1oLm9jKGYpfWZpbmFsbHl7Xy5rdShrKX1sIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KGwuX19pbnN0YW5jZT1oLGguZWw9bCxoLmo9YSxhLlpjPWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpLF8uYncuR2YoaCksZT1sKTplPWx9fSxhLm5hbWUpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIF8uZ0MoYSxiKX0sYi5kZWJ1Z0luc3RhbmNlKTt2YXIgZD15YmEoYSxiKTtmb3IobGV0IGUgaW4gYilfLnpCKGQsCmUsYltlXSk7Xy5qQyhkLGIpO18uYkMoYyxkKTtfLkFCKGQsYix7bGo6ITB9KTsoMCxfLnh2KShkLGIpO3JldHVybiBkfTt5YmE9ZnVuY3Rpb24oYSxiKXthPShOQS5oYXMoYS50b0xvd2VyQ2FzZSgpKT8wOk1BLmhhcyhhLnN0YXJ0c1dpdGgoInN2ZzoiKT9hLnJlcGxhY2UoInN2ZzoiLCIiKTphKSk/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSk6KDAsXy53dikoYSxiKXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTthW18ubkNdPSEwO3JldHVybiBhfTsKXy5wQz1mdW5jdGlvbihhKXtpZihhKXthLl9kaXNwb3NlUmVmPy4oKTthLl9kaXNwb3NlRWZmZWN0cz8uKCk7aWYoYS5fX2luc3RhbmNlJiZhLl9faW5zdGFuY2UgaW5zdGFuY2VvZiBvQyl7dmFyIGI9YS5fX2luc3RhbmNlO2hDKGIsYSk7YiBpbnN0YW5jZW9mIF8ubUMmJmIuRCgpfWZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylfLnBDKGEuY2hpbGROb2Rlc1tiXSl9fTt6YmE9ZnVuY3Rpb24oYSl7cUMucHVzaChhKT09PTEmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9Pnt2YXIgYj1bLi4ucUNdO3FDPVtdO2ZvcihsZXQgYyBvZiBiKXRyeXtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKV8ucEMoY1tiXSl9Y2F0Y2goZCl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZCkpfX0pfSl9O18uSz1mdW5jdGlvbihhLGIsLi4uYyl7cmV0dXJuIEpCKGEsYiwuLi5jKX07Xy5yQz1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KF8ueXYpO3RyeXthKCl9ZmluYWxseXtfLmt1KGIpfX07CkFiYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07c0M9ZnVuY3Rpb24oYSxiLGM9IiIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4gZSgpfXZhciBlPXR5cGVvZiBhPT09ImZ1bmN0aW9uIj9EQShhLEFiYSxiPy5lcXVhbHMpOkRBKGEuc291cmNlLGEuVGcsYj8uZXF1YWxzKTt2YXIgZj1lW18uWnVdO2YuZGVidWdOYW1lPV8uZXUoYj8uZGVidWdOYW1lLGMsIltsaW5rZWRTaWduYWxdIik7ZFtfLlp1XT1mO3JldHVybltkLGg9PntfLnJ1KGYpO18ueXUoZixoKTtmLlBiPSExO2Yucmo9Xy5tdX0saD0+e18ucnUoZik7aWYoZi52YWx1ZT09PV8uSXYpdGhyb3cgZi5lcnJvcjtfLmp1Py5MZSE9PSExfHxfLnd1KGYpO18ueXUoZixoKGYudmFsdWUpKTtmLlBiPSExO2Yucmo9Xy5tdX1dfTtfLnVDPWZ1bmN0aW9uKCl7dEN8fCh0Qz17T2M6ITEsVXk6MCxzdGFjazpbXSxzZXNzaW9uSWQ6IiIsZGg6dm9pZCAwLHByb2Nlc3NvcnM6W10sV2g6KCk9PiEwfSk7cmV0dXJuIHRDfTsKdkM9ZnVuY3Rpb24oKXt2YXIgYT1fLnVDKCk7cmV0dXJuIGEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMV19O18ud0M9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO3JldHVybiBiLk9jP2IuZGg/Yi5kaFthXTohMDohMX07RGJhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy53QyhhKSYmXy51QygpLldoKGEsYixCYmEpP25ldyBDYmEoYSxiLGMpOnhDfTsKXy55Qz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKXt2YXIgZD1jO2M9dm9pZCAwfXZhciBlPURiYShhLGIsYyk7aWYoYz8uZW5kVGltZSE9bnVsbClyZXR1cm4gZCYmXy5JcChFcnJvcigiRWMiKSksZTtlIT09eEMmJmM/LmFjdGl2ZSE9PSExJiZfLnVDKCkuc3RhY2sucHVzaChlKTtpZighZClyZXR1cm4gZTtpZihlPT09eEMpcmV0dXJuIGQoZSk7dHJ5e2xldCBmPWQoZSk7aWYoZiBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIGYudGhlbihoPT57ZS5lbmQoKTtyZXR1cm4gaH0saD0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGg7fSk7ZS5lbmQoKTtyZXR1cm4gZn1jYXRjaChmKXt0aHJvdyBlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKSxmO319Owp6Qz1mdW5jdGlvbihhLGIsYyxkKXthIGluc3RhbmNlb2YgRWxlbWVudCYmKGMuZGVidWdOYW1lfHwoYy5kZWJ1Z05hbWU9YDwke2EudGFnTmFtZS50b0xvd2VyQ2FzZSgpfWArKGEudGFnTmFtZS5pbmNsdWRlcygiLSIpPyI+IjpgLiR7YS5jbGFzc05hbWV9PmApKSxfLngoInl0d2l6X2VuYWJsZV9kZWJ1Z19jb21wb25lbnRfcHJvcHMiKSYmKGEuZGVidWdQcm9wc3x8KGEuZGVidWdQcm9wcz1BQShiLGU9PigpPT5lKCkpKSxiLmRhdGE9PT12b2lkIDB8fCJkYXRhImluIGEmJiFhLmlzV2ViQ29tcG9uZW50V3JhcHBlcnx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEuZGVidWdQcm9wcywiZGF0YSIse2dldDooKT0+Xy5CdihiLmRhdGEpLHNldDplPT57ZD8uZGF0YT8uKGUpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pKSl9OwpfLkFDPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg9PT0wJiYhYj8uaW5pdGlhbClyZXR1cm4gc0MoYSx7ZGVidWdOYW1lOmI/LmRlYnVnTmFtZX0sImgiKTt2YXIgW2MsZCxlXT1zQyh7c291cmNlOigpPT5hKCksVGc6KGYsaCk9Pmg/LnZhbHVlP2EoaC52YWx1ZSk6Yj8uaW5pdGlhbD9hKGIuaW5pdGlhbCk6Zn0se2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJpIik7cmV0dXJuW2MsZCxlXX07Cl8uTD1mdW5jdGlvbihhLGI9IiIpe3ZhciBjPWQ9Pl8ueUMoInl0Q29tcG9uZW50Iix7fSxlPT57dmFyIGY9QkM9e307aWYoYz8uaWRvbUNvbXBhdCYmZC5qbil7bGV0IFtrLGxdPUViYShkLHR5cGVvZiBjLmlkb21Db21wYXQ9PT0ib2JqZWN0Ij9jPy5pZG9tQ29tcGF0LmNhbGxiYWNrczp7fSk7dmFyIGg9Q0MoYSxkKTtmLkd6PWg7QkM9dm9pZCAwO3pDKGgsZCxjLGspO2UuRGUoe2RlYnVnTmFtZTpjLmRlYnVnTmFtZX0pO2U9Xy5HQihoKTtlPUFycmF5LmlzQXJyYXkoZSk/ZVswXTplO2VbXy5XQl18fChlW18uV0JdPXt9KTtlW18uV0JdLnFCPWw7Xy5DdihkLGgpO3JldHVybiBofWQ9QUEoZCxGYmEpO2g9Q0MoYSxkKTt6QyhoLGQsYyk7Zi5Hej1oO0JDPXZvaWQgMDtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtfLkN2KGQsaCk7cmV0dXJuIGh9KTtjLmRlYnVnTmFtZT1iO3JldHVybiBjfTtDQz1mdW5jdGlvbihhLGIpe2E9YShiKTtyZXR1cm4gXy5mQyhhKX07CkZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09ImNoaWxkcmVuInx8Yj09PSJyZWYifHx0eXBlb2YgYT09PSJmdW5jdGlvbiJ8fGE9PT12b2lkIDA/YTooKT0+YX07R2JhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pl8uQnYoYSk/P2J9O18uREM9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYX07Zm9yKGxldCBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbZF09R2JhKGFbZF0sYltkXSkpO3JldHVybiBjfTsKRWJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD17fTtmb3IobGV0IGUgaW4gYSl7bGV0IGY9YVtlXTtpZihlIT09ImNoaWxkcmVuIiYmZSE9PSJyZWYiKWlmKHR5cGVvZiBmPT09ImZ1bmN0aW9uIilpZihlIGluIGJ8fGYubGVuZ3RoPjApZFtlXT1mLGFbZV09KC4uLmgpPT5kW2VdKC4uLmgpO2Vsc2V7aWYoZT09PSJkYXRhIil7bGV0IFtoLGtdPV8uQUMoZix7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSk7YVtlXT1oO2NbZV09a319ZWxzZSBpZighKGFbZV09PT12b2lkIDAmJmUgaW4gYikpe2xldCBbaCxrXT1fLkooYVtlXSx7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSwiVmJjZ0NkIik7YVtlXT1oO2NbZV09a319cmV0dXJuW2MsZnVuY3Rpb24oZSl7Zm9yKGxldCBmIGluIGUpe2xldCBoPWVbZl07ZiE9PSJjaGlsZHJlbiImJmYhPT0icmVmIiYmKHR5cGVvZiBoPT09ImZ1bmN0aW9uIj9mIGluIGI/ZFtmXT1oOmgubGVuZ3RoPjAmJihkW2ZdPWgsXy5JcChuZXcgXy5YaihIYmEsZikpKTpmIGluCmImJmg9PT12b2lkIDB8fChjW2ZdfHxfLkhwKG5ldyBfLlhqKEliYSxmKSksXy5yQygoKT0+e2NbZl0oaCl9KSkpfX1dfTsKVmFhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImxpbmtlZFNpZ25hbCIsWG0oYSl7cmV0dXJuIGEudmFsdWU9PT1fLkd2fHxhLnZhbHVlPT09Xy5Idn0sWW0oYSl7aWYoYS52YWx1ZT09PV8uSHYpdGhyb3cgRXJyb3IoImgiKTt2YXIgYj1hLnZhbHVlO2EudmFsdWU9Xy5Idjt2YXIgYz1fLnR1KGEpLGQ9ITE7dHJ5e2xldCBmPWEuc291cmNlKCksaD1iIT09Xy5HdiYmYiE9PV8uSXY7dmFyIGU9YS5UZyhmLGg/e3NvdXJjZTphLnNvdXJjZVZhbHVlLHZhbHVlOmJ9OnZvaWQgMCk7YS5zb3VyY2VWYWx1ZT1mO18ua3UobnVsbCk7ZD1oJiZlIT09Xy5JdiYmYS5lcXVhbChiLGUpfWNhdGNoKGYpe2U9Xy5JdixhLmVycm9yPWZ9ZmluYWxseXtfLmt1KGMpLGEmJl8udnUoYSl9ZD9hLnZhbHVlPWI6KGEudmFsdWU9ZSxhLnZlcnNpb24rKyl9fTtfLm1CPXt9O18uSXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTsKXy5JdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTtLQT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLmRDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5Dbz1udWxsfX07b0M9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5wcm9wcz1hO3RoaXMudj0hMX1HZigpe31KaSgpe31IZigpe31LaSgpe319O3RyeXtsZXQgYT13aW5kb3c/LnRvcD8/Xy51O2EuVTNiSEhmPz8oYS5VM2JISGY9MCk7YS5VM2JISGYrK31jYXRjaChhKXtfLnUuVTNiSEhmPz8oXy51LlUzYkhIZj0wKSxfLnUuVTNiSEhmKyt9O18uRkM9bmV3IFdlYWtNYXA7Xy5HQz1YYWEoKTt2YXIgbWJhPW5ldyBTZXQoImFsbG93ZnVsbHNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeSBhc3luYyBhdXRvZm9jdXMgYXV0b3BsYXkgY2hlY2tlZCBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVyZW1vdGVwbGF5YmFjayBmb3Jtbm92YWxpZGF0ZSBoaWRkZW4gaW5lcnQgaXNtYXAgaXRlbXNjb3BlIGpzc2hhZG93IGpzc2xvdCBsb29wIG11bHRpcGxlIG11dGVkIG5vbW9kdWxlIG5vdmFsaWRhdGUgb3BlbiBwbGF5c2lubGluZSByZWFkb25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3Mgc2VsZWN0ZWQgc29ydGFibGUgdHlwZW11c3RtYXRjaCIuc3BsaXQoIiAiKSksbGJhPW5ldyBTZXQoWyJjb250ZW50ZWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbGNoZWNrIl0pO3ZhciBNQT1uZXcgU2V0KCJhIGFsdEdseXBoIGFsdEdseXBoRGVmIGFsdEdseXBoSXRlbSBhbmltYXRlIGFuaW1hdGVDb2xvciBhbmltYXRlTW90aW9uIGFuaW1hdGVUcmFuc2Zvcm0gY2lyY2xlIGNsaXBQYXRoIGNvbG9yLXByb2ZpbGUgY3Vyc29yIGRlZnMgZGVzYyBlbGxpcHNlIGZlQmxlbmQgZmVDb2xvck1hdHJpeCBmZUNvbXBvbmVudFRyYW5zZmVyIGZlQ29tcG9zaXRlIGZlQ29udm9sdmVNYXRyaXggZmVEaWZmdXNlTGlnaHRpbmcgZmVEaXNwbGFjZW1lbnRNYXAgZmVEaXN0YW50TGlnaHQgZmVEcm9wU2hhZG93IGZlRmxvb2QgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZUltYWdlIGZlTWVyZ2UgZmVNZXJnZU5vZGUgZmVNb3JwaG9sb2d5IGZlT2Zmc2V0IGZlUG9pbnRMaWdodCBmZVNwZWN1bGFyTGlnaHRpbmcgZmVTcG90TGlnaHQgZmVUaWxlIGZlVHVyYnVsZW5jZSBmaWx0ZXIgZm9udCBmb250LWZhY2UgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9yZWlnbk9iamVjdCBnIGdseXBoIGdseXBoUmVmIGhrZXJuIGltYWdlIGxpbmUgbGluZWFyR3JhZGllbnQgbWFya2VyIG1hc2sgbWV0YWRhdGEgbWlzc2luZy1nbHlwaCBtcGF0aCBwYXRoIHBhdHRlcm4gcG9seWdvbiBwb2x5bGluZSByYWRpYWxHcmFkaWVudCByZWN0IHNjcmlwdCBzZXQgc3RvcCBzdHlsZSBzdmcgc3dpdGNoIHN5bWJvbCB0ZXh0IHRleHRQYXRoIHRpdGxlIHRyZWYgdHNwYW4gdXNlIHZpZXcgdmtlcm4iLnNwbGl0KCIgIikpLApOQT1uZXcgU2V0KFsiYSIsImZvbnQiLCJzY3JpcHQiLCJzdHlsZSIsInRpdGxlIl0pLFlhYT1uZXcgU2V0KFsiZGVzYyIsImZvcmVpZ25PYmplY3QiLCJ0aXRsZSJdKTtfLlJBPXtkZWZhdWx0OiJfX2RlZmF1bHQifTt2YXIgWmFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7UEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7Xy5IQz1TQSgpO18uY0I9bnVsbDt2YXIgYmJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY3JlYXRlZD1bXTt0aGlzLmRlbGV0ZWQ9W107dGhpcy5ub2RlPWF9fTt2YXIgY2JhPXR5cGVvZiBOb2RlIT09InVuZGVmaW5lZCImJk5vZGUucHJvdG90eXBlLmdldFJvb3ROb2RlfHxmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLGI9YTthOyliPWEsYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9O18uV0E9bnVsbDtfLllBPW51bGw7Xy5VQT1udWxsO18uWkE9bnVsbDtfLiRBPVtdO18uYkI9VEE7Xy5hQj1bXTtfLklDPWZ1bmN0aW9uKGEpe3JldHVybiBlYmEoKGIsYyxkKT0+e18uVUE9Xy5ZQT1iO18uWUE9bnVsbDtjKGQpO18uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7cmV0dXJuIGJ9LGEpfSgpO18uSkM9bmV3IFBBO1JlZ0V4cC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInN0aWNreSIpO3ZhciBlQj1TeW1ib2woImpjIik7dmFyIGhiYT17YWxpZ246MSxhbHQ6MSwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoxMCwiYXJpYS1hdG9taWMiOjEsImFyaWEtYXV0b2NvbXBsZXRlIjoxLCJhcmlhLWJ1c3kiOjEsImFyaWEtY2hlY2tlZCI6MSwiYXJpYS1jb250cm9scyI6MTAsImFyaWEtY3VycmVudCI6MSwiYXJpYS1kZXNjcmliZWRieSI6MTAsImFyaWEtZGlzYWJsZWQiOjEsImFyaWEtZHJvcGVmZmVjdCI6MSwiYXJpYS1leHBhbmRlZCI6MSwiYXJpYS1oYXNwb3B1cCI6MSwiYXJpYS1oaWRkZW4iOjEsImFyaWEtaW52YWxpZCI6MSwiYXJpYS1sYWJlbCI6MSwiYXJpYS1sYWJlbGxlZGJ5IjoxMCwiYXJpYS1sZXZlbCI6MSwiYXJpYS1saXZlIjoxLCJhcmlhLW11bHRpbGluZSI6MSwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOjEsImFyaWEtb3JpZW50YXRpb24iOjEsImFyaWEtb3ducyI6MTAsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtcHJlc3NlZCI6MSwiYXJpYS1yZWFkb25seSI6MSwiYXJpYS1yZWxldmFudCI6MSwiYXJpYS1yZXF1aXJlZCI6MSwKImFyaWEtc2VsZWN0ZWQiOjEsImFyaWEtc2V0c2l6ZSI6MSwiYXJpYS1zb3J0IjoxLCJhcmlhLXZhbHVlbWF4IjoxLCJhcmlhLXZhbHVlbWluIjoxLCJhcmlhLXZhbHVlbm93IjoxLCJhcmlhLXZhbHVldGV4dCI6MSxhc3luYzo4LGF1dG9jYXBpdGFsaXplOjEsYXV0b2NvbXBsZXRlOjEsYXV0b2NvcnJlY3Q6MSxhdXRvZm9jdXM6MSxhdXRvcGxheToxLGJnY29sb3I6MSxib3JkZXI6MSxjZWxscGFkZGluZzoxLGNlbGxzcGFjaW5nOjEsY2hlY2tlZDoxLGNpdGU6MSwiY2xhc3MiOjEsY29sb3I6MSxjb2xzOjEsY29sc3BhbjoxLGNvbnRlbnRlZGl0YWJsZToxLGNvbnRyb2xzOjEsY29udHJvbHNsaXN0OjEsY29vcmRzOjEsY3Jvc3NvcmlnaW46MSxkYXRldGltZToxLGRpcjo4LGRpc2FibGVkOjEsZG93bmxvYWQ6MSxkcmFnZ2FibGU6MSxlbmN0eXBlOjEsZmFjZToxLCJmb3IiOjEwLGZvcm1lbmN0eXBlOjEsZnJhbWVib3JkZXI6MSxoZWlnaHQ6MSxoaWRkZW46MSxocmVmOjQsaHJlZmxhbmc6MSwKaWQ6MTAsaW5lcnQ6MSxpc21hcDoxLGl0ZW1pZDoxLGl0ZW1wcm9wOjEsaXRlbXJlZjoxLGl0ZW1zY29wZToxLGl0ZW10eXBlOjEsbGFiZWw6MSxsYW5nOjEsbGlzdDoxMCxsb2FkaW5nOjgsbG9vcDoxLG1heDoxLG1heGxlbmd0aDoxLG1lZGlhOjEsbWluOjEsbWlubGVuZ3RoOjEsbXVsdGlwbGU6MSxtdXRlZDoxLG5hbWU6MTAsbm9uY2U6MSxvcGVuOjEscGxhY2Vob2xkZXI6MSxwbGF5c2lubGluZToxLHBvc3RlcjoxLHByZWxvYWQ6MSxyZWw6MSxyZXF1aXJlZDoxLHJldmVyc2VkOjEscm9sZToxLHJvd3M6MSxyb3dzcGFuOjEsc2VsZWN0ZWQ6MSxzaGFwZToxLHNpemU6MSxzaXplczoxLHNsb3Q6MSxzcGFuOjEsc3BlbGxjaGVjazoxLHNyYzo0LHNyY3NldDoxMixzdGFydDoxLHN0ZXA6MSxzdHlsZTo1LHN1bW1hcnk6MSx0YWJpbmRleDoxLHRhcmdldDo4LHRpdGxlOjEsdHJhbnNsYXRlOjEsdHlwZToxLHVzZW1hcDoxLHZhbGlnbjoxLHZhbHVlOjEsd2lkdGg6MSx3cmFwOjF9LGZCPQp7YTp7aHJlZjpbe2thOjN9XX0sYXJlYTp7aHJlZjpbe2thOjN9XX0sYXVkaW86e3NyYzpbe2thOjN9XX0sYnV0dG9uOntmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV19LGZvcm06e2FjdGlvbjpbe2thOjN9XSxtZXRob2Q6W3trYToxfV19LGlmcmFtZTp7c3JjZG9jOlt7a2E6Mn1dfSxpbWc6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSxpbnB1dDp7YWNjZXB0Olt7a2E6MX1dLGZvcm1hY3Rpb246W3trYTozfV0sZm9ybW1ldGhvZDpbe2thOjF9XSxwYXR0ZXJuOlt7a2E6MX1dLHJlYWRvbmx5Olt7a2E6MX1dLHNyYzpbe2thOjN9XX0sbGluazp7aHJlZjpbe2thOjMsaWI6InJlbCIsbmI6ImFsdGVybmF0ZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJhdXRob3IifSx7a2E6MyxpYjoicmVsIixuYjoiYm9va21hcmsifSx7a2E6MyxpYjoicmVsIixuYjoiY2Fub25pY2FsIn0se2thOjMsaWI6InJlbCIsbmI6ImNpdGUifSx7a2E6MyxpYjoicmVsIixuYjoiaGVscCJ9LAp7a2E6MyxpYjoicmVsIixuYjoiaWNvbiJ9LHtrYTozLGliOiJyZWwiLG5iOiJsaWNlbnNlIn0se2thOjMsaWI6InJlbCIsbmI6Im5leHQifSx7a2E6MyxpYjoicmVsIixuYjoicHJlZmV0Y2gifSx7a2E6MyxpYjoicmVsIixuYjoiZG5zLXByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6InByZXJlbmRlciJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVjb25uZWN0In0se2thOjMsaWI6InJlbCIsbmI6InByZWxvYWQifSx7a2E6MyxpYjoicmVsIixuYjoicHJldiJ9LHtrYTozLGliOiJyZWwiLG5iOiJzZWFyY2gifSx7a2E6MyxpYjoicmVsIixuYjoic3VicmVzb3VyY2UifV19LHNjcmlwdDp7ZGVmZXI6W3trYToxfV19LHNvdXJjZTp7c3JjOlt7a2E6M31dLHNyY3NldDpbe2thOjExfV19LHRleHRhcmVhOntyZWFkb25seTpbe2thOjF9XX0sdmlkZW86e3NyYzpbe2thOjN9XX19O3ZhciBKYmE9L14oPyFqYXZhc2NyaXB0OikoPzpbYS16MC05Ky4tXSs6fFteJjpcLz8jXSooPzpbXC8/I118JCkpL2ksaWJhPXtbMV06bnVsbCxbMl06KGEsYik9PmIgaW5zdGFuY2VvZiBfLmZiP18ueUEoYik6Xy5GcS50b1N0cmluZygpLFszXTooYSxiKT0+Xy5YYShiKT9fLllhKGIpOkpiYS50ZXN0KFN0cmluZyhiKSk/U3RyaW5nKGIpOl8uRnEudG9TdHJpbmcoKSxbNF06KGEsYik9PmIgaW5zdGFuY2VvZiBfLlNhP18uVWEoYik6Xy5GcS50b1N0cmluZygpLFs1XTooYSxiKT0+U3RyaW5nKGIpLFs3XTpudWxsLFs4XTpudWxsLFsxMF06bnVsbH07Xy5LYmE9U3ltYm9sKCJuYyIpO3ZhciBuQj1fLkxBKCk7dmFyIEtDPVNBKCkscWJhPUtDW18uUkEuZGVmYXVsdF0seUI9S0Muc3R5bGUseEI9WyJmb2N1c2luIiwiZm9jdXNvdXQiXSxCQj1TeW1ib2woIm9jIiksQ0I9U3ltYm9sKCJwYyIpLHJiYT0iYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaCIuc3BsaXQoIiAiKTt2YXIgSkI7SkI9SEI7Xy5XQj1TeW1ib2woInRjIik7Xy5MYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Nb2RlbFJvb3RFbGVtZW50Iik7Xy5NYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9SZW5kZXJlckRhdGEiKTtfLk5iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0luamVjdGluZ0NvbnN0cnVjdG9yIik7Xy5NQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FwcENvbnRleHQiKTtfLk5CPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfRGlzcGF0Y2hlciIpO18uTEM9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Sb290RWxlbWVudCIpO18uT2JhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfQXN5bmNEZXBzIik7Xy5QYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9PYmplY3RDcmVhdGlvblRyYWNrZXIiKTtfLk9CPXt9O18uVkI9e01LOlNCLGNMOlNCLGxvZzpTQixSSjpUQix2eTpUQixmSjooYSxiKT0+e2IoKX19O18uTUM9bnVsbDtfLm1DPWNsYXNzIGV4dGVuZHMgb0N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTt0aGlzLm89Yjt0aGlzLlpmPVtdO3RoaXMuQj0wO3RoaXMuRD1fLnV2KGM9Pnt0aGlzLnFsPWM7Xy5ZdSgoKT0+e2hDKHRoaXMsdGhpcy5lbCl9KX0sXy5LdS5yaXx8ISFfLlp0KX1vYyhhKXt2YXIgYj1fLk1DO18uTUM9dGhpczt0aGlzLkI9MDt2YXIgYz1fLmt1KF8uenYpLGQ9Xy4kdCh0aGlzLnFsKTt0cnl7cmV0dXJuIHRoaXMubyhhKX1maW5hbGx5e18uJHQoZCksXy5rdShjKSxfLk1DPWJ9fWdldCBjb21wb25lbnROYW1lKCl7cmV0dXJuIF8uRkEodGhpcy5vKX19O3ZhciB4YmE7Xy5uQz1TeW1ib2woIkNjIik7eGJhPWNsYXNzIGV4dGVuZHMgXy5kQ3tjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmtpbmQ9YTt0aGlzLnByb3BzPWI7dGhpcy5jaGlsZHJlbj1jfW9jKCl7dmFyIGE9a0ModGhpcy5raW5kLHRoaXMucHJvcHMsdGhpcy5jaGlsZHJlbik7aWYodGhpcy5DbyE9bnVsbClmb3IobGV0IGIgb2YgdGhpcy5DbylhPWIoYSk7cmV0dXJuIGF9fTt2YXIgcUM9W107Xy53dT1hPT57dGhyb3cgXy5VdShFcnJvcigiYmJgIithLmRlYnVnTmFtZSksNCk7fTsoZnVuY3Rpb24oKXt2YXIgYT1fLmNCO18uY0I9Yj0+e2E/LihiKTt6YmEoYil9fSkoKTt2YXIgQ2JhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPXt9KXt2YXIgZD1fLnVDKCk7dGhpcy5uYW1lPWE7dGhpcy5pZD1kLlV5Kys7dGhpcy5zZXNzaW9uSWQ9ZC5zZXNzaW9uSWQ7dGhpcy5hdHRyaWJ1dGVzPWI7dGhpcy5zdGF0dXM9IlNQQU5fU1RBVFVTX1VOU0VUIjt0aGlzLnN0YXJ0VGltZT1jLnN0YXJ0VGltZT8/KDAsXy5lbCkoKTt0aGlzLmo9Yy5hY3RpdmU7aWYoYT12QygpKXRoaXMucGFyZW50SWQ9YS5pZCxhLmNoaWxkcmVufHwoYS5jaGlsZHJlbj1bXSksYS5jaGlsZHJlbi5wdXNoKHRoaXMpO2ZvcihsZXQgZSBvZiBkLnByb2Nlc3NvcnMpdHJ5e2UuR20/Lih0aGlzKX1jYXRjaChmKXtfLklwKGYpfWMuZW5kVGltZSE9bnVsbCYmKHRoaXMuaj0hMSx0aGlzLmVuZCgiU1BBTl9TVEFUVVNfT0siLGMuZW5kVGltZSkpfWVuZChhPSJTUEFOX1NUQVRVU19PSyIsYj0oMCxfLmVsKSgpKXt2YXIgYz1fLnVDKCk7dGhpcy5lbmRUaW1lPWI7dGhpcy5kdXJhdGlvbj10aGlzLmVuZFRpbWUtCnRoaXMuc3RhcnRUaW1lO3RoaXMuc3RhdHVzPWE7dGhpcy5qIT09ITEmJih2QygpPT09dGhpcz9jLnN0YWNrLnBvcCgpOl8uSXAoRXJyb3IoIkRjYCIrU3RyaW5nKHRoaXMubmFtZSkpKSk7Zm9yKGxldCBkIG9mIGMucHJvY2Vzc29ycyl0cnl7ZC5scj8uKHRoaXMpfWNhdGNoKGUpe18uSXAoZSl9fURlKGEpe09iamVjdC5hc3NpZ24odGhpcy5hdHRyaWJ1dGVzLGEpfX0seEM9e2VuZCgpe30sRGUoKXt9fSx0QyxCYmE9e1d6KCl7cmV0dXJuIF8udUMoKS5zdGFja1swXX19O3ZhciBCQz12b2lkIDA7dmFyIEliYT0iSURPTSBpbnRlcm9wIHNldHRlciB1bmRlZmluZWQuIEtleToiLEhiYT0iQ2FsbGJhY2sgZGV0ZWN0ZWQgdGhhdCB3YXMgbm90IHNldCBpbiB0aGUgaWRvbUNvbXBhdCBjYWxsYmFja3MgbWFwLiBLZXk6IjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFJiYSxRYmE7UmJhPWZ1bmN0aW9uKGEpe3ZhciBiPU9iamVjdC5jcmVhdGUoUWJhKTtiLlRnPWE7YT0oKT0+e18ucnUoYik7Xy5wdShiKTtpZihiLnZhbHVlPT09Xy5Jdil0aHJvdyBiLmVycm9yO3JldHVybiBiLnZhbHVlfTthW18uWnVdPWI7cmV0dXJuIGF9O18uTj1mdW5jdGlvbihhLGIsYz0iIil7dmFyIGQ9UmJhKGEpO2E9ZFtfLlp1XTthLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbY29tcHV0ZWRdIik7Yj8uZXF1YWxzIT1udWxsJiYoYS5lcXVhbD1iLmVxdWFscyk7cmV0dXJuIGR9OwpRYmE9ey4uLl8uWHUsdmFsdWU6Xy5HdixQYjohMCxlcnJvcjpudWxsLGVxdWFsOl8uaXUsa2luZDoiY29tcHV0ZWQiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXt2YXIgZT1hLlRnKCk7Xy5rdShudWxsKTtkPWIhPT1fLkd2JiZiIT09Xy5JdiYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTYmE7Xy5OQz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9YSgpO2lmKCFjKXtsZXQgZD1FcnJvcigiT2NgIitiKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShkLDIsYik7fSl9cmV0dXJuIGN9fTtfLk89ZnVuY3Rpb24oYSl7cmV0dXJuIFNiYShhKX07ClNiYT1mdW5jdGlvbihhKXtpZihhLkE9PT12b2lkIDApcmV0dXJuIGEuVz8uKCk7aWYodHlwZW9mIGEuQSE9PSJmdW5jdGlvbiIpe2xldCBlPWEudGhlbixmPWEuVyxoPWEuQTtyZXR1cm4gaD9lKGgpOmY/LigpfXZhciBiPWEuQSxjPV8uTigoKT0+ISFiKCksdm9pZCAwLCJCalFSUSIpLGQ9Xy5OQyhiLCJJZiIpO3JldHVybiBfLlhCKCgpPT57dmFyIGU9YygpLGY7Xy51digoKT0+e3ZhciBoPV8ua3UoXy56dik7dHJ5e2Y9Xy5mQyhlP2EudGhlbihkKTphLlc/LigpKX1maW5hbGx5e18ua3UoaCl9fSwhMCk7cmV0dXJuIGZ9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8iUmxEdWRkIix6cDphLnRoZW4sV2U6ITB9KX07Xy5XQz1uZXcgTWFwO18uWEM9U3ltYm9sKCJOYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtHPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoMSk7aWYoKDAsXy5sdikoYikpdGhyb3cgRXJyb3IoImliIik7cmV0dXJuIF8uaHUoYSxiKX07Xy5tRz1mdW5jdGlvbigpe3JldHVybiBfLlp0P18ua0coXy5sRyk6dm9pZCAwfTtfLmZkYT1TeW1ib2woIiRjIik7Xy5nZGE9U3ltYm9sKCJhZCIpO18ubEc9Xy5ndSh7ZGVmYXVsdFZhbHVlOnZvaWQgMH0sInlEcDVPYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaGNhO18ubkU9ZnVuY3Rpb24oYSxiKXthPV8ucHYoaGNhLGEsYik7Xy5mdihhKX07aGNhPXsuLi5fLiR2LGVmZmVjdFR5cGU6Xy5kdn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0g9ZnVuY3Rpb24oYSxiKXthPV8uJHQoYSk7dHJ5e18uRUEoYil9ZmluYWxseXtfLiR0KGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0U9ZnVuY3Rpb24oKXtpZihfLkhBKCkpdGhyb3cgRXJyb3IoIkJjIik7cmV0dXJuIF8uTUN9O18ucEU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vRSgpO2lmKGI9PW51bGwpdGhyb3cgRXJyb3IoIlRjIik7dmFyIGM9Yi5CKys7Yi5aZnx8KGIuWmY9W10pO3ZhciBkPWIuWmY7ZFtjXXx8KGRbY109e2tleTphLGhvc3Q6Yn0pO2lmKGEhPT1kW2NdLmtleSl0aHJvdyBFcnJvcigiU2NgIisoYi5qP2Iuaj8ubmFtZTpiIGluc3RhbmNlb2YgXy5tQz9fLkZBKGIubyk6YDwke2IuZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT5gKSk7cmV0dXJuIGRbY119O18ucUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hYXx8YS5sZW5ndGghPT1iPy5sZW5ndGh8fGEuc29tZSgoYyxkKT0+YyE9PWJbZF0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGljYSx0RSxqY2Esd0U7aWNhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYyxkPXtDazpudWxsLGdldCB2YWx1ZSgpe2Qudkw/LigpO3JldHVybiBkLkNrfSx2bzohMSxrdTohMSxzZXQgdmFsdWUoZSl7ZC53TD8uKGUpO2QuQ2s9ZTtkLnZvPSEwfSxteihlKXtjJiZlIT09YyYmKGMuX2Rpc3Bvc2VSZWY9dm9pZCAwLGI/LigpKTtjPWU7Yj1hKGUpfHxudWxsfSx1eigpe2I/LigpO2I9ZC52YWx1ZT1udWxsfSxbXy5Ndl06ITB9O3JldHVybiBkfTtfLnNFPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2lmKF8uSEEoKSlyZXR1cm4gYSgpO3ZhciBjPV8ucEUoInVzZU1lbW9JbnRlcm5hbCIpO18ucUUoYy5tbCxiKSYmKGMubWw9YixjLnZhbHVlPWEoKSk7cmV0dXJuIGMudmFsdWV9O18udUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMSxiKX07Xy52RT1mdW5jdGlvbihhLGIpe3JldHVybiB0RShhLCEwLGIpfTsKdEU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkhBKCk/d0UoYSxiLGMpOmpjYShhLGIsYyl9O2pjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uc0UoKCk9PndFKGEsYixjKSl9O3dFPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlp0LGU9aWNhKGY9PntlLnZhbHVlPWY7dmFyIGg9KCgpPT57dmFyIGs9Xy5rdShudWxsKTt0cnl7cmV0dXJuIGM/LihmKX1jYXRjaChsKXtfLm92KGwsZCl9ZmluYWxseXtfLmt1KGspfX0pKCk7cmV0dXJuKCk9PntoPy4oKX19KTtlLmp1PWE7ZS5sdT1iO2Uudko9IV8uSEEoKTtyZXR1cm4gZX07Xy5CRT1TeW1ib2woIldjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUY9e1ZiOiExLHN0YXRlOiJ2aXNpYmxlIn07Xy5uRj17VmI6ITEsc3RhdGU6ImhpZGRlbiJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnBIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoKTtyZXR1cm4gYz0+e3ZhciBkPWEub2JzZXJ2ZXI/P18ueSgpLnJlc29sdmUoXy5MeCksZT1jLmpmPz9jLGY9W107YS5lYiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMCxjKX0pfSxhLmViKSk7YS5OYyYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMSxjKX0pfSxhLk5jKSk7YS5MaCYmYS5MaiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5MaigpfSl9LGEuTGgpKTtlLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZS52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFBEO18uUkQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy5PRCk7aWYoYilyZXR1cm4gYjtpZigoYj1fLkIoYSxXYmEpKSYmYi5jb21tYW5kcylyZXR1cm4gUEQoYi5jb21tYW5kcyk7aWYoKGI9Xy5CKGEsWGJhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChhPV8uQihhLFliYSkpJiZhLmlkZW50aWZpZXImJmEuY29tbWFuZCYmKFFEfHwoUUQ9W10pLCFRRC5pbmNsdWRlcyhhLmlkZW50aWZpZXIpKSlyZXR1cm4gUUQucHVzaChhLmlkZW50aWZpZXIpLF8uQihhLmNvbW1hbmQsXy5PRCl9O1BEPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoIT09MCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9Xy5SRChjKSkmJmIucHVzaChhKTtyZXR1cm57Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6Yn19fX07Xy5TRD1uZXcgXy5JKCJjb21tYW5kRXhlY3V0b3JDb21tYW5kIik7Xy5PRD1uZXcgXy5JKCJpbm5lcnR1YmVDb21tYW5kIik7dmFyIFdiYT1uZXcgXy5JKCJwYXJhbGxlbENvbW1hbmQiKTt2YXIgWWJhPW5ldyBfLkkoInBlcmZvcm1PbmNlQ29tbWFuZCIpO3ZhciBYYmE9bmV3IF8uSSgic2VyaWFsQ29tbWFuZCIpO3ZhciBRRD12b2lkIDA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEQ9bmV3IF8uSSgicmVlbFdhdGNoRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VRD1uZXcgXy5WcygiQ09NTUFORF9IQU5ETEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkQ9bmV3IF8uSSgidXJsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpiYSxkY2EsJGJhLGVjYTtfLldEPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYSgpfWNhdGNoKGIpe18uSXAoYil9fTtfLllEPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm57Zm9ybTp7Y3VycmVudERhdGE6Xy5YRD8ucmVzcG9uc2U/P3t9LHNvdXJjZURhdGE6YSxldmVudDpiPy5ldmVudCxjbGlja2VkVmlzdWFsRWxlbWVudDpiPy5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmI/LmltcGxpY2l0R2VzdHVyZVR5cGUsYXV0b25hdjpiPy5hdXRvbmF2LEJkOmI/LkJkfSxtZDpjfX07Cl8uYkU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5odixjPWEudXgsZD1hLmJoLGU9YS5JZCxmPWEucWQsaD1hLkFvLGs9YS5pbm5lcnR1YmVDb21tYW5kfHxfLlJEKGQpO2lmKGspe2E9e307dmFyIHtScTpsLGhyZWY6bX09Xy5aRChrKTtsJiZtPyhhLmhyZWY9bSxaYmEoYSxsLG0sYiksJGJhKGEsbCksZiYmKGEucWQ9ITApKTooYS5yb2xlPSJidXR0b24iLGEudGFiaW5kZXg9IjAiKTtfLkIoayxhY2EpJiYoYS5hcmlhSGFzUG9wdXA9ITApO2V8fChhLm9uY2xpY2s9bj0+e2wmJm18fG4ucHJldmVudERlZmF1bHQoKTtfLiREKGspO3ZhciBwPXsuLi5fLllEKGsse2V2ZW50Om59KSwuLi5ofTtuLnByZXZlbnREZWZhdWx0KCk7Xy5hRShrLHApO24uc3RvcFByb3BhZ2F0aW9uKCl9LGwmJm18fChhLm9ua2V5ZG93bj1uPT57aWYobi5rZXk9PT0iRW50ZXIifHxuLmtleT09PSIgIiluLnN0b3BQcm9wYWdhdGlvbigpLG4ucHJldmVudERlZmF1bHQoKSxuLmN1cnJlbnRUYXJnZXQuY2xpY2soKX0pKTsKcmV0dXJuey4uLmMsLi4uYX19fTtfLlpEPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsXy5TRCk/LmNvbW1hbmRzfHxbYV07Zm9yKGxldCBiIG9mIGEpaWYoYT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwsXy54KCJ3ZWJfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiKXx8KGE9YXx8Xy5CKGIsYmNhKT8udXJsKSxhJiZhIT09Ii9zZXJ2aWNlX2FqYXgiKXtsZXQgYz1fLmJiKGEsY2NhKTtpZihjKXJldHVybiBhPV8uWWEoYykse1JxOmIsaHJlZjphfTtfLklwKG5ldyBfLlhqKCJBdHRyaWJ1dGVkU3RyaW5nIFVSTCBjb3VsZCBub3QgYmUgc2FuaXRpemVkIixhKSl9cmV0dXJue319OwpaYmE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz0hXy5maihjKTtpZihfLkIoYixfLmNFKT8ubm9mb2xsb3d8fF8uQihiLF8uQXcpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5WRCk/Lm5vZm9sbG93fHxfLkIoYixfLlREKT8ubm9mb2xsb3d8fGMpYS5yZWw9Im5vZm9sbG93IjthLnRhcmdldD1kY2EoYixkKX07ZGNhPWZ1bmN0aW9uKGEsYj0iIil7cmV0dXJuIF8uQihhLF8uVkQpPy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOmJ9OyRiYT1mdW5jdGlvbihhLGIpe2IuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGEucGFyYW1zPXtpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc30pO2Eub25wb2ludGVyZG93bj1jPT57ZWNhKGMsYil9O2EubnU9Yn07Cl8uJEQ9ZnVuY3Rpb24oYSl7KGEubG9nZ2luZ1VybHN8fFtdKS5mb3JFYWNoKGI9Pnt2YXIgYz1iLmJhc2VVcmw7Yi5hdHRyaWJ1dGlvblNyY01vZGU9PT0iQVRUUklCVVRJT05fU1JDX01PREVfWEhSX09QVElPTiI/KGM9ZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP2MrIiZuaXM9NiI6YysiJm5pcz01IixfLmFuKGMsdm9pZCAwLHZvaWQgMCx2b2lkIDAsIiIsITAsITApKTpfLmFuKGMpfSl9O2VjYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuY3VycmVudFRhcmdldDthPV8uV0QoKCk9PmMuaHJlZik7Yj1iLmNsaWNrVHJhY2tpbmdQYXJhbXM/e2l0Y3Q6Yi5jbGlja1RyYWNraW5nUGFyYW1zfTp7fTthJiZfLnV6KGEsYiw4LCEwKX07Xy5kRT1mdW5jdGlvbihhLGIpeyhhPV8uUkQoYSkpJiZfLmFFKGEsYil9OwpfLmFFPWZ1bmN0aW9uKGEsYil7Xy5ZdChfLlVELGM9PntiP2MucmVzb2x2ZUNvbW1hbmQoYSxiKTpjLnJlc29sdmVDb21tYW5kKGEpfSl9O18uY0U9bmV3IF8uSSgiYnJvd3NlRW5kcG9pbnQiKTt2YXIgYmNhPW5ldyBfLkkoIndlYk5hdmlnYXRpb25FbmRwb2ludERhdGEiKTt2YXIgYWNhPW5ldyBfLkkoIm1vZGFsRW5kcG9pbnQiKTtfLmZjYT1uZXcgXy5JKCJ1c2VyRmVlZGJhY2tFbmRwb2ludCIpO18uZUU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGE9W107dGhpcy5EZj1udWxsfXB1c2goYSl7dGhpcy5EZj90aGlzLkRmKGEpOnRoaXMuZGF0YS5wdXNoKGEpfX07Xy5YRD17fTtfLmZFPV8uSihfLlhELHZvaWQgMCwiVEhST08iKVswXTtfLkoobnVsbCx2b2lkIDAsImN4NFRJZCIpO18uSihudWxsLHZvaWQgMCwiUVhhT3VkIik7Xy5KKCIiLHZvaWQgMCwiRFJXTzljIik7Xy5KKF8ucXooKT8hMTohMCx2b2lkIDAsInZ5enlpZCIpO18uZ0U9bmV3IF8uZUU7dmFyIGNjYT1bXy5JcSxfLkpxLF8uS3EsXy5NcSxfLkxxLF8uR3EsXy5OcSxfLlBxXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5xSD1mdW5jdGlvbihhKXtpZihhLmNvbXBvc2VkUGF0aClyZXR1cm4gYS5jb21wb3NlZFBhdGgoKTtpZighYS51byl7bGV0IGI9W10sYz1hLnRhcmdldDtmb3IoO2M7KWIucHVzaChjKSxjPWMucGFyZW50Tm9kZTtiLnB1c2god2luZG93KTthLnVvPWJ9cmV0dXJuIGEudW99O18uckg9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZCBvZiBhKXtpZihkPT09YilicmVhaztmb3IobGV0IGUgb2YgYylpZihkLnRhZ05hbWU9PT1lfHxkLnJvbGU9PT0iYnV0dG9uIiYmZT09PSJCVVRUT04iKXJldHVybiEwfXJldHVybiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJkYSxDZGEsRGRhLHZILHdILEVkYTtCZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpO2lmKGEpe3ZhciBkPWEuamY/P2EsZT1bXTtiLmViJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLk5iKCEwLGEpfSxiLmViKSk7Yi5OYyYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMSxhKX0sYi5OYykpO2IuTGgmJmIuTGomJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTGooKX0sYi5MaCkpO2QudmlzaWJpbGl0eU1vbml0b3JLZXlzPShkLnZpc2liaWxpdHlNb25pdG9yS2V5cz8/W10pLmNvbmNhdChlKX19O18udEg9ZnVuY3Rpb24oYSl7cmV0dXJuISFfLnNIKGEpfTtfLnVIPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGY9Pnt2YXIgaD1fLm1HKCk7Xy5uRSgoKT0+e2lmKGYpe0NkYShmLGEoKSxlKTt2YXIgaz1EZGEoZixhKCksYixjLGQsaCk7Xy5ZdShrKX19LCJhalFZNiIpfX07CkNkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dkgoYiksZT13SChiKSxmPWQmJl8ubUYsaD1lJiZfLm5GOyhkfHxlKSYmQmRhKGEse05iOms9Pnt2YXIgbD1fLnkoKS5yZXNvbHZlKF8uVUQpO2smJmQ/KGwucmVzb2x2ZUNvbW1hbmQoZCx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGQ9dkgoYikpOiFrJiZlJiYobC5yZXNvbHZlQ29tbWFuZChlLHtmb3JtOntlbGVtZW50OmM/YTp2b2lkIDB9LG1kOiEwfSksZT13SChiKSl9LGViOmYsTmM6aH0pfTsKRGRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1uZXcgTWFwO2lmKGI9Xy5zSChiKSlhPWQ/Lm9uVGFwPy52YWx1ZXx8YSxjPUVkYShiLGEsYz8ub25UYXAsZSxmKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjKSxoLnNldCgiY2xpY2siLGMpLF8ueCgid2ViX2VuYWJsZV9hZGRpdGlvbmFsX2V2ZW50X2xpc3RlbmVyX2Zvcl90YXBfY29tbWFuZCIpJiYoYz1rPT57dmFyIGw9YS50YWdOYW1lO2w9PT0iQlVUVE9OInx8bD09PSJBInx8bD09PSJJTlBVVCJ8fGsua2V5IT09IkVudGVyIiYmay5rZXkhPT0iICJ8fGUmJl8uckgoXy5xSChrKSxhLGUpfHwoay5wcmV2ZW50RGVmYXVsdCgpLGEuY2xpY2soKSl9LGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYyksaC5zZXQoImtleWRvd24iLGMpKTtyZXR1cm4oKT0+e2ZvcihsZXQgW2ssbF1vZiBoKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLGwpfX07Cl8uc0g9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVGFwKSYmXy5SRChhKX07dkg9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVmlzaWJsZSkmJl8uUkQoYSl9O3dIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vbkhpZGRlbikmJl8uUkQoYSl9O18ueUg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJTdGFydCl9O18uekg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJFbmQpfTtFZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1rPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLGspfSxoPWs9PntkJiZfLnJIKF8ucUgoayksYixkKXx8ZihrLnRhcmdldD97Zm9ybTp7ZWxlbWVudDprLnRhcmdldCxzb3VyY2VEYXRhOmEsbXV0YXRpb25Db250ZXh0OmV9fTp2b2lkIDApfTtjJiYoaD1rPT57YyhrLGYpfSk7cmV0dXJuIGh9O18ueEg9bmV3IF8uSSgiY29tbWFuZENvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5qSD1uZXcgXy5WcygiS0VZX01BTkFHRVJfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5QPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPSEwO2ZvcihsZXQgYyBvZiBhKWlmKHR5cGVvZiBjIT09InN0cmluZyIpe2I9ITE7YnJlYWt9cmV0dXJuIGI/YS5qb2luKCIgIikudHJpbSgpfHx2b2lkIDA6KCk9Pnt2YXIgYz0iIjtmb3IobGV0IGQgb2YgYSlpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJihkPWQoKSksZClpZih0eXBlb2YgZD09PSJzdHJpbmciKWMrPSIgIitkO2Vsc2UgZm9yKGxldCBlIGluIGQpe2lmKCFkLmhhc093blByb3BlcnR5KGUpKWNvbnRpbnVlO2xldCBmPWRbZV07dHlwZW9mIGY9PT0iZnVuY3Rpb24iJiYoZj1mKCkpO2YmJihjKz0iICIrZSl9Yz1jLnRyaW0oKXx8dm9pZCAwO3JldHVybiBfLkJ2KGMpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSDtrSD1mdW5jdGlvbihhKXtyZXR1cm4oKT0+YSgpP2EoKTp2b2lkIDB9OwpfLm5IPV8uTChhPT57dmFyIGI9Xy51RSgiYSIsYS5yZWYpLGM9YS51Yz9hLnVjOl8uTigoKT0+Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpfLlJEKGEuY29tbWFuZD8uKCkpPz9hLmNvbW1hbmQ/LigpLElkOmEuSWQ/LigpLGh2OmEudGFyZ2V0Py4oKX0pfHx7fSx2b2lkIDAsIlRBdnowIik7cmV0dXJuIF8uSygiYSIse2VsOmIsaHJlZjooKT0+YygpLmhyZWYscmVsOigpPT5jKCkucmVsLGNsYXNzOigpPT5jKCkuY2xhc3NOYW1lPz9hLmNsYXNzTmFtZT8uKCksc3R5bGU6KCk9PntpZihhLnN0eWxlPy4oKSlyZXR1cm4gYS5zdHlsZSgpO2lmKGEuZGlzYWJsZWQ/LigpKXJldHVybiJwb2ludGVyLWV2ZW50czpub25lIn0sImFyaWEtaGFzcG9wdXAiOigpPT4hIWMoKS5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6a0goKCk9PmMoKS5xZCksdGl0bGU6a0goKCk9PmMoKS50aXRsZT8/YS50aXRsZT8uKCkpLHJvbGU6a0goKCk9PmEucm9sZT8uKCl8fGMoKS5yb2xlKSx0YXJnZXQ6a0goKCk9PgpjKCkudGFyZ2V0KSxkaXI6a0goKCk9PmEuZGlyPy4oKXx8YygpLmRpciksdGFiaW5kZXg6KCk9PmMoKS50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYygpLnRhYmluZGV4KTphLnRhYkluZGV4Py4oKSwiYXJpYS1oaWRkZW4iOigpPT5jKCkuYXJpYUhpZGRlbj8/YS5hcmlhSGlkZGVuPy4oKSwiYXJpYS1sYWJlbCI6KCk9PmMoKS5hcmlhTGFiZWw/P2EuYXJpYUxhYmVsPy4oKSwiYXJpYS1jdXJyZW50IjphLmFyaWFDdXJyZW50LCJhcmlhLWRpc2FibGVkIjphLmRpc2FibGVkLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCwiYXJpYS1sYWJlbGxlZGJ5IjphLkhvLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLXNlbGVjdGVkIjphLmFyaWFTZWxlY3RlZCwidGFiLWlkZW50aWZpZXIiOmEudGFiSWRlbnRpZmllciwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbnBvaW50ZXJkb3duPy4oZCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oZCl7YygpLm9uY2xpY2s/LihkKTsKYS5vbkNsaWNrPy4oZCl9LCJvbjpmb2N1c2luIjphLmR6LCJvbjpmb2N1c291dCI6YS5leiwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oZCl7YS5vbkhvdmVyPy4oZCk7YS5pej8uKGQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oZCl7YS5qej8uKGQpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oZCl7YygpLm9ua2V5ZG93bj8uKGQpfX0sYS5jaGlsZHJlbil9LCJ0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkM9Xy5MKCh7Y29tbWFuZDphLHJlbmRlcmVyQ29udGV4dDpiLGNoaWxkcmVuOmMsY2xhc3NOYW1lOmQsWnY6ZSxzdHlsZTpmLG9uQ2xpY2s6aCxhcmlhQ3VycmVudDprLEhlOmwsYXJpYUhpZGRlbjptLGFyaWFMYWJlbDpuLEhvOnAsYXJpYVNlbGVjdGVkOnIsZGlzYWJsZWQ6dCxkaXI6dix0YWJJbmRleDp6LHRhcmdldDpFLHRpdGxlOkEsdG9nZ2xlYWJsZTpGLHRvZ2dsZWQ6Q30pPT57ZnVuY3Rpb24gRyhtYSl7dmFyIHRhPV8uc0goYj8uKCkpPz9hPy4oKTtpZih0YSl7bGV0IFQ9bWEudGFyZ2V0P3tmb3JtOntlbGVtZW50Om1hLnRhcmdldCxzb3VyY2VEYXRhOnRhLG11dGF0aW9uQ29udGV4dDpVfX06dm9pZCAwO18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQodGEsVCl9aD8uKG1hKX1mdW5jdGlvbiBEKCl7b2EoUz8uWGUoKT8/ITEpfWZ1bmN0aW9uIEgoKXtvYSghMSl9ZnVuY3Rpb24gUigpe3ZhciBtYT1fLnlIKGI/LigpKTttYSYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChtYSl9CmZ1bmN0aW9uIE0oKXt2YXIgbWE9Xy56SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfXZhciBTPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSksW1kscGFdPV8uSighMSx2b2lkIDAsIlROTEpFYyIpLG9hPXBhLFU9Xy5tRygpLGhhPSgpPT5GPy4oKT9DPy4oKTp2b2lkIDA7cmV0dXJuIF8uSyhfLk8se0E6ZnVuY3Rpb24oKXt2YXIgbWE9Xy5zSChiPy4oKSk/P2E/LigpLHRhO2lmKHRhPW1hKXtsZXQge1JxOlQsaHJlZjpiYX09Xy5aRChtYSk7dGE9ISghVHx8IWJhKX1yZXR1cm4gdGF9LHRoZW46KCk9Pl8uSyhfLm5ILHtjb21tYW5kOmEsc3R5bGU6ZixIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLG9uQ2xpY2s6aCxjbGFzc05hbWU6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JBbmNob3IiLApkLCgpPT5ZKCk/ZT8uKCk6IiIpLGR6OkQsZXo6SCxpejpSLGp6Ok0sYXJpYUN1cnJlbnQ6KCk9Pms/LigpPz9oYSgpfSxjKSxXOigpPT5fLksoImJ1dHRvbiIseyJvbjpjbGljayI6Rywib246Zm9jdXNpbiI6RCwib246Zm9jdXNvdXQiOkgsIm9uOm1vdXNlZW50ZXIiOlIsIm9uOm1vdXNlbGVhdmUiOk0sY2xhc3M6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JCdXR0b24iLGQsKCk9PlkoKT9lPy4oKToiIiksc3R5bGU6ZiwiYXJpYS1kZXNjcmliZWRieSI6bCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6cCwiYXJpYS1wcmVzc2VkIjpoYSxkaXI6dixkaXNhYmxlZDp0LHRhYmluZGV4OigpPT56Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8wOnZvaWQgMCksdGl0bGU6QX0sYyl9KX0sInYiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiWlFLeDEiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JRT1mdW5jdGlvbiguLi5hKXtyZXR1cm4oKT0+e3ZhciBiPSIiO2ZvcihsZXQgYyBvZiBhKXtsZXQgZD10eXBlb2YgYz09PSJmdW5jdGlvbiI/YygpOmM7aWYoZClmb3IobGV0IGUgaW4gZCl7bGV0IGY9ZFtlXTtmb3IoO3R5cGVvZiBmPT09ImZ1bmN0aW9uIjspZj1mKCk7ZiE9PXZvaWQgMCYmZiE9PW51bGwmJihiKz1gOyAke2V9OiAke2Z9YCl9fXJldHVybiBiLmxlbmd0aD4wP18uQnYoYi5zbGljZSgyKSk6Xy5CdigpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckY9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIF8udkUoXy5CRSxiPT57dmFyIGM9YS5tYXAoZD0+ZD8uKGIpKTtyZXR1cm4oKT0+dm9pZCBjLmZvckVhY2goZD0+dm9pZCBkPy4oKSl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEs9ZnVuY3Rpb24oKXtnS3x8KGdLPW5ldyBMZWEpO3JldHVybiBnS307dmFyIE1lYT1fLkwoYT0+e2Z1bmN0aW9uIGIoaGEpe2lmKGhhKXt2YXIgbWE9TS5nZXQoaGEpO21hJiYobWEuY2FuY2VsKCksTS5kZWxldGUoaGEpKTtmb3IobGV0IHRhIG9mIGhhLmdldEFuaW1hdGlvbnMoKSl0YS5jYW5jZWwoKX19ZnVuY3Rpb24gYyhoYSxtYSx0YSl7bWE9Xy5qZi5HYShtYSwzLHRhKTtTLnNldChoYSxtYSl9ZnVuY3Rpb24gZCgpe20oITEpO2lmKFIpe3ZhciBoYT1SO1I9bnVsbDt2YXIgbWE9RGF0ZS5ub3coKS1HO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7dmFyIHt3aWR0aDp0YSxoZWlnaHQ6VCxvcGFjaXR5OmJhfT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoYSksYWE9TnVtYmVyLnBhcnNlRmxvYXQodGEpfHwwLE9hPU51bWJlci5wYXJzZUZsb2F0KFQpfHwwLEpiPU51bWJlci5wYXJzZUZsb2F0KGJhKXx8LjU7aGEuc3R5bGUud2lkdGg9YCR7YWF9cHhgO2hhLnN0eWxlLmhlaWdodD1gJHtPYX1weGA7aGEuc3R5bGUub3BhY2l0eT1gJHtKYn1gO2IoaGEpO2FhPQpVPzA6MkUzO2hhLnN0eWxlLnRyYW5zaXRpb249YG9wYWNpdHkgJHthYX1tcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKWA7aGEuc3R5bGUub3BhY2l0eT1oYS5vZmZzZXRXaWR0aD09PS0xPyIxIjoiMCI7YyhoYSwoKT0+e1MuZGVsZXRlKGhhKTtoYS5zdHlsZS5jc3NUZXh0PSIifSxhYSsxMDApfSxNYXRoLm1heCgwLDMwMC1tYSkpfX1mdW5jdGlvbiBlKCl7ZCgpO0M9bnVsbH12YXIge2NsYXNzTmFtZTpmLHN0eWxlOmh9PV8uREMoYSx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkZWZhdWx0In0pLFtrLGxdPV8uSighMSx2b2lkIDAsIktiVVRqZiIpLG09bCxbbixwXT1fLkoodm9pZCAwLHZvaWQgMCwiR2VGdkVmIiksW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsImkzZmRWZSIpLFt2LHpdPV8uSih2b2lkIDAsdm9pZCAwLCJMZWRWNGIiKSxFPV8uckYoKSxBPV8uckYoKSxGPV8uckYoKSxDPW51bGwsRz0wLEQ9MCxIPSEwLFI9bnVsbCxNPW5ldyBNYXAsUz1uZXcgTWFwLFk9MCxwYT0KMCxvYT1udWxsLFU9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcztfLll1KCgpPT57Zm9yKGxldCBoYSBvZiBTLnZhbHVlcygpKV8uamYuQWEoaGEpO1MuY2xlYXIoKTtiKEEudmFsdWUpO2IoRi52YWx1ZSk7b2EhPT1udWxsJiZfLmpmLkFhKG9hKX0pO3JldHVybiBfLksoInl0LWxpZ2h0LXRvdWNoLWZlZWRiYWNrLXNoYXBlIix7ZWw6RSxjbGFzczpfLlAoInl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IixmLHt5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZDprLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OigpPT5oKCk9PT0iZGVmYXVsdCIseXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6KCk9PmgoKT09PSJpbnZlcnNlIn0pLCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7dmFyIGhhPUM/PyhDPUUudmFsdWU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz8KbnVsbCk7aGEmJnooYCR7KGhhLmhlaWdodHx8MCkqMi41fXB4YCl9LCJvbjpwb2ludGVyZG93biI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1EYXRlLm5vdygpO2lmKCEobWEtRDwxMDApKXtEPW1hO20oITApO3ZhciB0YT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7aWYodGEpe3ZhciBUPWhhLmNsaWVudFgtdGEubGVmdDtoYT1oYS5jbGllbnRZLXRhLnRvcDt2YXIgYmE9TWF0aC5tYXgoKHRhLndpZHRofHwwKSoyLCh0YS5oZWlnaHR8fDApKjguNSksYWE9YmEvNDA4KjE0MDA7dGE9SD9BLnZhbHVlOkYudmFsdWU7SD0hSDtpZihSPXRhKXt0YS5zdHlsZS5jc3NUZXh0PSIiO2IodGEpO2xldCBPYT1TLmdldCh0YSk7T2EhPT12b2lkIDAmJihfLmpmLkFhKE9hKSxTLmRlbGV0ZSh0YSkpO3RhLnN0eWxlLmxlZnQ9YCR7VH1weGA7dGEuc3R5bGUudG9wPWAke2hhfXB4YDtVfHwoVD1uZXcgS2V5ZnJhbWVFZmZlY3QodGEsW3t3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCIsCm9wYWNpdHk6IjAuMzA2In0se3dpZHRoOmAke2JhKi4yNX1weGAsaGVpZ2h0OmAke2JhKi4yNX1weGAsb3BhY2l0eToiMC43NzQiLG9mZnNldDouMjV9LHt3aWR0aDpgJHtiYSouNn1weGAsaGVpZ2h0OmAke2JhKi42fXB4YCxvcGFjaXR5OiIwLjgyOCIsb2Zmc2V0Oi42fSx7d2lkdGg6YCR7YmF9cHhgLGhlaWdodDpgJHtiYX1weGAsb3BhY2l0eToiMC45In1dLHtkdXJhdGlvbjphYSxmaWxsOiJmb3J3YXJkcyIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4xNywgMC4xNywgMC4xLCAxKSJ9KSxUPW5ldyBBbmltYXRpb24oVCxkb2N1bWVudC50aW1lbGluZSksTS5zZXQodGEsVCksVC5wbGF5KCkpfUc9bWF9fX0sIm9uOnBvaW50ZXJ1cCI6ZCwib246cG9pbnRlcmxlYXZlIjplLCJvbjpwb2ludGVyY2FuY2VsIjplLCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7bWEmJihZPWhhLmNsaWVudFgtCm1hLmxlZnQscGE9aGEuY2xpZW50WS1tYS50b3AsaygpJiYoaGEuY2xpZW50WDxtYS5sZWZ0fHxoYS5jbGllbnRYPm1hLnJpZ2h0fHxoYS5jbGllbnRZPG1hLnRvcHx8aGEuY2xpZW50WT5tYS5ib3R0b20pP2QoKTpvYT09PW51bGwmJihvYT1fLmpmLkdhKCgpPT57b2E9bnVsbDtwKGAke1l9cHhgKTt0KGAke3BhfXB4YCl9LDMpKSl9LCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5In0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0IixzdHlsZTpfLklFKHtsZWZ0Om4sdG9wOnIsd2lkdGg6dixoZWlnaHQ6dn0pfSksXy5LKCJkaXYiLHtlbDpBLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSxfLksoImRpdiIse2VsOkYsY2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaExpZ2h0In0pKX0sImFhIik7dmFyIExlYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaj1uZXcgTWFwO3ZhciBbYSxiXT1fLkooW10sdm9pZCAwLCJJS2ZaQmQiKTt0aGlzLnY9Yjt0aGlzLm89Xy5OKCgpPT57dmFyIGM9YSgpO2ZvcihsZXQgZCBvZiBjKWQuUHk/LigpO3JldHVybiBjLm1hcChkPT5kLmVsZW1lbnQpfSx2b2lkIDAsIlpNUnR3ZCIpfWxhKCl7Z0s9bnVsbDtzdXBlci5sYSgpfX0sZ0s9bnVsbDtfLnlFPV8uTChhPT57dmFyIGI9Xy52RShfLkJFKSxbYyxkXT1fLkooe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0sdm9pZCAwLCJHd1hjRGQiKSxlPSgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPWIudmFsdWU7aWYoaCl7dmFyIGs9Xy5oSygpLm87dmFyIGw9aygpO2lmKGwubGVuZ3RoKXtsZXQgdD1oLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2s9dC5sZWZ0K3Qud2lkdGgvMjt2YXIgbT10LnRvcCt0LmhlaWdodC8yO2xldCB2PUluZmluaXR5O3ZhciBuPTAscD0wO2xldCB6PTk2O2ZvcihsZXQgRSBvZiBsKXtpZihFPT09aHx8IUUuaXNDb25uZWN0ZWR8fEUub2Zmc2V0UGFyZW50PT09bnVsbCljb250aW51ZTtsPUUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYobC53aWR0aD09PTAmJmwuaGVpZ2h0PT09MCljb250aW51ZTtsZXQgQT1NYXRoLm1heChsLmxlZnQsTWF0aC5taW4oayxsLnJpZ2h0KSksRj1NYXRoLm1heChsLnRvcCxNYXRoLm1pbihtLGwuYm90dG9tKSk7dmFyIHI9CkEtTWF0aC5tYXgodC5sZWZ0LE1hdGgubWluKEEsdC5yaWdodCkpO2xldCBDPUYtTWF0aC5tYXgodC50b3AsTWF0aC5taW4oRix0LmJvdHRvbSkpO3I9cipyK0MqQztyPHYmJih2PXIsbj1BLHA9Rix6PU1hdGgubWF4KGwud2lkdGgsbC5oZWlnaHQpKX1oPU1hdGguc3FydCh2KTtkKGg8MTAwP3t4Om4tayx5OnAtbSxvcGFjaXR5OjEtaC8zMDAsc2l6ZTpNYXRoLm1heCg5Nix6KjIuNSl9Ont4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX1lbHNlIGQoe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0pfX19O18ubkUoKCk9PntpZihhLmNvbmZpZygpPy5qayl7dmFyIGg9bmV3IF8uV3QoZSwxMDApLGs9KCk9PntoLnYoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixrKTtoLmRpc3Bvc2UoKX19fSwiclBZQzFkIik7Xy5uRSgoKT0+e2EuY29uZmlnKCk/LmprJiZlKCl9LCJRcDZQUmQiKTsKdmFyIGY9KCk9PmEuY29uZmlnKCk/LlZhIT09NSYmYS5jb25maWcoKT8uVmEhPT05JiZhLmNvbmZpZygpPy5WYSE9PTY7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LlZhIT09MCYmIV8uZ3IsdGhlbjooKT0+Xy5LKCJ5dC1saWdodC1zaGFwZSIse2VsOmIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3M6Xy5QKCJjb250cmliWXRMaWdodFNoYXBlSG9zdCIsYS5jbGFzc05hbWUse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodDooKT0+ITAsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT0yLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFRvbmFsSW52ZXJzZTooKT0+CmEuY29uZmlnKCk/LlZhPT09NCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09Nyxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTUsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheU91dGxpbmU6KCk9PmEuY29uZmlnKCk/LlZhPT09OSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT02fSksc3R5bGU6Xy5JRSh7Ii0teXQtbGlnaHQtcmltLWNvbG9yIjooKT0+YS5jb25maWcoKT8uZHYsIi0teXQtbGlnaHQtd2FzaC1vcGFjaXR5IjooKT0+YygpLm9wYWNpdHksIi0teXQtbGlnaHQtd2FzaC14IjooKT0+YCR7YygpLnh9cHhgLCItLXl0LWxpZ2h0LXdhc2gteSI6KCk9PgpgJHtjKCkueX1weGAsIi0teXQtbGlnaHQtd2FzaC1zaXplIjooKT0+YCR7YygpLnNpemV9cHhgfSl9LF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LmprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0In0pfSksXy5LKF8uTyx7QTooKT0+YS5jb25maWcoKT8uQ0IsdGhlbjooKT0+Xy5LKE1lYSx7c3R5bGU6KCk9Pnt2YXIgaDthOntpZihoPWEuY29uZmlnKCk/LlZhKXN3aXRjaChoKXtjYXNlIDE6Y2FzZSA0Omg9ImRlZmF1bHQiO2JyZWFrIGE7Y2FzZSAyOmNhc2UgMzpjYXNlIDU6aD0iaW52ZXJzZSI7YnJlYWsgYX1oPXZvaWQgMH1yZXR1cm4gaH19KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodCIse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcmk6KCk9Pl8uT2t8fF8uSWwsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkOigpPT4KYS5jb25maWcoKT8uVmE9PT0xLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWxJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT04LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09N30pLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6KCk9PmByYWRpYWwtZ3JhZGllbnQoJHthLmNvbmZpZygpPy5ldn0sIHRyYW5zcGFyZW50KWB9KX0pfSkpfSl9LCJkYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJudlg0VmIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhHLGRkYSxjZGEsaUcsakc7Xy5mRz1mdW5jdGlvbihhLGIpe3JldHVybihBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKSkubWFwKGIpfTtfLmdHPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5wYSE9PSJmdW5jdGlvbiI/Xy5mRyhhLnBhLGEuY2hpbGRyZW4pOmEudGI9PT0iSU5ERVgiP2NkYShhKTpkZGEoYSl9O2hHPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBhKWI/LigpfTsKZGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGI9PT12b2lkIDB8fGEudGI9PT0iUkVGRVJFTkNFIixjPWI/bj0+bjphLnRiLGQ9W10sZT1bXSxmPVtdLGg9W10saz1bXSxsPVtdLG09ITA7Xy5ZdSgoKT0+e2hHKGgpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgbj1pRyhhKSxwPW4ubGVuZ3RoO2lmKHA9PT0wKXtpZihkLmxlbmd0aD09PTAmJiFtKXJldHVybiBmO2hHKGgpO2Q9bjtlPVtdO2ZvcihuPTA7bjxkLmxlbmd0aDtuKyspZS5wdXNoKGMoZFtuXSkpO2Y9W107aD1bXTtrPVtdO2w9W107YS5mYWxsYmFjayYmKGhbMF09akcoKCk9PntmWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pKTttPSExO3JldHVybiBmfXZhciByPW5ldyBlZGE7Zm9yKHZhciB0PWQubGVuZ3RoLTE7dD49MDt0LS0pci5wdXNoKGVbdF0sdCk7dD1BcnJheShwKTt2YXIgdj1BcnJheShwKSx6PUFycmF5KHApLEU9QXJyYXkocCksQT1BcnJheShiPzA6cCk7Zm9yKGxldCBGPTA7RjxwO0YrKyl7bGV0IEM9bltGXSxHPWMoQyksCkQ9ci5wb3AoRyk7RCE9bnVsbD8oeltGXT1mW0RdLHZbRl09ZVtEXSx0W0ZdPWhbRF0sRVtGXT1rW0RdLGJ8fChBW0ZdPWxbRF0pLF8uckMoKCk9PntFW0ZdKEYpO2lmKCFiKUFbRl0oQyl9KSxkZWxldGUgaFtEXSk6dFtGXT1qRygoKT0+e3ZhciBIPV8uSihGLHZvaWQgMCwiUExUMXMiKSxSPUhbMF07RVtGXT1IWzFdO3ZbRl09RztpZihiKXpbRl09Xy5mQyhhLmNoaWxkcmVuKEMsUikpO2Vsc2V7bGV0IE09Xy5KKEMsdm9pZCAwLCJiazhSSmQiKSxTPU1bMF07QVtGXT1NWzFdO3pbRl09Xy5mQyhhLmNoaWxkcmVuKFMsUikpfX0pfWhHKGgpO2Q9bjtlPXY7Zj16O2g9dDtrPUU7bD1BO209ITE7cmV0dXJuIHp9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8ibnNUR0hkIix6cDphLnBhLFdlOiEwfSl9OwpjZGE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPVtdLGU9W10sZj0hMTtfLll1KCgpPT57aEcoZSl9KTtyZXR1cm4gXy5YQigoKT0+e3ZhciBoPWlHKGEpO2YmJmgubGVuZ3RoPjAmJihlLnBvcCgpKCksYi5wb3AoKSxmPSExKTt2YXIgaz1BcnJheShoLmxlbmd0aCk7Zm9yKGxldCBtPTA7bTxoLmxlbmd0aDttKyspe2lmKG08Yi5sZW5ndGgpe2JbbV0hPT1oW21dJiYoXy5yQygoKT0+dm9pZCBjW21dKGhbbV0pKSxiW21dPWhbbV0pO2tbbV09ZFttXTtjb250aW51ZX12YXIgbD1qRygoKT0+e2JbbV09aFttXTt2YXIgbj1fLkooaFttXSx2b2lkIDAsInVpQzBjYiIpLHA9blswXTtjW21dPW5bMV07a1ttXT1fLmZDKGEuY2hpbGRyZW4ocCxtKSl9KTtlW21dPWx9Zm9yKDtiLmxlbmd0aD5oLmxlbmd0aDspYi5wb3AoKSxlLnBvcCgpKCksYy5wb3AoKTtoLmxlbmd0aD09PTAmJiFmJiZhLmZhbGxiYWNrJiYobD1qRygoKT0+e2tbMF09Xy5mQyhhLmZhbGxiYWNrKCkpfSksZVswXT1sLGY9CiEwKTtyZXR1cm4gZD1rfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsV2U6ITB9KX07aUc9ZnVuY3Rpb24oYSl7YT1hLnBhKCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpBcnJheS5mcm9tKGEpfTtqRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIF8udXYoYz0+e3ZhciBkPV8ua3UoXy56dik7dHJ5e2MucGFyZW50PWIsYShjKX1maW5hbGx5e18ua3UoZCl9fSwhMSl9O3ZhciBlZGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1c2goYSxiKXt2YXIgYz10aGlzLm1hcDtpZihjLmhhcyhhKSl7dGhpcy5qfHwodGhpcy5qPW5ldyBNYXApO2lmKHRoaXMuaj8uaGFzKGIpKXRocm93IF8uVXUoRXJyb3IoIlpjYCIrYiksNCk7dGhpcy5qLnNldChiLGMuZ2V0KGEpKX1jLnNldChhLGIpfXBvcChhKXt2YXIgYj10aGlzLm1hcCxjPWIuZ2V0KGEpO2MhPT12b2lkIDAmJnRoaXMuaj8uaGFzKGMpPyhiLnNldChhLHRoaXMuai5nZXQoYykpLHRoaXMuai5kZWxldGUoYykpOmIuZGVsZXRlKGEpO3JldHVybiBjfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrY2EsbGNhLEZFLEdFO18uQ0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uREU9ZnVuY3Rpb24oYSl7cmV0dXJue2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVufX07Xy5FRT1mdW5jdGlvbihhKXtyZXR1cm4ga2NhKGEpfTsKa2NhPWZ1bmN0aW9uKGEpe3ZhciBiPWxjYShhKSxjPV8uTigoKT0+e2E6e3ZhciBkPS0xO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj1iW2VdO2Y/LltfLkx2XSYmKGY9RkUoZikpO2YgaW5zdGFuY2VvZiBfLmRDJiYoZj1HRShmKSk7aWYoZi5pc0RlZmF1bHQpZD09PS0xJiYoZD1lKTtlbHNlIGlmKF8uQnYoZi53aGVuKSl7ZD1lO2JyZWFrIGF9fX1yZXR1cm4gZH0sdm9pZCAwLCJNU1R4V2IiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBkPWMoKSxlO18udXYoKCk9Pnt2YXIgZj1fLmt1KF8uenYpO3RyeXtpZihkPT09LTEpZT1udWxsO2Vsc2V7dmFyIGg9YltkXTt2YXIgaz1oPy5bXy5Mdl0/RkUoaCk6aCBpbnN0YW5jZW9mIF8uZEM/R0UoaCk6aDt2YXIgbD1rPT09bnVsbD9udWxsOmsuaXNEZWZhdWx0P2suY2hpbGRyZW4oKTp0eXBlb2Ygay53aGVuPT09ImZ1bmN0aW9uIj9rLmNoaWxkcmVuKF8uTkMoay53aGVuLCJDYXNlIikpOmsuY2hpbGRyZW4oay53aGVuKTtlPV8uZkMobCl9fWZpbmFsbHl7Xy5rdShmKX19KTsKcmV0dXJuIGV9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8idkkxcnRmIixXZTohMH0pfTtsY2E9ZnVuY3Rpb24oYSl7YT1hLmNoaWxkcmVuO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6W2FdfTtGRT1mdW5jdGlvbihhKXtyZXR1cm4gYS50eXBlPT09Xy5ERT97aXNEZWZhdWx0OiEwLGNoaWxkcmVuOmEuY2hpbGRyZW5bMF19Ont3aGVuOmEucHJvcHMud2hlbixjaGlsZHJlbjphLmNoaWxkcmVuWzBdfX07R0U9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wcm9wczthPWEuY2hpbGRyZW5bMF07cmV0dXJuIGIud2hlbj97d2hlbjpiLndoZW4sY2hpbGRyZW46YX06e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphfX07Xy5DRS5kZWJ1Z05hbWU9InRiaE1jZiI7Xy5ERS5kZWJ1Z05hbWU9Inp5TUZ6YiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBEY2E7RGNhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLlpxKXtjYXNlIF8uUXY6Xy5Vdi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5acSx2b2lkIDApfX07Xy5vRj1mdW5jdGlvbihhKXtpZihfLmp1PT09Xy5XdSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigieWIiKSwyKTt9KTtlbHNle2lmKCgwLF8ubHYpKF8uanUpKXRocm93IF8uVXUoRXJyb3IoInpiIiksNCk7dmFyIGI9Xy5adCxjPV8uTXU7RGNhKHtacTpfLlF2LHJ1bjooKT0+e2lmKGImJiFiLmlhKXt2YXIgZD1fLiR0KGIpO3RyeXtfLlJ1KCgpPT57dmFyIGU9YSgpO3R5cGVvZiBlPT09ImZ1bmN0aW9uIiYmXy5ZdShlKX0sYyl9Y2F0Y2goZSl7Xy5VdShlLDQpLF8ub3YoZSl9ZmluYWxseXtfLiR0KGQpfX19fSl9fTtfLktCPV8ubEM7Xy5xRj1TeW1ib2woIlhjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBXSixWSjtfLlRKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5wRSgib25DaGFuZ2UiKSxkPV8ub0UoKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy5zcj1hLGQudWZ8fChkLnVmPVtdKSxkLnVmLnB1c2goYykpfTtfLlVKPWZ1bmN0aW9uKGEpe18uSEEoKT9fLm9GKCgpPT5fLkVBKGEpKTpfLlRKKCgpPT5fLkVBKGEpLFtdKX07V0o9ZnVuY3Rpb24oYSl7dmFyIGI9Wy4uLmFdO2EubGVuZ3RoPTA7Zm9yKGxldCBjIG9mIGIpaWYoVkooYyksYT1jLnNyLGMuc3I9bnVsbCxhPWE/LigpKWMucnI9YX07Vko9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ycjthLnJyPW51bGw7Yj8uKCl9O18uZHcoe1NvKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sR2YoYSl7dmFyIGI9Xy4kdChhLnFsKTt0cnl7YS51Zj8ubGVuZ3RoJiZXSihhLnVmKX1maW5hbGx5e18uJHQoYil9fSxIZihhKXthLlpmPy5sZW5ndGgmJmEuWmYuZm9yRWFjaChWSil9fSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUQ9bnVsbDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhkYSxpZGEsa2RhLG1kYSxxRyxuZGEsc0csckcsdUcsd0csdkcseEcsdEcsb2RhLHBkYSxzZGEsQkcsdGRhLEFHLHJkYSxxZGEsamRhLGxkYTtoZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmFELGQ9MDtfLmFEPXtzdTooKT0+e2QrKztfLnJDKCgpPT57YSghMSl9KX0sSHI6KCk9PnstLWQ9PT0wJiZfLnJDKCgpPT57YSghMCl9KX19O3RyeXtyZXR1cm4gYigpfWZpbmFsbHl7Xy5hRD1jfX07aWRhPWZ1bmN0aW9uKGEpe3ZhciBbYixjXT1fLkooITAsdm9pZCAwLCJiS3RPNmQiKTtyZXR1cm4gaGRhKGMsKCk9Pnt2YXIgZD1fLmZDKGEuY2hpbGRyZW4oKSk7cmV0dXJuIF8uSyhfLk8se0E6Yix0aGVuOigpPT5kLFc6YS5mYWxsYmFja30pfSl9OwpfLm5HPWZ1bmN0aW9uKHtjaGlsZHJlbjphLEVmOmIsY2FsbGJhY2tzOmN9KXt2YXIgZD1uZXcgTWFwO2I9Yj8/W107Zm9yKGxldCBlIG9mIGIpZC5zZXQoZS5pZC5DYi50b2tlbixlKTtjPWM/P1tdO2ZvcihsZXQgZSBvZiBjKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7ZD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoamRhKSx7ZGVidWdOYW1lOiJbY29udGV4dE93bmVyXSIsZW50cmllczpkfSk7Xy5CdShkKTtkPV8uJHQoZCk7dHJ5e2xldCBlPV8uZkMoYSk7cmV0dXJuIF8uSyhfLklCLG51bGwsZSl9ZmluYWxseXtfLiR0KGQpfX07Xy5vRz1mdW5jdGlvbihhLGIpe3JldHVybntbXy5nZGFdOiEwLGlkOmEsdmFsdWU6Yn19O2tkYT1mdW5jdGlvbih7U2c6YX0pe3JldHVybiBfLksoXy5JQixudWxsLGEoKSl9O18ucEc9ZnVuY3Rpb24oYSxiKXthPXsuLi5hLHBhcmVudDpfLm1HKCl9O3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coXy5sRyxhKV19LF8uSyhrZGEse1NnOmJ9KSl9OwptZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGxkYShhLGIpfTtxRz1mdW5jdGlvbihhLGIpe3RoaXMubz17fTt0aGlzLmo9W107dGhpcy5BZT10aGlzLnNpemU9MDt2YXIgYz1hcmd1bWVudHMubGVuZ3RoO2lmKGM+MSl7aWYoYyUyKXRocm93IEVycm9yKCJiZCIpO2Zvcih2YXIgZD0wO2Q8YztkKz0yKXRoaXMuc2V0KGFyZ3VtZW50c1tkXSxhcmd1bWVudHNbZCsxXSl9ZWxzZSBpZihhKWlmKGEgaW5zdGFuY2VvZiBxRylmb3IoYz1hLnJkKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTtuZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9OwpzRz1mdW5jdGlvbihhKXtpZihhLnNpemUhPWEuai5sZW5ndGgpe2Zvcih2YXIgYj0wLGM9MDtiPGEuai5sZW5ndGg7KXt2YXIgZD1hLmpbYl07ckcoYS5vLGQpJiYoYS5qW2MrK109ZCk7YisrfWEuai5sZW5ndGg9Y31pZihhLnNpemUhPWEuai5sZW5ndGgpe2I9e307Zm9yKGQ9Yz0wO2M8YS5qLmxlbmd0aDspe2xldCBlPWEualtjXTtyRyhiLGUpfHwoYS5qW2QrK109ZSxiW2VdPTEpO2MrK31hLmoubGVuZ3RoPWR9fTtyRz1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07dUc9ZnVuY3Rpb24oKXt0aGlzLm89bmV3IHFHO3RoaXMuaj1uZXcgdEcoIiIpO3RoaXMuai5uZXh0PXRoaXMuai5VYT10aGlzLmp9O3dHPWZ1bmN0aW9uKGEsYil7aWYoYj1hLm8uZ2V0KGIpKWIucmVtb3ZlKCksdkcoYSxiKTtyZXR1cm4gYn07CnZHPWZ1bmN0aW9uKGEsYil7Yi5uZXh0PWEuai5uZXh0O2IuVWE9YS5qO2Euai5uZXh0PWI7Zm9yKGIubmV4dC5VYT1iO2Euby5zaXplPjEwMDspYS5yZW1vdmVOb2RlKGEuai5VYSl9O3hHPWZ1bmN0aW9uKGEsYil7YS5qIT1iJiZhLnJlbW92ZU5vZGUoYik7cmV0dXJuIGIudmFsdWV9O3RHPWZ1bmN0aW9uKGEsYil7dGhpcy5rZXk9YTt0aGlzLnZhbHVlPWJ9O29kYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT15RztpZihhPT1udWxsfHwhYy5FZylyZXR1cm4gYjtlLmouZ2V0KGEpPT09dm9pZCAwJiZlLmouc2V0KGEsW2IsZD8/W10sITFdKTtjPWUuai5nZXQoYSk7aWYoIWMpcmV0dXJuIGI7dmFyIFtmLGgsa109YztpZihoPy5sZW5ndGgmJmQ/Lmxlbmd0aCYmZC5zb21lKChsLG0pPT5sIT09aFttXSkpcmV0dXJuIGUuai5yZW1vdmUoYSksYjtkPy5sZW5ndGgmJmUuai5zZXQoYSxbZixkLGtdKTtyZXR1cm4gaz9mOmJ9OwpfLnpHPWZ1bmN0aW9uKGEsYj17RWc6ITB9KXtyZXR1cm57TWc6ZnVuY3Rpb24oYyxkKXt2YXIgZT1fLk4oKCk9PmEoYygpKSx2b2lkIDAsIkdtcmJsYiIpLFtmLGhdPV8uQUMoKCk9Pnt2YXIgaz1jKCksbD1lKCksbT1kPy5tYXAobj0+bigpKT8/W107cmV0dXJuIG9kYShsLGssYixtKX0pO18ubkUoKCk9Pnt2YXIgaz1lKCk7ayE9bnVsbCYmKGs9eUcucmVnaXN0ZXIoayxbZixoXSwoKT0+ZD8ubWFwKGw9PmwoKSk/P1tdKSxfLll1KGspKX0sIlVtYWM2YyIpO3JldHVybltmLGZ1bmN0aW9uKGspe2goayk7dmFyIGw9ZSgpO2whPW51bGwmJnlHLnVwZGF0ZShsLCgpPT5rLGIpfV19LGdldERhdGE6ZnVuY3Rpb24oYyl7Yz1hKGMpO3JldHVybiB5Ry5nZXQoYyxiKX0sZ2s6ZnVuY3Rpb24oYyxkKXtjPWEoYyk7cmV0dXJuIHlHLnVwZGF0ZShjLGQsYil9fX07Cl8uVz1mdW5jdGlvbihhKXt2YXIge2RhdGE6YixtYXBwaW5nOmMsd3JhcHBlcjpkLHJLOmV9PXBkYShhKTtxZGEoYixjKTt2YXIgZj0oKT0+QUcoXy5CdihiKSksaD0oKT0+e3ZhciBrPUFHKF8uQnYoYikpLGw9W107Zm9yKGxldCBtIG9mIGspKGs9QkcobSkpJiZsLnB1c2goayk7cmV0dXJuIGx9O3JldHVybiBhLmRhdGE/Xy5LKGlkYSx7ZmFsbGJhY2s6ZX0sKCk9Pl8uSyhfLmdHLHtwYTpofSwoayxsKT0+e3ZhciBtPWQ/cD0+ZCgoKT0+Y1trXShwLGwpLG4sbCk6cD0+Y1trXShwLGwpO20uZGVidWdOYW1lfHwobS5kZWJ1Z05hbWU9U3RyaW5nKGspKTtpZighY1tTdHJpbmcoayldKXJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKTttLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZyZGEoU3RyaW5nKGspKTt2YXIgbj1zZGEoZixrLGwpO3JldHVybiBfLksobSx7ZGF0YTpufSl9KSk6Xy5LKF8uSUIsbnVsbCl9OwpwZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXRJZHx8dGRhKGEuY2hpbGRyZW4pO2lmKCFhLmRhdGF8fCFiKXJldHVybnsuLi5hLG1hcHBpbmc6YS5jaGlsZHJlbn07dmFyIGM9YHN0YW1wZXItJHt1ZGErK31gLGQ9KCk9Pih0eXBlb2YgYS50YXJnZXRJZD09PSJmdW5jdGlvbiI/YS50YXJnZXRJZChjKTphLnRhcmdldElkKT8/YztbYl09dmRhKCgpPT57dmFyIGY9Wy4uLkFHKGEuZGF0YSgpKV07Zi50YXJnZXRJZD1kO3JldHVybiBmfSk7dmFyIGU9ey4uLihfLnkoKS5yZXNvbHZlKF8uSW4od2RhKSl8fHt9KS5BSywuLi5hLmNoaWxkcmVufTtpZihhLkpyKXtsZXQgZj1lLm5vdGlmaWNhdGlvblRleHRSZW5kZXJlcixoPWUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcjtmJiYoZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXI9KHtkYXRhOmt9LGwpPT5hLkpyKGYoe2RhdGE6a30sbCkpKTtoJiYoZS5ub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyPSh7ZGF0YTprfSwKbCk9PmEuSnIoaCh7ZGF0YTprfSxsKSkpfXJldHVybnsuLi5hLGRhdGE6YixtYXBwaW5nOmUsd3JhcHBlcjooZixoLGspPT5fLnBHKHt0YXJnZXRJZDpkLFlLOmt9LGEud3JhcHBlcj8oKT0+YS53cmFwcGVyKGYsaCxrKTpmKX19O3NkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKVtjKCldO2lmKGUpZD1lW2JdO2Vsc2UgcmV0dXJuIF8uSXAobmV3IF8uWGooYFN0YW1wZXIgZmFpbGVkIHRvIGZpbmQgJHtTdHJpbmcoYil9IGF0IGluZGV4ICR7YygpfSBvZiBkYXRhIGFycmF5IG9mIGxlbmd0aCAke2EoKS5sZW5ndGh9IChiLzM2NTY0MzM1OSkuIERpZCB5b3UgYWNjZXNzIGEgc2lnbmFsIGFmdGVyIGEgY29tcG9uZW50IGhhcyBiZWVuIGNsZWFuZWQgdXA/YCkpLGQ7cmV0dXJuIGVbYl19LHZvaWQgMCwic0VydGpkIil9OwpCRz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7Zm9yKGxldCBjIGluIGEpaWYoISghYSkuaGFzT3duUHJvcGVydHkoYykpe2I9YzticmVha31yZXR1cm4gYn07dGRhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhhKSlpZih4ZGEuaW5jbHVkZXMoYil8fHlkYS5pbmNsdWRlcyhiKXx8emRhLmluY2x1ZGVzKGIpKXJldHVybiEwO3JldHVybiExfTtBRz1mdW5jdGlvbihhKXtyZXR1cm4gYT9BcnJheS5pc0FycmF5KGEpJiZhIGluc3RhbmNlb2YgQXJyYXk/YTpbYV06W119O3JkYT1mdW5jdGlvbihhKXtfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikmJl8ueSgpLnJlc29sdmUoXy5JbihfLkNHKSk/Lnd5KGEpfTsKcWRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEFkYSkpO2MmJl8ubkUoKCk9Pnt2YXIgZD1BRyhfLkJ2KGEpKSxlPTAsZj0hMTtmb3IodmFyIGggb2YgZCl7ZD1CRyhoKTtpZighZHx8IWJbU3RyaW5nKGQpXSl7Zj0hMDticmVha31lKyt9aD1jLlZLO2Q9Yy5XSztlPjAmJiFmP2gubyhkKCkpOmguaihkKCkpfSwiRGhPVXhlIil9O2pkYT17UmgoYSl7aWYoXy5mdSBpbiBhfHxfLmZkYSBpbiBhKXtsZXQgYj10aGlzLmVudHJpZXMuZ2V0KGEuQ2IudG9rZW4pO2lmKGIhPT12b2lkIDApcmV0dXJuIGIudmFsdWV9cmV0dXJuIHRoaXMucGFyZW50P18uY3UodGhpcy5wYXJlbnQsYSk6Xy5hdX19OwpsZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YVtfLnUuU3ltYm9sLml0ZXJhdG9yXSgpO3RoaXMubz1ifVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXN9bmV4dCgpe3ZhciBhPXRoaXMuai5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5vLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX19O18uZz1xRy5wcm90b3R5cGU7Xy5nLk1jPWZ1bmN0aW9uKCl7c0codGhpcyk7dmFyIGE9W107Zm9yKGxldCBiPTA7Yjx0aGlzLmoubGVuZ3RoO2IrKylhLnB1c2godGhpcy5vW3RoaXMualtiXV0pO3JldHVybiBhfTtfLmcucmQ9ZnVuY3Rpb24oKXtzRyh0aGlzKTtyZXR1cm4gdGhpcy5qLmNvbmNhdCgpfTtfLmcuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiByRyh0aGlzLm8sYSl9O18uZy5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZih0aGlzLnNpemUhPWEuc2l6ZSlyZXR1cm4hMTtiPWJ8fG5kYTtzRyh0aGlzKTt2YXIgYztmb3IobGV0IGQ9MDtjPXRoaXMualtkXTtkKyspaWYoIWIodGhpcy5nZXQoYyksYS5nZXQoYykpKXJldHVybiExO3JldHVybiEwfTtfLmcuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNpemU9PTB9O18uZy5jbGVhcj1mdW5jdGlvbigpe3RoaXMubz17fTt0aGlzLkFlPXRoaXMuc2l6ZT10aGlzLmoubGVuZ3RoPTB9OwpfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07Xy5nLmRlbGV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpPyhkZWxldGUgdGhpcy5vW2FdLC0tdGhpcy5zaXplLHRoaXMuQWUrKyx0aGlzLmoubGVuZ3RoPjIqdGhpcy5zaXplJiZzRyh0aGlzKSwhMCk6ITF9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gckcodGhpcy5vLGEpP3RoaXMub1thXTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7ckcodGhpcy5vLGEpfHwodGhpcy5zaXplKz0xLHRoaXMuai5wdXNoKGEpLHRoaXMuQWUrKyk7dGhpcy5vW2FdPWJ9O18uZy5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5yZCgpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdLGY9dGhpcy5nZXQoZSk7YS5jYWxsKGIsZixlLHRoaXMpfX07Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBxRyh0aGlzKX07Xy5nLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCEwKSkuaigpfTsKXy5nLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITEpKS5qKCl9O18uZy5lbnRyaWVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gbWRhKHRoaXMua2V5cygpLGZ1bmN0aW9uKGIpe3JldHVybltiLGEuZ2V0KGIpXX0pfTtfLmcuYmQ9ZnVuY3Rpb24oYSl7c0codGhpcyk7dmFyIGI9MCxjPXRoaXMuQWUsZD10aGlzLGU9bmV3IF8ub2g7ZS5uZXh0PWZ1bmN0aW9uKCl7aWYoYyE9ZC5BZSl0aHJvdyBFcnJvcigiY2QiKTtpZihiPj1kLmoubGVuZ3RoKXJldHVybiBfLmFzO3ZhciBmPWQualtiKytdO3JldHVybnt2YWx1ZTphP2Y6ZC5vW2ZdLGRvbmU6ITF9fTtyZXR1cm4gZX07Xy5nPXVHLnByb3RvdHlwZTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9d0codGhpcyxhKSk/YS52YWx1ZTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9d0codGhpcyxhKTtjP2MudmFsdWU9YjooYz1uZXcgdEcoYSxiKSx0aGlzLm8uc2V0KGEsYyksdkcodGhpcyxjKSl9O18uZy51ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmoubmV4dC52YWx1ZX07Xy5nLnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLm5leHQpfTtfLmcucG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLlVhKX07Xy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10aGlzLm8uZ2V0KGEpKT8odGhpcy5yZW1vdmVOb2RlKGEpLCEwKTohMX07Xy5nLnJlbW92ZU5vZGU9ZnVuY3Rpb24oYSl7YS5yZW1vdmUoKTt0aGlzLm8ucmVtb3ZlKGEua2V5KX07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vLmlzRW1wdHkoKX07Cl8uZy5yZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBifSl9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYX0pfTtfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYj09YX0pfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuby5zaXplPjA7KXRoaXMucmVtb3ZlTm9kZSh0aGlzLmouVWEpfTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpYS5jYWxsKGIsYy52YWx1ZSxjLmtleSx0aGlzKX07Xy5nLm1hcD1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2ZvcihsZXQgZD10aGlzLmoubmV4dDtkIT10aGlzLmo7ZD1kLm5leHQpYy5wdXNoKGEuY2FsbChiLGQudmFsdWUsZC5rZXksdGhpcykpO3JldHVybiBjfTsKXy5nLnNvbWU9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKGEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITA7cmV0dXJuITF9O18uZy5ldmVyeT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpaWYoIWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITE7cmV0dXJuITB9O3RHLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLlVhLm5leHQ9dGhpcy5uZXh0O3RoaXMubmV4dC5VYT10aGlzLlVhO2RlbGV0ZSB0aGlzLlVhO2RlbGV0ZSB0aGlzLm5leHR9O3ZhciB5Rz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm89bmV3IE1hcDt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IHVHfWdldChhLGIpe3ZhciBjPXRoaXMuby5nZXQoYSk7aWYoYylyZXR1cm4gY1swXSgpO2lmKGIuRWcmJmEhPW51bGwpcmV0dXJuIHRoaXMuai5nZXQoYSk/LlswXX11cGRhdGUoYSxiLGMpe3ZhciBkPXRoaXMuby5nZXQoYSk7aWYoZCl7bGV0IFtlLGZdPWQ7Yj1iKGUoKSk7ZihiKTtjLkVnJiZhIT1udWxsJiYoYz10aGlzLnYuZ2V0KGEpLHRoaXMuai5zZXQoYSxbYixjPy4oKT8/W10sITBdKSk7cmV0dXJuITB9aWYoYy5FZyYmYSE9bnVsbCYmKGM9dGhpcy5qLmdldChhKSkpe2xldCBbZSxmXT1jO2I9YihlKTt0aGlzLmouc2V0KGEsW2IsZiwhMF0pO3JldHVybiEwfXJldHVybiExfXJlZ2lzdGVyKGEsYixjKXtpZihhPT1udWxsKXJldHVybigpPT57fTt0aGlzLm8uc2V0KGEsYik7YyYmdGhpcy52LnNldChhLGMpO3JldHVybigpPT57dGhpcy5vLmdldChhKT09PQpiJiYodGhpcy5vLmRlbGV0ZShhKSx0aGlzLnYuZGVsZXRlKGEpKX19fTtfLkNHPW5ldyBfLlZzKCJSRU5ERVJFUl9MT0dHRVJfVE9LRU4iKTt2YXIgd2RhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX09QVElPTlNfVE9LRU4iKTt2YXIgQWRhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX1NVQ0NFU1NfU0xJX1RPS0VOIik7dmFyIHhkYT0iY29tcGFjdFJhZGlvUmVuZGVyZXIgY29tcGFjdFBsYXlsaXN0UmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIGNvbXBhY3RWaWRlb1JlbmRlcmVyIGZlZWROdWRnZVJlbmRlcmVyIGdyaWRWaWRlb1JlbmRlcmVyIHByaW1ldGltZVByb21vUmVuZGVyZXIgcmFkaW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJlZWxJdGVtUmVuZGVyZXIgcmVlbFNoZWxmUmVuZGVyZXIgcmljaFNoZWxmUmVuZGVyZXIgc2VhcmNoSGlzdG9yeVF1ZXJ5UmVuZGVyZXIgc2hlbGZSZW5kZXJlciB2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIgdmlkZW9DYXJkUmVuZGVyZXIgc3RhdGVtZW50QmFubmVyUmVuZGVyZXIgbWluaUdhbWVDYXJkVmlld01vZGVsIHNob3J0c0xvY2t1cFZpZXdNb2RlbCBsb2NrdXBWaWV3TW9kZWwgZ3JpZFNoZWxmVmlld01vZGVsIi5zcGxpdCgiICIpLHpkYT1bIm5vdGlmaWNhdGlvblRleHRSZW5kZXJlciIsIm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXIiXSwKeWRhPSJwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIGJyYW5kVmlkZW9TaGVsZlJlbmRlcmVyIGJyYW5kVmlkZW9TaW5nbGV0b25SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBwbGF5bGlzdFZpZGVvUmVuZGVyZXIiLnNwbGl0KCIgIikse01nOnZkYX09Xy56RyhhPT5fLkJ2KGE/LnRhcmdldElkKSk7dmFyIHVkYT0wO18uVy5kZWJ1Z05hbWU9IkVqSmJDZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBWYmE7VmJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGEsYix2b2lkIDApfTtfLk5EPWZ1bmN0aW9uKGEpe2E9WyhhJjE2NzExNjgwKT4+PjE2LChhJjY1MjgwKT4+PjgsYSYyNTUsKGEmNDI3ODE5MDA4MCk+Pj4yNF07aWYoIVZiYShhLGI9PmI9PT0oYiYyNTUpKSl0aHJvdyBFcnJvcigiUmNgIithLmpvaW4oIiwiKSk7cmV0dXJuYHJnYmEoJHthWzBdfSwke2FbMV19LCR7YVsyXX0sJHsoYVszXS8yNTUpLnRvRml4ZWQoMyl9KWB9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtBPWZ1bmN0aW9uKHt0eXBlOmEscGF5bG9hZDpifSl7YT17dHlwZTphfTtiIT09dm9pZCAwJiYoYS5wYXlsb2FkPWIpO3JldHVybiBhfTsvKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KXy5sQT0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIik7Xy5tQT1gQEByZWR1eC9JTklUJHtfLmxBKCl9YDtfLlJhYT1gQEByZWR1eC9SRVBMQUNFJHtfLmxBKCl9YDtfLm5BPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJSRVBMQUNFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmJ9fSl9O18ucEE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJVUERBVEVfRU5USVRZIixwYXlsb2FkOnt4bDpjLGVudGl0eVR5cGU6YSxrZXk6YixJeTp2b2lkIDB9fSl9O18ucUE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdP2FbYl1bY118fG51bGw6bnVsbH07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5yQT1BcnJheSgxMDI0KTtfLnNBPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7Xy50QT10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6dm9pZCAwO18udUE9e2FuaW1hdGlvbkVudGl0eTozMDIsYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6MTIyLGFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHk6NjMwLGJvb2xlYW5FbnRpdHk6MzA3LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6NjM3LGJ1dHRvbkVudGl0eTozNTgsY2FwdGlvblRyYWNrOjIyNSxjaGFubmVsSGFuZGxlOjI3NSxjaGlwRW50aXR5OjQ5OCxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eToyNzYsY29tbWVyY2VDYXJ0TGlzdEVudGl0eToyMzYsY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6NTMyLGNvbXBvc2l0ZVNvdXJjZUVudGl0eTo1OTQsY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDo0ODMsY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDo1NzYsY29udGludWF0aW9uVG9rZW5FbnRpdHk6NDA2LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eToyMDIsZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eToyOTksCmRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eToyNjQsZG93bmxvYWRTdGF0dXNFbnRpdHk6MTQxLGRpc21pc3NTdGF0ZTo1NDAsc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eToxODYsZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6MzkzLGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTo0OTYsZmFrZUNoYW5uZWw6MixmYWtlUGxheWxpc3Q6Mjc5LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjoyODAsZmFrZVZpZGVvOjE4MixmYWtlVmlkZW9EZXNjcmlwdGlvbjoyNzgsZmVhdHVyZWRQcm9kdWN0c0VudGl0eTozOTIsc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OjU5OCxmbG93U3RhdGVFbnRpdHk6MjUyLGljb25CYWRnZUVudGl0eToyMjksaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTo0NDMsbGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eTo1NjcsbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6MjE3LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6NTYzLApsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6NTY0LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OjUwMyxsb2dvRW50aXR5OjI0NSxtYWNyb01hcmtlckVudGl0eTozMjksbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MTU4LG1haW5Eb3dubG9hZHNMaXN0RW50aXR5OjE2NCxtYWluUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OjM3MyxtYWluUGxheWxpc3RFbnRpdHk6MzA2LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OjM2OCxtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OjI2MixtYWluVmlkZW9FbnRpdHk6MjYxLG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OjE5NixtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OjMxMixtdXNpY0FsYnVtUmVsZWFzZURldGFpbDoxOCxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjU5LG11c2ljQWxidW1SZWxlYXNlOjE3LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDoxOSxtdXNpY0FydGlzdERldGFpbDoyMSwKbXVzaWNBcnRpc3Q6MjAsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOjIyLG11c2ljRG93bmxvYWRzTGlicmFyeUVudGl0eToyNTcsbXVzaWNMaWJyYXJ5RWRpdDoxMjEsbXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5OjMxOCxtdXNpY1BsYXlsaXN0OjI0LG11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5OjI0OCxtdXNpY1NoYXJlOjEwMCxtdXNpY1RyYWNrRGV0YWlsOjI5LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OjIzNCxtdXNpY1RyYWNrOjI4LG11c2ljVHJhY2tVc2VyRGV0YWlsOjMwLG9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eToxNjksb2ZmbGluZVZpZGVvUG9saWN5OjEzMCxvZmZsaW5lVmlkZW9TdHJlYW1zOjE5OCxvZmZsaW5lYWJpbGl0eUVudGl0eToyNDYsb3JjaGVzdHJhdGlvbldlYlNhbXBsaW5nRW50aXR5OjI0MixwYWdlSGVhZGVyRW50aXR5OjQ5NSxwYXJ0eUdhbWVQYW5lbEVudGl0eTo2MTgsc2xpZGVyR2FtZVBhbmVsRW50aXR5OjYzMywKcGRwU3RhdGVFbnRpdHk6NTI0LHBpbm5lZFByb2R1Y3RFbnRpdHk6MjczLHBsYXliYWNrRGF0YToxMTkscGxheWVyU3RhdGVFbnRpdHk6MzIzLHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6NTM5LHF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHk6MzU2LHJlZnJlc2g6MTQ4LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eToyMzEsc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOjQ3OSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6NjM0LHNldHRpbmdFbnRpdHk6Mjk3LHN0cmluZ0VudGl0eTozODIsc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6NDg1LHRyYW5zZmVyOjEyMCx0cmVuZGluZ09mZmVyRW50aXR5OjQ2OSx1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTo2MzUsdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6NDYxLHZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6NTQ1LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTo3Nix2b3RpbmdFbnRpdHk6NTYxLAp5dE1haW5DaGFubmVsRW50aXR5OjE1Mix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OjU1Myx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6MTU1LHl0TWFpblZpZGVvRW50aXR5OjE1MX07Xy52QT17fTtmb3IobGV0IFthLGJdb2YgT2JqZWN0LmVudHJpZXMoXy51QSkpe2xldCBjPWEsZD1iO2QmJihfLnZBW2RdPWMpfTsoKCk9Pnt2YXIgYT1kPT5uZXcgVWludDhBcnJheShkKSxiPWQ9Pnt2YXIgZT1uZXcgVWludDhBcnJheShkLmxlbmd0aCk7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspZVtmXT1kW2ZdO3JldHVybiBlfSxjPW5ldyBVaW50OEFycmF5KFsxXSk7cmV0dXJuIGMubGVuZ3RoPT09MSYmY1swXT09PTE/YTpifSkoKTtfLlNhYT1fLiRsKCJ5dC1pZGItcHJlZi1zdG9yYWdlIix7c2U6e3ByZWZzOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwicHJlZnMiLHtrZXlQYXRoOiJrZXkifSksImJ5RXhwaXJhdGlvbiIsImV4cGlyYXRpb25UaW1lc3RhbXBNcyIpfSx2ZXJzaW9uOjF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGpFO18uaUU9ZnVuY3Rpb24oYSxiKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1XTtyZXR1cm5gcmdiYSgke2FbMF19LCAke2FbMV19LCAke2FbMl19LCAke2J9KWB9O18ua0U9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VzKWZvcihsZXQgYiBvZiBhLnNvdXJjZXMpaWYoYi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lfHxiLmN1c3RvbUltYWdlU291cmNlJiZfLkIoYi5jdXN0b21JbWFnZVNvdXJjZSxqRSk/LmNsaWVudFJlc291cmNlPy5pY29uKXJldHVybiBifTsKXy5sRT1mdW5jdGlvbihhKXtpZihhPy5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lKXtsZXQgYj1hLmNsaWVudFJlc291cmNlPy5pbWFnZU5hbWU7YTp7c3dpdGNoKGIpe2Nhc2UgInl0X3ByZW1pdW1fd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJZT1VUVUJFX1BSRU1JVU1fTE9HT19TSE9SVCI7YnJlYWsgYTtjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfbGlnaHQiOmNhc2UgInl0X3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJMT0dPX1dJVEhfVEVYVCI7YnJlYWsgYX1hPXZvaWQgMH1yZXR1cm4gYXx8Z2NhLmdldChiKXx8Yn1pZihhPy5jdXN0b21JbWFnZVNvdXJjZSYmKGE9Xy5CKGEuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbikpcmV0dXJuIGF9O2pFPW5ldyBfLkkoInlvdXR1YmVJY29uU291cmNlIik7Xy5tRT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt2YXIgZ2NhPW5ldyBNYXAoW1sieXRfb3V0bGluZV9iYWdfYmxhY2tfMjQiLCJiYWciXV0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktEPWZ1bmN0aW9uKGEpe2lmKGE9YS5tYXRjaChVYmEpKXJldHVybntpY29uTmFtZTphWzJdLGh4OmFbMV0udG9VcHBlckNhc2UoKT09PSJGSUxMIixpY29uU2l6ZTpOdW1iZXIoYVszXSl9fTtfLkxEPW5ldyBfLlZzKCJJQ09OX1dJWl9DT01QT05FTlRfVE9LRU4iKTt2YXIgVWJhO1ViYT0vXllUSUNPTl8oZmlsbHxvdXRsaW5lKV8oW2EtekEtWjAtOV9dKylfcyhbMC05XSspJC9pOwpfLk1EPV8uTCgoe2ljb246YSxhY3RpdmU6YixjbGFzc05hbWU6YyxzdHlsZTpkLHlwOmUsaGM6Zixyb2xlOmgsR2U6ayxIYzpsLGFyaWFIaWRkZW46bSxhcmlhRXhwYW5kZWQ6bixhcmlhTGFiZWw6cCx0YWJpbmRleDpyLGlkOnQsc2l6ZTp2LGFnOnosWnA6RSxlcjpBLHRpdGxlOkZ9KT0+e3ZhciBDPV8uTigoKT0+e3ZhciBSPWE/LigpO2lmKFIpcmV0dXJuIF8uS0QoUil9LHZvaWQgMCwiTTBpNXZmIiksRz0oKT0+QygpPy5pY29uTmFtZT8/YT8uKCksRD0oKT0+dj8uKCk/P0MoKT8uaWNvblNpemUsSD0oKT0+Yj8uKCk/P0MoKT8uaHg7cmV0dXJuIF8uSyhfLk8se0E6YSx0aGVuOigpPT57dmFyIFI9Xy55KCkucmVzb2x2ZShfLkxEKTtyZXR1cm4gXy5LKFIse2ljb246Ryx5cDplLGhjOmYsR2U6ayxIYzpsLGFyaWFFeHBhbmRlZDpuLHRhYmluZGV4OnIsaWQ6dCxhY3RpdmU6SCxzaXplOkQscm9sZTpoLGNsYXNzTmFtZTpjLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6cCxzdHlsZTooKT0+CntpZighRCgpKXJldHVybiBkPy4oKTt2YXIgTT1gd2lkdGg6ICR7RCgpfXB4OyBoZWlnaHQ6ICR7RCgpfXB4O2A7cmV0dXJuIGQ/LigpP2Ake019ICR7ZCgpfWA6TX0sdGl0bGU6RixhZzp6LFpwOkUsZXI6QX0pfX0pfSwiaiIpO18uTUQuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntlcjohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0UsTEUsbWNhLG5jYSxORSxwY2EscWNhLHJjYSx1Y2Esd2NhLHZjYSxYRSx4Y2EseWNhLEFjYSx6Y2E7Xy5KRT1mdW5jdGlvbihhKXthJj0xNjc3NzIxNTt2YXIgYj1bKGEmMTY3MTE2ODApPj4xNiwoYSY2NTI4MCk+PjgsYSYyNTVdO2E9YlswXTt2YXIgYz1iWzFdO2I9YlsyXTthPU51bWJlcihhKTtjPU51bWJlcihjKTtiPU51bWJlcihiKTtpZihhIT0oYSYyNTUpfHxjIT0oYyYyNTUpfHxiIT0oYiYyNTUpKXRocm93IEVycm9yKCJRY2AiK2ErImAiK2MrImAiK2IpO2M9YTw8MTZ8Yzw8OHxiO3JldHVybiBhPDE2PyIjIisoMTY3NzcyMTZ8YykudG9TdHJpbmcoMTYpLnNsaWNlKDEpOiIjIitjLnRvU3RyaW5nKDE2KX07S0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc291cmNlcyE9PXZvaWQgMHx8YS5wcm9jZXNzb3IhPT12b2lkIDB9OwpMRT1mdW5jdGlvbihhKXt2YXIgYj1hLnRodW1ibmFpbHM7aWYoYil7YT17c291cmNlczpbXX07Zm9yKGxldCBjIG9mIGIpYj17fSxiLnVybD1jLnVybCxiLndpZHRoPWMud2lkdGgsYi5oZWlnaHQ9Yy5oZWlnaHQsYS5zb3VyY2VzLnB1c2goYik7cmV0dXJuIGF9fTttY2E9ZnVuY3Rpb24oYSxiLGMpe2M9Yz9bY106W107YS5vcGFjaXR5JiZjLnB1c2goYG9wYWNpdHk6ICR7YS5vcGFjaXR5fTtgKTtiJiZhLnBsYWNlaG9sZGVyQ29sb3I/KGE9Xy5ORChhLnBsYWNlaG9sZGVyQ29sb3IpLGMucHVzaChgYmFja2dyb3VuZC1jb2xvcjogJHthfTtgKSk6Yy5wdXNoKCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiKTtyZXR1cm4gYy5qb2luKCIgIil9OwpuY2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bInl0Q29yZUltYWdlSG9zdCJdO2ImJmYucHVzaChiKTtjfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudEhlaWdodCIpO2R8fGYucHVzaCgieXRDb3JlSW1hZ2VGaWxsUGFyZW50V2lkdGgiKTtzd2l0Y2goYS5jb250ZW50TW9kZSl7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSVQiOmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlQXNwZWN0Rml0Iik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGwiKTticmVhaztjYXNlICJDT05URU5UX01PREVfQ0VOVEVSIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXIiKTticmVhaztkZWZhdWx0OmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlVG9GaWxsIil9YS5mbGlwRm9yUnRsTGF5b3V0JiZmLnB1c2goInl0Q29yZUltYWdlRmxpcFJ0bCIpOwpzd2l0Y2goZSl7Y2FzZSAiVE9QX1NUQVJUIjpmLnB1c2goZG9jdW1lbnQuYm9keT8uZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiPyJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wUmlnaHQiOiJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdCIpfXJldHVybiBmLmpvaW4oIiAiKX07Xy5NRT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIpLm1hdGNoZXN9O05FPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9Xy5CKGEucHJvY2Vzc29yLG9jYSk7dmFyIGM9KGM9YT8uaW1hZ2VUaW50Py5jb2xvcik/Xy5ORChjKTp2b2lkIDA7YyYmKGIuY29sb3I9Yyk7aWYoYz1wY2EoYSkpYi5ueT1jO2lmKGE9cWNhKGEpKWIuTno9YTtyZXR1cm4gYn07CnBjYT1mdW5jdGlvbihhKXt2YXIgYj1hPy5saW5lYXJHcmFkaWVudDtpZihiJiZiPy5jb2xvcnMmJmI/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGM9Yi5jb2xvcnMubWFwKGU9Pl8uTkQoZSkpO2E9Yi5hbmdsZSE9PXZvaWQgMD9gJHtiLmFuZ2xlfWRlZywgYDoiIjt2YXIgZD1iLnBvc2l0aW9ucztpZighZHx8ZC5sZW5ndGghPT1jLmxlbmd0aClyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Muam9pbigiLCAiKX0pYDtiPWMubWFwKChlLGYpPT5gJHtlfSAke2RbZl0qMTAwfSVgKTtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Iuam9pbigiLCAiKX0pYH19OwpxY2E9ZnVuY3Rpb24oYSl7aWYoKGE9YT8ucmFkaWFsR3JhZGllbnQpJiZhPy5jb2xvcnMmJmE/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGI9YS5jb2xvcnMubWFwKGs9Pl8uTkQoaykpLGM9YS5jZW50ZXJVbml0Pz8iRElNRU5TSU9OX1VOSVRfRlJBQ1RJT04iLGQ9Yz09PSJESU1FTlNJT05fVU5JVF9QT0lOVCI/InB4IjoiJSIsZT1jPT09IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIj8xMDA6MTtjPWAkeyhhLmNlbnRlclg/Py41KSplfSR7ZH1gO2Q9YCR7KGEuY2VudGVyWT8/LjUpKmV9JHtkfWA7dmFyIGY9YS5yYWRpdXM7ZT0iIjtlPWYhPT12b2lkIDA/YGNpcmNsZSAke2Z9cHhgOiJlbGxpcHNlIjt2YXIgaD1hLnBvc2l0aW9ucztpZighaHx8aC5sZW5ndGghPT1iLmxlbmd0aClyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Iuam9pbigiLCAiKX0pYDthPWIubWFwKChrLGwpPT5gJHtrfSAke2hbbF0qMTAwfSVgKTtyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Euam9pbigiLCAiKX0pYH19OwpfLk9FPWZ1bmN0aW9uKGEpe18uamYuR2EoKCk9Pnt0cnl7YSgpfWNhdGNoKGIpe18uT3QoYil9fSw4KX07cmNhPWZ1bmN0aW9uKGEpe3ZhciBiPSgxK2EubWFyZ2luKSooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8d2luZG93LmlubmVySGVpZ2h0KTthLmo9YS5qLmZpbHRlcihjPT57dmFyIGQ9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsoZD1iPmQudG9wJiYhIWQuaGVpZ2h0KSYmYS5CKGMpO3JldHVybiFkJiZjLnBhcmVudE5vZGV9KTthLnY9ITF9O18uUEU9ZnVuY3Rpb24oYSl7aWYoIm1hdGNoTWVkaWEiaW4gd2luZG93KXJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShhLmxhbmRzY2FwZSsiLCIrYS5wb3J0cmFpdCkubWF0Y2hlc307Xy5URT1mdW5jdGlvbigpe2lmKFFFPT09dm9pZCAwKXtsZXQgYT1fLlBFKHNjYSk7UUU9YSE9PXZvaWQgMD9hOl8uUkU+PTkzMCYmU0U+PTU1MHx8Xy5SRT49NTUwJiZTRT49OTMwfXJldHVybiBRRX07CnVjYT1mdW5jdGlvbihhLGIpe2EuSm09Yjt0Y2Eub2JzZXJ2ZShhKX07CndjYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7dmFyIGw9TWF0aC5yb3VuZCgoMCxfLmVsKSgpLWQpO1VFPU1hdGgubWF4KDAsVUUtMSk7bD17ZHVyYXRpb25Mb2FkaW5nTXM6bCx3aWR0aFB4OmEubmF0dXJhbFdpZHRoLGhlaWdodFB4OmEubmF0dXJhbEhlaWdodCx2aWV3V2lkdGhQeDphLmNsaWVudFdpZHRoLHZpZXdIZWlnaHRQeDphLmNsaWVudEhlaWdodCxmaW5pc2hlZExvYWRpbmc6ITAsaXNMb2FkRXJyb3I6ayxsb2FkTnVtYmVyOmUsY29uY3VycmVudExvYWRzOlVFfTtiJiZiLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlIT1udWxsJiYobC5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT1iLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlKTtpZighayl0cnl7bGV0IG09cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShhLnNyYyk7aWYobSYmbS5sZW5ndGg+MCl7bGV0IG49bVttLmxlbmd0aC0xXTtuLnRyYW5zZmVyU2l6ZSYmKGwuZG93bmxvYWRlZEJ5dGVzPW4udHJhbnNmZXJTaXplKX19Y2F0Y2gobSl7fV8uRXAoInRodW1ibmFpbExvYWRlZCIsCmwpO2lmKGs9VkUuZ2V0KGEpKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsay5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGsub25FcnJvcik7VkUuZGVsZXRlKGEpfWlmKF8ueCgid2ViX2ltYWdlX2xvYWRfdGVsZW1ldHJ5Iikpe3ZjYShhKTtVRSsrO1dFKys7dmFyIGQ9KDAsXy5lbCkoKSxlPVdFLGY9KCk9PntjKCExKX0saD0oKT0+e2MoITApfTthLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGYpO2EuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGgpO1ZFLnNldChhLHtvbkxvYWQ6ZixvbkVycm9yOmh9KX19O3ZjYT1mdW5jdGlvbihhKXt2YXIgYj1WRS5nZXQoYSk7YiYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYi5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGIub25FcnJvciksVUU9TWF0aC5tYXgoMCxVRS0xKSxWRS5kZWxldGUoYSkpfTsKWEU9ZnVuY3Rpb24oYSxiLGMpe2ImJl8uVHQoYSxiKTtjJiZhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS11bmxvYWRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9O3hjYT1mdW5jdGlvbihhLGIsYyxkLGU9ITApe2Z1bmN0aW9uIGYoKXt2YXIgaD1jKGIsYSk7aCYmYS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09aCYmKGghPT1hLnNyYyYmKGEuc3JjPWgpLHdjYShhLGQpLGQmJlhFKGEsZC50aixkLkJtKSl9YS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpO2QmJlhFKGEsZC50aixkLkJtKTtiJiYoZT91Y2EoYSxmKTpmKCkpfTt5Y2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiExO2I9YyhiLGEpO2M9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO3JldHVybiBiJiZiPT09YyYmYS5jb21wbGV0ZX07CkFjYT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9S0UoYSk/ey4uLmF9OkxFKGEpO2lmKGQpe2QuY29udGVudE1vZGU9ZC5jb250ZW50TW9kZT8/Yi5jb250ZW50TW9kZTt2YXIgZT1iLm9uTG9hZDtiLm9uTG9hZD1sPT57dmFyIG09bC50YXJnZXQ7YyYmbS5uYXR1cmFsV2lkdGg9PT0xMjB8fF8uU3QobSwieXRDb3JlSW1hZ2VMb2FkZWQiKTtiLnNnJiZtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS1sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpO2U/LihsKX07Yi5BYiYmYi5UYSYmKGIud2lkdGg9Yi5BYik7Yi5kYyYmYi5ZYSYmKGIuaGVpZ2h0PWIuZGMpO3ZhciBmPV8ua0UoZCksaD1mJiZfLmxFKGYpLGs9TkUoZCk7aWYoaCl7YT1mLmNsaWVudFJlc291cmNlPy5pbWFnZUNvbG9yP18uTkQoZi5jbGllbnRSZXNvdXJjZS5pbWFnZUNvbG9yKTp2b2lkIDA7aWYoaz1hfHxrLmNvbG9yKWIuc3R5bGU9Yi5zdHlsZT9iLnN0eWxlLmVuZHNXaXRoKCI7Iik/Yi5zdHlsZSsKYCBjb2xvcjogJHtrfTtgOmIuc3R5bGUrYDsgY29sb3I6ICR7a307YDpgY29sb3I6ICR7a307YDtyZXR1cm57dHlwZToiaWNvbiIsaWNvbk5hbWU6aCxjb25maWc6ey4uLmIsLi4uKGIuYWx0P3t9OnthcmlhSGlkZGVuOiJ0cnVlIn0pLGFyaWFMYWJlbDpiLmFsdCxyb2xlOiJpbWcifX19S0UoYSl8fChiLmFsdD1hLmFjY2Vzc2liaWxpdHkmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YSYmYS5hY2Nlc3NpYmlsaXR5LmFjY2Vzc2liaWxpdHlEYXRhLmxhYmVsfHxiLmFsdCxiLnN0eWxlPW1jYShhLGIuV3IsYi5zdHlsZSksYi5pc1ByZWxvYWRlZD0hIV8uQihhLHpjYSk/LmlzUHJlbG9hZGVkKTtiLmNsYXNzTmFtZT1uY2EoZCxiLmNsYXNzTmFtZSxiLllhLGIuVGEsYi5vYmplY3RQb3NpdGlvbik7Yi50aj0ieXRDb3JlSW1hZ2VMb2FkZWQiO3JldHVybnt0eXBlOiJpbWFnZSIsaW1hZ2U6ZCxjb25maWc6Yn19fTt6Y2E9bmV3IF8uSSgid2ViVGh1bWJuYWlsRGV0YWlsc0V4dGVuc2lvbkRhdGEiKTt2YXIgb2NhPW5ldyBfLkkoImJvcmRlckltYWdlUHJvY2Vzc29yIik7dmFyIENjYTtbXy5CY2EsQ2NhXT1fLkooXy5NRSgpLHZvaWQgMCwiTzNYMndkIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntDY2EoXy5NRSgpKX0pO18uZkY9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm1hcmdpbj1hO3RoaXMuQj1iO3RoaXMuaj1bXTt0aGlzLnY9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGV1aSIsKCk9Pnt0aGlzLm8oKX0pO3ZhciBjPW5ldyBfLld0KCgwLF8uQ2EpKHRoaXMubyx0aGlzKSwxMDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgpPT57Yy52KCl9LCEwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoMCxfLkNhKSh0aGlzLm8sdGhpcykpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IiwoKT0+e3RoaXMuaj1bXX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKX1vYnNlcnZlKGEpe3RoaXMuai5pbmNsdWRlcyhhKXx8CnRoaXMuai5wdXNoKGEpfXVub2JzZXJ2ZShhKXt0aGlzLmo9dGhpcy5qLmZpbHRlcihiPT5iIT09YSl9bygpe3RoaXMudnx8KF8uT0UoKCk9PntyY2EodGhpcyl9KSx0aGlzLnY9ITApfWRpc2Nvbm5lY3QoKXt0aGlzLmo9W119fTt2YXIgc2NhLFFFLFNFO3NjYT17bGFuZHNjYXBlOiIobWluLXdpZHRoOiA5MzFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIscG9ydHJhaXQ6IihtaW4td2lkdGg6IDU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkifTtRRT12b2lkIDA7Xy5nRj12b2lkIDA7Xy5SRT13aW5kb3cuaW5uZXJXaWR0aDtTRT13aW5kb3cuaW5uZXJIZWlnaHQ7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntfLmdGPVFFPXZvaWQgMH0pO3ZhciB0Y2E9IkludGVyc2VjdGlvbk9ic2VydmVyImluIHdpbmRvdz9uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGEsYik9PnthLmZpbHRlcihjPT5jLmludGVyc2VjdGlvblJlY3QuaGVpZ2h0PjApLmZvckVhY2goKHt0YXJnZXQ6Y30pPT57Yy5KbT8uKCk7Yi51bm9ic2VydmUoYyl9KX0se3Jvb3RNYXJnaW46IjEwJSIsdGhyZXNob2xkOi4wMX0pOl8uVEUoKT97b2JzZXJ2ZShhKXtfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0sdW5vYnNlcnZlKCl7fX06bmV3IF8uZkYoLjEsYT0+e18uamYuR2EoKCk9Pnt0cnl7YS5KbT8uKCl9Y2F0Y2goYil7Xy5PdChiKX19LDgpfSk7dmFyIFZFPW5ldyBXZWFrTWFwLFdFPTAsVUU9MDtfLmhGPV8uTChhPT57dmFyIGI9ITEsYz1fLnVFKCJpbWciLGQ9PntfLll1KCgpPT57Yj0hMDtkLm9ubG9hZD1udWxsfSl9KTtfLm5FKCgpPT57dmFyIGQ9YS5kYXRhPy4oKSxlPWEuR2w/LigpLlNnLGY9YS5jb25maWcoKSxoPWMudmFsdWU7aWYoaCl7dmFyIGs9KGwsbSk9PntpZighYilyZXR1cm4gZT9lKGwsbSk6bH07Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmMiKSYmeWNhKGgsZCxrKT9fLngoIndlYl9pbWFnZV9kb250X3JlbG9hZF9zYW1lX3NyY19zaW11bGF0ZV9sb2FkIikmJmguZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnttZXNzYWdlOiJTaW11bGF0aW5nIGxvYWQgZXZlbnQgZm9yIGFscmVhZHkgbG9hZGVkIGltYWdlIn19KSk6eGNhKGgsZHx8bnVsbCxrLGYsYS5sYXp5Py4oKSl9fSwiUmZFZ0JjIik7cmV0dXJuIF8uSygiaW1nIix7ZWw6YyxjbGFzczooKT0+YS5jb25maWcoKS5jbGFzc05hbWUsCmFsdDooKT0+YS5jb25maWcoKS5hbHQsImFyaWEtaGlkZGVuIjooKT0+YS5jb25maWcoKS5hcmlhSGlkZGVuLCJkYXRhLWRpc2FibGVkIjooKT0+YS5jb25maWcoKS5oYyxzdHlsZTooKT0+YS5jb25maWcoKS5zdHlsZSx3aWR0aDooKT0+YS5jb25maWcoKS53aWR0aCxoZWlnaHQ6KCk9PmEuY29uZmlnKCkuaGVpZ2h0LGRyYWdnYWJsZTooKT0+YS5jb25maWcoKS5kcmFnZ2FibGUsIm9uOmVycm9yIjpkPT5hLmNvbmZpZygpLm9uRXJyb3I/LihkKSwib246bG9hZCI6ZD0+YS5jb25maWcoKS5vbkxvYWQ/LihkKX0pfSwibCIpO18uaEYuaWRvbUNvbXBhdD0hMDt2YXIgaUY7Xy5qRj1fLkwoYT0+e3ZhciBbYixjXT1fLkooITEsdm9pZCAwLCJURmFFS2QiKSxkPSgpPT57dmFyIGY9YS5kYXRhKCk7cmV0dXJuIEtFKGYpP3suLi5mfTpMRShmKT8/e319LGU9KCk9PiFkKCkuc291cmNlcz8ubGVuZ3RofHxiKCk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PntpZighXy54KCJ3ZWJfbGluZWFyX2dyYWRpZW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gTkUoZCgpKS5ueXx8TkUoZCgpKS5Oen0sdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRDb3JlSW1hZ2VIb3N0IiwieXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lciIse3l0Q29yZUltYWdlTG9hZGVkOmV9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDb3JlSW1hZ2VHcmFkaWVudCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6Xy5JRSh7YmFja2dyb3VuZDpmfSl9KSxfLksoaUYsey4uLmEsb25Mb2FkOmg9PntjKCEwKTthLm9uTG9hZD8uKGgpfX0pKSxXOigpPT5fLksoaUYsey4uLmF9KX0pfSwibSIpOwppRj1fLkwoYT0+e3ZhciBiPSgpPT5BY2EoYS5kYXRhKCkse2NvbnRlbnRNb2RlOmEuY29udGVudE1vZGU/LigpLHRqOmEudGo/LigpLGlzUHJlbG9hZGVkOmEuaXNQcmVsb2FkZWQ/LigpLHNnOmEuc2c/LigpLEJtOmEuQm0/LigpLHlyOmEueXI/LigpLFlhOmEuWWE/LigpLFRhOmEuVGE/LigpLG9iamVjdFBvc2l0aW9uOmEub2JqZWN0UG9zaXRpb24/LigpLEFiOmEuQWI/LigpLGRjOmEuZGM/LigpLFdyOmEuV3I/LigpLE5nOmEuTmc/LigpLGlzVG9nZ2xlZDphLmlzVG9nZ2xlZD8uKCksYWx0OmEuYWx0Py4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLG9uRXJyb3I6YS5vbkVycm9yLG9uTG9hZDphLm9uTG9hZCxzdHlsZTphLnN0eWxlPy4oKSxjb2xvcjphLmNvbG9yPy4oKSx3aWR0aDphLndpZHRoPy4oKSxoZWlnaHQ6YS5oZWlnaHQ/LigpLGFyaWFIaWRkZW46YS5hcmlhSGlkZGVuPy4oKSxkcmFnZ2FibGU6YS5kcmFnZ2FibGU/LigpLGhjOmEuaGM/LigpLHNpemU6YS5zaXplPy4oKSwKaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU6YS5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT8uKCl9LGEuVXc/LigpKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YigpPy50eXBlPT09ImltYWdlIn0sKCk9Pl8uSyhfLmhGLHtkYXRhOigpPT5iKCkuaW1hZ2UsR2w6e1NnOihjLGQpPT57dmFyIGU9YigpLmltYWdlLnNvdXJjZXM7dmFyIGY9YigpLmNvbmZpZy5pc1ByZWxvYWRlZCxoPWIoKS5jb25maWcuTmcsaz1iKCkuY29uZmlnLkFiLGw9YigpLmNvbmZpZy5kYyxtPWIoKS5jb25maWcueXI7aWYoIWV8fGUubGVuZ3RoPT09MHx8ZVswXS5jbGllbnRSZXNvdXJjZSllPW51bGw7ZWxzZSBpZihmJiZlWzBdLnVybCllPWVbMF0udXJsO2Vsc2V7aD09PXZvaWQgMCYmKGg9ITApO2Q9aD9fLm1FKihrfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGh8fDApOl8ubUUqKGx8fGQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPy5oZWlnaHR8fDApO2I6aWYoZCl7aWYobSlmb3IobGV0IG4gb2YgZSlpZihmPQpuLnVybD8uaW5kZXhPZihtKSxmIT09dm9pZCAwJiZmPj0wKXtlPW47YnJlYWsgYn1mb3IobGV0IG4gb2YgZSlpZihuLndpZHRoJiZuLmhlaWdodCYmKGgmJm4ud2lkdGg+PWR8fCFoJiZuLmhlaWdodD49ZCkpe2U9bjticmVhayBifWZvcihtPWUubGVuZ3RoLTE7bT49MDttLS0paWYoaCYmZVttXS53aWR0aHx8IWgmJmVbbV0uaGVpZ2h0KXtlPWVbbV07YnJlYWsgYn1lPWVbMF19ZWxzZSBlPWUubGVuZ3RoPj0xP2VbZS5sZW5ndGgtMV06bnVsbDtlPWU/LnVybD9lLnVybDplPy5pbWFnZURhdGE/ZS5pbWFnZURhdGE6bnVsbH1yZXR1cm4gZXx8IiJ9fSxjb25maWc6KCk9Pnt2YXIgYz1iKCkuY29uZmlnO2ZvcihsZXQgZCBpbiBjKWNbZF09PT12b2lkIDAmJmRlbGV0ZSBjW2RdO3JldHVybiBjfSxsYXp5OmEuVGJ9KSksXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpY29uIn0sKCk9Pl8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvbk5hbWUscm9sZTooKT0+YigpLmNvbmZpZy5yb2xlLApjbGFzc05hbWU6KCk9PmIoKS5jb25maWcuY2xhc3NOYW1lLHN0eWxlOigpPT5iKCkuY29uZmlnLnN0eWxlLGFyaWFMYWJlbDooKT0+YigpLmNvbmZpZy5hcmlhTGFiZWwsYXJpYUhpZGRlbjooKT0+YigpLmNvbmZpZy5hcmlhSGlkZGVuLGhjOigpPT5iKCkuY29uZmlnLmhjLGFjdGl2ZTooKT0+YigpLmNvbmZpZy5pc1RvZ2dsZWQsc2l6ZTooKT0+YigpLmNvbmZpZy5zaXplfSkpKX0sIm4iKTtfLmpGLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2FsbGJhY2s6ITAsb25FcnJvcjohMCxvbkxvYWQ6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5OSj1uZXcgXy5JKCJzaWduYWxBY3Rpb24iKTtfLk9KPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSxjPW51bGwpe3RoaXMuYWN0aW9uTmFtZT1hO3RoaXMuaj1iO3RoaXMuYXJncz1jO3RoaXMucmV0dXJuVmFsdWU9W119fTtfLlBKPW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEU9bmV3IF8uSSgibGF5b3V0UHJvcGVydGllcyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtGPW5ldyBfLlZzKCJEQVJLX1RIRU1FX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubEY9bmV3IF8uVnMoIkFQUF9ESVJFQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51Rj1mdW5jdGlvbihhLGIpe3ZhciBjPWI/LmluaXRpYWw7cmV0dXJuIF8uTigoKT0+e18uQnYoITApO3JldHVybiBjPWEoYyl9LHtlcXVhbHM6Yj8uaXNFcXVhbH0sInJTbEtzYyIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVjYSxGY2EsdkYsR2NhLHlGLEJGLENGLEpjYSxMY2EsREYsRUYsTmNhLEhGLE9jYSxRY2EsSUYsUmNhLEpGLFNjYSxLRixMRixUY2EsTUYsVWNhLE5GLFZjYSxXY2EsSWNhLEhjYTsKRWNhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGF0ZToiTk9ORSJ9LGM9e1JoOmQ9Pntzd2l0Y2goZC5DYi50b2tlbil7Y2FzZSBfLlBiYS5DYi50b2tlbjp2YXIgZT1iO2JyZWFrO2Nhc2UgXy5PYmEuQ2IudG9rZW46ZT1hLldIO2JyZWFrO2Nhc2UgXy5MQy5DYi50b2tlbjplPWEucm9vdEVsZW1lbnQ7YnJlYWs7Y2FzZSBfLkxiYS5DYi50b2tlbjplPWEuWUo7YnJlYWs7Y2FzZSBfLk1CLkNiLnRva2VuOmU9YS5GbzticmVhaztjYXNlIF8uTWJhLkNiLnRva2VuOmU9YS5yZW5kZXJlckRhdGE7YnJlYWs7Y2FzZSBfLk5iYS5DYi50b2tlbjplPWEub0o7YnJlYWs7Y2FzZSBfLk5CLkNiLnRva2VuOmU9YS5ydn1pZihlKWQ9ZTtlbHNlIGE6e2ZvcihlPWMucGFyZW50O2U7KXt2YXIgZj1lO2lmKGYuUmgpe2Q9Zi5SaChkKTticmVhayBhfWU9ZS5wYXJlbnR9ZT1kLkNiLnRva2VuO2Y9Xy5XQy5nZXQoZSk7ZiE9PXZvaWQgMD9kPWY6KGY9ZC5DYi5NeixkLkNiLktwPyhkPWQuQ2IuS3AoKSxlJiZmPT09CiJyb290IiYmXy5XQy5zZXQoZSxkKSk6ZD1fLmF1KX1yZXR1cm4gZH19O18uQnUoYyk7cmV0dXJuIGN9O0ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yn07dkY9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilhPSEwO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmQXJyYXkuaXNBcnJheShiKSlhOmlmKF8ueWEoYSkmJl8ueWEoYikmJmEubGVuZ3RoPT1iLmxlbmd0aCl7dmFyIGM9YS5sZW5ndGgsZD12Rnx8RmNhO2ZvcihsZXQgZT0wO2U8YztlKyspaWYoIWQoYVtlXSxiW2VdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO2Vsc2UgaWYoXy5BYShhKSYmXy5BYShiKSlhOmlmKF8uRngoYSkubGVuZ3RoIT1fLkZ4KGIpLmxlbmd0aClhPSExO2Vsc2V7Zm9yKGMgaW4gYSlpZighdkYoYVtjXSxiW2NdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO3JldHVybiBhfTtfLndGPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwP2RlbGV0ZSBhW2IubmFtZV06YVtiLm5hbWVdPWN9OwpHY2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ITE7YVtfLnFGXT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSGIiKSwyLGEudGFnTmFtZSk7fSk6Xy5adCYmZCE9PV8uWEM/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkViIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50IT09IiImJmEudGV4dENvbnRlbnQhPT1udWxsfHxhLmNoaWxkRWxlbWVudENvdW50PjApJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiRmIiKSwyLGEudGFnTmFtZSk7fSk7dmFyIGY9Xy5SdSgoKT0+e3ZhciBoPV8ua3UoXy56diksaz0oKT0+e3ZhciBsPShfLk9CLnN2Pz9fLnZkKGEpKS5fX3dpemRpc3BhdGNoZXI7bD1FY2Eoe3Jvb3RFbGVtZW50Ont2YWx1ZTphfSxGbzpjfHxsPy5udz8uKCkscnY6bH0pO2w9Xy4kdChsKTt2YXIgbT1fLkxCKCEwKTtfLmd2Kys7dHJ5e18uYkMoYigpLGEpLApfLklBKCExKX1jYXRjaChuKXt0aHJvdyBfLklBKCEwKSxuO31maW5hbGx5e18uTEIobSksXy4kdChsKX19O3RyeXtyZXR1cm4gZD09PV8uWEM/Xy51dihrLCExKTpfLml3KGspfWNhdGNoKGwpe3Rocm93IF8uVXUobCw0KSxsO31maW5hbGx5e18ua3UoaCl9fSk7YVtfLnFGXT0hMDtyZXR1cm4oKT0+e2U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkdiIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50PSIiLGYoKSxlPSEwLGFbXy5xRl09ITEpfX07Xy54Rj1mdW5jdGlvbihhLGIsYyl7Yz8/KGM9e30pO3ZhciBkPWMuRm8sZT0hIV8uS3UuSnE7Yj1HY2EoYSxiLGQsYy5Jayk7ZSYmXy5QQihhLGQpO18uVkIubG9nKGEpO3JldHVybiBifTsKXy5BRj1mdW5jdGlvbihhKXt2YXIgYj17YW5kcm9pZEluY2x1ZGVGb250UGFkZGluZzohMX0sYz0wLGQ9W10sZT1bXSxmPVtdO2lmKGEuc2ltcGxlVGV4dClyZXR1cm4gYi5jb250ZW50PWEuc2ltcGxlVGV4dCxiO2lmKGEucnVucz09PXZvaWQgMClyZXR1cm4gYi5jb250ZW50PSIiLGI7Zm9yKGxldCBtIG9mIGEucnVucyl7dmFyIGg9bS50ZXh0O2E9aD8ubGVuZ3RoO2lmKGgmJmEpe2QucHVzaChoKTtpZihtLmJvbGR8fG0uaXRhbGljc3x8bS5zdHJpa2V0aHJvdWdofHxtLnVuZGVybGluZXx8bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MHx8bS5kZWVtcGhhc2l6ZSl7aD1lO3ZhciBrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmF9O20uYm9sZCYmKGwud2VpZ2h0TGFiZWw9IkZPTlRfV0VJR0hUX01FRElVTSIpO20uaXRhbGljcyYmKGwuaXRhbGljPSEwKTttLnN0cmlrZXRocm91Z2gmJihsLnN0cmlrZXRocm91Z2g9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS51bmRlcmxpbmUmJgoobC51bmRlcmxpbmU9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MD9sLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/bS5kYXJrTW9kZVRleHRDb2xvcnx8bS50ZXh0Q29sb3I6bS50ZXh0Q29sb3I6bS5kZWVtcGhhc2l6ZSYmKGwuZm9udENvbG9yPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhcmsiKT95RigiI2FhYSIpOnlGKCIjNjA2MDYwIikpO2suY2FsbChoLGwpfW0ubmF2aWdhdGlvbkVuZHBvaW50JiYoaD1mLGs9aC5wdXNoLGw9e3N0YXJ0SW5kZXg6YyxsZW5ndGg6YSxvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDptLm5hdmlnYXRpb25FbmRwb2ludH19LG0ubG9nZ2luZ0RpcmVjdGl2ZXMmJl8ud0YobCx6RixtLmxvZ2dpbmdEaXJlY3RpdmVzKSxrLmNhbGwoaCxsKSk7Yys9YX19Yi5jb250ZW50PWQuam9pbigiIik7Yi5zdHlsZVJ1bnM9ZS5sZW5ndGg/CmU6dm9pZCAwO2IuY29tbWFuZFJ1bnM9Zi5sZW5ndGg/Zjp2b2lkIDA7cmV0dXJuIGJ9O3lGPWZ1bmN0aW9uKGEpe3ZhciBiPXBhcnNlSW50O2lmKCFIY2EudGVzdChhKSl0aHJvdyBFcnJvcigiUGNgIithKTthLmxlbmd0aD09NCYmKGE9YS5yZXBsYWNlKEljYSwiIyQxJDEkMiQyJDMkMyIpKTtyZXR1cm4gYigiZmYiK2EudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMSksMTYpfTtCRj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBPYmplY3QuZW50cmllcyhhKS5maWx0ZXIoKFssYl0pPT5iIT09dm9pZCAwJiZiIT09bnVsbCYmYiE9PSIiKS5tYXAoKFtiLGNdKT0+YCR7Yi5yZXBsYWNlKC8oW2EtekEtWl0pKD89W0EtWl0pL2csIiQxLSIpLnRvTG93ZXJDYXNlKCl9OiAke2N9O2ApLmpvaW4oIiIpfHx2b2lkIDB9OwpDRj1mdW5jdGlvbihhKXtpZighYT8udmFsdWV8fCFhPy51bml0KXJldHVybiIiO3N3aXRjaChhLnVuaXQpe2Nhc2UgIkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIjp2YXIgYj0iJSI7YnJlYWs7ZGVmYXVsdDpiPSJweCJ9YT1hLnZhbHVlO2I9PT0iJSImJihhKj0xMDApO3JldHVybmAke2F9JHtifWB9O0pjYT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5ifTtmb3IobGV0IFtkLGVdb2YgbmV3IE1hcChbWyJvbnRvdWNoc3RhcnQiLGEub250b3VjaHN0YXJ0XSxbIm9udG91Y2hlbmQiLGEub250b3VjaGVuZF0sWyJvbnRvdWNobW92ZSIsYS5vbnRvdWNobW92ZV1dKSl7bGV0IGY9ZCxoPWU7YltmXT1rPT57Y1tmXT8uKGspO2goayl9fX07CkxjYT1mdW5jdGlvbihhLGIpe3ZhciBjPVsieXRBdHRyaWJ1dGVkU3RyaW5nTGluayJdO2I/LnVifHwoYj8uaXNPdmVybGF5P2MucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvciIpOmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yIiksYj8uWGEmJmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpKTtjPXtjbGFzc05hbWU6Yy5qb2luKCIgIiksdGFiaW5kZXg6IjAifTt2YXIgZD1hLm9uVGFwfHxhLm9uTG9uZ1ByZXNzO2lmKCFkKXJldHVybiBjO3ZhciBlPWEub25UYXBPcHRpb25zPy5hY2Nlc3NpYmlsaXR5SW5mbz8uYWNjZXNzaWJpbGl0eUxhYmVsO2UmJihjLmFyaWFMYWJlbD1lKTtiPV8uYkUoe2JoOmQsdXg6YyxJZDohIWI/LklkLHFkOiEwfSk7YS5vbkxvbmdQcmVzcyYmKGQ9bmV3IEtjYSgoKT0+e3ZhciBmPV8uUkQoYS5vbkxvbmdQcmVzcyk7ZiYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChmKX0pLApiJiZKY2EoZCxiKSk7cmV0dXJuIGJ8fGN9O0RGPWZ1bmN0aW9uKGEpe3ZhciBiPWE7YTw9MTY3NzcyMTUmJihiKz1wYXJzZUludCgiZmYwMDAwMDAiLDE2KSk7cmV0dXJuIF8uTkQoYil9O0VGPWZ1bmN0aW9uKHtpc0RhcmtUaGVtZTphLGV4dGVuc2lvbjpiLE9yOmN9KXt2YXIgZD12b2lkIDA7aWYoYj1iPy5jb2xvck1hcCl7YT1hPyJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjoiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO2ZvcihsZXQgZSBvZiBiKWlmKGE9PT1lLmtleSl7ZD1lLnZhbHVlO2JyZWFrfX1kPT1udWxsJiZjJiYoZD1jKTtpZihkKXJldHVybiBERihkKX07Ck5jYT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPXt9O2lmKGEudGV4dERlY29yYXRvcil7dmFyIGQ9YS50ZXh0RGVjb3JhdG9yO3ZhciBlPXt9O3ZhciBmPV8uQihkLF8uRkYpLGg9Xy5CKGQsR0YpO2lmKGYpe2Q9T2JqZWN0O2g9ZC5hc3NpZ247bGV0IGs9e307KGI9RUYoe2V4dGVuc2lvbjpfLkIoZi5oaWdobGlnaHRUZXh0RGVjb3JhdG9yRXh0ZW5zaW9ucyxNY2EpLGlzRGFya1RoZW1lOmIsT3I6Zi5iYWNrZ3JvdW5kQ29sb3J9KSkmJihrWyJiYWNrZ3JvdW5kLWNvbG9yIl09Yik7Zi5iYWNrZ3JvdW5kQ29ybmVyUmFkaXVzIT09dm9pZCAwJiYoa1siYm9yZGVyLXJhZGl1cyJdPWAke2YuYmFja2dyb3VuZENvcm5lclJhZGl1c31weGApO2YubGVmdFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWxlZnQiXT1gJHtmLmxlZnRQYWRkaW5nfXB4YCk7Zi5yaWdodFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLXJpZ2h0Il09YCR7Zi5yaWdodFBhZGRpbmd9cHhgKTtmLnRvcFBhZGRpbmchPT0Kdm9pZCAwJiYoa1sicGFkZGluZy10b3AiXT1gJHtmLnRvcFBhZGRpbmd9cHhgKTtmLmJvdHRvbVBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWJvdHRvbSJdPWAke2YuYm90dG9tUGFkZGluZ31weGApO2guY2FsbChkLGUsayl9ZWxzZSBoJiYoZj1PYmplY3QsZD1mLmFzc2lnbixiPWI/IiMyYmE2NDAiOiIjMTA3NTE2IixiPWguY29sb3I/REYoaC5jb2xvcik6YixkLmNhbGwoZixlLHtwYWRkaW5nOiIycHgiLCJib3JkZXItdG9wIjpgc29saWQgJHtifSAycHhgLCJib3JkZXItYm90dG9tIjpgc29saWQgJHtifSAycHhgLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweCksIGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweClgfSkpO2U9T2JqZWN0LmtleXMoZSkubGVuZ3RoIT09MD9lOnZvaWQgMDtjLnN0eWxlPWU7YT1hLnRleHREZWNvcmF0b3I7ZT1bXTtiPV8uQihhLApHRik7Xy5CKGEsXy5GRik/ZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIaWdobGlnaHRUZXh0RGVjb3JhdG9yIik6YiYmZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdCcmFja2V0VGV4dERlY29yYXRvciIpO2E9ZS5qb2luKCIgIik7Yy5jbGFzc05hbWU9YTtjLmRpcj0iYXV0byJ9cmV0dXJuIGN9O0hGPWZ1bmN0aW9uKHtjb25maWc6YSxpbWFnZTpiLGdqOmMsT2w6ZCxydW46ZSx0YWc6Zix0ZXh0TGVuZ3RoOmgsc3RhcnRJbmRleDprPTAsbGVuZ3RoOmx9KXtrPT09dm9pZCAwJiYoaz0wKTtlPXtydW46ZSxzdGFydEluZGV4Omssd2w6bCE9PXZvaWQgMD9rK2w6aCx0YWc6Zn07YiYmKGUuaW1hZ2U9Yik7YyYmKGUuZ2o9Yyk7ZCYmKGUuT2w9ZCk7YSYmKGUuY29uZmlnPWEpO3JldHVybiBlfTsKT2NhPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWlnaHQpcmV0dXJuIGEud2VpZ2h0O3N3aXRjaChhLndlaWdodExhYmVsKXtjYXNlICJGT05UX1dFSUdIVF9USElOIjpyZXR1cm4gMTAwO2Nhc2UgIkZPTlRfV0VJR0hUX0VYVFJBX0xJR0hUIjpyZXR1cm4gMjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0xJR0hUIjpyZXR1cm4gMzAwO2Nhc2UgIkZPTlRfV0VJR0hUX01FRElVTSI6cmV0dXJuIDUwMDtjYXNlICJGT05UX1dFSUdIVF9TRU1JX0JPTEQiOnJldHVybiA2MDA7Y2FzZSAiRk9OVF9XRUlHSFRfQk9MRCI6cmV0dXJuIGI/OTAwOjcwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9CT0xEIjpyZXR1cm4gODAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JMQUNLIjpyZXR1cm4gOTAwO2RlZmF1bHQ6cmV0dXJuIDQwMH19OwpRY2E9ZnVuY3Rpb24oYSxiPSExLGMpe2I9RUYoe2V4dGVuc2lvbjpfLkIoYS5zdHlsZVJ1bkV4dGVuc2lvbnMsUGNhKSxpc0RhcmtUaGVtZTpiLE9yOmEuZm9udENvbG9yfSk7dmFyIGQ9W107YiYmZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIik7YS5pdGFsaWMmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZCIpO2EudW5kZXJsaW5lJiZhLnN0cmlrZXRocm91Z2g/ZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoIixJRihhLnVuZGVybGluZSkpOmEudW5kZXJsaW5lP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZCIsSUYoYS51bmRlcmxpbmUpKTphLnN0cmlrZXRocm91Z2gmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nU3RyaWtldGhyb3VnaCIsSUYoYS5zdHJpa2V0aHJvdWdoKSk7aWYoYS5iYXNlbGluZU9mZnNldCl7YTpzd2l0Y2goYS5iYXNlbGluZU9mZnNldCl7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVQlNDUklQVCI6dmFyIGU9CiJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdCI7YnJlYWsgYTtjYXNlICJCQVNFTElORV9PRkZTRVRfU1VQRVJTQ1JJUFQiOmU9Inl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHQiO2JyZWFrIGE7ZGVmYXVsdDplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFVua25vd24ifWQucHVzaChlKX1kPWQuam9pbigiICIpO2U9e307aWYoYS53ZWlnaHR8fGEud2VpZ2h0TGFiZWwpZS5mb250V2VpZ2h0PU9jYShhLGM/LnFoKS50b1N0cmluZygpO2ImJihlLmNvbG9yPWIpO3JldHVybntjbGFzc05hbWU6ZCxzdHlsZTplfX07SUY9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkxJTkVfU1RZTEVfRE9UIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90IjtjYXNlICJMSU5FX1NUWUxFX05PTkUiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25lIjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGUifX07ClJjYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEVGVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMZWZ0IjtjYXNlICJURVhUX0FMSUdOTUVOVF9SSUdIVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlciI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfSlVTVElGSUVEIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEFZT1VUX1NUQVJUIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0IjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93biJ9fTsKSkY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIWJ8fCEoYS5jb21tYW5kUnVucyYmYS5jb21tYW5kUnVucy5sZW5ndGghPT0wfHxhLnBhcmFncmFwaFN0eWxlUnVucyYmYS5wYXJhZ3JhcGhTdHlsZVJ1bnMubGVuZ3RoIT09MCl9O1NjYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEucnVuOyhjLm9uVGFwIT09dm9pZCAwfHxjLm9uTG9uZ1ByZXNzIT09dm9pZCAwKSYmXy5CKGMsekYpJiZfLkp4KGIse2RhdGE6e2xvZ2dpbmdEaXJlY3RpdmVzOl8uQihjLHpGKX0sb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pfX07S0Y9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKGxldCBlIG9mIGEubGMpe2lmKHR5cGVvZiBlPT09InN0cmluZyIpdGhyb3cgRXJyb3IoIlljIik7aWYoZS5zdGFydDw9YiYmYzw9ZS5lbmQpe0tGKGUsYixjLGQpO3JldHVybn19YS5sYy5wdXNoKHtkYXRhOmQsbGM6W10sc3RhcnQ6YixlbmQ6Y30pfTsKTEY9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGQ9Yi5sYy5sZW5ndGg7ZD49MDtkLS0pe2xldCBlPWIubGNbZF07dmFyIGM9Yi5sY1tkLTFdO2xldCBmPWQ9PT1iLmxjLmxlbmd0aD9iLmVuZDplLnN0YXJ0O2M9ZD09PTA/Yi5zdGFydDpjLmVuZDtmIT09YyYmYi5sYy5zcGxpY2UoZCwwLGEuc2xpY2UoYyxmKSk7ZSYmTEYoYSxlKX19O1RjYT1mdW5jdGlvbihhKXthLnNvcnQoKGIsYyk9PntpZihiLnN0YXJ0SW5kZXg8Yy5zdGFydEluZGV4KXJldHVybi0xO2lmKGMuc3RhcnRJbmRleDxiLnN0YXJ0SW5kZXgpcmV0dXJuIDE7Yj1iLndsLWIuc3RhcnRJbmRleDtjPWMud2wtYy5zdGFydEluZGV4O3JldHVybiBiPmM/LTE6Yz5iPzE6MH0pfTsKTUY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT09PXZvaWQgMHx8Yj09PXZvaWQgMD8hMTpfLngoIndlYl9hdHRyaWJ1dGVkX3N0cmluZ19kZWVwX2VxdWFsX2J1Z2ZpeCIpP3ZGKGEsYik6YS5jb250ZW50PT09Yi5jb250ZW50JiZhLnN0eWxlUnVucz8ubGVuZ3RoPT09Yi5zdHlsZVJ1bnM/Lmxlbmd0aCYmYS5jb21tYW5kUnVucz8ubGVuZ3RoPT09Yi5jb21tYW5kUnVucz8ubGVuZ3RoJiZhLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGg9PT1iLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGgmJmEuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aD09PWIuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aH07VWNhPWZ1bmN0aW9uKHtsYzphfSl7cmV0dXJuIGEubWFwKE5GKX07Ck5GPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGE7dmFyIGI9YS5kYXRhO2IuaW1hZ2UhPT12b2lkIDAmJmIuZ2ohPT12b2lkIDA/KGI9YS5kYXRhLk9sLGE9Xy5LKCJzcGFuIix7Y2xhc3M6Yj8uY2xhc3NOYW1lLHN0eWxlOkJGKGI/LnN0eWxlKSxkaXI6Yj8uZGlyLHJvbGU6Yj8ucm9sZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJvbjpjbGljayI6Yj8ub25jbGljaywib246dG91Y2hlbmQiOmI/Lm9udG91Y2hlbmQsIm9uOnRvdWNobW92ZSI6Yj8ub250b3VjaG1vdmUsIm9uOnRvdWNoc3RhcnQiOmI/Lm9udG91Y2hzdGFydH0sXy5LKF8uakYse2RhdGE6YS5kYXRhLmltYWdlLC4uLmEuZGF0YS5nan0pKSk6KGI9YS5kYXRhLmNvbmZpZyxhPV8uSyhhLmRhdGEudGFnLHtlbDpfLnJGKFNjYShhLmRhdGEpKSwicHJvcDpfZGF0YSI6Yj8ubnUsInByb3A6cGFyYW1zIjpiPy5wYXJhbXMsCmNsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixocmVmOmI/LmhyZWYscmVsOmI/LnJlbCxyb2xlOmI/LnJvbGUsdGFyZ2V0OmI/LnRhcmdldCx0aXRsZTpiPy50aXRsZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJhcmlhLWhhc3BvcHVwIjpiPy5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6Yj8ucWQsImFyaWEtaGlkZGVuIjpiPy5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjpiPy5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWwiOmI/LmFyaWFMYWJlbCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnQsIm9uOnBvaW50ZXJkb3duIjpiPy5vbnBvaW50ZXJkb3duLCJvbjprZXlkb3duIjpiPy5vbmtleWRvd259LGEubGMubWFwKE5GKSkpOwpyZXR1cm4gXy5mQyhhKX07VmNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6YS5Daj09PWIuQ2omJmEudWI9PT1iLnViJiZhLm1hPT09Yi5tYSYmYS5oZWFkZXJSdW5zPT09Yi5oZWFkZXJSdW5zJiZhLmlzT3ZlcmxheT09PWIuaXNPdmVybGF5JiZhLlhhPT09Yi5YYSYmYS51c2VySW5wdXQ9PT1iLnVzZXJJbnB1dCYmYS5xaD09PWIucWh9O1djYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+KHthcmlhTGFiZWw6YS5hcmlhTGFiZWw/LigpLGNsYXNzTmFtZTphLmNsYXNzTmFtZT8uKCkseWM6YS55Yz8uKCksaXNPdmVybGF5OmEuaXNPdmVybGF5Py4oKSxYYTphLlhhPy4oKSxtYTphLm1hPy4oKSxDajphLkNqPy4oKSx1YjphLnViPy4oKSxyZzphLnJnPy4oKSxub1dyYXA6YS5ub1dyYXA/LigpLElkOmEuSWQ/LigpLHVzZXJJbnB1dDphLnVzZXJJbnB1dD8uKCksaGVhZGVyUnVuczphLmhlYWRlclJ1bnM/LigpLHFoOmEucWg/LigpfSl9OwpJY2E9LyMoLikoLikoLikvO0hjYT0vXiMoPzpbMC05YS1mXXszfSl7MSwyfSQvaTtfLlhjYT1uZXcgXy5JKCJlbW9qaSIpO3ZhciB6Rj1uZXcgXy5JKCJsb2dnaW5nRGlyZWN0aXZlcyIpO18uWWNhPW5ldyBfLkkoInVucGx1Z2dlZFN0cmluZ1J1bkltYWdlIik7dmFyIE1jYT1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgUGNhPW5ldyBfLkkoInN0eWxlUnVuQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgWmNhPW5ldyBfLkkoImFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzIik7dmFyIEdGPW5ldyBfLkkoImJyYWNrZXRUZXh0RGVjb3JhdG9yIik7Xy5GRj1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yIik7dmFyICRjYT1uZXcgXy5JKCJpbWFnZVR5cGUiKTt2YXIgYWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5EPTUwMDt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITE7dGhpcy5CPWE9Pnt2YXIgYj1uZXcgQ3VzdG9tRXZlbnQoIkxPTkdfUFJFU1MiKTthLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChiKX07dGhpcy5vbnRvdWNoc3RhcnQ9YT0+e3RoaXMuaj1fLnF4KF8uamYsKCk9Pnt0aGlzLkIoYSk7dGhpcy5vPSEwfSx0aGlzLkQpfTt0aGlzLm9udG91Y2htb3ZlPSgpPT57Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy5vPSExO3RoaXMudj0hMH07dGhpcy5vbnRvdWNoZW5kPWE9Pnt0aGlzLmomJiF0aGlzLm8mJiF0aGlzLnYmJmEuY2hhbmdlZFRvdWNoZXNbMF0udGFyZ2V0Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy52PXRoaXMubz0hMX19fTt2YXIgS2NhPWNsYXNzIGV4dGVuZHMgYWRhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jYWxsYmFjaz1hO3RoaXMuQj1iPT57dGhpcy5jYWxsYmFjaz8uKGIpfX19O3ZhciBiZGE7YmRhPV8ueCgiYWxsb3dfbmVzdGVkX3JlbmRlcl9rcyIpP3ZvaWQgMDp7SWs6Xy5YQ307Cl8uVj1fLkwoYT0+e3ZhciBiPVdjYShhKSxjPWU9Pnt2YXIgZixoLGs9Xy5yRihwPT57Zj1lKCk7aD1fLnV2KCgpPT57Zm9yKHZhciByIG9mIG0oKSl7bGV0IHQ9TkYocik7dD10eXBlb2YgdD09PSJzdHJpbmciP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpOnQ7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpe3I9bmV3IF8uWGooIlBhcnQgaXMgbm90IGEgbm9kZSIsdCx0eXBlb2YgdCk7Xy5HcChyKTticmVha31wLmFwcGVuZENoaWxkKHQpfX0pfSksbD1fLnVGKGIse2lzRXF1YWw6VmNhfSksbT0oKT0+e3ZhciBwPWUoKSxyPWwoKSx0PVtdLHY9cC5jb250ZW50Lmxlbmd0aCx6PV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO2lmKHAucGFyYWdyYXBoU3R5bGVSdW5zKWZvcihsZXQgTSBvZiBwLnBhcmFncmFwaFN0eWxlUnVucyl7dmFyIEU9dCxBPUUucHVzaDthOntpZighTS5saXN0R3JvdXA/Lmxpc3RJdGVtcyl7dmFyIEY9W107YnJlYWsgYX1GPVtdO2I6c3dpdGNoKE0ubGlzdEdyb3VwLmxpc3RUeXBlKXtjYXNlICJMSVNUX1RZUEVfQlVMTEVUIjp2YXIgQz0KInVsIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsY29uZmlnOntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cCJ9LHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aH0pKTtmb3IobGV0IFMgb2YgTS5saXN0R3JvdXAubGlzdEl0ZW1zKXtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6Qz0ibGkiO2JyZWFrIGI7ZGVmYXVsdDpDPSJzcGFuIn1GLnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6QyxzdGFydEluZGV4OlMuc3RhcnRJbmRleCxsZW5ndGg6Uy5sZW5ndGh9KSl9fUEuY2FsbChFLC4uLkYpfWlmKHAuc3R5bGVSdW5zJiYhcj8uQ2opZm9yKHZhciBHIG9mIHAuc3R5bGVSdW5zKUU9UWNhKEcseixyKSx0LnB1c2goSEYoe3J1bjpHLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpFLHN0YXJ0SW5kZXg6Ry5zdGFydEluZGV4LApsZW5ndGg6Ry5sZW5ndGh9KSk7aWYocC5kZWNvcmF0aW9uUnVucylmb3IodmFyIEQgb2YgcC5kZWNvcmF0aW9uUnVucylHPU5jYShELHopLEU9Xy5CKEQudGV4dERlY29yYXRvcixHRiksQT1fLkIoRC50ZXh0RGVjb3JhdG9yLEdGKSx0LnB1c2goSEYoe3J1bjpELHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpHLHN0YXJ0SW5kZXg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8uc3RhcnRJbmRleHx8RT8uc3RhcnRJbmRleHx8MCxsZW5ndGg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8ubGVuZ3RofHxBPy5sZW5ndGh8fDB9KSk7aWYocC5jb21tYW5kUnVucyYmIXI/Lm1hKWZvcih2YXIgSCBvZiBwLmNvbW1hbmRSdW5zKXo9TGNhKEgsciksdC5wdXNoKEhGKHtydW46SCx0ZXh0TGVuZ3RoOnYsdGFnOiJhIixjb25maWc6eixzdGFydEluZGV4Okguc3RhcnRJbmRleCxsZW5ndGg6SC5sZW5ndGh9KSk7aWYocC5hdHRhY2htZW50UnVucylmb3IobGV0IE0gb2YgcC5hdHRhY2htZW50UnVucyl7cD0Ke2NsYXNzTmFtZToieXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2QifTtNLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihIPXt9LHo9Xy5CKE0uZWxlbWVudD8ucHJvcGVydGllcyxfLmhFKSx6Py5tYXJnaW4mJih6PXoubWFyZ2luLEQ9KEc9Xy53KCJIVE1MX0RJUiIpPT09InJ0bCJ8fGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiKT96LmVuZHx8ei5yaWdodDp6LnN0YXJ0fHx6LmxlZnQsRz1HP3ouc3RhcnR8fHoubGVmdDp6LmVuZHx8ei5yaWdodCxEJiYoSFsibWFyZ2luLWxlZnQiXT1DRihEKSksRyYmKEhbIm1hcmdpbi1yaWdodCJdPUNGKEcpKSx6LnRvcCYmKEhbIm1hcmdpbi10b3AiXT1DRih6LnRvcCkpLHouYm90dG9tJiYoSFsibWFyZ2luLWJvdHRvbSJdPUNGKHouYm90dG9tKSkpLEg9T2JqZWN0LmtleXMoSCkubGVuZ3RoIT09MD9IOnZvaWQgMCxwLnN0eWxlPUgpO0g9e2FsdDoiIixZYTohMCxUYTohMH07ej1bInl0QXR0cmlidXRlZFN0cmluZ0ltYWdlRWxlbWVudCJdOwppZihNLmFsaWdubWVudCl7YTpzd2l0Y2goTS5hbGlnbm1lbnQpe2Nhc2UgIkFMSUdOTUVOVF9CQVNFTElORSI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZSI7YnJlYWsgYTtjYXNlICJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSIjpEPSJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudFZlcnRpY2FsQ2VudGVyIjticmVhayBhO2RlZmF1bHQ6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCb3R0b20ifXoucHVzaChEKX1NLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihEPXt9LEc9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLF8uaEUpLEc/LmhlaWdodCYmKEQuaGVpZ2h0PUNGKEcuaGVpZ2h0KSksRz8ud2lkdGgmJihELndpZHRoPUNGKEcud2lkdGgpKSxEPU9iamVjdC5rZXlzKEQpLmxlbmd0aCE9PTA/RDp2b2lkIDAsSC5zdHlsZT1CRihEKSxILmFsdD1fLkIoTS5lbGVtZW50LnByb3BlcnRpZXMsWmNhKT8ubGFiZWx8fCIiKTtILmNsYXNzTmFtZT0Kei5qb2luKCIgIik7ej1NLmVsZW1lbnQ/LnR5cGU/Xy5CKE0uZWxlbWVudC50eXBlLCRjYSk/LmltYWdlOnZvaWQgMDt0LnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6ImltZyIsaW1hZ2U6eixnajpILE9sOnAsc3RhcnRJbmRleDpNLnN0YXJ0SW5kZXgsbGVuZ3RoOk0ubGVuZ3RoPz8wfSkpfWlmKHI/LmhlYWRlclJ1bnMpZm9yKHZhciBSIG9mIHIuaGVhZGVyUnVucylpZihSLmhlYWRlck1hcHBpbmcmJlsiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIl0uaW5jbHVkZXMoUi5oZWFkZXJNYXBwaW5nKSl7YTp7c3dpdGNoKFIuaGVhZGVyTWFwcGluZyl7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMSI7CmJyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMiI7YnJlYWsgYTtjYXNlICJBVFRSSUJVVEVEX1NUUklOR19IRUFERVJfTUFQUElOR19IRUFESU5HXzMiOnI9Inl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmczIjticmVhayBhfXI9dm9pZCAwfXQucHVzaChIRih7cnVuOlIsdGV4dExlbmd0aDp2LHRhZzoic3BhbiIsY29uZmlnOnI/e2NsYXNzTmFtZTpyfTp2b2lkIDAsc3RhcnRJbmRleDpSLnN0YXJ0SW5kZXgsbGVuZ3RoOlIubGVuZ3RofSkpfWlmKGwoKT8udXNlcklucHV0KWZvcihsZXQgTSBvZiB0KXtpZihNLnRhZz09PSJhInx8TS50YWc9PT0ibGkiKWNvbnRpbnVlO2xldCBTOyhTPU0pLmNvbmZpZ3x8KFMuY29uZmlnPXt9KTtNLnRhZz09PSJ1bCI/TS5jb25maWcuZGlyPV8ueSgpLnJlc29sdmUoXy5sRik6TS5jb25maWcuZGlyPSJhdXRvIn1pZihlKCkuY29udGVudCl7dj1lKCkuY29udGVudDsKVGNhKHQpO1I9e2RhdGE6bnVsbCxzdGFydDowLGVuZDp2Lmxlbmd0aCxsYzpbXX07Zm9yKGxldCBNIG9mIHQpS0YoUixNLnN0YXJ0SW5kZXgsTS53bCxNKTtMRih2LFIpO3Q9Ui5sY31lbHNlIHQ9W107cmV0dXJuIHR9LG49ITA7Xy5uRSgoKT0+e2UoKTtsKCk7aWYobiYmKG49ITEsTUYoZSgpLGYpKSlyZXR1cm47dmFyIHA9bSgpO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt2YXIgcj1rLnZhbHVlO3ImJihyLmlubmVyVGV4dD0iIixoPy4oKSxoPV8ueEYociwoKT0+Xy5LKFVjYSx7bGM6cH0pLGJkYSkpfSl9LCJ2Mlowb2UiKTtyZXR1cm4gXy5LKCJzcGFuIix7ZWw6ayxjbGFzczooKT0+e3ZhciBwO2lmKHA9ZSgpKXtwPWUoKTt2YXIgcj1iKCk7bGV0IHQ9W107dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIb3N0Iik7cj8uY2xhc3NOYW1lJiZ0LnB1c2gocj8uY2xhc3NOYW1lKTtyPy55Yz90LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0VsbGlwc2lzVHJ1bmNhdGUiKTpyPy5ub1dyYXA/CnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcCIpOnI/LnJnfHx0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwIik7cj8uWGEmJnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO3AuYWxpZ25tZW50JiZ0LnB1c2goUmNhKHAuYWxpZ25tZW50KSk7cC5saW5lQnJlYWtNb2RlJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1dvcmRXcmFwcGluZyIpO3A9dC5qb2luKCIgIil9cmV0dXJuIHB9LHN0eWxlOmEuc3R5bGUsZGlyOigpPT5iKCkudXNlcklucHV0PyJhdXRvIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5KRihlKCksYigpLmFyaWFMYWJlbCk/YigpLmFyaWFMYWJlbDp2b2lkIDAscm9sZTooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpPyJ0ZXh0Ijp2b2lkIDB9KX0sZD1fLnVGKCgpPT57dmFyIGU9YS50ZXh0Py4oKTtpZihlKXJldHVybiBlPWU/LmNvbnRlbnQhPT12b2lkIDA/ZTpfLkFGKGUpLAplPy5jb250ZW50P2U6dm9pZCAwfSx7aXNFcXVhbDpNRn0pO3JldHVybiBhLll1P2MoZCk6Xy5LKF8uTyx7QTpkLHRoZW46Y30pfSwicSIpO18uVi5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUUo7UUo9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gbnVsbDthPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgYyBvZiBhKWlmKGE9Yy50b0xvd2VyQ2FzZSgpLGEuaW5kZXhPZihiLGEubGVuZ3RoLWIubGVuZ3RoKT4tMSlyZXR1cm4gYztyZXR1cm4gbnVsbH07Xy5SSj1mdW5jdGlvbihhKXt2YXIgYj1RSihhLCJhY3Rpb24iKXx8UUooYSwiY29tbWFuZCIpfHxRSihhLCJlbmRwb2ludCIpO2lmKCFiKXJldHVybiBudWxsO3t2YXIgYz0ieXQiK2I7bGV0IGQ9Xy5QSi5nZXQoYyk7ZD9jPWQ6KGI9YHl0LSR7Yi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9YCxfLlBKLnNldChjLGIpLGM9Yil9Xy5CKGEsXy5OSikmJihjKz0iLSIrXy5CKGEsXy5OSikuc2lnbmFsLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCItIikpO3JldHVybiBjfTtfLlNKPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPW5ldyBNYXB9fTtfLndhKF8uU0opOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRmRhLEdkYSxDSCxIZGEsREgsRUgsRkgsSWRhO0ZkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXtpZighYS50b3RhbExlbmd0aHx8IWMpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO2M8MCYmKGM9YS50b3RhbExlbmd0aC1iKTthLmZvY3VzKGIpO2lmKCEoYi1hLnYrYzw9YS5qW2Eub10ubGVuZ3RoKSl7dmFyIGQ9YS5vLGU9YS52O2EuZm9jdXMoYitjLTEpO2U9bmV3IFVpbnQ4QXJyYXkoYS52K2EualthLm9dLmxlbmd0aC1lKTtsZXQgZj0wO2ZvcihsZXQgaD1kO2g8PWEubztoKyspZS5zZXQoYS5qW2hdLGYpLGYrPWEualtoXS5sZW5ndGg7YS5qLnNwbGljZShkLGEuby1kKzEsZSk7YS5vPTA7YS52PTA7YS5mb2N1cyhiKX1kPWEualthLm9dO3JldHVybiBuZXcgRGF0YVZpZXcoZC5idWZmZXIsZC5ieXRlT2Zmc2V0K2ItYS52LGMpfTsKR2RhPWZ1bmN0aW9uKGEsYj0wLGM9LTEpe2E9RmRhKGEsYixjKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCl9O0NIPWZ1bmN0aW9uKGEsYil7YS5mb2N1cyhiKTtyZXR1cm4gYS5qW2Eub11bYi1hLnZdfTsKSGRhPWZ1bmN0aW9uKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4iIjt0cnl7aWYoXy5zQSlyZXR1cm4gXy5zQS5kZWNvZGUoYSk7aWYodHlwZW9mIEZldGNoSW50ZXJuYWwhPT0idW5kZWZpbmVkIilyZXR1cm4gRmV0Y2hJbnRlcm5hbC5kZWNvZGVGcm9tVVRGOChhKX1jYXRjaHt9Zm9yKHZhciBiPTAsYz1bXSxkPWEubGVuZ3RoO2I8ZDspe2xldCBmPTA7Zm9yKDtmPDEwMjQmJmI8ZDspe3ZhciBlPWFbYisrXTtpZihlPDEyOCl7Xy5yQVtmKytdPWU7Y29udGludWV9aWYoZTwyMjQpZT0oZSYzMSk8PDZ8YVtiKytdJjYzO2Vsc2UgaWYoZTwyNDApZT0oZSYxNSk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlbHNle2lmKGYrMT09PTEwMjQpey0tYjticmVha31lPShlJjcpPDwxOHwoYVtiKytdJjYzKTw8MTJ8KGFbYisrXSY2Myk8PDZ8YVtiKytdJjYzO2UtPTY1NTM2O18uckFbZisrXT01NTI5NnxlPj4xMDtlPTU2MzIwfGUmMTAyM31fLnJBW2YrK109ZX1lPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApfLnJBKTtmPDEwMjQmJihlPWUuc3Vic3RyaW5nKDAsZikpO2MucHVzaChlKX1yZXR1cm4gYy5qb2luKCIiKX07REg9ZnVuY3Rpb24oYSl7dmFyIGI9Q0goYS5qLGEucG9zKTsrK2EucG9zO2lmKGI8MTI4KXJldHVybiBiO2Zvcih2YXIgYz1iJjEyNyxkPTE7Yj49MTI4OyliPUNIKGEuaixhLnBvcyksKythLnBvcyxkKj0xMjgsYys9KGImMTI3KSpkO3JldHVybiBjfTtFSD1mdW5jdGlvbihhLGIpe3ZhciBjPWEubztmb3IoYS5vPS0xO2EucG9zKzE8PWEuai50b3RhbExlbmd0aDspe2M8MCYmKGM9REgoYSkpO3ZhciBkPWM+PjM7bGV0IGU9YyY3O2lmKGQ9PT1iKXJldHVybiEwO2lmKGQ+Yil7YS5vPWM7YnJlYWt9Yz0tMTtzd2l0Y2goZSl7Y2FzZSAwOkRIKGEpO2JyZWFrO2Nhc2UgMTphLnBvcys9ODticmVhaztjYXNlIDI6ZD1ESChhKTthLnBvcys9ZDticmVhaztjYXNlIDU6YS5wb3MrPTR9fXJldHVybiExfTsKXy5HSD1mdW5jdGlvbihhKXthPW5ldyBJZGEobmV3IEZIKFtfLnVjKGRlY29kZVVSSUNvbXBvbmVudChhKSldKSk7aWYoRUgoYSwyKSl7dmFyIGI9REgoYSk7dmFyIGM9R2RhKGEuaixhLnBvcyxiKTthLnBvcys9YjtiPWN9ZWxzZSBiPXZvaWQgMDtiPWI/SGRhKGIpOnZvaWQgMDthPUVIKGEsNCk/REgoYSk6dm9pZCAwO2M9Xy52QVthXTtpZih0eXBlb2YgYz09PSJ1bmRlZmluZWQiKXRocm93IGE9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLFdJOmF9KSxfLkdwKGEpLGE7cmV0dXJue1JJOmEsZW50aXR5VHlwZTpjLGVudGl0eUlkOmJ9fTtfLkhIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywicGxheWVyU3RhdGVFbnRpdHkiLGIpfTtfLklIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiYm9vbGVhbkVudGl0eSIsYil9OwpGSD1jbGFzc3tjb25zdHJ1Y3RvcihhPVtdKXt0aGlzLmo9W107dGhpcy50b3RhbExlbmd0aD10aGlzLnY9dGhpcy5vPTA7YS5mb3JFYWNoKGI9Pnt0aGlzLmFwcGVuZChiKX0pfWFwcGVuZChhKXt2YXIgYj10aGlzLmoubGVuZ3RoPT09MD8hMTooYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSkmJmIuYnVmZmVyPT09YS5idWZmZXImJmIuYnl0ZU9mZnNldCtiLmxlbmd0aD09PWEuYnl0ZU9mZnNldDtiPyhiPXRoaXMualt0aGlzLmoubGVuZ3RoLTFdLHRoaXMualt0aGlzLmoubGVuZ3RoLTFdPW5ldyBVaW50OEFycmF5KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCxiLmxlbmd0aCthLmxlbmd0aCksdGhpcy52PXRoaXMubz0wKTp0aGlzLmoucHVzaChhKTt0aGlzLnRvdGFsTGVuZ3RoKz1hLmxlbmd0aH1zcGxpdChhKXt2YXIgYj1uZXcgRkgsYz1uZXcgRkg7Zm9yKGxldCBkIG9mIHRoaXMuailhPj1kLmxlbmd0aD8oYi5hcHBlbmQoZCksYS09ZC5sZW5ndGgpOmE/KGIuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLApkLmJ5dGVPZmZzZXQsYSkpLGMuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCthLGQubGVuZ3RoLWEpKSxhPTApOmMuYXBwZW5kKGQpO3JldHVybntqSjpiLGJMOmN9fWlzRm9jdXNlZChhKXtyZXR1cm4gYT49dGhpcy52JiZhPHRoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGh9Zm9jdXMoYSl7aWYoIXRoaXMuaXNGb2N1c2VkKGEpKWZvcihhPHRoaXMudiYmKHRoaXMudj10aGlzLm89MCk7dGhpcy52K3RoaXMualt0aGlzLm9dLmxlbmd0aDw9YSYmdGhpcy5vPHRoaXMuai5sZW5ndGg7KXRoaXMudis9dGhpcy5qW3RoaXMub10ubGVuZ3RoLHRoaXMubys9MX19O0lkYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YTt0aGlzLnBvcz0wO3RoaXMubz0tMX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSmVhLGFLO0plYT1mdW5jdGlvbihhLGIpe3ZhciBjPVpKLGQ9Xy5qZi5HYSgoKT0+e2MuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSk7Yy5vKCEwKX0sNCxiLmRlbGF5KTtjLmooZCl9O2FLPWZ1bmN0aW9uKCl7dmFyIGE9WkosYj1hLnYoKTtiJiYoXy5qZi5BYShiKSxhLmoodm9pZCAwKSk7YS5vKCExKX07Cl8uYks9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5BQygoKT0+YSgpPz9iPy4oKT8udGV4dCk7cmV0dXJuW2U9Pnt2YXIgZj1fLk4oKCk9Pih7bG9jYXRpb246ImJvdHRvbSIsb2Zmc2V0OjE2LGRlbGF5OjEsLi4uYj8uKCksdGV4dDpjKCk/PyIifSksdm9pZCAwLCJJSlUzOGQiKTtfLm5FKCgpPT57dmFyIGw9ZigpO18uRUEoKCk9PntfLmpmLkdhKCgpPT57Wkoubm90aWZ5KGUsbCl9LDQpfSl9LCJXbHNnWmMiKTt2YXIgaD0oKT0+e0plYShlLGYoKSl9LGs9KCk9PnthSygpfTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsayk7Xy5ZdSgoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRhcCIsayk7YUsoKX0pfSxkXX07dmFyICRKPXtsZWZ0OiIwcHgiLHJpZ2h0OiJhdXRvIix0b3A6Ii0xMDBweCIsYm90dG9tOiJhdXRvIn07dmFyIFpKPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe1t0aGlzLnN0YXRlLHRoaXMuU109Xy5KKHZvaWQgMCx2b2lkIDAsIkxma3hvZiIpO1t0aGlzLnNob3csdGhpcy5vXT1fLkooITEsdm9pZCAwLCJrMUZrb2UiKTtbdGhpcy52LHRoaXMual09Xy5KKHZvaWQgMCx2b2lkIDAsIlVsOE1JYyIpfW5vdGlmeShhLGIpe3RoaXMuc3RhdGUoKT8uYW5jaG9yPT09YSYmdGhpcy5TKHt0ZXh0OmIudGV4dCxsb2NhdGlvbjokSixhbmNob3I6YSxvZmZzZXQ6Yi5vZmZzZXQsc3R5bGU6Yi5zdHlsZSxob3RrZXk6Yi5ob3RrZXl9KX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmNLPW5ldyBfLkkoInRvb2x0aXBWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kSz1mdW5jdGlvbihhLGIpe18uYUUoYSx7Li4uYixQcDohMH0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRiYTtUYmE9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5KKCExLHZvaWQgMCwibU55d3pjIiksZT0hMSxmLGg9az0+e2lmKGYpcmV0dXJuIF8uSyhmLHsuLi5rfSk7aWYoIWUpe2xldCBsPWEoKTtlPSEwO2lmKGwgaW5zdGFuY2VvZiBQcm9taXNlKXtsZXQgbT1fLmFEO20/LnN1KCk7bC50aGVuKG49PntmPW47ZCghMCk7bT8uSHIoKX0pLmNhdGNoKG49PnttPy5IcigpO2lmKGI/LmRlYnVnTmFtZSl7dmFyIHA9bmV3IF8uWGooImZhaWxlZCB0byBsb2FkIGNodW5rIixiLmRlYnVnTmFtZSxuPy50b1N0cmluZz8uKCkpO18uR3AocCl9ZWxzZSBfLkdwKG4pO3Rocm93IG47fSl9ZWxzZSByZXR1cm4gZj1sLF8uSyhmLHsuLi5rfSl9cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoZix7Li4ua30pfSl9O18uYkQuc2V0KGgsYSk7cmV0dXJuIGh9O18uY0Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVGJhKGEsYj97ZGVidWdOYW1lOmJ9OnZvaWQgMCl9O18uSkQ9bmV3IF8uVnMoIkNIVU5LX1JFR0lTVFJZX1RPS0VOIik7Xy5iRD1uZXcgV2Vha01hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5lSz1uZXcgXy5WcygiTElHSFRfRUZGRUNUX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZWE7Xy5mSz1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj0iIjtmb3IobGV0IGMgb2YgS2VhKWlmKGEuZW5kc1dpdGgoYykpe2I9YS5zbGljZSgwLC1jLmxlbmd0aCk7YnJlYWt9aWYoYiYmKGE9TnVtYmVyKGIpLCFpc05hTihhKSkpcmV0dXJuIGF9fTtLZWE9WyJyZW0iLCJweCIsIm1zIiwiJSIsInMiXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtkYSxSSDtfLlFIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUEgoKTtyZXR1cm4gS2RhKGEsYil9O18uUEg9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oUkgpKSxbYixjXT1fLkooYSx2b2lkIDAsInpMSVlSYyIpO2F8fF8uWXQoUkgsYyk7cmV0dXJuIGJ9O0tkYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk4oKCk9Pnt2YXIgYz1hKCk7cmV0dXJuIGM/YigpPy4oYyk6dm9pZCAwfSx2b2lkIDAsImVReGhtYiIpfTtSSD1uZXcgXy5WcygiU0VNQU5USUNfTEFZT1VUX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJPdEtTSmUiKTtyZXR1cm4gXy5VQ307Xy5qSz1fLmNEKCgpPT5fLmlLKCksInRvdWNoRmVlZGJhY2tTaGFwZSIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b3VjaEZlZWRiYWNrU2hhcGUiLCJPdEtTSmUiLF8uaUspfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSyxOZWEsbEssUGVhLG1LLFFlYSxSZWEsbksscEssVmVhLFdlYSxYZWEsWWVhO2tLPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgW2MsZF1vZiBhLmouZW50cmllcygpKWIucHVzaCh7ZWxlbWVudDpjLFB5OmR9KTthLnYoYil9O05lYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXtkPTB9dmFyIGQ9MDtyZXR1cm4gZnVuY3Rpb24oZSl7ZHx8KGQ9Xy51LnNldFRpbWVvdXQoYyxiKSxhLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19O2xLPWZ1bmN0aW9uKGEpe3JldHVybiFpc05hTihOdW1iZXIoYSkpJiYhL15bXHNceGEwXSokLy50ZXN0KGEpfTsKUGVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe2M9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwcHgpIn0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgkeyhmP21LKGIsYyxkLGUpOmQ/LTE6MSkqaH1weClgfV0sT2VhKSxkb2N1bWVudC50aW1lbGluZSk7Yj8oYS5zdHlsZS5kaXNwbGF5PSIiLGMub25maW5pc2g9bnVsbCk6Yy5vbmZpbmlzaD0oKT0+e2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9O2MucGxheSgpO3JldHVybiBjfTttSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1OdW1iZXIoYSkrMTA7Yj9hPyhhPU51bWJlcihhKSxiPU51bWJlcihiKSxjPWM/YjxhP2U6ZSsxMDpiPGE/ZS0xMDplKTpjPWM/MzA6MDpjPWE9PT0iMCI/ZTpjP2UtMTA6ZSsxMDtyZXR1cm4gZC1jfTsKUWVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgIm1vbm8iOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAxO2Nhc2UgInRvbmFsIjpyZXR1cm4gMztjYXNlICJvdXRsaW5lIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfWNhc2UgIm1vbm8taW52ZXJzZSI6c3dpdGNoKGIpe2Nhc2UgImZpbGxlZCI6cmV0dXJuIDI7Y2FzZSAidG9uYWwiOnJldHVybiA0O2Nhc2UgIm91dGxpbmUiOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9ZGVmYXVsdDpyZXR1cm4gMH19OwpSZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIHtkaXNhYmxlZDprLGljb25Qb3NpdGlvbjpsLHN0eWxlOm0sZm9jdXNlZDpuLHVzZU91dGxpbmVkSWNvbjpwLEFjOnJ9PW5LKGEpLHQ9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi1vbmx5Iix2PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seS00MCIsej0oKT0+ISFBKCkmJmwoKT09PSJpY29uLXdpdGgtbGFiZWwiLEU9KCk9PihrKCk/ImRpc2FibGVkIjphKCkuc3RhdGUpPT09ImRpc2FibGVkInx8aygpLEE9KCk9PiEhYnx8ISFkPy4oKXx8ISFyPy4oKSxGPSgpPT5fLngoImFuaW1hdGVfaWNvbl9kaXNhYmxlZF9raWxsc3dpdGNoIik/aD8uKCk6aD8uKCkmJiFFKCksQz1fLlBIKCksRz0oKT0+Xy5vSyhhKCksITAsQyxhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSk7cmV0dXJue3R5cGU6KCk9Pm0oKT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIj8idGV4dCI6bSgpPT09Im92ZXJsYXktZGFyayImJmEoKS50eXBlIT09ImZpbGxlZCImJgphKCkudHlwZSE9PSJ0b25hbCI/InRvbmFsIjphKCkudHlwZSx0bjooKT0+KG4oKXx8Zj8uKCkpJiYhaygpLElsOigpPT4hIUEoKSYmbCgpPT09ImxlYWRpbmciLEtsOigpPT4hIUEoKSYmbCgpPT09InRyYWlsaW5nIixKbDooKT0+ISFBKCkmJiEoIWMmJiFlPy4oKSkmJmwoKT09PSJsZWFkaW5nLXRyYWlsaW5nIixFdzp0LEZ3OnYsR3c6eixpY29uQnV0dG9uOigpPT50KCl8fHYoKXx8eigpLGppOkUsdno6KCk9PiFhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSYmcEsoYSgpLEEoKSksbXg6Yj9iOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOnJ9LCgpPT5fLksoImRpdiIse3N0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHtHKCl9cHhgLGhlaWdodDooKT0+YCR7RygpfXB4YH0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5XLHtkYXRhOnJ9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTpEfSk9Pl8uSyhfLnFLLHtkYXRhOkQsc246ITB9KX0pKSksXy5LKF8uREUsCm51bGwsKCk9Pl8uSyhfLk1ELHtpY29uOmQsWnA6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lm1KLHNpemU6RyxhY3RpdmU6KCk9PmEoKS50b2dnbGVkJiYhcD8uKCksYWc6KCk9PnthKCl9LEdlOkZ9KSkpLGFBOmM/YzooKT0+Xy5LKF8uTUQse2ljb246ZSxzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfX0pfX07Cm5LPWZ1bmN0aW9uKGEpe3JldHVybntzaXplOigpPT5hKCkuc2l6ZSxzdHlsZTooKT0+YSgpLnN0eWxlLGZvY3VzZWQ6KCk9PmEoKS5mb2N1c2VkLGRpc2FibGVkOigpPT5hKCkuZGlzYWJsZWQsb25UYXA6Yj0+YSgpLm9uVGFwPy4oYiksb2k6KCk9PmEoKS5vaSx1YzooKT0+YSgpLnVjLGN1c3RvbUNvbG9yczooKT0+YSgpLmN1c3RvbUNvbG9ycyxzZWdtZW50ZWRQb3NpdGlvbjooKT0+YSgpLnNlZ21lbnRlZFBvc2l0aW9uLHRvZ2dsZWQ6KCk9PmEoKS50b2dnbGVkLHRvZ2dsZWFibGU6KCk9PmEoKS50b2dnbGVhYmxlLGFjY2Vzc2liaWxpdHlMYWJlbDooKT0+YSgpLmFjY2Vzc2liaWxpdHlMYWJlbCxIZTooKT0+YSgpLkhlLG9uVG9nZ2xlOmI9PmEoKS5vblRvZ2dsZT8uKGIpLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbixvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLElmOigpPT5hKCkuSWYsQXA6KCk9PmEoKS5BcCx0b29sdGlwVGV4dDooKT0+CmEoKS50b29sdGlwVGV4dCxEbjooKT0+YSgpLkRuLGFyaWFIaWRkZW46KCk9PmEoKS5hcmlhSGlkZGVuLGFyaWFFeHBhbmRlZDooKT0+YSgpLmFyaWFFeHBhbmRlZCx0YWJJbmRleDooKT0+YSgpLnRhYkluZGV4LGJ1dHRvblRleHQ6KCk9PmEoKS5idXR0b25UZXh0LFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYixvbkNsaWNrUmF0ZUxpbWl0TXM6KCk9PmEoKS5vbkNsaWNrUmF0ZUxpbWl0TXMsb25Ib3ZlcjpiPT5hKCkub25Ib3Zlcj8uKGIpLG1pZGRsZWdyb3VuZEFzc2V0OigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXQsQWM6KCk9PmEoKS5BYyxkaXNhYmxlTGlnaHRTaGFwZTooKT0+YSgpLmRpc2FibGVMaWdodFNoYXBlLHVzZU91dGxpbmVkSWNvbjooKT0+YSgpLnVzZU91dGxpbmVkSWNvbn19OwpwSz1mdW5jdGlvbihhLGIpe2I9KGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCIpJiZiO3JldHVybiFhLnNlZ21lbnRlZFBvc2l0aW9uJiZiJiZhLnNpemU9PT0iUyJ9OwpfLm9LPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMoKTtpZihfLngoIndlYl9idXR0b25faWNvbl9zaXplX2V4cGVyaW1lbnQiKSl7YTp7Yz1fLmZLKGU/LihTZWEpKT8/MTI7dmFyIGY9Xy5mSyhlPy4oVGVhKSk/PzE4O2U9Xy5mSyhlPy4ockspKT8/MjQ7bGV0IGg9YS5pY29uUG9zaXRpb249PT0iaWNvbi1vbmx5IiYmIWEuc2VnbWVudGVkUG9zaXRpb258fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCI7c3dpdGNoKGEuc2l6ZSl7Y2FzZSAiWFMiOmE9YzticmVhayBhO2Nhc2UgIlMiOmE9IWQmJnBLKGEsYik/ZTpmO2JyZWFrIGE7Y2FzZSAiTSI6YT1oP2U6ZjticmVhayBhO2RlZmF1bHQ6YT1lfX1yZXR1cm4gYX1jPV8uZksoZT8uKFVlYSkpPz8xNjtmPV8uZksoZT8uKHJLKSk/PzI0O3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjpyZXR1cm4gYztjYXNlICJTIjpyZXR1cm4hZCYmcEsoYSxiKT9mOmM7ZGVmYXVsdDpyZXR1cm4gZn19OwpWZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImZpbGxlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZCI7Y2FzZSAib3V0bGluZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmUiO2Nhc2UgInRvbmFsIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQifX07CldlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiY2FsbC10by1hY3Rpb24iOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24iO2Nhc2UgImNhbGwtdG8tYWN0aW9uLW92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5IjtjYXNlICJtb25vIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyI7Y2FzZSAib3ZlcmxheSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkiO2Nhc2UgIm92ZXJsYXktZGFyayI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZSI7Y2FzZSAibW9uby1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UiO2Nhc2UgImJyYW5kLWdyYWRpZW50IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudCI7CmNhc2UgImdlbi1haS1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQiO2Nhc2UgInJhaXNlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyJ9fTtYZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlhTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIjtjYXNlICJTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMiO2Nhc2UgIkwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTCI7Y2FzZSAiWEwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIn19OwpZZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1fLmhLKCk7Xy5uRSgoKT0+e2ImJihhKCk/Yy5qLnNldChiLHZvaWQgMCk6Yy5qLmRlbGV0ZShiKSxrSyhjKSl9LCJvR1FjaWMiKTtfLll1KCgpPT57Yy5qLmRlbGV0ZShiKTtrSyhjKX0pfX07Xy50Sz1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm5PNWRUZCIpO3JldHVybiBfLllKfTtfLnFLPV8uY0QoKCk9Pl8udEsoKSwiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhbmltYXRlZEFzc2V0Vmlld01vZGVsIiwibk81ZFRkIixfLnRLKX0pO3ZhciBPZWE9e2R1cmF0aW9uOjFFMyxlYXNpbmc6ImVhc2UiLGZpbGw6ImZvcndhcmRzIn0sdUs9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIpLGM9dm9pZCAwLGQ9Xy5OKCgpPT5sSyhhLkpjPy4oKSl8fGxLKGEueGU/LigpKSx2b2lkIDAsInFTREQ5ZCIpLFtlLGZdPV8uSigwLHZvaWQgMCwiU0lnS0RkIik7Xy5vRigoKT0+e2lmKHdpbmRvdy5SZXNpemVPYnNlcnZlciYmXy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpKXtsZXQgaD1uZXcgXy5XdCgoKT0+e3ZhciBsPU1hdGgucm91bmQoKGIudmFsdWUucXVlcnlTZWxlY3RvcigiZGl2Iik/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodD8/MCkqMTAwKS8xMDA7bCYmZihsKX0sNTAwKSxrPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e2gudigpfSk7ay5vYnNlcnZlKGIudmFsdWUpO18uWXUoKCk9PntrLmRpc2Nvbm5lY3QoKTtoLmRpc3Bvc2UoKX0pfX0pO18ubkUoKCk9Pgp7dmFyIGg9Xy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpP2U6YS5CaDtpZihoKCkpe2M/LmNhbmNlbCgpO2lmKGQoKSl7dmFyIGs9YS54ZT8uKCk/TnVtYmVyKGEueGUoKSkrMTA6YS5FZCgpPzA6MzA7YS54Yj8uKCl8fChrLT1tSyhhLkpjPy4oKSxhLnhlPy4oKSxhLkVkKCksaykpfWVsc2UgaWYoaz1hLkVkKCk/MDoyLCFhLnhiPy4oKSl7dmFyIGw9YS5FZCgpPy0xOjE7ay09bH1iLnZhbHVlLnN0eWxlLm1hcmdpblRvcD1gLSR7aypoKCl9cHhgO2EueGI/LigpP2M9UGVhKGIudmFsdWUsYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGssZCgpLGgoKSk6Yi52YWx1ZS5zdHlsZS5kaXNwbGF5PWEuSmM/LigpPyIiOiJub25lIn19LCJOSjRnQSIpO3JldHVybiBfLksoImFuaW1hdGVkLXJvbGxpbmctY2hhcmFjdGVyIix7ZWw6YixjbGFzczoiYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdCJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoWmVhLG51bGwpLFc6KCk9PgpfLksoJGVhLHtKYzphLkpjfSl9KSl9LCJnYSIpO3VLLmlkb21Db21wYXQ9ITA7dmFyIFplYT1fLkwoKCk9Pnt2YXIgYT1bXTtmb3IobGV0IGI9MTtiPDMwO2IrKylhLnB1c2goXy5LKCJkaXYiLG51bGwsYiUxMCkpO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxhLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSl9LCJoYSIpLCRlYT1fLkwoKHtKYzphfSk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLF8uSyhfLk8se0E6KCk9PiFhPy4oKXx8L15bXHNceGEwXSokLy50ZXN0KGE/LigpKSx0aGVuOigpPT5fLksoImRpdiIsbnVsbCwiXHUwMGEwIiksVzooKT0+Xy5LKCJkaXYiLG51bGwsYSl9KSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpLCJpYSIpO3ZhciB2Sz1fLkwoYT0+e3ZhciBiPXZvaWQgMCxjPXZvaWQgMDtfLm5FKCgpPT57Yj1hLlhiKCk7Yz1hLm51bWJlclZhbHVlPy4oKX0sInI3dHFRZCIpO3ZhciBkPV8uTigoKT0+e2lmKCFhLlhiKCkpcmV0dXJuW107dmFyIGU9YS5RcD8uKCl8fCFjfHwhYS5udW1iZXJWYWx1ZT8uKCl8fGM8YS5udW1iZXJWYWx1ZSgpLGY9YS5YYigpLGg9YS5naD8uKCk/YS5oZWlnaHRQeCgpKmEuZ2goKTphLmhlaWdodFB4KCksaz0hIWEueGI/LigpLGw9W10sbT0wLG49MCxwPShiP2IucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLShmP2YucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLHI9Yj9iLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pOltdO2ZvcihmPWYuc3BsaXQoLyhcZCkvKS5maWx0ZXIoQm9vbGVhbik7cDwwOyl7dmFyIHQ9ZltuXTtsLnB1c2goe0pjOnQsRWQ6ZSxCaDpoLHhiOmt9KTtuKys7bEsodCkmJnArK31mb3IoO208cDspdD1yW21dLGwucHVzaCh7eGU6dCxFZDplLApCaDpoLHhiOmt9KSxtKyssbEsodCl8fHArKztmb3IoO248Zi5sZW5ndGg7KXA9ZltuXSx0PXJbbV0sbEsocCk9PT1sSyh0KT8obisrLG0rKyk6bEsocCk/KG0rKyxwPXZvaWQgMCk6bEsodCkmJihuKyssdD12b2lkIDApLGwucHVzaCh7SmM6cCx4ZTp0LEVkOmUsQmg6aCx4YjprfSk7cmV0dXJuIGx9LHZvaWQgMCwid21uSFIiKTtyZXR1cm4gXy5LKCJ5dC1hbmltYXRlZC1yb2xsaW5nLW51bWJlciIse2NsYXNzOiJhbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0IixzdHlsZTooKT0+YS5YYigpP1tgaGVpZ2h0OiAke2EuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpfXB4O2AsYGxpbmUtaGVpZ2h0OiAke2EuaGVpZ2h0UHgoKX1weDtgXS5qb2luKCIgIik6IiIsZGlyOiJsdHIiLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5nRyx7cGE6ZCx0YjoiSU5ERVgifSxlPT5fLksodUsse0pjOigpPT5lKCkuSmMseGU6KCk9PmUoKS54ZSxCaDooKT0+ZSgpLkJoLEVkOigpPT4KZSgpLkVkLHhiOigpPT5lKCkueGJ9KSkpfSwia2EiKTt2Sy5pZG9tQ29tcGF0PSEwO3ZhciBhZmE9WyJtb25vIiwibW9uby1pbnZlcnNlIiwib3ZlcmxheSJdLGJmYT1bImZpbGxlZCJdO3ZhciB3Sz17Y3VwY2FrZToxLjUsZG9udXQ6MS42LGVjbGFpcjoyLGZyb3lvOjIuMixnaW5nZXJicmVhZDoyLjMsaG9uZXljb21iOjMsImljZSBjcmVhbSBzYW5kd2ljaCI6NCxqZWxseWJlYW46NC4xLGtpdGthdDo0LjQsbG9sbGlwb3A6NS4xLG1hcnNobWFsbG93OjYsbm91Z2F0OjcuMX0seEs7YTp7dmFyIHlLPV8uYmMoKTt5Sz15Sy50b0xvd2VyQ2FzZSgpO2lmKHlLLmluZGV4T2YoImFuZHJvaWQiKSE9LTEpe3ZhciB6Sz15Sy5tYXRjaCgvYW5kcm9pZFxzKihcZCsoXC5cZCspPylbXjt8KV0qWzspXS8pO2lmKHpLKXtsZXQgYT1wYXJzZUZsb2F0KHpLWzFdKTtpZihhPDEwMCl7eEs9YTticmVhayBhfX12YXIgQUs9eUsubWF0Y2goIigiK09iamVjdC5rZXlzKHdLKS5qb2luKCJ8IikrIikiKTt4Sz1BSz93S1tBS1swXV06MH1lbHNlIHhLPXZvaWQgMH1fLkJLPXhLPj0wO3ZhciBDSyxGSzt7dmFyIERLPV8uYmMoKTtsZXQgYT1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/Oy8pO2lmKCFhfHxhLmxlbmd0aDwyKUNLPXZvaWQgMDtlbHNle3ZhciBFSz1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/OyAoVTsgKT9DUFUgKGlQaG9uZSApP09TIChcZCtfXGQpW18gXS8pO0NLPUVLJiZFSy5sZW5ndGg9PT02P051bWJlcihFS1s1XS5yZXBsYWNlKCJfIiwiLiIpKTowfX1GSz1DSztfLkdLPUZLPj0wO3ZhciBVZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTkRFTlNFRCJ9LHJLPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT01GT1JUQUJMRSJ9LFNlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfTUlOSSJ9LFRlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NUEFDVCJ9LGNmYT1fLkwoYT0+Xy5LKF8uTyx7QTphLnVjLHRoZW46Yj0+Xy5LKF8ubkgse3VjOmIsZGlzYWJsZWQ6YS5kaXNhYmxlZCxjbGFzc05hbWU6YS5jbGFzc05hbWUsc3R5bGU6YS5zdHlsZSx0aXRsZTphLnRpdGxlLGFyaWFMYWJlbDphLmFyaWFMYWJlbCxIZTphLkhlLGFyaWFDdXJyZW50OigpPT5hLnRvZ2dsZWFibGU/LigpJiYKYS50b2dnbGVkPy4oKSxhcmlhRXhwYW5kZWQ6YS5hcmlhRXhwYW5kZWQscmVmOmEucmVmLG9uSG92ZXI6YS5vbkhvdmVyfSxhLmNoaWxkcmVuKSxXOigpPT5fLksoImJ1dHRvbiIse2VsOl8uckYoYS5yZWYpLCJvbjpjbGljayI6YS5vbkNsaWNrLCJvbjptb3VzZWVudGVyIjphLm9uSG92ZXIsY2xhc3M6YS5jbGFzc05hbWUsdGl0bGU6YS50aXRsZSxzdHlsZTphLnN0eWxlLGRpc2FibGVkOmEuZGlzYWJsZWQsImFyaWEtcHJlc3NlZCI6KCk9PmEudG9nZ2xlYWJsZT8uKCk/ISFhLnRvZ2dsZWQ/LigpOnZvaWQgMCwiYXJpYS1sYWJlbCI6YS5hcmlhTGFiZWwsImFyaWEtZGVzY3JpYmVkYnkiOmEuSGUsImFyaWEtZGlzYWJsZWQiOmEuamksImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImFyaWEtZXhwYW5kZWQiOmEuYXJpYUV4cGFuZGVkLHRhYmluZGV4OigpPT5hLnRhYkluZGV4Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8KMDp2b2lkIDApfSxhLmNoaWxkcmVuKX0pLCJsYSIpLGRmYT1fLkwoKHtkYXRhOmEsSWw6YixKbDpjLEtsOmQsaWNvbkJ1dHRvbjplLGl4OmYsWno6aCxpY29uOmssc2Vjb25kYXJ5SWNvbjpsLFVBOm0sSnk6bixqaTpwLGRpc2FibGVMaWdodFNoYXBlOnJ9KT0+e3ZhciB0PV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSksdj1fLklFKHtjb2xvcjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uaWNvbkNvbG9yfSk7cmV0dXJuIF8uSyhISyx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkaXNwbGF5OiBpbmhlcml0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciJ9LF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IlY0ejFVYyIsQTooKT0+ayYmKGIoKXx8YygpfHxlPy4oKSksdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnYsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJvazNidGIiLEE6KCk9PihhKCkuYnV0dG9uVGV4dHx8CmEoKS5hYnx8YSgpLldhKSYmIWU/LigpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSyhJSyx7Y2xhc3NOYW1lOm0saWNvblBvc2l0aW9uOigpPT5hKCkuaWNvblBvc2l0aW9uLHRleHQ6KCk9PmEoKS5idXR0b25UZXh0LG9uZU9mZkN1c3RvbVRleHRXcmFwOigpPT5hKCkub25lT2ZmQ3VzdG9tVGV4dFdyYXAsV2E6KCk9PmEoKS5XYSxhYjooKT0+YSgpLmFifSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiRE81UnoiLEE6ZCx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6dn0saz8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImJub2pTYyIsQTpjLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTp2fSxsPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiSE4za2FkIixBOigpPT4hYSgpLmRpc2FibGVkJiYhKHQ/LldvJiYhcD8uKCkpLHRoZW46KCk9Pl8uSyhfLmpLLHttb2RlbDooKT0+e3ZhciB6PQphKCk7cmV0dXJue2NvbG9yOnouc3R5bGU9PT0ib3ZlcmxheS1kYXJrIj80Onouc3R5bGU9PT0ib3ZlcmxheSI/ei50eXBlPT09ImZpbGxlZCI/NDozOnoudHlwZT09PSJmaWxsZWQifHx6LnN0eWxlPT09ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifHx6LnN0eWxlPT09Im1vbm8taW52ZXJzZSI/MjoxfX19KX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5taWRkbGVncm91bmRBc3NldH0se2FuaW1hdGVkQXNzZXRWaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKF8ucUsse2RhdGE6eixjbGFzc05hbWU6bixzbjohMH0pfSksXy5LKF8uTyx7QTooKT0+dD8uSXUmJiFwPy4oKSYmIXI/LigpLHRoZW46KCk9Pl8uSyhfLnlFLHtjb25maWc6KCk9Pnt2YXIgej1hKCksRT16LnN0eWxlLEE9ei50eXBlLEY9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtyZXR1cm57VmE6UWVhKEUsQSksams6Rj8uVm8mJkE9PT0idG9uYWwiLGV2OnouY3VzdG9tQ29sb3JzPy5iYWNrZ3JvdW5kQ29sb3IsZHY6ei5jdXN0b21Db2xvcnM/LmJvcmRlckNvbG9yLApDQjpGPy5Xb319fSl9KSl9LCJtYSIpLElLPV8uTChhPT57dmFyIGI9KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwifHxhLm9uZU9mZkN1c3RvbVRleHRXcmFwPy4oKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLmNsYXNzTmFtZSwiYXJpYS1oaWRkZW4iOigpPT5hLmFyaWFIaWRkZW4/LigpJiYoISFhLmFiPy4oKXx8ISFhLldhPy4oKSl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEuYWI/LigpfSwoKT0+Xy5LKHZLLHtYYjooKT0+YS5hYigpLlhiLG51bWJlclZhbHVlOigpPT5hLmFiKCkubnVtYmVyVmFsdWUsaGVpZ2h0UHg6KCk9PmEuYWIoKS5oZWlnaHRQeCxnaDooKT0+YS5hYigpLmdoLHhiOigpPT5hLmFiKCkueGIsUXA6KCk9PmEuYWIoKS5RcH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YS5XYT8uKCl9LCgpPT5fLksoXy5WLHt0ZXh0OigpPT4oey4uLmEuV2EoKSxsaW5lQnJlYWtNb2RlOmIoKT8iTElORV9CUkVBS19NT0RFX0JZX1dPUkRfV1JBUFBJTkciOgphLldhKCkubGluZUJyZWFrTW9kZSxhbGlnbm1lbnQ6YigpPyJURVhUX0FMSUdOTUVOVF9DRU5URVIiOmEuV2EoKS5hbGlnbm1lbnR9KSx1YjohMCxub1dyYXA6KCk9PiFiKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwiJiZhLnRleHQ/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEudGV4dCgpLGxpbmVCcmVha01vZGU6IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIixhbGlnbm1lbnQ6IlRFWFRfQUxJR05NRU5UX0NFTlRFUiJ9KSx1YjohMCxub1dyYXA6ITF9KSksXy5LKF8uREUsbnVsbCwoKT0+YS50ZXh0KSkpfSwibmEiKSxlZmE9Xy5MKGE9Pl8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImtNN1NnYyIsQTphLmhhc0xhYmVsLHRoZW46KCk9Pl8uSygibGFiZWwiLHtjbGFzczphLmNsYXNzTmFtZX0sYS5jaGlsZHJlbixhLnRleHRDb250ZW50Py4oKSksVzooKT0+YS5jaGlsZHJlbn0pLCJvYSIpLApISz1fLkwoYT0+YS5jaGlsZHJlbiwicGEiKTtfLkpLPV8uTCgoe2RhdGE6YSxpY29uOmIsaWNvbk5hbWU6YyxHZTpkLHNlY29uZGFyeUljb246ZSxRcjpmLFhJOmgsYXA6a30pPT57Xy5tRygpO3ZhciB7c2l6ZTpsLHN0eWxlOm0sZGlzYWJsZWQ6bixvblRhcDpwLG9pOnIsdWM6dCxjdXN0b21Db2xvcnM6dixzZWdtZW50ZWRQb3NpdGlvbjp6LHRvZ2dsZWQ6RSx0b2dnbGVhYmxlOkEsYWNjZXNzaWJpbGl0eUxhYmVsOkYsb25Ub2dnbGU6QyxpY29uUG9zaXRpb246RyxvbmVPZmZDdXN0b21UZXh0V3JhcDpELElmOkgsQXA6Uix0b29sdGlwVGV4dDpNLERuOlMsYXJpYUhpZGRlbjpZLGFyaWFFeHBhbmRlZDpwYSx0YWJJbmRleDpvYSxidXR0b25UZXh0OlUsV2E6aGEsYWI6bWEsb25DbGlja1JhdGVMaW1pdE1zOnRhLG9uSG92ZXI6VCxtaWRkbGVncm91bmRBc3NldDpiYSxkaXNhYmxlTGlnaHRTaGFwZTphYX09bksoYSkse3R5cGU6T2EsdG46SmIsSWw6emEsS2w6TGIsSmw6Y2MsRXc6bGMsRnc6VmIsR3c6dGQsaWNvbkJ1dHRvbjpCZSwKamk6YWQsdno6bnMsbXg6TWcsYUE6WkJ9PVJlYShhLGIsZSxjLGYsaCxkKSxbZmZhXT1fLmJLKE0sUyksTFQ9cmI9PntwPy4ocmIpO0EoKSYmQz8uKHJiKX0sTVQ9Xy5OKCgpPT50YT8uKCksdm9pZCAwLCJzaUt5d2IiKSxnZmE9Xy5OKCgpPT5NVCgpP05lYShMVCxNVCgpKTpMVCx2b2lkIDAsIndEVGNOIiksJEI9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtiPV8uTigoKT0+YmEoKXx8JEI/Lkl1LHZvaWQgMCwielVRUk9lIik7dmFyIGhmYT1ZZWEoKCk9Pnt2YXIgcmI9bSgpLGFpPU9hKCk7cmV0dXJuISFfLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpPy5WbyYmYWZhLmluY2x1ZGVzKHJiKSYmYmZhLmluY2x1ZGVzKGFpKX0pO3JldHVybiBfLksoZWZhLHtjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3QiLHt5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheTooKT0+bSgpPT09Im92ZXJsYXkifHxtKCk9PT0ib3ZlcmxheS1kYXJrIn0pLGhhc0xhYmVsOnRkLAp0ZXh0Q29udGVudDooKT0+Xy5LKElLLHt0ZXh0OlUsY2xhc3NOYW1lOiJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsIixhcmlhSGlkZGVuOiEwLG9uZU9mZkN1c3RvbVRleHRXcmFwOkQsaWNvblBvc2l0aW9uOkcsV2E6aGEsYWI6bWF9KX0sXy5LKGNmYSx7dWM6dCxjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0IiwoKT0+VmVhKE9hKCkpLCgpPT5hZCgpP3ZvaWQgMDpXZWEobSgpKSwoKT0+WGVhKGwoKSkse3l0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkOmFkLHl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6SmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nOkxiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nOnphLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmc6Y2MseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dDooKT0+Y2MoKSYmIShVKCl8fGhhKCkpLAp5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uOigpPT5sYygpfHx0ZCgpLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdDpWYix5dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dDpyLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OigpPT56KCk9PT0ic3RhcnQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZDooKT0+eigpPT09ImVuZCIseXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uOm5zLHl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyOkQseXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZVRleHRFbGxpcHNpczpILHl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudDooKT0+e3ZhciByYjtpZihyYj0hUigpKSEocmI9Xy5HSyYmRks+PTE0KSYmKHJiPV8uQkspJiYocmI9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5Pj0KOCkscmI9cmI/IV8ueCgid2ViX2Rpc2FibGVfYmFja2Ryb3BfZmlsdGVyIik6ITE7cmV0dXJuIHJifSx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2U6KCk9PiEhJEI/LldvJiYhYWQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTooKT0+Xy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50IikseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZzooKT0+Xy54KCJ3ZWJfYnV0dG9uX21haW5zdGFnZV9wYWRkaW5nIil9KSxzdHlsZTooKT0+e3ZhciByYj12KCk7aWYocmIpe3ZhciBhaT1yYi5jb2xvcjt2YXIgTlQ9cmIuYmFja2dyb3VuZENvbG9yO3JiPXJiLmJvcmRlckNvbG9yO3ZhciBwcz0iIjthaSYmKHBzKz1gY29sb3I6ICR7YWl9O2ApO05UJiYocHMrPWBiYWNrZ3JvdW5kLWNvbG9yOiAke05UfTtgKTtyYiYmKHBzKz1gYm9yZGVyLWNvbG9yOiAke3JifTtgKTthaT17c3R5bGU6cHN9fWVsc2UgYWk9Cnt9O3JldHVybiBhaS5zdHlsZX0sb25DbGljazpyYj0+e2dmYSgpKHJiKX0sb25Ib3ZlcjpyYj0+e1Q/LihyYil9LGRpc2FibGVkOm4sYXJpYUxhYmVsOkYsdG9nZ2xlYWJsZTpBLHRvZ2dsZWQ6RSx0aXRsZTooKT0+IWs/LigpJiZNKCk/TSgpOiIiLGppOmFkLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EscmVmOnJiPT57JEI/LlZvJiZoZmEocmIpO2s/LigpJiZmZmEocmIpfX0sXy5LKGRmYSx7ZGF0YTphLElsOnphLEpsOmNjLEtsOkxiLGljb25CdXR0b246QmUsaWNvbjpNZyxVQTpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50Iix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxpeDpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLFp6Ol8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbiIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksCnNlY29uZGFyeUljb246WkIsSnk6Inl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0IixqaTphZCxkaXNhYmxlTGlnaHRTaGFwZTphYX0pKSl9LCJyYSIpO18uSksuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntpY29uOiEwLHNlY29uZGFyeUljb246ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExkYSxNZGEsTmRhLE9kYTtMZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlZILlRlKCkuZ2V0U3RhdGUoKTtyZXR1cm4gYj9hKGMsLi4uYik6YShjKX07Xy5YSD1mdW5jdGlvbigpe2lmKFdIKXJldHVybiBXSDt2YXIgW2EsLGJdPV8uSigwLHZvaWQgMCwiTUIxSGIiKTtfLlZILlRlKCkuc3Vic2NyaWJlKCgpPT57TWRhKGIpfSk7cmV0dXJuIFdIPWF9O01kYT1mdW5jdGlvbihhKXtZSHx8KFlIPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthKGI9PmIrMSk7WUg9ITF9KSl9O18uWkg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5WSC5wdygpKGEsYil9O18uYkk9bmV3IF8uVnMoIlNUQVRFX1NUT1JFX1RPS0VOIik7TmRhPW5ldyBfLlZzKCJTRUxFQ1RfVE9LRU4iKTtPZGE9bmV3IF8uVnMoIkRJU1BBVENIX1RPS0VOIik7dmFyIFdILFlIO18uVkg9e3B3OigpPT5fLnkoKS5yZXNvbHZlKF8uSW4oTmRhKSk/P0xkYSxtdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE9kYSkpPz9fLlZILlRlKCkuZGlzcGF0Y2guYmluZChfLlZILlRlKCkpLFRlOigpPT5fLnkoKS5yZXNvbHZlKF8uYkkpfTtZSD0hMTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jST1mdW5jdGlvbihhKXtyZXR1cm4gXy5OKCgpPT57Xy5YSCgpKCk7cmV0dXJuIF8uWkgoYSl9LHtkZWJ1Z05hbWU6ImQ4QjYyYyJ9LCJERVhraGQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpZmEsamZhLE9LLE5LLG5mYSxSSyxvZmEscGZhLFRLLHFmYSxyZmEsU0ssc2ZhLHRmYSx1ZmEsdmZhO2lmYT1mdW5jdGlvbihhLGIpe2IuZm9yRWFjaChjPT57dmFyIGQ9bnVsbDtjP2Q9Yy5hcHBseShudWxsLGEuYXJncyk6KGM9RXJyb3IoInJkIiksYy5wYXJhbXM9YS5hY3Rpb25OYW1lLF8uVWkoYykpO2EucmV0dXJuVmFsdWUucHVzaChkKX0pfTtqZmE9ZnVuY3Rpb24oYSxiLGMpe2IuZm9yRWFjaChkPT57dmFyIGU9Xy5SSihkKTtlJiYoZD1uZXcgXy5PSihlLCEwLFtkLGMsdm9pZCAwXSksKGU9YS5qLmdldChkLmFjdGlvbk5hbWUpKSYmaWZhKGQsZSksZC5qfHxkLnJldHVyblZhbHVlLmxlbmd0aCE9PTB8fChkPW5ldyBfLlhqKCJVbmhhbmRsZWQgYWN0aW9uIixkLmFjdGlvbk5hbWUpLF8uV2koZCkpKX0pfTtfLktLPWZ1bmN0aW9uKGEpe3JldHVybihhJjQyNzgxOTAwODApPj4+MjQ9PT0wP18uaUUoYSwiMSIpOl8uTkQoYSl9OwpfLk1LPWZ1bmN0aW9uKCl7TEt8fChMSz1uZXcga2ZhKTtyZXR1cm4gTEt9O09LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbixlPWMuZWxlbWVudDtlJiZkJiYobGZhLmluY2x1ZGVzKGIpfHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCJ8fGEuRCYmYS5ELkFKKGUpP05LKGEsYixjKTphLnYmJihhLm98fChhLm89bmV3IFdlYWtNYXApLGQ9YS52Lm9ic2VydmUoZSwoKT0+e05LKGEsYixjKTthLm8uZGVsZXRlKGUpfSx7VmI6ITAsc3RhdGU6InZpc2libGUifSksYS5vLnNldChlLGQpKSl9O18uUEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkIuZ2V0KGIpO2lmKGMpe3ZhciBkPWEuai5nZXQoYyk7ZCYmKGRlbGV0ZSBkLmVsZW1lbnQsYS5qLnNldChjLGQpKTthLkIuZGVsZXRlKGIpO2EudiYmYS5vJiYoYz1hLm8uZ2V0KGIpKSYmKGEudi5yZihjKSxhLm8uZGVsZXRlKGIpKX19OwpfLlFLPWZ1bmN0aW9uKGEsYixjKXtfLlBLKGEsYyk7dmFyIGQ9YS5qLmdldChiKTtkfHwoZD17fSxhLmouc2V0KGIsZCkpO2QuZWxlbWVudD1jO2EuQi5zZXQoYyxiKTtPSyhhLGIsZCl9O05LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbjsoYz1jLmVsZW1lbnQpJiZkJiYoamZhKGEuSyxbZF0sYyksYS5qLmRlbGV0ZShiKSxhLkIuZGVsZXRlKGMpLGEuWS5hZGQoYikpfTsKbmZhPWZ1bmN0aW9uKGEsYixjKXtpZihjJiZiKXN3aXRjaChjKXtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuKGE9Xy5ISChhLGIpKT97aXNIaWRkZW46YS5hZHNTdGF0ZT09PSJBRFNfU1RBVEVfTk9ORSJ8fGEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX1VOS05PV04ifTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DSEFUQk9UX1BFTkRJTkdfUkVTUE9OU0UiOnJldHVybntpc0hpZGRlbjohMSxpc0Rpc2FibGVkOiEhXy5xQShhLmVudGl0aWVzLCJ5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5IixiKT8uaXNQZW5kaW5nUmVzcG9uc2V9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9CT09MRUFOX0RJU0FCTEVEIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8uSUgoYSxiKT8udmFsdWV9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZIjpyZXR1cm4gYT0KXy5xQShhLmVudGl0aWVzLCJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5IixiKT8uc3RhdGUsYT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1BFTkRJTkciP3tpc0hpZGRlbjohMSxhcmlhRGlzYWJsZWQ6ITAsYXJpYUJ1c3k6ITAsYWNjZXNzaWJpbGl0eUxhYmVsOiJHZW5lcmF0aW5nIHN1bW1hcnkuLi4iLGljb25OYW1lOnZvaWQgMCxBYzptZmF9OmE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9VTlJFQUQifHxhPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfRkFJTEVEIj8oYT1hPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEIix7aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFjY2Vzc2liaWxpdHlMYWJlbDphPyJVbnJlYWQgc3VtbWFyeSI6IkZhaWxlZCB0byBnZW5lcmF0ZSBzdW1tYXJ5IixpY29uTmFtZToiWVRJQ09OX0ZJTExfRE9UX1MyNCIsCkFjOnZvaWQgMCwuLi4oYSYme2N1c3RvbUNvbG9yczp7Y29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIixpY29uQ29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIn19KX0pOntpc0hpZGRlbjohMH07Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NPTU1FUkNFX1RPS0VOX0JBTEFOQ0UiOnJldHVybiBhPV8ucUEoYS5lbnRpdGllcywiY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkiLGIpLGE/LnNlcnZlclRva2VuQmFsYW5jZSE9bnVsbD8oYT1OdW1iZXIoYS5zZXJ2ZXJUb2tlbkJhbGFuY2UpLGE9aXNOYU4oYSk/dm9pZCAwOlN0cmluZyhhLzFFNikse2lzSGlkZGVuOiExLFdhOmE/e2NvbnRlbnQ6YX06dm9pZCAwfSk6e2lzSGlkZGVuOiExfTtkZWZhdWx0OnJldHVybntpc0hpZGRlbjohMX19fTsKUks9ZnVuY3Rpb24oYSl7cmV0dXJue3RleHQ6YS50b29sdGlwVGV4dD8/IiIsbG9jYXRpb246b2ZhKGEucGxhY2VtZW50KSxzdHlsZTphLnN0eWxlLGhvdGtleTphLmhvdGtleX19O29mYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9CT1RUT00iOnJldHVybiJib3R0b20iO2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfVE9QIjpyZXR1cm4idG9wIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX0xFRlQiOnJldHVybiJsZWZ0IjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1JJR0hUIjpyZXR1cm4icmlnaHQiO2RlZmF1bHQ6cmV0dXJuImJvdHRvbSJ9fTsKcGZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5SRChhPy5vblRhcCksZD17fTtjJiYoZC5iSj0oKT0+U0soYSxjLGI/LnZhbHVlPy52aXN1YWxFbGVtZW50KSk7ZD1fLmJFKHtiaDphLm9uVGFwLHFkOiEwLEFvOmR9KTtyZXR1cm4gZD8uaHJlZj9kOnZvaWQgMH07VEs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjPXtyQzpjfTtfLmRLKGEse2Zvcm06e2N1cnJlbnREYXRhOmMsc291cmNlRGF0YTpjLGVsZW1lbnQ6YixldmVudDpkfSwuLi5lfSl9OwpxZmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj12b2lkIDA7cmV0dXJuIGg9Pnt2YXIgaz1fLlJEKGM/YT8ub25EaXNhYmxlZFRhcDphPy5vblRhcCk7aWYoaylpZihmPWY/P2I/LnZhbHVlLF8ueCgid2ViX2J1dHRvbl92bV9jbGlja19jbGllbnRfdmVfa2lsbHN3aXRjaCIpKVRLKGssZixhLGgpO2Vsc2V7bGV0IGw9U0soYSxrLGY/LnZpc3VhbEVsZW1lbnQpO2lmKGUpe1RLKGssZSxhLGgse2NsaWNrZWRWaXN1YWxFbGVtZW50OmwsZm9ybTp7ZWxlbWVudDplfX0pO3JldHVybn1USyhrLGYsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsfSl9ZCYmZChoKX19O3JmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwO3JldHVybiBlPT57dmFyIGY9Xy5SRChhPy5vbkhvdmVyKTtmJiYoZD1kPz9iPy52YWx1ZSxjP1RLKGYsYyxhLGUse2Zvcm06e2VsZW1lbnQ6Y319KTpUSyhmLGQsYSxlKSl9fTsKU0s9ZnVuY3Rpb24oYSxiLGMpe2I9Yj8uY2xpY2tUcmFja2luZ1BhcmFtczthPWE/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZTtpZihjJiZhJiYhYilyZXR1cm4gY307CnNmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQ1RBIjpyZXR1cm4iY2FsbC10by1hY3Rpb24iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iOmNhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EIjpyZXR1cm4ibW9ubyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSSyI6cmV0dXJuIm92ZXJsYXktZGFyayI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfR1JBRElFTlQiOnJldHVybiJicmFuZC1ncmFkaWVudCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfQUkiOnJldHVybiJnZW4tYWktZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX1JBSVNFRCI6cmV0dXJuInJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ibW9ubyJ9fTsKdGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCVVRUT05fVklFV19NT0RFTF9UWVBFX0ZJTExFRCI6cmV0dXJuImZpbGxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9PVVRMSU5FIjpyZXR1cm4ib3V0bGluZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUIjpyZXR1cm4idGV4dCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9UT05BTCI6cmV0dXJuInRvbmFsIjtkZWZhdWx0OnJldHVybiJ0ZXh0In19O3VmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfQUNUSVZFIjpyZXR1cm4iYWN0aXZlIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSI6cmV0dXJuImRpc2FibGVkIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9ESVNBQkxFRCI6cmV0dXJuImRpc2FibGVkIjtkZWZhdWx0OnJldHVybiJhY3RpdmUifX07CnZmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9YU01BTEwiOnJldHVybiJYUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUIjpyZXR1cm4iUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9ERUZBVUxUIjpyZXR1cm4iTSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRSI6cmV0dXJuIkwiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWExBUkdFIjpyZXR1cm4iWEwiO2RlZmF1bHQ6cmV0dXJuIk0ifX07dmFyIGxmYT1bImJyb3dzZS12aWRlby1tZW51LWJ1dHRvbiIsInVuaWZpZWQtdmVyaWZpZWQtYmFkZ2UiLCJ0b3BiYXItZ3VpZGUtbWVudSJdLGtmYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuSz1fLlNKLmpjKCk7dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBXZWFrTWFwO3RoaXMuWT1uZXcgU2V0fWRpc3Bvc2UoKXt0aGlzLkQmJl8uY2YodGhpcy5ELCJ5dC12aXNpYmlsaXR5LW1vbml0b3ItcmVmcmVzaGVkIix0aGlzLkksITEsdGhpcyk7dGhpcy52JiZ0aGlzLnYuZGlzcG9zZSgpfUkoKXtmb3IobGV0IFthLGJdb2YgdGhpcy5qLmVudHJpZXMoKSlPSyh0aGlzLGEsYil9fSxMSzt2YXIgbWZhPXthbmltYXRlZEFzc2V0Vmlld01vZGVsOntnZW5lcmljQmVoYXZpb3I6e2F1dG9wbGF5OiEwLGxvb3A6ITB9LGxvdHRpZUFzc2V0Ont0aGVtZWRVcmw6e2xpZ2h0OiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24iLGRhcms6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS95b3VjaGF0X2FuaW1hdGlvbnMvcHJvZ3Jlc3NfaW5kaWNhdG9yX3NvbG9fdjEuanNvbiJ9fX19O3ZhciB3ZmE9WyJ5b3UtY2hhdC1lbnRyeXBvaW50LWJ1dHRvbiJdOwpfLkhEPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixzdHlsZTpjLGJ1dHRvbk92ZXJyaWRlczpkLGFiOmUsb25DbGljazpmLHRhcmdldDpofSk9Pnt2YXIgaz1fLnVFKCJidXR0b24tdmlldy1tb2RlbCIsRD0+e0QuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInl0LXJlbmRlcmlkb20tZmluaXNoZWQiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KSk7dmFyIEg9YSgpLnRhcmdldElkO0gmJl8uUUsoXy5NSygpLEgsRCk7cmV0dXJuKCk9PntfLlBLKF8uTUsoKSxEKX19KSxsPV8uY0koRD0+bmZhKEQsYSgpPy5lbnRpdHlLZXksYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUpKSxtPSgpPT5hKCk/LmVudGl0eUtleSYmYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGU/bCgpOnZvaWQgMCxuPSgpPT5fLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX193ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfZW50aXR5X292ZXJyaWRlcyIpP20oKTp2b2lkIDAscD0KKCk9Pnt2YXIgRD1uKCk7aWYoRD8uaWNvbk5hbWUhPT12b2lkIDApcmV0dXJuIEQuaWNvbk5hbWU7aWYoRD8uQWM9PT12b2lkIDApcmV0dXJuIGEoKT8uaWNvbk5hbWV8fGEoKT8ueXRJY29ufSxyPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLHQ9KCk9Pnt2YXIgRD1kPy4oKSxIPW0oKSxSPW4oKSxNPUQ7YSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUmJihNPXsuLi5ELGRpc2FibGVkOiEhSD8uaXNEaXNhYmxlZHx8ISFEPy5kaXNhYmxlZH0pO0Q9YSgpO3ZhciBTPU0sWT1lPy4oKSxwYT1SPy5hcmlhRGlzYWJsZWR8fEg/LmlzRGlzYWJsZWR8fFI/LmFyaWFCdXN5fHxNPy5kaXNhYmxlZD92b2lkIDA6ZjtNPWg/LigpO2lmKEQpe3ZhciBvYT10ZmEoRC50eXBlKTt2YXIgVT0hIUQudGl0bGV8fCEhRC50aXRsZUZvcm1hdHRlZDt2YXIgaGE9ISEoRC5pY29uTmFtZXx8RC5pY29uSW1hZ2V8fEQueXRJY29ufHxELmxlYWRpbmdBc3NldCk7VT1oYSYmIVU/Imljb24tb25seSI6CmhhP0QuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9WSUVXX01PREVMX0lDT05fUE9TSVRJT05fQUJPVkUiPyJpY29uLXdpdGgtbGFiZWwiOkQuaWNvblRyYWlsaW5nfHxELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX1RSQUlMSU5HIj8idHJhaWxpbmciOiJsZWFkaW5nIjp2b2lkIDA7VT09PSJpY29uLW9ubHktNDAiJiYob2E9InRleHQiKTtoYT1TPy5zdGF0ZT8/dWZhKEQuc3RhdGUpO3ZhciBtYT1TPy5kaXNhYmxlZD8/KEQuc3RhdGU9PT0iQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQifHxELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0lOQUNUSVZFIik7Xy54KCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIikmJihtYT1TPy5kaXNhYmxlZD8/aGE9PT0iZGlzYWJsZWQiKTtZPVkmJlkuWGImJiFpc05hTihOdW1iZXIoWS5udW1iZXJWYWx1ZSkpP1k6dm9pZCAwO3ZhciB0YT1ELnRpdGxlLFQ9RC50aXRsZUZvcm1hdHRlZCwKYmE9RC5hY2Nlc3NpYmlsaXR5VGV4dCxhYT1zZmEoRC5zdHlsZSksT2E9dmZhKEQuYnV0dG9uU2l6ZSk7cGE9cWZhKEQsayxtYSxwYSxNKTt2YXIgSmI9bWEmJiFELm9uRGlzYWJsZWRUYXAsemE9cGZhKEQsayksTGI9RC5jdXN0b21Gb250Q29sb3IsY2M9RC5jdXN0b21CYWNrZ3JvdW5kQ29sb3I7dmFyIGxjPUQuY3VzdG9tQm9yZGVyQ29sb3I7bGV0IHRkPUQuY3VzdG9tRGFya1RoZW1lRm9udENvbG9yLEJlPUQuY3VzdG9tRGFya1RoZW1lQmFja2dyb3VuZENvbG9yO3ZhciBWYj1ELmN1c3RvbURhcmtUaGVtZUJvcmRlckNvbG9yO0xiPXImJnRkP3RkOkxiO2NjPXImJkJlP0JlOmNjO2xjPXImJlZiP1ZiOmxjO2xjPXtjb2xvcjpMYj9fLk5EKExiKTp2b2lkIDAsYmFja2dyb3VuZENvbG9yOmNjP18uTkQoY2MpOnZvaWQgMCxib3JkZXJDb2xvcjpsYz9fLk5EKGxjKTp2b2lkIDB9O1ZiPV8uQihELnRvb2x0aXBEYXRhLF8uY0spO2NjPV8uQihELmRpc2FibGVkVG9vbHRpcERhdGEsXy5jSyk7CkQ9e2J1dHRvblRleHQ6dGEsV2E6VCxhYjpZLGFjY2Vzc2liaWxpdHlMYWJlbDpiYSxzdHlsZTphYSx0eXBlOm9hLHN0YXRlOmhhLHNpemU6T2EsaWNvblBvc2l0aW9uOlUsb25UYXA6cGEsZGlzYWJsZWQ6SmIsdWM6emEsY3VzdG9tQ29sb3JzOmxjLHRvb2x0aXBUZXh0OkQudG9vbHRpcCxEbjptYSYmY2M/UksoY2MpOlZiP1JLKFZiKTp2b2lkIDAsb25Ib3ZlcjpyZmEoRCxrLE0pLG1pZGRsZWdyb3VuZEFzc2V0OkQubWlkZGxlZ3JvdW5kQXNzZXQsQWM6RC5sZWFkaW5nQXNzZXQsLi4uU319ZWxzZSBEPXtzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9O0QuZm9jdXNlZD1GKCk7Uj8uYWNjZXNzaWJpbGl0eUxhYmVsIT09dm9pZCAwJiYoRC5hY2Nlc3NpYmlsaXR5TGFiZWw9Ui5hY2Nlc3NpYmlsaXR5TGFiZWwpO1I/LmN1c3RvbUNvbG9ycyE9PXZvaWQgMCYmKEQuY3VzdG9tQ29sb3JzPVIuY3VzdG9tQ29sb3JzKTtSPy5BYyE9PXZvaWQgMD8oRC5BYz0KUi5BYyxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik6Uj8uaWNvbk5hbWUhPT12b2lkIDAmJihELkFjPXZvaWQgMCxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik7SD8uV2EmJihELldhPUguV2EpO3JldHVybiBEfSx2PV8uUEgoKSx6PSgpPT57dmFyIEQ9dCgpO3JldHVybiBfLm9LKEQsISFwKCl8fCEhRC5BYyx2KX0sW0UsQV09Xy5KKCExLHZvaWQgMCwiUHBuTkEiKSxGPUU7Xy5uRSgoKT0+e3ZhciBEPV8uQihhKCk/Lm9uVmlzaWJsZSxfLk9EKTtEJiZfLmFFKEQse21kOiEwfSl9LCJlZmV1eSIpO3ZhciBDPSgpPT57dmFyIEQ9YSgpPy5pY29uSW1hZ2U7cmV0dXJuIEQ/e3NvdXJjZXM6W0RdfTp2b2lkIDB9LEc9SFRNTEVsZW1lbnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJwb3BvdmVyIik7cmV0dXJuIF8uSygiYnV0dG9uLXZpZXctbW9kZWwiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjQnV0dG9uVmlld01vZGVsSG9zdCIsYiwoKT0+e3ZhciBEPWEoKT8udGFyZ2V0SWQ7CmlmKEQpcmV0dXJuIHdmYS5pbmNsdWRlcyhEKT9EOnZvaWQgMH0pLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk7RCYmQShELlhlKCkpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QSghMSl9LCJhcmlhLWRpc2FibGVkIjooKT0+bigpPy5hcmlhRGlzYWJsZWQ/InRydWUiOnZvaWQgMCwiYXJpYS1idXN5IjooKT0+bigpPy5hcmlhQnVzeT8idHJ1ZSI6dm9pZCAwfSxfLksoXy5PLHtBOigpPT4hKG0oKT8uaXNIaWRkZW4/PyExKSx0aGVuOigpPT5fLksoXy5PLHtBOkMsdGhlbjpEPT5fLksoXy5KSyx7ZGF0YTp0LGljb246KCk9Pl8uSyhfLmpGLHtkYXRhOkQsYWx0OiIiLEFiOnosZGM6eixUYTohMCxZYTohMH0pLGFwOkd9KSxXOigpPT5fLksoXy5KSyx7ZGF0YTp0LGljb25OYW1lOnAsR2U6KCk9PiEhYz8uKCk/LmFuaW1hdGVJY29uLGFwOkd9KX0pfSkpfSwidGEiKTtfLkhELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJEbHZGMWQiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5ZQz1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5Q29udGV4dCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNMPW5ldyBfLkkoImF2YXRhclZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFGPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLGM9YS5kYXJrVGhlbWVJbWFnZT8/YS5pbWFnZTtyZXR1cm4gYj9jOmEuaW1hZ2V9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5SRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJhcTRjYiIpO3JldHVybiBfLklEfTtfLlNGPV8uY0QoKCk9Pl8uUkYoKSwiYXZhdGFyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImF2YXRhclZpZXdNb2RlbCIsIlJhcTRjYiIsXy5SRil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy4kRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlB6VWRaYiIpO3JldHVybiBfLkVEfTtfLmFHPV8uY0QoKCk9Pl8uJEYoKSwiYmFkZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VWaWV3TW9kZWwiLCJQelVkWmIiLF8uJEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXcWxjVmIiKTtyZXR1cm4gXy54RH07Xy52TD1fLmNEKCgpPT5fLnVMKCksImRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiLCJXcWxjVmIiLF8udUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ud0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1aGxMR2IiKTtyZXR1cm4gXy53RH07Xy54TD1fLmNEKCgpPT5fLndMKCksImZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiLCJ1aGxMR2IiLF8ud0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ueUw9ZnVuY3Rpb24oKXtpZighKCJtYXRjaE1lZGlhImluIHdpbmRvdykpcmV0dXJuIF8uV2koRXJyb3IoInRkIikpLCgpPT4wO3ZhciBhPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA1MjcuOXB4KSIpLGI9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDUyOHB4KSBhbmQgKG1heC13aWR0aDogODM5LjlweCkiKSxjPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSIpLGQ9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEwMjRweCkiKSxbZSxmXT1fLkooYS5tYXRjaGVzLHZvaWQgMCwiVG1JS2NiIiksW2gsa109Xy5KKGIubWF0Y2hlcyx2b2lkIDAsIlowZlRLZCIpLFtsLG1dPV8uSihjLm1hdGNoZXMsdm9pZCAwLCJ3NHh5N2IiKSxbbixwXT1fLkooZC5tYXRjaGVzLHZvaWQgMCwiRHJiTkMiKSxyPUU9PntmKEUubWF0Y2hlcyl9LHQ9RT0+e2soRS5tYXRjaGVzKX0sdj1FPT57bShFLm1hdGNoZXMpfSwKej1FPT57cChFLm1hdGNoZXMpfTtfLlVKKCgpPT57YS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEuYWRkTGlzdGVuZXImJihhLmFkZExpc3RlbmVyKHIpLGIuYWRkTGlzdGVuZXIodCksYy5hZGRMaXN0ZW5lcih2KSxkLmFkZExpc3RlbmVyKHopKTtfLll1KCgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyPyhhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEucmVtb3ZlTGlzdGVuZXImJihhLnJlbW92ZUxpc3RlbmVyKHIpLGIucmVtb3ZlTGlzdGVuZXIodCksYy5yZW1vdmVMaXN0ZW5lcih2KSwKZC5yZW1vdmVMaXN0ZW5lcih6KSl9KX0pO3JldHVybigpPT5lKCk/MTpoKCk/MjpsKCk/MzpuKCk/NDowfTtfLkFMPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oekwpKSxbZSxmXT1fLkooZCx2b2lkIDAsInhHc1JRIik7ZHx8Xy5ZdCh6TCxmKTtyZXR1cm4gXy5OKCgpPT57dmFyIGg9YSgpO3JldHVybiBoJiZiKCk/ZSgpPy4oaCxiLGMpOnZvaWQgMH0sdm9pZCAwLCJic29zZGQiKX07dmFyIHpMPW5ldyBfLlZzKCJTRU1BTlRJQ19UWVBPR1JBUEhZX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEg9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pl8uQihhKCksXy5ZQyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQkw9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/YS5kYXJrVGhlbWU6YS5saWdodFRoZW1lfSxDTD1uZXcgXy5JKCJiYWRnZVZpZXdNb2RlbCIpO3ZhciBDZmE9bmV3IF8uVnMoIkNPTU1PTl9NQVJLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRGZhO18uREw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGcUhjR2UiKTtyZXR1cm4gXy50Rn07RGZhPV8uY0QoKCk9Pl8uREwoKSwic2VjdGlvbkhlYWRlckxheW91dCIpO18uWXQoXy5KRCxhPT57YS5KKCJzZWN0aW9uSGVhZGVyTGF5b3V0IiwiRnFIY0dlIixfLkRMKX0pO18udkQ9Xy5MKCh7Y2xhc3NOYW1lOmEsZGF0YTpiLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpjLGRpc2FibGVWZXJ0aWNhbFBhZGRpbmc6ZCxUaTplLEtuOmYsaXNPdmVybGF5OmgsRXM6ayxnTDpsLGlKOm19KT0+e3ZhciBuPV8uVEgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQpLHA9Xy55TCgpLHI9Xy5BTCgoKT0+YigpLmhlYWRsaW5lVHlwb2dyYXBoeVRva2VuLHAse21heExpbmVzOjJ9KTtwPV8uQUwoKCk9PmIoKS5zdWJ0aXRsZVR5cG9ncmFwaHlUb2tlbixwKTt2YXIgdD1fLlFIKCgpPT5iKCkuaG9yaXpvbnRhbFBhZGRpbmcpLHY9Xy5RSCgoKT0+YigpLnRvcFBhZGRpbmcpLHo9Xy5RSCgoKT0+YigpLmJvdHRvbVBhZGRpbmcpO3JldHVybiBfLksoInl0LXNlY3Rpb24taGVhZGVyLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEhvc3QiLGEpLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+QkwoYigpLmJhY2tncm91bmRDb2xvcik/Cl8uTkQoQkwoYigpLmJhY2tncm91bmRDb2xvcikpOnZvaWQgMH0pfSxfLksoRGZhLHthcmlhTGFiZWw6KCk9Pm4oKT8ubGFiZWwsQXc6ITEsdGl0bGU6KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmIoKS5oZWFkbGluZSxYYTohMH0pLGtoOiEwLHN1YmxhYmVsOigpPT5fLksoRWZhLHtkYXRhOmJ9KSxMdzooKT0+ISFiKCkuc3VibGFiZWx8fCEhYigpLmJvdHRvbUJhZGdlfHwhIWIoKS5ib3R0b21CYWRnZXMsc3VwZXJsYWJlbDooKT0+Xy5LKEZmYSx7ZGF0YTpifSksTXc6KCk9PiEhYigpLnN1cGVybGFiZWx8fCEhYigpLnRvcEJhZGdlLGxlYWRpbmdJbWFnZTooKT0+Xy5LKEdmYSx7bGVhZGluZ0FjY2Vzc29yeTooKT0+YigpLmxlYWRpbmdBY2Nlc3Nvcnl9KSxIdzooKT0+ISFiKCkubGVhZGluZ0FjY2Vzc29yeSx0cmFpbGluZ0FjdGlvbnM6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PgpiKCkudHJhaWxpbmdBY3Rpb25zfSx7ZmxleGlibGVBY3Rpb25zVmlld01vZGVsOl8ueEx9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXIifSxfLksoXy5nRyx7cGE6KCk9Pmw/LigpfHxbXX0sRT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbiJ9LEUpKSl9KSksTnc6KCk9Pm0/LigpfHwhIWIoKS50cmFpbGluZ0FjdGlvbnMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5jPy4oKXx8YigpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOigpPT5kPy4oKXx8YigpLmRpc2FibGVWZXJ0aWNhbFBhZGRpbmcsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLHJoOigpPT4hIV8uc0goYigpLnJlbmRlcmVyQ29udGV4dCksaG92ZXJFZmZlY3RFbmFibGVkOigpPT5iKCkuaG92ZXJFZmZlY3RFbmFibGVkLG9uQ2xpY2s6RT0+Cnt2YXIgQT1fLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpO0EmJl8uYUUoQSx7Zm9ybTp7ZWxlbWVudDpFLnRhcmdldCxldmVudDpFfX0pfSxib3R0b21BY2Nlc3Nvcnk6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmIoKS5ib3R0b21BY2Nlc3Nvcnl9LHtkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8udkwse2RhdGE6RSxYYzohMH0pLGNvbW1vbk1hcmtWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8uSUIsbnVsbCxfLnkoKS5yZXNvbHZlKF8uSW4oQ2ZhKSk/Lih7ZGF0YTpFfSkpfSksenc6KCk9PiEhYigpLmJvdHRvbUFjY2Vzc29yeSxFczprLGhlYWRsaW5lVHlwb2dyYXBoeVRva2VuOnIsc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW46cCxqcTp0LGZCOnYsSHU6en0pKX0sIndhIik7CnZhciBHZmE9Xy5MKCh7bGVhZGluZ0FjY2Vzc29yeTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmltYWdlPz9fLlFGKGEoKS50aGVtZWRJbWFnZSksdGhlbjpiPT5fLksoXy5qRix7ZGF0YTpiLGFsdDoiIixUYTohMCxZYTohMH0pfSksXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5hdmF0YXIsXy5zTCksdGhlbjpiPT5fLksoXy5TRix7ZGF0YTpifSl9KSksInhhIiksRWZhPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PighIWEoKS5ib3R0b21CYWRnZXN8fCEhYSgpLmJvdHRvbUJhZGdlKSYmISFhKCkuc3VibGFiZWx9KX0sXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5ib3R0b21CYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpifSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQmFkZ2VzfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXMiKX0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJsYWJlbCx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLCJ5YSIpLEZmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoYSgpLnRvcEJhZGdlLENMKSx0aGVuOmI9Pl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKHt5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbDooKT0+ISFiKCkmJiEhYSgpLnN1cGVybGFiZWx9KX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnN1cGVybGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwiemEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiY3lDVmxkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBOSDtOSD1mdW5jdGlvbigpe307Xy5PSD1mdW5jdGlvbigpe3JldHVybiI6IisoSmRhLmorKykudG9TdHJpbmcoMzYpfTtfLndhKE5IKTtOSC5wcm90b3R5cGUuaj0wO3ZhciBKZGE9TkguamMoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5GST1uZXcgXy5WcygiU1VCTUlUX0FQSV9TRVJWSUNFX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ua0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJvc1R0eGUiKTtyZXR1cm4gXy5BRH07Xy5sTD1fLmNEKCgpPT5fLmtMKCksImJhc2ljQ29udGVudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiLCJvc1R0eGUiLF8ua0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJEbHZGMWQiKTtyZXR1cm4gXy5IRH07Xy5VRj1fLmNEKCgpPT5fLlRGKCksImJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25WaWV3TW9kZWwiLCJEbHZGMWQiLF8uVEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGc29YemMiKTtyZXR1cm4gXy56RH07Xy5uTD1fLmNEKCgpPT5fLm1MKCksImNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiLCJGc29YemMiLF8ubUwpfSk7Xy5vTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBlMm9qYiIpO3JldHVybiBfLkNEfTtfLnBMPV8uY0QoKCk9Pl8ub0woKSwibGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3TW9kZWwiLCJwZTJvamIiLF8ub0wpfSk7Xy5xTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlVBTTVtIik7cmV0dXJuIF8ueUR9O18uckw9Xy5jRCgoKT0+Xy5xTCgpLCJsb2NrdXBWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibG9ja3VwVmlld01vZGVsIiwiVUFNNW0iLF8ucUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWT1VQOWQiKTtyZXR1cm4gXy51RH07Xy5HTD1fLmNEKCgpPT5fLkZMKCksImxpbmVhckxheW91dFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiLCJWT1VQOWQiLF8uRkwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLSSxhZWEsJEksYUosYmVhO18uR0k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT8uZm9ybUlkPT09Yj8uZm9ybUlkJiZhPy5maWVsZElkPT09Yj8uZmllbGRJZH07Xy5IST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm5kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLklJPWZ1bmN0aW9uKGEpe3JldHVybiBFcnJvcigib2RgIithLnJlcGxhY2UoL1xuXHMqL2csIiAiKSl9O18uSkk9ZnVuY3Rpb24oKXtyZXR1cm57bmo6ITEsZmI6ITAsemQ6ITEsaXNTdWJtaXR0aW5nOiExLGNzOjB9fTtLST1mdW5jdGlvbihhLGIpe3ZhciBjPSEwO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSl7aWYoZD09PSJmb3JtSWQiKWNvbnRpbnVlO2xldCBlPWFbZF07ZS5raW5kPT09MSYmKEtJKGUudmFsdWUsYil8fChjPSExKSl9YihhLmZvcm1JZCl8fChjPSExKTtyZXR1cm4gY307Cl8uTUk9ZnVuY3Rpb24oYSl7dmFyIGI9TEkuZ2V0KGEpO2lmKGIpcmV0dXJuIGI7Yj1hLnJlcGxhY2UoL18oW2EtekEtWjAtOV0pL2csKGMsZCk9PmQudG9VcHBlckNhc2UoKSk7TEkuc2V0KGEsYik7cmV0dXJuIGJ9O18uT0k9ZnVuY3Rpb24oKXtOST8uKGE9PmErMSl9O18uUkk9ZnVuY3Rpb24oYSl7UEk/UEkoKTooW1BJLCxOSV09Xy5KKDAsdm9pZCAwLCJWeFkwZmIiKSxQSSgpKTtyZXR1cm4gXy5RSS5nZXQoYSl9O18uU0k9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1fLlJJKGEpO2lmKGMpe2lmKGImJmIhPT1jLlVpKXRocm93IF8uSUkoYEZvcm0gdHlwZSBtaXNtYXRjaCBmb3IgZm9ybUlkICR7YX06IHByb3ZpZGVkIGZvcm1UeXBlICIke2J9IiBkb2VzIG5vdCBtYXRjaCBzdG9yZWQgZm9ybVR5cGUgIiR7Yy5VaX0iLmApO3JldHVybiBjLmZvcm19fX07Cl8uVkk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SSShhKTtpZighYil0aHJvdyBfLlRJKGEpO2lmKGIuU3A9PT0wKXJldHVybiBiLmZvcm07Yj1iLnBnO2lmKCFiKXRocm93IF8uVUkoYSk7YT1fLlNJKGIuVnopO2lmKCFhKXRocm93IF8uSEkoYEZvcm1JZCAke2IuVnp9IG5vdCBmb3VuZC5gKTtyZXR1cm4gYX07YWVhPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1fLlZJKGEpfWNhdGNoKGMpe3JldHVybiExfShhPUtJKGIsYz0+Xy5RSS5kZWxldGUoYykpKSYmXy5PSSgpO3JldHVybiBhfTtfLldJPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJmb3JtSWQiKXRocm93IF8uSUkoIkZpZWxkIGlkIGNhbm5vdCBiZSBmb3JtSWQuIik7aWYoYT1fLlNJKGEpKXJldHVybiBiPV8uTUkoYiksYVtiXX07Xy5YST1mdW5jdGlvbihhKXtpZihhPV8uUkkoYSkpcmV0dXJuIGEuRGx9OwpfLlpJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwiTEROTGJkIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe3ZhciBmO2lmKGY9Xy5XSShkLGUpKXtpZighKCJmdW5jdGlvbiI9PXR5cGVvZiBfLllJJiZmIGluc3RhbmNlb2YgXy5ZSSkpdGhyb3cgXy5JSShgRmllbGQgJHtlfSBpbiBmb3JtICR7ZH0gaXMgbm90IGEgU2NhbGFyRmllbGQuYCk7fWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9fSx2b2lkIDAsIm84bzAwZCIpO3JldHVybigpPT5jKCl9OyRJPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5Dbjp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyB0b0Zvcm1EYXRhIGZ1bmN0aW9uIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm4gYyhiKX07CmFKPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5DbDp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyBmb3JtRGF0YUV4dGVuc2lvbkZpZWxkIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm57W2NdOmJ9fTsKYmVhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVkkoYSksYz1fLlhJKGEpO3ZhciBkPShkPV8uUkkoYSkpP2Quc3VibWl0Q29uZmlnOnZvaWQgMDt2YXIgZT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5GSSkpLGY9Xy5SSShhKTtmJiYoZi5aZD17Li4uZi5aZCxpc1N1Ym1pdHRpbmc6ITB9LF8uT0koKSk7dHJ5e2lmKGQmJmUpe2xldCBrPSRJKGEsYik7dmFyIGg9YUooYSxrKTtsZXQgbD1hd2FpdCBlLmJpKGQuc3VibWl0SWQsaCx7c3VibWl0QWN0aW9uOiJTVUJNSVRfQUNUSU9OX1NVQk1JU1NJT04iLGFsbEZpZWxkczohMH0sZC5wYXJhbXMsZC5jbGlja1RyYWNraW5nUGFyYW1zKTtpZihsLnN1Ym1pdEVycm9yKXRocm93IGJKKGwuc3VibWl0RXJyb3IpO2F3YWl0IGM/LkhtPy4obCl9ZWxzZSBhd2FpdCBjPy5vblN1Ym1pdD8uKGIpfWNhdGNoKGspe3JldHVybiBrIGluc3RhbmNlb2YgRXJyb3I/UHJvbWlzZS5yZWplY3Qoayk6UHJvbWlzZS5yZWplY3QoYkooaykpfWZpbmFsbHl7aWYoYT0KXy5SSShhKSlhLlpkPXsuLi5hLlpkLGlzU3VibWl0dGluZzohMSxjczphLlpkLmNzKzF9LF8uT0koKX19O18uY0o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLk4oKCk9Pl8uQnYoYSk/PyIiLHZvaWQgMCwiR1JtcHIiKSxkPV8uTigoKT0+Xy5TSShjKCksYiksdm9pZCAwLCJwYlRlQmIiKSxlPV8uTigoKT0+e3ZhciBoPWMoKTtyZXR1cm4oaD1fLlJJKGgpKT9oLlpkOl8uSkkoKX0sdm9pZCAwLCJ1Y3Y2TGIiKSxmPV8uTigoKT0+e3ZhciBoPWQoKTtpZighaClyZXR1cm57Zm9ybURhdGE6dm9pZCAwLGV3OnZvaWQgMH07aD0kSShjKCksaCk7cmV0dXJue2Zvcm1EYXRhOmgsZXc6YUooYygpLGgpfX0sdm9pZCAwLCJoSDYxcWMiKTtyZXR1cm57Zm9ybTooKT0+ZCgpLGRhdGE6KCk9PmYoKSxzdGF0ZTooKT0+ZSgpLHN1Ym1pdDphc3luYygpPT57YXdhaXQgYmVhKGMoKSl9LGRpc3Bvc2U6KCk9PmFlYShjKCkpfX07Xy5kSj1TeW1ib2woImRkIik7dmFyIGJKO18uVEk9YT0+Xy5ISShgRm9ybSBzZXNzaW9uIGZvciBGb3JtSWQgJHthfSBub3QgZm91bmQuYCk7Xy5VST1hPT5fLkhJKGBOZXN0ZWQgZm9ybSBhY2Nlc3NvciBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO2JKPWE9Pl8uSUkoYFVua25vd24gZXJyb3IgZHVyaW5nIGZvcm0gc3VibWlzc2lvbjogJHtKU09OLnN0cmluZ2lmeShhKX1gKTt2YXIgTEk9bmV3IE1hcDt2YXIgUEksTkk7Xy5RST1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJDQVJEX1NUWUxFX09VVExJTkUiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxPdXRsaW5lIjtjYXNlICJDQVJEX1NUWUxFX1RPTkFMIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsVG9uYWwiO2Nhc2UgIkNBUkRfU1RZTEVfSU5WRVJTRSI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbEludmVydGVkIjtkZWZhdWx0OnJldHVybiJ5dENhcmRWaWV3TW9kZWxSYWlzZWQifX07dmFyIEhMPW5ldyBfLkkoInNlY3Rpb25IZWFkZXJWaWV3TW9kZWwiKTt2YXIgSWZhO18uSUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWYlhyVWUiKTtyZXR1cm4gXy5oSH07SWZhPV8uY0QoKCk9Pl8uSUwoKSwiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsIiwiVmJYclVlIixfLklMKX0pO3ZhciBKZmE7Xy5KTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBFU2xEYiIpO3JldHVybiBfLmVGfTtKZmE9Xy5jRCgoKT0+Xy5KTCgpLCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIsInBFU2xEYiIsXy5KTCl9KTt2YXIgS2ZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX0NBUkRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBMZmE9bmV3IF8uVnMoIkFTS19TVFVESU9fVklERU9fRURJVF9QUkVWSUVXX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTWZhPW5ldyBfLlZzKCJBVURJRU5DRV9PTkxJTkVfSEVBVE1BUF9WSUVXX01PREVMX1RPS0VOIik7dmFyIE5mYT1uZXcgXy5WcygiQ09NTUVOVFNfRElHRVNUX0NPTlRFTlRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBPZmE9bmV3IF8uVnMoIlBSSU1FVElNRV9PRkZFUklOR19JTl9SRVZJRVdfQ0FSRF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgUGZhPW5ldyBfLlZzKCJZVENQX0ZVTk5FTF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFFmYTtfLktMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicVZEZ0JkIik7cmV0dXJuIF8uZEZ9O1FmYT1fLmNEKCgpPT5fLktMKCksImNpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiLCJxVkRnQmQiLF8uS0wpfSk7dmFyIFJmYTtfLkxMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaTZYb21lIik7cmV0dXJuIF8uUEZ9O1JmYT1fLmNEKCgpPT5fLkxMKCksInJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiLCJpNlhvbWUiLF8uTEwpfSk7dmFyIFNmYTtfLk1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYnpqMGpkIik7cmV0dXJuIF8udEx9O1NmYT1fLmNEKCgpPT5fLk1MKCksImlubGluZUV4cGFuZGVyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImlubGluZUV4cGFuZGVyVmlld01vZGVsIiwiYnpqMGpkIixfLk1MKX0pO3ZhciBUZmE7Xy5OTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZpTkdPYyIpO3JldHVybiBfLmdIfTtUZmE9Xy5jRCgoKT0+Xy5OTCgpLCJkaXNtaXNzaWJsZUl0ZW0iKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbWlzc2libGVJdGVtIiwiRmlOR09jIixfLk5MKX0pO3ZhciBVZmE9bmV3IF8uVnMoIkNPTlRFTlRfU0VDVElPTl9WSUVXX01PREVMX1RPS0VOIik7dmFyIFZmYTtfLk9MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidVJJYUMiKTtyZXR1cm4gXy5CSH07VmZhPV8uY0QoKCk9Pl8uT0woKSwiY2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIsInVSSWFDIixfLk9MKX0pO3ZhciBQTD1fLkwoYT0+e3ZhciBiPV8uUUgoKCk9PmEuZGF0YSgpLnRvcENvbnRlbnRQYWRkaW5nVG9rZW4pLGM9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy50b3BQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxkPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8uYm90dG9tUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZT1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/Lmhvcml6b250YWxQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxmPSgpPT5hLmRhdGEoKS5iYWNrZ3JvdW5kLGg9KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9uTGF5b3V0PT09IkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9PVkVSTEFZIixrPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PQoiQ0FSRF9UUkFJTElOR19BQ1RJT05fTEFZT1VUX0lOTElORV9DRU5URVIiLGw9Xy55KCkucmVzb2x2ZShfLkluKFVmYSkpLG09Xy55KCkucmVzb2x2ZShfLkluKEtmYSkpLG49Xy55KCkucmVzb2x2ZShfLkluKExmYSkpLHA9Xy55KCkucmVzb2x2ZShfLkluKE5mYSkpLHI9Xy55KCkucmVzb2x2ZShfLkluKE1mYSkpLHQ9Xy55KCkucmVzb2x2ZShfLkluKFBmYSkpLHY9Xy55KCkucmVzb2x2ZShfLkluKE9mYSkpLHo9KCk9PmEuZGF0YSgpLmNhcmRTdGF0ZT8uZW5hYmxlbWVudFN0YXRlPT09IkNBUkRfRU5BQkxFTUVOVF9TVEFURV9ESVNBQkxFRCIsRT0oKT0+IXooKSYmXy50SChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLEE9KCk9PntpZihhLmlzRXhwYW5kZWQ/LigpIT09dm9pZCAwKXJldHVybiBhLmlzRXhwYW5kZWQ/LigpO3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LmV4cGFuc2lvblN0YXRlKXtjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9FWFBBTkRFRCI6cmV0dXJuITA7CmNhc2UgIkNBUkRfRVhQQU5TSU9OX1NUQVRFX0NPTExBUFNFRCI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4gYS5pc1NlbGVjdGVkPy4oKX19O3JldHVybiBfLksoInl0LWNhcmQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoVGZhLHtjb250ZW50SWQ6KCk9PmEuZGF0YSgpLmNvbnRlbnRJZH0sKCk9Pl8uSygiZGl2Iix7ZWw6Xy5yRihfLnVIKCgpPT5FKCk/YS5kYXRhKCkucmVuZGVyZXJDb250ZXh0OnZvaWQgMCx2b2lkIDAsdm9pZCAwLFsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpLC4uLihfLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX19lbmFibGVfYW5hbHl0aWNzX2h1Yl93ZWIiKT9bIllULUxJU1QtSVRFTS1WSUVXLU1PREVMIl06W10pXSkpLGNsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsQ2FyZFZpZXdNb2RlbElubmVyIix7eXRDYXJkVmlld01vZGVsQ2xpY2thYmxlOkV9LCgpPT5IZmEoYS5kYXRhKCkuY2FyZFN0eWxlKSwKe3l0Q2FyZFZpZXdNb2RlbENhcmRTZWxlY3RlZDooKT0+ISFhLmlzU2VsZWN0ZWQ/LigpfSwoKT0+e2lmKGEuaXNTZWxlY3RlZD8uKCk9PT12b2lkIDApe2E6e3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LnNlbGVjdGlvblN0YXRlKXtjYXNlICJDQVJEX1NFTEVDVElPTl9TVEFURV9TRUxFQ1RFRCI6dmFyIEY9Inl0Q2FyZFZpZXdNb2RlbFNlbGVjdGVkIjticmVhayBhfUY9dm9pZCAwfXJldHVybiBGfX0pLHJvbGU6KCk9PkUoKSYmIV8uQihhLmRhdGEoKS50b3BDb250ZW50LEhMKT8iYnV0dG9uIjp2b2lkIDAsImFyaWEtZGlzYWJsZWQiOnosdGFiaW5kZXg6KCk9PnooKT8tMTpFKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/MDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6Zix3cmFwcGVyOkY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmRXcmFwcGVyIn0sRigpKX0se2NpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbDpRZmEsdGhlbWVkSW1hZ2VWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Cl8uSyhKZmEse2RhdGE6RixjbGFzc05hbWU6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmQifSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxDb250ZW50V3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PiFoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsVG9wQ29udGVudENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENhcmRWaWV3TW9kZWxUb3BDb250ZW50Iix7eXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlVG9wQ29udGVudFBhZGRpbmcmJmEuZGF0YSgpLnRvcENvbnRlbnR9KSxzdHlsZTpfLklFKHtwYWRkaW5nOmJ9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudG9wQ29udGVudH0se2NvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGJhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsCnNlY3Rpb25IZWFkZXJWaWV3TW9kZWw6Xy52RH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSW5saW5lVHJhaWxpbmdBY3Rpb24iLHt5dENhcmRWaWV3TW9kZWxJbmxpbmVDZW50ZXJUcmFpbGluZ0FjdGlvbjprLHl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2luOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0pfSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZzooKT0+IWEuZGF0YSgpLmRpc2FibGVCb2R5Q29udGVudFBhZGRpbmcmJmEuZGF0YSgpLmJvZHlDb250ZW50fSksc3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpjLCJwYWRkaW5nLWJvdHRvbSI6ZCwicGFkZGluZy1sZWZ0IjplLCJwYWRkaW5nLXJpZ2h0IjplfSl9LF8uSyhfLlcse2RhdGE6KCk9PgphLmRhdGEoKS5ib2R5Q29udGVudH0se2Jhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbDpWZmEsY29udGVudEluc3BpcmF0aW9uQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbDpJZmEsY29udGVudExpc3RJdGVtVmlld01vZGVsOl8ubkwsZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOl8udkwsaW5saW5lRXhwYW5kZXJWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKFNmYSx7ZGF0YTpGLGlzU2VsZWN0ZWQ6QX0pLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsbG9ja3VwVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLnJMLHtkYXRhOkYsd3E6ITB9KSwuLi4obSYme2Fza1N0dWRpb0NhcmRWaWV3TW9kZWw6bX0pLC4uLihuJiZ7YXNrU3R1ZGlvVmlkZW9FZGl0UHJldmlld1ZpZXdNb2RlbDpufSksLi4uKHImJnthdWRpZW5jZU9ubGluZUhlYXRtYXBWaWV3TW9kZWw6cn0pLC4uLihwJiYKe2NvbW1lbnRzRGlnZXN0Q29udGVudFZpZXdNb2RlbDpwfSksLi4uKGwmJntjb250ZW50U2VjdGlvblZpZXdNb2RlbDpsfSksLi4uKHYmJntwcmltZXRpbWVPZmZlcmluZ0luUmV2aWV3Q2FyZENvbnRlbnRWaWV3TW9kZWw6dn0pLC4uLih0JiZ7ZnVubmVsVmlld01vZGVsOnR9KX0pKSksXy5LKF8uTyx7QTooKT0+aCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbiJ9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9ufSx7YnV0dG9uVmlld01vZGVsOl8uVUZ9KSl9KSxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsRGlzYWJsZWRPdmVybGF5IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pfSkpKSl9LCJBYSIpO3ZhciBXZmE9WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldLFhmYT1fLkwoYT0+e2Z1bmN0aW9uIGIoSCl7ZSgpLmlzRGlzYWJsZWR8fChmP2YoSC50YXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX1mdW5jdGlvbiBjKEgpe0gua2V5PT09IiAiJiYoSC5wcmV2ZW50RGVmYXVsdCgpLEgudGFyZ2V0LmNsaWNrKCkpfXZhciBkPV8ueCgiZW5hYmxlX25hdGl2ZV9pbnB1dF9zZWxlY3RhYmxlX2l0ZW0iKSxlPWEuZGF0YSxmPWEub25TZWxlY3RlZCxoPWEuU2gsaz1hLmdyb3VwTmFtZSxsPWEuY2xhc3NOYW1lLG09YS5yb2xlLG49InJhZGlvIitfLk9IKCkscD1fLlFIKCgpPT5lKCkudmVydGljYWxQYWRkaW5nVG9rZW4pLHI9Xy5RSCgoKT0+ZSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLHQ9KCk9PmUoKS5jb250ZW50LFt2LHpdPV8uSighMSx2b2lkIDAsIlVtN0ZnYyIpLEU9dixBPXosRj0oKT0+ISFlKCkuaXNEaXNhYmxlZCxDPSgpPT57aWYoaCE9PXZvaWQgMCl7bGV0IEg9CmgoKTtyZXR1cm4hKCFIfHxlKCkua2V5IT09SCl9cmV0dXJuIEUoKX0sRz0oKT0+aCE9PXZvaWQgMCYmZSgpLmJlaGF2aW9yPT09IlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiPyExOkMoKSxEPSgpPT57aWYoaCE9PXZvaWQgMCYmQygpKXN3aXRjaChlKCkuYmVoYXZpb3Ipe2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9TRUxFQ1RFRF9OT1RfRVhQQU5ERUQiOnJldHVybiExO2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiOnJldHVybiEwfX07cmV0dXJuIGQ/Xy5LKCJ5dC1zZWxlY3RhYmxlLWl0ZW0tdmlldy1tb2RlbCIse3N0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6cCwicGFkZGluZy1ib3R0b20iOnAsInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLGNsYXNzOl8uUCgieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3QiLGwsInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxDb250YWluZXIiLAoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUNvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksInByb3A6Y2hlY2tlZCI6R30sXy5LKCJpbnB1dCIse2lkOm4sdHlwZToicmFkaW8iLG5hbWU6YS5ncm91cE5hbWUsInByb3A6Y2hlY2tlZCI6RyxkaXNhYmxlZDpGLCJvbjpjbGljayI6Yiwib246a2V5ZG93biI6YyxjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZVJhZGlvQnV0dG9uIn0pLF8uSygibGFiZWwiLHtmb3I6bixjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUxhYmVsIiwib246a2V5ZG93biI6Y30sXy5LKF8uVyx7ZGF0YTp0fSx7Y2FyZFZpZXdNb2RlbDooe2RhdGE6SH0pPT5fLksoUEwse2RhdGE6SCxpc1NlbGVjdGVkOkcsaXNFeHBhbmRlZDpEfSl9KSkpOl8uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLAoicGFkZGluZy1sZWZ0IjpyLCJwYWRkaW5nLXJpZ2h0IjpyfSksImFyaWEtY2hlY2tlZCI6RyxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVkOkZ9KSwib246Y2xpY2siOmZ1bmN0aW9uKEgpe2lmKCFlKCkuaXNEaXNhYmxlZCl7dmFyIFI9SC5jdXJyZW50VGFyZ2V0O2lmKF8ueCgid2ViX3NlbGVjdGFibGVfaXRlbV9jaGlsZF90YXBfa2lsbF9zd2l0Y2giKSlSPSExO2Vsc2V7dmFyIE09Xy5xSChIKTtSPV8uckgoTSxSLFdmYSl9Unx8KGY/ZihILmN1cnJlbnRUYXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX19LCJwcm9wOmNoZWNrZWQiOkcscm9sZTptLCJhcmlhLWRpc2FibGVkIjpGLHRhYmluZGV4OjB9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLAppc0V4cGFuZGVkOkR9KX0pKX0sIkJhIik7Xy5FTD1fLkwoYT0+e2Z1bmN0aW9uIGIoeixFLEEpe3ZhciBGPWMoKS5mb3JtRmllbGRNZXRhZGF0YSYmbSgpIT09dm9pZCAwPzM6ZCgpPzI6MTtGPT09MSYmRS5rZXkhPW51bGwmJnQoRS5rZXkpO0Y9PT0zJiZFLmtleSE9bnVsbCYmbSgpPy51cGRhdGVWYWx1ZShFLmtleSk7ZT8uKHosRSxBKX12YXIge2RhdGE6YyxXYjpkLG9uU2VsZWN0ZWQ6ZSxTaDpmLGdyb3VwTmFtZTpoLGNsYXNzTmFtZTprLG5hOmx9PV8uREMoYSx7V2I6ITB9KSxtPV8uWkkoKCk9PmMoKS5mb3JtRmllbGRNZXRhZGF0YSksbj0oKT0+aD8uKCl8fGMoKS5rZXksW3Ascl09Xy5BQygoKT0+YygpLmRlZmF1bHRTZWxlY3RlZEtleSksdD1yLHY9KCk9PihjKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjEpPT09Mz9tKCk/LnZhbHVlOmQoKT9mPy4oKTpwKCk7cmV0dXJuIF8uSygieXQtcmFkaW8tYnV0dG9uLWdyb3VwLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEhvc3QiLAprKX0sXy5LKCJmaWVsZHNldCIse2NsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldCIscm9sZToicmFkaW9ncm91cCIsImFyaWEtaW52YWxpZCI6KCk9PiEhbSgpPy5lcnJvcnM/LlswXSwiYXJpYS1kZXNjcmliZWRieSI6KCk9Pm0oKT8uZXJyb3JzPy5bMF0/YGVycm9yLSR7YygpLmtleX1gOnZvaWQgMH0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnJhZGlvQnV0dG9uc30se3JhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoUmZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4sbmE6bH0pLHNlbGVjdGFibGVJdGVtVmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhYZmEse2RhdGE6eixvblNlbGVjdGVkOmIsU2g6dixncm91cE5hbWU6bixyb2xlOiJyYWRpbyJ9KX0pKSxfLksoXy5PLHtBOigpPT5tKCk/LmVycm9ycz8uWzBdLHRoZW46ej0+Xy5LKCJkaXYiLHtpZDooKT0+YGVycm9yLSR7YygpLmtleX1gLGNsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxFcnJvciJ9LAooKT0+eigpLm1lc3NhZ2UpfSkpfSwiQ2EiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiZDJMVHhiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQUU9Xy5MKCh7bmFtZTphLG9uQ2hhbmdlOmIsb25DbGljazpjLGNoZWNrZWQ6ZCxZZTplLGhrOmYsWWk6aCxxajprLG5hOmwsVmM6bSxhcmlhTGFiZWw6bixjbGFzc05hbWU6cCxkaXNhYmxlZDpyLGhvcml6b250YWxQYWRkaW5nOnQsdmVydGljYWxQYWRkaW5nOnZ9KT0+e3ZhciB6PSJyYWRpbyIrXy5PSCgpLEU9Xy51RSgiaW5wdXQiKSxBPV8ueCgiZW5hYmxlX2lvc193ZWJ2aWV3X3JhZGlvX2J1dHRvbl9yZXNwb25zaXZlbmVzcyIpLFtGLENdPV8uSighMSx2b2lkIDAsImZMclg2ZCIpO3JldHVybiBfLksoInJhZGlvLXNoYXBlIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVIb3N0IixwKX0sXy5LKCJpbnB1dCIse2VsOkUsY2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVJbnB1dCIse3l0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCl9KSxpZDp6LCJwcm9wOmNoZWNrZWQiOmQsbmFtZTphLHR5cGU6InJhZGlvIixkaXNhYmxlZDpyLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKEcpe0UudmFsdWUuY2hlY2tlZD0KISFkPy4oKTtiPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNsaWNrIjpmdW5jdGlvbihHKXtjPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sImFyaWEtbGFiZWwiOm4sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmQyghMCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24oKXtDKCExKX19KSxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVMYWJlbENvbnRhaW5lciIsayx7eXRSYWRpb1NoYXBlQ29tcGFjdDpsLHl0UmFkaW9TaGFwZUtleWJvYXJkRm9jdXNlZDpGLHl0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCkseXRSYWRpb1NoYXBlRGlzYWJsZWQ6cn0pLGZvcjp6fSxfLksoXy5PLHtBOigpPT4haD8uKCksdGhlbjooKT0+Xy5LKFNILHtjaGVja2VkOmQsaGs6ZixnZzohMCxWYzptLERzOkF9KX0pLF8uSyhfLk8se0E6KCk9PiEhZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWwiLAp7eXRSYWRpb1NoYXBlRXZlbnRQYXNzdGhyb3VnaDpBfSksImFyaWEtaGlkZGVuIjooKT0+ISFuPy4oKSxzdHlsZTpfLklFKHsicGFkZGluZy1sZWZ0Ijp0LCJwYWRkaW5nLXJpZ2h0Ijp0LCJwYWRkaW5nLXRvcCI6diwicGFkZGluZy1ib3R0b20iOnZ9KX0sZT8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITEsVmM6bSxEczpBfSl9KSkpfSwidyIpO18uQUUuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciBTSD1fLkwoKHtoazphLFZjOmIsRHM6Y30pPT57dmFyIGQ9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/IkNJUkNMRV9GVUxMIjoiQ0lSQ0xFIjtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZVJhZGlvIixiLHt5dFJhZGlvU2hhcGVDaGVja0ljb246YSx5dFJhZGlvU2hhcGVSYWRpb0RlZmF1bHRTdHlsZTooKT0+IWI/LigpLHl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6Y30pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjoiQ0lSQ0xFIn0pLF8uSyhfLk1ELHtpY29uOigpPT5hPy4oKT8iQ0hFQ0siOmQsYWN0aXZlOigpPT4hYT8uKCl9KSl9LCJ4Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInpDa0tCYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYWNGdVZjIik7cmV0dXJuIF8uR0R9O18uV0Y9Xy5jRCgoKT0+Xy5WRigpLCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWwiLCJhY0Z1VmMiLF8uVkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJmOTB0Q2IiKTtyZXR1cm4gXy5GRH07Xy5aRj1fLmNEKCgpPT5fLllGKCksInRvZ2dsZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiLCJmOTB0Q2IiLF8uWUYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkc9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJMVmlNTSIpO3JldHVybiBfLkREfTtfLmNHPV8uY0QoKCk9Pl8uYkcoKSwic3Vic2NyaWJlQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIsIkxWaU1NIixfLmJHKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEc7Xy5lRz1mdW5jdGlvbihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oZEcpKSxbYyxkXT1fLkooYix2b2lkIDAsIkhmRGRLIik7Ynx8Xy5ZdChkRyxkKTtyZXR1cm4gXy5OKCgpPT57dmFyIGU9YSgpO3JldHVybiBlP2MoKT8uKGUpOnZvaWQgMH0sdm9pZCAwLCJ2NzBFN2IiKX07ZEc9bmV3IF8uVnMoIlNFTUFOVElDX0NPTE9SX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUg9bmV3IF8uVnMoIkhPUklaT05UQUxfQkFSX1ZJRVdfTU9ERUxfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSD1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8ueSgpLnJlc29sdmUoXy5KSCk7cmV0dXJuIF8ueSgpLnJlc29sdmUoXy5LSCkoKX07Xy5NSD1mdW5jdGlvbigpe3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O25ldyBfLmNzO18uSkg9bmV3IF8uVnMoIldBVENIX1BMQVlFUl9QUk9NSVNFX1RPS0VOIik7bmV3IF8uY3M7Xy5LSD1uZXcgXy5WcygiR0VUX1NIT1JUU19QTEFZRVJfRlVOQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VSD1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9T2JqZWN0LmtleXMoYik7Xy5uRSgoKT0+e2lmKGE/LigpKXtmb3IobGV0IGUgb2YgZCljLmFkZEV2ZW50TGlzdGVuZXIoZSxiW2VdKTtfLll1KCgpPT57Zm9yKGxldCBlIG9mIGQpYy5yZW1vdmVFdmVudExpc3RlbmVyKGUsYltlXSl9KX19LCJiWFpHZmUiKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEksUGRhLGZJLFFkYSxpSSxTZGE7ZEk9ZnVuY3Rpb24oYSl7aWYoYSlzd2l0Y2goYSl7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWFNNQUxMIjpyZXR1cm4gMTY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU01BTEwiOnJldHVybiAxODtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9TVEFOREFSRCI6cmV0dXJuIDI0O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX0xBUkdFIjpyZXR1cm4gMzY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWExBUkdFIjpyZXR1cm4gNDg7ZGVmYXVsdDpyZXR1cm4gMjR9fTsKUGRhPWZ1bmN0aW9uKGEsYil7aWYoIWE/LmVudGl0eVNlbGVjdG9yVHlwZXx8IWE/LmVudGl0eUtleSlyZXR1cm57fTtzd2l0Y2goYS5lbnRpdHlTZWxlY3RvclR5cGUpe2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NBUFRJT05fTEFOR1VBR0VfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8uTUgoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYj10eXBlb2YgYT8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZhLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8YT8uZGlzcGxheU5hbWV8fCIiLHtkYXRhOnsuLi4oISFiJiZ7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifX0pLC4uLighIWImJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRCJ9fV19fSksaXNEaXNhYmxlZDp0eXBlb2YgYT09PSJ1bmRlZmluZWQifX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQVVESU9fVFJBQ0tfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPQpfLk1IKCk/LmdldEF1ZGlvVHJhY2soKXx8dm9pZCAwLGI9YT8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldE5hbWUoKSx7ZGF0YTp7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifSwuLi4oYiYmIWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJc0RlZmF1bHQoKSYme2xlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUl9GSUxMRUQifX1dfX0pfX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUExBWUJBQ0tfU1BFRURfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8ueCgid2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciIpLF8uZUlbImNvdW50ZXJmYWN0dWFscy53ZWJfc2hvcnRzX3BsYXliYWNrX3JhdGVfcGlja2VyIl09U3RyaW5nKGEpLGE/KGE9Xy5NSCgpPy5nZXRQbGF5YmFja1JhdGUoKSxiPV8uTUgoKT8uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpLGE9e2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6YT09PQoxP18uYUEoIlBMQVlFUl9TUEVFRF9OT1JNQUwiLHZvaWQgMCwiTm9ybWFsIik6Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7YT8udG9GaXhlZCgyKX1gfSl9LGlzRGlzYWJsZWQ6IWI/Lmxlbmd0aH19KTphPXt9LGE7Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuIGE9YT8uZW50aXR5S2V5PyhhPV8uSEgoYixhLmVudGl0eUtleSkpP3tpc0hpZGRlbjphPy5hZHNTdGF0ZSE9PSJBRFNfU1RBVEVfUExBWUlORyJ9Ontpc0hpZGRlbjohMH06e30sYTtkZWZhdWx0OnJldHVybnt9fX07Zkk9ZnVuY3Rpb24oYSl7aWYoYSYmKGE9YS5zcGxpdCgiOiIpLGEubGVuZ3RoPjEpKXJldHVybiBhWzBdLmxlbmd0aD4wP2FbMF06dm9pZCAwfTtRZGE9ZnVuY3Rpb24oYSl7aWYoYSYmIWdJLmhhcyhhKSl7dmFyIGI9ZkkoYSk7YiYmZ0kuc2V0KGEsYil9fTsKaUk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5oSSgpfTtpZihiJiZjPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iKXtsZXQgZT1mSShhKTtlJiZnSS5mb3JFYWNoKChmLGgpPT57Zj09PWUmJmghPT1hJiYoZFtoXT0hMSl9KX1kW2FdPWI7UmRhKGQpfTtTZGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWM/LigpKXt2YXIgZT1mPT57Xy5ySChfLnFIKGYpLGQsYil8fGEoZil9O2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpO3JldHVybigpPT57ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZSl9fX19O18uZUk9e307Xy5qST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm1tMk4wYyIpO3JldHVybiBfLnpFfTtfLmtJPV8uY0QoKCk9Pl8uakkoKSwic3dpdGNoQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIsIm1tMk4wYyIsXy5qSSl9KTt2YXIgbUk7Xy5sST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhiMFdtZiIpO3JldHVybiBfLlhGfTttST1fLmNEKCgpPT5fLmxJKCksImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIiwiaGIwV21mIixfLmxJKX0pO3ZhciBUZGE7Xy5uST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhOZWx2ZCIpO3JldHVybiBfLmFJfTtUZGE9Xy5jRCgoKT0+Xy5uSSgpLCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIsImhOZWx2ZCIsXy5uSSl9KTt2YXIgVWRhO18ub0k9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyNUNPSGYiKTtyZXR1cm4gXy4kSH07VWRhPV8uY0QoKCk9Pl8ub0koKSwibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiLCJyNUNPSGYiLF8ub0kpfSk7dmFyIHBJPV8uTCgoe2RhdGE6YSxnZzpiLGNlOmMsaXNUb2dnbGVkOmQsRGc6ZSxuYTpmfSk9Pnt2YXIgaD0oKT0+YigpP2EoKS5sZWFkaW5nSW1hZ2U6YSgpLnRyYWlsaW5nSW1hZ2U/P18uUUYoYSgpLnRoZW1lZFRyYWlsaW5nSW1hZ2UpLGs9KCk9PnthOnt2YXIgcj1hKCkubGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0O2lmKCFjPy4oKSlzd2l0Y2gocil7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfRVhQQU5EX01PUkUiOnI9ImV4cGFuZF9tb3JlIjticmVhayBhO2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX05PTkUiOmJyZWFrO2RlZmF1bHQ6cj0iY2hldnJvbl9yaWdodCI7YnJlYWsgYX1yPXZvaWQgMH1yZXR1cm4gcn0sbD1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nOmIseXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOigpPT4hYigpfSksCm09Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5IiwieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlIiksbj1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3NvcnkiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLHA9Xy5lRygoKT0+YigpP2EoKS5sZWFkaW5nSWNvbkNvbG9yVG9rZW46YSgpLnRyYWlsaW5nSWNvbkNvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT57dmFyIHI9YSgpLHQ9YigpO3JldHVybiEhKHQmJihyLmxlYWRpbmdJbWFnZXx8ci5sZWFkaW5nQWNjZXNzb3J5KXx8IXQmJihyLnRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdCdXR0b258fHIudHJhaWxpbmdCdXR0b25zfHxyLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0fHxyLnNlbGVjdGlvblRleHR8fHIudGhlbWVkVHJhaWxpbmdJbWFnZXx8ci50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SInx8CnIudHJhaWxpbmdMYWJlbCkpfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6aCx0aGVuOnI9Pl8uSygiZGl2Iix7Y2xhc3M6bCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uakYse2RhdGE6cixhbHQ6IiIsVGE6ITAsWWE6ITAsQWI6KCk9Pnt2YXIgdD0oYigpP2EoKS5sZWFkaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIjphKCkudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX0lDT04iKT9iKCk/ZEkoYSgpLmxlYWRpbmdJY29uQWNjZXNzb3J5U2l6ZSk6ZEkoYSgpLnRyYWlsaW5nSWNvbkFjY2Vzc29yeVNpemUpOnZvaWQgMDtyZXR1cm4gdH0sY2xhc3NOYW1lOm0saXNUb2dnbGVkOigpPT4hZT8uKCkmJmQ/LigpLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKSYmYSgpLmxlYWRpbmdBY2Nlc3NvcnksdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxlYWRpbmdBY2Nlc3Nvcnl9LHthdmF0YXJWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uU0Yse2RhdGE6cixnZDptLE1rOigpPT5mPy4oKT97c2l6ZToiZXh0cmEtc21hbGwifTp7c2l6ZToibWVkaXVtIn19KSxjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLldGLHtkYXRhOnIsbWF4SGVpZ2h0OjM2LHdpZHRoOjU2LGNnOiEwfSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b25zPy5idXR0b25zLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9uc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSksYWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKG1JLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ua0kse2RhdGE6cixjbGFzc05hbWU6bn0pLHN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5jRyx7ZGF0YTpyLGlzT3ZlcmxheTohMSxRZDohMSxjbGFzc05hbWU6bn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5aRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXMsCnRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pLGJhZGdlVmlld01vZGVsOih7ZGF0YTpyfSk9PgpfLksoXy5hRyx7ZGF0YTpyLGNsYXNzOm59KSxsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVGRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxsaXN0SXRlbVZpZXdDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVWRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KX0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJiEhYSgpLnNlbGVjdGlvblRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5WLHt0ZXh0OigpPT5hKCkuc2VsZWN0aW9uVGV4dCxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU2VsZWN0aW9uVGV4dCIsInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHQiKX0pLF8uSyhfLk8se0E6ayx0aGVuOnI9Pl8uSyhfLk1ELHtpY29uOnIsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb24iLGFyaWFIaWRkZW46ITAsc3R5bGU6Xy5JRSh7Y29sb3I6cH0pfSl9KSl9KSxfLksoXy5PLHtBOigpPT4KIWIoKSYmYSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9ORVdfQ09OVEVOVF9JTkRJQ0FUT1IiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3IifSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nTGFiZWwsdGhlbjooKT0+Xy5LKF8uVix7dGV4dDooKT0+YSgpLnRyYWlsaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWwiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciKX0pfSkpfSl9LCJ6Iik7dmFyIFZkYT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmlIKSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3NvcnkifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQWNjZXNzb3J5fSx7Li4uKGImJntob3Jpem9udGFsQmFyVmlld01vZGVsOmJ9KX0pKX0sIkEiKTt2YXIgcUk9Xy5MKGE9Pnt2YXIgYj1hLmRhdGEsYz1hLmNsYXNzTmFtZSxkPV8uZUcoKCk9PmIoKS5pc0Rpc2FibGVkJiZiKCkubGFiZWxEaXNhYmxlZENvbG9yVG9rZW4/YigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuOmIoKS5sYWJlbFRleHRDb2xvclRva2VuKSxlPV8uZUcoKCk9PmIoKS5zdXBlckxhYmVsQ29sb3JUb2tlbik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKS5zdXBlcmxhYmVsfHxiKCkudGl0bGV8fGIoKS5zdWJ0aXRsZXx8YigpLnN1YnRpdGxlQmFkZ2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbCx0aGVuOmY9Pl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVsIixzdHlsZTpfLklFKHtjb2xvcjplfSl9KX0pLF8uSyhfLk8se0E6KCk9PmIoKS50aXRsZSx0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXIifSwKXy5LKF8uVix7dGV4dDpmLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGU6KCk9PmIoKS50aXRsZU1heExpbmVzPT09MX0pLHN0eWxlOl8uSUUoe2NvbG9yOmR9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfHxiKCkuc3VidGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YigpLnN1YnRpdGxlQmFkZ2V9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Zn0pPT5fLksoXy5hRyx7ZGF0YTpmfSl9KSksXy5LKFdkYSx7ZGF0YTpiLHl3OigpPT4hIWIoKS5zdWJ0aXRsZUJhZGdlfSkpfSkpfSl9LCJCIiksV2RhPV8uTChhPT57dmFyIGI9Xy5lRygoKT0+YS5kYXRhKCkuc3ViTGFiZWxDb2xvclRva2VuKTsKcmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnN1YnRpdGxlLHRoZW46Yz0+Xy5LKF8uVix7dGV4dDpjLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxXaXRoQmFkZ2U6YS55d30pLHN0eWxlOl8uSUUoe2NvbG9yOmJ9KX0pfSl9LCJDIik7dmFyIFhkYT1fLkwoKHtkYXRhOmEsY2U6YixmdTpjLGlzVG9nZ2xlZDpkLGRpc2FibGVkOmUsWHg6ZixuYTpoLEJjOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsaG9yaXpvbnRhbFBhZGRpbmc6bSxZeDpuLHVCOnAsb25UYXA6cixhcmlhTGFiZWw6dCxEZzp2fSk9Pnt2YXIgej0oKT0+ISFhKCkuaXNEaXNhYmxlZHx8ISFlPy4oKSxFPV8uZUcoKCk9PmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxMYXlvdXRXcmFwcGVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbENvbnRhaW5lcjooKT0+IWY/LigpLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZDp6LHl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZTooKT0+ISFhKCkuc3VidGl0bGUseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6aCx5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6bix5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IiksCnl0TGlzdEl0ZW1WaWV3TW9kZWxJblBvcHVwOmsseXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+bD8uKCkmJiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQ6KCk9PiFhKCkuc2VsZWN0aW9uVGV4dCYmIWEoKS50cmFpbGluZ0xhYmVsfSwoKT0+e2E6e3N3aXRjaChhKCkubGF5b3V0UHJpb3JpdHkpe2Nhc2UgIkxJU1RfSVRFTV9MQVlPVVRfUFJJT1JJVFlfVFJBSUxJTkciOnZhciBBPSJ5dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIjticmVhayBhfUE9dm9pZCAwfXJldHVybiBBfSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6bSwicGFkZGluZy1yaWdodCI6bX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsTWFpbkNvbnRhaW5lciJ9LF8uSyhwSSx7ZGF0YTphLGdnOiEwLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSyhfLlZDLAp7Y29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxvbkNsaWNrOnIsZGlzYWJsZWQ6eixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLCJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIiKSx0b2dnbGVhYmxlOmQhPT12b2lkIDAsdG9nZ2xlZDpkLGFyaWFMYWJlbDp0fSxfLksocUkse2RhdGE6YX0pKSxXOigpPT5fLksocUkse2RhdGE6YSxjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlciJ9KX0pLF8uSyhfLk8se0E6KCk9PiEhYyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciLHN0eWxlOl8uSUUoe2NvbG9yOkV9KX0sYyYmXy5LKGMsbnVsbCkpLFc6KCk9Pl8uSyhwSSx7ZGF0YTphLGdnOiExLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSl9KSksXy5LKF8uTyx7QTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeSx0aGVuOigpPT5fLksoVmRhLHtkYXRhOmF9KX0pKX0sCiJEIik7dmFyIFtoSSxSZGFdPV8uSih7fSx2b2lkIDAsInBkcmFGIiksZ0k9bmV3IE1hcDt2YXIgc0k9Xy5MKGE9Pnt2YXIge25hbWU6YixvbkNoYW5nZTpjLG9uQ2xpY2s6ZCxjaGVja2VkOmUsWWU6ZixZaTpoLHFqOmssbmE6bCxWYzptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpuLGhvcml6b250YWxQYWRkaW5nOnAsZGlzYWJsZWQ6cixhcmlhTGFiZWw6dH09Xy5EQyhhLHtjaGVja2VkOiExLGRpc2FibGVkOiExfSk7YT0iY2hlY2tib3giK18uT0goKTtyZXR1cm4gXy5LKCJjaGVja2JveC1zaGFwZSIsbnVsbCxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVIb3N0IixrLHt5dENoZWNrYm94U2hhcGVIb3N0Q29tcGFjdDpsLHl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZzpufSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6cCwicGFkZGluZy1yaWdodCI6cH0pfSxfLksoImlucHV0Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUlucHV0IixpZDphLGNoZWNrZWQ6ZSxuYW1lOmIsdHlwZToiY2hlY2tib3giLGRpc2FibGVkOnIsCiJhcmlhLWxhYmVsIjp0LCJwcm9wOmNoZWNrZWQiOmUsIm9uOmNoYW5nZSI6ZnVuY3Rpb24odil7Yz8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24odil7ZD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITAsVmM6bX0pfSksXy5LKF8uTyx7QTooKT0+ISFmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUxhYmVsIn0sZj8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITEsVmM6bX0pfSkpKX0sIkUiKTtzSS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2hhbmdlOiEwLG9uQ2xpY2s6ITAsWWU6ITB9fTsKdmFyIHJJPV8uTCgoe1ZjOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hTaGFwZUNoZWNrYm94IixhLHt5dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZTooKT0+IWE/LigpfSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJzcXVhcmUiOiJCT1hfRU1QVFkifSksXy5LKF8uTUQse2ljb246Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/ImNoZWNrX3NxdWFyZSI6IkJPWF9DSEVDSyIsYWN0aXZlOiEwfSkpLCJGIik7dmFyIHRJPV8uTCgoe2RhdGE6YSxJYTpiLG5hOmMsb25UYXA6ZCx4czplLGNlOmYsZGlzYWJsZWQ6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGlzT3ZlcmxheTptLGlzVG9nZ2xlZDpuLGFyaWFMYWJlbDpwLGFyaWFQcmVzc2VkOnIsRGc6dCxicDp2fSk9PntmdW5jdGlvbiB6KGJhKXtiYS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9YSgpLmVudGl0eUtleSxPYT1HKCkuaXNTZWxlY3RlZDtpZihhYSYmTSgpKXtpZihHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJk9hKXJldHVybjtpSShhYSwhT2EsRygpLnNlbGVjdGlvblN0eWxlKX1kP2QoYmEpOihhYT1fLnNIKEcoKS5yZW5kZXJlckNvbnRleHQpLE9hPV8ueSgpLnJlc29sdmUoXy5VRCksYWEmJk9hJiZPYS5yZXNvbHZlQ29tbWFuZChhYSxiYS50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6YmEudGFyZ2V0LHNvdXJjZURhdGE6YWF9fTp2b2lkIDApKX12YXIgRT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NlbGVjdGFibGVfbGlzdF9pdGVtX29uX3RhcF9maXgiKSwKQT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NraXBfY2hpbGRfdGFncyIpLEY9Xy5RSCgoKT0+YSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLEM9KCk9Pmw/LigpfHxhKCkuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nLEc9Xy5OKCgpPT57dmFyIGJhPWEoKSxhYT12KCksT2E9YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/ey4uLmJhLC4uLmFhLmRhdGF9OmJhO09hLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZRZGEoT2EuZW50aXR5S2V5KTt2YXIgSmI9T2EuZW50aXR5S2V5O2JhPUpiP2hJKClbSmJdOnZvaWQgMDthYT0hIU9hLmlzU2VsZWN0ZWQ7dmFyIHphPWJhIT09dm9pZCAwP2JhOmFhO0piJiZPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmYWEmJmJhPT09dm9pZCAwJiZxdWV1ZU1pY3JvdGFzaygoKT0+e2lJKEpiLCEwLE9hLnNlbGVjdGlvblN0eWxlKX0pO3JldHVybnsuLi5PYSwKaXNTZWxlY3RlZDp6YX19LHZvaWQgMCwidlJrbnkiKSxEPSgpPT4hIUcoKS5pc0Rpc2FibGVkfHwhIWg/LigpLEg9Xy5USCgoKT0+RygpLnJlbmRlcmVyQ29udGV4dCksUj0oKT0+cD8uKCl8fEgoKT8ubGFiZWwsTT0oKT0+ISghRygpLnNlbGVjdGlvblN0eWxlfHxHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9VTlNQRUNJRklFRCIpLFM9KCk9PihfLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHxkKSYmIU0oKSxZPSgpPT5fLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHwhIWR8fE0oKSxwYT1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6WSx5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IikseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6Yyx5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLAp5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5DPy4oKSYmTSgpfSksb2E9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLCgpPT5HKCkubGVhZGluZ0ltYWdlfHxHKCkubGVhZGluZ0FjY2Vzc29yeT8ieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIjoieXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmciKSxbVSxoYV09Xy5KKCExLHZvaWQgMCwiY3VZNG1mIiksbWE9KCk9Pnt2YXIgYmE7aWYoYmE9Xy54KCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iKSYmUz8uKCkpYmE9YSgpLGJhPSEoYmEudHJhaWxpbmdMYWJlbHx8YmEuc2VsZWN0aW9uVGV4dCk7cmV0dXJuIGJhfSx0YT0oKT0+Xy5LKFhkYSx7ZGF0YTpHLGNlOmYsZnU6ZSxpc1RvZ2dsZWQ6bixkaXNhYmxlZDpoLFh4Ok0sbmE6YyxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsWXg6Uyx1QjptYSxvblRhcDpkLGFyaWFMYWJlbDpSLApEZzp0fSksVD0oKT0+e2lmKGI/LigpKXtsZXQgYmE9RygpLnNlbGVjdGlvblN0eWxlO3JldHVybiBiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0NIRUNLQk9YIj8ibWVudWl0ZW1jaGVja2JveCI6YmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyJ8fGJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCI/Im1lbnVpdGVtcmFkaW8iOiJtZW51aXRlbSJ9cmV0dXJuImxpc3RpdGVtIn07cmV0dXJuIF8uSygieXQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PkQoKT92b2lkIDA6RygpLnJlbmRlcmVyQ29udGV4dCx2b2lkIDAsdm9pZCAwLF8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIik/WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldOltdKSxTZGEoZnVuY3Rpb24oYmEpe0QoKXx8RSYmTSgpfHwoTSgpP3ooYmEpOmQ/LihiYSkpfSxBP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXToKW10sKCk9PiFZKCkpLF8uVUgoKCk9PlM/LigpLHtmb2N1c2luOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmaGEoITApfSxmb2N1c291dDpmdW5jdGlvbigpe2hhKCExKX19KSksY2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSG9zdCIse3l0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXk6bSx5dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOlUseXRMaXN0SXRlbVZpZXdNb2RlbEhpZGRlbjooKT0+YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/digpLmlzSGlkZGVuOiExfSksImRhdGEtdGFyZ2V0LWlkIjooKT0+RygpLnRhcmdldElkLHJvbGU6VCx0YWJpbmRleDooKT0+e3ZhciBiYT1TKCk7WSgpO3ZhciBhYT1tYSgpLE9hPUQoKTtiYT0hYWEmJihfLngoIndlYl9lbmFibGVfa2lsbHN3aXRjaF90YWJpbmRleF9maXgiKT9kfHxiYTpiYSk/T2E/LTE6MDp2b2lkIDA7cmV0dXJuIGJhfSwib246a2V5ZG93biI6ZnVuY3Rpb24oYmEpe2lmKCFBfHwKIVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXS5pbmNsdWRlcyhiYS50YXJnZXQudGFnTmFtZSkpaWYoYmEua2V5PT09IkVudGVyInx8TSgpJiZiYS5rZXk9PT0iICIpYmEucHJldmVudERlZmF1bHQoKSxEKCl8fChFJiZNKCk/eihiYSk6YmEuY3VycmVudFRhcmdldC5jbGljaygpKX0sImFyaWEtbGFiZWwiOlIsImFyaWEtY2hlY2tlZCI6KCk9Pnt2YXIgYmE9VCgpO3JldHVybiBiYT09PSJtZW51aXRlbWNoZWNrYm94Inx8YmE9PT0ibWVudWl0ZW1yYWRpbyI/RygpLmlzU2VsZWN0ZWQ6dm9pZCAwfSwiYXJpYS1wcmVzc2VkIjooKT0+Yj8uKCl8fE0oKT92b2lkIDA6cj8uKCl9LF8uSyhfLk8se0E6TSx0aGVuOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5HKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9LCgpPT5fLksoc0kse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCwKWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOkMsaG9yaXpvbnRhbFBhZGRpbmc6RixvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCJ9LCgpPT5fLksoXy5BRSx7WWU6dGEsbmE6YyxjaGVja2VkOigpPT4KISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxoazohMCxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5ERSxudWxsLHRhKSksVzp0YX0pKX0sIkciKSxZZGE9Xy5MKGE9Pnt2YXIgYj1fLmNJKGM9PlBkYShhLmRhdGEoKSxjKSk7cmV0dXJuIF8uSyh0SSx7Li4uYSxicDpifSl9LCJIIik7Xy5DRD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+ISFhLmRhdGEoKT8uZW50aXR5U2VsZWN0b3JUeXBlLHRoZW46KCk9Pl8uSyhZZGEsey4uLmF9KSxXOigpPT5fLksodEksey4uLmEsYnA6KCk9Pih7fSl9KX0pLCJJIik7Xy5DRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uVGFwOiEwLHhzOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInBlMm9qYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFMPWZ1bmN0aW9uKGEsYil7aWYoYSYmYilzd2l0Y2goYil7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfQk9PTCI6cmV0dXJuIGEuYm9vbFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0lOVCI6cmV0dXJuIGEuaW50VmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfU1RSSU5HIjpyZXR1cm4gYS5zdHJpbmdWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9QUklWQUNZX1NUQVRVUyI6cmV0dXJuIGEucHJpdmFjeVN0YXR1c1ZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1RJTUVfUElDS0VSX0ZPUk1BVCI6cmV0dXJuIGEudGltZVBpY2tlckZvcm1hdFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0VOR0FHRU1FTlRfUEVSTUlTU0lPTiI6cmV0dXJuIGEuZW5nYWdlbWVudFBlcm1pc3Npb25WYWx1ZX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNJPWZ1bmN0aW9uKGEpe18uVkgubXcoKShhKX07Xy5EST1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWEgoKTtyZXR1cm4gXy5OKCgpPT57YygpO3JldHVybiBfLlpIKGEsW18uQnYoYil8fCIiXSl9LHtkZWJ1Z05hbWU6IkxVWnNsZiJ9LCJaMTA1dCIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5STD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VTdGF0dXNFbnRpdHkiLGIpfTtfLlNMPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibGlrZUNvdW50RW50aXR5IixiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBZZmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5OKCgpPT5fLkJ2KGEpPz97fSx7ZXF1YWxzOl8uR0l9LCJ6VFVaUWMiKSxjPV8uTigoKT0+e3ZhciB7Zm9ybUlkOmQsZmllbGRJZDplfT1iKCk7aWYoZCYmZSl7YTp7bGV0IGg9Xy5TSShkKTtpZihoKXt2YXIgZj1fLk1JKGUpO2lmKGY9aFtmXSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5UTCYmZiBpbnN0YW5jZW9mIF8uVEwpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckxpc3RGaWVsZC5gKTticmVhayBhfX1mPXZvaWQgMH1yZXR1cm4gZn19LHZvaWQgMCwiRTBLU0ZkIik7cmV0dXJuKCk9PmMoKX0sWmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5IixiKX0sJGZhPWZ1bmN0aW9uKGEsYil7Yi5pbmNsdWRlcyhhKT9iPWIuZmlsdGVyKGM9PmMhPT1hKTpiLnB1c2goYSk7cmV0dXJuWy4uLmJdfSxVTD1uZXcgXy5JKCJjaGVja2JveEl0ZW1WaWV3TW9kZWwiKTt2YXIgYWdhPV8uTChhPT57dmFyIHtkYXRhOmIsV2I6YyxzZWxlY3RlZDpkLG9uVGFwOmUsZ3JvdXBOYW1lOmYsY2xhc3NOYW1lOmgsbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxMaTptfT1fLkRDKGEse1diOiExLHNlbGVjdGVkOiExLG5hOiExLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzohMSxMaTohMX0pLG49KCk9PmMoKT8yOmIoKS5mb3JtRmllbGRNZXRhZGF0YSYmIW0oKT8zOjE7Xy5VSigoKT0+e24oKT09PTImJmIoKS5kZWZhdWx0U2VsZWN0ZWQ/Xy5HcChFcnJvcigidWQiKSk6bigpPT09MSYmZCgpP18uR3AoRXJyb3IoInZkIikpOm4oKT09PTMmJmQoKSYmXy5HcChFcnJvcigid2QiKSl9KTt2YXIgcD1fLlpJKCgpPT5iKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtyLHRdPV8uQUMoKCk9PntpZihuKCk9PT0xKXJldHVybiBiKCkuZGVmYXVsdFNlbGVjdGVkfSk7cmV0dXJuIF8uSygieXQtY2hlY2tib3gtaXRlbS12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94SXRlbVZpZXdNb2RlbEhvc3QiLApoKX0sXy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgdj1iKCksej1uKCk9PT0zP3AoKT8udmFsdWV8fCExOm4oKT09PTE/cigpOmQoKTtyZXR1cm57dGl0bGU6di50ZXh0LHN1YnRpdGxlOnYuc3VidGV4dCxzdXBlcmxhYmVsOnYuc3VwZXJsYWJlbCxpc1NlbGVjdGVkOiEheixpc0Rpc2FibGVkOnYuaXNEaXNhYmxlZCxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9fSxvblRhcDooKT0+e3ZhciB2PSEobigpPT09Mz9wKCk/LnZhbHVlOm4oKT09PTE/cigpOmQoKSk7bigpPT09Mz9wKCk/LnVwZGF0ZVZhbHVlKHYpOm4oKT09PTEmJnQodik7ZT8uKHYsYigpLGY/LigpKX0sbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bH0pKX0sIkRhIik7Xy50RD1fLkwoKHtkYXRhOmEsV2I6YixkQTpjLGd6OmQsZ3JvdXBOYW1lOmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmYsbmE6aH0pPT57dmFyIGs9Xy5ESShaZmEsKCk9PmEoKS5oaWRlSXRlbXNFbnRpdHlLZXkpLGw9KCk9PmI/LigpPzI6YSgpLmZvcm1GaWVsZE1ldGFkYXRhPzM6MSxtPSgpPT5lPy4oKXx8YSgpLmtleTtfLlVKKCgpPT57bCgpPT09MiYmYSgpLmRlZmF1bHRTZWxlY3RlZEtleXM/Xy5HcChFcnJvcigieGQiKSk6bCgpPT09MSYmYz8uKCk/Xy5HcChFcnJvcigieWQiKSk6bCgpPT09MyYmKGM/LigpIT09dm9pZCAwJiZfLkdwKEVycm9yKCJ6ZCIpKSxhKCkuZGVmYXVsdFNlbGVjdGVkS2V5cyYmXy5HcChFcnJvcigiQWQiKSkpfSk7dmFyIG49WWZhKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtwLHJdPV8uQUMoKCk9PntpZihsKCk9PT0xKXJldHVybiBhKCkuZGVmYXVsdFNlbGVjdGVkS2V5c30pLHQ9Xy5aSSgoKT0+KHtmb3JtSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZm9ybUlkfHwKIiIsZmllbGRJZDphKCkuc2VhcmNoUXVlcnlGaWVsZE1ldGFkYXRhPy5maWVsZElkfHwiIn0pKSx2PV8uTigoKT0+e3ZhciBFPWEoKS5jaGVja2JveGVzfHxbXSxBPWsoKTtpZihBPy52YWx1ZXMmJkEudmFsdWVzLmxlbmd0aD4wKXtsZXQgQz1BLnR5cGUsRz1uZXcgU2V0KEEudmFsdWVzLm1hcChEPT5fLlFMKEQsQykpLmZpbHRlcihEPT5EIT09dm9pZCAwKSk7RT1FLmZpbHRlcihEPT57RD1fLkIoRCxVTCk7aWYoIUQ/LnZhbHVlKXJldHVybiEwO0Q9Xy5RTChELnZhbHVlLEMpO3JldHVybiBEPT09dm9pZCAwfHwhRy5oYXMoRCl9KX12YXIgRj0odCgpPy52YWx1ZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEY/RS5maWx0ZXIoQz0+e0M9Xy5CKEMsVUwpO3JldHVybiBDPy50ZXh0Py5jb250ZW50P0MudGV4dC5jb250ZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoRik6ITF9KTpFfSx2b2lkIDAsIlg2WTVNYyIpLHo9YXN5bmMoRSxBLEYpPT57RT1bXTtsKCk9PT0xJiZBLmtleT8oRT0KJGZhKEEua2V5LHAoKXx8W10pLHIoRSkpOmwoKT09PTMmJkEua2V5JiYoRT1uKCk/LnZhbHVlfHxbXSxFLmluY2x1ZGVzKEEua2V5KT8oRT1FLmluZGV4T2YoQS5rZXkpLEUhPT0tMSYmYXdhaXQgbigpPy5yZW1vdmUoRSkpOmF3YWl0IG4oKT8uYWRkKEEua2V5KSxFPW4oKT8udmFsdWV8fFtdKTtkPy4oQSxFLEYpfTtyZXR1cm4gXy5LKCJ5dC1jaGVja2JveC1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxIb3N0Iil9LF8uSygiZmllbGRzZXQiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hHcm91cFZpZXdNb2RlbEZpZWxkc2V0Iil9LF8uSygiZGl2Iix7cm9sZToibGlzdCJ9LF8uSyhfLlcse2RhdGE6dn0se2NoZWNrYm94SXRlbVZpZXdNb2RlbDooe2RhdGE6RX0pPT5fLksoYWdhLHtkYXRhOkUsV2I6ITAsc2VsZWN0ZWQ6KCk9Pnt2YXIgQT1sKCk9PT0yP2M/LigpfHxbXTpsKCk9PT0zP24oKT8udmFsdWV8fFtdOnAoKXx8W10sRj1FKCkua2V5OwpyZXR1cm4gRj9BLmluY2x1ZGVzKEYpOiExfSxvblRhcDp6LGdyb3VwTmFtZTptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KX0pKSkpfSwiRWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidkRjazFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSko9ZnVuY3Rpb24oYSxiKXtpZighYSYmIWIpcmV0dXJuIm1lZGl1bSI7YT1NYXRoLm1heChhfHwwLGJ8fDApO3JldHVybiBhPj0yNTY/ImxhcmdlIjphPj05Nj8ibWVkaXVtIjoic21hbGwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEdlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSI7Y2FzZSAzOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSI7Y2FzZSA0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRvdWNoUmVzcG9uc2UifX0sSGVhPWZ1bmN0aW9uKGEsYil7aWYoYilyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIjtpZihhKXN3aXRjaChhKXtjYXNlICJsYXJnZSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSI7Y2FzZSAibWVkaXVtIjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZU1lZGl1bSI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIn19LApJZWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe29mZnNldDowLG9wYWNpdHk6LjEsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKTt0aGlzLm89bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYixbe29mZnNldDowLG9wYWNpdHk6LjIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKX1wbGF5KCl7dGhpcy5qLnBsYXk/LigpO3RoaXMuby5wbGF5Py4oKX1jYW5jZWwoKXt0aGlzLmouY2FuY2VsPy4oKTt0aGlzLm8uY2FuY2VsPy4oKX19O18uVUM9Xy5MKCh7bW9kZWw6YSxUbTpiLFZtOmMsVW06ZCxSYjplfSk9PntmdW5jdGlvbiBmKCl7digpO3IoITEpfWZ1bmN0aW9uIGgoKXt0Py5jYW5jZWwoKTtyKCEwKX12YXIgaz1fLnVFKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIpLGw9Xy51RSgiZGl2IiksbT1fLnVFKCJkaXYiKSxbbixwXT1fLkFDKCgpPT5jPy4oKXx8ZD8uKCk/ITE6ISFiPy4oKXx8ITEpLHI9cCx0PXZvaWQgMCx2PSgpPT57IXQmJm0udmFsdWUmJmwudmFsdWUmJnR5cGVvZiBBbmltYXRpb249PT0iZnVuY3Rpb24iJiZ0eXBlb2YgS2V5ZnJhbWVFZmZlY3Q9PT0iZnVuY3Rpb24iJiYodD1uZXcgSWVhKG0udmFsdWUsbC52YWx1ZSkpO3Q/LnBsYXkoKX07Xy5uRSgoKT0+e2M/LigpJiZ2KCl9LCJDWTJTIik7Xy5uRSgoKT0+e2I/LigpJiZ0Py5jYW5jZWwoKX0sInZlcWY2YiIpO18ubkUoKCk9PntkPy4oKSYmdD8uY2FuY2VsKCl9LCJUVnJmQ2MiKTtfLll1KCgpPT57dCYmKHQ/LmNhbmNlbCgpLHQ9dm9pZCAwKX0pOwpyZXR1cm4gXy5LKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOmssY2xhc3M6Xy5QKCJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IiwoKT0+R2VhKGEoKS5jb2xvciksKCk9PkhlYShhKCkudGh1bWJuYWlsU2l6ZSwhIWEoKS5pc0V4dGVuZGVkKSx7eXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZDooKT0+ISFhKCkuZm9jdXNlZCYmIWEoKS5kaXNhYmxlZCx5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhcjooKT0+ISFhKCkuY2lyY3VsYXIseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93bjpuLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRyaWdnZXJFdmVudHM6KCk9PiEhYSgpLm1CLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyZWQ6KCk9PmU/LigpfSksc3R5bGU6Xy5JRSh7bWFyZ2luOigpPT5hKCkubWFyZ2luP2AtJHthKCkubWFyZ2lufXB4YDp2b2lkIDAsIm1hcmdpbi10b3AiOigpPT5hKCkueHA/YC0ke2EoKS54cH1weGA6dm9pZCAwfSksIm9uOm1vdXNlZG93biI6aCwKIm9uOm1vdXNldXAiOmYsIm9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXt0Py5jYW5jZWwoKTtyKCExKX0sIm9uOnRvdWNoc3RhcnQiOmgsIm9uOnRvdWNoZW5kIjpmLCJhcmlhLWhpZGRlbiI6ITB9LF8uSyhfLk8se0E6KCk9PiEhYSgpLk5sLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0IixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsYmFja2dyb3VuZDooKT0+e3tsZXQgRT1hKCkuTmw7aWYoRSl7dmFyIHo9W107Zm9yKGxldCBBIG9mIEU/LmxpZ2h0aW5nVGVjaG5pcXVlc3x8W10pc3dpdGNoKEEpe2Nhc2UgMjp6LnB1c2goYGxpbmVhci1ncmFkaWVudCgxODBkZWcsICR7RT8ucGFsZXR0ZT8ua2V5TGlnaHR9LCAke0U/LnBhbGV0dGU/LmJhY2tncm91bmR9KWApfXoucHVzaChhKCkuTmw/LnBhbGV0dGU/LmJhY2tncm91bmQpO3o9ei5qb2luKCIsICIpfWVsc2Ugej12b2lkIDB9cmV0dXJuIHp9fSl9KX0pLApfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2UiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYm9yZGVyLWNvbG9yIjooKT0+YSgpLnRzPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSksZWw6bH0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOm19KSl9LCJUIik7Xy5VQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJPdEtTSmUiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE9hYSxQYWEsUWFhO09hYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9T2JqZWN0LmtleXMoYSk7Zm9yKGxldCBlIG9mIGQpY1tlXT1iKGUsYVtlXSk7cmV0dXJuIGN9O1BhYT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD8hMTpPYmplY3Qua2V5cyhiKS5ldmVyeShjPT5jIGluIGEpfTtfLmlBPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMoYSkubWFwKGI9PltiLGJdKSl9O1FhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIE9hYShjLChkLGUpPT4oZiwuLi5oKT0+UGFhKGYsYSk/ZShmW2JdLC4uLmgpOmUoZiwuLi5oKSl9O18uakE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9PlFhYShhLGIsYyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVGFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYSwicGxheWxpc3RMb29wU3RhdGVFbnRpdHkiLGIpPz92b2lkIDB9LFVhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eSIsYik/P3ZvaWQgMH0sd0E9Xy5pQSh7ZW50aXRpZXM6e319KTtfLnhBPV8uakEod0EpKHdBLmVudGl0aWVzLHtiQTpmdW5jdGlvbihhLGIpe3JldHVybihfLnFBKGEsInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkiLGIpPz92b2lkIDApPy5zZnZBdWRpb0l0ZW1QbGF5YmFja1N0YXRlPz92b2lkIDB9LHRLOlRhYSxlQjpVYWF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aQz1uZXcgXy5JKCJsaXN0SXRlbVZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdkk7Xy51ST1mdW5jdGlvbihhLGIpe2lmKF8udEE/LmVuY29kZUludG8pe2xldCB7cmVhZDpkLHdyaXR0ZW46ZX09Xy50QS5lbmNvZGVJbnRvKGEsYik7cmV0dXJuIGQ8YS5sZW5ndGg/YS5sZW5ndGgqNDplfXZhciBjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09PTU2MzIwPyhlPTY1NTM2KygoZSYxMDIzKTw8MTApKyhhLmNoYXJDb2RlQXQoKytkKSYxMDIzKSxiW2MrK109ZT4+MTh8MjQwLGJbYysrXT1lPj4xMiY2M3wxMjgpOmJbYysrXT1lPj4xMnwyMjQsYltjKytdPWU+PjYmNjN8MTI4KSxiW2MrK109ZSY2M3wxMjgpfXJldHVybiBjfTsKdkk9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmMmJmMuYnVmZmVyPT09Yi5leHBvcnRzLm1lbW9yeS5idWZmZXIpe2xldCBkPWIubWVtb3J5LnJlYWxsb2MoYy5ieXRlT2Zmc2V0LGEpO2lmKGQpcmV0dXJuIG5ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGQsYSl9YT1iP25ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGIubWVtb3J5Lm1hbGxvYyhhKSxhKTpuZXcgVWludDhBcnJheShhKTtjJiZhLnNldChjKTtyZXR1cm4gYX07Xy53ST1mdW5jdGlvbihhLGIpe2I9YS5wb3MrYjtpZighKGEuYnVmLmxlbmd0aD49Yikpe2Zvcih2YXIgYz1hLmJ1Zi5sZW5ndGgqMjtjPGI7KWMqPTI7YS5idWY9dkkoYyxhLndhc20sYS5idWYuc3ViYXJyYXkoMCxhLnBvcykpO2Eudmlldz1uZXcgRGF0YVZpZXcoYS5idWYuYnVmZmVyLGEuYnVmLmJ5dGVPZmZzZXQsYS5idWYuYnl0ZUxlbmd0aCl9fTsKXy54ST1mdW5jdGlvbihhLGIpe2lmKGI+MjY4NDM1NDU1KXtfLndJKGEsNCk7bGV0IGM9YiYxMDczNzQxODIzO2ZvcihsZXQgZD0wO2Q8NDtkKyspYS52aWV3LnNldFVpbnQ4KGEucG9zLGMmMTI3fDEyOCksYz4+Pj03LGEucG9zKz0xO2I9TWF0aC5mbG9vcihiLzI2ODQzNTQ1Nil9Zm9yKF8ud0koYSw0KTtiPjEyNzspYS52aWV3LnNldFVpbnQ4KGEucG9zLGImMTI3fDEyOCksYj4+Pj03LGEucG9zKz0xO2Eudmlldy5zZXRVaW50OChhLnBvcyxiKTthLnBvcys9MX07Cl8uekk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy55STtpZihfLnRBKWE9Xy50QS5lbmNvZGUoYSk7ZWxzZXt2YXIgZD1uZXcgVWludDhBcnJheShNYXRoLmNlaWwoYS5sZW5ndGgqMS4yKSksZT1fLnVJKGEsZCk7ZC5sZW5ndGg8ZSYmKGQ9bmV3IFVpbnQ4QXJyYXkoZSksZT1fLnVJKGEsZCkpO2QubGVuZ3RoPmUmJihkPWQuc3ViYXJyYXkoMCxlKSk7YT1kfWEhPT12b2lkIDAmJihfLnhJKGMsMTgpLGQ9YS5sZW5ndGgsXy54SShjLGQpLF8ud0koYyxkKSxjLmJ1Zi5zZXQoYSxjLnBvcyksYy5wb3MrPWQpO2E9Xy51QVtiXTtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXRocm93IGI9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZW50aXR5IHR5cGUiLHtuYW1lOiJFbnRpdHlLZXlIZWxwZXJFcnJvciIsZW50aXR5VHlwZTpifSksXy5HcChiKSxiO2EhPT12b2lkIDAmJihfLnhJKGMsMzIpLF8ueEkoYyxhKSk7Xy54SShjLDQwKTtfLnhJKGMsMSk7Yj1uZXcgVWludDhBcnJheShjLmJ1Zi5idWZmZXIsCmMuYnVmLmJ5dGVPZmZzZXQsYy5wb3MpO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoXy5zYyhiLDApKX07Xy55ST1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMud2FzbT12b2lkIDA7dGhpcy5wb3M9MDt0aGlzLmo9W107dGhpcy5idWY9dkkoNDA5Nik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLmJ1Zi5idWZmZXIsdGhpcy5idWYuYnl0ZU9mZnNldCx0aGlzLmJ1Zi5ieXRlTGVuZ3RoKX19O18uekkoIiIsImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSIpO18uekkoIkRPV05MT0FEU19MSVNUX0VOVElUWV9JRF9NQU5VQUxfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwicmVmcmVzaCIpO18uekkoIlNNQVJUX0RPV05MT0FEU19FTkFCTEVEIiwic2V0dGluZ0VudGl0eSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFJPW5ldyBfLkkoIm9mZmxpbmVQbGF5bGlzdEVuZHBvaW50Iik7Xy5CST1uZXcgXy5JKCJvZmZsaW5lVmlkZW9FbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWmRhO18uRUk9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPWI/YS5zd2l0Y2hPZmZDb21tYW5kOmEuc3dpdGNoT25Db21tYW5kO2lmKGQmJmUpWmRhKGEsYyxlKTtlbHNlIF8uYkUoe2JoOmF9KT8ub25jbGljaz8uKGMpfTtaZGE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5iRSh7Ymg6YSxBbzp7RWk6e29uU3VjY2VzczooKT0+e2MoITEpfSxuejooKT0+e2MoITEpfX19fSk7YT8ub25jbGljayYmKGEub25jbGljayhiKSxjKCEwKSl9O18uJGRhPW5ldyBfLkkoInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZUo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy5CKGEsXy4kZGEpfTtfLmZKPV8uTCgoe2RhdGE6YSxvblRhcDpiLGtLOmMsbUs6ZCxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZSxMaTpmLG5hOmh9KT0+e2Z1bmN0aW9uIGsoRil7aWYoIUYub3Upe0Yub3U9ITA7dmFyIEM9ZUooQSgpKTshQ3x8Qy5pc0Rpc2FibGVkfHxhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzJiZ2KCl8fChiPy4oRiksXy5FSShDLEUoKSxGLGEoKS5pZ25vcmVUYXBVbnRpbENvbW1hbmRDb21wbGV0ZXMseiksKGEoKS5mb3JtRmllbGRNZXRhZGF0YSYmIWY/LigpPzM6MSk9PT0zP2woKT8udXBkYXRlVmFsdWUoIUUoKSk6cCghRSgpKSxjPy4oRSgpKSl9fXZhciBsPV8uWkkoKCk9PmEoKS5mb3JtRmllbGRNZXRhZGF0YSksW20sbl09Xy5BQygoKT0+ZUooQSgpKT8uc3dpdGNoZWRPbkJ5RGVmYXVsdHx8ITEpLHA9bixbcix0XT1fLkooITEsdm9pZCAwLCJPdmt1bGUiKSx2PXIsej10LEU9KCk9PihhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnZhbHVlfHwKITE6bSgpLEE9KCk9Pnt2YXIgRjtpZighKEY9YSgpLnN3aXRjaEJ1dHRvbikpe3ZhciBDPWEoKTtGPWQ/LigpO0M9e3N3aXRjaE9uQ29tbWFuZDpDLnN3aXRjaE9uQ29tbWFuZCxzd2l0Y2hPZmZDb21tYW5kOkMuc3dpdGNoT2ZmQ29tbWFuZCxzd2l0Y2hlZE9uQnlEZWZhdWx0OkMuc3dpdGNoZWRPbkJ5RGVmYXVsdCxpc0Rpc2FibGVkOkMuaXNEaXNhYmxlZCxhMTF5TGFiZWxTd2l0Y2hlZE9uOkMuYTExeUxhYmVsU3dpdGNoZWRPbixhMTF5TGFiZWxTd2l0Y2hlZE9mZjpDLmExMXlMYWJlbFN3aXRjaGVkT2ZmfTtGIT09dm9pZCAwJiYoQy5pc0Rpc2FibGVkPUYpO0Y9e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDpDfX1DPWVKKEYpO2lmKCFDKXJldHVybiBGO3ZhciBHPWEoKS50aXRsZT8uY29udGVudDtyZXR1cm4gRz97c3dpdGNoQnV0dG9uVmlld01vZGVsOnsuLi5DLGExMXlMYWJlbFN3aXRjaGVkT246RyxhMTF5TGFiZWxTd2l0Y2hlZE9mZjpHfX06Rn07cmV0dXJuIF8uSygic3dpdGNoLWxpc3QtaXRlbS12aWV3LW1vZGVsIiwKe2NsYXNzOiJ5dFN3aXRjaExpc3RJdGVtVmlld01vZGVsSG9zdCIsIm9uOmNsaWNrIjprfSxfLksoXy5DRCx7ZGF0YTooKT0+KHt0aXRsZTphKCkudGl0bGUsc3VidGl0bGU6YSgpLmF0dHJpYnV0ZWRTdWJ0aXRsZSxsZWFkaW5nSW1hZ2U6YSgpLmxlYWRpbmdJbWFnZSxsZWFkaW5nQWNjZXNzb3J5OmEoKS5sZWFkaW5nQWNjZXNzb3J5LGlzRGlzYWJsZWQ6YSgpLmlzRGlzYWJsZWR9KSxpc1RvZ2dsZWQ6RSxEZzohMCxuYTpoLHhzOigpPT5fLksoXy5XLHtkYXRhOkF9LHtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKF8ua0kse2RhdGE6RixxcjpFLG9uVGFwOmt9KX0pLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzplfSkpfSwiSiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY2VhLGdKLGRlYSxoSixpSixlZWEsZmVhLGdlYSxoZWEsamVhLGtlYSxsZWEsbWVhLGpKLGtKLG1KLG5lYSxvZWEscGVhLHRlYSx1ZWEscUosckosc0osd2VhLHRKLGllYSx1SjtjZWE9ZnVuY3Rpb24oYSxiPTIpe18ueEkoYSwxMCk7YS5qLnB1c2goYS5wb3MpO2Euai5wdXNoKGIpO2EucG9zKz1ifTsKZ0o9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8ueUk7aWYoYSE9PXZvaWQgMCl7Y2VhKGIsTWF0aC5jZWlsKE1hdGgubG9nMihhLmxlbmd0aCo0KzIpLzcpKTtfLndJKGIsYS5sZW5ndGgqMS4yKTt2YXIgYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKTtiLnBvcytjPmIuYnVmLmxlbmd0aCYmKF8ud0koYixjKSxjPV8udUkoYSxiLmJ1Zi5zdWJhcnJheShiLnBvcykpKTtiLnBvcys9YzthPWIuai5wb3AoKTtjPWIuai5wb3AoKTtsZXQgZD1iLnBvcy1jLWE7Zm9yKDthLS07KXtsZXQgZT1hPzEyODowO2Iudmlldy5zZXRVaW50OChjKyssZCYxMjd8ZSk7ZD4+PTd9fWI9bmV3IFVpbnQ4QXJyYXkoYi5idWYuYnVmZmVyLGIuYnVmLmJ5dGVPZmZzZXQsYi5wb3MpO3JldHVybihuZXcgVGV4dERlY29kZXIoInV0Zi04IikpLmRlY29kZShiKX07CmRlYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2I9Xy56SShiLCJtYWluUGxheWxpc3RFbnRpdHkiKTt2YXIgYz1hLm1haW5QbGF5bGlzdEVudGl0eT8uW2JdO2I9W107aWYoIWM/LnZpZGVvcylyZXR1cm4gYjtmb3IobGV0IGQgb2YgYy52aWRlb3Mpe2M9YT8ubWFpblBsYXlsaXN0VmlkZW9FbnRpdHk/LltkXT8udmlkZW87aWYoIWMpY29udGludWU7KHtlbnRpdHlJZDpjfT1fLkdIKGMpKTtjJiZiLnB1c2goYyl9cmV0dXJuIGJ9O2hKPWZ1bmN0aW9uKGEpe3JldHVybiJkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzImluIGF9OwppSj1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuIGM7Zm9yKGxldCBoIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChoKS5lbnRpdHlJZDtpZihlKXt2YXIgZj1fLnFBKGQsIm11c2ljUGxheWxpc3QiLF8uekkoZSwibXVzaWNQbGF5bGlzdCIpKTtkPV8ucUEoZCwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiLF8uekkoZSwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiKSk7aWYoZiYmZCl7Zj17bXVzaWNQbGF5bGlzdEVudGl0eTpmLG11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OmR9O2JyZWFrIGF9fWY9dm9pZCAwfWQ9TnVtYmVyKGJbaF0/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtkPWlzTmFOKGQpPygwLF8uZWwpKCk6ZDtmIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXM6ZixhZGRlZFRpbWVzdGFtcE1pbGxpczpkfSl9cmV0dXJuIGN9OwplZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldDtmb3IobGV0IGMgb2YgYSlpZigibXVzaWNQbGF5bGlzdEVudGl0eSJpbiBjJiYibXVzaWNQbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkiaW4gYylmb3IobGV0IGQgb2YgYy5tdXNpY1BsYXlsaXN0RW50aXR5LnRyYWNrcyliLmFkZChkKTtyZXR1cm4gYn07CmZlYT1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuW107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChtKS5lbnRpdHlJZDtpZihlKXtiPV8ucUEoZCwibXVzaWNUcmFjayIsXy56SShlLCJtdXNpY1RyYWNrIikpO3ZhciBmPV8ucUEoZCwibXVzaWNBcnRpc3QiLF8uekkoZSwibXVzaWNBcnRpc3QiKSl8fHt9O2I6e3ZhciBoPWU7aWYoaCl7ZT1fLnFBKGQsInBsYXliYWNrRGF0YSIsXy56SShoLCJwbGF5YmFja0RhdGEiKSk/P251bGw7dmFyIGs9Xy5xQShkLCJ0cmFuc2ZlciIsXy56SShoLCJ0cmFuc2ZlciIpKT8/bnVsbCxsPV8ucUEoZCwib2ZmbGluZVZpZGVvU3RyZWFtcyIsXy56SShoLCJvZmZsaW5lVmlkZW9TdHJlYW1zIikpPz9udWxsO2Q9Xy5xQShkLCJvZmZsaW5lVmlkZW9Qb2xpY3kiLF8uekkoaCwib2ZmbGluZVZpZGVvUG9saWN5IikpPz9udWxsO2lmKGV8fAprfHxsfHxkKXtkPXtwbGF5YmFja0RhdGFFbnRpdHk6ZSx0cmFuc2ZlckVudGl0eTprLHN0cmVhbUVudGl0eTpsLHBvbGljeUVudGl0eTpkfTticmVhayBifX1kPXZvaWQgMH1pZihkJiZiJiZmKXtiPXttdXNpY1RyYWNrRW50aXR5OmIsbXVzaWNBcnRpc3RFbnRpdHk6ZiwuLi5kfTticmVhayBhfX1iPXZvaWQgMH1mPU51bWJlcihfLnFBKGEsIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5IixtKT8uYWRkZWRUaW1lc3RhbXBNaWxsaXMpO2Y9aXNOYU4oZik/KDAsXy5lbCkoKTpmO2IhPT12b2lkIDAmJmMucHVzaCh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YixhZGRlZFRpbWVzdGFtcE1pbGxpczpmfSl9cmV0dXJuIGN9OwpnZWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZmVhKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTthPWlKKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTtyZXR1cm57ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6Yixkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmF9fTsKaGVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFNldCxkPWlKKGEpLm1hcChlPT5lLmRvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXMpO2Q9ZWVhKGQpO2ZvcihsZXQgZSBvZiBkKSh7ZW50aXR5SWQ6ZH09Xy5HSChlKSksZCYmYy5hZGQoZCk7KHtkb3dubG9hZGVkTXVzaWNFbnRpdGllczphfT1nZWEoYSkpO3JldHVybiBhLmZpbHRlcihlPT57aWYoZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKXtlPWUubXVzaWNUcmFja0VudGl0eTt2YXIgZjtpZihmPWI9PT0iUFBPTSI/ITA6IWMuaGFzKGUudmlkZW9JZCkpYjpzd2l0Y2goZT1lLm11c2ljVmlkZW9UeXBlLGIpe2Nhc2UgIlBQU0UiOmY9ZT09PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSI7YnJlYWsgYjtkZWZhdWx0OmY9ZSE9PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSJ9ZT1mfWVsc2UgZT0hMTtyZXR1cm4gZX0pLm1hcChlPT5lLm11c2ljVHJhY2tFbnRpdHk/LnZpZGVvSWQpfTsKamVhPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuW107aWYoT2JqZWN0LnZhbHVlcyhpZWEpLmluY2x1ZGVzKGIpKXJldHVybiBoZWEoYSxiKTtiPV8uekkoYiwibXVzaWNQbGF5bGlzdCIpO2I9YS5tdXNpY1BsYXlsaXN0Py5bYl07YT1bXTtpZighYj8udHJhY2tzKXJldHVybiBhO2ZvcihsZXQgYyBvZiBiLnRyYWNrcykoe2VudGl0eUlkOmJ9PV8uR0goYykpLGImJmEucHVzaChiKTtyZXR1cm4gYX07CmtlYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0KGEpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfRkFJTEVEIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIik7aWYoYi5oYXMoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9QUkVfVFJBTlNGRVIiKSYmYi5zaXplPT09MXx8Yi5zaXplPT09MClyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjthPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciKTtiPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSIpO3JldHVybiBhfHxiPyJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOiJUUkFOU0ZFUl9TVEFURV9DT01QTEVURSJ9OwpsZWE9ZnVuY3Rpb24oYSxiKXtiPV8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX1JFTUlYIj9qZWEoYSxiKTpkZWEoYSxiKTtpZighYi5sZW5ndGgpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO2I9Yi5tYXAoYz0+e2M9Yz8oYz1fLnFBKGEsInRyYW5zZmVyIixfLnpJKGMsInRyYW5zZmVyIikpKT9jLnRyYW5zZmVyU3RhdGU/PyJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBjfSk7cmV0dXJuIGtlYShiKX07bWVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiZG93bmxvYWRTdGF0dXNFbnRpdHkiLF8uekkoYiwiZG93bmxvYWRTdGF0dXNFbnRpdHkiKSk/LmRvd25sb2FkU3RhdGU9PT0iRE9XTkxPQURfU1RBVEVfVVNFUl9ERUxFVEVEIj8hMDohMX07ako9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIENTUyE9PSJ1bmRlZmluZWQiJiZDU1Muc3VwcG9ydHM/Ligic2VsZWN0b3IoOmhhcygqKSkiKX07CmtKPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpc2liaWxpdHkhPT0iaGlkZGVuIiYmYS5kaXNwbGF5IT09Im5vbmUifTttSj1mdW5jdGlvbihhKXtpZihqSigpfHxhLnRhZ05hbWUhPT0iREVUQUlMUyI/IWEubWF0Y2hlcyhsSik6YS5xdWVyeVNlbGVjdG9yKCJzdW1tYXJ5IikhPT1udWxsKXJldHVybi0xO2E9YS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fCIwIjtyZXR1cm4gTnVtYmVyKGEpfTtuZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29tZShiPT5tSihiKT4wKX07b2VhPWZ1bmN0aW9uKGEpe2lmKGEudGV4dENvbnRlbnR8fGEuYXJpYUxhYmVsKXJldHVybiEwO2lmKGEgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KXtpZighYS5sYWJlbHMpcmV0dXJuITE7Zm9yKGxldCBiIG9mIGEubGFiZWxzKWlmKGIudGV4dENvbnRlbnQpcmV0dXJuITB9cmV0dXJuITF9O3BlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb3J0KChiLGMpPT5tSihjKS1tSihiKSl9OwpfLm5KPWZ1bmN0aW9uKGEpe2E9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwobEopKS5maWx0ZXIoYj0+KGtKKGIuc3R5bGUpP2tKKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpKTohMSkmJm9lYShiKSk7cmV0dXJuIG5lYShhKT9wZWEoYSk6YX07CnRlYT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm5bb0pdO3N3aXRjaChhKXtjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUiOnJldHVybltwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjpjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOnJldHVybiBjP1twSl06W3FlYSxwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUEFVU0VEX0JZX1VTRVIiOnJldHVybltyZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfV0FJVElOR19GT1JfUExBWUVSX1JFU1BPTlNFX1JFRlJFU0giOnJldHVybltzZWEscEpdO2RlZmF1bHQ6cmV0dXJuW29KXX19Owp1ZWE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRlYShhLGIsZCkubWFwKGU9Pnt2YXIgZj1lLnRleHQsaD1lLmljb25UeXBlLGs9ZS5paTtlPWUuS2g7Zj1mP3tjb250ZW50OmZ9OnZvaWQgMDtoPWgmJntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpofX1dfTt2YXIgbD1fLnFkKGMpO2lmKGwpe2xldCBtPV8uQihsLF8uQkkpLG49Xy5CKGwsXy5BSSk7bSYmaz9tLmFjdGlvbj1rOm4mJmUmJihuLmFjdGlvbj1lKX1yZXR1cm57dGl0bGU6ZixsZWFkaW5nSW1hZ2U6aCxyZW5kZXJlckNvbnRleHQ6bCYme2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDpsfX19fX0pfTtxSj1mdW5jdGlvbihhKXthPV8uc0goYS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLkIoYSxfLkJJKT8udmlkZW9JZH07cko9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5BSSk/LnBsYXlsaXN0SWR9OwpzSj1mdW5jdGlvbihhKXthPV8uQihhLF8uWkMpO3JldHVybiEhYSYmXy50SChhLnJlbmRlcmVyQ29udGV4dCl9O3dlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5saXN0SXRlbXM/LnNvbWUoYj0+e2lmKHNKKGIpKXJldHVybiEwO2I9Xy5CKGIsdmVhKTtyZXR1cm4hIWImJihfLnRIKGIucmVuZGVyZXJDb250ZXh0KXx8c0ooYi5kZWZhdWx0TGlzdEl0ZW0pfHxzSihiLnRvZ2dsZWRMaXN0SXRlbSkpfSl9O3RKPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7YVtiPT09LTE/Yy0xOihiLTErYyklY10/LmZvY3VzKCl9O2llYT17ZEM6IlBQQUQiLE9DOiJQUERQIixMRjoiUFBPTSIscUc6IlBQUkMiLHdHOiJQUFNFIix4RzoiUFBTViJ9O3VKPSJhW2hyZWZdIGFbdGFiaW5kZXhdIGFyZWFbaHJlZl0gaWZyYW1lIFt0YWJpbmRleF0gW2NvbnRlbnRFZGl0YWJsZV0gc3VtbWFyeSBpbnB1dDpub3QoW2Rpc2FibGVkXSkgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSkgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSBvYmplY3Q6bm90KFtkaXNhYmxlZF0pIi5zcGxpdCgiICIpOwpqSigpJiZ1Si5wdXNoKCJkZXRhaWxzOm5vdCg6aGFzKHN1bW1hcnkpKSIpO3ZhciBsSj11Si5qb2luKCIsIik7dmFyIHZlYT1uZXcgXy5JKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWwiKTt2YXIgeGVhPV8uTChhPT57dmFyIHtkYXRhOmIsY2xhc3NOYW1lOmMsbmE6ZCxJYTplLEJjOmZ9PV8uREMoYSx7bmE6ITEsSWE6ITEsQmM6ITF9KSxoPV8uY0kobj0+e2E6e3ZhciBwPWIoKS5lbnRpdHlLZXkscj1iKCkuZW50aXR5U2VsZWN0b3JUeXBlO2lmKHIpc3dpdGNoKHIpe2Nhc2UgIlRPR0dMRUFCTEVfTElTVF9JVEVNX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1RPR0dMRV9NRU5VX1NFUlZJQ0VfSVRFTV9FTlRJVFkiOmlmKCFwKWJyZWFrO249KG49Xy54QS5lQihuLHApKSYmbi5pc1RvZ2dsZWQhPT12b2lkIDA/e2lzVG9nZ2xlZDpuLmlzVG9nZ2xlZH06dm9pZCAwO2JyZWFrIGE7ZGVmYXVsdDpfLklwKG5ldyBfLlhqKCJFcnJvcjogZW50aXR5U2VsZWN0b3JUeXBlIGRlZmluZWQgYnV0IG5vdCBtYXRjaGVkIGluIHNlbGVjdG9yLiIsbixyKSl9bj12b2lkIDB9cmV0dXJuIG59KSxbayxsXT1fLkFDKCgpPT5oKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMD9oKCk/LmlzVG9nZ2xlZDpiKCkuaW5pdGlhbFN0YXRlPy5pc1RvZ2dsZWQ/PwpiKCkuaW5pdGlhbElzVG9nZ2xlZD8/ITEpLG09KCk9Pnt2YXIgbj1rKCk/YigpLnRvZ2dsZWRMaXN0SXRlbTpiKCkuZGVmYXVsdExpc3RJdGVtO3JldHVybiBfLkIoXy5CKG4sXy5aQyk/LnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWx9O3JldHVybiBfLksoInRvZ2dsZWFibGUtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQse29uVGFwOihuLHApPT57cCgpO2goKT8uaXNUb2dnbGVkIT09dm9pZCAwfHxsKCFrKCkpfX0pKSxjbGFzczpfLlAoInRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLGMpfSxfLksoXy5PLHtBOigpPT57aWYoaygpKXt2YXIgbj1iKCkudG9nZ2xlZExpc3RJdGVtO249Xy5CKG4sXy5aQyl9ZWxzZSBuPWIoKS5kZWZhdWx0TGlzdEl0ZW0sbj1fLkIobixfLlpDKTtyZXR1cm4gbn0sdGhlbjpuPT5fLksoXy5DRCx7ZGF0YTpuLGlzVG9nZ2xlZDprLG5hOmQsSWE6ZSxCYzpmLGFyaWFMYWJlbDptLAphcmlhUHJlc3NlZDprfSl9KSl9LCJLIik7dmFyIHllYT1fLmFBKCJET1dOTE9BRCIse30sIkRvd25sb2FkIiksemVhPV8uYUEoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIse30sIkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIpLEFlYT1fLmFBKCJSRVRSWSIse30sIlJldHJ5IiksQmVhPV8uYUEoIlBBVVNFX0RPV05MT0FESU5HIix7fSwiUGF1c2UgZG93bmxvYWRpbmciKSxDZWE9Xy5hQSgiUkVTVU1FX0RPV05MT0FEIix7fSwiUmVzdW1lIGRvd25sb2FkIiksb0o9e3RleHQ6eWVhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX0FERCIsS2g6IkFDVElPTl9BREQifSxwSj17dGV4dDp6ZWEsaWNvblR5cGU6IkRFTEVURSIsaWk6IkFDVElPTl9SRU1PVkUiLEtoOiJBQ1RJT05fUkVNT1ZFIn0sc2VhPXt0ZXh0OkFlYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9SRVRSWSIsS2g6IkFDVElPTl9SRU1PVkUifSxxZWE9e3RleHQ6QmVhLGljb25UeXBlOiJPRkZMSU5FX1BBVVNFIixpaToiQUNUSU9OX1BBVVNFIiwKS2g6IkFDVElPTl9QQVVTRSJ9LHJlYT17dGV4dDpDZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVTVU1FIixLaDoiQUNUSU9OX1JFU1VNRSJ9O18uTChhPT57dmFyIGI9Xy5jSShoPT57dmFyIGs9cUooYS5kYXRhKCkpLGw9ckooYS5kYXRhKCkpO2s/KGg9aC5lbnRpdGllcyxrPyhsPV8ucUEoaCwidHJhbnNmZXIiLF8uekkoaywidHJhbnNmZXIiKSkpP2s9bC50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6KGw9Xy5xQShoLCJvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHkiLF8uekkoaywib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IikpLGs9Xy5xQShoLCJtYWluVmlkZW9FbnRpdHkiLF8uekkoaywibWFpblZpZGVvRW50aXR5IikpLGs9bHx8az8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIik6az0iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9bD9sZWEoaC5lbnRpdGllcyxsKToiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI7cmV0dXJuIGt9KSxjPV8uREkobWVhLCgpPT5xSihhLmRhdGEoKSkpLApkPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTshayYmbD8oaz1oLmVudGl0aWVzLGw/KGw9Z0oobCksaz1fLnFBKGssIm9mZmxpbmVhYmlsaXR5RW50aXR5IixfLnpJKGwsIm9mZmxpbmVhYmlsaXR5RW50aXR5IikpPy5hZGRUb09mZmxpbmVCdXR0b25TdGF0ZT8/IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIik6az0iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0RJU0FCTEVEIik6KGw9aC5lbnRpdGllcyxrPyhrPWdKKGspLGs9Xy5xQShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpO3JldHVybiBrfSksZT0oKT0+dWVhKGIoKSxjKCksXy5zSChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLAohIXJKKGEuZGF0YSgpKSksZj0oKT0+ZCgpIT09IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIjtyZXR1cm4gXy5LKCJ5dC1kb3dubG9hZC1saXN0LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOiJ5dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixoaWRkZW46Zn0sXy5LKF8uTyx7QTooKT0+IWYoKSx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjpoPT5fLksoXy5nRyx7cGE6aH0saz0+Xy5LKF8uQ0Qse2RhdGE6ayxuYTphLm5hLElhOmEuSWEsQmM6YS5CYyxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd9KSl9KX0pKX0sIkwiKS5pZG9tQ29tcGF0PSEwO18uQkQ9Xy5MKCh7ZGF0YTphLG5hOmIsY2U6YyxCYzpkLGlzT3ZlcmxheTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmfSk9Pnt2YXIgaD0oKT0+d2VhKGEoKSkmJmQ/LigpO3JldHVybiBfLksoInl0LWxpc3Qtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRMaXN0Vmlld01vZGVsSG9zdCIse3l0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXY6Xy5nciYmZG9jdW1lbnQuYm9keS5oYXNBdHRyaWJ1dGUoInNwYXRpYWwtbmF2aWdhdGlvbi1lbmFibGVkIikmJmRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpPT09InRydWUifSkscm9sZTooKT0+aCgpPyJtZW51IjoibGlzdCIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigpPT57dmFyIGs9YSgpPy52aXNpYmxlRWxlbWVudENvdW50O2lmKGspcmV0dXJuYCR7KGsrLjUpKjQwfXB4YH19KSwib246a2V5ZG93biI6ZnVuY3Rpb24oayl7aWYoZD8uKCkmJl8ueCgid2ViX2VuYWJsZV9hcnJvd19rZXlfbmF2aWdhdGlvbl9pbl9kcm9wZG93biIpKXt2YXIgbD0KXy5uSihrLmN1cnJlbnRUYXJnZXQpO2lmKGwubGVuZ3RoIT09MCl7dmFyIG09QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChsLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO3N3aXRjaChrLmtleSl7Y2FzZSAiQXJyb3dEb3duIjprLnByZXZlbnREZWZhdWx0KCk7bFsobSsxKSVsLmxlbmd0aF0/LmZvY3VzKCk7YnJlYWs7Y2FzZSAiQXJyb3dVcCI6ay5wcmV2ZW50RGVmYXVsdCgpO3RKKGwsbSk7YnJlYWs7Y2FzZSAiVGFiIjprLnByZXZlbnREZWZhdWx0KCksay5zaGlmdEtleT90SihsLG0pOmxbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpfX19fX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxpc3RJdGVtc30se2xpc3RJdGVtVmlld01vZGVsOih7ZGF0YTprfSk9Pl8uSyhfLkNELHtkYXRhOmssSWE6aCxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pLHRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoeGVhLAp7ZGF0YTprLElhOmgsbmE6YixCYzpkfSksZG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbDooKT0+Xy5LKF8uSUIsbnVsbCksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpfSkpfSwiTSIpO18uQkQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiSHhqbGJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uS0o9bmV3IF8uSSgiYnV0dG9uVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uc0Q9Xy5MKGE9PntmdW5jdGlvbiBiKG4pe3ZhciBwPWMoKTt2YXIgcj1kKCk7ciE9PXZvaWQgMD9wPXI6KHI9Xy5CKHAuc2Vjb25kYXJ5QnV0dG9uLF8uS0opLHA9Xy5CKHAucHJpbWFyeUJ1dHRvbixfLktKKT8uaXNGdWxsV2lkdGghPT0hMXx8ciYmcj8uaXNGdWxsV2lkdGghPT0hMT8xOjMpO3JldHVybiBuPT09cH12YXIge2RhdGE6Yyx0eXBlOmQsZGlzYWJsZVBhZGRpbmc6ZSxOaTpmLFhxOmh9PV8uREMoYSx7dHlwZTp2b2lkIDAsZGlzYWJsZVBhZGRpbmc6ITEsTmk6ITF9KSxrPSgpPT5jKCkuc3RhY2tpbmc9PT0iUEFORUxfRk9PVEVSX1NUQUNLSU5HX1ZFUlRJQ0FMIixsPSgpPT4oe2Rpc2FibGVkOmYoKSxzdGF0ZTpmKCk/ImRpc2FibGVkIjoiYWN0aXZlIn0pLG09KCk9PmMoKS5sZWFkaW5nTGFiZWx8fGMoKS50cmFpbGluZ0xhYmVsO3JldHVybiBfLksoInl0LXBhbmVsLWZvb3Rlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdCIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXI6KCk9PmMoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsRm9vdGVyVmlld01vZGVsRGlzYWJsZVBhZGRpbmc6ZX0pfSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0Um93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmc6KCk9Pnt2YXIgbj1jKCk7cmV0dXJuISghbi5sZWFkaW5nTGFiZWwmJiFuLnRyYWlsaW5nTGFiZWx8fCFuLnByaW1hcnlCdXR0b24mJiFuLnNlY29uZGFyeUJ1dHRvbil9fSl9LF8uSyhfLlYse3RleHQ6KCk9PmMoKS5sZWFkaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCh7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5nOm19KX0pLF8uSyhfLlYse3RleHQ6KCk9PmMoKS50cmFpbGluZ0xhYmVsfSkpfSksXy5LKF8uTyx7QTprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFjayJ9LApfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b246KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCxvbkNsaWNrOmh9KX0pKSxfLksoXy5XLHtkYXRhOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSl9KSxfLksoXy5PLHtBOigpPT4haygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5nOigpPT5iKDMpfSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93TGVmdEJ1dHRvbiIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW46KCk9PiFjKCkuc2Vjb25kYXJ5QnV0dG9ufHxiKDApLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbms6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsUHJpbWFyeUJ1dHRvbiIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGg6KCk9PmIoMCl8fGIoMSkseXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZDooKT0+YigyKX0pfSxfLksoXy5XLHtkYXRhOigpPT5jKCkucHJpbWFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6bn0pPT5fLksoXy5IRCx7ZGF0YTpuLGJ1dHRvbk92ZXJyaWRlczpsLApvbkNsaWNrOmh9KX0pKSl9KSl9LCJGYSIpO18uc0QuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibFBXamtiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJqQmlzYWYiKTtyZXR1cm4gXy5UQ307Xy5mTD1fLmNEKCgpPT5fLmVMKCksImJhZGdlU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VTaGFwZSIsImpCaXNhZiIsXy5lTCl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHlmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xlIjtjYXNlIDE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xlIjtjYXNlIDI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nUmVkU3F1YXJlIjtjYXNlIDM6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxHcmVlblNxdWFyZSI7Y2FzZSA0OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsQmx1ZVNxdWFyZSI7Y2FzZSA1OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZSI7Y2FzZSA2OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJlIjsKY2FzZSA3OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlWWVsbG93U3F1YXJlIjtjYXNlIDg6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmUiO2Nhc2UgOTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZSI7Y2FzZSAxMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZSI7Y2FzZSAxMTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZSI7Y2FzZSAxMjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJlIjtjYXNlIDEzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmUifX0semZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9DT01NRVJDRSI6Y2FzZSAiQkFER0VfTUVNQkVSU19PTkxZIjpyZXR1cm4gMTA7CmNhc2UgIkJBREdFX0RJU0NPVU5UIjpyZXR1cm4gODtjYXNlICJCQURHRV9TVEFUVVNfTkVXIjpyZXR1cm4gMTM7Y2FzZSAiQkFER0VfUFJFTUlVTSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfUFJPTU9URUQiOnJldHVybiA0O2Nhc2UgIkJBREdFX1BST01PVEVEX0lOVkVSVEVEIjpyZXR1cm4gNTtjYXNlICJCQURHRV9NRURJQSI6cmV0dXJuIDE7Y2FzZSAiQkFER0VfVElNRUxZIjpyZXR1cm4gNjtjYXNlICJCQURHRV9MSVZFX05PVyI6cmV0dXJuIDE5O2Nhc2UgIkJBREdFX1NUQVRVU19DT01QTEVURSI6cmV0dXJuIDE0O2Nhc2UgIkJBREdFX1NUQVRVU19XQVJOSU5HIjpyZXR1cm4gMTU7Y2FzZSAiQkFER0VfU1RBVFVTX0VSUk9SIjpyZXR1cm4gMTY7Y2FzZSAiQkFER0VfU1RBVFVTX0RFRkFVTFQiOnJldHVybiAxNztkZWZhdWx0OnJldHVybiAwfX0sQWZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9OWl9SQVRJTkdfR1JFRU5fQ0lSQ0xFIjpyZXR1cm4gMDtjYXNlICJCQURHRV9OWl9SQVRJTkdfWUVMTE9XX0NJUkNMRSI6cmV0dXJuIDE7CmNhc2UgIkJBREdFX05aX1JBVElOR19SRURfU1FVQVJFIjpyZXR1cm4gMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfR1JFRU5fU1FVQVJFIjpyZXR1cm4gMztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfQkxVRV9TUVVBUkUiOnJldHVybiA0O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTFVFX1NRVUFSRSI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX1lFTExPV19TUVVBUkUiOnJldHVybiA2O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfT1JBTkdFX1NRVUFSRSI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX09SQU5HRV9TUVVBUkUiOnJldHVybiA5O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9SRURfU1FVQVJFIjpyZXR1cm4gMTA7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX1JFRF9TUVVBUkUiOnJldHVybiAxMTsKY2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMQUNLX1NRVUFSRSI6cmV0dXJuIDEyO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTEFDS19TUVVBUkUiOnJldHVybiAxM319O3ZhciBCZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiYnItbnotYmFkZ2Utc2hhcGUiLHtjbGFzczpfLlAoKCk9PnlmYShhKCkudWkpKSxyb2xlOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHQ/ImltZyI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0fSwoKT0+YSgpPy50ZXh0KSwidWEiKTtfLkVEPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLmRhdGEoKTtpZihjKXt2YXIgZD0hIWEuekw/LigpLGU9YS5vZz8uKCksZj1hLkRqPy4oKSxoPWEuZXA/LigpLGs9YS5xeD8uKCk7YTpzd2l0Y2goYy5iYWRnZVN0eWxlKXtjYXNlICJCQURHRV9PVkVSTEFZIjp2YXIgbD0hMDticmVhayBhO2RlZmF1bHQ6bD0hMX1jPXt0eXBlOmQ/MTg6emZhKGMuYmFkZ2VTdHlsZSksdWk6QWZhKGMuYmFkZ2VTdHlsZSksdGV4dDpjLmJhZGdlVGV4dCxpY29uOmMuaWNvbk5hbWUsaXNPdmVybGF5Omwsb2c6ZXx8Xy54KCJ3ZWJfbW9kZXJuX2JhZGdlX3ZpZXdfbW9kZWwiKSxhY2Nlc3NpYmlsaXR5VGV4dDpjLmFjY2Vzc2liaWxpdHlMYWJlbHx8Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbCxEajpmLGVwOmgsb0E6ayxuczpfLkIoYy50b29sdGlwT25Ib3ZlcixfLmNLKT8udG9vbHRpcFRleHR9fWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9O3JldHVybiBfLksoInl0LWJhZGdlLXZpZXctbW9kZWwiLAp7Y2xhc3M6Xy5QKCJ5dEJhZGdlVmlld01vZGVsSG9zdCIsYS5jbGFzcyl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PiEhYigpPy51aX0sKCk9Pl8uSyhCZmEse2RhdGE6KCk9PmIoKX0pKSxfLksoXy5DRSx7d2hlbjooKT0+ISFiKCkmJiFiKCkudWl9LCgpPT5fLksoXy5mTCx7ZGF0YTooKT0+YigpfSkpKSl9LCJ2YSIpO18uRUQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiUHpVZFpiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udko9ZnVuY3Rpb24oYSxiLGMsZCl7ZHx8KGQ9e2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMSxjb21wb3NlZDohMH0pO2MhPT1udWxsJiZjIT09dm9pZCAwJiYoZC5kZXRhaWw9Yyk7dmFyIGU9bmV3IEN1c3RvbUV2ZW50KGIsZCk7Xy5FQSgoKT0+dm9pZCBhLmRpc3BhdGNoRXZlbnQoZSkpO3JldHVybiBlfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kTD1mdW5jdGlvbigpe307Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckU9Xy5MKGE9Pnt2YXIge0ZJOmIsZkY6YyxwQzpkLGFzc2V0VHlwZTplLFFnOmYsa2g6aCx2azprLHprOmwsUHc6bSxxazpuLFVvOnAsYnV0dG9uU3R5bGU6cixFejp0LFByOnYsY29udGVudEFsaWdubWVudDp6LGlzRnVsbHNjcmVlbjpFLGtwOkEsd2lkdGg6RixtYXhIZWlnaHQ6Qyx1cTpHLG50OkQsc3E6SCxsdDpSfT1fLkRDKGEse1B3OjAsVW86MCxidXR0b25TdHlsZTowLGNvbnRlbnRBbGlnbm1lbnQ6MCxtYXhIZWlnaHQ6MCxpc0Z1bGxzY3JlZW46ITEsa3A6ITEsa2g6ITAsdXE6ITEsc3E6ITF9KTthPXQ/KCk9PnQoe2J1dHRvbk92ZXJyaWRlczooKT0+KHtzdHlsZTpyPy4oKT09PTE/ImNhbGwtdG8tYWN0aW9uIjoibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0pLGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PQowfHxwPy4oKT09PTJ9KX0pOnZvaWQgMDt2YXIgTT12PygpPT52KHtidXR0b25PdmVycmlkZXM6e3N0eWxlOiJtb25vIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0sY2xhc3NOYW1lOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0QnV0dG9uOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVTdHJldGNoZWQ6KCk9PnA/LigpPT09MHx8cD8uKCk9PT0yfSl9KTp2b2lkIDAsUz0oKT0+KCEhZiYmaCgpfHwhIWt8fCEhbCkmJm0oKT09PTA7cmV0dXJuIF8uSygiZGlhbG9nLWxheW91dCIse2VsOl8uckYoYixfLmRMKSxjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEhvc3Q6ITAseXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbjpFLHl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmU6KCk9PiFFKCkmJiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHQ6KCk9PkMoKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldDooKT0+CmU/LigpPT09MX0pLHN0eWxlOigpPT5GPy4oKSE9PXZvaWQgMD9gd2lkdGg6ICR7RigpfXB4O2A6IiJ9LGM/Xy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEljb246ITAseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWE6KCk9PiEhZCYmbSgpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ246KCk9PnooKT09PTF9KX0sXy5LKGMsbnVsbCkpOm51bGwsXy5LKF8uTyx7QTpHLHRoZW46KCk9PkQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyIn0sXy5LKEQsbnVsbCkpOm51bGwsVzooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOlMsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohIWR9KX0pLGQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXQifSxfLksoZCx7Y2xhc3NOYW1lOiJ5dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW0ifSkpOgpudWxsKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXI6KCk9PiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9Pno/LigpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRUb3BQYWRkaW5nOigpPT4hUygpJiYhQSgpJiYhRygpJiYhKGYmJmgoKSYmIUQmJm0/LigpPT09MSl8fCEhZCYmbT8uKCk9PT0wfSl9LF8uSyhfLk8se0E6KCk9PmYmJmgoKSYmIUQmJm0/LigpPT09MSx0aGVuOigpPT5fLksoWVAse2NvbnRlbnRBbGlnbm1lbnQ6eix2azprLHprOmwsUWc6ZixraDpoLFRsOiExfSl9KSxuP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVyOigpPT4hQSgpfSl9LF8uSyhuLG51bGwpKSk6bnVsbCxfLksoXy5PLHtBOkgsdGhlbjooKT0+Uj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJDb250YWluZXIifSwKXy5LKFIsbnVsbCkpOm51bGx9KSxhfHxNP18uSyhSaWEse2F3Ol8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dEZvb3RlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZDooKT0+cD8uKCk9PT0yLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVFbmQ6KCk9PnA/LigpPT09MX0pLFl0OmEsY3U6TX0pOm51bGwpKX0sIlBiIik7CnZhciBZUD1fLkwoYT0+e3ZhciB7Y29udGVudEFsaWdubWVudDpiLHZrOmMsUWc6ZCxraDplLHprOmYsVGw6aCxFdjprfT1fLkRDKGEse1RsOiExLEV2OiEwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJDb250YWluZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXQ6aCx5dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbjooKT0+Yj8uKCk9PT0xJiZrKCl9KX0sXy5LKF8uTyx7QTooKT0+aygpLHRoZW46KCk9PmM/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0TGVhZGluZ0FjdGlvbkhlYWRlciJ9LF8uSyhjLG51bGwpKTpudWxsfSksZD9fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRUaXRsZSJ9LF8uSyhkLG51bGwpKX0pOm51bGwsZj9fLksoImRpdiIsbnVsbCwKXy5LKGYsbnVsbCkpOm51bGwpfSwiUWIiKSxSaWE9Xy5MKCh7YXc6YSxZdDpiLGN1OmN9KT0+Xy5LKCJkaXYiLHtjbGFzczphfSxjP18uSyhjLG51bGwpOm51bGwsYj9fLksoYixudWxsKTpudWxsKSwiUmIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidmlVV1YiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iTT1uZXcgXy5WcygiTE9UVElFX0xPQURFUl9UT0tFTiIpO18uY009Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLGFuaW1hdGlvbk5hbWU6YyxhbmltYXRpb25SZWY6ZCxHSTplfSk9Pnt2YXIgZj1fLnZFKCJsb3R0aWUtY29tcG9uZW50IiksaDtfLll1KCgpPT52b2lkIGg/LmRlc3Ryb3koKSk7dmFyIGs7Xy5uRSgoKT0+e3ZhciBsPV8uQnYoYyk7aWYobCE9PWspe2s9bDt2YXIgbT17YW5pbWF0aW9uTmFtZTpsLGFuaW1hdGlvblJlZjpfLkJ2KGQpLC4uLl8uQnYoYSl9O3RyeXtfLnkoKS5yZXNvbHZlKF8uYk0pKCkudGhlbihuPT57aD8uZGVzdHJveSgpO3ZhciBwPWU/LigpPy52YWx1ZT8/Zi52YWx1ZSxyPW0uYW5pbWF0aW9uUmVmLHQ9bS5saXN0ZW5lcnM7bj1uLmxvYWRBbmltYXRpb24oe2NvbnRhaW5lcjpwLHJlbmRlcmVyU2V0dGluZ3M6bS5yZW5kZXJlclNldHRpbmdzLC4uLm0uYW5pbWF0aW9uQ29uZmlnfSk7ciYmKHIubG90dGllRWw9bik7aWYodClmb3IobGV0IFt2LHpdb2YgT2JqZWN0LmVudHJpZXModCkpcj12LCh0PXopJiZuLmFkZEV2ZW50TGlzdGVuZXIociwKdCk7aD1ufSl9Y2F0Y2gobil7bD0iTG90dGllQ29tcG9uZW50IGVycm9yLiIsbi5tZXNzYWdlJiYobCs9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtuLm1lc3NhZ2V9YCksXy5jdyhuLGwpLF8uSXAobiksbS5saXN0ZW5lcnM/LmVycm9yJiZtLmxpc3RlbmVycy5lcnJvcihuKX19fSwieE9DazUiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+IWU/LigpLHRoZW46KCk9Pl8uSygibG90dGllLWNvbXBvbmVudCIse2NsYXNzOl8uUCgieXRMb3R0aWVDb21wb25lbnRIb3N0IixiKSxlbDpmfSl9KX0sIkthIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBiZ2E7YmdhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoaCxrKXtpZihiLnZhbHVlPT09ayYmIWIuY2FuY2VsbGVkKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2EuY2xhc3NMaXN0LmFkZCgieXRTcGVjSWNvblNoYXBlSG9zdCIpO2goYSxkKX19dmFyIGY9Xy55KCkucmVzb2x2ZShfLlhMKS5weShjKTt0eXBlb2YgZj09PSJmdW5jdGlvbiI/KGIudmFsdWU9bnVsbCxlKGYsbnVsbCkpOihiLnZhbHVlPWYsZi50aGVuKGg9PntlKGgsZil9KSl9O18uWEw9bmV3IF8uVnMoIklDT05fTUFOQUdFUl9UT0tFTiIpO18uWUw9Xy5MKGE9Pnt2YXIgYj17dmFsdWU6bnVsbCxjYW5jZWxsZWQ6ITF9O18uWXUoKCk9PntiLmNhbmNlbGxlZD0hMH0pO3ZhciBjPV8uTihhLmRhdGEse2VxdWFsczooZCxlKT0+ZC5pY29uTmFtZT09PWUuaWNvbk5hbWUmJmQuaWNvblN0eWxlPT09ZS5pY29uU3R5bGUmJmQuaWNvblNpemU9PT1lLmljb25TaXplJiZkLmx4PT09ZS5seCYmZC5reD09PWUua3h9LCJjazI0amIiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0LWljb24tc2hhcGUiLGVsOl8uckYoZD0+e18ubkUoKCk9Pnt2YXIgZT1hLm9wdGlvbnM/LigpLGY9YygpO2JnYShkLGIsZixlKX0sInY4NzhKZSIpfSl9KX0sIkhhIik7Xy5ZTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRVA9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMTg6Y2FzZSAxOTpjYXNlIDIwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxHaWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMzpyZXR1cm4ieXRCYWRnZVNoYXBlQWQiO2Nhc2UgMTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWEiO2Nhc2UgMjpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWFPdmVybGF5IjtjYXNlIDQ6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkIjtjYXNlIDU6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkSW52ZXJ0ZWQiO2Nhc2UgNjpyZXR1cm4ieXRCYWRnZVNoYXBlVGltZWx5IjtjYXNlIDc6cmV0dXJuInl0QmFkZ2VTaGFwZVByZW1pdW0iO2Nhc2UgODpyZXR1cm4ieXRCYWRnZVNoYXBlU2FsZSI7Y2FzZSA5OnJldHVybiJ5dEJhZGdlU2hhcGVNZW1iZXJzaGlwIjtjYXNlIDEwOnJldHVybiJ5dEJhZGdlU2hhcGVDb21tZXJjZSI7Y2FzZSAxMjpyZXR1cm4ieXRCYWRnZVNoYXBlTGl2ZSI7Y2FzZSAxMzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzTmV3IjsKY2FzZSAxNDpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzQ29tcGxldGUiO2Nhc2UgMTU6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmciO2Nhc2UgMTY6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yIjtjYXNlIDE3OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0IjtjYXNlIDE4OnJldHVybiBfLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKT8ieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdFJlZGVzaWduIjoieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdCI7Y2FzZSAxOTpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsTGl2ZSI7Y2FzZSAyMDpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbCI7ZGVmYXVsdDpyZXR1cm4ieXRCYWRnZVNoYXBlRGVmYXVsdCJ9fTt2YXIgSGlhPW5ldyBTZXQoWyJPVVRMSU5FX0JBRyJdKTsKXy5UQz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPSgpPT57dmFyIGQ9YSgpLmljb247aWYoZClhOntkPV8uS0QoZCk/Lmljb25OYW1lPz9kO2xldCBoPSJ5b3V0dWJlX2ZpbGwiO0hpYS5oYXMoZC50b1VwcGVyQ2FzZSgpKSYmKGg9InlvdXR1YmVfb3V0bGluZSIpO2xldCBrPWg9PT0ieW91dHViZV9maWxsIj8ieW91dHViZV9vdXRsaW5lIjoieW91dHViZV9maWxsIixsPV8ueSgpLnJlc29sdmUoXy5YTCk7dmFyIGU9WzEyLDI0XTtmb3IoZiBvZiBlKXtlPXtpY29uTmFtZTpkLGljb25TdHlsZTpoLGljb25TaXplOmZ9O2xldCBtPXtpY29uTmFtZTpkLGljb25TdHlsZTprLGljb25TaXplOmZ9O2lmKGwuaihlKSl7dmFyIGY9ZTticmVhayBhfWlmKGwuaihtKSl7Zj1tO2JyZWFrIGF9fWY9dm9pZCAwfWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9LFtjXT1fLmJLKCgpPT5hKCkubnMpO3JldHVybiBfLksoImJhZGdlLXNoYXBlIix7ZWw6Xy5yRihkPT57YyhkKX0pLGNsYXNzOl8uUCgieXRCYWRnZVNoYXBlSG9zdCIsCigpPT5HaWEoYSgpLnR5cGUpLHt5dEJhZGdlU2hhcGVPdmVybGF5OigpPT5hKCkuaXNPdmVybGF5LHl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6KCk9PmEoKS5Cbyx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZTooKT0+RVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlUmVkZXNpZ246KCk9Pl8ueCgiZW5hYmxlX2xvY2t1cF9yZWRlc2lnbiIpJiZFUChhKCkudHlwZSkseXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2U6KCk9PnthOnN3aXRjaChhKCkudHlwZSl7Y2FzZSAxMzpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxNjpjYXNlIDE3OnZhciBkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfXJldHVybiBkfSx5dEJhZGdlU2hhcGVOb1RleHQ6KCk9PiFhKCkudGV4dCx5dEJhZGdlU2hhcGVJc0VtcHR5OigpPT4hYSgpLnRleHQmJiFhKCkuaWNvbiYmIWEoKS5hbmltYXRpb24seXRCYWRnZVNoYXBlTW9kZXJuOigpPT5hKCkub2d8fF8ueCgid2ViX21vZGVybl9iYWRnZV9zaGFwZSIpLAp5dEJhZGdlU2hhcGVUeXBvZ3JhcGh5OigpPT57YTp7dmFyIGQ9YSgpO2lmKGQub0Epc3dpdGNoKGQudHlwZSl7Y2FzZSAwOmNhc2UgMTpjYXNlIDEwOmQ9ITA7YnJlYWsgYTtkZWZhdWx0OmQ9ITF9ZWxzZSBkPSExfXJldHVybiFkfSx5dEJhZGdlU2hhcGVNZWRpdW1Gb250QWRCYWRnZTooKT0+YSgpLkd5LHl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2U6KCk9PmEoKS5qeX0pLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yfSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sXy5LKF8uTyx7QTooKT0+YSgpLmFuaW1hdGlvbix0aGVuOmQ9Pl8uSyhfLmNNLHtjbGFzc05hbWU6Inl0QmFkZ2VTaGFwZUljb24iLGRhdGE6ZCxhbmltYXRpb25OYW1lOigpPT5kKCkuYW5pbWF0aW9uQ29uZmlnLm5hbWV8fCIifSl9KSwKXy5LKF8uTyx7QTooKT0+YigpJiYhYSgpPy5hbmltYXRpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCYWRnZVNoYXBlSWNvbiJ9LF8uSyhfLllMLHtkYXRhOigpPT5iKCl9KSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRCYWRnZVNoYXBlVGV4dCIse3l0QmFkZ2VTaGFwZVRleHRDbGlwVGV4dE92ZXJmbG93OigpPT5hKCkuZXAseXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3c6KCk9PihhKCkuRGp8fDApPjF9KX0sKCk9PmEoKT8udGV4dCkpfSwieWIiKTtfLlRDLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImpCaXNhZiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQko7Xy53Sj1mdW5jdGlvbihhLGIsYyxkPTApeyhkPV8uaXEoZCkpJiZfLmZ4KGEuY2xpZW50LGQsYixjKX07Xy54Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0U2NyZWVuTGF5ZXImJmIuZ2V0U2NyZWVuTGF5ZXIoKTtiLnZpc3VhbEVsZW1lbnQ/Xy53SihhLGIudmlzdWFsRWxlbWVudCx2b2lkIDAsYyk6KF8uRHgoKSxiPV8uVmkoXy5CeCgpLmopLmJpbmQoXy5CeCgpKShiKSxhLkNmKGIsdm9pZCAwLGMpKX07Xy55Sj1mdW5jdGlvbihhLGIsYyl7Xy5WaShfLmZ4KSh2b2lkIDAsYSxiLGMsdm9pZCAwKX07Xy56Sj1mdW5jdGlvbihhLGI9MCl7KGI9Xy5pcShiKSkmJmEmJl8ueUooYixfLlV3KGEpKX07Xy5BSj1mdW5jdGlvbihhLGIsYyxkKXtfLmdFLnB1c2goe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6ZH0pO2MmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmXy56SihhLmNsaWNrVHJhY2tpbmdQYXJhbXMpfTsKQko9ZnVuY3Rpb24oYSl7aWYoIWE/LnJ1bnMpcmV0dXJuITA7Zm9yKGxldCBiIG9mIGEucnVucylpZihiLmJyYWNrZXR8fGIuZXJyb3JVbmRlcmxpbmV8fGIuZGVlbXBoYXNpemV8fF8uQihiLF8uWGNhKXx8Xy5CKGIsXy5ZY2EpKXJldHVybiExO3JldHVybiEwfTtfLkNKPWZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2ltcGxlVGV4dD9hLnNpbXBsZVRleHQ6YS5ydW5zP2EucnVucy5tYXAoYj0+Yi50ZXh0KS5qb2luKCIiKToiIjoiIn07Xy5ESj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBhLmxhYmVsP2EubGFiZWw6Xy5ESihhLmFjY2Vzc2liaWxpdHlEYXRhKX07Xy5EZWE9bmV3IF8uSSgieXBjT2ZmZXJzRW5kcG9pbnQiKTtfLkVlYT1uZXcgXy5JKCJ5cGNHZXRPZmZlcnNFbmRwb2ludCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGVtZS1tZXRhIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO18uRmVhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKTtfLkVKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udGFpbmVyLWlkIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItZW5kc2NyZWVuLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItc2hvcnRzLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY2luZW1hdGljcy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnVsbC1zY3JlZW4tY29udGVudC1pZCIpO18uRko9Xy5LeSgiaW5pdCIpO3ZhciBHSjsKR0o9Xy5MKCh7cnVuOmEsbWE6Yn0pPT57dmFyIGM9KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5ib2xkfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksYm9sZDp2b2lkIDB9KSx2b2lkIDAsIlNsWmw2Iik7cmV0dXJuIF8uSygic3Ryb25nIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctYm9sZCJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuZGVlbXBoYXNpemV9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxkZWVtcGhhc2l6ZTp2b2lkIDB9KSx2b2lkIDAsInlJeHdkZCIpO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoiZm9ybWF0dGVkLXN0cmluZy1kZWVtcGhhc2l6ZSJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuaXRhbGljc30sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGl0YWxpY3M6dm9pZCAwfSksdm9pZCAwLAoiUU5YSEhiIik7cmV0dXJuIF8uSygiZW0iLG51bGwsXy5LKEdKLHtydW46ZCxtYTpifSkpfSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS50ZXh0Q29sb3J9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSx0ZXh0Q29sb3I6dm9pZCAwfSksdm9pZCAwLCJ4SmVHM2IiKTtyZXR1cm4gXy5LKCJzcGFuIix7c3R5bGU6KCk9PmBjb2xvcjogJHtfLkpFKGEoKS50ZXh0Q29sb3IpfWB9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3RyaWtldGhyb3VnaH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLHN0cmlrZXRocm91Z2g6dm9pZCAwfSksdm9pZCAwLCJYQ1I2aGQiKTtyZXR1cm4gXy5LKCJzIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT4hYSgpLm5hdmlnYXRpb25FbmRwb2ludHx8YigpfSwoKT0+Xy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5uSCx7Y29tbWFuZDpjLAp0YWJJbmRleDowfSxfLksoXy5JQixudWxsLCgpPT5hKCkudGV4dCkpKSl9LCJOIik7Cl8uSUo9Xy5MKCh7ZGF0YTphLC4uLmJ9KT0+e3ZhciBjPSgpPT5iLm1hPy4oKSxkPSgpPT5iLnViPy4oKSxlPSgpPT5iLklkPy4oKSxmPSgpPT5iLnVzZXJJbnB1dD8uKCksaD0oKT0+Yi5YYT8uKCksaz0oKT0+Yi5yZz8uKCk/PyEwO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hKGE/LigpJiZPYmplY3Qua2V5cyhhKCkpLmxlbmd0aCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsO2lmKGw9QkooYSgpKSlsPWEoKSxsPSEhKGw/LmNvbnRlbnQhPT12b2lkIDA/bDpfLkFGKGwpKS5jb250ZW50O3JldHVybiBsfX0sKCk9Pl8uSyhfLlYse3RleHQ6YSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxYYTpoLG1hOmMsdWI6ZCxyZzprLElkOmUsdXNlcklucHV0OmYsWXU6ITB9KSksXy5LKF8uQ0Use3doZW46KCk9PkJKKGEoKSl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsOwppZigobD1hPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpJiYhKGw9YSgpLmFjY2Vzc2liaWxpdHkpKWE6e2w9YSgpO2lmKGwucnVucylmb3IobGV0IG0gb2YgbC5ydW5zKWlmKG0ubmF2aWdhdGlvbkVuZHBvaW50KXtsPSExO2JyZWFrIGF9bD0hMH1yZXR1cm4gbCYmYSgpLnJ1bnMmJmEoKS5ydW5zLmxlbmd0aD4xfX0sKCk9Pl8uSygic3BhbiIseyJhcmlhLWxhYmVsIjooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eT8uYWNjZXNzaWJpbGl0eURhdGEpLGNsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLXRleHQiLHJvbGU6InRleHQifSxfLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhISix7c2ltcGxlVGV4dDooKT0+YSgpLnNpbXBsZVRleHQscnVuczooKT0+YSgpLnJ1bnMsbWE6Y30pKSl9LCJPIik7Xy5JSi5pZG9tQ29tcGF0PSEwOwp2YXIgSEo9Xy5MKCh7c2ltcGxlVGV4dDphLHJ1bnM6YixtYTpjfSk9Pl8uSyhfLk8se0E6KCk9PmEmJmEoKSx0aGVuOmQ9PmQsVzooKT0+Xy5LKF8uTyx7QTooKT0+YiYmYigpLHRoZW46ZD0+Xy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKEdKLHtydW46ZSxtYTooKT0+ISFjPy4oKX0pKX0pfSksIlAiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlpRS3gxIik7cmV0dXJuIF8uVkN9O18uTUo9Xy5jRCgoKT0+Xy5MSigpLCJidXR0b25PckFuY2hvciIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25PckFuY2hvciIsIlpRS3gxIixfLkxKKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWUs7WUs9YT0+Yj0+KCk9PmI/LigpIT09dm9pZCAwP1N0cmluZyhiKCkpK2E6dm9pZCAwO18uWks9WUsoInB4Iik7Xy54ZmE9WUsoIiUiKTtfLiRLPVlLKCJzIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUw9ZnVuY3Rpb24oLi4uYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpaWYoYylpZih0eXBlb2YgYz09PSJzdHJpbmciKWIucHVzaChjKTtlbHNlIGZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSlhPWQsZSYmYi5wdXNoKGEpO3JldHVybiBiLmpvaW4oIiAiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkw9bmV3IF8uVnMoIlBBTkVMX0NPTlRST0xMRVJfVE9LRU4iKTtfLmNMPW5ldyBfLlZzKCJTSEVFVF9DT05UUk9MTEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZ0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyOUtNamIiKTtyZXR1cm4gXy4kQ307Xy5oTD1fLmNEKCgpPT5fLmdMKCksInVwc2VsbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ1cHNlbGxWaWV3TW9kZWwiLCJyOUtNamIiLF8uZ0wpfSk7Xy5pTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlZjR1M4Iik7cmV0dXJuIF8uRUN9O18uakw9Xy5jRCgoKT0+Xy5pTCgpLCJtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIiwiVmNHUzgiLF8uaUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkw9bmV3IF8uSSgiYnV0dG9uUmVuZGVyZXIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XTD1mdW5jdGlvbihhKXtyZXR1cm57cnVuczpbe3RleHQ6YX1dfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkw9Xy5MKGE9Pnsoe3dyYXBwZXI6YX09Xy5EQyhhLHt3cmFwcGVyOiExfSkpO3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlV3JhcHBlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KSksVzooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KX0pfSwiSWEiKTtfLlpMLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEw9e0VvOiExLGxxOiExLHZwOiIiLHVwOiIiLHdyOiExLENxOiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PTB8fGE9PT0xfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVNLGNnYSxkZ2EsZk0sZ00saU0sak0sZWdhLGdnYSxpZ2Esa2dhLG1nYSxvZ2EscE0scGdhLHFnYSxuTTtfLmRNPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXJldHVybiBifTtlTT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYS5sZW5ndGg9PT0wP2I9PmI6YS5sZW5ndGg9PT0xP2FbMF06YS5yZWR1Y2UoKGIsYyk9PiguLi5kKT0+YihjKC4uLmQpKSl9O2NnYT1mdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBiPT4oYyxkKT0+e2M9YihjLGQpO3ZhciBlPSgpPT57dGhyb3cgRXJyb3IoIlFiIik7fSxmPXtnZXRTdGF0ZTpjLmdldFN0YXRlLGRpc3BhdGNoOihoLC4uLmspPT5lKGgsLi4uayl9O2Q9YS5tYXAoaD0+aChmKSk7ZT1lTSguLi5kKShjLmRpc3BhdGNoKTtyZXR1cm57Li4uYyxkaXNwYXRjaDplfX19OwpkZ2E9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChiPT57dmFyIGM9YVtiXTtpZih0eXBlb2YgYyh2b2lkIDAse3R5cGU6Xy5tQX0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlJiYCIrYik7aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOmBAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OJHtfLmxBKCl9YH0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlNiYCIrYisiYCIrXy5tQSk7fSl9OwpmTT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3Qua2V5cyhhKSxjPXt9O2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXtsZXQgaD1iW2ZdO3R5cGVvZiBhW2hdPT09ImZ1bmN0aW9uIiYmKGNbaF09YVtoXSl9dmFyIGQ9T2JqZWN0LmtleXMoYyk7dHJ5e2RnYShjKX1jYXRjaChmKXt2YXIgZT1mfXJldHVybiBmdW5jdGlvbihmPXt9LGgpe2lmKGUpdGhyb3cgZTt2YXIgaz0hMSxsPXt9O2ZvcihsZXQgbT0wO208ZC5sZW5ndGg7bSsrKXtsZXQgbj1kW21dLHA9ZltuXSxyPSgwLGNbbl0pKHAsaCk7aWYodHlwZW9mIHI9PT0idW5kZWZpbmVkIil0aHJvdyBmPWgmJmgudHlwZSxFcnJvcigiVGJgIisoZj9gIiR7U3RyaW5nKGYpfSJgOiIodW5rbm93biB0eXBlKSIpKyJgIituKTtsW25dPXI7az1rfHxyIT09cH1yZXR1cm4oaz1rfHxkLmxlbmd0aCE9PU9iamVjdC5rZXlzKGYpLmxlbmd0aCk/bDpmfX07CmdNPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7aWYobil0aHJvdyBFcnJvcigiVWIiKTtyZXR1cm4ga31mdW5jdGlvbiBlKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVmJgIit0eXBlb2Ygcik7aWYobil0aHJvdyBFcnJvcigiV2IiKTt2YXIgdD0hMDttPT09bCYmKG09bC5zbGljZSgpKTttLnB1c2gocik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodCl7aWYobil0aHJvdyBFcnJvcigiWGIiKTt0PSExO209PT1sJiYobT1sLnNsaWNlKCkpO3ZhciB2PW0uaW5kZXhPZihyKTttLnNwbGljZSh2LDEpO2w9bnVsbH19fWZ1bmN0aW9uIGYocil7aWYodHlwZW9mIHIhPT0ib2JqZWN0Inx8cj09PW51bGwpdmFyIHQ9ITE7ZWxzZXtmb3IodD1yO09iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PW51bGw7KXQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpPT09dH1pZighdCl0aHJvdyBFcnJvcigiWWJgIit0eXBlb2Ygcik7CmlmKHR5cGVvZiByLnR5cGU9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiWmIiKTtpZihuKXRocm93IEVycm9yKCIkYiIpO3RyeXtuPSEwLGs9aChrLHIpfWZpbmFsbHl7bj0hMX10PWw9bTtmb3IobGV0IHY9MDt2PHQubGVuZ3RoO3YrKykoMCx0W3ZdKSgpO3JldHVybiByfWlmKHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0iZnVuY3Rpb24ifHx0eXBlb2YgYz09PSJmdW5jdGlvbiImJnR5cGVvZiBhcmd1bWVudHNbM109PT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJhYyIpO3R5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0idW5kZWZpbmVkIiYmKGM9YixiPXZvaWQgMCk7aWYodHlwZW9mIGMhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGMhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJiY2AiK3R5cGVvZiBjKTtyZXR1cm4gYyhnTSkoYSxiKX1pZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoImNjYCIrdHlwZW9mIGEpO3ZhciBoPWEsaz0KYixsPVtdLG09bCxuPSExO2Yoe3R5cGU6Xy5tQX0pO3ZhciBwPXtkaXNwYXRjaDpmLHN1YnNjcmliZTplLGdldFN0YXRlOmQscmVwbGFjZVJlZHVjZXI6ZnVuY3Rpb24ocil7aWYodHlwZW9mIHIhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJkY2AiK3R5cGVvZiByKTtoPXI7Zih7dHlwZTpfLlJhYX0pO3JldHVybiBwfSxbXy5uQV06ZnVuY3Rpb24oKXtyZXR1cm57c3Vic2NyaWJlKHIpe2Z1bmN0aW9uIHQoKXtyLm5leHQmJnIubmV4dChkKCkpfWlmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoImVjYCIrdHlwZW9mIHIpO3QoKTtyZXR1cm57dW5zdWJzY3JpYmU6ZSh0KX19LFtfLm5BXSgpe3JldHVybiB0aGlzfX19fTtyZXR1cm4gcH07Cl8uaE09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5hfTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYikpe2xldCBmPWFbZV0saD1iW2VdO2lmKGg9PT12b2lkIDApZGVsZXRlIGRbZV07ZWxzZSBpZihmPT09dm9pZCAwKWRbZV09aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaCkmJkFycmF5LmlzQXJyYXkoZikpZFtlXT1jP1suLi5mLC4uLmhdOmg7ZWxzZSBpZighQXJyYXkuaXNBcnJheShoKSYmXy5BYShoKSYmIUFycmF5LmlzQXJyYXkoZikmJl8uQWEoZikpZFtlXT1fLmhNKGYsaCxjKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGYpZFtlXT1oO2Vsc2UgcmV0dXJuIGI9bmV3IF8uWGooIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6ZSxIajpmLHVwZGF0ZVZhbHVlOmh9KSxfLkdwKGIpLGF9cmV0dXJuIGR9OwppTT1mdW5jdGlvbihhLGIsYyxkKXtpZihkPT09dm9pZCAwKXtsZXQge1tjXTplLC4uLmZ9PWFbYl18fHt9O3JldHVybnsuLi5hLFtiXTpmfX1yZXR1cm57Li4uYSxbYl06ey4uLmFbYl0sW2NdOmR9fX07ak09ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hW2JdfHx7fSxoPWZbY107aWYoIWgmJiFfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSlyZXR1cm4gYTtkPV8uaE0oaHx8e30sZCxlPT09IlJFUEVBVEVEX0ZJRUxEU19NRVJHRV9PUFRJT05fQVBQRU5EIik7cmV0dXJuey4uLmEsW2JdOnsuLi5mLFtjXTpkfX19OwplZ2E9ZnVuY3Rpb24oYT17fSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJFTlRJVFlfTE9BREVEIjpyZXR1cm4gYi5wYXlsb2FkLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWQub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247aWYoZSYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1VOS05PV04iJiZlIT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QiKXJldHVybiBjO2lmKCFkLmVudGl0eUtleSlyZXR1cm4gXy5HcChFcnJvcigiZ2MiKSksYztpZihkLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO3ZhciBmPV8uZE0oZC5wYXlsb2FkKTtyZXR1cm4gaU0oYyxmLGQuZW50aXR5S2V5LGQucGF5bG9hZFtmXSl9aWYoZC50eXBlPT09CiJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiKXthOntkPWQuZW50aXR5S2V5O3RyeXtsZXQgaD1fLkdIKGQpLmVudGl0eVR5cGU7Zj1pTShjLGgsZCk7YnJlYWsgYX1jYXRjaChoKXtpZihoIGluc3RhbmNlb2YgRXJyb3Ipe2Q9bmV3IF8uWGooIkZhaWxlZCB0byBkZXNlcmlhbGl6ZSBlbnRpdHkga2V5Iix7ZW50aXR5S2V5OmQsb3JpZ2luYWxNZXNzYWdlOmgubWVzc2FnZX0pO18uR3AoZCk7Zj1jO2JyZWFrIGF9dGhyb3cgaDt9Zj12b2lkIDB9cmV0dXJuIGZ9aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlVQREFURSBlbnRpdHkgbXV0YXRpb24gaXMgbWlzc2luZyBhIHBheWxvYWQiLHtlbnRpdHlLZXk6ZC5lbnRpdHlLZXl9KSxfLkdwKGQpLGM7Zj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGpNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0sZC5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIGN9LAphKTtjYXNlICJSRVBMQUNFX0VOVElUWSI6cmV0dXJuIGlNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwpO2Nhc2UgIlJFUExBQ0VfRU5USVRJRVMiOnJldHVybiBPYmplY3Qua2V5cyhiLnBheWxvYWQpLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWIucGF5bG9hZFtkXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkucmVkdWNlKChmLGgpPT5pTShmLGQsaCxlW2hdKSxjKX0sYSk7Y2FzZSAiVVBEQVRFX0VOVElUWSI6cmV0dXJuIGpNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwsYi5wYXlsb2FkLkl5KTtkZWZhdWx0OnJldHVybiBhfX07Cl8ubE09ZnVuY3Rpb24oKXtpZihfLmtNKXJldHVybiBfLmtNO2lmKHdpbmRvdy5sb3R0aWUpcmV0dXJuIF8ua009UHJvbWlzZS5yZXNvbHZlKHdpbmRvdy5sb3R0aWUpO3ZhciBhPV8uaHcoXy53KCJMT1RUSUVfVVJMIikpO3JldHVybiBhP18ua009bmV3IFByb21pc2UoKGIsYyk9Pnt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Yihsb3R0aWUpfSk7ZC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZT0+e3ZhciBmPSJMb3R0aWUgbGlicmFyeSBmYWlsZWQgdG8gbG9hZC4iO2U/ZS5tZXNzYWdlJiYoZis9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtlLm1lc3NhZ2V9YCxfLmN3KGUsZikpOmU9RXJyb3IoZik7Xy5JcChlKTtjKGUpfSk7ZC5zZXRBdHRyaWJ1dGUoImFzeW5jIiwiIik7Xy5vYihkLGEpO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZCl9KTpQcm9taXNlLnJlamVjdChFcnJvcigiQmQiKSl9OwpnZ2E9ZnVuY3Rpb24oYT1mZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0JPVFRPTV9TSEVFVF9PUEVOX1NUQVRFIjpyZXR1cm57Li4uYSxqajpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTtpZ2E9ZnVuY3Rpb24oYT1oZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0NJTkVNQVRJQ19TRVRUSU5HX1NUQVRFIjpyZXR1cm57Li4uYSxpc0FsbG93ZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07CmtnYT1mdW5jdGlvbihhPWpnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVJST1JfTUVTU0FHRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGVycm9yTWVzc2FnZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9USVRMRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLHRpdGxlOmIucGF5bG9hZH07Y2FzZSAiU0VUX1BSSVZBQ1lfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxwcml2YWN5OmIucGF5bG9hZH07Y2FzZSAiU0VUX0lTX0RJU0FCTEVEX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEsaXNEaXNhYmxlZDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTttZ2E9ZnVuY3Rpb24oYT1sZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RSQVdFUl9MQVlPVVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07Cm9nYT1mdW5jdGlvbihhPW5nYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTl9TVEFURSI6cmV0dXJuey4uLmEsaXNGdWxsc2NyZWVuOmIucGF5bG9hZH07Y2FzZSAiU0VUX05BVklHQVRJT05fQlVUVE9OIjp2YXIgYz17Li4uYS5uYXZpZ2F0aW9uQnV0dG9uc307Y1tiLnBheWxvYWQudGFyZ2V0SWRdPWIucGF5bG9hZC5idXR0b247cmV0dXJuey4uLmEsbmF2aWdhdGlvbkJ1dHRvbnM6Y307Y2FzZSAiU0VUX1RPUF9QQU5FTF9JRF9TVEFURSI6cmV0dXJuey4uLmEscXM6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0VDT05EQVJZX0hFQURFUiI6cmV0dXJuIGM9ey4uLmEuc2Vjb25kYXJ5SGVhZGVyfSxjW2IucGF5bG9hZC5wYW5lbElkXT1iLnBheWxvYWQuc2Vjb25kYXJ5SGVhZGVyLHsuLi5hLHNlY29uZGFyeUhlYWRlcjpjfTtkZWZhdWx0OnJldHVybiBhfX07Xy5vTT1mdW5jdGlvbigpe21NfHwobU09bmV3IG5NKTtyZXR1cm4gbU19OwpwTT1mdW5jdGlvbihhLGIpe2I9Yj8uQXN8fF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3N3aXRjaChhKXtjYXNlICJMSUtFIjphPV8ub00oKS5nZXRTdGF0ZSgpO2E9KGE9Xy5xQShhLmVudGl0aWVzLCJsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5IiwiRWh4c2FXdGxYMkoxZEhSdmJsOWhibWx0WVhScGIyNWZaVzUwYVhSNUlMY0VLQUUlM0QiKSkmJmEuYW5pbWF0aW9uTGlnaHRVcmwmJmEuYW5pbWF0aW9uRGFya1VybD97RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uX2RhcmsiOiJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uIixwYXRoOmI/YS5hbmltYXRpb25EYXJrVXJsOmEuYW5pbWF0aW9uTGlnaHRVcmwsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImN1c3RvbS1hbmltYXRlZC1saWtlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMH06dm9pZCAwOwppZihhKXJldHVybiBhO2I9YGFuaW1hdGVkX2xpa2VfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y1YDtyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9hbmltYXRlZF9saWtlX2ljb24vJHtifS5qc29uYCxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9O2Nhc2UgIk5PVElGSUNBVElPTl9CRUxMIjpyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJub3RpZmljYXRpb25fYmVsbF9kYXJrIjoibm90aWZpY2F0aW9uX2JlbGxfbGlnaHQiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fYmVsbF9pY29uXyR7Yj8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmAsCmxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7Y2xhc3NOYW1lOiJhbmltYXRlZC1zdWJzY3JpYmUtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiExfX19O3BnYT1mdW5jdGlvbihhLGIpe18uamYucGIoYXN5bmMoKT0+e3RyeXthd2FpdCBfLmxNKCk7bGV0IGM9YXdhaXQgKGF3YWl0IGZldGNoKGEpKS5qc29uKCk7cU0uc2V0KGEsYyk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihjKX0pfWNhdGNoKGMpe18uSXAoYyl9fSl9O3FnYT1mdW5jdGlvbihhKXt2YXIgYj17YW5pbWF0aW9uQ29uZmlnOnt9LGxpc3RlbmVyczp7fX0sYz0oKT0+e2EoITApfTtiLmxpc3RlbmVycy5yST1jO2IubGlzdGVuZXJzLmVycm9yPWM7Yi5saXN0ZW5lcnMuc0k9KCk9PnthKCExKX07cmV0dXJuIGJ9OwpuTT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPWZNKHtlbmdhZ2VtZW50UGFuZWw6b2dhLHRpOmdnYSxlSTppZ2EsRHA6bWdhLG1JOmtnYSxRSjpyZ2EsQks6c2dhLENLOnRnYSwuLi51Z2EsLi4udmdhfSksYj1lTShjZ2EoKSk7dGhpcy5zdG9yZT1nTShhLHZvaWQgMCxiKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2goYSl7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goYSl9c3Vic2NyaWJlKGEpe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShhKX1yZXBsYWNlUmVkdWNlcihhKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihhKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgcU09bmV3IE1hcDt2YXIgd2dhPXtKcDpudWxsfTt2YXIgdWdhPXtUcjpmdW5jdGlvbihhPV8uJEwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIQVJFRF9BTklNQVRFRF9USFVNQk5BSUxfRU5BQkxFRCI6cmV0dXJuey4uLmEsRW86Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lOTElORV9QUkVWSUVXX0VOQUJMRUQiOnJldHVybnsuLi5hLGxxOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfVFlQRSI6cmV0dXJuey4uLmEsdnA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0NVUlJFTlRfUEFHRV9TVUJfVFlQRSI6cmV0dXJuey4uLmEsdXA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX1BFUlNJU1RFTlRfUEFORUxfVklTSUJMRSI6cmV0dXJuey4uLmEsd3I6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lTX1NFQVJDSEJPWF9ISURERU4iOnJldHVybnsuLi5hLENxOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19LGExMXk6Zk0oe0pwOmZ1bmN0aW9uKGE9d2dhLkpwLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9FUEhFTUVSQUxfQUNUSU9OIjpyZXR1cm4gYi5wYXlsb2FkOwpkZWZhdWx0OnJldHVybiBhfX19KSxlbnRpdGllczpmdW5jdGlvbihhPXt9LGIpe3JldHVybiBlZ2EoYSxiKX19O3ZhciByTT17WGw6ITEsZm06ITEsam06ITEscGxheWVyU3RhdGU6LTEsaXNGdWxsc2NyZWVuOiExLG1qOiExLFpsOiExLGdtOiExLFRqOjIseGo6MH07dmFyIHhnYT1mTSh7WGw6ZnVuY3Rpb24oYT1yTS5YbCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfREVTS1RPUF9TTUFMTF9XSURUSCI6cmV0dXJuIGIucGF5bG9hZC5YbDtkZWZhdWx0OnJldHVybiBhfX0sZm06ZnVuY3Rpb24oYT1yTS5mbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5mbTtkZWZhdWx0OnJldHVybiBhfX0sam06ZnVuY3Rpb24oYT1yTS5qbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfV0FUQ0hfV0hJTEVfTU9ERSI6cmV0dXJuIGIucGF5bG9hZC5qbTtkZWZhdWx0OnJldHVybiBhfX0scGxheWVyU3RhdGU6ZnVuY3Rpb24oYT1yTS5wbGF5ZXJTdGF0ZSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfUExBWUVSX1NUQVRFIjpyZXR1cm4gYi5wYXlsb2FkLnBsYXllclN0YXRlO2RlZmF1bHQ6cmV0dXJuIGF9fSxpc0Z1bGxzY3JlZW46ZnVuY3Rpb24oYT1yTS5pc0Z1bGxzY3JlZW4sCmIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19GVUxMU0NSRUVOIjpyZXR1cm4gYi5wYXlsb2FkLmlzRnVsbHNjcmVlbjtkZWZhdWx0OnJldHVybiBhfX0sbWo6ZnVuY3Rpb24oYT1yTS5taixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU01BTExfU0NSRUVOX1NRVUVFWkVCQUNLIjpyZXR1cm4gYi5wYXlsb2FkLm1qO2RlZmF1bHQ6cmV0dXJuIGF9fSxnbTpmdW5jdGlvbihhPXJNLmdtLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19TSE9SVFNfUElQX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5nbTtkZWZhdWx0OnJldHVybiBhfX0sWmw6ZnVuY3Rpb24oYT1yTS5abCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfUExBWUJBQ0tfU1RBUlRFRCI6cmV0dXJuIGIucGF5bG9hZC5abDtkZWZhdWx0OnJldHVybiBhfX0sVGo6ZnVuY3Rpb24oYT1yTS5UaixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfU0hPUlRTX0xBWU9VVCI6cmV0dXJuIGIucGF5bG9hZC5UajsKZGVmYXVsdDpyZXR1cm4gYX19LHhqOmZ1bmN0aW9uKGE9ck0ueGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX01FVEFQQU5FTF9TVFlMRSI6cmV0dXJuIGIucGF5bG9hZC54ajtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgZmdhPXtqajohMX07dmFyIGhnYT17aXNBbGxvd2VkOiExfTt2YXIgamdhPXtlcnJvck1lc3NhZ2U6IiIsdGl0bGU6IiIscHJpdmFjeToiIixpc0Rpc2FibGVkOiEwfTt2YXIgbGdhPXtqajohMX07dmFyIG5nYT17aXNGdWxsc2NyZWVuOiExLHFzOnZvaWQgMCxuYXZpZ2F0aW9uQnV0dG9uczp7fSxzZWNvbmRhcnlIZWFkZXI6e319O3ZhciB5Z2E9e3Jlc3BvbnNlOnZvaWQgMH07dmFyIHJnYT0oYT15Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJMT0NBVElPTl9DT0xMRUNUSU9OX1JFU1BPTlNFX0NIQU5HRSI6cmV0dXJuey4uLmEscmVzcG9uc2U6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIHpnYT17bmV4dENvbW1hbmQ6dm9pZCAwLFR5OiExLGJ3OnZvaWQgMCxQeDohMX07dmFyIHNnYT0oYT16Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0RJU0FCTEVEX0NIQU5HRSI6cmV0dXJuey4uLmEsVHk6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0NPTU1BTkRfQ0hBTkdFIjpyZXR1cm57Li4uYSxuZXh0Q29tbWFuZDpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX01PREFMX0ZPT1RFUl9SRU5ERVJFUl9TVUJNSVNTSU9OX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxidzpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX05FWFRfSU1QRVJTT05BVElPTl9WQUxJRElUWV9DSEFOR0UiOnJldHVybnsuLi5hLFB4OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBBZ2E9e1V6OnZvaWQgMCxUejp2b2lkIDB9O3ZhciB0Z2E9KGE9QWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0ZPUk1fTU9EQUxfUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFV6OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0RFVEFJTFNfRk9STV9SRU5ERVJFUl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsVHo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIEJnYT17fTt2YXIgc009e3NoOiExLHdoOl8ueCgid2ViX3BsYXlsaXN0X3BhbmVsX2RlZmF1bHRfY29sbGFwc2VkIiksdmc6W10sWmk6ITF9O3ZhciBDZ2E9Zk0oe3NoOmZ1bmN0aW9uKGE9c00uc2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX0xJVkVfQ0hBVF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQ/Yi5wYXlsb2FkLnNoOmE7ZGVmYXVsdDpyZXR1cm4gYX19LHdoOmZ1bmN0aW9uKGE9c00ud2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX1BMQVlMSVNUX1BBTkVMX0NPTExBUFNFRCI6cmV0dXJuIGIucGF5bG9hZC53aDtkZWZhdWx0OnJldHVybiBhfX0sdmc6ZnVuY3Rpb24oYT1zTS52ZyxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm5bLi4uYSxiLnBheWxvYWQueHpdO2Nhc2UgIk1BSU5fQVBQX1JFTU9WRV9PUEVOX0VOR0FHRU1FTlRfUEFORUwiOnJldHVybiBhLmxlbmd0aD09PTA/YTphLmZpbHRlcihjPT5jIT09Yi5wYXlsb2FkLm9LKTtkZWZhdWx0OnJldHVybiBhfX0sWmk6ZnVuY3Rpb24oYT0Kc00uWmksYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0hBU19QTEFZTElTVCI6cmV0dXJuIGIucGF5bG9hZC5aaTtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgdmdhPXt4TDpmdW5jdGlvbihhPUJnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfVFJBTlNDUklQVElPTl9TVEFURSI6cmV0dXJuey4uLmEsakw6Yi5wYXlsb2FkfTtjYXNlICJTRVRfT1ZFUkxBWV9TVEFURSI6cmV0dXJuey4uLmEsb3ZlcmxheTpiLnBheWxvYWR9O2Nhc2UgIlJFU0VUX1ZPSUNFX1NFQVJDSF9TVEFURSI6cmV0dXJue307ZGVmYXVsdDpyZXR1cm4gYX19LHNob3J0czp4Z2EsQWQ6Q2dhfTt2YXIgbU09dm9pZCAwO21NPW5ldyBuTTtfLnRNPV8uTChhPT57dmFyIHthbmltYXRlZEljb25UeXBlOmIsYWN0aXZlOmMsSGM6ZCxhbmltYXRpb25SZWY6ZSxIQTpmLHNpemU6aH09Xy5EQyhhLHtIYzp2b2lkIDAsYW5pbWF0aW9uUmVmOnt9LHNpemU6MjR9KSxbayxsXT1fLkoodm9pZCAwLHZvaWQgMCwiVHZnbUNlIiksbT0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnLm5hbWU/PyIiLG49KCk9PntpZihwTShiKCksZD8uKCkpKXt2YXIge3BhdGg6QX09cE0oYigpLGQ/LigpKS5FYy5hbmltYXRpb25Db25maWc7cmV0dXJuIHFNLmdldChBKXx8aygpfX0sW3Ascl09Xy5KKCExLHZvaWQgMCwiamYyRHliIiksdD1xZ2Eociksdj0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnPy5yZW5kZXJlclNldHRpbmdzPy5jbGFzc05hbWU/PyIiLHo9dm9pZCAwLEU9dm9pZCAwO18ubkUoKCk9Pnt2YXIgQT1wTShiKCksZD8uKCkpLEY9bSgpLEM9bigpLEc9cCgpLEQ9YygpO2lmKEEmJihFIT09RiYmKEU9CkYsej1ELEY9ZSgpLHQuYW5pbWF0aW9uQ29uZmlnPUEuRWMuYW5pbWF0aW9uQ29uZmlnLHQuYW5pbWF0aW9uUmVmPUYsQyYmKHQuYW5pbWF0aW9uQ29uZmlnLmFuaW1hdGlvbkRhdGE9Qyx0LmFuaW1hdGlvbkNvbmZpZy5wYXRoPXZvaWQgMCksRj1BLkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRoLCFxTS5nZXQoRikmJkEuemgmJkYmJnBnYShGLGwpKSwhKEd8fEEuemgmJiFDKSkpe2lmKEM9IWUoKS5sb3R0aWVFbClEPyhHPUEudG90YWxGcmFtZXMsdC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9W0ctMSxHXSk6dC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9dm9pZCAwO3o9PT1EfHxDfHwoQz1lKCksRD9DLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsQS50b3RhbEZyYW1lc10sITApOkMubG90dGllRWw/LnBsYXlTZWdtZW50cyhbMCwxXSwhMCkpO3o9RH19LCJYQjFHU2IiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1pY29uIix7Y2xhc3M6Inl0QW5pbWF0ZWRJY29uSG9zdCIsCiJkYXRhLXNpemUiOigpPT5oKCl9LF8uSyhfLk8se0E6KCk9PiEoIXBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRofHxwTShiKCksZD8uKCkpPy56aCYmIW4oKXx8cCgpKSx0aGVuOigpPT5fLksoXy5jTSx7ZGF0YTp0LGFuaW1hdGlvbk5hbWU6bSxjbGFzc05hbWU6dixhbmltYXRpb25SZWY6ZX0pLFc6Zn0pKX0sIk1hIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udU09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc0UoKCk9Pih7dmFsdWU6YX0pKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5TSx6TSxEZ2EsQU0sQk0sQ00sRE0sRU0sR00sRmdhLElNLEdnYSxMTSxIZ2EsTU0sUk0sU00sVE0sYk4sS2dhLGNOLGVOLExnYSxPZ2EsTmdhLE1nYSxoTixQZ2EsUmdhLGlOLGpOLGtOLFNnYSxUZ2EsbE4sVWdhLG1OLG5OLHBOLFZnYSxXZ2EsWGdhLHFOLGFoYSwkZ2Esck4sWmdhLFlnYSxkaGEsY2hhLHNOLGJoYSxmaGEsdk4sWCxBTixDTixnaGEsaWhhLGhoYSxqaGEsTU4sbGhhLG1oYSxRTixuaGEsb2hhLFROLHFoYSxhTyxyaGEsc2hhLHRoYSx1aGEsdmhhLHdoYSx4aGEsRWdhLEZNLEhNLGJPLHloYSxPTSxRTSxJZ2EsSmdhLHpoYSxBaGE7Xy52TT1mdW5jdGlvbihhKXt2YXIgYj1fLiR0KGEpO3JldHVybntbU3ltYm9sLmRpc3Bvc2VdKCl7Xy4kdChiKX19fTtfLnhNPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKGAke18uVmooKX06Onl0LW1hdy1wbGF5ZXJgKTtpZihhKXJldHVybiBuZXcgXy53TShhKX19Owp5TT1mdW5jdGlvbihhLGIpe2Zvcig7YS5sZW5ndGg+YjspYS5wb3AoKX07ek09ZnVuY3Rpb24oYSl7YT1BcnJheShhKTt5TShhLDApO3JldHVybiBhfTtEZ2E9ZnVuY3Rpb24oYSxiLGMsZCl7KGRbYl18fGRbXy5SQS5kZWZhdWx0XSkoYSxiLGMpfTtBTT1mdW5jdGlvbihhLGIsYyl7Yj1uZXcgRWdhKGIsYyk7cmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE9Yn07CkJNPWZ1bmN0aW9uKGEsYil7aWYoYS5fX2luY3JlbWVudGFsRE9NRGF0YSlyZXR1cm4gYS5fX2luY3JlbWVudGFsRE9NRGF0YTt2YXIgYz1hLm5vZGVUeXBlPT09MT9hLmxvY2FsTmFtZTphLm5vZGVOYW1lLGQ9YS5ub2RlVHlwZT09PTE/YS5nZXRBdHRyaWJ1dGUoImtleSIpOm51bGw7Yj1BTShhLGMsYS5ub2RlVHlwZT09PTE/ZHx8YjpudWxsKTtpZihhLm5vZGVUeXBlPT09MSYmKGM9YS5hdHRyaWJ1dGVzLGQ9Yy5sZW5ndGgpKXthPWIuanx8KGIuaj16TShkKjIpKTtmb3IobGV0IGU9MCxmPTA7ZTxkO2UrPTEsZis9Mil7bGV0IGg9Y1tlXSxrPWgudmFsdWU7YVtmXT1oLm5hbWU7YVtmKzFdPWt9fXJldHVybiBifTtDTT1mdW5jdGlvbigpe18uWUE9Xy5WQSgpfTsKRE09ZnVuY3Rpb24oYSxiKXtDTSgpO3ZhciBjO2E6e2lmKGM9Xy5ZQSl7ZG97aWYoYz09PW51bGwpYnJlYWs7dmFyIGQ9YyxlPWEsZj1iO2xldCBoPUJNKGQsZik7aWYoKDAsXy5iQikoZCxlLGgubyxmLGgua2V5KSlicmVhayBhfXdoaWxlKGImJihjPWMubmV4dFNpYmxpbmcpKX1jPW51bGx9Y3x8KGE9PT0iI3RleHQiPyhhPV8uWkEuY3JlYXRlVGV4dE5vZGUoIiIpLEFNKGEsIiN0ZXh0IixudWxsKSk6KGM9Xy5aQSxkPV8uVUEsdHlwZW9mIGE9PT0iZnVuY3Rpb24iP2M9bmV3IGE6Yz0oZD1hPT09InN2ZyI/Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjphPT09Im1hdGgiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpkPT1udWxsfHxCTShkKS5vPT09ImZvcmVpZ25PYmplY3QiP251bGw6ZC5uYW1lc3BhY2VVUkkpP2MuY3JlYXRlRWxlbWVudE5TKGQsYSk6Yy5jcmVhdGVFbGVtZW50KGEpLEFNKGMsYSxiKSxhPWMpLF8uV0EuY3JlYXRlZC5wdXNoKGEpLGM9CmEpO2E9YztpZihhIT09Xy5ZQSl7aWYoXy4kQS5pbmRleE9mKGEpPj0wKWZvcihiPV8uVUEsYz1hLm5leHRTaWJsaW5nLGQ9Xy5ZQTtkIT09bnVsbCYmZCE9PWE7KWU9ZC5uZXh0U2libGluZyxiLmluc2VydEJlZm9yZShkLGMpLGQ9ZTtlbHNlIF8uVUEuaW5zZXJ0QmVmb3JlKGEsXy5ZQSk7Xy5ZQT1hfX07RU09ZnVuY3Rpb24oYSxiKXtETShhLGIpO18uVUE9Xy5ZQTtfLllBPW51bGw7cmV0dXJuIF8uVUF9O0dNPWZ1bmN0aW9uKGEsYixjLGQpe0ZNLnB1c2goRGdhKTtGTS5wdXNoKGEpO0ZNLnB1c2goYik7Rk0ucHVzaChjKTtGTS5wdXNoKGQpfTsKRmdhPWZ1bmN0aW9uKGE9Xy5IQyl7dmFyIGI9Xy5VQSxjPUJNKGIpLGQ9Xy5hQjtjPWMuanx8KGMuaj16TShkLmxlbmd0aCkpO2Zvcih2YXIgZT0hYy5sZW5ndGh8fCExLGY9MDtmPGQubGVuZ3RoO2YrPTIpe3ZhciBoPWRbZl07aWYoZSljW2ZdPWg7ZWxzZSBpZihjW2ZdIT09aClicmVhaztsZXQgbD1kW2YrMV07aWYoZXx8Y1tmKzFdIT09bCljW2YrMV09bCxHTShiLGgsbCxhKX1pZihmPGQubGVuZ3RofHxmPGMubGVuZ3RoKXtmb3IoZj1lPWY7ZjxjLmxlbmd0aDtmKz0yKV8uSkNbY1tmXV09Y1tmKzFdO2ZvcihmPWU7ZjxkLmxlbmd0aDtmKz0yKWU9ZFtmXSxoPWRbZisxXSxfLkpDW2VdIT09aCYmR00oYixlLGgsYSksY1tmXT1lLGNbZisxXT1oLGRlbGV0ZSBfLkpDW2VdO3lNKGMsZC5sZW5ndGgpO2Zvcih2YXIgayBpbiBfLkpDKUdNKGIsayx2b2lkIDAsYSksZGVsZXRlIF8uSkNba119YT1ITTtITT1iPUZNLmxlbmd0aDtmb3Ioaz1hO2s8YjtrKz01KSgwLEZNW2tdKShGTVtrKzFdLApGTVtrKzJdLEZNW2srM10sRk1bays0XSk7SE09YTt5TShGTSxhKTt5TShkLDApfTtJTT1mdW5jdGlvbihhLC4uLmIpe0RNKCIjdGV4dCIsbnVsbCk7Yj1fLllBO3ZhciBjPUJNKGIpO2lmKGMudGV4dCE9PWEpe2M9Yy50ZXh0PWE7Zm9yKGxldCBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrPTEpYz0oMCxhcmd1bWVudHNbZF0pKGMpO2IuZGF0YSE9PWMmJihiLmRhdGE9Yyl9fTsKR2dhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPVtdO2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGY9YygpO2lmKGY9PT1udWxsfHxmPT09dm9pZCAwKWY9IiI7aWYoXy5xQihmKXx8Zj09PW51bGwpZD8/KGQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSxkLnBhcmVudE5vZGUhPT1hJiYoZC5faXNTaWduYWxUZXh0Tm9kZT0hMCxhLmluc2VydEJlZm9yZShkLGIpKSxkLnRleHRDb250ZW50PVN0cmluZyhmKTtlbHNlIGlmKF8ub0IoZikpe2xldCBoPWUubGVuZ3RoPjA/ZVtlLmxlbmd0aC0xXS5uZXh0U2libGluZzpiO2ZvcihsZXQgayBvZiBlKWEucmVtb3ZlQ2hpbGQoayk7Zj1fLnBCKGYpO2U9QXJyYXkuZnJvbShmLmNoaWxkTm9kZXMpO2ZvcihsZXQgayBvZiBlKWEuaW5zZXJ0QmVmb3JlKGssaCl9ZWxzZSB0aHJvdyBFcnJvcigiQWJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSsiYCIrdHlwZW9mIGYpO30sIlZ2RGdDIil9LF8uS3Uucml8fCEhXy5adCl9OwpfLktNPWZ1bmN0aW9uKGEpe2lmKCFfLkpNKXJldHVybiExO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhfLkpNKSlpZihhLmhhc093blByb3BlcnR5KGIpKXJldHVybiEwO3JldHVybiExfTtMTT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPXt9O18ud0YoYixfLlNELHtjb21tYW5kczphfSk7cmV0dXJuIGJ9fTtIZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9QXJyYXkuaXNBcnJheShhLml0ZW1zKT9hLml0ZW1zOkFycmF5LmZyb20oYS5pdGVtcyk7cmV0dXJuIF8uZkcoYixhLmNoaWxkcmVuKX07TU09ZnVuY3Rpb24oYSl7YT1fLm5KKGEpO2EubGVuZ3RoPjAmJmFbMF0uZm9jdXMoKX07Xy5OTT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQpO3JldHVybiBjLmNhbGwoYSxlKX07YS5hZGRFdmVudExpc3RlbmVyKGIsZCx2b2lkIDApfTsKXy5QTT1mdW5jdGlvbihhKXtPTXx8KE9NPV8uQ2QoIkEiKSk7T00uaHJlZiE9PWEmJl8uTHkoT00sYSk7cmV0dXJuIE9NfTtSTT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4iIjtpZihRTVthXSlyZXR1cm4gUU1bYV07dmFyIGI9Xy5QTShhKS5wYXRobmFtZTtRTVthXT1iLnN0YXJ0c1dpdGgoIi8iKT9iOiIvIitiO3JldHVybiBRTVthXX07ClNNPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Ii8iPyJob21lIjphLnN0YXJ0c1dpdGgoIi9yZXN1bHRzIik/InNlYXJjaCI6YS5zdGFydHNXaXRoKCIvd2F0Y2giKT8id2F0Y2giOmEuc3RhcnRzV2l0aCgiL3Nob3J0cyIpPyJzaG9ydHMiOmEuc3RhcnRzV2l0aCgiL2hhc2h0YWciKT8iaGFzaHRhZyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlX2NoYW5uZWwiKT8iY3JlYXRlX2NoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL3Bvc3QvIik/InBvc3QiOmEuc3RhcnRzV2l0aCgiL0AiKXx8YS5zdGFydHNXaXRoKCIvdXNlci8iKXx8YS5zdGFydHNXaXRoKCIvY2hhbm5lbC8iKT8iY2hhbm5lbCI6YS5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKT8iZXhwZXJpbWVudHMiOmEuc3RhcnRzV2l0aCgiL3Nwb25zb3JfY2hhbm5lbCIpPyJzcG9uc29yc2hpcCI6YS5zdGFydHNXaXRoKCIvc2VsZWN0X3NpdGUiKT8ic2V0dGluZ3MiOmEuc3RhcnRzV2l0aCgiL2xvY2F0ZSIpPyJsb2NhdGUiOmEuc3RhcnRzV2l0aCgiL3JlZGVlbSIpPwoicmVkZWVtIjphLnN0YXJ0c1dpdGgoIi9tdXNpY3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcHJlbWl1bSIpfHxhLnN0YXJ0c1dpdGgoIi9yZWQiKT8icHJlbWl1bSI6YS5zdGFydHNXaXRoKCIvcGFpZF9tZW1iZXJzaGlwcyIpPyJwYWlkX21lbWJlcnNoaXBzIjphLnN0YXJ0c1dpdGgoIi9vb3BzIik/Im9vcHMiOmEuc3RhcnRzV2l0aCgiL2NsaXAiKT8iY2xpcCI6Xy5YRD8ucmVzcG9uc2U/LnBhZ2U9PT0iNDA0Ij8iNDA0IjphLnN0YXJ0c1dpdGgoIi9mZWVkL2hpc3RvcnkiKT8iaGlzdG9yeSI6YS5zdGFydHNXaXRoKCIvZmVlZC9saWJyYXJ5Iik/ImxpYnJhcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvc3Vic2NyaXB0aW9ucyIpPyJzdWJzY3JpcHRpb25zIjphLnN0YXJ0c1dpdGgoIi9mZWVkL3RyZW5kaW5nIik/InRyZW5kaW5nIjphLnN0YXJ0c1dpdGgoIi9mZWVkL25ld3NfZGVzdGluYXRpb24iKT8ibmV3cyI6YS5zdGFydHNXaXRoKCIvcGxheWxpc3QiKT8icGxheWxpc3QiOmEuc3RhcnRzV2l0aCgiL21pbm9yX21vbWVudCIpPwoibWlub3JfbW9tZW50IjphLnN0YXJ0c1dpdGgoIi9wbGF5YWJsZS8iKXx8YS5tYXRjaCgiXi9wbGF5YWJsZXMvKD8hc2F2ZWQpLiIpPyJtaW5pX2FwcCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGVzIik/InBsYXlhYmxlcyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlL2xpdmUvam9pbiIpPyJvcGVuX2luX2FwcCI6YS5zdGFydHNXaXRoKCIvZmVlZC9leHBsb3JlIik/ImV4cGxvcmUiOiJicm93c2UifTsKVE09ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZSxiPWE/LmVuZHBvaW50O2lmKCFiKXJldHVybiBhPy5wYWdlPT09IndhdGNoIj8id2F0Y2giOlNNKFJNKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk7YT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy53ZWJQYWdlVHlwZTt2YXIgYz0hMTtpZihhJiYhSWdhLmluY2x1ZGVzKGEpKXN3aXRjaChhKXtjYXNlICJXRUJfUEFHRV9UWVBFX1NFQVJDSCI6cmV0dXJuInNlYXJjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TSE9SVFMiOnJldHVybiJzaG9ydHMiO2Nhc2UgIldFQl9QQUdFX1RZUEVfQ0hBTk5FTCI6cmV0dXJuImNoYW5uZWwiO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0VUVElOR1MiOnJldHVybiJzZXR0aW5ncyI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9QTEFZTElTVCI6cmV0dXJuInBsYXlsaXN0IjtjYXNlICJXRUJfUEFHRV9UWVBFX09QRU5fSU5fQVBQIjpyZXR1cm4ib3Blbl9pbl9hcHAiO2Nhc2UgIldFQl9QQUdFX1RZUEVfTUlOSV9BUFAiOnJldHVybiJtaW5pX2FwcCI7CmNhc2UgIldFQl9QQUdFX1RZUEVfV0FUQ0giOnJldHVybiBfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwmJlJNKF8uQihiLmNvbW1hbmRNZXRhZGF0YSxfLnp3KS51cmwpLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOiJ3YXRjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9CUk9XU0UiOnJldHVybihiPV8uQihiLF8uY0UpPy5icm93c2VJZCk/SmdhW2JdfHwiYnJvd3NlIjoiYnJvd3NlIjtkZWZhdWx0OmM9ITB9aWYoXy5CKGIsXy5FZWEpfHxfLkIoYixfLkRlYSkpcmV0dXJuInNwb25zb3JzaGlwIjt2YXIgZD1STSh3aW5kb3cubG9jYXRpb24uaHJlZik7aWYoZC5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKSlyZXR1cm4iZXhwZXJpbWVudHMiO2lmKGQuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIikpcmV0dXJuImNyZWF0ZV9jaGFubmVsIjtpZihfLkIoYixfLlZEKSYmZC5zdGFydHNXaXRoKCIvc2hvcnRzIikpcmV0dXJuInNob3J0cyI7aWYoXy5CKGIsXy5WRCkmJgpkLnN0YXJ0c1dpdGgoIi93YXRjaCIpKXJldHVybiJ3YXRjaCI7YyYmKGI9bmV3IF8uWGooIlVuc3VwcG9ydGVkIG1XZWIgcGFnZSB0eXBlIix7cGF0aG5hbWU6ZCx3ZWJQYWdlVHlwZTphfSksXy5HcChiKSk7cmV0dXJuImJyb3dzZSJ9O18uVU09ZnVuY3Rpb24oYSl7YT8uaHJlZj9hPShhPWEuaHJlZik/U00oUk0oYT9hOndpbmRvdy5sb2NhdGlvbi5ocmVmKSk6VE0oKTphPWE/LnBhZ2VUeXBlO3JldHVybiBhfHxUTSgpfTtfLlZNPWZ1bmN0aW9uKGEpe3JldHVybiBfLlVNKGEpPT09IndhdGNoIn07Xy5XTT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0ic2hvcnRzIn07Xy5YTT1mdW5jdGlvbihhLGIpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChhLHtkZXRhaWw6Yn0pKX07Cl8uWk09ZnVuY3Rpb24oKXtfLllNJiZfLkhwKG5ldyBfLlhqKGBVbmV4cGVjdGVkIGNhbGwgdG8gcmVxdWVzdEJhY2tOYXZpZ2F0aW9uLCBmcmFnbWVudDogJHt3aW5kb3cubG9jYXRpb24uaGFzaH1gKSk7Xy5GSj1uZXcgXy5CZihhPT57ZnVuY3Rpb24gYigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO2EoKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX0pO18uTk0od2luZG93LCJwb3BzdGF0ZSIsKCk9PntzZXRUaW1lb3V0KCgpPT57fSl9KTtoaXN0b3J5LmJhY2soKTtyZXR1cm4gXy5GSn07Cl8uJE09ZnVuY3Rpb24oYSxiPSExKXtpZihfLllNKXt2YXIgYz13aW5kb3cubG9jYXRpb247YT1fLmRiKGAjJHthfWApO2EhPT12b2lkIDAmJmMucmVwbGFjZShhKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPWE7Ynx8Xy54KCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiKXx8Xy5YTSgidXBkYXRldWkiKX07Xy5hTj1mdW5jdGlvbihhKXtpZihhJiZhLnNpbXBsZVRleHQpcmV0dXJuIGEuc2ltcGxlVGV4dDt2YXIgYj0iIjtpZihhJiZhLnJ1bnMpZm9yKGxldCBjPTA7YzxhLnJ1bnMubGVuZ3RoO2MrKylhLnJ1bnNbY10udGV4dCYmKGIrPWEucnVuc1tjXS50ZXh0KTtyZXR1cm4gYn07Yk49ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua0Eoe3R5cGU6IlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSIscGF5bG9hZDphfSl9OwpLZ2E9ZnVuY3Rpb24oYSl7aWYoYSYmYS5mb2N1cylpZihhIT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudClhLmZvY3VzKCk7ZWxzZSByZXR1cm4gY04oYXN5bmMoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO3JldHVybiBjTigoKT0+e2EuZm9jdXMoKX0pfSl9O18uZE49ZnVuY3Rpb24oYSl7dmFyIGI9NTtzZXRUaW1lb3V0KGFzeW5jKCk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWN8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1kb2N1bWVudC5ib2R5KSYmYj49MCYmYTspe2F3YWl0IEtnYShhKTtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSlicmVhazthPWEucGFyZW50RWxlbWVudDstLWJ9fSwxNSl9O2NOPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihhKCkpfSl9KX07CmVOPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhLmNoaWxkcmVuPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jaGlsZHJlbigpLG51bGw7Zm9yKGxldCBiIG9mIGEuY2hpbGRyZW4pYigpO3JldHVybiBudWxsfTtfLmZOPWZ1bmN0aW9uKGEsYil7Xy5SdSgoKT0+TGdhKGEsYikpfTtMZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO18uZ3YrKzt0cnl7Yz0oMCxfLklDKShhLCgpPT57Xy5nTihiKX0pLF8uSUEoITEpfWNhdGNoKGQpe3Rocm93IF8uSUEoITApLGQ7fXJldHVybiBjPT09bnVsbD9hOmN9OwpfLmdOPWZ1bmN0aW9uKGEpe2lmKGEhPT12b2lkIDAmJmEhPT1udWxsKWlmKGEgaW5zdGFuY2VvZiBfLmRDKWZvcih2YXIgYj1fLlVBO18uVkEoKSE9bnVsbCYmXy5uQyBpbiBfLlZBKCkmJmIuY29udGFpbnMoXy5WQSgpKTspQ00oKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjIG9mIGEpXy5nTihjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLlNhKUlNKGEudG9TdHJpbmcoKSk7ZWxzZSBpZihfLmlCKGEpKXtpZihfLlZBKCkhPT1hKXRocm93IEVycm9yKCJEYmAiK2EudGFnTmFtZSsiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikpO0NNKCl9ZWxzZSBpZihjPWEsYyE9bnVsbCYmYy5HaT09PV8ubUJ8fGMgaW5zdGFuY2VvZiBfLmZifHxfLkxBKCkoYykpe2I9Xy5wQihhKTtiPUFycmF5LmZyb20oYi5jaGlsZE5vZGVzKTtmb3IodmFyIGQgb2YgYilfLlVBLmFwcGVuZENoaWxkKGQpLENNKCl9ZWxzZSBpZihfLlhhKGEpJiYoYT1hLnRvU3RyaW5nKCkpLGQ9dHlwZW9mIGEsCmQ9PT0iYm9vbGVhbiJ8fGQ9PT0ibnVtYmVyInx8ZD09PSJzdHJpbmciKUlNKGEpO2Vsc2UgaWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKWI9Xy5VQSwoZD1fLlZBKCkpJiYoZC5faXNTaWduYWxUZXh0Tm9kZXx8ZC5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZSl8fEdnYShiLGQsYSksQ00oKTtlbHNlIGlmKGEudHlwZT09PUhnYSlfLmdOKGEudHlwZShPYmplY3QuYXNzaWduKHt9LGEucHJvcHMse2NoaWxkcmVuOmEuY2hpbGRyZW5bMF19KSkpO2Vsc2V7aWYodHlwZW9mIGEudHlwZT09PSJzdHJpbmciKXthOnthLmNkfHxFTShhLnR5cGUsYS5wcm9wcy5pZG9tS2V5KTtjPV8uVUE7Zm9yKGIgaW4gYS5wcm9wcylpZihhLnByb3BzW2JdIT09Xy5LYmEpe2Q9YS5wcm9wc1tiXTtsZXQgZT1fLmFCO2UucHVzaChiKTtlLnB1c2goZCl9RmdhKF8uS3UuYXR0cmlidXRlcyk7Xy5qQyhjLGEucHJvcHMsITApO2lmKChhLnByb3BzLnNraXB8fGEucHJvcHMuc2tpcGNoaWxkcmVuKSYmXy5VQS5oYXNDaGlsZE5vZGVzKCkpXy5ZQT0KXy5VQS5sYXN0Q2hpbGQ7ZWxzZXtpZihhLnR5cGU9PT0ic3R5bGUiJiZfLlJCKGEuY2hpbGRyZW4pPT09bnVsbCl7Xy5ZQT1fLlVBLmxhc3RDaGlsZDtiPXZvaWQgMDticmVhayBhfV8uZ04oYS5jaGlsZHJlbil9Xy5YQSgpO18uWUE9Xy5VQTtfLlVBPV8uVUEucGFyZW50Tm9kZTthLmNkJiYoYS5jZD0hMSk7Xy5BQihjLGEucHJvcHMpO2I9Y31yZXR1cm4gYn1pZihhLnR5cGU9PT1fLklCKV8uZ04oYS5jaGlsZHJlbik7ZWxzZSBpZighTWdhKGEpKXtiPWE7dHJ5e05nYShiKX1jYXRjaChlKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShlLGIudHlwZT8uWmMpKX1iLmNkJiYoXy5YQSgpLF8uWUE9Xy5VQSxfLlVBPV8uVUEucGFyZW50Tm9kZSxiLmNkPSExKX19fTtPZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYzthLnByb3RvdHlwZT8ub2M9PT12b2lkIDA/Yz1uZXcgXy5tQyhiLGEpOmM9bmV3IGEoYik7Yy5qPWE7Yy53bz17bmV4dFN0YXRlOmMuc3RhdGUsTXg6ITF9O3JldHVybiBjfTsKTmdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZSxjPWIuWmM7aWYoYj09PWVOKWEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbixiKGEucHJvcHMpO2Vsc2V7YS5jaGlsZHJlbi5sZW5ndGg+MCYmKGEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbik7dmFyIGQ7KGQ9YS5wcm9wcykuaWRvbUtleXx8KGQuaWRvbUtleT1iKTt2YXIgZT0hMTtpZihjKXt2YXIgZj1FTShjLGEucHJvcHMuaWRvbUtleSk7YS5jZD0hMDt2YXIgaD1mLl9faW5zdGFuY2V9aHx8KGU9ITAsaD1PZ2EoYixhLnByb3BzKSxoLnByb3BzPW51bGwsZiYmKGYuX19pbnN0YW5jZT1oLGguZWw9ZikpOyh7bmV4dFN0YXRlOmN9PWgud28/P3tuZXh0U3RhdGU6aC5zdGF0ZSxNeDohMX0pO2gud289dm9pZCAwO2IubHcmJihjPWIubHcoYS5wcm9wcyxjKSk7dmFyIGs9aC5wcm9wcyxsPWguc3RhdGU7aC5wcm9wcz1hLnByb3BzO2guc3RhdGU9YztjPSgpPT57dmFyIG09aDtfLmJ3LlNvKG0pO3ZhciBuPW0ub2MobS5wcm9wcyk7Cm4/KG0ucHJvcHMuaWRvbUtleSYmKG4ucHJvcHMuaWRvbUtleT1tLnByb3BzLmlkb21LZXkpLG09bik6bT12b2lkIDA7aWYobj1tKW4uY2Q9YS5jZCxtPV8uZ04obiksYS5jZD1uLmNkLGIuWmN8fChtPyhiLlpjPW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpLG0uX19pbnN0YW5jZT1oLGguZWw9bSk6aC5aZj8ubGVuZ3RoJiZfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShFcnJvcigiQ2QiKSkpKTtlPyhoLkppKCksXy5idy5KaShoKSk6KGguS2koayxsKSxfLmJ3LktpKGgsayxhLnByb3BzKSk7aC5HZigpO18uYncuR2YoaCl9OyhkPWgubyk/Xy5HQShkLGMsaC5wcm9wcy5kZWJ1Z0luc3RhbmNlKTpjKCl9fTsKTWdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZTtpZihiLnByb3RvdHlwZT8ub2MhPT12b2lkIDB8fGI9PT1lTnx8Yi5jb21wb25lbnRUeXBlPT09Xy5LdilyZXR1cm4hMTthLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4ubGVuZ3RoPjE/YS5jaGlsZHJlbjphLmNoaWxkcmVuWzBdO3ZhciBjPWEucHJvcHMuaWRvbUtleT8/YS50eXBlO2lmKF8uVkEoKSYmXy5WQSgpW18uV0JdPy5rZXk9PT1jKXtiPV8uVkEoKTtjPWJbXy5XQl07aWYoIWMpdGhyb3cgRXJyb3IoIkNiYCIrYi50YWdOYW1lKTtjLnFCPy4oYS5wcm9wcyk7UGdhKGMpO3JldHVybiEwfWlmKFFnYS5oYXMoYi5uYW1lKSl0aHJvdyBFcnJvcigiQmJgIitiLm5hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTthLnByb3BzLmpuPSEwOyhiPV8uR0EoYS50eXBlLCgpPT5fLmdDKGEudHlwZSxhLnByb3BzKSxhLnByb3BzLmRlYnVnSW5zdGFuY2UpKSYmUmdhKGIpO3JldHVybiEwfTsKaE49ZnVuY3Rpb24oYSl7Zm9yKGxldCBiPTA7YjxfLmJDKGEpLmxlbmd0aDtiKyspQ00oKX07UGdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVkEoKVtfLldCXT8ueW47aWYoYiloTihiKTtlbHNlIGZvcihsZXQgYz0wO2M8YS5VcTtjKyspKGI9Xy5WQSgpW18uV0JdPy55bik/aE4oYik6Q00oKX07UmdhPWZ1bmN0aW9uKGEpe2E9Xy5HQihhKTthPUFycmF5LmlzQXJyYXkoYSk/YTpbYV07Zm9yKGxldCBiIG9mIGEpXy5VQS5pbnNlcnRCZWZvcmUoYixfLlZBKCkpLENNKCl9O2lOPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9PnthJiZfLmRFKGEpO2ImJmIoYyl9fTtqTj1mdW5jdGlvbihhKXt2YXIgYj0yMTtpZighYSlyZXR1cm4gYjtiKz1hLmhlYWRlclRpdGxlPzI3OjA7Yis9YS5oZWFkZXJUaXRsZSYmYS5paD80OjA7cmV0dXJuIGIrPWEuaGVhZGVyVGl0bGUmJmEuaGVhZGVyU3VidGl0bGU/MTY6MH07CmtOPWZ1bmN0aW9uKGEpe3ZhciBiPTA7aWYoIWEpcmV0dXJuIGI7Yis9YS5VZnx8YS5WZj80ODowO2IrPWEuUGZ8fGEuTWY/MzA6MDtyZXR1cm4gYis9YS5VZnx8YS5WZnx8IWEuUGYmJiFhLk1mPzA6MTJ9OwpTZ2E9ZnVuY3Rpb24oYSx7a2V5OmIscGF5bG9hZDpjfSl7aWYoYj09PSJEcmFnIFN0YXJ0IilyZXR1cm57Li4uYSxDYzohMSxWZTpjLmNsaWVudFl9O2lmKGI9PT0iRHJhZyBNb3ZlIil7Yj1NYXRoLm1pbihjLlRwLGMuaHFbYy5IaV0rKGMuZnE/P2pOKGMuaGVhZGVyKSktKGMuTnA/P2tOKGMuZm9vdGVyKSkpO2xldCBkPU1hdGgubWF4KGMubXA/LTEqKGEuVmUtMjQpOjAsYy5jbGllbnRZLWEuVmUpO3JldHVybnsuLi5hLE9iOmQsRmM6TWF0aC5taW4oYixNYXRoLm1heCgwLChhLlBjP2I6Yy5xcCktZCkpfX1yZXR1cm4gYj09PSJTbmFwIFRvIEZ1bGwgU2NyZWVuIj97Li4uYSxDYzohMSxPYjowLFBjOiEwLEZjOmMubWF4SGVpZ2h0fTpiPT09IlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMSxGYzpjLm1heEhlaWdodH06Yj09PSJDbG9zZSBTaGVldCI/ey4uLmEsQ2M6ITAsT2I6Yy5jbGllbnRIZWlnaHQsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmF9OwpUZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8udGgsYz1hO3JldHVybntzdWJzY3JpYmUoZCl7Yi5zdWJzY3JpYmUoImNoYW5nZWQiLGQpfSxkaXNwYXRjaChkLGUpe2M9U2dhKGMse2tleTpkLHBheWxvYWQ6ZX0pO2IucHVibGlzaCgiY2hhbmdlZCIsYyl9fX07bE49ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBhPy4oYil9fTtVZ2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uRGVmYXVsdCI7Y2FzZSAxOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25UcmFpbGluZ1BhaXIiO2Nhc2UgMjpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyIjtjYXNlIDM6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXIifX07bU49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9OwpuTj1mdW5jdGlvbihhKXtyZXR1cm57aGVhZGVyVGl0bGU6YS5oZWFkZXJUaXRsZT8uKCksaGVhZGVyU3VidGl0bGU6YS5oZWFkZXJTdWJ0aXRsZT8uKCksV2Y6YS5XZixOZjphLk5mLE9mOmEuT2YsUmU6YS5SZT8uKCksTWY6YS5NZj8uKCksUGY6YS5QZj8uKCksSGE6YS5IYT8uKCkscGY6YS5wZj8uKCksR2s6YS5Haz8uKCksR2g6YS5HaCxmb2N1c09uQ2xvc2U6YS5mb2N1c09uQ2xvc2U/LigpLGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkPy4oKSxkaXNhYmxlZENvbW1hbmQ6YS5kaXNhYmxlZENvbW1hbmQ/LigpLFVlOmEuVWUsR2I6YS5HYixTZTphLlNlLGpoOmEuamgoKSxYaTphLlhpKCksaGg6YS5oaCgpLFVmOmEuVWYoKSxWZjphLlZmKCksaWg6YS5paCgpfX07cE49ZnVuY3Rpb24oYSl7b058fChvTj1fLnhNKCkpO29OPy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtWZ2E9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldC52YWx1ZUFzTnVtYmVyO18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpfTsKV2dhPWZ1bmN0aW9uKGEpe3BOKGEudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfTtYZ2E9ZnVuY3Rpb24oYSl7Xy5NSCgpPy5zZXRQbGF5YmFja1JhdGUoYSk7cE4oYSl9O3FOPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuZm9yZWdyb3VuZFRpdGxlQ29sb3IsYz1hLmJhY2tncm91bmRDb2xvcjthPWEuYm9yZGVyQ29sb3I7dmFyIGQ9InRleHQiO2E/ZD0ib3V0bGluZSI6YyYmKGQ9ImZpbGxlZCIpO3JldHVybnt0eXBlOmQsY3VzdG9tQ29sb3JzOntjb2xvcjpiP18uTkQoYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjP18uTkQoYyk6dm9pZCAwLGJvcmRlckNvbG9yOmE/Xy5ORChhKTp2b2lkIDB9fX07CmFoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxJbTpiLHdBOmMsU2M6ZCxkdzplLFFmOmYsQmw6aCxpc1N1YnNjcmliZTprPSExLENKOmw9ITEsb0w6bT0hMX0pe3ZhciBuPVlnYShhKTtrJiYobi5zdHlsZT0ibW9ubyIsbi50eXBlPSJmaWxsZWQiKTtlPSFhLmljb258fCFlJiZhLnRleHQ/YS5pY29uP2EuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9JQ09OX1BPU0lUSU9OX1RZUEVfUklHSFRfT0ZfVEVYVCI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwOmY/Imljb24tb25seSI6Imljb24tb25seS00MCI7ZT09PSJpY29uLW9ubHktNDAiJiYobi50eXBlPSJ0ZXh0Iik7bT17Li4uWmdhKGEsbSl9O2w9ISFhLmlzU2VsZWN0ZWR8fCFfLngoIndlYl9wcm9wYWdhdGVfaXNfcHJlc3NlZF9raWxsc3dpdGNoIikmJiEhbDtmPWEuaXNTZWxlY3RlZCE9PXZvaWQgMDtoPWg9PT12b2lkIDA/YS5pc0Rpc2FibGVkOmg7az1hLnRleHQ/Xy5BRihhLnRleHQpOnZvaWQgMDt2YXIgcD0ocD1hLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fAphLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9wOl8uYU4oYS50ZXh0KTtiPSRnYShhLGIsYyk7Yz1yTihhKTtjPy5sZW5ndGg/KGM9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShjKSxxZDohMH0pLGM9Yz8uaHJlZj9jOnZvaWQgMCk6Yz12b2lkIDA7cmV0dXJuey4uLm4sLi4ubSxpY29uUG9zaXRpb246ZSwuLi5kLGZvY3VzZWQ6ITEsdG9nZ2xlZDpsLHRvZ2dsZWFibGU6ZixkaXNhYmxlZDpoLFdhOmssYWNjZXNzaWJpbGl0eUxhYmVsOnAsb25UYXA6Yix1YzpjLC4uLnFOKGEuY29sb3JEYXRhPy5iYXNpY0NvbG9yUGFsZXR0ZURhdGEpLG9uZU9mZkN1c3RvbVRleHRXcmFwOmEub25lT2ZmQ3VzdG9tVGV4dFdyYXB9fTskZ2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9ck4oYSk7YihlLGQpO2lmKCFjKWZvcihsZXQgZiBvZiBlKV8uZEsoZil9fTsKck49ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5jb21tYW5kJiZiLnB1c2goYS5jb21tYW5kKTthLnNlcnZpY2VFbmRwb2ludCYmYi5wdXNoKGEuc2VydmljZUVuZHBvaW50KTthLm5hdmlnYXRpb25FbmRwb2ludCYmYi5wdXNoKGEubmF2aWdhdGlvbkVuZHBvaW50KTtyZXR1cm4gYn07WmdhPWZ1bmN0aW9uKGEsYil7aWYoYilzd2l0Y2goYS5zaXplKXtjYXNlICJTSVpFX1NNQUxMIjpyZXR1cm57c2l6ZToiUyJ9O2Nhc2UgIlNJWkVfTEFSR0UiOnJldHVybntzaXplOiJMIn07Y2FzZSAiU0laRV9YTEFSR0UiOnJldHVybntzaXplOiJYTCJ9O2Nhc2UgIlNJWkVfWFNNQUxMIjpyZXR1cm57c2l6ZToiWFMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19c3dpdGNoKGEuc3R5bGUpe2Nhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3NpemU6IlMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19fTsKWWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9GSUxMRUQiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0NBTExfVE9fQUNUSU9OX1RPTkFMIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09VVExJTkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RJVkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RFRF9BQ1RJT04iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFQiOmNhc2UgIlNUWUxFX0FMRVJUX0lORk8iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLAp0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9XSElURV9XSVRIX0JPUkRFUiI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTElHSFRfVEVYVCI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19GSUxMRURfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOmNhc2UgIlNUWUxFX0RBUktfT05fQkxBQ0siOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZX1BST1RFQ1RFRCI6cmV0dXJue3N0eWxlOiJvdmVybGF5LWRhcmsiLAp0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpjYXNlICJTVFlMRV9ERVNUUlVDVElWRSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOmNhc2UgIlNUWUxFX01PTk9fVE9OQUwiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9NT05PX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVF9XSVRIX0lOVkVSU0VfVEhFTUUiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm57c3R5bGU6ImJyYW5kLWdyYWRpZW50IiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfR0VORVJBVElWRV9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJnZW4tYWktZ3JhZGllbnQiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKZGhhPWZ1bmN0aW9uKHtyZW5kZXJlcjphLGVsZW1lbnQ6Yix0b2dnbGVkOmMsSW06ZCxSdTplLFNjOmYsZHc6aCxRZjprLEJsOmwsbkw6bSxhYjpufSl7dmFyIHA9YmhhKGEsYyk7aD0hYS5kZWZhdWx0SWNvbnx8IWgmJmEuZGVmYXVsdFRleHQ/YS5kZWZhdWx0SWNvbj8ibGVhZGluZyI6dm9pZCAwOms/Imljb24tb25seSI6Imljb24tb25seS00MCI7aD09PSJpY29uLW9ubHktNDAiJiYocC50eXBlPSJ0ZXh0Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOms9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6az17c2l6ZToiTSJ9fWs9ey4uLmt9O3ZhciByPShyPWMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpP18uQUYocik6dm9pZCAwO20/KG09Xy5hTihjJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KSkmJm4mJiFpc05hTihOdW1iZXIobi5udW1iZXJWYWx1ZSkpPyhuLlhiPW0sYyYmKG4ubnVtYmVyVmFsdWUrPQoxKSk6bj12b2lkIDA6bj12b2lkIDA7bT0obT0oYz9hLnRvZ2dsZWRBY2Nlc3NpYmlsaXR5RGF0YXx8YS50b2dnbGVkVGV4dD8uYWNjZXNzaWJpbGl0eTphLmFjY2Vzc2liaWxpdHlEYXRhfHxhLmRlZmF1bHRUZXh0Py5hY2Nlc3NpYmlsaXR5KT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxhLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9tOl8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCk7bD1sPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpsO2I9Y2hhKGEsYyxkLGIsZSk7ZD1zTihhLGMpO2Q/Lmxlbmd0aD8oZD1fLmJFKHtpbm5lcnR1YmVDb21tYW5kOkxNKGQpLHFkOiEwfSksZD1kPy5ocmVmP2Q6dm9pZCAwKTpkPXZvaWQgMDtyZXR1cm57Li4ucCwuLi5rLGljb25Qb3NpdGlvbjpoLC4uLmYsZm9jdXNlZDohMSx0b2dnbGVkOiEhYyx0b2dnbGVhYmxlOiEwLFdhOnIsYWI6bixhY2Nlc3NpYmlsaXR5TGFiZWw6bSxkaXNhYmxlZDpsLG9uVGFwOmIsdWM6ZCwuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKX19OwpjaGE9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9KXtyZXR1cm4gZj0+e3ZhciBoPWEubG9nZ2luZ0RpcmVjdGl2ZXM/LmNsaWVudFZlU3BlYz8udWlUeXBlP18udXgoYS5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlKTp2b2lkIDA7ZS5jbGlja2VkVmlzdWFsRWxlbWVudHx8KGUuY2xpY2tlZFZpc3VhbEVsZW1lbnQ9aCk7aD1zTihhLGIpO2MoaCxmKTtmb3IobGV0IG4gb2YgaCl7aD1uO3ZhciBrPWQsbD1mLG09ZTttLmZvcm0/bS5mb3JtLmV2ZW50PWw6bS5mb3JtPXtlbGVtZW50OmssZXZlbnQ6bH07Xy5kSyhoLG0pfX19OwpzTj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I/KGEudG9nZ2xlZENvbW1hbmQmJmMucHVzaChhLnRvZ2dsZWRDb21tYW5kKSxhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQpKTooYS5kZWZhdWx0Q29tbWFuZCYmYy5wdXNoKGEuZGVmYXVsdENvbW1hbmQpLGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiZjLnB1c2goYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50KSk7cmV0dXJuIGN9OwpiaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvZ2dsZWRTdHlsZXx8YS5zdHlsZTtzd2l0Y2goKGI/YzphLnN0eWxlKT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOmNhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLAp0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fVE9OQUxfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFRkFVTFQiOmNhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0lOQUNUSVZFX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKXy50Tj1mdW5jdGlvbihhKXtyZXR1cm4gXy5LKF8uZ0cse3BhOigpPT5bYS5jb21wb25lbnQoKV19LGI9PmI/LigpKX07ZmhhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYzt2YXIgZD1fLmdCKGEudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGIsKCk9Pnt0aHJvdyBFcnJvcigibWMiKTt9KTtpZihkPT09bnVsbClyZXR1cm4gYztkPWVoYVtkXTtpZihkLmhlPy4oYykpe2lmKGQuS2QpcmV0dXJuIGQuS2QoYyk7dGhyb3cgRXJyb3IoIkRkIik7fXJldHVybiBkLnBkP2QucGQoYS50YWdOYW1lLGIsU3RyaW5nKGMpKTpjfTtfLnVOPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZvcmVncm91bmRUaXRsZUNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9URVhUX0RJU0FCTEVEInx8YS5mb3JlZ3JvdW5kSWNvbkNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9JQ09OX0RJU0FCTEVEIn07dk49ZnVuY3Rpb24oYSl7aWYoYSYmXy5LTShhKSlyZXR1cm4gYX07Clg9ZnVuY3Rpb24oYSxiKXsoYj1fLmFBKGEse30sYikpfHxfLldpKEVycm9yKCJFZGAiK2EpKTtyZXR1cm4gYn07Xy53Tj1mdW5jdGlvbihhKXtyZXR1cm57dXJsRW5kcG9pbnQ6e3VybDphfSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmF9fX19O18ueE49ZnVuY3Rpb24oKXtyZXR1cm4gXy5vTSgpLmdldFN0YXRlKCkudGk/LmpqfTtfLnlOPWZ1bmN0aW9uKGEpe18ueSgpLnJlc29sdmUoXy5jTCkud2coe1FrOmF9KX07Xy56Tj1mdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5jTCkuSmUoKX07Xy5CTj1mdW5jdGlvbihhLGIpe3ZhciBjPWE/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuO2lmKGMpZm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspe2xldCBlPWNbZF07Y1tkXSE9PWEmJihiP2Uuc2V0QXR0cmlidXRlKCJpbmVydCIsInRydWUiKTplLnJlbW92ZUF0dHJpYnV0ZSgiaW5lcnQiKSxBTihlLGIpKX19OwpBTj1mdW5jdGlvbihhLGIpe2I/KGEuaGFzQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpJiZhLnNldEF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIikpOihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSYmKGEuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsYS5nZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikpLGEucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSl9O0NOPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwbGF5ZXItY29udGFpbmVyLWlkIik7YiYmQU4oYixhKX07CmdoYT1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybihhPWEuc2Nyb2xsaW5nRWxlbWVudD9hLnNjcm9sbGluZ0VsZW1lbnQ6Xy5jcnx8YS5jb21wYXRNb2RlIT0iQ1NTMUNvbXBhdCI/YS5ib2R5fHxhLmRvY3VtZW50RWxlbWVudDphLmRvY3VtZW50RWxlbWVudCkmJnR5cGVvZiBhLnNjcm9sbFRvcD09PSJudW1iZXIiP2Euc2Nyb2xsVG9wOnR5cGVvZiB3aW5kb3cucGFnZVlPZmZzZXQ9PT0ibnVtYmVyIj93aW5kb3cucGFnZVlPZmZzZXQ6MH07Cl8uSk49ZnVuY3Rpb24oYSxiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsYz0hMSl7YSE9PV8uRE5bXy5ETi5sZW5ndGgtMV0mJl8uRE4ucHVzaChhKTtiIT09ZG9jdW1lbnQuYm9keT9FTi5zZXQoYSxiKTpFTi5oYXMoYSl8fEVOLnNldChhLG51bGwpO2M/Xy5PRSgoKT0+e2hoYShhLGEucXVlcnlTZWxlY3RvcigiZGlhbG9nIikpfSk6Xy5PRSgoKT0+e2E/LnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpPy5mb2N1cygpfSk7Xy5ETi5sZW5ndGg+MXx8KEZOPWdoYSgpLF8uQk4oYSwhMCksR04mJkhOJiZjYW5jZWxBbmltYXRpb25GcmFtZShHTiksSU49cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy54TigpfHwoZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoIm1vZGFsLW9wZW4tYm9keSIsIiIpLGRvY3VtZW50LmJvZHkuc3R5bGUudG9wPWAtJHtGTn1weGAsd2luZG93LnNjcm9sbFRvKDAsLUZOKSxJTj1udWxsKX0pKX07CmloYT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EsaW5wdXQ6bm90KFtkaXNhYmxlZF0pLHNlbGVjdDpub3QoW2Rpc2FibGVkXSksYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoLm1vZGFsLWhpZGRlbi1idXR0b24pLFt0YWJpbmRleD0iMCJdJykpLmZpbHRlcihiPT57aWYoYi50ZXh0Q29udGVudClyZXR1cm4hMDtpZihiIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWIubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYyBvZiBiLmxhYmVscylpZihjLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfSl9OwpoaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1paGEoYSksZD1jWzBdO2lmKCFkJiZiKWIuZm9jdXMoKTtlbHNle3ZhciBlPWNbYy5sZW5ndGgtMV07aWYoZCl7ZC5mb2N1cygpO2xldCBmPWg9PntoLmtleUNvZGU9PT0yNyYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksXy5LTihhKSk7aC5rZXlDb2RlIT09MzgmJmgua2V5Q29kZSE9PTQwJiZoLmtleUNvZGUhPT05fHxqaGEoZCxlKX07YS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKX19fTtqaGE9ZnVuY3Rpb24oYSxiKXtpZighTE4pe0xOPSEwO3ZhciBjPU1OKCk7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PntiLmZvY3VzKCl9KTtjPU1OKCk7Yi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGIubmV4dFNpYmxpbmcpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PnthLmZvY3VzKCl9KX19OwpNTj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmNsYXNzTmFtZT0ibW9kYWwtaGlkZGVuLWJ1dHRvbiI7YS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTthLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7cmV0dXJuIGF9OwpfLktOPWZ1bmN0aW9uKGEpe3ZhciBiPUVOLmdldChhKTtFTi5kZWxldGUoYSk7aWYoa2hhKXtpZihfLkJOKGEsITEpLF8uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApLF8ueGIoXy5ETixhKSxfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59fWVsc2V7Xy54YihfLkROLGEpO2lmKF8uRE4ubGVuZ3RoIT09MCl7YiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy5kTihiKX0pO3JldHVybn1fLkJOKGEsITEpO18uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApfUlOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoSU4pO0dOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiKTtkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD0KIiI7YiYmXy5kTihiKTtfLmZyP18uT0UoKCk9Pnt3aW5kb3cuc2Nyb2xsVG8oMCxGTil9KTp3aW5kb3cuc2Nyb2xsVG8oMCxGTik7R049bnVsbH0pfTtsaGE9ZnVuY3Rpb24oYSxiLGM9Xy5OTil7aWYoYSl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkx4KTtkP18uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmQsTmI6YyxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6YS5sYXllcn0pOl8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgb2JzZXJ2ZXIiLGEudGFnTmFtZSxiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcykpfWVsc2UgXy5JcChuZXcgXy5YaigiV2FybmluZzogbW9uaXRvclZpc2liaWxpdHkgY2FsbGVkIHdpdGggbnVsbCBlbGVtZW50IixiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcyxiPy5yZW5kZXJlckNvbnRleHQpKX07Cm1oYT1mdW5jdGlvbihhLGIpe2EmJl8uT0UoKCk9PntsaGEoYSxiLF8uTk4pfSl9O1FOPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IlNIT1JUU19MSUtFIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8ic2hvcnRzX3RodW1ic191cCI6Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEmJk9OW2FdP09OW2FdOmEmJlBOW2FdP1BOW2FdOmF9O25oYT1mdW5jdGlvbigpe2lmKFJOKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oU04pKTtSTj0hMTthPy52KCl9fTtvaGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbYi5sZW5ndGgtMV0hPT0iJCI7Yz1maGEoYSxiLGMpO2Q/YVtiXT1jOihkPWM9PW51bGw/bnVsbDpTdHJpbmcoYyksXy5RQShhLGIuc2xpY2UoMCwtMSksZCkpfTsKVE49ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9YS5jb21wb25lbnQ7YiYmKGI/LmV2ZW50cz8ucHVibGlzaCgiRElTQ09OTkVDVEVEIiksYj8uZEs/LigpKTthLkxIPy5IZj8uKCk7Zm9yKGI9MDtiPGEuY2hpbGROb2Rlcy5sZW5ndGg7YisrKVROKGEuY2hpbGROb2Rlc1tiXSl9fTtfLlVOPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRkoudGhlbigoKT0+e3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNtZW51IiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTsKcWhhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZihhLmlzRGlzYWJsZWQmJmEuZGlzYWJsZWRDb21tYW5kKV8uQUooYS5kaXNhYmxlZENvbW1hbmQsYSwhMSk7ZWxzZXtWTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpO1ZOfHwoVk49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVk4uaWQ9Im1lbnUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoVk4pKTt3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJl8uJE0oIm1lbnUiKTtWTi5jbGFzc05hbWU9YS5pc0Z1bGxXaWR0aD8ibWVudS1jb250YWluZXIgbWVudS1mdWxsLXdpZHRoIjoibWVudS1jb250YWluZXIiO2EuY2xhc3NOYW1lJiYoVk4uY2xhc3NOYW1lKz0iICIrYS5jbGFzc05hbWUpOyJzY3JvbGxUbyJpbiBWTiYmVk4uc2Nyb2xsVG8oMCwwKTt2YXIgYz1hLkZBfHxfLm1HKCk7Xy5WeihiLF8udk0oYS5vd25lciYmIWEub3duZXIuaWE/CmEub3duZXI6bnVsbCkpO18ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KHBoYShhKSxXTnx8KFdOPV8ueEYoVk4sKCk9Pl8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDooKT0+WU4oKX0sXy5LKF8udE4se2NvbXBvbmVudDooKT0+e3ZhciBkPVlOKCk7aWYoZClyZXR1cm4oKT0+Xy5wRyhjfHx7fSwoKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+ZC5jb250ZW50fSkpfX0pKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkse0lrOl8uWEN9KSkpOihfLmZOKFZOLG51bGwpLF8uZk4oVk4sXy5LKF8uSUIsbnVsbCxfLksoWE4se0RoOmF9LGEuY29udGVudCgpKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkpKTthLnJuPT09dm9pZCAwJiYoYS5ybj0hMCk7Xy5KTihWTixhLmZvY3VzT25DbG9zZSxhLnJuKX19Y2F0Y2goZCl7Yi5lcnJvcj1kLGIuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGIpfX07CmFPPWZ1bmN0aW9uKCl7Vk4mJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNtZW51IiYmKF8uS04oVk4pLF8ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KFdOPy4oKSxXTj12b2lkIDApOlROKFZOKSxWTi5pc0Nvbm5lY3RlZCYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChWTiksVk49bnVsbCl9O3JoYT0vJi9nO3NoYT0vPC9nO3RoYT0vPi9nO3VoYT0vIi9nO3ZoYT0vJy9nO3doYT0vXHgwMC9nO3hoYT0vW1x4MDAmPD4iJ10vO18ud009Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPW5ldyBfLnpoKGEpfXNldChhLGIsYyl7Yz1jIT09dm9pZCAwP0RhdGUubm93KCkrYzp2b2lkIDA7dGhpcy5qLnNldChhLGIsYyl9Z2V0KGEpe3JldHVybiB0aGlzLmouZ2V0KGEpfXJlbW92ZShhKXt0aGlzLmoucmVtb3ZlKGEpfX07RWdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW51bGw7dGhpcy5vPWE7dGhpcy5rZXk9Yjt0aGlzLnRleHQ9dm9pZCAwfX07Rk09W107CkhNPTA7Yk89eyIqIjp7YXN5bmM6MSxkaXI6MCxsb2FkaW5nOjIsdGFyZ2V0OjN9fTt5aGE9W3thdXRvOiEwLGx0cjohMCxydGw6ITB9LHthc3luYzohMH0se2VhZ2VyOiEwLGxhenk6ITB9LHtfc2VsZjohMCxfYmxhbms6ITB9XTtPTT1udWxsO1FNPXt9O0lnYT0iV0VCX1BBR0VfVFlQRV9BQ0NPVU5UUyBXRUJfUEFHRV9UWVBFX1dFTENPTUUgV0VCX1BBR0VfVFlQRV9BQ0NPVU5UX1NFTEVDVE9SIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9JREVOVElGSUVSX0VOVFJZIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9QQVNTV09SRF9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fREVWSUNFX1BST01QVF9DSEFMTEVOR0UgV0VCX1BBR0VfVFlQRV9QUkVNSVVNX0xJVEVfVVBTRUxMIFdFQl9QQUdFX1RZUEVfVU5LTk9XTiIuc3BsaXQoIiAiKTsKSmdhPXtGRXdoYXRfdG9fd2F0Y2g6ImhvbWUiLEZFaGFzaHRhZzoiaGFzaHRhZyIsRkV0cmVuZGluZzoidHJlbmRpbmciLEZFaGlzdG9yeToiaGlzdG9yeSIsU1B1bmxpbWl0ZWQ6InByZW1pdW0iLEZFbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlczoicGFpZF9tZW1iZXJzaGlwcyIsU1ByZWRlZW1fY29kZToicmVkZWVtIixTUHZlcmlmeV9sb2NhdGlvbjoibG9jYXRlIixTUG1pbm9yX21vbWVudDoibWlub3JfbW9tZW50IixGRW1pbmlfYXBwX2NvbnRhaW5lcjoibWluaV9hcHAiLEZFbmV3c19kZXN0aW5hdGlvbjoibmV3cyIsU1BvcGVuX2luX2FwcDoib3Blbl9pbl9hcHAiLEZFZXhwbG9yZToiZXhwbG9yZSIsRkVzdWJzY3JpcHRpb25zOiJzdWJzY3JpcHRpb25zIixGRXNmdl9hdWRpb19waXZvdDoic2Z2X2F1ZGlvX3Bpdm90IixGRXBsYXlsaXN0X2FnZ3JlZ2F0aW9uOiJwbGF5bGlzdF9hZ2dyZWdhdGlvbiJ9O18uWU09ITE7emhhPXthRDoieW91dHViZV9maWxsIixSRjoieW91dHViZV9vdXRsaW5lIn07CkFoYT17akY6IkxJS0UiLEVGOiJOT1RJRklDQVRJT05fQkVMTCJ9O18uS0I9Xy5sQzt2YXIgUWdhPW5ldyBTZXQoWyJGb3IiLCJJZiIsIk1hdGNoIiwiV2F0Y2giXSksY089e1tfLlJBLmRlZmF1bHRdOigpPT5fLnpCLHN0eWxlOigpPT5fLnpCfTtmb3IobGV0IGEgaW4gY08pXy5LdS5hdHRyaWJ1dGVzW2FdPWNPW2FdKF8uS3UuYXR0cmlidXRlc1thXSk7Xy5CaGE9bmV3IF8uSSgic2lnbkluRW5kcG9pbnQiKTtfLmRPPW5ldyBfLkkoImxpa2VFbmRwb2ludCIpO3ZhciBDaGE9bmV3IF8uSSgiaG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbCIpO3ZhciBEaGE9bmV3IF8uVnMoIlZJREVPX05PVElDRVNfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBFaGE9Xy5MKGE9PntmdW5jdGlvbiBiKGspe3ZhciBsPWgoKS1hLnN0ZXBTaXplKCk7ZC52YWx1ZS52YWx1ZUFzTnVtYmVyPWw7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSk7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2hhbmdlIikpO2suc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhrKXt2YXIgbD1oKCkrYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPV8udUUoImlucHV0IiksW2UsZl09Xy5BQygoKT0+YS52YWx1ZSgpPz8wKSxoPWU7Xy5uRSgoKT0+e3ZhciBrPWQudmFsdWU7ay52YWx1ZUFzTnVtYmVyPWgoKTt2YXIgbD1oKCksbT1hLm1pblZhbHVlKCksbj1hLlJsKCk7ay5zdHlsZS5zZXRQcm9wZXJ0eSgiLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCIsCmAkeyhsLW0pL24qMTAwfSVgKX0sImpUNUNDZiIpO3JldHVybiBfLksoInNsaWRlci1zaGFwZSIse2NsYXNzOl8uUCgieXRTbGlkZXJTaGFwZUhvc3QiLHt5dFNsaWRlclNoYXBlVmVydGljYWw6KCk9PmEuaXNWZXJ0aWNhbCgpfSl9LF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuamwsZGlzYWJsZWQ6KCk9PmgoKT09PWEubWluVmFsdWUoKSwib246Y2xpY2siOmJ9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJCQVJfSE9SSVpPTlRBTCIsY2xhc3NOYW1lOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb24ifSkpKX0pLF8uSygiaW5wdXQiLHtjbGFzczooKT0+YS5pc1ZlcnRpY2FsKCk/Inl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlciI6CiJ5dFNsaWRlclNoYXBlSG9zdFNsaWRlciIsdHlwZToicmFuZ2UiLGlkOiJzbGlkZXIiLGVsOmQsbWluOmEubWluVmFsdWUsbWF4OmEubWF4VmFsdWUsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLXZhbHVlbWluIjphLm1pblZhbHVlLCJhcmlhLXZhbHVlbWF4IjphLm1heFZhbHVlLCJhcmlhLXZhbHVlbm93IjpoLCJhcmlhLXZhbHVldGV4dCI6KCk9PlN0cmluZyhoKCkpLHZhbHVlOmgsc3RlcDphLnN0ZXBTaXplLCJvbjppbnB1dCI6ZnVuY3Rpb24oayl7YS5SYz8uKGspO2YoTnVtYmVyKGQudmFsdWU/LnZhbHVlPz8wKSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNoYW5nZSI6ZnVuY3Rpb24oayl7YS5vbkNoYW5nZT8uKGspO2suc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTphLlVqLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uIiwiYXJpYS1sYWJlbCI6YS5QbCxkaXNhYmxlZDooKT0+aCgpPT09CmEubWF4VmFsdWUoKSwib246Y2xpY2siOmN9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJBREQiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSl9LCJPYSIpO3ZhciBGaGE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjO2lmKChjPWEuZGF0YSgpKSYmYy5tYXhWYWx1ZSYmYy5taW5WYWx1ZSYmYy5zdGVwQ291bnQpe3ZhciBkPWMudmFsdWVEZW5vbWluYXRvcj8/MSxlPShjLm1heFZhbHVlLWMubWluVmFsdWUpL2Q7Yz17dmFsdWU6KGMuaW5pdGlhbFZhbHVlPz9jLm1pblZhbHVlKS9kLGFyaWFMYWJlbDpfLkIoYy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsPz8iIixtaW5WYWx1ZTpjLm1pblZhbHVlL2QsbWF4VmFsdWU6Yy5tYXhWYWx1ZS9kLFJsOmUsc3RlcFNpemU6ZS9jLnN0ZXBDb3VudCxvbkNoYW5nZTppTihjLm9uU2xpZGVyVmFsdWVTZXRDb21tYW5kLGEuWXkpLFJjOmlOKGMub25TbGlkZXJUb3VjaENvbW1hbmQsYS5meiksUGw6Xy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixqbDpfLkIoYy5kZWNyZWFzZUJ1dHRvbixfLktKKT8uYWNjZXNzaWJpbGl0eVRleHQ/PyIiLGlzVmVydGljYWw6ITEsClVqOiEhXy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSikmJiEhXy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSil9fWVsc2UgYz17fTtyZXR1cm4gY307cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3QifSxfLksoRWhhLHt2YWx1ZTooKT0+YigpLnZhbHVlLGFyaWFMYWJlbDooKT0+YigpLmFyaWFMYWJlbCxtaW5WYWx1ZTooKT0+YigpLm1pblZhbHVlLG1heFZhbHVlOigpPT5iKCkubWF4VmFsdWUsc3RlcFNpemU6KCk9PmIoKS5zdGVwU2l6ZSxSbDooKT0+YigpLlJsLFBsOigpPT5iKCkuUGwsamw6KCk9PmIoKS5qbCxpc1ZlcnRpY2FsOigpPT5iKCkuaXNWZXJ0aWNhbCxvbkNoYW5nZTpjPT57YigpLm9uQ2hhbmdlKGMpfSxSYzpjPT57YigpLlJjKGMpfSxVajooKT0+YigpLlVqfSkpfSwiUGEiKTt2YXIgZU89Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjpiPT5fLksoImgyIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXIiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZTohXy54KCJ3ZWJfcGFuZWxfaGVhZGVyX3RpdGxlX25vbl9pbnRlcmFjdGl2ZV9raWxsc3dpdGNoIil9KX0sXy5LKF8uVix7dGV4dDpiLGNsYXNzTmFtZToieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlIn0pKX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJ0aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZSJ9KX0pKSwiUWEiKSxmTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8uVEgoKCk9PmEoKS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLksoInl0LXBhbmVsLWhlYWRlci12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3QiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdEhpZGVEaXZpZGVyOigpPT4hIWEoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3Q6KCk9PiEhYSgpLnN1YnRpdGxlfSksImFyaWEtbGFiZWwiOigpPT5iKCk/LmxhYmVsfSxfLksoXy5PLHtBOigpPT5fLnRIKGEoKS5yZW5kZXJlckNvbnRleHQpLHRoZW46KCk9Pl8uSyhfLk1KLHtjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvciIsY29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxadjoieXRQYW5lbEhlYWRlclZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yRm9jdXNlZCJ9LF8uSyhlTyx7ZGF0YTphfSkpLFc6KCk9Pl8uSyhlTyx7ZGF0YTphfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVHJhaWxpbmdCdXR0b25zIn0sXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS50cmFpbGluZ0J1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOmN9KT0+Xy5LKF8uSEQse2RhdGE6YyxjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b24ifSl9KSkpfSwiUmEiKTtmTy5pZG9tQ29tcGF0PSEwO3ZhciBnTz1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SG9zdCIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVyIiwieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4iKSxzdHlsZTooKT0+YS5DYygpP2B0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHthLk9iKCl9cHgpO3RyYW5zaXRpb246IDAuMnNgOiIifSxhLmhlYWRlcj8uKCksXy5LKCJkaXYiLHtpZDphLkhpLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRlbnRXcmFwcGVyIixzdHlsZTpfLklFKHsibWF4LWhlaWdodCI6KDAsXy5aSykoYS5GYyl9KSwib246c2Nyb2xsIjpsTihhLmpyKSwib246dG91Y2htb3ZlIjpsTigpfSxfLksoImRpdiIse2VsOl8uckYoYS5ucCksY2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Qm90dG9tU2hlZXRDb250ZW50Iiwib246Y2xpY2siOmZ1bmN0aW9uKGIpe2EucGY/LigpP2Iuc3RvcFByb3BhZ2F0aW9uKCk6YS5ZcShiKX19LAphLmJvZHk/LigpKSksYS5mb290ZXI/LigpKSwiU2EiKTtnTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2pyOiEwLG5wOiEwLFlxOiEwfX07dmFyIGhPPV8uTChhPT57dmFyIHtsZWFkaW5nTGFiZWw6Yix0cmFpbGluZ0xhYmVsOmMsUmU6ZCxwcmltYXJ5QnV0dG9uOmUsSXc6ZixzZWNvbmRhcnlCdXR0b246aCxLdzprLE9wOmwsQ3c6bX09Xy5EQyhhLHtsZWFkaW5nTGFiZWw6dm9pZCAwLHRyYWlsaW5nTGFiZWw6dm9pZCAwLFJlOnZvaWQgMH0pLG49KCk9PmIoKXx8YygpfHxmKCl8fGsoKTtyZXR1cm4gXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsbD8uKCkpLFc6KCk9Pl8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlcldyYXBwZXIifSxfLksoXy5PLHtBOigpPT5iKCl8fGMoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckxhYmVsV3JhcHBlcldpdGhvdXRCdXR0b25zOigpPT4hZigpfSl9LF8uSyhfLk8sCntBOmIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRMZWFkaW5nTGFiZWwifSxiKX0pLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRyYWlsaW5nTGFiZWwifSxjKX0pKX0pLF8uSyhfLk8se0E6KCk9PmYoKXx8aygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVyOl8uQmNhfSl9LF8uSyhfLk8se0E6KCk9PmsoKSYmZCgpIT09MCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b24iLHt5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcjooKT0+ZCgpPT09MSYmaygpLAp5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblNwbGl0UGFpcjooKT0+ZCgpPT09MiYmaygpLHl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpcjooKT0+ZCgpPT09MyYmZigpfSl9LGg/LigpKX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uIiwoKT0+VWdhKGQoKSkpfSxlPy4oKSl9KSl9KSl9KX0pfSwiVGEiKTtoTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e3ByaW1hcnlCdXR0b246ITAsc2Vjb25kYXJ5QnV0dG9uOiEwLE9wOiEwfX07dmFyIGlPPV8uTChhPT57dmFyIHt0aXRsZTpiLHN1YnRpdGxlOmMsZ3E6ZCxEdzplLHhvOmYseHc6aCx3czprLHZzOmwsdXM6bSxRcTpuLE93OnAsaXNEcmFnZ2luZzpyfT1fLkRDKGEse3RpdGxlOnZvaWQgMCxzdWJ0aXRsZTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciIse3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmc6cn0pLGlkOnAsIm9uOnRvdWNoc3RhcnQiOmxOKGspLCJvbjp0b3VjaG1vdmUiOmxOKGwpLCJvbjp0b3VjaGVuZCI6bE4obSksIm9uOm1vdXNlZG93biI6bE4obil9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmUifSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsZD8uKCkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcjohMCwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXaXRoVGl0bGU6Yn0pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlciJ9LF8uSyhfLk8se0E6Yix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiaDIiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZSJ9LGIpLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImgzIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGUifSxjKX0pKX0pKSxfLksoXy5PLHtBOigpPT5iKCkmJmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlciJ9LGY/LigpKX0pKX0pKX0sIlVhIik7aU8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOnt3czohMCx2czohMCx1czohMCxRcTohMCx4bzohMCxncTohMCxpc0RyYWdnaW5nOiEwfX07dmFyIGpPPV8uTChhPT57ZnVuY3Rpb24gYihhYSl7aWYoIVkmJnR5cGVvZiBNdXRhdGlvbk9ic2VydmVyIT09InVuZGVmaW5lZCIpe3ZhciBPYT17Y2hpbGRMaXN0OiEwfTsiTXV0YXRpb25PYnNlcnZlciJpbiB3aW5kb3cmJihZPW5ldyBNdXRhdGlvbk9ic2VydmVyKGMuYmluZCh2b2lkIDAsYWEpKSxZLm9ic2VydmUoYWEsT2EpKX19ZnVuY3Rpb24gYyhhYSl7dHlwZW9mIFkhPT0idW5kZWZpbmVkIiYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT09PXZvaWQgMCYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT1hYS5jaGlsZHJlblswXS5jbGllbnRIZWlnaHQpLEcocGFbImNvbnRlbnQtd3JhcHBlciJdKSwhKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpKX1mdW5jdGlvbiBkKCl7RSh3aW5kb3cuaW5uZXJIZWlnaHQpOyEoQygpPlIoKSkmJkMoKT4wJiZNKEMoKSk7b2EuUGNbMF0oKSYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLAp7bWF4SGVpZ2h0OlIoKX0pfWZ1bmN0aW9uIGUoYWEpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjthYS5wcmV2ZW50RGVmYXVsdCgpO1UoKS5kaXNwYXRjaCgiRHJhZyBTdGFydCIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZfSl9ZnVuY3Rpb24gZihhYSl7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZLG1wOkMoKT5SKCksVHA6UygpLHFwOlIoKSxocTpwYSxIaToiY29udGVudC13cmFwcGVyIixoZWFkZXI6bk4oYSksZm9vdGVyOm5OKGEpLGZxOnBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0sTnA6cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXX0pfWZ1bmN0aW9uIGgoYWEpe2FhLmJ1dHRvbj09PTAmJihhYS5wcmV2ZW50RGVmYXVsdCgpLHRhKCEwKSxVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLmNsaWVudFl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwKVCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGspKX1mdW5jdGlvbiBrKCl7dGEoITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTttKCl9ZnVuY3Rpb24gbCgpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiO20oKX1mdW5jdGlvbiBtKCl7b2EuUGNbMF0oKT9vYS5PYlswXSgpPj02MD9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiIse21heEhlaWdodDpSKCl9KTpVKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6b2EuT2JbMF0oKT49NjA/bigpOm9hLk9iWzBdKCk8PS02MCYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSl9CmZ1bmN0aW9uIG4oKXtVKCkuZGlzcGF0Y2goIkNsb3NlIFNoZWV0Iix7Y2xpZW50SGVpZ2h0OnooKSxtYXhIZWlnaHQ6MH0pO3NldFRpbWVvdXQoKCk9PnttTigpfSwyNTApfXZhciBwPV8udUUoImRpdiIpLHI9Xy51RSgiZGl2IiksW3Qsdl09Xy5KKHdpbmRvdy5pbm5lckhlaWdodCx2b2lkIDAsIkNtT3NVIiksej10LEU9dixbQSxGXT1fLkooMCx2b2lkIDAsInAwRmxoYiIpLEM9QSxHPUYsW0QsSF09Xy5BQygoKT0+e3ZhciBhYT1uTihhKTtyZXR1cm4uNip6KCktak4oYWEpLWtOKGFhKX0pLFI9RCxNPUgsUz0oKT0+e3ZhciBhYT1uTihhKSxPYT16KCksSmI9cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSx6YT1wYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdO3JldHVybiBPYS0oYWEuamgmJkpiIT09dm9pZCAwP0piOmpOKGFhKSktKGFhLmhoJiZ6YSE9PXZvaWQgMD96YTprTihhYSkpLTI0LTI0fSxZPW51bGwscGE9e30sb2E9e1ZlOl8uSigwLHZvaWQgMCwic3hkRVNkIiksT2I6Xy5KKDAsCnZvaWQgMCwiR1p6cWViIiksQ2M6Xy5KKCExLHZvaWQgMCwidkpCdXBjIiksUGM6Xy5KKCExLHZvaWQgMCwiWHlSRHAiKSxGYzpfLkFDKFIpfSxVPSgoKT0+e3ZhciBhYT1udWxsO3JldHVybigpPT57aWYoIWFhKXtsZXQgT2E9e1ZlOm9hLlZlWzBdKCksT2I6b2EuT2JbMF0oKSxDYzpvYS5DY1swXSgpLFBjOm9hLlBjWzBdKCksRmM6b2EuRmNbMF0oKX07YWE9VGdhKE9hKX1yZXR1cm4gYWF9fSkoKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZCk7VSgpLnN1YnNjcmliZShhYT0+e29hLlZlWzFdKGFhLlZlKTtvYS5PYlsxXShhYS5PYik7b2EuQ2NbMV0oYWEuQ2MpO29hLlBjWzFdKGFhLlBjKTtvYS5GY1sxXShhYS5GYyl9KTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntwLnZhbHVlJiYocGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXT1wLnZhbHVlLmNsaWVudEhlaWdodCk7ci52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl09ci52YWx1ZS5jbGllbnRIZWlnaHQpfSl9KTsKXy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTtZJiYoWS5kaXNjb25uZWN0KCksWT1udWxsKX0pO3ZhciBbaGEsbWFdPV8uSighMSx2b2lkIDAsIktzaVRZZSIpLHRhPW1hLFQ9YWE9PntVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEuY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX0sYmE9Xy5QKHsiYm90dG9tLXNoZWV0LWNvbnRlbnQtd2l0aG91dC1pY29uIjooKT0+IWEuSGE/LigpfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWxheW91dCIsbnVsbCxfLksoZ08se0hpOiJjb250ZW50LXdyYXBwZXIiLApDYzooKT0+b2EuQ2NbMF0oKSxPYjooKT0+b2EuT2JbMF0oKSxGYzooKT0+b2EuRmNbMF0oKSxIYTphLkhhLHBmOmEucGYsanI6KCk9Pnt2YXIgYWE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zaGVldC1oZWFkZXIiKSxPYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudC13cmFwcGVyIik7aWYoYWEmJk9hKXt2YXIgSmI9e3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcjohMCx5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXI6ITB9O2FhLmNsYXNzTmFtZT1PYS5zY3JvbGxUb3A+MT9fLmFMKEpiKToieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyIn19LFlxOm1OLG5wOmFhPT57YihhYSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YyhhYSl9KX0saGVhZGVyOigpPT5fLksoImRpdiIse2VsOnB9LF8uSyhpTyx7aXNEcmFnZ2luZzpoYSx3czplLHZzOmYsdXM6bCxRcTpoLHRpdGxlOmEuaGVhZGVyVGl0bGUsCnN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGUsT3c6ImJvdHRvbS1zaGVldC1oZWFkZXIiLGdxOmEuVWUsRHc6YS5qaCx4bzphLldmLHh3OmEuaWh9KSksZm9vdGVyOigpPT5fLksoImRpdiIse2VsOnJ9LF8uSyhoTyx7UmU6YS5SZSxsZWFkaW5nTGFiZWw6YS5NZix0cmFpbGluZ0xhYmVsOmEuUGYscHJpbWFyeUJ1dHRvbjphLk5mLEl3OmEuVWYsc2Vjb25kYXJ5QnV0dG9uOmEuT2YsS3c6YS5WZixPcDphLlNlLEN3OmEuaGh9KSksYm9keTooKT0+Xy5LKF8uTyx7QTphLlhpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6YmF9LGEuR2I/LigpKX0pfSkpfSwiVmEiKTtqTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1dmOiEwLFVlOiEwLEdiOiEwLFNlOiEwLE5mOiEwLE9mOiEwfX07Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uY0wpO3JldHVybiBfLksoInl0LWNvbnRleHR1YWwtc2hlZXQtbGF5b3V0Iix7Y2xhc3M6Xy5QKCJ5dENvbnRleHR1YWxTaGVldExheW91dEhvc3QiLHt5dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmc6YS5ydSx5dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aDooKT0+ISFhLmhhc0hlYWRlcj8uKCl8fCEhYS5Cdz8uKCl8fF8ueCgiZW5hYmxlX2NvbnRleHR1YWxfc2hlZXRfb2xkX21pbl93aWR0aF9raWxsc3dpdGNoIil9KSxlbDpfLnJGKF8uZEwpLCJvbjpjbGljayI6KCk9PnthPy52Sz8uKCl8fGIuSmUoKX19LF8uSyhfLk8se0E6KCk9PiEhYS5oZWFkZXIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIZWFkZXJDb250YWluZXIifSxhLmhlYWRlcigpKX0pLF8uSyhfLk8se0E6KCk9PiEhYS5jb250ZW50LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lciJ9LAphLmNvbnRlbnQoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuZm9vdGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sYS5mb290ZXIoKSl9KSl9LCJXYSIpLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aGVhZGVyOiEwLGNvbnRlbnQ6ITAsZm9vdGVyOiEwLGhhc0hlYWRlcjohMCxnSjohMCxCdzohMCxydTohMH19O3ZhciBHaGE9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLG9uQ2xpY2s6Y30pPT5fLksoInl0dy12YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXNwZWVkLWJ1dHRvbi12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsSG9zdCIsYil9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLkhELHtkYXRhOmQsb25DbGljazpjfSl9KSxfLksoXy5WLHtjbGFzc05hbWU6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVsIix0ZXh0OigpPT5hKCkuYnV0dG9uTGFiZWx9KSksIlhhIik7dmFyIG9OOwpfLmtPPV8uTCgoe2RhdGE6YSxwejpiPVZnYSxvejpjPVdnYSxxejpkPVhnYX0pPT57dmFyIFtlLGZdPV8uSigxMDAsdm9pZCAwLCJkME5LeWIiKSxbaCxrXT1fLkooITEsdm9pZCAwLCJYWHZna2IiKSxsPW09PntmKG0udGFyZ2V0LnZhbHVlQXNOdW1iZXIpO2I/LihtKX07Xy5uRSgoKT0+e2lmKGEoKS5zbGlkZXIpe3ZhciBtPV8uQihhKCkuc2xpZGVyLENoYSk7bSYmKG0uaW5pdGlhbFZhbHVlJiZtLnZhbHVlRGVub21pbmF0b3I/ZihtLmluaXRpYWxWYWx1ZS9tLnZhbHVlRGVub21pbmF0b3IpOmYoMCkpfX0sIlJ2SERyZiIpO3JldHVybiBfLksoInZhcmlhYmxlLXNwZWVkLWNvbnRyb2xsZXItdmlldy1tb2RlbCIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNwZWVkSW5kaWNhdG9yQ29udGFpbmVyIn0sXy5LKF8uTyx7QTooKT0+ZSgpPjIsdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdlIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKF8uRUQse2RhdGE6bX0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheSIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtYXRvbWljIjoidHJ1ZSIsImFyaWEtYnVzeSI6aH0sKCk9Pl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2UoKS50b0ZpeGVkKDIpfWB9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU2xpZGVyQ29udGFpbmVyIiwib246Zm9jdXNpbiI6ZnVuY3Rpb24obSl7bS50YXJnZXQudGFnTmFtZT09PSJJTlBVVCImJmsoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0KIklOUFVUIiYmayghMSl9fSxfLksoXy5XLHtkYXRhOigpPT5hKCkuc2xpZGVyfSx7aG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoRmhhLHtkYXRhOigpPT4oey4uLm0oKSxpbml0aWFsVmFsdWU6ZSgpKjEwMH0pLGZ6OmwsWXk6Y30pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBsYXliYWNrU3BlZWRCdXR0b25zfSx7dmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoR2hhLHtkYXRhOm0sY2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b24iLG9uQ2xpY2s6KCk9Pnt2YXIgbj1tKCk/LnBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlO24mJihmKG4vMTAwKSxkPy4obi8xMDApKX19KX0pKSl9LCJaYSIpO3ZhciBIaGE9bmV3IF8uVnMoIkNPTlRFTlRfRkVFREJBQ0tfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBsTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5VRCksYz1fLnBIKHtOYjooZixoKT0+e18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpfHwhZnx8Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KXx8TU0oaCl9LGViOntWYjohMSxzdGF0ZToidmlzaWJsZSJ9fSksZD1fLnkoKS5yZXNvbHZlKF8uSW4oSGhhKSksZT1fLnkoKS5yZXNvbHZlKF8uSW4oRGhhKSk7cmV0dXJuIF8uSygieXQtc2hlZXQtdmlldy1tb2RlbCIseyJvbjptb3VzZWRvd24iOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZmLmN1cnJlbnRUYXJnZXQhPT1mLnRhcmdldCYmZi5wcmV2ZW50RGVmYXVsdCgpfSwib246Zm9jdXMiOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZNTShmLmN1cnJlbnRUYXJnZXQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt2YXIgZj1fLnpIKGE/LigpPy5yZW5kZXJlckNvbnRleHQpOwpmJiZiLnJlc29sdmVDb21tYW5kKGYpfSxjbGFzczpfLlAoInl0U2hlZXRWaWV3TW9kZWxIb3N0Iix7eXRTaGVldFZpZXdNb2RlbENvbnRleHR1YWw6ITEseXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcjohMX0pLGVsOl8uckYoYyksdGFiaW5kZXg6LTF9LF8uSyhfLk8se0E6YSx0aGVuOmY9Pl8uSyhqTyx7VWU6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmYoKS5oZWFkZXJ9LHtwYW5lbEhlYWRlclZpZXdNb2RlbDpmT30pLGpoOiEwLGloOiExLEdiOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuY29udGVudH0se2NoZWNrYm94R3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8udEQse2RhdGE6aCxXYjohMX0pLHJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uRUwse2RhdGE6aCxXYjohMX0pLGxpc3RWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uQkQse2RhdGE6aCxCYzohMH0pLHZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOl8ua08sCmxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLHVwc2VsbFZpZXdNb2RlbDpfLmhMLG1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbDpfLmpMLC4uLihlJiZ7dmlkZW9Ob3RpY2VzVmlld01vZGVsOmV9KSwuLi4oZCYme2NvbnRlbnRGZWVkYmFja1ZpZXdNb2RlbDooe2RhdGE6aH0pPT5fLksoZCx7ZGF0YTpoLGNsYXNzTmFtZToieXRTaGVldFZpZXdNb2RlbFBhZGRlZENvbnRlbnQifSl9KX0pLFhpOiEwLFNlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuZm9vdGVyfSx7cGFuZWxGb290ZXJWaWV3TW9kZWw6Xy5zRH0pLGhoOiEwLFVmOiExLFZmOiExLEhhOiEwfSl9KSl9LCIkYSIpO2xPLmlkb21Db21wYXQ9ITA7Xy5tTz1uZXcgXy5WcygiSUNPTl9TRVRfVE9LRU4iKTtfLm5PPW5ldyBfLlZzKCJJQ09OX1VSTF9QUk9WSURFUl9UT0tFTiIpO18ub089bmV3IF8uVnMoIklDT05fTUFQX0ZOX1RPS0VOIik7dmFyIFNOPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9digpe3ZhciBhPShfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT9JaGE6SmhhKT8/dGhpcy5vO2lmKGE/Lmxlbmd0aCl7bGV0IGI9W107YT0obmV3IFNldChhKSkudmFsdWVzKCk7Zm9yKGxldCBjIG9mIGEpZm9yKGxldCBkIG9mIE9iamVjdC52YWx1ZXMoemhhKSliLnB1c2goe2ljb25OYW1lOmMsaWNvblN0eWxlOmR9KTt0aGlzLmoueWEoYil9ZWxzZSBQcm9taXNlLnJlc29sdmUoKX19O1NOW18uTG5dPVtfLlhMLF8uSW4obmV3IF8uVnMoIlBSRUZFVENIX0lDT05TX1RPS0VOIikpXTt2YXIgS2hhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGVoYT17WzFdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH0sWzJdOntwZDpmdW5jdGlvbihhLGIsYyl7YT1jO3hoYS50ZXN0KGEpJiYoYS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UocmhhLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShzaGEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UodGhhLCImZ3Q7IikpLGEuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKHVoYSwiJnF1b3Q7IikpLGEuaW5kZXhPZigiJyIpIT0tMSYmKGE9YS5yZXBsYWNlKHZoYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2Uod2hhLCImIzA7IikpKTtyZXR1cm4gYX0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmZifSxLZDphPT5fLnlBKGEpfSxbM106e3BkOmZ1bmN0aW9uKGEsCmIsYyl7cmV0dXJuIEtoYS50ZXN0KGMpP2M6Xy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gXy5YYShhKX0sS2Q6YT0+Xy5ZYShhKX0sWzRdOntwZDpmdW5jdGlvbigpe3JldHVybiBfLkZxLnRvU3RyaW5nKCl9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYX0sS2Q6YT0+Xy5VYShhKS50b1N0cmluZygpfSxbNV06e3BkOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY30saGUoYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyJ9LEtkOmE9PmEudG9TdHJpbmcoKX0sWzddOntwZDpmdW5jdGlvbigpe3JldHVybiIgLyp6Q2xvc3VyZXoqLyAifSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uamJ9LEtkOmE9Pl8ubGIoYSl9LFs4XTp7cGQoYSxiLGMpe2M9U3RyaW5nKGMpLnRvTG93ZXJDYXNlKCk7YTp7bGV0IGQ9bnVsbDsoYT1iT1thXSkmJihkPWFbYl0pO2lmKHR5cGVvZiBkIT09Im51bWJlciImJigoYT1iT1siKiJdKSYmKGQ9YVtiXSksdHlwZW9mIGQhPT0ibnVtYmVyIikpe2I9CiExO2JyZWFrIGF9Yj0hMD09PXloYVtkXVtTdHJpbmcoYykudG9Mb3dlckNhc2UoKV19cmV0dXJuIGI/YzoiekNsb3N1cmV6In0saGU6bnVsbCxLZDpudWxsfSxbMTBdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH19O18ucE89Xy5MKCh7ZGF0YTphLHRnOmIsSGE6YyxpY29uOmQscHJvY2Vzc0FsbEVuZHBvaW50czplLHByZXZlbnREZWZhdWx0OmYsc3RvcFByb3BhZ2F0aW9uOmgsd0k6ayxjbGFzc05hbWU6bCxidXR0b25PdmVycmlkZXM6bSxRZjpuLGlzU3Vic2NyaWJlOnAsb2k6cixCbDp0fSk9Pnt2YXIgdj1fLm1HKCksej0oRixDKT0+e2Y/LigpJiZDLnByZXZlbnREZWZhdWx0KCk7aD8uKCkmJkMuc3RvcFByb3BhZ2F0aW9uKCk7aWYoIWs/LigpKXtGPWEoKTt2YXIgRz0hIWU/LigpO2lmKCFGLl9pc0J1c3kpe2ImJmIoKTt2YXIgRD0hRi5uYXZpZ2F0aW9uRW5kcG9pbnR8fCEhXy5CKEYubmF2aWdhdGlvbkVuZHBvaW50LF8uWXopfHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLlp6KTtHPyhGLnRyYWNraW5nUGFyYW1zJiZEJiZfLnpKKEYudHJhY2tpbmdQYXJhbXMpLEYuc2VydmljZUVuZHBvaW50JiZfLkFKKEYuc2VydmljZUVuZHBvaW50LEYsITEse2V2ZW50OkMsQmQ6dn0pLEYubmF2aWdhdGlvbkVuZHBvaW50JiYKXy5BSihGLm5hdmlnYXRpb25FbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLmNvbW1hbmQmJl8uQUooRi5jb21tYW5kLEYsITEse2V2ZW50OkMsQmQ6dn0pKTooRz12TihGLnNlcnZpY2VFbmRwb2ludCl8fHZOKEYubmF2aWdhdGlvbkVuZHBvaW50KXx8dk4oRi5jb21tYW5kKSkmJl8uQUooRyxGLEQse2V2ZW50OkMsQmQ6dn0pfX19LEU9KCk9PntpZihjPy4oKSE9PSExKXJldHVybiBkPy4oKXx8YSgpLmljb24/Lmljb25UeXBlfSxBPV8uTigoKT0+KHsuLi5haGEoe3JlbmRlcmVyOmEoKSxJbTp6LHdBOiEwLFNjOm0/LigpLFZ5OiEwLFFmOm4/LigpLGlzU3Vic2NyaWJlOnA/LigpfHwhMSxCbDp0Py4oKX0pLG9pOnI/LigpfSksdm9pZCAwLCJQYzR0M2IiKTtyZXR1cm4gXy5LKCJ5dG0tYnV0dG9uLXJlbmRlcmVyIix7aGlkZGVuOigpPT4hYSgpLnRleHQmJiFfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5RGF0YXx8YSgpLmFjY2Vzc2liaWxpdHkpLGNsYXNzOl8uUChsLCgpPT5FPy4oKT8KYGljb24tJHtFKCkudG9Mb3dlckNhc2UoKX1gOnZvaWQgMCx7ZGlzYWJsZWQ6KCk9PmEoKS50aGVtZWRCYXNpY0NvbG9yUGFsZXR0ZSYmXy51TihhKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUpfSl9LF8uSyhfLkpLLHtkYXRhOkEsaWNvbk5hbWU6RX0pKX0sImFiIik7Xy5wTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQnV0dG9uQ2xpY2tDYWxsYmFjazohMH19O18ucU89Xy5MKCh7ZGF0YTphLFFmOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxjbGFzc05hbWU6ZSxzdG9wUHJvcGFnYXRpb246ZixSazpoLEhjOmssc3o6bH0pPT57dmFyIFttLG5dPV8uQUMoYSkscD0oKT0+e3ZhciB0PW0oKTt2YXIgdj1jPy4oKT8uYW5pbWF0ZUljb249PT0idHJ1ZSIsej10LnRvZ2dsZWRJY29uJiZ0LnRvZ2dsZWRJY29uLmljb25UeXBlLEU9dC5kZWZhdWx0SWNvbiYmdC5kZWZhdWx0SWNvbi5pY29uVHlwZTt0PXY/RXx8bnVsbDp0LmlzVG9nZ2xlZCYmenx8RXx8bnVsbDt2PW0oKTtyZXR1cm4oYz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiP3Q6dD09PSJMSUtFIiYmdi5pc1RvZ2dsZWQ/IkxJS0VfRklMTEVEIjp0PT09IkRJU0xJS0UiJiZ2LmlzVG9nZ2xlZD8iRElTTElLRV9GSUxMRUQiOnQpPz92b2lkIDB9LHI9KHQsdik9PntoP2godCx2KTooZj8uKCkmJnYuc3RvcFByb3BhZ2F0aW9uKCksdD0hbSgpLmlzVG9nZ2xlZCxuKHsuLi5tKCksaXNUb2dnbGVkOnR9KSwKbD8uKHQpKX07cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczplfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciB0PW0oKSx2PW0oKSx6PSEodi5pc1RvZ2dsZWQ/IXYudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDohdi5kZWZhdWx0U2VydmljZUVuZHBvaW50KSxFPXY7di5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiYoRT17fSk7cmV0dXJuIGRoYSh7cmVuZGVyZXI6dCxJbTpyLFJ1Ol8uWUQoRSx7fSx6KSxTYzpkPy4oKSxWeTohMCx0b2dnbGVkOiEhbSgpLmlzVG9nZ2xlZCxRZjpiPy4oKX0pfSxpY29uOigpPT5fLksoXy5NRCx7aWNvbjpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhY3RpdmU6KCk9Pm0oKS5pc1RvZ2dsZWQsSGM6a30pfSkpfSwiYmIiKTtfLnFPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Ums6ITAsc3o6ITB9fTtfLiROPXtLQjpYKCJBQ0NPVU5UX0xBQkVMIiksTUI6WCgiQUNUX09OX1RISVNfQ09NTUVOVCIpLE5COlgoIkFERF9UT19EUk9QRE9XTl9MQUJFTCIpLE9COlgoIkFEX0JBREdFX0hJTlQiKSxQQjpYKCJBRF9CQURHRV9URVhUIiksY0M6WCgiQUxMX0NIQU5ORUxTX0xBQkVMIiksZUM6WCgiQU1CSUVOVF9NT0RFIiksZkM6WCgiQU1CSUVOVF9NT0RFX09GRiIpLGdDOlgoIkFNQklFTlRfTU9ERV9PTiIpLGhDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIiksaUM6WCgiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiIpLGtDOlgoIkFQUF9VUFNFTExfU1VCVElUTEUiKSxsQzpYKCJBUFBfVVBTRUxMX1RJVExFIiksTnM6WCgiQVVESU9fVFJBQ0siLCJBdWRpbyBUcmFjayIpLG5rOlgoIkFVVE9OQVZfVE9HR0xFIiksbUM6WCgiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiKSxuQzpYKCJBVVRPUExBWV9QQVVTRUQiKSxvQzpYKCJBVVRPUExBWV9QTEFZX05PVyIpLApPczpYKCJBVVRPUExBWV9VUF9ORVhUX0lOIiksUHM6WCgiQVVUT19aT09NIiwiQXV0byB6b29tIiksQkFDSzpYKCJCQUNLIikscUM6WCgiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiIsIkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiKSxDQU5DRUw6WCgiQ0FOQ0VMIiksdUM6WCgiQ0hBTk5FTF9TV0lUQ0hFUl9MQUJFTCIpLENMT1NFOlgoIkNMT1NFIiwiY2xvc2UiKSxSczpYKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiKSxTczpYKCJDTE9TRURfQ0FQVElPTlNfT0ZGIiksVHM6WCgiQ0xPU0VEX0NBUFRJT05TX09OIiksVXM6WCgiQ0xPU0VEX0NBUFRJT05TX09OX0xBTkdVQUdFIikseEM6WCgiQ0xPU0VfU0VBUkNIX0xBQkVMIikseUM6WCgiQ0xPU0VfU0VUVElOR1NfTEFCRUwiKSx6QzpYKCJDT01NRU5UX01PREFMX0NPTlRFTlQiKSxXczpYKCJDT05GSVJNX09LIiksQUM6WCgiQ09OTkVDVF9UT19USEVfSU5URVJORVQiKSwKWHM6WCgiQ09QSUVEX1RPX0NMSVBCT0FSRCIpLFlzOlgoIkNPUFkiKSxUbjpYKCJDT1BZX0RFQlVHX0lORk8iKSxaczpYKCJDT1BZX0VNQkVEX0NPREUiKSxDQzpYKCJDT1BZX0xJTktfTEFCRUwiKSxidDpYKCJDT1BZX1ZJREVPX1VSTCIpLGZ0OlgoIkNPUFlfVklERU9fVVJMX0FUX0NVUlJFTlRfVElNRSIpLERDOlgoIkNSRUFURV9DSEFOTkVMX1RJVExFIiksSUM6WCgiREVMRVRFX0ZST01fRE9XTkxPQURTIiksWG46WCgiRElBTE9HIiksRE9ORTpYKCJET05FIiksTkM6WCgiRE9XTkxPQUQiKSxrdDpYKCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIiksYkQ6WCgiRkxBR19DT05GSVJNIiksY0Q6WCgiRkxBR19DT05URU5UIiksZEQ6WCgiRkxBR19MQUJFTCIpLGVEOlgoIkZMQUdfVElUTEUiKSxmRDpYKCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiKSxWRTpYKCJHSUZUUyIsIkdpZnRzIiksV0U6WCgiR09PR0xFX0NPTVBBTlkiKSxtdDpYKCJISURFX1BMQVlFUl9DT05UUk9MUyIsCiJIaWRlIHBsYXllciBjb250cm9scyIpLFlFOlgoIkhJREVfUExBWUxJU1RfVklERU9TIiksWkU6WCgiSElERV9TRUFSQ0hfRklMVEVSU19MQUJFTCIpLEhPTUU6WCgiSE9NRSIsIkhvbWUiKSxkRjpYKCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIiksZ0Y6WCgiTEVBVkVfQV9DT01NRU5UX1RJVExFIiwiTGVhdmUgYSBjb21tZW50PyIpLGhGOlgoIkxJQlJBUlkiLCJMaWJyYXJ5Iiksa0Y6WCgiTElTVEVOSU5HIiksTE9BRElORzpYKCJMT0FESU5HIiksbEY6WCgiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiLCJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiksdXQ6WCgiTE9PUCIpLG9GOlgoIk1FTlVfREVTS1RPUCIpLHBGOlgoIk1FTlVfRVhJVCIpLHFGOlgoIk1FTlVfRkVFREJBQ0siKSxyRjpYKCJNRU5VX0hFTFAiKSxzRjpYKCJNRU5VX0lNUFJFU1NVTSIpLHZ0OlgoIk1FTlVfUExBWUVSX1NFVFRJTkdTIiksdEY6WCgiTUVOVV9TRVRUSU5HUyIpLHVGOlgoIk1FTlVfU0lHTl9JTiIpLAp2RjpYKCJNRU5VX1RJVExFIiksd0Y6WCgiTUVOVV9ZT1VSX0RBVEEiKSxBRjpYKCJNT1JFX0lORk8iKSx3dDpYKCJNT1JFX09QVElPTlMiKSxibzpYKCJNT1JFX1ZJREVPUyIsIk1vcmUgdmlkZW9zIikseHQ6WCgiTU9SRV9WSURFT1NfQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUwiLCJIaWRlIG1vcmUgdmlkZW9zIiksenQ6WCgiTU9SRV9WSURFT1NfRlJPTV9DSEFOTkVMIiwiTW9yZSB2aWRlb3MgZnJvbSAkY2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyIiksZW86WCgiTU9SRV9WSURFT1NfTkVYVF9CVVRUT05fQVJJQV9MQUJFTCIsIk5leHQgdmlkZW9zIiksZm86WCgiTU9SRV9WSURFT1NfUFJFVklPVVNfQlVUVE9OX0FSSUFfTEFCRUwiLCJQcmV2aW91cyB2aWRlb3MiKSxBdDpYKCJNVVRFX1ZPTFVNRSIpLENGOlgoIk5FV19QTEFZTElTVCIpLERGOlgoIk5FWFRfVklERU8iKSxDdDpYKCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSIpLEZGOlgoIk5PVF9GT1VORF9DVEEiKSxHRjpYKCJOT1RfRk9VTkRfTUVTU0FHRSIpLApIRjpYKCJOT1RfRk9VTkRfVElUTEUiKSxJRjpYKCJOT19ET1dOTE9BRFMiKSxKRjpYKCJOT19NSUNfSU5QVVQiKSxLRjpYKCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iKSxEdDpYKCJPT1BTX01FU1NBR0UiKSxNRjpYKCJPUEVOX0FQUCIpLE5GOlgoIk9QRU5fWU9VVFVCRSIpLE9GOlgoIk9QRU5fWU9VVFVCRV9BUFAiLCJPcGVuIFlvdVR1YmUgYXBwIiksUEFVU0U6WCgiUEFVU0UiKSxVRjpYKCJQTEFZIiksRXQ6WCgiUExBWUVSX0NBUFRJT04iKSxGdDpYKCJQTEFZRVJfQ0FQVElPTl9PRkYiKSxWRjpYKCJQTEFZRVJfQ0FQVElPTl9PTiIpLEd0OlgoIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiKSxXRjpYKCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIiksWEY6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyIpLEh0OlgoIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iKSxJdDpYKCJQTEFZRVJfRkFTVEZPUldBUkRfU0VDT05EUyIpLApKdDpYKCJQTEFZRVJfRlVMTFNDUkVFTiIpLGxvOlgoIlBMQVlFUl9MSVZFX0xBQkVMIiksWUY6WCgiUExBWUVSX0xJVkVfTk9XIiksWkY6WCgiUExBWUVSX01JTklNSVpFIiksS3Q6WCgiUExBWUVSX05FWFQiKSxMdDpYKCJQTEFZRVJfUEFVU0UiKSxQZzpYKCJQTEFZRVJfUExBWSIpLE10OlgoIlBMQVlFUl9QUkVWSU9VUyIpLGFHOlgoIlBMQVlFUl9QUk9HUkVTU19CQVIiKSxOdDpYKCJQTEFZRVJfUVVBTElUWSIpLE90OlgoIlBMQVlFUl9RVUFMSVRZX0FVVE8iKSxQdDpYKCJQTEFZRVJfUkVQTEFZIiksUXQ6WCgiUExBWUVSX1JFV0lORF9TRUNPTkRTIiksbW86WCgiUExBWUVSX1NQRUVEIiksYkc6WCgiUExBWUVSX1NQRUVEVVBfVVNFUl9FRFUiKSxSdDpYKCJQTEFZRVJfU1BFRURfREVDUkVBU0UiKSxTdDpYKCJQTEFZRVJfU1BFRURfSU5DUkVBU0UiKSxubzpYKCJQTEFZRVJfU1BFRURfTk9STUFMIiksVHQ6WCgiUExBWUVSX1NQRUVEX1JFQ0VOVCIpLFV0OlgoIlBMQVlFUl9USU1FX0RVUkFUSU9OIiksClZ0OlgoIlBMQVlFUl9USU1FX0VMQVBTRUQiKSxjRzpYKCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiKSxkRzpYKCJQTEFZTElTVF9NSVhfREVUQUlMRURfTE9OR19CWUxJTkUiKSxlRzpYKCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyIpLGZHOlgoIlBMQVlMSVNUX05BTUVfTUlTU0lORyIpLGdHOlgoIlBMQVlMSVNUX05BTUVfVE9PX0xPTkciKSxoRzpYKCJQTEFZTElTVF9QQU5FTF9FTkRfT0ZfUExBWUxJU1QiKSxpRzpYKCJQTEFZTElTVF9QQU5FTF9ORVhUIiksakc6WCgiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiKSxrRzpYKCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiKSxsRzpYKCJQTEFZX0FMTCIpLG1HOlgoIlBMRUFTRV9GSVhfRVJST1JTIiksWHQ6WCgiUFJFTUlVTV9CQURHRV9MQUJFTCIsIlByZW1pdW0iKSxuRzpYKCJQUkVWSU9VU19WSURFTyIpLG9HOlgoIlBSSVZBQ1lfUE9MSUNZIiksckc6WCgiUkVMT0FEIiksCnNHOlgoIlJFUVVJUkVEX0xBQkVMIikseUc6WCgiU0FWRV9QTEFZTElTVCIpLEFHOlgoIlNDUlVCX1NMSURFX1VTRVJfRURVIiksQ0c6WCgiU0VBUkNIIiwiU2VhcmNoIiksREc6WCgiU0VBUkNIX0FQUEVORF9MQUJFTCIpLEVHOlgoIlNFQVJDSF9DSEFOTkVMIiksRkc6WCgiU0VBUkNIX0NMRUFSX0xBQkVMIiksR0c6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNX05PX0FSVElTVCIsIkFsYnVtIiksSEc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX01PVklFIiwiTW92aWUiKSxJRzpYKCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiLCJTb25nIiksSkc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciLCJUViBTaG93IiksS0c6WCgiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxMRzpYKCJTRUFSQ0hfTEFCRUwiKSxNRzpYKCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiKSxORzpYKCJTRUVLX1NMSURFUiIpLE9HOlgoIlNFVFRJTkdTX0xBQkVMIiksClBHOlgoIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIiksU0c6WCgiU0hPUlRTX1RBQl9MQUJFTCIsIlNob3J0cyIpLFRHOlgoIlNIT1dfTEVTUyIpLFVHOlgoIlNIT1dfTU9SRSIpLFp0OlgoIlNIT1dfUExBWUVSX0NPTlRST0xTIiwiU2hvdyBwbGF5ZXIgY29udHJvbHMiKSxWRzpYKCJTSE9XX1BMQVlMSVNUX1ZJREVPUyIpLFdHOlgoIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxhdTpYKCJTSUdOX0lOX0xBQkVMIiksWkc6WCgiU0lHTl9JTl9PTl9XRUIiKSx5azpYKCJTVEFCTEVfVk9MVU1FIiksakg6WCgiU1RBQkxFX1ZPTFVNRV9PRkYiKSxrSDpYKCJTVEFCTEVfVk9MVU1FX09OIiksYnU6WCgiU1RBVFNfRk9SX05FUkRTIiksbEg6WCgiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiKSxtSDpYKCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiKSxuSDpYKCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCIpLG9IOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0xBQkVMIiwKIlZpZXcgaW1hZ2Ugc291cmNlIikscEg6WCgiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiKSxxSDpYKCJURVJNU19PRl9TRVJWSUNFIiksckg6WCgiVElNRVNUQU1QX01JTlVURVMiKSxzSDpYKCJUSU1FU1RBTVBfU0VDT05EUyIpLHRIOlgoIlRPR0dMRV9PRkYiKSx1SDpYKCJUT0dHTEVfT04iKSx2SDpYKCJUUkVORElORyIpLGR1OlgoIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSIpLGV1OlgoIlRSWV9BR0FJTl9MQVRFUiIpLHdIOlgoIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiIpLHhIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIikseUg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIiksekg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIiksZ3U6WCgiVU5NVVRFX1ZPTFVNRSIpLHNvOlgoIlZJREVPX0xJTktfTEFCRUwiKX07Xy5MaGE9T2JqZWN0LmZyZWV6ZT9PYmplY3QuZnJlZXplKE9iamVjdC5jcmVhdGUobnVsbCkpOnt9O18uTk49KCk9Pnt9O3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrPy5iaW5kKHdpbmRvdyk7Xy5aTj1fLkwoYT0+e3ZhciB7bGFiZWw6YixvbmNsaWNrOmMsc2hvd1NwaW5uZXI6ZCx0aTplLGVuZ2FnZW1lbnRQYW5lbDpmLEt4OmgsRHA6ayxyZWxhdGl2ZTpsLG9wYWNpdHk6bX09Xy5EQyhhLHtzaG93U3Bpbm5lcjohMSxSSzohMSx0aTohMSxlbmdhZ2VtZW50UGFuZWw6ITEsRHA6ITEscmVsYXRpdmU6ITEsS3g6ITEsb3BhY2l0eTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJ5dHctc2NyaW0iLHtjbGFzczpfLlAoInl0V2ViU2NyaW1Ib3N0IiwieXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5Iix7eXRXZWJTY3JpbUhvc3RCb3R0b21TaGVldDplLHl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkseXRXZWJTY3JpbUhvc3REcmFnZ2FibGVFbmdhZ2VtZW50UGFuZWw6KCk9PiFlKCkmJmYoKSYmaCgpLHl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0OigpPT4hZSgpJiYhZigpJiZrKCkseXRXZWJTY3JpbUhvc3RSZWxhdGl2ZTpsfSksIm9uOmNsaWNrIjpjLCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKG4pe24ucHJldmVudERlZmF1bHQoKTsKbi5zdG9wUHJvcGFnYXRpb24oKX0sc3R5bGU6KCk9Pm0oKSE9PXZvaWQgMD9gYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsICR7bSgpfSk7YDoiIn0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0V2ViU2NyaW1EaWFsb2dDb250YWluZXIifSxfLksoXy5aTCxudWxsKSl9KSxfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFdlYlNjcmltSGlkZGVuQnV0dG9uIiwiYXJpYS1sYWJlbCI6Yn0pKX0sImNiIik7dmFyIEZOLEVOLElOLEdOLExOLEhOLGtoYTtGTj0wO0VOPW5ldyBNYXA7SU49bnVsbDtHTj1udWxsO0xOPSExO18uRE49W107SE49IV8ueCgiY2FuY2VsX21vZGFsX3BlbmRpbmdfYW5pbWF0aW9uc19raWxsc3dpdGNoIik7a2hhPSFfLngoInJlc2hvd19uZXN0ZWRfbW9kYWxfc2libGluZ3Nfa2lsbHN3aXRjaCIpO3ZhciByTzsKXy5zTz1fLkwoKHt0cTphfSk9PntmdW5jdGlvbiBiKEcpe2lmKChhKCkmJmRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHwhYSgpJiYhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpJiZHKXt2YXIgRD1HLlFrLEg9Ry52aWV3TW9kZWw7ay52YWx1ZT9GKEcpOkQ/LmlzRGlzYWJsZWQmJkQ/LmRpc2FibGVkQ29tbWFuZD8oQ04oITApLF8uQUooRC5kaXNhYmxlZENvbW1hbmQsaC52YWx1ZSwhMSkpOih3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmXy4kTSgiYm90dG9tLXNoZWV0IiwhMCksay52YWx1ZT0hMCxkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iLCIiKSxfLm9NKCkuZGlzcGF0Y2goYk4oITApKSxyTz1fLm1HKCkscChEKSx2KEgpLENOKCEwKSxoLnZhbHVlfHxfLklwKEVycm9yKCJGZCIpKSxfLkpOKGgudmFsdWUsRD8uZm9jdXNPbkNsb3NlLCEwKSl9fWZ1bmN0aW9uIGMoKXtrLnZhbHVlJiYoay52YWx1ZT0hMSxkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iKSwKbigpPy5HaD8uKCksck89dm9pZCAwLHAodm9pZCAwKSx2KHZvaWQgMCksQ04oITEpLF8uS04oaC52YWx1ZSksXy5vTSgpLmRpc3BhdGNoKGJOKCExKSkpfWZ1bmN0aW9uIGQoKXtrLnZhbHVlJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmYygpfWFzeW5jIGZ1bmN0aW9uIGUoKXthd2FpdCBfLkZKO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNib3R0b20tc2hlZXQiJiYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR8fF8uWU0/Xy4kTSgiIiwhMCk6YXdhaXQgXy5aTSgpLGQoKSk7QSgpJiYoYihBKCkpLEYodm9pZCAwKSl9ZnVuY3Rpb24gZihHKXtfLnpOKCk7Ry5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLnVFKCJib3R0b20tc2hlZXQtY29udGFpbmVyIiksaz1fLnVNKCExKSxbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwidld1WGtiIiksbj1sLHA9bSxbcix0XT1fLkoodm9pZCAwLHZvaWQgMCwiQmZSQUxiIiksdj10LFt6LEVdPV8uSih2b2lkIDAsdm9pZCAwLAoieTd0TmxjIiksQT16LEY9RSxDPSgpPT4hKCFuKCkmJiFyKCkpO18uVUooKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpO18ueSgpLnJlc29sdmUoXy5jTCkuUHooe3dnOkc9PntHJiZiKHt2aWV3TW9kZWw6Ry52aWV3TW9kZWwsUWs6Ry5Ra30pfSxKZTphc3luYygpPT57YXdhaXQgZSgpfSxkbTphc3luYygpPT4hIV8ueE4oKSxYcDooKT0+aC52YWx1ZSxvdzpHPT5HfSxhKCkpO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpfSl9KTtyZXR1cm4gXy5LKCJib3R0b20tc2hlZXQtY29udGFpbmVyIix7ZWw6aCxyb2xlOiJkaWFsb2ciLGhpZGRlbjooKT0+IUMoKSwiYXJpYS1tb2RhbCI6ITAsImFyaWEtbGFiZWwiOigpPT5uKCk/LmhlYWRlclRpdGxlPwpuKCkuaGVhZGVyVGl0bGU6Xy4kTi5Ybn0sXy5LKF8uTyx7QTpDLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLnpOLHRpOiEwfSksXy5LKF8uTyx7QTpyLHRoZW46Rz0+Xy5LKGxPLHtkYXRhOkd9KSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjpHPT5fLnBHKHJPfHx7fSwoKT0+Xy5LKGpPLHtIYTooKT0+RygpLkhhLHBmOigpPT5HKCkucGYsR2s6KCk9PkcoKS5HayxHaDooKT0+RygpLkdoLGZvY3VzT25DbG9zZTooKT0+RygpLmZvY3VzT25DbG9zZSxpc0Rpc2FibGVkOigpPT5HKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6KCk9PkcoKS5kaXNhYmxlZENvbW1hbmQsVWU6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5VZX0pLGpoOigpPT4hIUcoKS5VZSxHYjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLkdifSksWGk6KCk9PiEhRygpLkdiLFNlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT4KRygpLlNlfSksaGg6KCk9PiEhRygpLlNlLGhlYWRlclRpdGxlOigpPT5HKCkuaGVhZGVyVGl0bGUsaGVhZGVyU3VidGl0bGU6KCk9PkcoKS5oZWFkZXJTdWJ0aXRsZSxXZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLldmfSksaWg6KCk9PiEhRygpLldmLE5mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuTmZ9KSxVZjooKT0+ISFHKCkuTmYsT2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5PZn0pLFZmOigpPT4hIUcoKS5PZixSZTooKT0+RygpLlJlLE1mOigpPT5HKCkuTWYsUGY6KCk9PkcoKS5QZn0pKX0pfSksXy5LKCJidXR0b24iLHtjbGFzczoiY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCI6Xy4kTi5DTE9TRSwib246Y2xpY2siOmZ9KSl9KSl9LCJkYiIpO18uc08uaWRvbUNvbXBhdD0hMDtfLnRPPV8uTCgoe2FyaWFMYWJlbDphLFVIOmIsYXJpYVByZXNzZWQ6YyxhcmlhRXhwYW5kZWQ6ZCxhcmlhRGlzYWJsZWQ6ZSxjbGFzc05hbWU6Zixjb250ZW50OmgsYnE6ayxpZDpsLG5hbWU6bSxvbmNsaWNrOm4sb250b3VjaHN0YXJ0OnAsb250b3VjaG1vdmU6cixvbnRvdWNoZW5kOnQsYng6dn0pPT57dj1fLnVFKCJidXR0b24iLHYpO3JldHVybiBfLksoImJ1dHRvbiIse2lkOmwsY2xhc3M6Xy5QKCJpY29uLWJ1dHRvbiIsZiksZWw6diwiYXJpYS1sYWJlbCI6YSwiYXJpYS1sYWJlbGxlZGJ5IjpiLCJhcmlhLXByZXNzZWQiOmMsImFyaWEtZXhwYW5kZWQiOmQsImFyaWEtaGFzcG9wdXAiOmssImFyaWEtZGlzYWJsZWQiOmUsIm9uOmNsaWNrIjpuLCJvbjp0b3VjaHN0YXJ0IjpsTihwKSwib246dG91Y2htb3ZlIjpsTihyKSwib246dG91Y2hlbmQiOmxOKHQpfSxfLksoXy5PLHtBOigpPT4hIWgsdGhlbjooKT0+aD8uKCksVzooKT0+Xy5LKF8uTUQse2ljb246bX0pfSkpfSwiZWIiKTsKXy50Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NvbnRlbnQ6ITAsb25jbGljazohMCxvbnRvdWNoc3RhcnQ6ITAsb250b3VjaG1vdmU6ITAsb250b3VjaGVuZDohMCxieDohMH19O3ZhciBSTixQTixPTjtSTj0hMDsKUE49e0FWQVRBUl9DSVJDTEVfQkxVRToiQVZBVEFSX0xPR0dFRF9PVVQiLEJBQ0s6IkFSUk9XX0JBQ0siLEJMT0NLX1VTRVI6IkJMT0NLIixCUk9BRENBU1Q6InBvZGNhc3QiLENBUFRJT05TOiJDTE9TRURfQ0FQVElPTiIsQ0hFQ0tfQkxVRToiQ0hFQ0siLENIRUNLX0NJUkNMRV9GSUxMRUQ6IkNIRUNLX0NJUkNMRV9GSUxMRUQiLENIRUNLX0NJUkNMRV9USElDSzoiQ0hFQ0tfQ0lSQ0xFX09VVExJTkUiLENPVVJTRToibGlnaHRidWxiIixESVNMSUtFX0NPTU1FTlQ6IkRJU0xJS0UiLERJU0xJS0VfQ09NTUVOVF9GSUxMRUQ6IkRJU0xJS0VfRklMTEVEIixESVNMSUtFX1NFTEVDVEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTUlTU0FMX0JMQUNLOiJESVNNSVNTQUwiLEVYUEFORF9NT1JFOiJFWFBBTkQiLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsR0FNSU5HOiJnYW1pbmciLEdBTUlOR19MT0dPOiJnYW1pbmciLEdFQVI6IlNFVFRJTkdTIixIRUxQOiJIRUxQX09VVExJTkUiLExJS0VfQ09NTUVOVDoiTElLRSIsCkxJS0VfQ09NTUVOVF9GSUxMRUQ6IkxJS0VfRklMTEVEIixMSUtFX1NFTEVDVEVEOiJMSUtFX0ZJTExFRCIsTElWRToiUkFEQVJfTElWRSIsTE9HTzoiWU9VVFVCRSIsTU9SRV9DSEVWUk9OOiJFWFBBTkQiLE1PUkVfVkVSVF9XSElURToiTU9SRV9WRVJUIixNVVNJQzoiYXVkaW8iLE1VU0lDX0ZJTExFRDoiYXVkaW9fZmlsbGVkIixORVdTOiJuZXdzIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLFBMQVlFUl9ORVhUOiJTS0lQX05FWFRfRklMTEVEIixQTEFZRVJfUEFVU0U6IlBBVVNFX0ZJTExFRCIsUExBWUVSX1BMQVk6IlBMQVlfQVJST1dfRklMTEVEIixQTEFZRVJfUFJFVklPVVM6IlNLSVBfUFJFVklPVVNfRklMTEVEIixQTEFZRVJfUkVQTEFZOiJSRVBMQVkiLFBMQVlfQUxMOiJQTEFZX0FSUk9XX0ZJTExFRCIsUkVNT1ZFOiJESVNNSVNTQUwiLFNIT1JUU19ESVNMSUtFOiJzaG9ydHNfdGh1bWJzX2Rvd24iLFNIT1JUU19MSUtFOiJzaG9ydHNfdGh1bWJzX3VwIiwKU1BPTlNPUlNISVBfU1RBUjoiU1BPTlNPUlNISVBfU1RBUl9GSUxMRUQiLFRBQl9BQ0NPVU5UOiJBVkFUQVJfTE9HR0VEX09VVCIsVEFCX1RSRU5ESU5HOiJmaXJlIixUQUJfVFJFTkRJTkdfRklMTEVEOiJmaXJlX2ZpbGxlZCIsVFJFTkRJTkc6ImZpcmUiLFRST1BIWToidHJvcGh5IixWT0xVTUVfRE9XTl9PVVRMSU5FOiJWT0xVTUVfRE9XTiIsVk9MVU1FX1VQOiJWT0xVTUVfVVBfRklMTEVEIixWT0xVTUVfVVBfT1VUTElORToiVk9MVU1FX1VQIixZT1VUVUJFX0xPR086IkxPR09fV0lUSF9URVhUIixZT1VUVUJFX1BSRU1JVU1fTE9HTzoiWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlX2ZpbGxlZCJ9OwpPTj17TE9HTzoiTE9HTyIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFCX1RSRU5ESU5HX0ZJTExFRDoidHJlbmRpbmdfZmlsbGVkIixUUkVORElORzoidHJlbmRpbmcifTsKXy51Tz1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsaWQ6cixhZzp0LHNpemU6dn0pPT57bmhhKCk7dmFyIHo9KCk9PlFOKGE/LigpKSxFPV8uTigoKT0+e2E6e3ZhciBGPVFOKGE/LigpKSxDPWI/LigpO3ZhciBHPXY/LigpO2lmKEYpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5YTCksSD1GLnRvTG93ZXJDYXNlKCk7Rj17aWNvbk5hbWU6SCxpY29uU3R5bGU6SC5lbmRzV2l0aCgiX2ZpbGxlZCIpfHxGLmVuZHNXaXRoKCJfb24iKXx8Qz8ieW91dHViZV9maWxsIjp2b2lkIDAsaWNvblNpemU6R307Qz1ELmooRik7IUMmJkcmJihGLmljb25TaXplPXZvaWQgMCxDPUQuaihGKSk7IUMmJkguZW5kc1dpdGgoIl9maWxsZWQiKSYmKEYuaWNvbk5hbWU9SC5zdWJzdHJpbmcoMCxILmxlbmd0aC03KSxDPUQuaihGKSk7Q3x8KEYuaWNvblN0eWxlPXZvaWQgMCwKQz1ELmooRikpO2lmKEMpe0c9RjticmVhayBhfV8uSXAobmV3IF8uWGooIkljb24gbm90IHN1cHBvcnRlZCIse2ljb25OYW1lOkYuaWNvbk5hbWV9KSl9Rz12b2lkIDB9cmV0dXJuIEd9LHZvaWQgMCwiTTZYa0diIiksQT0oKT0+KHtpY29uV2lkdGg6IjEwMCUiLGljb25IZWlnaHQ6IjEwMCUiLGFnOnQ/LigpfSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PlFOKGE/LigpKSYmaz8uKCkmJmI/LigpIT09dm9pZCAwJiZPYmplY3QudmFsdWVzKEFoYSkuaW5jbHVkZXMoUU4oYT8uKCkpfHwiIil9LCgpPT5fLksoXy50TSx7YW5pbWF0ZWRJY29uVHlwZTp6LGFjdGl2ZTooKT0+ISFiPy4oKSxIYzpsLHNpemU6dixIQTooKT0+Xy5LKF8udU8se2ljb246YSxhY3RpdmU6YixHZTohMX0pfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJkUoKX0sKCk9Pl8uSygiYzMtaWNvbiIse2NsYXNzOmMsc3R5bGU6ZCxyb2xlOmgsImRhdGEtc2VsZWN0ZWQiOmUsImRhdGEtZGlzYWJsZWQiOmYsCiJmaWxsLWljb24iOigpPT5iPy4oKT09PSEwLGlkOnIsImljb24tc3RhdGUtb3V0bGluZSI6KCk9PmI/LigpPT09ITE/IiI6dm9pZCAwLCJpY29uLXN0YXRlLWZpbGxlZCI6KCk9PmI/LigpPT09ITA/IiI6dm9pZCAwLCJhcmlhLWhpZGRlbiI6bSwiYXJpYS1leHBhbmRlZCI6biwiYXJpYS1sYWJlbCI6cH0sXy5LKF8uWUwse2RhdGE6KCk9PkUoKSxvcHRpb25zOkF9KSkpKX0sImZiIik7Xy51Ty5pZG9tQ29tcGF0PSEwO18uTCgoe25hbWU6YSxsYWJlbDpiLG9uY2xpY2s6YyxicTpkLHJvbGU6ZX0pPT5fLksoImRpdiIse2NsYXNzOiJpY29uLWJ1dHRvbiIscm9sZTplLCJhcmlhLWxhYmVsIjpiLCJhcmlhLWhhc3BvcHVwIjpkLCJvbjpjbGljayI6Y30sXy5LKF8udU8se2ljb246YX0pKSwiZ2IiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITB9fTsKdmFyIEpoYT0iYWxpZ25fbGVmdCBhcnJvd19sZWZ0IGZsYWcgaG9tZSBsb2dvX3dpdGhfdGV4dCBtZXNzYWdlX2J1YmJsZV9hbGVydCBtaWMgb3Blbl9uZXcgb3ZlcmZsb3dfaG9yaXpvbnRhbCBvdmVyZmxvd192ZXJ0aWNhbCBwbGF5X2NpcmNsZV9zaG9ydHMgc2VhcmNoIHNob3J0c19jb21tZW50IHNob3J0c19zaGFyZSBzaG9ydHNfdGh1bWJzX2Rvd24gc2hvcnRzX3RodW1ic191cCB3YXZlZm9ybSB4X21hcmsgeW91dHViZV9zaG9ydHMgeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIiksSWhhPSJhbGVydF9idWJibGUgYXJyb3dfbGVmdCBhcnJvd191cF9yaWdodCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWljIG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaGFyZSBzaG9ydHMgdGV4dF9hbGlnbl9sZWZ0IHRleHRfYnViYmxlIHRodW1iX2Rvd24gdGh1bWJfdXAgd2F2ZWZvcm0geCB5b3V0dWJlX3Nob3J0c19icmFuZF8yNCIuc3BsaXQoIiAiKTtfLnZPPV8uTChhPT57dmFyIHtpY29uVHlwZTpiLGxhYmVsOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxkaXNhYmxlZDpmLG9uY2xpY2s6aCxzdHlsZTprLFZsOmwsTG06bSxPeDpuLGJhc2ljQ29sb3JQYWxldHRlRGF0YTpwLGRhdGE6cixhcmlhSGlkZGVuOnR9PV8uREMoYSx7aWNvblR5cGU6IiIsVmw6ITEsTG06IiIsT3g6ITEsYXJpYUhpZGRlbjohMX0pO18udUUoImRpdiIsdj0+e3I/LigpJiZtaGEodixyPy4oKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoImJ1dHRvbi13aXRoLWljb24gYnV0dG9uLXJlbmRlcmVyIGNvbXBhY3QiLG0pLHN0eWxlOigpPT57dmFyIHY7aWYodj1wPy4oKSl7dmFyIHo9IiIsRTtmb3IoRSBpbiB2KXtpZighdi5oYXNPd25Qcm9wZXJ0eShFKSljb250aW51ZTtsZXQgQT12W0VdLEY9RS5pbmNsdWRlcygiZm9yZWdyb3VuZCIpPyJjb2xvciI6U3RyaW5nKEUpLnJlcGxhY2UoLyhbQS1aXSkvZywiLSQxIikudG9Mb3dlckNhc2UoKTtBJiYKKHorPWAke0Z9OiR7Xy5ORChBKX07YCl9dj16fWVsc2Ugdj12b2lkIDA7cmV0dXJuIHY/LnRvU3RyaW5nKCl9LCJkYXRhLXN0eWxlIjooKT0+dHlwZW9mIGs/LigpPT09InN0cmluZyI/aygpOms/LigpPy5zdHlsZVR5cGUsImRhdGEtaWNvbi1vbmx5IjooKT0+IWM/LigpLCJpcy1idXN5IjpsLCJhcmlhLWJ1c3kiOmwsImFyaWEtaGlkZGVuIjp0fSxfLksoImJ1dHRvbiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLWJ1dHRvbiIsIm9uOmNsaWNrIjpmdW5jdGlvbih2KXtoPy4odik7di5zdG9wUHJvcGFnYXRpb24oKX0sZGlzYWJsZWQ6ZiwiYXJpYS1sYWJlbCI6KCk9PmQ/LigpfHwiIiwiYXJpYS1wcmVzc2VkIjooKT0+ZT8uKCk/P3ZvaWQgMH0sXy5LKCJkaXYiLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1pbm5lciJ9LF8uSyhfLk8se0E6KCk9PiFuPy4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSygiZGl2IiwKe2NsYXNzOiJidXR0b24tcmVuZGVyZXItdGV4dCJ9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JSix7ZGF0YTpjfSl9KSksXy5LKF8uTyx7QTooKT0+bigpJiZiKCksdGhlbjooKT0+Xy5LKF8udU8se2ljb246YixjbGFzc05hbWU6ImJ1dHRvbi1yZW5kZXJlci1pY29uIn0pfSksXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24tc3Bpbm5lciBzcGlubmVyIn0pfSkpKSl9LCJpYiIpO18uSENbXy5SQVsiZGVmYXVsdCJdXT1vaGE7KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7Xy5PRSgoKT0+e2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7YysrKVROKGJbY10pfSl9fSkoKTtfLndPPV8uTCgoe2NoaWxkcmVuOmEsb25jbGljazpiLHJvbGU6YyxIeTpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iKTtfLlVKKCgpPT57ZD8uKGUudmFsdWUpfSk7cmV0dXJuIF8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJtZW51LWl0ZW0tYnV0dG9uIixlbDplLCJvbjpjbGljayI6Yixyb2xlOmN9LGEpKX0sImpiIik7Xy53Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITAsSHk6ITB9fTtfLkwoKHt1cmw6YSxsSzpiLGNoaWxkcmVuOmN9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSygiYSIse2hyZWY6YSxjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsdGFyZ2V0OigpPT5iPy4oKT8iX2JsYW5rIjp2b2lkIDB9LGMpKSwia2IiKS5pZG9tQ29tcGF0PSEwOwpfLkwoKHtjb21tYW5kOmEsY2hpbGRyZW46Yn0pPT5fLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKT8/dm9pZCAwLGNsYXNzTmFtZToibWVudS1pdGVtLWJ1dHRvbiJ9LGIpKSwibGIiKS5pZG9tQ29tcGF0PSEwO3ZhciBWTixXTixbWU4scGhhXT1fLkoobnVsbCx2b2lkIDAsIkdDS2c4ZSIpLHhPPV8uTCgoe0RoOmF9KT0+Xy5LKF8ud08sbnVsbCxfLksoImRpdiIse2NsYXNzOiJtZW51LWNhbmNlbC1idXR0b24ifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLlRkLGNsYXNzTmFtZToibWVudS1jYW5jZWwtaWNvbiJ9KSwoKT0+YSgpLmNhbmNlbEJ1dHRvbkxhYmVsKSksIm1iIiksWE49Xy5MKCh7RGg6YSxjaGlsZHJlbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiLCgpPT57fSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YyxjbGFzczpfLlAoIm1lbnUtY29udGVudCIseyJtZW51LWJvdHRvbSI6KCk9PmEoKS5ucSwibWVudS1zaG93LWljb25zIjooKT0+YSgpLkhhfHxhKCkubnF8fGEoKS5pc0Z1bGxXaWR0aCwicm91bmRlZC1jb250YWluZXIiOigpPT4hYSgpLmlzRnVsbFdpZHRofSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2EoKS5Td3x8YSgpLkVJfHxfLlVOKCl9LHJvbGU6KCk9PmEoKS5pc0Z1bGxXaWR0aD8Kdm9pZCAwOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjooKT0+IWEoKS5pc0Z1bGxXaWR0aCwiYXJpYS1sYWJlbGxlZGJ5IjooKT0+YSgpLlZIfSxiLF8uSyhfLk8se0E6KCk9PiFhKCkuU3csdGhlbjooKT0+Xy5LKF8uTyx7QTooKT0+ISFhKCkubnEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLW1lbnUtY2FuY2VsIn0sXy5LKHhPLHtEaDphfSkpLFc6KCk9Pl8uSyh4Tyx7RGg6YX0pfSl9KSl9LCJuYiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLGFPKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYU8pO3ZhciB5Tzt5Tz1fLkwoYT0+e3ZhciBiPWEuY2hpbGRyZW4sYz1fLlp0fHx2b2lkIDAsZD1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUiLG51bGwsYih7b25DbGljazplPT57YS5zdG9wUHJvcGFnYXRpb24/LigpJiZlLnN0b3BQcm9wYWdhdGlvbigpO2EucHJldmVudERlZmF1bHQ/LigpJiZlLnByZXZlbnREZWZhdWx0KCk7cWhhKHtjb250ZW50OmEuY29udGVudCxjYW5jZWxCdXR0b25MYWJlbDphLmNhbmNlbEJ1dHRvbkxhYmVsPy4oKSxUZDphLlRkPy4oKSxjbGFzc05hbWU6YS5kZj8uKCksZm9jdXNPbkNsb3NlOmUuY3VycmVudFRhcmdldCxIYTphLkhhPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxvd25lcjpjLEZBOmR9KX19KSl9LCJwYiIpOwpfLnpPPV8uTChhPT5fLksoeU8sey4uLmEsY29udGVudDphLmNoaWxkcmVufSwoe29uQ2xpY2s6Yn0pPT5fLksoXy5PLHtBOigpPT5hLmJ1dHRvbk92ZXJyaWRlcz8uKCksdGhlbjpjPT5fLksoXy5KSyx7ZGF0YTooKT0+KHtvblRhcDpiLGljb25Qb3NpdGlvbjoiaWNvbi1vbmx5IixzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc2l6ZToiTSIsc3RhdGU6ImFjdGl2ZSIsYWNjZXNzaWJpbGl0eUxhYmVsOmEubGFiZWw/LigpLC4uLmMoKX0pLGljb25OYW1lOmEuaWNvblR5cGV9KSxXOigpPT5fLksoXy50Tyx7bmFtZTphLmljb25UeXBlLGFyaWFMYWJlbDphLmxhYmVsLGNsYXNzTmFtZTpfLlAoYS5GaCx7c21hbGw6YS5sYn0pLG9uY2xpY2s6YixicTohMH0pfSkpLCJxYiIpO18uek8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjaGlsZHJlbjohMH19OwpfLk1oYT1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmFyaWFMYWJlbD8uKCksV2E6YS5sYWJlbD8uKCk/Xy5BRihhLmxhYmVsKCkpOnZvaWQgMCwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udk8se2ljb25UeXBlOmEuaWNvblR5cGUsbGFiZWw6YS5sYWJlbCxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsYXJpYVByZXNzZWQ6ITEsb25jbGljazpiLHN0eWxlOmEuc3R5bGUsVmw6YS5WbCxMbTphLmFJfSl9KSksInJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPaGEsUGhhLEJPLFFoYSxSaGEsQ08sU2hhLEdPLEhPLFZoYSxVaGEsV2hhLFhoYSxZaGEsWmhhLGFpYSxQTyxiaWEsY2lhLGRpYSxlaWEsZmlhLGhpYSxnaWEsV08saWlhLFhPLGppYSxraWEsZVAsaFAsbFAsbWlhLG5pYSxrUCxqUCxOaGEsVGhhO09oYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LnZhbHVlcyhOaGEpKWlmKF8uaXEoYik9PT1hKXJldHVybiEwO3JldHVybiExfTsKUGhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgsayxsKXt2YXIgbT0oMCxfLkR3KSgpO2Y9bmV3IF8uVHcoe3ZlVHlwZTpiLHlvdXR1YmVEYXRhOmYsanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO2w9Xy5Xdyh7YXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6bH0sbSk7ZSYmKGwuY3R0QXV0aEluZm89ZSk7ZT17Y3NuOm0scGFnZVZlOmYuZ2V0QXNKc29uKCl9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiZrJiZrLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zJiYoZS5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucz1rLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zKTtjJiZjLnZpc3VhbEVsZW1lbnQ/KGUuaW1wbGljaXRHZXN0dXJlPXtwYXJlbnRDc246Yy5jbGllbnRTY3JlZW5Ob25jZSxnZXN0dXJlZFZlOmMudmlzdWFsRWxlbWVudC5nZXRBc0pzb24oKX0saCYmKGUuaW1wbGljaXRHZXN0dXJlLmdlc3R1cmVUeXBlPWgpKTpjJiZfLklwKG5ldyBfLlhqKCJuZXdTY3JlZW4oKSBwYXJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgVkUgLSByb290VmUiLApiKSk7ZCYmKGUuY2xvbmVDc249ZCk7YT9fLkNwKCJzY3JlZW5DcmVhdGVkIixlLGEsbCk6Xy5FcCgic2NyZWVuQ3JlYXRlZCIsZSxsKTtfLnNtKF8uQ3csbmV3IF8uQncobSkpO18uRXcuY2xlYXIoKTtfLkZ3LmNsZWFyKCk7Xy5Hdy5jbGVhcigpO3JldHVybiBtfTtfLkFPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe18ud3goYSxiLGMsZSxoKX07Qk89ZnVuY3Rpb24oYSxiKXthLksuaGFzKGIpfHxhLksuc2V0KGIsW10pO3JldHVybiBhLksuZ2V0KGIpfTsKUWhhPWZ1bmN0aW9uKGEsYixjPTApe18uVmkoKCk9PntiLnRoZW4oZD0+e2Euai5oYXMoYykmJmEuQiYmYS5CKCk7dmFyIGU9Xy5pcShjKSxmPV8uVncoYyk7aWYoZSYmZil7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2Q/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmXy5ieChhLmNsaWVudCxlLGYsXy5VdyhkLnJlc3BvbnNlLnRyYWNraW5nUGFyYW1zKSwhMSxoKTtkPy5wbGF5ZXJSZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5wbGF5ZXJSZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCl9fSl9KSgpfTtSaGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLkQubGVuZ3RoO2IrKyl7dmFyIGM9YS5EW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19YS5ELmxlbmd0aD0wO2ZvcihiPTA7YjxhLlUubGVuZ3RoO2IrKyl7Yz1hLlVbYl07dHJ5e2MoKX1jYXRjaChkKXtfLkdwKGQpfX19OwpDTz1mdW5jdGlvbihhLGIsYyxkPXt9KXt2YXIgZT12b2lkIDA7ZC5sYXllcnx8KGQubGF5ZXI9MCk7ZT1kLnBhcmVudExheWVyIT09dm9pZCAwP2QucGFyZW50TGF5ZXI6ZC5sYXllcjt2YXIgZj1fLmlxKGUpO2U9Xy5WdyhlKTt2YXIgaD1jfHxlLGs7aCYmKGQucGFyZW50Q3NuIT09dm9pZCAwP2s9e2NsaWVudFNjcmVlbk5vbmNlOmQucGFyZW50Q3NuLHZpc3VhbEVsZW1lbnQ6aH06ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmKGs9e2NsaWVudFNjcmVlbk5vbmNlOmYsdmlzdWFsRWxlbWVudDpofSkpO3ZhciBsLG09Xy53KCJFVkVOVF9JRCIpO2Y9PT0iVU5ERUZJTkVEX0NTTiImJm0mJihsPXtzZXJ2bGV0RGF0YTp7c2VyaWFsaXplZFNlcnZsZXRFdmVudElkOm19fSk7Xy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpJiZmJiZfLmt4KGEsZik7Xy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZmJiZfLmN4KGgsZik7dHJ5e3ZhciBuPVBoYShhLmNsaWVudCxiLGssCmQudHAsZC5jdHRBdXRoSW5mbyxsLGQuaW1wbGljaXRHZXN0dXJlVHlwZSxkLmxvZ2dpbmdFeHBlY3RhdGlvbnMsZC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZSl9Y2F0Y2gocil7Xy5jdyhyLHtHSzpiLHJvb3RWZTplLHFLOmMsbkk6ZixwSzprLHRwOmQudHB9KTtfLkdwKHIpO3JldHVybn1fLm1xKG4sYixkLmxheWVyLGQuY3R0QXV0aEluZm8pO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJmUmJiFPaGEoZikmJihfLnZ4KGEuY2xpZW50LGYsZSwhMCksYS5vLmRlbGV0ZShmKSk7Yj1CTyhhLGQubGF5ZXJ8fDApO2IubGVuZ3RoPjAmJiFiW2IubGVuZ3RoLTFdLmNzbiYmKGJbYi5sZW5ndGgtMV0uY3NuPW58fCIiKTtfLnpxKHtjbGllbnRTY3JlZW5Ob25jZTpufSk7Xy5EeCgpO18uVmkoXy5CeCgpLkspLmJpbmQoXy5CeCgpKSgpO3ZhciBwPV8uVncoZC5sYXllcik7ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmcCYmXy54KCJtdXNpY193ZWJfbWFya19yb290X3Zpc2libGUiKSYmXy5WaShfLkFPKSh2b2lkIDAsCm4scCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7YS5qLmRlbGV0ZShkLmxheWVyfHwwKTthLkI9dm9pZCAwO2EuaGEuZ2V0KGQubGF5ZXIpPy5mb3JFYWNoKChyLHQpPT57cj9fLml4KGEsdCxyLGQubGF5ZXIpOnAmJl8uaXgoYSx0LHAsZC5sYXllcil9KTtSaGEoYSl9O1NoYT1mdW5jdGlvbihhLGIsYyxkPXt9KXthLmouYWRkKGQubGF5ZXJ8fDApO2EuQj0oKT0+e0NPKGEsYixjLGQpO3ZhciBlPV8uVncoZC5sYXllcik7aWYoZSl7bGV0IGY9Xy5pcShkLmxheWVyKTtmb3IobGV0IGggb2YgYS5ZKXtsZXQgaz1oWzBdLGw9aFsxXXx8ZTtmP18uangoYSxrLGwsZC5sYXllcixmKTpfLml4KGEsayxsLGQubGF5ZXIpfWZvcihsZXQgaCBvZiBhLk0pXy5teChhLGhbMF0saFsxXSl9fTtjfHxfLmlxKGQubGF5ZXIpfHxhLkIoKTtpZihkLmZsKWZvcihsZXQgZSBvZiBkLmZsKVFoYShhLGUsZC5sYXllcik7ZWxzZSBfLkdwKEVycm9yKCJOYiIpKX07Cl8uRE89ZnVuY3Rpb24oYSxiLGMsZD17fSl7Xy5WaSgoKT0+e1RoYS5pbmNsdWRlcyhiKXx8KF8uSXAobmV3IF8uWGooImNyZWF0ZUNsaWVudFNjcmVlbigpIGNhbGxlZCB3aXRoIGEgbm9uLXBhZ2UgVkUiLGIpKSxiPTgzNzY5KTtpZighZC5pc0hpc3RvcnlOYXZpZ2F0aW9uKXtsZXQgZT1kLmxheWVyfHwwO2EuZ2Euc2V0KGUsW10pO0JPKGEsZSkucHVzaCh7cm9vdFZlOmIsa2V5OmQua2V5fHwiIn0pfWEuWT1bXTthLk09W107ZC5mbD9TaGEoYSxiLGMsZCk6Q08oYSxiLGMsZCl9KSgpfTtfLkVPPWZ1bmN0aW9uKGEsYixjLGQpe2I9Xy5kYihiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O18uRk89ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD8iPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSk6IiI7cmV0dXJuIF8uU2IoYSxiK2MpfTtHTz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlF5KF8uZWQoYSxiKSk/PyExfTsKSE89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLld4KGEsYixfLnh3KGMpLCExKX07Xy5JTz1mdW5jdGlvbihhLGIpe3ZhciBjO18udWIoYSxkPT57Yz1iW2RdO3JldHVybiEhY30pO3JldHVybiBjfTtfLkpPPWZ1bmN0aW9uKGEsYixjPTApeyhjPV8uaXEoYykpJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxjLGEsdm9pZCAwLGIsdm9pZCAwKX07Xy5LTz1mdW5jdGlvbigpe3JldHVybiEhXy53KCJNV0VCX0ZJUkVGT1hfWVRfTEFVTkNIRVIiKX07Xy5MTz1mdW5jdGlvbigpe3JldHVybiBfLmtNP18ua006Xy5sTSgpfTtfLk1PPWZ1bmN0aW9uKGEsYj01LGMpe2lmKGIhPT0wKXt2YXIgZD10eXBlb2YgYT09PSJmdW5jdGlvbiI/YSgpOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYSk7ZD9jPy5ybD9fLmROKGQpOmQuZm9jdXMoKTpzZXRUaW1lb3V0KCgpPT57Xy5NTyhhLGItMSxjKX0sNTAwKX19O1ZoYT1mdW5jdGlvbigpe3ZhciBhPVVoYSgpO3JldHVybiBITyhhLDcsITApfTsKVWhhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE5PO2E9SE8oYSw1LCEwKTthPUhPKGEsMiwhMCk7YT1ITyhhLDQsITEpO2E9SE8oYSw4LCEwKTtyZXR1cm4gSE8oYSw5LCEwKX07V2hhPWZ1bmN0aW9uKCl7dmFyIGE9VmhhKCk7cmV0dXJuIEhPKGEsMTAsITApfTtYaGE9ZnVuY3Rpb24oKXt2YXIgYT1XaGEoKTtyZXR1cm4gSE8oYSwxMiwhMCl9O1loYT1mdW5jdGlvbigpe3ZhciBhPVhoYSgpO3JldHVybiBITyhhLDEzLCExKX07WmhhPWZ1bmN0aW9uKCl7dmFyIGE9WWhhKCk7cmV0dXJuIEhPKGEsMTQsITApfTthaWE9ZnVuY3Rpb24oYSl7cmV0dXJuICRoYS5zb21lKGI9PmIudGVzdChhKSl9OwpQTz1mdW5jdGlvbihhLGIpe3t2YXIgYz1hLmZvcm1Db250ZW50Py5sb2NhbGU7bGV0IGQ9Yz8uc3BsaXQoIi0iKVswXTtjPWMmJk9PLmluY2x1ZGVzKGMpP2M6ZCYmT08uaW5jbHVkZXMoZCk/ZDp2b2lkIDB9Yz0oYz8/ImVuIikucmVwbGFjZUFsbCgiLSIsIl8iKS50b0xvd2VyQ2FzZSgpO2E9YS5pbml0aWFsaXphdGlvbkRhdGE/LnVzZU5pZ2h0bHlSZWxlYXNlPyJuaWdodGx5IjoibGl2ZSI7cmV0dXJuIGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpPygwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9saWdodF9iaW5hcnkuanNgOigwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9iaW5hcnlfXyR7Y30uanNgfTsKYmlhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFFPJiZSTz09PWIpcmV0dXJuIFFPO1JPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gUU89Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9OwpjaWE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoU08mJlRPPT09YilyZXR1cm4gU087VE89Yjt2YXIgZT1QTyhhLGQpO3JldHVybiBTTz1iLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/UHJvbWlzZS5yZXNvbHZlKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6bmV3IFByb21pc2UoKGYsaCk9Pnt2YXIgaz1fLkNkKCJTQ1JJUFQiKTtfLm9iKGssZSk7ay5vbmxvYWQ9KCk9PntiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/ZihiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOmgoRXJyb3IoIkdkIikpfTtrLm9uZXJyb3I9KCk9PntoKEVycm9yKCJIZGAiK2UudG9TdHJpbmcoKSkpfTtjLmJvZHkuYXBwZW5kQ2hpbGQoayl9KX07ZGlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgYmlhKGEsYyxkLGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYik7YS5pbml0aWF0ZUFsb2hhKCk7cmV0dXJuIGF9OwplaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9RGF0ZS5ub3coKTthPWF3YWl0IChhd2FpdCBjaWEoYSxjLGQuZG9jdW1lbnQsYikpLmluaXRpYWxpemVGZWVkYmFja0NsaWVudEFzeW5jKGEsZSxiLGQpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZmlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxfLnU7aWYoYj8uZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdD8uKCkpe2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBlaWEoYSxiLGQsZCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9ITEsZjt9fWVsc2V7aWYoZC5pc0Zvcm1PcGVuZWQpdGhyb3cgbmV3IFVPO2QuaXNGb3JtT3BlbmVkPSEwO2EuY2FsbGJhY2tzPWEuY2FsbGJhY2tzfHx7fTtsZXQgZT1hLmNhbGxiYWNrcy5vbkNsb3NlfHwoKCk9Pnt9KTthLmNhbGxiYWNrcy5vbkNsb3NlPWY9PntkLmlzRm9ybU9wZW5lZD0hMTtlKGYpfTt0cnl7cmV0dXJuIGRpYShhLGIsZCxkLmRvY3VtZW50KX1jYXRjaChmKXt0aHJvdyBkLmlzRm9ybU9wZW5lZD0KITEsZjt9fX07aGlhPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKChjLGQpPT57TnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoYSkpJiZOdW1iZXIoYSk+MD8oZD1naWEoYj8/IiIpKyIvYWxvaGFfZm9ybV9wcm9wZXJ0aWVzP3Byb2R1Y3RJZD0iK2EsXy5seShkLGU9PntlPWUudGFyZ2V0O3ZhciBmPW51bGw7dHJ5e3ZhciBoPUpTT04saz1oLnN0cmluZ2lmeTtpZihlLnJhKXt2YXIgbD1lLnJhLnJlc3BvbnNlVGV4dDtsLmluZGV4T2YoIildfSdcbiIpPT0wJiYobD1sLnN1YnN0cmluZyg1KSk7dmFyIG09Xy5FdihsKX1lbHNlIG09dm9pZCAwO2Y9Xy5YeChWTyxrLmNhbGwoaCxtKSl9Y2F0Y2gobil7az1uZXcgVk8sbT1aaGEoKSxtPUhPKG0sMTUsITApLG09SE8obSwyMCwhMSksbT1ITyhtLDI1LCExKSxtPUhPKG0sMjYsITEpLGY9Xy5LdyhrLDEsbSl9YyhmKX0sIkdFVCIsIiIse30sMkUzLCEwKSk6ZChFcnJvcigiSWRgIithKSl9KX07CmdpYT1mdW5jdGlvbihhKXtyZXR1cm4gYWlhKGEpP2E6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2sifTsKV089ZnVuY3Rpb24oYSxiLGMsZCl7YS50aW1lT2ZTdGFydENhbGw9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIGU9Y3x8Xy51LGY9ZS5kb2N1bWVudCxoPWEubm9uY2V8fF8uaWIoZS5kb2N1bWVudCk7aCYmIWEubm9uY2UmJihhLm5vbmNlPWgpO2lmKGEuZmxvdz09ImhlbHAiKXt2YXIgaz1fLnNhKCJkb2N1bWVudC5sb2NhdGlvbi5ocmVmIixlKTshYS5oZWxwQ2VudGVyQ29udGV4dCYmayYmKGEuaGVscENlbnRlckNvbnRleHQ9ay5zdWJzdHJpbmcoMCwxMjAwKSk7az0hMDtpZihiJiZKU09OJiZKU09OLnN0cmluZ2lmeSl7bGV0IGw9SlNPTi5zdHJpbmdpZnkoYik7KGs9bC5sZW5ndGg8PTEyMDApJiYoYS5wc2RKc29uPWwpfWt8fChiPXtpbnZhbGlkUHNkOiEwfSl9Yj1bYSxiLGMsZF07ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlRfQVJHVU1FTlRTPWI7Yz1hLmZlZWRiYWNrU2VydmVyVXJpfHwiLy93d3cuZ29vZ2xlLmNvbS90b29scy9mZWVkYmFjayI7aWYoZD1lLkdPT0dMRV9GRUVEQkFDS19TVEFSVClkLmFwcGx5KGUsCmIpO2Vsc2V7ZT1jKyIvbG9hZC5qcz8iO2ZvcihsZXQgbCBpbiBhKWI9YVtsXSxiPT1udWxsfHxfLkFhKGIpfHwoZSs9ZW5jb2RlVVJJQ29tcG9uZW50KGwpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYikrIiYiKTthPV8ueGQoZikuY3JlYXRlRWxlbWVudCgiU0NSSVBUIik7aCYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixoKTtfLm9iKGEsXy5UYShlKSk7Zi5ib2R5LmFwcGVuZENoaWxkKGEpfX07CmlpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmZsb3c9PT0ic3VibWl0IixmPSEhXy5kcixoPXR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIiYmISEod2luZG93Ll9fa2FybWFfX3x8d2luZG93Lmphc21pbmV8fHdpbmRvdy5tb2NoYXx8d2luZG93Lmplc3QpO2lmKGUmJmgpV08oYSxiLGMsZCk7ZWxzZXtoPShhd2FpdCBoaWEoYS5wcm9kdWN0SWQsYS5mZWVkYmFja1NlcnZlclVyaSkpPy52KCk7Zj0hZnx8aD8uZ2V0RW5hYmxlTXdlYigpO3ZhciBrPSFhLnRpbnlOb1BvaW50ZXJ8fGg/LmdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKTtmPSFlJiYoIWh8fGguZ2V0QWxvaGFBdXRvR2FSb2xsb3V0KCkmJmYmJmspO2U9ZSYmaD8uZ2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpJiZhLnJlcG9ydDtmfHxlP2F3YWl0IFhPKGEsYixjLGgsZCk6V08oYSxiLGMsZCl9fTsKWE89YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jfHxfLnUsaD1hLnNlcnZlckVudmlyb25tZW50PT09IkRFViI7Yz1jfHxfLnU7Yz1hLm5vbmNlfHxfLmliKGMuZG9jdW1lbnQpO2g9e2ludGVncmF0aW9uS2V5czp7cHJvZHVjdElkOmEucHJvZHVjdElkLGZlZWRiYWNrQnVja2V0OmEuYnVja2V0LHRyaWdnZXJJZDphLnRyaWdnZXJJZCxtaWNyb2ZlZWRiYWNrU2NvcmU6YS5taWNyb2ZlZWRiYWNrU2NvcmV9LGNhbGxiYWNrczp7b25DbG9zZTphLmNhbGxiYWNrLG9uTG9hZDphLm9uTG9hZENhbGxiYWNrfSxmb3JtQ29udGVudDp7bG9jYWxlOmEubG9jYWxlLGRpc2FibGVTY3JlZW5zaG90OmEuZGlzYWJsZVNjcmVlbnNob3R0aW5nLHByb2R1Y3REaXNwbGF5TmFtZTp2b2lkIDAsYW5ub3VuY2VtZW50OnZvaWQgMCxpc3N1ZUNhdGVnb3JpZXM6dm9pZCAwLGluY2x1ZGVTZXZlcml0eVNlbGVjdGlvbjp2b2lkIDAsY3VzdG9tSW1hZ2VTcmM6dm9pZCAwLHRoYW5rWW91TWVzc2FnZTp2b2lkIDAsCnVzZXJFbWFpbDp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlczp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlc1N0cmluZzp2b2lkIDAsYWJ1c2VMaW5rOmEuYWJ1c2VMaW5rLGFkZGl0aW9uYWxEYXRhQ29uc2VudDphLmFkZGl0aW9uYWxEYXRhQ29uc2VudH0saW5pdGlhbGl6YXRpb25EYXRhOntpc0xvY2FsU2VydmVyOmgsbm9uY2U6Yyx1c2VOaWdodGx5UmVsZWFzZTpoLGZlZWRiYWNrSnNVcmw6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsOnZvaWQgMCxmZWVkYmFja0pzVXJsU2VyaWFsaXplZDp2b2lkIDAsZmVlZGJhY2tDc3NVcmxTZXJpYWxpemVkOnZvaWQgMCxzdWJtaXNzaW9uU2VydmVyVXJpOmEuZmVlZGJhY2tTZXJ2ZXJVcmksY29sb3JTY2hlbWU6YS5jb2xvclNjaGVtZX0sZXh0cmFEYXRhOntwcm9kdWN0VmVyc2lvbjphLnByb2R1Y3RWZXJzaW9uLGF1dGhVc2VyOmEuYXV0aHVzZXIsY29uZmlndXJhdG9ySWQ6YS5jb25maWd1cmF0b3JJZCxjdXN0b21aSW5kZXg6YS5jdXN0b21aSW5kZXgsCnRpbnlOb1BvaW50ZXI6YS50aW55Tm9Qb2ludGVyLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazphLmFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjayxlbmFibGVBbm9ueW1vdXNGZWVkYmFjazphLmVuYWJsZUFub255bW91c0ZlZWRiYWNrfX07YS5yZXBvcnQmJihoLmhlYWRsZXNzUmVwb3J0PWEucmVwb3J0KTtiJiYoYT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGIpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNEYXRhPWEpO2UmJihlPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoZSkpLGguZXh0cmFEYXRhLnByb2R1Y3RTcGVjaWZpY0JpbmFyeURhdGE9ZSk7YXdhaXQgZmlhKGgsZCxmKX07Cl8uWU89ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2lmKGEuZmxvdz09PSJoZWxwIil7bGV0IGU9YS5oZWxwQ2VudGVyUGF0aC5yZXBsYWNlKC9eXC8vLCIiKTtfLkVPKGN8fHdpbmRvdyxgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vJHtlfWApfWVsc2UgaWlhKGEsYixjLGQpLmNhdGNoKGU9PnshZXx8ZSBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfWNhdGNoKGUpe1hPKGEsYixjLG51bGwsZCkuY2F0Y2goZj0+eyFmfHxmIGluc3RhbmNlb2YgVU98fFdPKGEsYixjLGQpfSl9fTtfLlpPPWZ1bmN0aW9uKCl7dmFyIGE9Xy5JTyhbImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsU2NyZWVuRWxlbWVudCIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiXSxkb2N1bWVudCk7cmV0dXJuIGE/YTpudWxsfTsKXy4kTz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFja2xpc3QiLHtpbmNsdWRlQXNyOiEwfSk/P1tdO3JldHVybiBiPWppYShiLGEpfTtfLmFQPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFuc2xhdGlvbkxhbmd1YWdlcyIse2luY2x1ZGVBc3I6ITB9KXx8W119O2ppYT1mdW5jdGlvbihhLGIpe2I9Xy5hUChiKTtpZighYj8ubGVuZ3RoKXJldHVybiBhO3ZhciBjPWIuZmlsdGVyKGQ9PmQpO2I9YS5maWx0ZXIoZD0+ZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpO2ZvcihsZXQgZCBvZiBjKWlmKGIubGVuZ3RoKXtjPWJbMF07bGV0IGU9ey4uLmN9O2MubGFuZ3VhZ2VDb2RlIT09ZC5sYW5ndWFnZUNvZGUmJihlLmRpc3BsYXlOYW1lPWAke2MubGFuZ3VhZ2VOYW1lfSA+PiAke2QubGFuZ3VhZ2VOYW1lfWAsZS50cmFuc2xhdGlvbkxhbmd1YWdlPWQsYS5wdXNoKGUpKX1yZXR1cm4gYX07CmtpYT1mdW5jdGlvbigpe18uTU8oJ1thcmlhLWxhYmVsPSJZb3VUdWJlIl0nLDUse3JsOiEwfSl9O2VQPWZ1bmN0aW9uKGEpe3ZhciBiPWJQO2ImJihhP2NQPV8ueEYoYiwoKT0+Xy5LKGRQLG51bGwsXy5LKF8udE4se2NvbXBvbmVudDpsaWF9KSkse0lrOl8uWEN9KTooY1A/LigpLGNQPW51bGwpKX07aFA9ZnVuY3Rpb24oKXtjUCYmKGNQKCksY1A9bnVsbCk7ZlAodm9pZCAwKTtnUCgib3V0Iik7YlAmJihiUC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGJQKSxiUD1udWxsKX07bFA9ZnVuY3Rpb24oKXtpUC5sZW5ndGgmJihnUCgib3V0Iiksc2V0VGltZW91dCgoKT0+e2lQLnNoaWZ0KCk7aVAubGVuZ3RoPjA/KGhQKCksalAoKSxrUCgpKTooZVAoKSxoUCgpKX0sMTk1KSl9O21pYT1mdW5jdGlvbigpe18uTk0od2luZG93LCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKCk9PntzZXRUaW1lb3V0KGtpYSwxRTMpfSl9OwpuaWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYzMtdG9hc3QiKTtpZihiKXtsZXQgYz1iLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpO2MmJl8uTk0oYywiZm9jdXMiLCgpPT57Y2xlYXJUaW1lb3V0KG1QKTttUD1zZXRUaW1lb3V0KGxQLGEpO18uTk0oYywiYmx1ciIsKCk9PntfLk9FKF8ublApfSl9KX19O2tQPWZ1bmN0aW9uKCl7Z1AoImluIik7dmFyIHtjb250ZW50OmEsZHVyYXRpb25NczpifT1pUC5sZW5ndGg/aVBbMF06e307ZlAoYSk7Y1B8fGVQKGEpO21QPXNldFRpbWVvdXQoKCk9PntsUCgpfSwyMjUrKGJ8fDApKTtfLlVNKCk9PT0ibGlicmFyeSI/bWlhKCk6YiE9PXZvaWQgMCYmbmlhKGIpfTtqUD1mdW5jdGlvbigpe2JQfHwoYlA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYlAuaWQ9InRvYXN0cyIsKF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYlApLGVQKCkpfTsKXy5wUD1mdW5jdGlvbihhLGI9b1AsYz0hMSl7alAoKTtiPWJ8fG9QO2MmJmlQLmxlbmd0aD4wPyhjbGVhclRpbWVvdXQobVApLF8uT0UoKCk9PntpUFswXT17Y29udGVudDphLGR1cmF0aW9uTXM6Yn07a1AoKX0pKTooaVAucHVzaCh7Y29udGVudDphLGR1cmF0aW9uTXM6Yn0pLGlQLmxlbmd0aD09PTEmJl8uT0Uoa1ApKX07Xy5uUD1mdW5jdGlvbigpe2lQLmxlbmd0aD4wJiYoY2xlYXJUaW1lb3V0KG1QKSxsUCgpKX07Xy5xUD1mdW5jdGlvbihhKXtfLlhNKCJuYXZpZ2F0ZSIsYSl9O18uclA9ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/ISFfLlpPKCk6ISFfLlpPKCl8fHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNmYXV4ZnVsbHNjcmVlbiJ9OwpfLnNQPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYS50b1N0cmluZygpKTthLmZvY3VzKCk7YS5zZXRTZWxlY3Rpb25SYW5nZSgwLGEudmFsdWUubGVuZ3RoKTthPSExO3RyeXthPWRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iil9Y2F0Y2goYil7fV8ucFAoYT8oKT0+b2lhOigpPT5waWEpfTtfLnRQPWZ1bmN0aW9uKCl7cmV0dXJuISFfLncoIklEX1RPS0VOIil9O05oYT17SEM6MCx2QzoxLEJDOjIseUY6MyxYbjo0LERIOjUsQkY6NixRRzo3LHBHOjgsdUc6OSxURjoxMCxuRjoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07ClRoYT1bMzYxMSwyNzY4NiwyMjEwNTgsODUwMTMsMjM0NjIsMjQxMTg3LDE1NzU1Nyw0MjAxNiwyNjkyNiw1MTIzNiw3OTE0OCw1MDE2MCw3NzUwNCwzMTAyODEsMTUzNTg3LDg3OTA3LDE4NjMwLDE3NzAxOCwxNzcwMjMsNTQ0NDUsMzIxNjY2LDMyNjM1MywzMjYzNTQsODA5MzUsMTUyMTcyLDE4NDU1MywxMDU2NzUsMTUwNzIzLDM3NTIxLDE0NzI4NSw0Nzc4NiwyMzEyNTUsMjMxMjU0LDIzMTI1OCwyMzEyNTksOTgzNDksMjM3Mjk5LDE2ODI3MSwxNjg5NTQsMTY4Mjc3LDE2ODI3MywxNjgyNzAsMTIzNjk1LDI3MjAxOCwzMzg0OTcsMjI2OTg3LDIyNjk5MCwyMjY5ODgsNjgyNywyOTQzNCwyNTUwMTAsMTcxMzg4LDI0NDE4OSwyMzYyMDgsNzI4MiwxMjQ0NDgsMjk5OTAzLDI5OTg5NywyOTk5MDQsMjk5OTAxLDI5OTg5OSwyOTk5MDIsMjk5OTAwLDI5OTg5OCwxOTYwODgsMjUwODk3LDE5ODEwNCwzMjI3NiwxOTUxMTUsMTk1MTE0LDc2Mjc4LDIwMDYzNSwyMzA1OTQsMTQ3ODY4LDE0Nzg2OSwKMjc2MjQzLDkzOTExLDI3NDE4OCwyNzY2NTEsMzEzNjgwLDEwNjUzMSwyNTcyMzQsMjUyNTk4LDI1MjU5NywyNTI2MDAsMjUyNTk5LDI1MjU5NiwyMjUwMzEsMTc3ODQzLDI3MjU5LDI3MjYyLDI3MjYzLDIxNzU5LDI4MzY3MCwxNjA4NjYsMjA0MjQ5LDIyMjkwMCwyMDQyNTAsMTgwNjI2LDE3Nzk1OSwxNzc5NTcsMTgwNjI4LDIwNTcxNiwxOTc4NzgsMjczNzY2LDE3MTI0MywxNjA3ODksMTcxMjQ0LDE3MTI0MSwxNzEyNDUsMTcxMjQyLDIyNTU2MCwxODA2MjcsMTc3OTYwLDIzMTU4OSwxNzc5NTgsMTgwNjI5LDIwNTcxNywxOTc4NzksMTc3NTY1LDIxMjU3MywyMTA3MDksOTk0NDEyLDIzMDY4NCwyMjk4MDEsMjMwNjg1LDMzNDMxMCwzMzQzMTEsMzM0MzEyLDE5NzMzNywyMDkwMTAsMTk3MzM2LDE5NzMzOCwxOTg2MTgsMzAwODg0LDE3NTQ5MiwxOTgwNTIsMTk4MDUxLDE5Nzg1MiwxOTc5NzYsMzE3Mzc3LDE3NTQ5MywxNzU0OTQsMTc1NDk1LDE4OTI1NCwxNzU0OTYsMTc1NDk3LDM4NDA4LAoxNzU0OTgsMTc1NTAzLDE3NTUwNCwxNzU1MDUsMTc1NTA2LDE3NTUwNywxNzU1MDgsODA2MzcsNjg3MjcsMjA2OTMzLDIwNzk0NCwyMDY5MzQsMzAzMTIzLDIwNjkyOSwyMjE1NzUsNjg3MjgsMjIxNTc2LDgwMzUzLDgwMzU2LDMwODAzMywyNDkxMDcsMTgwNjM1LDc0NjEwLDQ1NzA3LDgzOTYyLDgzOTcwLDQ2NzEzLDE2NjU5MSw4OTcxMSw3NDYxMiwyMTM4MDksMTc5NjA3LDI0NTAwNiwxNTU3OTIsOTMyNjUsNzQ2MTEsMTMxMzgwLDEyODk3OSwxMzkzMTEsMTI4OTc4LDEzMTM5MSwxMDUzNTAsMTM5MzEyLDMzMzYzNywxMzQ4MDAsMTMxMzkyLDExMzUzMywyMjkyOTgsOTMyNTIsOTkzNTcsOTQ1MjEsMTE0MjUyLDExMzUzMiw5NDUyMiw5NDU4MywyMDIzNzEsODhFMywxMzk1ODAsOTMyNTMsOTMyNTQsOTQzODcsOTQzODgsOTMyNTUsOTc0MjQsNzI1MDIsMjE5ODY4LDIxMjk5MSwxMTAxMTEsNzYwMTksMTE3MDkyLDExNzA5Myw4OTQzMSwxOTE4MzEsMTEwNDY2LDIzMTM0Niw3NzI0MCwKNjA1MDgsMTg2MDkxLDE0ODEyMywxNDgxMjQsMTM3NDAxLDEzNzQwMiwxMzcwNDYsNzMzOTMsMjQ2Nzc2LDExMzUzNCwyNzYyMDAsOTIwOTgsMTMxMzgxLDg0NTE3LDgzNzU5LDMwOTU4MCwyMzA2NzYsMjQ5MTgzLDIzMDY3OSwyMzA2NzgsMjMwNjc3LDIzMDY4MSwyMzA2ODAsMTYyNzExLDIzNTIzNCwxNjI3MTIsODAzNTcsOTk0NDExLDI0MzMxNSwzMTM1MDYsMzIxOTY0LDg2MTEzLDcyNTk4LDE2ODQxMyw3MjczMywxMDczNDksMTI0Mjc1LDExODIwMywyMDA0MTAsMTMzMjc1LDE2MDE1NywxNTI1NjksMTU2NjUxLDEzMzI3NCwxNjAxNTksMTYwMTU4LDEzMzI3MiwxMzMyNzMsMTMzMjc2LDE0NDUwNywxNDMyNDcsMTc1OTk0LDE1NjY1MiwxNDMyNDgsMTQzMjQ5LDE0MzI1MCwxNDMyNTEsMTg5ODkyLDE4OTg5NCwxODk4OTMsMTU2NjUzLDIxNDIzNiwxNDQ0MDEsMTE3NDMxLDEzMzc5NywyMjUxMzcsMjczOTA1LDIyMjYxMiwyMjI2MTMsMTUzOTY0LDIwMTEzMywyMDExMzQsMjAxMTM1LAoyMDExMzYsMjAxMTM3LDEyODU3MiwyMDA0MTEsMjAwNDEyLDE5MDMzNywxMzM0MDUsMTE3NDI5LDExNzQzMCwxNzc5NTAsMTc0NzM0LDE3Nzk1MSwyMDExMzgsMjAxMTM5LDIwMTE0MCwyMDExNDEsMjAxMTQyLDExNzQzMiwxNzM5OTYsMTczOTk1LDE3NDk1MywxNzM5OTQsMTczOTk3LDEyMDA4MCwxMTcyNTksMTc4NTQ2LDI5Nzc1MiwxOTc4OTEsMTU2NjU1LDE1NjY1NCwxMjE2OTIsMjExNDE0LDIxMTQxMSwyMTE0MTIsMjExNDEzLDIxMTQwMywxODQ4NDYsMTg1OTkzLDMzNTA0OCwxNDU2NTYsMTU2NjU2LDE0NTY1NSwxNDU2NTMsMTQ1NjU0LDE0NTY1NywxMzI5NzIsMTMzMDUxLDEzMzY1OCwxMzI5NzEsMzM2NzI4LDk3NjE1LDE4MTI2MiwxOTA3NjIsMjUwMzQ0LDI1NDAyNywxNDMzNTksMTQzMzU2LDE0MzM2MSwxNDMzNTgsMTQzMzYwLDE0MzM1NywxNDIzMDMsMTQzMzUzLDI4MjE1OSwxNzI4NTksMTQzMzU0LDE0NDQ3OSwxNDMzNTUsMzE0MDIsMTgxNTkwLDEzMzYyNCwxNDY0NzcsCjEzMzYyMywxMzM2MjIsMTMzNjIxLDE5MjQxOCw4NDc3NCwzMDQ3NzYsMTk3OTkzLDI0MTQ2MCwxNjA4MDEsMTk3OTk1LDk1MTE3LDE3MjcyMSwxNTA0OTcsOTg5MzAsOTg5MzEsOTg5MzIsMzM4NTcwLDMzODQ3NCwzMzg0NzgsMzM4NDczLDE1MzMyMCwxNTMzMjEsNDMzNDcsMzA1MjY4LDI0OTI5NSwyMTAwMTYsMjEwMDE3LDI2MjY4NiwyMTE4NTEsMjExODUyLDMwNzIxOSwyMTE4NTMsMzI3ODEwLDEyOTg4OSwxOTc4ODgsMTk3ODg5LDE0OTEyMywyMjE5NTksMjIxNjI3LDIyMTk1OCw0NTQ3NCwxMDAzNTIsOTg0NDMsMTE3OTg1LDMzMzcwOCw3NDYxMywxNTU5MTEsNzQ2MTQsNjQ1MDIsMTM2MDMyLDc0NjE1LDc0NjE2LDEyMjIyNCw3NDYxNyw3NzgyMCw3NDYxOCwyNjI5ODgsMjYyOTg5LDIyNjk4MSw5MzI3OCw5MzI3NCw5MzI3NSw5MzI3NiwyMDA2ODgsMjAwNjg2LDIwMDY4NywxOTk4NDEsMjIxMTAsMjk0MzMsMTMzNzk4LDEzMjI5NSwyODEzMzIsMTIwNTQxLDIyMjExMiw4MjA0NywKMTEzNTUwLDc1ODM2LDc1ODM3LDMwMzg4MiwxOTI0MDksMjAzMjIxLDQyMzUyLDg0NTEyLDc2MDY1LDc1OTg5LDIwNTkxMSwyMDU5MTIsMjUyNjQ5LDIwNTkxMywyNTI2NTAsMjUyNjUxLDUxODc5LDE2NjIzLDMyNTk0LDI3MjQwLDMzODEwOSwyOTMzMjQsMzI2MzMsNzQ4NTgsMzA0MTUwLDI5NzA0NSwyNzUxOTgsMjcxODg0LDIyMjkzMiwyNzkxMTksMzEyNTgxLDI3MTg4NiwyMTM5MTUsMjc1MTk5LDMxMDc0OCwyMjUyMTYsMjUxMjQ0LDI1ODI1MSwyMTg2NzQsMjUxMjY2LDI1ODI1MCwyNTEyNjUsMzAxNjYyLDI1MTI0NSwyNzE4ODUsMzE1ODE4LDE1Njk5OSwzOTQ1LDE2OTg5LDQ1NTIwLDI1NDg4LDI1NDkyLDI1NDk0LDIzMjExMyw1NTc2MCwxNDA1NywxODQ1MSw1NzIwNCw1NzIwMywxNzg5NywxODE5OCwxNzg5OCwxNzkwOSw0Mzk4MCwyMjEwNTMsMTk1NTI5LDE4OTY2MCwzMDgwODgsMzA2NDQ4LDMwNjQ0NywzMDgwODcsMzA4MDg2LDQ2MjIwLDExNzIxLDE0Nzk5NCw0OTk1NCw5NjM2OSwKMzg1NCwyMTc2NDAsMTUxNjMzLDU2MjUxLDIwNTE5MiwyMTY3OTcsMTU5MTA4LDE4MTU2OCwyMzQ3ODksMjU2MjQsMTUyMDM2LDE2OTA2LDk5OTk5LDY4MTcyLDQ3OTczLDcyNzczLDI2OTcwLDI2OTcxLDk2ODA1LDE3NzUyLDI4MjE4MSwyNzg5MjYsNzMyMzMsMjA1OTIzLDEwOTUxMiwyMjI1NiwxNDExNSwyMjY5NiwyMzQ0MDksMjM0NDA4LDg5Mjc4LDg5Mjc3LDE5NTc0NSwxMDk1MTMsNDMyNzgsNDM0NTksNDM0NjQsODkyNzksNDM3MTcsNTU3NjQsMjIyNTUsMTQ3OTEyLDg5MjgxLDQwOTYzLDQzMjc3LDQzNDQyLDkxODI0LDI4Mzg5OCwxMjAxMzcsMTg2MzUwLDE4NjM1MSwyNTY2OTAsMjY0MzQ5LDI2NDM1MSwyNjQzNTAsMjY0MzUyLDIxMTAyNiwyNTA4OTYsOTYzNjcsMzY4NTAsNzI2OTQsMzc0MTQsMzY4NTEsMTI0ODYzLDEyMTM0Myw3MzQ5MSw1NDQ3MywxNjY4NjEsNDMzNzUsNDY2NzQsMzAyNjMxLDMzMTQ3MywyNDI1MjgsMTQzODE1LDEzOTA5NSwxNDQ0MDIsMTQ5OTY4LDE0OTk2OSwKMzI0NzMsNzI5MDEsNzI5MDYsNTA2MTIsNTA2MTMsNTA5NDIsODQ5MzgsODQ5NDMsODQ5MzksODQ5NDEsODQ5NDQsODQ5NDAsODQ5NDIsMzU1ODUsNTE5MjYsNzk5ODMsMTg5MjEsNTc4OTMsNDExODIsMTM1NzMyLDMzNDI0LDIyMjA3LDM2MjI5LDIyMjA2LDIyMjA1LDQ0NzYzLDMzNDI3LDY3NzkzLDIyMTgyLDM3MDkxLDM0NjUwLDUwNjE3LDIyMjg3LDI1MTQ0LDk3OTE3LDIyMDEyMiw2MjM5NywxNTA4NzEsMTUwODc0LDEyNTU5OCwxMzc5MzUsMzY5NjEsMTA4MDM1LDMyMzQ5MywyNzQyNiwyNzg1NywyNzg0NiwyNzg1NCw2OTY5Miw2MTQxMSwzOTI5OSwzODY5Niw2MjUyMCwzNjM4MiwxMDg3MDEsMTkyNjgyLDI3OTUzMSw1MDY2MywzNjM4NywxNDkwOCwzNzUzMywxMDU0NDMsNjE2MzUsNjIyNzQsMTYxNjcwLDEzMzgxOCwxODIxMTksNjU3MDIsNjU3MDMsNjU3MDEsMzIwNDY0LDc2MjU2LDI5ODE1NywyNjM4NDMsMzE1MjM0LDE5NjA3NSwxOTQ3NjgsMjUyMjAxLDE5NDc2OSwxOTE4ODUsCjI4MTQ4MCwyMzM2MzQsMjY1ODEwLDE5NDc3MCwyOTY5MzMsMTk1MzUwLDMyNzM4NSwzMjQ1ODYsMzAxNjA3LDE5NTM0OSwxOTQ3NzEsMjkzMDQxLDMwMTEyMSwyOTMwNDIsMjkzMDQzLDMwMTExNiwxNjYzODIsMzc2NzEsNDk5NTMsMjIwNjY5LDYwMDAwMSw2MDAwMDIsNkU1LDMzNTEzNCwyNDkyMjksMjEzNzc0LDIwNDU3MiwxOTEzODksMjcyMjU0LDI3MjI1MywyNTM4MzAsMjUzODMxLDI1MzgzMiwyNzIyNTIsMjUzODMzLDI1MzgzNCwyMDQ1NzQsMTkxMzkwLDE3OTU1NiwyMzg1OTYsMjEyNjYxLDE5MTM5MiwxOTc4MjYsMTkxMzkzLDIwNDU3MywzNjIxNiwyODIzNywyNDEyMTIsMjcyMDQ5LDE3MzcxOCwzOTU1MywxOTI1NDcsMjkyMjIsMzA0ODQ1LDI2MTA3LDI0MTIxMSwzODA1MCwyNjEwOCwyNzU4MTAsMTIwNzQ1LDI2MTA5LDI2MTEwLDY2ODgxLDI4MjM2LDE0NTg2LDI5NzY3MiwxNjA1OTgsNTc5MjksMjI2NzM2LDc0NzIzLDQ0MDk4LDE3MzY4OSw0NDA5OSwyMzUyOCw2MTY5OSwKMTM0MTA0LDEzNDEwMywxOTgzMTMsNTkxNDksMTgxMDEzLDI3ODMwNiwyODI0NzIsMjc3ODQ4LDE3MzE5MSwxNzMxOTIsMTczMTkzLDEwMTk1MSwxNzE1MDIsMTk2MDQzLDE5ODMwNSw5NzM0NiwxMTgwNTEsOTUxMDIsNjQ4ODIsMTE5NTA1LDYzNTk1LDI5NDExOSwyNTcyNjgsNjMzNDksMjgxMTI3LDI0MDU1Myw5NTEwMSw3NTI0MCwyNzAzOSw2ODgyMywyMTUzNyw4MzQ2NCw3NTcwNywyNTI5MDQsMTcwMjE1LDIyMzAzMyw4MzExMywxMDE5NTIsMTAxOTUzLDc5NjEwLDEyNTc1NSwyNDQwMiwyNDQwMCwzMjkyNSwxOTM0MDYsNTcxNzMsMTgzMzUxLDE1NjQyMSwxMjI1MDIsMTQ1MjY4LDEzODQ4MCw2NDQyMyw2NDQyNCwzMzk4NiwxMDA4MjgsMTI5MDg5LDI5OTU0MSwyMTQwOSwyODIyMTgsMjk5NTA2LDMzMzk1NiwyOTk1NDAsMjk5NTA3LDI5OTUwOSwyOTk1MzksMjk5NTA4LDI5OTUxMCwxODU2MTIsMjIyODI1LDMyMzMzMSwyNDUzNjYsMTM1MTU1LDEzNTE1NiwxMzUxNTcsMTM1MTU4LAoxNTgyMjUsMTM1MTU5LDEzNTE2MCwxNjc2NTEsMTM1MTYxLDEzNTE2MiwxMzUxNjMsMTU4MjI2LDE1ODIyNywxMzUxNjQsMTM1MTY1LDEzNTE2NiwxMTA3MCwxMTA3NCwxNzg4MCwyNzA1NjAsMzA3MDksMzA3MDcsMzA3MTEsMzA3MTAsMzA3MDgsMTg1MjEzLDE4NTI3MywxNDYxNDMsNjM2NDgsNjM2NDksMjIxMDU2LDI2NDQ5MCwyMTExODksMTExMDU5LDIxMTE4OCw1NzU0LDI2NDQ5MSwyMDQ0NSwyMzM0NzEsMTUxMzA4LDMxMzc1MCwxNTExNTIsMjI4MDY3LDEzMDk3NSwxMzA5NzYsMjQ3MjQ0LDI3MTYyMiwyNzE4MTMsMjYxMjEwLDIxMDgxNSwyOTUwNjksMjQ2MTI3LDMxNjg1OCwyNDUyNTYsMjQ0OTUwLDE5MTkyNSwxNjc2MzcsMjM0NTQ1LDE5NzE5NiwzMDI3MzUsMjE0Mjk1LDExMDM4NiwyMjEwNTQsMjczOTYwLDI4MjExMSwzMTIyOTAsMTEzNzQ2LDMyNTU5MywyNjg4ODYsNjY1NTcsMTgzMjE1LDE3MzEwLDI4NjMxLDIwMTkzNSwyMTU4OSwyNDIwMzYsMjM4MzUxLDE2NDgxNywKMTY4MDExLDE1NDk0Niw2ODAxMiwxNjI2MTcsNjA0ODAsMTg0NDMxLDEzODY2NCwyOTQwODksMjQ5ODI3LDE5NEUzLDE0MTEyMSwxNjQ1MDIsMzE1NzEsMTk1MDAyLDIwNjc5MywxNDE5NzgsMjMzOTg1LDI1MDg5NSwyNTQwNTIsMjU0MDUzLDI1NDA1NCwyNTQwNTEsMjU0MDUwLDI1NDA1NSwxNTAxMDUsMzA0MTY5LDE1MDEwNiwxNTAxMDcsMTUwMTA4LDc2OTgwLDQxNTc3LDQ1NDY5LDM4NjY5LDEzNzY4LDEzNzc3LDE0MTg0Miw2Mjk4NSwyMTMxOTAsNDcyNCwyMjMwNTIsNTkzNjksNDM5MjcsNDM5MjgsMTI5MjQsMTk3ODUzLDEwMDM1NSw1NjIxOSwyNzY2OSwyMDk5MjgsMTAzMzcsMjAzNjQ4LDIwMzY0OSw0Nzg5NiwzMjY5MzcsMTIyNjI5LDE4NjIwNCwyMjI4MjQsMjc1ODY5LDMxMjI5NSwyNzE2NzMsMjc0NjM3LDMxNzQ2MiwxMzk3MjMsMTM5NzIyLDEyMTI1OCwyNTM3ODksMjUzNzg3LDI1Mzc4NiwyNTM3ODgsMjUzNzkwLDEwNzU5OCwxMjc5OTEsOTY2MzksMTA3NTM2LDEzMDE2OSwKMjE2NTIyLDI5NjMxNiw5NjY2MSwxNDUxODgsMzIwNDI4LDIxMzkwNCwyNjkzNDIsOTY2NTgsMTE2NjQ2LDE1OTQyOCwxNjg2MTEsMTY4NjEyLDEyMTEyMiwyMTk4NjIsOTY2NjAsMjgyMjA4LDEyNzczOCwxMjcwODMsMTU1MjgxLDE2Mjk1OSwyMjA4ODYsMjI3MzU2LDI0ODAwNywxNjM1NjYsMzA3NjQ2LDE4NjY0MSwxNDc4NDIsMjczNjQ2LDI3MzY0NywyMTc5MzIsMTA0NDQzLDk2NjU5LDE0NzU5NSwxMDY0NDIsMjQ3MTYyLDIzMTQ5MywyMTM0MjcsMjk2ODEzLDI0NjU3NSwxODI0MjMsMTYyNzc2LDIyODkwOCwxMzQ4NDAsNjM2NjcsNjM2NjgsNjM2NjksMTMwNjg2LDMzNzE3MiwyNDgzODEsMTQ3MDM2LDIzOTA5NCwyNjI3NDMsMTg5ODEwLDIzOTA5NSw3ODMxNCwxNDc3OTksMzA1OTE5LDMwNTkyNCwyMzcxNDYsMTc0MDQ5LDE0ODY0OSw1NTc2MSwxMjcwOTgsMTM0ODQxLDk2MzY4LDY3Mzc0LDQ4OTkyLDE0NjE3NiwxNzYxMDUsMzIzMzIxLDMyMzMyMiwyMzMwMzUsNDk5NTYsMjY3NjQ1LAoyNzU3ODIsMTkwMTkwLDIyNTczOSwzMTk2MSwyNjM4OCwyMzgxMSw1RTQsMTI2MjUwLDk2MzcwLDIxMDU0OSwzMjk0OTAsNDczNTUsNDczNTYsMzc5MzUsNDU1MjEsMzMxNTM2LDMzMTUzNCwzMzE1MzUsMzMxNTMzLDIxNzYwLDgzNzY5LDQ5OTc3LDQ5OTc0LDkzNDk3LDkzNDk4LDM0MzI1LDE0MDc1OSwxMTU4MDMsMTIzNzA3LDEwMDA4MSwzNTMwOSwyMzc3MDYsNjgzMTQsMjU2MDIsMTAwMzM5LDE3MDg3MywxNDM1MTYsMjk5MjQ3LDE3ODkyMSwyNjg1NzQsMjU0ODg0LDI1ODIzMiw1OTAxOCwxODI0OCw1MDYyNSw5NzI5LDM3MTY4LDM3MTY5LDIxNjY3LDE2NzQ5LDE4NjM1LDM5MzA1LDE4MDQ2LDIyMTA1NywzMDE4OTcsMzAxOTAwLDI2OTk5MCw1Mzk2OSw4MjEzLDkzOTI2LDIyMTA1NSwyMTA1NDIsMjEyNTUyLDEwMjg1MiwxMTAwOTksMjI2NzgsNjkwNzYsMTM3NTc1LDEzOTIyNCwxMDA4NTYsMjM1NzcwLDE1NDQzMCwyMzU4NjEsMjA5NzU3LDE3NzM2LDM4MzIsMTQ3MTExLDU1NzU5LAo2NDAzMSwyMzQ3NDYsOTMwNDQsOTMwNDUsMjgxMzAyLDE3MDcwMSwxNzA3MDIsMTk0Nzk2LDM0Mzg4LDE2Nzg0MSwxNzA0MTksMTc2NTcsMTc2NTUsMzk1NzksMzk1NzgsMTcwNDEyLDc3NDQ4LDgxOTYsMTEzNTcsNjk4NzcsODE5NywxNjg1MDEsMTU2NTEyLDE2MTYxMywxNTY1MDksMjA4Mjc0LDE2MTYxMiwxNjE2MTQsMjY3NjkyLDI2Nzg1MSwyNjc1NzcsMjc5NzU1LDI2NzY5MywyNjc2OTQsMjY3NTc4LDI2MjgwMSwzMzQ0OTYsMzM1ODQ0LDI3MTIxOCwyNjYxMzEsMjY2MTMyLDI2Nzk3NywyNjc1NzksMjYyODAwLDI2Mjc5OSwyNjI4MDIsMjY3NTgwLDI2Mjc5OCwyNjc2OTUsMjY3NTgxLDI3MzIzMiw4MjAzOV07dmFyIE5PPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRFbmFibGVTc0VuZ2luZSgpe3JldHVybiBHTyh0aGlzLDIpfWdldEVuYWJsZUF3cigpe3JldHVybiBHTyh0aGlzLDMpfWdldEFsb2hhQXV0b0dhUm9sbG91dCgpe3JldHVybiBHTyh0aGlzLDUpfWdldEVuYWJsZUNvbmZpZ3VyYXRvcigpe3JldHVybiBHTyh0aGlzLDYpfWdldEVuYWJsZU13ZWIoKXtyZXR1cm4gR08odGhpcyw3KX1nZXRFbmFibGVDdGxDb25zZW50Q2hlY2tib3goKXtyZXR1cm4gR08odGhpcyw4KX1nZXRFbmFibGVJZnJhbWUoKXtyZXR1cm4gR08odGhpcyw5KX1nZXRFbmFibGVTY3JlZW5zaG90TnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMCl9Z2V0RW5hYmxlV2ViU3RhcnR1cENvbmZpZ0VuZHBvaW50KCl7cmV0dXJuIEdPKHRoaXMsMTEpfWdldEVuYWJsZUp1bmtOdWRnZSgpe3JldHVybiBHTyh0aGlzLDEyKX1nZXRFbmFibGVDb25maWd1cmF0b3JMb2NhbGUoKXtyZXR1cm4gR08odGhpcywKMTMpfWdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKXtyZXR1cm4gR08odGhpcywxNCl9Z2V0RW5hYmxlU3VwcG9ydFNlc3Npb25Mb2dnaW5nKCl7cmV0dXJuIEdPKHRoaXMsMTUpfWdldEVuYWJsZUZpbGVVcGxvYWRGb3JTY3JlZW5zaG90KCl7cmV0dXJuIEdPKHRoaXMsMTYpfWdldEVuYWJsZURpcmVjdERlZmxlY3Rpb25Gb3JTaW5nbGVDYXRlZ29yeSgpe3JldHVybiBHTyh0aGlzLDE3KX1nZXRFbmFibGVJbWFnZVNhbml0aXphdGlvbigpe3JldHVybiBHTyh0aGlzLDE4KX1nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0KCl7cmV0dXJuIEdPKHRoaXMsMTkpfWdldEVuYWJsZURiRmVlZGJhY2tJbnRlbnRzKCl7cmV0dXJuIEdPKHRoaXMsMjApfWdldEVuYWJsZU1hcmtNYW5kYXRvcnlGaWVsZHNXaXRoUmVxdWlyZWQoKXtyZXR1cm4gR08odGhpcywyMSl9Z2V0RW5hYmxlRmVlZGJhY2tDYXRlZ29yeUN1c3RvbVVpKCl7cmV0dXJuIEdPKHRoaXMsMjIpfWdldEVuYWJsZVJlYWx0aW1lQ3RsKCl7cmV0dXJuIEdPKHRoaXMsCjIzKX1nZXRFbmFibGVBbG9oYUhlYWRsZXNzKCl7cmV0dXJuIEdPKHRoaXMsMjQpfWdldFVwZGF0ZUZlZWRiYWNrQ29uZmlybWF0aW9uQ2xhcml0eSgpe3JldHVybiBHTyh0aGlzLDI1KX1nZXRFbmFibGVWaWV3RmVlZGJhY2tSZXBvcnRzTGluaygpe3JldHVybiBHTyh0aGlzLDI2KX19O3ZhciBWTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9digpe3JldHVybiBfLk54KHRoaXMsTk8sMSl9fTt2YXIgJGhhPVsvaHR0cHM6XC9cL3NhbmRib3hcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC9pbmFwcC8sL2h0dHBzOlwvXC9mZWVkYmFjay1mcm9udGVuZC1xdWFsW2EtejAtOS5dKlwuZ29vZ2xlXC5jb21cL3Rvb2xzXC9mZWVkYmFjay8sL2h0dHBzOlwvXC8uKlwuZ29vZ2xldXNlcmNvbnRlbnRcLmNvbVwvaW5hcHAvXTt2YXIgT089ImFmIGFtIGFyLUVHIGFyLUpPIGFyLU1BIGFyLVNBIGFyLVhCIGFyIGF6IGJlIGJnIGJuIGJzIGNhIGNzIGN5IGRhIGRlLUFUIGRlLUNIIGRlIGVsIGVuIGVuLUdCIGVuLUFVIGVuLUNBIGVuLUlFIGVuLUlOIGVuLU5aIGVuLVNHIGVuLVhBIGVuLVhDIGVuLVpBIGVzIGVzLTQxOSBlcy1BUiBlcy1CTyBlcy1DTCBlcy1DTyBlcy1DUiBlcy1ETyBlcy1FQyBlcy1HVCBlcy1ITiBlcy1NWCBlcy1OSSBlcy1QQSBlcy1QRSBlcy1QUiBlcy1QWSBlcy1TViBlcy1VUyBlcy1VWSBlcy1WRSBldCBldSBmYSBmaSBmaWwgZnItQ0EgZnItQ0ggZnIgZ2wgZ3N3IGd1IGhlIGhpIGhyIGh1IGh5IGlkIGluIGlzIGl0IGl3IGphIGthIGtrIGttIGtuIGtvIGt5IGxuIGxvIGx0IGx2IG1rIG1sIG1uIG1vIG1yIG1zIG15IG5iIG5lIG5sIG5vIHBhIHBsIHB0IHB0LUJSIHB0LVBUIHJvIHJ1IHNpIHNrIHNsIHNxIHNyLUxhdG4gc3Igc3Ygc3cgdGEgdGUgdGggdGwgdHIgdWsgdXIgdXogdmkgemggemgtQ04gemgtSEsgemgtVFcgenUiLnNwbGl0KCIgIik7dmFyIFVPPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiRm9ybSBpcyBlaXRoZXIgbG9hZGluZyBvciBhbHJlYWR5IG9wZW5lZCIpO3RoaXMubmFtZT0iRHVwbGljYXRlRm9ybUVycm9yIn19LFFPLFNPLFJPLFRPO18ucmEoInVzZXJmZWVkYmFjay5Db2xvclNjaGVtZXMiLHtpRjoxLEdDOjJ9KTtfLnJhKCJ1c2VyZmVlZGJhY2suYXBpLnN0YXJ0RmVlZGJhY2siLF8uWU8pO18ucWlhPW5ldyBfLkkoIm5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQiKTtfLnJpYT1NYXRoLnJhbmRvbSgpO3ZhciBzaWE9bmV3IF8uVnMoIlNUQVRJQ19BUFBfUFJPUFNfVE9LRU4iKTtfLnZQPW5ldyBfLlZzKCJUT0FTVF9PUFRJT05TIik7dmFyIG9QPV8uc2ooIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiLDVFMyksYlAsY1A9bnVsbCxbd1AsZ1BdPV8uSigib3V0Iix2b2lkIDAsIldjWmNlZSIpLFtsaWEsZlBdPV8uSih2b2lkIDAsdm9pZCAwLCJYVnl4eGYiKSxpUD1bXSxtUCxkUD1fLkwoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnZQKSk7cmV0dXJuIF8uSygiYzMtdG9hc3QiLHtkaXI6d1Ascm9sZTooKT0+d1AoKT09PSJpbiI/ImFsZXJ0IjoiIixjbGFzczpfLlAoeyJodWctdG9hc3QiOiEhYj8uVnUsImludmVyc2UtdGhlbWUiOiEhYj8uQ3h9KX0sYS5jaGlsZHJlbil9LCJzYiIpO2RQLmlkb21Db21wYXQ9ITA7Xy50aWE9Xy51eCgzMDc5NTMpOyh7TWc6Xy51aWEsZ2s6Xy54UH09Xy56RyhhPT5hLmNoYW5uZWxJZCkpOyh7TWc6Xy52aWEsZ2s6Xy53aWF9PV8uekcoYT0+Xy5CKGEubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/LmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQsXy5CeSk/LnBhcmFtcykpO18ueVA9bmV3IF8uVnMoIkxBWUVSX1RPS0VOIik7Xy56UD1fLkwoKHtVbzphLHN0YXlPcGVuT25DbGljazpiLGlzUGVyc2lzdGVudDpjLGNoaWxkcmVuOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoeyJkaWFsb2ctZmxleC1idXR0b24iOigpPT5hPy4oKSE9PTF9KSwib246Y2xpY2siOmZ1bmN0aW9uKCl7Yj8uKCl8fGM/LigpfHxfLnkoKS5yZXNvbHZlKF8ueVApLmxkKCl9LHRhYmluZGV4OigpPT4oYj8uKCl8fGM/LigpLHZvaWQgMCl9LGQpLCJ1YiIpO18uelAuaWRvbUNvbXBhdD0hMDtfLkFQPV8uTCgoe2NoaWxkcmVuOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihzaWEpKT8uVUk7cmV0dXJuIF8uSygiZGl2Iix7ImFyaWEtbGl2ZSI6InBvbGl0ZSIsdGFiaW5kZXg6Yj8wOnZvaWQgMH0sYSl9LCJ2YiIpO18uQVAuaWRvbUNvbXBhdD0hMDtfLnhpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiKXx8NTAwO18ueWlhPV8uc2ooIm13ZWJfaW9zX2Z1bGxzY3JlZW5fc3lzdGVtX3BhdXNlX2VwaWxzb25fbXMiKXx8MzUwO3ZhciBvaWE9Xy4kTi5YcyxwaWE9Xy4kTi5rdDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hUT1mdW5jdGlvbihhLGIpe3JldHVybntvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiVE9BU1QiLHBvcHVwOntub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlcjp7cmVzcG9uc2VUZXh0OmF9fSwuLi4oYiE9PXZvaWQgMD97ZHVyYXRpb25IaW50TXM6Yn06e30pfX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnduYT1uZXcgXy5JKCJlbnRpdHlVcGRhdGVDb21tYW5kIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTlc9bmV3IF8uSSgic2hvd1NoZWV0Q29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnhuYT1uZXcgXy5JKCJsaXN0Vmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uT1c9bmV3IF8uVnMoIlNDUkVFTl9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5bmE7Xy5QVz1mdW5jdGlvbihhKXtyZXR1cm4geW5hW2FdPz8iRVZFTlRfU1BBTl9UWVBFX1VOS05PV04ifTsKeW5hPXtjbGljazoiRVZFTlRfU1BBTl9UWVBFX0NMSUNLIixkYmxjbGljazoiRVZFTlRfU1BBTl9UWVBFX0RCTENMSUNLIixtb3VzZWRvd246IkVWRU5UX1NQQU5fVFlQRV9NT1VTRURPV04iLG1vdXNldXA6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRVVQIixtb3VzZW92ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRU9WRVIiLG1vdXNlb3V0OiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVVQiLG1vdXNlZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRUVOVEVSIixtb3VzZWxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VMRUFWRSIsbW91c2Vtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VNT1ZFIixjb250ZXh0bWVudToiRVZFTlRfU1BBTl9UWVBFX0NPTlRFWFRNRU5VIixrZXlkb3duOiJFVkVOVF9TUEFOX1RZUEVfS0VZRE9XTiIsa2V5dXA6IkVWRU5UX1NQQU5fVFlQRV9LRVlVUCIsa2V5cHJlc3M6IkVWRU5UX1NQQU5fVFlQRV9LRVlQUkVTUyIsdG91Y2hzdGFydDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIU1RBUlQiLAp0b3VjaGVuZDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIRU5EIix0b3VjaG1vdmU6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSE1PVkUiLHRvdWNoY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hDQU5DRUwiLHBvaW50ZXJkb3duOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkRPV04iLHBvaW50ZXJ1cDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJVUCIscG9pbnRlcm1vdmU6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSTU9WRSIscG9pbnRlcm92ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1ZFUiIscG9pbnRlcm91dDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJPVVQiLHBvaW50ZXJlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJFTlRFUiIscG9pbnRlcmxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkxFQVZFIixwb2ludGVyY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkNBTkNFTCIsZ290cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9HT1RQT0lOVEVSQ0FQVFVSRSIsCmxvc3Rwb2ludGVyY2FwdHVyZToiRVZFTlRfU1BBTl9UWVBFX0xPU1RQT0lOVEVSQ0FQVFVSRSIsc3VibWl0OiJFVkVOVF9TUEFOX1RZUEVfU1VCTUlUIixjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9DSEFOR0UiLGlucHV0OiJFVkVOVF9TUEFOX1RZUEVfSU5QVVQiLGZvY3VzOiJFVkVOVF9TUEFOX1RZUEVfRk9DVVMiLGJsdXI6IkVWRU5UX1NQQU5fVFlQRV9CTFVSIixyZXNldDoiRVZFTlRfU1BBTl9UWVBFX1JFU0VUIixzZWxlY3Q6IkVWRU5UX1NQQU5fVFlQRV9TRUxFQ1QiLGludmFsaWQ6IkVWRU5UX1NQQU5fVFlQRV9JTlZBTElEIixsb2FkOiJFVkVOVF9TUEFOX1RZUEVfTE9BRCIsdW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfVU5MT0FEIixiZWZvcmV1bmxvYWQ6IkVWRU5UX1NQQU5fVFlQRV9CRUZPUkVVTkxPQUQiLGRvbWNvbnRlbnRsb2FkZWQ6IkVWRU5UX1NQQU5fVFlQRV9ET01DT05URU5UTE9BREVEIixyZXNpemU6IkVWRU5UX1NQQU5fVFlQRV9SRVNJWkUiLHNjcm9sbDoiRVZFTlRfU1BBTl9UWVBFX1NDUk9MTCIsCnBhZ2VzaG93OiJFVkVOVF9TUEFOX1RZUEVfUEFHRVNIT1ciLHBhZ2VoaWRlOiJFVkVOVF9TUEFOX1RZUEVfUEFHRUhJREUiLHBsYXk6IkVWRU5UX1NQQU5fVFlQRV9QTEFZIixwYXVzZToiRVZFTlRfU1BBTl9UWVBFX1BBVVNFIixwbGF5aW5nOiJFVkVOVF9TUEFOX1RZUEVfUExBWUlORyIsd2FpdGluZzoiRVZFTlRfU1BBTl9UWVBFX1dBSVRJTkciLHNlZWtpbmc6IkVWRU5UX1NQQU5fVFlQRV9TRUVLSU5HIixzZWVrZWQ6IkVWRU5UX1NQQU5fVFlQRV9TRUVLRUQiLGVuZGVkOiJFVkVOVF9TUEFOX1RZUEVfRU5ERUQiLHZvbHVtZWNoYW5nZToiRVZFTlRfU1BBTl9UWVBFX1ZPTFVNRUNIQU5HRSIsdGltZXVwZGF0ZToiRVZFTlRfU1BBTl9UWVBFX1RJTUVVUERBVEUiLHJhdGVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9SQVRFQ0hBTkdFIixkcmFnc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9EUkFHU1RBUlQiLGRyYWc6IkVWRU5UX1NQQU5fVFlQRV9EUkFHIixkcmFnZW5kOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0VORCIsCmRyYWdlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTlRFUiIsZHJhZ2xlYXZlOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0xFQVZFIixkcmFnb3ZlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdPVkVSIixkcm9wOiJFVkVOVF9TUEFOX1RZUEVfRFJPUCIsYW5pbWF0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05TVEFSVCIsYW5pbWF0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9ORU5EIixhbmltYXRpb25pdGVyYXRpb246IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05JVEVSQVRJT04iLHRyYW5zaXRpb25ydW46IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OUlVOIix0cmFuc2l0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OU1RBUlQiLHRyYW5zaXRpb25lbmQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9ORU5EIix0cmFuc2l0aW9uY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkNBTkNFTCJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFXPW5ldyBfLkkoInNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgoKTWF0aC51dWlkLmpzICh2MS40KQpodHRwOi8vd3d3LmJyb29mYS5jb20KbWFpbHRvOnJvYmVydEBicm9vZmEuY29tCkNvcHlyaWdodCAoYykgMjAxMCBSb2JlcnQgS2llZmZlcgpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKi8KdmFyIHpuYSxSVyxBbmEsQm5hLENuYSxEbmEsRW5hLFRXLEZuYSxVVyxHbmEsSG5hLFZXLEluYSxKbmEsWFcsWVcsWlcsJFcsTG5hLE1uYSxiWCxoWCxObmEsT25hLFBuYSxqWCxrWCxSbmEsbVgsU25hLG9YLHBYLFVuYSxWbmEsblgsV25hLFRuYSxsWCxxWCxZbmEsYW9hLGJvYSxjb2EsZG9hLGVvYSxzWCxmb2EsZ29hLHRYLGhvYSx1WCx2WCxpb2Esa29hLHhYLGxvYSx5WCxub2Esb29hLHBvYSxxb2EsQlgscm9hLHNvYSxDWCx0b2EsdW9hLHZvYSx3b2EseG9hLHlvYSx6b2EsQW9hLEJvYSxDb2EsSFgsSVgsRm9hLG1vYSxLWCxIb2EsSlgsSW9hLEpvYSxLb2EsTVgsTG9hLE5YLE1vYSxOb2EsT29hLFBvYSxRb2EsUm9hLFNvYSxPWCxUb2EsUFgsUVgsVm9hLFVvYSxXb2EsWG9hLFlvYSxab2EsJG9hLFZYLFVYLFdYLCRYLFhYLFlYLFpYLGFZLGFwYSxicGEsY3BhLGJZLGVZLGRZLGRwYSxmWSxlcGEsZnBhLGdwYSxocGEsZ1ksanBhLGlwYSxscGEscHBhLGpZLHFwYSxrWSxsWSxuWSxtWSwKaVkscnBhLHNwYSx1cGEscFksd3BhLG9ZLHJZLHNZLHRZLHVZLHpwYSxBcGEsd1kseFkseVksQVksQ3BhLEJZLERwYSxEWSxFcGEsRlksSFksRnBhLElZLEpZLEhwYSxLWSxNWSxJcGEsSnBhLExwYSxNcGEsTnBhLFBwYSxScGEsVHBhLFVwYSxOWSxXcGEsVnBhLFBZLFNZLE9ZLFJZLFpwYSxZcGEsYnFhLGRxYSxlcWEsZnFhLGdxYSxXWSxocWEsaXFhLGpxYSxrcWEsbHFhLG1xYSxjcWEsVlksdHFhLG5xYSx6WCx1cWEsV1csRG9hLGNaLEtuYSx4cWEsZFosZVoseXFhLHpxYSxBcWEsQnFhLENxYSxEcWEsYVgsZlosZ1gsY1gsZFgsZVgsZlgsRXFhLGdaLGhaLEZxYSxpWixHcWEsSHFhLGlYLGpaLElxYSxRbmEsWG5hLEpxYSxabmEsJG5hLHJYLExxYSxqb2EsWFksa1osTXFhLHFZLEFYO3puYT1mdW5jdGlvbihhLGIpe2I9KDAsXy55ZykoYik7Yj1fLkVmKGIsYik7Yi52PSEwO18uSmYoYSxiKTtyZXR1cm4gYX07ClJXPWZ1bmN0aW9uKGEsYil7YT1hLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10uc2NvcGU9PT1iKXJldHVybiBhW2NdLnRva2VufHx2b2lkIDB9OwpBbmE9ZnVuY3Rpb24oYSxiLGM9e30pe18uVmkoKCk9Pnt2YXIgZD1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmV8fF8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LnNjcmVlblZpc3VhbEVsZW1lbnQ/LnVpVHlwZTtpZihkKXt2YXIgZT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uZWFhKTtpZihlPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIGY9Xy5VdyhlLnBhcmVudFRyYWNraW5nUGFyYW1zKTtpZihlLnBhcmVudENzbil2YXIgaD1lLnBhcmVudENzbn1lbHNlIGMuY2xpY2tlZFZpc3VhbEVsZW1lbnQ/Zj1jLmNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGY9Xy5VdyhiLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntlPV8uQihiLF8uQXcpO3ZhciBrPV8uQihiLF8uZGFhKTtpZihlKXtpZihrPVJXKGUsIlZJREVPIikpe2U9e3Rva2VuOmssdmlkZW9JZDplLnZpZGVvSWR9O2JyZWFrIGF9fWVsc2UgaWYoayYmKGU9UlcoaywKIlBMQVlMSVNUIikpKXtlPXt0b2tlbjplLHBsYXlsaXN0SWQ6ay5wbGF5bGlzdElkfTticmVhayBhfWU9dm9pZCAwfWM9e2N0dEF1dGhJbmZvOmUscGFyZW50Q3NuOmgsLi4uY307Xy54KCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihjLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLm54KT8ubG9nZ2luZ0V4cGVjdGF0aW9uc3x8dm9pZCAwKTtfLkRPKGEsZCxmLGMpfWVsc2UgXy5JcChuZXcgXy5YaigiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixiKSl9KSgpfTtCbmE9ZnVuY3Rpb24oYSxiKXthPWBTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfRlVMTFNDUkVFTl9SRVFVRVNUX1NMSV8ke2F9YDtfLkV5LnJlZ2lzdGVyLmhhcyhhKT9iPV8uRXkucmVnaXN0ZXIuZ2V0KGEpOihiPWIoKSxfLkV5LnJlZ2lzdGVyLnNldChhLGIpKTtyZXR1cm4gYn07Q25hPWZ1bmN0aW9uKHtzZXJ2aWNlSWQ6YX0pe3JldHVybiBhLm99OwpEbmE9ZnVuY3Rpb24oKXt2YXIgYT1fLkd5LGI9W1NXXSxjPWIubWFwKGw9PkNuYShsKSksZD1iLm1hcChsPT5hLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpKS5maWx0ZXIobD0+bCk7aWYoZC5sZW5ndGg9PT1iLmxlbmd0aClyZXR1cm4gXy5LeShkLm1hcCgobCxtKT0+Xy5ueShhLGwsYlttXSkpKTt2YXIgZT1fLlZkKCkuYWYoYyk7ZD1fLklmKGMubWFwKGw9PmVbbF0pKTt2YXIgZj1kb2N1bWVudC5oaWRkZW4saD0tMSxrPV8uc2ooImdldF9hc3luY190aW1lb3V0X21zIiwtMSk7az4tMSYmKGg9c2V0VGltZW91dCgoKT0+e18uSXAobmV3IF8uWGooIk1vZHVsZSB0aW1lb3V0LiIsYyxmLGRvY3VtZW50LmhpZGRlbikpfSxrKSk7cmV0dXJuIHpuYShkLnRoZW4oKCk9PmIubWFwKGw9Pl8ubnkoYSxhLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpLGwpKSkuS2cobD0+e2ZvcihsZXQgbSBvZiBhLmopbShsKTt0aHJvdyBsO30pLCgpPT57Y2xlYXJUaW1lb3V0KGgpfSl9OwpFbmE9ZnVuY3Rpb24oKXtyZXR1cm4gRG5hKCkudGhlbihhPT5hWzBdKX07VFc9ZnVuY3Rpb24oYSxiKXthLkRmPWI7Zm9yKGxldCBjIG9mIGEuZGF0YSliKGMpO2EuZGF0YT1bXX07Rm5hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDw9Mj9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsYixjKX07VVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7bGV0IGU9YXJndW1lbnRzW2RdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCBmPTA7ZjxlLmxlbmd0aDtmKz04MTkyKXt2YXIgYz1GbmEoZSxmLGYrODE5Mik7Yz1VVy5hcHBseShudWxsLGMpO2ZvcihsZXQgaD0wO2g8Yy5sZW5ndGg7aCsrKWIucHVzaChjW2hdKX1lbHNlIGIucHVzaChlKX1yZXR1cm4gYn07CkduYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoZnVuY3Rpb24oYil7dmFyIGM9YS5sZW5ndGgsZD1bXTtpZihjKXt2YXIgZT1mdW5jdGlvbihoLGssbCl7Yy0tO2RbaF09az97ZnVsZmlsbGVkOiEwLHZhbHVlOmx9OntmdWxmaWxsZWQ6ITEscmVhc29uOmx9O2M9PTAmJmIoZCl9O2ZvcihsZXQgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgZj1hW2hdO18uSGYoZixfLkRhKGUsaCwhMCksXy5EYShlLGgsITEpKX19ZWxzZSBiKGQpfSl9O0huYT1mdW5jdGlvbihhKXt2YXIgYj1fLk16KCJMT0dHRURfSU4iLGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7Xy5OeihiKX0pfTtWVz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9Xy55KCk7Yy5yZXNvbHZlKF8uSW4oYSkpfHxfLkp6KGMse2phOmEsUGE6YSxbXy5Mbl06Yn0pO3JldHVybiBjLnJlc29sdmUoYSl9fTsKSW5hPWZ1bmN0aW9uKGEpe2lmKFdXPT09dm9pZCAwKXRocm93IEVycm9yKCJzYiIpO2lmKFdXKWZvcihsZXQgW2IsY11vZiBXVylhKGIsYyk7Xy5Odi5hZGQoYSk7V1c9dm9pZCAwfTtKbmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbmFyeSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ0FOQVJZIjtjYXNlICJjb250cm9sIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9DT05UUk9MIjtjYXNlICJub25lIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9OT05FIjtkZWZhdWx0OnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04ifX07WFc9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1bXTtmb3IobGV0IGQgaW4gYSl7aWYoIWEuaGFzT3duUHJvcGVydHkoZCkpY29udGludWU7bGV0IGU9YiE9PSIiP2IrIi4iK2Q6ZDt0eXBlb2YgYVtkXT09PSJvYmplY3QiP2MucHVzaCguLi5YVyhhW2RdLGUpKTpjLnB1c2goW2UsYVtkXV0pfWMuc29ydCgpO3JldHVybiBjfTsKWVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEuZXZlbnRzLnZhbHVlcygpKWIucHVzaChjKTtyZXR1cm4gYn07Wlc9ZnVuY3Rpb24oYSl7Xy5GeT09bnVsbCYmKF8uRnk9bmV3IEtuYSk7dmFyIGI9Xy5GeTt2YXIgYz1iLnY7YS5kaW1lbnNpb25zPWEuZGltZW5zaW9uc3x8e307YS5kaW1lbnNpb25zLmNzbj1fLmlxKCl8fCIiO3ZhciBkPVhXKGEuZGltZW5zaW9ucykuam9pbigiOyIpO2EucmVjb3JkcyE9bnVsbCYmKGMuZXZlbnRzLmhhcyhkKT9jLmV2ZW50cy5nZXQoZCkucmVjb3Jkcz8ucHVzaCguLi5hLnJlY29yZHMpOmMuZXZlbnRzLnNldChkLGEpKTtiLmouZW5hYmxlZHx8Yi5qLnN0YXJ0KCk7Yi5vKys7Yi5vPj0xMDAmJmIuZmx1c2goKX07JFc9ZnVuY3Rpb24oYSl7YT1hLmtleXx8YS5pZDtpZighYSl0aHJvdyBFcnJvcigiZmMiKTtyZXR1cm4gYX07CkxuYT1mdW5jdGlvbigpe2lmKGFYKXJldHVybiBhWCgpO2FYPV8uJGwoIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7c2U6e0VudGl0eVN0b3JlOntQZDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOntQZDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwiRW50aXR5U3RvcmUiLHtrZXlQYXRoOiJrZXkifSksImVudGl0eVR5cGUiLCJlbnRpdHlUeXBlIik7YigyKSYmKGE9Xy5rbChhLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxfLm9sKGEsImJ5UGFyZW50RW50aXR5S2V5IiwicGFyZW50RW50aXR5S2V5IiksXy5vbChhLCJieUNoaWxkRW50aXR5S2V5IiwiY2hpbGRFbnRpdHlLZXkiKSl9LHZlcnNpb246M30pO3JldHVybiBhWCgpfTtNbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woTG5hKCksYSl9OwpiWD1mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LkludDMyQXJyYXk/bmV3IEludDMyQXJyYXkoYSk6QXJyYXkoYSl9OwpoWD1mdW5jdGlvbihhKXt2YXIgYj1hLmtleSxjPWEuY291bnRlclswXV5iWzBdLGQ9YS5jb3VudGVyWzFdXmJbMV0sZT1hLmNvdW50ZXJbMl1eYlsyXSxmPWEuY291bnRlclszXV5iWzNdO2Zvcih2YXIgaD0zO2g+PTAmJiEoYS5jb3VudGVyW2hdPS1+YS5jb3VudGVyW2hdKTtoLS0pO2Zvcih2YXIgayxsLG09NDttPDQwOyloPWNYW2M+Pj4yNF1eZFhbZD4+MTYmMjU1XV5lWFtlPj44JjI1NV1eZlhbZiYyNTVdXmJbbSsrXSxrPWNYW2Q+Pj4yNF1eZFhbZT4+MTYmMjU1XV5lWFtmPj44JjI1NV1eZlhbYyYyNTVdXmJbbSsrXSxsPWNYW2U+Pj4yNF1eZFhbZj4+MTYmMjU1XV5lWFtjPj44JjI1NV1eZlhbZCYyNTVdXmJbbSsrXSxmPWNYW2Y+Pj4yNF1eZFhbYz4+MTYmMjU1XV5lWFtkPj44JjI1NV1eZlhbZSYyNTVdXmJbbSsrXSxjPWgsZD1rLGU9bDthPWEubztoPWJbNDBdO2FbMF09Z1hbYz4+PjI0XV5oPj4+MjQ7YVsxXT1nWFtkPj4xNiYyNTVdXmg+PjE2JjI1NTthWzJdPWdYW2U+PjgmCjI1NV1eaD4+OCYyNTU7YVszXT1nWFtmJjI1NV1eaCYyNTU7aD1iWzQxXTthWzRdPWdYW2Q+Pj4yNF1eaD4+PjI0O2FbNV09Z1hbZT4+MTYmMjU1XV5oPj4xNiYyNTU7YVs2XT1nWFtmPj44JjI1NV1eaD4+OCYyNTU7YVs3XT1nWFtjJjI1NV1eaCYyNTU7aD1iWzQyXTthWzhdPWdYW2U+Pj4yNF1eaD4+PjI0O2FbOV09Z1hbZj4+MTYmMjU1XV5oPj4xNiYyNTU7YVsxMF09Z1hbYz4+OCYyNTVdXmg+PjgmMjU1O2FbMTFdPWdYW2QmMjU1XV5oJjI1NTtoPWJbNDNdO2FbMTJdPWdYW2Y+Pj4yNF1eaD4+PjI0O2FbMTNdPWdYW2M+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTRdPWdYW2Q+PjgmMjU1XV5oPj44JjI1NTthWzE1XT1nWFtlJjI1NV1eaCYyNTV9OwpObmE9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1hd2FpdCBhLm8uaW1wb3J0S2V5KCJyYXciLGEudix7bmFtZToiQUVTLUNUUiJ9LCExLFsiZW5jcnlwdCJdKSk7YT1hd2FpdCBhLm8uZW5jcnlwdCh7bmFtZToiQUVTLUNUUiIsY291bnRlcjpjLGxlbmd0aDoxMjh9LGEuaixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9O09uYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6YS5tZXNzYWdlfSk6bmV3IGlYKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTtQbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9ERUNPREVfRVJST1IiKX07CmpYPWZ1bmN0aW9uKGEsYil7YT1hIGluc3RhbmNlb2YgaVg/YTpiKGEpO18uR3AoYSk7dGhyb3cgYTt9O2tYPWZ1bmN0aW9uKGEpe2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpLnN1YmFycmF5KDAsMTYpO3ZhciBiPW5ldyBVaW50OEFycmF5KDE2KTtiLnNldChhKTtyZXR1cm4gYn07Um5hPWZ1bmN0aW9uKGEpe3ZhciBiPVFuYVthXTtpZihiKXJldHVybiBiO18uSXAobmV3IF8uWGooIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZTphfSkpfTttWD1mdW5jdGlvbihhLGIpe3JldHVybiBsWChhLm8sYi52ZXJzaW9uKS5kZWNvZGUoYi5kYXRhLGIua2V5KX07U25hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChiKS50aGVuKGQ9PntpZihkKXtpZihjJiZkLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO3JldHVybiBtWChhLGQpfX0pfTsKb1g9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO3JldHVybiBuWChhLGQpLnRoZW4oKCk9PlRuYShhLGIsYykpfTtwWD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS52W2NdO2R8fChkPW5ldyBTZXQsYS52W2NdPWQpO2QuYWRkKGIpfTsKVW5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKSxlPWxYKGEubywxKSxmPXsuLi5ifTtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChkKS50aGVuKGg9PntpZihoKXtpZihoLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO2YuZW50aXR5TWV0YWRhdGF8fChoPW1YKGEsaCksZi5lbnRpdHlNZXRhZGF0YT1oLmVudGl0eU1ldGFkYXRhKX19KS50aGVuKCgpPT57dmFyIGg9e2tleTpkLGVudGl0eVR5cGU6YyxkYXRhOmUuZW5jb2RlKGYsZCksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixjKV0pfSkudGhlbigoKT0+e3BYKGEsZCxjKTtyZXR1cm4gZH0pfTsKVm5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5HSChiKS5lbnRpdHlUeXBlO3JldHVybiBfLlZrLmFsbChbYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmRlbGV0ZShiKSxuWChhLGIpXSkudGhlbigoKT0+e3BYKGEsYixjKX0pfTtuWD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShiKSl9OwpXbmE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bFgoYS5vLDEpO3JldHVybiBTbmEoYSxiLGQpLnRoZW4oZj0+e2lmKGZ8fF8ueCgid2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZSIpKXtmPV8uaE0oZnx8e30sYyk7dmFyIGg9e2tleTpiLGVudGl0eVR5cGU6ZCxkYXRhOmUuZW5jb2RlKGYsYiksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixkKV0pfX0pLnRoZW4oKCk9PntwWChhLGIsZCk7cmV0dXJuIGJ9KX07ClRuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYik7Yz1SbmEoYyk7aWYoIWMpcmV0dXJuIF8uVmsucmVzb2x2ZShbXSk7Yj1uZXcgYyhiKTthPWEuai5vYmplY3RTdG9yZSgiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIpO2M9W107Zm9yKGxldCBlIG9mIGIubygpKWMucHVzaChfLmxsKGEse3BhcmVudEVudGl0eUtleTpkLGNoaWxkRW50aXR5S2V5OmV9KSk7cmV0dXJuIF8uVmsuYWxsKGMpLnRoZW4oZT0+ZS5tYXAoZj0+ZlsxXSkpfTtsWD1mdW5jdGlvbihhLGI9MCl7YT1hLmpbYl07aWYoIWEpdGhyb3cgYj1uZXcgaVgoIklOVkFMSURfRU5DT0RFUl9WRVJTSU9OIix7SXA6Yn0pLF8uR3AoYiksYjtyZXR1cm4gYX07cVg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYS5vYnNlcnZlcnMpYyhiKX07ClluYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWF3YWl0IE1uYShhLnRva2VuKSxkO2M9YXdhaXQgXy5pbChjLFsiRW50aXR5U3RvcmUiLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIl0sInJlYWR3cml0ZSIsZT0+e2Q9bmV3IFhuYShlLGEuaik7cmV0dXJuIGIoZCl9KTtpZihkKXtsZXQgZT1kLnY7T2JqZWN0LmtleXMoZSkubGVuZ3RoPjAmJihhLmNoYW5uZWwucG9zdE1lc3NhZ2UoZSkscVgoYSxlKSl9cmV0dXJuIGN9O2FvYT1hc3luYyBmdW5jdGlvbigpe3RyeXtsZXQgYj1hd2FpdCBfLlBsKCk7aWYoYiYmXy5XaigpJiZ0eXBlb2YgXy51LkJyb2FkY2FzdENoYW5uZWwhPT0idW5kZWZpbmVkIil7dmFyIGE9bmV3IFpuYTtyZXR1cm4gbmV3ICRuYShiLGEpfX1jYXRjaChiKXtiIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoYil9fTsKYm9hPWZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtyZXR1cm4gYT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1BFUlNJU1QifHxhPT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QifTsKY29hPWFzeW5jIGZ1bmN0aW9uKGEpe3JYfHwoclg9YW9hKCkpO3ZhciBiPWF3YWl0IHJYO2ImJmF3YWl0IFluYShiLGM9Pnt2YXIgZD17fTtmb3IobGV0IGUgb2YgYSl7aWYoIWUuZW50aXR5S2V5fHwhYm9hKGUpKWNvbnRpbnVlO2xldCBmPV8uZE0oZS5wYXlsb2FkKSxoPXZvaWQgMDtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSImJihoPSgpPT5VbmEoYyxlLnBheWxvYWRbZl0sZikpO2UudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiJiYoaD0oKT0+Vm5hKGMsZS5lbnRpdHlLZXkpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIiYmKGg9KCk9PlduYShjLGUuZW50aXR5S2V5LGUucGF5bG9hZFtmXSxmKSk7aCYmKGRbZS5lbnRpdHlLZXldPWRbZS5lbnRpdHlLZXldP2RbZS5lbnRpdHlLZXldLnRoZW4oaCk6aCgpKX1yZXR1cm4gXy5Way5hbGwoT2JqZWN0LnZhbHVlcyhkKSl9KX07CmRvYT1hc3luYyBmdW5jdGlvbihhLGIpeyEoYT1hLm11dGF0aW9ucyl8fGEubGVuZ3RoPD0wfHwoYiYmYi5kaXNwYXRjaChfLmtBKHt0eXBlOiJFTlRJVFlfTE9BREVEIixwYXlsb2FkOmF9KSksYXdhaXQgY29hKGEpLGEubGVuZ3RoPTApfTtlb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO2IuT2M9ITA7Yi5zZXNzaW9uSWQ9YS5zZXNzaW9uSWR8fCIiO2IuZGg9YS5kaDthLldoIT1udWxsJiYoYi5XaD1hLldoKX07c1g9ZnVuY3Rpb24oYSl7Xy51QygpLnByb2Nlc3NvcnMucHVzaChhKX07Zm9hPWZ1bmN0aW9uKCl7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixhPT57dHJ5e2ZvcihsZXQgYiBpbiBfLmVJKXRyeXtsZXQgYz1fLmVJW2JdO3R5cGVvZiBfLmVJW2JdPT09ImZ1bmN0aW9uIiYmKGM9YygpKTthLnBhcmFtc1tiXT10eXBlb2YgXy5lSVtiXT09PSJvYmplY3QiP0pTT04uc3RyaW5naWZ5KGMpOlN0cmluZyhjKX1jYXRjaChjKXtfLklwKGMpfX1jYXRjaChiKXtfLklwKGIpfX0pfTsKZ29hPWZ1bmN0aW9uKCl7fTt0WD1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy55SihjLGEsYil9O2hvYT1mdW5jdGlvbihhKXtyZXR1cm4gVVcoT2JqZWN0LmtleXMoYSkubWFwKGI9PmI9PT0icGxheWxpc3RFZGl0RW5kcG9pbnQiP18uQihhLF8uQXopLmNsaWVudEFjdGlvbnN8fFtdOmFbYl0uYWN0aW9uc3x8YVtiXS5jbGllbnRBY3Rpb25zfHxbXSkpfTt1WD1mdW5jdGlvbihhKXthPV8uQihhPy5jb21tYW5kTWV0YWRhdGEsXy56dyk7cmV0dXJuIGE/LnVybD9hLnVybDpudWxsfTt2WD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBvZiBhKV8uQUooYyxiLCEwKX07CmlvYT1mdW5jdGlvbigpe18uSk09d1g7VFcoXy5nRSwoe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6Y30pPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLF8uWUQoYixjKSl8fChhPW5ldyBfLlhqKCJDb21tYW5kIG5vdCBoYW5kbGVkIGJ5IENvbW1hbmRIYW5kbGVyIixPYmplY3Qua2V5cyhhKSxjKSxfLkdwKGEpKX0pfTtrb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlBFKGpvYSk7cmV0dXJuIGEhPT12b2lkIDA/YTpfLlJFPD0yOTl9O3hYPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSxiPT5gb24ke2IudG9Mb3dlckNhc2UoKX1gaW4gYSl9Owpsb2E9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4gXy52YihbImZ1bGxzY3JlZW5lcnJvciIsIndlYmtpdGZ1bGxzY3JlZW5lcnJvciIsIm1vemZ1bGxzY3JlZW5lcnJvciIsIk1TRnVsbHNjcmVlbkVycm9yIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTt5WD1mdW5jdGlvbihhLGIsYyl7Xy5yaWE8Xy5zaigid2ViX3NsaV9sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwuMDAxKSYmXy5JcChuZXcgXy5YaihgW1NMSV0gIiR7YX0iIGVycm9yYCx7c2xpTmFtZTphLGRpbWVuc2lvbnM6YixkZXRhaWxzOmN9KSl9Owpub2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Y3x8Xy5JcChuZXcgXy5YaigiRnVsbHNjcmVlbiBjaGFuZ2Ugc2xpIGNhbGxlZCBiZWZvcmUgc3RhcnQuIikpfXZhciBiPXpYLGM9ITEsZD17anc6bW9hfS5qdygiZnVsbHNjcmVlbl9yZXF1ZXN0IiksZT1sb2EoKXx8ImZ1bGxzY3JlZW5lcnJvciI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxmPT57YSgpO2QuemcoIkZBSUxVUkUiKTt5WCgiZnVsbHNjcmVlbiByZXF1ZXN0IixiKCkse2V2ZW50OmZ9KTtjPSExfSk7ZT14WCgpfHwiZnVsbHNjcmVlbmNoYW5nZSI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSwoKT0+e2EoKTtkLnpnKCJTVUNDRVNTIik7Yz0hMX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVucmVxdWVzdCIsKCk9PntjPSEwO2QuRHIoYigpKX0pfTsKb29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZmFsbGJhY2tFbmRwb2ludCxjPWEudGltZW91dE1zO2lmKCFfLngoIm13ZWJfYzNfbml0cmF0ZV9jbGllbnRfb3Blbl9hcHBfZmFsbGJhY2tfa3MiKSYmYS51cmwpe3ZhciBkPV8uWmIoYS51cmwsImZlYXR1cmUiKXx8IiI7ZD1kLnN0YXJ0c1dpdGgoImUxNW1fIil8fGQuc3RhcnRzV2l0aCgiZTFkXyIpfHxkLnN0YXJ0c1dpdGgoImUzZF8iKTtfLmZyJiZkJiYhYiYmKGE9YS51cmwsYS5zdGFydHNXaXRoKCJ2bmQueW91dHViZTovLyIpP2E9YS5yZXBsYWNlKCJ2bmQueW91dHViZTovLyIsImh0dHBzOi8vIik6YS5zdGFydHNXaXRoKCJ5b3V0dWJlOi8vIikmJihhPWEucmVwbGFjZSgieW91dHViZTovLyIsImh0dHBzOi8vIikpLF8uWGIoYSwwLCJyZWRpcmVjdF9hcHBfc3RvcmVfaW9zIixhLnNlYXJjaChfLlliKSk+PTB8fChhPV8uRk8oYSwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsIjEiKSksYj1fLndOKGEpLCFjfHxjPD0wKSYmKGM9Xy5zaigibXdlYl9kZWVwX2xpbmtfZmFsbGJhY2tfdGltZW91dF9tcyIsCjNFMykpfXJldHVybntmYWxsYmFja0VuZHBvaW50OmIsdGltZW91dE1zOmN9fTtwb2E9ZnVuY3Rpb24oYSxiKXtfLngoIm13ZWJfYXBwX2J1dHRvbl9sb2dfa3MiKXx8dFgoXy50aWEpO2IuZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO2E9Xy5CKGEsXy5xaWEpO2E/LnVybCYmKHdpbmRvdy5sb2NhdGlvbj1hLnVybCk7dmFyIHtmYWxsYmFja0VuZHBvaW50OmMsdGltZW91dE1zOmR9PWE/b29hKGEpOntmYWxsYmFja0VuZHBvaW50OnZvaWQgMCx0aW1lb3V0TXM6dm9pZCAwfTtBWD09PXZvaWQgMCYmZCYmZD4wJiYoQVg9c2V0VGltZW91dCgoKT0+e0FYPXZvaWQgMDtjJiZfLkFKKGMsYi5zb3VyY2VEYXRhLCEwKX0sZCksXy5OTSh3aW5kb3csInZpc2liaWxpdHljaGFuZ2UiLCgpPT57QVgmJih3aW5kb3cuY2xlYXJUaW1lb3V0KEFYKSxBWD12b2lkIDApfSkpfTsKcW9hPWZ1bmN0aW9uKGEpe3ZhciBiPXhYKCk7YiYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYiwoKT0+e3ZhciBjPSEhXy5aTygpO2N8fF8uTU8oIi55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyIC5mdWxsc2NyZWVuLWljb24gLmJ1dHRvbiIpO2Euc2V0RmF1eEZ1bGxzY3JlZW4oYyl9KX07Qlg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2dvb2dsZS1mZWVkYmFjayIpO2ImJihfLkJOKGIsYSksYSYmXy5NTygoKT0+Yi5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKT8uY29udGVudERvY3VtZW50Py5xdWVyeVNlbGVjdG9yKCIudXZGZWVkYmFja0Zvcm1mb3JtLWluaXRpYWwtZm9jdXMtZWxlbWVudCwgLnV2RmVlZGJhY2tSc2FkaWFsb2dkaWFsb2cgLnNjU2hhcmVkTWF0ZXJpYWxidXR0b25yb290IiksNSx7cmw6ITB9KSl9Owpyb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlhELnJlc3BvbnNlPy5yZXNwb25zZT8ucmVzcG9uc2VDb250ZXh0Py5zZXJ2aWNlVHJhY2tpbmdQYXJhbXM/LmZpbHRlcihjPT5jLnNlcnZpY2U9PT0iR0ZFRURCQUNLIilbMF0ucGFyYW1zPy5maWx0ZXIoYz0+Yy5rZXk9PT0iZSIpWzBdLGI9bmV3IFNldChfLncoIkZFWFBfRVhQRVJJTUVOVFMiLFtdKSk7KGE/LnZhbHVlPy5zcGxpdCgiLCIpfHxbXSkuZm9yRWFjaChjPT57Yi5hZGQoTnVtYmVyKGMpKX0pO3JldHVybiBBcnJheS5mcm9tKGIpLmpvaW4oIiwiKX07CnNvYT1mdW5jdGlvbigpe3JldHVybiBfLldEKCgpPT57dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdLGI9Xy5YRC5yZXNwb25zZT8ucGxheWVyUmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdO3JldHVybiBhP2EudmFsdWU6Yj9iLnZhbHVlOm51bGx9KX07CkNYPWZ1bmN0aW9uKGEpeyhuZXcgXy5meShhLm9sZFVSTCkpLnY9PT0iI2ZlZWRiYWNrIiYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2ZlZWRiYWNrIiYmKEJYKCExKSwoYT13aW5kb3cuR09PR0xFX0ZFRURCQUNLX0RFU1RST1lfRlVOQ1RJT04pJiZhKCkpfTt0b2E9ZnVuY3Rpb24oKXtfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmVlZGJhY2siJiYoXy5ZTT9fLiRNKCIiKTpfLlpNKCkpO3JldHVybiBfLkZKfSl9O3VvYT1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixDWCk7dG9hKCk7QlgoITEpO18uRXAoInVzZXJGZWVkYmFja0V2ZW50Iix7fSl9O3ZvYT1mdW5jdGlvbigpe3JldHVybntwcm9kdWN0SWQ6Ijc3NTIyIixsb2NhbGU6Xy53KCJIVE1MX0xBTkciLCJlbiIpLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazohMCxidWNrZXQ6IkMzIixjYWxsYmFjazp1b2Esb25Mb2FkQ2FsbGJhY2s6KCk9PntCWCghMCl9fX07CndvYT1mdW5jdGlvbihhKXt2YXIgYj12b2EoKSxjPXtjbGllbnRBcHBWZXJzaW9uOl8udygiQ0xJRU5UX0FQUF9WRVJTSU9OIiwiIiksZXhwZXJpbWVudHM6cm9hKCksbG9nZ2VkX2luOl8udFAoKSxEZXZpY2U6Xy5iYygpLHByZW1pdW1fbWVtYmVyc2hpcDpzb2EoKX07Xy5WTSgpfHxfLldNKCk7YSYmYS5mb3JFYWNoKGQ9PnsoZD1kLnVzZXJGZWVkYmFja0VuZHBvaW50UHJvZHVjdFNwZWNpZmljVmFsdWVEYXRhKSYmZC5rZXkmJihjW2Qua2V5XT1kLnZhbHVlKX0pO18uVU4oKS50aGVuKCgpPT57Xy4kTSgiZmVlZGJhY2siKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO18uWU8oYixjKX0pfTt4b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2IuYWJvcnQoYSk7cmV0dXJuIGIuc2lnbmFsfTsKeW9hPWZ1bmN0aW9uKCl7aWYodGhpcy5hYm9ydGVkKXRocm93IHRoaXMucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJzaWduYWwgaXMgYWJvcnRlZCB3aXRob3V0IHJlYXNvbiIsIkFib3J0RXJyb3IiKTt9O3pvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7Zm9yKGxldCBjIG9mIGEpaWYoYy5hYm9ydGVkKXtiLmFib3J0KGMucmVhc29uKTticmVha31lbHNlIEVYLnNldChiLnNpZ25hbCxiKSxGWC5hZGQoYyxiLnNpZ25hbCk7cmV0dXJuIGIuc2lnbmFsfTtBb2E9ZnVuY3Rpb24oKXtmb3IobGV0IGEgb2YgRlguZ2V0KHRoaXMpKUVYLmdldChhKS5hYm9ydCh0aGlzLnJlYXNvbil9O0JvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7c2V0VGltZW91dCgoKT0+e2IuYWJvcnQobmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIHRpbWVkIG91dCIsIlRpbWVvdXRFcnJvciIpKX0sYSk7cmV0dXJuIGIuc2lnbmFsfTsKQ29hPWZ1bmN0aW9uKCl7dmFyIGE9W10sYjt2YXIgYz1jfHxHWC5sZW5ndGg7Zm9yKGI9MDtiPDg7YisrKWFbYl09R1hbMHxNYXRoLnJhbmRvbSgpKmNdO3JldHVybiBhLmpvaW4oIiIpfTtIWD1mdW5jdGlvbihhKXtmb3IobGV0IFssYl1vZiBPYmplY3QuZW50cmllcyhEb2EpKXtsZXQgYz1iO2lmKGM9PT0iU0xJX1NUQVRVU18iK2EpcmV0dXJuIGN9cmV0dXJuIlNMSV9TVEFUVVNfVU5LTk9XTiJ9O0lYPWZ1bmN0aW9uKGEsYixjKXtiPUhYKGIpO1pXKHtkaW1lbnNpb25zOmMscmVjb3Jkczpbe25hbWU6YSxzdGF0ZToiU0xJX1NUQVRFX0VORCIsc3RhdHVzOmJ9XX0pfTtGb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEJuYShhLCgpPT5uZXcgRW9hKGEpKX07bW9hPWZ1bmN0aW9uKGEpe3JldHVybiBGb2EoYSl9O0tYPWZ1bmN0aW9uKGEsYil7SlgoYSxgJHtifSB3YXMgY2FsbGVkIGJ1dCBub3Qgc2V0YCl9O0hvYT1mdW5jdGlvbihhKXtyZXR1cm4gR29hLmluZGV4T2YoYSk+LTF9OwpKWD1mdW5jdGlvbihhLGIsYyl7Yz1jIT09dm9pZCAwP09iamVjdC5rZXlzKGEpLmZpbHRlcihjKTpPYmplY3Qua2V5cyhhKTthPW5ldyBfLlhqKGBbQ29tbWFuZCBIYW5kbGVyXSAke2J9YCx7ZmlsdGVyZWRDb21tYW5kTmFtZXM6YyxvcmlnaW5hbENvbW1hbmQ6YX0pO18uR3AoYSl9O0lvYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uTkopO2lmKGMmJihjPWJbYy5zaWduYWxdKSlyZXR1cm4gYygpO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSlpZihiW2RdJiYoYT1iW2RdKSlyZXR1cm4gYSgpfTtKb2E9ZnVuY3Rpb24oYSxiLGM9ITEsZD0hMSxlPVtdKXtMWC5pbnN0YW5jZT1uZXcgTFgoYSxiLGMsZCxlKX07CktvYT1mdW5jdGlvbihhKXtpZighYS5EJiZfLndDKCJjb21tYW5kIikpe2xldCBiPWEucmVzb2x2ZUNvbW1hbmQ7YS5yZXNvbHZlQ29tbWFuZD1mdW5jdGlvbihjLGQpe2E6e2ZvcihlIGluIGMpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZSkpe3ZhciBlPXtjb21tYW5kVHlwZTplfTticmVhayBhfWU9e319cmV0dXJuIF8ueUMoImNvbW1hbmQiLGUsYi5iaW5kKHRoaXMsYyxkKSl9O2EuRD0hMH19OwpNWD1mdW5jdGlvbihhLGIsYyl7IWM/Lm1kJiZhLmomJihiLmNsaWNrVHJhY2tpbmdQYXJhbXM/KGM9Yz8uZm9ybT8uZWxlbWVudCxhLmouY2xpY2tDb21tYW5kKGIsbnVsbCxjJiZjLmdldFNjcmVlbkxheWVyJiZjLmdldFNjcmVlbkxheWVyKCkpKTpiLmNsaWNrVHJhY2tpbmdQYXJhbXM/YS5qLmNsaWNrQ29tbWFuZChiKTohXy54KCJkaXNhYmxlX2NsaWNrZWRfdmlzdWFsX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIikmJmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50JiZfLndKKGEuaixjLmNsaWNrZWRWaXN1YWxFbGVtZW50KSl9OwpMb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLkIpcmV0dXJue2hhbmRsZWQ6ITF9O3ZhciBkPUlvYShiLGEuQik7cmV0dXJuIGQ/KChhLksuc29tZShlPT4hIV8uQihiLGUpKXx8Yz8uUHB8fCFhLkkpJiZNWChhLGIsYykse2hhbmRsZWQ6ITAsWms6KGFzeW5jKCk9Pnthd2FpdCAoZCBpbnN0YW5jZW9mIFByb21pc2U/YXdhaXQgZDpkKS5yZXNvbHZlKGIsYyl9KSgpfSk6e2hhbmRsZWQ6ITF9fTsKTlg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU1vYShiKTtpZighYz8uVEspe2xldCBmPUxvYShhLGIsYyk7aWYoZi5oYW5kbGVkKXJldHVybiBmfWlmKGQpcmV0dXJuIE5vYShhLGIsYyk7aWYoIWEudilyZXR1cm4gSlgoYiwiVW5oYW5kbGVkIGNvbW1hbmQgYnkgYnVpbGRDb21tYW5kUGF5bG9hZCIpLHtoYW5kbGVkOiExfTt2YXIgZT1hLnYoYixjKTtjPy5FaSYmKGUuRWk9Yy5FaSk7aWYoZS50eXBlPT09MCl7aWYoIWEubmF2aWdhdGUpcmV0dXJuIEtYKGIsIm5hdmlnYXRlIikse2hhbmRsZWQ6ITF9O2lmKCFfLkIoZS5jb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybClyZXR1cm4gSlgoYiwiUGFnZSByZXF1ZXN0cyBuZWVkIHRvIHNwZWNpZnkgYSB1cmwiKSx7aGFuZGxlZDohMX07aWYoT29hKGEsZS5jb21tYW5kKSlyZXR1cm57aGFuZGxlZDohMX07Xy54KCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIikmJl8uaW8oKS50cmFuc2l0aW9uKCJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIik7CmI9YS5uYXZpZ2F0ZShlKXx8W107ZD1Qcm9taXNlLnJlc29sdmUoR25hKGIpLnRoZW4oKCk9PnthLm8uZGVsZXRlKGUuY29tbWFuZCl9KSk7YS5qJiYhYS5ZJiZBbmEoYS5qLGUuY29tbWFuZCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yz8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsZmw6YixsYXllcjplLmxheWVyLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOjR9KTtyZXR1cm57aGFuZGxlZDohMCxaazpkfX1pZihlLnR5cGU9PT0xKXJldHVybiBLWChiLCJoYW5kbGVTZXJ2aWNlUmVxdWVzdCIpLHtoYW5kbGVkOiExfTtlLnR5cGU9PT0yJiZLWChiLCJzZW5kQWN0aW9uIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtNb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIjtyZXR1cm4hIV8uQihhLF8uU0QpfHxifTsKTm9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPV8uQihiLF8uU0QpO2U/ZD1lPy5jb21tYW5kc3x8W106Xy5CKGIsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIiYmKGQ9Xy5CKGIsXy56eik/LmFjdGlvbnN8fFtdKTtpZihkKXsoZT1Qb2EoYSxkKSkmJk1YKGEsYixjKTtiPVtdO2ZvcihsZXQgZiBvZiBkKXRyeXtkPXsuLi5jfTtlJiYoZC5tZD0hMCk7bGV0IGg9TlgoYSxmLGQpO2guaGFuZGxlZCYmYi5wdXNoKGguWmspfWNhdGNoKGgpe2ggaW5zdGFuY2VvZiBFcnJvciYmXy5HcChoKX1yZXR1cm57aGFuZGxlZDohMCxaazpQcm9taXNlLmFsbFNldHRsZWQoYikudGhlbigoKT0+e30pfX1KWChiLCJDb3VsZCBub3QgaGFuZGxlIHRoZSBtZXRhIGNvbW1hbmQiKTtyZXR1cm57aGFuZGxlZDohMX19O09vYT1mdW5jdGlvbihhLGIpe2lmKGEuby5oYXMoYikpcmV0dXJuITA7YS5vLmFkZChiKTtyZXR1cm4hMX07ClBvYT1mdW5jdGlvbihhLGIpe3JldHVybiBiLmV2ZXJ5KGM9PmEuTS5zb21lKGQ9PiEhXy5CKGMsZCkpKX07UW9hPWZ1bmN0aW9uKGEsYil7YT1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYS5sZW5ndGgpcmV0dXJuIGE/LmZpbmQoYz0+Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldElkKCk9PT1iKX07Um9hPWZ1bmN0aW9uKGEsYixjKXthPV8uJE8oYSk7aWYoYS5sZW5ndGgpcmV0dXJuIGM/YS5maW5kKGQ9PmQudHJhbnNsYXRpb25MYW5ndWFnZT9kLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VDb2RlPT09YjohMSk6YT8uZmluZChkPT5kLmxhbmd1YWdlQ29kZT09PWIpfTsKU29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKTtpZihiPy5sZW5ndGgpe3ZhciBjPWEuZ2V0QXVkaW9UcmFjaygpO2E9e2xpc3RJdGVtczpbLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXROYW1lKCl9LGlzU2VsZWN0ZWQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3thdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKX19XX19fX19fX0pKV0sCnZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVESU9fVFJBQ0siLHZvaWQgMCwiQXVkaW8gVHJhY2siKX19fSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTtPWD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pfTtUb2E9ZnVuY3Rpb24oYSl7dmFyIGI9T1goYSk7aWYoYj8ubGVuZ3RoKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gT1goYSl9OwpQWD1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpO2lmKGIpcmV0dXJuIGI7YS5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpO3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtRWD1mdW5jdGlvbihhLGIpe3JldHVybntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQShhLHZvaWQgMCxiKX19fX07ClZvYT1mdW5jdGlvbihhKXt2YXIgYj1Ub2EoYSk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6W3tsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiUExBWUVSX0NBUFRJT05fT0ZGIix2b2lkIDAsIk9mZiIpfSxpc1NlbGVjdGVkOiFjPy5sYW5ndWFnZUNvZGUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOiIifX0se2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0sLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5kaXNwbGF5TmFtZX0saXNTZWxlY3RlZDpkLmRpc3BsYXlOYW1lPT09CmM/LmRpc3BsYXlOYW1lLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmxhbmd1YWdlQ29kZX19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19KSkse2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpfLmFBKCJBVVRPX1RSQU5TTEFURSIsdm9pZCAwLCJBdXRvLXRyYW5zbGF0ZSIpfSxpc1NlbGVjdGVkOiEhYy50cmFuc2xhdGlvbkxhbmd1YWdlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLC4uLighIWMudHJhbnNsYXRpb25MYW5ndWFnZSYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yz8udHJhbnNsYXRpb25MYW5ndWFnZT8ubGFuZ3VhZ2VOYW1lfHwKIiJ9fSkscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOltVb2EoYSldfX19fX19fV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIlBMQVlFUl9DQVBUSU9OIiwiQ2FwdGlvbnMiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTsKVW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uYVAoYSk7aWYoIWI/Lmxlbmd0aCl0aHJvdyBFcnJvcigiYmUiKTt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6Wy4uLmIuZmlsdGVyKGQ9PiFkLmxhbmd1YWdlQ29kZT8uc3RhcnRzV2l0aCgiZW4iKSkubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQubGFuZ3VhZ2VOYW1lfHwiIn0saXNTZWxlY3RlZDpkLmxhbmd1YWdlTmFtZT09PWM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGUsaXNBdXRvVHJhbnNsYXRlZDohMH19LAp7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpXSx2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjpRWCgiQVVUT19UUkFOU0xBVEUiLCJBdXRvLXRyYW5zbGF0ZSIpLGNvbnRlbnQ6e2xpc3RWaWV3TW9kZWw6YX19fX19fX07V29hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVncoKTtpZihiKXt2YXIgYz17d2ViQ2xpZW50Q29tcG9uZW50c0RhdGE6e2NvbXBvbmVudHM6QXJyYXkuZnJvbShhLmlkcyxkPT4oe2lkOmR9KSl9fTthLmlkcy5jbGVhcigpO18uaHgoKS52aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKGIsYyl9fTsKWG9hPWZ1bmN0aW9uKGEpe3ZhciBiPXpYO2EuYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYz0+e2lmKGEpe3ZhciBkPWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZCE9PVJYJiZjPT09MSYmKFJYPWQsU1gubyhiKCkpLFRYLm8oYigpKSl9fSk7YS5hZGRFdmVudExpc3RlbmVyKCJvbkVycm9yIixjPT57U1guaihiKCkpO3lYKCJwbGF5ZXIgZXJyb3IiLGIoKSx7ZXJyb3JDb2RlOmN9KX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5YmFjay11bnBsYXlhYmxlIixjPT57VFguaihiKCkpO3lYKCJwbGF5ZXIgdW5wbGF5YWJsZSIsYigpLHtyZWFzb246Yy5kZXRhaWw/LnJlYXNvbn0pfSl9O1lvYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWEuai5nZXQoYik7aWYoYylyZXR1cm4gYy5wcm9taXNlO2M9bmV3IF8uY3M7YS5qLnNldChiLGMpO3JldHVybiBjLnByb21pc2V9Owpab2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9tLmdldChiKTtyZXR1cm4gYz9jOllvYShhLGIpfTskb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLnBhbmVsTG9hZGluZ1N0cmF0ZWd5Py5yZXF1ZXN0VGVtcGxhdGUpdHJ5e2xldCBjPWF3YWl0IGEuby5RaShiKTtpZihjKXJldHVybiBjLmNvbnRlbnQ7Xy5HcChFcnJvcigiY2UiKSl9Y2F0Y2goYyl7Xy5HcChjKX19O1ZYPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFVYKGEpPy5vdyhiKT8/Yn07VVg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWk8oKSYmYS5NP2EuTTphLmNvbnRhaW5lcn07V1g9ZnVuY3Rpb24oYSl7YS5ZJiYoY2xlYXJUaW1lb3V0KGEuWSksYS5ZPXZvaWQgMCk7YS5CJiYoY2xlYXJUaW1lb3V0KGEuQiksYS5CPXZvaWQgMCl9OwokWD1hc3luYyBmdW5jdGlvbihhLGIsYyxkPWMpe3ZhciBlPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZj1fLlp0LGg9YXdhaXQgYS5kbSgpO18uVnooZSxfLnZNKGYpKTtpZihoKWlmKGEubyl7aWYoYS5jdXJyZW50VGFyZ2V0PT09YylyZXR1cm47WFgoYSk7WVgoYSk7YXdhaXQgVVgoYSk/LkplKCl9ZWxzZSBpZighXy54KCJkZWxheV9zaGVldF9vcGVuX2tpbGxzd2l0Y2giKSl7aWYoXy54KCJ3ZWJfY2xvc2Vfc2hlZXRfaWZfc2FtZV90YXJnZXRfa2lsbHN3aXRjaCIpJiZjJiZhLmN1cnJlbnRUYXJnZXQ9PT1jKXtVWChhKT8uSmUoKTtyZXR1cm59YS52PXtkYXRhOmIsdGFyZ2V0OlZYKGEsYyl9O3JldHVybn1iLnZpZXdNb2RlbCYmKGI9e3ZpZXdNb2RlbDpiLnZpZXdNb2RlbCxVcjpiLlVyLGV4cGFuZFRvRnVsbFdpZHRoOmIuZXhwYW5kVG9GdWxsV2lkdGgsb3BlblRvU2lkZTpiLm9wZW5Ub1NpZGV9KTtVWChhKT8ud2coYixjLGQpO2EuY3VycmVudFRhcmdldD0KYzthLm8/KGEuSSgpLGEuY3VycmVudFRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWiksWlgoYSkpOmEuRCYmWlgoYSl9Y2F0Y2goZil7ZS5lcnJvcj1mLGUuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGUpfX07WFg9ZnVuY3Rpb24oYSl7YS5jdXJyZW50VGFyZ2V0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixhLkkpO2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5aKX07WVg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTsKWlg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTthWT1hc3luYyBmdW5jdGlvbihhKXtpZihhLm8pe2lmKGEuailyZXR1cm47WFgoYSk7WVgoYSl9ZWxzZSBhLkQmJihZWChhKSxhLksoKSk7YXdhaXQgVVgoYSk/LkplKCk7YS5jdXJyZW50VGFyZ2V0PXZvaWQgMDthLmo9ITE7YS5vPSExO2EuaGlkZURlbGF5TXM9MDthLnNob3dEZWxheU1zPTA7YS5EPSExO2EudiYmIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikmJihhd2FpdCBhLndnKGEudi5kYXRhLGEudi50YXJnZXQpLGEudj12b2lkIDApfTsKYXBhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MDtyZXR1cm57Y2xlYXI6ZnVuY3Rpb24oKXtjPWIubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oZCl7YltjXT1kO2M9KGMrMSklYX0sWng6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Yi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxkO2UrKyl5aWVsZCBiWyhjK2UpJWRdfSgpfX19O2JwYT1mdW5jdGlvbihhKXthLnlsfHwoYS55bD1bXSk7dmFyIGI9YS55bC5tYXAoXy5QVyksYz1uZXcgU2V0KGIpLGQ9YXBhKGEuYnVmZmVyU2l6ZSk7cmV0dXJue2ZsdXNoOmZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkuZnJvbShkLlp4KCkpO2QuY2xlYXIoKTtlPWUubWFwKGY9Pih7bmFtZTpmLm5hbWUsdGltZXN0YW1wOmYuc3RhcnRUaW1lLGF0dHJpYnV0ZXM6Zi5hdHRyaWJ1dGVzfSkpO3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0sR20oZSl7ZS5uYW1lPT09ImV2ZW50IiYmYy5oYXMoZS5hdHRyaWJ1dGVzLnR5cGUpfHxkLnB1c2goZSl9fX07CmNwYT1mdW5jdGlvbihhKXt2YXIge2ZsdXNoOmIsR206Y309YnBhKGEpO3NYKHtHbTpjfSk7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixkPT57dHJ5e2QucGFyYW1zLmJyZWFkY3J1bWJzPWIoKX1jYXRjaChlKXtfLkdwKGUsIldBUk5JTkciKX19KX07Ylk9ZnVuY3Rpb24oKXtfLlN6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iKTtfLlR6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iLHt9LHZvaWQgMCwiTEFURU5DWV9BQ1RJT05fV0VCX1RSQUNJTkciKX07ZVk9ZnVuY3Rpb24oKXtpZihjWSlyZXR1cm4id2ViX3RyYWNpbmdfYWN0aW9uIjtkWSgpO3NldEludGVydmFsKGRZLDZFNSk7Y1k9ITA7cmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiJ9O2RZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9OwpkcGE9ZnVuY3Rpb24oYSxiPWVZKCksYyl7cmV0dXJuKDAsXy5jdCkoYS5uYW1lLChhLmVuZFRpbWU/P2Euc3RhcnRUaW1lKS1hLnN0YXJ0VGltZSxhLnN0YXJ0VGltZSx7d2ViVHJhY2luZzp7W2EubmFtZV06YS5hdHRyaWJ1dGVzfX0sYyxiLHtzcGFuU3RhdHVzOmEuc3RhdHVzLHJvb3RTcGFuTm9uY2U6dm9pZCAwLHF1OnZvaWQgMH0pfTtmWT1mdW5jdGlvbihhLGIsYyxkKXtjPWRwYShhLGIsYyk7aWYoYS5jaGlsZHJlbilmb3IobGV0IGUgb2YgYS5jaGlsZHJlbilmWShlLGIsYyxkfHxjKX07CmVwYT1mdW5jdGlvbihhKXt2YXIgYj1nb2EuYmluZChudWxsLCJ5dC50ZWxlbWV0cnlfZXh0ZW5zaW9uIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGM9PntjLmRhdGEmJnR5cGVvZiBjLmRhdGE9PT0ib2JqZWN0IiYmKGM9Yy5kYXRhLGMuZnJvbT09PSJleHRlbnNpb24iJiZjLmFwcD09PSJ5dC50ZWxlbWV0cnkiJiYoYigiUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIGV4dGVuc2lvbiIsYyksYS5vbk1lc3NhZ2UoYykpKX0pO3JldHVybiBmdW5jdGlvbihjLGQpe2M9e2FwcDoieXQudGVsZW1ldHJ5Iixmcm9tOiJhcHAiLGtleTpjLHBheWxvYWQ6ZH07YigiU2VuZGluZyBtZXNzYWdlIHRvIGV4dGVuc2lvbiIsYyk7d2luZG93LnBvc3RNZXNzYWdlKGMsIioiKX19OwpmcGE9ZnVuY3Rpb24oKXt2YXIgYT1lcGEoe29uTWVzc2FnZSgpe319KSxiPVtdO3JldHVybntscihjKXtjLnBhcmVudElkPT1udWxsJiZiLnB1c2goYyk9PT0xJiZzZXRUaW1lb3V0KCgpPT57dmFyIGQ9Wy4uLmJdO2IubGVuZ3RoPTA7YSgic3BhbnNSZXBvcnRlZCIse3NwYW5zOmR9KX0sM0UzKX19fTtncGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuZmV0Y2g7d2luZG93LmZldGNoPSguLi5iKT0+e3ZhciBbYyxkPXt9XT1iLGU9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQubWV0aG9kfHwiR0VUIixwYXRoOmdZKGMpLHR5cGU6ImZldGNoIn0se2FjdGl2ZTohMX0pO3JldHVybiBhKC4uLmIpLnRoZW4oZj0+e2UuRGUoe3N0YXR1c0NvZGU6Zi5zdGF0dXMsc3RhdHVzVGV4dDpmLnN0YXR1c1RleHR9KTtlLmVuZCgpO3JldHVybiBmfSkuY2F0Y2goZj0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGY7fSl9fTsKaHBhPWZ1bmN0aW9uKCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW4sYj1YTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZDtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihjLGQsZT0hMCxmLGgpe3RoaXMudj17bWV0aG9kOmMsdXJsOmQudG9TdHJpbmcoKX07dGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxyZXNwb25zZUNvbnRlbnRMZW5ndGg6dGhpcy5yZXNwb25zZVRleHQubGVuZ3RofSk7az8uZW5kKCl9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dH0pO2s/LmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKX0pO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGs9dGhpcy5qO2s/LkRlKHtzdGF0dXNDb2RlOnRoaXMuc3RhdHVzLAphYm9ydGVkOiEwfSk7az8uZW5kKCl9KTthLmFwcGx5KHRoaXMsW2MsZCxlLGYsaF0pfTtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihjKXt2YXIge21ldGhvZDpkLHVybDplfT10aGlzLnZ8fHttZXRob2Q6Ik4vQSIsdXJsOiJOL0EifTt0aGlzLmo9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQscGF0aDpnWShlKSx0eXBlOiJ4aHIifSx7YWN0aXZlOiExfSk7Yi5hcHBseSh0aGlzLFtjXSl9fTtnWT1mdW5jdGlvbihhKXt0cnl7aWYoYSBpbnN0YW5jZW9mIFVSTClyZXR1cm4gYS5wYXRobmFtZTthIGluc3RhbmNlb2YgUmVxdWVzdCYmKGE9YS51cmwpO3JldHVybihuZXcgVVJMKGEsImh0dHBzOi8veW91dHViZS5jb20iKSkucGF0aG5hbWV9Y2F0Y2goYil7cmV0dXJuIjx1bmFibGUgdG8gcGFyc2UgcGF0aD4ifX07CmpwYT1mdW5jdGlvbigpe3dpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3RyeXtsZXQgYT13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2lmKGEubGVuZ3RoPjApe2xldCBiPWFbMF0sYz13aW5kb3cucGVyZm9ybWFuY2UudGltZU9yaWdpbjtfLnlDKCJwYWdlTG9hZCIse25hdmlnYXRpb25UeXBlOmlwYShiLnR5cGUpLHVubG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLnVubG9hZEV2ZW50U3RhcnQpLHVubG9hZEV2ZW50RW5kOk1hdGgucm91bmQoYi51bmxvYWRFdmVudEVuZCksZG9tSW50ZXJhY3RpdmU6TWF0aC5yb3VuZChiLmRvbUludGVyYWN0aXZlKSxkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQpLGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKSwKZG9tQ29tcGxldGU6TWF0aC5yb3VuZChiLmRvbUNvbXBsZXRlKSxsb2FkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50U3RhcnQpLGxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50RW5kKSxyZWRpcmVjdENvdW50OmIucmVkaXJlY3RDb3VudH0se2FjdGl2ZTohMSxzdGFydFRpbWU6YytiLnN0YXJ0VGltZSxlbmRUaW1lOmMrYi5sb2FkRXZlbnRFbmR9KX19Y2F0Y2goYSl7fX0pfTsKaXBhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJuYXZpZ2F0ZSI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfTkFWSUdBVEUiO2Nhc2UgInJlbG9hZCI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUkVMT0FEIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX0JBQ0tfRk9SV0FSRCI7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9QUkVSRU5ERVIiO2RlZmF1bHQ6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfVU5LTk9XTiJ9fTsKbHBhPWZ1bmN0aW9uKCl7SW5hKChhLGIpPT57dmFyIGM9bmV3IE1hcCxkLGU9ZVkoKTtmb3IobGV0IGggb2YgYS5zcGFucyl7aWYoaC5tYXJrZXIpY29udGludWU7dmFyIGY9Yi5nZXQoaC5pZCk/LmdldChfLk92KTtsZXQgaz1mP2twYVtmLnR5cGVdOnZvaWQgMDtpZighZnx8aC5kdXJhdGlvbk1zPT09dm9pZCAwfHxrPT09dm9pZCAwKXtoLnBhcmVudElkIT09dm9pZCAwJiYoZj1jLmdldChoLnBhcmVudElkKSxmIT09dm9pZCAwJiZjLnNldChoLmlkLGYpKTtjb250aW51ZX1sZXQgbD1hLm5LK2gueUssbT1oLnBhcmVudElkIT09dm9pZCAwP2MuZ2V0KGgucGFyZW50SWQpOnZvaWQgMCxuLHA7c3dpdGNoKGYudHlwZSl7Y2FzZSAiUmVuZGVyIjpjYXNlICJFZmZlY3QiOmNhc2UgIk9uSW5pdCI6Y2FzZSAiUmVuZGVyRWZmZWN0IjpwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQiOm49Zi5jb21wb25lbnROYW1lO2JyZWFrO2Nhc2UgIkNvbXB1dGVkIjpuPQpmLmhJO3A9Zi5sb2NhdGlvbjticmVhaztjYXNlICJTaWduYWxVcGRhdGUiOm49Zi5TS31pZihmPSgwLF8uY3QpKCJjb3dfc3BhbiIsaC5kdXJhdGlvbk1zLGwse3dlYlRyYWNpbmc6e2Nvd1NwYW46e3R5cGU6ayxuYW1lOm4sY29kZUxvY2F0aW9uOnB9fX0sbSxlLHtyb290U3Bhbk5vbmNlOmR9KSljLnNldChoLmlkLGYpLGQ9PT12b2lkIDAmJihkPWYpfX0pfTsKcHBhPWZ1bmN0aW9uKCl7dmFyIGE9aFkudmFsdWUsYj17fTtmb3IobGV0IGMgb2YgYS5IdiliW2NdPSEwO2VvYSh7c2Vzc2lvbklkOl8uRm4oKSxkaDpiLFdoKGMsZCxlKXtyZXR1cm4gbXBhP2M9PT0ic2hvcnRUb1Nob3J0Inx8ZT8uV3ooKT8ubmFtZT09PSJzaG9ydFRvU2hvcnQiOiEwfX0pO2ZvYSgpO18ud0MoInBhZ2VMb2FkIikmJmpwYSgpO18ud0MoImNvd1NwYW4iKSYmbHBhKCk7Xy53QygiaHR0cEV2ZW50IikmJihncGEoKSxocGEoKSk7YS5RdiYmc1gobnBhKTthLlJ2JiZzWChmcGEoKSk7YS5NcT4wJiZjcGEoe3lsOm9wYSxidWZmZXJTaXplOmEuTXF9KX07CmpZPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMHx8YS5nZXRBdHRyaWJ1dGUoInZpZXdCb3giKXx8YS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGAwIDAgJHtifSAke2J9YCk7YS5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO2I9Xy54KCJraWxsc3dpdGNoX3JlbW92ZV9pY29uX2ZpbGxfY29sb3IiKTthLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRjb2xvciImJmEuZ2V0QXR0cmlidXRlKCJmaWxsIikhPT0iY3VycmVudENvbG9yInx8Ynx8YS5yZW1vdmVBdHRyaWJ1dGUoImZpbGwiKTt0cnl7YS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixhLnN0eWxlLmRpc3BsYXk9ImluaGVyaXQiLGEuc3R5bGUud2lkdGg9IjEwMCUiLGEuc3R5bGUuaGVpZ2h0PSIxMDAlIn1jYXRjaChjKXtpWSh7ZXJyb3I6Yz8udG9TdHJpbmc/Yy50b1N0cmluZygpOiIifSk7dHJ5e2Euc3R5bGUuY3NzVGV4dD0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGluaGVyaXQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7In1jYXRjaChkKXtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/CmQudG9TdHJpbmcoKToiIn0pfX1yZXR1cm4gYX07CnFwYT1mdW5jdGlvbihhKXtpZihfLngoIndpbF9pY29uc19jYWNoZV9wdXJnZV9raWxsc3dpdGNoIikpcmV0dXJuITE7dHJ5e3ZhciBiPV8udS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9aWYoIWJ8fCFhLkIpcmV0dXJuITE7dmFyIGM9ZT0+e3RyeXtiPy5zZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIsZS50b1N0cmluZygpKX1jYXRjaChmKXtpWSh7ZXJyb3I6Zj8udG9TdHJpbmc/Zi50b1N0cmluZygpOiIifSl9fSxkPU51bWJlcihiLmdldEl0ZW0oInl0LWljb25zLWxhc3QtcHVyZ2VkIikpO2lmKCFkKXJldHVybiBkPW5ldyBEYXRlLGQ9ZC5zZXREYXRlKGQuZ2V0RGF0ZSgpLU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo5MCsxKSksYyhkKSwhMTtpZihmdW5jdGlvbihlLGYpe2U9bmV3IERhdGUoZSk7Zj1uZXcgRGF0ZShmKTtyZXR1cm4gZi5nZXRNb250aCgpLWUuZ2V0TW9udGgoKSsxMiooZi5nZXRGdWxsWWVhcigpLWUuZ2V0RnVsbFllYXIoKSl9KGQsRGF0ZS5ub3coKSk8CjMpcmV0dXJuITE7dHJ5e3JldHVybiBfLnUuY2FjaGVzLmRlbGV0ZSgieXQtaWNvbnMiKS50aGVuKGU9PntlJiZjKERhdGUubm93KCkpO3JldHVybiBlfSkuY2F0Y2goKCk9PiExKS5maW5hbGx5KCgpPT57YS5LPSExfSl9Y2F0Y2goZSl7cmV0dXJuIGlZKHtlcnJvcjplPy50b1N0cmluZz9lLnRvU3RyaW5nKCk6IiJ9KSwhMX19OwprWT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWIudXJsO2lmKCFycGEoYykpdGhyb3cgRXJyb3IoImRlIik7cmV0dXJuIHNwYShhLGMpLnRoZW4oZD0+ZC5jbG9uZSgpLnRleHQoKSkudGhlbihkPT57dmFyIGU9Xy5nYihkKTtkPWIuc2l6ZTt2YXIgZj1fLkNkKCJESVYiKTtfLnpBKGYsZSk7aWYoZi5maXJzdEVsZW1lbnRDaGlsZCE9PXZvaWQgMCllPWYuZmlyc3RFbGVtZW50Q2hpbGQ7ZWxzZSBmb3IoZT1mLmZpcnN0Q2hpbGQ7ZSYmZS5ub2RlVHlwZSE9MTspZT1lLm5leHRTaWJsaW5nO2U9Xy5EZChlKTtkPWpZKGUsZCk7YS5EW2NdPWQuY2xvbmVOb2RlKCEwKTtkZWxldGUgYS5ZW2NdO3JldHVybiBkfSkuY2F0Y2goKCk9Pnt9KX07CmxZPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybihlLGYpPT57dmFyIGg9Xy5DZCgiRElWIiksaz17aWNvbldpZHRoOmAke2Iuc2l6ZX1weGAsaWNvbkhlaWdodDpgJHtiLnNpemV9cHhgLGp4OiJibG9jayIsLi4uZixpY29uQ29sb3I6Zj8uaWNvbkNvbG9yPz8iY3VycmVudGNvbG9yIn07Zj1rLmljb25Db2xvcjt2YXIgbD1rLmFnO2s9YHdpZHRoOiAke2suaWNvbldpZHRofTsgaGVpZ2h0OiAke2suaWNvbkhlaWdodH07IGRpc3BsYXk6ICR7ay5qeH07YDtsJiYoays9YCBmaWx0ZXI6ICR7bH07YCk7Yz09PTAmJihrKz1gIGZpbGw6ICR7Zn07YCk7Yz09PTEmJihsPWIudXJsLGsrPWAgLXdlYmtpdC1tYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBtYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Z9YCk7Yi52dSYmYS5Laz09PSJydGwiJiYoays9IiB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsiKTsKaC5zZXRBdHRyaWJ1dGUoInN0eWxlIixrKTtjPT09MCYmZCYmaC5hcHBlbmRDaGlsZChkKTtlLmFwcGVuZENoaWxkKGgpfX07Cm5ZPWZ1bmN0aW9uKGEsYil7aWYoYil7YS5jb3VudGVyKz0xO2E9YF95dCR7YS5jb3VudGVyfWA7Yj1bYiwuLi5iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIildO2ZvcihsZXQgYyBvZiBiKWlmKGMudGFnTmFtZT09PSJzdHlsZSImJmMudGV4dENvbnRlbnQpYy50ZXh0Q29udGVudD1tWShjLnRleHRDb250ZW50LGEsITApO2Vsc2UgZm9yKGxldCBkIG9mIGMuYXR0cmlidXRlcyl7ZC5uYW1lPT09ImlkIiYmKGQudmFsdWUrPWEpO1sibWFzayIsImZpbGwiLCJjbGlwLXBhdGgiXS5pbmNsdWRlcyhkLm5hbWUpJiYoZC52YWx1ZT1tWShkLnZhbHVlLGEpKTtpZihkLm5hbWU9PT0ic3R5bGUiKXtiPWMuc3R5bGU7dHJ5e2IuY3NzVGV4dD1tWShiLmNzc1RleHQsYSwhMCl9Y2F0Y2goZSl7aVkoe2Vycm9yOmU/LnRvU3RyaW5nPy4oKXx8IiIsZWw6Yy5vdXRlckhUTUwsc3R5bGU6ISFiLGNzc1RleHQ6Yj8uY3NzVGV4dH0pfX1kLm5hbWU9PT0ieGxpbms6aHJlZiImJihkLnZhbHVlPWQudmFsdWUucmVwbGFjZSgvIyguKikvLApgIyQxJHthfWApKX19fTttWT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpLztjJiYoZD0vdXJsXChbIiddPyMoLio/KVsiJ10/XCkvZyk7cmV0dXJuIGEucmVwbGFjZShkLGB1cmwoIyQxJHtifSlgKX07aVk9ZnVuY3Rpb24oYSl7Xy5JcChuZXcgXy5YaigiRXJyb3IgaW4gSWNvbk1hbmFnZXIiLGEpKX07cnBhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiB0cGEpaWYoYS5zdGFydHNXaXRoKGIpJiZhLmVuZHNXaXRoKCIuc3ZnIikpcmV0dXJuITA7cmV0dXJuITF9OwpzcGE9YXN5bmMgZnVuY3Rpb24oYSxiKXthLlFhJiZhd2FpdCB1cGEoYSk7dmFyIGM9YS5ZW2JdO2lmKCFjKXtsZXQgZD1hc3luYygpPT57dmFyIGU9YS5CP2EuWnx8YXdhaXQgYS5VOnZvaWQgMDtyZXR1cm4gYS5vYT9hLmdhKGIsZSkuY2F0Y2goYS5oYS5iaW5kKGEsYixlKSk6YS5oYShiLGUpLmNhdGNoKGEuZ2EuYmluZChhLGIsZSkpfTtjPWEuTWE/bmV3IFByb21pc2UoKGUsZik9PntfLllqKCgpPT57ZCgpLnRoZW4oZSkuY2F0Y2goZil9LDEwKX0pOmQoKTthLllbYl09Y31yZXR1cm4gYy5jYXRjaChkPT57ZGVsZXRlIGEuWVtiXTtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/ZC50b1N0cmluZygpOiIiLHVybDpifSk7dGhyb3cgZDt9KX07dXBhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudj8ucHJvbWlzZTtifHwoYS52PW5ldyBfLmNzLGI9YS52LnByb21pc2UsXy51LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2Eudj8ucmVzb2x2ZSgpO2Eudj1udWxsfSkpO3JldHVybiBifTsKcFk9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLkk8dnBhKXJldHVybiBhLkkrPTEsb1koYSxiKS5maW5hbGx5KCgpPT57LS1hLkk7aWYoT2JqZWN0LmtleXMoYS5vKS5sZW5ndGgpe2xldCBkPU9iamVjdC5rZXlzKGEubylbMF0sZT1hLm9bZF07ZGVsZXRlIGEub1tkXTtlLnJlc29sdmUocFkoYSxkKSl9fSk7dmFyIGM9bmV3IF8uY3M7YS5vW2JdPWM7cmV0dXJuIGMucHJvbWlzZX07d3BhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe2QmJm5ldyBQcm9taXNlKGU9PntfLllqKGFzeW5jKCk9PnthLm9hJiZhd2FpdCBkLm1hdGNoKGIpLmNhdGNoKCgpPT57fSl8fGF3YWl0IGQucHV0KGIsYy5jbG9uZSgpKS5jYXRjaChmPT57aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIix1cmw6Yn0pfSk7ZSgpfSw1MCl9KX07Cm9ZPWFzeW5jIGZ1bmN0aW9uKGEsYixjPTIpe3JldHVybiBfLnUuZmV0Y2goYix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixwcmlvcml0eToibG93In0pLnRoZW4oZD0+ZC5vaz9kOlByb21pc2UucmVqZWN0KEVycm9yKCJlZWAiK2Quc3RhdHVzKyJgIitkLnN0YXR1c1RleHQpKSkuY2F0Y2goZD0+e2lmKGM+MClyZXR1cm4gb1koYSxiLGMtMSk7dGhyb3cgZDt9KX07CnJZPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWFbYi5pY29uTmFtZV18fFtdO2E9dm9pZCAwO2ZvcihsZXQgaCBvZiBlKXthOnt2YXIgZj1iLmljb25TaXplO2U9Yi5pY29uU3R5bGU7Zj0hZnx8Zj09PWhbMl07bGV0IGs9cVlbaFswXV07aWYoZCYmZCE9PWhbMV18fCFmfHxlJiZlIT09ayl7ZT0hMTticmVhayBhfWlmKCFhKXtlPSEwO2JyZWFrIGF9ZT1xWVtoWzBdXTtlPSEhYi5pY29uU3R5bGV8fGU9PT0ieW91dHViZV9vdXRsaW5lIjtmPWEudmVyc2lvbjw9aFsxXTtlPSghIWIuaWNvblNpemV8fGhbMl09PT0yNCkmJmUmJmZ9ZSYmKGE9e25hbWU6Yi5pY29uTmFtZSxzdHlsZTpxWVtoWzBdXSxzaXplOmhbMl0sdmVyc2lvbjpoWzFdLHZ1OiEhaFszXSx1cmw6YyhiLmljb25OYW1lLGgpfSl9cmV0dXJuIGF9O3NZPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe3JldHVybmAke2F9JHtxWVtjWzBdXX0ke2Q/Il9leHBlcmltZW50YWwiOiIifS8ke2J9L3Yke2NbMV19LyR7Y1syXX1weC5zdmdgfTsKdFk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX1JFTUlYIiYmXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKSE9PSJXRUJfQ1JFQVRPUiI/ImJvb2ttYXJrIjphfTt1WT1mdW5jdGlvbihhLGIpe3JldHVybiBfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKXx8Yj94cGFbYS50b1VwcGVyQ2FzZSgpXTp5cGFbYS50b1VwcGVyQ2FzZSgpXX07enBhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHNZKCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS8iLGEsYil9O0FwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIsITApfTt3WT1mdW5jdGlvbigpe3ZZLmluc3RhbmNlfHwodlkuaW5zdGFuY2U9bmV3IHZZKTtyZXR1cm4gdlkuaW5zdGFuY2V9Owp4WT1mdW5jdGlvbihhLGIpe3JldHVybiBCcGEuaGFzKGIpfHxfLncoIklTX0hPTUVQQUdFX0NPTEQiKXx8Xy53KCJJU19SRVNVTFRTX1BBR0VfQ09MRCIpfHxfLncoIklTX1dBVENIX1BBR0VfQ09MRCIpP2Euc2lnbmFscy5pbmRleE9mKGIpPj0wOiEwfTt5WT1mdW5jdGlvbihhKXt2YXIgYj0hMTtyZXR1cm4oKT0+e2J8fChiPSEwLGEoKSl9fTtBWT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKHpZLmhhcyhkKSlfLkNrKCkuR2EoYixjLGUpO2Vsc2V7bGV0IGY9YS5qLmdldChkKTtmJiZfLkNrKCkuR2EoKCk9Pnt4WShhLGQpfHwoZi5oZz9fLkNrKCkuR2EoYixjKTpmLkJuLnB1c2goKCk9PntfLkNrKCkuR2EoYixjKX0pKX0sYyxlKX19O0NwYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0oKT0+e2EuV20oYil9O2ZvcihsZXQgZiBvZiBkKWEuYWRkTGlzdGVuZXIoZixlKTthLmouc2V0KGIse3NpZ25hbHM6YyxWeDohMCxpc0luaXRpYWxpemVkOiExLGhnOiExLEJuOltdfSk7QlkoYSxiKX07CkJZPWZ1bmN0aW9uKGEsYil7aWYoIXhZKGEsYikpe3ZhciBjPWEuai5nZXQoYik7aWYoYyYmIWMuaGcpe3ZhciBkPSExLGU9MCxmPTA7Zm9yKGxldCBoIG9mIGMuc2lnbmFscyl7bGV0IGs9IXhZKGEsaCk7aWYoelkuaGFzKGgpKWQ9ITA7ZWxzZXtsZXQgbD1hLmouZ2V0KGgpO2w/ayYmIWwuaGcmJihmKyssYy5pc0luaXRpYWxpemVkfHxsLkJuLnB1c2goKCk9PntCWShhLGIpfSkpOmsmJmUrK319Yy5pc0luaXRpYWxpemVkPSEwO2MuVng/ZCYmKGMuaGc9ITApOmU9PT0wJiZmPT09MCYmKGMuaGc9ITApO2lmKGMuaGcpZm9yKGxldCBoIG9mIGMuQm4paCgpfX19OwpEcGE9ZnVuY3Rpb24oYSl7YT1hLm9wZW5Qb3B1cEFjdGlvbnx8YTt2YXIgYj1hLnBvcHVwVHlwZSxjPWEucG9wdXA7c3dpdGNoKGIpe2Nhc2UgIlRPQVNUIjpmb3IobGV0IGQgaW4gYyljLmhhc093blByb3BlcnR5KGQpJiZfLnBQKCgpPT5fLksoXy5XLHtkYXRhOigpPT5jfSx7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6Q1l9KSxhLmR1cmF0aW9uSGludE1zLGEucmV1c2VQb3B1cCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZmVgIitiKTt9fTsKRFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz11WChhKTtpZihjKXt2YXIgZD12b2lkIDAsZT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO2UmJmUucm9vdFZlJiYoZD1lLnJvb3RWZSk7Xy5xUCh7aHJlZjpjLHBhcmFtczp7aXRjdDphLmNsaWNrVHJhY2tpbmdQYXJhbXMsYXV0b25hdjpiPy5hdXRvbmF2fSx0YXJnZXQ6Xy5LTygpJiZfLkIoYSxfLkJoYSk/Il9ibGFuayI6dm9pZCAwLGFrOmQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yi5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmIuaW1wbGljaXRHZXN0dXJlVHlwZSxlbGVtZW50OmIuZXZlbnQ/LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQ/Yi5ldmVudC50YXJnZXQ6dm9pZCAwLGVuZHBvaW50OmEscGFyZW50TGF5ZXI6Yi5wYXJlbnRMYXllcn0pfX07CkVwYT1mdW5jdGlvbihhLGIpe2lmKF8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpaWYoRVkpe3ZhciBjPV8uQihhLF8uQXcpLGQ9Yz8udmlkZW9JZCxlPWM/LnBsYXlsaXN0SWQ7ZHx8ZT8oYT17dmlkZW9faWQ6ZH0sYyYmKGEucGxheWVyX3BhcmFtcz1jLnBsYXllclBhcmFtcyksZT8oYS5saXN0PWUsRVkubG9hZFBsYXlsaXN0KGEpKTpFWS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYSkpOihjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCBtYWxmb3JtZWQiLHtjb21tYW5kOkpTT04uc3RyaW5naWZ5KGEpfSksXy5HcChjKSxEWShhLGIpKX1lbHNlIGM9bmV3IF8uWGooIkVtYzNkcyBXYXRjaEVuZHBvaW50IHJlc29sdmVkIHdpdGhvdXQgcGxheWVyQXBpIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKTtlbHNlIERZKGEsYil9O0ZZPWZ1bmN0aW9uKGEpe3JldHVybntyZXNvbHZlOihiLGM9e30pPT57YShiLGMuZm9ybXx8e30pO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19fTsKSFk9ZnVuY3Rpb24oYSxiKXtHWS5wdXNoKHthY3Rpb246YSxjb250ZXh0OmJ9KX07RnBhPWZ1bmN0aW9uKCl7VFcoR1ksKHthY3Rpb246YSxjb250ZXh0OmJ9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSx7Zm9ybTpifSl8fEpYKGEsIkFjdGlvbiBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsSG9hKX0pfTsKSVk9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZiBvZiBob2EoYSkpSFkoZixjKTthPWIuZGF0YT8uYWN0aW9ucz8/W107Zm9yKHZhciBkIG9mIGEpSFkoZCxjKTtkPWIuZGF0YT8uY29tbWFuZHM/P1tdO2Zvcih2YXIgZSBvZiBkKUhZKGUsYyk7KGU9Yi5kYXRhPy5jb21tYW5kKSYmSFkoZSxjKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRDb21tYW5kcz8/W10sYy5zb3VyY2VEYXRhKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEVuZHBvaW50cz8/W10sYy5zb3VyY2VEYXRhKTsoYj1iLmRhdGE/LnVwZGF0ZUZsb3dDb21tYW5kKSYmSFkoYixjKX07CkpZPWFzeW5jIGZ1bmN0aW9uKGEsYj1fLkxoYSl7dmFyIGM9YjtfLkIoYSxfLkF5KXx8KGM9T2JqZWN0LmFzc2lnbih7Y3NuOl8uaXEoKXx8IiJ9LGIpKTtiPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTtpZihiLkp3KGEpKXJldHVybiBiLlFpKGEsYykudGhlbihkPT5kPy5kYXRhP2QuZGF0YTpkKS50aGVuKGQ9Pnt2YXIgZTsoZT1kPy5kYXRhPy50cmFja2luZ1BhcmFtcykmJl8ubHgoXy5oeCgpLGUpO3JldHVybntjb2RlOmQmJmQuZXJyb3I/IkVSUk9SIjoiU1VDQ0VTUyIsZGF0YTpkfX0pO3Rocm93IG5ldyBfLlhqKCJubyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQiLGEpO307SHBhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhhKS5zb21lKGI9PmIgaW4gR3BhKX07CktZPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YT8uY29udGVudHM/LlswXTtpZighYnx8IUhwYShiKSlyZXR1cm4gYTtiPXtvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiRElBTE9HIixwb3B1cDpifX07YS5kYXRhLmFjdGlvbnN8fChhLmRhdGEuYWN0aW9ucz1bXSk7YS5kYXRhLmFjdGlvbnMucHVzaChiKTtyZXR1cm4gYX07Ck1ZPWZ1bmN0aW9uKGEsYixjKXtfLkIoYSxfLkF5KSYmYS5jbGlja1RyYWNraW5nUGFyYW1zJiYoTFk9Xy5VdyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntpZihfLkIoYSxfLkF5KT8ucmVxdWVzdD09PSJDT05USU5VQVRJT05fUkVRVUVTVF9UWVBFX1JFRUxfV0FUQ0hfU0VRVUVOQ0UiKXt2YXIgZT1kLmRhdGE7ZSYmIWUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucyYmKGUuZW50cmllc3x8ZS5wcmV2RW50cmllcykmJihlLmVudHJpZXM/KGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSxlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntlbnRyaWVzOmUuZW50cmllcyxjb250aW51YXRpb25FbmRwb2ludDplLmNvbnRpbnVhdGlvbkVuZHBvaW50fX0pKTplLnByZXZFbnRyaWVzJiYoZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPVtdLAplLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntwcmV2RW50cmllczplLnByZXZFbnRyaWVzLHByZXZDb250aW51YXRpb25FbmRwb2ludDplLnByZXZDb250aW51YXRpb25FbmRwb2ludH19KSkpfWlmKF8uQihhLF8uVXopfHxfLkIoYSxfLmRPKSliLmN1cnJlbnREYXRhfHwoYi5jdXJyZW50RGF0YT1fLlhEPy5yZXNwb25zZT8/e30pLGIuc291cmNlRGF0YXx8KGIuc291cmNlRGF0YT1hKTtJWShhLEtZKGQpLGIpO18uQihhLF8uQXkpJiZkPy5kYXRhPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksZC5kYXRhLnRyYWNraW5nUGFyYW1zLExZKTtyZXR1cm4gZH0sZD0+e3ZhciBlPU9iamVjdC5rZXlzKGEpLmZpbHRlcihmPT5fLk1hKGYsIkVuZHBvaW50IikpWzBdO2UmJihlPWFbZV0sKGU9ZT8ub25GYWlsdXJlQWN0aW9uPz9lPy5vbkZhaWx1cmVDb21tYW5kKSYmSFkoZSxiKSk7dGhyb3cgZDsKfSl9O0lwYT1mdW5jdGlvbihhLGIpe18uQihhLF8uY0UpPy5uYXZpZ2F0aW9uVHlwZT09PSJCUk9XU0VfTkFWSUdBVElPTl9UWVBFX1NUQVlfT05fUEFHRSI/TVkoYSxiKTpEWShhLGIpfTtKcGE9ZnVuY3Rpb24oYSxiKXtpZihhPShfLkIoYSxfLlNEKXx8YSkuY29tbWFuZHMpZm9yKGxldCBjIG9mIGEpXy5LTShjKT9fLkFKKGMsYi5zb3VyY2VEYXRhLCEwLGIpOkhZKGMsYil9OwpMcGE9YXN5bmMgZnVuY3Rpb24oYSl7YT1fLkIoYSxLcGEpO2lmKGE/LnRleHQmJm5hdmlnYXRvci5jbGlwYm9hcmQpdHJ5e2lmKGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGEudGV4dCksYS5zdWNjZXNzQWN0aW9ucyYmYS5zdWNjZXNzQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYiBvZiBhLnN1Y2Nlc3NBY3Rpb25zKV8uQUooYix7fSwhMSl9Y2F0Y2goYil7aWYoYS5mYWlsdXJlQWN0aW9ucyYmYS5mYWlsdXJlQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYyBvZiBhLmZhaWx1cmVBY3Rpb25zKV8uQUooYyx7fSwhMSl9fTtNcGE9ZnVuY3Rpb24oYSl7KDAsXy53aWEpKHtub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uOnt0b2dnbGVCdXR0b25SZW5kZXJlcjphLnNvdXJjZURhdGF9fSxiPT4oey4uLmIsbm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0pKX07Ck5wYT1mdW5jdGlvbihhLGIpe01ZKGEsYikudGhlbigoKT0+e01wYShiKX0pfTtQcGE9ZnVuY3Rpb24oYSl7Xy5xUCh7aHJlZjpfLkt6KGB0ZWw6JHtfLkIoYSxPcGEpLnBob25lTnVtYmVyfWAsW18uSHFdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07UnBhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntJWShhLEtZKGQpLGIpO3ZhciBlPV8uV0QoKCk9PmQuZGF0YS5yZWRpcmVjdEVuZHBvaW50KTtlJiZfLkFKKGUsZC5kYXRhLCExKX0sZD0+e18ucFAoKCk9PlFwYSk7dGhyb3cgZDt9KX07VHBhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLFNwYSksYz1gc21zOiR7Yi5waG9uZU51bWJlcnMmJmIucGhvbmVOdW1iZXJzWzBdfWA7Yi5tZXNzYWdlVGV4dCYmKGMrPWA/JmJvZHk9JHtlbmNvZGVVUkkoYi5tZXNzYWdlVGV4dCl9YCk7Xy5xUCh7aHJlZjpfLkt6KGMsW18uT3FdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07ClVwYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGlhbG9nIn07Tlk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLkZKO3JldHVybiBuZXcgUHJvbWlzZShhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKF8ueVApKTtiPy5ycSgpJiZiLmxkKCk7d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyI/Xy5ZTT9zZXRUaW1lb3V0KCgpPT57Xy4kTSgiIik7YSgpfSwxMDApOl8uWk0oKS50aGVuKCgpPT57YSgpfSk6YSgpfSl9OwpXcGE9ZnVuY3Rpb24oYSxiLGMsZCl7VnBhKGMpO2M9T1koYSk7dmFyIGU9bmF2aWdhdG9yLGY9Xy5mciYmXy53KCJNV0VCX0lPU19OQVRJVkVfU0hBUkUiKSxoPXt1cmw6Y307aWYoKCFfLmZyfHxmKSYmZS5zaGFyZSYmYyYmZS5jYW5TaGFyZSYmZS5jYW5TaGFyZShoKSl7bGV0IGs9Xy5FeChfLmh4KCkse3ZlVHlwZTo5NzcwfSksbD17b3V0Ym91bmRBcHBEYXRhOntvdXRib3VuZEFwcDoiRElSRUNUX1NZU1RFTV9BQ1RJVklUWV9ESUFMT0cifSxzaGFyaW5nRGF0YTp7c2VyaWFsaXplZFNoYXJlRW50aXR5OmR9fTtfLkpPKGssbCw3KTtlLnNoYXJlKGgpLnRoZW4oKCk9Pnt0WChrLGwsNyl9KS5jYXRjaChtPT57bS5uYW1lIT09IkFib3J0RXJyb3IiJiYoXy5JcChuZXcgXy5YaigiU3lzdGVtIFNoYXJlIFBhbmVsIGZhaWxlZCB0byBvcGVuLiIpKSxQWShhLGIpKX0pfWVsc2UgUFkoYSxiKX07ClZwYT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLmh4KCk7Xy5ETyhiLDIxNzYwLHZvaWQgMCx7bGF5ZXI6NyxwYXJlbnRMYXllcjowfSk7Xy5seChiLGEsdm9pZCAwLDcpfX07UFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PWShhKTtfLmdyfHxfLlRFKCl8fF8uclAoKT9fLnkoKS5yZXNvbHZlKF8ueVApLm9wZW5EaWFsb2coe1VuOigpPT5fLksoWHBhLHtkYXRhOmF9KX0pOl8ueU4oe2hlYWRlclRpdGxlOiJTaGFyZSIsR2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1zaGFyZS1pdGVtIn0sXy5LKF8uTyx7QTooKT0+Yyx0aGVuOmQ9Pl8uSyhRWSx7c2hvcnRVcmw6ZCx0cmFja2luZ1BhcmFtczpSWShhKX0pfSksU1koYSk/Lm1hcChkPT5kPy5zaGFyZVRhcmdldFJlbmRlcmVyP18uSyhUWSx7ZGF0YTpkLnNoYXJlVGFyZ2V0UmVuZGVyZXJ9KTpudWxsKSksSGE6ITEsZm9jdXNPbkNsb3NlOmI/LmV2ZW50Py50YXJnZXR9KX07ClNZPWZ1bmN0aW9uKGEpe2lmKGEuY29udGVudHMmJmEuY29udGVudHNbMF0pcmV0dXJuKGE9YS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LnNoYXJlVGFyZ2V0Q29udGFpbmVyPy50aGlyZFBhcnR5U2hhcmVUYXJnZXRTZWN0aW9uUmVuZGVyZXI/LnNoYXJlVGFyZ2V0cykmJmEubGVuZ3RoPjU/YS5zbGljZSgwLDUpOmF9O09ZPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdP18uQihhLmNvbnRlbnRzWzBdLnRoaXJkUGFydHlOZXR3b3JrU2VjdGlvbj8uY29weUxpbmtDb250YWluZXIsVVkpPy5zaG9ydFVybDoiIn07Ulk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8uY29udGVudHM/LlswXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uY29weUJ1dHRvbixfLlZMKT8udHJhY2tpbmdQYXJhbXN9OwpacGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlp6KT8uc2hhcmVQYW5lbFR5cGUsZD1fLkIoYSxfLlp6KT8uc2VyaWFsaXplZFNoYXJlRW50aXR5O01ZKGEsYikudGhlbihlPT57WXBhKGUsYixjLGQpfSl9O1lwYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLmNvZGU9PT0iU1VDQ0VTUyImJmEuZGF0YSlhPWEuZGF0YSxhLmNvbnRlbnRzJiZhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXImJmM9PT0iU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMIiYmV3BhKGEuY29udGVudHMudW5pZmllZFNoYXJlUGFuZWxSZW5kZXJlcix7ZXZlbnQ6Yj8uZXZlbnR9LGEudHJhY2tpbmdQYXJhbXMsZCk7ZWxzZXtfLmdGPT09dm9pZCAwJiYoXy5nRj1rb2EoKSk7bGV0IGU9Xy5nRj8kcGE6YXFhO18ucFAoKCk9PmUpfX07YnFhPWZ1bmN0aW9uKGEpe2E9YS5wYW5lbElkZW50aWZpZXJ8fGEuaWRlbnRpZmllcj8udGFnO2lmKCFhKXRocm93IEVycm9yKCJnZSIpO3JldHVybiBhfTsKZHFhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5RVyk7aWYoYyl7dmFyIGQ9Xy5XRCgoKT0+Yj8uZXZlbnQ/LmN1cnJlbnRUYXJnZXR8fGI/LmVsZW1lbnQpLGU9YnFhKGMpO3ZhciBmPWM/Yy5nbG9iYWxDb25maWd1cmF0aW9uPy5pbml0aWFsU3RhdGV8fGMuZW5nYWdlbWVudFBhbmVsOnZvaWQgMDtpZihlKXtsZXQgaD1fLnkoKS5yZXNvbHZlKF8uYkwpLGs9YXdhaXQgXy55KCkucmVzb2x2ZShfLkh5KSgpO2F3YWl0IGNxYShoLHtpZGVudGlmaWVyOmUsSWo6Zix0YXJnZXQ6ZH0pO2MuZ2xvYmFsQ29uZmlndXJhdGlvbiYmKGE9YXdhaXQgay5RaShhKSxhd2FpdCBWWShoLHtpZGVudGlmaWVyOmUsSWo6YT8uY29udGVudCx0bjohMX0pKX19fTsKZXFhPWZ1bmN0aW9uKGEsYil7aWYoYT1fLkVPKHdpbmRvdyxhLCJsb2dpblBvcHVwIiwid2lkdGg9ODAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyIpKUhuYSgoKT0+e2IoKX0pLGEubW92ZVRvKChzY3JlZW4ud2lkdGgtODAwKS8yLChzY3JlZW4uaGVpZ2h0LTYwMCkvMil9O2ZxYT1mdW5jdGlvbihhLGIpe18uS08oKT8oKGI9dVgoYSkpJiZfLkVPKHdpbmRvdyxiKSxhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKSk6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj8oYT11WChhKSkmJmVxYShhLCgpPT57d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk6RFkoYSxiKX07CmdxYT1mdW5jdGlvbihhKXtpZihhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI/LmNoYW5uZWxJZCkoMCxfLnhQKSh7Y2hhbm5lbElkOmEuc291cmNlRGF0YS5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5jaGFubmVsSWR9LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiFhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuc3Vic2NyaWJlZH0pKTtlbHNle3ZhciBiPV8uQihhLnNvdXJjZURhdGEuc2VydmljZUVuZHBvaW50LF8uRHkpO2ImJigwLF8ueFApKHtjaGFubmVsSWQ6Yi5jaGFubmVsSWRzPy5bMF19LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiExfSkpfX07V1k9ZnVuY3Rpb24oYSxiLGMpe01ZKGEsYixjKS50aGVuKCgpPT57Z3FhKGIpfSl9OwpocWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlZEKSxkPWMudXJsO2M9Yy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOiIiO3ZhciBlO2EuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGU9e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zfSk7dmFyIGY9Yj8uc291cmNlRGF0YT8ucGFyYW1zPy50aW1lc3RhbXA7ZiYmKGU9ey4uLmUsdGltZXN0YW1wOmZ9KTtfLnFQKHtocmVmOmQscGFyYW1zOmUsdGFyZ2V0OmMsZW5kcG9pbnQ6YSxhazpfLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXR9KX07aXFhPWZ1bmN0aW9uKGEpe3dvYShfLkIoYSxfLmZjYSk/LmFkZGl0aW9uYWxEYXRhcyl9OwpqcWE9ZnVuY3Rpb24oYSl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixiPT57dmFyIGM9Yi5kZXRhaWw7Yy5wYXJhbXN8fChjLnBhcmFtcz17fSk7Yj1jLnBhcmFtczt2YXIgZD1iLml0Y3Q7ZCYmKF8uaHgoKS5DZihkKSxkZWxldGUgYi5pdGN0KTtiPWMuaHJlZjtpZighWFlbYl0pe2Q9ITE7aWYoYi5zdGFydHNXaXRoKCJodHRwIil8fGIuc3RhcnRzV2l0aCgiLy8iKSl7dmFyIGU9Yj9fLlBNKGIpLmhvc3RuYW1lfHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU6IiIsZj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7aWYoZD1lIT09ZillPWUuc3BsaXQoIi4iKS5zbGljZSgtMiksZj1mLnNwbGl0KCIuIikuc2xpY2UoLTIpLGUubGVuZ3RoJiZmLmxlbmd0aCYmKGQ9ZS5qb2luKCIuIikhPT1mLmpvaW4oIi4iKSl9WFlbYl09ZH1kPVhZW2JdO2lmKGQpXy5FTyh3aW5kb3csYik7ZWxzZXtkPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2E6e2lmKCFhLmdldFZpZGVvRGF0YSgpLmlzTGl2ZSl7aWYoKGY9CmMucGFyYW1zKSYmZi50aW1lc3RhbXApe2Y9Zi50aW1lc3RhbXA7YnJlYWsgYX1pZighXy54KCJlbWJlZHNfZW1jM2RzX2Fsd2F5c19jdXJ0aW1lX2tzIikmJihmPS9eaHR0cHM/OlwvXC93d3cueW91dHViZS5jb21cL3dhdGNoXD92PShbQS1aYS16MC05Xy1dezExfSkvLmV4ZWMoYy5ocmVmKT8uWzFdKSYmZj09PWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQmJihmPWEuZ2V0Q3VycmVudFRpbWUoKSxmPjApKXtmPU1hdGguZmxvb3IoZikudG9TdHJpbmcoKTticmVhayBhfX1mPXZvaWQgMH1lPShlPWMuZWxlbWVudCk/Xy5VeChlKT8/dm9pZCAwOnZvaWQgMDthOntpZihlKXt2YXIgaD1lLmdldEFzSnNvbigpO2U9aC52ZVR5cGU7aD1oLnRyYWNraW5nUGFyYW1zO2lmKGUpe2U9U3RyaW5nKGUpO2JyZWFrIGF9aWYoaCYmKGU9Xy5FbyhfLkNvKGgpLDIpKSl7ZT1lLnRvU3RyaW5nKCk7YnJlYWsgYX19ZT12b2lkIDB9ZXx8KE1hdGgucmFuZG9tKCk8Xy5zaigiZW1iZWRzX2xvZ193YXJuaW5nX3NhbXBsZV9zaXplX3JhdGUiLAouMDAxKSYmXy5JcChuZXcgXy5YaigiVXNpbmcgZmFsbGJhY2sgVkUgZm9yIGVsZW1lbnQ6ICIse3RhZ05hbWU6Yy5lbGVtZW50Py50YWdOYW1lLGNsYXNzTGlzdDpjLmVsZW1lbnQ/LmNsYXNzTGlzdC50b1N0cmluZygpLGRldGFpbDpjfSkpLGU9KDIxNDI4MykudG9TdHJpbmcoKSk7Yz17fTtkLndpZGdldFJlZmVycmVyJiYoYy5lbWJlZHNfd2lkZ2V0X3JlZmVycmVyPWQud2lkZ2V0UmVmZXJyZXIpO2QubG9hZGVyVXJsJiYoYy5lbWJlZHNfcmVmZXJyaW5nX2V1cmk9ZC5sb2FkZXJVcmwuc3Vic3RyaW5nKDAsMTI4KSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtJiYoYy5lbWJlZHNfcmVmZXJyaW5nX29yaWdpbj1kLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtKTtkLmlzRW1iZWQmJmQuZW1iZWRzRmVhdHVyZSYmKGMuZmVhdHVyZT1kLmVtYmVkc0ZlYXR1cmUpO2Q9ZTtiPShuZXcgVVJMKGIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIikpLnRvU3RyaW5nKCk7ZiYmCihiPV8uZWooYix7dGltZV9jb250aW51ZTpmfSkpO2lmKGQpe2lmKCFfLk1rKCJjb2JhbHQiKSl7Zj1bXTtlPTA7Zm9yKGg9MDtoPGQubGVuZ3RoO2grKyl7bGV0IGs9ZC5jaGFyQ29kZUF0KGgpO2s+MjU1JiYoZltlKytdPWsmMjU1LGs+Pj04KTtmW2UrK109a31kPV8uc2MoZiw0KX1iPV8uZWooYix7c291cmNlX3ZlX3BhdGg6ZH0pfWMmJihiPV8uZWooYixjKSk7Xy5FTyh3aW5kb3csYil9fSl9OwprcWE9ZnVuY3Rpb24oKXt2YXIgYT17fTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvY2xvc2VkX2NhcHRpb24vdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTMuMDEgM0MzIDMgMyAzIDMuMDEgM0wzIDIxaDE4VjNIMy4wMXpNMTEgMTFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xdi00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjF6bTcgMGgtMS41di0uNWgtMnYzaDJWMTNIMTh2MWMwIC41NS0uNDUgMS0xIDFoLTNjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNOS4wMzggOC4wODljLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwNyAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDE1IDEyYy0uMDA0LS43NC4xNy0xLjQ3LjUwNi0yLjEyOC4zMzYtLjY0NS44MzUtMS4xOSAxLjQ2Ni0xLjUyNmEyLjg2IDIuODYgMCAwMTIuMDY2LS4yNTdabTggMGMuNjk3LjE3OCAxLjI5NC42MDYgMS43MzcgMS4xNzZhMSAxIDAgMDEtMS41NzggMS4yMjhjLS4yMS0uMjctLjQ0NC0uNDEzLS42NTQtLjQ2N2EuODYuODYgMCAwMC0uNjMyLjA4NWMtLjIyMi4xMTktLjQ1My4zNDItLjYzMS42ODRBMi42NCAyLjY0IDAgMDAxNSAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDExMyAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3WiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE5SDdWNWgyWm04LTE0aC0ydjE0aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BhdXNlL3Y5LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNi41IDNBMS41IDEuNSAwIDAwNSA0LjV2MTVBMS41IDEuNSAwIDAwNi41IDIxaDJhMS41IDEuNSAwIDAwMS41LTEuNXYtMTVBMS41IDEuNSAwIDAwOC41IDNoLTJabTkgMEExLjUgMS41IDAgMDAxNCA0LjV2MTVhMS41IDEuNSAwIDAwMS41IDEuNWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDE3LjUgM2gtMloifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGxheV9hcnJvdy92Ny8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im03IDQgMTIgOC0xMiA4VjR6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BsYXkvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik01IDQuNjIzVjE5LjM4YTEuNSAxLjUgMCAwMDIuMjYgMS4yOUwyMiAxMiA3LjI2IDMuMzNBMS41IDEuNSAwIDAwNSA0LjYyM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC95b3V0dWJlX2xvZ29faWNvbi92Ni8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEuNTggNy4xOWEyLjUxIDIuNTEgMCAwMC0xLjc3LTEuNzdDMTguMjUgNSAxMiA1IDEyIDVzLTYuMjUgMC03LjgxLjQyYTIuNTEgMi41MSAwIDAwLTEuNzcgMS43N0EyNS44NyAyNS44NyAwIDAwMiAxMmEyNS44NyAyNS44NyAwIDAwLjQyIDQuODEgMi41MSAyLjUxIDAgMDAxLjc3IDEuNzdDNS43NSAxOSAxMiAxOSAxMiAxOXM2LjI1IDAgNy44MS0uNDJhMi41MSAyLjUxIDAgMDAxLjc3LTEuNzdBMjUuODcgMjUuODcgMCAwMDIyIDEyYTI1Ljg3IDI1Ljg3IDAgMDAtLjQyLTQuODF6TTEwIDE0LjY1di01LjNMMTUgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgNXMtNi4yNDkgMC03LjgxLjQyYy0uODYuMjMtMS41NC45MS0xLjc3IDEuNzdDMiA4Ljc1IDIgMTIgMiAxMnMwIDMuMjUuNDIgNC44MWMuMjMuODYuOTEgMS41NCAxLjc3IDEuNzdDNS43NTEgMTkgMTIgMTkgMTIgMTlzNi4yNDkgMCA3LjgxLS40MmMuODYtLjIzIDEuNTQtLjkxIDEuNzctMS43N0MyMiAxNS4yNSAyMiAxMiAyMiAxMnMwLTMuMjUtLjQyLTQuODFjLS4yMy0uODYtLjkxLTEuNTQtMS43Ny0xLjc3QzE4LjI0OSA1IDEyIDUgMTIgNVptLTIgMTBWOWw1IDMtNSAzWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Fycm93X2NpcmNsZS92Ni8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IiwKaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjIgMTJjMCA1LjUxLTQuNDkgMTAtMTAgMTBTMiAxNy41MSAyIDEyaDFjMCA0Ljk2IDQuMDQgOSA5IDlzOS00LjA0IDktOS00LjA0LTktOS05QzguODEgMyA1LjkyIDQuNjQgNC4yOCA3LjM4Yy0uMTEuMTgtLjIyLjM3LS4zMS41NkwzLjk0IDhIOHYxSDEuOTZWM2gxdjQuNzRjLjA0LS4wOS4wNy0uMTcuMTEtLjI1LjExLS4yMi4yMy0uNDIuMzUtLjYzQzUuMjIgMy44NiA4LjUxIDIgMTIgMmM1LjUxIDAgMTAgNC40OSAxMCAxMHoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYXJyb3dfY291bnRlcmNsb2Nrd2lzZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsCndpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zIDJhMSAxIDAgMDAtMSAxdjZoNmExIDEgMCAwMDAtMkg1Ljc1N2E4IDggMCAxMS0xLjQ4NSA3LjA3IDEgMSAwIDEwLTEuOTMxLjUxNyAxMC4wMDIgMTAuMDAyIDAgMDAxOC4wOTMgMi43ODJBOS45OTkgOS45OTkgMCAwMDQgNlYzYTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9iZWxsL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAyMGg0YzAgMS4xLS45IDItMiAycy0yLS45LTItMnptMTAtMi42NVYxOUg0di0xLjY1bDItMS44OHYtNS4xNUM2IDcuNCA3LjU2IDUuMSAxMCA0LjM0di0uMzhjMC0xLjQyIDEuNDktMi41IDIuOTktMS43Ni42NS4zMiAxLjAxIDEuMDMgMS4wMSAxLjc2di4zOWMyLjQ0Ljc1IDQgMy4wNiA0IDUuOTh2NS4xNWwyIDEuODd6bS0xIC40Mi0yLTEuODh2LTUuNDdjMC0yLjQ3LTEuMTktNC4zNi0zLjEzLTUuMS0xLjI2LS41My0yLjY0LS41LTMuODQuMDNDOC4xNSA2LjExIDcgNy45OSA3IDEwLjQydjUuNDdsLTIgMS44OFYxOGgxNHYtLjIzeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNiAxOWE0IDQgMCAxMS04IDBINC43NjVDMy4yMSAxOSAyLjI1IDE3LjMwNCAzLjA1IDE1Ljk3bDEuODA2LTMuMDFBMSAxIDAgMDA1IDEyLjQ0NlY4YTcgNyAwIDAxMTQgMHY0LjQ0NmMwIC4xODEuMDUuMzYuMTQyLjUxNWwxLjgwNyAzLjAxYy44IDEuMzMzLS4xNjEgMy4wMjktMS43MTYgMy4wMjlIMTZaTTEyIDNhNSA1IDAgMDAtNSA1djQuNDQ2YTMgMyAwIDAxLS40MjggMS41NDNMNC43NjUgMTdoMTQuNDY4bC0xLjgwNS0zLjAxQTMgMyAwIDAxMTcgMTIuNDQ1VjhhNSA1IDAgMDAtNS01Wm0tMiAxNmEyIDIgMCAxMDQgMGgtNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE0Ljk3IDE2Ljk1IDEwIDEzLjg3VjdoMnY1Ljc2bDQuMDMgMi40OS0xLjA2IDEuN3pNMTIgM2MtNC45NiAwLTkgNC4wNC05IDlzNC4wNCA5IDkgOSA5LTQuMDQgOS05LTQuMDQtOS05LTltMC0xYzUuNTIgMCAxMCA0LjQ4IDEwIDEwcy00LjQ4IDEwLTEwIDEwUzIgMTcuNTIgMiAxMiA2LjQ4IDIgMTIgMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDFDNS45MjUgMSAxIDUuOTI1IDEgMTJzNC45MjUgMTEgMTEgMTEgMTEtNC45MjUgMTEtMTFTMTguMDc1IDEgMTIgMVptMCAyYTkgOSAwIDExMCAxOC4wMDFBOSA5IDAgMDExMiAzWm0wIDNhMSAxIDAgMDAtMSAxdjUuNTY1bC40ODUuMjkyIDMuMzMgMmExIDEgMCAwMDEuMDMtMS43MTRMMTMgMTEuNDM1VjdhMSAxIDAgMDAtMS0xWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik02IDE0di00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xem04IDFoM2MuNTUgMCAxLS40NSAxLTF2LTFoLTEuNXYuNWgtMnYtM2gydi41SDE4di0xYzAtLjU1LS40NS0xLTEtMWgtM2MtLjU1IDAtMSAuNDUtMSAxdjRjMCAuNTUuNDUgMSAxIDF6bTYtMTFINHYxNmgxNlY0bTEtMXYxOEgzVjMuMDFDMyAzIDMgMyAzLjAxIDNIMjF6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0yMSAzSDNhMiAyIDAgMDAtMiAydjE0YTIgMiAwIDAwMiAyaDE4YTIgMiAwIDAwMi0yVjVhMiAyIDAgMDAtMi0yWk0zIDE5VjVoMTh2MTRIM1pNNi45NzIgOC4zNDZjLS42MzEuMzM2LTEuMTMxLjg4MS0xLjQ2NiAxLjUyNkE0LjYgNC42IDAgMDA1IDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTcgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1ptOCAwYy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwMTMgMTJjLS4wMDQuNzQuMTcgMS40Ny41MDYgMi4xMjguMzM2LjY0NS44MzUgMS4xOTEgMS40NjYgMS41MjZhMi44NiAyLjg2IDAgMDAyLjA2Ni4yNTdjLjY5Ny0uMTc4IDEuMjk0LS42MDYgMS43MzctMS4xNzZhMSAxIDAgMDAtMS41NzgtMS4yMjhjLS4yMS4yNy0uNDQ0LjQxMy0uNjU0LjQ2N2EuODYuODYgMCAwMS0uNjMyLS4wODVjLS4yMjItLjExOS0uNDUzLS4zNDItLjYzMS0uNjg0QTIuNjQgMi42NCAwIDAxMTUgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgOS41YzEuMzggMCAyLjUgMS4xMiAyLjUgMi41cy0xLjEyIDIuNS0yLjUgMi41LTIuNS0xLjEyLTIuNS0yLjUgMS4xMi0yLjUgMi41LTIuNW0wLTFjLTEuOTMgMC0zLjUgMS41Ny0zLjUgMy41czEuNTcgMy41IDMuNSAzLjUgMy41LTEuNTcgMy41LTMuNS0xLjU3LTMuNS0zLjUtMy41ek0xMy4yMiAzbC41NSAyLjIuMTMuNTEuNS4xOGMuNjEuMjMgMS4xOS41NiAxLjcyLjk4bC40LjMyLjUtLjE0IDIuMTctLjYyIDEuMjIgMi4xMS0xLjYzIDEuNTktLjM3LjM2LjA4LjUxYy4wNS4zMi4wOC42NC4wOC45OHMtLjAzLjY2LS4wOC45OGwtLjA4LjUxLjM3LjM2IDEuNjMgMS41OS0xLjIyIDIuMTEtMi4xNy0uNjItLjUtLjE0LS40LjMyYy0uNTMuNDMtMS4xMS43Ni0xLjcyLjk4bC0uNS4xOC0uMTMuNTEtLjU1IDIuMjRoLTIuNDRsLS41NS0yLjItLjEzLS41MS0uNS0uMThjLS42LS4yMy0xLjE4LS41Ni0xLjcyLS45OWwtLjQtLjMyLS41LjE0LTIuMTcuNjItMS4yMS0yLjEyIDEuNjMtMS41OS4zNy0uMzYtLjA4LS41MWMtLjA1LS4zMi0uMDgtLjY1LS4wOC0uOThzLjAzLS42Ni4wOC0uOThsLjA4LS41MS0uMzctLjM2TDMuNiA4LjU2bDEuMjItMi4xMSAyLjE3LjYyLjUuMTQuNC0uMzJjLjUzLS40NCAxLjExLS43NyAxLjcyLS45OWwuNS0uMTguMTMtLjUxLjU0LTIuMjFoMi40NE0xNCAyaC00bC0uNzQgMi45NmMtLjczLjI3LTEuNC42Ni0yIDEuMTRsLTIuOTItLjgzLTIgMy40NiAyLjE5IDIuMTNjLS4wNi4zNy0uMDkuNzUtLjA5IDEuMTRzLjAzLjc3LjA5IDEuMTRsLTIuMTkgMi4xMyAyIDMuNDYgMi45Mi0uODNjLjYuNDggMS4yNy44NyAyIDEuMTRMMTAgMjJoNGwuNzQtMi45NmMuNzMtLjI3IDEuNC0uNjYgMi0xLjE0bDIuOTIuODMgMi0zLjQ2LTIuMTktMi4xM2MuMDYtLjM3LjA5LS43NS4wOS0xLjE0cy0uMDMtLjc3LS4wOS0xLjE0bDIuMTktMi4xMy0yLTMuNDYtMi45Mi44M2MtLjYtLjQ4LTEuMjctLjg3LTItMS4xNEwxNCAyeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMi44NDQgMWgtMS42ODdhMiAyIDAgMDAtMS45NjIgMS42MTYgMyAzIDAgMDEtMy45MiAyLjI2MyAyIDIgMCAwMC0yLjM4Ljg5MWwtLjg0MiAxLjQ2YTIgMiAwIDAwLjQxNyAyLjUwNyAzIDMgMCAwMTAgNC41MjUgMiAyIDAgMDAtLjQxNyAyLjUwN2wuODQzIDEuNDZhMiAyIDAgMDAyLjM4Ljg5MiAzLjAwMSAzLjAwMSAwIDAxMy45MTggMi4yNjNBMiAyIDAgMDAxMS4xNTcgMjNoMS42ODZhMiAyIDAgMDAxLjk2My0xLjYxNSAzLjAwMiAzLjAwMiAwIDAxMy45Mi0yLjI2MyAyIDIgMCAwMDIuMzgtLjg5MmwuODQyLTEuNDZhMiAyIDAgMDAtLjQxOC0yLjUwNyAzIDMgMCAwMTAtNC41MjYgMiAyIDAgMDAuNDE4LTIuNTA4bC0uODQzLTEuNDZhMiAyIDAgMDAtMi4zOC0uODkxIDMgMyAwIDAxLTMuOTE5LTIuMjYzQTIgMiAwIDAwMTIuODQ0IDFabS0xLjc2NyAyLjM0N2E2IDYgMCAwMC4wOC0uMzQ3aDEuNjg3YTQuOTggNC45OCAwIDAwMi40MDcgMy4zNyA0Ljk4IDQuOTggMCAwMDQuMTIyLjRsLjg0MyAxLjQ2QTQuOTggNC45OCAwIDAwMTguNSAxMmE0Ljk4IDQuOTggMCAwMDEuNzE2IDMuNzdsLS44NDMgMS40NmE0Ljk4IDQuOTggMCAwMC00LjEyMy40QTQuOTc5IDQuOTc5IDAgMDAxMi44NDMgMjFoLTEuNjg2YTQuOTggNC45OCAwIDAwLTIuNDA4LTMuMzcxIDQuOTk5IDQuOTk5IDAgMDAtNC4xMi0uMzk5bC0uODQ0LTEuNDZBNC45NzkgNC45NzkgMCAwMDUuNSAxMmE0Ljk4IDQuOTggMCAwMC0xLjcxNS0zLjc3bC44NDItMS40NTlhNC45OCA0Ljk4IDAgMDA0LjEyMy0uMzk5IDQuOTgxIDQuOTgxIDAgMDAyLjMyNy0zLjAyNVpNMTYgMTJhNCA0IDAgMTEtNy45OTkgMCA0IDQgMCAwMTggMFptLTQgMmEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy43OCAxNmMyLjM1IDAgNC4yNi0yLjAyIDQuMjYtNC41UzIwLjEzIDcgMTcuNzggN0gxM3YxaDQuNzhjMS44IDAgMy4yNiAxLjU3IDMuMjYgMy41UzE5LjU4IDE1IDE3Ljc4IDE1SDEzdjFoNC43OHpNMTEgMTVINi4xOWMtMS44IDAtMy4yNi0xLjU3LTMuMjYtMy41UzQuMzkgOCA2LjE5IDhIMTFWN0g2LjE5Yy0yLjM1IDAtNC4yNiAyLjAyLTQuMjYgNC41UzMuODQgMTYgNi4xOSAxNkgxMXYtMXptNS00SDh2MWg4di0xeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9saW5rL3Y4LzI0cHguc3ZnIl09Xy5LKCJzdmciLAp7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTkgMThjLjIyNiAwIC40NDgtLjAxMi42NjctLjAzN0E4LjAwMSA4LjAwMSAwIDAxOC4wNyAxNkg3YTQgNCAwIDExMC04aDJhNCA0IDAgMDE0IDQgMiAyIDAgMDAxLjY2OCAxLjk3M0E1Ljk5OSA1Ljk5OSAwIDAwOSA2SDdhNiA2IDAgMTAwIDEyaDJabTggMGE2IDYgMCAxMDAtMTJoLTJjLS4yMjUgMC0uNDQ4LjAxMi0uNjY3LjAzNkE4IDggMCAwMTE1LjkzIDhIMTdhNCA0IDAgMTEwIDhoLTJhNCA0IDAgMDEtNC00IDIgMiAwIDAwLTEuNjY4LTEuOTczQTYgNiAwIDAwMTUgMThoMloifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE1IDUuNjMgMjAuNjYgMTIgMTUgMTguMzdWMTRoLTFjLTMuOTYgMC03LjE0IDEtOS43NSAzLjA5IDEuODQtNC4wNyA1LjExLTYuNCA5Ljg5LTcuMWwuODYtLjEzVjUuNjNNMTQgM3Y2QzYuMjIgMTAuMTMgMy4xMSAxNS4zMyAyIDIxYzIuNzgtMy45NyA2LjQ0LTYgMTItNnY2bDgtOS04LTl6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3NoYXJlL3YxMi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEwIDMuMTU4VjcuNTFjLTUuNDI4LjIyMy04LjI3IDMuNzUtOC44NzUgMTEuMTk5LS4wNC40ODctLjA3Ljk3NS0uMDkgMS40NjRsLS4wMTQuMzk1Yy0uMDE0LjQ3My41NzguNjg0Ljg4LjMyLjMwMi0uMzY4LjYxLS43My45MjUtMS4wODZsLjI0NC0uMjczYzEuNzktMS45NjcgMy0yLjY3NyA0LjkzLTIuOTE3YTE4LjAxMSAxOC4wMTEgMCAwMTItLjExMnY0LjM0NmExIDEgMCAwMDEuNjQ2Ljc2M2w5LjgwNS04LjI5NyAxLjU1LTEuMzEtMS41NS0xLjMxLTkuODA1LTguMjk3QTEgMSAwIDAwMTAgMy4xNThabTIgNi4yN3YuMDAyLTQuMTE2bDcuOTA0IDYuNjg4TDEyIDE4LjY4OXYtNC4yMTJsLTIuMDIzLjAyNGMtMS45MzUuMDIyLTMuNTg3LjE3LTUuMTk3IDEuMDI0YTkgOSAwIDAwLTEuMzQ4Ljg5M2MuMzU1LTEuOTQ3LjkxNi0zLjM5IDEuNjMtNC40MjUgMS4wNjItMS41NDEgMi42MDctMi4zODUgNS4wMi0yLjQ4NUwxMiA5LjQyOFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29mZi92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0zLjE1IDMuODUgNC4xNyA0LjE3TDYuMTYgOUgzdjZoMy4xNkwxMiAxOS45M3YtNy4yMmwyLjQ1IDIuNDVjLS4xNS4wNy0uMy4xMy0uNDUuMTh2MS4wNGMuNDMtLjEuODMtLjI3IDEuMi0uNDhsMS44MSAxLjgxYy0uODguNjItMS45IDEuMDQtMy4wMSAxLjJ2MS4wMWMxLjM5LS4xNyAyLjY2LS43MSAzLjczLTEuNDlsMi40MiAyLjQyLjcxLS43MS0xNy0xNy0uNzEuNzF6TTExIDExLjcxdjYuMDdMNi41MiAxNEg0di00aDIuNTJsMS41LTEuMjdMMTEgMTEuNzF6bS0uNjctNC45Mi0uNzEtLjcxTDEyIDQuMDd2NC4zOWwtMS0xVjYuMjJsLS42Ny41N3pNMTQgOC42NlY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4IDAgLjU4LS4xMyAxLjEzLS4zMyAxLjY0bC0uNzktLjc5Yy4wNy0uMjcuMTItLjU1LjEyLS44NSAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzR6bTAtMy41OFY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45MyAwIDEuNTYtLjQ2IDMuMDEtMS4yMyA0LjI0bC0uNzMtLjczYy42MS0xLjAzLjk2LTIuMjMuOTYtMy41MSAwLTMuNTItMi42MS02LjQzLTYtNi45MnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tdXRlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdaTTQuOTQyIDguNCAxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM0QTQgNCAwIDAxMyAxMi4xNjl2LS4zMzhBNCA0IDAgMDE0Ljk0MiA4LjRabTE2LjM1MS0uMTA4TDE5IDEwLjU4NmwtMi4yOTMtMi4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTcuNTg2IDEybC0yLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDE5IDEzLjQxNGwyLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0LTEuNDE0TDIwLjQxNCAxMmwyLjI5My0yLjI5NGExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29uL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjUgMTJjMCAyLjE0LTEuNSAzLjkyLTMuNSA0LjM4di0xLjA0YzEuNDQtLjQzIDIuNS0xLjc2IDIuNS0zLjM0IDAtMS41OC0xLjA2LTIuOS0yLjUtMy4zNFY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4ek0xMiA0LjA3djE1Ljg2TDYuMTYgMTVIM1Y5aDMuMTZMMTIgNC4wN3ptLTEgMi4xNUw2LjUyIDEwSDR2NGgyLjUyTDExIDE3Ljc4VjYuMjJ6TTIxIDEyYzAgNC4wOC0zLjA1IDcuNDQtNyA3Ljkzdi0xLjAxYzMuMzktLjQ5IDYtMy40IDYtNi45MnMtMi42MS02LjQzLTYtNi45MlY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45M3oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvdm9sdW1lX21heC92Mi8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMS40ODUgMi4xNDMgMy45MTMgNi42ODdBNiA2IDAgMDAxIDExLjgzMnYuMzM4YTYgNiAwIDAwMi45MTMgNS4xNDRsNy41NzIgNC41NDNBMSAxIDAgMDAxMyAyMVYzYTEuMDAxIDEuMDAxIDAgMDAtMS41MTUtLjg1N1ptNi44OCAyLjA3OWExIDEgMCAwMC0uMDAxIDEuNDE0IDkgOSAwIDAxMCAxMi43MjggMSAxIDAgMDAxLjQxNCAxLjQxNCAxMSAxMSAwIDAwMC0xNS41NTYgMSAxIDAgMDAtMS40MTMgMFpNNC45NDEgOC40MDJsLjAwMS0uMDAyTDExIDQuNzY3djE0LjQ2NmwtNi4wNTgtMy42MzVBNCA0IDAgMDEzIDEyLjE2OHYtLjMzN2E0IDQgMCAwMTEuOTQxLTMuNDI5Wk0xNS41MzUgNy4wNWExIDEgMCAwMDAgMS40MTUgNSA1IDAgMDEwIDcuMDcgMSAxIDAgMDAxLjQxNSAxLjQxNSA2Ljk5OSA2Ljk5OSAwIDAwMC05LjkgMSAxIDAgMDAtMS40MTUgMFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUveF9tYXJrL3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoibTEyLjcxIDEyIDguMTUgOC4xNS0uNzEuNzFMMTIgMTIuNzFsLTguMTUgOC4xNS0uNzEtLjcxTDExLjI5IDEyIDMuMTUgMy44NWwuNzEtLjcxTDEyIDExLjI5bDguMTUtOC4xNS43MS43MUwxMi43MSAxMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwveC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuMjkzIDUuMjkzIDEyIDEwLjU4NiA2LjcwNyA1LjI5M2ExIDEgMCAxMC0xLjQxNCAxLjQxNEwxMC41ODYgMTJsLTUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQgMS40MTRMMTIgMTMuNDE0bDUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTMuNDE0IDEybDUuMjkzLTUuMjkzYTEgMSAwIDEwLTEuNDE0LTEuNDE0WiJ9KSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvZXF1YWxpemVyL3YxLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiItNCAtNCAyNCAyNCIsdmVyc2lvbjoiMS4xIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bWxuczp5dCI6Imh0dHA6Ly93d3cueW91dHViZS5jb20ifSxfLksoImciLAp7aWQ6Inl0bS1lcXVhbGl6ZXItaWNvbiIsZmlsbDoiI2ZmZiJ9LF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1sZWZ0Iix4OiIxIix5OiI3Iix3aWR0aDoiNCIsaGVpZ2h0OiI5In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1taWRkbGUiLHg6IjYiLHk6IjIiLHdpZHRoOiI0IixoZWlnaHQ6IjE0In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1yaWdodCIseDoiMTEiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIn0pKSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvc2hvcnRzX3RleHRfbG9nby92Mi83MnB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDcyIDI0IixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSwKXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMjQsIDIpIn0sXy5LKCJwYXRoIix7ZDoibS43MzIxNyAxMy43ODg2IDIuNTc3MzItLjA1MTVjLS4wNTE1NSAyLjMxOTUuMzYwODIgMy4wNDEyIDEuMzQwMjEgMy4wNDEyLjk1MzYxIDAgMS4zNDAyLS42MTg2IDEuMzQwMi0xLjg4MTQgMC0xLjg4MTUtLjk3OTM4LTIuODM1MS0yLjM3MTEzLTQuMDQ2NEMxLjQ3OTU5IDguOTk0NzkuNTUxNzU4IDcuOTYzODYuNTUxNzU4IDUuMjMxOWMwLTIuNjAzMDkgMS4xNTk3OTItNC4xNDk0OCA0LjE3NTI2Mi00LjE0OTQ4IDIuOTEyMzcgMCA0LjEyMzcxIDEuNzAxMDMgMy43MTEzMyA1LjIwNjE5bC0yLjU3NzMyLjE1NDYzYy4wNTE1NS0yLjM5NjktLjIwNjE4LTMuMjIxNjQtMS4yNjI4OC0zLjIyMTY0LS45NzkzOCAwLTEuMzE0NDQuNjQ0MzMtMS4zMTQ0NCAxLjgyOTg5IDAgMS43NzgzNS43NDc0MyAyLjMxOTU5IDIuMzQ1MzcgMy44NDAyMSAxLjk4NDUzIDEuODgxNCAzLjA5Mjc4IDIuOTg5NyAzLjA5Mjc4IDUuNTQxMiAwIDMuMjQ3NS0xLjI2Mjg5IDQuNDg0Ni00LjIwMTAzIDQuNDg0Ni0zLjA2NzAxLjAyNTctNC4zMDQxMjUtMS42MjM3LTMuNzg4NjYtNS4xMjg5Wk05LjY3NTU0Ljc0NzQwNWgyLjgzNTA2VjQuNTg3NjFjMCAxLjE1OTc5LS4wNTE2IDEuOTU4NzYtLjE1NDcgMi45MzgxNGguMDUxNmMuNTQxMi0xLjE1OTc5IDEuNDQzMy0xLjc1MjU3IDIuNjAzMS0xLjc1MjU3IDEuNzUyNiAwIDIuNSAxLjIzNzExIDIuNSAzLjM1MDUxdjkuNTM2MTFoLTIuODM1MVY5LjMyOTg4YzAtMS4wMzA5My0uMjU3Ny0xLjU0NjM5LS45MDItMS41NDYzOS0uNDg5NyAwLS45Mjc5LjI4MzUtMS4yMzcxLjc5ODk3VjE4LjY1OThIOS43MDEzMVYuNzQ3NDA1aC0uMDI1NzdaTTE4LjY3MDMgMTMuMjczMnYtMS44Mjk5YzAtNC4wNzIxNiAxLjE4NTYtNS42NDQzMyAzLjk5NDgtNS42NDQzMyAyLjgwOTMgMCAzLjg2NiAxLjYyMzcxIDMuODY2IDUuNjQ0MzN2MS44Mjk5YzAgMy45NjkxLTEuMDA1MiA1LjU5MjgtMy45NDMzIDUuNTkyOC0yLjk4OTcgMC0zLjkxNzUtMS42NzUzLTMuOTE3NS01LjU5MjhabTUgMS4wMzA5di0zLjk0MzNjMC0xLjcyNjc4LS4yNTc4LTIuNjAzMDctMS4wODI1LTIuNjAzMDctLjc5OSAwLTEuMDU2Ny44NzYyOS0xLjA1NjcgMi42MDMwN3YzLjk0MzNjMCAxLjgwNDEuMjU3NyAyLjYyODkgMS4wNTY3IDIuNjI4OS44MjQ3IDAgMS4wODI1LS44MjQ4IDEuMDgyNS0yLjYyODlaTTI3LjY2NTIgNi4wMzA4OWgyLjE5MDdsLjI1NzggMi43MzE5NmguMTAzYy4yODM2LTIuMDEwMzEgMS4yMTE0LTMuMDE1NDYgMi4zOTY5LTMuMDE1NDYuMTU0NyAwIC4zMDkzLjAyNTc3LjUxNTUuMDUxNTRsLS4xNTQ2IDMuMjczMmMtMS4xODU2LS4yNTc3My0yLjEzOTItLjA1MTU1LTIuNTc3My43MjE2NVYxOC42MzRoLTIuNzMyVjYuMDMwODlaTTM0LjgwNDQgMTUuNjcwMVY4LjI3MzJoLTEuMDMwOVY2LjA1NjdoMS4xNTk4bC4zNjA4LTMuNzM3MTFoMi4xMTM0VjYuMDU2N2gxLjkzM3YyLjIxNjVoLTEuODA0MXY2Ljk4NDVjMCAxLjE4NTYuMTU0NiAxLjQ0MzMuNjE4NSAxLjQ0MzMuNDEyNCAwIC43NzMyLS4wNTE1IDEuMTA4My0uMTgwNGwuMzYwOCAxLjgwNDFjLS44NTA1LjQxMjQtMS45MzMuNTQxMy0yLjYwMzEuNTQxMy0xLjgyOTktLjAyNTgtMi4yMTY1LS45Nzk0LTIuMjE2NS0zLjE5NTlaTTQwLjI2ODIgMTQuODE5NmwyLjM5NjktLjA1MTVjLS4xMjg5IDEuMzkxNy4zNjA4IDIuMTkwNyAxLjIxMTMgMi4xOTA3LjcyMTcgMCAxLjEzNDEtLjQ2MzkgMS4xMzQxLTEuMTA4MyAwLS44NzYzLS43OTktMS40NjktMi4xNjUtMi41LTEuNjIzNy0xLjIzNzEtMi42MDMxLTIuMTY0OS0yLjYwMzEtNC4yMDEgMC0yLjI0MjI3IDEuMTg1Ni0zLjMyNDc0IDMuNjM0LTMuMzI0NzQgMi42MDMxIDAgMy42MzQxIDEuMjg4NjYgMy40Mjc5IDQuMzU1NjRsLTIuMzk2OS4xMDMxYy0uMDI1OC0xLjkwNzE5LS4yODM1LTIuNDQ4NDMtMS4wODI1LTIuNDQ4NDMtLjc3MzIgMC0xLjEwODMuMzg2Ni0xLjEwODMgMS4wODI0NyAwIC45NzkzOC41NjcxIDEuNDQzMjYgMS40OTQ5IDIuMTEzMzYgMi4yMTY1IDEuNjQ5NSAzLjI0NzQgMi40NzQzIDMuMjQ3NCA0LjUzNjEgMCAyLjI2ODEtMS4yODg3IDMuNDAyMS0zLjczNzEgMy40MDIxLTIuNzgzNS0uMDI1OC0zLjgxNDQtMS41NDY0LTMuNDUzNi00LjE0OTVaIiwKZmlsbDoiI2ZmZiJ9KSksXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMCwgMCkifSxfLksoInBhdGgiLHtkOiJNMTguNDUgOC44NTFjMS45MDQtMS4wNjYgMi41NDEtMy40IDEuNDIyLTUuMjE0LTEuMTE5LTEuODE0LTMuNTctMi40Mi01LjQ3NS0xLjM1NUw1LjU1IDcuMjQ3Yy0xLjI5LjcyMi0yLjA0OSAyLjA2OS0xLjk2OCAzLjQ5MS4wODEgMS40MjMuOTg5IDIuNjgzIDIuMzUzIDMuMjY4bC45NDIuNDA0LTEuMzI3Ljc0MmMtMS45MDQgMS4wNjYtMi41NDEgMy40LTEuNDIyIDUuMjE0IDEuMTE5IDEuODE0IDMuNTcgMi40MjEgNS40NzUgMS4zNTVsOC44NDctNC45NjVjMS4yOS0uNzIyIDIuMDQ5LTIuMDY4IDEuOTY4LTMuNDktLjA4MS0xLjQyMy0uOTg5LTIuNjg0LTIuMzUzLTMuMjY5bC0uOTQyLS40MDMgMS4zMjctLjc0M1pNMTAgMTQuNTY3YS4yNS4yNSAwIDAwLjM3NC4yMTdsNC40NS0yLjU2N2EuMjUuMjUgMCAwMDAtLjQzM2wtNC40NS0yLjU2N2EuMjUuMjUgMCAwMC0uMzc0LjIxNnY1LjEzNFoiLAoiZmlsbC1ydWxlIjoiZXZlbm9kZCIsZmlsbDoiI2ZmZiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3dhdGVybWFyay92Mi8xMTBweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJwYXRoIix7aWQ6Inl0cC1zdmctd2F0ZXJtYXJrIixkOiJNIDE2LjY4NzAwNiwwLjk5OTk4NTI0IEMgMTMuNTUxMDY5LDEuMDMyNzk3MiA3LjAyNDUxMTQsMS4xNjI0ODUyIDQuOTk5NTEyNiwxLjY4NzQ4NTIgYyAtMS40OTk5OTkxLDAuNCAtMi41OTk5OTg0LDEuNiAtMi45OTk5OTgyLDMgLTAuNjk5OTk5NSwyLjcgLTAuNjg3NDk5NSw4LjMxMjQ5OTggLTAuNjg3NDk5NSw4LjMxMjQ5OTggMCwwIC0wLjAxMjUsNS42MTI1IDAuNjg3NDk5NSw4LjMxMjUgMC4zOTk5OTk4LDEuNSAxLjU5OTk5OTEsMi42IDIuOTk5OTk4MiwzIDIuNjk5OTk4NCwwLjcgMTMuNDA2MjQyNCwwLjY4NzUgMTMuNDA2MjQyNCwwLjY4NzUgMCwwIDEwLjcwNjI0MywwLjAxMjUgMTMuNDA2MjQxLC0wLjY4NzUgMS41LC0wLjQgMi41OTk5OTksLTEuNiAyLjk5OTk5OSwtMyAwLjY5OTk5OSwtMi43IDAuNjg3NDk5LC04LjMxMjUgMC42ODc0OTksLTguMzEyNSAwLDAgMC4xMTI1LC01LjYxMjQ5OTggLTAuNjg3NDk5LC04LjMxMjQ5OTggLTAuNCwtMS41IC0xLjU5OTk5OSwtMi42IC0yLjk5OTk5OSwtMyBDIDI5LjExMTk5OCwwLjk4NzQ4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IGMgMCwwIC0wLjY3MzQzNywtMC4wMTA5MzggLTEuNzE4NzQ5LDAgeiBtIDcyLjIxODcwNiwwLjkwNjI0OTk2IDAsMjEuMjgxMjQ5OCAyLjc4MTI0OCwwIDAuMzEyNSwtMS4zNzUgMC4wOTM3NSwwIGMgMC4zLDAuNSAwLjcxODc1LDAuODg3NSAxLjIxODc0OSwxLjE4NzUgMC41LDAuMyAxLjA4NzUsMC40MDYyNSAxLjY4NzQ5OSwwLjQwNjI1IDEuMSwwIDEuOTk5OTk5LC0wLjQ5Mzc1IDIuNDk5OTk5LC0xLjU5Mzc1IDAuNSwtMS4xIDAuODEyNDk5LC0yLjcwNjI1IDAuODEyNDk5LC00LjkwNjI1IGwgMCwtMi40MDYyNSBjIDAsLTEuNiAtMC4xMTI1LC0yLjkwNjI1IC0wLjMxMjQ5OSwtMy45MDYyNSAtMC4yLC0wLjg5OTk5OTkgLTAuNSwtMS41OTM3NDk5IC0xLC0yLjA5Mzc0OTkgLTAuNSwtMC40IC0xLjEwNjI0OSwtMC41OTM3NDk5IC0xLjkwNjI0OSwtMC41OTM3NDk5IC0wLjU5OTk5OSwwIC0xLjE4NzQ5OSwwLjE5OTk5OTkgLTEuNjg3NDk5LDAuNDk5OTk5OSAtMC40OTk5OTksMC4zIC0xLjAxODc0OSwwLjgwNjI1IC0xLjIxODc0OSwxLjQwNjI1IGwgMCwtNy45MDYyNDk5IC0zLjI4MTI0OCwwIHogbSAtNDkuOTk5OTcsMC43ODEyNSAzLjkwNjI0OCwxMy45MDYyNDk4IDAuMTg3NSw2LjcxODc1IDMuMzEyNDk4LDAgMCwtNi43MTg3NSAzLjg3NDk5NywtMTMuOTA2MjQ5OCAtMy4zNzQ5OTgsMCAtMS40MDYyNDksNi4zMTI0OTk5IGMgLTAuNCwxLjg5OTk5OTkgLTAuNzEyNDk5LDMuMTk5OTk5OSAtMC44MTI0OTksMy45OTk5OTk5IGwgLTAuMDkzNzUsMCBjIC0wLjIsLTEuMSAtMC41MTI1LC0yLjQgLTAuODEyNSwtMy45OTk5OTk5IGwgLTEuMzc0OTk5LC02LjMxMjQ5OTkgLTMuNDA2MjQ4LDAgeiBtIDI5LjU5MzczMiwwIDAsMi43MTg3NSAzLjQwNjI0OCwwIDAsMTcuOTA2MjQ5OCAzLjI4MTI0OCwwIDAsLTE3LjkwNjI0OTggMy40MDYyNDgsMCBjIDAsMCAwLjAwNjIsLTIuNzE4NzUgLTAuMDkzNzUsLTIuNzE4NzUgbCAtOS45OTk5OTQsMCB6IG0gLTUzLjQ5OTk2Nyw1LjEyNSA4LjkwNjI0NCw1LjE4NzQ5OTggLTguOTA2MjQ0LDUuMDkzNzUgMCwtMTAuMjgxMjQ5OCB6IG0gODkuNDA2MTkzLDAuMDkzNzUgYyAtMS43LDAgLTIuODkzNzUsMC41OTM3NDk5IC0zLjU5Mzc1LDEuNTkzNzQ5OSAtMC42OTk5OSwwLjk5OTk5OTkgLTAuOTk5OTk1LDIuNjA2MjQ5OSAtMC45OTk5OTUsNC45MDYyNDk5IGwgMCwyLjU5Mzc1IGMgMCwyLjIgMC4zMDAwMDUsMy45MDYyNSAwLjk5OTk5NSw0LjkwNjI1IDAuNywxLjEgMS44LDEuNTkzNzUgMy41LDEuNTkzNzUgMS40LDAgMi4zODc1LC0wLjMgMy4xODc1LC0xIDAuNywtMC43IDEuMDkzNzUsLTEuNjkzNzUgMS4wOTM3NSwtMy4wOTM3NSBsIDAsLTAuNSAtMi45MDYyNSwtMC4yMTg3NSBjIDAsMSAtMC4wODEyLDEuNiAtMC4yODEyNSwyIC0wLjEsMC40IC0wLjUsMC42MjUgLTEsMC42MjUgLTAuMywwIC0wLjYxMjUsLTAuMTEyNSAtMC44MTI1LC0wLjMxMjUgLTAuMiwtMC4zIC0wLjMwNjI1LC0wLjU5Mzc1IC0wLjQwNjI1LC0xLjA5Mzc1IC0wLjEsLTAuNSAtMC4wOTM3LC0xLjIxODc1IC0wLjA5MzcsLTIuMjE4NzUgbCAwLC0wLjc4MTI1IDUuNzE4NzUsLTAuMDkzNzUgMCwtMi42MjUgYyAwLC0xLjYgLTAuMTA2MjUsLTIuNzg3NSAtMC40MDYyNSwtMy42ODc1IC0wLjIsLTAuODk5OTk5OSAtMC43MTI1LC0xLjU5OTk5OTkgLTEuMzEyNSwtMS45OTk5OTk5IC0wLjcsLTAuNCAtMS40ODc1LC0wLjU5Mzc0OTkgLTIuNjg3NSwtMC41OTM3NDk5IHogbSAtNTAuNDk5OTY3LDAuMDkzNzUgYyAtMS4wOTk5OTksMCAtMi4wMTg3NDksMC4xODc0OTk5IC0yLjcxODc0OCwwLjY4NzQ5OTkgLTAuNywwLjQgLTEuMiwxLjEyNSAtMS40OTk5OTksMi4xMjQ5OTk5IC0wLjMsMSAtMC41LDIuMjc1IC0wLjUsMy44NzUgbCAwLDIuMjE4NzUgYyAwLDEuNSAwLjEwNjI1LDIuNzgxMjUgMC40MDYyNSwzLjc4MTI1IDAuMiwwLjkgMC43MDYyNDksMS42MjUgMS40MDYyNDksMi4xMjUgMC42OTk5OTksMC41IDEuNzEyNDk5LDAuNjgxMjUgMi44MTI0OTgsMC43ODEyNSAxLjE5OTk5OSwwIDIuMDgxMjQ5LC0wLjI4NzUgMi43ODEyNDksLTAuNjg3NSAwLjY5OTk5OSwtMC40IDEuMDk5OTk5LC0xLjA5Mzc1IDEuNDk5OTk5LC0yLjA5Mzc1IDAuMzk5OTk5LC0xIDAuNDk5OTk5LC0yLjMwNjI1IDAuNDk5OTk5LC0zLjkwNjI1IGwgMCwtMi4yMTg3NSBjIDAsLTEuNiAtMC4yLC0yLjg3NSAtMC40OTk5OTksLTMuODc1IC0wLjMsLTAuODk5OTk5OSAtMC44LC0xLjYyNDk5OTkgLTEuNDk5OTk5LC0yLjEyNDk5OTkgLTAuNywtMC41IC0xLjU4NzUsLTAuNjg3NDk5OSAtMi42ODc0OTksLTAuNjg3NDk5OSB6IG0gMTIuMTg3NDkzLDAuMDkzNzUgMCwxMS45MDYyNDk4IGMgLTAuMSwwLjMgLTAuMjkzNzUsMC40ODc1IC0wLjU5Mzc1LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI0OTksMC4zMTI1IC0wLjMsMCAtMC41ODc1LC0wLjEwNjI1IC0wLjY4NzUsLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjE4NzUsLTAuNzA2MjUgLTAuMTg3NSwtMS40MDYyNSBsIDAsLTEwLjk5OTk5OTggLTMuNDA2MjQ4LDAgMCwxMS4yMTg3NDk4IGMgMCwxLjQgMC4xODc1LDIuMzkzNzUgMC42ODc1LDMuMDkzNzUgMC40OTk5OTksMC43IDEuMjE4NzQ5LDEgMi4yMTg3NDgsMSAxLjQsMCAyLjQ4NzQ5OSwtMC42OTM3NSAzLjE4NzQ5OSwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjMxMjUsMS43ODEyNSAyLjU5Mzc0OSwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDE3LjMxMjQ4OSwwIDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc0OSwwLjQ4NzUgLTAuNTkzNzQ5LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI1LDAuMzEyNSAtMC4zLDAgLTAuNTg3NDk5LC0wLjEwNjI1IC0wLjY4NzQ5OSwtMC40MDYyNSAtMC4xLC0wLjMgLTAuMjE4NzUsLTAuNzA2MjUgLTAuMjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMjE4NzUsMi4zOTM3NSAwLjcxODc0OSwzLjA5Mzc1IDAuNSwwLjcgMS4xODc1LDEgMi4xODc0OTksMSAxLjM5OTk5OSwwIDIuNTE4NzQ5LC0wLjY5Mzc1IDMuMjE4NzQ4LC0yLjA5Mzc1IGwgMC4wOTM3NSwwIDAuMjgxMjUsMS43ODEyNSAyLjYyNDk5OCwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDIwLjkwNjIzNSwyLjA5Mzc0OTggYyAwLjQsMCAwLjU4MTI1LDAuMTEyNSAwLjc4MTI1LDAuMzEyNSAwLjIsMC4zIDAuMzA2MjUsMC41OTM3NSAwLjQwNjI1LDEuMDkzNzUgMC4xLDAuNSAwLjA5MzcsMS4yMTg3NSAwLjA5MzcsMi4yMTg3NSBsIDAsMS4wOTM3NSAtMi41LDAgMCwtMS4wOTM3NSBjIDAsLTEgLTAuMDA2LC0xLjcxODc1IDAuMDkzNywtMi4yMTg3NSAwLC0wLjQgMC4xMTI1LC0wLjggMC4zMTI1LC0xIDAuMiwtMC4zIDAuNTEyNSwtMC40MDYyNSAwLjgxMjUsLTAuNDA2MjUgeiBtIC01MC40OTk5NjcsMC4xMjUgYyAwLjUsMCAwLjgsMC4xODc1IDEsMC42ODc1IDAuMTk5OTk5LDAuNSAwLjI4MTI0OSwxLjMwNjI1IDAuMjgxMjQ5LDIuNDA2MjUgbCAwLDQuNjg3NSBjIDAsMS4xIC0wLjA4MTI1LDEuOTA2MjUgLTAuMjgxMjQ5LDIuNDA2MjUgLTAuMiwwLjUgLTAuNSwwLjY4NzUgLTEsMC42ODc1IC0wLjUsMCAtMC43OTk5OTksLTAuMTg3NSAtMC45OTk5OTksLTAuNjg3NSAtMC4yLC0wLjUgLTAuMzEyNSwtMS4zMDYyNSAtMC4zMTI1LC0yLjQwNjI1IGwgMCwtNC42ODc1IGMgMCwtMS4xIDAuMTEyNSwtMS45MDYyNSAwLjMxMjUsLTIuNDA2MjUgMC4yLC0wLjUgMC40OTk5OTksLTAuNjg3NSAwLjk5OTk5OSwtMC42ODc1IHogbSAzOS42ODc0NzYsMC4wOTM3NSBjIDAuMywwIDAuNjEyNSwwLjEwNjI1IDAuODEyNSwwLjQwNjI1IDAuMiwwLjMgMC4yNzUsMC42NzUgMC4zNzUsMS4zNzUgMC4xLDAuNiAwLjEyNDk5OSwxLjUxODc1IDAuMTI0OTk5LDIuNzE4NzUgbCAwLjA5Mzc1LDEuOTA2MjUgYyAwLDEuMSAwLjAwNjIsMS45OTM3NSAtMC4wOTM3NSwyLjU5Mzc1IC0wLjEsMC42IC0wLjE5OTk5OSwxLjA4MTI1IC0wLjQ5OTk5OSwxLjI4MTI1IC0wLjIsMC4zIC0wLjUwNjI1LDAuNDA2MjUgLTAuOTA2MjUsMC40MDYyNSAtMC4zLDAgLTAuNTEyNDk5LC0wLjA4NzUgLTAuODEyNDk5LC0wLjE4NzUgLTAuMiwtMC4xIC0wLjM5Mzc1LC0wLjI5Mzc1IC0wLjU5Mzc1LC0wLjU5Mzc1IGwgMCwtOC41IGMgMC4xLC0wLjQgMC4yOTM3NSwtMC43IDAuNTkzNzUsLTEgMC4zLC0wLjMgMC42MDYyNDksLTAuNDA2MjUgMC45MDYyNDksLTAuNDA2MjUgeiIsCmNsYXNzOiJ5dHAtc3ZnLWZpbGwiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmVfc2hvcnRzX2JyYW5kXzI0L3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0In0sXy5LKCJwYXRoIix7ZDoibTE5LjQ1LDMuODhjMS4xMiwxLjgyLjQ4LDQuMTUtMS40Miw1LjIybC0xLjMyLjc0Ljk0LjQxYzEuMzYuNTgsMi4yNywxLjg1LDIuMzUsMy4yNy4wOCwxLjQzLS42OCwyLjc3LTEuOTcsMy40OWwtOCw0LjQ3Yy0xLjkxLDEuMDYtNC4zNS40Ni01LjQ4LTEuMzUtMS4xMi0xLjgyLS40OC00LjE1LDEuNDItNS4yMmwxLjMzLS43NC0uOTQtLjQxYy0xLjM2LS41OC0yLjI3LTEuODUtMi4zNS0zLjI3LS4wOC0xLjQzLjY4LTIuNzcsMS45Ny0zLjQ5bDgtNC40N2MxLjkxLTEuMDYsNC4zNS0uNDYsNS40OCwxLjM1WiIsCmZpbGw6IiNmMDMifSksXy5LKCJwYXRoIix7ZDoibTEwLDE1bDUtMy01LTN2NloiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDY3IDYwIixmaWxsOiIifSxfLksoInBhdGgiLHtkOiJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6In0pLApfLksoInBhdGgiLHtmaWxsOiIjRkZGIixjbGFzczoibG9nby1hcnJvdyIsZDoiTTI2LjYgMzkuNDNMNDIuOTMgMzAgMjYuNiAyMC41N3oifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW5fZXhpdC92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCwxMEg2VjloM1Y2aDFWMTB6IE0xOCw5aC0zVjZoLTF2NGg0Vjl6IE0xNSwxNWgzdi0xaC00djRoMVYxNXogTTEwLDE0SDZ2MWgzdjNoMVYxNHoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW4vdjEvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTcsMTFINlY2aDV2MUg3VjExeiBNMTgsNmgtNXYxaDR2NGgxVjZ6IE0xOCwxM2gtMXY0aC00djFoNVYxM3ogTTExLDE3SDd2LTRINnY1aDVWMTd6In0pKTtyZXR1cm4gYX07bHFhPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShFbmEoKSl9O21xYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi8iLGEsYil9OwpjcWE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqLGU9Yi5leHRyYXMsZj1iLnRhcmdldCxoPWIuUG07Yj1iLm5BO2QmJmF3YWl0IFZZKGEse2lkZW50aWZpZXI6YyxJajpkLHRuOiExLGV4dHJhczplLFBtOmh9KTthd2FpdCBhLmlzVmlzaWJsZShjKXx8KGE9YXdhaXQgWm9hKGEsYyksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC1wdXNoIix7aWRlbnRpZmllcjpjLHd6OmEsTEo6ZixuQTpifSksYyYmXy5vTSgpLmRpc3BhdGNoKF8ua0Eoe3R5cGU6Ik1BSU5fQVBQX0FERF9PUEVOX0VOR0FHRU1FTlRfUEFORUwiLHBheWxvYWQ6e3h6OmN9fSkpKX07Vlk9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqO2I9Yi5QbTtjJiYoZCYmYS5PbS5zZXQoYyxkKSxfLlhNKCJlbmdhZ2VtZW50LXBhbmVsLXVwZGF0ZSIse2lkZW50aWZpZXI6Yyx3ejpkLFBtOmJ9KSl9Owp0cWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCk7bnFhKCk7Xy5KeihiLHtqYTpfLkx4LE1iOm9xYX0pO18uSnooYix7amE6Xy5sRixNYjpfLncoIkhUTUxfRElSIik9PT0icnRsIj8icnRsIjoibHRyIn0pO18uSnooYix7amE6Xy5rRixNYjooKT0+ITB9KTtfLkp6KGIse2phOl8ubU8sUGE6WVl9KTtfLkp6KGIse2phOl8uWEwsUGE6Wll9KTtfLkp6KGIse2phOl8ub08sTWI6a3FhfSk7Xy5KeihiLHtqYTpfLkxELE1iOl8udU99KTtfLkp6KGIse2phOl8uY0wsUGE6cHFhfSk7Xy5KeihiLHtqYTpfLmJJLFdjOl8ub019KTtfLkp6KGIse2phOl8ueVAsTWI6bmV3IHFxYX0pO18uSnooYix7amE6Xy52UCxNYjp7VnU6ITAsQ3g6ITB9fSk7Xy5KeihiLHtqYTpfLkpILFdjOigpPT5Qcm9taXNlLnJlc29sdmUoYSl9KTtfLkp6KGIse2phOl8uS0gsV2M6KCk9PigpPT5hfSk7Xy5KeihiLHtqYTokWSxQYTphWn0pO18uSnooYix7amE6Xy5iTCxQYTpycWF9KTtfLkp6KGIse2phOl8uT1csV2M6Xy5oeH0pOwpfLkp6KGIse2phOl8uYk0sTWI6Xy5MT30pO2lmKF8ueCgid2ViX2VuYWJsZV9yZW5kZXJlcl9sb2dnZXIiKSl7bGV0IGM9bmV3IERYO18uTk0od2luZG93LCJuYXZpZ2F0ZSIsKCk9PntjLmFib3J0KCl9KTtfLkp6KGIse2phOl8uQ0csTWI6bmV3IHNxYShjLnNpZ25hbCl9KX19O25xYT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpLGI9YS5yZXNvbHZlKF8uSXkpO18uR3kubWFwcGluZ3Muc2V0KFNXLnRvU3RyaW5nKCkse3R5cGU6Im1hcHBpbmciLHZhbHVlOmJ9KTtfLkp6KGEse2phOl8uSHksTWI6bHFhfSl9O3pYPWZ1bmN0aW9uKCl7dmFyIGE9e30sYj1fLlZ3KCk7YiYmKGEuZGVzdGluYXRpb25TY3JlZW49Yi5nZXRBc0pzb24oKS52ZVR5cGV8fHZvaWQgMCk7YS5uYXZUeXBlPSJTTElfTkFWX1RZUEVfQ09MRCI7YS5hY3Rpb25UeXBlPSJMQVRFTkNZX0FDVElPTl9FTUJFRCI7cmV0dXJue25hdmlnYXRpb246YX19Owp1cWE9ZnVuY3Rpb24oYSxiPXt9KXtyZXR1cm57dHlwZToyLGNvbW1hbmQ6YSxmb3JtOmIuZm9ybX19OwpfLmJaPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfaWpzIik7dHFhKGEpO3ZhciBiPWRvY3VtZW50LmJvZHk7aWYoIWIpdGhyb3cgRXJyb3IoImllIik7Yj1uZXcgdnFhKHtyb290OmIscEo6Xy55KCl9KTtiLmluc3RhbGwod3FhKTtiLnRyYW5zaXRpb24oImluaXRpYWxpemVkIik7Xy5BcSgiZXBfaW5pdF9pamUiKTtfLngoImVtYmVkc190cmFjaW5nX2tzIil8fHBwYSgpO18uWU09ITA7KF8uTWsoImllbW9iaWxlIil8fF8uTWsoIndpbmRvd3MgcGhvbmUiKSYmXy5NaygiZWRnZSIpKSYmXy5NaygiOyB2aXJ0dWFsIil8fChYb2EoYSksbm9hKCkpO3FvYShhKTtFWT1hO2pxYShhKTthPSFfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX3NjcmVlbl9tYW5hZ2VyX2tpbGxzd2l0Y2giKTtiPVtfLlFXLF8uVXosXy5DeV07Sm9hKF8ueCgibXdlYl9jb21tYW5kX2hhbmRsZXJfZGlzYWJsZV9idWlsZF9jb21tYW5kX3BheWxvYWRfc3R1YiIpP3VxYTp2b2lkIDAsYT9fLmh4KCk6dm9pZCAwLGEsCmEsYik7Xy5KeihfLnkoKSx7amE6Xy5VRCxNYjpMWC5pbnN0YW5jZX0pO2lvYSgpO0ZwYSgpfTtXVz1bXTtEb2E9e2dIOiJTTElfU1RBVFVTX1VOS05PV04iLGVIOiJTTElfU1RBVFVTX1NVQ0NFU1MiLGNIOiJTTElfU1RBVFVTX0ZBSUxVUkUiLGZIOiJTTElfU1RBVFVTX1RJTUVPVVQiLGFIOiJTTElfU1RBVFVTX0FCT1JURUQiLGJIOiJTTElfU1RBVFVTX0NBTkNFTExFRCIsZEg6IlNMSV9TVEFUVVNfUkVKRUNURUQifTtjWj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZXZlbnRzPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmV2ZW50cy5jbGVhcigpfX07CktuYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgeHFhO3RoaXMudj1uZXcgY1o7dGhpcy5CPW5ldyBjWjt0aGlzLm89MDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMuaj1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuai5saXN0ZW4oInRpY2siLHRoaXMuZmx1c2gsITEsdGhpcyl9Zmx1c2goKXtpZih0aGlzLm8pe3ZhciBhPXtsb2dnZWRFdmVudHM6WVcodGhpcy52KSx1bmxvZ2dlZEV2ZW50czpZVyh0aGlzLkIpfTtpZihfLngoImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyIpKXt2YXIgYjsoYj1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpKT8oYj1iLnNwbGl0KCItIilbMF0ucmVwbGFjZSgvXC4vZywiIiksYj1pc05hTihOdW1iZXIoYikpPyIwIjpiKTpiPSIiO3ZhciBjPV8udygiUExBWUVSX0NMSUVOVF9WRVJTSU9OIik7aWYoYyl7Yz1jLnNwbGl0KCItIik7bGV0IGQ9IiI7Yy5sZW5ndGg+MSYmKGQ9Y1tjLmxlbmd0aC0xXSk7Yz0KSm5hKGQuc3RhcnRzV2l0aCgiY2FuYXJ5X2V4cGVyaW1lbnQiKT8iY2FuYXJ5IjpkLnN0YXJ0c1dpdGgoImNhbmFyeV9jb250cm9sIik/ImNvbnRyb2wiOiJub25lIil9ZWxzZSBjPSJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04iO2EuZGltZW5zaW9ucz17cGxheWVyQ2xpZW50VmVyc2lvbjpiLHBsYXllckNhbmFyeVN0YXRlOmN9fXRoaXMuRC5mbHVzaChhKTt0aGlzLnYuY2xlYXIoKTt0aGlzLkIuY2xlYXIoKTt0aGlzLm89MDt0aGlzLmouZW5hYmxlZCYmdGhpcy5qLnN0b3AoKX19fTt4cWE9Y2xhc3N7Zmx1c2goYSxiKXtfLngoImVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmciKSYmXy5FcCgic2xpRXZlbnRCYXRjaCIsYSx7c2VuZElzb2xhdGVkUGF5bG9hZDohIWJ9KX19O2RaPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfX07CmVaPWNsYXNzIGV4dGVuZHMgZFp7Z2V0IGVudGl0eU1ldGFkYXRhKCl7cmV0dXJuIHRoaXMuai5lbnRpdHlNZXRhZGF0YX1zZXQgZW50aXR5TWV0YWRhdGEoYSl7dGhpcy5qLmVudGl0eU1ldGFkYXRhPWF9fTt5cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O3pxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoudmlkZW8mJmEucHVzaCh0aGlzLmoudmlkZW8pO3RoaXMuai5wbGF5bGlzdCYmYS5wdXNoKHRoaXMuai5wbGF5bGlzdCk7dGhpcy5qLnZpZGVvSXRlbSYmYS5wdXNoKHRoaXMuai52aWRlb0l0ZW0pO3RoaXMuai5wbGF5bGlzdEl0ZW0mJmEucHVzaCh0aGlzLmoucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpBcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtCcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnJlY29tbWVuZGVkVmlkZW9NZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQXFhKHRoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07Q3FhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3JldHVyblsuLi4obmV3IFNldChhKSldfX07CkRxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmouY3JlYXRvckVudGl0eSYmYS5wdXNoKHRoaXMuai5jcmVhdG9yRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O2ZaPSExOwpFcWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jb3VudGVyPVswLDAsMCwwXTt0aGlzLm89bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuaj0xNjtpZighZlope3ZhciBiLGM9bmV3IFVpbnQ4QXJyYXkoMjU2KSxkPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGU9MTtmb3IoYj0wO2I8MjU2O2IrKyljW2VdPWIsZFtiXT1lLGVePWU8PDFeKGU+PjcmJjI4Myk7Z1g9bmV3IFVpbnQ4QXJyYXkoMjU2KTtjWD1iWCgyNTYpO2RYPWJYKDI1Nik7ZVg9YlgoMjU2KTtmWD1iWCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7ZT1oP2RbMjU1XmNbaF1dOjA7ZV49ZTw8MV5lPDwyXmU8PDNeZTw8NDtlPWUmMjU1XmU+Pj44Xjk5O2dYW2hdPWU7Yj1lPDwxXihlPj43JiYyODMpO3ZhciBmPWJeZTtjWFtoXT1iPDwyNHxlPDwxNnxlPDw4fGY7ZFhbaF09Zjw8MjR8Y1hbaF0+Pj44O2VYW2hdPWU8PDI0fGRYW2hdPj4+ODtmWFtoXT1lPDwyNHxlWFtoXT4+Pjh9Zlo9CiEwfWU9YlgoNDQpO2ZvcihjPTA7Yzw0O2MrKyllW2NdPWFbNCpjXTw8MjR8YVs0KmMrMV08PDE2fGFbNCpjKzJdPDw4fGFbNCpjKzNdO2ZvcihkPTE7Yzw0NDtjKyspYT1lW2MtMV0sYyU0fHwoYT0oZ1hbYT4+MTYmMjU1XV5kKTw8MjR8Z1hbYT4+OCYyNTVdPDwxNnxnWFthJjI1NV08PDh8Z1hbYT4+PjI0XSxkPWQ8PDFeKGQ+PjcmJjI4MykpLGVbY109ZVtjLTRdXmE7dGhpcy5rZXk9ZX1lbmNyeXB0KGEpe3ZhciBiPWEubGVuZ3RoO2E9bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIuc2xpY2UoYS5ieXRlT2Zmc2V0LGEuYnl0ZU9mZnNldCtiKSk7Zm9yKHZhciBjPXRoaXMubyxkPTA7ZDxiJiZ0aGlzLmo8MTY7KWFbZCsrXV49Y1t0aGlzLmorK107Zm9yKHZhciBlPWItKGItZCklMTY7ZDxlOyloWCh0aGlzKSxhW2QrK11ePWNbMF0sYVtkKytdXj1jWzFdLGFbZCsrXV49Y1syXSxhW2QrK11ePWNbM10sYVtkKytdXj1jWzRdLGFbZCsrXV49Y1s1XSxhW2QrK11ePWNbNl0sYVtkKytdXj1jWzddLAphW2QrK11ePWNbOF0sYVtkKytdXj1jWzldLGFbZCsrXV49Y1sxMF0sYVtkKytdXj1jWzExXSxhW2QrK11ePWNbMTJdLGFbZCsrXV49Y1sxM10sYVtkKytdXj1jWzE0XSxhW2QrK11ePWNbMTVdO2lmKGQ8Yilmb3IoaFgodGhpcyksdGhpcy5qPTA7ZDxiOylhW2QrK11ePWNbdGhpcy5qKytdO3JldHVybiBhfX07Z1o9ITE7RnFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy52PWE7dGhpcy5vPWJ9YXN5bmMgZW5jcnlwdChhLGIpe3RyeXtyZXR1cm4gYXdhaXQgTm5hKHRoaXMsYSxiKX1jYXRjaChjKXt0aHJvdyBfLklwKGMpLGdaPSEwLGM7fX19OwppWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YX1lbmNyeXB0KGEsYil7dGhpcy5qfHwodGhpcy5qPW5ldyBFcWEodGhpcy5vKSk7dmFyIGM9dGhpcy5qO2ZvcihsZXQgZD0wO2Q8NDtkKyspYy5jb3VudGVyW2RdPWJbZCo0XTw8MjR8YltkKjQrMV08PDE2fGJbZCo0KzJdPDw4fGJbZCo0KzNdO2Muaj0xNjtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSl9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpHcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YTp7aWYoIWdaJiYhXy5KbCl7aWYoaFope3ZhciBiPWhaO2JyZWFrIGF9aFo9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKGhaPy5pbXBvcnRLZXkmJmhaPy5zaWduJiZoWj8uZW5jcnlwdCl7Yj1oWjticmVhayBhfWhaPXZvaWQgMH1iPXZvaWQgMH1iJiYodGhpcy5qPW5ldyBGcWEoYSxiKSk7dGhpcy5vPW5ldyBpWihhKX1hc3luYyBlbmNyeXB0KGEsYil7aWYodGhpcy5qKXRyeXtyZXR1cm4gYXdhaXQgdGhpcy5qLmVuY3J5cHQoYSxiKX1jYXRjaChjKXtfLklwKGMpLGdaPSEwLHRoaXMuaj12b2lkIDB9cmV0dXJuIHRoaXMuby5lbmNyeXB0KGEsYil9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpIcWE9e0lOVkFMSURfRU5DT0RFUl9WRVJTSU9OOiJJbnZhbGlkIGVuY29kZXIgdmVyc2lvbiIsS0VZX0NSRUFUSU9OX0ZBSUxFRDoiRmFpbGVkIHRvIGNyZWF0ZSBlbmNvZGVyIGtleSIsVU5LTk9XTl9ERUNPREVfRVJST1I6IkZhaWxlZCB0byBkZWNvZGUgUEVTIGRhdGEiLFVOS05PV05fRU5DT0RFX0VSUk9SOiJGYWlsZWQgdG8gZW5jb2RlIFBFUyBkYXRhIixXUk9OR19EQVRBX1RZUEU6IkVuY29kZXIgY2Fubm90IHByb2Nlc3MgdGhlIGRhdGEgdHlwZSJ9O2lYPWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGI9e30pe3N1cGVyKEhxYVthXSx7bmFtZToiUEVTRW5jb2RlckVycm9yIix0eXBlOmEsLi4uYn0pO3RoaXMudHlwZT1hO3RoaXMubGV2ZWw9IldBUk5JTkciO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLGlYLnByb3RvdHlwZSl9fTsKalo9Y2xhc3N7ZW5jb2RlKGEsYil7dHJ5e3JldHVybiB0aGlzLnYoYSxiKX1jYXRjaChjKXtqWChjLE9uYSl9fWRlY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy5vKGEsYil9Y2F0Y2goYyl7algoYyxQbmEpfX19O0lxYT1jbGFzcyBleHRlbmRzIGpae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9dihhLGIpe2I9a1goYik7YT0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYSkpO3JldHVybiB0aGlzLmouZW5jcnlwdChhLGIpfW8oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjF9KTt2YXIgYz1uZXcgVGV4dERlY29kZXI7Yj1rWChiKTthPXRoaXMuai5kZWNyeXB0KGEsYik7cmV0dXJuIEpTT04ucGFyc2UoYy5kZWNvZGUoYSkpfX07ClFuYT17YW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFuaW1hdGlvbkVudGl0eSJ9fSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhY2NvdW50TGlua1N0YXR1c0VudGl0eSJ9fSxhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHkifX0sYm9vbGVhbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJib29sZWFuRW50aXR5In19LGJ1dHRvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJidXR0b25FbnRpdHkifX0sY2FwdGlvblRyYWNrOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNhcHRpb25UcmFjayJ9fSwKY2hhbm5lbEhhbmRsZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGFubmVsSGFuZGxlIn19LGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhdExvYWRpbmdTdGF0ZUVudGl0eSJ9fSxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHkifX0sY2hpcEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGlwRW50aXR5In19LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5In19LApjb21tZXJjZUNhcnRMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQ2FydExpc3RFbnRpdHkifX0sY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkifX0sY29tcG9zaXRlU291cmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbXBvc2l0ZVNvdXJjZUVudGl0eSJ9fSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzJiZhLnB1c2goLi4udGhpcy5qLmNvbXBvc2l0ZVNvdXJjZUtleXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11bHRpdmlld1N0YWdpbmdFbnRpdHkifX0sY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkIn19LApjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQifX0sY29udGludWF0aW9uVG9rZW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGludWF0aW9uVG9rZW5FbnRpdHkifX0sZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eSJ9fSxkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHkifX0sZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSJ9fSwKZG93bmxvYWRTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZG93bmxvYWRTdGF0dXNFbnRpdHkifX0sZGlzbWlzc1N0YXRlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRpc21pc3NTdGF0ZSJ9fSxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkifX0sZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZW1vamlGb3VudGFpbkRhdGFFbnRpdHkifX0sZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eSJ9fSwKZmFrZUNoYW5uZWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwmJmEucHVzaCh0aGlzLmouYWx0ZXJuYXRlQ2hhbm5lbCk7dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0JiZhLnB1c2goLi4udGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0KTt0aGlzLmoub25lb2ZDaGFubmVsRW50aXR5JiZhLnB1c2godGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZUNoYW5uZWwifX0sZmFrZVBsYXlsaXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlUGxheWxpc3QifX0sZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50UGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50UGxheWxpc3QpO2lmKHRoaXMuai5lbnRyaWVzKWZvcihsZXQgYiBvZiB0aGlzLmouZW50cmllcylhLnB1c2goLi4uKG5ldyB5cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uIn19LGZha2VWaWRlbzpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkmJmEucHVzaCh0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuai5jcmVhdG9ycyYmYS5wdXNoKC4uLnRoaXMuai5jcmVhdG9ycyk7dGhpcy5qLnRoZUJpZ2dlc3RGYW4mJmEucHVzaCh0aGlzLmoudGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVZpZGVvIn19LGZha2VWaWRlb0Rlc2NyaXB0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlb0Rlc2NyaXB0aW9uIn19LApmZWF0dXJlZFByb2R1Y3RzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZlYXR1cmVkUHJvZHVjdHNFbnRpdHkifX0sc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eSJ9fSxmbG93U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmxvd1N0YXRlRW50aXR5In19LGljb25CYWRnZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpY29uQmFkZ2VFbnRpdHkifX0saW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5In19LGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSJ9fSwKbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHkifX0sZGF0YUZyZXNobmVzc0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkYXRhRnJlc2huZXNzRW50aXR5In19LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5In19LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVSZWFjdGlvbnNEYXRhRW50aXR5In19LApsb2dvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxvZ29FbnRpdHkifX0sbWFjcm9NYXJrZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFjcm9NYXJrZXJFbnRpdHkifX0sbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouZG93bmxvYWRzTGlzdCk7dGhpcy5qLnNtYXJ0RG93bmxvYWRzTGlzdCYmYS5wdXNoKHRoaXMuai5zbWFydERvd25sb2Fkc0xpc3QpO3RoaXMuai5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eSJ9fSwKbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7aWYodGhpcy5qLmRvd25sb2Fkcylmb3IobGV0IGIgb2YgdGhpcy5qLmRvd25sb2FkcylhLnB1c2goLi4uKG5ldyB6cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eSJ9fSxtYWluUGxheWxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmCmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoudmlkZW9zJiZhLnB1c2goLi4udGhpcy5qLnZpZGVvcyk7dGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZhLnB1c2goLi4udGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLmouZG93bmxvYWRTdGF0ZSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZFN0YXRlKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluUGxheWxpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmouY2hhbm5lbENvbnRyaWJ1dG9yJiZhLnB1c2godGhpcy5qLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0VmlkZW9FbnRpdHkifX0sCm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5vd25lciYmYS5wdXNoKHRoaXMuai5vd25lcik7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnVzZXJTdGF0ZSYmYS5wdXNoKC4uLihuZXcgQ3FhKHRoaXMuai51c2VyU3RhdGUpKS5vKCkpOwp0aGlzLmouYWRkaXRpb25hbE1ldGFkYXRhJiZhLnB1c2goLi4uKG5ldyBCcWEodGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblZpZGVvRW50aXR5In19LG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5In19LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZURldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZURldGFpbCJ9fSxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljQWxidW1SZWxlYXNlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLmoucHJpbWFyeUFydGlzdHMmJmEucHVzaCguLi50aGlzLmoucHJpbWFyeUFydGlzdHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpOwp0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5kb3dubG9hZE1ldGFkYXRhJiZhLnB1c2godGhpcy5qLmRvd25sb2FkTWV0YWRhdGEpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlIn19LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsIn19LG11c2ljQXJ0aXN0RGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50QXJ0aXN0JiZhLnB1c2godGhpcy5qLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3REZXRhaWwifX0sbXVzaWNBcnRpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdCJ9fSxtdXNpY0FydGlzdFVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0VXNlckRldGFpbCJ9fSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5kb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRUcmFja3MpO3RoaXMuai5zbWFydERvd25sb2FkZWRUcmFja3MmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouZG93bmxvYWRlZEVwaXNvZGVzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRFcGlzb2Rlcyk7dGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkUGxheWxpc3RzKTt0aGlzLmouc21hcnREb3dubG9hZGVkUGxheWxpc3RzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyYmCmEucHVzaCguLi50aGlzLmoubWV0YWRhdGFPbmx5VHJhY2tzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sbXVzaWNMaWJyYXJ5RWRpdDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlFZGl0In19LG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkifX0sbXVzaWNQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpOwp0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgRHFhKHRoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdCJ9fSxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNTaGFyZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1NoYXJlIn19LG11c2ljVHJhY2tEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrRGV0YWlsIn19LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTsKdGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNUcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLmFydGlzdHMmJmEucHVzaCguLi50aGlzLmouYXJ0aXN0cyk7dGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmouYXVkaW9Nb2RlVmVyc2lvbik7dGhpcy5qLnZpZGVvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmoudmlkZW9Nb2RlVmVyc2lvbik7dGhpcy5qLnVzZXJEZXRhaWxzJiYKYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai5zaGFyZSYmYS5wdXNoKHRoaXMuai5zaGFyZSk7dGhpcy5qLmxpYnJhcnlFZGl0JiZhLnB1c2godGhpcy5qLmxpYnJhcnlFZGl0KTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubHlyaWNzJiZhLnB1c2godGhpcy5qLmx5cmljcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFjayJ9fSxtdXNpY1RyYWNrVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGFyZW50VHJhY2smJmEucHVzaCh0aGlzLmoucGFyZW50VHJhY2spOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrVXNlckRldGFpbCJ9fSxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5In19LG9mZmxpbmVWaWRlb1BvbGljeTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9Qb2xpY3kifX0sb2ZmbGluZVZpZGVvU3RyZWFtczpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9TdHJlYW1zIn19LG9mZmxpbmVhYmlsaXR5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVhYmlsaXR5RW50aXR5In19LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLmZha2VDaGlsZHJlbiYmYS5wdXNoKC4uLnRoaXMuai5mYWtlQ2hpbGRyZW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eSJ9fSxwYWdlSGVhZGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhZ2VIZWFkZXJFbnRpdHkifX0scGFydHlHYW1lUGFuZWxFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGFydHlHYW1lUGFuZWxFbnRpdHkifX0sc2xpZGVyR2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNsaWRlckdhbWVQYW5lbEVudGl0eSJ9fSxwZHBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwZHBTdGF0ZUVudGl0eSJ9fSxwaW5uZWRQcm9kdWN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBpbm5lZFByb2R1Y3RFbnRpdHkifX0sCnBsYXliYWNrRGF0YTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhbnNmZXImJmEucHVzaCh0aGlzLmoudHJhbnNmZXIpO3RoaXMuai5hZHNQbGF5YmFja0RhdGEmJmEucHVzaCguLi50aGlzLmouYWRzUGxheWJhY2tEYXRhKTt0aGlzLmouZHJtTGljZW5zZSYmYS5wdXNoKHRoaXMuai5kcm1MaWNlbnNlKTt0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5JiZhLnB1c2godGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5YmFja0RhdGEifX0scGxheWVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWVyU3RhdGVFbnRpdHkifX0scGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5In19LApxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHkifX0scmVmcmVzaDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJyZWZyZXNoIn19LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHkifX0sc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZCJ9fSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5In19LHNldHRpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2V0dGluZ0VudGl0eSJ9fSwKc3RyaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInN0cmluZ0VudGl0eSJ9fSxzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eSJ9fSx0cmFuc2ZlcjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyYmYS5wdXNoKC4uLnRoaXMuai5vZmZsaW5lVmlkZW9TdHJlYW1zKTt0aGlzLmouY2FwdGlvblRyYWNrJiZhLnB1c2goLi4udGhpcy5qLmNhcHRpb25UcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJhbnNmZXIifX0sdHJlbmRpbmdPZmZlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ0cmVuZGluZ09mZmVyRW50aXR5In19LAp1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eSJ9fSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSJ9fSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHkifX0sdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSJ9fSx2b3RpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idm90aW5nRW50aXR5In19LAp5dE1haW5DaGFubmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai51c2VyQ2hhbm5lbERldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5DaGFubmVsRW50aXR5In19LHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSJ9fSx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eSJ9fSwKeXRNYWluVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmYS5wdXNoKHRoaXMuai5jaGFubmVsT3duZXIpO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmouZG93bmxvYWRTdGF0dXMmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0dXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpblZpZGVvRW50aXR5In19fTtYbmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YTt0aGlzLm89Yjt0aGlzLnY9e319fTsKSnFhPWNsYXNzIGV4dGVuZHMgalp7dihhKXtyZXR1cm4gYX1vKGEpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBpWCgiV1JPTkdfREFUQV9UWVBFIix7SXA6MH0pO3JldHVybiBhfX07Wm5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXt9O3RoaXMualswXT1uZXcgSnFhO2lmKCFfLngoImFlc19wZXNfZW5jb2Rlcl9raWxsc3dpdGNoIikpe3ZhciBhPXRoaXMuajt0cnl7bGV0IGQ9Xy5WaigpO3ZhciBiPWtYKGQpO3ZhciBjPW5ldyBJcWEobmV3IGlaKGIpLG5ldyBHcWEoYikpfWNhdGNoKGQpe3Rocm93IGE9ZCBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiS0VZX0NSRUFUSU9OX0ZBSUxFRCIse29yaWdpbmFsTWVzc2FnZTpkLm1lc3NhZ2V9KTpuZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiKSxfLkdwKGEpLGE7fWFbMV09Y319fTsKJG5hPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy50b2tlbj1hO3RoaXMuaj1iO3RoaXMub2JzZXJ2ZXJzPVtdO2E9bmV3IF8udS5Ccm9hZGNhc3RDaGFubmVsKGBQRVJTSVNURU5UX0VOVElUWV9TVE9SRV9TWU5DOiR7Xy5WaigpfWApO2Eub25tZXNzYWdlPXRoaXMuby5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1hfW9ic2VydmUoYSl7dGhpcy5vYnNlcnZlcnMucHVzaChhKTtyZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2YoYSk7Yj49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKGIsMSl9fW8oYSl7cVgodGhpcyxhLmRhdGEpfWxhKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fTsKTHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9S3FhO3RoaXMub2JzZXJ2ZXJzPVtdO3RoaXMudmFsdWU9YX1zdWJzY3JpYmUoYSl7aWYoYS5laiE9bnVsbCl0aHJvdyBFcnJvcigiRmMiKTthLmVqPXRoaXMub2JzZXJ2ZXJzLmxlbmd0aDt0aGlzLm9ic2VydmVycy5wdXNoKGEpO3RyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe31yZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzW3RoaXMub2JzZXJ2ZXJzLmxlbmd0aC0xXTt0aGlzLm9ic2VydmVyc1thLmVqXT1iO2IuZWo9YS5lajt0aGlzLm9ic2VydmVycy5wb3AoKX19dXBkYXRlKGEpe3RoaXMudmFsdWU9YSh0aGlzLnZhbHVlKTt0aGlzLm5vdGlmeSgpfXNldChhKXt0aGlzLnZhbHVlPWE7dGhpcy5ub3RpZnkoKX1ub3RpZnkoKXtmb3IobGV0IGEgb2YgdGhpcy5vYnNlcnZlcnMpdHJ5e2EodGhpcy52YWx1ZSl9Y2F0Y2goYil7fX19Owpqb2E9e2xhbmRzY2FwZToiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWF4LXdpZHRoOiAyOTlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07WFk9e307a1o9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLmNvbnN0cnVjdG9yPT09a1opdGhyb3cgbmV3IFR5cGVFcnJvcigic2QiKTt9ZGlzcG9zZSgpe31kaXNjb25uZWN0KCl7fW9ic2VydmUoYSxiLGMpe3JldHVybntlbGVtZW50OmEsb3B0aW9uOmN9fXJmKCl7fX07Ck1xYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmlzQ29ubmVjdGVkPSEwO3RoaXMudj0hMTt0aGlzLm9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLkIuYmluZCh0aGlzKSx7cm9vdE1hcmdpbjoiLTAuMXB4In0pO3RoaXMubz1uZXcgTWFwO3RoaXMuaj1uZXcgTWFwfWRpc3Bvc2UoKXt0aGlzLmRpc2Nvbm5lY3QoKTt0aGlzLmouY2xlYXIoKX1kaXNjb25uZWN0KGE9ITEpe3RoaXMuaXNDb25uZWN0ZWQ9ITE7dGhpcy52PWE7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7Zm9yKGxldCBiIG9mIHRoaXMuby52YWx1ZXMoKSliLmRpc2Nvbm5lY3QoKX1CKGEpe2ZvcihsZXQgYyBvZiBhKXt2YXIgYj10aGlzLmouZ2V0KGMudGFyZ2V0KTtpZighYiljb250aW51ZTthPWMuaXNJbnRlcnNlY3Rpbmc7Zm9yKGxldCBbZCxlXW9mIGIpe2I9ZDtsZXQgZj1lO2ImJihiLnN0YXRlPT09InZpc2libGUiJiZhfHxiLnN0YXRlPT09ImhpZGRlbiImJgohYSkmJihmKGMudGFyZ2V0LGIuc3RhdGUpLGIuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yy50YXJnZXQsb3B0aW9uOmJ9KSl9fX1EKGEpe2ZvcihsZXQgYiBvZiBhKWlmKChhPXRoaXMuai5nZXQoYi50YXJnZXQpKSYmYi5pc0ludGVyc2VjdGluZylmb3IobGV0IFtjLGRdb2YgYSl7YT1jO2xldCBlPWQ7YSYmYS5zdGF0ZT09PSJwcmVzY2FuIiYmKGUoYi50YXJnZXQsYS5zdGF0ZSksYS5WYiYmdGhpcy5yZih7ZWxlbWVudDpiLnRhcmdldCxvcHRpb246YX0pKX19b2JzZXJ2ZShhLGIsYyl7dmFyIGQ9KGQ9dGhpcy5qLmdldChhKSkmJmQuaGFzKGMpP3tlbGVtZW50OmEsb3B0aW9uOmN9OnZvaWQgMDtpZihkKXJldHVybiBkO2Q9e2VsZW1lbnQ6YSxvcHRpb246Y307dGhpcy5qLmhhcyhhKXx8dGhpcy5qLnNldChhLG5ldyBNYXApO3ZhciBlPXRoaXMuai5nZXQoYSk7ZSYmIWUuaGFzKGMpJiZlLnNldChjLGIpO3RoaXMudnx8KGMuc3RhdGU9PT0icHJlc2NhbiImJihiPTAsYS5oYXNBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikmJgooYz1OdW1iZXIoYS5nZXRBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikpLGlzTmFOKGMpfHwoYj1jKSksdGhpcy5vLmhhcyhiKT9iPXRoaXMuby5nZXQoYik6KGM9YC0wLjFweCAtMC4xcHggJHtifXB4IC0wLjFweGAsYz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5ELmJpbmQodGhpcykse3Jvb3RNYXJnaW46Y30pLHRoaXMuby5zZXQoYixjKSxiPWMpLGIub2JzZXJ2ZShhKSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKGEpKTtyZXR1cm4gZH1yZihhKXt2YXIgYj10aGlzLmouZ2V0KGEuZWxlbWVudCk7aWYoYiYmYi5oYXMoYS5vcHRpb24pKXtiLmRlbGV0ZShhLm9wdGlvbik7aWYoYSYmYS5vcHRpb24uc3RhdGU9PT0icHJlc2NhbiIpZm9yKGxldCBjIG9mIHRoaXMuby52YWx1ZXMoKSljLnVub2JzZXJ2ZShhLmVsZW1lbnQpO2Iuc2l6ZT09PTAmJih0aGlzLmouZGVsZXRlKGEuZWxlbWVudCksdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KSl9fX07CnFZPVsieW91dHViZV9maWxsIiwieW91dHViZV9vdXRsaW5lIl07QVg9dm9pZCAwO3ZhciBOcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52YWx1ZT1hfWRlcmVmKCl7cmV0dXJuIHRoaXMudmFsdWV9fSxPcWE9dHlwZW9mIFdlYWtSZWY9PT0iZnVuY3Rpb24iP1dlYWtSZWY6TnFhO3ZhciBGWD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5tYXA9bmV3IFdlYWtNYXB9YWRkKGEsYil7dGhpcy5tYXAuaGFzKGEpfHwodGhpcy5qKGEpLHRoaXMubWFwLnNldChhLFtdKSk7dGhpcy5tYXAuZ2V0KGEpLnB1c2gobmV3IE9xYShiKSl9Z2V0KGEpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWIubWFwLmdldChhKTtpZihjKXt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1lLmRlcmVmKCk7ZiYmKGQrKyx5aWVsZCBmKX1pZigyKmQ8Yy5sZW5ndGgpe2Q9MDtmb3IobGV0IGUgb2YgYyllLmRlcmVmKCkmJihjW2QrK109ZSk7Yy5sZW5ndGg9ZH19fSgpfX0oYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLEFvYSx7b25jZTohMH0pfSksRVg9bmV3IFdlYWtNYXAsRFg9QWJvcnRDb250cm9sbGVyLGxaPUFib3J0U2lnbmFsO3R5cGVvZiBsWi5hYm9ydCE9PSJmdW5jdGlvbiImJihsWi5hYm9ydD14b2EpOwp0eXBlb2YgbFoucHJvdG90eXBlLnRocm93SWZBYm9ydGVkIT09ImZ1bmN0aW9uIiYmKGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZD15b2EpO3R5cGVvZiBsWi5hbnkhPT0iZnVuY3Rpb24iJiYobFouYW55PXpvYSk7dHlwZW9mIGxaLnRpbWVvdXQhPT0iZnVuY3Rpb24iJiYobFoudGltZW91dD1Cb2EpO3ZhciBHWD0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLnNwbGl0KCIiKTt2YXIgVVk9bmV3IF8uSSgiY29weUxpbmtSZW5kZXJlciIpO3ZhciBQcWE9bmV3IF8uSSgiYXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUXFhPW5ldyBfLkkoImNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUnFhPW5ldyBfLkkoInNob3dBdWRpb1RyYWNrUGlja2VyQWN0aW9uQ29tbWFuZCIpO3ZhciBTcWE9bmV3IF8uSSgic2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgT3BhPW5ldyBfLkkoInBob25lRGlhbGVyRW5kcG9pbnQiKTt2YXIgU3BhPW5ldyBfLkkoInNlbmRTbXNFbmRwb2ludCIpO3ZhciBLcGE9bmV3IF8uSSgiY29weVRleHRFbmRwb2ludCIpO3ZhciBtWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX1vKGE9e30pe0lYKHRoaXMubmFtZSwiU1VDQ0VTUyIsYSl9aihhPXt9KXtJWCh0aGlzLm5hbWUsIkZBSUxVUkUiLGEpfX0sRW9hPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubmFtZT0iU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTEkiO3RoaXMuc2xpSWQ9YTt0aGlzLnRpbWVvdXRNcz0zRTQ7dGhpcy5vPSIiO3RoaXMudj0tMTt0aGlzLmo9ITE7dGhpcy5kaW1lbnNpb25zPXt9fWdldElkKCl7cmV0dXJuIHRoaXMuc2xpSWR9RHIoYT17fSl7dGhpcy5qfHwodGhpcy5qPSEwLHRoaXMuZGltZW5zaW9ucz1hLHRoaXMubz1Db2EoKSxaVyh7ZGltZW5zaW9uczp0aGlzLmRpbWVuc2lvbnMscmVjb3Jkczpbe25hbWU6dGhpcy5uYW1lLHN0YXRlOiJTTElfU1RBVEVfU1RBUlQiLHNsaUlkOnRoaXMub31dfSksdGhpcy50aW1lb3V0TXM+MCYmKHRoaXMudj1zZXRUaW1lb3V0KCgpPT4Ke3RoaXMuemcoIlRJTUVPVVQiKX0sdGhpcy50aW1lb3V0TXMpKSl9emcoYSl7dGhpcy5qJiYodGhpcy50aW1lb3V0TXM+MCYmY2xlYXJUaW1lb3V0KHRoaXMudiksdGhpcy5qPSExLGE9e2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0dXM6SFgoYSksc3RhdGU6IlNMSV9TVEFURV9FTkQiLHNsaUlkOnRoaXMub31dfSxfLkV5LnJlZ2lzdGVyLmRlbGV0ZShgJHt0aGlzLm5hbWV9XyR7dGhpcy5zbGlJZH1gKSxaVyhhKSl9fTt2YXIgU1g9bmV3IG1aKCJTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfUExBWUVSX0VSUk9SX1NMSSIpLFRYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9VTlBMQVlBQkxFX1NMSSIpO3ZhciBHb2E9WyJjbGlja1RyYWNraW5nUGFyYW1zIiwiY29tbWFuZE1ldGFkYXRhIiwibG9nZ2luZ1VybHMiLCJidWlsZENvbW1hbmRQYXlsb2FkIl07dmFyIExYPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPSExLGQ9ITEsZT1bXSl7dmFyIGY9d1g7dGhpcy52PWE7dGhpcy5uYXZpZ2F0ZT12b2lkIDA7dGhpcy5qPWI7dGhpcy5ZPWM7dGhpcy5JPWQ7dGhpcy5CPWY7dGhpcy5LPWU7dGhpcy5NPVtdO3RoaXMubz1uZXcgU2V0O3RoaXMuRD0hMTtLb2EodGhpcyl9cmVzb2x2ZUNvbW1hbmQoYSxiKXtyZXR1cm4gTlgodGhpcyxhLGIpLmhhbmRsZWR9fTt2YXIgblo9bmV3IF8uVnMoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBvWj1jbGFzc3thc3luYyByZXNvbHZlKGEsYil7YXdhaXQgdGhpcy5yZXNvbHZlQ29tbWFuZChhLGIpfX07dmFyIHBaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnN0b3JlPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSl7aWYoYT1fLkIoYSxfLnduYSk/LmVudGl0eUJhdGNoVXBkYXRlKWE9ey4uLmEsbXV0YXRpb25zOlsuLi4oYS5tdXRhdGlvbnN8fFtdKV19LGF3YWl0IGRvYShhLHRoaXMuc3RvcmUpfX07cFpbXy5Mbl09W25aXTt2YXIgJFk9bmV3IF8uVnMoIlBBTkVMX0xPQURJTkdfU1RSQVRFR1lfVE9LRU4iKTt2YXIgcVo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5jb250cm9sbGVyPWE7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1ifWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7dmFyIGM9Xy5CKGEsXy5OVyk7aWYoYz8ucGFuZWxMb2FkaW5nU3RyYXRlZ3kpe3ZhciBkPVZYKHRoaXMuY29udHJvbGxlcixiPy5mb3JtPy5lbGVtZW50KSxlPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5wb3NpdGlvbixmPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5ob3ZlckNvbmZpZyxoPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5leHBhbmRUb0Z1bGxXaWR0aCxrPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5vcGVuVG9TaWRlO2F3YWl0IHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuZXhlY3V0ZSh7Y29tbWFuZDphLGRhdGE6Yy5wYW5lbExvYWRpbmdTdHJhdGVneSxnbjphc3luYyBsPT4Ke2lmKGwuc2hlZXRWaWV3TW9kZWwpe2lmKGYpe3ZhciBtPXRoaXMuY29udHJvbGxlcjttLm89ISFmLnByZXZlbnRDbG9zZVdoaWxlSG92ZXJlZDttLmhpZGVEZWxheU1zPWYuaGlkZURlbGF5TXM/PzA7bS5zaG93RGVsYXlNcz1mLnNob3dEZWxheU1zPz8wfWF3YWl0IHRoaXMuY29udHJvbGxlci53Zyh7dmlld01vZGVsOmwuc2hlZXRWaWV3TW9kZWwsVXI6ZSxleHBhbmRUb0Z1bGxXaWR0aDpoLG9wZW5Ub1NpZGU6a30sZCxiPy5mb3JtPy5lbGVtZW50KX19LGJ2OntsYXllcjowfX0pfX19O3FaW18uTG5dPVtfLmNMLCRZXTt2YXIgVHFhPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoKXtzdXBlcigpfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFBxYSk7YiYmKGE9YXdhaXQgXy5MSCgpKSYmYT8uaXNSZWFkeT8uKCkmJihiPVFvYShhLGI/Lmxhbmd1YWdlQ29kZSkpJiZhLnNldEF1ZGlvVHJhY2soYil9fTt2YXIgclo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFFxYSk7aWYoYiYmKGE9YXdhaXQgXy5MSCgpKSl7dmFyIGM9Yj8ubGFuZ3VhZ2VDb2RlO2I9Yj8uaXNBdXRvVHJhbnNsYXRlZDthLmdldFZpZGVvRGF0YSYmXy4kTyhhKS5sZW5ndGgmJigoYz1Sb2EoYSxjLGIpKT9hLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsYyk6KGEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pKSk7YT1hLmlzU3VidGl0bGVzT24oKT9fLmFBKCJDQVBUSU9OX09OX1RPQVNUIix2b2lkIDAsIlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iKTpfLmFBKCJDQVBUSU9OX09GRl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIpO3RoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYSksNUUzKSl9fX07CnJaW18uTG5dPVtfLlVEXTt2YXIgc1o9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7Xy5CKGEsUnFhKSYmKGE9YXdhaXQgXy5MSCgpKSYmKGE9U29hKGEpKSYmdGhpcy5qLnJlc29sdmVDb21tYW5kKGEsYil9fTtzWltfLkxuXT1bXy5VRF07dmFyIHRaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFNxYSkmJihhPWF3YWl0IF8uTEgoKSkmJigoYT1Wb2EoYSkpP3RoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpOihiPV8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIsdm9pZCAwLCJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiksdGhpcy5qLnJlc29sdmVDb21tYW5kKF8uYVEoXy5XTChiKSkpKSl9fTt0WltfLkxuXT1bXy5VRF07dmFyIHNxYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnNpZ25hbD1hO3RoaXMuaj10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmxvZ2dpbmdFbmFibGVkPSEwO3RoaXMuaWRzPW5ldyBTZXQ7YS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKTt0aGlzLmpvYklkPV8uWWoodGhpcy5qLDFFNCl9d3koYSl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmIXRoaXMuaWRzLmhhcyhhKSYmdGhpcy5pZHMuYWRkKGEpfW8oKXt0aGlzLmxvZ2dpbmdFbmFibGVkJiYodGhpcy5sb2dnaW5nRW5hYmxlZD0hMSxfLmpmLkFhKHRoaXMuam9iSWQpLHRoaXMuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix0aGlzLmopLFdvYSh0aGlzKSl9fTt2YXIgUlg7dmFyIFVxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuT209bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1PeihhLGIpe2lmKGEpe3RoaXMuT20uc2V0KGEsYik7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5yZXNvbHZlKGIpLHRoaXMuai5kZWxldGUoYSkpfX19O3ZhciBhWj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1hO3RoaXMudj1ifWooKXtpZih0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5JiZ0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnQpcmV0dXJuIHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuaW5saW5lQ29udGVudH1hc3luYyBleGVjdXRlKGEpe3ZhciBiPWEuVEksYz1hLnBhcmVudFZlLGQ9YS5idixlPWEuZ24sZj1hLmNvbW1hbmQ7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1hLmRhdGE7KGE9dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU/dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU6YikmJl8uRE8odGhpcy52LGEsYyxkKTsoYz10aGlzLmooKSkmJmF3YWl0IGUoYyk7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlJiYoZj1hd2FpdCAkb2EodGhpcyxmKSkmJmF3YWl0IGUoZil9fTthWltfLkxuXT1bXy5JeSxfLk9XXTt2YXIgcHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXRoaXMubz0hMTt0aGlzLnNob3dEZWxheU1zPXRoaXMuaGlkZURlbGF5TXM9MDt0aGlzLkQ9ITE7dGhpcy5JPSgpPT57dGhpcy5qPSEwfTt0aGlzLlo9KCk9Pnt0aGlzLmo9ITF9O3RoaXMuVT0oKT0+e3RoaXMuaj0hMH07dGhpcy5LPSgpPT57dGhpcy5qPSExfX1QeihhLGI9ITEpe2I/dGhpcy5NPWE6dGhpcy5jb250YWluZXI9YX1hc3luYyB3ZyhhLGIsYz1iKXtXWCh0aGlzKTt0aGlzLnNob3dEZWxheU1zP3RoaXMuWT1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCAkWCh0aGlzLGEsYixjKX0sdGhpcy5zaG93RGVsYXlNcyk6YXdhaXQgJFgodGhpcyxhLGIsYyl9YXN5bmMgSmUoKXtXWCh0aGlzKTt0aGlzLmhpZGVEZWxheU1zP3RoaXMuQj1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBhWSh0aGlzKX0sdGhpcy5oaWRlRGVsYXlNcyk6YXdhaXQgYVkodGhpcyl9YXN5bmMgZG0oKXtyZXR1cm4gVVgodGhpcyk/LmRtKCk/PwohMX19O3ZhciBvcGE9WyJ0b3VjaG1vdmUiLCJzY3JvbGwiXTt2YXIgdVo9ITE7dmFyIGNZPSExO3ZhciBucGE9e2xyKGEpe2EucGFyZW50SWQ9PW51bGwmJih1Wnx8KGJZKCksc2V0SW50ZXJ2YWwoYlksNkU1KSx1Wj0hMCksZlkoYSwid2ViX3RyYWNpbmdfYWN0aW9uIikpfX07dmFyIGhZLEtxYT17aUw6Xy54KCJ3ZWJfdHJhY2luZ19hbGxfY29tcG9uZW50cyIpLFF2Ol8ueCgid2ViX3RyYWNpbmdfZXhwb3J0X3RvX2NzaSIpLEh2OmZ1bmN0aW9uKGEsYil7YT1fLnJqKGEsYik7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/Xy5IdyhhLGM9PlN0cmluZyhjfHwiIikpOltTdHJpbmcoYXx8IiIpXX0oIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiKSxSdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19kZXZ0b29scyIpLE1xOl8uc2ooInRlbF9tYXhfYnJlYWRjcnVtYnMiLDApfTtoWT1uZXcgTHFhO3ZhciBrcGE9e1JlbmRlcjoiQ09XX1NQQU5fVFlQRV9SRU5ERVIiLE9uSW5pdDoiQ09XX1NQQU5fVFlQRV9PTl9JTklUIixFZmZlY3Q6IkNPV19TUEFOX1RZUEVfRUZGRUNUIixDb21wdXRlZDoiQ09XX1NQQU5fVFlQRV9DT01QVVRFRCIsU2lnbmFsVXBkYXRlOiJDT1dfU1BBTl9UWVBFX1NJR05BTF9VUERBVEUiLFJlbmRlckVmZmVjdDoiQ09XX1NQQU5fVFlQRV9SRU5ERVJfRUZGRUNUIixDcmVhdGVSZWFjdGl2ZUNvbXBvbmVudDoiQ09XX1NQQU5fVFlQRV9DT01QT05FTlRfUkVOREVSIn07dmFyIG1wYT1fLngoIndlYl9zaG9ydHNfZW5hYmxlX3RyYWNpbmciKTt2YXIgdHBhPVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIsImh0dHBzOi8vdHYueW91dHViZS5jb20iLCJodHRwczovL3d3dy5nc3RhdGljLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIl0sdnBhPV8uc2ooIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiLEluZmluaXR5KSxaWT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5GYT1hO3RoaXMuS2s9Yjt0aGlzLlk9e307dGhpcy5EPXt9O3RoaXMubz17fTt0aGlzLkk9dGhpcy5jb3VudGVyPTA7dGhpcy5CPSEhXy51LmNhY2hlczt0aGlzLlU9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7dGhpcy5aPXZvaWQgMDt0aGlzLnY9bnVsbDt0aGlzLk09Xy54KCJ3aWxfaWNvbl91c2VfbWFza19yZW5kZXJpbmciKT8xOjA7dGhpcy5vYT1fLngoIndpbF9pY29uX25ldHdvcmtfZmlyc3QiKTt0aGlzLk1hPV8ueCgid2lsX2ljb25fcmVuZGVyX3doZW5faWRsZSIpO3RoaXMuUWE9IV8ueCgid2lsX2ljb25fbG9hZF9pbW1lZGlhdGVseSIpOwp0aGlzLks9ITE7YT0oKT0+e3RoaXMuQiYmKHRoaXMuVT1fLnUuY2FjaGVzLm9wZW4oInl0LWljb25zIikudGhlbihkPT50aGlzLlo9ZCkuY2F0Y2goKCk9Pnt0aGlzLkI9ITF9KSl9O2M9Yz8uKCl8fHt9O2ZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSljPWQsYj1fLmZDKGUpLGpZKGIpLHRoaXMuRFtjXT1iLmNsb25lTm9kZSghMCk7dGhpcy5LPXFwYSh0aGlzKTt0aGlzLksgaW5zdGFuY2VvZiBQcm9taXNlP3RoaXMuSy50aGVuKGEpOmEoKX1qKGEpe3JldHVybiEhdGhpcy5tZihhKX1hc3luYyB5YShhKXtpZihhLmxlbmd0aCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9dGhpcy5tZihjKSkmJiF0aGlzLkRbYS51cmxdJiZiLnB1c2goa1kodGhpcyxhKS50aGVuKCgpPT57fSkuY2F0Y2goKCk9Pnt9KSk7UHJvbWlzZS5hbGwoYil9fXB5KGEpe3ZhciBiPXRoaXMubWYoYSk7cmV0dXJuIGI/dGhpcy5NPT09MT9sWSh0aGlzLGIsdGhpcy5NKTooYT10aGlzLkRbYi51cmxdKT8KKGE9YS5jbG9uZU5vZGUoITApLG5ZKHRoaXMsYSksbFkodGhpcyxiLHRoaXMuTSxhKSk6a1kodGhpcyxiKS50aGVuKGM9Pnt2YXIgZD1jPzA6MTtuWSh0aGlzLGMpO3JldHVybiBsWSh0aGlzLGIsZCxjKX0pOihfLkhwKG5ldyBfLlhqKCJJY29uIG5vdCBmb3VuZCIse2ljb25TaGFwZTphfSkpLCgpPT57fSl9YXN5bmMgZ2EoYSxiKXtyZXR1cm4gcFkodGhpcyxhKS50aGVuKGM9Pnt3cGEodGhpcyxhLGMsYik7cmV0dXJuIGN9KX1hc3luYyBoYShhLGIpe3JldHVybiBiP2IubWF0Y2goYSkudGhlbihjPT5jJiZjLm9rP2M6UHJvbWlzZS5yZWplY3QoKSk6UHJvbWlzZS5yZWplY3QoKX1tZihhKXtyZXR1cm4gdGhpcy5GYS5tZihhKX19O1pZW18uTG5dPVtfLm1PLF8ubEYsXy5JbihfLm9PKV07dmFyIHlwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIj8icGVyc29uX2JveCI6InBlcnNvbl9hY2NvdW50IixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX2FjY291bnRfY2Fpcm8iLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZV9jYWlybyIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGlua19zdWNjZXNzIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9GUklFTkQ6InBlb3BsZSIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6Imxpc3RfcXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6Imxpc3RfbXVzaWMiLEFERF9UT19XQVRDSF9MQVRFUjoiY2xvY2siLEFERF9WSURFT19MSU5LOiJmaWxtX3N0cmlwX2FkZCIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFRfRklMTEVEOiJhcnJvd19kaWFnb25hbF91cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJjaGV2cm9uX2Rvd24iLEFSUk9XX0RST1BfVVA6ImNoZXZyb25fdXAiLEFSUk9XX0ZPUldBUkQ6ImFycm93X3JpZ2h0IixBUlRJU1Q6InBlcnNvbl9tdXNpYyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVVE9fQVdFU09NRToic3BhcmtsZSIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiYmFyX2dyYXBoIixCTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLEJMT0NLX1VTRVI6InNsYXNoX2NpcmNsZV9sZWZ0IixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCUkVBS0lOR19ORVdTX0FMVF8xOiJhcnRpY2xlX2FsZXJ0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3RfY2Fpcm8iLApCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9uIixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX29uIixDSEFUOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEFUX0JVQkJMRToibWVzc2FnZV9idWJibGVfZW1wdHkiLENIQVRfU1BBUks6InNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJib3hfZW1wdHkiLENIRUNLX0NJUkNMRV9PVVRMSU5FOiJjaGVja19jaXJjbGUiLENIRUNLX0NJUkNMRV9USElDSzoiY2hlY2tfY2lyY2xlIixDTEFSSUZZOiJhcnRpY2xlX2NsYXJpZnkiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbiIsQ0xPU0U6InhfbWFyayIsCkNMT1VEX1VQTE9BRDoiY2xvdWRfYXJyb3dfdXAiLENPTExBUFNFOiJjaGV2cm9uX3VwIixDT0xMQVBTRV9DQUlSTzoiY2hldnJvbl91cF9jYWlybyIsQ09MTEVDVElPTjoibGF5ZXJzIixDT0xPUl9MRU5TOiJwYWxldHRlIixDT01NRU5UOiJtZXNzYWdlX2J1YmJsZV9yaWdodCIsQ09OU0VOVF9TSElFTEQ6InBlcnNvbl9zaGllbGQiLENPTlRFTlRfQ1VUOiJzY2lzc29ycyIsQ09OVEVOVF9DVVRfQ0FJUk86InNjaXNzb3JzX2NhaXJvIixDT1VSU0U6Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXkiOiJsaWdodGJ1bGIiLENPVVJTRV9DQUlSTzpfLngoIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIik/ImNyZWF0b3JfYWNhZGVteV9jYWlybyI6ImxpZ2h0YnVsYl9jYWlybyIsQ1JFQVRJT05fTElWRToicmFkYXJfbGl2ZSIsQ1JFQVRJT05fUE9TVDoiYm94X3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJteV92aWRlb3MiLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsCkNSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OOiJkb2xsYXJfc2lnbiIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9vZmYiLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFTSEJPQVJEOiJncmlkX2FzeW1tZXRyaWNhbCIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIixERVNLVE9QOiJsYXB0b3AiLERJU0xJS0U6InRodW1iX2Rvd24iLERJU0xJS0VfU0VMRUNURUQ6InRodW1iX2Rvd24iLERJU01JU1NBTDoieF9tYXJrIixESVNNSVNTX1FVRVVFOiJsaXN0X3JlbW92ZSIsRE9ORV9BTEw6ImNoZWNrX2RvdWJsZSIsRE9XTl9BUlJPVzoiYXJyb3dfZG93biIsRE9fTk9UX0RJU1RVUkI6InNsYXNoX2NpcmNsZV9sZWZ0IixEUkFGVDoicGFwZXJfY29ybmVyX2ZvbGRlZCIsRFJBR19IQU5ETEU6ImJhcnNfMiIsRURJVDoicGVuY2lsIixFTU9KSToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9GTEFHUzoiZmxhZyIsCkVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsRU1QVFlfTElLRToidGh1bWJfdXAiLEVSUk9SX0JMQUNLOiJhbGVydF9jaXJjbGUiLEVSUk9SX09VVExJTkU6ImFsZXJ0X2NpcmNsZSIsRVhJVF9BUFA6ImFycm93X2luIixFWElUX1RPX0FQUDoiYXJyb3dfaW4iLEVYUEFORDoiY2hldnJvbl9kb3duIixFWFBBTkRfQUxMOiJjaGV2cm9uX2V4cGFuZCIsRVhQQU5EX0NBSVJPOiJjaGV2cm9uX2Rvd25fY2Fpcm8iLEVYUEFORF9MRVNTOiJjaGV2cm9uX3VwIixFWFBBTkRfTU9SRToiY2hldnJvbl9kb3duIixFWFBMT1JFOiJjb21wYXNzIixFWFBMT1JFX0RFU1RJTkFUSU9OOiJjb21wYXNzIixFWFRFUk5BTF9MSU5LOiJvcGVuX25ldyIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ1RfQ0hFQ0s6ImFydGljbGVfY2hlY2siLApGQVNISU9OX0xPR086ImZhc2hpb24iLEZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbl9jYWlybyIsRkFWT1JJVEU6ImhlYXJ0IixGRUVEQkFDSzoibWVzc2FnZV9idWJibGVfYWxlcnQiLEZFRURCQUNLX0NBSVJPOiJtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybyIsRklMTF9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixGSUxMX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsRklMTF9ET0xMQVJfU0lHTl9IRUFSVF8xMjoiZG9sbGFyX3NpZ25faGVhcnQiLEZJTFRFUjoibWVudV9maWx0ZXIiLEZJUlNUX1BBR0U6ImNoZXZyb25fZmlyc3QiLEZMQUc6ImZsYWciLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1FX0NPTlNPTEVfRFBBRDoiZ2FtZV9jb25zb2xlX2RwYWQiLEdBTUVfQ09OU09MRV9GQUNFX0JVVFRPTlM6ImdhbWVfY29uc29sZV9mYWNlX2J1dHRvbnMiLEdBTUlOR19MT0dPOiJnYW1pbmciLEdBTUlOR19MT0dPX0NBSVJPOiJnYW1pbmdfY2Fpcm8iLApHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JPVVBTOiJwZW9wbGVfZ3JvdXAiLEhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX3BsdXMiLEhFTFA6InF1ZXN0aW9uX2NpcmNsZSIsSEVMUF9DQUlSTzoicXVlc3Rpb25fY2lyY2xlX2NhaXJvIixIRUxQX09VVExJTkU6InF1ZXN0aW9uX2NpcmNsZSIsSElERToic2xhc2hfY2lyY2xlX2xlZnQiLElNQUdFOiJpbWFnZSIsSU5GSU5JVFlfSUNPTjoiaW5maW5pdHkiLElORk86ImluZm9fY2lyY2xlIixJTkZPX09VVExJTkU6ImluZm9fY2lyY2xlIixJTlNFUlRfQ0hBUlQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9DSEFSVF9PVVRMSU5FRDoiYmFyX2dyYXBoX2JveF92ZXJ0aWNhbCIsSU5TRVJUX1BIT1RPOiJpbWFnZSIsS0VFUDoicGluIixLRUVQX09GRjoicGluX29mZiIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIiwKS0lEU19CTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLExBTkdVQUdFOiJnbG9iZSIsTEFTVF9QQUdFOiJjaGV2cm9uX2xhc3QiLExBVU5DSDoib3Blbl9uZXciLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGJfY2Fpcm8iLExJQlJBUllfQUREOnRZKCJsaWJyYXJ5X2FkZCIpLExJQlJBUllfT1VUTElORToibGlicmFyeSIsTElCUkFSWV9SRU1PVkU6dFkoKSxMSUdIVEJVTEJfU1BBUktfT1VUTElORToibGlnaHRidWxiX3NwYXJrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cF9jYWlybyIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVZFOiJyYWRhcl9saXZlIixMSVZFX0NBSVJPOiJyYWRhcl9saXZlX2NhaXJvIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcG9pbnQiLExPQ0FUSU9OX1BJTjoibG9jYXRpb25fcG9pbnQiLExPT1A6ImFycm93X3JlcGVhdCIsCkxPT1BfQUNUSVZFOiJhcnJvd19yZXBlYXQiLExPT1BfT05FOiJhcnJvd19yZXBlYXRfMSIsTE9PUF9PTkVfQUNUSVZFOiJhcnJvd19yZXBlYXRfMSIsTUVIOiJmYWNlX21laCIsTUVNQkVSU19PTkxZX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNRU5VOiJiYXJzXzMiLE1FU1NBR0U6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLE1JQ1JPUEhPTkVfT046Im1pYyIsTUlYOiJ5b3V0dWJlX21peCIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX2NvbnRhaW5lciIsTU9ORVlfRklMTF9KUFk6Inllbl9zaWduX2NvbnRhaW5lciIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpb19jYWlybyIsTVVTSUNfTk9URV9TWU1CT0w6Im11c2ljIixNVVNJQ19TSFVGRkxFOiJhcnJvd19zaHVmZmxlIiwKTVlfQ0hBTk5FTDoicGVyc29uX2NpcmNsZSIsTVlfTE9DQVRJT046ImxvY2F0aW9uX3BvaW50IixORVdTX1NUT1JZOiJuZXdzIixORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RJRklDQVRJT05TOiJiZWxsIixOT1RJRklDQVRJT05TX0FDVElWRToiYmVsbF9vbiIsTk9USUZJQ0FUSU9OU19DQUlSTzoiYmVsbF9jYWlybyIsTk9USUZJQ0FUSU9OU19ET05FX0NIRUNLTUFSSzoiY2hlY2siLE5PVElGSUNBVElPTlNfSU5CT1g6ImJlbGwiLE5PVElGSUNBVElPTlNfTk9ORToiYmVsbCIsTk9USUZJQ0FUSU9OU19PRkY6ImJlbGxfb2ZmIixOT1RfSU5URVJFU1RFRDoic2xhc2hfY2lyY2xlX2xlZnQiLE9GRklDSUFMX0FSVElTVF9CQURHRToiYXVkaW8iLE9GRkxJTkVfQ0xPVUQ6ImNsb3VkX29mZiIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkX2NhaXJvIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6Im9wZW5fbmV3IiwKT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9jaXJjbGUiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJ5b3V0dWJlX2ltcHJvdmVfdHYiLFBBSUQ6ImRvbGxhcl9zaWduIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRVJTT05fUkFEQVJfRklMTEVEOiJwZXJzb25fcmFkYXIiLFBIT05FX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLFBMQVlBQkxFU19MT0dPOiJ0aWNfdGFjX3RvZSIsClBMQVlBQkxFU19MT0dPX0NBSVJPOiJ0aWNfdGFjX3RvZV9jYWlybyIsUExBWUxJU1RTOiJsaXN0X3BsYXlfYXJyb3ciLFBMQVlMSVNUU19DQUlSTzoibGlzdF9wbGF5X2Fycm93X2NhaXJvIixQTEFZTElTVF9BREQ6dFkoImxpc3RfYWRkIiksUExBWUxJU1RfQUREX0NIRUNLOnRZKCJsaXN0X2NoZWNrIiksUExBWUxJU1RfUExBWToibGlzdF9wbGF5X2Fycm93IixQTEFZX0FMTDoicGxheV9hcnJvdyIsUExBWV9DSVJDTEU6InBsYXlfYXJyb3dfY2lyY2xlIixQTEFZX09VVExJTkVEOiJwbGF5X2Fycm93X2NpcmNsZSIsUFJJVkFDWV9JTkZPOiJzaGllbGQiLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6ImVhcnRoIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6Im1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uIiwKUVVFVUVfUExBWV9MQVNUOiJsaXN0X3F1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoibGlzdF9wbGF5X2Fycm93IixSRU1JWF9GSUxMRUQ6InlvdXR1YmVfc2hvcnRzX3JlbWl4IixSRU1PVkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEVfT1VUTElORToiYmFyX2NpcmNsZSIsUkVNT1ZFX0RPTkU6ImNoZWNrX2RvdWJsZV9vZmYiLFJFTU9WRV9GUk9NX0hJU1RPUlk6ImJhcl9jaXJjbGUiLFJFTU9WRV9GUk9NX1BMQVlMSVNUOiJiYXJfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfb2ZmIixSRVBMQVk6ImFycm93X2NpcmNsZSIsUkVQTEFZXzEwOiJza2lwX2JhY2tfMTAiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsU0NIT09MOiJjcmVhdG9yX2FjYWRlbXkiLFNDUkVFTl9GVUxMU0NSRUVOOiJzY3JlZW5fZnVsbCIsClNFQVJDSF9ISVNUT1JZOiJhcnJvd190aW1lIixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2Vhcl9jYWlybyIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTSEFSRV9BUlJPVzoic2hhcmUiLFNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnX2NhaXJvIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoieW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQiLFNIT1JUU19ESVNMSUtFOiJ5b3V0dWJlX3Nob3J0c190aHVtYl9kb3duIixTSE9SVFNfTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfdXAiLFNIT1JUU19TSEFSRToieW91dHViZV9zaG9ydHNfc2hhcmUiLFNIVUZGTEU6ImFycm93X3NodWZmbGUiLFNMT1dfTU9ERV9PRkY6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLFNPQ0lBTDoicGVvcGxlIiwKU09SVDoibWVudV9zb3J0IixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIixTUEVFRF8xWDoiMXgiLFNQRUVEXzFfUE9JTlRfMlg6IjFfcG9pbnRfMngiLFNQRUVEXzFfUE9JTlRfNVg6IjFfcG9pbnRfNXgiLFNQRUVEXzFfUE9JTlRfOFg6IjFfcG9pbnRfOHgiLFNQRUVEXzJYOiIyeCIsU1BFRURfUE9JTlRfMlg6InBvaW50XzJ4IixTUEVFRF9QT0lOVF84WDoicG9pbnRfOHgiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OX09VVExJTkU6InN0YXJfY2lyY2xlX3JpYmJvbiIsU1RJQ0tFUl9FTU9USUNPTjoiZmFjZV9oYXBweSIsU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZV9sb2dvX2ljb24iLFNVQlNDUklCRV9QTFVTOiJhZGRfY2Fpcm8iLFNVQlNDUklQVElPTl9NQU5BR0VSOiJnZWFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlb3BsZSIsClNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX2FjY291bnQiLFRBQl9BQ0NPVU5UOiJwZXJzb24iLFRBQl9BQ1RJVklUWToiYmVsbCIsVEFCX0JPT0tNQVJLOiJib29rbWFyayIsVEFCX0VYUExPUkU6ImNvbXBhc3MiLFRBQl9IT01FOiJob21lIixUQUJfSE9NRV9DQUlSTzoiaG9tZV9jYWlybyIsVEFCX0lOQk9YOiJtYWlsIixUQUJfTElLRUQ6InRodW1iX3VwIixUQUJfTVVTSUNfUFJFTUlVTToieW91dHViZV9tdXNpYyIsVEFCX1NIT1JUUzoieW91dHViZV9zaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InlvdXR1YmVfc2hvcnRzX2NhaXJvIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsVEFCX1NVQlNDUklQVElPTlNfQ0FJUk86InN1YnNjcmlwdGlvbnNfY2Fpcm8iLFRBQl9UUkVORElORzoiZmlyZSIsVElNRVI6InN0b3B3YXRjaCIsVFJBSUxFUjoieW91dHViZV9vcmlnaW5hbHMiLApUUkVORElORzoiZmlyZSIsVFJFTkRJTkdfQ0FJUk86ImZpcmVfY2Fpcm8iLFRSRU5ESU5HX0RPV046InJhdGluZ19kb3duIixUUkVORElOR19VUDoicmF0aW5nX3VwIixUUk9QSFk6InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUVU5FOiJhZGp1c3QiLFVOQkxPQ0tfVVNFUjoiYmFyX2NpcmNsZSIsVU5MSU1JVEVEOiJ5b3V0dWJlX2xvZ29faWNvbiIsVU5QTFVHR0VEX0xJVkVfR1VJREU6InJhZGFyX2xpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9vZmYiLFVQTE9BRFM6ImxpYnJhcnkiLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJkb3dubG9hZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9HQU1FX0FTU0VUOiJnYW1pbmciLFZJREVPUzoicGxheV9hcnJvd19jaXJjbGUiLFZJREVPX0NBTEw6InZpZGVvX2NhbWVyYV9hZGQiLFZJREVPX0xJQlJBUllfV0hJVEU6ImxpYnJhcnkiLApWSURFT19ZT1VUVUJFOiJ5b3V0dWJlX2xvZ29faWNvbiIsVklFV19MSVNUOiJsaXN0X3ZpZXciLFZJRVdfTElTVF9DQUlSTzoibGlzdF92aWV3X2NhaXJvIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfb2ZmIixWT0xVTUVfTVVURToidm9sdW1lX29mZiIsVk9MVU1FX1VQOiJ2b2x1bWVfb24iLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJhcnJvd190aW1lIixXQVRDSF9ISVNUT1JZX0NBSVJPOiJhcnJvd190aW1lX2NhaXJvIixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9ja19jYWlybyIsV0FUQ0hfUkVMQVRFRF9NSVg6InlvdXR1YmVfbWl4IixXSEFUX1RPX1dBVENIOiJob21lIixZT1VUVUJFX0NSRUFURV9SRURfTE9HTzoieW91dHViZV9jcmVhdGVfbG9nbyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUVfQ0FJUk86InlvdXR1YmVfbXVzaWNfY2Fpcm8iLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGUiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJ5b3V0dWJlX3Nob3J0cyIsWVRfT1VUTElORV9NVVNJQ18yNDoibXVzaWMifTt2YXIgeHBhPXtBQ0NFU1NfVElNRToiY2xvY2siLEFDQ09VTlRfQk9YOiJwZXJzb25fc3F1YXJlIixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9DSVJDTEU6InBlcnNvbl9jaXJjbGUiLEFDQ09VTlRfQ0lSQ0xFX0NBSVJPOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0xJTktFRDoiYWNjb3VudF9saW5rIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9DSVJDTEU6ImFkZF9jaXJjbGUiLEFERF9DSVJDTEVfT1VUTElORToiYWRkX2NpcmNsZSIsQUREX0ZSSUVORDoicGVyc29uX2NoaWxkIixBRERfTU9ERVJBVE9SOiJzaGllbGRfYWRkIixBRERfVE9fTElCUkFSWToiYm9va21hcmsiLEFERF9UT19QTEFZTElTVDoiYWRkIixBRERfVE9fUVVFVUVfVEFJTDoicXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6InBsYXlsaXN0X2F1ZGlvIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLEFETUlOX1BBTkVMX1NFVFRJTkdTOiJwZXJzb25fZ2VhciIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQUxJR05fTEVGVDoidGV4dF9hbGlnbl9sZWZ0IixBUlJPV1NfQUxFUlQ6ImFycm93X3NwbGl0X2FsZXJ0IixBUlJPV19CQUNLOiJhcnJvd19sZWZ0IixBUlJPV19DSVJDTEU6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLEFSUk9XX0NJUkNMRV9QTEFZOiJyZXBsYXkiLEFSUk9XX0NJUkNMRV9SSUdIVDoiYXJyb3dfY2xvY2t3aXNlIixBUlJPV19ESUFHT05BTDoiYXJyb3dfdXBfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFQ6ImFycm93X3VwX3JpZ2h0IixBUlJPV19EUk9QX0RPV046InRyaWFuZ2xlX2Rvd24iLEFSUk9XX0RST1BfVVA6InRyaWFuZ2xlX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJST1dfUEFVU0U6InBhdXNlX2hpc3RvcnkiLEFSUk9XX1VORE86InVuZG8iLEFSVElDTEU6InRleHRfcGFnZSIsQVJUSUNMRV9BTEVSVDoidGV4dF9wYWdlX2FsZXJ0IixBUlRJQ0xFX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLApBUlRJQ0xFX0NMQVJJRlk6InRleHRfcGFnZV9pbmZvIixBUlRJU1Q6InBlcnNvbl9hdWRpbyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVRElPX0JBREdFOiJhdWRpb19iYWRnZSIsQVVESU9fU1VSUk9VTkQ6InN1cnJvdW5kX3NvdW5kIixBVVRPX0FXRVNPTUU6InNwYXJrbGVzIixBVkFUQVJfQU5PTllNT1VTOiJwZXJzb25fY2lyY2xlIixBVkFUQVJfTE9HR0VEX09VVDoicGVyc29uX2NpcmNsZSIsQkFDSzoiYXJyb3dfbGVmdCIsQkFSX0NIQVJUOiJjaGFydF9iYXIiLEJBUl9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsQkFSX0hPUklaT05UQUw6Im1pbnVzIixCTE9DSzoiY2lyY2xlX3NsYXNoIixCTE9DS19VU0VSOiJjaXJjbGVfc2xhc2giLEJPT0tNQVJLX0JPUkRFUjoiYm9va21hcmsiLEJPWF9PUEVOX0NIRUNLOiJxdWl6IixCT1hfUEVOQ0lMOiJzcXVhcmVfcGVuY2lsIixCT1hfU1RBQ0tfMzoic3F1YXJlM19zdGFjayIsQlJFQUtJTkdfTkVXU19BTFRfMToidGV4dF9wYWdlX2FsZXJ0IiwKQlJPQURDQVNUOiJwb2RjYXN0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3QiLEJVR19SRVBPUlQ6ImJ1ZyIsQ0FNRVJBX0FMVDoiY2FtZXJhIixDQU1QQUlHTjoibWVnYXBob25lIixDQU5DRUw6InhfY2lyY2xlIixDQVBUSU9OUzoiY2xvc2VkX2NhcHRpb25zIixDQVNUX0lDT046ImNocm9tZWNhc3QiLENBU1RfT1VUTElORToiY2hyb21lY2FzdCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PRkY6ImJlbGwiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT046ImJlbGxfd2F2ZXMiLENIQVQ6InRleHRfYnViYmxlIixDSEFUX0JVQkJMRToiYnViYmxlIixDSEVDS19CT1g6ImNoZWNrX3NxdWFyZSIsQ0hFQ0tfQk9YX09VVExJTkVfQkxBTks6InNxdWFyZSIsQ0hFQ0tfQ0lSQ0xFX0ZJTExFRDoiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfRE9VQkxFOiJjaGVja19kb25lIiwKQ0hFQ0tfRE9VQkxFX09GRjoiY2hlY2tfZG9uZV9zbGFzaCIsQ0hFVlJPTl9MRUZUOiJjaGV2cm9uX2xlZnQiLENIRVZST05fUklHSFQ6ImNoZXZyb25fcmlnaHQiLENIRVZST05fUklHSFRfQ0FJUk86ImNoZXZyb25fcmlnaHQiLENJUkNMRVNfT1ZFUkxBUDoiYWNjb3VudF9saW5rIixDTEFQUEVSQk9BUkRfQ0FJUk86ImNsYXBwZXJib2FyZCIsQ0xBUklGWToidGV4dF9wYWdlX2luZm8iLENMT0NLX0FSUk9XUzoiY2xvY2tfc3BsaXQiLENMT0NLX0FSUk9XU19BTEVSVDoiY2xvY2tfc3BsaXRfYWxlcnQiLENMT1NFRF9DQVBUSU9OOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFOiJ4IixDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXAiLENPTExFQ1RJT046InNxdWFyZTNkX3N0YWNrIixDT0xPUl9MRU5TOiJwYWludF9wYWxldHRlIiwKQ09NTUVOVDoidGV4dF9idWJibGUiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29ycyIsQ09VUlNFOiJncmFkdWF0aW9uX2NhcCIsQ09VUlNFX0NBSVJPOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRJT05fTElWRToibGl2ZSIsQ1JFQVRJT05fUE9TVDoic3F1YXJlX3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJ2aWRlbyIsQ1JFQVRJT05fVVBMT0FEX1JFRDoidXBsb2FkIixDUkVBVE9SX0FDQURFTVk6ImdyYWR1YXRpb25fY2FwIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTl9PRkY6ImRvbGxhcl9zaWduX2NpcmNsZV9zbGFzaCIsQ1JFQVRPUl9TVFVESU86InlvdXR1YmVfc3R1ZGlvIixEQVJLX1RIRU1FOiJ0aGVtZSIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIiwKREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6IngiLERJU01JU1NfUVVFVUU6InBsYXlsaXN0X3giLERPR0ZPT0Q6InBhd3ByaW50IixET0xMQVJfU0lHTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixET0xMQVJfU0lHTl9DSVJDTEU6ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ09OVEFJTkVSOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJjaXJjbGVfc2xhc2giLERSQUZUOiJkb2N1bWVudCIsRFJBR19IQU5ETEU6ImVxdWFsIixFQVJUSDoiZ2xvYmUiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLEVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsCkVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVSUk9SX1dISVRFOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoiYXJyb3dfdXBfcmlnaHQiLEVZRV9PRkY6ImV5ZV9zbGFzaCIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ0VfTUVIOiJmYWNlX25ldXRyYWwiLEZBQ1RfQ0hFQ0s6InRleHRfcGFnZV9jaGVjayIsRkFTSElPTl9MT0dPOiJmYXNoaW9uIiwKRkFTSElPTl9MT0dPX0NBSVJPOiJmYXNoaW9uIixGQVZPUklURToidGh1bWJfdXAiLEZFRURCQUNLOiJhbGVydF9idWJibGUiLEZFRURCQUNLX0NBSVJPOiJhbGVydF9idWJibGUiLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSVJTVF9QQUdFOiJjaGV2cm9uX2xlZnRfZW5kIixGTEFHX0NBSVJPOiJmbGFnIixGTEFTSF9PRkY6ImZsYXNoX3NsYXNoIixGTEFTSF9PTjoiZmxhc2giLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nIixHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JJRF9BU1lNTUVUUklDQUw6ImRhc2hib2FyZCIsR1JPVVBTOiJwZXJzb24zIixIQU5EX1NXSVBFX0xFRlQ6Imdlc3R1cmVfc3dpcGVfbGVmdCIsSEFORF9TV0lQRV9SSUdIVDoiZ2VzdHVyZV9zd2lwZV9yaWdodCIsCkhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX2hlYWx0aCIsSEVBUlRfQk9YOiJoZWFydF9jdWJlIixIRUxQOiJoZWxwX2NpcmNsZSIsSEVMUF9DQUlSTzoiaGVscF9jaXJjbGUiLEhFTFBfT1VUTElORToiaGVscF9jaXJjbGUiLEhJREU6ImNpcmNsZV9zbGFzaCIsSU5DT0dOSVRPX0NBSVJPOiJpbmNvZ25pdG8iLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImNoYXJ0X2Jhcl9zcXVhcmUiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9zbGFzaCIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIixLSURTX0JMT0NLOiJjaXJjbGVfc2xhc2giLApMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9yaWdodF9lbmQiLExBVU5DSDoiYXJyb3dfdXBfcmlnaHQiLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGIiLExJQlJBUllfQUREOiJib29rbWFyayIsTElCUkFSWV9JTUFHRToiaW1hZ2Vfc3RhY2siLExJQlJBUllfTVVTSUM6ImF1ZGlvX3NxdWFyZV9zdGFjayIsTElCUkFSWV9PVVRMSU5FOiJwbGF5X3NxdWFyZV9zdGFjayIsTElCUkFSWV9SRU1PVkU6ImJvb2ttYXJrIixMSUJSQVJZX1NBVkVEOiJjaGVja19zcXVhcmVfc3RhY2siLExJS0VTX1BMQVlMSVNUOiJ0aHVtYl91cCIsTElLRVNfUExBWUxJU1RfQ0FJUk86InRodW1iX3VwIixMSUtFOiJ0aHVtYl91cCIsTElLRV9TRUxFQ1RFRDoidGh1bWJfdXAiLExJU1RfUVVFVUU6InF1ZXVlIixMSVZFX0NBSVJPOiJsaXZlIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcGluIixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BpbiIsCkxPQ0FUSU9OX1BPSU5UOiJsb2NhdGlvbl9waW4iLExPT1A6InJlcGVhdCIsTE9PUF9BQ1RJVkU6InJlcGVhdCIsTE9PUF9PTkU6InJlcGVhdDEiLExPT1BfT05FX0FDVElWRToicmVwZWF0MSIsTUVFVDoiZ29vZ2xlX21lZXQiLE1FSDoiZmFjZV9uZXV0cmFsIixNRU1CRVJTSElQUzoibWVtYmVyc2hpcHMiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoidGV4dF9idWJibGUiLE1FTlVfRklMVEVSOiJmaWx0ZXIiLE1FU1NBR0U6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9HRUFSOiJidWJibGVfZ2VhciIsTUVTU0FHRV9CVUJCTEVfTEVGVDoidGV4dF9idWJibGUiLE1FU1NBR0VfQlVCQkxFX0xFRlRfQk9PU1Q6ImJ1YmJsZV9zcGFya2xlcyIsTUVTU0FHRV9CVUJCTEVfT1ZFUkxBUDoiYnViYmxlX3N0YWNrIixNRVNTQUdFX0JVQkJMRV9RVUVTVElPTjoiaGVscF9idWJibGUiLE1JQ1JPUEhPTkVfT046Im1pYyIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX3JlY3RhbmdsZSIsCk1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9yZWN0YW5nbGUiLE1PTkVZX0hBTkQ6ImRvbGxhcl9zaWduX2NpcmNsZV9oYW5kIixNT05FWV9IRUFSVDoiZG9sbGFyX3NpZ25faGVhcnQiLE1PT05fWjoic2xlZXBfdGltZXIiLE1PUkVfSE9SSVo6Im92ZXJmbG93X2hvcml6b250YWwiLE1PUkVfVkVSVDoib3ZlcmZsb3dfdmVydGljYWwiLE1VU0lDOiJhdWRpbyIsTVVTSUNfQ0FJUk86ImF1ZGlvIixNVVNJQ19FWFBMSUNJVF9CQURHRToiZXhwbGljaXQiLE1VU0lDX05FV19SRUxFQVNFOiJhdWRpb19iYWRnZSIsTVVTSUNfTk9URV9TWU1CT0w6ImF1ZGlvIixNVVNJQ19TQ0lTU09SUzoiYXVkaW9fc2Npc3NvcnMiLE1VU0lDX1NIVUZGTEU6InNodWZmbGUiLE1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9waW4iLE1ZX1ZJREVPUzoidmlkZW8iLE1ZX1ZJREVPU19DQUlSTzoidmlkZW8iLE5FV1NfQ0FJUk86Im5ld3MiLE5FV1NfU1RPUlk6Im5ld3MiLApORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RFX0FERDoiYnViYmxlX3BlbmNpbCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfd2F2ZXMiLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGwiLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX3NsYXNoIixOT1RfSU5URVJFU1RFRDoiY2lyY2xlX3NsYXNoIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9zbGFzaCIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6ImFycm93X3VwX3JpZ2h0IixPVVRMSU5FX0FESlVTVDoiYWRqdXN0IixPVVRMSU5FX0FSUk9XX1NPTElEX0RPV046ImFycm93X3NvbGlkX2Rvd24iLApPVVRMSU5FX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLE9VVExJTkVfQVJST1dfU09MSURfVVA6ImFycm93X3NvbGlkX3VwIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9kYXNoZWQiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfYXJyb3dfZG93biIsT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyOiJvdmVyZmxvd19ob3Jpem9udGFsIixPVVRMSU5FX09WRVJGTE9XX1ZFUlRJQ0FMOiJvdmVyZmxvd192ZXJ0aWNhbCIsT1VUTElORV9ZT1VUVUJFX0lNUFJPVkVfVFY6InN0YXJfdHYiLE9VVExJTkVfWU9VVFVCRV9TSE9SVFNfUExVUzoic2hvcnRzX2FkZCIsUEFJRDoiZG9sbGFyX3NpZ25fY2lyY2xlIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRU9QTEU6InBlcnNvbl9jaGlsZCIsClBFT1BMRV8yOiJwZXJzb24yX3JlY3RhbmdsZSIsUEVPUExFX0FMVDoicGVyc29uMiIsUEVPUExFX0dST1VQOiJwZXJzb24zIixQRU9QTEVfTk9URToiYnViYmxlX2FzdGVyaXNrIixQRVJTT05fMjoicGVyc29uMiIsUEVSU09OX0FDQ09VTlQ6InBlcnNvbl9zcXVhcmVfc3RhY2siLFBFUlNPTl9NSU5VUzoicGVyc29uX3giLFBFUlNPTl9NVVNJQzoicGVyc29uX2F1ZGlvIixQRVJTT05fUkFEQVI6InBlcnNvbl93YXZlcyIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3dhdmVzIixQRVJTT05fU0VUVElORzoicGVyc29uX2dlYXIiLFBIT05FTElOSzoicXJfY29kZSIsUEhPTkU6InBob25lIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLFBJQ1RVUkVfSU5fUElDVFVSRToicGljdHVyZV9pbl9waWN0dXJlIixQTEFZQUJMRVNfTE9HTzoicGxheWFibGVzIixQTEFZQUJMRVNfTE9HT19DQUlSTzoicGxheWFibGVzIixQTEFZTElTVFM6InBsYXlsaXN0IixQTEFZTElTVFNfQ0FJUk86InBsYXlsaXN0IiwKUExBWUxJU1RfQUREX0NIRUNLOiJib29rbWFyayIsUExBWV9BTEw6InBsYXkiLFBMQVlfQVJST1c6InBsYXkiLFBMQVlfQVJST1dfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9BUlJPV19IQUxGX0NJUkNMRToicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFBMQVlfQVJST1dfT1VUTElORUQ6InBsYXkiLFBMQVlfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9jaXJjbGUiLFBPRENBU1RfQUREOiJwb2RjYXN0X2FkZCIsUE9EQ0FTVF9DSEVDSzoicG9kY2FzdF9jaGVjayIsUFJJVkFDWV9JTkZPOiJzaGllbGRfeCIsUFJJVkFDWV9QUklWQVRFOiJsb2NrIixQUklWQUNZX1BVQkxJQzoiZ2xvYmUiLFBSSVZBQ1lfVU5MSVNURUQ6ImxpbmsiLFBST01PVEU6Im1lZ2FwaG9uZSIsUFVSQ0hBU0VTOiJwcmljZV90YWciLFBVUkNIQVNFX1NVUEVSX0NIQVQ6InN1cGVyX2NoYXQiLFBVUkNIQVNFX1NVUEVSX1NUSUNLRVI6InN1cGVyX3N0aWNrZXIiLFFVRVNUSU9OX0FOU1dFUjoiaGVscF9idWJibGUiLApRVUVTVElPTl9DSVJDTEU6ImhlbHBfY2lyY2xlIixRVUVVRV9QTEFZX0xBU1Q6InF1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoicXVldWVfbmV4dCIsUVVPVEFUSU9OX01BUks6InF1b3RlIixSQURBUl9MSVZFOiJsaXZlIixSRU1PVkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRToibWludXNfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fSElTVE9SWToibWludXNfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoibWludXNfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfc2xhc2giLFJFUExBWToiYXJyb3dfY291bnRlcmNsb2Nrd2lzZSIsUkVQTEFZXzEwOiJza2lwMTBfYmFjayIsUkVQTEFZX0FSUk9XOiJyZXBsYXkiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsUlNTX09GRjoicnNzX3NsYXNoIixTQUQ6ImZhY2Vfc2FkIixTQVZFX1BMQVlMSVNUOiJib29rbWFyayIsU0NIRURVTEU6ImNsb2NrIiwKU0NIT09MOiJncmFkdWF0aW9uX2NhcCIsU0NSRUVOX0RFRkFVTFQ6InBsYXllcl9kZWZhdWx0IixTQ1JFRU5fRlVMTFNDUkVFTjoicGxheWVyX2Z1bGxfZW50ZXIiLFNDUkVFTl9MSUdIVDoiYW1iaWVudF9tb2RlIixTQ1JFRU5fUk9UQVRJT046InJvdGF0ZV9wb3J0cmFpdCIsU0NSRUVOX1NXSVRDSDoicGxheWVyX3N3aXRjaCIsU0NSRUVOX1RIRUFUUkU6InBsYXllcl90aGVhdGVyIixTRUFSQ0hfQ0FJUk86InNlYXJjaCIsU0VBUkNIX0hJU1RPUlk6Imhpc3RvcnkiLFNFTEw6InByaWNlX3RhZyIsU0VUVElOR1M6ImdlYXIiLFNFVFRJTkdTX0NBSVJPOiJnZWFyIixTRVRUSU5HU19MSUdIVDoiZ2VhciIsU0VUVElOR1NfTUFURVJJQUw6ImdlYXIiLFNFVFRJTkdTX1JFTU9URToicmVtb3RlX3dhdmVzIixTSEFSRToic2hhcmUiLFNIQVJFX0FSUk9XOiJzaGFyZSIsU0hBUkVfQ0FJUk86InNoYXJlIixTSElFTEQ6InNoaWVsZF94IixTSElFTERfRU1QVFk6InNoaWVsZCIsU0hJRUxEX09GRjoic2hpZWxkX3NsYXNoIiwKU0hJRUxEX1dJVEhfQVZBVEFSOiJwZXJzb25fc2hpZWxkIixTSE9QUElOR19CQUc6ImJhZyIsU0hPUFBJTkdfQkFHX0NBSVJPOiJiYWciLFNIT1BQSU5HX0NBUlQ6ImNhcnQiLFNIT1JUU19DT01NRU5UOiJ0ZXh0X2J1YmJsZSIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsU0hPUlRTX1NIQVJFOiJzaGFyZSIsU0tJUF9GT1JXQVJEXzMwOiJza2lwMzBfZm9yd2FyZCIsU0xBU0hfQ0lSQ0xFX0xFRlQ6ImNpcmNsZV9zbGFzaCIsU0xBU0hfQ0lSQ0xFX1JJR0hUOiJjaXJjbGVfc2xhc2giLFNMT1dfTU9ERToiYnViYmxlX3Nsb3ciLFNMT1dfTU9ERV9PRkY6InRleHRfYnViYmxlIixTTE9XX01PVElPTl9WSURFTzoicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFNPQ0lBTDoicGVyc29uX2NoaWxkIixTUEFSS0xFOiJzcGFya2xlcyIsU1BBUktfSU1BR0U6ImltYWdlX3NwYXJrIixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIiwKU1BBUktfUEVOQ0lMOiJwZW5jaWxfc3BhcmsiLFNQQVJLX1JBREFSOiJzcGFya193YXZlcyIsU1BBUktfVklERU86InZpZGVvX3NwYXJrIixTUEVBS0VSX0dST1VQOiJzcGVha2VyX3N0YWNrIixTUEVBS0VSX09GRjoic3BlYWtlcl9zbGFzaCIsU1BFRURfMVg6Im4xeCIsU1BFRURfMV9QT0lOVF8yWDoibjFwb2ludDJ4IixTUEVFRF8xX1BPSU5UXzVYOiJuMXBvaW50NXgiLFNQRUVEXzFfUE9JTlRfOFg6Im4xcG9pbnQ4eCIsU1BFRURfMlg6Im4yeCIsU1BPTlNPUlNISVBfU1RBUjoic3Rhcl9jaXJjbGUiLFNQT1JUUzoiYmFza2V0YmFsbCIsU1BPVExJR0hUOiJzcG90bGlnaHQiLFNUQUZGX1BJQ0s6InNwb3RsaWdodCIsU1RBUlRfRFZSOiJhZGQiLFNUQVJfQk9SREVSOiJzdGFyIixTVEFSX0NJUkNMRV9SSUJCT046Im1lbWJlcnNoaXBzX2dpZnQiLFNUQVJfSEFMRjoic3Rhcl9mdWxsX2hhbGYiLFNUQVJfU0hPT1RJTkc6Imh5cGUiLFNUSUNLRVI6InN0aWNrZXIiLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLApTVE9QX0RWUjoic3RvcCIsU1VCU0NSSUJFOiJ5b3V0dWJlIixTVUJTQ1JJQkVfUExVUzoiYWRkIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJTVEFSOiJzdXBlcl9zdGFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlcnNvbl9jaGlsZCIsU1VQRVJfQ0hBVF9GT1JfR09PRDoiaGFuZHNfaGVhcnQiLFNXQVBfSE9SSVo6ImFycm93X3N3YXBfaG9yaXpvbnRhbCIsU1dJVENIX0FDQ09VTlRTOiJwZXJzb25fc3F1YXJlX3N0YWNrIixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWUiLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InNob3J0cyIsVEFCX1NIT1JUU19DQUlSTzoic2hvcnRzIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsClRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zIixUQUJfVFJFTkRJTkc6InRyZW5kaW5nIixUQVJHRVQ6InRhcmdldCIsVEFSR0VUX0FERDoidGFyZ2V0X2FkZCIsVEVNUExBVEVfQUREOiJ0ZW1wbGF0ZV9hZGQiLFRFWFQ6ImZvbnQiLFRJQ0tFVF9TVEFSOiJzdGFyX3RpY2tldCIsVElNRVI6InN0b3B3YXRjaCIsVFJFTkRJTkdfQ0FJUk86InRyZW5kaW5nIixUUkVORElOR19ET1dOOiJhcnJvd190cmVuZF9kb3duIixUUkVORElOR19VUDoiYXJyb3dfdHJlbmRfdXAiLFRST1BIWV9DQUlSTzoidHJvcGh5IixUUk9QSFlfQ0VMRUJSQVRJT05TOiJmaXJld29ya3MiLFRST1BIWV9TVEFSOiJzdGFyX3Ryb3BoeSIsVFVORToiYWRqdXN0IixUVl9PRkY6InR2X3NsYXNoIixVTkJMT0NLX1VTRVI6Im1pbnVzX2NpcmNsZSIsVU5GQVZPUklURToidGh1bWJfZG93biIsVU5MSU1JVEVEOiJ5b3V0dWJlIixVTlBMVUdHRURfTElWRV9HVUlERToibGl2ZSIsVU5QTFVHR0VEX1NQT1JUUzoiZXllX3NsYXNoIiwKVVBMT0FEUzoicGxheV9zcXVhcmVfc3RhY2siLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJjaGV2cm9uX2Rvd25fZW5kIixWRVJUSUNBTF9BTElHTl9UT1A6ImNoZXZyb25fdXBfZW5kIixWRVJZX0hBUFBZOiJmYWNlX3ZlcnlfaGFwcHkiLFZFUllfU0FEOiJmYWNlX3Zlcnlfc2FkIixWSURFT1M6InBsYXlfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJwbGF5X3NxdWFyZV9zdGFjayIsVklERU9fUVVBTElUWV80SzoibjRrIixWSURFT19RVUFMSVRZXzhLOiJuOGsiLFZJREVPX1lPVVRVQkU6InlvdXR1YmUiLFZJRVdfTElTVF9DQUlSTzoidmlld19saXN0IixWSUVXX01PRFVMRToidmlld19jb2x1bW4zX3JvdzIiLFZJU0lCSUxJVFk6ImV5ZSIsVklTSUJJTElUWV9PRkY6ImV5ZV9zbGFzaCIsVk9MVU1FX0RPV046InZvbHVtZV9taW4iLFZPTFVNRV9NVVRFOiJ2b2x1bWVfbXV0ZSIsVk9MVU1FX09GRjoidm9sdW1lX211dGUiLApWT0xVTUVfU1RBQkxFOiJzdGFibGVfdm9sdW1lIixWT0xVTUVfVVA6InZvbHVtZV9tYXgiLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJoaXN0b3J5IixXQVRDSF9ISVNUT1JZX0NBSVJPOiJoaXN0b3J5IixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9jayIsV0FUQ0hfUkVMQVRFRF9NSVg6Im1peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTElOS0VEX1RWOiJ0dl9tb2JpbGUiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX1NIT1JUU19BUlJPV19ET1dOOiJhcnJvd19kb3duIixZT1VUVUJFX1NIT1JUU19BUlJPV19VUDoiYXJyb3dfdXAiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJzaG9ydHNfZW1wdHkiLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJzaG9ydHNfZW1wdHkiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfMjQ6InNob3J0cyIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQ6InNob3J0c190ZXh0X2xvZ28iLFlUX09VVExJTkVfTVVTSUNfMjQ6ImF1ZGlvIn07dmFyIFZxYT17MTU6W1sxLDMsMjRdXSwiMV9wb2ludF8yeCI6W1sxLDEsMjRdXSwiMV9wb2ludF81eCI6W1sxLDEsMjRdXSwiMV9wb2ludF84eCI6W1sxLDEsMjRdXSwiMXgiOltbMSwxLDI0XV0sIjJfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjJkIjpbWzEsMSwyNF1dLCIyeCI6W1sxLDMsMjRdXSwiM2QiOltbMSwxLDI0XV0sIjN4IjpbWzEsMywyNF1dLCI0ZCI6W1sxLDEsMjRdXSwiNGsiOltbMCwzLDI0XSxbMSwzLDI0XV0sNjA6W1sxLDMsMjRdXSwiOGsiOltbMCwyLDI0XSxbMSwyLDI0XV0sYWNjZXNzaWJpbGl0eTpbWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFjY291bnRfbGlua19zb21lOltbMCw1LDI0XV0sYWNjb3VudF9saW5rX3N1Y2Nlc3M6W1swLDUsMjRdXSxhZGQ6W1sxLDksMTZdLFsxLDksMjRdXSxhZGRfY2Fpcm86W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxhZGRfY2lyY2xlOltbMSw2LDI0XSwKWzEsNiwzNl1dLGFkZF9oYWxmX2NpcmNsZTpbWzEsMiwyNF1dLGFkanVzdDpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLGFpcnBsYW5lOltbMCw1LDI0XSxbMSw1LDIwXSxbMSw1LDI0XV0sYWlycGxheTpbWzEsNiwxNl0sWzEsNiwyNF1dLGFpcnBsYXlfb2ZmOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxNl0sWzEsMTEsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMSwxMCwyNF1dLGFsaWduX2NlbnRlcjpbWzAsNiwyNF0sWzEsNiwyNF1dLGFsaWduX2xlZnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9yaWdodDpbWzAsNiwyNF0sWzEsNiwyNF1dLGFycm93X2NhcHM6W1swLDIsMjRdLFsxLDIsMjRdXSxhcnJvd19jaXJjbGU6W1sxLDYsMjRdLFsxLDYsNDhdXSxhcnJvd19jaXJjbGVfZGFzaDpbWzEsMSwyNF1dLGFycm93X2NpcmNsZV9wbGF5OltbMSwxLDI0XSxbMSwxLAozNl0sWzEsMSw0OF1dLGFycm93X2NpcmNsZV9yaWdodDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF1dLGFycm93X2RpYWdvbmFsOltbMSw1LDI0XV0sYXJyb3dfZGlhZ29uYWxfZG93bl9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2RpYWdvbmFsX3VwX3JpZ2h0OltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGFycm93X2ZsaXBfZG9sbGFyX3NpZ246W1sxLDIsMjRdXSxhcnJvd19pbjpbWzAsOCwyNF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLAo4LDI0LCEwXV0sYXJyb3dfbGVmdF9jYWlybzpbWzEsMiwyNCwhMF1dLGFycm93X21lcmdlOltbMSwyLDI0XV0sYXJyb3dfb3V0OltbMCwyLDI0XV0sYXJyb3dfcGF1c2U6W1sxLDEsMjRdXSxhcnJvd19yZWRvOltbMSwxLDI0XV0sYXJyb3dfcmVtaXg6W1sxLDEsMjRdXSxhcnJvd19yZXBlYXQ6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19yZXBlYXRfMTpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfc2h1ZmZsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGFycm93X3NraXBfZm9yd2FyZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfc3dhcF9ob3Jpem9udGFsOltbMCw1LDI0XSxbMSw1LDE4XSwKWzEsNSwyNF1dLGFycm93X3RpbWU6W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd190aW1lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfdGltZV9mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfdW5kbzpbWzEsMSwyNF1dLGFycm93X3VwOltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sYXJ0aWNsZTpbWzEsMiwyNF1dLGFydGljbGVfYWxlcnQ6W1sxLDIsMjRdXSxhcnRpY2xlX2NoZWNrOltbMSwyLDI0XV0sYXJ0aWNsZV9jbGFyaWZ5OltbMSwyLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxNl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxOF0sWzEsMTQsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLGF1ZGlvX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fb2ZmOltbMSwyLDI0XV0sYXVkaW9fc3Vycm91bmQ6W1swLAoxLDI0XSxbMSwxLDI0XV0sYmFja2dyb3VuZDpbWzEsMSwyNF1dLGJhY2tzcGFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGJhZzpbWzAsNywxMl0sWzAsNywxOF0sWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLGJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJhcl9jaXJjbGU6W1sxLDQsMjRdXSxiYXJfZ3JhcGg6W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsOltbMCw2LDI0XSxbMSw2LDI0XV0sYmFyX2hvcml6b250YWw6W1sxLDIsMTZdLFsxLDIsMjRdXSxiYXJzXzI6W1sxLDksMTZdLFsxLDksMjRdXSxiYXJzXzM6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX2NhaXJvOltbMCwzLDI0XSxbMSwzLDI0XV0sYmVsbF9vZmY6W1sxLDUsMjRdXSxiZWxsX29mZl9jYWlybzpbWzEsMiwyNF1dLGJlbGxfb246W1swLDcsMjRdXSxiZWxsX29uX2NhaXJvOltbMCwKMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMSwzLDI0XV0sYm9va21hcms6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGJvb2ttYXJrX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYm94XzNkOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94X2JhcjpbWzAsMywyNF1dLGJveF9jaGVjazpbWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLGJveF9jaGV2cm9uX3JpZ2h0OltbMSwzLDI0XV0sYm94X2Rhc2hlZF90cmlhbmdsZTpbWzEsMywyNF1dLGJveF9lbXB0eTpbWzEsNSwyNF1dLGJveF9vcGVuX2NoZWNrOltbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYm94X3BlbmNpbDpbWzEsMywxNl0sWzEsMywyNF1dLGJveF9wbGFjZWhvbGRlcl9sZWZ0OltbMSwxLDI0XV0sYm94X3NlYXJjaDpbWzEsMSwyNF1dLGJveF9zdGFja18zOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94ZXNfMjpbWzEsMywyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsCjMsMjRdXSxicmlnaHRuZXNzOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJvYWRjYXN0OltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDE2XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sYnVnOltbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1sxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2VmZmVjdHM6W1sxLDQsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwKMiwyNF1dLGNoZWNrOltbMCwxMywxMl0sWzAsMTMsMTZdLFswLDEzLDI0XSxbMSwxMywxNl0sWzEsMTMsMjRdXSxjaGVja19jaXJjbGU6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb3VibGU6W1sxLDEsMjRdXSxjaGVja19kb3VibGVfb2ZmOltbMSwxLDI0XV0sY2hldnJvbl9jb2xsYXBzZTpbWzEsMywyNF1dLGNoZXZyb25fZG93bjpbWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fZG93bl9jYWlybzpbWzEsMiwyNF1dLGNoZXZyb25fZG93bl9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fZmlyc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xhc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnQ6W1sxLDksMTYsITBdLFsxLDksMTgsITBdLFsxLDksMjQsITBdXSxjaGV2cm9uX2xlZnRfY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fbGVmdF9pb3NfY2Fpcm86W1sxLDIsMjRdXSwKY2hldnJvbl9yaWdodDpbWzAsNywxNiwhMF0sWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxNiwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fcmlnaHRfaW9zOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxNl0sWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3VwX2NpcmNsZTpbWzAsMywyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8xOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzI6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMzpbWzEsNSwyNF1dLGNocm9tZWNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjaHJvbWVjYXN0X21vYmlsZTpbWzEsNCwyNF0sWzEsNCwzNl1dLGNocm9tZWNhc3Rfd2F2ZWZvcm06W1sxLAoyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfaGFsZl9mdWxsOltbMSwxLDI0XV0sY2lyY2xlc182OltbMCwxLDI0XV0sY2lyY2xlc19vdmVybGFwOltbMCwxLDI0XSxbMSwxLDI0XV0sY2lyY2xlc19vdmVybGFwX2NoZWNrOltbMCwxLDE2XSxbMCwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xhcHBlcmJvYXJkX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMSwxMCwxNl0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd3M6W1sxLDEsMjRdXSxjbG9ja19hcnJvd3NfYWxlcnQ6W1sxLDEsMjRdXSxjbG9ja19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX2hhbGZfY2lyY2xlOltbMCwxLDI0XSxbMSwxLDI0XV0sY2xvc2VkX2NhcHRpb246W1swLDExLDI0XSxbMSwxMSwyNF1dLGNsb3VkOltbMSwyLDI0XV0sY2xvdWRfYXJyb3dfZG93bjpbWzEsMywyNF1dLGNsb3VkX2Fycm93X3VwOltbMCwKNiwyNF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9vZmY6W1sxLDIsMjRdXSxjb2RlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvbXBhc3NfY2Fpcm86W1swLDEsMjRdLFsxLDEsMjRdXSxjb250cm9sbGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyZWF0b3JfYWNhZGVteTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF0sWzEsMywyNF1dLGNyZWF0b3JfYWNhZGVteV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMSw0LDI0XV0sY3JvcDpbWzEsNCwxNl0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvd246W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSxjdWJlX3NwYXJrOltbMSwxLDI0XV0sCmN1cnZlX3M6W1swLDEsMjRdXSxkYXNoYm9hcmRfcGx1czpbWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyMF0sWzEsMSwyNF1dLGRpZV8zOltbMCw1LDI0XSxbMSw1LDI0XV0sZGlyZWN0aW9uczpbWzEsMywyNF1dLGRvZ2Zvb2Q6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbjpbWzAsNywyNF0sWzEsNywyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMTZdLFswLDEyLDI0XSxbMSwxMiwxNl0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGx1czpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NvbnRhaW5lcjpbWzEsNywyNF1dLGRvbGxhcl9zaWduX2hlYXJ0OltbMCwyNCwxMl0sWzAsMjQsMjRdLFsxLDI0LDE2XSxbMSwyNCwyNF1dLGRvbGxhcl9zaWduX29mZjpbWzEsMywyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sZG93bmxvYWRfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sZG93bmxvYWRlZDpbWzAsOCwyNF1dLGRvd25sb2FkaW5nOltbMSw1LDI0XV0sZG93bmxvYWRpbmdfMDpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzE6W1sxLDYsMjRdXSxkb3dubG9hZGluZ18yOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMzpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzQ6W1sxLDYsMjRdXSxkb3dubG9hZGluZ181OltbMSw3LDI0XV0sZG93bmxvYWRpbmdfNjpbWzEsNiwyNF1dLGRyaXZlX2FkZDpbWzEsMiwyNF1dLGVhcnRoOltbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGV4cGxpY2l0OltbMCw3LDE4XSxbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX29mZjpbWzEsNCwyNF1dLGV5ZWRyb3BwZXI6W1sxLDIsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfYXJyb3dzX2RpYWdvbmFsOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sClsxLDEyLDM2XV0sZmFjZV9pbWFnZTpbWzEsMiwyNF1dLGZhY2VfbWVoOltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfbWVoXzI6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdLFsxLDYsMzZdXSxmYWNlX3BhaW50YnJ1c2g6W1sxLDIsMjRdXSxmYWNlX3NhZDpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX3ZlcnlfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV92ZXJ5X3NhZDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzaGlvbl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZhc3RfYmFjazpbWzAsCjMsMjRdLFsxLDMsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWx0ZXJfZmFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sZmlyZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZsYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb2ZmOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb246W1swLDUsMjRdLFsxLDUsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfZGFzaDpbWzEsCjEsMjRdXSxmbGlwX3ZlcnRpY2FsX2Rhc2g6W1sxLDEsMjRdXSxmb2xkZXI6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxNl0sWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2FtaW5nX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZ2Vhcl9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGdob3N0OltbMCw1LDI0XSxbMSw1LDI0XV0sZ2lmOltbMSwzLDI0XV0sZ2lmdDpbWzAsMywyNF0sWzEsMywyNF1dLGdsb2JlOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2xvYmVfaW1hZ2U6W1swLDMsMjRdLFswLDMsMzZdLFsxLDMsMjRdLFsxLDMsMzZdXSxnbG93OltbMSwyLDI0XV0sZ29vZ2xlX2xlbnM6W1sxLDQsMjRdXSxncmVhdGVyX3RoYW5fMjA6W1sxLDIsMjRdXSxncmlkXzJ4MjpbWzEsMSwyNF1dLApncmlkXzNfYnlfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGdyaWRfYXN5bW1ldHJpY2FsOltbMCwxLDI0XSxbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfbG9uZ19wcmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGhhbmRfcGluY2hfaW46W1sxLDIsMjRdXSxoYW5kX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxoYW5kX3N3aXBlX3JpZ2h0OltbMSwyLDI0XV0saGFuZF90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFydDpbWzAsMTksMTNdLFswLDE5LDI0XSxbMSwxOSwxNl0sWzEsMTksMjRdXSxoZWFydF9ib3g6W1sxLDEsMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSwKaGVhcnRfb2ZmOltbMSwyLDI0XV0saGllcmFyY2h5OltbMCw0LDI0XSxbMSw0LDI0XV0saGlnaGxpZ2h0czpbWzEsMiwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvbWVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxob3VyZ2xhc3M6W1sxLDMsMTZdLFsxLDMsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzEsNCwyNF1dLGltYWdlX3dhbGxwYXBlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluY29nbml0b19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGluZmluaXRlOltbMCwyLDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTEsMTZdLFsxLDExLDE4XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSxpbmZvX2NpcmNsZV9zcGFyazpbWzEsMiwyNF1dLGpvdXJuZXk6W1sxLDIsMjRdXSxrZXk6W1sxLDUsMjRdXSxrZXlib2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsOltbMCw0LDI0XSwKWzEsNCwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXllcnM6W1swLDEsMjRdLFsxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVuczpbWzEsMSwyNF1dLGxlc3NfdGhhbl80OltbMSwyLDI0XV0sbGlicmFyeTpbWzAsNywyNF0sWzEsNywyNF1dLGxpYnJhcnlfYWRkOltbMSw3LDE2XSxbMSw3LDI0XV0sbGlicmFyeV9pbWFnZTpbWzEsMSwyNF1dLGxpYnJhcnlfbXVzaWM6W1swLDMsMjRdLFsxLDMsMjRdXSxsaWJyYXJ5X3NhdmVkOltbMCw3LDI0XV0sbGlnaHRidWxiOltbMCw0LDEyXSxbMCw0LDI0XSxbMSw0LDI0XV0sbGlnaHRidWxiX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbGlnaHRidWxiX3NwYXJrOltbMSwyLDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfb2ZmOltbMSwxLDI0XV0sbGlzdF9hZGQ6W1sxLDUsMjRdXSxsaXN0X2NoZWNrOltbMCwyLDI0XV0sbGlzdF9tdXNpYzpbWzEsMywyNF1dLGxpc3RfcGVuY2lsOltbMSwKNSwyNF1dLGxpc3RfcGxheV9hcnJvdzpbWzAsOCwyNF0sWzEsOCwxMl0sWzEsOCwyNF1dLGxpc3RfcGxheV9hcnJvd19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpc3RfcXVldWU6W1sxLDEsMjRdXSxsaXN0X3F1ZXVlX2xhc3Q6W1swLDMsMjRdLFsxLDMsMjRdXSxsaXN0X3F1ZXVlX25leHQ6W1sxLDEsMjRdXSxsaXN0X3JlbW92ZTpbWzEsMSwyNF1dLGxpc3RfdmlldzpbWzEsMiwyNF1dLGxpc3Rfdmlld19jYWlybzpbWzEsMiwyNF1dLGxpdmVfbW9iaWxlX2xhbmRzY2FwZV9vcmllbnRhdGlvbjpbWzEsMSwyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcG9pbnQ6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMjRdXSxsb2NhdGlvbl9wb2ludF9vZmY6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDEyXSxbMSwxMywxNl0sWzEsMTMsMThdLFsxLDEzLDI0XV0sbG9ja19vcGVuOltbMSwKNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWF0aF9hZGQ6W1swLDMsMjRdXSxtYXRoX2FuZDpbWzAsMywyNF1dLG1hdGhfZGl2aWRlOltbMCwzLDI0XV0sbWF0aF9lcXVhbHM6W1swLDMsMjRdXSxtYXRoX2VxdWFsc19zbGFzaDpbWzEsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuOltbMCwzLDI0XV0sbWF0aF9ncmVhdGVyX3RoYW5fb3JfZXF1YWw6W1sxLDEsMjRdXSxtYXRoX2xlc3NfdGhhbjpbWzAsMywyNF1dLG1hdGhfbGVzc190aGFuX29yX2VxdWFsOltbMSw0LDI0XV0sbWF0aF9tdWx0aXBseTpbWzAsMywyNF1dLG1hdGhfb3I6W1swLDMsMjRdXSxtYXRoX3BlcmNlbnQ6W1swLDMsMjRdXSxtYXRoX3N1YnRyYWN0OltbMCwzLDI0XV0sbWF4aW1pemVfY2Fpcm86W1sxLDEsMjRdXSxtZWRhbDpbWzEsMiwyNF1dLG1lZGFsX3N0YXI6W1sxLDIsMjRdXSxtZWV0OltbMSwxLDI0XV0sbWVnYXBob25lOltbMCwKNSwyNF0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDEyXSxbMCw5LDE2XSxbMCw5LDE4XSxbMCw5LDI0XSxbMSw5LDI0XV0sbWVudGlvbjpbWzEsNSwxNl0sWzEsNSwyNF1dLG1lbnVfZmlsdGVyOltbMCwxLDI0XSxbMSwxLDI0XV0sbWVudV9zb3J0OltbMSw0LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybzpbWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX2VtcHR5OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfZ2VhcjpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnQ6W1swLDEsMjRdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0X2Jvb3N0OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9vdmVybGFwOltbMCw4LDI0XSxbMSw4LDI0XV0sbWVzc2FnZV9idWJibGVfcXVlc3Rpb246W1swLDIsMTZdLFswLDIsCjI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDE0LDI0XSxbMCwxNCwzMl0sWzEsMTQsMTZdLFsxLDE0LDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHRfY2FwdGlvbjpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMjRdLFsxLDE0LDI0XV0sbWljX29mZjpbWzEsMiwyNF1dLG1pbmlwbGF5ZXJfZXhpdDpbWzEsMSwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9kb3dubG9hZDpbWzEsMywyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1sxLDMsMjRdXSxtb2JpbGVfc2NyZWVuX2hvcml6b250YWw6W1sxLDEsMjRdXSxtb2JpbGVfc2NyZWVuX3ZlcnRpY2FsOltbMSwxLDI0XV0sbW9uZXlfaGFuZDpbWzEsMiwyNF1dLG1vbml0b3JfZGlzcGxheTpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLG1vbml0b3JfZGlzcGxheV9vZmY6W1sxLDEsMjRdXSxtb29uX3o6W1swLDEsMjRdLFsxLAoxLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwyNF1dLG11c2ljOltbMCw2LDI0XSxbMSw2LDE2XSxbMSw2LDE4XSxbMSw2LDI0XV0sbXVzaWNfb2ZmOltbMSwzLDI0XV0sbXVzaWNfc2Npc3NvcnM6W1sxLDMsMjRdXSxtdXNpY19zaGFwZTpbWzEsMywyNF1dLG11c2ljX3ZpZGVvOltbMSw0LDI0XV0sbXVzaWNfdmlkZW9fb2ZmOltbMSwxLDI0XV0sbXlfdmlkZW9zOltbMSw2LDI0XV0sbXlfdmlkZW9zX2NhaXJvOltbMSwyLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLG5ld3NfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxub2RlX2xlZnQ6W1sxLDIsMjRdXSxub2RlX3JpZ2h0OltbMSwyLDI0XV0sbm90ZTpbWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfYWRkOltbMSwxLDE2XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxNl0sWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG9kb21ldGVyOltbMCw0LDI0XSwKWzEsNCwyNF1dLG9wZW5fbmV3OltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0sb3ZlcmZsb3dfaG9yaXpvbnRhbDpbWzEsNiwyNF0sWzEsNiwzMl1dLG92ZXJmbG93X3ZlcnRpY2FsOltbMSwxMywyNF1dLG92ZXJmbG93X3ZlcnRpY2FsX2NhaXJvOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhcGVyX2Nvcm5lcl9mb2xkZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9vcGVuX2luX25ldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBhdXNlOltbMCw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0scGRmOltbMSwyLDI0XV0scGVuY2lsOltbMSwxMCwxNl0sWzEsMTAsMThdLFsxLDEwLDI0XV0scGVvcGxlOltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0scGVvcGxlXzI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZW9wbGVfZ3JvdXA6W1swLDQsMjRdLApbMSw0LDE2XSxbMSw0LDI0XV0scGVvcGxlX25vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMjRdXSxwZXJzb246W1swLDcsMTJdLFswLDcsMTNdLFswLDcsMTZdLFswLDcsMjRdLFswLDcsNDhdLFsxLDcsMTNdLFsxLDcsMTZdLFsxLDcsMjRdXSxwZXJzb25fMjpbWzEsMSwyNF1dLHBlcnNvbl9hY2NvdW50OltbMSw2LDI0XV0scGVyc29uX2FjY291bnRfY2Fpcm86W1sxLDEsMjRdXSxwZXJzb25fYWRkOltbMSw3LDI0XV0scGVyc29uX2JveDpbWzEsNSwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLHBlcnNvbl9jaXJjbGVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwyLDI0XV0scGVyc29uX21pbnVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX211c2ljOltbMCw0LDI0XSxbMSw0LDI0XV0scGVyc29uX3JhZGFyOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDE4XSxbMSw3LDI0XV0scGVyc29uX3NldHRpbmc6W1sxLAo2LDI0XV0scGVyc29uX3NoaWVsZDpbWzEsOCwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywyNF1dLHBpY3R1cmVfaW5fcGljdHVyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBpY3R1cmVfaW5fcGljdHVyZV9jb21iaW5lOltbMSwxLDI0XV0scGluOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDI0XV0scGluX29mZjpbWzEsMSwyNF1dLHBsYXlfYXJyb3c6W1swLDcsMjRdLFsxLDcsMjRdXSxwbGF5X2Fycm93X2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBsYXlfYXJyb3dfZGlzYWJsZWQ6W1swLDEsMTJdLFswLDEsMjRdXSxwbGF5X2Fycm93X2hhbGZfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0scG9kY2FzdDpbWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLHBvZGNhc3RfYWRkOltbMCwyLDI0XSxbMSwyLDI0XV0sCnBvZGNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnRfMng6W1sxLDEsMjRdXSxwb2ludF8zeDpbWzEsMywyNF1dLHBvaW50XzV4OltbMSwzLDI0XV0scG9pbnRfOHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxNl0sWzEsMTAsMjRdLFsxLDEwLDQwXV0scG91bmQ6W1sxLDMsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmVzZW50YXRpb25fcmVtb3ZlOltbMSwxLDI0XV0scHJpY2VfdGFnOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0scHJpY2VfdGFnX2hlYXJ0OltbMSwyLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHF1ZXN0aW9uX2NpcmNsZTpbWzEsNSwyNF1dLHF1ZXN0aW9uX2NpcmNsZV9jYWlybzpbWzEsMiwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdW90YXRpb25fbWFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RhdGlvbl9tYXJrX29mZjpbWzEsMSwyNF1dLHJhZGFyX2xpdmU6W1swLDcsMjRdLApbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmFkYXJfbGl2ZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHJhdGluZ19kb3duOltbMSwxLDI0XV0scmF0aW5nX3VwOltbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVtaXg6W1sxLDIsMTZdLFsxLDIsMjRdXSxyZXBsYXlfYXJyb3c6W1sxLDEsMjRdXSxyb3RhdGVfOTA6W1sxLDEsMjRdXSxyb3RhdGVfOTBfY2xvY2t3aXNlOltbMSwyLDI0XV0scnNzOltbMSwyLDE2XSxbMSwyLDI0XV0scnNzX29mZjpbWzEsMSwxNl0sWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMTJdLFsxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSw0LDI0XV0sc2Npc3NvcnM6W1swLDgsMTJdLFswLDgsMjRdLFsxLDgsMjRdXSxzY2lzc29yc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHNjaXNzb3JzX2N1dDpbWzEsNCwKMTZdLFsxLDQsMThdLFsxLDQsMjRdXSxzY3JlZW5fZGVmYXVsdDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9mdWxsOltbMSw3LDI0XV0sc2NyZWVuX2Z1bGxfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbF9leGl0OltbMSw2LDI0XV0sc2NyZWVuX2Z1bGxfZXhpdF9jYWlybzpbWzEsMSwyNF1dLHNjcmVlbl9mdWxsc2NyZWVuOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sc2NyZWVuX21pbmlfcGxheWVyOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX211bHRpX3ZpZXc6W1swLDMsMjRdLFsxLDMsMjRdXSxzY3JlZW5fcm90YXRpb246W1sxLDIsMThdLFsxLDIsMjRdXSxzY3JlZW5fc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sc2NyZWVuX3RoZWF0cmU6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fdmVydGljYWw6W1sxLAoxLDI0XV0sc2NyZWVuX3g6W1sxLDIsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDI0XV0sc2VhcmNoX2NhaXJvOltbMSwyLDI0XV0sc2VhcmNoX3N1cGVyc2NyaXB0OltbMSwxLDI0XV0sc2VuZDpbWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLHNldHRpbmdzX3JlbW90ZTpbWzEsMSwyNF1dLHNoYWRvd19oYXJkOltbMCwzLDI0XV0sc2hhZG93X3NvZnQ6W1swLDMsMjRdXSxzaGFwZXM6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFyZTpbWzAsMTIsMjQsITBdLFswLDEyLDMyLCEwXSxbMSwxMiwxNiwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9jYWlybzpbWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJlX2xpbms6W1swLDEsMjRdLFsxLDEsMjRdXSxzaGllbGQ6W1sxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2NoZWNrOltbMSwxLDI0XV0sc2hpZWxkX2VtcHR5OltbMCwKMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHNoaWVsZF9vZmY6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfcGx1czpbWzEsMSwyNF1dLHNoaWVsZF9zZWFyY2g6W1sxLDIsMjRdXSxzaG9ydHNfbGF5b3V0X2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfY2VudGVyZWRfc3F1YXJlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9mb3JlZ3JvdW5kOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfYm90dG9tOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfdG9wOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sZWZ0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9waXA6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3JpZ2h0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9zaW5nbGU6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3RvcDpbWzEsMSwyNF1dLHNraXBfYmFja18xMDpbWzAsCjEsMjRdXSxza2lwX2JhY2tfMTU6W1swLDEsMjRdXSxza2lwX2JhY2tfMjA6W1swLDEsMjRdXSxza2lwX2JhY2tfMzA6W1swLDEsMjRdXSxza2lwX2JhY2tfNTpbWzAsMSwyNF1dLHNraXBfYmFja182MDpbWzAsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF1dLHNraXBfZm9yd2FyZF8xMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8xNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8yMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8zMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF81OltbMCwxLDI0XV0sc2tpcF9mb3J3YXJkXzYwOltbMCwxLDI0XV0sc2tpcF9uZXh0OltbMCw3LDI0XV0sc2tpcF9wcmV2aW91czpbWzAsNiwyNF1dLHNraXBfdXA6W1swLDYsMjRdXSxzbGFzaF9jaXJjbGVfbGVmdDpbWzEsNywyNF1dLHNsYXNoX2NpcmNsZV9yaWdodDpbWzEsMiwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29jY2VyX2NhcmQ6W1swLDIsMTJdLFswLDIsMTZdLFswLDIsMjRdXSxzcGFjZWJhcjpbWzEsCjIsMjRdXSxzcGFyazpbWzAsMTEsMTJdLFswLDExLDE2XSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19jaGF0OltbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfaW1hZ2U6W1sxLDIsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQ6W1sxLDEsMjRdXSxzcGFya19tdXNpYzpbWzEsMiwyNF1dLHNwYXJrX3BlbmNpbDpbWzEsMiwyNF1dLHNwYXJrX3JhZGFyOltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfdGV4dDpbWzEsMSwyNF1dLHNwYXJrX3ZpZGVvOltbMSwyLDI0XV0sc3BhcmtsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLHNwZWFrZXI6W1sxLDIsMjRdXSxzcGVha2VyX2dyb3VwOltbMSwxLDI0XV0sc3BlYWtlcl9ncm91cF9vZmY6W1sxLDEsMjRdXSxzcGVha2VyX2hlYWRzZXQ6W1sxLAoyLDI0XV0sc3BlYWtlcl9vZmY6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3J0czpbWzAsMSwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxNl0sWzAsNiwxOF0sWzAsNiwyNF1dLHN0YXJfY2lyY2xlX3JpYmJvbjpbWzAsMSwxNl0sWzAsMSwyMF0sWzAsMSwyNF0sWzAsMSwzNl0sWzEsMSwxNl0sWzEsMSwyMF0sWzEsMSwyNF0sWzEsMSwzNl1dLHN0YXJfaGFsZjpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLHN0YXJfc2hvb3Rpbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGF0aXN0aWNzX2dyYXBoOltbMSwyLDI0XV0sc3RpY2tlcjpbWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdXSxzdG9wd2F0Y2g6W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTZdLFsxLDUsMjRdXSxzdG9wd2F0Y2hfMTA6W1swLAoxLDI0XV0sc3RvcHdhdGNoXzM6W1swLDEsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMThdLFsxLDEyLDI0XV0sc3Vic2NyaXB0aW9uc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHN1YnRpdGxlczpbWzAsNSwxMl0sWzAsNSwyNF0sWzEsNSwyNF1dLHN1cGVyX2NoYXQ6W1sxLDgsMThdLFsxLDgsMjRdXSxzdXBlcl9zdGlja2VyOltbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sc3VwZXJfc3RvcmU6W1sxLDMsMjRdXSxzdXBlcnN0YXI6W1sxLDEsMjRdXSx0YWJsZXQ6W1sxLDEsMjRdXSx0YXJnZXQ6W1swLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSx0YXJnZXRfYWRkOltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDE2XSxbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRleHQ6W1swLDksMjRdLFsxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSx0ZXh0X2JlbGxfY2Fpcm86W1sxLAoxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sdGV4dF9ib2xkOltbMSwxLDI0XV0sdGV4dF9ib3g6W1sxLDUsMjRdXSx0ZXh0X2l0YWxpYzpbWzEsMSwyNF1dLHRleHRfb3V0bGluZTpbWzEsMiwyNF1dLHRleHRfcHJlc2V0OltbMSwxLDI0XV0sdGV4dF9zZXJpZjpbWzEsMSwyNF1dLHRleHRfc2hhZG93OltbMSwyLDI0XV0sdGV4dF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sdGV4dF91bmRlcmxpbmU6W1sxLDEsMjRdXSx0aGVtZV9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE2XSxbMCwyNSwyNF0sWzAsMjUsMzZdLFsxLDI1LDE2XSxbMSwyNSwyNF0sWzEsMjUsMzZdXSx0aHVtYl91cDpbWzAsMjQsMTZdLFswLDI0LDI0XSxbMCwyNCwzNl0sWzEsMjQsMTZdLFsxLDI0LDI0XSxbMSwyNCwzNl1dLHRodW1iX3VwX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwKMjRdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZTpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLHRpY190YWNfdG9lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGlja2V0X3N0YXI6W1sxLDEsMjRdXSx0aWx0OltbMSw0LDI0XV0sdGltZV9zdGFtcF9wbHVzOltbMSwxLDI0XV0sdGltZWxpbmU6W1sxLDMsMjRdXSx0b29sYm94OltbMSw0LDI0XV0sdHJhbnNjcmlwdDpbWzEsMiwxNl0sWzEsMiwyNF1dLHRyYW5zY3JpcHRfc2VhcmNoOltbMSwxLDE2XSxbMSwxLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyaWFuZ2xlX2Rvd246W1sxLDgsMjRdXSx0cmlhbmdsZV90aHJlZV9sZWZ0OltbMCwxLDI0XV0sdHJpYW5nbGVfdGhyZWVfcmlnaHQ6W1swLDEsMjRdXSx0cm9waHk6W1swLDMsMjRdLFsxLDMsMjRdXSx0cm9waHlfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sdHJvcGh5X3N0YXI6W1sxLDEsMjRdXSx0cnVjazpbWzAsNSwyNF0sWzEsNSwyNF1dLHR2OltbMCw4LDEyXSxbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sdHZfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHR2X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLHR2X2RvbGxhcl9zaWduOltbMCwxLDI0XSxbMSwxLDI0XV0sdHZfb2ZmOltbMSwyLDI0XV0sdHZfcXVldWU6W1sxLDQsMjRdXSx0dl9xdWV1ZV9jaGV2cm9uOltbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdXBsb2FkaW5nOltbMSwxLDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2ZXJpZmllZF9jaXJjbGU6W1sxLDQsMjRdXSx2aWRlb19jYW1lcmE6W1swLDksMjRdLFsxLDksMjRdXSx2aWRlb19jYW1lcmFfYWRkOltbMSwyLDI0XV0sdmlkZW9fY2FtZXJhX29mZjpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMTZdLFsxLDUsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sCnZpZGVvX3NwYXJrOltbMSwyLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2b2x1bWVfZG93bjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX29mZjpbWzAsNCwyNF0sWzEsNCwyNF1dLHZvbHVtZV9vbjpbWzAsMywyNF0sWzEsMywyNF1dLHZvbHVtZV9zdGFibGU6W1swLDEsMjRdLFsxLDEsMjRdXSx2cjpbWzAsNywyNF0sWzEsNywyNF1dLHdhdmVmb3JtOltbMSwzLDI0XV0sd2F2ZWZvcm1fbXVzaWM6W1swLDIsMThdLFswLDIsMjRdLFswLDIsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdyZW5jaDpbWzAsMywyNF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF1dLHhfY2Fpcm86W1sxLDEsMjRdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLHhfbWFyazpbWzEsNCwyMF0sWzEsNCwyNF1dLHhfb2N0YWdvbjpbWzEsMywyNF1dLHllbl9zaWduX2NvbnRhaW5lcjpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2ltcHJvdmVfdHY6W1sxLDEsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX2xpbmtlZF90djpbWzEsNCwyNF1dLHlvdXR1YmVfbG9nb19pY29uOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9taXg6W1sxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9tdXNpY19jYWlybzpbWzEsMiwyNF1dLHlvdXR1YmVfb3JpZ2luYWxzOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDEyXSxbMCwxMSwyMF0sWzAsMTEsMjRdLFsxLDExLDIwXSxbMSwxMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X2Rvd246W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19sZWZ0OltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfdXA6W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19jYWlybzpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19jYW1lcmE6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19jaGV2cm9uX2xlZnRfaW9zOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfZ3JlZW5fc2NyZWVuOltbMCwxLDI0XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfaGVhcnQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19tZXNzYWdlX2J1YmJsZV9yaWdodDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlOltbMCw0LDE2XSxbMCw0LDI0XSxbMCw0LDMyXSxbMSw0LDE2XSxbMSw0LDI0XSxbMSw0LDMyXV0seW91dHViZV9zaG9ydHNfb3ZlcmZsb3dfdmVydGljYWw6W1sxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19wbHVzOltbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9zaG9ydHNfcmVtaXg6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zZWFyY2g6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19zaGFyZTpbWzAsCjIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zdGlja2VyOltbMSwxLDE4XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfdGh1bWJfZG93bjpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX3VwOltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfd2F2ZWZvcm06W1sxLDIsMThdLFsxLDIsMjRdXSx5b3V0dWJlX3N0dWRpbzpbWzAsOCwyNF0sWzEsOCwyNF1dLHlvdXR1YmVfdHY6W1swLDgsMjRdLFsxLDgsMjRdXSx6b29tX2F1dG86W1swLDIsMjRdLFsxLDIsMjRdXX07dmFyIFdxYT17YWNjZXNzaWJpbGl0eTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzAsOCwyNF0sWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFkZDpbWzEsOSwxOF0sWzEsOSwyNF1dLGFkZF9jaXJjbGU6W1swLDYsMThdLFswLDYsMjRdLFsxLDYsMjRdLFsxLDYsMzZdXSxhZGRfc3F1YXJlX3N0YWNrOltbMSwxLDI0XV0sYWRkX3R2OltbMSwxLDI0XV0sYWRkX3R2X2NoZXZyb25fcmlnaHQ6W1sxLDEsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMjRdXSxhaXJwbGF5X3NsYXNoOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdLFsxLDgsNDhdXSxhbGVydF9idWJibGU6W1sxLDIsMThdLFsxLDIsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxMl0sWzEsMTEsMjRdLFsxLDExLDQ4XV0sYWxlcnRfb2N0YWdvbjpbWzAsCjIsMjRdLFsxLDIsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxhbWJpZW50X21vZGU6W1sxLDEsMjRdXSxhbXBlcnNhbmQ6W1sxLDEsMjRdXSxhcGk6W1swLDIsMjRdLFsxLDIsMjRdXSxhcmNoaXZlOltbMSwxLDI0XV0sYXJyb3dfYXJjX2ZvcndhcmQ6W1sxLDEsMjRdXSxhcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxhcnJvd19jb3VudGVyY2xvY2t3aXNlOltbMSwyLDI0XSxbMSwyLDQ4XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZV9kYXNoZWQ6W1sxLDEsMjRdXSxhcnJvd19kb3duOltbMSwzLDI0XV0sYXJyb3dfZG93bl9jaXJjbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxhcnJvd19kb3duX2NpcmNsZV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X2Rvd25fcmlnaHQ6W1sxLDEsMjRdXSxhcnJvd19mbGlwOltbMSwxMCwyNF1dLGFycm93X2luOltbMSw4LDE4XSxbMSw4LDI0XV0sYXJyb3dfbGVmdDpbWzEsOCwKMjQsITBdLFsxLDgsMzYsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzEsMiwyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfcmlnaHRfcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfc29saWRfZG93bjpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NvbGlkX3VwOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sYXJyb3dfc3BsaXQ6W1sxLDMsMjRdXSxhcnJvd19zcGxpdF9hbGVydDpbWzEsMSwyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzEsNSwyNF1dLGFycm93X3RyZW5kX2Rvd246W1sxLDEsMjRdXSxhcnJvd190cmVuZF91cDpbWzEsMiwxMl0sWzEsMiwyNF1dLGFycm93X3R1cm5fZG93bl9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF1dLGFycm93X3VwOltbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfdXBfbGVmdDpbWzEsCjEsMjRdXSxhcnJvd191cF9yZWN0YW5nbGVfcG9ydHJhaXQ6W1sxLDEsMjRdXSxhcnJvd191cF9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF0sWzEsMiwzNl1dLGFzcGVjdF9yYXRpb193MTZfaDk6W1sxLDEsMjRdXSxhc3BlY3RfcmF0aW9fdzlfaDE2OltbMSwxLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxOF0sWzAsMTQsMjRdLFsxLDE0LDEyXSxbMSwxNCwxOF0sWzEsMTQsMjRdLFsxLDE0LDQ4XV0sYXVkaW9fYXJyb3dfZmxpcDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX2JhZGdlOltbMCwzLDI0XSxbMSwzLDI0XV0sYXVkaW9fc2Npc3NvcnM6W1sxLDEsMjRdXSxhdWRpb19zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3NwYXJrOltbMSwxLDI0XV0sYXVkaW9fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fc3RhZmY6W1swLDIsMjRdLFsxLDIsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMjRdLFsxLDcsMjRdXSwKYmFnX2Jvb2ttYXJrOltbMSwyLDI0XV0sYmFza2V0YmFsbDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJlYWtlcjpbWzEsMiwyNF1dLGJlZDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLGJlbGw6W1swLDExLDI0XSxbMSwxMSwyNF1dLGJlbGxfc2xhc2g6W1sxLDEsMjRdXSxiZWxsX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sYmx1cjpbWzEsMiwyNF1dLGJvb2s6W1swLDMsMjRdLFsxLDMsMjRdXSxib29rX2F1ZGlvOltbMSwxLDI0XV0sYm9va21hcms6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sYnJpZWZjYXNlOltbMSwyLDI0XV0sYnJpZWZjYXNlX3NsYXNoOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb3dzZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxicm93c2VyX3NsYXNoOltbMSwxLDI0XV0sYnViYmxlOltbMSwxLDI0XV0sYnViYmxlX2FzdGVyaXNrOltbMCwyLDI0XSxbMSwyLDI0XV0sCmJ1YmJsZV9lbGxpcHNpczpbWzEsMSwyNF1dLGJ1YmJsZV9nZWFyOltbMSwxLDI0XV0sYnViYmxlX2xpc3Q6W1sxLDEsMjRdXSxidWJibGVfcGVuY2lsOltbMSwxLDI0XV0sYnViYmxlX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sYnViYmxlX3Nsb3c6W1swLDIsMjRdLFswLDIsNDhdLFsxLDIsMjRdLFsxLDIsNDhdXSxidWJibGVfc3Bhcms6W1sxLDEsMjRdXSxidWJibGVfc3BhcmtsZXM6W1sxLDEsMjRdXSxidWJibGVfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxidWc6W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMjRdXSxidXNpbmVzczpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhYmxlOltbMSwyLDI0XV0sY2FsY3VsYXRvcjpbWzAsMywyNF0sWzEsMywyNF1dLGNhbGVuZGFyOltbMCw0LDI0XSxbMSw0LDI0XV0sY2FsZW5kYXJfZXZlbnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjYWxlbmRhcl90b2RheTpbWzEsMSwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLApjYW1lcmFfYXVkaW86W1sxLDUsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3NwYXJrbGVzOltbMSwxLDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9hZGQ6W1sxLDEsMjRdXSxjYXJ0X3NwYXJrOltbMSwxLDI0XV0sY2F0OltbMCwzLDI0XSxbMSwzLDI0XV0sY2VsZWJyYXRpb246W1sxLDIsMjRdXSxjaGFydF9iYXI6W1sxLDIsMTJdLFsxLDIsMjRdXSxjaGFydF9iYXJfc2VhcmNoOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NxdWFyZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGNoYXJ0X2xpbmU6W1sxLDEsMjRdXSxjaGFydF9waWU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGFydF9zY2F0dGVyX3Bsb3Q6W1sxLDEsMjRdXSxjaGVjazpbWzEsMTMsMTJdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsCjM2XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb25lOltbMSwxLDI0XV0sY2hlY2tfZG9uZV9zbGFzaDpbWzEsMSwyNF1dLGNoZWNrX3NoaWVsZDpbWzEsMSwyNF1dLGNoZWNrX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoZWNrX3NxdWFyZV9zdGFjazpbWzAsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl9kb3duX2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fZXhwYW5kOltbMSw1LDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fbGVmdF9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnRfaW9zOltbMSwzLDI0XV0sY2hldnJvbl9yaWdodDpbWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2lyY2xlOltbMCwKMywyNF0sWzEsMywyNF1dLGNoZXZyb25fcmlnaHRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9yaWdodF9zcXVhcmU6W1sxLDEsMjRdXSxjaGV2cm9uX3VwOltbMSw5LDEyXSxbMSw5LDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3VwX2VuZDpbWzEsMSwyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwxOF0sWzEsMTEsMjRdLFsxLDExLDM2XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfZnVsbF9oYWxmOltbMCwxLDI0XV0sY2lyY2xlX2hhbGZfZmlsbGVkOltbMSwxLDI0XV0sY2lyY2xlX3NsYXNoOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XSxbMSw0LDQ4XV0sY2lyY2xlczY6W1sxLDEsMjRdXSxjbGFwcGVyYm9hcmQ6W1swLDMsMjRdLFsxLDMsCjI0XV0sY2xhcHBlcmJvYXJkX3NsYXNoOltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxjbG9ja19oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLGNsb2NrX3NwbGl0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2tfc3BsaXRfYWxlcnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9zZWRfY2FwdGlvbnM6W1swLDMsMjRdLFswLDMsNDhdLFsxLDMsMjRdLFsxLDMsNDhdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsNiwyNF0sWzEsNiwxOF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9zbGFzaDpbWzEsMiwyNF0sWzEsMiw0OF1dLGNtc19hbGxvd2xpc3Q6W1swLAoyLDI0XSxbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhcmU6W1sxLDIsMjRdXSxjb21wYXNzOltbMCw5LDI0XSxbMSw5LDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlfdG9fYWxsOltbMSwxLDI0XV0sY29weXJpZ2h0OltbMCw0LDI0XSxbMSw0LDI0XV0sY29weXJpZ2h0X3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvdmVyX2NsYWltOltbMSwxLDI0XV0sY3JlYXRpdmVfY29tbW9uczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sY3JvcDpbWzEsNCwxOF0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvc3NoYWlyOltbMSwxLDE4XSxbMSwxLDI0XV0sY3Jvd246W1swLDUsMThdLFswLDUsMjRdLFsxLDUsMjRdXSxjc3Y6W1swLDIsMjRdLFsxLDIsMjRdXSxjdWJlOltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLGN1cnNvcl9jbGljazpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1cnZlOltbMSwKMSwyNF1dLGN2cDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhbmNlX3NwYXJrOltbMCwxLDI0XV0sZGFzaGJvYXJkOltbMCwyLDI0XSxbMSwyLDI0XV0sZGFzaGJvYXJkX2FkZDpbWzEsMSwyNF1dLGRpZV9mYWNlMzpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkaXNwbGF5OltbMCwyLDI0XSxbMSwyLDI0XV0sZGlzcGxheV9zbGFzaDpbWzEsMSwyNF1dLGRpdmlkZTpbWzEsMSwyNF1dLGRvY3VtZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9jdW1lbnRfYXJyb3dfdXBfcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9hcnJvd19mbGlwOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlOltbMCwxMiwyNF0sWzEsMTIsMTJdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9hZGQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9wYXVzZTpbWzEsMiwyNF1dLApkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2g6W1sxLDIsMTJdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxMl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9yZWN0YW5nbGU6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl90djpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMSwxMSwxOF0sWzEsMTEsMjRdXSxkcGFkOltbMCwyLDI0XSxbMSwyLDI0XV0sZW1iZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxlcXVhbDpbWzEsMiwxOF0sWzEsMiwyNF1dLGVxdWFsX3NsYXNoOltbMSwxLDI0XV0sZXhwbGljaXQ6W1swLDcsMjRdLFsxLDcsMjRdXSxleWU6W1swLDYsMjRdLFsxLDYsMjRdXSxleWVfc2xhc2g6W1sxLDEsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZXllZ2xhc3NlczpbWzEsMSwyNF1dLGZhY2VfYWRkOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMCwKMTIsNDhdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV9uZXV0cmFsOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV9zY2FsZTpbWzEsMSwyNF1dLGZhY2Vfc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhc2hpb246W1swLDQsMjRdLFsxLDQsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdLFsxLAo1LDI0XV0sZmFzdF9yZXdpbmQ6W1swLDIsMjRdLFsxLDIsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWxtX3N0cmlwX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyOltbMSwxLDI0XV0sZmlsdGVyX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyX3Bob3RvOltbMCw4LDI0XSxbMSw4LDI0XV0sZmlyZXdvcmtzOltbMSwzLDI0XV0sZmxhZzpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDQ4XV0sZmxhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxmbGlwX3ZlcnRpY2FsX2hhbGZfZGFzaGVkOltbMSwKMSwyNF1dLGZvbGRlcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZvbnQ6W1sxLDEsMjRdXSxmb250X2JvbGQ6W1sxLDEsMjRdXSxmb250X2l0YWxpYzpbWzEsMSwyNF1dLGZvbnRfb3V0bGluZTpbWzEsMSwyNF1dLGZvbnRfcHJlc2VudDpbWzEsMSwyNF1dLGZvbnRfc2VyaWY6W1sxLDEsMjRdXSxmb250X3NoYWRvdzpbWzEsMSwyNF1dLGZvbnRfc3Bhcms6W1sxLDEsMjRdXSxmb250X3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGZvbnRfc3F1YXJlX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sZm9udF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sZm9udF9zdHlsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGZvbnRfdW5kZXJsaW5lOltbMSwxLDI0XV0sZm9vdGJhbGw6W1swLDQsMjRdLFsxLDQsMjRdLFsxLDQsMzZdXSxnYW1lX2NvbnRyb2xsZXI6W1sxLDEsMjRdXSxnYW1pbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxnZWFyOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDE4XSxbMSwxMCwyNF0sClsxLDEwLDQ4XV0sZ2VzdHVyZV9sb25nX3ByZXNzOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VzdHVyZV9waW5jaF9pbjpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfbGVmdDpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfcmlnaHQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3VwOltbMSwxLDI0XV0sZ2VzdHVyZV90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzEsNCwyNF1dLGdsb2JlX2ltYWdlOltbMSwzLDI0XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9ibG9nZ2VyOltbMCwxLDI0XV0sZ29vZ2xlX2RyaXZlX2FkZDpbWzEsMSwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ29vZ2xlX21lZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxnb29nbGVfcXVpY2tfc2hhcmU6W1sxLDEsMjRdXSwKZ3JhZHVhdGlvbl9jYXA6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxncmVhdGVyX3RoYW46W1sxLDEsMjRdXSxncmVhdGVyX3RoYW5fbjIwOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfd2F2ZTpbWzEsMiwyNF1dLGhhbmRzX2NsYXA6W1sxLDEsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFyaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0saGVhcnQ6W1swLDE5LDI0XSxbMSwxOSwxOF0sWzEsMTksMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMjRdXSxoZWFydF9jdWJlOltbMSwxLDI0XV0saGVhcnRfc2xhc2g6W1sxLDEsMjRdXSxoZWxwX2J1YmJsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlbHBfY2lyY2xlOltbMSwyLDE4XSxbMSwyLDI0XV0saGllcmFyY2h5OltbMCwKNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxoaXN0b3J5OltbMSwxLDI0XV0saG9tZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0saG91cmdsYXNzOltbMSwzLDE4XSxbMSwzLDI0XV0saHlwZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlOltbMCw4LDI0XSxbMSw4LDI0XV0saW1hZ2VfYWRkOltbMCw0LDI0XSxbMSw0LDI0XV0saW1hZ2VfZnJhbWU6W1sxLDEsMjRdXSxpbWFnZV9saXN0OltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2VfbGlzdF9zbGFzaDpbWzEsMSwyNF1dLGltYWdlX3NwYXJrOltbMSwxLDI0XV0saW1hZ2Vfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZV92aWV3ZmluZGVyOltbMSwxLDI0XV0saW5jb2duaXRvOltbMCw5LDI0XSxbMSw5LDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTAsMThdLFsxLDEwLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDEsMjRdXSxqZXdlbDpbWzEsMSwyNF1dLGpvdXJuZXk6W1sxLAoyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sbGFwdG9wOltbMSwzLDI0XV0sbGFwdG9wX21vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGxheW91dF9ib3R0b206W1sxLDEsMjRdXSxsYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLGxheW91dF9mdWxsOltbMSwxLDI0XV0sbGF5b3V0X2xlZnQ6W1sxLDEsMjRdXSxsYXlvdXRfbWlkZGxlOltbMSwxLDI0XV0sbGF5b3V0X3BpY3R1cmVfaW5fcGljdHVyZTpbWzEsMSwyNF1dLGxheW91dF9yaWdodDpbWzEsMSwyNF1dLGxheW91dF90b3A6W1sxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVzc190aGFuOltbMSwxLDI0XV0sbGVzc190aGFuX240OltbMSwxLDI0XV0sbGVzc190aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0sbGljZW5zZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpY2Vuc2VfYWxlcnQ6W1sxLAoxLDI0XV0sbGljZW5zZV9zZWFyY2g6W1sxLDEsMjRdXSxsaWNlbnNlX3NsYXNoOltbMSwxLDI0XV0sbGlnaHRidWxiOltbMCw0LDI0XSxbMSw0LDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfc2xhc2g6W1sxLDEsMjRdXSxsaXZlOltbMSwzLDEyXSxbMSwzLDI0XV0sbGl2ZV9waG90bzpbWzEsMiwyNF1dLGxpdmVfd2F2ZXM6W1sxLDIsMThdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW46W1swLDIsMjRdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW5fc2xhc2g6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsNDhdXSxsb2NrX2Nsb2NrOltbMSwxLDI0XV0sbG9ja19uMjpbWzEsMSwyNF1dLGxvY2tfb3BlbjpbWzAsNCwyNF0sWzEsNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwKMiwyNF1dLG1lZ2FwaG9uZTpbWzAsNSwyNF0sWzEsNSwxMl0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDI0XSxbMCw5LDM2XSxbMSw5LDI0XV0sbWVtYmVyc2hpcHNfZ2lmdDpbWzEsMSwyNF1dLG1lbnRpb246W1sxLDUsMjRdXSxtZW51OltbMSwxLDI0XV0sbWljOltbMCwxNCwxOF0sWzAsMTQsMjRdLFswLDE0LDM2XSxbMCwxNCw0OF0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLG1pY19zbGFzaDpbWzEsMiwyNF1dLG1pY19zcGFyazpbWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxOF0sWzEsMSwyNF1dLG1pbnVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbWludXNfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sbWludXNfc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sbWl4OltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbW9iaWxlX2Fycm93X2Rvd246W1sxLDEsMjRdXSxtb2JpbGVfYXJyb3dfaW46W1sxLAoxLDI0XV0sbW9iaWxlX2Fycm93X291dDpbWzEsMSwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1swLDMsMjRdLFsxLDMsMjRdXSxtb3Rpb246W1sxLDIsMjRdXSxtb3ZlOltbMSw0LDE4XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW86W1swLDQsMjRdLFsxLDQsMjRdXSxtdXNpY192aWRlb19zbGFzaDpbWzEsMSwyNF1dLG4xNTpbWzEsMSwyNF1dLG4xcG9pbnQyeDpbWzEsMSwyNF1dLG4xcG9pbnQ1eDpbWzEsMSwyNF1dLG4xcG9pbnQ4eDpbWzEsMSwyNF1dLG4xeDpbWzEsMSwyNF1dLG4yZDpbWzEsMSwyNF1dLG4ycG9pbnQ1eDpbWzEsMSwyNF1dLG4yeDpbWzEsMSwyNF1dLG4zZDpbWzEsMSwyNF1dLG4zeDpbWzEsMSwyNF1dLG40ZDpbWzEsMSwyNF1dLG40azpbWzAsMSwyNF0sWzEsMSwyNF1dLG42MDpbWzEsMSwyNF1dLG44azpbWzAsMSwyNF0sWzEsMSwyNF1dLG5ld19yZWxlYXNlOltbMSwxLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywyNF1dLG5ld3NfYWxlcnQ6W1swLAoxLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxub3RlX3NwYXJrOltbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0sb3Blbl9pbl9wYW5lbDpbWzEsMiwyNF1dLG9yaWdpbmFsczpbWzAsMSwyNF0sWzEsMSwyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzZdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMThdLFsxLDEzLDI0XSxbMSwxMywzNl1dLHBhZ2Vfc2VhcmNoOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFpbnRfcGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlOltbMCw5LDI0XSxbMCw5LDM2XSxbMCw5LDQ4XSxbMSw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDI0XSxbMSwyLDI0XV0scGF1c2VfaGlzdG9yeTpbWzEsMSwyNF1dLHBhd3ByaW50OltbMCwKMiwyNF0sWzEsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlbmNpbF9zcGFyazpbWzEsMSwyNF1dLHBlcmNlbnQ6W1sxLDEsMjRdXSxwZXJzb246W1swLDcsMjRdLFsxLDcsMTJdLFsxLDcsMjRdXSxwZXJzb24yOltbMSwxLDI0XV0scGVyc29uMl9yZWN0YW5nbGU6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb24zOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX2FkZDpbWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9hdWRpbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLHBlcnNvbl9iYWNrZ3JvdW5kX3NwYXJrOltbMSwxLDI0XV0scGVyc29uX2NoZWNrOltbMSwxLDI0XV0scGVyc29uX2NoaWxkOltbMCwyLDEyXSxbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLHBlcnNvbl9jaXJjbGVfc2xhc2g6W1sxLAoyLDI0XV0scGVyc29uX2dlYXI6W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fc2hpZWxkOltbMSw3LDI0XV0scGVyc29uX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX3ZpZXdmaW5kZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwZXJzb25fd2F2ZXM6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25feDpbWzEsMSwyNF1dLHBob25lOltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDI0XV0scGlhbm86W1sxLDEsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfc3RhY2s6W1sxLDEsMjRdXSxwaW46W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwaW5fc2xhc2g6W1swLDIsMjRdLFsxLDIsMThdLApbMSwyLDI0XV0scGxheTpbWzAsNCwxOF0sWzAsNCwyNF0sWzAsNCwzNl0sWzAsNCw0OF0sWzEsNCwyNF1dLHBsYXlfY2lyY2xlOltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XV0scGxheV9jaXJjbGVfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxwbGF5X3BhdXNlOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc3F1YXJlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9zcXVhcmVfc3RhY2s6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5YWJsZXM6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwbGF5ZXJfZGVmYXVsdDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyOltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfYWx0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfcG9ydHJhaXQ6W1sxLDIsMjRdXSxwbGF5ZXJfZnVsbF9leGl0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZXhpdF9hbHQ6W1sxLDEsCjI0XV0scGxheWVyX21pbmlfZW50ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfbWluaV9leGl0OltbMSwxLDI0XV0scGxheWVyX211bHRpdmlldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfdGhlYXRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlsaXN0OltbMSw1LDEyXSxbMSw1LDE4XSxbMSw1LDI0XSxbMSw1LDQ4XV0scGxheWxpc3RfYWRkOltbMSwzLDE4XSxbMSwzLDI0XV0scGxheWxpc3RfYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwbGF5bGlzdF9hdWRpb19zbGFzaDpbWzEsMSwyNF1dLHBsYXlsaXN0X2NoZWNrOltbMSwxLDI0XV0scGxheWxpc3RfcGVuY2lsOltbMSwyLDI0XSxbMSwyLDQ4XV0scGxheWxpc3RfeDpbWzEsMywxOF0sWzEsMywyNF1dLHBvZGNhc3Q6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMThdLFsxLDYsMjRdLFsxLDYsNDhdXSxwb2RjYXN0X2FkZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnQyeDpbWzEsMSwyNF1dLHBvaW50M3g6W1sxLDEsMjRdXSxwb2ludDV4OltbMSwxLDI0XV0scG9pbnQ4eDpbWzEsMSwyNF1dLHBvbGw6W1sxLDEwLDE4XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxwb3N0OltbMCwyLDEyXSxbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDEyXSxbMSwyLDE4XSxbMSwyLDI0XV0scHJlbWl1bTpbWzAsMSwyNF0sWzEsMSwyNF1dLHByZXNlbnRhdGlvbjpbWzEsMywyNF1dLHByaWNlX3RhZzpbWzAsOCwyNF0sWzAsOCw0OF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHByaWNlX3RhZ19yZWN0YW5nbGU6W1sxLDEsMjRdXSxxcl9jb2RlOltbMSwzLDI0XV0scXJfY29kZV92aWV3ZmluZGVyOltbMSwxLDI0XV0scXVlc3Rpb25faGVhZDpbWzEsMiwyNF1dLHF1ZXVlOltbMSwxLDI0XV0scXVldWVfbGFzdDpbWzEsMSwyNF1dLHF1ZXVlX25leHQ6W1sxLDEsMjRdXSxxdWl6OltbMCwKMSwyNF0sWzEsMSwyNF1dLHF1b3RlOltbMCwxLDI0XSxbMSwxLDI0XV0scXVvdGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxyZWNvcmQ6W1swLDIsMjRdXSxyZWRvOltbMSwyLDE4XSxbMSwyLDI0XV0scmVtaXg6W1sxLDIsMjRdXSxyZW1peF9zcGFya2xlczpbWzEsMSwyNF1dLHJlbW90ZV93YXZlczpbWzEsMSwyNF1dLHJlcGVhdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHJlcGVhdDE6W1swLDEsMjRdLFsxLDEsMjRdXSxyZXBsYXk6W1sxLDIsMjRdLFsxLDIsMzZdXSxyb3RhdGVfY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2NvdW50ZXJjbG9ja3dpc2U6W1sxLDEsMjRdXSxyb3RhdGVfbGFuZHNjYXBlOltbMSwyLDE4XSxbMSwyLDI0XV0scm90YXRlX3BvcnRyYWl0OltbMSwxLDI0XV0scnNzOltbMSwyLDI0XV0scnNzX3NsYXNoOltbMSwxLDI0XV0scnVieTpbWzEsMiwyNF1dLHNhbXBsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzYXR1cmF0aW9uOltbMSwyLDI0XV0sc2NhbGU6W1sxLAo0LDI0XV0sc2Npc3NvcnM6W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsMjRdXSxzY3JpYmJsZTpbWzEsMSwyNF1dLHNkOltbMCwzLDI0XSxbMSwzLDI0XV0sc2VhcmNoOltbMCwxNSwyNF0sWzEsMTUsMThdLFsxLDE1LDI0XSxbMSwxNSw0OF1dLHNlYXJjaF9zaGllbGQ6W1swLDEsMjRdLFsxLDEsMjRdXSxzZWFyY2hfc3Bhcms6W1sxLDMsMThdLFsxLDMsMjRdXSxzZWVrX2ZvcndhcmQ6W1swLDEsMjRdXSxzZWVrX3Jld2luZDpbWzAsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzaGFkb3c6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMSwxMiwxOCwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9hbmRyb2lkOltbMCwKMiwyNF0sWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJwZW46W1sxLDEsMjRdXSxzaGllbGQ6W1swLDYsMjRdLFsxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2hlYWx0aDpbWzEsMSwyNF1dLHNoaWVsZF9vdmVyZmxvdzpbWzEsMiwyNF1dLHNoaWVsZF9zbGFzaDpbWzEsMSwyNF1dLHNoaWVsZF94OltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc2hvcnRzOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sc2hvcnRzX2FkZDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNob3J0c19lbXB0eTpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNodWZmbGU6W1swLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxza2lwMTBfYmFjazpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXAxMF9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDE1X2JhY2s6W1sxLDEsMjRdXSxza2lwMTVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAyMF9iYWNrOltbMSwxLDI0XV0sc2tpcDIwX2ZvcndhcmQ6W1sxLAoxLDI0XV0sc2tpcDMwX2JhY2s6W1sxLDEsMjRdXSxza2lwMzBfZm9yd2FyZDpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXA1X2JhY2s6W1sxLDEsMjRdXSxza2lwNV9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDYwX2JhY2s6W1sxLDEsMjRdXSxza2lwNjBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF0sWzEsNiwyNF1dLHNraXBfbmV4dDpbWzAsNywxMl0sWzAsNywyNF0sWzAsNywzNl0sWzEsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XSxbMSw2LDI0XV0sc2xhc2hfZm9yd2FyZDpbWzEsMSwyNF1dLHNsZWVwX3RpbWVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc2xpcDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNub3dmbGFrZTpbWzEsMSwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29uYXI6W1sxLDEsMjRdXSxzb3J0OltbMSwzLDEyXSxbMSwzLDE4XSxbMSwzLDI0XV0sc3BhY2ViYXI6W1sxLDIsCjI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19idWJibGVfY2hhdDpbWzEsMSwyNF1dLHNwYXJrX2xpZ2h0YnVsYjpbWzAsMywyNF0sWzEsMywyNF1dLHNwYXJrX3NlYXJjaDpbWzEsMSwyNF1dLHNwYXJrX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwyLDI0XV0sc3BlYWtlcl9zbGFzaDpbWzEsMSwyNF1dLHNwZWFrZXJfc3RhY2s6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrX3NsYXNoOltbMSwxLDI0XV0sc3BlZWRvbWV0ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGxpY2U6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHNwcmVhZHNoZWV0OltbMSwxLDI0XV0sc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlM19zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLApzcXVhcmUzZF9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZV9ncmlkMngyOltbMSwxLDI0XV0sc3F1YXJlX2dyaWQzeDM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfcGFpbnRicnVzaDpbWzEsMSwyNF1dLHNxdWFyZV9wZW5jaWw6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxzdGFibGVfdm9sdW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sc3RhcjpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwyNF1dLHN0YXJfY2lyY2xlOltbMCw2LDEyXSxbMCw2LDE4XSxbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc3Rhcl9mdWxsX2hhbGY6W1swLDEsMTJdLFswLDEsMjRdXSxzdGFyX2hhbGZfZmlsbGVkOltbMSwyLDEyXSxbMSwyLDI0XV0sc3Rhcl90aWNrZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxzdGFyX3Ryb3BoeTpbWzEsMSwyNF1dLHN0YXJfdHY6W1sxLDEsMjRdXSxzdGlja2VyOltbMSwzLDE4XSxbMSwzLDI0XV0sc3RvcDpbWzAsNiwyNF0sWzAsNiwzNl0sClsxLDYsMjRdXSxzdG9wX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0b3B3YXRjaDpbWzAsNSwyNF0sWzEsNSwyNF1dLHN0b3B3YXRjaDEwOltbMCwxLDI0XV0sc3RvcHdhdGNoMzpbWzAsMSwyNF1dLHN0b3JhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMjRdLFsxLDEyLDQ4XV0sc3VidGl0bGVzOltbMCw1LDI0XSxbMCw1LDQ4XSxbMSw1LDI0XV0sc3VidGl0bGVzX2J1YmJsZTpbWzEsMSwyNF1dLHN1bTpbWzEsMSwyNF1dLHN1cGVyX2NoYXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdGFyOltbMSwxLDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwyNF0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMCwzLDI0XSxbMSwzLDI0XV0sc3VwcG9ydF9hZ2VudDpbWzEsMSwyNF1dLHN1cnJvdW5kX3NvdW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sdGFibGV0X2xhbmRzY2FwZTpbWzEsMSwyNF1dLHRhcmdldDpbWzEsMiwyNF1dLHRhcmdldF9hZGQ6W1sxLAoyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXlfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0X2FsaWduX2NlbnRlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fbGVmdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2J1YmJsZTpbWzAsNCwyNF0sWzEsNCwxMl0sWzEsNCwxOF0sWzEsNCwyNF1dLHRleHRfcGFnZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfcGFnZV9hbGVydDpbWzEsMSwyNF1dLHRleHRfcGFnZV9jaGVjazpbWzEsMSwyNF1dLHRleHRfcGFnZV9pbmZvOltbMSwxLDI0XV0sdGV4dF9zcGFyazpbWzEsMSwyNF1dLHRleHR1cmU6W1sxLDEsMjRdXSx0aGVhdGVyOltbMSwxLDI0XV0sdGhlbWU6W1swLDIsMjRdLFsxLDIsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE4XSxbMCwKMjUsMjRdLFswLDI1LDM2XSxbMCwyNSw0OF0sWzEsMjUsMThdLFsxLDI1LDI0XSxbMSwyNSwzNl0sWzEsMjUsNDhdXSx0aHVtYl91cDpbWzAsMjQsMTJdLFswLDI0LDE4XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFswLDI0LDQ4XSxbMSwyNCwxMl0sWzEsMjQsMThdLFsxLDI0LDI0XSxbMSwyNCwzNl0sWzEsMjQsNDhdXSx0aHVtYl91cF9kb3duOltbMCw0LDI0XSxbMSw0LDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdGltZWxpbmVfc3Bhcms6W1sxLDEsMjRdXSx0aW1lc3RhbXBfYWRkOltbMSwxLDI0XV0sdG9vbGJveDpbWzAsNCwyNF0sWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMjRdXSx0cmFuc2l0aW9uOltbMCw1LDI0XSxbMSw1LDI0XV0sdHJhbnNsYXRlOltbMSw0LDE4XSxbMSw0LDI0XV0sdHJhc2hfY2FuOltbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sdHJlbmRpbmc6W1swLDIsMjRdLFsxLDIsMjRdXSx0cmlhbmdsZV9kb3duOltbMCw4LAoxOF0sWzAsOCwyNF0sWzEsOCwyNF1dLHRyaWFuZ2xlX3VwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwyNF0sWzEsOCwyNF0sWzEsOCw0OF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9tb2JpbGU6W1sxLDIsMjRdLFsxLDIsMzZdXSx0dl9zbGFzaDpbWzEsMSwyNF1dLHVuYXJjaGl2ZTpbWzEsMSwyNF1dLHVuZG86W1sxLDIsMThdLFsxLDIsMjRdXSx1cGxvYWQ6W1sxLDUsMjRdXSx2YXJpYWJsZTpbWzEsNCwyNF1dLHZpZGVvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMCw5LDQ4XSxbMSw5LDI0XSxbMSw5LDQ4XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9zbGFzaDpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMThdLApbMSw1LDI0XV0sdmlkZW9fcG9ydHJhaXRfc3Bhcms6W1sxLDEsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sdmlkZW9fc2xhc2g6W1sxLDEsMTJdLFsxLDEsMThdLFsxLDEsMjRdLFsxLDEsMzZdLFsxLDEsNDhdXSx2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0YWNrX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjI6W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjM6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbHVtbjNfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfY29tcGFjdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfZmVlZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfbGlzdDpbWzEsMSwyNF1dLHZpZXdfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfdGltZWxpbmU6W1sxLDEsMjRdXSx2aWV3ZmluZGVyOltbMSwxLDEyXSxbMSwxLDE4XSwKWzEsMSwyNF1dLHZpZ25ldHRlOltbMSwxLDI0XV0sdm9sdW1lX2ZhZGU6W1sxLDIsMjRdXSx2b2x1bWVfbWF4OltbMCwyLDI0XSxbMSwyLDI0XV0sdm9sdW1lX21pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9tdXRlOltbMCwyLDI0XSxbMSwyLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXRjaDpbWzEsMSwyNF1dLHdhdGVyOltbMSwxLDI0XV0sd2F2ZWZvcm06W1sxLDMsMjRdLFsxLDMsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdpZmlfdGV0aGVyaW5nOltbMSwxLDI0XV0sd3JlbmNoOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0seDpbWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLHhfY2lyY2xlOltbMCw5LDI0XSxbMSw5LDE4XSxbMSw5LDI0XV0seF9vY3RhZ29uOltbMSwzLDEyXSxbMSwzLDI0XV0seF9yZWN0YW5nbGU6W1sxLDEsMjRdXSx5ZW5fc2lnbl9yZWN0YW5nbGU6W1swLDIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlOltbMCwKMiwyNF0sWzEsMiwyNF1dLHlvdXR1YmVfa2lkczpbWzAsNSwyNF0sWzEsNSwyNF1dLHlvdXR1YmVfbGFiczpbWzAsMSwyNF1dLHlvdXR1YmVfbXVzaWM6W1swLDcsMjRdLFsxLDcsMjRdXSx5b3V0dWJlX3Nob3J0czpbWzAsMTEsMjRdLFsxLDExLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMSwyLDI0XV0sem9vbV9pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHpvb21fb3V0OltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBYcWE9e1ZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUFYIixWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUjoiVk9MVU1FX01VVEUiLFZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlZPTFVNRV9NSU4iLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUjoiQ0FQVElPTlMiLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IkNBUFRJT05TIixTVUJUSVRMRVNfREVMSElfUExBWUVSOiJTVUJUSVRMRVMiLFNVQlRJVExFU19ERUxISV9QTEFZRVJfRklMTEVEOiJTVUJUSVRMRVMiLFBMQVlFUl9GVUxMX0VOVEVSX0FMVDoiUExBWUVSX0ZVTExfRU5URVJfQUxUIixQTEFZRVJfRlVMTF9FWElUX0FMVDoiUExBWUVSX0ZVTExfRVhJVF9BTFQiLFBBVVNFX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBBVVNFIixQTEFZX0FSUk9XX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBMQVlfQVJST1cifSx2Wj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1tZihhLApiKXt2YXIgYz1YcWFbYS5pY29uTmFtZS50b1VwcGVyQ2FzZSgpXTtjJiYoYS5pY29uTmFtZT1jKTt2YXIgZD1hLmljb25OYW1lO2Q9ZC5yZXBsYWNlKC8tL2csIl8iKTthPXsuLi5hLGljb25OYW1lOnVZKGQsISFjKXx8ZC50b0xvd2VyQ2FzZSgpfTtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGM/clkoV3FhLGEsdGhpcy5qPy5yd3x8QXBhLGIpOnJZKFZxYSxhLHRoaXMuaj8ucnd8fHpwYSxiKX19O3ZaW18uTG5dPVtfLkluKF8ubk8pXTt2YXIgQnBhPW5ldyBTZXQoWyJjaSIsImNyIiwiY2FybWwiXSksdlk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnNpZ25hbHM9W107dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBTZXQ7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXB9VnEoYSl7aWYoYS5sZW5ndGg+MSl7dmFyIGI9W107bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IodmFyIGMgb2YgYSlmW2NdfHwoYi5wdXNoKGMpLGZbY109ITApO2E9Yn1pZihhLmxlbmd0aD09PTEpdmFyIGQ9YVswXTtlbHNle2M9YTtiPSIiO2Muc29ydCgpO2ZvcihlIG9mIGMpYis9ZSsifCI7dmFyIGU9YjtpZighdGhpcy5qLmdldChlKSl7Yz0wO2I9W107Zm9yKGQgb2YgYSljKysseFkodGhpcyxkKXx8Yi5wdXNoKGQpO2M+Yi5sZW5ndGg/dGhpcy5zaWduYWxzLnB1c2goZSk6Q3BhKHRoaXMsZSxhLGIpfWQ9ZX1yZXR1cm4gZH1IaChhLGIsYyxkLGUpe3hZKHRoaXMsYyk/Xy5DaygpLkdhKGEsYixkKTooZSYmKGE9eVkoYSksQVkodGhpcywKYSxiLGMsZSkpLGU9dGhpcy5vLmdldChjKSxlfHwodGhpcy5vLnNldChjLFtdKSxlPXRoaXMuby5nZXQoYykpLGUucHVzaCh7eGg6YSxwcmlvcml0eTpiLGRlbGF5OmR9KSl9YWRkTGlzdGVuZXIoYSxiLGMpe2MmJihiPXlZKGIpLEFZKHRoaXMsYiwwLGEsYykpO2M9dGhpcy52LmdldChhKTtjfHwodGhpcy52LnNldChhLFtdKSxjPXRoaXMudi5nZXQoYSkpO2MucHVzaChiKX1XbShhKXtpZigheFkodGhpcyxhKSl7dGhpcy5CLmFkZChhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2lmKGIpe2ZvcihsZXQgYyBvZiBiKV8uQ2soKS5HYShjLnhoLGMucHJpb3JpdHksYy5kZWxheSk7dGhpcy5vLmRlbGV0ZShhKX1pZihiPXRoaXMudi5nZXQoYSkpe2ZvcihsZXQgYyBvZiBiKWMoKTt0aGlzLnYuZGVsZXRlKGEpfXRoaXMuc2lnbmFscy5wdXNoKGEpO3RoaXMuQi5kZWxldGUoYSl9fX07dlkucHJvdG90eXBlLnByb2Nlc3NTaWduYWw9dlkucHJvdG90eXBlLldtOwp2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7Xy5yYSgieXRzaWduYWxzLmdldEluc3RhbmNlIix3WSk7dlkucHJvdG90eXBlLm9uQW55PXZZLnByb3RvdHlwZS5WcTt2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTt2YXIgelk9bmV3IFNldChbImVvcCIsImVvY3MiLCJkbCIsInBjbCJdKTt2YXIgdnFhPWNsYXNzIGV4dGVuZHMgXy5Xc3tjb25zdHJ1Y3RvcihhKXt2YXIgYj17fTtzdXBlcigidW5pbml0aWFsaXplZCIpO3RoaXMuZW52PWE7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206InVuaW5pdGlhbGl6ZWQiLHRvOiJpbml0aWFsaXplZCIsYWN0aW9uOnRoaXMuaW5pdH0se2Zyb206ImluaXRpYWxpemVkIix0bzoicmVuZGVyaW5nIixhY3Rpb246dGhpcy5LfSx7ZnJvbToicmVuZGVyaW5nIix0bzoicmVuZGVyZWQiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJyZW5kZXJlZCIsdG86ImFmdGVyLXJlbmRlci1kZWZlcnJlZCIsYWN0aW9uOnRoaXMub31dO2IuRmchPT12b2lkIDAmJih0aGlzLkIuRmc9Yi5GZyl9YXN5bmMgaW5pdChhKXt0aGlzLkIuRmc/YXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmluZyIpfSwxMCwiY2kiKX1hc3luYyBLKGEpe3RoaXMuQi5GZz8KYXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmVkIil9LDEwLCJjciIpfWFzeW5jIEQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJhZnRlci1yZW5kZXItZGVmZXJyZWQiKX0sMTAsImNhcm1sIil9YXN5bmMgbyhhKXthKHRoaXMuZW52KX19O3ZhciB3Wj0hMSx3cWE9e2luaXRpYWxpemVkOntwcmlvcml0eToxMCxjYWxsYmFjazpmdW5jdGlvbigpe3dafHwoXy5kdyh7R2Y6YT0+e2EuZWwmJl8udXkoYS5lbCxhLnByb3BzKX0sSGY6YT0+e18uc3koYS5lbCl9fSksd1o9ITApfX19O3ZhciBDWT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7Xy5uUCgpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy52RSgiZGl2IiksZD1fLngoIndlYl9yZW1vdmVfc25hY2tiYXJfYWN0aW9ucyIpO18uVUooKCk9Pnt9KTt2YXIgZT17YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSJ9fTtyZXR1cm4gXy5LKCJ5dG0tbm90aWZpY2F0aW9uLWFjdGlvbi1yZW5kZXJlciIsbnVsbCxfLksoImRpdiIseyJhcmlhLWxpdmUiOl8uZnI/Im9mZiI6InBvbGl0ZSIsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkucmVzcG9uc2VUZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5hY3Rpb25CdXR0b24mJiFkLHRoZW46KCk9Pl8uSygiZGl2Iix7ZWw6YyxjbGFzczoibm90aWZpY2F0aW9uLWFjdGlvbi1idXR0b24iLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmFjdGlvbkJ1dHRvbn0sCntidXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5wTyx7ZGF0YTpmLC4uLmV9KSx0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5xTyx7ZGF0YTpmLC4uLmV9KX0pKX0pKX0sImJmIik7Q1kuaWRvbUNvbXBhdD0hMDt2YXIgRVk7dmFyIEdZPW5ldyBfLmVFO3ZhciBHcGE9e2FkZFRvUGxheWxpc3RSZW5kZXJlcjohMH07dmFyIExZO3ZhciBRcGE9Xy4kTi5DdDt2YXIgVFk9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIik7Xy5VSigoKT0+e2IudmFsdWUubGF5ZXI9N30pO3ZhciBjPSgpPT5fLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8udXJsLGQ9KCk9PnthKCk7cmV0dXJuITF9O3JldHVybiBfLksoInl0bS1zaGFyZS10YXJnZXQtcmVuZGVyZXIiLHtlbDpiLCJvbjpjbGljayI6ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTtpZihkKCkpe3ZhciBmPWMoKSxoPWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNsaWNrVHJhY2tpbmdQYXJhbXM7Xy56SihoLDcpO25ldyBNb3pBY3Rpdml0eSh7bmFtZToibmV3IixkYXRhOnt0eXBlOiJ3ZWJzbXMvc21zIixib2R5OmZ9fSk7TlkoKTtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIE5ZKCl9fSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJhIix7aHJlZjpjLGNsYXNzOiJzaGFyZS10YXJnZXQtbGluayJ9LApfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpLFc6KCk9Pl8uSyhfLm5ILHtjbGFzc05hbWU6InNoYXJlLXRhcmdldC1saW5rIixjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LHRhcmdldDoiX2JsYW5rIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKX0pKX0sImNmIik7VFkuaWRvbUNvbXBhdD0hMDt2YXIgWXFhPV8uJE4uQ0FOQ0VMLFhwYT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7dmFyIGg9Xy55KCkucmVzb2x2ZShfLnlQKSxrPVJZKGEoKSk7Zi5wcmV2ZW50RGVmYXVsdCgpO2smJl8uekooayw3KTtfLnNQKGUpO2g/LmxkKCk7Xy56TigpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhmKXtfLnkoKS5yZXNvbHZlKF8ueVApPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSgpPT5PWShhKCkpLGU9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IitfLk9IKCk7cmV0dXJuIF8uSyhfLnJFLHtRZzooKT0+Xy5LKF8uQVAsbnVsbCxfLksoXy5JSix7ZGF0YTooKT0+e3ZhciBmPWEoKS5oZWFkZXI/LnNoYXJlUGFuZWxIZWFkZXJSZW5kZXJlcj8udGl0bGU/LnNoYXJlUGFuZWxUaXRsZVYxNVJlbmRlcmVyPy50aXRsZTtyZXR1cm4gZj9mOntzaW1wbGVUZXh0OiJTaGFyZSJ9fX0pKSxxazooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4KITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse3ZhbHVlOmQsInNlbGVjdGlvbi1lbmQiOjAsY2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDplLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6KCk9PmAke18uJE4uc299ICR7T1koYSgpKX1gLHJlYWRvbmx5OiEwfSl9KSxfLksoXy5nRyx7cGE6KCk9PlNZKGEoKSl8fFtdfSxmPT5fLksoXy5PLHtBOigpPT5mLnNoYXJlVGFyZ2V0UmVuZGVyZXIsdGhlbjpoPT5fLksoVFkse2RhdGE6aH0pfSkpKSxQcjooKT0+Xy5LKF8uelAsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJjb21wYWN0Iiwib246Y2xpY2siOmN9LFlxYSkpfSl9LCJkZiIpLFFZPV8uTCgoe3Nob3J0VXJsOmEsdHJhY2tpbmdQYXJhbXM6Yn0pPT57ZnVuY3Rpb24gYyhlKXt2YXIgZj1kLGg9Yj8uKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2gmJl8uekooaCw3KTtfLnNQKGYpO05ZKCk7Xy56TigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGQ9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IisKXy5PSCgpO3JldHVybiBfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImlucHV0Iix7Y2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDpkLHZhbHVlOmEscmVhZG9ubHk6ITAsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke2EoKX1gLCJvbjpjbGljayI6Yywic2VsZWN0aW9uLWVuZCI6MH0pfSl9LCJlZiIpO1FZLmlkb21Db21wYXQ9ITA7dmFyICRwYT1fLiROLkR0LGFxYT1fLiROLmV1O18ucmEoInl0LnB1YnN1Yi5wdWJsaXNoIixfLk96KTt2YXIgd1g9e2F1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kOlZXKFRxYSksYnJvd3NlRW5kcG9pbnQ6KCk9PkZZKElwYSksY2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhyWiksY29tbWFuZEV4ZWN1dG9yQ29tbWFuZDooKT0+RlkoSnBhKSxjb3B5VGV4dEVuZHBvaW50OigpPT5GWShMcGEpLGVudGl0eVVwZGF0ZUNvbW1hbmQ6VlcocFosW25aXSksZmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6KCk9PkZZKE5wYSksbmF0aXZlQXBwRGVlcGxpbmtFbmRwb2ludDooKT0+RlkocG9hKSxvcGVuUG9wdXBBY3Rpb246KCk9PkZZKERwYSkscGhvbmVEaWFsZXJFbmRwb2ludDooKT0+RlkoUHBhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDooKT0+RlkoUnBhKSxzZW5kU21zRW5kcG9pbnQ6KCk9PkZZKFRwYSksc2hhcmVFbnRpdHlFbmRwb2ludDooKT0+RlkoWnBhKSxzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6Vlcoc1opLApzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyh0Wiksc2hvd0VuZ2FnZW1lbnRQYW5lbEVuZHBvaW50OigpPT5GWShkcWEpLHNob3dTaGVldENvbW1hbmQ6VlcocVosW18uY0wsJFldKSxzaWduSW5FbmRwb2ludDooKT0+RlkoZnFhKSxzdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVuZG9GZWVkYmFja0VuZHBvaW50OigpPT5GWShNWSksdW5zdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVybEVuZHBvaW50OigpPT5GWShocWEpLHVzZXJGZWVkYmFja0VuZHBvaW50OigpPT5GWShpcWEpLHdhdGNoRW5kcG9pbnQ6KCk9PkZZKEVwYSl9O3ZhciB4Wj1fLkwoKHtjaGlsZHJlbjphLEJxOmIsaXNGdWxsc2NyZWVuOmMsc3R5bGU6ZCxhcmlhTGFiZWw6ZX0pPT57dmFyIGY9Xy51RSgiZGlhbG9nIik7Xy5VSigoKT0+e3ZhciBoPSgpPT57fSxrPWYudmFsdWU7ay5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsaCwhMCk7Xy5ZdSgoKT0+e2sucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApfSl9KTtyZXR1cm4gXy5LKCJkaWFsb2ciLHtlbDpmLGNsYXNzOl8uUCgiZGlhbG9nIiwibW9kZXJuLWRpYWxvZy1sYXlvdXQiLCJtb2Rlcm4tZGlhbG9nIix7c2Nyb2xsYWJsZTpiLCJkaWFsb2ctZnVsbHNjcmVlbiI6Yywicm91bmRlZC1jb250YWluZXIiOigpPT4hYz8uKCl9KSxyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjohMCxzdHlsZTpkLCJhcmlhLWxhYmVsIjplfSxhKX0sImZmIik7eFouaWRvbUNvbXBhdD0hMDt2YXIgWnFhPWNsYXNze307dmFyIHFxYT1jbGFzcyBleHRlbmRzIFpxYXtjb25zdHJ1Y3Rvcigpe3ZhciBhPXtZbDpVcGEsV2s6Tll9O3N1cGVyKCk7dGhpcy5vPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuby5pZD0iZ2xvYmFsLWxvYWRlciI7ZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUodGhpcy5vLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7dGhpcy5ZbD1hPy5ZbDt0aGlzLldrPWE/LldrfXJxKCl7cmV0dXJuISF0aGlzLmp9YXN5bmMgb3BlbkRpYWxvZyhhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGM9Xy5adHx8e307dGhpcy5ZbD8uKCkmJmF3YWl0IHRoaXMuV2s/LigpO3RoaXMucnEoKSYmdGhpcy5sZCgpO18uVnooYixfLnZNKGMpKTtsZXQgZD1hLlVuLGU9YS5CcSxmPWEuaXNGdWxsc2NyZWVuLGg9YS5uSixrPWEuaXNQZXJzaXN0ZW50LGw9YS5mb2N1c09uQ2xvc2UsbT1hLnJuLG49YS5mSyxwPWEuc3R5bGUscj1hLmFyaWFMYWJlbDsKdGhpcy5CPWE7dGhpcy52PXRoaXMubGQuYmluZCh0aGlzKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpO3RoaXMuaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmouaWQ9ImRpYWxvZy1jb250YWluZXIiO3RoaXMuai5jbGFzc05hbWU9Xy5hTCgiZGlhbG9nLWNvbnRhaW5lciIse1siZGlhbG9nLWZ1bGxzY3JlZW4iXTpmfSk7KF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5qKTtfLmZOKHRoaXMuaixfLksoXy5JQixudWxsLF8uSyh4Wix7QnE6ZSxpc0Z1bGxzY3JlZW46ZixzdHlsZTpwLGFyaWFMYWJlbDpyfSxfLksoZCxudWxsKSksXy5LKF8uWk4se2xhYmVsOiJkaWFsb2ciLG9uY2xpY2s6KCk9PntofHxrfHx0aGlzLmxkKCl9fSkpKTtfLkpOKHRoaXMuaixsLG0pO24/LigpfWNhdGNoKGMpe2IuZXJyb3I9YyxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19bGQoKXt0aGlzLmomJih0aGlzLkIuR2g/LigpLAp0aGlzLkI9dm9pZCAwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLHRoaXMudiksdGhpcy52PXZvaWQgMCxfLktOKHRoaXMuaiksXy5wQyh0aGlzLmopLHRoaXMuai5yZW1vdmUoKSx0aGlzLmo9dm9pZCAwKX1RdSgpe3RoaXMuby5maXJzdENoaWxkJiZ0aGlzLm8ucmVtb3ZlQ2hpbGQodGhpcy5vLmZpcnN0Q2hpbGQpfX07dmFyIFNXPW5ldyBfLkN0KCJJbm5lclR1YmVUcmFuc3BvcnQiLCJSdjNlM2QiKTtuZXcgXy5DdCgiUGFnZVJlcXVlc3QiLCJSdjNlM2QiKTt2YXIgJHFhPXthdXRvbmF2X29mZl90b2dnbGVfc3Bhbm5lcjpbWzAsMSwzNl1dLGF1dG9uYXZfb25fdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X3BsYXlfY2lyY2xlOltbMCwxLDIwXV0sYXV0b3BsYXk6W1swLDIsMjRdXSxjcmVhdG9yX3N0dWRpb19yZWRfbG9nbzpbWzAsMiwyNF1dLGVxdWFsaXplcjpbWzAsMSwyNF1dLGZ1bGxzY3JlZW46W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2V4aXQ6W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2ZwOltbMSwyLDI0XV0sZ29vZ2xlOltbMCwxLDI0XV0sZ29vZ2xlX2xvZ286W1swLDIsMjRdXSxpbmNvZ25pdG9fY2lyY2xlOltbMCwxLDI0XV0sa2lkc19yZWRfbG9nbzpbWzAsMiwyNF1dLGxvZ286W1swLDIsNjddXSxsb2dvX3dpdGhfdGV4dDpbWzAsMywyMF1dLGxvZ29fd2l0aF90ZXh0X21vbm9jaHJvbWU6W1swLDEsMjBdXSxtdXNpY19yZWRfbG9nbzpbWzAsMiwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMSwyNF1dLHBhdXNlX291dGxpbmVkOltbMCwKMSwyNF1dLHBpdm90X2xpYnJhcnk6W1swLDEsMjRdXSxwbGF5X2NpcmNsZV9zaG9ydHM6W1swLDIsMjRdXSxwbGF5ZXJfYXV0b3BsYXlfbmV4dDpbWzAsMiwyNF1dLHByZW1pdW06W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmU6W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm86W1swLDEsMjRdXSxyaW5nb19sb2dvOltbMCwyLDI0XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sInNob3J0cy1oZWFydCI6W1swLDEsMjRdLFsxLDEsMjRdXSwic2hvcnRzLWhlYXJ0LWdyYWRpZW50IjpbWzAsMSwyNF0sWzEsMSwyNF1dLHNob3J0c19jb21tZW50OltbMCwxLDMyXV0sc2hvcnRzX3NoYXJlOltbMCwxLDMyXV0sc2hvcnRzX3RleHRfbG9nbzpbWzAsMiw3Ml1dLHNob3J0c190aHVtYnNfZG93bjpbWzAsMSwzMl1dLHNob3J0c190aHVtYnNfdXA6W1swLDEsMzJdXSxzcGFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHNwYXJrX3NlYXJjaDpbWzAsMSwyNF1dLHN1YmRpcmVjdG9yeV9hcnJvd19yaWdodDpbWzEsCjEsMjRdXSx1bnBsdWdnZWRfcmVkX2xvZ286W1swLDIsMjRdXSx2aWRlb195b3V0dWJlOltbMCwxLDI0XV0sd2F0ZXJtYXJrOltbMCwyLDExMF1dLHlvdXR1YmU6W1swLDIsMjRdXSx5b3V0dWJlX2NyZWF0ZV9sb2dvOltbMCwxLDI0XV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnQ6W1swLDIsMjBdXSx5b3V0dWJlX3ByZW1pdW1fbG9nb19zaG9ydF9tb25vY2hyb21lOltbMCwxLDIwXV0seW91dHViZV9zaG9ydHNfYnJhbmRfMjQ6W1swLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19maWxsX25vX3RyaWFuZ2xlX3JlZF8xNjpbWzAsMSwxNl1dfTt2YXIgeVo9bmV3IE1hcChbWyJwbGF5X2NpcmNsZV9maWxsZWQiLCJhdXRvbmF2X3BsYXlfY2lyY2xlIl0sWyJzZWFyY2giLCJzZWFyY2hfY2Fpcm8iXSxbInRhYl9ob21lIiwiaG9tZV9jYWlybyJdLFsidGFiX3Nob3J0cyIsInlvdXR1YmVfc2hvcnRzX2NhaXJvIl0sWyJhY2NvdW50X2NpcmNsZSIsInBlcnNvbl9jaXJjbGVfY2Fpcm8iXSxbInByZW1pdW1fc3RhbmRhbG9uZSIsInByZW1pdW1fc3RhbmRhbG9uZV9jYWlybyJdXSksYXJhPW5ldyBTZXQoWyJhdWRpb19iYWRnZSIsInBhdXNlIiwicGxheV9hcnJvdyJdKSxZWT1jbGFzcyBleHRlbmRzIHZae2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMubz1hfW1mKGEsYil7dmFyIGM9ey4uLmF9O2EuaWNvbk5hbWUudG9Mb3dlckNhc2UoKT09PSJzaG9ydHNfdGh1bWJzX3VwIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKSYmKGMuaWNvbk5hbWU9Xy54KCJ1c2Vfd2hpdGVfZmlsbGVkX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8KInNob3J0cy1oZWFydCI6InNob3J0cy1oZWFydC1ncmFkaWVudCIpO2FyYS5oYXMoYS5pY29uTmFtZSkmJihjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7eVouaGFzKGEuaWNvbk5hbWUpJiYhXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPXlaLmdldChhLmljb25OYW1lKSk7YS5pY29uTmFtZT09PSJhY2NvdW50X2xpbmtlZCImJihjLmljb25OYW1lPSJjaXJjbGVzX292ZXJsYXBfY2hlY2siLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthLmljb25OYW1lPT09ImFjY291bnRfdW5saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwIixjLmljb25TdHlsZT0ieW91dHViZV9vdXRsaW5lIik7Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPT09InBsYXlsaXN0X2FkZCImJihjLmljb25OYW1lPSJib29rbWFyayIpLGEuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrInx8Yy5pY29uTmFtZT09PSJjaXJjbGVzX292ZXJsYXBfY2hlY2siKSYmCihjLmljb25OYW1lPSJhY2NvdW50X2xpbmsiLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthPShhPXVZKGMuaWNvbk5hbWUpKT97Li4uYyxpY29uTmFtZTphfTpjO2E9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEuaWNvbk5hbWU9PT0ieW91dHViZSI/dm9pZCAwOnJZKCRxYSxhLHRoaXMubz8uZUp8fG1xYSxiKTtyZXR1cm4gYT9hOnN1cGVyLm1mKGMsYil9fTtZWVtfLkxuXT1bXy5JbihfLm5PKV07dmFyIHJxYT1jbGFzcyBleHRlbmRzIFVxYXtpc1Zpc2libGUoYSl7dmFyIGI9UHJvbWlzZSxjPWIucmVzb2x2ZTt2YXIgZD1fLm9NKCkuZ2V0U3RhdGUoKS5lbmdhZ2VtZW50UGFuZWw/LnFzO3JldHVybiBjLmNhbGwoYixhPT09ZCl9fTt2YXIgYnJhPWNsYXNzIGV4dGVuZHMga1p7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMub2JzZXJ2ZXI9bmV3IF8uZkYoMCxhPT57dGhpcy5sb2dWaXNpYmlsaXR5KGEpfSl9b2JzZXJ2ZShhLGIsYyl7Yy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlInx8KGMuVmI9ITApO3ZhciBkPXtlbGVtZW50OmEsb3B0aW9uOmN9O2lmKCFjLlZifHxjLnN0YXRlIT09InZpc2libGUiKXJldHVybiBkO2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIilyZXR1cm4gXy5XaShFcnJvcigiaGVgIit0eXBlb2YgYikpLGQ7YS5fX3Zpc2liaWxpdHlDYWxsYmFjaz1iO3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKTtyZXR1cm4gZH1sb2dWaXNpYmlsaXR5KGEpe2EuX192aXNpYmlsaXR5Q2FsbGJhY2smJnR5cGVvZiBhLl9fdmlzaWJpbGl0eUNhbGxiYWNrPT09ImZ1bmN0aW9uIiYmYS5fX3Zpc2liaWxpdHlDYWxsYmFjayhhLCJ2aXNpYmxlIil9cmYoYSl7ZGVsZXRlIGEuZWxlbWVudC5fX3Zpc2liaWxpdHlDYWxsYmFjazsKdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KX1kaXNwb3NlKCl7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCl9fTt2YXIgb3FhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IE1xYTpuZXcgYnJhO18udVA9Xy5iWjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibWVIOUViIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQlA9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYyxkPSgpPT57dmFyIGU9Xy5MQighMCk7Xy5ndisrO3RyeXtjPV8uYkMoYSgpKSxfLklBKCExKX1jYXRjaChmKXt0aHJvdyBfLklBKCEwKSxfLlV1KGYsNCk7fWZpbmFsbHl7Xy5MQihlKX19O2I9Ynx8Xy5adD9fLnV2KGQsYik6Xy5pdyhkKTtyZXR1cm5bYyxiXX07Xy5LQj1fLmxDOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgemlhLEFpYSxCaWEsRWlhLENpYSxEaWEsRmlhO3ppYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5BYShhKSYmYS5ub2RlVHlwZT09MT9hLmdldEF0dHJpYnV0ZSgianNuYW1lIik9PT0iY29GU3hlIjohMX07QWlhPWZ1bmN0aW9uKGEsYil7Yi5pZHx8KGIuaWQ9Im93IitfLmZ3KGIpKTthLnNldEF0dHJpYnV0ZSgianNvd25lciIsYi5pZCk7YS5fX293bmVyPWI7dmFyIGM9Xy5ndyhiLHppYSk7YyYmKF8uR0MuaGFzKGMpfHxfLkdDLnNldChjLFtdKSxfLkdDLmdldChjKS5wdXNoKGEpKTsoYz1fLkZDLmdldChiKSl8fF8uRkMuc2V0KGIsYz1bXSk7Yy5pbmNsdWRlcyhhKXx8Yy5wdXNoKGEpO2Iuc2V0QXR0cmlidXRlKCJfX0lTX09XTkVSIiwhMCl9O0JpYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSk7YT1fLmN1KGEsXy5MQyk7aWYoIShfLmJ1KGEpfHxhW18uTXZdJiYhYS52bykpcmV0dXJuIGEudmFsdWV9OwpFaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDIpLGI9bmV3IFNldCxjPSgpPT57Yi5mb3JFYWNoKGQ9PnZvaWQgZCgpKTtiLmNsZWFyKCl9O18uWXUoYyk7cmV0dXJuWyhkLGUpPT57dmFyIGY9Xy4kdChhKTt0cnl7bGV0IGg9Q2lhKERpYShkKSxlKTtiLmFkZChoKTtyZXR1cm4oKT0+e2goKTtiLmRlbGV0ZShoKX19ZmluYWxseXtfLiR0KGYpfX0sY119O18uQ1A9ZnVuY3Rpb24oe2NoaWxkcmVuOmEscm9vdDpifSl7Xy5vRigoKT0+e3ZhciBbY109RWlhKCk7Yz1jKGIsYSk7Xy5ZdShjKX0pO3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIil9O0NpYT1mdW5jdGlvbihhLGIpe3ZhciBjPUZpYShhKTsoYT1CaWEoKSkmJkFpYShjLGEpO3ZhciBbZCxlXT1fLkJQKGIsITApO2ZvcihsZXQgZiBvZiBkKWMuYXBwZW5kQ2hpbGQoZik7Xy5WQi5sb2coYyk7cmV0dXJuKCk9PntlKCk7Yy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChjKX19OwpEaWE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCEoMCxfLnByKShhKSl0aHJvdyBFcnJvcigicGBgIitTdHJpbmcoYSkpO3JldHVybiBhfWlmKF8uakIoYSkpcmV0dXJuIGE7aWYoIWEuQ2smJiFhLmx1KXt2YXIgYj1hLmp1O2I9RXJyb3IoIlVjYCIrKHR5cGVvZiBiPT09InN5bWJvbCI/Yi5kZXNjcmlwdGlvbjpiKSk7YS5rdT0hMDt0aHJvdyBiO31yZXR1cm4gYS52YWx1ZX07RmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI/ImciOiJkaXYiKTtyZXR1cm4gYS5hcHBlbmRDaGlsZChiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRFA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkNBKCksZD1lPT57Xy5vSChjLCgpPT57YihlKX0pfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihhLGQsdm9pZCAwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBJaWEsSFAsRlAsR1AsS2lhLE1pYSxMaWEsTFA7SWlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic3RyaW5nRW50aXR5IixiKX07CkhQPWZ1bmN0aW9uKGEsYixjKXtpZihhKXt2YXIgZD1hLmxpa2VTdGF0dXM7cmV0dXJuIGI/e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFdpdGhVbmxpa2VUZXh0OmEubGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkxJS0UiP2EubGlrZUNvdW50VGV4dDphLmxpa2VDb3VudFdpdGhMaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkxJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkxJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEubGlrZUNvdW50VG9vbHRpcFRleHQpLAp0YXJnZXRJZDphLnRhcmdldElkfTp7c3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfVEVYVCJ9LHRvZ2dsZWRTdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9ERUZBVUxUX0FDVElWRSJ9LGlzVG9nZ2xlZDpkPT09IkRJU0xJS0UiLGlzRGlzYWJsZWQ6IWEubGlrZXNBbGxvd2VkLGRlZmF1bHRJY29uOntpY29uVHlwZTpjfSxkZWZhdWx0VGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50V2l0aFVuZGlzbGlrZVRleHQ6YS5kaXNsaWtlQ291bnRUZXh0LHRvZ2dsZWRUZXh0OmQ9PT0iRElTTElLRSI/YS5kaXNsaWtlQ291bnRUZXh0OmEuZGlzbGlrZUNvdW50V2l0aERpc2xpa2VUZXh0LGRlZmF1bHROYXZpZ2F0aW9uRW5kcG9pbnQ6RlAoYSwiRElTTElLRSIpLGRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiRElTTElLRSIpLHRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiSU5ESUZGRVJFTlQiKSxkZWZhdWx0VG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpLHRvZ2dsZWRUb29sdGlwOl8uYU4oYS5kaXNsaWtlQ291bnRUb29sdGlwVGV4dCl9fX07CkZQPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJMSUtFIilyZXR1cm4gYS5saWtlQ29tbWFuZDtpZihiPT09IkRJU0xJS0UiKXJldHVybiBhLmRpc2xpa2VOYXZpZ2F0aW9uRW5kcG9pbnR9O0dQPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc2VydmljZUVuZHBvaW50cz8uZmluZChjPT5fLkIoYyxfLmRPKT8uc3RhdHVzPT09Yil9O18uSVA9ZnVuY3Rpb24oYSl7cmV0dXJue2NvbnRlbnQ6YX19OwpfLkpQPWZ1bmN0aW9uKGEsYixjKXtiPWN8fChiPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD8/MCkqSmlhO2E9YS50aHVtYm5haWxzO2lmKCFhKXJldHVybiIiO2M9MDt2YXIgZD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixlPTAsZj0tTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7Zm9yKGxldCBrPTA7azxhLmxlbmd0aDtrKyspe2xldCBsPWFba10ud2lkdGgtYjtsPj0wJiZsPD1kPyhjPWssZD1sKTpsPDAmJmw+ZiYmKGU9ayxmPWwpfXZhciBoPVtdO2EuZm9yRWFjaChrPT57aC5wdXNoKGsudXJsKX0pO3JldHVybiBkPDEwMHx8ZDwtZj9hW2NdLnVybDphW2VdLnVybH07S2lhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihiPT57Xy5PRSgoKT0+e2IoYSl9KX0pfTtNaWE9ZnVuY3Rpb24oYSl7YT1hLm1hcChMaWEpO3JldHVybiBfLklmKGEpLnRoZW4oS2lhKX07CkxpYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wbGV0ZT9fLkt5KCJsb2FkIik6bmV3IF8uQmYoYj0+e2Z1bmN0aW9uIGMoZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixjKTtiKGQudHlwZSl9YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjKX0pfTtMUD1mdW5jdGlvbihhKXtLUHx8TWlhKFthXSkudGhlbigoKT0+e2lmKCFLUCl7dmFyIGI9KDAsXy5lbCkoKTtfLkFxKCJmdGwiLGIsdm9pZCAwKTtLUD0hMH19KX07Xy5NUD1uZXcgXy5JKCJzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbCIpO18uTlA9Xy5MKCgpPT57dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIpLGI9YS51c2VyX2Rpc3BsYXlfbmFtZSxjPWEudXNlcl9kaXNwbGF5X2ltYWdlLGQ9YS51c2VyX2Rpc3BsYXlfY2hhbm5lbF9oYW5kbGUsZT1kJiZfLklQKGQpLGY9KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAoYiksbGVhZGluZ0FjY2Vzc29yeTp7YXZhdGFyVmlld01vZGVsOntpbWFnZTp7c291cmNlczpbe3VybDpjfV19fX0sc3VidGl0bGU6ZX19LF8uWkMpO3JldHVybiBfLksoImFjY291bnQtaW5mby1tZW51LWl0ZW0iLHtjbGFzczoiYWNjb3VudEluZm9Ib3N0In0sXy5LKF8uQ0Qse2RhdGE6ZixJYTohMCxvblRhcDooKT0+e2QmJl8uQUooXy53TihgQCR7ZH1gKSxmKCksITEpfX0pKX0sInpiIik7Xy5OUC5pZG9tQ29tcGF0PSEwO3ZhciB7TWc6TmlhfT1fLnpHKGE9PmEudGFyZ2V0Py52aWRlb0lkKTt2YXIgT1A9Xy5MKGE9Pnt2YXIge2RhdGE6YixidXR0b25PdmVycmlkZXM6Y309Xy5EQyhhLHtidXR0b25PdmVycmlkZXM6e319KSxbZCxlXT1OaWEoYiksZj0oKT0+SFAoZCgpLCEwLCJTSE9SVFNfTElLRSIpLGg9KCk9PkhQKGQoKSwhMSwiU0hPUlRTX0RJU0xJS0UiKSxrPShsLG0pPT57bS5zdG9wUHJvcGFnYXRpb24oKTtmb3IobGV0IG4gb2YgbCkobD1fLkIobixfLmRPKSkmJmQmJmUoey4uLmQoKSxsaWtlU3RhdHVzOmwuc3RhdHVzfSl9O3JldHVybiBfLksoInl0bS1saWtlLWJ1dHRvbi1yZW5kZXJlciIsbnVsbCxfLksoXy5PLHtBOigpPT5kKCkubGlrZVN0YXR1cyYmISFmKCkmJiEhaCgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8ucU8se2RhdGE6ZixidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KSxfLksoXy5PLHtBOigpPT4hZCgpLmhpZGVEaXNsaWtlQnV0dG9uLHRoZW46KCk9PgpfLksoXy5xTyx7ZGF0YTpoLGJ1dHRvbk92ZXJyaWRlczooKT0+KHt0eXBlOmQoKS5saWtlU3RhdHVzPT09IkRJU0xJS0UiPyJmaWxsZWQiOiJ0b25hbCIsLi4uYygpfSksUms6a30pfSkpfSkpfSwiQWIiKTtPUC5pZG9tQ29tcGF0PSEwO3ZhciBQUD1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0tbWVudS1uYXZpZ2F0aW9uLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6Yj0+e3ZhciBjPWEoKTtfLnhOKCkmJl8uek4oKTtfLkFKKGMubmF2aWdhdGlvbkVuZHBvaW50LGMsITEpO18uQihjLm5hdmlnYXRpb25FbmRwb2ludD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5pZ25vcmVOYXZpZ2F0aW9ufHxiLnN0b3BQcm9wYWdhdGlvbigpfSxyb2xlOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50JiZfLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8ibGluayI6dm9pZCAwfSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0fSkpKSwiQmIiKTtQUC5pZG9tQ29tcGF0PSEwO3ZhciBRUD1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ubUcoKTtyZXR1cm4gXy5LKCJ5dG0tbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgYz1hKCksZD1jLnNlcnZpY2VFbmRwb2ludCxlPWMuY29tbWFuZDtkJiZfLkFKKGQsYywhMCx7QmQ6Yn0pO2UmJl8uQUooZSxjLCEwLHtCZDpifSl9fSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0LG1hOiEwfSkpKX0sIkNiIik7UVAuaWRvbUNvbXBhdD0hMDt2YXIgUlA9Xy5MKCh7ZGF0YTphLEJkOmJ9KT0+e3ZhciBjPV8uREkoSWlhLCgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8IiIpLGQ9KCk9PmEoKT8udG9nZ2xlTWVudVNlcnZpY2VJdGVtRW50aXR5S2V5PyEhYygpPy52YWx1ZTphKCk/LmlzVG9nZ2xlZCxlPSgpPT5jKCk/e3J1bnM6W3t0ZXh0OmMoKT8udmFsdWV8fCIifV19OmEoKT8udG9nZ2xlZFNlY29uZGFyeVRleHQ7cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1tZW51LXNlcnZpY2UtaXRlbS1yZW5kZXJlciIsbnVsbCxfLksoXy53Tyx7b25jbGljazooKT0+e3ZhciBmPWEoKSxoPWI/LigpLGs9Zi5pc1RvZ2dsZWQ/Zi50b2dnbGVkU2VydmljZUVuZHBvaW50OmYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludDtrJiYoXy5BSihrLGYsITAse0JkOmh9KSxmLnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8KGYuaXNUb2dnbGVkPSFmLmlzVG9nZ2xlZCkpfX0sXy5LKF8uTUQse2ljb246KCk9PmQoKT9hKCkudG9nZ2xlZEljb24/Lmljb25UeXBlPy50b1N0cmluZygpOgphKCkuZGVmYXVsdEljb24/Lmljb25UeXBlPy50b1N0cmluZygpLGFjdGl2ZTpkfSksXy5LKF8uSUose2RhdGE6KCk9PmQoKT9hKCkudG9nZ2xlZFRleHQ6YSgpLmRlZmF1bHRUZXh0fSksXy5LKF8uTyx7QTooKT0+YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fHxlKCksdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6KCk9PmQoKT9lKCk6YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fSl9KSkpfSwiRGIiKTtSUC5pZG9tQ29tcGF0PSEwO3ZhciBPaWE7Cl8uU1A9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLFRkOmMsRWg6ZCxGaDplLGRmOmYsSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0pPT5fLksoInl0bS1tZW51LXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRvcExldmVsQnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE8sbWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xTyx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5wTCx7ZGF0YTpyLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uZkose2RhdGE6cn0pLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLGxpa2VCdXR0b25SZW5kZXJlcjpPUH0pLF8uSyhPaWEse2RhdGE6YSxUZDpjLEVoOmQsRmg6ZSxkZjpmLApIYTpoLHVuOmssc3RvcFByb3BhZ2F0aW9uOmwscHJldmVudERlZmF1bHQ6bSxsYjpuLGJ1dHRvbk92ZXJyaWRlczpwfSx7bWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsbWVudU5hdmlnYXRpb25JdGVtUmVuZGVyZXI6UFAsdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksIkViIik7Xy5TUC5pZG9tQ29tcGF0PSEwOwpPaWE9Xy5MKCh7ZGF0YTphLGNoaWxkcmVuOmIsLi4uY30pPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4oIWEoKS5pdGVtc3x8IWEoKS5pdGVtcy5sZW5ndGgpJiYhKGEoKS5pc0Rpc2FibGVkJiZhKCkuZGlzYWJsZWRDb21tYW5kKX0sKCk9Pm51bGwpLF8uSyhfLkNFLHt3aGVuOigpPT5jLnVuPy4oKX0sKCk9Pl8uSyhfLk1oYSx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5XTChfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KT8/IiIpLGFyaWFMYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxidXR0b25PdmVycmlkZXM6KCk9PmMuYnV0dG9uT3ZlcnJpZGVzPy4oKSwKaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLml0ZW1zfSxiKSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhfLnpPLHtpY29uVHlwZTooKT0+Yy5FaD8uKCk/PyJNT1JFX1ZFUlQiLGxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KXx8IiIsY2FuY2VsQnV0dG9uTGFiZWw6Xy4kTi5DQU5DRUwsVGQ6KCk9PmMuVGQ/LigpLEZoOigpPT5jLkZoPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxsYjooKT0+Yy5sYj8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwKKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSksIkZiIik7Xy5UUD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaXRlbXM/Lmxlbmd0aHx8YS5kYXRhKCkuaXNEaXNhYmxlZCYmYS5kYXRhKCkuZGlzYWJsZWRDb21tYW5kLHRoZW46KCk9Pl8uSyhQaWEsey4uLmF9KX0pLCJHYiIpO18uVFAuaWRvbUNvbXBhdD0hMDsKdmFyIFBpYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLEVoOmQsc2hvd0ljb246ZSxidXR0b25TaXplOmYsYnV0dG9uT3ZlcnJpZGVzOmh9PV8uREMoYSx7c2hvd0ljb246ITEsYnV0dG9uT3ZlcnJpZGVzOnt9LGJ1dHRvblNpemU6IkwiLEVoOiJNT1JFX1ZFUlQifSksaz1fLlp0O3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIiLHtjbGFzczpjfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciBsPXtHYjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5pdGVtc30se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLnBMLHtkYXRhOm0sSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT4KXy5LKF8uZkose2RhdGE6bX0pLGxpa2VCdXR0b25SZW5kZXJlcjpPUCxidXR0b25SZW5kZXJlcjpfLnBPLGFjY291bnRJbmZvTWVudUl0ZW06Xy5OUH0pKSxIYTplKCksaXNEaXNhYmxlZDpiKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6YigpLmRpc2FibGVkQ29tbWFuZH07cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOmYoKSxpY29uUG9zaXRpb246Imljb24tb25seSIsYWNjZXNzaWJpbGl0eUxhYmVsOl8uREooYigpPy5hY2Nlc3NpYmlsaXR5KXx8IiIsb25UYXA6bT0+e3ZhciBuPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtfLnhKKF8uaHgoKSx7ZGF0YTpiKCl9KSxsLmZvY3VzT25DbG9zZT1tLmN1cnJlbnRUYXJnZXQsXy5XTSgpJiZtLnN0b3BQcm9wYWdhdGlvbigpLF8uVnoobixfLnZNKGspKSxfLnlOKGwpfWNhdGNoKHApe24uZXJyb3I9cCxuLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihuKX19LAouLi5oKCl9fSxpY29uTmFtZTooKT0+ZCgpfSkpfSwiSGIiKTt2YXIgSmlhPV8udS5kZXZpY2VQaXhlbFJhdGlvfHwyO3ZhciBLUD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57S1A9ITF9KTsKXy5VUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpjLGFsdDpkLGFyaWFMYWJlbDplLE1kOmYsVGI6aCxoYzprLGFyaWFIaWRkZW46bCxZYTptLFRhOm59PV8uREMoYSx7VGI6ITAsdGh1bWJuYWlsRGV0YWlsczp2b2lkIDAsY2xhc3NOYW1lOnZvaWQgMCxhbHQ6dm9pZCAwLGFyaWFMYWJlbDp2b2lkIDAsTWQ6dm9pZCAwLGhjOnZvaWQgMCxhcmlhSGlkZGVuOnZvaWQgMCxZYTp2b2lkIDAsVGE6dm9pZCAwfSkscD1fLnZFKCJpbWciKSxbcix0XT1fLkFDKGIpO18uVUooKCk9Pnt2YXIgdj17Li4uYigpfTt0KHYpfSk7Xy5uRSgoKT0+e2lmKHAudmFsdWUpe2xldCB2PXAudmFsdWU7TFAodik7bGV0IHo9YigpO3omJih2LnNyYz1fLkpQKHosdixmKCkpKX19LCJuN2tjNGMiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpJiYoZCgpfHxlKCl8fGMoKXx8aygpfHxsKCkpLHRoZW46KCk9Pl8uSyhfLmpGLHtkYXRhOigpPT5yKCksY2xhc3NOYW1lOmMsYWx0OigpPT4KZCgpfHxlKCl8fCIiLGNvbnRlbnRNb2RlOiJDT05URU5UX01PREVfU0NBTEVfQVNQRUNUX0ZJTEwiLGhjOmssYXJpYUhpZGRlbjpsLGNhbGxiYWNrOkxQLFRiOmgsWWE6bSxUYTpufSksVzooKT0+Xy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLmhGLHtkYXRhOmIsY29uZmlnOigpPT4oe2NsYXNzTmFtZTpjKCksYWx0OmQoKXx8ZSgpfHwiIixoYzprKCksYXJpYUhpZGRlbjpsKCksWWE6bSgpLFRhOm4oKX0pLEdsOntTZzoodix6KT0+e0xQKHopO3JldHVybiB2P18uSlAodix6LGYoKSk6IiJ9fSxsYXp5OiEwfSksVzooKT0+Xy5LKCJpbWciLHtlbDpwLGFsdDpkLCJhcmlhLWxhYmVsIjplLGNsYXNzOmMsImRhdGEtZGlzYWJsZWQiOmssImFyaWEtaGlkZGVuIjpsfSl9KX0pfSwiS2IiKTtfLlVQLmlkb21Db21wYXQ9ITA7Xy5WUD1fLkwoYT0+Xy5LKCJ5dG0tdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIiLHtjbGFzczphLmNsYXNzTmFtZSwidGh1bWJuYWlsLXNpemUiOmEudGh1bWJuYWlsU2l6ZSwiZGF0YS1zdHlsZSI6KCk9PmEuZGF0YT8uKCkuc3R5bGUsImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImRhdGEtdHlwZSI6KCk9PmEuZGF0YT8uKCkudHlwZT8ucmVwbGFjZSgiVEhVTUJOQUlMX09WRVJMQVlfVElNRV9TVEFUVVNfVFlQRV8iLCIiKX0sXy5LKF8uVEMse2RhdGE6KCk9Pih7dHlwZTphLmRhdGEoKS5zdHlsZT09PSJMSVZFIj8xOToxOCx0ZXh0Ol8uQ0ooYS5kYXRhKCkudGV4dCksaWNvbjphLmRhdGEoKS5pY29uPy5pY29uVHlwZXx8YS5kYXRhKCkueXRJY29uLHFMOmEuZGF0YSgpLnN0eWxlPT09IlNIT1JUUyJ9KX0pKSwiTGIiKTt2YXIgUWlhO18uV1A9Xy5MKGE9Pnt2YXIge2RldGFpbHM6YixvdmVybGF5OmMsVGI6ZCxoajplLE1kOmZ9PV8uREMoYSx7ZGV0YWlsczp2b2lkIDAsVGI6ITAsaGo6ITF9KSxoPV8uUCgidmlkZW8tdGh1bWJuYWlsLWltZyIseyJjdXN0b20tdGh1bWJuYWlsIjplfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczpfLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLCJ2aWRlby10aHVtYm5haWwtYmciKX0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoUWlhLHtkZXRhaWxzOmIsY2xhc3NOYW1lOmgsVGI6ZCxNZDpmfSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6ZixhbHQ6IiJ9KSxfLksoImRpdiIse2NsYXNzOiJ2aWRlby1wcmV2aWV3LXNoaW0ifSksYz8uKCkpfSwiTWIiKTsKUWlhPV8uTCgoe2RldGFpbHM6YSxjbGFzc05hbWU6YixUYjpjLE1kOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczoiY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciIsc3R5bGU6KCk9PntpZihhPy4oKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3Ipe3ZhciB7cmVkOmUsZ3JlZW46ZixibHVlOmh9PWEoKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3I7cmV0dXJuYGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHtlfSwke2Z9LCR7aH0sMSk7YH19fSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczphLGNsYXNzTmFtZTpiLGFsdDoiIixNZDpkLFRiOmN9KSksIk5iIik7Xy5YUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLGNsYXNzTmFtZTplLFRiOmYsaGo6aCxobTprfT1fLkRDKGEse1RiOiEwLGhqOiExLHRodW1ibmFpbERldGFpbHM6dm9pZCAwfSk7cmV0dXJuIF8uSygieXRtLWNvbXBhY3QtdGh1bWJuYWlsIix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QiLCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZCIsZSx7Im9yaWdpbmFsLWFzcGVjdC1yYXRpbyI6KCk9PmIoKT8uaXNPcmlnaW5hbEFzcGVjdFJhdGlvLHN0YWNrZWQ6a30pfSxfLksoXy5XUCx7ZGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLFRiOmYsaGo6aH0pKX0sIk9iIik7Xy5YUC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e292ZXJsYXk6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMuVGp9O18uJFA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLnhqfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBldnR2YyIpO3JldHVybiBfLnJEfTtfLmNRPV8uY0QoKCk9Pl8uYlEoKSwiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaXNsaWtlQnV0dG9uVmlld01vZGVsIiwicGV2dHZjIixfLmJRKX0pO18uZFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJpemptUCIpO3JldHVybiBfLnFEfTtfLmVRPV8uY0QoKCk9Pl8uZFEoKSwibGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaWtlQnV0dG9uVmlld01vZGVsIiwiaXpqbVAiLF8uZFEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJBVDhMVGUiKTtyZXR1cm4gXy5wRH07Xy5nUT1fLmNEKCgpPT5fLmZRKCksIm92ZXJsYXlQcm9kdWN0U3RpY2tlciIpO18uWXQoXy5KRCxhPT57YS5KKCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiLCJBVDhMVGUiLF8uZlEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTaWE7Xy5oUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlhlUlhCZCIpO3JldHVybiBfLmNGfTtTaWE9Xy5jRCgoKT0+Xy5oUSgpLCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIsIlhlUlhCZCIsXy5oUSl9KTtfLmlRPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6Yn0pPT57dmFyIGM9Xy51RSgicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiKTtfLlVKKCgpPT57YSgpPy5iYWNrZ3JvdW5kQ29sb3ImJmMudmFsdWUuc2V0QXR0cmlidXRlKCJkYXRhLWJhY2tncm91bmQtY29sb3IiLFN0cmluZyhhKCkuYmFja2dyb3VuZENvbG9yKSl9KTtyZXR1cm4gXy5LKCJwaXZvdC1idXR0b24tdmlldy1tb2RlbCIse2VsOmMsY2xhc3M6Xy5QKCJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+e3ZhciBkPWEoKTtkPWQub25DbGlja0NvbW1hbmQ/Xy5SRChkLm9uQ2xpY2tDb21tYW5kKTpkLmNvbnRlbnREZXNjcmlwdGlvbj9fLmFRKF8uV0woZC5jb250ZW50RGVzY3JpcHRpb24pKTp2b2lkIDA7cmV0dXJuIGR9LGFyaWFMYWJlbDooKT0+YSgpLmNvbnRlbnREZXNjcmlwdGlvbn0sXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmQ9Pl8uSyhfLmpGLHtkYXRhOmQsCmFsdDoiIixjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdlIn0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46ZD0+Xy5LKF8uTUQse2ljb246KCk9PmQoKS5pY29uVHlwZSxjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb24ifSl9KX0pKSl9LCJTYiIpO18ualE9Xy5MKCh7ZGF0YTphLEFmOmJ9KT0+e3ZhciBjPSgpPT4ieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b24iO3JldHVybiBfLksoInJlZWwtYWN0aW9uLWJhci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdCIse3l0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlOigpPT4hMCx5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3A6KCk9PiExfSl9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5idXR0b25WaWV3TW9kZWxzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLlVGLHtjbGFzc05hbWU6YyxkYXRhOmQsYnV0dG9uT3ZlcnJpZGVzOmJ9KSxsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmVRLHtjbGFzc05hbWU6YyxkYXRhOmQsQWY6Yn0pLGRpc2xpa2VCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uY1Ese2NsYXNzTmFtZTpjLApkYXRhOmQsQWY6Yn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5aRix7Y2xhc3NOYW1lOmMsZGF0YTpkLHdpOmJ9KSxwaXZvdEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5pUSx7Y2xhc3NOYW1lOmMsZGF0YTpkfSl9KSl9LCJUYiIpO3ZhciBUaWE7Xy5rUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInM2NDlqIik7cmV0dXJuIF8ubUh9O1RpYT1fLmNEKCgpPT5fLmtRKCksInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbCIsInM2NDlqIixfLmtRKX0pO3ZhciBVaWE7Xy5sUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVTeGRuYiIpO3JldHVybiBfLmZIfTtVaWE9Xy5jRCgoKT0+Xy5sUSgpLCJyZWVsQ2Fyb3VzZWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENhcm91c2VsVmlld01vZGVsIiwidVN4ZG5iIixfLmxRKX0pO3ZhciBWaWE7Xy5tUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIldmZjZCZCIpO3JldHVybiBfLmVIfTtWaWE9Xy5jRCgoKT0+Xy5tUSgpLCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIsIldmZjZCZCIsXy5tUSl9KTt2YXIgV2lhO18ublE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVM216c2QiKTtyZXR1cm4gXy5sSH07V2lhPV8uY0QoKCk9Pl8ublEoKSwicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsIiwiVTNtenNkIixfLm5RKX0pO3ZhciBYaWE7Xy5vUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInlQMEpCZCIpO3JldHVybiBfLmJGfTtYaWE9Xy5jRCgoKT0+Xy5vUSgpLCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIsInlQMEpCZCIsXy5vUSl9KTt2YXIgWWlhO18ucFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJScWFKc2QiKTtyZXR1cm4gXy5YSn07WWlhPV8uY0QoKCk9Pl8ucFEoKSwic2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIsIlJxYUpzZCIsXy5wUSl9KTt2YXIgWmlhO18ucVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJFM0hlYmMiKTtyZXR1cm4gXy5hRn07WmlhPV8uY0QoKCk9Pl8ucVEoKSwic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsIiwiRTNIZWJjIixfLnFRKX0pO18uclE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtcmVlbC1tZXRhcGFuZWwtdmlldy1tb2RlbCIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1ldGFkYXRhSXRlbXN9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uYUcse2RhdGE6Yn0pKSxwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVGlhLHtkYXRhOmJ9KSkscHJvZHVjdFN0aWNrZXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmdRLHtkYXRhOigpPT5iKCkuc3RpY2tlcn0pKSxyZWVsQ2Fyb3VzZWxWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVWlhLHtkYXRhOmJ9KSkscmVlbENoYW5uZWxCYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhWaWEse2RhdGE6Yn0pKSxyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoV2lhLHtkYXRhOmJ9KSkscmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhTaWEse2RhdGE6Yn0pKSxzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sCl8uSyhYaWEse2RhdGE6Yn0pKSxzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhZaWEse2RhdGE6Yn0pKSxzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWmlhLHtkYXRhOmJ9KSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5aRix7ZGF0YTpifSkpfSkpLCJVYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZktFOHFkIik7cmV0dXJuIF8ub0R9O18uJGlhPV8uY0QoKCk9Pl8uc1EoKSwiZGlhbG9nVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImRpYWxvZ1ZpZXdNb2RlbCIsImZLRThxZCIsXy5zUSl9KTtfLnRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUlpla0oiKTtyZXR1cm4gXy5TQ307Xy5hamE9Xy5jRCgoKT0+Xy50USgpLCJzbWFydGltYXRpb25zIik7Xy5ZdChfLkpELGE9PnthLkooInNtYXJ0aW1hdGlvbnMiLCJSWmVrSiIsXy50USl9KTtfLnVRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgic0RPVEdlIik7cmV0dXJuIF8ubkR9O18uYmphPV8uY0QoKCk9Pl8udVEoKSwicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiLCJzRE9UR2UiLF8udVEpfSk7Xy52UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImVjdVBBYyIpO3JldHVybiBfLm1EfTtfLmNqYT1fLmNEKCgpPT5fLnZRKCksInBsYXllck92ZXJsYXlJbnRlcmFjdGlvbiIpO18uWXQoXy5KRCxhPT57YS5KKCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iLCJlY3VQQWMiLF8udlEpfSk7Xy53UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZRZElKZSIpO3JldHVybiBfLmxEfTtfLmRqYT1fLmNEKCgpPT5fLndRKCksInN0aWNrZXJzTGF5ZXIiKTtfLll0KF8uSkQsYT0+e2EuSigic3RpY2tlcnNMYXllciIsIkZRZElKZSIsXy53USl9KTtfLnhRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgibjdlbzIiKTtyZXR1cm4gXy5rRH07Xy5lamE9Xy5jRCgoKT0+Xy54USgpLCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiaW50ZXJzdGl0aWFsVmlld01vZGVsIiwibjdlbzIiLF8ueFEpfSk7Xy55UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIk51aWx1ZSIpO3JldHVybiBfLmpEfTtfLmZqYT1fLmNEKCgpPT5fLnlRKCksInZpZGVvV2l0aENvbnRleHRSZW5kZXJlciIpO18uWXQoXy5KRCxhPT57YS5KKCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiLCJOdWlsdWUiLF8ueVEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQVE9Xy5MKCh7T286YSxScDpiLGNoaWxkcmVuOmMsUG46ZCxkaXNhYmxlQW5pbWF0aW9uOmV9KT0+e3ZhciBmPSgpPT4hZT8uKCk7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtYWN0aW9uIix7Y2xhc3M6Xy5QKCJ5dEFuaW1hdGVkQWN0aW9uSG9zdCIsZCl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0QW5pbWF0ZWRBY3Rpb25Db250ZW50V2l0aEJhY2tncm91bmQifSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtQbjoieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmRDb250YWluZXIiLHl5OiJ5dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZCIsRWM6KCk9Pih7YW5pbWF0aW9uUmVmOmE/LigpLGFuaW1hdGlvbkNvbmZpZzp7bmFtZToiYW5pbWF0ZWQtYWN0aW9ucy1iYWNrZ3JvdW5kIixhdXRvcGxheTohMSxsb29wOiExLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fY29udGFpbmVyXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PwohMT8iZGFyayI6ImxpZ2h0In1fdjUuanNvbmB9fSl9KX0pLGMpLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoelEse0VjOigpPT4oe2FuaW1hdGlvblJlZjpiPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtZm9yZWdyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX3NwYXJrbGVzXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PyExPyJkYXJrIjoibGlnaHQifV92NC5qc29uYH19KX0pfSkpfSwiVmIiKTtfLkFRLmlkb21Db21wYXQ9ITA7CnZhciB6UT1fLkwoKHtQbjphLHl5OmIsRWM6Y30pPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkxvdHRpZSIsYSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmNNLHtjbGFzc05hbWU6YixkYXRhOmMsYW5pbWF0aW9uTmFtZTooKT0+YygpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfSkpLCJXYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJRPWZ1bmN0aW9uKCl7cmV0dXJue2xvdHRpZUVsOnZvaWQgMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNRPWZ1bmN0aW9uKGEsYil7Xy5uRSgoKT0+e3ZhciBjPWEoKTtfLkVBKCgpPT52b2lkIGIoYykpfSwiY0tSOXNmIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZ2phLERRLEVRLEZRLGhqYSxpamEsamphLEdRLEhRLGtqYSxJUSxsamEsSlEsS1EsTFEsTVEsTlEsT1EsbWphLFBRLFFRLFJRLG5qYSxTUSxvamEsVFEsVVEscGphLFZRLFdRLFhRLFpRLHFqYSxyamEsJFEsYVIsc2phLHRqYSx1amEsYlIsY1IsdmphLHdqYSx4amEsaFIsZlIsbVIsblIsb1IscFIsZ1IsdFIsdVIsa1IsdlIsbFIsemphLEFqYSx6UixBUixCUixFamEsRFIsSFIsRmphLEdqYSxIamEsSWphLElSLEpSLEpqYSxMUixMamEsTWphLE1SLFFqYSxQamEsUmphLE9qYSxOUixOamEsUFIsT1IsVWphLFdqYSxSUixYamEsU1IsZFMsZVMsZlMsZ1MsZGthLGlrYSxpUyxra2EsalMsa1Msb2thLHBTLHFrYSxya2EscVMsc2thLHRrYSxyUyxzUyx0Uyx1Uyx3Uyx4Uyx2Uyx5Uyx6UyxBUyxCUyxFUyxGUyxDUyxHUyx6a2EsSlMsSFMsQ2thLExTLE1TLE5TLFBTLElTLEZrYSxTUyxHa2EsVVMsV1MsWFMsSGthLFlTLFpTLCRTLGNULGJULElrYSxkVCxKa2EsS2thLExrYSxNa2EsZ1QsCmZULGhULGtULGxULE5rYSxtVCxqVCxpVCxuVCxvVCxwVCxPa2EsclQsUGthLFFrYSx0VCxSa2EsdlQsU2thLFRrYSxzVCxVa2EsVmthLFdrYSxYa2EsWWthLHhULHVULHFULHdULHlULHpULEFULEJULENULERULCRrYSxFVCxIVCxJVCxGVCxjbGEsYmxhLEpULEtULE9ULFBULGVsYSxRVCxUVCxSVCxmbGEsaGxhLGdsYSxpbGEsV1QsWFQsamxhLFpULGtsYSxhVSxiVSxjVSxsbGEsaFUsbmxhLG9sYSxpVSxqVSxsVSxtVSxuVSxvVSxwVSxwbGEscVUscWxhLHJVLHJsYSxzVSx1VSxzbGEsdWxhLHdVLElVLHhVLEtVLEpVLHZsYSx3bGEseGxhLHpsYSxMVSx5bGEsT1UsTVUsQmxhLENsYSxEbGEsUFUsRWxhLEZsYSxHbGEsSGxhLElsYSxKbGEsS2xhLExsYSxNbGEsTmxhLFFVLFJVLFNVLFVVLFBsYSxYVSxZVSxRbGEsUmxhLFpVLFNsYSwkVSxVbGEsYVYsVGxhO2dqYT1mdW5jdGlvbigpe3JldHVybiEhXy5aTygpfTsKRFE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGIpLGMpfTtFUT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBudWxsO3ZhciBjPWI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6bnVsbDtyZXR1cm4gXy5ndyhhLGZ1bmN0aW9uKGQpe3JldHVybighY3x8ZC5ub2RlTmFtZT09YykmJiEwfSwhMCl9O0ZRPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9O2hqYT1mdW5jdGlvbihhLGIpe2I/Xy5TdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKTpfLlR0KGEsInl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZCIpfTsKaWphPWZ1bmN0aW9uKCl7Xy5WaSgoKT0+e2lmKCFfLkJxKCJmdGwiKSl7dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthIT09Xy5wbygpfHxfLkJxKCJmdGwiKXx8Xy5BcSgiZnRsIix2b2lkIDAsdm9pZCAwKX0sMCl9KX19KSgpfTtqamE9ZnVuY3Rpb24oKXtpZihfLlh6KCkpe3ZhciBhPV8uR2goInBmcC1tYXctcGxheWVyIik7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTtHUT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbCgoMCxfLlNhYSkoKSxhKX07CkhRPWZ1bmN0aW9uKCl7aWYoXy54KCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayIpKXJldHVybiBfLncoIklOTkVSVFVCRV9DT05URVhUIix7fSkuY2xpZW50Py5jbGllbnRGb3JtRmFjdG9yPT09IkFVVE9NT1RJVkVfRk9STV9GQUNUT1IiO3ZhciBhPV8udygiSU5ORVJUVUJFX0NPTlRFWFQiLHt9KTtyZXR1cm4gYS5jbGllbnQ/Lm9zTmFtZSYmYS5jbGllbnQub3NOYW1lPT09IkFuZHJvaWQgQXV0b21vdGl2ZSJ9O2tqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRpc21pc3NTdGF0ZSIsYil9O0lRPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVU0oKT09PSJoYXNodGFnIn07bGphPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibG9nb0VudGl0eSIsYil9OwpKUT1mdW5jdGlvbigpe3JldHVybiBhPT57dmFyIGI9Xy5MQighMSk7dHJ5e2xldCBjPWEuY2hpbGRyZW47Xy5VQT9jP18uZ04oXy5LKF8uc08sYSxjKSk6Xy5nTihfLksoXy5zTyxhKSk6Xy5JcChuZXcgXy5Yaigia2V0b1RvQzMgY2FsbGVkIG91dHNpZGUgb2YgYSBwYXRjaCIse3RhZ05hbWU6Xy5zTy5aY30pKX1maW5hbGx5e18uTEIoYil9fX07CktRPWZ1bmN0aW9uKGEsYil7aWYoYS5yZXF1ZXN0RnVsbHNjcmVlbilhPWEucmVxdWVzdEZ1bGxzY3JlZW4oYik7ZWxzZSBpZihhLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKWE9YS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS5tb3pSZXF1ZXN0RnVsbFNjcmVlbilhPWEubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtlbHNlIGlmKGEubXNSZXF1ZXN0RnVsbHNjcmVlbilhPWEubXNSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS53ZWJraXRFbnRlckZ1bGxzY3JlZW4pYT1hLndlYmtpdEVudGVyRnVsbHNjcmVlbigpO2Vsc2UgcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJKZCIpKTtyZXR1cm4gYSBpbnN0YW5jZW9mIFByb21pc2U/YTpQcm9taXNlLnJlc29sdmUoKX07CkxRPWZ1bmN0aW9uKCl7cmV0dXJuISFfLklPKFsiZnVsbHNjcmVlbkVuYWJsZWQiLCJ3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbmFibGVkIiwibXNGdWxsc2NyZWVuRW5hYmxlZCJdLGRvY3VtZW50KX07TVE9ZnVuY3Rpb24oYSl7dmFyIGI7TFEoKT9fLlpPKCk9PWEmJihiPWRvY3VtZW50KTpiPWE7aWYoYiYmKGE9Xy5JTyhbImV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiJdLGIpKSl7YS5jYWxsKGIpaW5zdGFuY2VvZiBQcm9taXNlfHxQcm9taXNlLnJlc29sdmUoKTtyZXR1cm59UHJvbWlzZS5yZXNvbHZlKCl9O05RPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtPUT1mdW5jdGlvbihhKXtyZXR1cm4oYT1OUShhKSk/ISFhLmRpc3BsYXlOYW1lOiExfTsKbWphPWZ1bmN0aW9uKGEpe3JldHVybiBfLnZiKGEsYj0+Yi5sYW5ndWFnZUNvZGU9PT0iZW4iKX07UFE9ZnVuY3Rpb24oYSl7aWYoIWEuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKSlyZXR1cm4iIjthPV8uJE8oYSk7aWYoIWEubGVuZ3RoKXJldHVybiIiO3ZhciBiPW1qYShhKTtyZXR1cm4gYj9iLmRpc3BsYXlOYW1lfHwiIjphWzBdLmRpc3BsYXlOYW1lfHwiIn07ClFRPWZ1bmN0aW9uKGEsYixjKXtpZihPUShhKSlfLngoIm13ZWJfZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lIik/YS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pOmEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pO2Vsc2V7bGV0IGQ9Xy52YihfLiRPKGEpLGU9PmUuZGlzcGxheU5hbWU9PT1iKTthLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsZCk7Xy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpJiZhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7dXNlckluaXRpYXRlZDpjfSl9fTtSUT1mdW5jdGlvbigpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZnVsbHNjcmVlbnJlcXVlc3QiKSl9OwpuamE9ZnVuY3Rpb24oYSl7dmFyIFtiXT0oMCxfLnVpYSkoYSksW2NdPSgwLF8udmlhKShhKTtyZXR1cm5bXy5OKCgpPT57dmFyIGQ9ey4uLmIoKX07ZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uJiYoZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uPXsuLi5jKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0pO3JldHVybiBkfSx2b2lkIDAsInV2Uzg3YiIpXX07U1E9ZnVuY3Rpb24oYSl7TVEoYXx8ZG9jdW1lbnQuYm9keSl9OwpvamE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihSUSgpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtUUT1mdW5jdGlvbihhLGIpe18uWk8oKT8oUlEoKSxTUShiKSk6TFEoKT8oUlEoKSxiPUtRKGJ8fGRvY3VtZW50LmJvZHkse25hdmlnYXRpb25VSToiaGlkZSJ9KSxhPy5kcyYmYj8uY2F0Y2goKCk9Pm51bGwpKTpvamEoKX07ClVRPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiAwO3ZhciBiPWEuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSxjPWEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGMmJmMuaXNMaXZlPyhhPWEuZ2V0UHJvZ3Jlc3NTdGF0ZShiKSxhLnNlZWthYmxlRW5kLWEuc2Vla2FibGVTdGFydCk6YS5nZXREdXJhdGlvbihiKX07cGphPWZ1bmN0aW9uKGEsYixjKXthfHxfLk9FKCgpPT57Yj8ucHJldmlvdXNWaWRlbyhjKX0pfTtWUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTIpcmV0dXJuITA7aWYoYiE9PTMpcmV0dXJuITE7YT1hLmdldFBsYXllclN0YXRlT2JqZWN0KCk7cmV0dXJuIWEuaXNCdWZmZXJpbmcmJiFhLmlzVW5zdGFydGVkJiYhYS5pc1BsYXlpbmcmJmEuaXNQYXVzZWR9OwpXUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTEpcmV0dXJuIGEucGF1c2VWaWRlbygpLCJQTEFZRVJfUEFVU0UiO2lmKGI9PT0tMSlhLnBsYXlWaWRlbygpO2Vsc2UgaWYoYj09PTJ8fFZRKGEpKXJldHVybiBhLnBsYXlWaWRlbygpLCJQTEFZRVJfUExBWSJ9O1hRPWZ1bmN0aW9uKGEpe2E9YSYmYS5nZXRQbGF5bGlzdEluZGV4JiZhLmdldFBsYXlsaXN0SW5kZXgoKT49MDtyZXR1cm4hIV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKXx8ISFhfTtaUT1mdW5jdGlvbihhKXtZUT1hfTtxamE9ZnVuY3Rpb24oYSl7dmFyIGI9WVE7Yj8oYT1hLnRpbWVTdGFtcCxiPWIudGltZVN0YW1wLGI9aXNOYU4oYSl8fGlzTmFOKGIpPyExOk1hdGguYWJzKGEtYik8PV8ueWlhKTpiPSExO3JldHVybiBifTsKcmphPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2lmKGIpe3ZhciBjPSFiLnBhdXNlZDsocWphKGEpfHxjKSYmc2V0VGltZW91dCgoKT0+e2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGF1c2UiLFpRKTtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJl8uVk0oKX0sXy54aWEpfX07JFE9ZnVuY3Rpb24oKXtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKT9TUShfLkVKKTpfLkVKJiYoTVEoXy5FSiksXy54KCJtd2ViX25ld19mdWxsc2NyZWVuX3Jlc2l6ZSIpfHxfLlhNKCJyZXNpemUiKSl9OwphUj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7YSYmKF8uZnImJl8ueCgibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uIikmJihhLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSksXy5OTShhLCJ3ZWJraXRlbmRmdWxsc2NyZWVuIixyamEpKSxfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtzamE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uO2lmKGE/LmxvY2smJiFfLk1FKCkmJiFfLlRFKCkpdHJ5e2EubG9jaygibGFuZHNjYXBlIikuY2F0Y2goKCk9Pnt9KX1jYXRjaChiKXt9fTsKdGphPWZ1bmN0aW9uKGEpe18uWE0oImZ1bGxzY3JlZW5yZXF1ZXN0Iik7dmFyIGI9S1EoXy5FSix7bmF2aWdhdGlvblVJOiJoaWRlIn0pO2F8fHNqYSgpO18ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIik7cmV0dXJuIGJ9Owp1amE9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKT09PSJ0cnVlIiYmZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKTtpZihfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKSlUUShhLF8uRUopO2Vsc2V7dmFyIGI9Xy5yUCgpLGM7Xy5mcj9jPWFSKCk6TFEoKT9iPyRRKCk6Yz10amEoYT8uekkpOl8ueCgibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIik/Yz1hUigpOl8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pO2M/LmNhdGNoKGQ9PntpZihkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiLAoidHJ1ZSIpLF8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pfSk7YT8uZHMmJmM/LmNhdGNoKCgpPT5udWxsKX19O2JSPWZ1bmN0aW9uKGEpe3JldHVybntsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxzZWxlY3Rpb25UZXh0OmEuc2VsZWN0aW9uVGV4dCxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkLGlzU2VsZWN0ZWQ6YS5pc1NlbGVjdGVkLHNlbGVjdGlvblN0eWxlOmEuc2VsZWN0aW9uU3R5bGV9fX07CmNSPWZ1bmN0aW9uKGEpe3JldHVybntzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LHN3aXRjaGVkT25CeURlZmF1bHQ6YS5rbCxhMTF5TGFiZWxTd2l0Y2hlZE9uOmEuRWssYTExeUxhYmVsU3dpdGNoZWRPZmY6YS5Eayxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZH19fTt2amE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLmlzRnVsbHNjcmVlbn07d2phPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5tan07CnhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIubGVuZ3RoO3N3aXRjaChjKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSAxOnJldHVybiBTdHJpbmcoYlswXSk7Y2FzZSAyOnJldHVybiBhLkQucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKX12YXIgZD1hLkIucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKTtmb3IobGV0IGU9MjtlPGMtMTsrK2UpZD1hLnYucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2VdKSk7cmV0dXJuIGEuby5yZXBsYWNlKCJ7MH0iLGQpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbYy0xXSkpfTsKaFI9ZnVuY3Rpb24oKXt0aGlzLks9bnVsbDt0aGlzLlZkPXRoaXMuTWE9dGhpcy5RYT0hMTt0aGlzLlo9NDA7dGhpcy5vPTE7dGhpcy5oYT0wO3RoaXMuaj0zO3RoaXMueWE9dGhpcy5CPTA7dGhpcy5FYj0hMTt0aGlzLmdhPXRoaXMuTT0iIjt0aGlzLkQ9ZFIuYW87dGhpcy5VPSIiO3RoaXMudj0xO3RoaXMuWT0hMTt0aGlzLkk9W107dGhpcy5GYT10aGlzLmZjPSExO3RoaXMub2E9MDtpZihlUilmUih0aGlzKTtlbHNle3RoaXMuSz1udWxsO3ZhciBhPWRSLmd0O2xldCBlPVswXTt0aGlzLk09Z1IodGhpcyxhLGUpO3ZhciBiPWVbMF07bGV0IGY9LTEsaD0wO3ZhciBjPTAsZD0wO2xldCBrPS0xLGw9YS5sZW5ndGg7Zm9yKGxldCBtPSEwO2VbMF08bCYmbTtlWzBdKyspc3dpdGNoKGEuY2hhckF0KGVbMF0pKXtjYXNlICIjIjpjPjA/ZCsrOmgrKztrPj0wJiZmPDAmJmsrKzticmVhaztjYXNlICIwIjppZihkPjApdGhyb3cgRXJyb3IoIlZkYCIrYSk7YysrO2s+PTAmJmY8MCYmaysrO2JyZWFrOwpjYXNlICIsIjprPjAmJnRoaXMuSS5wdXNoKGspO2s9MDticmVhaztjYXNlICIuIjppZihmPj0wKXRocm93IEVycm9yKCJXZGAiK2EpO2Y9aCtjK2Q7YnJlYWs7Y2FzZSAiRSI6aWYodGhpcy5GYSl0aHJvdyBFcnJvcigiWGRgIithKTt0aGlzLkZhPSEwO3RoaXMueWE9MDtlWzBdKzE8bCYmYS5jaGFyQXQoZVswXSsxKT09IisiJiYoZVswXSsrLHRoaXMuRWI9ITApO2Zvcig7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIwIjspZVswXSsrLHRoaXMueWErKztpZihoK2M8MXx8dGhpcy55YTwxKXRocm93IEVycm9yKCJZZGAiK2EpO209ITE7YnJlYWs7ZGVmYXVsdDplWzBdLS0sbT0hMX1jPT0wJiZoPjAmJmY+PTAmJihjPWYsYz09MCYmYysrLGQ9aC1jLGg9Yy0xLGM9MSk7aWYoZjwwJiZkPjB8fGY+PTAmJihmPGh8fGY+aCtjKXx8az09MCl0aHJvdyBFcnJvcigiWmRgIithKTtkPWgrYytkO3RoaXMuaj1mPj0wP2QtZjowO2Y+PTAmJih0aGlzLkI9aCtjLWYsdGhpcy5CPDAmJih0aGlzLkI9CjApKTt0aGlzLm89KGY+PTA/ZjpkKS1oO3RoaXMuRmEmJih0aGlzLlo9aCt0aGlzLm8sdGhpcy5qPT0wJiZ0aGlzLm89PTAmJih0aGlzLm89MSkpO3RoaXMuSS5wdXNoKE1hdGgubWF4KDAsaykpO3RoaXMuZmM9Zj09MHx8Zj09ZDtiPWVbMF0tYjt0aGlzLmdhPWdSKHRoaXMsYSxlKTtlWzBdPGEubGVuZ3RoJiZhLmNoYXJBdChlWzBdKT09IjsiPyhlWzBdKyssdGhpcy52IT0xJiYodGhpcy5ZPSEwKSx0aGlzLkQ9Z1IodGhpcyxhLGUpLGVbMF0rPWIsdGhpcy5VPWdSKHRoaXMsYSxlKSk6KHRoaXMuRCs9dGhpcy5NLHRoaXMuVSs9dGhpcy5nYSl9fTsKZlI9ZnVuY3Rpb24oYSl7dmFyIGI9e25vdGF0aW9uOiJzdGFuZGFyZCIsbWluaW11bUludGVnZXJEaWdpdHM6TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxhLm8pKX07YS5FYiYmKGIuc2lnbkRpc3BsYXk9ImFsd2F5cyIpO2EuUWE/KGIubWluaW11bVNpZ25pZmljYW50RGlnaXRzPTEsYi5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxhLmhhKSkpOmEuTWEmJihiLm1pbmltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1heCgwLGEuQiksYi5tYXhpbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMCxhLmopKSk7Yi5zdHlsZT0iZGVjaW1hbCI7dHJ5e2xldCBjOyhjPSJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKSkmJmMgaW4gaVImJihiLm51bWJlcmluZ1N5c3RlbT1pUltjXSk7YS5LPW5ldyBJbnRsLk51bWJlckZvcm1hdChjLGIpfWNhdGNoKGMpe3Rocm93IGEuSz1udWxsLEVycm9yKCJSZGAiK2MpO31qUj1hLlZkPWEuUWE9YS5NYT0hMX07Cm1SPWZ1bmN0aW9uKGEsYil7dmFyIGM9a1IoYixhLmopO2EuaGE+MCYmKGM9bFIoYyxhLmhhLGEuaikpO2M9TWF0aC5yb3VuZChjKTtpZihpc0Zpbml0ZShjKSl7dmFyIGQ9TWF0aC5mbG9vcihrUihjLC1hLmopKTtjPU1hdGguZmxvb3IoYy1rUihkLGEuaikpO2lmKGM8MHx8Yz49a1IoMSxhLmopKWQ9TWF0aC5yb3VuZChiKSxjPTB9ZWxzZSBkPWIsYz0wO3JldHVybntpbnRWYWx1ZTpkLGh3OmN9fTsKblI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5CPmEuail0aHJvdyBFcnJvcigiU2QiKTtkfHwoZD1bXSk7Yj1tUihhLGIpO3ZhciBlPWIuaW50VmFsdWUsZj1iLmh3LGg9YS5CPjB8fGY+MHx8ITE7Yj1hLkI7aCYmKGI9YS5CKTtmb3IodmFyIGs9IiIsbD1lO2w+MUUyMDspaz0iMCIrayxsPU1hdGgucm91bmQoa1IobCwtMSkpO2s9bCtrO3ZhciBtPWRSLlZuO2w9ZFIuQmsuY29kZVBvaW50QXQoMCk7dmFyIG49ay5sZW5ndGgscD0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1uO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTtpZihhLkkubGVuZ3RoPj0yKWZvcihjPTE7YzxhLkkubGVuZ3RoO2MrKylwKz1hLklbY107Yz1uLXA7aWYoYz4wKXtlPWEuSTtwPW49MDt2YXIgcj1kUi5yayx0PWsubGVuZ3RoO2ZvcihsZXQgej0wO3o8dDt6KyspaWYoZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGsuY2hhckF0KHopKSkpLHQtej4xKXt2YXIgdj1lW3BdO2lmKHo8CmMpe2xldCBFPWMtejsodj09PTF8fHY+MCYmRSV2PT09MSkmJmQucHVzaChyKX1lbHNlIHA8ZS5sZW5ndGgmJih6PT09Yz9wKz0xOnY9PT16LWMtbisxJiYoZC5wdXNoKHIpLG4rPXYscCs9MSkpfX1lbHNle2M9aztrPWEuSTtlPWRSLnJrO3Y9Yy5sZW5ndGg7cj1bXTtmb3Iobj1rLmxlbmd0aC0xO24+PTAmJnY+MDtuLS0pe3A9a1tuXTtmb3IodD0wO3Q8cCYmdi10LTE+PTA7dCsrKXIucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihjLmNoYXJBdCh2LXQtMSkpKSk7di09cDt2PjAmJnIucHVzaChlKX1kLnB1c2guYXBwbHkoZCxyLnJldmVyc2UoKSl9fWVsc2UgaHx8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTsoYS5mY3x8aCkmJmQucHVzaChtKTtmPVN0cmluZyhmKTtoPWYuc3BsaXQoImUrIik7aC5sZW5ndGg9PTImJihmPVN0cmluZyhsUihwYXJzZUZsb2F0KGhbMF0pLGEuaGEsMSkpLGY9Zi5yZXBsYWNlKCIuIiwiIiksZis9IjAiLnJlcGVhdChwYXJzZUludChoWzFdLAoxMCktZi5sZW5ndGgrMSkpO2EuaisxPmYubGVuZ3RoJiYoZj0iMSIrIjAiLnJlcGVhdChhLmotZi5sZW5ndGgpK2YpO2ZvcihhPWYubGVuZ3RoO2YuY2hhckF0KGEtMSk9PSIwIiYmYT5iKzE7KWEtLTtmb3IoYj0xO2I8YTtiKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGYuY2hhckF0KGIpKSkpfTtvUj1mdW5jdGlvbihhLGIsYyl7Yy5wdXNoKGRSLlluKTtiPDA/KGI9LWIsYy5wdXNoKGRSLmFvKSk6YS5FYiYmYy5wdXNoKGRSLld0KTtiPSIiK2I7dmFyIGQ9ZFIuQms7Zm9yKGxldCBlPWIubGVuZ3RoO2U8YS55YTtlKyspYy5wdXNoKGQpO2E9ZC5jb2RlUG9pbnRBdCgwKS15amE7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoYStiLmNvZGVQb2ludEF0KGQpKSl9OwpwUj1mdW5jdGlvbihhKXthPWEuY29kZVBvaW50QXQoMCk7aWYoNDg8PWEmJmE8NTgpcmV0dXJuIGEtNDg7dmFyIGI9ZFIuQmsuY29kZVBvaW50QXQoMCk7cmV0dXJuIGI8PWEmJmE8YisxMD9hLWI6LTF9OwpnUj1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPSIiLGU9ITEsZj1iLmxlbmd0aDtjWzBdPGY7Y1swXSsrKXt2YXIgaD1iLmNoYXJBdChjWzBdKTtpZihoPT0iJyIpY1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PSInIj8oY1swXSsrLGQrPSInIik6ZT0hZTtlbHNlIGlmKGUpZCs9aDtlbHNlIHN3aXRjaChoKXtjYXNlICIjIjpjYXNlICIwIjpjYXNlICIsIjpjYXNlICIuIjpjYXNlICI7IjpyZXR1cm4gZDtjYXNlICJcdTAwYTQiOmNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iXHUwMGE0Ij8oY1swXSsrLGQrPWRSLlduKTooaD1kUi5XbixkKz1oIGluIHFSP3FSW2hdWzFdOmgpO2JyZWFrO2Nhc2UgIiUiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJmEudiE9MTAwKXRocm93IEVycm9yKCJVZCIpO2Eudj0xMDA7YS5ZPSExO2QrPWRSLmpvO2JyZWFrO2Nhc2UgIlx1MjAzMCI6aWYoIWEuWSYmYS52IT0xKXRocm93IEVycm9yKCJUZCIpO2lmKGEuWSYmCmEudiE9MUUzKXRocm93IEVycm9yKCJVZCIpO2Eudj0xRTM7YS5ZPSExO2QrPWRSLmtvO2JyZWFrO2RlZmF1bHQ6ZCs9aH19cmV0dXJuIGR9O3RSPWZ1bmN0aW9uKGEsYil7YT1hLm9hPT0xP3JSLlNuOnJSLlZzO2E9PW51bGwmJihhPXJSLlNuKTtpZihiPDMpcmV0dXJuIHNSO2I9TWF0aC5taW4oMTQsYik7dmFyIGM9YVtrUigxLGIpXTtmb3IoLS1iOyFjJiZiPj0zOyljPWFba1IoMSxiKV0sYi0tO2lmKCFjKXJldHVybiBzUjtjPWMub3RoZXI7dmFyIGQ9YT0iIixlPWMuaW5kZXhPZigiOyIpO2U+PTAmJihjPWMuc3Vic3RyaW5nKDAsZSksZT1jLnN1YnN0cmluZyhlKzEpKSYmKGQ9LyhbXjBdKikoMCspKC4qKS8uZXhlYyhlKSxhPWRbMV0sZD1kWzNdKTtyZXR1cm4gYyYmYyE9IjAiPyhjPS8oW14wXSopKDArKSguKikvLmV4ZWMoYykpP3twbDpiKzEtKGNbMl0ubGVuZ3RoLTEpLHdtOmEseG06ZCxwcmVmaXg6Y1sxXSxzdWZmaXg6Y1szXX06c1I6c1J9Owp1Uj1mdW5jdGlvbihhKXtpZighaXNGaW5pdGUoYSkpcmV0dXJuIGE+MD9hOjA7Zm9yKHZhciBiPTA7KGEvPTEwKT49MTspYisrO3JldHVybiBifTtrUj1mdW5jdGlvbihhLGIpe2lmKCFhfHwhaXNGaW5pdGUoYSl8fGI9PTApcmV0dXJuIGE7YT1TdHJpbmcoYSkuc3BsaXQoImUiKTtyZXR1cm4gcGFyc2VGbG9hdChhWzBdKyJlIisocGFyc2VJbnQoYVsxXXx8MCwxMCkrYikpfTt2Uj1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZpc0Zpbml0ZShhKT9rUihNYXRoLnJvdW5kKGtSKGEsYikpLC1iKTphfTtsUj1mdW5jdGlvbihhLGIsYyl7aWYoIWEpcmV0dXJuIGE7Yj1iLXVSKGEpLTE7cmV0dXJuIGI8LWM/dlIoYSwtYyk6dlIoYSxiKX07emphPWZ1bmN0aW9uKGEpe3JldHVybiBhJTEwPT0xJiZhJTEwMCE9MTE/Im9uZSI6YSUxMD09MiYmYSUxMDAhPTEyPyJ0d28iOmElMTA9PTMmJmElMTAwIT0xMz8iZmV3Ijoib3RoZXIifTsKQWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YXwwO2lmKHZvaWQgMD09PWIpe2I9TWF0aDt2YXIgZD1iLm1pbjtsZXQgZT1hKyIiLGY9ZS5pbmRleE9mKCIuIik7Yj1kLmNhbGwoYixmPT09LTE/MDplLmxlbmd0aC1mLTEsMyl9ZD1NYXRoLnBvdygxMCxiKTthPXtGQjpiLGY6KGEqZHwwKSVkfTtyZXR1cm4gYz09MSYmYS5GQj09MD8ib25lIjoib3RoZXIifTt6Uj1mdW5jdGlvbihhKXt0aGlzLnY9YTt0aGlzLm89dGhpcy5qPXRoaXMuRD1udWxsO2E9ZFI7dmFyIGI9clI7aWYod1IhPT1hfHx4UiE9PWIpd1I9YSx4Uj1iLHlSPW5ldyBoUjt0aGlzLks9eVJ9OwpBUj1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgcD0wO3A8Yi5sZW5ndGg7cCsrKXt2YXIgZj12b2lkIDA7c3dpdGNoKGJbcF0udHlwZSl7Y2FzZSA0OmUucHVzaChiW3BdLnZhbHVlKTticmVhaztjYXNlIDM6Zj1iW3BdLnZhbHVlO3ZhciBoPWEsaz1lLGw9Y1tmXTtsPT09dm9pZCAwP2sucHVzaCgiVW5kZWZpbmVkIHBhcmFtZXRlciAtICIrZik6KGguai5wdXNoKGwpLGsucHVzaChoLkIoaC5qKSkpO2JyZWFrO2Nhc2UgMjpmPWJbcF0udmFsdWU7aD1hO2s9YztsPWQ7dmFyIG09ZSxuPWYuc2k7a1tuXT09PXZvaWQgMD9tLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK24pOihuPWZba1tuXV0sbj09PXZvaWQgMCYmKG49Zi5vdGhlciksQVIoaCxuLGssbCxtKSk7YnJlYWs7Y2FzZSAwOmY9YltwXS52YWx1ZTtCUihhLGYsYyxDUixkLGUpO2JyZWFrO2Nhc2UgMTpmPWJbcF0udmFsdWUsQlIoYSxmLGMsQmphLGQsZSl9fX07CkJSPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1iLnNpLGs9Yi5HbyxsPStjW2hdO2lzTmFOKGwpP2YucHVzaCgiVW5kZWZpbmVkIG9yIGludmFsaWQgcGFyYW1ldGVyIC0gIitoKTooaz1sLWssaD1iW2NbaF1dLGg9PT12b2lkIDAmJihkPWQoTWF0aC5hYnMoaykpLGg9YltkXSxoPT09dm9pZCAwJiYoaD1iLm90aGVyKSksYj1bXSxBUihhLGgsYyxlLGIpLGM9Yi5qb2luKCIiKSxlP2YucHVzaChjKTooYT1hLksuZm9ybWF0KGspLGYucHVzaChjLnJlcGxhY2UoLyMvZyxhKSkpKX07RWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ELGQ9YS5CLmJpbmQoYSk7Yj1iLnJlcGxhY2UoQ2phLGZ1bmN0aW9uKCl7Yy5wdXNoKCInIik7cmV0dXJuIGQoYyl9KTtyZXR1cm4gYj1iLnJlcGxhY2UoRGphLGZ1bmN0aW9uKGUsZil7Yy5wdXNoKGYpO3JldHVybiBkKGMpfSl9OwpEUj1mdW5jdGlvbihhKXt2YXIgYj0wLGM9W10sZD1bXSxlPS9be31dL2c7ZS5sYXN0SW5kZXg9MDtmb3IodmFyIGY7Zj1lLmV4ZWMoYSk7KXtsZXQgaD1mLmluZGV4O2ZbMF09PSJ9Ij8oYy5wb3AoKSxjLmxlbmd0aD09MCYmKGY9e3R5cGU6MX0sZi52YWx1ZT1hLnN1YnN0cmluZyhiLGgpLGQucHVzaChmKSxiPWgrMSkpOihjLmxlbmd0aD09MCYmKGI9YS5zdWJzdHJpbmcoYixoKSxiIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6Yn0pLGI9aCsxKSxjLnB1c2goInsiKSl9YT1hLnN1YnN0cmluZyhiKTthIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6YX0pO3JldHVybiBkfTsKSFI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPURSKGIpO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj17fTtpZigwPT1iW2VdLnR5cGUpZi50eXBlPTQsZi52YWx1ZT1iW2VdLnZhbHVlO2Vsc2UgaWYoMT09YltlXS50eXBlKXt2YXIgZD1iW2VdLnZhbHVlO3N3aXRjaChFUi50ZXN0KGQpPzA6RlIudGVzdChkKT8xOkdSLnRlc3QoZCk/MjovXlxzKlx3K1xzKi8udGVzdChkKT8zOjUpe2Nhc2UgMjpmLnR5cGU9MjtmLnZhbHVlPUZqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMDpmLnR5cGU9MDtmLnZhbHVlPUdqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMTpmLnR5cGU9MTtmLnZhbHVlPUhqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMzpmLnR5cGU9MyxmLnZhbHVlPWJbZV0udmFsdWV9fWMucHVzaChmKX1yZXR1cm4gY307CkZqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEdSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzL2csIiIpXT1oO2UrK31yZXR1cm4gZH07R2phPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiIsZD0wO2I9Yi5yZXBsYWNlKEVSLGZ1bmN0aW9uKGgsayxsKXtjPWs7bCYmKGQ9cGFyc2VJbnQobCwxMCkpO3JldHVybiIifSk7dmFyIGU9e307ZS5zaT1jO2UuR289ZDtiPURSKGIpO2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7KXtsZXQgaD1iW2ZdLnZhbHVlO2YrKztsZXQgazsxPT1iW2ZdLnR5cGUmJihrPUhSKGEsYltmXS52YWx1ZSkpO2VbaC5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWs7ZisrfXJldHVybiBlfTsKSGphPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Yj1iLnJlcGxhY2UoRlIsZnVuY3Rpb24oZixoKXtjPWg7cmV0dXJuIiJ9KTt2YXIgZD17fTtkLnNpPWM7ZC5Hbz0wO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzKig/Oj0pPyhcdyspXHMqLywiJDEiKV09aDtlKyt9cmV0dXJuIGR9O0lqYT1mdW5jdGlvbihhLGIpe3N3aXRjaChiKXtkZWZhdWx0OmNhc2UgInllYXJzIjpyZXR1cm4gYS5qLllFQVI7Y2FzZSAibW9udGhzIjpyZXR1cm4gYS5qLk1PTlRIO2Nhc2UgIndlZWtzIjpyZXR1cm4gYS5qLldFRUs7Y2FzZSAiZGF5cyI6cmV0dXJuIGEuai5EQVk7Y2FzZSAiaG91cnMiOnJldHVybiBhLmouSE9VUjtjYXNlICJtaW51dGVzIjpyZXR1cm4gYS5qLk1JTlVURTtjYXNlICJzZWNvbmRzIjpyZXR1cm4gYS5qLlNFQ09ORH19OwpJUj1mdW5jdGlvbihhLGIsYyl7YT1JamEoYSxjKTtyZXR1cm4oYT1hLkxPTkchPXZvaWQgMD9hLkxPTkc6YS5OQVJST1chPXZvaWQgMD9hLk5BUlJPVzphLlNIT1JUKT8obmV3IHpSKCJ7RFVSQVRJT05fVkFMVUUscGx1cmFsLCIrYSsifSIpKS5mb3JtYXQoe0RVUkFUSU9OX1ZBTFVFOmJ9KToiIn07SlI9ZnVuY3Rpb24oKXtfLkh6KCk7cmV0dXJuIV8uQ3ooMTQxKSYmXy53KCJBVVRPTkFWX09GRl9CWV9ERUZBVUxUIik/ITE6IV8uQ3ooMTQwKX07SmphPWZ1bmN0aW9uKCl7aWYoIUtSKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLnNrZWxldG9uIik7YSYmKF8uRGQoYSksS1I9ITApfX07TFI9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yj1uZXcgS2phKGJ8fGEsY3x8YSk7cmV0dXJue3g6YS54K0xqYShiLGQpKi4yLHk6YS55K01qYShiLGQpKi4yfX07TGphPWZ1bmN0aW9uKGEsYj0hMSl7cmV0dXJuIGI/YS5qKi0xOmEuan07Ck1qYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EubyotMTphLm99O01SPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEuZXJyb3JTY3JlZW4/LnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXI/P2EuZXJyb3JTY3JlZW4/LnlwY1RyYWlsZXJSZW5kZXJlcjtyZXR1cm4hKGEuc3RhdHVzIT09Ik9LIiYmYS5zdGF0dXMhPT0iTElWRV9TVFJFQU1fT0ZGTElORSIpfHwhIWJ9OwpRamE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsc3Vic2NyaWJlZDpiLGlzT3ZlcmxheTpjLHN0b3BQcm9wYWdhdGlvbjpkfSl7dmFyIGU9TmphKGEsYik7YyYmKGUuc3R5bGU9Im92ZXJsYXkiKTthOnN3aXRjaChhLnN0eWxlPy5zdHlsZVR5cGUpe2Nhc2UgIkNPTVBBQ1RfR1JBWSI6Y2FzZSAiQ09NUEFDVF9SRUQiOmM9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6Yz17c2l6ZToiTSJ9fWM9ey4uLmN9O3ZhciBmPU9qYShhLGIpO3ZhciBoPShoPWI/YS5zdWJzY3JpYmVkQnV0dG9uVGV4dDphLnVuc3Vic2NyaWJlZEJ1dHRvblRleHQpP18uQUYoaCk6dm9pZCAwO3JldHVybnsuLi5lLC4uLmMsZm9jdXNlZDohMSx0b2dnbGVkOmIsYWNjZXNzaWJpbGl0eUxhYmVsOmYsV2E6aCxvblRhcDpQamEoYSxiLGQpfX07ClBqYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1SamEoYSxiKTtpZihlKXtsZXQgZj17c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6YX07Xy5kSyhlLHtmb3JtOntjdXJyZW50RGF0YTpmLHNvdXJjZURhdGE6ZixldmVudDpkfX0pfWMmJmQuc3RvcFByb3BhZ2F0aW9uKCl9fTtSamE9ZnVuY3Rpb24oYSxiKXtpZihhLnNpZ25JbkVuZHBvaW50JiYhXy54KCJ3ZWJfc3Vic2NyaWJlX3NpZ25faW5fZW5kcG9pbnRfa2lsbHN3aXRjaCIpKXJldHVybiBhLnNpZ25JbkVuZHBvaW50O2lmKGIpe2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzFdO2lmKGEub25VbnN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblVuc3Vic2NyaWJlRW5kcG9pbnRzWzBdfWVsc2V7aWYoYS5zZXJ2aWNlRW5kcG9pbnRzKXJldHVybiBhLnNlcnZpY2VFbmRwb2ludHNbMF07aWYoYS5vblN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblN1YnNjcmliZUVuZHBvaW50c1swXX19OwpPamE9ZnVuY3Rpb24oYSxiKXtiPWI/YS51bnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDphLnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDtyZXR1cm4gYS5sb25nU3Vic2NyaWJlckNvdW50VGV4dD9bYixfLmFOKGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQpXS5maWx0ZXIoYz0+Yykuam9pbigiICIpOmJ9O05SPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ8fGE/LmlzQ2hhbm5lbERlbGVnYXRlPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9OwpOamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJNRURJVU1fR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9O2Nhc2UgIlZJU0lCTFlfRElTQUJMRUQiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6TlIoYSwhMCl9O2Nhc2UgIk9WRVJMQVkiOnJldHVybiBiP3tzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9O2RlZmF1bHQ6cmV0dXJuIGI/e3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9OntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZTpOUihhKX19fTsKUFI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ob3Vyc3x8MDt2YXIgYz1hLm1pbnV0ZXN8fDAsZD1hLnNlY29uZHN8fDA7Yj1kK2MqNjArYiozNjAwKyhhLmRheXN8fDApKjg2NDAwKyhhLndlZWtzfHwwKSo2MDQ4MDArKGEubW9udGhzfHwwKSoyNjI5ODAwKyhhLnllYXJzfHwwKSozMTU1NzYwMDtiPD0wP2I9e2hvdXJzOjAsbWludXRlczowLHNlY29uZHM6MH06KGE9YixiPU1hdGguZmxvb3IoYS8zNjAwKSxhJT0zNjAwLGM9TWF0aC5mbG9vcihhLzYwKSxkPU1hdGguZmxvb3IoYSU2MCksYj17aG91cnM6YixtaW51dGVzOmMsc2Vjb25kczpkfSk7dmFyIHtob3VyczplPTAsbWludXRlczpmPTAsc2Vjb25kczpoPTB9PWI7Yj1bXTtpZihlPjApe2M9T1IoKS5mb3JtYXQoe2hvdXJzOmV9KTtpZighImJlIGJnIGVzIGV0IGh1IGl0IGthIGx2IHBsIHB0LVBUIHNsIHNxIi5zcGxpdCgiICIpLmluY2x1ZGVzKFopfHxlPjk5OTkpe2E9Yy5yZXBsYWNlO2Q9ZS50b1N0cmluZygpO3ZhciBrPShuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLXUtbnUtbGF0biIpKS5mb3JtYXQoZSk7CnZhciBsPVsiZnIiXTtsZXQgbT0iYXogYnMgY2EgZGEgZGUgZWwgZXMgZXUgZ2wgaHIgaWQgaXMgaXQga20gbG8gbWsgbmwgcHQtQlIgcm8gc2wgc3Igc3ItTGF0biB0ciB2aSIuc3BsaXQoIiAiKTtrPSJhZiBiZSBiZyBjcyBldCBmaSBmci1DQSBodSBoeSBrYSBrayBreSBsdCBsdiBubyBwbCBwdC1QVCBydSBzayBzcSBzdiB1ayB1eiIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTAwYTAiKTpsLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIlx1MjAyZiIpOm0uaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiLiIpOms7Yz1hLmNhbGwoYyxkLGspO1o9PT0ia20iJiYoYz1jLnJlcGxhY2UoIi4iLCIsIikpfWIucHVzaChjKX1mPjAmJmIucHVzaChPUigpLmZvcm1hdCh7bWludXRlczpmfSkpOyhoPjB8fGU9PT0wJiZmPT09MCkmJmIucHVzaChPUigpLmZvcm1hdCh7c2Vjb25kczpofSkpO2M9ImJlIGd1IGphIGtrIGttIGtvIG1uIHJ1IHRyIHV6IHpoLUhLIHpoLVRXIi5zcGxpdCgiICIpOwphPVo9PSJhbSI/InswfVx1MTM2MyAiOlo9PSJmYSI/InswfVx1MDYwY1x1MjAwZiAiOlo9PSJteSI/InswfSAtICI6Wj09InRoIj8iezB9ICI6Wj09InVyIj8iezB9XHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iezB9XHUzMDAxIjoiezB9LCAiO2Q9Wj09ImFtIj8iXHUxMzYzICI6Wj09ImZhIj8iXHUwNjBjXHUyMDBmICI6Wj09Im15Ij8iIC0gIjpaPT0idGgiPyIgIjpaPT0idXIiPyJcdTA2MGMgIjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4IjpaPT0iamEifHxaPT0iemgtQ04ifHxaPT0iemgtSEsifHxaPT0iemgtVFciPyJcdTMwMDEiOiIsICI7az1aPT0iYW0iPyIgXHUxMmE1XHUxMjkzIHswfSI6Wj09ImFzIj8iIFx1MDk4Nlx1MDlmMFx1MDljMSB7MH0iOlo9PSJheiI/IiB2XHUwMjU5IHswfSI6Wj09ImJuIj8iIFx1MDk4Zlx1MDlhY1x1MDk4MiB7MH0iOlo9PSJjcyI/CiIgYVx1MDBhMHswfSI6Wj09ImRlIj8iIHVuZCB7MH0iOlo9PSJlbCI/IiBcdTAzYmFcdTAzYjFcdTAzYjkgezB9IjpaPT0iZXUiPyIgZXRhIHswfSI6Wj09ImZhIj8iXHUwNjBjIFx1MDY0OCB7MH0iOlo9PSJmaWwiPyIsIGF0IHswfSI6Wj09Imd1Ij8iIFx1MGE4NVx1MGFhOFx1MGFjNyB7MH0iOlo9PSJoaSI/IiwgXHUwOTE0XHUwOTMwIHswfSI6Wj09Imh1Ij8iIFx1MDBlOXMgezB9IjpaPT0iaHkiPyIgXHUwNTg3IHswfSI6Wj09ImlkIj8iLCBkYW4gezB9IjpaPT0iaXciPyIgXHUwNWQ1LXswfSI6Wj09ImphIj8iXHUzMDAxezB9IjpaPT0ia2EiPyIgXHUxMGQzXHUxMGQwIHswfSI6Wj09ImttIj8iIFx1MTc5M1x1MTdiN1x1MTc4NCB7MH0iOlo9PSJrbiI/IiwgXHUwY2FlXHUwY2E0XHUwY2NkXHUwY2E0XHUwY2MxIHswfSI6Wj09ImtvIj8iIFx1YmMwZiB7MH0iOlo9PSJreSI/IiBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzAgezB9IjpaPT0ibHQiPyIgaXIgezB9IjpaPT0ibHYiPwoiIHVuIHswfSI6Wj09Im1yIj8iIFx1MDkwNlx1MDkyM1x1MDkzZiB7MH0iOlo9PSJtcyI/IiBkYW4gezB9IjpaPT0ibXkiPyJcdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezB9IjpaPT0ibmUiPyIgXHUwOTMwIHswfSI6Wj09Im9yIj8iLCBcdTBiMTMgezB9IjpaPT0icGEiPyIgXHUwYTA1XHUwYTI0XHUwYTQ3IHswfSI6Wj09InJvIj8iIFx1MDIxOWkgezB9IjpaPT0ic2kiPyIsIFx1MGRjM1x1MGRjNCB7MH0iOlo9PSJzayI/IiBhIHswfSI6Wj09InNsIj8iIGluIHswfSI6Wj09InNxIj8iIGRoZSB7MH0iOlo9PSJzdiI/IiBvY2ggezB9IjpaPT0ic3ciPyIgbmEgezB9IjpaPT0idGEiPyIgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHswfSI6Wj09InRlIj8iIFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MH0iOlo9PSJ0aCI/IiBcdTBlNDFcdTBlMjVcdTBlMzB7MH0iOlo9PSJ0ciI/IiB2ZSB7MH0iOlo9PSJ1ciI/Ilx1MDYwYyBcdTA2MjdcdTA2NDhcdTA2MzEgezB9IjoKWj09InV6Ij8iIHZhIHswfSI6Wj09InZpIj8iIHZcdTAwZTAgezB9IjpaPT0iemgtSEsiPyJcdTUzY2F7MH0iOlo9PSJ6dSI/IiwgbmUtezB9IjpaPT0iYWYifHxaPT0ibmwiPyIgZW4gezB9IjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4ezB9IjpaPT0iYmUifHxaPT0idWsiPyIgXHUwNDU2IHswfSI6Wj09ImVuLUdCInx8Wj09ImVuLUlOIj8iIGFuZCB7MH0iOlo9PSJlbiJ8fFo9PSJlbi1YQSI/IiwgYW5kIHswfSI6Wj09ImV0Inx8Wj09ImZpIj8iIGphIHswfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iIGV0IHswfSI6Wj09InpoLUNOInx8Wj09InpoLVRXIj8iXHU1NDhjezB9IjpaPT0iZGEifHxaPT0iaXMifHxaPT0ibm8iPyIgb2cgezB9IjpaPT0iZXMifHxaPT0iZXMtNDE5Inx8Wj09ImVzLVVTIj8iIHkgezB9IjpaPT0iYmcifHxaPT0ibWsifHxaPT0icnUifHxaPT0ic3IiPyIgXHUwNDM4IHswfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iIGUgezB9IjoKWj09ImtrInx8Wj09ImxvInx8Wj09Im1sInx8Wj09Im1uIj8iLCB7MH0iOiIgaSB7MH0iO2w9Wj09ImFtIj8iezB9IFx1MTJhNVx1MTI5MyB7MX0iOlo9PSJhcyI/InswfSBcdTA5ODZcdTA5ZjBcdTA5YzEgezF9IjpaPT0iYXoiPyJ7MH0gdlx1MDI1OSB7MX0iOlo9PSJibiI/InswfSBcdTA5OGZcdTA5YWNcdTA5ODIgezF9IjpaPT0iZGUiPyJ7MH0gdW5kIHsxfSI6Wj09ImVsIj8iezB9IFx1MDNiYVx1MDNiMVx1MDNiOSB7MX0iOlo9PSJldSI/InswfSBldGEgezF9IjpaPT0iZmEiPyJ7MH0gXHUwNjQ4IHsxfSI6Wj09ImZpbCI/InswfSBhdCB7MX0iOlo9PSJndSI/InswfSBcdTBhODVcdTBhYThcdTBhYzcgezF9IjpaPT0iaGkiPyJ7MH0gXHUwOTE0XHUwOTMwIHsxfSI6Wj09Imh1Ij8iezB9IFx1MDBlOXMgezF9IjpaPT0iaHkiPyJ7MH0gXHUwNTg3IHsxfSI6Wj09Iml3Ij8iezB9IFx1MDVkNS17MX0iOlo9PSJqYSI/InswfVx1MzAwMXsxfSI6Wj09ImthIj8iezB9IFx1MTBkM1x1MTBkMCB7MX0iOgpaPT0ia2siPyJ7MH0gXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IHsxfSI6Wj09ImttIj8iezB9IFx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYnsxfSI6Wj09ImtuIj8iezB9IFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MX0iOlo9PSJrbyI/InswfSBcdWJjMGYgezF9IjpaPT0ia3kiPyJ7MH0gXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHsxfSI6Wj09ImxvIj8iezB9IFx1MGVjMVx1MGVhNVx1MGViMCB7MX0iOlo9PSJsdCI/InswfSBpciB7MX0iOlo9PSJsdiI/InswfSB1biB7MX0iOlo9PSJtciI/InswfSBcdTA5MDZcdTA5MjNcdTA5M2YgezF9IjpaPT0ibXkiPyJ7MH1cdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezF9IjpaPT0ibmUiPyJ7MH0gXHUwOTMwIHsxfSI6Wj09Im9yIj8iezB9IFx1MGIxMyB7MX0iOlo9PSJwYSI/InswfSBcdTBhMDVcdTBhMjRcdTBhNDcgezF9IjpaPT0icm8iPyJ7MH0gXHUwMjE5aSB7MX0iOlo9PSJzaSI/InswfSBcdTBkYzNcdTBkYzQgezF9IjoKWj09InNsIj8iezB9IGluIHsxfSI6Wj09InNxIj8iezB9IGRoZSB7MX0iOlo9PSJzdiI/InswfSBvY2ggezF9IjpaPT0ic3ciPyJ7MH0gbmEgezF9IjpaPT0idGEiPyJ7MH0gXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHsxfSI6Wj09InRlIj8iezB9IFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MX0iOlo9PSJ0aCI/InswfVx1MGU0MVx1MGUyNVx1MGUzMHsxfSI6Wj09InRyIj8iezB9IHZlIHsxfSI6Wj09InVyIj8iezB9IFx1MDYyN1x1MDY0OFx1MDYzMSB7MX0iOlo9PSJ1eiI/InswfSB2YSB7MX0iOlo9PSJ2aSI/InswfSB2XHUwMGUwIHsxfSI6Wj09InpoLUhLIj8iezB9XHU1M2NhezF9IjpaPT0ienUiPyJ7MH0gbmUtezF9IjpaPT0iYWYifHxaPT0ibmwiPyJ7MH0gZW4gezF9IjpaPT0iYXIifHxaPT0iYXItWEIiPyJ7MH0gXHUwNjQ4ezF9IjpaPT0iYmUifHxaPT0idWsiPyJ7MH0gXHUwNDU2IHsxfSI6Wj09ImNzInx8Wj09InNrIj8iezB9IGFcdTAwYTB7MX0iOgpaPT0iZXQifHxaPT0iZmkiPyJ7MH0gamEgezF9IjpaPT0iZnIifHxaPT0iZnItQ0EiPyJ7MH0gZXQgezF9IjpaPT0iaWQifHxaPT0ibXMiPyJ7MH0gZGFuIHsxfSI6Wj09Im1sInx8Wj09Im1uIj8iezB9LCB7MX0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/InswfVx1NTQ4Y3sxfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iezB9IG9nIHsxfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/InswfSB5IHsxfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iezB9IFx1MDQzOCB7MX0iOlo9PSJlbiJ8fFo9PSJlbi1HQiJ8fFo9PSJlbi1JTiJ8fFo9PSJlbi1YQSI/InswfSBhbmQgezF9IjpaPT0iZ2wifHxaPT0iaXQifHxaPT0icHQtQlIifHxaPT0icHQtUFQiPyJ7MH0gZSB7MX0iOiJ7MH0gaSB7MX0iO1o9PT0ic3EiPyhrPWsucmVwbGFjZSgiZGhlIiwiZSIpLGw9bC5yZXBsYWNlKCJkaGUiLCJlIikpOlo9PT0idGgiPyhkPWQucmVwbGFjZSgiezB9IiwKIiB7MH0iKSxsPWwucmVwbGFjZSgiezB9IiwiezB9ICIpLGw9bC5yZXBsYWNlKCJ7MX0iLCIgezF9IikpOlo9PT0ibmUiP2Q9IiwiOlo9PT0iemgtQ04iP2Q9IiI6Yy5pbmNsdWRlcyhaKSYmKGQ9IiAiKTtyZXR1cm4gYi5sZW5ndGg8Mj9iLmpvaW4oIiIpOiJhbSBhciBiZyBicyBjYSBjcyBkYSBlcyBlcy00MTkgZXMtVVMgZXUgZmEgZmkgZnItQ0EgZnIgZ2wgZ3UgaGkgaHIgaHUgaHkgaXMgaXQgbHQgbHYgbWsgbXkgbm8gbmwgcGwgcHQtQlIgcHQtUFQgcm8gc2kgc2wgc3Egc3ItTGF0biBzciBzdyB0aCB1ayIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9iLmxlbmd0aD09PTI/bC5yZXBsYWNlKCJ7MH0iLGJbMF0pLnJlcGxhY2UoInsxfSIsYlsxXSk6YS5yZXBsYWNlKCJ7MH0iLGJbMF0pK2Iuc2xpY2UoMSwtMSkuam9pbihkKStrLnJlcGxhY2UoInswfSIsYltiLmxlbmd0aC0xXSk6Yi5qb2luKGQpfTtPUj1mdW5jdGlvbigpe1FSfHwoQ1I9U2phLFFSPW5ldyBUamEpO3JldHVybiBRUn07ClVqYT1mdW5jdGlvbigpe0pRKCkoe3RxOiEwfSk7SlEoKSh7dHE6ITF9KX07V2phPWZ1bmN0aW9uKGEpe3ZhciBiPV8uV0QoKCk9PmEuZ2V0RGVidWdUZXh0KCEwKSk7YiYmXy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFZqYSx7ZnY6Yn0pfSl9O1JSPWZ1bmN0aW9uKGEsYil7aWYoYilhPWEuZ2V0VmlkZW9VcmwoKTtlbHNle2E9YS5nZXRQbGF5ZXJSZXNwb25zZSgpLnZpZGVvRGV0YWlscz8udmlkZW9JZDtpZighYSlyZXR1cm47YT1gaHR0cHM6Ly95b3V0dS5iZS8ke2F9YH1hJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhKX07ClhqYT1mdW5jdGlvbihhLGIsYyxkKXtfLnlOKHtHYjooKT0+Xy5LKF8uSUIsbnVsbCxTUihhLGIpLF8uSyhfLk8se0E6KCk9PmQmJmMsdGhlbjooKT0+Xy5LKFRSLHtIOmEsdGE6Y30pfSksXy5LKFVSLHtIOmF9KSxfLksoVlIse0g6YX0pLF8uSyhXUix7SDphfSksXy5LKFlSLHtIOmF9KSxfLksoWlIse0g6YX0pLF8uSygkUix7SDphfSksXy5LKGFTLHtIOmF9KSxfLksoYlMse0g6YX0pKSxIYTohMH0pfTtTUj1mdW5jdGlvbihhLGIpe3JldHVybiBfLksoXy5PLHtBOigpPT5fLnRQKCksdGhlbjooKT0+Xy5LKF8uTlAsbnVsbCksVzooKT0+Xy5LKF8uTyx7QTooKT0+IWIsdGhlbjooKT0+Xy5LKGNTLHtIOmF9KX0pfSl9O2RTPWZ1bmN0aW9uKGEsYil7Xy55Tih7R2I6YixIYTohMH0pO2Euc3RvcFByb3BhZ2F0aW9uKCl9O2VTPWZ1bmN0aW9uKGEpe2E9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV0+Mn07ZlM9ZnVuY3Rpb24oYSl7cmV0dXJue2J1dHRvblZpZXdNb2RlbDp7YWNjZXNzaWJpbGl0eVRleHQ6YX19fTsKZ1M9ZnVuY3Rpb24oYSxiKXtiPWE9PT0xMDA/WWphOmE9PT1iP1pqYTp2b2lkIDA7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6e3BsYXliYWNrU3BlZWRCdXR0b246e2J1dHRvblZpZXdNb2RlbDp7dGl0bGU6YCR7YS8xMDB9eGAsc3R5bGU6IkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iLHR5cGU6IkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiLGJ1dHRvblNpemU6IkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCIsaWNvblRyYWlsaW5nOiEwfX0sYnV0dG9uTGFiZWw6e2NvbnRlbnQ6Yn0scGxheWJhY2tTcGVlZEJ1dHRvbkNlbnRpVmFsdWU6YX19fTsKZGthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpO2lmKGIpe2hTfHwoaFM9Xy54TSgpKTt2YXIgYz1lUyhhKT8kamE6YWthO2lmKCFoUz8uZ2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIil8fGIhPT0xKXJldHVybiBjLm1hcChlPT5nUyhlKSk7dmFyIGQ9TnVtYmVyKGhTLmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpKTtpZihjLmluY2x1ZGVzKGQpKXJldHVybiBjLm1hcChlPT5nUyhlLGQpKTthPWVTKGEpP2JrYS5zbGljZSgpOmNrYS5zbGljZSgpO2EucHVzaChkKTthLnNvcnQoKGUsZik9PmUtZik7cmV0dXJuIGEubWFwKGU9PmdTKGUsZCkpfX19Owppa2E9ZnVuY3Rpb24oYSl7aWYoYT8uaXNSZWFkeT8uKCkpe3ZhciBiPWEuZ2V0UGxheWJhY2tSYXRlKCksYz1hLmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKTtpZihiJiZjKXt2YXIgZD1jW2MubGVuZ3RoLTFdKjEwMDtjPWNbMF0qMTAwO2I9e2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6e21heFZhbHVlOmQsbWluVmFsdWU6Yyxpbml0aWFsVmFsdWU6YioxMDAsc3RlcENvdW50OihkLWMpLzUsdmFsdWVEZW5vbWluYXRvcjoxMDAsaW5jcmVhc2VCdXR0b246ZlMoZWthKSxkZWNyZWFzZUJ1dHRvbjpmUyhma2EpLHJlbmRlcmVyQ29udGV4dDp7YWNjZXNzaWJpbGl0eUNvbnRleHQ6e2xhYmVsOmdrYX19fX07YT1ka2EoYSk7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOntzbGlkZXI6YixwbGF5YmFja1NwZWVkQnV0dG9uczphLGJhZGdlOntiYWRnZVZpZXdNb2RlbDp7YmFkZ2VUZXh0OiJQIixiYWRnZVN0eWxlOiJCQURHRV9QUkVNSVVNIixhY2Nlc3NpYmlsaXR5TGFiZWw6aGthfX19fX19fTsKaVM9ZnVuY3Rpb24oYSl7aFN8fChoUz1fLnhNKCkpO2hTJiZoUy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtra2E9ZnVuY3Rpb24oYSl7dmFyIGI9aWthKGEpLGM9Xy5CKGIsamthKTtjJiZfLnlOKHtIYTohMCxwZjohMCxHYjooKT0+Xy5LKF8ua08se2RhdGE6YyxwejpkPT57YS5zZXRQbGF5YmFja1JhdGUoZC50YXJnZXQudmFsdWVBc051bWJlcil9LG96OmQ9PntpUyhkLnRhcmdldC52YWx1ZUFzTnVtYmVyKX0scXo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQpO2QhPT0xJiZpUyhkKTtfLnpOKCl9fSl9KX07alM9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9bGthW2FdKT9gJHthfXBgOm1rYX07a1M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldEKCgpPT5hLmdldFBsYXliYWNrUXVhbGl0eSgpKSxkPV8uV0QoKCk9PmEuZ2V0UHJlZmVycmVkUXVhbGl0eSgpKSxlPWpTKGIpO2I9PT0iYXV0byImJmQ9PT0iYXV0byImJihlKz1gICgke2pTKGMpfSlgKTtyZXR1cm4gZX07Cm9rYT1mdW5jdGlvbihhKXtfLnlOKHtHYjooKT0+Xy5LKG5rYSx7SDphfSksSGE6ITB9KX07cFM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLF8uSyhsUyx7SDpifSksXy5LKG1TLHtIOmJ9KSxfLksocGthLHtIOmJ9KSxfLksoXy5PLHtBOigpPT5iLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk/Lmxlbmd0aCx0aGVuOigpPT5fLksoblMse0g6Yn0pfSksXy5LKG9TLHtIOmIsb2g6Yyx0YTpkLHRBOmV9KSkpfTtxa2E9ZnVuY3Rpb24oYSxiLGMpe2RTKGEsKCk9Pl8uSyhfLklCLG51bGwsU1IoYixjKSkpfTsKcmthPWZ1bmN0aW9uKGEpe18ublAoKTtpZihhLnhjKWlmKGEuY2FwdGlvbnNFbmFibGVkKXFTKF8uJE4uU3MpO2Vsc2V7dmFyIGI9YS5IO2lmKGIpe2lmKGE9UFEoYiksYj1OUShiKSliOntpZihiLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJihhPWIudHJhbnNsYXRpb25MYW5ndWFnZT9iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8IiI6IiIpKWJyZWFrIGI7YT1iLmRpc3BsYXlOYW1lfX1lbHNlIGE9IiI7cVMoYT9fLiROLlVzLnJlcGxhY2UoImxhbmd1YWdlX3BsYWNlaG9sZGVyIixhKTpfLiROLlRzKX1lbHNlIHFTKF8uJE4uUnMpfTtxUz1mdW5jdGlvbihhKXtfLnBQKCgpPT5hKX07c2thPWZ1bmN0aW9uKGEsYil7dmFyIGM9clMoYSk7YT1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthPXsuLi5zUyhhKSxFZTohMH07cmV0dXJue3RhOmMsYmE6YSxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9fTsKdGthPWZ1bmN0aW9uKGEsYil7dmFyIGM9amphKCksZD17Li4uclMoYSksU2o6Zj0+e3ZhciBoPSF0UygpLGs9YS5pc1JlYWR5Py4oKSYmISFhLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmF1dG9wbGF5O3BTKGYsYSxoLGQsayl9LGRlOigpPT57dmFyIGY9Yz8uZ2V0KCJhdXRvbmF2X2VuYWJsZWQiKTtyZXR1cm4gZj09PXZvaWQgMHx8Zj09PSJ0cnVlIn0sUmo6KGYsaCk9PntoJiZjPy5zZXQoImF1dG9uYXZfZW5hYmxlZCIsU3RyaW5nKGYpKX0sVWw6KCk9PmM/LmdldCgiYXV0b25hdl9lbmFibGVkIikhPT12b2lkIDB9LGU9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7ZT17Li4uc1MoZSksdnY6MzUwLHp2OiEwLE1sOjRFMyxoaWRlVmlkZW9JbmZvOmUuaGlkZUluZm99O3JldHVybnt0YTpkLGJhOmUsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnJTPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLGM9Z2phLGQ9VFEsZT1TUTtpZihiPy5lbWJlZHNIb3N0RmxhZ3M/LmFsbG93U2V0RmF1eEZ1bGxzY3JlZW4mJmI/LmV4dGVybmFsRnVsbHNjcmVlbil7bGV0IGY9bmV3IHVrYShhKTtjPSgpPT5mLmlzRnVsbHNjcmVlbigpO2Q9KCk9PntmLnRvZ2dsZUZ1bGxzY3JlZW4oKX07ZT0oKT0+e2YuZXhpdEZ1bGxzY3JlZW4oKX19cmV0dXJue1NqOmY9Pnt2YXIgaD0hdFMoKTthPy5nZXRTaXplKCk/LndpZHRoPDMyMD9xa2EoZixhLGgpOnBTKGYsYSxoKX0scUE6cmthLGlzRnVsbHNjcmVlbjpjLHRvZ2dsZUZ1bGxzY3JlZW46ZCxleGl0RnVsbHNjcmVlbjplLGRlOigpPT4hMSxSajooKT0+e30sVWw6KCk9PiExfX07CnNTPWZ1bmN0aW9uKGEpe3JldHVybntFZTohMCxNaTohMCxNbDpfLngoImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSIpPzRFMzp2b2lkIDAsaXE6YS5kaXNhYmxlRnVsbHNjcmVlbixuaDphLmNvbnRyb2xzVHlwZT09PTAsb2g6IXRTKCksaGlkZVZpZGVvSW5mbzphLmhpZGVJbmZvJiZhLmVtYmVkc0hvc3RGbGFncz8ub3B0T3V0QXBpRGVwcmVjYXRpb24sdWo6ITAsRHo6IV8ueCgiZW1iZWRzX2VtYzNkc19wcmVzZXJ2ZV9mdWxsc2NyZWVuX2tzIiksenI6ITAsckE6ITAsWmg6ITAsdm46ITAsWkE6IV8ueCgiZW1iZWRzX2VtYzNkc19mdGxfa3MiKSx2b2x1bWVDb250cm9sVHlwZTpfLngoImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIikmJndpbmRvdy5tYXRjaE1lZGlhKCIoYW55LXBvaW50ZXI6IGZpbmUpIikubWF0Y2hlcz8idm9sdW1lLXNsaWRlciI6Im11dGUtYnV0dG9uIn19Owp0Uz1mdW5jdGlvbigpe3JldHVybiBfLnRQKCl8fF8ucXooKSYmIV8udygiUExBWUVSX1ZBUlMiKT8ucHJpdmVtYmVkJiYhKF8uZXImJl8uTWsoInZlcnNpb24vIikpJiYhXy5yeigpfTt1Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5wbGF5ZXJTdGF0ZT09PTB9O3dTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/dlMoYSk/RFEoYS5DYS9hLnZpZGVvRHVyYXRpb24sMCwxKTpEUSgoYS52YXx8MCkvYS52aWRlb0R1cmF0aW9uLDAsMSk6MH07eFM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudmlkZW9EdXJhdGlvbj9hLmlzRHJhZ2dpbmd8fHZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3ZTPWZ1bmN0aW9uKGEpe3JldHVybiBhLktiPjEmJmEuSmQhPT0wfTsKeVM9ZnVuY3Rpb24oYSl7cmV0dXJuKF8ueCgid2ViX2VuYWJsZV9kaWJzX2ltcGxlbWVudGF0aW9uIil8fF8ueCgibXdlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpKSYmYS5IPy5nZXRWaWRlb0RhdGEoYS5wbGF5ZXJUeXBlKT8uaXNTZWVrYWJsZXx8YS5wbGF5ZXJUeXBlPT09MT8hMTphLmJhPy5aaD8hYS5IPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdChhLnBsYXllclR5cGUpLmlzRG9tUGF1c2VkOiEwfTt6Uz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmF1dG9uYXZUb2dnbGUsdmthKX07QVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXl9O0JTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXJ9OwpFUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5ZXJCYXIsRFMpfTtGUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+Yi5rZXk9PT0iSEVBVFNFRUtFUiIpPy52YWx1ZT8uaGVhdG1hcCx3a2EpfTtDUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyLHhrYSl9O0dTPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoQ1MoYSk/LnBsYXloZWFkLHlrYSl9O3prYT1mdW5jdGlvbihhKXtyZXR1cm4hIWE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+WyJERVNDUklQVElPTl9DSEFQVEVSUyIsIkFVVE9fQ0hBUFRFUlMiXS5pbmNsdWRlcyhiLmtleSkpfTtKUz1mdW5jdGlvbihhLGIpe3JldHVybiBIUyhhLGIpfHxJUyhhKT8hMTohYS5pc0RyYWdnaW5nJiYhdlMoYSkmJiFhLnNiJiZhLkxmIT09Im9uIn07CkhTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWEuYXV0b25hdkVuYWJsZWR8fGEueGZ8fCFifHxhLnJjfHxhLmlzUGxheWxpc3QmJmI/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvPyExOnVTKGEpfTtDa2E9ZnVuY3Rpb24oYSxiKXtiPWI/LmFjdGlvbkJhckJ1dHRvbnM7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlbkVuZ2FnZW1lbnQsQWthKT8uYWN0aW9uQmFyLEJrYSk/LmFjdGlvbkJhckJ1dHRvbnN8fGJ8fFtdfTtMUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKF8uQihhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8uZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50LERrYSl9OwpNUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0c3x8W119O05TPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/YS52aWRlb0RldGFpbHM/LmVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyOl8uQihiPy52aWRlb0RldGFpbHMsRWthKX07UFM9ZnVuY3Rpb24oYSxiKXtiPV8uQihiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uaW5mb1BhbmVsLE9TKTtyZXR1cm4gXy5CKGE/LmluZm9QYW5lbCxPUyl8fGJ9O0lTPWZ1bmN0aW9uKGEpe3JldHVybiBhLk5hPyEwOmEuSmYhPT0wfTsKRmthPWZ1bmN0aW9uKHtlbGVtZW50OmEsdmVUeXBlOmIsTEE6Yz1udWxsLGVsZW1lbnRJbmRleDpkPTAsY2xpZW50WW91VHViZURhdGE6ZX0pe3ZhciBmPV8uaXEoKTtmIT09UVMmJihSUy5jbGVhcigpLFFTPWYpO2lmKGEudmlzdWFsRWxlbWVudCYmUlMuaGFzKGEudmlzdWFsRWxlbWVudCkpcmV0dXJuIG51bGw7aWYoYyYmUlMuaGFzKGMpKXJldHVybiBhLnZpc3VhbEVsZW1lbnQ9YyxudWxsO2I9Xy5FeChfLmh4KCkse3ZlVHlwZTpiLGVsZW1lbnRJbmRleDpkLGNsaWVudFlvdVR1YmVEYXRhOmV9KTtpZighYilyZXR1cm4gbnVsbDthLnZpc3VhbEVsZW1lbnQ9YjtSUy5hZGQoYik7cmV0dXJuIGJ9OwpTUz1mdW5jdGlvbihhLGIsYz1udWxsLGQ9Xy5OTixlPW51bGwsZixoKXt2YXIgaz0oKT0+e2lmKGIpe2MgaW5zdGFuY2VvZiBGdW5jdGlvbiYmKGM9YygpKTt2YXIgbD1Ga2Eoe2VsZW1lbnQ6Yix2ZVR5cGU6YSxMQTpjLGNsaWVudFlvdVR1YmVEYXRhOmZ9KTtsJiYoXy5KeChiLHtkYXRhOmUsb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pLGQobCkpfX07aD9rKCk6Xy5PRSgoKT0+e2soKX0pfTtHa2E9ZnVuY3Rpb24oYSl7U1MoMTEyMzk0LGEsKCk9PlRTLGI9PntUUz1ifSl9OwpVUz1mdW5jdGlvbihhKXt2YXIgYj1UUyxjPV8uaXEoMCk7aWYoYyYmYil7dmFyIGQ9TWF0aC5yb3VuZChhLnZhKjFFMyk7YT1NYXRoLnJvdW5kKGEuQ2EqMUUzKTtkPjIqKjMxLTF8fGE+MioqMzEtMXx8Xy5WaShfLmV4KSh2b2lkIDAsYyxiLCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIix7c2Vla0RhdGE6e3N0YXJ0TWVkaWFUaW1lTXM6U3RyaW5nKGQpLGVuZE1lZGlhVGltZU1zOlN0cmluZyhhKSxzZWVrU291cmNlOiJTRUVLX1NPVVJDRV9TTElERV9PTl9TQ1JVQkJFUl9CQVIifX0sdm9pZCAwKX19O1dTPWZ1bmN0aW9uKGEsYixjKXtTUyhiLGEsKCk9PlZTW2JdLGQ9PntWU1tiXT1kO18uSk8oZCl9LHZvaWQgMCx2b2lkIDAsYyl9O1hTPWZ1bmN0aW9uKGEpeyhhPVZTW2FdKSYmXy53SihfLmh4KCksYSl9O0hrYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KDApLGM9Xy5pcSgwKTtjJiZiJiZhJiZfLlZpKF8uYngpKHZvaWQgMCxjLGIsYSl9OwpZUz1mdW5jdGlvbihhKXt2YXIgYj1fLmlxKDApO2ImJmEmJl8ueUooYixhKX07WlM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApfTskUz1mdW5jdGlvbihhLGIpe2lmKCFhLmJhPy5aaHx8IWEuSClyZXR1cm4hMTthPWEuSC5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiBhLmlzRXJyb3J8fGImJiFNUihiKT8hMTphLmlzQ3VlZHx8YS5pc0RvbVBhdXNlZH07Y1Q9ZnVuY3Rpb24oYSxiKXthVCYmIWI/LkljfHxhLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PS0xfHx1UyhhKXx8YS5wbGF5ZXJTdGF0ZT09PTV8fChiPy5JYyYmYlQoKSxhVD1zZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMX0pfSxhLmJhPy5NbD8/MkUzKSl9O2JUPWZ1bmN0aW9uKCl7YVQmJihjbGVhclRpbWVvdXQoYVQpLGFUPXZvaWQgMCl9O0lrYT1mdW5jdGlvbihhKXthVD1hfTsKZFQ9ZnVuY3Rpb24oYSl7cmV0dXJue2lzTGl2ZTohMSxpc0xpdmVEdnJFbmFibGVkOiEwLGlzUGxheWxpc3Q6ITEscGxheWVyVHlwZToxLHlxOiExLHZpZGVvSWQ6dm9pZCAwLGNhcHRpb25zRW5hYmxlZDohMSx4YzohMSx2b2x1bWU6MCxyYzohMCxKZjowLFJ4OiExLHNiOiExLFdkOiExLE5hOiExLGlzRnVsbHNjcmVlbjohMSxLYjowLHloOjAsSmQ6MCx4ZjohMSxhdXRvbmF2RW5hYmxlZDohMSx6ZjohMSx5ZjowLFloOiExLGlzRHJhZ2dpbmc6ITEsQ2E6MCxRYzohMSxkajowLFFtOjAscGxheWVyU3RhdGU6YT8uZ2V0UGxheWVyU3RhdGUoKT8/LTEsdmlkZW9EdXJhdGlvbjowLHZhOjAsT246ITEsamU6dm9pZCAwLHBsYXliYWNrUmF0ZToxLGVhOiExLHliOiExLGdlOiExLExmOiJvZmYiLFpyOjAsTHA6MCxZdjowfX07SmthPWZ1bmN0aW9uKGEpe2FUJiZiVCgpO0lrYShzZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMSx5YjohMX0pfSwyRTMpKX07CktrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSD8uZ2V0UGxheWVyU3RhdGUoKTshY3x8Yz09PWIucGxheWVyU3RhdGV8fGMhPT0xJiZjIT09Mnx8KGMmJihjPT09Mj9iLmVhPyhiLlMoe3liOiExfSksYlQoKSk6Yi5TKHtlYTohMCx5YjohMX0pOmM9PT0xJiZiLmVhJiYhYi5pc0RyYWdnaW5nJiYoYi55Yj9Ka2EoYik6Yi5TKHtlYTohMSx5YjohMX0pKSksYi5TKHtwbGF5ZXJTdGF0ZTpjfSkpfX07TGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5ILGU9ZD8uZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZSE9PWMudmlkZW9JZCYmYj8udHlwZT09PSJuZXdkYXRhIiYmKGI9ZD8uZ2V0RHVyYXRpb24oYj8ucGxheWVydHlwZSksYlQoKSxjLlMoe3ZpZGVvRHVyYXRpb246Yix2YTowLHZpZGVvSWQ6ZSxlYTohMSx5YjohMX0pKX19OwpNa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCl7dmFyIGU9ZC5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpO18ueCgid2ViX3Nob3J0c191c2VfcHJvZ3Jlc3Nfc3RhdGVfZm9yX2dhcGxlc3MiKT8oZD1kLmdldFByb2dyZXNzU3RhdGUoZSksZD1kLnNlZWthYmxlRW5kLWQuc2Vla2FibGVTdGFydCk6ZD1kLmdldER1cmF0aW9uKGUpO2MuUyh7dmE6Yix2aWRlb0R1cmF0aW9uOmR9KX19fTtnVD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybltdO2E9YS5tYXJrZXJzTWFwPy5maW5kKGM9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYy5rZXkpKT8udmFsdWU/LmNoYXB0ZXJzfHxbXTsoYS5sZW5ndGg9PT0wPzA6Xy5CKGFbMF0sZVQpPy50aW1lUmFuZ2VTdGFydE1pbGxpcyE9PTApJiYhYj8ubngmJihhPVtmVCgpLC4uLmFdKTtyZXR1cm4gYX07ZlQ9ZnVuY3Rpb24oKXtyZXR1cm57Y2hhcHRlclJlbmRlcmVyOnt0aW1lUmFuZ2VTdGFydE1pbGxpczowfX19OwpoVD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnRpbWVSYW5nZVN0YXJ0TWlsbGlzfHwwOjB9O2tUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdUKGIpLmZpbmQoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5MZD09PSJhY3RpdmUiKX07bFQ9ZnVuY3Rpb24oYSxiKXtpZihhLmlzRHJhZ2dpbmcmJmIpcmV0dXJuIGE9TmthKGEsYiksYT09PS0xP2ZUKCk6Z1QoYilbYV19O05rYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmlzRHJhZ2dpbmcmJmI/Z1QoYix7bng6ITB9KS5maW5kSW5kZXgoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5CZyk6LTF9O21UPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsZVQpO2E/Lm9uQWN0aXZlQ29tbWFuZCYmXy5hRShhLm9uQWN0aXZlQ29tbWFuZCl9O2pUPWZ1bmN0aW9uKGEpe3JldHVybnsuLi5hLHZpZGVvRHVyYXRpb246YS52aWRlb0R1cmF0aW9uKjFFMyx2YTphLnZhKjFFMyxDYTphLkNhKjFFM319OwppVD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aFQoXy5CKGJbY10sZVQpKTtiPWhUKF8uQihiW2MrMV0sZVQpKXx8YS52aWRlb0R1cmF0aW9uO2M9YS5pc0RyYWdnaW5nO3ZhciBlO2lmKGU9YS5pc0RyYWdnaW5nKWU9YS5DYSxlPWUhPT1udWxsJiZlPj1kJiZlPGI7dmFyIGY9YS52YTtyZXR1cm4gZiE9PW51bGwmJmY+PWQmJmY8Yj97TGQ6ImFjdGl2ZSIsYm06YyxCZzplfTphLnZhPGQ/e0xkOiJwZW5kaW5nIixibTpjLEJnOmV9OntMZDoic2VlbiIsYm06YyxCZzplfX07blQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGlUKGEsYixjKS5MZCE9PSJhY3RpdmUiKXJldHVybiAwO3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7cmV0dXJuKGEudmEtZCkvKChoVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbiktZCl9O29UPWZ1bmN0aW9uKGEsYj0wKXtyZXR1cm4gYS5MZD09PSJzZWVuInx8Yj4wfTsKcFQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS9iLlpyO2M9Z1QoYyk7aWYoIWMubGVuZ3RoKXJldHVybi1iKjcyO3ZhciBkPTA7Zm9yKGxldCBlIG9mIGMpaWYoaFQoXy5CKGUsZVQpKS8xRTM8YSlkKys7ZWxzZSBicmVhaztyZXR1cm4tKGIqNzIpLWQqNTZ9O09rYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7YS5CKCk7ZC5zdG9wUHJvcGFnYXRpb24oKTtkPXFUKGEsZSxkLmNsaWVudFgpKmUudmlkZW9EdXJhdGlvbjtlLlMoe3ZhOmR9KTtlLnBsYXllclN0YXRlPT09Mnx8Zi5Gbj8uKCk7YS5ELnYoZCxlLDcpfX07clQ9ZnVuY3Rpb24oYSl7YT1hLnRvdWNoZXNbMF07cmV0dXJue3g6YS5jbGllbnRYLHk6YS5jbGllbnRZfX07UGthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1yVChjKSxlPWIoKTthLnN0YXJ0UG9zaXRpb258fChhLnN0YXJ0UG9zaXRpb249ZCxhLkIoKSxhLmo9ZS5lYSxjLnN0b3BQcm9wYWdhdGlvbigpKX19OwpRa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPXt4OmMuY2xpZW50WCx5OmMuY2xpZW50WX0sZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKdFQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Euc3RhcnRQb3NpdGlvbiYmKGYmJmUuaWomJmEuc3RhcnRQb3NpdGlvbiYmIWEubyYmTWF0aC5hYnMoYy55LWEuc3RhcnRQb3NpdGlvbi55KT5NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpP3NUKGEsZCxlKTooYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksZC52aWRlb0R1cmF0aW9uJiYoYS5zdGFydFBvc2l0aW9uJiYhYS5vJiYoYS5vPU1hdGguYWJzKGMueC1hLnN0YXJ0UG9zaXRpb24ueCk+PTEpLGUuS2YmJihhLnN0YXJ0UG9zaXRpb24mJihhLnY9LShjLnktYS5zdGFydFBvc2l0aW9uLnkpPj02MCksIWEuc3RhcnRQb3NpdGlvbnx8Yy55Pj1hLnN0YXJ0UG9zaXRpb24ueXx8KGQuUyh7TGY6ImRyYWdnaW5nIixMcDpwVChkLkNhLGQsZS5SYSl9KSxhLlUoZC5DYSksYS5aKGEuc3RhcnRQb3NpdGlvbi55LGMueSxkKSkpLGEubyYmKGI9cVQoYSxkLGMueCksYS52JiYoZC5IPy5wYXVzZVZpZGVvKCksZC5TKHtMZjoib24iLApZdjpkLkNhLExwOnBUKGIqZC52aWRlb0R1cmF0aW9uLGQsZS5SYSl9KSksZS5LZiYmKCFlLktmfHxhLksoZCk8NjgpfHwoZC5pc0RyYWdnaW5nfHxkLnRhLmt6Py4oKSxkLlMoe0NhOmIqZC52aWRlb0R1cmF0aW9uLGVhOiEwLGlzRHJhZ2dpbmc6ITAseWI6YS5qfSkpLGUuWW8/LigpKSkpKX07UmthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPWIoKSxmPWMoKTt0VChhLGQsclQoZCksZSxmLCEwKTtpZihmLm9uVG91Y2hNb3ZlKWYub25Ub3VjaE1vdmUoZSl9fTt2VD1mdW5jdGlvbihhLGIsYyxkKXtpZihiLmJ1dHRvbnMhPT0xKXtpZihiLm1vdmVtZW50WHx8Yi5tb3ZlbWVudFkpYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksYT1xVChhLGMsYi5jbGllbnRYKSxjLlFjfHxjLnRhLmt6Py4oKSxjLlMoe1FjOiEwLGRqOmEqYy52aWRlb0R1cmF0aW9ufSl9ZWxzZSB1VChjKSx0VChhLGIse3g6Yi5jbGllbnRYLHk6Yi5jbGllbnRZfSxjLGQsITEpfTsKU2thPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZUKGEsZCxiKCksYygpKX19O1RrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTt1VChiKX19O3NUPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMuS2YmJmIuTGYhPT0ib2ZmIjtiLmlzRHJhZ2dpbmd8fGU/KGQ9e2lzRHJhZ2dpbmc6ITEsdmE6Yi5DYSxlYTphLmp9LGMuS2YmJmIuTGYhPT0ib24iJiYoYS5NKCksZC5MZj0ib2ZmIiksVVMoYiksYi5TKGQpLGEuRC52KGIuQ2EsYiw3KSxjLkluJiZiLnJjJiZiLkg/LnVuTXV0ZSgpLHdUKGEpKTooXy54KCJtYXdwY190b3VjaF9lbmRfaGFuZGxlcl9idWdfZml4X2tpbGxzd2l0Y2giKT9iLlMoe2VhOiFiLmVhfSk6Yi5TKHtlYTohMH0pLGMuRm4/LigpLHdUKGEpLF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIil8fGQ/LnN0b3BQcm9wYWdhdGlvbigpKX07ClVrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1ZrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1drYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntzVChhLGIoKSxjKCksZCl9fTtYa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLmtleUNvZGU9PT0zOXx8Yi5rZXlDb2RlPT09Mzg/YSgpPy5IPy5zZWVrQnkoNSx2b2lkIDAsdm9pZCAwLDcyKTooYi5rZXlDb2RlPT09Mzd8fGIua2V5Q29kZT09PTQwKSYmYSgpPy5IPy5zZWVrQnkoLTUsdm9pZCAwLHZvaWQgMCw3MSl9fTtZa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57IWMoKS5kaXNhYmxlU2NydWJiaW5nJiZhLnN0YXJ0UG9zaXRpb24mJnZUKGEsZCxiKCksYygpKX19Owp4VD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntpZighYygpLmRpc2FibGVTY3J1YmJpbmcpaWYoYS5zdGFydFBvc2l0aW9uKXt2YXIgZT1iKCksZj1jKCk7c1QoYSxiKCksYygpLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9ZWxzZSBiKCkuUyh7aXNEcmFnZ2luZzohMX0pfX07dVQ9ZnVuY3Rpb24oYSl7YS5RYyYmYS5TKHtRYzohMSxkajowfSl9O3FUPWZ1bmN0aW9uKGEsYixjKXthPWEuSShiKTtyZXR1cm4gRFEoMCwoYy1hLmxlZnQpL2Eud2lkdGgsMSl9O3dUPWZ1bmN0aW9uKGEpe2Euc3RhcnRQb3NpdGlvbj1udWxsO2Eubz0hMTthLnY9ITE7YS5qPSExfTt5VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLndpZHRoL2EuY29sdW1uczowfTt6VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmhlaWdodC9hLnJvd3M6MH07QVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuUWM/YS5kajphLkNhfTsKQlQ9ZnVuY3Rpb24oYSxiKXthPWEuQ2EqMUUzO3JldHVybiBhPj1iLnZpc2libGVUaW1lUmFuZ2VTdGFydE1pbGxpcyYmYTw9Yi52aXNpYmxlVGltZVJhbmdlRW5kTWlsbGlzfTtDVD1mdW5jdGlvbihhKXtpZihhPT09dm9pZCAwfHxOdW1iZXIuaXNOYU4oYSkpcmV0dXJuIi0tOi0tIjt2YXIgYj1NYXRoLmFicyhNYXRoLmZsb29yKGEpKSxjPU1hdGguZmxvb3IoYi84NjQwMCksZD1NYXRoLmZsb29yKGIlODY0MDAvMzYwMCksZT1NYXRoLmZsb29yKGIlMzYwMC82MCk7Yj1NYXRoLmZsb29yKGIlNjApO3ZhciBmPSIiO2M+MCYmKGYrPWAke2N9OmAsZDwxMCYmKGYrPSIwIikpO2lmKGM+MHx8ZD4wKWYrPWAke2R9OmAsZTwxMCYmKGYrPSIwIik7Zis9YCR7ZX06YDtiPDEwJiYoZis9IjAiKTtmKz1iO3JldHVybiBhPj0wP2Y6YC0ke2Z9YH07CkRUPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pnt2YXIgYz1BVChhKCkpO3ZhciBkPWIoKTt2YXIgZT1hKCkuSDtpZihlJiZlLmdldE51bWJlck9mU3Rvcnlib2FyZExldmVscygpIT09MCl7dmFyIGY9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDEpO2YhPT0tMT9kPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGYsMSk6KGM9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDApLGU9ZS5nZXRTdG9yeWJvYXJkRnJhbWUoYywwKSxkJiZlJiYoZS5oZWlnaHQqPTMsZS53aWR0aCo9MyksZD1lKX1lbHNlIGQ9bnVsbDtpZighZClyZXR1cm4gbnVsbDtiKCkmJihkLndpZHRoPTkwKmQuY29sdW1ucyxkLmhlaWdodD0xNjAqZC5yb3dzKTtyZXR1cm4gZH19Owoka2E9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGEuTmF8fGEuaXNMaXZlP2Q6Yj4xP0VUKGQpOnNldFRpbWVvdXQoKCk9PntjKCk7bmF2aWdhdG9yPy52aWJyYXRlJiZuYXZpZ2F0b3IudmlicmF0ZShaa2EpfSxfLnNqKCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIiw1MDApKX07RVQ9ZnVuY3Rpb24oYSl7YSE9PXZvaWQgMCYmY2xlYXJUaW1lb3V0KGEpfTsKSFQ9ZnVuY3Rpb24oYSxiKXthLk5hfHxhLmlzTGl2ZXx8KGI+MSYmRlQoYSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJwcmV2ZW50LWhpZ2hsaWdodHMiKSxHVD1zZXRUaW1lb3V0KCgpPT57YS5IPy5wbGF5VmlkZW8oKTtiVCgpO2EuUyh7c2I6ITAsZWE6ITB9KTt2YXIgYz1fLnNqKCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIiwyKSxkPWEuSDtkPy5zZXRQbGF5YmFja1JhdGU/LihjKTtfLngoIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiIpJiZkPy5nZXRQbGF5YmFja1JhdGUoKT09PWMmJm5hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoYWxhKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSkpfTsKSVQ9ZnVuY3Rpb24oYSxiLGMpe2Muc2ImJmEucHJldmVudERlZmF1bHQoKTthPWIubGs7Yj1iLk9kO01hdGguc3FydChhKmErYipiKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKSYmIWMuc2ImJkZUKGMpfTtGVD1mdW5jdGlvbihhKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoInByZXZlbnQtaGlnaGxpZ2h0cyIpO0dUJiZjbGVhclRpbWVvdXQoR1QpO2Euc2ImJihhLlMoe3NiOiExLGVhOnVTKGEpfSksYT1hLkgsdHlwZW9mIGE/LnNldFBsYXliYWNrUmF0ZT09PSJmdW5jdGlvbiI/YS5zZXRQbGF5YmFja1JhdGUoMSk6Xy5XaShFcnJvcigiJGQiKSkpfTsKY2xhPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZhKXt2YXIgZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGI9YmxhKGIsZC53aWR0aCxkLmhlaWdodCkpYz8uWkEmJihjPW5ldyBJbWFnZSxjLm9ubG9hZD0oKT0+e2lqYSgpfSxjLnNyYz1iLF8uSXooImZ0ciIpKSxhLnN0eWxlLmJhY2tncm91bmRJbWFnZT1gdXJsKCR7Yn0pYH19O2JsYT1mdW5jdGlvbihhLGIsYyl7aWYoKGE9YS50aHVtYm5haWxzKSYmYS5sZW5ndGghPT0wKXt2YXIgZD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjE7Yio9ZDtjKj1kO2lmKGI+NjQwfHxjPjQ4MClyZXR1cm4gYS5hdCgtMSkudXJsO2lmKGI+MzIwfHxjPjE4MCl7dmFyIGU7ZD1iPWM9dm9pZCAwO2ZvcihlIG9mIGEpIWQmJmUud2lkdGg+PTMyMD9kPWUudXJsOiFiJiZlLndpZHRoPj00ODA/Yj1lLnVybDohYyYmZS53aWR0aD49NjQwJiYoYz1lLnVybCk7aWYoZT1jfHxifHxkKXJldHVybiBlfXJldHVybiBhWzBdLnVybH19OwpKVD1mdW5jdGlvbihhKXsoYT1hPy5oZWFkZXI/LnBsYXlsaXN0SGVhZGVyUmVuZGVyZXIpPyhhPV8uQihhLmNpbmVtYXRpY0NvbnRhaW5lcixkbGEpPy5iYWNrZ3JvdW5kSW1hZ2VDb25maWc/LnRodW1ibmFpbD8udGh1bWJuYWlscyxhPWE/Lmxlbmd0aD9hW2EubGVuZ3RoLTFdLnVybDp2b2lkIDAsYT0hYSk6YT0hMTtyZXR1cm4gYX07S1Q9ZnVuY3Rpb24oYSl7YT1hfHxfLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuIGE/LmhlYWRlcj8ucGFnZUhlYWRlclJlbmRlcmVyfTtPVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZTtyZXR1cm4hIUtUKCk/LnRpdGxlQW5pbWF0aW9ufHxKVChhKX07ClBUPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlLGI9S1QoYSk7aWYoYilhPWIudG9wQmFyQW5pbWF0aW9uPyEwOiExO2Vsc2V7aWYoYj1YUSgpJiYhXy5WTSgpKWI9Xy5aYih3aW5kb3cubG9jYXRpb24uaHJlZiwibGlzdCIpLGI9IShiPy5zdGFydHNXaXRoKCJFTCIpfHxiPy5zdGFydHNXaXRoKCJTQyIpKTthPWImJiFKVChhKX1yZXR1cm4gYX07CmVsYT1mdW5jdGlvbigpe2lmKF8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSkmJlFUKCkmJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNzZWFyY2hpbmciJiZfLlVNKCkhPT0ic2VhcmNoIil7dmFyIGE9d2luZG93LnNjcm9sbFksYjsoYj1fLlZNKCkpfHwoYj1fLlVNKCk9PT0iY2xpcCIpO2lmKGIpIV8uVEUoKSYmIUhRKCl8fChfLkZlYS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0Ki42P18uVHQoXy5FSiwic3RpY2t5LXBsYXllciIpOl8uU3QoXy5FSiwic3RpY2t5LXBsYXllciIpKSxSVCgiaW4iKSxTVD1hO2Vsc2V7Yj1TVD5hO3ZhciBjPWE+PTQ4LGQ9YTwxMjY7U1Q9YTtiPyhjP1JUKCJmaWxsZWQiKTpSVCgiaW4iKSxJUSgpJiZkP1RUKCJmaWx0ZXItY2hpcC1iYXItc3RhdGljIik6VFQoImZpbHRlci1jaGlwLWJhci1pbiIpKTpjP1BUKCl8fE9UKCk/UlQoImZpbGxlZCIpOihSVCgib3V0IiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItb3V0IikpOgooUlQoImluIiksSVEoKT9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSl9fXZhciBlO18uVk0oKSYmKGU9UVQoKSkhPW51bGwmJihhPWUuc2V0QXR0cmlidXRlLGI9Xy5NRSgpPzE6MjQsXy5ETi5sZW5ndGg+MCYmIV8ueE4oKT8oYz1OdW1iZXIoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AucmVwbGFjZSgvKHB4KXwtL2csIiIpKSxiPSFpc05hTihjKSYmYzxiKTpiPVNUPGIsYS5jYWxsKGUsImFtYmllbnQtdG9wYmFyIixiLnRvU3RyaW5nKCkpKX07UVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlYWRlci1iYXIiLnRvU3RyaW5nKCkpfTsKVFQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5VTSgpPT09ImhvbWUifHxJUSgpP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXItY2hpcC1iYXIiLnRvU3RyaW5nKCkpOm51bGw7YiYmKF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLWluIiksXy5UdChiLCJmaWx0ZXItY2hpcC1iYXItb3V0IiksXy5TdChiLGEpKX07ClJUPWZ1bmN0aW9uKGEpe3ZhciBiPVFUKCk7aWYoYil7bGV0IGM9Xy5hTCh7WyJzdGlja3ktcGxheWVyIl06Xy53KCJNV0VCX1NUSUNLWV9QTEFZRVIiLCExKSxbImlzLWF1dG9tb3RpdmUiXTpIUSgpfSk7Xy5XTSgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIsInNob3J0cy10b3BiYXIiKTpQVCgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIpOk9UKCkmJihjPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LXRpdGxlIikpO2IuY2xhc3NOYW1lPV8uYUwoYSxjKX19O2ZsYT1mdW5jdGlvbigpe3JldHVybiBVVH07aGxhPWZ1bmN0aW9uKGEsYil7YiYmKFZUPSEwKTthPVVUPWE7Yj1KUigpO2EhPT1iJiYoYj1fLkh6KCksXy5EeigxNDEsITApLF8uRHooMTQwLCFhKSxiLnNhdmUoKSk7Z2xhKCl9O2dsYT1mdW5jdGlvbigpe3NldFRpbWVvdXQoKCk9PntfLlhNKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIse3BhdXNlZDohMX0pfSl9OwppbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVlR9O1dUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTUUoKT9iJiZhPy52aWRlb0R1cmF0aW9uPjMwOmImJiFhLmVhfTtYVD1mdW5jdGlvbihhLGIpe3JldHVybiBiJiZhLmVhJiYhXy5NRSgpfTtqbGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihiPWI/P2F3YWl0IF8uTEgoKSliLnVuTXV0ZSghMCksYi5zZXRWb2x1bWUoYSwhMCl9O1pUPWZ1bmN0aW9uKGEsYil7YSYmKGEudmFsdWU9YCR7Yn1gLGEuc3R5bGUuc2V0UHJvcGVydHkoIi0tZ3JhZGllbnQtcGVyY2VudCIsYCR7Yn0lYCkpfTtrbGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ueCgicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiKT9fLmtHKCRUKTphfTthVT1mdW5jdGlvbihhKXtyZXR1cm5gaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3N0YXRpYy9sb3R0aWUvJHthfS5qc29uYH07CmJVPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJhbmltYXRlZF9saWtlX2ljb24iOnJldHVybntuYW1lOiJhbmltYXRlZF9saWtlX2ljb25fdjJfZGFyayIscGF0aDphVSgiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiKSxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19O2Nhc2UgImxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjpjYXNlICJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOmNhc2UgInBhdXNlXzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJwbGF5Xzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJzZWVrXzk2ZHBfYW5pbWF0aW9uIjpyZXR1cm57bmFtZTphLHBhdGg6YVUoYSksbG9vcDohMSxhdXRvcGxheTohMX07ZGVmYXVsdDpyZXR1cm57bmFtZToiIixwYXRoOiIifX19OwpjVT1mdW5jdGlvbihhKXtfLkxPKCkudGhlbihiPT57Yi5zdG9wKCJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiIpO2Iuc3RvcCgibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0Iik7Yi5zdG9wKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIik7Yi5zdG9wKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpO2IucGxheShhKX0pfTsKbGxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSHooKTtIUSgpfHxhLnF2fHxhLnN1cHByZXNzQWZ0ZXJDbG9zaW5nJiZOdW1iZXIoYi5nZXQoInN1cHByZXNzX2FwcF91cHNlbGwiKSkmJiFfLngoIm13ZWJfYXBwX3Vwc2VsbF9idXR0b24iKXx8KGRVfHwoZFU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZFUsZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSksXy5KTihkVSxudWxsLCEwKSxhIT09ZVUmJihmVT8uKCksZlU9Xy54RihkVSwoKT0+e18ub0YoKCk9PntfLk1PKCIuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0IC5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzIil9KTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclNjcmltQ29udGFpbmVyIn0sXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0V9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVyIn0sCl8uSyhnVSx7ZGF0YTphfSkpKX0sImRkIikpLGVVPWEpfTtoVT1mdW5jdGlvbigpe3JldHVybntzdHlsZToib3ZlcmxheS1kYXJrIixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc2l6ZToiTCIsc2l6ZToiUyIsdHlwZToidGV4dCIsc3R5bGU6Im92ZXJsYXkifX07bmxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLnNob3BwaW5nVXBzZWxsLG1sYSk7YiYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2xsYShiKX0pfTtvbGE9ZnVuY3Rpb24oYSl7YT8ubG9nZ2luZ0RpcmVjdGl2ZXM/LnRyYWNraW5nUGFyYW1zJiZfLmx4KF8uaHgoKSxhLmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zKX07aVU9ZnVuY3Rpb24oYSl7cmV0dXJuIGF8fF8uVk0oKXx8Xy5VTSgpPT09ImhvbWUifTtqVT1mdW5jdGlvbihhLGIpe2lmKGIpe2lmKGEmJmIuZGFya1RoZW1lTG9nbz8uaWNvbj8uaWNvblR5cGUpcmV0dXJuIGIuZGFya1RoZW1lTG9nby5pY29uLmljb25UeXBlO2lmKGIubGlnaHRUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmxpZ2h0VGhlbWVMb2dvLmljb24uaWNvblR5cGV9fTsKbFU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5IO2ImJihrVT0oYT1rVSk/KChiPU5RKGIpKT9iLmRpc3BsYXlOYW1lfHwiIjpudWxsKXx8YTpQUShiKSk7cmV0dXJuIGtVfTttVT1mdW5jdGlvbihhLGIpe3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiYhIWImJiFhKCkueGYmJmEoKS5hdXRvbmF2RW5hYmxlZH07blU9ZnVuY3Rpb24oYSxiKXtiPU1TKGIpO3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiZiLmxlbmd0aD4wfTtvVT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPy5pc1JlYWR5Py4oKSYmYS5IPy5pc0F0TGl2ZUhlYWQoKX07cFU9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLW92ZXJsYXkiKX07cGxhPWZ1bmN0aW9uKGEpe2EhPT0tMSYmXy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKSYmcFUoKSYmKF8uQXEoInBjdV9jcyIsYSksXy5BcSgicGN1X2NlIikpfTsKcVU9ZnVuY3Rpb24oYSl7aWYoIWF8fGEuZ2V0VmlkZW9EYXRhKXJldHVybiBhfTtxbGE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3JVPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiKX07cmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yi8zPy0xOmE+MipiLzM/MTowfTtzVT1mdW5jdGlvbihhLGIsYyl7clUoKSYmdlMoey4uLmMsSmQ6YixLYjphfSkmJigoYT1jLkgpJiZhLnNlZWtCeShNYXRoLnNpZ24oYikqMTAsdm9pZCAwLHZvaWQgMCw0KSxjLnBsYXllclN0YXRlPT09Mnx8Yy5IPy5wYXVzZVZpZGVvKCksYj09PS0xP1hTKDI4MjM5KTpYUygyODI0MCkpfTsKdVU9ZnVuY3Rpb24oYSxiKXtyVSgpJiYoY2xlYXJUaW1lb3V0KHRVKSx0VT1zZXRUaW1lb3V0KCgpPT57dmFyIGM9e0tiOjAsSmQ6MCx5aDowfTtpZih2UyhhKSl7dmFyIGQ9dVMoYSl8fGEuQ2E+PWEudmlkZW9EdXJhdGlvbjtjLmVhPWEucGxheWVyU3RhdGU9PT0yfHxhLnBsYXllclN0YXRlPT09M3x8ZDtjLnZhPWEuQ2E7Yy55Yj0hMTthLkg/LmlzUmVhZHk/LigpJiYoYS5ILnNlZWtUbyhhLkNhKSxkPXsuLi5hLC4uLmN9LChkLmlzTGl2ZXx8ZC52YTxkLnZpZGVvRHVyYXRpb24pJiZkLk9uJiZkLkg/LmdldFBsYXllclN0YXRlKCkhPT0xJiZkLkg/LnBsYXlWaWRlbygpKX1lbHNlIGEuS2I9PT0xJiZiPy4oKTthLlMoYyk7Y2xlYXJUaW1lb3V0KHRVKX0sYS5iYT8udnY/PzYwMCkpfTtzbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gclUoKSYmYiE9PTA/YS5KZCE9PWI/MTooMCxfLmVsKSgpLWEueWg+MzUwP2EuS2I6YS5LYisxOjB9Owp1bGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT1hd2FpdCB2VS5qYygpO2EmJihhPWF3YWl0IGEuZ2V0KCJhdXRvLXpvb20tZW5hYmxlZCIpLHRsYSh0eXBlb2YgYT09PSJib29sZWFuIj9hOiEwKSl9O3dVPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG91Y2hlc1swXSxjPWEudG91Y2hlc1sxXTthPWIucGFnZVgtYy5wYWdlWDtiPWIucGFnZVktYy5wYWdlWTtyZXR1cm4gTWF0aC5zcXJ0KGEqYStiKmIpfTsKSVU9ZnVuY3Rpb24oYSxiKXt4VShhKSYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYT15VS16VSxBVXx8KGE9MCksRlQoYiksXy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmKEJVPTAsQ1UoKSYmRFUoITEpKSxiLmJhPy5NaXx8KGIuTmF8fGIuV2R8fGIuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYi5pc0Z1bGxzY3JlZW58fChiLmlzRnVsbHNjcmVlbiYmKGEqPS0xKSwoYTwtMTAwfHxNYXRoLmFicyhhKT4xMDAmJmIuaXNGdWxsc2NyZWVuKSYmYi50YS50b2dnbGVGdWxsc2NyZWVuKHtkczohMH0pLEVVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06InNjYWxlKDEpIix0cmFuc2l0aW9uOiIwLjJzIGVhc2UifSkpLGIuV2QmJigoYT1NYXRoLmFicyhiLkpmKT41MD8hYi5OYTpiLk5hKXx8Y1QoYiksYi5TKHtXZDohMSxOYTphLEpmOjB9KSkpLEZVPSgwLF8uZWwpKCkseVU9R1U9elU9SFU9MCxBVT0hMSl9Owp4VT1mdW5jdGlvbihhKXt2YXIgYj1bYS50YXJnZXQ/LmdldEF0dHJpYnV0ZSgiaWQiKSwuLi4oYS50YXJnZXQ/LmNsYXNzTGlzdHx8W10pXTtyZXR1cm4hISJwbGF5ZXItY29udHJvbC1vdmVybGF5IHBsYXllci1jb250cm9scy1taWRkbGUgcGxheWVyLWNvbnRyb2xzLWJvdHRvbSBmdWxsc2NyZWVuLWNvbnRyb2xzIHBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIHRvcC1mdWxsLXNjcmVlbi1jb250cm9scyIuc3BsaXQoIiAiKS5maW5kKGM9PmIuZmluZChkPT5kPT09YykpfTsKS1U9ZnVuY3Rpb24oYSxiKXtpZihiLk5hKUpVKGEpJiZiLlMoe05hOiExfSk7ZWxzZSBpZihiLnBsYXllclN0YXRlIT09LTEmJmIucGxheWVyU3RhdGUhPT01KWlmKEpVKGEpKXt2YXIgYz1XUShiLkgpO2IuUyh7ZWE6ITAseWI6ITAsamU6Y30pfWVsc2V7dmFyIGQ9cmxhKGEuY2xpZW50WCxiLlRjLm9mZnNldFdpZHRoKTtjPXNsYShiLGQpO3ZhciBlPWM+Yi5LYjtsZXQgZj1iLkNhO2UmJihmPWM8Mj9iLnZhOkRRKGIuQ2ErKGQ9PT0tMT8tMToxKSoxMCwwLGIudmlkZW9EdXJhdGlvbiksc1UoYyxkLGIpKTshYi5lYSYmYzw9MT9jVChiLHtJYzohMH0pOmJUKCk7YT1iLmJhPy56diYmYi5lYSYmIUpVKGEpO2Q9e2VhOnZsYSh7Li4uYixLYjpjfSl8fGEsWWg6ITEsSmQ6ZCxDYTpmLEtiOmMseWI6ITAseWg6KDAsXy5lbCkoKX07ZT91VSh7Li4uYixLYjpjLENhOmZ9LGE/KCk9PntpZihiLkg/LmlzUmVhZHk/LigpKXtsZXQgaD1XUShiLkgpO2IuUyh7amU6aH0pfX06dm9pZCAwKTphJiZiLkgmJgooZT1XUShiLkgpLGIuUyh7amU6ZX0pKTtjPT09MSYmKGQuT249Yi5wbGF5ZXJTdGF0ZT09PTF8fGIucGxheWVyU3RhdGU9PT0zKTtiLlMoZCl9fTtKVT1mdW5jdGlvbihhKXtyZXR1cm4hXy54KCJtd2ViX2lvc19kZXRlY3RfZmFrZV9jbGlja19raWxsc3dpdGNoIikmJl8uR0smJkZVPjAmJigwLF8uZWwpKCktRlU8MTAwPyExOnR5cGVvZiBQb2ludGVyRXZlbnQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFBvaW50ZXJFdmVudCYmYS5wb2ludGVyVHlwZT09PSJtb3VzZSJ9O3ZsYT1mdW5jdGlvbihhKXtyZXR1cm4gdVMoYSl8fGEucGxheWVyU3RhdGU9PT0zfHxhLktiPjE/ITA6IWEuZWF9O3dsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPXt2b2x1bWU6Yi5IPy5nZXRWb2x1bWUoKT8/MCxyYzohIWIuSD8uaXNNdXRlZCgpfTtiLlMoYyl9fTsKeGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2lmKGMpe3ZhciBkPXt4YzohIWMuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKX07ZC54YyYmKGQuY2FwdGlvbnNFbmFibGVkPU9RKGMpKTtiLlMoZCl9fX07CnpsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSDtpZihkJiYhZC5pc0tleWJvYXJkRGlzYWJsZWQ/LigpJiYheWxhKGIudGFyZ2V0LGIpKXtzd2l0Y2goYi5jb2RlKXtjYXNlICJTcGFjZSI6Y2FzZSAiS2V5SyI6ZD1XUShkKTtjLlMoe2VhOiEwLGplOmR9KTticmVhaztjYXNlICJBcnJvd0xlZnQiOmNhc2UgIktleUoiOkxVKGMsLTEpO2JyZWFrO2Nhc2UgIkFycm93UmlnaHQiOmNhc2UgIktleUwiOkxVKGMsMSk7YnJlYWs7Y2FzZSAiS2V5TSI6Yy5yYz9kLnVuTXV0ZSgpOmQubXV0ZSgpO2MuUyh7ZWE6ITB9KTticmVhaztjYXNlICJLZXlGIjpSUSgpO2QudG9nZ2xlRnVsbHNjcmVlbigpO2MuUyh7ZWE6ITB9KTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UgIktleUMiOmMueGMmJlFRKGQsbFUoYykpO2MuUyh7ZWE6ITB9KTticmVhaztkZWZhdWx0OnJldHVybn1iLnByZXZlbnREZWZhdWx0KCk7Yi5zdG9wUHJvcGFnYXRpb24oKX19fTsKTFU9ZnVuY3Rpb24oYSxiKXtpZihfLngoIm13ZWJfa2V5Ym9hcmRfc2Vla19vdmVybGF5X2tpbGxzd2l0Y2giKSlhLkg/LnNlZWtCeSgxMCooYj09PS0xPy0xOjEpKSxhLlMoe2VhOiEwfSk7ZWxzZXt2YXIgYz1hLktiLGQ9YS5KZCxlPSgwLF8uZWwpKCksZj1lLWEueWg7Yz1kIT09Ynx8Zj4zNTA/MjpjKzE7ZD1iPT09LTE/LTE6MTtkPWM9PT0yPyhhLnZhfHwwKStkKjEwOmEuQ2ErZCoxMDtkPURRKGQsMCxhLnZpZGVvRHVyYXRpb24pO2U9e2VhOiEwLFloOiExLEpkOmIsQ2E6ZCxLYjpjLHliOiEwLHloOmV9O2M9PT0yJiYoZS5Pbj1hLnBsYXllclN0YXRlPT09MXx8YS5wbGF5ZXJTdGF0ZT09PTMpO3NVKGMsYix7Li4uYSwuLi5lfSk7dVUoey4uLmEsLi4uZX0pO2EuUyhlKX19Owp5bGE9ZnVuY3Rpb24oYSxiKXtpZihiLmN0cmxLZXl8fGIuYWx0S2V5fHxiLm1ldGFLZXkpcmV0dXJuITA7dmFyIGM9YS50YWdOYW1lO3JldHVybiBjPT09IklOUFVUInx8Yz09PSJURVhUQVJFQSJ8fGM9PT0iU0VMRUNUInx8Yi5rZXk9PT0iVGFiInx8Yi5jb2RlPT09IlNwYWNlIiYmKGM9PT0iQlVUVE9OInx8Yz09PSJBInx8KGE9YS5nZXRBdHRyaWJ1dGUoInJvbGUiKSkmJihhPT09ImJ1dHRvbiJ8fGE9PT0ib3B0aW9uInx8YS5zdGFydHNXaXRoKCJtZW51aXRlbSIpKSk/ITA6ITF9OwpPVT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5hKCkscGxheWVyU3RhdGU6MH0sZD1BUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKSxlPUJTKGIoKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO0hTKGMsZCkmJihNVShhKSxjLlMoe3lmOiFlPy5jb3VudERvd25TZWNzfHxlLmNvdW50RG93blNlY3M8PTA/MTA6ZS5jb3VudERvd25TZWNzfSksYz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt2YXIgZj1hKCk7aWYoZi55ZiE9PTEpZi5TKHt5ZjpmLnlmLTF9KTtlbHNle01VKGEpO2Y9YigpPy53YXRjaE5leHRSZXNwb25zZTtmPUFTKGYpO2xldCBoPWY/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvO2gmJl8uQUooaCxmLCExLHthdXRvbmF2OiIxIn0pfX0sMUUzKSxfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKT9OVT1jOmEoKS5TKHtGazpjfSkpfTsKTVU9ZnVuY3Rpb24oYSl7IV8ueCgibXdlYl9wbGF5ZXJfdW5pZmljYXRpb25fc3RhdGVfcmVmYWN0b3Jfa2lsbHN3aXRjaCIpJiZhPyhhPWEoKSxhLkZrIT09dm9pZCAwJiYoY2xlYXJJbnRlcnZhbChhLkZrKSxhLlMoe0ZrOnZvaWQgMH0pKSk6TlUmJihjbGVhckludGVydmFsKE5VKSxOVT12b2lkIDApfTsKQmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT17eGY6ITF9O2UucGxheWVyU3RhdGU9YztkLkgmJlZRKGQuSCkmJihlLnBsYXllclN0YXRlPTIpO2M9PT0xJiYoZC5IPy5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpLF8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IikmJmQuSD8uc2V0U3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoImNhcHRpb25zLWdhbG9yZS1jb250YWluZXIiKSk7Yz09PTAmJihkLkg/LnVubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LmNsZWFyU3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoKSk7aWYoZS5wbGF5ZXJTdGF0ZT09PS0xKWUuZWE9ITA7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09NSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTMpZS5lYT0hMCxiVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTEpZC5zYnx8ZC55cXx8KGQueWI/CmNUKHsuLi5kLC4uLmV9KTplLmVhPSExKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0yKWJUKCk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MCl7ZS5lYT0hMDtiVCgpO2M9YSgpO3ZhciBmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7aWYoZj1fLkIoZj8uY29udGVudHM/LnNpbmdsZUNvbHVtbldhdGNoTmV4dFJlc3VsdHM/LmF1dG9wbGF5Py5hdXRvcGxheT8uYXV0b3BsYXlFeHBsaWNpdENob2ljZURpYWxvZ1JlbmRlcmVyLEFsYSkpZi5kaXNhYmxlQnV0dG9uU3R5bGVPdmVycmlkZXM9ITA7IWMudGEuVWwoKSYmZiYmKGMudGEuZXhpdEZ1bGxzY3JlZW4oKSxfLkFKKHtvcGVuUG9wdXBBY3Rpb246e3BvcHVwOntjb25maXJtRGlhbG9nUmVuZGVyZXI6Zn0scG9wdXBUeXBlOiJESUFMT0cifX0se30sITEpKTtkLmF1dG9uYXZFbmFibGVkJiYoT1UoYSxiKSxfLk1PKCIjcGxheWVyLWVuZHNjcmVlbiAueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwgYnV0dG9uIiw1LHtybDohMH0pKX1kLlMoZSl9fTsKQ2xhPWZ1bmN0aW9uKGEpe1BVKCgpPT5hKSgpfTtEbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7YyYmVlEoYykmJmIuUyh7cGxheWVyU3RhdGU6Mn0pfX07ClBVPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpO3ZhciBkPWMuSDt2YXIgZT1kPy5nZXRWaWRlb0RhdGEoKSxmPWU/LmlzTGl2ZXx8ITEsaD1lPy52aWRlb19pZDtlPWU/LmFsbG93TGl2ZUR2cj8/ITA7Zj17dmlkZW9EdXJhdGlvbjpVUShkfHx2b2lkIDApLGlzTGl2ZTpmLHZpZGVvSWQ6aCxpc0xpdmVEdnJFbmFibGVkOmV9O2YudmlkZW9JZCE9PWMudmlkZW9JZCYmKGY9ey4uLmRUKGQpLC4uLmZ9KTtiPy5wbGF5ZXJ0eXBlJiYoZi5wbGF5ZXJUeXBlPWIucGxheWVydHlwZSk7ZCYmKGYueGM9ISFkLmdldE9wdGlvbnMoImNhcHRpb25zIiksYj1mLGg9KGg9ZC5nZXRTdG9yeWJvYXJkTGV2ZWwoZC5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKS0xKT8uaW50ZXJ2YWxNcyk/aC8xRTM6dm9pZCAwLGIuWnI9aCxmLnhjJiYoZi5jYXB0aW9uc0VuYWJsZWQ9T1EoZCkpKTtmLnJjPSEhZD8uaXNNdXRlZCgpO2Q9ZjtkLmF1dG9uYXZFbmFibGVkPWMudGEuZGUoKTtkLmlzUGxheWxpc3Q9ClhRKCk7Yy5iYT8uTWwhPT12b2lkIDAmJihkLnliPSEwKTtkLmlzRnVsbHNjcmVlbj1jLmlzRnVsbHNjcmVlbjtkLnBsYXllclN0YXRlPT09MyYmKGQuZWE9ITApO2QucGxheWVyU3RhdGU9PT0tMSYmKGQuZWE9ITApO2I9Yy5HYzt5Uyh7Li4uYywuLi5kfSk/YiYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIpOmImJihiLnN0eWxlLmRpc3BsYXk9IiIpO01VKGEpO2MuUyhkKX19OwpFbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKSxlPWIoKSxmPWQuSDtpZihmKXtkLnZpZGVvSWQ9PT12b2lkIDAmJkNsYShkKTtpZihlJiZjIT09dm9pZCAwKXt2YXIgaD17Li4uZCx2YTpjfTsoZT1FUyhlLnBsYXllck92ZXJsYXlSZW5kZXJlcikpJiYhaC5pc0RyYWdnaW5nJiYoaD1rVChoLGUpLG1UKGgpKX1oPWYuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtjPXt2YTpjfHwwLFFtOmYuZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpLHBsYXllclR5cGU6aH07dVMoZCkmJihjLnZhPWQudmlkZW9EdXJhdGlvbik7ZC5pc0xpdmUmJihoPWYuZ2V0UHJvZ3Jlc3NTdGF0ZShoKSxjLnZhLT1oLnNlZWthYmxlU3RhcnQsYy52aWRlb0R1cmF0aW9uPVVRKGYpKTt5UyhkKSYmZGVsZXRlIGMudmE7Zj1jO3lTKHsuLi5kLC4uLmZ9KSYmKGM9ZC5HYykmJihjLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtkLlMoZil9fX07CkZsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e2EoKS5TKHtlYTohMSxyYzohMX0pfX07R2xhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57YSgpLlMoe2lzRnVsbHNjcmVlbjpiLmZ1bGxzY3JlZW4sTmE6ITF9KX19O0hsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtiLlMoe2lzRnVsbHNjcmVlbjpiLnRhLmlzRnVsbHNjcmVlbigpLGNhcHRpb25zRW5hYmxlZDpjP09RKGMpOmIuY2FwdGlvbnNFbmFibGVkfSl9fTtJbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Xy5WTSh7aHJlZjp3aW5kb3cubG9jYXRpb24uaHJlZn0pfHxiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07CkpsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTtbOTAsMjcwXS5pbmNsdWRlcyhNYXRoLmFicyh3aW5kb3cub3JpZW50YXRpb24/d2luZG93Lm9yaWVudGF0aW9uOndpbmRvdy5zY3JlZW4/Lm9yaWVudGF0aW9uPy5hbmdsZT93aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uLmFuZ2xlOjApKT9kb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgibGFuZHNjYXBlIiwidHJ1ZSIpOmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJsYW5kc2NhcGUiKTtiLk5hJiZiLlMoe05hOiExfSl9fTtLbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Yi50YS5leGl0RnVsbHNjcmVlbigpO2IuUyh7aXNGdWxsc2NyZWVuOiExfSl9fTtMbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKTtjLmRldGFpbD8ucGF1c2VkPyhNVShhKSxkLnpmfHxkLlMoe3pmOiEwfSkpOih1UyhkKSYmT1UoYSxiKSxkLnpmJiZkLlMoe3pmOiExfSkpfX07Ck1sYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIudGEuZGUoKTtjfHxNVShhKTtiLlMoe2F1dG9uYXZFbmFibGVkOmN9KX19O05sYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtSeDohIWJ9KX19O1FVPWZ1bmN0aW9uKGEpe01VKGEucHJvcHMpO2EucHJvcHMoKS5TKHt4ZjohMH0pfTtSVT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLnNldHNbMF0ucHJldmlvdXNCdXR0b25WaWRlbyksYz1fLldEKCgpPT5hLnNldHNbMF0ubmV4dEJ1dHRvblZpZGVvKTtyZXR1cm57VWE6YixuZXh0OmN9fTtTVT1mdW5jdGlvbihhLGIpe2I9YigpPy5ydW5zPy5bMF0ubmF2aWdhdGlvbkVuZHBvaW50O3ZhciBjPV8uQihiLF8uVkQpPy51cmw7YSgpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCkmJmMmJmMuaW5jbHVkZXMoIi93YXRjaD92PSIpJiYoXy5CKGIsXy5WRCkudXJsPWMucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKSk7cmV0dXJuIGJ9OwpVVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IiIsZT0iIjtzd2l0Y2goYSl7Y2FzZSAtMTpjYXNlIDA6ZD1iPyJWT0xVTUVfT0ZGIjpjPyJWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUiI6IlZPTFVNRV9PRkZfRklMTEVEIjtlPU9sYTticmVhaztjYXNlIDE6ZD1iPyJWT0xVTUVfVVBfT1VUTElORSI6Yz8iVk9MVU1FX1VQX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfVVBfRklMTEVEIjtlPVRVO2JyZWFrO2Nhc2UgMjpkPWI/IlZPTFVNRV9ET1dOX09VVExJTkUiOmM/IlZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfRE9XTl9GSUxMRUQiO2U9VFU7YnJlYWs7ZGVmYXVsdDpfLmViKGEsdm9pZCAwKX1yZXR1cm57aWNvbk5hbWU6ZCxhcmlhTGFiZWw6ZX19OwpQbGE9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgVlU9PT0ibnVtYmVyIiYmY2xlYXJUaW1lb3V0KFZVKTtWVT1zZXRUaW1lb3V0KCgpPT57YS5TKHtZaDohMX0pO1ZVPXZvaWQgMH0sXy5CKGIuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy5kdXJhdGlvbk1zfHw0RTMpfTtYVT1mdW5jdGlvbihhLGIsYyl7YS5TKHthdXRvbmF2RW5hYmxlZDpiLFloOmN9KTthLnRhLlJqKGIsYyl9O1lVPWZ1bmN0aW9uKGEpe3JldHVybiBfLklFKHtkaXNwbGF5OigpPT5hKCk/IiI6Im5vbmUifSl9O1FsYT1mdW5jdGlvbihhKXtpZihfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKSYmYSlyZXR1cm57cGxheWhlYWRJbWFnZTphLnBsYXloZWFkSW1hZ2UscGxheWhlYWRSZXdpbmRJbWFnZTphLnBsYXloZWFkUmV3aW5kSW1hZ2UscGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlOmEucGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlfX07ClJsYT1mdW5jdGlvbihhKXthPWE/LmdldFBsYXllclN0YXRlT2JqZWN0Py4oKTtyZXR1cm4oYT8uaXNDdWVkfHxhPy5pc1Vuc3RhcnRlZCkmJiFhPy5pc0Vycm9yfTtaVT1mdW5jdGlvbihhKXthLmZvckVhY2goYj0+e2IoKX0pO2EubGVuZ3RoPTB9O1NsYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmlkPSJwbGF5ZXItY29udHJvbHMiO2IuY2xhc3NMaXN0LmFkZCgieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lckhvc3QiKTt2YXIgW2MsZF09Xy5KKHt9LHZvaWQgMCwiYmpKSWxkIik7YS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsKCk9PnskVShhLGIsYyxkKX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25SZWFkeSIsKCk9PnskVShhLGIsYyxkKX0pO3JldHVybiBifTsKJFU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9VGxhKGEpO2QoZSk7aGphKGIsIWEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcnx8ISFhVihlKSk7Yi5oYXNDaGlsZE5vZGVzKCl8fF8ueEYoYiwoKT0+VWxhKGEsYixjKSwiJGUiKX07ClVsYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5OKCgpPT5hVihjKCkpLHZvaWQgMCwiZFc1OGJkIiksZT1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT9sPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCI6a30se2luaXRpYWw6ITF9KSxmPV8udUYoaz0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmbCIpKXJldHVybiExO3ZhciBsPWMoKTtyZXR1cm4obD1sLmpiPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlPz9sLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGUpPwpsPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCI6a30se2luaXRpYWw6ITF9KSxoPV8uTigoKT0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIil8fF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKSlyZXR1cm4hMTt2YXIgaz1jKCkuUGg/LmVuZHBvaW50O3JldHVybiEoIWt8fCFfLkIoayxfLlREKSl9LHZvaWQgMCwiV3FnSnJiIik7Xy5uRSgoKT0+e18ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmKF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKXx8KGUoKXx8ZigpfHwhaCgpP2Euc2V0TG9vcFZpZGVvKCExKTphLnNldExvb3BWaWRlbyghMCkpKX0sIlpnVXdnZSIpO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5kKCl9LCgpPT5fLksoYlYse2RhdGE6KCk9PmQoKX0pKSxfLksoXy5DRSx7d2hlbjplfSwoKT0+Xy5LKFZsYSx7SDphLGNvbnRleHQ6dGthKGEsYiksZGF0YTpjfSkpLF8uSyhfLkNFLAp7d2hlbjpmfSwoKT0+e3ZhciBrPXJTKGEpLGw9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7bD17Li4uc1MobCksWHc6ITAsWXc6ITB9O3JldHVybiBfLksoY1Yse2NvbnRleHQ6e3RhOmssYmE6bCxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9LGRhdGE6Y30pfSksXy5LKF8uQ0Use3doZW46aH0sKCk9Pl8uSyhXbGEse3JlZWxJdGVtV2F0Y2hSZXNwb25zZTooKT0+YygpLnJlZWxJdGVtV2F0Y2hSZXNwb25zZSxqYjooKT0+YygpLmpiLFBoOigpPT5jKCkuUGgsSDooKT0+YSxjb250ZXh0OnNrYShhLGIpfSkpLF8uSyhfLkRFLG51bGwsKCk9Pnt2YXIgaz1yUyhhKSxsPXNTKGEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpKTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pKX07CmFWPWZ1bmN0aW9uKGEpe3JldHVybiBhLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcnx8YS5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcn07VGxhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0UGxheWVyUmVzcG9uc2UoKSxjPWEuZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSxkPWEuZ2V0UmVlbEl0ZW1XYXRjaFJlc3BvbnNlKCksZT1hLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKSxmPWEuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7cmV0dXJue3BsYXllck92ZXJsYXlSZW5kZXJlcjpjPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLHBsYXllclJlc3BvbnNlOmIsUGg6Zix3YXRjaE5leHRSZXNwb25zZTpjLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpkLGpiOmUsSDphfX07Cl8uZFY9ZnVuY3Rpb24oYSl7Xy5BcSgiZXBfaW5pdF9ycyIpO3ZhciBiPWRvY3VtZW50LmJvZHk7YT1TbGEoYSk7Yi5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaWQ9ImJvdHRvbS1zaGVldC13cmFwcGVyIjsoMCxfLklDKShhLFVqYSk7Yi5hcHBlbmRDaGlsZChhKTtfLkFxKCJlcF9pbml0X3JlIil9O18uZz1GUS5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBGUSh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTtfLmcuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5uZCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18uZy5yb3VuZD1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLnJvdW5kKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5yb3VuZCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKXy5nLnNjYWxlPWZ1bmN0aW9uKGEsYil7Yj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTt0aGlzLmxlZnQqPWE7dGhpcy53aWR0aCo9YTt0aGlzLnRvcCo9Yjt0aGlzLmhlaWdodCo9YjtyZXR1cm4gdGhpc307CnZhciB2VT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnRva2VuPWF9c3RhdGljIGFzeW5jIGpjKCl7cmV0dXJuIG5ldyBQcm9taXNlKGE9PntfLlBsKCkudGhlbihiPT57Yj8odlUuaW5zdGFuY2V8fCh2VS5pbnN0YW5jZT1uZXcgdlUoYikpLGEodlUuaW5zdGFuY2UpKTphKHZvaWQgMCl9KX0pfWFzeW5jIGdldChhKXtpZihhPWF3YWl0IChhd2FpdCBHUSh0aGlzLnRva2VuKSkuZ2V0KCJwcmVmcyIsYSkpe3ZhciBiPSgwLF8uZWwpKCk7cmV0dXJuIGEuZXhwaXJhdGlvblRpbWVzdGFtcE1zPD1iP3ZvaWQgMDphLnZhbHVlfX1hc3luYyBzZXQoYSxiLGM9MzE1MzZFMyl7dmFyIGQ9KDAsXy5lbCkoKTthPXtrZXk6YSx2YWx1ZTpiLGV4cGlyYXRpb25UaW1lc3RhbXBNczpkK2MqMUUzfTtiPWF3YWl0IEdRKHRoaXMudG9rZW4pO2F3YWl0IF8ubWwoYiwicHJlZnMiLGEpfWFzeW5jIHJlbW92ZShhKXthd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmRlbGV0ZSgicHJlZnMiLGEpfX0sWVE9Cm51bGwsZlY9e1NuOnsxRTM6e290aGVyOiIwSyJ9LDFFNDp7b3RoZXI6IjAwSyJ9LDFFNTp7b3RoZXI6IjAwMEsifSwxRTY6e290aGVyOiIwTSJ9LDFFNzp7b3RoZXI6IjAwTSJ9LDFFODp7b3RoZXI6IjAwME0ifSwxRTk6e290aGVyOiIwQiJ9LDFFMTA6e290aGVyOiIwMEIifSwxRTExOntvdGhlcjoiMDAwQiJ9LDFFMTI6e290aGVyOiIwVCJ9LDFFMTM6e290aGVyOiIwMFQifSwxRTE0OntvdGhlcjoiMDAwVCJ9fSxWczp7MUUzOntvdGhlcjoiMCB0aG91c2FuZCJ9LDFFNDp7b3RoZXI6IjAwIHRob3VzYW5kIn0sMUU1OntvdGhlcjoiMDAwIHRob3VzYW5kIn0sMUU2OntvdGhlcjoiMCBtaWxsaW9uIn0sMUU3OntvdGhlcjoiMDAgbWlsbGlvbiJ9LDFFODp7b3RoZXI6IjAwMCBtaWxsaW9uIn0sMUU5OntvdGhlcjoiMCBiaWxsaW9uIn0sMUUxMDp7b3RoZXI6IjAwIGJpbGxpb24ifSwxRTExOntvdGhlcjoiMDAwIGJpbGxpb24ifSwxRTEyOntvdGhlcjoiMCB0cmlsbGlvbiJ9LDFFMTM6e290aGVyOiIwMCB0cmlsbGlvbiJ9LAoxRTE0OntvdGhlcjoiMDAwIHRyaWxsaW9uIn19fSxyUj1mVjtyUj1mVjt2YXIgcVI9e0FFRDpbMiwiZGgiLCJcdTA2MmYuXHUwNjI1LiJdLEFMTDpbMCwiTGVrIiwiTGVrIl0sQVVEOlsyLCIkIiwiQVUkIl0sQkRUOlsyLCJcdTA5ZjMiLCJUayJdLEJHTjpbMiwibGV2IiwibGV2Il0sQlJMOlsyLCJSJCIsIlIkIl0sQ0FEOlsyLCIkIiwiQyQiXSxDREY6WzIsIkZyQ0QiLCJDREYiXSxDSEY6WzIsIkNIRiIsIkNIRiJdLENMUDpbMCwiJCIsIkNMJCJdLENOWTpbMiwiXHUwMGE1IiwiUk1CXHUwMGE1Il0sQ09QOlszMiwiJCIsIkNPTCQiXSxDUkM6WzAsIlx1MjBhMSIsIkNSXHUyMGExIl0sQ1pLOls1MCwiS1x1MDEwZCIsIktcdTAxMGQiXSxES0s6WzUwLCJrci4iLCJrci4iXSxET1A6WzIsIlJEJCIsIlJEJCJdLEVHUDpbMiwiXHUwMGEzIiwiTEUiXSxFVEI6WzIsIkJpcnIiLCJCaXJyIl0sRVVSOlsyLCJcdTIwYWMiLCJcdTIwYWMiXSxHQlA6WzIsIlx1MDBhMyIsIkdCXHUwMGEzIl0sSEtEOlsyLCIkIiwiSEskIl0sSFJLOlsyLCJrbiIsImtuIl0sSFVGOlszNCwKIkZ0IiwiRnQiXSxJRFI6WzAsIlJwIiwiUnAiXSxJTFM6WzM0LCJcdTIwYWEiLCJJTFx1MjBhYSJdLElOUjpbMiwiXHUyMGI5IiwiUnMiXSxJUlI6WzAsIlJpYWwiLCJJUlIiXSxJU0s6WzAsImtyIiwia3IiXSxKTUQ6WzIsIiQiLCJKQSQiXSxKUFk6WzAsIlx1MDBhNSIsIkpQXHUwMGE1Il0sS1JXOlswLCJcdTIwYTkiLCJLUlx1MjBhOSJdLExLUjpbMiwiUnMiLCJTTFJzIl0sTFRMOlsyLCJMdCIsIkx0Il0sTU5UOlswLCJcdTIwYWUiLCJNTlx1MjBhZSJdLE1WUjpbMiwiUmYiLCJNVlIiXSxNWE46WzIsIiQiLCJNZXgkIl0sTVlSOlsyLCJSTSIsIlJNIl0sTk9LOls1MCwia3IiLCJOT2tyIl0sUEFCOlsyLCJCLy4iLCJCLy4iXSxQRU46WzIsIlMvLiIsIlMvLiJdLFBIUDpbMiwiXHUyMGIxIiwiUEhQIl0sUEtSOlswLCJScyIsIlBLUnMuIl0sUExOOls1MCwielx1MDE0MiIsInpcdTAxNDIiXSxST046WzIsIlJPTiIsIlJPTiJdLFJTRDpbMCwiZGluIiwiUlNEIl0sUlVCOls1MCwiXHUyMGJkIiwKIlJVQiJdLFNBUjpbMiwiU0FSIiwiU0FSIl0sU0VLOls1MCwia3IiLCJrciJdLFNHRDpbMiwiJCIsIlMkIl0sVEhCOlsyLCJcdTBlM2YiLCJUSEIiXSxUUlk6WzIsIlx1MjBiYSIsIlRSWSJdLFRXRDpbMiwiJCIsIk5UJCJdLFRaUzpbMCwiVFNoIiwiVFNoIl0sVUFIOlsyLCJcdTA0MzNcdTA0NDBcdTA0M2QuIiwiVUFIIl0sVVNEOlsyLCIkIiwiVVMkIl0sVVlVOlsyLCIkIiwiJFUiXSxWTkQ6WzQ4LCJcdTIwYWIiLCJWTlx1MjBhYiJdLFlFUjpbMCwiUmlhbCIsIlJpYWwiXSxaQVI6WzIsIlIiLCJaQVIiXX07dmFyIGdWOwpnVj17REFZOntMT05HOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsU0hPUlQ6Im9uZXsjIGRheX1vdGhlcnsjIGRheXN9IixOQVJST1c6Im9uZXsjZH1vdGhlcnsjZH0ifSxIT1VSOntMT05HOiJvbmV7IyBob3VyfW90aGVyeyMgaG91cnN9IixTSE9SVDoib25leyMgaHJ9b3RoZXJ7IyBocn0iLE5BUlJPVzoib25leyNofW90aGVyeyNofSJ9LE1JTlVURTp7TE9ORzoib25leyMgbWludXRlfW90aGVyeyMgbWludXRlc30iLFNIT1JUOiJvbmV7IyBtaW59b3RoZXJ7IyBtaW59IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxNT05USDp7TE9ORzoib25leyMgbW9udGh9b3RoZXJ7IyBtb250aHN9IixTSE9SVDoib25leyMgbXRofW90aGVyeyMgbXRoc30iLE5BUlJPVzoib25leyNtfW90aGVyeyNtfSJ9LFNFQ09ORDp7TE9ORzoib25leyMgc2Vjb25kfW90aGVyeyMgc2Vjb25kc30iLFNIT1JUOiJvbmV7IyBzZWN9b3RoZXJ7IyBzZWN9IixOQVJST1c6Im9uZXsjc31vdGhlcnsjc30ifSxXRUVLOntMT05HOiJvbmV7IyB3ZWVrfW90aGVyeyMgd2Vla3N9IiwKU0hPUlQ6Im9uZXsjIHdrfW90aGVyeyMgd2tzfSIsTkFSUk9XOiJvbmV7I3d9b3RoZXJ7I3d9In0sWUVBUjp7TE9ORzoib25leyMgeWVhcn1vdGhlcnsjIHllYXJzfSIsU0hPUlQ6Im9uZXsjIHlyfW90aGVyeyMgeXJzfSIsTkFSUk9XOiJvbmV7I3l9b3RoZXJ7I3l9In19O3ZhciBoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07CmhWPXtDZTpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0sIHsxfSJdLFJuOlsiezB9IGFuZCB7MX0iLCJ7MH0gJiB7MX0iLCJ7MH0sIHsxfSJdLG1rOlsiezB9LCBhbmQgezF9IiwiezB9LCAmIHsxfSIsInswfSwgezF9Il0saW86WyJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSIsInswfSBvciB7MX0iXSx4azpbInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSJdLHJvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxxbzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0sQWs6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdfTt2YXIgWGxhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9e3R5cGU6InVuaXQiLHN0eWxlOiJuYXJyb3cifTt0aGlzLkk9YSYmYS50eXBlP2EudHlwZToiY29uanVuY3Rpb24iO3RoaXMuSz1hJiZhLnN0eWxlP2Euc3R5bGU6ImxvbmciO3RoaXMuaj1oVjthPTA7c3dpdGNoKHRoaXMuSyl7Y2FzZSAic2hvcnQiOmE9MTticmVhaztjYXNlICJuYXJyb3ciOmE9Mn1zd2l0Y2godGhpcy5JKXtjYXNlICJjb25qdW5jdGlvbiI6dGhpcy5CPXRoaXMuai5DZVthXTt0aGlzLkQ9KHRoaXMuai5Sbnx8dGhpcy5qLm1rKVthXTt0aGlzLnY9KHRoaXMuai5qQ3x8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLm1rW2FdO2JyZWFrO2Nhc2UgImRpc2p1bmN0aW9uIjp0aGlzLkI9KHRoaXMuai5RRnx8dGhpcy5qLkNlKVthXTt0aGlzLkQ9KHRoaXMuai5pb3x8dGhpcy5qLnhrKVthXTt0aGlzLnY9KHRoaXMuai5QRnx8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLnhrW2FdO2JyZWFrO2Nhc2UgInVuaXQiOnRoaXMuQj0KKHRoaXMuai5yb3x8dGhpcy5qLkNlKVthXSx0aGlzLkQ9KHRoaXMuai5BSHx8dGhpcy5qLkFrKVthXSx0aGlzLnY9KHRoaXMuai5xb3x8dGhpcy5qLkNlKVthXSx0aGlzLm89dGhpcy5qLkFrW2FdfX1mb3JtYXQoYSl7cmV0dXJuIHhqYSh0aGlzLGEpfX07dmFyIGlSPXthcjoibGF0biIsImFyLUVHIjoiYXJhYiIsYm46ImJlbmciLGZhOiJhcmFiZXh0IixtcjoiZGV2YSIsbXk6Im15bXIiLG5lOiJkZXZhIn07dmFyIGlWPXtWbjoiLiIscms6IiwiLGpvOiIlIixCazoiMCIsV3Q6IisiLGFvOiItIixZbjoiRSIsa286Ilx1MjAzMCIsc2s6Ilx1MjIxZSIsQnQ6Ik5hTiIsZ3Q6IiMsIyMwLiMjIyIsekc6IiNFMCIsU0Y6IiMsIyMwJSIsRkM6Ilx1MDBhNCMsIyMwLjAwIixXbjoiVVNEIn0sZFI9aVY7ZFI9aVY7dmFyIGVSPUludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuLVVTIi5yZXBsYWNlKCJfIiwiLSIpXSkubGVuZ3RoPjAsalI9ITE7CmhSLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihhLGIpe2I9Ynx8WzBdO2lmKHRoaXMub2EhPT0wKXRocm93IEVycm9yKCJPZCIpO2E9YS5yZXBsYWNlKC8gfFx1MjAyZi9nLCJcdTAwYTAiKTt2YXIgYz1hLmluZGV4T2YodGhpcy5NLGJbMF0pPT1iWzBdLGQ9YS5pbmRleE9mKHRoaXMuRCxiWzBdKT09YlswXTtjJiZkJiYodGhpcy5NLmxlbmd0aD50aGlzLkQubGVuZ3RoP2Q9ITE6dGhpcy5NLmxlbmd0aDx0aGlzLkQubGVuZ3RoJiYoYz0hMSkpO2M/YlswXSs9dGhpcy5NLmxlbmd0aDpkJiYoYlswXSs9dGhpcy5ELmxlbmd0aCk7aWYoYS5pbmRleE9mKGRSLnNrLGJbMF0pPT1iWzBdKXtiWzBdKz1kUi5zay5sZW5ndGg7dmFyIGU9SW5maW5pdHl9ZWxzZXtlPWE7bGV0IGY9ITEsaD0hMSxrPSExLGw9LTEsbT0xLG49ZFIuVm4scD1kUi5yayxyPWRSLlluO2lmKHRoaXMub2EhPTApdGhyb3cgRXJyb3IoIlBkIik7cD1wLnJlcGxhY2UoL1x1MjAyZi9nLCJcdTAwYTAiKTtsZXQgdD0iIjtmb3IoO2JbMF08CmUubGVuZ3RoO2JbMF0rKyl7bGV0IHY9ZS5jaGFyQXQoYlswXSksej1wUih2KTtpZih6Pj0wJiZ6PD05KXQrPXosaz0hMDtlbHNlIGlmKHY9PW4uY2hhckF0KDApKXtpZihmfHxoKWJyZWFrO3QrPSIuIjtmPSEwfWVsc2UgaWYodj09cC5jaGFyQXQoMCkmJigiXHUwMGEwIiE9cC5jaGFyQXQoMCl8fGJbMF0rMTxlLmxlbmd0aCYmcFIoZS5jaGFyQXQoYlswXSsxKSk+PTApKXtpZihmfHxoKWJyZWFrfWVsc2UgaWYodj09ci5jaGFyQXQoMCkpe2lmKGgpYnJlYWs7dCs9IkUiO2g9ITA7bD1iWzBdfWVsc2UgaWYodj09IisifHx2PT0iLSIpe2lmKGsmJmwhPWJbMF0tMSlicmVhazt0Kz12fWVsc2UgaWYodGhpcy52PT0xJiZ2PT1kUi5qby5jaGFyQXQoMCkpe2lmKG0hPTEpYnJlYWs7bT0xMDA7aWYoayl7YlswXSsrO2JyZWFrfX1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIua28uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MUUzO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBicmVha310aGlzLnYhPQoxJiYobT10aGlzLnYpO2U9cGFyc2VGbG9hdCh0KS9tfWlmKGMpe2lmKGEuaW5kZXhPZih0aGlzLmdhLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5nYS5sZW5ndGh9ZWxzZSBpZihkKXtpZihhLmluZGV4T2YodGhpcy5VLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5VLmxlbmd0aH1yZXR1cm4gZD8tZTplfTsKaFIucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXtpZih0aGlzLkI+dGhpcy5qKXRocm93IEVycm9yKCJTZCIpO2lmKGVSJiZ0aGlzLkspeyh0aGlzLksuZm9ybWF0PT1udWxsfHx0aGlzLlFhfHx0aGlzLk1hfHx0aGlzLlZkfHxqUikmJmZSKHRoaXMpO2lmKE1hdGguYWJzKGEpPDEmJnRoaXMuaGE+dGhpcy5qKXt2YXIgYj1NYXRoLnBvdygxMCx0aGlzLmopO2E9TWF0aC5yb3VuZChNYXRoLmFicyhhKSpiKSpNYXRoLnNpZ24oYSkvYn10aGlzLksucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIHRoaXMuSy5mb3JtYXQoYSl9aWYoaXNOYU4oYSkpcmV0dXJuIGRSLkJ0O2I9W107dmFyIGM9YTtpZih0aGlzLm9hPT0wKWM9c1I7ZWxzZXtjPU1hdGguYWJzKGMpO3ZhciBkPXRSKHRoaXMsYzw9MT8wOnVSKGMpKS5wbDtjPXRSKHRoaXMsZCt1UihtUih0aGlzLGtSKGMsLWQpKS5pbnRWYWx1ZSkpfWE9a1IoYSwtYy5wbCk7KGQ9YTwwfHxhPT0wJiYxL2E8MCk/Yy53bT9iLnB1c2goYy53bSk6CihiLnB1c2goYy5wcmVmaXgpLGIucHVzaCh0aGlzLkQpKTooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5NKSk7aWYoaXNGaW5pdGUoYSkpaWYoYSo9ZD8tMToxLGEqPXRoaXMudix0aGlzLkZhKXt2YXIgZT1hO2lmKGU9PTApblIodGhpcyxlLHRoaXMubyxiKSxvUih0aGlzLDAsYik7ZWxzZXt2YXIgZj1NYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGgubG9nKDEwKSsyRS0xNSk7ZT1rUihlLC1mKTt2YXIgaD10aGlzLm87dGhpcy5aPjEmJnRoaXMuWj50aGlzLm8/KGg9ZiV0aGlzLlosaDwwJiYoaD10aGlzLloraCksZT1rUihlLGgpLGYtPWgsaD0xKTp0aGlzLm88MT8oZisrLGU9a1IoZSwtMSkpOihmLT10aGlzLm8tMSxlPWtSKGUsdGhpcy5vLTEpKTtuUih0aGlzLGUsaCxiKTtvUih0aGlzLGYsYil9fWVsc2UgblIodGhpcyxhLHRoaXMubyxiKTtlbHNlIGIucHVzaChkUi5zayk7ZD9jLnhtP2IucHVzaChjLnhtKTooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuVSkpOgooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuZ2EpKTtyZXR1cm4gYi5qb2luKCIiKX07dmFyIHlqYT0iMCIuY29kZVBvaW50QXQoMCksc1I9e3BsOjAsd206IiIseG06IiIscHJlZml4OiIiLHN1ZmZpeDoiIn07dmFyIGpWLEJqYT1qVj1qVj16amE7dmFyIGtWLENSPWtWPWtWPUFqYTt2YXIgd1I9bnVsbCx4Uj1udWxsLHlSPW51bGwsRGphPVJlZ0V4cCgiJyhbe30jXS4qPyknIiwiZyIpLENqYT1SZWdFeHAoIicnIiwiZyIpO3pSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy52KXt0aGlzLkQ9W107dmFyIGI9RWphKHRoaXMsdGhpcy52KTt0aGlzLm89SFIodGhpcyxiKTt0aGlzLnY9bnVsbH1pZih0aGlzLm8mJnRoaXMuby5sZW5ndGghPTApZm9yKHRoaXMuaj1fLnliKHRoaXMuRCksYj1bXSxBUih0aGlzLHRoaXMubyxhLCExLGIpLGE9Yi5qb2luKCIiKTt0aGlzLmoubGVuZ3RoPjA7KWE9YS5yZXBsYWNlKHRoaXMuQih0aGlzLmopLFN0cmluZyh0aGlzLmoucG9wKCkpLnJlcGxhY2UoIiQiLCIkJCQkIikpO2Vsc2UgYT0iIjtyZXR1cm4gYX07dmFyIEVSPS9eXHMqKFx3KylccyosXHMqcGx1cmFsXHMqLCg/OlxzKm9mZnNldDooXGQrKSk/LyxGUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdG9yZGluYWxccyosLyxHUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdFxzKiwvOwp6Ui5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtyZXR1cm4iXHVmZGRmXyIrKGEubGVuZ3RoLTEpLnRvU3RyaW5nKDEwKSsiXyJ9O3ZhciBUamE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9WWxhfHxnVn1mb3JtYXQoYSl7dmFyIGI9W10sYz1hLnllYXJzLGQ9YS5tb250aHMsZT1hLndlZWtzLGY9YS5kYXlzLGg9YS5ob3VycyxrPWEubWludXRlczthPWEuc2Vjb25kcztjIT1udWxsJiZiLnB1c2goSVIodGhpcyxjLCJ5ZWFycyIpKTtkIT1udWxsJiZiLnB1c2goSVIodGhpcyxkLCJtb250aHMiKSk7ZSE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZSwid2Vla3MiKSk7ZiE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZiwiZGF5cyIpKTtoIT1udWxsJiZiLnB1c2goSVIodGhpcyxoLCJob3VycyIpKTtrIT1udWxsJiZiLnB1c2goSVIodGhpcyxrLCJtaW51dGVzIikpO2EhPW51bGwmJmIucHVzaChJUih0aGlzLGEsInNlY29uZHMiKSk7cmV0dXJuKG5ldyBYbGEpLmZvcm1hdChiKX19Oy8qCgogTUlUIExpY2Vuc2UKCiBDb3B5cmlnaHQgKGMpIDIwMTcgQWxleGFuZGVyIFJlYXJkb24KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUKKi8KdmFyIFpsYT0oYSxiKT0+e2lmKGEubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3ZhciBsVj1uZXcgXy5JKCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbCIpO3ZhciBFa2E9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKSxtVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlciIpLG5WPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgT1M9bmV3IF8uSSgiZW1iZWRzSW5mb1BhbmVsUmVuZGVyZXIiKTt2YXIgJGxhPW5ldyBfLkkoIm1vYmlsZVRvcGJhclJlbmRlcmVyIik7dmFyIGFtYT1uZXcgXy5JKCJjYWxsVG9BY3Rpb25CdXR0b25WaWV3TW9kZWwiKTt2YXIgYm1hPW5ldyBfLkkoImludGVyc3RpdGlhbFZpZXdNb2RlbCIpO3ZhciBkbGE9bmV3IF8uSSgiY2luZW1hdGljQ29udGFpbmVyUmVuZGVyZXIiKTt2YXIgamthPW5ldyBfLkkoInZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsIik7dmFyIERrYT1uZXcgXy5JKCJmdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWwiKTt2YXIgb1Y9bmV3IF8uSSgicGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlciIpLHBWPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBLUz1uZXcgXy5JKCJxdWlja0FjdGlvbnNWaWV3TW9kZWwiKTt2YXIgY21hPW5ldyBfLkkoInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7dmFyIEFsYT1uZXcgXy5JKCJjb25maXJtRGlhbG9nUmVuZGVyZXIiKTt2YXIgbWxhPW5ldyBfLkkoImJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyIik7dmFyIGRtYT1uZXcgXy5JKCJkaWFsb2dIZWFkZXJWaWV3TW9kZWwiKTt2YXIgZW1hPW5ldyBfLkkoImRpYWxvZ1ZpZXdNb2RlbCIpO3ZhciBXVT1uZXcgXy5JKCJwbGF5ZXJUb2FzdENvbW1hbmQiKTt2YXIgdmthPW5ldyBfLkkoImF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIiKTt2YXIgeGthPW5ldyBfLkkoImRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyIiksRFM9bmV3IF8uSSgibXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXIiKSxlVD1uZXcgXy5JKCJjaGFwdGVyUmVuZGVyZXIiKTt2YXIgeWthPW5ldyBfLkkoImRlY29yYXRlZFBsYXloZWFkUmVuZGVyZXIiKTt2YXIgQWthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50T3ZlcmxheVJlbmRlcmVyIiksQmthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyUmVuZGVyZXIiKSxmbWE9bmV3IF8uSSgiZnVsbHNjcmVlbkVuZ2FnZW1lbnRBY3Rpb25CYXJTYXZlQnV0dG9uUmVuZGVyZXIiKTt2YXIgZ21hPW5ldyBfLkkoImhlYXRNYXJrZXJSZW5kZXJlciIpO3ZhciB3a2E9bmV3IF8uSSgiaGVhdG1hcFJlbmRlcmVyIik7dmFyIHFWPW5ldyBfLkkoInRpbWVkTWFya2VyRGVjb3JhdGlvblJlbmRlcmVyIik7dmFyIGhtYT1bImVuLUNBIiwiZW4iLCJlcy1NWCIsImZyLUNBIl07dmFyIHJWO3JWPXticm93c2VFbmRwb2ludDp7YnJvd3NlSWQ6IkZFd2hhdF90b193YXRjaCJ9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Ii8iLHJvb3RWZTozODU0LHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX0JST1dTRSJ9fX07dmFyIEtSPSExO3ZhciBLamE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89dGhpcy5qPTA7dGhpcy5qPWIueC1hLng7dGhpcy5vPWIueS1hLnl9fTt2YXIgJFQ9Xy5ndSh2b2lkIDAsIkJERXFKYiIpO3ZhciBzVj13aW5kb3csWj1zVi5HSHx8ImVuLVVTIixTamE9c1YuSEh8fENSLFlsYT1zVi5GSHx8Z1Y7dmFyIFFSO3ZhciB1a2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5IPWF9dG9nZ2xlRnVsbHNjcmVlbigpe3RoaXMuSC50b2dnbGVGdWxsc2NyZWVuKCl9ZXhpdEZ1bGxzY3JlZW4oKXt0aGlzLmlzRnVsbHNjcmVlbigpJiZ0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKX1pc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5ILmlzRnVsbHNjcmVlbigpfX07dmFyIFRSPV8uTCgoe3RhOmF9KT0+Xy5LKF8uZkose2RhdGE6KCk9Pnt2YXIgYj1jUih7dGl0bGU6Xy5JUChfLiROLm5rKSxrbDphKCkuZGUoKSxpY29uVHlwZToiQVVUT1BMQVkiLEVrOl8uJE4ubmssRGs6Xy4kTi5ua30pO3JldHVybiBfLkIoYixfLk1QKX0sb25UYXA6ZnVuY3Rpb24oYil7dmFyIGM9IWEoKS5kZSgpO2EoKS5SaihjLCEwKTtiLnN0b3BQcm9wYWdhdGlvbigpO18uWE0oInBmcC1hdXRvbmF2LXVwZGF0ZSIse2F1dG9uYXZFbmFibGVkOmN9KX19KSwiWWIiKTtUUi5pZG9tQ29tcGF0PSEwO3ZhciBpbWE9Xy4kTi5hdSxjUz1fLkwoKCk9Pnt2YXIgYT0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKGltYSksaWNvblR5cGU6IlBFUlNPTl9DSVJDTEUifSksXy5aQyk7cmV0dXJuIF8uSyhfLkNELHtkYXRhOmEsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1fLktPKCk/Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0IiwiL3NpZ25pbj9hY3Rpb25fY2xvc2VfdGFiPXRydWUiKTpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9FTUJFRERFRF9QTEFZRVIiP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9wb3N0X2xvZ2luIik6Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0Iixsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2gpO18uQUooe3NpZ25JbkVuZHBvaW50Ont9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Yn19fSxhKCksITEpfX0pfSwiWmIiKTtjUy5pZG9tQ29tcGF0PSEwO3ZhciBqbWE9Xy4kTi5XcyxrbWE9Xy4kTi5ZcyxsbWE9Xy4kTi5UbixWamE9Xy5MKCh7ZnY6YX0pPT57dmFyIGI9ImNvcHktZGVidWctaW5mby10ZXh0YXJlYSIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsbG1hKSxxazooKT0+Xy5LKCJ0ZXh0YXJlYSIse2NsYXNzOiJjb3B5RGVidWdJbmZvUGxheWVyRGVidWdJbmZvIixpZDpifSxhKSxFejooKT0+Xy5LKF8uelAsbnVsbCxfLksoXy5KSyx7ZGF0YTp7YnV0dG9uVGV4dDpqbWEsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0iLG9uVGFwOigpPT57Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6a21hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18uc1AoYik7Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSl9KX0sCiIkYiIpO3ZhciBtbWE9Xy4kTi5UbiwkUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChtbWEpLGljb25UeXBlOiJCVUdfUkVQT1JUIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57V2phKGEoKSl9fSksImFjIik7JFIuaWRvbUNvbXBhdD0hMDt2YXIgbm1hPV8uJE4uWnMsWlI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobm1hKSxpY29uVHlwZToiQ09ERSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e3ZhciBiPWEoKS5nZXRWaWRlb0VtYmVkQ29kZSgpO2ImJmImJndpbmRvdy5uYXZpZ2F0b3I/LmNsaXBib2FyZCYmd2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIpfX0pLCJiYyIpO1pSLmlkb21Db21wYXQ9ITA7dmFyIG9tYT1fLiROLmJ0LHBtYT1fLiROLmZ0LFdSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG9tYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITEpfX0pLCJjYyIpO1dSLmlkb21Db21wYXQ9ITA7dmFyIFlSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHBtYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITApfX0pLCJkYyIpO1lSLmlkb21Db21wYXQ9ITA7dmFyIHRWPV8uJE4udXQsVlI9Xy5MKCh7SDphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAodFYpLGtsOmEoKS5nZXRMb29wVmlkZW8oKSxFazp0VixEazp0VixpY29uVHlwZToiTE9PUCJ9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmI9PnthKCkuc2V0TG9vcFZpZGVvKCFhKCkuZ2V0TG9vcFZpZGVvKCkpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSksImVjIik7VlIuaWRvbUNvbXBhdD0hMDt2YXIgVVI9Xy5MKCh7SDphfSk9Pl8uSygic3RhYmxlLXZvbHVtZS10b2dnbGUiLHtjbGFzczoic3RhYmxlVm9sdW1lVG9nZ2xlSG9zdCJ9LF8uSyhfLmZKLHtkYXRhOigpPT5fLkIoY1Ioe3RpdGxlOl8uSVAoXy4kTi55ayksa2w6YSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xLGljb25UeXBlOiJWT0xVTUVfU1RBQkxFIixFazpfLiROLnlrLERrOl8uJE4ueWssaXNEaXNhYmxlZDohYSgpLmhhc0RyY0F1ZGlvVHJhY2soKX0pLF8uTVApLG9uVGFwOmZ1bmN0aW9uKGIpe2EoKS5zZXREcmNVc2VyUHJlZmVyZW5jZShhKCkuaGFzRHJjQXVkaW9UcmFjaygpJiZhKCkuZ2V0RHJjVXNlclByZWZlcmVuY2UoKT09PTE/MDoxKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pKSwiZmMiKTtVUi5pZG9tQ29tcGF0PSEwO3ZhciBxbWE9Xy4kTi5idSxiUz1fLkwoKHtIOmF9KT0+e3ZhciBiPSgpPT5fLkIoYlIoe3RpdGxlOl8uSVAocW1hKSxpY29uVHlwZToiSU5GTyJ9KSxfLlpDKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCkuZ2V0VmlkZW9EYXRhLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1hKCk7IWMuZ2V0VmlkZW9EYXRhfHwoYy5pc1ZpZGVvSW5mb1Zpc2libGUoKT9jLmhpZGVWaWRlb0luZm8oKTpjLnNob3dWaWRlb0luZm8oKSl9fSl9KX0sImdjIik7YlMuaWRvbUNvbXBhdD0hMDt2YXIgcm1hPV8uJE4uZHUsYVM9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAocm1hKSxpY29uVHlwZToiUVVFU1RJT05fQ0lSQ0xFIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57YSgpLnJlcG9ydFBsYXliYWNrSXNzdWUmJihhKCkucmVwb3J0UGxheWJhY2tJc3N1ZSgpLF8ucVAoe2hyZWY6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9cmVwb3J0X3BsYXliYWNrIn0pKX19KSwiaGMiKTthUy5pZG9tQ29tcGF0PSEwO3ZhciBzbWE9Xy4kTi53dCxvUz1fLkwoKHtIOmEsb2g6Yix0YTpjLHRBOmR9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChzbWEpLGljb25UeXBlOiJPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzIifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntYamEoYSgpLGIoKSxjPy4oKSxkPy4oKSl9fSksImljIik7b1MuaWRvbUNvbXBhdD0hMDt2YXIgZ2thPV8uJE4ubW8sWWphPV8uJE4ubm8sWmphPV8uJE4uVHQsZmthPV8uJE4uUnQsZWthPV8uJE4uU3QsaGthPV8uJE4uWHQsYWthPVs1MCwxMDAsMTI1LDE1MCwxNzUsMjAwXSwkamE9WzEwMCwxMjUsMTUwLDE3NSwyMDAsMzAwXSxja2E9WzUwLDEwMCwxMjUsMTUwLDIwMF0sYmthPVsxMDAsMTI1LDE1MCwyMDAsMzAwXSxoUzt2YXIgdG1hPV8uJE4ubW8sdW1hPV8uJE4ubm8sbVM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKT8uZ2V0UGxheWJhY2tSYXRlKCksZT1fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtkfWB9KTtyZXR1cm4gXy5CKGJSKHt0aXRsZTpfLklQKHRtYSksc2VsZWN0aW9uVGV4dDpfLklQKGQ9PT0xP3VtYTplKSxpY29uVHlwZToiUExBWV9BUlJPV19IQUxGX0NJUkNMRSJ9KSxfLlpDKX0sYz0oKT0+e2trYShhKCkpfTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCk/LmdldFBsYXliYWNrUmF0ZSgpLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6Y30pfSl9LCJqYyIpO21TLmlkb21Db21wYXQ9ITA7dmFyIHZtYT1fLiROLk5zLG5TPV8uTCgoKT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAodm1hKSxsaXN0SXRlbUljb25BZnRlclNlbGVjdGlvblRleHQ6IkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0RFRkFVTFQiLGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUiJ9fV19LGVudGl0eUtleToiRWlvdmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyRjFaR2x2WDNSeVlXTnJYMlZ1ZEdsMGVWOXJaWGtnX2dJb0FRJTNEJTNEIixlbnRpdHlTZWxlY3RvclR5cGU6IkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6e319XX19fX19fX0sCl8uWkMpLElhOiEwfSksImtjIik7blMuaWRvbUNvbXBhdD0hMDt2YXIgd21hPV8uJE4uRXQseG1hPV8uJE4uRnQscGthPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWEoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYz10eXBlb2YgYj8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZiLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8Yj8uZGlzcGxheU5hbWV8fCIiO3JldHVybiBfLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHdtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/Yzp4bWF9LGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6Yz8iQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQiOiJDTE9TRURfQ0FQVElPTiJ9fV19LGVudGl0eUtleToiRWk4dmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyTmhjSFJwYjI1ZmJHRnVaM1ZoWjJWZlpXNTBhWFI1WDJ0bGVTRC1BaWdCIiwKZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7fX1dfX19fX0saXNEaXNhYmxlZDp0eXBlb2YgYj09PSJ1bmRlZmluZWQifX0sXy5aQyl9LElhOiEwfSksImxjIik7dmFyIGxrYT17YXV0bzowLHRpbnk6MTQ0LGxpZ2h0OjE0NCxzbWFsbDoyNDAsbWVkaXVtOjM2MCxsYXJnZTo0ODAsaGQ3MjA6NzIwLGhkMTA4MDoxMDgwLGhkMTQ0MDoxNDQwLGhkMjE2MDoyMTYwLGhkMjg4MDoyODgwLGhpZ2hyZXM6NDMyMH07dmFyIHltYT1fLiROLk50LG1rYT1fLiROLk90LGxTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWJSKHt0aXRsZTpfLklQKHltYSksc2VsZWN0aW9uVGV4dDpfLklQKGtTKGEoKSxhKCkuZ2V0UGxheWJhY2tRdWFsaXR5KCkpKSxpY29uVHlwZToiT1VUTElORV9BREpVU1QifSk7cmV0dXJuIF8uQihiLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e2EoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCkmJm9rYShhKCkpfX0pLCJtYyIpO2xTLmlkb21Db21wYXQ9ITA7CnZhciBua2E9Xy5MKCh7SDphfSk9Pl8uSyhfLmdHLHtwYTooKT0+YSgpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSx0YjoiSU5ERVgifSxiPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBjPWIoKSxkPWEoKS5nZXRQcmVmZXJyZWRRdWFsaXR5KCk7Yz1iUih7dGl0bGU6Xy5JUChrUyhhKCksYykpLGljb25UeXBlOmM9PT1kPyJDSEVDSyI6dm9pZCAwfSk7cmV0dXJuIF8uQihjLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e3ZhciBjPWIoKTthKCkuc2V0UGxheWJhY2tRdWFsaXR5UmFuZ2UoYyxjKX19KSksIm5jIik7dmFyIFJTPW5ldyBTZXQsUVM9bnVsbDt2YXIgVFM9bnVsbCxWUz17fTt2YXIgdVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJidXR0b24iLGQ9PntkJiZXUyhkLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSxjPSgpPT5hLkcoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpO3JldHVybiBfLksoImN1ZWQtb3ZlcmxheSIse2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlIb3N0Iix7eXRtQ3VlZE92ZXJsYXlIaWRkZW46KCk9PiEkUyhhLkcoKSxhLnBsYXlhYmlsaXR5U3RhdHVzPy4oKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2IudmFsdWUmJihYUygyODU3MiksYS5HKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxfLksudmlzdWFsRWxlbWVudCksYS5IPy4oKS5wbGF5VmlkZW8oKSk7ZC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIXVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1DdWVkT3ZlcmxheUdyYWRpZW50In0pfSksXy5LKCJidXR0b24iLAp7Y2xhc3M6Xy5QKCJ5dG1DdWVkT3ZlcmxheVBsYXlCdXR0b24iLHt5dG1DdWVkT3ZlcmxheVNob3J0czpjfSksZWw6YiwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoXy5NRCx7aWNvbjooKT0+YygpPyJZT1VUVUJFX1NIT1JUU19CUkFORF8yNCI6IkxPR08iLGNsYXNzTmFtZToieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uSWNvbiJ9KSkpfSwib2MiKTt1Vi5pZG9tQ29tcGF0PSEwO3ZhciBhVDt2YXIgQW1hPV8uTCgoe0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6Yixwcm9ncmVzc0JhcldpZHRoOmMscHJvZ3Jlc3NDb2xvcjpkfSk9Pnt2YXIgZT0oKT0+Z1QoYigpKSxmPSgpPT5qVChhKCkpLGg9KCk9PmMoKSooYSgpLnZhL2EoKS52aWRlb0R1cmF0aW9uKTtyZXR1cm4gXy5LKCJ5dC1jaGFwdGVyZWQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0Jhckhvc3QifSxfLksoXy5nRyx7cGE6ZX0sKGssbCk9Pl8uSyh6bWEse055OmYsY2hhcHRlcnM6ZSxpbmRleDpsLEN6OmgscHJvZ3Jlc3NDb2xvcjpkLER1OigpPT57dmFyIG09alQoYSgpKSxuPWdUKGIoKSkscD1sKCkscj1oKCk7cmV0dXJuKG0udmEtaFQoXy5CKG5bcF0sZVQpKSkvbS52YSpyfX0pKSl9LCJwYyIpLHptYT1fLkwoKHtOeTphLGNoYXB0ZXJzOmIsaW5kZXg6YyxDejpkLER1OmUscHJvZ3Jlc3NDb2xvcjpmfSk9Pnt2YXIgaD1fLlAoInl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyIiwKe3l0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVySXNTY3J1YmJpbmc6KCk9PmsoKS5ibSx5dENoYXB0ZXJlZFByb2dyZXNzQmFySG92ZXJlZE1hY3JvTWFya2VyOigpPT5rKCkuQmcseXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJTZWVuOigpPT5rKCkuTGQ9PT0ic2VlbiJ9KSxrPSgpPT5pVChhKCksYigpLGMoKSksbD0oKT0+e3ZhciBtPWY/LigpO3JldHVybiBtIT09dm9pZCAwP18uSkUobSk6dm9pZCAwfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpoLHN0eWxlOl8uSUUoe3dpZHRoOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpLHI9Xy5CKG5bcF0sZVQpO249Xy5CKG5bcCsxXSxlVCk7cmV0dXJuYCR7KG4/aFQobiktaFQocik6bS52aWRlb0R1cmF0aW9uLWhUKHIpKS9tLnZpZGVvRHVyYXRpb24qMTAwfSVgfSwiYmFja2dyb3VuZC1jb2xvciI6KCk9PnthOnt2YXIgbT1rKCk7c3dpdGNoKG0uTGQpe2Nhc2UgInBlbmRpbmciOm09Cm0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtjYXNlICJhY3RpdmUiOm09bS5CZz8id2hpdGUiOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIjticmVhayBhO2RlZmF1bHQ6bT0iIn19cmV0dXJuYCR7bX1gfSwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpKT9kKCk6IiJ9cHhgLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXgiOigpPT5gJHtvVChrKCkpP2UoKToiIn1weGAsYmFja2dyb3VuZDooKT0+aygpLkxkPT09InNlZW4iP2woKTp2b2lkIDB9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckxvYWRlZCIsc3R5bGU6KCk9Pnt2YXIgbT1hKCksbj1iKCkscD1jKCk7aWYoaVQobSxuLHApLkxkPT09InNlZW4iKXZhciByPTA7ZWxzZSByPWhUKF8uQihuW3BdLGVUKSksbj1oVChfLkIobltwKzFdLGVUKSl8fG0udmlkZW9EdXJhdGlvbixtPW0udmlkZW9EdXJhdGlvbiptLlFtLHI9bjw9Cm0/MTpyPj1tPzA6KG0tcikvKG4tcik7cmV0dXJuYHdpZHRoOiAke3IqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJGaWxsIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7blQoYSgpLGIoKSxjKCkpKjEwMH0lYCwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZSgpOiIifXB4YCxiYWNrZ3JvdW5kOmx9KX0pKX0sInFjIik7dmFyIHZWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPSgpPT57dmFyIGQ9KGIoKS5TaT8uTXU/PzApKjEwMCxlPShiKCkuU2k/Lkx1Pz8wKSoxMDAsZj1lLWQ7cmV0dXJuIGY+MCYmZjwxMD8oZj0oMTAtZikvMixkLWY+PTAmJmUrZjwxMDA/W2QtZixlK2ZdOmQtZjwwP1swLDEwXTpbOTAsMTAwXSk6W2QsZV19O3JldHVybiBfLksoInl0LWZvY3VzZWQtY2hhcHRlci1wcm9ncmVzcy1iYXItbGluZSIse2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lQm90dG9tSW5zZXQ6KCk9PmIoKS5wb3NpdGlvbj09PTJ9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQiLHN0eWxlOigpPT5gd2lkdGg6ICR7YygpWzFdLWMoKVswXX0lOyBsZWZ0OiAke2MoKVswXX0lYH0sXy5LKCJkaXYiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTooKT0+e3ZhciBkPWIoKS5TaT8uTXU/PzAsZT1iKCkuU2k/Lkx1Pz8wLGY9d1MoYSgpKTtyZXR1cm5gd2lkdGg6ICR7ZjxkPzA6Zj5lfHxlPT09ZD8xMDA6KGYtZCkvKGUtZCkqMTAwfSU7YH19KSkpKX0sInJjIik7dlYuaWRvbUNvbXBhdD0hMDt2YXIgQm1hPSgoYSxiPVpsYSk9Pnt2YXIgYyxkPVtdLGUsZj0hMTtyZXR1cm4gZnVuY3Rpb24oLi4uaCl7aWYoZiYmYz09PXRoaXMmJmIoaCxkKSlyZXR1cm4gZTtlPWEuYXBwbHkodGhpcyxoKTtmPSEwO2M9dGhpcztkPWg7cmV0dXJuIGV9fSkoYT0+e3ZhciB7bWluSGVpZ2h0RHA6Yj0wLG1heEhlaWdodERwOmM9NjAsaGVhdE1hcmtlcnM6ZH09YSxlPTFFMy9kLmxlbmd0aDthPVtdO2EucHVzaCh7eDowLHk6MTAwfSk7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBoPShmKy41KSplLGs9MTAwLURRKChfLkIoZFtmXSxnbWEpPy5oZWF0TWFya2VySW50ZW5zaXR5U2NvcmVOb3JtYWxpemVkfHwwKSoxMDAsYi8zMjEqMTAwLGMvMzIxKjEwMCk7ZiE9PTB8fGEucHVzaCh7eDowLHk6a30pO2EucHVzaCh7eDpoLHk6a30pO2Y9PT1kLmxlbmd0aC0xJiZhLnB1c2goe3g6MUUzLHk6a30pfWEucHVzaCh7eDoxRTMseToxMDB9KTtlPSIiO2ZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2g9CmFbZl07aWYoZj09PTApaD1gTSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWA7ZWxzZXtrPUxSKGFbZi0xXSxhW2YtMl0saCk7bGV0IGw9TFIoaCxhW2YtMV0sYVtmKzFdLCEwKTtoPWAgJHtgQyAke2sueC50b0ZpeGVkKDEpfSwke2sueS50b0ZpeGVkKDEpfSAke2wueC50b0ZpeGVkKDEpfSwke2wueS50b0ZpeGVkKDEpfSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWB9YH1lKz1ofXJldHVybiBlfSk7dmFyIENtYT1fLkwoKHtMYjphLGNvbmZpZzpiLGhpZ2hDb250cmFzdDpjfSk9PntjPV8uUCgieXRIZWF0U2Vla2VySG9zdCIse3l0SGVhdFNlZWtlckhpZ2hDb250cmFzdDpjfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWhlYXRzZWVrZXIiLHtjbGFzczpjLHN0eWxlOigpPT5gaGVpZ2h0OiAzMjBweDsgZGlzcGxheTogJHthKCkuaXNEcmFnZ2luZyYmRlMoYigpLlJhKT8uaGVhdE1hcmtlcnM/ImJsb2NrIjoibm9uZSJ9YH0sXy5LKF8uTyx7QTooKT0+RlMoYigpLlJhKSx0aGVuOmQ9Pl8uSyhfLk8se0E6KCk9PmQoKS5oZWF0TWFya2Vycyx0aGVuOigpPT5fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjMyMHB4Iix2aWV3Qm94OiIwIDAgMTAwMCAxMDAiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSxfLksoInBhdGgiLHtkOigpPT5CbWEoZCgpKX0pKSxkZWJ1Z0luc3RhbmNlOiJHamkwU2UifSksZGVidWdJbnN0YW5jZToiaVZUWHdmIn0pKX0sInNjIik7dmFyIHdWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmUiLHt5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyQmFja2dyb3VuZCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTG9hZGVkIixzdHlsZTooKT0+YHdpZHRoOiAke2EoKS5RbSoxMDB9JWB9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFySG92ZXJlZCIsc3R5bGU6KCk9Pnt2YXIgZD0KYSgpO3JldHVybmB3aWR0aDogJHsoZC52aWRlb0R1cmF0aW9uP0RRKGQuZGovZC52aWRlb0R1cmF0aW9uLDAsMSk6MCkqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJQbGF5ZWQiLHN0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHt3UyhhKCkpKjEwMH0lYCxiYWNrZ3JvdW5kOigpPT5iKCkucHJvZ3Jlc3NDb2xvciE9PXZvaWQgMD9fLkpFKGIoKS5wcm9ncmVzc0NvbG9yKTp2b2lkIDB9KX0pKSl9LCJ0YyIpO3dWLmlkb21Db21wYXQ9ITA7dmFyIHhWPV8uTCgoe0xiOmEsaGY6YixCeDpjLFd3OmR9KT0+e3ZhciBlPV8uUCgieXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdCIse3l0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZTooKT0+YSgpLmlzRHJhZ2dpbmcseXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdEhpZGU6KCk9PiFhKCkuaXNEcmFnZ2luZyYmZCgpfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLXBsYXloZWFkIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJQbGF5aGVhZEhvc3QiLHN0eWxlOl8uSUUoeyJtYXJnaW4tbGVmdCI6KCk9PmAke3hTKGEoKSkqMTAwfSVgLHRyYW5zZm9ybTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2U/YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMjA6MTB9cHgpYDpgdHJhbnNsYXRlWCgtJHtjKCk/eFMoYSgpKSoxMjo2fXB4KWB9KX0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2UsCnRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b20iLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b21IaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMjA6MTB9cHggY2VudGVyYH0pfSxfLksoXy5qRix7ZGF0YTpmLGFsdDoiIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixUYjohMX0pKSxXOigpPT5fLksoImRpdiIse2NsYXNzOmUsc3R5bGU6Xy5JRSh7InRyYW5zZm9ybS1vcmlnaW4iOigpPT5gJHtjKCk/eFMoYSgpKSoxMjo2fXB4IGNlbnRlcmB9KX0pfSkpfSwidWMiKTt4Vi5pZG9tQ29tcGF0PSEwO3ZhciBEbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3RoaXMuST1hO3RoaXMuQj1iO3RoaXMuSz1jO3RoaXMuVT1kO3RoaXMuWj1lO3RoaXMuTT1mO3RoaXMuc3RhcnRQb3NpdGlvbj1udWxsO3RoaXMuaj10aGlzLnY9dGhpcy5vPSExO3RoaXMuRD1uZXcgXy5XdCh0aGlzLlksMTAwLHRoaXMpfVkoYSxiLGMpe2lmKGI9Yi5IKXtpZihiLmdldFZpZGVvRGF0YSgpPy5pc0xpdmUpe2xldCBkPXRoaXMuZ2V0UHJvZ3Jlc3NTdGF0ZShiKTthKz1kPy5zZWVrYWJsZVN0YXJ0fHwwfWIuc2Vla1RvKGEsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYyl9fWdldFByb2dyZXNzU3RhdGUoYSl7dmFyIGI9YT8uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtyZXR1cm4gYT8uZ2V0UHJvZ3Jlc3NTdGF0ZShiKX19O3ZhciBGbWE9Xy5MKCh7TGI6YSxjb25maWc6YixabTpjLFJhOmR9KT0+e3ZhciBlPURUKGEsKCk9PmIoKS5JYiksZj0oKT0+IWEoKS5RYyYmIWIoKS5JYixoPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIsInl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5iKCkuSWImJiEwfSk7cmV0dXJuIF8uSygieXQtcGxheWVyLXN0b3J5Ym9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmd8fGEoKS5RYyx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6aCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKHlWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSksVzooKT0+Xy5LKEVtYSx7cHJvcHM6YSxmcmFtZTplLGNvbmZpZzpiLFptOmMsUmE6ZH0pfSl9KX0pKX0sInZjIiksR21hPV8uTCgoe0xiOmEsSWI6Yn0pPT4Ke3ZhciBjPURUKGEsYik7cmV0dXJuIF8uSygieXQtcGxheWVyLWJpZy1zdG9yeWJvYXJkIix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyh6Vix7ZnJhbWU6Yyxwcm9wczphLGVlOiEwfSl9KX0pKX0sIndjIiksRW1hPV8uTCgoe3Byb3BzOmEsZnJhbWU6Yixjb25maWc6YyxabTpkLFJhOmV9KT0+e3ZhciBmPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5jKCkuSWImJiEwLHl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXI6KCk9PmMoKS54cSx5dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUluOigpPT5jKCkudXNlRmFkZUluQW5pbWF0aW9ufSksaD0oKT0+e2lmKCFfLngoImVuYWJsZV93ZWJfd2F0Y2hfbmV4dF9pbXBfY2xpZW50Iil8fCFjKCkueHEpcmV0dXJuIDE7CnZhciBrPWEoKS5IPy5nZXRTaXplKCk/LmhlaWdodD8/MDtyZXR1cm4gaz4wJiZrPDE2MD9rLzE2MDoxfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoKCk9Pnt2YXIgaz1hKCksbD15VChiKCkpKmgoKSxtPWQoKTtrPUFUKGspL2sudmlkZW9EdXJhdGlvbjt2YXIgbj1tKmsscD1sLzIrNjtsPW0tKGwvMis2KTtyZXR1cm57bGVmdDpgJHtuPD1wP3AvbSoxMDA6bj49bD9sL20qMTAwOmsqMTAwfSVgLCItLXN0b3J5Ym9hcmQtc2NhbGUiOmAke2goKX1gfX0pfSxfLksoXy5PLHtBOigpPT57dmFyIGs9YSgpO3JldHVybiEoYygpLkliJiZrLnZpZGVvRHVyYXRpb248MTUpfSx0aGVuOigpPT5fLksoelYse2ZyYW1lOmIscHJvcHM6YSxlZTohMSx6QTpofSl9KSxfLksoeVYse3Byb3BzOmEsY29uZmlnOmMsZWU6ITEsUmE6ZX0pKX0sInhjIikselY9Xy5MKCh7ZnJhbWU6YSxwcm9wczpiLGVlOmMsekE6ZH0pPT57dmFyIGU9KCk9PmIoKS5IPy5nZXRWaWRlb0NvbnRlbnRSZWN0KCk/Pwp7d2lkdGg6MCxoZWlnaHQ6MH0sZj1fLlAoe3l0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkSW1hZ2VXcmFwcGVyOmMseXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcjooKT0+IWMoKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6Xy5JRSgoKT0+KHt3aWR0aDpgJHtjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKX1weGAsaGVpZ2h0OmAke2MoKT9lKCkuaGVpZ2h0OnpUKGEoKSkqKGQ/LigpPz8xKX1weGB9KSl9LF8uSyhIbWEse2ZyYW1lOmEsUEE6KCk9PnlUKGEoKSksTkE6KCk9PnpUKGEoKSksT0E6KCk9Pnt2YXIgaD15VChhKCkpO3JldHVybiBoPjA/KGMoKT9lKCkud2lkdGg6eVQoYSgpKSooZD8uKCk/PzEpKS9oOjF9fSkpfSwieWMiKSxIbWE9Xy5MKCh7ZnJhbWU6YSxQQTpiLE5BOmMsT0E6ZH0pPT5fLksoImltZyIse3NyYzooKT0+YSgpPy51cmw/PyIiLGNsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2UiLGFsdDoicHJldmlldy1pbWFnZSIsCnN0eWxlOl8uSUUoKCk9Pnt2YXIgZT1hKCk/P3tyb3c6MCxjb2x1bW46MCx3aWR0aDowLGhlaWdodDowfSxmPWIoKSxoPWMoKSxrPWQoKSx7bGVmdDpsLHRvcDptfT17bGVmdDotZS5jb2x1bW4qZiprLHRvcDotZS5yb3cqaCprfTtyZXR1cm57bGVmdDpgJHtsfXB4YCx0b3A6YCR7bX1weGAsd2lkdGg6YCR7ZS53aWR0aCprfXB4YCxoZWlnaHQ6YCR7ZS5oZWlnaHQqa31weGB9fSl9KSwiemMiKSx5Vj1fLkwoKHtwcm9wczphLGNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57dmFyIGU9Xy5QKCJ5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YSIse3l0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmQ6Y30pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmV9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhBVix7cHJvcHM6YSxjb25maWc6Yn0pLF8uSyhfLk8se0E6KCk9PnthOnt2YXIgZj1hKCk7dmFyIGg9YigpLGs9ZCgpO2lmKGg/LlJnJiZfLkIoaD8uUmcsZVQpPy50aXRsZSlmPQohMDtlbHNle2ZvcihsZXQgbCBvZiBGUyhrKT8uaGVhdE1hcmtlcnNEZWNvcmF0aW9ucz8/W10pe2Y9KGg9Xy5CKGwscVYpKSYmQlQoZixoKTticmVhayBhfWY9ITF9fXJldHVybiBmfSx0aGVuOigpPT5fLksoQlYse3Byb3BzOmEsY29uZmlnOmIsZWU6ITAsUmE6ZH0pfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSl9KSl9LCJBYyIpLEFWPV8uTCgoe3Byb3BzOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wU2hvcnRzOigpPT5iKCkuSWIseXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wSXNIb3ZlcmluZzooKT0+YSgpLlFjfHxiKCkuSWImJiExfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uSUIsbnVsbCwoKT0+Q1QoQVQoYSgpKSkpKX0sIkJjIiksQlY9Xy5MKCh7cHJvcHM6YSwKY29uZmlnOmIsZWU6YyxSYTpkfSk9PntjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGUiLHt5dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT4hYigpLkliLHRoZW46KCk9Pl8uSyhJbWEse3Byb3BzOmEsUmc6KCk9PmIoKS5SZyxSYTpkfSl9KSl9LCJDYyIpLEltYT1fLkwoKHtwcm9wczphLFJnOmIsUmE6Y30pPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+e3ZhciBkPWMoKTtyZXR1cm4gRlMoZCk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdfSx0YjoiSU5ERVgifSxkPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9Pl8uQihkKCkscVYpJiZCVChhKCksXy5CKGQoKSxxVikpLHRoZW46KCk9Pl8uSyhKbWEse2NCOigpPT5fLkIoZCgpLHFWKX0pfSkpKSxfLksoXy5PLHtBOigpPT5iKCkmJl8uQihiKCksZVQpPy50aXRsZSx0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZCxyZzohMH0pfSkpLAoiRGMiKSxKbWE9Xy5MKCh7Y0I6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24sY2xhc3NOYW1lOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb24ifSkpLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5sYWJlbCxyZzohMH0pKSwiRWMiKTt2YXIgQ1Y9Xy5MKCh7TGI6YSxoZjpiLGNvbmZpZzpjfSk9Pnt2YXIgZD1fLnVFKCJ5dC1wcm9ncmVzcy1iYXIiKSxlPV8udUUoImRpdiIpLGY9Xy51RSgiZGl2IiksW2gsa109Xy5KKHt3aWR0aDowLGxlZnQ6MH0sdm9pZCAwLCJkMWJzYmYiKSxsPSgpPT57Zi52YWx1ZSYmayhmLnZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX0sbT0oKT0+e2goKS53aWR0aDw9MCYmbCgpO3JldHVybiBoKCl9O18uRFAoInJlc2l6ZSIsbCk7dmFyIG49bmV3IERtYShtLCgpPT57fSwoKT0+MCwoKT0+e30sKCk9Pnt9LCgpPT57fSkscD0oKT0+YSgpLFtyLHRdPV8uSighMSx2b2lkIDAsImNWc1RLIik7Xy5EUCgibW91c2Vtb3ZlIixZa2EobixwLGMpKTtfLkRQKCJtb3VzZXVwIix4VChuLHAsYykpO3ZhciB2O18uVUooKCk9PntHa2EoZS52YWx1ZSk7dCghMSk7bCgpO3hUKG4scCxjKSgpO2MoKS5paiYmKHY9bmV3IFJlc2l6ZU9ic2VydmVyKGwpLHYub2JzZXJ2ZShmLnZhbHVlKSk7Xy5ZdSgoKT0+Cnt2Py5kaXNjb25uZWN0KCl9KX0pO3ZhciB6PV8uUCgieXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3QiLCgpPT5jKCkuY2xhc3NOYW1lLHt5dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5OigpPT5jKCkuZGlzYWJsZVNjcnViYmluZyx5dFBsYXllclByb2dyZXNzQmFySG9zdEhpZGRlbjooKT0+YygpLmtKJiYhcigpLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0TG93ZXJQbGF5ZXI6KCk9PmMoKS5wb3NpdGlvbj09PTAseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tSW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RDdXN0b206KCk9PmMoKS5wb3NpdGlvbj09PTN9KSxFPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmQiLHt5dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGU6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJgohYSgpLmlzRHJhZ2dpbmd9KSxBPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lckJvdHRvbUVkZ2U6KCk9PmMoKS5wb3NpdGlvbj09PTF9KSxGPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFyIix7eXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWQ6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJiFhKCkuaXNEcmFnZ2luZ30pLEM9KCk9Pk1hdGguZmxvb3Iod1MoYSgpKSoxMDApO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhciIse2VsOmQsY2xhc3M6en0sXy5LKF8uTyx7QTooKT0+YygpLnBvc2l0aW9uPT09Mix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOkV9KX0pLF8uSygiZGl2Iix7ZWw6ZSwib246Y2xpY2siOmZ1bmN0aW9uKEcpeyhjKCkuREl8fHR5cGVvZiBQb2ludGVyRXZlbnQhPT0KInVuZGVmaW5lZCImJkcgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJkcucG9pbnRlclR5cGU9PT0ibW91c2UiKSYmT2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hzdGFydCI6ZnVuY3Rpb24oRyl7UGthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oRyl7UmthKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oKXt0KCEwKTtjKCkucG9zaXRpb249PT0yP3NldFRpbWVvdXQoKCk9PntsKCl9LDEwMCk6bCgpfSwib246bW91c2Vkb3duIjpmdW5jdGlvbihHKXtRa2EobixwKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt0KCExKTtUa2EocCkoKX0sIm9uOm1vdXNlbW92ZSI6ZnVuY3Rpb24oRyl7U2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2V1cCI6ZnVuY3Rpb24oRyl7VmthKG4sCnAsYykoRyk7cigpJiZhKCkuUyh7UWM6ITB9KTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hlbmQiOmZ1bmN0aW9uKEcpe1VrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoY2FuY2VsIjpmdW5jdGlvbihHKXtXa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjprZXlkb3duIjpmdW5jdGlvbihHKXtYa2EocCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6QSxyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpDLCJhcmlhLXZhbHVldGV4dCI6KCk9PmAke0MoKX0lYCwiYXJpYS12YWx1ZW1pbiI6KCk9PjAsImFyaWEtdmFsdWVtYXgiOigpPT4xMDAsZHJhZ2dhYmxlOiJmYWxzZSIsdGFiaW5kZXg6MCwiYXJpYS1sYWJlbCI6Xy5hQSgiU0VFS19TTElERVIiKX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOkZ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVySW5zZXQ6KCk9PgpjKCkucG9zaXRpb249PT0yfSl9LF8uSyhDbWEse0xiOmEsY29uZmlnOmMsaGlnaENvbnRyYXN0OigpPT4hIWMoKS5paiYmYygpLnBvc2l0aW9uIT09Mn0pKSxfLksoXy5PLHtBOigpPT5jKCkuUmEmJnprYShjKCkuUmEpLHRoZW46KCk9Pl8uSyhBbWEse0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6KCk9PmMoKS5SYSxwcm9ncmVzc0JhcldpZHRoOigpPT5oKCkud2lkdGgscHJvZ3Jlc3NDb2xvcjooKT0+YygpLnByb2dyZXNzQ29sb3J9KSxXOigpPT5fLksoXy5PLHtBOigpPT5jKCkuU2ksdGhlbjooKT0+Xy5LKHZWLHtMYjphLGNvbmZpZzpjfSksVzooKT0+Xy5LKHdWLHtMYjphLGNvbmZpZzpjfSl9KX0pLF8uSyh4Vix7TGI6YSxoZjooKT0+Xy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIik/YygpLmhmOmI/LigpLEJ4OigpPT5jKCkucG9zaXRpb24hPT0yLFd3OigpPT5jKCkueHI9PT0xJiYhcigpfHxjKCkueHI9PT0yfSkpKSxfLksoRm1hLHtMYjphLGNvbmZpZzooKT0+Cih7Umc6bFQoYSgpLGMoKS5SYSksZEo6KCk9Pm0oKS53aWR0aCxJYjohIWMoKS5JYix4cTohIWMoKS5paix1c2VGYWRlSW5BbmltYXRpb246ISFjKCkuaWp9KSxabTooKT0+aCgpLndpZHRoLFJhOigpPT5jKCkuUmF9KSl9LCJGYyIpO0NWLmlkb21Db21wYXQ9ITA7dmFyIERWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgZD1hLnBsYXllck92ZXJsYXlSZW5kZXJlcj8uKCk7aWYoZClyZXR1cm4gelMoZCl9LGM9KCk9Pnt2YXIgZD1iKCk7aWYoZCl7dmFyIGU9YS5KbygpLmF1dG9uYXZFbmFibGVkO3JldHVybiBfLmFOKGU/Xy5CKGQuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0Ol8uQihkLmRpc2FibGVkRWR1Q29tbWFuZCxXVSk/LnRleHQpfX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuSm8oKS5ZaCYmISFiKCksdGhlbjooKT0+Xy5LKCJhdXRvbmF2LXRvb2x0aXAiLHtjbGFzczoieXR3QXV0b25hdlRvb2x0aXBIb3N0Iixyb2xlOiJhbGVydCJ9LF8uSygic3BhbiIseyJhcmlhLWxhYmVsIjpjLHJvbGU6InRleHQifSxjKSl9KX0sIkdjIik7RFYuaWRvbUNvbXBhdD0hMDt2YXIgRVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJzcGVlZG1hc3Rlci10b29sdGlwIiksYz1fLk4oKCk9PmEuRygpLnNiLHZvaWQgMCwiRXNUUmxjIik7Xy5uRSgoKT0+e2lmKGMoKSYmYi52YWx1ZSl7bGV0IGQ9bnVsbDtTUygxNzMwNDAsYi52YWx1ZSxkLGU9PntkPWV9KX19LCJBdnBHSWYiKTtyZXR1cm4gXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygic3BlZWRtYXN0ZXItdG9vbHRpcCIse2VsOmIsY2xhc3M6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBMYWJlbCJ9LF8uJE4uR3QpLF8uSyhfLk1ELHtpY29uOiJGQVNUX0ZPUldBUkQiLGFjdGl2ZTohMCxjbGFzc05hbWU6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb24ifSkpfSl9LCJJYyIpO0VWLmlkb21Db21wYXQ9ITA7dmFyIEZWPV8uTChhPT5fLksoInBsYXllci11c2VyLWVkdS10b29sdGlwIix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdCJ9LF8uSyhEVix7Sm86YS5HLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXIifSxfLksoRVYse0c6YS5HfSkpKSksIkpjIik7RlYuaWRvbUNvbXBhdD0hMDt2YXIgWmthPVswLDEsMjAsMjFdO3ZhciBhbGE9WzAsMSwyMCwyMV0sR1Q9dm9pZCAwO3ZhciBLbWE9Xy5MKCh7dWQ6YSxFcjpifSk9PntmdW5jdGlvbiBjKHApe3AudG91Y2hlcz8uWzBdJiYocD1wLnRvdWNoZXNbMF0sayh7eDpwLnBhZ2VYLHk6cC5wYWdlWX0pKX1mdW5jdGlvbiBkKHApe3ZhciByPWgoKTtpZighcnx8IXAudG91Y2hlcz8uWzBdKXJldHVybiBudWxsO3A9cC50b3VjaGVzWzBdO3JldHVybntsazpwLnBhZ2VYLXIueCxPZDpwLnBhZ2VZLXIueX19dmFyIFtlLGZdPV8uSihudWxsLHZvaWQgMCwiQWgzMGciKSxoPWUsaz1mLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJRbzc2aGQiKTtfLll1KCgpPT57RlQoYSgpKTttKEVUKGwoKSkpfSk7dmFyIG49e0diOigpPT5fLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOigpPT5iPy4oKT8ubWVudVJlbmRlcmVyPy5pdGVtc3x8W119LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cH0pPT5fLksoXy5wTCx7ZGF0YTpwLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6Xy5mSn0pKSxIYTohMH07cmV0dXJuIF8uSygieXRtLXNob3J0cy1nZXN0dXJlLW92ZXJsYXktY29udHJvbHMiLAp7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheSJ9LF8uSyhGVix7RzphfSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc0dlc3R1cmVDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO20oJGthKGEoKSxwLnRvdWNoZXMubGVuZ3RoLAooKT0+e18ueU4obil9LGwoKSkpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtpZihyKXtwPWwoKTt2YXIgdD1yLmxrO3I9ci5PZDtwPU1hdGguc3FydCh0KnQrcipyKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKT9FVChwKTpwO20ocCl9fSwib246dG91Y2hlbmQiOigpPT57bShFVChsKCkpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57bShFVChsKCkpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhIiwib246dG91Y2hzdGFydCI6cD0+e2MocCk7SFQoYSgpLHAudG91Y2hlcy5sZW5ndGgpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtyJiZJVChwLHIsYSgpKX0sIm9uOnRvdWNoZW5kIjooKT0+e0ZUKGEoKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e0ZUKGEoKSk7ayhudWxsKX19KSkpfSwiS2MiKTt2YXIgR1Y9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJkaXYiKSxjPV8uTigoKT0+YS50aHVtYm5haWxEZXRhaWxzPy4oKSx2b2lkIDAsIkU4OFVHZCIpLGQ9Xy5OKCgpPT5hLkcoKS5iYSx2b2lkIDAsIlh0R0FtZSIpO18ubkUoKCk9PntjbGEoYi52YWx1ZSxjKCksZCgpKX0sInlBa2lpYyIpO3JldHVybiBfLksoInZpZGVvLWNvdmVyIix7Y2xhc3M6Xy5QKCJ5dG1WaWRlb0NvdmVySG9zdCIse2VuZGVkOigpPT51UyhhLkcoKSksaGlkZGVuOigpPT57dmFyIGU9YS5HKCk7cmV0dXJuISgkUyhlKXx8dVMoZSkpfX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0NvdmVyVGh1bWJuYWlsIixlbDpifSkpfSwiTWMiKTtHVi5pZG9tQ29tcGF0PSEwO25ldyBfLld0KGVsYSwyMDApO3ZhciBTVD0wO3ZhciBVVD1KUigpLFZUPSExO25ldyBfLkN0KCJwbGF5ZXJTZXR0aW5nc01lbnUiLCJOeGQzdWYiKTt2YXIgTG1hPV8uTCgoe2dmOmEsRXg6YixyZWVsUGxheWVyU2NydWJiZXJSZW5kZXJlcjpjfSk9Pnt2YXIgZD1fLlAoInl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdCIse3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdElzU2NydWJiYWJsZU1vZGU6KCk9PlhUKGEoKSxiKCkpfSx7eXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFyOigpPT5XVChhKCksYigpKSYmYSgpLnZpZGVvRHVyYXRpb248PTMwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZH0sXy5LKENWLHtMYjphLGNvbmZpZzooKT0+e3ZhciBlPXtJYjohMCxwb3NpdGlvbjozLGRpc2FibGVTY3J1YmJpbmc6IVhUKGEoKSxiKCkpLEluOiExLHhyOlhUKGEoKSxiKCkpPzA6MSxvblRvdWNoTW92ZTooKT0+e2EoKS5nZXx8KGEoKS5TKHtnZTohMH0pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLApkZXRhaWw6e2dlOiEwfX0pKSl9LG9uVG91Y2hFbmQ6aD0+e1VTKGgpO2EoKS5TKHtnZTohMX0pO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLGRldGFpbDp7Z2U6ITF9fSkpfX0sZj1jPy4oKTtyZXR1cm4gZj8ucGxheWhlYWRJbWFnZT97Li4uZSxoZjp7cGxheWhlYWRJbWFnZTpmLnBsYXloZWFkSW1hZ2V9fTplfX0pKX0sIlFjIiksTW1hPV8uTCgoe0g6YSxjb250ZXh0OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6YyxFcjpkfSk9Pnt2YXIgW2UsZl09Xy5KKCExLHZvaWQgMCwiUWNaU2dkIiksW2gsa109Xy5KKCExLHZvaWQgMCwiY250enJmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiU1RJYWViIiksW24scF09Xy5KKCExLHZvaWQgMCwiQ3dYZmJjIiksW3IsdF09Xy5KKDAsdm9pZCAwLCJzNUtMTWIiKSxbdix6XT1fLkooMCx2b2lkIDAsImdqbHFOYyIpLFtFLEFdPV8uSigwLAp2b2lkIDAsIkdVY2laZSIpLFtGLENdPV8uSigiIix2b2lkIDAsInhHSWU4IiksW0csRF09Xy5KKCExLHZvaWQgMCwiRnA1RDRiIiksSD1fLk4oKCk9Pnt2YXIgcGE9e2VhOmUoKSxnZTpoKCkseWI6bCgpLGlzRHJhZ2dpbmc6bigpLHZpZGVvRHVyYXRpb246digpLHZhOkUoKSx2aWRlb0lkOkYoKSxDYTpyKCksc2I6RygpfTtyZXR1cm57Li4uZFQoKSwuLi5wYSwuLi4oYj8uKCk/P3t9KSxTOm9hPT57b2EuZWEhPT12b2lkIDAmJmYob2EuZWEpO29hLmdlIT09dm9pZCAwJiZrKG9hLmdlKTtvYS55YiE9PXZvaWQgMCYmbShvYS55Yik7b2EuaXNEcmFnZ2luZyE9PXZvaWQgMCYmcChvYS5pc0RyYWdnaW5nKTtvYS5DYSE9PXZvaWQgMCYmdChvYS5DYSk7b2EudmlkZW9EdXJhdGlvbiE9PXZvaWQgMCYmeihvYS52aWRlb0R1cmF0aW9uKTtvYS52YSE9PXZvaWQgMCYmQShvYS52YSk7b2EudmlkZW9JZCE9PXZvaWQgMCYmQyhvYS52aWRlb0lkKTtvYS5zYiE9PXZvaWQgMCYmRChvYS5zYil9LHRhOntpc0Z1bGxzY3JlZW46Xy5yUCwKdG9nZ2xlRnVsbHNjcmVlbjp1amEsZXhpdEZ1bGxzY3JlZW46JFEsZGU6ZmxhLFJqOmhsYSxVbDppbGF9LEg6YSgpfX0sdm9pZCAwLCJVeWNNU2IiKSxSPU1rYShIKSxNPUxrYShIKSxTPUtrYShIKSxZPSgpPT57fTtfLm9GKCgpPT57dmFyIHBhPWEoKTtwYSYmKHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsUikscGEuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLE0pLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLFMpKX0pO18uWXUoKCk9Pnt2YXIgcGE9YSgpO3BhJiZwYT8uaXNSZWFkeT8uKCkmJihwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtyZXR1cm4gXy5LKCJ5dC1td2ViLXNob3J0cy1wbGF5ZXItY29udHJvbHMiLHtjbGFzczpfLlAoe1Byb2dyZXNzQmFyU2hvd2luZzooKT0+ClhUKEgoKSwhMCl9KX0sXy5LKF8uTyx7QTooKT0+SCgpLmJhPy5aaCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpILHRodW1ibmFpbERldGFpbHM6WX0pLF8uSyh1Vix7RzpILEg6YX0pKX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgcGE9SCgpO3JldHVybiBYVChwYSwhMCl8fFdUKHBhLCEwKX0sdGhlbjooKT0+Xy5LKExtYSx7Z2Y6SCxFeDooKT0+ITAscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIiksdGhlbjooKT0+Xy5LKF8uQ1Ase3Jvb3Q6IiNnZXN0dXJlLWxheWVyIn0sKCk9Pl8uSyhLbWEse3VkOkgsRXI6ZH0pKX0pKX0sIlNjIik7dmFyIEhWPV8uTChhPT57ZnVuY3Rpb24gYihVKXtVIT09MHx8cigpP1U+NTAmJihyKCl8fCFFKCkpPyh0KCExKSxBKCEwKSk6VTw9NTAmJihyKCl8fEUoKSkmJih0KCExKSxBKCExKSk6dCghMCl9YXN5bmMgZnVuY3Rpb24gYyhVLGhhKXsoVT1lKCk/P2F3YWl0IF8uTEgoKSkmJihoYT9VLnVuTXV0ZSghMCk6VS5tdXRlKCEwKSl9YXN5bmMgZnVuY3Rpb24gZChVKXt2YXIgaGE9ZSgpPz9hd2FpdCBfLkxIKCksbWE9NTA7aGEmJihtYT1oYS5nZXRWb2x1bWUoKSxoYS5pc011dGVkKCk/WlQoVSwwKTpaVChVLG1hKSk7RyhtYSl9dmFyIGU9a2xhKGEuSCksZj1fLnVFKCJ2b2x1bWUtY29udHJvbHMiKSxoPV8udUUoImJ1dHRvbiIpLGs9Xy52RSgiaW5wdXQiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJzTWNMbGIiKSxbbixwXT1fLkooITEsdm9pZCAwLCJnb05wdiIpLHI9bix0PXAsW3Ysel09Xy5KKCEwLHZvaWQgMCwia0FUOTUiKSxFPXYsQT16LFtGLENdPV8uSig1MCx2b2lkIDAsInE1cUQyYyIpLApHPUMsRD1fLk4oKCk9Pnt2YXIgVT1yKCk7cmV0dXJuIF8ueCgid2ViX3Nob3J0c19rZXlib2FyZF9lbmFibGVfbXV0ZV9zaG9ydGN1dCIpP1U/Xy5hQSgiUExBWUVSX0xBQkVMX1VOTVVURSIsdm9pZCAwLCJVbm11dGUgKG0pIik6Xy5hQSgiUExBWUVSX0xBQkVMX01VVEUiLHZvaWQgMCwiTXV0ZSAobSkiKTpVP18uYUEoIlVOTVVURV9WT0xVTUUiLHZvaWQgMCwiVW5tdXRlIik6Xy5hQSgiTVVURV9WT0xVTUUiLHZvaWQgMCwiTXV0ZSIpfSx2b2lkIDAsImxSMXNHYyIpLEg9Xy5OKCgpPT57dmFyIFU9cigpLGhhPUUoKTtyZXR1cm57c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6VT8iVk9MVU1FX09GRl9GSUxMRUQiOmhhPyJWT0xVTUVfVVBfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIn19XX19LHZvaWQgMCwiU0lxa2VjIiksUj1fLk4oKCk9Pnt2YXIgVT1GKCk7cmV0dXJuIHIoKT9gJHtVfSUgdm9sdW1lIG11dGVkYDpgJHtVfSUgdm9sdW1lYH0sdm9pZCAwLCJUZkhQMGQiKSwKTT1fLk4oKCk9PmEub3JpZW50YXRpb24oKT09PSJ2ZXJ0aWNhbF9kb3duIix2b2lkIDAsIlo3RjN1YiIpLFM9Xy5OKCgpPT5NKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIsdm9pZCAwLCJzVjJNcGIiKSxZPV8uTigoKT0+YS5Edj8uKCk/PyExLHZvaWQgMCwiem92VUxlIikscGE9Xy5OKCgpPT5hLkNwPy4oKT8/ITEsdm9pZCAwLCJwRVVocWUiKTtfLlVKKCgpPT57ZnVuY3Rpb24gVSgpe20oITApfWZ1bmN0aW9uIGhhKCl7bSghMSl9ayYmay52YWx1ZSYmKGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpLGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKSxkKGsudmFsdWUpLnRoZW4oKCk9PntiKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCkpfSkpO2gmJmgudmFsdWUmJihXUyhoLnZhbHVlLDI4NjYyKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSkpO18uWXUoKCk9Pgp7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtrPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpO2g/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpfSl9KTt2YXIgb2E9VT0+e1U9VS5tdXRlZD8wOlUudm9sdW1lO0coVSk7YihVKTtrLnZhbHVlJiZaVChrLnZhbHVlLFUpfTtfLm5FKCgpPT57dmFyIFU9ZSgpO1UmJihVLmFkZEV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSksXy5ZdSgoKT0+e1UucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLG9hKX0pKX0sInhoM0daYyIpO3JldHVybiBfLksoInZvbHVtZS1jb250cm9scyIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNIb3N0Iix7eXRkVm9sdW1lQ29udHJvbHNEaXNhYmxlU2xpZGVyOnBhfSxhLmNsYXNzTmFtZSksZWw6Zn0sXy5LKCJkaXYiLAp7Im9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXttKCExKX0sY2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2FsOk0seXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lckV4cGFuZGVkOigpPT5sKCl9KX0sXy5LKF8uTyx7QTooKT0+IWEuYmo/LigpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbSIse3l0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWQ6bCx5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTooKT0+bCgpJiZZKCl9KX0pfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXI6TX0pfSxfLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpELAp0aXRsZTpELGVsOmgsIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtYUygyODY2Mik7ayYmay52YWx1ZSYmYyhrLnZhbHVlLHIoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnBvaW50ZXJlbnRlciI6ZnVuY3Rpb24oKXttKCEwKX0sY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b24ifSxIP18uSyhfLmpGLHtkYXRhOkgsYWx0OkQsY2xhc3NOYW1lOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uIn0pOm51bGwpKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXIiLHt5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxEb3duOk0seXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbEV4cGFuZGVkOigpPT5sKCkmJk0oKSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXI6cGEsCnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmltOigpPT4hYS5iaj8uKCl9KSwib246Y2xpY2siOmZ1bmN0aW9uKFUpe1Uuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImlucHV0Iix7ZGlyOiJsdHIiLCJhcmlhLWxhYmVsIjpfLmFBKCJWT0xVTUUiKSx0aXRsZTpfLmFBKCJWT0xVTUUiKSxlbDprLCJvbjppbnB1dCI6ZnVuY3Rpb24oVSl7ayYmay52YWx1ZSYmamxhKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCksZSgpKTtVLnN0b3BQcm9wYWdhdGlvbigpfSx0eXBlOiJyYW5nZSIsY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyIixpZDoidm9sdW1lLWlucHV0Iixyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpGLCJhcmlhLXZhbHVldGV4dCI6UiwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6MTAwLCJhcmlhLW9yaWVudGF0aW9uIjpTfSkpKSl9LCJVYyIpO3ZhciBObWE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjPWEuRygpLGQ9Yy5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuKGMuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpKSYmISFkJiZkPDQyMH07cmV0dXJuIF8uSygieXRtLWZ1bGxzY3JlZW4tcmVsYXRlZC12aWRlb3MtZW50cnktcG9pbnQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsSG9zdCIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRpdGxlSGlkZGVuOmJ9KX0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbiIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbDpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksCiJvbjpjbGljayI6ZnVuY3Rpb24oYyl7YS5HKCkuUyh7TmE6ITB9KTtfLk1PKCIuZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbiAubWVkaWEtaXRlbS1pbmZvIGEiKTtiVCgpO2Muc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjooKT0+YS5kYXRhKCkudGl0bGU/LmNvbnRlbnQ/PyIifSxfLksoXy5PLHtBOigpPT4hYigpLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlfSl9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5pbWFnZUZyb250LHRoZW46Yz0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2sifSxfLksoXy5PLHtBOigpPT4hXy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKXx8ISFhLmRhdGEoKS5pbWFnZUJhY2ssdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwKInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNtYWxsRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VNaWRkbGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsTGFyZ2VGYWRlZFRodW1ibmFpbCIpfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXIifSxfLksoXy5qRix7ZGF0YTpjLGFsdDoiIixjbGFzc05hbWU6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbCIsYXJpYUhpZGRlbjohMCwKWWE6ITB9KSkpfSkpKX0sIlZjIik7dmFyIElWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pPT5fLksoInl0bS1zbGltLW1ldGFkYXRhLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOiJ5dG1TbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlckhvc3QifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pfSkpLCJXYyIpO0lWLmlkb21Db21wYXQ9ITA7dmFyIEpWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6YyxIYzpkfSk9Pnt2YXIgZT1fLkRJKF8uUkwsKCk9PmEoKS5saWtlU3RhdHVzRW50aXR5S2V5fHwiIiksZj0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97c3R5bGU6Im1vbm8ifTpjPy4oKSxoPSgpPT5fLnRQKCkmJmEoKS5pc0xpa2UmJmEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyP3thbmltYXRlSWNvbjoidHJ1ZSJ9OnZvaWQgMDtyZXR1cm4gXy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyO2lmKGsmJmEoKS5saWtlU3RhdHVzRW50aXR5S2V5KXtsZXQgbD1hKCkuaXNMaWtlP2UoKT8ubGlrZVN0YXR1cz09PSJMSUtFIjplKCk/Lmxpa2VTdGF0dXM9PT0iRElTTElLRSI7cmV0dXJuey4uLmssCmlzVG9nZ2xlZDpsfX1yZXR1cm4ga30sdGhlbjprPT5fLksoXy5xTyx7ZGF0YTprLHN0eWxlOmgsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmYsSGM6ZH0pfSkpfSwiWGMiKTtKVi5pZG9tQ29tcGF0PSEwO3ZhciBLVj1fLkwoYT0+e2Z1bmN0aW9uIGIocil7dmFyIHQ9YygpO3QuYmE/LkR6fHxfLnRQKCl8fHQuaXNGdWxsc2NyZWVuJiZ0LnRhLnRvZ2dsZUZ1bGxzY3JlZW4oKTtyLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPWEuRyxkPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGgsZT1fLk4oKCk9PiEhYS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKSx2b2lkIDAsIndzSERaIiksZj1fLlAoeyJwbGF5ZXItY29udHJvbHMtaGlkZSI6KCk9PiEoIUlTKGEuRygpKXx8YS5HKCkuYmE/LkVlJiYhYS5HKCkuTmEpfSksaD1hLndhdGNoTmV4dFJlc3BvbnNlLGs9YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsbD1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIsbT0oKT0+e3ZhciByPUNrYShoPy4oKSxrPy4oKSk7cmV0dXJuIGUoKXx8YS5HKCkuYmE/Lm9oP3IuZmlsdGVyKHQ9Pl8uQih0LGZtYSk/ITE6Xy5CKHQsXy5WTCk/Lmljb24/Lmljb25UeXBlIT09IkFERF9UT19XQVRDSF9MQVRFUiIpOgpyfSxuPSgpPT57dmFyIHI9aD8uKCksdD1rPy4oKSx2PWw/LigpLHo9JFMoYS5HKCkpO3ZhciBFPWUoKTtpZih2KUU9dj8ueW91dHViZVdhdGVybWFyaztlbHNlIGlmKHQ9Xy5CKHQ/LnF1aWNrQWN0aW9uc0JhcixLUyk/LndhdGNoT25Zb3V0dWJlQnV0dG9uLHY9Xy5CKHI/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5RdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbixyPV8uQih0fHx2LGxWKT8ud2F0Y2hPbll0TGFiZWxCdXR0b24sdD1fLkIodHx8dixsVik/Lnl0TG9nb09ubHlCdXR0b24seilFPXI7ZWxzZXtpZihFKXRyeXtsZXQgQT10LmJ1dHRvblZpZXdNb2RlbCxGPUEudGl0bGVGb3JtYXR0ZWQuYXR0YWNobWVudFJ1bnNbMF0uZWxlbWVudDtGLnR5cGUuaW1hZ2VUeXBlLmltYWdlLnNvdXJjZXNbMF0uY2xpZW50UmVzb3VyY2UuaW1hZ2VOYW1lPSJzaG9ydHNfdGV4dF9sb2dvIjtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy5oZWlnaHQudmFsdWU9CjI0O0YucHJvcGVydGllcy5sYXlvdXRQcm9wZXJ0aWVzLndpZHRoLnZhbHVlPTcyO3o9QT8ub25UYXA/LmlubmVydHViZUNvbW1hbmQ/LnVybEVuZHBvaW50Py51cmw7aWYoRSYmeiYmei5pbmNsdWRlcygiL3dhdGNoP3Y9Iikpe2xldCBDPXoucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKTtBLm9uVGFwLmlubmVydHViZUNvbW1hbmQudXJsRW5kcG9pbnQudXJsPUN9fWNhdGNoKEEpe31FPXR9cmV0dXJuIEV9LHA9e2NsYXNzTmFtZToiY2lyY2xlLWJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifX07cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLWFjdGlvbi1tZW51Iiwib246Y2xpY2siOmZ1bmN0aW9uKHIpe3ZhciB0PWMoKTtjVCh0LHtJYzohMH0pO3Iuc3RvcFByb3BhZ2F0aW9uKCk7CnIuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5oaWRlVmlkZW9JbmZvfHxhLkcoKS5iYT8uWXd8fGQoKSYmZCgpPDMyMCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIiwibm8tbGFiZWwtZXhwIiksIm9uOmNsaWNrIjpifSxfLksoXy5XLHtkYXRhOm19LHtidXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoXy5wTyx7ZGF0YTpyLC4uLnB9KSxzbGltTWV0YWRhdGFUb2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSlYse2RhdGE6cixjbGFzc05hbWU6Xy5QKHAuY2xhc3NOYW1lLHsibGlrZS1idXR0b24tbm8tbGFiZWwtZXhwIjooKT0+cigpLmlzTGlrZX0pLEhjOigpPT5yKCkuaXNMaWtlP3tBczohMH06dm9pZCAwLGJ1dHRvbk92ZXJyaWRlczooKT0+cigpLmlzTGlrZT92b2lkIDA6cC5idXR0b25PdmVycmlkZXN9KSxzbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT4KXy5LKElWLHtkYXRhOnIsLi4ucH0pLGZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9ucyIsYnV0dG9uT3ZlcnJpZGVzOntpY29uUG9zaXRpb246Imljb24tb25seS00MCJ9fSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucU8se2RhdGE6ciwuLi5wfSl9KSl9KSxfLksoImRpdiIse2NsYXNzOiJxdWljay1hY3Rpb25zLXdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/Llh3JiYhJFMoYS5HKCkpJiYhKGQoKSYmZCgpPDMyMCkmJiFlKCkmJkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLXdhdGNoLW5leHQtZW50cnlwb2ludC13cmFwcGVyIn0sCl8uSyhObWEse2RhdGE6KCk9PkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSxHOmN9KSl9KSxfLksoXy5PLHtBOigpPT4kUyhhLkcoKSkmJihlKCl8fGQoKSYmZCgpPDMyMCk/ITE6ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoid2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6bn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5IRCx7ZGF0YTpyLGNsYXNzTmFtZToid2F0Y2gtb24teW91dHViZS1idXR0b24iLGJ1dHRvbk92ZXJyaWRlczooKT0+e3ZhciB0PXIoKTtyZXR1cm57c2l6ZToiTCIsZGlzYWJsZWQ6IV8uQihfLkIodD8ub25UYXAsXy5PRCksXy5WRCl9fX0pLGJ1dHRvblJlbmRlcmVyOl8ucE8sdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xT30pKX0pKSkpKX0sIlljIik7S1YuaWRvbUNvbXBhdD0hMDt2YXIgTFY9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5jb250aW51ZVdhdGNoaW5nfSxjPSgpPT57dmFyIG09YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKTtyZXR1cm4gXy5CKG0/LmVuZFNjcmVlbixwVik/LmJyYW5kaW5nSWNvbn0sW2QsZV09Xy5KKCExLHZvaWQgMCwiRWVYWEJjIiksZixoPSgpPT57Y2xlYXJUaW1lb3V0KGYpO2UoITEpO2Y9c2V0VGltZW91dCgoKT0+e2UoITApfSw0RTMpfSxrPSgpPT57dmFyIG09YS5HKCkuSD8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkO20mJmEuRygpLkg/LmN1ZVZpZGVvQnlJZChtKX0sbD0oKT0+e3ZhciBtPV8uVXcoYS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKS50cmFja2luZ1BhcmFtcyk7bSYmXy5KTyhtKX07Xy5VSigoKT0+e2goKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLApoKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7Xy5ZdSgoKT0+e2NsZWFyVGltZW91dChmKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLGgpO2EuRygpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQXV0b3BsYXlCbG9ja2VkIixrKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsbCl9KTtyZXR1cm4gXy5LKCJ5dG0tbXV0ZWQtYXV0b3BsYXktb3ZlcmxheSIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhvc3QiLCJvbjpjbGljayI6ZnVuY3Rpb24obSl7dmFyIG49YS5HPy4oKS5ILHA9bj8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLHI9bj8uZ2V0Q3VycmVudFRpbWUoKTtwJiZyJiYobj8udW5NdXRlKCksbj8ubG9hZFZpZGVvQnlJZChwLHIpKTsKbS5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PnVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJhY2tncm91bmQifSxfLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOmJ9LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJyYW5kaW5nSWNvbiJ9LF8uSyhfLk8se0E6Yyx0aGVuOm09Pl8uSyhfLmpGLHtkYXRhOm0sYWx0OiJZb3VUdWJlIExvZ28ifSl9KSkpLFc6KCk9Pl8uSygiZGl2IixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnUiLHt5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhpZGVBY3Rpb25NZW51OmR9KX0sXy5LKEtWLHtHOmEuRyxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOmEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcn0pKSxfLksoImRpdiIsCntjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIifSxfLksoXy5NRCx7aWNvbjoiZXF1YWxpemVyIn0pKSl9KSl9LCJaYyIpO0xWLmlkb21Db21wYXQ9ITA7dmFyIE9tYT1fLkwoKHtGeDphLGFuaW1hdGlvbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiKSxbZCxlXT1fLkooITEsdm9pZCAwLCJ0aTAybyIpLGY9MCxoPV8ueCgibXdlYl9lbmFibGVfc2hvcnRzX2hlYXJ0X25ld19kb3VibGVfdGFwIik/Imxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCI6Imxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjtfLm5FKCgpPT57ZSghMCk7Xy5qZi5BYShmKTtmPV8uWWooKCk9PntlKCExKX0sMkUzKTt2YXIgaz1iPy4oKT8ubmFtZTtpZihrPT09aCl7Y1UoaCk7az1iPy4oKT8ueDt2YXIgbD1iPy4oKT8ueTtsZXQgbT1jLnZhbHVlO20mJihrIT09dm9pZCAwJiZsIT09dm9pZCAwPyhtLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PWAke2t9cHhgLG0uc3R5bGUudG9wPWAke2x9cHhgLG0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiKToobS5zdHlsZS5wb3NpdGlvbj0iIixtLnN0eWxlLmxlZnQ9IiIsbS5zdHlsZS50b3A9CiIiLG0uc3R5bGUudHJhbnNmb3JtPSIiKSl9ZWxzZXtpZihsPWMudmFsdWUpbC5zdHlsZS5wb3NpdGlvbj0iIixsLnN0eWxlLmxlZnQ9IiIsbC5zdHlsZS50b3A9IiIsbC5zdHlsZS50cmFuc2Zvcm09IiI7az09PSJwbGF5Xzk2ZHBfYW5pbWF0aW9uIj9jVSgicGxheV85NmRwX2FuaW1hdGlvbiIpOms9PT0icGF1c2VfOTZkcF9hbmltYXRpb24iJiZjVSgicGF1c2VfOTZkcF9hbmltYXRpb24iKX19LCJFQ0pVZGQiKTtyZXR1cm4gXy5LKCJzaG9ydHMtdG91Y2gtZmVlZGJhY2siLHtjbGFzczpfLlAoInl0U2hvcnRzVG91Y2hGZWVkYmFja0hvc3QiLHt5dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW46KCk9PiFkKCl9KX0sXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoImRpdiIse2VsOmMsY2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja0xpa2VBbmltYXRpb25XcmFwcGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCl8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT5oLGRhdGE6e2FuaW1hdGlvbkNvbmZpZzpiVShoKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uIn0pKSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwbGF5Xzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBsYXlfOTZkcF9hbmltYXRpb24iKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tQbGF5UGF1c2VBbmltYXRpb24ifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+InBhdXNlXzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSl9LAoiYWQiKTt2YXIgZFU9dm9pZCAwLGVVPXZvaWQgMCxmVSxnVT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBbYixjXT1fLkooMCx2b2lkIDAsIlZmdjU4IiksW2QsZV09Xy5KKDAsdm9pZCAwLCJnR0NOOWQiKSxbZixoXT1fLkooITEsdm9pZCAwLCJuU2FMaCIpO3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhvc3QifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lciIsc3R5bGU6KCk9Pnt2YXIgaz1iKCksbD1kKCksbT1mKCk7az1gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7TWF0aC5tYXgoMCxNYXRoLnJvdW5kKGwtaykpfXB4KTtgO20mJihrKz0idHJhbnNpdGlvbjogMC4yczsiKTtyZXR1cm4ga30sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKGspe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjtjKGsudG91Y2hlc1swXS5jbGllbnRZKTsKay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oayl7ZShrLnRvdWNoZXNbMF0uY2xpZW50WSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjt3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LWQoKTw9MzAwPyhoKCEwKSxlKHdpbmRvdy5zY3JlZW4uYXZhaWxIZWlnaHQpLHNldFRpbWVvdXQoKCk9PntpZihkVSE9bnVsbCl7dmFyIGw9Xy5IeigpO2wuc2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIiwxKTtsLnNhdmUoKTtlVSYmKGVVLnF2PSEwLGVVPXZvaWQgMCk7Xy5LTihkVSk7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkVSk7ZFU9dm9pZCAwO2ZVPy4oKTtmVT12b2lkIDA7Xy55KCkucmVzb2x2ZShfLnlQKS5RdSgpfX0sMjUwKSk6KGgoITApLGUoMCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhlYWRlciIsCnN0eWxlOigpPT5hKCkuYmFja2dyb3VuZEltYWdlP2BiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHthKCkuYmFja2dyb3VuZEltYWdlfSk7YDp2b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmNlbnRyYWxJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2VudHJhbEljb24ifSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmNsb3NlQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmt9KT0+Xy5LKF8ucE8se2RhdGE6ayxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2UiLHByZXZlbnREZWZhdWx0OiEwLFFmOiEwfSl9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyJ9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGUifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxlIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJ0aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE99KSkpKX0sImJkIik7Z1UuaWRvbUNvbXBhdD0hMDt2YXIgTVY9Xy5MKCh7ZGF0YTphLHN0b3BQcm9wYWdhdGlvbjpifSk9Pl8uSygieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXIiLG51bGwsXy5LKF8udk8se2ljb25UeXBlOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJhdWRpb19zbGFzaCI6ImF1ZGlvX29mZiIsYXJpYUxhYmVsOigpPT5fLmFOKGEoKS5mb3JjZWRNdXRlTWVzc2FnZVRleHQpLG9uY2xpY2s6Yz0+e2I/LigpJiZjLnN0b3BQcm9wYWdhdGlvbigpO2M9YSgpO18uQihjLmhlbHBCdXR0b24sXy5WTCk/Lm5hdmlnYXRpb25FbmRwb2ludCYmXy5BSihfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQsYywhMCl9LExtOiJ5dG0tZm9yY2VkLW11dGUtbWVzc2FnZSJ9KSksImVkIik7TVYuaWRvbUNvbXBhdD0hMDt2YXIgTlY9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLEdKOmN9KT0+e3ZhciBkPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3JldHVybiBfLksoInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtcmVuZGVyZXIiLHtjbGFzczpfLlAoYiwieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdCIse3l0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVsOmMseXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdENpbmVtYXRpY0JhY2tncm91bmQ6KCk9PmQmJmM/LigpfSksInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtdHJ1bmNhdGUtcGFyYWdyYXBocyI6KCk9PiEhYSgpLnRydW5jYXRlUGFyYWdyYXBoc3x8dm9pZCAwLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51IjooKT0+ISFhKCkubWVudXx8dm9pZCAwLCJkYXRhLWJhY2tncm91bmQiOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKS5zb3VyY2VFbmRwb2ludCwKY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludCJ9LF8uSyhQbWEse2RhdGE6YX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5TUCx7ZGF0YTplLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudSJ9KX0pKX0sImZkIiksUG1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVyIiwiZGF0YS1oYXMtaWNvbiI6KCk9PiEhYSgpLmljb259LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRpdGxlQ29udGFpbmVyIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pLF8uSyhfLk1ELAp7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckJvZHkifSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0In0sXy5LKF8uTyx7QTooKT0+IWEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uZ0cse3BhOigpPT5hKCkucGFyYWdyYXBoc3x8W119LChiLGMpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGgifSxfLksoXy5JSix7ZGF0YTpifSksXy5LKF8uTyx7QTooKT0+YygpPT09YSgpLnBhcmFncmFwaHMubGVuZ3RoLTEmJmEoKS5pbmxpbmVTb3VyY2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySW5saW5lU291cmNlIn0sCl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLmlubGluZVNvdXJjZX0pKSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pKSkpLF8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJJY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkudGh1bWJuYWlsLHRoZW46Yj0+Xy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbCIsCmFsdDoiIixZYTpfLngoImMzX3ByZXNlcnZlX2RpbWVuc2lvbnNfa3MiKT92b2lkIDA6ITAsVGE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwfSl9KSkpLCJnZCIpLE9WPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZXRhZGF0YSJ9LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2UsdGhlbjpiPT5fLksoXy5JSix7ZGF0YTpifSl9KSxfLksoXy5PLHtBOigpPT5hKCkucHVibGlzaGVkVGltZVRleHQsdGhlbjpiPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQdWJsaXNoVGltZSJ9LCJcdTIwMjIgIixfLksoXy5JSix7ZGF0YTpifSkpfSkpLCJoZCIpO05WLmlkb21Db21wYXQ9ITA7dmFyIFBWPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlciIse2JhY2tncm91bmQ6KCk9PmEoKS5iYWNrZ3JvdW5kfSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbGVmdC1pdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWljb24ifSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1tZW51In0pfSkpfSksXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS5jb250ZW50fSx7aW5mb1BhbmVsQ29udGVudFJlbmRlcmVyOk5WfSkpLCJpZCIpO1BWLmlkb21Db21wYXQ9ITA7dmFyIFJWPV8uTCgoe2RhdGE6YSxpc0FjdGl2ZTpiLEhKOmMsY2xhc3NOYW1lOmR9KT0+e3ZhciBlPV8uY0koXy5aUCksZj1fLmNJKHdqYSksaD1fLmNJKHZqYSksaztfLm5FKCgpPT57Yj8uKCkmJmEoKT8udHJhY2tpbmdQYXJhbXMmJmEoKS50cmFja2luZ1BhcmFtcyE9PWsmJl8uaXEoKSE9PWsmJihfLmx4KF8uaHgoKSxhKCkudHJhY2tpbmdQYXJhbXMpLGs9Xy5pcSgpKX0sIkxSZVNsYiIpO18uVUooKCk9PntubGEoYSgpKX0pO3JldHVybiBfLksoInl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIix7Y2xhc3M6ZCwiZGF0YS1pcy1hY3RpdmUiOmJ8fHZvaWQgMCwiZGF0YS1oYXMtaW5mby1wYW5lbCI6KCk9Pnt2YXIgbD1hKCksbT1fLkIobC5wbGF5ZXJPdmVybGF5LGNtYSk7cmV0dXJuISFsLmluZm9QYW5lbHx8ISFtPy5pbmZvUGFuZWx8fHZvaWQgMH0sImV4dHJhY3Qtb3ZlcmxheSI6KCk9PmUoKT09PTF8fHZvaWQgMCwiZXh0cmFjdC1hY3Rpb24tYmFyIjooKT0+Xy5hTShlKCkpfHwKdm9pZCAwLCJzbWFsbGVyLXNjcmVlbi1zcXVlZXplYmFjayI6KCk9PmYoKXx8dm9pZCAwLCJpcy1mdWxsc2NyZWVuIjooKT0+aCgpfHx2b2lkIDAsImlzLXdlYiI6KCk9PmM/LigpfHx2b2lkIDB9LF8uSyhfLk8se0E6KCk9PmEoKS5wbGF5ZXJPdmVybGF5LHRoZW46bD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LXRvcC1iYXIifSxfLksoUVYse2RhdGE6YX0pKX0pLF8uSyhfLlcse2RhdGE6bH0se3JlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsOl8uYmphfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIn0sXy5LKFFtYSx7ZGF0YTphfSkpLG51bGwsXy5LKFJtYSx7ZGF0YTphfSkpLF8uSyhTbWEse2RhdGE6YX0pKX0pLApfLksoVG1hLHtkYXRhOmF9KSl9LCJrZCIpO1JWLmlkb21Db21wYXQ9ITA7CnZhciBRbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhcGFuZWx9LHtyZWVsTWV0YXBhbmVsVmlld01vZGVsOl8uclF9KSwibGQiKSxTbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktaW5mby1wYW5lbCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5pbmZvUGFuZWx9LHtpbmZvUGFuZWxDb250YWluZXJSZW5kZXJlcjpQVn0pKSwibWQiKSxSbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyJ9LF8uSyhRVix7ZGF0YTphfSksXy5LKFVtYSx7ZGF0YTphfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBpdm90QnV0dG9ufSx7cGl2b3RCdXR0b25WaWV3TW9kZWw6Xy5pUX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5mb3JjZWRNdXRlTWVzc2FnZVJlbmRlcmVyfSx7Zm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoTVYse2RhdGE6YiwKc3RvcFByb3BhZ2F0aW9uOiEwfSl9KSksIm5kIiksUVY9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLk8se0E6KCk9PiFfLlRFKCksdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uVFAse2RhdGE6YixzaG93SWNvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+Xy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlNQLHtkYXRhOmIsZGY6InJlZWwtcGxheWVyLW92ZXJsYXktb3ZlcmZsb3ctbWVudSIsSGE6ITEsdW46ITEsc3RvcFByb3BhZ2F0aW9uOiEwLGJ1dHRvbk92ZXJyaWRlczpoVSgpfSl9KX0pfSksInFkIiksVW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uQmFyfSx7cmVlbEFjdGlvbkJhclZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoXy5qUSx7ZGF0YTpiLApBZjp7aWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19KX0pLCJyZCIpLFRtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoic3RpY2tlci1sYXllciJ9LF8uSyhfLk8se0E6KCk9PiEhYSgpLnZpZGVvSW50ZXJhY3Rpb25zJiZfLngoIm13ZWJfZW5hYmxlX3Nob3J0c19zdGlja2VycyIpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uZ0cse3BhOigpPT5hKCkudmlkZW9JbnRlcmFjdGlvbnM/LmludGVyYWN0aW9uc3x8W119LGI9Pl8uSyhfLmNqYSx7ZGF0YTpifSkpLF8uSyhfLlcse2RhdGE6KCk9PmEoKT8udmlkZW9JbnRlcmFjdGlvbnM/LmVsZW1lbnRzSW50ZXJhY3Rpb25zTGF5ZXJ9LHtzdGlja2Vyc0xheWVyUmVuZGVyZXI6Xy5kamF9KSl9KSksInNkIik7dmFyIFNWPV8uTCgoe2RhdGE6YSxZZjpiLGNqOmMsdkI6ZCxJcjplLGVoOmZ9KT0+e2Z1bmN0aW9uIGgocCl7bi5sb3R0aWVFbCYmbi5sb3R0aWVFbC5pc1BhdXNlZCYmbi5sb3R0aWVFbC5nb1RvQW5kUGxheSgwKTtwLnN0b3BQcm9wYWdhdGlvbigpfV8uVUooKCk9Pnt2YXIgcD1vbGEuYmluZCh2b2lkIDAsYSgpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApfSl9KTt2YXIgaz0oKT0+e3ZhciBwPWEoKTtyZXR1cm4gZD8uKCk/cC5kYXJrVGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybDpwLmxpZ2h0VGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybH0sbD0oKT0+YSgpLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fF8uYU4oYSgpLnRvb2x0aXBUZXh0KXx8IiIsbT0oKT0+ZD8uKCk/ImxvZ28tZW50aXR5LWxvdHRpZS1hbmltYXRpb24tZGFyayI6CiJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWxpZ2h0IixuPXt9O3JldHVybiBfLksoInl0bS1sb2dvLWVudGl0eSIse2NsYXNzOiJ5dG1Mb2dvRW50aXR5SG9zdCJ9LGU/LigpLF8uSyhfLk8se0E6KCk9PiFlJiZiPy4oKSE9PXZvaWQgMCYmYz8uKCkhPT12b2lkIDAmJmQ/LigpIT09dm9pZCAwLHRoZW46KCk9Pl8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2lkOmMsY2xhc3M6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLCJvbjpjbGljayI6aH0sXy5LKF8uY00se2NsYXNzTmFtZTpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxkYXRhOigpPT4oe2FuaW1hdGlvbkNvbmZpZzp7cGF0aDprKCksYXV0b3BsYXk6ITAsbG9vcDohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMH19LGxpc3RlbmVyczp7ZGF0YV9mYWlsZWQ6ZixlcnJvcjpmfX0pLGFuaW1hdGlvblJlZjpuLGFuaW1hdGlvbk5hbWU6bX0pKSxXOigpPT5fLksoVm1hLHtjbGFzc05hbWU6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLApZZjpiLGlkOigpPT5jPy4oKT8/IiIsREE6cD0+e3ZhciByPWEoKSx0PSEhZD8uKCk7cmV0dXJuIHQmJnIuZGFya1RoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5kYXJrVGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiF0JiZyLmxpZ2h0VGhlbWVMb2dvPy50aHVtYm5haWw/Xy5KUChyLmxpZ2h0VGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiIifSxhbHRUZXh0OmwsZWg6Zn0pfSl9KSl9LCJ0ZCIpO1NWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7SXI6ITAsZWg6ITB9fTsKdmFyIFZtYT1fLkwoKHtjbGFzc05hbWU6YSxZZjpiLGlkOmMsREE6ZCxhbHRUZXh0OmUsZWg6Zn0pPT57dmFyIGg9Xy51RSgiZGl2Iiksaz1fLnVFKCJpbWciKTtfLlVKKCgpPT57ay52YWx1ZS5zcmM9ZChoLnZhbHVlKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmEsZWw6aH0sXy5LKCJpbWciLHtlbDprLCJvbjplcnJvciI6ZnVuY3Rpb24obCl7Zj8uKCk7bC5zdG9wUHJvcGFnYXRpb24oKX0saWQ6YyxjbGFzczpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxhbHQ6ZX0pKX0sInVkIik7dmFyIFVWPV8uTCgoe3RvcGJhckxvZ29SZW5kZXJlcjphLFZqOmIsV2o6YyxYajpkLHVtOmUsaWNvbk92ZXJyaWRlOmYsaHo6aCxhazprfSk9PntmdW5jdGlvbiBsKCl7dCghMCl9dmFyIG09Xy5ESShsamEsKCk9PmE/LigpPy5vdmVycmlkZUVudGl0eUtleXx8Xy5WTSgpPyJFZ1owYjNCaVlYSWc5UUVvQVElM0QlM0QiOiIiKSxuPSgpPT5hPy4oKT8uaWNvbkltYWdlPy5pY29uVHlwZSxbcCxyXT1fLkooITEsdm9pZCAwLCJaYVBQbGIiKSx0PXIsdj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpLHo9KF8uVk0oKXx8dj8uKCkpPz8hMSxFPW51bGwsQT1fLnVFKCJidXR0b24iKTtfLlVKKGZ1bmN0aW9uKCl7KG0/LigpPz92b2lkIDApfHxTUygxMjA4MSxBLnZhbHVlLEUsRj0+e0U9Rn0sbnVsbCl9KTtyZXR1cm4gXy5LKCJ5dG0taG9tZS1sb2dvIixudWxsLF8uSygiYnV0dG9uIix7ZWw6QSwiYXJpYS1sYWJlbCI6KCk9Pl8uQ0ooYT8uKCk/LnRvb2x0aXBUZXh0KT9fLkNKKGE/LigpPy50b29sdGlwVGV4dCk6CiJZb3VUdWJlIixyb2xlOiJsaW5rIixjbGFzczpfLlAoeyJsb2dvLWluLXBsYXllci1lbmRwb2ludCI6YywibW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnQiOigpPT4hYygpfSksa2V5OigpPT5tPy4oKT8/dm9pZCAwPyJ5b29kbGUiOiJsb2dvIiwib246Y2xpY2siOmZ1bmN0aW9uKEYpe3ZhciBDPWE/LigpPy5lbmRwb2ludD8/clYsRz1tPy4oKT8/dm9pZCAwLEQ9Ii8iO0c/KEM9Ry5vblRhcENvbW1hbmR8fEMsRD1fLkIoRy5vblRhcENvbW1hbmQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsfHxEKTpEPV8uQihDPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RDt2YXIgSD1rPy4oKT8/Mzg1NCxSPUYuY3VycmVudFRhcmdldDtHJiYoUi5kYXRhPUcpO2g/LihGKTtfLnFQKHtocmVmOkQsYWs6SCxlbGVtZW50OlIscHVzaFN0YXRlOiEwLGVuZHBvaW50OkN9KTtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYKalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsSXI6KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSksZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYhalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdkI6eixlaDpsfSl9KSxfLksoXy5PLHtBOigpPT4hKCFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSksdGhlbjooKT0+Xy5LKFRWLHtWajpiLFdqOmMsWGo6ZCxZZjoibW9iaWxlLXRvcGJhci1sb2dvIixjajoiaG9tZS1pY29uIix1bTplLGljb25PdmVycmlkZTpmLHJzOm59KX0pKSl9LCJ2ZCIpO1VWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aHo6ITB9fTsKdmFyIFRWPV8uTCgoe1ZqOmEsV2o6YixYajpjLFlmOmQsY2o6ZSx1bTpmLGljb25PdmVycmlkZTpoLHJzOmt9KT0+e3ZhciBsPSgpPT5hKCk/aD8uKCl8fCJMT0dPX1dJVEhfVEVYVCI6Yz8uKCk/az8uKCk6IkxPR08iO3JldHVybiBfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBtPWwoKTtmPy4oKSYmYT8uKCkmJihtKz0iX01PTk9DSFJPTUUiKTtyZXR1cm4gbX0sY2xhc3NOYW1lOl8uUCgoKT0+YigpPyJsb2dvLWluLXBsYXllciI6ZCgpLHsiZnVsbC1sb2dvIjphLCJmdWxsLWxvZ28tcmVkIjooKT0+YSgpJiZsKCk9PT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLCJzaG9ydHMtbG9nbyI6Yyxtb25vY2hyb21hdGljOmZ9KSxpZDplfSl9LCJ3ZCIpO3ZhciBXbWE9Xy5MKGE9Pl8uSyhfLklCLG51bGwsXy5LKE9tYSx7Rng6ITEsYW5pbWF0aW9uOmEuYW5pbWF0aW9ufSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXIifSxfLksoVVYse3RvcGJhckxvZ29SZW5kZXJlcjphLnh5LFZqOiExLFdqOiEwLFhqOiEwLGFrOjEzNDg0MH0pLF8uSyhfLk8se0E6YS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsdGhlbjooKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsSDphLkgsQ3A6ITAsY2xhc3NOYW1lOiJ5dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xzIixiajohMH0pfSkpLF8uSyhfLk8se0E6YS5vdmVybGF5LHRoZW46Yj0+Xy5LKFJWLHtkYXRhOigpPT57dmFyIGM9YigpO2lmKF8udFAoKSl7dmFyIGQ9Yy5tZW51Py5tZW51UmVuZGVyZXI7Yz1kPy5pdGVtcz97Li4uYyxtZW51OnsuLi5jLm1lbnUsbWVudVJlbmRlcmVyOnsuLi5kLGl0ZW1zOlt7YWNjb3VudEluZm9NZW51SXRlbTohMH0sCi4uLmQuaXRlbXNdfX19OmN9cmV0dXJuIGN9LGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNSZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyIn0pfSksXy5LKE1tYSx7SDphLkgsY29udGV4dDphLmNvbnRleHR9KSksInhkIiksV2xhPV8uTChhPT57dmFyIHtIOmIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsamI6ZCxQaDplLGNvbnRleHQ6Zn09Xy5EQyhhLHtIOnZvaWQgMCxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6dm9pZCAwLGpiOnZvaWQgMCxQaDp2b2lkIDB9KSxbaCxrXT1fLkoodm9pZCAwLHZvaWQgMCwiQ1BTekllIiksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsIklJNEhDZCIpO18ub0YoKCk9Pnt2YXIgQT1iPy4oKTtBPy5pc1JlYWR5KCkmJm0oQS5nZXRQbGF5ZXJTdGF0ZSgpKX0pO3ZhciBuPUE9PntiPy4oKSYmbShBKX07Xy5uRSgoKT0+e3ZhciBBPWI/LigpO0EmJihBLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLG4pLF8uWXUoKCk9PntBLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApuKX0pKX0sIkM3RDU5ZCIpO18ubkUoKCk9Pnt2YXIgQT1jKCk7aWYoQSl7bGV0IEY9Xy55KCkucmVzb2x2ZShfLmJMKTtmb3IobGV0IEMgb2YgQS5lbmdhZ2VtZW50UGFuZWxzfHxbXSkoQT1DLmVuZ2FnZW1lbnRQYW5lbFNlY3Rpb25MaXN0UmVuZGVyZXIpJiZGLk96KEEuaWRlbnRpZmllcj8udGFnfHxBLnRhcmdldElkfHxBLnBhbmVsSWRlbnRpZmllcixDKX19LCJRZFNlVGIiKTtfLm5FKCgpPT57ZnVuY3Rpb24gQSgpe2lmKEMpe2xldCBHPUMuZ2V0T3B0aW9ucz8uKCJjYXB0aW9ucyIpO0cmJkcubGVuZ3RoPjAmJkM/LnVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncz8uKHtmb250U2l6ZUluY3JlbWVudDoyfSwhMSl9fXZhciBGPWI/LigpO2lmKEYpe3ZhciBDPUY7QSgpO0MuYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSk7Xy5ZdSgoKT0+e0MucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSl9KX19LCJsOFcxdmIiKTsKdmFyIHA9Xy5OKCgpPT5jKCk/Lm92ZXJsYXk/LnJlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXJ8fGQoKT8uZW1iZWRQcmV2aWV3Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiemVoWVliIikscj1fLk4oKCk9Pnt2YXIgQTsoQT1fLkIoYygpPy50b3BiYXIsJGxhKT8udG9wYmFyTG9nbz8udG9wYmFyTG9nb1JlbmRlcmVyKXx8KEE9ZSgpPy5lbmRwb2ludCxBPShBPShBJiZfLkIoQSxfLlREKSk/LnZpZGVvSWQpP2BodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvJHtBfWA6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cyIsQT17aWNvbkltYWdlOntpY29uVHlwZToiWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQifSx0b29sdGlwVGV4dDp7cnVuczpbe3RleHQ6IllvdVR1YmUgU2hvcnRzIn1dfSxlbmRwb2ludDp7Y29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDpBLHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX1NIT1JUUyIsCnJvb3RWZTozODMyfX0sdXJsRW5kcG9pbnQ6e3VybDpBLHRhcmdldDoiVEFSR0VUX05FV19XSU5ET1cifX19KTtyZXR1cm4gQX0sdm9pZCAwLCJOTjI3MmMiKTthPV8uTigoKT0+e2lmKGwoKT09PTUpe3ZhciBBPWUoKT8uZW5kcG9pbnQ7aWYoQSYmKEE9Xy5CKEEsXy5URCk/LnRodW1ibmFpbD8udGh1bWJuYWlscz8uWzBdPy51cmwpKXJldHVybiBfLklFKHsiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uIjoiY2VudGVyIiwiYmFja2dyb3VuZC1yZXBlYXQiOiJuby1yZXBlYXQiLCJiYWNrZ3JvdW5kLWltYWdlIjpgJHsibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDE2MHB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA5NnB4KSJ9LCB1cmwoJHtBfSlgfSkoKX19LHZvaWQgMCwiaTE2RkRlIik7CnZhciB0PV8uTigoKT0+YigpPz92b2lkIDAsdm9pZCAwLCJVZll0RmYiKSx2PV8uTigoKT0+dCgpPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKSx2b2lkIDAsImxLY0FtZCIpLHo9Xy5OKCgpPT4oe3RhOmYoKS50YSxUYzpmKCkuVGMsR2M6ZigpLkdjLGJhOmYoKS5iYSxIOnQoKSxwbGF5ZXJTdGF0ZTpsKCk/Py0xLFM6KCk9Pnt9fSksdm9pZCAwLCJlNmxTaWUiKSxFPV8uTigoKT0+e3ZhciBBPXQoKT8uZ2V0UGxheWVyUmVzcG9uc2U/LigpO3JldHVybiBBP18uQihBPy5vdmVybGF5Py5wbGF5ZXJDb250cm9sc092ZXJsYXlSZW5kZXJlcj8ubXV0ZWRBdXRvcGxheSxvVik6dm9pZCAwfSx2b2lkIDAsIkRHVFNuZCIpO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsdCldfSxfLksoInNob3J0cy1lbWJlZHMiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKEEpe0Euc3RvcFByb3BhZ2F0aW9uKCk7aWYoIUVRKEEudGFyZ2V0LCJBIikmJgohRVEoQS50YXJnZXQsIkJVVFRPTiIpJiYoQT1iKCkpJiZBLmlzUmVhZHkoKSlpZihBLmlzTXV0ZWRCeUVtYmVkc011dGVkQXV0b3BsYXkoKSl7dmFyIEY9QS5nZXRWaWRlb0RhdGEoKT8udmlkZW9faWQsQz1BLmdldEN1cnJlbnRUaW1lKCk7RiYmKEEudW5NdXRlKCksQS5sb2FkVmlkZW9CeUlkKEYsQykpfWVsc2UgRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmQz9BLnVuTXV0ZSgpOihGPUEuZ2V0UGxheWVyU3RhdGUoKT09PTEsQz1BLmlzTXV0ZWRCeU11dGVkQXV0b3BsYXkoKSxGJiYhQz8oQS5wYXVzZVZpZGVvKCksayh7bmFtZToicGF1c2VfOTZkcF9hbmltYXRpb24ifSkpOkZ8fChDJiZBLnVuTXV0ZSgpLEEucGxheVZpZGVvKCksayh7bmFtZToicGxheV85NmRwX2FuaW1hdGlvbiJ9KSkpfSxzdHlsZTphfSxfLksoXy5PLHtBOigpPT52KCksdGhlbjooKT0+Xy5LKExWLHtHOnoscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjpFfSksClc6KCk9Pl8uSyhXbWEse2FuaW1hdGlvbjpoLHh5OnIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsSDp0LG92ZXJsYXk6cCxjb250ZXh0OmZ9KX0pKSl9LCJDZCIpO3ZhciBiVj1fLkwoKHtkYXRhOmF9KT0+e0pqYSgpO3JldHVybiBfLksoInl0LXBsYXllci1pbnRlcnN0aXRpYWwtcmVuZGVyZXIiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0Iixyb2xlOiJkaWFsb2ciLCJhcmlhLWxhYmVsIjooKT0+e3ZhciBiO2E6e2lmKGI9YSgpLmNvbnRlbnQpe3ZhciBjPV8uQihiLGJtYSk7aWYoYz8udGl0bGU/LmNvbnRlbnQpe2I9Yy50aXRsZS5jb250ZW50O2JyZWFrIGF9Yj1fLkIoYixlbWEpO2I9Yj8uaGVhZGVyJiZfLkIoYi5oZWFkZXIsZG1hKTtpZihiPy5oZWFkbGluZT8uY29udGVudCl7Yj1iLmhlYWRsaW5lLmNvbnRlbnQ7YnJlYWsgYX19Yj12b2lkIDB9cmV0dXJuIGJ9LHRhYmluZGV4Oi0xLGVsOl8uckYoYj0+dm9pZCBiPy5mb2N1cygpKX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJTY3JpbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jb250ZW50fSx7aW50ZXJzdGl0aWFsVmlld01vZGVsOl8uZWphLApkaWFsb2dWaWV3TW9kZWw6Xy4kaWF9KSkpfSwiRGQiKTtiVi5pZG9tQ29tcGF0PSEwO3ZhciBWVj1fLkwoKHtnZjphLEliOmJ9KT0+Xy5LKCJ5dC1iaWdib2FyZCIsbnVsbCxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3QifSxfLksoR21hLHtMYjphLEliOmJ9KSl9KSksIkVkIik7VlYuaWRvbUNvbXBhdD0hMDt2YXIgV1Y9Xy5MKGE9Pnt2YXIgYj1hLkc7YT1fLk4oKCk9PmIoKS5lYT9fLiROLm10Ol8uJE4uWnQsdm9pZCAwLCJ4aWR6dWQiKTtyZXR1cm4gXy5LKCJidXR0b24iLHsib246Y2xpY2siOmZ1bmN0aW9uKGMpe3ZhciBkPXtlYTohYigpLmVhLHlxOiEwfTtiKCkuUyhkKTtjLnN0b3BQcm9wYWdhdGlvbigpfSxpZDoicGxheWVyLWNvbnRyb2xzLWExMXktdG9nZ2xlIixjbGFzczoieXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmF9KX0sIkZkIik7dmFyIFhWPV8uTChhPT57ZnVuY3Rpb24gYihoKXtYUyhhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKTt2YXIgaz1jPy4oKSxsPWEuRmQoKTtrPy5zZWVrQnkobCoxMCx2b2lkIDAsdm9pZCAwLGw9PT0tMT84Mzo4Mik7aC5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1fLmtHKCRUKSxkPSgpPT5hLkZkKCk9PT0tMT9fLiROLlF0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpOl8uJE4uSXQucmVwbGFjZSgiJHNlY29uZHNfcGxhY2Vob2xkZXIiLCgxMCkudG9TdHJpbmcoKSksZT1fLk4oKCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITA6IShoLmlzTGl2ZSYmIWguaXNMaXZlRHZyRW5hYmxlZCl9LHZvaWQgMCwiS2FySUtjIiksZj1fLnVFKCJidXR0b24iLGg9PntXUyhoLGEuRmQoKT09PS0xPzE0MTkwMjoxNDE5MDMpfSk7cmV0dXJuIF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpkLApjbGFzczpfLlAoYS5jbGFzc05hbWUsInl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJwbGF5ZXItY29udHJvbC1zZWVrLWljb24tYTExeSIpLHN0eWxlOl8uSUUoe2xlZnQ6KCk9PmEuRmQoKT09PS0xPyIwIjoidW5zZXQiLHJpZ2h0OigpPT5hLkZkKCk9PT0xPyIwIjoidW5zZXQifSksZWw6Ziwib246Y2xpY2siOmJ9KX0pfSwiR2QiKTt2YXIgWVY9Xy5MKGE9Pnt2YXIge1VkOmIsb25jbGljazpjLC4uLmR9PWE7YT1fLnVFKCJkaXYiLGU9PntXUyhlLGIoKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtlbDphfSxfLksoXy50Tyx7Li4uZCxvbmNsaWNrOmU9PntYUyhiKCkpO2M/LihlKX19KSl9LCJIZCIpO3ZhciBaVj1fLkwoYT0+e3ZhciBiPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9lbnRlcl9hbHQiOiJGVUxMU0NSRUVOIixjPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9leGl0X2FsdCI6IkZVTExTQ1JFRU5fRVhJVCIsZD0oKT0+YS5HKCkuaXNGdWxsc2NyZWVuP2M6YjtyZXR1cm4gXy5LKFlWLHtuYW1lOmQsYXJpYUxhYmVsOigpPT5hLkcoKS5pc0Z1bGxzY3JlZW4/Xy4kTi5IdDpfLiROLkp0LGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOmR9KSksY2xhc3NOYW1lOiJmdWxsc2NyZWVuLWljb24iLFVkOjEzOTExNyxvbmNsaWNrOmU9PnthLkcoKS50YS50b2dnbGVGdWxsc2NyZWVuKCk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KX0sIklkIik7dmFyICRWPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZTooKT0+YS5HKCkucGxheWVyU3RhdGU9PT0xfHxhLnlzJiZhLkcoKS5wbGF5ZXJTdGF0ZT09PTM/IlBBVVNFX0ZJTExFRCI6IlBMQVlfQVJST1dfRklMTEVEIixhcmlhTGFiZWw6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zP18uJE4uTHQ6Xy4kTi5QZyxjbGFzc05hbWU6InBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbiIsVWQ6MzY4NDIsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZT1XUShlKSxkLlMoe2plOmV9KSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIkpkIik7dmFyIGFXPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1JFUExBWSIsYXJpYUxhYmVsOl8uJE4uUHQsY2xhc3NOYW1lOiJlbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbiIsVWQ6NTYzODYsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZC5yYyYmZT8udW5NdXRlKCksZS5wbGF5VmlkZW8oKSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIktkIik7dmFyIGJXPV8uTChhPT5fLksoWVYse25hbWU6IkdFQVIiLGFyaWFMYWJlbDpfLiROLnZ0LGNsYXNzTmFtZTpfLlAoInBsYXllci1zZXR0aW5ncy1pY29uIixhLmNsYXNzTmFtZSksVWQ6Mjg2NjMsb25jbGljazpiPT57YS5HKCkudGEuU2ooYil9fSksIkxkIik7dmFyIGNXPV8uTChhPT57dmFyIHtLdTpiLG9uQ2xpY2s6YyxhcmlhTGFiZWw6ZCxhcmlhUHJlc3NlZDplLGlzT3ZlcmxheTpmfT1fLkRDKGEse2lzT3ZlcmxheTohMX0pO2E9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwxMjcyOTkpfSk7cmV0dXJuIF8uSygieXRtLWNsb3NlZC1jYXB0aW9uaW5nLWJ1dHRvbiIse2NsYXNzOl8uUCgieXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3QiLHt5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkT3ZlcmxheTooKT0+YigpPT09LTEmJmYoKSx5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkOigpPT5iKCk9PT0tMSYmIWYoKX0pfSxfLksoImJ1dHRvbiIse2VsOmEsY2xhc3M6Inl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25CdXR0b24iLHRpdGxlOmQsImFyaWEtbGFiZWwiOmQsImFyaWEtcHJlc3NlZCI6ZSwiYXJpYS1kaXNhYmxlZCI6KCk9PmIoKT09PS0xPyJ0cnVlIjp2b2lkIDAsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygxMjcyOTkpOwpjPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk1ELHtpY29uOigpPT57dmFyIGg9IiI7aWYoXy54KCJtd2ViX2xvY2FsaXplZF9jY19pY29uIikpe3ZhciBrPV8uSHooKS5nZXQoImhsIik7az0ha3x8aG1hLmluY2x1ZGVzKGspPyJDTE9TRURfQ0FQVElPTiI6IlNVQlRJVExFUyJ9ZWxzZSBrPSJDTE9TRURfQ0FQVElPTiI7dmFyIGw9YigpO3N3aXRjaChsKXtjYXNlIC0xOmNhc2UgMDpoPWs7YnJlYWs7Y2FzZSAxOmg9aysiX0ZJTExFRCI7YnJlYWs7ZGVmYXVsdDpfLmViKGwsdm9pZCAwKX1yZXR1cm4gaH0sY2xhc3NOYW1lOl8uUCh7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXk6Zn0pfSkpKX0sIk1kIik7Y1cuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNsaWNrOiEwfX07dmFyIGtVPSIiO3ZhciBkVz1fLkwoYT0+e3ZhciBiPWEuZ2YsYz1hLnNMLGQ9YS5XcSxlPWEuY2xhc3NOYW1lLGY9YS5WcixoPXA9Pnt2YXIgcj1iKCksdD1jPy4oKSx2PWYoKTtyLnhjJiYodD9yLkg/LnRvZ2dsZVN1YnRpdGxlcyh2KToodD1yLkgpJiZRUSh0LGxVKHIpLHYpKTtfLngoIndlYl9kZWxldGVfc25hY2tiYXJzIil8fHIudGEucUE/LihyKTtkPy4ocCl9LGs9Xy5OKCgpPT57dmFyIHA9YigpLHI9LTE7cC54YyYmKHI9cC5jYXB0aW9uc0VuYWJsZWQ/MTowKTtyZXR1cm4gcn0sdm9pZCAwLCJITW8ycmMiKSxsPV8uTigoKT0+e3ZhciBwPWIoKTtyZXR1cm4gcC54Yz9fLmFBKHAuY2FwdGlvbnNFbmFibGVkPyJDTE9TRURfQ0FQVElPTlNfT04iOiJDTE9TRURfQ0FQVElPTlNfT0ZGIik6Xy5hQSgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIil9LHZvaWQgMCwiV1E1MVllIiksbT1fLk4oKCk9Pnt2YXIgcD1iKCk7cD1wLnhjP3AuY2FwdGlvbnNFbmFibGVkOnZvaWQgMDtyZXR1cm4gcH0sdm9pZCAwLAoiSTBMVHViIiksbj1fLk4oKCk9PmIoKS54Yyx2b2lkIDAsIkx2ZU9XZSIpO3JldHVybiBfLksoXy5PLHtBOigpPT5fLngoIm13ZWJfcGxheWVyX2hpZGVfdW5hdmFpbGFibGVfc3VidGl0bGVzX2J1dHRvbiIpP24oKTohMCx0aGVuOigpPT5fLksoInl0LWNsb3NlZC1jYXB0aW9ucy10b2dnbGUtYnV0dG9uIix7Y2xhc3M6ZX0sXy5LKGNXLHtLdTprLGFyaWFMYWJlbDpsLGFyaWFQcmVzc2VkOm0sb25DbGljazpoLGlzT3ZlcmxheTohMH0pKX0pfSwiTmQiKTt2YXIgZVc9Xy5MKCh7SUE6YSxkYXRhOmIsY2hpbGRyZW46Y30pPT57ZnVuY3Rpb24gZCgpe2E/LigpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmLnZhbHVlJiYoaC52YWx1ZS5zdHlsZS53aWR0aD1gJHtmLnZhbHVlLm9mZnNldFdpZHRofXB4YCl9KX12YXIgZT12b2lkIDAsZj1fLnVFKCJkaXYiKSxoPV8udUUoImRpdiIpLGs9Xy5CUSgpLGw9Xy5CUSgpO18ubkUoKCk9PntkKCk7IWUmJmIoKS5zdWJzY3JpYmVkJiYoay5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCksbC5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCkpO2U9ISFiKCkuc3Vic2NyaWJlZH0sIk1NMGpBZiIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3QifSxfLksoXy5BUSx7T286ayxScDpsfSxfLksoImRpdiIse2VsOmgsY2xhc3M6Xy5QKCJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXIiLHt5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoOmEsCnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZTooKT0+YigpLnN1YnNjcmliZWR9KX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXIifSxjKSkpKX0sIlBkIik7ZVcuaWRvbUNvbXBhdD0hMDt2YXIgZlc9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgW2NdPW5qYShhKTtyZXR1cm4gXy5LKCJ5dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOl8uUCh7ImlzLXN1YnNjcmliZWQiOigpPT5jKCkuc3Vic2NyaWJlZCwiaXMtbm90LXN1YnNjcmliZWQiOigpPT4hYygpLnN1YnNjcmliZWQsZGlzYWJsZWQ6KCk9Pnt2YXIgZDtpZihkPSEhYygpLnRoZW1lKXtkPSEhYygpLnN1YnNjcmliZWQ7dmFyIGU9YygpLnRoZW1lO2Q9ZD8hIWUuc3Vic2NyaWJlZENvbG9yUGFsZXR0ZSYmXy51TihlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUpOiEhZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUpfXJldHVybiBkfX0pfSxfLksoXy5hamEse3NldHRpbmdzOigpPT4oe3VuaXF1ZUlkOiJzdWJzY3JpYmUiLGZrOmMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10sWGQ6KGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8CltdKS5sZW5ndGg+MCxlbmFibGVkOiFjKCkuc3Vic2NyaWJlZCYmKGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10pLmxlbmd0aD4wfSl9LF8uSyhYbWEse2RhdGE6YyxidXR0b25PdmVycmlkZXM6Yn0pKSl9LCJRZCIpO2ZXLmlkb21Db21wYXQ9ITA7CnZhciBYbWE9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgYz0oKT0+ISghYSgpLnN1YnNjcmliZWR8fCFhKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiksZD1fLk4oKCk9Pih7Li4uUWphKHtyZW5kZXJlcjphKCksc3Vic2NyaWJlZDohIWEoKS5zdWJzY3JpYmVkLGlzT3ZlcmxheTpfLldNKCk/ITA6ITEsc3RvcFByb3BhZ2F0aW9uOiEwfSksZGlzYWJsZWQ6IWEoKS5lbmFibGVkLC4uLihiPy4oKXx8e30pfSksdm9pZCAwLCJ5b0NkY2UiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoibW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoIm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lciIse2hpZGRlbjooKT0+IWMoKX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0se3RvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTplfSk9Pl8uSyhfLnFPLAp7ZGF0YTplLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifSxjbGFzc05hbWU6Xy5QKCJub3RpZmljYXRpb24tYmVsbCIse2hpZGRlbjooKT0+IWMoKX0pfSl9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoIm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIix7IndpdGgtbm90aWZpY2F0aW9uLWJlbGwiOmN9KX0sXy5LKF8uTyx7QTooKT0+IV8uV00oKSx0aGVuOigpPT57dmFyIGU9Xy5VTSgpPT09ImNoYW5uZWwiO3JldHVybiBfLksoZVcse2RhdGE6YSxJQTplfSxfLksoXy5KSyx7ZGF0YTpkfSkpfSxXOigpPT5fLksoXy5KSyx7ZGF0YTpkfSl9KSxfLksoImRpdiIse2NsYXNzOiJzdWJzY3JpYmUtYnV0dG9uLWNvdW50In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJzY3JpYmVyQ291bnRUZXh0fSkpKSl9LCJSZCIpO3ZhciBnVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e2Z1bmN0aW9uIGQoKXtfLkFKKGEoKS5lbmRwb2ludCxhKCksITApfXZhciBlPSgpPT5hKCkuc3R5bGU9PT0iQ0hBTk5FTCIsZj1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWwiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50Um91bmQ6ZX0pLGg9KCk9Pk51bWJlcihhKCkubGVmdCkrTnVtYmVyKGEoKS53aWR0aC8yKTwuNSxrPV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXkiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0OmgseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0OigpPT4haCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHRBY3RpdmU6KCk9PmIoKSYmaCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZTooKT0+CmIoKSYmIWgoKX0pLGw9KCk9PmEoKS50aXRsZSxtPSgpPT5hKCkuaG92ZXJjYXJkQnV0dG9uLG49KCk9PmEoKS5tZXRhZGF0YSxwPSgpPT5hKCkuY2FsbFRvQWN0aW9uLHI9Xy5QKHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZTooKT0+IWUoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbDplfSk7Yz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbUNoYW5uZWw6ZSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3ZhciB0PV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7cmV0dXJuIF8uSygiZXhwYW5kaW5nLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6dH0sXy5LKCJkaXYiLHtjbGFzczpjfSksCl8uSygiZGl2Iix7Y2xhc3M6a30sXy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50In0sXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6bCxjbGFzc05hbWU6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGUifSl9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b24ifSxfLksoXy5XLHtkYXRhOm19LHtzdWJzY3JpYmVCdXR0b25SZW5kZXJlcjpmV30pKX0pLF8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoXy5WLHtjbGFzc05hbWU6cix0ZXh0Om59KX0pLF8uSyhfLk8se0E6KCk9PiFlKCkmJmEoKS5jYWxsVG9BY3Rpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHsib246Y2xpY2siOmQsc3R5bGU6ImRpc3BsYXk6IGNvbnRlbnRzIn0sXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNhbGxUb0FjdGlvbiIsCnRleHQ6cH0pKX0pKSksXy5LKCJkaXYiLHsib246Y2xpY2siOmR9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOmZ9KSkpfSwiU2QiKTtnVy5pZG9tQ29tcGF0PSEwO3ZhciBoVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e3ZhciBkPSgpPT5hKCkudGl0bGUsZT0oKT0+YSgpLnRodW1ibmFpbE92ZXJsYXlzLGY9KCk9PmEoKS5wbGF5bGlzdExlbmd0aDtiPV8uUCgieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7Yz1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbUFjdGl2ZTpjfSk7cmV0dXJuIF8uSygidGh1bWJuYWlsLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6Yiwib246Y2xpY2siOmZ1bmN0aW9uKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX19LF8uSygiZGl2Iix7Y2xhc3M6Y30pLF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wT3ZlcmxheSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnQifSksXy5LKF8uVix7dGV4dDpkLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxlIix1YjohMCxtYTohMH0pKX0pLF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOmV9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpofSk9Pl8uSyhfLlZQLHtkYXRhOmgsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyJ9KX0pfSksXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXkifSxfLksoXy5NRCwKe2ljb246IlBMQVlMSVNUU19DQUlSTyIsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29uIn0pLF8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aCIsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSkpfSwiVGQiKTtoVy5pZG9tQ29tcGF0PSEwO3ZhciBpVz1bMzQ2LDQyNiw0NzAsNTA2LDU3MCw2NDAsODUzLDEyODAsMTkyMF0salc9WyJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIl0sbFc9Xy5MKCh7ZW5kc2NyZWVuUmVuZGVyZXI6YSxHOmJ9KT0+e3ZhciBbYyxkXT1fLkoobmV3IEZRKDAsMCwwLDApLHZvaWQgMCwidXV1TUtjIiksW2UsZl09Xy5KKG5ldyBfLm5kKDAsMCksdm9pZCAwLCJweWFpamIiKSxbaCxrXT1fLkooIiIsdm9pZCAwLCJNSzNpQWYiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJlTU9maWIiKSxuPV8uTigoKT0+YigpLkgsdm9pZCAwLCJwRjY4NGIiKSxwPV8uTigoKT0+Xy5VdyhhKCkudHJhY2tpbmdQYXJhbXMpLHZvaWQgMCwiamJvUEZmIikscj0oKT0+e3ZhciBBPW4oKT8uZ2V0VmlkZW9Db250ZW50UmVjdCgpO0EmJkEud2lkdGg+MCYmQS5oZWlnaHQ+MCYmZChuZXcgRlEoQS5sZWZ0LApBLnRvcCxBLndpZHRoLEEuaGVpZ2h0KSk7KEE9bigpPy5nZXRTaXplKCkpJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmYobmV3IF8ubmQoQS53aWR0aCxBLmhlaWdodCkpfSx0PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiYobSghMCksWlMocCgpKSl9LHY9QT0+e0E9PT0ieXRtLWNlLWluLWVuZHNjcmVlbiImJm0oITEpfTtfLlVKKCgpPT57cigpO0hrYShwKCkpO24oKT8uYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFeGl0Iix2KTtuKCk/LmFkZEN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIixOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoMHg3ZmZmZmZmZmZmZmZmKS8xRTMpO18uWXUoKCk9PntiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix2KTtuKCk/LnJlbW92ZUN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIil9KX0pOwpfLkRQKCJyZXNpemUiLHIpO3ZhciB6PV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkhvc3QiLCgpPT57dmFyIEE9YygpLndpZHRoLEY9MCxDPS0xO2ZvcihsZXQgRz0wO0c8aVcubGVuZ3RoO0crKyl7bGV0IEQ9TWF0aC5hYnMoQS1pV1tHXSk7aWYoQz09PS0xfHxGPj1EKUM9RyxGPUR9cmV0dXJuYHl0bUNyZWF0b3JFbmRzY3JlZW5TaXplJHtpV1tDXX1gfSx7eXRtQ3JlYXRvckVuZHNjcmVlbkluQ3VlUmFuZ2U6bH0pLEU9Xy5QKCJ5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW0iLHt5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW1WaXNpYmxlOigpPT5oKCl9KTtyZXR1cm4gXy5LKCJjcmVhdG9yLWVuZHNjcmVlbiIse2NsYXNzOnp9LF8uSygiZGl2Iix7Y2xhc3M6RSxzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+ZSgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PmUoKS5oZWlnaHQpfSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZWxlbWVudHN9LHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6KHtkYXRhOkF9KT0+Cl8uSyhrVyx7ZGF0YTpBLEdCOmMsaXNBY3RpdmU6KCk9PmgoKT09PUEoKS5pZCxYaDooKT0+ISFoKCkmJmgoKSE9PUEoKS5pZCxlQTprLEg6bn0pfSkpfSwiVWQiKTtsVy5pZG9tQ29tcGF0PSEwOwp2YXIga1c9Xy5MKCh7ZGF0YTphLEdCOmIsaXNBY3RpdmU6YyxYaDpkLGVBOmUsSDpmfSk9Pnt2YXIgW2gsa109Xy5KKCExLHZvaWQgMCwiS1dZSkllIiksbD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsIlV4cHlVYiIpLG09dD0+e3Quc3Vic3RyaW5nKDE1KT09PWEoKS5pZCYmKGsoITApLFpTKGwoKSkpfSxuPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJmsoITEpfTtfLlVKKCgpPT57Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsbik7dmFyIHQ9YHl0bS1jZS1lbGVtZW50LSR7YSgpLmlkfWA7Zj8uKCkuYWRkQ3VlUmFuZ2UodCxOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoYSgpLmVuZE1zKS8xRTMpO18uWXUoKCk9PntmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLG0pO2Y/LigpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsCm4pO2Y/LigpLnJlbW92ZUN1ZVJhbmdlKHQpfSl9KTt2YXIgcD0oKT0+YigpLmNsb25lKCkuc2NhbGUoYSgpLndpZHRoLGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvKS50cmFuc2xhdGUoYSgpLmxlZnQqYigpLndpZHRoLWIoKS5sZWZ0KihhKCkud2lkdGgtMSksYSgpLnRvcCpiKCkuaGVpZ2h0LWIoKS50b3AqKGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvLTEpKSxyPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnQiLHt5dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGU6KCk9PmgoKX0sKCk9PnAoKS53aWR0aD4yNTZ8fHAoKS5oZWlnaHQ+MjU2P2pXWzJdOnAoKS53aWR0aD45Nnx8cCgpLmhlaWdodD45Nj9qV1sxXTpqV1swXSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6cixzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+cCgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PgpwKCkuaGVpZ2h0KSx0b3A6KDAsXy5aSykoKCk9PnAoKS50b3ApLGxlZnQ6Xy55KCkucmVzb2x2ZShfLmxGKT09PSJsdHIiPygwLF8uWkspKCgpPT5wKCkubGVmdCk6ImF1dG8iLHJpZ2h0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0icnRsIj8oMCxfLlpLKSgoKT0+KGY/LigpLmdldFNpemUoKT8ud2lkdGg/PzApLXAoKS5sZWZ0LXAoKS53aWR0aCk6ImF1dG8ifSksIm9uOm1vdXNlb3ZlciI6ZnVuY3Rpb24odCl7ZShhKCkuaWQpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjptb3VzZW91dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9PntlKGEoKS5pZCl9LDApO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LAoib246Y2xpY2siOmZ1bmN0aW9uKHQpe1lTKGwoKSk7dC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJWSURFTyJ8fGEoKS5zdHlsZT09PSJQTEFZTElTVCJ9LCgpPT5fLksoaFcse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwifHxhKCkuc3R5bGU9PT0iV0VCU0lURSJ9LCgpPT5fLksoZ1cse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSkpfSwiVmQiKTtrVy5pZG9tQ29tcGF0PSEwO3ZhciBZbWE9Xy5MKGE9PntmdW5jdGlvbiBiKHope3ZhciBFPWYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludCxBPWYoKT8udmlkZW9JZDtFJiYhej9fLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKEUpOkEmJmEuSCgpPy5sb2FkVmlkZW9CeVBsYXllclZhcnMoe3ZpZGVvSWQ6QSxhdXRvbmF2OnosYXV0b3BsYXk6en0pfWZ1bmN0aW9uIGMoeil7WFMoMTE1MTMwKTtiKCExKTt6LnN0b3BQcm9wYWdhdGlvbigpfXZhciBbZCxlXT1fLkooMCx2b2lkIDAsIlliRE1mYiIpLGY9Xy5OKCgpPT5CUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJIYUZLTWIiKSxoPWEuRyxrPV8uTigoKT0+aCgpLnlmLHZvaWQgMCwic1lnbnplIiksbD1fLk4oKCk9PmgoKS56Zix2b2lkIDAsImR5Q3ZLZiIpLG09Xy5OKCgpPT5tVShhLkcsZigpKSx2b2lkIDAsIkNaRm9NYiIpLG49Xy52RSgiYnV0dG9uIix6PT57eiYmV1MoeiwxMTUxMzApfSksCnA9Xy52RSgiZGl2Iix6PT57eiYmV1MoeiwxMTUxMjkpfSk7Xy5uRSgoKT0+e3ZhciB6PW0oKSxFPWwoKSxBPWsoKSxGPWEuSCgpLEM9ZigpO2lmKHope3o9Qz8uY291bnREb3duU2Vjc3x8MTA7dmFyIEc9eioxRTM7aWYoRSYmQT4wKWUoTWF0aC5tYXgoMCwoei1BKS96KSk7ZWxzZXt2YXIgRD0oMCxfLmVsKSgpLEg9KCk9Pnt2YXIgTT0oMCxfLmVsKSgpLUQ7TT1NYXRoLm1pbihNL0csMSk7ZShNKTtNPj0xPyh3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUiksRj8uaXNSZWFkeT8uKCkmJmIoITApKTpSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCl9O3ZhciBSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCk7Xy5ZdSgoKT0+e3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShSKX0pfX1lbHNlIGUoMCl9LCJHU090d2IiKTt2YXIgcj0oKT0+e1hTKDExNTEyOSk7YS5HKCkuUyh7eGY6ITB9KX0sdD1fLk4oKCk9PmAkey0yMTEqKGQoKSsxKX1gLHZvaWQgMCwiVjVzbXdkIiksCnY9KCk9PmYoKT8uYmFja2dyb3VuZDtyZXR1cm4gXy5LKCJwZnAtYXV0b25hdiIse2NsYXNzOl8uUCgieXRQZnBBdXRvbmF2SG9zdCIsYS5jbGFzc05hbWUse3l0UGZwQXV0b25hdlZpc2libGU6bX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oeil7ei5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzphLkcsdGh1bWJuYWlsRGV0YWlsczp2fSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2U2NyaW0ifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZIZWFkZXIifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LnRpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy52aWRlb1RpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdkJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8uYnlsaW5lLG1hOiEwfSkpLApfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZQbGF5QnV0dG9uIiwib246Y2xpY2siOmMsZWw6biwiYXJpYS1sYWJlbCI6KCk9PmYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/LmFjY2Vzc2liaWxpdHk/LmxhYmVsfSxfLksoInN2ZyIse2NsYXNzOiJ5dFBmcEF1dG9uYXZSaW5nIix2aWV3Qm94OiIwIDAgNzIgNzIifSxfLksoImNpcmNsZSIse2N4OiIzNiIsY3k6IjM2IixyOiIzMS41IixmaWxsOiJ3aGl0ZSIsImZpbGwtb3BhY2l0eSI6IjAuMyJ9KSxfLksoImNpcmNsZSIse2N4OiItMzYiLGN5OiIzNiIscjoiMzMuNSIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLGZpbGw6Im5vbmUiLHRyYW5zZm9ybToicm90YXRlKC05MCkiLCJzdHJva2UtZGFzaGFycmF5IjoiMjExIixzdHlsZTpfLklFKHsic3Ryb2tlLWRhc2hvZmZzZXQiOnR9KX0pKSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX1BMQVkiLGNsYXNzTmFtZToieXRQZnBBdXRvbmF2UGxheUljb24ifSkpLApfLksoXy5XLHtkYXRhOigpPT5mKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTp6fSk9Pl8uSygiZGl2Iix7ZWw6cCxjbGFzczoieXRQZnBBdXRvbmF2Q2FuY2VsQnV0dG9uIn0sXy5LKF8ucE8se2RhdGE6eix0ZzpyLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KSl9KSkpfSkpfSwiWGQiKTt2YXIgbVc9Xy5MKGE9Pl8uSygicGZwLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIse2NsYXNzOl8uUCgieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YS5kYXRhKCkubmF2aWdhdGlvbkVuZHBvaW50LGFyaWFMYWJlbDooKT0+Xy5hTihhLmRhdGEoKS50aXRsZSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hLmRhdGEoKS50aHVtYm5haWwsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWwifSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudGl0bGUsCm1hOiEwLHljOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0QnlsaW5lVGV4dCxtYTohMCx5YzohMH0pLF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCx0aGVuOigpPT5fLksoXy5JQixudWxsLCIgXHUyMDIyICIsXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkuc2hvcnRWaWV3Q291bnRUZXh0LG1hOiEwfSkpfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJEdXJhdGlvbiJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLmxlbmd0aFRleHQsbWE6ITB9KSkpKSksIllkIik7dmFyIFptYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRCl7RC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjKEQpe3QoITEpO0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChEKXt0KCEwKTtEPy5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKCl7RygpfWZ1bmN0aW9uIGYoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQtSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfWZ1bmN0aW9uIGgoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQrSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBrPV8uTigoKT0+YS5VYygpLndhdGNoTmV4dFJlc3BvbnNlLHZvaWQgMCwiV1g2UkJlIiksbD1fLk4oKCk9Pk1TKGsoKSkuZmlsdGVyKEQ9PkQuZW5kU2NyZWVuVmlkZW9SZW5kZXJlciksdm9pZCAwLAoiVlZVZHJjIiksbT1fLk4oKCk9Pnt2YXIgRD1hLlVjKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXI/LnN0YXJ0TXM7RD1EPytEOnZvaWQgMDtyZXR1cm4gYS5HKCkucGxheWVyU3RhdGU9PT0yJiZsPy4oKT8ubGVuZ3RoPjAmJighRHx8YS5HKCkudmEqMUUzPEQpfSx2b2lkIDAsInBRU1FLYiIpLG49Xy5OKCgpPT5hLlVjKCkucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udmlkZW9JZCx2b2lkIDAsInlRYk4xZSIpLFtwLHJdPV8uQUMoKCk9PntuKCk7cmV0dXJuITF9KSx0PXIsW3Ysel09Xy5KKCExLHZvaWQgMCwicVFSNzNiIiksW0UsQV09Xy5KKCExLHZvaWQgMCwidmNhM0lkIiksRj1fLnZFKCJkaXYiKSxDPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LmF1dGhvcj8/IiIsdm9pZCAwLCJvSkUwc2QiKSxHPSgpPT57dmFyIEQ9Ri52YWx1ZTtEJiYoeihELnNjcm9sbExlZnQ+MSksQShELnNjcm9sbExlZnQ8CkQuc2Nyb2xsV2lkdGgtRC5jbGllbnRXaWR0aC0xKSl9O18ubkUoKCk9PntwKCk7bSgpJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntHKCl9KX0sInRBMTE3ZCIpO3JldHVybiBfLksoInBmcC1tb3JlLXZpZGVvcyIse2NsYXNzOl8uUCgieXRQZnBNb3JlVmlkZW9zSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5PLHtBOigpPT5tKCkmJiFwKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zT3ZlcmxheSIsIm9uOmNsaWNrIjpifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NIZWFkZXIifSxfLksoImgzIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1RpdGxlIn0sKCk9Pl8uJE4uenQucmVwbGFjZSgiJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsQygpKSksXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b24iLCJvbjpjbGljayI6ZCwiYXJpYS1sYWJlbCI6Xy4kTi54dH0sXy5LKF8uTUQse2ljb246IkNMT1NFIiwKY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NDbG9zZUljb24ifSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3RDb250YWluZXIifSxfLksoXy5PLHtBOnYsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdCIsIm9uOmNsaWNrIjpmLCJhcmlhLWxhYmVsIjpfLiROLmZvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9MRUZUIixjbGFzc05hbWU6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0IixlbDpGLCJvbjpzY3JvbGwiOmV9LF8uSyhfLlcse2RhdGE6bCxIazohMH0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOkR9KT0+Xy5LKG1XLHtkYXRhOkQsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW0ifSl9KSksXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0IiwKIm9uOmNsaWNrIjpoLCJhcmlhLWxhYmVsIjpfLiROLmVvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pKSl9KSxfLksoXy5PLHtBOigpPT5tKCkmJnAoKSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9uIiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uYm99LF8uJE4uYm8pfSkpfSwiJGQiKTt2YXIgJG1hPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tcGxheWxpc3QtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMH0pKSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckJvdHRvbU92ZXJsYXkifSxfLksoXy5NRCx7aWNvbjoiUExBWUxJU1RTIixjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb24ifSksXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudmlkZW9Db3VudFRleHQseWM6ITB9KSkpKSwiYWUiKTt2YXIgYW5hPV8uTChhPT57ZnVuY3Rpb24gYihGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCktcigpK0YqcigpKSVGKX1mdW5jdGlvbiBjKEYpe0Yuc3RvcFByb3BhZ2F0aW9uKCk7Rj16KCkubGVuZ3RoO20oKGwoKStyKCkpJUYpfXZhciBkPV8udkUoImRpdiIpLFtlLGZdPV8uSihbXSx2b2lkIDAsIkVyVVFJZSIpLFtoLGtdPV8uSigwLHZvaWQgMCwiV01lWW9kIiksbD1oLG09ayxbbixwXT1fLkooMCx2b2lkIDAsIk96UFNrZSIpLHI9bixbdCwsdl09Xy5KKDAsdm9pZCAwLCJsQ1RtcGUiKTtfLkRQKCJyZXNpemUiLCgpPT57dihGPT5GKzEpfSk7dmFyIHo9Xy5OKCgpPT5NUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJyeTJEVCIpLEU9Xy5OKCgpPT5uVShhLkcsYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiRmhVWnIiKSxBPV8uTigoKT0+cigpJiZ6KCkubGVuZ3RoPnIoKSx2b2lkIDAsIlV3RWM1YiIpO18ubkUoKCk9Pnt0KCk7CnZhciBGPXooKSxDPWwoKTtpZihFKCkmJmQudmFsdWUpaWYoRi5sZW5ndGgpe3ZhciBHPWQudmFsdWUsRD1HLmNsaWVudFdpZHRoO0c9Ry5jbGllbnRIZWlnaHQ7bGV0IFQ9Ri5sZW5ndGg7Zm9yKHZhciBIPTIsUj0yLE09TWF0aC5tYXgoRC85NiwyKSxTPU1hdGgubWF4KEcvNTQsMiksWT0oVC0xKSo0O1k+MCYmKEg8TXx8UjxTKTspe3ZhciBwYT1ILzIsb2E9Ui8yLFU9SDw9TS0yJiZZPj1vYSo0LGhhPVI8PVMtMiYmWT49cGEqNDtpZigocGErMSkvb2EqblcvKEQvRyk+RC9HLyhwYS8ob2ErMSkqblcpJiZoYSlZLT1wYSo0LFIrPTI7ZWxzZSBpZihVKVktPW9hKjQsSCs9MjtlbHNlIGlmKGhhKVktPXBhKjQsUis9MjtlbHNlIGJyZWFrfWxldCB7Y29sdW1uQ291bnQ6YmEsWXo6YWEsUno6T2F9PXtjb2x1bW5Db3VudDpILFl6OlIsUno6WX07SD0hMTtPYT49MTImJlQqNC1PYTw9NiYmKGFhPj00fHxiYT49NCkmJihIPSEwKTtSPWJhKjk2O009YWEqNTQ7Uz1NYXRoLm1pbihSL008RC9HPwpHL006RC9SLDIpO1I9TWF0aC5mbG9vcihNYXRoLm1pbihELFIqUykpO009TWF0aC5mbG9vcihNYXRoLm1pbihHLE0qUykpO2xldCB7U0E6SmIsUkE6emF9PXtTQTpSLFJBOk19O1I9SmIrNDtNPXphKzQ7Uz0wO1k9W107Zm9yKHBhPTA7cGE8YmE7cGErKylmb3Iob2E9MDtvYTxhYTtvYSsrKWlmKFU9MCxIJiZwYT49YmEtMiYmb2E+PWFhLTI/VT0xOm9hJTI9PT0wJiZwYSUyPT09MCYmKFU9MiksaGE9UyVULFUhPT0wKXtsZXQgTGI9TWF0aC5mbG9vcihNKm9hL2FhKSxjYz1NYXRoLmZsb29yKFIqcGEvYmEpO1kucHVzaCh7ZGF0YTpGWyhoYStDKSVUXSxsZWZ0OmNjKyhELUpiKS8yLHRvcDpMYisoRy16YSkvMix3aWR0aDpNYXRoLmZsb29yKFIqKHBhK1UpL2JhKS1jYy00LGhlaWdodDpNYXRoLmZsb29yKE0qKG9hK1UpL2FhKS1MYi00fSk7UysrfXZhciB7U3k6bWEsaW5kZXg6dGF9PXtTeTpZLGluZGV4OlN9O2YobWEpO3AodGEpfWVsc2UgZihbXSl9LCJ3ZVk0QiIpO3JldHVybiBfLksoInBmcC12aWRlby13YWxsLWVuZHNjcmVlbiIsCntjbGFzczpfLlAoInl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdCIsYS5jbGFzc05hbWUse3l0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZTpFLHl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZDphLlV4fSksIm9uOmNsaWNrIjpmdW5jdGlvbihGKXtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQiLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3QiLAplbDpkfSxfLksoXy5nRyx7cGE6ZX0sRj0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW0iLHN0eWxlOl8uSUUoe3RvcDooMCxfLlpLKSgoKT0+Ri50b3ApLGxlZnQ6KDAsXy5aSykoKCk9PkYubGVmdCksd2lkdGg6KDAsXy5aSykoKCk9PkYud2lkdGgpLGhlaWdodDooMCxfLlpLKSgoKT0+Ri5oZWlnaHQpfSl9LF8uSyhfLlcse2RhdGE6KCk9PkYuZGF0YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6bVcsZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjokbWF9KSkpKSxfLksoXy5PLHtBLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQiLCJvbjpjbGljayI6YywiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pKX0pKX0sImNlIiksblc9OTYvNTQ7dmFyIG9XPV8uTCgoe2plOmF9KT0+e3ZhciBiPV8uTigoKT0+YSgpLHZvaWQgMCwiRVRnZTdkIiksW2MsLGRdPV8uSigwLHZvaWQgMCwiWkNCSXMiKTtfLm5FKCgpPT57YigpJiZkKGU9PmUrMSl9LCJLc1gzcmYiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYWN0aW9uLWluZGljYXRvciIse2NsYXNzOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdCJ9LF8uSyhfLmdHLHtwYTooKT0+YigpP1tjKCldOltdfSwoKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbiJ9LF8uSyhfLk1ELHtpY29uOmIsY2xhc3NOYW1lOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbiJ9KSkpKX0sImVlIik7b1cuaWRvbUNvbXBhdD0hMDt2YXIgcFc9Xy5MKCh7RzphLFNtOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmMsVnc6ZCxjbGFzc05hbWU6ZX0pPT57dmFyIGY9KCk9Pl8uQihiPy4oKT8ucGxheWVyQmFyQWN0aW9uQnV0dG9uLF8uVkwpO3JldHVybiBfLksoInBsYXllci10aW1lLWRpc3BsYXkiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5SG9zdCIsZSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVDaHVua3MiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGw6KCk9PiFkPy4oKSx5dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6KCk9PmEoKS5pc0xpdmUseXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDooKT0+b1UoYSgpKX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7aWYoYSgpLmlzTGl2ZSYmIW9VKGEoKSkpe2EoKS5IPy5zZWVrVG8oSW5maW5pdHkpO3ZhciBrPVVRKGEoKS5IKTtrJiZhKCkuUyh7dmlkZW9EdXJhdGlvbjprfSl9aC5zdG9wUHJvcGFnYXRpb24oKX19LApfLksoImRpdiIse2RpcjoibHRyIn0sXy5LKGJuYSx7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjfSksXy5LKF8uTyx7QTooKT0+IW9VKGEoKSksdGhlbjooKT0+Xy5LKGNuYSx7RzphfSl9KSkpLF8uSyhfLk8se0E6KCk9Pnt2YXIgaD1fLkIoYj8uKCk/LnBsYXllckJhcixEUyk/Xy5CKGtUKGEoKSxfLkIoYj8uKCk/LnBsYXllckJhcixEUykpLGVUKT8udGl0bGU6dm9pZCAwLGs9ZigpPy50ZXh0O3JldHVybiBoPz9rfSx0aGVuOmg9Pl8uSyhkbmEse3RpdGxlOmgsYnV0dG9uOmYsRzphfSl9KSl9LCJmZSIpLGJuYT1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuaXNMaXZlP18uJE4ubG86Q1QoYSgpLnZhKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZUVsYXBzZWQifSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LmxpdmVJbmRpY2F0b3JUZXh0LAp0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZH0pLFc6KCk9Pl8uSyhfLklCLG51bGwsYyl9KSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5U2NyZWVuUmVhZGVyT25seSJ9LCgpPT57aWYoYSgpLmlzTGl2ZSlyZXR1cm4gXy4kTi5sbzt2YXIgZD1QUih7c2Vjb25kczphKCkudmF9KTtyZXR1cm5gJHtfLiROLlZ0fSAke2R9YH0pKX0sImdlIiksY25hPV8uTCgoe0c6YX0pPT57dmFyIGI9KCk9PntpZihvVShhKCkpKXZhciBjPTA7ZWxzZXtjPU1hdGg7dmFyIGQ9Yy5yb3VuZCxlPWEoKTtjPWQuY2FsbChjLGUuaXNEcmFnZ2luZz9lLkNhOmUudmEpLU1hdGgucm91bmQoVVEoYSgpLkgpKX1yZXR1cm4gY307cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZCJ9KSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCiIvIiksXy5LKCJzcGFuIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQiLCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEdXJhdGlvbiIpfSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sKCk9PmEoKS5pc0xpdmU/Q1QoYigpKTpDVChhKCkudmlkZW9EdXJhdGlvbikpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIENUKGIoKSk7dmFyIGM9UFIoe3NlY29uZHM6YSgpLnZpZGVvRHVyYXRpb259KTtyZXR1cm5gJHtfLiROLlV0fSAke2N9YH0pKSl9LCJoZSIpLGRuYT1fLkwoKHt0aXRsZTphLGJ1dHRvbjpiLEc6Y30pPT57ZnVuY3Rpb24gZChmKXtiPy4oKT8uY29tbWFuZCYmKF8uQUooYigpLmNvbW1hbmQse30sITEpLGYuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBlPV8uTigoKT0+YygpLmJhPy5FZSx2b2lkIDAsImpnMk9NYyIpO3JldHVybiBfLksoXy5PLAp7QTpiLHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXIifSxfLksoImJ1dHRvbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlQaWxsIiwieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24iKSwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOigpPT5fLmFOKGYoKS50ZXh0KX0sXy5LKF8uVix7dGV4dDphLHljOiEwfSksXy5LKF8uTyx7QTooKT0+IShfLngoIm13ZWJfdXNlX29ubHlfY2hhcHRlcl90aXRsZV9pbl9mdWxsc2NyZWVuIikmJmMoKS5pc0Z1bGxzY3JlZW4pLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUX0NBSVJPIixjbGFzc05hbWU6Inl0d1BsYXllclRpbWVEaXNwbGF5Q2hldnJvbiJ9KX0pKSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHQiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheUZ1bGxzY3JlZW5Db250cm9sc0Fsd2F5c09uOmV9KX0sCl8uSyhfLlYse3RleHQ6YSx5YzohMH0pKX0pfSwiaWUiKTt2YXIgcVc9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5nbj1hO3RoaXMubGlzdGVuZXJzPVtdO3RoaXMuY29udGV4dD1iO3RoaXMubz1kO3RoaXMudj1xVSh0aGlzLlVjPy5IKTt0aGlzLkQ9dGhpcy5TLmJpbmQodGhpcyk7dGhpcy5zdGF0ZT17Li4uZFQoKSwuLi5jfTthPXRoaXMudWQoKTtbdGhpcy5CLHRoaXMual09Xy5KKGEsdm9pZCAwLCJwM053cSIpfVMoYSl7aWYoIXFsYShhLHRoaXMuc3RhdGUpKXt0aGlzLnN0YXRlPXsuLi50aGlzLnN0YXRlLC4uLmF9O2E9Xy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKTt2YXIgYj0tMTthJiYhcFUoKSYmKGI9KDAsXy5lbCkoKSk7YSYmXy5BcSgicGN1X3MiKTt0aGlzLmomJnRoaXMuaih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3Vfc2UiKSxfLkFxKCJwY3VfcnMiKSk7dGhpcy5nbih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3VfcmUiKSxwbGEoYiksXy5qZi5HYSgoKT0+e18uQXEoInBjdV9hcCIpfSwKOCkpfX11ZCgpe3ZhciBhPXRoaXMubz9xVSh0aGlzLm8oKSk6cVUodGhpcy5VYz8uSCk7cmV0dXJuey4uLnRoaXMuc3RhdGUsUzp0aGlzLkQsSDphLHRhOnRoaXMuY29udGV4dC50YSxUYzp0aGlzLmNvbnRleHQuVGMsR2M6dGhpcy5jb250ZXh0LkdjLGJhOnRoaXMuY29udGV4dC5iYX19Z2V0RGF0YSgpe3JldHVybiB0aGlzLlVjfX07dmFyIHJXPV8uTChhPT57ZnVuY3Rpb24gYihZKXtNPUguYW5pbWF0ZShbe29mZnNldDowLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIixvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjF9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIn0pO00uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e009dm9pZCAwO2UoKTtGPSJsaW5nZXJpbmcifSl9ZnVuY3Rpb24gYyhZLHBhPSExLG9hPSExKXt2YXIgVT1bXTtVLnB1c2goe29mZnNldDowLHRyYW5zZm9ybTpgdHJhbnNsYXRlWCgke0M9PT0tMT8yMDotMjB9cHgpYCxvcGFjaXR5OnBhPyIwIjoiMSJ9KTtwYSYmVS5wdXNoKHtvZmZzZXQ6LjUsb3BhY2l0eToiMSJ9KTtVLnB1c2goe29mZnNldDoxLHRyYW5zZm9ybToidHJhbnNsYXRlWCgwKSIsb3BhY2l0eToiMSJ9KTtwYT1ZLmFuaW1hdGUoVSx7ZHVyYXRpb246NDAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0pOwpZPVkucXVlcnlTZWxlY3RvcigicGF0aCIpO1U9W107dmFyIGhhPXtvZmZzZXQ6MCxkOkM9PT0tMT8ncGF0aCgiTSAxOCA0IEwgMTggMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCA0IDE2IEwgNCAyOCIpJ307b2EmJihoYS5maWx0ZXI9ImRyb3Atc2hhZG93KDAgMCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuOCkpIik7VS5wdXNoKGhhKTtvYSYmVS5wdXNoKHtvZmZzZXQ6LjgsZmlsdGVyOiJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSJ9KTtoYT17b2Zmc2V0OjEsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDYgMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCAxNiAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwKSkiKTtVLnB1c2goaGEpO1kuYW5pbWF0ZShVLHtkdXJhdGlvbjozMzMsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkiLGZpbGw6ImZvcndhcmRzIn0pOwpyZXR1cm4gcGF9ZnVuY3Rpb24gZCgpe3ZhciBZPUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50IikuY2xvbmVOb2RlKCEwKTtZLmNsYXNzTGlzdC5hZGQoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFsIik7WS5jbGFzc0xpc3QucmVtb3ZlKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpO0guYXBwZW5kQ2hpbGQoWSk7YyhZLCEwLCEwKS5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgpPT57WS5yZW1vdmUoKX0pfWZ1bmN0aW9uIGUoKXtjbGVhclRpbWVvdXQoUik7Uj1zZXRUaW1lb3V0KCgpPT57ZigpfSxfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb24iLDMwMCkpfWZ1bmN0aW9uIGYoWT0xLHBhPSEwKXtNPUguYW5pbWF0ZShbe29mZnNldDowLG9wYWNpdHk6WX0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjoyMDAsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0pOwpwYSYmKE0uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1M/LigpO009dm9pZCAwO2soKTtBKCExKX0pLEY9ImZhZGluZy1vdXQiKX1mdW5jdGlvbiBoKCl7aWYoIU0pcmV0dXJuIDA7dmFyIFk9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUoSCkub3BhY2l0eSk7TS5jYW5jZWwoKTtNPXZvaWQgMDtyZXR1cm4gWX1mdW5jdGlvbiBrKCl7Rj0iaGlkZGVuIjtIPUM9dm9pZCAwO2NsZWFyVGltZW91dChSKX12YXIgbD1fLk4oKCk9PmEuRygpLkpkLHZvaWQgMCwicGRsbVliIiksbT1fLk4oKCk9PmEuRygpLktiLHZvaWQgMCwiYVBTOUoiKSxuPV8uTigoKT0+YS5HKCkuSCx2b2lkIDAsInh2QnJsZiIpLFtwLHJdPV8uSigiIix2b2lkIDAsIlZKdWd6ZCIpLFt0LHZdPV8uSigiIix2b2lkIDAsIllTS1NPZCIpLFt6LEVdPV8uSighMSx2b2lkIDAsIk9zbWluYyIpLEE9RSxGPSJoaWRkZW4iLEMsRyxELEgsUj0wLE0sUztfLm5FKCgpPT57aWYoRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZSl7dmFyIFk9CmwoKTtpZighKG0oKTw9MXx8WT09PTApKXtBKCEwKTtpZihDJiZZIT09Qyl7bGV0IHBhPTE7TSYmKHBhPWgoKSk7ZihwYSwhMSk7aygpfUM9WTtIPUM9PT0tMT9HOkQ7aWYoRyYmRClpZihZPW4oKSxZPVk/LmlzUmVhZHk/LigpP1kuZ2V0Q3VycmVudFRpbWUoKTowLFk9Qz09PS0xJiZZPD0xMD8xMDoobSgpLTEpKjEwLFk9YCR7Qz09PS0xPyJcdTIyMTIiOiIrIn0gJHtZfWAsQz09PS0xP3IoWSk6dihZKSxGPT09ImhpZGRlbiJ8fEY9PT0iZmFkaW5nLW91dCIpWT0wLEY9PT0iZmFkaW5nLW91dCImJihZPWgoKSxkKCkpLGIoWSksRiE9PSJmYWRpbmctb3V0IiYmYyhILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpKSxGPSJmYWRpbmctaW4iO2Vsc2UgaWYoRj09PSJmYWRpbmctaW4ifHxGPT09ImxpbmdlcmluZyIpSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiIpLmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsCnRyYW5zZm9ybToic2NhbGUoMSkifSx7b2Zmc2V0Oi42NCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsdHJhbnNmb3JtOmBzY2FsZSgke18uc2ooIndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGUiKXx8Ljl9KWB9LHtvZmZzZXQ6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn1dLHtkdXJhdGlvbjoxODR9KSxkKCksRj09PSJsaW5nZXJpbmciJiZlKCl9fX0sImh6bnlEIik7Xy5ZdSgoKT0+e2goKTtrKCl9KTtyZXR1cm4gXy5LKCJ5dHctcGxheWVyLXNlZWstb3ZlcmxheSIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3QiLHN0eWxlOl8uSUUoe2Rpc3BsYXk6KCk9PnooKT8iYmxvY2siOiJub25lIn0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2siKSxlbDpfLnJGKFk9PntHPVl9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IiwieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKX0sXy5LKCJzdmciLHt2aWV3Qm94OiIwIDAgMjIgMzIiLHdpZHRoOiIyMiIsaGVpZ2h0OiIyNCIsY2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmcifSxfLksoInBhdGgiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGgiLGQ6Ik0gMTggNCBMIDYgMTYgTCAxOCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LHApKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkZvcndhcmQiKSxlbDpfLnJGKFk9PntEPVl9KX0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LAp0KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDQgNCBMIDE2IDE2IEwgNCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSkpKX0sImtlIik7dmFyIHRVO3ZhciBbZW5hLHNXXT1fLkooITEsdm9pZCAwLCJHTlczUyIpLFtDVSxEVV09Xy5KKCExLHZvaWQgMCwiR0FFa0oiKSxbdFcsdGxhXT1fLkoodm9pZCAwLHZvaWQgMCwiT1ZQMWVlIik7dmFyIEJVPTA7dmFyIEVVPXZvaWQgMDt2YXIgelU9MCxIVT0wLEdVPTAseVU9MCxBVT0hMSxGVT0wO3ZhciBOVTt2YXIgdVc9W3tyZWdpc3RlcjphPT57dmFyIGI9d2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj14bGEoYSk7YT1hKCkuSDthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc2NoYW5nZWQiLGIpO2E/LmFkZEV2ZW50TGlzdGVuZXIoImNhcHRpb25zc2V0dGluZ3NjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJvbkNhcHRpb25zVHJhY2tMaXN0Q2hhbmdlZCIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1CbGEoYSxiKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1EbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIlNFRUtfQ09NUExFVEUiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9UFUoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1FbGEoYSxiKTthKCk/Lkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1GbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTXV0ZWRBdXRvcGxheUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1IbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9SWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9R2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkZ1bGxzY3JlZW5DaGFuZ2UiLApiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUtsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuZXJyb3IiLGIpfX19LHtyZWdpc3RlcjooYSxiKT0+e3ZhciBjPUxsYShhLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIsYyk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9TWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsCmIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1dG9uYXYtdG9nZ2xlLWNsaWNrIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU5sYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Mb29wUmFuZ2VDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57aWYoIV8ueCgiZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYil9fX1dO3ZhciBWbGE9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuSCgpLHZvaWQgMCwicThXc0tmIiksYz1fLk4oKCk9PmEuZGF0YSgpLHZvaWQgMCwiazZVZVYiKSxkPV8uTigoKT0+e3ZhciBDPWEuY29udGV4dCgpO3JldHVybiBuZXcgcVcoKCk9Pnt9LEMse2F1dG9uYXZFbmFibGVkOkMudGEuZGUoKSxlYTohMH0sYil9LHZvaWQgMCwiT0F4SUpiIiksZT1fLk4oKCk9PigwLGQoKS5CKSgpLHZvaWQgMCwiVXUxUmkiKSxmPV8uTigoKT0+e3ZhciBDPWUoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6Qy5pc0xpdmUmJiFDLmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwiY3RVZzNkIiksaD1fLk4oKCk9Pnt2YXIgQz1mKCk7cmV0dXJuIHJVKCkmJiFDfSx2b2lkIDAsIm5KZGswYyIpLGs9Xy5OKCgpPT5jKCkucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzfHxjKCkuamI/LnByZXZpZXdQbGF5YWJpbGl0eVN0YXR1cyx2b2lkIDAsIkJWWEM5IiksbD1fLk4oKCk9PgplKCkuYmE/LlpoJiYkUyhlKCksaygpKSx2b2lkIDAsIk1Idkh3ZiIpLG09Xy5OKCgpPT5uVShlLGMoKS53YXRjaE5leHRSZXNwb25zZSksdm9pZCAwLCJjdHhVcyIpLG49Xy5OKCgpPT5tVShlLEJTKGMoKS53YXRjaE5leHRSZXNwb25zZSkpLHZvaWQgMCwiR0xrQlUiKSxwPV8uTigoKT0+e3ZhciBDPWwoKSxHPW0oKSxEPW4oKSxIPWUoKS5wbGF5ZXJTdGF0ZTtyZXR1cm4gQz8hMDpHfHxEPyExOkg9PT0wfSx2b2lkIDAsIlhFRXZCIikscj1fLnZFKCJidXR0b24iLEM9PntDJiZXUyhDLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSx0PV8uTigoKT0+e3ZhciBDPWMoKTtyZXR1cm4oQz1fLkIoTlMoQy53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixDLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbGxhcHNlZFJlbmRlcmVyLG1WKT8udGl0bGUpP18uYU4oQyk6dm9pZCAwfSwKdm9pZCAwLCJnc0dXeSIpLHY9Xy51RihDPT57dmFyIEc9ZSgpLEQ9YygpLEg9dCgpO3JldHVybiBHLmJhPy5oaWRlVmlkZW9JbmZvPyExOkQud2F0Y2hOZXh0UmVzcG9uc2V8fEQuamI/SCE9PXZvaWQgMDpDfSx7aW5pdGlhbDohMH0pLHo9Xy5OKCgpPT5lKCkuZWEsdm9pZCAwLCJUUjlLR2QiKSxFPV8udUYoQz0+e3ZhciBHPWMoKTtyZXR1cm4oRy5wbGF5ZXJSZXNwb25zZT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXJ8fEcuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyKT8uY29udHJvbEJnSHRtbD8/Q30se2luaXRpYWw6dm9pZCAwfSksQT1bXTtfLm5FKCgpPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e0EuZm9yRWFjaChDPT52b2lkIEMoKSk7QS5sZW5ndGg9MDt1Vy5mb3JFYWNoKEM9PntBLnB1c2goQy5yZWdpc3RlcigoKT0+ZCgpLnVkKCksKCk9PmMoKSkpfSl9KX0sIlkycVk3YiIpO18ubkUoKCk9Pnt2YXIgQz1kKCksCkc9YygpO0MuVWM9Rzt2YXIgRD1DLnY9PT1HLkg7Qy52PXFVKEcuSCk7RHx8Qy5qJiZDLmooQy51ZCgpKX0sImExNzhSZCIpO3ZhciBGPUM9PntDPUMuZGV0YWlsLmF1dG9uYXZFbmFibGVkO3ZhciBHPXthdXRvbmF2RW5hYmxlZDpDfTtDJiYoRy54Zj0hMCk7ZSgpLlMoRyl9O18ub0YoKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGZwLWF1dG9uYXYtdXBkYXRlIixGKX0pO18uWXUoKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULGIpXX0sXy5LKCJwZnAtY29udHJvbHMiLHtjbGFzczoieXRQZnBDb250cm9sc0hvc3QiLCJvbjpjb250ZXh0bWVudSI6ZnVuY3Rpb24oQyl7YS5jb250ZXh0KCkudGEuU2o/LihDKTtDLnByZXZlbnREZWZhdWx0KCl9fSxfLksoR1Yse0c6ZSx0aHVtYm5haWxEZXRhaWxzOigpPT57dmFyIEM9CmMoKTtyZXR1cm4gQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmRlZmF1bHRUaHVtYm5haWx8fEMucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udGh1bWJuYWlsfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVyIiwib246Y2xpY2siOmZ1bmN0aW9uKEMpe0Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT5jKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLEc6ZX0pfSkpLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOl8uUCgieXRQZnBDb250cm9sc092ZXJsYXkiLHt5dFBmcENvbnRyb2xzRmFkZUluOnp9KSwib246Y2xpY2siOmZ1bmN0aW9uKEMpe3AoKT8KKFhTKDI4NTcyKSxlKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxDLmN1cnJlbnRUYXJnZXQudmlzdWFsRWxlbWVudCksYigpLnBsYXlWaWRlbygpKTpLVShDLGUoKSl9LCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oQyl7Qy5wb2ludGVyVHlwZT09PSJtb3VzZSImJihlKCkuUyh7ZWE6ITB9KSxjVChlKCkse0ljOiEwfSkpfX0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCJ9LF8uSyhfLk8se0E6dCx0aGVuOigpPT5fLksoImgyIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNWaWRlb1RpdGxlIn0sdCl9KSl9KSxfLksob1cse2plOigpPT5lKCkuamV9KSxfLksoXy5PLHtBOnAsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbiIsZWw6ciwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoInN2ZyIse2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIiwKdmlld0JveDoiMCAwIDYwIDYwIix3aWR0aDoiMTAwJSJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJnIixkOiJNMzAsMEEzMCwzMCwwLDEsMCw2MCwzMCwzMCwzMCwwLDAsMCwzMCwwWiIsZmlsbDooKT0+RSgpPz8iIzFmMWYxZiJ9KSxfLksoInBhdGgiLHtkOiJNMjEsNDEuNjVWMThMNDMuNywyOS44NVoiLGZpbGw6IiNmZmYifSkpKX0pLF8uSyhabWEse0c6ZSxVYzpjfSksXy5LKGFuYSx7RzplLHdhdGNoTmV4dFJlc3BvbnNlOigpPT5jKCkud2F0Y2hOZXh0UmVzcG9uc2UsVXg6bixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW4ifSksXy5LKFltYSx7SDpiLEc6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0F1dG9uYXYifSksXy5LKF8uTyx7QTooKT0+IWwoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzplfSksCl8uSyhWVix7Z2Y6ZSxJYjohMX0pLF8uSyhYVix7RzplLEZkOi0xLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ifSksXy5LKFhWLHtHOmUsRmQ6MSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoclcse0c6ZX0pfSksXy5LKGZuYSx7SDpiLEc6ZSxVYzpjLEZ6OkUsZGlzYWJsZVNjcnViYmluZzpmfSkpfSkpKSl9LCJvZSIpLGZuYT1fLkwoKHtIOmEsRzpiLFVjOmMsRno6ZCxkaXNhYmxlU2NydWJiaW5nOmV9KT0+e2Z1bmN0aW9uIGYocil7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLk4oKCk9PiFiKCkuYmE/Lm5oLHZvaWQgMCwicEZ0RFhiIiksaz1fLk4oKCk9PiFiKCkuYmE/LmlxLHZvaWQgMCwidjRYNXNlIiksbD1fLk4oKCk9PmMoKS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsdm9pZCAwLCJqTGhoV2MiKSxtPV8uTigoKT0+R1MobCgpKSx2b2lkIDAsInM2N3hTYiIpLG49Xy5OKCgpPT4KRVMobCgpKSx2b2lkIDAsInBDaWF1IikscD1fLk4oKCk9PiFiKCkuYmE/LnpyLHZvaWQgMCwic3Z1eEIiKTtyZXR1cm4gXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyIn0sXy5LKENWLHtMYjpiLGhmOm0sY29uZmlnOigpPT4oe3Bvc2l0aW9uOjEsS2Y6ITEsSW46cCgpLFJhOm4oKSxkaXNhYmxlU2NydWJiaW5nOmUoKSxZbzooKT0+e2JUKCl9LEZuOigpPT57Y1QoYigpLHtJYzohMH0pfX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNCb3R0b21CYXIiLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkfSksIm9uOmNsaWNrIjpmfSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzIn0sXy5LKF8uTyx7QTooKT0+YigpLnBsYXllclN0YXRlPT09MCx0aGVuOigpPT5fLksoYVcse0c6Yn0pLFc6KCk9Pl8uSygkVix7RzpiLHlzOiEwfSl9KSwKXy5LKEhWLHtvcmllbnRhdGlvbjoiaG9yaXpvbnRhbF9yaWdodCIsSDphLER2OiEwLENwOl8uQkt8fF8uR0ssYmo6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMifSksXy5LKHBXLHtHOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmwsVnc6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVGltZURpc3BsYXkifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xzIn0sXy5LKGRXLHtnZjpiLFZyOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9uIn0pLF8uSyhiVyx7RzpiLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1NldHRpbmdzQnV0dG9uIn0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoWlYse0c6Yn0pfSkpKSl9KX0sInBlIik7dmFyIGduYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1kZXRhaWxzLXZpZXctbW9kZWwiLHtjbGFzczoieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsSG9zdCJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsQm9keVRleHQiLHRleHQ6KCk9PmEoKS5ib2R5VGV4dH0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLmN0YUJ1dHRvbnN8fFtdfSxiPT4oYj0oYj1fLkIoYixhbWEpKT9fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpiLmJvZHlUZXh0Py5jb250ZW50fSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmI/Lmljb24/Lmljb25UeXBlfX1dfSxyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDpiPy5vblRhcH19fX0sXy5aQyk6dm9pZCAwKT9fLksoXy5DRCx7ZGF0YTpifSk6bnVsbCkpLCJxZSIpO3ZhciBobmE9Xy5MKCh7ZGF0YTphLG9uQ2xpY2s6Yn0pPT5fLksoInl0LWVtYmVkcy1pbmZvLXBhbmVsLW92ZXJ2aWV3LXZpZXctbW9kZWwiLG51bGwsXy5LKCJidXR0b24iLHsib246Y2xpY2siOmIsY2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyQnV0dG9uIn0sXy5LKF8uTyx7QTooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0In0sXy5LKF8uVix7dGV4dDooKT0+YSgpLnRpdGxlfSksXy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEoKS50aXRsZSYmYSgpLmJvZHlUZXh0PyIgXHUyMDIyICI6IiJ9KX0pLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5ib2R5VGV4dH0pKSkpLCJyZSIpO3ZhciB2Vz1fLkwoKHtkYXRhOmEscHJvcHM6Yn0pPT57ZnVuY3Rpb24gYyhkKXt2YXIgZT1hKCkuaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbDtpZihlKXt2YXIgZj17fTtlLnRpdGxlPy5jb250ZW50JiYoZi5oZWFkZXJUaXRsZT1lLnRpdGxlLmNvbnRlbnQpO18ueU4oey4uLmYsR2I6KCk9Pl8uSyhnbmEse2RhdGE6ZX0pLEhhOiEwfSl9ZC5zdG9wUHJvcGFnYXRpb24oKX1yZXR1cm4gXy5LKCJ5dG0tZW1iZWRzLWluZm8tcGFuZWwtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdCIse3l0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRlOigpPT5iKCkucGxheWVyU3RhdGU9PT0xLHl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXQ6KCk9PiEkUyhiKCkpJiYhYigpLmJhPy5oaWRlVmlkZW9JbmZvJiYhYigpLmJhPy5uaH0pLHN0eWxlOl8uSUUoeyJhbmltYXRpb24tZGVsYXkiOigpPT4KYCR7YSgpLmR1cmF0aW9uTXN8fDFFNH1tc2B9KX0sXy5LKF8uTyx7QTooKT0+YSgpLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLHRoZW46ZD0+Xy5LKGhuYSx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSkpfSwic2UiKTt2Vy5pZG9tQ29tcGF0PSEwO3ZhciB3Vz1fLkwoKHtHOmF9KT0+e3ZhciBbYixjXT1fLkooImhpZGRlbiIsdm9pZCAwLCJTQmhiSGUiKSxkLGUsW2YsaF09Xy5KKCExLHZvaWQgMCwiSGc3eG5mIiksW2ssbF09Xy5KKCExLHZvaWQgMCwibktIbFplIik7Xy5VSigoKT0+e3RXKCk9PT12b2lkIDAmJnVsYSgpO2U9c2V0VGltZW91dCgoKT0+e3RXKCkmJm0oITApO2woITApfSwyRTMpfSk7Xy5ZdSgoKT0+e20oITEpO2NsZWFyVGltZW91dChlKTtjbGVhclRpbWVvdXQoZCl9KTtfLm5FKCgpPT57Q1UoKSYmZigpJiYobSghMSksc1coITApKTshdFcoKSYmZigpJiZtKCExKTt0VygpJiYhZW5hKCkmJiFmKCkmJmsoKSYmbSghMCl9LCJWQ0ZCSWIiKTt2YXIgbT1uPT57aChuKTthKCkuSD8uc2V0QXV0b2Nyb3BFbmFibGVkKG4pO2NsZWFyVGltZW91dChkKTtuPyhjKCJ2aXNpYmxlIiksZD1zZXRUaW1lb3V0KCgpPT57YygiIil9LDNFMykpOihjKCIiKSxkPXNldFRpbWVvdXQoKCk9PntjKCJoaWRkZW4iKX0sM0UzKSl9O3JldHVybiBfLksoImRpdiIsCntjbGFzczpfLlAoInl0QXV0b2Nyb3BCdXR0b25Ib3N0Iix7eXRBdXRvY3JvcEJ1dHRvblZpc2libGU6KCk9PmIoKT09PSJ2aXNpYmxlIix5dEF1dG9jcm9wQnV0dG9uSGlkZGVuOigpPT5iKCk9PT0iaGlkZGVuIn0pfSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLHRleHQ6e3J1bnM6W3t0ZXh0Ol8uJE4uUHN9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnttKCFmKCkpO3NXKCFmKCkpfX0pLFc6KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDoiMTAwJSJ9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCwKc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KX0pKX0sInVlIik7d1cuaWRvbUNvbXBhdD0hMDt2YXIgeFc9Xy5MKCh7ZGF0YTphLEZlOmJ9KT0+Xy5LKCJ5dG0tZW5kc2NyZWVuLXZpZGVvLXJlbmRlcmVyIixudWxsLF8uSyhfLmZqYSx7ZGF0YTooKT0+KHt0aHVtYm5haWw6YSgpLnRodW1ibmFpbCx0aHVtYm5haWxPdmVybGF5czphKCkudGh1bWJuYWlsT3ZlcmxheXMsdmlkZW9JZDphKCkudmlkZW9JZCxsZW5ndGhUZXh0OmEoKS5sZW5ndGhUZXh0LHB1Ymxpc2hlZFRpbWVUZXh0OmEoKS5wdWJsaXNoZWRUaW1lVGV4dCxuYXZpZ2F0aW9uRW5kcG9pbnQ6YSgpLm5hdmlnYXRpb25FbmRwb2ludCxoZWFkbGluZTphKCkudGl0bGV9KSxGZTpifSkpLCJ2ZSIpO3hXLmlkb21Db21wYXQ9ITA7dmFyIHpXPV8uTCgoe3dhdGNoTmV4dFJlc3BvbnNlOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0IixpZG9tS2V5OiJmdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyIn0sXy5LKF8uZ0cse3BhOigpPT5NUyhhPy4oKSl9LGI9Pl8uSyh5Vyx7dmlkZW86Yn0pKSksIndlIik7elcuaWRvbUNvbXBhdD0hMDt2YXIgeVc9Xy5MKCh7dmlkZW86YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9uIn0sXy5LKF8uVyx7ZGF0YTphfSx7ZW5kU2NyZWVuVmlkZW9SZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoeFcse2RhdGE6YixGZTohMH0pfSkpLCJ4ZSIpO3lXLmlkb21Db21wYXQ9ITA7dmFyIEJXPV8uTChhPT5fLksoInBsYXllci1mdWxsc2NyZWVuLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0IixzdHlsZTpfLklFKHt2aXNpYmlsaXR5OigpPT5hLkcoKS5OYT8idmlzaWJsZSI6ImhpZGRlbiJ9KX0sXy5LKCJoMiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxlIn0sXy5LKF8uTyx7QTooKT0+YS53YXRjaE5leHRSZXNwb25zZT8uKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnZpZGVvRGV0YWlscz8ucGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyPy50aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLF8uSyhBVyx7RzphLkd9KSksInllIik7QlcuaWRvbUNvbXBhdD0hMDsKdmFyIEFXPV8uTCgoe0c6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVyIn0sXy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLGljb246e2ljb25UeXBlOiJDTE9TRSJ9LGFjY2Vzc2liaWxpdHk6e2xhYmVsOiJDbG9zZSJ9LGFjY2Vzc2liaWxpdHlEYXRhOnthY2Nlc3NpYmlsaXR5RGF0YTp7bGFiZWw6IkNsb3NlIn19fSxwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnthKCkuUyh7TmE6ITF9KTtfLk1PKCIuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludCIpO2NUKGEoKSl9fSkpLCJ6ZSIpO0FXLmlkb21Db21wYXQ9ITA7dmFyIENXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLmlzRnVsbHNjcmVlbnx8YS5HKCkuYmE/LkVlLGM9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm4gXy5hTCgiZnVsbHNjcmVlbi1jb250cm9scyIse2V4cGFuZGVkOmYuTmEsInN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCI6Zi5iYT8uRWV8fF8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KX0sZD0oKT0+e3ZhciBmPWEuRygpO3JldHVybmAKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7Zi5KZn1weCk7CiAgICAgIHRyYW5zaXRpb246ICR7Zi5XZD8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvdHRvbSAwLjJzIGVhc2UifTsKICAgICAgdmlzaWJpbGl0eTogJHtmLkpmfHxmLk5hPyJ2aXNpYmxlIjoiaW5oZXJpdCJ9OwogICAgICBwb2ludGVyLWV2ZW50czogICR7Zi5OYT8iYWxsIjoibm9uZSJ9OwogICAgYH0sZT0oKT0+Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmYS5hdXRvY3JvcENvbmZpZz8uKCk7cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tY29udHJvbHMiLHtoaWRkZW46IWIsY2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5Db250cm9sc0hvc3QifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQlcse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHdXLHtHOmEuR30pfSksXy5LKEtWLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjphLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6YyxzdHlsZTpkfSxfLksoelcse3dhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSkpfSkpfSwiQWUiKTtDVy5pZG9tQ29tcGF0PSEwO3ZhciBEVz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8udUUoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIpO3JldHVybiBfLksoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0IixlbDpiLCJvbjphbmltYXRpb25lbmQiOmZ1bmN0aW9uKGMpe2IudmFsdWUuY2xhc3NMaXN0LmFkZCgieXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVuIik7Yy5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXRtUGFpZENvbnRlbnRPdmVybGF5TGluayJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVBhaWRDb250ZW50T3ZlcmxheVRleHQifSxfLksoXy5WLAp7dGV4dDooKT0+YSgpLnRleHR9KSksXy5LKF8uTyx7QTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCJ9KX0pKSl9LCJCZSIpO0RXLmlkb21Db21wYXQ9ITA7dmFyIEVXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLkg/LmdldFNpemU/LigpPy53aWR0aDtyZXR1cm4gXy5LKCJwbGF5ZXItYm90dG9tLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJCb3R0b21Db250cm9sc0hvc3QiLHsiZGVsaGktcGxheWVyIjpfLngoIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIil9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJvdHRvbSBwbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnQifSxfLksoXy5PLHtBOigpPT4hKGIoKSYmYigpPDMyMCksdGhlbjooKT0+Xy5LKHBXLHtHOmEuRyxTbTphLlNtLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYm90dG9tIiwicGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodCIpfSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5pcXx8YigpJiZiKCk8MjQwKSx0aGVuOigpPT5fLksoImRpdiIsCntjbGFzczoieXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciJ9LF8uSyhaVix7RzphLkd9KSl9KSkpfSwiQ2UiKTtFVy5pZG9tQ29tcGF0PSEwO3ZhciBGVz1fLkwoYT0+e3ZhciB7RzpiLHdhdGNoTmV4dFJlc3BvbnNlOmN9PV8uREMoYSx7d2F0Y2hOZXh0UmVzcG9uc2U6dm9pZCAwfSk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PkhTKGIoKSxBUyhjKCkpKSx0aGVuOigpPT5fLksoInBsYXllci1lbmRzY3JlZW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lciJ9LF8uSygiZGl2Iix7aWQ6InBsYXllci1lbmRzY3JlZW4iLGNsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW4iLCJkYXRhLWhhcy10aW1lci1jb3VudGRvd24iOiEwfSxfLksoaW5hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT5CUyhjKCkpfSksXy5LKGpuYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhrbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PgpCUyhjKCkpfSkpKSl9KX0sIkRlIik7RlcuaWRvbUNvbXBhdD0hMDsKdmFyIGluYT1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwifSxfLksobG5hLHsuLi5hfSksXy5LKG1uYSx7Li4uYX0pKSwiRWUiKSxsbmE9Xy5MKGE9Pnt2YXIge3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Y309Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxbZCxlXT1fLiROLk9zLnNwbGl0KCJzZWNvbmRzX3BsYWNlaG9sZGVyIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhlYWRlciIscm9sZToidGV4dCJ9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKS56ZiYmYygpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+YygpPy5wYXVzZVRleHR9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKCJzcGFuIix7aWQ6InVwbmV4dC1pbi1tZXNzYWdlIn0sZCxfLksobm5hLHsuLi5hfSksZSkpKSl9LCJGZSIpLG5uYT1fLkwoYT0+e3ZhciBiPQphLnByb3BzO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVyIiwiYXJpYS1oaWRkZW4iOiEwfSwoKT0+YigpLnlmKX0sIkdlIiksbW5hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCk/LmNsb3NlQnV0dG9uLHRoZW46Yz0+Xy5LKF8uVyx7ZGF0YTpjfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5WUCx7ZGF0YTpkfSksYnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCx0ZzooKT0+e1FVKGEpfSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KX0pfSl9LCJIZSIpLGpuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTsKcmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lciJ9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5iKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXIiLGFyaWFMYWJlbDooKT0+Xy5ESihiKCk/LnZpZGVvVGl0bGU/LmFjY2Vzc2liaWxpdHkpfSxfLksob25hLHsuLi5hfSksXy5LKHBuYSx7Li4uYX0pKSl9LCJJZSIpLG9uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXkifSxfLksoXy5YUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YigpPy5iYWNrZ3JvdW5kLE1kOnZvaWQgMCxUYjohMSwKY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxDb250YWluZXIifSksXy5LKF8uVyx7ZGF0YTooKT0+YigpPy50aHVtYm5haWxPdmVybGF5c30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmN9KT0+Xy5LKF8uVlAse2RhdGE6YyxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbE92ZXJsYXlzIixhcmlhSGlkZGVuOiEwfSl9KSl9LCJKZSIpLHBuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZvIiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YigpPy52aWRlb1RpdGxlfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvQXV0aG9yIn0sCl8uSyhfLlYse3RleHQ6KCk9PmIoKT8uYnlsaW5lLG1hOiEwfSkpKX0sIktlIiksa25hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pLGM9e3N0eWxlOiJvdmVybGF5In07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKT8uY2FuY2VsQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbiIsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOmN9KX0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8ubmV4dEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLApidXR0b25PdmVycmlkZXM6Y30pfSkpfSwiTGUiKTt2YXIgR1c9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPV8uUCgieXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0IiwicGxheWVyLWNvbnRyb2xzLW1pZGRsZSIseyJwcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbiI6KCk9Pnt2YXIgaD1iPy4oKTtpZighaD8uaXNSZWFkeT8uKCkpcmV0dXJuITE7aD1oPy5nZXRTaXplKCk/LmhlaWdodDtoPSEhaCYmaDwyNzU7dmFyIGs9YS5HKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIiO3JldHVybiBofHxrfX0pLGQ9KCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gaC5wbGF5ZXJTdGF0ZT09PTN8fGgucGxheWVyU3RhdGU9PT0tMX0sZT0oKT0+e3ZhciBoPWEuRygpO3ZhciBrPWI/LigpO1hRKGspfHwhaz8uaXNSZWFkeT8uKCk/az0hMTpoPy5iYT8udm4/az0hMDooaD1rLmdldFZpZGVvRGF0YSgpLGs9IWguaXNMaXN0ZWR8fGgueXBjUHJldmlld3x8aC5pc0xpdmV8fHR5cGVvZiBrLmdldExvb3BSYW5nZT09PSJmdW5jdGlvbiImJgprLmdldExvb3BSYW5nZSgpPyEwOiExKTtyZXR1cm4ha30sZj1fLlAoInBsYXllci1jb250cm9scy1taWRkbGUtY29yZS1idXR0b25zIix7InNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnMiOmR9KTtyZXR1cm4gXy5LKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzIix7Y2xhc3M6Y30sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSyhxbmEsbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOmZ9LF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksocm5hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSxfLksoWFYse0ZkOi0xLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOigpPT57dmFyIGg9YS5HKCk7cmV0dXJuIXVTKGgpfSx0aGVuOigpPT5fLksoJFYse0c6YS5HfSksVzooKT0+Xy5LKGFXLHtHOmEuR30pfSksXy5LKFhWLHtGZDoxLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSwKXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhzbmEse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KX0pKSl9LCJNZSIpO0dXLmlkb21Db21wYXQ9ITA7CnZhciBxbmE9Xy5MKCgpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItY29udHJvbHMtc3Bpbm5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6InNwaW5uZXIifSkpLCJOZSIpLHJuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9PiFhLkcoKS5iYT8udm47cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1BSRVZJT1VTIixhcmlhTGFiZWw6Xy4kTi5NdCxhcmlhRGlzYWJsZWQ6YyxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24iLHsiaWNvbi1kaXNhYmxlIjpjfSksVWQ6MzY4NDAsY29udGVudDooKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIn0sXy5LKF8uTUQse2ljb246IlBMQVlFUl9QUkVWSU9VUyJ9KSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTsKaWYoWFEoZSkmJmYmJmgpe2lmKGQ9UlUoaCkuVWEpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgZj1hLkcoKS5iYT8udm4scGphKGMoKSxlLGYpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCl9fSl9LCJPZSIpLHNuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9Pnt2YXIgZD1iPy4oKTtpZighZD8uaXNSZWFkeT8uKCkpcmV0dXJuITA7dmFyIGU9ZD8uZ2V0UGxheWxpc3QoKTtkPWQ/LmdldFBsYXlsaXN0SW5kZXgoKTt2YXIgZj0hMTtlJiZkIT09dm9pZCAwJiYoZj1kPj1lLmxlbmd0aC0xKTtyZXR1cm4gZn07cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX05FWFQiLGFyaWFMYWJlbDpfLiROLkt0LGFyaWFEaXNhYmxlZDpjLFVkOjM2ODQxLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfTkVYVCJ9KSksY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIiwKeyJpY29uLWRpc2FibGUiOmN9KSxvbmNsaWNrOigpPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtkLnJjJiZlPy51bk11dGUoKTt2YXIgZj1hLndhdGNoTmV4dFJlc3BvbnNlPy4oKSxoPUFTKGYpO2lmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLm5leHQpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgYygpfHwoZT8ubmV4dFZpZGVvKCksZC5iYT8udWomJl8uRE8oXy5oeCgpLDI3MjQwKSl9fSl9LCJQZSIpO3ZhciBIVz1fLkwoKHt2aWRlb0RldGFpbHM6YSxHOmJ9KT0+e2Z1bmN0aW9uIGMoVCl7QygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChUKXtHKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGYoVCl7RT8udmFsdWU/LmNvbnRhaW5zKFQudGFyZ2V0KXx8RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gaChUKXtULnByZXZlbnREZWZhdWx0KCk7WFMoMjM4NTEpO3ZhciBiYT1TVShiLEQpO2lmKGJhKXt2YXIgYWE9YigpPy5IPy5nZXRDdXJyZW50VGltZSgpO18uQUooYmEse3BhcmFtczp7dGltZXN0YW1wOmFhP01hdGguZmxvb3IoYWEpLnRvU3RyaW5nKCk6dm9pZCAwfX0sITEse2V2ZW50OlR9KX1ULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGsoVCl7VShUKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGwoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO3ooKXx8RigpJiZGKCk8MzIwPwpVKFQpOkMoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG0oVCl7VC5wcmV2ZW50RGVmYXVsdCgpO0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBuKFQpe0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIgW3Ascl09Xy5KKCExLHZvaWQgMCwiaVpNUW1mIiksW3Qsdl09Xy5KKCExLHZvaWQgMCwiQ2hoSDBiIiksej10LEU9Xy52RSgiZGl2IiksQSxGPSgpPT5iKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLEM9KCk9PntGKCkmJkYoKTwzMjB8fChyKCEwKSxBJiZjbGVhclRpbWVvdXQoQSkseigpfHwoYlQoKSx2KCEwKSkpfSxHPShUPTUwMCk9PntGKCkmJkYoKTwzMjB8fChyKCExKSxBPXNldFRpbWVvdXQoKCk9PnshcCgpJiZ6KCkmJih2KCExKSxjVChiKCkse0ljOiEwfSkpfSxUKSl9LEQ9KCk9Pl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlLEg9KCk9PmE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxSPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsLApNPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnRpdGxlPz8oXy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/dm9pZCAwOl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnN1YnRpdGxlKSxTPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnRpdGxlLFk9KCk9Pl8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uLHBhPV8uTigoKT0+Xy5CKFNVKGIsRCksXy5WRCk/LnVybCx2b2lkIDAsInlUSE5qIiksb2E9Xy5OKCgpPT5fLkIoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LF8uVkQpPy51cmwsdm9pZCAwLCJwd2wzSWMiKSxVPVQ9PntULnByZXZlbnREZWZhdWx0KCk7aWYoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50JiZhPy4oKSl7dmFyIGJhPWE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludDtYUygzNjkyNSk7Xy5BSihiYSx7fSwhMSwKe2V2ZW50OlR9KX19LGhhPV8uUCgieXRtVmlkZW9JbmZvVmlkZW9UaXRsZUNvbnRhaW5lciIse3l0bVZpZGVvSW5mb0xvZ29FbmFibGVkOigpPT4hIWE/LigpLmNoYW5uZWxUaHVtYm5haWx9KSxtYT1fLlAoInl0bVZpZGVvSW5mb092ZXJsYXkiLHt5dG1WaWRlb0luZm9FeHBhbmRlZDooKT0+eigpfSksdGE9KCk9PiEhXy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJzY3JpYmVCdXR0b24mJiFiKCkuYmE/Lm9oO3JldHVybiBfLksoImVtYmVkZGVkLXBsYXllci12aWRlby1kZXRhaWxzIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0hvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb0RldGFpbHNDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOmhhfSxfLksoXy5PLHtBOkQsdGhlbjooKT0+Xy5LKF8uTyx7QTpwYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmgsY2xhc3M6Inl0bVZpZGVvSW5mb1ZpZGVvVGl0bGUiLGVsOl8uckYoVD0+e1dTKFQsCjIzODUxKX0pLGhyZWY6cGF9LF8uSyhfLlYse3RleHQ6RCxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiksdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDpELHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSksXy5LKF8uTyx7QTpfLngoImVtYmVkc192aWRfZGV0YWlsc19mYWxsYmFja19jaGFubmVsX25hbWVfa3MiKT9IOk0sdGhlbjooKT0+Xy5LKF8uTyx7QTpvYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmssY2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSIsaHJlZjpvYX0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZTpfLlAoInl0bVZpZGVvSW5mb0xpbmsiKSx5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSksVzooKT0+Xy5LKCJzcGFuIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSJ9LF8uSyhfLlYse3RleHQ6TSx5YzohMCwKdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSl9KSksXy5LKF8uTyx7QTpSLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXIiLGVsOkUsIm9uOmZvY3VzaW4iOmUsIm9uOmZvY3Vzb3V0IjpmLCJvbjptb3VzZW92ZXIiOmMsIm9uOm1vdXNlb3V0IjpkfSxfLksoImJ1dHRvbiIseyJvbjp0b3VjaHN0YXJ0IjpsLCJvbjp0b3VjaGVuZCI6bSwib246Y2xpY2siOmssY2xhc3M6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiwieXRtVmlkZW9JbmZvQ2hhbm5lbEF2YXRhciIpLGVsOl8uckYoVD0+e1dTKFQsMzY5MjUpfSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOlIsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9DaGFubmVsTG9nbyIsYWx0OiJ0aHVtYm5haWwtaW1hZ2UifSkpLF8uSygiZGl2Iix7Y2xhc3M6bWEsIm9uOnRvdWNoc3RhcnQiOkMsIm9uOnRvdWNoZW5kIjpufSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsSW5mbyIsCnJvbGU6InRleHQifSxfLksoXy5WLHt0ZXh0Ok0sY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsVGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pLF8uSyhfLlYse3RleHQ6UyxjbGFzc05hbWU6Inl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZSIseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvU3Vic2NyaWJlQnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTpZfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSkpfSkpKX0sIlFlIik7SFcuaWRvbUNvbXBhdD0hMDt2YXIgVFU9Xy4kTi5BdCxPbGE9Xy4kTi5ndSx0bmE9Xy5MKCh7UXk6YSxvbkNsaWNrOmIsSm46YyxCczpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iLGg9PntXUyhoLDI4NjYyKX0pLGY9KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuYXJpYUxhYmVsO3JldHVybiBfLksoInl0bS1tdXRlLWJ1dHRvbiIse2NsYXNzOiJ5dG1NdXRlQnV0dG9uSG9zdCJ9LF8uSygiYnV0dG9uIix7ZWw6ZSxjbGFzczoieXRtTXV0ZUJ1dHRvbkJ1dHRvbiIsdGl0bGU6ZiwiYXJpYS1sYWJlbCI6Ziwib246Y2xpY2siOmZ1bmN0aW9uKGgpe1hTKDI4NjYyKTtiPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+VVUoYSgpLGM/LigpLGQ/LigpKS5pY29uTmFtZX0pKSkpfSwiUmUiKTt2YXIgSVc9Xy5MKCh7SEI6YSxXcTpiLEpuOmMsQnM6ZCxjbGFzc05hbWU6ZX0pPT5fLksoInl0LW11dGUtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyh0bmEse1F5OigpPT57dmFyIGY9YSgpO3JldHVybiBmLnJjfHxmLnZvbHVtZT09PTA/MDpmLnZvbHVtZT41MD8xOjJ9LG9uQ2xpY2s6Zj0+e3ZhciBoPWEoKS5IO2gmJihoLmlzTXV0ZWQoKT9oLnVuTXV0ZSgpOmgubXV0ZSghMSkpO2I/LihmKX0sSm46KCk9PiEhYz8uKCksQnM6KCk9PiEhZD8uKCl9KSksIlNlIik7SVcuaWRvbUNvbXBhdD0hMDt2YXIgVlU7dmFyIHVuYT1fLkwoKHtlbmFibGVkOmEsYXJpYUxhYmVsOmIsb25DbGljazpjfSk9Pl8uSygiYnV0dG9uIix7ImFyaWEtbGFiZWwiOmIsImFyaWEtcHJlc3NlZCI6YSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2M/LihkKTtkLnN0b3BQcm9wYWdhdGlvbigpfSxjbGFzczoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvbkhvc3QifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJBVVRPTkFWX09OX1RPR0dMRV9TUEFOTkVSIjoiQVVUT05BVl9PRkZfVE9HR0xFX1NQQU5ORVIiLGNsYXNzTmFtZTooKT0+YSgpPyJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25TcGFubmVySWNvbk9mZiJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJQTEFZX0NJUkNMRV9GSUxMRUQiOiJQQVVTRV9DSVJDTEVfRklMTEVEIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29uIjoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBhdXNlSWNvbiJ9KSksCiJUZSIpO3ZhciBKVz1fLkwoKHtHOmEsQ3U6Yn0pPT57Xy5DUShiLGU9PntlJiZlLmVuYWJsZWQhPT12b2lkIDAmJmUuZW5hYmxlZCE9PWEoKS5hdXRvbmF2RW5hYmxlZCYmWFUoYSgpLGUuZW5hYmxlZCwhMSl9KTt2YXIgYz1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZD9fLkRKKGIoKS5lbmFibGVkQWNjZXNzaWJpbGl0eURhdGEpOl8uREooYigpLmRpc2FibGVkQWNjZXNzaWJpbGl0eURhdGEpLHZvaWQgMCwiUTlndnpjIiksZD1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZCx2b2lkIDAsIklRQ1prZiIpO3JldHVybiBfLksoInBsYXllci1hdXRvbmF2LXRvZ2dsZSIse2NsYXNzOiJ5dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCJ9LF8uSyh1bmEse2VuYWJsZWQ6ZCxhcmlhTGFiZWw6YyxvbkNsaWNrOmU9Pnt2YXIgZj1hKCksaD1mLmF1dG9uYXZFbmFibGVkO1hVKGYsIWYuYXV0b25hdkVuYWJsZWQsITApO3ZhciBrPWIoKTshaCYmay5vbkVuYWJsZWRDb21tYW5kP18uQUooay5vbkVuYWJsZWRDb21tYW5kLAprLCEwKTpoJiZrLm9uRGlzYWJsZWRDb21tYW5kJiZfLkFKKGsub25EaXNhYmxlZENvbW1hbmQsaywhMCk7UGxhKGYsYigpKTt1UyhmKXx8Y1QoZix7SWM6ITB9KTtlLnN0b3BQcm9wYWdhdGlvbigpfX0pKX0sIlVlIik7SlcuaWRvbUNvbXBhdD0hMDt2YXIgTFc9Xy5MKGE9Pnt2YXIgYj0oKT0+TlMoYS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpLGEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy4oKSksYz0oKT0+YigpJiYhYS5HKCkuYmE/LmhpZGVWaWRlb0luZm87cmV0dXJuIF8uSygicGxheWVyLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJUb3BDb250cm9sc0hvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLXRvcCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzOmN9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKEhXLHt2aWRlb0RldGFpbHM6YixHOmEuR30pfSksXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5uaCYmISRTKGEuRygpKSx0aGVuOigpPT5fLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRvcENvbnRyb2xzUGxheWVyQ29udHJvbHNUb3BSaWdodCIsCiJwbGF5ZXItY29udHJvbHMtdG9wLXJpZ2h0Iix7eXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0OmN9KX0sXy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSksVzooKT0+Xy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pfSkpKX0sIlZlIik7TFcuaWRvbUNvbXBhdD0hMDsKdmFyIHZuYT0oYSxiKT0+Xy5LKGRXLHtnZjphLFZyOiEwLFdxOmJ9KSxLVz1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuSDtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIifSwoKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsYmo6ITAsSDpjfSkpLF8uSyhfLkNFLHt3aGVuOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKSxlPWQ/LndpZHRoJiZkLndpZHRoPj0yNTA7ZD1kPy5oZWlnaHQmJmQuaGVpZ2h0Pj0yMDA7cmV0dXJuIGEoKS5iYT8udm9sdW1lQ29udHJvbFR5cGU9PT0ibXV0ZS1idXR0b24iJiZlJiZkfX0sKCk9Pl8uSyhJVyx7SEI6YSxKbjohMH0pKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5JQixudWxsKSkpLF8uSyhfLk8se0E6KCk9PiEhelMoYj8uKCkpLHRoZW46KCk9Pl8uSyhKVywKe0c6YSxDdTooKT0+elMoYj8uKCkpfSl9KSx2bmEoYSxmdW5jdGlvbigpe2NUKGEoKSx7SWM6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgZD1hKCkuSD8uZ2V0U2l6ZSgpO2Q9ZD8ud2lkdGgmJmQud2lkdGg+PTMyMHx8IWEoKS5iYT8ub2g7cmV0dXJuISFhKCkudGEuU2omJmR9LHRoZW46KCk9Pl8uSyhiVyx7RzphfSl9KSl9LCJXZSIpO0tXLmlkb21Db21wYXQ9ITA7dmFyIE1XPV8uTChhPT57ZnVuY3Rpb24gYihUKXtULnBvaW50ZXJUeXBlPT09Im1vdXNlIiYmKGwoKS5TKHtlYTohMH0pLGNUKGwoKSx7SWM6ITB9KSl9ZnVuY3Rpb24gYyhUKXtLVShULGwoKSl9ZnVuY3Rpb24gZChUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT1ULnRvdWNoZXNbMF07SFU9YWEucGFnZVg7elU9YWEucGFnZVk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJihCVT13VShUKSk7SFQoYmEsVC50b3VjaGVzLmxlbmd0aCk7YmEuYmE/Lk1pfHxiYS5OYXx8YmEuV2R8fGJhLnNifHxfLlRFKCl8fChFVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW92aWVfcGxheWVyIikpJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybU9yaWdpbjoiIn0pfX1mdW5jdGlvbiBlKFQpe3ZhciBiYT1sKCk7aWYoeFUoVCkpe1Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPQpULnRvdWNoZXNbMF07QVU9ITA7R1U9YWEucGFnZVg7eVU9YWEucGFnZVk7YWE9e2xrOkdVLUhVLE9kOnlVLXpVfTthYS5PZD09PTAmJmFhLmxrPT09MHx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHxiYS5iYT8uTWl8fFQucHJldmVudERlZmF1bHQoKTtJVChULGFhLGJhKTtfLngoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZULnRvdWNoZXMubGVuZ3RoPT09MiYmQlUhPT0wJiZNYXRoLmFicyh3VShUKS1CVSk+MTAmJkRVKCEwKTshYmEuYmE/Lk1pJiYoYmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHxfLk1FKCkmJiFiYS5pc0Z1bGxzY3JlZW58fChiYS5TKHtlYTohMX0pLFQ9YWEuT2QsYmEuaXNGdWxsc2NyZWVuJiYoVCo9LTEpLCFiYS5pc0Z1bGxzY3JlZW4mJlQ+MCYmKFQ9MCksVDwtMTAwJiYoVD0tMTAwKSxiYS5pc0Z1bGxzY3JlZW4/RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxLS4wNSpNYXRoLm1pbig0Kk1hdGguYWJzKFQvLTEwMCksCjEpfSkgdHJhbnNsYXRlWSgkey1UfXB4KWB9KTpFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOmBzY2FsZSgkezErLjI1Kk1hdGguYWJzKFQvLTEwMCl9KWAsdHJhbnNmb3JtT3JpZ2luOiJib3R0b20gY2VudGVyIn0pKSwhYmEuaXNGdWxsc2NyZWVufHxiYS5pc0RyYWdnaW5nfHxiYS5zYnx8IV8uTUUoKSYmIV8uVEUoKT8wOmJhLldkfHwoYmEuTmE/RFEoYWEuT2QsMCwyMTUpOkRRKGFhLk9kLC0yMTUsMCkpIT09MCkmJihiVCgpLGJhLlMoe1dkOiEwLGVhOiEwLEpmOmJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApfSkpfX1mdW5jdGlvbiBmKFQpe0lVKFQsbCgpLG0oKSl9ZnVuY3Rpb24gaChUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGsoVCl7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIge0c6bCxkYXRhOm19PV8uREMoYSx7ZGF0YTp2b2lkIDB9KSxuPV8uTigoKT0+bCgpLkgsdm9pZCAwLCJaN0g5cmUiKTthPV8uTigoKT0+bCgpLmVhLHZvaWQgMCwKImRyaHE3ZCIpO3ZhciBwPV8uTigoKT0+bCgpLnNiLHZvaWQgMCwidnN0WUVlIikscj1fLk4oKCk9PmwoKS5iYT8uRWUsdm9pZCAwLCJMYkZ3SmIiKSx0PV8uTigoKT0+bCgpLktiPihfLngoIm13ZWJfcGxheWVyX3RhcHBpbmdfdGhyZXNob2xkX2tpbGxzd2l0Y2giKT84OjApLHZvaWQgMCwiZTRqcU1kIiksdj1fLk4oKCk9PmwoKS5KZCE9PTAsdm9pZCAwLCJwcWdENWUiKSx6PV8uTigoKT0+bCgpLmJhPy5aaCx2b2lkIDAsInRtUWRnIiksRT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMsQT1fLk4oKCk9PiRTKGwoKSxtKCk/LnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1cyksdm9pZCAwLCJYYTlxeGYiKSxGPV8uTigoKT0+IWwoKS5iYT8uenIsdm9pZCAwLCJtRk9sdCIpLEM9Xy5OKCgpPT57dmFyIFQ9bCgpO3JldHVybiBfLngoIm13ZWJfcGNfbGl2ZV9kdnJfa3MiKT8hMTpULmlzTGl2ZSYmIVQuaXNMaXZlRHZyRW5hYmxlZH0sdm9pZCAwLAoiRDFpNjciKSxHPV8uTigoKT0+e3ZhciBUPUMoKTtyZXR1cm4gclUoKSYmIVR9LHZvaWQgMCwidlF6aW1lIiksRD1fLk4oKCk9PnQoKSYmdigpLHZvaWQgMCwiQmVHcDciKSxIPV8uUCgibmV3LWNvbnRyb2xzIiwiYmlnYmFyIiwibWVkaXVtLW1vZGlmaWNhdGlvbiIsImFuaW1hdGlvbi1lbmFibGVkIiwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMiLCJmcy13YXRjaC1zeXN0ZW0iLHtmYWRlaW46YSwiYmFja2dyb3VuZC1oaWRkZW4iOnAsImZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIjpyLCJlbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQiOl8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KSxSPSgpPT5tPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UsTT0oKT0+bT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixTPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcixZPSgpPT4KR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGE9KCk9Pm0oKT8uamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxtKCk/LnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbCxvYT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5hdXRvY3JvcENvbmZpZyxVPSgpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyJiZuKCksaGE9KCk9Pnt2YXIgVDtpZihUPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpKXtUPWwoKTt2YXIgYmE9bigpLGFhPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpO2lmKGFhJiZhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCYmKGFhLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLnRpdGxlfHxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5ib2R5VGV4dCkmJgpiYSYmYmEuZ2V0UGxheWVyU3RhdGVPYmplY3QmJmJhLmdldFBsYXllclNpemUmJiFfLkRJKGtqYSxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5kaXNtaXNzU3RhdGVFbnRpdHlLZXkpKCk/LmlzRGlzbWlzc2VkKXthYT1iYS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpPy5pc0Vycm9yO2lmKGFhPSF1UyhUKSYmIWFhKWFhPWJhLmdldFBsYXllclNpemUoKSxiYT1hYS53aWR0aDwzNjAsYWE9YWEuaGVpZ2h0PDMyMCxhYT0hKChULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01KSYmYmEmJmFhKTtUPWFhfWVsc2UgVD0hMX1yZXR1cm4gVH0sbWE9KCk9Pnt2YXIgVD1tKCk/LnBsYXllclJlc3BvbnNlO3JldHVybiBfLkIoVD8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpfSx0YT0oKT0+bSgpPy5IPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKTtyZXR1cm4gXy5LKCJ5dG0td2F0Y2gtcGxheWVyLWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzSG9zdCJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVD1sKCksYmE9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM7cmV0dXJuIF8ueCgibXdlYl9oaWRlX2NvbnRyb2xzX2Zvcl91bnBsYXlhYmxlX3ZpZGVvX2tzIil8fCFiYXx8TVIoYmEpfHxULmlzRnVsbHNjcmVlbj8oeVMoVCl8fFQucGxheWVyU3RhdGU9PT0tMXx8VC5wbGF5ZXJTdGF0ZT09PTV8fFQucmMmJiFULmJhPy5yQT8hMTp1UyhUKT8hMDpULnBsYXllclN0YXRlPT09MXx8VC5wbGF5ZXJTdGF0ZT09PTN8fFQucGxheWVyU3RhdGU9PT0yKXx8VC5yYyYmdVMoVCl8fCRTKFQsYmEpOiExfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6eix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpsLHRodW1ibmFpbERldGFpbHM6cGF9KSxfLksodVYse0c6bCxIOm4scGxheWFiaWxpdHlTdGF0dXM6RX0pKX0pLF8uSyhfLk8se0E6aGEsdGhlbjooKT0+Cl8uSyh2Vyx7ZGF0YTooKT0+UFMobSgpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsbSgpPy5qYikscHJvcHM6bH0pfSksXy5LKF8uTyx7QTp0YSx0aGVuOigpPT5fLksoTFYse0c6bCxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOm1hfSl9KSxfLksoXy5PLHtBOigpPT4hdGEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzpsfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSx0aGVuOigpPT5fLksoImRpdiIse2lkOiJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIn0pfSksXy5LKCJkaXYiLHtpZDoicGxheWVyLWNvbnRyb2wtb3ZlcmxheSIsY2xhc3M6SCwib246Y2xpY2siOmMsIm9uOnBvaW50ZXJtb3ZlIjpiLCJvbjp0b3VjaHN0YXJ0IjpkLCJvbjp0b3VjaG1vdmUiOmUsIm9uOnRvdWNoZW5kIjpmLCJvbjp0b3VjaGNhbmNlbCI6aH0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1jb250ZW50IiwKeyJwb2ludGVyLWV2ZW50cy1vZmYiOkR9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIix7ImZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCI6KCk9PklTKGwoKSl9KSwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzQmFja2dyb3VuZEFjdGlvbkl0ZW1zIiwib246Y2xpY2siOmt9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVDtpZihUPSFBKCkpVD1tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyO3JldHVybiBUfSx0aGVuOigpPT5fLksoRFcse2RhdGE6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBhaWRDb250ZW50T3ZlcmxheT8ucGFpZENvbnRlbnRPdmVybGF5UmVuZGVyZXJ9KX0pLApfLksoXy5PLHtBOlUsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmx9KX0pKSksXy5LKF8uTyx7QTooKT0+IUEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5fLksoclcse0c6bH0pfSksXy5LKEZWLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSxfLksoVlYse2dmOmwsSWI6ITF9KSl9KSxfLksoImRpdiIse3N0eWxlOllVKCgpPT5KUyhsKCksQVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKSkpfSxfLksoTFcse0c6bCxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6U30pLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKEdXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pfSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIsCntzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKSxiYT1BUyhtPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO3JldHVybiBIUyhULGJhKXx8VC5iYT8ubmg/ITE6VC5pc0xpdmV8fEpTKFQpfSl9LF8uSyhFVyx7RzpsLFNtOigpPT5DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TX0pKSxfLksoImRpdiIse3N0eWxlOllVKCgpPT57dmFyIFQ9bCgpO3JldHVybiBULmJhPy5uaD8hMTohSVMoVCl9KX0sXy5LKENWLHtMYjpsLGhmOlksY29uZmlnOigpPT4oe2NsYXNzTmFtZToid2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIiLHBvc2l0aW9uOjAsSW46RigpLFJhOkVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLEtmOiExLGRpc2FibGVTY3J1YmJpbmc6QygpLG9uVG91Y2hNb3ZlOigpPT57dmFyIFQ9bCgpLGJhPUVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpO2JhJiYoVD1sVChULGJhKSxtVChUKSl9LFlvOigpPT57YlQoKX0sRm46KCk9Pgp7Y1QobCgpLHtJYzohMH0pfSxwcm9ncmVzc0NvbG9yOl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP0NTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpPy5wcm9ncmVzc0NvbG9yOnZvaWQgMCxoZjpRbGEoR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikpfSl9KSksXy5LKEZXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pKX0pLF8uSyhDVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlIsdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlMsYXV0b2Nyb3BDb25maWc6b2F9KSkpKX0pKX0pKX0sIlhlIik7TVcuaWRvbUNvbXBhdD0hMDt2YXIgY1Y9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuZGF0YSgpLkgsdm9pZCAwLCJEdWZtTSIpLGM9Xy5OKCgpPT5uZXcgcVcoKCk9Pnt9LHt0YTphLmNvbnRleHQoKS50YSxUYzphLmNvbnRleHQoKS5UYyxHYzphLmNvbnRleHQoKS5HYyxiYTphLmNvbnRleHQoKS5iYX0se2F1dG9uYXZFbmFibGVkOmEuY29udGV4dCgpLnRhLmRlKCksZWE6UmxhKGIoKSl9LGIpLHZvaWQgMCwialB4OGRlIiksZD1bXTtfLm5FKCgpPT57YigpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57WlUoZCk7dVcuZm9yRWFjaChlPT57ZC5wdXNoKGUucmVnaXN0ZXIoKCk9PmMoKS51ZCgpLCgpPT5hLmRhdGEoKSkpfSl9KX0sIkh1WU1KYiIpO18uWXUoKCk9PntNVSgoKT0+YygpLnVkKCkpO2JUKCk7YS5jb250ZXh0KCkudGEuZXhpdEZ1bGxzY3JlZW4/LigpO1pVKGQpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygieXRtLWN1c3RvbS1jb250cm9sIix7Y2xhc3M6Inl0bUN1c3RvbUNvbnRyb2xIb3N0In0sCl8uSyhNVyx7RzooKT0+KDAsYygpLkIpKCksZGF0YTphLmRhdGF9KSkpfSwiWmUiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56Wj1mdW5jdGlvbihhKXtfLmJaKGEpO18uZFYoYSl9O18uenk9Xy56WjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgicjc4RHJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X2Jhc2UpOwovLyBHb29nbGUgSW5jLgo="}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37513.de1574b3389800c93ebc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.266Z","timestamp":1785136429266,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37513.de1574b3389800c93ebc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-f9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4a3a65f29098940235d1e78549b05bcd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":249,"size_decoded":921,"mime_type":"text/css; charset=utf-8","magic":"assembler source, ASCII text, with no line terminators","md5":"2609ad9fbf4035b2a6560fc3dc9d6ea8","sha1":"bdfe0d65ef3fe93359d3b4c44d38f0c71a542575","sha256":"f77d49b20494fbd63705f7a88a3710886adb7e234fa5e484f24ce7a7da5e7e24","sha512":"bbc4fff59f180264dcbd742c54b6c269770c18d10946ccb1842a3a4eb4207d6c4157c253f72cde3e06cf38c4d3c7b7b7fbefd05c61e9fbe4de303b7f06283c7a","ssdeep":"","tlshash":"e9d01787a1d04f313c13aa6d19f9263921b9ac745e22198e30206e225ae3aaa0011daf","first_seen":"2026-07-17T14:15:58.496983Z","last_seen":"2026-08-11T04:43:23.238254Z","times_seen":302,"resource_available":false,"data":"LmV2ZW50V3JhcHBlci1fRThVWFZLMXthbGw6dW5zZXQhaW1wb3J0YW50O2Rpc3BsYXk6Y29udGVudHMhaW1wb3J0YW50fS5wa24tY1RwX3VuVjh7LS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyKTstLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGU6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWlzTW9iaWxlUG9zaXRpb25lcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9504.90377f7d5946cf3254f0.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.794Z","timestamp":1785136429794,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/9504.90377f7d5946cf3254f0.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1365\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 62c9e7f20b87d049c7063f0df7fad838\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.550Z","timestamp":1785136427550,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 HTTP/1.1\r\nHost: coinlib.io\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: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: 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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 3817009\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.3a6ba036.woff2\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Sat, 13 Jun 2026 02:56:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6llhh-1781319417508-42ed70ceb10a\r\nx-xss-protection: 1; mode=block\r\nserver-timing: cfExtPri\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Y%2F%2F3vW55ttACL%2BCO3Df%2F8LcH6YjjqP%2BKMlWuPKctnivm%2FWjw6xnGWY76DpQL2GvISaatzQ9LHgJUPKgTxkuFUpsG06aCog0BpshBzDVA8mARs6GL0VxXtFzF2w3j\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a219d7f03eee8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 48432\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":48432,"size_decoded":50509,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-08-11T11:59:19.172156Z","times_seen":89394,"resource_available":false,"data":"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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50221.f49da2a7279774aa5fe8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.809Z","timestamp":1785136429809,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/50221.f49da2a7279774aa5fe8.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-c5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f6d20e1f65fdcd31c2a32378750053ab\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.555Z","timestamp":1785136427555,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4911410e5153f0d7.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4911410e5153f0d7.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"e09a94d1ed13e73c8c05e86ecc9b73b5\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4911410e5153f0d7.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5pnv4-1781312483646-99b0a50f7685\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=38pkrCNv1MB2I7z4aLU6ZFKttAiHSOmMzpuuAjp8AfGm3CSF3GZwBwVYmscvBzuOouGrmEiiZaFS3g8EfQk%2FdqQspHiIFr5jp2lsxUulbfI%2FFSvSeiRR8OdlhzTQ\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f03ef58deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":224417,"size_decoded":73399,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-11T04:47:30.076454Z","times_seen":2060,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc4NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoNDEwNjIpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNTUzNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDQ4NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3ODc1KSxsPWUucigxNTUzNik7ZnVuY3Rpb24gYShlKXt2YXIgdCxuO2xldCBhPSgwLHIuZ2V0QXNzZXRQcmVmaXgpKCk7dD1zZWxmLl9fbmV4dF9zLG49KCk9PntlKGEpfSx0JiZ0Lmxlbmd0aD90LnJlZHVjZSgoZSxbdCxuXSk9PmUudGhlbigoKT0+bmV3IFByb21pc2UoKGUscik9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuJiYoMCxsLnNldEF0dHJpYnV0ZXNGcm9tUHJvcHMpKGEsbiksdD8oYS5zcmM9dCxhLm9ubG9hZD0oKT0+ZSgpLGEub25lcnJvcj1yKTpuJiYoYS5pbm5lckhUTUw9bi5jaGlsZHJlbixzZXRUaW1lb3V0KGUpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGEpfSkpLFByb21pc2UucmVzb2x2ZSgpKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihlKX0pLnRoZW4oKCk9PntuKCl9KTpuKCl9d2luZG93Lm5leHQ9e3ZlcnNpb246IjE2LjEuNiIsYXBwRGlyOiEwfSwoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4NTQ3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17Z2V0T2JqZWN0Q2xhc3NMYWJlbDpmdW5jdGlvbigpe3JldHVybiBhfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT1hKGUpKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKX19LDgwOTQwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDg1NDc5KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwxNzc0OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMjc5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoODQwODIpLGk9YS5fKGUucig4MDk0MCkpLHU9ZS5yKDE3NzQ4KSxzPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMuaGFzKGUpfWxldCBmPWU9PntsZXQgdD0oMCxpLmRlZmF1bHQpKGUpJiYiY2F1c2UiaW4gZT9lLmNhdXNlOmU7KDAsby5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KXx8KDAsdS5yZXBvcnRHbG9iYWxFcnJvcikodCl9OygiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDkyMzg2LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSw2MDg3NywoZSx0LG4pPT57InRyaW1TdGFydCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksInRyaW1FbmQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksImRlc2NyaXB0aW9uImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT0vXCgoLiopXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gZT9lWzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksZT4xJiZ0LnNvbWUoQXJyYXkuaXNBcnJheSk/dC5mbGF0KGUtMSk6dH0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSx0KS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gdGhpcy50aGVuKGUsZSk7dmFyIHQ9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzBdXT10WzFdLGV9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLnRydW5jKGUpfHwwO2lmKHQ8MCYmKHQrPXRoaXMubGVuZ3RoKSwhKHQ8MHx8dD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3RdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QoZSksdCl9KSwiY2FuUGFyc2UiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBuZXcgVVJMKGUsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSl9LDc5MTIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucig2MDg3NyksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNDAxNDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49ZS5sZW5ndGg7Zm9yKGUucHVzaCh0KTswPG47KXt2YXIgcj1uLTE+Pj4xLGw9ZVtyXTtpZigwPG8obCx0KSllW3JdPXQsZVtuXT1sLG49cjtlbHNlIGJyZWFrfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47Zm9yKHZhciByPTAsbD1lLmxlbmd0aCxhPWw+Pj4xO3I8YTspe3ZhciBpPTIqKHIrMSktMSx1PWVbaV0scz1pKzEsYz1lW3NdO2lmKDA+byh1LG4pKXM8bCYmMD5vKGMsdSk/KGVbcl09YyxlW3NdPW4scj1zKTooZVtyXT11LGVbaV09bixyPWkpO2Vsc2UgaWYoczxsJiYwPm8oYyxuKSllW3JdPWMsZVtzXT1uLHI9cztlbHNlIGJyZWFrfX1yZXR1cm4gdH1mdW5jdGlvbiBvKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfWlmKG4udW5zdGFibGVfbm93PXZvaWQgMCwib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgaSx1PXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHUubm93KCl9fWVsc2V7dmFyIHM9RGF0ZSxjPXMubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ub3coKS1jfX12YXIgZj1bXSxkPVtdLHA9MSxtPW51bGwsaD0zLGc9ITEsdj0hMSx5PSExLGI9ITEsdz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsaz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLFM9InUiPnR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gRShlKXtmb3IodmFyIHQ9bChkKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKWEoZCk7ZWxzZSBpZih0LnN0YXJ0VGltZTw9ZSlhKGQpLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUscihmLHQpO2Vsc2UgYnJlYWs7dD1sKGQpfX1mdW5jdGlvbiB4KGUpe2lmKHk9ITEsRShlKSwhdilpZihudWxsIT09bChmKSl2PSEwLF98fChfPSEwLGkoKSk7ZWxzZXt2YXIgdD1sKGQpO251bGwhPT10JiZSKHgsdC5zdGFydFRpbWUtZSl9fXZhciBfPSExLFA9LTEsTj01LEM9LTE7ZnVuY3Rpb24gVCgpe3JldHVybiEhYnx8IShuLnVuc3RhYmxlX25vdygpLUM8Til9ZnVuY3Rpb24gTygpe2lmKGI9ITEsXyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtDPWU7dmFyIHQ9ITA7dHJ5e2U6e3Y9ITEseSYmKHk9ITEsayhQKSxQPS0xKSxnPSEwO3ZhciByPWg7dHJ5e3Q6e2ZvcihFKGUpLG09bChmKTtudWxsIT09bSYmIShtLmV4cGlyYXRpb25UaW1lPmUmJlQoKSk7KXt2YXIgbz1tLmNhbGxiYWNrO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXttLmNhbGxiYWNrPW51bGwsaD1tLnByaW9yaXR5TGV2ZWw7dmFyIHU9byhtLmV4cGlyYXRpb25UaW1lPD1lKTtpZihlPW4udW5zdGFibGVfbm93KCksImZ1bmN0aW9uIj09dHlwZW9mIHUpe20uY2FsbGJhY2s9dSxFKGUpLHQ9ITA7YnJlYWsgdH1tPT09bChmKSYmYShmKSxFKGUpfWVsc2UgYShmKTttPWwoZil9aWYobnVsbCE9PW0pdD0hMDtlbHNle3ZhciBzPWwoZCk7bnVsbCE9PXMmJlIoeCxzLnN0YXJ0VGltZS1lKSx0PSExfX1icmVhayBlfWZpbmFsbHl7bT1udWxsLGg9cixnPSExfX19ZmluYWxseXt0P2koKTpfPSExfX19aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpaT1mdW5jdGlvbigpe1MoTyl9O2Vsc2UgaWYoInUiPnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIHo9bmV3IE1lc3NhZ2VDaGFubmVsLEw9ei5wb3J0Mjt6LnBvcnQxLm9ubWVzc2FnZT1PLGk9ZnVuY3Rpb24oKXtMLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGk9ZnVuY3Rpb24oKXt3KE8sMCl9O2Z1bmN0aW9uIFIoZSx0KXtQPXcoZnVuY3Rpb24oKXtlKG4udW5zdGFibGVfbm93KCkpfSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLG4udW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7ZS5jYWxsYmFjaz1udWxsfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBofSxuLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oZSl7c3dpdGNoKGgpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciB0PTM7YnJlYWs7ZGVmYXVsdDp0PWh9dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlKCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe2I9ITB9LG4udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDplPTN9dmFyIG49aDtoPWU7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0LGEpe3ZhciBvPW4udW5zdGFibGVfbm93KCk7c3dpdGNoKGE9Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmIm51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/bythOm8sZSl7Y2FzZSAxOnZhciB1PS0xO2JyZWFrO2Nhc2UgMjp1PTI1MDticmVhaztjYXNlIDU6dT0weDNmZmZmZmZmO2JyZWFrO2Nhc2UgNDp1PTFlNDticmVhaztkZWZhdWx0OnU9NWUzfXJldHVybiB1PWErdSxlPXtpZDpwKyssY2FsbGJhY2s6dCxwcmlvcml0eUxldmVsOmUsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6dSxzb3J0SW5kZXg6LTF9LGE+bz8oZS5zb3J0SW5kZXg9YSxyKGQsZSksbnVsbD09PWwoZikmJmU9PT1sKGQpJiYoeT8oayhQKSxQPS0xKTp5PSEwLFIoeCxhLW8pKSk6KGUuc29ydEluZGV4PXUscihmLGUpLHZ8fGd8fCh2PSEwLF98fChfPSEwLGkoKSkpKSxlfSxuLnVuc3RhYmxlX3Nob3VsZFlpZWxkPVQsbi51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9aDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1oO2g9dDt0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7aD1ufX19fSwyNjQ0MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNDAxNDApfSw4MjQyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLGw9ZS5pKDgyNjM3KSxhPWUucigyNjQ0Myksbz1lLnIoNzUyMDEpLGk9ZS5yKDI5MDgwKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIDAhPSg0MDk4Jih0PWUpLmZsYWdzKSYmKG49dC5yZXR1cm4pLGU9dC5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGUpe2lmKDMxPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKHQ9ZS5tZW1vaXplZFN0YXRlKSxudWxsIT09dClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7aWYoYyhlKSE9PWUpdGhyb3cgRXJyb3IodSgxODgpKX1mdW5jdGlvbiBtKGUsdCxuLHIsbCxhKXtmb3IoO251bGwhPT1lOyl7aWYoNT09PWUudGFnJiZuKGUscixsLGEpfHwoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSkmJih0fHw1IT09ZS50YWcpJiZtKGUuY2hpbGQsdCxuLHIsbCxhKSlyZXR1cm4hMDtlPWUuc2libGluZ31yZXR1cm4hMX1mdW5jdGlvbiBoKGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lOyl7aWYoMz09PWUudGFnfHw1PT09ZS50YWcpcmV0dXJuIGU7ZT1lLnJldHVybn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBTKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgeD1PYmplY3QuYXNzaWduLF89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxHPS0xO2Z1bmN0aW9uIFkoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPkd8fChlLmN1cnJlbnQ9WFtHXSxYW0ddPW51bGwsRy0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK0ddPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9WShudWxsKSxldD1ZKG51bGwpLGVuPVkobnVsbCksZXI9WShudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NzKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2ModD1jcyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZnYuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2ModD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZnYuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdEc9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RHfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVrPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZVM9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxleD0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxlXz1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkwoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZUc9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlWT0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZUddLGRlbGV0ZSBlW2VZXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0soZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0soZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlOChlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlNj17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZTZbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIityKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0ayhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0Uz1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRTLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHR4KGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdF8oZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksdE49L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gdEMoZSl7cmV0dXJuIHROLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9ZnVuY3Rpb24gdFQoKXt9dmFyIHRPPW51bGw7ZnVuY3Rpb24gdHooZSl7cmV0dXJuKGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93KS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksMz09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmV9dmFyIHRMPW51bGwsdFI9bnVsbDtmdW5jdGlvbiB0TShlKXt2YXIgdD1lMihlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbZXFdfHxudWxsO3N3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYodGgoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLCJyYWRpbyI9PT1uLnR5cGUmJm51bGwhPXQpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdG0oIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9cltlcV18fG51bGw7aWYoIWwpdGhyb3cgRXJyb3IodSg5MCkpO3RoKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoZWNrZWQsbC5kZWZhdWx0Q2hlY2tlZCxsLnR5cGUsbC5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKykocj1uW3RdKS5mb3JtPT09ZS5mb3JtJiZ0ZihyKX1icmVhaztjYXNlInRleHRhcmVhIjp0YihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0IjpudWxsIT0odD1uLnZhbHVlKSYmdHkoZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIgdEk9ITE7ZnVuY3Rpb24gdEQoZSx0LG4pe2lmKHRJKXJldHVybiBlKHQsbik7dEk9ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYodEk9ITEsKG51bGwhPT10THx8bnVsbCE9PXRSKSYmKHN0KCksdEwmJih0PXRMLGU9dFIsdFI9dEw9bnVsbCx0TSh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyl0TShlW3RdKX19ZnVuY3Rpb24gdEYoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihudWxsPT09bilyZXR1cm4gbnVsbDt2YXIgcj1uW2VxXXx8bnVsbDtpZihudWxsPT09cilyZXR1cm4gbnVsbDtzd2l0Y2gobj1yW3RdLHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoocj0hci5kaXNhYmxlZCl8fChyPSJidXR0b24iIT09KGU9ZS50eXBlKSYmImlucHV0IiE9PWUmJiJzZWxlY3QiIT09ZSYmInRleHRhcmVhIiE9PWUpLGU9IXI7YnJlYWs7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciB0QT0idSI+dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCx0aj0hMTtpZih0QSl0cnl7dmFyIHRVPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0VSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RqPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHRVLHRVKX1jYXRjaChlKXt0aj0hMX12YXIgdEI9bnVsbCx0Vj1udWxsLHRIPW51bGw7ZnVuY3Rpb24gdCQoKXtpZih0SClyZXR1cm4gdEg7dmFyIGUsdCxuPXRWLHI9bi5sZW5ndGgsbD0idmFsdWUiaW4gdEI/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmbltlXT09PWxbZV07ZSsrKTt2YXIgbz1yLWU7Zm9yKHQ9MTt0PD1vJiZuW3ItdF09PT1sW2EtdF07dCsrKTtyZXR1cm4gdEg9bC5zbGljZShlLDE8dD8xLXQ6dm9pZCAwKX1mdW5jdGlvbiB0UShlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PXQmJihlPTEzKTplPXQsMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gdFcoKXtyZXR1cm4hMH1mdW5jdGlvbiB0cSgpe3JldHVybiExfWZ1bmN0aW9uIHRLKGUpe2Z1bmN0aW9uIHQodCxuLHIsbCxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ/dChsKTpsW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT90Vzp0cSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRxLHRoaXN9cmV0dXJuIHgodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD10Vyl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10Vyl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDp0V30pLHR9dmFyIHRYLHRHLHRZLHRKLHRaLHQwPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LHQxPXRLKHQwKSx0Mj14KHt9LHQwLHt2aWV3OjAsZGV0YWlsOjB9KSx0Mz10Syh0MiksdDQ9eCh7fSx0Mix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT10WiYmKHRaJiYibW91c2Vtb3ZlIj09PWUudHlwZT8odFk9ZS5zY3JlZW5YLXRaLnNjcmVlblgsdEo9ZS5zY3JlZW5ZLXRaLnNjcmVlblkpOnRKPXRZPTAsdFo9ZSksdFkpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOnRKfX0pLHQ4PXRLKHQ0KSx0NT10Syh4KHt9LHQ0LHtkYXRhVHJhbnNmZXI6MH0pKSx0Nj10Syh4KHt9LHQyLHtyZWxhdGVkVGFyZ2V0OjB9KSksdDk9dEsoeCh7fSx0MCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHQ3PXRLKHgoe30sdDAse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5lPXRLKHgoe30sdDAse2RhdGE6MH0pKSxudD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sbm49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxucj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIG5sKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1ucltlXSkmJiEhdFtlXX1mdW5jdGlvbiBuYSgpe3JldHVybiBubH12YXIgbm89dEsoeCh7fSx0Mix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1udFtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09dClyZXR1cm4gdH1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9dFEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/bm5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOm5hLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSxuaT10Syh4KHt9LHQ0LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxudT10Syh4KHt9LHQyLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6bmF9KSksbnM9dEsoeCh7fSx0MCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksbmM9dEsoeCh7fSx0NCx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxuZj10Syh4KHt9LHQwLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjB9KSksbmQ9WzksMTMsMjcsMzJdLG5wPXRBJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csbm09bnVsbDt0QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKG5tPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIG5oPXRBJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIW5tLG5nPXRBJiYoIW5wfHxubSYmODxubSYmMTE+PW5tKSxudj0hMTtmdW5jdGlvbiBueShlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gLTEhPT1uZC5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBuYihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9ZS5kZXRhaWwpJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBudz0hMSxuaz17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gblMoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhbmtbZS50eXBlXToidGV4dGFyZWEiPT09dH1mdW5jdGlvbiBuRShlLHQsbixyKXt0TD90Uj90Ui5wdXNoKHIpOnRSPVtyXTp0TD1yLDA8KHQ9czgodCwib25DaGFuZ2UiKSkubGVuZ3RoJiYobj1uZXcgdDEoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBueD1udWxsLG5fPW51bGw7ZnVuY3Rpb24gblAoZSl7c1koZSwwKX1mdW5jdGlvbiBuTihlKXtpZih0ZihlMyhlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gbkMoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIG5UPSExO2lmKHRBKXtpZih0QSl7dmFyIG5PPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFuTyl7dmFyIG56PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO256LnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxuTz0iZnVuY3Rpb24iPT10eXBlb2Ygbnoub25pbnB1dH1yPW5PfWVsc2Ugcj0hMTtuVD1yJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIG5MKCl7bngmJihueC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsblIpLG5fPW54PW51bGwpfWZ1bmN0aW9uIG5SKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmbk4obl8pKXt2YXIgdD1bXTtuRSh0LG5fLGUsdHooZSkpLHREKG5QLHQpfX1mdW5jdGlvbiBuTShlLHQsbil7ImZvY3VzaW4iPT09ZT8obkwoKSxueD10LG5fPW4sbnguYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5SKSk6ImZvY3Vzb3V0Ij09PWUmJm5MKCl9ZnVuY3Rpb24gbkkoZSl7aWYoInNlbGVjdGlvbmNoYW5nZSI9PT1lfHwia2V5dXAiPT09ZXx8ImtleWRvd24iPT09ZSlyZXR1cm4gbk4obl8pfWZ1bmN0aW9uIG5EKGUsdCl7aWYoImNsaWNrIj09PWUpcmV0dXJuIG5OKHQpfWZ1bmN0aW9uIG5GKGUsdCl7aWYoImlucHV0Ij09PWV8fCJjaGFuZ2UiPT09ZSlyZXR1cm4gbk4odCl9dmFyIG5BPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH07ZnVuY3Rpb24gbmooZSx0KXtpZihuQShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07aWYoIWVkLmNhbGwodCxsKXx8IW5BKGVbbF0sdFtsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gblUoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIG5CKGUsdCl7dmFyIG4scj1uVShlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJm4+PXQpcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1uVShyKX19ZnVuY3Rpb24gblYoZSl7ZT1udWxsIT1lJiZudWxsIT1lLm93bmVyRG9jdW1lbnQmJm51bGwhPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD10ZChlLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYobillPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9dGQoZS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gbkgoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBuJD10QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxuUT1udWxsLG5XPW51bGwsbnE9bnVsbCxuSz0hMTtmdW5jdGlvbiBuWChlLHQsbil7dmFyIHI9bi53aW5kb3c9PT1uP24uZG9jdW1lbnQ6OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQ7bkt8fG51bGw9PW5RfHxuUSE9PXRkKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj1uUSkmJm5IKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sbnEmJm5qKG5xLHIpfHwobnE9ciwwPChyPXM4KG5XLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyB0MSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1uUSkpKX1mdW5jdGlvbiBuRyhlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgblk9e2FuaW1hdGlvbmVuZDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOm5HKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sbko9e30sblo9e307ZnVuY3Rpb24gbjAoZSl7aWYobkpbZV0pcmV0dXJuIG5KW2VdO2lmKCFuWVtlXSlyZXR1cm4gZTt2YXIgdCxuPW5ZW2VdO2Zvcih0IGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSYmdCBpbiBuWilyZXR1cm4gbkpbZV09blt0XTtyZXR1cm4gZX10QSYmKG5aPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgblkuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIG5ZLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIG4xPW4wKCJhbmltYXRpb25lbmQiKSxuMj1uMCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksbjM9bjAoImFuaW1hdGlvbnN0YXJ0IiksbjQ9bjAoInRyYW5zaXRpb25ydW4iKSxuOD1uMCgidHJhbnNpdGlvbnN0YXJ0IiksbjU9bjAoInRyYW5zaXRpb25jYW5jZWwiKSxuNj1uMCgidHJhbnNpdGlvbmVuZCIpLG45PW5ldyBNYXAsbjc9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiByZShlLHQpe245LnNldChlLHQpLGU5KHQsW2VdKX1uNy5wdXNoKCJzY3JvbGxFbmQiKTt2YXIgcnQ9MDtmdW5jdGlvbiBybihlLHQpe3JldHVybiBudWxsIT1lLm5hbWUmJiJhdXRvIiE9PWUubmFtZT9lLm5hbWU6bnVsbCE9PXQuYXV0b05hbWU/dC5hdXRvTmFtZTp0LmF1dG9OYW1lPWU9Il8iKyhlPXVxLmlkZW50aWZpZXJQcmVmaXgpKyJ0XyIrKHJ0KyspLnRvU3RyaW5nKDMyKSsiXyJ9ZnVuY3Rpb24gcnIoZSl7aWYobnVsbD09ZXx8InN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PW51bGwsbj11MTtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9ZVtuW3JdXTtpZihudWxsIT1sKXtpZigibm9uZSI9PT1sKXJldHVybiJub25lIjt0PW51bGw9PXQ/bDp0KyIgIitsfX1yZXR1cm4gbnVsbD09dD9lLmRlZmF1bHQ6dH1mdW5jdGlvbiBybChlLHQpe3JldHVybiBlPXJyKGUpLG51bGw9PSh0PXJyKHQpKT8iYXV0byI9PT1lP251bGw6ZToiYXV0byI9PT10P251bGw6dH12YXIgcmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkVycm9yRXZlbnQpe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZT9TdHJpbmcoZS5tZXNzYWdlKTpTdHJpbmcoZSksZXJyb3I6ZX0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSlyZXR1cm59ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGwuZGVmYXVsdCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuZGVmYXVsdC5lbWl0KXJldHVybiB2b2lkIGwuZGVmYXVsdC5lbWl0KCJ1bmNhdWdodEV4Y2VwdGlvbiIsZSk7Y29uc29sZS5lcnJvcihlKX0scm89W10scmk9MCxydT0wO2Z1bmN0aW9uIHJzKCl7Zm9yKHZhciBlPXJpLHQ9cnU9cmk9MDt0PGU7KXt2YXIgbj1yb1t0XTtyb1t0KytdPW51bGw7dmFyIHI9cm9bdF07cm9bdCsrXT1udWxsO3ZhciBsPXJvW3RdO3JvW3QrK109bnVsbDt2YXIgYT1yb1t0XTtpZihyb1t0KytdPW51bGwsbnVsbCE9PXImJm51bGwhPT1sKXt2YXIgbz1yLnBlbmRpbmc7bnVsbD09PW8/bC5uZXh0PWw6KGwubmV4dD1vLm5leHQsby5uZXh0PWwpLHIucGVuZGluZz1sfTAhPT1hJiZycChuLGwsYSl9fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe3JvW3JpKytdPWUscm9bcmkrK109dCxyb1tyaSsrXT1uLHJvW3JpKytdPXIscnV8PXIsZS5sYW5lc3w9cixudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gcmYoZSx0LG4scil7cmV0dXJuIHJjKGUsdCxuLHIpLHJtKGUpfWZ1bmN0aW9uIHJkKGUsdCl7cmV0dXJuIHJjKGUsbnVsbCxudWxsLHQpLHJtKGUpfWZ1bmN0aW9uIHJwKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bik7Zm9yKHZhciBsPSExLGE9ZS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9bixudWxsIT09KHI9YS5hbHRlcm5hdGUpJiYoci5jaGlsZExhbmVzfD1uKSwyMj09PWEudGFnJiYobnVsbD09PShlPWEuc3RhdGVOb2RlKXx8MSZlLl92aXNpYmlsaXR5fHwobD0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiAzPT09ZS50YWc/KGE9ZS5zdGF0ZU5vZGUsbCYmbnVsbCE9PXQmJihsPTMxLWVQKG4pLG51bGw9PT0ocj0oZT1hLmhpZGRlblVwZGF0ZXMpW2xdKT9lW2xdPVt0XTpyLnB1c2godCksdC5sYW5lPTB4MjAwMDAwMDB8biksYSk6bnVsbH1mdW5jdGlvbiBybShlKXtpZig1MDx1Mil0aHJvdyB1Mj0wLHUzPW51bGwsRXJyb3IodSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXQ9KGU9dCkucmV0dXJuO3JldHVybiAzPT09ZS50YWc/ZS5zdGF0ZU5vZGU6bnVsbH12YXIgcmg9e307ZnVuY3Rpb24gcmcoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHJ2KGUsdCxuLHIpe3JldHVybiBuZXcgcmcoZSx0LG4scil9ZnVuY3Rpb24gcnkoZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiByYihlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oKG49cnYoZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9MHg3ZTAwMDAwJmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbi5yZWZDbGVhbnVwPWUucmVmQ2xlYW51cCxufWZ1bmN0aW9uIHJ3KGUsdCl7ZS5mbGFncyY9MHg3ZTAwMDAyO3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSxlLmRlcGVuZGVuY2llcz1udWxsPT09KHQ9bi5kZXBlbmRlbmNpZXMpP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiByayhlLHQsbixyLGwsYSl7dmFyIG89MDtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpcnkoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89IWZ1bmN0aW9uKGUsdCxuKXtpZigxPT09bnx8bnVsbCE9dC5pdGVtUHJvcClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZigic3RyaW5nIiE9dHlwZW9mIHQucHJlY2VkZW5jZXx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnJlbHx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmfHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsKXJldHVybiBlPXQuZGlzYWJsZWQsInN0cmluZyI9PXR5cGVvZiB0LnByZWNlZGVuY2UmJm51bGw9PWU7cmV0dXJuITA7Y2FzZSJzY3JpcHQiOmlmKHQuYXN5bmMmJiJmdW5jdGlvbiIhPXR5cGVvZiB0LmFzeW5jJiYic3ltYm9sIiE9dHlwZW9mIHQuYXN5bmMmJiF0Lm9uTG9hZCYmIXQub25FcnJvciYmdC5zcmMmJiJzdHJpbmciPT10eXBlb2YgdC5zcmMpcmV0dXJuITB9cmV0dXJuITF9KGUsbixlZS5jdXJyZW50KT8iaHRtbCI9PT1lfHwiaGVhZCI9PT1lfHwiYm9keSI9PT1lPzI3OjU6MjY7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEE6cmV0dXJuKGU9cnYoMzEsbix0LGwpKS5lbGVtZW50VHlwZT1BLGUubGFuZXM9YSxlO2Nhc2UgQzpyZXR1cm4gclMobi5jaGlsZHJlbixsLGEsdCk7Y2FzZSBUOm89OCxsfD0yNDticmVhaztjYXNlIE86cmV0dXJuKGU9cnYoMTIsbix0LDJ8bCkpLmVsZW1lbnRUeXBlPU8sZS5sYW5lcz1hLGU7Y2FzZSBNOnJldHVybihlPXJ2KDEzLG4sdCxsKSkuZWxlbWVudFR5cGU9TSxlLmxhbmVzPWEsZTtjYXNlIEk6cmV0dXJuKGU9cnYoMTksbix0LGwpKS5lbGVtZW50VHlwZT1JLGUubGFuZXM9YSxlO2Nhc2UgajpjYXNlIEI6cmV0dXJuKGU9cnYoMzAsbix0LGU9MzJ8bCkpLmVsZW1lbnRUeXBlPUIsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBMOm89MTA7YnJlYWsgZTtjYXNlIHo6bz05O2JyZWFrIGU7Y2FzZSBSOm89MTE7YnJlYWsgZTtjYXNlIEQ6bz0xNDticmVhayBlO2Nhc2UgRjpvPTE2LHI9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxudWxsPT09ZT8ibnVsbCI6dHlwZW9mIGUsIiIpKSxyPW51bGx9cmV0dXJuKHQ9cnYobyxuLHQsbCkpLmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gclMoZSx0LG4scil7cmV0dXJuKGU9cnYoNyxlLHIsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByRShlLHQsbil7cmV0dXJuKGU9cnYoNixlLG51bGwsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByeChlKXt2YXIgdD1ydigxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWUsdH1mdW5jdGlvbiByXyhlLHQsbil7cmV0dXJuKHQ9cnYoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LHQpKS5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciByUD1uZXcgV2Vha01hcDtmdW5jdGlvbiByTihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciBuPXJQLmdldChlKTtyZXR1cm4gdm9pZCAwIT09bj9uOih0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOmVmKHQpfSxyUC5zZXQoZSx0KSx0KX1yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX19dmFyIHJDPVtdLHJUPTAsck89bnVsbCxyej0wLHJMPVtdLHJSPTAsck09bnVsbCxyST0xLHJEPSIiO2Z1bmN0aW9uIHJGKGUsdCl7ckNbclQrK109cnosckNbclQrK109ck8sck89ZSxyej10fWZ1bmN0aW9uIHJBKGUsdCxuKXtyTFtyUisrXT1ySSxyTFtyUisrXT1yRCxyTFtyUisrXT1yTSxyTT1lO3ZhciByPXJJO2U9ckQ7dmFyIGw9MzItZVAociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIGE9MzItZVAodCkrbDtpZigzMDxhKXt2YXIgbz1sLWwlNTthPShyJigxPDxvKS0xKS50b1N0cmluZygzMikscj4+PW8sbC09byxyST0xPDwzMi1lUCh0KStsfG48PGx8cixyRD1hK2V9ZWxzZSByST0xPDxhfG48PGx8cixyRD1lfWZ1bmN0aW9uIHJqKGUpe251bGwhPT1lLnJldHVybiYmKHJGKGUsMSksckEoZSwxLDApKX1mdW5jdGlvbiByVShlKXtmb3IoO2U9PT1yTzspck89ckNbLS1yVF0sckNbclRdPW51bGwscno9ckNbLS1yVF0sckNbclRdPW51bGw7Zm9yKDtlPT09ck07KXJNPXJMWy0tclJdLHJMW3JSXT1udWxsLHJEPXJMWy0tclJdLHJMW3JSXT1udWxsLHJJPXJMWy0tclJdLHJMW3JSXT1udWxsfWZ1bmN0aW9uIHJCKGUsdCl7ckxbclIrK109ckksckxbclIrK109ckQsckxbclIrK109ck0sckk9dC5pZCxyRD10Lm92ZXJmbG93LHJNPWV9dmFyIHJWPW51bGwsckg9bnVsbCxyJD0hMSxyUT1udWxsLHJXPSExLHJxPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gcksoZSl7dmFyIHQ9RXJyb3IodSg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgcjAock4odCxlKSkscnF9ZnVuY3Rpb24gclgoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbZVddPWUsdFtlcV09cixuKXtjYXNlImRpYWxvZyI6c0ooImNhbmNlbCIsdCksc0ooImNsb3NlIix0KTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOnNKKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3Iobj0wO248c1gubGVuZ3RoO24rKylzSihzWFtuXSx0KTticmVhaztjYXNlInNvdXJjZSI6c0ooImVycm9yIix0KTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpzSigiZXJyb3IiLHQpLHNKKCJsb2FkIix0KTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLHQpO2JyZWFrO2Nhc2UiaW5wdXQiOnNKKCJpbnZhbGlkIix0KSx0Zyh0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnNKKCJpbnZhbGlkIix0KTticmVhaztjYXNlInRleHRhcmVhIjpzSigiaW52YWxpZCIsdCksdHcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfSJzdHJpbmciIT10eXBlb2Yobj1yLmNoaWxkcmVuKSYmIm51bWJlciIhPXR5cGVvZiBuJiYiYmlnaW50IiE9dHlwZW9mIG58fHQudGV4dENvbnRlbnQ9PT0iIitufHwhMD09PXIuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHxjdCh0LnRleHRDb250ZW50LG4pPyhudWxsIT1yLnBvcG92ZXImJihzSigiYmVmb3JldG9nZ2xlIix0KSxzSigidG9nZ2xlIix0KSksbnVsbCE9ci5vblNjcm9sbCYmc0ooInNjcm9sbCIsdCksbnVsbCE9ci5vblNjcm9sbEVuZCYmc0ooInNjcm9sbGVuZCIsdCksbnVsbCE9ci5vbkNsaWNrJiYodC5vbmNsaWNrPXRUKSx0PSEwKTp0PSExLHR8fHJLKGUsITApfWZ1bmN0aW9uIHJHKGUpe2ZvcihyVj1lLnJldHVybjtyVjspc3dpdGNoKHJWLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzpyVz0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6clc9ITA7cmV0dXJuO2RlZmF1bHQ6clY9clYucmV0dXJufX1mdW5jdGlvbiByWShlKXtpZihlIT09clYpcmV0dXJuITE7aWYoIXIkKXJldHVybiByRyhlKSxyJD0hMCwhMTt2YXIgdCxuPWUudGFnO2lmKCh0PTMhPT1uJiYyNyE9PW4pJiYoKHQ9NT09PW4pJiYodD0iZm9ybSI9PT0odD1lLnR5cGUpfHwiYnV0dG9uIj09PXR8fGNmKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpKSx0PSF0KSx0JiZySCYmcksoZSksckcoZSksMTM9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ckg9Y3EoZSl9ZWxzZSBpZigzMT09PW4pe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtySD1jcShlKX1lbHNlIDI3PT09bj8obj1ySCxjeShlLnR5cGUpPyhlPWNXLGNXPW51bGwsckg9ZSk6ckg9bik6ckg9clY/Y1EoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gckooKXtySD1yVj1udWxsLHIkPSExfWZ1bmN0aW9uIHJaKCl7dmFyIGU9clE7cmV0dXJuIG51bGwhPT1lJiYobnVsbD09PXVqP3VqPWU6dWoucHVzaC5hcHBseSh1aixlKSxyUT1udWxsKSxlfWZ1bmN0aW9uIHIwKGUpe251bGw9PT1yUT9yUT1bZV06clEucHVzaChlKX12YXIgcjE9WShudWxsKSxyMj1udWxsLHIzPW51bGw7ZnVuY3Rpb24gcjQoZSx0LG4pe1oocjEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiByOChlKXtlLl9jdXJyZW50VmFsdWU9cjEuY3VycmVudCxKKHIxKX1mdW5jdGlvbiByNShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIHI2KGUsdCxuLHIpe3ZhciBsPWUuY2hpbGQ7Zm9yKG51bGwhPT1sJiYobC5yZXR1cm49ZSk7bnVsbCE9PWw7KXt2YXIgYT1sLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7dmFyIG89bC5jaGlsZDthPWEuZmlyc3RDb250ZXh0O2U6Zm9yKDtudWxsIT09YTspe3ZhciBpPWE7YT1sO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKWlmKGkuY29udGV4dD09PXRbc10pe2EubGFuZXN8PW4sbnVsbCE9PShpPWEuYWx0ZXJuYXRlKSYmKGkubGFuZXN8PW4pLHI1KGEucmV0dXJuLG4sZSkscnx8KG89bnVsbCk7YnJlYWsgZX1hPWkubmV4dH19ZWxzZSBpZigxOD09PWwudGFnKXtpZihudWxsPT09KG89bC5yZXR1cm4pKXRocm93IEVycm9yKHUoMzQxKSk7by5sYW5lc3w9bixudWxsIT09KGE9by5hbHRlcm5hdGUpJiYoYS5sYW5lc3w9bikscjUobyxuLGUpLG89bnVsbH1lbHNlIG89bC5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj1sO2Vsc2UgZm9yKG89bDtudWxsIT09bzspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PShsPW8uc2libGluZykpe2wucmV0dXJuPW8ucmV0dXJuLG89bDticmVha31vPW8ucmV0dXJufWw9b319ZnVuY3Rpb24gcjkoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgbD10LGE9ITE7bnVsbCE9PWw7KXtpZighYSl7aWYoMCE9KDUyNDI4OCZsLmZsYWdzKSlhPSEwO2Vsc2UgaWYoMCE9KDI2MjE0NCZsLmZsYWdzKSlicmVha31pZigxMD09PWwudGFnKXt2YXIgbz1sLmFsdGVybmF0ZTtpZihudWxsPT09byl0aHJvdyBFcnJvcih1KDM4NykpO2lmKG51bGwhPT0obz1vLm1lbW9pemVkUHJvcHMpKXt2YXIgaT1sLnR5cGU7bkEobC5wZW5kaW5nUHJvcHMudmFsdWUsby52YWx1ZSl8fChudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfX1lbHNlIGlmKGw9PT1lci5jdXJyZW50KXtpZihudWxsPT09KG89bC5hbHRlcm5hdGUpKXRocm93IEVycm9yKHUoMzg3KSk7by5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUhPT1sLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1lP2UucHVzaChmdik6ZT1bZnZdKX1sPWwucmV0dXJufW51bGwhPT1lJiZyNih0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDR9ZnVuY3Rpb24gcjcoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbkEoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsZShlKXtyMj1lLHIzPW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBscihyMixlKX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiBudWxsPT09cjImJmxlKGUpLGxyKGUsdCl9ZnVuY3Rpb24gbHIoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yMyl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyMz10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByMz1yMy5uZXh0PXQ7cmV0dXJuIG59dmFyIGxsPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxhPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsbz1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGxpPXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHUoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGwsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxzKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbGEobG8sZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxjKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZj1udWxsLGxkPW51bGwsbHA9MCxsbT0wLGxoPW51bGw7ZnVuY3Rpb24gbGcoKXtpZigwPT0tLWxwJiYobGY9bnVsbCxudWxsIT09bGQpKXtudWxsIT09bGgmJihsaC5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxkO2xkPW51bGwsbG09MCxsaD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBsdj1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodVY9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlLHQpe2lmKG51bGw9PT1sZCl7dmFyIG49bGQ9W107bHA9MCxsbT1zJCgpLGxoPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19fWxwKyssdC50aGVuKGxnLGxnKX0oMCx0KSxudWxsIT09bGYpZm9yKHZhciBuPXN6O251bGwhPT1uOylsYyhuLGxmKSxuPW4ubmV4dDtpZihudWxsIT09KG49ZS50eXBlcykpe2Zvcih2YXIgcj1zejtudWxsIT09cjspbGMocixuKSxyPXIubmV4dDtpZigwIT09bG0pe251bGw9PT0ocj1sZikmJihyPWxmPVtdKTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTstMT09PXIuaW5kZXhPZihhKSYmci5wdXNoKGEpfX19bnVsbCE9PWx2JiZsdihlLHQpfTt2YXIgbHk9WShudWxsKTtmdW5jdGlvbiBsYigpe3ZhciBlPWx5LmN1cnJlbnQ7cmV0dXJuIG51bGwhPT1lP2U6dUUucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbHcoZSx0KXtudWxsPT09dD9aKGx5LGx5LmN1cnJlbnQpOloobHksdC5wb29sKX1mdW5jdGlvbiBsaygpe3ZhciBlPWxiKCk7cmV0dXJuIG51bGw9PT1lP251bGw6e3BhcmVudDpsaS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIGxTPUVycm9yKHUoNDYwKSksbEU9RXJyb3IodSg0NzQpKSxseD1FcnJvcih1KDU0MikpLGxfPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbFAoZSl7cmV0dXJuImZ1bGZpbGxlZCI9PT0oZT1lLnN0YXR1cyl8fCJyZWplY3RlZCI9PT1lfWZ1bmN0aW9uIGxOKGUsdCxuKXtzd2l0Y2godm9pZCAwPT09KG49ZVtuXSk/ZS5wdXNoKHQpOm4hPT10JiYodC50aGVuKHRULHRUKSx0PW4pLHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZTtkZWZhdWx0OmlmKCJzdHJpbmciPT10eXBlb2YgdC5zdGF0dXMpdC50aGVuKHRULHRUKTtlbHNle2lmKG51bGwhPT0oZT11RSkmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IodSg0ODIpKTsoZT10KS5zdGF0dXM9InBlbmRpbmciLGUudGhlbihmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0icmVqZWN0ZWQiLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZX10aHJvdyBsVD10LGxTfX1mdW5jdGlvbiBsQyhlKXt0cnl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9Y2F0Y2goZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil0aHJvdyBsVD1lLGxTO3Rocm93IGV9fXZhciBsVD1udWxsO2Z1bmN0aW9uIGxPKCl7aWYobnVsbD09PWxUKXRocm93IEVycm9yKHUoNDU5KSk7dmFyIGU9bFQ7cmV0dXJuIGxUPW51bGwsZX1mdW5jdGlvbiBseihlKXtpZihlPT09bFN8fGU9PT1seCl0aHJvdyBFcnJvcih1KDQ4MykpfXZhciBsTD1udWxsLGxSPTA7ZnVuY3Rpb24gbE0oZSl7dmFyIHQ9bFI7cmV0dXJuIGxSKz0xLG51bGw9PT1sTCYmKGxMPVtdKSxsTihsTCxlLHQpfWZ1bmN0aW9uIGxJKGUsdCl7ZS5yZWY9dm9pZCAwIT09KHQ9dC5wcm9wcy5yZWYpP3Q6bnVsbH1mdW5jdGlvbiBsRChlLHQpe2lmKHQuJCR0eXBlb2Y9PT1fKXRocm93IEVycm9yKHUoNTI1KSk7dGhyb3cgRXJyb3IodSgzMSwiW29iamVjdCBPYmplY3RdIj09PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSk/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXModCkuam9pbigiLCAiKSsifSI6ZSkpfWZ1bmN0aW9uIGxGKGUpe2Z1bmN0aW9uIHQodCxuKXtpZihlKXt2YXIgcj10LmRlbGV0aW9ucztudWxsPT09cj8odC5kZWxldGlvbnM9W25dLHQuZmxhZ3N8PTE2KTpyLnB1c2gobil9fWZ1bmN0aW9uIG4obixyKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO251bGwhPT1yOyl0KG4scikscj1yLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9bmV3IE1hcDtudWxsIT09ZTspbnVsbD09PWUua2V5P3Quc2V0KGUuaW5kZXgsZSk6dC5zZXQoZS5rZXksZSksZT1lLnNpYmxpbmc7cmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPXJiKGUsdCkpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4odC5pbmRleD1yLGUpP251bGwhPT0ocj10LmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8bj8odC5mbGFnc3w9MHg4MDAwMDAyLG4pOnI6KHQuZmxhZ3N8PTB4ODAwMDAwMixuKToodC5mbGFnc3w9MTA0ODU3NixuKX1mdW5jdGlvbiBvKHQpe3JldHVybiBlJiZudWxsPT09dC5hbHRlcm5hdGUmJih0LmZsYWdzfD0weDgwMDAwMDIpLHR9ZnVuY3Rpb24gaShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1yRShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIHMoZSx0LG4scil7dmFyIGE9bi50eXBlO3JldHVybiBhPT09Qz8obEkoZT1mKGUsdCxuLnByb3BzLmNoaWxkcmVuLHIsbi5rZXkpLG4pLGUpOihudWxsIT09dCYmKHQuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09RiYmbEMoYSk9PT10LnR5cGUpP2xJKHQ9bCh0LG4ucHJvcHMpLG4pOmxJKHQ9cmsobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBjKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KHQ9cl8obixlLm1vZGUscikpLnJldHVybj1lOih0PWwodCxuLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLHR9ZnVuY3Rpb24gZihlLHQsbixyLGEpe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPyh0PXJTKG4sZS5tb2RlLHIsYSkpLnJldHVybj1lOih0PWwodCxuKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBkKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8Im51bWJlciI9PXR5cGVvZiB0fHwiYmlnaW50Ij09dHlwZW9mIHQpcmV0dXJuKHQ9ckUoIiIrdCxlLm1vZGUsbikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbEkobj1yayh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSx0KSxuLnJldHVybj1lLG47Y2FzZSBOOnJldHVybih0PXJfKHQsZS5tb2RlLG4pKS5yZXR1cm49ZSx0O2Nhc2UgRjpyZXR1cm4gZChlLHQ9bEModCksbil9aWYoUSh0KXx8SCh0KSlyZXR1cm4odD1yUyh0LGUubW9kZSxuLG51bGwpKS5yZXR1cm49ZSx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pcmV0dXJuIGQoZSxsTSh0KSxuKTtpZih0LiQkdHlwZW9mPT09TClyZXR1cm4gZChlLGxuKGUsdCksbik7bEQoZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBsPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2Ygbnx8ImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybiBudWxsIT09bD9udWxsOmkoZSx0LCIiK24scik7aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbi5rZXk9PT1sP3MoZSx0LG4scik6bnVsbDtjYXNlIE46cmV0dXJuIG4ua2V5PT09bD9jKGUsdCxuLHIpOm51bGw7Y2FzZSBGOnJldHVybiBwKGUsdCxuPWxDKG4pLHIpfWlmKFEobil8fEgobikpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLHQsbixyLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4pcmV0dXJuIHAoZSx0LGxNKG4pLHIpO2lmKG4uJCR0eXBlb2Y9PT1MKXJldHVybiBwKGUsdCxsbihlLG4pLHIpO2xEKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHJ8fCJiaWdpbnQiPT10eXBlb2YgcilyZXR1cm4gaSh0LGU9ZS5nZXQobil8fG51bGwsIiIrcixsKTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBzKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixsKTtjYXNlIE46cmV0dXJuIGModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgRjpyZXR1cm4gbShlLHQsbixyPWxDKHIpLGwpfWlmKFEocil8fEgocikpcmV0dXJuIGYodCxlPWUuZ2V0KG4pfHxudWxsLHIsbCxudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKXJldHVybiBtKGUsdCxuLGxNKHIpLGwpO2lmKHIuJCR0eXBlb2Y9PT1MKXJldHVybiBtKGUsdCxuLGxuKHQsciksbCk7bEQodCxyKX1yZXR1cm4gbnVsbH1yZXR1cm4gZnVuY3Rpb24oaSxzLGMsZil7dHJ5e2xSPTA7dmFyIGg9ZnVuY3Rpb24gaShzLGMsZixoKXtpZigib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT1DJiZudWxsPT09Zi5rZXkmJnZvaWQgMD09PWYucHJvcHMucmVmJiYoZj1mLnByb3BzLmNoaWxkcmVuKSwib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSBQOmU6e2Zvcih2YXIgZz1mLmtleTtudWxsIT09Yzspe2lmKGMua2V5PT09Zyl7aWYoKGc9Zi50eXBlKT09PUMpe2lmKDc9PT1jLnRhZyl7bihzLGMuc2libGluZyksbEkoaD1sKGMsZi5wcm9wcy5jaGlsZHJlbiksZiksaC5yZXR1cm49cyxzPWg7YnJlYWsgZX19ZWxzZSBpZihjLmVsZW1lbnRUeXBlPT09Z3x8Im9iamVjdCI9PXR5cGVvZiBnJiZudWxsIT09ZyYmZy4kJHR5cGVvZj09PUYmJmxDKGcpPT09Yy50eXBlKXtuKHMsYy5zaWJsaW5nKSxsSShoPWwoYyxmLnByb3BzKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfW4ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9Zi50eXBlPT09Qz9sSShoPXJTKGYucHJvcHMuY2hpbGRyZW4scy5tb2RlLGgsZi5rZXkpLGYpOmxJKGg9cmsoZi50eXBlLGYua2V5LGYucHJvcHMsbnVsbCxzLm1vZGUsaCksZiksaC5yZXR1cm49cyxzPWh9cmV0dXJuIG8ocyk7Y2FzZSBOOmU6e2ZvcihnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKWlmKDQ9PT1jLnRhZyYmYy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmYy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZi5jaGlsZHJlbnx8W10pKS5yZXR1cm49cyxzPWg7YnJlYWsgZX1lbHNle24ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9KGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIEY6cmV0dXJuIGkocyxjLGY9bEMoZiksaCl9aWYoUShmKSlyZXR1cm4gZnVuY3Rpb24obCxvLGksdSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9byxoPW89MCxnPW51bGw7bnVsbCE9PWYmJmg8aS5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLGlbaF0sdSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJnQobCxmKSxvPWEodixvLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1pLmxlbmd0aClyZXR1cm4gbihsLGYpLHIkJiZyRihsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxpLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxpW2hdLHUpKSYmKG89YShmLG8saCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIHIkJiZyRihsLGgpLHN9Zm9yKGY9cihmKTtoPGkubGVuZ3RoO2grKyludWxsIT09KGc9bShmLGwsaCxpW2hdLHUpKSYmKGUmJm51bGwhPT0odj1nLmFsdGVybmF0ZSkmJmYuZGVsZXRlKG51bGw9PT12LmtleT9oOnYua2V5KSxvPWEoZyxvLGgpLG51bGw9PT1jP3M9ZzpjLnNpYmxpbmc9ZyxjPWcpO3JldHVybiBlJiZmLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHIkJiZyRihsLGgpLHN9KHMsYyxmLGgpO2lmKEgoZikpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZihnPUgoZikpKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGZ1bmN0aW9uKGwsbyxpLHMpe2lmKG51bGw9PWkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGM9bnVsbCxmPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJnQobCxoKSxvPWEoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gbihsLGgpLHIkJiZyRihsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gciQmJnJGKGwsZyksY31mb3IoaD1yKGgpOyF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpbnVsbCE9PSh5PW0oaCxsLGcseS52YWx1ZSxzKSkmJihlJiZudWxsIT09KHY9eS5hbHRlcm5hdGUpJiZoLmRlbGV0ZShudWxsPT09di5rZXk/Zzp2LmtleSksbz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gZSYmaC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGwsZSl9KSxyJCYmckYobCxnKSxjfShzLGMsZj1nLmNhbGwoZiksaCl9aWYoImZ1bmN0aW9uIj09dHlwZW9mIGYudGhlbilyZXR1cm4gaShzLGMsbE0oZiksaCk7aWYoZi4kJHR5cGVvZj09PUwpcmV0dXJuIGkocyxjLGxuKHMsZiksaCk7bEQocyxmKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGYmJiIiIT09Znx8Im51bWJlciI9PXR5cGVvZiBmfHwiYmlnaW50Ij09dHlwZW9mIGY/KGY9IiIrZixudWxsIT09YyYmNj09PWMudGFnPyhuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZikpLnJldHVybj1zKToobihzLGMpLChoPXJFKGYscy5tb2RlLGgpKS5yZXR1cm49cyksbyhzPWgpKTpuKHMsYyl9KGkscyxjLGYpO3JldHVybiBsTD1udWxsLGh9Y2F0Y2goZSl7aWYoZT09PWxTfHxlPT09bHgpdGhyb3cgZTt2YXIgZz1ydigyOSxlLG51bGwsaS5tb2RlKTtyZXR1cm4gZy5sYW5lcz1mLGcucmV0dXJuPWksZ31maW5hbGx5e319fXZhciBsQT1sRighMCksbGo9bEYoITEpLGxVPSExO2Z1bmN0aW9uIGxCKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gbFYoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gbEgoZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGwkKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsMCE9KDImdVMpKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCx0PXJtKGUpLHJwKGUsbnVsbCxuKSx0fXJldHVybiByYyhlLHIsdCxuKSxybShlKX1mdW5jdGlvbiBsUShlLHQsbil7aWYobnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDA0OCZuKSkpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sZWooZSxuKX19ZnVuY3Rpb24gbFcoZSx0KXt2YXIgbj1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJm49PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PShuPW4uZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShudWxsIT09biludWxsPT09YT9sPWE9dDphPWEubmV4dD10fWVsc2UgbD1hPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsc2hhcmVkOnIuc2hhcmVkLGNhbGxiYWNrczpyLmNhbGxiYWNrc30sZS51cGRhdGVRdWV1ZT1uO3JldHVybn1udWxsPT09KGU9bi5sYXN0QmFzZVVwZGF0ZSk/bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIGxxPSExO2Z1bmN0aW9uIGxLKCl7aWYobHEpe3ZhciBlPWxoO2lmKG51bGwhPT1lKXRocm93IGV9fWZ1bmN0aW9uIGxYKGUsdCxuLHIpe2xxPSExO3ZhciBsPWUudXBkYXRlUXVldWU7bFU9ITE7dmFyIGE9bC5maXJzdEJhc2VVcGRhdGUsbz1sLmxhc3RCYXNlVXBkYXRlLGk9bC5zaGFyZWQucGVuZGluZztpZihudWxsIT09aSl7bC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciB1PWkscz11Lm5leHQ7dS5uZXh0PW51bGwsbnVsbD09PW8/YT1zOm8ubmV4dD1zLG89dTt2YXIgYz1lLmFsdGVybmF0ZTtudWxsIT09YyYmKGk9KGM9Yy51cGRhdGVRdWV1ZSkubGFzdEJhc2VVcGRhdGUpIT09byYmKG51bGw9PT1pP2MuZmlyc3RCYXNlVXBkYXRlPXM6aS5uZXh0PXMsYy5sYXN0QmFzZVVwZGF0ZT11KX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKG89MCxjPXM9dT1udWxsLGk9YTs7KXt2YXIgZD0tMHgyMDAwMDAwMSZpLmxhbmUscD1kIT09aS5sYW5lO2lmKHA/KHVfJmQpPT09ZDoociZkKT09PWQpezAhPT1kJiZkPT09bG0mJihscT0hMCksbnVsbCE9PWMmJihjPWMubmV4dD17bGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1pO3N3aXRjaChkPXQsaC50YWcpe2Nhc2UgMTppZigiZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpKXtmPW0uY2FsbChuLGYsZCk7YnJlYWsgZX1mPW07YnJlYWsgZTtjYXNlIDM6bS5mbGFncz0tNjU1MzcmbS5mbGFnc3wxMjg7Y2FzZSAwOmlmKG51bGw9PShkPSJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCk/bS5jYWxsKG4sZixkKTptKSlicmVhayBlO2Y9eCh7fSxmLGQpO2JyZWFrIGU7Y2FzZSAyOmxVPSEwfX1udWxsIT09KGQ9aS5jYWxsYmFjaykmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MiksbnVsbD09PShwPWwuY2FsbGJhY2tzKT9sLmNhbGxiYWNrcz1bZF06cC5wdXNoKGQpKX1lbHNlIHA9e2xhbmU6ZCx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1jPyhzPWM9cCx1PWYpOmM9Yy5uZXh0PXAsb3w9ZDtpZihudWxsPT09KGk9aS5uZXh0KSlpZihudWxsPT09KGk9bC5zaGFyZWQucGVuZGluZykpYnJlYWs7ZWxzZSBpPShwPWkpLm5leHQscC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1wLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH1udWxsPT09YyYmKHU9ZiksbC5iYXNlU3RhdGU9dSxsLmZpcnN0QmFzZVVwZGF0ZT1zLGwubGFzdEJhc2VVcGRhdGU9YyxudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApLHVSfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbEcoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGxZKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobnVsbCE9PW4pZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKWxHKG5bZV0sdCl9dmFyIGxKPVkobnVsbCksbFo9WSgwKTtmdW5jdGlvbiBsMChlLHQpe1oobFosZT11eiksWihsSix0KSx1ej1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGwxKCl7WihsWix1eiksWihsSixsSi5jdXJyZW50KX1mdW5jdGlvbiBsMigpe3V6PWxaLmN1cnJlbnQsSihsSiksSihsWil9dmFyIGwzPVkobnVsbCksbDQ9bnVsbDtmdW5jdGlvbiBsOChlKXt2YXIgdD1lLmFsdGVybmF0ZTtaKGFlLDEmYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihudWxsPT09dHx8bnVsbCE9PWxKLmN1cnJlbnQ/bDQ9ZTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiYobDQ9ZSkpfWZ1bmN0aW9uIGw1KGUpe1ooYWUsYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihsND1lKX1mdW5jdGlvbiBsNihlKXsyMj09PWUudGFnPyhaKGFlLGFlLmN1cnJlbnQpLFoobDMsZSksbnVsbD09PWw0JiYobDQ9ZSkpOmw5KCl9ZnVuY3Rpb24gbDkoKXtaKGFlLGFlLmN1cnJlbnQpLFoobDMsbDMuY3VycmVudCl9ZnVuY3Rpb24gbDcoZSl7SihsMyksbDQ9PT1lJiYobDQ9bnVsbCksSihhZSl9dmFyIGFlPVkoMCk7ZnVuY3Rpb24gYXQoZSx0KXtaKGwzLGwzLmN1cnJlbnQpLFooYWUsdCl9ZnVuY3Rpb24gYW4oZSl7SihhZSksSihsMyksbDQ9PT1lJiYobDQ9bnVsbCl9ZnVuY3Rpb24gYXIoZSl7Zm9yKHZhciB0PWU7bnVsbCE9PXQ7KXtpZigxMz09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW4mJihudWxsPT09KG49bi5kZWh5ZHJhdGVkKXx8Y0gobil8fGMkKG4pKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJiJpbmRlcGVuZGVudCIhPT10Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmdC5mbGFncykpcmV0dXJuIHR9ZWxzZSBpZihudWxsIT09dC5jaGlsZCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBhbD0wLGFhPW51bGwsYW89bnVsbCxhaT1udWxsLGF1PSExLGFzPSExLGFjPSExLGFmPTAsYWQ9MCxhcD1udWxsLGFtPTA7ZnVuY3Rpb24gYWgoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIGFnKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIW5BKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYXYoZSx0LG4scixsLGEpe3JldHVybiBhbD1hLGFhPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxXLkg9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/b0U6b3gsYWM9ITEsYT1uKHIsbCksYWM9ITEsYXMmJihhPWFiKHQsbixyLGwpKSxheShlKSxhfWZ1bmN0aW9uIGF5KGUpe1cuSD1vUzt2YXIgdD1udWxsIT09YW8mJm51bGwhPT1hby5uZXh0O2lmKGFsPTAsYWk9YW89YWE9bnVsbCxhdT0hMSxhZD0wLGFwPW51bGwsdCl0aHJvdyBFcnJvcih1KDMwMCkpO251bGw9PT1lfHxvVXx8bnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmcjcoZSkmJihvVT0hMCl9ZnVuY3Rpb24gYWIoZSx0LG4scil7YWE9ZTt2YXIgbD0wO2Rve2lmKGFzJiYoYXA9bnVsbCksYWQ9MCxhcz0hMSwyNTw9bCl0aHJvdyBFcnJvcih1KDMwMSkpO2lmKGwrPTEsYWk9YW89bnVsbCxudWxsIT1lLnVwZGF0ZVF1ZXVlKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxudWxsIT1hLm1lbW9DYWNoZSYmKGEubWVtb0NhY2hlLmluZGV4PTApfVcuSD1vXyxhPXQobixyKX13aGlsZShhcylyZXR1cm4gYX1mdW5jdGlvbiBhdygpe3ZhciBlPVcuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP2FOKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKG51bGwhPT1hbz9hby5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKGFhLmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIGFrKCl7dmFyIGU9MCE9PWFmO3JldHVybiBhZj0wLGV9ZnVuY3Rpb24gYVMoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+bn1mdW5jdGlvbiBhRShlKXtpZihhdSl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1lOyl7dmFyIHQ9ZS5xdWV1ZTtudWxsIT09dCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1hdT0hMX1hbD0wLGFpPWFvPWFhPW51bGwsYXM9ITEsYWQ9YWY9MCxhcD1udWxsfWZ1bmN0aW9uIGF4KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lLGFpfWZ1bmN0aW9uIGFfKCl7aWYobnVsbD09PWFvKXt2YXIgZT1hYS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9YW8ubmV4dDt2YXIgdD1udWxsPT09YWk/YWEubWVtb2l6ZWRTdGF0ZTphaS5uZXh0O2lmKG51bGwhPT10KWFpPXQsYW89ZTtlbHNle2lmKG51bGw9PT1lKXtpZihudWxsPT09YWEuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoNDY3KSk7dGhyb3cgRXJyb3IodSgzMTApKX1lPXttZW1vaXplZFN0YXRlOihhbz1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTphby5iYXNlU3RhdGUsYmFzZVF1ZXVlOmFvLmJhc2VRdWV1ZSxxdWV1ZTphby5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lfXJldHVybiBhaX1mdW5jdGlvbiBhUCgpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGFOKGUpe3ZhciB0PWFkO3JldHVybiBhZCs9MSxudWxsPT09YXAmJihhcD1bXSksZT1sTihhcCxlLHQpLHQ9YWEsbnVsbD09PShudWxsPT09YWk/dC5tZW1vaXplZFN0YXRlOmFpLm5leHQpJiYoVy5IPW51bGw9PT0odD10LmFsdGVybmF0ZSl8fG51bGw9PT10Lm1lbW9pemVkU3RhdGU/b0U6b3gpLGV9ZnVuY3Rpb24gYUMoZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gYU4oZSk7aWYoZS4kJHR5cGVvZj09PUwpcmV0dXJuIGx0KGUpfXRocm93IEVycm9yKHUoNDM4LFN0cmluZyhlKSkpfWZ1bmN0aW9uIGFUKGUpe3ZhciB0PW51bGwsbj1hYS51cGRhdGVRdWV1ZTtpZihudWxsIT09biYmKHQ9bi5tZW1vQ2FjaGUpLG51bGw9PXQpe3ZhciByPWFhLmFsdGVybmF0ZTtudWxsIT09ciYmbnVsbCE9PShyPXIudXBkYXRlUXVldWUpJiZudWxsIT0ocj1yLm1lbW9DYWNoZSkmJih0PXtkYXRhOnIuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KX1pZihudWxsPT10JiYodD17ZGF0YTpbXSxpbmRleDowfSksbnVsbD09PW4mJihuPWFQKCksYWEudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCx2b2lkIDA9PT0obj10LmRhdGFbdC5pbmRleF0pKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPVU7cmV0dXJuIHQuaW5kZXgrKyxufWZ1bmN0aW9uIGFPKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKTp0fWZ1bmN0aW9uIGF6KGUpe3JldHVybiBhTChhXygpLGFvLGUpfWZ1bmN0aW9uIGFMKGUsdCxuKXt2YXIgcj1lLnF1ZXVlO2lmKG51bGw9PT1yKXRocm93IEVycm9yKHUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9ZS5iYXNlUXVldWUsYT1yLnBlbmRpbmc7aWYobnVsbCE9PWEpe2lmKG51bGwhPT1sKXt2YXIgbz1sLm5leHQ7bC5uZXh0PWEubmV4dCxhLm5leHQ9b310LmJhc2VRdWV1ZT1sPWEsci5wZW5kaW5nPW51bGx9aWYoYT1lLmJhc2VTdGF0ZSxudWxsPT09bCllLm1lbW9pemVkU3RhdGU9YTtlbHNle3Q9bC5uZXh0O3ZhciBpPW89bnVsbCxzPW51bGwsYz10LGY9ITE7ZG97dmFyIGQ9LTB4MjAwMDAwMDEmYy5sYW5lO2lmKGQhPT1jLmxhbmU/KHVfJmQpPT09ZDooYWwmZCk9PT1kKXt2YXIgcD1jLnJldmVydExhbmU7aWYoMD09PXApbnVsbCE9PXMmJihzPXMubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGQ9PT1sbSYmKGY9ITApO2Vsc2UgaWYoKGFsJnApPT09cCl7Yz1jLm5leHQscD09PWxtJiYoZj0hMCk7Y29udGludWV9ZWxzZSBkPXtsYW5lOjAscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpjLmFjdGlvbixoYXNFYWdlclN0YXRlOmMuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmMuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LG51bGw9PT1zPyhpPXM9ZCxvPWEpOnM9cy5uZXh0PWQsYWEubGFuZXN8PXAsdVJ8PXA7ZD1jLmFjdGlvbixhYyYmbihhLGQpLGE9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTpuKGEsZCl9ZWxzZSBwPXtsYW5lOmQscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpjLmdlc3R1cmUsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1wLG89YSk6cz1zLm5leHQ9cCxhYS5sYW5lc3w9ZCx1Unw9ZDtjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PXQpaWYobnVsbD09PXM/bz1hOnMubmV4dD1pLCFuQShhLGUubWVtb2l6ZWRTdGF0ZSkmJihvVT0hMCxmJiZudWxsIT09KG49bGgpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1hLGUuYmFzZVN0YXRlPW8sZS5iYXNlUXVldWU9cyxyLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuIG51bGw9PT1sJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIGFSKGUpe3ZhciB0PWFfKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxsPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7bi5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG8gYT1lKGEsby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1sKW5BKGEsdC5tZW1vaXplZFN0YXRlKXx8KG9VPSEwKSx0Lm1lbW9pemVkU3RhdGU9YSxudWxsPT09dC5iYXNlUXVldWUmJih0LmJhc2VTdGF0ZT1hKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuW2Escl19ZnVuY3Rpb24gYU0oZSx0LG4pe3ZhciByPWFhLGw9YV8oKSxhPXIkO2lmKGEpe2lmKHZvaWQgMD09PW4pdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFuQSgoYW98fGwpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGwubWVtb2l6ZWRTdGF0ZT1uLG9VPSEwKSxsPWwucXVldWUsYTgoYUYuYmluZChudWxsLHIsbCxlKSxbZV0pLGwuZ2V0U25hcHNob3QhPT10fHxvfHxudWxsIT09YWkmJjEmYWkubWVtb2l6ZWRTdGF0ZS50YWcpe2lmKHIuZmxhZ3N8PTIwNDgsYTAoOSx7ZGVzdHJveTp2b2lkIDB9LGFELmJpbmQobnVsbCxyLGwsbix0KSxudWxsKSxudWxsPT09dUUpdGhyb3cgRXJyb3IodSgzNDkpKTthfHwwIT0oMTI3JmFsKXx8YUkocix0LG4pfXJldHVybiBufWZ1bmN0aW9uIGFJKGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LG51bGw9PT0odD1hYS51cGRhdGVRdWV1ZSk/KHQ9YVAoKSxhYS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIGFEKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsYUEodCkmJmFqKGUpfWZ1bmN0aW9uIGFGKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe2FBKHQpJiZhaihlKX0pfWZ1bmN0aW9uIGFBKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIW5BKGUsbil9Y2F0Y2goZSl7cmV0dXJuITB9fWZ1bmN0aW9uIGFqKGUpe3ZhciB0PXJkKGUsMik7bnVsbCE9PXQmJnU2KHQsZSwyKX1mdW5jdGlvbiBhVShlKXt2YXIgdD1heCgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLHQucXVldWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTplfSx0fWZ1bmN0aW9uIGFCKGUsdCxuLHIpe3JldHVybiBlLmJhc2VTdGF0ZT1uLGFMKGUsYW8sImZ1bmN0aW9uIj09dHlwZW9mIHI/cjphTyl9ZnVuY3Rpb24gYVYoZSx0LG4scixsKXtpZihvYihlKSl0aHJvdyBFcnJvcih1KDQ4NSkpO2lmKG51bGwhPT0oZT10LmFjdGlvbikpe3ZhciBhPXtwYXlsb2FkOmwsYWN0aW9uOmUsbmV4dDpudWxsLGlzVHJhbnNpdGlvbjohMCxzdGF0dXM6InBlbmRpbmciLHZhbHVlOm51bGwscmVhc29uOm51bGwsbGlzdGVuZXJzOltdLHRoZW46ZnVuY3Rpb24oZSl7YS5saXN0ZW5lcnMucHVzaChlKX19O251bGwhPT1XLlQ/bighMCk6YS5pc1RyYW5zaXRpb249ITEscihhKSxudWxsPT09KG49dC5wZW5kaW5nKT8oYS5uZXh0PXQucGVuZGluZz1hLGFIKHQsYSkpOihhLm5leHQ9bi5uZXh0LHQucGVuZGluZz1uLm5leHQ9YSl9fWZ1bmN0aW9uIGFIKGUsdCl7dmFyIG49dC5hY3Rpb24scj10LnBheWxvYWQsbD1lLnN0YXRlO2lmKHQuaXNUcmFuc2l0aW9uKXt2YXIgYT1XLlQsbz17fTtvLnR5cGVzPW51bGwhPT1hP2EudHlwZXM6bnVsbCxXLlQ9bzt0cnl7dmFyIGk9bihsLHIpLHU9Vy5TO251bGwhPT11JiZ1KG8saSksYSQoZSx0LGkpfWNhdGNoKG4pe2FXKGUsdCxuKX1maW5hbGx5e251bGwhPT1hJiZudWxsIT09by50eXBlcyYmKGEudHlwZXM9by50eXBlcyksVy5UPWF9fWVsc2UgdHJ5e2E9bihsLHIpLGEkKGUsdCxhKX1jYXRjaChuKXthVyhlLHQsbil9fWZ1bmN0aW9uIGEkKGUsdCxuKXtudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuP24udGhlbihmdW5jdGlvbihuKXthUShlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBhVyhlLHQsbil9KTphUShlLHQsbil9ZnVuY3Rpb24gYVEoZSx0LG4pe3Quc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bixhcSh0KSxlLnN0YXRlPW4sbnVsbCE9PSh0PWUucGVuZGluZykmJigobj10Lm5leHQpPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sYUgoZSxuKSkpfWZ1bmN0aW9uIGFXKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsbnVsbCE9PXIpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPSJyZWplY3RlZCIsdC5yZWFzb249bixhcSh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBhcShlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gYUsoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBhWChlLHQpe2lmKHIkKXt2YXIgbj11RS5mb3JtU3RhdGU7aWYobnVsbCE9PW4pe2U6e3ZhciByPWFhO2lmKHIkKXtpZihySCl7dDp7Zm9yKHZhciBsPXJILGE9clc7OCE9PWwubm9kZVR5cGU7KWlmKCFhfHxudWxsPT09KGw9Y1EobC5uZXh0U2libGluZykpKXtsPW51bGw7YnJlYWsgdH1sPSJGISI9PT0oYT1sLmRhdGEpfHwiRiI9PT1hP2w6bnVsbH1pZihsKXtySD1jUShsLm5leHRTaWJsaW5nKSxyPSJGISI9PT1sLmRhdGE7YnJlYWsgZX19cksocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuKG49YXgoKSkubWVtb2l6ZWRTdGF0ZT1uLmJhc2VTdGF0ZT10LHI9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphSyxsYXN0UmVuZGVyZWRTdGF0ZTp0fSxuLnF1ZXVlPXIsbj1vZy5iaW5kKG51bGwsYWEsciksci5kaXNwYXRjaD1uLHI9YVUoITEpLGE9b3kuYmluZChudWxsLGFhLCExLHIucXVldWUpLHI9YXgoKSxsPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWwsbj1hVi5iaW5kKG51bGwsYWEsbCxhLG4pLGwuZGlzcGF0Y2g9bixyLm1lbW9pemVkU3RhdGU9ZSxbdCxuLCExXX1mdW5jdGlvbiBhRyhlKXtyZXR1cm4gYVkoYV8oKSxhbyxlKX1mdW5jdGlvbiBhWShlLHQsbil7aWYodD1hTChlLHQsYUspWzBdLGU9YXooYU8pWzBdLCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pdHJ5e3ZhciByPWFOKHQpfWNhdGNoKGUpe2lmKGU9PT1sUyl0aHJvdyBseDt0aHJvdyBlfWVsc2Ugcj10O3ZhciBsPSh0PWFfKCkpLnF1ZXVlLGE9bC5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKGFhLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhSi5iaW5kKG51bGwsbCxuKSxudWxsKSksW3IsYSxlXX1mdW5jdGlvbiBhSihlLHQpe2UuYWN0aW9uPXR9ZnVuY3Rpb24gYVooZSl7dmFyIHQ9YV8oKSxuPWFvO2lmKG51bGwhPT1uKXJldHVybiBhWSh0LG4sZSk7YV8oKSx0PXQubWVtb2l6ZWRTdGF0ZTt2YXIgcj0obj1hXygpKS5xdWV1ZS5kaXNwYXRjaDtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPWUsW3QsciwhMV19ZnVuY3Rpb24gYTAoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTpuLGRlcHM6cixpbnN0OnQsbmV4dDpudWxsfSxudWxsPT09KHQ9YWEudXBkYXRlUXVldWUpJiYodD1hUCgpLGFhLnVwZGF0ZVF1ZXVlPXQpLG51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gYTEoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGEyKGUsdCxuLHIpe3ZhciBsPWF4KCk7YWEuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPWEwKDF8dCx7ZGVzdHJveTp2b2lkIDB9LG4sdm9pZCAwPT09cj9udWxsOnIpfWZ1bmN0aW9uIGEzKGUsdCxuLHIpe3ZhciBsPWFfKCk7cj12b2lkIDA9PT1yP251bGw6cjt2YXIgYT1sLm1lbW9pemVkU3RhdGUuaW5zdDtudWxsIT09YW8mJm51bGwhPT1yJiZhZyhyLGFvLm1lbW9pemVkU3RhdGUuZGVwcyk/bC5tZW1vaXplZFN0YXRlPWEwKHQsYSxuLHIpOihhYS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTAoMXx0LGEsbixyKSl9ZnVuY3Rpb24gYTQoZSx0KXthMig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBhOChlLHQpe2EzKDIwNDgsOCxlLHQpfWZ1bmN0aW9uIGE1KGUpe3ZhciB0PWFfKCkubWVtb2l6ZWRTdGF0ZSxuPXtyZWY6dCxuZXh0SW1wbDplfTthYS5mbGFnc3w9NDt2YXIgcj1hYS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyPWFQKCksYWEudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgbD1yLmV2ZW50cztudWxsPT09bD9yLmV2ZW50cz1bbl06bC5wdXNoKG4pfXJldHVybiBmdW5jdGlvbigpe2lmKDAhPSgyJnVTKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiB0LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGE2KGUsdCl7cmV0dXJuIGEzKDQsMixlLHQpfWZ1bmN0aW9uIGE5KGUsdCl7cmV0dXJuIGEzKDQsNCxlLHQpfWZ1bmN0aW9uIGE3KGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPXQoZT1lKCkpO3JldHVybiBmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTp0KG51bGwpfX1pZihudWxsIT10KXJldHVybiB0LmN1cnJlbnQ9ZT1lKCksZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gb2UoZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTMoNCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfWZ1bmN0aW9uIG90KCl7fWZ1bmN0aW9uIG9uKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIG9yKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtyPWUoKSx0XSxyKX1mdW5jdGlvbiBvbChlLHQsbil7cmV0dXJuIHZvaWQgMD09PW58fDAhPSgweDQwMDAwMDAwJmFsKSYmMD09KDI2MTkzMCZ1Xyk/ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSxuKX1mdW5jdGlvbiBvYShlLHQsbixyKXtyZXR1cm4gbkEobix0KT9uOm51bGwhPT1sSi5jdXJyZW50PyhuQShlPW9sKGUsbixyKSx0KXx8KG9VPSEwKSxlKTowPT0oNDImYWwpfHwwIT0oMHg0MDAwMDAwMCZhbCkmJjA9PSgyNjE5MzAmdV8pPyhvVT0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSx0KX1mdW5jdGlvbiBvbyhlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb3koZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3YoZSx0LGQsdTQoZSkpfWVsc2Ugb3YoZSx0LHIsdTQoZSkpfWNhdGNoKG4pe292KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU0KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb2koKXt9ZnVuY3Rpb24gb3UoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b3MoZSkucXVldWU7b28oZSxsLHQsSyxudWxsPT09bj9vaTpmdW5jdGlvbigpe3JldHVybiBvYyhlKSxuKHIpfSl9ZnVuY3Rpb24gb3MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvYyhlKXt2YXIgdD1vcyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxvdihlLHQubmV4dC5xdWV1ZSx7fSx1NCgpKX1mdW5jdGlvbiBvZigpe3JldHVybiBsdChmdil9ZnVuY3Rpb24gb2QoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9wKCl7cmV0dXJuIGFfKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvbShlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU0KCkscj1sJCh0LGU9bEgobiksbik7bnVsbCE9PXImJih1NihyLHQsbiksbFEocix0LG4pKSx0PXtjYWNoZTpsdSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2goZSx0LG4pe3ZhciByPXU0KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvYihlKT9vdyh0LG4pOm51bGwhPT0obj1yZihlLHQsbixyKSkmJih1NihuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvZyhlLHQsbil7b3YoZSx0LG4sdTQoKSl9ZnVuY3Rpb24gb3YoZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob2IoZSkpb3codCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5BKGksbykpcmV0dXJuIHJjKGUsdCxsLDApLG51bGw9PT11RSYmcnMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJmKGUsdCxsLHIpKSlyZXR1cm4gdTYobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBveShlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzJCgpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG9iKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmYoZSxuLHIsMikpJiZ1Nih0LGUsMil9ZnVuY3Rpb24gb2IoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hYXx8bnVsbCE9PXQmJnQ9PT1hYX1mdW5jdGlvbiBvdyhlLHQpe2FzPWF1PSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb1M9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazphaCx1c2VDb250ZXh0OmFoLHVzZUVmZmVjdDphaCx1c2VJbXBlcmF0aXZlSGFuZGxlOmFoLHVzZUxheW91dEVmZmVjdDphaCx1c2VJbnNlcnRpb25FZmZlY3Q6YWgsdXNlTWVtbzphaCx1c2VSZWR1Y2VyOmFoLHVzZVJlZjphaCx1c2VTdGF0ZTphaCx1c2VEZWJ1Z1ZhbHVlOmFoLHVzZURlZmVycmVkVmFsdWU6YWgsdXNlVHJhbnNpdGlvbjphaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphaCx1c2VJZDphaCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphaCx1c2VGb3JtU3RhdGU6YWgsdXNlQWN0aW9uU3RhdGU6YWgsdXNlT3B0aW1pc3RpYzphaCx1c2VNZW1vQ2FjaGU6YWgsdXNlQ2FjaGVSZWZyZXNoOmFofTtvUy51c2VFZmZlY3RFdmVudD1haDt2YXIgb0U9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6bHQsdXNlRWZmZWN0OmE0LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTIoNDE5NDMwOCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYTIoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe2EyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49YXgoKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPWUoKTtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPVtyLHRdLHJ9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWF4KCk7aWYodm9pZCAwIT09bil2YXIgbD1uKHQpO2Vsc2UgbD10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bCxyLnF1ZXVlPWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOmx9LGU9ZS5kaXNwYXRjaD1vaC5iaW5kKG51bGwsYWEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9e2N1cnJlbnQ6ZX19LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PShlPWFVKGUpKS5xdWV1ZSxuPW9nLmJpbmQobnVsbCxhYSx0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbChheCgpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hVSghMSk7cmV0dXJuIGU9b28uYmluZChudWxsLGFhLGUucXVldWUsITAsITEpLGF4KCkubWVtb2l6ZWRTdGF0ZT1lLFshMSxlXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFhLGw9YXgoKTtpZihyJCl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXVFKXRocm93IEVycm9yKHUoMzQ5KSk7MCE9KDEyNyZ1Xyl8fGFJKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1hLGE0KGFGLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhRC5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1heCgpLHQ9dUUuaWRlbnRpZmllclByZWZpeDtpZihyJCl7dmFyIG49ckQscj1ySTt0PSJfIit0KyJSXyIrKG49KHImfigxPDwzMi1lUChyKS0xKSkudG9TdHJpbmcoMzIpK24pLDA8KG49YWYrKykmJih0Kz0iSCIrbi50b1N0cmluZygzMikpLHQrPSJfIn1lbHNlIHQ9Il8iK3QrInJfIisobj1hbSsrKS50b1N0cmluZygzMikrIl8iO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFYLHVzZUFjdGlvblN0YXRlOmFYLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PW95LmJpbmQobnVsbCxhYSwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTphVCx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gYXgoKS5tZW1vaXplZFN0YXRlPW9tLmJpbmQobnVsbCxhYSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWF4KCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZigwIT0oMiZ1UykpdGhyb3cgRXJyb3IodSg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LG94PXtyZWFkQ29udGV4dDpsdCx1c2U6YUMsdXNlQ2FsbGJhY2s6b24sdXNlQ29udGV4dDpsdCx1c2VFZmZlY3Q6YTgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvZSx1c2VJbnNlcnRpb25FZmZlY3Q6YTYsdXNlTGF5b3V0RWZmZWN0OmE5LHVzZU1lbW86b3IsdXNlUmVkdWNlcjpheix1c2VSZWY6YTEsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYXooYU8pfSx1c2VEZWJ1Z1ZhbHVlOm90LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2EoYV8oKSxhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1heihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFHLHVzZUFjdGlvblN0YXRlOmFHLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYUIoYV8oKSxhbyxlLHQpfSx1c2VNZW1vQ2FjaGU6YVQsdXNlQ2FjaGVSZWZyZXNoOm9wfTtveC51c2VFZmZlY3RFdmVudD1hNTt2YXIgb189e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpvbix1c2VDb250ZXh0Omx0LHVzZUVmZmVjdDphOCx1c2VJbXBlcmF0aXZlSGFuZGxlOm9lLHVzZUluc2VydGlvbkVmZmVjdDphNix1c2VMYXlvdXRFZmZlY3Q6YTksdXNlTWVtbzpvcix1c2VSZWR1Y2VyOmFSLHVzZVJlZjphMSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhUihhTyl9LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWFfKCk7cmV0dXJuIG51bGw9PT1hbz9vbChuLGUsdCk6b2Eobixhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hUihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFaLHVzZUFjdGlvblN0YXRlOmFaLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hXygpO3JldHVybiBudWxsIT09YW8/YUIobixhbyxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOmFULHVzZUNhY2hlUmVmcmVzaDpvcH07ZnVuY3Rpb24gb1AoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Ongoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfW9fLnVzZUVmZmVjdEV2ZW50PWE1O3ZhciBvTj17ZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bCQoZSxsLHIpKSYmKHU2KHQsZSxyKSxsUSh0LGUscikpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnRhZz0xLGwucGF5bG9hZD10LG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0odD1sJChlLGwscikpJiYodTYodCxlLHIpLGxRKHQsZSxyKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49dTQoKSxyPWxIKG4pO3IudGFnPTIsbnVsbCE9dCYmKHIuY2FsbGJhY2s9dCksbnVsbCE9PSh0PWwkKGUscixuKSkmJih1Nih0LGUsbiksbFEodCxlLG4pKX19O2Z1bmN0aW9uIG9DKGUsdCxuLHIsbCxhLG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLG8pOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhbmoobixyKXx8IW5qKGwsYSl9ZnVuY3Rpb24gb1QoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJm9OLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIG9PKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpZm9yKHZhciByIGluIG49e30sdCkicmVmIiE9PXImJihuW3JdPXRbcl0pO2lmKGU9ZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBsIGluIG49PT10JiYobj14KHt9LG4pKSxlKXZvaWQgMD09PW5bbF0mJihuW2xdPWVbbF0pO3JldHVybiBufWZ1bmN0aW9uIG96KGUpe3JhKGUpfWZ1bmN0aW9uIG9MKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gb1IoZSl7cmEoZSl9ZnVuY3Rpb24gb00oZSx0KXt0cnl7KDAsZS5vblVuY2F1Z2h0RXJyb3IpKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBvSShlLHQsbil7dHJ5eygwLGUub25DYXVnaHRFcnJvcikobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OjE9PT10LnRhZz90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3JldHVybihuPWxIKG4pKS50YWc9MyxuLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sbi5jYWxsYmFjaz1mdW5jdGlvbigpe29NKGUsdCl9LG59ZnVuY3Rpb24gb0YoZSl7cmV0dXJuKGU9bEgoZSkpLnRhZz0zLGV9ZnVuY3Rpb24gb0EoZSx0LG4scil7dmFyIGw9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7dmFyIGE9ci52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbChhKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKX19dmFyIG89bi5zdGF0ZU5vZGU7bnVsbCE9PW8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKSwiZnVuY3Rpb24iIT10eXBlb2YgbCYmKG51bGw9PT11UT91UT1uZXcgU2V0KFt0aGlzXSk6dVEuYWRkKHRoaXMpKTt2YXIgZT1yLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goci52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWU/ZToiIn0pfSl9dmFyIG9qPUVycm9yKHUoNDYxKSksb1U9ITE7ZnVuY3Rpb24gb0IoZSx0LG4scil7dC5jaGlsZD1udWxsPT09ZT9saih0LG51bGwsbixyKTpsQSh0LGUuY2hpbGQsbixyKX1mdW5jdGlvbiBvVihlLHQsbixyLGwpe249bi5yZW5kZXI7dmFyIGE9dC5yZWY7aWYoInJlZiJpbiByKXt2YXIgbz17fTtmb3IodmFyIGkgaW4gcikicmVmIiE9PWkmJihvW2ldPXJbaV0pfWVsc2Ugbz1yO3JldHVybihsZSh0KSxyPWF2KGUsdCxuLG8sYSxsKSxpPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJmkmJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbCksdC5jaGlsZCk6KGFTKGUsdCxsKSxpbChlLHQsbCkpfWZ1bmN0aW9uIG9IKGUsdCxuLHIsbCl7aWYobnVsbD09PWUpe3ZhciBhPW4udHlwZTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgYXx8cnkoYSl8fHZvaWQgMCE9PWEuZGVmYXVsdFByb3BzfHxudWxsIT09bi5jb21wYXJlPygoZT1yayhuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGwpKS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWUpOih0LnRhZz0xNSx0LnR5cGU9YSxvJChlLHQsYSxyLGwpKX1pZihhPWUuY2hpbGQsIWlhKGUsbCkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZigobj1udWxsIT09KG49bi5jb21wYXJlKT9uOm5qKShvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBpbChlLHQsbCl9cmV0dXJuIHQuZmxhZ3N8PTEsKGU9cmIoYSxyKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIG8kKGUsdCxuLHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihuaihhLHIpJiZlLnJlZj09PXQucmVmKWlmKG9VPSExLHQucGVuZGluZ1Byb3BzPXI9YSwhaWEoZSxsKSlyZXR1cm4gdC5sYW5lcz1lLmxhbmVzLGlsKGUsdCxsKTtlbHNlIDAhPSgxMzEwNzImZS5mbGFncykmJihvVT0hMCl9cmV0dXJuIG9ZKGUsdCxuLHIsbCl9ZnVuY3Rpb24gb1EoZSx0LG4scil7dmFyIGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG51bGw9PT1lJiZudWxsPT09dC5zdGF0ZU5vZGUmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksImhpZGRlbiI9PT1yLm1vZGUpe2lmKDAhPSgxMjgmdC5mbGFncykpe2lmKGE9bnVsbCE9PWE/YS5iYXNlTGFuZXN8bjpuLG51bGwhPT1lKXtmb3IobD0wLHI9dC5jaGlsZD1lLmNoaWxkO251bGwhPT1yOylsPWx8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1sJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gb3EoZSx0LGEsbixyKX1pZigwPT0oMHgyMDAwMDAwMCZuKSlyZXR1cm4gcj10LmxhbmVzPTB4MjAwMDAwMDAsb3EoZSx0LG51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixuLHIpO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG51bGwhPT1lJiZsdyh0LG51bGwhPT1hP2EuY2FjaGVQb29sOm51bGwpLG51bGwhPT1hP2wwKHQsYSk6bDEoKSxsNih0KX1lbHNlIG51bGwhPT1hPyhsdyh0LGEuY2FjaGVQb29sKSxsMCh0LGEpLGw5KCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw5KCkpO3JldHVybiBvQihlLHQsbCxuKSx0LmNoaWxkfWZ1bmN0aW9uIG9XKGUsdCl7cmV0dXJuIG51bGwhPT1lJiYyMj09PWUudGFnfHxudWxsIT09dC5zdGF0ZU5vZGV8fCh0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksdC5zaWJsaW5nfWZ1bmN0aW9uIG9xKGUsdCxuLHIsbCl7dmFyIGE9bGIoKTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6bixjYWNoZVBvb2w6YT1udWxsPT09YT9udWxsOntwYXJlbnQ6bGkuX2N1cnJlbnRWYWx1ZSxwb29sOmF9fSxudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw2KHQpLG51bGwhPT1lJiZyOShlLHQsciwhMCksdC5jaGlsZExhbmVzPWwsbnVsbH1mdW5jdGlvbiBvSyhlLHQpe3JldHVybih0PW81KHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpKS5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBvWChlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9b0sodCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixsNyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG9HKGUsdCl7dmFyIG49dC5yZWY7aWYobnVsbD09PW4pbnVsbCE9PWUmJm51bGwhPT1lLnJlZiYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJiJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBFcnJvcih1KDI4NCkpOyhudWxsPT09ZXx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBvWShlLHQsbixyLGwpe3JldHVybihsZSh0KSxuPWF2KGUsdCxuLHIsdm9pZCAwLGwpLHI9YWsoKSxudWxsPT09ZXx8b1UpPyhyJCYmciYmcmoodCksdC5mbGFnc3w9MSxvQihlLHQsbixsKSx0LmNoaWxkKTooYVMoZSx0LGwpLGlsKGUsdCxsKSl9ZnVuY3Rpb24gb0ooZSx0LG4scixsLGEpe3JldHVybihsZSh0KSx0LnVwZGF0ZVF1ZXVlPW51bGwsbj1hYih0LHIsbixsKSxheShlKSxyPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJnImJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LG4sYSksdC5jaGlsZCk6KGFTKGUsdCxhKSxpbChlLHQsYSkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCl7aWYobGUodCksbnVsbD09PXQuc3RhdGVOb2RlKXt2YXIgYT1yaCxvPW4uY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmKGE9bHQobykpLHQubWVtb2l6ZWRTdGF0ZT1udWxsIT09KGE9bmV3IG4ocixhKSkuc3RhdGUmJnZvaWQgMCE9PWEuc3RhdGU/YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1vTix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsKGE9dC5zdGF0ZU5vZGUpLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LGxCKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09bz9sdChvKTpyaCxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Yobz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihvUCh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwobz1hLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmb04uZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksbFgodCxyLGEsbCksbEsoKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYobnVsbD09PWUpe2E9dC5zdGF0ZU5vZGU7dmFyIGk9dC5tZW1vaXplZFByb3BzLHU9b08obixpKTthLnByb3BzPXU7dmFyIHM9YS5jb250ZXh0LGM9bi5jb250ZXh0VHlwZTtvPXJoLCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJihvPWx0KGMpKTt2YXIgZj1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztjPSJmdW5jdGlvbiI9PXR5cGVvZiBmfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSxpPXQucGVuZGluZ1Byb3BzIT09aSxjfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KGl8fHMhPT1vKSYmb1QodCxhLHIsbyksbFU9ITE7dmFyIGQ9dC5tZW1vaXplZFN0YXRlO2Euc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpLHM9dC5tZW1vaXplZFN0YXRlLGl8fGQhPT1zfHxsVT8oImZ1bmN0aW9uIj09dHlwZW9mIGYmJihvUCh0LG4sZixyKSxzPXQubWVtb2l6ZWRTdGF0ZSksKHU9bFV8fG9DKHQsbix1LHIsZCxzLG8pKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9cyksYS5wcm9wcz1yLGEuc3RhdGU9cyxhLmNvbnRleHQ9byxyPXUpOigiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7YT10LnN0YXRlTm9kZSxsVihlLHQpLGM9b08obixvPXQubWVtb2l6ZWRQcm9wcyksYS5wcm9wcz1jLGY9dC5wZW5kaW5nUHJvcHMsZD1hLmNvbnRleHQscz1uLmNvbnRleHRUeXBlLHU9cmgsIm9iamVjdCI9PXR5cGVvZiBzJiZudWxsIT09cyYmKHU9bHQocykpLChzPSJmdW5jdGlvbiI9PXR5cGVvZihpPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09dSkmJm9UKHQsYSxyLHUpLGxVPSExLGQ9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PXB8fGxVfHxudWxsIT09ZSYmbnVsbCE9PWUuZGVwZW5kZW5jaWVzJiZyNyhlLmRlcGVuZGVuY2llcyk/KCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYob1AodCxuLGkscikscD10Lm1lbW9pemVkU3RhdGUpLChjPWxVfHxvQyh0LG4sYyxyLGQscCx1KXx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmcjcoZS5kZXBlbmRlbmNpZXMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLHUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PXUscj1jKTooImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLG9HKGUsdCkscj0wIT0oMTI4JnQuZmxhZ3MpLGF8fHI/KGE9dC5zdGF0ZU5vZGUsbj1yJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsbnVsbCE9PWUmJnI/KHQuY2hpbGQ9bEEodCxlLmNoaWxkLG51bGwsbCksdC5jaGlsZD1sQSh0LG51bGwsbixsKSk6b0IoZSx0LG4sbCksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPWlsKGUsdCxsKSxlfWZ1bmN0aW9uIG8wKGUsdCxuLHIpe3JldHVybiBySigpLHQuZmxhZ3N8PTI1NixvQihlLHQsbixyKSx0LmNoaWxkfXZhciBvMT17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIG8yKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bGsoKX19ZnVuY3Rpb24gbzMoZSx0LG4pe3JldHVybiBlPW51bGwhPT1lP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD11RCksZX1mdW5jdGlvbiBvNChlLHQsbil7dmFyIHIsbD10LnBlbmRpbmdQcm9wcyxhPSExLG89MCE9KDEyOCZ0LmZsYWdzKTtpZigocj1vKXx8KHI9KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImYWUuY3VycmVudCkpLHImJihhPSEwLHQuZmxhZ3MmPS0xMjkpLHI9MCE9KDMyJnQuZmxhZ3MpLHQuZmxhZ3MmPS0zMyxudWxsPT09ZSl7aWYociQpe2lmKGE/bDgodCk6bDkoKSwoZT1ySCk/bnVsbCE9PShlPW51bGwhPT0oZT1jVihlLHJXKSkmJiImIiE9PWUuZGF0YT9lOm51bGwpJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6bnVsbCE9PXJNP3tpZDpySSxvdmVyZmxvdzpyRH06bnVsbCxyZXRyeUxhbmU6MHgyMDAwMDAwMCxoeWRyYXRpb25FcnJvcnM6bnVsbH0sKG49cngoZSkpLnJldHVybj10LHQuY2hpbGQ9bixyVj10LHJIPW51bGwpOmU9bnVsbCxudWxsPT09ZSl0aHJvdyBySyh0KTtyZXR1cm4gYyQoZSk/dC5sYW5lcz0zMjp0LmxhbmVzPTB4MjAwMDAwMDAsbnVsbH12YXIgaT1sLmNoaWxkcmVuO3JldHVybihsPWwuZmFsbGJhY2ssYSk/KGw5KCksaT1vNSh7bW9kZToiaGlkZGVuIixjaGlsZHJlbjppfSxhPXQubW9kZSksbD1yUyhsLGEsbixudWxsKSxpLnJldHVybj10LGwucmV0dXJuPXQsaS5zaWJsaW5nPWwsdC5jaGlsZD1pLChsPXQuY2hpbGQpLm1lbW9pemVkU3RhdGU9bzIobiksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1cobnVsbCxsKSk6KGw4KHQpLG84KHQsaSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cyYmbnVsbCE9PShpPXMuZGVoeWRyYXRlZCkpe2lmKG8pMjU2JnQuZmxhZ3M/KGw4KHQpLHQuZmxhZ3MmPS0yNTcsdD1vNihlLHQsbikpOm51bGwhPT10Lm1lbW9pemVkU3RhdGU/KGw5KCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCx0PW51bGwpOihsOSgpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxsPW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSxhKSxpPXJTKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIsbC5yZXR1cm49dCxpLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxsQSh0LGUuY2hpbGQsbnVsbCxuKSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8yKG4pLGwuY2hpbGRMYW5lcz1vMyhlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8xLHQ9b1cobnVsbCxsKSk7ZWxzZSBpZihsOCh0KSxjJChpKSl7aWYocj1pLm5leHRTaWJsaW5nJiZpLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGM9ci5kZ3N0O3I9YywobD1FcnJvcih1KDQxOSkpKS5zdGFjaz0iIixsLmRpZ2VzdD1yLHIwKHt2YWx1ZTpsLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PW82KGUsdCxuKX1lbHNlIGlmKG9VfHxyOShlLHQsbiwhMSkscj0wIT0obiZlLmNoaWxkTGFuZXMpLG9VfHxyKXtpZihudWxsIT09KHI9dUUpJiYwIT09KGw9ZVUocixuKSkmJmwhPT1zLnJldHJ5TGFuZSl0aHJvdyBzLnJldHJ5TGFuZT1sLHJkKGUsbCksdTYocixlLGwpLG9qO2NIKGkpfHxzdSgpLHQ9bzYoZSx0LG4pfWVsc2UgY0goaSk/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1zLnRyZWVDb250ZXh0LHJIPWNRKGkubmV4dFNpYmxpbmcpLHJWPXQsciQ9ITAsclE9bnVsbCxyVz0hMSxudWxsIT09ZSYmckIodCxlKSx0PW84KHQsbC5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGE/KGw5KCksaT1sLmZhbGxiYWNrLGE9dC5tb2RlLGM9KHM9ZS5jaGlsZCkuc2libGluZywobD1yYihzLHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmwuY2hpbGRyZW59KSkuc3VidHJlZUZsYWdzPTB4N2UwMDAwMCZzLnN1YnRyZWVGbGFncyxudWxsIT09Yz9pPXJiKGMsaSk6KGk9clMoaSxhLG4sbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxsLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxvVyhudWxsLGwpLGw9dC5jaGlsZCxudWxsPT09KGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT9pPW8yKG4pOihudWxsIT09KGE9aS5jYWNoZVBvb2wpPyhzPWxpLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudCE9PXM/e3BhcmVudDpzLHBvb2w6c306YSk6YT1saygpLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksbC5tZW1vaXplZFN0YXRlPWksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1coZS5jaGlsZCxsKSk6KGw4KHQpLGU9KG49ZS5jaGlsZCkuc2libGluZywobj1yYihuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnJldHVybj10LG4uc2libGluZz1udWxsLG51bGwhPT1lJiYobnVsbD09PShyPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpyLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBvOChlLHQpe3JldHVybih0PW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUpKS5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4oZT1ydigyMixlLG51bGwsdCkpLmxhbmVzPTAsZX1mdW5jdGlvbiBvNihlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9bzgodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG85KGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9dCkscjUoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBvNyhlKXtmb3IodmFyIHQ9bnVsbDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZudWxsPT09YXIobikmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGllKGUsdCxuLHIsbCxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bnVsbD09PW8/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6bCx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9bCxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gaXQoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO251bGwhPT10Oyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIGlyKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPWFlLmN1cnJlbnQ7aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGF0KHQsbyksbnVsbDt2YXIgaT0wIT0oMiZvKTtpZihpPyhvPTEmb3wyLHQuZmxhZ3N8PTEyOCk6byY9MSxhdCh0LG8pLCJiYWNrd2FyZHMiPT09bCYmbnVsbCE9PWU/KGl0KGUpLG9CKGUsdCxyLG4pLGl0KGUpKTpvQihlLHQscixuKSxyPXIkP3J6OjAsIWkmJm51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWU6Zm9yKGU9dC5jaGlsZDtudWxsIT09ZTspe2lmKDEzPT09ZS50YWcpbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbzkoZSxuLHQpO2Vsc2UgaWYoMTk9PT1lLnRhZylvOShlLG4sdCk7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGwpe2Nhc2UiYmFja3dhcmRzIjpudWxsPT09KG49bzcodC5jaGlsZCkpPyhsPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobD1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsaXQodCkpLGllKHQsITAsbCxudWxsLGEscik7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3Iobj1udWxsLGw9dC5jaGlsZCx0LmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09YXIoZSkpe3QuY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9bixuPWwsbD1lfWllKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZSJ0b2dldGhlciI6aWUodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bnVsbD09PShuPW83KHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxpZSh0LCExLGwsbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGlsKGUsdCxuKXtpZihudWxsIT09ZSYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSx1Unw9dC5sYW5lcywwPT0obiZ0LmNoaWxkTGFuZXMpKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtlbHNlIGlmKHI5KGUsdCxuLCExKSwwPT0obiZ0LmNoaWxkTGFuZXMpKXJldHVybiBudWxsfWlmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcih1KDE1MykpO2lmKG51bGwhPT10LmNoaWxkKXtmb3Iobj1yYihlPXQuY2hpbGQsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLChuPW4uc2libGluZz1yYihlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gaWEoZSx0KXtyZXR1cm4gMCE9KGUubGFuZXMmdCl8fCEhKG51bGwhPT0oZT1lLmRlcGVuZGVuY2llcykmJnI3KGUpKX1mdW5jdGlvbiBpbyhlLHQsbil7aWYobnVsbCE9PWUpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHMpb1U9ITA7ZWxzZXtpZighaWEoZSxuKSYmMD09KDEyOCZ0LmZsYWdzKSlyZXR1cm4gb1U9ITEsZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJKKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6ZW8odCk7YnJlYWs7Y2FzZSA0OmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpyNCh0LHQudHlwZSx0Lm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gdC5mbGFnc3w9MTI4LGw1KHQpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXIpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIGw4KHQpLHQuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPShuJnQuY2hpbGQuY2hpbGRMYW5lcykpcmV0dXJuIG80KGUsdCxuKTtyZXR1cm4gbDgodCksbnVsbCE9PShlPWlsKGUsdCxuKSk/ZS5zaWJsaW5nOm51bGx9bDgodCk7YnJlYWs7Y2FzZSAxOTppZigxMjgmdC5mbGFncylyZXR1cm4gaXIoZSx0LG4pO3ZhciBsPTAhPSgxMjgmZS5mbGFncyk7aWYoKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyOShlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpcihlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYXQodCxhZS5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbChlLHQsbil9KGUsdCxuKTtvVT0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb1U9ITEsciQmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyQSh0LHJ6LHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sQyh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyeShlKT8ocj1vTyhlLHIpLHQudGFnPTEsdD1vWihudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9ZKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vVihudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9b0gobnVsbCx0LGUscixuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb1koZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b08ocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG9aKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsVihlLHQpLGxYKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNCh0LGxpLHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSxsSygpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMChlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IwKGw9ck4oRXJyb3IodSg0MjQpKSx0KSksdD1vMChlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHJIPWNRKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxyVj10LHIkPSEwLHJRPW51bGwsclc9ITAsbj1saih0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihySigpLHI9PT1sKXt0PWlsKGUsdCxuKTticmVhayBlfW9CKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWMzKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyJHx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3UoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjbChyLG4sZSksZTgociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWMzKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyJCYmKHI9dC5zdGF0ZU5vZGU9Y1godC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJWPXQsclc9ITAsbD1ySCxjeSh0LnR5cGUpPyhjVz1sLHJIPWNRKHIuZmlyc3RDaGlsZCkpOnJIPWwpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyJCYmKChsPXI9ckgpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9cixyVj10LHJIPWNRKHIuZmlyc3RDaGlsZCksclc9ITEsbD0hMCk6bD0hMSksbHx8cksodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2YobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNmKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ2Ll9jdXJyZW50VmFsdWU9bD1hdihlLHQsYXcsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmciQmJigoZT1uPXJIKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jUShlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9bixyVj10LHJIPW51bGwsZT0hMCk6ZT0hMSksZXx8cksodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzQoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bEEodCxudWxsLHIsbik6b0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvVihlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIHI9dC5wZW5kaW5nUHJvcHMscjQodCx0LnR5cGUsci52YWx1ZSksb0IoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbGUodCkscj1yKGw9bHQobCkpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG8kKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaXIoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHIkKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vSyhzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvVyhudWxsLGkpO2lmKGw1KHMpLChpPXJIKT9udWxsIT09KGk9bnVsbCE9PShpPWNWKGksclcpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ck0/e2lkOnJJLG92ZXJmbG93OnJEfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJWPXMsckg9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJLKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb0socyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsNShzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWChpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9VfHxyOShpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9VfHxkKXtpZihudWxsIT09KGY9dUUpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJkKGksbSksdTYoZixpLG0pLG9qO3N1KCkscz1vWChpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsckg9Y1EobS5uZXh0U2libGluZyksclY9cyxyJD0hMCxyUT1udWxsLHJXPSExLG51bGwhPT1pJiZyQihzLGkpLHM9b0socyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJiKGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGxlKHQpLHI9bHQobGkpLG51bGw9PT1lPyhudWxsPT09KGw9bGIoKSkmJihsPXVFLGE9bHUoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbEIodCkscjQodCxsaSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobFYoZSx0KSxsWCh0LG51bGwsbnVsbCxuKSxsSygpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI0KHQsbGkscikpOihyNCh0LGxpLHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSkpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGwhPShyPXQucGVuZGluZ1Byb3BzKS5uYW1lJiYiYXV0byIhPT1yLm5hbWU/dC5mbGFnc3w9bnVsbD09PWU/MHgxMjAyMDAwOjB4MTIwMDAwMDpyJCYmcmoodCksbnVsbCE9PWUmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6b0coZSx0KSxvQihlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBpaShlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbCl7dmFyIGE7aWYoKGE9MCE9KDMyJmUubW9kZSkpJiYoYT1udWxsPT09bj9mbyh0LHIpOmZvKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MHgxMDAwMDAwLCgweDEzZmZmZjQwJmwpPT09bClpZihlLnN0YXRlTm9kZS5jb21wbGV0ZSllLmZsYWdzfD04MTkyO2Vsc2UgaWYoc2EoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbFQ9bF8sbEV9ZWxzZSBlLmZsYWdzJj0tMHgxMDAwMDAxfWZ1bmN0aW9uIGlzKGUsdCl7aWYoInN0eWxlc2hlZXQiIT09dC50eXBlfHwwIT0oNCZ0LnN0YXRlLmxvYWRpbmcpKWUuZmxhZ3MmPS0weDEwMDAwMDE7ZWxzZSBpZihlLmZsYWdzfD0weDEwMDAwMDAsIWZpKHQpKWlmKHNhKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGxUPWxfLGxFfWZ1bmN0aW9uIGljKGUsdCl7bnVsbCE9PXQmJihlLmZsYWdzfD00KSwxNjM4NCZlLmZsYWdzJiYodD0yMiE9PWUudGFnP2VJKCk6MHgyMDAwMDAwMCxlLmxhbmVzfD10LHVGfD10KX1mdW5jdGlvbiBpZChlLHQpe2lmKCFyJClzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJ2aXNpYmxlIjpicmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKG49bnVsbCx0PWUudGFpbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gaXAoZSl7dmFyIHQ9bnVsbCE9PWUuYWx0ZXJuYXRlJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgbD1lLmNoaWxkO251bGwhPT1sOylufD1sLmxhbmVzfGwuY2hpbGRMYW5lcyxyfD0weDdlMDAwMDAmbC5zdWJ0cmVlRmxhZ3Mscnw9MHg3ZTAwMDAwJmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBpbShlLHQpe3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAzOnI4KGxpKSxlYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZWkodCk7YnJlYWs7Y2FzZSA0OmVhKCk7YnJlYWs7Y2FzZSAzMTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiZsNyh0KTticmVhaztjYXNlIDEzOmw3KHQpO2JyZWFrO2Nhc2UgMTk6YW4odCk7YnJlYWs7Y2FzZSAxMDpyOCh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpsNyh0KSxsMigpLG51bGwhPT1lJiZKKGx5KTticmVhaztjYXNlIDI0OnI4KGxpKX19ZnVuY3Rpb24gaWgoZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW51bGwhPT1uP24ubGFzdEVmZmVjdDpudWxsO2lmKG51bGwhPT1yKXt2YXIgbD1yLm5leHQ7bj1sO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlO24uaW5zdC5kZXN0cm95PXI9YSgpfW49bi5uZXh0fXdoaWxlKG4hPT1sKX19Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19ZnVuY3Rpb24gaWcoZSx0LG4pe3RyeXt2YXIgcj10LnVwZGF0ZVF1ZXVlLGw9bnVsbCE9PXI/ci5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWwpe3ZhciBhPWwubmV4dDtyPWE7ZG97aWYoKHIudGFnJmUpPT09ZSl7dmFyIG89ci5pbnN0LGk9by5kZXN0cm95O2lmKHZvaWQgMCE9PWkpe28uZGVzdHJveT12b2lkIDAsbD10O3RyeXtpKCl9Y2F0Y2goZSl7c18obCxuLGUpfX19cj1yLm5leHR9d2hpbGUociE9PWEpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpdihlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10KXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7bFkodCxuKX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX19ZnVuY3Rpb24gaXkoZSx0LG4pe24ucHJvcHM9b08oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyksbi5zdGF0ZT1lLm1lbW9pemVkU3RhdGU7dHJ5e24uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtzXyhlLHQsbil9fWZ1bmN0aW9uIGliKGUsdCl7dHJ5e3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6dmFyIHI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAzMDp2YXIgbD1lLnN0YXRlTm9kZSxhPXJuKGUubWVtb2l6ZWRQcm9wcyxsKTsobnVsbD09PWwucmVmfHxsLnJlZi5uYW1lIT09YSkmJihsLnJlZj1jQyhhKSkscj1sLnJlZjticmVhaztjYXNlIDc6bnVsbD09PWUuc3RhdGVOb2RlJiYoZS5zdGF0ZU5vZGU9bmV3IGNUKGUpKSxyPWUuc3RhdGVOb2RlO2JyZWFrO2RlZmF1bHQ6cj1lLnN0YXRlTm9kZX0iZnVuY3Rpb24iPT10eXBlb2Ygbj9lLnJlZkNsZWFudXA9bihyKTpuLmN1cnJlbnQ9cn19Y2F0Y2gobil7c18oZSx0LG4pfX1mdW5jdGlvbiBpdyhlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG51bGwhPT1uKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXRyeXtyKCl9Y2F0Y2gobil7c18oZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsbnVsbCE9KGU9ZS5hbHRlcm5hdGUpJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pdHJ5e24obnVsbCl9Y2F0Y2gobil7c18oZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gaWsoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e3N3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZyLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpUyhlLHQsbil7dHJ5e3ZhciByPWUuc3RhdGVOb2RlOyhmdW5jdGlvbihlLHQsbixyKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbnB1dCI6dmFyIGw9bnVsbCxhPW51bGwsbz1udWxsLGk9bnVsbCxzPW51bGwsYz1udWxsLGY9bnVsbDtmb3IobSBpbiBuKXt2YXIgZD1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJm51bGwhPWQpc3dpdGNoKG0pe2Nhc2UiY2hlY2tlZCI6Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9ZDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGNuKGUsdCxtLG51bGwscixkKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZD1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihudWxsIT1tfHxudWxsIT1kKSlzd2l0Y2gocCl7Y2FzZSJ0eXBlIjptIT09ZCYmKHRyPSEwKSxhPW07YnJlYWs7Y2FzZSJuYW1lIjptIT09ZCYmKHRyPSEwKSxsPW07YnJlYWs7Y2FzZSJjaGVja2VkIjptIT09ZCYmKHRyPSEwKSxjPW07YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bSE9PWQmJih0cj0hMCksZj1tO2JyZWFrO2Nhc2UidmFsdWUiOm0hPT1kJiYodHI9ITApLG89bTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bSE9PWQmJih0cj0hMCksaT1tO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPW0pdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWQmJmNuKGUsdCxwLG0scixkKX19dGgoZSxvLGkscyxjLGYsYSxsKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIG09bz1pPXA9bnVsbCxuKWlmKHM9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT1zKXN3aXRjaChhKXtjYXNlInZhbHVlIjpicmVhaztjYXNlIm11bHRpcGxlIjptPXM7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxjbihlLHQsYSxudWxsLHIscyl9Zm9yKGwgaW4gcilpZihhPXJbbF0scz1uW2xdLHIuaGFzT3duUHJvcGVydHkobCkmJihudWxsIT1hfHxudWxsIT1zKSlzd2l0Y2gobCl7Y2FzZSJ2YWx1ZSI6YSE9PXMmJih0cj0hMCkscD1hO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphIT09cyYmKHRyPSEwKSxpPWE7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YSE9PXMmJih0cj0hMCksbz1hO2RlZmF1bHQ6YSE9PXMmJmNuKGUsdCxsLGEscixzKX10PWksbj1vLHI9bSxudWxsIT1wP3R5KGUsISFuLHAsITEpOiEhciE9ISFuJiYobnVsbCE9dD90eShlLCEhbix0LCEwKTp0eShlLCEhbixuP1tdOiIiLCExKSk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihpIGluIG09cD1udWxsLG4paWYobD1uW2ldLG4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPWwmJiFyLmhhc093blByb3BlcnR5KGkpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpjYXNlImNoaWxkcmVuIjpicmVhaztkZWZhdWx0OmNuKGUsdCxpLG51bGwscixsKX1mb3IobyBpbiByKWlmKGw9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKG51bGwhPWx8fG51bGwhPWEpKXN3aXRjaChvKXtjYXNlInZhbHVlIjpsIT09YSYmKHRyPSEwKSxwPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmwhPT1hJiYodHI9ITApLG09bDticmVhaztjYXNlImNoaWxkcmVuIjpicmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1sKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmwhPT1hJiZjbihlLHQsbyxsLHIsYSl9dGIoZSxwLG0pO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHZhciBoIGluIG4pcD1uW2hdLG4uaGFzT3duUHJvcGVydHkoaCkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGgpJiYoInNlbGVjdGVkIj09PWg/ZS5zZWxlY3RlZD0hMTpjbihlLHQsaCxudWxsLHIscCkpO2ZvcihzIGluIHIpcD1yW3NdLG09bltzXSxyLmhhc093blByb3BlcnR5KHMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pJiYoInNlbGVjdGVkIj09PXM/KHAhPT1tJiYodHI9ITApLGUuc2VsZWN0ZWQ9cCYmImZ1bmN0aW9uIiE9dHlwZW9mIHAmJiJzeW1ib2wiIT10eXBlb2YgcCk6Y24oZSx0LHMscCxyLG0pKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1wJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmY24oZSx0LGcsbnVsbCxyLHApO2ZvcihjIGluIHIpaWYocD1yW2NdLG09bltjXSxyLmhhc093blByb3BlcnR5KGMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1wKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmNuKGUsdCxjLHAscixtKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnZvaWQgMCE9PXAmJiFyLmhhc093blByb3BlcnR5KHYpJiZjcihlLHQsdix2b2lkIDAscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sci5oYXNPd25Qcm9wZXJ0eShmKSYmcCE9PW0mJih2b2lkIDAhPT1wfHx2b2lkIDAhPT1tKSYmY3IoZSx0LGYscCxyLG0pO3JldHVybn19Zm9yKHZhciB5IGluIG4pcD1uW3ldLG4uaGFzT3duUHJvcGVydHkoeSkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KHkpJiZjbihlLHQseSxudWxsLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLHIuaGFzT3duUHJvcGVydHkoZCkmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJmNuKGUsdCxkLHAscixtKX0pKHIsZS50eXBlLG4sdCkscltlcV09dH1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpRShlLHQpe2lmKDU9PT1lLnRhZyYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljVShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpeChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpUCh0KSl7dmFyIG49ZS5zdGF0ZU5vZGUscj10LnN0YXRlTm9kZS5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PXIpZm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBhPXJbbF07bi5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9fWlmKGlfKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlfKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY3koZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlQKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpTihlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpXyhlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmN5KGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlDKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGlFKGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY3koZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlDKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpQyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpVChlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NsKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19dmFyIGlPPSExLGl6PW51bGw7ZnVuY3Rpb24gaUwoZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlPPSEwKX12YXIgaVI9bnVsbDtmdW5jdGlvbiBpTSgpe3ZhciBlPWlSO3JldHVybiBpUj1udWxsLGV9dmFyIGlJPTA7ZnVuY3Rpb24gaUQoZSx0LG4scixsKXtyZXR1cm4gaUk9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lPPSEwLGNrKGksMD09PWlJP246bisiXyIraUksciksaUkrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlGKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NTKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aUYoZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaUEoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlBKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1ybCh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUQoZSxuLHQsbnVsbCwhMSl8fGlGKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaWooZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJuKHIsbiksYT1ybChyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lEKGUsbCxhLG51bGwsITEpPyhpQShlKSxuLnBhaXJlZHx8dHx8dTUoZSxyLm9uRW50ZXIpKTppRihlLmNoaWxkLCExKTppQShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlqKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpQShlKX1mdW5jdGlvbiBpVShlKXtpZihudWxsIT09aXomJjAhPT1pei5zaXplKXt2YXIgdD1pejtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJsKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUQoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1NShlLG4ub25TaGFyZSkpOmlGKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVUoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpQihlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ybih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pej9pei5nZXQobik6dm9pZCAwLGw9cmwodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpRChlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaXouZGVsZXRlKG4pLHU1KGUsdC5vblNoYXJlKSk6dTUoZSx0Lm9uRXhpdCk6aUYoZS5jaGlsZCwhMSkpLG51bGwhPT1peiYmaVUoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpQihlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1peiYmaVUoZSl9ZnVuY3Rpb24gaVYoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaUYoZS5jaGlsZCwhMSkpfWlWKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlGKGUuY2hpbGQsITEpLGlWKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaUgoZSksZT1lLnNpYmxpbmc7ZWxzZSBpVihlKX1mdW5jdGlvbiBpJChlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpSTxhLmxlbmd0aCl7dmFyIHMsYz1hW2lJXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pST9uOm4rIl8iK2lJLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlSJiYoaVI9W10pLGlSLnB1c2godSxyLHQubWVtb2l6ZWRQcm9wcykpLGlJKyt9ZWxzZSgyMiE9PXQudGFnfHxudWxsPT09dC5tZW1vaXplZFN0YXRlKSYmKDMwPT09dC50YWcmJm8/ZS5mbGFnc3w9MzImdC5mbGFnczppJChlLHQuY2hpbGQsbixyLGwsYSxvKSYmKGk9ITApKTt0PXQuc2libGluZ31yZXR1cm4gaX12YXIgaVE9ITEsaVc9ITEsaXE9ITEsaUs9ITEsaVg9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsaUc9bnVsbCxpWT0hMSxpSj0hMSxpWj0hMSxpMD0hMTtmdW5jdGlvbiBpMShlKXtmb3IoO251bGwhPT1pRzspe3ZhciB0PWlHLG49ZSxyPXQuYWx0ZXJuYXRlLGw9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWYoMCE9KDQmbCkmJm51bGwhPT0ocj1udWxsIT09KHI9dC51cGRhdGVRdWV1ZSk/ci5ldmVudHM6bnVsbCkpZm9yKG49MDtuPHIubGVuZ3RoO24rKykobD1yW25dKS5yZWYuaW1wbD1sLm5leHRJbXBsO2JyZWFrO2Nhc2UgMTppZigwIT0oMTAyNCZsKSYmbnVsbCE9PXIpe249dm9pZCAwLGw9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1vTyh0LnR5cGUsbCk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZigwIT0oMTAyNCZsKSl7aWYoOT09PShuPShyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLm5vZGVUeXBlKSljQihyKTtlbHNlIGlmKDE9PT1uKXN3aXRjaChyLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpjQihyKTticmVhaztkZWZhdWx0OnIudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMzA6biYmbnVsbCE9PXImJihuPXJuKHIubWVtb2l6ZWRQcm9wcyxyLnN0YXRlTm9kZSksIm5vbmUiIT09KGw9cmwoKGw9dC5tZW1vaXplZFByb3BzKS5kZWZhdWx0LGwudXBkYXRlKSkmJmlEKHIsbixsLHIubWVtb2l6ZWRTdGF0ZT1bXSwhMCkpO2JyZWFrO2RlZmF1bHQ6aWYoMCE9KDEwMjQmbCkpdGhyb3cgRXJyb3IodSgxNjMpKX1pZihudWxsIT09KHI9dC5zaWJsaW5nKSl7ci5yZXR1cm49dC5yZXR1cm4saUc9cjticmVha31pRz10LnJldHVybn19ZnVuY3Rpb24gaTIoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVpKGUsbiksNCZyJiZpaCg1LG4pO2JyZWFrO2Nhc2UgMTppZih1aShlLG4pLDQmcilpZihlPW4uc3RhdGVOb2RlLG51bGw9PT10KXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX1lbHNle3ZhciBsPW9PKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShsLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19NjQmciYmaXYobiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZih1aShlLG4pLDY0JnImJm51bGwhPT0oZT1uLnVwZGF0ZVF1ZXVlKSl7aWYodD1udWxsLG51bGwhPT1uLmNoaWxkKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6Y2FzZSAxOnQ9bi5jaGlsZC5zdGF0ZU5vZGV9dHJ5e2xZKGUsdCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzpudWxsPT09dCYmNCZyJiZpVChuKTtjYXNlIDI2OmNhc2UgNTp1aShlLG4pLG51bGw9PT10JiY0JnImJmlrKG4pLDUxMiZyJiZpYihuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOnVpKGUsbik7YnJlYWs7Y2FzZSAzMTp1aShlLG4pLDQmciYmaTkoZSxuKTticmVhaztjYXNlIDEzOnVpKGUsbiksNCZyJiZpNyhlLG4pLDY0JnImJm51bGwhPT0oZT1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKSYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoIiR+Ij09PWUuZGF0YSllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZigiJD8iIT09ZS5kYXRhfHwibG9hZGluZyIhPT1uLnJlYWR5U3RhdGUpdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKSxlLl9yZWFjdFJldHJ5PXJ9fShlLG49c1QuYmluZChudWxsLG4pKTticmVhaztjYXNlIDIyOmlmKCEocj1udWxsIT09bi5tZW1vaXplZFN0YXRlfHxpUSkpe3Q9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGV8fGlXLGw9aVE7dmFyIGE9aVc7aVE9ciwoaVc9dCkmJiFhP2Z1bmN0aW9uIGUodCxuLHIpe2ZvcihyPXImJjAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbD1uLmFsdGVybmF0ZSxhPXQsbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZShhLG8sciksaWgoNCxvKTticmVhaztjYXNlIDE6aWYoZShhLG8sciksImZ1bmN0aW9uIj09dHlwZW9mKGE9KGw9bykuc3RhdGVOb2RlKS5jb21wb25lbnREaWRNb3VudCl0cnl7YS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NfKGwsbC5yZXR1cm4sZSl9aWYobnVsbCE9PShhPShsPW8pLnVwZGF0ZVF1ZXVlKSl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPWEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihudWxsIT09cylmb3IoYS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsYT0wO2E8cy5sZW5ndGg7YSsrKWxHKHNbYV0sdSl9Y2F0Y2goZSl7c18obCxsLnJldHVybixlKX19ciYmNjQmaSYmaXYobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAyNzppVChvKTtjYXNlIDI2OmNhc2UgNTppZig1PT09by50YWcpe3U9bztmb3IodmFyIGM9dS5yZXR1cm47bnVsbCE9PWMmJihpUChjKSYmY1UodS5zdGF0ZU5vZGUsYy5zdGF0ZU5vZGUpLCFpXyhjKSk7KWM9Yy5yZXR1cm59ZShhLG8sciksciYmbnVsbD09PWwmJjQmaSYmaWsobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAxMjplKGEsbyxyKTticmVhaztjYXNlIDMxOmUoYSxvLHIpLHImJjQmaSYmaTkoYSxvKTticmVhaztjYXNlIDEzOmUoYSxvLHIpLHImJjQmaSYmaTcoYSxvKTticmVhaztjYXNlIDIyOm51bGw9PT1vLm1lbW9pemVkU3RhdGUmJmUoYSxvLHIpLGliKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6ZShhLG8sciksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSA3OmliKG8sby5yZXR1cm4pO2RlZmF1bHQ6ZShhLG8scil9bj1uLnNpYmxpbmd9fShlLG4sMCE9KDg3NzImbi5zdWJ0cmVlRmxhZ3MpKTp1aShlLG4pLGlRPWwsaVc9YX1icmVhaztjYXNlIDMwOnVpKGUsbiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzo1MTImciYmaWIobixuLnJldHVybik7ZGVmYXVsdDp1aShlLG4pfX1mdW5jdGlvbiBpMyhlLHQpe2ZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KShmdW5jdGlvbiBlKHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYobil7dmFyIGw9ci5zdHlsZTsiZnVuY3Rpb24iPT10eXBlb2YgbC5zZXRQcm9wZXJ0eT9sLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmwuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgYT10LnN0YXRlTm9kZSxvPXQubWVtb2l6ZWRQcm9wcy5zdHlsZSxpPW51bGwhPW8mJm8uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9vLmRpc3BsYXk6bnVsbDthLnN0eWxlLmRpc3BsYXk9bnVsbD09aXx8ImJvb2xlYW4iPT10eXBlb2YgaT8iIjooIiIraSkudHJpbSgpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfSFmdW5jdGlvbiB0KG4scil7aWYoMHg0MDAwMDAwJm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KXtlOnt2YXIgbD1uO3N3aXRjaChsLnRhZyl7Y2FzZSA0OmUobCxyKTticmVhayBlO2Nhc2UgMjI6bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSYmdChsLHIpO2JyZWFrIGU7ZGVmYXVsdDp0KGwscil9fW49bi5zaWJsaW5nfX0odCxuKTticmVhaztjYXNlIDY6dHJ5e3Quc3RhdGVOb2RlLm5vZGVWYWx1ZT1uPyIiOnQubWVtb2l6ZWRQcm9wcyx0cj0hMH1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciB1PXQuc3RhdGVOb2RlO24/Y3codSwhMCk6Y3codC5zdGF0ZU5vZGUsITEpfWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJmkzKHQsbik7YnJlYWs7ZGVmYXVsdDppMyh0LG4pfX0pKGUsdCksZT1lLnNpYmxpbmd9dmFyIGk0PW51bGwsaTg9ITE7ZnVuY3Rpb24gaTUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWk2KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBpNihlLHQsbil7aWYoZV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBlXy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7ZV8ub25Db21taXRGaWJlclVubW91bnQoZXgsbil9Y2F0Y2goZSl7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjppV3x8aXcobix0KSxpNShlLHQsbiksbi5tZW1vaXplZFN0YXRlP24ubWVtb2l6ZWRTdGF0ZS5jb3VudC0tOm4uc3RhdGVOb2RlJiYobj1uLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTticmVhaztjYXNlIDI3OmlXfHxpdyhuLHQpO3ZhciByPWk0LGw9aTg7Y3kobi50eXBlKSYmKGk0PW4uc3RhdGVOb2RlLGk4PSExKSxpNShlLHQsbiksY0cobi5zdGF0ZU5vZGUpLGk0PXIsaTg9bDticmVhaztjYXNlIDU6aVd8fGl3KG4sdCksNT09PW4udGFnJiZpeChuKTtjYXNlIDY6aWYocj1pNCxsPWk4LGk0PW51bGwsaTUoZSx0LG4pLGk0PXIsaTg9bCxudWxsIT09aTQpaWYoaTgpdHJ5eyg5PT09aTQubm9kZVR5cGU/aTQuYm9keToiSFRNTCI9PT1pNC5ub2RlTmFtZT9pNC5vd25lckRvY3VtZW50LmJvZHk6aTQpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzXyhuLHQsZSl9ZWxzZSB0cnl7aTQucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NfKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNCYmKGk4PyhjYig5PT09KGU9aTQpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZHKGUpKTpjYihpNCxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk0LGw9aTgsaTQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpNShlLHQsbiksaTQ9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZygyLG4sdCksaVd8fGlnKDQsbix0KSxpNShlLHQsbik7YnJlYWs7Y2FzZSAxOmlXfHwoaXcobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml5KG4sdCxyKSksaTUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppNShlLHQsbik7YnJlYWs7Y2FzZSAyMjppVz0ocj1pVyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTUoZSx0LG4pLGlXPXI7YnJlYWs7Y2FzZSAzMDppdyhuLHQpLGk1KGUsdCxuKTticmVhaztjYXNlIDc6aVd8fGl3KG4sdCksaTUoZSx0LG4pfX1mdW5jdGlvbiBpOShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZkcoZSl9Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIGk3KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmRyhlKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1ZShlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaVgpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlYKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNPLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHV0KGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY3kocy50eXBlKSl7aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk0PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNCl0aHJvdyBFcnJvcih1KDE2MCkpO2k2KG8saSxhKSxpND1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVyKHQsZSxuKSx0PXQuc2libGluZ312YXIgdW49bnVsbDtmdW5jdGlvbiB1cihlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnV0KHQsZSxuKSx1bChlKSw0JmwmJihpZygzLGUsZS5yZXR1cm4pLGloKDMsZSksaWcoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnV0KHQsZSxuKSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDY0JmwmJmlRJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bjtpZih1dCh0LGUsbiksdWwoZSksNTEyJmwmJihpV3x8bnVsbD09PXJ8fGl3KHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNsKGwscix0KSxsW2VXXT1lLGU4KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1mbCgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNsKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1mbCgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jbChsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU4KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9YzcoYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmM3KGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpUyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXQodCxlLG4pLHVsKGUpLDUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaVMoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pcSxpcT0hMSx1dCh0LGUsbiksaXE9YSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RrKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NfKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpUyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpSz0hMCk7YnJlYWs7Y2FzZSA2OmlmKHV0KHQsZSxuKSx1bChlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZyPW51bGwsYT11bix1bj1jWih0LmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bj1hLHVsKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZHKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX1pSyYmKGlLPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiZuLnN0YXRlTm9kZS5yZXNldCgpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlxLGlxPWlRLGw9dGwoKSxhPXVuLHVuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bChlKSx1bj1hLHRyJiZpSiYmKGlaPSEwKSx0cj1sLGlxPXI7YnJlYWs7Y2FzZSAxMjp1dCh0LGUsbiksdWwoZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnV0KHQsZSxuKSx1bChlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDEzOnV0KHQsZSxuKSx1bChlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1Qj1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlRLHM9aVcsYz1pcTtpUT1pfHxhLGlxPWN8fGEsaVc9c3x8byx1dCh0LGUsbiksaVc9cyxpcT1jLGlRPWksdWwoZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpUXx8aVd8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWcoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppdyhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXkobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y0cobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1Oml3KG4sbi5yZXR1cm4pLDU9PT1uLnRhZyYmaXgobiksZShuKTticmVhaztjYXNlIDIyOm51bGw9PT1uLm1lbW9pemVkU3RhdGUmJmUobik7YnJlYWs7Y2FzZSAzMDppdyhuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgNzppdyhuLG4ucmV0dXJuKTtkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSksIWEmJmlxfHxpMyhlLGEpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PSh0PXIucmV0cnlRdWV1ZSkmJihyLnJldHJ5UXVldWU9bnVsbCx1ZShlLHQpKTticmVhaztjYXNlIDMwOjUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbD10bCgpLGE9aUosbz0oMHgxM2ZmZmYwMCZuKT09PW4saT1lLm1lbW9pemVkUHJvcHMsaUo9byYmIm5vbmUiIT09cmwoaS5kZWZhdWx0LGkudXBkYXRlKSx1dCh0LGUsbiksdWwoZSksbyYmbnVsbCE9PXImJnRyJiYoZS5mbGFnc3w9NCksaUo9YSx0cj1sO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OnImJm51bGwhPT1yLnN0YXRlTm9kZSYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6dXQodCxlLG4pLHVsKGUpfX1mdW5jdGlvbiB1bChlKXt2YXIgdD1lLmZsYWdzO2lmKDImdCl7dHJ5e2Zvcih2YXIgbixyPW51bGwsbD1lLnJldHVybjtudWxsIT09bDspe2lmKGlQKGwpKXt2YXIgYT1sLnN0YXRlTm9kZTtudWxsPT09cj9yPVthXTpyLnB1c2goYSl9aWYoaV8obCkpe249bDticmVha31sPWwucmV0dXJufWlmKG51bGw9PW4pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2gobi50YWcpe2Nhc2UgMjc6dmFyIG89bi5zdGF0ZU5vZGUsaT1pTihlKTtpQyhlLGksbyxyKTticmVhaztjYXNlIDU6dmFyIHM9bi5zdGF0ZU5vZGU7MzImbi5mbGFncyYmKHRrKHMsIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIGM9aU4oZSk7aUMoZSxjLHMscik7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZj1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGQ9aU4oZSk7IWZ1bmN0aW9uIGUodCxuLHIsbCl7dmFyIGE9dC50YWc7aWYoNT09PWF8fDY9PT1hKWE9dC5zdGF0ZU5vZGUsbj8oOT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuaW5zZXJ0QmVmb3JlKGEsbik6KChuPTk9PT1yLm5vZGVUeXBlP3IuYm9keToiSFRNTCI9PT1yLm5vZGVOYW1lP3Iub3duZXJEb2N1bWVudC5ib2R5OnIpLmFwcGVuZENoaWxkKGEpLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9dFQpKSxpRSh0LGwpLHRyPSEwO2Vsc2UgaWYoNCE9PWEmJigyNz09PWEmJmN5KHQudHlwZSkmJihyPXQuc3RhdGVOb2RlLG49bnVsbCksbnVsbCE9PSh0PXQuY2hpbGQpKSlmb3IoZSh0LG4scixsKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4scixsKSx0PXQuc2libGluZ30oZSxkLGYscik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfWUuZmxhZ3MmPS0zfTQwOTYmdCYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiB1YShlLHQpe2lmKDkyNzAmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdW8odCxlKSx0PXQuc2libGluZztlbHNlIWZ1bmN0aW9uIGUodCxuKXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIHI9dC5tZW1vaXplZFByb3BzLGw9dC5zdGF0ZU5vZGUsYT1ybihyLGwpLG89cmwoci5kZWZhdWx0LHIudXBkYXRlKTtpZihuKXZhciBpPW51bGw9PT0obD1sLmNsb25lcyk/bnVsbDpsLm1hcChjXyk7ZWxzZSBpPXQubWVtb2l6ZWRTdGF0ZSx0Lm1lbW9pemVkU3RhdGU9bnVsbDtsPXQ7dmFyIHU9dC5jaGlsZDtpST0wLGE9aSQobCx1LGEsYSxvLGksITEpLDAhPSg0JnQuZmxhZ3MpJiZhJiYobnx8dTUodCxyLm9uVXBkYXRlKSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0LG4pO3Q9dC5zaWJsaW5nfX0odCwhMSl9ZnVuY3Rpb24gdW8oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihudWxsPT09bilpaihlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGkwPWlZPSExLGlNKCksdWEodCxlKSwhaVkmJiFpWil7aWYobnVsbCE9PShlPWlSKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgbD1lW3IrMV07Y1MobixlW3IrMl0pLG51bGwhPT0obj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6WyJub25lIiwibm9uZSJdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoIitsKyIpIn0pfW51bGwhPT0oZT05PT09KGU9dC5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIiI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSJub25lIixlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSJ9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uIn0pKSxpMD0hMH1pUj1udWxsO2JyZWFrO2Nhc2UgNTpkZWZhdWx0OnVhKHQsZSk7YnJlYWs7Y2FzZSA0OnI9aVksaVk9ITEsdWEodCxlKSxpWSYmKGlaPSEwKSxpWT1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1uLm1lbW9pemVkU3RhdGU/aWooZSwhMSk6dWEodCxlKSk7YnJlYWs7Y2FzZSAzMDpyPWlZLGw9aU0oKSxpWT0hMSx1YSh0LGUpLGlZJiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD1ybihhLG8pLG89cm4obi5tZW1vaXplZFByb3BzLG8pO3ZhciBpPXJsKGEuZGVmYXVsdCxhLnVwZGF0ZSk7Im5vbmUiPT09aT90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsaUk9MCx0PWkkKGUsbix0LG8saSxhLCEwKSxpSSE9PShudWxsPT09YT8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksMCE9KDQmZS5mbGFncykmJnQ/KHU1KGUsZS5tZW1vaXplZFByb3BzLm9uVXBkYXRlKSxpUj1sKTpudWxsIT09bCYmKGwucHVzaC5hcHBseShsLGlSKSxpUj1sKSxpWT0wIT0oMzImZS5mbGFncyl8fHJ9fWZ1bmN0aW9uIHVpKGUsdCl7aWYoODc3MiZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10OylpMihlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHV1KGUsdCl7dmFyIG49bnVsbDtudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLG51bGwhPT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYobnVsbCE9ZSYmZS5yZWZDb3VudCsrLG51bGwhPW4mJmxzKG4pKX1mdW5jdGlvbiB1cyhlLHQpe2U9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1lJiYodC5yZWZDb3VudCsrLG51bGwhPWUmJmxzKGUpKX1mdW5jdGlvbiB1YyhlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGw/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVmKGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgbCYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10OykzMD09PXQudGFnP2lGKHQuY2hpbGQsITEpOjAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpLHQ9dC5zaWJsaW5nfSh0KX1mdW5jdGlvbiB1ZihlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47bCYmbnVsbD09PXQuYWx0ZXJuYXRlJiZudWxsIT09dC5yZXR1cm4mJm51bGwhPT10LnJldHVybi5hbHRlcm5hdGUmJmlIKHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVjKGUsdCxuLHIpLDIwNDgmYSYmaWgoOSx0KTticmVhaztjYXNlIDE6Y2FzZSAzMTpjYXNlIDEzOmRlZmF1bHQ6dWMoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnVjKGUsdCxuLHIpLGwmJmkwJiYoInJvb3QiPT09KGU9OT09PShlPWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/ZS5ib2R5OiJIVE1MIj09PWUubm9kZU5hbWU/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSkuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLG51bGwhPT0oZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIm5vbmUiPT09ZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLDIwNDgmYSYmKGE9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1hJiYodC5yZWZDb3VudCsrLG51bGwhPWEmJmxzKGEpKSk7YnJlYWs7Y2FzZSAxMjppZigyMDQ4JmEpe3VjKGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxpPW8uaWQsdT1vLm9uUG9zdENvbW1pdDsiZnVuY3Rpb24iPT10eXBlb2YgdSYmdShpLG51bGw9PT10LmFsdGVybmF0ZT8ibW91bnQiOiJ1cGRhdGUiLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1lbHNlIHVjKGUsdCxuLHIpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpvPXQuc3RhdGVOb2RlLGk9dC5hbHRlcm5hdGUsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT8obCYmbnVsbCE9PWkmJm51bGw9PT1pLm1lbW9pemVkU3RhdGUmJmlIKGkpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTp1ZChlLHQpKToobCYmbnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGUmJmlIKHQpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTooby5fdmlzaWJpbGl0eXw9MixmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKGE9YSYmMCE9KDEwMjU2Jm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZSh0LG8scixsLGEpLGloKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO251bGwhPT1vLm1lbW9pemVkU3RhdGU/MiZ1Ll92aXNpYmlsaXR5P2UodCxvLHIsbCxhKTp1ZCh0LG8pOih1Ll92aXNpYmlsaXR5fD0yLGUodCxvLHIsbCxhKSksYSYmMjA0OCZpJiZ1dShvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmUodCxvLHIsbCxhKSxhJiYyMDQ4JmkmJnVzKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6ZSh0LG8scixsLGEpfW49bi5zaWJsaW5nfX0oZSx0LG4sciwwIT0oMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpKSkpLDIwNDgmYSYmdXUoaSx0KTticmVhaztjYXNlIDI0OnVjKGUsdCxuLHIpLDIwNDgmYSYmdXModC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDpsJiZudWxsIT09KGE9dC5hbHRlcm5hdGUpJiYoaUYoYS5jaGlsZCwhMCksaUYodC5jaGlsZCwhMCkpLHVjKGUsdCxuLHIpfX1mdW5jdGlvbiB1ZChlLHQpe2lmKDEwMjU2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj10LHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMjI6dWQoZSxuKSwyMDQ4JnImJnV1KG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2Nhc2UgMjQ6dWQoZSxuKSwyMDQ4JnImJnVzKG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2RlZmF1bHQ6dWQoZSxuKX10PXQuc2libGluZ319dmFyIHVwPTgxOTI7ZnVuY3Rpb24gdW0oZSx0LG4pe2lmKGUuc3VidHJlZUZsYWdzJnVwKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KXVoKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiB1aChlLHQsbil7c3dpdGNoKGUudGFnKXtjYXNlIDI2OnVtKGUsdCxuKSxlLmZsYWdzJnVwJiYobnVsbCE9PWUubWVtb2l6ZWRTdGF0ZT9mdW5jdGlvbihlLHQsbixyKXtpZigic3R5bGVzaGVldCI9PT1uLnR5cGUmJigic3RyaW5nIiE9dHlwZW9mIHIubWVkaWF8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmMD09KDQmbi5zdGF0ZS5sb2FkaW5nKSl7aWYobnVsbD09PW4uaW5zdGFuY2Upe3ZhciBsPWM0KHIuaHJlZiksYT10LnF1ZXJ5U2VsZWN0b3IoYzgobCkpO2lmKGEpe251bGwhPT0odD1hLl9wKSYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiYoZS5jb3VudCsrLGU9ZmQuYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxlOChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1jNShyKSwobD1jWS5nZXQobCkpJiZmdChyLGwpLGU4KGE9YS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSxuLmluc3RhbmNlPWF9bnVsbD09PWUuc3R5bGVzaGVldHMmJihlLnN0eWxlc2hlZXRzPW5ldyBNYXApLGUuc3R5bGVzaGVldHMuc2V0KG4sdCksKHQ9bi5zdGF0ZS5wcmVsb2FkKSYmMD09KDMmbi5zdGF0ZS5sb2FkaW5nKSYmKGUuY291bnQrKyxuPWZkLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuKSx0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixuKSl9fShuLHVuLGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpOihlPWUuc3RhdGVOb2RlLCgweDEzZmZmZjQwJnQpPT09dCYmZnMobixlKSkpO2JyZWFrO2Nhc2UgNTp1bShlLHQsbiksZS5mbGFncyZ1cCYmKGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmcyhuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPXVuO3VuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVtKGUsdCxuKSx1bj1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT0ocj1lLmFsdGVybmF0ZSkmJm51bGwhPT1yLm1lbW9pemVkU3RhdGU/KHI9dXAsdXA9MHgxMDAwMDAwLHVtKGUsdCxuKSx1cD1yKTp1bShlLHQsbikpO2JyZWFrO2Nhc2UgMzA6aWYoMCE9KGUuZmxhZ3MmdXApJiZudWxsIT0ocj1lLm1lbW9pemVkUHJvcHMubmFtZSkmJiJhdXRvIiE9PXIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucGFpcmVkPW51bGwsbnVsbD09PWl6JiYoaXo9bmV3IE1hcCksaXouc2V0KHIsbCl9dW0oZSx0LG4pO2JyZWFrO2RlZmF1bHQ6dW0oZSx0LG4pfX1mdW5jdGlvbiB1ZyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZihudWxsIT09dCYmbnVsbCE9PShlPXQuY2hpbGQpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKG51bGwhPT1lKX19ZnVuY3Rpb24gdXYoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoMCE9KDE2JmUuZmxhZ3MpKXtpZihudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpRz1yLHViKHIsZSl9dWcoZSl9aWYoMTAyNTYmZS5zdWJ0cmVlRmxhZ3MpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXkoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gdXkoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnV2KGUpLDIwNDgmZS5mbGFncyYmaWcoOSxlLGUucmV0dXJuKTticmVhaztjYXNlIDM6Y2FzZSAxMjpkZWZhdWx0OnV2KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmMiZ0Ll92aXNpYmlsaXR5JiYobnVsbD09PWUucmV0dXJufHwxMyE9PWUucmV0dXJuLnRhZyk/KHQuX3Zpc2liaWxpdHkmPS0zLGZ1bmN0aW9uIGUodCl7dmFyIG49dC5kZWxldGlvbnM7aWYoMCE9KDE2JnQuZmxhZ3MpKXtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpRz1sLHViKGwsdCl9dWcodCl9Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3N3aXRjaCgobj10KS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6MiYocj1uLnN0YXRlTm9kZSkuX3Zpc2liaWxpdHkmJihyLl92aXNpYmlsaXR5Jj0tMyxlKG4pKTticmVhaztkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSk6dXYoZSl9fWZ1bmN0aW9uIHViKGUsdCl7Zm9yKDtudWxsIT09aUc7KXt2YXIgbj1pRztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihudWxsIT09bi5tZW1vaXplZFN0YXRlJiZudWxsIT09bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO251bGwhPXImJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OmxzKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYobnVsbCE9PShyPW4uY2hpbGQpKXIucmV0dXJuPW4saUc9cjtlbHNlIGZvcihuPWU7bnVsbCE9PWlHOyl7dmFyIGw9KHI9aUcpLnNpYmxpbmcsYT1yLnJldHVybjtpZighZnVuY3Rpb24gZSh0KXt2YXIgbj10LmFsdGVybmF0ZTtudWxsIT09biYmKHQuYWx0ZXJuYXRlPW51bGwsZShuKSksdC5jaGlsZD1udWxsLHQuZGVsZXRpb25zPW51bGwsdC5zaWJsaW5nPW51bGwsNT09PXQudGFnJiZudWxsIT09KG49dC5zdGF0ZU5vZGUpJiZlMChuKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShyKSxyPT09bil7aUc9bnVsbDticmVha31pZihudWxsIT09bCl7bC5yZXR1cm49YSxpRz1sO2JyZWFrfWlHPWF9fX12YXIgdXc9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1sdChsaSksbj10LmRhdGEuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiYobj1lKCksdC5kYXRhLnNldChlLG4pKSxufSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBsdChsaSkuY29udHJvbGxlci5zaWduYWx9fSx1az0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcCx1Uz0wLHVFPW51bGwsdXg9bnVsbCx1Xz0wLHVQPTAsdU49bnVsbCx1Qz0hMSx1VD0hMSx1Tz0hMSx1ej0wLHVMPTAsdVI9MCx1TT0wLHVJPTAsdUQ9MCx1Rj0wLHVBPW51bGwsdWo9bnVsbCx1VT0hMSx1Qj0wLHVWPTAsdUg9MS8wLHUkPW51bGwsdVE9bnVsbCx1Vz0wLHVxPW51bGwsdUs9bnVsbCx1WD0wLHVHPTAsdVk9bnVsbCx1Sj1udWxsLHVaPW51bGwsdTA9bnVsbCx1MT1udWxsLHUyPTAsdTM9bnVsbDtmdW5jdGlvbiB1NCgpe3JldHVybiAwIT0oMiZ1UykmJjAhPT11Xz91XyYtdV86bnVsbCE9PVcuVD9zJCgpOmVIKCl9ZnVuY3Rpb24gdTgoKXtpZigwPT09dUQpaWYoMD09KDB4MjAwMDAwMDAmdV8pfHxyJCl7dmFyIGU9ZU87MD09KDM5MzIxNjAmKGVPPDw9MSkpJiYoZU89MjYyMTQ0KSx1RD1lfWVsc2UgdUQ9MHgyMDAwMDAwMDtyZXR1cm4gbnVsbCE9PShlPWwzLmN1cnJlbnQpJiYoZS5mbGFnc3w9MzIpLHVEfWZ1bmN0aW9uIHU1KGUsdCl7aWYobnVsbCE9dCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtudWxsPT09ciYmKHI9bi5yZWY9Y0Mocm4oZS5tZW1vaXplZFByb3BzLG4pKSksbnVsbD09PXUwJiYodTA9W10pLHUwLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiB1NihlLHQsbil7KGU9PT11RSYmKDI9PT11UHx8OT09PXVQKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdCkmJihzcihlLDApLHNlKGUsdV8sdUQsITEpKSxlRihlLG4pLCgwPT0oMiZ1Uyl8fGUhPT11RSkmJihlPT09dUUmJigwPT0oMiZ1UykmJih1TXw9biksND09PXVMJiZzZShlLHVfLHVELCExKSksc0YoZSkpfWZ1bmN0aW9uIHU5KGUsdCxuKXtpZigwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMjcpKTtmb3IodmFyIHI9IW4mJjA9PSgxMjcmdCkmJjA9PSh0JmUuZXhwaXJlZExhbmVzKXx8ZU0oZSx0KSxsPXI/ZnVuY3Rpb24oZSx0KXt2YXIgbj11Uzt1U3w9Mjt2YXIgcj1zbygpLGw9c2koKTt1RSE9PWV8fHVfIT09dD8odSQ9bnVsbCx1SD1ldigpKzUwMCxzcihlLHQpKTp1VD1lTShlLHQpO2U6Zm9yKDs7KXRyeXtpZigwIT09dVAmJm51bGwhPT11eCl7dD11eDt2YXIgYT11Tjt0OnN3aXRjaCh1UCl7Y2FzZSAxOnVQPTAsdU49bnVsbCxzZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKGxQKGEpKXt1UD0wLHVOPW51bGwsc2YodCk7YnJlYWt9dD1mdW5jdGlvbigpezIhPT11UCYmOSE9PXVQfHx1RSE9PWV8fCh1UD03KSxzRihlKX0sYS50aGVuKHQsdCk7YnJlYWsgZTtjYXNlIDM6dVA9NzticmVhayBlO2Nhc2UgNDp1UD01O2JyZWFrIGU7Y2FzZSA3OmxQKGEpPyh1UD0wLHVOPW51bGwsc2YodCkpOih1UD0wLHVOPW51bGwsc2QoZSx0LGEsNykpO2JyZWFrO2Nhc2UgNTp2YXIgbz1udWxsO3N3aXRjaCh1eC50YWcpe2Nhc2UgMjY6bz11eC5tZW1vaXplZFN0YXRlO2Nhc2UgNTpjYXNlIDI3OnZhciBpPXV4O2lmKG8/Zmkobyk6aS5zdGF0ZU5vZGUuY29tcGxldGUpe3VQPTAsdU49bnVsbDt2YXIgcz1pLnNpYmxpbmc7aWYobnVsbCE9PXMpdXg9cztlbHNle3ZhciBjPWkucmV0dXJuO251bGwhPT1jPyh1eD1jLHNwKGMpKTp1eD1udWxsfWJyZWFrIHR9fXVQPTAsdU49bnVsbCxzZChlLHQsYSw1KTticmVhaztjYXNlIDY6dVA9MCx1Tj1udWxsLHNkKGUsdCxhLDYpO2JyZWFrO2Nhc2UgODpzbigpLHVMPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fWZvcig7bnVsbCE9PXV4JiYhZWgoKTspc2ModXgpO2JyZWFrfWNhdGNoKHQpe3NsKGUsdCl9cmV0dXJuKHIzPXIyPW51bGwsVy5IPXIsVy5BPWwsdVM9bixudWxsIT09dXgpPzA6KHVFPW51bGwsdV89MCxycygpLHVMKX0oZSx0KTpzcyhlLHQsITApLGE9cjs7KXtpZigwPT09bCl1VCYmIXImJnNlKGUsdCwwLCExKTtlbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxhJiYhZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKDA9PT1ufHwxMT09PW58fDE1PT09bikmJjE2Mzg0JnQuZmxhZ3MmJm51bGwhPT0obj10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShuPW4uc3RvcmVzKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxhPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighbkEoYSgpLGwpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfX1pZihuPXQuY2hpbGQsMTYzODQmdC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1uKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH0obikpe2w9c3MoZSx0LCExKSxhPSExO2NvbnRpbnVlfWlmKDI9PT1sKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPTAhPShvPS0weDIwMDAwMDAxJmUucGVuZGluZ0xhbmVzKT9vOjB4MjAwMDAwMDAmbz8weDIwMDAwMDAwOjA7aWYoMCE9PW8pe3Q9bztlOntsPXVBO3ZhciBpPWUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihpJiYoc3IoZSxvKS5mbGFnc3w9MjU2KSwyIT09KG89c3MoZSxvLCExKSkpe2lmKHVPJiYhaSl7ZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9YSx1TXw9YSxsPTQ7YnJlYWsgZX1hPXVqLHVqPWwsbnVsbCE9PWEmJihudWxsPT09dWo/dWo9YTp1ai5wdXNoLmFwcGx5KHVqLGEpKX1sPW99aWYoYT0hMSwyIT09bCljb250aW51ZX19aWYoMT09PWwpe3NyKGUsMCksc2UoZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChyPWUsYT1sKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSA0OmlmKCg0MTk0MDQ4JnQpIT09dCYmKDB4M2MwMDAwMCZ0KSE9PXQpYnJlYWs7Y2FzZSA2OnNlKHIsdCx1RCwhdUMpO2JyZWFrIGU7Y2FzZSAyOnVqPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI5KSl9aWYoKDB4M2MwMDAwMCZ0KT09PXQmJjEwPChsPXVCKzMwMC1ldigpKSl7aWYoc2Uocix0LHVELCF1QyksMCE9PWVSKHIsMCwhMCkpYnJlYWsgZTt1WD10LHIudGltZW91dEhhbmRsZT1jcCh1Ny5iaW5kKG51bGwscixuLHVqLHUkLHVVLHQsdUQsdU0sdUYsdUMsYSwiVGhyb3R0bGVkIiwtMCwwKSxsKTticmVhayBlfXU3KHIsbix1aix1JCx1VSx0LHVELHVNLHVGLHVDLGEsbnVsbCwtMCwwKX19YnJlYWt9c0YoZSl9ZnVuY3Rpb24gdTcoZSx0LG4scixsLGEsbyxpLHUscyxjLGYsZCxwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG0saCxnPXQuc3VidHJlZUZsYWdzLHY9KDB4MTNmZmZmMDAmYSk9PT1hO2lmKGY9bnVsbCwodnx8ODE5MiZnfHwweDEwMDIwMDA9PSgweDEwMDIwMDAmZykpJiYoaXo9bnVsbCx1aCh0LGEsZj17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOnRUfSksdiYmKGc9ZixudWxsIT0odj0oOT09PSh2PWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/djp2Lm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbikmJihnLmNvdW50KyssZy53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsZz1mZC5iaW5kKGcpLHYuZmluaXNoZWQudGhlbihnLGcpKSksbnVsbCE9PShtPWYsaD1nPSgweDNjMDAwMDAmYSk9PT1hP3VCLWV2KCk6KDQxOTQwNDgmYSk9PT1hP3VWLWV2KCk6MCxtLnN0eWxlc2hlZXRzJiYwPT09bS5jb3VudCYmZmgobSxtLnN0eWxlc2hlZXRzKSxnPTA8bS5jb3VudHx8MDxtLmltZ0NvdW50P2Z1bmN0aW9uKGUpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLnN0eWxlc2hlZXRzJiZmaChtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKXt2YXIgZT1tLnVuc3VzcGVuZDttLnVuc3VzcGVuZD1udWxsLGUoKX19LDZlNCtoKTswPG0uaW1nQnl0ZXMmJjA9PT1mYyYmKGZjPTYyNTAwKmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC50cmFuc2ZlclNpemUsbz1sLmluaXRpYXRvclR5cGUsaT1sLmR1cmF0aW9uO2lmKGEmJmkmJmNhKG8pKXtmb3Iobz0wLGk9bC5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgdT1uW3JdLHM9dS5zdGFydFRpbWU7aWYocz5pKWJyZWFrO3ZhciBjPXUudHJhbnNmZXJTaXplLGY9dS5pbml0aWF0b3JUeXBlO2MmJmNhKGYpJiYobys9YyooKHU9dS5yZXNwb25zZUVuZCk8aT8xOihpLXMpLyh1LXMpKSl9aWYoLS1yLHQrPTgqKGErbykvKGwuZHVyYXRpb24vMWUzKSwxMDwrK2UpYnJlYWt9fWlmKDA8ZSlyZXR1cm4gdC9lLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJiJudW1iZXIiPT10eXBlb2YoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayk/ZTo1fSgpKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobS53YWl0aW5nRm9ySW1hZ2VzPSExLDA9PT1tLmNvdW50JiYobS5zdHlsZXNoZWV0cyYmZmgobSxtLnN0eWxlc2hlZXRzKSxtLnVuc3VzcGVuZCkpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sKG0uaW1nQnl0ZXM+ZmM/NTA6ODAwKStoKTtyZXR1cm4gbS51bnN1c3BlbmQ9ZSxmdW5jdGlvbigpe20udW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KHQpLGNsZWFyVGltZW91dChuKX19Om51bGwpKSl7dVg9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9ZyhzaC5iaW5kKG51bGwsZSx0LGEsbixyLGwsbyxpLHUsYyxmLG51bGwsZCxwKSksc2UoZSxhLG8sIXMpO3JldHVybn1zaChlLHQsYSxuLHIsbCxvLGksdSxjLGYpfWZ1bmN0aW9uIHNlKGUsdCxuLHIpe3QmPX51SSx0Jj1+dU0sZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzdCgpe3JldHVybiAwIT0oNiZ1Uyl8fChzQSgwLCExKSwhMSl9ZnVuY3Rpb24gc24oKXtpZihudWxsIT09dXgpe2lmKDA9PT11UCl2YXIgZT11eC5yZXR1cm47ZWxzZSBlPXV4LHIzPXIyPW51bGwsYUUoZSksbEw9bnVsbCxsUj0wLGU9dXg7Zm9yKDtudWxsIT09ZTspaW0oZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1eD1udWxsfX1mdW5jdGlvbiBzcihlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY20obikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1WD0wLHNuKCksdUU9ZSx1eD1uPXJiKGUuY3VycmVudCxudWxsKSx1Xz10LHVQPTAsdU49bnVsbCx1Qz0hMSx1VD1lTShlLHQpLHVPPSExLHVGPXVEPXVJPXVNPXVSPXVMPTAsdWo9dUE9bnVsbCx1VT0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHV6PXQscnMoKSxufWZ1bmN0aW9uIHNsKGUsdCl7YWE9bnVsbCxXLkg9b1MsdD09PWxTfHx0PT09bHg/KHQ9bE8oKSx1UD0zKTp0PT09bEU/KHQ9bE8oKSx1UD00KTp1UD10PT09b2o/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1Tj10LG51bGw9PT11eCYmKHVMPTEsb00oZSxyTih0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzYSgpe3ZhciBlPWwzLmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdV8pPT09dV8/bnVsbD09PWw0OigoMHgzYzAwMDAwJnVfKT09PXVffHwwIT0oMHgyMDAwMDAwMCZ1XykpJiZlPT09bDQpfWZ1bmN0aW9uIHNvKCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b1MsbnVsbD09PWU/b1M6ZX1mdW5jdGlvbiBzaSgpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXV3LGV9ZnVuY3Rpb24gc3UoKXt1TD00LHVDfHwoNDE5NDA0OCZ1XykhPT11XyYmbnVsbCE9PWwzLmN1cnJlbnR8fCh1VD0hMCksMD09KDB4N2ZmZmZmZiZ1UikmJjA9PSgweDdmZmZmZmYmdU0pfHxudWxsPT09dUV8fHNlKHVFLHVfLHVELCExKX1mdW5jdGlvbiBzcyhlLHQsbil7dmFyIHI9dVM7dVN8PTI7dmFyIGw9c28oKSxhPXNpKCk7KHVFIT09ZXx8dV8hPT10KSYmKHUkPW51bGwsc3IoZSx0KSksdD0hMTt2YXIgbz11TDtlOmZvcig7Oyl0cnl7aWYoMCE9PXVQJiZudWxsIT09dXgpe3ZhciBpPXV4LHU9dU47c3dpdGNoKHVQKXtjYXNlIDg6c24oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWwzLmN1cnJlbnQmJih0PSEwKTt2YXIgcz11UDtpZih1UD0wLHVOPW51bGwsc2QoZSxpLHUscyksbiYmdVQpe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11UCx1UD0wLHVOPW51bGwsc2QoZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXV4OylzYyh1eCl9KSgpLG89dUw7YnJlYWt9Y2F0Y2godCl7c2woZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjM9cjI9bnVsbCx1Uz1yLFcuSD1sLFcuQT1hLG51bGw9PT11eCYmKHVFPW51bGwsdV89MCxycygpKSxvfWZ1bmN0aW9uIHNjKGUpe3ZhciB0PWlvKGUuYWx0ZXJuYXRlLGUsdXopO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zcChlKTp1eD10fWZ1bmN0aW9uIHNmKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b0oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdV8pO2JyZWFrO2Nhc2UgMTE6dD1vSihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Xyk7YnJlYWs7Y2FzZSA1OmFFKHQpO2RlZmF1bHQ6aW0obix0KSx0PWlvKG4sdD11eD1ydyh0LHV6KSx1eil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NwKGUpOnV4PXR9ZnVuY3Rpb24gc2QoZSx0LG4scil7cjM9cjI9bnVsbCxhRSh0KSxsTD1udWxsLGxSPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjkodCxuLGwsITApLG51bGwhPT0obj1sMy5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw0P3N1KCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dUwmJih1TD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bF8/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzUChlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sXz9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc1AoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzUChlLHIsbCksc3UoKSwhMX1pZihyJClyZXR1cm4gbnVsbCE9PSh0PWwzLmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cnEmJnIwKHJOKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJxJiZyMChyTih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJOKHIsbiksbD1vRChlLnN0YXRlTm9kZSxyLGwpLGxXKGUsbCksNCE9PXVMJiYodUw9MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ck4oYSxuKSxudWxsPT09dUE/dUE9W2FdOnVBLnB1c2goYSksNCE9PXVMJiYodUw9MiksbnVsbD09PXQpcmV0dXJuITA7cj1yTihyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRChuLnN0YXRlTm9kZSxyLGUpLGxXKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVRfHwhdVEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb0EobD1vRihsKSxlLG4sciksbFcobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdV8pKXt1TD0xLG9NKGUsck4obixlLmN1cnJlbnQpKSx1eD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdXg9bCx0O3VMPTEsb00oZSxyTihuLGUuY3VycmVudCkpLHV4PW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHIkfHwxPT09cj9lPSEwOnVUfHwwIT0oMHgyMDAwMDAwMCZ1Xyk/ZT0hMToodUM9ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDMuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNtKHQsZSkpOnNwKHQpfWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNtKHQsdUMpO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihyWSh0KT9paSh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQsclooKSkpLGlwKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpaSh0KSxudWxsIT09YT8oaXAodCksaXModCxhKSk6KGlwKHQpLGl1KHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlpKHQpLGlwKHQpLGlzKHQsYSkpOihpcCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlpKHQpLGlwKHQpLGl1KHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlpKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpcCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxyWSh0KT9yWCh0LGUpOih0LnN0YXRlTm9kZT1lPWNYKGwscixuKSxpaSh0KSl9cmV0dXJuIGlwKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpaSh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsclkodCkpclgodCxhKTtlbHNle3ZhciBvPWN1KGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjbChhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlpKHQpfX1yZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaXUodCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaWkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxyWSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJWKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y3QoZS5ub2RlVmFsdWUsbikpKXx8cksodCwhMCl9ZWxzZShlPWN1KGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9clkodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgckooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aXAodCksZT0hMX1lbHNlIG49clooKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGw3KHQpLHQ7cmV0dXJuIGw3KHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1yWSh0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSBySigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpcCh0KSxsPSExfWVsc2UgbD1yWigpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gbDcodCksdDtyZXR1cm4gbDcodCksbnVsbH19aWYobDcodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGljKHQsdC51cGRhdGVRdWV1ZSksaXAodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMxKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpcCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksaXAodCksbnVsbDtjYXNlIDE5OmlmKGFuKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpcCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaWQociwhMSk7ZWxzZXtpZigwIT09dUx8fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YXIoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGlkKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGljKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylydyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhdCh0LDEmYWUuY3VycmVudHwyKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51SCYmKHQuZmxhZ3N8PTEyOCxsPSEwLGlkKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YXIoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpYyh0LGUpLGlkKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhciQpcmV0dXJuIGlwKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dUgmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaWQociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWFlLmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyJD9hdCh0LGEpOihuPWEsWihsMyx0KSxaKGFlLG4pLG51bGw9PT1sNCYmKGw0PXQpKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBsNyh0KSxsMigpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaXAodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppcCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmljKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGx5KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGlwKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaXAodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHV6KTtpZihudWxsIT09bil7dXg9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3V4PXQ7cmV0dXJufXV4PXQ9ZX13aGlsZShudWxsIT09dCkwPT09dUwmJih1TD01KX1mdW5jdGlvbiBzbShlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJVKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjgobGkpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYobDcodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihsNyh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYW4odCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGw3KHQpLGwyKCksbnVsbCE9PWUmJkoobHkpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI4KGxpKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdXg9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1eD1lO3JldHVybn11eD1lPW59d2hpbGUobnVsbCE9PWUpdUw9Nix1eD1udWxsfWZ1bmN0aW9uIHNoKGUsdCxuLHIsbCxhLG8saSxzLGMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gc1MoKTt3aGlsZSgwIT09dVcpaWYoMCE9KDYmdVMpKXRocm93IEVycm9yKHUoMzI3KSk7aWYobnVsbCE9PXQpe3ZhciBkO2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IodSgxNzcpKTtpZighZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbixhPXQubGFuZXN8dC5jaGlsZExhbmVzfHJ1LG8saSxzKSxlPT09dUUmJih1eD11RT1udWxsLHVfPTApLHVLPXQsdXE9ZSx1WD1uLHVHPWEsdVk9bCx1Sj1yLHUwPW51bGwsKDB4MTNmZmZmMDAmbik9PT1uPyhkPWUudHJhbnNpdGlvblR5cGVzLGUudHJhbnNpdGlvblR5cGVzPW51bGwsdTE9ZCxyPTEwMjYyKToodTE9bnVsbCxyPTEwMjU2KSwwIT0odC5zdWJ0cmVlRmxhZ3Mmcil8fDAhPSh0LmZsYWdzJnIpPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLGVwKGVrLGZ1bmN0aW9uKCl7cmV0dXJuIHNFKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksaU89ITEscj0wIT0oMTM4NzgmdC5mbGFncyksMCE9KDEzODc4JnQuc3VidHJlZUZsYWdzKXx8cil7cj1XLlQsVy5UPW51bGwsbD1xLnAscS5wPTIsbz11Uyx1U3w9NDt0cnl7IWZ1bmN0aW9uKGUsdCxuKXtpZihlPWUuY29udGFpbmVySW5mbyxjbz1mXyxuSChlPW5WKGUpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciBsPShyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGwmJjAhPT1sLnJhbmdlQ291bnQpe3I9bC5hbmNob3JOb2RlO3ZhciBhLG89bC5hbmNob3JPZmZzZXQsaT1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Iubm9kZVR5cGUsaS5ub2RlVHlwZX1jYXRjaChlKXtyPW51bGw7YnJlYWsgZX12YXIgdT0wLHM9LTEsYz0tMSxmPTAsZD0wLHA9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcig7cCE9PXJ8fDAhPT1vJiYzIT09cC5ub2RlVHlwZXx8KHM9dStvKSxwIT09aXx8MCE9PWwmJjMhPT1wLm5vZGVUeXBlfHwoYz11K2wpLDM9PT1wLm5vZGVUeXBlJiYodSs9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGE9cC5maXJzdENoaWxkKTspbT1wLHA9YTtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIHQ7aWYobT09PXImJisrZj09PW8mJihzPXUpLG09PT1pJiYrK2Q9PT1sJiYoYz11KSxudWxsIT09KGE9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9YX1yPS0xPT09c3x8LTE9PT1jP251bGw6e3N0YXJ0OnMsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjaT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxmXz0hMSxuPSgweDEzZmZmZjAwJm4pPT09bixpRz10LHQ9bj85MjcwOjEwMjg7bnVsbCE9PWlHOyl7aWYoZT1pRyxuJiZudWxsIT09KHI9ZS5kZWxldGlvbnMpKWZvcihvPTA7bzxyLmxlbmd0aDtvKyspbiYmaUIocltvXSk7aWYobnVsbD09PWUuYWx0ZXJuYXRlJiYwIT0oMiZlLmZsYWdzKSluJiZpTChlKSxpMShuKTtlbHNle2lmKDIyPT09ZS50YWcpe2lmKHI9ZS5hbHRlcm5hdGUsbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSl7bnVsbCE9PXImJm51bGw9PT1yLm1lbW9pemVkU3RhdGUmJm4mJmlCKHIpLGkxKG4pO2NvbnRpbnVlfWVsc2UgaWYobnVsbCE9PXImJm51bGwhPT1yLm1lbW9pemVkU3RhdGUpe24mJmlMKGUpLGkxKG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsMCE9KGUuc3VidHJlZUZsYWdzJnQpJiZudWxsIT09cj8oci5yZXR1cm49ZSxpRz1yKToobiYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIG49dC5tZW1vaXplZFByb3BzLHI9cm4obix0LnN0YXRlTm9kZSk7bj1ybChuLmRlZmF1bHQsbi51cGRhdGUpLHQuZmxhZ3MmPS01LCJub25lIiE9PW4mJmlEKHQscixuLHQubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0KTt0PXQuc2libGluZ319KGUpLGkxKG4pKX19aXo9bnVsbH0oZSx0LG4pfWZpbmFsbHl7dVM9byxxLnA9bCxXLlQ9cn19dVc9MSwodD1pTyk/dVo9ZnVuY3Rpb24oZSx0LG4scixsLGEsbyxpLHUpe3ZhciBzPTk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgYz1zLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXMuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89cy5mb250cy5zdGF0dXM7cigpO3ZhciBpPVtdO2lmKCJsb2FkZWQiPT09byYmKHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwibG9hZGluZyI9PT1zLmZvbnRzLnN0YXR1cyYmaS5wdXNoKHMuZm9udHMucmVhZHkpKSxvPWkubGVuZ3RoLG51bGwhPT1lKWZvcih2YXIgdT1lLnN1c3BlbnNleUltYWdlcyxjPTAsZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgZD11W2ZdO2lmKCFkLmNvbXBsZXRlKXt2YXIgcD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8cC5ib3R0b20mJjA8cC5yaWdodCYmcC50b3A8dC5pbm5lckhlaWdodCYmcC5sZWZ0PHQuaW5uZXJXaWR0aCl7aWYoKGMrPWZ1KGQpKT5mYyl7aS5sZW5ndGg9bzticmVha31kPW5ldyBQcm9taXNlKGNQLmJpbmQoZCkpLGkucHVzaChkKX19fXJldHVybiAwPGkubGVuZ3RoPyh0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwoaSksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGwsbCksKG4/UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSkpOihsKCksbik/bi5maW5pc2hlZC50aGVuKGEsYSk6dm9pZCBhKCl9LHR5cGVzOm59KTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1jO3ZhciBmPVtdO3JldHVybiBjLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGw9ci5wc2V1ZG9FbGVtZW50O2lmKG51bGwhPWwmJmwuc3RhcnRzV2l0aCgiOjp2aWV3LXRyYW5zaXRpb24iKSl7Zi5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9bD12b2lkIDAsaT0hMCx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBjPW5bdV0sZD1jLndpZHRoO2lmKHZvaWQgMD09PWwpbD1kO2Vsc2UgaWYobCE9PWQpe2k9ITE7YnJlYWt9aWYoZD1jLmhlaWdodCx2b2lkIDA9PT1hKWE9ZDtlbHNlIGlmKGEhPT1kKXtpPSExO2JyZWFrfWRlbGV0ZSBjLndpZHRoLGRlbGV0ZSBjLmhlaWdodCwibm9uZSI9PT1jLnRyYW5zZm9ybSYmZGVsZXRlIGMudHJhbnNmb3JtfWkmJnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEmJihyLnNldEtleWZyYW1lcyhuKSwoaT1nZXRDb21wdXRlZFN0eWxlKHIudGFyZ2V0LHIucHNldWRvRWxlbWVudCkpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1hKSYmKChpPW5bMF0pLndpZHRoPWwsaS5oZWlnaHQ9YSwoaT1uW24ubGVuZ3RoLTFdKS53aWR0aD1sLGkuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe3MuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09YyYmKHMuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiSW52YWxpZFN0YXRlRXJyb3IiPT09ZS5uYW1lJiYoIlZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuIj09PWUubWVzc2FnZXx8IlRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlIj09PWUubWVzc2FnZSkmJihlPW51bGwpLG51bGwhPT1lJiZ1KGUpfWZpbmFsbHl7cigpLGwoKSxvKCl9fSksYy5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5jYW5jZWwoKTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxpKCl9KSxjfWNhdGNoKGUpe3JldHVybiByKCksbCgpLG8oKSxudWxsfX0oZixlLmNvbnRhaW5lckluZm8sdTEsc3ksc2Isc3Ysc3csc0Usc2csbnVsbCxudWxsKTooc3koKSxzYigpLHN3KCkpfX1mdW5jdGlvbiBzZyhlKXswIT09dVcmJigwLHVxLm9uUmVjb3ZlcmFibGVFcnJvcikoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfWZ1bmN0aW9uIHN2KCl7Mz09PXVXJiYodVc9MCx1byh1Syx1cSksdVc9NCl9ZnVuY3Rpb24gc3koKXtpZigxPT09dVcpe3VXPTA7dmFyIGU9dXEsdD11SyxuPXVYLHI9MCE9KDEzODc4JnQuZmxhZ3MpO2lmKDAhPSgxMzg3OCZ0LnN1YnRyZWVGbGFncyl8fHIpe3I9Vy5ULFcuVD1udWxsO3ZhciBsPXEucDtxLnA9Mjt2YXIgYT11Uzt1U3w9NDt0cnl7aUo9aVo9ITEsdXIodCxlLG4pLG49Y2k7dmFyIG89blYoZS5jb250YWluZXJJbmZvKSxpPW4uZm9jdXNlZEVsZW0sdT1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1pJiZpJiZpLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hIXQmJiEhbiYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfShpLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGkpKXtpZihudWxsIT09dSYmbkgoaSkpe3ZhciBzPXUuc3RhcnQsYz11LmVuZDtpZih2b2lkIDA9PT1jJiYoYz1zKSwic2VsZWN0aW9uU3RhcnQiaW4gaSlpLnNlbGVjdGlvblN0YXJ0PXMsaS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYyxpLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgZj1pLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGQ9ZiYmZi5kZWZhdWx0Vmlld3x8d2luZG93O2lmKGQuZ2V0U2VsZWN0aW9uKXt2YXIgcD1kLmdldFNlbGVjdGlvbigpLG09aS50ZXh0Q29udGVudC5sZW5ndGgsaD1NYXRoLm1pbih1LnN0YXJ0LG0pLGc9dm9pZCAwPT09dS5lbmQ/aDpNYXRoLm1pbih1LmVuZCxtKTshcC5leHRlbmQmJmg+ZyYmKG89ZyxnPWgsaD1vKTt2YXIgdj1uQihpLGgpLHk9bkIoaSxnKTtpZih2JiZ5JiYoMSE9PXAucmFuZ2VDb3VudHx8cC5hbmNob3JOb2RlIT09di5ub2RlfHxwLmFuY2hvck9mZnNldCE9PXYub2Zmc2V0fHxwLmZvY3VzTm9kZSE9PXkubm9kZXx8cC5mb2N1c09mZnNldCE9PXkub2Zmc2V0KSl7dmFyIGI9Zi5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQodi5ub2RlLHYub2Zmc2V0KSxwLnJlbW92ZUFsbFJhbmdlcygpLGg+Zz8ocC5hZGRSYW5nZShiKSxwLmV4dGVuZCh5Lm5vZGUseS5vZmZzZXQpKTooYi5zZXRFbmQoeS5ub2RlLHkub2Zmc2V0KSxwLmFkZFJhbmdlKGIpKX19fX1mb3IoZj1bXSxwPWk7cD1wLnBhcmVudE5vZGU7KTE9PT1wLm5vZGVUeXBlJiZmLnB1c2goe2VsZW1lbnQ6cCxsZWZ0OnAuc2Nyb2xsTGVmdCx0b3A6cC5zY3JvbGxUb3B9KTtmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGkuZm9jdXMmJmkuZm9jdXMoKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciB3PWZbaV07dy5lbGVtZW50LnNjcm9sbExlZnQ9dy5sZWZ0LHcuZWxlbWVudC5zY3JvbGxUb3A9dy50b3B9fWZfPSEhY28sY2k9Y289bnVsbH1maW5hbGx5e3VTPWEscS5wPWwsVy5UPXJ9fWUuY3VycmVudD10LHVXPTJ9fWZ1bmN0aW9uIHNiKCl7aWYoMj09PXVXKXt1Vz0wO3ZhciBlPXVxLHQ9dUssbj0wIT0oODc3MiZ0LmZsYWdzKTtpZigwIT0oODc3MiZ0LnN1YnRyZWVGbGFncyl8fG4pe249Vy5ULFcuVD1udWxsO3ZhciByPXEucDtxLnA9Mjt2YXIgbD11Uzt1U3w9NDt0cnl7aTIoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3VTPWwscS5wPXIsVy5UPW59fXVXPTN9fWZ1bmN0aW9uIHN3KCl7aWYoND09PXVXfHwzPT09dVcpe3VXPTAsdVo9bnVsbCxlZygpO3ZhciBlPXVxLHQ9dUssbj11WCxyPXVKLGw9KDB4MTNmZmZmMDAmbik9PT1uPzEwMjYyOjEwMjU2O2lmKDAhPSh0LnN1YnRyZWVGbGFncyZsKXx8MCE9KHQuZmxhZ3MmbCk/dVc9NToodVc9MCx1Sz11cT1udWxsLHNrKGUsZS5wZW5kaW5nTGFuZXMpKSwwPT09KGw9ZS5wZW5kaW5nTGFuZXMpJiYodVE9bnVsbCksZVYobiksdD10LnN0YXRlTm9kZSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uQ29tbWl0RmliZXJSb290KXRyeXtlXy5vbkNvbW1pdEZpYmVyUm9vdChleCx0LHZvaWQgMCwxMjg9PSgxMjgmdC5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fWlmKG51bGwhPT1yKXt0PVcuVCxsPXEucCxxLnA9MixXLlQ9bnVsbDt0cnl7Zm9yKHZhciBhPWUub25SZWNvdmVyYWJsZUVycm9yLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTthKGkudmFsdWUse2NvbXBvbmVudFN0YWNrOmkuc3RhY2t9KX19ZmluYWxseXtXLlQ9dCxxLnA9bH19aWYocj11MCxhPXUxLHUxPW51bGwsbnVsbCE9PXIpZm9yKHUwPW51bGwsbnVsbD09PWEmJihhPVtdKSxpPTA7aTxyLmxlbmd0aDtpKyspKDAscltpXSkoYSk7MCE9KDMmdVgpJiZzUygpLHNGKGUpLGw9ZS5wZW5kaW5nTGFuZXMsMCE9KDI2MTkzMCZuKSYmMCE9KDQyJmwpP2U9PT11Mz91MisrOih1Mj0wLHUzPWUpOnUyPTAsc0EoMCwhMSl9fWZ1bmN0aW9uIHNrKGUsdCl7MD09KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCkmJm51bGwhPSh0PWUucG9vbGVkQ2FjaGUpJiYoZS5wb29sZWRDYWNoZT1udWxsLGxzKHQpKX1mdW5jdGlvbiBzUygpe3JldHVybiBudWxsIT09dVomJih1Wi5za2lwVHJhbnNpdGlvbigpLHVaPW51bGwpLHN5KCksc2IoKSxzdygpLHNFKCl9ZnVuY3Rpb24gc0UoKXtpZig1IT09dVcpcmV0dXJuITE7dmFyIGU9dXEsdD11Rzt1Rz0wO3ZhciBuPWVWKHVYKSxyPVcuVCxsPXEucDt0cnl7cS5wPTMyPm4/MzI6bixXLlQ9bnVsbCxuPXVZLHVZPW51bGw7dmFyIGE9dXEsbz11WDtpZih1Vz0wLHVLPXVxPW51bGwsdVg9MCwwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMzEpKTt2YXIgaT11UztpZih1U3w9NCx1eShhLmN1cnJlbnQpLHVmKGEsYS5jdXJyZW50LG8sbiksdVM9aSxzQSgwLCExKSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7ZV8ub25Qb3N0Q29tbWl0RmliZXJSb290KGV4LGEpfWNhdGNoKGUpe31yZXR1cm4hMH1maW5hbGx5e3EucD1sLFcuVD1yLHNrKGUsdCl9fWZ1bmN0aW9uIHN4KGUsdCxuKXt0PXJOKG4sdCksdD1vRChlLnN0YXRlTm9kZSx0LDIpLG51bGwhPT0oZT1sJChlLHQsMikpJiYoZUYoZSwyKSxzRihlKSl9ZnVuY3Rpb24gc18oZSx0LG4pe2lmKDM9PT1lLnRhZylzeChlLGUsbik7ZWxzZSBmb3IoO251bGwhPT10Oyl7aWYoMz09PXQudGFnKXtzeCh0LGUsbik7YnJlYWt9aWYoMT09PXQudGFnKXt2YXIgcj10LnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09dVF8fCF1US5oYXMocikpKXtlPXJOKG4sZSksbnVsbCE9PShyPWwkKHQsbj1vRigyKSwyKSkmJihvQShuLHIsdCxlKSxlRihyLDIpLHNGKHIpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gc1AoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyB1azt2YXIgbD1uZXcgU2V0O3Iuc2V0KHQsbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldCh0KSkmJihsPW5ldyBTZXQsci5zZXQodCxsKSk7bC5oYXMobil8fCh1Tz0hMCxsLmFkZChuKSxlPXNOLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bix1RT09PWUmJih1XyZuKT09PW4mJig0PT09dUx8fDM9PT11TCYmKDB4M2MwMDAwMCZ1Xyk9PT11XyYmMzAwPmV2KCktdUI/MD09KDImdVMpJiZzcihlLDApOnVJfD1uLHVGPT09dV8mJih1Rj0wKSksc0YoZSl9ZnVuY3Rpb24gc0MoZSx0KXswPT09dCYmKHQ9ZUkoKSksbnVsbCE9PShlPXJkKGUsdCkpJiYoZUYoZSx0KSxzRihlKSl9ZnVuY3Rpb24gc1QoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLHNDKGUsbil9ZnVuY3Rpb24gc08oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOnZhciByPWUuc3RhdGVOb2RlLGw9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1sJiYobj1sLnJldHJ5TGFuZSk7YnJlYWs7Y2FzZSAxOTpyPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMjI6cj1lLnN0YXRlTm9kZS5fcmV0cnlDYWNoZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLHNDKGUsbil9dmFyIHN6PW51bGwsc0w9bnVsbCxzUj0hMSxzTT0hMSxzST0hMSxzRD0wO2Z1bmN0aW9uIHNGKGUpe2UhPT1zTCYmbnVsbD09PWUubmV4dCYmKG51bGw9PT1zTD9zej1zTD1lOnNMPXNMLm5leHQ9ZSksc009ITAsc1J8fChzUj0hMCxjZyhmdW5jdGlvbigpezAhPSg2JnVTKT9lcChlYixzaik6c1UoKX0pKX1mdW5jdGlvbiBzQShlLHQpe2lmKCFzSSYmc00pe3NJPSEwO2RvIGZvcih2YXIgbj0hMSxyPXN6O251bGwhPT1yOyl7aWYoIXQpaWYoMCE9PWUpe3ZhciBsPXIucGVuZGluZ0xhbmVzO2lmKDA9PT1sKXZhciBhPTA7ZWxzZXt2YXIgbz1yLnN1c3BlbmRlZExhbmVzLGk9ci5waW5nZWRMYW5lczthPTB4YzAwMDA5NSYoYT0oMTw8MzEtZVAoNDJ8ZSkrMSktMSYobCZ+KG8mfmkpKSk/MHhjMDAwMDk1JmF8MTphPzJ8YTowfTAhPT1hJiYobj0hMCxzSChyLGEpKX1lbHNlIGE9dV8sMD09KDMmKGE9ZVIocixyPT09dUU/YTowLG51bGwhPT1yLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ci50aW1lb3V0SGFuZGxlKSkpfHxlTShyLGEpfHwobj0hMCxzSChyLGEpKTtyPXIubmV4dH13aGlsZShuKXNJPSExfX1mdW5jdGlvbiBzaigpe3NVKCl9ZnVuY3Rpb24gc1UoKXtzTT1zUj0hMTt2YXIgZSx0PTA7MD09PXNEfHwoKGU9d2luZG93LmV2ZW50KSYmInBvcHN0YXRlIj09PWUudHlwZT9lPT09Y2R8fChjZD1lLDApOihjZD1udWxsLDEpKXx8KHQ9c0QpO2Zvcih2YXIgbj1ldigpLHI9bnVsbCxsPXN6O251bGwhPT1sOyl7dmFyIGE9bC5uZXh0LG89c0IobCxuKTswPT09bz8obC5uZXh0PW51bGwsbnVsbD09PXI/c3o9YTpyLm5leHQ9YSxudWxsPT09YSYmKHNMPXIpKToocj1sLCgwIT09dHx8MCE9KDMmbykpJiYoc009ITApKSxsPWF9MCE9PXVXJiY1IT09dVd8fHNBKHQsITEpLDAhPT1zRCYmKHNEPTApfWZ1bmN0aW9uIHNCKGUsdCl7Zm9yKHZhciBuPWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT0tMHgzYzAwMDAxJmUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBvPTMxLWVQKGEpLGk9MTw8byx1PWxbb107LTE9PT11PygwPT0oaSZuKXx8MCE9KGkmcikpJiYobFtvXT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztkZWZhdWx0OnJldHVybiAtMX19KGksdCkpOnU8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksYSY9fml9aWYodD11RSxuPXVfLG49ZVIoZSxlPT09dD9uOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpLHI9ZS5jYWxsYmFja05vZGUsMD09PW58fGU9PT10JiYoMj09PXVQfHw5PT09dVApfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoMD09KDMmbil8fGVNKGUsbikpe2lmKCh0PW4mLW4pPT09ZS5jYWxsYmFja1ByaW9yaXR5KXJldHVybiB0O3N3aXRjaChudWxsIT09ciYmZW0ociksZVYobikpe2Nhc2UgMjpjYXNlIDg6bj1ldzticmVhaztjYXNlIDMyOmRlZmF1bHQ6bj1lazticmVhaztjYXNlIDB4MTAwMDAwMDA6bj1lRX1yZXR1cm4gbj1lcChuLHI9c1YuYmluZChudWxsLGUpKSxlLmNhbGxiYWNrUHJpb3JpdHk9dCxlLmNhbGxiYWNrTm9kZT1uLHR9cmV0dXJuIG51bGwhPT1yJiZudWxsIT09ciYmZW0ociksZS5jYWxsYmFja1ByaW9yaXR5PTIsZS5jYWxsYmFja05vZGU9bnVsbCwyfWZ1bmN0aW9uIHNWKGUsdCl7aWYoMCE9PXVXJiY1IT09dVcpcmV0dXJuIGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsbnVsbDt2YXIgbj1lLmNhbGxiYWNrTm9kZTtpZihzUygpJiZlLmNhbGxiYWNrTm9kZSE9PW4pcmV0dXJuIG51bGw7dmFyIHI9dV87cmV0dXJuIDA9PT0ocj1lUihlLGU9PT11RT9yOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpKT9udWxsOih1OShlLHIsdCksc0IoZSxldigpKSxudWxsIT1lLmNhbGxiYWNrTm9kZSYmZS5jYWxsYmFja05vZGU9PT1uP3NWLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBzSChlLHQpe2lmKHNTKCkpcmV0dXJuIG51bGw7dTkoZSx0LCEwKX1mdW5jdGlvbiBzJCgpe2lmKDA9PT1zRCl7dmFyIGU9bG07MD09PWUmJihlPWVULDA9PSgyNjE4ODgmKGVUPDw9MSkpJiYoZVQ9MjU2KSksc0Q9ZX1yZXR1cm4gc0R9ZnVuY3Rpb24gc1EoZSl7cmV0dXJuIG51bGw9PWV8fCJzeW1ib2wiPT10eXBlb2YgZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dEMoIiIrZSl9ZnVuY3Rpb24gc1coZSx0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gbi5uYW1lPXQubmFtZSxuLnZhbHVlPXQudmFsdWUsZS5pZCYmbi5zZXRBdHRyaWJ1dGUoImZvcm0iLGUuaWQpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KSxlPW5ldyBGb3JtRGF0YShlKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX1mb3IodmFyIHNxPTA7c3E8bjcubGVuZ3RoO3NxKyspe3ZhciBzSz1uN1tzcV07cmUoc0sudG9Mb3dlckNhc2UoKSwib24iKyhzS1swXS50b1VwcGVyQ2FzZSgpK3NLLnNsaWNlKDEpKSl9cmUobjEsIm9uQW5pbWF0aW9uRW5kIikscmUobjIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIikscmUobjMsIm9uQW5pbWF0aW9uU3RhcnQiKSxyZSgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIikscmUoImZvY3VzaW4iLCJvbkZvY3VzIikscmUoImZvY3Vzb3V0Iiwib25CbHVyIikscmUobjQsIm9uVHJhbnNpdGlvblJ1biIpLHJlKG44LCJvblRyYW5zaXRpb25TdGFydCIpLHJlKG41LCJvblRyYW5zaXRpb25DYW5jZWwiKSxyZShuNiwib25UcmFuc2l0aW9uRW5kIiksZTcoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxlNygib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksZTcoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlOSgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksZTkoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksZTkoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLGU5KCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzWD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksc0c9bmV3IFNldCgiYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHNYKSk7ZnVuY3Rpb24gc1koZSx0KXt0PTAhPSg0JnQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZih0KWZvcih2YXIgbz1yLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgaT1yW29dLHU9aS5pbnN0YW5jZSxzPWkuY3VycmVudFRhcmdldDtpZihpPWkubGlzdGVuZXIsdSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2E9aSxsLmN1cnJlbnRUYXJnZXQ9czt0cnl7YShsKX1jYXRjaChlKXtyYShlKX1sLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPXV9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKXtpZih1PShpPXJbb10pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0LGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JhKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX19fX1mdW5jdGlvbiBzSihlLHQpe3ZhciBuPXRbZVhdO3ZvaWQgMD09PW4mJihuPXRbZVhdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjtuLmhhcyhyKXx8KHMyKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gc1ooZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLHMyKG4sZSxyLHQpfXZhciBzMD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBzMShlKXtpZighZVtzMF0pe2VbczBdPSEwLGU1LmZvckVhY2goZnVuY3Rpb24odCl7InNlbGVjdGlvbmNoYW5nZSIhPT10JiYoc0cuaGFzKHQpfHxzWih0LCExLGUpLHNaKHQsITAsZSkpfSk7dmFyIHQ9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7bnVsbD09PXR8fHRbczBdfHwodFtzMF09ITAsc1ooInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBzMihlLHQsbixyKXtzd2l0Y2goZkwodCkpe2Nhc2UgMjp2YXIgbD1mUDticmVhaztjYXNlIDg6bD1mTjticmVhaztkZWZhdWx0Omw9ZkN9bj1sLmJpbmQobnVsbCx0LG4sZSksbD12b2lkIDAsdGomJigidG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10KSYmKGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSl9ZnVuY3Rpb24gczMoZSx0LG4scixsKXt2YXIgYT1yO2lmKDA9PSgxJnQpJiYwPT0oMiZ0KSYmbnVsbCE9PXIpZTpmb3IoOzspe2lmKG51bGw9PT1yKXJldHVybjt2YXIgbz1yLnRhZztpZigzPT09b3x8ND09PW8pe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWwpYnJlYWs7aWYoND09PW8pZm9yKG89ci5yZXR1cm47bnVsbCE9PW87KXt2YXIgdT1vLnRhZztpZigoMz09PXV8fDQ9PT11KSYmby5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWwpcmV0dXJuO289by5yZXR1cm59Zm9yKDtudWxsIT09aTspe2lmKG51bGw9PT0obz1lMShpKSkpcmV0dXJuO2lmKDU9PT0odT1vLnRhZyl8fDY9PT11fHwyNj09PXV8fDI3PT09dSl7cj1hPW87Y29udGludWUgZX1pPWkucGFyZW50Tm9kZX19cj1yLnJldHVybn10RChmdW5jdGlvbigpe3ZhciByPWEsbD10eihuKSxvPVtdO2U6e3ZhciBpPW45LmdldChlKTtpZih2b2lkIDAhPT1pKXt2YXIgdT10MSxzPWU7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT10UShuKSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6dT1ubzticmVhaztjYXNlImZvY3VzaW4iOnM9ImZvY3VzIix1PXQ2O2JyZWFrO2Nhc2UiZm9jdXNvdXQiOnM9ImJsdXIiLHU9dDY7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6dT10NjticmVhaztjYXNlImNsaWNrIjppZigyPT09bi5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOnU9dDg7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6dT10NTticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0Ijp1PW51O2JyZWFrO2Nhc2UgbjE6Y2FzZSBuMjpjYXNlIG4zOnU9dDk7YnJlYWs7Y2FzZSBuNjp1PW5zO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6dT10MzticmVhaztjYXNlIndoZWVsIjp1PW5jO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnU9dDc7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6dT1uaTticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOnU9bmZ9dmFyIGY9MCE9KDQmdCksZD0hZiYmKCJzY3JvbGwiPT09ZXx8InNjcm9sbGVuZCI9PT1lKSxwPWY/bnVsbCE9PWk/aSsiQ2FwdHVyZSI6bnVsbDppO2Y9W107Zm9yKHZhciBtLGg9cjtudWxsIT09aDspe3ZhciBnPWg7aWYobT1nLnN0YXRlTm9kZSw1IT09KGc9Zy50YWcpJiYyNiE9PWcmJjI3IT09Z3x8bnVsbD09PW18fG51bGw9PT1wfHxudWxsIT0oZz10RihoLHApKSYmZi5wdXNoKHM0KGgsZyxtKSksZClicmVhaztoPWgucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyB1KGkscyxudWxsLG4sbCksby5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZ0KSl7dT0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsISh1JiZuIT09dE8mJihzPW4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCkmJihlMShzKXx8c1tlS10pKSYmKGl8fHUpJiYocz1sLndpbmRvdz09PWw/bDoodT1sLm93bmVyRG9jdW1lbnQpP3UuZGVmYXVsdFZpZXd8fHUucGFyZW50V2luZG93OndpbmRvdyxpPyh1PW4ucmVsYXRlZFRhcmdldHx8bi50b0VsZW1lbnQsaT1yLG51bGwhPT0odT11P2UxKHUpOm51bGwpJiYoZD1jKHUpLGY9dS50YWcsdSE9PWR8fDUhPT1mJiYyNyE9PWYmJjYhPT1mKSYmKHU9bnVsbCkpOihpPW51bGwsdT1yKSxpIT09dSYmKGY9dDgsZz0ib25Nb3VzZUxlYXZlIixwPSJvbk1vdXNlRW50ZXIiLGg9Im1vdXNlIiwoInBvaW50ZXJvdXQiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUpJiYoZj1uaSxnPSJvblBvaW50ZXJMZWF2ZSIscD0ib25Qb2ludGVyRW50ZXIiLGg9InBvaW50ZXIiKSxkPW51bGw9PWk/czplMyhpKSxtPW51bGw9PXU/czplMyh1KSwocz1uZXcgZihnLGgrImxlYXZlIixpLG4sbCkpLnRhcmdldD1kLHMucmVsYXRlZFRhcmdldD1tLGc9bnVsbCxlMShsKT09PXImJigoZj1uZXcgZihwLGgrImVudGVyIix1LG4sbCkpLnRhcmdldD1tLGYucmVsYXRlZFRhcmdldD1kLGc9ZiksZD1nLGY9aSYmdT9FKGksdSxzNSk6bnVsbCxudWxsIT09aSYmczYobyxzLGksZiwhMSksbnVsbCE9PXUmJm51bGwhPT1kJiZzNihvLGQsdSxmLCEwKSkpO2U6e2lmKCJzZWxlY3QiPT09KHU9KGk9cj9lMyhyKTp3aW5kb3cpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09dSYmImZpbGUiPT09aS50eXBlKXZhciB2LHk9bkM7ZWxzZSBpZihuUyhpKSlpZihuVCl5PW5GO2Vsc2V7eT1uSTt2YXIgYj1uTX1lbHNlKHU9aS5ub2RlTmFtZSkmJiJpbnB1dCI9PT11LnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09aS50eXBlfHwicmFkaW8iPT09aS50eXBlKT95PW5EOnImJnRfKHIuZWxlbWVudFR5cGUpJiYoeT1uQyk7aWYoeSYmKHk9eShlLHIpKSl7bkUobyx5LG4sbCk7YnJlYWsgZX1iJiZiKGUsaSxyKSwiZm9jdXNvdXQiPT09ZSYmciYmIm51bWJlciI9PT1pLnR5cGUmJm51bGwhPXIubWVtb2l6ZWRQcm9wcy52YWx1ZSYmdHYoaSwibnVtYmVyIixpLnZhbHVlKX1zd2l0Y2goYj1yP2UzKHIpOndpbmRvdyxlKXtjYXNlImZvY3VzaW4iOihuUyhiKXx8InRydWUiPT09Yi5jb250ZW50RWRpdGFibGUpJiYoblE9YixuVz1yLG5xPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOm5xPW5XPW5RPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOm5LPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpuSz0hMSxuWChvLG4sbCk7YnJlYWs7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKG4kKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6blgobyxuLGwpfWlmKG5wKXQ6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciB3PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIHQ7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjp3PSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayB0fXc9dm9pZCAwfWVsc2Ugbnc/bnkoZSxuKSYmKHc9Im9uQ29tcG9zaXRpb25FbmQiKToia2V5ZG93biI9PT1lJiYyMjk9PT1uLmtleUNvZGUmJih3PSJvbkNvbXBvc2l0aW9uU3RhcnQiKTt3JiYobmcmJiJrbyIhPT1uLmxvY2FsZSYmKG53fHwib25Db21wb3NpdGlvblN0YXJ0IiE9PXc/Im9uQ29tcG9zaXRpb25FbmQiPT09dyYmbncmJih2PXQkKCkpOih0Vj0idmFsdWUiaW4odEI9bCk/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsbnc9ITApKSwwPChiPXM4KHIsdykpLmxlbmd0aCYmKHc9bmV3IG5lKHcsZSxudWxsLG4sbCksby5wdXNoKHtldmVudDp3LGxpc3RlbmVyczpifSksdj93LmRhdGE9djpudWxsIT09KHY9bmIobikpJiYody5kYXRhPXYpKSksKHY9bmg/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG5iKHQpO2Nhc2Uia2V5cHJlc3MiOmlmKDMyIT09dC53aGljaClyZXR1cm4gbnVsbDtyZXR1cm4gbnY9ITAsIiAiO2Nhc2UidGV4dElucHV0IjpyZXR1cm4iICI9PT0oZT10LmRhdGEpJiZudj9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbik6ZnVuY3Rpb24oZSx0KXtpZihudylyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IW5wJiZueShlLHQpPyhlPXQkKCksdEg9dFY9dEI9bnVsbCxudz0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBuZyYmImtvIiE9PXQubG9jYWxlP251bGw6dC5kYXRhfX0oZSxuKSkmJjA8KHc9czgociwib25CZWZvcmVJbnB1dCIpKS5sZW5ndGgmJihiPW5ldyBuZSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sbCksby5wdXNoKHtldmVudDpiLGxpc3RlbmVyczp3fSksYi5kYXRhPXYpO3ZhciBrPWU7aWYoInN1Ym1pdCI9PT1rJiZyJiZyLnN0YXRlTm9kZT09PWwpe3ZhciBTPXNRKChsW2VxXXx8bnVsbCkuYWN0aW9uKSx4PW4uc3VibWl0dGVyO3gmJm51bGwhPT0oaz0oaz14W2VxXXx8bnVsbCk/c1Eoay5mb3JtQWN0aW9uKTp4LmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpKSYmKFM9ayx4PW51bGwpO3ZhciBfPW5ldyB0MSgiYWN0aW9uIiwiYWN0aW9uIixudWxsLG4sbCk7by5wdXNoKHtldmVudDpfLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihuLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKDAhPT1zRCl7dmFyIGU9eD9zVyhsLHgpOm5ldyBGb3JtRGF0YShsKTtvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOlN9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgUyYmKF8ucHJldmVudERlZmF1bHQoKSxvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZT14P3NXKGwseCk6bmV3IEZvcm1EYXRhKGwpLG1ldGhvZDpsLm1ldGhvZCxhY3Rpb246U30sUyxlKSl9LGN1cnJlbnRUYXJnZXQ6bH1dfSl9fXNZKG8sdCl9KX1mdW5jdGlvbiBzNChlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHM4KGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLHI9W107bnVsbCE9PWU7KXt2YXIgbD1lLGE9bC5zdGF0ZU5vZGU7aWYoNSE9PShsPWwudGFnKSYmMjYhPT1sJiYyNyE9PWx8fG51bGw9PT1hfHwobnVsbCE9KGw9dEYoZSxuKSkmJnIudW5zaGlmdChzNChlLGwsYSkpLG51bGwhPShsPXRGKGUsdCkpJiZyLnB1c2goczQoZSxsLGEpKSksMz09PWUudGFnKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gczUoZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcpcmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gczYoZSx0LG4scixsKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLG89W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGk9bix1PWkuYWx0ZXJuYXRlLHM9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxudWxsIT09dSYmdT09PXIpYnJlYWs7NSE9PWkmJjI2IT09aSYmMjchPT1pfHxudWxsPT09c3x8KHU9cyxsP251bGwhPShzPXRGKG4sYSkpJiZvLnVuc2hpZnQoczQobixzLHUpKTpsfHxudWxsIT0ocz10RihuLGEpKSYmby5wdXNoKHM0KG4scyx1KSkpLG49bi5yZXR1cm59MCE9PW8ubGVuZ3RoJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgczk9L1xyXG4/L2csczc9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiBjZShlKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2U6IiIrZSkucmVwbGFjZShzOSwiXG4iKS5yZXBsYWNlKHM3LCIiKX1mdW5jdGlvbiBjdChlLHQpe3JldHVybiB0PWNlKHQpLGNlKGUpPT09dH1mdW5jdGlvbiBjbihlLHQsbixyLGwsYSl7c3dpdGNoKG4pe2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2YgcikiYm9keSI9PT10fHwidGV4dGFyZWEiPT09dCYmIiI9PT1yfHx0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuOyJib2R5IiE9PXQmJnRrKGUsIiIrcil9YnJlYWs7Y2FzZSJjbGFzc05hbWUiOnRvKGUsImNsYXNzIixyKTticmVhaztjYXNlInRhYkluZGV4Ijp0byhlLCJ0YWJpbmRleCIscik7YnJlYWs7Y2FzZSJkaXIiOmNhc2Uicm9sZSI6Y2FzZSJ2aWV3Qm94IjpjYXNlIndpZHRoIjpjYXNlImhlaWdodCI6dG8oZSxuLHIpO2JyZWFrO2Nhc2Uic3R5bGUiOnR4KGUscixhKTtyZXR1cm47Y2FzZSJkYXRhIjppZigib2JqZWN0IiE9PXQpe3RvKGUsImRhdGEiLHIpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKCIiPT09ciYmKCJhIiE9PXR8fCJocmVmIiE9PW4pfHxudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKCIiK3IpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoImZvcm1BY3Rpb24iPT09bj8oImlucHV0IiE9PXQmJmNuKGUsdCwibmFtZSIsbC5uYW1lLGwsbnVsbCksY24oZSx0LCJmb3JtRW5jVHlwZSIsbC5mb3JtRW5jVHlwZSxsLG51bGwpLGNuKGUsdCwiZm9ybU1ldGhvZCIsbC5mb3JtTWV0aG9kLGwsbnVsbCksY24oZSx0LCJmb3JtVGFyZ2V0IixsLmZvcm1UYXJnZXQsbCxudWxsKSk6KGNuKGUsdCwiZW5jVHlwZSIsbC5lbmNUeXBlLGwsbnVsbCksY24oZSx0LCJtZXRob2QiLGwubWV0aG9kLGwsbnVsbCksY24oZSx0LCJ0YXJnZXQiLGwudGFyZ2V0LGwsbnVsbCkpKSxudWxsPT1yfHwic3ltYm9sIj09dHlwZW9mIHJ8fCJib29sZWFuIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9dEMoIiIrciksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlIm9uU2Nyb2xsIjpudWxsIT1yJiZzSigic2Nyb2xsIixlKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6bnVsbCE9ciYmc0ooInNjcm9sbGVuZCIsZSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UibXVsdGlwbGUiOmUubXVsdGlwbGU9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgcjticmVhaztjYXNlIm11dGVkIjplLm11dGVkPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKG51bGw9PXJ8fCJmdW5jdGlvbiI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByfHwic3ltYm9sIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9bj10QygiIityKSxlLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsbik7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiK3IpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpyJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByP2Uuc2V0QXR0cmlidXRlKG4sIiIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOiExIT09ciYmbnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgciYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UicG9wb3ZlciI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksdGEoZSwicG9wb3ZlciIscik7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixyKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIscik7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixyKTticmVhaztjYXNlInhsaW5rVGl0bGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIscik7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixyKTticmVhaztjYXNlInhtbEJhc2UiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixyKTticmVhaztjYXNlInhtbExhbmciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixyKTticmVhaztjYXNlInhtbFNwYWNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLHIpO2JyZWFrO2Nhc2UiaXMiOnRhKGUsImlzIixyKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6cmV0dXJuO2RlZmF1bHQ6aWYoMjxuLmxlbmd0aCYmKCJvIj09PW5bMF18fCJPIj09PW5bMF0pJiYoIm4iPT09blsxXXx8Ik4iPT09blsxXSkpcmV0dXJuO3RhKGUsbj10UC5nZXQobil8fG4scil9dHI9ITB9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlInN0eWxlIjp0eChlLHIsYSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2Ygcil0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuO3RrKGUsIiIrcil9YnJlYWs7Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc0ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNKKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKCFlNi5oYXNPd25Qcm9wZXJ0eShuKSllOntpZigibyI9PT1uWzBdJiYibiI9PT1uWzFdJiYobD1uLmVuZHNXaXRoKCJDYXB0dXJlIiksdD1uLnNsaWNlKDIsbD9uLmxlbmd0aC03OnZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mKGE9bnVsbCE9KGE9ZVtlcV18fG51bGwpP2Fbbl06bnVsbCkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEsbCksImZ1bmN0aW9uIj09dHlwZW9mIHIpKXsiZnVuY3Rpb24iIT10eXBlb2YgYSYmbnVsbCE9PWEmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQscixsKTticmVhayBlfXRyPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOnRhKGUsbixyKX1yZXR1cm59dHI9ITB9ZnVuY3Rpb24gY2woZSx0LG4pe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6c0ooImVycm9yIixlKSxzSigibG9hZCIsZSk7dmFyIHIsbD0hMSxhPSExO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIG89bltyXTtpZihudWxsIT1vKXN3aXRjaChyKXtjYXNlInNyYyI6bD0hMDticmVhaztjYXNlInNyY1NldCI6YT0hMDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjbihlLHQscixvLG4sbnVsbCl9fWEmJmNuKGUsdCwic3JjU2V0IixuLnNyY1NldCxuLG51bGwpLGwmJmNuKGUsdCwic3JjIixuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlImlucHV0IjpzSigiaW52YWxpZCIsZSk7dmFyIGk9cj1vPWE9bnVsbCxzPW51bGwsYz1udWxsO2ZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSl7dmFyIGY9bltsXTtpZihudWxsIT1mKXN3aXRjaChsKXtjYXNlIm5hbWUiOmE9ZjticmVhaztjYXNlInR5cGUiOm89ZjticmVhaztjYXNlImNoZWNrZWQiOnM9ZjticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpjPWY7YnJlYWs7Y2FzZSJ2YWx1ZSI6cj1mO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPWY7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9Zil0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDpjbihlLHQsbCxmLG4sbnVsbCl9fXRnKGUscixpLHMsYyxvLGEsITEpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gc0ooImludmFsaWQiLGUpLGw9bz1yPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT0oaT1uW2FdKSlzd2l0Y2goYSl7Y2FzZSJ2YWx1ZSI6cj1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPWk7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6bD1pO2RlZmF1bHQ6Y24oZSx0LGEsaSxuLG51bGwpfXQ9cixuPW8sZS5tdWx0aXBsZT0hIWwsbnVsbCE9dD90eShlLCEhbCx0LCExKTpudWxsIT1uJiZ0eShlLCEhbCxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKG8gaW4gc0ooImludmFsaWQiLGUpLHI9YT1sPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KG8pJiZudWxsIT0oaT1uW29dKSlzd2l0Y2gobyl7Y2FzZSJ2YWx1ZSI6bD1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphPWk7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6cj1pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWkpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6Y24oZSx0LG8saSxuLG51bGwpfXR3KGUsbCxhLHIpO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHMgaW4gbiluLmhhc093blByb3BlcnR5KHMpJiZudWxsIT0obD1uW3NdKSYmKCJzZWxlY3RlZCI9PT1zP2Uuc2VsZWN0ZWQ9bCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwmJiJzeW1ib2wiIT10eXBlb2YgbDpjbihlLHQscyxsLG4sbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksc0ooImNhbmNlbCIsZSksc0ooImNsb3NlIixlKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnNKKCJsb2FkIixlKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8c1gubGVuZ3RoO2wrKylzSihzWFtsXSxlKTticmVhaztjYXNlImltYWdlIjpzSigiZXJyb3IiLGUpLHNKKCJsb2FkIixlKTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOnNKKCJlcnJvciIsZSksc0ooImxvYWQiLGUpO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihjIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShjKSYmbnVsbCE9KGw9bltjXSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmNuKGUsdCxjLGwsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiZ2b2lkIDAhPT0obD1uW2ZdKSYmY3IoZSx0LGYsbCxuLHZvaWQgMCk7cmV0dXJufX1mb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPShsPW5baV0pJiZjbihlLHQsaSxsLG4sbnVsbCl9ZnVuY3Rpb24gY2EoZSl7c3dpdGNoKGUpe2Nhc2UiY3NzIjpjYXNlInNjcmlwdCI6Y2FzZSJmb250IjpjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJpbnB1dCI6Y2FzZSJsaW5rIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgY289bnVsbCxjaT1udWxsO2Z1bmN0aW9uIGN1KGUpe3JldHVybiA5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBjcyhlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBjYyhlLHQpe2lmKDA9PT1lKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiAxPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8wOmV9ZnVuY3Rpb24gY2YoZSx0KXtyZXR1cm4idGV4dGFyZWEiPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwiYmlnaW50Ij09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBjZD1udWxsLGNwPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLGNtPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxjZz0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6dm9pZCAwIT09Y2g/ZnVuY3Rpb24oZSl7cmV0dXJuIGNoLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChjdil9OmNwO2Z1bmN0aW9uIGN2KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gY3koZSl7cmV0dXJuImhlYWQiPT09ZX1mdW5jdGlvbiBjYihlLHQpe3ZhciBuPXQscj0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiY4PT09bC5ub2RlVHlwZSlpZigiLyQiPT09KG49bC5kYXRhKXx8Ii8mIj09PW4pe2lmKDA9PT1yKXtlLnJlbW92ZUNoaWxkKGwpLGZHKHQpO3JldHVybn1yLS19ZWxzZSBpZigiJCI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCIkISI9PT1ufHwiJiI9PT1uKXIrKztlbHNlIGlmKCJodG1sIj09PW4pY0coZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZigiaGVhZCI9PT1uKXtjRyhuPWUub3duZXJEb2N1bWVudC5oZWFkKTtmb3IodmFyIGE9bi5maXJzdENoaWxkO2E7KXt2YXIgbz1hLm5leHRTaWJsaW5nLGk9YS5ub2RlTmFtZTthW2VaXXx8IlNDUklQVCI9PT1pfHwiU1RZTEUiPT09aXx8IkxJTksiPT09aSYmInN0eWxlc2hlZXQiPT09YS5yZWwudG9Mb3dlckNhc2UoKXx8bi5yZW1vdmVDaGlsZChhKSxhPW99fWVsc2UiYm9keSI9PT1uJiZjRyhlLm93bmVyRG9jdW1lbnQuYm9keSk7bj1sfXdoaWxlKG4pZkcodCl9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKDE9PT1uLm5vZGVUeXBlP3Q/KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHwiIiwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6Mz09PW4ubm9kZVR5cGUmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT0iIik6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fCIiKSxyJiY4PT09ci5ub2RlVHlwZSlpZigiLyQiPT09KG49ci5kYXRhKSlpZigwPT09ZSlicmVhaztlbHNlIGUtLTtlbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJCEiIT09bnx8ZSsrO249cn13aGlsZShuKX1mdW5jdGlvbiBjayhlLHQsbil7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsbnVsbCE9biYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz1uKSwiaW5saW5lIj09PShuPWdldENvbXB1dGVkU3R5bGUoZSkpLmRpc3BsYXkpe2lmKDE9PT0odD1lLmdldENsaWVudFJlY3RzKCkpLmxlbmd0aCl2YXIgcj0xO2Vsc2UgZm9yKHZhciBsPXI9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTswPGEud2lkdGgmJjA8YS5oZWlnaHQmJnIrK30xPT09ciYmKChlPWUuc3R5bGUpLmRpc3BsYXk9MT09PXQubGVuZ3RoPyJpbmxpbmUtYmxvY2siOiJibG9jayIsZS5tYXJnaW5Ub3A9Ii0iK24ucGFkZGluZ1RvcCxlLm1hcmdpbkJvdHRvbT0iLSIrbi5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gY1MoZSx0KXtlPWUuc3R5bGU7dmFyIG49bnVsbCE9KHQ9dC5zdHlsZSk/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtlLnZpZXdUcmFuc2l0aW9uTmFtZT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksbj1udWxsIT10P3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGUudmlld1RyYW5zaXRpb25DbGFzcz1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksImlubGluZS1ibG9jayI9PT1lLmRpc3BsYXkmJihudWxsPT10P2UuZGlzcGxheT1lLm1hcmdpbj0iIjoobj10LmRpc3BsYXksZS5kaXNwbGF5PW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bixudWxsIT0obj10Lm1hcmdpbik/ZS5tYXJnaW49bjoobj10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sZS5tYXJnaW5Ub3A9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjpuLHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGUubWFyZ2luQm90dG9tPW51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHQ/IiI6dCkpKX1mdW5jdGlvbiBjRShlLHQsbil7cmV0dXJuIG49bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmUsYWJzOiJhYnNvbHV0ZSI9PT10LnBvc2l0aW9ufHwiZml4ZWQiPT09dC5wb3NpdGlvbixjbGlwOiJub25lIiE9PXQuY2xpcFBhdGh8fCJ2aXNpYmxlIiE9PXQub3ZlcmZsb3d8fCJub25lIiE9PXQuZmlsdGVyfHwibm9uZSIhPT10Lm1hc2t8fCJub25lIiE9PXQubWFza3x8IjBweCIhPT10LmJvcmRlclJhZGl1cyx2aWV3OjA8PWUuYm90dG9tJiYwPD1lLnJpZ2h0JiZlLnRvcDw9bi5pbm5lckhlaWdodCYmZS5sZWZ0PD1uLmlubmVyV2lkdGh9fWZ1bmN0aW9uIGN4KGUpe3JldHVybiBjRShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY18oZSl7dmFyIHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gY0UodD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBjUChlKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpfWZ1bmN0aW9uIGNOKGUsdCl7dGhpcy5fc2NvcGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX3NlbGVjdG9yPSI6OnZpZXctdHJhbnNpdGlvbi0iK2UrIigiK3QrIikifWZ1bmN0aW9uIGNDKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IGNOKCJncm91cCIsZSksaW1hZ2VQYWlyOm5ldyBjTigiaW1hZ2UtcGFpciIsZSksb2xkOm5ldyBjTigib2xkIixlKSxuZXc6bmV3IGNOKCJuZXciLGUpfX1mdW5jdGlvbiBjVChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9ZnVuY3Rpb24gY08oZSx0LG4scil7cmV0dXJuIGcoZSkuYWRkRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY3ooZSx0LG4scil7cmV0dXJuIGcoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY0woZSl7cmV0dXJuIG51bGw9PWU/IjAiOiJib29sZWFuIj09dHlwZW9mIGU/ImM9IisoZT8iMSI6IjAiKToiYz0iKyhlLmNhcHR1cmU/IjEiOiIwIikrIiZvPSIrKGUub25jZT8iMSI6IjAiKSsiJnA9IisoZS5wYXNzaXZlPyIxIjoiMCIpfWZ1bmN0aW9uIGNSKGUsdCxuLHIpe2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYT1lW2xdO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZjTChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09Y0wocikpcmV0dXJuIGx9cmV0dXJuIC0xfWZ1bmN0aW9uIGNNKGUsdCl7dmFyIG49ZT1nKGUpLHI9dDtmdW5jdGlvbiBsKCl7YT0hMH12YXIgYT0hMTt0cnl7bi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbCksKG4uZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChuLHIpfWZpbmFsbHl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbCl9cmV0dXJuIGF9ZnVuY3Rpb24gY0koZSx0KXtyZXR1cm4gdC5wdXNoKGUpLCExfWZ1bmN0aW9uIGNEKGUpe3JldHVybihlPWcoZSkpPT09ZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gZT1nKGUpLHQub2JzZXJ2ZShlKSwhMX1mdW5jdGlvbiBjQShlLHQpe3JldHVybiBlPWcoZSksdC51bm9ic2VydmUoZSksITF9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSksITF9ZnVuY3Rpb24gY1UoZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KX1mdW5jdGlvbiBjQihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjQihuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNWKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjSChlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGMkKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNRKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNOLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTp4KHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY04ucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNOLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjVC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y1IocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjTyxlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNULnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGN6LGUsdCxuKSxlPWNSKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjVC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY1QucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjTSxlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjTSh0W25dLGUpO24tLSk7fSxjVC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9LGNULnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7bnVsbD09PXRoaXMuX29ic2VydmVycyYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRixlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUudW5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fb2JzZXJ2ZXJzO251bGwhPT10JiZ0LmhhcyhlKSYmKHQuZGVsZXRlKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjQSxlLHZvaWQgMCx2b2lkIDApKX0sY1QucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjaixlLHZvaWQgMCx2b2lkIDApLGV9LGNULnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiBudWxsPT09dD90aGlzOmcodCkuZ2V0Um9vdE5vZGUoZSl9LGNULnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDt2YXIgbj1bXTttKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0ksbix2b2lkIDAsdm9pZCAwKTt2YXIgcj1nKHQpO2lmKDA9PT1uLmxlbmd0aCl7bj10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBsPXIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIHQ9bCxyPT09ZT90PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKG0obi5zaWJsaW5nLCExLGIpLG49dix2PW51bGwsdD1udWxsPT09bj9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzowPT09KGU9ZyhuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSl8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpLHR8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWcoblswXSksbD1nKG5bbi5sZW5ndGgtMV0pO2Zvcih2YXIgYT1nKG5bMF0pLG89ITEsaT10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09aSYmKDQ9PT1pLnRhZyYmKG89ITApLDMhPT1pLnRhZyYmNSE9PWkudGFnKTspaT1pLnJldHVybjtpZihudWxsPT0oYT1vP2EucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIHU9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gaT1vJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfHx1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLHU9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fGl8fHU/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLFMpKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxTKSk/dD0hMToobSh0LCEwLGssYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY1QucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjSSx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KWcodFtyXSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfTt2YXIgY1c9bnVsbDtmdW5jdGlvbiBjcShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW58fCIvJiI9PT1uKXtpZigwPT09dClyZXR1cm4gY1EoZS5uZXh0U2libGluZyk7dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJiIhPT1ufHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNLKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1ufHwiJH4iPT09bnx8IiYiPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiIT09biYmIi8mIiE9PW58fHQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNYKGUsdCxuKXtzd2l0Y2godD1jdShuKSxlKXtjYXNlImh0bWwiOmlmKCEoZT10LmRvY3VtZW50RWxlbWVudCkpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKCEoZT10LmhlYWQpKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZighKGU9dC5ib2R5KSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gY0coZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO2UwKGUpfXZhciBjWT1uZXcgTWFwLGNKPW5ldyBTZXQ7ZnVuY3Rpb24gY1ooZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOjk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50fXZhciBjMD1xLmQ7cS5kPXtmOmZ1bmN0aW9uKCl7dmFyIGU9YzAuZigpLHQ9c3QoKTtyZXR1cm4gZXx8dH0scjpmdW5jdGlvbihlKXt2YXIgdD1lMihlKTtudWxsIT09dCYmNT09PXQudGFnJiYiZm9ybSI9PT10LnR5cGU/b2ModCk6YzAucihlKX0sRDpmdW5jdGlvbihlKXtjMC5EKGUpLGMyKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9LEM6ZnVuY3Rpb24oZSx0KXtjMC5DKGUsdCksYzIoInByZWNvbm5lY3QiLGUsdCl9LEw6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLkwoZSx0LG4pLGMxJiZlJiZ0KXt2YXIgcj0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJyt0bSh0KSsnIl0nOyJpbWFnZSI9PT10JiZuJiZuLmltYWdlU3JjU2V0PyhyKz0nW2ltYWdlc3Jjc2V0PSInK3RtKG4uaW1hZ2VTcmNTZXQpKyciXScsInN0cmluZyI9PXR5cGVvZiBuLmltYWdlU2l6ZXMmJihyKz0nW2ltYWdlc2l6ZXM9IicrdG0obi5pbWFnZVNpemVzKSsnIl0nKSk6cis9J1tocmVmPSInK3RtKGUpKyciXSc7dmFyIGw9cjtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bD1jNChlKTticmVhaztjYXNlInNjcmlwdCI6bD1jNihlKX1jWS5oYXMobCl8fChlPXgoe3JlbDoicHJlbG9hZCIsaHJlZjoiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSxjWS5zZXQobCxlKSxudWxsIT09YzEucXVlcnlTZWxlY3RvcihyKXx8InN0eWxlIj09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpfHwic2NyaXB0Ij09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzkobCkpfHwoY2wodD1jMS5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU4KHQpLGMxLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19LG06ZnVuY3Rpb24oZSx0KXtpZihjMC5tKGUsdCksYzEmJmUpe3ZhciBuPXQmJiJzdHJpbmciPT10eXBlb2YgdC5hcz90LmFzOiJzY3JpcHQiLHI9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrdG0obikrJyJdW2hyZWY9IicrdG0oZSkrJyJdJyxsPXI7c3dpdGNoKG4pe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpsPWM2KGUpfWlmKCFjWS5oYXMobCkmJihlPXgoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjplfSx0KSxjWS5zZXQobCxlKSxudWxsPT09YzEucXVlcnlTZWxlY3RvcihyKSkpe3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYoYzEucXVlcnlTZWxlY3RvcihjOShsKSkpcmV0dXJufWNsKG49YzEuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlOChuKSxjMS5oZWFkLmFwcGVuZENoaWxkKG4pfX19LFg6ZnVuY3Rpb24oZSx0KXtpZihjMC5YKGUsdCksYzEmJmUpe3ZhciBuPWU0KGMxKS5ob2lzdGFibGVTY3JpcHRzLHI9YzYoZSksbD1uLmdldChyKTtsfHwoKGw9YzEucXVlcnlTZWxlY3RvcihjOShyKSkpfHwoZT14KHtzcmM6ZSxhc3luYzohMH0sdCksKHQ9Y1kuZ2V0KHIpKSYmZm4oZSx0KSxlOChsPWMxLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKSxjbChsLCJsaW5rIixlKSxjMS5oZWFkLmFwcGVuZENoaWxkKGwpKSxsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOmwsY291bnQ6MSxzdGF0ZTpudWxsfSxuLnNldChyLGwpKX19LFM6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLlMoZSx0LG4pLGMxJiZlKXt2YXIgcj1lNChjMSkuaG9pc3RhYmxlU3R5bGVzLGw9YzQoZSk7dD10fHwiZGVmYXVsdCI7dmFyIGE9ci5nZXQobCk7aWYoIWEpe3ZhciBvPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihhPWMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpKW8ubG9hZGluZz01O2Vsc2V7ZT14KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6ZSwiZGF0YS1wcmVjZWRlbmNlIjp0fSxuKSwobj1jWS5nZXQobCkpJiZmdChlLG4pO3ZhciBpPWE9YzEuY3JlYXRlRWxlbWVudCgibGluayIpO2U4KGkpLGNsKGksImxpbmsiLGUpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtpLm9ubG9hZD1lLGkub25lcnJvcj10fSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe28ubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7by5sb2FkaW5nfD0yfSksby5sb2FkaW5nfD00LGZlKGEsdCxjMSl9YT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm99LHIuc2V0KGwsYSl9fX0sTTpmdW5jdGlvbihlLHQpe2lmKGMwLk0oZSx0KSxjMSYmZSl7dmFyIG49ZTQoYzEpLmhvaXN0YWJsZVNjcmlwdHMscj1jNihlKSxsPW4uZ2V0KHIpO2x8fCgobD1jMS5xdWVyeVNlbGVjdG9yKGM5KHIpKSl8fChlPXgoe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PWNZLmdldChyKSkmJmZuKGUsdCksZTgobD1jMS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsZSksYzEuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fX07dmFyIGMxPSJ1Ijx0eXBlb2YgZG9jdW1lbnQ/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBjMihlLHQsbil7aWYoYzEmJiJzdHJpbmciPT10eXBlb2YgdCYmdCl7dmFyIHI9dG0odCk7cj0nbGlua1tyZWw9IicrZSsnIl1baHJlZj0iJytyKyciXScsInN0cmluZyI9PXR5cGVvZiBuJiYocis9J1tjcm9zc29yaWdpbj0iJytuKyciXScpLGNKLmhhcyhyKXx8KGNKLmFkZChyKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sbnVsbD09PWMxLnF1ZXJ5U2VsZWN0b3IocikmJihjbCh0PWMxLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTgodCksYzEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBjMyhlLHQsbixyKXt2YXIgbD0obD1lbi5jdXJyZW50KT9jWihsKTpudWxsO2lmKCFsKXRocm93IEVycm9yKHUoNDQ2KSk7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuIG51bGw7Y2FzZSJzdHlsZSI6cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2UmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmPyh0PWM0KG4uaHJlZiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU3R5bGVzKS5nZXQodCkpfHwocj17dHlwZToic3R5bGUiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2Nhc2UibGluayI6aWYoInN0eWxlc2hlZXQiPT09bi5yZWwmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmJiYic3RyaW5nIj09dHlwZW9mIG4ucHJlY2VkZW5jZSl7ZT1jNChuLmhyZWYpO3ZhciBhLG8saSxzLGM9ZTQobCkuaG9pc3RhYmxlU3R5bGVzLGY9Yy5nZXQoZSk7aWYoZnx8KGw9bC5vd25lckRvY3VtZW50fHxsLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGMuc2V0KGUsZiksKGM9bC5xdWVyeVNlbGVjdG9yKGM4KGUpKSkmJiFjLl9wJiYoZi5pbnN0YW5jZT1jLGYuc3RhdGUubG9hZGluZz01KSxjWS5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LGNZLnNldChlLG4pLGN8fChhPWwsbz1lLGk9bixzPWYuc3RhdGUsYS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrbysiXSIpP3MubG9hZGluZz0xOihzLnByZWxvYWQ9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9MX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9Mn0pLGNsKG8sImxpbmsiLGkpLGU4KG8pLGEuaGVhZC5hcHBlbmRDaGlsZChvKSkpKSksdCYmbnVsbD09PXIpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gZn1pZih0JiZudWxsIT09cil0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLCJzdHJpbmciPT10eXBlb2Yobj1uLnNyYykmJnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYic3ltYm9sIiE9dHlwZW9mIHQ/KHQ9YzYobiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU2NyaXB0cykuZ2V0KHQpKXx8KHI9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQscikpLHIpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDQ0NCxlKSl9fWZ1bmN0aW9uIGM0KGUpe3JldHVybidocmVmPSInK3RtKGUpKyciJ31mdW5jdGlvbiBjOChlKXtyZXR1cm4nbGlua1tyZWw9InN0eWxlc2hlZXQiXVsnK2UrIl0ifWZ1bmN0aW9uIGM1KGUpe3JldHVybiB4KHt9LGUseyJkYXRhLXByZWNlZGVuY2UiOmUucHJlY2VkZW5jZSxwcmVjZWRlbmNlOm51bGx9KX1mdW5jdGlvbiBjNihlKXtyZXR1cm4nW3NyYz0iJyt0bShlKSsnIl0nfWZ1bmN0aW9uIGM5KGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIGM3KGUsdCxuKXtpZih0LmNvdW50KyssbnVsbD09PXQuaW5zdGFuY2Upc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3RtKG4uaHJlZikrJyJdJyk7aWYocilyZXR1cm4gdC5pbnN0YW5jZT1yLGU4KHIpLHI7dmFyIGw9eCh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gZTgocj0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKSxjbChyLCJzdHlsZSIsbCksZmUocixuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1yO2Nhc2Uic3R5bGVzaGVldCI6bD1jNChuLmhyZWYpO3ZhciBhPWUucXVlcnlTZWxlY3RvcihjOChsKSk7aWYoYSlyZXR1cm4gdC5zdGF0ZS5sb2FkaW5nfD00LHQuaW5zdGFuY2U9YSxlOChhKSxhO3I9YzUobiksKGw9Y1kuZ2V0KGwpKSYmZnQocixsKSxlOChhPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSx0LnN0YXRlLmxvYWRpbmd8PTQsZmUoYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Uic2NyaXB0IjppZihhPWM2KG4uc3JjKSxsPWUucXVlcnlTZWxlY3RvcihjOShhKSkpcmV0dXJuIHQuaW5zdGFuY2U9bCxlOChsKSxsO3JldHVybiByPW4sKGw9Y1kuZ2V0KGEpKSYmZm4ocj14KHt9LG4pLGwpLGU4KGw9KGU9ZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsciksZS5oZWFkLmFwcGVuZENoaWxkKGwpLHQuaW5zdGFuY2U9bDtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9cmV0dXJuInN0eWxlc2hlZXQiPT09dC50eXBlJiYwPT0oNCZ0LnN0YXRlLmxvYWRpbmcpJiYocj10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxmZShyLG4ucHJlY2VkZW5jZSxlKSksdC5pbnN0YW5jZX1mdW5jdGlvbiBmZShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxsPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWwsbz0wO288ci5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKGkuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPWk7ZWxzZSBpZihhIT09bClicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD05PT09bi5ub2RlVHlwZT9uLmhlYWQ6bikuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX1mdW5jdGlvbiBmdChlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUudGl0bGUmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIGZuKGUsdCl7bnVsbD09ZS5jcm9zc09yaWdpbiYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbnVsbD09ZS5yZWZlcnJlclBvbGljeSYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbnVsbD09ZS5pbnRlZ3JpdHkmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIGZyPW51bGw7ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKG51bGw9PT1mcil7dmFyIHI9bmV3IE1hcCxsPWZyPW5ldyBNYXA7bC5zZXQobixyKX1lbHNlKHI9KGw9ZnIpLmdldChuKSl8fChyPW5ldyBNYXAsbC5zZXQobixyKSk7aWYoci5oYXMoZSkpcmV0dXJuIHI7Zm9yKHIuc2V0KGUsbnVsbCksbj1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTtpZighKGFbZVpdfHxhW2VXXXx8ImxpbmsiPT09ZSYmInN0eWxlc2hlZXQiPT09YS5nZXRBdHRyaWJ1dGUoInJlbCIpKSYmImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiE9PWEubmFtZXNwYWNlVVJJKXt2YXIgbz1hLmdldEF0dHJpYnV0ZSh0KXx8IiI7bz1lK287dmFyIGk9ci5nZXQobyk7aT9pLnB1c2goYSk6ci5zZXQobyxbYV0pfX1yZXR1cm4gcn1mdW5jdGlvbiBmYShlLHQsbil7KGU9ZS5vd25lckRvY3VtZW50fHxlKS5oZWFkLmluc2VydEJlZm9yZShuLCJ0aXRsZSI9PT10P2UucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gZm8oZSx0KXtyZXR1cm4iaW1nIj09PWUmJm51bGwhPXQuc3JjJiYiIiE9PXQuc3JjJiZudWxsPT10Lm9uTG9hZCYmImxhenkiIT09dC5sb2FkaW5nfWZ1bmN0aW9uIGZpKGUpe3JldHVybiJzdHlsZXNoZWV0IiE9PWUudHlwZXx8MCE9KDMmZS5zdGF0ZS5sb2FkaW5nKX1mdW5jdGlvbiBmdShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKCJudW1iZXIiPT10eXBlb2YgZGV2aWNlUGl4ZWxSYXRpbz9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBmcyhlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlY29kZSYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9ZnUodCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1mcC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX12YXIgZmM9MDtmdW5jdGlvbiBmZihlKXtpZigwPT09ZS5jb3VudCYmKDA9PT1lLmltZ0NvdW50fHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylmaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gZmQoKXt0aGlzLmNvdW50LS0sZmYodGhpcyl9ZnVuY3Rpb24gZnAoKXt0aGlzLmltZ0NvdW50LS0sZmYodGhpcyl9dmFyIGZtPW51bGw7ZnVuY3Rpb24gZmgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsbnVsbCE9PWUudW5zdXNwZW5kJiYoZS5jb3VudCsrLGZtPW5ldyBNYXAsdC5mb3JFYWNoKGZnLGUpLGZtPW51bGwsZmQuY2FsbChlKSl9ZnVuY3Rpb24gZmcoZSx0KXtpZighKDQmdC5zdGF0ZS5sb2FkaW5nKSl7dmFyIG49Zm0uZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsZm0uc2V0KGUsbik7Zm9yKHZhciBsPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07KCJMSU5LIj09PW8ubm9kZU5hbWV8fCJub3QgYWxsIiE9PW8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1vPShsPXQuaW5zdGFuY2UpLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksKGE9bi5nZXQobyl8fHIpPT09ciYmbi5zZXQobnVsbCxsKSxuLnNldChvLGwpLHRoaXMuY291bnQrKyxyPWZkLmJpbmQodGhpcyksbC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixyKSxsLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhLm5leHRTaWJsaW5nKTooZT05PT09ZS5ub2RlVHlwZT9lLmhlYWQ6ZSkuaW5zZXJ0QmVmb3JlKGwsZS5maXJzdENoaWxkKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBmdj17JCR0eXBlb2Y6TCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpLLF9jdXJyZW50VmFsdWUyOkssX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIGZ5KGUsdCxuLHIsbCxhLG8saSx1KXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9ZUQoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPWVEKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1lRChudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uVW5jYXVnaHRFcnJvcj1sLHRoaXMub25DYXVnaHRFcnJvcj1hLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPW8sdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPXUsdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIGZiKGUsdCxuLHIsbCxhLG8saSx1LHMsYyxmKXtyZXR1cm4gZT1uZXcgZnkoZSx0LG4sbyx1LHMsYyxmLGkpLHQ9MSwhMD09PWEmJih0fD0yNCksYT1ydigzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9YSxhLnN0YXRlTm9kZT1lLHQ9bHUoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSxsQihhKSxlfWZ1bmN0aW9uIGZ3KGUsdCxuLHIsbCxhKXtsPWw/cmg6cmgsbnVsbD09PXIuY29udGV4dD9yLmNvbnRleHQ9bDpyLnBlbmRpbmdDb250ZXh0PWwsKHI9bEgodCkpLnBheWxvYWQ9e2VsZW1lbnQ6bn0sbnVsbCE9PShhPXZvaWQgMD09PWE/bnVsbDphKSYmKHIuY2FsbGJhY2s9YSksbnVsbCE9PShuPWwkKGUscix0KSkmJih1NihuLGUsdCksbFEobixlLHQpKX1mdW5jdGlvbiBmayhlLHQpe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dH19ZnVuY3Rpb24gZlMoZSx0KXtmayhlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmsoZSx0KX1mdW5jdGlvbiBmRShlKXtpZigxMz09PWUudGFnfHwzMT09PWUudGFnKXt2YXIgdD1yZChlLDB4NDAwMDAwMCk7bnVsbCE9PXQmJnU2KHQsZSwweDQwMDAwMDApLGZTKGUsMHg0MDAwMDAwKX19ZnVuY3Rpb24gZngoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9dTQoKSxuPXJkKGUsdD1lQih0KSk7bnVsbCE9PW4mJnU2KG4sZSx0KSxmUyhlLHQpfX12YXIgZl89ITA7ZnVuY3Rpb24gZlAoZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTIsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZk4oZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTgsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZkMoZSx0LG4scil7aWYoZl8pe3ZhciBsPWZUKHIpO2lmKG51bGw9PT1sKXMzKGUsdCxyLGZPLG4pLGZCKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLHQsbixyLGwpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBmTT1mVihmTSxlLHQsbixyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gZkk9ZlYoZkksZSx0LG4scixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIGZEPWZWKGZELGUsdCxuLHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIGZGLnNldChhLGZWKGZGLmdldChhKXx8bnVsbCxlLHQsbixyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxmQS5zZXQoYSxmVihmQS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITB9cmV0dXJuITF9KGwsZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGZCKGUsciksNCZ0JiYtMTxmVS5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ZTIobCk7aWYobnVsbCE9PWEpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoKGE9YS5zdGF0ZU5vZGUpLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWVMKGEucGVuZGluZ0xhbmVzKTtpZigwIT09byl7dmFyIGk9YTtmb3IoaS5wZW5kaW5nTGFuZXN8PTIsaS5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIHU9MTw8MzEtZVAobyk7aS5lbnRhbmdsZW1lbnRzWzFdfD11LG8mPX51fXNGKGEpLDA9PSg2JnVTKSYmKHVIPWV2KCkrNTAwLHNBKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOm51bGwhPT0oaT1yZChhLDIpKSYmdTYoaSxhLDIpLHN0KCksZlMoYSwyKX1pZihudWxsPT09KGE9ZlQocikpJiZzMyhlLHQscixmTyxuKSxhPT09bClicmVhaztsPWF9bnVsbCE9PWwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBzMyhlLHQscixudWxsLG4pfX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZnooZT10eihlKSl9dmFyIGZPPW51bGw7ZnVuY3Rpb24gZnooZSl7aWYoZk89bnVsbCxudWxsIT09KGU9ZTEoZSkpKXt2YXIgdD1jKGUpO2lmKG51bGw9PT10KWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKDEzPT09bil7aWYobnVsbCE9PShlPWYodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDMxPT09bil7aWYobnVsbCE9PShlPWQodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT1uKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIGZPPWUsbnVsbH1mdW5jdGlvbiBmTChlKXtzd2l0Y2goZSl7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNoc3RhcnQiOmNhc2Uidm9sdW1lY2hhbmdlIjpjYXNlImNoYW5nZSI6Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmNhc2UidGV4dElucHV0IjpjYXNlImNvbXBvc2l0aW9uc3RhcnQiOmNhc2UiY29tcG9zaXRpb25lbmQiOmNhc2UiY29tcG9zaXRpb251cGRhdGUiOmNhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmNhc2UiYmVmb3JlaW5wdXQiOmNhc2UiYmx1ciI6Y2FzZSJmdWxsc2NyZWVuY2hhbmdlIjpjYXNlImZvY3VzIjpjYXNlImhhc2hjaGFuZ2UiOmNhc2UicG9wc3RhdGUiOmNhc2Uic2VsZWN0IjpjYXNlInNlbGVjdHN0YXJ0IjpyZXR1cm4gMjtjYXNlImRyYWciOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicmVzaXplIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKGV5KCkpe2Nhc2UgZWI6cmV0dXJuIDI7Y2FzZSBldzpyZXR1cm4gODtjYXNlIGVrOmNhc2UgZVM6cmV0dXJuIDMyO2Nhc2UgZUU6cmV0dXJuIDB4MTAwMDAwMDA7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBmUj0hMSxmTT1udWxsLGZJPW51bGwsZkQ9bnVsbCxmRj1uZXcgTWFwLGZBPW5ldyBNYXAsZmo9W10sZlU9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBmQihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZNPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpmST1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjpmRD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6ZkYuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6ZkEuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gZlYoZSx0LG4scixsLGEpe3JldHVybiBudWxsPT09ZXx8ZS5uYXRpdmVFdmVudCE9PWE/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2xdfSxudWxsIT09dCYmbnVsbCE9PSh0PWUyKHQpKSYmZkUodCkpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsbnVsbCE9PWwmJi0xPT09dC5pbmRleE9mKGwpJiZ0LnB1c2gobCkpLGV9ZnVuY3Rpb24gZkgoZSl7dmFyIHQ9ZTEoZS50YXJnZXQpO2lmKG51bGwhPT10KXt2YXIgbj1jKHQpO2lmKG51bGwhPT1uKXtpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PSh0PWYobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmeChuKX0pO3JldHVybn19ZWxzZSBpZigzMT09PXQpe2lmKG51bGwhPT0odD1kKG4pKSl7ZS5ibG9ja2VkT249dCxlJChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7Zngobil9KTtyZXR1cm59fWVsc2UgaWYoMz09PXQmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBmJChlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49ZlQoZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PW4pcmV0dXJuIG51bGwhPT0odD1lMihuKSkmJmZFKHQpLGUuYmxvY2tlZE9uPW4sITE7dmFyIHI9bmV3KG49ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3Iobi50eXBlLG4pO3RPPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx0Tz1udWxsLHQuc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBmUShlLHQsbil7ZiQoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIGZXKCl7ZlI9ITEsbnVsbCE9PWZNJiZmJChmTSkmJihmTT1udWxsKSxudWxsIT09ZkkmJmYkKGZJKSYmKGZJPW51bGwpLG51bGwhPT1mRCYmZiQoZkQpJiYoZkQ9bnVsbCksZkYuZm9yRWFjaChmUSksZkEuZm9yRWFjaChmUSl9ZnVuY3Rpb24gZnEoZSx0KXtlLmJsb2NrZWRPbj09PXQmJihlLmJsb2NrZWRPbj1udWxsLGZSfHwoZlI9ITAsYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZlcpKSl9dmFyIGZLPW51bGw7ZnVuY3Rpb24gZlgoZSl7ZkshPT1lJiYoZks9ZSxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe2ZLPT09ZSYmKGZLPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxsPWVbdCsyXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgcilpZihudWxsPT09Znoocnx8bikpY29udGludWU7ZWxzZSBicmVhazt2YXIgYT1lMihuKTtudWxsIT09YSYmKGUuc3BsaWNlKHQsMyksdC09MyxvdShhLHtwZW5kaW5nOiEwLGRhdGE6bCxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOnJ9LHIsbCkpfX0pKX1mdW5jdGlvbiBmRyhlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmcSh0LGUpfW51bGwhPT1mTSYmZnEoZk0sZSksbnVsbCE9PWZJJiZmcShmSSxlKSxudWxsIT09ZkQmJmZxKGZELGUpLGZGLmZvckVhY2godCksZkEuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGZqLmxlbmd0aDtuKyspe3ZhciByPWZqW25dO3IuYmxvY2tlZE9uPT09ZSYmKHIuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxmai5sZW5ndGgmJm51bGw9PT0obj1malswXSkuYmxvY2tlZE9uOylmSChuKSxudWxsPT09bi5ibG9ja2VkT24mJmZqLnNoaWZ0KCk7aWYobnVsbCE9KG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXkpKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgbD1uW3JdLGE9bltyKzFdLG89bFtlcV18fG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpb3x8Zlgobik7ZWxzZSBpZihvKXt2YXIgaT1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKGw9YSxvPWFbZXFdfHxudWxsKWk9by5mb3JtQWN0aW9uO2Vsc2UgaWYobnVsbCE9PWZ6KGwpKWNvbnRpbnVlfWVsc2UgaT1vLmFjdGlvbjsiZnVuY3Rpb24iPT10eXBlb2YgaT9uW3IrMV09aToobi5zcGxpY2UociwzKSxyLT0zKSxmWChuKX19fWZ1bmN0aW9uIGZZKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmInJlYWN0LXRyYW5zaXRpb24iPT09ZS5pbmZvJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gbD1lfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gdCgpe251bGwhPT1sJiYobCgpLGw9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJm51bGwhPWUudXJsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYoIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0aW9uKXt2YXIgcj0hMSxsPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIix0KSxudWxsIT09bCYmKGwoKSxsPW51bGwpfX19ZnVuY3Rpb24gZkooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZnVuY3Rpb24gZlooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZloucHJvdG90eXBlLnJlbmRlcj1mSi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcih1KDQwOSkpO2Z3KHQuY3VycmVudCx1NCgpLGUsdCxudWxsLG51bGwpfSxmWi5wcm90b3R5cGUudW5tb3VudD1mSi5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09ZSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2Z3KGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHN0KCksdFtlS109bnVsbH19LGZaLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lSCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248ZmoubGVuZ3RoJiYwIT09dCYmdDxmaltuXS5wcmlvcml0eTtuKyspO2ZqLnNwbGljZShuLDAsZSksMD09PW4mJmZIKGUpfX07dmFyIGYwPW8udmVyc2lvbjtpZigiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIhPT1mMCl0aHJvdyBFcnJvcih1KDUyNyxmMCwiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIpKTtpZihxLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIG51bGw9PT0oZT1udWxsIT09KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKG51bGw9PT0odD1jKGUpKSl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiB0IT09ZT9udWxsOmV9Zm9yKHZhciBuPWUscj10Ozspe3ZhciBsPW4ucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXtuPXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiBwKGwpLGU7aWYoYT09PXIpcmV0dXJuIHAobCksdDthPWEuc2libGluZ310aHJvdyBFcnJvcih1KDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9YTtlbHNle2Zvcih2YXIgbz0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXtvPSEwLG49bCxyPWE7YnJlYWt9aWYoaT09PXIpe289ITAscj1sLG49YTticmVha31pPWkuc2libGluZ31pZighbyl7Zm9yKGk9YS5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1hLHI9bDticmVha31pZihpPT09cil7bz0hMCxyPWEsbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXRocm93IEVycm9yKHUoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcih1KDE5MCkpfWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KHQpKT9mdW5jdGlvbiBlKHQpe3ZhciBuPXQudGFnO2lmKDU9PT1ufHwyNj09PW58fDI3PT09bnx8Nj09PW4pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe2lmKG51bGwhPT0obj1lKHQpKSlyZXR1cm4gbjt0PXQuc2libGluZ31yZXR1cm4gbnVsbH0oZSk6bnVsbCk/bnVsbDplLnN0YXRlTm9kZX0sInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciBmMT1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIWYxLmlzRGlzYWJsZWQmJmYxLnN1cHBvcnRzRmliZXIpdHJ5e2V4PWYxLmluamVjdCh7YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTciLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6VyxyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyJ9KSxlXz1mMX1jYXRjaChlKXt9fW4uY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFzKGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIG49ITEscj0iIixsPW96LGE9b0wsbz1vUjtyZXR1cm4gbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25VbmNhdWdodEVycm9yJiYobD10Lm9uVW5jYXVnaHRFcnJvciksdm9pZCAwIT09dC5vbkNhdWdodEVycm9yJiYoYT10Lm9uQ2F1Z2h0RXJyb3IpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9ZmIoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxsLGEsbyxmWSksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmSih0KX0sbi5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgcixsPSExLGE9IiIsbz1veixpPW9MLGM9b1IsZj1udWxsO3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihhPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblVuY2F1Z2h0RXJyb3ImJihvPW4ub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uQ2F1Z2h0RXJyb3ImJihpPW4ub25DYXVnaHRFcnJvciksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihjPW4ub25SZWNvdmVyYWJsZUVycm9yKSx2b2lkIDAhPT1uLmZvcm1TdGF0ZSYmKGY9bi5mb3JtU3RhdGUpKSwodD1mYihlLDEsITAsdCxudWxsIT1uP246bnVsbCxsLGEsZixvLGksYyxmWSkpLmNvbnRleHQ9KHI9bnVsbCxyaCksbj10LmN1cnJlbnQsKGE9bEgobD1lQihsPXU0KCkpKSkuY2FsbGJhY2s9bnVsbCxsJChuLGEsbCksbj1sLHQuY3VycmVudC5sYW5lcz1uLGVGKHQsbiksc0YodCksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmWih0KX0sbi52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LWY5M2I5ZmQ0LTIwMjUxMjE3In0sODI5NDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucig4MjQyNCl9LDgyOTM5LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoNDk4NDMpLGk9ZS5yKDg0MDgyKSx1PWUucigxNzc0OCkscz1lLnIoNzQ4NDcpLGM9YS5fKGUucigxNjE1MykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDY0NTQ3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3NTIwMSksbD1lLnIoMjkwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtvLGldPSgwLHIudXNlU3RhdGUpKCIiKSx1PSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09dS5jdXJyZW50JiZ1LmN1cnJlbnQhPT1lJiZpKGUpLHUuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKG8sdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw3OTIxMywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMjc0NTQpLGw9ZS5yKDU3Nzc4KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7Zm9yKGxldCBvIG9mKCJjaGlsZHJlbiJpbiBuJiZpLnVuc2hpZnQoImNoaWxkcmVuIiksaSkpe2xldFtpLHVdPW5bb107aWYoaT09PXIuREVGQVVMVF9TRUdNRU5UX0tFWSljb250aW51ZTtsZXQgcz10LnBhcmFsbGVsUm91dGVzLmdldChvKTtpZighcyljb250aW51ZTtsZXQgYz0oMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShpKSxmPSgwLGwuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGksITApLGQ9cy5nZXQoYyk7aWYoIWQpY29udGludWU7bGV0IHA9ZShkLHUsYSsiLyIrYyxhKyIvIitmKTtpZihwKXJldHVybiBwfXJldHVybiBudWxsfShlLHQsIiIsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDI2NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBpfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDk4MTM0KSxvPWUucig3NTIwMSk7Y2xhc3MgaSBleHRlbmRzIG8uQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuc3RhdGU9e2hhc0Vycm9yOiExfSx0aGlzLnJvb3RIdG1sPSIiLHRoaXMuaHRtbEF0dHJpYnV0ZXM9e30sdGhpcy5odG1sUmVmPSgwLG8uY3JlYXRlUmVmKSgpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRNb3VudCgpe2xldCBlPXRoaXMuaHRtbFJlZi5jdXJyZW50O3RoaXMuc3RhdGUuaGFzRXJyb3ImJmUmJk9iamVjdC5lbnRyaWVzKHRoaXMuaHRtbEF0dHJpYnV0ZXMpLmZvckVhY2goKFt0LG5dKT0+e2Uuc2V0QXR0cmlidXRlKHQsbil9KX1yZW5kZXIoKXtsZXR7aGFzRXJyb3I6ZX09dGhpcy5zdGF0ZTtyZXR1cm4oInUiPnR5cGVvZiB3aW5kb3cmJiF0aGlzLnJvb3RIdG1sJiYodGhpcy5yb290SHRtbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MLHRoaXMuaHRtbEF0dHJpYnV0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7bGV0IHI9ZS5hdHRyaWJ1dGVzW25dO3Rbci5uYW1lXT1yLnZhbHVlfXJldHVybiB0fShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxlKT8oMCxhLmpzeCkoImh0bWwiLHtyZWY6dGhpcy5odG1sUmVmLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnRoaXMucm9vdEh0bWx9fSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19bGV0IHU9aTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMzcwMiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IHI9ZS5yKDgxMjU4KSxsPWUucig5ODEzNCk7ZS5yKDc1MjAxKTtsZXQgYT1yLl8oZS5yKDI2NzA2KSksbz1lLnIoNzQ4NDcpLGk9ZS5yKDM0NjUpLHU9InUiPnR5cGVvZiB3aW5kb3cmJigwLGkuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBzKHtjaGlsZHJlbjplLGVycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cn0pe3JldHVybiB1PygwLGwuanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOmV9KTooMCxsLmpzeCkoby5FcnJvckJvdW5kYXJ5LHtlcnJvckNvbXBvbmVudDp0LGVycm9yU3R5bGVzOm4sZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYxMTU2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KTtsZXQgcj1lLnIoODEyNTgpLGw9ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1sLl8oZS5yKDc1MjAxKSksaT1lLnIoMTY4NzIpLHU9ZS5yKDU5NDMwKSxzPWUucig4NTU5NCksYz1lLnIoMzE4OTkpLGY9ZS5yKDk0ODc5KSxkPWUucig2NDU0NykscD1lLnIoNTcyNDcpLG09ZS5yKDc5MjEzKSxoPWUucig1MDA5NiksZz1lLnIoMjQwNDIpLHY9ZS5yKDM4OTMzKSx5PWUucigxODE2NyksYj1lLnIoODMzOTgpLHc9ZS5yKDg0Mzk1KSxrPWUucig0MTcyMSksUz1lLnIoOTA4NjIpLEU9ZS5yKDk4MjgzKSx4PXIuXyhlLnIoMzM3MDIpKSxfPXIuXyhlLnIoMTYxNTMpKSxQPWUucigzNjM0NSksTj1lLnIoODg3NzQpLEM9e307ZnVuY3Rpb24gVCh7YXBwUm91dGVyU3RhdGU6ZX0pe3JldHVybigwLG8udXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e2xldHt0cmVlOnQscHVzaFJlZjpuLGNhbm9uaWNhbFVybDpyLHJlbmRlcmVkU2VhcmNoOmx9PWUsYT17Li4ubi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT93aW5kb3cuaGlzdG9yeS5zdGF0ZTp7fSxfX05BOiEwLF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6e3RyZWU6dCxyZW5kZXJlZFNlYXJjaDpsfX07bi5wZW5kaW5nUHVzaCYmKDAscy5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09cj8obi5wZW5kaW5nUHVzaD0hMSx3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSwiIixyKSk6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsIiIscil9LFtlXSksKDAsby51c2VFZmZlY3QpKCgpPT57KDAsRS5waW5nVmlzaWJsZUxpbmtzKShlLm5leHRVcmwsZS50cmVlKX0sW2UubmV4dFVybCxlLnRyZWVdKSxudWxsfWZ1bmN0aW9uIE8oZSl7bnVsbD09ZSYmKGU9e30pO2xldCB0PXdpbmRvdy5oaXN0b3J5LnN0YXRlLG49dD8uX19OQTtuJiYoZS5fX05BPW4pO2xldCByPXQ/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7cmV0dXJuIHImJihlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU9ciksZX1mdW5jdGlvbiB6KHtoZWFkQ2FjaGVOb2RlOmV9KXtsZXQgdD1udWxsIT09ZT9lLmhlYWQ6bnVsbCxuPW51bGwhPT1lP2UucHJlZmV0Y2hIZWFkOm51bGwscj1udWxsIT09bj9uOnQ7cmV0dXJuKDAsby51c2VEZWZlcnJlZFZhbHVlKSh0LHIpfWZ1bmN0aW9uIEwoe2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7bGV0IGwscz0oMCxmLnVzZUFjdGlvblF1ZXVlKShlKSx7Y2Fub25pY2FsVXJsOmJ9PXMse3NlYXJjaFBhcmFtczpFLHBhdGhuYW1lOl99PSgwLG8udXNlTWVtbykoKCk9PntsZXQgZT1uZXcgVVJMKGIsInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJue3NlYXJjaFBhcmFtczplLnNlYXJjaFBhcmFtcyxwYXRobmFtZTooMCx2Lmhhc0Jhc2VQYXRoKShlLnBhdGhuYW1lKT8oMCxnLnJlbW92ZUJhc2VQYXRoKShlLnBhdGhuYW1lKTplLnBhdGhuYW1lfX0sW2JdKTsoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2UucGVyc2lzdGVkJiZ3aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSYmKEMucGVuZGluZ01wYVBhdGg9dm9pZCAwLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOnUuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGhpc3RvcnlTdGF0ZTp3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFfSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixlKX19LFtdKSwoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2xldCB0PSJyZWFzb24iaW4gZT9lLnJlYXNvbjplLmVycm9yO2lmKCgwLFMuaXNSZWRpcmVjdEVycm9yKSh0KSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPSgwLGsuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKHQpOygwLGsuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKSh0KT09PVMuUmVkaXJlY3RUeXBlLnB1c2g/dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKG4se30pOncucHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZShuLHt9KX19cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpfX0sW10pO2xldHtwdXNoUmVmOk59PXM7aWYoTi5tcGFOYXZpZ2F0aW9uKXtpZihDLnBlbmRpbmdNcGFQYXRoIT09Yil7bGV0IGU9d2luZG93LmxvY2F0aW9uO04ucGVuZGluZ1B1c2g/ZS5hc3NpZ24oYik6ZS5yZXBsYWNlKGIpLEMucGVuZGluZ01wYVBhdGg9Yn10aHJvdyBoLnVucmVzb2x2ZWRUaGVuYWJsZX0oMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgZT13aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksdD13aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksbj1lPT57bGV0IHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsbj13aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTp1LkFDVElPTl9SRVNUT1JFLHVybDpuZXcgVVJMKGU/P3QsdCksaGlzdG9yeVN0YXRlOm59KX0pfTt3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU9ZnVuY3Rpb24odCxyLGwpe3JldHVybiB0Py5fX05BfHx0Py5fTnx8KHQ9Tyh0KSxsJiZuKGwpKSxlKHQscixsKX0sd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGUscixsKXtyZXR1cm4gZT8uX19OQXx8ZT8uX058fChlPU8oZSksbCYmbihsKSksdChlLHIsbCl9O2xldCByPWU9PntpZihlLnN0YXRlKXtpZighZS5zdGF0ZS5fX05BKXJldHVybiB2b2lkIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx3LmRpc3BhdGNoVHJhdmVyc2VBY3Rpb24pKHdpbmRvdy5sb2NhdGlvbi5ocmVmLGUuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSl9KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHIpLCgpPT57d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWUsd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPXQsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKX19LFtdKTtsZXR7Y2FjaGU6TCx0cmVlOlIsbmV4dFVybDpNLGZvY3VzQW5kU2Nyb2xsUmVmOkkscHJldmlvdXNOZXh0VXJsOkZ9PXMsQT0oMCxvLnVzZU1lbW8pKCgpPT4oMCxtLmZpbmRIZWFkSW5DYWNoZSkoTCxSWzFdKSxbTCxSXSksaj0oMCxvLnVzZU1lbW8pKCgpPT4oMCx5LmdldFNlbGVjdGVkUGFyYW1zKShSKSxbUl0pLFU9KDAsby51c2VNZW1vKSgoKT0+KHtwYXJlbnRUcmVlOlIscGFyZW50Q2FjaGVOb2RlOkwscGFyZW50U2VnbWVudFBhdGg6bnVsbCxwYXJlbnRQYXJhbXM6e30sZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmIsaXNBY3RpdmU6ITB9KSxbUixMLGJdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpSLGZvY3VzQW5kU2Nyb2xsUmVmOkksbmV4dFVybDpNLHByZXZpb3VzTmV4dFVybDpGfSksW1IsSSxNLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKFAuUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpMLnJzY30pLCgwLGEuanN4KShkLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpSfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLCgwLGEuanN4KShELHt9KSwoMCxhLmpzeCkoYy5OYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpudWxsLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpqLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6XyxjaGlsZHJlbjooMCxhLmpzeCkoYy5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpFLGNoaWxkcmVuOigwLGEuanN4KShpLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOkIsY2hpbGRyZW46KDAsYS5qc3gpKGkuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxjaGlsZHJlbjooMCxhLmpzeCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpVLGNoaWxkcmVuOlZ9KX0pfSl9KX0pfSl9KV19KX1mdW5jdGlvbiBSKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yU3RhdGU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7KDAsYi51c2VOYXZGYWlsdXJlSGFuZGxlcikoKTtsZXQgbD0oMCxhLmpzeCkoTCx7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvcjp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KTtyZXR1cm4oMCxhLmpzeCkoeC5kZWZhdWx0LHtlcnJvckNvbXBvbmVudDpfLmRlZmF1bHQsY2hpbGRyZW46bH0pfWxldCBNPW5ldyBTZXQsST1uZXcgU2V0O2Z1bmN0aW9uIEQoKXtsZXRbLGVdPW8uZGVmYXVsdC51c2VTdGF0ZSgwKSx0PU0uc2l6ZTsoMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0oKT0+ZShlPT5lKzEpO3JldHVybiBJLmFkZChuKSx0IT09TS5zaXplJiZuKCksKCk9PntJLmRlbGV0ZShuKX19LFt0LGVdKTtsZXQgbj0oMCxOLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtyZXR1cm5bLi4uTV0ubWFwKChlLHQpPT4oMCxhLmpzeCkoImxpbmsiLHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6YCR7ZX0ke259YCxwcmVjZWRlbmNlOiJuZXh0In0sdCkpfWdsb2JhbFRoaXMuX05fRV9TVFlMRV9MT0FEPWZ1bmN0aW9uKGUpe2xldCB0PU0uc2l6ZTtyZXR1cm4gTS5hZGQoZSksTS5zaXplIT09dCYmSS5mb3JFYWNoKGU9PmUoKSksUHJvbWlzZS5yZXNvbHZlKCl9LCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDM4NzkyLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCByPWUucig4NTU5NCksbD1lLnIoMTgxNjcpLGE9ZS5yKDY3NjI4KSxvPWUucigxODkzOSk7ZnVuY3Rpb24gaSh7bmF2aWdhdGVkQXQ6ZSxpbml0aWFsRmxpZ2h0RGF0YTp0LGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czpuLGluaXRpYWxSZW5kZXJlZFNlYXJjaDppLGxvY2F0aW9uOnV9KXtsZXQgcz1uLmpvaW4oIi8iKSx7dHJlZTpjLHNlZWREYXRhOmYsaGVhZDpkfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKSh0WzBdKSxwPXU/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkodSk6cztyZXR1cm57dHJlZTpjLGNhY2hlOigwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxjLGYsZCkscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e2FwcGx5OiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsLHNlZ21lbnRQYXRoczpbXX0sY2Fub25pY2FsVXJsOnAscmVuZGVyZWRTZWFyY2g6aSxuZXh0VXJsOigoMCxsLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShjKXx8dT8ucGF0aG5hbWUpPz9udWxsLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MzM1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByLGwsYSxvO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiaHlkcmF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7bGV0IGk9ZS5yKDgxMjU4KSx1PWUucig5ODEzNCk7ZS5yKDc5MTIzKTtsZXQgcz1pLl8oZS5yKDgyOTQwKSksYz1pLl8oZS5yKDc1MjAxKSksZj1lLnIoNzUwNDUpLGQ9ZS5yKDQ0OTM0KSxwPWUucigzMjc5MyksbT1lLnIoODI5MzkpLGg9ZS5yKDMwOTMxKSxnPWUucig4OTU5NCksdj1lLnIoODQzOTUpLHk9aS5fKGUucig2MTE1NikpLGI9ZS5yKDM4NzkyKTtlLnIoMTY4NzIpO2xldCB3PWUucig2MTcwNiksaz1lLnIoNjc2MjgpLFM9Zi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sRT1mLmNyZWF0ZUZyb21GZXRjaCx4PWRvY3VtZW50LF89bmV3IFRleHRFbmNvZGVyLFA9ITEsTj0hMSxDPW51bGw7ZnVuY3Rpb24gVChlKXtpZigwPT09ZVswXSlhPVtdO2Vsc2UgaWYoMT09PWVbMF0pe2lmKCFhKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bz9vLmVucXVldWUoXy5lbmNvZGUoZVsxXSkpOmEucHVzaChlWzFdKX1lbHNlIGlmKDI9PT1lWzBdKUM9ZVsxXTtlbHNlIGlmKDM9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWF0b2IoZVsxXSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspclt0XT1uLmNoYXJDb2RlQXQodCk7bz9vLmVucXVldWUocik6YS5wdXNoKHIpfX1sZXQgTz1mdW5jdGlvbigpe28mJiFOJiYoby5jbG9zZSgpLE49ITAsYT12b2lkIDApLFA9ITB9OyJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTywhMSk6c2V0VGltZW91dChPKTtsZXQgej1zZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdO3ouZm9yRWFjaChUKSx6Lmxlbmd0aD0wLHoucHVzaD1UO2xldCBMPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZSl7YSYmKGEuZm9yRWFjaCh0PT57ZS5lbnF1ZXVlKCJzdHJpbmciPT10eXBlb2YgdD9fLmVuY29kZSh0KTp0KX0pLFAmJiFOKSYmKG51bGw9PT1lLmRlc2lyZWRTaXplfHxlLmRlc2lyZWRTaXplPDA/ZS5lcnJvcihPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlRoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpOmUuY2xvc2UoKSxOPSEwLGE9dm9pZCAwKSxvPWV9fSksUj13aW5kb3cuX19ORVhUX0NMSUVOVF9SRVNVTUU7ZnVuY3Rpb24gTSh7aW5pdGlhbFJTQ1BheWxvYWQ6ZSxhY3Rpb25RdWV1ZTp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KXtyZXR1cm4oMCx1LmpzeCkoeS5kZWZhdWx0LHthY3Rpb25RdWV1ZTp0LGdsb2JhbEVycm9yU3RhdGU6ZS5HLHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KX1sPVI/UHJvbWlzZS5yZXNvbHZlKEUoUix7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyBlPT4oMCxrLmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBSLGUpKTpTKEwse2NhbGxTZXJ2ZXI6aC5jYWxsU2VydmVyLGZpbmRTb3VyY2VNYXBVUkw6Zy5maW5kU291cmNlTWFwVVJMLGRlYnVnQ2hhbm5lbDpyLHN0YXJ0VGltZTowfSk7bGV0IEk9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRCh7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBGPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBBKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7KDAsdy5zZXRBcHBCdWlsZElkKShhLmIpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxGbGlnaHREYXRhOmEuZixpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6YS5jLGluaXRpYWxSZW5kZXJlZFNlYXJjaDphLnEsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoSSx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKE0se2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEYpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uRixmb3JtU3RhdGU6Q30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTYzMzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHI9ZS5yKDQ4NzA2KTtlLnIoMzI3OTMpLHdpbmRvdy5uZXh0LnR1cmJvcGFjaz0hMCxzZWxmLl9fd2VicGFja19oYXNoX189IiI7bGV0IGw9ZS5yKDkyMzg2KTsoMCxyLmFwcEJvb3RzdHJhcCkodD0+e2xldHtoeWRyYXRlOm59PWUucig5MzM1MSk7bihsLHQpfSksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.635Z","timestamp":1785136428635,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2691\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:33 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:09:15 GMT\r\ncache-control: max-age=86400\r\netag: \"2edf1ef8b333c40979976d1a49bc234c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 14674\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: K3bKiNg5kMmwUf9kTP6ED1CqJgkESVtGdZ2bFNJWUITV673w2vUr8g==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2691,"size_decoded":3217,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"2edf1ef8b333c40979976d1a49bc234c","sha1":"d75ac12795b4a9575c874e1b190712cd62a87afc","sha256":"50a1901684f223bf26594dd3415b1e50f184820a16daa810cc5452911e9117a9","sha512":"f697a1fa0786316fc01003f72621920932e2657e4acf5a471e35d02717c42c9db5a12df311895a776a563dcae9b8fc0b6721833529a054b9dbfff4c52fc564d3","ssdeep":"","tlshash":"2b515ee60252267980d32438616db1e178beabb2c3021ded6c1444954acc4b62555cfa","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-11T04:47:30.030718Z","times_seen":25902,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/fwD2kxr/AAD2khr0dQD3kxr//wD/qgD2kxr2khr2khr1khr2khr6lhr1khr2khn6lRn4kxr1khb2khn3kxr3kBi/fwD3kxr4khn3kxn3kRjzkBf4khr/VQD6lRn6lhr7lxv6lRr9mBv4lRn2khn6lhrMmQD5lRn4kxr3kxr3kxn3kxn2khn3kxn5lBn4lBn3kxn3lBr4lBkAZwD6lhr1khj5lRr4lBn5kRj3lBn3kxr2khr3kxn4lBn3khn1kRqqVQD8lhr3kxr3kxr2kBr0jxr7lhr3khn7lhr4lBn5lRr3kxr1kRv7lRr2kxn5lBn3khrykRj2kRj3lBn4khr2khn6lxr4lBj5lBrykhn2khn3kxr//////v33lBz///73lR33lB33kxv/nRz3lR7/mRv//fv//fz/nhz//vz2jAr3jQz//v73khj3lBv/mxv3jhD3kRX3kxn3kBT4lBr7lRr3jAz3jQ7//Pn3kRb/nxz/mBv+lxv5lBr3jxH//fr3jg/2iwr2jQz4njH80p/3khf+mRv/nBz3kBP/+/f816v//Pj5lRv7lhv/+vX5s137zpb4liH3jAr5qEf806H6t2b/+/b81ab6t2f82K34nS/7zJH4oTj4nC33iwn7wn3/mxz6w3/937r2jAz96M75tWH7zpj97Nf958z2iQX82rH7yo33lR/4myv+8N/4mCT6lRr6u2/+6tP3jg7969T4ojn5sFf+7tr++PD6v3j4ozz+9u36uWr2igb+69T82rD6uWz+8+b2iwj+7tz6vXL5pD72jQ75slr4pUD+797/+PD5sFj3liD96dD94sL4nzT+79z95sv//Pr3jxD5tmP+8+X948P93LX3myr7yo/5rlL94sP4qUj94L34pUH5tF/7wn/+7dj7xYX81KP/+fL5qkr6uGn81qj2hQD97Nj///37x4n6xYT95cf3mSf96tL7zZb2hwD+8eH5q03/mhv5rlT6wHn3lyP95cj8z5r7yYz+9Oj4oTf3hwD83LSsdU1lAAAAXHRSTlMABP4B/gL7AQP9/Pv++vX89476GJDqFgT9KI4pLWIDbfz9/v532NMFQY/W1fhe912nqa3sAeeHhu0V97m6zo2oawO/xGthYMLH6++F/Bzq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"}},"time_used":49,"timings":{"blocked":-1,"dns":14,"connect":17,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43808.5ad3651a38630f775442.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.840Z","timestamp":1785136429840,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/43808.5ad3651a38630f775442.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddd-734c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 41d8f41177d3d291eeb85d1077a9aab3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/fb.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.084Z","timestamp":1785136422084,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/fb.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 2032\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":2032,"size_decoded":2373,"mime_type":"image/png","magic":"PNG image data, 33 x 34, 8-bit/color RGBA, non-interlaced","md5":"d726776aef9f0597ef6ec9525acdf20f","sha1":"1164d689599a414f2f8a1ac9791aaa2acf5999b1","sha256":"fe419f091c2de94341c2ba593e470976e4b359b65912784bd7861b9c630b691e","sha512":"b6ef93b3ad143342ac5665873b10d42904eef0d6ed61d2dc82d6891856d8a3c7482fac2dced07cf1d7da4a9d4eebb398537a709bdbceeb5c337302aab476d716","ssdeep":"","tlshash":"48411af645e2b4055aa70fb228ea6df9958b27c413b4915afab64c312054a18fef8602","first_seen":"2025-12-03T04:46:43.772477Z","last_seen":"2026-07-29T06:14:00.334736Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":5131,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5131,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/83488.2a35377fd54f0af40874.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.790Z","timestamp":1785136429790,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/83488.2a35377fd54f0af40874.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-4c6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:41\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1f8ae3195f7b7f8494a6e3b5a23b1208\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/mailf.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.083Z","timestamp":1785136422083,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/mailf.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 1607\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1607,"size_decoded":1948,"mime_type":"image/png","magic":"PNG image data, 45 x 25, 8-bit/color RGBA, non-interlaced","md5":"92706bffd14d102c5e800422c3de6cef","sha1":"58c46ec068a43b50fb22bee98bda16373ffe5bba","sha256":"aa76d721b2af9d68ee8e23ead493cc1f7fba2d589636bb87f02330d80100d7be","sha512":"ee3ec1e75b9aac022858ca85f7af902f3e5c8d3f5ed5ff5feafd95e9efac467ff0c4fd5342753f969f124f17dabeaf384c120ac45a80869696f2d8b3ec159b32","ssdeep":"","tlshash":"e031c8c61242aeacea4d3a380905e9347f3783e9322bc0698ecf8bf1c3262444153649","first_seen":"2025-12-03T04:46:43.754695Z","last_seen":"2026-07-29T06:14:00.373524Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":5131,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5131,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://pushstream.tradingview.com/message-pipe-ws/public","fqdn":"pushstream.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.202","port":443,"asn":199524,"as":"G-Core Labs S.A.","country":"United Kingdom","country_code":"GB"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.556Z","timestamp":1785136429556,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Wed, 18 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"96:06:76:35:9F:2C:2D:1C:89:55:E8:92:7C:4F:4B:FD:E9:F6:FF:1A","sha256":"BC:FA:33:CE:19:85:7A:43:44:BA:17:CE:87:15:42:E2:02:0C:7A:4E:83:42:1F:58:8F:59:B4:20:BF:4B:35:00"}}},"request":{"raw":"GET /message-pipe-ws/public HTTP/1.1\r\nHost: pushstream.tradingview.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://s.tradingview.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: UZqHjowsof3lsUR6GkLjAg==\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: same-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\nExpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nCache-Control: no-cache, no-store, must-revalidate\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: G/u3a2kvEHjSfF3jRk6+nRj74rA=\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":221,"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-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":270,"timings":{"blocked":-1,"dns":103,"connect":119,"send":0,"wait":22,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99309.ca4ac19b8ab37679f251.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.310Z","timestamp":1785136429310,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99309.ca4ac19b8ab37679f251.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f26\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 571321b45b3d6e9d987645709d982fc2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32550,"size_decoded":11901,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"07536e5ca803829ab657e62c61210dbc","sha1":"0d11d8bbefaca8f90cf1e077c6fa59dd3d64373b","sha256":"378146c5d601a41f6b19209c59c2a432275153ee70df8a706ba1ef83af1e43a5","sha512":"c85137ba985b9fc6ebe8e1027753279bacf049530b0ab2ea0eef73d83967d84a9ca4fdb32907e453f60678d15cea4dc76ef348e7aeb9b2609b88441ad1e984ae","ssdeep":"768:hsXBcQmT4krvwY0u+/z8SSV3WMODEDQKtGn72TCqXWmXMxpp0rf7eilfefe8LMsX:hsX1a0d/zESPqheft","tlshash":"2de21ad1309174d923ff4edba0ab0558e33a1764b85a8c60b0b8eddc25d3818b276dbd","first_seen":"2026-07-23T14:00:31.509299Z","last_seen":"2026-07-28T06:17:53.60062Z","times_seen":112,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTMwOV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sMTQwMDE3KGUpe2UuZXhwb3J0cz17bG9nbzoibG9nby1WQ05LdWJXcSIsaGlkZGVuOiJoaWRkZW4tVkNOS3ViV3EiLHh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMzoieHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLVZDTkt1YldxIix4eHhzbWFsbDoieHh4c21hbGwtVkNOS3ViV3EiLHh4c21hbGw6Inh4c21hbGwtVkNOS3ViV3EiLHhzbWFsbDoieHNtYWxsLVZDTkt1YldxIixzbWFsbDoic21hbGwtVkNOS3ViV3EiLG1lZGl1bToibWVkaXVtLVZDTkt1YldxIixsYXJnZToibGFyZ2UtVkNOS3ViV3EiLHhsYXJnZToieGxhcmdlLVZDTkt1YldxIix4eGxhcmdlOiJ4eGxhcmdlLVZDTkt1YldxIix4eHhsYXJnZToieHh4bGFyZ2UtVkNOS3ViV3EiLHNrZWxldG9uOiJza2VsZXRvbi1WQ05LdWJXcSIsbGV0dGVyOiJsZXR0ZXItVkNOS3ViV3EifX0sNTYxMjUwKGUpe2UuZXhwb3J0cz17YmFja2dyb3VuZDoiYmFja2dyb3VuZC1OUW9tNUk4WiIsbWVkaXVtOiJtZWRpdW0tTlFvbTVJOFoiLGxhcmdlOiJsYXJnZS1OUW9tNUk4WiIsZGlzYWJsZWQ6ImRpc2FibGVkLU5Rb201SThaIixvcGVuOiJvcGVuLU5Rb201SThaIixzZWxlY3RlZDoic2VsZWN0ZWQtTlFvbTVJOFoiLG5ldXRyYWw6Im5ldXRyYWwtTlFvbTVJOFoiLGRhbmdlcjoiZGFuZ2VyLU5Rb201SThaIn19LDQ0MzYxOChlKXtlLmV4cG9ydHM9e2VsbGlwc2lzOiJlbGxpcHNpcy1EYXpSODVWQSIsd2l0aEdhcHM6IndpdGhHYXBzLURhelI4NVZBIn19LDQ0MDkyNihlKXtlLmV4cG9ydHM9e2hvdGtleToiaG90a2V5LVhjNlNocENxIn19LDIxMjQ4NihlKXtlLmV4cG9ydHM9e2J1dHRvbkNvbnRlbnQ6ImJ1dHRvbkNvbnRlbnQtVlg0a3BSOWkiLGxlZnQ6ImxlZnQtVlg0a3BSOWkifX0sMzU5MTE2KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tWE5VaXZUb3UifX0sOTQ4MzkwKGUpe2UuZXhwb3J0cz17bWlkZGxlOiJtaWRkbGUtRnR3d1JyN3UiLGhhc05vRW5kU2xvdDoiaGFzTm9FbmRTbG90LUZ0d3dScjd1Iix0aXRsZToidGl0bGUtRnR3d1JyN3UiLGRlc2NyaXB0aW9uOiJkZXNjcmlwdGlvbi1GdHd3UnI3dSIsaGFzVGl0bGU6Imhhc1RpdGxlLUZ0d3dScjd1IixoYXNEZXNjcmlwdGlvbjoiaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UifX0sMjMyMDU0KGUpe2UuZXhwb3J0cz17cmlnaHQ6InJpZ2h0LUNHZGpLYTlZIixjaGlsZDoiY2hpbGQtQ0dkakthOVkifX0sNDQwMDk2KGUpe2UuZXhwb3J0cz17c2Nyb2xsQ29udGFpbmVyOiJzY3JvbGxDb250YWluZXItekcyQ3FEZTIifX0sNjI3MDIyKGUpe2UuZXhwb3J0cz17ZmxleDoiZmxleC1nbzBaZU5RRiIsZml4ZWRIZWFkZXI6ImZpeGVkSGVhZGVyLWdvMFplTlFGIixmaXhlZEZvb3RlcjoiZml4ZWRGb290ZXItZ28wWmVOUUYiLG1haW5TY3JvbGxXcmFwcGVyOiJtYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRiIsZml4ZWRIZWFkZXJDb250ZW50OiJmaXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUYiLGZpeGVkRm9vdGVyQ29udGVudDoiZml4ZWRGb290ZXJDb250ZW50LWdvMFplTlFGIixub1Njcm9sbDoibm9TY3JvbGwtZ28wWmVOUUYiLG1haW46Im1haW4tZ28wWmVOUUYiLG1haW5Db250ZW50OiJtYWluQ29udGVudC1nbzBaZU5RRiJ9fSw0NTI0NjQoZSl7ZS5leHBvcnRzPXtwa246InBrbi1jVHBfdW5WOCJ9fSw1MTgyNzIoZSl7ZS5leHBvcnRzPXtldmVudFdyYXBwZXI6ImV2ZW50V3JhcHBlci1fRThVWFZLMSJ9fSw2MjM2MTMoZSl7ZS5leHBvcnRzPXttb2JpbGVDb250ZXh0OiJtb2JpbGVDb250ZXh0LVZ4bjRMaFlMIixhbmNob3JDb250ZXh0OiJhbmNob3JDb250ZXh0LVZ4bjRMaFlMIn19LDk3NTI4NShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItaGN0MnlKdksiLGFuaW1hdGVkOiJhbmltYXRlZC1oY3QyeUp2SyIscHVsc2F0aW9uOiJwdWxzYXRpb24taGN0MnlKdksifX0sMzEzNzcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmEsRHJhd2VyTWFuYWdlcjooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTk1Njc4KTtjbGFzcyBpIGV4dGVuZHMgci5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsby5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLG8ucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGEuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsCmN1cnJlbnREcmF3ZXI6dGhpcy5zdGF0ZS5zdGFjay5sZW5ndGg/dGhpcy5zdGF0ZS5zdGFja1t0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aC0xXTpudWxsfX0sdGhpcy5wcm9wcy5jaGlsZHJlbil9fWNvbnN0IGE9ci5jcmVhdGVDb250ZXh0KG51bGwpfSw5NjQyMTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RHJhd2VyOigpPT5wfSk7dmFyIHI9big3Nzk0NzQpLG89big5MTQ0ODcpLGk9bi5uKG8pLGE9bigxMzg2MzgpLHM9big1ODU0OCksbD1uKDE1MDE1MCksYz1uKDMxMzc3MiksdT1uKDYzMjk5MiksZD1uKDU1ODAzMCksZj1uKDgwMzI4Nyk7dmFyIG07ZnVuY3Rpb24gcChlKXtjb25zdHtwb3NpdGlvbjp0PSJCb3R0b20iLG9uQ2xvc2U6bixjaGlsZHJlbjpvLHJlZmVyZW5jZTpkLGNsYXNzTmFtZTptLHRoZW1lOnA9Zn09ZSx2PSgwLGEuZW5zdXJlTm90TnVsbCkoKDAsci51c2VDb250ZXh0KShjLkRyYXdlckNvbnRleHQpKSxbaF09KDAsci51c2VTdGF0ZSkoKCgpPT4oMCxsLnJhbmRvbUhhc2gpKCkpKSxDPSgwLHIudXNlUmVmKShudWxsKSxiPSgwLHIudXNlQ29udGV4dCkodS5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsci51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGEuZW5zdXJlTm90TnVsbCkoQy5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHYsbiksdi5hZGREcmF3ZXIoaCksKCk9Pnt2LnJlbW92ZURyYXdlcihoKSxiLnVuc3Vic2NyaWJlKHYsbil9KSksW10pLHIuY3JlYXRlRWxlbWVudChzLlBvcnRhbCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOmkoKShmLndyYXAsZltgcG9zaXRpb24ke3R9YF0pfSxoPT09di5jdXJyZW50RHJhd2VyJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLmJhY2tkcm9wLG9uQ2xpY2s6bn0pLHIuY3JlYXRlRWxlbWVudChFLHtjbGFzc05hbWU6aSgpKHAuZHJhd2VyLGZbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpDLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LG8pKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgRT0oMCxyLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpuLC4uLm99PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6aSgpKGYuZHJhd2VyLG4pLHRhYkluZGV4Oi0xLHJlZjp0LC4uLm99KX0pKX0sOTk5NTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QXBwQ29udGV4dDooKT0+cn0pO2NvbnN0IHI9KDAsbig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzI2ODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7REVGQVVMVF9JQ09OX0JVVFRPTl9WQVJJQU5UOigpPT5vLEljb25CdXR0b25WYXJpYW50Q29udGV4dDooKT0+aSxJY29uQnV0dG9uVmFyaWFudENvbnRleHRQcm92aWRlcjooKT0+YX0pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSJwcmltYXJ5IixpPSgwLHIuY3JlYXRlQ29udGV4dCkoe3ZhcmlhbnQ6dm9pZCAwfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOnt2YXJpYW50OmUudmFyaWFudH19LGUuY2hpbGRyZW4pfX0sMzg3Nzc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NpcmNsZUxvZ286KCk9PnMsaGlkZGVuQ2lyY2xlTG9nb0NsYXNzOigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3OTQxODcpLGk9bigxNDAwMTcpO2NvbnN0IGE9bi5uKGkpKCkuaGlkZGVuO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLmlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wcykoZSksW24saV09KDAsci51c2VTdGF0ZSkoMCksYT0oMCxyLnVzZVJlZikobnVsbCkscz0oMCxvLmdldFN0eWxlQ2xhc3NlcykoZS5zaXplLG4sZS5jbGFzc05hbWUpLGw9ZS5hbHQ/P2UudGl0bGU/PyIiLGM9dD9sWzBdOmUucGxhY2Vob2xkZXJMZXR0ZXI7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgoKT0+aShhLmN1cnJlbnQ/LmNvbXBsZXRlPz8hdD8yOjEpKSxbdF0pLHQmJjMhPT1uP3IuY3JlYXRlRWxlbWVudCgiaW1nIix7cmVmOmEsY2xhc3NOYW1lOnMsY3Jvc3NPcmlnaW46IiIsc3JjOmUubG9nb1VybCxhbHQ6bCx0aXRsZTplLnRpdGxlLGxvYWRpbmc6ZS5sb2FkaW5nLG9uTG9hZDooKT0+aSgyKSxvbkVycm9yOigpPT5pKDMpLCJhcmlhLWxhYmVsIjplWyJhcmlhLWxhYmVsIl0sImFyaWEtaGlkZGVuIjplWyJhcmlhLWhpZGRlbiJdfSk6ci5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMsdGl0bGU6ZS50aXRsZSwiYXJpYS1sYWJlbCI6ZVsiYXJpYS1sYWJlbCJdLCJhcmlhLWhpZGRlbiI6ZVsiYXJpYS1oaWRkZW4iXX0sYyl9fSw3OTQxODcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R5bGVDbGFzc2VzOigpPT5sLGlzQ2lyY2xlTG9nb1dpdGhVcmxQcm9wczooKT0+Y30pO3ZhciByPW4oOTE0NDg3KSxvPW4ubihyKSxpPW4oMTM2NCksYT1uKDE0MDAxNykscz1uLm4oYSk7ZnVuY3Rpb24gbChlLHQ9MixuKXtyZXR1cm4gbygpKHMoKS5sb2dvLHMoKVtlXSxuLDA9PT10fHwxPT09dD9vKCkoaS5za2VsZXRvblRoZW1lLndyYXBwZXIscygpLnNrZWxldG9uKTpzKCkubGV0dGVyLDE9PT10JiZpLnNrZWxldG9uVGhlbWUuYW5pbWF0ZWQpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuImxvZ29VcmwiaW4gZSYmbnVsbCE9PWUubG9nb1VybCYmdm9pZCAwIT09ZS5sb2dvVXJsJiYwIT09ZS5sb2dvVXJsLmxlbmd0aH19LDMwOTkyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21CZWhhdmlvdXJDb250ZXh0OigpPT5yfSk7Y29uc3Qgcj0oMCxuKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiEwfSk7ci5kaXNwbGF5TmFtZT0iQ3VzdG9tQmVoYXZpb3VyQ29udGV4dCJ9LDUyOTQxMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHsKdXNlSXNGaXJzdFJlbmRlcjooKT0+byx1c2VJc05vbkZpcnN0UmVuZGVyOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpO2Z1bmN0aW9uIG8oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCEwKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57dCghMSl9KSxbXSksZX1mdW5jdGlvbiBpKCl7cmV0dXJuIW8oKX19LDM0MjI2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VGb3JjZVVwZGF0ZTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtjb25zdCBvPSgpPT57Y29uc3RbLGVdPSgwLHIudXNlUmVkdWNlcikoKGU9PmUrMSksMCk7cmV0dXJuIGV9fSw3ODc4OTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlRnVuY3Rpb25hbFJlZk9iamVjdDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNjE2MzExKTtmdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PmZ1bmN0aW9uKGUpe2NvbnN0IHQ9bj0+e2UobiksdC5jdXJyZW50PW59O3JldHVybiB0LmN1cnJlbnQ9bnVsbCx0fSgoZT0+e3MuY3VycmVudChlKX0pKSksW10pLG49KDAsci51c2VSZWYpKG51bGwpLGk9dD0+e2lmKG51bGw9PT10KXJldHVybiBhKG4uY3VycmVudCx0KSx2b2lkKG4uY3VycmVudD1udWxsKTtuLmN1cnJlbnQhPT1lJiYobi5jdXJyZW50PWUsYShuLmN1cnJlbnQsdCkpfSxzPSgwLHIudXNlUmVmKShpKTtyZXR1cm4gcy5jdXJyZW50PWksKDAsby51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9PntpZihudWxsIT09dC5jdXJyZW50KXJldHVybiBzLmN1cnJlbnQodC5jdXJyZW50KSwoKT0+cy5jdXJyZW50KG51bGwpfSksW2VdKSx0fWZ1bmN0aW9uIGEoZSx0KXtudWxsIT09ZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZS5jdXJyZW50PXQpfX0sNjg5ODk0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2hvdmVyTW91c2VFdmVudEZpbHRlcjooKT0+YSx1c2VBY2N1cmF0ZUhvdmVyOigpPT5zLHVzZUhvdmVyOigpPT5vLHVzZUhvdmVyRGVwcmVjYXRlZDooKT0+aX0pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxyLnVzZVN0YXRlKSghMSk7cmV0dXJuW2Use29uTW91c2VFbnRlcjpmdW5jdGlvbihlKXt0KCEwKX0sb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gcyhlKXtjb25zdFt0LG5dPSgwLHIudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcj1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO24ocil9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTc5MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlTWF0Y2hNZWRpYTooKT0+aSx1c2VTYWZlTWF0Y2hNZWRpYTooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3RbbixvXT0oMCxyLnVzZVN0YXRlKSh0KTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD13aW5kb3cubWF0Y2hNZWRpYShlKTtmdW5jdGlvbiBuKCl7byh0Lm1hdGNoZXMpfXJldHVybiBuKCksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pLCgpPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLG4pfX0pLFtlXSksbn1mdW5jdGlvbiBpKGUpe2NvbnN0IHQ9KDAsci51c2VNZW1vKSgoKCk9PndpbmRvdy5tYXRjaE1lZGlhKGUpLm1hdGNoZXMpLFtdKTtyZXR1cm4gbyhlLHQpfX0sOTQ4NDUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbW1vbkljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4sYXJpYUxhYmVsOm8sYXJpYUxhYmVsbGVkYnk6aSx0aXRsZTphLGljb246cz0iIiwuLi5sfT1lLGM9bCx1PSEoIW8mJiFpKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJzcGFuIix7ImFyaWEtbGFiZWwiOm8sImFyaWEtbGFiZWxsZWRieSI6aSwiYXJpYS1oaWRkZW4iOiF1LHJlZjp0LHJvbGU6ImltZyIsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpzfSxjbGFzc05hbWU6bix0aXRsZTphLC4uLmN9KX0pKX0sMjczMzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0ljb246KCk9Pm99KTt2YXIgcj1uKDc3OTQ3NCk7Y29uc3Qgbz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpuPSIiLHRpdGxlOm8sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOnMsLi4ubH09ZSxjPSEhKG98fGl8fGEpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOnN8fCFjLHRpdGxlOm8sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpufX0pfSkpfSw3NDE0MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGlzdEl0ZW1IYXNEZXNjcmlwdGlvbkNvbnRleHQ6KCk9PnJ9KTtjb25zdCByPSgwLG4oNzc5NDc0KS5jcmVhdGVDb250ZXh0KSghMSl9LDYyODgyNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMaXN0SXRlbTooKT0+a30pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNTYxMjUwKSxzPW4ubihhKTtmdW5jdGlvbiBsKGUpe2NvbnN0IHQ9KDAsCnIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbVJlZjpvPXQsaXNPcGVuOmEsc2VsZWN0ZWQ6bCxkaXNhYmxlZDpjLG9uTW91c2VFbnRlcjp1LHNpemU6ZD0ibWVkaXVtIixhcmlhQnVzeTpmLGludGVudDptPSJuZXV0cmFsIixkYXRhUWFJZDpwfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjpwLGNsYXNzTmFtZTppKCkocygpLmJhY2tncm91bmQsbCYmcygpLnNlbGVjdGVkLGEmJnMoKS5vcGVuLGMmJnMoKS5kaXNhYmxlZCxzKClbZF0scygpW21dKSxyZWY6byxvbk1vdXNlRW50ZXI6dSwiYXJpYS1idXN5IjpmfSxuKX12YXIgYz1uKDIzNTcyNCksdT1uKDc4Nzg5NSksZD1uKDM0NTExNiksZj1uKDM1OTExNiksbT1uLm4oZik7ZnVuY3Rpb24gcChlKXtjb25zdCB0PSgwLHIudXNlUmVmKShudWxsKSx7Y2hpbGRyZW46bixsaXN0SXRlbUJ1dHRvblJlZjpvPXQsbGlzdEl0ZW1CdXR0b25JZDphLG9uS2V5RG93bkxpc3RJdGVtQnV0dG9uOnMsaHJlZjpsLHRhcmdldDpmPSJfYmxhbmsiLGhvdGtleTpwLGFyaWFDaGVja2VkOkUsYXJpYVNlbGVjdGVkOnYsYXJpYUhhc3BvcHVwOmgsYXJpYUNvbnRyb2xzOkMsYXJpYUV4cGFuZGVkOmIsYXJpYUxhYmVsOmcsYXJpYUxldmVsOngscm9sZTpPLGRpc2FibGVkOk4saXNPcGVuOncsc2VsZWN0ZWQ6UCxvbkNsaWNrOkwsdGFiSW5kZXg6VD0wLHJlbDpfLGRhdGFRYUlkOnksLi4uU309ZSxJPSgwLGQuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoUyksUj0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pLEE9KDAsci51c2VDYWxsYmFjaykoKGU9PntpZihSLmN1cnJlbnQhPT1lLnRhcmdldClyZXR1cm47cz8uKGUpO2NvbnN0IHQ9KDAsYy5oYXNoRnJvbUV2ZW50KShlKTszMiE9PXQmJjEzIT09dHx8KHZvaWQgMCE9PWwmJndpbmRvdy5vcGVuKGwsZiksTD8uKGUpLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0pLFtMLGwsZixzLFJdKSxrPXtyb2xlOk8sImFyaWEta2V5c2hvcnRjdXRzIjpwPyhEPXAsQXJyYXkuaXNBcnJheShEKT9ELm1hcChjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpLmpvaW4oIiAiKTooMCxjLmhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHMpKEQpKTp2b2lkIDAsImFyaWEtZXhwYW5kZWQiOmIsImFyaWEtaGFzcG9wdXAiOmgsImFyaWEtY29udHJvbHMiOkMsImFyaWEtY2hlY2tlZCI6RSwiYXJpYS1zZWxlY3RlZCI6diwiYXJpYS1kaXNhYmxlZCI6TiwiYXJpYS1sYWJlbCI6ZywiYXJpYS1sZXZlbCI6eCxjbGFzc05hbWU6aSgpKG0oKS5idXR0b24sUCYmbSgpLnNlbGVjdGVkKSx0YWJJbmRleDpULHJlZjpSLG9uS2V5RG93bjpOP3ZvaWQgMDpBLG9uQ2xpY2s6Tj92b2lkIDA6TCxpZDphLCJkYXRhLXFhLWlkIjp5LC4uLkl9O3ZhciBEO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLCFsJiZyLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmt9LCIgIixuLCIgIiksbCYmci5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjpsLHRhcmdldDpmLHJlbDpfLC4uLmt9LG4pKX12YXIgRT1uKDMzMjY4Nyksdj1uKDQ0MDkyNiksaD1uLm4odik7ZnVuY3Rpb24gQyhlKXtjb25zdHtob3RrZXk6dH09ZTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aCgpLmhvdGtleX0sKG49dCxBcnJheS5pc0FycmF5KG4pP24ubWFwKGMuaHVtYW5SZWFkYWJsZUhhc2gpLmpvaW4oIiwgIik6KDAsYy5odW1hblJlYWRhYmxlSGFzaCkobikpKTt2YXIgbn12YXIgYj1uKDIzMjA1NCksZz1uLm4oYik7ZnVuY3Rpb24geChlKXtjb25zdHtyaWdodFNsb3Q6dCxob3RrZXk6bixzZWxlY3RlZDpvfT1lO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnKCkucmlnaHR9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmcoKS5jaGlsZH0sci5jcmVhdGVFbGVtZW50KEUuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0UHJvdmlkZXIse3ZhcmlhbnQ6bz8icHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeSJ9LG4mJnIuY3JlYXRlRWxlbWVudChDLHtob3RrZXk6bn0pLHQpKSl9dmFyIE89big0NDM2MTgpLE49bi5uKE8pO2Z1bmN0aW9uIHcoZSl7Y29uc3R7ZWxsaXBzaXM6dCx0ZXh0Om4sY2xhc3NOYW1lOm99PWU7cmV0dXJuIG4/ci5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKG8sInN0cmluZyI9PXR5cGVvZiBuJiZ0JiZOKCkuZWxsaXBzaXMsInN0cmluZyIhPXR5cGVvZiBuJiZOKCkud2l0aEdhcHMsdCYmImFwcGx5LW92ZXJmbG93LXRvb2x0aXAiKX0sbik6bnVsbH12YXIgUD1uKDk0ODM5MCksTD1uLm4oUCk7ZnVuY3Rpb24gVChlKXtjb25zdHtlbGxpcHNpczp0PSEwLHRpdGxlOm4sZGVzY3JpcHRpb246byxoYXNFbmRTbG90OmF9PWU7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShMKCkubWlkZGxlLG4mJkwoKS5oYXNUaXRsZSxvJiZMKCkuaGFzRGVzY3JpcHRpb24sIWEmJkwoKS5oYXNOb0VuZFNsb3QpfSxyLmNyZWF0ZUVsZW1lbnQodyx7a2V5OiJ0aXRsZSIsY2xhc3NOYW1lOkwoKS50aXRsZSx0ZXh0Om4sZWxsaXBzaXM6dH0pLHIuY3JlYXRlRWxlbWVudCh3LHtrZXk6ImRlc2NyaXB0aW9uIixjbGFzc05hbWU6TCgpLmRlc2NyaXB0aW9uLHRleHQ6byxlbGxpcHNpczp0fSkpfXZhciBfPW4oMjEyNDg2KSx5PW4ubihfKTtmdW5jdGlvbiBTKGUpe2NvbnN0e2xlZnRTbG90OnQscmlnaHRTbG90Om4saG90a2V5Om8sc2VsZWN0ZWQ6aSxlbGxpcHNpczphLHRpdGxlOnMsZGVzY3JpcHRpb246bH09ZSxjPXZvaWQgMCE9PXQmJnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5sZWZ0LHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1sZWZ0U2xvdEl0ZW1zTnVtYmVyIjpBcnJheS5pc0FycmF5KHQpP3QubGVuZ3RoOjF9fSx0KSx1PW58fG8/ci5jcmVhdGVFbGVtZW50KHgse3JpZ2h0U2xvdDpuLGhvdGtleTpvLHNlbGVjdGVkOml9KTpudWxsLGQ9ci5jcmVhdGVFbGVtZW50KFQse2VsbGlwc2lzOmEsdGl0bGU6cyxkZXNjcmlwdGlvbjpsLGhhc0VuZFNsb3Q6ISF1fSkKO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnkoKS5idXR0b25Db250ZW50fSxjLGQsdSkpfXZhciBJLFIsQT1uKDc0MTQwNSk7ZnVuY3Rpb24gayhlKXtjb25zdHt0aXRsZTp0LGRlc2NyaXB0aW9uOm4sbGlzdEl0ZW1SZWY6byxsaXN0SXRlbUJ1dHRvblJlZjppLGlzT3BlbjphLHNlbGVjdGVkOnMsZGlzYWJsZWQ6YyxvbkNsaWNrOnUsaHJlZjpmLGxlZnRTbG90Om0scmlnaHRTbG90OkUsaG90a2V5OnYsaW50ZW50Omgsb25Nb3VzZUVudGVyOkMsb25LZXlEb3duTGlzdEl0ZW1CdXR0b246YixsaXN0SXRlbUJ1dHRvbklkOmcsYXJpYUNoZWNrZWQ6eCxhcmlhU2VsZWN0ZWQ6TyxhcmlhSGFzcG9wdXA6TixhcmlhQ29udHJvbHM6dyxhcmlhRXhwYW5kZWQ6UCxhcmlhQnVzeTpMLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxzaXplOkksZWxsaXBzaXM6Uix0YXJnZXQ6ayxvdXRzaWRlT2ZCdXR0b25TbG90OkQsdGFiSW5kZXg6RixyZWw6VixkYXRhUWFJZDpNLC4uLld9PWUsSD0oMCxkLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKFcpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoQS5MaXN0SXRlbUhhc0Rlc2NyaXB0aW9uQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6ISFufSxyLmNyZWF0ZUVsZW1lbnQobCx7c2l6ZTpJLHNlbGVjdGVkOnMsaXNPcGVuOmEsZGlzYWJsZWQ6YyxsaXN0SXRlbVJlZjpvLG9uTW91c2VFbnRlcjpDLGFyaWFCdXN5OkwsaW50ZW50Omh9LHIuY3JlYXRlRWxlbWVudChwLHtsaXN0SXRlbUJ1dHRvblJlZjppLGxpc3RJdGVtQnV0dG9uSWQ6ZyxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpiLGhyZWY6Zix0YXJnZXQ6ayxob3RrZXk6dixhcmlhQ2hlY2tlZDp4LGFyaWFTZWxlY3RlZDpPLGFyaWFIYXNwb3B1cDpOLGFyaWFDb250cm9sczp3LGFyaWFFeHBhbmRlZDpQLGFyaWFMYWJlbDpULGFyaWFMZXZlbDpfLHJvbGU6eSxkaXNhYmxlZDpjLGlzT3BlbjphLHNlbGVjdGVkOnMsb25DbGljazp1LGRhdGFRYUlkOk0sdGFiSW5kZXg6RixyZWw6ViwuLi5IfSxyLmNyZWF0ZUVsZW1lbnQoUyx7bGVmdFNsb3Q6bSxyaWdodFNsb3Q6RSxob3RrZXk6dixzZWxlY3RlZDpzLGVsbGlwc2lzOlIsdGl0bGU6dCxkZXNjcmlwdGlvbjpufSkpLEQpKX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShJfHwoST17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KFJ8fChSPXt9KSl9LDk4ODA2OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtEQVRBX0lTX0NPTlRFWFRfQUNUSU9OOigpPT5pLERBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTjooKT0+byxEQVRBX05FU1RFRF9QT1BPVkVSX09QRU46KCk9PnJ9KTtjb25zdCByPSJkYXRhLW5lc3RlZC1wb3BvdmVyLW9wZW4iLG89ImRhdGEtaXMtcG9wb3Zlci1pdGVtLWJ1dHRvbiIsaT0iZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uIn0sODczMDkwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0FMV0FZU19EUk9QRE9XTl9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pm8sREVGQVVMVF9QT1BPVkVSX0JSRUFLUE9JTlQ6KCk9Pml9KTt2YXIgcj1uKDgwOTQzNik7Y29uc3Qgbz0ibm90IGFsbCIsaT1yWyJtZWRpYS1zaG93LWRyYXdlciJdfSw1MjA0ODYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlckNvbnRlbnRWZXJ0aWNhbDooKT0+dX0pO3ZhciByPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxpPW4ubihvKSxhPW4oNDQwMDk2KSxzPW4ubihhKTt2YXIgbD1uKDYyNzAyMiksYz1uLm4obCk7ZnVuY3Rpb24gdShlKXtjb25zdHtjaGlsZHJlbjp0LGZpeGVkSGVhZGVyOm4sZml4ZWRGb290ZXI6byxvblNjcm9sbDphLHNjcm9sbFJlZjpsLGRhdGFRYUlkOnV9PWUse3Njcm9sbENvbXBlbnNhdGlvbjpkLHNjcm9sbFBhZGRpbmdDb250YWluZXI6Zn09ZnVuY3Rpb24oKXtjb25zdFtlLHRdPSgwLHIudXNlU3RhdGUpKHZvaWQgMCksbj0oMCxyLnVzZUNhbGxiYWNrKSgoZT0+e2UmJnQoKHQ9PnR8fGUub2Zmc2V0V2lkdGgtZS5jbGllbnRXaWR0aCkpfSksW10pO3JldHVybntzY3JvbGxDb21wZW5zYXRpb246dm9pZCAwIT09ZT8tZSsicHgiOnZvaWQgMCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOnIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnMoKS5zY3JvbGxDb250YWluZXIscmVmOm59KX19KCk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChyLkZyYWdtZW50LG51bGwsci5jcmVhdGVFbGVtZW50KCJkaXYiLHsiZGF0YS1xYS1pZCI6dSxjbGFzc05hbWU6YygpLmZsZXh9LHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRIZWFkZXIsbiYmYygpLmZpeGVkSGVhZGVyQ29udGVudCl9LG4pLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkubWFpblNjcm9sbFdyYXBwZXIsdm9pZCAwPT09ZCYmYygpLm5vU2Nyb2xsKSxvblNjcm9sbDphLHJlZjpsLHN0eWxlOnsiLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyQ29udGVudFZlcnRpY2FsLXNjcm9sbC1jb21wZW5zYXRpb24iOmR9fSxyLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoYygpLm1haW4sdCYmYygpLm1haW5Db250ZW50KX0sdCkpLHIuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShjKCkuZml4ZWRGb290ZXIsbyYmYygpLmZpeGVkRm9vdGVyQ29udGVudCl9LG8pKSxmKX19LDk3MjczNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVySXRlbTooKT0+bH0pO3ZhciByLG8saT1uKDc3OTQ3NCksYT1uKDYyODgyNSkscz1uKDk4ODA2OCk7ZnVuY3Rpb24gbChlKXsKY29uc3R7dGl0bGU6dCxkZXNjcmlwdGlvbjpuLHBvcG92ZXJJdGVtUmVmOnIscG9wb3Zlckl0ZW1CdXR0b25SZWY6byxpc09wZW46bCxzZWxlY3RlZDpjLGRpc2FibGVkOnUsb25DbGljazpkLGhyZWY6ZixsZWZ0U2xvdDptLHJpZ2h0U2xvdDpwLGhvdGtleTpFLGludGVudDp2LG9uTW91c2VFbnRlcjpoLG9uS2V5RG93blBvcG92ZXJJdGVtQnV0dG9uOkMscG9wb3Zlckl0ZW1CdXR0b25JZDpiLGFyaWFDaGVja2VkOmcsYXJpYVNlbGVjdGVkOngsYXJpYUhhc3BvcHVwOk8sYXJpYUNvbnRyb2xzOk4sYXJpYUV4cGFuZGVkOncsYXJpYUJ1c3k6UCxhcmlhTGFiZWw6TCxyb2xlOlQsc2l6ZTpfLGVsbGlwc2lzOnksdGFyZ2V0OlMsb3V0c2lkZU9mQnV0dG9uU2xvdDpJLHRhYkluZGV4OlIscmVsOkEsZGF0YVFhSWQ6a309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGEuTGlzdEl0ZW0se3RpdGxlOnQsZGVzY3JpcHRpb246bixsaXN0SXRlbVJlZjpyLGxpc3RJdGVtQnV0dG9uUmVmOm8saXNPcGVuOmwsc2VsZWN0ZWQ6YyxkaXNhYmxlZDp1LG9uQ2xpY2s6ZCxocmVmOmYsbGVmdFNsb3Q6bSxyaWdodFNsb3Q6cCxob3RrZXk6RSxpbnRlbnQ6dixvbk1vdXNlRW50ZXI6aCxvbktleURvd25MaXN0SXRlbUJ1dHRvbjpDLGxpc3RJdGVtQnV0dG9uSWQ6YixhcmlhQ2hlY2tlZDpnLGFyaWFTZWxlY3RlZDp4LGFyaWFIYXNwb3B1cDpPLGFyaWFDb250cm9sczpOLGFyaWFFeHBhbmRlZDp3LGFyaWFCdXN5OlAsYXJpYUxhYmVsOkwscm9sZTpULHNpemU6XyxlbGxpcHNpczp5LHRhcmdldDpTLG91dHNpZGVPZkJ1dHRvblNsb3Q6SSx0YWJJbmRleDpSLHJlbDpBLGRhdGFRYUlkOmssW3MuREFUQV9JU19QT1BPVkVSX0lURU1fQlVUVE9OXToidHJ1ZSJ9KX0hZnVuY3Rpb24oZSl7ZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShyfHwocj17fSkpLGZ1bmN0aW9uKGUpe2UuTmV1dHJhbD0ibmV1dHJhbCIsZS5EYW5nZXI9ImRhbmdlciJ9KG98fChvPXt9KSl9LDIwODA4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3BvdmVyS2V5Ym9hcmROYXZpZ2F0b3I6KCk9PlB9KTt2YXIgcj1uKDc3OTQ3NCksbz1uKDc4Nzg5NSksaT1uKDIzNjQ1NCksYT1uKDcxODc3Mykscz1uKDU4NzE2OCksbD1uKDIzNTcyNCksYz1uKDk4ODA2OCksdT1uKDgyMzEyNCksZD1uKDI1MDUxOCk7Y29uc3QgZj0oZSx0KT0+e2NvbnN0IG49ZSh0LHtwcmV2ZW50U2Nyb2xsOiEwfSk7biYmKDAsdS5zY3JvbGxQb3BvdmVySXRlbUludG9WaWV3KShuKX07ZnVuY3Rpb24gbShlLHQ9MCl7Y29uc3R7Zm9jdXNQcmV2TG9vcDpuLGZvY3VzTmV4dExvb3A6byxmb2N1c0ZpcnN0OmksZm9jdXNMYXN0OmF9PSgwLHIudXNlTWVtbykoKCgpPT4oMCxkLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShgWyR7Yy5EQVRBX0lTX1BPUE9WRVJfSVRFTV9CVVRUT059XWApKSxbXSk7Y29uc3QgdT0oMCxyLnVzZUNhbGxiYWNrKSgodD0+e2UmJnQmJmkodCl9KSxbaSxlXSksbT0oMCxyLnVzZU1lbW8pKCgoKT0+KDAscy5kZWZhdWx0KShmLHQse2xlYWRpbmc6ITEsdHJhaWxpbmc6ITB9KSksW3RdKTtyZXR1cm57b25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHI9KDAsbC5oYXNoRnJvbUV2ZW50KShlKSxzPWUuY3VycmVudFRhcmdldCxjPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiBuO2Nhc2UgNDA6cmV0dXJuIG87Y2FzZSAzNjpyZXR1cm4gaTtjYXNlIDM1OnJldHVybiBhfX0ocik7YyYmKGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLHQ/bShjLHMpOmYoYyxzKSl9LHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnV9fXZhciBwPW4oOTE0NDg3KSxFPW4ubihwKSx2PW4oMzE5NjkpLGg9bigyMzc2MTYpLEM9big1MjA0ODYpLGI9big1MTgyNzIpLGc9bi5uKGIpO2Z1bmN0aW9uIHgoZSl7Y29uc3QgdD0oMCxyLnVzZVJlZikobnVsbCkse3dpZHRoOm49aS5QT1BPVkVSX0RFRkFVTFRfV0lEVEgsaGVpZ2h0Om89aS5QT1BPVkVSX0RFRkFVTFRfSEVJR0hULHBsYWNlbWVudFJ1bGVzOmE9aS5QT1BPVkVSX0RFRkFVTFRfUExBQ0VNRU5UX1JVTEVTLG9uQ2xvc2U6cyxpc09wZW46bCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6YyxjaGlsZHJlbjp1LHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6bSxhbmNob3JlZDpwLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTp4LG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpPLG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOk4scmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dz10LGlzUnRsOlAscmVwb3NpdGlvblRyaWdnZXJzOkwscmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGZpeGVkSGVhZGVyOl8sZml4ZWRGb290ZXI6eSxvblNjcm9sbDpTLHNjcm9sbFJlZjpJLG9uS2V5RG93bjpSLGNvbnRlbnRSZXNpemU6QSxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50V3JhcHBlckNsYXNzbmFtZTpGfT1lLFY9KDAsci51c2VJZCkoKSxNPW0/P1YsVz0oMCx2LnVzZU1lcmdlZFJlZnMpKFt3XSksSD0oMCxyLnVzZVJlZikobnVsbCksQj0oMCx2LnVzZU1lcmdlZFJlZnMpKFtJLEhdKSxLPXIuY3JlYXRlRWxlbWVudCgiZGl2Iix7b25LZXlEb3duOlIsY2xhc3NOYW1lOkUoKShGLGcoKS5ldmVudFdyYXBwZXIpfSxyLmNyZWF0ZUVsZW1lbnQoQy5Qb3BvdmVyQ29udGVudFZlcnRpY2FsLHtmaXhlZEhlYWRlcjpfLGZpeGVkRm9vdGVyOnksb25TY3JvbGw6UyxzY3JvbGxSZWY6Qn0sdSkpO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyLHthbmNob3JlZDpwLGlzUnRsOlAsb25DbG9zZTpzLGlzT3BlbjpsLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpjLHJvbGU6ZCxhcmlhTGFiZWxsZWRieTpmLGFyaWFNdWx0aXNlbGVjdGFibGU6YixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50Ok0scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6VyxwbGFjZW1lbnRSdWxlczphLHdpZHRoOm4saGVpZ2h0Om8sCmNoaWxkcmVuOkssbW9iaWxlUG9zaXRpb25lclNpZGU6eCxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpOLHJlcG9zaXRpb25UcmlnZ2VyczpMLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OmssZGF0YVFhSWQ6RCxjb250ZW50UmVzaXplOkEsc2Nyb2xsQ29udGFpbmVyOkh9KX12YXIgTz1uKDk5OTUxKSxOPW4oNDUyNDY0KSx3PW4ubihOKTtmdW5jdGlvbiBQKGUpe2NvbnN0IHQ9KDAsci51c2VSZWYpKG51bGwpLHt3aWR0aDpuPWkuUE9QT1ZFUl9ERUZBVUxUX1dJRFRILGhlaWdodDpzPWkuUE9QT1ZFUl9ERUZBVUxUX0hFSUdIVCxwbGFjZW1lbnRSdWxlczpsPWkuUE9QT1ZFUl9ERUZBVUxUX1BMQUNFTUVOVF9SVUxFUyxvbkNsb3NlOmMsaXNPcGVuOnUsY2xvc2VPbkNsaWNrQXdheTpkPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpmPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwPWkuUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6RT1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6aD1pLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOkMsY2hpbGRyZW46Yixyb2xlOmcsYXJpYUxhYmVsbGVkYnk6TixpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OlAsYW5jaG9yZWQ6TCxhcmlhTXVsdGlzZWxlY3RhYmxlOlQsbW9iaWxlUG9zaXRpb25lclNpZGU6Xyxtb2JpbGVQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpTPXQsaXNSdGw6SSxmb2N1c0ZpcnN0SXRlbU9uT3BlbjpSPSEwLHJlcG9zaXRpb25UcmlnZ2VyczpBPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6ayxmaXhlZEhlYWRlcjpELGZpeGVkRm9vdGVyOkYsb25TY3JvbGw6VixzY3JvbGxSZWY6TSxtb2JpbGVCcmVha3BvaW50OlcsY29udGVudFJlc2l6ZTpIPTE0LG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsa2V5RG93blRocm90dGxlTXM6SyxkYXRhUWFJZDpVfT1lLHo9KDAsci51c2VDb250ZXh0KShPLkFwcENvbnRleHQpLmlzUnRsLEc9ST8/eixRPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoUykscT0oMCxyLnVzZUlkKSgpLFo9UD8/cSx7cmVwb3NpdGlvblRyaWdnZXJzOmoscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6WX09KDAsYS51c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcikoe29uQ2xvc2U6Yyxpc09wZW46dSxjbG9zZU9uQ2xpY2tBd2F5OmQsY2xvc2VPbkVzY2FwZTpmLGNsb3NlT25SZXNpemVXaW5kb3c6RSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpwLGNsb3NlT25UYWI6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpRLGV4Y2x1ZGVBcmVhOkwuYXR9KSx7b25LZXlEb3duOlgscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6Sn09bShSLEspLCQ9KDAsdi51c2VNZXJnZWRSZWZzKShbSixZXSk7cmV0dXJuIHIuY3JlYXRlRWxlbWVudCh4LHthbmNob3JlZDpMLGlzUnRsOkcsb25DbG9zZTpjLGlzT3Blbjp1LGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpDLHJvbGU6ZyxhcmlhTGFiZWxsZWRieTpOLGFyaWFNdWx0aXNlbGVjdGFibGU6VCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OloscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6JCxwbGFjZW1lbnRSdWxlczpsLHdpZHRoOm4saGVpZ2h0OnMsY2hpbGRyZW46Yixtb2JpbGVQb3NpdGlvbmVyU2lkZTpfLG1vYmlsZVBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTp5LHJlcG9zaXRpb25UcmlnZ2VyczpbLi4uaiwuLi5BXSxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOmssZml4ZWRGb290ZXI6RixmaXhlZEhlYWRlcjpELG9uU2Nyb2xsOlYsc2Nyb2xsUmVmOk0sb25LZXlEb3duOlgsY29udGVudFJlc2l6ZTpILG1vYmlsZVBvc2l0aW9uZXJTdHJldGNoOkIsbW9iaWxlQnJlYWtwb2ludDpXLGRhdGFRYUlkOlUsY29udGVudFdyYXBwZXJDbGFzc25hbWU6dygpLnBrbn0pfX0sODIzMTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2Uuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOnQ/InNtb290aCI6dm9pZCAwLGJsb2NrOiJjZW50ZXIifSl9bi5kKHQse3Njcm9sbFBvcG92ZXJJdGVtSW50b1ZpZXc6KCk9PnJ9KX0sNjQwNTEzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BMQUNFTUVOVF9CT1RUT01fQUxJR05fQ0VOVEVSOigpPT5pLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVDooKT0+cixQTEFDRU1FTlRfQk9UVE9NX0FMSUdOX1JJR0hUOigpPT5vLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0JPVFRPTTooKT0+bSxQTEFDRU1FTlRfTEVGVF9BTElHTl9DRU5URVI6KCk9PnAsUExBQ0VNRU5UX0xFRlRfQUxJR05fVE9QOigpPT5mLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9CT1RUT006KCk9PnUsUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0NFTlRFUjooKT0+ZCxQTEFDRU1FTlRfUklHSFRfQUxJR05fVE9QOigpPT5jLFBMQUNFTUVOVF9UT1BfQUxJR05fQ0VOVEVSOigpPT5sLFBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVDooKT0+YSxQTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUOigpPT5zfSk7Y29uc3Qgcj17bmFtZToiYm90dG9tLWxlZnQiLHJ0bE5hbWU6ImJvdHRvbS1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbz17bmFtZToiYm90dG9tLXJpZ2h0IixydGxOYW1lOiJib3R0b20tbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0saT17bmFtZToiYm90dG9tIixhbmNob3JQb2ludDp7eDouNSwKeToxfSxjb250ZW50UG9pbnQ6e3g6LjUseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxhPXtuYW1lOiJ0b3AtbGVmdCIscnRsTmFtZToidG9wLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjAseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxzPXtuYW1lOiJ0b3AtcmlnaHQiLHJ0bE5hbWU6InRvcC1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MH0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxsPXtuYW1lOiJ0b3AiLGFuY2hvclBvaW50Ont4Oi41LHk6MH0sY29udGVudFBvaW50Ont4Oi41LHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYz17bmFtZToicmlnaHQtdG9wIixydGxOYW1lOiJsZWZ0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sdT17bmFtZToicmlnaHQtYm90dG9tIixydGxOYW1lOiJsZWZ0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MSx5OjF9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZD17bmFtZToicmlnaHQiLHJ0bE5hbWU6ImxlZnQiLGFuY2hvclBvaW50Ont4OjEseTouNX0sY29udGVudFBvaW50Ont4OjAseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sZj17bmFtZToibGVmdC10b3AiLHJ0bE5hbWU6InJpZ2h0LXRvcCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0sbT17bmFtZToibGVmdC1ib3R0b20iLHJ0bE5hbWU6InJpZ2h0LWJvdHRvbSIsYW5jaG9yUG9pbnQ6e3g6MCx5OjF9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn0scD17bmFtZToibGVmdCIscnRsTmFtZToicmlnaHQiLGFuY2hvclBvaW50Ont4OjAseTouNX0sY29udGVudFBvaW50Ont4OjEseTouNX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJjcm9wU2xpZGUiLG92ZXJmbG93VmVydGljYWw6InNsaWRlIn19LDQ3OTI5NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKHQsbik9Pih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsbil9KX1uLmQodCx7d2luZG93RXZlbnQ6KCk9PnJ9KX0sNDQwNDQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZTooKT0+Y30pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oNDc5Mjk3KSxhPW4oMTU5MjU2KSxzPW4oODU0MzM4KTtjb25zdCBsPSgwLGkud2luZG93RXZlbnQpKCJzY3JvbGwiKTtmdW5jdGlvbiBjKGUsdCxuLGkpe2NvbnN0IGM9KDAsci51c2VNZW1vKSgoKCk9PigwLG8uY3JlYXRlU2lnbmFsKSgpKSxbXSksdT0oMCxyLnVzZUNhbGxiYWNrKSgoKCk9PntuKCExLCJjdXJyZW50TGV2ZWwiKX0pLFtuXSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KShlLCgoKT0+bCgoZT0+e2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28mJigoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShyLG8pfHwoMCxzLmlzRWxlbWVudENvbnRhaW5zRWxlbWVudFRocm91Z2hQb3J0YWxzKShvLHIpJiZ0KCkpfSksITApKSxbdCxuXSl9KGUsdD91OmMuZmlyZSxpKSxjfX0sNTc3ODMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lzSW5FeGNsdWRlZEFyZWE6KCk9Pm99KTt2YXIgcj1uKDc3MTQ0Nyk7ZnVuY3Rpb24gbyhlLHQpe2lmKCF0KXJldHVybiExO2NvbnN0IG49ImN1cnJlbnQiaW4gdD90LmN1cnJlbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnQ7cmV0dXJuISFuJiYoMCxyLmlzSW5SZWN0KShlLG4pfX0sMzA2Mjg3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdpbmRvd1Jlc2l6ZVRyaWdnZXI6KCk9PnMsdXNlV2luZG93U2Nyb2xsVHJpZ2dlcjooKT0+bH0pO3ZhciByPW4oNzc5NDc0KSxvPW4oNzA2OTQzKSxpPW4oMTU5MjU2KTtmdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBhPSgwLHIudXNlTWVtbykoKCgpPT4oMCxvLmNyZWF0ZVNpZ25hbCkoKSksW10pO3JldHVybigwLGkudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT4od2luZG93LmFkZEV2ZW50TGlzdGVuZXIodCxhLmZpcmUsbiksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEuZmlyZSxuKX0pKSxbYV0pLGF9Y29uc3Qgcz0oZT0hMCk9PmEoZSwicmVzaXplIiwhMCksbD0oZT0hMCk9PmEoZSwic2Nyb2xsIiwhMCl9LDE1OTI1NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VDb25kaXRpb25hbEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCxuKXsoMCxyLnVzZUVmZmVjdCkoKCgpPT57aWYoZSlyZXR1cm4gdCgpfSksWy4uLm4sZV0pfX0sNzE4NzczKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVBvcG92ZXJDbG9zZUJlaGF2aW9yOigpPT5ofSk7dmFyIHIsbz1uKDc3OTQ3NCksaT1uKDMwNjI4NyksYT1uKDE1OTI1Nik7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuSG9yaXpvbnRhbD0xXT0iSG9yaXpvbnRhbCIsZVtlLlZlcnRpY2FsPTJdPSJWZXJ0aWNhbCIsZVtlLkJvdGg9M109IkJvdGgifShyfHwocj17fSkpO3ZhciBzPW4oNDQwNDQ2KTtmdW5jdGlvbiBsKGUsdCxuKXtjb25zdCByPSgwLAppLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksaT0oMCxvLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntpLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1yLmN1cnJlbnRbZV0/ci5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHIuY3VycmVudFtlXT1uKTpyLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHIuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LGldKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bciwoMCxzLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciBjPW4oNzg3ODk1KSx1PW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxmPW4oNTc3ODMyKSxtPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxFPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gaChlKXtjb25zdCB0PSgwLG8udXNlUmVmKShudWxsKSx7b25DbG9zZTpuLGlzT3BlbjpyLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50Omk9dCxjbG9zZU9uQ2xpY2tBd2F5OnM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWSxjbG9zZU9uRXNjYXBlOmg9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fRVNDQVBFLGNsb3NlT25TY3JvbGxPdXRzaWRlOkM9bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREUsY2xvc2VPblJlc2l6ZVdpbmRvdzpiPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1JFU0laRV9XSU5ET1csY2xvc2VPblRhYjpnPW0uUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQixleGNsdWRlQXJlYTp4fT1lO2xldCBPPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoaSk7Y29uc3QgTj1sKHIsbix7Y2xvc2VPblJlc2l6ZVdpbmRvdzpiLGNsb3NlT25TY3JvbGxPdXRzaWRlOkMscmVmOk99KTtyZXR1cm4gTz1mdW5jdGlvbihlLHQsbil7Y29uc3Qgcj0oMCxvLnVzZUNhbGxiYWNrKSgocj0+e2UmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGU9PntpZigyNyE9PSgwLEUuaGFzaEZyb21FdmVudCkoZSkpcmV0dXJuO2NvbnN0IHI9bi5jdXJyZW50O2lmKCFyKXJldHVybjtjb25zdCBvPWUudGFyZ2V0O28gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmci5jb250YWlucyhvKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQoITAsImN1cnJlbnRMZXZlbCIpKX0pLHtjYXB0dXJlOiExfSl9KSxbZV0pO3JldHVybigwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoKDAscC51c2VNZXJnZWRSZWZzKShbbixyXSkpfShoJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PnYoKGU9Pntjb25zdCBuPSgwLEUuaGFzaEZyb21FdmVudCkoZSk7OSE9PW4mJm4hPT05K0UuTW9kaWZpZXJzLlNoaWZ0fHx0KCEwLCJjdXJyZW50TGV2ZWwiKX0pLCEwKSksW3Qsbl0pfShnJiZyLG4sTyksZnVuY3Rpb24oZSx0LG4scixvKXtjb25zdCBpPSJib29sZWFuIj09dHlwZW9mIHI/bS5QT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fQ0xJQ0tfQVdBWTpyOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKCEhZSwoKCk9PigwLGQud2luZG93RXZlbnQpKGkpKChlPT57Y29uc3Qgcj17eDplLmNsaWVudFgseTplLmNsaWVudFl9LGk9bi5jdXJyZW50OygwLGYuaXNJbkV4Y2x1ZGVkQXJlYSkocixvKXx8aSYmKDAsdS5pc1hZSW5zaWRlRWxlbWVudFRocm91Z2hQb3J0YWxzKShpLHIueCxyLnkpfHx0KCExLCJjdXJyZW50TGV2ZWwiKX0pKSksW3QsbyxuLGldKX0ocyYmcixuLE8scyx4KSx7cmVwb3NpdGlvblRyaWdnZXJzOk4scmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6T319fSwxMzY0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3NrZWxldG9uVGhlbWU6KCk9Pm99KTt2YXIgcj1uKDk3NTI4NSk7Y29uc3Qgbz1uLm4ocikoKX0sMzQ1MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gaShlLGEpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGkoZSxzKX1mdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbj1PYmplY3QuZW50cmllcyhlKS5maWx0ZXIodCkscj17fTtmb3IoY29uc3RbZSx0XW9mIG4pcltlXT10O3JldHVybiByfWZ1bmN0aW9uIGEoZSl7Y29uc3RbdCxuXT1lO3JldHVybiAwPT09dC5pbmRleE9mKCJkYXRhLSIpJiYic3RyaW5nIj09dHlwZW9mIG59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gMD09PWVbMF0uaW5kZXhPZigiYXJpYS0iKX1mdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1yKGUpO3JldHVybiB0JiYoblsiZGF0YS1xYS1pZCJdPXQpLG59bi5kKHQse2ZpbHRlckFyaWFQcm9wczooKT0+byxmaWx0ZXJDaGVja2VkRGF0YVByb3BzOigpPT5sLGZpbHRlckRhdGFQcm9wczooKT0+cixmaWx0ZXJQcm9wczooKT0+aSxpc0FyaWFBdHRyaWJ1dGU6KCk9PnMsaXNEYXRhQXR0cmlidXRlOigpPT5hfSl9LDU2Mjk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2lnbm9yZU9uU1NSOigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big1Mjk0MTEpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PigwLG8udXNlSXNOb25GaXJzdFJlbmRlcikoKT9yLmNyZWF0ZUVsZW1lbnQoZSx7Li4udH0pOm51bGx9fSwyODQ2OTAoZSx0LG4peyJ1c2Ugc3RyaWN0Igo7bi5kKHQse2dldExpbmVhcktleWJvYXJkTmF2aWdhdGlvbjooKT0+bH0pO3ZhciByPW4oMjUwNTE4KSxvPW4oMjM1NzI0KSxpPW4oMzgyMjQyKSxhPW4oNjgyMzgxKSxzPW4oMjk4NzI4KTtmdW5jdGlvbiBsKGUsdD17fSl7Y29uc3R7Zm9jdXNOZXh0Om4sZm9jdXNQcmV2OmwsZm9jdXNGaXJzdDpjLGZvY3VzTGFzdDp1fT0oMCxyLmdldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uKShlLHQuYWxsb3dOZXN0ZWRGb2N1c2FibGUpLGQ9ey4uLnQuaG9yaXpvbnRhbD97Mzk6biwzNzpsfTp7NDA6biwzODpsfSwuLi50LmhhbmRsZUhvbWVFbmQ/ezM2OmMsMzU6dX06e319O3JldHVybntvbkZvY3VzOmZ1bmN0aW9uKG4pe2NvbnN0IHI9bi5jdXJyZW50VGFyZ2V0O24udGFyZ2V0PT09ciYmZnVuY3Rpb24obil7Y29uc3Qgcj0oMCxpLmdldFNlbGVjdG9yVHJlZVdhbGtlcikobixlKS5uZXh0Tm9kZSgpO3ImJigwLGEuaXNIVE1MT3JTVkdFbGVtZW50KShyKSYmciE9PW4mJnIuZm9jdXModC5mb2N1c09wdGlvbnMpfShyKX0sb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IG49KDAscy5mbGlwQXJyb3dzT25SdGwpKCgwLG8uaGFzaEZyb21FdmVudCkoZSksdC5pc1J0bCkscj1lLmN1cnJlbnRUYXJnZXQsaT1lLnRhcmdldDtpZighKGkgaW5zdGFuY2VvZiBOb2RlKSlyZXR1cm47aWYoIXIuY29udGFpbnMoaSkpcmV0dXJuO2NvbnN0IGE9ZFtuXTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj1hPy4ocix0LmZvY3VzT3B0aW9ucyk7biYmZS5zdG9wUHJvcGFnYXRpb24oKX19fX19LDI5ODcyOChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4gZTtjb25zdCBuPTI1NSZlLHI9LTI1NiZlO3JldHVybiAzNz09PW4/MzkrcjozOT09PW4/MzcrcjplfW4uZCh0LHtmbGlwQXJyb3dzT25SdGw6KCk9PnJ9KX0sMjUwNTE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dldFNlbGVjdG9yS2V5Ym9hcmROYXZpZ2F0aW9uOigpPT5pfSk7dmFyIHI9bigzODIyNDIpLG89big2ODIzODEpO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBuPXQ9PihuLGkpPT57Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxuLHM9KDAsci5nZXRTZWxlY3RvclRyZWVXYWxrZXIpKG4sZSk7cy5jdXJyZW50Tm9kZT1hO2NvbnN0IGw9dChzKTtyZXR1cm4gbCYmKDAsby5pc0hUTUxPclNWR0VsZW1lbnQpKGwpJiZsIT09YT8obC5mb2N1cyhpKSxsKTpudWxsfSxpPXQ/ZT0+ZS5wcmV2aW91c05vZGUoKTpyLmdldFByZXZpb3VzTm9uUGFyZW50LGE9ZT0+ZS5uZXh0Tm9kZSgpO3JldHVybntmb2N1c1ByZXY6bihpKSxmb2N1c05leHQ6bihhKSxmb2N1c0ZpcnN0Om4oci5nZXRGaXJzdERlc2NlbmRhbnQpLGZvY3VzTGFzdDpuKHIuZ2V0TGFzdERlc2NlbmRhbnQpLGZvY3VzUHJldkxvb3A6bigoZT0+e2NvbnN0IHQ9aShlKTtyZXR1cm4gdHx8KDAsci5nZXRMYXN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNOZXh0TG9vcDpuKChlPT57Y29uc3QgdD1hKGUpO3JldHVybiB0fHwoMCxyLmdldEZpcnN0RGVzY2VuZGFudCkoZSl9KSksZm9jdXNJbmRleDooZSx0LHIpPT5uKChlPT57ZS5jdXJyZW50Tm9kZT1lLnJvb3Q7Zm9yKGxldCBuPTA7bjx0O24rKyllLm5leHROb2RlKCk7cmV0dXJuIGUubmV4dE5vZGUoKX0pKShlLHIpfX19LDk2NDU5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIHIoW2VdKX1uLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+byxtZXJnZVJlZnM6KCk9PnJ9KX0sODMzOTAzKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gciguLi5lKXtyZXR1cm4gdD0+e2Zvcihjb25zdCBuIG9mIGUpdm9pZCAwIT09biYmbih0KX19bi5kKHQse2NyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXI6KCk9PnJ9KX0sMzI5NjY4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI7ZnVuY3Rpb24gbyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpfWZ1bmN0aW9uIGkoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpfW4uZCh0LHtiZWNvbWVNYWluRWxlbWVudDooKT0+byxiZWNvbWVTZWNvbmRhcnlFbGVtZW50OigpPT5pfSksZnVuY3Rpb24oZSl7ZS5NYWluRWxlbWVudD0icm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIsZS5TZWNvbmRhcnlFbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQifShyfHwocj17fSkpfSw5ODM2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT51LG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PmEscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PnMsdXBkYXRlVGFiSW5kZXhlczooKT0+Y30pO3ZhciByLG89big5NjkxNjgpLGk9big2ODIzODEpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT09PXQ/MDplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HPy0xOjF9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBsKGUpewpyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLGkuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHtidWJibGVzOiEwfSkpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxvLmlzUnRsKSgpO3N3aXRjaChlKXtjYXNlIDM4OnJldHVybiJibG9ja1ByZXYiO2Nhc2UgNDA6cmV0dXJuImJsb2NrTmV4dCI7Y2FzZSAzNzpyZXR1cm4gdD8iaW5saW5lTmV4dCI6ImlubGluZVByZXYiO2Nhc2UgMzk6cmV0dXJuIHQ/ImlubGluZVByZXYiOiJpbmxpbmVOZXh0IjtkZWZhdWx0OnJldHVybiBudWxsfX0hZnVuY3Rpb24oZSl7ZS5CbG9ja1ByZXY9ImJsb2NrUHJldiIsZS5CbG9ja05leHQ9ImJsb2NrTmV4dCIsZS5JbmxpbmVQcmV2PSJpbmxpbmVQcmV2IixlLklubGluZU5leHQ9ImlubGluZU5leHQifShyfHwocj17fSkpfSw2MTYzMTEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDooKT0+b30pO3ZhciByPW4oNzc5NDc0KTtmdW5jdGlvbiBvKGUsdCl7KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93P3IudXNlRWZmZWN0OnIudXNlTGF5b3V0RWZmZWN0KShlLHQpfX0sMTA2OTAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5OigpPT5pfSk7dmFyIHI9big3Nzk0NzQpLG89big2MTYzMTEpO2NvbnN0IGk9KGUsdD0hMSxuPVtdKT0+e2NvbnN0IGk9IndhdGNoZWRWYWx1ZSJpbiBlP2Uud2F0Y2hlZFZhbHVlOnZvaWQgMCxhPSJkZWZhdWx0VmFsdWUiaW4gZT9lLmRlZmF1bHRWYWx1ZTplLndhdGNoZWRWYWx1ZS52YWx1ZSgpLFtzLGxdPSgwLHIudXNlU3RhdGUpKGk/aS52YWx1ZSgpOmEpO3JldHVybih0P28udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdDpyLnVzZUVmZmVjdCkoKCgpPT57aWYoaSl7bChpLnZhbHVlKCkpO2NvbnN0IGU9ZT0+bChlKTtyZXR1cm4gaS5zdWJzY3JpYmUoZSksKCk9PmkudW5zdWJzY3JpYmUoZSl9cmV0dXJuKCk9Pnt9fSksW2ksLi4ubl0pLHN9fSwxODIzMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5hfSk7dmFyIHI9big3Nzk0NzQpLG89big3ODc4OTUpLGk9big2MTYzMTEpO2Z1bmN0aW9uIGEoZSx0PVtdKXtjb25zdFtuLGFdPSgwLHIudXNlU3RhdGUpKCExKSxzPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXMuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjphKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YSghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbcyxuPzA6LTFdfX0sNDYyNzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMiA0aDN2MWgtMS4wNGwtLjg4IDkuNjRhMS41IDEuNSAwIDAgMS0xLjUgMS4zNkg2LjQyYTEuNSAxLjUgMCAwIDEtMS41LTEuMzZMNC4wNSA1SDNWNGgzdi0uNUM2IDIuNjcgNi42NyAyIDcuNSAyaDNjLjgzIDAgMS41LjY3IDEuNSAxLjVWNFpNNy41IDNhLjUuNSAwIDAgMC0uNS41VjRoNHYtLjVhLjUuNSAwIDAgMC0uNS0uNWgtM1pNNS4wNSA1bC44NyA5LjU1YS41LjUgMCAwIDAgLjUuNDVoNS4xN2EuNS41IDAgMCAwIC41LS40NUwxMi45NCA1aC03LjlaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/borderb.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.081Z","timestamp":1785136422081,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/borderb.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 262\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":262,"size_decoded":602,"mime_type":"image/png","magic":"PNG image data, 362 x 8, 8-bit/color RGBA, non-interlaced","md5":"e2ae89b89e350ca779d4ad1a0fc6e91a","sha1":"4f43500be57e06c74fab2dafe937d022fd4677a3","sha256":"649534aceba7be10e292788a100d442bf43e4d037f77a6e7f4be1ac6e4ad50a3","sha512":"28ace1e3e53418ac8a98c568303730f0d8261567d1683fa0c3d829eaf1f509ae70f3c355659a911b94ef6488fa741ceff7ad55dd600f36429d83bf8aa6a919d7","ssdeep":"","tlshash":"31d0eb92d200c86afa9656e3d08203018061caa86630a66025b2d074eee800828ea9c7","first_seen":"2025-12-03T04:46:43.74489Z","last_seen":"2026-07-29T06:14:00.372934Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAWoAAAAICAYAAADQk7UGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKhJREFUeNrs2kEKAyEMhWEtUnrlQmfK2PYyvVD3c4xZ1Cb0Cd4gLv4PAurSRXhEc2stAQDivPdPX56snlrfrL6+KFwRAEzBm/RqddX+sKrerMvQyQEAMbIS9DKcLUrUDxI1AMR7DUl6TNib1cUbNUNqAJg4bRdFbgBAYDNO//n0qiTtfOzhM+qa+fUBALH0VtgfE+863lJ/TOSKAGAKPUGfta86Sz8BBgBQOiE6lVfaSwAAAABJRU5ErkJggg=="}},"time_used":5133,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5133,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15526.c829c52fed259855bb96.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.813Z","timestamp":1785136429813,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/15526.c829c52fed259855bb96.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-316\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 63c68ed80da4c4bfa98c17a9d2a6f801\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.393Z","timestamp":1785136428393,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 63d46336fe9b80f652bbec7315f256be\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-08-11T04:47:30.178876Z","times_seen":661,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/20947.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.672Z","timestamp":1785136428672,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/20947.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1010\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 30 Aug 2023 05:52:21 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 05:38:23 GMT\r\ncache-control: public, max-age=86400\r\netag: \"0fb70690288109f594a3ee773a489890\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 5726\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: GZkItpd5_OrXp9JTpAXzGuyzFnRxpdG_ii2V9ArJEdxsfKDWo8IdRw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":1010,"size_decoded":1581,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0fb70690288109f594a3ee773a489890","sha1":"0063896e70219950943a66b781db9d3799702fb3","sha256":"8fc174251647f28d51d31f696603bcbae579788915ac49818f93b1ef695f5853","sha512":"4b37ebf118d32fb1193365836acf307907777b736e73795b3cc292a13e148f0476a840fbe02f98067e354c7408a2275b0c18b8c1552c71143a0ad185ec9632bf","ssdeep":"","tlshash":"e811c877e52c93f6dc90c4d0439e3824da355f1adbc3b5d98ac1a424f9d93140488c2b","first_seen":"2024-08-20T10:34:45.05581Z","last_seen":"2026-08-11T04:47:30.158643Z","times_seen":1652,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADuUlEQVR4XtWbPW8TMRiA+xP4Cf0/vaJs7LAXVqZGonv7DwokBTGFARZUKSyoI4KFhaoSLHSADnRhOuykl/geO/6618nlkR4J5X1959e52OfesbOzJvZf1k/2R/VNNaprn3c5Q7bfOvbH9TGLy1Ud65TH7y3svLQ8Xy8YTOp77GhpB6/rXfZj7aiOTNmxDThhv9aCoyMblf0rhprNxSY3afXEy/6Kcn9UP+ZJe+gh+y1CNa4/O07WT1Vf2f9OqEvryjpJz9V9Zh1ZbNU3T7teCdVZfWgddMvcU7fgrCuKPs/2qWatDjxICRv4eQlZnxc2LiFhvISs04najk7YUNqvv1j+/DPmFXDKei0cjUQ9eM/Slxy8s/OlZb0t9A6LDaQNwXxp9c6VdS9gsrS3/9rFvvoy10TnsJ20rHsBEyU9Q6HXf5cx/W+Tt9/s9pKy7hlMkpQFXvy0cy5+tHMu/9g5krL+YgNwNG0XpmFOIzn+ZOdI2Spe/9GRCVKSpx/sHF8+44KeLAbAERTRBXOo/tYJc6QsOgCrYJ5Lzhmx7VItNgBc7kyYu0pSYnlsih8y0EW9hPlgvk8ivTzujdVWOeZxVYohmB+SMN7RG9HLn6z6LFXCeBfFBuDhpN3JR5P557wDPPpotw354E37GKGlNEWxASCxsVgJ47kWGQDGXPt/5sTYtb1LkQHgzM+41gVzQppIrQgiA2By+duOu/IazF1hyOvbdlvGcxQfgNAEtYpm0vSpJ1ATxnMUHwDGKFcLk5i7PRPGchS5EcrplG8gmGsamxfpzezlJUcgSZNnUzvu07Xx0TBPW+AnMBTZDJmkTGqNq64G5nGwGE9VbDcoNTsTTqgmvtUmVrEB4K0q47HyODyWScyqEdIcgBMGUyWMx0r0oLg+Z7tUrXcPmZAqb3dzvyFunvTSyDkiZ56hreIlBkBLGI81BPNzZP0zmJSq6zec86dtH8zNkXUvYGKOLlIvWR/MzZF1LxicyrzyuorzSzuXci4xYW6OqsZd1t2CDXINoSc3/Tjs/Lv/r8gNPH6urNeiGsu9/8s7txwkbngWnkW+V2w17GguPE5XWacXNpbQ9/tuKPWqDOsLUgncHfbI5YPQFCS2yhv3Rcf/f6QOsr2vyo46virboK6EK8fBe63uM+voRLVdV4LMN08q4SfJJZw98S1J1e/VIW+2z8Fx8o3K/q2FdbxXHHQc8f5vafQOy+pYYfXOlf3oBeyotDxfb1E/j+fsfAfXN7mVQhUxjHkMp3P0LTjbl+I/FOSziVJW7ugAAAAASUVORK5CYII="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70815.3ce6d6a2686e88907ab3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.193Z","timestamp":1785136429193,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70815.3ce6d6a2686e88907ab3.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-78f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d6507abf4d8b408fc182c32137c0b5c1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1935,"size_decoded":1268,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1935), with no line terminators","md5":"c06f909e993de4f09740c91db132c846","sha1":"7451e42a4f8461d1b6ba321d93498b99b70a1fdc","sha256":"d93d3dc2b737c86807e6818e5a272cdd6db4f56183cd5371ae6816d4c4b320b0","sha512":"e12d20c672228965c13d1e62347a20f5886a1f324f6ef1c2f1a3b62720353d6e994b575e6e601cd69ace6edbafdb9306f1387431a676befb6169f3311c498129","ssdeep":"","tlshash":"ab41111aa5e8e673b827427dc308a27946e04d16ad0e5f9b7fddc00341c84e710765bf","first_seen":"2026-07-17T03:30:51.190808Z","last_seen":"2026-08-11T04:43:23.259806Z","times_seen":272,"resource_available":false,"data":"LndyYXBwZXItc1c4N3BRekt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDttaW4taGVpZ2h0OjE4cHg7bWluLXdpZHRoOjE4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uaW5wdXQtc1c4N3BRekt7Y3Vyc29yOmluaGVyaXQ7aW5zZXQ6MDttYXJnaW46MDtvcGFjaXR5OjA7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlfS5pbnB1dC1zVzg3cFF6Szpmb2N1cy12aXNpYmxlKy5mb2N1c091dGxpbmUtc1c4N3BRekt7Ym9yZGVyLXJhZGl1czoycHg7aW5zZXQ6MDtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO291dGxpbmUtb2Zmc2V0OjJweDtwb3NpdGlvbjphYnNvbHV0ZX0ucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItbWFyazp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcHBlci1zVzg3cFF6Szpob3Zlcjpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAucHJpbWFyeS1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LndyYXBwZXItc1c4N3BReks6YWN0aXZlOm5vdCguZGlzYWJsZWQtc1c4N3BRekspIC5wcmltYXJ5LXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW1lZGl1bSl9LmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveElucHV0LWNvbG9yLW1hcms6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItc1c4N3BReks6aG92ZXI6bm90KC5kaXNhYmxlZC1zVzg3cFF6SykgLmRhbmdlci1zVzg3cFF6S3stLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fS53cmFwcGVyLXNXODdwUXpLOmFjdGl2ZTpub3QoLmRpc2FibGVkLXNXODdwUXpLKSAuZGFuZ2VyLXNXODdwUXpLey0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1ib3g6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXIpfS52aWV3LXNXODdwUXpLe2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy0tdWktbGliLXByaXZhdGUtY2hlY2tib3hWaWV3SW1wbC1jb2xvci1ib3g6dmFyKC0tdWktbGliLWNoZWNrYm94LWNvbG9yLHZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94SW5wdXQtY29sb3ItYm94KSk7LS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcms6dmFyKC0tdWktbGliLWNoZWNrYm94LW1hcmstY29sb3IsdmFyKC0tdWktbGliLXByaXZhdGUtY2hlY2tib3hJbnB1dC1jb2xvci1tYXJrKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.324Z","timestamp":1785136429324,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/widget-toptoolbar.d7ed7cde5eb35f0fe4b8.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-cc58\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ed434dfae9f23adfff9098e171094ac9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":52312,"size_decoded":18239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"b35e59efb0bd11483b985f2bd44f849a","sha1":"c6462f8d45b288692eefab16cfce1bde8633a682","sha256":"aa5adcee7d49a8b57e50e07d14931f3c5213ddbe82695bbab124f86371af9dfa","sha512":"ef350f2c4925c583157615f8d1dd4471e1f6fd1336c82a65652400776b43fba8fc75a96d410457e518e6a1dbd3f932f6386b6c178959ff9de6c112734a06ac42","ssdeep":"1536:q/H3qVRbkqWN+plfUCCCsHllfltQO45eQjF4ff1qcfTjD5NQcj1kfBZoBIgd6:q/H3qXkCp8R7Igd6","tlshash":"013308547175b0384ad720aed43b0407b36a68a9b41f51a8f2f49ddd35edd8cd22ab3c","first_seen":"2026-07-24T11:36:48.152611Z","last_seen":"2026-07-28T06:17:53.344523Z","times_seen":102,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MzkyNiw2NDY0NF0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIGk9dHlwZW9mIHI7aWYoInN0cmluZyI9PT1pfHwibnVtYmVyIj09PWkpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW4uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PWkpZm9yKHZhciBvIGluIHIpcy5jYWxsKHIsbykmJnJbb10mJmUucHVzaChvKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8obi5kZWZhdWx0PW4sZS5leHBvcnRzPW4pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG59LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sODQ2MDExKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1xWW00eDJ1dSIsd3JhcFdpdGhBcnJvd3NPdXRpbmc6IndyYXBXaXRoQXJyb3dzT3V0aW5nLXFZbTR4MnV1Iix3cmFwT3ZlcmZsb3c6IndyYXBPdmVyZmxvdy1xWW00eDJ1dSIsc2Nyb2xsV3JhcDoic2Nyb2xsV3JhcC1xWW00eDJ1dSIsbm9TY3JvbGxCYXI6Im5vU2Nyb2xsQmFyLXFZbTR4MnV1IixpY29uOiJpY29uLXFZbTR4MnV1IixzY3JvbGxMZWZ0OiJzY3JvbGxMZWZ0LXFZbTR4MnV1IixzY3JvbGxSaWdodDoic2Nyb2xsUmlnaHQtcVltNHgydXUiLGlzVmlzaWJsZToiaXNWaXNpYmxlLXFZbTR4MnV1IixpY29uV3JhcDoiaWNvbldyYXAtcVltNHgydXUiLGZhZGVMZWZ0OiJmYWRlTGVmdC1xWW00eDJ1dSIsZmFkZVJpZ2h0OiJmYWRlUmlnaHQtcVltNHgydXUifX0sNTc1MTM3KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4In19LDYzMzI5KGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iix0b29sYmFyOiJ0b29sYmFyLU5DWXlvemhoIixpc0hpZGRlbjoiaXNIaWRkZW4tTkNZeW96aGgiLG92ZXJmbG93V3JhcDoib3ZlcmZsb3dXcmFwLU5DWXlvemhoIixjdXN0b21CdXR0b246ImN1c3RvbUJ1dHRvbi1OQ1l5b3poaCIsaG92ZXI6ImhvdmVyLU5DWXlvemhoIixjbGlja2VkOiJjbGlja2VkLU5DWXlvemhoIn19LDM3MDc3NShlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtVUwzRklwc2UiLGljb246Imljb24tVUwzRklwc2UifX0sMjE4NjAzKGUpe2UuZXhwb3J0cz17ImNzcy12YWx1ZS1oZWFkZXItdG9vbGJhci1oZWlnaHQiOiIzOHB4Iixpbm5lcldyYXA6ImlubmVyV3JhcC1kbEZETjBaZCIsaW5uZXI6ImlubmVyLWRsRkROMFpkIixmYWtlOiJmYWtlLWRsRkROMFpkIixmaWxsOiJmaWxsLWRsRkROMFpkIixjb2xsYXBzZToiY29sbGFwc2UtZGxGRE4wWmQiLGJ1dHRvbjoiYnV0dG9uLWRsRkROMFpkIixpY29uQnV0dG9uOiJpY29uQnV0dG9uLWRsRkROMFpkIixoaWRkZW46ImhpZGRlbi1kbEZETjBaZCIsY29udGVudDoiY29udGVudC1kbEZETjBaZCIsZGVza3RvcFRyYWRlOiJkZXNrdG9wVHJhZGUtZGxGRE4wWmQiLGRlc2t0b3BQdWJsaXNoOiJkZXNrdG9wUHVibGlzaC1kbEZETjBaZCIsbW9iaWxlVHJhZGU6Im1vYmlsZVRyYWRlLWRsRkROMFpkIixtb2JpbGVQdWJsaXNoOiJtb2JpbGVQdWJsaXNoLWRsRkROMFpkIn19LDI3OTUzMihlKXtlLmV4cG9ydHM9e2dyb3VwOiJncm91cC1MTFpBYnMwRyIsc2VwYXJhdG9yOiJzZXBhcmF0b3ItTExaQWJzMEciLG5vTGVmdERlY29yYXRpb246Im5vTGVmdERlY29yYXRpb24tTExaQWJzMEciLG5vUmlnaHREZWNvcmF0aW9uOiJub1JpZ2h0RGVjb3JhdGlvbi1MTFpBYnMwRyIsbm9NaW5pbWFsV2lkdGg6Im5vTWluaW1hbFdpZHRoLUxMWkFiczBHIixzZXBhcmF0b3JXcmFwOiJzZXBhcmF0b3JXcmFwLUxMWkFiczBHIn19LDE2NDU2NihlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLWxsdXF1ZlZxIn19LDUwOTk5MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtNZWFzdXJlOigpPT5ufSk7dmFyIHM9cig3MTk0MjUpO2Z1bmN0aW9uIG4oZSl7Y29uc3R7Y2hpbGRyZW46dCxvblJlc2l6ZTpyfT1lO3JldHVybiB0KCgwLHMudXNlUmVzaXplT2JzZXJ2ZXIpKHJ8fCgoKT0+e30pLFtudWxsPT09cl0pKX19LDc4Nzg5NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHt1c2VGdW5jdGlvbmFsUmVmT2JqZWN0OigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpLG49cig2MTYzMTEpO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1yPT57ZShyKSx0LmN1cnJlbnQ9cn07cmV0dXJuIHQuY3VycmVudD1udWxsLHR9KChlPT57by5jdXJyZW50KGUpfSkpKSxbXSkscj0oMCxzLnVzZVJlZikobnVsbCksaT10PT57aWYobnVsbD09PXQpcmV0dXJuIGEoci5jdXJyZW50LHQpLHZvaWQoci5jdXJyZW50PW51bGwpO3IuY3VycmVudCE9PWUmJihyLmN1cnJlbnQ9ZSxhKHIuY3VycmVudCx0KSl9LG89KDAscy51c2VSZWYpKGkpO3JldHVybiBvLmN1cnJlbnQ9aSwoMCxuLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT10LmN1cnJlbnQpcmV0dXJuIG8uY3VycmVudCh0LmN1cnJlbnQpLCgpPT5vLmN1cnJlbnQobnVsbCl9KSxbZV0pLHR9ZnVuY3Rpb24gYShlLHQpe251bGwhPT1lJiYoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZSh0KTplLmN1cnJlbnQ9dCl9fSw2ODk4OTQoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7aG92ZXJNb3VzZUV2ZW50RmlsdGVyOigpPT5hLHVzZUFjY3VyYXRlSG92ZXI6KCk9Pm8sdXNlSG92ZXI6KCk9Pm4sdXNlSG92ZXJEZXByZWNhdGVkOigpPT5pfSk7dmFyIHM9cig3Nzk0NzQpO2Z1bmN0aW9uIG4oKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZUVudGVyOmZ1bmN0aW9uKGUpe3QoITApfSwKb25Nb3VzZUxlYXZlOmZ1bmN0aW9uKGUpe3QoITEpfX1dfWZ1bmN0aW9uIGkoKXtjb25zdFtlLHRdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm5bZSx7b25Nb3VzZU92ZXI6ZnVuY3Rpb24oZSl7YShlKSYmdCghMCl9LG9uTW91c2VPdXQ6ZnVuY3Rpb24oZSl7YShlKSYmdCghMSl9fV19ZnVuY3Rpb24gYShlKXtyZXR1cm4hZS5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl9ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHJdPSgwLHMudXNlU3RhdGUpKCExKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgdD10PT57aWYobnVsbD09PWUuY3VycmVudClyZXR1cm47Y29uc3Qgcz1lLmN1cnJlbnQuY29udGFpbnModC50YXJnZXQpO3Iocyl9O3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLHQpfSksW10pLHR9fSw3MTk0MjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7dXNlUmVzaXplT2JzZXJ2ZXI6KCk9PmF9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDYxNjMxMSksaT1yKDc4Nzg5NSk7ZnVuY3Rpb24gYShlLHQ9W10pe2NvbnN0e2NhbGxiYWNrOnIscmVmOmE9bnVsbH09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/e2NhbGxiYWNrOmV9OmV9KGUpLG89KDAscy51c2VSZWYpKG51bGwpLGw9KDAscy51c2VSZWYpKHIpO2wuY3VycmVudD1yO2NvbnN0IGM9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShhKSx1PSgwLHMudXNlQ2FsbGJhY2spKChlPT57YyhlKSxudWxsIT09by5jdXJyZW50JiYoby5jdXJyZW50LmRpc2Nvbm5lY3QoKSxudWxsIT09ZSYmby5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2Msb10pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oby5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJnUoYy5jdXJyZW50KSwoKT0+e28uY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSx1fX0sMjczMzEwKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0ljb246KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7Y29uc3Qgbj1zLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7aWNvbjpyPSIiLHRpdGxlOm4sYXJpYUxhYmVsOmksYXJpYUxhYmVsbGVkYnk6YSxhcmlhSGlkZGVuOm8sLi4ubH09ZSxjPSEhKG58fGl8fGEpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJpbWciLC4uLmwscmVmOnQsImFyaWEtbGFiZWwiOmksImFyaWEtbGFiZWxsZWRieSI6YSwiYXJpYS1oaWRkZW4iOm98fCFjLHRpdGxlOm4sZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDpyfX0pfSkpfSw4MzM5MDMoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBzKC4uLmUpe3JldHVybiB0PT57Zm9yKGNvbnN0IHIgb2YgZSl2b2lkIDAhPT1yJiZyKHQpfX1yLmQodCx7Y3JlYXRlU2FmZU11bHRpY2FzdEV2ZW50SGFuZGxlcjooKT0+c30pfSwzNjUyMTcoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7SEVBREVSX1RPT0xCQVJfSEVJR0hUX0NPTExBUFNFRDooKT0+aSxIRUFERVJfVE9PTEJBUl9IRUlHSFRfRVhQQU5ERUQ6KCk9Pm59KTt2YXIgcz1yKDU3NTEzNyk7Y29uc3Qgbj1wYXJzZUludChzWyJjc3MtdmFsdWUtaGVhZGVyLXRvb2xiYXItaGVpZ2h0Il0pLGk9M30sNTIzODAxKGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtIZWFkZXJUb29sYmFyOigpPT5fZX0pO3ZhciBzPXIoNzc5NDc0KSxuPXIoOTE0NDg3KSxpPXIubihuKSxhPXIoNTI3MzIzKSxvPXIubihhKSxsPXIoNTg3MTY4KSxjPXIoMzA0MjIxKTtjb25zdCB1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lfTt2YXIgZD1yKDEzODYzOCksaD1yKDIzMjM2NCksbT1yKDkzMDIzMSksdj1yKDE3OTc3MSkscD1yKDIyMTg5NiksZj1yKDM2MzI2OSksUz1yKDk5ODE1OCksYj1yKDE2NDU2Nik7ZnVuY3Rpb24gZyhlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGIuc2VwYXJhdG9yLGUuY2xhc3NOYW1lKX0pfXZhciBfPXIoMjc5NTMyKTtmdW5jdGlvbiB5KGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOnIsbm9MZWZ0RGVjb3JhdGlvbjpuLG5vUmlnaHREZWNvcmF0aW9uOmEsbm9NaW5pbWFsV2lkdGg6byxvbkNsaWNrOmwscmVtb3ZlU2VwYXJhdG9yOmN9PWU7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWMmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uc2VwYXJhdG9yV3JhcH0scy5jcmVhdGVFbGVtZW50KGcse2NsYXNzTmFtZTpfLnNlcGFyYXRvcn0pKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkocixfLmdyb3VwLHtbXy5ub01pbmltYWxXaWR0aF06byxbXy5ub0xlZnREZWNvcmF0aW9uXTpuLFtfLm5vUmlnaHREZWNvcmF0aW9uXTphfSksb25DbGljazpsfSx0KSl9dmFyIEU9cig1MDk5OTApLEM9cigxODUyNzEpLFQ9cigyNzMzMTApLHc9cigzNzA3NzUpLEQ9cigzMDE2MDcpO2NvbnN0IE09e3RleHQ6Qy50KG51bGwsdm9pZCAwLHIoNTQwOTEwKSl9O2Z1bmN0aW9uIFIoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncud3JhcH0scy5jcmVhdGVFbGVtZW50KFQuSWNvbix7Y2xhc3NOYW1lOncuaWNvbixpY29uOkR9KSxNLnRleHQpfXZhciBrPXIoMjE4ODE0KSxJPXIoMTE1MjkzKSxGPXIoMzQyNzgpLE89cigzOTE4OTApLEE9cig4NDYwMTEpO2NvbnN0IFY9e2lzVmlzaWJsZVNjcm9sbGJhcjohMCxzaG91bGRNZWFzdXJlOiEwLGhpZGVCdXR0b25zRnJvbToxfTtmdW5jdGlvbiBOKGUpe3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppKCkoQS5mYWRlTGVmdCxlLmNsYXNzTmFtZSx7W0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24gTChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuZmFkZVJpZ2h0LGUuY2xhc3NOYW1lLHsKW0EuaXNWaXNpYmxlXTplLmlzVmlzaWJsZX0pfSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KEIsey4uLmUsY2xhc3NOYW1lOkEuc2Nyb2xsTGVmdH0pfWZ1bmN0aW9uIFcoZSl7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChCLHsuLi5lLGNsYXNzTmFtZTpBLnNjcm9sbFJpZ2h0fSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGUuY2xhc3NOYW1lLHtbQS5pc1Zpc2libGVdOmUuaXNWaXNpYmxlfSksb25DbGljazplLm9uQ2xpY2t9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkEuaWNvbldyYXB9LHMuY3JlYXRlRWxlbWVudChULkljb24se2ljb246TyxjbGFzc05hbWU6QS5pY29ufSkpKX1jb25zdCBQPWZ1bmN0aW9uKGU9eCx0PVcscj1OLG49TCl7dmFyIGE7cmV0dXJuKGE9Y2xhc3MgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fc2Nyb2xsPXMuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlU2Nyb2xsTGVmdD0oKT0+e2lmKHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaylyZXR1cm4gdm9pZCB0aGlzLnByb3BzLm9uU2Nyb2xsQnV0dG9uQ2xpY2soImxlZnQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWF4KDAsdGhpcy5jdXJyZW50UG9zaXRpb24oKS1lKSl9LHRoaXMuX2hhbmRsZVNjcm9sbFJpZ2h0PSgpPT57aWYodGhpcy5wcm9wcy5vblNjcm9sbEJ1dHRvbkNsaWNrKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25TY3JvbGxCdXR0b25DbGljaygicmlnaHQiKTtjb25zdCBlPXRoaXMucHJvcHMuc2Nyb2xsU3RlcFNpemV8fHRoaXMuc3RhdGUud2lkdGhXcmFwLTUwO3RoaXMuYW5pbWF0ZVRvKE1hdGgubWluKCh0aGlzLnN0YXRlLndpZHRoQ29udGVudHx8MCktKHRoaXMuc3RhdGUud2lkdGhXcmFwfHwwKSx0aGlzLmN1cnJlbnRQb3NpdGlvbigpK2UpKX0sdGhpcy5faGFuZGxlUmVzaXplV3JhcD0oW2VdKT0+e2NvbnN0IHQ9ZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5wcm9wcy5vbk1lYXN1cmVXcmFwJiZ0aGlzLnByb3BzLm9uTWVhc3VyZVdyYXAodCksdGhpcy5zZXRTdGF0ZSh7d2lkdGhXcmFwOnQud2lkdGh9KSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2hhbmRsZVJlc2l6ZUNvbnRlbnQ9KFtlXSk9Pntjb25zdCB0PWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMucHJvcHMub25NZWFzdXJlQ29udGVudCYmdGhpcy5wcm9wcy5vbk1lYXN1cmVDb250ZW50KHQpO2NvbnN0e3Nob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OnIsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6c309dGhpcy5wcm9wcztyJiZzP3RoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRoKzIqc30pOnRoaXMuc2V0U3RhdGUoe3dpZHRoQ29udGVudDp0LndpZHRofSl9LHRoaXMuX2hhbmRsZVNjcm9sbD0oKT0+e2NvbnN0e29uU2Nyb2xsOmV9PXRoaXMucHJvcHM7ZSYmZSh0aGlzLmN1cnJlbnRQb3NpdGlvbigpLHRoaXMuaXNBdExlZnQoKSx0aGlzLmlzQXRSaWdodCgpKSx0aGlzLl9jaGVja0J1dHRvbnNWaXNpYmlsaXR5KCl9LHRoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHk9KCk9Pntjb25zdHtpc1Zpc2libGVMZWZ0QnV0dG9uOmUsaXNWaXNpYmxlUmlnaHRCdXR0b246dH09dGhpcy5zdGF0ZSxyPXRoaXMuaXNBdExlZnQoKSxzPXRoaXMuaXNBdFJpZ2h0KCk7cnx8ZT9yJiZlJiZ0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVMZWZ0QnV0dG9uOiExfSk6dGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlTGVmdEJ1dHRvbjohMH0pLHN8fHQ/cyYmdCYmdGhpcy5zZXRTdGF0ZSh7aXNWaXNpYmxlUmlnaHRCdXR0b246ITF9KTp0aGlzLnNldFN0YXRlKHtpc1Zpc2libGVSaWdodEJ1dHRvbjohMH0pfSx0aGlzLnN0YXRlPXt3aWR0aENvbnRlbnQ6MCx3aWR0aFdyYXA6MCxpc1Zpc2libGVSaWdodEJ1dHRvbjohMSxpc1Zpc2libGVMZWZ0QnV0dG9uOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX2NoZWNrQnV0dG9uc1Zpc2liaWxpdHkoKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0LndpZHRoV3JhcD09PXRoaXMuc3RhdGUud2lkdGhXcmFwJiZ0LndpZHRoQ29udGVudD09PXRoaXMuc3RhdGUud2lkdGhDb250ZW50fHx0aGlzLl9oYW5kbGVTY3JvbGwoKX1jdXJyZW50UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsLmN1cnJlbnQ/KDAsSS5pc1J0bCkoKT8oMCxJLmdldExUUlNjcm9sbExlZnQpKHRoaXMuX3Njcm9sbC5jdXJyZW50KTp0aGlzLl9zY3JvbGwuY3VycmVudC5zY3JvbGxMZWZ0OjB9aXNBdExlZnQoKXtyZXR1cm4hdGhpcy5faXNPdmVyZmxvd2VkKCl8fHRoaXMuY3VycmVudFBvc2l0aW9uKCk8PSgwLGQuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wcy5oaWRlQnV0dG9uc0Zyb20pfWlzQXRSaWdodCgpe3JldHVybiF0aGlzLl9pc092ZXJmbG93ZWQoKXx8dGhpcy5jdXJyZW50UG9zaXRpb24oKSt0aGlzLnN0YXRlLndpZHRoV3JhcD49dGhpcy5zdGF0ZS53aWR0aENvbnRlbnQtKDAsZC5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BzLmhpZGVCdXR0b25zRnJvbSl9YW5pbWF0ZVRvKGUsdD1rLmR1cil7Y29uc3Qgcj10aGlzLl9zY3JvbGwuY3VycmVudDtyJiYoKDAsSS5pc1J0bCkoKSYmKGU9KDAsSS5nZXRMVFJTY3JvbGxMZWZ0T2Zmc2V0KShyLGUpKSx0PD0wP3Iuc2Nyb2xsTGVmdD1NYXRoLnJvdW5kKGUpOigwLEYuZG9BbmltYXRlKSh7b25TdGVwKGUsdCl7ci5zY3JvbGxMZWZ0PU1hdGgucm91bmQodCl9LGZyb206ci5zY3JvbGxMZWZ0LHRvOk1hdGgucm91bmQoZSksZWFzaW5nOmsuZWFzaW5nRnVuYy5lYXNlSW5PdXRDdWJpYyxkdXJhdGlvbjp0fSkpfXJlbmRlcigpewpjb25zdHtjaGlsZHJlbjphLGlzVmlzaWJsZVNjcm9sbGJhcjpvLGlzVmlzaWJsZUZhZGU6bCxpc1Zpc2libGVCdXR0b25zOmMsc2hvdWxkTWVhc3VyZTp1LHNob3VsZERlY3JlYXNlV2lkdGhDb250ZW50OmQsYnV0dG9uc1dpZHRoSWZEZWNyZWFzZWRXaWR0aENvbnRlbnQ6aCxvbk1vdXNlT3ZlcjptLG9uTW91c2VPdXQ6dixzY3JvbGxXcmFwQ2xhc3NOYW1lOnAsZmFkZUNsYXNzTmFtZTpmfT10aGlzLnByb3BzLHtpc1Zpc2libGVSaWdodEJ1dHRvbjpTLGlzVmlzaWJsZUxlZnRCdXR0b246Yn09dGhpcy5zdGF0ZSxnPWQmJmg7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChFLk1lYXN1cmUse29uUmVzaXplOnU/dGhpcy5faGFuZGxlUmVzaXplV3JhcDpudWxsfSwoZD0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6QS53cmFwT3ZlcmZsb3csb25Nb3VzZU92ZXI6bSxvbk1vdXNlT3V0OnYscmVmOmR9LHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmkoKShBLndyYXAsZz9BLndyYXBXaXRoQXJyb3dzT3V0aW5nOiIiKX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKEEuc2Nyb2xsV3JhcCxwLHtbQS5ub1Njcm9sbEJhcl06IW99KSxvblNjcm9sbDp0aGlzLl9oYW5kbGVTY3JvbGwscmVmOnRoaXMuX3Njcm9sbH0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6dT90aGlzLl9oYW5kbGVSZXNpemVDb250ZW50Om51bGx9LGEpKSxsJiZzLmNyZWF0ZUVsZW1lbnQocix7aXNWaXNpYmxlOmIsY2xhc3NOYW1lOmZ9KSxsJiZzLmNyZWF0ZUVsZW1lbnQobix7aXNWaXNpYmxlOlMsY2xhc3NOYW1lOmZ9KSxjJiZzLmNyZWF0ZUVsZW1lbnQoZSx7b25DbGljazp0aGlzLl9oYW5kbGVTY3JvbGxMZWZ0LGlzVmlzaWJsZTpifSksYyYmcy5jcmVhdGVFbGVtZW50KHQse29uQ2xpY2s6dGhpcy5faGFuZGxlU2Nyb2xsUmlnaHQsaXNWaXNpYmxlOlN9KSkpKSl9X2lzT3ZlcmZsb3dlZCgpe2NvbnN0e3dpZHRoQ29udGVudDplLHdpZHRoV3JhcDp0fT10aGlzLnN0YXRlO3JldHVybiBlPnR9fSkuZGVmYXVsdFByb3BzPVYsYX0oeCxXLE4sTCk7dmFyIEgsej1yKDUxODc1KTshZnVuY3Rpb24oZSl7ZS5TeW1ib2xTZWFyY2g9ImhlYWRlci10b29sYmFyLXN5bWJvbC1zZWFyY2giLGUuSW50ZXJ2YWxzPSJoZWFkZXItdG9vbGJhci1pbnRlcnZhbHMiLGUuQ2hhcnRTdHlsZXM9ImhlYWRlci10b29sYmFyLWNoYXJ0LXN0eWxlcyIsZS5Db21wYXJlPSJoZWFkZXItdG9vbGJhci1jb21wYXJlIixlLkluZGljYXRvcnM9ImhlYWRlci10b29sYmFyLWluZGljYXRvcnMiLGUuU3R1ZHlUZW1wbGF0ZXM9ImhlYWRlci10b29sYmFyLXN0dWR5LXRlbXBsYXRlcyIsZS5Ecm9wZG93bj0iaGVhZGVyLXRvb2xiYXItZHJvcGRvd24iLGUuQWxlcnRzPSJoZWFkZXItdG9vbGJhci1hbGVydHMiLGUuTGF5b3V0cz0iaGVhZGVyLXRvb2xiYXItbGF5b3V0cyIsZS5TYXZlTG9hZD0iaGVhZGVyLXRvb2xiYXItc2F2ZS1sb2FkIixlLlVuZG9SZWRvPSJoZWFkZXItdG9vbGJhci11bmRvLXJlZG8iLGUuUHJvcGVydGllcz0iaGVhZGVyLXRvb2xiYXItcHJvcGVydGllcyIsZS5RdWlja1NlYXJjaD0iaGVhZGVyLXRvb2xiYXItcXVpY2stc2VhcmNoIixlLlRyYWRlRGVza3RvcD0iaGVhZGVyLXRvb2xiYXItdHJhZGUtZGVza3RvcCIsZS5UcmFkZU1vYmlsZT0iaGVhZGVyLXRvb2xiYXItdHJhZGUtbW9iaWxlIixlLlB1Ymxpc2hEZXNrdG9wPSJoZWFkZXItdG9vbGJhci1wdWJsaXNoLWRlc2t0b3AiLGUuUHVibGlzaE1vYmlsZT0iaGVhZGVyLXRvb2xiYXItcHVibGlzaC1tb2JpbGUiLGUuRnVsbHNjcmVlbj0iaGVhZGVyLXRvb2xiYXItZnVsbHNjcmVlbiIsZS5TY3JlZW5zaG90PSJoZWFkZXItdG9vbGJhci1zY3JlZW5zaG90IixlLlRlbGVncmFtU2hhcmU9ImhlYWRlci10b29sYmFyLXRlbGVncmFtLXNoYXJlIixlLlJlcGxheT0iaGVhZGVyLXRvb2xiYXItcmVwbGF5IixlLkZpbmFuY2lhbHM9ImhlYWRlci10b29sYmFyLWZpbmFuY2lhbHMifShIfHwoSD17fSkpO3ZhciBxPXIoNjg5ODk0KSxqPXIoNTY5NjUyKSxHPXIoNzMwMDA5KSxVPXIoNTY5Mzk4KSxLPXIoMzE4OTc0KSwkPXIoMzg2OTMxKSxZPXIoNzAxMTU2KSxKPXIoMjE4NjAzKTtjb25zdCBaPSgwLGoucmVnaXN0cnlDb250ZXh0VHlwZSkoKSxYPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpO2NsYXNzIFEgZXh0ZW5kcyBzLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZU1vdXNlT3Zlcj1lPT57KDAscS5ob3Zlck1vdXNlRXZlbnRGaWx0ZXIpKGUpJiZ0aGlzLnNldFN0YXRlKHtpc0hvdmVyZWQ6ITB9KX0sdGhpcy5faGFuZGxlTW91c2VPdXQ9ZT0+eygwLHEuaG92ZXJNb3VzZUV2ZW50RmlsdGVyKShlKSYmdGhpcy5zZXRTdGF0ZSh7aXNIb3ZlcmVkOiExfSl9LHRoaXMuX2hhbmRsZUlubmVyUmVzaXplPShbZV0pPT57Y29uc3QgdD1lLmNvbnRlbnRSZWN0LndpZHRoLHtvbldpZHRoQ2hhbmdlOnJ9PXRoaXMucHJvcHM7ciYmcih0KX0sdGhpcy5faGFuZGxlTWVhc3VyZUF2YWlsYWJsZVNwYWNlPWU9Pntjb25zdHtvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnR9PXRoaXMucHJvcHM7dCYmdChlLndpZHRoKX0sdGhpcy5fcHJvY2Vzc0N1c3RvbXM9KGUsdD0hMSk9Pntjb25zdHtpc0Zha2U6cixkaXNwbGF5TW9kZTpufT10aGlzLnByb3BzLHt0b29sczppfT10aGlzLmNvbnRleHQ7cmV0dXJuIGUubWFwKChlPT5zLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OmUuaWQscmVtb3ZlU2VwYXJhdG9yOnR9LChlPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJCdXR0b24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b20sey4uLmUucGFyYW1zLGlzRmFrZTpyfSk7Y2FzZSJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiI6cmV0dXJuIHMuY3JlYXRlRWxlbWVudChpLkN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uLHsuLi5lLnBhcmFtcyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6bn0pO2Nhc2UiRHJvcGRvd24iOnJldHVybiBzLmNyZWF0ZUVsZW1lbnQoaS5Ecm9wZG93bix7ZGlzcGxheU1vZGU6biwKcGFyYW1zOmUucGFyYW1zfSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KShlKSkpKX0sdGhpcy5fZml4TGFzdEdyb3VwPShlLHQscik9PntpZih0PT09ci5sZW5ndGgtMSYmcy5pc1ZhbGlkRWxlbWVudChlKSYmZS50eXBlPT09eSl7Y29uc3QgdD12b2lkIDAhPT10aGlzLmNvbnRleHQudG9vbHMuUHVibGlzaCYmIXRoaXMucHJvcHMucmVhZE9ubHk7cmV0dXJuIHMuY2xvbmVFbGVtZW50KGUse25vUmlnaHREZWNvcmF0aW9uOnR9KX1yZXR1cm4gZX0sdGhpcy5faGFuZGxlRGlhbG9nVG9vbHNDaGFuZ2U9ZT0+e3RoaXMuc2V0U3RhdGUoe2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOmV9KX0sKDAsai52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHt0b29sczpwLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNIb3ZlcmVkOiExLGFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm51bGx9fWNvbXBvbmVudERpZE1vdW50KCl7KDAsWS5nZXREaWFsb2dUb29sc01hbmFnZXIpKCk/LmdldEFjdGl2ZURpYWxvZ1Rvb2xzKCkuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpeygwLFkuZ2V0RGlhbG9nVG9vbHNNYW5hZ2VyKSgpPy5nZXRBY3RpdmVEaWFsb2dUb29scygpLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZURpYWxvZ1Rvb2xzQ2hhbmdlKX1yZW5kZXIoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse3JlYWRPbmx5OnQsc2hvd1Njcm9sbGJhcldoZW46cixkaXNwbGF5TW9kZTpuLGlzRmFrZTphPSExfT10aGlzLnByb3BzLHtpc0hvdmVyZWQ6b309dGhpcy5zdGF0ZSxsPXIuaW5jbHVkZXMobik7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChHLlRvb2xiYXIse2NsYXNzTmFtZTppKCkoSi5pbm5lcix7W0ouZmFrZV06YX0pLG9uQ29udGV4dE1lbnU6ei5wcmV2ZW50RGVmYXVsdEZvckNvbnRleHRNZW51LCJkYXRhLWlzLWZha2UtbWFpbi1wYW5lbCI6YSwiYXJpYS1oaWRkZW4iOmF9LHMuY3JlYXRlRWxlbWVudChQLHtpc1Zpc2libGVGYWRlOmYubW9iaWxldG91Y2gmJmwsaXNWaXNpYmxlQnV0dG9uczohZi5tb2JpbGV0b3VjaCYmbCYmbyxpc1Zpc2libGVTY3JvbGxiYXI6ITEsc2hvdWxkTWVhc3VyZTohYSxvbk1vdXNlT3Zlcjp0aGlzLl9oYW5kbGVNb3VzZU92ZXIsb25Nb3VzZU91dDp0aGlzLl9oYW5kbGVNb3VzZU91dCxvbk1lYXN1cmVXcmFwOnRoaXMuX2hhbmRsZU1lYXN1cmVBdmFpbGFibGVTcGFjZX0sKGU9PnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkouY29udGVudCxyZWY6ZSxyb2xlOiJub25lIn0scy5jcmVhdGVFbGVtZW50KEUuTWVhc3VyZSx7b25SZXNpemU6YT90aGlzLl9oYW5kbGVJbm5lclJlc2l6ZTpudWxsfSwoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Si5pbm5lcldyYXAscmVmOmV9LHRoaXMuc3RhdGUuYWN0aXZlRGlhbG9nVG9vbHNDb25maWc/dGhpcy5fcmVuZGVyRGlhbG9nVG9vbHMoKTpzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0sdGhpcy5fcmVuZGVyTGVmdFRvb2xzKCksdGhpcy5fcmVuZGVyUmlnaHRUb29scygpKSkpKSkpKSwhdCYmIWEmJiF0aGlzLnN0YXRlLmFjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnJiZzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLCEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOkguVHJhZGVEZXNrdG9wLGNsYXNzTmFtZTpKLmRlc2t0b3BUcmFkZX0pLGUuUHVibGlzaCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfcHVibGlzaF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KGUuUHVibGlzaCx7aWQ6SC5QdWJsaXNoRGVza3RvcCxjbGFzc05hbWU6Si5kZXNrdG9wUHVibGlzaH0pKSl9X3RyYWNrRnVsbHNjcmVlbkJ1dHRvbkNsaWNrKCl7KDAsJC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJmdWxsc2NyZWVuIil9X3JlbmRlckxlZnRUb29scygpe2NvbnN0e3Rvb2xzOmV9PXRoaXMuY29udGV4dCx7ZmVhdHVyZXM6dCxkaXNwbGF5TW9kZTpyLHN0dWR5TWFya2V0Om4sbGVmdEN1c3RvbUVsZW1lbnRzOmkscmVhZE9ubHk6YSxpc0Zha2U6bz0hMX09dGhpcy5wcm9wcztpZihhKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5fcHJvY2Vzc0N1c3RvbXMoaSk7cmV0dXJuIHMuQ2hpbGRyZW4udG9BcnJheShbKGUuU3ltYm9sU2VhcmNofHwhWCYmZS5Db21wYXJlKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0sZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlN5bWJvbFNlYXJjaCx7aWQ6bz92b2lkIDA6SC5TeW1ib2xTZWFyY2gsaXNGYWtlOm8saXNBY3Rpb25zVmlzaWJsZTp0LmFsbG93U3ltYm9sU2VhcmNoU3ByZWFkfSksZS5Db21wYXJlJiZzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHtpZDpvP3ZvaWQgMDpILkNvbXBhcmUsY2xhc3NOYW1lOkouYnV0dG9uLGRpc3BsYXlNb2RlOnJ9KSksZS5EYXRlUmFuZ2UmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InJhbmdlIn0scy5jcmVhdGVFbGVtZW50KGUuRGF0ZVJhbmdlLG51bGwpKSxlLkludGVydmFscyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW50ZXJ2YWxzIn0scy5jcmVhdGVFbGVtZW50KGUuSW50ZXJ2YWxzLHtpZDpvP3ZvaWQgMDpILkludGVydmFscyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cixpc0Zha2U6b30pKSxlLkJhcnMmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InN0eWxlcyJ9LHMuY3JlYXRlRWxlbWVudChlLkJhcnMse2lkOm8/dm9pZCAwOkguQ2hhcnRTdHlsZXMsaXNTaG93blF1aWNrczp0LmFsbG93RmF2b3JpdGluZyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnQuYWxsb3dGYXZvcml0aW5nLGRpc3BsYXlNb2RlOnIsaXNGYWtlOm99KSksWCYmZS5Db21wYXJlJiYhZS5TeW1ib2xTZWFyY2gmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6ImNvbXBhcmUifSxzLmNyZWF0ZUVsZW1lbnQoZS5Db21wYXJlLHsKaWQ6bz92b2lkIDA6SC5Db21wYXJlLGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuSW5kaWNhdG9ycyYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiaW5kaWNhdG9ycyJ9LHMuY3JlYXRlRWxlbWVudChlLkluZGljYXRvcnMse2lkOm8/dm9pZCAwOkguSW5kaWNhdG9ycyxjbGFzc05hbWU6Si5idXR0b24sc3R1ZHlNYXJrZXQ6bixkaXNwbGF5TW9kZTpyfSksZS5UZW1wbGF0ZXMmJnMuY3JlYXRlRWxlbWVudChlLlRlbXBsYXRlcyx7aWQ6bz92b2lkIDA6SC5TdHVkeVRlbXBsYXRlcyxpc1Nob3duUXVpY2tzOnQuYWxsb3dGYXZvcml0aW5nLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dC5hbGxvd0Zhdm9yaXRpbmcsZGlzcGxheU1vZGU6cn0pKSxlLkFsZXJ0JiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0LHtpZDpvP3ZvaWQgMDpILkFsZXJ0cyxjbGFzc05hbWU6Si5idXR0b24sZGlzcGxheU1vZGU6cn0pLGUuUmVwbGF5JiZzLmNyZWF0ZUVsZW1lbnQoZS5SZXBsYXkse2lkOm8/dm9pZCAwOkguUmVwbGF5LGNsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuQWxlcnRSZWZlcnJhbCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfYWxlcnRfcmVmZXJyYWxfdG9vbCIpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJhbGVydC1yZWZlcnJhbCJ9LHMuY3JlYXRlRWxlbWVudChlLkFsZXJ0UmVmZXJyYWwse2NsYXNzTmFtZTpKLmJ1dHRvbixkaXNwbGF5TW9kZTpyfSkpLGUuU2NhbGVQZXJjZW50YWdlJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwZXJjZW50YWdlIn0scy5jcmVhdGVFbGVtZW50KGUuU2NhbGVQZXJjZW50YWdlLG51bGwpKSxlLlNjYWxlTG9nYXJpdGhtJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsb2dhcml0aG0ifSxzLmNyZWF0ZUVsZW1lbnQoZS5TY2FsZUxvZ2FyaXRobSxudWxsKSksLi4ubF0pfV9yZW5kZXJSaWdodFRvb2xzKCl7Y29uc3R7dG9vbHM6ZX09dGhpcy5jb250ZXh0LHtmZWF0dXJlczp0LGRpc3BsYXlNb2RlOnIsY2hhcnRTYXZlcjpuLHJlYWRPbmx5OmEsc2F2ZUxvYWRTeW5jRW1pdHRlcjpvLHJpZ2h0Q3VzdG9tRWxlbWVudHM6bCxpc0Zha2U6Yz0hMX09dGhpcy5wcm9wcyx1PXRoaXMuX3Byb2Nlc3NDdXN0b21zKGwpO3JldHVybiB0ZShzLkNoaWxkcmVuLnRvQXJyYXkoW2EmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InZpZXctb25seS1iYWRnZSIscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoUixudWxsKSksIWEmJmUuVW5kb1JlZG8mJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InVuZG8tcmVkbyJ9LHMuY3JlYXRlRWxlbWVudChlLlVuZG9SZWRvLHtpZDpjP3ZvaWQgMDpILlVuZG9SZWRvfSkpLHMuY3JlYXRlRWxlbWVudCh5LHtyZW1vdmVTZXBhcmF0b3I6ITAsa2V5OiJnYXAtMSIsY2xhc3NOYW1lOmkoKShKLmZpbGwsYyYmSi5jb2xsYXBzZSl9KSwoZS5MYXlvdXR8fGUuU2F2ZUxvYWQpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJsYXlvdXQiLHJlbW92ZVNlcGFyYXRvcjohMH0sIWEmJmUuTGF5b3V0JiZzLmNyZWF0ZUVsZW1lbnQoZS5MYXlvdXQse2lkOmM/dm9pZCAwOkguTGF5b3V0c30pLGUuU2F2ZUxvYWQmJnMuY3JlYXRlRWxlbWVudChlLlNhdmVMb2FkLHtpZDpjP3ZvaWQgMDpILlNhdmVMb2FkLGNoYXJ0U2F2ZXI6bixpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cixpc0Zha2U6YyxzdGF0ZVN5bmNFbWl0dGVyOm99KSksZS5TYXZlTG9hZFJlZmVycmFsJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJzYXZlLWxvYWQtcmVmZXJyYWwifSxzLmNyZWF0ZUVsZW1lbnQoZS5TYXZlTG9hZFJlZmVycmFsLHtpc1JlYWRPbmx5OmEsZGlzcGxheU1vZGU6cn0pKSx0LnNob3dMYXVuY2hJblBvcHVwQnV0dG9uJiZlLk9wZW5Qb3B1cCYmISgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb3Blbl9wb3B1cF9idXR0b24iKSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToicG9wdXAifSxzLmNyZWF0ZUVsZW1lbnQoZS5PcGVuUG9wdXAsbnVsbCkpLCFhJiYhWCYmKGUuUHJvcGVydGllc3x8ZS5GdWxsc2NyZWVufHxlLlNjcmVlbnNob3QpJiZzLmNyZWF0ZUVsZW1lbnQoeSx7a2V5OiJwcm9wZXJ0aWVzIn0sIWEmJmUuUXVpY2tTZWFyY2gmJnMuY3JlYXRlRWxlbWVudChlLlF1aWNrU2VhcmNoLHtpZDpjP3ZvaWQgMDpILlF1aWNrU2VhcmNoLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSwhYSYmZS5Qcm9wZXJ0aWVzJiZzLmNyZWF0ZUVsZW1lbnQoZS5Qcm9wZXJ0aWVzLHtpZDpjP3ZvaWQgMDpILlByb3BlcnRpZXMsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pLHMuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSwhWCYmZS5TY3JlZW5zaG90JiZzLmNyZWF0ZUVsZW1lbnQoZS5TY3JlZW5zaG90LHtpZDpjP3ZvaWQgMDpILlNjcmVlbnNob3QsY2xhc3NOYW1lOkouaWNvbkJ1dHRvbn0pKSksWCYmIWEmJmUuRnVsbHNjcmVlbiYmcy5jcmVhdGVFbGVtZW50KHkse2tleToiZnVsbHNjcmVlbiIsb25DbGljazp0aGlzLl90cmFja0Z1bGxzY3JlZW5CdXR0b25DbGljayxyZW1vdmVTZXBhcmF0b3I6ITB9LHMuY3JlYXRlRWxlbWVudChlLkZ1bGxzY3JlZW4se2lkOmM/dm9pZCAwOkguRnVsbHNjcmVlbixjbGlja0FyZWE6InRvcCB0b29sYmFyIn0pKSxYJiZlLlNjcmVlbnNob3QmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InNjcmVlbnNob3QiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuU2NyZWVuc2hvdCx7aWQ6Yz92b2lkIDA6SC5TY3JlZW5zaG90LGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksWCYmZS5UZWxlZ3JhbVNoYXJlJiYoISgwLApVLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKXx8ISgwLFUuaXNGZWF0dXJlRW5hYmxlZCkoInRlbGVncmFtX21pbmlfYXBwX2Rpc2FibGVfc2hhcmVfc25hcHNob3QiKSkmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InRlbGVncmFtc2hhcmUiLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVGVsZWdyYW1TaGFyZSx7aWQ6Yz92b2lkIDA6SC5UZWxlZ3JhbVNoYXJlLGNsYXNzTmFtZTpKLmljb25CdXR0b259KSksIWEmJiEoMCxLLmlzU3ltcGhvbnlFbWJlZCkoKSYmZS5UcmFkZSYmcy5jcmVhdGVFbGVtZW50KHkse2tleToidHJhZGUiLGNsYXNzTmFtZTpKLm1vYmlsZVRyYWRlLHJlbW92ZVNlcGFyYXRvcjohMH0scy5jcmVhdGVFbGVtZW50KGUuVHJhZGUse2lkOmM/dm9pZCAwOkguVHJhZGVNb2JpbGUsbW9iaWxlOiEwfSkpLCFhJiZlLlB1Ymxpc2gmJiEoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3B1Ymxpc2hfYnV0dG9uIikmJnMuY3JlYXRlRWxlbWVudCh5LHtrZXk6InB1Ymxpc2giLGNsYXNzTmFtZTpKLm1vYmlsZVB1Ymxpc2gscmVtb3ZlU2VwYXJhdG9yOiEwfSxzLmNyZWF0ZUVsZW1lbnQoZS5QdWJsaXNoLHtpZDpjP3ZvaWQgMDpILlB1Ymxpc2hNb2JpbGV9KSksLi4udV0pKX1fcmVuZGVyRGlhbG9nVG9vbHMoKXtjb25zdHt0b29sczplfT10aGlzLmNvbnRleHQse2lzRmFrZTp0LGZlYXR1cmVzOnJ9PXRoaXMucHJvcHMse2FjdGl2ZURpYWxvZ1Rvb2xzQ29uZmlnOm59PXRoaXMuc3RhdGU7aWYoIW4pcmV0dXJuIG51bGw7Y29uc3QgYT10aGlzLl9wcm9jZXNzQ3VzdG9tcyhuLmN1c3RvbUVsZW1lbnRzLCEwKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxzLmNyZWF0ZUVsZW1lbnQoUy5GcmFnbWVudE1hcCx7bWFwOnRoaXMuX2ZpeExhc3RHcm91cH0scy5DaGlsZHJlbi50b0FycmF5KFtlLlN5bWJvbFNlYXJjaCYmcy5jcmVhdGVFbGVtZW50KHkse2tleToic3ltYm9sIn0scy5jcmVhdGVFbGVtZW50KGUuU3ltYm9sU2VhcmNoLHtpc0Zha2U6dCxpZDp0P3ZvaWQgMDpILlN5bWJvbFNlYXJjaCxpc0FjdGlvbnNWaXNpYmxlOnIuYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWR9KSksLi4uYV0pLHRlKHMuQ2hpbGRyZW4udG9BcnJheShbcy5jcmVhdGVFbGVtZW50KHkse3JlbW92ZVNlcGFyYXRvcjohMCxrZXk6ImdhcC0xIixjbGFzc05hbWU6aSgpKEouZmlsbCx0JiZKLmNvbGxhcHNlKX0pXSkpKSl9fXZhciBlZTtmdW5jdGlvbiB0ZShlKXtyZXR1cm5bZS5maW5kSW5kZXgoKGU9PnMuaXNWYWxpZEVsZW1lbnQoZSkmJiEhZS5rZXkmJi0xIT09ZS5rZXkudG9TdHJpbmcoKS5pbmRleE9mKCJ2aWV3LW9ubHktYmFkZ2UiKSkpXS5maWx0ZXIoKGU9PmU+PTApKS5mb3JFYWNoKCh0PT57ZT1zLkNoaWxkcmVuLm1hcChlLCgoZSxyKT0+e2lmKHMuaXNWYWxpZEVsZW1lbnQoZSkpe3N3aXRjaChbdC0xLHQsdCsxXS5pbmRleE9mKHIpKXtjYXNlIDA6Y29uc3QgdD17bm9SaWdodERlY29yYXRpb246ITB9O2U9cy5jbG9uZUVsZW1lbnQoZSx0KTticmVhaztjYXNlIDE6Y29uc3Qgcj17bm9MZWZ0RGVjb3JhdGlvbjohMCxub1JpZ2h0RGVjb3JhdGlvbjohMH07ZT1zLmNsb25lRWxlbWVudChlLHIpO2JyZWFrO2Nhc2UgMjpjb25zdCBuPXtub0xlZnREZWNvcmF0aW9uOiEwfTtlPXMuY2xvbmVFbGVtZW50KGUsbil9fXJldHVybiBlfSkpfSkpLGV9US5jb250ZXh0VHlwZT1aLGZ1bmN0aW9uKGUpe2VbZS5MZWZ0PTBdPSJMZWZ0IixlW2UuU2VsZj0xXT0iU2VsZiIsZVtlLlJpZ2h0PTJdPSJSaWdodCJ9KGVlfHwoZWU9e30pKTt2YXIgcmU9cig3MDIxNTMpLHNlPXIoNjMzMzE4KSxuZT1yKDQyNjA3NSksaWU9cigxNTI2OTkpLGFlPXIoOTMwNTY2KSxvZT1yKDM2NTIxNyksbGU9cigzNDQ1MzYpLGNlPXIoMjU0NjczKSx1ZT1yKDM3NTI2Mik7Y29uc3QgZGU9e1tjZS5SZXNvbHV0aW9uS2luZC5UaWNrc106ITEsW2NlLlJlc29sdXRpb25LaW5kLlNlY29uZHNdOiExLFtjZS5SZXNvbHV0aW9uS2luZC5NaW51dGVzXTohMSxbY2UuU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzXTohMSxbY2UuUmVzb2x1dGlvbktpbmQuRGF5c106ITEsW2NlLlJlc29sdXRpb25LaW5kLlJhbmdlXTohMX07Y2xhc3MgaGUgZXh0ZW5kcyB1ZS5Db21tb25Kc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPWRlKXtzdXBlcihlLHQsIklOVEVSVkFMU19NRU5VX1ZJRVdfU1RBVEVfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX1pc0FsbG93ZWQoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGRlKS5pbmNsdWRlcyhlKX19Y29uc3QgbWU9e2RlZmF1bHRzQ29sbGFwc2VkOiExfTtjbGFzcyB2ZSBleHRlbmRzIHVlLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9bWUpe3N1cGVyKGUsdCwiVEVNUExBVEVTX01FTlVfVklFV19TVEFURV9DSEFOR0VEIiwiVGVtcGxhdGVzV2lkZ2V0Lm1lbnUudmlld1N0YXRlIixyKX19dmFyIHBlPXIoNDgwMDYxKTtjb25zdCBmZT17dG9vbHM6cC5hbnkuaXNSZXF1aXJlZCxpc0Z1bmRhbWVudGFsOnAuYW55LGNoYXJ0QXBpSW5zdGFuY2U6cC5hbnksYXZhaWxhYmxlVGltZUZyYW1lczpwLmFueSxjaGFydFdpZGdldENvbGxlY3Rpb246cC5hbnksd2luZG93TWVzc2FnZVNlcnZpY2U6cC5hbnksZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6cC5hbnksZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOnAuYW55LGludGVydmFsU2VydmljZTpwLmFueSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6cC5hbnksc3R1ZHlUZW1wbGF0ZXM6cC5hbnksY2hhcnRDaGFuZ2VzV2F0Y2hlcjpwLmFueSxzYXZlQ2hhcnRTZXJ2aWNlOnAuYW55LHNoYXJpbmdDaGFydFNlcnZpY2U6cC5hbnksbG9hZENoYXJ0U2VydmljZTpwLmFueSxjaGFydFdpZGdldDpwLmFueSxmYXZvcml0ZVNjcmlwdHNNb2RlbDpwLmFueSxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSx0ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZTpwLmFueSwKb3Blbkdsb2JhbFNlYXJjaDpwLmFueSxzbmFwc2hvdFVybDpwLmFueSxnZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZTpwLmFueX07dmFyIFNlPXIoNDQzNTU3KSxiZT1yKDYzMzI5KTtjb25zdCBnZT1bXTtjbGFzcyBfZSBleHRlbmRzIHMuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9zYXZlTG9hZFN5bmNFbWl0dGVyPW5ldyhvKCkpLHRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZT1lPT57dGhpcy5fZnVsbFdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZUZhdm9yaXRlc1dpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9mYXZvcml0ZXNXaWR0aD1lLHRoaXMuc2V0U3RhdGUoe21lYXN1cmVWYWxpZDohMX0pfSx0aGlzLl9oYW5kbGVDb2xsYXBzZVdpZHRoQ2hhbmdlPWU9Pnt0aGlzLl9jb2xsYXBzZVdpZHRoPWUsdGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiExfSl9LHRoaXMuX2hhbmRsZU1lYXN1cmU9ZT0+e3RoaXMuc2V0U3RhdGUoe2F2YWlsYWJsZVdpZHRoOmUsbWVhc3VyZVZhbGlkOiExfSl9O2NvbnN0e3Rvb2xzOnQsd2luZG93TWVzc2FnZVNlcnZpY2U6cixjaGFydFdpZGdldENvbGxlY3Rpb246cyxjaGFydEFwaUluc3RhbmNlOm4sYXZhaWxhYmxlVGltZUZyYW1lczppLGlzRnVuZGFtZW50YWw6YSxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6YyxmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTp1LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpoLHN0dWR5VGVtcGxhdGVzOnYsc2F2ZUNoYXJ0U2VydmljZTpwLHNoYXJpbmdDaGFydFNlcnZpY2U6Zixsb2FkQ2hhcnRTZXJ2aWNlOlMsc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmd9PWU7dGhpcy5fc2hvd1Njcm9sbGJhcldoZW49KDAsZC5lbnN1cmVEZWZpbmVkKShlLmFsbG93ZWRNb2Rlcykuc2xpY2UoLTEpLHRoaXMucmVzaXplckJyaWRnZT1lLnJlc2l6ZXJCcmlkZ2UsdGhpcy5fcGFuZWxXaWR0aENoYW5nZUhhbmRsZXJzPXtmdWxsOnRoaXMuX2hhbmRsZUZ1bGxXaWR0aENoYW5nZSxtZWRpdW06dGhpcy5faGFuZGxlRmF2b3JpdGVzV2lkdGhDaGFuZ2Usc21hbGw6dGhpcy5faGFuZGxlQ29sbGFwc2VXaWR0aENoYW5nZX07Y29uc3R7Y2hhcnRDaGFuZ2VzV2F0Y2hlcjpffT1lO3RoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXI9Xztjb25zdCB5PSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZUNoYXJ0U3R5bGVzKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZVN0eWxlcyk7dGhpcy5fZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U9dXx8bmV3IHJlLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSx5KTtjb25zdCBFPSgwLHBlLmdldERlZmF1bHRGYXZvcml0ZVJlc29sdXRpb25zKSh0aGlzLnByb3BzLmRlZmF1bHRGYXZvcml0ZUludGVydmFscyk7dGhpcy5fZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlPWN8fG5ldyBzZS5GYXZvcml0ZUludGVydmFsc1NlcnZpY2UoaWUuVFZYV2luZG93RXZlbnRzLGFlLEUpLHRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlPW5ldyBoZShpZS5UVlhXaW5kb3dFdmVudHMsYWUpLHRoaXMuX2ludGVydmFsU2VydmljZT1uZXcgbmUuSW50ZXJ2YWxzU2VydmljZShuLmRlZmF1bHRSZXNvbHV0aW9ucyksdGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2U9bmV3IHZlKGllLlRWWFdpbmRvd0V2ZW50cyxhZSksdGhpcy5fcmVnaXN0cnk9e3Rvb2xzOnQsaXNGdW5kYW1lbnRhbDphLGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpzLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOnIsY2hhcnRBcGlJbnN0YW5jZTpuLGF2YWlsYWJsZVRpbWVGcmFtZXM6aSxyZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U6aCxzdHVkeVRlbXBsYXRlczp2LHNhdmVDaGFydFNlcnZpY2U6cCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOmYsbG9hZENoYXJ0U2VydmljZTpTLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOnRoaXMuX2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnRoaXMuX2Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlLGZhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTp0aGlzLl9mYXZvcml0ZUludGVydmFsc1NlcnZpY2UsaW50ZXJ2YWxTZXJ2aWNlOnRoaXMuX2ludGVydmFsU2VydmljZSxjaGFydENoYW5nZXNXYXRjaGVyOnRoaXMuX2NoYXJ0Q2hhbmdlc1dhdGNoZXIsY2hhcnRXaWRnZXQ6cy5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLGZhdm9yaXRlU2NyaXB0c01vZGVsOmxlLkZhdm9yaXRlU2NyaXB0c01vZGVsLmdldEluc3RhbmNlKCksdGVtcGxhdGVzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5fdGVtcGxhdGVzTWVudVZ1ZXdTdGF0ZVNlcnZpY2Usc25hcHNob3RVcmw6YixvcGVuR2xvYmFsU2VhcmNoOmcsZ2V0VHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6ZS5nZXRUcmFkaW5nRmVhdHVyZUZsYWdzU2VydmljZX0sdGhpcy5zdGF0ZT17aXNWaXNpYmxlOiEwLGF2YWlsYWJsZVdpZHRoOjAsZGlzcGxheU1vZGU6ImZ1bGwiLG1lYXN1cmVWYWxpZDohMSxsZWZ0Q3VzdG9tRWxlbWVudHM6W10scmlnaHRDdXN0b21FbGVtZW50czpbXX0sdGhpcy5fcmVhZE9ubHk9cy5yZWFkT25seSgpLHRoaXMuX2ZlYXR1cmVzPXthbGxvd0Zhdm9yaXRpbmc6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaXRlbXNfZmF2b3JpdGluZyIpLHNob3dJZGVhc0J1dHRvbjpCb29sZWFuKHRoaXMucHJvcHMuaWRlYXMpLHNob3dMYXVuY2hJblBvcHVwQnV0dG9uOkJvb2xlYW4odGhpcy5wcm9wcy5wb3B1cEJ1dHRvbiksYWxsb3dTeW1ib2xTZWFyY2hTcHJlYWQ6KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3N5bWJvbF9zZWFyY2giKSYmITAsYWxsb3dUb29sYmFySGlkaW5nOigwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNvbGxhcHNpYmxlX2hlYWRlciIpfSx0aGlzLl9zZXREaXNwbGF5TW9kZT0oMCxsLmRlZmF1bHQpKHRoaXMuX3NldERpc3BsYXlNb2RlLDEwMCksdGhpcy5fbmVnb3RpYXRlUmVzaXplcigpfQpjb21wb25lbnREaWRVcGRhdGUoZSx0KXtjb25zdHtpc1Zpc2libGU6cixtZWFzdXJlVmFsaWQ6c309dGhpcy5zdGF0ZTtyIT09dC5pc1Zpc2libGUmJih2LmVtaXQoInRvZ2dsZV9oZWFkZXIiLHIpLHRoaXMuX25lZ290aWF0ZVJlc2l6ZXIoKSksc3x8dGhpcy5fc2V0RGlzcGxheU1vZGUoKX1yZW5kZXIoKXtjb25zdHtyZXNpemVyQnJpZGdlOmUsYWxsb3dlZE1vZGVzOnQsLi4ucn09dGhpcy5wcm9wcyx7ZGlzcGxheU1vZGU6bixpc1Zpc2libGU6YSxsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmx9PXRoaXMuc3RhdGUsYz17ZmVhdHVyZXM6dGhpcy5fZmVhdHVyZXMscmVhZE9ubHk6dGhpcy5fcmVhZE9ubHksaXNGYWtlOiExLHNhdmVMb2FkU3luY0VtaXR0ZXI6dGhpcy5fc2F2ZUxvYWRTeW5jRW1pdHRlcixsZWZ0Q3VzdG9tRWxlbWVudHM6byxyaWdodEN1c3RvbUVsZW1lbnRzOmwsLi4ucn0sdT17Li4uYyxpc0Zha2U6ITAsc2hvd1Njcm9sbGJhcldoZW46Z2V9LGg9KDAsZC5lbnN1cmVEZWZpbmVkKSh0KSxtPXRoaXMucHJvcHMudG9vbHMuUHVibGlzaEJ1dHRvbk1hbmFnZXJ8fHMuRnJhZ21lbnQ7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChqLlJlZ2lzdHJ5UHJvdmlkZXIse3ZhbHVlOnRoaXMuX3JlZ2lzdHJ5LHZhbGlkYXRpb246ZmV9LHMuY3JlYXRlRWxlbWVudChtLG51bGwscy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6aSgpKGJlLnRvb2xiYXIse1tiZS5pc0hpZGRlbl06IWF9KSxvbkNsaWNrOnRoaXMucHJvcHMub25DbGlja30scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YmUub3ZlcmZsb3dXcmFwfSxoLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KFEse2tleTplLGRpc3BsYXlNb2RlOmUsb25XaWR0aENoYW5nZTp0aGlzLl9wYW5lbFdpZHRoQ2hhbmdlSGFuZGxlcnNbZV0sLi4udX0pKSkscy5jcmVhdGVFbGVtZW50KFEse2tleToibGl2ZSIsc2hvd1Njcm9sbGJhcldoZW46dGhpcy5fc2hvd1Njcm9sbGJhcldoZW4sZGlzcGxheU1vZGU6bixvbkF2YWlsYWJsZVNwYWNlQ2hhbmdlOnRoaXMuX2hhbmRsZU1lYXN1cmUsLi4uY30pKSkpKX1hZGRCdXR0b24oZSx0KXtpZighdC51c2VUcmFkaW5nVmlld1N0eWxlKXJldHVybiB0aGlzLl9hZGRDdXN0b21IVE1MQnV0dG9uKGUsdC5hbGlnbik7dGhpcy5fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KX1yZW1vdmVCdXR0b24oZSl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnQscmlnaHRDdXN0b21FbGVtZW50czpyfT10aGlzLnN0YXRlO2lmKCgwLGMuZGVmYXVsdCkoZSkpdGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSk7ZWxzZXtjb25zdCBzPXQ9PiJlbGVtZW50ImluIHQucGFyYW1zJiZ0LnBhcmFtcy5lbGVtZW50PT09ZSxuPXQuZmluZChzKT8uaWQ/P3IuZmluZChzKT8uaWQ7dShuKXx8dGhpcy5fcmVtb3ZlQ3VzdG9tRWxlbWVudFRvU3RhdGUobil9fWFkZERyb3Bkb3duKGUsdCl7Y29uc3R7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfT10aGlzLnN0YXRlLG49e3R5cGU6IkRyb3Bkb3duIixpZDplLHBhcmFtczp0fTsibGVmdCI9PT10LmFsaWduP3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czpbLi4ucixuXX0pOnRoaXMuc2V0U3RhdGUoe3JpZ2h0Q3VzdG9tRWxlbWVudHM6Wy4uLnMsbl19KX11cGRhdGVEcm9wZG93bihlLHQpe2NvbnN0IHI9dD0+IkRyb3Bkb3duIj09PXQudHlwZSYmdC5pZD09PWUscz10aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maW5kKHIpfHx0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmluZChyKTt2b2lkIDAhPT1zJiYocy5wYXJhbXM9ey4uLnMucGFyYW1zLC4uLnR9LHRoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5zbGljZSgpLHJpZ2h0Q3VzdG9tRWxlbWVudHM6dGhpcy5zdGF0ZS5yaWdodEN1c3RvbUVsZW1lbnRzLnNsaWNlKCl9KSl9cmVtb3ZlRHJvcGRvd24oZSl7Y29uc3QgdD10PT4iRHJvcGRvd24iPT09dC50eXBlJiZ0LmlkIT09ZSxyPXRoaXMuc3RhdGUubGVmdEN1c3RvbUVsZW1lbnRzLmZpbHRlcih0KSxzPXRoaXMuc3RhdGUucmlnaHRDdXN0b21FbGVtZW50cy5maWx0ZXIodCk7dGhpcy5zZXRTdGF0ZSh7bGVmdEN1c3RvbUVsZW1lbnRzOnIscmlnaHRDdXN0b21FbGVtZW50czpzfSl9X25lZ290aWF0ZVJlc2l6ZXIoKXt0aGlzLnByb3BzLnJlc2l6ZXJCcmlkZ2UubmVnb3RpYXRlSGVpZ2h0KHRoaXMuc3RhdGUuaXNWaXNpYmxlP29lLkhFQURFUl9UT09MQkFSX0hFSUdIVF9FWFBBTkRFRDpvZS5IRUFERVJfVE9PTEJBUl9IRUlHSFRfQ09MTEFQU0VEKX1fc2V0RGlzcGxheU1vZGUoKXtjb25zdHthdmFpbGFibGVXaWR0aDplfT10aGlzLnN0YXRlLHthbGxvd2VkTW9kZXM6dH09dGhpcy5wcm9wcyxyPXtmdWxsOnRoaXMuX2Z1bGxXaWR0aCxtZWRpdW06dGhpcy5fZmF2b3JpdGVzV2lkdGgsc21hbGw6dGhpcy5fY29sbGFwc2VXaWR0aH0scz0oMCxkLmVuc3VyZURlZmluZWQpKHQpO2xldCBuPXMubWFwKChlPT5yW2VdKSkuZmluZEluZGV4KCh0PT5lPj10KSk7LTE9PT1uJiYobj1zLmxlbmd0aC0xKTtjb25zdCBpPXNbbl07dGhpcy5zZXRTdGF0ZSh7bWVhc3VyZVZhbGlkOiEwLGRpc3BsYXlNb2RlOml9KX1fYWRkQ3VzdG9tSFRNTEJ1dHRvbihlLHQ9ImxlZnQiKXtjb25zdCByPW5ldyBoLldhdGNoZWRWYWx1ZSgwKSxzPSgwLFNlLnBhcnNlSHRtbEVsZW1lbnQpKGA8ZGl2IGNsYXNzPSJhcHBseS1jb21tb24tdG9vbHRpcCAke2JlLmN1c3RvbUJ1dHRvbn0iPmApLG49e3R5cGU6IkJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLGVsZW1lbnQ6cyx3aWR0aDpyfX07cmV0dXJuIHRoaXMuX2FkZEN1c3RvbUVsZW1lbnRUb1N0YXRlKHQsbiksc31fYWRkQ3VzdG9tVHJhZGluZ1ZpZXdTdHlsZWRCdXR0b24oZSx0KXtjb25zdCByPXt0eXBlOiJUcmFkaW5nVmlld1N0eWxlZEJ1dHRvbiIsaWQ6ZSxwYXJhbXM6e2tleTpOdW1iZXIobmV3IERhdGUpLHRleHQ6dC50ZXh0LAp0aXRsZTp0LnRpdGxlLG9uQ2xpY2s6dC5vbkNsaWNrfX07dGhpcy5fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUodC5hbGlnbixyKX1fYWRkQ3VzdG9tRWxlbWVudFRvU3RhdGUoZSx0KXtjb25zdHtsZWZ0Q3VzdG9tRWxlbWVudHM6cixyaWdodEN1c3RvbUVsZW1lbnRzOnN9PXRoaXMuc3RhdGU7ImxlZnQiPT09ZT90aGlzLnNldFN0YXRlKHtsZWZ0Q3VzdG9tRWxlbWVudHM6Wy4uLnIsdF19KTp0aGlzLnNldFN0YXRlKHtyaWdodEN1c3RvbUVsZW1lbnRzOlsuLi5zLHRdfSl9X3JlbW92ZUN1c3RvbUVsZW1lbnRUb1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe2xlZnRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLmxlZnRDdXN0b21FbGVtZW50cy5maWx0ZXIoKHQ9PnQuaWQhPT1lKSkscmlnaHRDdXN0b21FbGVtZW50czp0aGlzLnN0YXRlLnJpZ2h0Q3VzdG9tRWxlbWVudHMuZmlsdGVyKCh0PT50LmlkIT09ZSkpfSl9fV9lLmRlZmF1bHRQcm9wcz17YWxsb3dlZE1vZGVzOlsiZnVsbCIsIm1lZGl1bSJdfX0sNzAyMTUzKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse0Zhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOigpPT5ufSk7dmFyIHM9cigzNzUyNjIpO2NsYXNzIG4gZXh0ZW5kcyBzLkNvbW1vbkpzb25TdG9yZVNlcnZpY2V7Y29uc3RydWN0b3IoZSx0LHI9W10pe3N1cGVyKGUsdCwiRkFWT1JJVEVfQ0hBUlRfU1RZTEVTX0NIQU5HRUQiLCJTdHlsZVdpZGdldC5xdWlja3MiLHIpfX19LDMwNTA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtDdXN0b21JbnRlcnZhbHNTZXJ2aWNlOigpPT5oLGN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZTooKT0+bX0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNzM2MDYzKSxhPXIoNjU1NTg0KSxvPXIoMzE4OTc0KSxsPXIoMzc1MjYyKSxjPXIoNDY1MTM3KSx1PXIoMTc2ODUxKTtjb25zdCBkPVsiMiIsIjEwIl07Y2xhc3MgaCBleHRlbmRzIGwuQWJzdHJhY3RKc29uU3RvcmVTZXJ2aWNle2NvbnN0cnVjdG9yKGUsdCxyPSgoMCxvLm9uV2lkZ2V0KSgpP1tdOmQpKXtzdXBlcihlLHQsIkNVU1RPTV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LmludGVydmFscyIscil9c2V0KGUsdCl7KDAsaS50cmFja0dvUHJvRmVhdHVyZSkoImN1c3RvbUludGVydmFscyIpO2NvbnN0IHI9KCk9PnsoMCxvLm9uV2lkZ2V0KSgpfHx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZS5zZXRKU09OKCJJbnRlcnZhbFdpZGdldC5pbnRlcnZhbHNEZWZhdWx0czJhbmQxME1pbnV0ZXNNaWdyYXRpb24iLCEwKSxzdXBlci5zZXQoZSx0KX07ZS5sZW5ndGg8dGhpcy5nZXQoKS5sZW5ndGg/cigpOigwLGEucnVuT3JHb1BybykoKCgpPT5yKCkpLCJDVVNUT01fSU5URVJWQUxTIix7ZmVhdHVyZToiY3VzdG9tSW50ZXJ2YWxzIn0pfV9zZXJpYWxpemUoZSl7cmV0dXJuKDAsdS51bmlxKShlLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKSl9X2Rlc2VyaWFsaXplKGUpe2NvbnN0IHQ9W107cmV0dXJuKDAsby5vbldpZGdldCkoKXx8dGhpcy5fanNvbktleVZhbHVlU3RvcmUuZ2V0SlNPTigiSW50ZXJ2YWxXaWRnZXQuaW50ZXJ2YWxzRGVmYXVsdHMyYW5kMTBNaW51dGVzTWlncmF0aW9uIiwhMSl8fHQucHVzaCguLi5kKSwoMCx1LnVuaXEpKFsuLi50LC4uLigwLGMuY29udmVydFJlc29sdXRpb25zRnJvbVNldHRpbmdzKShlKS5maWx0ZXIoYy5pc1Jlc29sdXRpb25NdWx0aXBsaWVyVmFsaWQpLm1hcChjLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKV0pfX1jb25zdCBtPW5ldyBoKG4uVFZYV2luZG93RXZlbnRzLHMpfSw2MzMzMTgoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7RmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOigpPT5hfSk7dmFyIHM9cigzNzUyNjIpLG49cig0NjUxMzcpLGk9cigxNzY4NTEpO2NsYXNzIGEgZXh0ZW5kcyBzLkFic3RyYWN0SnNvblN0b3JlU2VydmljZXtjb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoZSx0LCJGQVZPUklURV9JTlRFUlZBTFNfQ0hBTkdFRCIsIkludGVydmFsV2lkZ2V0LnF1aWNrcyIscil9X3NlcmlhbGl6ZShlKXtyZXR1cm4oMCxpLnVuaXEpKGUubWFwKG4ubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKX1fZGVzZXJpYWxpemUoZSl7cmV0dXJuKDAsaS51bmlxKSgoMCxuLmNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5ncykoZSkuZmlsdGVyKG4uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKS5tYXAobi5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykpfX19LDQyNjA3NShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJbnRlcnZhbHNTZXJ2aWNlOigpPT5sfSk7dmFyIHM9cigyMjUyOTgpLG49cig5NDgzODApLGk9cigzMDUwNjEpLGE9cig3MzE5MzkpLG89cig0NjUxMzcpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZT1pLmN1c3RvbUludGVydmFsc1NlcnZpY2VJbnN0YW5jZSx0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2U9bmV3IG4uRGVsZWdhdGUsdGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZT0oKT0+e3RoaXMuX3N1cHBvcnRlZEludGVydmFsc01heUNoYW5nZS5maXJlKCl9LHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9KCk9PltdLHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI9ZSxzLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy50aWNrcy5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpfWRlc3Ryb3koKXsKcy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5yYW5nZS51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKSxzLmxpbmtpbmcudGlja3MudW5zdWJzY3JpYmUodGhpcy5fZmlyZVN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSkscy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2ZpcmVTdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2UpLHMubGlua2luZy5kYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi51bnN1YnNjcmliZSh0aGlzLl9maXJlU3VwcG9ydGVkSW50ZXJ2YWxzTWF5Q2hhbmdlKX1nZXREZWZhdWx0SW50ZXJ2YWxzKCl7cmV0dXJuIHRoaXMuX3Jlc29sdXRpb25HZXR0ZXI/dGhpcy5fcmVzb2x1dGlvbkdldHRlcigpLm1hcChvLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKTpbXX1nZXRDdXN0b21JbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXQoKX1hZGQoZSx0LHIpe2lmKCF3aW5kb3cudXNlci5pc19wcm8mJnIpcmV0dXJuIHIoKSxudWxsO2lmKCF0aGlzLmlzVmFsaWRJbnRlcnZhbChlLHQpKXJldHVybiBudWxsO2NvbnN0IHM9KDAsby5ub3JtYWxpemVJbnRlcnZhbFN0cmluZykoYCR7ZX0ke3R9YCksbj10aGlzLmdldEN1c3RvbUludGVydmFscygpO3JldHVybiB0aGlzLl9pc0ludGVydmFsRGVmYXVsdChzKXx8bi5pbmNsdWRlcyhzKT9udWxsOih0aGlzLl9jdXN0b21JbnRlcnZhbHNTZXJ2aWNlLnNldCgoMCxvLnNvcnRSZXNvbHV0aW9ucykoWy4uLm4sc10pKSxzKX1yZW1vdmUoZSl7dGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5zZXQodGhpcy5nZXRDdXN0b21JbnRlcnZhbHMoKS5maWx0ZXIoKHQ9PnQhPT1lKSkpfWlzVmFsaWRJbnRlcnZhbChlLHQpe3JldHVybigwLG8uaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkKShgJHtlfSR7dH1gKX1pc1N1cHBvcnRlZEludGVydmFsKGUpe3JldHVybigwLG8uaXNBdmFpbGFibGUpKGUpfXN1cHBvcnRlZEludGVydmFsc01heUNoYW5nZSgpe3JldHVybiB0aGlzLl9zdXBwb3J0ZWRJbnRlcnZhbHNNYXlDaGFuZ2V9Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fY3VzdG9tSW50ZXJ2YWxzU2VydmljZS5nZXRPbkNoYW5nZSgpfWdldFBvc3NpYmxlSW50ZXJ2YWxzKCl7cmV0dXJuIGEuSU5URVJWQUxTfWdldFJlc29sdXRpb25VdGlscygpe3JldHVybntnZXRNYXhSZXNvbHV0aW9uVmFsdWU6by5nZXRNYXhSZXNvbHV0aW9uVmFsdWUsZ2V0VHJhbnNsYXRlZFJlc29sdXRpb25Nb2RlbDpvLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwsbWVyZ2VSZXNvbHV0aW9uczpvLm1lcmdlUmVzb2x1dGlvbnMsc29ydFJlc29sdXRpb25zOm8uc29ydFJlc29sdXRpb25zfX1faXNJbnRlcnZhbERlZmF1bHQoZSl7cmV0dXJuIHRoaXMuZ2V0RGVmYXVsdEludGVydmFscygpLmluY2x1ZGVzKGUpfX19LDczMTkzOShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtJTlRFUlZBTFM6KCk9Pml9KTt2YXIgcz1yKDE4NTI3MSksbj1yKDU2OTM5OCk7Y29uc3QgaT1be25hbWU6IiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scigzNDM3NTcpKX0se25hbWU6IkgiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoODAwMDA5KSl9LHtuYW1lOiJEIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDMxNzI5KSl9LHtuYW1lOiJXIixsYWJlbDpzLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWwifSxyKDU0ODM3NCkpfSx7bmFtZToiTSIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig1NTQ2NTEpKX1dO2kucHVzaCh7bmFtZToiUiIsbGFiZWw6cy50KG51bGwse2NvbnRleHQ6ImludGVydmFsIn0scig5NzMzNDcpKX0pLCgwLG4uaXNGZWF0dXJlRW5hYmxlZCkoImN1c3RvbV90aWNrcyIpJiZpLnB1c2goe25hbWU6IlQiLGxhYmVsOnMudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbCJ9LHIoMzY5MTI5KSl9KX0sNzAxMTU2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse2dldERpYWxvZ1Rvb2xzTWFuYWdlcjooKT0+b30pO3ZhciBzPXIoODM5NDI2KSxuPXIoOTMwMjMxKSxpPXIoMjMyMzY0KTtjbGFzcyBhe2NvbnN0cnVjdG9yKCl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHM9bmV3IGkuV2F0Y2hlZFZhbHVlKG51bGwpfXJlZ2lzdGVyRGlhbG9nVG9vbHMoZSl7dGhpcy5fYWN0aXZlRGlhbG9nVG9vbHMuc2V0VmFsdWUoZSl9Y2xlYXJEaWFsb2dUb29scyhlKXtjb25zdCB0PXRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnZhbHVlKCk7dCYmdC5kaWFsb2dJZD09PWUmJnRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzLnNldFZhbHVlKG51bGwpfWdldEFjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZURpYWxvZ1Rvb2xzfWhhc0FjdGl2ZURpYWxvZ1Rvb2xzKCl7cmV0dXJuIG51bGwhPT10aGlzLl9hY3RpdmVEaWFsb2dUb29scy52YWx1ZSgpfX1jb25zdCBvPSgwLHMuZGVmYXVsdCkoKCgpPT4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKT9udWxsOm5ldyBhKSl9LDMyOTY2OChlLHQscil7InVzZSBzdHJpY3QiO3ZhciBzO2Z1bmN0aW9uIG4oZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4Om1haW4tZWxlbWVudCIpKX1mdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKX1yLmQodCx7YmVjb21lTWFpbkVsZW1lbnQ6KCk9Pm4sYmVjb21lU2Vjb25kYXJ5RWxlbWVudDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuTWFpbkVsZW1lbnQ9InJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLGUuU2Vjb25kYXJ5RWxlbWVudD0icm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50In0oc3x8KHM9e30pKX0sCjk4MzYxNihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHttYXBLZXlDb2RlVG9EaXJlY3Rpb246KCk9PnUsbmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcjooKT0+YSxxdWVyeUZvY3VzYWJsZUVsZW1lbnRzOigpPT5sLHF1ZXJ5VGFiYmFibGVFbGVtZW50czooKT0+byx1cGRhdGVUYWJJbmRleGVzOigpPT5jfSk7dmFyIHMsbj1yKDk2OTE2OCksaT1yKDY4MjM4MSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPT09dD8wOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/LTE6MX1mdW5jdGlvbiBvKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pLCBbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW3RhYmluZGV4PSItMSJdKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbYXJpYS1kaXNhYmxlZD0iIl0pJykpLmZpbHRlcigoMCxpLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gYygpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIix7YnViYmxlczohMH0pKX1mdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oc3x8KHM9e30pKX0sNzMwMDA5KGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse1Rvb2xiYXI6KCk9PmR9KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDEzODYzOCksaT1yKDgzMzkwMyksYT1yKDIzNTcyNCksbz1yKDk4MzYxNiksbD1yKDMyOTY2OCksYz1yKDc4Nzg5NSksdT1yKDQ1MDE0MCk7Y29uc3QgZD0oMCxzLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e29uS2V5RG93bjpyLG9yaWVudGF0aW9uOmQsYmx1ck9uRXNjS2V5ZG93bjpoPSEwLGJsdXJPbkNsaWNrOm09ITAsLi4udn09ZSxwPSgwLGMudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCk7cmV0dXJuKDAscy51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShwLmN1cnJlbnQpLHQ9KCk9Pntjb25zdCB0PSgwLG8ucXVlcnlUYWJiYWJsZUVsZW1lbnRzKShlKS5zb3J0KG8ubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PXQubGVuZ3RoKXtjb25zdFt0XT0oMCxvLnF1ZXJ5Rm9jdXNhYmxlRWxlbWVudHMpKGUpLnNvcnQoby5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZih2b2lkIDA9PT10KXJldHVybjsoMCxsLmJlY29tZU1haW5FbGVtZW50KSh0KX1pZih0Lmxlbmd0aD4xKXtjb25zdFssLi4uZV09dDtmb3IoY29uc3QgdCBvZiBlKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkodCl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsdCksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlib2FyZC1uYXZpZ2F0aW9uLWFjdGl2YXRpb24iLHQpfSksW10pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4udS5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMobSksLi4udixyb2xlOiJ0b29sYmFyIiwiYXJpYS1vcmllbnRhdGlvbiI6ZCxyZWY6cCxvbktleURvd246KDAsaS5jcmVhdGVTYWZlTXVsdGljYXN0RXZlbnRIYW5kbGVyKSgoZnVuY3Rpb24oZSl7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtpZighKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IHQ9KDAsYS5oYXNoRnJvbUV2ZW50KShlKTtpZihoJiYyNz09PXQpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx2b2lkIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO2lmKCJ2ZXJ0aWNhbCIhPT1kJiYzNyE9PXQmJjM5IT09dClyZXR1cm47aWYoInZlcnRpY2FsIj09PWQmJjM4IT09dCYmNDAhPT10KXJldHVybjtjb25zdCByPWUuY3VycmVudFRhcmdldCxzPSgwLG8ucXVlcnlGb2N1c2FibGVFbGVtZW50cykocikuc29ydChvLm5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3IpO2lmKDA9PT1zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1zLmluZGV4T2YoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7aWYoLTE9PT1uKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KG4rcy5sZW5ndGgtMSklcy5sZW5ndGg7KDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShzW25dKSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShzW2VdKSxzW2VdLmZvY3VzKCl9LGM9KCk9Pntjb25zdCBlPShuK3MubGVuZ3RoKzEpJXMubGVuZ3RoOygwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoc1tuXSksKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoc1tlXSksc1tlXS5mb2N1cygpfTtzd2l0Y2goKDAsby5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOiJ2ZXJ0aWNhbCIhPT1kJiZpKCk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjoKInZlcnRpY2FsIiE9PWQmJmMoKTticmVhaztjYXNlImJsb2NrUHJldiI6InZlcnRpY2FsIj09PWQmJmkoKTticmVhaztjYXNlImJsb2NrTmV4dCI6InZlcnRpY2FsIj09PWQmJmMoKX19KSxyKSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIn0pfSkpfSw1Njk2NTIoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT51LHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9Pm99KTt2YXIgcz1yKDc3OTQ3NCksbj1yKDIyMTg5NiksaT1yLm4obik7Y29uc3QgYT1zLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIG8oZSx0KXtpKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6cn09ZTtyZXR1cm4gbyhyLHQpLHMuY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTpyfSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAscy51c2VDb250ZXh0KShhKTtyZXR1cm4gbyh0LGUpLHR9ZnVuY3Rpb24gdSgpe3JldHVybiBhfX0sNjE2MzExKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3VzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6KCk9Pm59KTt2YXIgcz1yKDc3OTQ3NCk7ZnVuY3Rpb24gbihlLHQpeygidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz9zLnVzZUVmZmVjdDpzLnVzZUxheW91dEVmZmVjdCkoZSx0KX19LDk5ODE1OChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtGcmFnbWVudE1hcDooKT0+bn0pO3ZhciBzPXIoNzc5NDc0KTtmdW5jdGlvbiBuKGUpe2lmKGUubWFwKXtyZXR1cm4gcy5DaGlsZHJlbi50b0FycmF5KGUuY2hpbGRyZW4pLm1hcChlLm1hcCl9cmV0dXJuIGUuY2hpbGRyZW59fSw5OTQxNzgoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgcz1yKDk2NzEyMSk7ZnVuY3Rpb24gbigpe31mdW5jdGlvbiBpKCl7fWkucmVzZXRXYXJuaW5nQ2FjaGU9bixlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCxyLG4saSxhKXtpZihhIT09cyl7dmFyIG89bmV3IEVycm9yKCJDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiBVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiBSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzIik7dGhyb3cgby5uYW1lPSJJbnZhcmlhbnQgVmlvbGF0aW9uIixvfX1mdW5jdGlvbiB0KCl7cmV0dXJuIGV9ZS5pc1JlcXVpcmVkPWU7dmFyIHI9e2FycmF5OmUsYm9vbDplLGZ1bmM6ZSxudW1iZXI6ZSxvYmplY3Q6ZSxzdHJpbmc6ZSxzeW1ib2w6ZSxhbnk6ZSxhcnJheU9mOnQsZWxlbWVudDplLGVsZW1lbnRUeXBlOmUsaW5zdGFuY2VPZjp0LG5vZGU6ZSxvYmplY3RPZjp0LG9uZU9mOnQsb25lT2ZUeXBlOnQsc2hhcGU6dCxleGFjdDp0LGNoZWNrUHJvcFR5cGVzOmkscmVzZXRXYXJuaW5nQ2FjaGU6bn07cmV0dXJuIHIuUHJvcFR5cGVzPXIscn19LDIyMTg5NihlLHQscil7ZS5leHBvcnRzPXIoOTk0MTc4KSgpfSw5NjcxMjEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz0iU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQifSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG49U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxpPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLG89U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLGQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGg9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLG09U3ltYm9sLml0ZXJhdG9yO3ZhciB2PXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxwPU9iamVjdC5hc3NpZ24sZj17fTtmdW5jdGlvbiBTKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBnKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWYsdGhpcy51cGRhdGVyPXJ8fHZ9Uy5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxTLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LFMucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSwKYi5wcm90b3R5cGU9Uy5wcm90b3R5cGU7dmFyIF89Zy5wcm90b3R5cGU9bmV3IGI7Xy5jb25zdHJ1Y3Rvcj1nLHAoXyxTLnByb3RvdHlwZSksXy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgeT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxDPXtjdXJyZW50Om51bGx9LFQ9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiB3KGUsdCxzKXt2YXIgbixpPXt9LGE9bnVsbCxvPW51bGw7aWYobnVsbCE9dClmb3IobiBpbiB2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxuKSYmIVQuaGFzT3duUHJvcGVydHkobikmJihpW25dPXRbbl0pO3ZhciBsPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09bClpLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGwpe2Zvcih2YXIgYz1BcnJheShsKSx1PTA7dTxsO3UrKyljW3VdPWFyZ3VtZW50c1t1KzJdO2kuY2hpbGRyZW49Y31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobiBpbiBsPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PWlbbl0mJihpW25dPWxbbl0pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6byxwcm9wczppLF9vd25lcjpDLmN1cnJlbnR9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIE09L1wvKy9nO2Z1bmN0aW9uIFIoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiBrKGUsdCxuLGksYSl7dmFyIG89dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1vJiYiYm9vbGVhbiIhPT1vfHwoZT1udWxsKTt2YXIgbD0hMTtpZihudWxsPT09ZSlsPSEwO2Vsc2Ugc3dpdGNoKG8pe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6bD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIHM6bD0hMH19aWYobClyZXR1cm4gYT1hKGw9ZSksZT0iIj09PWk/Ii4iK1IobCwwKTppLHkoYSk/KG49IiIsbnVsbCE9ZSYmKG49ZS5yZXBsYWNlKE0sIiQmLyIpKyIvIiksayhhLHQsbiwiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJihEKGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbisoIWEua2V5fHxsJiZsLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShNLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYobD0wLGk9IiI9PT1pPyIuIjppKyI6Iix5KGUpKWZvcih2YXIgYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgdT1pK1Iobz1lW2NdLGMpO2wrPWsobyx0LG4sdSxhKX1lbHNlIGlmKHU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1tJiZlW21dfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIHUpZm9yKGU9dS5jYWxsKGUpLGM9MDshKG89ZS5uZXh0KCkpLmRvbmU7KWwrPWsobz1vLnZhbHVlLHQsbix1PWkrUihvLGMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PW8pdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGx9ZnVuY3Rpb24gSShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgcz1bXSxuPTA7cmV0dXJuIGsoZSxzLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxuKyspfSkpLHN9ZnVuY3Rpb24gRihlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBPPXtjdXJyZW50Om51bGx9LEE9e3RyYW5zaXRpb246bnVsbH0sVj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpPLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkEsUmVhY3RDdXJyZW50T3duZXI6Q307dC5DaGlsZHJlbj17bWFwOkksZm9yRWFjaDpmdW5jdGlvbihlLHQscil7SShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIEkoZSwoZnVuY3Rpb24oKXt0Kyt9KSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gSShlLChmdW5jdGlvbihlKXtyZXR1cm4gZX0pKXx8W119LG9ubHk6ZnVuY3Rpb24oZSl7aWYoIUQoZSkpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9Uyx0LkZyYWdtZW50PW4sdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD1nLHQuU3RyaWN0TW9kZT1pLHQuU3VzcGVuc2U9dSx0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVYsdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LHMpewppZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbj1wKHt9LGUucHJvcHMpLGk9ZS5rZXksYT1lLnJlZixvPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixvPUMuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJihpPSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGw9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IoYyBpbiB0KUUuY2FsbCh0LGMpJiYhVC5oYXNPd25Qcm9wZXJ0eShjKSYmKG5bY109dm9pZCAwPT09dFtjXSYmdm9pZCAwIT09bD9sW2NdOnRbY10pfXZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09YyluLmNoaWxkcmVuPXM7ZWxzZSBpZigxPGMpe2w9QXJyYXkoYyk7Zm9yKHZhciB1PTA7dTxjO3UrKylsW3VdPWFyZ3VtZW50c1t1KzJdO24uY2hpbGRyZW49bH1yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6aSxyZWY6YSxwcm9wczpuLF9vd25lcjpvfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpsLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjpvLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PXcsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PXcuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOmMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PUQsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpoLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6Rn19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpkLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9QS50cmFuc2l0aW9uO0EudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7QS50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTy5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTy5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBPLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE8uY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIE8uY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIE8uY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBPLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDM3NTI2MihlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtBYnN0cmFjdEpzb25TdG9yZVNlcnZpY2U6KCk9PmksQ29tbW9uSnNvblN0b3JlU2VydmljZTooKT0+YX0pO3ZhciBzPXIoOTQ4MzgwKTtjb25zdCBuPVN5bWJvbCgiTk9fVkFMVUVfU0VOVElORUwiKTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCxyLG4saSl7dGhpcy5fb25DaGFuZ2U9bmV3IHMuRGVsZWdhdGUsdGhpcy5faGFuZGxlQ2hhbmdlPSgpPT57dGhpcy5fb25DaGFuZ2UuZmlyZSh0aGlzLmdldCgpKX0sdGhpcy5fY3Jvc3NUYWJFdmVudHM9ZSx0aGlzLl9qc29uS2V5VmFsdWVTdG9yZT10LHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRT1yLHRoaXMuSlNPTl9TVE9SRV9LRVk9bix0aGlzLmRlZmF1bHRTdG9yZVZhbHVlPXRoaXMuX3NlcmlhbGl6ZShpKSx0aGlzLl9zdWJzY3JpYmUoKX1nZXQoKXtjb25zdCBlPXRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSx0aGlzLmRlZmF1bHRTdG9yZVZhbHVlKTtyZXR1cm4gdGhpcy5fZGVzZXJpYWxpemUoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9zZXJpYWxpemUoZSk7dGhpcy5fanNvbktleVZhbHVlU3RvcmUuc2V0SlNPTih0aGlzLkpTT05fU1RPUkVfS0VZLHIsdCksdGhpcy5fY3Jvc3NUYWJFdmVudHMuZW1pdCh0aGlzLkNST1NTVEFCX0VWRU5UX05BTUUpLHRoaXMuX29uQ2hhbmdlLmZpcmUoZSl9aGFzVmFsdWUoKXsKcmV0dXJuIHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLmdldEpTT04odGhpcy5KU09OX1NUT1JFX0tFWSxuKSE9PW59Z2V0T25DaGFuZ2UoKXtyZXR1cm4gdGhpcy5fb25DaGFuZ2V9ZGVzdHJveSgpe3RoaXMuX3Vuc3Vic2NyaWJlKCksdGhpcy5fb25DaGFuZ2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9vbkNoYW5nZX1fc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub24odGhpcy5DUk9TU1RBQl9FVkVOVF9OQU1FLHRoaXMuX2hhbmRsZUNoYW5nZSksdGhpcy5fanNvbktleVZhbHVlU3RvcmUub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKCl7dGhpcy5fY3Jvc3NUYWJFdmVudHMub2ZmKHRoaXMuQ1JPU1NUQUJfRVZFTlRfTkFNRSx0aGlzLl9oYW5kbGVDaGFuZ2UpLHRoaXMuX2pzb25LZXlWYWx1ZVN0b3JlLm9uU3luYy51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZSl9fWNsYXNzIGEgZXh0ZW5kcyBpe19zZXJpYWxpemUoZSl7cmV0dXJuIGV9X2Rlc2VyaWFsaXplKGUpe3JldHVybiBlfX19LDQ4MDA2MShlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6KCk9Pm0sZ2V0RGVmYXVsdEZhdm9yaXRlQ2hhcnRTdHlsZXM6KCk9PmQsZ2V0RGVmYXVsdEZhdm9yaXRlUmVzb2x1dGlvbnM6KCk9Pmh9KTt2YXIgcz1yKDE1MjY5OSksbj1yKDkzMDU2NiksaT1yKDkzMDIzMSksYT1yKDQ2NTEzNyksbz1yKDYzMzMxOCksbD1yKDcwMjE1Myk7Y29uc3QgYz17QXJlYTozLCJITEMgYXJlYSI6MTYsQmFyczowLENhbmRsZXM6MSwiSGVpa2VuIEFzaGkiOjgsIkhvbGxvdyBDYW5kbGVzIjo5LExpbmU6MixSZW5rbzo0LEthZ2k6NSwiUG9pbnQgJiBmaWd1cmUiOjYsIkxpbmUgQnJlYWsiOjcsQmFzZWxpbmU6MTAsTGluZVdpdGhNYXJrZXJzOjE0LFN0ZXBsaW5lOjE1LENvbHVtbnM6MTMsIkhpZ2gtbG93IjoxMn0sdT1bIjEiLCIzMCIsIjYwIl07ZnVuY3Rpb24gZChlPVtdKXtsZXQgdD1lLm1hcCgoZT0+Y1tlXSkpfHxbMSw0LDUsNl07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJih0PVswLDEsM10pLHR9ZnVuY3Rpb24gaChlPVtdKXtyZXR1cm4oMCxhLm1lcmdlUmVzb2x1dGlvbnMpKGUsKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Iik/dTpbXSl9Y29uc3QgbT1uZXcgby5GYXZvcml0ZUludGVydmFsc1NlcnZpY2Uocy5UVlhXaW5kb3dFdmVudHMsbixoKCkpO25ldyBsLkZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlKHMuVFZYV2luZG93RXZlbnRzLG4sZCgpKX0sMzQ0NTM2KGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpLHIuZCh0LHtGYXZvcml0ZVNjcmlwdHNNb2RlbDooKT0+ZH0pO3ZhciBzPXIoOTMwNTY2KSxuPXIoMTUyNjk5KSxpPXIoNjM0ODYpLGE9cig2MzI0NDQpCjtjb25zdCBvPUpTT04ucGFyc2UoJ3siQUNDREB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiIsInN0dWR5QURSQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBZHZhbmNlX0RlY2xpbmVfUmF0aW9fQmFycyIsIkFST09OQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtBcm9vbiIsIkFUUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7QXZlcmFnZV9UcnVlX1JhbmdlIiwiQXdlc29tZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0F3ZXNvbWVfT3NjaWxsYXRvciIsIkJCQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtCb2xsaW5nZXJfQmFuZHMiLCJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0JvbGxpbmdlcl9CYW5kc19CIiwiQm9sbGluZ2VyQmFuZHNXaWR0aEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Qm9sbGluZ2VyX0JhbmRzX1dpZHRoIiwiQ01GQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFpa2luX01vbmV5X0Zsb3ciLCJDaGFpa2luT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q2hhaWtpbl9Pc2NpbGxhdG9yIiwiQ2hvcHBpbmVzc0luZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaG9wcGluZXNzX0luZGV4IiwiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtERU1BIiwiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1dpbGxhbXNfUiIsIkNDSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q0NJIiwiQ1JTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7Q29ubm9yc19SU0kiLCJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0RQTyIsIkRNQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtETUkiLCJET05DSEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RG9uY2hpYW5fQ2hhbm5lbHMiLCJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU9NIiwiRUZJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtFRkkiLCJFTlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO0VOViIsIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RmlzaGVyX1RyYW5zZm9ybSIsIkhWQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIaXN0b3JpY2FsX1ZvbGF0aWxpdHkiLCJLTFROUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7S2VsdG5lcl9DaGFubmVscyIsIk1PTUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9tZW50dW0iLCJNRkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7TW9uZXlfRmxvdyIsIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIiwiVHJpeEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VFJJWCIsIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1N0b2NoYXN0aWMiLCJTdG9jaGFzdGljUlNJQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTdG9jaGFzdGljX1JTSSIsIlJTSUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UlNJIiwiUk9DQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtST0MiLCJQcmljZU9zY0B0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UHJpY2VfT3NjaWxsYXRvciIsIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtTTUEiLCJPQlZAdHYtYmFzaWNzdHVkaWVzIjoiU1REO09uX0JhbGFuY2VfVm9sdW1lIiwiUFNBUkB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7UFNBUiIsIlZpZ29ySW5kZXhAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1JlbGF0aXZlX1ZpZ29yX0luZGV4IiwiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyI6IlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4IiwiU01JRXJnb2RpY0luZGljYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfSW5kaWNhdG9yX09zY2lsbGF0b3IiLCJTTUlFcmdvZGljT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7U01JX0VyZ29kaWNfT3NjaWxsYXRvciIsIk1BQ0RAdHYtYmFzaWNzdHVkaWVzIjoiU1REO01BQ0QiLCJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXTUEiLCJNQUV4cEB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7RU1BIiwiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtIdWxsJTFNQSIsImNoYW5kZU1PQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtDaGFuZGVfTW9tZW50dW1fT3NjaWxsYXRvciIsIlRyaXBsZUVNQUB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7VEVNQSIsIk1BVm9sdW1lV2VpZ2h0ZWRAdHYtYmFzaWNzdHVkaWVzIjoiU1REO1ZXTUEiLCJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiOiJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIiwiV2lsbGlhbXNGcmFjdGFsQHR2LWJhc2ljc3R1ZGllcyI6IlNURDtXaGlsbGlhbXNfRnJhY3RhbHMifScpO3ZhciBsPXIoOTQ4MzgwKTtjb25zdCBjPW87bGV0IHU9bnVsbDtjbGFzcyBke2NvbnN0cnVjdG9yKGU9cyl7dGhpcy5fZmF2b3JpdGVzPVtdLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fc2V0dGluZ3M9ZSxuLlRWWFdpbmRvd0V2ZW50cy5vbigiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIiwoZT0+e2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9sb2FkRnJvbVN0YXRlKHQuZmF2b3JpdGVzfHxbXSl9KSksdGhpcy5fc2V0dGluZ3Mub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe2NvbnN0IHQ9dGhpcy5mYXZJZChlKTtyZXR1cm4tMSE9PXRoaXMuX2ZpbmRGYXZJbmRleCh0KX10b2dnbGVGYXZvcml0ZShlKXt0aGlzLmlzRmF2KGUpP3RoaXMucmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5hZGRGYXZvcml0ZShlKX1hZGRGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuZmF2SWQoZSk7dGhpcy5fZmF2b3JpdGVzLnB1c2gobSh0KSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKHQpLHRoaXMuX3NhdmVGYXZzKCl9cmVtb3ZlRmF2b3JpdGUoZSl7Y29uc3QgdD10aGlzLmZhdklkKGUpLHI9dGhpcy5fZmluZEZhdkluZGV4KHQpOy0xIT09ciYmKHRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UociwxKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUodCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2SWQoZSl7CnJldHVybigwLGEuaXNQaW5lSWRTdHJpbmcpKGUpP2U6KDAsYS5leHRyYWN0UGluZUlkKShlKXx8KDAsaS5leHRyYWN0U3R1ZHlJZCkoZSl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZVBpbmVJZHMoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzLmZpbHRlcigoZT0+InBpbmUiPT09ZS50eXBlKSkubWFwKChlPT5lLnBpbmVJZCkpfWZhdm9yaXRlc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gbnVsbD09PXUmJih1PW5ldyBkKSx1fXN0YXRpYyBjcmVhdGUoZSl7cmV0dXJuIG5ldyBkKGUpfV9sb2FkRmF2cygpe2NvbnN0IGU9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixbXSk7dGhpcy5fbG9hZEZyb21TdGF0ZShlKX1fc2F2ZUZhdnMoKXtjb25zdCBlPXRoaXMuX3N0YXRlVG9TYXZlKCk7dGhpcy5fc2V0dGluZ3Muc2V0SlNPTigic3R1ZHlNYXJrZXQuZmF2b3JpdGVzIixlLHtmb3JjZUZsdXNoOiEwfSksbi5UVlhXaW5kb3dFdmVudHMuZW1pdCgiU3R1ZHlGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7ZmF2b3JpdGVzOmV9KSl9X3N0YXRlVG9TYXZlKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlcy5tYXAoaCl9X2xvYWRGcm9tU3RhdGUoZSl7dGhpcy5fZmF2b3JpdGVzPWUubWFwKChlPT5tKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluIGM/Y1tlXTplfShlKSkpKSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuZmluZEluZGV4KCh0PT5lPT09aCh0KSkpfX1mdW5jdGlvbiBoKGUpe3JldHVybiJqYXZhIj09PWUudHlwZT9lLnN0dWR5SWQ6ZS5waW5lSWR9ZnVuY3Rpb24gbShlKXtyZXR1cm4oMCxhLmlzUGluZUlkU3RyaW5nKShlKT97dHlwZToicGluZSIscGluZUlkOmV9Ont0eXBlOiJqYXZhIixzdHVkeUlkOmV9fX0sMzkxODkwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik0yIDFsOCA4IDgtOCIvPjwvc3ZnPid9LDMwMTYwNyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC41NiAxNGExMC4wNSAxMC4wNSAwIDAwLjUyLjkxYy40MS42OSAxLjA0IDEuNiAxLjg1IDIuNUM4LjU4IDE5LjI1IDEwLjk1IDIxIDE0IDIxYzMuMDUgMCA1LjQyLTEuNzYgNy4wNy0zLjU4QTE3LjE4IDE3LjE4IDAgMDAyMy40NCAxNGE5LjQ3IDkuNDcgMCAwMC0uNTItLjkxYy0uNDEtLjY5LTEuMDQtMS42LTEuODUtMi41QzE5LjQyIDguNzUgMTcuMDUgNyAxNCA3Yy0zLjA1IDAtNS40MiAxLjc2LTcuMDcgMy41OEExNy4xOCAxNy4xOCAwIDAwNC41NiAxNHpNMjQgMTRsLjQ1LS4yMS0uMDEtLjAzYTcuMDMgNy4wMyAwIDAwLS4xNi0uMzJjLS4xMS0uMi0uMjgtLjUxLS41LS44Ny0uNDQtLjcyLTEuMS0xLjY5LTEuOTctMi42NUMyMC4wOCA3Ljk5IDE3LjQ1IDYgMTQgNmMtMy40NSAwLTYuMDggMi03LjggMy45MmExOC4xOCAxOC4xOCAwIDAwLTIuNjQgMy44NHYuMDJoLS4wMUw0IDE0bC0uNDUtLjIxLS4xLjIxLjEuMjFMNCAxNGwtLjQ1LjIxLjAxLjAzYTUuODUgNS44NSAwIDAwLjE2LjMyYy4xMS4yLjI4LjUxLjUuODcuNDQuNzIgMS4xIDEuNjkgMS45NyAyLjY1QzcuOTIgMjAuMDEgMTAuNTUgMjIgMTQgMjJjMy40NSAwIDYuMDgtMiA3LjgtMy45MmExOC4xOCAxOC4xOCAwIDAwMi42NC0zLjg0di0uMDJoLjAxTDI0IDE0em0wIDBsLjQ1LjIxLjEtLjIxLS4xLS4yMUwyNCAxNHptLTEwLTNhMyAzIDAgMTAwIDYgMyAzIDAgMDAwLTZ6bS00IDNhNCA0IDAgMTE4IDAgNCA0IDAgMDEtOCAweiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.569Z","timestamp":1785136427569,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/d71b99267b066b9b.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 2265043\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"d71b99267b066b9b.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"8ab91e90961bd7e4d7c2d7514a37ecf6\"\r\nlast-modified: Mon, 25 May 2026 18:12:21 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/d71b99267b066b9b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::z8pn9-1779843301298-e28dad7012c9\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=cnDE6SkAcqkZILsV8vl4A6DSkv7eSkSOoD7MPxKNlf3gLIDBq1Ra6nHYf17kwDP1KzvS0LdTDUy0pQeuLKRZ3VOSM3KxBY6xQtD24LzmNhgsW9M1nvnlTbuGz%2BlY\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f05f058deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":27443,"size_decoded":11043,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (27443), with no line terminators","md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-11T04:47:30.134319Z","times_seen":2156,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LDcyODQsZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7Zm9yKHZhciBlLHIsbz0wLHQ9IiIsbD1hcmd1bWVudHMubGVuZ3RoO288bDtvKyspKGU9YXJndW1lbnRzW29dKSYmKHI9ZnVuY3Rpb24gZShyKXt2YXIgbyx0LGw9IiI7aWYoInN0cmluZyI9PXR5cGVvZiByfHwibnVtYmVyIj09dHlwZW9mIHIpbCs9cjtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgcilpZihBcnJheS5pc0FycmF5KHIpKXt2YXIgbj1yLmxlbmd0aDtmb3Iobz0wO288bjtvKyspcltvXSYmKHQ9ZShyW29dKSkmJihsJiYobCs9IiAiKSxsKz10KX1lbHNlIGZvcih0IGluIHIpclt0XSYmKGwmJihsKz0iICIpLGwrPXQpO3JldHVybiBsfShlKSkmJih0JiYodCs9IiAiKSx0Kz1yKTtyZXR1cm4gdH1lLnMoWyJjbHN4IiwoKT0+cl0sNzI4NCk7bGV0IG89KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSx0PVtdLGw9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCB0PWVbcl0sbj1vLm5leHRQYXJ0LmdldCh0KTtpZihuKXtsZXQgbz1sKGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IGE9by52YWxpZGF0b3JzO2lmKG51bGw9PT1hKXJldHVybjtsZXQgcz0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPWFbZV07aWYoci52YWxpZGF0b3IocykpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbj0oZSxyKT0+e2xldCB0PW8oKTtmb3IobGV0IG8gaW4gZSlhKGVbb10sdCxvLHIpO3JldHVybiB0fSxhPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/aShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/YyhlLHIsbyx0KTpkKGUscixvLHQpfSxpPShlLHIsbyk9PnsoIiI9PT1lP3I6bShyLGUpKS5jbGFzc0dyb3VwSWQ9b30sYz0oZSxyLG8sdCk9PntwKGUpP2EoZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxuPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspe2xldFtuLHNdPWxbZV07YShzLG0ocixuKSxvLHQpfX0sbT0oZSxyKT0+e2xldCB0PWUsbD1yLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgcj1sW2VdLG49dC5uZXh0UGFydC5nZXQocik7bnx8KG49bygpLHQubmV4dFBhcnQuc2V0KHIsbikpLHQ9bn1yZXR1cm4gdH0scD1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixiPVtdLHU9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLGY9L1xzKy8sZz1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWcoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGg9W10saz1lPT57bGV0IHI9cj0+cltlXXx8aDtyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LHc9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2kseD0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx5PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHY9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx6PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyxqPS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8sQz0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sTj1lPT55LnRlc3QoZSksST1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxVPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLCQ9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZJKGUuc2xpY2UoMCwtMSkpLE89ZT0+di50ZXN0KGUpLFM9KCk9PiEwLFc9ZT0+ei50ZXN0KGUpJiYhai50ZXN0KGUpLEY9KCk9PiExLFA9ZT0+Qy50ZXN0KGUpLFQ9ZT0+Ry50ZXN0KGUpLE09ZT0+IVIoZSkmJiFIKGUpLEE9ZT0+ZXIoZSxlbixGKSxSPWU9PncudGVzdChlKSxEPWU9PmVyKGUsZWEsVykscT1lPT5lcihlLGVzLEkpLEI9ZT0+ZXIoZSxlYyxTKSxFPWU9PmVyKGUsZWksRiksSz1lPT5lcihlLGV0LEYpLF89ZT0+ZXIoZSxlbCxUKSxMPWU9PmVyKGUsZWQsUCksSD1lPT54LnRlc3QoZSksSj1lPT5lbyhlLGVhKSxRPWU9PmVvKGUsZWkpLFY9ZT0+ZW8oZSxldCksWD1lPT5lbyhlLGVuKSxZPWU9PmVvKGUsZWwpLFo9ZT0+ZW8oZSxlZCwhMCksZWU9ZT0+ZW8oZSxlYywhMCksZXI9KGUscixvKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byh0WzJdKSl9LGVvPShlLHIsbz0hMSk9PntsZXQgdD14LmV4ZWMoZSk7cmV0dXJuISF0JiYodFsxXT9yKHRbMV0pOm8pfSxldD1lPT4icG9zaXRpb24iPT09ZXx8InBlcmNlbnRhZ2UiPT09ZSxlbD1lPT4iaW1hZ2UiPT09ZXx8InVybCI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZXx8InNpemUiPT09ZXx8ImJnLXNpemUiPT09ZSxlYT1lPT4ibGVuZ3RoIj09PWUsZXM9ZT0+Im51bWJlciI9PT1lLGVpPWU9PiJmYW1pbHktbmFtZSI9PT1lLGVjPWU9PiJudW1iZXIiPT09ZXx8IndlaWdodCI9PT1lLGVkPWU9PiJzaGFkb3ciPT09ZSxlbT0oKGUsLi4ucik9PntsZXQgbyxhLHMsaSxjPWU9PntsZXQgcj1hKGUpO2lmKHIpcmV0dXJuIHI7bGV0IHQ9KChlLHIpPT57bGV0e3BhcnNlQ2xhc3NOYW1lOm8sZ2V0Q2xhc3NHcm91cElkOnQsZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOmwsc29ydE1vZGlmaWVyczpufT1yLGE9W10scz1lLnRyaW0oKS5zcGxpdChmKSxpPSIiO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS09MSl7bGV0IHI9c1tlXSx7aXNFeHRlcm5hbDpjLG1vZGlmaWVyczpkLGhhc0ltcG9ydGFudE1vZGlmaWVyOm0sYmFzZUNsYXNzTmFtZTpwLG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb246Yn09byhyKTtpZihjKXtpPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSk7Y29udGludWV9bGV0IHU9ISFiLGY9dCh1P3Auc3Vic3RyaW5nKDAsYik6cCk7aWYoIWYpe2lmKCF1fHwhKGY9dChwKSkpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX11PSExfWxldCBnPTA9PT1kLmxlbmd0aD8iIjoxPT09ZC5sZW5ndGg/ZFswXTpuKGQpLmpvaW4oIjoiKSxoPW0/ZysiISI6ZyxrPWgrZjtpZihhLmluZGV4T2Yoayk+LTEpY29udGludWU7YS5wdXNoKGspO2xldCB3PWwoZix1KTtmb3IobGV0IGU9MDtlPHcubGVuZ3RoOysrZSl7bGV0IHI9d1tlXTthLnB1c2goaCtyKX1pPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSl9cmV0dXJuIGl9KShlLG8pO3JldHVybiBzKGUsdCksdH07cmV0dXJuIGk9ZD0+e3ZhciBtO2xldCBwO3JldHVybiBhPShvPXtjYWNoZTooZT0+e2lmKGU8MSlyZXR1cm57Z2V0OigpPT52b2lkIDAsc2V0OigpPT57fX07bGV0IHI9MCxvPU9iamVjdC5jcmVhdGUobnVsbCksdD1PYmplY3QuY3JlYXRlKG51bGwpLGw9KGwsbik9PntvW2xdPW4sKytyPmUmJihyPTAsdD1vLG89T2JqZWN0LmNyZWF0ZShudWxsKSl9O3JldHVybntnZXQoZSl7bGV0IHI9b1tlXTtyZXR1cm4gdm9pZCAwIT09cj9yOnZvaWQgMCE9PShyPXRbZV0pPyhsKGUscikscik6dm9pZCAwfSxzZXQoZSxyKXtlIGluIG8/b1tlXT1yOmwoZSxyKX19fSkoKG09ci5yZWR1Y2UoKGUscik9PnIoZSksZSgpKSkuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTooZT0+e2xldHtwcmVmaXg6cixleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpvfT1lLHQ9ZT0+e2xldCByLG89W10sdD0wLGw9MCxuPTAsYT1lLmxlbmd0aDtmb3IobGV0IHM9MDtzPGE7cysrKXtsZXQgYT1lW3NdO2lmKDA9PT10JiYwPT09bCl7aWYoIjoiPT09YSl7by5wdXNoKGUuc2xpY2UobixzKSksbj1zKzE7Y29udGludWV9aWYoIi8iPT09YSl7cj1zO2NvbnRpbnVlfX0iWyI9PT1hP3QrKzoiXSI9PT1hP3QtLToiKCI9PT1hP2wrKzoiKSI9PT1hJiZsLS19bGV0IHM9MD09PW8ubGVuZ3RoP2U6ZS5zbGljZShuKSxpPXMsYz0hMTtyZXR1cm4gcy5lbmRzV2l0aCgiISIpPyhpPXMuc2xpY2UoMCwtMSksYz0hMCk6cy5zdGFydHNXaXRoKCIhIikmJihpPXMuc2xpY2UoMSksYz0hMCksdShvLGMsaSxyJiZyPm4/ci1uOnZvaWQgMCl9O2lmKHIpe2xldCBlPXIrIjoiLG89dDt0PXI9PnIuc3RhcnRzV2l0aChlKT9vKHIuc2xpY2UoZS5sZW5ndGgpKTp1KGIsITEscix2b2lkIDAsITApfWlmKG8pe2xldCBlPXQ7dD1yPT5vKHtjbGFzc05hbWU6cixwYXJzZUNsYXNzTmFtZTplfSl9cmV0dXJuIHR9KShtKSxzb3J0TW9kaWZpZXJzOihwPW5ldyBNYXAsbS5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChlLHIpPT57cC5zZXQoZSwxZTYrcil9KSxlPT57bGV0IHI9W10sbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IGw9ZVt0XSxuPSJbIj09PWxbMF0sYT1wLmhhcyhsKTtufHxhPyhvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pLG89W10pLHIucHVzaChsKSk6by5wdXNoKGwpfXJldHVybiBvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pKSxyfSksLi4uKGU9PntsZXQgcj0oZT0+e2xldHt0aGVtZTpyLGNsYXNzR3JvdXBzOm99PWU7cmV0dXJuIG4obyxyKX0pKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOm8sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOmF9PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDplPT57aWYoZS5zdGFydHNXaXRoKCJbIikmJmUuZW5kc1dpdGgoIl0iKSl7dmFyIG87bGV0IHIsdCxsO3JldHVybiAtMT09PShvPWUpLnNsaWNlKDEsLTEpLmluZGV4T2YoIjoiKT92b2lkIDA6KHQ9KHI9by5zbGljZSgxLC0xKSkuaW5kZXhPZigiOiIpLChsPXIuc2xpY2UoMCx0KSk/ImFyYml0cmFyeS4uIitsOnZvaWQgMCl9bGV0IHQ9ZS5zcGxpdCgiLSIpLG49KygiIj09PXRbMF0mJnQubGVuZ3RoPjEpO3JldHVybiBsKHQsbixyKX0sZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOihlLHIpPT57aWYocil7bGV0IHI9YVtlXSxsPW9bZV07aWYocil7aWYobCl7bGV0IGU9QXJyYXkobC5sZW5ndGgrci5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8bC5sZW5ndGg7cisrKWVbcl09bFtyXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyllW2wubGVuZ3RoK29dPXJbb107cmV0dXJuIGV9cmV0dXJuIHJ9cmV0dXJuIGx8fHR9cmV0dXJuIG9bZV18fHR9fX0pKG0pfSkuY2FjaGUuZ2V0LHM9by5jYWNoZS5zZXQsaT1jLGMoZCl9LCguLi5lKT0+aSgoKC4uLmUpPT57bGV0IHIsbyx0PTAsbD0iIjtmb3IoO3Q8ZS5sZW5ndGg7KShyPWVbdCsrXSkmJihvPWcocikpJiYobCYmKGwrPSIgIiksbCs9byk7cmV0dXJuIGx9KSguLi5lKSl9KSgoKT0+e2xldCBlPWsoImNvbG9yIikscj1rKCJmb250Iiksbz1rKCJ0ZXh0IiksdD1rKCJmb250LXdlaWdodCIpLGw9aygidHJhY2tpbmciKSxuPWsoImxlYWRpbmciKSxhPWsoImJyZWFrcG9pbnQiKSxzPWsoImNvbnRhaW5lciIpLGk9aygic3BhY2luZyIpLGM9aygicmFkaXVzIiksZD1rKCJzaGFkb3ciKSxtPWsoImluc2V0LXNoYWRvdyIpLHA9aygidGV4dC1zaGFkb3ciKSxiPWsoImRyb3Atc2hhZG93IiksdT1rKCJibHVyIiksZj1rKCJwZXJzcGVjdGl2ZSIpLGc9aygiYXNwZWN0IiksaD1rKCJlYXNlIiksdz1rKCJhbmltYXRlIikseD0oKT0+WyJhdXRvIiwiYXZvaWQiLCJhbGwiLCJhdm9pZC1wYWdlIiwicGFnZSIsImxlZnQiLCJyaWdodCIsImNvbHVtbiJdLHk9KCk9PlsiY2VudGVyIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wLWxlZnQiLCJsZWZ0LXRvcCIsInRvcC1yaWdodCIsInJpZ2h0LXRvcCIsImJvdHRvbS1yaWdodCIsInJpZ2h0LWJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdC1ib3R0b20iXSx2PSgpPT5bLi4ueSgpLEgsUl0sej0oKT0+WyJhdXRvIiwiaGlkZGVuIiwiY2xpcCIsInZpc2libGUiLCJzY3JvbGwiXSxqPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLEM9KCk9PltILFIsaV0sRz0oKT0+W04sImZ1bGwiLCJhdXRvIiwuLi5DKCldLFc9KCk9PltVLCJub25lIiwic3ViZ3JpZCIsSCxSXSxGPSgpPT5bImF1dG8iLHtzcGFuOlsiZnVsbCIsVSxILFJdfSxVLEgsUl0sUD0oKT0+W1UsImF1dG8iLEgsUl0sVD0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgsUl0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5DKCldLGVsPSgpPT5bTiwiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkMoKV0sZW49KCk9PltOLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVhPSgpPT5bTiwic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVzPSgpPT5bZSxILFJdLGVpPSgpPT5bLi4ueSgpLFYsSyx7cG9zaXRpb246W0gsUl19XSxlYz0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVkPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFgsQSx7c2l6ZTpbSCxSXX1dLGVtPSgpPT5bJCxKLERdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixjLEgsUl0sZWI9KCk9PlsiIixJLEosRF0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bSSwkLFYsS10sZWg9KCk9PlsiIiwibm9uZSIsdSxILFJdLGVrPSgpPT5bIm5vbmUiLEksSCxSXSxldz0oKT0+WyJub25lIixJLEgsUl0sZXg9KCk9PltJLEgsUl0sZXk9KCk9PltOLCJmdWxsIiwuLi5DKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbT10sYnJlYWtwb2ludDpbT10sY29sb3I6W1NdLGNvbnRhaW5lcjpbT10sImRyb3Atc2hhZG93IjpbT10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbTV0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltPXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbT10sc2hhZG93OltPXSxzcGFjaW5nOlsicHgiLEldLHRleHQ6W09dLCJ0ZXh0LXNoYWRvdyI6W09dLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixOLFIsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltJLFIsSCxzXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpHKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6RygpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOkcoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOkcoKSxzdGFydDpHKCl9XSxlbmQ6W3siaW5zZXQtZSI6RygpLGVuZDpHKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjpHKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjpHKCl9XSx0b3A6W3t0b3A6RygpfV0scmlnaHQ6W3tyaWdodDpHKCl9XSxib3R0b206W3tib3R0b206RygpfV0sbGVmdDpbe2xlZnQ6RygpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltVLCJhdXRvIixILFJdfV0sYmFzaXM6W3tiYXNpczpbTiwiZnVsbCIsImF1dG8iLHMsLi4uQygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W0ksTiwiYXV0byIsImluaXRpYWwiLCJub25lIixSXX1dLGdyb3c6W3tncm93OlsiIixJLEgsUl19XSxzaHJpbms6W3tzaHJpbms6WyIiLEksSCxSXX1dLG9yZGVyOlt7b3JkZXI6W1UsImZpcnN0IiwibGFzdCIsIm5vbmUiLEgsUl19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOlcoKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpGKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlAoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpQKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOlcoKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpGKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlAoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpQKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6VCgpfV0sImF1dG8tcm93cyI6W3siYXV0by1yb3dzIjpUKCl9XSxnYXA6W3tnYXA6QygpfV0sImdhcC14IjpbeyJnYXAteCI6QygpfV0sImdhcC15IjpbeyJnYXAteSI6QygpfV0sImp1c3RpZnktY29udGVudCI6W3tqdXN0aWZ5OlsuLi5lcigpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LWl0ZW1zIjpbeyJqdXN0aWZ5LWl0ZW1zIjpbLi4uZW8oKSwibm9ybWFsIl19XSwianVzdGlmeS1zZWxmIjpbeyJqdXN0aWZ5LXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5lcigpXX1dLCJhbGlnbi1pdGVtcyI6W3tpdGVtczpbLi4uZW8oKSx7YmFzZWxpbmU6WyIiLCJsYXN0Il19XX1dLCJhbGlnbi1zZWxmIjpbe3NlbGY6WyJhdXRvIiwuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOmVyKCl9XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbLi4uZW8oKSwiYmFzZWxpbmUiXX1dLCJwbGFjZS1zZWxmIjpbeyJwbGFjZS1zZWxmIjpbImF1dG8iLC4uLmVvKCldfV0scDpbe3A6QygpfV0scHg6W3tweDpDKCl9XSxweTpbe3B5OkMoKX1dLHBzOlt7cHM6QygpfV0scGU6W3twZTpDKCl9XSxwYnM6W3twYnM6QygpfV0scGJlOlt7cGJlOkMoKX1dLHB0Olt7cHQ6QygpfV0scHI6W3twcjpDKCl9XSxwYjpbe3BiOkMoKX1dLHBsOlt7cGw6QygpfV0sbTpbe206ZXQoKX1dLG14Olt7bXg6ZXQoKX1dLG15Olt7bXk6ZXQoKX1dLG1zOlt7bXM6ZXQoKX1dLG1lOlt7bWU6ZXQoKX1dLG1iczpbe21iczpldCgpfV0sbWJlOlt7bWJlOmV0KCl9XSxtdDpbe210OmV0KCl9XSxtcjpbe21yOmV0KCl9XSxtYjpbe21iOmV0KCl9XSxtbDpbe21sOmV0KCl9XSwic3BhY2UteCI6W3sic3BhY2UteCI6QygpfV0sInNwYWNlLXgtcmV2ZXJzZSI6WyJzcGFjZS14LXJldmVyc2UiXSwic3BhY2UteSI6W3sic3BhY2UteSI6QygpfV0sInNwYWNlLXktcmV2ZXJzZSI6WyJzcGFjZS15LXJldmVyc2UiXSxzaXplOlt7c2l6ZTplbCgpfV0sImlubGluZS1zaXplIjpbe2lubGluZTpbImF1dG8iLC4uLmVuKCldfV0sIm1pbi1pbmxpbmUtc2l6ZSI6W3sibWluLWlubGluZSI6WyJhdXRvIiwuLi5lbigpXX1dLCJtYXgtaW5saW5lLXNpemUiOlt7Im1heC1pbmxpbmUiOlsibm9uZSIsLi4uZW4oKV19XSwiYmxvY2stc2l6ZSI6W3tibG9jazpbImF1dG8iLC4uLmVhKCldfV0sIm1pbi1ibG9jay1zaXplIjpbeyJtaW4tYmxvY2siOlsiYXV0byIsLi4uZWEoKV19XSwibWF4LWJsb2NrLXNpemUiOlt7Im1heC1ibG9jayI6WyJub25lIiwuLi5lYSgpXX1dLHc6W3t3OltzLCJzY3JlZW4iLC4uLmVsKCldfV0sIm1pbi13IjpbeyJtaW4tdyI6W3MsInNjcmVlbiIsIm5vbmUiLC4uLmVsKCldfV0sIm1heC13IjpbeyJtYXgtdyI6W3MsInNjcmVlbiIsIm5vbmUiLCJwcm9zZSIse3NjcmVlbjpbYV19LC4uLmVsKCldfV0saDpbe2g6WyJzY3JlZW4iLCJsaCIsLi4uZWwoKV19XSwibWluLWgiOlt7Im1pbi1oIjpbInNjcmVlbiIsImxoIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LWgiOlt7Im1heC1oIjpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLG8sSixEXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250Olt0LGVlLEJdfV0sImZvbnQtc3RyZXRjaCI6W3siZm9udC1zdHJldGNoIjpbInVsdHJhLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWktY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaS1leHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmEtZXhwYW5kZWQiLCJ1bHRyYS1leHBhbmRlZCIsJCxSXX1dLCJmb250LWZhbWlseSI6W3tmb250OltRLEUscl19XSwiZm9udC1mZWF0dXJlcyI6W3siZm9udC1mZWF0dXJlcyI6W1JdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOltsLEgsUl19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6W0ksIm5vbmUiLEgscV19XSxsZWFkaW5nOlt7bGVhZGluZzpbbiwuLi5DKCldfV0sImxpc3QtaW1hZ2UiOlt7Imxpc3QtaW1hZ2UiOlsibm9uZSIsSCxSXX1dLCJsaXN0LXN0eWxlLXBvc2l0aW9uIjpbe2xpc3Q6WyJpbnNpZGUiLCJvdXRzaWRlIl19XSwibGlzdC1zdHlsZS10eXBlIjpbe2xpc3Q6WyJkaXNjIiwiZGVjaW1hbCIsIm5vbmUiLEgsUl19XSwidGV4dC1hbGlnbm1lbnQiOlt7dGV4dDpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImp1c3RpZnkiLCJzdGFydCIsImVuZCJdfV0sInBsYWNlaG9sZGVyLWNvbG9yIjpbe3BsYWNlaG9sZGVyOmVzKCl9XSwidGV4dC1jb2xvciI6W3t0ZXh0OmVzKCl9XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5ldSgpLCJ3YXZ5Il19XSwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyI6W3tkZWNvcmF0aW9uOltJLCJmcm9tLWZvbnQiLCJhdXRvIixILERdfV0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6W3tkZWNvcmF0aW9uOmVzKCl9XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6W0ksImF1dG8iLEgsUl19XSwidGV4dC10cmFuc2Zvcm0iOlsidXBwZXJjYXNlIiwibG93ZXJjYXNlIiwiY2FwaXRhbGl6ZSIsIm5vcm1hbC1jYXNlIl0sInRleHQtb3ZlcmZsb3ciOlsidHJ1bmNhdGUiLCJ0ZXh0LWVsbGlwc2lzIiwidGV4dC1jbGlwIl0sInRleHQtd3JhcCI6W3t0ZXh0Olsid3JhcCIsIm5vd3JhcCIsImJhbGFuY2UiLCJwcmV0dHkiXX1dLGluZGVudDpbe2luZGVudDpDKCl9XSwidmVydGljYWwtYWxpZ24iOlt7YWxpZ246WyJiYXNlbGluZSIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSIsInRleHQtdG9wIiwidGV4dC1ib3R0b20iLCJzdWIiLCJzdXBlciIsSCxSXX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0sd3JhcDpbe3dyYXA6WyJicmVhay13b3JkIiwiYW55d2hlcmUiLCJub3JtYWwiXX1dLGh5cGhlbnM6W3toeXBoZW5zOlsibm9uZSIsIm1hbnVhbCIsImF1dG8iXX1dLGNvbnRlbnQ6W3tjb250ZW50Olsibm9uZSIsSCxSXX1dLCJiZy1hdHRhY2htZW50Ijpbe2JnOlsiZml4ZWQiLCJsb2NhbCIsInNjcm9sbCJdfV0sImJnLWNsaXAiOlt7ImJnLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJ0ZXh0Il19XSwiYmctb3JpZ2luIjpbeyJiZy1vcmlnaW4iOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiXX1dLCJiZy1wb3NpdGlvbiI6W3tiZzplaSgpfV0sImJnLXJlcGVhdCI6W3tiZzplYygpfV0sImJnLXNpemUiOlt7Ymc6ZWQoKX1dLCJiZy1pbWFnZSI6W3tiZzpbIm5vbmUiLHtsaW5lYXI6W3t0bzpbInQiLCJ0ciIsInIiLCJiciIsImIiLCJibCIsImwiLCJ0bCJdfSxVLEgsUl0scmFkaWFsOlsiIixILFJdLGNvbmljOltVLEgsUl19LFksX119XSwiYmctY29sb3IiOlt7Ymc6ZXMoKX1dLCJncmFkaWVudC1mcm9tLXBvcyI6W3tmcm9tOmVtKCl9XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6ZW0oKX1dLCJncmFkaWVudC10by1wb3MiOlt7dG86ZW0oKX1dLCJncmFkaWVudC1mcm9tIjpbe2Zyb206ZXMoKX1dLCJncmFkaWVudC12aWEiOlt7dmlhOmVzKCl9XSwiZ3JhZGllbnQtdG8iOlt7dG86ZXMoKX1dLHJvdW5kZWQ6W3tyb3VuZGVkOmVwKCl9XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOmVwKCl9XSwicm91bmRlZC1lIjpbeyJyb3VuZGVkLWUiOmVwKCl9XSwicm91bmRlZC10IjpbeyJyb3VuZGVkLXQiOmVwKCl9XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOmVwKCl9XSwicm91bmRlZC1iIjpbeyJyb3VuZGVkLWIiOmVwKCl9XSwicm91bmRlZC1sIjpbeyJyb3VuZGVkLWwiOmVwKCl9XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6ZXAoKX1dLCJyb3VuZGVkLXNlIjpbeyJyb3VuZGVkLXNlIjplcCgpfV0sInJvdW5kZWQtZWUiOlt7InJvdW5kZWQtZWUiOmVwKCl9XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6ZXAoKX1dLCJyb3VuZGVkLXRsIjpbeyJyb3VuZGVkLXRsIjplcCgpfV0sInJvdW5kZWQtdHIiOlt7InJvdW5kZWQtdHIiOmVwKCl9XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6ZXAoKX1dLCJyb3VuZGVkLWJsIjpbeyJyb3VuZGVkLWJsIjplcCgpfV0sImJvcmRlci13Ijpbe2JvcmRlcjplYigpfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjplYigpfV0sImJvcmRlci13LXkiOlt7ImJvcmRlci15IjplYigpfV0sImJvcmRlci13LXMiOlt7ImJvcmRlci1zIjplYigpfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjplYigpfV0sImJvcmRlci13LWJzIjpbeyJib3JkZXItYnMiOmViKCl9XSwiYm9yZGVyLXctYmUiOlt7ImJvcmRlci1iZSI6ZWIoKX1dLCJib3JkZXItdy10IjpbeyJib3JkZXItdCI6ZWIoKX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6ZWIoKX1dLCJib3JkZXItdy1iIjpbeyJib3JkZXItYiI6ZWIoKX1dLCJib3JkZXItdy1sIjpbeyJib3JkZXItbCI6ZWIoKX1dLCJkaXZpZGUteCI6W3siZGl2aWRlLXgiOmViKCl9XSwiZGl2aWRlLXgtcmV2ZXJzZSI6WyJkaXZpZGUteC1yZXZlcnNlIl0sImRpdmlkZS15IjpbeyJkaXZpZGUteSI6ZWIoKX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiYm9yZGVyLXN0eWxlIjpbe2JvcmRlcjpbLi4uZXUoKSwiaGlkZGVuIiwibm9uZSJdfV0sImRpdmlkZS1zdHlsZSI6W3tkaXZpZGU6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJib3JkZXItY29sb3IiOlt7Ym9yZGVyOmVzKCl9XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjplcygpfV0sImJvcmRlci1jb2xvci15IjpbeyJib3JkZXIteSI6ZXMoKX1dLCJib3JkZXItY29sb3ItcyI6W3siYm9yZGVyLXMiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjplcygpfV0sImJvcmRlci1jb2xvci1icyI6W3siYm9yZGVyLWJzIjplcygpfV0sImJvcmRlci1jb2xvci1iZSI6W3siYm9yZGVyLWJlIjplcygpfV0sImJvcmRlci1jb2xvci10IjpbeyJib3JkZXItdCI6ZXMoKX1dLCJib3JkZXItY29sb3ItciI6W3siYm9yZGVyLXIiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjplcygpfV0sImJvcmRlci1jb2xvci1sIjpbeyJib3JkZXItbCI6ZXMoKX1dLCJkaXZpZGUtY29sb3IiOlt7ZGl2aWRlOmVzKCl9XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsuLi5ldSgpLCJub25lIiwiaGlkZGVuIl19XSwib3V0bGluZS1vZmZzZXQiOlt7Im91dGxpbmUtb2Zmc2V0IjpbSSxILFJdfV0sIm91dGxpbmUtdyI6W3tvdXRsaW5lOlsiIixJLEosRF19XSwib3V0bGluZS1jb2xvciI6W3tvdXRsaW5lOmVzKCl9XSxzaGFkb3c6W3tzaGFkb3c6WyIiLCJub25lIixkLFosTF19XSwic2hhZG93LWNvbG9yIjpbe3NoYWRvdzplcygpfV0sImluc2V0LXNoYWRvdyI6W3siaW5zZXQtc2hhZG93IjpbIm5vbmUiLG0sWixMXX1dLCJpbnNldC1zaGFkb3ctY29sb3IiOlt7Imluc2V0LXNoYWRvdyI6ZXMoKX1dLCJyaW5nLXciOlt7cmluZzplYigpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzplcygpfV0sInJpbmctb2Zmc2V0LXciOlt7InJpbmctb2Zmc2V0IjpbSSxEXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOmVzKCl9XSwiaW5zZXQtcmluZy13IjpbeyJpbnNldC1yaW5nIjplYigpfV0sImluc2V0LXJpbmctY29sb3IiOlt7Imluc2V0LXJpbmciOmVzKCl9XSwidGV4dC1zaGFkb3ciOlt7InRleHQtc2hhZG93IjpbIm5vbmUiLHAsWixMXX1dLCJ0ZXh0LXNoYWRvdy1jb2xvciI6W3sidGV4dC1zaGFkb3ciOmVzKCl9XSxvcGFjaXR5Olt7b3BhY2l0eTpbSSxILFJdfV0sIm1peC1ibGVuZCI6W3sibWl4LWJsZW5kIjpbLi4uZWYoKSwicGx1cy1kYXJrZXIiLCJwbHVzLWxpZ2h0ZXIiXX1dLCJiZy1ibGVuZCI6W3siYmctYmxlbmQiOmVmKCl9XSwibWFzay1jbGlwIjpbeyJtYXNrLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJmaWxsIiwic3Ryb2tlIiwidmlldyJdfSwibWFzay1uby1jbGlwIl0sIm1hc2stY29tcG9zaXRlIjpbe21hc2s6WyJhZGQiLCJzdWJ0cmFjdCIsImludGVyc2VjdCIsImV4Y2x1ZGUiXX1dLCJtYXNrLWltYWdlLWxpbmVhci1wb3MiOlt7Im1hc2stbGluZWFyIjpbSV19XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MiOlt7Im1hc2stbGluZWFyLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItdG8tcG9zIjpbeyJtYXNrLWxpbmVhci10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yIjpbeyJtYXNrLWxpbmVhci10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1wb3MiOlt7Im1hc2stdC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtdC10by1wb3MiOlt7Im1hc2stdC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1jb2xvciI6W3sibWFzay10LWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS10LXRvLWNvbG9yIjpbeyJtYXNrLXQtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yLWZyb20tcG9zIjpbeyJtYXNrLXItZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXItdG8tcG9zIjpbeyJtYXNrLXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yLWZyb20tY29sb3IiOlt7Im1hc2stci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2Utci10by1jb2xvciI6W3sibWFzay1yLXRvIjplcygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLXBvcyI6W3sibWFzay1iLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1iLXRvLXBvcyI6W3sibWFzay1iLXRvIjplZygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLWNvbG9yIjpbeyJtYXNrLWItZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLWItdG8tY29sb3IiOlt7Im1hc2stYi10byI6ZXMoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1wb3MiOlt7Im1hc2stbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbC10by1wb3MiOlt7Im1hc2stbC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1jb2xvciI6W3sibWFzay1sLWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS1sLXRvLWNvbG9yIjpbeyJtYXNrLWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS14LWZyb20tcG9zIjpbeyJtYXNrLXgtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXgtdG8tcG9zIjpbeyJtYXNrLXgtdG8iOmVnKCl9XSwibWFzay1pbWFnZS14LWZyb20tY29sb3IiOlt7Im1hc2steC1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UteC10by1jb2xvciI6W3sibWFzay14LXRvIjplcygpfV0sIm1hc2staW1hZ2UteS1mcm9tLXBvcyI6W3sibWFzay15LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS15LXRvLXBvcyI6W3sibWFzay15LXRvIjplZygpfV0sIm1hc2staW1hZ2UteS1mcm9tLWNvbG9yIjpbeyJtYXNrLXktZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXktdG8tY29sb3IiOlt7Im1hc2steS10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbCI6W3sibWFzay1yYWRpYWwiOltILFJdfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tcG9zIjpbeyJtYXNrLXJhZGlhbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXRvLXBvcyI6W3sibWFzay1yYWRpYWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtZnJvbS1jb2xvciI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1jb2xvciI6W3sibWFzay1yYWRpYWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtc2hhcGUiOlt7Im1hc2stcmFkaWFsIjpbImNpcmNsZSIsImVsbGlwc2UiXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1zaXplIjpbeyJtYXNrLXJhZGlhbCI6W3tjbG9zZXN0Olsic2lkZSIsImNvcm5lciJdLGZhcnRoZXN0Olsic2lkZSIsImNvcm5lciJdfV19XSwibWFzay1pbWFnZS1yYWRpYWwtcG9zIjpbeyJtYXNrLXJhZGlhbC1hdCI6eSgpfV0sIm1hc2staW1hZ2UtY29uaWMtcG9zIjpbeyJtYXNrLWNvbmljIjpbSV19XSwibWFzay1pbWFnZS1jb25pYy1mcm9tLXBvcyI6W3sibWFzay1jb25pYy1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tcG9zIjpbeyJtYXNrLWNvbmljLXRvIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1jb2xvciI6W3sibWFzay1jb25pYy1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tY29sb3IiOlt7Im1hc2stY29uaWMtdG8iOmVzKCl9XSwibWFzay1tb2RlIjpbe21hc2s6WyJhbHBoYSIsImx1bWluYW5jZSIsIm1hdGNoIl19XSwibWFzay1vcmlnaW4iOlt7Im1hc2stb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX1dLCJtYXNrLXBvc2l0aW9uIjpbe21hc2s6ZWkoKX1dLCJtYXNrLXJlcGVhdCI6W3ttYXNrOmVjKCl9XSwibWFzay1zaXplIjpbe21hc2s6ZWQoKX1dLCJtYXNrLXR5cGUiOlt7Im1hc2stdHlwZSI6WyJhbHBoYSIsImx1bWluYW5jZSJdfV0sIm1hc2staW1hZ2UiOlt7bWFzazpbIm5vbmUiLEgsUl19XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIixILFJdfV0sYmx1cjpbe2JsdXI6ZWgoKX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltJLEgsUl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltJLEgsUl19XSwiZHJvcC1zaGFkb3ciOlt7ImRyb3Atc2hhZG93IjpbIiIsIm5vbmUiLGIsWixMXX1dLCJkcm9wLXNoYWRvdy1jb2xvciI6W3siZHJvcC1zaGFkb3ciOmVzKCl9XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6WyIiLEksSCxSXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbSSxILFJdfV0saW52ZXJ0Olt7aW52ZXJ0OlsiIixJLEgsUl19XSxzYXR1cmF0ZTpbe3NhdHVyYXRlOltJLEgsUl19XSxzZXBpYTpbe3NlcGlhOlsiIixJLEgsUl19XSwiYmFja2Ryb3AtZmlsdGVyIjpbeyJiYWNrZHJvcC1maWx0ZXIiOlsiIiwibm9uZSIsSCxSXX1dLCJiYWNrZHJvcC1ibHVyIjpbeyJiYWNrZHJvcC1ibHVyIjplaCgpfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltJLEgsUl19XSwiYmFja2Ryb3AtY29udHJhc3QiOlt7ImJhY2tkcm9wLWNvbnRyYXN0IjpbSSxILFJdfV0sImJhY2tkcm9wLWdyYXlzY2FsZSI6W3siYmFja2Ryb3AtZ3JheXNjYWxlIjpbIiIsSSxILFJdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOltJLEgsUl19XSwiYmFja2Ryb3AtaW52ZXJ0IjpbeyJiYWNrZHJvcC1pbnZlcnQiOlsiIixJLEgsUl19XSwiYmFja2Ryb3Atb3BhY2l0eSI6W3siYmFja2Ryb3Atb3BhY2l0eSI6W0ksSCxSXX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOltJLEgsUl19XSwiYmFja2Ryb3Atc2VwaWEiOlt7ImJhY2tkcm9wLXNlcGlhIjpbIiIsSSxILFJdfV0sImJvcmRlci1jb2xsYXBzZSI6W3tib3JkZXI6WyJjb2xsYXBzZSIsInNlcGFyYXRlIl19XSwiYm9yZGVyLXNwYWNpbmciOlt7ImJvcmRlci1zcGFjaW5nIjpDKCl9XSwiYm9yZGVyLXNwYWNpbmcteCI6W3siYm9yZGVyLXNwYWNpbmcteCI6QygpfV0sImJvcmRlci1zcGFjaW5nLXkiOlt7ImJvcmRlci1zcGFjaW5nLXkiOkMoKX1dLCJ0YWJsZS1sYXlvdXQiOlt7dGFibGU6WyJhdXRvIiwiZml4ZWQiXX1dLGNhcHRpb246W3tjYXB0aW9uOlsidG9wIiwiYm90dG9tIl19XSx0cmFuc2l0aW9uOlt7dHJhbnNpdGlvbjpbIiIsImFsbCIsImNvbG9ycyIsIm9wYWNpdHkiLCJzaGFkb3ciLCJ0cmFuc2Zvcm0iLCJub25lIixILFJdfV0sInRyYW5zaXRpb24tYmVoYXZpb3IiOlt7dHJhbnNpdGlvbjpbIm5vcm1hbCIsImRpc2NyZXRlIl19XSxkdXJhdGlvbjpbe2R1cmF0aW9uOltJLCJpbml0aWFsIixILFJdfV0sZWFzZTpbe2Vhc2U6WyJsaW5lYXIiLCJpbml0aWFsIixoLEgsUl19XSxkZWxheTpbe2RlbGF5OltJLEgsUl19XSxhbmltYXRlOlt7YW5pbWF0ZTpbIm5vbmUiLHcsSCxSXX1dLGJhY2tmYWNlOlt7YmFja2ZhY2U6WyJoaWRkZW4iLCJ2aXNpYmxlIl19XSxwZXJzcGVjdGl2ZTpbe3BlcnNwZWN0aXZlOltmLEgsUl19XSwicGVyc3BlY3RpdmUtb3JpZ2luIjpbeyJwZXJzcGVjdGl2ZS1vcmlnaW4iOnYoKX1dLHJvdGF0ZTpbe3JvdGF0ZTplaygpfV0sInJvdGF0ZS14IjpbeyJyb3RhdGUteCI6ZWsoKX1dLCJyb3RhdGUteSI6W3sicm90YXRlLXkiOmVrKCl9XSwicm90YXRlLXoiOlt7InJvdGF0ZS16IjplaygpfV0sc2NhbGU6W3tzY2FsZTpldygpfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOmV3KCl9XSwic2NhbGUteSI6W3sic2NhbGUteSI6ZXcoKX1dLCJzY2FsZS16IjpbeyJzY2FsZS16IjpldygpfV0sInNjYWxlLTNkIjpbInNjYWxlLTNkIl0sc2tldzpbe3NrZXc6ZXgoKX1dLCJza2V3LXgiOlt7InNrZXcteCI6ZXgoKX1dLCJza2V3LXkiOlt7InNrZXcteSI6ZXgoKX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbSCxSLCIiLCJub25lIiwiZ3B1IiwiY3B1Il19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46digpfV0sInRyYW5zZm9ybS1zdHlsZSI6W3t0cmFuc2Zvcm06WyIzZCIsImZsYXQiXX1dLHRyYW5zbGF0ZTpbe3RyYW5zbGF0ZTpleSgpfV0sInRyYW5zbGF0ZS14IjpbeyJ0cmFuc2xhdGUteCI6ZXkoKX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOmV5KCl9XSwidHJhbnNsYXRlLXoiOlt7InRyYW5zbGF0ZS16IjpleSgpfV0sInRyYW5zbGF0ZS1ub25lIjpbInRyYW5zbGF0ZS1ub25lIl0sYWNjZW50Olt7YWNjZW50OmVzKCl9XSxhcHBlYXJhbmNlOlt7YXBwZWFyYW5jZTpbIm5vbmUiLCJhdXRvIl19XSwiY2FyZXQtY29sb3IiOlt7Y2FyZXQ6ZXMoKX1dLCJjb2xvci1zY2hlbWUiOlt7c2NoZW1lOlsibm9ybWFsIiwiZGFyayIsImxpZ2h0IiwibGlnaHQtZGFyayIsIm9ubHktZGFyayIsIm9ubHktbGlnaHQiXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsSCxSXX1dLCJmaWVsZC1zaXppbmciOlt7ImZpZWxkLXNpemluZyI6WyJmaXhlZCIsImNvbnRlbnQiXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsiYXV0byIsIm5vbmUiXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCIiLCJ5IiwieCJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpDKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkMoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6QygpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpDKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkMoKX1dLCJzY3JvbGwtbWJzIjpbeyJzY3JvbGwtbWJzIjpDKCl9XSwic2Nyb2xsLW1iZSI6W3sic2Nyb2xsLW1iZSI6QygpfV0sInNjcm9sbC1tdCI6W3sic2Nyb2xsLW10IjpDKCl9XSwic2Nyb2xsLW1yIjpbeyJzY3JvbGwtbXIiOkMoKX1dLCJzY3JvbGwtbWIiOlt7InNjcm9sbC1tYiI6QygpfV0sInNjcm9sbC1tbCI6W3sic2Nyb2xsLW1sIjpDKCl9XSwic2Nyb2xsLXAiOlt7InNjcm9sbC1wIjpDKCl9XSwic2Nyb2xsLXB4IjpbeyJzY3JvbGwtcHgiOkMoKX1dLCJzY3JvbGwtcHkiOlt7InNjcm9sbC1weSI6QygpfV0sInNjcm9sbC1wcyI6W3sic2Nyb2xsLXBzIjpDKCl9XSwic2Nyb2xsLXBlIjpbeyJzY3JvbGwtcGUiOkMoKX1dLCJzY3JvbGwtcGJzIjpbeyJzY3JvbGwtcGJzIjpDKCl9XSwic2Nyb2xsLXBiZSI6W3sic2Nyb2xsLXBiZSI6QygpfV0sInNjcm9sbC1wdCI6W3sic2Nyb2xsLXB0IjpDKCl9XSwic2Nyb2xsLXByIjpbeyJzY3JvbGwtcHIiOkMoKX1dLCJzY3JvbGwtcGIiOlt7InNjcm9sbC1wYiI6QygpfV0sInNjcm9sbC1wbCI6W3sic2Nyb2xsLXBsIjpDKCl9XSwic25hcC1hbGlnbiI6W3tzbmFwOlsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJhbGlnbi1ub25lIl19XSwic25hcC1zdG9wIjpbe3NuYXA6WyJub3JtYWwiLCJhbHdheXMiXX1dLCJzbmFwLXR5cGUiOlt7c25hcDpbIm5vbmUiLCJ4IiwieSIsImJvdGgiXX1dLCJzbmFwLXN0cmljdG5lc3MiOlt7c25hcDpbIm1hbmRhdG9yeSIsInByb3hpbWl0eSJdfV0sdG91Y2g6W3t0b3VjaDpbImF1dG8iLCJub25lIiwibWFuaXB1bGF0aW9uIl19XSwidG91Y2gteCI6W3sidG91Y2gtcGFuIjpbIngiLCJsZWZ0IiwicmlnaHQiXX1dLCJ0b3VjaC15IjpbeyJ0b3VjaC1wYW4iOlsieSIsInVwIiwiZG93biJdfV0sInRvdWNoLXB6IjpbInRvdWNoLXBpbmNoLXpvb20iXSxzZWxlY3Q6W3tzZWxlY3Q6WyJub25lIiwidGV4dCIsImFsbCIsImF1dG8iXX1dLCJ3aWxsLWNoYW5nZSI6W3sid2lsbC1jaGFuZ2UiOlsiYXV0byIsInNjcm9sbCIsImNvbnRlbnRzIiwidHJhbnNmb3JtIixILFJdfV0sZmlsbDpbe2ZpbGw6WyJub25lIiwuLi5lcygpXX1dLCJzdHJva2UtdyI6W3tzdHJva2U6W0ksSixELHFdfV0sc3Ryb2tlOlt7c3Ryb2tlOlsibm9uZSIsLi4uZXMoKV19XSwiZm9yY2VkLWNvbG9yLWFkanVzdCI6W3siZm9yY2VkLWNvbG9yLWFkanVzdCI6WyJhdXRvIiwibm9uZSJdfV19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6e292ZXJmbG93Olsib3ZlcmZsb3cteCIsIm92ZXJmbG93LXkiXSxvdmVyc2Nyb2xsOlsib3ZlcnNjcm9sbC14Iiwib3ZlcnNjcm9sbC15Il0saW5zZXQ6WyJpbnNldC14IiwiaW5zZXQteSIsImluc2V0LWJzIiwiaW5zZXQtYmUiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicGJzIiwicGJlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtYnMiLCJtYmUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy14IiwiYm9yZGVyLXcteSIsImJvcmRlci13LXMiLCJib3JkZXItdy1lIiwiYm9yZGVyLXctYnMiLCJib3JkZXItdy1iZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3IteCIsImJvcmRlci1jb2xvci15IiwiYm9yZGVyLWNvbG9yLXMiLCJib3JkZXItY29sb3ItZSIsImJvcmRlci1jb2xvci1icyIsImJvcmRlci1jb2xvci1iZSIsImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItYiIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci14IjpbImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXkiOlsiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItYiJdLHRyYW5zbGF0ZTpbInRyYW5zbGF0ZS14IiwidHJhbnNsYXRlLXkiLCJ0cmFuc2xhdGUtbm9uZSJdLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLXoiXSwic2Nyb2xsLW0iOlsic2Nyb2xsLW14Iiwic2Nyb2xsLW15Iiwic2Nyb2xsLW1zIiwic2Nyb2xsLW1lIiwic2Nyb2xsLW1icyIsInNjcm9sbC1tYmUiLCJzY3JvbGwtbXQiLCJzY3JvbGwtbXIiLCJzY3JvbGwtbWIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW14IjpbInNjcm9sbC1tciIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXkiOlsic2Nyb2xsLW10Iiwic2Nyb2xsLW1iIl0sInNjcm9sbC1wIjpbInNjcm9sbC1weCIsInNjcm9sbC1weSIsInNjcm9sbC1wcyIsInNjcm9sbC1wZSIsInNjcm9sbC1wYnMiLCJzY3JvbGwtcGJlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX0sb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6WyIqIiwiKioiLCJhZnRlciIsImJhY2tkcm9wIiwiYmVmb3JlIiwiZGV0YWlscy1jb250ZW50IiwiZmlsZSIsImZpcnN0LWxldHRlciIsImZpcnN0LWxpbmUiLCJtYXJrZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGlvbiJdfX0pO2Z1bmN0aW9uIGVwKC4uLmUpe3JldHVybiBlbShyKGUpKX1mdW5jdGlvbiBlYihlLHIpe3JldHVybmAvY29pbi8ke2UudG9VcHBlckNhc2UoKX0vJHtlbmNvZGVVUklDb21wb25lbnQoci50cmltKCkucmVwbGFjZSgvXHMrL2csIi0iKSl9YH1sZXQgZXU9bmV3IFNldChbImNvaW5saWIuaW8iLCJ3d3cuY29pbmxpYi5pbyIsImNvaW5saWIudmVyY2VsLmFwcCJdKTtmdW5jdGlvbiBlZihlKXtpZighZXx8ZS5zdGFydHNXaXRoKCIvIil8fGUuc3RhcnRzV2l0aCgiIyIpKXJldHVybiExO2lmKC9eKG1haWx0b3x0ZWwpOi9pLnRlc3QoZSkpcmV0dXJuITA7dHJ5e2xldCByPW5ldyBVUkwoZSk7cmV0dXJuIWV1LmhhcyhyLmhvc3RuYW1lKX1jYXRjaHtyZXR1cm4hMX19bGV0IGVnPW5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtub3RhdGlvbjoiY29tcGFjdCIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTtmdW5jdGlvbiBlaChlKXtyZXR1cm4gZWcuZm9ybWF0KGUpfWZ1bmN0aW9uIGVrKGUscj0idXNkIil7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnIudG9VcHBlckNhc2UoKSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZTwxPzY6ZTwxMDA/NDoyfSkuZm9ybWF0KGUpfWZ1bmN0aW9uIGV3KGUpe3JldHVybmAke2U+PTA/IisiOiIifSR7ZS50b0ZpeGVkKDIpfSVgfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLVVTIikuZm9ybWF0KGUpfWUucyhbImNuIiwoKT0+ZXAsImNvaW5VcmwiLCgpPT5lYiwiZm9ybWF0Q29tcGFjdCIsKCk9PmVoLCJmb3JtYXROdW1iZXIiLCgpPT5leCwiZm9ybWF0UGVyY2VudGFnZSIsKCk9PmV3LCJmb3JtYXRQcmljZSIsKCk9PmVrLCJpc0V4dGVybmFsVXJsIiwoKT0+ZWZdLDc1MTU3KX1dKTs="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/11461.e27cb4ecf30492ac11f6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.188Z","timestamp":1785136429188,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/11461.e27cb4ecf30492ac11f6.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d22\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 375a4ded7b22d4b0683fd0431cd6bed2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3362,"size_decoded":1718,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3362), with no line terminators","md5":"d57b002e0b956f52c9bfada971230444","sha1":"06594be9b9b68921b0e108591a901858ebc1f8b1","sha256":"f1b83b2356d69c4ca5f06d45aa89ed7abedeeb54bec8ab856702bdadaf099259","sha512":"14fd023c81be241ae68a71bfac23b1be63eb4f5893a2728775eac03ad277734fd2762138ef44afc0769cd939d74c34eb7e2af50b51ee6680e2c6f678aaae7892","ssdeep":"","tlshash":"3c613e72c50424b536ffe8d68e928f47191c6463ea03264fa6217e2859c7ffe04e21a7","first_seen":"2026-07-16T13:40:49.805257Z","last_seen":"2026-08-06T21:59:14.605638Z","times_seen":347,"resource_available":false,"data":"LmJvZHlOb1Njcm9sbC1mT0lSS0F0SHttYXJnaW4tcmlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgpO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246bm9uZX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuYm9keU5vU2Nyb2xsLWZPSVJLQXRIe3Njcm9sbGJhci13aWR0aDpub25lfX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRILnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LmJvZHlOb1Njcm9sbC1mT0lSS0F0SDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0RntoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdmVyZmxvdzpzY3JvbGw7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsVHJhcC1MbjBBSVc0RntzY3JvbGxiYXItd2lkdGg6bm9uZX19LnNjcm9sbFRyYXAtTG4wQUlXNEYuc2Itc2Nyb2xsYmFyLXdyYXB7ZGlzcGxheTpub25lfS5zY3JvbGxUcmFwLUxuMEFJVzRGOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnNjcm9sbFRyYXAtTG4wQUlXNEY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcENvbnRlbnQtTG4wQUlXNEZ7aGVpZ2h0OmNhbGMoMTAwJSArIDEwMDAwcHgpO3dpZHRoOmNhbGMoMTAwJSArIDEwMDAwcHgpfS5zdHViLUl1aE9qb3VZe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO2JvdHRvbTowO2hlaWdodDo0cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZH0uY29udGVudC1hZjBMQ2d5NXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOm5vbmU7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnJ9LnN0cmV0Y2gtYWYwTENneTV7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYmVnaW4tYWYwTENneTV7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmVuZC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtZW5kOjB9LmJlZ2luLWFmMExDZ3k1LC5lbmQtYWYwTENneTV7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMDBweCk7dG9wOjB9LnRvcC1hZjBMQ2d5NXt0b3A6MH0uYm90dG9tLWFmMExDZ3k1e2JvdHRvbTowfS5ib3R0b20tYWYwTENneTUsLnRvcC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtc3RhcnQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDEwMHB4KTt3aWR0aDoxMDAlfUBzdXBwb3J0cyAoaGVpZ2h0OjEwMGR2aCl7LmJvdHRvbS1hZjBMQ2d5NSwudG9wLWFmMExDZ3k1e21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSAxMDBweCl9fS5iYWNrZHJvcC1hZjBMQ2d5NXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lfS5tb2JpbGVDb250ZXh0LVZ4bjRMaFlMe2Rpc3BsYXk6Y29udGVudHM7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyOjA7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNNb2JpbGVQb3NpdGlvbmVyOjF9LmFuY2hvckNvbnRleHQtVnhuNExoWUx7ZGlzcGxheTpjb250ZW50czstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc0FuY2hvclBvc2l0aW9uZXI6MTstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc01vYmlsZVBvc2l0aW9uZXI6MH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDEwcHggMTBweCAwfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguZW5kLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAwIDAgMTBweH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YLmVuZC1nOFJvaGdOWDpkaXIocnRsKXtib3JkZXItcmFkaXVzOjAgMTBweCAxMHB4IDB9LmNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZS1nOFJvaGdOWC50b3AtZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYm90dG9tLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO292ZXJmbG93OmhpZGRlbn0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YOmRpcihydGwpe2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDEwcHggMTBweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52680.8efa6b4d998186f39cba.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.275Z","timestamp":1785136429275,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52680.8efa6b4d998186f39cba.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ae3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5bd361ba84687a561a2f0ff0a16702c8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2787,"size_decoded":1442,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2787), with no line terminators","md5":"b0b40767c8085628e53f188cb8827433","sha1":"dd4305af40e8132a6ffbe7ffa526b4443a209c2e","sha256":"e9b4d54c12d552fc8335e6ed145a9e61a5ae4a6b1415893daabfe8fde06952f3","sha512":"ca04e58582ad20de833d414362fea6b8f410a60267f11aa0863ce5c5b9952c123fd9d0bd2045651309ee607e9e956bbe87f419fbfb8c0b662c0772c6e36c0560","ssdeep":"","tlshash":"2b51ce84b24094bb7bb3f5798268b1ce6b249c3dddf23fc7b4aad14548d27e20194d25","first_seen":"2026-07-17T14:15:58.299653Z","last_seen":"2026-08-04T19:37:52.81208Z","times_seen":200,"resource_available":false,"data":"Lmljb25CdXR0b24tSEREVVlPQkl7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1c3tvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbkJ1dHRvbi1IRERVWU9CSTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25CdXR0b24tSEREVVlPQkk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25CdXR0b24tSEREVVlPQkk6YmVmb3Jle2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uc3F1YXJlLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6NHB4fS5zcXVhcmUtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo4cHh9LnJvdW5kLUhERFVZT0JJe2JvcmRlci1yYWRpdXM6MTJweH0ucm91bmQtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxNnB4fS5wcmltYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmltYXJ5LUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSl9LnByaW1hcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5wcmltYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5zZWNvbmRhcnktSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS5zZWNvbmRhcnktSEREVVlPQkk6aG92ZXIgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSl9fS5zZWNvbmRhcnktSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LnRlcnRpYXJ5LUhERFVZT0JJOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCkpfS50ZXJ0aWFyeS1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX19LnRlcnRpYXJ5LUhERFVZT0JJIC5pY29uLUhERFVZT0JJe2NvbG9yOnZhcigtLXVpLWxpYi1pY29uQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCkpfS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkk6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWljb25CdXR0b24tYmFja2dyb3VuZC1jb2xvci1ob3Zlcix2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKSl9LnByaW1hcnktc3BlY2lhbC1IRERVWU9CSTpob3ZlciAuaWNvbi1IRERVWU9CSXtjb2xvcjp2YXIoLS11aS1saWItaWNvbkJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5wcmltYXJ5LXNwZWNpYWwtSEREVVlPQkkgLmljb24tSEREVVlPQkl7Y29sb3I6dmFyKC0tdWktbGliLWljb25CdXR0b24taWNvbi1jb2xvci1kZWZhdWx0LHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/53627.115195b72f2d92cecb9b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.741Z","timestamp":1785136427741,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/53627.115195b72f2d92cecb9b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-3f9d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2d78ced5b1123ef0b78751f0cdd76cb0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16285,"size_decoded":6932,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3065)","md5":"83531bbbf4576c6e43672349a06b72b5","sha1":"139a361b632189e32c0dd137dfe2b2ed8e655fb5","sha256":"b661a00c1330d2de36b4e45530101c4718696a241c819c26e3676498ac5c95b8","sha512":"029891e11ed6d6c2beb544a4f09ba8d6ab21b208d9fb4ca7c20fa27c5b26386da421b9e8aefc6ee8eb01ee4e4d827ed115989275498a0a2fbf4ed847368cb3fd","ssdeep":"384:pXcabhDdLcMCAL5XlK525HvbEMSgjqfJXJ1YJjB4wrHfw/KN:pXZbhDxDCAL5Xl15DpMJXJ1YJjB4wrHx","tlshash":"b472d84d7201b46d56af76a61c3b164ae1326428358904bcb4e0f4f94879e8fb93bf37","first_seen":"2026-07-23T13:54:09.098812Z","last_seen":"2026-07-28T06:17:53.347331Z","times_seen":308,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MzYyN10sezgyOTE4MChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KTt2YXIgaT1vKDYwMTg0MSk7Y29uc3QgYT0veyhcdyspfS9nLG49L3soXGQrKX0vZztTdHJpbmcucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbiguLi5lKXtjb25zdCB0PSgwLGkuaXNPYmplY3QpKGVbMF0pLG89dD9hOm4scj10Pyh0LG8pPT57Y29uc3QgaT1lWzBdO3JldHVybiB2b2lkIDAhPT1pW29dP2lbb106dH06KHQsbyk9Pntjb25zdCBpPXBhcnNlSW50KG8sMTApLGE9ZVtpXTtyZXR1cm4gdm9pZCAwIT09YT9hOnR9O3JldHVybiB0aGlzLnJlcGxhY2UobyxyKX19LDE4NTI3MShlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7dDooKT0+aS50LHdpdGhUcmFuc2xhdGlvbkNvbnRleHQ6KCk9PmF9KTtvKDgyOTE4MCk7dmFyIGk9byg3ODMyNTQpO2Z1bmN0aW9uIGEoZSl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19LDQ2NzE1OCgpe3RyeXshZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3ZhciB0LG8saT1lLmRvY3VtZW50LGE9ZS5JbWFnZSxuPWUuZ2xvYmFsU3RvcmFnZSxyPWUuc3dmb2JqZWN0O3RyeXt2YXIgYz1lLmxvY2FsU3RvcmFnZX1jYXRjaChlKXt9dHJ5e3ZhciBzPWUuc2Vzc2lvblN0b3JhZ2V9Y2F0Y2goZSl7fXZhciBkPXtoaXN0b3J5OiExLGphdmE6ITEsdGVzdHM6MTAsYmFzZXVybDoiIixsc286ITAsc2lsdmVybGlnaHQ6ITEsZG9tYWluOiIiLGF1dGhQYXRoOiExLHBuZ0Nvb2tpZU5hbWU6InBuZyIscG5nUGF0aDoiL2VjL3BuZyIsZXRhZ0Nvb2tpZU5hbWU6ImV0ZyIsZXRhZ1BhdGg6Ii9lYy9ldGFnIixjYWNoZUNvb2tpZU5hbWU6ImNhY2hlYyIsY2FjaGVQYXRoOiIvZWMvY2FjaGUiLHN0YXRpY3VybDoiL3N0YXRpYy9pbWFnZXMvIn0saD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iO2UuX2V2ZXJjb29raWVfZmxhc2hfdmFyPWZ1bmN0aW9uKGUpe3Q9ZTt2YXIgbz1pLmdldEVsZW1lbnRCeUlkKCJteXN3ZiIpO28mJm8ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfSxlLmV2ZXJjb29raWU9ZS5FdmVyY29va2llPWZ1bmN0aW9uKHUpe3U9dXx8e307dmFyIGw9e307Zm9yKHZhciBmIGluIGQpe3ZhciB2PXVbZl07bFtmXT12b2lkIDAhPT12P3Y6ZFtmXX0iZnVuY3Rpb24iPT10eXBlb2YgbC5kb21haW4mJihsLmRvbWFpbj1sLmRvbWFpbihlKSk7dmFyIHA9bC5oaXN0b3J5LGc9bC5qYXZhLG09bC50ZXN0cyxfPWwuYmFzZXVybCxrPWwuc3RhdGljdXJsLHk9bC5kb21haW4sQz10aGlzO3RoaXMuX2VjPXt9LHRoaXMuZ2V0PWZ1bmN0aW9uKGUsdCxvKXtDLl9ldmVyY29va2llKGUsdCx2b2lkIDAsdm9pZCAwLG8pfSx0aGlzLnNldD1mdW5jdGlvbihlLHQpe0MuX2V2ZXJjb29raWUoZSwoZnVuY3Rpb24oKXt9KSx0KX0sdGhpcy5fZXZlcmNvb2tpZT1mdW5jdGlvbihhLG4scixjLHMpe2lmKHZvaWQgMD09PUMuX2V2ZXJjb29raWUmJihDPXRoaXMpLHZvaWQgMD09PWMmJihjPTApLDA9PT1jJiYoQy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2UoYSxyKSxDLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlKGEsciksQy5ldmVyY29va2llX3BuZyhhLHIpLEMuZXZlcmNvb2tpZV9ldGFnKGEsciksQy5ldmVyY29va2llX2NhY2hlKGEsciksbC5sc28mJkMuZXZlcmNvb2tpZV9sc28oYSxyKSxsLnNpbHZlcmxpZ2h0JiZDLmV2ZXJjb29raWVfc2lsdmVybGlnaHQoYSxyKSxsLmF1dGhQYXRoJiZDLmV2ZXJjb29raWVfYXV0aChhLHIpLGcmJkMuZXZlcmNvb2tpZV9qYXZhKGEsciksQy5fZWMudXNlckRhdGE9Qy5ldmVyY29va2llX3VzZXJkYXRhKGEsciksQy5fZWMuY29va2llRGF0YT1DLmV2ZXJjb29raWVfY29va2llKGEsciksQy5fZWMubG9jYWxEYXRhPUMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlKGEsciksQy5fZWMuZ2xvYmFsRGF0YT1DLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2UoYSxyKSxDLl9lYy5zZXNzaW9uRGF0YT1DLmV2ZXJjb29raWVfc2Vzc2lvbl9zdG9yYWdlKGEsciksQy5fZWMud2luZG93RGF0YT1DLmV2ZXJjb29raWVfd2luZG93KGEscikscCYmKEMuX2VjLmhpc3RvcnlEYXRhPUMuZXZlcmNvb2tpZV9oaXN0b3J5KGEscikpKSx2b2lkIDAhPT1yKSh2b2lkIDA9PT10fHx2b2lkIDA9PT1vKSYmYysrPG0mJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Qy5fZXZlcmNvb2tpZShhLG4scixjLHMpfSksMzAwKTtlbHNlIGlmKChlLm9wZW5EYXRhYmFzZSYmdm9pZCAwPT09Qy5fZWMuZGJEYXRhfHwoImluZGV4ZWREQiJpbiBlfHwoZS5pbmRleGVkREI9ZS5pbmRleGVkREJ8fGUubW96SW5kZXhlZERCfHxlLndlYmtpdEluZGV4ZWREQnx8ZS5tc0luZGV4ZWREQikpJiYodm9pZCAwPT09Qy5fZWMuaWRiRGF0YXx8IiI9PT1DLl9lYy5pZGJEYXRhKXx8dm9pZCAwPT09dHx8dm9pZCAwPT09Qy5fZWMuZXRhZ0RhdGF8fHZvaWQgMD09PUMuX2VjLmNhY2hlRGF0YXx8dm9pZCAwPT09Qy5fZWMuamF2YURhdGF8fGkuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCYmKHZvaWQgMD09PUMuX2VjLnBuZ0RhdGF8fCIiPT09Qy5fZWMucG5nRGF0YSl8fHZvaWQgMD09PW8pJiZjKys8bSlzZXRUaW1lb3V0KChmdW5jdGlvbigpe0MuX2V2ZXJjb29raWUoYSxuLHIsYyxzKX0pLDMwMCk7ZWxzZXtDLl9lYy5sc29EYXRhPUMuZ2V0RnJvbVN0cihhLHQpLHQ9dm9pZCAwLEMuX2VjLnNsRGF0YT1DLmdldEZyb21TdHIoYSxvKSxvPXZvaWQgMDt2YXIgZCxoLHU9Qy5fZWMsZj1bXSx2PTA7Zm9yKGggaW4gQy5fZWM9e30sdSl1W2hdJiYibnVsbCIhPT11W2hdJiYidW5kZWZpbmVkIiE9PXVbaF0mJihmW3VbaF1dPXZvaWQgMD09PWZbdVtoXV0/MTpmW3VbaF1dKzEpO2ZvcihoIGluIGYpZltoXT52JiYodj1mW2hdLGQ9aCk7dm9pZCAwPT09ZHx8dm9pZCAwIT09cyYmMT09PXN8fEMuc2V0KGEsZCksImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4oZCx1KX19LAp0aGlzLmV2ZXJjb29raWVfd2luZG93PWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKHZvaWQgMD09PW8pcmV0dXJuIHRoaXMuZ2V0RnJvbVN0cih0LGUubmFtZSk7ZS5uYW1lPWZ1bmN0aW9uKGUsdCxvKXtpZihlLmluZGV4T2YoIiYiK3QrIj0iKT4tMXx8MD09PWUuaW5kZXhPZih0KyI9Iikpe3ZhciBpLGE9ZS5pbmRleE9mKCImIit0KyI9Iik7cmV0dXJuLTE9PT1hJiYoYT1lLmluZGV4T2YodCsiPSIpKSwtMSE9PShpPWUuaW5kZXhPZigiJiIsYSsxKSk/ZS5zdWJzdHIoMCxhKStlLnN1YnN0cihpKyhhPzA6MSkpKyImIit0KyI9IitvOmUuc3Vic3RyKDAsYSkrIiYiK3QrIj0iK299cmV0dXJuIGUrIiYiK3QrIj0iK299KGUubmFtZSx0LG8pfWNhdGNoKGUpe319LHRoaXMuZXZlcmNvb2tpZV91c2VyZGF0YT1mdW5jdGlvbihlLHQpe3RyeXt2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImRpdiIsInVzZXJkYXRhX2VsIiwxKTtpZihvLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjdXNlckRhdGEpIix2b2lkIDA9PT10KXJldHVybiBvLmxvYWQoZSksby5nZXRBdHRyaWJ1dGUoZSk7by5zZXRBdHRyaWJ1dGUoZSx0KSxvLnNhdmUoZSl9Y2F0Y2goZSl7fX0sdGhpcy5hamF4PWZ1bmN0aW9uKGUpe3ZhciB0LG8saSxhLG4scjtmb3IodD17IlgtUmVxdWVzdGVkLVdpdGgiOiJYTUxIdHRwUmVxdWVzdCIsQWNjZXB0OiJ0ZXh0L2phdmFzY3JpcHQsIHRleHQvaHRtbCwgYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCwgKi8qIn0sbj0wLHI9KGk9W2Z1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH0sZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoIk1zeG1sMi5YTUxIVFRQIil9LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfV0pLmxlbmd0aDtuPHI7bisrKXthPWlbbl07dHJ5e2E9YSgpO2JyZWFrfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoZSl9fWZvcihvIGluIGEub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7NCE9PWEucmVhZHlTdGF0ZXx8YS5zdGF0dXM+PTQwMHx8ZS5zdWNjZXNzKGEucmVzcG9uc2VUZXh0KX0sYS5vcGVuKCJnZXQiLGUudXJsLCEwKSx0KWEuc2V0UmVxdWVzdEhlYWRlcihvLHRbb10pO3RyeXthLnNlbmQoKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0sdGhpcy5ldmVyY29va2llX2NhY2hlPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmNhY2hlQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7fX0pO2Vsc2V7dmFyIG89dGhpcy5nZXRGcm9tU3RyKGwuY2FjaGVDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5jYWNoZURhdGE9dm9pZCAwLGkuY29va2llPWwuY2FjaGVDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5hamF4KHt1cmw6XytsLmNhY2hlUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5jYWNoZUNvb2tpZU5hbWUrIj0iK28rIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLmNhY2hlRGF0YT1lfX0pfX0sdGhpcy5ldmVyY29va2llX2F1dGg9ZnVuY3Rpb24oZSx0KXt2YXIgbyxpO3ZvaWQgMCE9PXQ/KG89Ii8vIit0KyJAIitsb2NhdGlvbi5ob3N0K18rbC5hdXRoUGF0aCsiP25hbWU9IitlLChpPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnNyYz1vKTpDLmFqYXgoe3VybDpfK2wuYXV0aFBhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe0MuX2VjLmF1dGhEYXRhPWV9fSl9LHRoaXMuZXZlcmNvb2tpZV9ldGFnPWZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dClpLmNvb2tpZT1sLmV0YWdDb29raWVOYW1lKyI9Iit0KyI7IHBhdGg9LzsgZG9tYWluPSIreSxDLmFqYXgoe3VybDpfK2wuZXRhZ1BhdGgrIj9uYW1lPSIrZSxzdWNjZXNzOmZ1bmN0aW9uKGUpe319KTtlbHNle3ZhciBvPXRoaXMuZ2V0RnJvbVN0cihsLmV0YWdDb29raWVOYW1lLGkuY29va2llKTtDLl9lYy5ldGFnRGF0YT12b2lkIDAsaS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuYWpheCh7dXJsOl8rbC5ldGFnUGF0aCsiP25hbWU9IitlLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7aS5jb29raWU9bC5ldGFnQ29va2llTmFtZSsiPSIrbysiOyBleHBpcmVzPVR1ZSwgMzEgRGVjIDIwMzAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksQy5fZWMuZXRhZ0RhdGE9ZX19KX19LHRoaXMuZXZlcmNvb2tpZV9qYXZhPWZ1bmN0aW9uKGUsdCl7dmFyIG89aS5nZXRFbGVtZW50QnlJZCgiZWNBcHBsZXRDb250YWluZXIiKTtmdW5jdGlvbiBhKG8pe3ZhciBhPWkuZ2V0RWxlbWVudEJ5SWQobyk7dm9pZCAwIT09dD9hLnNldChlLHQpOkMuX2VjLmphdmFEYXRhPWEuZ2V0KGUpfSJ1bmRlZmluZWQiIT10eXBlb2YgZHRqYXZhJiYobnVsbCE9byYmby5sZW5ndGh8fCgobz1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zZXRBdHRyaWJ1dGUoImlkIiwiZWNBcHBsZXRDb250YWluZXIiKSxvLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsby5zdHlsZS50b3A9Ii0zMDAwcHgiLG8uc3R5bGUubGVmdD0iLTMwMDBweCIsby5zdHlsZS53aWR0aD0iMXB4IixvLnN0eWxlLmhlaWdodD0iMXB4IixpLmJvZHkuYXBwZW5kQ2hpbGQobykpLCJ1bmRlZmluZWQiPT10eXBlb2YgZWNBcHBsZXQ/ZHRqYXZhLmVtYmVkKHtpZDoiZWNBcHBsZXQiLHVybDprKyJldmVyY29va2llLmpubHAiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwbGFjZWhvbGRlcjoiZWNBcHBsZXRDb250YWluZXIifSx7fSx7b25KYXZhc2NyaXB0UmVhZHk6YX0pOmEoImVjQXBwbGV0IikpfSx0aGlzLmV2ZXJjb29raWVfbHNvPWZ1bmN0aW9uKGUsdCl7CnZhciBvPWkuZ2V0RWxlbWVudEJ5SWQoInN3ZmNvbnRhaW5lciIpLGE9e30sbj17fSxjPXt9O251bGwhPW8mJm8ubGVuZ3RofHwoKG89aS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKCJpZCIsInN3ZmNvbnRhaW5lciIpLGkuYm9keS5hcHBlbmRDaGlsZChvKSksdm9pZCAwIT09dCYmKGEuZXZlcmRhdGE9ZSsiPSIrdCksbi5zd2xpdmVjb25uZWN0PSJ0cnVlIixjLmlkPSJteXN3ZiIsYy5uYW1lPSJteXN3ZiIsci5lbWJlZFNXRihrKyJldmVyY29va2llLnN3ZiIsInN3ZmNvbnRhaW5lciIsIjEiLCIxIiwiOS4wLjAiLCExLGEsbixjKX0sdGhpcy5ldmVyY29va2llX3BuZz1mdW5jdGlvbihlLHQpe3ZhciBvLG4scixjPWkuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7Yy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixjLndpZHRoPTIwMCxjLmhlaWdodD0xLGMmJmMuZ2V0Q29udGV4dCYmKChvPW5ldyBhKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLG8uc3R5bGUucG9zaXRpb249ImFic29sdXRlIix2b2lkIDAhPT10P2kuY29va2llPWwucG5nQ29va2llTmFtZSsiPSIrdCsiOyBwYXRoPS87IGRvbWFpbj0iK3k6KEMuX2VjLnBuZ0RhdGE9dm9pZCAwLG49Yy5nZXRDb250ZXh0KCIyZCIpLHI9dGhpcy5nZXRGcm9tU3RyKGwucG5nQ29va2llTmFtZSxpLmNvb2tpZSksaS5jb29raWU9bC5wbmdDb29raWVOYW1lKyI9OyBleHBpcmVzPU1vbiwgMjAgU2VwIDIwMTAgMDA6MDA6MDAgVVRDOyBwYXRoPS87IGRvbWFpbj0iK3ksby5vbmxvYWQ9ZnVuY3Rpb24oKXtpLmNvb2tpZT1sLnBuZ0Nvb2tpZU5hbWUrIj0iK3IrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LEMuX2VjLnBuZ0RhdGE9IiIsbi5kcmF3SW1hZ2UobywwLDApO3ZhciBlLHQsYT1uLmdldEltYWdlRGF0YSgwLDAsMjAwLDEpLmRhdGE7Zm9yKGU9MCx0PWEubGVuZ3RoO2U8dCYmMCE9PWFbZV0mJihDLl9lYy5wbmdEYXRhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGFbZV0pLDAhPT1hW2UrMV0pJiYoQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMV0pLDAhPT1hW2UrMl0pO2UrPTQpQy5fZWMucG5nRGF0YSs9U3RyaW5nLmZyb21DaGFyQ29kZShhW2UrMl0pfSksby5zcmM9XytsLnBuZ1BhdGgrIj9uYW1lPSIrZSl9LHRoaXMuZXZlcmNvb2tpZV9sb2NhbF9zdG9yYWdlPWZ1bmN0aW9uKGUsdCl7dHJ5e2lmKGMpe2lmKHZvaWQgMD09PXQpcmV0dXJuIGMuZ2V0SXRlbShlKTtjLnNldEl0ZW0oZSx0KX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX2RhdGFiYXNlX3N0b3JhZ2U9ZnVuY3Rpb24odCxvKXt0cnl7aWYoZS5vcGVuRGF0YWJhc2Upe3ZhciBpPWUub3BlbkRhdGFiYXNlKCJzcWxpdGVfZXZlcmNvb2tpZSIsIiIsImV2ZXJjb29raWUiLDEwNDg1NzYpO3ZvaWQgMCE9PW8/aS50cmFuc2FjdGlvbigoZnVuY3Rpb24oZSl7ZS5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBjYWNoZShpZCBJTlRFR0VSIE5PVCBOVUxMIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIG5hbWUgVEVYVCBOT1QgTlVMTCwgdmFsdWUgVEVYVCBOT1QgTlVMTCwgVU5JUVVFIChuYW1lKSkiLFtdLChmdW5jdGlvbihlLHQpe30pLChmdW5jdGlvbihlLHQpe30pKSxlLmV4ZWN1dGVTcWwoIklOU0VSVCBPUiBSRVBMQUNFIElOVE8gY2FjaGUobmFtZSwgdmFsdWUpIFZBTFVFUyg/LCA/KSIsW3Qsb10sKGZ1bmN0aW9uKGUsdCl7fSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpOmkudHJhbnNhY3Rpb24oKGZ1bmN0aW9uKGUpe2UuZXhlY3V0ZVNxbCgiU0VMRUNUIHZhbHVlIEZST00gY2FjaGUgV0hFUkUgbmFtZT0/IixbdF0sKGZ1bmN0aW9uKGUsdCl7dC5yb3dzLmxlbmd0aD49MT9DLl9lYy5kYkRhdGE9dC5yb3dzLml0ZW0oMCkudmFsdWU6Qy5fZWMuZGJEYXRhPSIifSksKGZ1bmN0aW9uKGUsdCl7fSkpfSkpfX1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfaW5kZXhkYl9zdG9yYWdlPWZ1bmN0aW9uKHQsbyl7dHJ5e2lmKCJpbmRleGVkREIiaW4gZXx8KGluZGV4ZWREQj1lLmluZGV4ZWREQnx8ZS5tb3pJbmRleGVkREJ8fGUud2Via2l0SW5kZXhlZERCfHxlLm1zSW5kZXhlZERCLElEQlRyYW5zYWN0aW9uPWUuSURCVHJhbnNhY3Rpb258fGUud2Via2l0SURCVHJhbnNhY3Rpb258fGUubXNJREJUcmFuc2FjdGlvbixJREJLZXlSYW5nZT1lLklEQktleVJhbmdlfHxlLndlYmtpdElEQktleVJhbmdlfHxlLm1zSURCS2V5UmFuZ2UpLGluZGV4ZWREQil7dmFyIGk9aW5kZXhlZERCLm9wZW4oImlkYl9ldmVyY29va2llIiwxKTtpLm9uZXJyb3I9ZnVuY3Rpb24oZSl7fSxpLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihlKXtlLnRhcmdldC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoImV2ZXJjb29raWUiLHtrZXlQYXRoOiJuYW1lIix1bmlxdWU6ITF9KX0saS5vbnN1Y2Nlc3M9dm9pZCAwIT09bz9mdW5jdGlvbihlKXt2YXIgaT1lLnRhcmdldC5yZXN1bHQ7aWYoaS5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpaS50cmFuc2FjdGlvbihbImV2ZXJjb29raWUiXSwicmVhZHdyaXRlIikub2JqZWN0U3RvcmUoImV2ZXJjb29raWUiKS5wdXQoe25hbWU6dCx2YWx1ZTpvfSk7aS5jbG9zZSgpfTpmdW5jdGlvbihlKXt2YXIgbz1lLnRhcmdldC5yZXN1bHQ7aWYoby5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKCJldmVyY29va2llIikpe3ZhciBpPW8udHJhbnNhY3Rpb24oWyJldmVyY29va2llIl0pLm9iamVjdFN0b3JlKCJldmVyY29va2llIikuZ2V0KHQpO2kub25zdWNjZXNzPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWkucmVzdWx0P0MuX2VjLmlkYkRhdGE9dm9pZCAwOkMuX2VjLmlkYkRhdGE9aS5yZXN1bHQudmFsdWV9fWVsc2UgQy5fZWMuaWRiRGF0YT12b2lkIDA7by5jbG9zZSgpfX19Y2F0Y2goZSl7fX0sdGhpcy5ldmVyY29va2llX3Nlc3Npb25fc3RvcmFnZT1mdW5jdGlvbihlLHQpe3RyeXtpZihzKXtpZih2b2lkIDA9PT10KXJldHVybiBzLmdldEl0ZW0oZSk7cy5zZXRJdGVtKGUsdCl9Cn1jYXRjaChlKXt9fSx0aGlzLmV2ZXJjb29raWVfZ2xvYmFsX3N0b3JhZ2U9ZnVuY3Rpb24oZSx0KXtpZihuKXt2YXIgbz10aGlzLmdldEhvc3QoKTt0cnl7aWYodm9pZCAwPT09dClyZXR1cm4gbltvXVtlXTtuW29dW2VdPXR9Y2F0Y2goZSl7fX19LHRoaXMuZXZlcmNvb2tpZV9zaWx2ZXJsaWdodD1mdW5jdGlvbihlLHQpe3ZhciBvLGE9IjQuMC41MDQwMS4wIixuPSIiO3ZvaWQgMCE9PXQmJihuPSc8cGFyYW0gbmFtZT0iaW5pdFBhcmFtcyIgdmFsdWU9IicrZSsiPSIrdCsnIiAvPicpLG89JzxvYmplY3Qgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4O3RvcDotNTAwcHgiIGRhdGE9ImRhdGE6YXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yLCIgdHlwZT0iYXBwbGljYXRpb24veC1zaWx2ZXJsaWdodC0yIiBpZD0ibXlzaWx2ZXJsaWdodCIgd2lkdGg9IjAiIGhlaWdodD0iMCI+JytuKyc8cGFyYW0gbmFtZT0ic291cmNlIiB2YWx1ZT0iJysoaysiZXZlcmNvb2tpZS54YXAiKSsnIi8+PHBhcmFtIG5hbWU9Im9uTG9hZCIgdmFsdWU9Im9uU2lsdmVybGlnaHRMb2FkIi8+PHBhcmFtIG5hbWU9Im9uRXJyb3IiIHZhbHVlPSJvblNpbHZlcmxpZ2h0RXJyb3IiLz48cGFyYW0gbmFtZT0iYmFja2dyb3VuZCIgdmFsdWU9IlRyYW5zcGFyZW50Ii8+PHBhcmFtIG5hbWU9IndpbmRvd2xlc3MiIHZhbHVlPSJ0cnVlIi8+PHBhcmFtIG5hbWU9Im1pblJ1bnRpbWVWZXJzaW9uIiB2YWx1ZT0iJythKyciLz48cGFyYW0gbmFtZT0iYXV0b1VwZ3JhZGUiIHZhbHVlPSJmYWxzZSIvPjxhIGhyZWY9Imh0dHA6Ly9nby5taWNyb3NvZnQuY29tL2Z3bGluay8/TGlua0lEPTE0OTE1NiZ2PScrYSsnIiBzdHlsZT0iZGlzcGxheTpub25lIj5HZXQgTWljcm9zb2Z0IFNpbHZlcmxpZ2h0PC9hPjwvb2JqZWN0Pic7dHJ5e2kuYm9keS5hcHBlbmRDaGlsZChvKX1jYXRjaChlKXt9fSx0aGlzLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdCxvLGksYSxuLHIsYyxzPSIiLGQ9MDtmb3IoZT10aGlzLl91dGY4X2VuY29kZShlKTtkPGUubGVuZ3RoOylhPSh0PWUuY2hhckNvZGVBdChkKyspKT4+MixuPSgzJnQpPDw0fChvPWUuY2hhckNvZGVBdChkKyspKT4+NCxyPSgxNSZvKTw8MnwoaT1lLmNoYXJDb2RlQXQoZCsrKSk+PjYsYz02MyZpLGlzTmFOKG8pP3I9Yz02NDppc05hTihpKSYmKGM9NjQpLHM9cytoLmNoYXJBdChhKStoLmNoYXJBdChuKStoLmNoYXJBdChyKStoLmNoYXJBdChjKTtyZXR1cm4gc30sdGhpcy5kZWNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQsbyxpLGEsbixyLGM9IiIscz0wO2ZvcihlPWUucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3M8ZS5sZW5ndGg7KXQ9aC5pbmRleE9mKGUuY2hhckF0KHMrKykpPDwyfChhPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSk+PjQsbz0oMTUmYSk8PDR8KG49aC5pbmRleE9mKGUuY2hhckF0KHMrKykpKT4+MixpPSgzJm4pPDw2fChyPWguaW5kZXhPZihlLmNoYXJBdChzKyspKSksYys9U3RyaW5nLmZyb21DaGFyQ29kZSh0KSw2NCE9PW4mJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSw2NCE9PXImJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTtyZXR1cm4gYz10aGlzLl91dGY4X2RlY29kZShjKX0sdGhpcy5fdXRmOF9lbmNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT0wLGE9KGU9ZS5yZXBsYWNlKC9cclxuL2csIlxuIikpLmxlbmd0aDtpPGE7aSsrKSh0PWUuY2hhckNvZGVBdChpKSk8MTI4P28rPVN0cmluZy5mcm9tQ2hhckNvZGUodCk6dD4xMjcmJnQ8MjA0OD8obys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42fDE5Miksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpOihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQ+PjEyfDIyNCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSh0Pj42JjYzfDEyOCksbys9U3RyaW5nLmZyb21DaGFyQ29kZSg2MyZ0fDEyOCkpO3JldHVybiBvfSx0aGlzLl91dGY4X2RlY29kZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9IiIsbz0wLGk9ZS5sZW5ndGgsYT0wLG49MCxyPTA7bzxpOykoYT1lLmNoYXJDb2RlQXQobykpPDEyOD8odCs9U3RyaW5nLmZyb21DaGFyQ29kZShhKSxvKz0xKTphPjE5MSYmYTwyMjQ/KG49ZS5jaGFyQ29kZUF0KG8rMSksdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmYSk8PDZ8NjMmbiksbys9Mik6KG49ZS5jaGFyQ29kZUF0KG8rMSkscj1lLmNoYXJDb2RlQXQobysyKSx0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgxNSZhKTw8MTJ8KDYzJm4pPDw2fDYzJnIpLG8rPTMpO3JldHVybiB0fSx0aGlzLmV2ZXJjb29raWVfaGlzdG9yeT1mdW5jdGlvbihlLHQpe3ZhciBvLGksYT0oaCsiLSIpLnNwbGl0KCIiKSxuPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vZXZlcmNvb2tpZS9jYWNoZS8iK3RoaXMuZ2V0SG9zdCgpKyIvIitlLHI9IiIsYz0iIixzPTE7aWYodm9pZCAwIT09dCl7aWYodGhpcy5oYXNWaXNpdGVkKG4pKXJldHVybjtmb3IodGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiKSxuKz0iLyIsaT10aGlzLmVuY29kZSh0KS5zcGxpdCgiIiksbz0wO288aS5sZW5ndGg7bysrKW4rPWlbb10sdGhpcy5jcmVhdGVJZnJhbWUobiwiaWYiK28pO24rPSItIix0aGlzLmNyZWF0ZUlmcmFtZShuLCJpZl8iKX1lbHNlIGlmKHRoaXMuaGFzVmlzaXRlZChuKSl7Zm9yKG4rPSIvIjsiLSIhPT1yJiYxPT09czspZm9yKHM9MCxvPTA7bzxhLmxlbmd0aDtvKyspaWYodGhpcy5oYXNWaXNpdGVkKG4rYVtvXSkpeyItIiE9PShyPWFbb10pJiYoYys9ciksbis9cixzPTE7YnJlYWt9cmV0dXJuIHRoaXMuZGVjb2RlKGMpfX0sdGhpcy5jcmVhdGVFbGVtPWZ1bmN0aW9uKGUsdCxvKXt2YXIgYTtyZXR1cm4oYT12b2lkIDAhPT10JiZpLmdldEVsZW1lbnRCeUlkKHQpP2kuZ2V0RWxlbWVudEJ5SWQodCk6aS5jcmVhdGVFbGVtZW50KGUpKS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0JiZhLnNldEF0dHJpYnV0ZSgiaWQiLHQpLG8mJmkuYm9keS5hcHBlbmRDaGlsZChhKSxhfSx0aGlzLmNyZWF0ZUlmcmFtZT1mdW5jdGlvbihlLHQpewp2YXIgbz10aGlzLmNyZWF0ZUVsZW0oImlmcmFtZSIsdCwxKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInNyYyIsZSksb307dmFyIHg9dGhpcy53YWl0Rm9yU3dmPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWU/ZT0wOmUrKyxlPG0mJnZvaWQgMD09PXImJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7eChlKX0pLDMwMCl9O3RoaXMuZXZlcmNvb2tpZV9jb29raWU9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDA9PT10KXJldHVybiB0aGlzLmdldEZyb21TdHIoZSxpLmNvb2tpZSk7aS5jb29raWU9ZSsiPTsgZXhwaXJlcz1Nb24sIDIwIFNlcCAyMDEwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5LGkuY29va2llPWUrIj0iK3QrIjsgZXhwaXJlcz1UdWUsIDMxIERlYyAyMDMwIDAwOjAwOjAwIFVUQzsgcGF0aD0vOyBkb21haW49Iit5fSx0aGlzLmdldEZyb21TdHI9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBvLGksYT1lKyI9IixuPXQuc3BsaXQoL1s7Jl0vKTtmb3Iobz0wO288bi5sZW5ndGg7bysrKXtmb3IoaT1uW29dOyIgIj09PWkuY2hhckF0KDApOylpPWkuc3Vic3RyaW5nKDEsaS5sZW5ndGgpO2lmKDA9PT1pLmluZGV4T2YoYSkpcmV0dXJuIGkuc3Vic3RyaW5nKGEubGVuZ3RoLGkubGVuZ3RoKX19fSx0aGlzLmdldEhvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gZS5sb2NhdGlvbi5ob3N0LnJlcGxhY2UoLzpcZCsvLCIiKX0sdGhpcy50b0hleD1mdW5jdGlvbihlKXtmb3IodmFyIHQsbz0iIixpPWUubGVuZ3RoLGE9MDthPGk7KXtmb3IodD1lLmNoYXJDb2RlQXQoYSsrKS50b1N0cmluZygxNik7dC5sZW5ndGg8MjspdD0iMCIrdDtvKz10fXJldHVybiBvfSx0aGlzLmZyb21IZXg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89IiIsaT1lLmxlbmd0aDtpPj0wOyl0PWktMixvPVN0cmluZy5mcm9tQ2hhckNvZGUoIjB4IitlLnN1YnN0cmluZyh0LGkpKStvLGk9dDtyZXR1cm4gb30sdGhpcy5oYXNWaXNpdGVkPWZ1bmN0aW9uKGUpey0xPT09dGhpcy5ub19jb2xvciYmKC0xPT09dGhpcy5fZ2V0UkdCKCJodHRwOi8vc2FteS13YXMtaGVyZS10aGlzLXNob3VsZC1uZXZlci1iZS12aXNpdGVkLmNvbSIsLTEpJiYodGhpcy5ub19jb2xvcj10aGlzLl9nZXRSR0IoImh0dHA6Ly9zYW15LXdhcy1oZXJlLSIrTWF0aC5mbG9vcig5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKyJyYW5kLmNvbSIpKSk7cmV0dXJuIDA9PT1lLmluZGV4T2YoImh0dHBzOiIpfHwwPT09ZS5pbmRleE9mKCJodHRwOiIpP3RoaXMuX3Rlc3RVUkwoZSx0aGlzLm5vX2NvbG9yKTp0aGlzLl90ZXN0VVJMKCJodHRwOi8vIitlLHRoaXMubm9fY29sb3IpfHx0aGlzLl90ZXN0VVJMKCJodHRwczovLyIrZSx0aGlzLm5vX2NvbG9yKXx8dGhpcy5fdGVzdFVSTCgiaHR0cDovL3d3dy4iK2UsdGhpcy5ub19jb2xvcil8fHRoaXMuX3Rlc3RVUkwoImh0dHBzOi8vd3d3LiIrZSx0aGlzLm5vX2NvbG9yKX07dmFyIGIsdyxEPXRoaXMuY3JlYXRlRWxlbSgiYSIsIl9lY19yZ2JfbGluayIpLFM9IiNfZWNfcmdiX2xpbms6dmlzaXRlZHtkaXNwbGF5Om5vbmU7Y29sb3I6I0ZGMDAwMH0iO3RyeXtiPTEsKHc9aS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKS5zdHlsZVNoZWV0P3cuc3R5bGVTaGVldC5pbm5lckhUTUw9Uzp3LmlubmVySFRNTD93LmlubmVySFRNTD1TOncuYXBwZW5kQ2hpbGQoaS5jcmVhdGVUZXh0Tm9kZShTKSl9Y2F0Y2goZSl7Yj0wfXRoaXMuX2dldFJHQj1mdW5jdGlvbihlLHQpe3JldHVybiB0JiYwPT09Yj8tMTooRC5ocmVmPWUsRC5pbm5lckhUTUw9ZSxpLmJvZHkuYXBwZW5kQ2hpbGQodyksaS5ib2R5LmFwcGVuZENoaWxkKEQpLGkuZGVmYXVsdFZpZXc/aS5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKEQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgiY29sb3IiKTpELmN1cnJlbnRTdHlsZS5jb2xvcil9LHRoaXMuX3Rlc3RVUkw9ZnVuY3Rpb24oZSx0KXt2YXIgbz10aGlzLl9nZXRSR0IoZSk7cmV0dXJuInJnYigyNTUsIDAsIDApIj09PW98fCIjZmYwMDAwIj09PW98fHQmJm8hPT10PzE6MH19fSh3aW5kb3cpfWNhdGNoKGUpe319LDIyMjk4NigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSx0LG8saSxhLG47d2luZG93LnBhcmVudCE9PXdpbmRvdyYmd2luZG93LkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCYmd2luZG93LlRleHRNZXRyaWNzJiYodD13aW5kb3cuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZSkmJnQuaGFzT3duUHJvcGVydHkoImZvbnQiKSYmdC5oYXNPd25Qcm9wZXJ0eSgibW96VGV4dFN0eWxlIikmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Ll9fbG9va3VwU2V0dGVyX18mJihvPXQuX19sb29rdXBTZXR0ZXJfXygiZm9udCIpKSYmKHQuX19kZWZpbmVTZXR0ZXJfXygiZm9udCIsKGZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gby5jYWxsKHRoaXMsZSl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSkpLGk9dC5tZWFzdXJlVGV4dCxlPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD0wLHRoaXMuaXNGYWtlPSEwLHRoaXMuX19wcm90b19fPXdpbmRvdy5UZXh0TWV0cmljcy5wcm90b3R5cGV9LHQubWVhc3VyZVRleHQ9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaCh0KXtpZigiTlNfRVJST1JfRkFJTFVSRSIhPT10Lm5hbWUpdGhyb3cgdDtyZXR1cm4gbmV3IGV9fSxhPXQuZmlsbFRleHQsdC5maWxsVGV4dD1mdW5jdGlvbihlLHQsbyxpKXt0cnl7YS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9Y2F0Y2goZSl7aWYoIk5TX0VSUk9SX0ZBSUxVUkUiIT09ZS5uYW1lKXRocm93IGV9fSxuPXQuc3Ryb2tlVGV4dCx0LnN0cm9rZVRleHQ9ZnVuY3Rpb24oZSx0LG8saSl7dHJ5e24uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKGUpe2lmKCJOU19FUlJPUl9GQUlMVVJFIiE9PWUubmFtZSl0aHJvdyBlfX0pfSw4MTczNTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPW8oMTc4NDk3KSxhPW8oMzYwNjIwKTtjb25zdCBuPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZXx8ITE9PT1lfHwoMCwKYS5kZWZhdWx0KShlKSYmIltvYmplY3QgQm9vbGVhbl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMjA2NjczKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDM2MDYyMCk7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV8fCgwLGEuZGVmYXVsdCkoZSkmJiJbb2JqZWN0IE51bWJlcl0iPT0oMCxpLmRlZmF1bHQpKGUpfX0sMzA0MjIxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDE3ODQ5NyksYT1vKDI5NTYzNSksbj1vKDM2MDYyMCk7Y29uc3Qgcj1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV8fCEoMCxhLmRlZmF1bHQpKGUpJiYoMCxuLmRlZmF1bHQpKGUpJiYiW29iamVjdCBTdHJpbmddIj09KDAsaS5kZWZhdWx0KShlKX19LDgzOTQyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9byg2OTIzNjkpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXt2YXIgbztpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIGU9KDAsaS5kZWZhdWx0KShlKSxmdW5jdGlvbigpe3JldHVybi0tZT4wJiYobz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZTw9MSYmKHQ9dm9pZCAwKSxvfX07Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gYSgyLGUpfX0sNjkyMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1vKDQwNjQ0OSksYT0xLzA7Y29uc3Qgbj1mdW5jdGlvbihlKXtyZXR1cm4gZT8oZT0oMCxpLmRlZmF1bHQpKGUpKT09PWF8fGU9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiooZTwwPy0xOjEpOmU9PWU/ZTowOjA9PT1lP2U6MH07Y29uc3Qgcj1mdW5jdGlvbihlKXt2YXIgdD1uKGUpLG89dCUxO3JldHVybiB0PT10P28/dC1vOnQ6MH19fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.236Z","timestamp":1785136428236,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.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://www.youtube.com/embed/tZOSQBP946Q\r\nCookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; YSC=seM8HdZ9Ato; __Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; VISITOR_INFO1_LIVE=-NYM_ljp5ZA; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D\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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 430892\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":35,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.440Z","timestamp":1785136428440,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8647b9eb7b45b4857f650da23c5aac63\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-11T04:47:30.206142Z","times_seen":3061,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29536.736f471a8d64a8122fd8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.182Z","timestamp":1785136429182,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29536.736f471a8d64a8122fd8.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-ebc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ce882fb4d9a7d2b64b6d8ec713fa8a1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3772,"size_decoded":1613,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3772), with no line terminators","md5":"0f29bcabe069a47a657f4666aef1835a","sha1":"6d7a898f70cbc2cd3e7245948215a87083dc7757","sha256":"13835bb4936e82708b3d51759c4f0817b38329ae23fbd4159dd42c41d72bd08c","sha512":"844358cef628a8e87ce959d524734c056fccd6a453f67541790666eb6d7c715b9eeaaddb5ed93e3923992e68bf8320f159e9869a9a38a76b85e3677d846bcd35","ssdeep":"","tlshash":"6171ddc5f150fab1fb23119c63ac6079ba80ad78ed5376c7b976d81508d5bb2122372c","first_seen":"2026-07-16T13:40:49.880227Z","last_seen":"2026-08-11T04:43:23.200491Z","times_seen":386,"resource_available":false,"data":"LmRlZmF1bHQtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkKX0uZGFuZ2VyLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKX0ud2FybmluZy1HWkx5a05RUHstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmcpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZCl9LnN1Y2Nlc3MtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpfS5uZXV0cmFsLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW0pOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQpfS5uZXV0cmFsLWxpZ2h0LUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnNtYWxsLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTozfS5tZWRpdW0tR1pMeWtOUVB7LS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplOjR9LmxhcmdlLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTo1fS5pY29uV3JhcHBlci1HWkx5a05RUHstLXVpLWxpYi1zaXplLWRlZjp2YXIoLS11aS1saWItaW4taWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplLDMpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNDRweCk7aGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKX0uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXN7b3V0bGluZTpub25lfS5pY29uV3JhcHBlci1HWkx5a05RUDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uaWNvbldyYXBwZXItR1pMeWtOUVA6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyg1MCUgKyA0cHgpfS5pY29uV3JhcHBlci1HWkx5a05RUDp2aXNpdGVke2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3IpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmljb25XcmFwcGVyLUdaTHlrTlFQOmhvdmVye2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLWhvdmVyLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXIpKX19Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX0uaWNvbi1HWkx5a05RUHtwb2ludGVyLWV2ZW50czpub25lfS5pY29uLUdaTHlrTlFQIHN2Z3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94232.ab6731b698a8c2854a90.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.183Z","timestamp":1785136429183,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94232.ab6731b698a8c2854a90.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-740\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 767ea5dd9d02a9f4c498ab448cc1d375\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1856,"size_decoded":1343,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1856), with no line terminators","md5":"99c169cccd9c810bfd0d3e50e053d9dd","sha1":"f7c962c5226ce8518e23fcd82bbd02e44b3cd8ba","sha256":"ba11ca3b195a5ed5130a9fdfe05087f5b075dbec6ddff0fbc0ee82ef8a378a37","sha512":"02bba56d2baac91f2618fc15e25d5eb7e986a57c956cd280f3ff695e4d215d29c10a2730d07a71b393c7da7e62a644bc9d417c3aef3b60af475b9f6330a25d50","ssdeep":"","tlshash":"0331f104a050d9f5e212d7788e5dbb7820d13b22ca613da7fe53de0ed086be5e122f24","first_seen":"2026-07-16T20:48:56.389736Z","last_seen":"2026-08-11T04:47:30.178876Z","times_seen":661,"resource_available":false,"data":"LmxvYWRlci1NZ2Y4RUZ3S3tib3R0b206MDtmb250LXNpemU6MDtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjAgYXV0bztvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgZWFzZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmxvYWRlci1NZ2Y4RUZ3Sy5zdGF0aWMtTWdmOEVGd0t7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpzdGF0aWN9LmxvYWRlci1NZ2Y4RUZ3SzphZnRlcntjb250ZW50OiIgIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3S3tib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eToxO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDpjdXJyZW50Q29sb3I7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItbG9hZGVyLWNvbG9yLHZhcigtLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdCkpfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOmZpcnN0LWNoaWxke2FuaW1hdGlvbjp0di1idXR0b24tbG9hZGVyLU1nZjhFRndLIDFzIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouMXN9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3SzpudGgtY2hpbGQoMil7YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0sgMXMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5Oi4zc30ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLOm50aC1jaGlsZCgzKXthbmltYXRpb246dHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyAxcyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTouNDVzfX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLC5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLe2hlaWdodDo2cHg7d2lkdGg6NnB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0subWVkaXVtLU1nZjhFRndLOm5vdCg6bGFzdC1jaGlsZCksLmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Szpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnNtYWxsLU1nZjhFRndLe2hlaWdodDo0cHg7d2lkdGg6NHB4fS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suc21hbGwtTWdmOEVGd0s6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDozcHh9LmxvYWRlci1NZ2Y4RUZ3SyAuaXRlbS1NZ2Y4RUZ3Sy5ibGFjay1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0sud2hpdGUtTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpfS5sb2FkZXItTWdmOEVGd0sgLml0ZW0tTWdmOEVGd0suZ3JheS1NZ2Y4RUZ3S3stLXVpLWxpYi1sb2FkZXItY29sb3ItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0ubG9hZGVyLU1nZjhFRndLIC5pdGVtLU1nZjhFRndLLnByaW1hcnktTWdmOEVGd0t7LS11aS1saWItbG9hZGVyLWNvbG9yLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX1Aa2V5ZnJhbWVzIHR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0t7MCUsdG97b3BhY2l0eToxfTYwJXtvcGFjaXR5Oi40fTMwJXtvcGFjaXR5Oi4yfX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32387.47ace83c61a884341cd6.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.222Z","timestamp":1785136429222,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32387.47ace83c61a884341cd6.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-205c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f0cffdb5240350914fe13519ef52148a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":132552,"size_decoded":45612,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"6ca36e244c390f41edaabac69e09f117","sha1":"8cfcf1d847ab9d43572b0f37ce475fca4bba1dbd","sha256":"fb8f00815532561e6403dfa828baaf51b380bfdf9f9c92754695c2cfe989db60","sha512":"9d1bd8f2293d36779a4c8cc18dd6650a7b35228b865226f0071eb07da8a810a5bc9aebd1cd29957a9fdd12cab5df40ab9fbbd7d68ac374e023c356b4178e4e3d","ssdeep":"1536:pvqY4wv/eXX5nEIk5JGA1SpxhDGougC6dZJUz3wA3ovSuHpL+:pyIscb61Uz3wGZML+","tlshash":"6bd3f7e83996f6526ab7126700ef1807733c1a1b280c4960a615fd8e75b842fb17bfdd","first_seen":"2026-05-05T10:36:04.869805Z","last_seen":"2026-08-11T04:47:30.206142Z","times_seen":3061,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzIzODddLHs1MzIzODcoZSxuLHQpe3ZhciByPXQoNzc5NDc0KSxsPXQoMTgyNjE0KTtmdW5jdGlvbiBhKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIHU9bmV3IFNldCxvPXt9O2Z1bmN0aW9uIGkoZSxuKXtzKGUsbikscyhlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBzKGUsbil7Zm9yKG9bZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspdS5hZGQobltlXSl9dmFyIGM9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxwPXt9LG09e307ZnVuY3Rpb24gaChlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIGc9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMCwhMSxlLG51bGwsITEsITEpfSkpLFtbImFjY2VwdENoYXJzZXQiLCJhY2NlcHQtY2hhcnNldCJdLFsiY2xhc3NOYW1lIiwiY2xhc3MiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtnW25dPW5ldyBoKG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSkpLFsiY29udGVudEVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxDaGVjayIsInZhbHVlIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDIsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwyLCExLGUsbnVsbCwhMSwhMSl9KSksImFsbG93RnVsbFNjcmVlbiBhc3luYyBhdXRvRm9jdXMgYXV0b1BsYXkgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlUGljdHVyZUluUGljdHVyZSBkaXNhYmxlUmVtb3RlUGxheWJhY2sgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z1tlXT1uZXcgaChlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwzLCEwLGUsbnVsbCwhMSwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNCwhMSxlLG51bGwsITEsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSwhMSl9KSk7dmFyIHY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBiKGUsbix0LHIpe3ZhciBsPWcuaGFzT3duUHJvcGVydHkobik/Z1tuXTpudWxsOyhudWxsIT09bD8wIT09bC50eXBlOnJ8fCEoMjxuLmxlbmd0aCl8fCJvIiE9PW5bMF0mJiJPIiE9PW5bMF18fCJuIiE9PW5bMV0mJiJOIiE9PW5bMV0pJiYoZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbD09bnx8ZnVuY3Rpb24oZSxuLHQscil7aWYobnVsbCE9PXQmJjA9PT10LnR5cGUpcmV0dXJuITE7c3dpdGNoKHR5cGVvZiBuKXtjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6cmV0dXJuITA7Y2FzZSJib29sZWFuIjpyZXR1cm4hciYmKG51bGwhPT10PyF0LmFjY2VwdHNCb29sZWFuczoiZGF0YS0iIT09KGU9ZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSkpJiYiYXJpYS0iIT09ZSk7ZGVmYXVsdDpyZXR1cm4hMX19KGUsbix0LHIpKXJldHVybiEwCjtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsbCxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWw/ZnVuY3Rpb24oZSl7cmV0dXJuISFmLmNhbGwobSxlKXx8IWYuY2FsbChwLGUpJiYoZC50ZXN0KGUpP21bZV09ITA6KHBbZV09ITAsITEpKX0obikmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKTpsLm11c3RVc2VQcm9wZXJ0eT9lW2wucHJvcGVydHlOYW1lXT1udWxsPT09dD8zIT09bC50eXBlJiYiIjp0OihuPWwuYXR0cmlidXRlTmFtZSxyPWwuYXR0cmlidXRlTmFtZXNwYWNlLG51bGw9PT10P2UucmVtb3ZlQXR0cmlidXRlKG4pOih0PTM9PT0obD1sLnR5cGUpfHw0PT09bCYmITA9PT10PyIiOiIiK3Qscj9lLnNldEF0dHJpYnV0ZU5TKHIsbix0KTplLnNldEF0dHJpYnV0ZShuLHQpKSkpfSJhY2NlbnQtaGVpZ2h0IGFsaWdubWVudC1iYXNlbGluZSBhcmFiaWMtZm9ybSBiYXNlbGluZS1zaGlmdCBjYXAtaGVpZ2h0IGNsaXAtcGF0aCBjbGlwLXJ1bGUgY29sb3ItaW50ZXJwb2xhdGlvbiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMgY29sb3ItcHJvZmlsZSBjb2xvci1yZW5kZXJpbmcgZG9taW5hbnQtYmFzZWxpbmUgZW5hYmxlLWJhY2tncm91bmQgZmlsbC1vcGFjaXR5IGZpbGwtcnVsZSBmbG9vZC1jb2xvciBmbG9vZC1vcGFjaXR5IGZvbnQtZmFtaWx5IGZvbnQtc2l6ZSBmb250LXNpemUtYWRqdXN0IGZvbnQtc3RyZXRjaCBmb250LXN0eWxlIGZvbnQtdmFyaWFudCBmb250LXdlaWdodCBnbHlwaC1uYW1lIGdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwgZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwgaG9yaXotYWR2LXggaG9yaXotb3JpZ2luLXggaW1hZ2UtcmVuZGVyaW5nIGxldHRlci1zcGFjaW5nIGxpZ2h0aW5nLWNvbG9yIG1hcmtlci1lbmQgbWFya2VyLW1pZCBtYXJrZXItc3RhcnQgb3ZlcmxpbmUtcG9zaXRpb24gb3ZlcmxpbmUtdGhpY2tuZXNzIHBhaW50LW9yZGVyIHBhbm9zZS0xIHBvaW50ZXItZXZlbnRzIHJlbmRlcmluZy1pbnRlbnQgc2hhcGUtcmVuZGVyaW5nIHN0b3AtY29sb3Igc3RvcC1vcGFjaXR5IHN0cmlrZXRocm91Z2gtcG9zaXRpb24gc3RyaWtldGhyb3VnaC10aGlja25lc3Mgc3Ryb2tlLWRhc2hhcnJheSBzdHJva2UtZGFzaG9mZnNldCBzdHJva2UtbGluZWNhcCBzdHJva2UtbGluZWpvaW4gc3Ryb2tlLW1pdGVybGltaXQgc3Ryb2tlLW9wYWNpdHkgc3Ryb2tlLXdpZHRoIHRleHQtYW5jaG9yIHRleHQtZGVjb3JhdGlvbiB0ZXh0LXJlbmRlcmluZyB1bmRlcmxpbmUtcG9zaXRpb24gdW5kZXJsaW5lLXRoaWNrbmVzcyB1bmljb2RlLWJpZGkgdW5pY29kZS1yYW5nZSB1bml0cy1wZXItZW0gdi1hbHBoYWJldGljIHYtaGFuZ2luZyB2LWlkZW9ncmFwaGljIHYtbWF0aGVtYXRpY2FsIHZlY3Rvci1lZmZlY3QgdmVydC1hZHYteSB2ZXJ0LW9yaWdpbi14IHZlcnQtb3JpZ2luLXkgd29yZC1zcGFjaW5nIHdyaXRpbmctbW9kZSB4bWxuczp4bGluayB4LWhlaWdodCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2Uodix5KTtnW25dPW5ldyBoKG4sMSwhMSxlLG51bGwsITEsITEpfSkpLCJ4bGluazphY3R1YXRlIHhsaW5rOmFyY3JvbGUgeGxpbms6cm9sZSB4bGluazpzaG93IHhsaW5rOnRpdGxlIHhsaW5rOnR5cGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHYseSk7Z1tuXT1uZXcgaChuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITEsITEpfSkpLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh2LHkpO2dbbl09bmV3IGgobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsITEsITEpfSkpLFsidGFiSW5kZXgiLCJjcm9zc09yaWdpbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2dbZV09bmV3IGgoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pKSxnLnhsaW5rSHJlZj1uZXcgaCgieGxpbmtIcmVmIiwxLCExLCJ4bGluazpocmVmIiwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsITAsITEpLFsic3JjIiwiaHJlZiIsImFjdGlvbiIsImZvcm1BY3Rpb24iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtnW2VdPW5ldyBoKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMCwhMCl9KSk7dmFyIGs9ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCx3PVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHg9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxFPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksQz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxOPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLFQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLE09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBGPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyIFI9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEQoZSl7CnJldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9UiYmZVtSXXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9dmFyIEksTz1PYmplY3QuYXNzaWduO2Z1bmN0aW9uIFUoZSl7aWYodm9pZCAwPT09SSl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgbj1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7ST1uJiZuWzFdfHwiIn1yZXR1cm4iXG4iK0krZX12YXIgVj0hMTtmdW5jdGlvbiBBKGUsbil7aWYoIWV8fFYpcmV0dXJuIiI7Vj0hMDt2YXIgdD1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e2lmKG4paWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXtyPWV9ZSgpfX1jYXRjaChuKXtpZihuJiZyJiYic3RyaW5nIj09dHlwZW9mIG4uc3RhY2spe2Zvcih2YXIgbD1uLnN0YWNrLnNwbGl0KCJcbiIpLGE9ci5zdGFjay5zcGxpdCgiXG4iKSx1PWwubGVuZ3RoLTEsbz1hLmxlbmd0aC0xOzE8PXUmJjA8PW8mJmxbdV0hPT1hW29dOylvLS07Zm9yKDsxPD11JiYwPD1vO3UtLSxvLS0paWYobFt1XSE9PWFbb10pe2lmKDEhPT11fHwxIT09bylkb3tpZih1LS0sMD4tLW98fGxbdV0hPT1hW29dKXt2YXIgaT0iXG4iK2xbdV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGUuZGlzcGxheU5hbWUmJmkuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihpPWkucmVwbGFjZSgiPGFub255bW91cz4iLGUuZGlzcGxheU5hbWUpKSxpfX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9VKGUpOiIifWZ1bmN0aW9uIEIoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIFUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBVKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gVSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBVKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9QShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9QShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9QShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFcoZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtzd2l0Y2goZSl7Y2FzZSB4OnJldHVybiJGcmFnbWVudCI7Y2FzZSBTOnJldHVybiJQb3J0YWwiO2Nhc2UgQzpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgRTpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBQOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBUOnJldHVybiJTdXNwZW5zZUxpc3QifWlmKCJvYmplY3QiPT10eXBlb2YgZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBOOnJldHVybihlLmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuQ29uc3VtZXIiO2Nhc2UgejpyZXR1cm4oZS5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIF86dmFyIG49ZS5yZW5kZXI7cmV0dXJuKGU9ZS5kaXNwbGF5TmFtZSl8fChlPSIiIT09KGU9bi5kaXNwbGF5TmFtZXx8bi5uYW1lfHwiIik/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpLGU7Y2FzZSBMOnJldHVybiBudWxsIT09KG49ZS5kaXNwbGF5TmFtZXx8bnVsbCk/bjpXKGUudHlwZSl8fCJNZW1vIjtjYXNlIE06bj1lLl9wYXlsb2FkLGU9ZS5faW5pdDt0cnl7cmV0dXJuIFcoZShuKSl9Y2F0Y2goZSl7fX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBIKGUpe3ZhciBuPWUudHlwZTtzd2l0Y2goZS50YWcpe2Nhc2UgMjQ6cmV0dXJuIkNhY2hlIjtjYXNlIDk6cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSAxMDpyZXR1cm4obi5fY29udGV4dC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLlByb3ZpZGVyIjtjYXNlIDE4OnJldHVybiJEZWh5ZHJhdGVkRnJhZ21lbnQiO2Nhc2UgMTE6cmV0dXJuIGU9KGU9bi5yZW5kZXIpLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCIiLG4uZGlzcGxheU5hbWV8fCgiIiE9PWU/IkZvcndhcmRSZWYoIitlKyIpIjoiRm9yd2FyZFJlZiIpO2Nhc2UgNzpyZXR1cm4iRnJhZ21lbnQiO2Nhc2UgNTpyZXR1cm4gbjtjYXNlIDQ6cmV0dXJuIlBvcnRhbCI7Y2FzZSAzOnJldHVybiJSb290IjtjYXNlIDY6cmV0dXJuIlRleHQiO2Nhc2UgMTY6cmV0dXJuIFcobik7Y2FzZSA4OnJldHVybiBuPT09RT8iU3RyaWN0TW9kZSI6Ik1vZGUiO2Nhc2UgMjI6cmV0dXJuIk9mZnNjcmVlbiI7Y2FzZSAxMjpyZXR1cm4iUHJvZmlsZXIiO2Nhc2UgMjE6cmV0dXJuIlNjb3BlIjtjYXNlIDEzOnJldHVybiJTdXNwZW5zZSI7Y2FzZSAxOTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIDI1OnJldHVybiJUcmFjaW5nTWFya2VyIjtjYXNlIDE6Y2FzZSAwOmNhc2UgMTc6Y2FzZSAyOmNhc2UgMTQ6Y2FzZSAxNTppZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gbi5kaXNwbGF5TmFtZXx8bi5uYW1lfHxudWxsO2lmKCJzdHJpbmciPT10eXBlb2YgbilyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBRKGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gaihlKXt2YXIgbj1lLnR5cGUKO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW58fCJyYWRpbyI9PT1uKX1mdW5jdGlvbiAkKGUpe2UuX3ZhbHVlVHJhY2tlcnx8KGUuX3ZhbHVlVHJhY2tlcj1mdW5jdGlvbihlKXt2YXIgbj1qKGUpPyJjaGVja2VkIjoidmFsdWUiLHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxuKSxyPSIiK2Vbbl07aWYoIWUuaGFzT3duUHJvcGVydHkobikmJnZvaWQgMCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc2V0KXt2YXIgbD10LmdldCxhPXQuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe3I9IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnQuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiByfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtyPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW25dfX19fShlKSl9ZnVuY3Rpb24gcShlKXtpZighZSlyZXR1cm4hMTt2YXIgbj1lLl92YWx1ZVRyYWNrZXI7aWYoIW4pcmV0dXJuITA7dmFyIHQ9bi5nZXRWYWx1ZSgpLHI9IiI7cmV0dXJuIGUmJihyPWooZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09dCYmKG4uc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIEsoZSl7aWYodm9pZCAwPT09KGU9ZXx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwKSkpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBlLmFjdGl2ZUVsZW1lbnR8fGUuYm9keX1jYXRjaChuKXtyZXR1cm4gZS5ib2R5fX1mdW5jdGlvbiBZKGUsbil7dmFyIHQ9bi5jaGVja2VkO3JldHVybiBPKHt9LG4se2RlZmF1bHRDaGVja2VkOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLHZhbHVlOnZvaWQgMCxjaGVja2VkOm51bGwhPXQ/dDplLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWR9KX1mdW5jdGlvbiBYKGUsbil7dmFyIHQ9bnVsbD09bi5kZWZhdWx0VmFsdWU/IiI6bi5kZWZhdWx0VmFsdWUscj1udWxsIT1uLmNoZWNrZWQ/bi5jaGVja2VkOm4uZGVmYXVsdENoZWNrZWQ7dD1RKG51bGwhPW4udmFsdWU/bi52YWx1ZTp0KSxlLl93cmFwcGVyU3RhdGU9e2luaXRpYWxDaGVja2VkOnIsaW5pdGlhbFZhbHVlOnQsY29udHJvbGxlZDoiY2hlY2tib3giPT09bi50eXBlfHwicmFkaW8iPT09bi50eXBlP251bGwhPW4uY2hlY2tlZDpudWxsIT1uLnZhbHVlfX1mdW5jdGlvbiBHKGUsbil7bnVsbCE9KG49bi5jaGVja2VkKSYmYihlLCJjaGVja2VkIixuLCExKX1mdW5jdGlvbiBaKGUsbil7RyhlLG4pO3ZhciB0PVEobi52YWx1ZSkscj1uLnR5cGU7aWYobnVsbCE9dCkibnVtYmVyIj09PXI/KDA9PT10JiYiIj09PWUudmFsdWV8fGUudmFsdWUhPXQpJiYoZS52YWx1ZT0iIit0KTplLnZhbHVlIT09IiIrdCYmKGUudmFsdWU9IiIrdCk7ZWxzZSBpZigic3VibWl0Ij09PXJ8fCJyZXNldCI9PT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpO24uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZWUoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVlKGUsbi50eXBlLFEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gSihlLG4sdCl7aWYobi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKXx8bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikpe3ZhciByPW4udHlwZTtpZighKCJzdWJtaXQiIT09ciYmInJlc2V0IiE9PXJ8fHZvaWQgMCE9PW4udmFsdWUmJm51bGwhPT1uLnZhbHVlKSlyZXR1cm47bj0iIitlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlLHR8fG49PT1lLnZhbHVlfHwoZS52YWx1ZT1uKSxlLmRlZmF1bHRWYWx1ZT1ufSIiIT09KHQ9ZS5uYW1lKSYmKGUubmFtZT0iIiksZS5kZWZhdWx0Q2hlY2tlZD0hIWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZCwiIiE9PXQmJihlLm5hbWU9dCl9ZnVuY3Rpb24gZWUoZSxuLHQpeyJudW1iZXIiPT09biYmSyhlLm93bmVyRG9jdW1lbnQpPT09ZXx8KG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIG5lPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gdGUoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodD0iIitRKHQpLG49bnVsbCxsPTA7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXJldHVybiBlW2xdLnNlbGVjdGVkPSEwLHZvaWQociYmKGVbbF0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PW58fGVbbF0uZGlzYWJsZWR8fChuPWVbbF0pfW51bGwhPT1uJiYobi5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIHJlKGUsbil7aWYobnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcihhKDkxKSk7cmV0dXJuIE8oe30sbix7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIGxlKGUsbil7dmFyIHQ9bi52YWx1ZTtpZihudWxsPT10KXtpZih0PW4uY2hpbGRyZW4sbj1uLmRlZmF1bHRWYWx1ZSxudWxsIT10KXtpZihudWxsIT1uKXRocm93IEVycm9yKGEoOTIpKTtpZihuZSh0KSl7CmlmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoYSg5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpRKHQpfX1mdW5jdGlvbiBhZShlLG4pe3ZhciB0PVEobi52YWx1ZSkscj1RKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiB1ZShlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBvZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGllKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/b2Uobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIHNlLGNlLGZlPShjZT1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKHNlPXNlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPXNlLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBjZShlLG4pfSkpfTpjZSk7ZnVuY3Rpb24gZGUoZSxuKXtpZihuKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7aWYodCYmdD09PWUubGFzdENoaWxkJiYzPT09dC5ub2RlVHlwZSlyZXR1cm4gdm9pZCh0Lm5vZGVWYWx1ZT1uKX1lLnRleHRDb250ZW50PW59dmFyIHBlPXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxhc3BlY3RSYXRpbzohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxtZT1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIGhlKGUsbix0KXtyZXR1cm4gbnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbnx8IiI9PT1uPyIiOnR8fCJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHBlLmhhc093blByb3BlcnR5KGUpJiZwZVtlXT8oIiIrbikudHJpbSgpOm4rInB4In1mdW5jdGlvbiBnZShlLG4pe2Zvcih2YXIgdCBpbiBlPWUuc3R5bGUsbilpZihuLmhhc093blByb3BlcnR5KHQpKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpLGw9aGUodCxuW3RdLHIpOyJmbG9hdCI9PT10JiYodD0iY3NzRmxvYXQiKSxyP2Uuc2V0UHJvcGVydHkodCxsKTplW3RdPWx9fU9iamVjdC5rZXlzKHBlKS5mb3JFYWNoKChmdW5jdGlvbihlKXttZS5mb3JFYWNoKChmdW5jdGlvbihuKXtuPW4rZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSxwZVtuXT1wZVtlXX0pKX0pKTt2YXIgdmU9Tyh7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiB5ZShlLG4pe2lmKG4pe2lmKHZlW2VdJiYobnVsbCE9bi5jaGlsZHJlbnx8bnVsbCE9bi5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IoYSgxMzcsZSkpO2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPW4uY2hpbGRyZW4pdGhyb3cgRXJyb3IoYSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGEoNjEpKX1pZihudWxsIT1uLnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIG4uc3R5bGUpdGhyb3cgRXJyb3IoYSg2MikpfX1mdW5jdGlvbiBiZShlLG4pe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOgpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIga2U9bnVsbDtmdW5jdGlvbiB3ZShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgU2U9bnVsbCx4ZT1udWxsLEVlPW51bGw7ZnVuY3Rpb24gQ2UoZSl7aWYoZT1ibChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFNlKXRocm93IEVycm9yKGEoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49d2wobiksU2UoZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gemUoZSl7eGU/RWU/RWUucHVzaChlKTpFZT1bZV06eGU9ZX1mdW5jdGlvbiBOZSgpe2lmKHhlKXt2YXIgZT14ZSxuPUVlO2lmKEVlPXhlPW51bGwsQ2UoZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKUNlKG5bZV0pfX1mdW5jdGlvbiBfZShlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIFBlKCl7fXZhciBUZT0hMTtmdW5jdGlvbiBMZShlLG4sdCl7aWYoVGUpcmV0dXJuIGUobix0KTtUZT0hMDt0cnl7cmV0dXJuIF9lKGUsbix0KX1maW5hbGx5e1RlPSExLChudWxsIT09eGV8fG51bGwhPT1FZSkmJihQZSgpLE5lKCkpfX1mdW5jdGlvbiBNZShlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXdsKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3Q9cltuXTtlOnN3aXRjaChuKXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0hKCJidXR0b24iPT09KGU9ZS50eXBlKXx8ImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8InRleHRhcmVhIj09PWUpKSxlPSFyO2JyZWFrIGU7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYodCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IoYSgyMzEsbix0eXBlb2YgdCkpO3JldHVybiB0fXZhciBGZT0hMTtpZihjKXRyeXt2YXIgUmU9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KFJlLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7RmU9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLFJlLFJlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsUmUsUmUpfWNhdGNoKGNlKXtGZT0hMX1mdW5jdGlvbiBEZShlLG4sdCxyLGwsYSx1LG8saSl7dmFyIHM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDMpO3RyeXtuLmFwcGx5KHQscyl9Y2F0Y2goZSl7dGhpcy5vbkVycm9yKGUpfX12YXIgSWU9ITEsT2U9bnVsbCxVZT0hMSxWZT1udWxsLEFlPXtvbkVycm9yOmZ1bmN0aW9uKGUpe0llPSEwLE9lPWV9fTtmdW5jdGlvbiBCZShlLG4sdCxyLGwsYSx1LG8saSl7SWU9ITEsT2U9bnVsbCxEZS5hcHBseShBZSxhcmd1bWVudHMpfWZ1bmN0aW9uIFdlKGUpe3ZhciBuPWUsdD1lO2lmKGUuYWx0ZXJuYXRlKWZvcig7bi5yZXR1cm47KW49bi5yZXR1cm47ZWxzZXtlPW47ZG97ISEoNDA5OCYobj1lKS5mbGFncykmJih0PW4ucmV0dXJuKSxlPW4ucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09bi50YWc/dDpudWxsfWZ1bmN0aW9uIEhlKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09biYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihuPWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUWUoZSl7aWYoV2UoZSkhPT1lKXRocm93IEVycm9yKGEoMTg4KSl9ZnVuY3Rpb24gamUoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPVdlKGUpKSl0aHJvdyBFcnJvcihhKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciB1PWwuYWx0ZXJuYXRlO2lmKG51bGw9PT11KXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PXUuY2hpbGQpe2Zvcih1PWwuY2hpbGQ7dTspe2lmKHU9PT10KXJldHVybiBRZShsKSxlO2lmKHU9PT1yKXJldHVybiBRZShsKSxuO3U9dS5zaWJsaW5nfXRocm93IEVycm9yKGEoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj11O2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PXQpe289ITAsdD1sLHI9dTticmVha31pZihpPT09cil7bz0hMCxyPWwsdD11O2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT11LmNoaWxkO2k7KXtpZihpPT09dCl7bz0hMCx0PXUscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9dSx0PWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IoYSgxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGEoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGEoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpPyRlKGUpOm51bGx9ZnVuY3Rpb24gJGUoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGU7Zm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe3ZhciBuPSRlKGUpO2lmKG51bGwhPT1uKXJldHVybiBuO2U9ZS5zaWJsaW5nfXJldHVybiBudWxsfQp2YXIgcWU9bC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLEtlPWwudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssWWU9bC51bnN0YWJsZV9zaG91bGRZaWVsZCxYZT1sLnVuc3RhYmxlX3JlcXVlc3RQYWludCxHZT1sLnVuc3RhYmxlX25vdyxaZT1sLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsLEplPWwudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksZW49bC51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSxubj1sLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHRuPWwudW5zdGFibGVfTG93UHJpb3JpdHkscm49bC51bnN0YWJsZV9JZGxlUHJpb3JpdHksbG49bnVsbCxhbj1udWxsO3ZhciB1bj1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIGU+Pj49MCwwPT09ZT8zMjozMS0ob24oZSkvc258MCl8MH0sb249TWF0aC5sb2csc249TWF0aC5MTjI7dmFyIGNuPTY0LGZuPTQxOTQzMDQ7ZnVuY3Rpb24gZG4oZSl7c3dpdGNoKGUmLWUpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiA0MTk0MjQwJmU7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpyZXR1cm4gMTMwMDIzNDI0JmU7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAxMDczNzQxODI0O2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIHBuKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXM7aWYoMD09PXQpcmV0dXJuIDA7dmFyIHI9MCxsPWUuc3VzcGVuZGVkTGFuZXMsYT1lLnBpbmdlZExhbmVzLHU9MjY4NDM1NDU1JnQ7aWYoMCE9PXUpe3ZhciBvPXUmfmw7MCE9PW8/cj1kbihvKTowIT09KGEmPXUpJiYocj1kbihhKSl9ZWxzZSAwIT09KHU9dCZ+bCk/cj1kbih1KTowIT09YSYmKHI9ZG4oYSkpO2lmKDA9PT1yKXJldHVybiAwO2lmKDAhPT1uJiZuIT09ciYmIShuJmwpJiYoKGw9ciYtcik+PShhPW4mLW4pfHwxNj09PWwmJjQxOTQyNDAmYSkpcmV0dXJuIG47aWYoNCZyJiYocnw9MTYmdCksMCE9PShuPWUuZW50YW5nbGVkTGFuZXMpKWZvcihlPWUuZW50YW5nbGVtZW50cyxuJj1yOzA8bjspbD0xPDwodD0zMS11bihuKSkscnw9ZVt0XSxuJj1+bDtyZXR1cm4gcn1mdW5jdGlvbiBtbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpyZXR1cm4gbisyNTA7Y2FzZSA4OmNhc2UgMTY6Y2FzZSAzMjpjYXNlIDY0OmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBuKzVlMztkZWZhdWx0OnJldHVybi0xfX1mdW5jdGlvbiBobihlKXtyZXR1cm4gMCE9PShlPS0xMDczNzQxODI1JmUucGVuZGluZ0xhbmVzKT9lOjEwNzM3NDE4MjQmZT8xMDczNzQxODI0OjB9ZnVuY3Rpb24gZ24oKXt2YXIgZT1jbjtyZXR1cm4hKDQxOTQyNDAmKGNuPDw9MSkpJiYoY249NjQpLGV9ZnVuY3Rpb24gdm4oZSl7Zm9yKHZhciBuPVtdLHQ9MDszMT50O3QrKyluLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24geW4oZSxuLHQpe2UucGVuZGluZ0xhbmVzfD1uLDUzNjg3MDkxMiE9PW4mJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wKSwoZT1lLmV2ZW50VGltZXMpW249MzEtdW4obildPXR9ZnVuY3Rpb24gYm4oZSxuKXt2YXIgdD1lLmVudGFuZ2xlZExhbmVzfD1uO2ZvcihlPWUuZW50YW5nbGVtZW50czt0Oyl7dmFyIHI9MzEtdW4odCksbD0xPDxyO2wmbnxlW3JdJm4mJihlW3JdfD1uKSx0Jj1+bH19dmFyIGtuPTA7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIDE8KGUmPS1lKT80PGU/MjY4NDM1NDU1JmU/MTY6NTM2ODcwOTEyOjQ6MX12YXIgU24seG4sRW4sQ24sem4sTm49ITEsX249W10sUG49bnVsbCxUbj1udWxsLExuPW51bGwsTW49bmV3IE1hcCxGbj1uZXcgTWFwLFJuPVtdLERuPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIEluKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6UG49bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOlRuPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOkxuPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpNbi5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpGbi5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBPbihlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiYobnVsbCE9PShuPWJsKG4pKSYmeG4obikpLAplKTooZS5ldmVudFN5c3RlbUZsYWdzfD1yLG49ZS50YXJnZXRDb250YWluZXJzLG51bGwhPT1sJiYtMT09PW4uaW5kZXhPZihsKSYmbi5wdXNoKGwpLGUpfWZ1bmN0aW9uIFVuKGUpe3ZhciBuPXlsKGUudGFyZ2V0KTtpZihudWxsIT09bil7dmFyIHQ9V2Uobik7aWYobnVsbCE9PXQpaWYoMTM9PT0obj10LnRhZykpe2lmKG51bGwhPT0obj1IZSh0KSkpcmV0dXJuIGUuYmxvY2tlZE9uPW4sdm9pZCB6bihlLnByaW9yaXR5LChmdW5jdGlvbigpe0VuKHQpfSkpfWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpcmV0dXJuIHZvaWQoZS5ibG9ja2VkT249Mz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbCl9ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBWbihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9WG4oZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1ibCh0KSkmJnhuKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2tlPXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxrZT1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBBbihlLG4sdCl7Vm4oZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIEJuKCl7Tm49ITEsbnVsbCE9PVBuJiZWbihQbikmJihQbj1udWxsKSxudWxsIT09VG4mJlZuKFRuKSYmKFRuPW51bGwpLG51bGwhPT1MbiYmVm4oTG4pJiYoTG49bnVsbCksTW4uZm9yRWFjaChBbiksRm4uZm9yRWFjaChBbil9ZnVuY3Rpb24gV24oZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLE5ufHwoTm49ITAsbC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGwudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksQm4pKSl9ZnVuY3Rpb24gSG4oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gV24obixlKX1pZigwPF9uLmxlbmd0aCl7V24oX25bMF0sZSk7Zm9yKHZhciB0PTE7dDxfbi5sZW5ndGg7dCsrKXt2YXIgcj1fblt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1QbiYmV24oUG4sZSksbnVsbCE9PVRuJiZXbihUbixlKSxudWxsIT09TG4mJlduKExuLGUpLE1uLmZvckVhY2gobiksRm4uZm9yRWFjaChuKSx0PTA7dDxSbi5sZW5ndGg7dCsrKShyPVJuW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPFJuLmxlbmd0aCYmbnVsbD09PSh0PVJuWzBdKS5ibG9ja2VkT247KVVuKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmUm4uc2hpZnQoKX12YXIgUW49ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxqbj0hMDtmdW5jdGlvbiAkbihlLG4sdCxyKXt2YXIgbD1rbixhPVFuLnRyYW5zaXRpb247UW4udHJhbnNpdGlvbj1udWxsO3RyeXtrbj0xLEtuKGUsbix0LHIpfWZpbmFsbHl7a249bCxRbi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIHFuKGUsbix0LHIpe3ZhciBsPWtuLGE9UW4udHJhbnNpdGlvbjtRbi50cmFuc2l0aW9uPW51bGw7dHJ5e2tuPTQsS24oZSxuLHQscil9ZmluYWxseXtrbj1sLFFuLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gS24oZSxuLHQscil7aWYoam4pe3ZhciBsPVhuKGUsbix0LHIpO2lmKG51bGw9PT1sKVFyKGUsbixyLFluLHQpLEluKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBQbj1PbihQbixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gVG49T24oVG4sZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIExuPU9uKExuLGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIE1uLnNldChhLE9uKE1uLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxGbi5zZXQoYSxPbihGbi5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKEluKGUsciksNCZuJiYtMTxEbi5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9YmwobCk7aWYobnVsbCE9PWEmJlNuKGEpLG51bGw9PT0oYT1YbihlLG4sdCxyKSkmJlFyKGUsbixyLFluLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIFFyKGUsbixyLG51bGwsdCl9fXZhciBZbj1udWxsO2Z1bmN0aW9uIFhuKGUsbix0LHIpe2lmKFluPW51bGwsbnVsbCE9PShlPXlsKGU9d2UocikpKSlpZihudWxsPT09KG49V2UoZSkpKWU9bnVsbDtlbHNlIGlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KGU9SGUobikpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT10KXtpZihuLnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09bi50YWc/bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIG4hPT1lJiYoZT1udWxsKTtyZXR1cm4gWW49ZSxudWxsfWZ1bmN0aW9uIEduKGUpe3N3aXRjaChlKXtjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6CmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goWmUoKSl7Y2FzZSBKZTpyZXR1cm4gMTtjYXNlIGVuOnJldHVybiA0O2Nhc2Ugbm46Y2FzZSB0bjpyZXR1cm4gMTY7Y2FzZSBybjpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgWm49bnVsbCxKbj1udWxsLGV0PW51bGw7ZnVuY3Rpb24gbnQoKXtpZihldClyZXR1cm4gZXQ7dmFyIGUsbix0PUpuLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gWm4/Wm4udmFsdWU6Wm4udGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gZXQ9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiB0dChlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gcnQoKXtyZXR1cm4hMH1mdW5jdGlvbiBsdCgpe3JldHVybiExfWZ1bmN0aW9uIGF0KGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ydDpsdCx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWx0LHRoaXN9cmV0dXJuIE8obi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ydCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ydCl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpydH0pLG59dmFyIHV0LG90LGl0LHN0PXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LGN0PWF0KHN0KSxmdD1PKHt9LHN0LHt2aWV3OjAsZGV0YWlsOjB9KSxkdD1hdChmdCkscHQ9Tyh7fSxmdCx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1pdCYmKGl0JiYibW91c2Vtb3ZlIj09PWUudHlwZT8odXQ9ZS5zY3JlZW5YLWl0LnNjcmVlblgsb3Q9ZS5zY3JlZW5ZLWl0LnNjcmVlblkpOm90PXV0PTAsaXQ9ZSksdXQpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm90fX0pLG10PWF0KHB0KSxodD1hdChPKHt9LHB0LHtkYXRhVHJhbnNmZXI6MH0pKSxndD1hdChPKHt9LGZ0LHtyZWxhdGVkVGFyZ2V0OjB9KSksdnQ9YXQoTyh7fSxzdCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHl0PU8oe30sc3Qse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSksYnQ9YXQoeXQpLGt0PWF0KE8oe30sc3Qse2RhdGE6MH0pKSx3dD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLApVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LFN0PXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0seHQ9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBFdChlKXt2YXIgbj10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiBuLmdldE1vZGlmaWVyU3RhdGU/bi5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9eHRbZV0pJiYhIW5bZV19ZnVuY3Rpb24gQ3QoKXtyZXR1cm4gRXR9dmFyIHp0PU8oe30sZnQse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIG49d3RbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PW4pcmV0dXJuIG59cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXR0KGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP1N0W2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpDdCxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3R0KGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSxOdD1hdCh6dCksX3Q9YXQoTyh7fSxwdCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksUHQ9YXQoTyh7fSxmdCx7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOkN0fSkpLFR0PWF0KE8oe30sc3Qse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLEx0PU8oe30scHQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSxNdD1hdChMdCksRnQ9WzksMTMsMjcsMzJdLFJ0PWMmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxEdD1udWxsO2MmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihEdD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBJdD1jJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIUR0LE90PWMmJighUnR8fER0JiY4PER0JiYxMT49RHQpLFV0PVN0cmluZy5mcm9tQ2hhckNvZGUoMzIpLFZ0PSExO2Z1bmN0aW9uIEF0KGUsbil7c3dpdGNoKGUpe2Nhc2Uia2V5dXAiOnJldHVybi0xIT09RnQuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gQnQoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgV3Q9ITE7dmFyIEh0PXtjb2xvcjohMCxkYXRlOiEwLGRhdGV0aW1lOiEwLCJkYXRldGltZS1sb2NhbCI6ITAsZW1haWw6ITAsbW9udGg6ITAsbnVtYmVyOiEwLHBhc3N3b3JkOiEwLHJhbmdlOiEwLHNlYXJjaDohMCx0ZWw6ITAsdGV4dDohMCx0aW1lOiEwLHVybDohMCx3ZWVrOiEwfTtmdW5jdGlvbiBRdChlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PW4/ISFIdFtlLnR5cGVdOiJ0ZXh0YXJlYSI9PT1ufWZ1bmN0aW9uIGp0KGUsbix0LHIpe3plKHIpLDA8KG49JHIobiwib25DaGFuZ2UiKSkubGVuZ3RoJiYodD1uZXcgY3QoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLHQsciksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpufSkpfXZhciAkdD1udWxsLHF0PW51bGw7ZnVuY3Rpb24gS3QoZSl7VXIoZSwwKX1mdW5jdGlvbiBZdChlKXtpZihxKGtsKGUpKSlyZXR1cm4gZX1mdW5jdGlvbiBYdChlLG4pe2lmKCJjaGFuZ2UiPT09ZSlyZXR1cm4gbn12YXIgR3Q9ITE7aWYoYyl7dmFyIFp0O2lmKGMpe3ZhciBKdD0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighSnQpe3ZhciBlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlci5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksSnQ9ImZ1bmN0aW9uIj09dHlwZW9mIGVyLm9uaW5wdXR9WnQ9SnQKfWVsc2UgWnQ9ITE7R3Q9WnQmJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gbnIoKXskdCYmKCR0LmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikscXQ9JHQ9bnVsbCl9ZnVuY3Rpb24gdHIoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZZdChxdCkpe3ZhciBuPVtdO2p0KG4scXQsZSx3ZShlKSksTGUoS3Qsbil9fWZ1bmN0aW9uIHJyKGUsbix0KXsiZm9jdXNpbiI9PT1lPyhucigpLHF0PXQsKCR0PW4pLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0cikpOiJmb2N1c291dCI9PT1lJiZucigpfWZ1bmN0aW9uIGxyKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIFl0KHF0KX1mdW5jdGlvbiBhcihlLG4pe2lmKCJjbGljayI9PT1lKXJldHVybiBZdChuKX1mdW5jdGlvbiB1cihlLG4pe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIFl0KG4pfXZhciBvcj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLG4pe3JldHVybiBlPT09biYmKDAhPT1lfHwxL2U9PTEvbil8fGUhPWUmJm4hPW59O2Z1bmN0aW9uIGlyKGUsbil7aWYob3IoZSxuKSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIG58fG51bGw9PT1uKXJldHVybiExO3ZhciB0PU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXMobik7aWYodC5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO2lmKCFmLmNhbGwobixsKXx8IW9yKGVbbF0sbltsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gc3IoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIGNyKGUsbil7dmFyIHQscj1zcihlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYodD1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PW4mJnQ+PW4pcmV0dXJue25vZGU6cixvZmZzZXQ6bi1lfTtlPXR9ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1zcihyKX19ZnVuY3Rpb24gZnIoZSxuKXtyZXR1cm4hKCFlfHwhbikmJihlPT09bnx8KCFlfHwzIT09ZS5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9mcihlLG4ucGFyZW50Tm9kZSk6ImNvbnRhaW5zImluIGU/ZS5jb250YWlucyhuKTohIWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24obikpKSl9ZnVuY3Rpb24gZHIoKXtmb3IodmFyIGU9d2luZG93LG49SygpO24gaW5zdGFuY2VvZiBlLkhUTUxJRnJhbWVFbGVtZW50Oyl7dHJ5e3ZhciB0PSJzdHJpbmciPT10eXBlb2Ygbi5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWZ9Y2F0Y2goZSl7dD0hMX1pZighdClicmVhaztuPUsoKGU9bi5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIG59ZnVuY3Rpb24gcHIoZSl7dmFyIG49ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiBuJiYoImlucHV0Ij09PW4mJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09bnx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfWZ1bmN0aW9uIG1yKGUpe3ZhciBuPWRyKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmcih0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQpKXtpZihudWxsIT09ciYmcHIodCkpaWYobj1yLnN0YXJ0LHZvaWQgMD09PShlPXIuZW5kKSYmKGU9biksInNlbGVjdGlvblN0YXJ0ImluIHQpdC5zZWxlY3Rpb25TdGFydD1uLHQuc2VsZWN0aW9uRW5kPU1hdGgubWluKGUsdC52YWx1ZS5sZW5ndGgpO2Vsc2UgaWYoKGU9KG49dC5vd25lckRvY3VtZW50fHxkb2N1bWVudCkmJm4uZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKXtlPWUuZ2V0U2VsZWN0aW9uKCk7dmFyIGw9dC50ZXh0Q29udGVudC5sZW5ndGgsYT1NYXRoLm1pbihyLnN0YXJ0LGwpO3I9dm9pZCAwPT09ci5lbmQ/YTpNYXRoLm1pbihyLmVuZCxsKSwhZS5leHRlbmQmJmE+ciYmKGw9cixyPWEsYT1sKSxsPWNyKHQsYSk7dmFyIHU9Y3IodCxyKTtsJiZ1JiYoMSE9PWUucmFuZ2VDb3VudHx8ZS5hbmNob3JOb2RlIT09bC5ub2RlfHxlLmFuY2hvck9mZnNldCE9PWwub2Zmc2V0fHxlLmZvY3VzTm9kZSE9PXUubm9kZXx8ZS5mb2N1c09mZnNldCE9PXUub2Zmc2V0KSYmKChuPW4uY3JlYXRlUmFuZ2UoKSkuc2V0U3RhcnQobC5ub2RlLGwub2Zmc2V0KSxlLnJlbW92ZUFsbFJhbmdlcygpLGE+cj8oZS5hZGRSYW5nZShuKSxlLmV4dGVuZCh1Lm5vZGUsdS5vZmZzZXQpKToobi5zZXRFbmQodS5ub2RlLHUub2Zmc2V0KSxlLmFkZFJhbmdlKG4pKSl9Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19dmFyIGhyPWMmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsZ3I9bnVsbCx2cj1udWxsLHlyPW51bGwsYnI9ITE7ZnVuY3Rpb24ga3IoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O2JyfHxudWxsPT1ncnx8Z3IhPT1LKHIpfHwoInNlbGVjdGlvblN0YXJ0ImluKHI9Z3IpJiZwcihyKT9yPXtzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZAp9OnI9e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0seXImJmlyKHlyLHIpfHwoeXI9ciwwPChyPSRyKHZyLCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBjdCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD1ncikpKX1mdW5jdGlvbiB3cihlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgU3I9e2FuaW1hdGlvbmVuZDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOndyKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp3cigiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOndyKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx4cj17fSxFcj17fTtmdW5jdGlvbiBDcihlKXtpZih4cltlXSlyZXR1cm4geHJbZV07aWYoIVNyW2VdKXJldHVybiBlO3ZhciBuLHQ9U3JbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIEVyKXJldHVybiB4cltlXT10W25dO3JldHVybiBlfWMmJihFcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIFNyLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIFNyLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBTci50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB6cj1DcigiYW5pbWF0aW9uZW5kIiksTnI9Q3IoImFuaW1hdGlvbml0ZXJhdGlvbiIpLF9yPUNyKCJhbmltYXRpb25zdGFydCIpLFByPUNyKCJ0cmFuc2l0aW9uZW5kIiksVHI9bmV3IE1hcCxMcj0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gTXIoZSxuKXtUci5zZXQoZSxuKSxpKG4sW2VdKX1mb3IodmFyIEZyPTA7RnI8THIubGVuZ3RoO0ZyKyspe3ZhciBScj1McltGcl07TXIoUnIudG9Mb3dlckNhc2UoKSwib24iKyhSclswXS50b1VwcGVyQ2FzZSgpK1JyLnNsaWNlKDEpKSl9TXIoenIsIm9uQW5pbWF0aW9uRW5kIiksTXIoTnIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksTXIoX3IsIm9uQW5pbWF0aW9uU3RhcnQiKSxNcigiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksTXIoImZvY3VzaW4iLCJvbkZvY3VzIiksTXIoImZvY3Vzb3V0Iiwib25CbHVyIiksTXIoUHIsIm9uVHJhbnNpdGlvbkVuZCIpLHMoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxzKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSkscygib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHMoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxpKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxpKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksaSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksaSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxpKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpCjt2YXIgRHI9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLElyPW5ldyBTZXQoImNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoRHIpKTtmdW5jdGlvbiBPcihlLG4sdCl7dmFyIHI9ZS50eXBlfHwidW5rbm93bi1ldmVudCI7ZS5jdXJyZW50VGFyZ2V0PXQsZnVuY3Rpb24oZSxuLHQscixsLHUsbyxpLHMpe2lmKEJlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxJZSl7aWYoIUllKXRocm93IEVycm9yKGEoMTk4KSk7dmFyIGM9T2U7SWU9ITEsT2U9bnVsbCxVZXx8KFVlPSEwLFZlPWMpfX0ocixuLHZvaWQgMCxlKSxlLmN1cnJlbnRUYXJnZXQ9bnVsbH1mdW5jdGlvbiBVcihlLG4pe249ISEoNCZuKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIHI9ZVt0XSxsPXIuZXZlbnQ7cj1yLmxpc3RlbmVycztlOnt2YXIgYT12b2lkIDA7aWYobilmb3IodmFyIHU9ci5sZW5ndGgtMTswPD11O3UtLSl7dmFyIG89clt1XSxpPW8uaW5zdGFuY2Uscz1vLmN1cnJlbnRUYXJnZXQ7aWYobz1vLmxpc3RlbmVyLGkhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTtPcihsLG8scyksYT1pfWVsc2UgZm9yKHU9MDt1PHIubGVuZ3RoO3UrKyl7aWYoaT0obz1yW3VdKS5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldCxvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO09yKGwsbyxzKSxhPWl9fX1pZihVZSl0aHJvdyBlPVZlLFVlPSExLFZlPW51bGwsZX1mdW5jdGlvbiBWcihlLG4pe3ZhciB0PW5baGxdO3ZvaWQgMD09PXQmJih0PW5baGxdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjt0LmhhcyhyKXx8KEhyKG4sZSwyLCExKSx0LmFkZChyKSl9ZnVuY3Rpb24gQXIoZSxuLHQpe3ZhciByPTA7biYmKHJ8PTQpLEhyKHQsZSxyLG4pfXZhciBCcj0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBXcihlKXtpZighZVtCcl0pe2VbQnJdPSEwLHUuZm9yRWFjaCgoZnVuY3Rpb24obil7InNlbGVjdGlvbmNoYW5nZSIhPT1uJiYoSXIuaGFzKG4pfHxBcihuLCExLGUpLEFyKG4sITAsZSkpfSkpO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW0JyXXx8KG5bQnJdPSEwLEFyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gSHIoZSxuLHQscil7c3dpdGNoKEduKG4pKXtjYXNlIDE6dmFyIGw9JG47YnJlYWs7Y2FzZSA0Omw9cW47YnJlYWs7ZGVmYXVsdDpsPUtufXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLCFGZXx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1uJiYid2hlZWwiIT09bnx8KGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIobix0LHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKG4sdCwhMSl9ZnVuY3Rpb24gUXIoZSxuLHQscixsKXt2YXIgYT1yO2lmKCEoMSZufHwyJm58fG51bGw9PT1yKSllOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciB1PXIudGFnO2lmKDM9PT11fHw0PT09dSl7dmFyIG89ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihvPT09bHx8OD09PW8ubm9kZVR5cGUmJm8ucGFyZW50Tm9kZT09PWwpYnJlYWs7aWYoND09PXUpZm9yKHU9ci5yZXR1cm47bnVsbCE9PXU7KXt2YXIgaT11LnRhZztpZigoMz09PWl8fDQ9PT1pKSYmKChpPXUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pPT09bHx8OD09PWkubm9kZVR5cGUmJmkucGFyZW50Tm9kZT09PWwpKXJldHVybjt1PXUucmV0dXJufWZvcig7bnVsbCE9PW87KXtpZihudWxsPT09KHU9eWwobykpKXJldHVybjtpZig1PT09KGk9dS50YWcpfHw2PT09aSl7cj1hPXU7Y29udGludWUgZX1vPW8ucGFyZW50Tm9kZX19cj1yLnJldHVybn1MZSgoZnVuY3Rpb24oKXt2YXIgcj1hLGw9d2UodCksdT1bXTtlOnt2YXIgbz1Uci5nZXQoZSk7aWYodm9pZCAwIT09byl7dmFyIGk9Y3Qscz1lO3N3aXRjaChlKXtjYXNlImtleXByZXNzIjppZigwPT09dHQodCkpYnJlYWsgZTtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmk9TnQ7YnJlYWs7Y2FzZSJmb2N1c2luIjpzPSJmb2N1cyIsaT1ndDticmVhaztjYXNlImZvY3Vzb3V0IjpzPSJibHVyIixpPWd0O2JyZWFrO2Nhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmk9Z3Q7YnJlYWs7Y2FzZSJjbGljayI6aWYoMj09PXQuYnV0dG9uKWJyZWFrIGU7Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2Vtb3ZlIjpjYXNlIm1vdXNldXAiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlImNvbnRleHRtZW51IjppPW10O2JyZWFrO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnZXhpdCI6Y2FzZSJkcmFnbGVhdmUiOmNhc2UiZHJhZ292ZXIiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmk9aHQ7YnJlYWs7Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2UidG91Y2hzdGFydCI6aT1QdDticmVhaztjYXNlIHpyOmNhc2UgTnI6Y2FzZSBfcjppPXZ0O2JyZWFrO2Nhc2UgUHI6aT1UdDticmVhaztjYXNlInNjcm9sbCI6aT1kdDticmVhaztjYXNlIndoZWVsIjppPU10O2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOmk9YnQ7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOgpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9X3R9dmFyIGM9ISEoNCZuKSxmPSFjJiYic2Nyb2xsIj09PWUsZD1jP251bGwhPT1vP28rIkNhcHR1cmUiOm51bGw6bztjPVtdO2Zvcih2YXIgcCxtPXI7bnVsbCE9PW07KXt2YXIgaD0ocD1tKS5zdGF0ZU5vZGU7aWYoNT09PXAudGFnJiZudWxsIT09aCYmKHA9aCxudWxsIT09ZCYmKG51bGwhPShoPU1lKG0sZCkpJiZjLnB1c2goanIobSxoLHApKSkpLGYpYnJlYWs7bT1tLnJldHVybn0wPGMubGVuZ3RoJiYobz1uZXcgaShvLHMsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6byxsaXN0ZW5lcnM6Y30pKX19aWYoISg3Jm4pKXtpZihpPSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lLCghKG89Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSl8fHQ9PT1rZXx8IShzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCl8fCF5bChzKSYmIXNbbWxdKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhpPXIsbnVsbCE9PShzPShzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQpP3lsKHMpOm51bGwpJiYocyE9PShmPVdlKHMpKXx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1tdCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwoYz1fdCxoPSJvblBvaW50ZXJMZWF2ZSIsZD0ib25Qb2ludGVyRW50ZXIiLG09InBvaW50ZXIiKSxmPW51bGw9PWk/bzprbChpKSxwPW51bGw9PXM/bzprbChzKSwobz1uZXcgYyhoLG0rImxlYXZlIixpLHQsbCkpLnRhcmdldD1mLG8ucmVsYXRlZFRhcmdldD1wLGg9bnVsbCx5bChsKT09PXImJigoYz1uZXcgYyhkLG0rImVudGVyIixzLHQsbCkpLnRhcmdldD1wLGMucmVsYXRlZFRhcmdldD1mLGg9YyksZj1oLGkmJnMpZTp7Zm9yKGQ9cyxtPTAscD1jPWk7cDtwPXFyKHApKW0rKztmb3IocD0wLGg9ZDtoO2g9cXIoaCkpcCsrO2Zvcig7MDxtLXA7KWM9cXIoYyksbS0tO2Zvcig7MDxwLW07KWQ9cXIoZCkscC0tO2Zvcig7bS0tOyl7aWYoYz09PWR8fG51bGwhPT1kJiZjPT09ZC5hbHRlcm5hdGUpYnJlYWsgZTtjPXFyKGMpLGQ9cXIoZCl9Yz1udWxsfWVsc2UgYz1udWxsO251bGwhPT1pJiZLcih1LG8saSxjLCExKSxudWxsIT09cyYmbnVsbCE9PWYmJktyKHUsZixzLGMsITApfWlmKCJzZWxlY3QiPT09KGk9KG89cj9rbChyKTp3aW5kb3cpLm5vZGVOYW1lJiZvLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09aSYmImZpbGUiPT09by50eXBlKXZhciBnPVh0O2Vsc2UgaWYoUXQobykpaWYoR3QpZz11cjtlbHNle2c9bHI7dmFyIHY9cnJ9ZWxzZShpPW8ubm9kZU5hbWUpJiYiaW5wdXQiPT09aS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PW8udHlwZXx8InJhZGlvIj09PW8udHlwZSkmJihnPWFyKTtzd2l0Y2goZyYmKGc9ZyhlLHIpKT9qdCh1LGcsdCxsKToodiYmdihlLG8sciksImZvY3Vzb3V0Ij09PWUmJih2PW8uX3dyYXBwZXJTdGF0ZSkmJnYuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVlKG8sIm51bWJlciIsby52YWx1ZSkpLHY9cj9rbChyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjooUXQodil8fCJ0cnVlIj09PXYuY29udGVudEVkaXRhYmxlKSYmKGdyPXYsdnI9cix5cj1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp5cj12cj1ncj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpicj0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6YnI9ITEsa3IodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihocilicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmtyKHUsdCxsKX12YXIgeTtpZihSdCllOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBlO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgZX1iPXZvaWQgMH1lbHNlIFd0P0F0KGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKE90JiYia28iIT09dC5sb2NhbGUmJihXdHx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJld0JiYoeT1udCgpKTooSm49InZhbHVlImluKFpuPWwpP1puLnZhbHVlOlpuLnRleHRDb250ZW50LFd0PSEwKSksMDwodj0kcihyLGIpKS5sZW5ndGgmJihiPW5ldyBrdChiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6dn0pLHk/Yi5kYXRhPXk6bnVsbCE9PSh5PUJ0KHQpKSYmKGIuZGF0YT15KSkpLCh5PUl0P2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBCdChuKTtjYXNlImtleXByZXNzIjpyZXR1cm4gMzIhPT1uLndoaWNoP251bGw6KFZ0PSEwLFV0KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuKGU9bi5kYXRhKT09PVV0JiZWdD9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsdCk6ZnVuY3Rpb24oZSxuKXtpZihXdClyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IVJ0JiZBdChlLG4pPyhlPW50KCksZXQ9Sm49Wm49bnVsbCxXdD0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEobi5jdHJsS2V5fHxuLmFsdEtleXx8bi5tZXRhS2V5KXx8bi5jdHJsS2V5JiZuLmFsdEtleSl7aWYobi5jaGFyJiYxPG4uY2hhci5sZW5ndGgpcmV0dXJuIG4uY2hhcgo7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gT3QmJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYoMDwocj0kcihyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGw9bmV3IGt0KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdCxsKSx1LnB1c2goe2V2ZW50OmwsbGlzdGVuZXJzOnJ9KSxsLmRhdGE9eSkpfVVyKHUsbil9KSl9ZnVuY3Rpb24ganIoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiAkcihlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9TWUoZSx0KSkmJnIudW5zaGlmdChqcihlLGEsbCkpLG51bGwhPShhPU1lKGUsbikpJiZyLnB1c2goanIoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiBxcihlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkb3tlPWUucmV0dXJufXdoaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gS3IoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1NZSh0LGEpKSYmdS51bnNoaWZ0KGpyKHQsaSxvKSk6bHx8bnVsbCE9KGk9TWUodCxhKSkmJnUucHVzaChqcih0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIFlyPS9cclxuPy9nLFhyPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gR3IoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoWXIsIlxuIikucmVwbGFjZShYciwiIil9ZnVuY3Rpb24gWnIoZSxuLHQpe2lmKG49R3IobiksR3IoZSkhPT1uJiZ0KXRocm93IEVycm9yKGEoNDI1KSl9ZnVuY3Rpb24gSnIoKXt9dmFyIGVsPW51bGwsbmw9bnVsbDtmdW5jdGlvbiB0bChlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBybD0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxsbD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsYWw9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsdWw9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWFsP2Z1bmN0aW9uKGUpe3JldHVybiBhbC5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gob2wpfTpybDtmdW5jdGlvbiBvbChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3Rocm93IGV9KSl9ZnVuY3Rpb24gaWwoZSxuKXt2YXIgdD1uLHI9MDtkb3t2YXIgbD10Lm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQodCksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PSh0PWwuZGF0YSkpe2lmKDA9PT1yKXJldHVybiBlLnJlbW92ZUNoaWxkKGwpLHZvaWQgSG4obik7ci0tfWVsc2UiJCIhPT10JiYiJD8iIT09dCYmIiQhIiE9PXR8fHIrKzt0PWx9d2hpbGUodCk7SG4obil9ZnVuY3Rpb24gc2woZSl7Zm9yKDtudWxsIT1lO2U9ZS5uZXh0U2libGluZyl7dmFyIG49ZS5ub2RlVHlwZTtpZigxPT09bnx8Mz09PW4pYnJlYWs7aWYoOD09PW4pe2lmKCIkIj09PShuPWUuZGF0YSl8fCIkISI9PT1ufHwiJD8iPT09bilicmVhaztpZigiLyQiPT09bilyZXR1cm4gbnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gY2woZSl7ZT1lLnByZXZpb3VzU2libGluZztmb3IodmFyIG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiJCI9PT10fHwiJCEiPT09dHx8IiQ/Ij09PXQpe2lmKDA9PT1uKXJldHVybiBlO24tLX1lbHNlIi8kIj09PXQmJm4rK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfXZhciBmbD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxkbD0iX19yZWFjdEZpYmVyJCIrZmwscGw9Il9fcmVhY3RQcm9wcyQiK2ZsLG1sPSJfX3JlYWN0Q29udGFpbmVyJCIrZmwsaGw9Il9fcmVhY3RFdmVudHMkIitmbCxnbD0iX19yZWFjdExpc3RlbmVycyQiK2ZsLHZsPSJfX3JlYWN0SGFuZGxlcyQiK2ZsO2Z1bmN0aW9uIHlsKGUpe3ZhciBuPWVbZGxdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciB0PWUucGFyZW50Tm9kZTt0Oyl7aWYobj10W21sXXx8dFtkbF0pe2lmKHQ9bi5hbHRlcm5hdGUsbnVsbCE9PW4uY2hpbGR8fG51bGwhPT10JiZudWxsIT09dC5jaGlsZClmb3IoZT1jbChlKTtudWxsIT09ZTspe2lmKHQ9ZVtkbF0pcmV0dXJuIHQ7ZT1jbChlKX1yZXR1cm4gbn10PShlPXQpLnBhcmVudE5vZGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmwoZSl7cmV0dXJuIShlPWVbZGxdfHxlW21sXSl8fDUhPT1lLnRhZyYmNiE9PWUudGFnJiYxMyE9PWUudGFnJiYzIT09ZS50YWc/bnVsbDplfWZ1bmN0aW9uIGtsKGUpe2lmKDU9PT1lLnRhZ3x8Nj09PWUudGFnKXJldHVybiBlLnN0YXRlTm9kZTt0aHJvdyBFcnJvcihhKDMzKSl9ZnVuY3Rpb24gd2woZSl7cmV0dXJuIGVbcGxdfHxudWxsfXZhciBTbD1bXSx4bD0tMTtmdW5jdGlvbiBFbChlKXtyZXR1cm57Y3VycmVudDplfX1mdW5jdGlvbiBDbChlKXswPnhsfHwoZS5jdXJyZW50PVNsW3hsXSxTbFt4bF09bnVsbCx4bC0tKX1mdW5jdGlvbiB6bChlLG4pe3hsKyssU2xbeGxdPWUuY3VycmVudCxlLmN1cnJlbnQ9bn0KdmFyIE5sPXt9LF9sPUVsKE5sKSxQbD1FbCghMSksVGw9Tmw7ZnVuY3Rpb24gTGwoZSxuKXt2YXIgdD1lLnR5cGUuY29udGV4dFR5cGVzO2lmKCF0KXJldHVybiBObDt2YXIgcj1lLnN0YXRlTm9kZTtpZihyJiZyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9PT1uKXJldHVybiByLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0O3ZhciBsLGE9e307Zm9yKGwgaW4gdClhW2xdPW5bbF07cmV0dXJuIHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1uLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksYX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gbnVsbCE9KGU9ZS5jaGlsZENvbnRleHRUeXBlcyl9ZnVuY3Rpb24gRmwoKXtDbChQbCksQ2woX2wpfWZ1bmN0aW9uIFJsKGUsbix0KXtpZihfbC5jdXJyZW50IT09TmwpdGhyb3cgRXJyb3IoYSgxNjgpKTt6bChfbCxuKSx6bChQbCx0KX1mdW5jdGlvbiBEbChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYobj1uLmNoaWxkQ29udGV4dFR5cGVzLCJmdW5jdGlvbiIhPXR5cGVvZiByLmdldENoaWxkQ29udGV4dClyZXR1cm4gdDtmb3IodmFyIGwgaW4gcj1yLmdldENoaWxkQ29udGV4dCgpKWlmKCEobCBpbiBuKSl0aHJvdyBFcnJvcihhKDEwOCxIKGUpfHwiVW5rbm93biIsbCkpO3JldHVybiBPKHt9LHQscil9ZnVuY3Rpb24gSWwoZSl7cmV0dXJuIGU9KGU9ZS5zdGF0ZU5vZGUpJiZlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0fHxObCxUbD1fbC5jdXJyZW50LHpsKF9sLGUpLHpsKFBsLFBsLmN1cnJlbnQpLCEwfWZ1bmN0aW9uIE9sKGUsbix0KXt2YXIgcj1lLnN0YXRlTm9kZTtpZighcil0aHJvdyBFcnJvcihhKDE2OSkpO3Q/KGU9RGwoZSxuLFRsKSxyLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0PWUsQ2woUGwpLENsKF9sKSx6bChfbCxlKSk6Q2woUGwpLHpsKFBsLHQpfXZhciBVbD1udWxsLFZsPSExLEFsPSExO2Z1bmN0aW9uIEJsKGUpe251bGw9PT1VbD9VbD1bZV06VWwucHVzaChlKX1mdW5jdGlvbiBXbCgpe2lmKCFBbCYmbnVsbCE9PVVsKXtBbD0hMDt2YXIgZT0wLG49a247dHJ5e3ZhciB0PVVsO2Zvcihrbj0xO2U8dC5sZW5ndGg7ZSsrKXt2YXIgcj10W2VdO2Rve3I9cighMCl9d2hpbGUobnVsbCE9PXIpfVVsPW51bGwsVmw9ITF9Y2F0Y2gobil7dGhyb3cgbnVsbCE9PVVsJiYoVWw9VWwuc2xpY2UoZSsxKSkscWUoSmUsV2wpLG59ZmluYWxseXtrbj1uLEFsPSExfX1yZXR1cm4gbnVsbH12YXIgSGw9W10sUWw9MCxqbD1udWxsLCRsPTAscWw9W10sS2w9MCxZbD1udWxsLFhsPTEsR2w9IiI7ZnVuY3Rpb24gWmwoZSxuKXtIbFtRbCsrXT0kbCxIbFtRbCsrXT1qbCxqbD1lLCRsPW59ZnVuY3Rpb24gSmwoZSxuLHQpe3FsW0tsKytdPVhsLHFsW0tsKytdPUdsLHFsW0tsKytdPVlsLFlsPWU7dmFyIHI9WGw7ZT1HbDt2YXIgbD0zMi11bihyKS0xO3ImPX4oMTw8bCksdCs9MTt2YXIgYT0zMi11bihuKStsO2lmKDMwPGEpe3ZhciB1PWwtbCU1O2E9KHImKDE8PHUpLTEpLnRvU3RyaW5nKDMyKSxyPj49dSxsLT11LFhsPTE8PDMyLXVuKG4pK2x8dDw8bHxyLEdsPWErZX1lbHNlIFhsPTE8PGF8dDw8bHxyLEdsPWV9ZnVuY3Rpb24gZWEoZSl7bnVsbCE9PWUucmV0dXJuJiYoWmwoZSwxKSxKbChlLDEsMCkpfWZ1bmN0aW9uIG5hKGUpe2Zvcig7ZT09PWpsOylqbD1IbFstLVFsXSxIbFtRbF09bnVsbCwkbD1IbFstLVFsXSxIbFtRbF09bnVsbDtmb3IoO2U9PT1ZbDspWWw9cWxbLS1LbF0scWxbS2xdPW51bGwsR2w9cWxbLS1LbF0scWxbS2xdPW51bGwsWGw9cWxbLS1LbF0scWxbS2xdPW51bGx9dmFyIHRhPW51bGwscmE9bnVsbCxsYT0hMSxhYT1udWxsO2Z1bmN0aW9uIHVhKGUsbil7dmFyIHQ9THMoNSxudWxsLG51bGwsMCk7dC5lbGVtZW50VHlwZT0iREVMRVRFRCIsdC5zdGF0ZU5vZGU9bix0LnJldHVybj1lLG51bGw9PT0obj1lLmRlbGV0aW9ucyk/KGUuZGVsZXRpb25zPVt0XSxlLmZsYWdzfD0xNik6bi5wdXNoKHQpfWZ1bmN0aW9uIG9hKGUsbil7c3dpdGNoKGUudGFnKXtjYXNlIDU6dmFyIHQ9ZS50eXBlO3JldHVybiBudWxsIT09KG49MSE9PW4ubm9kZVR5cGV8fHQudG9Mb3dlckNhc2UoKSE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bix0YT1lLHJhPXNsKG4uZmlyc3RDaGlsZCksITApO2Nhc2UgNjpyZXR1cm4gbnVsbCE9PShuPSIiPT09ZS5wZW5kaW5nUHJvcHN8fDMhPT1uLm5vZGVUeXBlP251bGw6bikmJihlLnN0YXRlTm9kZT1uLHRhPWUscmE9bnVsbCwhMCk7Y2FzZSAxMzpyZXR1cm4gbnVsbCE9PShuPTghPT1uLm5vZGVUeXBlP251bGw6bikmJih0PW51bGwhPT1ZbD97aWQ6WGwsb3ZlcmZsb3c6R2x9Om51bGwsZS5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOm4sdHJlZUNvbnRleHQ6dCxyZXRyeUxhbmU6MTA3Mzc0MTgyNH0sKHQ9THMoMTgsbnVsbCxudWxsLDApKS5zdGF0ZU5vZGU9bix0LnJldHVybj1lLGUuY2hpbGQ9dCx0YT1lLHJhPW51bGwsITApO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlhKGUpe3JldHVybiEoISgxJmUubW9kZSl8fDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBzYShlKXtpZihsYSl7dmFyIG49cmE7aWYobil7dmFyIHQ9bjtpZighb2EoZSxuKSl7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtuPXNsKHQubmV4dFNpYmxpbmcpO3ZhciByPXRhO24mJm9hKGUsbik/dWEocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGE9ITEsdGE9ZSl9fWVsc2V7aWYoaWEoZSkpdGhyb3cgRXJyb3IoYSg0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsYT0hMSx0YT1lfX19ZnVuY3Rpb24gY2EoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO3RhPWV9ZnVuY3Rpb24gZmEoZSl7aWYoZSE9PXRhKXJldHVybiExO2lmKCFsYSlyZXR1cm4gY2EoZSksbGE9ITAsITE7dmFyIG4KO2lmKChuPTMhPT1lLnRhZykmJiEobj01IT09ZS50YWcpJiYobj0iaGVhZCIhPT0obj1lLnR5cGUpJiYiYm9keSIhPT1uJiYhdGwoZS50eXBlLGUubWVtb2l6ZWRQcm9wcykpLG4mJihuPXJhKSl7aWYoaWEoZSkpdGhyb3cgZGEoKSxFcnJvcihhKDQxOCkpO2Zvcig7bjspdWEoZSxuKSxuPXNsKG4ubmV4dFNpYmxpbmcpfWlmKGNhKGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IoYSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLG49MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciB0PWUuZGF0YTtpZigiLyQiPT09dCl7aWYoMD09PW4pe3JhPXNsKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9bi0tfWVsc2UiJCIhPT10JiYiJCEiIT09dCYmIiQ/IiE9PXR8fG4rK31lPWUubmV4dFNpYmxpbmd9cmE9bnVsbH19ZWxzZSByYT10YT9zbChlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBkYSgpe2Zvcih2YXIgZT1yYTtlOyllPXNsKGUubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIHBhKCl7cmE9dGE9bnVsbCxsYT0hMX1mdW5jdGlvbiBtYShlKXtudWxsPT09YWE/YWE9W2VdOmFhLnB1c2goZSl9dmFyIGhhPWsuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7ZnVuY3Rpb24gZ2EoZSxuKXtpZihlJiZlLmRlZmF1bHRQcm9wcyl7Zm9yKHZhciB0IGluIG49Tyh7fSxuKSxlPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW5bdF0mJihuW3RdPWVbdF0pO3JldHVybiBufXJldHVybiBufXZhciB2YT1FbChudWxsKSx5YT1udWxsLGJhPW51bGwsa2E9bnVsbDtmdW5jdGlvbiB3YSgpe2thPWJhPXlhPW51bGx9ZnVuY3Rpb24gU2EoZSl7dmFyIG49dmEuY3VycmVudDtDbCh2YSksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24geGEoZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBFYShlLG4pe3lhPWUsa2E9YmE9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJighIShlLmxhbmVzJm4pJiYoa289ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIENhKGUpe3ZhciBuPWUuX2N1cnJlbnRWYWx1ZTtpZihrYSE9PWUpaWYoZT17Y29udGV4dDplLG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1iYSl7aWYobnVsbD09PXlhKXRocm93IEVycm9yKGEoMzA4KSk7YmE9ZSx5YS5kZXBlbmRlbmNpZXM9e2xhbmVzOjAsZmlyc3RDb250ZXh0OmV9fWVsc2UgYmE9YmEubmV4dD1lO3JldHVybiBufXZhciB6YT1udWxsO2Z1bmN0aW9uIE5hKGUpe251bGw9PT16YT96YT1bZV06emEucHVzaChlKX1mdW5jdGlvbiBfYShlLG4sdCxyKXt2YXIgbD1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09bD8odC5uZXh0PXQsTmEobikpOih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxuLmludGVybGVhdmVkPXQsUGEoZSxyKX1mdW5jdGlvbiBQYShlLG4pe2UubGFuZXN8PW47dmFyIHQ9ZS5hbHRlcm5hdGU7Zm9yKG51bGwhPT10JiYodC5sYW5lc3w9biksdD1lLGU9ZS5yZXR1cm47bnVsbCE9PWU7KWUuY2hpbGRMYW5lc3w9bixudWxsIT09KHQ9ZS5hbHRlcm5hdGUpJiYodC5jaGlsZExhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlOm51bGx9dmFyIFRhPSExO2Z1bmN0aW9uIExhKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxpbnRlcmxlYXZlZDpudWxsLGxhbmVzOjB9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gTWEoZSxuKXtlPWUudXBkYXRlUXVldWUsbi51cGRhdGVRdWV1ZT09PWUmJihuLnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGVmZmVjdHM6ZS5lZmZlY3RzfSl9ZnVuY3Rpb24gRmEoZSxuKXtyZXR1cm57ZXZlbnRUaW1lOmUsbGFuZTpuLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gUmEoZSxuLHQpe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwyJl9pKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP24ubmV4dD1uOihuLm5leHQ9bC5uZXh0LGwubmV4dD1uKSxyLnBlbmRpbmc9bixQYShlLHQpfXJldHVybiBudWxsPT09KGw9ci5pbnRlcmxlYXZlZCk/KG4ubmV4dD1uLE5hKHIpKToobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5pbnRlcmxlYXZlZD1uLFBhKGUsdCl9ZnVuY3Rpb24gRGEoZSxuLHQpe2lmKG51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKSYmKG49bi5zaGFyZWQsNDE5NDI0MCZ0KSl7dmFyIHI9bi5sYW5lczt0fD1yJj1lLnBlbmRpbmdMYW5lcyxuLmxhbmVzPXQsYm4oZSx0KX19ZnVuY3Rpb24gSWEoZSxuKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJnQ9PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PSh0PXQuZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIHU9e2V2ZW50VGltZTp0LmV2ZW50VGltZSxsYW5lOnQubGFuZSx0YWc6dC50YWcscGF5bG9hZDp0LnBheWxvYWQsY2FsbGJhY2s6dC5jYWxsYmFjayxuZXh0Om51bGx9O251bGw9PT1hP2w9YT11OmE9YS5uZXh0PXUsdD10Lm5leHR9d2hpbGUobnVsbCE9PXQpO251bGw9PT1hP2w9YT1uOmE9YS5uZXh0PW59ZWxzZSBsPWE9bjtyZXR1cm4gdD17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsCnNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sdm9pZChlLnVwZGF0ZVF1ZXVlPXQpfW51bGw9PT0oZT10Lmxhc3RCYXNlVXBkYXRlKT90LmZpcnN0QmFzZVVwZGF0ZT1uOmUubmV4dD1uLHQubGFzdEJhc2VVcGRhdGU9bn1mdW5jdGlvbiBPYShlLG4sdCxyKXt2YXIgbD1lLnVwZGF0ZVF1ZXVlO1RhPSExO3ZhciBhPWwuZmlyc3RCYXNlVXBkYXRlLHU9bC5sYXN0QmFzZVVwZGF0ZSxvPWwuc2hhcmVkLnBlbmRpbmc7aWYobnVsbCE9PW8pe2wuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1vLHM9aS5uZXh0O2kubmV4dD1udWxsLG51bGw9PT11P2E9czp1Lm5leHQ9cyx1PWk7dmFyIGM9ZS5hbHRlcm5hdGU7bnVsbCE9PWMmJigobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKHU9MCxjPXM9aT1udWxsLG89YTs7KXt2YXIgZD1vLmxhbmUscD1vLmV2ZW50VGltZTtpZigociZkKT09PWQpe251bGwhPT1jJiYoYz1jLm5leHQ9e2V2ZW50VGltZTpwLGxhbmU6MCx0YWc6by50YWcscGF5bG9hZDpvLnBheWxvYWQsY2FsbGJhY2s6by5jYWxsYmFjayxuZXh0Om51bGx9KTtlOnt2YXIgbT1lLGg9bztzd2l0Y2goZD1uLHA9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKHAsZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwocCxmLGQpOm0pKWJyZWFrIGU7Zj1PKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6VGE9ITB9fW51bGwhPT1vLmNhbGxiYWNrJiYwIT09by5sYW5lJiYoZS5mbGFnc3w9NjQsbnVsbD09PShkPWwuZWZmZWN0cyk/bC5lZmZlY3RzPVtvXTpkLnB1c2gobykpfWVsc2UgcD17ZXZlbnRUaW1lOnAsbGFuZTpkLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLGk9Zik6Yz1jLm5leHQ9cCx1fD1kO2lmKG51bGw9PT0obz1vLm5leHQpKXtpZihudWxsPT09KG89bC5zaGFyZWQucGVuZGluZykpYnJlYWs7bz0oZD1vKS5uZXh0LGQubmV4dD1udWxsLGwubGFzdEJhc2VVcGRhdGU9ZCxsLnNoYXJlZC5wZW5kaW5nPW51bGx9fWlmKG51bGw9PT1jJiYoaT1mKSxsLmJhc2VTdGF0ZT1pLGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGwhPT0obj1sLnNoYXJlZC5pbnRlcmxlYXZlZCkpe2w9bjtkb3t1fD1sLmxhbmUsbD1sLm5leHR9d2hpbGUobCE9PW4pfWVsc2UgbnVsbD09PWEmJihsLnNoYXJlZC5sYW5lcz0wKTtJaXw9dSxlLmxhbmVzPXUsZS5tZW1vaXplZFN0YXRlPWZ9fWZ1bmN0aW9uIFVhKGUsbix0KXtpZihlPW4uZWZmZWN0cyxuLmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3Iobj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5jYWxsYmFjaztpZihudWxsIT09bCl7aWYoci5jYWxsYmFjaz1udWxsLHI9dCwiZnVuY3Rpb24iIT10eXBlb2YgbCl0aHJvdyBFcnJvcihhKDE5MSxsKSk7bC5jYWxsKHIpfX19dmFyIFZhPShuZXcgci5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gQWEoZSxuLHQscil7dD1udWxsPT0odD10KHIsbj1lLm1lbW9pemVkU3RhdGUpKT9uOk8oe30sbix0KSxlLm1lbW9pemVkU3RhdGU9dCwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPXQpfXZhciBCYT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbHMpJiZXZShlKT09PWV9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EucGF5bG9hZD1uLG51bGwhPXQmJihhLmNhbGxiYWNrPXQpLG51bGwhPT0obj1SYShlLGEsbCkpJiYodHMobixlLGwsciksRGEobixlLGwpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLG4sdCl7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj1lcygpLGw9bnMoZSksYT1GYShyLGwpO2EudGFnPTEsYS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPVJhKGUsYSxsKSkmJih0cyhuLGUsbCxyKSxEYShuLGUsbCkpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciB0PWVzKCkscj1ucyhlKSxsPUZhKHQscik7bC50YWc9MixudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KG49UmEoZSxsLHIpKSYmKHRzKG4sZSxyLHQpLERhKG4sZSxyKSl9fTtmdW5jdGlvbiBXYShlLG4sdCxyLGwsYSx1KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSx1KTohbi5wcm90b3R5cGV8fCFuLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8KCFpcih0LHIpfHwhaXIobCxhKSl9ZnVuY3Rpb24gSGEoZSxuLHQpe3ZhciByPSExLGw9TmwsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1DYShhKToobD1NbChuKT9UbDpfbC5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9MbChlLGwpOk5sKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9QmEsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBRYShlLG4sdCxyKXtlPW4uc3RhdGUsCiJmdW5jdGlvbiI9PXR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh0LHIpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksbi5zdGF0ZSE9PWUmJkJhLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpfWZ1bmN0aW9uIGphKGUsbix0LHIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucHJvcHM9dCxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxsLnJlZnM9VmEsTGEoZSk7dmFyIGE9bi5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2wuY29udGV4dD1DYShhKTooYT1NbChuKT9UbDpfbC5jdXJyZW50LGwuY29udGV4dD1MbChlLGEpKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YoYT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihBYShlLG4sYSx0KSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgbC5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50fHwobj1sLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudFdpbGxNb3VudCYmbC5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxuIT09bC5zdGF0ZSYmQmEuZW5xdWV1ZVJlcGxhY2VTdGF0ZShsLGwuc3RhdGUsbnVsbCksT2EoZSx0LGwsciksbC5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLmNvbXBvbmVudERpZE1vdW50JiYoZS5mbGFnc3w9NDE5NDMwOCl9ZnVuY3Rpb24gJGEoZSxuLHQpe2lmKG51bGwhPT0oZT10LnJlZikmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiYib2JqZWN0IiE9dHlwZW9mIGUpe2lmKHQuX293bmVyKXtpZih0PXQuX293bmVyKXtpZigxIT09dC50YWcpdGhyb3cgRXJyb3IoYSgzMDkpKTt2YXIgcj10LnN0YXRlTm9kZX1pZighcil0aHJvdyBFcnJvcihhKDE0NyxlKSk7dmFyIGw9cix1PSIiK2U7cmV0dXJuIG51bGwhPT1uJiZudWxsIT09bi5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnJlZiYmbi5yZWYuX3N0cmluZ1JlZj09PXU/bi5yZWY6KG49ZnVuY3Rpb24oZSl7dmFyIG49bC5yZWZzO249PT1WYSYmKG49bC5yZWZzPXt9KSxudWxsPT09ZT9kZWxldGUgblt1XTpuW3VdPWV9LG4uX3N0cmluZ1JlZj11LG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihhKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihhKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gcWEoZSxuKXt0aHJvdyBlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuKSxFcnJvcihhKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09ZT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gS2EoZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gWWEoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPUZzKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiB1KG4sdCxyKXtyZXR1cm4gbi5pbmRleD1yLGU/bnVsbCE9PShyPW4uYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTx0PyhuLmZsYWdzfD0yLHQpOnI6KG4uZmxhZ3N8PTIsdCk6KG4uZmxhZ3N8PTEwNDg1NzYsdCl9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gZSYmbnVsbD09PW4uYWx0ZXJuYXRlJiYobi5mbGFnc3w9Miksbn1mdW5jdGlvbiBpKGUsbix0LHIpe3JldHVybiBudWxsPT09bnx8NiE9PW4udGFnPygobj1Pcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gcyhlLG4sdCxyKXt2YXIgYT10LnR5cGU7cmV0dXJuIGE9PT14P2YoZSxuLHQucHJvcHMuY2hpbGRyZW4scix0LmtleSk6bnVsbCE9PW4mJihuLmVsZW1lbnRUeXBlPT09YXx8Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmYS4kJHR5cGVvZj09PU0mJkthKGEpPT09bi50eXBlKT8oKHI9bChuLHQucHJvcHMpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscik6KChyPVJzKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLHIpKS5yZWY9JGEoZSxuLHQpLHIucmV0dXJuPWUscil9ZnVuY3Rpb24gYyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDQhPT1uLnRhZ3x8bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyE9PXQuY29udGFpbmVySW5mb3x8bi5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24hPT10LmltcGxlbWVudGF0aW9uPygobj1Vcyh0LGUubW9kZSxyKSkucmV0dXJuPWUsbik6KChuPWwobix0LmNoaWxkcmVufHxbXSkpLnJldHVybj1lLG4pfWZ1bmN0aW9uIGYoZSxuLHQscixhKXtyZXR1cm4gbnVsbD09PW58fDchPT1uLnRhZz8oKG49RHModCxlLm1vZGUscixhKSkucmV0dXJuPWUsbik6KChuPWwobix0KSkucmV0dXJuPWUsbil9ZnVuY3Rpb24gZChlLG4sdCl7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4obj1PcygiIituLGUubW9kZSx0KSkucmV0dXJuPWUsbjtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXsKc3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4odD1ScyhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPSRhKGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBTOnJldHVybihuPVVzKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgTTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKG5lKG4pfHxEKG4pKXJldHVybihuPURzKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47cWEoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDppKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIHc6cmV0dXJuIHQua2V5PT09bD9zKGUsbix0LHIpOm51bGw7Y2FzZSBTOnJldHVybiB0LmtleT09PWw/YyhlLG4sdCxyKTpudWxsO2Nhc2UgTTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYobmUodCl8fEQodCkpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLG4sdCxyLG51bGwpO3FhKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIGkobixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgdzpyZXR1cm4gcyhuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBTOnJldHVybiBjKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIE06cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYobmUocil8fEQocikpcmV0dXJuIGYobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtxYShuLHIpfXJldHVybiBudWxsfWZ1bmN0aW9uIGgobCxhLG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9YSxoPWE9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSxhPXUodixhLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxhJiZabChsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKGE9dShmLGEsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxhJiZabChsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksYT11KGcsYSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSkpLGxhJiZabChsLGgpLHN9ZnVuY3Rpb24gZyhsLG8saSxzKXt2YXIgYz1EKGkpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBjKXRocm93IEVycm9yKGEoMTUwKSk7aWYobnVsbD09KGk9Yy5jYWxsKGkpKSl0aHJvdyBFcnJvcihhKDE1MSkpO2Zvcih2YXIgZj1jPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSxvPXUoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxhJiZabChsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz11KHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gbGEmJlpsKGwsZyksY31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLG89dSh5LG8sZyksbnVsbD09PWY/Yz15OmYuc2libGluZz15LGY9eSk7cmV0dXJuIGUmJmguZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4obCxlKX0pKSxsYSYmWmwobCxnKSxjfXJldHVybiBmdW5jdGlvbiBlKHIsYSx1LGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdSYmbnVsbCE9PXUmJnUudHlwZT09PXgmJm51bGw9PT11LmtleSYmKHU9dS5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSl7c3dpdGNoKHUuJCR0eXBlb2Ype2Nhc2UgdzplOntmb3IodmFyIHM9dS5rZXksYz1hO251bGwhPT1jOyl7aWYoYy5rZXk9PT1zKXtpZigocz11LnR5cGUpPT09eCl7aWYoNz09PWMudGFnKXt0KHIsYy5zaWJsaW5nKSwoYT1sKGMsdS5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1yLHI9YTticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1zfHwib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zJiZzLiQkdHlwZW9mPT09TSYmS2Eocyk9PT1jLnR5cGUpe3QocixjLnNpYmxpbmcpLChhPWwoYyx1LnByb3BzKSkucmVmPSRhKHIsYyx1KSxhLnJldHVybj1yLHI9YTticmVhayBlfXQocixjKTticmVha31uKHIsYyksYz1jLnNpYmxpbmd9dS50eXBlPT09eD8oKGE9RHModS5wcm9wcy5jaGlsZHJlbixyLm1vZGUsaSx1LmtleSkpLnJldHVybj1yLHI9YSk6KChpPVJzKHUudHlwZSx1LmtleSx1LnByb3BzLG51bGwsci5tb2RlLGkpKS5yZWY9JGEocixhLHUpLAppLnJldHVybj1yLHI9aSl9cmV0dXJuIG8ocik7Y2FzZSBTOmU6e2ZvcihjPXUua2V5O251bGwhPT1hOyl7aWYoYS5rZXk9PT1jKXtpZig0PT09YS50YWcmJmEuc3RhdGVOb2RlLmNvbnRhaW5lckluZm89PT11LmNvbnRhaW5lckluZm8mJmEuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uPT09dS5pbXBsZW1lbnRhdGlvbil7dChyLGEuc2libGluZyksKGE9bChhLHUuY2hpbGRyZW58fFtdKSkucmV0dXJuPXIscj1hO2JyZWFrIGV9dChyLGEpO2JyZWFrfW4ocixhKSxhPWEuc2libGluZ30oYT1Vcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hfXJldHVybiBvKHIpO2Nhc2UgTTpyZXR1cm4gZShyLGEsKGM9dS5faW5pdCkodS5fcGF5bG9hZCksaSl9aWYobmUodSkpcmV0dXJuIGgocixhLHUsaSk7aWYoRCh1KSlyZXR1cm4gZyhyLGEsdSxpKTtxYShyLHUpfXJldHVybiJzdHJpbmciPT10eXBlb2YgdSYmIiIhPT11fHwibnVtYmVyIj09dHlwZW9mIHU/KHU9IiIrdSxudWxsIT09YSYmNj09PWEudGFnPyh0KHIsYS5zaWJsaW5nKSwoYT1sKGEsdSkpLnJldHVybj1yLHI9YSk6KHQocixhKSwoYT1Pcyh1LHIubW9kZSxpKSkucmV0dXJuPXIscj1hKSxvKHIpKTp0KHIsYSl9fXZhciBYYT1ZYSghMCksR2E9WWEoITEpLFphPXt9LEphPUVsKFphKSxldT1FbChaYSksbnU9RWwoWmEpO2Z1bmN0aW9uIHR1KGUpe2lmKGU9PT1aYSl0aHJvdyBFcnJvcihhKDE3NCkpO3JldHVybiBlfWZ1bmN0aW9uIHJ1KGUsbil7c3dpdGNoKHpsKG51LG4pLHpsKGV1LGUpLHpsKEphLFphKSxlPW4ubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOm49KG49bi5kb2N1bWVudEVsZW1lbnQpP24ubmFtZXNwYWNlVVJJOmllKG51bGwsIiIpO2JyZWFrO2RlZmF1bHQ6bj1pZShuPShlPTg9PT1lP24ucGFyZW50Tm9kZTpuKS5uYW1lc3BhY2VVUkl8fG51bGwsZT1lLnRhZ05hbWUpfUNsKEphKSx6bChKYSxuKX1mdW5jdGlvbiBsdSgpe0NsKEphKSxDbChldSksQ2wobnUpfWZ1bmN0aW9uIGF1KGUpe3R1KG51LmN1cnJlbnQpO3ZhciBuPXR1KEphLmN1cnJlbnQpLHQ9aWUobixlLnR5cGUpO24hPT10JiYoemwoZXUsZSksemwoSmEsdCkpfWZ1bmN0aW9uIHV1KGUpe2V1LmN1cnJlbnQ9PT1lJiYoQ2woSmEpLENsKGV1KSl9dmFyIG91PUVsKDApO2Z1bmN0aW9uIGl1KGUpe2Zvcih2YXIgbj1lO251bGwhPT1uOyl7aWYoMTM9PT1uLnRhZyl7dmFyIHQ9bi5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10JiYobnVsbD09PSh0PXQuZGVoeWRyYXRlZCl8fCIkPyI9PT10LmRhdGF8fCIkISI9PT10LmRhdGEpKXJldHVybiBufWVsc2UgaWYoMTk9PT1uLnRhZyYmdm9pZCAwIT09bi5tZW1vaXplZFByb3BzLnJldmVhbE9yZGVyKXtpZigxMjgmbi5mbGFncylyZXR1cm4gbn1lbHNlIGlmKG51bGwhPT1uLmNoaWxkKXtuLmNoaWxkLnJldHVybj1uLG49bi5jaGlsZDtjb250aW51ZX1pZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIHN1PVtdO2Z1bmN0aW9uIGN1KCl7Zm9yKHZhciBlPTA7ZTxzdS5sZW5ndGg7ZSsrKXN1W2VdLl93b3JrSW5Qcm9ncmVzc1ZlcnNpb25QcmltYXJ5PW51bGw7c3UubGVuZ3RoPTB9dmFyIGZ1PWsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixkdT1rLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLHB1PTAsbXU9bnVsbCxodT1udWxsLGd1PW51bGwsdnU9ITEseXU9ITEsYnU9MCxrdT0wO2Z1bmN0aW9uIHd1KCl7dGhyb3cgRXJyb3IoYSgzMjEpKX1mdW5jdGlvbiBTdShlLG4pe2lmKG51bGw9PT1uKXJldHVybiExO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGgmJnQ8ZS5sZW5ndGg7dCsrKWlmKCFvcihlW3RdLG5bdF0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHh1KGUsbix0LHIsbCx1KXtpZihwdT11LG11PW4sbi5tZW1vaXplZFN0YXRlPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLG4ubGFuZXM9MCxmdS5jdXJyZW50PW51bGw9PT1lfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlP3VvOm9vLGU9dChyLGwpLHl1KXt1PTA7ZG97aWYoeXU9ITEsYnU9MCwyNTw9dSl0aHJvdyBFcnJvcihhKDMwMSkpO3UrPTEsZ3U9aHU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsZnUuY3VycmVudD1pbyxlPXQocixsKX13aGlsZSh5dSl9aWYoZnUuY3VycmVudD1hbyxuPW51bGwhPT1odSYmbnVsbCE9PWh1Lm5leHQscHU9MCxndT1odT1tdT1udWxsLHZ1PSExLG4pdGhyb3cgRXJyb3IoYSgzMDApKTtyZXR1cm4gZX1mdW5jdGlvbiBFdSgpe3ZhciBlPTAhPT1idTtyZXR1cm4gYnU9MCxlfWZ1bmN0aW9uIEN1KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1ndT9tdS5tZW1vaXplZFN0YXRlPWd1PWU6Z3U9Z3UubmV4dD1lLGd1fWZ1bmN0aW9uIHp1KCl7aWYobnVsbD09PWh1KXt2YXIgZT1tdS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9aHUubmV4dDt2YXIgbj1udWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZTpndS5uZXh0O2lmKG51bGwhPT1uKWd1PW4saHU9ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKGEoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooaHU9ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6aHUuYmFzZVN0YXRlLGJhc2VRdWV1ZTpodS5iYXNlUXVldWUscXVldWU6aHUucXVldWUsbmV4dDpudWxsfSxudWxsPT09Z3U/bXUubWVtb2l6ZWRTdGF0ZT1ndT1lOmd1PWd1Lm5leHQ9ZX1yZXR1cm4gZ3V9ZnVuY3Rpb24gTnUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKGUpOm59ZnVuY3Rpb24gX3UoZSl7dmFyIG49enUoKSx0PW4ucXVldWU7aWYobnVsbD09PXQpdGhyb3cgRXJyb3IoYSgzMTEpKTt0Lmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1odSxsPXIuYmFzZVF1ZXVlLHU9dC5wZW5kaW5nO2lmKG51bGwhPT11KXtpZihudWxsIT09bCl7dmFyIG89bC5uZXh0CjtsLm5leHQ9dS5uZXh0LHUubmV4dD1vfXIuYmFzZVF1ZXVlPWw9dSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7dT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgaT1vPW51bGwscz1udWxsLGM9dTtkb3t2YXIgZj1jLmxhbmU7aWYoKHB1JmYpPT09ZiludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTplKHIsYy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6ZixhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09cz8oaT1zPWQsbz1yKTpzPXMubmV4dD1kLG11LmxhbmVzfD1mLElpfD1mfWM9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dSk7bnVsbD09PXM/bz1yOnMubmV4dD1pLG9yKHIsbi5tZW1vaXplZFN0YXRlKXx8KGtvPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT1vLG4uYmFzZVF1ZXVlPXMsdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2Rve3U9bC5sYW5lLG11LmxhbmVzfD11LElpfD11LGw9bC5uZXh0fXdoaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIFB1KGUpe3ZhciBuPXp1KCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGEoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyx1PW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG97dT1lKHUsby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1sKTtvcih1LG4ubWVtb2l6ZWRTdGF0ZSl8fChrbz0hMCksbi5tZW1vaXplZFN0YXRlPXUsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9dSksdC5sYXN0UmVuZGVyZWRTdGF0ZT11fXJldHVyblt1LHJdfWZ1bmN0aW9uIFR1KCl7fWZ1bmN0aW9uIEx1KGUsbil7dmFyIHQ9bXUscj16dSgpLGw9bigpLHU9IW9yKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZih1JiYoci5tZW1vaXplZFN0YXRlPWwsa289ITApLHI9ci5xdWV1ZSxIdShSdS5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fHV8fG51bGwhPT1ndSYmMSZndS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxVdSg5LEZ1LmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PVBpKXRocm93IEVycm9yKGEoMzQ5KSk7MzAmcHV8fE11KHQsbixsKX1yZXR1cm4gbH1mdW5jdGlvbiBNdShlLG4sdCl7ZS5mbGFnc3w9MTYzODQsZT17Z2V0U25hcHNob3Q6bix2YWx1ZTp0fSxudWxsPT09KG49bXUudXBkYXRlUXVldWUpPyhuPXtsYXN0RWZmZWN0Om51bGwsc3RvcmVzOm51bGx9LG11LnVwZGF0ZVF1ZXVlPW4sbi5zdG9yZXM9W2VdKTpudWxsPT09KHQ9bi5zdG9yZXMpP24uc3RvcmVzPVtlXTp0LnB1c2goZSl9ZnVuY3Rpb24gRnUoZSxuLHQscil7bi52YWx1ZT10LG4uZ2V0U25hcHNob3Q9cixEdShuKSYmSXUoZSl9ZnVuY3Rpb24gUnUoZSxuLHQpe3JldHVybiB0KChmdW5jdGlvbigpe0R1KG4pJiZJdShlKX0pKX1mdW5jdGlvbiBEdShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiFvcihlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBJdShlKXt2YXIgbj1QYShlLDEpO251bGwhPT1uJiZ0cyhuLGUsMSwtMSl9ZnVuY3Rpb24gT3UoZSl7dmFyIG49Q3UoKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpOdSxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPW5vLmJpbmQobnVsbCxtdSxlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIFV1KGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPW11LnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxtdS51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBWdSgpe3JldHVybiB6dSgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gQXUoZSxuLHQscil7dmFyIGw9Q3UoKTttdS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9VXUoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBCdShlLG4sdCxyKXt2YXIgbD16dSgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1odSl7dmFyIHU9aHUubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmU3Uocix1LmRlcHMpKXJldHVybiB2b2lkKGwubWVtb2l6ZWRTdGF0ZT1VdShuLHQsYSxyKSl9bXUuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPVV1KDF8bix0LGEscil9ZnVuY3Rpb24gV3UoZSxuKXtyZXR1cm4gQXUoODM5MDY1Niw4LGUsbil9ZnVuY3Rpb24gSHUoZSxuKXtyZXR1cm4gQnUoMjA0OCw4LGUsbil9ZnVuY3Rpb24gUXUoZSxuKXtyZXR1cm4gQnUoNCwyLGUsbil9ZnVuY3Rpb24ganUoZSxuKXtyZXR1cm4gQnUoNCw0LGUsbil9ZnVuY3Rpb24gJHUoZSxuKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj8oZT1lKCksbihlKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIHF1KGUsbix0KXsKcmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsQnUoNCw0LCR1LmJpbmQobnVsbCxuLGUpLHQpfWZ1bmN0aW9uIEt1KCl7fWZ1bmN0aW9uIFl1KGUsbil7dmFyIHQ9enUoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZTdShuLHJbMV0pP3JbMF06KHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBYdShlLG4pe3ZhciB0PXp1KCk7bj12b2lkIDA9PT1uP251bGw6bjt2YXIgcj10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGwhPT1yJiZudWxsIT09biYmU3UobixyWzFdKT9yWzBdOihlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZSl9ZnVuY3Rpb24gR3UoZSxuLHQpe3JldHVybiAyMSZwdT8ob3IodCxuKXx8KHQ9Z24oKSxtdS5sYW5lc3w9dCxJaXw9dCxlLmJhc2VTdGF0ZT0hMCksbik6KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsa289ITApLGUubWVtb2l6ZWRTdGF0ZT10KX1mdW5jdGlvbiBadShlLG4pe3ZhciB0PWtuO2tuPTAhPT10JiY0PnQ/dDo0LGUoITApO3ZhciByPWR1LnRyYW5zaXRpb247ZHUudHJhbnNpdGlvbj17fTt0cnl7ZSghMSksbigpfWZpbmFsbHl7a249dCxkdS50cmFuc2l0aW9uPXJ9fWZ1bmN0aW9uIEp1KCl7cmV0dXJuIHp1KCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBlbyhlLG4sdCl7dmFyIHI9bnMoZSk7aWYodD17bGFuZTpyLGFjdGlvbjp0LGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH0sdG8oZSkpcm8obix0KTtlbHNlIGlmKG51bGwhPT0odD1fYShlLG4sdCxyKSkpe3RzKHQsZSxyLGVzKCkpLGxvKHQsbixyKX19ZnVuY3Rpb24gbm8oZSxuLHQpe3ZhciByPW5zKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHRvKGUpKXJvKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byxvcihvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO3JldHVybiBudWxsPT09aT8obC5uZXh0PWwsTmEobikpOihsLm5leHQ9aS5uZXh0LGkubmV4dD1sKSx2b2lkKG4uaW50ZXJsZWF2ZWQ9bCl9fWNhdGNoKGUpe31udWxsIT09KHQ9X2EoZSxuLGwscikpJiYodHModCxlLHIsbD1lcygpKSxsbyh0LG4scikpfX1mdW5jdGlvbiB0byhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PW11fHxudWxsIT09biYmbj09PW11fWZ1bmN0aW9uIHJvKGUsbil7eXU9dnU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBsbyhlLG4sdCl7aWYoNDE5NDI0MCZ0KXt2YXIgcj1uLmxhbmVzO3R8PXImPWUucGVuZGluZ0xhbmVzLG4ubGFuZXM9dCxibihlLHQpfX12YXIgYW89e3JlYWRDb250ZXh0OkNhLHVzZUNhbGxiYWNrOnd1LHVzZUNvbnRleHQ6d3UsdXNlRWZmZWN0Ond1LHVzZUltcGVyYXRpdmVIYW5kbGU6d3UsdXNlSW5zZXJ0aW9uRWZmZWN0Ond1LHVzZUxheW91dEVmZmVjdDp3dSx1c2VNZW1vOnd1LHVzZVJlZHVjZXI6d3UsdXNlUmVmOnd1LHVzZVN0YXRlOnd1LHVzZURlYnVnVmFsdWU6d3UsdXNlRGVmZXJyZWRWYWx1ZTp3dSx1c2VUcmFuc2l0aW9uOnd1LHVzZU11dGFibGVTb3VyY2U6d3UsdXNlU3luY0V4dGVybmFsU3RvcmU6d3UsdXNlSWQ6d3UsdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSx1bz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gQ3UoKS5tZW1vaXplZFN0YXRlPVtlLHZvaWQgMD09PW4/bnVsbDpuXSxlfSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpXdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxBdSg0MTk0MzA4LDQsJHUuYmluZChudWxsLG4sZSksdCl9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBBdSg0MTk0MzA4LDQsZSxuKX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsbil7cmV0dXJuIEF1KDQsMixlLG4pfSx1c2VNZW1vOmZ1bmN0aW9uKGUsbil7dmFyIHQ9Q3UoKTtyZXR1cm4gbj12b2lkIDA9PT1uP251bGw6bixlPWUoKSx0Lm1lbW9pemVkU3RhdGU9W2Usbl0sZX0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLG4sdCl7dmFyIHI9Q3UoKTtyZXR1cm4gbj12b2lkIDAhPT10P3Qobik6bixyLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bixlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOm59LHIucXVldWU9ZSxlPWUuZGlzcGF0Y2g9ZW8uYmluZChudWxsLG11LGUpLFtyLm1lbW9pemVkU3RhdGUsZV19LHVzZVJlZjpmdW5jdGlvbihlKXtyZXR1cm4gZT17Y3VycmVudDplfSxDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlU3RhdGU6T3UsdXNlRGVidWdWYWx1ZTpLdSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3JldHVybiBDdSgpLm1lbW9pemVkU3RhdGU9ZX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPU91KCExKSxuPWVbMF07cmV0dXJuIGU9WnUuYmluZChudWxsLGVbMV0pLEN1KCkubWVtb2l6ZWRTdGF0ZT1lLFtuLGVdfSx1c2VNdXRhYmxlU291cmNlOmZ1bmN0aW9uKCl7fSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLG4sdCl7dmFyIHI9bXUsbD1DdSgpO2lmKGxhKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKGEoNDA3KSk7dD10KCl9ZWxzZXtpZih0PW4oKSxudWxsPT09UGkpdGhyb3cgRXJyb3IoYSgzNDkpKTszMCZwdXx8TXUocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciB1PXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPXUsCld1KFJ1LmJpbmQobnVsbCxyLHUsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LFV1KDksRnUuYmluZChudWxsLHIsdSx0LG4pLHZvaWQgMCxudWxsKSx0fSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPUN1KCksbj1QaS5pZGVudGlmaWVyUHJlZml4O2lmKGxhKXt2YXIgdD1HbDtuPSI6IituKyJSIisodD0oWGwmfigxPDwzMi11bihYbCktMSkpLnRvU3RyaW5nKDMyKSt0KSwwPCh0PWJ1KyspJiYobis9IkgiK3QudG9TdHJpbmcoMzIpKSxuKz0iOiJ9ZWxzZSBuPSI6IituKyJyIisodD1rdSsrKS50b1N0cmluZygzMikrIjoiO3JldHVybiBlLm1lbW9pemVkU3RhdGU9bn0sdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfSxvbz17cmVhZENvbnRleHQ6Q2EsdXNlQ2FsbGJhY2s6WXUsdXNlQ29udGV4dDpDYSx1c2VFZmZlY3Q6SHUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpxdSx1c2VJbnNlcnRpb25FZmZlY3Q6UXUsdXNlTGF5b3V0RWZmZWN0Omp1LHVzZU1lbW86WHUsdXNlUmVkdWNlcjpfdSx1c2VSZWY6VnUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gX3UoTnUpfSx1c2VEZWJ1Z1ZhbHVlOkt1LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIEd1KHp1KCksaHUubWVtb2l6ZWRTdGF0ZSxlKX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3JldHVybltfdShOdSlbMF0senUoKS5tZW1vaXplZFN0YXRlXX0sdXNlTXV0YWJsZVNvdXJjZTpUdSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpMdSx1c2VJZDpKdSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGlvPXtyZWFkQ29udGV4dDpDYSx1c2VDYWxsYmFjazpZdSx1c2VDb250ZXh0OkNhLHVzZUVmZmVjdDpIdSx1c2VJbXBlcmF0aXZlSGFuZGxlOnF1LHVzZUluc2VydGlvbkVmZmVjdDpRdSx1c2VMYXlvdXRFZmZlY3Q6anUsdXNlTWVtbzpYdSx1c2VSZWR1Y2VyOlB1LHVzZVJlZjpWdSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQdShOdSl9LHVzZURlYnVnVmFsdWU6S3UsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXt2YXIgbj16dSgpO3JldHVybiBudWxsPT09aHU/bi5tZW1vaXplZFN0YXRlPWU6R3UobixodS5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW1B1KE51KVswXSx6dSgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOlR1LHVzZVN5bmNFeHRlcm5hbFN0b3JlOkx1LHVzZUlkOkp1LHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX07ZnVuY3Rpb24gc28oZSxuKXt0cnl7dmFyIHQ9IiIscj1uO2Rve3QrPUIocikscj1yLnJldHVybn13aGlsZShyKTt2YXIgbD10fWNhdGNoKGUpe2w9IlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfXJldHVybnt2YWx1ZTplLHNvdXJjZTpuLHN0YWNrOmwsZGlnZXN0Om51bGx9fWZ1bmN0aW9uIGNvKGUsbix0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6bnVsbCxzdGFjazpudWxsIT10P3Q6bnVsbCxkaWdlc3Q6bnVsbCE9bj9uOm51bGx9fWZ1bmN0aW9uIGZvKGUsbil7dHJ5e2NvbnNvbGUuZXJyb3Iobi52YWx1ZSl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfX12YXIgcG89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gbW8oZSxuLHQpeyh0PUZhKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe1FpfHwoUWk9ITAsamk9ciksZm8oMCxuKX0sdH1mdW5jdGlvbiBobyhlLG4sdCl7KHQ9RmEoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXtmbygwLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2ZvKDAsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09JGk/JGk9bmV3IFNldChbdGhpc10pOiRpLmFkZCh0aGlzKSk7dmFyIGU9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pLHR9ZnVuY3Rpb24gZ28oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBwbzt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPUNzLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHZvKGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB5byhlLG4sdCxyLGwpe3JldHVybiAxJmUubW9kZT8oZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sLGUpOihlPT09bj9lLmZsYWdzfD02NTUzNjooZS5mbGFnc3w9MTI4LHQuZmxhZ3N8PTEzMTA3Mix0LmZsYWdzJj0tNTI4MDUsMT09PXQudGFnJiYobnVsbD09PXQuYWx0ZXJuYXRlP3QudGFnPTE3Oigobj1GYSgtMSwxKSkudGFnPTIsUmEodCxuLDEpKSksdC5sYW5lc3w9MSksZSl9dmFyIGJvPWsuUmVhY3RDdXJyZW50T3duZXIsa289ITE7ZnVuY3Rpb24gd28oZSxuLHQscil7bi5jaGlsZD1udWxsPT09ZT9HYShuLG51bGwsdCxyKTpYYShuLGUuY2hpbGQsdCxyKX1mdW5jdGlvbiBTbyhlLG4sdCxyLGwpe3Q9dC5yZW5kZXI7dmFyIGE9bi5yZWY7cmV0dXJuIEVhKG4sbCkscj14dShlLG4sdCxyLGEsbCksdD1FdSgpLG51bGw9PT1lfHxrbz8obGEmJnQmJmVhKG4pLG4uZmxhZ3N8PTEsd28oZSxuLHIsbCksbi5jaGlsZCk6KG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSxuLmZsYWdzJj0tMjA1MywKZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiB4byhlLG4sdCxyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT10LnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fE1zKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PXQuY29tcGFyZXx8dm9pZCAwIT09dC5kZWZhdWx0UHJvcHM/KChlPVJzKHQudHlwZSxudWxsLHIsbixuLm1vZGUsbCkpLnJlZj1uLnJlZixlLnJldHVybj1uLG4uY2hpbGQ9ZSk6KG4udGFnPTE1LG4udHlwZT1hLEVvKGUsbixhLHIsbCkpfWlmKGE9ZS5jaGlsZCwhKGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OmlyKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiBRbyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9RnMoYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIEVvKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihpcihhLHIpJiZlLnJlZj09PW4ucmVmKXtpZihrbz0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsIShlLmxhbmVzJmwpKXJldHVybiBuLmxhbmVzPWUubGFuZXMsUW8oZSxuLGwpOzEzMTA3MiZlLmZsYWdzJiYoa289ITApfX1yZXR1cm4gTm8oZSxuLHQscixsKX1mdW5jdGlvbiBDbyhlLG4sdCl7dmFyIHI9bi5wZW5kaW5nUHJvcHMsbD1yLmNoaWxkcmVuLGE9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGw7aWYoImhpZGRlbiI9PT1yLm1vZGUpaWYoMSZuLm1vZGUpe2lmKCEoMTA3Mzc0MTgyNCZ0KSlyZXR1cm4gZT1udWxsIT09YT9hLmJhc2VMYW5lc3x0OnQsbi5sYW5lcz1uLmNoaWxkTGFuZXM9MTA3Mzc0MTgyNCxuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczplLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LG4udXBkYXRlUXVldWU9bnVsbCx6bChGaSxNaSksTWl8PWUsbnVsbDtuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHI9bnVsbCE9PWE/YS5iYXNlTGFuZXM6dCx6bChGaSxNaSksTWl8PXJ9ZWxzZSBuLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsLHRyYW5zaXRpb25zOm51bGx9LHpsKEZpLE1pKSxNaXw9dDtlbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCx6bChGaSxNaSksTWl8PXI7cmV0dXJuIHdvKGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gem8oZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBObyhlLG4sdCxyLGwpe3ZhciBhPU1sKHQpP1RsOl9sLmN1cnJlbnQ7cmV0dXJuIGE9TGwobixhKSxFYShuLGwpLHQ9eHUoZSxuLHQscixhLGwpLHI9RXUoKSxudWxsPT09ZXx8a28/KGxhJiZyJiZlYShuKSxuLmZsYWdzfD0xLHdvKGUsbix0LGwpLG4uY2hpbGQpOihuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbi5mbGFncyY9LTIwNTMsZS5sYW5lcyY9fmwsUW8oZSxuLGwpKX1mdW5jdGlvbiBfbyhlLG4sdCxyLGwpe2lmKE1sKHQpKXt2YXIgYT0hMDtJbChuKX1lbHNlIGE9ITE7aWYoRWEobixsKSxudWxsPT09bi5zdGF0ZU5vZGUpSG8oZSxuKSxIYShuLHQsciksamEobix0LHIsbCkscj0hMDtlbHNlIGlmKG51bGw9PT1lKXt2YXIgdT1uLnN0YXRlTm9kZSxvPW4ubWVtb2l6ZWRQcm9wczt1LnByb3BzPW87dmFyIGk9dS5jb250ZXh0LHM9dC5jb250ZXh0VHlwZTsib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP3M9Q2Eocyk6cz1MbChuLHM9TWwodCk/VGw6X2wuY3VycmVudCk7dmFyIGM9dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsZj0iZnVuY3Rpb24iPT10eXBlb2YgY3x8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU7Znx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09cnx8aSE9PXMpJiZRYShuLHUscixzKSxUYT0hMTt2YXIgZD1uLm1lbW9pemVkU3RhdGU7dS5zdGF0ZT1kLE9hKG4scix1LGwpLGk9bi5tZW1vaXplZFN0YXRlLG8hPT1yfHxkIT09aXx8UGwuY3VycmVudHx8VGE/KCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoQWEobix0LGMsciksaT1uLm1lbW9pemVkU3RhdGUpLChvPVRhfHxXYShuLHQsbyxyLGQsaSxzKSk/KGZ8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudFdpbGxNb3VudCYmdS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYobi5mbGFnc3w9NDE5NDMwOCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPWkpLHUucHJvcHM9cix1LnN0YXRlPWksdS5jb250ZXh0PXMscj1vKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle3U9bi5zdGF0ZU5vZGUsTWEoZSxuKSxvPW4ubWVtb2l6ZWRQcm9wcyxzPW4udHlwZT09PW4uZWxlbWVudFR5cGU/bzpnYShuLnR5cGUsbyksdS5wcm9wcz1zLGY9bi5wZW5kaW5nUHJvcHMsZD11LmNvbnRleHQsIm9iamVjdCI9PXR5cGVvZihpPXQuY29udGV4dFR5cGUpJiZudWxsIT09aT9pPUNhKGkpOmk9TGwobixpPU1sKHQpP1RsOl9sLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzCjsoYz0iZnVuY3Rpb24iPT10eXBlb2YgcHx8ImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09aSkmJlFhKG4sdSxyLGkpLFRhPSExLGQ9bi5tZW1vaXplZFN0YXRlLHUuc3RhdGU9ZCxPYShuLHIsdSxsKTt2YXIgbT1uLm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1tfHxQbC5jdXJyZW50fHxUYT8oImZ1bmN0aW9uIj09dHlwZW9mIHAmJihBYShuLHQscCxyKSxtPW4ubWVtb2l6ZWRTdGF0ZSksKHM9VGF8fFdhKG4sdCxzLHIsZCxtLGkpfHwhMSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLG0saSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYobi5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTEwMjQpLG4ubWVtb2l6ZWRQcm9wcz1yLG4ubWVtb2l6ZWRTdGF0ZT1tKSx1LnByb3BzPXIsdS5zdGF0ZT1tLHUuY29udGV4dD1pLHI9cyk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIFBvKGUsbix0LHIsYSxsKX1mdW5jdGlvbiBQbyhlLG4sdCxyLGwsYSl7em8oZSxuKTt2YXIgdT0hISgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZPbChuLHQsITEpLFFvKGUsbixhKTtyPW4uc3RhdGVOb2RlLGJvLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPVhhKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9WGEobixudWxsLG8sYSkpOndvKGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJk9sKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiBUbyhlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P1JsKDAsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJlJsKDAsbi5jb250ZXh0LCExKSxydShlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gTG8oZSxuLHQscixsKXtyZXR1cm4gcGEoKSxtYShsKSxuLmZsYWdzfD0yNTYsd28oZSxuLHQsciksbi5jaGlsZH12YXIgTW8sRm8sUm8sRG89e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiBJbyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gT28oZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsdT1vdS5jdXJyZW50LG89ITEsaT0hISgxMjgmbi5mbGFncyk7aWYoKHI9aSl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJiEhKDImdSkpLHI/KG89ITAsbi5mbGFncyY9LTEyOSk6bnVsbCE9PWUmJm51bGw9PT1lLm1lbW9pemVkU3RhdGV8fCh1fD0xKSx6bChvdSwxJnUpLG51bGw9PT1lKXJldHVybiBzYShuKSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCk/KDEmbi5tb2RlPyIkISI9PT1lLmRhdGE/bi5sYW5lcz04Om4ubGFuZXM9MTA3Mzc0MTgyNDpuLmxhbmVzPTEsbnVsbCk6KGk9bC5jaGlsZHJlbixlPWwuZmFsbGJhY2ssbz8obD1uLm1vZGUsbz1uLmNoaWxkLGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sMSZsfHxudWxsPT09bz9vPUlzKGksbCwwLG51bGwpOihvLmNoaWxkTGFuZXM9MCxvLnBlbmRpbmdQcm9wcz1pKSxlPURzKGUsbCx0LG51bGwpLG8ucmV0dXJuPW4sZS5yZXR1cm49bixvLnNpYmxpbmc9ZSxuLmNoaWxkPW8sbi5jaGlsZC5tZW1vaXplZFN0YXRlPUlvKHQpLG4ubWVtb2l6ZWRTdGF0ZT1EbyxlKTpVbyhuLGkpKTtpZihudWxsIT09KHU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPXUuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCx1LG8pe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LFZvKGUsbixvLHI9Y28oRXJyb3IoYSg0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOih1PXIuZmFsbGJhY2ssbD1uLm1vZGUscj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLCh1PURzKHUsbCxvLG51bGwpKS5mbGFnc3w9MixyLnJldHVybj1uLHUucmV0dXJuPW4sci5zaWJsaW5nPXUsbi5jaGlsZD1yLDEmbi5tb2RlJiZYYShuLGUuY2hpbGQsbnVsbCxvKSxuLmNoaWxkLm1lbW9pemVkU3RhdGU9SW8obyksbi5tZW1vaXplZFN0YXRlPURvLHUpO2lmKCEoMSZuLm1vZGUpKXJldHVybiBWbyhlLG4sbyxudWxsKTtpZigiJCEiPT09bC5kYXRhKXsKaWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGk9ci5kZ3N0O3JldHVybiByPWksVm8oZSxuLG8scj1jbyh1PUVycm9yKGEoNDE5KSkscix2b2lkIDApKX1pZihpPSEhKG8mZS5jaGlsZExhbmVzKSxrb3x8aSl7aWYobnVsbCE9PShyPVBpKSl7c3dpdGNoKG8mLW8pe2Nhc2UgNDpsPTI7YnJlYWs7Y2FzZSAxNjpsPTg7YnJlYWs7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMTY3NzcyMTY6Y2FzZSAzMzU1NDQzMjpjYXNlIDY3MTA4ODY0Omw9MzI7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6bD0yNjg0MzU0NTY7YnJlYWs7ZGVmYXVsdDpsPTB9MCE9PShsPWwmKHIuc3VzcGVuZGVkTGFuZXN8byk/MDpsKSYmbCE9PXUucmV0cnlMYW5lJiYodS5yZXRyeUxhbmU9bCxQYShlLGwpLHRzKHIsZSxsLC0xKSl9cmV0dXJuIGhzKCksVm8oZSxuLG8scj1jbyhFcnJvcihhKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPU5zLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9dS50cmVlQ29udGV4dCxyYT1zbChsLm5leHRTaWJsaW5nKSx0YT1uLGxhPSEwLGFhPW51bGwsbnVsbCE9PWUmJihxbFtLbCsrXT1YbCxxbFtLbCsrXT1HbCxxbFtLbCsrXT1ZbCxYbD1lLmlkLEdsPWUub3ZlcmZsb3csWWw9biksbj1VbyhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixpLGwscix1LHQpO2lmKG8pe289bC5mYWxsYmFjayxpPW4ubW9kZSxyPSh1PWUuY2hpbGQpLnNpYmxpbmc7dmFyIHM9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDEmaXx8bi5jaGlsZD09PXU/KGw9RnModSxzKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JnUuc3VidHJlZUZsYWdzOigobD1uLmNoaWxkKS5jaGlsZExhbmVzPTAsbC5wZW5kaW5nUHJvcHM9cyxuLmRlbGV0aW9ucz1udWxsKSxudWxsIT09cj9vPUZzKHIsbyk6KG89RHMobyxpLHQsbnVsbCkpLmZsYWdzfD0yLG8ucmV0dXJuPW4sbC5yZXR1cm49bixsLnNpYmxpbmc9byxuLmNoaWxkPWwsbD1vLG89bi5jaGlsZCxpPW51bGw9PT0oaT1lLmNoaWxkLm1lbW9pemVkU3RhdGUpP0lvKHQpOntiYXNlTGFuZXM6aS5iYXNlTGFuZXN8dCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczppLnRyYW5zaXRpb25zfSxvLm1lbW9pemVkU3RhdGU9aSxvLmNoaWxkTGFuZXM9ZS5jaGlsZExhbmVzJn50LG4ubWVtb2l6ZWRTdGF0ZT1EbyxsfXJldHVybiBlPShvPWUuY2hpbGQpLnNpYmxpbmcsbD1GcyhvLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSksISgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gVW8oZSxuKXtyZXR1cm4obj1Jcyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiBWbyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJm1hKHIpLFhhKG4sZS5jaGlsZCxudWxsLHQpLChlPVVvKG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pKS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIEFvKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bikseGEoZS5yZXR1cm4sbix0KX1mdW5jdGlvbiBCbyhlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIFdvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYod28oZSxuLHIuY2hpbGRyZW4sdCksMiYocj1vdS5jdXJyZW50KSlyPTEmcnwyLG4uZmxhZ3N8PTEyODtlbHNle2lmKG51bGwhPT1lJiYxMjgmZS5mbGFncyllOmZvcihlPW4uY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJkFvKGUsdCxuKTtlbHNlIGlmKDE5PT09ZS50YWcpQW8oZSx0LG4pO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT1uKWJyZWFrIGU7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9ciY9MX1pZih6bChvdSxyKSwxJm4ubW9kZSlzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKHQ9bi5jaGlsZCxsPW51bGw7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1pdShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLEJvKG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09aXUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfUJvKG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOgpCbyhuLCExLG51bGwsbnVsbCx2b2lkIDApO2JyZWFrO2RlZmF1bHQ6bi5tZW1vaXplZFN0YXRlPW51bGx9ZWxzZSBuLm1lbW9pemVkU3RhdGU9bnVsbDtyZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBIbyhlLG4peyEoMSZuLm1vZGUpJiZudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsbi5hbHRlcm5hdGU9bnVsbCxuLmZsYWdzfD0yKX1mdW5jdGlvbiBRbyhlLG4sdCl7aWYobnVsbCE9PWUmJihuLmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyksSWl8PW4ubGFuZXMsISh0Jm4uY2hpbGRMYW5lcykpcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJm4uY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKGEoMTUzKSk7aWYobnVsbCE9PW4uY2hpbGQpe2Zvcih0PUZzKGU9bi5jaGlsZCxlLnBlbmRpbmdQcm9wcyksbi5jaGlsZD10LHQucmV0dXJuPW47bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKHQ9dC5zaWJsaW5nPUZzKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49bjt0LnNpYmxpbmc9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiBqbyhlLG4pe2lmKCFsYSlzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJoaWRkZW4iOm49ZS50YWlsO2Zvcih2YXIgdD1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJih0PW4pLG49bi5zaWJsaW5nO251bGw9PT10P2UudGFpbD1udWxsOnQuc2libGluZz1udWxsO2JyZWFrO2Nhc2UiY29sbGFwc2VkIjp0PWUudGFpbDtmb3IodmFyIHI9bnVsbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYocj10KSx0PXQuc2libGluZztudWxsPT09cj9ufHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGx9fWZ1bmN0aW9uICRvKGUpe3ZhciBuPW51bGwhPT1lLmFsdGVybmF0ZSYmZS5hbHRlcm5hdGUuY2hpbGQ9PT1lLmNoaWxkLHQ9MCxyPTA7aWYobilmb3IodmFyIGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9MTQ2ODAwNjQmbC5zdWJ0cmVlRmxhZ3Mscnw9MTQ2ODAwNjQmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspdHw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9dCxufWZ1bmN0aW9uIHFvKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcztzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMjpjYXNlIDE2OmNhc2UgMTU6Y2FzZSAwOmNhc2UgMTE6Y2FzZSA3OmNhc2UgODpjYXNlIDEyOmNhc2UgOTpjYXNlIDE0OnJldHVybiAkbyhuKSxudWxsO2Nhc2UgMTpjYXNlIDE3OnJldHVybiBNbChuLnR5cGUpJiZGbCgpLCRvKG4pLG51bGw7Y2FzZSAzOnJldHVybiByPW4uc3RhdGVOb2RlLGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLHIucGVuZGluZ0NvbnRleHQmJihyLmNvbnRleHQ9ci5wZW5kaW5nQ29udGV4dCxyLnBlbmRpbmdDb250ZXh0PW51bGwpLG51bGwhPT1lJiZudWxsIT09ZS5jaGlsZHx8KGZhKG4pP24uZmxhZ3N8PTQ6bnVsbD09PWV8fGUubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQmJiEoMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09YWEmJih1cyhhYSksYWE9bnVsbCkpKSwkbyhuKSxudWxsO2Nhc2UgNTp1dShuKTt2YXIgbD10dShudS5jdXJyZW50KTtpZih0PW4udHlwZSxudWxsIT09ZSYmbnVsbCE9bi5zdGF0ZU5vZGUpRm8oZSxuLHQsciksZS5yZWYhPT1uLnJlZiYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKTtlbHNle2lmKCFyKXtpZihudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtyZXR1cm4gJG8obiksbnVsbH1pZihlPXR1KEphLmN1cnJlbnQpLGZhKG4pKXtyPW4uc3RhdGVOb2RlLHQ9bi50eXBlO3ZhciB1PW4ubWVtb2l6ZWRQcm9wcztzd2l0Y2gocltkbF09bixyW3BsXT11LGU9ISEoMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixyKSxWcigiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6VnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihsPTA7bDxEci5sZW5ndGg7bCsrKVZyKERyW2xdLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOlZyKCJlcnJvciIsciksVnIoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6VnIoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6WChyLHUpLFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXUubXVsdGlwbGV9LFZyKCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjpsZShyLHUpLFZyKCJpbnZhbGlkIixyKX1mb3IodmFyIGkgaW4geWUodCx1KSxsPW51bGwsdSlpZih1Lmhhc093blByb3BlcnR5KGkpKXt2YXIgcz11W2ldOyJjaGlsZHJlbiI9PT1pPyJzdHJpbmciPT10eXBlb2Ygcz9yLnRleHRDb250ZW50IT09cyYmKCEwIT09dS5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJlpyKHIudGV4dENvbnRlbnQscyxlKSxsPVsiY2hpbGRyZW4iLHNdKToibnVtYmVyIj09dHlwZW9mIHMmJnIudGV4dENvbnRlbnQhPT0iIitzJiYoITAhPT11LnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci50ZXh0Q29udGVudCxzLGUpLGw9WyJjaGlsZHJlbiIsIiIrc10pOm8uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPXMmJiJvblNjcm9sbCI9PT1pJiZWcigic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChyKSxKKHIsdSwhMCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChyKSx1ZShyKTticmVhaztjYXNlInNlbGVjdCI6Y2FzZSJvcHRpb24iOmJyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIHUub25DbGljayYmKHIub25jbGljaz1Kcil9cj1sLG4udXBkYXRlUXVldWU9cixudWxsIT09ciYmKG4uZmxhZ3N8PTQpfWVsc2V7Cmk9OT09PWwubm9kZVR5cGU/bDpsLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9b2UodCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1pLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsZT1lLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCkpOiJzdHJpbmciPT10eXBlb2Ygci5pcz9lPWkuY3JlYXRlRWxlbWVudCh0LHtpczpyLmlzfSk6KGU9aS5jcmVhdGVFbGVtZW50KHQpLCJzZWxlY3QiPT09dCYmKGk9ZSxyLm11bHRpcGxlP2kubXVsdGlwbGU9ITA6ci5zaXplJiYoaS5zaXplPXIuc2l6ZSkpKTplPWkuY3JlYXRlRWxlbWVudE5TKGUsdCksZVtkbF09bixlW3BsXT1yLE1vKGUsbiksbi5zdGF0ZU5vZGU9ZTtlOntzd2l0Y2goaT1iZSh0LHIpLHQpe2Nhc2UiZGlhbG9nIjpWcigiY2FuY2VsIixlKSxWcigiY2xvc2UiLGUpLGw9cjticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOlZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPERyLmxlbmd0aDtsKyspVnIoRHJbbF0sZSk7bD1yO2JyZWFrO2Nhc2Uic291cmNlIjpWcigiZXJyb3IiLGUpLGw9cjticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpWcigiZXJyb3IiLGUpLFZyKCJsb2FkIixlKSxsPXI7YnJlYWs7Y2FzZSJkZXRhaWxzIjpWcigidG9nZ2xlIixlKSxsPXI7YnJlYWs7Y2FzZSJpbnB1dCI6WChlLHIpLGw9WShlLHIpLFZyKCJpbnZhbGlkIixlKTticmVhaztjYXNlIm9wdGlvbiI6ZGVmYXVsdDpsPXI7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFyLm11bHRpcGxlfSxsPU8oe30scix7dmFsdWU6dm9pZCAwfSksVnIoImludmFsaWQiLGUpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmxlKGUsciksbD1yZShlLHIpLFZyKCJpbnZhbGlkIixlKX1mb3IodSBpbiB5ZSh0LGwpLHM9bClpZihzLmhhc093blByb3BlcnR5KHUpKXt2YXIgYz1zW3VdOyJzdHlsZSI9PT11P2dlKGUsYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXU/bnVsbCE9KGM9Yz9jLl9faHRtbDp2b2lkIDApJiZmZShlLGMpOiJjaGlsZHJlbiI9PT11PyJzdHJpbmciPT10eXBlb2YgYz8oInRleHRhcmVhIiE9PXR8fCIiIT09YykmJmRlKGUsYyk6Im51bWJlciI9PXR5cGVvZiBjJiZkZShlLCIiK2MpOiJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciIT09dSYmInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIhPT11JiYiYXV0b0ZvY3VzIiE9PXUmJihvLmhhc093blByb3BlcnR5KHUpP251bGwhPWMmJiJvblNjcm9sbCI9PT11JiZWcigic2Nyb2xsIixlKTpudWxsIT1jJiZiKGUsdSxjLGkpKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6JChlKSxKKGUsciwhMSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6JChlKSx1ZShlKTticmVhaztjYXNlIm9wdGlvbiI6bnVsbCE9ci52YWx1ZSYmZS5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIitRKHIudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIXIubXVsdGlwbGUsbnVsbCE9KHU9ci52YWx1ZSk/dGUoZSwhIXIubXVsdGlwbGUsdSwhMSk6bnVsbCE9ci5kZWZhdWx0VmFsdWUmJnRlKGUsISFyLm11bHRpcGxlLHIuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBsLm9uQ2xpY2smJihlLm9uY2xpY2s9SnIpfXN3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOnI9ISFyLmF1dG9Gb2N1czticmVhayBlO2Nhc2UiaW1nIjpyPSEwO2JyZWFrIGU7ZGVmYXVsdDpyPSExfX1yJiYobi5mbGFnc3w9NCl9bnVsbCE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpfXJldHVybiAkbyhuKSxudWxsO2Nhc2UgNjppZihlJiZudWxsIT1uLnN0YXRlTm9kZSlSbygwLG4sZS5tZW1vaXplZFByb3BzLHIpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiByJiZudWxsPT09bi5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjYpKTtpZih0PXR1KG51LmN1cnJlbnQpLHR1KEphLmN1cnJlbnQpLGZhKG4pKXtpZihyPW4uc3RhdGVOb2RlLHQ9bi5tZW1vaXplZFByb3BzLHJbZGxdPW4sKHU9ci5ub2RlVmFsdWUhPT10KSYmbnVsbCE9PShlPXRhKSlzd2l0Y2goZS50YWcpe2Nhc2UgMzpacihyLm5vZGVWYWx1ZSx0LCEhKDEmZS5tb2RlKSk7YnJlYWs7Y2FzZSA1OiEwIT09ZS5tZW1vaXplZFByb3BzLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmWnIoci5ub2RlVmFsdWUsdCwhISgxJmUubW9kZSkpfXUmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbZGxdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gJG8obiksbnVsbDtjYXNlIDEzOmlmKENsKG91KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsYSYmbnVsbCE9PXJhJiYxJm4ubW9kZSYmISgxMjgmbi5mbGFncykpZGEoKSxwYSgpLG4uZmxhZ3N8PTk4NTYwLHU9ITE7ZWxzZSBpZih1PWZhKG4pLG51bGwhPT1yJiZudWxsIT09ci5kZWh5ZHJhdGVkKXtpZihudWxsPT09ZSl7aWYoIXUpdGhyb3cgRXJyb3IoYSgzMTgpKTtpZighKHU9bnVsbCE9PSh1PW4ubWVtb2l6ZWRTdGF0ZSk/dS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKGEoMzE3KSk7dVtkbF09bn1lbHNlIHBhKCksISgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDskbyhuKSx1PSExfWVsc2UgbnVsbCE9PWFhJiYodXMoYWEpLGFhPW51bGwpLHU9ITA7aWYoIXUpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfXJldHVybiAxMjgmbi5mbGFncz8obi5sYW5lcz10LG4pOigocj1udWxsIT09cikhPT0obnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiZyJiYobi5jaGlsZC5mbGFnc3w9ODE5MiwKMSZuLm1vZGUmJihudWxsPT09ZXx8MSZvdS5jdXJyZW50PzA9PT1SaSYmKFJpPTMpOmhzKCkpKSxudWxsIT09bi51cGRhdGVRdWV1ZSYmKG4uZmxhZ3N8PTQpLCRvKG4pLG51bGwpO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsPT09ZSYmV3Iobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksJG8obiksbnVsbDtjYXNlIDEwOnJldHVybiBTYShuLnR5cGUuX2NvbnRleHQpLCRvKG4pLG51bGw7Y2FzZSAxOTppZihDbChvdSksbnVsbD09PSh1PW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuICRvKG4pLG51bGw7aWYocj0hISgxMjgmbi5mbGFncyksbnVsbD09PShpPXUucmVuZGVyaW5nKSlpZihyKWpvKHUsITEpO2Vsc2V7aWYoMCE9PVJpfHxudWxsIT09ZSYmMTI4JmUuZmxhZ3MpZm9yKGU9bi5jaGlsZDtudWxsIT09ZTspe2lmKG51bGwhPT0oaT1pdShlKSkpe2ZvcihuLmZsYWdzfD0xMjgsam8odSwhMSksbnVsbCE9PShyPWkudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT1yLG4uZmxhZ3N8PTQpLG4uc3VidHJlZUZsYWdzPTAscj10LHQ9bi5jaGlsZDtudWxsIT09dDspZT1yLCh1PXQpLmZsYWdzJj0xNDY4MDA2NixudWxsPT09KGk9dS5hbHRlcm5hdGUpPyh1LmNoaWxkTGFuZXM9MCx1LmxhbmVzPWUsdS5jaGlsZD1udWxsLHUuc3VidHJlZUZsYWdzPTAsdS5tZW1vaXplZFByb3BzPW51bGwsdS5tZW1vaXplZFN0YXRlPW51bGwsdS51cGRhdGVRdWV1ZT1udWxsLHUuZGVwZW5kZW5jaWVzPW51bGwsdS5zdGF0ZU5vZGU9bnVsbCk6KHUuY2hpbGRMYW5lcz1pLmNoaWxkTGFuZXMsdS5sYW5lcz1pLmxhbmVzLHUuY2hpbGQ9aS5jaGlsZCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwsdS5tZW1vaXplZFByb3BzPWkubWVtb2l6ZWRQcm9wcyx1Lm1lbW9pemVkU3RhdGU9aS5tZW1vaXplZFN0YXRlLHUudXBkYXRlUXVldWU9aS51cGRhdGVRdWV1ZSx1LnR5cGU9aS50eXBlLGU9aS5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9bnVsbD09PWU/bnVsbDp7bGFuZXM6ZS5sYW5lcyxmaXJzdENvbnRleHQ6ZS5maXJzdENvbnRleHR9KSx0PXQuc2libGluZztyZXR1cm4gemwob3UsMSZvdS5jdXJyZW50fDIpLG4uY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXUudGFpbCYmR2UoKT5XaSYmKG4uZmxhZ3N8PTEyOCxyPSEwLGpvKHUsITEpLG4ubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighcilpZihudWxsIT09KGU9aXUoaSkpKXtpZihuLmZsYWdzfD0xMjgscj0hMCxudWxsIT09KHQ9ZS51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXQsbi5mbGFnc3w9NCksam8odSwhMCksbnVsbD09PXUudGFpbCYmImhpZGRlbiI9PT11LnRhaWxNb2RlJiYhaS5hbHRlcm5hdGUmJiFsYSlyZXR1cm4gJG8obiksbnVsbH1lbHNlIDIqR2UoKS11LnJlbmRlcmluZ1N0YXJ0VGltZT5XaSYmMTA3Mzc0MTgyNCE9PXQmJihuLmZsYWdzfD0xMjgscj0hMCxqbyh1LCExKSxuLmxhbmVzPTQxOTQzMDQpO3UuaXNCYWNrd2FyZHM/KGkuc2libGluZz1uLmNoaWxkLG4uY2hpbGQ9aSk6KG51bGwhPT0odD11Lmxhc3QpP3Quc2libGluZz1pOm4uY2hpbGQ9aSx1Lmxhc3Q9aSl9cmV0dXJuIG51bGwhPT11LnRhaWw/KG49dS50YWlsLHUucmVuZGVyaW5nPW4sdS50YWlsPW4uc2libGluZyx1LnJlbmRlcmluZ1N0YXJ0VGltZT1HZSgpLG4uc2libGluZz1udWxsLHQ9b3UuY3VycmVudCx6bChvdSxyPzEmdHwyOjEmdCksbik6KCRvKG4pLG51bGwpO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gZnMoKSxyPW51bGwhPT1uLm1lbW9pemVkU3RhdGUsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPT1yJiYobi5mbGFnc3w9ODE5MiksciYmMSZuLm1vZGU/ISEoMTA3Mzc0MTgyNCZNaSkmJigkbyhuKSw2Jm4uc3VidHJlZUZsYWdzJiYobi5mbGFnc3w9ODE5MikpOiRvKG4pLG51bGw7Y2FzZSAyNDpjYXNlIDI1OnJldHVybiBudWxsfXRocm93IEVycm9yKGEoMTU2LG4udGFnKSl9ZnVuY3Rpb24gS28oZSxuKXtzd2l0Y2gobmEobiksbi50YWcpe2Nhc2UgMTpyZXR1cm4gTWwobi50eXBlKSYmRmwoKSw2NTUzNiYoZT1uLmZsYWdzKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDM6cmV0dXJuIGx1KCksQ2woUGwpLENsKF9sKSxjdSgpLDY1NTM2JihlPW4uZmxhZ3MpJiYhKDEyOCZlKT8obi5mbGFncz0tNjU1MzcmZXwxMjgsbik6bnVsbDtjYXNlIDU6cmV0dXJuIHV1KG4pLG51bGw7Y2FzZSAxMzppZihDbChvdSksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT1lLmRlaHlkcmF0ZWQpe2lmKG51bGw9PT1uLmFsdGVybmF0ZSl0aHJvdyBFcnJvcihhKDM0MCkpO3BhKCl9cmV0dXJuIDY1NTM2JihlPW4uZmxhZ3MpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgMTk6cmV0dXJuIENsKG91KSxudWxsO2Nhc2UgNDpyZXR1cm4gbHUoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIFNhKG4udHlwZS5fY29udGV4dCksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGZzKCksbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1Nbz1mdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1uLmNoaWxkO251bGwhPT10Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpZS5hcHBlbmRDaGlsZCh0LnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09dC50YWcmJm51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09bilicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09bilyZXR1cm47dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX0sRm89ZnVuY3Rpb24oZSxuLHQscil7dmFyIGw9ZS5tZW1vaXplZFByb3BzO2lmKGwhPT1yKXtlPW4uc3RhdGVOb2RlLHR1KEphLmN1cnJlbnQpO3ZhciBhLHU9bnVsbDtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6bD1ZKGUsbCkscj1ZKGUsciksdT1bXTticmVhaztjYXNlInNlbGVjdCI6bD1PKHt9LGwse3ZhbHVlOnZvaWQgMH0pLHI9Tyh7fSxyLHt2YWx1ZTp2b2lkIDB9KSx1PVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOmw9cmUoZSxsKSxyPXJlKGUsciksdT1bXTticmVhawo7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPUpyKX1mb3IoYyBpbiB5ZSh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KGMpJiZsLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1sW2NdKWlmKCJzdHlsZSI9PT1jKXt2YXIgaT1sW2NdO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmKHR8fCh0PXt9KSx0W2FdPSIiKX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiE9PWMmJiJjaGlsZHJlbiIhPT1jJiYic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PWMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09YyYmImF1dG9Gb2N1cyIhPT1jJiYoby5oYXNPd25Qcm9wZXJ0eShjKT91fHwodT1bXSk6KHU9dXx8W10pLnB1c2goYyxudWxsKSk7Zm9yKGMgaW4gcil7dmFyIHM9cltjXTtpZihpPW51bGwhPWw/bFtjXTp2b2lkIDAsci5oYXNPd25Qcm9wZXJ0eShjKSYmcyE9PWkmJihudWxsIT1zfHxudWxsIT1pKSlpZigic3R5bGUiPT09YylpZihpKXtmb3IoYSBpbiBpKSFpLmhhc093blByb3BlcnR5KGEpfHxzJiZzLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIHMpcy5oYXNPd25Qcm9wZXJ0eShhKSYmaVthXSE9PXNbYV0mJih0fHwodD17fSksdFthXT1zW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKGMsdCkpLHQ9cztlbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/KHM9cz9zLl9faHRtbDp2b2lkIDAsaT1pP2kuX19odG1sOnZvaWQgMCxudWxsIT1zJiZpIT09cyYmKHU9dXx8W10pLnB1c2goYyxzKSk6ImNoaWxkcmVuIj09PWM/InN0cmluZyIhPXR5cGVvZiBzJiYibnVtYmVyIiE9dHlwZW9mIHN8fCh1PXV8fFtdKS5wdXNoKGMsIiIrcyk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1jJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PWMmJihvLmhhc093blByb3BlcnR5KGMpPyhudWxsIT1zJiYib25TY3JvbGwiPT09YyYmVnIoInNjcm9sbCIsZSksdXx8aT09PXN8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2goYyxzKSl9dCYmKHU9dXx8W10pLnB1c2goInN0eWxlIix0KTt2YXIgYz11OyhuLnVwZGF0ZVF1ZXVlPWMpJiYobi5mbGFnc3w9NCl9fSxSbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgWW89ITEsWG89ITEsR289ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsWm89bnVsbDtmdW5jdGlvbiBKbyhlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KXRyeXt0KG51bGwpfWNhdGNoKHQpe0VzKGUsbix0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIGVpKGUsbix0KXt0cnl7dCgpfWNhdGNoKHQpe0VzKGUsbix0KX19dmFyIG5pPSExO2Z1bmN0aW9uIHRpKGUsbix0KXt2YXIgcj1uLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT0ocj1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBsPXI9ci5uZXh0O2Rve2lmKChsLnRhZyZlKT09PWUpe3ZhciBhPWwuZGVzdHJveTtsLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWEmJmVpKG4sdCxhKX1sPWwubmV4dH13aGlsZShsIT09cil9fWZ1bmN0aW9uIHJpKGUsbil7aWYobnVsbCE9PShuPW51bGwhPT0obj1uLnVwZGF0ZVF1ZXVlKT9uLmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciB0PW49bi5uZXh0O2Rve2lmKCh0LnRhZyZlKT09PWUpe3ZhciByPXQuY3JlYXRlO3QuZGVzdHJveT1yKCl9dD10Lm5leHR9d2hpbGUodCE9PW4pfX1mdW5jdGlvbiBsaShlKXt2YXIgbj1lLnJlZjtpZihudWxsIT09bil7dmFyIHQ9ZS5zdGF0ZU5vZGU7ZS50YWcsZT10LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oZSk6bi5jdXJyZW50PWV9fWZ1bmN0aW9uIGFpKGUpe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiYoZS5hbHRlcm5hdGU9bnVsbCxhaShuKSksZS5jaGlsZD1udWxsLGUuZGVsZXRpb25zPW51bGwsZS5zaWJsaW5nPW51bGwsNT09PWUudGFnJiYobnVsbCE9PShuPWUuc3RhdGVOb2RlKSYmKGRlbGV0ZSBuW2RsXSxkZWxldGUgbltwbF0sZGVsZXRlIG5baGxdLGRlbGV0ZSBuW2dsXSxkZWxldGUgblt2bF0pKSxlLnN0YXRlTm9kZT1udWxsLGUucmV0dXJuPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnBlbmRpbmdQcm9wcz1udWxsLGUuc3RhdGVOb2RlPW51bGwsZS51cGRhdGVRdWV1ZT1udWxsfWZ1bmN0aW9uIHVpKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8ND09PWUudGFnfWZ1bmN0aW9uIG9pKGUpe2U6Zm9yKDs7KXtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fHVpKGUucmV0dXJuKSlyZXR1cm4gbnVsbDtlPWUucmV0dXJufWZvcihlLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nOzUhPT1lLnRhZyYmNiE9PWUudGFnJiYxOCE9PWUudGFnOyl7aWYoMiZlLmZsYWdzKWNvbnRpbnVlIGU7aWYobnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSxuPzg9PT10Lm5vZGVUeXBlP3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxuKTp0Lmluc2VydEJlZm9yZShlLG4pOig4PT09dC5ub2RlVHlwZT8obj10LnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShlLHQpOihuPXQpLmFwcGVuZENoaWxkKGUpLG51bGwhPSh0PXQuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9SnIpKTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KGU9ZS5jaGlsZCkpZm9yKGlpKGUsbix0KSxlPWUuc2libGluZztudWxsIT09ZTspaWkoZSxuLHQpLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHNpKGUsbix0KXt2YXIgcj1lLnRhZztpZig1PT09cnx8Nj09PXIpZT1lLnN0YXRlTm9kZSwKbj90Lmluc2VydEJlZm9yZShlLG4pOnQuYXBwZW5kQ2hpbGQoZSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PShlPWUuY2hpbGQpKWZvcihzaShlLG4sdCksZT1lLnNpYmxpbmc7bnVsbCE9PWU7KXNpKGUsbix0KSxlPWUuc2libGluZ312YXIgY2k9bnVsbCxmaT0hMTtmdW5jdGlvbiBkaShlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspcGkoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHBpKGUsbix0KXtpZihhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXthbi5vbkNvbW1pdEZpYmVyVW5tb3VudChsbix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6WG98fEpvKHQsbik7Y2FzZSA2OnZhciByPWNpLGw9Zmk7Y2k9bnVsbCxkaShlLG4sdCksZmk9bCxudWxsIT09KGNpPXIpJiYoZmk/KGU9Y2ksdD10LnN0YXRlTm9kZSw4PT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk6ZS5yZW1vdmVDaGlsZCh0KSk6Y2kucmVtb3ZlQ2hpbGQodC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDE4Om51bGwhPT1jaSYmKGZpPyhlPWNpLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/aWwoZS5wYXJlbnROb2RlLHQpOjE9PT1lLm5vZGVUeXBlJiZpbChlLHQpLEhuKGUpKTppbChjaSx0LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWNpLGw9ZmksY2k9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxmaT0hMCxkaShlLG4sdCksY2k9cixmaT1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZighWG8mJihudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKSl7bD1yPXIubmV4dDtkb3t2YXIgYT1sLHU9YS5kZXN0cm95O2E9YS50YWcsdm9pZCAwIT09dSYmKDImYXx8NCZhKSYmZWkodCxuLHUpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCFYbyYmKEpvKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe0VzKHQsbixlKX1kaShlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkaShlLG4sdCk7YnJlYWs7Y2FzZSAyMjoxJnQubW9kZT8oWG89KHI9WG8pfHxudWxsIT09dC5tZW1vaXplZFN0YXRlLGRpKGUsbix0KSxYbz1yKTpkaShlLG4sdCk7YnJlYWs7ZGVmYXVsdDpkaShlLG4sdCl9fWZ1bmN0aW9uIG1pKGUpe3ZhciBuPWUudXBkYXRlUXVldWU7aWYobnVsbCE9PW4pe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgdD1lLnN0YXRlTm9kZTtudWxsPT09dCYmKHQ9ZS5zdGF0ZU5vZGU9bmV3IEdvKSxuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPV9zLmJpbmQobnVsbCxlLG4pO3QuaGFzKG4pfHwodC5hZGQobiksbi50aGVuKHIscikpfSkpfX1mdW5jdGlvbiBoaShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgdT1lLG89bixpPW87ZTpmb3IoO251bGwhPT1pOyl7c3dpdGNoKGkudGFnKXtjYXNlIDU6Y2k9aS5zdGF0ZU5vZGUsZmk9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0OmNpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZmk9ITA7YnJlYWsgZX1pPWkucmV0dXJufWlmKG51bGw9PT1jaSl0aHJvdyBFcnJvcihhKDE2MCkpO3BpKHUsbyxsKSxjaT1udWxsLGZpPSExO3ZhciBzPWwuYWx0ZXJuYXRlO251bGwhPT1zJiYocy5yZXR1cm49bnVsbCksbC5yZXR1cm49bnVsbH1jYXRjaChlKXtFcyhsLG4sZSl9fWlmKDEyODU0Jm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWdpKG4sZSksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gZ2koZSxuKXt2YXIgdD1lLmFsdGVybmF0ZSxyPWUuZmxhZ3M7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoaGkobixlKSx2aShlKSw0JnIpe3RyeXt0aSgzLGUsZS5yZXR1cm4pLHJpKDMsZSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX10cnl7dGkoNSxlLGUucmV0dXJuKX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDE6aGkobixlKSx2aShlKSw1MTImciYmbnVsbCE9PXQmJkpvKHQsdC5yZXR1cm4pO2JyZWFrO2Nhc2UgNTppZihoaShuLGUpLHZpKGUpLDUxMiZyJiZudWxsIT09dCYmSm8odCx0LnJldHVybiksMzImZS5mbGFncyl7dmFyIGw9ZS5zdGF0ZU5vZGU7dHJ5e2RlKGwsIiIpfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWlmKDQmciYmbnVsbCE9KGw9ZS5zdGF0ZU5vZGUpKXt2YXIgdT1lLm1lbW9pemVkUHJvcHMsbz1udWxsIT09dD90Lm1lbW9pemVkUHJvcHM6dSxpPWUudHlwZSxzPWUudXBkYXRlUXVldWU7aWYoZS51cGRhdGVRdWV1ZT1udWxsLG51bGwhPT1zKXRyeXsiaW5wdXQiPT09aSYmInJhZGlvIj09PXUudHlwZSYmbnVsbCE9dS5uYW1lJiZHKGwsdSksYmUoaSxvKTt2YXIgYz1iZShpLHUpO2ZvcihvPTA7bzxzLmxlbmd0aDtvKz0yKXt2YXIgZj1zW29dLGQ9c1tvKzFdOyJzdHlsZSI9PT1mP2dlKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWY/ZmUobCxkKToiY2hpbGRyZW4iPT09Zj9kZShsLGQpOmIobCxmLGQsYyl9c3dpdGNoKGkpe2Nhc2UiaW5wdXQiOloobCx1KTticmVhaztjYXNlInRleHRhcmVhIjphZShsLHUpO2JyZWFrO2Nhc2Uic2VsZWN0Ijp2YXIgcD1sLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhdS5tdWx0aXBsZTt2YXIgbT11LnZhbHVlO251bGwhPW0/dGUobCwhIXUubXVsdGlwbGUsbSwhMSk6cCE9PSEhdS5tdWx0aXBsZSYmKG51bGwhPXUuZGVmYXVsdFZhbHVlP3RlKGwsISF1Lm11bHRpcGxlLHUuZGVmYXVsdFZhbHVlLCEwKTp0ZShsLCEhdS5tdWx0aXBsZSx1Lm11bHRpcGxlP1tdOiIiLCExKSl9bFtwbF09dX1jYXRjaChuKXtFcyhlLGUucmV0dXJuLG4pfX1icmVhaztjYXNlIDY6aWYoaGkobixlKSx2aShlKSw0JnIpewppZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoYSgxNjIpKTtsPWUuc3RhdGVOb2RlLHU9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT11fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZihoaShuLGUpLHZpKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e0huKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDpoaShuLGUpLHZpKGUpO2JyZWFrO2Nhc2UgMTM6aGkobixlKSx2aShlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYodT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPXUsIXV8fG51bGwhPT1sLmFsdGVybmF0ZSYmbnVsbCE9PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGV8fChCaT1HZSgpKSksNCZyJiZtaShlKTticmVhaztjYXNlIDIyOmlmKGY9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUsMSZlLm1vZGU/KFhvPShjPVhvKXx8ZixoaShuLGUpLFhvPWMpOmhpKG4sZSksdmkoZSksODE5MiZyKXtpZihjPW51bGwhPT1lLm1lbW9pemVkU3RhdGUsKGUuc3RhdGVOb2RlLmlzSGlkZGVuPWMpJiYhZiYmMSZlLm1vZGUpZm9yKFpvPWUsZj1lLmNoaWxkO251bGwhPT1mOyl7Zm9yKGQ9Wm89ZjtudWxsIT09Wm87KXtzd2l0Y2gobT0ocD1abykuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp0aSg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTpKbyhwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7RXMocix0LGUpfX1icmVhaztjYXNlIDU6Sm8ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt3aShkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsWm89bSk6d2koZCl9Zj1mLnNpYmxpbmd9ZTpmb3IoZj1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1mKXtmPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUsYz8iZnVuY3Rpb24iPT10eXBlb2YodT1sLnN0eWxlKS5zZXRQcm9wZXJ0eT91LnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOnUuZGlzcGxheT0ibm9uZSI6KGk9ZC5zdGF0ZU5vZGUsbz1udWxsIT0ocz1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZzLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/cy5kaXNwbGF5Om51bGwsaS5zdHlsZS5kaXNwbGF5PWhlKCJkaXNwbGF5IixvKSl9Y2F0Y2gobil7RXMoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Zil0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPWM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrIGU7Zm9yKDtudWxsPT09ZC5zaWJsaW5nOyl7aWYobnVsbD09PWQucmV0dXJufHxkLnJldHVybj09PWUpYnJlYWsgZTtmPT09ZCYmKGY9bnVsbCksZD1kLnJldHVybn1mPT09ZCYmKGY9bnVsbCksZC5zaWJsaW5nLnJldHVybj1kLnJldHVybixkPWQuc2libGluZ319YnJlYWs7Y2FzZSAxOTpoaShuLGUpLHZpKGUpLDQmciYmbWkoZSk7Y2FzZSAyMTp9fWZ1bmN0aW9uIHZpKGUpe3ZhciBuPWUuZmxhZ3M7aWYoMiZuKXt0cnl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYodWkodCkpe3ZhciByPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKGEoMTYwKSl9c3dpdGNoKHIudGFnKXtjYXNlIDU6dmFyIGw9ci5zdGF0ZU5vZGU7MzImci5mbGFncyYmKGRlKGwsIiIpLHIuZmxhZ3MmPS0zMyksc2koZSxvaShlKSxsKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciB1PXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWkoZSxvaShlKSx1KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMTYxKSl9fWNhdGNoKG4pe0VzKGUsZS5yZXR1cm4sbil9ZS5mbGFncyY9LTN9NDA5NiZuJiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHlpKGUsbix0KXtabz1lLGJpKGUsbix0KX1mdW5jdGlvbiBiaShlLG4sdCl7Zm9yKHZhciByPSEhKDEmZS5tb2RlKTtudWxsIT09Wm87KXt2YXIgbD1abyxhPWwuY2hpbGQ7aWYoMjI9PT1sLnRhZyYmcil7dmFyIHU9bnVsbCE9PWwubWVtb2l6ZWRTdGF0ZXx8WW87aWYoIXUpe3ZhciBvPWwuYWx0ZXJuYXRlLGk9bnVsbCE9PW8mJm51bGwhPT1vLm1lbW9pemVkU3RhdGV8fFhvO289WW87dmFyIHM9WG87aWYoWW89dSwoWG89aSkmJiFzKWZvcihabz1sO251bGwhPT1abzspaT0odT1abykuY2hpbGQsMjI9PT11LnRhZyYmbnVsbCE9PXUubWVtb2l6ZWRTdGF0ZT9TaShsKTpudWxsIT09aT8oaS5yZXR1cm49dSxabz1pKTpTaShsKTtmb3IoO251bGwhPT1hOylabz1hLGJpKGEsbix0KSxhPWEuc2libGluZztabz1sLFlvPW8sWG89c31raShlKX1lbHNlIDg3NzImbC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1hPyhhLnJldHVybj1sLFpvPWEpOmtpKGUpfX1mdW5jdGlvbiBraShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKDg3NzImbi5mbGFncyl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDg3NzImbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6WG98fHJpKDUsbik7YnJlYWs7Y2FzZSAxOnZhciByPW4uc3RhdGVOb2RlO2lmKDQmbi5mbGFncyYmIVhvKWlmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmdhKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpCjtyLmNvbXBvbmVudERpZFVwZGF0ZShsLHQubWVtb2l6ZWRTdGF0ZSxyLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX12YXIgdT1uLnVwZGF0ZVF1ZXVlO251bGwhPT11JiZVYShuLHUscik7YnJlYWs7Y2FzZSAzOnZhciBvPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PW8pe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1VYShuLG8sdCl9YnJlYWs7Y2FzZSA1OnZhciBpPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9aTt2YXIgcz1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpzLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjpzLnNyYyYmKHQuc3JjPXMuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIGM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PWMpe3ZhciBmPWMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Zil7dmFyIGQ9Zi5kZWh5ZHJhdGVkO251bGwhPT1kJiZIbihkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoYSgxNjMpKX1Yb3x8NTEyJm4uZmxhZ3MmJmxpKG4pfWNhdGNoKGUpe0VzKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXtabz1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybixabz10O2JyZWFrfVpvPW4ucmV0dXJufX1mdW5jdGlvbiB3aShlKXtmb3IoO251bGwhPT1abzspe3ZhciBuPVpvO2lmKG49PT1lKXtabz1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sWm89dDticmVha31abz1uLnJldHVybn19ZnVuY3Rpb24gU2koZSl7Zm9yKDtudWxsIT09Wm87KXt2YXIgbj1abzt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXtyaSg0LG4pfWNhdGNoKGUpe0VzKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7RXMobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7bGkobil9Y2F0Y2goZSl7RXMobix1LGUpfX19Y2F0Y2goZSl7RXMobixuLnJldHVybixlKX1pZihuPT09ZSl7Wm89bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLFpvPW87YnJlYWt9Wm89bi5yZXR1cm59fXZhciB4aSxFaT1NYXRoLmNlaWwsQ2k9ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHppPWsuUmVhY3RDdXJyZW50T3duZXIsTmk9ay5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxfaT0wLFBpPW51bGwsVGk9bnVsbCxMaT0wLE1pPTAsRmk9RWwoMCksUmk9MCxEaT1udWxsLElpPTAsT2k9MCxVaT0wLFZpPW51bGwsQWk9bnVsbCxCaT0wLFdpPTEvMCxIaT1udWxsLFFpPSExLGppPW51bGwsJGk9bnVsbCxxaT0hMSxLaT1udWxsLFlpPTAsWGk9MCxHaT1udWxsLFppPS0xLEppPTA7ZnVuY3Rpb24gZXMoKXtyZXR1cm4gNiZfaT9HZSgpOi0xIT09Wmk/Wmk6Wmk9R2UoKX1mdW5jdGlvbiBucyhlKXtyZXR1cm4gMSZlLm1vZGU/MiZfaSYmMCE9PUxpP0xpJi1MaTpudWxsIT09aGEudHJhbnNpdGlvbj8oMD09PUppJiYoSmk9Z24oKSksSmkpOjAhPT0oZT1rbik/ZTplPXZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MTY6R24oZS50eXBlKToxfWZ1bmN0aW9uIHRzKGUsbix0LHIpe2lmKDUwPFhpKXRocm93IFhpPTAsR2k9bnVsbCxFcnJvcihhKDE4NSkpO3luKGUsdCxyKSwyJl9pJiZlPT09UGl8fChlPT09UGkmJighKDImX2kpJiYoT2l8PXQpLDQ9PT1SaSYmb3MoZSxMaSkpLHJzKGUsciksMT09PXQmJjA9PT1faSYmISgxJm4ubW9kZSkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSkpfWZ1bmN0aW9uIHJzKGUsbil7dmFyIHQ9ZS5jYWxsYmFja05vZGU7IWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT1lLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgdT0zMS11bihhKSxvPTE8PHUsaT1sW3VdOy0xPT09aT9vJnQmJiEobyZyKXx8KGxbdV09bW4obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpbnVsbCE9PXQmJktlKHQpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPXImLXIsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9dCYmS2UodCksMT09PW4pMD09PWUudGFnP2Z1bmN0aW9uKGUpe1ZsPSEwLEJsKGUpfShpcy5iaW5kKG51bGwsZSkpOkJsKGlzLmJpbmQobnVsbCxlKSksdWwoKGZ1bmN0aW9uKCl7ISg2Jl9pKSYmV2woKX0pKSx0PW51bGw7ZWxzZXtzd2l0Y2god24ocikpe2Nhc2UgMTp0PUplO2JyZWFrO2Nhc2UgNDp0PWVuO2JyZWFrO2Nhc2UgMTY6ZGVmYXVsdDp0PW5uO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOnQ9cm59dD1Qcyh0LGxzLmJpbmQobnVsbCxlKSl9ZS5jYWxsYmFja1ByaW9yaXR5PW4sZS5jYWxsYmFja05vZGU9dH19ZnVuY3Rpb24gbHMoZSxuKXtpZihaaT0tMSxKaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTt2YXIgdD1lLmNhbGxiYWNrTm9kZTtpZihTcygpJiZlLmNhbGxiYWNrTm9kZSE9PXQpcmV0dXJuIG51bGw7dmFyIHI9cG4oZSxlPT09UGk/TGk6MCk7aWYoMD09PXIpcmV0dXJuIG51bGw7aWYoMzAmcnx8ciZlLmV4cGlyZWRMYW5lc3x8biluPWdzKGUscik7ZWxzZXtuPXI7dmFyIGw9X2k7X2l8PTI7dmFyIHU9bXMoKQo7Zm9yKFBpPT09ZSYmTGk9PT1ufHwoSGk9bnVsbCxXaT1HZSgpKzUwMCxkcyhlLG4pKTs7KXRyeXt5cygpO2JyZWFrfWNhdGNoKG4pe3BzKGUsbil9d2EoKSxDaS5jdXJyZW50PXUsX2k9bCxudWxsIT09VGk/bj0wOihQaT1udWxsLExpPTAsbj1SaSl9aWYoMCE9PW4pe2lmKDI9PT1uJiYoMCE9PShsPWhuKGUpKSYmKHI9bCxuPWFzKGUsbCkpKSwxPT09bil0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7aWYoNj09PW4pb3MoZSxyKTtlbHNle2lmKGw9ZS5jdXJyZW50LmFsdGVybmF0ZSwhKDMwJnJ8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIW9yKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKXx8KG49Z3MoZSxyKSwyPT09biYmKHU9aG4oZSksMCE9PXUmJihyPXUsbj1hcyhlLHUpKSksMSE9PW4pKSl0aHJvdyB0PURpLGRzKGUsMCksb3MoZSxyKSxycyhlLEdlKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihhKDM0NSkpO2Nhc2UgMjpjYXNlIDU6d3MoZSxBaSxIaSk7YnJlYWs7Y2FzZSAzOmlmKG9zKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPUJpKzUwMC1HZSgpKSl7aWYoMCE9PXBuKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7ZXMoKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxuKTticmVha313cyhlLEFpLEhpKTticmVhaztjYXNlIDQ6aWYob3MoZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKG49ZS5ldmVudFRpbWVzLGw9LTE7MDxyOyl7dmFyIG89MzEtdW4ocik7dT0xPDxvLChvPW5bb10pPmwmJihsPW8pLHImPX51fWlmKHI9bCwxMDwocj0oMTIwPihyPUdlKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCpFaShyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJsKHdzLmJpbmQobnVsbCxlLEFpLEhpKSxyKTticmVha313cyhlLEFpLEhpKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzI5KSl9fX1yZXR1cm4gcnMoZSxHZSgpKSxlLmNhbGxiYWNrTm9kZT09PXQ/bHMuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gYXMoZSxuKXt2YXIgdD1WaTtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYoZHMoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9Z3MoZSxuKSkmJihuPUFpLEFpPXQsbnVsbCE9PW4mJnVzKG4pKSxlfWZ1bmN0aW9uIHVzKGUpe251bGw9PT1BaT9BaT1lOkFpLnB1c2guYXBwbHkoQWksZSl9ZnVuY3Rpb24gb3MoZSxuKXtmb3IobiY9flVpLG4mPX5PaSxlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtdW4obikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIGlzKGUpe2lmKDYmX2kpdGhyb3cgRXJyb3IoYSgzMjcpKTtTcygpO3ZhciBuPXBuKGUsMCk7aWYoISgxJm4pKXJldHVybiBycyhlLEdlKCkpLG51bGw7dmFyIHQ9Z3MoZSxuKTtpZigwIT09ZS50YWcmJjI9PT10KXt2YXIgcj1obihlKTswIT09ciYmKG49cix0PWFzKGUscikpfWlmKDE9PT10KXRocm93IHQ9RGksZHMoZSwwKSxvcyhlLG4pLHJzKGUsR2UoKSksdDtpZig2PT09dCl0aHJvdyBFcnJvcihhKDM0NSkpO3JldHVybiBlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRMYW5lcz1uLHdzKGUsQWksSGkpLHJzKGUsR2UoKSksbnVsbH1mdW5jdGlvbiBzcyhlLG4pe3ZhciB0PV9pO19pfD0xO3RyeXtyZXR1cm4gZShuKX1maW5hbGx5ezA9PT0oX2k9dCkmJihXaT1HZSgpKzUwMCxWbCYmV2woKSl9fWZ1bmN0aW9uIGNzKGUpe251bGwhPT1LaSYmMD09PUtpLnRhZyYmISg2Jl9pKSYmU3MoKTt2YXIgbj1faTtfaXw9MTt2YXIgdD1OaS50cmFuc2l0aW9uLHI9a247dHJ5e2lmKE5pLnRyYW5zaXRpb249bnVsbCxrbj0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e2tuPXIsTmkudHJhbnNpdGlvbj10LCEoNiYoX2k9bikpJiZXbCgpfX1mdW5jdGlvbiBmcygpe01pPUZpLmN1cnJlbnQsQ2woRmkpfWZ1bmN0aW9uIGRzKGUsbil7ZS5maW5pc2hlZFdvcms9bnVsbCxlLmZpbmlzaGVkTGFuZXM9MDt2YXIgdD1lLnRpbWVvdXRIYW5kbGU7aWYoLTEhPT10JiYoZS50aW1lb3V0SGFuZGxlPS0xLGxsKHQpKSxudWxsIT09VGkpZm9yKHQ9VGkucmV0dXJuO251bGwhPT10Oyl7dmFyIHI9dDtzd2l0Y2gobmEociksci50YWcpe2Nhc2UgMTpudWxsIT0ocj1yLnR5cGUuY2hpbGRDb250ZXh0VHlwZXMpJiZGbCgpO2JyZWFrO2Nhc2UgMzpsdSgpLENsKFBsKSxDbChfbCksY3UoKTticmVhaztjYXNlIDU6dXUocik7YnJlYWs7Y2FzZSA0Omx1KCk7YnJlYWs7Y2FzZSAxMzpjYXNlIDE5OkNsKG91KTticmVhaztjYXNlIDEwOlNhKHIudHlwZS5fY29udGV4dCk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmZzKCl9dD10LnJldHVybn1pZihQaT1lLFRpPWU9RnMoZS5jdXJyZW50LG51bGwpLExpPU1pPW4sUmk9MCxEaT1udWxsLFVpPU9pPUlpPTAsQWk9Vmk9bnVsbCxudWxsIT09emEpe2ZvcihuPTA7bjx6YS5sZW5ndGg7bisrKWlmKG51bGwhPT0ocj0odD16YVtuXSkuaW50ZXJsZWF2ZWQpKXt0LmludGVybGVhdmVkPW51bGwKO3ZhciBsPXIubmV4dCxhPXQucGVuZGluZztpZihudWxsIT09YSl7dmFyIHU9YS5uZXh0O2EubmV4dD1sLHIubmV4dD11fXQucGVuZGluZz1yfXphPW51bGx9cmV0dXJuIGV9ZnVuY3Rpb24gcHMoZSxuKXtmb3IoOzspe3ZhciB0PVRpO3RyeXtpZih3YSgpLGZ1LmN1cnJlbnQ9YW8sdnUpe2Zvcih2YXIgcj1tdS5tZW1vaXplZFN0YXRlO251bGwhPT1yOyl7dmFyIGw9ci5xdWV1ZTtudWxsIT09bCYmKGwucGVuZGluZz1udWxsKSxyPXIubmV4dH12dT0hMX1pZihwdT0wLGd1PWh1PW11PW51bGwseXU9ITEsYnU9MCx6aS5jdXJyZW50PW51bGwsbnVsbD09PXR8fG51bGw9PT10LnJldHVybil7Umk9MSxEaT1uLFRpPW51bGw7YnJlYWt9ZTp7dmFyIHU9ZSxvPXQucmV0dXJuLGk9dCxzPW47aWYobj1MaSxpLmZsYWdzfD0zMjc2OCxudWxsIT09cyYmIm9iamVjdCI9PXR5cGVvZiBzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy50aGVuKXt2YXIgYz1zLGY9aSxkPWYudGFnO2lmKCEoMSZmLm1vZGV8fDAhPT1kJiYxMSE9PWQmJjE1IT09ZCkpe3ZhciBwPWYuYWx0ZXJuYXRlO3A/KGYudXBkYXRlUXVldWU9cC51cGRhdGVRdWV1ZSxmLm1lbW9pemVkU3RhdGU9cC5tZW1vaXplZFN0YXRlLGYubGFuZXM9cC5sYW5lcyk6KGYudXBkYXRlUXVldWU9bnVsbCxmLm1lbW9pemVkU3RhdGU9bnVsbCl9dmFyIG09dm8obyk7aWYobnVsbCE9PW0pe20uZmxhZ3MmPS0yNTcseW8obSxvLGksMCxuKSwxJm0ubW9kZSYmZ28odSxjLG4pLHM9Yzt2YXIgaD0obj1tKS51cGRhdGVRdWV1ZTtpZihudWxsPT09aCl7dmFyIGc9bmV3IFNldDtnLmFkZChzKSxuLnVwZGF0ZVF1ZXVlPWd9ZWxzZSBoLmFkZChzKTticmVhayBlfWlmKCEoMSZuKSl7Z28odSxjLG4pLGhzKCk7YnJlYWsgZX1zPUVycm9yKGEoNDI2KSl9ZWxzZSBpZihsYSYmMSZpLm1vZGUpe3ZhciB2PXZvKG8pO2lmKG51bGwhPT12KXshKDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx5byh2LG8saSwwLG4pLG1hKHNvKHMsaSkpO2JyZWFrIGV9fXU9cz1zbyhzLGkpLDQhPT1SaSYmKFJpPTIpLG51bGw9PT1WaT9WaT1bdV06VmkucHVzaCh1KSx1PW87ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LG1vKDAscyxuKSk7YnJlYWsgZTtjYXNlIDE6aT1zO3ZhciB5PXUudHlwZSxiPXUuc3RhdGVOb2RlO2lmKCEoMTI4JnUuZmxhZ3N8fCJmdW5jdGlvbiIhPXR5cGVvZiB5LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciYmKG51bGw9PT1ifHwiZnVuY3Rpb24iIT10eXBlb2YgYi5jb21wb25lbnREaWRDYXRjaHx8bnVsbCE9PSRpJiYkaS5oYXMoYikpKSl7dS5mbGFnc3w9NjU1MzYsbiY9LW4sdS5sYW5lc3w9bixJYSh1LGhvKHUsaSxuKSk7YnJlYWsgZX19dT11LnJldHVybn13aGlsZShudWxsIT09dSl9a3ModCl9Y2F0Y2goZSl7bj1lLFRpPT09dCYmbnVsbCE9PXQmJihUaT10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gbXMoKXt2YXIgZT1DaS5jdXJyZW50O3JldHVybiBDaS5jdXJyZW50PWFvLG51bGw9PT1lP2FvOmV9ZnVuY3Rpb24gaHMoKXswIT09UmkmJjMhPT1SaSYmMiE9PVJpfHwoUmk9NCksbnVsbD09PVBpfHwhKDI2ODQzNTQ1NSZJaSkmJiEoMjY4NDM1NDU1Jk9pKXx8b3MoUGksTGkpfWZ1bmN0aW9uIGdzKGUsbil7dmFyIHQ9X2k7X2l8PTI7dmFyIHI9bXMoKTtmb3IoUGk9PT1lJiZMaT09PW58fChIaT1udWxsLGRzKGUsbikpOzspdHJ5e3ZzKCk7YnJlYWt9Y2F0Y2gobil7cHMoZSxuKX1pZih3YSgpLF9pPXQsQ2kuY3VycmVudD1yLG51bGwhPT1UaSl0aHJvdyBFcnJvcihhKDI2MSkpO3JldHVybiBQaT1udWxsLExpPTAsUml9ZnVuY3Rpb24gdnMoKXtmb3IoO251bGwhPT1UaTspYnMoVGkpfWZ1bmN0aW9uIHlzKCl7Zm9yKDtudWxsIT09VGkmJiFZZSgpOylicyhUaSl9ZnVuY3Rpb24gYnMoZSl7dmFyIG49eGkoZS5hbHRlcm5hdGUsZSxNaSk7ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT1uP2tzKGUpOlRpPW4semkuY3VycmVudD1udWxsfWZ1bmN0aW9uIGtzKGUpe3ZhciBuPWU7ZG97dmFyIHQ9bi5hbHRlcm5hdGU7aWYoZT1uLnJldHVybiwzMjc2OCZuLmZsYWdzKXtpZihudWxsIT09KHQ9S28odCxuKSkpcmV0dXJuIHQuZmxhZ3MmPTMyNzY3LHZvaWQoVGk9dCk7aWYobnVsbD09PWUpcmV0dXJuIFJpPTYsdm9pZChUaT1udWxsKTtlLmZsYWdzfD0zMjc2OCxlLnN1YnRyZWVGbGFncz0wLGUuZGVsZXRpb25zPW51bGx9ZWxzZSBpZihudWxsIT09KHQ9cW8odCxuLE1pKSkpcmV0dXJuIHZvaWQoVGk9dCk7aWYobnVsbCE9PShuPW4uc2libGluZykpcmV0dXJuIHZvaWQoVGk9bik7VGk9bj1lfXdoaWxlKG51bGwhPT1uKTswPT09UmkmJihSaT01KX1mdW5jdGlvbiB3cyhlLG4sdCl7dmFyIHI9a24sbD1OaS50cmFuc2l0aW9uO3RyeXtOaS50cmFuc2l0aW9uPW51bGwsa249MSxmdW5jdGlvbihlLG4sdCxyKXtkb3tTcygpfXdoaWxlKG51bGwhPT1LaSk7aWYoNiZfaSl0aHJvdyBFcnJvcihhKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGw9PT10KXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZExhbmVzPTAsdD09PWUuY3VycmVudCl0aHJvdyBFcnJvcihhKDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7dmFyIHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYoZnVuY3Rpb24oZSxuKXt2YXIgdD1lLnBlbmRpbmdMYW5lcyZ+bjtlLnBlbmRpbmdMYW5lcz1uLGUuc3VzcGVuZGVkTGFuZXM9MCxlLnBpbmdlZExhbmVzPTAsZS5leHBpcmVkTGFuZXMmPW4sZS5tdXRhYmxlUmVhZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sbj1lLmVudGFuZ2xlbWVudHM7dmFyIHI9ZS5ldmVudFRpbWVzO2ZvcihlPWUuZXhwaXJhdGlvblRpbWVzOzA8dDspe3ZhciBsPTMxLXVuKHQpLGE9MTw8bDtuW2xdPTAscltsXT0tMSxlW2xdPS0xLHQmPX5hfX0oZSx1KSxlPT09UGkmJihUaT1QaT1udWxsLExpPTApLAohKDIwNjQmdC5zdWJ0cmVlRmxhZ3MpJiYhKDIwNjQmdC5mbGFncyl8fHFpfHwocWk9ITAsUHMobm4sKGZ1bmN0aW9uKCl7cmV0dXJuIFNzKCksbnVsbH0pKSksdT0hISgxNTk5MCZ0LmZsYWdzKSwhISgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fHUpe3U9TmkudHJhbnNpdGlvbixOaS50cmFuc2l0aW9uPW51bGw7dmFyIG89a247a249MTt2YXIgaT1faTtfaXw9NCx6aS5jdXJyZW50PW51bGwsZnVuY3Rpb24oZSxuKXtpZihlbD1qbixwcihlPWRyKCkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgdD17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIHI9KHQ9KHQ9ZS5vd25lckRvY3VtZW50KSYmdC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnQuZ2V0U2VsZWN0aW9uKCk7aWYociYmMCE9PXIucmFuZ2VDb3VudCl7dD1yLmFuY2hvck5vZGU7dmFyIGw9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZj0wLGQ9ZSxwPW51bGw7bjpmb3IoOzspe2Zvcih2YXIgbTtkIT09dHx8MCE9PWwmJjMhPT1kLm5vZGVUeXBlfHwoaT1vK2wpLGQhPT11fHwwIT09ciYmMyE9PWQubm9kZVR5cGV8fChzPW8rciksMz09PWQubm9kZVR5cGUmJihvKz1kLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0obT1kLmZpcnN0Q2hpbGQpOylwPWQsZD1tO2Zvcig7Oyl7aWYoZD09PWUpYnJlYWsgbjtpZihwPT09dCYmKytjPT09bCYmKGk9bykscD09PXUmJisrZj09PXImJihzPW8pLG51bGwhPT0obT1kLm5leHRTaWJsaW5nKSlicmVhaztwPShkPXApLnBhcmVudE5vZGV9ZD1tfXQ9LTE9PT1pfHwtMT09PXM/bnVsbDp7c3RhcnQ6aSxlbmQ6c319ZWxzZSB0PW51bGx9dD10fHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSB0PW51bGw7Zm9yKG5sPXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnR9LGpuPSExLFpvPW47bnVsbCE9PVpvOylpZihlPShuPVpvKS5jaGlsZCwxMDI4Jm4uc3VidHJlZUZsYWdzJiZudWxsIT09ZSllLnJldHVybj1uLFpvPWU7ZWxzZSBmb3IoO251bGwhPT1abzspe249Wm87dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDEwMjQmbi5mbGFncylzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSA1OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDE6aWYobnVsbCE9PWgpe3ZhciBnPWgubWVtb2l6ZWRQcm9wcyx2PWgubWVtb2l6ZWRTdGF0ZSx5PW4uc3RhdGVOb2RlLGI9eS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShuLmVsZW1lbnRUeXBlPT09bi50eXBlP2c6Z2Eobi50eXBlLGcpLHYpO3kuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9Yn1icmVhaztjYXNlIDM6dmFyIGs9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzsxPT09ay5ub2RlVHlwZT9rLnRleHRDb250ZW50PSIiOjk9PT1rLm5vZGVUeXBlJiZrLmRvY3VtZW50RWxlbWVudCYmay5yZW1vdmVDaGlsZChrLmRvY3VtZW50RWxlbWVudCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihhKDE2MykpfX1jYXRjaChlKXtFcyhuLG4ucmV0dXJuLGUpfWlmKG51bGwhPT0oZT1uLnNpYmxpbmcpKXtlLnJldHVybj1uLnJldHVybixabz1lO2JyZWFrfVpvPW4ucmV0dXJufWg9bmksbmk9ITF9KGUsdCksZ2kodCxlKSxtcihubCksam49ISFlbCxubD1lbD1udWxsLGUuY3VycmVudD10LHlpKHQsZSxsKSxYZSgpLF9pPWksa249byxOaS50cmFuc2l0aW9uPXV9ZWxzZSBlLmN1cnJlbnQ9dDtpZihxaSYmKHFpPSExLEtpPWUsWWk9bCksdT1lLnBlbmRpbmdMYW5lcywwPT09dSYmKCRpPW51bGwpLGZ1bmN0aW9uKGUpe2lmKGFuJiYiZnVuY3Rpb24iPT10eXBlb2YgYW4ub25Db21taXRGaWJlclJvb3QpdHJ5e2FuLm9uQ29tbWl0RmliZXJSb290KGxuLGUsdm9pZCAwLCEoMTI4Jn5lLmN1cnJlbnQuZmxhZ3MpKX1jYXRjaChlKXt9fSh0LnN0YXRlTm9kZSkscnMoZSxHZSgpKSxudWxsIT09bilmb3Iocj1lLm9uUmVjb3ZlcmFibGVFcnJvcix0PTA7dDxuLmxlbmd0aDt0KyspbD1uW3RdLHIobC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bC5zdGFjayxkaWdlc3Q6bC5kaWdlc3R9KTtpZihRaSl0aHJvdyBRaT0hMSxlPWppLGppPW51bGwsZTshISgxJllpKSYmMCE9PWUudGFnJiZTcygpLHU9ZS5wZW5kaW5nTGFuZXMsMSZ1P2U9PT1HaT9YaSsrOihYaT0wLEdpPWUpOlhpPTAsV2woKX0oZSxuLHQscil9ZmluYWxseXtOaS50cmFuc2l0aW9uPWwsa249cn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcygpe2lmKG51bGwhPT1LaSl7dmFyIGU9d24oWWkpLG49TmkudHJhbnNpdGlvbix0PWtuO3RyeXtpZihOaS50cmFuc2l0aW9uPW51bGwsa249MTY+ZT8xNjplLG51bGw9PT1LaSl2YXIgcj0hMTtlbHNle2lmKGU9S2ksS2k9bnVsbCxZaT0wLDYmX2kpdGhyb3cgRXJyb3IoYSgzMzEpKTt2YXIgbD1faTtmb3IoX2l8PTQsWm89ZS5jdXJyZW50O251bGwhPT1abzspe3ZhciB1PVpvLG89dS5jaGlsZDtpZigxNiZaby5mbGFncyl7dmFyIGk9dS5kZWxldGlvbnM7aWYobnVsbCE9PWkpe2Zvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgYz1pW3NdO2Zvcihabz1jO251bGwhPT1abzspe3ZhciBmPVpvO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp0aSg4LGYsdSl9dmFyIGQ9Zi5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1mLFpvPWQ7ZWxzZSBmb3IoO251bGwhPT1abzspe3ZhciBwPShmPVpvKS5zaWJsaW5nLG09Zi5yZXR1cm47aWYoYWkoZiksZj09PWMpe1pvPW51bGw7YnJlYWt9aWYobnVsbCE9PXApe3AucmV0dXJuPW0sWm89cDticmVha31abz1tfX19dmFyIGg9dS5hbHRlcm5hdGU7aWYobnVsbCE9PWgpe3ZhciBnPWguY2hpbGQ7aWYobnVsbCE9PWcpe2guY2hpbGQ9bnVsbDtkb3t2YXIgdj1nLnNpYmxpbmc7Zy5zaWJsaW5nPW51bGwsZz12fXdoaWxlKG51bGwhPT1nKX19Wm89dX19aWYoMjA2NCZ1LnN1YnRyZWVGbGFncyYmbnVsbCE9PW8pby5yZXR1cm49dSwKWm89bztlbHNlIGU6Zm9yKDtudWxsIT09Wm87KXtpZigyMDQ4Jih1PVpvKS5mbGFncylzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dGkoOSx1LHUucmV0dXJuKX12YXIgeT11LnNpYmxpbmc7aWYobnVsbCE9PXkpe3kucmV0dXJuPXUucmV0dXJuLFpvPXk7YnJlYWsgZX1abz11LnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcihabz1iO251bGwhPT1abzspe3ZhciBrPShvPVpvKS5jaGlsZDtpZigyMDY0Jm8uc3VidHJlZUZsYWdzJiZudWxsIT09aylrLnJldHVybj1vLFpvPWs7ZWxzZSBlOmZvcihvPWI7bnVsbCE9PVpvOyl7aWYoMjA0OCYoaT1abykuZmxhZ3MpdHJ5e3N3aXRjaChpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpyaSg5LGkpfX1jYXRjaChlKXtFcyhpLGkucmV0dXJuLGUpfWlmKGk9PT1vKXtabz1udWxsO2JyZWFrIGV9dmFyIHc9aS5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1pLnJldHVybixabz13O2JyZWFrIGV9Wm89aS5yZXR1cm59fWlmKF9pPWwsV2woKSxhbiYmImZ1bmN0aW9uIj09dHlwZW9mIGFuLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7YW4ub25Qb3N0Q29tbWl0RmliZXJSb290KGxuLGUpfWNhdGNoKGUpe31yPSEwfXJldHVybiByfWZpbmFsbHl7a249dCxOaS50cmFuc2l0aW9uPW59fXJldHVybiExfWZ1bmN0aW9uIHhzKGUsbix0KXtlPVJhKGUsbj1tbygwLG49c28odCxuKSwxKSwxKSxuPWVzKCksbnVsbCE9PWUmJih5bihlLDEsbikscnMoZSxuKSl9ZnVuY3Rpb24gRXMoZSxuLHQpe2lmKDM9PT1lLnRhZyl4cyhlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXt4cyhuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09JGl8fCEkaS5oYXMocikpKXtuPVJhKG4sZT1obyhuLGU9c28odCxlKSwxKSwxKSxlPWVzKCksbnVsbCE9PW4mJih5bihuLDEsZSkscnMobixlKSk7YnJlYWt9fW49bi5yZXR1cm59fWZ1bmN0aW9uIENzKGUsbix0KXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUobiksbj1lcygpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmdCxQaT09PWUmJihMaSZ0KT09PXQmJig0PT09Uml8fDM9PT1SaSYmKDEzMDAyMzQyNCZMaSk9PT1MaSYmNTAwPkdlKCktQmk/ZHMoZSwwKTpVaXw9dCkscnMoZSxuKX1mdW5jdGlvbiB6cyhlLG4pezA9PT1uJiYoMSZlLm1vZGU/KG49Zm4sISgxMzAwMjM0MjQmKGZuPDw9MSkpJiYoZm49NDE5NDMwNCkpOm49MSk7dmFyIHQ9ZXMoKTtudWxsIT09KGU9UGEoZSxuKSkmJih5bihlLG4sdCkscnMoZSx0KSl9ZnVuY3Rpb24gTnMoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLHpzKGUsdCl9ZnVuY3Rpb24gX3MoZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGEoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLHpzKGUsdCl9ZnVuY3Rpb24gUHMoZSxuKXtyZXR1cm4gcWUoZSxuKX1mdW5jdGlvbiBUcyhlLG4sdCxyKXt0aGlzLnRhZz1lLHRoaXMua2V5PXQsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz1uLHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiBMcyhlLG4sdCxyKXtyZXR1cm4gbmV3IFRzKGUsbix0LHIpfWZ1bmN0aW9uIE1zKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gRnMoZSxuKXt2YXIgdD1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PXQ/KCh0PUxzKGUudGFnLG4sZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSx0LnR5cGU9ZS50eXBlLHQuc3RhdGVOb2RlPWUuc3RhdGVOb2RlLHQuYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9dCk6KHQucGVuZGluZ1Byb3BzPW4sdC50eXBlPWUudHlwZSx0LmZsYWdzPTAsdC5zdWJ0cmVlRmxhZ3M9MCx0LmRlbGV0aW9ucz1udWxsKSx0LmZsYWdzPTE0NjgwMDY0JmUuZmxhZ3MsdC5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyx0LmxhbmVzPWUubGFuZXMsdC5jaGlsZD1lLmNoaWxkLHQubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsdC5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsbj1lLmRlcGVuZGVuY2llcyx0LmRlcGVuZGVuY2llcz1udWxsPT09bj9udWxsOntsYW5lczpuLmxhbmVzLGZpcnN0Q29udGV4dDpuLmZpcnN0Q29udGV4dH0sdC5zaWJsaW5nPWUuc2libGluZyx0LmluZGV4PWUuaW5kZXgsdC5yZWY9ZS5yZWYsdH1mdW5jdGlvbiBScyhlLG4sdCxyLGwsdSl7dmFyIG89MjtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpTXMoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89NTtlbHNlIGU6c3dpdGNoKGUpe2Nhc2UgeDpyZXR1cm4gRHModC5jaGlsZHJlbixsLHUsbik7Y2FzZSBFOm89OCxsfD04O2JyZWFrO2Nhc2UgQzpyZXR1cm4oZT1McygxMix0LG4sMnxsKSkuZWxlbWVudFR5cGU9QyxlLmxhbmVzPXUsZTtjYXNlIFA6cmV0dXJuKGU9THMoMTMsdCxuLGwpKS5lbGVtZW50VHlwZT1QLGUubGFuZXM9dSxlO2Nhc2UgVDoKcmV0dXJuKGU9THMoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ULGUubGFuZXM9dSxlO2Nhc2UgRjpyZXR1cm4gSXModCxsLHUsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHo6bz0xMDticmVhayBlO2Nhc2UgTjpvPTk7YnJlYWsgZTtjYXNlIF86bz0xMTticmVhayBlO2Nhc2UgTDpvPTE0O2JyZWFrIGU7Y2FzZSBNOm89MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoYSgxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49THMobyx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz11LG59ZnVuY3Rpb24gRHMoZSxuLHQscil7cmV0dXJuKGU9THMoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBJcyhlLG4sdCxyKXtyZXR1cm4oZT1McygyMixlLHIsbikpLmVsZW1lbnRUeXBlPUYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBPcyhlLG4sdCl7cmV0dXJuKGU9THMoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBVcyhlLG4sdCl7cmV0dXJuKG49THMoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIFZzKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9dm4oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9dm4oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9dm4oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBBcyhlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IFZzKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9THMoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxMYShhKSxlfWZ1bmN0aW9uIEJzKGUpe2lmKCFlKXJldHVybiBObDtlOntpZihXZShlPWUuX3JlYWN0SW50ZXJuYWxzKSE9PWV8fDEhPT1lLnRhZyl0aHJvdyBFcnJvcihhKDE3MCkpO3ZhciBuPWU7ZG97c3dpdGNoKG4udGFnKXtjYXNlIDM6bj1uLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIGU7Y2FzZSAxOmlmKE1sKG4udHlwZSkpe249bi5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgZX19bj1uLnJldHVybn13aGlsZShudWxsIT09bik7dGhyb3cgRXJyb3IoYSgxNzEpKX1pZigxPT09ZS50YWcpe3ZhciB0PWUudHlwZTtpZihNbCh0KSlyZXR1cm4gRGwoZSx0LG4pfXJldHVybiBufWZ1bmN0aW9uIFdzKGUsbix0LHIsbCxhLHUsbyxpKXtyZXR1cm4oZT1Bcyh0LHIsITAsZSwwLGEsMCxvLGkpKS5jb250ZXh0PUJzKG51bGwpLHQ9ZS5jdXJyZW50LChhPUZhKHI9ZXMoKSxsPW5zKHQpKSkuY2FsbGJhY2s9bnVsbCE9bj9uOm51bGwsUmEodCxhLGwpLGUuY3VycmVudC5sYW5lcz1sLHluKGUsbCxyKSxycyhlLHIpLGV9ZnVuY3Rpb24gSHMoZSxuLHQscil7dmFyIGw9bi5jdXJyZW50LGE9ZXMoKSx1PW5zKGwpO3JldHVybiB0PUJzKHQpLG51bGw9PT1uLmNvbnRleHQ/bi5jb250ZXh0PXQ6bi5wZW5kaW5nQ29udGV4dD10LChuPUZhKGEsdSkpLnBheWxvYWQ9e2VsZW1lbnQ6ZX0sbnVsbCE9PShyPXZvaWQgMD09PXI/bnVsbDpyKSYmKG4uY2FsbGJhY2s9ciksbnVsbCE9PShlPVJhKGwsbix1KSkmJih0cyhlLGwsdSxhKSxEYShlLGwsdSkpLHV9ZnVuY3Rpb24gUXMoZSl7cmV0dXJuKGU9ZS5jdXJyZW50KS5jaGlsZD8oZS5jaGlsZC50YWcsZS5jaGlsZC5zdGF0ZU5vZGUpOm51bGx9ZnVuY3Rpb24ganMoZSxuKXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIHQ9ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PXQmJnQ8bj90Om59fWZ1bmN0aW9uICRzKGUsbil7anMoZSxuKSwoZT1lLmFsdGVybmF0ZSkmJmpzKGUsbil9eGk9ZnVuY3Rpb24oZSxuLHQpe2lmKG51bGwhPT1lKWlmKGUubWVtb2l6ZWRQcm9wcyE9PW4ucGVuZGluZ1Byb3BzfHxQbC5jdXJyZW50KWtvPSEwO2Vsc2V7aWYoIShlLmxhbmVzJnR8fDEyOCZuLmZsYWdzKSlyZXR1cm4ga289ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOlRvKG4pLHBhKCk7YnJlYWs7Y2FzZSA1OmF1KG4pO2JyZWFrO2Nhc2UgMTpNbChuLnR5cGUpJiZJbChuKTticmVhaztjYXNlIDQ6cnUobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTt6bCh2YSxyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpcmV0dXJuIG51bGwhPT1yLmRlaHlkcmF0ZWQ/KHpsKG91LDEmb3UuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGwpOnQmbi5jaGlsZC5jaGlsZExhbmVzP09vKGUsbix0KTooemwob3UsMSZvdS5jdXJyZW50KSwKbnVsbCE9PShlPVFvKGUsbix0KSk/ZS5zaWJsaW5nOm51bGwpO3psKG91LDEmb3UuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPSEhKHQmbi5jaGlsZExhbmVzKSwxMjgmZS5mbGFncyl7aWYocilyZXR1cm4gV28oZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHpsKG91LG91LmN1cnJlbnQpLHIpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBuLmxhbmVzPTAsQ28oZSxuLHQpfXJldHVybiBRbyhlLG4sdCl9KGUsbix0KTtrbz0hISgxMzEwNzImZS5mbGFncyl9ZWxzZSBrbz0hMSxsYSYmMTA0ODU3NiZuLmZsYWdzJiZKbChuLCRsLG4uaW5kZXgpO3N3aXRjaChuLmxhbmVzPTAsbi50YWcpe2Nhc2UgMjp2YXIgcj1uLnR5cGU7SG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzO3ZhciBsPUxsKG4sX2wuY3VycmVudCk7RWEobix0KSxsPXh1KG51bGwsbixyLGUsbCx0KTt2YXIgdT1FdSgpO3JldHVybiBuLmZsYWdzfD0xLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWwmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlbmRlciYmdm9pZCAwPT09bC4kJHR5cGVvZj8obi50YWc9MSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGwsTWwocik/KHU9ITAsSWwobikpOnU9ITEsbi5tZW1vaXplZFN0YXRlPW51bGwhPT1sLnN0YXRlJiZ2b2lkIDAhPT1sLnN0YXRlP2wuc3RhdGU6bnVsbCxMYShuKSxsLnVwZGF0ZXI9QmEsbi5zdGF0ZU5vZGU9bCxsLl9yZWFjdEludGVybmFscz1uLGphKG4scixlLHQpLG49UG8obnVsbCxuLHIsITAsdSx0KSk6KG4udGFnPTAsbGEmJnUmJmVhKG4pLHdvKG51bGwsbixsLHQpLG49bi5jaGlsZCksbjtjYXNlIDE2OnI9bi5lbGVtZW50VHlwZTtlOntzd2l0Y2goSG8oZSxuKSxlPW4ucGVuZGluZ1Byb3BzLHI9KGw9ci5faW5pdCkoci5fcGF5bG9hZCksbi50eXBlPXIsbD1uLnRhZz1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gTXMoZSk/MTowO2lmKG51bGwhPWUpe2lmKChlPWUuJCR0eXBlb2YpPT09XylyZXR1cm4gMTE7aWYoZT09PUwpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPWdhKHIsZSksbCl7Y2FzZSAwOm49Tm8obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTpuPV9vKG51bGwsbixyLGUsdCk7YnJlYWsgZTtjYXNlIDExOm49U28obnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTQ6bj14byhudWxsLG4scixnYShyLnR5cGUsZSksdCk7YnJlYWsgZX10aHJvdyBFcnJvcihhKDMwNixyLCIiKSl9cmV0dXJuIG47Y2FzZSAwOnJldHVybiByPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLE5vKGUsbixyLGw9bi5lbGVtZW50VHlwZT09PXI/bDpnYShyLGwpLHQpO2Nhc2UgMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxfbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDM6ZTp7aWYoVG8obiksbnVsbD09PWUpdGhyb3cgRXJyb3IoYSgzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KHU9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LE1hKGUsbiksT2EobixyLG51bGwsdCk7dmFyIG89bi5tZW1vaXplZFN0YXRlO2lmKHI9by5lbGVtZW50LHUuaXNEZWh5ZHJhdGVkKXtpZih1PXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOm8uY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpvLnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSxuLm1lbW9pemVkU3RhdGU9dSwyNTYmbi5mbGFncyl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjMpKSxuKSk7YnJlYWsgZX1pZihyIT09bCl7bj1MbyhlLG4scix0LGw9c28oRXJyb3IoYSg0MjQpKSxuKSk7YnJlYWsgZX1mb3IocmE9c2wobi5zdGF0ZU5vZGUuY29udGFpbmVySW5mby5maXJzdENoaWxkKSx0YT1uLGxhPSEwLGFhPW51bGwsdD1HYShuLG51bGwscix0KSxuLmNoaWxkPXQ7dDspdC5mbGFncz0tMyZ0LmZsYWdzfDQwOTYsdD10LnNpYmxpbmd9ZWxzZXtpZihwYSgpLHI9PT1sKXtuPVFvKGUsbix0KTticmVhayBlfXdvKGUsbixyLHQpfW49bi5jaGlsZH1yZXR1cm4gbjtjYXNlIDU6cmV0dXJuIGF1KG4pLG51bGw9PT1lJiZzYShuKSxyPW4udHlwZSxsPW4ucGVuZGluZ1Byb3BzLHU9bnVsbCE9PWU/ZS5tZW1vaXplZFByb3BzOm51bGwsbz1sLmNoaWxkcmVuLHRsKHIsbCk/bz1udWxsOm51bGwhPT11JiZ0bChyLHUpJiYobi5mbGFnc3w9MzIpLHpvKGUsbiksd28oZSxuLG8sdCksbi5jaGlsZDtjYXNlIDY6cmV0dXJuIG51bGw9PT1lJiZzYShuKSxudWxsO2Nhc2UgMTM6cmV0dXJuIE9vKGUsbix0KTtjYXNlIDQ6cmV0dXJuIHJ1KG4sbi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscj1uLnBlbmRpbmdQcm9wcyxudWxsPT09ZT9uLmNoaWxkPVhhKG4sbnVsbCxyLHQpOndvKGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxMTpyZXR1cm4gcj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxTbyhlLG4scixsPW4uZWxlbWVudFR5cGU9PT1yP2w6Z2EocixsKSx0KTtjYXNlIDc6cmV0dXJuIHdvKGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB3byhlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsdT1uLm1lbW9pemVkUHJvcHMsbz1sLnZhbHVlLHpsKHZhLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPW8sbnVsbCE9PXUpaWYob3IodS52YWx1ZSxvKSl7aWYodS5jaGlsZHJlbj09PWwuY2hpbGRyZW4mJiFQbC5jdXJyZW50KXtuPVFvKGUsbix0KTticmVhayBlfX1lbHNlIGZvcihudWxsIT09KHU9bi5jaGlsZCkmJih1LnJldHVybj1uKTtudWxsIT09dTspe3ZhciBpPXUuZGVwZW5kZW5jaWVzO2lmKG51bGwhPT1pKXtvPXUuY2hpbGQ7Zm9yKHZhciBzPWkuZmlyc3RDb250ZXh0O251bGwhPT1zOyl7aWYocy5jb250ZXh0PT09cil7CmlmKDE9PT11LnRhZyl7KHM9RmEoLTEsdCYtdCkpLnRhZz0yO3ZhciBjPXUudXBkYXRlUXVldWU7aWYobnVsbCE9PWMpe3ZhciBmPShjPWMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1mP3MubmV4dD1zOihzLm5leHQ9Zi5uZXh0LGYubmV4dD1zKSxjLnBlbmRpbmc9c319dS5sYW5lc3w9dCxudWxsIT09KHM9dS5hbHRlcm5hdGUpJiYocy5sYW5lc3w9dCkseGEodS5yZXR1cm4sdCxuKSxpLmxhbmVzfD10O2JyZWFrfXM9cy5uZXh0fX1lbHNlIGlmKDEwPT09dS50YWcpbz11LnR5cGU9PT1uLnR5cGU/bnVsbDp1LmNoaWxkO2Vsc2UgaWYoMTg9PT11LnRhZyl7aWYobnVsbD09PShvPXUucmV0dXJuKSl0aHJvdyBFcnJvcihhKDM0MSkpO28ubGFuZXN8PXQsbnVsbCE9PShpPW8uYWx0ZXJuYXRlKSYmKGkubGFuZXN8PXQpLHhhKG8sdCxuKSxvPXUuc2libGluZ31lbHNlIG89dS5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj11O2Vsc2UgZm9yKG89dTtudWxsIT09bzspe2lmKG89PT1uKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PSh1PW8uc2libGluZykpe3UucmV0dXJuPW8ucmV0dXJuLG89dTticmVha31vPW8ucmV0dXJufXU9b313byhlLG4sbC5jaGlsZHJlbix0KSxuPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA5OnJldHVybiBsPW4udHlwZSxyPW4ucGVuZGluZ1Byb3BzLmNoaWxkcmVuLEVhKG4sdCkscj1yKGw9Q2EobCkpLG4uZmxhZ3N8PTEsd28oZSxuLHIsdCksbi5jaGlsZDtjYXNlIDE0OnJldHVybiBsPWdhKHI9bi50eXBlLG4ucGVuZGluZ1Byb3BzKSx4byhlLG4scixsPWdhKHIudHlwZSxsKSx0KTtjYXNlIDE1OnJldHVybiBFbyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmdhKHIsbCksSG8oZSxuKSxuLnRhZz0xLE1sKHIpPyhlPSEwLElsKG4pKTplPSExLEVhKG4sdCksSGEobixyLGwpLGphKG4scixsLHQpLFBvKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gV28oZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIENvKGUsbix0KX10aHJvdyBFcnJvcihhKDE1NixuLnRhZykpfTt2YXIgcXM9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIEtzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFlzKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIFhzKGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBHcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIFpzKCl7fWZ1bmN0aW9uIEpzKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO28uY2FsbChlKX19SHMobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKHUpO2EuY2FsbChlKX19dmFyIHU9V3MobixyLGUsMCxudWxsLCExLDAsIiIsWnMpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9dSxlW21sXT11LmN1cnJlbnQsV3IoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLGNzKCksdX1mb3IoO2w9ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVFzKGkpO28uY2FsbChlKX19dmFyIGk9QXMoZSwwLCExLG51bGwsMCwhMSwwLCIiLFpzKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPWksZVttbF09aS5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxjcygoZnVuY3Rpb24oKXtIcyhuLGksdCxyKX0pKSxpfSh0LG4sZSxsLHIpO3JldHVybiBRcyh1KX1Zcy5wcm90b3R5cGUucmVuZGVyPUtzLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGEoNDA5KSk7SHMoZSxuLG51bGwsbnVsbCl9LFlzLnByb3RvdHlwZS51bm1vdW50PUtzLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87Y3MoKGZ1bmN0aW9uKCl7SHMobnVsbCxlLG51bGwsbnVsbCl9KSksblttbF09bnVsbH19LFlzLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgbj1DbigpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5Om59O2Zvcih2YXIgdD0wO3Q8Um4ubGVuZ3RoJiYwIT09biYmbjxSblt0XS5wcmlvcml0eTt0KyspO1JuLnNwbGljZSh0LDAsZSksMD09PXQmJlVuKGUpfX0sU249ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDM6dmFyIG49ZS5zdGF0ZU5vZGU7aWYobi5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgdD1kbihuLnBlbmRpbmdMYW5lcyk7MCE9PXQmJihibihuLDF8dCkscnMobixHZSgpKSwhKDYmX2kpJiYoV2k9R2UoKSs1MDAsV2woKSkpfWJyZWFrO2Nhc2UgMTM6Y3MoKGZ1bmN0aW9uKCl7dmFyIG49UGEoZSwxKTtpZihudWxsIT09bil7dmFyIHQ9ZXMoKTt0cyhuLGUsMSx0KX19KSksJHMoZSwxKX19LHhuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPVBhKGUsMTM0MjE3NzI4KTtpZihudWxsIT09bil0cyhuLGUsMTM0MjE3NzI4LGVzKCkpOyRzKGUsMTM0MjE3NzI4KX19LEVuPWZ1bmN0aW9uKGUpe2lmKDEzPT09ZS50YWcpe3ZhciBuPW5zKGUpLHQ9UGEoZSxuKQo7aWYobnVsbCE9PXQpdHModCxlLG4sZXMoKSk7JHMoZSxuKX19LENuPWZ1bmN0aW9uKCl7cmV0dXJuIGtufSx6bj1mdW5jdGlvbihlLG4pe3ZhciB0PWtuO3RyeXtyZXR1cm4ga249ZSxuKCl9ZmluYWxseXtrbj10fX0sU2U9ZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuKXtjYXNlImlucHV0IjppZihaKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9d2wocik7aWYoIWwpdGhyb3cgRXJyb3IoYSg5MCkpO3EociksWihyLGwpfX19YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6YWUoZSx0KTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KG49dC52YWx1ZSkmJnRlKGUsISF0Lm11bHRpcGxlLG4sITEpfX0sX2U9c3MsUGU9Y3M7dmFyIGVjPXt1c2luZ0NsaWVudEVudHJ5UG9pbnQ6ITEsRXZlbnRzOltibCxrbCx3bCx6ZSxOZSxzc119LG5jPXtmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTp5bCxidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTguMi4wIixyZW5kZXJlclBhY2thZ2VOYW1lOiJyZWFjdC1kb20ifSx0Yz17YnVuZGxlVHlwZTpuYy5idW5kbGVUeXBlLHZlcnNpb246bmMudmVyc2lvbixyZW5kZXJlclBhY2thZ2VOYW1lOm5jLnJlbmRlcmVyUGFja2FnZU5hbWUscmVuZGVyZXJDb25maWc6bmMucmVuZGVyZXJDb25maWcsb3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZURlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZUhvb2tTdGF0ZVJlbmFtZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsb3ZlcnJpZGVQcm9wc0RlbGV0ZVBhdGg6bnVsbCxvdmVycmlkZVByb3BzUmVuYW1lUGF0aDpudWxsLHNldEVycm9ySGFuZGxlcjpudWxsLHNldFN1c3BlbnNlSGFuZGxlcjpudWxsLHNjaGVkdWxlVXBkYXRlOm51bGwsY3VycmVudERpc3BhdGNoZXJSZWY6ay5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09KGU9amUoZSkpP251bGw6ZS5zdGF0ZU5vZGV9LGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOm5jLmZpbmRGaWJlckJ5SG9zdEluc3RhbmNlfHxmdW5jdGlvbigpe3JldHVybiBudWxsfSxmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6bnVsbCxzY2hlZHVsZVJlZnJlc2g6bnVsbCxzY2hlZHVsZVJvb3Q6bnVsbCxzZXRSZWZyZXNoSGFuZGxlcjpudWxsLGdldEN1cnJlbnRGaWJlcjpudWxsLHJlY29uY2lsZXJWZXJzaW9uOiIxOC4yLjAtbmV4dC05ZTNiNzcyYjgtMjAyMjA2MDgifTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIHJjPV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighcmMuaXNEaXNhYmxlZCYmcmMuc3VwcG9ydHNGaWJlcil0cnl7bG49cmMuaW5qZWN0KHRjKSxhbj1yY31jYXRjaChjZSl7fX1uLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPWVjLG4uY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsbil7dmFyIHQ9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIVhzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIGZ1bmN0aW9uKGUsbix0KXt2YXIgcj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6UyxrZXk6bnVsbD09cj9udWxsOiIiK3IsY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOm4saW1wbGVtZW50YXRpb246dH19KGUsbixudWxsLHQpfSxuLmNyZWF0ZVJvb3Q9ZnVuY3Rpb24oZSxuKXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSgyOTkpKTt2YXIgdD0hMSxyPSIiLGw9cXM7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKHQ9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKHI9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGw9bi5vblJlY292ZXJhYmxlRXJyb3IpKSxuPUFzKGUsMSwhMSxudWxsLDAsdCwwLHIsbCksZVttbF09bi5jdXJyZW50LFdyKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxuZXcgS3Mobil9LG4uZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtpZigxPT09ZS5ub2RlVHlwZSlyZXR1cm4gZTt2YXIgbj1lLl9yZWFjdEludGVybmFscztpZih2b2lkIDA9PT1uKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS5yZW5kZXIpdGhyb3cgRXJyb3IoYSgxODgpKTt0aHJvdyBlPU9iamVjdC5rZXlzKGUpLmpvaW4oIiwiKSxFcnJvcihhKDI2OCxlKSl9cmV0dXJuIGU9bnVsbD09PShlPWplKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gY3MoZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIUdzKG4pKXRocm93IEVycm9yKGEoMjAwKSk7cmV0dXJuIEpzKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighWHMoZSkpdGhyb3cgRXJyb3IoYSg0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLHU9IiIsbz1xcztpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJih1PXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1XcyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsMCx1LG8pLGVbbWxdPW4uY3VycmVudCxXcihlKSxyKWZvcihlPTA7ZTxyLmxlbmd0aDtlKyspbD0obD0odD1yW2VdKS5fZ2V0VmVyc2lvbikodC5fc291cmNlKSwKbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgWXMobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighR3MobikpdGhyb3cgRXJyb3IoYSgyMDApKTtyZXR1cm4gSnMobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighR3MoZSkpdGhyb3cgRXJyb3IoYSg0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYoY3MoKGZ1bmN0aW9uKCl7SnMobnVsbCxudWxsLGUsITEsKGZ1bmN0aW9uKCl7ZS5fcmVhY3RSb290Q29udGFpbmVyPW51bGwsZVttbF09bnVsbH0pKX0pKSwhMCl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9c3Msbi51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcj1mdW5jdGlvbihlLG4sdCxyKXtpZighR3ModCkpdGhyb3cgRXJyb3IoYSgyMDApKTtpZihudWxsPT1lfHx2b2lkIDA9PT1lLl9yZWFjdEludGVybmFscyl0aHJvdyBFcnJvcihhKDM4KSk7cmV0dXJuIEpzKGUsbix0LCExLHIpfSxuLnZlcnNpb249IjE4LjIuMC1uZXh0LTllM2I3NzJiOC0yMDIyMDYwOCJ9LDUwODIwNyhlLG4pe2Z1bmN0aW9uIHQoZSxuKXt2YXIgdD1lLmxlbmd0aDtlLnB1c2gobik7ZTpmb3IoOzA8dDspe3ZhciByPXQtMT4+PjEsbD1lW3JdO2lmKCEoMDxhKGwsbikpKWJyZWFrIGU7ZVtyXT1uLGVbdF09bCx0PXJ9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOmVbMF19ZnVuY3Rpb24gbChlKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG49ZVswXSx0PWUucG9wKCk7aWYodCE9PW4pe2VbMF09dDtlOmZvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNle2lmKCEoczxsJiYwPmEoYyx0KSkpYnJlYWsgZTtlW3JdPWMsZVtzXT10LHI9c319fXJldHVybiBufWZ1bmN0aW9uIGEoZSxuKXt2YXIgdD1lLnNvcnRJbmRleC1uLnNvcnRJbmRleDtyZXR1cm4gMCE9PXQ/dDplLmlkLW4uaWR9aWYoIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIHU9cGVyZm9ybWFuY2U7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gdS5ub3coKX19ZWxzZXt2YXIgbz1EYXRlLGk9by5ub3coKTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBvLm5vdygpLWl9fXZhciBzPVtdLGM9W10sZj0xLGQ9bnVsbCxwPTMsbT0hMSxoPSExLGc9ITEsdj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwseT0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLGI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gayhlKXtmb3IodmFyIG49cihjKTtudWxsIT09bjspe2lmKG51bGw9PT1uLmNhbGxiYWNrKWwoYyk7ZWxzZXtpZighKG4uc3RhcnRUaW1lPD1lKSlicmVhaztsKGMpLG4uc29ydEluZGV4PW4uZXhwaXJhdGlvblRpbWUsdChzLG4pfW49cihjKX19ZnVuY3Rpb24gdyhlKXtpZihnPSExLGsoZSksIWgpaWYobnVsbCE9PXIocykpaD0hMCxGKFMpO2Vsc2V7dmFyIG49cihjKTtudWxsIT09biYmUih3LG4uc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBTKGUsdCl7aD0hMSxnJiYoZz0hMSx5KHopLHo9LTEpLG09ITA7dmFyIGE9cDt0cnl7Zm9yKGsodCksZD1yKHMpO251bGwhPT1kJiYoIShkLmV4cGlyYXRpb25UaW1lPnQpfHxlJiYhUCgpKTspe3ZhciB1PWQuY2FsbGJhY2s7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpe2QuY2FsbGJhY2s9bnVsbCxwPWQucHJpb3JpdHlMZXZlbDt2YXIgbz11KGQuZXhwaXJhdGlvblRpbWU8PXQpO3Q9bi51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2Ygbz9kLmNhbGxiYWNrPW86ZD09PXIocykmJmwocyksayh0KX1lbHNlIGwocyk7ZD1yKHMpfWlmKG51bGwhPT1kKXZhciBpPSEwO2Vsc2V7dmFyIGY9cihjKTtudWxsIT09ZiYmUih3LGYuc3RhcnRUaW1lLXQpLGk9ITF9cmV0dXJuIGl9ZmluYWxseXtkPW51bGwscD1hLG09ITF9fSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZyYmdm9pZCAwIT09bmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcmJm5hdmlnYXRvci5zY2hlZHVsaW5nLmlzSW5wdXRQZW5kaW5nLmJpbmQobmF2aWdhdG9yLnNjaGVkdWxpbmcpO3ZhciB4LEU9ITEsQz1udWxsLHo9LTEsTj01LF89LTE7ZnVuY3Rpb24gUCgpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1fPE4pfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Qyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtfPWU7dmFyIHQ9ITA7dHJ5e3Q9QyghMCxlKX1maW5hbGx5e3Q/eCgpOihFPSExLEM9bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2YgYil4PWZ1bmN0aW9uKCl7YihUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsTT1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQseD1mdW5jdGlvbigpe00ucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgeD1mdW5jdGlvbigpe3YoVCwwKX07ZnVuY3Rpb24gRihlKXtDPWUsRXx8KEU9ITAseCgpKX1mdW5jdGlvbiBSKGUsdCl7ej12KChmdW5jdGlvbigpe2Uobi51bnN0YWJsZV9ub3coKSl9KSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLApuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2h8fG18fChoPSEwLEYoUykpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBwfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIocyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gocCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49cH12YXIgdD1wO3A9bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3A9dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PXA7cD1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7cD10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaCgib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hP2E9Im51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/dSthOnU6YT11LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gZT17aWQ6ZisrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm89YStvLHNvcnRJbmRleDotMX0sYT51PyhlLnNvcnRJbmRleD1hLHQoYyxlKSxudWxsPT09cihzKSYmZT09PXIoYykmJihnPyh5KHopLHo9LTEpOmc9ITAsUih3LGEtdSkpKTooZS5zb3J0SW5kZXg9byx0KHMsZSksaHx8bXx8KGg9ITAsRihTKSkpLGV9LG4udW5zdGFibGVfc2hvdWxkWWllbGQ9UCxuLnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgbj1wO3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXA7cD1uO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtwPXR9fX19LDE4MjYxNChlLG4sdCl7ZS5leHBvcnRzPXQoNTA4MjA3KX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/tws.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.062Z","timestamp":1785136422062,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/tws.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 7101\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":7101,"size_decoded":7442,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"d461a462b9f8d67f065bcbc2e36e98f5","sha1":"8978b069b7d656483d286ed48ff5ce3b0ab5e014","sha256":"e46047492f5f3ee0b5133bbb8a1071a075d134e4760e94b7649cb7022e3b38b0","sha512":"6e4e5d137a344d489eebc0f8e8902191f2b9977024740ceebb239f5b423e7214216495b5968cc90bcf18c3e898cccfc02603e884baa93672cce169646957b730","ssdeep":"96:jXeirWWNUxkmwbyPYs9MjNIqPDHsKF0m33wRQhk3qa1i0Wej8yZtE4aWSE4Z/KB2:DeiyJqmwbX/7HsKF6hqakmAyZtv94ZC2","tlshash":"39e19f8d8a925493b333457f5f3515adc4fa1073cf65c832dcda4a289d99e2ab325063","first_seen":"2025-12-03T04:46:43.756365Z","last_seen":"2026-07-29T06:14:00.349635Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4307,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4261,"receive":46,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.869Z","timestamp":1785136429869,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/symbol-search-dialog.2bd5ad4a50f11c55181d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/61495.37ee7d182cf84caa7681.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.465Z","timestamp":1785136428465,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/61495.37ee7d182cf84caa7681.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-7f91\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 48221180659823bc0853fdc1b5a88fa9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32657,"size_decoded":11309,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"1101547aa0a5f1429817d5e491a4287b","sha1":"0bb8f75c93fe64e583a0bc2f0859ff602e1d94a7","sha256":"1f91a265530e9f4142c3b135c93094b7746dba4d3ff42b4ba49d8690c98c7597","sha512":"9f661d05439bbe5f87c7b8580707ce9d517a82a994773de68693c0ba9d653c3bf2565b248d08253aecfc1781e4706198fc30eab02cf96336de418992131d8497","ssdeep":"768:VbtJRlpt8ZUxC6nEFMQQE0rmtel4/0Q+xg23ba1Sj7Fk+1/1NB2VVR4m:VbtvCZLu/004/7+Gsba1SaU2F","tlshash":"cbe2e55632357a3601ef508b58fb0043e23a64486114992dfc7cdeec6ebdd8a623657f","first_seen":"2026-07-25T03:24:57.451516Z","last_seen":"2026-07-28T04:58:41.853687Z","times_seen":292,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2MTQ5NSw2MzU5NV0sezgwMzI4NyhlKXtlLmV4cG9ydHM9eyJkZWZhdWx0LWRyYXdlci1taW4tdG9wLWRpc3RhbmNlIjoiMTAwcHgiLHdyYXA6IndyYXAtaWlpMTE4b04iLHBvc2l0aW9uQm90dG9tOiJwb3NpdGlvbkJvdHRvbS1paWkxMThvTiIsYmFja2Ryb3A6ImJhY2tkcm9wLWlpaTExOG9OIixkcmF3ZXI6ImRyYXdlci1paWkxMThvTiIscG9zaXRpb25MZWZ0OiJwb3NpdGlvbkxlZnQtaWlpMTE4b04ifX0sNzUxODYzKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1HaERqWHpCeCIsaW5wdXQ6ImlucHV0LUdoRGpYekJ4Iixib3g6ImJveC1HaERqWHpCeCIsaG92ZXJEb3Q6ImhvdmVyRG90LUdoRGpYekJ4IixyZWQ6InJlZC1HaERqWHpCeCIsYmx1ZToiYmx1ZS1HaERqWHpCeCIsZ3JlZW46ImdyZWVuLUdoRGpYekJ4IixvcmFuZ2U6Im9yYW5nZS1HaERqWHpCeCIscHVycGxlOiJwdXJwbGUtR2hEalh6QngiLGN5YW46ImN5YW4tR2hEalh6QngiLHBpbms6InBpbmstR2hEalh6QngiLGxhcmdlOiJsYXJnZS1HaERqWHpCeCIscGlja2VyRG90OiJwaWNrZXJEb3QtR2hEalh6QngifX0sNTU4OTcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1WbmVRVm9OdiIsc2VsZWN0b3I6InNlbGVjdG9yLVZuZVFWb052IixhcnJvd0xlZnQ6ImFycm93TGVmdC1WbmVRVm9OdiIsY29sb3JTZWxlY3RCdXR0b246ImNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052Iixwb3B1cDoicG9wdXAtVm5lUVZvTnYifX0sOTE2MjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLXZUbThPMExNIixpbnRlcmFjdGl2ZToiaW50ZXJhY3RpdmUtdlRtOE8wTE0iLGhvdmVyZWQ6ImhvdmVyZWQtdlRtOE8wTE0iLGRpc2FibGVkOiJkaXNhYmxlZC12VG04TzBMTSIsYWN0aXZlOiJhY3RpdmUtdlRtOE8wTE0iLHNob3J0Y3V0OiJzaG9ydGN1dC12VG04TzBMTSIsbm9ybWFsOiJub3JtYWwtdlRtOE8wTE0iLGJpZzoiYmlnLXZUbThPMExNIixpY29uQ2VsbDoiaWNvbkNlbGwtdlRtOE8wTE0iLGljb246Imljb24tdlRtOE8wTE0iLGNvbnRlbnQ6ImNvbnRlbnQtdlRtOE8wTE0iLGxhYmVsOiJsYWJlbC12VG04TzBMTSIsY2hlY2tlZDoiY2hlY2tlZC12VG04TzBMTSIsdG9vbGJveDoidG9vbGJveC12VG04TzBMTSIsc2hvd1Rvb2xib3hPbkhvdmVyOiJzaG93VG9vbGJveE9uSG92ZXItdlRtOE8wTE0iLGFycm93SWNvbjoiYXJyb3dJY29uLXZUbThPMExNIixzdWJNZW51OiJzdWJNZW51LXZUbThPMExNIixpbnZpc2libGVIb3RrZXk6ImludmlzaWJsZUhvdGtleS12VG04TzBMTSJ9fSwxMDc5NjYoZSl7ZS5leHBvcnRzPXtpdGVtOiJpdGVtLWQ5akxPTHJSIixlbXB0eUljb25zOiJlbXB0eUljb25zLWQ5akxPTHJSIixsb2FkaW5nOiJsb2FkaW5nLWQ5akxPTHJSIixkaXNhYmxlZDoiZGlzYWJsZWQtZDlqTE9MclIiLGludGVyYWN0aXZlOiJpbnRlcmFjdGl2ZS1kOWpMT0xyUiIsaG92ZXJlZDoiaG92ZXJlZC1kOWpMT0xyUiIsbm9ybWFsOiJub3JtYWwtZDlqTE9MclIiLGJpZzoiYmlnLWQ5akxPTHJSIixpY29uOiJpY29uLWQ5akxPTHJSIixsYWJlbDoibGFiZWwtZDlqTE9MclIiLHRpdGxlOiJ0aXRsZS1kOWpMT0xyUiIsbmVzdGVkOiJuZXN0ZWQtZDlqTE9MclIiLHNob3J0Y3V0OiJzaG9ydGN1dC1kOWpMT0xyUiIscmVtb3ZlOiJyZW1vdmUtZDlqTE9MclIifX0sOTU0NDc4KGUpe2UuZXhwb3J0cz17c2VwYXJhdG9yOiJzZXBhcmF0b3ItS0h0eU1UWUcifX0sMzEzNzcyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0RyYXdlckNvbnRleHQ6KCk9PmMsRHJhd2VyTWFuYWdlcjooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoOTk1Njc4KTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2lzQm9keUZpeGVkPSExLHRoaXMuX2FkZERyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazpbLi4udC5zdGFjayxlXX0pKSl9LHRoaXMuX3JlbW92ZURyYXdlcj1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHtzdGFjazp0LnN0YWNrLmZpbHRlcigodD0+dCE9PWUpKX0pKSl9LHRoaXMuc3RhdGU9e3N0YWNrOltdfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXshdC5zdGFjay5sZW5ndGgmJnRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiYoKDAsaS5yZXF1ZXN0TW9kYWxTY3JvbGxMb2NrKSh3aW5kb3cpLHRoaXMuX2lzQm9keUZpeGVkPSEwKSx0LnN0YWNrLmxlbmd0aCYmIXRoaXMuc3RhdGUuc3RhY2subGVuZ3RoJiZ0aGlzLl9pc0JvZHlGaXhlZCYmKCgwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KSx0aGlzLl9pc0JvZHlGaXhlZD0hMSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aCYmdGhpcy5faXNCb2R5Rml4ZWQmJigwLGkucmVsZWFzZU1vZGFsU2Nyb2xsTG9jaykod2luZG93KX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUHJvdmlkZXIse3ZhbHVlOnthZGREcmF3ZXI6dGhpcy5fYWRkRHJhd2VyLHJlbW92ZURyYXdlcjp0aGlzLl9yZW1vdmVEcmF3ZXIsY3VycmVudERyYXdlcjp0aGlzLnN0YXRlLnN0YWNrLmxlbmd0aD90aGlzLnN0YXRlLnN0YWNrW3RoaXMuc3RhdGUuc3RhY2subGVuZ3RoLTFdOm51bGx9fSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y29uc3QgYz1vLmNyZWF0ZUNvbnRleHQobnVsbCl9LDk2NDIxNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEcmF3ZXI6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDEzODYzOCksbD1zKDU4NTQ4KSxyPXMoMTUwMTUwKSxhPXMoMzEzNzcyKSxoPXMoNjMyOTkyKSxkPXMoNTU4MDMwKSx1PXMoODAzMjg3KTt2YXIgbTtmdW5jdGlvbiBfKGUpe2NvbnN0e3Bvc2l0aW9uOnQ9IkJvdHRvbSIsb25DbG9zZTpzLGNoaWxkcmVuOmkscmVmZXJlbmNlOmQsY2xhc3NOYW1lOm0sdGhlbWU6Xz11fT1lLHA9KDAsYy5lbnN1cmVOb3ROdWxsKSgoMCxvLnVzZUNvbnRleHQpKGEuRHJhd2VyQ29udGV4dCkpLFt2XT0oMCwKby51c2VTdGF0ZSkoKCgpPT4oMCxyLnJhbmRvbUhhc2gpKCkpKSxmPSgwLG8udXNlUmVmKShudWxsKSxiPSgwLG8udXNlQ29udGV4dCkoaC5DbG9zZURlbGVnYXRlQ29udGV4dCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+KCgwLGMuZW5zdXJlTm90TnVsbCkoZi5jdXJyZW50KS5mb2N1cyh7cHJldmVudFNjcm9sbDohMH0pLGIuc3Vic2NyaWJlKHAscykscC5hZGREcmF3ZXIodiksKCk9PntwLnJlbW92ZURyYXdlcih2KSxiLnVuc3Vic2NyaWJlKHAscyl9KSksW10pLG8uY3JlYXRlRWxlbWVudChsLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOmQsY2xhc3NOYW1lOm4oKSh1LndyYXAsdVtgcG9zaXRpb24ke3R9YF0pfSx2PT09cC5jdXJyZW50RHJhd2VyJiZvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LmJhY2tkcm9wLG9uQ2xpY2s6c30pLG8uY3JlYXRlRWxlbWVudChnLHtjbGFzc05hbWU6bigpKF8uZHJhd2VyLHVbYHBvc2l0aW9uJHt0fWBdLG0pLHJlZjpmLCJkYXRhLW5hbWUiOmVbImRhdGEtbmFtZSJdLCJkYXRhLXFhLWlkIjplWyJkYXRhLXFhLWlkIl19LGkpKSl9IWZ1bmN0aW9uKGUpe2UuTGVmdD0iTGVmdCIsZS5Cb3R0b209IkJvdHRvbSJ9KG18fChtPXt9KSk7Y29uc3QgZz0oMCxvLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NsYXNzTmFtZTpzLC4uLml9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChkLlRvdWNoU2Nyb2xsQ29udGFpbmVyLHtjbGFzc05hbWU6bigpKHUuZHJhd2VyLHMpLHRhYkluZGV4Oi0xLHJlZjp0LC4uLml9KX0pKX0sNjMyOTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Nsb3NlRGVsZWdhdGVDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cygyNzYwMTkpO2NvbnN0IG49by5jcmVhdGVDb250ZXh0KGkuZ2xvYmFsQ2xvc2VEZWxlZ2F0ZSl9LDM4NzIzMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0LHM9e30pe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUsZnVuY3Rpb24oZSx0LHM9e30pe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7fSx0KTtmb3IoY29uc3QgaSBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgbj1zW2ldfHxpO24gaW4gZSYmKG9baV09W2Vbbl0sdFtpXV0uam9pbigiICIpKX1yZXR1cm4gb30oZSx0LHMpKX1zLmQodCx7bWVyZ2VUaGVtZXM6KCk9Pm99KX0sOTAwODQxKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlLHQscyxvLGkpe2Z1bmN0aW9uIG4oaSl7aWYoZT5pLnRpbWVTdGFtcClyZXR1cm47Y29uc3Qgbj1pLnRhcmdldDt2b2lkIDAhPT1zJiZudWxsIT09dCYmbnVsbCE9PW4mJm4ub3duZXJEb2N1bWVudD09PW8mJih0LmNvbnRhaW5zKG4pfHxzKGkpKX1yZXR1cm4gaS5jbGljayYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbiwhMSksaS5tb3VzZURvd24mJm8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixuLCExKSxpLnRvdWNoRW5kJiZvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixuLCExKSxpLnRvdWNoU3RhcnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbiwhMSksKCk9PntvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIixuLCExKSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbiwhMSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLCExKX19cy5kKHQse2FkZE91dHNpZGVFdmVudExpc3RlbmVyOigpPT5vfSl9LDIzNjc2NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt1c2VPdXRzaWRlRXZlbnQ6KCk9PmN9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDYxNjMxMSksbj1zKDkwMDg0MSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsLGhhbmRsZXI6cixyZWZlcmVuY2U6YX09ZSxoPSgwLG8udXNlUmVmKShudWxsKSxkPSgwLG8udXNlUmVmKSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8wOm5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoInRpbWVzdGFtcCIpLnRpbWVTdGFtcCk7cmV0dXJuKDAsaS51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPXtjbGljazp0LG1vdXNlRG93bjpzLHRvdWNoRW5kOmMsdG91Y2hTdGFydDpsfSxvPWE/YS5jdXJyZW50OmguY3VycmVudDtyZXR1cm4oMCxuLmFkZE91dHNpZGVFdmVudExpc3RlbmVyKShkLmN1cnJlbnQsbyxyLGRvY3VtZW50LGUpfSksW3QscyxjLGwscl0pLGF8fGh9fSw4Njk4NDIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U3dpdGNoR3JvdXBDb250ZXh0OigpPT5ufSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg4NjIzODgpO2NvbnN0IG49KDAsby5jcmVhdGVDb250ZXh0KSh7Z2V0TmFtZTooKT0+IiIsZ2V0VmFsdWVzOigpPT5bXSxnZXRPbkNoYW5nZTooKT0+aS5kZWZhdWx0LHN1YnNjcmliZTppLmRlZmF1bHQsdW5zdWJzY3JpYmU6aS5kZWZhdWx0fSl9LDY1ODQ2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VTd2l0Y2hHcm91cEl0ZW06KCk9Pm59KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDg2OTg0Mik7ZnVuY3Rpb24gbihlKXt2YXIgdDtyZXR1cm4gdD1jbGFzcyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb25DaGFuZ2U9ZT0+e3RoaXMuY29udGV4dC5nZXRPbkNoYW5nZSgpKGUudGFyZ2V0LnZhbHVlKX0sdGhpcy5fb25VcGRhdGU9ZT0+e2UuaW5jbHVkZXModGhpcy5wcm9wcy52YWx1ZSkmJnRoaXMuZm9yY2VVcGRhdGUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1yZW5kZXIoKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsbmFtZTp0aGlzLl9nZXROYW1lKCksb25DaGFuZ2U6dGhpcy5fb25DaGFuZ2UsY2hlY2tlZDp0aGlzLl9pc0NoZWNrZWQoKX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5jb250ZXh0LnVuc3Vic2NyaWJlKHRoaXMuX29uVXBkYXRlKX1fZ2V0TmFtZSgpewpyZXR1cm4gdGhpcy5jb250ZXh0LmdldE5hbWUoKX1faXNDaGVja2VkKCl7cmV0dXJuIHRoaXMuY29udGV4dC5nZXRWYWx1ZXMoKS5pbmNsdWRlcyh0aGlzLnByb3BzLnZhbHVlKX19LHQuY29udGV4dFR5cGU9aS5Td2l0Y2hHcm91cENvbnRleHQsdH19LDE0OTM2NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTd2l0Y2hHcm91cDooKT0+bn0pO3ZhciBvPXMoNzc5NDc0KSxpPXMoODY5ODQyKTtjbGFzcyBuIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX3N1YnNjcmlwdGlvbnM9bmV3IFNldCx0aGlzLl9nZXROYW1lPSgpPT50aGlzLnByb3BzLm5hbWUsdGhpcy5fZ2V0VmFsdWVzPSgpPT50aGlzLnByb3BzLnZhbHVlcyx0aGlzLl9nZXRPbkNoYW5nZT0oKT0+dGhpcy5wcm9wcy5vbkNoYW5nZSx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKGUpfSx0aGlzLl91bnN1YnNjcmliZT1lPT57dGhpcy5fc3Vic2NyaXB0aW9ucy5kZWxldGUoZSl9LHRoaXMuc3RhdGU9e3N3aXRjaEdyb3VwQ29udGV4dDp7Z2V0TmFtZTp0aGlzLl9nZXROYW1lLGdldFZhbHVlczp0aGlzLl9nZXRWYWx1ZXMsZ2V0T25DaGFuZ2U6dGhpcy5fZ2V0T25DaGFuZ2Usc3Vic2NyaWJlOnRoaXMuX3N1YnNjcmliZSx1bnN1YnNjcmliZTp0aGlzLl91bnN1YnNjcmliZX19fXJlbmRlcigpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5Td2l0Y2hHcm91cENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnRoaXMuc3RhdGUuc3dpdGNoR3JvdXBDb250ZXh0fSx0aGlzLnByb3BzLmNoaWxkcmVuKX1jb21wb25lbnREaWRVcGRhdGUoZSl7dGhpcy5fbm90aWZ5KHRoaXMuX2dldFVwZGF0ZXModGhpcy5wcm9wcy52YWx1ZXMsZS52YWx1ZXMpKX1fbm90aWZ5KGUpe3RoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaCgodD0+dChlKSkpfV9nZXRVcGRhdGVzKGUsdCl7cmV0dXJuWy4uLnQsLi4uZV0uZmlsdGVyKChzPT50LmluY2x1ZGVzKHMpPyFlLmluY2x1ZGVzKHMpOmUuaW5jbHVkZXMocykpKX19fSwzMTQ3MjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe2NvbnN0e3BhZGRpbmdUb3A6dCxwYWRkaW5nQm90dG9tOnN9PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpO3JldHVyblt0LHNdLnJlZHVjZSgoKGUsdCk9PmUtTnVtYmVyKCh0fHwiIikucmVwbGFjZSgicHgiLCIiKSkpLGUuY2xpZW50SGVpZ2h0KX1mdW5jdGlvbiBpKGUsdD0hMSl7Y29uc3Qgcz1nZXRDb21wdXRlZFN0eWxlKGUpLG89W3MuaGVpZ2h0XTtyZXR1cm4iYm9yZGVyLWJveCIhPT1zLmJveFNpemluZyYmby5wdXNoKHMucGFkZGluZ1RvcCxzLnBhZGRpbmdCb3R0b20scy5ib3JkZXJUb3BXaWR0aCxzLmJvcmRlckJvdHRvbVdpZHRoKSx0JiZvLnB1c2gocy5tYXJnaW5Ub3Ascy5tYXJnaW5Cb3R0b20pLG8ucmVkdWNlKCgoZSx0KT0+ZSsocGFyc2VGbG9hdCh0KXx8MCkpLDApfWZ1bmN0aW9uIG4oZSx0PSExKXtjb25zdCBzPWdldENvbXB1dGVkU3R5bGUoZSksbz1bcy53aWR0aF07cmV0dXJuImJvcmRlci1ib3giIT09cy5ib3hTaXppbmcmJm8ucHVzaChzLnBhZGRpbmdMZWZ0LHMucGFkZGluZ1JpZ2h0LHMuYm9yZGVyTGVmdFdpZHRoLHMuYm9yZGVyUmlnaHRXaWR0aCksdCYmby5wdXNoKHMubWFyZ2luTGVmdCxzLm1hcmdpblJpZ2h0KSxvLnJlZHVjZSgoKGUsdCk9PmUrKHBhcnNlRmxvYXQodCl8fDApKSwwKX1zLmQodCx7Y29udGVudEhlaWdodDooKT0+byxvdXRlckhlaWdodDooKT0+aSxvdXRlcldpZHRoOigpPT5ufSl9LDQ0MDcxNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUNvbnRleHQ6KCk9Pm99KTtjb25zdCBvPXMoNzc5NDc0KS5jcmVhdGVDb250ZXh0KG51bGwpfSw1MjUxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0hpbnQ6KCk9Pmx9KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDkxNjI2KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3RleHQ6dD0iIixjbGFzc05hbWU6c309ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShjLnNob3J0Y3V0LHMpfSx0KX19LDcyMTE2NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUl0ZW06KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDkxNDQ4Nyksbj1zLm4oaSksYz1zKDI3MzMxMCksbD1zKDY0OTE2Nikscj1zKDc3OTEwOCksYT1zKDUyNTEpLGg9cygzODA1NiksZD1zKDU4MDU5NiksdT1zKDQ2MjcwNCksbT1zKDEwNzk2Nik7ZnVuY3Rpb24gXyhlKXtjb25zdHtjbGFzc05hbWU6dCxpc1RpdGxlOnMsaXNMb2FkaW5nOmksaXNIb3ZlcmVkOl8sYWN0aXZlOmcsY2hlY2thYmxlOnAsZGlzYWJsZWQ6dixjaGVja2VkOmYsaWNvbjpiLGljb25DaGVja2VkOkMsaGludDpJLHN1Ykl0ZW1zOkUsbGFiZWw6eSxzdHlsZWRMYWJlbDprLG9uQ2xpY2s6eCxjaGlsZHJlbjpMLHRvb2xib3g6dyxqc3hMYWJlbDpOLHNpemU6Uz0ibm9ybWFsIn09ZSxNPSgwLG8udXNlQ29udGV4dCkoci5FbXB0eUljb25zQ29udGV4dCksRD0hIUUubGVuZ3RoO3JldHVybiBpP28uY3JlYXRlRWxlbWVudCgibGkiLHtjbGFzc05hbWU6bigpKHQsbS5pdGVtLG0ubG9hZGluZyxtW1NdKX0sby5jcmVhdGVFbGVtZW50KGwuTG9hZGVyLG51bGwpKTpvLmNyZWF0ZUVsZW1lbnQoImxpIix7Y2xhc3NOYW1lOm4oKSh0LG0uaXRlbSxtLmludGVyYWN0aXZlLHMmJm0udGl0bGUsdiYmbS5kaXNhYmxlZCxfJiZtLmhvdmVyZWQsZyYmbS5hY3RpdmUsTSYmbS5lbXB0eUljb25zLG1bU10pLG9uQ2xpY2s6eH0sby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Y2xhc3NOYW1lOm4oKShtLmljb24pLGljb246ZnVuY3Rpb24oKXtpZihwJiZmKXJldHVybiBDfHxifHxoO3JldHVybiBifSgpfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm4oKShtLmxhYmVsKX0sIU4mJms/ay5tYXAoKCh7dGV4dDplLC4uLnR9LHMpPT5vLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6cyxzdHlsZTp0fSxlKSkpOk4/P3kpLCEhdyYmby5jcmVhdGVFbGVtZW50KGMuSWNvbix7Cm9uQ2xpY2s6ZnVuY3Rpb24oKXt3JiZ3LmFjdGlvbigpfSxjbGFzc05hbWU6bS5yZW1vdmUsaWNvbjp1fSksIUQmJkkmJm8uY3JlYXRlRWxlbWVudChhLkhpbnQse2NsYXNzTmFtZTptLnNob3J0Y3V0LHRleHQ6SX0pLEQmJm8uY3JlYXRlRWxlbWVudChjLkljb24se2NsYXNzTmFtZTptLm5lc3RlZCxpY29uOmR9KSxMKX19LDMyMzgzMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb250ZXh0TWVudUxpc3Q6KCk9Pl99KTt2YXIgbz1zKDc3OTQ3NCksaT1zKDk1NDQ3OCk7ZnVuY3Rpb24gbihlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsaSIse2NsYXNzTmFtZTppLnNlcGFyYXRvcn0pfXZhciBjPXMoNzIxMTY3KSxsPXMoNTY5Mzk4KSxyPXMoOTY0MjE0KSxhPXMoMjc2MDE5KTtjb25zdCBoPSgwLGwuaXNGZWF0dXJlRW5hYmxlZCkoImZvcmNlX2Rpc2FibGVfanN4X21lbnVfaXRlbXNfcmVuZGVyaW5nIik7ZnVuY3Rpb24gZChlKXtjb25zdCB0PWg/ZS5hY3Rpb246ZS5hY3Rpb24uY3VzdG9tKCk/P2UuYWN0aW9uLFtzLGldPSgwLG8udXNlU3RhdGUpKCgoKT0+dC5nZXRTdGF0ZSgpKSksW24sbF09KDAsby51c2VTdGF0ZSkoITEpLGQ9ISFzLnN1Ykl0ZW1zLmxlbmd0aCx1PWQmJm47cmV0dXJuKDAsby51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IGU9KCk9PmkodC5nZXRTdGF0ZSgpKTtyZXR1cm4gdC5vblVwZGF0ZSgpLnN1YnNjcmliZShudWxsLGUpLCgpPT57dC5vblVwZGF0ZSgpLnVuc3Vic2NyaWJlKG51bGwsZSl9fSksW10pLG8uY3JlYXRlRWxlbWVudChjLkNvbnRleHRNZW51SXRlbSx7Li4ucyxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKHMuZGlzYWJsZWR8fGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47aWYoZClyZXR1cm4gdm9pZCBsKCEwKTtzLmRvTm90Q2xvc2VPbkNsaWNrfHwoMCxhLmdsb2JhbENsb3NlTWVudSkoKTt0LmV4ZWN1dGUoKX0saXNMb2FkaW5nOnMubG9hZGluZyxpc0hvdmVyZWQ6dX0sdSYmby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOm19LG8uY3JlYXRlRWxlbWVudChfLHtpdGVtczpzLnN1Ykl0ZW1zLHBhcmVudEFjdGlvbjp0LGNsb3NlTmVzdGVkOm19KSkpO2Z1bmN0aW9uIG0oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwoITEpfX12YXIgdT1zKDc3OTEwOCksbT1zKDMzNDU1MCk7ZnVuY3Rpb24gXyhlKXtjb25zdHtpdGVtczp0LHBhcmVudEFjdGlvbjpzLGNsb3NlTmVzdGVkOml9PWUsbD0hQm9vbGVhbihzKSYmdC5ldmVyeSgoZT0+IUJvb2xlYW4oInNlcGFyYXRvciIhPT1lLnR5cGUmJihlLmdldFN0YXRlKCkuaWNvbnx8ZS5nZXRTdGF0ZSgpLmNoZWNrYWJsZSkpKSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LkVtcHR5SWNvbnNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpsfSxvLmNyZWF0ZUVsZW1lbnQoInVsIixudWxsLHMmJm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KGMuQ29udGV4dE1lbnVJdGVtLHtsYWJlbDpzLmdldFN0YXRlKCkubGFiZWwsaXNUaXRsZTohMCxhY3RpdmU6ITEsZGlzYWJsZWQ6ITEsc3ViSXRlbXM6W10sY2hlY2thYmxlOiExLGNoZWNrZWQ6ITEsZG9Ob3RDbG9zZU9uQ2xpY2s6ITEsaWNvbjptLG9uQ2xpY2s6aX0pLG8uY3JlYXRlRWxlbWVudChuLG51bGwpKSx0Lm1hcCgoZT0+e3N3aXRjaChlLnR5cGUpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gby5jcmVhdGVFbGVtZW50KGQse2tleTplLmlkLGFjdGlvbjplfSk7Y2FzZSJzZXBhcmF0b3IiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQobix7a2V5OmUuaWR9KX19KSkpKX19LDc3OTEwOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtFbXB0eUljb25zQ29udGV4dDooKT0+b30pO2NvbnN0IG89cyg3Nzk0NzQpLmNyZWF0ZUNvbnRleHQoITEpfSwzMjk2NjgoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztmdW5jdGlvbiBpKGUpe2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSl9ZnVuY3Rpb24gbihlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6c2Vjb25kYXJ5LWVsZW1lbnQiKSl9cy5kKHQse2JlY29tZU1haW5FbGVtZW50OigpPT5pLGJlY29tZVNlY29uZGFyeUVsZW1lbnQ6KCk9Pm59KSxmdW5jdGlvbihlKXtlLk1haW5FbGVtZW50PSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IixlLlNlY29uZGFyeUVsZW1lbnQ9InJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCJ9KG98fChvPXt9KSl9LDMwNjYwMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3MTIxMzQpLG49cygyMzU3MjQpLGM9cygxNDkzNjQpLGw9cyg5ODM2MTYpLHI9cygzMjk2NjgpLGE9cyg5MTQ0ODcpLGg9cy5uKGEpLGQ9cyg2NTg0NiksdT1zKDI3MzMxMCksbT1zKDE4NTI3MSksXz1zKDQ0MDcxNSksZz1zKDE4MjMwOCkscD1zKDI3NDg1MSksdj1zKDIwMzMwOSksZj1zKDc1MTg2Myk7Y29uc3QgYj0oMCxkLm1ha2VTd2l0Y2hHcm91cEl0ZW0pKChmdW5jdGlvbihlKXtjb25zdHtjbGFzc05hbWU6dCx2YWx1ZTpuPWkuTGlzdENvbG9yLlJlZCxuYW1lOmMsY2hlY2tlZDpsfT1lLFtyLGFdPSgwLGcudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxkPSgwLG8udXNlQ29udGV4dCkoXy5Db250ZXh0TWVudUNvbnRleHQpLGI9ZD8udHlwZT8/Im1lbnUiLEM9bjtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JlZjpyLHRhYkluZGV4OmEsY2xhc3NOYW1lOmgoKSh0LGYud3JhcCwiZHJhd2VyIj09PWImJmYubGFyZ2UpLCJkYXRhLWNvbG9yIjpDLHJvbGU6Im1lbnVpdGVtIiwiYXJpYS1sYWJlbCI6bS50KG51bGwse3JlcGxhY2U6e2NvbG9yOkN9fSxzKDUwNjkxNSkpLCJhcmlhLWNoZWNrZWQiOmx9LG8uY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6Zi5pbnB1dCx0eXBlOiJyYWRpbyIsbmFtZTpjLHZhbHVlOm4sY2hlY2tlZDpsLG9uQ2hhbmdlOmUub25DaGFuZ2Usb25DbGljazpsP2Z1bmN0aW9uKCl7CmUub25DbGlja0lmQ2hlY2tlZCYmZS5vbkNsaWNrSWZDaGVja2VkKG4pfTp2b2lkIDB9KSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpoKCkoZi5ib3gsZltDXSwiZHJhd2VyIj09PWImJmYubGFyZ2UpfSxsP28uY3JlYXRlRWxlbWVudCh1Lkljb24se2ljb246cH0pOm8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmYucGlja2VyRG90fSxvLmNyZWF0ZUVsZW1lbnQodS5JY29uLHtjbGFzc05hbWU6Zi5ob3ZlckRvdCxpY29uOnZ9KSkpKX0pKSxDPVszOSwzNywxMywzMiwyN107ZnVuY3Rpb24gSShlKXtjb25zdHtidXR0b25DbGFzc05hbWU6dCx2YWx1ZTpzLG9uU2VsZWN0ZWRDbGljazphLGZyb21LZXlib2FyZDpofT1lLGQ9KDAsby51c2VSZWYpKG51bGwpLHU9KDAsby51c2VDYWxsYmFjaykoKGU9PntpZighZC5jdXJyZW50fHxlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTtpZighQy5pbmNsdWRlcyh0KSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IG89KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKShkLmN1cnJlbnQpLnNvcnQobC5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPW8uZmluZEluZGV4KChlPT5lPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgYT1vW2NdO2xldCBoO3N3aXRjaCh0KXtjYXNlIDEzOmNhc2UgMzI6XyhhLmRhdGFzZXQuY29sb3J8fGkuTGlzdENvbG9yLlJlZCk7YnJlYWs7Y2FzZSAyNzpfKHMpfXN3aXRjaCgoMCxsLm1hcEtleUNvZGVUb0RpcmVjdGlvbikodCkpe2Nhc2UiaW5saW5lTmV4dCI6aD1vW2MrMV18fG9bMF07YnJlYWs7Y2FzZSJpbmxpbmVQcmV2IjpoPW9bYy0xXXx8b1tvLmxlbmd0aC0xXX1oIGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudCYmKCgwLHIuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoYSksKDAsci5iZWNvbWVNYWluRWxlbWVudCkoaCksaC5mb2N1cygpKX0pLFtdKTsoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYoIWgpcmV0dXJuO2NvbnN0IGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCx0PWQuY3VycmVudDtpZighdClyZXR1cm47Y29uc3Rbc109KDAsbC5xdWVyeUZvY3VzYWJsZUVsZW1lbnRzKSh0KS5zb3J0KGwubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7cmV0dXJuIHM/KCgwLHIuYmVjb21lTWFpbkVsZW1lbnQpKHMpLHMuZm9jdXMoKSwoKT0+e2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5mb2N1cygpfSk6dm9pZCAwfSksW10pO2NvbnN0IG09aS5MSVNUX0NPTE9SUy5tYXAoKChlLHMpPT5vLmNyZWF0ZUVsZW1lbnQoYix7a2V5OnMsY2xhc3NOYW1lOnQsb25DbGlja0lmQ2hlY2tlZDphLHZhbHVlOmV9KSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoIm1lbnUiLHtyZWY6ZCxvbktleURvd246dX0sby5jcmVhdGVFbGVtZW50KGMuU3dpdGNoR3JvdXAse25hbWU6ImNvbG9yLXNlbGVjdG9yIixvbkNoYW5nZTpfLHZhbHVlczp2b2lkIDAhPT1zP1tzXTpbXX0sbSkpO2Z1bmN0aW9uIF8odCl7ZS5vbkNoYW5nZSYmdm9pZCAwIT09dCYmZS5vbkNoYW5nZSh0KX19fSw4MzQxODgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9wdXBDb2xvclNlbGVjdG9yOigpPT5JfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg2MDc4MzIpLG49cyg2MDk1MjgpLGM9cyg0MDYxMTApLGw9cygzMTM3NzIpLHI9cyg5NjQyMTQpLGE9cygzMjM4MzApLGg9cyg0NDA3MTUpLGQ9cyg5NjkxNjgpLHU9cyg1ODU0OCksbT1zKDMwNjYwMSksXz1zKDM2MzI2OSksZz1zKDU1ODk3Mik7Y2xhc3MgcCBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmKF8ubW9iaWxldG91Y2g/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCk6KHRoaXMucHJvcHMuZWxlbS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnByb3BzLmhpZGUpKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihfLm1vYmlsZXRvdWNoP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQpOnRoaXMucHJvcHMuZWxlbSYmKHRoaXMucHJvcHMuZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIix0aGlzLl9vblRhcmdldE1vdXNlTGVhdmUpLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMucHJvcHMuaGlkZSkpKX1yZW5kZXIoKXtjb25zdCBlPXt0b3A6MH07aWYodGhpcy5wcm9wcy5lbGVtKXtjb25zdCB0PXRoaXMucHJvcHMuZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLnRvcD10LnRvcCt0LmhlaWdodC8yLCgwLGQuaXNSdGwpKCk/ZS5yaWdodD13aW5kb3cuaW5uZXJXaWR0aC10LmxlZnQ6ZS5sZWZ0PXQubGVmdCt0LndpZHRofWVsc2UgZS5sZWZ0PTA7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCh1LlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6ZSxjbGFzc05hbWU6Zy5wb3B1cCxyZWY6dGhpcy5fc2V0UG9wVXBFbGVtLG9uTW91c2VMZWF2ZTpfLm1vYmlsZXRvdWNoP3ZvaWQgMDp0aGlzLl9vblBvcFVwTW91c2VMZWF2ZX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zy53cmFwcGVyfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLnNlbGVjdG9yfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpnLmFycm93TGVmdH0pLG8uY3JlYXRlRWxlbWVudChtLkNvbG9yU2VsZWN0b3Ise2J1dHRvbkNsYXNzTmFtZTpnLmNvbG9yU2VsZWN0QnV0dG9uLHZhbHVlOnRoaXMucHJvcHMuY3VycmVudENvbG9yLGZyb21LZXlib2FyZDp0aGlzLnByb3BzLmZyb21LZXlib2FyZCxvbkNoYW5nZTp0aGlzLl9vbkNoYW5nZX0pKSkpKQp9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BvcFVwRWxlbT1udWxsLHRoaXMuX29uQ2hhbmdlPWU9Pnt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3IoZSksdGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVGFyZ2V0TW91c2VMZWF2ZT1lPT57Y29uc3QgdD0hIWUucmVsYXRlZFRhcmdldC5ub2RlTmFtZSxzPWUucmVsYXRlZFRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxvPXRoaXMuX3BvcFVwRWxlbSYmdCYmdGhpcy5fcG9wVXBFbGVtLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uUG9wVXBNb3VzZUxlYXZlPWU9Pntjb25zdCB0PSEhZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0Lm5vZGVOYW1lLHM9ZS5uYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0PT09dGhpcy5wcm9wcy5lbGVtLG89dCYmdGhpcy5wcm9wcy5lbGVtLmNvbnRhaW5zKGUubmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldCk7c3x8b3x8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX29uVG91Y2hTdGFydD1lPT57Y29uc3QgdD0hIWUudGFyZ2V0Lm5vZGVOYW1lLHM9ZS50YXJnZXQ9PT10aGlzLnByb3BzLmVsZW0sbz1lLnRhcmdldD09PXRoaXMuX3BvcFVwRWxlbSxpPXQmJnRoaXMucHJvcHMuZWxlbS5jb250YWlucyhlLnRhcmdldCksbj10aGlzLl9wb3BVcEVsZW0mJnQmJnRoaXMuX3BvcFVwRWxlbS5jb250YWlucyhlLnRhcmdldCk7c3x8aXx8b3x8bnx8dGhpcy5wcm9wcy5oaWRlKCl9LHRoaXMuX3NldFBvcFVwRWxlbT1lPT57dGhpcy5fcG9wVXBFbGVtPWV9fX1mdW5jdGlvbiB2KGUpe2NvbnN0e2FjdGlvbnM6dCwuLi5zfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5NYXRjaE1lZGlhLHtydWxlOm4uRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5lJiZ0P28uY3JlYXRlRWxlbWVudChsLkRyYXdlck1hbmFnZXIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaC5Db250ZXh0TWVudUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnt0eXBlOiJkcmF3ZXIifX0sby5jcmVhdGVFbGVtZW50KHIuRHJhd2VyLHtvbkNsb3NlOnMuaGlkZSxwb3NpdGlvbjoiQm90dG9tIn0sby5jcmVhdGVFbGVtZW50KGEuQ29udGV4dE1lbnVMaXN0LHtpdGVtczp0fSkpKSk6by5jcmVhdGVFbGVtZW50KHAsey4uLnN9KSkpfXZhciBmPXMoNTcxMzAwKTtsZXQgYj1udWxsLEM9bnVsbDt2YXIgSTshZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2ImJkM/LnVubW91bnQoKX1lLnNob3c9ZnVuY3Rpb24oZSl7Ynx8KGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHQoKSxDPSgwLGYuY3JlYXRlUmVhY3RSb290KShvLmNyZWF0ZUVsZW1lbnQoaS5TbG90Q29udGV4dC5Qcm92aWRlcix7dmFsdWU6ZS5tYW5hZ2VyfHxudWxsfSxvLmNyZWF0ZUVsZW1lbnQodix7Li4uZSxoaWRlOnR9KSksYil9LGUuaGlkZT10fShJfHwoST17fSkpfSw4NTU5ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlU2VsZWN0YWJsZUxpc3Q6KCk9PnB9KTtjbGFzcyBve2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbGw9ZX1nZXRJdGVtQnlJZHgoZSl7cmV0dXJuIHRoaXMuX2NvbGwuaXRlbShlKX1nZXRJdGVtcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2NvbGwpfWdldEZpcnN0SXRlbSgpe3JldHVybiB0aGlzLmdldEl0ZW1CeUlkeCgwKX1nZXRMYXN0SXRlbSgpe2NvbnN0IGU9dGhpcy5fY29sbC5sZW5ndGg7cmV0dXJuIHRoaXMuZ2V0SXRlbUJ5SWR4KGUtMSl9Z2V0SXRlbUlkeChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleC5jYWxsKHRoaXMuX2NvbGwsKHQ9PnQ9PT1lKSl9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2NvbGwubGVuZ3RofWNvbnRhaW5zKGUpe3JldHVybi0xIT09dGhpcy5nZXRJdGVtSWR4KGUpfX12YXIgaSxuPXMoNzI3MDkpOyFmdW5jdGlvbihlKXtlW2UuUHJldj0tMV09IlByZXYiLGVbZS5OZXh0PTFdPSJOZXh0In0oaXx8KGk9e30pKTtjb25zdCBjPSJjdXJzb3IiO2NsYXNzIGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PSExLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX2l0ZW1zPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmxpc3RJdGVtQ2xhc3MpKSx0aGlzLl9mb2N1c2VkPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLmZvY3VzZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fc2VsZWN0ZWQ9bmV3IG8odGhpcy5fbGlzdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSksdGhpcy5fY3Vyc29yPW5ldyBvKHRoaXMuX2xpc3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjKSksdGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzPWUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLHRoaXMuX2ZvY3VzZWRMaXN0SXRlbUNsYXNzPWUuZm9jdXNlZExpc3RJdGVtQ2xhc3MsdGhpcy5fb25TZWxlY3Q9ZS5vblNlbGVjdCx0aGlzLl9vbk5hdmlnYXRlPWUub25OYXZpZ2F0ZSx0aGlzLl9vbkNvbmZpcm09ZS5vbkNvbmZpcm0sdGhpcy5fb25EZWxldGU9ZS5vbkRlbGV0ZSx0aGlzLl9tb3VzZUFjdGlvbnM9bmV3IE1hcCx0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQ9Qm9vbGVhbihlLmN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZCksdGhpcy5fZW5hYmxlRm9jdXNET01FbGVtZW50PUJvb2xlYW4oZS5lbmFibGVGb2N1c0RPTUVsZW1lbnQpLHRoaXMuaG90a2V5cz0oMCxuLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiU2VsZWN0YWJsZSBsaXN0In0pLGUubW9kZXMmJmUubW9kZXMuZm9yRWFjaCgodD0+bmV3IHQoe3NlbGVjdGlvbjp0aGlzLGxvY2FsSG90a2V5RWxlbWVudDp0aGlzLl9saXN0LGdsb2JhbEhvdGtleUVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlzP251bGw6dGhpcy5fbGlzdH0pKSl9c2VsZWN0SXRlbShlKXtlLmNsYXNzTGlzdC5hZGQodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKX11bnNlbGVjdEl0ZW0oZSl7ZS5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3NlbGVjdGVkTGlzdEl0ZW1DbGFzcyl9dmlzdWFsbHlGb2N1c0l0ZW0oZSl7CnRoaXMucmVtb3ZlRm9jdXMoKSxlLmNsYXNzTGlzdC5hZGQodGhpcy5fZm9jdXNlZExpc3RJdGVtQ2xhc3MpLHRoaXMuc2V0Q3Vyc29yKGUpfWZvY3VzSXRlbShlKXt0aGlzLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX2VuYWJsZUZvY3VzRE9NRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0aGlzLl9mb2N1c0RPTUVsZW1lbnQoZSl9Z2V0Rm9jdXNlZEl0ZW1JZHgoKXtjb25zdCBlPXRoaXMuX2ZvY3VzZWQuZ2V0Rmlyc3RJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1nZXRGb2N1c2VkSXRlbSgpe3JldHVybiB0aGlzLl9mb2N1c2VkLmdldEZpcnN0SXRlbSgpfWlzU2VsZWN0ZWQoZSl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkLmNvbnRhaW5zKGUpfWlzRm9jdXNlZChlKXtyZXR1cm4gdGhpcy5fZm9jdXNlZC5jb250YWlucyhlKX1pc0xpc3RJdGVtKGUpe3JldHVybiB0aGlzLl9pdGVtcy5jb250YWlucyhlKX1yZW1vdmVTZWxlY3Rpb25zKCl7dGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKS5mb3JFYWNoKChlPT5lLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fc2VsZWN0ZWRMaXN0SXRlbUNsYXNzKSkpfXJlbW92ZUZvY3VzKCl7dGhpcy5fZm9jdXNlZC5nZXRJdGVtcygpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9mb2N1c2VkTGlzdEl0ZW1DbGFzcykpKX1tb3ZlKGUsdCxzKXtjb25zdCBvPWU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMTtsZXQgaTtpPSJudW1iZXIiPT10eXBlb2YgdD90aGlzLl9pdGVtcy5nZXRJdGVtQnlJZHgodGhpcy5fY2FsY05leHRJdGVtSWR4KG8sdCkpOnQsaSYmKHMoaSxlKSx0aGlzLl9zY3JvbGxJZk5vdFZpc2libGUoaSkpfWdldFNlbGVjdGVkSXRlbXMoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWQuZ2V0SXRlbXMoKX1nZXRMaXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9Z2V0SXRlbXNDb2xsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfWdldFNlbGVjdGVkQ29sbGVjdGlvbigpe3JldHVybiB0aGlzLl9zZWxlY3RlZH1zZXRDdXJzb3IoZSl7dGhpcy5yZW1vdmVDdXJzb3IoKSxlLmNsYXNzTGlzdC5hZGQoYyl9cmVtb3ZlQ3Vyc29yKCl7dGhpcy5fY3Vyc29yLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+ZS5jbGFzc0xpc3QucmVtb3ZlKGMpKSl9Z2V0Q3Vyc29ySXRlbSgpe3JldHVybiB0aGlzLl9jdXJzb3IuZ2V0Rmlyc3RJdGVtKCl9Z2V0Q3Vyc29ySXRlbUlkeCgpe2NvbnN0IGU9dGhpcy5nZXRDdXJzb3JJdGVtKCk7cmV0dXJuIGU/dGhpcy5faXRlbXMuZ2V0SXRlbUlkeChlKTotMX1vblNlbGVjdChlLHQpe3RoaXMuX29uU2VsZWN0JiZ0aGlzLl9vblNlbGVjdCh7Y3Vyc29yOnQsaXRlbXM6dGhpcy5nZXRTZWxlY3RlZEl0ZW1zKCksYWN0aW9uOmV9KX1vbk5hdmlnYXRlKGUsdCl7dGhpcy5fb25OYXZpZ2F0ZSYmdGhpcy5fb25OYXZpZ2F0ZSh7Y3Vyc29yOmUsY3Vyc29ySWR4OnRoaXMuZ2V0Q3Vyc29ySXRlbUlkeCgpLGl0ZW1zOltlXSxhY3Rpb246dH0pfW9uQ29uZmlybShlLHQpe3RoaXMuX29uQ29uZmlybSYmdGhpcy5fb25Db25maXJtKHtjdXJzb3I6ZSxpdGVtczpbZV0sYWN0aW9uOnR9KX1vbkRlbGV0ZShlLHQscyl7dGhpcy5fb25EZWxldGUmJnRoaXMuX29uRGVsZXRlKHtjdXJzb3I6cyxpdGVtczplLGFjdGlvbjp0fSl9cmVnaXN0ZXJNb3VzZUFjdGlvbihlLHQpe3RoaXMuX21vdXNlQWN0aW9ucy5zZXQoZSx0KX1kaXNwYXRjaE1vdXNlRXZlbnQoZSx0KXtjb25zdCBzPXRoaXMuX21vdXNlQWN0aW9ucy5nZXQoZSk7cyYmcyh0KX1kZWxlZ2F0ZUNsaWNrKGUpe3JldHVybiB0PT57aWYoIXQuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3Qgcz10aGlzLl9saXN0LmNvbnRhaW5zKHQudGFyZ2V0KTtsZXQgbz10LnRhcmdldDtmb3IoO3MmJm8hPT10aGlzLl9saXN0Oyl7aWYobyYmdGhpcy5pc0xpc3RJdGVtKG8pKXJldHVybiB2b2lkIGUobyk7bz1vJiZvLnBhcmVudEVsZW1lbnR9fX19Y2xlYXIoKXt0aGlzLnJlbW92ZVNlbGVjdGlvbnMoKSx0aGlzLnJlbW92ZUZvY3VzKCksdGhpcy5yZW1vdmVDdXJzb3IoKX1kZXN0cm95KCl7dGhpcy5ob3RrZXlzLmRlc3Ryb3koKSxkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5faXRlbXMsZGVsZXRlIHRoaXMuX3NlbGVjdGVkLGRlbGV0ZSB0aGlzLl9mb2N1c2VkLGRlbGV0ZSB0aGlzLl9jdXJzb3IsZGVsZXRlIHRoaXMuX21vdXNlQWN0aW9uc31fc2Nyb2xsSWZOb3RWaXNpYmxlKGUpe2NvbnN0IHQ9dGhpcy5fbGlzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10LnRvcCxpPXQuYm90dG9tLG49cy50b3AsYz1zLmJvdHRvbTtuPG8/dGhpcy5fbGlzdC5zY3JvbGxUb3AtPW8tbjpjPmkmJih0aGlzLl9saXN0LnNjcm9sbFRvcCs9Yy1pKX1fY2FsY05leHRJdGVtSWR4KGUsdCl7Y29uc3Qgcz10aGlzLl9pdGVtcy5nZXRMZW5ndGgoKS0xO2xldCBvPWUrdDtpZihvPDApe2lmKHRoaXMuX2N5Y2xpY05hdmlnYXRpb25EaXNhYmxlZClyZXR1cm4tMTtvPXN9aWYobz5zKXtpZih0aGlzLl9jeWNsaWNOYXZpZ2F0aW9uRGlzYWJsZWQpcmV0dXJuLTE7bz0wfXJldHVybiBvfV9mb2N1c0RPTUVsZW1lbnQoZSl7ZS5mb2N1cygpfX12YXIgcj1zKDIzNTcyNCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb2N1c05leHQ9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm47Y29uc3QgZT10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3RoaXMuX3NlbGVjdGlvbi5tb3ZlKGUsaS5OZXh0LHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImRvd24iKSl9LHRoaXMuX2ZvY3VzUHJldj0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUoZSxpLlByZXYsdGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywidXAiKSl9LHRoaXMuX2ZvY3VzRmlyc3Q9KCk9PntpZighdGhpcy5faXNWYWxpZE5hdmlnYXRpb24oKSlyZXR1cm4KO2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEZpcnN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImhvbWUiKSl9LHRoaXMuX2ZvY3VzTGFzdD0oKT0+e2lmKCF0aGlzLl9pc1ZhbGlkTmF2aWdhdGlvbigpKXJldHVybjtjb25zdCBlPXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRMYXN0SXRlbSgpLHQ9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLm1vdmUodCxlLHRoaXMuX2ZvY3VzSXRlbS5iaW5kKHRoaXMsImVuZCIpKX0sdGhpcy5fc2VsZWN0aW9uPWUuc2VsZWN0aW9uLHRoaXMuX3NlbGVjdGlvbi5yZWdpc3Rlck1vdXNlQWN0aW9uKCJjbGljayIsdGhpcy5fc2VsZWN0aW9uLmRlbGVnYXRlQ2xpY2sodGhpcy5fZm9jdXNJdGVtLmJpbmQodGhpcywiY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTozOCxoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6NDAsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgUHJldmlvdXMiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszMixoYW5kbGVyOnRoaXMuX2ZvY3VzUHJldixlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudCxpc1JlcGVhdEFjY2VwdGVkOiEwfSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJGb2N1cyBOZXh0Iixob3RrZXk6MzIsaGFuZGxlcjp0aGlzLl9mb2N1c05leHQsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnQsaXNSZXBlYXRBY2NlcHRlZDohMH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRm9jdXMgRmlyc3QiLGhvdGtleTozNixoYW5kbGVyOnRoaXMuX2ZvY3VzRmlyc3QsZWxlbWVudDplLmdsb2JhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkZvY3VzIExhc3QiLGhvdGtleTozNSxoYW5kbGVyOnRoaXMuX2ZvY3VzTGFzdCxlbGVtZW50OmUuZ2xvYmFsSG90a2V5RWxlbWVudH0pfV9mb2N1c0l0ZW0oZSx0KXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0odCksdGhpcy5fc2VsZWN0aW9uLnNldEN1cnNvcih0KSx0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbSh0KSx0aGlzLl9zZWxlY3Rpb24ub25OYXZpZ2F0ZSh0LGUpfV9pc1ZhbGlkTmF2aWdhdGlvbigpe3JldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fc2VsZWN0aW9uLmdldExpc3QoKS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuQWx0K3IuTW9kaWZpZXJzLlNoaWZ0KzEzLGhhbmRsZXI6dGhpcy5fb25JdGVtS2V5RG93bi5iaW5kKHRoaXMsImFsdCtyZXR1cm4iKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUtleURvd24oZSx0KXtjb25zdCBzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7cyYmdGhpcy5fc2VsZWN0aW9uLm9uQ29uZmlybShzLGUpfX1jbGFzcyBke2NvbnN0cnVjdG9yKGUpe3RoaXMuX3NlbGVjdGlvbj1lLnNlbGVjdGlvbix0aGlzLl9zZWxlY3Rpb24ucmVnaXN0ZXJNb3VzZUFjdGlvbigic2hpZnQrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywic2hpZnQrY2xpY2siKSkpLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7ZGVzYzoiRXh0ZW5kIFNlbGVjdGlvbiBEb3duIixob3RrZXk6ci5Nb2RpZmllcnMuU2hpZnQrNDAsaGFuZGxlcjp0aGlzLl9uZXh0UmFuZ2VJdGVtLmJpbmQodGhpcywic2hpZnQrZG93biIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KSx0aGlzLl9zZWxlY3Rpb24uaG90a2V5cy5hZGQoe2Rlc2M6IkV4dGVuZCBTZWxlY3Rpb24gVXAiLGhvdGtleTpyLk1vZGlmaWVycy5TaGlmdCszOCxoYW5kbGVyOnRoaXMuX3ByZXZSYW5nZUl0ZW0uYmluZCh0aGlzLCJzaGlmdCt1cCIpLGVsZW1lbnQ6ZS5sb2NhbEhvdGtleUVsZW1lbnR9KX1fbmV4dFJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW1JZHgoKSE9PXQuZ2V0TGVuZ3RoKCktMSYmdGhpcy5fc2VsZWN0aW9uLm1vdmUocyxpLk5leHQsdGhpcy5fYWRkSXRlbVRvUmFuZ2UoZSwoKGUsdCk9PmU8dCkpKX1fcHJldlJhbmdlSXRlbShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtKCk7MCE9PXRoaXMuX3NlbGVjdGlvbi5nZXRDdXJzb3JJdGVtSWR4KCkmJnRoaXMuX3NlbGVjdGlvbi5tb3ZlKHQsaS5QcmV2LHRoaXMuX2FkZEl0ZW1Ub1JhbmdlKGUsKChlLHQpPT5lPnQpKSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0SXRlbXNDb2xsZWN0aW9uKCkuZ2V0SXRlbXMoKSxvPXRoaXMuX2dldFJhbmdlSW5mbyh0KTt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpCjtmb3IobGV0IGU9by5zdGFydDtlPD1vLmVuZDtlKyspdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoc1tlXSl8fHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKHNbZV0pO3RoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IodCksdGhpcy5fc2VsZWN0aW9uLm9uU2VsZWN0KGUsdCl9X2dldFJhbmdlSW5mbyhlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRJdGVtc0NvbGxlY3Rpb24oKS5nZXRJdGVtSWR4KGUpLHM9dGhpcy5fc2VsZWN0aW9uLmdldEZvY3VzZWRJdGVtSWR4KCksbz0tMSE9PXM/czowO3JldHVybiB0Pm8/e3N0YXJ0Om8sZW5kOnR9OntzdGFydDp0LGVuZDpvfX1fYWRkSXRlbVRvUmFuZ2UoZSx0KXtyZXR1cm4ocyxvKT0+e2NvbnN0IGk9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1JZHgocyksbj10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW1JZHgoKTswPT09dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkQ29sbGVjdGlvbigpLmdldExlbmd0aCgpJiZvJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShvKSx0KG4saSk/dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyk6byYmdGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShvKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHMpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHMpfX19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oImN0cmwrY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywiY3RybCtjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLnJlZ2lzdGVyTW91c2VBY3Rpb24oIm1ldGErY2xpY2siLHRoaXMuX3NlbGVjdGlvbi5kZWxlZ2F0ZUNsaWNrKHRoaXMuX29uSXRlbUNsaWNrLmJpbmQodGhpcywibWV0YStjbGljayIpKSksdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtob3RrZXk6ci5Nb2RpZmllcnMuTW9kKzY1LGhhbmRsZXI6dGhpcy5fc2VsZWN0QWxsLmJpbmQodGhpcywiY3RybCthIiksZWxlbWVudDplLmxvY2FsSG90a2V5RWxlbWVudH0pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLmFkZCh7aG90a2V5OjI3LGhhbmRsZXI6dGhpcy5fdW5zZWxlY3RBbGwuYmluZCh0aGlzLCJlc2MiKSxlbGVtZW50OmUubG9jYWxIb3RrZXlFbGVtZW50fSl9X29uSXRlbUNsaWNrKGUsdCl7Y29uc3Qgcz10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKSxvPXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZENvbGxlY3Rpb24oKS5nZXRMZW5ndGgoKTtzJiYwPT09byYmdGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0ocyksdGhpcy5fdG9nZ2xlU2VsZWN0aW9uKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlLHQpfV90b2dnbGVTZWxlY3Rpb24oZSl7dGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSk/dGhpcy5fc2VsZWN0aW9uLnVuc2VsZWN0SXRlbShlKTp0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKSx0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKGUpfV9zZWxlY3RBbGwoZSl7dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCkuZm9yRWFjaCgoZT0+dGhpcy5fc2VsZWN0aW9uLnNlbGVjdEl0ZW0oZSkpKSx0aGlzLl9zZWxlY3Rpb24ub25TZWxlY3QoZSl9X3Vuc2VsZWN0QWxsKGUpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCk7Y29uc3QgdD10aGlzLl9zZWxlY3Rpb24uZ2V0Rm9jdXNlZEl0ZW0oKTt0JiZ0aGlzLl9zZWxlY3Rpb24uc2V0Q3Vyc29yKHQpLHRoaXMuX3NlbGVjdGlvbi5vblNlbGVjdChlKX19Y2xhc3MgbXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zZWxlY3Rpb249ZS5zZWxlY3Rpb24sdGhpcy5fc2VsZWN0aW9uLmhvdGtleXMuYWRkKHtkZXNjOiJEZWxldGUiLGhvdGtleTo0NixoYW5kbGVyOnRoaXMuX2RlbGV0ZS5iaW5kKHRoaXMsImRlbCIpLGVsZW1lbnQ6ZS5nbG9iYWxIb3RrZXlFbGVtZW50fSl9X2RlbGV0ZShlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbi5nZXRTZWxlY3RlZEl0ZW1zKCkscz10aGlzLl9zZWxlY3Rpb24uZ2V0Q3Vyc29ySXRlbSgpO3MmJnQubGVuZ3RoPjA/dGhpcy5fc2VsZWN0aW9uLm9uRGVsZXRlKHQsZSxzKTpzJiZ0aGlzLl9zZWxlY3Rpb24ub25EZWxldGUoW3NdLGUscyl9fXZhciBfPXMoMzE4OTc0KTtjbGFzcyBne2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Rpc3BhdGNoQ2xpY2s9ZT0+e2UuY3RybEtleSYmISgwLF8uaXNNYWMpKCk/dGhpcy5fc2VsZWN0aW9uLmRpc3BhdGNoTW91c2VFdmVudCgiY3RybCtjbGljayIsZSk6ZS5zaGlmdEtleT90aGlzLl9zZWxlY3Rpb24uZGlzcGF0Y2hNb3VzZUV2ZW50KCJzaGlmdCtjbGljayIsZSk6ZS5tZXRhS2V5JiYoMCxfLmlzTWFjKSgpP3RoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoIm1ldGErY2xpY2siLGUpOnRoaXMuX3NlbGVjdGlvbi5kaXNwYXRjaE1vdXNlRXZlbnQoImNsaWNrIixlKX0sdGhpcy5fb25TZWxlY3Q9ZT0+e3RoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fb3B0cy5vblNlbGVjdCYmdGhpcy5fb3B0cy5vblNlbGVjdChlKX0sdGhpcy5fb25OYXZpZ2F0ZT1lPT57dGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9vcHRzLm9uTmF2aWdhdGUmJnRoaXMuX29wdHMub25OYXZpZ2F0ZShlKX0sdGhpcy5fZGlzYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+ITF9LHRoaXMuX2VuYWJsZVNlbGVjdGlvbj0oKT0+e3RoaXMuX2xpc3Qub25zZWxlY3RzdGFydD0oKT0+bnVsbH0sdGhpcy5fb3B0cz1lLHRoaXMuX2xpc3Q9ZS5saXN0LHRoaXMuX3NlbGVjdGlvbj1uZXcgbCh7bGlzdDplLmxpc3QsbGlzdEl0ZW1DbGFzczplLmxpc3RJdGVtQ2xhc3Msc2VsZWN0ZWRMaXN0SXRlbUNsYXNzOmUuc2VsZWN0ZWRMaXN0SXRlbUNsYXNzLGZvY3VzZWRMaXN0SXRlbUNsYXNzOmUuZm9jdXNlZExpc3RJdGVtQ2xhc3Msb25TZWxlY3Q6dGhpcy5fb25TZWxlY3Qsb25OYXZpZ2F0ZTp0aGlzLl9vbk5hdmlnYXRlLApvbkNvbmZpcm06ZS5vbkNvbmZpcm0sb25EZWxldGU6ZS5vbkRlbGV0ZSxtb2RlczplLm1vZGVzLGdsb2JhbEhvdGtleXM6Qm9vbGVhbihlLmdsb2JhbEhvdGtleXMpLGN5Y2xpY05hdmlnYXRpb25EaXNhYmxlZDpCb29sZWFuKGUuY3ljbGljTmF2aWdhdGlvbkRpc2FibGVkKSxlbmFibGVGb2N1c0RPTUVsZW1lbnQ6Qm9vbGVhbihlLmVuYWJsZUZvY3VzRE9NRWxlbWVudCl9KSx0aGlzLl9zZWxlY3RlZEtleXM9W10sdGhpcy5fZm9jdXNlZEtleT1udWxsLHRoaXMuX2N1cnNvcktleT1udWxsLHRoaXMuYWN0aXZhdGUoKSx0aGlzLl9jb2xsZWN0S2V5cygpfWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pLHRoaXMuX3NlbGVjdGlvbi5ob3RrZXlzLnByb21vdGUoKX1kZWFjdGl2YXRlKCl7dGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fZGlzcGF0Y2hDbGljayksdGhpcy5fbGlzdC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9kaXNhYmxlU2VsZWN0aW9uKSx0aGlzLl9saXN0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleXVwIix0aGlzLl9lbmFibGVTZWxlY3Rpb24pfWZvY3VzSXRlbShlKXt0aGlzLl9pc05vdEZvY3VzZWQoZSkmJih0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpLHRoaXMuX3NlbGVjdGlvbi5mb2N1c0l0ZW0oZSkpfXZpc3VhbGx5Rm9jdXNJdGVtKGUpe3RoaXMuX2lzTm90Rm9jdXNlZChlKSYmKHRoaXMuX3NlbGVjdGlvbi5yZW1vdmVTZWxlY3Rpb25zKCksdGhpcy5fc2VsZWN0aW9uLnZpc3VhbGx5Rm9jdXNJdGVtKGUpLHRoaXMuX3NlbGVjdGlvbi5zZWxlY3RJdGVtKGUpKX1yZW1vdmVGb2N1cygpe3RoaXMuX3NlbGVjdGlvbi5yZW1vdmVGb2N1cygpfXJlbW92ZVNlbGVjdGlvbnMoKXt0aGlzLl9zZWxlY3Rpb24ucmVtb3ZlU2VsZWN0aW9ucygpfXJlc3RvcmUoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fc2VsZWN0aW9uLmdldEl0ZW1zQ29sbGVjdGlvbigpLmdldEl0ZW1zKCksdD10aGlzLl9vcHRzLmdldE5vZGVLZXk7ZS5mb3JFYWNoKChlPT57Y29uc3Qgcz10KGUpO3RoaXMuX2ZvY3VzZWRLZXk9PT1zJiZ0aGlzLl9zZWxlY3Rpb24uZm9jdXNJdGVtKGUpLHRoaXMuX2N1cnNvcktleT09PXMmJnRoaXMuX3NlbGVjdGlvbi5zZXRDdXJzb3IoZSksdGhpcy5fc2VsZWN0ZWRLZXlzLmluY2x1ZGVzKHMpJiZ0aGlzLl9zZWxlY3Rpb24uc2VsZWN0SXRlbShlKX0pKX19Z2V0U2VsZWN0ZWRLZXlzKCl7cmV0dXJuIHRoaXMuX2NvbGxlY3RLZXlzKCksdGhpcy5fc2VsZWN0ZWRLZXlzfWdldEZvY3VzZWRLZXkoKXtyZXR1cm4gdGhpcy5fY29sbGVjdEtleXMoKSx0aGlzLl9mb2N1c2VkS2V5fHxudWxsfWNsZWFyKCl7dGhpcy5fc2VsZWN0aW9uLmNsZWFyKCl9ZGVzdHJveSgpe3RoaXMuZGVhY3RpdmF0ZSgpLHRoaXMuX3NlbGVjdGlvbi5kZXN0cm95KCksZGVsZXRlIHRoaXMuX3NlbGVjdGlvbixkZWxldGUgdGhpcy5fbGlzdCxkZWxldGUgdGhpcy5fb3B0c31fY29sbGVjdEtleXMoKXtpZih0aGlzLl9vcHRzLmdldE5vZGVLZXkpe2NvbnN0IGU9dGhpcy5fb3B0cy5nZXROb2RlS2V5LHQ9dGhpcy5fc2VsZWN0aW9uLmdldFNlbGVjdGVkSXRlbXMoKSxzPXRoaXMuX3NlbGVjdGlvbi5nZXRGb2N1c2VkSXRlbSgpLG89dGhpcy5fc2VsZWN0aW9uLmdldEN1cnNvckl0ZW0oKTt0aGlzLl9zZWxlY3RlZEtleXM9dC5tYXAoKHQ9PmUodCkpKSx0aGlzLl9mb2N1c2VkS2V5PXM/ZShzKTpudWxsLHRoaXMuX2N1cnNvcktleT1vP2Uobyk6bnVsbH19X2lzTm90Rm9jdXNlZChlKXtyZXR1cm4hdGhpcy5fc2VsZWN0aW9uLmlzU2VsZWN0ZWQoZSkmJiF0aGlzLl9zZWxlY3Rpb24uaXNGb2N1c2VkKGUpfX1mdW5jdGlvbiBwKGUpe3JldHVybiBuZXcgZyhPYmplY3QuYXNzaWduKHt9LHttb2RlczpbYSxoLG0sdSxkXX0sZSkpfX0sMTY4ODI0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtjb25zdFt0LHMsb109ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRvU3RyaW5nKCk7cmV0dXJuW051bWJlcih0LnNsaWNlKDAsNCkpLE51bWJlcih0LnNsaWNlKDQsNikpLE51bWJlcih0LnNsaWNlKDYpKV19KGUpO3JldHVybiBuZXcgRGF0ZSh0LHMtMSxvKX1zLmQodCx7Z2V0RGF0ZUZyb21ZWVlZTU1ERDooKT0+b30pfSwxODIzMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7dXNlUm92aW5nVGFiaW5kZXhFbGVtZW50OigpPT5jfSk7dmFyIG89cyg3Nzk0NzQpLGk9cyg3ODc4OTUpLG49cyg2MTYzMTEpO2Z1bmN0aW9uIGMoZSx0PVtdKXtjb25zdFtzLGNdPSgwLG8udXNlU3RhdGUpKCExKSxsPSgwLGkudXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsbi51c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0KSgoKCk9Pntjb25zdCBlPWwuY3VycmVudDtpZihudWxsPT09ZSlyZXR1cm47Y29uc3QgdD1lPT57c3dpdGNoKGUudHlwZSl7Y2FzZSJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IjpjKCEwKTticmVhaztjYXNlInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCI6YyghMSl9fTtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50Iix0KSxlLmFkZEV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiLHQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50Iix0KX19KSx0KSxbbCxzPzA6LTFdfX0sMzA5ODM2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2FkZFV0bVRvVXJsOigpPT5pfSk7dmFyIG89cyg2MDE1ODcpO2Z1bmN0aW9uIGkoZSx0KXsKaWYoIS8oW2EtekEtWjAtOS4tXSp0cmFkaW5ndmlldy5jb20pfGxvY2FsaG9zdC8udGVzdChlKSlyZXR1cm4gZTtjb25zdCBzPSgwLG8uYnVpbGRVdG1RdWVyeVN0cmluZykodCk7aWYoIiI9PT1zKXJldHVybiBlO2NvbnN0IGk9ZS5pbmRleE9mKCI/Iiksbj1lLmluZGV4T2YoIiMiKSxjPS0xIT09bjtpZigtMSE9PWkmJighY3x8aTxuKSl7cmV0dXJuYCR7ZS5zbGljZSgwLGkpfT8ke2M/ZS5zbGljZShpKzEsbik6ZS5zbGljZShpKzEpfSYke3N9JHtjP2Uuc2xpY2Uobik6IiJ9YH1pZihjKXtyZXR1cm5gJHtlLnNsaWNlKDAsbil9PyR7c30ke2Uuc2xpY2Uobil9YH1yZXR1cm5gJHtlfT8ke3N9YH19LDYwMTU4NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5yLGZpbHRlclV0bUluZm86KCk9PmN9KTt2YXIgbz1zKDQ5MjY3NyksaT1zKDY0MTU5Myk7Y29uc3Qgbj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gYyhlKXtjb25zdCB0PXt9O3JldHVybiBuLmZvckVhY2goKHM9Pntjb25zdCBvPWVbc107InN0cmluZyI9PXR5cGVvZiBvJiYiIiE9PW8mJih0W3NdPSgwLGkuaHRtbEVzY2FwZSkobykpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IHM9KDAsby5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBzJiZ0PyI/IitzOnN9ZnVuY3Rpb24gcihlKXtyZXR1cm4gbChjKCgwLG8uZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDQ2MjcwNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIgNGgzdjFoLTEuMDRsLS44OCA5LjY0YTEuNSAxLjUgMCAwIDEtMS41IDEuMzZINi40MmExLjUgMS41IDAgMCAxLTEuNS0xLjM2TDQuMDUgNUgzVjRoM3YtLjVDNiAyLjY3IDYuNjcgMiA3LjUgMmgzYy44MyAwIDEuNS42NyAxLjUgMS41VjRaTTcuNSAzYS41LjUgMCAwIDAtLjUuNVY0aDR2LS41YS41LjUgMCAwIDAtLjUtLjVoLTNaTTUuMDUgNWwuODcgOS41NWEuNS41IDAgMCAwIC41LjQ1aDUuMTdhLjUuNSAwIDAgMCAuNS0uNDVMMTIuOTQgNWgtNy45WiIvPjwvc3ZnPid9LDIwMzMwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgOGE0IDQgMCAxIDAgOCAwIDQgNCAwIDEgMC04IDAiLz48L3N2Zz4nfSwyNzQ4NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTAgOGE4IDggMCAxIDAgMTYgMEE4IDggMCAxIDAgMCA4em0yIDBhNiA2IDAgMSAwIDEyIDBBNiA2IDAgMSAwIDIgOHptMiAwYTQgNCAwIDEgMCA4IDAgNCA0IDAgMSAwLTggMCIvPjwvc3ZnPid9LDMzNDU1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJNMTYuNSAyMEwxMSAxNC41IDE2LjUgOSIvPjwvc3ZnPid9LDM4MDU2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuNSIgZD0iTTcgMTVsNSA1TDIzIDkiLz48L3N2Zz4nfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/external-embedding/embed-widget-screener.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.033Z","timestamp":1785136422033,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/external-embedding/embed-widget-screener.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Fri, 15 Nov 2024 10:27:22 GMT\r\naccept-ranges: bytes\r\netag: \"061b1f44837db1:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4381\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":13354,"size_decoded":4780,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (3443)","md5":"c9e18b76bc52c50bac4466a9a4c7df33","sha1":"1e4b41bf7551f6aa2f946becfdd20823688b595d","sha256":"bb863e876b10e56b14ce02fd014ad6fe5056a7dd50c2bb1354df7d2f5cdad344","sha512":"5b3eb3ef3b5847a0b9acf46a8bead19a1d85ad6a58666a091cac1fed174c724b43836f9296531a8e3aff346aaa51292142f7e7fcb387806dac79da57a59823f5","ssdeep":"384:RYaq6uCWoofYkFGMFE9O2mNajKfUBhTUDO4HgMXt:RbqDZE9O2m8jKfUBhTUDO49Xt","tlshash":"e152d6aab660d8bd81d945cba07a2720b61d3944b247ece4b5ecd8c550edccca131f7e","first_seen":"2024-11-28T14:07:21.928659Z","last_seen":"2026-08-10T18:29:58.506443Z","times_seen":52,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciB0PXsxNTE6KHQsZSk9PntmdW5jdGlvbiByKHQsZSl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIiIuY29uY2F0KG51bGwhPWU/ZToiVmFsdWUiLCIgaXMgdW5kZWZpbmVkIikpO3JldHVybiB0fWZ1bmN0aW9uIGkodCxlKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoIiIuY29uY2F0KG51bGwhPWU/ZToiVmFsdWUiLCIgaXMgbnVsbCIpKTtyZXR1cm4gdH1lLmVuc3VyZU5vdE51bGw9dm9pZCAwLGUuZW5zdXJlTm90TnVsbD1pfX0sZT17fTtmdW5jdGlvbiByKGkpe3ZhciBzPWVbaV07aWYodm9pZCAwIT09cylyZXR1cm4gcy5leHBvcnRzO3ZhciBuPWVbaV09e2V4cG9ydHM6e319O3JldHVybiB0W2ldKG4sbi5leHBvcnRzLHIpLG4uZXhwb3J0c30oKCk9Pnt2YXIgdD1yKDE1MSk7Y29uc3QgZT17ImNvbG9yLWNvbGQtZ3JheS0zMDAiOiIjQjJCNUJFIiwiY29sb3ItYnJhbmQiOiIjMjk2MkZGIiwiY29sb3ItYnJhbmQtaG92ZXIiOiIjMUU1M0U1IiwiY29sb3ItYnJhbmQtYWN0aXZlIjoiIzE4NDhDQyJ9Cjtjb25zdCBpPUpTT04ucGFyc2UoJ3siY3J5cHRvLW1rdC1zY3JlZW5lciI6eyJ3aWR0aCI6MTAwMCwiaGVpZ2h0Ijo0OTAsImRlZmF1bHRDb2x1bW4iOiJvdmVydmlldyIsIm1hcmtldCI6ImNyeXB0byIsInNjcmVlbmVyX3R5cGUiOiJjcnlwdG9fbWt0IiwiZGlzcGxheUN1cnJlbmN5IjoiVVNEIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJldmVudHMiOnsid2lkdGgiOjUxMCwiaGVpZ2h0Ijo2MDAsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJoaWRlSW1wb3J0YW5jZUluZGljYXRvciI6ZmFsc2UsImF1dG9zaXplIjpmYWxzZX0sImZvcmV4LWNyb3NzLXJhdGVzIjp7IndpZHRoIjo3NzAsImhlaWdodCI6NDAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiY3VycmVuY2llcyI6WyJFVVIiLCJVU0QiLCJKUFkiLCJHQlAiLCJDSEYiLCJBVUQiLCJDQUQiLCJOWkQiXSwiZnJhbWVFbGVtZW50SWQiOm51bGwsImF1dG9zaXplIjpmYWxzZX0sImZvcmV4LWhlYXQtbWFwIjp7IndpZHRoIjo3NzAsImhlaWdodCI6NDAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiY3VycmVuY2llcyI6WyJFVVIiLCJVU0QiLCJKUFkiLCJHQlAiLCJDSEYiLCJBVUQiLCJDQUQiLCJOWkQiLCJDTlkiXSwiZnJhbWVFbGVtZW50SWQiOm51bGwsImF1dG9zaXplIjpmYWxzZX0sImhvdGxpc3RzIjp7IndpZHRoIjo0MDAsImhlaWdodCI6NjAwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGF0ZVJhbmdlIjoiMTJNIiwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwibWFya2V0LW92ZXJ2aWV3Ijp7IndpZHRoIjo0MDAsImhlaWdodCI6NjUwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiZGF0ZVJhbmdlIjoiMTJNIiwic2hvd1N5bWJvbExvZ28iOnRydWV9LCJtYXJrZXQtcXVvdGVzIjp7IndpZHRoIjo3NzAsImhlaWdodCI6NDUwLCJpc1RyYW5zcGFyZW50IjpmYWxzZSwic2hvd1N5bWJvbExvZ28iOmZhbHNlfSwibWluaS1zeW1ib2wtb3ZlcnZpZXciOnsid2lkdGgiOjM1MCwiaGVpZ2h0IjoyMjAsInN5bWJvbCI6IkZYOkVVUlVTRCIsImRhdGVSYW5nZSI6IjEyTSIsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJhdXRvc2l6ZSI6ZmFsc2UsImxhcmdlQ2hhcnRVcmwiOiIifSwic3ltYm9sLW92ZXJ2aWV3Ijp7IndpZHRoIjoxMDAwLCJoZWlnaHQiOjUwMCwic3ltYm9scyI6W1siQXBwbGUiLCJBQVBMfDFEIl0sWyJHb29nbGUiLCJHT09HTHwxRCJdLFsiTWljcm9zb2Z0IiwiTVNGVHwxRCJdXSwiYXV0b3NpemUiOmZhbHNlLCJjaGFydE9ubHkiOmZhbHNlLCJoaWRlRGF0ZVJhbmdlcyI6ZmFsc2UsImhpZGVNYXJrZXRTdGF0dXMiOmZhbHNlLCJoaWRlU3ltYm9sTG9nbyI6ZmFsc2UsInNjYWxlUG9zaXRpb24iOiJyaWdodCIsInNjYWxlTW9kZSI6Ik5vcm1hbCIsImZvbnRGYW1pbHkiOiItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFRyZWJ1Y2hldCBNUywgUm9ib3RvLCBVYnVudHUsIHNhbnMtc2VyaWYiLCJmb250U2l6ZSI6IjEwIiwibm9UaW1lU2NhbGUiOmZhbHNlLCJjaGFydFR5cGUiOiJhcmVhIiwidmFsdWVzVHJhY2tpbmciOiIwIiwiY2hhbmdlTW9kZSI6InByaWNlLWFuZC1wZXJjZW50In0sImFkdmFuY2VkLWNoYXJ0Ijp7ImJvZHlJZCI6IndpZGdldC1jb250YWluZXIiLCJib2R5Q2xhc3NlcyI6WyJjaGFydC1wYWdlIiwidW5zZWxlY3RhYmxlIiwib24td2lkZ2V0Il19LCJzY3JlZW5lciI6eyJ3aWR0aCI6MTEwMCwiaGVpZ2h0Ijo1MjMsImRlZmF1bHRDb2x1bW4iOiJvdmVydmlldyIsImRlZmF1bHRTY3JlZW4iOiJnZW5lcmFsIiwibWFya2V0IjoiZm9yZXgiLCJzaG93VG9vbGJhciI6dHJ1ZSwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzaW5nbGUtcXVvdGUiOnsid2lkdGgiOjM1MCwic3ltYm9sIjoiRlg6RVVSVVNEIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2V9LCJzeW1ib2wtcHJvZmlsZSI6eyJ3aWR0aCI6NDgwLCJoZWlnaHQiOjY1MCwic3ltYm9sIjoiTkFTREFROkFBUEwiLCJpc1RyYW5zcGFyZW50IjpmYWxzZX0sInN5bWJvbC1pbmZvIjp7IndpZHRoIjoxMDAwLCJzeW1ib2wiOiJOQVNEQVE6QUFQTCIsImlzVHJhbnNwYXJlbnQiOmZhbHNlfSwidGVjaG5pY2FsLWFuYWx5c2lzIjp7ImludGVydmFsIjoiMW0iLCJ3aWR0aCI6NDI1LCJpc1RyYW5zcGFyZW50IjpmYWxzZSwiaGVpZ2h0Ijo0NTAsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwic2hvd0ludGVydmFsVGFicyI6dHJ1ZSwiZGlzcGxheU1vZGUiOiJzaW5nbGUifSwidGlja2VyLXRhcGUiOnsiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRpc3BsYXlNb2RlIjoiYWRhcHRpdmUiLCJzaG93U3ltYm9sTG9nbyI6ZmFsc2V9LCJ0aWNrZXJzIjp7ImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJzaG93U3ltYm9sTG9nbyI6ZmFsc2V9LCJmaW5hbmNpYWxzIjp7IndpZHRoIjo0ODAsImhlaWdodCI6ODMwLCJhdXRvc2l6ZSI6ZmFsc2UsInN5bWJvbCI6Ik5BU0RBUTpBQVBMIiwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRpc3BsYXlNb2RlIjoicmVndWxhciIsImxhcmdlQ2hhcnRVcmwiOiIifSwidGltZWxpbmUiOnsid2lkdGgiOjQ4MCwiaGVpZ2h0Ijo4MzAsImF1dG9zaXplIjpmYWxzZSwiaXNUcmFuc3BhcmVudCI6ZmFsc2UsImRpc3BsYXlNb2RlIjoicmVndWxhciIsImZlZWRNb2RlIjoiYWxsX3N5bWJvbHMifSwic3RvY2staGVhdG1hcCI6eyJ3aWR0aCI6NTAwLCJoZWlnaHQiOjUwMCwiYXV0b3NpemUiOnRydWUsImRhdGFTb3VyY2UiOiJTUFg1MDAiLCJleGNoYW5nZXMiOltdLCJncm91cGluZyI6InNlY3RvciIsImJsb2NrU2l6ZSI6Im1hcmtldF9jYXBfYmFzaWMiLCJibG9ja0NvbG9yIjoiY2hhbmdlIiwiaGFzVG9wQmFyIjpmYWxzZSwiaXNEYXRhU2V0RW5hYmxlZCI6ZmFsc2UsImlzWm9vbUVuYWJsZWQiOnRydWUsImhhc1N5bWJvbFRvb2x0aXAiOnRydWUsInN5bWJvbFVybCI6IiIsImlzTW9ub1NpemUiOmZhbHNlfSwiY3J5cHRvLWNvaW5zLWhlYXRtYXAiOnsid2lkdGgiOjUwMCwiaGVpZ2h0Ijo1MDAsImF1dG9zaXplIjp0cnVlLCJkYXRhU291cmNlIjoiQ3J5cHRvIiwiYmxvY2tTaXplIjoibWFya2V0X2NhcF9jYWxjIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImhhc1RvcEJhciI6ZmFsc2UsImlzRGF0YVNldEVuYWJsZWQiOmZhbHNlLCJpc1pvb21FbmFibGVkIjp0cnVlLCJoYXNTeW1ib2xUb29sdGlwIjp0cnVlLCJzeW1ib2xVcmwiOiIiLCJpc01vbm9TaXplIjpmYWxzZX0sImV0Zi1oZWF0bWFwIjp7IndpZHRoIjo1MDAsImhlaWdodCI6NTAwLCJhdXRvc2l6ZSI6dHJ1ZSwiZGF0YVNvdXJjZSI6IkFsbFVTRXRmIiwiYmxvY2tTaXplIjoiYXVtIiwiYmxvY2tDb2xvciI6ImNoYW5nZSIsImdyb3VwaW5nIjoiYXNzZXRfY2xhc3MiLCJoYXNUb3BCYXIiOmZhbHNlLCJpc0RhdGFTZXRFbmFibGVkIjpmYWxzZSwiaXNab29tRW5hYmxlZCI6dHJ1ZSwiaGFzU3ltYm9sVG9vbHRpcCI6dHJ1ZSwic3ltYm9sVXJsIjoiIiwiaXNNb25vU2l6ZSI6ZmFsc2V9fScpCjt2YXIgcyxuOyFmdW5jdGlvbih0KXtsZXQgZTshZnVuY3Rpb24odCl7dC5TZXRTeW1ib2w9InNldC1zeW1ib2wiLHQuU2V0SW50ZXJ2YWw9InNldC1pbnRlcnZhbCJ9KGU9dC5OYW1lc3x8KHQuTmFtZXM9e30pKX0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXtsZXQgZTshZnVuY3Rpb24odCl7dC5TeW1ib2xDbGljaz0idHYtd2lkZ2V0LXN5bWJvbC1jbGljayIsdC5XaWRnZXRMb2FkPSJ0di13aWRnZXQtbG9hZCIsdC5XaWRnZXRSZWFkeT0idHYtd2lkZ2V0LXJlYWR5Iix0LlJlc2l6ZUlmcmFtZT0idHYtd2lkZ2V0LXJlc2l6ZS1pZnJhbWUiLHQuTm9EYXRhPSJ0di13aWRnZXQtbm8tZGF0YSJ9KGU9dC5OYW1lc3x8KHQuTmFtZXM9e30pKX0obnx8KG49e30pKTtjb25zdCBvPSJfX0ZBSUxfXyIsYT0iX19OSFRUUF9fIixsPW5ldyBSZWdFeHAoIl5odHRwKHMpPzooLy8pPyIpO2Z1bmN0aW9uIGModD1sb2NhdGlvbi5ocmVmKXtjb25zdCBlPWZ1bmN0aW9uKHQpe3RyeXtjb25zdCBlPW5ldyBVUkwodCk7cmV0dXJuIGwudGVzdChlLnByb3RvY29sKT9udWxsOmF9Y2F0Y2godCl7cmV0dXJuIG99fSh0KTtyZXR1cm4gZXx8dC5yZXBsYWNlKGwsIiIpfWNvbnN0IGg9WyJsb2NhbGUiLCJzeW1ib2wiLCJtYXJrZXQiXSxkPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnPSJCQVRUTEUiO2NsYXNzIHV7Y29uc3RydWN0b3IodCl7dGhpcy5fY29weXJpZ2h0Q29udGFpbmVyPW51bGw7Y29uc3QgZT10Pz90aGlzLl9nZXRTY3JpcHRJbmZvKCk7ZSYmdGhpcy5fcmVwbGFjZVNjcmlwdChlKX1oYXNDb3B5cmlnaHQoKXtyZXR1cm4hIXRoaXMuX2NvcHlyaWdodENvbnRhaW5lcn1nZXQgd2lkZ2V0SWQoKXt0aHJvdyBuZXcgRXJyb3IoIk1ldGhvZCBtdXN0IGJlIG92ZXJyaWRkZW4iKX13aWRnZXRVdG1OYW1lKCl7cmV0dXJuIHRoaXMud2lkZ2V0SWR9Z2V0IGRlZmF1bHRTZXR0aW5ncygpe3JldHVybiBpW3RoaXMud2lkZ2V0SWRdfWdldCBwcm9wZXJ0aWVzVG9Xb3JrV2l0aCgpe3JldHVybltdfWdldCB1c2VQYXJhbXNGb3JDb25uZWN0U29ja2V0KCl7cmV0dXJuITF9Z2V0IHVzZVNub3dwbG93UGFnZVZpZXcoKXtyZXR1cm4hMX11c2VRdWVyeVN0cmluZ1BhcmFtZXRlcnModCl7cmV0dXJue319ZmlsdGVyUmF3U2V0dGluZ3ModCl7Y29uc3QgZT17fSxyPXsuLi50LC4uLnRoaXMudXNlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzKHQpfSxpPU9iamVjdC5rZXlzKHIpLHM9bmV3IFNldCh0aGlzLnByb3BlcnRpZXNUb1dvcmtXaXRoKTtyZXR1cm4gaS5mb3JFYWNoKCh0PT57cy5oYXModCkmJihlW3RdPXJbdF0pfSkpLGV9Z2V0IHNob3VsZExpc3RlblRvSWZyYW1lUmVzaXplKCl7cmV0dXJuITB9Z2V0IHByb3BlcnRpZXNUb1NraXBJbkhhc2goKXtyZXR1cm5bImN1c3RvbWVyIiwibG9jYWxlIl19Z2V0IHByb3BlcnRpZXNUb0FkZFRvR2V0UGFyYW1zKCl7cmV0dXJuWyJsb2NhbGUiXX1fZGVmYXVsdFdpZHRoKCl7fV9kZWZhdWx0SGVpZ2h0KCl7fV9nZXRTY3JpcHRJbmZvKCl7Y29uc3QgdD1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCF0fHwhdC5zcmMpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIkNvdWxkIG5vdCBzZWxmLXJlcGxhY2UgdGhlIHNjcmlwdCwgd2lkZ2V0IGVtYmVkZGluZyBoYXMgYmVlbiBhYm9ydGVkIiksbnVsbDtyZXR1cm57c2NyaXB0VVJMOmZ1bmN0aW9uKHQpe2NvbnN0IGU9bmV3IFVSTCh0LGRvY3VtZW50LmJhc2VVUkkpO3JldHVybntob3N0OmUuaG9zdCxwYXRobmFtZTplLnBhdGhuYW1lLGhyZWY6ZS5ocmVmLHByb3RvY29sOmUucHJvdG9jb2x9fSh0LnNyYyksc2NyaXB0RWxlbWVudDp0LGlkOnQuaWQscmF3U2V0dGluZ3M6dGhpcy5fc2NyaXB0Q29udGVudFRvSlNPTih0KSxvdmVycmlkZUhvc3Q6dC5nZXRBdHRyaWJ1dGUoIm92ZXJyaWRlLWhvc3QiKX19X3JlcGxhY2VTY3JpcHQocil7Y29uc3R7c2NyaXB0VVJMOmksc2NyaXB0RWxlbWVudDpzLHJhd1NldHRpbmdzOm8saWQ6YSxvdmVycmlkZUhvc3Q6bH09cixjPWx8fGZ1bmN0aW9uKHQpe2lmKCJCQVRUTEUiPT09Zyl7aWYod2luZG93LldJREdFVF9IT1NUKXJldHVybiB3aW5kb3cuV0lER0VUX0hPU1Q7aWYodC5ob3N0Lm1hdGNoKC9cLlx3c3RcdypcLlx3diQvaSkpcmV0dXJuYGh0dHBzOi8vJHt0Lmhvc3QucmVwbGFjZSgvXC4oXHcpdiQvaSwoKHQsZSk9PmAtd2lkZ2V0LiR7ZX12YCkpfWB9cmV0dXJuIGR9KGkpLGg9cy5wYXJlbnROb2RlO28mJiJ0aW1lbGluZSI9PT10aGlzLndpZGdldFV0bU5hbWUoKSYmKG8ubG9jYWxlPSJlbiIpO2NvbnN0IHU9cy5ub25jZXx8cy5nZXRBdHRyaWJ1dGUoIm5vbmNlIiksbT1mdW5jdGlvbih0KXtpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBlPXQucXVlcnlTZWxlY3RvcigiI3RyYWRpbmd2aWV3LWNvcHlyaWdodCIpLHI9dC5xdWVyeVNlbGVjdG9yKCIjdHJhZGluZ3ZpZXctcXVvdGVzIiksaT1lfHxyO3JldHVybiBpJiZ0LnJlbW92ZUNoaWxkKGkpLGl9KGgpLHA9aC5xdWVyeVNlbGVjdG9yKCIudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCIpO3RoaXMuX2NvcHlyaWdodENvbnRhaW5lcj1tfHxwO2NvbnN0IGY9aC5jbGFzc0xpc3QuY29udGFpbnMoInRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiKTt0aGlzLmlmcmFtZUNvbnRhaW5lcj1oJiZmP2g6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksbyYmKHRoaXMuc2V0dGluZ3M9dGhpcy5maWx0ZXJSYXdTZXR0aW5ncyhvKSksbyYmdGhpcy5fdmFsaWRhdGVTZXR0aW5ncygpfHwoY29uc29sZS5lcnJvcigiSW52YWxpZCBzZXR0aW5ncyBwcm92aWRlZCwgZmFsbCBiYWNrIHRvIGRlZmF1bHRzIiksdGhpcy5zZXR0aW5ncz10aGlzLmZpbHRlclJhd1NldHRpbmdzKHRoaXMuZGVmYXVsdFNldHRpbmdzKSk7Y29uc3Qgdz0iMzJweCIse3dpZHRoOnksaGVpZ2h0OlN9PXRoaXMuc2V0dGluZ3MsYj12b2lkIDA9PT1TP3ZvaWQgMDpgJHtTfSR7TnVtYmVyLmlzSW50ZWdlcihTKT8icHgiOiIifWAsdj12b2lkIDA9PT15P3ZvaWQgMDpgJHt5fSR7TnVtYmVyLmlzSW50ZWdlcih5KT8icHgiOiIifWAKO3ZvaWQgMCE9PXYmJih0aGlzLmlmcmFtZUNvbnRhaW5lci5zdHlsZS53aWR0aD12KSx2b2lkIDAhPT1iJiYodGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUuaGVpZ2h0PWIpO2NvbnN0IFQ9ZnVuY3Rpb24oKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7cmV0dXJuIHQuaW5uZXJIVE1MPWBcblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge1xuXHRcdGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuXHRcdC8qIEBtaXhpbiBzZi1wcm8tZGlzcGxheS1mb250OyAqL1xuXHRcdGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0XHRjb2xvcjogJHtlWyJjb2xvci1jb2xkLWdyYXktMzAwIl19ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6aG92ZXIgLmJsdWUtdGV4dCB7XG5cdFx0Y29sb3I6ICR7ZVsiY29sb3ItYnJhbmQtaG92ZXIiXX0gIWltcG9ydGFudDtcblx0fVxuXG5cdC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IGE6YWN0aXZlIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kLWFjdGl2ZSJdfSAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge1xuXHRcdGNvbG9yOiAke2VbImNvbG9yLWJyYW5kIl19ICFpbXBvcnRhbnQ7XG5cdH1cblx0YCx0fSgpO3UmJlQuc2V0QXR0cmlidXRlKCJub25jZSIsdSksdGhpcy5pZnJhbWVDb250YWluZXIuYXBwZW5kQ2hpbGQoVCk7Y29uc3QgXz10aGlzLmhhc0NvcHlyaWdodCgpP2BjYWxjKDEwMCUgLSAke3d9KWA6IjEwMCUiLEM9bG9jYXRpb24uaG9zdG5hbWUsaz1wPyJ3aWRnZXRfbmV3Ijoid2lkZ2V0IixBPXRoaXMud2lkZ2V0VXRtTmFtZSgpO3RoaXMuc2V0dGluZ3MudXRtX3NvdXJjZT1DLHRoaXMuc2V0dGluZ3MudXRtX21lZGl1bT1rLHRoaXMuc2V0dGluZ3MudXRtX2NhbXBhaWduPUEsdGhpcy5fdXBkYXRlQ29weXJpZ2h0SHJlZlBhcmFtcyhDLGssQSk7Y29uc3QgRT10aGlzLnNldHRpbmdzLmlmcmFtZVRpdGxlfHxgJHt0aGlzLndpZGdldElkLnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGAsST10aGlzLnNldHRpbmdzLmlmcmFtZUxhbmd8fCJlbiI7dGhpcy5pZnJhbWU9dGhpcy5fY3JlYXRlSWZyYW1lKF8sYyxhLEUsSSksdGhpcy5fYWRkQ1NQRXJyb3JMaXN0ZW5lcihjKSx1JiZ0aGlzLmlmcmFtZS5zZXRBdHRyaWJ1dGUoIm5vbmNlIix1KTtjb25zdCB4PXRoaXMuaWZyYW1lQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXQiKTtpZih4PygoMCx0LmVuc3VyZU5vdE51bGwpKHgucGFyZW50RWxlbWVudCkucmVwbGFjZUNoaWxkKHRoaXMuaWZyYW1lLHgpLHM/LnJlbW92ZSgpKTpmPyh0aGlzLmlmcmFtZUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmlmcmFtZSkscz8ucmVtb3ZlKCkpOih0aGlzLmlmcmFtZUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmlmcmFtZSksaC5yZXBsYWNlQ2hpbGQodGhpcy5pZnJhbWVDb250YWluZXIsKDAsdC5lbnN1cmVOb3ROdWxsKShzKSkpLHRoaXMuc2hvdWxkTGlzdGVuVG9JZnJhbWVSZXNpemUmJmZ1bmN0aW9uKHQsZSxyKXtjb25zdCBpPWUuY29udGVudFdpbmRvdztpZighaSlyZXR1cm4gY29uc29sZS5lcnJvcigiQ2Fubm90IGxpc3RlbiB0byB0aGUgZXZlbnQgZnJvbSB0aGUgcHJvdmlkZWQgaWZyYW1lLCBjb250ZW50V2luZG93IGlzIG5vdCBhdmFpbGFibGUiKSwoKT0+e307ZnVuY3Rpb24gcyhlKXtlLnNvdXJjZSYmZS5zb3VyY2U9PT1pJiZlLmRhdGEmJmUuZGF0YS5uYW1lJiZlLmRhdGEubmFtZT09PXQmJnIoZS5kYXRhLmRhdGEpfXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixzLCExKX0obi5OYW1lcy5SZXNpemVJZnJhbWUsdGhpcy5pZnJhbWUsKHQ9Pnt0LndpZHRoJiYodGhpcy5pZnJhbWUuc3R5bGUud2lkdGg9dC53aWR0aCsicHgiLHRoaXMuaWZyYW1lQ29udGFpbmVyLnN0eWxlLndpZHRoPXQud2lkdGgrInB4IiksdGhpcy5pZnJhbWUuc3R5bGUuaGVpZ2h0PXQuaGVpZ2h0KyJweCIsdGhpcy5pZnJhbWVDb250YWluZXIuc3R5bGUuaGVpZ2h0PXQuaGVpZ2h0Kyh0aGlzLmhhc0NvcHlyaWdodCgpPzMyOjApKyJweCJ9KSksbSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnN0eWxlLmhlaWdodD13LHQuc3R5bGUubGluZUhlaWdodD13LHZvaWQgMCE9PXYmJih0LnN0eWxlLndpZHRoPXYpLHQuc3R5bGUudGV4dEFsaWduPSJjZW50ZXIiLHQuc3R5bGUudmVydGljYWxBbGlnbj0ibWlkZGxlIix0LmlubmVySFRNTD1tLmlubmVySFRNTCx0aGlzLmlmcmFtZUNvbnRhaW5lci5hcHBlbmRDaGlsZCh0KX19X2lmcmFtZVNyY0Jhc2UodCl7bGV0IGU9YCR7dH0vZW1iZWQtd2lkZ2V0LyR7dGhpcy53aWRnZXRJZH0vYAo7cmV0dXJuIHRoaXMuc2V0dGluZ3MuY3VzdG9tZXImJi0xIT09dGhpcy5wcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoLmluZGV4T2YoImN1c3RvbWVyIikmJihlKz1gJHt0aGlzLnNldHRpbmdzLmN1c3RvbWVyfS9gKSxlfV92YWxpZGF0ZVNldHRpbmdzKCl7Y29uc3QgdD0odCxlKT0+e2lmKHZvaWQgMD09PXQpcmV0dXJuIGU7Y29uc3Qgcj1TdHJpbmcodCk7cmV0dXJuL15cZCskLy50ZXN0KHIpP3BhcnNlSW50KHIpOi9eKFxkKyV8YXV0bykkLy50ZXN0KHIpP3I6bnVsbH0sZT10KHRoaXMuc2V0dGluZ3Mud2lkdGgsdGhpcy5fZGVmYXVsdFdpZHRoKCkpLHI9dCh0aGlzLnNldHRpbmdzLmhlaWdodCx0aGlzLl9kZWZhdWx0SGVpZ2h0KCkpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXImJih0aGlzLnNldHRpbmdzLndpZHRoPWUsdGhpcy5zZXR0aW5ncy5oZWlnaHQ9ciwhMCl9X3NldFNldHRpbmdzUXVlcnlTdHJpbmcodCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXNUb0FkZFRvR2V0UGFyYW1zLmZpbHRlcigodD0+LTEhPT1oLmluZGV4T2YodCkpKSxyPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcj1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSk7Zm9yKGNvbnN0IGkgb2YgZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmKHJbaV09dFtpXSk7cmV0dXJuIHJ9KHRoaXMuc2V0dGluZ3MsZSk7Zm9yKGNvbnN0W2UsaV1vZiBPYmplY3QuZW50cmllcyhyKSl0LnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxpKX1fc2V0SGFzaFN0cmluZyh0LGUpe2NvbnN0IHI9e307ZSYmKHIuZnJhbWVFbGVtZW50SWQ9ZSksT2JqZWN0LmtleXModGhpcy5zZXR0aW5ncykuZm9yRWFjaCgodD0+ey0xPT09dGhpcy5wcm9wZXJ0aWVzVG9Ta2lwSW5IYXNoLmluZGV4T2YodCkmJihyW3RdPXRoaXMuc2V0dGluZ3NbdF0pfSkpLCh0aGlzLnVzZVBhcmFtc0ZvckNvbm5lY3RTb2NrZXR8fHRoaXMudXNlU25vd3Bsb3dQYWdlVmlldykmJihyWyJwYWdlLXVyaSJdPWMoKSk7T2JqZWN0LmtleXMocikubGVuZ3RoPjAmJih0Lmhhc2g9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHIpKSl9X3NjcmlwdENvbnRlbnRUb0pTT04odCl7Y29uc3QgZT10LmlubmVySFRNTC50cmltKCk7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKGBXaWRnZXQgc2V0dGluZ3MgcGFyc2UgZXJyb3I6ICR7dH1gKSxudWxsfX1fY3JlYXRlSWZyYW1lKHQsZSxyLGkscyl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyJiYobi5pZD1yKSx0aGlzLnNldHRpbmdzLmVuYWJsZVNjcm9sbGluZ3x8bi5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksbi5zZXRBdHRyaWJ1dGUoImFsbG93dHJhbnNwYXJlbmN5IiwidHJ1ZSIpLG4uc2V0QXR0cmlidXRlKCJmcmFtZWJvcmRlciIsIjAiKSxuLnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUiLG4uc3R5bGUuYm94U2l6aW5nPSJib3JkZXItYm94IixuLnN0eWxlLmRpc3BsYXk9ImJsb2NrIixuLnN0eWxlLmhlaWdodD10LG4uc3R5bGUud2lkdGg9IjEwMCUiO2NvbnN0IG89bmV3IFVSTCh0aGlzLl9pZnJhbWVTcmNCYXNlKGUpKTtyZXR1cm4gdGhpcy5fc2V0U2V0dGluZ3NRdWVyeVN0cmluZyhvKSx0aGlzLl9zZXRIYXNoU3RyaW5nKG8sciksbi5zZXRBdHRyaWJ1dGUoInNyYyIsby50b1N0cmluZygpKSxuLnRpdGxlPWksbi5sYW5nPXMsbn1fYWRkQ1NQRXJyb3JMaXN0ZW5lcih0KXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWN1cml0eXBvbGljeXZpb2xhdGlvbiIsKGU9PntlLmJsb2NrZWRVUkkuaW5jbHVkZXModCkmJih0aGlzLl90cnlGaXhDU1BJc3N1ZVdpdGhGYWxsYmFjayh0KSxjb25zb2xlLndhcm4oIlBsZWFzZSB1cGRhdGUgeW91ciBDU1AgcnVsZXMgdG8gYWxsb3cgdGhlIHRyYWRpbmd2aWV3LXdpZGdldC5jb20gb3JpZ2luIGZvciBmcmFtZS1zcmMuIikpfSkpfV90cnlGaXhDU1BJc3N1ZVdpdGhGYWxsYmFjayh0KXtjb25zdCBlPXRoaXMuaWZyYW1lLmdldEF0dHJpYnV0ZSgic3JjIik7aWYoZSl7Y29uc3Qgcj1uZXcgVVJMKGUucmVwbGFjZSh0LCJodHRwczovL3MudHJhZGluZ3ZpZXcuY29tIikpO3RoaXMuaWZyYW1lLnNldEF0dHJpYnV0ZSgic3JjIixyLmhyZWYpfX1fdXBkYXRlQ29weXJpZ2h0SHJlZlBhcmFtcyh0LGUscil7aWYodGhpcy5fY29weXJpZ2h0Q29udGFpbmVyKXtjb25zdCBpPXRoaXMuX2NvcHlyaWdodENvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCJhIik7aWYoaSl7Y29uc3Qgcz1pLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKHMpdHJ5e2NvbnN0IG49bmV3IFVSTChzKTtuLnNlYXJjaFBhcmFtcy5zZXQoInV0bV9zb3VyY2UiLHQpLG4uc2VhcmNoUGFyYW1zLnNldCgidXRtX21lZGl1bSIsZSksbi5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fY2FtcGFpZ24iLHIpLGkuc2V0QXR0cmlidXRlKCJocmVmIixuLnRvU3RyaW5nKCkpfWNhdGNoKHQpe2NvbnNvbGUubG9nKGBDYW5ub3QgdXBkYXRlIGxpbmsgVVRNIHBhcmFtcywgaHJlZj0iJHtzfSJgKX19fX19bmV3IGNsYXNzIGV4dGVuZHMgdXtnZXQgd2lkZ2V0SWQoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7cmV0dXJuIHQmJiJjcnlwdG9fbWt0Ij09PXQuc2NyZWVuZXJfdHlwZT8iY3J5cHRvLW1rdC1zY3JlZW5lciI6InNjcmVlbmVyIn1nZXQgdXNlU25vd3Bsb3dQYWdlVmlldygpe3JldHVybiEwfXdpZGdldFV0bU5hbWUoKXtjb25zdCB0PXRoaXMuc2V0dGluZ3M7aWYodCl7aWYoImZvcmV4Ij09PXQubWFya2V0KXJldHVybiJmb3JleHNjcmVlbmVyIjtpZigiY3J5cHRvX21rdCI9PT10LnNjcmVlbmVyX3R5cGUpcmV0dXJuImNyeXB0b21rdHNjcmVlbmVyIjtpZigiY3J5cHRvIj09PXQubWFya2V0KXJldHVybiJjcnlwdG9zY3JlZW5lciJ9cmV0dXJuInNjcmVlbmVyIn1nZXQgcHJvcGVydGllc1RvV29ya1dpdGgoKXsKcmV0dXJuWyJjb2xvclRoZW1lIiwiY3VzdG9tZXIiLCJkZWZhdWx0Q29sdW1uIiwiZGVmYXVsdFNjcmVlbiIsImRpc3BsYXlDdXJyZW5jeSIsImhlaWdodCIsImxhcmdlQ2hhcnRVcmwiLCJsb2NhbGUiLCJtYXJrZXQiLCJzY3JlZW5lcl90eXBlIiwic2hvd1Rvb2xiYXIiLCJpc1RyYW5zcGFyZW50Iiwid2lkdGgiXX1maWx0ZXJSYXdTZXR0aW5ncyh0KXtjb25zdCBlPXN1cGVyLmZpbHRlclJhd1NldHRpbmdzKHQpO3JldHVybiB2b2lkIDAhPT10LnRyYW5zcGFyZW5jeSYmKGUuaXNUcmFuc3BhcmVudD10LnRyYW5zcGFyZW5jeSksImNyeXB0b19ta3QiPT09ZS5zY3JlZW5lcl90eXBlJiYoZS5tYXJrZXQ9ImNyeXB0byIpLGUuZW5hYmxlU2Nyb2xsaW5nPSEwLGV9fX0pKCl9KSgpOw=="}},"time_used":1063,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1063,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/header.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.290Z","timestamp":1785136427290,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/header.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-length: 16526\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":16526,"size_decoded":16868,"mime_type":"image/png","magic":"PNG image data, 1920 x 158, 8-bit/color RGBA, non-interlaced","md5":"11ab0142cfabf3a62573f08ae508ff43","sha1":"8bff2db7bc0616a3d5f091d7b55709a563109e1f","sha256":"52831ef0e37563da22a6ff5dc652ce716aba737ce19beee1f0f4bcacb2dac3f5","sha512":"fd6a7aedd2014052587625aaefb0bd51f5ee564dcc0571e78ecc64832f595a73ff0e0746f7a9f34c844a9193d7567fbbc35f05e51d3316798fd9f1d0778ab971","ssdeep":"384:MpwJgnRGulGfyMYCPMU/LywcSfHgN3bR8r:MpSCGuxV4p/LywcSMir","tlshash":"7472aff5319315f2dc0068314ac145b67e82cdbb69e117bb848bd6eeaa63dc897c90c0","first_seen":"2025-12-03T04:46:43.765404Z","last_seen":"2026-07-29T06:14:00.437161Z","times_seen":11,"resource_available":false,"data":"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AAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIggAAwAAAAAAAAAAAEAiCAADAAAAAAAAAAAAQCIIAAMAAAAAAAAAAABAIv6/AAMAbvkowZs4ISUAAAAASUVORK5CYII="}},"time_used":181,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":181,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/32196.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.646Z","timestamp":1785136428646,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/32196.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1131\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 12 Jul 2024 09:20:18 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 05:45:46 GMT\r\netag: \"4d5fec04d4a1bc91ff0237e3cd86559f\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 5282\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: baNSV5PTiSnFjmsRepwLMQujc7dUgybWC6swGbTXzUcfLq19JSE0gQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":1131,"size_decoded":1664,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"4d5fec04d4a1bc91ff0237e3cd86559f","sha1":"f348dc97c0843bbe323c1ab1051a70431ab2889b","sha256":"58ee891d33bb2f515cd133e01f8f17636037693798a453484fe8178a5e17f8ce","sha512":"73dbfc6181daf57a1e09c3174cc825fc3067d2076d8b8ba96f3728e1038355fc3ed5bc8b31e0b0ed7a720d24f178e4a3db1bb319c9a961ccdcdf7e4fdc076d2f","ssdeep":"","tlshash":"f921f9c20bb4c834ceacb5a76409f40ec5307c4adc4ce0421d15c989ba05f60aa34dd6","first_seen":"2025-05-17T13:51:35.295628Z","last_seen":"2026-08-11T04:47:30.132142Z","times_seen":1626,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEMklEQVR4Xu2bv2/TQBTHu0FTmnjtBIIBCqR1k4YmRRWFAcYOLAxIVVc6dKhE/wDo2oqJoQhGBrrBwtQNBip1ZS1iJv8AUsi75qLL9872u7Njn0We9JGqxu/H9519ti+XqakcbObe0mKt0+jWOs0ej0aXfDBOqazWbp6gsEr9Vu/SzRux0DHo1+cM43tp1ZVwRy0cxbmixpxth5uYt3C70ll6MBzlu8mj7EplYX7YiMurS1exjkIs69HmIvNiPblZUcKR3BsRrIeBuBZbi1oxRUG1UE1UG9abqVXbjQ/iOl+8rRVRNDP9mqi26krjEOvOxOR9HBP7xuCS6GL9qcyX651LpvNCWUYeyeRMqHYah2UULxFzQn/eQl0sk7M9Bi0bzncHX2d7W+TdAfXFGjn4dJ9Pi3xOQJ2R5tupf+f5097bv79HwGOSYDfAN/H75z808a6NSGxC0A6v+dSAJPGS6xtPNF8TpI3eXFH30HwSv/XpSBMaR7DMm7MizwJaaPCpASiQA8YwIZ4NVpo7qP/itrcwrzkUAQqzAWMhcskN9Vuf/s/eH/Z2v30WMzR+lhYUZQPGMqE1oP+PM24DoiYm7jWYxNrLbS22LRgTIa20aKs2QDvIBCZCDv781HxswZguYEwTI2cBpwFzD+9riUzQ7I2+XDCWK1QrxkaGDQhWw5DTAEwSh+vlgHHSgLER0hy0wpBGn/W+jwmSQP8k0D8tGB8R8wCtF9Af0wnf2NCMjwk4YJwo0C8LMAdC31+Iy2Aco69CszrGyyp2HJjHRC4NUFnb2xZE3UqzBDWYyL0BeYIaTEwaMGnApAGTBuTagMev98RdYPf7F+2zrEENJoYNSHoQevH1o5bABoyngsdmBeZB1AehsTwKc4qQ7J+far5pwRwIaSbtY3kZIg66dq/G6J8GutQwPkKaxcsQ93UYkySB/hwwhisY14Q4/W3WAwhMFAX62YCxXMCYJkYbMNjThwchmMgE+tji+uYpmXvEWwyp4d5DTgMITKiy8eaVdrwLGNcGjGViZPTVBkwz9/hhUmLr2H0pDKHVZozPgTP6lfrFXkPUP0VfFnDPAoKS7f86FeBnWYDiOGAME6Rxtt3cRP3CbBqQBygwDvSNwjj60uSWV3QqEhRqAn2iIG2JW2x9awCBgiX0ToHHxhE7+qr52ASCnvC2jt+x1v0RtngyMVE4ru37CGmxagAZOVQWyr9JijZ6WYsn+++3yZHJzdEYtCxQ7bTZE3VZWY25XuAbVDPVjnqcbBBMS+Irsl7UkcrKciZkOvJocvO0j3cHOds7b47m2vAnMx49J8j7vPNs72K+zAtjud5trKhGFC5cNbnFVswP9fHtNZRr+eJ0by+vYx2FGy00yAKzPCvUmMZdnj5abfVi76EK52e16igrnGD8UlnQatGXLxY/n292yQfjjMP+AfgdCCcpRgjcAAAAAElFTkSuQmCC"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.192Z","timestamp":1785136429192,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 569ca3fa66dd3323c1e58d133f0e83ce\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-08-11T04:47:30.085374Z","times_seen":624,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/15634.9ff500f40c3ec2496a9d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.286Z","timestamp":1785136429286,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/15634.9ff500f40c3ec2496a9d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-7a6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d742cc69d20d52bb87af52187db9b920\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1958,"size_decoded":1433,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1958), with no line terminators","md5":"1fe59f1cabe116d4c360e360391910cf","sha1":"6005a9d280a7661b640624f5309d0059e00f57a4","sha256":"4cac2a96f86db5b5ea7cc505de00925b8dff9a9b88157d33fa0832d728ab2d06","sha512":"4ce34a33edf60063dc9b5a69446b4f0f5b1870f1fa2980b7306e02ea292d73a9f2773611581f28e96d6bbf7d8c35367b6e71c21cc38b5073b921728dc3ced4b9","ssdeep":"","tlshash":"ef41545553f6b277e6b3453c6eaeb6944fb4403fab31168cb990e13847ef5500344d40","first_seen":"2026-07-22T16:00:00.46556Z","last_seen":"2026-08-11T04:47:30.082304Z","times_seen":564,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98509.f8d6ac38558196800d81.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.304Z","timestamp":1785136429304,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98509.f8d6ac38558196800d81.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-181\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 857e38391d3c9c294bb2ab7fee28d192\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":385,"size_decoded":994,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (385), with no line terminators","md5":"4133913207f831470f93a99259fc2199","sha1":"c85ac4b4dbb31362d3a803db2b1855a07a4432fc","sha256":"9a30cb5d3c50528598c10ec6bae54bbf4d41abaf88730d8b4b3bfacde808f6e2","sha512":"de719b99e4d591ec8c62d29bdcc5df5117829386ba6c1f8df9ccabcc679d0c237405c185c4cd9f4a9bce56a877b1bcdbc786c24ee8d22d20384bdf29bb5516ff","ssdeep":"","tlshash":"6ce061a1c294a1ddbb73d3218741f1d47225b5b6a8255e18f6c5319580c6447145843f","first_seen":"2026-06-30T21:57:43.334683Z","last_seen":"2026-07-28T06:17:53.402989Z","times_seen":228,"resource_available":false,"data":"LmJ1dHRvbi1yMHBvUnYwUnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tcjBwb1J2MFI6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4O2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1yMHBvUnYwUjpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1yMHBvUnYwUi5hY3RpdmUtcjBwb1J2MFI6YmVmb3Jle291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63402.d30c1e003b054930d32c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.863Z","timestamp":1785136429863,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/63402.d30c1e003b054930d32c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-b3cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6e409248abf97d292e818a2350d2ad62\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.451Z","timestamp":1785136427451,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /embed-widget/screener/ HTTP/1.1\r\nHost: www.tradingview-widget.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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 07:13:47 GMT\r\ncontent-type: text/html; charset=utf-8\r\nvary: Accept-Encoding\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\ncache-control: max-age=120\r\nexpires: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-security-policy: object-src 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; script-src https://static.tradingview.com/static/ blob: https://*.ampproject.org/ https://*.paypal.com/ https://platform.twitter.com https://platform.x.com https://songbird.cardinalcommerce.com/edge/v1/ https://checkout.razorpay.com/ https://cdn.razorpay.com/static/cx/ https://*.checkout.com/ https://*.revolut.com/ https://*.cardinaltrusted.com https://pay.google.com/gp/p/js/ https://applepay.cdn-apple.com/jsapi/ https://tradingview-gateway.com/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-i7VGa3qZM/EIlB5vdMwowA=='; base-uri 'none'\r\ncross-origin-opener-policy: same-origin-allow-popups\r\nreferrer-policy: origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/27/2026 07:13:47\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 68def45867e3a5cbe9f93551899a1d9a\r\ncdn-cache: EXPIRED\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"PayPal","description":"PayPal is an online payments system that supports online money transfers and serves as an electronic alternative to traditional paper methods like checks and money orders.","website":"https://paypal.com","common_platform_enumeration":"cpe:2.3:a:paypal:paypal:*:*:*:*:*:*:*:*","icon":"PayPal.svg","categories":["Payment processors"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31636,"size_decoded":10504,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17729)","md5":"f5921422746e0b31262d40ca7640b4b8","sha1":"7d31c0ff5520bb92e7a532dc3161f5737ef493e0","sha256":"d1110b2cb14b17b7e0714c1c2dac05f23ac2a3654896c416e71680e945d1794f","sha512":"b47db3abee65a617a020c2cd0092a36c38fbb5eb47865bc141584a8911e85250f31b8e57f0d7fe70a004c548459fed704a2e9c604864d44a4d29283ba76bcd5b","ssdeep":"768:johXOZdcvpMte3ARANvbj+mrNogFbLr23HnMaHEFnzsJ:IeZORMte3ARANvbj+mrNogd23HfmIJ","tlshash":"6de2e667980cd315e8468964bc77f602fd1e132d84a2acd096edc96c11d7ec6e20fbad","first_seen":"2026-07-27T07:14:43.767685Z","last_seen":"2026-07-27T07:16:19.125044Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5TY3JlZW5lciB3aWRnZXQ8L3RpdGxlPgoKCTxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zY2FubmVyLnRyYWRpbmd2aWV3LmNvbSIgY3Jvc3NvcmlnaW4+Cgk8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vczMtc3ltYm9sLWxvZ28udHJhZGluZ3ZpZXcuY29tLyIgY3Jvc3NvcmlnaW4+CgoJPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTUyNy4xNWM1YzI1ZDI3YTU2YTBkZjc3Mi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zOTA3MC41NWNiYzdhMWRhOTYzYjM4MjliMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDY5MDcuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTQyMzIuYWI2NzMxYjY5OGE4YzI4NTRhOTAuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzI4MTYuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTcwODcuYTVlYWViMzBmN2QyNjlmOTdiNDEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDMzMjUuMjU2ZmE1YTUyMTNiOWNiNzBmNWMuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIi8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTc5NC4wYTI3M2JhZmM1ZGU1MGEwZDIxZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTkzMi4yYTcwZDM5N2MzNGYyZTlkZTk0Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xNTYzNC45ZmY1MDBmNDBjM2VjMjQ5NmE5ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTMwNC4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MjA5NS5lNmViNTMwYTEzYjJmZWJkMmNkMy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zODAwMi44NmQyODBmZWVhYmFiNjk4MzYwYi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDAzMS4yNjkxZmMyYzM0NjgyOTNiZmQxNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80Mzc5Mi5lMWJkMDYxMTI0MDRmMDkwMWE2Ni5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83MDM2NC42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM3ODY3LmVjNzMxYWQxMDJkYjY3NjJlNDBjLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYyNjgxLjY4ODNjNGIxN2U2YTg5ZTRiODdmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMxMzk2LmRhZGExN2FiYzRhZGJmMDczMTM5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0iaTdWR2EzcVpNL0VJbEI1dmRNd293QT09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnZW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJpN1ZHYTNxWk0vRUlsQjV2ZE13b3dBPT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKCTxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjQ2MDI0Ljk3MTc2YWE0OGZlOWQ5YTBkMTI3LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjM4Ny40N2FjZTgzYzYxYTg4NDM0MWNkNi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzQ5MjY1LmMyMDhlZjgzNzllMDczZjk0ZDE2LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC83NTA0LjEyODhkMWQyOGIyZjQ3ZjdhYzQzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzYxNjYuNzYzN2JlMWNmMjUxNDUwNGFjNzkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc2NTc3LmY3M2EwMWUxZjAwMDQzNjIyYjY1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvODAyMDcuM2U1ZTdkNjhjODc1YjM2N2NhZDAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEyMTgxLmI2NWE1ODM1NWZmN2NjMzQ5NTBmLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzAyODguNTkyMDdhYTI2MDdlYTE1OTcyODcuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX3NjcmVlbmVyX3YxX3dpZGdldC4zYzZkY2I0ODI0MWIzOGFkMjBjZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+PHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvcnVudGltZS1lbWJlZF9zY3JlZW5lcl92MV93aWRnZXQuOWRiZTFiMjgyMTRkN2ExNDcxYmEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi40NjAyNC45NzE3NmFhNDhmZTlkOWEwZDEyNy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMyMzg3LjQ3YWNlODNjNjFhODg0MzQxY2Q2LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzc1MDQuMTI4OGQxZDI4YjJmNDdmN2FjNDMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85OTgyNy5kMzk3NmRjMGM1Y2ZhMmMyMTQwZS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM2MTY2Ljc2MzdiZTFjZjI1MTQ1MDRhYzc5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNzY1NzcuZjczYTAxZTFmMDAwNDM2MjJiNjUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzgwMjA3LjNlNWU3ZDY4Yzg3NWIzNjdjYWQwLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82MTQ5NS4zN2VlN2QxODJjZjg0Y2FhNzY4MS5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjg4LjU5MjA3YWEyNjA3ZWExNTk3Mjg3LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfc2NyZWVuZXJfdjFfd2lkZ2V0LjNjNmRjYjQ4MjQxYjM4YWQyMGNkLmpzIiBkZWZlcj48L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJpN1ZHYTNxWk0vRUlsQjV2ZE13b3dBPT0iPndpbmRvdy5mZWF0dXJlVG9nZ2xlU3RhdGUgPSB7InNob3dfZmVhdHVyZWRfaXBvIjoxLjAsImJsYWNrX2ZyaWRheV9wb3B1cCI6MS4wLCJibGFja19mcmlkYXlfbWFpbnBhZ2UiOjEuMCwiYmxhY2tfZnJpZGF5X2V4dGVuZF9saW1pdGF0aW9uIjoxLjAsImVuYWJsZV90cmFkaW5nX3JlcGxheV9mb3JfcG9pbnRfaW5kZXhlcyI6MS4wLCJpbmNyZWFzZV9tZXRhaW5mb192ZXJzaW9uIjowLjM1LCJjaGFydF9hdXRvc2F2ZV81bWluIjoxLjAsImNoYXJ0X2F1dG9zYXZlXzMwbWluIjoxLjAsInBlcmZvcm1hbmNlX3Rlc3RfbW9kZSI6MS4wLCJjaGVja19hdXRoX3Rva2VuX2V4cGlyYXRpb25fb25fZXZlcnlfcmVxdWVzdCI6MS4wLCJjaGFydF9zdG9yYWdlX2hpYmVybmF0aW9uX2RlbGF5XzYwbWluIjoxLjAsInN1cHBvcnRfcGVyc2lzdGVudF9sb2dzIjoxLjAsIm5ld19zdG9yYWdlX3N1YnNjcmlwdGlvbl91cmwiOjEuMCwicmVtb3ZlX2FuY2hvcmVkX3RleHQiOjEuMCwiZW5hYmxlX3N0ZXBfYnlfc3RlcF9oaW50c19mb3JfZHJhd2luZ3MiOjEuMCwicHVzaHN0cmVhbV9iYXNpY190ZWxlbWV0cnkiOjEuMCwiYWxsb3dfYnJhY2tldHNfcHJvZml0X2xvc3MiOjEuMCwiZW5hYmxlX3RyYWRlZF9jb250ZXh0X2xpbmtpbmciOjEuMCwib3JkZXJfY29udGV4dF92YWxpZGF0aW9uX2luX2luc3RhbnRfbW9kZSI6MS4wLCJhbGVydHMtb24tZnVuZGFtZW50YWwtbWV0cmljcyI6MS4wLCJhbGVydHMtbm90aWZpY2F0aW9uLXNjaGVkdWxlIjoxLjAsImFsZXJ0cy13YXRjaGxpc3QtZXh0ZW5kZWQtaG91cnMiOjEuMCwiZW5hYmxlX3N5bWJvbF9jaGFuZ2VfcmVzdHJpY3Rpb25fb25fd2lkZ2V0cyI6MS4wLCJlbmFibGVfYXN4X3N5bWJvbF9yZXN0cmljdGlvbiI6MS4wLCJzeW1waG9ueV9hbGxvd19ub25fcGFydGl0aW9uZWRfY29va2llX29uX29sZF9zeW1waG9ueSI6MS4wLCJzeW1waG9ueV9ub3RpZmljYXRpb25fYmFkZ2VzIjoxLjAsInN5bXBob255X3VzZV9hZGtfZm9yX3VwZ3JhZGVfcmVxdWVzdCI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF90cmFja2luZyI6MS4wLCJzeW1waG9ueV9lbmFibGVfdGltZW91dF9zb2Z0X2xpbWl0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X2hhcmRfbGltaXQiOjEuMCwidGVsZWdyYW1fbWluaV9hcHBfcmVkdWNlX3NuYXBzaG90X3F1YWxpdHkiOjEuMCwibmV3c19zeW1ib2xfb3ZlcnZpZXdfa2V5X2ZhY3RzIjoxLjAsInRpbWVvdXRfZGphbmdvX2RiIjowLjE1LCJ0aW1lb3V0X2RqYW5nb191c2Vyc2V0dGluZ3NfZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX2NoYXJ0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fc3ltYm9sc19saXN0c19kYiI6MC4yNSwidGltZW91dF9kamFuZ29fbWluZHNfZGIiOjAuMDUsInRpbWVvdXRfZGphbmdvX2xvZ2dpbmdfZGIiOjAuMjUsImRpc2FibGVfc2VydmljZXNfbW9uaXRvcl9tZXRyaWNzIjoxLjAsImVuYWJsZV9zaWduaW5fcmVjYXB0Y2hhIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImVuYWJsZV9pZGVhX3NwYW1kZXRlY3Rvcm1sX2NvbW1lbnRzIjoxLjAsImVuYWJsZV9zcGFtZGV0ZWN0b3JtbF9jaGF0IjoxLjAsImVuYWJsZV9taW5kc19zcGFtZGV0ZWN0b3JtbCI6MS4wLCJiYWNrZW5kLWNvbm5lY3Rpb25zLWluLXRva2VuIjoxLjAsIm9uZV9jb25uZWN0aW9uX3dpdGhfZXhjaGFuZ2VzIjoxLjAsIm1vYmlsZS1hZHMtaW9zIjoxLjAsIm1vYmlsZS1hZHMtYW5kcm9pZCI6MS4wLCJnb29nbGUtb25lLXRhcC1zaWduaW4iOjEuMCwiYnJhaW50cmVlLWdvcHJvLWluLW9yZGVyLWRpYWxvZyI6MS4wLCJicmFpbnRyZWUtYXBwbGUtcGF5IjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5IjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktZnJvbS1pb3MtYXBwIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXktdHJpYWwiOjEuMCwidHJpcGxlYS1wYXltZW50cyI6MS4wLCJicmFpbnRyZWUtZ29vZ2xlLXBheS10cmlhbCI6MS4wLCJicmFpbnRyZWUtb25lLXVzZC12ZXJpZmljYXRpb24iOjEuMCwiYnJhaW50cmVlLTNkcy1lbmFibGVkIjoxLjAsImJyYWludHJlZS0zZHMtc3RhdHVzLWNoZWNrIjoxLjAsImJyYWludHJlZS1hZGRpdGlvbmFsLWNhcmQtY2hlY2tzLWZvci10cmlhbCI6MS4wLCJicmFpbnRyZWUtaW5zdGFudC1zZXR0bGVtZW50IjoxLjAsImJyYWludHJlZV9yZWN1cnJpbmdfYmlsbGluZ19zY2hlZHVsZXJfc3Vic2NyaXB0aW9uIjoxLjAsImNoZWNrb3V0X21hbnVhbF9jYXB0dXJlX3JlcXVpcmVkIjoxLjAsImNoZWNrb3V0LXN1YnNjcmlwdGlvbnMiOjEuMCwiY2hlY2tvdXRfYWRkaXRpb25hbF9jYXJkX2NoZWNrc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9wcmVwYWlkX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fZHVwbGljYXRlX3BheW1lbnRfbWV0aG9kc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9jb3VudHJpZXNfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl9wcmVtaXVtX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jbG9zZV90b19leHBpcmF0aW9uX2NhcmRfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fY29tbWVyY2lhbF9jYXJkX3RyaWFsIjoxLjAsImVuYWJsZV9wYXltZW50c18zZHNfb3B0aW1pemF0aW9uIjoxLjAsImNvdW50cnlfb2ZfaXNzdWFuY2VfdnNfYmlsbGluZ19jb3VudHJ5IjoxLjAsImNoZWNrb3V0X3Nob3dfaW5zdGVhZF9vZl9icmFpbnRyZWUiOjEuMCwiY2hlY2tvdXQtM2RzIjoxLjAsImNoZWNrb3V0LXBheXBhbCI6MS4wLCJjaGVja291dF9pbmNsdWRlX2FjY291bnRfaG9sZGVyIjoxLjAsImNoZWNrb3V0LXBheXBhbC10cmlhbCI6MS4wLCJhbm51YWxfdG9fbW9udGhseV9kb3duZ3JhZGVfYXR0ZW1wdCI6MS4wLCJyYXpvcnBheV90cmlhbF8xMF9pbnIiOjEuMCwicmF6b3JwYXktY2FyZC1vcmRlci10b2tlbi1zZWN0aW9uIjoxLjAsInJhem9ycGF5LWNhcmQtc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS11cGktc3Vic2NyaXB0aW9ucyI6MS4wLCJyYXpvcnBheS1zMy1pbnZvaWNlLXVwbG9hZCI6MS4wLCJyYXpvcnBheV9pbmNsdWRlX2RhdGVfb2ZfYmlydGgiOjEuMCwiZGxvY2FsLXBheW1lbnRzIjoxLjAsInJldm9sdXQtcGF5LXBheW1lbnRzIjoxLjAsInJldm9sdXQtY2FyZC1wYXltZW50cyI6MC41LCJkbG9jYWwtcGl4LWF1dG9tYXRpY28iOjEuMCwiYnJhaW50cmVlX3RyYW5zYWN0aW9uX3NvdXJjZSI6MS4wLCJ2ZXJ0ZXgtdGF4IjoxLjAsInZlcnRleC10YXgtZml4IjoxLjAsInJlY2VpcHRfaW5fZW1haWxzIjoxLjAsImFkd29yZHMtYW5hbHl0aWNzIjoxLjAsImNtMzYwLWFuYWx5dGljcyI6MS4wLCJkaXNhYmxlX21vYmlsZV91cHNlbGxfaW9zIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9hbmRyb2lkIjoxLjAsInJlcXVpcmVkX2FncmVlbWVudF9mb3JfcnQiOjEuMCwiY2hlY2tfbWFya2V0X2RhdGFfbGltaXRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2RhdGEiOjEuMCwiZm9yY2VfdG9fdXBncmFkZV90b19leHBlcnQiOjEuMCwic2VuZF90cmFkZXZhbl9pbnZvaWNlIjoxLjAsInNob3dfcGVwZV9hbmltYXRpb24iOjEuMCwic2VuZF9uZXh0X3BheW1lbnRfaW5mb19yZWNlaXB0IjoxLjAsInN1cHBvcnRfb3Zlcm5pZ2h0X3Nlc3Npb24iOjEuMCwic2NyZWVuZXItYWxlcnRzLXJlYWQtb25seSI6MS4wLCJzY3JlZW5lcl9ib25kX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9zdG9ja19haV9maWx0ZXJzX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfaXNfYWxsb3dlZF90b19jcmVhdGVfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JhdGluZ19jb2x1bW5zX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3NvcnRpbmdfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfZ3JvdXBfYnlfaXNpbl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9zeW1ib2xfc2VhcmNoX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3JlZ2lzdHJhdGlvbl9iYW5uZXJfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNlc190cmFja2luZyI6MS4wLCJzZW5kX2ZpbmFuY2lhbF9ub3RpZmljYXRpb25zIjoxLjAsInNwYXJrX3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya19jYXRlZ29yeV90cmFuc2xhdGlvbnMiOjEuMCwic3BhcmtfdGFnc190cmFuc2xhdGlvbnMiOjEuMCwicHJvX3BsYW5faW5pdGlhbF9yZWZ1bmRzX2Rpc2FibGVkIjoxLjAsInByZXZpb3VzX21vbm9wcm9kdWN0X3B1cmNoYXNlc19yZWZ1bmRzX2VuYWJsZWQiOjEuMCwiZW5hYmxlX2lkZWFzX3JlY29tbWVuZGF0aW9ucyI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zX2ZlZWQiOjEuMCwiZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJldGhvY2FfYWxlcnRfbm90aWZpY2F0aW9uX3dlYmhvb2siOjEuMCwiaGlkZV9zdXNwaWNpb3VzX3VzZXJzX2lkZWFzIjoxLjAsImRpc2FibGVfcHVibGlzaF9zdHJhdGVneV9yYW5nZV9iYXNlZF9jaGFydCI6MS4wLCJyZXN0cmljdF9zaW11bHRhbmVvdXNfcmVxdWVzdHMiOjEuMCwibG9naW5fZnJvbV9uZXdfZGV2aWNlX2VtYWlsIjoxLjAsInNzcl93b3JrZXJfbm93YWl0IjoxLjAsImJyb2tlcl9BMUNBUElUQUwiOjEuMCwiYnJva2VyX0FDVElWVFJBREVTIjoxLjAsImJyb2tlcl9BTENIRU1ZTUFSS0VUUyI6MS4wLCJicm9rZXJfQUxJQ0VCTFVFIjoxLjAsImhpZGVfQUxPUl9vbl9pb3MiOjEuMCwiaGlkZV9BTE9SX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9BTE9SX29uX21vYmlsZV93ZWIiOjEuMCwiYWxvci1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0FMUEFDQSI6MS4wLCJicm9rZXJfQUxSQU1aIjoxLjAsImJyb2tlcl9BTVAiOjEuMCwiYnJva2VyX0FOR0VMT05FIjoxLjAsImJyb2tlcl9BVkFfRlVUVVJFUyI6MS4wLCJBVkFfRlVUVVJFU19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9CMlBSSU1FIjoxLjAsImJyb2tlcl9CQUpBSiI6MS4wLCJicm9rZXJfQkVZT05EIjoxLjAsImJyb2tlcl9CSU5BTkNFIjoxLjAsImVuYWJsZV9iaW5hbmNlYXBpc19iYXNlX3VybCI6MS4wLCJicm9rZXJfQklOR0JPTiI6MS4wLCJicm9rZXJfQklUQVpaQSI6MS4wLCJicm9rZXJfQklUR0VUIjoxLjAsImJyb2tlcl9CSVRNRVgiOjEuMCwiYnJva2VyX0JJVFNUQU1QIjoxLjAsImJyb2tlcl9CTEFDS0JVTEwiOjEuMCwiYnJva2VyX0JMVUVCRVJSWU1BUktFVFMiOjEuMCwiYnJva2VyX0JUQ0MiOjEuMCwiYnJva2VyX0JZQklUIjoxLjAsImJyb2tlcl9DQVBJVEFMQ09NIjoxLjAsImJyb2tlcl9DQVBUUkFERVIiOjEuMCwiQ0FQVFJBREVSX3NlcGFyYXRlX2ludGVncmF0aW9uX21pZ3JhdGlvbl93YXJuaW5nIjoxLjAsImJyb2tlcl9DRkkiOjEuMCwiYnJva2VyX0NHU0kiOjEuMCwiYnJva2VyX0NJVFlJTkRFWCI6MS4wLCJjaXR5aW5kZXhfc3ByZWFkYmV0dGluZyI6MS4wLCJDTEVBUlNUUkVFVF9iZXRhIjoxLjAsImJyb2tlcl9DTUNNQVJLRVRTIjoxLjAsImJyb2tlcl9DT0JSQVRSQURJTkciOjEuMCwiYnJva2VyX0NPSU5CQVNFIjoxLjAsImNvaW5iYXNlX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJjb2luYmFzZV9jYW5jZWxfcG9zaXRpb25fYnJhY2tldHMiOjEuMCwiYnJva2VyX0NPSU5KQVIiOjEuMCwiQ09JTkpBUl9iZXRhIjoxLjAsImJyb2tlcl9DT0lOU1dJVENIIjoxLjAsImJyb2tlcl9DT0lOVyI6MS4wLCJicm9rZXJfQ09MTUVYIjoxLjAsImhpZGVfQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiY3FnLXJlYWx0aW1lLWJhbmR3aWR0aC1saW1pdCI6MS4wLCJicm9rZXJfQ1JZUFRPQ09NIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25faW9zIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fYW5kcm9pZCI6MS4wLCJoaWRlX0NVUlJFTkNZQ09NX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0NYTSI6MS4wLCJicm9rZXJfREFPTCI6MS4wLCJicm9rZXJfREFSV0lORVgiOjEuMCwiREFSV0lORVhfYmV0YSI6MS4wLCJicm9rZXJfREVMVEEiOjEuMCwiYnJva2VyX0RFUkFZQUgiOjEuMCwiYnJva2VyX0RFUklWIjoxLjAsImJyb2tlcl9ESEFOIjoxLjAsImJyb2tlcl9ETlNFIjoxLjAsImJyb2tlcl9ET1JNQU4iOjEuMCwiaGlkZV9EVU1NWV9vbl9pb3MiOjEuMCwiaGlkZV9EVU1NWV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRFVNTVlfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRUFTWU1BUktFVFMiOjEuMCwiYnJva2VyX0VDT1ZBTE9SRVMiOjEuMCwiYnJva2VyX0VER0VDTEVBUiI6MS4wLCJlZGdlY2xlYXJfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfRUlHSFRDQVAiOjEuMCwiYnJva2VyX0VSUkFOVEUiOjEuMCwiYnJva2VyX0VTQUZYIjoxLjAsIkZJREVMSVRZX2JldGEiOjEuMCwiRklERUxJVFlfdXNfcmVsZWFzZSI6MC4yNSwiZmlkZWxpdHlfc2VjdXJpdHlfdG9rZW4iOjEuMCwiYnJva2VyX0ZPUkVYQ09NIjoxLjAsImZvcmV4Y29tX3Nlc3Npb25fdjIiOjEuMCwiYnJva2VyX0ZQTUFSS0VUUyI6MS4wLCJoaWRlX0ZUWF9vbl9pb3MiOjEuMCwiaGlkZV9GVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0ZUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImZ0eF9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZVU0lPTk1BUktFVFMiOjEuMCwiZnhjbV9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9GWENNIjoxLjAsImhpZGVfRlhPUEVOX29uX2lvcyI6MS4wLCJoaWRlX0ZYT1BFTl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlhPUEVOX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0ZYUFJPIjoxLjAsImJyb2tlcl9GWFRGIjoxLjAsImJyb2tlcl9GWUVSUyI6MS4wLCJicm9rZXJfR0FURSI6MS4wLCJicm9rZXJfR0JFQlJPS0VSUyI6MS4wLCJnZW1pbmktYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HRU5JQUxJTlZFU1RJTUVOVE9TIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25faW9zIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0dMT0JBTFBSSU1FX29uX21vYmlsZV93ZWIiOjEuMCwiZ2xvYmFscHJpbWUtYnJva2Vycy1zaWRlLW1haW50ZW5hbmNlIjoxLjAsImJyb2tlcl9HT01BUktFVFMiOjEuMCwiYnJva2VyX0dPVFJBREUiOjEuMCwiZ290cmFkZV9lbmFibGVfc3RyZWFtaW5nX2VuZHBvaW50cyI6MS4wLCJicm9rZXJfSEVSRU5ZQSI6MS4wLCJoaWRlX0hUWF9vbl9pb3MiOjEuMCwiaGlkZV9IVFhfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0hUWF9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9JQktSIjoxLjAsImNoZWNrX2lia3Jfc2lkZV9tYWludGVuYW5jZSI6MS4wLCJpYmtyX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3BhcmFsbGVsX3Byb3ZpZGVyX2luaXRpYWxpemF0aW9uIjoxLjAsImlia3Jfd3NfYWNjb3VudF9zdW1tYXJ5IjoxLjAsImlia3Jfd3Nfc2VydmVyX2xvZ2dlciI6MS4wLCJpYmtyX3N1YnNjcmliZV90b19vcmRlcl91cGRhdGVzX2ZpcnN0IjoxLjAsImlia3Jfd3NfYWNjb3VudF9sZWRnZXIiOjEuMCwiYnJva2VyX0lCUk9LRVIiOjEuMCwiYnJva2VyX0lDTUFSS0VUUyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0FTSUMiOjEuMCwiYnJva2VyX0lDTUFSS0VUU19FVSI6MS4wLCJicm9rZXJfSUciOjEuMCwiYnJva2VyX0lORFNUT0NLUyI6MS4wLCJicm9rZXJfSU5GT1lBVElSSU0iOjEuMCwiYnJva2VyX0lOTk9WRVNUWCI6MS4wLCJicm9rZXJfSU5URVJBQ1RJVkVJTCI6MS4wLCJicm9rZXJfSU5WRVNUUkFERSI6MS4wLCJJTlZFU1RSQURFX2JldGEiOjEuMCwiYnJva2VyX0lST05CRUFNIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2lvcyI6MS4wLCJoaWRlX0lST05CRUFNX0NRR19vbl9hbmRyb2lkIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tJV09PTSI6MS4wLCJraXdvb21fdXNlX3NlcGFyYXRlX3N0cmVhbWluZ191cmwiOjEuMCwiYnJva2VyX0tPVEFLIjoxLjAsImhpZGVfS09UQUtfb25faW9zIjoxLjAsImhpZGVfS09UQUtfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0tPVEFLX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0tSQUtFTiI6MS4wLCJoaWRlX0tSQUtFTl9vbl9pb3MiOjEuMCwiaGlkZV9LUkFLRU5fb25fYW5kcm9pZCI6MS4wLCJLUkFLRU5fYmV0YSI6MS4wLCJrcmFrZW5fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImJyb2tlcl9LU0VDVVJJVElFUyI6MS4wLCJicm9rZXJfTElCRVJBVE9SIjoxLjAsImJyb2tlcl9NRVhDIjoxLjAsImJyb2tlcl9NRVhFTSI6MS4wLCJicm9rZXJfTUlEQVMiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fYW5kcm9pZCI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfSU1QTElDSVRfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2lvcyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfQ09ERV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX01PT01PTyI6MS4wLCJicm9rZXJfTU9USUxBTE9TV0FMIjoxLjAsImJyb2tlcl9OSU5KQVRSQURFUiI6MS4wLCJicm9rZXJfT0FOREEiOjEuMCwib2FuZGFfc2VydmVyX2xvZ2dpbmciOjEuMCwib2FuZGFfb2F1dGhfbXVsdGlwbGV4aW5nIjoxLjAsImJyb2tlcl9PS1giOjEuMCwiYnJva2VyX09QT0ZJTkFOQ0UiOjEuMCwiYnJva2VyX09QVElNVVMiOjEuMCwiYnJva2VyX09TTUFOTEkiOjEuMCwiYnJva2VyX09TTUFOTElGWCI6MS4wLCJwYXBlcl9mb3JjZV9jb25uZWN0X3B1c2hzdHJlYW0iOjEuMCwicGFwZXJfc3ViYWNjb3VudF9jdXN0b21fY3VycmVuY3kiOjEuMCwicGFwZXJfb3V0c2lkZV9ydGgiOjEuMCwiYnJva2VyX1BBWVRNIjoxLjAsImJyb2tlcl9QRVBQRVJTVE9ORSI6MS4wLCJicm9rZXJfUEhFTUVYIjoxLjAsImJyb2tlcl9QSElMTElQQ0FQSVRBTF9UUiI6MS4wLCJicm9rZXJfUEhJTExJUE5PVkEiOjEuMCwiYnJva2VyX1BMVVM1MDAiOjEuMCwicGx1czUwMF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIlBMVVM1MDBVU19iZXRhIjoxLjAsImJyb2tlcl9QVVJQTEVUUkFESU5HIjoxLjAsImJyb2tlcl9RVUVTVFJBREUiOjEuMCwiYnJva2VyX1JBVkFCVVJTQVRJTCI6MS4wLCJSQVZBQlVSU0FUSUxfYmV0YSI6MS4wLCJicm9rZXJfUklZQURDQVBJVEFMIjoxLjAsImJyb2tlcl9ST0JPTUFSS0VUUyI6MS4wLCJicm9rZXJfUkVQTEFZQlJPS0VSIjoxLjAsImJyb2tlcl9TQU1VRUwiOjEuMCwiYnJva2VyX1NBWE9CQU5LIjoxLjAsImJyb2tlcl9TSEFSRU1BUktFVCI6MS4wLCJicm9rZXJfU0tJTExJTkciOjEuMCwiYnJva2VyX1NQUkVBREVYIjoxLjAsImJyb2tlcl9TV0lTU1FVT1RFIjoxLjAsImJyb2tlcl9TVE9ORVgiOjEuMCwiYnJva2VyX1RBU1RZRlgiOjEuMCwiYnJva2VyX1RBU1RZVFJBREUiOjEuMCwiYnJva2VyX1RISU5LTUFSS0VUUyI6MS4wLCJ0aGlua21hcmtldHNfYWNjb3VudF9kYXRhX3N0cmVhbWluZyI6MS4wLCJicm9rZXJfVElDS01JTEwiOjEuMCwiaGlkZV9USUdFUl9vbl9pb3MiOjEuMCwiaGlkZV9USUdFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVElHRVJfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfVFJBREVOQVRJT04iOjEuMCwiYnJva2VyX1RSQURFU1RBVElPTiI6MS4wLCJ0cmFkZXN0YXRpb25fcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInRyYWRlc3RhdGlvbl9hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsInRyYWRlc3RhdGlvbl9zdHJlYW1pbmdfc2VydmVyX2xvZ2dpbmciOjEuMCwiYnJva2VyX1RSQURFWkVSTyI6MS4wLCJicm9rZXJfVFJBRElFUiI6MS4wLCJicm9rZXJfVFJBRElFUl9GVVRVUkVTIjoxLjAsInRyYWRpZXJfZnV0dXJlc19vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9UUkFET1ZBVEUiOjEuMCwiaGlkZV9UUkFEVV9vbl9pb3MiOjEuMCwiaGlkZV9UUkFEVV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfVFJBRFVfb25fbW9iaWxlX3dlYiI6MS4wLCJ0cmFkdV9zcHJlYWRfYmV0IjoxLjAsImJyb2tlcl9UUklWRSI6MS4wLCJicm9rZXJfVkFOVEFHRSI6MS4wLCJicm9rZXJfVkVMT0NJVFkiOjEuMCwiYnJva2VyX1dFQlVMTCI6MS4wLCJicm9rZXJfV0VCVUxMSkFQQU4iOjEuMCwiYnJva2VyX1dFQlVMTFBBWSI6MS4wLCJicm9rZXJfV0VCVUxMVUsiOjEuMCwiYnJva2VyX1dISVRFQklUIjoxLjAsImJyb2tlcl9XSFNFTEZJTlZFU1QiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVF9GVVRVUkVTIjoxLjAsIldIU0VMRklOVkVTVF9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1hDVUJFIjoxLjAsImJyb2tlcl9ZTEciOjEuMCwiYnJva2VyX2lkX3Nlc3Npb24iOjEuMCwiZGlzYWxsb3dfY29uY3VycmVudF9zZXNzaW9ucyI6MS4wLCJ1c2VfY29kZV9mbG93X3YyX3Byb3ZpZGVyIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXJfZm9yX3VudGVzdGVkX2Jyb2tlcnMiOjEuMCwibW9iaWxlX3RyYWRpbmdfd2ViIjoxLjAsIm1vYmlsZV90cmFkaW5nX2lvcyI6MS4wLCJtb2JpbGVfdHJhZGluZ19hbmRyb2lkIjoxLjAsImNvbnRpbnVvdXNfZnJvbnRfY29udHJhY3RfdHJhZGluZyI6MS4wLCJ0cmFkaW5nX3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJvYXV0aDJfY29kZV9mbG93X3Byb3ZpZGVyX3NlcnZlcl9sb2dnZXIiOjEuMCwicmVzdF9vYXV0aDJfY29kZV9mbG93X211bHRpcGxleGluZyI6MS4wLCJyZXN0X2xvZ291dF9vbl80MjkiOjEuMCwicmV2aWV3X3BvcHVwX29uX2NoYXJ0IjoxLjAsInNob3dfY29uY3VycmVudF9jb25uZWN0aW9uX3dhcm5pbmciOjEuMCwiZW5hYmxlX3RyYWRpbmdfc2VydmVyX2xvZ2dlciI6MS4wLCJvcmRlcl9wcmVzZXRzIjoxLjAsIm9yZGVyX3RpY2tldF9yZXNpemFibGVfZHJhd2VyX29uIjoxLjAsInJlc3RfdXNlX2FzeW5jX21hcHBlciI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9iYW5uZXJfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2ciOjEuMCwicGFwZXJfY29tcGV0aXRpb25fc3RhcnRlZF9kaWFsb2dfc2hvd19wcm8iOjEuMCwicGFwZXJfY29tcGV0aXRpb25fbGVhZGVyYm9hcmQiOjEuMCwicGFwZXJfY29tcGV0aXRpb25fcHJldmlvdXNfY29tcGV0aXRpb25zIjoxLjAsImFtcF9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJsdWVsaW5lX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiZG9ybWFuX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiaXJvbmJlYW1fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJvcHRpbXVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwic3RvbmV4X29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwieWxnX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwidHJhZGluZ19nZW5lcmFsX2V2ZW50c19nYV90cmFja2luZyI6MS4wLCJyZXBsYXlfcmVzdWx0X3NoYXJpbmciOjEuMCwicmVwbGF5X3RyYWRpbmdfYnJhY2tldHMiOjEuMCwiaGlkZV9hbGxfYnJva2Vyc19idXR0b25faW5faW9zX2FwcCI6MS4wLCJmb3JjZV9tYXhfYWxsb3dlZF9wdWxsaW5nX2ludGVydmFscyI6MS4wLCJwYXBlcl9kZWxheV90cmFkaW5nIjoxLjAsImVuYWJsZV9maXJzdF90b3VjaF9pc19zZWxlY3Rpb24iOjEuMCwiY2xlYXJfcHJvamVjdF9vcmRlcl9vbl9vcmRlcl90aWNrZXRfY2xvc2UiOjEuMCwiZW5hYmxlX25ld19iZWhhdmlvcl9vZl9jb25maXJtX2J1dHRvbnNfb25fbW9iaWxlIjoxLjAsInJlbmV3X3Rva2VuX3ByZWVtcHRpb25fMzAiOjEuMCwiZG9fbm90X29wZW5fb3RfZnJvbV9wbHVzX2J1dHRvbiI6MS4wLCJicm9rZXJfc2lkZV9wcm9tb3Rpb24iOjEuMCwiZW5hYmxlX25ld190cmFkaW5nX21lbnVfc3RydWN0dXJlIjoxLjAsInF1aWNrX3RyYWRpbmdfcGFuZWwiOjEuMCwicGFwZXJfb3JkZXJfY29uZmlybWF0aW9uX2RpYWxvZyI6MS4wLCJwYXBlcl9tdWx0aXBsZV9sZXZlbHNfZW5hYmxlZCI6MS4wLCJwYXBlcl9tYXJnaW5fY29udHJvbCI6MS4wLCJlbmFibGVfc2VnbWVudGF0aW9uX3BhcGVyX3RyYWRpbmciOjEuMCwiZW5hYmxlX2NoYXJ0X2FkYXB0aXZlX3Rwc2xfYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwiZW5hYmxlX21hcmtldF9wcm9qZWN0X29yZGVyIjoxLjAsImVuYWJsZV9zeW1ib2xzX3BvcHVsYXJpdHlfc2hvd2luZyI6MS4wLCJlbmFibGVfdHJhbnNsYXRpb25zX3MzX3VwbG9hZCI6MS4wLCJldGZfZnVuZF9mbG93c19vbmx5X2RheXNfcmVzb2x1dGlvbnMiOjEuMCwiZGlzYWJsZV9zbm93cGxvd19wbGF0Zm9ybV9ldmVudHMiOjEuMCwibm90aWZ5X2lkZWFfbW9kc19hYm91dF9maXJzdF9wdWJsaWNhdGlvbiI6MS4wLCJlbmFibGVfd2FmX3RyYWNraW5nIjoxLjAsIm5ld19lcnJvcnNfZmxvdyI6MS4wLCJxdW90ZS10b2tlbi1maWx0ZXItb3duLXNjcmlwdHMtYnktYWNjZXNzIjoxLjAsImtlZXBfaW5kaWNhdG9yc19zZWFyY2hfc3RhdGUiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3RhYl9zY3JvbGxfc3RhdGUiOjEuMCwiY29uZmlndXJhYmxlX3NlYXJjaF9hbmRfZmlsdHJhdGlvbiI6MS4wLCJwaW5lX2VkaXRvcl93cmFwX29uX2xpbmVfc3BsaXQiOjEuMCwic3ltYm9sX3NlYXJjaF9jb3VudHJ5X3NvdXJjZXMiOjEuMCwid2F0Y2hsaXN0c19kaWFsb2dfc2Nyb2xsX3RvX2FjdGl2ZSI6MS4wLCJib3R0b21fcGFuZWxfdHJhY2tfZXZlbnRzIjoxLjAsInNub3dwbG93X2JlYWNvbl9mZWF0dXJlIjoxLjAsInNob3dfZGF0YV9wcm9ibGVtc19pbl9oZWxwX2NlbnRlciI6MS4wLCJlbmFibGVfYXBwbGVfZGV2aWNlX2NoZWNrIjoxLjAsImVuYWJsZV9hcHBsZV9pbnRyb19vZmZlcl9zaWduYXR1cmUiOjEuMCwiZW5hYmxlX2FwcGxlX3Byb21vX29mZmVyX3NpZ25hdHVyZV92MiI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fc2lnbmF0dXJlIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfYW5kcm9pZCI6MS4wLCJlbmFibGVfcHVzaF9ub3RpZmljYXRpb25zX2lvcyI6MS4wLCJlbmFibGVfbWFudGljb3JlX2NsdXN0ZXIiOjEuMCwiZW5hYmxlX3B1c2hzdHJlYW1fYXV0aCI6MS4wLCJlbmFibGVfZW52b3lfcHJveHkiOjEuMCwiZW5hYmxlX2Vudm95X3Byb3h5X3BhcGVydHJhZGluZyI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfc2NyZWVuZXIiOjEuMCwib3B0aW9uc19yZWR1Y2VfcG9sbGluZ19pbnRlcnZhbCI6MS4wLCJvcHRpb25zX2J1aWxkZXJfZ3JvdXBfYWN0aW9ucyI6MS4wLCJvcHRpb25zX2NoYWluX3NpZ21hX2ZpbHRlciI6MS4wLCJvcHRpb25zX2Jyb2tlcl9zdHJhdGVnaWVzIjoxLjAsInNob3dfdG9hc3RfYWJvdXRfdW5yZWFkX21lc3NhZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcGF5b3V0IjoxLjAsImVuYWJsZV9lbWFpbF9jaGFuZ2VfbG9nZ2luZyI6MS4wLCJlbmFibGVfZW1haWxfb25fcGFydG5lcl9zdGF0dXNfY2hhbmdlIjoxLjAsImVuYWJsZV9wYXJ0bmVyX3Byb2dyYW1fYXBwbHkiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbSI6MS4wLCJjb21wcmVzc19jYWNoZV9kYXRhIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZyI6MS4wLCJuZXdzX3NjcmVlbmVyX3BhZ2VfY2xpZW50IjoxLjAsImVuYWJsZV9kZWNsYXJhdGlvbl9wb3B1cF9vbl9sb2FkIjoxLjAsInNob3dfZGF0YV9ib25kc19mcmVlX3VzZXJzIjoxLjAsImVuYWJsZV9tb2Rlcm5fcmVuZGVyX21vZGUiOjEuMCwiZW5hYmxlX3Byb2ZfcG9wdXBfZnJlZSI6MS4wLCJpb3NfYXBwX25ld3NfYW5kX21pbmRzIjoxLjAsImRvX25vdF9kaXNjbG9zZV9waG9uZV9vY2N1cGFuY3kiOjEuMCwiZW5hYmxlX3JlZGlyZWN0X3RvX3dpZGdldF9kb2N1bWVudGF0aW9uX29mX2FueV9sb2NhbGl6YXRpb24iOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nX2hpYmVybmF0aW9uIjoxLjAsIm5ld3Nfc3RyZWFtaW5nX2hpYmVybmF0aW9uX2RlbGF5XzEwbWluIjoxLjAsInBhc3NfcmVjb3Zlcnlfc2VhcmNoX2hpZGVfaW5mbyI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfb25fc2NyZWVuZXIiOjEuMCwiZW5hYmxlX2ZvcmNlZF9lbWFpbF9jb25maXJtYXRpb24iOjEuMCwic2hvd19naWZ0X2J1dHRvbiI6MS4wLCJhZGRyZXNzX3ZhbGlkYXRpb25fZW5hYmxlZCI6MS4wLCJkaXNhYmxlX3VudmVyaWZpZWRfYWRkcmVzcyI6MS4wLCJnZW5lcmF0ZV9pbnZvaWNlX251bWJlcl9ieV9jb3VudHJ5IjoxLjAsInNob3dfZmF2b3JpdGVfbGF5b3V0cyI6MS4wLCJlbmFibGVfc29jaWFsX2F1dGhfY29uZmlybWF0aW9uIjoxLjAsImVuYWJsZV9hZF9ibG9ja19kZXRlY3QiOjEuMCwidHZkX25ld190YWJfbGlua2luZyI6MS4wLCJ0dmRfdGltZV9hbmRfZGF0ZV9yYW5nZV9saW5raW5nIjoxLjAsInVzZV9icm93c2VyX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ1c2VfZGVza3RvcF9zZXNzaW9uX3N0b3JhZ2UiOjEuMCwid3JvbmdfYWNjb3VudF9kaWFsb2dfcHJpbWFyeV9zd2l0Y2giOjEuMCwiZW5hYmxlX2xpbmd1YV9sYW5nX2NoZWNrIjoxLjAsImdldF9zYXZlZF9hY3RpdmVfbGlzdF9iZWZvcmVfZ2V0dGluZ19hbGxfbGlzdHMiOjEuMCwid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iOjEuMCwic2hvd19yZWZlcnJhbF9ub3RpZmljYXRpb25fZGlhbG9nIjoxLjAsInNldF9uZXdfYmxhY2tfY29sb3IiOjEuMCwibmV3c191c2VfbmV3c19tZWRpYXRvciI6MS4wLCJhbGxvd190cmFpbGluZ193aGl0ZXNwYWNlX2luX251bWJlcl90b2tlbiI6MS4wLCJyZXN0cmljdF9wd25lZF9wYXNzd29yZF9zZXQiOjEuMCwibm90aWZfc2V0dGluZ3NfZW5hYmxlX25ld19zdG9yZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV93cml0ZSI6MS4wLCJub3RpZl9zZXR0aW5nc19kaXNhYmxlX29sZF9zdG9yZV9yZWFkIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrIjoxLjAsImNoZWNrb3V0LWVuYWJsZS1yaXNrc2RrLWZvci1pbml0aWFsLXB1cmNoYXNlIjoxLjAsImVuYWJsZV9tZXRhZGVmZW5kZXJfY2hlY2tfZm9yX2FncmVlbWVudCI6MS4wLCJzaG93X2Rvd25sb2FkX3lpZWxkX2N1cnZlc19kYXRhIjoxLjAsIm1vdmVfa2V5X3Rlbm9yc190b19zZXR0aW5ncyI6MS4wLCJzaG93X3lpZWxkX2N1cnZlc19tYXAiOjEuMCwiZGlzYWJsZV93aWRnZXRiYXJfaW5fYXBwcyI6MS4wLCJoaWRlX3B1YmxpY2F0aW9uc19vZl9iYW5uZWRfdXNlcnMiOjEuMCwiZW5hYmxlX3N1bW1hcnlfdXBkYXRlc19mcm9tX2NoYXJ0X3Nlc3Npb24iOjEuMCwic2hvd19uZXdzX2Zsb3dfdG9vbF9yaWdodF9iYXIiOjEuMCwiZW5hYmxlX2NoYXJ0X3NhdmluZ19zdGF0cyI6MS4wLCJlbmFibGVfc2F2aW5nX3NhbWVfY2hhcnRfcmF0ZV9saW1pdCI6MS4wLCJuZXdzX2FsZXJ0c19lbmFibGVkIjoxLjAsIm5ld3NfbXVsdGlwbGVfYWxlcnRzX2VuYWJsZWQiOjEuMCwicmVmdW5kX3Vudm9pZGFibGVfY291cG9uc19lbmFibGVkIjoxLjAsImVuYWJsZV9zbm93cGxvd19lbWFpbF90cmFja2luZyI6MS4wLCJuZXdzX2VuYWJsZV9zZW50aW1lbnQiOjEuMCwidXNlX2luX3N5bWJvbF9zZWFyY2hfb3B0aW9uc19tY3hfZXhjaGFuZ2UiOjEuMCwiZW5hYmxlX3VzZXJzZXR0aW5nc19zeW1ib2xzX3Blcl9yb3dfc29mdF9saW1pdCI6MC4xLCJmb3JiaWRfbG9naW5fd2l0aF9wd25lZF9wYXNzd29yZHMiOjEuMCwiZGVidWdfZ2V0X3Rlc3RfYmFyc19kYXRhIjoxLjAsIm5ld3NfdXNlX21lZGlhdG9yX3N0b3J5IjoxLjAsIm5ld3NfZmxvd19yZWNvbmZpZ3VyZV9maWx0ZXJzIjoxLjAsImJsYWNrX2ZyaWRheV9lbmFibGVfc2tpcF90b19wYXltZW50IjoxLjAsImhpZGVfdHJhZGluZ19idXR0b25fb25fYm90dG9tX3BhbmVsX2FuZF9yZXBsYXlfdGFiIjoxLjAsImhpZGVfdHJhZGVfYnV0dG9uX2hpbnRfaW5faGVhZGVyX3Rvb2xiYXIiOjEuMCwiaGlkZV9zZWVfb25fc3VwZXJfY2hhcnRzX2J1dHRvbiI6MS4wLCJoaWRlX3N5bWJvbF9wYWdlX2NoYXJ0X3R5cGVfc3dpdGNoZXIiOjEuMCwiZGlzYWJsZV9jaGF0X3NwYW1fcHJvdGVjdGlvbl9mb3JfcHJlbWl1bV91c2VycyI6MS4wLCJkaXNhYmxlX3B1YmxpY19waW5lX3NjcmlwdF9wdWJsaXNoX2xpbWl0cyI6MS4wLCJtYWtlX3RyYWRpbmdfcGFuZWxfY29udGV4dHVhbF90YWIiOjEuMCwicmVjb25uZWN0X2dhaW5fc2Vzc2lvbl9vbl9sc19lcnJvciI6MS4wLCJjaGVja291dC1mbG93LXBheW1lbnRzIjoxLjAsImZvcmNlX3RvX2NvbXBsZXRlX2t5YyI6MS4wLCJpbmRpYV9leGNsdWRlX2JyYWludHJlZV90YWIiOjEuMCwibWFjcm9fbWFwc19oaWRlX3Rvb2x0aXBfY2hhcnRfYnV0dG9uIjoxLjAsImZvcmNlX2t5Y19mb3Jfbm9ucHJvX3B1cmNoYXNlX2J5X2NvbW1lcmNpYWwiOjEuMCwic2hvd19zcGxpdF9wYW5lbF9mdWxsc2NyZWVuX2J1dHRvbiI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX21vdmVfYnV0dG9uX3RvX3RpdGxlIjoxLjAsIm9yZGVyX3ByZXNldHNfY3J1ZF9zdG9yYWdlIjoxLjAsIm9yZGVyX3ByZXNldHNfcmVtb3ZlX2Zyb21fdHZfc2V0dGluZ3MiOjEuMCwiY2hlY2tvdXQtZmxvdy10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LWdvb2dsZXBheSI6MS4wLCJjaGVja291dC1mbG93LWFwcGxlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5cGFsIjoxLjAsImZvcmJpZF9zaWdudXBfd2l0aF9mYWtlX2dtYWlsX2RvbWFpbnMiOjEuMCwic2hvd19pbXBvcnRfZnJvbV9wYXBlcl90cmFkaW5nX2J1dHRvbiI6MS4wLCJzeW1ib2xfc2VhcmNoX2dyb3VwaW5nIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwtdHJpYWwiOjEuMCwidm9pZF9ub3RfZm91bmRfY2tvX3BheW1lbnRfaW5fYXBwcm92ZWRfd2ViaG9vayI6MS4wLCJzaG93X3BhbmVsX2NvbGxhcHNlX2J1dHRvbiI6MS4wLCJkZWxheV9zdGF0dXNfb25fbGFzdF9iYXIiOjAuM307CndpbmRvdy5pbml0RGF0YSA9IHt9OwoJCXdpbmRvdy5TM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwgPSAiaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIjsKCndpbmRvdy5pbml0RGF0YSA9IHsid2lkZ2V0RGVmYXVsdHMiOnsid2lkdGgiOjExMDAsImhlaWdodCI6NTIzLCJkZWZhdWx0Q29sdW1uIjoib3ZlcnZpZXciLCJkZWZhdWx0U2NyZWVuIjoiZ2VuZXJhbCIsIm1hcmtldCI6ImZvcmV4Iiwic2hvd1Rvb2xiYXIiOnRydWUsImlzVHJhbnNwYXJlbnQiOmZhbHNlLCJjb2xvclRoZW1lIjoibGlnaHQiLCJsb2NhbGUiOiJlbiJ9fTsKCQl3aW5kb3cuaW5pdERhdGEuY3VycmVudExvY2FsZUluZm8gPSB7Imxhbmd1YWdlIjoiZW4iLCJsYW5ndWFnZV9uYW1lIjoiRW5nbGlzaCIsImZsYWciOiJ1cyIsImdlb2lwX2NvZGUiOiJ1cyIsImlzbyI6ImVuIiwiaXNvXzYzOV8zIjoiZW5nIiwiZ2xvYmFsX25hbWUiOiJFbmdsaXNoIiwiaXNfb25seV9yZWNvbW1lbmRlZF90d19hdXRvcmVwb3N0Ijp0cnVlfTsKCQl3aW5kb3cuaW5pdERhdGEuc2V0dGluZ3MgPSB7J1MzX0xPR09fU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8nLCAnUzNfTkVXU19JTUFHRV9TRVJWSUNFX0JBU0VfVVJMJzogJ2h0dHBzOi8vczMudHJhZGluZ3ZpZXcuY29tL25ld3MvJywgJ1dFQlBBQ0tfU1RBVElDX1BBVEgnOiAnaHR0cHM6Ly9zdGF0aWMudHJhZGluZ3ZpZXcuY29tL3N0YXRpYy9idW5kbGVzLycsICdUUkFESU5HX1VSTFMnOiB7J2ZyZWUnOiAnaHR0cHM6Ly9wYXBlcnRyYWRpbmctZnJlZS50cmFkaW5ndmlldy5jb20nLCAncHJvJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLnRyYWRpbmd2aWV3LmNvbSd9LCAnQ09OVEVTVFNfVVJMJzogJy9wYXBlci10cmFkaW5nJywgJ0NSVURfU1RPUkFHRV9VUkwnOiAnaHR0cHM6Ly9jcnVkLXN0b3JhZ2UudHJhZGluZ3ZpZXcuY29tJ307PC9zY3JpcHQ+CgoJPHNjcmlwdCBub25jZT0iaTdWR2EzcVpNL0VJbEI1dmRNd293QT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgZT17d2hpdGVsYWJlbDohMCxwZXJtaXNzaW9uT3ZlcnJpZGVzOiEwLGxpbmtDYXB0dXJpbmdBbGxvd2VkOiEwLHN5bWJvbF9zZWFyY2hfZGVmYXVsdF9leGNoYW5nZTohMCxzeW1ib2xfc2VhcmNoX2FsbG93ZWRfZXhjaGFuZ2VzOiEwfTtjb25zdCB0PXdpbmRvdzt0LmluaXREYXRhPXQuaW5pdERhdGF8fHt9O2NvbnN0IGE9L1wrL2csbj0vPFwvP1tePl0rKD58JCkvZyxzPWU9PmRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoYSwiICIpKS5yZXBsYWNlKG4sIiIpLG89dC5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGM9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtsZXQgbCxyPWMuZXhlYyhvKTtmb3IoO251bGwhPT1yOylpW3MoclsxXSldPXMoclsyXSkscj1jLmV4ZWMobyk7dHJ5e2w9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQodC5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSkpLCJvYmplY3QiPT10eXBlb2YgbCYmbnVsbCE9PWx8fChsPXt9KX1jYXRjaChlKXtsPXt9fXZhciBoO3QuaW5pdERhdGEucXVlcnlTZXR0aW5ncz1pLHQuaW5pdERhdGEuaGFzaFNldHRpbmdzPShoPWwsT2JqZWN0LmtleXMoaCkuZm9yRWFjaCgodD0+e2VbdF0mJmRlbGV0ZSBoW3RdfSkpLGgpfSkoKTsKCTwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Imk3VkdhM3FaTS9FSWxCNXZkTXdvd0E9PSI+d2luZG93LlNTX0hPU1QgPSAic3ltYm9sLXNlYXJjaC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy5XSURHRVRfU0hFUklGRl9IT1NUID0gImh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbSI7CgkJd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQgPSBmYWxzZTsKCgl3aW5kb3cuU0NSRUVORVJfSE9TVCA9ICdodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tJzsKCgkJd2luZG93LmxvY2FsZV9kb21haW5zID0geyJlbiI6Ind3dy50cmFkaW5ndmlldy5jb20iLCJhcl9BRSI6ImFyLnRyYWRpbmd2aWV3LmNvbSIsImJyIjoiYnIudHJhZGluZ3ZpZXcuY29tIiwiZGVfREUiOiJkZS50cmFkaW5ndmlldy5jb20iLCJlcyI6ImVzLnRyYWRpbmd2aWV3LmNvbSIsImZyIjoiZnIudHJhZGluZ3ZpZXcuY29tIiwiaGVfSUwiOiJpbC50cmFkaW5ndmlldy5jb20iLCJpZCI6ImlkLnRyYWRpbmd2aWV3LmNvbSIsImluIjoiaW4udHJhZGluZ3ZpZXcuY29tIiwiaXQiOiJpdC50cmFkaW5ndmlldy5jb20iLCJqYSI6ImpwLnRyYWRpbmd2aWV3LmNvbSIsImtyIjoia3IudHJhZGluZ3ZpZXcuY29tIiwibXNfTVkiOiJteS50cmFkaW5ndmlldy5jb20iLCJwbCI6InBsLnRyYWRpbmd2aWV3LmNvbSIsInJ1IjoicnUudHJhZGluZ3ZpZXcuY29tIiwidGhfVEgiOiJ0aC50cmFkaW5ndmlldy5jb20iLCJ0ciI6InRyLnRyYWRpbmd2aWV3LmNvbSIsInZpX1ZOIjoidm4udHJhZGluZ3ZpZXcuY29tIiwiemhfQ04iOiJjbi50cmFkaW5ndmlldy5jb20iLCJ6aF9UVyI6InR3LnRyYWRpbmd2aWV3LmNvbSIsImNhX0VTIjoiZXMudHJhZGluZ3ZpZXcuY29tIn07CgoJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzID0gd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyB8fCBbXTsKCQkJCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMucHVzaCgnd2lkZ2V0Jyk7CgoJCXdpbmRvdy5UcmFkaW5nVmlldyA9IHdpbmRvdy5UcmFkaW5nVmlldyB8fCB7fTsKPC9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5PgoJPHNjcmlwdCBub25jZT0iaTdWR2EzcVpNL0VJbEI1dmRNd293QT09Ij4KCQkoKCk9PnsidXNlIHN0cmljdCI7Y29uc3QgdD0xMDE5O3ZhciBlLHMsbyxhLGQ7IWZ1bmN0aW9uKHQpe3QuQWRhcHRpdmU9ImFkYXB0aXZlIix0LlJlZ3VsYXI9InJlZ3VsYXIiLHQuQ29tcGFjdD0iY29tcGFjdCJ9KGV8fChlPXt9KSksZnVuY3Rpb24odCl7dC5BbGxTeW1ib2xzPSJhbGxfc3ltYm9scyIsdC5NYXJrZXQ9Im1hcmtldCIsdC5TeW1ib2w9InN5bWJvbCJ9KHN8fChzPXt9KSksZnVuY3Rpb24odCl7dC5DcnlwdG9jdXJyZW5jaWVzPSJjcnlwdG8iLHQuQ3VycmVuY2llcz0iZm9yZXgiLHQuU3RvY2tzPSJzdG9jayIsdC5JbmRpY2VzPSJpbmRleCIsdC5GdXR1cmVzPSJmdXR1cmVzIix0LkJvbmRzPSJjZmQifShvfHwobz17fSkpLGZ1bmN0aW9uKHQpe3QuSFRNTD0iaHRtbCIsdC5SZWFjdD0icmVhY3QifShhfHwoYT17fSkpLGZ1bmN0aW9uKHQpe3QuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oZHx8KGQ9e30pKTtjb25zdCBjPXdpbmRvdztjLmluaXREYXRhPWMuaW5pdERhdGF8fHt9O2xldCBpPWMuaW5pdERhdGEuaGFzaFNldHRpbmdzO2lmKGMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMmJihpPXsuLi5jLmluaXREYXRhLndpZGdldERlZmF1bHRzLC4uLml9KSx2b2lkIDAhPT1pKXtpZih2b2lkIDAhPT1pLmNvbG9yVGhlbWUmJmZ1bmN0aW9uKHQsZT13aW5kb3cpe2NvbnN0IHM9InRoZW1lLSIrdCxvPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDtmb3IoY29uc3QgdCBvZiBBcnJheS5mcm9tKG8pKXQuc3RhcnRzV2l0aCgidGhlbWUtIikmJnQhPT1zJiZvLnJlbW92ZSh0KTtvLmFkZChzKSxlLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LnRoZW1lPXR9KGkuY29sb3JUaGVtZSksKGkuaXNUcmFuc3BhcmVudHx8aS50cmFuc3BhcmVuY3kpJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaXMtdHJhbnNwYXJlbnQiKSx2b2lkIDAhPT1pLmRpc3BsYXlNb2RlJiZmdW5jdGlvbihzLG8pe2lmKG89PT1lLkFkYXB0aXZlKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKGAobWF4LXdpZHRoOiAke3R9cHgpYCksbz0oKT0+e3MuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLCFlLm1hdGNoZXMpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLGUubWF0Y2hlcyl9O28oKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsbyl9ZWxzZSBzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1yZWd1bGFyIixvPT09ZS5SZWd1bGFyKSxzLmNsYXNzTGlzdC50b2dnbGUoInR2LWRpc3BsYXktbW9kZS1jb21wYWN0IixvPT09ZS5Db21wYWN0KX0oZG9jdW1lbnQuYm9keSxpLmRpc3BsYXlNb2RlKSxpLmJvZHlDbGFzc2VzKWZvcihjb25zdCB0IG9mIGkuYm9keUNsYXNzZXMpZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHQpO2kuYm9keV9jbGFzcyYmZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGkuYm9keV9jbGFzcyksaS5ib2R5SWQmJihkb2N1bWVudC5ib2R5LmlkPWkuYm9keUlkKX19KSgpOwoJPC9zY3JpcHQ+CgoJPGRpdiBpZD0ianMtc2NyZWVuZXItY29udGFpbmVyIiBjbGFzcz0idHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXIiPjwvZGl2PgoKPHNjcmlwdCBub25jZT0iaTdWR2EzcVpNL0VJbEI1dmRNd293QT09Ij4KCXdpbmRvdy5pbml0RGF0YSA9IHdpbmRvdy5pbml0RGF0YSB8fCB7fTsKCgl3aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncyA9IHsKCQljb2xsZWN0b3JJZDogJ3R2X2NmJywKCQl1cmw6ICdzbm93cGxvdy1waXhlbC50cmFkaW5ndmlldy5jb20nLAoJCXBhcmFtczogewoJCQlhcHBJZDogJ3RyYWRpbmd2aWV3JywKCQkJcG9zdFBhdGg6ICcvY29tLnRyYWRpbmd2aWV3L3RyYWNrJywKCQl9LAoJCWVuYWJsZWQ6IHRydWUsCgl9Cjwvc2NyaXB0PjwvYm9keT4KPC9odG1sPg=="}},"time_used":183,"timings":{"blocked":-1,"dns":22,"connect":19,"send":0,"wait":136,"receive":-1,"ssl":6},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.733Z","timestamp":1785136427733,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.95114.3b57335a3d1cb4c80bdd.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a7-6fa\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7dff229f2bb01235c93fdce0eaafc74d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1786,"size_decoded":1551,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (1784), with no line terminators","md5":"b387ba60284a5ea232d8b146d9a92222","sha1":"b0e7409a69216356392ad22b0802cfb4f3264701","sha256":"ede33045a90b91e44e7924729039086ba1b6c0c80af85a0270d6bfbd73b16016","sha512":"edb4fe9a9cef5244ac53909f955bd5b705ae3d7c47b9b1f9a4324774d86b8c6bd769cc14e2ed495e65651937070330be7df4571f581c873e655b1782f152180d","ssdeep":"","tlshash":"b731f01bf01032e9aff2a232725aec70bc1474d810f3c5c95ab7b716da17e6c4976688","first_seen":"2026-07-23T13:54:09.147041Z","last_seen":"2026-08-11T04:45:48.816224Z","times_seen":528,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"time_used":13,"timings":{"blocked":-1,"dns":2,"connect":3,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/27772.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.676Z","timestamp":1785136428676,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/27772.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1840\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 16 Dec 2025 19:42:45 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 08:00:37 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ba53b6c577ea73bf426df505b732ad48\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83592\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: vEdcW1S2RjCwGQ2RQtJFxx-YrjEI_LTU_haMqKatTfILm0bKfrazXA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":1840,"size_decoded":2412,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ba53b6c577ea73bf426df505b732ad48","sha1":"674433b4de3fa0dde8732c9031f31494dd09fc67","sha256":"b24e2e57a40eccd8224fe4ffb458555a5727a3abd3c33b78e1bc55126b72c6ef","sha512":"59ff544b7a4c87e63f093faad0c609c08a63356f09e92474e7e2ce5313d98114658f78616c626aca649f9689024e7aa376120fd0d1cf009f6fbfcaff325935f7","ssdeep":"","tlshash":"40314bcdc2e8f15f798644d80058aaa489216f75e4b84acac0ed3734c2275ec29ec074","first_seen":"2026-03-04T08:47:10.934258Z","last_seen":"2026-07-31T06:34:35.447133Z","times_seen":1368,"resource_available":false,"data":"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"}},"time_used":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52920.30ba05d6a5393e331827.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.205Z","timestamp":1785136429205,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52920.30ba05d6a5393e331827.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 103\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-67\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2dbb69bcdd75d252c236278e61416513\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103,"size_decoded":888,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"905ba86f45c3c4836e1e66ce0b1a69d4","sha1":"500fc2231fc7750395f3d4ba76aaa9ca105b5267","sha256":"16405805afc864f5869ae7c76253575cc65188d7ebb3f3b4207b634b7876bf8f","sha512":"838c4397409cdb507a9f79bd3943a589fc809cb994669fcbffa017fd350ec5f0994caea1f8f4837f2b5d61a440945e8334f4310d5b23302be6408645230b51a2","ssdeep":"","tlshash":"adb0921b5a704f55155b96514fc8835a9c63043260413e88c401ca221a3a88cead020a","first_seen":"2026-07-17T03:30:51.221694Z","last_seen":"2026-08-11T04:43:23.169497Z","times_seen":267,"resource_available":false,"data":"LmlubGluZUljb24tdDZXWmxMUU97ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbmxpbmVJY29uLXQ2V1psTFFPIHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23743.4733137af2f232a6a34a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.237Z","timestamp":1785136429237,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23743.4733137af2f232a6a34a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5062\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 529b5c23210f416840cda45e781de6d6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20578,"size_decoded":7832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"0662db7d4ac07059ef6d238a7fa48e27","sha1":"736ed22fb893e48eb48b0150ec68ee0e3c69c7b2","sha256":"af1154bdae13a0f96f45923150360a2e20a73f83a62d0d671a137604a1ffe7bd","sha512":"d0f916877c8757288f5d0a63c009b2a6c596c888960ca29b3ca6ac71f629591e473f08f48b89b10d13d074a78ffe51c1cee690861938863df5a0265605fd6df2","ssdeep":"384:9Xwl5lUwL/+MbKlpYZketvNCY7hbyc7KukFhX3ma3anayRwsix6udtd4MkiAN:9Xwl57/bYCPzCY7IgNWaayRD06u3SWAN","tlshash":"739208723591307133efebeb5096041cf330b418a94b88e4b1e9689d35e26b461b6fde","first_seen":"2026-07-23T14:00:31.578797Z","last_seen":"2026-07-29T11:04:57.476864Z","times_seen":278,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMzc0M10sezY4MzU0MihlKXtlLmV4cG9ydHM9e2NvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YIixiZWdpbjoiYmVnaW4tZzhSb2hnTlgiLGVuZDoiZW5kLWc4Um9oZ05YIix0b3A6InRvcC1nOFJvaGdOWCIsYm90dG9tOiJib3R0b20tZzhSb2hnTlgiLGNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZToiY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YIn19LDg5NTM3KGUpe2UuZXhwb3J0cz17cG9zaXRpb25lcjoicG9zaXRpb25lci1oQlZrYVAyUCIsbm9Ib3Jpem9udGFsU2hyaW5rOiJub0hvcml6b250YWxTaHJpbmstaEJWa2FQMlAiLG5vSG9yaXpvbnRhbEdyb3c6Im5vSG9yaXpvbnRhbEdyb3ctaEJWa2FQMlAiLG5vVmVydGljYWxTaHJpbms6Im5vVmVydGljYWxTaHJpbmstaEJWa2FQMlAiLG5vVmVydGljYWxHcm93OiJub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUCIsaW52aXNpYmxlOiJpbnZpc2libGUtaEJWa2FQMlAiLHBvcnRhbDoicG9ydGFsLWhCVmthUDJQIn19LDk5NTczOChlKXtlLmV4cG9ydHM9e3N0dWI6InN0dWItSXVoT2pvdVkifX0sMzI3ODA4KGUpe2UuZXhwb3J0cz17Y29udGVudDoiY29udGVudC1hZjBMQ2d5NSIsc3RyZXRjaDoic3RyZXRjaC1hZjBMQ2d5NSIsYmVnaW46ImJlZ2luLWFmMExDZ3k1IixlbmQ6ImVuZC1hZjBMQ2d5NSIsdG9wOiJ0b3AtYWYwTENneTUiLGJvdHRvbToiYm90dG9tLWFmMExDZ3k1IixiYWNrZHJvcDoiYmFja2Ryb3AtYWYwTENneTUifX0sNzg4NDY1KGUpe2UuZXhwb3J0cz17c2Nyb2xsVHJhcDoic2Nyb2xsVHJhcC1MbjBBSVc0RiIsc2Nyb2xsVHJhcENvbnRlbnQ6InNjcm9sbFRyYXBDb250ZW50LUxuMEFJVzRGIn19LDU2NTUzMChlKXtlLmV4cG9ydHM9e2JvZHlOb1Njcm9sbDoiYm9keU5vU2Nyb2xsLWZPSVJLQXRIIn19LDMxOTY5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1lcmdlZFJlZnM6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk2NDU5NCk7ZnVuY3Rpb24gcihlKXtyZXR1cm4oMCxvLnVzZUNhbGxiYWNrKSgoMCxpLm1lcmdlUmVmcykoZSksZSl9fSwyMzY0NTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6KCk9PnMsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRTooKT0+YyxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fUkVTSVpFX1dJTkRPVzooKT0+dSxQT1BPVkVSX0RFRkFVTFRfQ0xPU0VfT05fU0NST0xMX09VVFNJREU6KCk9PmwsUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1RBQjooKT0+ZCxQT1BPVkVSX0RFRkFVTFRfSEVJR0hUOigpPT5yLFBPUE9WRVJfREVGQVVMVF9QTEFDRU1FTlRfUlVMRVM6KCk9PmEsUE9QT1ZFUl9ERUZBVUxUX1dJRFRIOigpPT5pfSk7dmFyIG89big2NDA1MTMpO2NvbnN0IGk9W3tieToiYW5jaG9yIix0eXBlOiJtaW4ifSx7Ynk6ImNvbnRlbnQifV0scj1bXSxhPVtvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9UT1BfQUxJR05fTEVGVCxvLlBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQsby5QTEFDRU1FTlRfVE9QX0FMSUdOX1JJR0hUXSxjPSEwLHM9InBvaW50ZXJkb3duIixsPSEwLHU9ITAsZD0hMH0sNDQ1NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZXh0UHJvdmlkZXI6KCk9PmEsdXNlUG9wb3ZlckNvbnRleHQ6KCk9PmN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDk1NjczMCk7Y29uc3Qgcj0oMCxvLmNyZWF0ZUNvbnRleHQpKHtjbG9zZVBvcG92ZXI6KCk9Pnt9LGlzUnRsOiExLGlzSW5Qb3BvdmVyOiExLGlzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTtmdW5jdGlvbiBhKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxvbkNsb3NlOm4saXNSdGw6YSxjaGlsZHJlbjpjLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6c309ZSxsPSgwLG8udXNlTWVtbykoKCgpPT4oe2Nsb3NlUG9wb3ZlcjpuLGlzUnRsOmEsaXNJblBvcG92ZXI6ITAsb25Qb3BvdmVyQ29udGVudFJlc2l6ZTpzLGlzQW5jaG9yUG9zaXRpb25lcjoiYW5jaG9yIj09PXQsaXNNb2JpbGVQb3NpdGlvbmVyOiJtb2JpbGUiPT09dH0pKSxbbixhLHMsdF0pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoci5Qcm92aWRlcix7dmFsdWU6bH0sby5jcmVhdGVFbGVtZW50KGkuUG9zaXRpb25lckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjp0fSxjKSl9ZnVuY3Rpb24gYygpe3JldHVybigwLG8udXNlQ29udGV4dCkocil9fSwyMzc2MTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9wb3ZlcjooKT0+Z30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oMTk0Mjc1KSxjPW4oNzE3OTMyKSxzPW4oMjg2MzEwKSxsPW4oOTcwMzQyKSx1PW4oNzg3ODk1KTtmdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZDpuLHBsYWNlbWVudFJ1bGVzOmksd2lkdGg6cixoZWlnaHQ6YSxpc09wZW46Yyxpc1J0bDpkLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpoLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OnA9dCxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsZ2V0Um9vdFJlY3Q6ZyxyZXBvc2l0aW9uVHJpZ2dlcnM6QyxyZXBvc2l0aW9uRGVwZW5kZW5jaWVzOkUsY29udGVudFJlc2l6ZTp2LGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9PWUsdz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3N3aXRjaChuLnR5cGUpe2Nhc2UiZWxlbWVudCI6cmV0dXJuIG8uY3JlYXRlRWxlbWVudChsLkVsZW1lbnRQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmgscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dyxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OmYsYXJpYUxhYmVsbGVkYnk6UCxhcmlhTXVsdGlzZWxlY3RhYmxlOm0scm9sZTpiLGNoaWxkcmVuOngsYW5jaG9yZWRBdDpuLmF0LGdldFJvb3RSZWN0OmcscmVwb3NpdGlvblRyaWdnZXJzOkMsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6RSxkYXRhUWFJZDp5LHNjcm9sbENvbnRhaW5lcjpSfSk7Y2FzZSJyZWN0YW5nbGUiOnJldHVybiBvLmNyZWF0ZUVsZW1lbnQocy5SZWN0YW5nbGVQb3NpdGlvbmVyLHtwbGFjZW1lbnRSdWxlczppLHdpZHRoOnIsaGVpZ2h0OmEsaXNPcGVuOmMsaXNSdGw6ZCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6aCxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp3LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6ZixhcmlhTGFiZWxsZWRieTpQLGFyaWFNdWx0aXNlbGVjdGFibGU6bSxyb2xlOmIsY2hpbGRyZW46eCxhbmNob3JlZEF0Om4uYXQsZ2V0Um9vdFJlY3Q6Zyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvbkRlcGVuZGVuY2llczpFLHJlcG9zaXRpb25UcmlnZ2VyczpDLGRhdGFRYUlkOnksc2Nyb2xsQ29udGFpbmVyOlJ9KX19dmFyIGg9big0NDU0OTMpLHA9big1NjI5OCksZj1uKDg3MzA5MCksUD1uKDcwNjk0MyksbT1uKDk1NjczMCksYj1uKDY4MzU0MikseD1uLm4oYik7Y29uc3QgZz0oMCxwLmlnbm9yZU9uU1NSKSgoZnVuY3Rpb24oZSl7Y29uc3R7aXNSdGw6dH09KDAsaC51c2VQb3BvdmVyQ29udGV4dCkoKSx7aXNPcGVuOm4sb25DbG9zZTppLG1vYmlsZVBvc2l0aW9uZXJTaWRlOnM9ImJvdHRvbSIsbW9iaWxlUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmw9cigpKHgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUseCgpW3NdKSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LGlzUnRsOnA9dCxjaGlsZHJlbjpiLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpnPXgoKS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2Uscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxwbGFjZW1lbnRSdWxlczpSLHdpZHRoOncsaGVpZ2h0OlMsYW5jaG9yZWQ6Tyxtb2JpbGVQb3NpdGlvbmVyU3RyZXRjaDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VCxtb2JpbGVCcmVha3BvaW50OkwsY29udGVudFJlc2l6ZTpOLGRhdGFRYUlkOkYsc2Nyb2xsQ29udGFpbmVyOl99PWUse2lzSW5Qb3BvdmVyOkl9PSgwLGgudXNlUG9wb3ZlckNvbnRleHQpKCkse2lzTW9iaWxlUG9zaXRpb25lcjpXfT0oMCxtLnVzZVBvc2l0aW9uZXJDb250ZXh0KSgpLHo9KDAsYy51c2VNYXRjaE1lZGlhKShMPz9mLkRFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UKSxEPSgwLG8udXNlTWVtbykoUC5jcmVhdGVTaWduYWwsW10pO3JldHVybih2b2lkIDA9PT1MJiZJP1c6eik/by5jcmVhdGVFbGVtZW50KGEuTW9iaWxlUG9zaXRpb25lcix7aXNPcGVuOm4sb25DbG9zZTppLGNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmwscmVmVG9Db250ZW50V3JhcHBlckVsZW1lbnQ6dSxpZE9mQ29udGVudFdyYXBwZXJFbGVtZW50OnksYW5jaG9yZWRBdDoiZWxlbWVudCI9PT1PLnR5cGU/Ty5hdDp2b2lkIDAsY2hpbGRyZW46by5jcmVhdGVFbGVtZW50KGguUG9wb3ZlckNvbnRleHRQcm92aWRlcix7cG9zaXRpb25lcjoibW9iaWxlIixvbkNsb3NlOmksaXNSdGw6cH0sYikscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LHNpZGU6cyxzdHJldGNoOkEsZGF0YVFhSWQ6Rn0pOm8uY3JlYXRlRWxlbWVudChkLHthbmNob3JlZDpPLGlzUnRsOnAsaXNPcGVuOm4sYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOmcscm9sZTpDLGFyaWFMYWJlbGxlZGJ5OkUsYXJpYU11bHRpc2VsZWN0YWJsZTp2LGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eSxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp1LHBsYWNlbWVudFJ1bGVzOlIsd2lkdGg6dyxoZWlnaHQ6UyxjaGlsZHJlbjpvLmNyZWF0ZUVsZW1lbnQoaC5Qb3BvdmVyQ29udGV4dFByb3ZpZGVyLHtwb3NpdGlvbmVyOiJhbmNob3IiLG9uQ2xvc2U6aSxpc1J0bDpwLG9uUG9wb3ZlckNvbnRlbnRSZXNpemU6RC5maXJlfSxiKSxyZXBvc2l0aW9uVHJpZ2dlcnM6Wy4uLk0sRF0scmVwb3NpdGlvbkRlcGVuZGVuY2llczpULGNvbnRlbnRSZXNpemU6TixkYXRhUWFJZDpGLHNjcm9sbENvbnRhaW5lcjpffSl9KSl9LDk3MDM0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtFbGVtZW50UG9zaXRpb25lcjooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oODU0MzM4KSxyPW4oODk1OTIxKSxhPW4oMjg2MzEwKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHthbmNob3JlZEF0Om4saXNPcGVuOmMscmVmT2JqZWN0VG9Db250ZW50V3JhcHBlckVsZW1lbnQ6cz10LHdpZHRoOmwsaGVpZ2h0OnUsaXNSdGw6ZCxwbGFjZW1lbnRSdWxlczpoLGFuY2hvclBvc2l0aW9uZXJDYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpwLGNoaWxkcmVuOmYscm9sZTpQLGFyaWFMYWJlbGxlZGJ5Om0sYXJpYU11bHRpc2VsZWN0YWJsZTpiLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6eCxvblBsYWNlbWVudFJ1bGVTZWxlY3RlZDpnLGdldFJvb3RSZWN0OkMscmVwb3NpdGlvblRyaWdnZXJzOkUsY29udGVudFJlc2l6ZTp2LHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6eSxkYXRhUWFJZDpSLHNjcm9sbENvbnRhaW5lcjp3fT1lLFM9KDAsci51c2VSZWZSZWN0KShuLGMsRSx5KTtyZXR1cm4oMCxpLnVzZUFuY2hvclBvcnRhbFBhaXIpKG4scyksUz9vLmNyZWF0ZUVsZW1lbnQoYS5SZWN0YW5nbGVQb3NpdGlvbmVyLHt3aWR0aDpsLGhlaWdodDp1LGlzUnRsOmQsaXNPcGVuOmMscGxhY2VtZW50UnVsZXM6aCwKYW5jaG9yUG9zaXRpb25lckNhcmRBcHBlYXJhbmNlQ2xhc3NuYW1lOnAsY2hpbGRyZW46Zixyb2xlOlAsYXJpYUxhYmVsbGVkYnk6bSxhcmlhTXVsdGlzZWxlY3RhYmxlOmIsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp4LHJlZk9iamVjdFRvQ29udGVudFdyYXBwZXJFbGVtZW50OnMsYW5jaG9yZWRBdDpTLG9uUGxhY2VtZW50UnVsZVNlbGVjdGVkOmcsZ2V0Um9vdFJlY3Q6Qyxjb250ZW50UmVzaXplOnYscmVwb3NpdGlvblRyaWdnZXJzOkUscmVwb3NpdGlvbkRlcGVuZGVuY2llczp5LGRhdGFRYUlkOlIsc2Nyb2xsQ29udGFpbmVyOnd9KTpudWxsfX0sODk1OTIxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJlZlJlY3Q6KCk9PmF9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDUyNTI0KTtmdW5jdGlvbiByKGUpe2lmKCFlKXJldHVybjtjb25zdHt4OnQseTpuLHdpZHRoOm8saGVpZ2h0Oml9PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6dCx5Om4sd2lkdGg6byxoZWlnaHQ6aX19ZnVuY3Rpb24gYShlLHQsbj1bXSxhPVtdKXtjb25zdFtjLHNdPSgwLG8udXNlU3RhdGUpKCk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2lmKCF0KXJldHVybjtjb25zdCBvPSgpPT57cyhmdW5jdGlvbihlKXtyZXR1cm4gcihlLmN1cnJlbnQpfShlKSl9LGE9bi5tYXAoKGU9PihlLnN1YnNjcmliZShvKSwoKT0+ZS51bnN1YnNjcmliZShvKSkpKTtyZXR1cm4oMCxpLmZvcmtGbikoLi4uYSl9KSxbZSx0LC4uLm5dKSwoMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT57cyh0P3IoZS5jdXJyZW50KTp2b2lkIDApfSksW2UsdCwuLi5hXSksY319LDQwNjI5NChlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJue3g6MS1lLngseTplLnl9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuIGUubWFwKChlPT5mdW5jdGlvbihlKXtyZXR1cm57Li4uZSxuYW1lOmUucnRsTmFtZXx8ZS5uYW1lLGFuY2hvclBvaW50Om8oZS5hbmNob3JQb2ludCksY29udGVudFBvaW50Om8oZS5jb250ZW50UG9pbnQpLG9mZnNldDplLm9mZnNldD8odD1lLm9mZnNldCx7eDotdC54LHk6dC55fSk6dm9pZCAwfTt2YXIgdH0oZSkpKX1mdW5jdGlvbiByKGUpe3JldHVybntsZWZ0OmUueCxyaWdodDplLngrZS53aWR0aCx0b3A6ZS55LGJvdHRvbTplLnkrZS5oZWlnaHR9fWZ1bmN0aW9uIGEoZSx0LG4pe3JldHVybigxLWUpKnQrZSpufWZ1bmN0aW9uIGMoZSx0LG4sbyxpLHIsYSxjLHMsdSl7Y29uc3R7YW5jaG9yZWRBdFB4OmQsY29udGVudFBvaW50OmgsY29udGVudFN0YXJ0OnAsY29udGVudEVuZDpmfT1mdW5jdGlvbihlLHQsbixvLGkscixhLGMpe2xldCBzPWksbD1yO2NvbnN0IHU9Yy1hLGQ9ZS1zK247MDxkJiYocys9ZCxsKz1kL3UpO2NvbnN0IGg9ZS1vK3M7MDxoJiYocy09aCxsLT1oL3UpO2NvbnN0IHA9dC1sKnU7MDxwJiYocys9cCxsKz1wL3UpO2NvbnN0IGY9dC0oMS1sKSp1OzA8ZiYmKHMtPWYsbC09Zi91KTtyZXR1cm57YW5jaG9yZWRBdFB4OnMsY29udGVudFBvaW50OmwsY29udGVudFN0YXJ0OmEsY29udGVudEVuZDpjfX0oZSx0LG4sbyxpLGMscyx1KTtyZXR1cm4gbChlLHQsbyxkLHIsaCxwLGYpfHwoKFA9bChlLHQsLW4sLWQsLWEsMS1oLC1mLC1wKSk/e2NvbnRlbnRQb2ludEZyYWN0aW9uOjEtUC5jb250ZW50UG9pbnRGcmFjdGlvbixhbmNob3JlZFB4Oi1QLmFuY2hvcmVkUHgsc2xpZGU6UC5zbGlkZX06dm9pZCAwKXx8e2NvbnRlbnRQb2ludEZyYWN0aW9uOmgsYW5jaG9yZWRQeDpkLHNsaWRlOjB9O3ZhciBQfWZ1bmN0aW9uIHMoZSx0LG4pe3JldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjphKGUsdC5jb250ZW50UG9pbnRGcmFjdGlvbixuLmNvbnRlbnRQb2ludEZyYWN0aW9uKSxhbmNob3JlZFB4OmEoZSx0LmFuY2hvcmVkUHgsbi5hbmNob3JlZFB4KSxzbGlkZTphKGUsdC5zbGlkZSxuLnNsaWRlKX19ZnVuY3Rpb24gbChlLHQsbixvLGkscixhLGMpe2NvbnN0IGw9Yy1hLHU9YStyKmwtdCxkPW4tZS10LGg9bCpyLXQscD17Y29udGVudFBvaW50RnJhY3Rpb246dC9sLGFuY2hvcmVkUHg6byxzbGlkZTpofSxmPXtjb250ZW50UG9pbnRGcmFjdGlvbjp0L2wsYW5jaG9yZWRQeDpuLWUsc2xpZGU6aCsobi1vLWUpfTtpZighKGE+PWkpKXJldHVybiB1Pj1pP3MoKGktYSkvKHUtYSkse2NvbnRlbnRQb2ludEZyYWN0aW9uOnIsYW5jaG9yZWRQeDpvLHNsaWRlOjB9LHApOmQ+PWk/cygoaS11KS8oZC11KSxwLGYpOmZ9ZnVuY3Rpb24gdShlLHQsbixvLGksYSxjKXtjb25zdCBzPXsuLi5vLC4uLnIobyl9LGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm57eDplLngrdC5hbmNob3JQb2ludC54KmUud2lkdGgrKHQub2Zmc2V0Py54Pz8wKSx5OmUueSt0LmFuY2hvclBvaW50LnkqZS5oZWlnaHQrKHQub2Zmc2V0Py55Pz8wKX19KGUsaSksdT1uLndpZHRoLHA9aChpLm92ZXJmbG93SG9yaXpvbnRhbCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCx1KSxmPU1hdGgubWluKHUscD8/MS8wKSxQPWMmJnZvaWQgMCE9PXAmJmY8dTtQJiZ0LnN0eWxlLnNldFByb3BlcnR5KGEsYCR7cH1weGApO2NvbnN0IG09UD90LmNsaWVudEhlaWdodDpuLmhlaWdodCxiPWgoaS5vdmVyZmxvd1ZlcnRpY2FsLGwueSxzLnRvcCxzLmJvdHRvbSxpLmNvbnRlbnRQb2ludC55LG0pLHg9TWF0aC5taW4obSxiPz8xLzApO1AmJnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoYSk7Y29uc3QgZz1sLngtaS5jb250ZW50UG9pbnQueCp1LEM9bC54KygxLWkuY29udGVudFBvaW50LngpKnUsRT1kKGkub3ZlcmZsb3dIb3Jpem9udGFsLGUueCxlLngrZS53aWR0aCxsLngscy5sZWZ0LHMucmlnaHQsaS5jb250ZW50UG9pbnQueCxnLEMpLHY9bC55LWkuY29udGVudFBvaW50LnkqbSx5PWwueSsoMS1pLmNvbnRlbnRQb2ludC55KSptLFI9ZChpLm92ZXJmbG93VmVydGljYWwsZS55LGUueStlLmhlaWdodCxsLnkscy50b3Ascy5ib3R0b20saS5jb250ZW50UG9pbnQueSx2LHkpO3JldHVybnthbmNob3JlZFB4Ont4OkUuYW5jaG9yZWRQeCx5OlIuYW5jaG9yZWRQeH0sY29udGVudFBvaW50RnJhY3Rpb246ewp4OkUuY29udGVudFBvaW50RnJhY3Rpb24seTpSLmNvbnRlbnRQb2ludEZyYWN0aW9ufSxydWxlOmksaW5pdGlhbENvbnRlbnRTaXplUHg6e3dpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0fSxjb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4Ont3aWR0aDpmLGhlaWdodDptfSxjb250ZW50U2l6ZVB4Ont3aWR0aDpmLGhlaWdodDp4fSxtYXhDb250ZW50U2l6ZVB4Ont3aWR0aDpwLGhlaWdodDpifSxzbGlkZTp7eDpFLnNsaWRlLHk6Ui5zbGlkZX19fWZ1bmN0aW9uIGQoZSx0LG4sbyxpLHIsYSxzLGwpe2NvbnN0IHU9aS1zLGQ9bC1yO2lmKCJzbGlkZSI9PT1lfHwiY3JvcCI9PT1lKXtpZihsLXM+ci1pfHx1PjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjAsYW5jaG9yZWRQeDppLHNsaWRlOk1hdGgubWF4KDAsdSl9O2lmKGQ+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MSxhbmNob3JlZFB4OnIsc2xpZGU6TWF0aC5tYXgoMCxkKX19aWYoImNyb3BTbGlkZSI9PT1lKXtjb25zdCBlPWktbyx0PW8tcjtpZihlPjB8fHU+MClyZXR1cm57Y29udGVudFBvaW50RnJhY3Rpb246MCxhbmNob3JlZFB4Omksc2xpZGU6TWF0aC5tYXgoMCxlKX07aWYodD4wfHxkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpyLHNsaWRlOk1hdGgubWF4KDAsdCl9fWlmKCJjcm9wT3ZlcmZsb3ciPT09ZSl7aWYodT4wKXJldHVybntjb250ZW50UG9pbnRGcmFjdGlvbjowLGFuY2hvcmVkUHg6TWF0aC5taW4oaSxvKSxzbGlkZTowfTtpZihkPjApcmV0dXJue2NvbnRlbnRQb2ludEZyYWN0aW9uOjEsYW5jaG9yZWRQeDpNYXRoLm1heChyLG8pLHNsaWRlOjB9fXJldHVybiBwKGUpP2MoZS5hbmNob3JTYWZlU3BhY2UsZS5wb3NpdGlvbmVyU2FmZVNwYWNlLHQsbixvLGkscixhLHMsbCk6e2NvbnRlbnRQb2ludEZyYWN0aW9uOmEsYW5jaG9yZWRQeDpvLHNsaWRlOjB9fWZ1bmN0aW9uIGgoZSx0LG4sbyxpLHIpe3JldHVybiJjcm9wIj09PWU/ZnVuY3Rpb24oZSx0LG4sbyxpKXtjb25zdCByPWUtdD49MCYmbi1lPj0wO2lmKHImJigxPT09b3x8MD09PW8pKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtyZXR1cm4gMD09PW8/bi1lOmUtdH0oZSx0LG4sbyk7Y29uc3R7YXZhaWxhYmxlU3BhY2VTdGFydDphLGF2YWlsYWJsZVNwYWNlRW5kOmN9PVAobyxpLGUsdCxuKTtyZXR1cm4gYStjfSh0LG4sbyxpLHIpOiJjcm9wT3ZlcmZsb3ciPT09ZT9mKHQsbixvLGkscik6InNsaWRlIj09PWU/by1uOiJjcm9wU2xpZGUiPT09ZT9NYXRoLm1pbihvLW4sZih0LG4sbyxpLHIpKToia2VlcE5vbkZpdHRpbmciIT09ZSYmcChlKT90PG4/by10OnQ+bz90LW46dm9pZCAwOnZvaWQgMH1mdW5jdGlvbiBwKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmInNsaWRlT3ZlcmZsb3ciPT09ZS5raW5kfWZ1bmN0aW9uIGYoZSx0LG4sbyxpKXtpZihvPj0xfHxvPD0wKXJldHVybiBmdW5jdGlvbihlLHQsbixvKXtjb25zdCBpPU1hdGgubWF4KDAsZS10KSxyPU1hdGgubWF4KDAsbi1lKSxhPW8+MD9pL286TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGM9bzwxP3IvKDEtbyk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiBNYXRoLm1pbihhLGMpfShlLHQsbixvKTtjb25zdHthdmFpbGFibGVTcGFjZVN0YXJ0OnIsYXZhaWxhYmxlU3BhY2VFbmQ6YX09UChvLGksZSx0LG4pO3JldHVybiBNYXRoLm1heCgwLHIpK01hdGgubWF4KDAsYSl9ZnVuY3Rpb24gUChlLHQsbixvLGkpe2NvbnN0IHI9dCpNYXRoLm1heChlLDApLGE9dCpNYXRoLm1heCgxLWUsMCk7cmV0dXJue2F2YWlsYWJsZVNwYWNlU3RhcnQ6TWF0aC5taW4obi1vLHIpLGF2YWlsYWJsZVNwYWNlRW5kOk1hdGgubWluKGktbixhKX19ZnVuY3Rpb24gbShlKXtyZXR1cm4gZS5pbml0aWFsQ29udGVudFNpemVQeC53aWR0aC1lLmNvbnRlbnRTaXplUHgud2lkdGh9ZnVuY3Rpb24gYihlKXtyZXR1cm4gZS5jb250ZW50U2l6ZUFmdGVyV2lkdGhSZXN0cmljdGlvblB4LmhlaWdodC1lLmNvbnRlbnRTaXplUHguaGVpZ2h0fWZ1bmN0aW9uIHgoZSl7cmV0dXJuIGUuc2xpZGUueCtlLnNsaWRlLnl9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXIoe3g6ZS5hbmNob3JlZFB4LngtZS5jb250ZW50UG9pbnRGcmFjdGlvbi54KmUuY29udGVudFNpemVQeC53aWR0aCx5OmUuYW5jaG9yZWRQeC55LWUuY29udGVudFBvaW50RnJhY3Rpb24ueSplLmNvbnRlbnRTaXplUHguaGVpZ2h0LHdpZHRoOmUuY29udGVudFNpemVQeC53aWR0aCxoZWlnaHQ6ZS5jb250ZW50U2l6ZVB4LmhlaWdodH0pLG89cih0KTtyZXR1cm57bGVmdDpNYXRoLm1heCgwLG8ubGVmdC1uLmxlZnQpLHJpZ2h0Ok1hdGgubWF4KDAsbi5yaWdodC1vLnJpZ2h0KSx0b3A6TWF0aC5tYXgoMCxvLnRvcC1uLnRvcCksYm90dG9tOk1hdGgubWF4KDAsbi5ib3R0b20tby5ib3R0b20pfX0oZSx0KTtyZXR1cm4oMStuLmxlZnQrbi5yaWdodCkqKDErbi50b3Arbi5ib3R0b20pLTF9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntydWxlOmUsb3ZlcmZsb3c6ZyhlLHQpLHdpZHRoRGlmZjptKGUpLGhlaWdodERpZmY6YihlKSxzbGlkZTp4KGUpfX1mdW5jdGlvbiBFKGUpe3JldHVybiAwPT09ZS5vdmVyZmxvdyYmMD09PWUud2lkdGhEaWZmJiYwPT09ZS5oZWlnaHREaWZmJiYwPT09ZS5zbGlkZX1mdW5jdGlvbiB2KGUsdCxuLG8scil7Y29uc3R7cnRsOmEsc2Nyb2xsQ29udGFpbmVyOmMsbWF4V2lkdGhDc3NQcm9wZXJ0eTpzPSJtYXgtd2lkdGgiLG1heEhlaWdodENzc1Byb3BlcnR5Omw9Im1heC1oZWlnaHQiLGNvbnRlbnRPdmVyZmxvd1dyYXA6ZD0hMH09cnx8e30saD1hP2kobyk6byxwPWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybjtjb25zdCB0PWUuc2Nyb2xsVG9wO3JldHVybigpPT57ZS5zY3JvbGxUb3A9dH19KGMpLGY9ZnVuY3Rpb24oZSx0KXtjb25zdCBuPXQubWFwKCh0PT5bdCxlLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodCldKSk7cmV0dXJuIG4uZm9yRWFjaCgoKFt0LG5dKT0+e24mJmUuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksKCk9PnsKbi5mb3JFYWNoKCgoW3Qsbl0pPT57ZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSkpfX0odCxbcyxsXSksUD10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IG09ZnVuY3Rpb24oKXtjb25zdCBvPVtdO2Zvcihjb25zdCBpIG9mIGgpe2NvbnN0IHI9dShlLHQsUCxuLHsuLi5pfSxzLGQpLGE9QyhyLG4pO2lmKEUoYSkpcmV0dXJuIHI7by5wdXNoKGEpfXJldHVybiAxPT09KGk9bykubGVuZ3RoP2lbMF0ucnVsZTppLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUub3ZlcmZsb3chPT10Lm92ZXJmbG93P2Uub3ZlcmZsb3ctdC5vdmVyZmxvdzplLndpZHRoRGlmZiE9PXQud2lkdGhEaWZmP2Uud2lkdGhEaWZmLXQud2lkdGhEaWZmOmUuaGVpZ2h0RGlmZiE9PXQuaGVpZ2h0RGlmZj9lLmhlaWdodERpZmYtdC5oZWlnaHREaWZmOmUuc2xpZGUtdC5zbGlkZSkpWzBdLnJ1bGU7dmFyIGl9KCk7cmV0dXJuIGYoKSxwPy4oKSxtfW4uZCh0LHtjaG9zZVBvc2l0aW9uOigpPT52fSl9LDc3MTQ0NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gdC54PD1lLngmJmUueDw9dC54K3Qud2lkdGgmJnQueTw9ZS55JiZlLnk8PXQueSt0LmhlaWdodH1uLmQodCx7aXNJblJlY3Q6KCk9Pm99KX0sMjg2MzEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1JlY3RhbmdsZVBvc2l0aW9uZXI6KCk9Pnh9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nykscj1uLm4oaSksYT1uKDU2NTc0NSksYz1uKDU4NTQ4KSxzPW4oODY1MDApLGw9big0MDYyOTQpO2Z1bmN0aW9uIHUoKXtyZXR1cm57eDowLHk6MCx3aWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsaGVpZ2h0OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR9fXZhciBkPW4oMzE5NjkpLGg9big1MjUyNCk7dmFyIHA9big2MDE4NDEpO2Z1bmN0aW9uIGYoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJmlzRmluaXRlKGUpP2Ake2V9cHhgOnZvaWQgMH12YXIgUCxtPW4oODk1MzcpLGI9bi5uKG0pO2Z1bmN0aW9uIHgoZSl7Y29uc3R7aXNSdGw6dCxhbmNob3JlZEF0Om4saXNPcGVuOmkscGxhY2VtZW50UnVsZXM6UCxhbmNob3JQb3NpdGlvbmVyQ2FyZEFwcGVhcmFuY2VDbGFzc25hbWU6bSxyZWZPYmplY3RUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDp4LGNoaWxkcmVuOkMsb25QbGFjZW1lbnRSdWxlU2VsZWN0ZWQ6RSxnZXRSb290UmVjdDp2PXUsaWRPZkNvbnRlbnRXcmFwcGVyRWxlbWVudDp5LGFyaWFMYWJlbGxlZGJ5OlIsYXJpYU11bHRpc2VsZWN0YWJsZTp3LHJvbGU6Uyx3aWR0aDpPLGhlaWdodDpBLHJlcG9zaXRpb25UcmlnZ2VyczpNPVtdLHJlcG9zaXRpb25EZXBlbmRlbmNpZXM6VD1bXSxjb250ZW50UmVzaXplOkw9MTUsZGF0YVFhSWQ6TixzY3JvbGxDb250YWluZXI6Rixhc3N1bWVOb0NvbnRlbnRXcmFwOl99PWUsST0oMCxvLnVzZU1lbW8pKCgoKT0+KDAscC5pc0FycmF5KShQKT9QOltQXSksW1BdKSxXPSgwLG8udXNlUmVmKShudWxsKSxbeixEXT0oMCxvLnVzZVN0YXRlKSh2b2lkIDApLGs9ZnVuY3Rpb24oZSl7Y29uc3RbdCxuXT0oMCxvLnVzZVN0YXRlKSgoKCk9PlN5bWJvbCgpKSk7cmV0dXJuKDAsby51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9ZS5tYXAoKGU9Pntjb25zdCB0PSgpPT57bihTeW1ib2woKSl9O3JldHVybiBlLnN1YnNjcmliZSh0KSwoKT0+ZS51bnN1YnNjcmliZSh0KX0pKTtyZXR1cm4oMCxoLmZvcmtGbikoLi4udCl9KSxbLi4uZV0pLHR9KE0pOygwLG8udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpJiZXLmN1cnJlbnQ/RCgoMCxsLmNob3NlUG9zaXRpb24pKG4sVy5jdXJyZW50LHYoKSxJLHtydGw6ISF0LHNjcm9sbENvbnRhaW5lcjpGPy5jdXJyZW50LG1heEhlaWdodENzc1Byb3BlcnR5OiItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiLG1heFdpZHRoQ3NzUHJvcGVydHk6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heFdpZHRoIixjb250ZW50T3ZlcmZsb3dXcmFwOiFffSkpOkQodm9pZCAwKX0pLFtuLFcsdixJLGksayx0LEYsXywuLi5UXSksKDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKHo/LnJ1bGUmJkUpcmV0dXJuIEUoei5ydWxlKX0pLFt6Py5ydWxlLEVdKTtjb25zdCBWPSgwLGQudXNlTWVyZ2VkUmVmcykoW3gsV10pO2lmKCFpKXJldHVybiBudWxsO2NvbnN0e2NsYXNzbmFtZXM6SCxzdHlsZTpCfT1mdW5jdGlvbihlLHQsbil7Y29uc3Qgbz1bXSxpPXt9LHI9e3dpZHRoOnQsaGVpZ2h0Om59O2Zvcihjb25zdCB0IG9mWyJ3aWR0aCIsImhlaWdodCJdKXtjb25zdCBuPXJbdF07KEFycmF5LmlzQXJyYXkobik/bjpbbl0pLmZpbHRlcihhLmlzRXhpc3RlbnQpLmZvckVhY2goKG49Pntzd2l0Y2gobi5ieSl7Y2FzZSJjb250ZW50IjpyZXR1cm47Y2FzZSJjbGFzcyI6cmV0dXJuIHZvaWQgby5wdXNoKG4uY2xhc3NOYW1lKTtjYXNlImFuY2hvciI6e2NvbnN0IG89bi50eXBlPz8iZXhhY3QiO2lbZ1t0XVtvXV09ZihlW3RdKX19fSkpfXJldHVybntjbGFzc25hbWVzOm8sc3R5bGU6aX19KG4sTyxBKSxHPVttLGIoKS5wb3NpdGlvbmVyXSxqPSEoMSZMKSxVPSEoMiZMKSxRPSEoNCZMKSxYPSEoOCZMKSxZPXIoKShqJiZiKCkubm9Ib3Jpem9udGFsU2hyaW5rLFUmJmIoKS5ub0hvcml6b250YWxHcm93LFEmJmIoKS5ub1ZlcnRpY2FsU2hyaW5rLFgmJmIoKS5ub1ZlcnRpY2FsR3JvdykscT17Li4uQiwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItYW5jaG9yV2lkdGgiOmYobi53aWR0aCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvckhlaWdodCI6ZihuLmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvclRvcCI6ZihuLnkpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JMZWZ0IjpmKG4ueCl9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYy5Qb3J0YWwse2NsYXNzTmFtZTpiKCkucG9ydGFsfSx2b2lkIDA9PT16P28uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShiKCkuaW52aXNpYmxlLC4uLkgsLi4uRyxZKSxzdHlsZTpxLHJlZjpWLAoiZGF0YS1xYS1pZCI6Tn0sQyk6by5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpKC4uLkcsLi4uSCxZKSxzdHlsZTp7Ii0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFgiOnouY29udGVudFBvaW50RnJhY3Rpb24ueCwiLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSI6ei5jb250ZW50UG9pbnRGcmFjdGlvbi55LCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFgiOmYoei5hbmNob3JlZFB4LngpLCItLXVpLWxpYi1vdXQtcG9zaXRpb25lci1hbmNob3JlZFkiOmYoei5hbmNob3JlZFB4LnkpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhXaWR0aCI6Zih6Lm1heENvbnRlbnRTaXplUHgud2lkdGgpLCItLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItc2NyZWVuUmVzdHJpY3Rpb25NYXhIZWlnaHQiOmYoei5tYXhDb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQiOmYoei5jb250ZW50U2l6ZVB4LmhlaWdodCksIi0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCI6Zih6LmNvbnRlbnRTaXplUHgud2lkdGgpLC4uLnF9LC4uLigwLHMuY29udGVudFByb3BzKSh5LFIsdyxTKSxyZWY6ViwiZGF0YS1xYS1pZCI6Tn0sQykpfSFmdW5jdGlvbihlKXtlW2UuQWxsb3dIb3Jpem9udGFsU2hyaW5rPTFdPSJBbGxvd0hvcml6b250YWxTaHJpbmsiLGVbZS5BbGxvd0hvcml6b250YWxHcm93PTJdPSJBbGxvd0hvcml6b250YWxHcm93IixlW2UuQWxsb3dWZXJ0aWNhbFNocmluaz00XT0iQWxsb3dWZXJ0aWNhbFNocmluayIsZVtlLkFsbG93VmVydGljYWxHcm93PThdPSJBbGxvd1ZlcnRpY2FsR3JvdyJ9KFB8fChQPXt9KSk7Y29uc3QgZz17aGVpZ2h0OntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0SGVpZ2h0IixtYXg6Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhIZWlnaHQiLG1pbjoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCJ9LHdpZHRoOntleGFjdDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvckV4YWN0V2lkdGgiLG1heDoiLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heFdpZHRoIixtaW46Ii0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNaW5XaWR0aCJ9fX0sODY1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUsdCxuLG8pe3JldHVybntyb2xlOm8sImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOm4saWQ6ZX19bi5kKHQse2NvbnRlbnRQcm9wczooKT0+b30pfSwxOTQyNzUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TW9iaWxlUG9zaXRpb25lcjooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxyPW4ubihpKSxhPW4oODU0MzM4KSxjPW4oNTg1NDgpLHM9big4NjUwMCksbD1uKDc4Nzg5NSksdT1uKDU4NzE2OCksZD1uKDMxOTY5KSxoPW4oNzM4NDU4KSxwPW4oNTY1NTMwKSxmPW4ubihwKTtmdW5jdGlvbiBQKGU9ITApe2NvbnN0IHQ9d2luZG93LmlubmVyV2lkdGgtZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDt2YXIgbixvO2lmKGV8fCFoLmlzU2FmYXJpfHwwPT09dClyZXR1cm4gZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgiLS11aS1saWItcHJpdmF0ZS1zY3JvbGxUcmFwLXNjcm9sbC13aWR0aCIsYCR7dH1weGApLG49ZG9jdW1lbnQuYm9keSxvPWYoKS5ib2R5Tm9TY3JvbGwsbi5jbGFzc05hbWU9W24uY2xhc3NOYW1lLG9dLmpvaW4oIiAiKSwoKT0+eyFmdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5jbGFzc05hbWUucmVwbGFjZSh0LCIiKSxvPW4uc3BsaXQoIiAiKS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO2UuY2xhc3NOYW1lPW99KGRvY3VtZW50LmJvZHksZigpLmJvZHlOb1Njcm9sbCksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoZigpLmJvZHlOb1Njcm9sbCl8fGRvY3VtZW50LmJvZHkuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgiKX19dmFyIG09big3ODg0NjUpLGI9bi5uKG0pO2NvbnN0IHg9ZT0+e2UmJmcoZSl9O2Z1bmN0aW9uIGcoZSl7ZS5zY3JvbGxUb3A9NWUzLGUuc2Nyb2xsTGVmdD01ZTN9Y29uc3QgQz0oMCx1LmRlZmF1bHQpKChlPT57ZyhlLmN1cnJlbnRUYXJnZXQpfSksMTAwKTtmdW5jdGlvbiBFKGUpe2NvbnN0e3JlZmVyZW5jZTp0LGRpc2FibGVTYWZhcmlTY3JvbGxiYXJzOm49ITB9PWUsaT0oMCxkLnVzZU1lcmdlZFJlZnMpKFt4LHRdKTtyZXR1cm4oMCxvLnVzZUxheW91dEVmZmVjdCkoKCgpPT5QKG4pKSxbbl0pLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmIoKS5zY3JvbGxUcmFwLHJlZjppLG9uU2Nyb2xsOkN9LGUuY2hpbGRyZW4sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YigpLnNjcm9sbFRyYXBDb250ZW50fSkpfXZhciB2PW4oMTI5MzY1KSx5PW4oOTk1NzM4KSxSPW4ubih5KTtmdW5jdGlvbiB3KCl7cmV0dXJuIGguaXNTYWZhcmkmJmguaXNJT1M/by5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCwoMCx2LmNyZWF0ZVBvcnRhbCkoby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6UigpLnN0dWJ9KSxkb2N1bWVudC5ib2R5KSk6bnVsbH12YXIgUyxPPW4oMzI3ODA4KSxBPW4ubihPKTtmdW5jdGlvbiBNKGUpe2NvbnN0IHQ9KDAsby51c2VSZWYpKG51bGwpLHtpc09wZW46bixvbkNsb3NlOmksY2hpbGRyZW46dSxjYXJkQXBwZWFyYW5jZUNsYXNzbmFtZTpkLGFuY2hvcmVkQXQ6aCxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpwPXQsc2lkZTpmPSJib3R0b20iLGlkT2ZDb250ZW50V3JhcHBlckVsZW1lbnQ6UCxhcmlhTGFiZWxsZWRieTptLGFyaWFNdWx0aXNlbGVjdGFibGU6Yixyb2xlOngsc3RyZXRjaDpnLGRhdGFRYUlkOkN9PWUsdj0oMCxsLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHApO3JldHVybigwLAphLnVzZUFuY2hvclBvcnRhbFBhaXIpKGgsdiksbj9vLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLG8uY3JlYXRlRWxlbWVudChjLlBvcnRhbCxudWxsLG8uY3JlYXRlRWxlbWVudChFLHtyZWZlcmVuY2U6dixkaXNhYmxlU2FmYXJpU2Nyb2xsYmFyczohMX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi4oMCxzLmNvbnRlbnRQcm9wcykoUCxtLGIseCksImRhdGEtcWEtaWQiOkMsY2xhc3NOYW1lOnIoKShBKCkuY29udGVudCxBKClbZl0sZCxnJiZBKCkuc3RyZXRjaCl9LHUpLG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToicHJlc2VudGF0aW9uIixjbGFzc05hbWU6QSgpLmJhY2tkcm9wLG9uQ2xpY2s6KCk9PntpKCExKX0sb25Qb2ludGVyRG93bjplPT57ZS5zdG9wUHJvcGFnYXRpb24oKX19KSkpLCJib3R0b20iPT09ZiYmby5jcmVhdGVFbGVtZW50KHcsbnVsbCkpOm51bGx9IWZ1bmN0aW9uKGUpe2UuU2lkZUJlZ2luPSJiZWdpbiIsZS5TaWRlRW5kPSJlbmQiLGUuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifShTfHwoUz17fSkpfSw4NTQzMzgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHM6KCk9PmQsaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFsczooKT0+dSx1c2VBbmNob3JQb3J0YWxQYWlyOigpPT5sfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMzg2MzgpLHI9big3NzE0NDcpO2NvbnN0IGE9bmV3IE1hcDtsZXQgYz0wO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD0oMCxvLnVzZUNhbGxiYWNrKSgoKCk9Pntjb25zdCB0PSgwLGkuZW5zdXJlKShlKTtyZXR1cm4iY3VycmVudCJpbiB0P3QuY3VycmVudDp0KCl9KSxbZV0pO2lmKGUpcmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe2NvbnN0IG49cyhlKSxpPXModCk7KDAsby51c2VFZmZlY3QpKCgoKT0+e2lmKG4mJmkpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1jKys7cmV0dXJuIGEuc2V0KG4sW2UsdF0pLCgpPT57YS5kZWxldGUobil9fShuLGkpfSksW24saV0pfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4oMCxyLmlzSW5SZWN0KSh7eDp0LHk6bn0sZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KGUsdCxuKSlyZXR1cm4hMDtmb3IoY29uc3QgbyBvZiBhLnZhbHVlcygpKXtjb25zdCBpPW9bMF0oKSxyPW9bMV0oKTtpZihpJiZyJiZlLmNvbnRhaW5zKGkpJiZ1KHIsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBkKGUsdCl7aWYoZS5jb250YWlucyh0KSlyZXR1cm4hMDtmb3IoY29uc3QgbiBvZiBhLnZhbHVlcygpKXtjb25zdCBvPW5bMF0oKSxpPW5bMV0oKTtpZihvJiZpJiZlLmNvbnRhaW5zKG8pJiZkKGksdCkpcmV0dXJuITB9cmV0dXJuITF9fSw5NTY3MzAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UG9zaXRpb25lckNvbnRleHRQcm92aWRlcjooKT0+cyx1c2VQb3NpdGlvbmVyQ29udGV4dDooKT0+bH0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNjIzNjEzKSxyPW4ubihpKTtjb25zdCBhPSgwLG8uY3JlYXRlQ29udGV4dCkoe2lzQW5jaG9yUG9zaXRpb25lcjohMSxpc01vYmlsZVBvc2l0aW9uZXI6ITF9KTt2YXIgYztmdW5jdGlvbiBzKGUpe2NvbnN0e3Bvc2l0aW9uZXI6dCxjaGlsZHJlbjpufT1lLGk9KDAsby51c2VNZW1vKSgoKCk9Pih7aXNBbmNob3JQb3NpdGlvbmVyOiJhbmNob3IiPT09dCxpc01vYmlsZVBvc2l0aW9uZXI6Im1vYmlsZSI9PT10fSkpLFt0XSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChhLlByb3ZpZGVyLHt2YWx1ZTppfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToibW9iaWxlIj09PXQ/cigpLm1vYmlsZUNvbnRleHQ6cigpLmFuY2hvckNvbnRleHR9LG4pKX1mdW5jdGlvbiBsKCl7cmV0dXJuKDAsby51c2VDb250ZXh0KShhKX0hZnVuY3Rpb24oZSl7ZS5BbmNob3I9ImFuY2hvciIsZS5Nb2JpbGU9Im1vYmlsZSJ9KGN8fChjPXt9KSl9LDUyNTI0KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyguLi5lKXtyZXR1cm4oLi4udCk9PntlLmZvckVhY2goKGU9PmU/LiguLi50KSkpfX1uLmQodCx7Zm9ya0ZuOigpPT5vfSl9LDcwNjk0MyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oKXtjb25zdCBlPW5ldyBTZXQ7cmV0dXJue3N1YnNjcmliZTp0PT57ZS5hZGQodCl9LHVuc3Vic2NyaWJlOnQ9PntlLmRlbGV0ZSh0KX0sZmlyZTooKT0+e2UuZm9yRWFjaCgoZT0+ZSgpKSl9fX1uLmQodCx7Y3JlYXRlU2lnbmFsOigpPT5vfSl9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55336.faa77164a5636d826475.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.824Z","timestamp":1785136429824,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/55336.faa77164a5636d826475.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-8a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6ee76dba5c70ff94c3ef89407b386fa1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.232Z","timestamp":1785136428232,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/tZOSQBP946Q\r\nCookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; YSC=seM8HdZ9Ato; __Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; VISITOR_INFO1_LIVE=-NYM_ljp5ZA; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D\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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 49693\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:04:18 GMT\r\nexpires: Sat, 24 Jul 2027 13:04:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 238170\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":433272,"size_decoded":50599,"mime_type":"text/css; charset=UTF-8","magic":"Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"d1d542d1ae2669dbf300aeeeb134bd3f","sha1":"a50e6db2d43b5b3a3275086de228e20b06f4784d","sha256":"855047a3d1daf90c03574fd819aea0dc8b98c9b50256a57a335150e07ede8b3f","sha512":"dd92ae6fe58394aeb38127615e817c06473994520d10d243a644393643861155516b3a66d15a50f5350d822a403944a6d6481455d3c91c440dde1bb90859037a","ssdeep":"12288:07bPIcclM34rEVNVQeTBwKkIjr8UM8zIcsRHphJMJarzQ5MEJwq5nP/ZkvCBQa/f:0YaMSqHxGmjlVa","tlshash":"cb94c97255122258f0179731bbe2fe06b562d117c25a3aafe442ff1cc6ef1e12e6260d","first_seen":"2026-07-24T13:29:06.288153Z","last_seen":"2026-07-27T16:56:48.623888Z","times_seen":559,"resource_available":false,"data":"OnJvb3R7LS10N2Y0ZjJjNmQ1NDgzNmNlMDppbml0aWFsOy0tdDdkOGI4ZTVlZTI5MWFlYzA6aW5pdGlhbDstLXQ0NzI2YzY4ZWY2ZDdiMDhmOmluaXRpYWw7LS10ZjBhMGQxMTU0ODI3ODQ3Zjppbml0aWFsOy0tdDNlNDFkN2IxN2IxODdmNjk6aW5pdGlhbDstLXRmZjY1OTkzMzg0YmI0NTYwOmluaXRpYWw7LS10ZTI4NjdiMTNkNzcxZDA1NTppbml0aWFsOy0tdDkzM2Q3OTIyZjMxNThkYzU6aW5pdGlhbDstLXQyNjRlMmM5Y2I4Nzg5MWY5OmluaXRpYWw7LS10MjA2ZjNmYTJlMDFhZjIyZDppbml0aWFsOy0tdDM0ZjQ2ZjBmMmMxM2QzMjg6aW5pdGlhbDstLXQ4NTRjNzkzMzhkOGNhOGE3OmluaXRpYWw7LS10MjA0ODA3MTdkZTgwZjU1NTppbml0aWFsOy0tdDJkODA3YmI3OWU3NTYwNmQ6aW5pdGlhbDstLXQ2MTdkYjc3NmFmMGRlMTk2OmluaXRpYWw7LS10YjYyODExN2ZjMTY0YWQ4Nzppbml0aWFsOy0tdGQ1NDVkZjA0ZTJjNjU5ZDc6aW5pdGlhbDstLXQ1Mzk5MWQ1OTliMTQ4OGY1OmluaXRpYWw7LS10YTg4OWRmZGE5NjA1YTM1ODppbml0aWFsOy0tdDU5NzhkYThkNTg0YjhmZTk6aW5pdGlhbDstLXQxMjRiN2RhZmU5YmMzNjZkOmluaXRpYWw7LS10ZGJlNTBkMjdkNTFmNTA5Mzppbml0aWFsOy0tdGE1NjRkODIxMmJjY2IxNmE6aW5pdGlhbDstLXQ5OWY3NzQ2ODRjYmI5NzAzOmluaXRpYWw7LS10NGU2ZGY5YjJiNmI5N2UwMDppbml0aWFsOy0tdGI4YjMxYWM1NjJmYmU5YjU6aW5pdGlhbDstLXQ1ODg0NjcyMDA0ZDU2MTIwOmluaXRpYWw7LS10ZWY3MGNhMjQ1NDQ1YjUyYjppbml0aWFsOy0tdDRmMDkyMmU1YTNkMGMyMGY6aW5pdGlhbDstLXQ3ZGZhNmY4NGM5MzQ2ZWRmOmluaXRpYWw7LS10ZWNiZGY5MjRiNjNiMjdmYzppbml0aWFsOy0tdDE0MDVlNzBhMzkyNzYyOTM6aW5pdGlhbDstLXRhZDg0NDNmYWVkNjZjMTExOmluaXRpYWw7LS10ZTZkMmI0MjhkZTY4NTU0YTppbml0aWFsOy0tdGM5ODBjNTQ3ODEyNGM4Yzc6aW5pdGlhbDstLXQ5NjU2NDRlY2RiZTRiN2I4OmluaXRpYWw7LS10YjE0YTEwYzNiNDNhMTVhMzppbml0aWFsOy0tdGIxM2ZmODc5NzgyOWU3OWU6aW5pdGlhbDstLXRlNTY2OGU2MTExYWJhMGVkOmluaXRpYWw7LS10YTdkNjI4ZmFjZmU4NGQxODppbml0aWFsOy0tdGJlNDIyNjk1MzQ2NTVlNjc6aW5pdGlhbDstLXRhYjgwNTkyMzYwNjNjYWRiOmluaXRpYWw7LS10NzM1ZTQzNWE4YjdhZDY3Yzppbml0aWFsOy0tdDIxYWYwOGZkYmY2YTE0MDY6aW5pdGlhbDstLXRjNjA0MTEzZDA5ZmVlMDVkOmluaXRpYWw7LS10MDhhN2M2YzE3NmNiYzVjMjppbml0aWFsOy0tdDhjZGM5ODQ2YTc2Y2FmMWY6aW5pdGlhbDstLXRlMWI2NGU2OTcxMDQwMzk2OmluaXRpYWw7LS10NDE2ZTU5MzFmYzQ2NDU4OTppbml0aWFsOy0tdGI3ZDc0YmIzMjkxYzk1MWQ6aW5pdGlhbDstLXRmM2ZjODU1YWYyMjg1ZjVmOmluaXRpYWw7LS10MGExMjQ5ZjdjOWU4MmI1ZTppbml0aWFsOy0tdDAyYzBhMmM4NjhjMTRjZTg6aW5pdGlhbDstLXRkODU2MmNkYzIwM2JjNjgzOmluaXRpYWw7LS10NTNkZGE5MTI1ZThkMTMyNDppbml0aWFsOy0tdDU0NGUzMTcxNGY2M2Q1M2M6aW5pdGlhbDstLXQ4N2VhYmYxMTNhMTVhYzk2OmluaXRpYWw7LS10ODU4YjgwOWY4MDQ0ZTk2Mjppbml0aWFsOy0tdDBmNTkyOTFjZTU1MDQ1NDM6aW5pdGlhbDstLXRmYWFlOTY2OTJjYzE4MmU0OmluaXRpYWw7LS10NTE4ZTkyNWY2MWJkY2I5MTppbml0aWFsOy0tdGI5MjdmNWMwMTQ5MDA0YzY6aW5pdGlhbDstLXQ4MzJmMjJjZTY2MThlOTllOmluaXRpYWw7LS10NDViMmEzODMxNDkyNDM1Nzppbml0aWFsOy0tdDY5MzFhYTE4MjZiMzczYjI6aW5pdGlhbDstLXRlZDQyMzY1MzY4OTllNGIzOmluaXRpYWw7LS10ZGM4YWY2NzUwZjBkYWQwZDppbml0aWFsOy0tdDM0MTBjOTE2NDllNWViOGE6aW5pdGlhbDstLXQ0YWVhYTg1N2RlOGE3ODZiOmluaXRpYWw7LS10Mjk2YzdmODFkZDA5YTljMzppbml0aWFsOy0tdGZhMzQ3NWM1MDhmNWRmZWY6aW5pdGlhbDstLXQ5YmMwYjc0MDI0MmRhMDE3OmluaXRpYWw7LS10NDQxYTBlNDRlNDk1MzgxYTppbml0aWFsOy0tdGRlNDEzMzhmYzJiZDRiYTU6aW5pdGlhbDstLXQ0ZDc3NzZjMjhkYjIxMTIyOmluaXRpYWw7LS10N2UzNGQ1YmFhNGVhNjI3Nzppbml0aWFsOy0tdGM0YjI2MDQyZDRjYjE0MWY6aW5pdGlhbDstLXQ1MjA4ZmQxNzdhNzg4Y2ZhOmluaXRpYWw7LS10ZmZjMmZkM2E2NDRmNjI3NTppbml0aWFsOy0tdDYyMTYxODZjMjhiMzgzNGI6aW5pdGlhbDstLXQ0YTZkYTE5ZTE2YmYyMjFhOmluaXRpYWw7LS10ZDljMTlmNGY4Y2VjZDU2ZTppbml0aWFsOy0tdDNmM2JkYjQxNDBkM2VhZDc6aW5pdGlhbDstLXQ5MDRhODhjNjIzY2EyN2FiOmluaXRpYWw7LS10MmMzYmJmZjZjMTVhM2ViMjppbml0aWFsOy0tdDBjY2QxYWNlMDAwZDVlOTM6aW5pdGlhbDstLXRjODdmNmE3ZjA1ZTY1ZmM0OmluaXRpYWw7LS10YzA0YmEzZTczNTYxOTUzYzppbml0aWFsOy0tdDdjNDk2NWMxMWY4NTM3YzA6aW5pdGlhbDstLXQ0MzJmYmRiZDdmMmYzZjcxOmluaXRpYWw7LS10YWYxYmRkOTYxNDIzYzE1Zjppbml0aWFsOy0tdDlkN2JkY2FlZmM5NzVkNDQ6aW5pdGlhbDstLXQ0ZmIwZjY3YjI1MWUxYTQyOmluaXRpYWw7LS10YTA4ZTAzNjQxMGMxNDUzODppbml0aWFsOy0tdDdmOWI3ZTE2MDNlMjBiOTQ6aW5pdGlhbH0uZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE2cHg7bWFyZ2luOjAgYXV0bztvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjEuM3JlbTtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6bm9uZX0uZGlhbG9nLm1vZGVybi1kaWFsb2d7Ym94LXNoYWRvdzowIDAgMjRweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSl9LmRpYWxvZy5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHh9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dHtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czoyNHB4fS5kaWFsb2ctYm9keXtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWF4LWhlaWdodDozMDBweDttYXgtaGVpZ2h0OjEwMHZofS5kaWFsb2cuc2Nyb2xsYWJsZSAuZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTp2aXNpYmxlO292ZXJmbG93LXg6dmlzaWJsZTttYXgtaGVpZ2h0OnVuc2V0fS5kaWFsb2ctY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9LmRpYWxvZy1oZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaWFsb2ctYnV0dG9ucywuZGlhbG9nLWhlYWRlcntmbGV4LXNocmluazowfS5kaWFsb2ctYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjEycHh9LmRpYWxvZy1idXR0b25zPip7bWFyZ2luLWxlZnQ6OHB4fS5kaWFsb2ctYnV0dG9ucz46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uZGlhbG9nLWZsZXgtYnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9LmRpYWxvZy1mbGV4LWJ1dHRvbiAuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjowfS5kaWFsb2ctYm9keSBhLC5kaWFsb2ctaGVhZGVyIGF7Y29sb3I6IzA2NWZkNH0uZGlhbG9nLWJvZHkgeXRtLW1lbnUtaXRlbSBhe2NvbG9yOmN1cnJlbnRjb2xvcn1AbWVkaWEgKG1pbi13aWR0aDozMzBweCkgYW5kIChtaW4taGVpZ2h0OjMzMHB4KXsuZGlhbG9ne21pbi13aWR0aDoyNTBweDttYXgtd2lkdGg6MzU2cHh9LmRpYWxvZy1jb250YWluZXJ7bWFyZ2luOjAgNDBweDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfX0uZGlhbG9nLWZ1bGxzY3JlZW57bWluLXdpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtoZWlnaHQ6MXB4fS5kaWFsb2ctZnVsbHNjcmVlbj4uZGlhbG9nLWJvZHl7aGVpZ2h0OjEwMCV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dC5kaWFsb2ctZnVsbHNjcmVlbntib3JkZXItcmFkaXVzOjB9LmRpYWxvZy1jb250YWluZXIuZGlhbG9nLWZ1bGxzY3JlZW57bWFyZ2luOjB9YzMtdG9hc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTRweCAyNHB4O2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwZjBmMGY7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO21hcmdpbi1ib3R0b206LTEwMCV9YzMtdG9hc3QuaHVnLXRvYXN0e21heC13aWR0aDozNDRweH1jMy10b2FzdC5pbnZlcnNlLXRoZW1le2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDMwMzAzfWMzLXRvYXN0LmludmVyc2UtdGhlbWUgLmJ1dHRvbi13aXRoLWljb257Y29sb3I6IzA2NWZkNH1baGFzLXNhZmUtYXJlYS1pbi1tYXg9dHJ1ZV0gYzMtdG9hc3R7cGFkZGluZzoxNHB4IDI0cHg7cGFkZGluZzoxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSAxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpfVtoYXMtcGl2b3QtYmFyPXRydWVdIGMzLXRvYXN0ey0tc2FmZS1hcmVhLWluc2V0LXRvcDplbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7LS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtib3R0b206NDhweDtib3R0b206Y2FsYyg0OHB4ICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO21hcmdpbi1ib3R0b206LTEwMCU7bWFyZ2luLWJvdHRvbTpjYWxjKC0xMDAlICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO3otaW5kZXg6Mn1bbW9kYWwtb3Blbi1ib2R5XSBjMy10b2FzdCxbc2hvcnRzLXBsYXllcj10cnVlXSBjMy10b2FzdHtib3R0b206OHB4O21hcmdpbi1ib3R0b206LTEwMCU7ei1pbmRleDo1fWMzLXRvYXN0W2Rpcj1vdXRde3RyYW5zaXRpb246bWFyZ2luIDE5NW1zIGN1YmljLWJlemllciguNCwwLDEsMSl9YzMtdG9hc3RbZGlyPWluXXt0cmFuc2l0aW9uOm1hcmdpbiAyMjVtcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO21hcmdpbi1ib3R0b206MH1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwaW5uZXJXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0uc3Bpbm5lcj4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1odG1se2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmfWJvZHl7bWFyZ2luOjA7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtmb250LXNpemU6MS4ycmVtO292ZXJmbG93LXg6aGlkZGVufVtoaWRkZW5dW2hpZGRlbl17ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufXl0bS1hcHA+LnNwaW5uZXJ7bWFyZ2luLXRvcDoxMDBweH15dG0taGVhZGVye2Rpc3BsYXk6YmxvY2t9aGVhZGVye2hlaWdodDo0OHB4fS5wbGF5ZXItY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfVtoYXMtcGxheWVyLWN1c3RvbS1jb250cm9sPXRydWVdIC5wbGF5ZXItY29udGFpbmVye292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fSNwbGF5ZXIuaW5saW5lLXBsYXllci1oaWRkZW4sLmlubGluZS1wbGF5ZXItaGlkZGVue29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206NTYuMjUlO292ZXJmbG93OmhpZGRlbn0ucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5wbGF5ZXItY2luZW1hdGljc3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojMDAwfS5wbGF5ZXItY2luZW1hdGljc34jcGxheWVyLnBsYXllci1zaXplLC5wbGF5ZXItY2luZW1hdGljc34ucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5wYWdlLXNob3J0cyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOjB9LnBsYXllci1jb250YWluZXIgLnBsYXllci1hcGl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5wbGF5ZXItYXBpW2hpZGRlbl0sLnBsYXllci1hcGlbbG9hZGluZz10cnVlXSwucGxheWVyLWFwaVtwbGF5YWJsZT1mYWxzZV17ZGlzcGxheTpub25lfSNwbGF5ZXIuaW5saW5lLW9uLXRodW1ibmFpbHtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9LnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLXBsYXllcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH15dG0tYXBwe2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDpoaWRkZW59W2hhcy1zb2Z0LWJhcj10cnVlXSB5dG0tYXBwe3BhZGRpbmctYm90dG9tOjMwcHh9W2hhcy1waXZvdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTo0OHB4fXl0bS1oZWFkZXIuaXMtYXV0b21vdGl2ZSx5dG0taGVhZGVyLnN0aWNreS1wbGF5ZXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuaXMtYXV0b21vdGl2ZSx5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zaG9ydHMtdG9wYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0O3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgMCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIub3V0e3RvcDotNDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIuaW57dG9wOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH0ucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfS5wbGF5ZXItY29udGFpbmVyLmhlYWRlci1pbi1wbGF5ZXIsLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3RvcDowfXl0bS1hcHAuaXMtYXV0b21vdGl2ZSx5dG0tYXBwLnN0aWNreS1wbGF5ZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo0OHB4fXl0bS1hcHAuaXMtYXV0b21vdGl2ZS5oZWFkZXItaW4tcGxheWVyLHl0bS1hcHAuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3BhZGRpbmctdG9wOjB9QG1lZGlhIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAyNTZweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItYWxsLWxhbmRzY2FwZS10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjE2Lzkpey5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2FzcGVjdC1yYXRpbzoxNi85fX0ubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoyMS8xMCkgYW5kIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTYvOSkgYW5kIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206dW5zZXQ7aGVpZ2h0OmF1dG87YXNwZWN0LXJhdGlvOjE2Lzl9fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcntyaWdodDo3MnB4fS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOmNhbGMoNTYuMjUlIC0gOTZweCl9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7aGVpZ2h0OmNhbGMoNTYuMjV2dyAtIDk2cHgpO3BhZGRpbmctYm90dG9tOnVuc2V0O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21heC1oZWlnaHQ6Y2FsYygxMDBzdmggLSA0OHB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWF4LXdpZHRoOjMyMHB4KSBhbmQgKG1heC1oZWlnaHQ6MjQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLWFwcHtwYWRkaW5nLXRvcDo0OHB4fXl0bS1oZWFkZXIseXRtLWhlYWRlci1iYXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0fX0uY29udGVudC1lcnJvcntmb250LXNpemU6MS40cmVtO3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcn0jcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO29iamVjdC1maXQ6Y292ZXI7bWluLWhlaWdodDowfSNwbGF5ZXItY29udGFpbmVyLWlkW3BsYXlhYmxlPXRydWVdICNwbGF5ZXItdGh1bWJuYWlsLW92ZXJsYXl7dmlzaWJpbGl0eTpoaWRkZW59Ym9keS5wYWdlLXNob3J0cyxodG1sW3BhZ2Utc2hvcnRzXXtvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6bm9uZX1ib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgI2hlYWRlcixib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye2Rpc3BsYXk6bm9uZX1ib2R5LnBhZ2Utc2hvcnRzICNwbGF5ZXItY29udGFpbmVyLWlkLGJvZHkucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgI3BsYXllcntoZWlnaHQ6MTAwJTt0b3A6MH0qey1tcy1mbGV4OjAgMSBhdXRvfWJ1dHRvbntwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1odG1se3dvcmQtd3JhcDpicmVhay13b3JkO2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIFtyb2xlPWJ1dHRvbl0sYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYSxib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBidXR0b257LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWh0bWxbZGFya2VyLWRhcmstdGhlbWVde2JhY2tncm91bmQtY29sb3I6I2ZmZn1odG1sLndhdGNoLXNjcm9sbHtzY3JvbGwtcGFkZGluZy10b3A6NDhweH1odG1sLndhdGNoLXNjcm9sbC5zdGlja3ktcGxheWVye3Njcm9sbC1wYWRkaW5nLXRvcDpjYWxjKDQ4cHggKyA1Ni4yNXZ3KX1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9aW5wdXQ6Zm9jdXN7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b20td2lkdGg6MnB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAzMDMwM31pbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21pbi1oZWlnaHQ6OC40cmVtO3dpZHRoOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7cGFkZGluZzo4cHh9dGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfWZvcm17bWFyZ2luOjB9YXtjb2xvcjpjdXJyZW50Q29sb3I7dGV4dC1kZWNvcmF0aW9uOm5vbmV9aDF7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDttYXJnaW4tYm90dG9tOjB9aDJ7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS44cmVtO21hcmdpbi1ib3R0b206MH1oM3tkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWJvdHRvbTowfWg0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuM3JlbTttYXJnaW4tYm90dG9tOjB9aW1ne21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHg7ZmlsdGVyOm5vbmV9aW1nOm5vdChbc3JjXSl7dmlzaWJpbGl0eTpoaWRkZW59OmZvY3Vze291dGxpbmU6bm9uZX1we21hcmdpbjowfS5pdGVte21hcmdpbi10b3A6MTJweDtkaXNwbGF5OmJsb2NrfS5pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lml0ZW17bWFyZ2luLXRvcDo4cHh9fS5pbWFnZS1vdmVybGF5LXRleHR7dGV4dC1zaGFkb3c6MXB4IDFweCBoc2xhKDAsMCUsNi43JSwuMiksLTFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggLTFweCBoc2xhKDAsMCUsNi43JSwuMiksMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpfSNwbGF5ZXItY29udHJvbC1jb250YWluZXJ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfVtkaXI9cnRsXSAjcGxheWVyLXNob3J0cy1jb250YWluZXJ7ZGlyZWN0aW9uOnJ0bH1bZmF1eC1mdWxsc2NyZWVuPXRydWVdICNwbGF5ZXItY29udHJvbC1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLFtzaG9ydHMtcGxheWVyPXRydWVdICNwbGF5ZXItc2hvcnRzLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3BhZGRpbmctYm90dG9tOjB9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6ZnVsbHNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemV7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlO2FzcGVjdC1yYXRpbzphdXRvfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV1bZnVsbHNjcmVlbi1yZWplY3RlZD10cnVlXSAjYXBwe2Rpc3BsYXk6bm9uZX1bc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAuaHRtbDUtdmlkZW8tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyOm5vdCguc2hvcnRzLXRvcGJhcil7b3ZlcmZsb3c6dmlzaWJsZTt6LWluZGV4OjR9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnl0cC11bm11dGUueXRwLXBvcHVwe3RvcDo3NXB4O2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCl9W3JvbGU9YnV0dG9uXSxidXR0b24saW5wdXRbdHlwZT1jaGVja2JveF0sc2VsZWN0e2N1cnNvcjpwb2ludGVyfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXXt3aWR0aDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci13aWR0aCk7aGVpZ2h0OnZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLWhlaWdodCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6dmFyKC0tYWN0aW9uLWJ1dHRvbi1mdWxsLXdpZHRoLW5lZ2F0aXZlKTtwYWRkaW5nLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJde3dpZHRoOmNhbGModmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpICsgNzJweCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe21hcmdpbi1yaWdodDowO3BhZGRpbmctcmlnaHQ6MH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3QtYWN0aW9uLWJhcl0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3ttYXJnaW4tYm90dG9tOjE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXlde3dpZHRoOjEwMCV9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXldIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe3dpZHRoOmNhbGMoKDEwMCUgLSBtYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLCAzMTVweCkpLzIpO21hcmdpbi1yaWdodDptYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLDMxNXB4KTtwYWRkaW5nLXJpZ2h0OjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDttaW4td2lkdGg6MzYwcHg7bWF4LXdpZHRoOjQ4MHB4O3BhZGRpbmctbGVmdDoxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDZweCByZ2JhKDAsMCwwLC40KSl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsMC44KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmQ7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWluLXdpZHRoOjA7bWFyZ2luOjAgMCAxNnB4IDE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbZGF0YS1oYXMtaW5mby1wYW5lbD10cnVlXSsuUHJvZ3Jlc3NCYXJTaG93aW5ne3BhZGRpbmctdG9wOjE2cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7aGVpZ2h0OjI0cHg7cGFkZGluZzozcHggNHB4IDNweCAwfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgNHB4IDE2cHggNHB4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6MnB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb257bWFyZ2luOjAhaW1wb3J0YW50O21pbi13aWR0aDowO3RleHQtdHJhbnNmb3JtOm5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHR7bWFyZ2luLXRvcDo3cHg7bWF4LXdpZHRoOjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlcnttYXgtd2lkdGg6NjRweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlcnttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmJsb2NrOy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1yaWdodDo0cHg7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgcGl2b3QtYnV0dG9uLXZpZXctbW9kZWwsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYnV0dG9uLXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4zZW19LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjB9fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBidXR0b24+LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIHl0bS1wcm9maWxlLWljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24sLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tZm9yY2VkLW11dGUtbWVzc2FnZS1yZW5kZXJlcnttaW4taGVpZ2h0OjQwcHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHQsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtkaXNwbGF5Om5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlciAuaWNvbi1idXR0b257aGVpZ2h0OjMycHh9fS5sb2dvLWluLXBsYXllciwubW9iaWxlLXRvcGJhci1sb2dve2NvbG9yOiNmMDM7cGFkZGluZzowIDEycHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tbGVmdDotMXB4fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28sLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ297d2lkdGg6OTNweDtoZWlnaHQ6MjBweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLnNob3J0cy1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uc2hvcnRzLWxvZ297d2lkdGg6NzNweDtoZWlnaHQ6MjVweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nby1yZWQsLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ28tcmVke3dpZHRoOjEwMXB4fS5sb2dvLWluLXBsYXllci1lbmRwb2ludCwubW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt0ZXh0LWFsaWduOmxlZnR9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nb3tjb2xvcjojZmZmfS5tb25vY2hyb21hdGljIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrfXl0bS1zdWJzY3JpYmUtYnV0dG9uLXJlbmRlcmVyIC5idXR0b24tcmVuZGVyZXItaWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdWJzY3JpYmUtYnV0dG9uLWNvdW50e2NvbG9yOiM2MDYwNjA7Zm9udC1zaXplOjEuNHJlbTttYXJnaW46MCA4cHh9QGtleWZyYW1lcyBub3RpZmljYXRpb24tYmVsbC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo1O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9Lm5vdGlmaWNhdGlvbi1iZWxse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDotMnB4O2FuaW1hdGlvbjpub3RpZmljYXRpb24tYmVsbC1mYWRlLWluIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ubW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwYWRkaW5nLWxlZnQ6MH0uWXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0LC55dG1WaWRlb0luZm9FeHBhbmRlZCAubW9kZXJuLXN1YnNjcmliZS1idXR0b24gLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7dHJhbnNpdGlvbjpub25lfS53aXRoLW5vdGlmaWNhdGlvbi1iZWxsIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3BhZGRpbmctbGVmdDoyNHB4fS55dENvcmVJbWFnZUhvc3R7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoxcHg7bWluLXdpZHRoOjFweH0ueXRDb3JlSW1hZ2VMb2FkZWR7dmlzaWJpbGl0eTppbmhlcml0fS55dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHR7aGVpZ2h0OjEwMCV9Lnl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoe3dpZHRoOjEwMCV9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BMZWZ0e29iamVjdC1wb3NpdGlvbjp0b3AgbGVmdH0ueXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0e29iamVjdC1wb3NpdGlvbjp0b3AgcmlnaHR9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbHtvYmplY3QtZml0OmZpbGx9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdHtvYmplY3QtZml0OmNvbnRhaW59Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRDb3JlSW1hZ2VDb250ZW50TW9kZUNlbnRlcntvYmplY3QtZml0Om5vbmU7b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBjZW50ZXJ9Lnl0Q29yZUltYWdlRmxpcFJ0bHt0cmFuc2Zvcm06c2NhbGVYKC0xKX0ueXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUdyYWRpZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfTpyb290ey0teXQtYXR0cmlidXRlZC1zdHJpbmctbGluay1ob3Zlci1jb2xvcjp1bnNldH0ueXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0uMDdlbX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlzdEdyb3Vwey1tb3otcGFkZGluZy1zdGFydDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojMDY1ZmQ0fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rT3ZlcmxheUNhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOiMzZWE2ZmZ9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIC55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yOmhvdmVye2NvbG9yOnZhcigtLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3IpfS55dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRle2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlTm9XcmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZVByZVdyYXB7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ0lnbm9yZVNwbGl0TGluZXN7d2hpdGUtc3BhY2U6bm9ybWFsfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246bGVmdH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFJpZ2h0e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpyaWdodH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlcntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50SnVzdGlmaWVke2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpqdXN0aWZ5fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGF5b3V0U3RhcnR7ZGlzcGxheTpibG9jazthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRVbmtub3due2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjppbmhlcml0fS55dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmd7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2h7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTpsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaDt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmUgbGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25le3RleHQtZGVjb3JhdGlvbjpub25lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGV7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVEb3R7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpkb3R0ZWR9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3Vic2NyaXB0e3ZlcnRpY2FsLWFsaWduOnN1Yn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdXBlcnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdXBlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3due3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdJdGFsaWNpemVke2ZvbnQtc3R5bGU6aXRhbGljfS55dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmcze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCdXR0b25PckFuY2hvckhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QnV0dG9uT3JBbmNob3JCdXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjp1bnNldDt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRCdXR0b25PckFuY2hvckFuY2hvcntkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ueXRSYWRpb1NoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS55dFJhZGlvU2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi4wMDAwMDE7bWFyZ2luOjA7bGVmdDoxMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTtjb2xvcjojMDMwMzAzfS55dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UmFkaW9TaGFwZURpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0UmFkaW9TaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTZWxlY3Rpb25UZXh0e2NvbG9yOiM2MDYwNjA7bWFyZ2luLWxlZnQ6NHB4fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e21hcmdpbi1sZWZ0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxDaGV2cm9uSWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZXttYXgtaGVpZ2h0OjI0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye21pbi1oZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyLC55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSwueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiNmZmZ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3Nvcnl7Y29sb3I6I2ZmZn0ueXRDaGVja2JveFNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NDhweDt3aWR0aDoxMDAlO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hlY2tib3hTaGFwZUhvc3RDb21wYWN0e21pbi1oZWlnaHQ6NDBweH0ueXRDaGVja2JveFNoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5Oi4wMDAwMDE7ei1pbmRleDoxO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0Q2hlY2tib3hTaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZyAueXRDaGVja2JveFNoYXBlTGFiZWx7cGFkZGluZy1yaWdodDowfS55dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgMTJweH1pbnB1dDpjaGVja2Vkfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46Zmlyc3QtY2hpbGR7ZGlzcGxheTpub25lfWlucHV0Om5vdCg6Y2hlY2tlZCl+Lnl0Q2hlY2tib3hTaGFwZUNoZWNrYm94PjpsYXN0LWNoaWxke2Rpc3BsYXk6bm9uZX0ueXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30udG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dExpc3RWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRMaXN0Vmlld01vZGVsSG9zdEthaW9zU3BhdE5hdntwYWRkaW5nOjNweH19Lnl0RG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtwYWRkaW5nOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6MDstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsO21hcmdpbjphdXRvOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhIHl0bS1tZW51LXJlbmRlcmVye2hlaWdodDoxMDAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC52aWRlby10aHVtYm5haWwtaW1ne3dpZHRoOjY3cHg7aGVpZ2h0OjY3cHg7bWluLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NTAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5jaGFubmVsLXN1YnNjcmliZS1idXR0b257cGFkZGluZzowIDAgMCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtY29sb3ItcGFsZXR0ZS1hcHBsaWVkPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZHtvcGFjaXR5OjF9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0PmF7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0e3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZy1ib3R0b206NTYuMjUlfX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3QgLmVuZ2FnZW1lbnQtYmFye2hlaWdodDoyNHB4O21hcmdpbi10b3A6NHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTXVsdGljb2x1bW57cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5ZdG1Db21wYWN0TWVkaWFJdGVtSW1hZ2V7ZmxleC1zaHJpbms6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdlLnN0YWNrZWR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDo2cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6dmlzaWJsZX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9fUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGEuaGFzLWVuZ2FnZW1lbnQtYmFyIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhcltkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjEuMjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6NHB4IDB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXtkaXNwbGF5Oi13ZWJraXQtYm94O3doaXRlLXNwYWNlOm5vcm1hbH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnR7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnQuc3RhY2tlZHttYXJnaW4tdG9wOjhweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e3BhZGRpbmc6MH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZVBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDtvcGFjaXR5Oi42fS5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZFBsYWNlaG9sZGVye2hlaWdodDoxNnB4O3dpZHRoOjEyMHB4O21hcmdpbi1ib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6MnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowO2ZvbnQtc2l6ZToxLjRyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZSAueXRtLWNoYW5uZWwtbmFtZXtmb250LXNpemU6MS40cmVtfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjMuNzVlbTstd2Via2l0LWxpbmUtY2xhbXA6M319Lll0bUNvbXBhY3RNZWRpYUl0ZW1CeWxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRze2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MS4ycmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHN+Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0czpiZWZvcmV7Y29udGVudDoiwqDCt8KgIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cOnBvcG92ZXItb3BlbiwueXRQb3BvdmVyQ29tcG9uZW50SG9zdDpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1pbiAuMTVzIGVhc2UtaW59Lnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nLlw6cG9wb3Zlci1vcGVuLC55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZzpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1vdXQgNzVtcyBlYXNlLW91dCBmb3J3YXJkc30ueXRUb29sdGlwQ29udGFpbmVySG9zdHtkaXNwbGF5OmJsb2NrfS55dFRvb2x0aXBDb250YWluZXJEZWZhdWx0VG9vbHRpcENvbnRlbnR7cGFkZGluZzo4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnQsLnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50Qmx1cnJlZHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDJweCA4cHggIzAwMDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lckhvdGtleXtkaXNwbGF5OmlubGluZTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjAgNnB4O21hcmdpbi1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9OnJvb3R7LS15dC1saWdodC1yaW0tY29sb3I6dW5zZXQ7LS15dC1saWdodC13YXNoLW9wYWNpdHk6MDstLXl0LWxpZ2h0LXdhc2gteDowOy0teXQtbGlnaHQtd2FzaC15OjA7LS15dC1saWdodC13YXNoLXNpemU6OTZweDstLXl0LWxpZ2h0LXdhc2gtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS5jb250cmliWXRMaWdodFNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjUwJTtsZWZ0OjA7Ym9yZGVyLXJhZGl1czppbmhlcml0O2ZpbHRlcjpibHVyKDEwcHgpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlke2JhY2tncm91bmQ6I2ZmZn0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHRyYW5zbGF0ZSh2YXIoLS15dC1saWdodC13YXNoLXgsMCksdmFyKC0teXQtbGlnaHQtd2FzaC15LDApKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7d2lkdGg6dmFyKC0teXQtbGlnaHQtd2FzaC1zaXplLDk2cHgpO2hlaWdodDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7b3BhY2l0eTp2YXIoLS15dC1saWdodC13YXNoLW9wYWNpdHksMCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LWNvcm5lciBhdCBjZW50ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikgMCx0cmFuc3BhcmVudCAxMDAlKTtwb2ludGVyLWV2ZW50czpub25lO2ZpbHRlcjpibHVyKDE1cHgpfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdHtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87Y29udGFpbjpsYXlvdXQgc3R5bGUgcGFpbnQ7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbjpvcGFjaXR5IC40NXMgY3ViaWMtYmV6aWVyKC4yNSwxLC44LDEpfX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbi1kdXJhdGlvbjo0MG1zfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjJ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM306cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4wNX06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMjRweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC42KSAzNSUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDcwJSx0cmFuc3BhcmVudCAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2ZpbHRlcjpibHVyKDMycHgpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZmZmIDAscmdiYSgyNTUsMjU1LDI1NSwuNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA4MCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSx3aWR0aCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKSxoZWlnaHQgLjE1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjUsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdDpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvc3QueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e29wYWNpdHk6LjM1O3RyYW5zaXRpb24tZHVyYXRpb246LjA0c30uYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdHtkaXNwbGF5OmlubGluZX0uYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbntsaW5lLWhlaWdodDowO2ZpbGw6Y3VycmVudENvbG9yfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZlYXR1cmVQaG9uZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCA3cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgOHB4O3dpZHRoOjMycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHN7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MjRweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjEycHggMCAwIDEycHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjhweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMTZweCAxNnB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uKSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDExcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNe3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxNHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxNnB4O3dpZHRoOjUycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17aGVpZ2h0OjM2cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MzZweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxOHB4IDAgMCAxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMThweCAxOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uLC55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24pOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0KSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTRweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTZweDt3aWR0aDo1MnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6NzJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTHtoZWlnaHQ6NDhweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDo0OHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoyNHB4IDAgMCAyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI4cHggMjhweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6ODBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcntoZWlnaHQ6YXV0bztwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnV0dG9uVGV4dENvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6OHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T25lT2ZmQ3VzdG9tVGV4dFdyYXBDb250YWluZXIgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6Y2xpcH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0e21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0V29ya2Fyb3VuZEljb25Ob0JvcmRlclJhZGl1c3tib3JkZXItcmFkaXVzOnVuc2V0fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA2NWZkNH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNTU2YmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RhZGZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzAwN2E2NSAwLCM3ZjBlN2YgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzdmMGU3ZiAwLCNhYTA5YWEgMjAlLCNmZjRlNDUgMTAwJSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxMjcsMTQsMTI3LDAuMikgMCxyZ2JhKDE3MCw5LDE3MCwwLjIpIDIwJSxyZ2JhKDI1NSw3OCw2OSwwLjIpIDEwMCUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMCwxMjIsMTAxLDAuMikgMCxyZ2JhKDEyNywxNCwxMjcsMC4yKSAxMDAlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMTIyLDEwMSwwLjIpIDAscmdiYSgxMjcsMTQsMTI3LDAuMikgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHJnYmEoMCwwLDAsMC4xKSwwIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7bWFyZ2luOjRweCAtOHB4IDA7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsSXNPdmVybGF5IC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse21heC13aWR0aDo2NHB4O2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJyTnpCYWRnZVNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZXtiYWNrZ3JvdW5kOiNmMDM5MzY7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czowO2NvbG9yOmJsYWNrO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xle2JhY2tncm91bmQ6I2ZmZWYwMDtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xle2JhY2tncm91bmQ6IzQyYzc1ODtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNjYsODEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNDksMjE4KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJle2JhY2tncm91bmQ6cmdiKDI1MSwxOTMsMjEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjQ1LDEzMCwzMik7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMCwwKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOy1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXM6bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsVHJhaWxpbmdBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcj46bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbjpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEZpZWxkc2V0e2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b257bWFyZ2luOjAgMCA4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZ3stbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dMZWZ0QnV0dG9ue21hcmdpbi1yaWdodDo4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGh7d2lkdGg6MTAwJX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW57ZGlzcGxheTpub25lfS55dFNwZWNJY29uU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFNwaW5uZXJTaGFwZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGlubmVyU2hhcGVTcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9Lnl0U3Bpbm5lclNoYXBlU3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19Lnl0TG90dGllQ29tcG9uZW50SG9zdHtkaXNwbGF5OmJsb2NrfS55dExvdHRpZUNvbXBvbmVudEhvc3Qgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7bWFyZ2luOjB9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwtMTJweCk7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmFuaW1hdGVkLWxpa2UtaWNvbiAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTlweCwtOXB4KTtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsLTlweCk7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ueXRIb3Jpem9udGFsU2xpZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNsaWRlclNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjE2cHggMTJweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdDtjb2xvcjojOTA5MDkwfS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmctYm90dG9tOjA7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowO3dpZHRoOjEwMCU7aGVpZ2h0OjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luLXRvcDotNnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2Fse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21hcmdpbjowO3dyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDtkaXJlY3Rpb246cnRsfS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO3dpZHRoOjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi1yaWdodDotNnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LW1zLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOmF1dG87LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG99fS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjEwcHggMTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTttaW4taGVpZ2h0OjQ4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcntib3JkZXItYm90dG9tOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Q29tcGFjdHtwYWRkaW5nOjhweCAxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVye21hcmdpbjowfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZXtwb2ludGVyLWV2ZW50czpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGV7bWF4LWhlaWdodDoxLjhyZW19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0J1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDttYXJnaW4tbGVmdDoxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDoyNHB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3J7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3JGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcn0ueXRTaGVldFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFNoZWV0Vmlld01vZGVsQ29udGV4dHVhbHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgNHB4IDMycHggMCByZ2JhKDAsMCwwLDAuMSk7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWV0Vmlld01vZGVsUGFkZGVkQ29udGVudHtwYWRkaW5nOjE2cHggMH0ueXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcntiYWNrZHJvcC1maWx0ZXI6bm9uZX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDttYXJnaW46MCA4cHggMjRweDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMH1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoOjQxNnB4KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcnt3aWR0aDo0MDBweDttYXJnaW46MCBhdXRvIDI0cHggYXV0b319Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcntvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2N1cnNvcjotbW96LWdyYWI7Y3Vyc29yOmdyYWJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmd7Y3Vyc29yOi1tb3otZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5le2JhY2tncm91bmQ6IzAzMDMwMztvcGFjaXR5Oi4xNTtib3JkZXItcmFkaXVzOjRweDtoZWlnaHQ6NHB4O21hcmdpbjowIGF1dG87d2lkdGg6NDBweDttYXJnaW4tdG9wOjhweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJ7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldpdGhUaXRsZXttYXJnaW4tYm90dG9tOjdweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjEycHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwMzttYXgtaGVpZ2h0OjIwcHg7bWFyZ2luOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7bWF4LWhlaWdodDoyLjhyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEyOHB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21pbi1oZWlnaHQ6MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGh7bWluLXdpZHRoOjI1NnB4fS55dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmd7cGFkZGluZy1ib3R0b206OHB4fS55dENvbnRleHR1YWxTaGVldExheW91dEhlYWRlckNvbnRhaW5lcnstbW96LWJveC1mbGV4OjA7ZmxleDowfS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXJ7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDoxNnB4fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjpob3ZlcntzY3JvbGxiYXItY29sb3I6IzkwOTA5MCB0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjEycHh9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU3BlZWRJbmRpY2F0b3JDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjphdXRvfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWREaXNwbGF5ey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjhyZW07bGluZS1oZWlnaHQ6My44cmVtO2ZvbnQtd2VpZ2h0OjkwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDN9Lnl0V2ViU2NyaW1Ib3N0e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KX0ueXRXZWJTY3JpbUhvc3RSZWxhdGl2ZXtwb3NpdGlvbjphYnNvbHV0ZX0ueXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFdlYlNjcmltSG9zdEJvdHRvbVNoZWV0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7dG9wOjEwMHZ3fS55dFdlYlNjcmltSG9zdERyYWdnYWJsZUVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjM7dG9wOjB9Lnl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dFdlYlNjcmltRGlhbG9nQ29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6NH0ueXRXZWJTY3JpbUhpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib3R0b20tc2hlZXQtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NX1ib3R0b20tc2hlZXQtY29udGFpbmVyIC5jbG9zZS1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9YzMtb3ZlcmxheS5ib3R0b20tc2hlZXQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX1bYm90dG9tLXNoZWV0LW9wZW5de292ZXJmbG93OmhpZGRlbn1bbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MH0uYjMtaWZyYW1lLWFuY2VzdG9yW21vZGFsLW9wZW4tYm9keV17cG9zaXRpb246YWJzb2x1dGV9Lm1vZGFsLWhpZGRlbi1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmJ1dHRvbi13aXRoLWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7bWluLXdpZHRoOjUuMTRlbTttYXJnaW46MCAuMjllbTtmb250LXNpemU6MS40cmVtO2JvcmRlci1yYWRpdXM6M3B4fS5idXR0b24td2l0aC1pY29uLWJ1dHRvbntwYWRkaW5nOi43ZW0gLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46LS43ZW0gLS41N2VtfS5idXR0b24td2l0aC1pY29uLmNvbXBhY3QrLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW4tbGVmdDouN2VtfS5idXR0b24td2l0aC1pY29uLWlubmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9uW2Rpc2FibGVkXSwuYnV0dG9uLXdpdGgtaWNvbi5kaXNhYmxlZCAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257Y29sb3I6IzkwOTA5MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQlJBTkRde2NvbG9yOiNlMTAwMmR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldOm5vdChbZGlzYWJsZWQ9dHJ1ZV0pe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9QUklNQVJZXVtkaXNhYmxlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXXtjb2xvcjojNjA2MDYwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXSAubG9nby1hcnJvd3tmaWxsOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0JMVUVfVEVYVF17Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUX1dJVEhfSU5WRVJTRV9USEVNRV17Y29sb3I6IzNlYTZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREVTVFJVQ1RJVkVde2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtib3JkZXItY29sb3I6I2UxMDAyZDtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9TVUdHRVNUSVZFXXtib3JkZXI6MXB4IHNvbGlkICMwNjVmZDQ7Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfT1ZFUkxBWV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyk7Y29sb3I6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREFSS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9JTkFDVElWRV9PVVRMSU5FXXtjb2xvcjojNjA2MDYwO2JvcmRlcjoxcHggc29saWQgIzYwNjA2MDtwYWRkaW5nOjVweCAxMXB4fS5idXR0b24tcmVuZGVyZXJbZGF0YS1pY29uLW9ubHk9dHJ1ZV17bWluLXdpZHRoOjA7bWFyZ2luOjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT1mYWxzZV0gLmJ1dHRvbi1yZW5kZXJlci1pY29ue21hcmdpbjowIDhweH0uYnV0dG9uLXJlbmRlcmVyLXRleHR7YWxpZ24tc2VsZjpjZW50ZXI7bWluLWhlaWdodDoxZW07bGluZS1oZWlnaHQ6MWVtO2ZvbnQtd2VpZ2h0OjUwMH1baXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLWljb24sW2lzLWJ1c3k9dHJ1ZV0gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e3Zpc2liaWxpdHk6aGlkZGVufS5idXR0b24td2l0aC1pY29uLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOmF1dG99LmJ1dHRvbi1yZW5kZXJlci13aXRoLWFuaW1hdGlvbiAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1jMy1pY29ue2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpub25lfVtkaXI9cnRsXSBjMy1pY29uW2ZsaXAtZm9yLXJ0bD10cnVlXXt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uaWNvbi1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1jMy1pY29uIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWMzLWljb24uaWNvbi1zdGF0ZS1vdXRsaW5lW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5Om5vbmV9YzMtaWNvbi5pY29uLXN0YXRlLWZpbGxlZFtpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfSNtZW51LC5tZW51LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5tZW51LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC1oZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG87Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzozcHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbXtib3R0b206MDtjb2xvcjojMDMwMzAzO3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5ib3R0b20tbWVudS1jYW5jZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgI2YxZjFmMTtwYWRkaW5nOjhweCAwfS5tZW51LWNvbnRlbnQ+YXtkaXNwbGF5OmJsb2NrfS5tZW51LWNhbmNlbC1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubWVudS1jYW5jZWwtaWNvbnttYXJnaW46MCA4cHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbSBjMy1pY29ue2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMzJweCAwIDB9Lm1lbnUtY29udGVudDpub3QoLm1lbnUtc2hvdy1pY29ucykgLm1lbnUtaXRlbS1idXR0b24gYzMtaWNvbntkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpey5tZW51LWNvbnRlbnQ6bm90KC5tZW51LWJvdHRvbSl7bWluLXdpZHRoOjI1MHB4O21heC13aWR0aDozNTZweDttYXJnaW46NDBweH19Lm1lbnUtZnVsbC13aWR0aCAubWVudS1jb250ZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDoxcHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5tZW51LWNvbnRlbnQucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmljb24tYnV0dG9uLnNtYWxse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fXl0bS1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAwfXl0bS1tZW51LWl0ZW0gLm1lbnUtaXRlbS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luLWxlZnQ6MDt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246aW5pdGlhbDt0ZXh0LXRyYW5zZm9ybTp1bnNldDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH15dG0tbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX15dG0tbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjI0cHh9Lm1lbnUtYm90dG9tIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEuNnJlbTtwYWRkaW5nOjExcHggMTZweH0ueXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXJ7LW1vei1tYXJnaW4tc3RhcnQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99Lnl0QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjAgNHB4fS55dEJhZGdlU2hhcGVUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7CiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlRGVmYXVsdC55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVNZWRpYXsKICAvKiAha2VlcCAqL2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXl7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVkewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5ewogIC8qICFrZWVwICovY29sb3I6IzYwNjA2MH0ueXRCYWRnZVNoYXBlVGltZWx5IC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseXtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByZW1pdW17CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7CiAgLyogIWtlZXAgKi9jb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNjMzAwMjd9Lnl0QmFkZ2VTaGFwZVNhbGV7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVNhbGUueXRCYWRnZVNoYXBlTW9kZXJuLC55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVtYmVyc2hpcHsKICAvKiAha2VlcCAqL2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dEJhZGdlU2hhcGVNZW1iZXJzaGlwLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlQ29tbWVyY2V7CiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZlewogIC8qICFrZWVwICovY29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMjI1LDAsNDUsMC45KX0ueXRCYWRnZVNoYXBlTGl2ZS55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ld3sKICAvKiAha2VlcCAqL2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNOZXcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZXsKICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7CiAgLyogIWtlZXAgKi9jb2xvcjojN2MyOTAwO2JhY2tncm91bmQ6I2ZmZWFjZn0ueXRCYWRnZVNoYXBlU3RhdHVzV2FybmluZy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yewogIC8qICFrZWVwICovY29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvci55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0ewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmV7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxTcGVjaWFsewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbnsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbi55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX0ueXRCYWRnZVNoYXBlQWR7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtmb250LXNpemU6dW5zZXQ7bGluZS1oZWlnaHQ6dW5zZXR9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6YWZ0ZXJ7Y29udGVudDoiwrciOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJc0VtcHR5e2Rpc3BsYXk6bm9uZX0uYWNjb3VudEluZm9Ib3N0e2Rpc3BsYXk6YmxvY2t9Lmxpa2UtYnV0dG9uLXJlbmRlcmVyIFthcmlhLXByZXNzZWQ9dHJ1ZV0gYzMtaWNvbntjb2xvcjojMDY1ZmQ0fS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb24gcGF0aHtmaWxsOiMzZWE2ZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH15dG0tbWVudS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSB5dG0tbWVudS1pdGVte3BhZGRpbmc6MDtoZWlnaHQ6NDhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle21heC1oZWlnaHQ6NS42cmVtfS55dFNwZWNEaWFsb2dMYXlvdXRMZWFkaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dFRyYWlsaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLWxlZnQ6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtjb2xvcjojMDMwMzAzO292ZXJmbG93LXk6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVye292ZXJmbG93OnZpc2libGU7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcntwYWRkaW5nLXRvcDoxNnB4O3BhZGRpbmctbGVmdDoyNHB4O3BhZGRpbmctcmlnaHQ6MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1mbG93OnJvdyB3cmFwLXJldmVyc2U7ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAwIDAgLThweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZUVuZHstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kfS55dFNwZWNEaWFsb2dMYXlvdXRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzo4cHggMCAwIDhweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudCwueXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ24gLnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDB2aH19QG1lZGlhIChtaW4td2lkdGg6MzMxcHgpIGFuZCAobWF4LXdpZHRoOjUyN3B4KXsueXRTcGVjRGlhbG9nTGF5b3V0UmVzcG9uc2l2ZXttaW4td2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21pbi13aWR0aDptaW4oMzIwcHgsMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNDAwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KX19QG1lZGlhIChtaW4td2lkdGg6NTI4cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDozMjBweDttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNTYwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KTttYXgtaGVpZ2h0Om1pbig1NjBweCwxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXIsLnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnR7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BhZGRpbmc6MH1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXR7d2lkdGg6YXV0bztwYWRkaW5nOjAgMjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQgLnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SXRlbXtib3JkZXItcmFkaXVzOjEycHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyfS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZXtib3JkZXItcmFkaXVzOjZweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2Rpc3BsYXk6YmxvY2t9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NnB4fS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVRIRU1FX0FUVFJJQlVURV9PVkVSTEFZX0JBQ0tHUk9VTkRfTUVESVVNXSAueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MTZweH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3Q+dG9nZ2xlLWJ1dHRvbi12aWV3LW1vZGVse21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGV7d2lkdGg6NTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdDpmb2N1c3tiYWNrZ3JvdW5kOnVuc2V0fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b257cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcCAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOmNhbGMoMS42cmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKTtsaW5lLWhlaWdodDpjYWxjKDIuMnJlbSp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhe3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKC02cHgqdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMDAlKTtsZWZ0OjUwJTtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7Zm9udC1zaXplOmNhbGMoMTJweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmR7d2lkdGg6YXV0bztjb2xvcjojZmZmO21heC13aWR0aDoxMDAlO2JvdHRvbTo2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3BhZGRpbmc6OHB4IDE2cHg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1jb2x1bW4tZ2FwOjFyZW07Y29sdW1uLWdhcDoxcmVtO21pbi13aWR0aDowfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZXttYXgtd2lkdGg6MTAwJTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWJvdHRvbTo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZHttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NzAwfS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb257aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX1Aa2V5ZnJhbWVzIGZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvdHRvbTowO2hlaWdodDozcHg7ZGlyZWN0aW9uOmx0cjt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCxtYXJnaW4tbGVmdCxtYXJnaW4tcmlnaHQscGFkZGluZyx2aXNpYmlsaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjI1c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SXNTY3J1YmJhYmxlTW9kZXttYXJnaW4tcmlnaHQ6MTZweDttYXJnaW4tbGVmdDoxNnB4O2hlaWdodDoxNnB4O3BhZGRpbmctYm90dG9tOjE2cHg7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0Jhcnt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwdmg7d2lkdGg6MTAwdnc7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dHdBdXRvbmF2VG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyNSU7d2lkdGg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtjb2xvcjojZmZmfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDhweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21hcmdpbi10b3A6MTZweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6Njtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo3cHggMTZweDttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0Om5vdCgueXR3U3BlZWRtYXN0ZXJUb29sdGlwS2lsbHN3aXRjaCl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3JpZ2h0OjB9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse3RleHQtYWxpZ246anVzdGlmeTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH1bZGlyPXJ0bF0gLnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse2RpcmVjdGlvbjpydGx9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb257bWFyZ2luLWxlZnQ6NHB4fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZUNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDoyNSV9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6NTAlfS55dG1WaWRlb0NvdmVySG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1WaWRlb0NvdmVySG9zdC5lbmRlZHt6LWluZGV4OjB9Lnl0bVZpZGVvQ292ZXJIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bVZpZGVvQ292ZXJUaHVtYm5haWx7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dGRWb2x1bWVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LWhlaWdodDo0OHB4fS55dGRWb2x1bWVDb250cm9sc0Rpc2FibGVTbGlkZXJ7d2lkdGg6NDhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bzttYXgtd2lkdGg6MTY4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbHttYXgtd2lkdGg6NDhweDt3aWR0aDo0OHB4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2dhcDo2MHB4O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwb2ludGVyLWV2ZW50czpub25lfS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyRXhwYW5kZWR7cG9pbnRlci1ldmVudHM6YWxsfS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czo1MHB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmVuZDt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MTJweDtjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphbGw7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjEycyBsaW5lYXIsb3BhY2l0eSAuMTJzIGxpbmVhcix3aWR0aCAuMTJzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZHt2aXNpYmlsaXR5OnZpc2libGU7d2lkdGg6MTAwJTtvcGFjaXR5OjE7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIC4zcyBsaW5lYXI7ei1pbmRleDoxfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbXtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1MHB4O2hlaWdodDo0OHB4O21pbi1oZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDttYXJnaW46MDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyIC4zcyxtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbERvd257dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRXhwYW5kZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7bWFyZ2luLXRvcDo4cHg7d2lkdGg6MTMzcHg7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIDBzIGxpbmVhcixtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVye2Rpc3BsYXk6bm9uZX0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXJ7LS1ncmFkaWVudC1wZXJjZW50OjA7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO21hcmdpbi1ib3R0b206MXB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6OHB4IDA7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMCwwLDAsMC4xKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tdG9wOi02LjVweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbntjb2xvcjp3aGl0ZX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW17aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDt6LWluZGV4OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dHJhbnNpdGlvbjp3aWR0aCAuMjVzIGxpbmVhcjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWR7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kLWNvbG9yfS55dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVDaXJjbGVCdXR0b25ze21hcmdpbi1yaWdodDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1sZWZ0LWl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0W3l0bS1pbmZvLXBhbmVsLWNvbnRlbnQtaGFzLW1lbnU9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJ7cGFkZGluZy1ib3R0b206MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbHttYXJnaW46MTJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC10cnVuY2F0ZS1wYXJhZ3JhcGhzPXRydWVdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGh7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX09WRVJMQVlfQkxBQ0tdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX0JMVUVde2JhY2tncm91bmQtY29sb3I6I2RlZjFmZn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Q2luZW1hdGljQmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nOjEycHggMTZweCAxNnB4IDE2cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJbZGF0YS1oYXMtaWNvbj10cnVlXXtwYWRkaW5nOjE0cHggMTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyQm9keXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvd30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7Y29sb3I6IzA2NWZkNDttYXJnaW4tYm90dG9tOjRweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnttYXgtaGVpZ2h0OjRyZW19Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29ue3BhZGRpbmctbGVmdDoxcHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGF7bWFyZ2luLWJvdHRvbTo0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzA2NWZkNDtwYWRkaW5nLWxlZnQ6MnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWx7ZmxleC1zaHJpbms6MDtoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21hcmdpbi1sZWZ0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnR7d2lkdGg6MTAwJX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlckljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudXtkaXNwbGF5OmJsb2NrfS55dG1Mb2dvRW50aXR5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4fS55dG1Mb2dvRW50aXR5Q29udGFpbmVye3dpZHRoOjEyMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1Mb2dvRW50aXR5TG9nb3twYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6YXV0bztjb2xvcjp1bnNldH0ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojNjA2MDYwfS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlclNjcmlte3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNCkgMCxyZ2JhKDAsMCwwLC42KSA3NSUscmdiYSgwLDAsMCwuNikpfS55dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3R7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW59Lnl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXl7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dG1DcmVhdG9yRW5kc2NyZWVuSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtmb250LXNpemU6MS4ycmVtO3Zpc2liaWxpdHk6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuSW5DdWVSYW5nZXt2aXNpYmlsaXR5OnZpc2libGV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUze2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MHtmb250LXNpemU6MS44cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjB7Zm9udC1zaXplOjIuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS55dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbVZpc2libGV7b3BhY2l0eTouMjV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtZW5kO3otaW5kZXg6Njtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7dHJhbnNpdGlvbjp6LWluZGV4IC4ycyBzdGVwLXN0YXJ0O3otaW5kZXg6N30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNil9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRSb3VuZHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOCk7aGVpZ2h0OjEwMCU7cGFkZGluZzo4cHg7bWFyZ2luOi04cHg7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtjb2xvcjojZmZmO3Zpc2liaWxpdHk6aGlkZGVuO2FsaWduLWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0e2xlZnQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtwYWRkaW5nLWxlZnQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0e3JpZ2h0OjB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZXtwYWRkaW5nLXJpZ2h0OmNhbGMoMTAwJSArIDhweCl9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZSwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO21heC13aWR0aDpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTE1cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTM2cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQyNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxNzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MjY0cHg7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjMycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjM5MnB4O21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXJpZ2h0OjI0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDoyNHB4O21hcmdpbi1yaWdodDo0OHB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWF4LWhlaWdodDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjJweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxle2ZvbnQtc2l6ZToycmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjIuNHJlbX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjJyZW07bWFyZ2luLXRvcDo0cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjZyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tdG9wOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MnJlbTttYXJnaW4tdG9wOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVse2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtwYWRkaW5nLXRvcDo0cHg7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoxfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTUwNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9ue2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MXJlbTt0cmFuc2l0aW9uOmFsbCAuMnN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9ue21hcmdpbi10b3A6NHB4O21hcmdpbi1ib3R0b206NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW17cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjY7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQ2hhbm5lbHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3R7d2lkdGg6MTAwJX0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVye3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MThweH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZXt0cmFuc2l0aW9uOndpZHRoIC41cyBlYXNlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoIC55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7d2lkdGg6YXV0b30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwwLjYpO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt6LWluZGV4OjV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ1NtYWxsIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTWVkaXVtIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTGFyZ2UgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDozMyV9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtjb2xvcjojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxLjJyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjo2cHggOHB4IDA7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4zKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MS40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjZyZW07bWFyZ2luOjEwcHggMTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjJyZW07bWFyZ2luOjE0cHggMTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjIuNHJlbTttYXJnaW46MThweCAyMHB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXJ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjB9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVzIC55dEJhZGdlU2hhcGVIb3N0e2ZvbnQtc2l6ZTppbmhlcml0fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoycHggNHB4O21hcmdpbi1ib3R0b206MnB4O21hcmdpbi1yaWdodDoycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzo2cHggOHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouODtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMCwwLDApLHRyYW5zcGFyZW50KX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoycHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGh7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW46MCAycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjU7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dFBmcEF1dG9uYXZIb3N0e3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpibG9ja30ueXRQZnBBdXRvbmF2VmlzaWJsZXtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQ6YmxhY2t9Lnl0UGZwQXV0b25hdlNjcmlte3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp3aGl0ZTtwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcEF1dG9uYXZIZWFkZXJ7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0UGZwQXV0b25hdlRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjRweH0ueXRQZnBBdXRvbmF2QnlsaW5le2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRQZnBBdXRvbmF2QnlsaW5lLC55dFBmcEF1dG9uYXZUaXRsZXttYXgtd2lkdGg6ODAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBBdXRvbmF2UGxheUJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo3MnB4O2hlaWdodDo3MnB4O21hcmdpbi1ib3R0b206MjRweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOndoaXRlfS55dFBmcEF1dG9uYXZSaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dFBmcEF1dG9uYXZQbGF5SWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2ZpbGw6d2hpdGV9Lnl0UGZwQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRQZnBDb250cm9sc0hvc3QgOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggIzNlYTZmZn0ueXRQZnBDb250cm9sc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS55dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNGYWRlSW57cG9pbnRlci1ldmVudHM6YXV0b30ueXRQZnBDb250cm9sc0JpZ2JvYXJkLC55dFBmcENvbnRyb2xzQm90dG9tQmFyLC55dFBmcENvbnRyb2xzR3JhZGllbnRUb3AsLnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciwueXRQZnBDb250cm9sc1ZpZGVvVGl0bGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAuMjVzfS55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcHt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpLHJnYmEoMCwwLDAsMCkpO3BvaW50ZXItZXZlbnRzOm5vbmU7aGVpZ2h0OjQ5cHg7ei1pbmRleDo1fS55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzoxMnB4O21hcmdpbjowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp3aGl0ZTtmb250LXNpemU6MThweDtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQtY29sb3I6dW5zZXR9Lnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5Oi44O3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0UGZwQ29udHJvbHNPdmVybGF5OmhvdmVyIC55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJne2ZpbGwtb3BhY2l0eToxO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW57cGFkZGluZzo0OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0F1dG9uYXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQwcHg7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjN9Lnl0UGZwQ29udHJvbHNCb3R0b21CYXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQwcHg7cGFkZGluZy1sZWZ0OjNweDtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDoyfS55dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzLC55dFBmcENvbnRyb2xzUmlnaHRDb250cm9sc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7bWF4LXdpZHRoOjExMnB4fS55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWxlZnQ6OHB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWF4LXdpZHRoOjM0OXB4KXsueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KXsueXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MjQ5cHgpey55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMueXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xze2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTk5cHgpey55dFBmcENvbnRyb2xzU2V0dGluZ3NCdXR0b257ZGlzcGxheTpub25lfX0ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC44KSxyZ2JhKDAsMCwwLC42KSA2MCUscmdiYSgwLDAsMCwwKSk7cGFkZGluZzo4cHh9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxMnB4O2NvbG9yOndoaXRlfS55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEgKG1heC1oZWlnaHQ6Mjg5cHgpey55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UGZwTW9yZVZpZGVvc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQ4cHg7bGVmdDoxMnB4O3JpZ2h0OjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEyLDEyLDEyLC44KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBmcE1vcmVWaWRlb3NIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc1RpdGxle2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b257cGFkZGluZzo0cHg7bWFyZ2luLXJpZ2h0Oi00cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29ue2NvbG9yOndoaXRlO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxMnB4IDRweCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVufS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvO2hlaWdodDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtzY3JvbGxiYXItd2lkdGg6bm9uZTtzY3JvbGwtYmVoYXZpb3I6c21vb3RofS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17aGVpZ2h0OjA7bWFyZ2luOjAgNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOmJsYWNrO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0O3BhZGRpbmctYm90dG9tOjEzNXB4O3dpZHRoOjI0MHB4O21pbi13aWR0aDoyNDBweH1AbWVkaWEgKG1heC13aWR0aDoxMDQwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxNC4wNjI1JSAtIDYuNzVweCk7d2lkdGg6Y2FsYygyNSUgLSAxMnB4KTttaW4td2lkdGg6Y2FsYygyNSUgLSAxMnB4KX19QG1lZGlhIChtYXgtd2lkdGg6NzgwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxOC41NjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMzMlIC0gNnB4KTttaW4td2lkdGg6Y2FsYygzMyUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDo1MzRweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDI4LjEyNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDUwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoNTAlIC0gNnB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjg4cHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYyg1Ni4yNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbTpsYXN0LWNoaWxke21hcmdpbi1yaWdodDphdXRvfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0LC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC44KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdDpob3ZlciwueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0e2xlZnQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHR7cmlnaHQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1NnB4O2xlZnQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2NvbG9yOndoaXRlO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjU7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7bWF4LWhlaWdodDozNnB4O2NvbG9yOndoaXRlO292ZXJmbG93OmhpZGRlbn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyQm90dG9tT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp3aGl0ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb257ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMiwxMiwxMil9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3RDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlTGVmdCwueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC45KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0OmhvdmVyLC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDUwLDUwLDUwKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0e2xlZnQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3JpZ2h0OjhweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVte3Bvc2l0aW9uOmFic29sdXRlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4Ojd9Lnl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTowO2FuaW1hdGlvbjphY3Rpb24tZmFkZS1vdXQgLjVzIGxpbmVhciAxIG5vcm1hbCBmb3J3YXJkc30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtmaWxsOiNmZmZ9QGtleWZyYW1lcyBhY3Rpb24tZmFkZS1vdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMil9fS55dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW59Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZUNodW5rc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6NnB4O3dpZHRoOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tcmlnaHQ6NHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3QueXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyNSwwLDQ1LDAuOSk7b3BhY2l0eToxfS55dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEZWxpbWl0ZXJ7Y29sb3I6I2ZmZjttYXJnaW46MCA0cHg7b3BhY2l0eTouN30ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25ke29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHR7bWFyZ2luLWxlZnQ6OHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckFjdGlvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckJ1dHRvbi55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7bWFyZ2luOjAgMCAwIDhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b257b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoyNDBweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb257Y29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1yaWdodDotNHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7aGVpZ2h0OjI0cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4IDZweDtib3JkZXItcmFkaXVzOjE2cHg7Zm9udC1zaXplOjEuNHJlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbi1sZWZ0OjE2cHh9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsueXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbntkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlyZWN0aW9uOmx0cn0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNre2xlZnQ6NDhweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJke3JpZ2h0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb257Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3d7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tbGVmdDoyMHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3Zne2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoe2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLDAuOCkpfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNsYXRlOjAgLTUwJX0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtsZWZ0OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXJ7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cGFkZGluZzo4cHggMTZweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17cGFkZGluZzo4cHh9fVtkaXI9cnRsXSAueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtkaXJlY3Rpb246cnRsfS55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVse2Rpc3BsYXk6bm9uZX19Lnl0d1BsYXllckVuZHNjcmVlbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTZweH0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye21hcmdpbi1ib3R0b206OHB4fX0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVye2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckVuZHNjcmVlblZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjRyZW07Y29sb3I6I2ZmZjttYXJnaW4tYm90dG9tOjRweH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9BdXRob3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b257d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uPjpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlfS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b246Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0IDpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICMzZWE2ZmZ9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdHtjb2xvcjojZmZmO3BhZGRpbmc6MTJweCAwIDAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjUycHg7bWluLXdpZHRoOjEzMHB4O21heC13aWR0aDptaW4oNTAlIC0gNjRweCwyNzJweCl9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRle2FuaW1hdGlvbjpmYWRlIDNzIGVhc2UtaW4gMTBzIGZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9QG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOjMvNCl7Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXR7dG9wOjExMnB4fX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJIaWRkZW57ZGlzcGxheTpub25lfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXV0b2Nyb3BCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjYwcHh9Lnl0QXV0b2Nyb3BCdXR0b25WaXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRBdXRvY3JvcEJ1dHRvbkhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbn0ueXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjcpO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1yYWRpdXM6MThweH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tb3otYm94LWZsZXg6MTtmbGV4OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBub3QgKHBvaW50ZXI6ZmluZSl7Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdHstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0e292ZXJmbG93LXk6YXV0b30ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDoxNnB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9ue3dpZHRoOjIwMHB4O21pbi13aWR0aDoyMDBweDttYXJnaW46MCA4cHg7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRnVsbHNjcmVlbkNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0e3BhZGRpbmc6MTJweDtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6Nn0ueXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZXttYXJnaW46MDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS55dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0e2NvbG9yOiNmZmY7YW5pbWF0aW9uOmZhZGUgM3MgZWFzZS1pbiAyMHMgZm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztwYWRkaW5nOjEycHggMCAxMnB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmt7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5VGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHh9QGtleWZyYW1lcyBmYWRle3Rve29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MzBweDt6LWluZGV4OjI7aGVpZ2h0OjQ0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtwYWRkaW5nOjZweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5wbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnR7bGVmdDoxMnB4O3JpZ2h0Ojc4cHh9LnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodHtyaWdodDoyNHB4fS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5pY29uLWJ1dHRvbi5mdWxsc2NyZWVuLWljb257ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtwYWRkaW5nOjZweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NDRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMgLnBsYXllci1jb250cm9scy1ib3R0b217Ym90dG9tOjc0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzLmZzLXdhdGNoLXN5c3RlbSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206OTRweH0ueXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0ExMXlTZWVrQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6Nn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUucHJldmVudC1jb250cm9scy1jb2xsaXNpb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6bm9uZX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiBjMy1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmVuZHNjcmVlbi1yZXBsYXktYnV0dG9ue2hlaWdodDphdXRvO3dpZHRoOmF1dG87Ym9yZGVyLXJhZGl1czo1NnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b24+YzMtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3BhZGRpbmc6OHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9ue2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6NTAlfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOnVuc2V0fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuZW5kc2NyZWVuLXJlcGxheS1idXR0b24uaWNvbi1idXR0b24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb257bWFyZ2luOjAgMzRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnN7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX1bZGlyPXJ0bF0geXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlOm5vdCgucHJldmVudC1jb250cm9scy1jb2xsaXNpb24pe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS1jb3JlLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2RpcmVjdGlvbjpsdHJ9Lnl0bVZpZGVvSW5mb0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0bVZpZGVvSW5mb1ZpZGVvRGV0YWlsc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWxlZnQ6MTJweDttaW4taGVpZ2h0OjUuMnJlbX0ueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfWZ1bGxzY3JlZW4tb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvdmVyZmxvdzpzY3JvbGw7ei1pbmRleDo0fS55dENoaXBCYXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvIGhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwQmFyU2Nyb2xsQ29udGFpbmVyV3JhcHBlZHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweDtvdmVyZmxvdzp2aXNpYmxlfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXIsLnl0Q2hpcEJhclZpZXdNb2RlbFJpZ2h0QXJyb3dDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJ7bGVmdDowfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvd0NvbnRhaW5lcjphZnRlcnt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsMCkgMCxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgMjUlLHJnYmEoMjU1LDI1NSwyNTUsMC42KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjkpIDc1JSx3aGl0ZSAxMDAlKX0ueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd0NvbnRhaW5lcntyaWdodDowfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVySXNIaWRkZW57ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVyOmJlZm9yZXt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDI1JSxyZ2JhKDI1NSwyNTUsMjU1LDAuNikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsd2hpdGUgMTAwJSl9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvdywueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcnttYXJnaW4tcmlnaHQ6OHB4fS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcldpdGhOYXZpZ2F0aW9uQnV0dG9uc3ttYXJnaW4tdG9wOjRweDttYXJnaW4tYm90dG9tOjRweH0ueXRDaGlwU2hhcGVCdXR0b25SZXNldHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDaGlwU2hhcGVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q2hpcFNoYXBlQ2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVDaGlwe291dGxpbmU6MXB4IHNvbGlkO291dGxpbmUtb2Zmc2V0Oi0xcHh9fS55dENoaXBTaGFwZUVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRDaGlwU2hhcGVPbmx5VGV4dFBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0Q2hpcFNoYXBlT25seUljb25QYWRkaW5ne3BhZGRpbmc6MH0ueXRDaGlwU2hhcGVTdGFydEljb25QYWRkaW5ney1tb3otcGFkZGluZy1lbmQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0ueXRDaGlwU2hhcGVFbmRJY29uUGFkZGluZ3stbW96LXBhZGRpbmctc3RhcnQ6MTJweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS55dENoaXBTaGFwZUFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Y29sb3I6I2ZmZn1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVBY3RpdmV7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZUFjdGl2ZVJlZGVzaWdue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2NvbG9yOiMwMzAzMDN9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0Q2hpcFNoYXBlQWN0aXZlUmVkZXNpZ257Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZURpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojOTA5MDkwfS55dENoaXBTaGFwZUluYWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojMDMwMzAzfS55dENoaXBTaGFwZUluYWN0aXZlUmVkZXNpZ257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojNjA2MDYwO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRDaGlwU2hhcGVGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkICMwMzAzMDM7b3V0bGluZS1vZmZzZXQ6LTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRDaGlwU2hhcGVJY29uU3RhcnR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA0cHggMCA4cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVJY29uT25seXtjb2xvcjppbmhlcml0O21hcmdpbjowIDhweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dENoaXBTaGFwZUljb25FbmR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA2cHggMCA0cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVBSUN1c3RvbWl6ZWRDaGlwQm9yZGVyRGFya01vZGV7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMGYwZjBmLCMwZjBmMGYpIHBhZGRpbmctYm94LGxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpIGJvcmRlci1ib3h9Lnl0Q2hpcFNoYXBlQUlDdXN0b21pemVkQ2hpcEJhY2tncm91bmRMaWdodE1vZGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpfS55dENoaXBTaGFwZUFJQ3VzdG9taXplZENoaXBJY29uRGFya01vZGV7Y29sb3I6IzdmMGU3Zn0ueXRDaGlwU2hhcGVNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0Q2hpcFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjU2cHg7cGFkZGluZzoyNHB4IDEycHggOHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmV7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57Ym9yZGVyOjJweCBzb2xpZCAjMDMwMzAzO3BhZGRpbmc6MjNweCAxMXB4IDdweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJPdXRsaW5lRGlzYWJsZWR7Ym9yZGVyOjA7Y29sb3I6IzkwOTA5MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZUVycm9ye2JvcmRlci1jb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmVFcnJvcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyTGFiZWxIaWRkZW57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OXB4IDEycHggNnB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lckxhYmVsSGlkZGVuLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57cGFkZGluZzo5cHggMTFweCA2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe21pbi1oZWlnaHQ6MDtjb2xvcjojMDMwMzAzO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtyZXNpemU6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7cGFkZGluZzowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjB9fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTpkaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEZvY3VzZWR7dG9wOjdweDtsZWZ0OjExcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUxhYmVsRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZTtjb2xvcjojNjA2MDYwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O2xlZnQ6MTJweDtyaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlclZpc2libGV7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJMYWJlbEhpZGRlbiAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlUGxhY2Vob2xkZXJ7dG9wOjhweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3IsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjRweDtjb2xvcjojYzMwMDI3O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckljb24sLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9yTWVzc2FnZSwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludE1lc3NhZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckRpc2FibGVkLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVIaW50RGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JDaGFyYWN0ZXJDb3VudCwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludENoYXJhY3RlckNvdW50e21hcmdpbi1sZWZ0OmF1dG99Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9ySGludE1lc3NhZ2UsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRIaW50TWVzc2FnZXttYXJnaW4tbGVmdDo0cHg7Y29sb3I6IzYwNjA2MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JJY29ue2NvbG9yOmluaGVyaXR9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlciwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGltZVBpY2tlciAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWF7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmU6YXV0bzttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjZyZW07bGluZS1oZWlnaHQ6NXJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVyLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2luc2V0OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlO3BhZGRpbmc6OXB4IDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVGaWxsUGFyZW50IC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdENvbnRlbnRSZXNlYXJjaHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNlYXJjaElucHV0Vmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NHB4O2NvbG9yOiM2MDYwNjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWFyY2hJbnB1dFZpZXdNb2RlbEZvcm17LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9Lnl0U2VhcmNoSW5wdXRWaWV3TW9kZWxDbGVhckJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7c2Nyb2xsYmFyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Njcm9sbGJhci13aWR0aDp0aGlufS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6MTZweH0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbExpc3RXcmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntoZWlnaHQ6NTZweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6aG92ZXJ7c2Nyb2xsYmFyLWNvbG9yOiM5MDkwOTAgdHJhbnNwYXJlbnR9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxMaXN0V3JhcHBlcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6bWluKDM2MHB4LDEwMHZoIC0gMzAwcHgpO21pbi13aWR0aDptaW4oNDQ4cHgsMTAwdncgLSAxNDRweCl9QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMjAwcHgpfX0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbFNlYXJjaENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxEcm9wZG93blBhbmVse3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTtib3JkZXItcmFkaXVzOjRweDt6LWluZGV4OjIwMTA7d2lkdGg6MTAwJTttYXgtaGVpZ2h0Om1pbigzMDBweCwxMDB2aCAtIDMwMHB4KTtvdmVyZmxvdy15OmF1dG87dG9wOjEwMCU7bGVmdDowfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsU3VnZ2VzdGlvbnNMaXN0Ym94e3BhZGRpbmc6OHB4IDB9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllck92ZXJsYXlJbnRlcmFjdGlvbkludGVyYWN0aW9uc1N2Z3twb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSGlkZU91dGxpbmV7b3V0bGluZTpub25lfS55dERpc21pc3NpYmxlSXRlbVJlcGxhY2VkQ29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8xNkJ5OXtwYWRkaW5nLXRvcDo1Ni4yNSV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8yQnkze3BhZGRpbmctdG9wOjE1MCV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8zQnk0e3BhZGRpbmctdG9wOjEzMy4zMyV9Lnl0RGlzbWlzc2libGVJdGVtU2hvcnRzQXNwZWN0UmF0aW85QnkxNntwYWRkaW5nLXRvcDoxNzglfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvMUJ5MXtwYWRkaW5nLXRvcDoxMDAlfS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MjBweCAxMnB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVySG9zdExlZ2FjeVNoZWxmU3R5bGV7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtib3JkZXI6bm9uZX0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyVGV4dENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjEycHh9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlclRleHRDb250YWluZXJMZWdhY3lTaGVsZlN0eWxley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1yaWdodDoxMnB4fS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJCdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCV9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlckJ1dHRvbkNvbnRhaW5lckxlZ2FjeVNoZWxmU3R5bGV7d2lkdGg6YXV0b30ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyQnV0dG9ue3BhZGRpbmc6NnB4IDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXROb3RpZmljYXRpb25UZXh0UmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdBZEF2YXRhclZpZXdNb2RlbEhvc3QsLnl0d0FkQXZhdGFyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3QsLnl0d0FkQmFkZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5OmlubGluZX0ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50U3R5bGVTdGFuZGFyZCwueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RTdHlsZVN0YW5kYXJke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRTdHlsZVN0YW5kYXJkQnJvd3NlLC55dHdBZEJhZGdlVmlld01vZGVsSG9zdFN0eWxlU3RhbmRhcmRCcm93c2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0LC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dFN0eWxlU3RhbmRhcmQsLnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0VGV4dFN0eWxlU3RhbmRhcmR7Y29sb3I6IzYwNjA2MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJkey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJke21heC1oZWlnaHQ6MS44cmVtO3dvcmQtYnJlYWs6YnJlYWstYWxsfS55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZSwueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZXt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyOy0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZzoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWV0YWRhdGEsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXJpZ2h0OjI0cHg7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MTJweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhTm9Cb3R0b21NYXJnaW4sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhTm9Cb3R0b21NYXJnaW57LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVDb21wYWN0U2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lclN0eWxlQ29tcGFjdFNlYXJjaHtwYWRkaW5nLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWV0YWRhdGFBZEJhZGdlRGV0YWlsc0xpbmVDb250YWluZXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmctYm90dG9tOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtYm90dG9tLW1hcmdpbil9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnROb1RvcFBhZGRpbmcsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE5vVG9wUGFkZGluZ3stLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmc6MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1lbnVCdXR0b24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVCdXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7cmlnaHQ6LTEwcHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51QnV0dG9uTWVudVBvc0FkanVzdGVkLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZW51QnV0dG9uTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51U3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWVudVN0eWxlU3RhbmRhcmR7cGFkZGluZy10b3A6dmFyKC0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNnB4O3JpZ2h0Oi0xMHB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWVudVN0eWxlU3RhbmRhcmRNZW51UG9zQWRqdXN0ZWQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVTdHlsZVN0YW5kYXJkTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdEF2YXRhclN0eWxlU3RhbmRhcmQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RBdmF0YXJTdHlsZUNvbXBhY3QsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZUNvbXBhY3R7bWFyZ2luLXJpZ2h0OjhweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXttYXgtaGVpZ2h0OjRyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZVR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7bWF4LWhlaWdodDo1LjJyZW07bWFyZ2luLWJvdHRvbTo0cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5le3BhZGRpbmctdG9wOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmcpO21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0LC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHR7bWF4LWhlaWdodDo0cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7bWF4LWhlaWdodDo1LjJyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYye21heC1oZWlnaHQ6NS42cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7bWF4LWhlaWdodDo1LjJyZW19fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmREZXNjcmlwdGlvbnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkU2Vjb25kYXJ5RGVzY3JpcHRpb257LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbnttYXgtaGVpZ2h0OjRyZW19Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdEhhc0FjY2VudHstbW96LWJvcmRlci1zdGFydDo0cHggc29saWQgdmFyKC0tYWQtZGlzY2xvc3VyZS1hY2NlbnQtY29sb3IpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NHB4IHNvbGlkIHZhcigtLWFkLWRpc2Nsb3N1cmUtYWNjZW50LWNvbG9yKX0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgI2ZmZjtvdXRsaW5lLW9mZnNldDoycHh9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbFRleHR7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvblJvdzpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctYm90dG9tOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb246bm90KDpsYXN0LWNoaWxkKTpub3QoOmVtcHR5KXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb257bWluLXdpZHRoOjA7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZsZXgtYmFzaXM6MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb246ZW1wdHl7LW1vei1ib3gtZmxleDowO2ZsZXgtZ3JvdzowfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkludHJpbnNpY1dpZHRoey1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LWJhc2lzOmF1dG99Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsQWN0aW9uUm93QWN0aW9uRmVhdHVyZVBob25le2ZsZXgtYmFzaXM6dW5zZXQ7bWluLXdpZHRoOnVuc2V0fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkljb25Pbmx5QnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSW5saW5ley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGV7b3ZlcmZsb3c6YXV0byBoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo4cHh9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxTY3JvbGxhYmxlOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGU6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzkwOTA5MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxGbGV4V3JhcHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFN0YXJ0ey1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSnVzdGlmeUNvbnRlbnRFbmR7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbENlbnRlcmVkIC55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbiwueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxDZW50ZXJlZCAueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZmxleC1iYXNpczowOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ueXRFbmdhZ2VtZW50QmFyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEVuZ2FnZW1lbnRCYXJWaWV3TW9kZWxFbmdhZ2VtZW50QmFyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDhweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBBdHRhY2htZW50c1ZpZXdNb2RlbEF0dGFjaG1lbnR7bWFyZ2luLXRvcDoxMnB4O21pbi13aWR0aDowfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsRXhwYW5kYWJsZU1ldGFkYXRhe3BhZGRpbmctdG9wOjRweH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbntoZWlnaHQ6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbj4ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjEycHh9Lnl0d0Nhcm91c2VsQWRDYXJkQ29sbGVjdGlvblZpZXdNb2RlbE1ldGFkYXRhQXR0YWNobWVudENhcm91c2Vse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2dhcDoxMnB4O292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWw6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxJdGVte3dpZHRoOjk2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMjUpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxlTGVmdHtsZWZ0Oi0xNnB4fS55dHdDYXJvdXNlbEFkQ2FyZENvbGxlY3Rpb25WaWV3TW9kZWxQYWRkbGVSaWdodHtyaWdodDotMTZweH0ueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHthc3BlY3QtcmF0aW86MTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0OmFmdGVyLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnQ6YWZ0ZXJ7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7d2lsbC1jaGFuZ2U6b3BhY2l0eTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdDpob3ZlcjphZnRlciwueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmhvdmVyOmFmdGVye29wYWNpdHk6LjF9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0Q2FyZEJhZGdlLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRDYXJkQmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdBZENhcmRCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MCAwIDRweH0ueXR3QWRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlQ29udGFpbmVyLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SW5HcmlkVmlld3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXR3SG9yaXpvbnRhbENhcm91c2VsQ2Fyb3VzZWxXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxDYXJvdXNlbElubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJX0ueXR3SG9yaXpvbnRhbENhcm91c2VsQW5pbWF0aW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0d0hvcml6b250YWxDYXJvdXNlbENhcm91c2VsSXRlbXtmbGV4LXNocmluazowfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxOZXh0QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHdBZEJ1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWJhc2lzOjEwMCU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RQcmltYXJ5QnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0U2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO21pbi13aWR0aDoyMDBweDt3aWR0aDo1MCU7Z2FwOjEycHh9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0Q29tcGFjdFdpZHRoU2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDowfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6LW1vei1tYXgtY29udGVudDtoZWlnaHQ6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsSG9zdEhhc0FuaW1hdGlvbnt0cmFuc2l0aW9uOm9wYWNpdHksaGVpZ2h0O3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjI1JX0ueXR3QWRCdXR0b25WaWV3TW9kZWxIb3N0Q29udGVudFdpZHRoe3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsU2hvd3tvcGFjaXR5OjF9Lnl0d0FkQnV0dG9uVmlld01vZGVsSGlkZXtvcGFjaXR5OjB9Lnl0d0FkQnV0dG9uVmlld01vZGVsRnVsbEhlaWdodHtoZWlnaHQ6YXV0b30ueXR3QWRCdXR0b25WaWV3TW9kZWxOb0hlaWdodHtoZWlnaHQ6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEhvc3R7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTttYXJnaW4tdG9wOjI0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MzAwcHg7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyxtYXJnaW4gLjNzLG9wYWNpdHkgLjNzfS55dFNsaW1saW5lU3VydmV5Vmlld01vZGVsSG9zdDpiZWZvcmV7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC4yNSk7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6LTEycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDt0b3A6LTEycHg7bGVmdDo1MCU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWR7bWF4LWhlaWdodDowO21hcmdpbi10b3A6MDtvcGFjaXR5OjB9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWQ6YmVmb3Jle29wYWNpdHk6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo4cHggMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbX0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEFuc3dlcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxJY29ue2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxBbnN3ZXJzVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS55dFRhYmxlVmlld01vZGVsUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206OHB4fS55dFRhYmxlVmlld01vZGVsUm93Qm90dG9tQm9yZGVye3BhZGRpbmctYm90dG9tOjhweH0ueXRUYWJsZVZpZXdNb2RlbFJvd0JvdHRvbUJvcmRlcjpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRUYWJsZVZpZXdNb2RlbENlbGx7Y29sb3I6IzYwNjA2MDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbFJvd0xhYmVse2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERpc2NsYWltZXJJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlc3BvbnNlQWN0aW9uc1ZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZXNwb25zZUFjdGlvbnNWaWV3TW9kZWxUZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dExlZnR7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dFJpZ2h0e21hcmdpbi1sZWZ0OjE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEhvc3RIaWRkZW57ZGlzcGxheTpub25lfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJke2JvcmRlci1yYWRpdXM6MzJweDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTZweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e21heC13aWR0aDo5MCU7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NHB4IDE2cHggNHB4IDRweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzJweDt3aWR0aDozMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRPbmx5e3BhZGRpbmc6OHB4IDE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXR7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O21heC13aWR0aDo1MDBweDtwYWRkaW5nOjZweCAxNnB4IDZweCA2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dE9ubHl7cGFkZGluZzoxNnB4IDI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3Nvcnl7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO21hcmdpbi1yaWdodDo4cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDoxMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVMZWZ0e3RyYW5zZm9ybTpyb3RhdGUoLTNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVSaWdodHt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEVuYWJsZVpvb206aG92ZXIgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0ltYWdle3RyYW5zZm9ybTpzY2FsZSgxLjA4KX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsRW5hYmxlWm9vbSAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nSW1hZ2V7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjB9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFNlY29uZGFyeUxhYmVse3BhZGRpbmctYm90dG9tOjRweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdE1lZGlhQ2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJkIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRXcmFwcGVye3BhZGRpbmctdG9wOjEycHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDo1NnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dHt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NjhweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7bWluLXdpZHRoOjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS55dExvY2t1cFZpZXdNb2RlbEZsZXhOb25ley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0TG9ja3VwVmlld01vZGVsV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TG9ja3VwVmlld01vZGVsRW5kb3JzZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0yMHB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLXdpZHRoOjA7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExvY2t1cFZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsQWRkTWFyZ2luc3ttYXJnaW4tcmlnaHQ6MTJweDttYXJnaW4tbGVmdDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbEZ1bGxibGVlZCAueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YXttYXJnaW4tbGVmdDoxMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbENvbnRlbnRJbWFnZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aW5oZXJpdDstbW96LWJveC1kaXJlY3Rpb246aW5oZXJpdDtmbGV4LWRpcmVjdGlvbjppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpY3tib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dExvY2t1cFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBWaWV3TW9kZWxWZXJ0aWNhbCAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206OHB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBWaWV3TW9kZWxSaWNoR3JpZExlZ2FjeU1hcmdpbiAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206MTJweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7cGFkZGluZy1yaWdodDoxNnB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUwMHB4fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjZweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjEwcHh9Lnl0TG9ja3VwVmlld01vZGVsSG9yaXpvbnRhbC55dExvY2t1cFZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle3BhZGRpbmctcmlnaHQ6OHB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MTBweH0ueXRMb2NrdXBWaWV3TW9kZWxJbkNhcmQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbEluQ2FyZC55dExvY2t1cFZpZXdNb2RlbENvbGxlY3Rpb25TdGFjazJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlfS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RvcDo1MCU7cGFkZGluZzo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsMC44KSAwLHJnYmEoMCwwLDAsMCkgMTAwJSl9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGFPblRodW1ibmFpbC55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpYyAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7aGVpZ2h0OjU1JX0ueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YU9uVGh1bWJuYWlsLnl0TG9ja3VwVmlld01vZGVsQ2luZW1hdGljIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhe2hlaWdodDo3NSU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDAsIzMzMyA1MCUpO3RvcDphdXRvfS55dExvY2t1cFZpZXdNb2RlbENhcmR7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0TG9ja3VwVmlld01vZGVsUHJvdGVjdEJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxIb3N0Q2FuQW5pbWF0ZVdpZHRoe3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSW52aXNpYmxle3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbEFuaW1hdGVkQWN0aW9uV3JhcHBlcnttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxBbmltYXRlZEFjdGlvbldyYXBwZXJJc0FuaW1hdGluZywueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxTdGF0aWNXaWR0aHt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25zU3RhY2tSZWxhdGl2ZVN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlfS55dENvbGxlY3Rpb25zU3RhY2tTcGFjZXJ7aGVpZ2h0OjVweH0ueXRDb2xsZWN0aW9uc1N0YWNrU3BhY2VyRG91YmxlU3RhY2t7aGVpZ2h0OjlweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMntiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi04cHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2syUmVzcG9uc2l2ZU1vZGV7ZGlzcGxheTpub25lfX0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMk1hc2t7bWFyZ2luLXRvcDotMXB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwLGJsYWNrIDhweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMCl9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazF7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwO21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxU21hbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlIC0gMTZweCk7aGVpZ2h0OjEwMCU7bGVmdDo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NHB4fS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxTWVkaXVte3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjhweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMUxhcmdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazFNYXNre21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwKTtib3JkZXItdG9wOm5vbmV9Lnl0UHJvZmlsZUljb25Ib3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFByb2ZpbGVJY29uSG9zdDpoYXMoLnl0UHJvZmlsZUljb25JbWFnZSl7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQcm9maWxlSWNvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0TWV0YWRhdGFCYWRnZVJlbmRlcmVySG9zdCsueXRNZXRhZGF0YUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJTdGFuZGFsb25lWXBjTW9kZXJuQmFkZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0d1N0YW5kYWxvbmVZcGNCYWRnZVJlbmRlcmVyU3RhbmRhbG9uZVlwY0Rpc2NvdW50VGV4dEJhZGdle21hcmdpbi1yaWdodDo0cHg7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0ueXR3VGV4dEJhZGdlUmVuZGVyZXJIb3N0Ky55dHdUZXh0QmFkZ2VSZW5kZXJlckhvc3R7bWFyZ2luLWxlZnQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0OjNlbTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfX0uWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlckhvc3RbZGF0YS1pcy1hbGwtYmFkZ2VzPXRydWVde21hcmdpbi10b3A6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdCB5dG0tYmFkZ2Utc3VwcG9ydGVkLXJlbmRlcmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXB7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBEaXZ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJIb3N0IC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBTcGFue2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yNTttYXgtaGVpZ2h0OjEuMjVlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJhZGdlLC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZSwuWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlclNlcGFyYXRvcnttYXJnaW4tcmlnaHQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZXtmb250LXNpemU6MS4ycmVtO2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6LjZ9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJJdGVtQmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJTZXBhcmF0b3J7Zm9udC1zaXplOjEuMnJlbTtvcGFjaXR5Oi42fS5ZdG1CYWRnZVN1cHBvcnRlZFJlbmRlcmVySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQmFkZ2VTdXBwb3J0ZWRSZW5kZXJlckhvc3Q+eXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7bWluLXdpZHRoOjA7ZmxleC1zaHJpbms6MTAwMDB9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0Pnl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVyOmZpcnN0LWNoaWxke2ZsZXgtc2hyaW5rOjF9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0IHl0bS1iYWRnZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uWXRtUHJpdmFjeUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0uWXRtQ2hhbm5lbFRodW1ibmFpbFdpdGhMaW5rUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lll0bUNoYW5uZWxUaHVtYm5haWxXaXRoTGlua1JlbmRlcmVySWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowIDEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWRldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDowO21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjhweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWwseXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDowfXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzIHl0bS1wcm9maWxlLWljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6MzZweDt3aWR0aDozNnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjAgLTEycHh9QGtleWZyYW1lcyBtZXRhZGF0YS1ib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTIwcHgpfX15dG0tbWVkaWEtaXRlbSAubWV0YWRhdGEtc2Nyb2xsLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjIwMCV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVyLmJvdW5jZXthbmltYXRpb24tbmFtZTptZXRhZGF0YS1ib3VuY2U7YW5pbWF0aW9uLWR1cmF0aW9uOjNzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX15dG0tbWVkaWEtaXRlbSAuc2Nyb2xsLXZpZXd7d2lkdGg6NTAlO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0fXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90cy1jb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90e2hlaWdodDo0cHg7d2lkdGg6NHB4O2JvcmRlcjoxcHggc29saWQgIzAzMDMwMztib3JkZXItcmFkaXVzOjUwJTttYXJnaW46MCAzcHh9eXRtLW1lZGlhLWl0ZW0gLnNjcm9sbC1kb3QuYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzAzMDMwM315dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCAxMnB4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtW3VzZS12ZXJ0aWNhbC1sYXlvdXRde3BhZGRpbmc6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAudXBwZXItZGV0YWlscyAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjA7YWxpZ24tc2VsZjpjZW50ZXJ9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0+YXtkaXNwbGF5OmJsb2NrfS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIubXVsdGktY29sdW1uLWZlZWR7bWFyZ2luLXRvcDotMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIuc3RhY2tlZDpub3QoLm11bHRpLWNvbHVtbi1mZWVkKXttYXJnaW4tbGVmdDp1bnNldDttYXJnaW4tcmlnaHQ6dW5zZXR9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWxhbmRzY2FwZS1zdGFja3tkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2Vke21hcmdpbi10b3A6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2VkLXBsYXlsaXN0e21hcmdpbi1sZWZ0OjRweH19Lm1lZGlhLWl0ZW0tYW5pbWF0ZWQtdGh1bWJuYWlsLC5tZWRpYS1pdGVtLXRodW1ibmFpbC1zbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LmlubGluZS1ieWxpbmUtY2hhbm5lbC1uYW1le21hcmdpbi1ib3R0b206M3B4fS5tZWRpYS1pdGVtLW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9Lm1lZGlhLWl0ZW0taGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtfS5tZWRpYS1pdGVtLXRvcC1iYWRnZXMgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja30ubWVkaWEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5tZWRpYS1jaGFubmVse2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0taW5mbyx5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ubWVkaWEtaXRlbS1pbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tbGVmdDoxMnB4fS5tZWRpYS1pdGVtLWRldGFpbHMuc21hbGwtbG9ja3VwLC5tZWRpYS1pdGVtLWluZm9bbm8tY2hhbm5lbC1hdmF0YXI9dHJ1ZV17bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWVkaWEtaXRlbS1kZXRhaWxzLmZlYXR1cmUtcGhvbmUtbWluaW1hbC1sb2NrdXBzIC5tZWRpYS1pdGVtLWluZm97bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo4cHh9Lm1lZGlhLWl0ZW0tZGV0YWlscyAubWVkaWEtaXRlbS1pbmZvW25vLWNoYW5uZWwtYXZhdGFyPXRydWVdW3VzZS1tb2Rlcm4tY29sbGVjdGlvbnM9dHJ1ZV17bWFyZ2luLWxlZnQ6NHB4fS5tZWRpYS1pdGVtLWhlYWRsaW5lLXBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1oZWFkbGluZS1wbGFjZWhvbGRlcjpudGgtY2hpbGQoMil7d2lkdGg6MTIwcHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS42cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2xldHRlci1zcGFjaW5nOi4wMmVtfX0ubWVkaWEtaXRlbS1lbmRvcnNlbWVudC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTotNHB4O2NvbG9yOiMwMzAzMDM7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmV7cGFkZGluZy10b3A6OHB4fS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmU+c3Bhbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjMuMnJlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjJ9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVyPi5tZWRpYS1pdGVtLXNlY29uZGFyeS1oZWFkbGluZT5zcGFuPnN0cm9uZ3tmb250LXdlaWdodDo3MDB9Lm1lZGlhLWl0ZW0tc3ViaGVhZC1wbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1tZW51e2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0tYnlsaW5le3VuaWNvZGUtYmlkaTotbW96LWlzb2xhdGU7dW5pY29kZS1iaWRpOmlzb2xhdGV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5mZWF0dXJlLXBob25lLW1pbmltYWwtbG9ja3VwcyAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjEycHh9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjRweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOjB9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOi0xMnB4IDAgMH15dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLW92ZXJsYXktc2lkZXt3aWR0aDozMyV9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze3BhZGRpbmctbGVmdDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbS5iaWctc2hvcnRzLXNpbmdsZXRvbiAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7ZmxleC1zaHJpbms6MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXt3aWR0aDoyMDBweDtoZWlnaHQ6MTEycHg7cGFkZGluZy1ib3R0b206MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MCAxMnB4O21pbi13aWR0aDowO3dpZHRoOjEwMCV9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3stbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0tbWV0YWRhdGF7bWFyZ2luLWJvdHRvbToycHg7bWF4LWhlaWdodDo3MHB4O292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1oZWFkbGluZXttYXJnaW4tYm90dG9tOjhweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtb3JkaW5hbC1ncm91cDoyO29yZGVyOjE7d2lkdGg6MTAwJX15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1leHRyYS1lbmRwb2ludHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtY2hhbm5lbHttYXJnaW4tdG9wOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH15dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MTJweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3ttYXJnaW4tbGVmdDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLWRldGFpbHMuc3RhY2tlZC1wbGF5bGlzdHttYXJnaW4tdG9wOjRweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzLnN0YWNrZWR7bWFyZ2luLXRvcDo0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1wcm9tb3RlZC12aWRlby1yZW5kZXJlciB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW17cGFkZGluZzowIDhweH15dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHh9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDo4cHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCA4cHh9bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi1ib3R0b206MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWJvdHRvbTo0cHg7cGFkZGluZy1sZWZ0OjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tYm90dG9tOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW46MH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChtYXgtd2lkdGg6MzMwcHgpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle21hcmdpbjowfXl0bS1icm93c2UgbGF6eS1saXN0IHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSl7bWFyZ2luLXRvcDowfX15dG0tbWVkaWEtaXRlbS5zbWFsbC1sb2NrdXB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7d2lkdGg6MTYwcHh9eXRtLW1lZGlhLWl0ZW0uc21hbGwtbG9ja3VwIC5tZWRpYS1pdGVtLWhlYWRsaW5le2ZvbnQtd2VpZ2h0OjQwMH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcnstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl0pey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS10aHVtYm5haWwtb3ZlcmxheS1pY29uLXJlbmRlcmVyW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO21hcmdpbjo1cHg7cGFkZGluZzoxcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlfVtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb257ZGlzcGxheTpibG9jaztwYWRkaW5nOjFweDt3aWR0aDoxLjJyZW07aGVpZ2h0OjEuMnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tc3R5bGU9VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1NUWUxFX0ZJTExFRF0pIGMzLWljb257d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcltpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb24gcGF0aHtmaWxsOiMwMDB9eXRtLXRodW1ibmFpbC1vdmVybGF5LWljb24tcmVuZGVyZXI6bm90KFtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdKSBjMy1pY29uIHBhdGh7ZmlsbDojZmZmfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDo0cHg7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlclRodW1ibmFpbE92ZXJsYXlSZXN1bWVQbGF5YmFja1Byb2dyZXNze2hlaWdodDo0cHg7bGVmdDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfXl0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuZmVlZC1pdGVte21hcmdpbi1ib3R0b206MTZweH19QG1lZGlhIChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tdmlkZW8td2l0aC1jb250ZXh0LXJlbmRlcmVyLmZlZWQtaXRlbXttYXJnaW4tYm90dG9tOjI0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxNnB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuYWRhcHRpdmUtZmVlZC1pdGVte21hcmdpbi1ib3R0b206MjRweH19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjEzLzkpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxMnB4fX1sYXp5LWxpc3QgeXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH0udmlkZW9UaHVtYm5haWxHcm91cE92ZXJsYXlCb3R0b21MZWZ0UmlnaHRHcm91cHt3aWR0aDoxMDAlO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udmlkZW9UaHVtYm5haWxHcm91cFJlc3VtZVBsYXliYWNrey1tb3otYm94LW9yZGluYWwtZ3JvdXA6MjtvcmRlcjoxfS52aWRlb1RodW1ibmFpbEdyb3VwVGltZVN0YXR1c3tyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS52aWRlb1RodW1ibmFpbEdyb3VwT3ZlcmxheUxlZnRSaWdodEdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym90dG9tOjA7aGVpZ2h0OjEwMCV9LnZpZGVvVGh1bWJuYWlsR3JvdXBPdmVybGF5Q2VudGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dERpYWxvZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXREaWFsb2dWaWV3TW9kZWxSZXNldFNwYWNpbmdbZGlhbG9nXVtkaWFsb2dde3BhZGRpbmc6MDttYXJnaW46MH0ueXR3QWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d0FjY291bnRMaW5rQnV0dG9uVmlld01vZGVsSG9zdE1pbldpZHRoIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e21pbi13aWR0aDoxMjBweH0ueXRUZXh0RmllbGRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q3JlYXRlUGxheWxpc3REaWFsb2dGb3JtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTJweH0ueXRDcmVhdGVQbGF5bGlzdERpYWxvZ0Zvcm1WaWV3TW9kZWxUaXRsZUZpZWxkLC55dENyZWF0ZVBsYXlsaXN0RGlhbG9nRm9ybVZpZXdNb2RlbFZpc2liaWxpdHlGaWVsZHttYXJnaW4tYm90dG9tOjEycHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjU2cHg7cGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtjdXJzb3I6cG9pbnRlcn0ueXREcm9wZG93blZpZXdNb2RlbERyb3Bkb3duQ29udGFpbmVyRXJyb3JCb3JkZXJ7Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lckRpc2FibGVke2JvcmRlcjowO2NvbG9yOiM5MDkwOTA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2N1cnNvcjpkZWZhdWx0fS55dERyb3Bkb3duVmlld01vZGVsVGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0RHJvcGRvd25WaWV3TW9kZWxMYWJlbHtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERyb3Bkb3duVmlld01vZGVsTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dERyb3Bkb3duVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFRpdGxlUGxhY2Vob2xkZXJ7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3due2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwM30ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3duRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnR7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRIaW50e2NvbG9yOiM2MDYwNjB9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0RXJyb3J7Y29sb3I6I2MzMDAyN30ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0VGV4dHttYXJnaW4tbGVmdDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmNoaXAtY29udGFpbmVye2hlaWdodDozMnB4O21pbi13aWR0aDo0OHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjB9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlciAuY2hpcC1jb250YWluZXIuY2hpcC1uby12ZXJ0aWNhbC1wYWRkaW5ne3BhZGRpbmc6MH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lcjpoYXMoYzMtaWNvbil7cGFkZGluZy1sZWZ0OjhweH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lci5saWdodC1lZmZlY3R7cG9zaXRpb246cmVsYXRpdmV9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6IzAzMDMwMzt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGN1YmljLWJlemllciguMDUsMCwwLDEpfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9ERUZBVUxUXSAuY2hpcC1jb250YWluZXI+YzMtaWNvbix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7cGFkZGluZy1yaWdodDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMzAzMDM7Y29sb3I6I2ZmZn15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHR7bWF4LXdpZHRoOjIwcmVtO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc315dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHQubW9kZXJue2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfRVhQTE9SRV9MQVVOQ0hFUl9DSElQXSAuY2hpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlcjowO3BhZGRpbmc6MCAxMnB4IDAgNnB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue3BhZGRpbmctcmlnaHQ6NHB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdLm1vcmUtZHJhd2VyIC5jaGlwLWNvbnRhaW5lcntwYWRkaW5nOjA7bWluLXdpZHRoOjQ4cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0VYUExPUkVfTEFVTkNIRVJfQ0hJUF0ubW9yZS1kcmF3ZXIgLmNoaXAtY29udGFpbmVyPmMzLWljb257cGFkZGluZy1yaWdodDowfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmVsZXZhdGVkLWNvbnRlbnR7ei1pbmRleDoxfS55dG1DaGlwc1NoZWxmVmlld01vZGVsSG9zdHstLWNoaXBzLXNoZWxmLXNpZGUtbWFyZ2luOjhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJvdHRvbToyNHB4fS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46OHB4IDRweCA4cHggdmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pfS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pIC0gNHB4KTtwYWRkaW5nLXJpZ2h0OjEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21heC1oZWlnaHQ6ODBweDtvdmVyZmxvdzpoaWRkZW59Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxDaGlwc1NoZWxmVGl0bGV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuNHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW46MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbENoaXBzU2hlbGZJdGVte21hcmdpbjowIDRweCA4cHh9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxNZW51QnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxme21hcmdpbi1ib3R0b206MH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbEVuYWJsZUFuaW1hdGlvbnstLWNoaXBzLXNoZWxmLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7aGVpZ2h0OnZhcigtLWNoaXBzLXNoZWxmLWhlaWdodCk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyxoZWlnaHQgLjNzfS55dG1DaGlwc1NoZWxmVmlld01vZGVsRW5hYmxlQW5pbWF0aW9uLmV4cGFuZGVke29wYWNpdHk6MX0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxmQ29udGVudHttYXJnaW4tYm90dG9tOjB9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxJc0hvcml6b250YWxseVNjcm9sbGFibGV7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93LXg6YXV0bztmbGV4LXdyYXA6bm93cmFwO3Njcm9sbGJhci13aWR0aDpub25lfS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTZweH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToyNHB4fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxlSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxBdmF0YXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowIDI0cHggMTZweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dENvbW11bml0eUVkdVZpZXdNb2RlbENvbnRlbnR7cGFkZGluZy1sZWZ0Ojc4cHh9Lnl0Q29tbXVuaXR5RWR1Vmlld01vZGVsTGVhcm5Nb3Jle2NvbG9yOiMwNjVmZDQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxFZHVjYXRpb25hbFRleHRTZXR7dGV4dC1hbGlnbjpzdGFydH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxQcmltYXJ5VGV4dHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbW11bml0eUVkdVZpZXdNb2RlbFNlY29uZGFyeVRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjI0cHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOnJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplVGlueTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplRXh0cmFTbWFsbDpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplU21hbGw6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZU1lZGl1bTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplNDg6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2U6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUdpYW50Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVSZXNwb25zaXZlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRleHRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTttYXJnaW46MnB4IDA7bWFyZ2luLWxlZnQ6LThweDtib3JkZXI6MnB4IHNvbGlkICNmZmZ9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxUZXh0Q29udGFpbmVyVGhpbkJvcmRlcnttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweDtib3JkZXItd2lkdGg6MXB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsVGV4dENvbnRhaW5lclRoaW5Cb3JkZXJPdmVybGF5e2JvcmRlcjoxcHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhckRlY29yYXRlZFRleHR7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU3RhY2tUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyQnV0dG9ue21hcmdpbjo0cHggMH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbElzT3ZlcmxheXtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDoycHg7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0OjJweDtib3JkZXItcmFkaXVzOjRweH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJTdGFja3ttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93SW5saW5le2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3dNZXRhZGF0YVJvd1BhZGRpbmd7cGFkZGluZzo4cHggMH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93V3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxCYWRnZXttYXJnaW4tcmlnaHQ6NHB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbEljb257bWFyZ2luLWxlZnQ6NHB4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjRweDstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFNwYWNlcntoZWlnaHQ6NnB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRMYXN0UGFydHtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMwe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7bWF4LWhlaWdodDozLjZyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3std2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3ttYXgtaGVpZ2h0OjUuNHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo3LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e21heC1oZWlnaHQ6Ny4ycmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlcnttYXJnaW46MCA0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlclN0YW5kYWxvbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDoycHh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSW5saW5le3doaXRlLXNwYWNlOm5vcm1hbH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxJbmxpbmUgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3d7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMye21heC1oZWlnaHQ6NHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMzey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczN7bWF4LWhlaWdodDo2cmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzNHttYXgtaGVpZ2h0OjhyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxEZWxpbWl0ZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbENlbnRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbENvbnRlbnRMaXN0SXRlbVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tbGVmdDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbGltYWdlQ2xhc3NOYW1le2JvcmRlci1yYWRpdXM6OHB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlTWV0YWRhdGFXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxNZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuNHJlbTtsaW5lLWhlaWdodDozLjJyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0Q29udGVudExpc3RJdGVtVmlld01vZGVsQWN0aW9uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dERlY29yYXRlZEF2YXRhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxDaGFubmVsQmFyVmlld01vZGVsQ2hhbm5lbE5hbWV7cGFkZGluZzowIDhweDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjJyZW19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjMuNnJlbX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3Vic2NyaWJlQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3BvbnNvckJ1dHRvbntkaXNwbGF5Om5vbmV9fS55dFByZWZlcnJlZExhbmd1YWdlU2V0dGluZ3NQYW5lbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEFzc2V0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkQXNzZXRWaWV3TW9kZWxGaWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLXJhZGl1czoxMnB4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2JvcmRlcjoxcHggc29saWQgQnV0dG9uQm9yZGVyfX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvd3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvdyAueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsfS55dEFsZXJ0QmFubmVyVmlld01vZGVsTmFycm93IC55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjowIDAgMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEZ1bGxibGVlZHtib3JkZXItcmFkaXVzOjB9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxJbmZvcm1hdGlvbmFse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbFRpbWVTZW5zaXRpdmV7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dEFsZXJ0QmFubmVyVmlld01vZGVsV2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEFsZXJ0QmFubmVyVmlld01vZGVsRGlzbWlzc2Vke2Rpc3BsYXk6bm9uZX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxMnB4fS55dEFsZXJ0QmFubmVyVmlld01vZGVsT3V0ZXJDb250YWluZXI6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7cGFkZGluZzoxMnB4IDA7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dEFsZXJ0QmFubmVyVmlld01vZGVsSWNvbntwYWRkaW5nOjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEhlYWRpbmd7cGFkZGluZzowO21hcmdpbjowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEJvZHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjo2cHggMCA2cHggMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbERpc21pc3NCdXR0b257bWFyZ2luOjZweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbElzSW5SaWNoR3JpZHttYXJnaW4tYm90dG9tOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5kaXZpZGVyVmlld01vZGVsSW5zZXRUaGluUGFkZGluZ3twYWRkaW5nOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlcntoZWlnaHQ6MXB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlckZ1bGxCbGVlZDRweHtoZWlnaHQ6NHB4fS5kaXZpZGVyVmlld01vZGVsQmFzZURpdmlkZXJGdWxsQmxlZWQ4cHh7aGVpZ2h0OjhweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkMTJweHtoZWlnaHQ6MTJweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkVGhpY2t7aGVpZ2h0OjZweH0ueXRUaHVtYm5haWxCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjB9Lnl0VGh1bWJuYWlsVmlld01vZGVsQ2luZW1hdGlje2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzE2Qnk5e3BhZGRpbmctdG9wOjU2LjI1JX0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzJCeTN7cGFkZGluZy10b3A6MTUwJX0ueXRUaHVtYm5haWxWaWV3TW9kZWxTaG9ydHNBc3BlY3RSYXRpbzlCeTE2e3BhZGRpbmctdG9wOjE3OCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsQXNwZWN0UmF0aW8xQnkxe3BhZGRpbmctdG9wOjEwMCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsU21hbGx7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0VGh1bWJuYWlsVmlld01vZGVsTWVkaXVte2JvcmRlci1yYWRpdXM6OHB4fS55dFRodW1ibmFpbFZpZXdNb2RlbExhcmdle2JvcmRlci1yYWRpdXM6MTJweH0ueXRUaHVtYm5haWxWaWV3TW9kZWxJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0b3A6NTAlO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFRodW1ibmFpbFZpZXdNb2RlbEJsdXJyZWRJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2hlaWdodDoyMDAlO2ZpbHRlcjpibHVyKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpfS55dFRodW1ibmFpbFZpZXdNb2RlbEhpZ2hsaWdodEVmZmVjdHtib3gtc2hhZG93OjAgMCA3cHggMnB4ICMwZjBmMGY7b3V0bGluZTpzb2xpZCAxcHggI2ZmZn0ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dFBpbmtpbmdOc0hvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0UGlua2luZ05zUGlua2luZ0xlZnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjRweDtoZWlnaHQ6MTAwJX0ueXRQaW5raW5nTnNQaW5raW5nUmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0UGlua2luZ05zUGlua2luZ3tmaWxsOiNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCdXR0b25WaWV3TW9kZWxCdXR0b25Cb3R0b21FbmRQb3NpdGlvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9uVG9wRW5kUG9zaXRpb257dG9wOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEJ1dHRvbkxlZ2FjeUljb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RTbWFsbHttYXJnaW4tYm90dG9tOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TWVkaXVte21hcmdpbi1ib3R0b206NHB4fS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYXJnZXttYXJnaW4tYm90dG9tOjhweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MCA4cHggNHB4IDEycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyU2VnbWVudHtmbGV4LXNocmluazowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2hlaWdodDo2cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFySW5hY3RpdmVTZWdtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoycHggMCAwIDJweDttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0OjJweDttYXJnaW4tdG9wOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJGaXhlZFRvQm90dG9te3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7aGVpZ2h0OjZweDttYXJnaW4tdG9wOjB9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUluYWN0aXZlU2VnbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTA7Ym9yZGVyLXJhZGl1czowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckxlZnRTZWdtZW50e2JvcmRlci1yYWRpdXM6MnB4IDAgMCAycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyUmlnaHRTZWdtZW50e2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFdhdGNoZWRQcm9ncmVzc0JhcntoZWlnaHQ6NHB4O21hcmdpbjowIDRweCA0cHggOHB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0V2F0Y2hlZFByb2dyZXNzQmFyU2VnbWVudHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0VXNlTGVnYWN5QmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TGFiZWx7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowIDRweDtib3R0b206MTZweDtsZWZ0Oi0xMHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYWJlbFRyaWFuZ2xle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2xlZnQ6LTVweDtoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkICNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjEycHggMTJweCAxNnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsTGVhZGluZ0NvbnRlbnR7bWFyZ2luLXJpZ2h0OjhweH0ueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxQb3NpdGlvblRvcHt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNiksdHJhbnNwYXJlbnQpfS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFBvc2l0aW9uQm90dG9te2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsMC42KSl9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGVNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxUaXRsZU1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFZvdGluZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0Vm90aW5nVmlld01vZGVsVm90ZUNvdW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgOHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFZvdGluZ1ZpZXdNb2RlbFZvdGVDb3VudERpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0ZEZlZWRGaWx0ZXJDaGlwUmVuYW1lRm9ybVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjE2cHggMjRweH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dExpbmVhckxheW91dFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW57LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNley1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246cmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4RGlyZWN0aW9uUm93ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Sb3dSZXZlcnNley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS55dExpbmVhckxheW91dFZpZXdNb2RlbEp1c3RpZnlDb250ZW50Q2VudGVyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4RW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlQXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRCZXR3ZWVuey1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlRXZlbmx5ey1tb3otYm94LXBhY2s6c3BhY2UtZXZlbmx5O2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHl9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4U3RhcnR7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zU3RhcnR7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zRW5key1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zQ2VudGVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lRmlyc3R7LW1vei1ib3gtYWxpZ246Zmlyc3QgYmFzZWxpbmU7YWxpZ24taXRlbXM6Zmlyc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lTGFzdHstbW96LWJveC1hbGlnbjpsYXN0IGJhc2VsaW5lO2FsaWduLWl0ZW1zOmxhc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc1N0cmV0Y2h7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhXcmFwV3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4V3JhcFdyYXBSZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2V9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsVGh1bWJuYWlsSXRlbXt3aWR0aDoxMDAlfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRpdGxle21hcmdpbjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIb3N0Q2VudGVyZWR7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxCYW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQmFubmVyRnVsbEJsZWVke21hcmdpbi1sZWZ0Oi0yNHB4O21hcmdpbi1yaWdodDotMjRweDttYXJnaW4tdG9wOi0yNHB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEJhbm5lckltYWdley1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQ3VzdG9tQXNzZXRDb250YWluZXJ7bWFyZ2luOjJweCAwIDEycHggNnB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEN1c3RvbUFzc2V0Q29udGFpbmVyQ2VudGVyZWR7bWFyZ2luLWxlZnQ6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLXNlbGY6c3RyZXRjaDtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTZweH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja0NlbnRlcmVke2FsaWduLXNlbGY6Y2VudGVyfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRleHR7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsVGV4dHttYXgtaGVpZ2h0OjUuNnJlbX0ueXRPdmVybGF5UG9sbFN0aWNrZXJIb3N0ey0tcHJpbWFyeS1zdXJmYWNlOiNmYWNhZGU7LS1yYWlzZWQtc3VyZmFjZTojZGUxZTdlOy0tc2Vjb25kYXJ5LXN1cmZhY2U6I2RlMWU3ZTstLXByaW1hcnktdGV4dDojMTAxY2E3Oy0tc2Vjb25kYXJ5LXRleHQ6IzAwNzstLW9yaWdpbmFsLXdpZHRoOjIyMDstLW9yaWdpbmFsLWhlaWdodDoyMDU7LS1zY2FsZWQtd2lkdGg6MjIwO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXN0aWNrZXItd2lkdGgpL3ZhcigtLW9yaWdpbmFsLXdpZHRoKSoxOHB4KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTAlO3BhZGRpbmc6MWVtIGNhbGModmFyKC0tb3JpZ2luYWwtaGVpZ2h0KS92YXIoLS1vcmlnaW5hbC13aWR0aCkqMWVtKTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktc3VyZmFjZSk7Y29sb3I6dmFyKC0tcHJpbWFyeS10ZXh0KX0ueXRPdmVybGF5UG9sbFN0aWNrZXJRdWVzdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtsaW5lLWhlaWdodDoxLjIyMjIyMjIyMjJlbTtmb250LXdlaWdodDo3MDB9Lnl0T3ZlcmxheVBvbGxTdGlja2VyUG9sbENob2ljZXt3aWR0aDoxMDAlfS55dE92ZXJsYXlQb2xsU3RpY2tlclZvdGVDb3VudHtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZjtmb250LXNpemU6LjU1NTU1NTU1NTZlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NDAwfS55dE92ZXJsYXlQb2xsU3RpY2tlckRlYnVnU3R5bGV7b3BhY2l0eTouNztib3JkZXI6MXB4IHNvbGlkIHJlZH1AcHJvcGVydHkgLS1wb2xsLWNob2ljZS1wZXJjZW50YWdle3N5bnRheDoiPG51bWJlcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VIb3N0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOmNhbGModmFyKC0tc3RpY2tlci13aWR0aCkvdmFyKC0tb3JpZ2luYWwtd2lkdGgpKjE4cHgpOy0tZGlzcGxheWVkLXBlcmNlbnRhZ2U6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VVbnN0eWxlUmFkaW9CdXR0b257LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO29wYWNpdHk6MDttYXJnaW46MDtwb2ludGVyLWV2ZW50czpub25lfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2JvcmRlcjouMTExMTExMTExMWVtIHNvbGlkIHZhcigtLXJhaXNlZC1zdXJmYWNlKTtwYWRkaW5nOjAgLjMzMzMzMzMzMzNlbTtoZWlnaHQ6M2VtO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFpc2VkLXN1cmZhY2UpO2JvcmRlci1yYWRpdXM6LjVlbTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LXRleHQpO2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouNzc3Nzc3Nzc3OGVtO2ZvbnQtd2VpZ2h0OjUwMDtwb2ludGVyLWV2ZW50czphdXRvO3RyYW5zaXRpb246LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlIC4yNXMgZWFzZS1pbi1vdXR9Lnl0T3ZlcmxheVBvbGxTdGlja2VyQ2hvaWNlU2hvd1ZvdGVQZXJjZW50YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXJhaXNlZC1zdXJmYWNlKSBjYWxjKHZhcigtLXBvbGwtY2hvaWNlLXBlcmNlbnRhZ2UsIDEwMCkqMSUpLHZhcigtLXByaW1hcnktc3VyZmFjZSkgY2FsYyh2YXIoLS1wb2xsLWNob2ljZS1wZXJjZW50YWdlLCAxMDApKjElKSk7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKX0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VQb2xsQ2hvaWNlU2VsZWN0ZWR7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKTtib3JkZXI6LjExMTExMTExMTFlbSBzb2xpZCB2YXIoLS1wcmltYXJ5LXRleHQpfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2VUZXh0ey1tb3otYm94LWZsZXg6NDtmbGV4OjQ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDozZW07d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93OmhpZGRlbn0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VWb3RlUGVyY2VudGFnZXstbW96LWJveC1mbGV4OjE7ZmxleDoxO3RleHQtYWxpZ246cmlnaHR9Lnl0Y2lDb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstLWljb24tY29sb3I6Y3VycmVudGNvbG9yfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbENhcmR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTZweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLXRvcDoyNHB4fS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFBdHRyaWJ1dGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO3BhZGRpbmctYm90dG9tOjMycHg7Zm9udC13ZWlnaHQ6NzAwfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFOYW1le2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctYm90dG9tOjhweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxJZGVhU3VtbWFyeXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjNyZW19Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoxMHB4IDEycHh9Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsQWdyZWVtZW50Um93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEluc3RhbGxtZW50QWdyZWVtZW50c1ZpZXdNb2RlbEFncmVlbWVudExhYmVse2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtYmFzaXM6MTAwJX0ueXRJbnN0YWxsbWVudEFncmVlbWVudHNWaWV3TW9kZWxBZ3JlZW1lbnRCdXR0b257LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRUaGVtZWRJbWFnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjJweDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxWaXN1YWxseUhpZGRlbkFjY2Vzc2liaWxpdHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsU3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsSW5mb1RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi10b3A6LTRweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEZlYXR1cmVEZXNjcmlwdGlvbnttYXgtd2lkdGg6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1sZWZ0OjhweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsTm90ZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVye2hlaWdodDoxMDAlOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW46YXV0b30ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyQ2VsbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpzdGFydDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsVmlld01vZGVsQ2VsbFdyYXBwZXJDb250ZW50Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyUm93Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjEwcHggMWZyO2dyaWQtZ2FwOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0Rmlyc3RSb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMTBweCAxZnI7Z3JpZC1nYXA6MH1AbWVkaWEgKG1heC13aWR0aDo1NzBweCl7Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbEhvc3RGaXJzdFJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlUm93SGVhZGVyQ2VsbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0hlYWRlckNlbGx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVGaXJzdFJvd0NlbGx7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjRweH0ueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2JvcmRlci10b3A6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVSb3dDb250ZW50Q2VsbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDk1cHgsMWZyKSk7Z3JpZC1nYXA6MH0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsSG9zdHt0ZXh0LWFsaWduOmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd3N7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7bWF4LXdpZHRoOjM3NXB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3ROb1BhZGRpbmd7cGFkZGluZzowO3BhZGRpbmctdG9wOjI0cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFdpZGV7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve3dpZHRoOjEyNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czo0cHh9fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxUaXRsZXtwYWRkaW5nLXRvcDoyNHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsVGl0bGU6Zm9jdXMsLnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbFRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb257cGFkZGluZzowfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb25TdWJ0aXRsZXtwYWRkaW5nLXRvcDo4cHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsU3VidGl0bGVTZWN0aW9uU3VidGl0bGVTZWNvbmRhcnl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb25JY29ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbEJlbmVmaXRJbmZvU2VjdGlvbkJlbmVmaXRJbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjEycHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsT2ZmZXJUYWJsZVNlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9ue3BhZGRpbmctdG9wOjEycHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbExlZ2FsSW5mb1NlY3Rpb25MZWdhbEluZm97cGFkZGluZy10b3A6NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9uTGVnYWxJbmZvU21hbGxlcntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNnJlbTtmb250LXdlaWdodDo0MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsSG9zdHtwYWRkaW5nOjI0cHggMjRweCA4cHg7d2lkdGg6YXV0bztkaXNwbGF5OmJsb2NrfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFNjb3JlUmFkaWFse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxNDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZVJhZGlhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtib3JkZXItcmFkaXVzOjMxcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQocmdiKDAsMCwwKSAyMCUsdHJhbnNwYXJlbnQgNjAlKTtmaWx0ZXI6Ymx1cigycHgpO2JhY2tncm91bmQ6cmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KGZyb20gMGRlZywjZjdkN2M1IDBkZWcgMTBkZWcsdHJhbnNwYXJlbnQgMTBkZWcgMjBkZWcpfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbERhcmtTY29yZVJhZGlhbDpiZWZvcmV7YmFja2dyb3VuZDpyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCM0MjRmNWQgMGRlZyAxMGRlZyx0cmFuc3BhcmVudCAxMGRlZyAyMGRlZyl9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3BhZGRpbmc6OHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFN1YnRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZXtjb2xvcjojMDMwMzAzO21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MCAxNnB4O2hlaWdodDo2MnB4O2JvcmRlci1yYWRpdXM6MzFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpncmlkOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6My4ycmVtO2xpbmUtaGVpZ2h0OjQuNHJlbTtmb250LXdlaWdodDo5MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsUHJvbXB0e2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6OHB4O3RleHQtd3JhcDp3cmFwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0SG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnQueXRUcnVuY2F0ZWRUZXh0SGlkZGVuVGV4dENvbnRlbnR7dmlzaWJpbGl0eTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbnt2aXNpYmlsaXR5OmhpZGRlbjtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbntmbG9hdDpyaWdodDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dE92ZXJsYXkgLnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiNmZmZ9Lnl0VHJ1bmNhdGVkVGV4dEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0VHJ1bmNhdGVkVGV4dE1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0TWVkaXVtVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRJbmxpbmVCdXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRMYXJnZVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRMYXJnZVRleHQgLnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHR7Y29sb3I6IzAzMDMwM30ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHQgLnl0VHJ1bmNhdGVkVGV4dEFic29sdXRlQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiM2MDYwNjB9Lnl0RGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbENsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcn0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbk1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbElzT3ZlcmxheSAueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOnByZS1saW5lO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaEhlYWRsaW5le21heC1oZWlnaHQ6NS4ycmVtO2NvbG9yOiMwMzAzMDM7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsUGFyYWdyYXBoOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbToxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaENvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhBc3NldHtkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHR7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhUZXh0UHJpbWFyeXtjb2xvcjojMDMwMzAzfS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHRCb2xke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxCYWNrZ3JvdW5kSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjAwJTttYXgtd2lkdGg6MjAwJTtoZWlnaHQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSB0cmFuc2xhdGVZKC0yNSUpO29wYWNpdHk6Ljc7ZmlsdGVyOmJsdXIoMzBweCl9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsQmFja2dyb3VuZEdyYWRpZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVDb250YWluZXJ7aGVpZ2h0OjEwMCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZXtvcGFjaXR5Oi44O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxGYWRlVG9UaGVtZUltYWdle2Rpc3BsYXk6bm9uZX19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDphdXRvO2hlaWdodDoxMDAlO21pbi13aWR0aDo1MCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VDb250YWluZXJ7cmlnaHQ6LTgwcHh9fS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VHcmFkdWFsQmx1cntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lfS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxIb3N0SGFzU3RhY2tze2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLXRvcDotMXB4fS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd0hvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb2xsZWN0aW9uVGh1bWJuYWlsU2xpZGVzaG93U2xpZGVzaG93VGh1bWJuYWlse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjhzIGVhc2V9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbEZpcnN0U2xpZGV7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbFNob3dTbGlkZXtvcGFjaXR5OjF9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0IHBhdGgub2ZmbGluZS1kb3dubG9hZGluZy1wcm9ncmVzc3tzdHJva2U6IzNlYTZmZn0ueXREb3dubG9hZEJ1dHRvblZpZXdNb2RlbEhvc3QgcGF0aC5vZmZsaW5lLWRvd25sb2FkaW5nLWJhY2tncm91bmR7c3Ryb2tlOiMwNjVmZDR9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Rm9ybUZvb3RlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxIb3N0e3dpZHRoOjEwMCV9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsTGFiZWx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbERpc2FibGVkIC55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbExhYmVse2NvbG9yOiM2MDYwNjB9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsU3ViVGV4dCwueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdWJUaXRsZXttYXJnaW4tYm90dG9tOjhweH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0FjY2Vzc29yeXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0NvbnRhaW5lcnstbW96LW1hcmdpbi1zdGFydDo4cHg7bWFyZ2luLWlubGluZS1zdGFydDo4cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRTZWxlY3Rpb25MaXN0SXRlbUZvcm1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VsZWN0aW9uTGlzdEl0ZW1Gb3JtVmlld01vZGVsUGFyYWdyYXBoe21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0U3VibWl0QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEF0dHJpYnV0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDowfS55dEF0dHJpYnV0aW9uVmlld01vZGVsQXR0cmlidXRpb25UZXh0e2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxTdWZmaXh7bWFyZ2luLWxlZnQ6NHB4O2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvbkltYWdle21hcmdpbi1yaWdodDo4cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEJhZGdle21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFRhcHBhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2NvbG9yOmluaGVyaXQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbE1lZGl1bVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsQmFkZ2UsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsU3VmZml4e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjJyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxCYWRnZSwueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEhlYXZ5VGV4dCAueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFN1ZmZpeHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7bWluLXdpZHRoOjA7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiMwMzAzMDN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3N0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodHtwb3NpdGlvbjpzdGF0aWN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIZWFkaW5nUmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MTJweDtkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxVcGRhdGVkQXZhdGFyTWFyZ2lue21hcmdpbi1yaWdodDo4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXt0ZXh0LWRlY29yYXRpb246bm9uZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Y29sb3I6IzAzMDMwM30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhhc01lbnVCdXR0b24gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YXtjb2xvcjojNjA2MDYwfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtyaWdodDotMTBweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF0dHJpYnV0aW9ue21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQm90dG9tUmlnaHR7dG9wOnVuc2V0O3JpZ2h0OjA7Ym90dG9tOjA7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b24ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEJvdHRvbVJpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuMnN9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmlzaWJsZXtvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9uOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDYXJke21hcmdpbjo0cHggMH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFZlcnRpY2FsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZHstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGV4dENvbnRhaW5lcnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQXR0cmlidXRpb257bWFyZ2luLXRvcDoxMnB4fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjAgOHB4IDhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE92ZXJsYXl7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiNmZmZ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGEsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjRweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJ7bWFyZ2luLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9ue3Bvc2l0aW9uOnVuc2V0fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsSG9yaXpvbnRhbCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXJ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXJpZ2h0OjI4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvcml6b250YWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Ni42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxlTWF4TGluZXMzIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6Ni42cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjZyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpbnkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjMuNnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MDtkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt6LWluZGV4OjE7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTE1JTtib3JkZXItcmFkaXVzOjUwJX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHZhcigtLXl0LWxvY2t1cC1tZXRhZGF0YS10aGVtZWQtbWVudS1idXR0b24tYWRkaXRpdmUtYmFja2dyb3VuZCx0cmFuc3BhcmVudCkgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTF9Lnl0Rm9ybVBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEltYWdle21hcmdpbi1pbmxpbmU6YXV0bzstbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MX0ueXREaWFsb2dJbWFnZUNvbnRlbnRWaWV3TW9kZWxEZXNjcmlwdGlvbnttYXJnaW4tdG9wOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC13cmFwOmJhbGFuY2U7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFuaW1hdGVkVGh1bWJuYWlsT3ZlcmxheVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxIb3N0QmFja2dyb3VuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7aGVpZ2h0OjY4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwwLjYpKX0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyU21hbGx7cGFkZGluZzowIDJweCAycHggMH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJTbWFsbExlZ2FjeXtwYWRkaW5nOjAgMnB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lck1lZGl1bXtwYWRkaW5nOjAgNHB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lckxhcmdle3BhZGRpbmc6MCA4cHggOHB4IDB9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyQ2xpcHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZXttYXJnaW4tbGVmdDo0cHh9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSG9zdHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxIb3N0OmZvY3VzLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6Zm9jdXMtd2l0aGluLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6aG92ZXJ7b3BhY2l0eToxfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3RGb3JjZUhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm5vbmV9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsU2NyaW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxTdHlsZUNvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbFN0eWxlQnV0dG9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjAgMTZweH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxUZXh0e21hcmdpbjo0cHg7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RvcDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDAgNHB4IDRweDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5VG9nZ2xlQWN0aW9uc1ZpZXdNb2RlbEhpZGRlbkdhdGVke29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCdXR0b257cGFkZGluZzo0cHggNHB4IDAgMDtwb2ludGVyLWV2ZW50czphdXRvfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxPdmVybGF5QmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kVmVydGljYWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmZsZXgtZW5kfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCb3R0b21FbmRWZXJ0aWNhbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kSG9yaXpvbnRhbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbFNtYWxse21hcmdpbjoycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTWVkaXVte21hcmdpbjo0cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTGFyZ2V7bWFyZ2luOjhweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxUb3BTdGFydHt0b3A6MDtsZWZ0OjB9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsVG9wU3RhcnQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLXJpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmR7Ym90dG9tOjA7cmlnaHQ6MH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbENsaXAueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2U6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsVGV4dHttYXJnaW46NHB4O2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsQ2lyY2xlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbEV4dHJhU21hbGxSb3VuZGVkSW1hZ2V7Ym9yZGVyLXJhZGl1czoycHh9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbFNtYWxsUm91bmRlZEltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxMYXJnZVJvdW5kZWRJbWFnZXtib3JkZXItcmFkaXVzOjhweH0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxCdXR0b257dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkV4cGFuZGVke3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkNvbnRyb2xsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtcm93czowZnI7dHJhbnNpdGlvbjpncmlkLXRlbXBsYXRlLXJvd3MgLjM1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHlFeHBhbmRlZHtncmlkLXRlbXBsYXRlLXJvd3M6MWZyfS55dElubGluZUV4cGFuZGVyVmlld01vZGVsQm9keUNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWxmSGVhZGVyTGF5b3V0SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzowIDAgMTZweCA4cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzo4cHggMTJweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXRIZWFkZXJSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNoZWxmSGVhZGVyTGF5b3V0UmVzcG9uc2l2ZXttaW4taGVpZ2h0OjU2cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRSZXNwb25zaXZle21pbi1oZWlnaHQ6NDhweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXROYXJyb3d7bWluLWhlaWdodDo0OHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0RGlzYWJsZUhvcml6b250YWxQYWRkaW5ne3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ueXRTaGVsZkhlYWRlckxheW91dERpc2FibGVWZXJ0aWNhbFBhZGRpbmd7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjI0cHg7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdle21hcmdpbi1yaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweDttYXgtd2lkdGg6MzZweDtjb2xvcjojMDMwMzAzfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdlQ2lyY3VsYXJJbWFnZXtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlbGZIZWFkZXJMYXlvdXRMYWJlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTaGVsZkhlYWRlckxheW91dFRpdGxlUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmJhc2VsaW5lO2FsaWduLWl0ZW1zOmJhc2VsaW5lfS55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMztwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGVUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjZyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjJyZW19fS55dFNoZWxmSGVhZGVyTGF5b3V0U21hbGxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7bWF4LWhlaWdodDo1LjJyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWFyZ2luLWxlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0RGV0YWlsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWF4LWhlaWdodDoyLjJyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7ZGlzcGxheTpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFN1YmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6MnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdWJsYWJlbFR5cG9ncmFwaHl7bWF4LWhlaWdodDozLjZyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy1ib3R0b206MnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHttYXgtaGVpZ2h0OjMuNnJlbX0ueXRTaGVsZkhlYWRlckxheW91dFRyYWlsaW5nQWN0aW9uc3ttYXJnaW4tbGVmdDoxMnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5e2NvbG9yOmluaGVyaXR9Lnl0U2hlbGZIZWFkZXJMYXlvdXRJc092ZXJsYXkgLnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZXtjb2xvcjojZmZmfS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5IC55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dFNoZWxmSGVhZGVyTGF5b3V0VGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hlbGZIZWFkZXJMYXlvdXRIb3ZlcmFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dFNoZWxmSGVhZGVyTGF5b3V0Qm90dG9tQWNjZXNzb3J5e21hcmdpbi10b3A6OHB4fS55dE1hcnF1ZWVTY3JvbGx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dE1hcnF1ZWVTY3JvbGxIb3N0e2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS55dE1hcnF1ZWVTY3JvbGxBbmltYXRpb25FbmFibGVke2FuaW1hdGlvbjpzY3JvbGxpbmctcGFyZW50IDE2cyBsaW5lYXIgM3MgaW5maW5pdGU7YW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6c2Nyb2xsaW5nLXBhcmVudH0ueXRNYXJxdWVlU2Nyb2xsSW5uZXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleH1Aa2V5ZnJhbWVzIHNjcm9sbGluZy1wYXJlbnR7dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tbWFycXVlZS10cmFuc2xhdGUsMCkpfX0ueXRNYXJxdWVlU2Nyb2xsRHVwbGljYXRlU3RyaW5nLC55dE1hcnF1ZWVTY3JvbGxQcmltYXJ5U3RyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRNYXJxdWVlU2Nyb2xsSG9zdExhcmdlIC55dE1hcnF1ZWVTY3JvbGxEdXBsaWNhdGVTdHJpbmcsLnl0TWFycXVlZVNjcm9sbEhvc3RMYXJnZSAueXRNYXJxdWVlU2Nyb2xsUHJpbWFyeVN0cmluZ3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpub25lfX0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0UmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWxJY29ue21hcmdpbi1yaWdodDo0cHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsTWFycXVlZUNvbnRhaW5lcntjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3RMYXJnZXtkaXNwbGF5OmJsb2NrfS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWQgLnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JvcmRlci1yYWRpdXM6MThweH0ueXRTbWFydEltYXRpb25zQm9yZGVye3otaW5kZXg6MTtib3JkZXItcmFkaXVzOjIycHg7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO3RvcDotM3B4O2xlZnQ6LTNweDtib3R0b206LTNweDtyaWdodDotM3B4fS55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dFNtYXJ0SW1hdGlvbnNBY3RpdmVCb3JkZXIgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e29wYWNpdHk6MX0ueXRTbWFydEltYXRpb25zQWN0aXZlQmFja2dyb3VuZCAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOiNmZmZ9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlcntwYWRkaW5nOjNweDstd2Via2l0LW1hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO21hc2stY29tcG9zaXRlOmV4Y2x1ZGV9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e3dpZHRoOmNhbGMoMTAwJSArIDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCwtM3B4KX0ueXRTbWFydEltYXRpb25zRW5hYmxlTWFza2luZyAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dFNtYXJ0SW1hdGlvbnNJbnZpc2libGUgLnl0U21hcnRJbWF0aW9uc0JvcmRlciwueXRTbWFydEltYXRpb25zSW52aXNpYmxlIC55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5Oi4wMDF9Lnl0RGlzbGlrZUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaWtlQnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN3aXRjaEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTd2l0Y2hCdXR0b25WaWV3TW9kZWxCdXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0U3dpdGNoQnV0dG9uVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3dpdGNoU2hhcGVIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MH0ueXRTd2l0Y2hTaGFwZVRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrQWN0aXZle2JhY2tncm91bmQtY29sb3I6IzBmMGYwZjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrRGlzYWJsZWR7b3BhY2l0eTouM30ueXRTd2l0Y2hTaGFwZUtub2J7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOjJweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9Lnl0U3dpdGNoU2hhcGVLbm9iQWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE4cHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3dpdGNoU2hhcGVUcmFja3tvdXRsaW5lOjFweCBzb2xpZCAjOTA5MDkwfS55dFN3aXRjaFNoYXBlVHJhY2tBY3RpdmV7b3V0bGluZToycHggc29saWQgIzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9Lnl0U3dpdGNoU2hhcGVLbm9ie291dGxpbmU6MXB4IHNvbGlkICMwMzAzMDN9fS55dFNwZWNBdmF0YXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmV9Lnl0U3BlY0F2YXRhclNoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uVGlueXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbkV4dHJhU21hbGx7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25TbWFsbHt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbk1lZGl1bXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbjQ4e3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uTGFyZ2V7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25FeHRyYUxhcmdle3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uRXh0cmFFeHRyYUxhcmdle3dpZHRoOjEyMHB4O2hlaWdodDoxMjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25HaWFudHt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uUmVzcG9uc2l2ZXt3aWR0aDoxMjhweDtoZWlnaHQ6MTI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTE4e3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIwe3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIye3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTI0e3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQWRzQXBwe2JvcmRlci1yYWRpdXM6MjAlfS55dFNwZWNBdmF0YXJTaGFwZUluc2NyaWJlZFNxdWFyZXt0cmFuc2Zvcm06c2NhbGUoMS40MTQyMTM1NjI0KX0ueXRTcGVjQXZhdGFyU2hhcGVJbWFnZU92ZXJsYXlze292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjQXZhdGFyU2hhcGVTdG9yaWVzV2F0Y2hlZHtib3JkZXI6MnB4IHNvbGlkICM5MDkwOTA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZVN0b3JpZXNVbndhdGNoZWR7Ym9yZGVyOjJweCBzb2xpZCAjZTEwMDJkO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlUmluZ3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZVJpbmc6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzoycHg7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtpbnNldDotNHB4O21hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApOy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsI2UxMDAyZCA2MCUsI2UwMTM3OCA4NSUpfS55dFNwZWNBdmF0YXJTaGFwZU9uU2VsZWN0Qm9yZGVye2JvcmRlcjoxcHggc29saWQgIzBmMGYwZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQmFja2dyb3VuZEJvcmRlcntib3JkZXI6MnB4IHNvbGlkICNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlV2hpdGVCb3JkZXJ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVXaGl0ZUJvcmRlclRoaW57Ym9yZGVyLXdpZHRoOjFweH0ueXRTcGVjQXZhdGFyU2hhcGVJc092ZXJsYXkueXRTcGVjQXZhdGFyU2hhcGVCYWNrZ3JvdW5kQm9yZGVyLC55dFNwZWNBdmF0YXJTaGFwZUlzT3ZlcmxheS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZVRleHR7cGFkZGluZzowIDJweDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dmlzaWJpbGl0eTpoaWRkZW47Y29sb3I6I2ZmZjt6LWluZGV4OjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoxNnB4O3BhZGRpbmc6MCAycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmZ9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdle2JvcmRlci1yYWRpdXM6NHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi00cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlU21hbGx7bWF4LXdpZHRoOjMycHg7aGVpZ2h0OjEzcHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlTWVkaXVte21heC13aWR0aDozNnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUxhcmdle21heC13aWR0aDo1MnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUV4dHJhTGFyZ2V7Ym9yZGVyLXJhZGl1czo0cHg7bWF4LXdpZHRoOjY4cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoyNHB4O3BhZGRpbmc6MCA0cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VUZXh0e3BhZGRpbmc6MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdHtiYWNrZ3JvdW5kLWNvbG9yOiNlMTAwMmR9Lnl0U3BlY0F2YXRhclNoYXBlU3F1YXJle2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55e3JpZ2h0Oi04cHg7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG87d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55IC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGx7cmlnaHQ6LThweDt0b3A6MDtib3R0b206MDttYXJnaW46YXV0bzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGwgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyU21hbGx7Ym90dG9tOi0ycHg7cmlnaHQ6LTJweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lclNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lck1lZGl1bXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lcjQ4e2JvdHRvbTotMnB4O3JpZ2h0Oi0ycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXI0OCAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJFeHRyYUV4dHJhTGFyZ2V7Ym90dG9tOi00cHg7cmlnaHQ6LTRweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJHaWFudHtib3R0b206LTRweDtyaWdodDotNHB4O3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyR2lhbnQgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnl7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplVGlueSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LTEuNjY0cHg7cmlnaHQ6LTEuNjY0cHg7d2lkdGg6OHB4O2hlaWdodDo4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTotMS40OTZweDtyaWdodDotMS40OTZweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxse21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS44MjhweDtyaWdodDotLjgyOHB4O3dpZHRoOjExcHg7aGVpZ2h0OjExcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS43NDRweDtyaWdodDotLjc0NHB4O3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemU0OHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOi41MDhweDtyaWdodDouNTA4cHg7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDgueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTouNjc2cHg7cmlnaHQ6LjY3NnB4O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MS41MTJweDtyaWdodDoxLjUxMnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdle21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjguNTJweDtyaWdodDo4LjUycHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50e21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxNC4zNnB4O3JpZ2h0OjE0LjM2cHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplR2lhbnQueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTI4cHg7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxNDRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUxOHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMHt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyNHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0ey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMnB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzoxMnB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdle2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2xpY2thYmxlRGVzY3JpcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbERldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjo0cHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEltYWdle2hlaWdodDo3MnB4O3dpZHRoOjcycHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbExlYWRpbmd7ZmxleC1zaHJpbms6MDttYXJnaW46OHB4IDEycHggOHB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEF2YXRhclN0YWNre21hcmdpbjowIGF1dG99Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsSXRlbXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjEycHh9Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsRGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtwYWRkaW5nOjEycHggMTJweCAxNnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250aW51YXRpb25JdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojZmZmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7cGFkZGluZzoxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbFVwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQ2hhbm5lbFRpdGxley1tb3otcGFkZGluZy1zdGFydDoxMnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQm90dG9te3BhZGRpbmctdG9wOjE2cHh9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0V2Vie2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RFeHRyYWN0T3ZlcmxheXttYXgtd2lkdGg6NDgwcHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtiYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIDhweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6MTZweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEZvcndhcmRBY3Rpb25JY29ue21hcmdpbi1sZWZ0OmF1dG99Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvcml6b250YWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZDt3aWR0aDoxMDAlfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpLHRyYW5zcGFyZW50KTt6LWluZGV4OjE7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDRweCByZ2JhKDAsMCwwLDAuMykpfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJSb3VuZGVke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVyTWV0YXBhbmVse21pbi13aWR0aDowO3BhZGRpbmc6MCAwIDE2cHggMTZweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEFjdGlvbnNDb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEycHggOHB4O2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDAsMCwwLjMpKX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsQWN0aW9uc0NvbnRhaW5lcntwYWRkaW5nOjAgNHB4IDE2cHggNHB4O2ZpbHRlcjp1bnNldH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7YmFja2dyb3VuZDpub25lfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEhpZGV7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxNZXRhZGF0YUNvbnRhaW5lcnt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDtib3JkZXItcmFkaXVzOjB9Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RFeHRyYWN0QWN0aW9uQmFyIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJNZXRhcGFuZWx7cGFkZGluZy1yaWdodDoxNnB4fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEV4dHJhY3RBY3Rpb25CYXIgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye3BhZGRpbmctYm90dG9tOjA7ZmlsdGVyOnVuc2V0fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdDpub3QoLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkpW3Nob3ctc2NydWJiZXJdIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuNXN9Lnl0ZnpGYW56b25lU2NoZWR1bGVkSW5mb1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozMnB4IDEycHggMjBweH0ueXRmekZhbnpvbmVTY2hlZHVsZWRJbmZvVmlld01vZGVsQXZhdGFye21hcmdpbi1ib3R0b206OHB4fS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxUaXRsZXt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvcmRlci1yYWRpdXM6aW5oZXJpdH0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke3BhZGRpbmc6MTZweH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke292ZXJmbG93LXk6c2Nyb2xsfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkVuYWJsZWR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb250YWluZXItdHlwZTpzaXplfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmOy1tb3otcGFkZGluZy1zdGFydDoxMiU7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTIlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czppbmhlcml0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgMzUlLHJnYmEoMTcwLDksMTcwLC4yKSAwLHJnYmEoMTY5LDAsMjU1LC4yKSA4NCUscmdiYSgyNTQsNzAsMTYwLC4yKSk7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoMjclIDU4JSBhdCA3NyUgNTAlLCMwZjBmMGYgMCx0cmFuc3BhcmVudCAxMDAlKX1bZGlyPXJ0bF0gLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVyOmJlZm9yZXttYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudCgyNyUgNTglIGF0IDIzJSA1MCUsIzBmMGYwZiAwLHRyYW5zcGFyZW50IDEwMCUpfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7bWFzay1yZXBlYXQ6bm8tcmVwZWF0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxGbGV4SXRlbXt3aWR0aDoxMDAlO21hcmdpbjo4cHggMH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNSU7bWluLXdpZHRoOjk2cHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbExvZ29Db250YWluZXI6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDoyMi43MjclfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzp2aXNpYmxlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lOy1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0ltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo0MyU7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW17d2lkdGg6YXV0b30uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uSXRlbTpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxCdXR0b25JdGVtIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsUHJpbWFyeUJ1dHRvbkl0ZW0sLmludGVyc3RpdGlhbFZpZXdNb2RlbFNlY29uZGFyeUJ1dHRvbkl0ZW17bWF4LXdpZHRoOjEwMCV9LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtjb2xvcjojZmZmO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEludGVyc3RpdGlhbEljb257dGV4dC1hbGlnbjpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbEljb25JbWFnZXt3aWR0aDoyNSU7b2JqZWN0LWZpdDpjb250YWlufX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsRGVzY3JpcHRpb257Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2luc2V0LWlubGluZS1lbmQ6MTIlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjMwJTttYXgtd2lkdGg6NDAwcHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTstbXMtaGlnaC1jb250cmFzdC1hZGp1c3Q6bm9uZX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NHB4IDEycHg7Ym90dG9tOjhweDtpbnNldC1pbmxpbmUtZW5kOjhweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dFBvcnRyYWl0IC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZy1ib3R0b206bWF4KDEyJSw0MnB4KTtwYWRkaW5nLWlubGluZToxNnB4fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJTtmbGV4LXdyYXA6d3JhcH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW06bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6MDttYXJnaW4taW5saW5lLWVuZDowO21hcmdpbi1ibG9jay1lbmQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbFByaW1hcnlCdXR0b25JdGVtLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9uLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVye3BhZGRpbmc6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXttYXgtd2lkdGg6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbSwuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntkaXNwbGF5Om5vbmV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo3NiV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi40cmVtO2xpbmUtaGVpZ2h0OjMuMnJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9ue21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIaWRlRXJyb3JDb2RlIC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxFcnJvckNvZGVDb250YWluZXIsLmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21heC13aWR0aDo1MTZweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO3BhZGRpbmc6NnB4IDAgNnB4IDZweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEltYWdley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luOjRweDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRXh0cmFjdE92ZXJsYXkgLnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUaXRsZXttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsVGV4dHttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0e21heC1oZWlnaHQ6My42cmVtfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRGl2aWRlcnttYXJnaW46MnB4IDRweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0Q29sbGFib3JhdGl2ZVBsYXlsaXN0SW52aXRlTWVzc2FnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsQWNjb3VudFNlY3Rpb25IZWFkZXJUZXh0e2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7YWxpZ24tc2VsZjpzdHJldGNofS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50VGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAwIDA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxIYW5kbGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsSW52aXRlTWVzc2FnZVdyYXBwZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tYm90dG9tOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxUZXJtc09mU2VydmljZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjRweH0ueXRSZWVsQ2Fyb3VzZWxWaWV3TW9kZWxIb3N0QnV0dG9ue21pbi13aWR0aDowfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b24gYzMtaWNvbnt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0fS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b25NYXhXaWR0aHttYXgtd2lkdGg6NTAlfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjMwcHh9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RUYWxse2hlaWdodDozNnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OS45cHgpey55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEVuZHBvaW50e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxMaW5re21hcmdpbi1yaWdodDo0OHB4O21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO21heC1oZWlnaHQ6MnJlbX0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSWNvbnttYXJnaW4tcmlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUaXRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RMYXJnZSwueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUYWxse2hlaWdodDp1bnNldH0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbFNob3J0c0Rpc2Nsb3N1cmVzVGV4dHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3R7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTZweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjE4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcn0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0VGV4dFNlY3Rpb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dGV4dC1hbGlnbjpsZWZ0O2ZsZXgtc2hyaW5rOjE7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e21heC1oZWlnaHQ6NHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ1NlY3Rpb257bWF4LXdpZHRoOjEwMCU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ0ltYWdle21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTstbW96LXBhZGRpbmctc3RhcnQ6NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3RMZWFkaW5nSWNvbnttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3R7ZGlzcGxheTpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEZpeGVkSGVpZ2h0QXV0b3toZWlnaHQ6YXV0b30ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEhpZGRlbntvcGFjaXR5OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RTaG93bnthbmltYXRpb246ZmFkZUluIC41cyBlYXNlLWluLW91dDtvcGFjaXR5OjF9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RVc2VSb3VuZEJvcmRlcntib3JkZXItcmFkaXVzOjI4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RSb3VuZEFsbENvcm5lcnN7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RPbmx5Um91bmRMZWFkaW5nQ29ybmVyc3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbnRhaW5lcntkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOm5vbmU7bWF4LWhlaWdodDo1MnB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkTGVhZGluZ1NlY3Rpb257Ym9yZGVyLXJhZGl1czo0cHg7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkTGVhZGluZ1NlY3Rpb257bWFyZ2luLXJpZ2h0OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRMZWFkaW5nSW1hZ2V7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo0cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJbWFnZXttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDstbW96LXBhZGRpbmctc3RhcnQ6OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZExlYWRpbmdJY29uey1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJY29ue3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRTZWNvbmRhcnl7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5e2FuaW1hdGlvbjpmYWRlSW4gLjI1cyBlYXNlLWluLW91dDtvcGFjaXR5OjE7bWFyZ2luLXRvcDotMnB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZFNlY29uZGFyeXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItcmFkaXVzOjAgOHB4IDhweCAwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb257Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czowIDhweCA4cHggMDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDBweDt3aWR0aDoyNHB4O3BhZGRpbmc6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0VHJhaWxpbmdJY29ue2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheXtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5Q29udGFpbmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjMDMwMzAzKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUV4cGFuZGVkVHJhaWxpbmdTZWN0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCMwMzAzMDMpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVye2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMyk7bWF4LXdpZHRoOjQ4MHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lclByaW1hcnlUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyUHJpbWFyeVRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHBhbnNpdmVDb250YWluZXJQcmltYXJ5VGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7Y29sb3I6cmdiYShmcm9tIHZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMykgciBnIGIvLjcpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lckV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7bWF4LWhlaWdodDoxLjhyZW19QGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxIb3N0Q2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxle21hcmdpbjowO3BvaW50ZXItZXZlbnRzOmF1dG87d29yZC1icmVhazpicmVhay13b3JkO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjJyZW07bWF4LWhlaWdodDpub25lOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS15dC1zaG9ydHMtdmlkZW8tdGl0bGUtbWF4LWxpbmVzLDEpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7bWFyZ2luOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGVMYXJnZXttYXgtaGVpZ2h0OjIuOHJlbX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6bm9uZTstd2Via2l0LWxpbmUtY2xhbXA6dmFyKC0teXQtc2hvcnRzLXZpZGVvLXRpdGxlLW1heC1saW5lcywxKX0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsQ29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHggMTJweCAwfS55dEFjY2Vzc0NvbmZpcm1hdGlvblZpZXdNb2RlbEF2YXRhcnttYXJnaW4tYm90dG9tOjE2cHh9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsVGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dER1YWxBdmF0YXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXREdWFsQXZhdGFyVmlld01vZGVsQXZhdGFyc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LXNocmluazowO2dhcDp2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpO21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSB2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpLHRyYW5zcGFyZW50IDEwMCUsYmxhY2sgMCl9Lnl0RHVhbEF2YXRhclZpZXdNb2RlbEJhZGdle3Bvc2l0aW9uOmFic29sdXRlfS55dEltYWdlU3RpY2tlckhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRJbWFnZVN0aWNrZXJJbWFnZUNvcHl7cG9zaXRpb246YWJzb2x1dGU7ZmlsdGVyOmJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpfS55dEltYWdlU3RpY2tlckltYWdlQWN0dWFse3Bvc2l0aW9uOnJlbGF0aXZlfS55dE92ZXJsYXlQcm9kdWN0U3RpY2tlckhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJUaXRsZUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nOjRweCA0cHggNHB4IDhweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJPcGVuSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dE92ZXJsYXlTdGlja2VySG9zdHstLXN0aWNrZXItd2lkdGg6MTAwO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0T3ZlcmxheVN0aWNrZXJIb3N0Pjpvbmx5LWNoaWxke2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dE92ZXJsYXlTdGlja2VySG9zdFJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS55dFN1YnNjcmliZVBsdXNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U3VydmV5SWNvbnNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTdXJ2ZXlJY29uc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRTdXJ2ZXlJY29uc1RpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07bWF4LWhlaWdodDoyLjJyZW19Lnl0U3VydmV5SWNvbnNBbnN3ZXJze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFN1cnZleUljb25zSWNvbntjb2xvcjojMDMwMzAzO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWFyZ2luOi02cHh9Lnl0U3VydmV5SWNvbnNBbnN3ZXJzVGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX1zZW50aW5lbHt9"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/api/v1/widget?top=50","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:48.270Z","timestamp":1785136428270,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /api/v1/widget?top=50 HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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/3 200 \r\nage: 516\r\ncache-control: public, max-age=120, s-maxage=300, stale-while-revalidate=600\r\ncdn-cache-control: public, s-maxage=60, stale-while-revalidate=300\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\netag: W/\"hbJCCNoLhGXyNrzjWRD7Xv8Mhuk=\"\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /api/v1/widget\r\nx-vercel-cache: STALE\r\nx-vercel-id: arn1::iad1::c9tmv-1785136428282-e5e420512309\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\npriority: u=4,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=U73KIQSNhHarGLr8CIqpMDypzVYyDvJNAnKhrRM41gb0oFbF4aIx%2BJkN7PqhWYDDK4mCjwENS%2BGjfABuEGt%2BVOMC2lpCbhapemn6pBNiFMq4CdPMQ3bbkDpSvdTI\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a219d7f4bf908deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":43411,"size_decoded":15640,"mime_type":"application/json","magic":"JSON text data","md5":"b79e7e5b03e76a05dac8dd50f00eddf0","sha1":"85b24208da0b8465f236bce35910fb5eff0c86e9","sha256":"5290b9ef67776b3f6d6d6c3145bc90a50e7693c31415a940df2739e3ea931cea","sha512":"27582283bfae8714c05abc9258dd301e04960b626f92033dfeb7c08acd3948c1912007864991375bd079f8ab550cc6e8cc39efd70a6a38a41a3e8286140c4e09","ssdeep":"768:qP4mhtNgQ4USI9uefBwbIg87duF8nBrq5co0dZ:64GOUNN84Bu5co0r","tlshash":"ee1375cb07398adee66013bd74563be4246eb98a94ecd945d1cb8c9d400cef30239f5a","first_seen":"2026-07-27T07:14:43.770849Z","last_seen":"2026-07-27T07:14:43.770849Z","times_seen":1,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTM1NS4yOTQ5NTQyMTQ0MSwibWFya2V0X2NhcCI6MTMxMTE0Njg4MjMyNi42MDIzLCJ2b2x1bWVfMjRoIjoxNzEzMTAzNjQ1Ni4yNDkxNjgsInJhbmsiOjEsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wODE1OTI0MywicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjQ5MDQ4NDc3LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4yOTkwMjc4NCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2MTgzMSwidG90YWxfc3VwcGx5IjoyMDA2MTgzMSwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6WzY0Njg1LDY0Nzg1LDY0MDU1LDYzOTg4LDY0NjcyLDY0MTA0LDY1MzQ3LDY1MDIyLDY1NDgwLDY1MjM5LDY1NDc2LDY2MTY0LDY2MTk1LDY2Njg0LDY2MTk2LDY2Mjg5LDY2Njc0LDY1OTI2LDY1OTUzLDY1OTkzLDY1NjA3LDY2MDI5LDY1ODc2LDY2MDkzLDY1NzgxLDY1NTU5LDY1Njc2LDY0OTg3LDY0NzA2LDY0Njg2LDY1MTAyLDY0OTM1LDY1Mzc4LDY1NzA5LDY1MDEzLDYzNzY5LDY0MDkyLDY0MTY4LDY0MDQ0LDYzOTc0LDY0MDg4LDYzODYyLDY0MTI2LDY0MTcwLDY0MzgyLDY0MzIzLDY0NDc5LDY0MjQ3LDY0NDYzLDY0NDU1LDY0Njg0LDY0NjIwLDY0NjA3LDY1MzAwLDY1MTY5LDY1NDA3XX0seyJpZCI6MTAyNywic2x1ZyI6ImV0aGVyZXVtIiwic3ltYm9sIjoiRVRIIiwibmFtZSI6IkV0aGVyZXVtIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTAyNy5wbmciLCJwcmljZV91c2QiOjE5NjYuNDczNjUzMjY5OTYyOCwibWFya2V0X2NhcCI6MjM3MzE5MjIzODEyLjMwMTQ1LCJ2b2x1bWVfMjRoIjo5MTM3NjcxNzgzLjU4NzI2LCJyYW5rIjoyLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xMjkyNDk2NCwicGVyY2VudF9jaGFuZ2VfMjRoIjo0LjM2MzIzMjYsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjM0MDE0MjA5LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEyMDY4MjYzNS44NTMxMDM3MSwidG90YWxfc3VwcGx5IjoxMjA2ODI2MzUuODUzMTAzNzEsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzE4NjYuMSwxODg3LjksMTg1Ny44LDE4NTYuMiwxODg3LjksMTg2My41LDE4OTkuMywxODk1LjQsMTkwMC44LDE5MDYuMSwxOTM2LjYsMTkzOS44LDE5NDAuMSwxOTMyLjEsMTkxOC4xLDE5MTguOCwxOTM1LjIsMTkzNi4xLDE5MTIuNSwxOTI5LjMsMTkxNi41LDE5NDYuNSwxOTI2LjYsMTkzNiwxOTE5LjYsMTkyNC4yLDE5MjcuNiwxOTIzLjEsMTg4OS44LDE4ODAuMiwxODgwLjgsMTg2NywxODczLjcsMTg5Mi4yLDE4ODIuNSwxODUzLjksMTg2MS44LDE4NTYuNSwxODYwLjcsMTg1Ny43LDE4NTkuNSwxODUzLjYsMTg1NS43LDE4NjguMSwxODc0LjMsMTg3MSwxODc3LjMsMTg4My44LDE4NzguNCwxODg2LjMsMTkxMSwxOTEwLjMsMTkxMy44LDE5NTMuNSwxOTQ0LjMsMTk3MC42XX0seyJpZCI6ODI1LCJzbHVnIjoidGV0aGVyIiwic3ltYm9sIjoiVVNEVCIsIm5hbWUiOiJUZXRoZXIgVVNEdCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzgyNS5wbmciLCJwcmljZV91c2QiOjAuOTk5MDI3MzQxODI3MTk5MiwibWFya2V0X2NhcCI6MTgzOTQ3NjI5NjA1LjM5OTg3LCJ2b2x1bWVfMjRoIjo0MTk5MTYyOTkyMy4wOTk0NjQsInJhbmsiOjMsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDEyNTU1OSwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wMDM0OTc1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDIwMTUwNjQsImNpcmN1bGF0aW5nX3N1cHBseSI6MTg0MTI2NzIxOTY2LjM1MTQ3LCJ0b3RhbF9zdXBwbHkiOjE4OTEwNjcyNDAxOC42Mzk2LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlswLjk5OTI0LDAuOTk5NCwwLjk5OTIxLDAuOTk5MDIsMC45OTkwOCwwLjk5ODkxLDAuOTk5MTIsMC45OTkzNywwLjk5OTM5LDAuOTk5MjIsMC45OTkxNSwwLjk5OTI4LDAuOTk5MjYsMC45OTk1MiwwLjk5OTQzLDAuOTk5NDEsMC45OTkyNywwLjk5OTM3LDAuOTk5MjcsMC45OTkxNywwLjk5OTE1LDAuOTk5NTIsMC45OTk0MSwwLjk5OTU1LDAuOTk5NTUsMC45OTkzNSwwLjk5OTM0LDAuOTk5NTcsMC45OTg5OCwwLjk5OTExLDAuOTk5MjgsMC45OTkxOCwwLjk5OTE4LDAuOTk5MzcsMC45OTkyNCwwLjk5OTAyLDAuOTk5MTgsMC45OTkwNiwwLjk5OTEsMC45OTkwMywwLjk5OTEzLDAuOTk4OTQsMC45OTkxNywwLjk5OTA3LDAuOTk4OTcsMC45OTkxMywwLjk5OTA0LDAuOTk5MDIsMC45OTkyLDAuOTk5MDgsMC45OTkyLDAuOTk5MDgsMC45OTkwMSwwLjk5OTU2LDAuOTk5MDUsMC45OTkwN119LHsiaWQiOjE4MzksInNsdWciOiJibmIiLCJzeW1ib2wiOiJCTkIiLCJuYW1lIjoiQk5CIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTgzOS5wbmciLCJwcmljZV91c2QiOjU3NC41Mjc3MTQ2NDYwMjQ2LCJtYXJrZXRfY2FwIjo3NjUwNzM1MzAyNC43NjE2Niwidm9sdW1lXzI0aCI6ODE3ODIwNTY5Ljk3MDkwODYsInJhbmsiOjQsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wNjIxMjk3MywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjQ3NDgzMzAzLCJwZXJjZW50X2NoYW5nZV83ZCI6MS44NDE3MTI5OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzMxNjU2NDMuODQsInRvdGFsX3N1cHBseSI6MTMzMTY1NjQzLjg0LCJtYXhfc3VwcGx5IjoxMzMxNjU2NDMuODQsInNwYXJrbGluZV83ZCI6WzU3MC4wMyw1NzEuNTIsNTY1LjcsNTY1LjE2LDU3MC40Niw1NjYuOSw1NzMuMyw1NzIuMTQsNTcwLjA1LDU3MS40NSw1NzYuMTgsNTc4LjU3LDU3Ni42Miw1NzYuOTcsNTczLjEsNTcyLjA5LDU3NC4zOSw1NjguNzgsNTY3LjUxLDU3MC4xMyw1NjkuNzMsNTc0Ljg0LDU2OS43LDU3MS42MSw1NzAuMTYsNTY5LjM3LDU3MC4zNSw1NjkuNDksNTY0Ljk0LDU2Ny45OCw1NjYuODksNTY2LjUsNTY5LjA5LDU2OC45Myw1NjUuNjksNTU3Ljg1LDU2MS4xNSw1NjQuNjUsNTY0LjM5LDU2NS41NCw1NjQuMTYsNTY1LjA3LDU2NSw1NjguMjMsNTY3LjksNTY5LjEzLDU2OS40OSw1NzEuMTYsNTcxLjEsNTcwLjI3LDU3My4yNCw1NzIuMzYsNTc1LjAxLDU3Mi4yOCw1NzIuNCw1NzUuMTVdfSx7ImlkIjozNDA4LCJzbHVnIjoidXNkLWNvaW4iLCJzeW1ib2wiOiJVU0RDIiwibmFtZSI6IlVTREMiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNDA4LnBuZyIsInByaWNlX3VzZCI6MC45OTk5MzA5MTYzODgyMjU1LCJtYXJrZXRfY2FwIjo3MjUzODQwMzMyNy44Njg5LCJ2b2x1bWVfMjRoIjo3MDk1NTM0NTc1Ljk1NTI5NSwicmFuayI6NSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDAzOTY3NjEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDAyMDk0NzUsInBlcmNlbnRfY2hhbmdlXzdkIjotMC4wMDkzNDc0MywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3MjU0MzQxNDg4OC45Nzk4NywidG90YWxfc3VwcGx5Ijo3MjU0MzQxNDg4OC45Nzk4NywibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMC45OTk5LDAuOTk5ODcsMSwwLjk5OTc3LDAuOTk5NjIsMC45OTk5NiwwLjk5OTgyLDAuOTk5ODIsMS4wMDAxLDAuOTk5ODcsMC45OTk4MSwwLjk5OTk0LDEsMC45OTk5NiwwLjk5OTk0LDAuOTk5OCwwLjk5OTgyLDEuMDAwMSwwLjk5OTkxLDAuOTk5ODMsMC45OTk5NiwwLjk5OTg1LDAuOTk5OTMsMC45OTk5OSwxLjAwMDEsMC45OTk4LDEsMS4wMDAxLDAuOTk5OCwwLjk5OTk0LDEuMDAwMSwwLjk5OTg4LDEsMSwwLjk5OTg2LDAuOTk5OTUsMC45OTk5NywwLjk5OTc4LDAuOTk5OTgsMC45OTk4OSwwLjk5OTk3LDAuOTk5OTEsMC45OTk5NywwLjk5OTkyLDAuOTk5ODgsMS4wMDAyLDAuOTk5OTMsMC45OTk4MiwxLDEsMC45OTk4NSwxLDAuOTk5ODgsMSwwLjk5OTg5LDAuOTk5NzVdfSx7ImlkIjo1Miwic2x1ZyI6InhycCIsInN5bWJvbCI6IlhSUCIsIm5hbWUiOiJYUlAiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81Mi5wbmciLCJwcmljZV91c2QiOjEuMTA5ODYzMzA2MTI0Mjc5MywibWFya2V0X2NhcCI6Njk0MDMzODM5NTQuNzQ0OTgsInZvbHVtZV8yNGgiOjcwNzE1MzIwMy4xNzQ1MTc2LCJyYW5rIjo2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wOTExODUzMiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjk1NDU1MDMyLCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4zMTA1MzM5NywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MjUzMzI3MTk1NSwidG90YWxfc3VwcGx5Ijo5OTk4NTYzNTcwNywibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOlsxLjA5NjIsMS4xMDEzLDEuMDg3MywxLjA4NjYsMS4xMDIyLDEuMDg4MiwxLjExMDUsMS4xMTY5LDEuMTA4NSwxLjExNTUsMS4xMjg2LDEuMTM0MiwxLjEzMDcsMS4xNTA3LDEuMTYxNiwxLjE0MjMsMS4xNDQzLDEuMTQwNywxLjEzMDgsMS4xMzY3LDEuMTUxMiwxLjEzOTMsMS4xMzcsMS4xNDE4LDEuMTMzNCwxLjEzNSwxLjEzNTUsMS4xMzE0LDEuMTA2OSwxLjEwMjcsMS4xMTE0LDEuMTA2NiwxLjEwNzIsMS4xMTk2LDEuMTAyOSwxLjA4ODIsMS4wODQ4LDEuMDg4OSwxLjA5MzgsMS4wOTIsMS4wODc0LDEuMDg3NiwxLjA5MTEsMS4xMDYxLDEuMDk3OCwxLjA5OTYsMS4wOTk4LDEuMDk1NCwxLjA5ODYsMS4wOTk4LDEuMDk3MSwxLjEwMjQsMS4xLDEuMTExLDEuMTA1LDEuMTEwOF19LHsiaWQiOjU0MjYsInNsdWciOiJzb2xhbmEiLCJzeW1ib2wiOiJTT0wiLCJuYW1lIjoiU29sYW5hIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTQyNi5wbmciLCJwcmljZV91c2QiOjc2LjYzNDM2ODkyNDM2MDA3LCJtYXJrZXRfY2FwIjo0NDY4NTEyMzEwMS45NjU0Nywidm9sdW1lXzI0aCI6MTI0MTg2OTg5OC4wNTA1MzIzLCJyYW5rIjo3LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xODc1MjU5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuMTA1ODUzNTYsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjMzNzk0NTIzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjU4MzA5NTA3NS4wODQwMTAxLCJ0b3RhbF9zdXBwbHkiOjYzMTEyMzA0Ny4wOTAxMjQ4LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOls3NS45Niw3Ni45OTUsNzYuMDE5LDc1Ljg0Nyw3Ni45ODksNzYuMDA1LDc3LjcxNCw3Ny44OCw3Ny41MzQsNzcuNzA0LDc4LjcxOCw3OC40MTYsNzguMzksNzguMDAyLDc3LjcyNyw3Ny44Miw3OC4zNDcsNzguMTE5LDc3LjA3Niw3Ny41ODksNzcuMTUxLDc4LjUyNyw3Ny41NTIsNzguMzQsNzcuNTksNzcuNTExLDc3LjEwMSw3Ny43NTYsNzYuMDU5LDc1LjcyMiw3Ni4xMzYsNzUuMzI5LDc1Ljc4Niw3NS45NjEsNzUuMTQyLDczLjg1Miw3NC4wMjEsNzMuNjM5LDc0LjExMiw3NC4xNjcsNzMuOTIzLDczLjc0NSw3My44NDEsNzQuNTM1LDc0LjM2NSw3NC40OTksNzQuOTE1LDc0LjcxNyw3NC45MSw3NC44MjksNzUuMzIzLDc1LjMzNyw3NS4zMjYsNzYuNjkxLDc2LjMwMyw3Ni43NjZdfSx7ImlkIjoxOTU4LCJzbHVnIjoidHJvbiIsInN5bWJvbCI6IlRSWCIsIm5hbWUiOiJUUk9OIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTk1OC5wbmciLCJwcmljZV91c2QiOjAuMzMxODA0NDIxODk4MzAwMiwibWFya2V0X2NhcCI6MzE0ODI5OTkzNzYuMzM5ODA2LCJ2b2x1bWVfMjRoIjozMjAwNzQwNjMuNTE3NTUxMzYsInJhbmsiOjgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAyNTU4MDM5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMjE1NTM5NDYsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjc0Mzk0ODE1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjk0ODg0MjA2Nzc1LjI0NzU5LCJ0b3RhbF9zdXBwbHkiOjk0ODg0MjA1NjkxLjA0NjE5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlswLjMyNjkyLDAuMzI3MTQsMC4zMjYzLDAuMzI2NDYsMC4zMjU3NywwLjMyNTIzLDAuMzI2NTIsMC4zMjY2MiwwLjMyNjYzLDAuMzI1NzcsMC4zMjU3LDAuMzI2NTksMC4zMjY2MiwwLjMyODQ5LDAuMzI5NTIsMC4zMjkwOCwwLjMyOTQsMC4zMjg0NSwwLjMyODg2LDAuMzMwMTUsMC4zMjgyMiwwLjMyODU1LDAuMzI4MjMsMC4zMjg3NSwwLjMyODMxLDAuMzI5LDAuMzI3NDYsMC4zMjgxNywwLjMyNjUzLDAuMzI3MTMsMC4zMjgyNiwwLjMyODIyLDAuMzI4NTUsMC4zMzEyNiwwLjMzMTQ0LDAuMzMwMTgsMC4zMzAxNiwwLjMzMTQzLDAuMzMwNCwwLjMzMDkyLDAuMzI5NDEsMC4zMjkyMSwwLjMyOTQ5LDAuMzMyMjgsMC4zMzA0MSwwLjMzMTI2LDAuMzMxMDUsMC4zMzEwNCwwLjMzMDQxLDAuMzMxODksMC4zMzI1MiwwLjMzMjY2LDAuMzMxNzcsMC4zMzE5MywwLjMzMTIyLDAuMzMxODVdfSx7ImlkIjozMjE5Niwic2x1ZyI6Imh5cGVybGlxdWlkIiwic3ltYm9sIjoiSFlQRSIsIm5hbWUiOiJIeXBlcmxpcXVpZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMyMTk2LnBuZyIsInByaWNlX3VzZCI6NjAuMDk3MjYxMzg3MzYxNTksIm1hcmtldF9jYXAiOjE1MTg1NjU5NTYwLjkwMjk3LCJ2b2x1bWVfMjRoIjoyMTgwMzcwNzQuOTAzOTExLCJyYW5rIjo5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDA1MDUwNDgsInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi41MzU4MjQwNCwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjE3Mzk5NjQ0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjI1MjY4NDcxOC4yNDQwMjQ3MiwidG90YWxfc3VwcGx5Ijo5NTMwNDQ2ODMuMTY3NDk3OCwibWF4X3N1cHBseSI6OTUzMDQ0NjgzLjE2NzQ5NzgsInNwYXJrbGluZV83ZCI6WzYwLjg5Myw2MS41NDIsNTkuOTIsNjAuNjExLDYxLjE3Myw2MC44ODEsNjIuMTksNjEuOTg3LDYyLjY0MSw2Mi4zMzEsNjMuMTc3LDYzLjE0OCw2Mi42MjYsNjIuNTU4LDYwLjIzMyw2MC44NDQsNjAuODEzLDYwLjQ1Miw1OC40MTcsNTkuMTE5LDU4LjQ2NCw1Ny44NDcsNTkuNzY3LDU4Ljg1Miw1OS4wNzcsNTguODk2LDU4LjY2MSw1OS42MSw1OC41OSw1OC42OTgsNTcuNTI2LDU3LjY1NSw1OC42NSw1OC44MjYsNTguNDY0LDU4LjIxOCw1OC45MTEsNTYuNzU4LDU3LjMzNiw1Ny40NTUsNTcuMTQzLDU3LjU4NCw1Ny4zNjgsNTguMzM4LDU4LjA2OSw1OC4xNCw1OC41NTEsNTguMzg0LDU4LjcyLDU4LjgxLDU4LjYwNSw1OS40MjQsNTguOTEzLDU5LjYwMSw1OS40Nyw2MC4xNzFdfSx7ImlkIjo3NCwic2x1ZyI6ImRvZ2Vjb2luIiwic3ltYm9sIjoiRE9HRSIsIm5hbWUiOiJEb2dlY29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0Lzc0LnBuZyIsInByaWNlX3VzZCI6MC4wNzI5NDcwODI1ODQzMTQ3NSwibWFya2V0X2NhcCI6MTEzMjQzMDYyOTUuNTMyNTIsInZvbHVtZV8yNGgiOjUzMDYwMjEyMi40NjA5MjI3LCJyYW5rIjoxMCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDgwNDgwMDQsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuNjYxMjY0OTksInBlcmNlbnRfY2hhbmdlXzdkIjoyLjMwNDEzNzE4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1NTI0MDAxNjM4My43MDUyMywidG90YWxfc3VwcGx5IjoxNTUyNDAwMTYzODMuNzA1MjMsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzAuMDcyMTI4LDAuMDcyODIsMC4wNzI3NzQsMC4wNzE2OSwwLjA3MjY5NCwwLjA3MjI2MSwwLjA3MzI3NiwwLjA3MjAxNCwwLjA3MTkyNywwLjA3MjU4OCwwLjA3MjUyLDAuMDczNTQsMC4wNzM2MjksMC4wNzMyMTMsMC4wNzM0ODIsMC4wNzMwMjgsMC4wNzM3MDMsMC4wNzMzNzEsMC4wNzIxNDEsMC4wNzI2ODgsMC4wNzIzMzcsMC4wNzMzODQsMC4wNzI0MzIsMC4wNzMwNTksMC4wNzIzMzUsMC4wNzI1NzMsMC4wNzIyODMsMC4wNzIyOTMsMC4wNjkyMDYsMC4wNjk1NjMsMC4wNjk1OTUsMC4wNjg5MTcsMC4wNjg5OTEsMC4wNjk5MywwLjA2OTY1MSwwLjA2ODU4NCwwLjA2OTA1NywwLjA2ODkyOCwwLjA2OTQzOSwwLjA2OTY3NCwwLjA2OTMzNCwwLjA2OTQsMC4wNzAwOTksMC4wNzMxOTIsMC4wNzI3OTMsMC4wNzE2OTUsMC4wNzE2NjYsMC4wNzM0MTgsMC4wNzMwNjEsMC4wNzMyODgsMC4wNzI5MTksMC4wNzMxMDQsMC4wNzI1MzQsMC4wNzMxOTcsMC4wNzI2MzQsMC4wNzMwNjRdfSx7ImlkIjozOTU3LCJzbHVnIjoidW51cy1zZWQtbGVvIiwic3ltYm9sIjoiTEVPIiwibmFtZSI6IlVOVVMgU0VEIExFTyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM5NTcucG5nIiwicHJpY2VfdXNkIjo5LjcxOTk1MTI4ODk4MDcyNiwibWFya2V0X2NhcCI6ODk0MzQwNDg1Mi4xNDk5MjEsInZvbHVtZV8yNGgiOjE5ODMxMC42NDA5MzcsInJhbmsiOjExLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMDAyMzgyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjM3NDE5OTMxLCJwZXJjZW50X2NoYW5nZV83ZCI6MC41MDcxODUyMiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo5MjAxMDc5OTAuOSwidG90YWxfc3VwcGx5Ijo5ODUyMzk1MDQsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzkuNzg2OSw5LjY5ODUsOS43MTU5LDkuNjY3Nyw5LjY3ODYsOS42NzMsOS43MDExLDkuNzI1Myw5LjcyODYsOS43MTI2LDkuNzE1Nyw5LjcxNTgsOS43MDc4LDkuNzEyMSw5LjcwNDQsOS43MTMyLDkuNzQxMyw5Ljc0MzQsOS43MDM1LDkuNzIwOSw5LjY5NDMsOS43MTQ0LDkuNjk5Myw5LjY5OTQsOS43NjA0LDkuNzIwMSw5LjcyODcsOS43MTg2LDkuNzI0Nyw5LjcxMjEsOS43MTk2LDkuMjc3OSw5LjU3ODQsOS42MDIyLDkuNTk4OSw5LjU5ODEsOS42NDAxLDkuNjI5Miw5LjYzOTUsOS43MDM1LDkuNzA1OSw5LjY5NzYsOS42OTU4LDkuNzAxNSw5LjY5NzIsOS43MDYyLDkuNzUxMSw5Ljc1MTQsOS43NTY0LDkuNzIxOSw5LjcxNDYsOS43MjI5LDkuNzI2NSw5LjcxNTQsOS43Miw5LjcyMTFdfSx7ImlkIjoxNDM3LCJzbHVnIjoiemNhc2giLCJzeW1ib2wiOiJaRUMiLCJuYW1lIjoiWmNhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xNDM3LnBuZyIsInByaWNlX3VzZCI6NTAzLjQ4MjQxMjkyNzE4MDIzLCJtYXJrZXRfY2FwIjo4NDU0MDczNDA4Ljg3NDA0OSwidm9sdW1lXzI0aCI6MzM4MTE4MTUxLjE3Mjc5ODkzLCJyYW5rIjoxMiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDk2NjIyOTksInBlcmNlbnRfY2hhbmdlXzI0aCI6Mi4zNzQ2MTk0OSwicGVyY2VudF9jaGFuZ2VfN2QiOi00Ljk0MDEzMjMxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjE2NzkxMTk5LjA0MDU0NDgsInRvdGFsX3N1cHBseSI6MTY3OTExOTkuMDQwNTQ0OCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6WzU0My41OSw1NTAuNjgsNTMzLjkyLDUyOC4yMyw1MzYuNjEsNTI4LjgyLDU1NS4wOCw1NDYuMjUsNTQxLjYsNTM5LjU0LDU1NC43NCw1MzcuOTUsNTM1LjA1LDU0NC43NCw1MzIuMTEsNTMxLjgzLDUzNi4xOCw1MjIuNzgsNTE0LjE1LDUxNi4zMiw1MTEuNzMsNTE0LjU3LDUxMC43MSw1MTguMzYsNTE0LjMsNTExLjY3LDUxNS45Myw1MTYuODksNTEyLjQyLDUwMi43OCw1MDEuNTgsNTA4LjUyLDUwOS43OCw1MTAuNDUsNTAyLjkxLDQ5Ny42NCw0OTEuMzYsNDk1LjUyLDQ4Ny4zMyw0ODguNDQsNDc4LjA5LDQ3NS4wNiw0NzQuOTksNDgxLjQxLDQ4Ni41MSw0ODMuNSw0ODYuNSw0ODYuOTQsNDkyLjA2LDQ5My44OCw0ODguODUsNDk1LjAxLDQ5MS4zNCw1MDguNDQsNTAzLjA4LDUwNC4zMl19LHsiaWQiOjE5NzUsInNsdWciOiJjaGFpbmxpbmsiLCJzeW1ib2wiOiJMSU5LIiwibmFtZSI6IkNoYWlubGluayIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5NzUucG5nIiwicHJpY2VfdXNkIjo4LjgzOTgxMDQ0MDk0ODEwMywibWFya2V0X2NhcCI6NjYxMzA2MTkyOS40MzQ4NTYsInZvbHVtZV8yNGgiOjI0NTAxMzM0Ni40NDg3NjAxLCJyYW5rIjoxMywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwMDM2MTExLCJwZXJjZW50X2NoYW5nZV8yNGgiOjQuNzczOTY2MjMsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjQwNTg4OTg0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjc0ODA5OTk3MC40MjQ4ODQsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpbOC4zNjc4LDguNDY4OSw4LjMyNjMsOC4zMjI5LDguNDY4NSw4LjMyNiw4LjUzNzUsOC41OTc4LDguNTMxNSw4LjU4MjcsOC43MTMyLDguNzM0Miw4LjY5NjYsOC43MDAzLDguNjIwNyw4LjYyMTUsOC43MDg0LDguNzI1LDguNTgxNSw4LjY1MSw4LjcwMzYsOC42MDE0LDguNjQ2Myw4LjY0OTIsOC42MTAzLDguNTY5NCw4LjYyNTIsOC40OTcxLDguNDY1Niw4LjQ5Nyw4LjQ2NDIsOC40MzAyLDguNDQ0OSw4LjU0NDMsOC40NTQ5LDguMzE1Nyw4LjM0ODcsOC4zMDcsOC4zMzg2LDguMzM5Myw4LjI5NzEsOC4yNzQ1LDguMzU5Miw4LjQwOCw4LjQxNTgsOC4zNjg5LDguMzg1OSw4LjQzOTksOC40MDg2LDguNDI2OSw4LjQ3ODUsOC42Mjg1LDguNTczOSw4Ljc4NzEsOC43MzgzLDguODM5MV19LHsiaWQiOjMyOCwic2x1ZyI6Im1vbmVybyIsInN5bWJvbCI6IlhNUiIsIm5hbWUiOiJNb25lcm8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMjgucG5nIiwicHJpY2VfdXNkIjozNDguODE5OTc3Nzc2OTMsIm1hcmtldF9jYXAiOjY1NTE5OTQzNzUuNjY2MTg5LCJ2b2x1bWVfMjRoIjo3MzE5Mjc1OC4wMzE5MjUzNCwicmFuayI6MTQsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4zODUwMjE4OCwicGVyY2VudF9jaGFuZ2VfMjRoIjotNC4wOTcwOTY1OSwicGVyY2VudF9jaGFuZ2VfN2QiOjQuOTU5NjUxMjUsImNpcmN1bGF0aW5nX3N1cHBseSI6MTg3ODMzMTEuNzE2ODk5OTUsInRvdGFsX3N1cHBseSI6MTg3ODMzMTEuNzE2ODk5OTUsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzMzNS44MSwzMzMuNzUsMzM0LjU2LDMzMi42MywzMzYuMjQsMzMzLjA3LDMzNy42MSwzMzUuMjEsMzM3LjY5LDMzNy43MywzNDUuNTUsMzQ3LjYzLDM0My4xMSwzNDYuOTEsMzQ2Ljc1LDM1My41NSwzNjIuMTksMzQ4LjczLDM1MS42MiwzNTAuMzYsMzQ4LjA1LDM0OC45NiwzNDcuOTksMzUxLjUsMzU0LjI3LDM1MS4xMSwzNTYuMjcsMzQ2Ljk0LDM1MC44MSwzNDkuNDQsMzU2LjQyLDM1My4yLDM1Ni4xLDM1OS4wNCwzNTIuNSwzNTMuNzMsMzYzLjYyLDM2Mi4yMiwzNjMuODUsMzY5LjgzLDM3MS40MiwzNjQuODcsMzY4LjgyLDM2NC4zNCwzNjIuNjYsMzYyLjUyLDM2OC42OCwzNjMuNjUsMzYwLjkzLDM2NC4yNiwzNjIuODQsMzU3LjcyLDM1NS40NiwzNTEuNTIsMzUyLjk1LDM0OC45XX0seyJpZCI6NTEyLCJzbHVnIjoic3RlbGxhciIsInN5bWJvbCI6IlhMTSIsIm5hbWUiOiJTdGVsbGFyIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTEyLnBuZyIsInByaWNlX3VzZCI6MC4xODI0NjYzNjU0MTM0Mzg4LCJtYXJrZXRfY2FwIjo2MjM5NTYwNDUxLjUxNjc3OSwidm9sdW1lXzI0aCI6OTA1NzUwMDAuODcwNTk4NDUsInJhbmsiOjE1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4zNTU1NTg4MywicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjMxMzgyMzM1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTEuMDg5MzY2NDYsImNpcmN1bGF0aW5nX3N1cHBseSI6MzQxOTU2NzQ1NjkuMjc3MjUsInRvdGFsX3N1cHBseSI6NTAwMDE3ODY4MzkuOTEyNDc2LCJtYXhfc3VwcGx5Ijo1MDAwMTgwNjgxMiwic3BhcmtsaW5lXzdkIjpbMC4xODc3MiwwLjE4OTE1LDAuMTg2NDUsMC4xODUxLDAuMTg4OTEsMC4xODU5MSwwLjE4OTI3LDAuMTg3NTcsMC4xODg0NCwwLjE4NjczLDAuMTg4MTUsMC4xOTI5LDAuMTkyMzEsMC4xOTM5NCwwLjE5MzM4LDAuMTkxMTYsMC4xOTMyNywwLjE4ODk0LDAuMTg4MzcsMC4xOTAwMywwLjE4ODI2LDAuMTkxMTcsMC4xODc1MywwLjE4Nzk3LDAuMTg0NjMsMC4xODQzNywwLjE4NDY5LDAuMTgyNDcsMC4xODExMSwwLjE4MzQ4LDAuMTgyNTksMC4xODE4LDAuMTg0MzcsMC4xODQxNSwwLjE4MjMyLDAuMTc2ODMsMC4xNzc3MywwLjE3NzE3LDAuMTc4NDgsMC4xNzkyMSwwLjE3NzI3LDAuMTc2OCwwLjE3ODA4LDAuMTc5MDcsMC4xNzgzMiwwLjE3ODYzLDAuMTc2ODQsMC4xNzcyNCwwLjE3ODIyLDAuMTc3ODEsMC4xODAwMSwwLjE3OSwwLjE3ODU5LDAuMTgyNDYsMC4xODExOCwwLjE4MjUzXX0seyJpZCI6MjAxMCwic2x1ZyI6ImNhcmRhbm8iLCJzeW1ib2wiOiJBREEiLCJuYW1lIjoiQ2FyZGFubyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIwMTAucG5nIiwicHJpY2VfdXNkIjowLjE2NTk0OTk2MDM0ODM5MDQ2LCJtYXJrZXRfY2FwIjo2MDU1NDk3MzYwLjUzMzQ5Mywidm9sdW1lXzI0aCI6MTQ2NTk1MDM4LjcxMjE3ODc3LCJyYW5rIjoxNiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMTc1NjYwMzQsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMDcwMzQwMDcsInBlcmNlbnRfY2hhbmdlXzdkIjoyLjg3NzgwNjA0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM2NDg5ODk5NDExLjk3MTg5LCJ0b3RhbF9zdXBwbHkiOjQ0OTkzMjAyNjUyLjM4NjU2NiwibWF4X3N1cHBseSI6NDUwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6WzAuMTY1NDksMC4xNjczNiwwLjE2MjgyLDAuMTYxNzksMC4xNjU1NiwwLjE2MjI2LDAuMTY2NSwwLjE3MDIxLDAuMTY5NjgsMC4xNjk2NiwwLjE3NjMxLDAuMTc1MSwwLjE3NDQ4LDAuMTc1NjMsMC4xNzM1LDAuMTcyNDQsMC4xNzQzMSwwLjE3MTU1LDAuMTcwNzksMC4xNzMxMiwwLjE3MjI2LDAuMTc5MzcsMC4xNzQ2NSwwLjE3NTcsMC4xNzQwMywwLjE3NDM1LDAuMTcyNzcsMC4xNzQ2MSwwLjE2OSwwLjE3MDE4LDAuMTY5MDEsMC4xNjY1NSwwLjE2NzM4LDAuMTY3ODEsMC4xNjYzMiwwLjE2MzksMC4xNjMyMywwLjE2MzM1LDAuMTY0MzQsMC4xNjM5MSwwLjE2MTc5LDAuMTYyMDksMC4xNjM0NywwLjE2NTk2LDAuMTY0NTIsMC4xNjQ5NCwwLjE2NDc1LDAuMTY1NTIsMC4xNjU3NywwLjE2NSwwLjE2NDUxLDAuMTY1MTgsMC4xNjQyMSwwLjE2NTYzLDAuMTY0NjUsMC4xNjY2N119LHsiaWQiOjM3MjYzLCJzbHVnIjoiY2FudG9uLW5ldHdvcmsiLCJzeW1ib2wiOiJDQyIsIm5hbWUiOiJDYW50b24iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNzI2My5wbmciLCJwcmljZV91c2QiOjAuMTIzMDA2Mzg4MzQxMzM0OTQsIm1hcmtldF9jYXAiOjQ4MTc0OTY5NjUuMjgyODg2NSwidm9sdW1lXzI0aCI6MTEwODQ1MTkuODYxNTA0NTcsInJhbmsiOjE3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDkwODU1ODMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC44NTc0NjE5NCwicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjgyNDE4MTM3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjM5MTY0NjA3ODczLjE2NzAyLCJ0b3RhbF9zdXBwbHkiOjM5MTY0NjA3ODczLjE2NzAyLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlswLjEyNjk0LDAuMTI4NjQsMC4xMjY5MSwwLjEyNTI2LDAuMTI0NjIsMC4xMjI5NCwwLjEyMzkxLDAuMTIzNTQsMC4xMjQ4MywwLjEyNDEyLDAuMTI0ODgsMC4xMjQzMiwwLjEyNzA0LDAuMTI2MDcsMC4xMjQzMiwwLjEyNjU2LDAuMTI3MTMsMC4xMjUxNCwwLjEyNDk0LDAuMTI0LDAuMTI0MDcsMC4xMjQwNiwwLjEyMTM5LDAuMTIyNDYsMC4xMjIwMywwLjEyMTcxLDAuMTIwMSwwLjExOTQyLDAuMTE5MDUsMC4xMjIzMiwwLjEyMjM5LDAuMTIwOTksMC4xMjI3MSwwLjEyMDY0LDAuMTE5ODUsMC4xMTkwMiwwLjExODA2LDAuMTE3OTksMC4xMTg4NSwwLjExNjI0LDAuMTE2NjIsMC4xMTg1LDAuMTE4NDYsMC4xMjA0NCwwLjEyMTc2LDAuMTIwOTMsMC4xMjI1LDAuMTIwMzYsMC4xMjI2LDAuMTIzNTMsMC4xMjI5NCwwLjEyMjk5LDAuMTIzNjMsMC4xMjQ5OSwwLjEyMzIzLDAuMTIzMTldfSx7ImlkIjo0OTQzLCJzbHVnIjoibXVsdGktY29sbGF0ZXJhbC1kYWkiLCJzeW1ib2wiOiJEQUkiLCJuYW1lIjoiRGFpIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDk0My5wbmciLCJwcmljZV91c2QiOjAuOTk5OTA5MDQ3MDc1MTk0OSwibWFya2V0X2NhcCI6NDY0MjIwMzk0MS4zOTY0OSwidm9sdW1lXzI0aCI6MjQ0MzE3ODEuNTA4NjY3NSwicmFuayI6MTgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwNjE1MTA5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuMDA4MzM3MDYsInBlcmNlbnRfY2hhbmdlXzdkIjowLjAxMjIzNzIxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ2NDI2MjYyMDEuODI4MzIzLCJ0b3RhbF9zdXBwbHkiOjQ2NDI2MjYyMDEuODI4MzIzLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlswLjk5OTkyLDAuOTk5NDMsMC45OTk3MiwwLjk5OTc3LDAuOTk5NTQsMC45OTk4OSwwLjk5OTY4LDAuOTk5ODMsMC45OTk4LDAuOTk5NywwLjk5OTg4LDAuOTk5NzUsMC45OTk5MSwwLjk5OTgxLDAuOTk5NjEsMC45OTk2NiwwLjk5OTg1LDAuOTk5NzIsMC45OTk4LDAuOTk5MTgsMC45OTk2OSwwLjk5OTg5LDAuOTk5ODEsMC45OTk3NCwwLjk5OTkyLDAuOTk5NzQsMC45OTk4NSwwLjk5OTU2LDAuOTk5NTEsMC45OTk3OCwwLjk5OTgzLDAuOTk5NjQsMC45OTk3NywwLjk5OTk2LDAuOTk5NzQsMC45OTk3LDAuOTk5NzYsMC45OTk4MywwLjk5OTg4LDAuOTk5NDcsMC45OTk2NywwLjk5OTgyLDAuOTk5OTUsMC45OTk4LDAuOTk5ODcsMC45OTk3MywwLjk5OTg1LDAuOTk5NjYsMC45OTk4NCwwLjk5OTc0LDAuOTk5OTIsMC45OTk4NywwLjk5OTc3LDAuOTk5OTMsMC45OTk3OCwwLjk5OTkzXX0seyJpZCI6MTgzMSwic2x1ZyI6ImJpdGNvaW4tY2FzaCIsInN5bWJvbCI6IkJDSCIsIm5hbWUiOiJCaXRjb2luIENhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODMxLnBuZyIsInByaWNlX3VzZCI6MjE2LjkwNzI4MzY5MDQ3NTI4LCJtYXJrZXRfY2FwIjo0MzUyNjQ4NjM3LjA2NTI2LCJ2b2x1bWVfMjRoIjo4ODY3OTgxMi4xNDk1Njg5NywicmFuayI6MTksInBlcmNlbnRfY2hhbmdlXzFoIjotMC40NTU3ODYyMywicGVyY2VudF9jaGFuZ2VfMjRoIjozLjE1MjAxNzg1LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi41MzQ2MjkyMiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2Njg2Mi41LCJ0b3RhbF9zdXBwbHkiOjIwMDY2ODYyLjUsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOlsyMTQuNDEsMjExLjc5LDIxMy44NSwyMTEuNDksMjE1LjAyLDIxNC41MSwyMTYuODQsMjIwLjg3LDIyMC4wNSwyMjAuNzksMjI0LjE5LDIyMy40MiwyMjUuMDYsMjI2LjQzLDIyMy44NywyMjMuNzIsMjI1LjE5LDIyNC4zLDIyMC42NCwyMjEuODQsMjIwLjksMjE5LjU4LDIxOS4xNSwyMTkuODgsMjE4LjU1LDIxNy42NCwyMTYuNDMsMjE3LjEsMjEyLjM2LDIwOS42LDIxMi4xLDIxMC4wOCwyMTEuNDUsMjEyLjc4LDIxMC40MiwyMDguODIsMjA5LjQzLDIwOS40NiwyMTEuMDUsMjEwLjE0LDIxMS42MSwyMDkuODksMjEwLjcsMjA5Ljg4LDIwOS4yOCwyMDkuNzUsMjA5LjE1LDIxMC42MywyMDkuODcsMjExLjE5LDIxMS4yMiwyMTguMjYsMjE0LjYyLDIxOC4wMiwyMTUsMjE3LjM4XX0seyJpZCI6MTE0MTksInNsdWciOiJncmFtIiwic3ltYm9sIjoiR1JBTSIsIm5hbWUiOiJHcmFtIChwcmV2LiBUb25jb2luKSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzExNDE5LnBuZyIsInByaWNlX3VzZCI6MS41MTQyODIwMzU1NDYyNTE0LCJtYXJrZXRfY2FwIjo0MTQxMzQ3NTU0LjAwMjc5MzMsInZvbHVtZV8yNGgiOjM1MjM0Nzc4LjUxODMzNTI4LCJyYW5rIjoyMCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjE5MTc0MjA0LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNDIyMDY4MzcsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjE0NjkxMzIxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjI3MzQ4NTg4MDIuMjUwMDUzLCJ0b3RhbF9zdXBwbHkiOjUyMjEyMjAxOTYuNDQyMzgxLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlsxLjQ0MiwxLjQ1ODcsMS40NDM4LDEuNDIxOSwxLjQzNzIsMS40MDg3LDEuNDQ2MSwxLjQzODIsMS40MjY3LDEuNDM0NywxLjQ1NDIsMS40NjMxLDEuNDUxMiwxLjUyMTYsMS41MDk4LDEuNTM5NSwxLjU4MTUsMS41NTk2LDEuNTEyOCwxLjQ5NDQsMS41MjcyLDEuNDk4MywxLjUxMTUsMS40OTA4LDEuNDg1LDEuNTE1OCwxLjUxMzEsMS41MDg4LDEuNDcyMSwxLjQ1NzEsMS40NjU4LDEuNDQyLDEuNDY0LDEuNDY5NiwxLjQ2NDUsMS40NDY0LDEuNDYyNiwxLjQ2MSwxLjQ2NjMsMS40NjUxLDEuNDc0MSwxLjQ2NSwxLjQ2NjgsMS40Njk3LDEuNDkzNiwxLjQ4NTEsMS41MTA5LDEuNDk3MywxLjUxMSwxLjUwNzIsMS41MDIsMS41MTY0LDEuNSwxLjUxMTcsMS41MDYsMS41MTc5XX0seyJpZCI6MzYxNDgsInNsdWciOiJ1c2QxIiwic3ltYm9sIjoiVVNEMSIsIm5hbWUiOiJXb3JsZCBMaWJlcnR5IEZpbmFuY2lhbCBVU0QiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNjE0OC5wbmciLCJwcmljZV91c2QiOjAuOTk4ODAxMDg1Nzg3NjczMiwibWFya2V0X2NhcCI6NDEwMDI4NTM0MS4zNjAxNDk0LCJ2b2x1bWVfMjRoIjo1NjQwNDYwMjUuMjYzNTk5MiwicmFuayI6MjEsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDcyMDg0OSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwNzc2MzE5LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDIwNTYyNzEsImNpcmN1bGF0aW5nX3N1cHBseSI6NDEwNTIwNzEzMi41MzU4OTI1LCJ0b3RhbF9zdXBwbHkiOjQxMDUyMDcxMzIuNTM1ODkyNSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMC45OTkxNSwwLjk5ODksMC45OTkxMiwwLjk5ODkxLDAuOTk4OTUsMC45OTg3NywwLjk5ODk1LDAuOTk5MzIsMC45OTkyNCwwLjk5OTE5LDAuOTk4OTIsMC45OTkwNCwwLjk5ODk0LDAuOTk5MjMsMC45OTkyOCwwLjk5OTExLDAuOTk5MTcsMC45OTg5OSwwLjk5OTEyLDAuOTk4OSwwLjk5ODg5LDAuOTk5MjksMC45OTkxLDAuOTk5MjgsMC45OTkzMSwwLjk5ODk1LDAuOTk5MTgsMC45OTkxNiwwLjk5ODgxLDAuOTk4OCwwLjk5OTA5LDAuOTk4ODksMC45OTg4MSwwLjk5OTAxLDAuOTk4ODUsMC45OTg2MSwwLjk5ODY4LDAuOTk4NjgsMC45OTg5MSwwLjk5ODYxLDAuOTk4NzUsMC45OTg1OSwwLjk5ODc5LDAuOTk4ODYsMC45OTg3MiwwLjk5ODg5LDAuOTk4OCwwLjk5ODY4LDAuOTk4NjgsMC45OTg5NiwwLjk5ODg3LDAuOTk4OTksMC45OTg4MywwLjk5ODcxLDAuOTk4OTIsMC45OTg4OF19LHsiaWQiOjI5NDcwLCJzbHVnIjoiZXRoZW5hLXVzZGUiLCJzeW1ib2wiOiJVU0RFIiwibmFtZSI6IkV0aGVuYSBVU0RlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjk0NzAucG5nIiwicHJpY2VfdXNkIjowLjk5OTc4MTgzNTUyNTQ3OTcsIm1hcmtldF9jYXAiOjM5NzQ1MzcyOTAuNjc0MjgzLCJ2b2x1bWVfMjRoIjozNjQ2NzQ1Mi44MTkzOTM5NCwicmFuayI6MjIsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMTQwMDM3NCwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wMTA4MTczMSwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDA0OTI5ODQsImNpcmN1bGF0aW5nX3N1cHBseSI6Mzk3NTQwNDU4Mi43MjYwNzksInRvdGFsX3N1cHBseSI6Mzk3NTQwNDU4Mi43MjYwNzksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzAuOTk5NzksMC45OTk5NiwwLjk5OTc1LDAuOTk5NzMsMC45OTk1NywwLjk5OTkyLDAuOTk5ODIsMC45OTk5OSwwLjk5OTg4LDAuOTk5OTQsMC45OTk3OCwwLjk5OTg4LDAuOTk5ODIsMC45OTk5NSwwLjk5OTk4LDAuOTk5OTEsMC45OTk3NiwwLjk5OTg3LDAuOTk5OTYsMC45OTk4LDAuOTk5NzYsMS4wMDAxLDAuOTk5OTgsMS4wMDAxLDEsMC45OTk4NywxLDAuOTk5OTksMC45OTk2NiwwLjk5OTcxLDAuOTk5OTEsMC45OTk4NSwwLjk5OTk4LDAuOTk5ODksMC45OTk4NiwwLjk5OTc1LDAuOTk5OTYsMC45OTk3NSwwLjk5OTg1LDAuOTk5NzksMC45OTk4NiwwLjk5OTc0LDAuOTk5OTksMC45OTk5OSwwLjk5OTgzLDAuOTk5OTQsMC45OTk5NCwwLjk5OTgxLDAuOTk5OTYsMSwwLjk5OTg5LDAuOTk5OTUsMC45OTk5NSwwLjk5OTgsMC45OTk5OCwwLjk5OTk0XX0seyJpZCI6Miwic2x1ZyI6ImxpdGVjb2luIiwic3ltYm9sIjoiTFRDIiwibmFtZSI6IkxpdGVjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMi5wbmciLCJwcmljZV91c2QiOjQ3LjM0NTg0NTY4NDA5Mjc5NCwibWFya2V0X2NhcCI6MzY2NjEwMDg3NC4zNjA1NTg1LCJ2b2x1bWVfMjRoIjoyNDI0MTg3NjYuMzQ3NTU0MjcsInJhbmsiOjIzLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDE5MDE5OSwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjA2NTAxOTg3LCJwZXJjZW50X2NoYW5nZV83ZCI6MS4zMTE4MTE2NywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQzMjM2Ni40ODA5MzY5MSwidG90YWxfc3VwcGx5Ijo4NDAwMDAwMCwibWF4X3N1cHBseSI6ODQwMDAwMDAsInNwYXJrbGluZV83ZCI6WzQ3LjI1LDQ3LjY1Nyw0Ny4wMjMsNDYuNzQ3LDQ3LjQ0Myw0Ni42NzksNDcuNDU0LDQ2Ljk1NSw0Ny40NjksNDcuMTU4LDQ3LjM1MSw0Ny42ODcsNDcuNDY1LDQ3LjgyNyw0Ny4yOTEsNDYuNzMyLDQ2LjkwOSw0Ni4zNTcsNDYuNDYsNDYuNTIxLDQ2Ljc5MSw0Ni45MjYsNDcuMzg5LDQ2Ljk2MSw0Ny4yNjEsNDcuMTIsNDcuMjA4LDQ2Ljc5OCw0Ni4zNzIsNDcuMzI0LDQ3LjM0NCw0Ni42LDQ2Ljc0NSw0Ny4wMzksNDYuMjUsNDYuMDk1LDQ2LjMzLDQ2LjE0NCw0Ni4zMjYsNDYuMzAxLDQ2LjI5Nyw0NS43OTgsNDUuODYxLDQ2LjA3NCw0Ni40NTcsNDYuNTQzLDQ2Ljc4Niw0Ni42NTEsNDcuMTg0LDQ3LjI1OSw0Ni43ODEsNDcuOTY0LDQ3LjkzNSw0Ny4zMDYsNDcuNjIsNDcuNDA3XX0seyJpZCI6MzM3OTMsInNsdWciOiJnbG9iYWwtZG9sbGFyLXVzZGciLCJzeW1ib2wiOiJVU0RHIiwibmFtZSI6Ikdsb2JhbCBEb2xsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzc5My5wbmciLCJwcmljZV91c2QiOjAuOTk5OTk1Mjc5MTU4MzA3MywibWFya2V0X2NhcCI6MzI3OTAyMDk3NC45NTQwNzk2LCJ2b2x1bWVfMjRoIjoxMjk1MzUwNzguODM3NTA1OTcsInJhbmsiOjI0LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDE1NzI3NDUsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMDU4NjA1NCwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAwMDQ1NDM5LCJjaXJjdWxhdGluZ19zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJ0b3RhbF9zdXBwbHkiOjMyNzkwMzY0NTQuNzY2MDg3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlsxLjAwMDIsMC45OTk5OCwxLjAwMDMsMC45OTk4OCwxLjAwMDEsMC45OTk4OCwxLjAwMDEsMSwwLjk5OTc4LDEuMDAwMSwwLjk5OTk0LDEuMDAwMSwxLDAuOTk5NzksMS4wMDAxLDAuOTk5OTUsMC45OTk4NSwwLjk5OTk1LDEuMDAwMSwwLjk5OTg2LDEuMDAwMywxLDAuOTk5OTYsMS4wMDAxLDAuOTk5OTQsMS4wMDAxLDAuOTk5OTcsMS4wMDAxLDAuOTk5OCwxLDAuOTk5NzUsMSwwLjk5OTg3LDEsMSwwLjk5OTc3LDAuOTk5OTIsMC45OTk4NiwwLjk5OTkxLDAuOTk5OTIsMC45OTk3NSwwLjk5OTk3LDAuOTk5OTIsMSwwLjk5OTkzLDEsMC45OTk5LDAuOTk5OTUsMC45OTk5OCwwLjk5OTkxLDAuOTk5OTIsMSwwLjk5OTg5LDAuOTk5ODgsMS4wMDAyLDEuMDAwMV19LHsiaWQiOjQ2NDIsInNsdWciOiJoZWRlcmEiLCJzeW1ib2wiOiJIQkFSIiwibmFtZSI6IkhlZGVyYSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ2NDIucG5nIiwicHJpY2VfdXNkIjowLjA2OTU0MzgyNTA4MjM1Mzc0LCJtYXJrZXRfY2FwIjozMDQ1NDAwMzM3Ljg2ODcyNSwidm9sdW1lXzI0aCI6MzE1MzE1MzIuMjI3NjUxNDcsInJhbmsiOjI1LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDIwOTgwMzMsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMzMxNDU2NzYsInBlcmNlbnRfY2hhbmdlXzdkIjo2LjI1MzAzMDc3LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQzNzkxMDk2MjUxLjM1NDY1LCJ0b3RhbF9zdXBwbHkiOjUwMDAwMDAwMDAwLCJtYXhfc3VwcGx5Ijo1MDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpbMC4wNjY0MDEsMC4wNjY2MTQsMC4wNjU5ODIsMC4wNjU2MjIsMC4wNjY0NTgsMC4wNjYwMSwwLjA2NjkwMSwwLjA2NjA0LDAuMDY2NTU4LDAuMDY2NjQ0LDAuMDY2ODcyLDAuMDY3NzYzLDAuMDY4Mjc4LDAuMDY4MzE0LDAuMDY5ODg0LDAuMDY5MjA0LDAuMDcwNDA1LDAuMDY5NTgyLDAuMDcwOTM5LDAuMDcwNzc4LDAuMDczMDE1LDAuMDczNDgxLDAuMDcxNjAzLDAuMDcyODUxLDAuMDcyNTk4LDAuMDczNzk0LDAuMDc0Mzg3LDAuMDcxNzM5LDAuMDcxNDQ5LDAuMDcyMjUzLDAuMDcxNjYsMC4wNzA3MDMsMC4wNzEyNzIsMC4wNzA2MzgsMC4wNzA1MzIsMC4wNzEwNCwwLjA3MDQ5LDAuMDcyNDQzLDAuMDcwODM2LDAuMDcwMzcxLDAuMDcwMTIxLDAuMDcwMjYxLDAuMDcwMDA0LDAuMDcxMDcyLDAuMDcwNjUxLDAuMDcwODg3LDAuMDcwMTQxLDAuMDY5Njg1LDAuMDY5OTEzLDAuMDcwMjg5LDAuMDY5ODUsMC4wNzAwOTIsMC4wNjkxNjcsMC4wNzAyNDMsMC4wNjk1NSwwLjA2OTZdfSx7ImlkIjo1OTk0LCJzbHVnIjoic2hpYmEtaW51Iiwic3ltYm9sIjoiU0hJQiIsIm5hbWUiOiJTaGliYSBJbnUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81OTk0LnBuZyIsInByaWNlX3VzZCI6MC4wMDAwMDUwOTY0OTY1MjA3Nzg4MDYsIm1hcmtldF9jYXAiOjMwMDMwNjIwNTEuMDk3NTMxMywidm9sdW1lXzI0aCI6NDEyMjI0MDMyLjcwNjc5NDc0LCJyYW5rIjoyNiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjk3OTM0Njg2LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xMS4xNTA3ODE1LCJwZXJjZW50X2NoYW5nZV83ZCI6MjMuMTQ0NTc1MjUsImNpcmN1bGF0aW5nX3N1cHBseSI6NTg5MjQwNDc4OTk0NTA0LjksInRvdGFsX3N1cHBseSI6NTg5NDk3MTg0MjUwNTQ3LjEsIm1heF9zdXBwbHkiOjU4OTU1MjY5NTMzMzY4Mywic3BhcmtsaW5lXzdkIjpbMC4wMDAwMDQxNDM0LDAuMDAwMDA0MTgxMywwLjAwMDAwNDE0NDEsMC4wMDAwMDQxNTAzLDAuMDAwMDA0MjA5OCwwLjAwMDAwNDE3OTcsMC4wMDAwMDQyNDQ3LDAuMDAwMDA0MjI3MSwwLjAwMDAwNDIzMjYsMC4wMDAwMDQyMzc2LDAuMDAwMDA0Mjk2OSwwLjAwMDAwNDI3OTEsMC4wMDAwMDQyNzE5LDAuMDAwMDA0MjgyMiwwLjAwMDAwNDI2NzksMC4wMDAwMDQyNTI2LDAuMDAwMDA0MjY5OSwwLjAwMDAwNDIyNTUsMC4wMDAwMDQyMjc2LDAuMDAwMDA0MjUxMiwwLjAwMDAwNDIyODMsMC4wMDAwMDQyNzI2LDAuMDAwMDA0MjQzMSwwLjAwMDAwNDI2MTYsMC4wMDAwMDQyNjE4LDAuMDAwMDA0MjI5NSwwLjAwMDAwNDI0MDEsMC4wMDAwMDQyMjQsMC4wMDAwMDQxMjMzLDAuMDAwMDA0MTEyMiwwLjAwMDAwNDE0NzUsMC4wMDAwMDQxMTIsMC4wMDAwMDQxNTEzLDAuMDAwMDA0MTgzMSwwLjAwMDAwNDE2MzMsMC4wMDAwMDQxMTE2LDAuMDAwMDA0MTcwOSwwLjAwMDAwNDE1OTMsMC4wMDAwMDQxODgzLDAuMDAwMDA0MjE1LDAuMDAwMDA0MTg5LDAuMDAwMDA0MjQwNywwLjAwMDAwNDM5OTUsMC4wMDAwMDUwNDYyLDAuMDAwMDA0ODU2OSwwLjAwMDAwNDg3NTEsMC4wMDAwMDUyMzMzLDAuMDAwMDA1NTg4MSwwLjAwMDAwNTYzNzEsMC4wMDAwMDU0NTE3LDAuMDAwMDA1MDczNCwwLjAwMDAwNTI3NjYsMC4wMDAwMDUzMjU4LDAuMDAwMDA1MzMyNywwLjAwMDAwNTA4NjksMC4wMDAwMDUxMDYyXX0seyJpZCI6MjA5NDcsInNsdWciOiJzdWkiLCJzeW1ib2wiOiJTVUkiLCJuYW1lIjoiU3VpIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjA5NDcucG5nIiwicHJpY2VfdXNkIjowLjcxODQxNzExODk5Njk0ODQsIm1hcmtldF9jYXAiOjI5MTEyNjYxNzguODA0NjA1LCJ2b2x1bWVfMjRoIjoxMzU2NjAxOTcuMzA1MjM2NzYsInJhbmsiOjI3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDA1Mzk3OTEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuNzQ3Mzg5NDMsInBlcmNlbnRfY2hhbmdlXzdkIjotMi45OTQzNTg0OCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MDUyMzM0MDg1LjM0MjA5OSwidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6WzAuNzQ4NCwwLjc1Mjk4LDAuNzQxNjksMC43NDAyOSwwLjc1MjMsMC43NDkxNywwLjc3MDg0LDAuNzY1MDEsMC43NjA3LDAuNzYzNTEsMC43NzM0NywwLjc3NjExLDAuNzY5MjQsMC43NjcyNiwwLjc2NDA3LDAuNzY5MDIsMC43NzI0MiwwLjc2NTUxLDAuNzU0MjgsMC43NTgxOSwwLjc3MTY4LDAuNzY1ODgsMC43NjU5MSwwLjc2NTEyLDAuNzYxNDQsMC43NjQxOCwwLjc3MzAyLDAuNzY3MDgsMC43NDM2OSwwLjc0Nzk2LDAuNzQ3NDIsMC43NDE5NywwLjc0NTI2LDAuNzQ2OTIsMC43MzA1OCwwLjcxNjUsMC43MDc2LDAuNzEwMTksMC43MTE0OSwwLjcxMTIsMC43MTQxNSwwLjcwNDM3LDAuNzA0NjgsMC43MTUsMC43MTE1MywwLjcxMTE1LDAuNzExNjQsMC43MTgzMiwwLjcyMjI4LDAuNzE4MTYsMC43MTgsMC43MTIzMywwLjcxOTQ0LDAuNzIyMTksMC43MTc0NCwwLjcxOTM0XX0seyJpZCI6NTgwNSwic2x1ZyI6ImF2YWxhbmNoZSIsInN5bWJvbCI6IkFWQVgiLCJuYW1lIjoiQXZhbGFuY2hlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTgwNS5wbmciLCJwcmljZV91c2QiOjYuNjk2NzcwMTY3ODU2MDkyLCJtYXJrZXRfY2FwIjoyODkxNDc3NTg4LjkyODI3MTMsInZvbHVtZV8yNGgiOjIwMjM1MjM3Ni4wODc3ODA1NywicmFuayI6MjgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjEwMTQ5MjMyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjM3MjAxNTU2LCJwZXJjZW50X2NoYW5nZV83ZCI6My40OTU2MjQyNiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MzE3NzE5NjEuMTc3MjExOSwidG90YWxfc3VwcGx5Ijo0NjM0NDEwNjEuMTc3MjExOSwibWF4X3N1cHBseSI6NzE1NzQ4NzE5LCJzcGFya2xpbmVfN2QiOls2LjQ1NjMsNi42MTkzLDYuNDc4NSw2LjU0MjMsNi41OTM3LDYuNDg4Nyw2LjU4NjMsNi41NTM3LDYuNTU4NCw2LjYzMTQsNi42NzE3LDYuNjQwNCw2LjY0MzYsNi42MDE5LDYuNjE0Miw2LjU1MTcsNi42MDA1LDYuNDkyMiw2LjUxMzcsNi41MDI1LDYuNjMxNSw2LjU5ODcsNi42NDExLDYuNjQwOCw2LjUyNjksNi41NjU1LDYuNTc0OSw2LjYwMTQsNi40MTksNi4yMzQ3LDYuMzAzMyw2LjIzMjEsNi4yNjQxLDYuMjk5Myw2LjI0NjUsNi4xOTg0LDYuMTkwNiw2LjIzMDEsNi4zMDE0LDYuMjQ3OSw2LjI2NjgsNi4yNzg3LDYuMzI2Niw2LjY5NzEsNi42ODIsNi43OTUsNi43NjY0LDYuNzgyMSw2Ljc0NTEsNi43MDM5LDYuNjY0Nyw2LjY4OSw2LjY2MTUsNi43Mjc1LDYuNjc3NSw2LjcwNTRdfSx7ImlkIjozNjM1LCJzbHVnIjoiY3Jvbm9zIiwic3ltYm9sIjoiQ1JPIiwibmFtZSI6IkNyb25vcyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM2MzUucG5nIiwicHJpY2VfdXNkIjowLjA1NzMyNTM2NzIxNDAwODAxNSwibWFya2V0X2NhcCI6MjcxMDQwNjAxMC45MDE3Mjg2LCJ2b2x1bWVfMjRoIjo2NDc3NTc2LjU3NzM4MTkzLCJyYW5rIjoyOSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjQ3NzU1ODksInBlcmNlbnRfY2hhbmdlXzI0aCI6MS40MTgxNTk0NywicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjQxODUwODQxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ3MjgxMDkyODY3LjM3MjI0LCJ0b3RhbF9zdXBwbHkiOjk4ODE0NDMxMzIyLjYwMDg4LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6WzAuMDU4NDQ1LDAuMDU4NTY2LDAuMDU3NzQ2LDAuMDU3NTUyLDAuMDU3ODc2LDAuMDU3MzQ0LDAuMDU3OTU0LDAuMDU3ODA1LDAuMDU3MTY1LDAuMDU3ODczLDAuMDU3Nzg5LDAuMDU4MDM1LDAuMDU4OTM4LDAuMDU4NDk3LDAuMDU4NDE3LDAuMDU4NDAzLDAuMDU4NzA2LDAuMDU4NDA5LDAuMDU3NTksMC4wNTgwNDMsMC4wNTc4MDEsMC4wNTgxOTIsMC4wNTc4MDgsMC4wNTc4ODQsMC4wNTc0OTIsMC4wNTc3MTcsMC4wNTc1MDYsMC4wNTg0NzYsMC4wNTc1NTYsMC4wNTY5NjMsMC4wNTY5NTUsMC4wNTcyNTIsMC4wNTczNDgsMC4wNTcyNjcsMC4wNTY4ODcsMC4wNTYzMTcsMC4wNTY0OTgsMC4wNTY1OSwwLjA1NzI2NCwwLjA1NzAyOCwwLjA1Njc1MSwwLjA1NjQ5MywwLjA1NjQxOSwwLjA1NjY2NywwLjA1NjUxNCwwLjA1NjQ2NywwLjA1NjM4NiwwLjA1NjM4NCwwLjA1NjUyOCwwLjA1NjQ2NSwwLjA1Njc3LDAuMDU2ODgzLDAuMDU2NzI4LDAuMDU3NTE5LDAuMDU3NDE1LDAuMDU3NDA1XX0seyJpZCI6Mjc3NzIsInNsdWciOiJwYXlwYWwtdXNkIiwic3ltYm9sIjoiUFlVU0QiLCJuYW1lIjoiUGF5UGFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3NzcyLnBuZyIsInByaWNlX3VzZCI6MC45OTk3NDQ3NzA4MzYzNDQ0LCJtYXJrZXRfY2FwIjoyNjg1NjA5MTc1LjUxMDExMzIsInZvbHVtZV8yNGgiOjE5NDEyODMzLjk2MTgwMTQzLCJyYW5rIjozMCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDAxNDY2ODgsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMDcxMDIwMiwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDAzNjA0MjYsImNpcmN1bGF0aW5nX3N1cHBseSI6MjY4NjI5NDc5Ni4yODQzMDEzLCJ0b3RhbF9zdXBwbHkiOjI2ODYyOTQ3OTYuMjg0MzAxMywibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMC45OTk2OCwwLjk5OTcsMC45OTk4MywwLjk5OTY5LDAuOTk5NywwLjk5OTYxLDAuOTk5OCwwLjk5OTc1LDAuOTk5NzYsMC45OTk2NCwwLjk5OTg5LDAuOTk5NzgsMC45OTk4NiwwLjk5OTc3LDAuOTk5NzMsMC45OTk5MywwLjk5OTg0LDAuOTk5OTIsMC45OTk4LDAuOTk5ODUsMC45OTk3NCwxLDAuOTk5NywxLjAwMDEsMC45OTk3NSwwLjk5OTcsMC45OTk2MiwwLjk5OTg3LDAuOTk5NjMsMC45OTk3NSwwLjk5OTY1LDAuOTk5NzYsMC45OTk2NywwLjk5OTk4LDAuOTk5NzIsMC45OTk1NywwLjk5OTY5LDAuOTk5NiwwLjk5OTcxLDAuOTk5NjIsMC45OTk3MSwwLjk5OTYsMC45OTk2OCwwLjk5OTc2LDAuOTk5NjEsMC45OTk1OCwwLjk5OTc5LDAuOTk5NTgsMC45OTk3NiwwLjk5OTg5LDAuOTk5NzEsMC45OTk3NiwwLjk5OTYsMC45OTk3MiwwLjk5OTgzLDAuOTk5NzRdfSx7ImlkIjo1MTc2LCJzbHVnIjoidGV0aGVyLWdvbGQiLCJzeW1ib2wiOiJYQVVUIiwibmFtZSI6IlRldGhlciBHb2xkIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTE3Ni5wbmciLCJwcmljZV91c2QiOjQwODMuNjg1NzE5Njg1NjA5LCJtYXJrZXRfY2FwIjoyNTAyNTc5MjI3LjExNjMwNCwidm9sdW1lXzI0aCI6MTkyNjY3MjM0LjY3MDI3NTY2LCJyYW5rIjozMSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMTM2NDUwMTYsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC44MDY3NDAwNCwicGVyY2VudF9jaGFuZ2VfN2QiOjIuMDI5Mjg2MDQsImNpcmN1bGF0aW5nX3N1cHBseSI6NjEyODIzLjY1OTUzMiwidG90YWxfc3VwcGx5Ijo3MDc3NDcuMDg5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlszOTkwLjcsNDAyMCw0MDA4LjgsNDAwMi45LDQwMTcuNiwzOTk2LjcsNDAwOS45LDQwMDcuOSw0MDA2LjUsNDAyMi4xLDQwNzEuMiw0MDYyLjIsNDA1My41LDQwNzEuNCw0MDY1LjYsNDA3NS40LDQxMTIuNSw0MTIyLjIsNDEwMi40LDQxMDguOSw0MTQxLjcsNDEyNy4yLDQxMjYuOCw0MTE3LDQxMTkuNyw0MTE4LjIsNDA4OS43LDQwNTAuMiw0MDQwLjgsNDA0NS45LDQwNDUuNCw0MDI0LjIsNDAyNS4xLDQwNDIuNyw0MDU0LjEsNDA0Mi4xLDQwNjMuNyw0MDQ2LjQsNDA1MC41LDQwNDkuMSw0MDQ5LjcsNDA0OC4yLDQwNTEuMyw0MDUwLjksNDA1MSw0MDUxLjksNDA1Mi40LDQwNTEuMiw0MDUxLDQwNTEuOSw0MDUxLjMsNDA1MS41LDQwNTUuNSw0MDg2LjksNDA3Ni40LDQwODQuM119LHsiaWQiOjcwODMsInNsdWciOiJ1bmlzd2FwIiwic3ltYm9sIjoiVU5JIiwibmFtZSI6IlVuaXN3YXAiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC83MDgzLnBuZyIsInByaWNlX3VzZCI6My44ODc0MzQxODYwMTQ4Nzc2LCJtYXJrZXRfY2FwIjoyNDMwMTczMzUyLjg3ODE1MSwidm9sdW1lXzI0aCI6MjAwMTA3Nzk2LjA1OTIxNDMyLCJyYW5rIjozMiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDgxNzQ0NDMsInBlcmNlbnRfY2hhbmdlXzI0aCI6NS45MzQxNDk3MiwicGVyY2VudF9jaGFuZ2VfN2QiOjEzLjcyNzcyMTI4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjYyNTEzNTU2MS41NTM4Nzc1LCJ0b3RhbF9zdXBwbHkiOjg5MjI3MDQyMC4wMzI5NDc5LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlszLjUwNDEsMy40OTQ0LDMuNDM3NCwzLjQyOTgsMy41MTQ5LDMuNDU5OCwzLjU3NTYsMy42MjE0LDMuNjAyMywzLjcxNjIsMy42OTA4LDMuNzIwMiwzLjcwMjMsMy42NDk3LDMuNzAyMiwzLjcxODUsMy42NzkyLDMuNzAyNCwzLjY4NSwzLjc4MDIsMy43NzkxLDMuODI0NiwzLjgzMTcsMy43NzQ5LDMuNzc5NywzLjgzODIsMy44NTg3LDMuNzYzMywzLjc3NTQsMy43OTA5LDMuNzUzNCwzLjc0NDgsMy44MjQ3LDMuODY2NiwzLjgzMDcsMy43NzI4LDMuODM2MywzLjc2MDQsMy44MDc3LDMuNzUyMiwzLjY3NTUsMy42MTg1LDMuNjg5MSwzLjY1ODQsMy42ODIzLDMuNjgwOSwzLjY3MzMsMy42NDg3LDMuNjcyNiwzLjkwMzUsMy44NDQsMy45MDc1LDMuODY3OSwzLjg1NTEsMy45MTA1LDMuODk2MV19LHsiaWQiOjY1MzUsInNsdWciOiJuZWFyLXByb3RvY29sIiwic3ltYm9sIjoiTkVBUiIsIm5hbWUiOiJORUFSIFByb3RvY29sIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNjUzNS5wbmciLCJwcmljZV91c2QiOjEuODUxNjUzNjQ2NzgxODQzMiwibWFya2V0X2NhcCI6MjQxMDc3MDA2NC40MDAxMjU1LCJ2b2x1bWVfMjRoIjoxMDYyMzc2MjcuMDgxNTUyLCJyYW5rIjozMywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAzODMwNDQ4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjMuMTU1NTAyNzMsInBlcmNlbnRfY2hhbmdlXzdkIjotMi44MTg3MDgxNywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzAxOTU1MTg0LCJ0b3RhbF9zdXBwbHkiOjEzMDE5NTUxODQsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzEuOTEyLDEuOTI2MiwxLjkwNDQsMS45MjkzLDEuOTMzNCwxLjk3MzQsMS45ODA0LDEuOTY0OSwxLjk1NzksMS45OTM1LDIuMDQxOCwyLjAwMTMsMS45ODczLDEuOTM2NiwxLjkyNDEsMS45MzUyLDEuOTQ0NywxLjkyMDMsMS44NzczLDEuODg4NiwxLjg5MzMsMS44NTg3LDEuODY2NCwxLjg1OCwxLjg3NjMsMS44NTk1LDEuODYzLDEuODkxMywxLjg3MzQsMS44NzczLDEuODg5MSwxLjg3ODgsMS45MDEzLDEuOTA2LDEuODc1OSwxLjgzOTIsMS44MDcxLDEuODE0LDEuODA1MSwxLjgwNjIsMS43OTA0LDEuNzgyOSwxLjc4OTIsMS43OTg4LDEuNzkxOCwxLjc5OCwxLjc4OTQsMS43ODg3LDEuODA0NSwxLjc5MzcsMS44MDExLDEuNzg5OCwxLjc5MjYsMS44MzczLDEuODM0NCwxLjg1MzNdfSx7ImlkIjoyMjk3NCwic2x1ZyI6ImJpdHRlbnNvciIsInN5bWJvbCI6IlRBTyIsIm5hbWUiOiJCaXR0ZW5zb3IiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMjk3NC5wbmciLCJwcmljZV91c2QiOjE5OC43OTUzNTgwOTAwNDU4OCwibWFya2V0X2NhcCI6MjIyMDAxODQwNy44NjY2NCwidm9sdW1lXzI0aCI6ODc1MzM0MDcuNjkwMTk5ODQsInJhbmsiOjM0LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMTE3ODk0MTYsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4zMDQxOTY0LCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4zOTIwOTEzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjExMTY3MzU1LjM2MDc4Nzk4LCJ0b3RhbF9zdXBwbHkiOjIxMDAwMDAwLCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpbMTk4Ljg2LDE5Ny44NSwxOTQuMjcsMTkzLjI2LDE5NS4yNywxOTMuNTUsMTk2LjQ5LDE5NC42NywxOTUuMzgsMTkzLjcsMTk2LjkzLDE5OS4wMSwyMDIuMDgsMTk5LjE5LDE5OC42NCwyMDAuNDYsMjAxLjQ3LDIwMC42OCwxOTUuNzUsMTk2LjM1LDIwMC4xNiwxOTkuMywxOTYuNDQsMTk3LjM3LDE5NC43OCwxOTUuODUsMTk2LjE4LDE5Ni4yLDE5Mi42NSwxOTQuMzIsMTkzLjEsMTkxLjc4LDE5My40NywxOTQuNTksMTkwLjg4LDE4OC42MiwxODguNDUsMTkwLjE1LDE5MS44NiwxOTIuMDYsMTg5LjQ1LDE4OC43MywxOTAuMTgsMTkxLjk0LDE5MC43NiwxOTEuNDYsMTkxLjUsMTk4LjEyLDE5Ni4wNCwxOTYuNzIsMTk1Ljg5LDE5Ny43NiwxOTYuNzksMTk4Ljk1LDE5OC41NSwxOTguOTddfSx7ImlkIjoyMTE1OSwic2x1ZyI6Im9uZG8tZmluYW5jZSIsInN5bWJvbCI6Ik9ORE8iLCJuYW1lIjoiT25kbyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIxMTU5LnBuZyIsInByaWNlX3VzZCI6MC40MTA0OTM3MzE1NTEzMjQyNCwibWFya2V0X2NhcCI6MTk5ODgyOTcwNy40NDQyNTQsInZvbHVtZV8yNGgiOjEyNjU0Mjc5Ni4xMTM3MTcxNCwicmFuayI6MzUsInBlcmNlbnRfY2hhbmdlXzFoIjowLjUwNzUzMzUxLCJwZXJjZW50X2NoYW5nZV8yNGgiOjUuNjk1MjE2NjgsInBlcmNlbnRfY2hhbmdlXzdkIjoyMC41MzAwNTA2MiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0ODY5MzMwNjQ3LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpbMC4zNDQ2NSwwLjM0NzQyLDAuMzQxMTIsMC4zNDA0OCwwLjM1MTE3LDAuMzQ0NjQsMC4zNTgzOCwwLjM1NTg4LDAuMzUzNTYsMC4zNTkzNCwwLjM2MzYyLDAuMzkwODEsMC40MDM2NCwwLjQwODI2LDAuMzk1OTEsMC4zOTcxMSwwLjQwNDM1LDAuMzk3OTIsMC4zOTY0NCwwLjQxMzY3LDAuNDE2MDYsMC40MDgsMC40MTY0MiwwLjQxMjA5LDAuNDEzNzgsMC40MDM4NywwLjQwNjEzLDAuMzk5NjQsMC40MDMyOCwwLjM5NjYyLDAuNDAyMzksMC4zOTgwOCwwLjQwNDc1LDAuNDA1MTQsMC4zOTQwNSwwLjM4NDc0LDAuMzkyMzksMC4zODc5OCwwLjM4MjQ5LDAuMzc2ODMsMC4zNzQ1OSwwLjM4MjQxLDAuMzc4OTMsMC4zODU0LDAuMzgwNzgsMC4zNzg0NywwLjM4MzI5LDAuMzg4MTIsMC4zODUzOCwwLjM4NzgzLDAuMzg2NDQsMC40MDUyNiwwLjM5NzUyLDAuNDA1MDQsMC40MDU3NywwLjQxMzA4XX0seyJpZCI6NDcwNSwic2x1ZyI6InBheC1nb2xkIiwic3ltYm9sIjoiUEFYRyIsIm5hbWUiOiJQQVggR29sZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ3MDUucG5nIiwicHJpY2VfdXNkIjo0MDg3Ljg1MDgzMjI3MTgwMDMsIm1hcmtldF9jYXAiOjE4MTg1NDI0MDEuNzEwNzAwMywidm9sdW1lXzI0aCI6ODMzMTUyOTMuMDE2NTA4MjUsInJhbmsiOjM2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xNDc1MTI0MiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjg4MzcxNjQxLCJwZXJjZW50X2NoYW5nZV83ZCI6Mi4yMjM5OTAxMSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0NDQ4NjUuMTU2ODU4LCJ0b3RhbF9zdXBwbHkiOjQ0NDg2NS4xNTY4NTgsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzM5ODkuMSw0MDA4LjMsNDAxOSwzOTk5LjcsNDAyMS4zLDQwMDYuNCw0MDA3LjksNDAwMS4xLDQwMDAuOCw0MDE2LjksNDA2NC44LDQwNTYuMiw0MDQ5LjgsNDA0My4zLDQwNzIuNiw0MDcyLjIsNDExNS41LDQxMTguOCw0MDk5LjksNDExMS40LDQxNDYuMiw0MTQ3LjEsNDEyNy4yLDQxMTMuMiw0MTE5LjEsNDExOC4xLDQwODYuMiw0MDM4LjIsNDA0OC4yLDQwMzguNCw0MDQ1LjIsNDA0Mi41LDQwMjAuNSw0MDQ3LjksNDA0Ny43LDQwNjYuOSw0MDQ4LjksNDA0Ni45LDQwNTAuNyw0MDQ4LjIsNDA0OC41LDQwNDYuNCw0MDQ5LjgsNDA1MC4zLDQwNTIuNCw0MDUyLjMsNDA1MSw0MDUzLjYsNDA1MS44LDQwNTUuNCw0MDU2LDQwNTguNyw0MDYwLjgsNDA5MC4xLDQwNzkuNiw0MDg4LjRdfSx7ImlkIjozODk3LCJzbHVnIjoib2tiIiwic3ltYm9sIjoiT0tCIiwibmFtZSI6Ik9LQiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM4OTcucG5nIiwicHJpY2VfdXNkIjo4Ni4wNTE3NTA4NTEyNTkxMSwibWFya2V0X2NhcCI6MTgwNzA4Njc2Ny44NzY0NDEyLCJ2b2x1bWVfMjRoIjoyNjg2MzcwNy4wMzg2MTI5NSwicmFuayI6MzcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4zMDM2MTg3OCwicGVyY2VudF9jaGFuZ2VfMjRoIjozLjA0NDA2MTUyLCJwZXJjZW50X2NoYW5nZV83ZCI6Ny43MzI0NjIzMiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMTAwMDAwMCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6WzgwLjMsODAuMTIsODAuMzgzLDc5LjkyNCw4MC42ODQsODAuNTU4LDgxLjM5OCw4MS43MzUsODEuMzE5LDgxLjU4Niw4Mi4xNzUsODIuMTcsODEuODc1LDgyLjIwMSw4Mi4wMzQsODIuMjExLDgyLjc0NCw4MS43MTcsODIuMDAyLDgyLjEyLDgxLjU5MSw4MS45MjYsODEuODEyLDgyLjQ4MSw4Mi4wNjcsODIuMjM4LDg0LjQ1LDg0LjgwOSw4MS4zNjEsODEuMTIsODEuOTE5LDgyLjEyOSw4MS45MDgsODIuMzY1LDgyLjI1NSw4MS41Nyw4MS45MTQsODEuOTEzLDgyLjQ1Nyw4Mi4xMDQsODIuMjM1LDgyLjA3OCw4Mi4yNTYsODMuMTMyLDgzLjAwMiw4My4yMDUsODMuNzMyLDgzLjM2LDg0LjMzNCw4NC43OTQsODQuMjc3LDg0LjU2Niw4NC40MDcsODQuNDY3LDg2LjQ3Miw4Ni4xODFdfSx7ImlkIjozMzI1MSwic2x1ZyI6IndvcmxkLWxpYmVydHktZmluYW5jaWFsLXdsZmkiLCJzeW1ib2wiOiJXTEZJIiwibmFtZSI6IldvcmxkIExpYmVydHkgRmluYW5jaWFsIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzMyNTEucG5nIiwicHJpY2VfdXNkIjowLjA1NDQ3NTkzMzQ1NjI4MjkwNSwibWFya2V0X2NhcCI6MTczMDk2MDE3OS4yNDMxNTIxLCJ2b2x1bWVfMjRoIjozMTE4MDU5Ni4xODc3MDI3OSwicmFuayI6MzgsInBlcmNlbnRfY2hhbmdlXzFoIjotMC43NzEwNTY2OCwicGVyY2VudF9jaGFuZ2VfMjRoIjotMS45NzY5OTg5NSwicGVyY2VudF9jaGFuZ2VfN2QiOi00LjA4ODAyNDQxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjMxNzc0NzY4NTg5LCJ0b3RhbF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOlswLjA1NzU4OSwwLjA1NzY4OCwwLjA1Njc5NCwwLjA1NjkwNSwwLjA1Njc5MywwLjA1Njg3OSwwLjA1NzMwNiwwLjA1NjYxLDAuMDU2ODg5LDAuMDU2Nzc2LDAuMDU2ODksMC4wNTY5MjYsMC4wNTY2OTYsMC4wNTY2NywwLjA1NjEyOCwwLjA1NjQ3NCwwLjA1NzExLDAuMDU2NDIxLDAuMDU2MzMxLDAuMDU2NjI0LDAuMDU2NjM5LDAuMDU1Nzg3LDAuMDU2NDMyLDAuMDU2MjMzLDAuMDUyNjY5LDAuMDU1Njk1LDAuMDYyODk2LDAuMDY2NjkxLDAuMDU5NzgyLDAuMDYwNTc3LDAuMDU3NzQsMC4wNTgxNjMsMC4wNTY3NjgsMC4wNTY1ODIsMC4wNTc4OTIsMC4wNTc4OTYsMC4wNTcxOTcsMC4wNTY4MTksMC4wNTczMTcsMC4wNTY2ODUsMC4wNTY5MDEsMC4wNTU4MjMsMC4wNTYzMTYsMC4wNTYwMTIsMC4wNTYzMDEsMC4wNTYzNjksMC4wNTU4NzUsMC4wNTUzNjcsMC4wNTU0NjcsMC4wNTUwMzcsMC4wNTUwNjksMC4wNTQ5OTksMC4wNTUxNjIsMC4wNTQ4MzcsMC4wNTUxMTYsMC4wNTQ0MTRdfSx7ImlkIjozNjM0MSwic2x1ZyI6ImFzdGVyIiwic3ltYm9sIjoiQVNURVIiLCJuYW1lIjoiQXN0ZXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNjM0MS5wbmciLCJwcmljZV91c2QiOjAuNjI2NDQzNTkzODg3NTYwOCwibWFya2V0X2NhcCI6MTY5MTQxNTkyOS44NjQzMDk4LCJ2b2x1bWVfMjRoIjo0MDQ5Mjk3NS44MTAwNDcwMSwicmFuayI6MzksInBlcmNlbnRfY2hhbmdlXzFoIjotMC4xODAwNjkwMywicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wNDI1NTU2OSwicGVyY2VudF9jaGFuZ2VfN2QiOjEuMTkyNDMxMDQsImNpcmN1bGF0aW5nX3N1cHBseSI6MjcwMDAyOTA5NC45ODY0ODE3LCJ0b3RhbF9zdXBwbHkiOjc4MTM5ODQzNjAuNjA2NzI5LCJtYXhfc3VwcGx5Ijo4MDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOlswLjYyMDI2LDAuNjIxOTgsMC42MTkxNCwwLjYxOTA2LDAuNjIyMzgsMC42MTg1OSwwLjYyNDIyLDAuNjIzMjksMC42MjQwMywwLjYzMDY5LDAuNjI3NywwLjYzMTQyLDAuNjMxMDEsMC42Mjc4MywwLjYyNTE1LDAuNjI3MjEsMC42Mjg5MywwLjYyMzkzLDAuNjIxMDgsMC42MjM4NSwwLjYyNjM2LDAuNjIzMzMsMC42MjQwMywwLjYyMTQxLDAuNjIxMzIsMC42MjEyLDAuNjI2MjgsMC42MjYyMiwwLjYyMDk3LDAuNjE5NjksMC42MjAzNywwLjYyMDQyLDAuNjI2MTYsMC42MjY4NSwwLjYyNjQ2LDAuNjI4NzMsMC42Mzc1MywwLjYyOTc4LDAuNjI4OTQsMC42MjYzMiwwLjYyMTMxLDAuNjI0NDUsMC42MjQwMywwLjYyNTQzLDAuNjI1NTEsMC42Mjk4LDAuNjI3OTksMC42MjY1NSwwLjYyNzksMC42MjYxOCwwLjYyNDc4LDAuNjI2MjgsMC42MjUwMiwwLjYyODY0LDAuNjI5NTYsMC42MjcyNF19LHsiaWQiOjM1NDkxLCJzbHVnIjoibWVtZWNvcmUiLCJzeW1ib2wiOiJNIiwibmFtZSI6Ik1lbWVDb3JlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzU0OTEucG5nIiwicHJpY2VfdXNkIjoxLjIwODc5NjI0NTk3MDYwOSwibWFya2V0X2NhcCI6MTYwNTkyMDA0MC44NzY4ODg1LCJ2b2x1bWVfMjRoIjoxNTg2NTk2MS41ODcxODk4OSwicmFuayI6NDAsInBlcmNlbnRfY2hhbmdlXzFoIjowLjE0NDk4MDIxLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0zLjY0NTA2NDE3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuODkzMTE0NjYsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMyODUyODMxNS44NTk3MjI5LCJ0b3RhbF9zdXBwbHkiOjUzOTU4NDUwODguMzY2OTQ4LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpbMS4xOTg3LDEuMTk4NSwxLjIyNTksMS4yNTUyLDEuMjM2LDEuMjI5MiwxLjIxNDQsMS4yMTgsMS4xOTkzLDEuMTk1LDEuMTk5MiwxLjE3MjgsMS4xODIxLDEuMTk0OSwxLjE3MzIsMS4yMDI2LDEuMTgyNywxLjE5MDUsMS4xNzAzLDEuMTg5OCwxLjE3NzIsMS4xNDM2LDEuMTQyNywxLjEyOTIsMS4xMzcyLDEuMTMxLDEuMTQyNywxLjE2NTQsMS4xNjI0LDEuMTQ3NSwxLjE0MTcsMS4xMzksMS4xNTU2LDEuMTUyNSwxLjIwNzQsMS4xOTE5LDEuMjExMSwxLjIxNCwxLjE5ODMsMS4xOTczLDEuMjAwOCwxLjE4OTgsMS4xOTAxLDEuMTY4NCwxLjE2MTYsMS4yMTMxLDEuMjU1OCwxLjIzNDgsMS4zMTMxLDEuMjkxMiwxLjI0MjcsMS4yMTk0LDEuMTk4OCwxLjIzMiwxLjIwNDYsMS4yMDY1XX0seyJpZCI6MzQzODcsInNsdWciOiJyaXBwbGUtdXNkIiwic3ltYm9sIjoiUkxVU0QiLCJuYW1lIjoiUmlwcGxlIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0Mzg3LnBuZyIsInByaWNlX3VzZCI6MC45OTk4NzgwMjA0Nzg0MjQ5LCJtYXJrZXRfY2FwIjoxNTg5MTU0MTM5LjI2MDkzNzcsInZvbHVtZV8yNGgiOjEwMDIyMTQyOS44NTk0MzQ3MiwicmFuayI6NDEsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMjQ3OTMwNSwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wMzUwNzA3MiwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAwMjEwMDgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU4OTM0ODAwNy4xNzA0Njg2LCJ0b3RhbF9zdXBwbHkiOjE1ODkzNDgwMDcuMTcwNDY4NiwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMSwxLDAuOTk5NzIsMC45OTk5OCwwLjk5OTkyLDEuMDAwMSwwLjk5OTk4LDEuMDAwMSwxLjAwMDMsMS4wMDAxLDEuMDAwMiwxLDEuMDAwMiwxLDEuMDAwMiwxLDEuMDAwMSwwLjk5OTc3LDEuMDAwMSwwLjk5OTk5LDEuMDAwMiwwLjk5OTg5LDEuMDAwMywxLjAwMDEsMS4wMDAxLDEsMS4wMDAxLDAuOTk5NDMsMSwwLjk5OTY3LDEuMDAwMSwxLDEuMDAwNSwxLjAwMDEsMC45OTk4NiwxLjAwMDEsMC45OTk5NiwxLDEuMDAwMSwwLjk5OTkxLDEuMDAwMSwwLjk5OTkzLDEuMDAwMywxLjAwMDMsMSwxLDEuMDAwNSwxLjAwMDEsMS4wMDAxLDEsMS4wMDAyLDEsMS4wMDAyLDAuOTk5ODIsMS4wMDAzLDEuMDAwMV19LHsiaWQiOjcyNzgsInNsdWciOiJhYXZlIiwic3ltYm9sIjoiQUFWRSIsIm5hbWUiOiJBYXZlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNzI3OC5wbmciLCJwcmljZV91c2QiOjEwMS41MDM4MDQzNTUxMjI4NywibWFya2V0X2NhcCI6MTU2NDk1NTExNy44MjMzMzUyLCJ2b2x1bWVfMjRoIjoyOTg0OTk5MjUuOTkwOTUyOCwicmFuayI6NDIsInBlcmNlbnRfY2hhbmdlXzFoIjowLjM4MTg4NjYzLCJwZXJjZW50X2NoYW5nZV8yNGgiOjguNjg2NTAwMTgsInBlcmNlbnRfY2hhbmdlXzdkIjoxMy4xNjM2MTU4MiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNTQxNzY5OS4xNDcwMDEwMSwidG90YWxfc3VwcGx5IjoxNjAwMDAwMCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbODkuMTkzLDg4Ljg0MSw4OS4xNjUsOTAuMjE1LDkwLjQzMyw4OS4xMzcsODkuNjc4LDg5LjQxMyw4OS4zMzIsOTAuNzQzLDkyLjk1Miw5NS4yNzYsOTQuMTExLDk1Ljk4Miw5NC44Miw5NS4wNiw5Ni44NzIsOTYuMjMxLDk2LjM5Niw5NS4zNTcsOTcuNzY2LDk3LjI0LDk4LjIzNiw5Ny4xOSw5OC4xMjksOTYuNzg3LDk3LjcyOCw5NS43MDcsOTUuOTk0LDk1LjM0NCw5NS45MzMsOTQuOTQxLDk1LjM2Myw5Ni40NSw5NS42Myw5NC4xNjUsOTQuNTA3LDkyLjg0NCw5My4wMzksOTEuMDE1LDkxLjYzMyw5MC44OSw5MC45NTYsOTIuNDI0LDkxLjM3OSw5Mi4yMDMsOTIuNDYsOTIuMjYyLDkzLjI5OSw5NS45MzYsOTcuNjc0LDk2LjQyNCw5Ni4zMTgsMTAwLjg0LDk5Ljc5NCwxMDEuMTZdfSx7ImlkIjoxOTg5MSwic2x1ZyI6InVzZGQiLCJzeW1ib2wiOiJVU0REIiwibmFtZSI6IlVTREQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xOTg5MS5wbmciLCJwcmljZV91c2QiOjAuOTk4OTc1NjAzNDQ3OTA0MSwibWFya2V0X2NhcCI6MTU1MzQ2NTQ3Mi40NjYwNDksInZvbHVtZV8yNGgiOjEwMjAyNDM5Ni40NzIxODkwNCwicmFuayI6NDMsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDg1NDYxOCwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wMTEwNzYzOSwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAxMTU3MDk1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1NTUwNTg0NjksInRvdGFsX3N1cHBseSI6MTU1NTA1ODQ2OSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMC45OTkzMiwwLjk5OTQ3LDAuOTk4ODIsMC45OTg1NiwwLjk5ODk5LDAuOTk5NjcsMC45OTkxMiwwLjk5OTY5LDAuOTk5MDksMC45OTkzNSwwLjk5OTEzLDAuOTk5NjMsMC45OTk3NSwwLjk5ODksMC45OTk2NywwLjk5OTI1LDAuOTk5NDksMC45OTg5OSwwLjk5OTQ1LDAuOTk5MTUsMC45OTk0OCwwLjk5OTc5LDAuOTk5NCwwLjk5OTYxLDAuOTk5NDYsMC45OTk2LDAuOTk5MzMsMC45OTk0OCwwLjk5OTA1LDAuOTk5MzEsMC45OTkzOCwwLjk5OTIzLDAuOTk5MzMsMC45OTkyMiwwLjk5OTI1LDAuOTk4OTEsMC45OTg5MSwwLjk5OTEsMC45OTkxLDAuOTk4OTksMC45OTkwNywwLjk5ODk1LDAuOTk4OTQsMC45OTkxMiwwLjk5OTAyLDAuOTk5MTUsMC45OTkyMywwLjk5OTAzLDAuOTk5MTYsMC45OTkwNiwwLjk5OTE4LDAuOTk5MTIsMC45OTkyMiwwLjk5ODk4LDAuOTk5MTEsMC45OTkwN119LHsiaWQiOjY2MzYsInNsdWciOiJwb2xrYWRvdC1uZXciLCJzeW1ib2wiOiJET1QiLCJuYW1lIjoiUG9sa2Fkb3QiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC82NjM2LnBuZyIsInByaWNlX3VzZCI6MC44MTYxNzE0MzQ0ODYwMDg1LCJtYXJrZXRfY2FwIjoxMzgzNTYyMTUwLjkxODE3MSwidm9sdW1lXzI0aCI6NDU3MjEyMDUuOTA2NDg4MjYsInJhbmsiOjQ0LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xMTYxNDY1MiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMS4xMzIwMzg0MSwicGVyY2VudF9jaGFuZ2VfN2QiOjEuNTA3NzgwNzYsImNpcmN1bGF0aW5nX3N1cHBseSI6MTY5NTE4NTcwNy44NzcwMjQ3LCJ0b3RhbF9zdXBwbHkiOjE2OTUxODU3MDcuODc3MDI0NywibWF4X3N1cHBseSI6MjEwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpbMC44MTc3OSwwLjgwODI2LDAuODEzMDYsMC44MDI1LDAuODE0ODEsMC44MDk2NCwwLjgyMTMsMC44Mjk5OSwwLjgyMDk0LDAuODI5NTEsMC44NTgxNSwwLjg2NTY4LDAuODU4NzMsMC44NjAyNywwLjg1MjQyLDAuODQ1NDcsMC44NTQwNiwwLjg1MzMsMC44Mzk2NCwwLjgzNjkzLDAuODQzNTMsMC44Mzk4MSwwLjg0MjQxLDAuODM4OTksMC44MjEwOSwwLjgyMzcyLDAuODE5NzcsMC44MjE2NCwwLjgxMDM5LDAuODE1OTksMC44MTc3NywwLjgxNDkzLDAuODE0ODQsMC44MTI2NywwLjgwMzA1LDAuNzkyNzMsMC44MDM2OSwwLjgwNDkxLDAuODA4NjMsMC44MDc1MywwLjgxNTIsMC44MDk5NiwwLjgyMTE5LDAuODIyMjIsMC44MTQ0NywwLjgxNCwwLjgyMDQxLDAuODE4OTEsMC44MjQzNiwwLjgyNzA2LDAuODIxMzQsMC44MjM1NSwwLjgxNjc0LDAuODI3ODksMC44MTY5LDAuODE3NDddfSx7ImlkIjoyNzA3NSwic2x1ZyI6Im1hbnRsZSIsInN5bWJvbCI6Ik1OVCIsIm5hbWUiOiJNYW50bGUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yNzA3NS5wbmciLCJwcmljZV91c2QiOjAuNDE0MTI0ODU5NDc3MzI3MjUsIm1hcmtldF9jYXAiOjEzNjc1NjIxOTcuMTIwODM2LCJ2b2x1bWVfMjRoIjoxODM4ODU1MC42MjY0MDYyMywicmFuayI6NDUsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wODMzNjUzNywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjQ0MzE0MDk3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTIuMTU5NzI2NzUsImNpcmN1bGF0aW5nX3N1cHBseSI6MzMwMjI5NDM4Mi41MzY4NCwidG90YWxfc3VwcGx5Ijo2MjE5MzE2Nzk0Ljg4OTk5OSwibWF4X3N1cHBseSI6NjIxOTMxNjc5NSwic3BhcmtsaW5lXzdkIjpbMC40MjUwMSwwLjQyNDI2LDAuNDI1NzYsMC40MjMzMiwwLjQyNjU5LDAuNDIzMjMsMC40MjY3NiwwLjQyNTg5LDAuNDIzMjMsMC40MjUyLDAuNDI5NSwwLjQzMDYzLDAuNDI4NzQsMC40Mjg0MSwwLjQyODA2LDAuNDMwMzgsMC40MzAwOSwwLjQyNzM4LDAuNDIyMjQsMC40MjQ5NSwwLjQyMzM2LDAuNDI0MDIsMC40MTkyNCwwLjQyMDgyLDAuNDE4MDIsMC40MTgxOCwwLjQxNzUxLDAuNDA4OTgsMC40MDczNiwwLjQwODMxLDAuNDA2NjIsMC40MDc3MywwLjQwOTA5LDAuNDEyMywwLjQxMjA0LDAuNDA3NzEsMC40MDk0MSwwLjQwOTU1LDAuNDEwNzEsMC40MDk5MywwLjQxMTEzLDAuNDA2ODYsMC40MDcxOCwwLjQxMDI5LDAuNDEyMDQsMC40MTE2OSwwLjQxMzEyLDAuNDEyMjcsMC40MTI0MSwwLjQxMzgzLDAuNDE0MjIsMC40MTE0OSwwLjQxMDcyLDAuNDE1NCwwLjQxNTE4LDAuNDE0NDldfSx7ImlkIjozMzAzOCwic2x1ZyI6InNreSIsInN5bWJvbCI6IlNLWSIsIm5hbWUiOiJTa3kiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMzAzOC5wbmciLCJwcmljZV91c2QiOjAuMDU4MjExNzQzMzUwMDAxMTQsIm1hcmtldF9jYXAiOjEzNTk1Mzg2NjQuMDIwMzU1Miwidm9sdW1lXzI0aCI6MTYxMDE2ODMuNzY5MzYzNTQsInJhbmsiOjQ2LCJwZXJjZW50X2NoYW5nZV8xaCI6MS41NzcyMzk5NiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC41NzczODYyLCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMzYwMTMyOTUsImNpcmN1bGF0aW5nX3N1cHBseSI6MjMzNTUwNTgzNzQuNDk0MjY3LCJ0b3RhbF9zdXBwbHkiOjIzNDYyNjY1MTQ3LjM2NTk2NywibWF4X3N1cHBseSI6MjM0NjI2NjUxNDcsInNwYXJrbGluZV83ZCI6WzAuMDYxMjg1LDAuMDYxMzk2LDAuMDYxNDE1LDAuMDYwMzk1LDAuMDYwOTM1LDAuMDYwMzMxLDAuMDYyMjQ4LDAuMDYyMzc3LDAuMDYxNTc3LDAuMDYzMzM0LDAuMDYzOTk5LDAuMDYyOTA0LDAuMDYzNTk2LDAuMDYzNzA5LDAuMDYyODQ4LDAuMDYzMjMxLDAuMDYyNTMsMC4wNjM0MDksMC4wNjI2MjUsMC4wNjM4MzIsMC4wNjM3MTgsMC4wNjM3MzMsMC4wNjI3NzcsMC4wNjQxOTQsMC4wNjI5MTEsMC4wNjI0OTksMC4wNjA3NjgsMC4wNjEzNDUsMC4wNjEzMzIsMC4wNjA3NiwwLjA2MTEyOSwwLjA1NjkzNCwwLjA1NjU5NywwLjA1NjcxOCwwLjA1ODcxNCwwLjA1Nzc5MSwwLjA1NzEwNywwLjA1NzAxOSwwLjA1ODM0NCwwLjA1NzMxNywwLjA1NzMwOCwwLjA1ODU2MSwwLjA1OTI1NiwwLjA1ODM3LDAuMDU3OTIxLDAuMDU4MDAxLDAuMDU4NzkyLDAuMDU4ODc4LDAuMDU4MzE3LDAuMDU4NDY0LDAuMDU3NzEzLDAuMDU4NDM5LDAuMDU3NTE0LDAuMDU4NjIsMC4wNTcwNTksMC4wNTgyMzFdfSx7ImlkIjoxMzUwMiwic2x1ZyI6IndvcmxkY29pbi1vcmciLCJzeW1ib2wiOiJXTEQiLCJuYW1lIjoiV29ybGRjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTM1MDIucG5nIiwicHJpY2VfdXNkIjowLjM1MjA3NzkzMDg2MzAzNzM1LCJtYXJrZXRfY2FwIjoxMzIyMDQ3OTE5LjY5MzYwNTIsInZvbHVtZV8yNGgiOjE4ODk2MDc5OS4xMzUwODM4NSwicmFuayI6NDcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC40MjE0NTQyNCwicGVyY2VudF9jaGFuZ2VfMjRoIjo0Ljc5ODQyODk5LCJwZXJjZW50X2NoYW5nZV83ZCI6LTEuMzg4MTk5NDMsImNpcmN1bGF0aW5nX3N1cHBseSI6Mzc1NDk4NjYyMC4yOTk5NzYsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzAuMzYwODEsMC4zNjY3NSwwLjM2NTk3LDAuMzU1ODksMC4zNjY0NiwwLjM2MzI5LDAuMzc2MzgsMC4zNzEzNSwwLjM4Mzc1LDAuMzgxLDAuMzg1NzIsMC4zODM5OSwwLjM4NDQ1LDAuMzc5MTEsMC4zODA1OCwwLjM3NTQ4LDAuMzgyNjksMC4zNzU5NSwwLjM4MjQ1LDAuMzc4OTEsMC4zODI4MiwwLjM5ODcxLDAuMzg3NzQsMC4zODgzNiwwLjM3OTQ5LDAuMzgwOTMsMC4zODIxNCwwLjM3NjM5LDAuMzc0NjIsMC4zODU1MSwwLjM4MTA0LDAuMzc5NzEsMC4zODMzMywwLjM4NTIzLDAuMzc1MjgsMC4zNjkzNSwwLjM3NjQzLDAuMzQ1MzEsMC4zNDk2OCwwLjM0NjAzLDAuMzQxNCwwLjM0Mjg2LDAuMzQ4MzQsMC4zNTA3MiwwLjM0NjA4LDAuMzQ2NTMsMC4zMzcwOSwwLjMzMzE0LDAuMzM1NjIsMC4zMzQsMC4zMzUxMywwLjM0NjQ4LDAuMzQ5MjIsMC4zNTcyOSwwLjM1MjU5LDAuMzUyNDZdfSx7ImlkIjoyNDQ3OCwic2x1ZyI6InBlcGUiLCJzeW1ib2wiOiJQRVBFIiwibmFtZSI6IlBlcGUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yNDQ3OC5wbmciLCJwcmljZV91c2QiOjAuMDAwMDAzMDY5NDI0MTk5MjQ5MzkwMiwibWFya2V0X2NhcCI6MTI3MDA0MzEzOS40NjEyNTcsInZvbHVtZV8yNGgiOjMyMzE2Nzg1MS41OTA2Njk2MywicmFuayI6NDgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjgwNjczNzkzLCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuNTg2Mjc4NDgsInBlcmNlbnRfY2hhbmdlXzdkIjo4LjcyODY0Mzg2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQxMzc3MjQzOTcyMDcyNi4zLCJ0b3RhbF9zdXBwbHkiOjQxMzc3MjQzOTcyMDcyNi4zLCJtYXhfc3VwcGx5Ijo0MTM3NzI0Mzk3MjA3MjYuMywic3BhcmtsaW5lXzdkIjpbMC4wMDAwMDI4MTE2LDAuMDAwMDAyODc2OCwwLjAwMDAwMjkwNDcsMC4wMDAwMDI4MDk5LDAuMDAwMDAyOTIwMSwwLjAwMDAwMjg1MTEsMC4wMDAwMDI5MjMzLDAuMDAwMDAyODczOCwwLjAwMDAwMjkxNjUsMC4wMDAwMDI5MzQxLDAuMDAwMDAyOTEzOSwwLjAwMDAwMjkxMDcsMC4wMDAwMDI5NDk2LDAuMDAwMDAyOTA0NSwwLjAwMDAwMjg4NDIsMC4wMDAwMDI4NjI0LDAuMDAwMDAyODgzNCwwLjAwMDAwMjg0NDEsMC4wMDAwMDI4MzQ3LDAuMDAwMDAyODQ4NywwLjAwMDAwMjgzNDUsMC4wMDAwMDI5MjA2LDAuMDAwMDAyODYsMC4wMDAwMDI4OTQ2LDAuMDAwMDAyODQ0NywwLjAwMDAwMjg1MzcsMC4wMDAwMDI4NTMxLDAuMDAwMDAyODQ4MywwLjAwMDAwMjc4MTksMC4wMDAwMDI3ODk4LDAuMDAwMDAyNzgzNiwwLjAwMDAwMjc2ODEsMC4wMDAwMDI3NzIxLDAuMDAwMDAyNzkzMSwwLjAwMDAwMjc3MzgsMC4wMDAwMDI3MDM3LDAuMDAwMDAyNjkzOSwwLjAwMDAwMjcxMjYsMC4wMDAwMDI3MTU5LDAuMDAwMDAyNzA2LDAuMDAwMDAyNjc1NywwLjAwMDAwMjY3MjcsMC4wMDAwMDI2OTU1LDAuMDAwMDAyNzkzMiwwLjAwMDAwMjc4NzYsMC4wMDAwMDI3NDA4LDAuMDAwMDAyNzcyNiwwLjAwMDAwMjkxNTcsMC4wMDAwMDMwMTk5LDAuMDAwMDAzMDA0NCwwLjAwMDAwMjkwMywwLjAwMDAwMjkzMzEsMC4wMDAwMDI5MDMzLDAuMDAwMDAyOTc4NywwLjAwMDAwMjkzMzcsMC4wMDAwMDMwNzE5XX0seyJpZCI6ODkxNiwic2x1ZyI6ImludGVybmV0LWNvbXB1dGVyIiwic3ltYm9sIjoiSUNQIiwibmFtZSI6IkludGVybmV0IENvbXB1dGVyIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvODkxNi5wbmciLCJwcmljZV91c2QiOjIuMTc5Mzc5MTU0MDczLCJtYXJrZXRfY2FwIjoxMjEwMDExNDM4LjI2MDQxMSwidm9sdW1lXzI0aCI6MjkwNDM0NjcuNzA2Nzg3MzcsInJhbmsiOjQ5LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDI3MzMyMjEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC41MzQ0MjQzNSwicGVyY2VudF9jaGFuZ2VfN2QiOjIuNTI4MjU4MzYsImNpcmN1bGF0aW5nX3N1cHBseSI6NTU1MjA5MjM3LjQ1NjAxNzYsInRvdGFsX3N1cHBseSI6NTU1MjA5MjM3LjQ1NjAxNzYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6WzIuMTM1OSwyLjE0MywyLjExODksMi4xMjc5LDIuMTUxNywyLjE0MiwyLjE2NDQsMi4xNjY3LDIuMjIwMSwyLjIwNTEsMi4yMTYsMi4yMTE2LDIuMjAyMiwyLjI0NTIsMi4yMjE2LDIuMjA4OSwyLjIyMDIsMi4xODI2LDIuMTcyNCwyLjE5MjEsMi4xODA1LDIuMjA2LDIuMjA0MywyLjIxNDQsMi4xODQ4LDIuMjAwNSwyLjE5OTEsMi4xNjU0LDIuMTU3NiwyLjE1MjcsMi4xNjUsMi4xNTA1LDIuMTgwMSwyLjE4NywyLjE1NywyLjEzNDMsMi4xNTI3LDIuMTM3MSwyLjEzOTMsMi4xMjY5LDIuMTIxMiwyLjEyMzEsMi4xMzk5LDIuMTM4MiwyLjE1MjQsMi4xNDc3LDIuMTgwMSwyLjE5MTcsMi4xNjcxLDIuMTc2LDIuMTU3NywyLjE3NjcsMi4xNjU1LDIuMTg4OCwyLjE5NDIsMi4xODI0XX0seyJpZCI6MTEwOTIsInNsdWciOiJiaXRnZXQtdG9rZW4tbmV3Iiwic3ltYm9sIjoiQkdCIiwibmFtZSI6IkJpdGdldCBUb2tlbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzExMDkyLnBuZyIsInByaWNlX3VzZCI6MS42ODMwMjM1NTA1NjI3NjQyLCJtYXJrZXRfY2FwIjoxMTc1Njk0ODU0LjE0ODQ1NDcsInZvbHVtZV8yNGgiOjU4MjUyNDcuMDA3ODI3LCJyYW5rIjo1MCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA5OTE5OSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjk2MzE1MzYsInBlcmNlbnRfY2hhbmdlXzdkIjozLjM1NjEzODE4LCJjaXJjdWxhdGluZ19zdXBwbHkiOjY5ODU2MTE0Mi4zODg4NDUsInRvdGFsX3N1cHBseSI6OTEwOTIwODc0LjY0ODEwMzgsIm1heF9zdXBwbHkiOjkxOTk5MjAzNS45OCwic3BhcmtsaW5lXzdkIjpbMS42Mjk3LDEuNjI3MiwxLjYzMTgsMS42NTA2LDEuNjUyOCwxLjY0NTEsMS42NTQ4LDEuNjU2MywxLjY0ODMsMS42NTA4LDEuNjY2NCwxLjY1NDUsMS43MDAyLDEuNjg5NiwxLjcwODUsMS43MDE2LDEuNjk5NSwxLjY5ODksMS42ODU1LDEuNjk0OSwxLjY4NjUsMS42ODk1LDEuNzAxMiwxLjY5NTEsMS42OTU0LDEuNjkxLDEuNjc3MiwxLjY2NSwxLjY3MTksMS42NTkxLDEuNjc0LDEuNjYwMywxLjY1NDIsMS42Njg0LDEuNjU3NCwxLjY0NjEsMS42NTY0LDEuNjQzNiwxLjY1MjEsMS42NTA5LDEuNjU2MSwxLjY1OSwxLjY1MywxLjY1NjYsMS42NjEyLDEuNjU0NSwxLjY3MzQsMS42NjIyLDEuNjY2MywxLjY3NzQsMS42NzE0LDEuNjc5OCwxLjY4NjQsMS42NzcyLDEuNjcwMywxLjY4NDhdfV0sImN1cnJlbmN5Ijp7ImNvZGUiOiJVU0QiLCJzeW1ib2wiOiIkIiwicmF0ZSI6MX0sImVycm9yIjpudWxsfQ=="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/29470.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.664Z","timestamp":1785136428664,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/29470.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2829\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 04 Jun 2024 14:26:01 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 05:35:51 GMT\r\ncache-control: public, max-age=86400\r\netag: \"0debab46acf186ff5769f4ba0018f87f\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 5878\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: -6MOCGQ9nE4PURtfxJdb1YNYC7C22GoOpM_UKtUktRC2XvAqkY7o6Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2829,"size_decoded":3400,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0debab46acf186ff5769f4ba0018f87f","sha1":"5e2f5bcdf7a875354086424179727eb69747338c","sha256":"da62693f7f99079375e11208b7853bc6113175cbd7aabb612ac938893f57cdd4","sha512":"9e27dd815bc7279386d266c7716a75c88ffa62757325cd0e5e226201cf5f128b4a4e1b44095254b4115a0b7709cf45449f2ba50e5ed03c4074e5c1cce13da1fc","ssdeep":"","tlshash":"99514b6f90ab341de21882f3a757be278a0dc1858b1e6651cce471ba14b7eb8530256a","first_seen":"2024-11-30T20:42:41.09234Z","last_seen":"2026-08-11T04:47:30.074149Z","times_seen":1539,"resource_available":false,"data":"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"}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/cal.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.063Z","timestamp":1785136422063,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/cal.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 2516\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":2516,"size_decoded":2857,"mime_type":"image/png","magic":"PNG image data, 35 x 35, 8-bit/color RGBA, non-interlaced","md5":"a28328a8b5b6c74ead58a9bc17cdccf7","sha1":"2cfe503dd458a7ec154c2f745c2454939d624687","sha256":"a39baa617cfb9dc08e0e0043f9a2a0a2d3d35ee28fb6d003e6f9c99e3f3668c8","sha512":"7ca43a769cded2e1250e7cb28e411f983b239eb201a37bee839ab9296ae5044dc22775ae57702dd2974d57452e30e7959baaa27b6adac5d2f187ab0324fbc59a","ssdeep":"","tlshash":"48517d7712244dfef9c936200a552d054442baebed4001d1130e69dbaa16b70a4de4d4","first_seen":"2025-12-03T04:46:43.747926Z","last_seen":"2026-07-29T06:14:00.400613Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4306,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4306,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13809.c2bb1623ced77ad07f9c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.721Z","timestamp":1785136427721,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13809.c2bb1623ced77ad07f9c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-1f4a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2da28a0b7851e40bfcb4100f72ba0ff3\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8010,"size_decoded":2518,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8010), with no line terminators","md5":"4f0cb68a495862c356ff327ec986f404","sha1":"77305dc905a65eed86ee7c9297d7a3077ae28681","sha256":"30068922a8c864edfc76ec495f5824dc74a5bf90ffbdf13361962b688b876c0b","sha512":"68ba4919ba3409e0c8a9821aeb3de864470ef059bf11eb630b556a3f334f2eac8ab99a13abb1be0c8d86cd217e68af6a82864ad1415f3e54e02b762ef432c2e5","ssdeep":"96:DojZtH5/5CHWuyfvKH3qLs3uBGKKloim/QEann:2tHr+wfvKXLDXmYNnn","tlshash":"86f1ae05e1b463ba74bb8d5cb784dc5a6300d2b3ce24d7dff690680a85c65872e6b88d","first_seen":"2026-04-16T17:44:11.976987Z","last_seen":"2026-08-11T04:45:48.863678Z","times_seen":1249,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67685.13755296d7d26eb7dbcc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.309Z","timestamp":1785136429309,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67685.13755296d7d26eb7dbcc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 00ae5bd66a424735710ad381e55947a2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":962,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"e318e6f9288c2f57bc947bf5784073b5","sha1":"a8b58198db65d302cc3fbf15118ab6bc7d525299","sha256":"71a4dbafdc173ecf98b93d11ac6a6ee8c80cbc2ea048858bcffa5e40d5254862","sha512":"dd5a0eddb94f41914f89297eba707a66a3471917598a8b67f2a6305092870bbc68f08e9af7598c1481a6fc82a2b44452c0b8f13d9ccc3eb9f059726a689bc62f","ssdeep":"","tlshash":"d8e020e355cd600d012f064cfd5774be920955037b5b6ccbea50e185edc82402535c08","first_seen":"2026-06-30T21:57:43.299741Z","last_seen":"2026-07-28T06:17:53.515825Z","times_seen":228,"resource_available":false,"data":"Lml0ZW0tWVJXMEpzRGR7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweDtwb3NpdGlvbjpyZWxhdGl2ZX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tWVJXMEpzRGR7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LVlSVzBKc0Rke21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1ZUlcwSnNEZHtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLVlSVzBKc0RkIC5pY29uLVlSVzBKc0RkLC5sb2FkaW5nLVlSVzBKc0RkIC5zaG9ydGN1dC1ZUlcwSnNEZHtvcGFjaXR5OjB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71528.7c6c08c8eed01d841052.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.821Z","timestamp":1785136429821,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/71528.7c6c08c8eed01d841052.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-cf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 619b65e0d0b3518c6bbdf793cd860f90\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/8216.d7f21fe2489ddfcbc418.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.841Z","timestamp":1785136429841,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/8216.d7f21fe2489ddfcbc418.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a6328d1-2e2e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:56:49 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 544a3374c9b1e6e100f79ea59124e896\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/css/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjWVAexQ.ttf","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.337Z","timestamp":1785136427337,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/css/opensans/v40/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjWVAexQ.ttf HTTP/1.1\r\nHost: heavenwealth.org\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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/assets/css/css.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.565Z","timestamp":1785136427565,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/95262386d8d4b6dd.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 4416834\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"95262386d8d4b6dd.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"8c155806c003f628ca093cb0feb083d0\"\r\nlast-modified: Thu, 30 Apr 2026 21:19:00 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/95262386d8d4b6dd.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::n9fnj-1777689750477-eb548eb708c2\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=YVoWjeCqJr1CTnGrlADd5X6zZdx4dskI88fMamomVEOgDujPiQLVfRctL8lVp%2FIgJhd7XbpuEl8gegCo23%2FTHUVY9lELVzT2AWFdBUa7nqlzDhnpuQjfOetDhh9h\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f04f008deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":30684,"size_decoded":9879,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (30682), with no line terminators","md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-11T04:47:30.031635Z","times_seen":2178,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc3NDcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoOTE5NDcpfSwxODkxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1uLl8oZS5yKDc1MjAxKSksaT1lLnIoNzQwODQpLHM9ZS5yKDUzMTMzKTtlLnIoOTE5NDcpO2xldCBjPWUucigxNjg3Mik7Y2xhc3MgdSBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgYz1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLHU9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCxsPW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGN8fHV8fGw/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gbCh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxsPSgwLG8udXNlQ29udGV4dCkoYy5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KSh1LHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmwsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODU2NDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3NTIwMSk7ZnVuY3Rpb24gYShlLHQpe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKCgpPT4oe3RyZWU6ZSxzdGF0ZUtleTp0LG5leHQ6bnVsbH0pKTtpZihyLnRyZWU9PT1lKXJldHVybiByO2xldCBvPXt0cmVlOmUsc3RhdGVLZXk6dCxuZXh0Om51bGx9LGk9MSxzPXIsYz1vO2Zvcig7bnVsbCE9PXMmJmk8MTspe2lmKHMuc3RhdGVLZXk9PT10KXtjLm5leHQ9cy5uZXh0O2JyZWFrfXtpKys7bGV0IGU9e3RyZWU6cy50cmVlLHN0YXRlS2V5OnMuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9cz1zLm5leHR9cmV0dXJuIGEobyksb30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMDk3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd319KTtsZXQgbj1lLnIoODEyNTgpLGE9ZS5yKDQ0MDY2KSxvPWUucig5ODEzNCksaT1hLl8oZS5yKDc1MjAxKSkscz1uLl8oZS5yKDI5MDgwKSksYz1lLnIoMTY4NzIpLHU9ZS5yKDUwMDk2KSxsPWUucig3NDg0NyksZD1lLnIoODk2MTYpLGY9ZS5yKDc3NDcyKSxwPWUucig1NzI0NyksaD1lLnIoMTg5MSksbT1lLnIoNTc3NzgpLGc9ZS5yKDg1NjQ2KTtlLnIoOTIyMjcpO2xldCB5PWUucigzMTg5OSksYj1lLnIoODgwNjIpLFA9ZS5yKDE4OTM5KSxfPXMuZGVmYXVsdC5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsUz1bImJvdHRvbSIsImhlaWdodCIsImxlZnQiLCJyaWdodCIsInRvcCIsIndpZHRoIiwieCIsInkiXTtmdW5jdGlvbiB2KGUsdCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PTAmJnIudG9wPD10fWNsYXNzIE8gZXh0ZW5kcyBpLmRlZmF1bHQuQ29tcG9uZW50e2NvbXBvbmVudERpZE1vdW50KCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5JiZ0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVufWNvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsPSgpPT57bGV0e2ZvY3VzQW5kU2Nyb2xsUmVmOmUsc2VnbWVudFBhdGg6dH09dGhpcy5wcm9wcztpZihlLmFwcGx5KXtpZigwIT09ZS5zZWdtZW50UGF0aHMubGVuZ3RoJiYhZS5zZWdtZW50UGF0aHMuc29tZShlPT50LmV2ZXJ5KCh0LHIpPT4oMCxkLm1hdGNoU2VnbWVudCkodCxlW3JdKSkpKXJldHVybjtsZXQgcj1udWxsLG49ZS5oYXNoRnJhZ21lbnQ7aWYobiYmKHI9InRvcCI9PT1uP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik/P2RvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKG4pWzBdKSxyfHwocj0idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLF8uZmluZERPTU5vZGUpKHRoaXMpKSwhKHIgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm47Zm9yKDshKHIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl8fGZ1bmN0aW9uKGUpe2lmKFsic3RpY2t5IiwiZml4ZWQiXS5pbmNsdWRlcyhnZXRDb21wdXRlZFN0eWxlKGUpLnBvc2l0aW9uKSlyZXR1cm4hMDtsZXQgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLmV2ZXJ5KGU9PjA9PT10W2VdKX0ocik7KXtpZihudWxsPT09ci5uZXh0RWxlbWVudFNpYmxpbmcpcmV0dXJuO3I9ci5uZXh0RWxlbWVudFNpYmxpbmd9ZS5hcHBseT0hMSxlLmhhc2hGcmFnbWVudD1udWxsLGUuc2VnbWVudFBhdGhzPVtdLCgwLGYuZGlzYWJsZVNtb290aFNjcm9sbER1cmluZ1JvdXRlVHJhbnNpdGlvbikoKCk9PntpZihuKXJldHVybiB2b2lkIHIuc2Nyb2xsSW50b1ZpZXcoKTtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudEhlaWdodDshdihyLHQpJiYoZS5zY3JvbGxUb3A9MCx2KHIsdCl8fHIuc2Nyb2xsSW50b1ZpZXcoKSl9LHtkb250Rm9yY2VMYXlvdXQ6ITAsb25seUhhc2hDaGFuZ2U6ZS5vbmx5SGFzaENoYW5nZX0pLGUub25seUhhc2hDaGFuZ2U9ITEsci5mb2N1cygpfX19fWZ1bmN0aW9uIFIoe3NlZ21lbnRQYXRoOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGkudXNlQ29udGV4dCkoYy5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybigwLG8uanN4KShPLHtzZWdtZW50UGF0aDplLGZvY3VzQW5kU2Nyb2xsUmVmOnIuZm9jdXNBbmRTY3JvbGxSZWYsY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEUoe3RyZWU6ZSxzZWdtZW50UGF0aDp0LGRlYnVnTmFtZUNvbnRleHQ6cixjYWNoZU5vZGU6bixwYXJhbXM6YSx1cmw6cyxpc0FjdGl2ZTpsfSl7bGV0IGQsZj0oMCxpLnVzZUNvbnRleHQpKGMuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoKDAsaS51c2VDb250ZXh0KSh5Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpLCFmKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0NzMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHA9bnVsbCE9PW4/bjooMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGg9bnVsbCE9PXAucHJlZmV0Y2hSc2M/cC5wcmVmZXRjaFJzYzpwLnJzYyxtPSgwLGkudXNlRGVmZXJyZWRWYWx1ZSkocC5yc2MsaCk7aWYoKDAsUC5pc0RlZmVycmVkUnNjKShtKSl7bGV0IGU9KDAsaS51c2UpKG0pO251bGw9PT1lJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9ZX1lbHNlIG51bGw9PT1tJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9bTtsZXQgZz1kO3JldHVybigwLG8uanN4KShjLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOmUscGFyZW50Q2FjaGVOb2RlOnAscGFyZW50U2VnbWVudFBhdGg6dCxwYXJlbnRQYXJhbXM6YSxkZWJ1Z05hbWVDb250ZXh0OnIsdXJsOnMsaXNBY3RpdmU6bH0sY2hpbGRyZW46Z30pfWZ1bmN0aW9uIGooe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2xldCBuO2lmKG49Im9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbj8oMCxpLnVzZSkodCk6dCl7bGV0IHQ9blswXSxhPW5bMV0scz1uWzJdO3JldHVybigwLG8uanN4KShpLlN1c3BlbnNlLHtuYW1lOmUsZmFsbGJhY2s6KDAsby5qc3hzKShvLkZyYWdtZW50LHtjaGlsZHJlbjpbYSxzLHRdfSksY2hpbGRyZW46cn0pfXJldHVybigwLG8uanN4KShvLkZyYWdtZW50LHtjaGlsZHJlbjpyfSl9ZnVuY3Rpb24gdyh7cGFyYWxsZWxSb3V0ZXJLZXk6ZSxlcnJvcjp0LGVycm9yU3R5bGVzOnIsZXJyb3JTY3JpcHRzOm4sdGVtcGxhdGVTdHlsZXM6YSx0ZW1wbGF0ZVNjcmlwdHM6cyx0ZW1wbGF0ZTpkLG5vdEZvdW5kOmYsZm9yYmlkZGVuOnksdW5hdXRob3JpemVkOlAsc2VnbWVudFZpZXdCb3VuZGFyaWVzOl99KXtsZXQgUz0oMCxpLnVzZUNvbnRleHQpKGMuTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIVMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7cGFyZW50VHJlZTp2LHBhcmVudENhY2hlTm9kZTpPLHBhcmVudFNlZ21lbnRQYXRoOncscGFyZW50UGFyYW1zOkMsdXJsOlQsaXNBY3RpdmU6eCxkZWJ1Z05hbWVDb250ZXh0OkF9PVMsTT1PLnBhcmFsbGVsUm91dGVzLEQ9TS5nZXQoZSk7RHx8KEQ9bmV3IE1hcCxNLnNldChlLEQpKTtsZXQgRj12WzBdLEk9bnVsbD09PXc/W2VdOncuY29uY2F0KFtGLGVdKSxrPXZbMV1bZV07dm9pZCAwPT09ayYmKDAsaS51c2UpKHUudW5yZXNvbHZlZFRoZW5hYmxlKTtsZXQgTj1rWzBdLFU9KDAsbS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoTiwhMCksQj0oMCxnLnVzZVJvdXRlckJGQ2FjaGUpKGssVSksTD1bXTtkb3tsZXQgZT1CLnRyZWUsaT1CLnN0YXRlS2V5LHU9ZVswXSxnPSgwLG0uY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHUpLF89RC5nZXQoZyk/P251bGwsUz1DO2lmKEFycmF5LmlzQXJyYXkodSkpe2xldCBlPXVbMF0sdD11WzFdLHI9dVsyXSxuPSgwLGIuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKFM9ey4uLkMsW2VdOm59KX1sZXQgdj1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihzbG90KSI9PT1lKXJldHVybjtlbHNlIHJldHVybiBlKyIvIjtyZXR1cm4gZVsxXSsiLyJ9KHUpLHc9dj8/QSxNPXZvaWQgMD09PXY/dm9pZCAwOkEsRj1PLmxvYWRpbmcsaz0oMCxvLmpzeHMpKGMuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxvLmpzeHMpKFIse3NlZ21lbnRQYXRoOkksY2hpbGRyZW46WygwLG8uanN4KShsLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bixjaGlsZHJlbjooMCxvLmpzeCkoaix7bmFtZTpNLGxvYWRpbmc6RixjaGlsZHJlbjooMCxvLmpzeCkoaC5IVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSx7bm90Rm91bmQ6Zixmb3JiaWRkZW46eSx1bmF1dGhvcml6ZWQ6UCxjaGlsZHJlbjooMCxvLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46WygwLG8uanN4KShFLHt1cmw6VCx0cmVlOmUscGFyYW1zOlMsY2FjaGVOb2RlOl8sc2VnbWVudFBhdGg6SSxkZWJ1Z05hbWVDb250ZXh0OncsaXNBY3RpdmU6eCYmaT09PVV9KSxudWxsXX0pfSl9KX0pLG51bGxdfSksY2hpbGRyZW46W2EscyxkXX0saSk7TC5wdXNoKGspLEI9Qi5uZXh0fXdoaWxlKG51bGwhPT1CKXJldHVybiBMfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5Mjk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoNDQwNjYpLGE9ZS5yKDk4MTM0KSxvPW4uXyhlLnIoNzUyMDEpKSxpPWUucigxNjg3Mik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5UZW1wbGF0ZUNvbnRleHQpO3JldHVybigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODk1MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4NjE0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODk1MykuY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MDcyOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg3MTg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNzA3MjkpLmNyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTc1MTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZmxlY3RBZGFwdGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtjbGFzcyBue3N0YXRpYyBnZXQoZSx0LHIpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCxyKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmJpbmQoZSk6bn1zdGF0aWMgc2V0KGUsdCxyLG4pe3JldHVybiBSZWZsZWN0LnNldChlLHQscixuKX1zdGF0aWMgaGFzKGUsdCl7cmV0dXJuIFJlZmxlY3QuaGFzKGUsdCl9c3RhdGljIGRlbGV0ZVByb3BlcnR5KGUsdCl7cmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSx0KX19fSw0NTAxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7bGV0IG49ZnVuY3Rpb24oZSx0KXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYobnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJue2RlZmF1bHQ6ZX07dmFyIHI9YSh2b2lkIDApO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbj17X19wcm90b19fOm51bGx9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkscyk6bltpXT1lW2ldfXJldHVybiBuLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG4pLG59KGUucig3NTIwMSkpO2Z1bmN0aW9uIGEoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oYT1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1sZXQgbz17Y3VycmVudDpudWxsfSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLmNhY2hlP24uY2FjaGU6ZT0+ZSxzPWNvbnNvbGUud2FybjtmdW5jdGlvbiBjKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtzKGUoLi4udCkpfX1pKGU9Pnt0cnl7cyhvLmN1cnJlbnQpfWZpbmFsbHl7by5jdXJyZW50PW51bGx9fSl9LDc1ODI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZXNjcmliZUhhc0NoZWNraW5nU3RyaW5nUHJvcGVydHk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzczpmdW5jdGlvbigpe3JldHVybiBpfSx3ZWxsS25vd25Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89L15bQS1aYS16XyRdW0EtWmEtejAtOV8kXSokLztmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIG8udGVzdCh0KT9gXGAke2V9LiR7dH1cYGA6YFxgJHtlfVske0pTT04uc3RyaW5naWZ5KHQpfV1cYGB9ZnVuY3Rpb24gcyhlLHQpe2xldCByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybmBcYFJlZmxlY3QuaGFzKCR7ZX0sICR7cn0pXGAsIFxgJHtyfSBpbiAke2V9XGAsIG9yIHNpbWlsYXJgfWxldCBjPW5ldyBTZXQoWyJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvU3RyaW5nIiwidmFsdWVPZiIsInRvTG9jYWxlU3RyaW5nIiwidGhlbiIsImNhdGNoIiwiZmluYWxseSIsInN0YXR1cyIsImRpc3BsYXlOYW1lIiwiX2RlYnVnSW5mbyIsInRvSlNPTiIsIiQkdHlwZW9mIiwiX19lc01vZHVsZSJdKX0sNTU5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoNDkyMTEpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSwxMzE3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNTU5NDkpfSwzNzE2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoMTY0MzIpLGk9ZS5yKDEzMTc3KTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBjKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gdSgpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sNTU1MjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17UmVuZGVyU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gY30sU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBvIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtvXX0pO2xldCBpPWUucig0MTA2Mikscz1lLnIoNDA0NjEpO3ZhciBjPSgobj17fSlbbi5CZWZvcmU9MV09IkJlZm9yZSIsbltuLlN0YXRpYz0yXT0iU3RhdGljIixuW24uUnVudGltZT0zXT0iUnVudGltZSIsbltuLkR5bmFtaWM9NF09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9NV09IkFiYW5kb25lZCIsbik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlPW51bGwsdCl7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuaGFzUnVudGltZVByZWZldGNoPXQsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1udWxsLHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbj1udWxsLHRoaXMuc3RhdGljU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9MS8wLHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMubWF5QWJhbmRvbj0hMSxlJiYoZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntsZXR7cmVhc29uOnR9PWU7dGhpcy5jdXJyZW50U3RhZ2U8MyYmKHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCkpLCh0aGlzLmN1cnJlbnRTdGFnZTw0fHw1PT09dGhpcy5jdXJyZW50U3RhZ2UpJiYodGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KSl9LHtvbmNlOiEwfSksdGhpcy5tYXlBYmFuZG9uPSEwKX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDQ9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9Y2FuU3luY0ludGVycnVwdCgpe2lmKDE9PT10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm4hMTtsZXQgZT10aGlzLmhhc1J1bnRpbWVQcmVmZXRjaD80OjM7cmV0dXJuIHRoaXMuY3VycmVudFN0YWdlPGV9c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlKXtpZih0aGlzLm1heUFiYW5kb24pcmV0dXJuIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtzd2l0Y2godGhpcy5jdXJyZW50U3RhZ2Upe2Nhc2UgMjp0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuYWR2YW5jZVN0YWdlKDQpO3JldHVybjtjYXNlIDM6dGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gmJih0aGlzLnJ1bnRpbWVJbnRlcnJ1cHRSZWFzb249ZSx0aGlzLmFkdmFuY2VTdGFnZSg0KSk7cmV0dXJufX19Z2V0U3RhdGljSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29ufWdldFJ1bnRpbWVJbnRlcnJ1cHRSZWFzb24oKXtyZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29ufWdldFN0YXRpY1N0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZX1nZXRSdW50aW1lU3RhZ2VFbmRUaW1lKCl7cmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZX1hYmFuZG9uUmVuZGVyKCl7aWYoIXRoaXMubWF5QWJhbmRvbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoImBhYmFuZG9uUmVuZGVyYCBjYWxsZWQgb24gYSBzdGFnZSBjb250cm9sbGVyIHRoYXQgY2Fubm90IGJlIGFiYW5kb25lZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTkzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aGlzLmFiYW5kb25SZW5kZXJJbXBsKCl9YWJhbmRvblJlbmRlckltcGwoKXtsZXR7Y3VycmVudFN0YWdlOmV9PXRoaXM7c3dpdGNoKGUpe2Nhc2UgMjp0aGlzLmN1cnJlbnRTdGFnZT01LHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO3JldHVybjtjYXNlIDM6dGhpcy5jdXJyZW50U3RhZ2U9NTtyZXR1cm59fWFkdmFuY2VTdGFnZShlKXtpZihlPD10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm47bGV0IHQ9dGhpcy5jdXJyZW50U3RhZ2U7aWYodGhpcy5jdXJyZW50U3RhZ2U9ZSx0PDMmJmU+PTMmJih0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpKSx0PDQmJmU+PTQpe3RoaXMucnVudGltZVN0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZUR5bmFtaWNTdGFnZSgpO3JldHVybn19cmVzb2x2ZVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCl9cmVzb2x2ZUR5bmFtaWNTdGFnZSgpe2xldCBlPXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5yZXNvbHZlKCl9Z2V0U3RhZ2VQcm9taXNlKGUpe3N3aXRjaChlKXtjYXNlIDM6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLG87bGV0IGkscz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsbz1yLGk9bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsbyksdCl9KSx2b2lkIDAhPT1hJiYoaS5kaXNwbGF5TmFtZT1hKSxpKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sODY3NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBwfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDE3NTE4KSxpPWUucig2Nzc4MSkscz1lLnIoMTI5NjUpLGM9ZS5yKDQxMDYyKSx1PWUucigxNTUwOCksbD1lLnIoNDUwMTQpLGQ9ZS5yKDc1ODI3KSxmPWUucigzNzE2NSk7ZnVuY3Rpb24gcChlLHQpe2xldCByPXMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4geSh0LHIpO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBhIHJ1bnRpbWUgcHJlcmVuZGVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6cmV0dXJuIGIoZSx0LHIpfSgwLHMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZS5yKDU1NTI1KTtsZXQgaD1tO2Z1bmN0aW9uIG0oZSx0KXtsZXQgcj1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIHkodCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyU2VhcmNoUGFyYW1zRm9yU2VydmVyUGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp2YXIgbixhO3JldHVybiBuPWUsYT1yLCgwLGkuZGVsYXlVbnRpbFJ1bnRpbWVTdGFnZSkoYSx2KG4pKTtjYXNlInJlcXVlc3QiOnJldHVybiBiKGUsdCxyKX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIGcoZSl7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCx1Lm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGMuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUHJlcmVuZGVyU2VhcmNoUGFyYW1zRm9yQ2xpZW50UGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPVAuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IHM9KDAsdS5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksYz1uZXcgUHJveHkocyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHMsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxpLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGkuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gby5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gUC5zZXQobixjKSxjO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgbD1lLGQ9dDtsZXQgcD1QLmdldChsKTtpZihwKXJldHVybiBwO2xldCBoPVByb21pc2UucmVzb2x2ZSh7fSksbT1uZXcgUHJveHkoaCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKGgsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7bC5keW5hbWljU2hvdWxkRXJyb3I/KDAsZi50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikobC5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT1kLnR5cGU/KDAsaS5wb3N0cG9uZVdpdGhUcmFja2luZykobC5yb3V0ZSxlLGQuZHluYW1pY1RyYWNraW5nKTooMCxpLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGwsZCl9cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gUC5zZXQobCxtKSxtO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGIoZSx0LHIpe3JldHVybiB0LmZvcmNlU3RhdGljP1Byb21pc2UucmVzb2x2ZSh7fSk6dihlKX1sZXQgUD1uZXcgV2Vha01hcCxfPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFMoZSl7bGV0IHQ9Xy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxpKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJmQud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLGYudGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxpKX19KTtyZXR1cm4gXy5zZXQoZSxuKSxufWZ1bmN0aW9uIHYoZSl7bGV0IHQ9UC5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFAuc2V0KGUscikscn0oMCxsLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNDQ2MzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNDc1OTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDQ2MzEpfSwzNjA3MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoODk3OTEpLGk9ZS5yKDE3NTE4KSxzPWUucig2Nzc4MSksYz1lLnIoMTI5NjUpLHU9ZS5yKDQxMDYyKSxsPWUucig3NTgyNyksZD1lLnIoMTU1MDgpLGY9ZS5yKDQ1MDE0KSxwPWUucig0NzU5NSk7ZnVuY3Rpb24gaChlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gTyhlKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWUucig1NTUyNSk7bGV0IG09eTtmdW5jdGlvbiBnKGUsdCl7bGV0IHI9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHIpc3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBQKGUsdCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yUm91dGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24geShlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24gYihlKXtsZXQgdD1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighdCl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIk1pc3Npbmcgd29ya1N0b3JlIGluIGNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobil7Zm9yKGxldCBhIGluIGUpaWYobi5oYXMoYSkpcmV0dXJuKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIil9YnJlYWs7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShlKX1mdW5jdGlvbiBQKGUsdCxyKXtzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKG4pe2ZvcihsZXQgYSBpbiBlKWlmKG4uaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgYT1uZXcgUHJveHkoKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIiksdik7cmV0dXJuIFMuc2V0KGUsYSksYX0oZSx0LHIpfWJyZWFrfWNhc2UicHJlcmVuZGVyLXBwciI6e2xldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9Uy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtsZXQgbz17Li4uZX0saT1Qcm9taXNlLnJlc29sdmUobyk7cmV0dXJuIFMuc2V0KGUsaSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChlPT57bC53ZWxsS25vd25Qcm9wZXJ0aWVzLmhhcyhlKXx8dC5oYXMoZSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGUse2dldCgpe2xldCB0PSgwLGwuZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzcykoInBhcmFtcyIsZSk7InByZXJlbmRlci1wcHIiPT09bi50eXBlPygwLHMucG9zdHBvbmVXaXRoVHJhY2tpbmcpKHIucm91dGUsdCxuLmR5bmFtaWNUcmFja2luZyk6KDAscy50aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbikodCxyLG4pfSxlbnVtZXJhYmxlOiEwfSl9KSxpfShlLG4sdCxyKX19fXJldHVybiBPKGUpfWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4oMCxzLmRlbGF5VW50aWxSdW50aW1lU3RhZ2UpKHQsTyhlKSl9bGV0IFM9bmV3IFdlYWtNYXAsdj17Z2V0OmZ1bmN0aW9uKGUsdCxyKXtpZigidGhlbiI9PT10fHwiY2F0Y2giPT09dHx8ImZpbmFsbHkiPT09dCl7bGV0IG49aS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpO3JldHVybih7W3RdOiguLi50KT0+e2xldCByPXAuZHluYW1pY0FjY2Vzc0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO3JldHVybiByJiZyLmFib3J0Q29udHJvbGxlci5hYm9ydChPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkFjY2Vzc2VkIGZhbGxiYWNrIGBwYXJhbXNgIGR1cmluZyBwcmVyZW5kZXJpbmcuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2OTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLG5ldyBQcm94eShuLmFwcGx5KGUsdCksdil9fSlbdF19cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19O2Z1bmN0aW9uIE8oZSl7bGV0IHQ9Uy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFMuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sMTk5NTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFBhZ2VSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpLHM9ZS5yKDg4MDYyKSxjPWUucigzMTg5OSk7ZnVuY3Rpb24gdSh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCB1LGw7aWYobnVsbCE9PXIpdT1yLnNlYXJjaFBhcmFtcyxsPXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsaS51c2UpKG8uTGF5b3V0Um91dGVyQ29udGV4dCk7bD1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSx1PSgwLHMudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsaS51c2UpKGMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixvLHt3b3JrQXN5bmNTdG9yYWdlOml9PWUucig4OTc5MSkscz1pLmdldFN0b3JlKCk7aWYoIXMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBhLkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gZXhpc3Qgd2hlbiBoYW5kbGluZyBzZWFyY2hQYXJhbXMgaW4gYSBjbGllbnQgUGFnZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpjfT1lLnIoODY3NzApO3I9Yyh1LHMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmR9PWUucigzNjA3MCk7cmV0dXJuIG89ZChsLHMpLCgwLG4uanN4KSh0LHtwYXJhbXM6byxzZWFyY2hQYXJhbXM6cn0pfXtsZXR7Y3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpyfT1lLnIoNjg2MTQpLGE9cih1KSx7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDpvfT1lLnIoODcxODkpLGk9byhsKTtyZXR1cm4oMCxuLmpzeCkodCx7cGFyYW1zOmksc2VhcmNoUGFyYW1zOmF9KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzM3ODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFNlZ21lbnRSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpO2Z1bmN0aW9uIHMoe0NvbXBvbmVudDp0LHNsb3RzOnIsc2VydmVyUHJvdmlkZWRQYXJhbXM6c30pe2xldCBjO2lmKG51bGwhPT1zKWM9cy5wYXJhbXM7ZWxzZXtsZXQgZT0oMCxpLnVzZSkoby5MYXlvdXRSb3V0ZXJDb250ZXh0KTtjPW51bGwhPT1lP2UucGFyZW50UGFyYW1zOnt9fWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgbyx7d29ya0FzeW5jU3RvcmFnZTppfT1lLnIoODk3OTEpLHM9aS5nZXRTdG9yZSgpO2lmKCFzKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGV4aXN0IHdoZW4gaGFuZGxpbmcgcGFyYW1zIGluIGEgY2xpZW50IHNlZ21lbnQgc3VjaCBhcyBhIExheW91dCBvciBUZW1wbGF0ZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYwMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDp1fT1lLnIoMzYwNzApO3JldHVybiBvPXUoYyxzKSwoMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfXtsZXR7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDphfT1lLnIoODcxODkpLG89YShjKTtyZXR1cm4oMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDQxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSWNvbk1hcmsiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODEzNCksYT0oKT0+InUiPnR5cGVvZiB3aW5kb3c/bnVsbDooMCxuLmpzeCkoIm1ldGEiLHtuYW1lOiLCq254dC1pY29uwrsifSl9XSk7"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13492.2c77730d1125a4985bdc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.177Z","timestamp":1785136429177,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13492.2c77730d1125a4985bdc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-576\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ee85ff69618b91474e75e0f94133435a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1398,"size_decoded":1347,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1398), with no line terminators","md5":"88088354fa104e0cdaa0351d0833f141","sha1":"674bbd4045db55c1c49a9f3af542cd275937376a","sha256":"c42ecd718858fd3cceedecc55ab1cf73c0ccdb74827944445c7c052992794a35","sha512":"4053448b9df28fb4c2a0b6b1789292a442298ab528e1048e9bb0152879454c993e76ea915c66ca4b0cbfcd35b123a8733dfc67fd7b9ee87d99ddc0bcfb60a2a6","ssdeep":"","tlshash":"8d217d9afbd91169a713f1355100bfc9ed5a7f60c7532395f6caf210c0caae85c75888","first_seen":"2026-04-09T17:47:32.54555Z","last_seen":"2026-07-30T02:52:23.311161Z","times_seen":674,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYldRMjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1fMS1iV1EyOiMwMDAwfS5jb250YWluZXItekxWbTZCNHR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLV8wLWJXUTIpO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6OHB4fS5jb250ZW50LXpMVm02QjR0e3BhZGRpbmc6NHB4IDhweH0uYXJyb3dIb2xkZXItekxWbTZCNHR7cG9zaXRpb246YWJzb2x1dGV9LmFycm93SG9sZGVyLXpMVm02QjR0OmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1fMC1iV1EyKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlciwuYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtib3JkZXItcmlnaHQ6NnB4IHNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNnB4fS5hcnJvd0hvbGRlci0tYmVsb3ctekxWbTZCNHQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDo0cHg7Ym90dG9tOjEwMCV9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlcntib3JkZXItdG9wLXdpZHRoOjRweDt0b3A6MTAwJX0uYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0OmFmdGVyLC5hcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0OmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzEtYldRMik7Ym9yZGVyLXRvcDo2cHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1fMS1iV1EyKTttYXJnaW4tdG9wOi02cHg7dG9wOjUwJX0uYXJyb3dIb2xkZXItLWJlZm9yZS16TFZtNkI0dDphZnRlcntib3JkZXItcmlnaHQtd2lkdGg6NHB4O3JpZ2h0OjEwMCV9LmFycm93SG9sZGVyLS1hZnRlci16TFZtNkI0dDphZnRlcntib3JkZXItbGVmdC13aWR0aDo0cHg7bGVmdDoxMDAlfS5hcnJvd0hvbGRlci0tYWJvdmUtZml4LXpMVm02QjR0e2JvdHRvbTowfS5hcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQ6ZGlyKHJ0bCl7bGVmdDowfS5hcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeC16TFZtNkI0dHtyaWdodDowfS5sYWJlbC16TFZtNkI0dHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4taW5saW5lLWVuZDoyNHB4fS5jbG9zZUJ1dHRvbi16TFZtNkI0dHtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/CA.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.308Z","timestamp":1785136430308,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/CA.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/50316.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.321Z","timestamp":1785136429321,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/50316.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a43614c-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:25:16 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:11\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 262fe93616451afc9ca2e9221c5eeb66\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.397Z","timestamp":1785136429397,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97558.94bb0c2643d74eb6f8a9.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-6018\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ae01974fbf16d3c553388bd3cd0c6d36\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":24600,"size_decoded":7957,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"d746cbb1cbb3033c0484bc6acc81a55f","sha1":"25835aa4b4538d7962fa37c481b6f7bfcda4defb","sha256":"32489cc5023595f6e286bacc217f9666840467c5cb7f6a71e6fb993778a0f9f6","sha512":"88e18428248f514fce026ba9332b9229d8c5a25977939e792b749ec42051dc847c18d6dcc6d9880fff271e42f1b5e048da19ecc06a555fd9b1e0b749752b605e","ssdeep":"768:ncRuzQtjfXqCO3EDR9kE9OO4f5B1i/RHUFLqhBRso7HiqZEFhSoO0JJyERE+wOjb:nPanOeH9TO+eFNrWJfeZP","tlshash":"83b29612655d58eb97f207a3ad70284bd2339da71b0fad54309d44df3cae821227eb71","first_seen":"2026-07-20T16:56:18.378997Z","last_seen":"2026-07-28T06:17:53.622711Z","times_seen":97,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTc1NThdLHs5NjA0NjQoZSx0LG4pe3ZhciBpO24uZCh0LHtNYXJrTG9jYXRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlLkFib3ZlQmFyPSJBYm92ZUJhciIsZS5CZWxvd0Jhcj0iQmVsb3dCYXIiLGUuVG9wPSJUb3AiLGUuQm90dG9tPSJCb3R0b20iLGUuUmlnaHQ9IlJpZ2h0IixlLkxlZnQ9IkxlZnQiLGUuQWJzb2x1dGU9IkFic29sdXRlIixlLkFic29sdXRlVXA9IkFic29sdXRlVXAiLGUuQWJzb2x1dGVEb3duPSJBYnNvbHV0ZURvd24ifShpfHwoaT17fSkpfSw1MTI0MzcoZSx0LG4pe24uZCh0LHtUZXh0SW1hZ2VDYWNoZXNDb250YWluZXI6KCk9PmR9KTt2YXIgaSxvPW4oMTM4NjM4KSxyPW4oMTQxNjUpLHM9big1OTA4OTQpOyFmdW5jdGlvbihlKXtlLkxlZnQ9ImxlZnQiLGUuQ2VudGVyPSJjZW50ZXIiLGUuUmlnaHQ9InJpZ2h0In0oaXx8KGk9e30pKTt2YXIgYT1uKDkxODc3OSksaD1uKDE1MTIxKTtjb25zdCBsPSgwLGguY3JlYXRlRGlzY29ubmVjdGVkQ2FudmFzKShkb2N1bWVudCwoMCxhLnNpemUpKHt3aWR0aDowLGhlaWdodDowfSksMSk7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlLHQsbixpLHIsYT0iY2VudGVyIixoPTApe3RoaXMuX2xpbmVzPWUuc3BsaXQoL1teXFNcclxuXSooPzpcclxufFxyfFxuKS8pLHRoaXMuX2ZvbnQ9ZnVuY3Rpb24oZSx0LG4saSl7cmV0dXJuKDAscy5tYWtlRm9udCkoaSxuLGAke2U/ImJvbGQgIjoiIn0ke3Q/Iml0YWxpYyAiOiIifWApfSh0LG4saSxyKSx0aGlzLl9mb250U2l6ZT1yLHRoaXMuX3ZlcnRpY2FsUGFkZGluZz1+fihyLzYpLHRoaXMuX3RleHRBbGlnbj1hLHRoaXMuX2xpbmVTcGFjaW5nPWg7Y29uc3QgYz0oMCxvLmVuc3VyZU5vdE51bGwpKGwuZ2V0Q29udGV4dCgiMmQiKSk7Yy5mb250PXRoaXMuX2ZvbnQsYy50ZXh0QmFzZWxpbmU9InRvcCI7bGV0IGQ9MDtmb3IobGV0IGU9MDtlPHRoaXMuX2xpbmVzLmxlbmd0aDsrK2Upe2NvbnN0IHQ9dGhpcy5fbGluZXNbZV0sbj1jLm1lYXN1cmVUZXh0KHQpLndpZHRoO2Q9TWF0aC5tYXgoZCxuKX10aGlzLnRleHRJbWFnZVdpZHRoPWQrMSx0aGlzLnRleHRJbWFnZUhlaWdodD10aGlzLl9saW5lcy5sZW5ndGgqcisodGhpcy5fbGluZXMubGVuZ3RoLTEpKnRoaXMuX2xpbmVTcGFjaW5nK3RoaXMuX3ZlcnRpY2FsUGFkZGluZ31wYWludFRvKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOm99PWU7bi5zYXZlKCk7Y29uc3Qgcj10LmxvY2F0aW9uO24udHJhbnNsYXRlKE1hdGgucm91bmQoZnVuY3Rpb24oZSx0LG4pe2xldCBpPWU7c3dpdGNoKHQpe2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6aS09bjticmVhaztjYXNlImNlbnRlciI6aS09bi8yfXJldHVybiBNYXRoLnJvdW5kKGkpfShyLngsci5ob3J6QWxpZ24sdGhpcy50ZXh0SW1hZ2VXaWR0aCkqaSksTWF0aC5yb3VuZChmdW5jdGlvbihlLHQsbil7bGV0IGk9ZTtzd2l0Y2godCl7Y2FzZSJ0b3AiOmJyZWFrO2Nhc2UiYm90dG9tIjppLT1uO2JyZWFrO2Nhc2UibWlkZGxlIjppLT1uLzJ9cmV0dXJuIE1hdGgucm91bmQoaSl9KHIueSxyLnZlcnRBbGlnbix0aGlzLnRleHRJbWFnZUhlaWdodCkqbykpO2NvbnN0IHM9dC5zdHlsZTtsZXQgYTtzd2l0Y2gobi50ZXh0QmFzZWxpbmU9InRvcCIsbi5mb250PXRoaXMuX2ZvbnQsbi5saW5lSm9pbj0icm91bmQiLG4uZmlsbFN0eWxlPXMuZmlsbFN0eWxlLHMuc3Ryb2tlU3R5bGUmJihuLnN0cm9rZVN0eWxlPXMuc3Ryb2tlU3R5bGUpLHMubGluZVdpZHRoJiYobi5saW5lV2lkdGg9cy5saW5lV2lkdGgpLHRoaXMuX3RleHRBbGlnbil7Y2FzZSJsZWZ0IjphPTAsbi50ZXh0QWxpZ249ImxlZnQiO2JyZWFrO2Nhc2UicmlnaHQiOmE9dGhpcy50ZXh0SW1hZ2VXaWR0aC0xLG4udGV4dEFsaWduPSJyaWdodCI7YnJlYWs7ZGVmYXVsdDphPXRoaXMudGV4dEltYWdlV2lkdGgvMixuLnRleHRBbGlnbj0iY2VudGVyIn1sZXQgbD10aGlzLl92ZXJ0aWNhbFBhZGRpbmc7KDAsaC5kcmF3U2NhbGVkKShuLGksbywoKCk9Pntmb3IoY29uc3QgZSBvZiB0aGlzLl9saW5lcylzLnN0cm9rZVN0eWxlJiZuLnN0cm9rZVRleHQoZSxhLGwpLG4uZmlsbFRleHQoZSxhLGwpLGwrPXRoaXMuX2ZvbnRTaXplLGwrPXRoaXMuX2xpbmVTcGFjaW5nfSkpLG4ucmVzdG9yZSgpfX1jbGFzcyBkIGV4dGVuZHMgci5BYnN0cmFjdE1hcENvbnRhaW5lcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX21heFNpemU9ZSx0aGlzLl9rZXlzUXVldWU9W119Z2V0KGUpe2NvbnN0e2ZvbnRTaXplOnQsdGV4dDpuLGFsaWduOmksZm9udDpvLGJvbGQ6YSxpdGFsaWM6aCxsaW5lU3BhY2luZzpsPTB9PWU7aWYoIW58fCF0fHwhaSlyZXR1cm4gbnVsbDtjb25zdCBkPSgwLHMubWFrZUZvbnQpKHQsbyxoPyJpdGFsaWMiOiIiLGE/ImJvbGQiOiIiKSxmPSgwLHIuZ2V0RGVmYXVsdDMpKHRoaXMuX21hcCxsLGksZCxuZXcgTWFwKTtsZXQgZz1mLmdldChuKTtyZXR1cm4gdm9pZCAwIT09Z3x8KHRoaXMuX3NpemU+PXRoaXMuX21heFNpemU/dGhpcy5fZGVsZXRlRmlyc3RLZXkoKTorK3RoaXMuX3NpemUsdGhpcy5fa2V5c1F1ZXVlLnB1c2goW2QsaSxsLG5dKSxnPW5ldyBjKG4sYSxoLG8sdCxpLGwpLGYuc2V0KG4sZykpLGd9X2RlbGV0ZUZpcnN0S2V5KCl7Y29uc3QgZT10aGlzLl9rZXlzUXVldWUuc2hpZnQoKSxbdCxuLGkscl09ZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fbWFwLmdldChpKSksYT0oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KG4pKSxoPSgwLG8uZW5zdXJlRGVmaW5lZCkoYS5nZXQodCkpO2guZGVsZXRlKHIpLDA9PT1oLnNpemUmJmEuZGVsZXRlKHQpLDA9PT1hLnNpemUmJnMuZGVsZXRlKG4pLDA9PT1zLnNpemUmJnRoaXMuX21hcC5kZWxldGUoaSl9fX0sMjkzNDE4KGUsdCxuKXtuLmQodCx7Y29udmVydFBvaW50c1RvU2NyZWVuRGltZW5zaW9uOigpPT5hLGRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlOigpPT5oLAppc0V4dGVuZEluU2FtZURpcmVjdGlvbjooKT0+c30pO3ZhciBpPW4oMTM4NjM4KSxvPW4oMTc5Njc0KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGU9PT1vLkR3Z0V4dGVuZC5Ob25lP3Q6dD09PW8uRHdnRXh0ZW5kLk5vbmU/ZTplPT09by5Ed2dFeHRlbmQuQm90aHx8dD09PW8uRHdnRXh0ZW5kLkJvdGg/by5Ed2dFeHRlbmQuQm90aDplPT09dD90Om8uRHdnRXh0ZW5kLkJvdGh9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBlPT09by5Ed2dFeHRlbmQuQm90aHx8ZT09PXR9ZnVuY3Rpb24gYShlLHQsbixzLGEsaCxsLGMsZCxmKXtsZXQgZyx4O2lmKG51bGw9PT1lJiZudWxsPT09bil7aWYoYSE9PW8uRHdnRXh0ZW5kLlJpZ2h0JiZhIT09by5Ed2dFeHRlbmQuQm90aClyZXR1cm4gbnVsbDthPW8uRHdnRXh0ZW5kLkJvdGgsZz0wLHg9Y31lbHNlIG51bGw9PT1lPyhnPWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShuKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5MZWZ0KSk6Zz1sLmluZGV4VG9Db29yZGluYXRlKGUpLG51bGw9PT1uPyh4PWwuaW5kZXhUb0Nvb3JkaW5hdGUoKDAsaS5lbnN1cmVOb3ROdWxsKShlKS0xKSxhPXIoYSxvLkR3Z0V4dGVuZC5SaWdodCkpOng9bC5pbmRleFRvQ29vcmRpbmF0ZShuKTtjb25zdCB1PWcsXz1oLnByaWNlVG9Db29yZGluYXRlKHQsZCksdz14LHA9aC5wcmljZVRvQ29vcmRpbmF0ZShzLGQpO3JldHVybiB2b2lkIDAhPT1mPyhmLngxPXUsZi55MT1fLGYueDI9dyxmLnkyPXAsZi5leHRlbmQ9YSxmKTp7eDE6dSx5MTpfLHgyOncseTI6cCxleHRlbmQ6YX19ZnVuY3Rpb24gaChlLHQsbixpLHIpe2xldCBzPSExO3N3aXRjaChuKXtjYXNlIG8uRHdnRXh0ZW5kLkJvdGg6cz0hMDticmVhaztjYXNlIG8uRHdnRXh0ZW5kLlJpZ2h0OnM9bnVsbD09PXR8fG51bGw9PT1lfHxlPD1yO2JyZWFrO2Nhc2Ugby5Ed2dFeHRlbmQuTGVmdDpzPW51bGw9PT10fHx0Pj1pO2JyZWFrO2RlZmF1bHQ6bnVsbCE9PWUmJm51bGwhPT10P3M9KGU+PWl8fHQ+PWkpJiYoZTw9cnx8dDw9cik6bnVsbCE9PWUmJm51bGw9PT10P3M9ZTw9cjpudWxsPT09ZSYmbnVsbCE9PXQmJihzPXQ+PWkpfXJldHVybiBzfX0sNDc3Mzg4KGUsdCxuKXtuLmQodCx7RHdnTGFiZWxQYW5lVmlld0NvbnN0YW50czooKT0+aSxjYWxjdWxhdGVEd2dMYWJlbHNNYXJnaW5zOigpPT5hLGNhbGN1bGF0ZUxhYmVsSGVpZ2h0OigpPT5zfSk7dmFyIGksbz1uKDU4OTUxMSkscj1uKDU0ODU2MCk7ZnVuY3Rpb24gcyhlLHQsbil7bGV0IHI9bjtzd2l0Y2godCl7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLlRpbnk6cj0uNiplO2JyZWFrO2Nhc2Ugby5QbG90U3ltYm9sU2l6ZS5TbWFsbDpyPS44KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLk5vcm1hbDpyPWU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkxhcmdlOnI9MS41KmU7YnJlYWs7Y2FzZSBvLlBsb3RTeW1ib2xTaXplLkh1Z2U6cj0yKmU7YnJlYWs7ZGVmYXVsdDoibnVtYmVyIj09dHlwZW9mIHQmJnQ+MCYmKHI9dC9pLkZPTlRfU0laRV9NVUxUKX1yZXR1cm4gcn1mdW5jdGlvbiBhKGUsdCxuKXtjb25zdCBvPWUubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksYT1NYXRoLnJvdW5kKG8qaS5BVVRPX1NJWkVfTVVMVCksaD1zKGkuTk9STUFMX1NJWkUsdC5zaXplLGEpKmkuU0hBUEVfSEVJR0hUX01VTFQsbD1NYXRoLnJvdW5kKGgvMik7c3dpdGNoKHQuc3R5bGUpe2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsVXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxMZWZ0VXA6Y2FzZSByLkR3Z0xhYmVsU3R5bGUuTGFiZWxSaWdodFVwOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOjB9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsRG93bjpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbExlZnREb3duOmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsUmlnaHREb3duOnJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOmx9O2Nhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsTGVmdDpjYXNlIHIuRHdnTGFiZWxTdHlsZS5MYWJlbFJpZ2h0OmNhc2Ugci5Ed2dMYWJlbFN0eWxlLkxhYmVsQ2VudGVyOnJldHVybntib3R0b21QaXhlbE1hcmdpbjpsLHRvcFBpeGVsTWFyZ2luOmx9fXJldHVybntib3R0b21QaXhlbE1hcmdpbjowLHRvcFBpeGVsTWFyZ2luOjB9fSFmdW5jdGlvbihlKXtlLk5PUk1BTF9TSVpFPTUwLGUuQVVUT19TSVpFX01VTFQ9MSxlLlNIQVBFX0hFSUdIVF9NVUxUPS41LGUuU0hBUEVfV0lEVEhfTVVMVD0uNixlLkZPTlRfU0laRV9NVUxUPS4yNH0oaXx8KGk9e30pKX0sODc0MTM1KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGU6KCk9PncsUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZTooKT0+dSxQYW5lUmVuZGVyZXJBYnN0cmFjdFN0cm9rZVNoYXBlOigpPT5ffSk7dmFyIGksbz1uKDEzODYzOCkscj1uKDczNjUzMSkscz1uKDc2ODMwNSksYT1uKDYwMTg0MSksaD1uKDg4NDI4KSxsPW4oNzYzKSxjPW4oNTEyNDM3KSxkPW4oOTI2MTQ5KSxmPW4oOTM0MzA1KSxnPW4oMTUxMjEpLHg9bigzMTg5NzQpOyFmdW5jdGlvbihlKXtlLlRyYW5zcGFyZW50PSJyZ2JhKDAsIDAsIDAsIDApIn0oaXx8KGk9e30pKTtjbGFzcyB1IGV4dGVuZHMgZi5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlLHQ9e3NraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zOiExfSl7c3VwZXIoKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9iYXJTcGFjaW5nPTAsdGhpcy5fdmVydE9mZnNldD0wLHRoaXMuX3RleHRDYWNoZT10LnRleHRDYWNoZXx8bmV3IGMuVGV4dEltYWdlQ2FjaGVzQ29udGFpbmVyKDVlMyksdGhpcy5fZHJhd09wZXJhdGlvbj10LnNraXBSZW5kZXJpbmdPcHRpbWl6YXRpb25zP3RoaXMuX2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpOnRoaXMuX2RyYXdXaXRoT3B0aW1pemF0aW9ucy5iaW5kKHRoaXMpLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9aGl0VGVzdChlKXtjb25zdCB0PWwuSGl0VGFyZ2V0LlJlZ3VsYXI7bGV0IG49bnVsbAo7Zm9yKGNvbnN0IGkgb2YgdGhpcy5faXRlbXMpe2lmKCFpKWNvbnRpbnVlO2NvbnN0IG89dGhpcy5fY2FsY0JvdW5kaW5nQm94KGkpO2lmKG8mJigwLHMucG9pbnRJbkJveCkoZSxvKSl7Y29uc3QgZT17dG9vbHRpcDp0aGlzLl9nZXRUb29sdGlwKGksbyl9O249bmV3IGwuSGl0VGVzdFJlc3VsdCh0LGUpfX1yZXR1cm4gbn1zZXREYXRhKGUpe2lmKHRoaXMuX2hlaWdodD12b2lkIDAhPT1lLmhlaWdodD9lLmhlaWdodDplLndpZHRoLHRoaXMuX3dpZHRoPXZvaWQgMCE9PWUud2lkdGg/ZS53aWR0aDplLmhlaWdodCx0aGlzLl9jb2xvcj1lLmNvbG9yLHRoaXMuX2JvcmRlckNvbG9yPWUuYm9yZGVyQ29sb3IsdGhpcy5fdmVydE9mZnNldD1lLnZlcnRPZmZzZXR8fDAsZS50ZXh0JiYodGhpcy5fdGV4dD1lLnRleHQsdGhpcy5fZm9udFNpemU9ZS5mb250U2l6ZSx0aGlzLl9saW5lU3BhY2luZz1lLmxpbmVTcGFjaW5nLHRoaXMuX3RleHRDb2xvcj1lLnRleHRDb2xvcix0aGlzLl90ZXh0QWxpZ249ZS50ZXh0QWxpZ258fCJjZW50ZXIiKSx2b2lkIDAhPT1lLml0ZW1zJiZ2b2lkIDAhPT1lLmJhclNwYWNpbmcpe2NvbnN0IHQ9ZS52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsbj1lLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P2UuaXRlbXMubGVuZ3RoO3RoaXMuc2V0SXRlbXMobj50P2UuaXRlbXMuc2xpY2UodCxuKTpbXSxlLmJhclNwYWNpbmcpfX1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJbXBsKGUpe3RoaXMuX3ByZURyYXdJbml0KCksdGhpcy5fZHJhd09wZXJhdGlvbihlKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS52ZXJ0T2Zmc2V0LG49dGhpcy5fZ2V0VGV4dENhY2hlKGUpO2lmKCFuKXJldHVybjtjb25zdCBpPW4udGV4dEltYWdlV2lkdGgsbz1uLnRleHRJbWFnZUhlaWdodCxzPWkvMixhPWUueSt0K2UudGV4dFZlcnRPZmZzZXQsaD10PjA/MDotbyxsPXQ+MD9vOjAsYz1uZXcgci5Qb2ludChlLmNlbnRlci1zLGEraCksZD1uZXcgci5Qb2ludChlLmNlbnRlcitzLGErbCk7cmV0dXJuKDAsci5ib3gpKGMsZCl9X3VuaW9uQm94KGUsdCl7Y29uc3Qgbj1NYXRoLm1pbihlLm1pbi54LHQubWluLngpLGk9TWF0aC5tYXgoZS5tYXgueCx0Lm1heC54KSxvPU1hdGgubWluKGUubWluLnksdC5taW4ueSkscz1NYXRoLm1heChlLm1heC55LHQubWF4LnkpLGE9bmV3IHIuUG9pbnQobixvKSxoPW5ldyByLlBvaW50KGkscyk7cmV0dXJuKDAsci5ib3gpKGEsaCl9X2dldFRvb2x0aXAoZSx0KXtpZihlLnRvb2x0aXApcmV0dXJue2NvbnRlbnQ6e3R5cGU6InRleHQiLGRhdGE6ZS50b29sdGlwfSx0b29sdGlwRGVsYXk6MjAwLGV4dGVuZE1hcmdpbjohMCxyZWN0Ont4OnQubWluLngseTp0Lm1pbi55LHc6TWF0aC5hYnModC5tYXgueC10Lm1pbi54KSxoOk1hdGguYWJzKHQubWF4LnktdC5taW4ueSl9fX1fc2V0QmFzZURhdGEoZSx0KXt0aGlzLl9pdGVtcy5sZW5ndGg9MCx0aGlzLl9iYXJTcGFjaW5nPXQ7Zm9yKGNvbnN0IHQgb2YgZSl7aWYoKDAsYS5pc05hTikodC55KSljb250aW51ZTtjb25zdCBlPXZvaWQgMD09PXQud2lkdGg/KDAsby5lbnN1cmVEZWZpbmVkKSh0aGlzLl93aWR0aCk6dC53aWR0aCxuPXZvaWQgMD09PXQuaGVpZ2h0PygwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5faGVpZ2h0KTp0LmhlaWdodCxpPXZvaWQgMD09PXQudmVydE9mZnNldD90aGlzLl92ZXJ0T2Zmc2V0OnQudmVydE9mZnNldCxyPWk+MD9uOi1uO3RoaXMuX2l0ZW1zLnB1c2goe3dpZHRoOmUsaGVpZ2h0Om4sdmVydE9mZnNldDppLHRleHRWZXJ0T2Zmc2V0OnIsc2hhcGVXaWR0aDowLHNoYXBlSGVpZ2h0OjAsc3RlcFg6MCxzdGVwWTowLC4uLnR9KX19X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K28rdC50ZXh0VmVydE9mZnNldDtsZXQgcztzPXQuc3R5bGUmJnZvaWQgMCE9PXQuc3R5bGUudGV4dENvbG9yP3Quc3R5bGUudGV4dENvbG9yOnRoaXMuX3RleHRDb2xvcjtjb25zdCBhPXtzdHlsZTp7ZmlsbFN0eWxlOnN9LGxvY2F0aW9uOnt4OmkseTpyLGhvcnpBbGlnbjpoLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOm8+MD9oLlZlcnRpY2FsQWxpZ24uVG9wOmguVmVydGljYWxBbGlnbi5Cb3R0b219fTtuLnBhaW50VG8oZSxhKX1fZHJhd1dpdGhPcHRpbWl6YXRpb25zKGUpe2xldCB0LG4saT1udWxsLG89ITE7Zm9yKGNvbnN0IHIgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikoci55KXx8KHIuc3R5bGUmJnZvaWQgMCE9PXIuc3R5bGUuY29sb3I/KHQ9ci5zdHlsZS5jb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiLG49ci5zdHlsZS5ib3JkZXJDb2xvcnx8InJnYmEoMCwgMCwgMCwgMCkiKToodD10aGlzLl9jb2xvcixuPXRoaXMuX2JvcmRlckNvbG9yKSwoaSE9PXR8fHguaXNTYWZhcmkpJiYoaT10LG8mJnRoaXMuX2VuZFBhdGgoZSksdGhpcy5fc3RhcnRQYXRoKGUsdCxuKSksdGhpcy5fZHJhd0l0ZW1TaGFwZShlLHIpLG89ITApO28mJnRoaXMuX2VuZFBhdGgoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5faXRlbXMpKDAsYS5pc05hTikodC55KXx8dGhpcy5fZHJhd0l0ZW1UZXh0KGUsdCl9X2RyYXdXaXRob3V0T3B0aW1pemF0aW9ucyhlKXtsZXQgdCxuO2Zvcihjb25zdCBpIG9mIHRoaXMuX2l0ZW1zKXtpZigoMCxhLmlzTmFOKShpLnkpKWNvbnRpbnVlO2NvbnN0IHI9KDAsby5lbnN1cmVEZWZpbmVkKShpLnN0eWxlKTt0PXIuY29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIixuPXIuYm9yZGVyQ29sb3J8fCJyZ2JhKDAsIDAsIDAsIDApIix0aGlzLl9zdGFydFBhdGgoZSx0LG4pLHRoaXMuX2RyYXdJdGVtU2hhcGUoZSxpKSx0aGlzLl9lbmRQYXRoKGUpLHRoaXMuX2RyYXdJdGVtVGV4dChlLGkpfX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lOygwLApnLmRyYXdTY2FsZWQpKG4saSxvLCgoKT0+dGhpcy5fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKG4sdCkpKX1fZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7fV9wcmVEcmF3SW5pdCgpe31fc3RhcnRQYXRoKGUsdCxuKXt9X2VuZFBhdGgoZSl7fV9nZXRUZXh0Q2FjaGUoZSl7Y29uc3QgdD1lLnRleHR8fHRoaXMuX3RleHQsbj1lLmZvbnRTaXplfHx0aGlzLl9mb250U2l6ZSxpPWUubGluZVNwYWNpbmc/P3RoaXMuX2xpbmVTcGFjaW5nLG89ZS50ZXh0QWxpZ258fHRoaXMuX3RleHRBbGlnbixyPWUuZm9udD8/ZC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLHM9ZS5ib2xkPz8hMSxhPWUuaXRhbGljPz8hMTtyZXR1cm4gdGhpcy5fdGV4dENhY2hlLmdldCh7dGV4dDp0LGJvbGQ6cyxpdGFsaWM6YSxmb250OnIsZm9udFNpemU6bixsaW5lU3BhY2luZzppLGFsaWduOm99KX19Y2xhc3MgXyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLnN0cm9rZVN0eWxlPXR9X2VuZFBhdGgoZSl7ZS5jb250ZXh0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcigyKmUuaG9yaXpvbnRhbFBpeGVsUmF0aW8pKX19Y2xhc3MgdyBleHRlbmRzIHV7X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSksaS5saW5lQ2FwPSJidXR0IixpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bn1fZW5kUGF0aChlKXtjb25zdCB0PWUuY29udGV4dDt0LmZpbGwoKSx0LnN0cm9rZSgpfV9saW5lV2lkdGgoZSl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5mbG9vcihlLmhvcml6b250YWxQaXhlbFJhdGlvKSl9fX0sNjUxOTY2KGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyQXJyb3dEb3duOigpPT5oLFBhbmVSZW5kZXJlckFycm93VXA6KCk9PmF9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSkscj1uKDY0MDc0NCk7Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3NpZ249MCx0aGlzLl90aGluQXJyb3c9ITEsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPTAsdGhpcy5faGVhZEhlaWdodD0wLHRoaXMuX2Fycm93V2lkdGg9MH1zZXRJdGVtcyhlLHQpe3RoaXMuX3NldEJhc2VEYXRhKGUsdCl9X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxzPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYT10aGlzLl9zaWduLGg9dGhpcy5fYXJyb3dXaWR0aCxsPXRoaXMuX2hlYWRIZWlnaHQsYz1NYXRoLmFicyh0LmhlaWdodCksZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZj10LnZlcnRPZmZzZXQsZz1NYXRoLnJvdW5kKCh0LnkrZithKmMvMikqbykrcyx4PSgwLHIuY2VpbGVkRXZlbikoaCppKSx1PXgvMixfPU1hdGgucm91bmQoYypvKSx3PU1hdGgucm91bmQobCpvKTtuLnRyYW5zbGF0ZShkLGcpLHRoaXMuX3RoaW5BcnJvdz8obi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygtdSwtdSphKSxuLm1vdmVUbygwLDApLG4ubGluZVRvKHUsLXUqYSksbi5tb3ZlVG8oMCwwKSxuLmxpbmVUbygwLC1fKmEpLG4ubW92ZVRvKC11LC1fKmEpLG4ubGluZVRvKHUsLV8qYSkpOihuLm1vdmVUbygwLDApLF88dz8obi5saW5lVG8oeCwtXyphKSxuLmxpbmVUbygteCwtXyphKSk6KG4ubGluZVRvKHgsLXcqYSksbi5saW5lVG8odSwtdyphKSxuLmxpbmVUbyh1LC1fKmEpLG4ubGluZVRvKC11LC1fKmEpLG4ubGluZVRvKC11LC13KmEpLG4ubGluZVRvKC14LC13KmEpKSxuLmxpbmVUbygwLDApKSxuLnRyYW5zbGF0ZSgtZCwtZyl9X3ByZURyYXdJbml0KCl7Y29uc3QgZT10aGlzLl9jYWxjdWxhdGVXaWR0aCgpO3RoaXMuX2Fycm93V2lkdGg9ZSx0aGlzLl9zaWduPXRoaXMuX2lzVXAoKT8tMToxLHRoaXMuX3RoaW5BcnJvdz1lPDQsdGhpcy5fdGhpbkFycm93TGluZVdpZHRoPU1hdGgubWF4KGUvMiwxKSx0aGlzLl9oZWFkSGVpZ2h0PU1hdGgucm91bmQoZSl9X3N0YXJ0UGF0aChlLHQsbil7Y29uc3QgaT1lLmNvbnRleHQ7aS5iZWdpblBhdGgoKSxpLmZpbGxTdHlsZT10LGkuc3Ryb2tlU3R5bGU9bixpLmxpbmVXaWR0aD10aGlzLl9saW5lV2lkdGgoZSl9X2xpbmVXaWR0aChlKXtyZXR1cm4gdGhpcy5fdGhpbkFycm93P3RoaXMuX3RoaW5BcnJvd0xpbmVXaWR0aDpzdXBlci5fbGluZVdpZHRoKGUpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLnZlcnRPZmZzZXQsbj10aGlzLl9zaWduLG89dGhpcy5fYXJyb3dXaWR0aCxyPXRoaXMuX2hlYWRIZWlnaHQscz1NYXRoLmFicyhlLmhlaWdodCksYT1lLmNlbnRlci1vLGg9YSsyKm8sbD1lLnkrdCtuKk1hdGgucm91bmQocy8yKSxjPWwrKC1zLXIpKm4sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9X2NhbGN1bGF0ZVdpZHRoKCl7cmV0dXJuIE1hdGgucm91bmQodGhpcy5fYmFyU3BhY2luZy80KX19Y2xhc3MgYSBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMH19Y2xhc3MgaCBleHRlbmRzIHN7X2lzVXAoKXtyZXR1cm4hMX19fSwzMzA4NjEoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZTooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjb25zdCByPTIqTWF0aC5QSTtjbGFzcyBzIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj1NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KS8yLGk9dC5jZW50ZXIsbz10LnZlcnRPZmZzZXQscz10LnkrbztlLm1vdmVUbyhpK24scyksCmUuYXJjKGkscyxuLDAsciwhMSl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PU1hdGgubWF4KGUud2lkdGgsZS5oZWlnaHQpLzIsbj1lLmNlbnRlcixvPWUudmVydE9mZnNldCxyPWUueStvLHM9bi10LGE9bit0LGg9ci10LGw9cit0LGM9bmV3IGkuUG9pbnQocyxoKSxkPW5ldyBpLlBvaW50KGEsbCk7bGV0IGY9KDAsaS5ib3gpKGMsZCk7Y29uc3QgZz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBnJiYoZj10aGlzLl91bmlvbkJveChmLGcpKSxmfX19LDMwMjQ2OShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckNyb3NzU2hhcGU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9dC5jZW50ZXItci8yLGg9dC52ZXJ0T2Zmc2V0LGw9dC55LXMvMitoLGM9dGhpcy5fbGluZVdpZHRoKGUpLGQ9YyUyPy41OjAsZj1NYXRoLnJvdW5kKGEqaSk7bGV0IGc9TWF0aC5yb3VuZCgoYStyKSppKTsoZy1mKSUyIT1jJTImJihnKz0xKTtjb25zdCB4PU1hdGguZmxvb3IoKGYrZykvMikrZCx1PU1hdGgucm91bmQobCpvKTtsZXQgXz1NYXRoLnJvdW5kKChsK3MpKm8pOyhfLXUpJTIhPWMlMiYmKF8rPTEpO2NvbnN0IHc9TWF0aC5mbG9vcigodStfKS8yKStkO24ubW92ZVRvKHgsdSksbi5saW5lVG8oeCxfKSxuLm1vdmVUbyhmLHcpLG4ubGluZVRvKGcsdyl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPWUuY2VudGVyLXQvMixyPWUudmVydE9mZnNldCxzPWUueS1uLzIrcixhPW8saD1vK3QsbD1zLGM9cytuLGQ9bmV3IGkuUG9pbnQoYSxsKSxmPW5ldyBpLlBvaW50KGgsYyk7bGV0IGc9KDAsaS5ib3gpKGQsZik7Y29uc3QgeD1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiB4JiYoZz10aGlzLl91bmlvbkJveChnLHgpKSxnfX19LDc0NzQ2NShlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckRpYW1vbmQ6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGVVc2luZ0NTU1BpeGVscyhlLHQpe2NvbnN0IG49TWF0aC5yb3VuZCh0LmhlaWdodC8yKSxpPXQuY2VudGVyLG89dC52ZXJ0T2Zmc2V0LHI9dC55K287ZS5tb3ZlVG8oaSxyLW4pLGUubGluZVRvKGkrbixyKSxlLmxpbmVUbyhpLHIrbiksZS5saW5lVG8oaS1uLHIpLGUubGluZVRvKGksci1uKX1fY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9TWF0aC5yb3VuZChlLmhlaWdodC8yKSxuPWUuY2VudGVyLG89ZS52ZXJ0T2Zmc2V0LHI9ZS55K28scz1uLXQsYT1uK3QsaD1yLXQsbD1yK3QsYz1uZXcgaS5Qb2ludChzLGgpLGQ9bmV3IGkuUG9pbnQoYSxsKTtsZXQgZj0oMCxpLmJveCkoYyxkKTtjb25zdCBnPXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIGcmJihmPXRoaXMuX3VuaW9uQm94KGYsZykpLGZ9fX0sNTQ0MjQzKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyRmxhZ1NoYXBlOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NzQxMzUpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckFic3RyYWN0RmlsbFN0cm9rZVNoYXBle19kcmF3SXRlbVNoYXBlVXNpbmdDU1NQaXhlbHMoZSx0KXtjb25zdCBuPXQud2lkdGgsaT10LmhlaWdodCxvPWkvMixyPShuLTMpLzMscz10LmNlbnRlci1uLzIsYT10LnZlcnRPZmZzZXQsaD10LnktbythO2UubW92ZVRvKHMsaCksZS5saW5lVG8ocyszLGgpLGUuYmV6aWVyQ3VydmVUbyhzK3IsaC1yLHMrMipyLGgrcixzK24saCksZS5saW5lVG8ocytuLGgrbyksZS5iZXppZXJDdXJ2ZVRvKHMrbi1yLGgrbytyLHMrbi0yKnIsaCtvLXIscyszLGgrbyksZS5saW5lVG8ocyszLGgraSksZS5saW5lVG8ocyxoK2kpLGUubGluZVRvKHMsaCl9X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUud2lkdGgsbj1lLmhlaWdodCxvPW4vMixyPWUuY2VudGVyLXQvMixzPWUudmVydE9mZnNldCxhPWUueS1vK3MsaD1yLGw9cit0LGM9YSxkPWErbixmPW5ldyBpLlBvaW50KGgsYyksZz1uZXcgaS5Qb2ludChsLGQpO2xldCB4PSgwLGkuYm94KShmLGcpO2NvbnN0IHU9c3VwZXIuX2NhbGNCb3VuZGluZ0JveChlKTtyZXR1cm4gdSYmKHg9dGhpcy5fdW5pb25Cb3goeCx1KSkseH19fSw4NDY1MjkoZSx0LG4pe24uZCh0LHtDb3JuZXJWZWN0b3JzQ2xvY2t3aXNlOigpPT5pLFBhbmVSZW5kZXJlckxhYmVsQmFzZTooKT0+YX0pO3ZhciBpLG89bigxMzg2MzgpLHI9big4ODQyOCkscz1uKDg3NDEzNSk7Y2xhc3MgYSBleHRlbmRzIHMuUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7c2V0SXRlbXMoZSx0KXt0aGlzLl9zZXRCYXNlRGF0YShlLHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX2l0ZW1zKXtpZihlLmZvbnRTaXplKXtjb25zdCB0PWUuZm9udFNpemU7ZS5zdGVwWD1NYXRoLnJvdW5kKHQvMS41KSxlLnN0ZXBZPU1hdGgucm91bmQodC8yKS0xfWVsc2V7Y29uc3QgdD1lLmhlaWdodDtlLnN0ZXBYPU1hdGgucm91bmQodC8yKi42NSkrLjUsZS5zdGVwWT1lLnN0ZXBYfWUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKTtjb25zdCB0PXRoaXMuX2dldFRleHRDYWNoZShlKTtpZihudWxsPT09dCl7ZS5zaGFwZVdpZHRoPTIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PTIuNSplLnN0ZXBZO2NvbnRpbnVlfWNvbnN0IG49dC50ZXh0SW1hZ2VXaWR0aCxpPXQudGV4dEltYWdlSGVpZ2h0O2Uuc2hhcGVXaWR0aD1uKzIqZS5zdGVwWCxlLnNoYXBlSGVpZ2h0PWkrMiplLnN0ZXBZLGUudmVydE9mZnNldD10aGlzLl9jYWxjVmVydE9mZnNldChlKSxlLnRleHRIb3Jpek9mZnNldD10aGlzLl9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKSxlLnRleHRWZXJ0T2Zmc2V0PXRoaXMuX2dldFZlcnRpY2FsVGV4dE9mZnNldChlKX19Cl9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gZS52ZXJ0T2Zmc2V0fV9kcmF3Q29ybmVyKGUsdCxuLGkpe2NvbnN0e2NvbnRleHQ6byxob3Jpem9udGFsUGl4ZWxSYXRpbzpyfT1lLHM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKDIqcikpO28ubGluZVRvKHQtcyppLnByZXZQb2ludFNpZ25YLG4tcyppLnByZXZQb2ludFNpZ25ZKSxvLmFyY1RvKHQsbix0K3MqaS5uZXh0UG9pbnRTaWduWCxuK3MqaS5uZXh0UG9pbnRTaWduWSxzKX1fZ2V0QXJyb3dTaXplKGUpe3JldHVybiBlLnN0ZXBYfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gMH1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybiAwfV9oYXNUZXh0KGUpe3JldHVybiBCb29sZWFuKGUudGV4dCl8fEJvb2xlYW4odGhpcy5fdGV4dCl9X2RyYXdJdGVtVGV4dChlLHQpe2NvbnN0IG49dGhpcy5fZ2V0VGV4dENhY2hlKHQpO2lmKG51bGw9PT1uKXJldHVybjtjb25zdCBpPXQudGV4dEhvcml6T2Zmc2V0fHwwLHM9dC5jZW50ZXIraSxhPXQudmVydE9mZnNldCxoPXQueSthK3QudGV4dFZlcnRPZmZzZXQsbD10LnN0eWxlPy50ZXh0Q29sb3J8fHRoaXMuX3RleHRDb2xvcixjPXtzdHlsZTp7ZmlsbFN0eWxlOigwLG8uZW5zdXJlRGVmaW5lZCkobCl9LGxvY2F0aW9uOnt4OnMseTpNYXRoLmZsb29yKGgpLGhvcnpBbGlnbjpyLkhvcml6b250YWxBbGlnbi5DZW50ZXIsdmVydEFsaWduOnIuVmVydGljYWxBbGlnbi5NaWRkbGV9fTtuLnBhaW50VG8oZSxjKX19Y2xhc3MgaHtjb25zdHJ1Y3RvcihlLHQsbixpKXt0aGlzLnByZXZQb2ludFNpZ25YPWUsdGhpcy5wcmV2UG9pbnRTaWduWT10LHRoaXMubmV4dFBvaW50U2lnblg9bix0aGlzLm5leHRQb2ludFNpZ25ZPWl9fSFmdW5jdGlvbihlKXtlLnJpZ2h0VXA9bmV3IGgoMSwwLDAsMSksZS5yaWdodERvd249bmV3IGgoMCwxLC0xLDApLGUubGVmdERvd249bmV3IGgoLTEsMCwwLC0xKSxlLmxlZnRVcD1uZXcgaCgwLC0xLDEsMCl9KGl8fChpPXt9KSl9LDE2ODQ4NyhlLHQsbil7bi5kKHQse1BhbmVSZW5kZXJlckxhYmVsQ2VudGVyOigpPT5sLFBhbmVSZW5kZXJlckxhYmVsRG93bjooKT0+cyxQYW5lUmVuZGVyZXJMYWJlbExlZnQ6KCk9PmEsUGFuZVJlbmRlcmVyTGFiZWxSaWdodDooKT0+aCxQYW5lUmVuZGVyZXJMYWJlbFVwOigpPT5yfSk7dmFyIGk9big3MzY1MzEpLG89big4NDY1MjkpO2NsYXNzIHIgZXh0ZW5kcyBvLlBhbmVSZW5kZXJlckxhYmVsQmFzZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS5jZW50ZXItZS5zaGFwZVdpZHRoLzIsbj1lLmNlbnRlcitlLnNoYXBlV2lkdGgvMixvPWUueStlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodCtlLnZlcnRPZmZzZXQscz1uZXcgaS5Qb2ludCh0LG8pLGE9bmV3IGkuUG9pbnQobixyKTtyZXR1cm4oMCxpLmJveCkocyxhKX1fZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpyfT1lLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MCxhPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLGg9dGhpcy5fZ2V0QXJyb3dTaXplKHQpO2xldCBsPU1hdGgucm91bmQoaCppKTsoYStsKSUxIT1zJTEmJihsKz0uNSk7bGV0IGM9TWF0aC5yb3VuZCh0LnNoYXBlV2lkdGgvMippKTsoYStjKSUxIT1zJTEmJihjKz0uNSk7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZC1sLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoKSpyKStzLHU9ZCtsLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtoK3Quc2hhcGVIZWlnaHQpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKF8seCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUscCx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93biksbi5saW5lVG8ocCx4KSk6KHRoaXMuX2RyYXdDb3JuZXIoZSxfLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHgsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCkpLG4ubGluZVRvKGcseCl9X2dldFZlcnRpY2FsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZUhlaWdodC8yK3RoaXMuX2dldEFycm93U2l6ZShlKX1fY2FsY1ZlcnRPZmZzZXQoZSl7cmV0dXJuIE1hdGguc2lnbihlLnZlcnRPZmZzZXQpPj0wP2UudmVydE9mZnNldDplLnZlcnRPZmZzZXQtZS5zaGFwZUhlaWdodH19Y2xhc3MgcyBleHRlbmRzIG8uUGFuZVJlbmRlcmVyTGFiZWxCYXNle19jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQrZS52ZXJ0T2Zmc2V0LHI9ZS55K2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSUyPy41OjAsaD10aGlzLl9nZXRBcnJvd1NpemUodCk7bGV0IGw9TWF0aC5yb3VuZChoKmkpOyhhK2wpJTEhPXMlMSYmKGwrPS41KTtsZXQgYz1NYXRoLnJvdW5kKHQuc2hhcGVXaWR0aC8yKmkpOyhhK2MpJTEhPXMlMSYmKGMrPS41KQo7Y29uc3QgZD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2EsZj1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGc9ZCtsLHg9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC1oKSpyKStzLHU9ZC1sLF89ZCtjLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldC10LnNoYXBlSGVpZ2h0LWgpKnIpK3MscD1kLWM7bi5tb3ZlVG8oZyx4KSxuLmxpbmVUbyhkLGYpLG4ubGluZVRvKHUseCksdC5zaGFwZVdpZHRoPD0yKmg/KG4ubGluZVRvKHAseCksdGhpcy5fZHJhd0Nvcm5lcihlLHAsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5yaWdodFVwKSxuLmxpbmVUbyhfLHgpKToodGhpcy5fZHJhd0Nvcm5lcihlLHAseCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxwLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8sdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCksdGhpcy5fZHJhd0Nvcm5lcihlLF8seCxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKSksbi5saW5lVG8oZyx4KX1fZ2V0VmVydGljYWxUZXh0T2Zmc2V0KGUpe3JldHVybi1lLnNoYXBlSGVpZ2h0LzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfV9jYWxjVmVydE9mZnNldChlKXtyZXR1cm4gTWF0aC5zaWduKGUudmVydE9mZnNldCk8PTA/ZS52ZXJ0T2Zmc2V0OmUudmVydE9mZnNldCtlLnNoYXBlSGVpZ2h0fX1jbGFzcyBhIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLG49ZS5jZW50ZXIrZS5zaGFwZVdpZHRoLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXIrYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyK3Quc2hhcGVXaWR0aCthKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdFVwKTpuLmxpbmVUbyhmLHUpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHUsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksaD90aGlzLl9kcmF3Q29ybmVyKGUsZix3LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0RG93bik6bi5saW5lVG8oZix3KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4gZS5zaGFwZVdpZHRoLzIrdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBoIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXtjb25zdCB0PWUuY2VudGVyLWUuc2hhcGVXaWR0aCxuPWUuY2VudGVyLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dGhpcy5fZ2V0QXJyb3dTaXplKHQpLGg9dGhpcy5faGFzVGV4dCh0KSxsPWg/dC5zaGFwZUhlaWdodC8yOmEsYz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsZD1NYXRoLnJvdW5kKCh0LnkrdC52ZXJ0T2Zmc2V0KSpyKStzLGY9TWF0aC5yb3VuZCgodC5jZW50ZXItYSkqaSkrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyx4PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcyx1PU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtbCkqcikrcyxfPU1hdGgucm91bmQoKHQuY2VudGVyLXQuc2hhcGVXaWR0aC1hKSppKStzLHc9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCtsKSpyKStzO24ubW92ZVRvKGYsZyksbi5saW5lVG8oYyxkKSxuLmxpbmVUbyhmLHgpLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHREb3duKTpuLmxpbmVUbyhmLHcpLHRoaXMuX2RyYXdDb3JuZXIoZSxfLHcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnREb3duKSx0aGlzLl9kcmF3Q29ybmVyKGUsXyx1LG8uQ29ybmVyVmVjdG9yc0Nsb2Nrd2lzZS5sZWZ0VXApLGg/dGhpcy5fZHJhd0Nvcm5lcihlLGYsdSxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UucmlnaHRVcCk6bi5saW5lVG8oZix1KSxuLmxpbmVUbyhmLGcpfV9nZXRIb3Jpem9udGFsVGV4dE9mZnNldChlKXtyZXR1cm4tZS5zaGFwZVdpZHRoLzItdGhpcy5fZ2V0QXJyb3dTaXplKGUpfX1jbGFzcyBsIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJMYWJlbEJhc2V7X2NhbGNCb3VuZGluZ0JveChlKXsKY29uc3QgdD1lLmNlbnRlci1lLnNoYXBlV2lkdGgvMixuPWUuY2VudGVyK2Uuc2hhcGVXaWR0aC8yLG89ZS55LWUuc2hhcGVIZWlnaHQvMitlLnZlcnRPZmZzZXQscj1lLnkrZS5zaGFwZUhlaWdodC8yK2UudmVydE9mZnNldCxzPW5ldyBpLlBvaW50KHQsbyksYT1uZXcgaS5Qb2ludChuLHIpO3JldHVybigwLGkuYm94KShzLGEpfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3R7Y29udGV4dDpuLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOnJ9PWUscz10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGE9dC5zaGFwZUhlaWdodC8yLGg9dC5zaGFwZVdpZHRoLzIsbD1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK3MsYz1NYXRoLnJvdW5kKCh0LmNlbnRlci1oKSppKStzLGQ9TWF0aC5yb3VuZCgodC5jZW50ZXIraCkqaSkrcyxmPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQtYSkqcikrcyxnPU1hdGgucm91bmQoKHQueSt0LnZlcnRPZmZzZXQrYSkqcikrcztuLm1vdmVUbyhsLGYpLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0VXApLHRoaXMuX2RyYXdDb3JuZXIoZSxkLGcsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLnJpZ2h0RG93biksdGhpcy5fZHJhd0Nvcm5lcihlLGMsZyxvLkNvcm5lclZlY3RvcnNDbG9ja3dpc2UubGVmdERvd24pLHRoaXMuX2RyYXdDb3JuZXIoZSxjLGYsby5Db3JuZXJWZWN0b3JzQ2xvY2t3aXNlLmxlZnRVcCksbi5saW5lVG8obCxmKX19fSw0MDc1ODQoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJTcXVhcmU6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RGaWxsU3Ryb2tlU2hhcGV7X2RyYXdJdGVtU2hhcGUoZSx0KXtjb25zdHtjb250ZXh0Om4saG9yaXpvbnRhbFBpeGVsUmF0aW86aSx2ZXJ0aWNhbFBpeGVsUmF0aW86b309ZSxyPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMj8uNTowLHM9dGhpcy5fbGluZVdpZHRoKGUpJTI/LjU6MDtsZXQgYT1NYXRoLnJvdW5kKHQuaGVpZ2h0LzIqbyk7KHIrYSklMSE9cyUxJiYoYSs9LjUpO2NvbnN0IGg9TWF0aC5yb3VuZCh0LmNlbnRlcippKStyLGw9TWF0aC5yb3VuZCgodC55K3QudmVydE9mZnNldCkqbykrcixjPWgtYSxkPWwtYSxmPWgrYSxnPWwrYTtuLnJlY3QoYyxkLGYtYyxnLWQpfV9jYWxjQm91bmRpbmdCb3goZSl7Y29uc3QgdD1lLmhlaWdodCxuPU1hdGgucm91bmQodC8yKSxvPWUuY2VudGVyLW4scj1lLnZlcnRPZmZzZXQscz1lLnkrci1uLGE9byxoPW8rdCxsPXMsYz1zK3QsZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX0sMTE4NzUyKGUsdCxuKXtuLmQodCx7UGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bjooKT0+YSxQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcDooKT0+c30pO3ZhciBpPW4oNzM2NTMxKSxvPW4oODc0MTM1KTtjbGFzcyByIGV4dGVuZHMgby5QYW5lUmVuZGVyZXJBYnN0cmFjdEZpbGxTdHJva2VTaGFwZXtfY2FsY0JvdW5kaW5nQm94KGUpe2NvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89dC8yLHI9TWF0aC5yb3VuZChuLzMpLHM9ZS5jZW50ZXIsYT1lLnZlcnRPZmZzZXQtMipyLGg9ZS55K2EsbD1zLW8sYz1zK28sZD1oLGY9aCtuLGc9bmV3IGkuUG9pbnQobCxkKSx4PW5ldyBpLlBvaW50KGMsZik7bGV0IHU9KDAsaS5ib3gpKGcseCk7Y29uc3QgXz1zdXBlci5fY2FsY0JvdW5kaW5nQm94KGUpO3JldHVybiBfJiYodT10aGlzLl91bmlvbkJveCh1LF8pKSx1fX1jbGFzcyBzIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LTIqYSxsPXRoaXMuX2xpbmVXaWR0aChlKSUyPy41OjAsYz1NYXRoLm1heCgxLE1hdGguZmxvb3IoaSkpLGQ9YyUyPy41OjA7bGV0IGY9TWF0aC5yb3VuZChyKmkpO2YlMiE9YyUyJiYoZis9MSk7Y29uc3QgZz1NYXRoLnJvdW5kKHQuY2VudGVyKmkpK2QseD1NYXRoLnJvdW5kKCh0LnkraCkqbyksdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pK2wsdz1nLWYvMjtuLm1vdmVUbyhnLHgpLG4ubGluZVRvKHUsXyksbi5saW5lVG8odyxfKSxuLmxpbmVUbyhnLHgpfX1jbGFzcyBhIGV4dGVuZHMgcntfZHJhd0l0ZW1TaGFwZShlLHQpe2NvbnN0e2NvbnRleHQ6bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLHZlcnRpY2FsUGl4ZWxSYXRpbzpvfT1lLHI9dC53aWR0aCxzPXQuaGVpZ2h0LGE9TWF0aC5yb3VuZChzLzMpLGg9dC52ZXJ0T2Zmc2V0LWEsbD10aGlzLl9saW5lV2lkdGgoZSklMj8uNTowLGM9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGkpKSxkPWMlMj8uNTowO2xldCBmPU1hdGgucm91bmQocippKTtmJTIhPWMlMiYmKGYrPTEpO2NvbnN0IGc9TWF0aC5yb3VuZCh0LmNlbnRlcippKStkLHg9TWF0aC5yb3VuZCgodC55K2gpKm8pK2wsdT1nK2YvMixfPU1hdGgucm91bmQoKHQueStoK3MpKm8pLHc9Zy1mLzI7bi5tb3ZlVG8odyx4KSxuLmxpbmVUbyh1LHgpLG4ubGluZVRvKGcsXyksbi5saW5lVG8odyx4KX19fSwzNjMzMjYoZSx0LG4pe24uZCh0LHtQYW5lUmVuZGVyZXJYQ3Jvc3M6KCk9PnJ9KTt2YXIgaT1uKDczNjUzMSksbz1uKDg3NDEzNSk7Y2xhc3MgciBleHRlbmRzIG8uUGFuZVJlbmRlcmVyQWJzdHJhY3RTdHJva2VTaGFwZXtfZHJhd0l0ZW1TaGFwZVVzaW5nQ1NTUGl4ZWxzKGUsdCl7Y29uc3Qgbj10LndpZHRoLGk9dC5oZWlnaHQsbz10LmNlbnRlci1uLzIscj10LnZlcnRPZmZzZXQscz10LnktaS8yK3I7ZS5tb3ZlVG8obyxzKSxlLmxpbmVUbyhvK24scytpKSxlLm1vdmVUbyhvLHMraSksZS5saW5lVG8obytuLHMpfV9jYWxjQm91bmRpbmdCb3goZSl7CmNvbnN0IHQ9ZS53aWR0aCxuPWUuaGVpZ2h0LG89ZS5jZW50ZXItdC8yLHI9ZS52ZXJ0T2Zmc2V0LHM9ZS55LW4vMityLGE9byxoPW8rdCxsPXMsYz1zK24sZD1uZXcgaS5Qb2ludChhLGwpLGY9bmV3IGkuUG9pbnQoaCxjKTtsZXQgZz0oMCxpLmJveCkoZCxmKTtjb25zdCB4PXN1cGVyLl9jYWxjQm91bmRpbmdCb3goZSk7cmV0dXJuIHgmJihnPXRoaXMuX3VuaW9uQm94KGcseCkpLGd9fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/27517.7361374dee2b52fd1f8e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.792Z","timestamp":1785136429792,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/27517.7361374dee2b52fd1f8e.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3cc6da-496\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 25 Jun 2026 06:12:42 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 87f4107e956b66bf2b9cf8cb8261da50\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/css/animate.css","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.837Z","timestamp":1785136421837,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/css/animate.css HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4005\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":70839,"size_decoded":4390,"mime_type":"text/css","magic":"ASCII text","md5":"675a636b45a184cf2e40b08773f670bb","sha1":"274e7c5bafa5f49ae2998d7cede51712fc76aaff","sha256":"2cf08b89a9ffda658e6361eb3cd6859f3a3e9e45ce2fe6ea56811ceb66ad37d1","sha512":"71d39e8737ba667380923afec7360b41b937c91432935d5c1c09a51faebacde442170a12aad6484e8b81abb0a1e1119571ac99efe7cf4a510278f855f7629be3","ssdeep":"384:xaHuaubH2fqftulucfwf7l3laGPGF+1fHf7SpS/fjfHqDxbe3NxdV2PVrib:MHuauqfqftulucfwfk+1fHf7SpS/fjfp","tlshash":"31631f6d2991118457238a5d83df9e68273ce573182a9cef73c2488bdf86fac67c5207","first_seen":"2025-12-03T04:46:43.742858Z","last_seen":"2026-07-29T06:14:00.370124Z","times_seen":11,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKCi8qIQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUKVmVyc2lvbiAtIDMuNC4wCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKCkNvcHlyaWdodCAoYykgMjAxNSBEYW5pZWwgRWRlbgpWaXN1YWxIeWlwLmNvbQoqLwoKLmFuaW1hdGVkIHsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7CiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsKfQoKLmFuaW1hdGVkLmluZmluaXRlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwp9CgouYW5pbWF0ZWQuaGluZ2UgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsKICBhbmltYXRpb24tZHVyYXRpb246IDJzOwp9CgouYW5pbWF0ZWQuYm91bmNlSW4sCi5hbmltYXRlZC5ib3VuY2VPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsKfQoKLmFuaW1hdGVkLmZsaXBPdXRYLAouYW5pbWF0ZWQuZmxpcE91dFkgewogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjc1czsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7CiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsKICB9CgogIDQwJSwgNDMlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZSB7CiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsKICB9CgogIDQwJSwgNDMlIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7CiAgfQoKICA3MCUgewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7CiAgfQp9CgouYm91bmNlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsKICBmcm9tLCA1MCUsIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICAyNSUsIDc1JSB7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGFzaCB7CiAgZnJvbSwgNTAlLCB0byB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgMjUlLCA3NSUgewogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5mbGFzaCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7CiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOwp9CgovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8KCkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyBwdWxzZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKLnB1bHNlIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsKICBhbmltYXRpb24tbmFtZTogcHVsc2U7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOwogIH0KCiAgNTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOwogIH0KCiAgNjUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsKICB9CgogIDY1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7CiAgfQp9CgoucnViYmVyQmFuZCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsKICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHsKICBmcm9tLCB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNoYWtlIHsKICBmcm9tLCB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQp9Cgouc2hha2UgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlOwogIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsKICB9Cn0KCkBrZXlmcmFtZXMgc3dpbmcgewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOwogIH0KfQoKLnN3aW5nIHsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsKICBhbmltYXRpb24tbmFtZTogc3dpbmc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMTAlLCAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB0YWRhIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KCiAgMTAlLCAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIDMwJSwgNTAlLCA3MCUsIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQwJSwgNjAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKLnRhZGEgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7CiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9CgogIDE1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7CiAgfQoKICA0NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgd29iYmxlIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KCiAgMTUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsKICB9CgogIDQ1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLndvYmJsZSB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlOwogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7CiAgZnJvbSwgMTEuMSUsIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KCiAgMjIuMiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7CiAgfQoKICAzMy4zJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOwogIH0KCiAgNDQuNCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOwogIH0KCiAgNTUuNSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOwogIH0KCiAgNjYuNiUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7CiAgfQoKICA3Ny43JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsKICB9CgogIDg4LjglIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGplbGxvIHsKICBmcm9tLCAxMS4xJSwgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQoKICAyMi4yJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsKICB9CgogIDMzLjMlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7CiAgfQoKICA0NC40JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7CiAgfQoKICA1NS41JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7CiAgfQoKICA2Ni42JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsKICB9CgogIDc3LjclIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOwogIH0KCiAgODguOCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsKICB9Cn0KCi5qZWxsbyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87CiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvOwogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHsKICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQoKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJbiB7CiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsKICB9Cn0KCi5ib3VuY2VJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIDAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLmJvdW5jZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgewogIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICAwJSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgMCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouYm91bmNlSW5MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQgewogIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgfQoKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOwogIH0KCiAgNzUlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgfQoKICA5MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsKICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogIH0KCiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTsKICB9CgogIDc1JSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOwogIH0KCiAgOTAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5ib3VuY2VJblJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7CiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8gewogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsKICB9CgogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICA3NSUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDkwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCi5ib3VuY2VJblVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7CiAgfQoKICA1MCUsIDU1JSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dCB7CiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOwogIH0KCiAgNTAlLCA1NSUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KfQoKLmJvdW5jZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0OwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsKICAyMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsKICB9CgogIDQwJSwgNDUlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOwogIH0KCiAgNDAlLCA0NSUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICB9Cn0KCi5ib3VuY2VPdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7CiAgMjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgewogIDIwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogIH0KfQoKLmJvdW5jZU91dExlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7CiAgMjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsKICAyMCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICB9Cn0KCi5ib3VuY2VPdXRSaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAgewogIDIwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgfQoKICA0MCUsIDQ1JSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7CiAgMjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsKICB9CgogIDQwJSwgNDUlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgfQp9CgouYm91bmNlT3V0VXAgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLmZhZGVJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5Eb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5Eb3duQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluTGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsKICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluTGVmdEJpZyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluUmlnaHRCaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICB9Cn0KCi5mYWRlSW5VcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgouZmFkZUluVXBCaWcgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgpAa2V5ZnJhbWVzIGZhZGVPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouZmFkZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dERvd24gewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogIH0KfQoKLmZhZGVPdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogIH0KfQoKLmZhZGVPdXREb3duQmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dExlZnQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQp9CgouZmFkZU91dExlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogIH0KfQoKLmZhZGVPdXRMZWZ0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsKICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKLmZhZGVPdXRSaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgfQp9CgouZmFkZU91dFJpZ2h0QmlnIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7CiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9Cn0KCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogIH0KfQoKLmZhZGVPdXRVcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOwogIH0KfQoKLmZhZGVPdXRVcEJpZyB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOwogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDQwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKICB9CgogIDUwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KfQoKLmFuaW1hdGVkLmZsaXAgewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlOwogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7CiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwSW5YIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICA0MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgfQoKICA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KfQoKLmZsaXBJblggewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwogIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcEluWSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIDgwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9Cn0KCi5mbGlwSW5ZIHsKICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsKICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICB9CgogIDMwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgZmxpcE91dFggewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLmZsaXBPdXRYIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsKICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogIH0KCiAgMzAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBmbGlwT3V0WSB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7CiAgfQoKICAzMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpOwogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouZmxpcE91dFkgewogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsKICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIDYwJSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpOwogICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7CiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgoubGlnaHRTcGVlZEluIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47CiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsKICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5saWdodFNwZWVkT3V0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0OwogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0OwogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbiB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Cgoucm90YXRlSW4gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCi5yb3RhdGVJbkRvd25MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluRG93blJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBvcGFjaXR5OiAxOwogIH0KfQoKLnJvdGF0ZUluVXBMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsKICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgb3BhY2l0eTogMTsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIHRyYW5zZm9ybTogbm9uZTsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Cgoucm90YXRlSW5VcFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0RG93bkxlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKLnJvdGF0ZU91dERvd25SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgoucm90YXRlT3V0VXBMZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpOwogICAgb3BhY2l0eTogMDsKICB9Cn0KCi5yb3RhdGVPdXRVcFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2UgewogIDAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDIwJSwgNjAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICB9CgogIDQwJSwgODAlIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7CiAgICBvcGFjaXR5OiAwOwogIH0KfQoKQGtleWZyYW1lcyBoaW5nZSB7CiAgMCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KCiAgMjAlLCA2MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogIH0KCiAgNDAlLCA4MCUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OwogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsKICAgIG9wYWNpdHk6IDA7CiAgfQp9CgouaGluZ2UgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOwogIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTsKfQoKLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovCgpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgfQp9CgpAa2V5ZnJhbWVzIHJvbGxJbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogIH0KfQoKLnJvbGxJbiB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOwogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47Cn0KCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgewogIGZyb20gewogICAgb3BhY2l0eTogMTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsKICB9Cn0KCkBrZXlmcmFtZXMgcm9sbE91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOwogIH0KfQoKLnJvbGxPdXQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7CiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4gewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgNTAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21JbiB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KCi56b29tSW4gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsKICBhbmltYXRpb24tbmFtZTogem9vbUluOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5Eb3duIHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICA2MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9Cgouem9vbUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjsKICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgewogIGZyb20gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgNjAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JbkxlZnQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5SaWdodCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JblJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsKICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKQGtleWZyYW1lcyB6b29tSW5VcCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICB9CgogIDYwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21JblVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsKICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsKICBmcm9tIHsKICAgIG9wYWNpdHk6IDE7CiAgfQoKICA1MCUgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dCB7CiAgZnJvbSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgfQp9Cgouem9vbU91dCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsKICBhbmltYXRpb24tbmFtZTogem9vbU91dDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsKICB9Cn0KCkBrZXlmcmFtZXMgem9vbU91dERvd24gewogIDQwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOwogIH0KfQoKLnpvb21PdXREb3duIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247Cn0KCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOwogIH0KCiAgdG8gewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICB9Cn0KCi56b29tT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Owp9CgpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHsKICA0MCUgewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogIH0KfQoKQGtleWZyYW1lcyB6b29tT3V0UmlnaHQgewogIDQwJSB7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOwogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsKICB9CgogIHRvIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgfQp9Cgouem9vbU91dFJpZ2h0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9CgpAa2V5ZnJhbWVzIHpvb21PdXRVcCB7CiAgNDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsKICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7CiAgfQoKICB0byB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7CiAgfQp9Cgouem9vbU91dFVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7CiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluRG93biB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogIH0KCiAgdG8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9Cn0KCi5zbGlkZUluRG93biB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICB9CgogIHRvIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5MZWZ0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsKICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5SaWdodCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZUluVXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgfQoKICB0byB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KfQoKLnNsaWRlSW5VcCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24gewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsKICB9Cn0KCi5zbGlkZU91dERvd24gewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsKICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7CiAgZnJvbSB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogIH0KCiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOwogIH0KfQoKLnNsaWRlT3V0TGVmdCB7CiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0OwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOwogIH0KfQoKLnNsaWRlT3V0UmlnaHQgewogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7CiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsKICBmcm9tIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7CiAgfQoKICB0byB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgfQp9CgpAa2V5ZnJhbWVzIHNsaWRlT3V0VXAgewogIGZyb20gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICB9CgogIHRvIHsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsKICB9Cn0KCi5zbGlkZU91dFVwIHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOwogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOwp9"}},"time_used":189,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":189,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/tZOSQBP946Q","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.155.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.370Z","timestamp":1785136427370,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/tZOSQBP946Q HTTP/1.1\r\nHost: www.youtube.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\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\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce-0TEEeZRwVaJJuJ0jDLf0NQ' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=aD3m6fl8loCm1FAFz2MOGOCapOhuw-zLXADgIY2fiS_0qCVS9D6GAEXn92hwQ88WGQ5N_HsdSsdVOwzC8eQOlJYCz_2iunFd_ZqnZEj8PgvYsKogBqMU-2gppL6GZnlPol0oRVEZGvldT6Fgk7cr9cOl8YDGZyTUyHy1RexF_vfpEtCPx7X_8qaG7TYl6GDL2qH29pQtFVevotBMv75qDTL5yFsg_piRbPKVaNlXd8telSl8QcVpWFRNmw-N9nPHC8UJqq51DkqOXBFlzyCVuzazt-FJHVwNB3COKE6QbYh0nAObMHXQfgZrAgl_zSQFtiftBo1PvEZbDHAYlW8MVw; expires=Sat, 23-Jan-2027 07:13:47 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=seM8HdZ9Ato; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CMvKyObC0on9ZRDel4e1p_KVAxjel4e1p_KVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 07:13:47 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 07:13:47 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=-NYM_ljp5ZA; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:13:47 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgHg%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 07:13:47 GMT; Path=/; Secure; HttpOnly; SameSite=none\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]}],"data":{"size":141252,"size_decoded":59879,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52140)","md5":"48c91950a52ff06c6fcbb774cc7524a6","sha1":"f0fb26e18bdfcc3d80c990656a2a859c1d5c3e10","sha256":"04977e570b8d24ac34117b77cee30f1ced44fccce33ac0baf39df9488cc2ef9b","sha512":"db7b6ad98e50eac30b59184c37dc8b5ebe16aabf0a7337f61e4e53b8a15df677cd210f0df8a40ba3c24a040345d94a6bf2a7bf6971c24a2eb5ee4ebce8cc9a8e","ssdeep":"1536:hVQqcjMFbYVM6bBTzhcAwo43UEwg+0/HgiOTZ4XeSu1/OZwceW:AXj2YJfw0Ewg+0Pp44OSu8X","tlshash":"1ad31b250868a876c993d447eebaff3e9cf801394789956dbcbb935c05eca110daf413","first_seen":"2026-07-27T07:14:43.775614Z","last_seen":"2026-07-27T07:14:43.775614Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJGY2Q5OFd4MVRaWVNKWGJwUVczanJnIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IkZjZDk4V3gxVFpZU0pYYnBRVzNqcmciPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MC9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iRmNkOThXeDFUWllTSlhicFFXM2pyZyI+PHN0eWxlIG5vbmNlPSJGY2Q5OFd4MVRaWVNKWGJwUVczanJnIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIwVEVFZVpSd1ZhSkp1SjBqRExmME5RIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJLd1ZuYXM3RkdlYmNxN1lQMm9mWkVBIiwiRVhQRVJJTUVOVF9GTEFHUyI6eyJhYl9kZXRfYXBtIjp0cnVlLCJhYl9kZXRfZWxfaCI6dHJ1ZSwiYWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb24iOnRydWUsImFsbG93X3NraXBfbmV0d29ya2xlc3MiOnRydWUsImFsd2F5c19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyI6dHJ1ZSwiYXR0bXVzaSI6dHJ1ZSwiYzNfZW5hYmxlX2J1dHRvbl9pbXByZXNzaW9uX2xvZ2dpbmciOnRydWUsImMzX3dhdGNoX3BhZ2VfY29tcG9uZW50Ijp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXIiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdCI6dHJ1ZSwiY3NpX29uX2dlbCI6dHJ1ZSwiZGVkdXBwaW5nX3NlcnZlcl92ZSI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZCI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZF92MiI6dHJ1ZSwiZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b24iOnRydWUsImRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyIjp0cnVlLCJkaXNhYmxlX21pbmlfYXBwX2NvbnRhaW5lcl93ZWJfdmlld19pbnNldHMiOnRydWUsImRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90diI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbGlnaWJsZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbmFibGVkIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfc2F2ZV91c2VyX3ZvbHVtZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXIiOnRydWUsImVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb24iOnRydWUsImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9laWRfZW5mb3JjZW1lbnRfZm9yX3lvdXR1YmUiOnRydWUsImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCI6dHJ1ZSwiZW1iZWRzX211dGVkX2F1dG9wbGF5X3NvdW5kX2ZpeCI6dHJ1ZSwiZW1iZWRzX3NlcnZlX2VzNl9jbGllbnQiOnRydWUsImVtYmVkc193ZWJfdXBkYXRlZF9zaG9ydHNfZGVmaW5pdGlvbl9maXgiOnRydWUsImVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwYyI6dHJ1ZSwiZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWUiOnRydWUsImVuYWJsZV9haV9zZWFyY2hfaW5uZXJ0dWJlX20wX2ZpeGVzIjp0cnVlLCJlbmFibGVfYW5kcm9pZF93ZWJfdmlld190b3BfaW5zZXRzX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd24iOnRydWUsImVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlIjp0cnVlLCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwiZW5hYmxlX2NsaWVudF92ZV9zcGVjIjp0cnVlLCJlbmFibGVfY2xvdWRfc2F2ZV9lcnJvcl9wb3B1cF9hZnRlcl9yZXRyeSI6dHJ1ZSwiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiI6dHJ1ZSwiZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbCI6dHJ1ZSwiZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzIjp0cnVlLCJlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfZHJvcF9zaGFkb3dfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX2VtYmVkc19uZXdfY2FwdGlvbl9sYW5ndWFnZV9waWNrZXIiOnRydWUsImVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1Ijp0cnVlLCJlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb24iOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGMiOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYiI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfZm9yY2VfZGVidWdfZGF0YV9mb3JfY2xpZW50X3RtcF9sb2dzIjp0cnVlLCJodG1sNV9sb2dfdHJpZ2dlcl9ldmVudHNfd2l0aF9kZWJ1Z19kYXRhIjp0cnVlLCJodG1sNV9zc2RhaV9lbmFibGVfbWVkaWFfZW5kX2N1ZV9yYW5nZSI6dHJ1ZSwiaWRiX2ltbWVkaWF0ZV9jb21taXQiOnRydWUsImlsX2F0dGFjaF9jYWNoZV9saW1pdCI6dHJ1ZSwiaWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0Ijp0cnVlLCJpc19icm93c2VyX3N1cHBvcnRfZm9yX3dlYmNhbV9zdHJlYW1pbmciOnRydWUsImpzb25fY29uZGVuc2VkX3Jlc3BvbnNlIjp0cnVlLCJrZXZsYXJfZmlsdGVyX3Vua25vd25fc291cmNlIjp0cnVlLCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciOnRydWUsImtldmxhcl90cmltX3BsYXllcl9iZWhhdmlvciI6dHJ1ZSwia2V2bGFyX3dhdGNoX2NpbmVtYXRpY3MiOnRydWUsImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiOnRydWUsImxpdmVfY2hhdF9lbmFibGVfcnRhX21hbmFnZXIiOnRydWUsImxvZ19jbGlja193aXRoX2xheWVyX2Zyb21fZWxlbWVudF9pbl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm1hd19lbmFibGVfbmV0d29ya19tYWNoaW5lIjp0cnVlLCJtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aSI6dHJ1ZSwibWR4X2xvYWRfY2FzdF9hcGlfYm9vdHN0cmFwX3NjcmlwdCI6dHJ1ZSwibWVkaXVtX3Byb2dyZXNzX2Jhcl9tb2RpZmljYXRpb24iOnRydWUsIm1vYmlsZV9hY2NvdW50X21lbnVfcmVmcmVzaCI6dHJ1ZSwibXdlYl9hY2NvdW50X2xpbmtpbmdfbm9hcHAiOnRydWUsIm13ZWJfYWxsb3dfbW9kZXJuX3NlYXJjaF9zdWdnZXN0X2JlaGF2aW9yIjp0cnVlLCJtd2ViX2FuaW1hdGVkX2FjdGlvbnMiOnRydWUsIm13ZWJfYXBwX3Vwc2VsbF9idXR0b25fZGlyZWN0X3RvX2FwcCI6dHJ1ZSwibXdlYl9iYWRnZV9zaGFwZV9kZWZyYWciOnRydWUsIm13ZWJfYzNfYXBwX3Byb21vX2VuYWJsZV9yZWZlcnJpbmdfYXBwIjp0cnVlLCJtd2ViX2MzX2VuYWJsZV9hZGFwdGl2ZV9zaWduYWxzIjp0cnVlLCJtd2ViX2MzX2xpYnJhcnlfcGFnZV9lbmFibGVfcmVjZW50X3NoZWxmIjp0cnVlLCJtd2ViX2MzX21lbnVfc2lnbmFsc19yZW5kZXIiOnRydWUsIm13ZWJfYzNfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiOnRydWUsIm13ZWJfYzNfdG9hc3RfdXNlX3dpel9yZWFjdGl2ZV9yZW5kZXIiOnRydWUsIm13ZWJfYzNfdXNlX2Nhbm9uaWNhbF9mcm9tX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfaW9zX2FwcF9zdG9yZV9yZWRpcmVjdCI6dHJ1ZSwibXdlYl9jYXJ2ZV9vdXRfdGVybXNfcGFnZXMiOnRydWUsIm13ZWJfY2luZW1hdGljX3dhdGNoIjp0cnVlLCJtd2ViX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3MiOnRydWUsIm13ZWJfZGVsYXlfd2F0Y2hfaW5pdGlhbF9kYXRhIjp0cnVlLCJtd2ViX2Rpc2FibGVfc2VhcmNoYmFyX3Njcm9sbCI6dHJ1ZSwibXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZSI6dHJ1ZSwibXdlYl9lbmFibGVfY29sb3JmdWxfYWlfc3VtbWFyeSI6dHJ1ZSwibXdlYl9lbmFibGVfZHluYW1pY19kb3VibGVfdGFwX3RvX2xpa2UiOnRydWUsIm13ZWJfZW5hYmxlX2ZpbmVfc2NydWJiaW5nX2Zvcl9yZWNzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9mdWxsc2NyZWVuIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl9wcm9ncmVzc19iYXIiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX3Rvb2x0aXBzIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiOnRydWUsIm13ZWJfZW5hYmxlX2xvY2t1cF92aWV3X21vZGVsX2Zvcl91Y3AiOnRydWUsIm13ZWJfZW5hYmxlX21peF9wYW5lbF90aXRsZV9tZXRhZGF0YSI6dHJ1ZSwibXdlYl9lbmFibGVfbW9yZV9jaHVua3MiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfZHJhd2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9vcHRpb25hbF9mdWxsc2NyZWVuX2xhbmRzY2FwZV9sb2NraW5nIjp0cnVlLCJtd2ViX2VuYWJsZV9vdmVybGF5X3RvdWNoX21hbmFnZXIiOnRydWUsIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyI6dHJ1ZSwibXdlYl9lbmFibGVfcHJlbWl1bV9jYXJ2ZV9vdXRfZml4Ijp0cnVlLCJtd2ViX2VuYWJsZV9yZWZyZXNoX2RldGVjdGlvbiI6dHJ1ZSwibXdlYl9lbmFibGVfc2VhcmNoX2ltcCI6dHJ1ZSwibXdlYl9lbmFibGVfc2hvcnRzX3ZpZGVvX3ByZWxvYWQiOnRydWUsIm13ZWJfZW5hYmxlX3R3b19saW5lX3RpdGxlX29uX3Nob3J0cyI6dHJ1ZSwibXdlYl9lbmFibGVfdmFyaXNwZWVkX2NvbnRyb2xsZXIiOnRydWUsIm13ZWJfZW5hYmxlX3ZpZGVvX2xvb3BfdG9nZ2xlIjp0cnVlLCJtd2ViX2VuYWJsZV93YXRjaF9mZWVkX2luZmluaXRlX3Njcm9sbCI6dHJ1ZSwibXdlYl9maXhfY29sZF9sb2FkX3Jlc3BvbnNlX2FjdGlvbnMiOnRydWUsIm13ZWJfZml4X21vbml0b3JfdmlzaWJpbGl0eV9hZnRlcl9yZW5kZXIiOnRydWUsIm13ZWJfZm9yY2VfaW9zX2ZhbGxiYWNrX3RvX25hdGl2ZV9jb250cm9sIjp0cnVlLCJtd2ViX2ZwX2F1dG9fZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9mcF9lbmFibGVfc2hvcnRzX3N3aXBlX2xvZ2dpbmciOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9scyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX2NvbnRyb2xzX2FjdGlvbl9idXR0b25zIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fd2F0Y2hfc3lzdGVtIjp0cnVlLCJtd2ViX2Z1bGx5X3JlYWN0aXZlX2NiIjp0cnVlLCJtd2ViX2hvbWVfcmVhY3RpdmVfc2hvcnRzIjp0cnVlLCJtd2ViX2lubmVydHViZV9zZWFyY2hfY29tbWFuZCI6dHJ1ZSwibXdlYl9rYWlvc19lbmFibGVfYXV0b3BsYXlfc3dpdGNoX3ZpZXdfbW9kZWwiOnRydWUsIm13ZWJfbGFuZ19pbl9odG1sIjp0cnVlLCJtd2ViX2xpa2VfYnV0dG9uX3N5bmNlZF93aXRoX2VudGl0aWVzIjp0cnVlLCJtd2ViX2xvZ29fdXNlX2hvbWVfcGFnZV92ZSI6dHJ1ZSwibXdlYl9sb25nX3ByZXNzX3NwZWVkdXBfdmlicmF0aW9uIjp0cnVlLCJtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWQiOnRydWUsIm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXIiOnRydWUsIm13ZWJfcGxheWVyX2RlbGhpX2R0dHMiOnRydWUsIm13ZWJfcGxheWVyX3Nob3dfcHJldmlvdXNfbmV4dF9idXR0b25zX2luX3BsYXlsaXN0Ijp0cnVlLCJtd2ViX3BsYXllcl9za2lwX25vX29wX3N0YXRlX2NoYW5nZXMiOnRydWUsIm13ZWJfcGxheWVyX3VzZXJfc2VsZWN0X25vbmUiOnRydWUsIm13ZWJfcGxheWxpc3RfZW5nYWdlbWVudF9wYW5lbCI6dHJ1ZSwibXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGljayI6dHJ1ZSwibXdlYl9wcm9wYWdhdGVfcGxheWVyX2xpbmtfY2xpY2tzIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsIjp0cnVlLCJtd2ViX3B1bGxfMl9mdWxsX2VuYWJsZV90b3VjaF9oYW5kbGVycyI6dHJ1ZSwibXdlYl9zY2hlZHVsZV93YXJtX3dhdGNoX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3NlYXJjaF9tYXhfd2lkdGhfbGltaXQiOnRydWUsIm13ZWJfc2VhcmNoYm94X2xlZ2FjeV9uYXZpZ2F0aW9uIjp0cnVlLCJtd2ViX3NlZV9mZXdlcl9zaG9ydHMiOnRydWUsIm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZSI6dHJ1ZSwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uIjp0cnVlLCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIjp0cnVlLCJtd2ViX3Nob3J0c19vdmVybGF5X2RlcHJlY2F0ZV9rYWlvc19sYXlvdXQiOnRydWUsIm13ZWJfc2hvd19zaWduX2luX2J1dHRvbl9mcm9tX2hlYWRlciI6dHJ1ZSwibXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzIjp0cnVlLCJtd2ViX3VzZV9zZXJ2ZXJfdXJsX29uX3N0YXJ0dXAiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZW5hYmxlX2F1dG9fdHJhbnNsYXRlIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX3NldF9kZWZhdWx0X3NpemUiOnRydWUsIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIjp0cnVlLCJtd2ViX3dhdGNoX3N0b3Bfc2NoZWR1bGVyX29uX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl93YXRjaGZlZWRfYmlnX3RodW1ibmFpbHMiOnRydWUsIm13ZWJfeXRfc2VhcmNoYm94Ijp0cnVlLCJuZXR3b3JrbGVzc19sb2dnaW5nIjp0cnVlLCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biI6dHJ1ZSwicGFnZWlkX2FzX2hlYWRlcl93ZWIiOnRydWUsInBsYXllcl9jb250cm9sc19hdXRvbmF2X2ZpeCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3NraXBfZG91YmxlX3NpZ25hbF91cGRhdGUiOnRydWUsInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHMiOnRydWUsInBvbHltZXJfYmFkX2J1aWxkX2xhYmVscyI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwicW9lX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1Ijp0cnVlLCJyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaCI6dHJ1ZSwicmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmUiOnRydWUsInJvc2NhcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsInNoZWxsX2xvYWRfZ2NmIjp0cnVlLCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOnRydWUsInNob3J0c19lbmFibGVfcmVlbF9jYXJvdXNlbCI6dHJ1ZSwic2hvdWxkX3VzZV95dF92b2ljZV9lbmRwb2ludF9pbl9rYWlvcyI6dHJ1ZSwic21hcnRlcl92ZV9kZWR1cHBpbmciOnRydWUsInN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXQiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJzeW5jZWRfcGFuZWxfc2Nyb2xsaW5nX2NvbnRyb2xsZXIiOnRydWUsInRvb2x0aXBfcmVmYWN0b3JfZm9yX2hvdGtleSI6dHJ1ZSwidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiOnRydWUsInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZyI6dHJ1ZSwidXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlIjp0cnVlLCJ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwidnNzX3BsYXliYWNrX3VzZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwid2F0Y2hfcHVic3ViX3JlZmFjdG9yIjp0cnVlLCJ3ZWJfYWRhcHRpdmVfcmVwZWF0X2FzZSI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZXhwb3J0X3RvX2dlbCI6dHJ1ZSwid2ViX2F0dHJpYnV0ZWRfc3RyaW5nX2RlZXBfZXF1YWxfYnVnZml4Ijp0cnVlLCJ3ZWJfYXV0b25hdl9hbGxvd19vZmZfYnlfZGVmYXVsdCI6dHJ1ZSwid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfbm9uX251bGxpc2hfZGF0YSI6dHJ1ZSwid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCI6dHJ1ZSwid2ViX2MzX2xvZ19hcHBfaW5pdF9maW5pc2giOnRydWUsIndlYl9jb21tZW50X3BhbmVsX2Vhc3lfZXhwYW5kIjp0cnVlLCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIjp0cnVlLCJ3ZWJfZGVkdXBlX3ZlX2dyYWZ0aW5nIjp0cnVlLCJ3ZWJfZGlzYWJsZV9iYWNrZHJvcF9maWx0ZXIiOnRydWUsIndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvbiI6dHJ1ZSwid2ViX2VuYWJsZV9hYl9yc3BfY2wiOnRydWUsIndlYl9lbmFibGVfYWRfYnV0dG9uX3N0eWxlX292ZXJyaWRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Fza19kaXNjbGFpbWVyX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9jYW5vbmljYWxfdXJsX21hbmFnZXIiOnRydWUsIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Vycm9yXzIwNCI6dHJ1ZSwid2ViX2VuYWJsZV90aHVtYm5haWxfb3ZlcmxheV9hbGlnbm1lbnQiOnRydWUsIndlYl9nY2ZfaGFzaGVzX2lubmVydHViZSI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwid2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmUiOnRydWUsIndlYl9pbXBfZW5hYmxlX2NzaV9zdGFydF90aWNrIjp0cnVlLCJ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9ycyI6dHJ1ZSwid2ViX25vbl9uYXZpZ2F0aW5nX2F0YWciOnRydWUsIndlYl9wYXJlbnRfdGFyZ2V0X2Zvcl9zaGVldHMiOnRydWUsIndlYl9wZXJzaXN0X3NlcnZlcl9hdXRvbmF2X3N0YXRlX29uX2NsaWVudCI6dHJ1ZSwid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmUiOnRydWUsIndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50Ijp0cnVlLCJ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlbyI6dHJ1ZSwid2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGUiOnRydWUsIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSI6dHJ1ZSwid2ViX3JlbW92ZV9zbmFja2Jhcl9hY3Rpb25zIjp0cnVlLCJ3ZWJfc2VjdGlvbl9saXN0X3JlbmRlcmVyX3dyYXBwZWRfY29udGVudHMiOnRydWUsIndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJ3ZWJfc2hvcnRzX2VuYWJsZV9yZW1vdmVfc2VhcmNoX3Bpdm90X2JhY2tfYnV0dG9uIjp0cnVlLCJ3ZWJfc2hvcnRzX3duX3NoZWxmX2hlYWRlcl90dW5pbmciOnRydWUsIndlYl91bmlmaWVkX2ZldGNoIjp0cnVlLCJ3ZWJfdXBkYXRlX3BhbmVsX3Zpc2liaWxpdHlfbG9nZ2luZ19maXgiOnRydWUsIndlYl93YXRjaF9jb250cm9sc19zdGF0ZV9zaWduYWxzIjp0cnVlLCJ3ZWJmZV9td2ViX3dhdGNoX21pY3JvZGF0YSI6dHJ1ZSwid2ViZmVfd2F0Y2hfc2hvcnRzX2Nhbm9uaWNhbF91cmxfZml4Ijp0cnVlLCJ3ZWJwb19leGl0X29uX25ldF9lcnIiOnRydWUsIndpel9kaWZmX292ZXJ3cml0YWJsZSI6dHJ1ZSwid2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4Ijp0cnVlLCJ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3QiOnRydWUsIkg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXMiOjMwMDAwLjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwiY2luZW1hdGljX3dhdGNoX2VmZmVjdF9vcGFjaXR5IjowLjQsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIjoyLjAsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGUiOjUwMC4wLCJ3ZWJfZGVhZF9jb2RlX2RldGVjdG9yX3NhbXBsaW5nX3JhdGUiOjAuMCwid2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMywid2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMSwid2ViX3Bial9sb2dfd2FybmluZ19yYXRlIjowLjAsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0IjowLjAyLCJhdHRfaW5pdF9kZWxheSI6NTAwLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NlYyI6MCwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwiY2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXMiOjAsImNpbmVtYXRpY193YXRjaF9jc3NfZmlsdGVyX2JsdXJfc3RyZW5ndGgiOjQwLCJjaW5lbWF0aWNfd2F0Y2hfZmFkZV9vdXRfZHVyYXRpb24iOjUwMCwiY2xvc2Vfd2Vidmlld19kZWxheV9tcyI6MTAwLCJjbG91ZF9zYXZlX2dhbWVfZGF0YV9yYXRlX2xpbWl0X21zIjozMDAwLCJjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50IjoxMCwiY3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zIjozNjAwMDAwLCJlbWJlZHNfd2lkZ2V0X3BvbGxfaW50ZXJ2YWxfbXMiOjAsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzIjo2MCwiZ2VsX21pbl9iYXRjaF9zaXplIjozLCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiOjYwMDAwLCJnZXRfYXN5bmNfdGltZW91dF9tcyI6NjAwMDAsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIjowLCJpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0IjoyMDAwLCJtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzIjo1MDAwMDAsIm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MTAsIm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MjAsIm1pbmlfYXBwX2NvbnRhaW5lcl9pZnJhbWVfc3JjX3VwZGF0ZV9kZWxheV9tcyI6MCwibXVsdGlwbGVfcHJldmlld19uZXdzX2R1cmF0aW9uX3RpbWUiOjExMDAwLCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIjo1MDAwLCJtd2ViX2RlZXBfbGlua19mYWxsYmFja190aW1lb3V0X21zIjoxMDAwMCwibXdlYl9kZWxheV9yZXNwb25zZV9yZWNlaXZlZF9hY3Rpb25zIjoxMDAsIm13ZWJfZHdlbGxfZGVsYXlfbXMiOjUwMCwibXdlYl9mcF9kcGFkX3JhdGVfbGltaXRfbXMiOjAsIm13ZWJfZnBfZHBhZF93YXRjaF90aXRsZV9jbGFtcF9saW5lcyI6MCwibXdlYl9oaXN0b3J5X21hbmFnZXJfY2FjaGVfc2l6ZSI6MTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiOjUwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9zeXN0ZW1fcGF1c2VfZXBpbHNvbl9tcyI6MCwibXdlYl9vdmVycmlkZV9yZXNwb25zZV9zdG9yZV9leHBpcmF0aW9uX21zIjowLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb25fdHJpZ2dlcl90aHJlc2hvbGQiOjQsIm13ZWJfc2hvcnRzX251bWJlcl9vZl90aHVtYm5haWxzX3Nob3duIjoyLCJtd2ViX3cyd19tYXhfYWdlX3NlY29uZHMiOjAsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZGVmYXVsdF9zaXplIjoyLCJuZW9uX2RhcmtfbGF1bmNoX2dyYWRpZW50X2NvdW50IjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJwbGF5X3BpbmdfaW50ZXJ2YWxfbXMiOjEwMDAwLCJzZW5kX2NvbmZpZ19oYXNoX3RpbWVyIjowLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2xvZ2dlZF9vdXRfcHJvbXB0X3dhdGNoZXMiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3JlZ3VsYXJfZnJlcXVlbmN5X2NhcF9tcyI6MjQwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZXdhcmRlZF9mcmVxdWVuY3lfY2FwX21zIjowLCJzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudCI6NCwic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIjoxMCwic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyI6NTAwLCJ3ZWJfYWlfc2VhcmNoX3JvbGxvdXRfdmVyc2lvbiI6MSwid2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zIjoyODAwMCwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTAwLCJ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzIjo1MCwid2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dCI6MCwid2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXkiOjAsIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiOjk5OTksInl0Y3NpX2RlYnVnX21heF9zaXplIjoxMDAsInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIjoxLCJ5dGlkYl9yZW9wZW5fZGJfcmV0cmllcyI6MCwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc193ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImVuYWJsZV93ZWJfbWVkaWFfc2VydmljZSI6IkRJU0FCTEVEIiwiaWxfcGF5bG9hZF9zY3JhcGluZyI6IiIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvZW1vamlzL2Vtb2ppcy1zdmctOS5qc29uIiwibXdlYl9kZWVwX2xpbmtfZmVhdHVyZV90YWdfc3VmZml4IjoiNTE4MzE2MTUiLCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaF90cmlnZ2VyIjoiTk9ORSIsIm13ZWJfZnBfZHBhZCI6ImhvbWUsc2VhcmNoLGJyb3dzZSxjaGFubmVsLGNyZWF0ZV9jaGFubmVsLGV4cGVyaW1lbnRzLHNldHRpbmdzLHRyZW5kaW5nLG9vcHMsNDA0LHBhaWRfbWVtYmVyc2hpcHMsc3BvbnNvcnNoaXAscHJlbWl1bSxzaG9ydHMiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb24iOiIiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb25fdmlzaXRvciI6IiIsIm13ZWJfZnBfZHBhZF92aXNpdG9yIjoiIiwibXdlYl9wcmVsb2FkX3ZpZGVvX2J5X3BsYXllcl92YXJzIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb3VudGVyZmFjdHVhbF9jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6Ii8iLCJzdWdnZXN0X2V4cF9zdHIiOiIiLCJ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzIjpbIk9KbHdJZG9GejlBIiwiQXJLYkF4MUstMlUiLCJtX2RoTVN2VUNJYyIsIkMxRGhwSjA3WnVFIiwiTnEyd1lsV0Z1Y2ciLCJKQzdmM0VVRGFxdyIsInZyM1h5VkNSNFQwIiwiZ0NOZURXQ0kwdm8iLCJrQlR1ZG00Z2VNcyIsIkZ4c2ZWWDZCMU1rIiwieWxZSlNCVWdhTUEiLCJWV2hRNnhzcG5TYyIsIlJIVWF1TWNZbFgwIiwiY2IxMkttTU1ESkEiLCJXSnhFal9ocnBTZyIsImV1aFktdG1nOXg4IiwiVGxJVkkyRVc3UjAiLCJNSU5mdk9YNEJ6SSIsInlIbVBXemtoY1o4IiwicDN3MXZPOVh2MjQiLCJWbGFDbnAxZnhJOCIsIi1PZkEwNEJENEdBIiwiMW9kWTNJWXNObm8iLCJ3aVRUclZxUlZEdyIsIkRmbTJyQi1uUTlZIiwiUW0xRnR6OGxWbkkiLCI5aXRBeHFfU0dETSIsInlGSTN3cFh5NHpBIiwiUHk1SllaWEp2em8iLCJiNHRFNWFLaHRsZyIsIjVKRHhqc0FWYUdrIiwiZVVtZkdQYXp1RU0iLCJXOG5UaHE2MlZiNCIsIlZManZTM3VmbFhjIiwiQmZkTEt2SkJNX2MiLCJ3ZUxYZHdWalN4cyIsIjJKYS11UE9rejdJIiwiQTlRQlZGRVl4T1EiLCJrLVpGUWtrSFVmYyIsInd1dTBEMjBBWnFJIiwiX0h2aVN5Qzd6U1UiLCJfX3hPel9RM3FSNCIsIncyc0I4N2pMRTFJIiwiOHJUVEVNZE1oOFEiLCItazZtcGdteGVyVSIsIjk3Y2tuckp5TFdnIiwiMkZJdFZ5eExOTmMiLCJvdG54ZmNzR0UtWSIsInM5eEwxRHBCc2ZRIiwid2ZBR0JWZ1Vycm8iLCJuWEg2VHhRLXNpOCIsIldpSTFYZ19uRXU4IiwiM2ZsYXNHVlVyQ0EiLCJlRFlfSGU5MmxjVSIsImE0N2NrWEtaanhJIiwiSTZXUlhlS1pLNjQiLCJUOUo1RHFQMkRLdyIsIkt0a19JMHBVcEc4IiwiZVEyY3pHcU9DUGciLCJoTG1VNDlobVo0YyIsIjdmN01nYU1FN1NjIiwiUUI1Qk5kQkZ1akUiLCJBR2h0TVVfZmk3MCIsInAyUmFRVVJSQXdBIiwibXpfX0VNWXBXUHciLCI2amhMdVNRVkl4VSIsInJDODN2X3V1SXFvIiwiNkRhR2RKUl9lTGciLCJjbTQzdVhqZnZaWSIsIlkxSnNQcG0yYm1RIiwiejA5N2pQeUtlZW8iLCJUWVZaV1VUamt4MCIsIlZIYUF2ZW5mVERrIiwidHY5T1VfNVEwcFEiLCI2b0tDdnptNkhtZyIsIkJFRlVFUmhUMG4wIiwidVROLWV1MC1PWEUiLCJoYmFwcmhSN3pUbyIsIjJDVjBWLW9NTkZNIiwidThkU09Lb05KcDAiLCJIOE1xcXdtRnN4WSIsIklza2ttTlBKZFVrIiwiWDlIX0V6cERHWFEiXSwia2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3QiOltdLCJtaW5pX2FwcF9pZHNfd2l0aG91dF9nYW1lX3JlYWR5IjpbIlVna3hISHRzYWsxU0M4bVJHSE1aZXdjNEh6ZUFZM3loUFBtSiIsIlVna3g3T2d6RnFFNnpfNU10ZjRZc290R2ZRTklJMURGX1JCbSJdLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiOlsiZXZlbnQiLCJjb21tYW5kIl19LCJHQVBJX0hJTlRfUEFSQU1TIjoibTsvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2tcdTAwM2RnYXBpLmdhcGkuZW4uNTRfSER2ZU90a1EuTy9kXHUwMDNkMS9yc1x1MDAzZEFIcE9vbzlRdWZPZFBZVFJrYlRKYWRUVzZzbXN4bFdMTXcvbVx1MDAzZF9fZmVhdHVyZXNfXyIsIkdBUElfSE9TVCI6Imh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiR0FQSV9MT0NBTEUiOiJlbl9VUyIsIkdMIjoiTk8iLCJITCI6ImVuIiwiSFRNTF9ESVIiOiJsdHIiLCJIVE1MX0xBTkciOiJlbiIsIklOTkVSVFVCRV9BUElfS0VZIjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiSU5ORVJUVUJFX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6ImVuIiwiZ2wiOiJOTyIsInJlbW90ZUhvc3QiOiIxOTUuNjQuMTE4LjE1MiIsImRldmljZU1ha2UiOiIiLCJkZXZpY2VNb2RlbCI6IiIsInZpc2l0b3JEYXRhIjoiQ2dzdFRsbE5YMnhxY0RWYVFTaXJpcHpUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dIbUxmQWdyY0FqSXdMbGxVUFdGRU0yMDJabXc0Ykc5RGJURkdRVVo2TWsxUFIwOURZWEJQYUhWM0xYcE1XRUZFWjBsWk1tWnBVMTh3Y1VOV1V6bEVOa2RCUlZodU9USm9kMUU0T0ZkSFVUVk9YMGh6WkZOelpGWlBkM3BET0dWUlQyeEtXVU42WHpKcGRXNUdaRjlhY1c1YVJXbzRVR2QyV1hOTGIyZENjVTFWTFRKbmNIQk1Oa2RhYm14UWIyd3diMUpXUlZwSGRteGtWRFpHWjJzM1kzSTVZMDlzT0ZsRVIxcDVWRlY1U0hreFVtVjRSbDkyWm5CRmRFTlFlRGRZWHpoeFlVYzNWRmxzTmtkRVRESnhTREk1Y0ZGMFJsWmxkbTkwUWsxMk56VnhSRlJNTlhsR2MyZGZjR2xTWWxCTFZtRk9iRmhrT0hSbGJGTnNPRkZqVm5CWFJsSk9iWGN0VGpsdVVFaERPRlZLY1hFMU1VUnJjVTlZUWtac2VubERWblY2WVhwMExVWktTRlozVGtJelEwOUxSVFpSWWxsb01HNUJUMkpOU0ZoUlptZGFja0ZuYkY5NlUxRkdkR2xtZEVKdk1WQjJSVnBpUkVoQldXeFhPRTFXZHclM0QlM0QiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzQuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzQuMCxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwib3NOYW1lIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3RaT1NRQlA5NDZRIiwicGxhdGZvcm0iOiJERVNLVE9QIiwiY2xpZW50Rm9ybUZhY3RvciI6IlVOS05PV05fRk9STV9GQUNUT1IiLCJjb25maWdJbmZvIjp7ImFwcEluc3RhbGxEYXRhIjoiQ0t1S25OTUdFSzdXenh3UTRPclJIQkNHNFlBVEVMMlpzQVVRek4tdUJSRGE5ODRjRUlxSHVDSVFnNGU0SWhDSHJNNGNFTjY4emh3UWliRE9IQkRKOW9BVEVMeWswQndRbVkyeEJSQ1Y3OUVjRUw2RTBSd1F1ZkRSSEJENTh0RWNFTDIycmdVUThiVFFIQkNmejRBVEVPYnIwUndRNExmUkhCRDhzczRjRUk2UTBSd1EwTWJSSEJEQmo5QWNFTGpremh3UXBLblJIQkN4a2RFY0VQYjMwUndRZ2MzT0hCQ0lrTkVjRU1hTjBod1E5cXV3QlJDZDBMQUZFSjJHdUNJUXRyV0FFeEFBRU9uNDBSd1F0X2lBRXhDOWlyQUZFT0dDZ0JNUXl2dUFFeENMOTg4Y0VQTE0wUndRaWVUUkhCRHYzdEVjRU92TjBCd1E5T25SSENwc1EwRk5VMVJDVmxBdFduRXRSRXhwVlVWd1VVTnVRVGMxUmxoTGEwSjFRVmR4VGxWUU1VRk5RWEYzYzBFMVFXSlJkV1ZyVEUxeFEzTkNRVTlSY21kUU4wcHlZbXRDZFZOR1JqbEVUVUp6VTFOQ1kzTTVlRk5tV2pGUldHTk1UMlJITVdFM2RraDBjMGRJVVdNOU1BQSUzRCJ9LCJicm93c2VyTmFtZSI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwiYWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cVx1MDAzZDAuOSwqLyo7cVx1MDAzZDAuOCIsImRldmljZUV4cGVyaW1lbnRJZCI6IkNoeE9lbGt5VG5wRmQwMXFWVE5OZWswelRrUmpORTU2UlRWT2R6MDlFS3VLbk5NR0dLdUtuTk1HIiwicm9sbG91dFRva2VuIjoiQ012S3lPYkMwb245WlJEZWw0ZTFwX0tWQXhqZWw0ZTFwX0tWQXclM0QlM0QifSwidXNlciI6eyJsb2NrZWRTYWZldHlNb2RlIjpmYWxzZX0sInJlcXVlc3QiOnsidXNlU3NsIjp0cnVlfSwiY2xpY2tUcmFja2luZyI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiSWhNSWpvZUh0YWZ5bFFNVlp1N0tBQjNhUXhZQyJ9LCJ0aGlyZFBhcnR5Ijp7ImVtYmVkZGVkUGxheWVyQ29udGV4dCI6eyJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHQiOiJBQ21ibEJYSEVYZFFMbi1tUklIeHZjTUh1aDV6X090RWoxQmdEcDVpUFJmYUx2UndYN2Fjc2tzQUJfemczX3AyMEh5QTFXLXNIelhfVHhEMm53eDVqdHZ2RC1vTnJBVzN4ZzZfQlFDalcyVXdGZWdHRlZQWXFEamIwN3lwUVFnRHpaNE4iLCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWQiOmZhbHNlfX19LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6NTYsIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiTk8iLCJJTk5FUlRVQkVfQ09OVEVYVF9ITCI6ImVuIiwiTEFURVNUX0VDQVRDSEVSX1NFUlZJQ0VfVFJBQ0tJTkdfUEFSQU1TIjp7ImNsaWVudC5uYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudC5qc2ZlYXQiOiIyMDIxIn0sIkxPR0dFRF9JTiI6ZmFsc2UsIlBBR0VfQlVJTERfTEFCRUwiOiJ5b3V0dWJlLmVtYmVkcy53ZWJfMjAyNjA3MjRfMDFfUkMwMCIsIlBBR0VfQ0wiOjk1MzIwNjAxMCwiU0VSVkVSX05BTUUiOiJXZWJGRSIsIlZJU0lUT1JfREFUQSI6IkNnc3RUbGxOWDJ4cWNEVmFRU2lyaXB6VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnSG1MZkFncmNBakl3TGxsVVBXRkVNMjAyWm13NGJHOURiVEZHUVVaNk1rMVBSMDlEWVhCUGFIVjNMWHBNV0VGRVowbFpNbVpwVTE4d2NVTldVemxFTmtkQlJWaHVPVEpvZDFFNE9GZEhVVFZPWDBoelpGTnpaRlpQZDNwRE9HVlJUMnhLV1VONlh6SnBkVzVHWkY5YWNXNWFSV280VUdkMldYTkxiMmRDY1UxVkxUSm5jSEJNTmtkYWJteFFiMnd3YjFKV1JWcEhkbXhrVkRaR1oyczNZM0k1WTA5c09GbEVSMXA1VkZWNVNIa3hVbVY0Umw5MlpuQkZkRU5RZURkWVh6aHhZVWMzVkZsc05rZEVUREp4U0RJNWNGRjBSbFpsZG05MFFrMTJOelZ4UkZSTU5YbEdjMmRmY0dsU1lsQkxWbUZPYkZoa09IUmxiRk5zT0ZGalZuQlhSbEpPYlhjdFRqbHVVRWhET0ZWS2NYRTFNVVJyY1U5WVFrWnNlbmxEVm5WNllYcDBMVVpLU0ZaM1RrSXpRMDlMUlRaUllsbG9NRzVCVDJKTlNGaFJabWRhY2tGbmJGOTZVMUZHZEdsbWRFSnZNVkIyUlZwaVJFaEJXV3hYT0UxV2R3JTNEJTNEIiwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR1MiOnsiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiOnsicm9vdEVsZW1lbnRJZCI6Im1vdmllX3BsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUiIsImV2ZW50TGFiZWwiOiJlbWJlZGRlZCIsImNvbnRlbnRSZWdpb24iOiJOTyIsImhsIjoiZW5fVVMiLCJob3N0TGFuZ3VhZ2UiOiJlbiIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCIsImRldmljZSI6eyJicmFuZCI6IiIsIm1vZGVsIjoiIiwiYnJvd3NlciI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwib3MiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsInBsYXRmb3JtIjoiREVTS1RPUCIsImludGVyZmFjZU5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAifSwic2VyaWFsaXplZEV4cGVyaW1lbnRJZHMiOiIyNDAwNDY0NCwyNDQ5OTUzMiw1MTA2MzY0Myw1MTA5ODI5OSw1MTIyMjk3Myw1MTM0MDY2Miw1MTM0OTkxNCw1MTM1MzM5Myw1MTM2NjQyMyw1MTM3MjY4MCw1MTM4OTYyOSw1MTQ1ODE3Nyw1MTQ5MDMzMSw1MTQ5MzIwOCw1MTUwNTQzNiw1MTUzMDQ5NSw1MTUzNDY2OSw1MTU2NTExNSw1MTU4MzgyMSw1MTYwNTI1OCw1MTYwOTgyOSw1MTYxNTA2Nyw1MTYyMjg0NCw1MTYzNTk1NSw1MTYzODkzMiw1MTY0NTU1Miw1MTY0ODMzNiw1MTY3MjE2Miw1MTY4MTY2Miw1MTY4MzUwMiw1MTcxMzE3Niw1MTcyOTIxNyw1MTczNzEzMyw1MTc0MjM3Nyw1MTc0MjgyOSw1MTc3ODMzOSw1MTc5ODkyOCw1MTgwMzEyOCw1MTgwMzU4Nyw1MTgzMzI0MSw1MTg0MjQyMiw1MTg1NzgzOCw1MTg1NzkyMCw1MTg4Nzg4MCw1MTg5NTQwNCw1MTg5NTc3MSw1MTkwMTQzNyw1MTkwMjYwNSw1MTkwMjk3Nyw1MTkxMDczNiw1MTkyNzE4OCw1MTkyNzM2MCw1MTkzNjIyOCw1MTkzOTcwMyw1MTk0NTA1Niw1MTk1NDkyMiw1MTk1NjUxOCw1MTk1NzQ0Niw1MTk1OTY5NCw1MTk1OTgwOSw1MTk1OTg4MSw1MTk1OTk2Nyw1MTk2ODA4Myw1MTk2ODIwMyw1MTk3MTc3Niw1MTk4MzM2Myw1MTk4NDcxNyw1MTk4NDgyNyw1MTk4NTU4MCw1MjAwMjgwNSw1MjAxMjUyMyw1MjAxMzkyNyw1MjAxMzkzOCw1MjAxNTIzMSw1MjAxNjEzNiw1MjAyMDAzMiw1MjAyMjQ4OCw1MjAyMzMzMiw1MjAyNDIxNyw1MjAyNjE5NCw1MjAyNjgxMyw1MjAyNzA5OSw1MjAyNzc1MSw1MjAyNzc1Myw1MjAzNTY0NCw1MjAzNjkzOSw1MjA0MDM4Niw1MjA0MjY3NSw1MjA0MzIyNyw1MjA0NDU3Nyw1MjA0NjUxOCw1MjA0NzE0Nyw1MjA0NzY4NSw1MjA0NzY4Nyw1MjA0NzY5MSw1MjA1NjUwMyw1MjA2NDEzNSw1MjA2NTU5MCw1MjA2OTkwMyw1MjA3Mzk2Myw1MjA3NTkyMiw1MjA3NjcwNSw1MjA5NTU3NyIsInNlcmlhbGl6ZWRFeHBlcmltZW50RmxhZ3MiOiJINV9hc3luY19sb2dnaW5nX2RlbGF5X21zXHUwMDNkMzAwMDAuMFx1MDAyNmExMXlfaDVfYXNzb2NpYXRlX3N1cnZleV9xdWVzdGlvblx1MDAzZHRydWVcdTAwMjZhYl9kZXRfYXBtXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9lbF9oXHUwMDNkdHJ1ZVx1MDAyNmFjdGlvbl9jb21wYW5pb25fY2VudGVyX2FsaWduX2Rlc2NyaXB0aW9uXHUwMDNkdHJ1ZVx1MDAyNmFkX3BvZF9kaXNhYmxlX2NvbXBhbmlvbl9wZXJzaXN0X2Fkc19xdWFsaXR5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2F1dG9oaWRlX29uX3BhdXNlZF92aWRlb3NcdTAwM2R0cnVlXHUwMDI2YWxsb3dfZHJtX292ZXJyaWRlXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2xpdmVfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfcG9sdGVyZ3VzdF9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZhbGxvd19za2lwX25ldHdvcmtsZXNzXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3ZwOV8xMDgwcF9tcV9lbmNcdTAwM2R0cnVlXHUwMDI2YWx3YXlzX2NhY2hlX3JlZGlyZWN0X2VuZHBvaW50XHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZhbm5vdGF0aW9uX21vZHVsZV92YXN0X2NhcmRzX2xvYWRfbG9nZ2luZ19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmFzc2lnbl9kcm1fZmFtaWx5X2J5X2Zvcm1hdFx1MDAzZHRydWVcdTAwMjZhdHRfd2ViX3JlY29yZF9tZXRyaWNzXHUwMDNkdHJ1ZVx1MDAyNmF0dGFjaF9leHBlcmltZW50X3Byb3BhZ2F0aW9uX2NvbnRleHRfdG9fY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmF0dG11c2lcdTAwM2R0cnVlXHUwMDI2YXV0b3BsYXlfdGltZVx1MDAzZDEwMDAwXHUwMDI2YXV0b3BsYXlfdGltZV9mb3JfZnVsbHNjcmVlblx1MDAzZC0xXHUwMDI2YXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudFx1MDAzZC0xXHUwMDI2Ymdfdm1fcmVpbml0X3RocmVzaG9sZFx1MDAzZDcyMDAwMDBcdTAwMjZibG9ja190dmh0bWw1X3NpbXBseV9lbWJlZGRlZFx1MDAzZHRydWVcdTAwMjZibG9ja2VkX3BhY2thZ2VzX2Zvcl9zcHNcdTAwM2RbXVx1MDAyNmJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXNcdTAwM2QzMDAwXHUwMDI2YnlwYXNzX2xpY2Vuc2VfY2hlY2tfZm9yX2lubGluZV9tdXRlZFx1MDAzZHRydWVcdTAwMjZjYXB0aW9uc191cmxfYWRkX2VpXHUwMDNkdHJ1ZVx1MDAyNmNoZWNrX25hdmlnYXRvcl9hY2N1cmFjeV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmNoZWNrX3BsYXlhYmlsaXR5X3N0YXR1c19pbl9maWxsZXJzXHUwMDNkdHJ1ZVx1MDAyNmNsaWVudF91aV9lbmFibGVfbXVsdGlfdHJhY2tfYXVkaW9fb25fd2ViX2VtYmVkZGVkX3BsYXllclx1MDAzZHRydWVcdTAwMjZjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50XHUwMDNkMTBcdTAwMjZjb3dfb3B0aW1pemVfaWRvbV9jb21wYXRcdTAwM2R0cnVlXHUwMDI2Y3NpX29uX2dlbFx1MDAzZHRydWVcdTAwMjZjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXNcdTAwM2QzNjAwMDAwXHUwMDI2ZGFzaF9tYW5pZmVzdF92ZXJzaW9uXHUwMDNkNVx1MDAyNmRlYnVnX2JhbmRhaWRfaG9zdG5hbWVcdTAwM2RcdTAwMjZkZWJ1Z19iYW5kYWlkX3BvcnRcdTAwM2QwXHUwMDI2ZGVidWdfc2hlcmxvZ191c2VybmFtZVx1MDAzZFx1MDAyNmRlZHVwcGluZ19zZXJ2ZXJfdmVcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfZmFzdF9mb2xsb3dfYXV0b25hdl90b2dnbGVcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9kZWZhdWx0X3RodW1ibmFpbF9wZXJjZW50YWdlXHUwMDNkMC4wXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9mYXN0ZXJfYXV0b2hpZGVfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9wYXVzZV90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuNlx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2JsZW5kaW5nX21vZGVcdTAwM2RcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9kaXNhYmxlX2Zyb3N0ZWRfZ2xhc3NcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfaG9yaXpvbnRhbF92b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfbGhzX3ZvbHVtZV9jb250cm9sc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9yZXNwb25zaXZlX2NvbXBhY3RfY29udHJvbHNfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmRlcHJlY2F0ZV9jYXB0aW9uc190cmFja19jb3VudF9kaXNwbGF5XHUwMDNkdHJ1ZVx1MDAyNmRlcHJlY2F0ZV9kZWxheV9waW5nXHUwMDNkdHJ1ZVx1MDAyNmRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZFx1MDAzZHRydWVcdTAwMjZkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9hdjFfc2V0dGluZ1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2NoaWxkX25vZGVfYXV0b19mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2xpZmFfaW5fMmtfNGtcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9sb2dfdG9fdmlzaXRvcl9sYXllclx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3BhY2ZfbG9nZ2luZ19mb3JfbWVtb3J5X2xpbWl0ZWRfdHZcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9yZWR1Y2VkX2Z1bGxzY3JlZW5fYXV0b3BsYXlfY291bnRkb3duX2Zvcl9taW5vcnNcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9yZWVsX2l0ZW1fd2F0Y2hfZm9ybWF0X2ZpbHRlcmluZ1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3RvdWNoX2V2ZW50c19vbl9za2lwX2J1dHRvblx1MDAzZHRydWVcdTAwMjZkdXJhdGlvbl9iZWZvcmVfcGF1c2VfYWRfYnJlYWtfbXNfZm9yX3N5c3RlbV9wYXVzZVx1MDAzZDUwMDBcdTAwMjZlZGdlX2VuY3J5cHRpb25fZmlsbF9wcmltYXJ5X2tleV92ZXJzaW9uXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9mZl9lbmFibGVfYWRzX3RvcF9iYXJcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9jaGFubmVsX3N1YnNjcmliZV9kZXByZWNhdGlvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2VtYmVkX2NvbmZpZ19mb3JfbXV0ZWRfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9pbm5lcnR1YmVfc3RvcmVcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9tb3ZlX3NldF9jZW50ZXJfY3JvcF90b19wdWJsaWNcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9wZXJfdmlkZW9fZW1iZWRfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc193ZWJfbGl0ZV9tb2RlXHUwMDNkMVx1MDAyNmVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FiYW5kb25fcGluZ19mb3Jfc3NkYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjY2Vzc19jb2RlX3NlcnZpY2VfcnBjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2lfb25fbHJfZmVlZHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X2xyX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfd2ViX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2ExMXlfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hbnRpc2NyYXBpbmdfd2ViX3BsYXllcl9leHBpcmVkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hcHBfcHJvbW9fZW5kY2FwX2VtbF9vbl90YWJsZXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2VcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2JhdGNoZWRfY3Jvc3NfZGV2aWNlX3BpbmdzX2luX2dlbF9mYW5vdXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NhcGFiaWxpdHlfZm9ybWF0X2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Nhc3RfZm9yX3dlYl91bnBsdWdnZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2lwaGVyX2Zvcl9tYW5pZmVzdF91cmxzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGVhbnVwX21hc3RoZWFkX2F1dG9wbGF5X2hhY2tfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfcGFnZV9pZF9oZWFkZXJfZm9yX2ZpcnN0X3BhcnR5X3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF92ZV9zcGVjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdGFfYmFubmVyX29uX3VucGx1Z2dlZF9sclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3BsYXloZWFkX3BhcnNpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92Mlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9pb3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VudGl0eV9zdG9yZV9mcm9tX2RlcGVuZGVuY3lfaW5qZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZF93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZHNfaWNvbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2dldF9yZW1pbmRlcl9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY2JcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9tb2Rlcm5fc2tpcF9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2F1ZGlvX3RyYWNrX3BpY2tlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9rZXlib2FyZF9zaG9ydGN1dHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vcGVuX2luX25ld190YWJfaWNvbl9mb3Jfc2hvcnRfZHJfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vdXRfb2Zfc3RvY2tfdGV4dF9hbGxfc3VyZmFjZXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhaWRfY29udGVudF9vdmVybGF5X2J1Z2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvX2RlY29yYXRpb25fb2ZfZm9yY2VkX3RyYWNrc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9saWN5X2Jhc2VkX2hxYV9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzX2NvbW1hbmRzX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19lbF9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2xyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHVibGlzaGluZ19yZWdpb25fcGFyYW1faW5fc3VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdl9zY3JlZW5fbW9kZXJuX3RleHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Jwcl90b2tlbl9vbl9sdGxfbG9va3VwXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zY3JlZW5fbWFuYWdlcl9sYXllcl9zZXBhcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfY29tcGFuaW9uX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9oNV9lbmRlbWljX21pZF9wb3N0X3JvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9vbl9oNV91bnBsdWdnZWRfdm9kX21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfZm9yX2JhY2tncm91bmRhYmxlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl91cmxfZ2VuZXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX3RvX25leHRfbWVzc2FnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwcGFibGVfYWRzX2Zvcl91bnBsdWdnZWRfYWRfcG9kXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYl9pbmNyZWFzZWRfdHJpZ2dlcmluZ19zZW5zaXRpdml0eVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9zcGVlZG1hc3Rlcl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NwbGl0X3NjcmVlbl9hZF9iYXNlbGluZV9leHBlcmllbmNlX2VuZGVtaWNfbGl2ZV9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3ViZnJhZ21lbnRlZF9jYXB0aW9uX2ZpbHRlcmluZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc3VwZXhfbXdlYl9kZW1vX3dlYmZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV90b19jYWxsX3BsYXlyZWFkeV9iYWNrZW5kX2RpcmVjdGx5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV91bmlmaWVkX2FjdGlvbl9lbmRjYXBfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92ZW5vbV9ub3RpZmljYXRpb25fY2FjaGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92b2ljZV9ib29zdF9mZWF0dXJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92cDlfYXBwbGV0djVfb25fc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfZGVsaGlfaWNvbnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfbWVkaWFfc2Vzc2lvbl9tZXRhZGF0YV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9wcmVtaXVtX3ZhcmlzcGVlZF91cHNlbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9zaG9ydHNfYXVkaW9fdHJhY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl90aWVyZWRfZ2VsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93aXpfcXVldWVfZWZmZWN0X2FuZF9vbl9pbml0X2luaXRpYWxfcnVuc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfeXR2X2NzZGFpX3ZwOVx1MDAzZHRydWVcdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzXHUwMDNkW09KbHdJZG9GejlBLCBBcktiQXgxSy0yVSwgbV9kaE1TdlVDSWMsIEMxRGhwSjA3WnVFLCBOcTJ3WWxXRnVjZywgSkM3ZjNFVURhcXcsIHZyM1h5VkNSNFQwLCBnQ05lRFdDSTB2bywga0JUdWRtNGdlTXMsIEZ4c2ZWWDZCMU1rLCB5bFlKU0JVZ2FNQSwgVldoUTZ4c3BuU2MsIFJIVWF1TWNZbFgwLCBjYjEyS21NTURKQSwgV0p4RWpfaHJwU2csIGV1aFktdG1nOXg4LCBUbElWSTJFVzdSMCwgTUlOZnZPWDRCekksIHlIbVBXemtoY1o4LCBwM3cxdk85WHYyNCwgVmxhQ25wMWZ4STgsIC1PZkEwNEJENEdBLCAxb2RZM0lZc05ubywgd2lUVHJWcVJWRHcsIERmbTJyQi1uUTlZLCBRbTFGdHo4bFZuSSwgOWl0QXhxX1NHRE0sIHlGSTN3cFh5NHpBLCBQeTVKWVpYSnZ6bywgYjR0RTVhS2h0bGcsIDVKRHhqc0FWYUdrLCBlVW1mR1BhenVFTSwgVzhuVGhxNjJWYjQsIFZManZTM3VmbFhjLCBCZmRMS3ZKQk1fYywgd2VMWGR3VmpTeHMsIDJKYS11UE9rejdJLCBBOVFCVkZFWXhPUSwgay1aRlFra0hVZmMsIHd1dTBEMjBBWnFJLCBfSHZpU3lDN3pTVSwgX194T3pfUTNxUjQsIHcyc0I4N2pMRTFJLCA4clRURU1kTWg4USwgLWs2bXBnbXhlclUsIDk3Y2tuckp5TFdnLCAyRkl0Vnl4TE5OYywgb3RueGZjc0dFLVksIHM5eEwxRHBCc2ZRLCB3ZkFHQlZnVXJybywgblhINlR4US1zaTgsIFdpSTFYZ19uRXU4LCAzZmxhc0dWVXJDQSwgZURZX0hlOTJsY1UsIGE0N2NrWEtaanhJLCBJNldSWGVLWks2NCwgVDlKNURxUDJES3csIEt0a19JMHBVcEc4LCBlUTJjekdxT0NQZywgaExtVTQ5aG1aNGMsIDdmN01nYU1FN1NjLCBRQjVCTmRCRnVqRSwgQUdodE1VX2ZpNzAsIHAyUmFRVVJSQXdBLCBtel9fRU1ZcFdQdywgNmpoTHVTUVZJeFUsIHJDODN2X3V1SXFvLCA2RGFHZEpSX2VMZywgY200M3VYamZ2WlksIFkxSnNQcG0yYm1RLCB6MDk3alB5S2VlbywgVFlWWldVVGpreDAsIFZIYUF2ZW5mVERrLCB0djlPVV81UTBwUSwgNm9LQ3Z6bTZIbWcsIEJFRlVFUmhUMG4wLCB1VE4tZXUwLU9YRSwgaGJhcHJoUjd6VG8sIDJDVjBWLW9NTkZNLCB1OGRTT0tvTkpwMCwgSDhNcXF3bUZzeFksIElza2ttTlBKZFVrLCBYOUhfRXpwREdYUV1cdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX21heF93aW5kb3dfc2Vjb25kc1x1MDAzZDYwXHUwMDI2ZXhwYW5kX21lZGlhdGVrX2RlbnlsaXN0X3RvX2FsbF9saXZlX3ZwOV9pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNmV4cG9ydF9uZXR3b3JrbGVzc19vcHRpb25zXHUwMDNkdHJ1ZVx1MDAyNmV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2Fkc191c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfbGl2ZV9yZXF1ZXN0X2NvbmZpZ19pbl91c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfc2luZ2xlX3ZpZGVvX3dpdGhfbm90aWZ5X3RvX2xhc3JcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZiX3dpdGhvdXRfbm9uX3ZiX2VxdWl2YWxlbnRzXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92cDlfZm9yX2xpdmVfZGFpXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZF9taW5pcGxheWVyX2NvbnRyb2xzX3JlbmRlcmluZ1x1MDAzZHRydWVcdTAwMjZmaXhfYWRzX3RyYWNraW5nX2Zvcl9zd2ZfY29uZmlnX2RlcHJlY2F0aW9uX213ZWJcdTAwM2R0cnVlXHUwMDI2Zml4X2g1X3RvZ2dsZV9idXR0b25fYTExeVx1MDAzZHRydWVcdTAwMjZmaXhfc3VydmV5X2NvbG9yX2NvbnRyYXN0X29uX2Rlc3RvcFx1MDAzZHRydWVcdTAwMjZmcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZnYWJfcmV0dXJuX3NhYnJfc3NkYWlfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmdlbF9taW5fYmF0Y2hfc2l6ZVx1MDAzZDNcdTAwMjZnZWxfcXVldWVfdGltZW91dF9tYXhfbXNcdTAwM2Q2MDAwMFx1MDAyNmd2aV9jaGFubmVsX2NsaWVudF9zY3JlZW5cdTAwM2R0cnVlXHUwMDI2aDVfY29tcGFuaW9uX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X2VuYWJsZV9hZF9tYnNcdTAwM2R0cnVlXHUwMDI2aDVfaW5wbGF5ZXJfZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfcmVzZXRfY2FjaGVfYW5kX2ZpbHRlcl9iZWZvcmVfdXBkYXRlX21hc3RoZWFkXHUwMDNkdHJ1ZVx1MDAyNmg1X3plcm9fZHVyYXRpb25fY3VlX3JhbmdlX2Zvcl9kaWJzXHUwMDNkdHJ1ZVx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGRcdTAwM2QwXHUwMDI2aGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNVx1MDAzZHRydWVcdTAwMjZobHNfdXNlX25ld19jb2RlY3Nfc3RyaW5nX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9hZF90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2FkYXB0YXRpb25fc3RlcF9jb3VudFx1MDAzZDBcdTAwMjZodG1sNV9hZHNfcHJlcm9sbF9sb2NrX3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfcHJlbG9hZGluZ193aXRoX2lkbGVfb25seV9uZXR3b3JrX2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfY29uc3RyYWludHNfaW5fY2xpZW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X21pbl9mYWlsdXJlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9zdGFydF90aW1lX3dpdGhpbl9hZHNfZm9yX3NzZGFpX3RyYW5zaXRpb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0cl9kaXNhYmxlX2ZvcmNlX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0dF9wbGF5YmFja190aW1lb3V0X21zXHUwMDNkMzAwMDBcdTAwMjZodG1sNV9hdHRhY2hfbnVtX3JhbmRvbV9ieXRlc190b19iYW5kYWlkXHUwMDNkMFx1MDAyNmh0bWw1X2F0dGFjaF9wb190b2tlbl90b19iYW5kYWlkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9hdXRvbmF2X3F1YWxpdHlfY2FwXHUwMDNkNzIwXHUwMDI2aHRtbDVfYXV0b3BsYXlfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9hdXhpbGlhcnlfZXN0aW1hdGVfd2VpZ2h0XHUwMDNkMC4wXHUwMDI2aHRtbDVfYXYxX29yZGluYWxfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYmxvY2tfcGlwX3NhZmFyaV9kZWxheVx1MDAzZDBcdTAwMjZodG1sNV9ieXBhc3NfY29udGVudGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfYnl0ZXJhdGVfc29mdF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfY2hlY2tfZm9yX2lkbGVfbmV0d29ya19pbnRlcnZhbF9tc1x1MDAzZDEwMDBcdTAwMjZodG1sNV9jaGlwc2V0X3NvZnRfY2FwXHUwMDNkODE5Mlx1MDAyNmh0bWw1X2NsYW1wX2ludmFsaWRfc2Vla190b19taW5fc2Vla2FibGVfdGltZVx1MDAzZHRydWVcdTAwMjZodG1sNV9jb25zdW1lX2FsbF9idWZmZXJlZF9ieXRlc19vbmVfcG9sbFx1MDAzZHRydWVcdTAwMjZodG1sNV9jb250aW51b3VzX2dvb2RwdXRfcHJvYmVfaW50ZXJ2YWxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZDZkZTRfY2xvdWRfcHJvamVjdF9udW1iZXJcdTAwM2Q4Njg2MTg2NzY5NTJcdTAwMjZodG1sNV9kZWJ1Z19kYXRhX2xvZ19wcm9iYWJpbGl0eVx1MDAzZDAuMFx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZWZhdWx0X2FkX2dhaW5cdTAwM2QwLjVcdTAwMjZodG1sNV9kZWZhdWx0X2F2MV90aHJlc2hvbGRcdTAwM2QwXHUwMDI2aHRtbDVfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kZWZlcl9mZXRjaF9hdHRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9jb3VudFx1MDAzZDFcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2RlbGF5X21zXHUwMDNkNTAwMFx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9hZHNlcnZpY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX21hbmlmZXN0ZnVsX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV92aWRlb190YWdfcG9vbFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaFx1MDAzZDAuNlx1MDAyNmh0bWw1X2Rpc2FibGVfYmFuZHdpZHRoX2NvZmFjdG9yc19mb3Jfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfY2xpZW50X2F1dG9uYXZfY2FwX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV91c3RyZWFtZXJfY29uc3RyYWludF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3dlYl9zYWZhcmlfZGFpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc3BsYXllZF9mcmFtZV9yYXRlX2Rvd25ncmFkZV90aHJlc2hvbGRcdTAwM2Q0NVx1MDAyNmh0bWw1X2RybV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kcm1fY2hlY2tfYWxsX2tleV9lcnJvcl9zdGF0ZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZHJtX2NwaV9saWNlbnNlX2tleVx1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fbGl2ZV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9lYXJseV9tZWRpYV9mb3Jfc2hhcnBlcl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2FjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc19waGFzZV90d29cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NhcHRpb25fY2hhbmdlc19mb3JfbW9zYWljXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9jb21wb3NpdGVfZW1iYXJnb1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2NvbGRfc3RhcnRfYW5kX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNF9pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZHJjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNfdG9nZ2xlX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZW1iZWRkZWRfcGxheWVyX3Zpc2liaWxpdHlfc2lnbmFsc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfb2R1Y1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9mb3JtYXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zyb21fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlcXVlc3RfY2FuY2VsbGF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zcHNfcmV0cnlfYmFja29mZl9tZXRhZGF0YV9yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc3NkYWlfdHJhbnNpdGlvbl93aXRoX29ubHlfZW50ZXJfY3VlcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3RyaWdnZXJpbmdfY3VlcG9pbnRfZm9yX3Nsb3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3R2b3NfZGFzaFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19lbmNyeXB0ZWRfdnA5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuY291cmFnZV9hcnJheV9jb2FsZXNjaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZml4ZWRfbWVkaWFfZHVyYXRpb25fZm9yX3JlcXVlc3RcdTAwM2QwXHUwMDI2aHRtbDVfZmx1c2hfaW5kZXhfb25fdXBkYXRlZF90aW1lc3RhbXBfb2Zmc2V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZvcmNlX2RlYnVnX2RhdGFfZm9yX2NsaWVudF90bXBfbG9nc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3JjZV9zYWJyX2Zyb21fd2F0Y2hfc2VydmVyX2Zvcl9kZnNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZvcndhcmRfY2xpY2tfdHJhY2tpbmdfcGFyYW1zX29uX3JlbG9hZFx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX3ZpZGVvX3RvX2FkX29ubHlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19lbmRlZF90cmFuc2l0aW9uX2J1ZmZlcl9tc1x1MDAzZDIwMFx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19oYW5kb2ZmX2Nsb3NlX2VuZF9sb25nX3JlYnVmZmVyX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3NfbG9vcF9zZWVrX29mZnNldF9pbl9taWxsaVx1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX3Nsb3dfc2Vla19jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9nbF9mcHNfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmh0bWw1X2hhcmRfY2FwX21heF92ZXJ0aWNhbF9yZXNvbHV0aW9uX2Zvcl9zaG9ydHNcdTAwM2QwXHUwMDI2aHRtbDVfaGRjcF9wcm9iaW5nX3N0cmVhbV91cmxcdTAwM2RcdTAwMjZodG1sNV9oZWFkX21pc3Nfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X2hmcl9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9oaWdoX3Jlc19sb2dnaW5nX3BlcmNlbnRcdTAwM2QwLjAxXHUwMDI2aHRtbDVfaGlnaF9yZXNfc2Vla19sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2hvcGVsZXNzX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfaHVsaV9zc2RhaV91c2VfcGxheWJhY2tfc3RhdGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWRsZV9yYXRlX2xpbWl0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2lnbm9yZV9wYXJ0aWFsX3NlZ21lbnRfZnJvbV9saXZlX3JlYWRhaGVhZFx1MDAzZHRydWVcdTAwMjZodG1sNV9pZ25vcmVfc2FicnNlZWtfZHVyaW5nX2Fkc2tpcFx1MDAzZHRydWVcdTAwMjZodG1sNV9pbm5lcnR1YmVfaGVhcnRiZWF0c19mb3JfZmFpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX3dpZGV2aW5lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2p1bWJvX21vYmlsZV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QzLjBcdTAwMjZodG1sNV9qdW1ib191bGxfbm9uc3RyZWFtaW5nX21mZmFfbXNcdTAwM2Q0MDAwXHUwMDI2aHRtbDVfanVtYm9fdWxsX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldFx1MDAzZDEuM1x1MDAyNmh0bWw1X2thYnVraV9kcm1fbGl2ZV81MV9kZWZhdWx0X29mZlx1MDAzZHRydWVcdTAwMjZodG1sNV9saWNlbnNlX2NvbnN0cmFpbnRfZGVsYXlcdTAwM2Q1MDAwXHUwMDI2aHRtbDVfbGl2ZV9hYnJfaGVhZF9taXNzX2ZyYWN0aW9uXHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9hYnJfcmVwcmVkaWN0X2ZyYWN0aW9uXHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX25vcm1hbF9sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVuZXNzX2RyaWZ0X2NodW5rX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVuZXNzX2RyaWZ0X3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbG9nX2F1ZGlvX2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfZXhwZXJpbWVudF9pZF9mcm9tX3BsYXllcl9yZXNwb25zZV90b19jdG1wXHUwMDNkXHUwMDI2aHRtbDVfbG9nX2ZpcnN0X3NzZGFpX3JlcXVlc3RzX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3JlYnVmZmVyX2V2ZW50c1x1MDAzZDVcdTAwMjZodG1sNV9sb2dfc2Ficl9tYWxmb3JtZWRfY29uZmlnX3Byb3RvX3NoYXJlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdHJpZ2dlcl9ldmVudHNfd2l0aF9kZWJ1Z19kYXRhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ192c3NfZXh0cmFfbHJfY3BhcmFtc19mcmVxXHUwMDNkXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl9qaWdnbGVfY210X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfdGhyZXNob2xkX21zXHUwMDNkMzAwMDBcdTAwMjZodG1sNV9tYW5pZmVzdGxlc3NfdnA5X290Zlx1MDAzZHRydWVcdTAwMjZodG1sNV9tYXhfYnVmZmVyX2hlYWx0aF9mb3JfZG93bmdyYWRlX3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9tYXhfYnVmZmVyX2hlYWx0aF9mb3JfZG93bmdyYWRlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9tYXhfYnl0ZXJhdGVcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2Rpc2NvbnRpbnVpdHlfcmV3cml0ZV9jb3VudFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfZHJpZnRfcGVyX3RyYWNrX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9tYXhfaGVhZG1fZm9yX3N0cmVhbWluZ194aHJcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2xpdmVfZHZyX3dpbmRvd19wbHVzX21hcmdpbl9zZWNzXHUwMDNkNDY4MDAuMFx1MDAyNmh0bWw1X21heF9xdWFsaXR5X3NlbF91cGdyYWRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9yZWRpcmVjdF9yZXNwb25zZV9sZW5ndGhcdTAwM2Q4MTkyXHUwMDI2aHRtbDVfbWF4X3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21heF92ZXJ0aWNhbF9yZXNvbHV0aW9uXHUwMDNkMFx1MDAyNmh0bWw1X21heGltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9tZWRpYV9mdWxsc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X21lZGlhX3RpbWVfd2VpZ2h0X3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9tZmNfbWF4X3F1ZXVlX2xlbmd0aFx1MDAzZDFcdTAwMjZodG1sNV9tZmNfbWluX2J1ZmZlcl9oZWFsdGhcdTAwM2QwXHUwMDI2aHRtbDVfbWZjX3NlY3NfbGVmdF90b19zdGFydF9wcmVsb2FkXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9mYWlsdXJlc190b19kZWxheV9yZXRyeVx1MDAzZDNcdTAwMjZodG1sNV9taW5fbWVkaWFfZHVyYXRpb25fZm9yX2FwcGVuZF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9jYWJyX3NsaWNlXHUwMDNkMC4wMVx1MDAyNmh0bWw1X21pbl9wbGF5YmFja19hZHZhbmNlX2Zvcl9zdGVhZHlfc3RhdGVfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX2NhcF9zZWNzXHUwMDNkNjBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zZWNvbmRzX2JldHdlZW5fZm9ybWF0X3NlbGVjdGlvbnNcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc2VsZWN0YWJsZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfYnVmZmVyZWRfbWVkaWFfZHVyYXRpb25fZm9yX2xpdmVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX3NlY3NcdTAwM2QxLjJcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9kdXJhdGlvbl9saXZlX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfbWluX3VuZGVycnVuX2J1ZmZlcmVkX3ByZV9zdGVhZHlfc3RhdGVfbXNcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3VwZ3JhZGVfaGVhbHRoX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5pbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbW9ja19jb250ZW50X2JpbmRpbmdfZm9yX3Nlc3Npb25fdG9rZW5cdTAwM2RcdTAwMjZodG1sNV9tb3ZlX2Rpc2FibGVfYWlycGxheVx1MDAzZHRydWVcdTAwMjZodG1sNV9ub19wbGFjZWhvbGRlcl9yb2xsYmFja3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9uX29uZXNpZV9hdHRhY2hfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb2ZmbGluZV9kb3dubG9hZF90aW1lb3V0X3JldHJ5X2xpbWl0XHUwMDNkNFx1MDAyNmh0bWw1X29mZmxpbmVfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDJcdTAwMjZodG1sNV9vZmZsaW5lX3BsYXliYWNrX3Bvc2l0aW9uX3N5bmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb2ZmbGluZV9wcmV2ZW50X3JlZG93bmxvYWRfZG93bmxvYWRlZF92aWRlb1x1MDAzZHRydWVcdTAwMjZodG1sNV9vbmVzaWVfYXVkaW9fb25seV9wbGF5YmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9vbmVzaWVfY2hlY2tfdGltZW91dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vbmVzaWVfZGVmZXJfY29udGVudF9sb2FkZXJfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX2xpdmVfdHRsX3NlY3NcdTAwM2Q4XHUwMDI2aHRtbDVfb25lc2llX3ByZXdhcm1faW50ZXJ2YWxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3ByZXdhcm1fbWF4X2xhY3RfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3JlZGlyZWN0b3JfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfc2VuZF9zdHJlYW1lcl9jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X292ZXJyaWRlX21pY3JvX2Rpc2NvbnRpbnVpdGllc190aHJlc2hvbGRfbXNcdTAwM2QtMVx1MDAyNmh0bWw1X3BhY2VkX3BvbGxfbWluX2hlYWx0aF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3BhdXNlX29uX25vbmZvcmVncm91bmRfcGxhdGZvcm1fZXJyb3JzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlYWtfc2hhdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVyZl9jYXBfb3ZlcnJpZGVfc3RpY2t5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZvcm1hbmNlX2NhcF9mbG9vclx1MDAzZDM2MFx1MDAyNmh0bWw1X3BlcnNlcnZlX2F2MV9wZXJmX2NhcFx1MDAzZHRydWVcdTAwMjZodG1sNV9waWN0dXJlX2luX3BpY3R1cmVfbG9nZ2luZ19vbnJlc2l6ZV9yYXRpb1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21heF9idWZmZXJfaGVhbHRoX292ZXJzZW5kX2R1cmF0aW9uX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9taW5pbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fd2hpdGVsaXN0ZWRfZm9yX2ZyYW1lX2FjY3VyYXRlX3NlZWtzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9hdHRfaW5pdGlhbF9kZWxheV9tc1x1MDAzZDMwMDBcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X3JldHJ5X2RlbGF5X21zXHUwMDNkMTUwMFx1MDAyNmh0bWw1X3BsYXllcl9hdXRvbmF2X2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX2VzNlx1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfbWluX2J1aWxkX2NsXHUwMDNkLTFcdTAwMjZodG1sNV9wbGF5ZXJfcHJlbG9hZF9hZF9maXhcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcG9zdF9pbnRlcnJ1cHRfcmVhZGFoZWFkXHUwMDNkMjBcdTAwMjZodG1sNV9wcmVmZXJfbGFuZ3VhZ2Vfb3Zlcl9jb2RlY1x1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVmZXJfc2VydmVyX2J3ZTNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF9iZWZvcmVfaW5pdGlhbF9zZWVrX3dpdGhfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVsb2FkX3dhaXRfdGltZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcHJldmVudF9tb2JpbGVfYmFja2dyb3VuZF9wbGF5X29uX2V2ZW50X3NoYXJlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9wcm9iZV9wcmltYXJ5X2RlbGF5X2Jhc2VfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcHJvY2Vzc19hbGxfZW5jcnlwdGVkX2V2ZW50c1x1MDAzZHRydWVcdTAwMjZodG1sNV9xb2VfcHJvdG9fbW9ja19sZW5ndGhcdTAwM2QwXHUwMDI2aHRtbDVfcXVlcnlfc3dfc2VjdXJlX2NyeXB0b19mb3JfYW5kcm9pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9yYW5kb21fcGxheWJhY2tfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X3JlY29yZF9pc19vZmZsaW5lX29uX3BsYXliYWNrX2F0dGVtcHRfc3RhcnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVjb3JkX3VtcF90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVsb2FkX2J5X2thYnVraV9hcHBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX2NvbW1hbmRfdHJpZ2dlcmVkX2NvbXBhbmlvbnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcG9ydF9mYXRhbF9kcm1fcmVzdHJpY3RlZF9lcnJvcl9raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcG9ydF9zbG93X2Fkc19hc19lcnJvclx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXByZWRpY3RfaW50ZXJ2YWxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVxdWVzdF9vbmx5X2hkcl9vcl9zZHJfa2V5c1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWF4X2tiXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6ZV9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZWVrX2FmdGVyX3RpbWVfanVtcF9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzZWVrX2FmdGVyX3RpbWVfanVtcF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9yZXNldF9iYWNrb2ZmX29uX3VzZXJfc2Vla1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXNvdXJjZV9iYWRfc3RhdHVzX2RlbGF5X3NjYWxpbmdcdTAwM2QxLjVcdTAwMjZodG1sNV9yZXN0cmljdF9zdHJlYW1pbmdfeGhyX29uX3NxbGVzc19yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9kb3dubG9hZHNfZm9yX2V4cGlyYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX2tleV9lcnJvclx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9vbl9kcm1fdW5hdmFpbGFibGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfcXVvdGFfZXhjZWVkZWRfdmlhX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0dXJuX3BsYXliYWNrX2lmX2FscmVhZHlfcHJlbG9hZGVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2ZldGNoX29uX2lkbGVfbmV0d29ya19wcmVsb2FkZWRfcGxheWVyc1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX2xpdmVfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV91bHRyYV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbG9nX3NlcnZlcl94dGFnX3NlbGVjdGlvbl9vbmVzaWVfbWlzbWF0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9taW5fbWVkaWFfYnl0ZXNfZmFjdG9yX3RvX2FwcGVuZF9mb3Jfc3RyZWFtXHUwMDNkMC4wXHUwMDI2aHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9wYXJ0aWFsX3NlZ21lbnRfZXN0aW1hdGVkX2R1cmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVwb3J0X3JlcXVlc3RfY2FuY2VsbGF0aW9uX2luZm9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9yZXF1ZXN0X2xpbWl0X3Blcl9wZXJpb2RcdTAwM2QyMFx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9vbl9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2Vla19ub19zaGlmdF90b2xlcmFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9za2lwX2NsaWVudF9hdWRpb19pbml0X3NlbGVjdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3N1Y2Nlc3NmdWxfcHJvYmVfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX3VnY192b2Rfd2ViX2VtYmVkZGVkX2NsaWVudF9kZWZhdWx0X2JhbmR3aWR0aF9vbl9pcGhvbmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl91bnVzZWRfYmxvYXRfc2l6ZV9ieXRlc1x1MDAzZDBcdTAwMjZodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGVcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19qaWdnbGVfY210X2RlbGF5X21zXHUwMDNkODAwMFx1MDAyNmh0bWw1X3NlZWtfbmV3X2VsZW1fZGVsYXlfbXNcdTAwM2QxMjAwMFx1MDAyNmh0bWw1X3NlZWtfbmV3X2VsZW1fc2hvcnRzX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX2VsZW1lbnRfc2hvcnRzX3JldXNlX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9zb3VyY2Vfc2hvcnRzX3JldXNlX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9zb3VyY2Vfc2hvcnRzX3JldXNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfc2V0X2NtdF9kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QyMDAwMFx1MDAyNmh0bWw1X3NlbmRfY3VlcG9pbnRfaWRfaW5fYWRfYnJlYWtfcmVxdWVzdFx1MDAzZHRydWVcdTAwMjZodG1sNV9zZW5kX3NlcmlhbGl6ZWRfb25lX3RpbWVfcW9lX2NvbnRleHRfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZV9zdGFydF9zZWNvbmRzX3NlZWtfZm9yX3Bvc3RfbGl2ZV9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlcnZlcl9zdGl0Y2hlZF9kYWlfZGVjb3JhdGVkX3VybF9yZXRyeV9saW1pdFx1MDAzZDVcdTAwMjZodG1sNV9zZXNzaW9uX3BvX3Rva2VuX2ludGVydmFsX3RpbWVfbXNcdTAwM2Q5MDAwMDBcdTAwMjZodG1sNV9zZXRfdmlkZW9faWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX2FkX3Nsb3dfc3RhcnRfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX2FkX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kc1x1MDAzZDBcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19ub19nbGxhdFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3dfZHJjX3RvZ2dsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX2VtcHR5X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NraXBfc2xvd19hZF9kZWxheV9tc1x1MDAzZDE1MDAwXHUwMDI2aHRtbDVfc2xvd19zdGFydF9ub19tZWRpYV9zb3VyY2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2xvd19zdGFydF90aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zc2RhaV9lbmFibGVfbWVkaWFfZW5kX2N1ZV9yYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zc2RhaV9mYWlsdXJlX3JldHJ5X2xpbWl0XHUwMDNkMFx1MDAyNmh0bWw1X3NzZGFpX2xvZ19taXNzaW5nX2FkX2NvbmZpZ19yZWFzb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RhbGxfZmFjdG9yXHUwMDNkMC4wXHUwMDI2aHRtbDVfc3RhdGVmdWxfYXVkaW9fbm9ybWFsaXphdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zdGlja3lfZHVyYXRpb25fbW9zXHUwMDNkMFx1MDAyNmh0bWw1X3N0b3JlX3hocl9oZWFkZXJzX3JlYWRhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0cmVhbWluZ19yZXNpbGllbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0cmVhbWluZ194aHJfdGltZV9iYXNlZF9jb25zb2xpZGF0aW9uX21zXHUwMDNkLTFcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9sb2FkX3NwZWVkX2NoZWNrX2ludGVydmFsXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc1x1MDAzZDAuMjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzX29uX3RpbWVvdXRcdTAwM2QwLjFcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fbG9hZF9zcGVlZFx1MDAzZDEuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3NlZWtfbGF0ZW5jeV9mdWRnZVx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldF9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90aW1lb3V0X3NlY3NcdTAwM2QyLjBcdTAwMjZodG1sNV90cmFja19vdmVyc2hvb3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdHJhbnNmZXJfcHJvY2Vzc2luZ19sb2dzX2ludGVydmFsXHUwMDNkMTAwMFx1MDAyNmh0bWw1X3RyaWdnZXJfbG9hZGVyX3doZW5faWRsZV9uZXR3b3JrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VnY19saXZlX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VnY192b2RfYXVkaW9fNTFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdW5yZXBvcnRlZF9zZWVrX3Jlc2Vla19kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV91cGRhdGVfdGltZV9vbl9zZWVrZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX2RhdGVfbm93X2Zvcl9sb2NhbF9zdG9yYWdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9pbml0X3NlbGVjdGVkX2F1ZGlvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9wb3N0X2Zvcl9tZWRpYVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfc2hhcmVkX293bF9pbnN0YW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfcmVxdWVzdF9zbGljZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcF90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdmlkZW9fdHJhbnNpdGlvbl9lbmRwb2ludF9oZWFydGJlYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdmlkZW9fdGJkX21pbl9rYlx1MDAzZDBcdTAwMjZodG1sNV92aWV3cG9ydF91bmRlcnNlbmRfbWF4aW11bVx1MDAzZDAuMFx1MDAyNmh0bWw1X3ZvbHVtZV9zbGlkZXJfdG9vbHRpcFx1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJfcG9fZXhwZXJpbWVudF9pZHNcdTAwM2RbXVx1MDAyNmh0bWw1X3dlYl9wb19yZXF1ZXN0X2tleVx1MDAzZFx1MDAyNmh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2VicG9faWRsZV9wcmlvcml0eV9qb2JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2VicG9fa2Fpb3NfZGVmZXJfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV93b2ZmbGVfcmVzdW1lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dvcmthcm91bmRfZGVsYXlfdHJpZ2dlclx1MDAzZHRydWVcdTAwMjZpZGJfaW1tZWRpYXRlX2NvbW1pdFx1MDAzZHRydWVcdTAwMjZpZ25vcmVfb3ZlcmxhcHBpbmdfY3VlX3BvaW50c19vbl9lbmRlbWljX2xpdmVfaHRtbDVcdTAwM2R0cnVlXHUwMDI2aWxfYXR0YWNoX2NhY2hlX2xpbWl0XHUwMDNkdHJ1ZVx1MDAyNmlsX3BheWxvYWRfc2NyYXBpbmdcdTAwM2RcdTAwMjZpbF91c2Vfdmlld19tb2RlbF9sb2dnaW5nX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2aW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dFx1MDAzZDIwMDBcdTAwMjZpbmplY3RlZF9saWNlbnNlX2hhbmRsZXJfZXJyb3JfY29kZVx1MDAzZDBcdTAwMjZpbmplY3RlZF9saWNlbnNlX2hhbmRsZXJfbGljZW5zZV9zdGF0dXNcdTAwM2QwXHUwMDI2aW9zX2FuZF9hbmRyb2lkX2ZyZXNjYV9wb2xsaW5nX2RlbGF5X292ZXJyaWRlXHUwMDNkMFx1MDAyNml0ZHJtX2Fsd2F5c191c2Vfd2lkZXZpbmVfc2RrXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX2Rpc2FibGVfZXh0ZXJuYWxfa2V5X3JvdGF0aW9uX3N5c3RlbV9pZHNcdTAwM2RbXVx1MDAyNml0ZHJtX2VuYWJsZV9yZXZvY2F0aW9uX3JlcG9ydGluZ1x1MDAzZHRydWVcdTAwMjZpdGRybV9pbmplY3RlZF9saWNlbnNlX3NlcnZpY2VfZXJyb3JfY29kZVx1MDAzZDBcdTAwMjZpdGRybV9zZXRfc2Ficl9saWNlbnNlX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX2ZhaXJwbGF5X3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV91c2Vfd2lkZXZpbmVfc2RrX2Zvcl9wcmVtaXVtX2NvbnRlbnRcdTAwM2R0cnVlXHUwMDI2aXRkcm1fd2lkZXZpbmVfaGFyZGVuZWRfdm1wX21vZGVcdTAwM2Rsb2dcdTAwMjZqc29uX2NvbmRlbnNlZF9yZXNwb25zZVx1MDAzZHRydWVcdTAwMjZrZXZsYXJfY29tbWFuZF9oYW5kbGVyX2NvbW1hbmRfYmFubGlzdFx1MDAzZFtdXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX2lkZWFsX3RpbGVfd2lkdGhfcGVyY2VudGFnZVx1MDAzZDAuMjdcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3Jvd3NcdTAwM2QyXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21heF93aWR0aFx1MDAzZDUwMFx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9taW5fd2lkdGhcdTAwM2QyMDBcdTAwMjZrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmdcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfZXhwYW5kX3RvcFx1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9wbGF5X3BhdXNlX29uX3NjcmltXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9wbGF5YmFja19hc3NvY2lhdGVkX3F1ZXVlXHUwMDNkdHJ1ZVx1MDAyNmxhdW5jaF9saWNlbnNlX3NlcnZpY2VfYWxsX290dF92aWRlb3NfYXV0b21hdGljX2ZhaWxfb3Blblx1MDAzZHRydWVcdTAwMjZsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplXHUwMDNkdHJ1ZVx1MDAyNmxpdmVfY2hhdF9lbmFibGVfcnRhX21hbmFnZXJcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaHVua19yZWFkYWhlYWRcdTAwM2QzXHUwMDI2bG9nX2NsaWNrX3dpdGhfbGF5ZXJfZnJvbV9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlclx1MDAzZHRydWVcdTAwMjZsb2dfd2luZG93X29uZXJyb3JfZnJhY3Rpb25cdTAwM2QwLjFcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlXHUwMDNkdHJ1ZVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVfdWZwaFx1MDAzZHRydWVcdTAwMjZtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzXHUwMDNkNTAwMDAwXHUwMDI2bWF4X2NkZmVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDEwXHUwMDI2bWF4X3Jlc29sdXRpb25fZm9yX3doaXRlX25vaXNlXHUwMDNkMzYwXHUwMDI2bWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWlcdTAwM2R0cnVlXHUwMDI2bWR4X2xvYWRfY2FzdF9hcGlfYm9vdHN0cmFwX3NjcmlwdFx1MDAzZHRydWVcdTAwMjZtaW5fcHJlZmV0Y2hfb2Zmc2V0X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb25cdTAwM2QyMFx1MDAyNm10YV9kcmNfbXV0dWFsX2V4Y2x1c2lvbl9yZW1vdmFsXHUwMDNkdHJ1ZVx1MDAyNm11c2ljX2VuYWJsZV9zaGFyZWRfYXVkaW9fdGllcl9sb2dpY1x1MDAzZHRydWVcdTAwMjZtd2ViX2FjY291bnRfbGlua2luZ19ub2FwcFx1MDAzZHRydWVcdTAwMjZtd2ViX2RlYnVnX3N0aWNreV9zZXR0aW5nc1x1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9jbGlja190b19wbGF5X3BhdXNlXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2ZpbmVfc2NydWJiaW5nX2Zvcl9yZWNzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZFx1MDAzZHRydWVcdTAwMjZtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2tcdTAwM2R0cnVlXHUwMDI2bXdlYl9zaG9ydHNfY29tbWVudHNfcGFuZWxfaWRfY2hhbmdlXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfdXNlX21pY3JvZm9ybWF0X3RpdGxlX2Zvcl9wb3N0c1x1MDAzZHRydWVcdTAwMjZuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWxcdTAwM2QzMDAwMFx1MDAyNm5ldHdvcmtsZXNzX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2bmV3X2NvZGVjc19zdHJpbmdfYXBpX3VzZXNfbGVnYWN5X3N0eWxlXHUwMDNkdHJ1ZVx1MDAyNm5vX2NsaWVudF92ZV9hdHRhY2hfdW5sZXNzX3Nob3duXHUwMDNkdHJ1ZVx1MDAyNm5vX2ZpbGxlcl92aWRlb19mb3Jfc3NhX3BsYXliYWNrc1x1MDAzZHRydWVcdTAwMjZvdmVycmlkZV9kcm1fcmVxdWlyZWRfcGxheWJhY2tfcG9saWN5X2NoYW5uZWxzXHUwMDNkW11cdTAwMjZwYWdlaWRfYXNfaGVhZGVyX3dlYlx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYWRzX3NldF9hZGZvcm1hdF9vbl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Jvb3RzdHJhcF9tZXRob2RcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2NvbnRyb2xzX3ZvbHVtZV9jb250cm9sc191c2VfcGxheWVyX3Byb3BzXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9kZXN0cm95X29sZF92ZXJzaW9uXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9lbmFibGVfcGxheWJhY2tfcGxheWxpc3RfY2hhbmdlXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9uZXdfaW5mb19jYXJkX2Zvcm1hdFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aFx1MDAzZDc2OC4wXHUwMDI2cGxheWVyX3VuZGVybGF5X3ZpZGVvX3dpZHRoX2ZyYWN0aW9uXHUwMDNkMC42XHUwMDI2cGxheWVyX3dlYl9jYW5hcnlfc3RhZ2VcdTAwM2QwXHUwMDI2cGxheXJlYWR5X2ZpcnN0X3BsYXlfZXhwaXJhdGlvblx1MDAzZC0xXHUwMDI2cG9kY2FzdHNfdmlkZW9zdGF0c19kZWZhdWx0X2ZsdXNoX2ludGVydmFsX3NlY29uZHNcdTAwM2QwXHUwMDI2cG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzXHUwMDNkdHJ1ZVx1MDAyNnBvbHltZXJfdmVyaWZpeV9hcHBfc3RhdGVcdTAwM2R0cnVlXHUwMDI2cG9wdWxhdGVfZm9ybWF0X3NldF9pbmZvX2luX2NkZmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZwcmVza2lwX2J1dHRvbl9zdHlsZV9hZHNfYmFja2VuZFx1MDAzZFx1MDAyNnByb3hpbWFfYXV0b190aHJlc2hvbGRfbWF4X25ldHdvcmtfaW50ZXJydXB0aW9uX2R1cmF0aW9uX21zXHUwMDNkMFx1MDAyNnByb3hpbWFfYXV0b190aHJlc2hvbGRfbWluX2JhbmR3aWR0aF9lc3RpbWF0ZV9ieXRlc19wZXJfc2VjXHUwMDNkMFx1MDAyNnFvZV9zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX25vbl9hcHBfYWRzXHUwMDNkMFx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfcGxheWJhY2tcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja19hZHNcdTAwM2QwXHUwMDI2cmVhZF9haGVhZF9tb2RlbF9uYW1lXHUwMDNkXHUwMDI2cmVqZWN0X2hpZGRlbl9saXZlX2Zvcm1hdHNcdTAwM2R0cnVlXHUwMDI2cmVqZWN0X2xpdmVfdnA5X21xX2NsZWFyX3dpdGhfbm9fYWJyX2xhZGRlclx1MDAzZHRydWVcdTAwMjZyZWxheF9iZ19ub3RpZmljYXRpb25fdGhyb3R0bGluZ1x1MDAzZHRydWVcdTAwMjZyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1XHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9tYXN0aGVhZF9jaGFubmVsX2Jhbm5lcl9vbl9yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9zbG90X2lkX2V4aXRlZF90cmlnZ2VyX2Zvcl9kYWlfaW5fcGxheWVyX3Nsb3RfZXhwaXJlXHUwMDNkdHJ1ZVx1MDAyNnJlcGxhY2VfcGxheWFiaWxpdHlfcmV0cmlldmVyX2luX3dhdGNoXHUwMDNkdHJ1ZVx1MDAyNnJvc2Nhc1x1MDAzZHRydWVcdTAwMjZzYWJyX2VuYWJsZV9ob3N0X2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNnNlbGZfcG9kZGluZ19oZWFkZXJfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX2ludGVyc3RpdGlhbF9tZXNzYWdlXHUwMDI2c2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlX3N0cmluZ190ZW1wbGF0ZVx1MDAzZHNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZVx1MDAyNnNlbmRfY29uZmlnX2hhc2hfdGltZXJcdTAwM2QwXHUwMDI2c2VydmVfYWRhcHRpdmVfZm10c19mb3JfbGl2ZV9zdHJlYW1zXHUwMDNkdHJ1ZVx1MDAyNnNldF9tb2NrX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZFx1MDAyNnNoZWxsX2xvYWRfZ2NmXHUwMDNkdHJ1ZVx1MDAyNnNob3J0ZW5faW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dFx1MDAzZHRydWVcdTAwMjZzaG9ydHNfbW9kZV90b19wbGF5ZXJfYXBpXHUwMDNkdHJ1ZVx1MDAyNnNob3VsZF9hdHRyaWJ1dGVfdG9fd2F0Y2hfd2l0aF9zb3VyY2VcdTAwM2RbXVx1MDAyNnNob3VsZF9hdHRyaWJ1dGVfdmlld3NfdG9fd2F0Y2hfd2l0aF9zb3VyY2VcdTAwM2R0cnVlXHUwMDI2c2ltcGx5X2VtYmVkZGVkX2VuYWJsZV9ib3RndWFyZFx1MDAzZHRydWVcdTAwMjZzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudFx1MDAzZDRcdTAwMjZzbWFsbF9hdmF0YXJzX2Zvcl9jb21tZW50c1x1MDAzZHRydWVcdTAwMjZzbWFydF9za2lwX3dlYl9wbGF5ZXJfYmFyX21pbl9ob3Zlcl9sZW5ndGhfbWlsbGlzZWNvbmRzXHUwMDNkMTAwMFx1MDAyNnNtYXJ0ZXJfdmVfZGVkdXBwaW5nXHUwMDNkdHJ1ZVx1MDAyNnNwZWVkbWFzdGVyX2NhbmNlbGxhdGlvbl9tb3ZlbWVudF9kcFx1MDAzZDEwXHUwMDI2c3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZVx1MDAzZDIuMFx1MDAyNnNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXNcdTAwM2Q1MDBcdTAwMjZzdG9wX2hhbmRsaW5nX2NsaWNrX2Zvcl9ub25fcmVuZGVyaW5nX292ZXJsYXlfbGF5b3V0XHUwMDNkdHJ1ZVx1MDAyNnN0cmVhbWluZ19kYXRhX2VtZXJnZW5jeV9pdGFnX2JsYWNrbGlzdFx1MDAzZFtdXHUwMDI2c3Vic3RpdHV0ZV9hZF9jcG5fbWFjcm9faW5fc3NkYWlcdTAwM2R0cnVlXHUwMDI2c3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2dHJpbV9hZGFwdGl2ZV9mb3JtYXRzX3NpZ25hdHVyZV9jaXBoZXJfZm9yX3NhYnJfY29udGVudFx1MDAzZHRydWVcdTAwMjZ0dmh0bWw1X3VucGx1Z2dlZF9wcmVsb2FkX2NhY2hlX3NpemVcdTAwM2Q1XHUwMDI2dXNlX2N1ZV9yYW5nZV9tYXJrZXJfcG9zaXRpb25cdTAwM2R0cnVlXHUwMDI2dXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyXHUwMDNkdHJ1ZVx1MDAyNnVzZV9leHRyYV9yZWFkYWhlYWRfbm9ybWFsX2xhdGVuY3lfZnJhbWVfbGV2ZWxfc3RyZWFtaW5nX2luX2JhY2tlbmRfZXhwZXJpbWVudFx1MDAzZFtdXHUwMDI2dXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzXHUwMDNkdHJ1ZVx1MDAyNnVzZV9nZW5lcmF0ZWRfbWVkaWFfa2V5c19pbl9mYWlycGxheV9yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZ1c2VfaW5saW5lZF9wbGF5ZXJfcnBjXHUwMDNkdHJ1ZVx1MDAyNnVzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2dXNlX3BsYXlhYmlsaXR5X3Jlc3VsdF9mb3JfY2FuX3BsYXlfc3RhdHVzXHUwMDNkdHJ1ZVx1MDAyNnVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ydGFfZm9yX3BsYXllclx1MDAzZHRydWVcdTAwMjZ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZ1x1MDAzZHRydWVcdTAwMjZ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2VcdTAwM2R0cnVlXHUwMDI2dmFyaWFibGVfYnVmZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2dnA5X2RybV9saXZlXHUwMDNkdHJ1ZVx1MDAyNnZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc19wbGF5YmFja191c2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2dnNzX3VzZV9wb3N0X3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2d2ViX2FwaV91cmxcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX2V4cG9ydF90b19nZWxcdTAwM2R0cnVlXHUwMDI2d2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZVx1MDAzZDUwMC4wXHUwMDI2d2ViX2J1dHRvbl92aWV3X21vZGVsX25vbl9udWxsaXNoX2RhdGFcdTAwM2R0cnVlXHUwMDI2d2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZFx1MDAzZHRydWVcdTAwMjZ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGVcdTAwM2RcdTAwMjZ3ZWJfY29sbGVjdF9vZmZsaW5lX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2RlZHVwZV92ZV9ncmFmdGluZ1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jYXB0aW9uX29wYWNpdHlfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvblx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2FiX3JzcF9jbFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NhcHRpb25fbGFuZ3VhZ2VfcHJlZmVyZW5jZV9zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9lcnJvcl8yMDRcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9rZXlib2FyZF9zaG9ydGN1dF9mb3JfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zaG9wcGluZ190aW1lbHlfc2hlbGZfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc21hbGxfc3BlZWRtYXN0ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV90aW1lbHlfYWN0aW9uc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZml4X2ZpbmVfc2NydWJiaW5nX2ZhbHNlX3BsYXlcdTAwM2R0cnVlXHUwMDI2d2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zXHUwMDNkMjgwMDBcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzX21lbnVfaXRlbVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2d2ViX2dlbF9kZWJvdW5jZV9tc1x1MDAzZDEwMDAwXHUwMDI2d2ViX2dlbF90aW1lb3V0X2NhcFx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV9uZXh0X2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV93YXRjaF9pbmZvX2VtcHR5XHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3lvdXJfZGF0YV9vbl9hdXRvbW90aXZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9sb2FkX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4zXHUwMDI2d2ViX2xvZ2dpbmdfbWF4X2JhdGNoXHUwMDNkMTAwXHUwMDI2d2ViX21heF90cmFjaW5nX2V2ZW50c1x1MDAzZDUwXHUwMDI2d2ViX21vbm9tZXJfd2ViX2NvbXBvbmVudF93cmFwcGVyX2hhbmRsZV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2d2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjFcdTAwMjZ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZ1x1MDAzZHRydWVcdTAwMjZ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdFx1MDAzZFtdXHUwMDI2d2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9hcGlfbG9nZ2luZ19mcmFjdGlvblx1MDAzZDAuMDFcdTAwMjZ3ZWJfcGxheWVyX2JpZ19tb2RlX3NjcmVlbl93aWR0aF9jdXRvZmZcdTAwM2Q0MDAxXHUwMDI2d2ViX3BsYXllcl9kZWZhdWx0X3BlZWtpbmdfcHhcdTAwM2QzNlx1MDAyNndlYl9wbGF5ZXJfZGlzYWJsZV9ncmlkX29uX29mZmxpbmVfc2xhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfZXhjbHVzaXZlc19vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX3Byb21vdGlvbl90ZXh0X29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzXHUwMDNkMTZcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNfZmxvYXRcdTAwM2QxNi4wXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfcGxheWxpc3RfdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaXBwX2NhbmFyeV90eXBlX2Zvcl9sb2dnaW5nXHUwMDNkXHUwMDI2d2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXNcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9taW5pcGxheWVyX2luX2NvbnRleHRfbWVudVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21vdXNlX2lkbGVfd2FpdF90aW1lX21zXHUwMDNkMzAwMFx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnRcdTAwM2RmYWtlXHUwMDI2d2ViX3BsYXllcl9vZmZsaW5lX3BsYXlsaXN0X2F1dG9fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3BsYXlhYmxlX3NlcXVlbmNlc19yZWZhY3Rvclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3F1aWNrX2hpZGVfdGltZW91dF9tc1x1MDAzZDI1MFx1MDAyNndlYl9wbGF5ZXJfc2Vla19jaGFwdGVyc19ieV9zaG9ydGN1dFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9hZGRpdGlvbmFsX2Fycm93X3RocmVzaG9sZFx1MDAzZDIwMFx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGVcdTAwM2QwLjlcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb25cdTAwM2QxMDAwXHUwMDI2d2ViX3BsYXllcl9zZW50aW5lbF9pc191bmlwbGF5ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9zaG93X211c2ljX2luX3RoaXNfdmlkZW9fZ3JhcGhpY1x1MDAzZHZpZGVvX3RodW1ibmFpbFx1MDAyNndlYl9wbGF5ZXJfc3NfZGFpX2FkX2ZldGNoaW5nX3RpbWVvdXRfbXNcdTAwM2QxNTAwMFx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2Q0MDAwXHUwMDI2d2ViX3BsYXllcl90cmFuc2Zlcl90aW1lb3V0X3RocmVzaG9sZF9tc1x1MDAzZDEwODAwMDAwXHUwMDI2d2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnRcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfY2luZW1hdGljX2xhYmVsXzJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfbmV3X2FwaV9mb3JfcXVhbGl0eV9wdWxsYmFja1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9zY3JlZW5fd2lkdGhfZm9yX2JpZ19tb2RlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9ncmVzc19iYXJfZHJhZ2dhYmxlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtaXhfYWxsb3dfdXBfdG9fM3hfcGxheWJhY2tfcmF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtb3ZlX2Jyb2tlbl9zdWJzY3JpYmVfZW5kc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9tb3VzZW1vdmVfaW50ZXJ2YWxcdTAwM2QwXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0XHUwMDNkMFx1MDAyNndlYl9zZXR0aW5nc19tZW51X3N1cmZhY2VfY3VzdG9tX3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXR0aW5nc191c2VfaW5wdXRfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnNcdTAwM2RbZXZlbnQsIGNvbW1hbmRdXHUwMDI2d2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXlcdTAwM2QwXHUwMDI2d2ViX3VuaWZpZWRfZmV0Y2hcdTAwM2R0cnVlXHUwMDI2d2ViX3dhdGNoX2Rpc2FibGVfYWNjb3VudF9sZXZlbF9jYXB0aW9uc19zZXR0aW5nc1x1MDAzZHRydWVcdTAwMjZ3ZWJwb19leGl0X29uX25ldF9lcnJcdTAwM2R0cnVlXHUwMDI2d2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlc1x1MDAzZDk5OTlcdTAwMjZ3aXpfZGlmZl9vdmVyd3JpdGFibGVcdTAwM2R0cnVlXHUwMDI2d2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4XHUwMDNkdHJ1ZVx1MDAyNndvZmZsZV9lbmFibGVfZG93bmxvYWRfc3RhdHVzXHUwMDNkdHJ1ZVx1MDAyNndyaXRlX3JlbG9hZF9wbGF5ZXJfcmVzcG9uc2VfdG9rZW5fdG9fdXN0cmVhbWVyX2NvbmZpZ19mb3Jfdm9kXHUwMDNkdHJ1ZVx1MDAyNndzX2F2MV9tYXhfaGVpZ2h0X2Zsb29yXHUwMDNkMFx1MDAyNndzX2F2MV9tYXhfd2lkdGhfZmxvb3JcdTAwM2QwXHUwMDI2d3NfdXNlX2NlbnRyYWxpemVkX2hxYV9maWx0ZXJcdTAwM2R0cnVlXHUwMDI2d3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNnl0Y3NpX2RlYnVnX21heF9zaXplXHUwMDNkMTAwXHUwMDI2eXRpZGJfcmVtYWtlX2RiX3JldHJpZXNcdTAwM2QxXHUwMDI2eXRpZGJfcmVvcGVuX2RiX3JldHJpZXNcdTAwM2QwXHUwMDI2eXRpZGJfdHJhbnNhY3Rpb25fZW5kZWRfZXZlbnRfcmF0ZV9saW1pdFx1MDAzZDAuMDIiLCJzdGFydE11dGVkIjpmYWxzZSwibW9iaWxlSXBob25lU3VwcG9ydHNJbmxpbmVQbGF5YmFjayI6dHJ1ZSwiaXNNb2JpbGVEZXZpY2UiOmZhbHNlLCJjc3BOb25jZSI6IjBURUVlWlJ3VmFKSnVKMGpETGYwTlEiLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJsb2FkZXJVcmwiOiJodHRwczovL2hlYXZlbndlYWx0aC5vcmcvIiwiZGlzYWJsZUF1dG9uYXYiOmZhbHNlLCJpc0VtYmVkIjp0cnVlLCJkaXNhYmxlQ2FzdEFwaSI6ZmFsc2UsInNlcmlhbGl6ZWRFbWJlZENvbmZpZyI6Int9IiwiZGlzYWJsZU1keENhc3QiOmZhbHNlLCJkYXRhc3luY0lkIjoiVjIzZTZkNzUxfHwiLCJzdG9yZVVzZXJWb2x1bWUiOnRydWUsImRpc2FibGVQYWlkQ29udGVudE92ZXJsYXkiOnRydWUsImVuY3J5cHRlZEhvc3RGbGFncyI6IkFDbWJsQlgyMk9YWlhJczM1S0l6SnhJRWJzMG9nVG1TaGMwVnY0TEU4cll4WF94elJGOUVhb1ZBd2V1dkcxTXdjRDVnTW40UkhqR0stSWpGUktVUThXbE1QZVdYQjByN1pVSE5rR0hjUHFja0Q2dDBXT3RKY0hyTm16SjJ2b1EiLCJjYW5hcnlTdGFnZSI6IiIsInRydXN0ZWRKc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyJ9LCJ0cnVzdGVkQ3NzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyJ9LCJob3VzZUJyYW5kVXNlclN0YXR1cyI6Im5vdF9wcmVzZW50IiwiZW1iZWRzRW5hYmxlRW1jM2RzIjp0cnVlLCJkaXNhYmxlT3JnYW5pY1VpIjp0cnVlLCJlbmFibGVTYWJyT25FbWJlZCI6ZmFsc2UsInNlcmlhbGl6ZWRDbGllbnRFeHBlcmltZW50RmxhZ3MiOiI0NTcxODE3NVx1MDAzZDAuMFx1MDAyNjQ1NzE4MTc2XHUwMDNkMC4wMVx1MDAyNjQ1NzI1NTM4XHUwMDNkMC4wXHUwMDI2NDU3MjU1MzlcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQxXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDJcdTAwM2QwLjBcdTAwMjY0NTcyNTU0M1x1MDAzZDAuMFx1MDAyNjQ1NzI4NTUzXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI4NTcyXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI5MjE1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzA0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzkxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzM1NDI4XHUwMDNkNDAwMC4wXHUwMDI2NDU3Mzc0ODhcdTAwM2QwLjBcdTAwMjY0NTczNzQ4OVx1MDAzZDAuMFx1MDAyNjQ1NzM5MDIzXHUwMDNkMC4wXHUwMDI2NDU3NDEzMzlcdTAwM2QwLjBcdTAwMjY0NTc0MTc3M1x1MDAzZDAuMFx1MDAyNjQ1NzQzMjI4XHUwMDNkMC4wXHUwMDI2NDU3NDU2MTBcdTAwM2R0cnVlXHUwMDI2NDU3NDY5NjZcdTAwM2QwLjBcdTAwMjY0NTc0Njk2N1x1MDAzZDAuMFx1MDAyNjQ1NzQ3MDUzXHUwMDNkMC4wXHUwMDI2NDU3NTA5NDdcdTAwM2QxMDI0MFx1MDAyNjQ1NzU2MjAxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzU2ODcyXHUwMDNkMC4wXHUwMDI2NDU3NTc0MjZcdTAwM2QwLjBcdTAwMjY0NTc1NzQyN1x1MDAzZDAuMFx1MDAyNjQ1NzU3NzUwXHUwMDNkMC4wXHUwMDI2NDU3NTc5NTdcdTAwM2QwLjBcdTAwMjY0NTc1ODQ2N1x1MDAzZDAuMFx1MDAyNjQ1NzYwMDE4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzYxNzYwXHUwMDNkMjAwXHUwMDI2NDU3NjI4MzhcdTAwM2QwXHUwMDI2NDU3NjQyMTdcdTAwM2QwLjBcdTAwMjY0NTc2NDI1Mlx1MDAzZDAuMFx1MDAyNjQ1NzY0NTIzXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjRcdTAwM2QwLjBcdTAwMjY0NTc2NDU5M1x1MDAzZDAuMFx1MDAyNjQ1NzY1MDc3XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY1NTY4XHUwMDNkMC4wXHUwMDI2NDU3NjU2MDJcdTAwM2QwLjBcdTAwMjY0NTc2NTY4MFx1MDAzZHRydWVcdTAwMjY0NTc2NjUxMVx1MDAzZHRydWVcdTAwMjY0NTc2Nzc2M1x1MDAzZDAuMFx1MDAyNjQ1NzY3OTQzXHUwMDNkMC4wXHUwMDI2NDU3NjgzNDBcdTAwM2QwLjBcdTAwMjY0NTc2ODQzMFx1MDAzZDAuMFx1MDAyNjQ1NzY5MTE5XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY5MjE0XHUwMDNkMC4wXHUwMDI2NDU3NzAwMDFcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMlx1MDAzZDAuMFx1MDAyNjQ1NzcwMTM1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxMjg4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxODkwXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDNcdTAwM2QwLjBcdTAwMjY0NTc3MzYwNFx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzU3XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzc1NzkxXHUwMDNkMC4wXHUwMDI2NDU3NzU3OTJcdTAwM2QwLjBcdTAwMjY0NTc3NjE5MFx1MDAzZDAuMFx1MDAyNjQ1Nzc4NjYzXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NzFcdTAwM2QwLjBcdTAwMjY0NTc4Mzg3NVx1MDAzZHRydWVcdTAwMjY0NTc4NDQzOVx1MDAzZDBcdTAwMjY0NTc4NjQ0M1x1MDAzZDAuMFx1MDAyNjQ1Nzg3OTQ4XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg5NDc0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzkxMTE3XHUwMDNkMC4wXHUwMDI2NDU3OTExMThcdTAwM2QwLjBcdTAwMjY0NTc5MTExOVx1MDAzZDAuMFx1MDAyNjQ1NzkzNzEwXHUwMDNkMC4wXHUwMDI2NDU3OTQ0NDFcdTAwM2QwLjBcdTAwMjY0NTc5NDg2OFx1MDAzZHRydWVcdTAwMjY0NTc5NzcyMVx1MDAzZHRydWVcdTAwMjY0NTc5Nzk2M1x1MDAzZDAuMFx1MDAyNjQ1ODAyMTIzXHUwMDNkMC4wXHUwMDI2NDU4MDM3NTRcdTAwM2QwLjBcdTAwMjY0NTgwNDc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA1Njk1XHUwMDNkMC4wXHUwMDI2NDU4MDY1NTVcdTAwM2QyXHUwMDI2NDU4MDc0MzJcdTAwM2QwLjBcdTAwMjY0NTgwNzQ4NFx1MDAzZFx1MDAyNjQ1ODA3NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzJcdTAwM2QwLjBcdTAwMjY0NTgwNzc3M1x1MDAzZDAuMFx1MDAyNjQ1ODA4NzYyXHUwMDNkMFx1MDAyNjQ1ODEzODMxXHUwMDNkdHJ1ZVx1MDAyNjQ1ODE0NDgwXHUwMDNkdHJ1ZVx1MDAyNjQ1ODE1MDExXHUwMDNkMC4wXHUwMDI2NDU4MTU2MzBcdTAwM2QwXHUwMDI2NDU4MTY4ODhcdTAwM2QwLjBcdTAwMjY0NTgxODEyOFx1MDAzZDAuMCJ9fSwiWFNSRl9GSUVMRF9OQU1FIjoic2Vzc2lvbl90b2tlbiIsIlhTUkZfVE9LRU4iOiJRVU00Wm05clZDMWhURFV3VVU5eWJXTXhNbVJyZFU1U2IwWTJWSHhCUjNKaVMyRnVNRFE1VG14alJHVmtSa1ppTFhWamFrd3dVakZzVUZSQmVWbHVRbVpFVFV0TlVFc3dVVkpIVW5CS1QyVjZVa2cwVjFGSGJ6ZHplV0ZVVm5aWGIwUldWVVEzTWtFeWNTMWhaR294Tm5WQ2VGaFJhbkJVYkVwRVdEUkxXR01cdTAwM2QiLCJTRVJWRVJfVkVSU0lPTiI6InByb2QiLCJEQVRBU1lOQ19JRCI6IlYyM2U2ZDc1MXx8IiwiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiOiJDS3VLbk5NR0VLN1d6eHdRNE9yUkhCQ0c0WUFURUwyWnNBVVF6Ti11QlJEYTk4NGNFSXFIdUNJUWc0ZTRJaENIck00Y0VONjh6aHdRaWJET0hCREo5b0FURUx5azBCd1FtWTJ4QlJDVjc5RWNFTDZFMFJ3UXVmRFJIQkQ1OHRFY0VMMjJyZ1VROGJUUUhCQ2Z6NEFURU9icjBSd1E0TGZSSEJEOHNzNGNFSTZRMFJ3UTBNYlJIQkRCajlBY0VMamt6aHdRcEtuUkhCQ3hrZEVjRVBiMzBSd1FnYzNPSEJDSWtORWNFTWFOMGh3UTlxdXdCUkNkMExBRkVKMkd1Q0lRdHJXQUV4QUFFT240MFJ3UXRfaUFFeEM5aXJBRkVPR0NnQk1ReXZ1QUV4Q0w5ODhjRVBMTTBSd1FpZVRSSEJEdjN0RWNFT3ZOMEJ3UTlPblJIQ3BzUTBGTlUxUkNWbEF0V25FdFJFeHBWVVZ3VVVOdVFUYzFSbGhMYTBKMVFWZHhUbFZRTVVGTlFYRjNjMEUxUVdKUmRXVnJURTF4UTNOQ1FVOVJjbWRRTjBweVltdENkVk5HUmpsRVRVSnpVMU5DWTNNNWVGTm1XakZSV0dOTVQyUkhNV0UzZGtoMGMwZElVV005TUFBJTNEIiwiUk9PVF9WRV9UWVBFIjoxNjYyMywiQ0xJRU5UX1BST1RPQ09MIjoiaDIiLCJDTElFTlRfVFJBTlNQT1JUIjoidGNwIiwiUExBWUVSX0NMSUVOVF9WRVJTSU9OIjoiMS4yMDI2MDcyMS4wOC4wMCIsIlRJTUVfQ1JFQVRFRF9NUyI6MTc4NTEzNjQyNzQzNCwiVkFMSURfU0VTU0lPTl9URU1QREFUQV9ET01BSU5TIjpbInlvdXR1LmJlIiwieW91dHViZS5jb20iLCJ3d3cueW91dHViZS5jb20iLCJ3ZWItZ3JlZW4tcWEueW91dHViZS5jb20iLCJ3ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIndlYi1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSIsIm0ueW91dHViZS5jb20iLCJtd2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwibXdlYi1yZWxlYXNlLXFhLnlvdXR1YmUuY29tIiwibXdlYi1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSIsInN0dWRpby55b3V0dWJlLmNvbSIsInN0dWRpby1ncmVlbi1xYS55b3V0dWJlLmNvbSIsInN0dWRpby1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSJdLCJMT1RUSUVfVVJMIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL2VtYmVkcy8zMmQyYWM4My9sb3R0aWUtbGlnaHQudmZsc2V0L2xvdHRpZS1saWdodC5qcyJ9LCJJREVOVElUWV9NRU1FTlRPIjp7InZpc2l0b3JfZGF0YSI6IkNnc3RUbGxOWDJ4cWNEVmFRU2lyaXB6VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnSG1MZkFncmNBakl3TGxsVVBXRkVNMjAyWm13NGJHOURiVEZHUVVaNk1rMVBSMDlEWVhCUGFIVjNMWHBNV0VGRVowbFpNbVpwVTE4d2NVTldVemxFTmtkQlJWaHVPVEpvZDFFNE9GZEhVVFZPWDBoelpGTnpaRlpQZDNwRE9HVlJUMnhLV1VONlh6SnBkVzVHWkY5YWNXNWFSV280VUdkMldYTkxiMmRDY1UxVkxUSm5jSEJNTmtkYWJteFFiMnd3YjFKV1JWcEhkbXhrVkRaR1oyczNZM0k1WTA5c09GbEVSMXA1VkZWNVNIa3hVbVY0Umw5MlpuQkZkRU5RZURkWVh6aHhZVWMzVkZsc05rZEVUREp4U0RJNWNGRjBSbFpsZG05MFFrMTJOelZ4UkZSTU5YbEdjMmRmY0dsU1lsQkxWbUZPYkZoa09IUmxiRk5zT0ZGalZuQlhSbEpPYlhjdFRqbHVVRWhET0ZWS2NYRTFNVVJyY1U5WVFrWnNlbmxEVm5WNllYcDBMVVpLU0ZaM1RrSXpRMDlMUlRaUllsbG9NRzVCVDJKTlNGaFJabWRhY2tGbmJGOTZVMUZHZEdsbWRFSnZNVkIyUlZwaVJFaEJXV3hYT0UxV2R3JTNEJTNEIn0sIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIjp0cnVlLCJQTEFZRVJfVkFSUyI6eyJlbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiR2V0RW1iZWRkZWRQbGF5ZXJfcmlkXCIsXCJ2YWx1ZVwiOlwiMHg1MmQ0YTUyYmQ2MjlhMjRiXCJ9XX0se1wic2VydmljZVwiOlwiR0ZFRURCQUNLXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiR1VJREVEX0hFTFBcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJFQ0FUQ0hFUlwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY2xpZW50LnZlcnNpb25cIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0XCJ9LHtcImtleVwiOlwiY2xpZW50Lm5hbWVcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9XX1dLFwicmVzcG9uc2VJZFwiOlwiSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWlwiLFwid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVwiOntcImhhc0RlY29yYXRlZFwiOnRydWV9fSxcImVtYmVkUHJldmlld1wiOntcInRodW1ibmFpbFByZXZpZXdSZW5kZXJlclwiOntcInRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCJ0cmFkaW5nMzAyXCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90Wk9TUUJQOTQ2US9kZWZhdWx0LndlYnBcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS90Wk9TUUJQOTQ2US9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0ViQ0tnQkVGNUlWZktyaXFrRERnZ0JGUUFBaUVJWUFYQUJ3QUVHXFx1MDAyNnJzXHUwMDNkQU9uNENMRDZTLWtJZXdrNmtSRnBrOG5NZ2VRRUg2cFdZUVwiLFwid2lkdGhcIjoxNjgsXCJoZWlnaHRcIjo5NH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RaT1NRQlA5NDZRL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWJDTVFCRUc1SVZmS3JpcWtERGdnQkZRQUFpRUlZQVhBQndBRUdcXHUwMDI2cnNcdTAwM2RBT240Q0xBNHBRZTBEZHBvQVRVVjJkS29DUWtqYV8tN3R3XCIsXCJ3aWR0aFwiOjE5NixcImhlaWdodFwiOjExMH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL3RaT1NRQlA5NDZRL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWNDUFlCRUlvQlNGWHlxNHFwQXc0SUFSVUFBSWhDR0FGd0FjQUJCZ1x1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEFFTkFmVGlBbU5YRWtmeHJpdHFPVmN4RjFwOWdcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90Wk9TUUJQOTQ2US9tcWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjozMjAsXCJoZWlnaHRcIjoxODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS90Wk9TUUJQOTQ2US9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VjQ05BQ0VMd0JTRlh5cTRxcEF3NElBUlVBQUloQ0dBRndBY0FCQmdcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xBZzJlOGhUU0c5OXBpeDFBVE5vZFBtNUMwM2tBXCIsXCJ3aWR0aFwiOjMzNixcImhlaWdodFwiOjE4OH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpX3dlYnAvdFpPU1FCUDk0NlEvaHFkZWZhdWx0LndlYnBcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6MzYwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC90Wk9TUUJQOTQ2US9zZGRlZmF1bHQud2VicFwiLFwid2lkdGhcIjo2NDAsXCJoZWlnaHRcIjo0ODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL3RaT1NRQlA5NDZRL21heHJlc2RlZmF1bHQud2VicFwiLFwid2lkdGhcIjoxOTIwLFwiaGVpZ2h0XCI6MTA4MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBZ1E4RnNpRXdqRV80ZTFwX0tWQXhWdmx2UUhIVEdFTlJuS0FRVFVnMlpXXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkdFpPU1FCUDk0NlFcXHUwMDI2cHBcdTAwM2QwZ2NKQ1hvQVJQaGRfZlhrXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9XQVRDSFwiLFwicm9vdFZlXCI6MzgzMn19LFwid2F0Y2hFbmRwb2ludFwiOntcInZpZGVvSWRcIjpcInRaT1NRQlA5NDZRXCIsXCJwbGF5ZXJQYXJhbXNcIjpcIjBnY0pDWG9BUlBoZF9mWGtcIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IHRyYWRpbmczMDJcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FnUThGc2lFd2pFXzRlMXBfS1ZBeFZ2bHZRSEhUR0VOUmtcdTAwM2RcIn19LFwidmlkZW9EZXRhaWxzXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXJcIjp7XCJjaGFubmVsVGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8veXQzLmdncGh0LmNvbS95dGMvQUlkcm9fbkI0a3NSRDlLMHBiVTd4N3JfQWd2T3pLOXpTVG44SjBzUDI5OWRvUFFcdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcInRyYWRpbmczMDJcIixcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E0NklDSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWnlnRUUxSU5tVmdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRaT1NRQlA5NDZRXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2R0Wk9TUUJQOTQ2UVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19XX0sXCJzdWJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiMjhLIHZpZXdzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FjUTQ2SUNJaE1JeFAtSHRhZnlsUU1WYjViMEJ4MHhoRFVaXCJ9fSxcImV4cGFuZGVkUmVuZGVyZXJcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIlRyYWRpbmdcIn1dfSxcInN1YnRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCI4NiBzdWJzY3JpYmVyc1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE1S0lDSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWlwifX0sXCJjaGFubmVsVGh1bWJuYWlsRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUl4UC1IdGFmeWxRTVZiNWIwQngweGhEVVp5Z0VFMUlObVZnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDZnpmWkRUZWZzMHJUN1VnaE1XMHlvZ1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvY2hhbm5lbC9VQ2Z6ZlpEVGVmczByVDdVZ2hNVzB5b2dcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fX0sXCJ2aWRlb0R1cmF0aW9uU2Vjb25kc1wiOlwiNDFcIixcIndlYlBsYXllckFjdGlvbnNQb3J0aW5nXCI6e1wic3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWnlnRUUxSU5tVmdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi9zdWJzY3JpYmVcIn19LFwic3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNmemZaRFRlZnMwclQ3VWdoTVcweW9nXCJdLFwicGFyYW1zXCI6XCJFZ0lJQnhnQlwifX0sXCJ1bnN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUl4UC1IdGFmeWxRTVZiNWIwQngweGhEVVp5Z0VFMUlObVZnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vdW5zdWJzY3JpYmVcIn19LFwidW5zdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ2Z6ZlpEVGVmczByVDdVZ2hNVzB5b2dcIl0sXCJwYXJhbXNcIjpcIkNnSUlCeGdCXCJ9fX0sXCJhY3Rpb25CYXJCdXR0b25zXCI6W3tcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwiaWNvblwiOntcImljb25UeXBlXCI6XCJMSU5LXCJ9LFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUThGc1lBQ0lUQ01UX2g3V244cFVERlctVzlBY2RNWVExR2NvQkJOU0RabFlcdTAwM2RcIixcImNvcHlUZXh0RW5kcG9pbnRcIjp7XCJ0ZXh0XCI6XCJodHRwczovL3lvdXR1LmJlL3RaT1NRQlA5NDZRXCIsXCJzdWNjZXNzQWN0aW9uc1wiOlt7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1ROEZzWUFDSVRDTVRfaDdXbjhwVURGVy1XOUFjZE1ZUTFHY29CQk5TRFpsWVx1MDAzZFwiLFwib3BlblBvcHVwQWN0aW9uXCI6e1wicG9wdXBcIjp7XCJub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlclwiOntcInJlc3BvbnNlVGV4dFwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiTGluayBjb3BpZWQgdG8gY2xpcGJvYXJkXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUXVXb2lFd2pFXzRlMXBfS1ZBeFZ2bHZRSEhUR0VOUmtcdTAwM2RcIn19LFwicG9wdXBUeXBlXCI6XCJUT0FTVFwifX1dLFwiZmFpbHVyZUFjdGlvbnNcIjpbe1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUThGc1lBQ0lUQ01UX2g3V244cFVERlctVzlBY2RNWVExR2NvQkJOU0RabFlcdTAwM2RcIixcIm9wZW5Qb3B1cEFjdGlvblwiOntcInBvcHVwXCI6e1wibm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXJcIjp7XCJyZXNwb25zZVRleHRcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIlVuYWJsZSB0byBjb3B5IGxpbmsgdG8gY2xpcGJvYXJkXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FRUXVXb2lFd2pFXzRlMXBfS1ZBeFZ2bHZRSEhUR0VOUmtcdTAwM2RcIn19LFwicG9wdXBUeXBlXCI6XCJUT0FTVFwifX1dfX0sXCJhY2Nlc3NpYmlsaXR5XCI6e1wibGFiZWxcIjpcIkNvcHkgbGlua1wifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQU1ROEZzWUFDSVRDTVRfaDdXbjhwVURGVy1XOUFjZE1ZUTFHUVx1MDAzZFx1MDAzZFwifX1dLFwicXVpY2tBY3Rpb25zQmFyXCI6e1wicXVpY2tBY3Rpb25zVmlld01vZGVsXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25cIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbFwiOntcIndhdGNoT25ZdExhYmVsQnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1JeFAtSHRhZnlsUU1WYjViMEJ4MHhoRFVaeWdFRTFJTm1WZ1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdFpPU1FCUDk0NlFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRaT1NRQlA5NDZRXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSS1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWlwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0xBUkdFXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIldhdGNoIG9uXCIsXCJzdHlsZVJ1bnNcIjpbe1wid2VpZ2h0TGFiZWxcIjpcIkZPTlRfV0VJR0hUX1RISU5cIn1dLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjgsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX0sXCJ5dExvZ29Pbmx5QnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JeFAtSHRhZnlsUU1WYjViMEJ4MHhoRFVaeWdFRTFJTm1WZ1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkdFpPU1FCUDk0NlFcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZHRaT1NRQlA5NDZRXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk9cIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUl4UC1IdGFmeWxRTVZiNWIwQngweGhEVVpcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIiBcIixcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjowLFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19fX19fX19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXhQLUh0YWZ5bFFNVmI1YjBCeDB4aERVWnlnRUUxSU5tVmdcdTAwM2RcdTAwM2RcIixcInBlcm1pc3Npb25zXCI6e1wiYWxsb3dJbWFNb25ldGl6YXRpb25cIjpmYWxzZSxcImFsbG93UGZwVW5icmFuZGVkXCI6ZmFsc2V9LFwidmlkZW9GbGFnc1wiOntcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJpc0NyYXdsYWJsZVwiOnRydWV9LFwicHJldmlld1BsYXlhYmlsaXR5U3RhdHVzXCI6e1wic3RhdHVzXCI6XCJPS1wiLFwicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImNvbnRleHRQYXJhbXNcIjpcIlEwRkpVMEZuWjBFXHUwMDNkXCJ9LFwiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckNvbmZpZ1wiOntcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJGbGFnc1wiOnt9fSxcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCWEhFWGRRTG4tbVJJSHh2Y01IdWg1el9PdEVqMUJnRHA1aVBSZmFMdlJ3WDdhY3Nrc0FCX3pnM19wMjBIeUExVy1zSHpYX1R4RDJud3g1anR2dkQtb05yQVczeGc2X0JRQ2pXMlV3RmVnR0ZWUFlxRGpiMDd5cFFRZ0R6WjROXCIsXCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWRcIjpmYWxzZX19IiwidmlkZW9faWQiOiJ0Wk9TUUJQOTQ2USIsInJlc29sdmVfdXJsX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIlJlc29sdmVVcmxfcmlkXCIsXCJ2YWx1ZVwiOlwiMHg1MmQ0YTUyYmQ2MjlhMjRiXCJ9XX0se1wic2VydmljZVwiOlwiR0ZFRURCQUNLXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiR1VJREVEX0hFTFBcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJFQ0FUQ0hFUlwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY2xpZW50LnZlcnNpb25cIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0XCJ9LHtcImtleVwiOlwiY2xpZW50Lm5hbWVcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9XX1dLFwicmVzcG9uc2VJZFwiOlwiSWhNSXY5YUh0YWZ5bFFNVlFZTDBCeDJQTGhfSFwiLFwid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVwiOntcImhhc0RlY29yYXRlZFwiOnRydWV9fSxcImVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiSWhNSXY5YUh0YWZ5bFFNVlFZTDBCeDJQTGhfSE1naGxlSFJsY201aGJNb0JCTlNEWmxZXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7fX19In0sIlBPU1RfTUVTU0FHRV9PUklHSU4iOiIqIiwiVklERU9fSUQiOiJ0Wk9TUUJQOTQ2USIsIkRPTUFJTl9BRE1JTl9TVEFURSI6IiJ9KTt3aW5kb3cueXRjZmcub2JmdXNjYXRlZERhdGFfID0gW107PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+d2luZG93Lnl0QXRQID0gbmV3IFByb21pc2UocmVzID0+IHdpbmRvdy55dEF0TiA9IHJlcyk7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge3dpbmRvdy55dEF0TigpOyBkZWxldGUgd2luZG93Lnl0QXROO30pOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjBURUVlWlJ3VmFKSnVKMGpETGYwTlEiPndpbmRvdy55dGVycj13aW5kb3cueXRlcnJ8fHRydWU7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307CndpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKG1zZyx1cmwsbGluZSxvcHRfY29sdW1uTnVtYmVyLG9wdF9lcnJvcil7dmFyIGVycjtpZihvcHRfZXJyb3IpZXJyPW9wdF9lcnJvcjtlbHNle2Vycj1uZXcgRXJyb3I7ZXJyLm1lc3NhZ2U9bXNnO2Vyci5maWxlTmFtZT11cmw7ZXJyLmxpbmVOdW1iZXI9bGluZTtpZighaXNOYU4ob3B0X2NvbHVtbk51bWJlcikpZXJyWyJjb2x1bW5OdW1iZXIiXT1vcHRfY29sdW1uTnVtYmVyfXZhciBtZXNzYWdlPVN0cmluZyhlcnIubWVzc2FnZSk7aWYoIWVyci5tZXNzYWdlfHxtZXNzYWdlIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzKXJldHVybjt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlc1ttZXNzYWdlXT10cnVlO3ZhciBpbWc9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWltZztpbWcub25sb2FkPWltZy5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTt2YXIgdmFsdWVzPQp7ImNsaWVudC5uYW1lIjp5dGNmZy5nZXQoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiksImNsaWVudC52ZXJzaW9uIjp5dGNmZy5nZXQoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksIm1zZyI6bWVzc2FnZSwidHlwZSI6IlVuaGFuZGxlZFdpbmRvdyIrZXJyLm5hbWUsImZpbGUiOmVyci5maWxlTmFtZSwibGluZSI6ZXJyLmxpbmVOdW1iZXIsInN0YWNrIjooZXJyLnN0YWNrfHwiIikuc3Vic3RyKDAsNTAwKX07dmFyIHBhcnRzPVt5dGNmZy5nZXQoIkVNRVJHRU5DWV9CQVNFX1VSTCIsIi9lcnJvcl8yMDQ/dD1qc2Vycm9yJmxldmVsPUVSUk9SIildO3ZhciBrZXk7Zm9yKGtleSBpbiB2YWx1ZXMpe3ZhciB2YWx1ZT12YWx1ZXNba2V5XTtpZih2YWx1ZSlwYXJ0cy5wdXNoKGtleSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSl9aW1nLnNyYz1wYXJ0cy5qb2luKCImIil9Owo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIwVEVFZVpSd1ZhSkp1SjBqRExmME5RIj52YXIgeXRlcnIgPSB5dGVyciB8fCB0cnVlOzwvc2NyaXB0PjxzY3JpcHQgZGF0YS1pZD0iX2dkIiBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+d2luZG93LldJWl9nbG9iYWxfZGF0YSA9IHsiQWZZOEhmIjpmYWxzZSwiRkwxYW4iOmZhbHNlLCJIaVBzYmIiOjAsIk1VRTZOZSI6InlvdXR1YmVfd2ViIiwiTXVKV2pkIjpmYWxzZSwiVVVGYVdjIjoiJS5ALm51bGwsMTAwMCwyXSIsImNmYjJoIjoieW91dHViZS53ZWItZnJvbnQtZW5kLWNyaXRpY2FsXzIwMjYwNzIyLjAxX3AwIiwiZlBEeHdkIjpbXSwiaHNGTFQiOiIlLkAubnVsbCwxMCwzXSIsImlDemhGYyI6ZmFsc2UsIm5ReUFFIjp7fSwib3hOM25iIjp7IjEiOmZhbHNlLCIwIjpmYWxzZSwiNjEwNDAxMzAxIjpmYWxzZSwiODk5NTg4NDM3IjpmYWxzZSwiNzcyNjU3NzY4Ijp0cnVlLCI1MTM2NTk1MjMiOmZhbHNlLCI1NjgzMzM5NDUiOnRydWUsIjEzMzE3NjE0MDMiOnRydWUsIjY1MTE3NTgyOCI6ZmFsc2UsIjcyMjc2NDU0MiI6ZmFsc2UsIjc0ODQwMjE0NSI6ZmFsc2UsIjc0ODQwMjE0NiI6ZmFsc2UsIjc0ODQwMjE0NyI6dHJ1ZSwiMTYwMjYxMzE4NSI6ZmFsc2UsIjg2MTM3NzcyMyI6ZmFsc2UsIjg2MTM3NzcyNCI6ZmFsc2UsIjg2OTMzNjkwMyI6ZmFsc2UsIjg4MjY3NDUwNyI6ZmFsc2UsIjg2OTMzNjkwNCI6ZmFsc2UsIjg2OTMzNjkwNSI6ZmFsc2UsIjI4Mzk1MzE1NSI6ZmFsc2UsIjkxOTQ0NDgyNCI6ZmFsc2UsIjkzMTQ2ODA0NyI6ZmFsc2UsIjkyODg3NTM5OCI6ZmFsc2UsIjY4Mzc0OTIwMSI6ZmFsc2V9LCJ1NGc3ciI6IiUuQC5udWxsLDEsM10iLCJ4bkk5UCI6dHJ1ZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXRaT1NRQlA5NDZRIj48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjcgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9IjBURUVlWlJ3VmFKSnVKMGpETGYwTlEiPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL18veXRlbWJlZHMvXy9qcy9rPXl0ZW1iZWRzLmJhc2UuZW5fVVMuXzg4VHd5eUhLSHMuMjAyMS5PL2FtPUFBQUFnQS9kPTEvYnI9MS9ycz1BR0tNeXdFdTJUUVV6ZFNGMEFjc0ZCTVVyRnF5dXJLbHV3L209cm9vdCxiYXNlIiBuYW1lPSJlbWJlZF9jbGllbnQiIGlkPSJiYXNlLWpzIiBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiBuYW1lPSJwbGF5ZXIvYmFzZSIgbm9uY2U9IjBURUVlWlJ3VmFKSnVKMGpETGYwTlEiPjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjBURUVlWlJ3VmFKSnVKMGpETGYwTlEiPndyaXRlRW1iZWQoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSIwVEVFZVpSd1ZhSkp1SjBqRExmME5RIj4oZnVuY3Rpb24oKSB7aWYgKHdpbmRvdy55dEF0Tikge3dpbmRvdy55dEF0Tih7J1InOiAnXHg3Ylx4MjJyZXNwb25zZUNvbnRleHRceDIyOlx4N2JceDIyc2VydmljZVRyYWNraW5nUGFyYW1zXHgyMjpceDViXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyQ1NJXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjdmVyXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0LjAxLjAwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJ5dF9saVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyR2V0QXR0ZXN0YXRpb25DaGFsbGVuZ2VfcmlkXHgyMixceDIydmFsdWVceDIyOlx4MjIweDUyZDRhNTJiZDYyOWEyNGJceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdGRUVEQkFDS1x4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHVUlERURfSEVMUFx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJFQ0FUQ0hFUlx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50LnZlcnNpb25ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjRceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC5uYW1lXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2RceDVkXHg3ZFx4NWQsXHgyMnJlc3BvbnNlSWRceDIyOlx4MjJJaE1JOXVhSXRhZnlsUU1WaU1aN0FCMEstRFZtXHgyMixceDIyd2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVx4MjI6XHg3Ylx4MjJoYXNEZWNvcmF0ZWRceDIyOnRydWVceDdkXHg3ZCxceDIyY2hhbGxlbmdlXHgyMjpceDIyYVx4M2Q2XFx1MDAyNmEyXHgzZDEwXFx1MDAyNmNceDNkMTc4NTEzNjQyN1xcdTAwMjZkXHgzZDU2XFx1MDAyNnRceDNkMjE2MDBcXHUwMDI2YzFhXHgzZDFcXHUwMDI2YzZhXHgzZDFcXHUwMDI2YzZiXHgzZDFcXHUwMDI2aGhceDNka2lBdkVLWG9hTk96Q2JGUVNQLV8zLVdGaS1oY0NJNm50TEpiTDVhczZlTVx4MjIsXHgyMmJnQ2hhbGxlbmdlXHgyMjpceDdiXHgyMmludGVycHJldGVyVXJsXHgyMjpceDdiXHgyMnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZVx4MjI6XHgyMlwvXC93d3cuZ29vZ2xlLmNvbVwvanNcL3RoXC8ta0taWVhiWUwxektkZFZXaVJwS1FBcy1GRnJtWGlfNlVrY21oRmxZTG9zLmpzXHgyMlx4N2QsXHgyMmludGVycHJldGVySGFzaFx4MjI6XHgyMi1rS1pZWGJZTDF6S2RkVldpUnBLUUFzLUZGcm1YaV82VWtjbWhGbFlMb3NceDIyLFx4MjJwcm9ncmFtXHgyMjpceDIybHJ2OXVnWVFZd2xzTXV6aCtHYU8weGw0WGpoVHBGaVJnVlhKQzFrdTI0Z0s0T1wvWmlmS3kyYXo3M0xMN29rVFZ3dmlheVBQaWJKZzRhclBtQnBYeFlmMVVBNjNcL2NONStmaGlobW9rQ3FIcmxGeUNCK3FzXC9VUGF0S2p0UlhrXC95TlNJQldFWGFsbG93dWFFTzVGanFZcndzVndOMmJabEVjV09sSGdtTVlUcTV1VGU0MEZsMXExMlpLbTRmZlFJKzdMRWxqTDh5NFlHRHdkSVFWYVZLUXlyVUh6UWswZVljcUptQVZCZzd1dzNBNk5qK1BMZjlGN1g5M0k3aHh6d1Y0d01ZVVE1Y21UU0ZURWRTSzZKY0Q5XC80S3lxWWVPK3dmZTVsbG9MT21DNHdJemlyKzBPVlZGVE4yM0ZRRlNHY2tGUWtLK0RJQTJnKzRBTXZnc1I2WjAyZmhKOEZVZ2k5REZGMVJ2SGlTV2pFdFwvVXpDbGQzdHh3dU4ySTMyeXNYNUxHaEpHNk1DQnVrS21aYzl2NnRkSmxaUVFmZWgwM24wNnRtUHNmd0RVVFFQYWQxZG1jMnkxemoxNnNja056TEZZU1JqXC83NWJGVk9FSGV6eHhSR24rcVoxOFdvZnNiN2V5S2hQd2lGVWd5cEpMXC9acHpjenN4N1FudkNUVFduRFRISHRtOHp5ckVWSnVpQnVIRWFPUG9sZmNzbjBJY2RIcTRIVVdWZGY4V2s3U2RWZTkwTDJrdjVBZU5qRHp3SllTK08rMlBYTCtzN0lLdWQxQ21SekxmTDdXaXJnY3Y5ZVFSMW9NMzlPQkdCU2Jhb0c2SEoxZmtkcjFFN2s2WlFsa1V4RXNOZDhURTNlNmpxN2RXdmdNYjhzVnB4Qk9iWHlFeXo5RkdcL0xiTlU5RmdTY2dqTDhmVTBiVktNSjQzbjM4NFwvTlV0bTdFTVlSOUF1RFBqT1BjSmdzUXhRWE1wbWcyU2RwN0NJcnZwdmgzdDRzVklGMVpsREdXcjdvWWNzMHZZemxXSU1WUXdMWElhb0c4clA4UmNkR2xabW1Mb3lrdGlmallUbkxXSjZ6bjZKTWZcL3I2MDdiQXFzZ3VIVXVCbkc5MXRZNTZzVm11aEpnTk8xd1gyS09VaWx0SDVwdTI1YlIxTG14SGNUUnh5cG1VTzFIQXpnUjFcL214V0ZOMFwvSVZnRm5EXC85T0xYK0Q4WkJHakthcXg2QmsyUmRkSWdYXC9rajZEMDFSYjdjR09WRG1wR3FTMEdWUFEzODF6STJIdVc2ZkFuU2g4MklzODlsUHVSVllYYmtsQzF3MlpCWXNPbXZrS2t6eDVmRmxPQjJKTzJrT3FhQW5JYWhvY2tcL1BMZWM3R2FmQmx0MXpVd3VoY2R6ZUhpRWtJZExrcE1mT051Q09sUVhTQVQ0b2d4MEhYdndMTUtLUmdmbTh1d083QTJxNlZvaGhRWCs4MmY4dDV0VmpIZ1YxYStHdnp2dm02ZmN0QzFIZk5aRkZvcUhUcVwvZzk2b0tCcXVuMWc3UWVpZzFIc3ExTkZadHRaMDZIVkR2QjAwa0pCSCtVdGxYVE1DN1hUY3dlWEJkSVJBUkoyVmt3VkU0RTByMmQzeENOcGtMMnJnd2xpNEVWbnorWVcxcVB5NWN2UkYrbTJxZVBJTkpDR2Y3b2ZKRmx2R20yUHJMbkRyRFErRTJCZ3hnMXRJZGJ4MFdpaWdkWDlWOG9HQ2N4SHhjVWs4YUJ0OEtORHN0MDZQU1Z1TWlEWjFVcWVjUW1wNDVXWllaZys1aFJkMGZNV2JzbEZRcGpKVE4rbHprajJpQ1ZtdXdWN2ZPOHdTWkNPQm9pYjNWXC91TE5ZYVpLMTJnVUhwdWVYMlwvU0xmcGd3bHA3MkxUOUlrdCtOS2hOZGUyTXNLUTNYOENJXC91amx6c1wvT09UbExOVVlaM2RGNGJSaWhrUkNUNlZsaHFsRkJOVjFaXC9EbjZPWU41VDJGeVNZNmNvNzBSSHdNUEVzbWkwcFUrc1NaRE1yZmlSeWwzcXE5N0FXNjdNanMraUJPaWVINDNBM0xmYVR0NFVLQkNBUGxHZEdlbFlycFwvVDVWOWdWcXVMUjZEWlRFUE42NjJaa0FBV1d4WWtJVVFzNE1WNXkwWTUwWXB4TTh3aW5IeWFFUjRHbW5KRVJTd1J2K1E4aVJJRXJSN0psdk1QWXZ3alNYeGk3TXMwMktucm1ZbkJNdmZMbGFpSTEyemc4bUF5R00zTDlyMjR5ME4yMHlHYW9XYWpzRkNnQmlxdXhUM0dibklXQnQyYzg1WFlITGJiOFNcLzY2RGNIKzlHWnNJMk9wOHZcL0dhQ2RWekNMdHV2Y1dxT3ZwbWhyMm5pZWpac1pzUk50eFNqTTFtTmxidFg5bXM3dGVWVWZadzRERWlaTUxQQ1pqWDk5WHJCNFlxMVwvVzcxUnY0aE1pcFY1NXRwUnFneEloWVVPelJlSHRmdGVxdkhQVE13QXRtSHdDR2xKUkRHMDVXSkhOK1VycFpLajdIenlGUDR2bm1VYzZIMThEeitTbmlLKzRuQlkwZ0pISUVYNFwva21Wd29IZlY2cVBkYk5VTVV0MkUxWndoUGl4Z3FqKzZWT1VjcDNseDV5K0Zpd1J2RmpOeGRQTGdjTDNCcE1MM3h0WDJ0SFhsXC9IaVwvQ3AweUFtZkxYZGlLa3h6bG9IN1Y5TUhiUUl3UlQ0bVd0UnBMUjZZY01vdmZ0aXV3a2xMV2JpNk5IcFVBWEhrWU5XdXpZSUtOUUFkdWV2Ris0d3QyK09NU2huTFwvc0huaTIxVjdJaG4yTTBzOGV3U0dTOGpiNFRCNG1MSUdDdUhVOUJFbjdrc1o4WldlQVF6Q05LUnJqR2w3N3NQelNLRURkS0ZldllVU1kyXC84STJOZTBFamMrc081aXNiVG4wYVdpNG5cL0I3WWdKS2FDb1I1bW5lMGlaYm5GN05JcXh5ck5ISzZpVFV5WDlGMGgzOUNwNk1TYm5HRDRTMDFsOHlUSzJFVkQyKzBXXC9cL3FNbTAxRW5TVUlKbzRYNUVBUjBPOUJ4MFNodFhaNWhPTUhPYUZFaHJ2aXBsMHJ5bnNPa2NjaExKVkNNek1NQTZFUExsa2xqT1pJWThncVpjU3pZOElCc1d6M2IwU21LeGgyblFNdlEwbnozd1k2XC8yOCs5WWJ4OFlrcVhpXC9PeDVIXC9CM1RSMmJ5ZlB2YlZ4WGhMSE00UStvZnRSR1RlY2NoQ1ExVzJZeHN4OVlDYTg5Nk9lUENxNjdRa0FmQ2VnWmdiRVwvT09jODlLeXJJaDdkU3JzQktHXC8xakFETHB3eEZlVzJvRDk1Tm9OM2ZYM3kxM3dDU1JESWFVY3pFWWE4b200dUMxVTBGQ2FOZWdkSUVMaHNHTXpQVjlFUXIxNldkT0JcL2I1aWM1SFFlQzY1K3FjbWVGc1ZsdDRcL09OeUw3UnFoTnJRNklcL0YrRnJMbGpNRm9WM2JaY0Jsbnp6aGRZZEc4d05PRVpBbThTekVrQ0F3Q0xjUUIzYkV0a2ZxZlwvVzRpZkc2dnZoMEJlb0hxbEt1b3lTUTgrbERzaU5YcFd6Q1JRempkd21HYVBtS2RVQ3hIWVVNOEd5MjkxRnArUllcL2tQajVuT2xqeUVFcHF2M2NMcTJUNkF3NUxWbEhlZWpDdHM2Vzg5RGtCWSszQmV2cDRDQXlmUWFJZDRPV0FyVXIrSTdhQzJjR1AxdFRTR2lMSlBDNFJwZktjRWxOd1ZlVXc1cDJzWU02SGJ3QXpjWWVTNGI4cmlCQWd0T1VTTm9VdnJZWlVZem5MOG1WaitvZlBOU2t4Qkk3QkF0OEtWXC9tOEQ2NGhPOFhqY0ExK0NPNXZ1Smc1WUhsc1wvQXM1TCtjRTRHaUVZV3E4ZkU2THptUzBTOXdCbUcrUmU4eXJHZllDK05Zb2tzMHRjTFZiMkY3RXJQcW5iQllyRVh2YVJTNDN0bWNEVUhqSERtbU1wXC8zVjF4OE1UTngzeEV0bm9cL2pwZklEb3BXK0NhaFYzMW5rd3Fsd1FoU2dyREdKODRlYUgxemdlSTloVURvbGM2elNJYlFJWnFDMlozcG1aZVNEVmJBYXN6ZDVMcTA1UXd4MnUwUXdOUDVRSXl4QXVtYzFJamg3MVhmYnd0TjRzclZNU2M3aGpFcG1xeDVjMVpUdkh5RTRSR0tocnA3MjJvaWNUNjBvWjlsY1N1MHViNFB2c29kbytYdzBueHlPc0duSTdNY0JQcE8wVDVJUW42ZXpiWHk1QXZtT3ZlaTYwS0lKWUdaYWpxKzU1RUVrck5aNEFBYVNDMDhUaHhkQW5zbEdJZXRJbnprRFRrVDNYOG5rYnp1U21nSVdidHoxOExrRWJUdjlYWmR2VzVNS0d4aEVVTEphWlJyS0ZzVlRoaDE1SWtFRklHQnNPWEI2QllmYlwvc0FEYkgzMlBtSnpFblU1a1hVQTRIS21yRmFwTGc4VDRrY3FQSVFCY3dvVXBUMzQ2MUl1dVlCTCs4MWp6TXdSaG9PSVRHYU5mUHlWUnpTY1JRaUZiaUtJOHRFcE1OR2Fkd2Q2bTZcL25xWXl4c0tcL3JYbXU5UUtsMlZRYnN1RVRWampraUNkYkxxV002d0I3NWkxY3VzSzliVFkybDNIbWQrMGNDaVpKOHVcL3Ayb1o3STBKSXVnQXZDWXBYYk00VElwMkxYSlRrdzRnNU1SSWVcL1NzZ3oxTklHcmRPd1hMbmNpMUkyczJHMEowbGpoSmxSZEd2bzhRa2IweG90MmM1U0Z4UFg1VUdLSDZ1SlFOUXRYNEdJVjlSQVRnTzVSM2ZnQ29GeUFhYllJaFVXSFN2Q05zc1gwSjZETnEySEtBelJCRlMrWHI5SXBWMmtwcHlQcEJOVERvbDJCODVBV0xzVlcxY1hXN05NVDlmK1hXc2hLMmJCdnl5YndHQ2ZWSVFuYWFpblA3R1wvdnM5K1ZVbW9sMlwvbFg5cVQ1QUsxU3dkQzRYS0labnZmQk1MYXlMSXhqRStpZnNad3dvSWNcL1hONVUyV0M1Z0hXV0hFeUs5OGtaQ0h4blF4XC9ucnQ4Tzc1T1wvUXY4OTBENUd4NFkyVTRhbTRsVk81c0pTT0tZRE40WktuMHhUaHRRa3dnZ1cyZ0hWTEplVVZHZU81ZllLQjFLa2Q4QTc3NGtXQ05vSjZnK3ZOUVJtZlJTYTVjd2VBbFNNWFE3d1ZCaXpvTlN2Q1pcL1JGb2ZGWlMxTGw0S2lcL0xUZmlDRmQ1bHp5V3JLZnJvNXJOeG9GUnBsODBmSUxRbVBTaHNNSkpcL25hZUorend4dE1JWm1HZ0JzR3Y2OHRHWkx3bnFjTWNuUWJKYnFhVkNcL1FkNUZyTXd0RmRrR2w2RDhKWEtDaDR5d1J6MERaZGtoRmlQaGlcL2lTNnc3a2oySlwvU0U3RWVCWitwUEJWbld6SFZvOHFYK2NWVzVyXC9KUUpEVFVCcVZJc0UzUHg5Tm1rQ3RLd252b2M5VXNCSEhqdzlzdEJiOTVSakhENVpyUWxOMnFwejVObGdNaWJFRFlYeDdpd3d0TnIyUjRRbWltMkRKdmd5bGM0Nk9JODduN3IwVzNVV004dHdTSlFMZEhuc05Ndmo3K2RZR3g0ZFdYVUJ6MGJlZkZ6S0tMeFUrZUxkZUNKbkJ6NmV4NEJRUmJLYnlXSXJPYmE5KzdUT3AzODNKUDFwRFwvam1oNUROc2h0aFdydkpyTGNzOGZkZ0twXC9jOGxiaW9RNW9ZVVhKMjcyMlJiUjFRTGxFYkNlajJvaFRibzlWbUpIY1p3Q0pXV2pVNzV4K3lXK3piVytWNXJMeDlcL1VtajQzN3VMWFNTOVF2eVlcL0VQWXBOQlUzQXdlaVZySGZPcElmZ0ZxbEFLM2N5UllndUdWalwvZHRKZ0hWRnl3ZXpRS0dHenA3K1YybnY4OEpYWnkybVpQbzRxNTVhWVZMRnpkK0FOemN4TGR5UVhDNmVUd1gyQVc3aTBTbVU2WTBMMUNjcmQyZWErOGpxcitTUjl0N2lIbzUrTmMrZHJ3QmkyZHJIUGlsKzh3TXAwdjFPZEdOaDVqNjUrbldPOWJNWDl1UVhZQmtyS2ljRVZQbHltalwveFdDbk5KMkJuQ2x6ekxTdE9JK1hLdWt1SDAwak1EYlNtSHVKcmJYem1sUG5HSVR4RnR3dStPcVwvNkY4clZpMXVqYmIwaVpTU2xmZDdueFV6WnFvNE1RM3ZiWGhWWmJDUjkybTJwXC9tak4rMWhxY0c4enNRbzNraVM3d2FXZnlrT3k2ZG1OcGxHdmk3a29LZ1VScmFBNW04NUtXSE5QWXZLZmJaRzZheERUQUJsUzcyNnZnSTBQTlhQNFM1T2ZxS3lsT1FWNkRCWjY2TFNNcVwvUk5BclE4eStuSWhEMGlrTHNkcXlpYmxXaDVQSjlFOUFcL1RKS0RJcWpRWCtsdXBkK01wcXowQ0R3RjlQakNrRkRlWGdqYTNwdGN3d29URUlcL3JYa3lFZUoxYTlLRGJKMTI3czA2M3RBMEhIM2s5dklzK2NCb1JLbEt6RVJRRllicnRzM2JhR2prT1dGekh2ano0bElsSkY4d1haVTJka0pOUDE3SUFIQjNIeW03SHFQVDZieXFsaUhLanNxaW8yb1dFcnN3Qzk3TGRmMGF6NjU1V21DdzA5aHJVZXZCMmRFREZtdjNseGR6V2dwVytjb2FiOTBKeG1kcWtYMXlabzJMRGRkVk0xOGNMTTRXZlwvbTBES09IdTNzaGxpcVBqNm5sXC83bDFNNjNBRkdqaXpxb3l5cFI2Ym91N201TGNXNFRqQ0sxb0l0Q25UajlGMFlWOUozQTM5bUlmVGl1RElxc2FcL29zcVwvcDFITGo5ZzRRTDdkMWloUmE4YzFmTWVrZ1d0RlA2R0NvSGJkQjRLakJFMThhaVJTTUVMM3E0b0hWZkQyK3VsTWFwYXhhdUV3MVpCc1NGNUNpSm5pdTNaXC9LU2Nkc1VyUGZnb2hMM2Zka0Y2djBJdExpVUlLR01ESFwvRm5raCtaNVhTM3hXcExkVXJISDBOaWRsR3ZsbHhpbmFCRkJDSllxOEFZQkxJQVlibXZUeEs3V2dxV0pjUkdydkJwOHc0ZlQyT0lHRW1qbDJ1SEFxUFlITlV3RXQxNXJ6NGw2YkFvZFJxN2FmXC9YXC9pV2lIQXBya2pKTzBrMGhBNU4xYW1peTRZYW9JSWJBcitiYzN3VzVYWGM2ekxhRFY5UndUY3o1UWRYTGlYMnhGRUlzaSthT0tYT0Q3ME9jS0JwZFI2dndwTzk4MFR3SEtDeEk0dFVzbUk3THFON3dYMFJLdlNxd1BSVUcxeFJNOVl1WnU0REhIbU54RUNmZTZLSUpEMWdvTVB2K1NCRWQ3N2p5TzNkNW95Tzd1K0cxc2oxY0Q1S3o4aWM0MW0wcXpuUmJYU2Q0bDkyaU9FZkdaK0Uwcnkrd2NJT0ZFYWw4Vm1lUTl0ZkVPN1pKZGtvbldwbXAxTnBUc1BUSEhyODNTSzZvMTVoQmNUWmpjTW1mNmUwMjRBQ1QydHVaVnNhY3hVY2dqZlV4WEhraXFOQ21oNHZadWNYeFJtVjUyYXVOVFpHZklEc2t1akhxQUdnUm5hbGJXRkVvNXlyM1dUdGFKbWhPRlRNeFRNOG1nbUVEazQ0elJScXhzWGdwRWh2dnBWOFRveHlyVmo0cWlnV2J2amNQUXA2Z3FJYXpPQ3NOQXlzOXMyYmFFQm1WeG5sYlVGWGp0T3FxNHlHekRcL1NObDdRU1FQUVNTUUVIelE3ZnBUOW5lVytYa3pMR1BMNGEySVE0bjRFZDVzNDl4bXp1ZjVcLzFjT2RGSWttZnVOMmhwYVh2VGQram1tNUNRU1p5d2daTU1KREtiNDJsSkN6QStxZmx4a2tuMTNKa2xxOWxWa0pvekNlYUh4cHk3bmhBWGNcL2JYcDFIK1wvdWFqaG04cVNvQzZieStCZzY2TWVXNVppTnFuTTFKdXF2OVpzYVF6SFVCRElmbFo3VHZYRWFWQkFcLzFnRFcyRXFhaHM1OG0xdnNsMWUxeDd6eHpDdEozNUZXZmQzNDM3cUpjZ1BJMkZGVnlzM3ZZNWNhbXpKMk5qSUFOdWtGYUtLXC9jdzZaRG9pR1dXSWNNa1o2YTBwQVAzMWYybkd4Yjd3WnNac0lmM0E1OEtrRHcrb2V2QjI5MWVvUUZBc1I3TjROU3RQWTVNaUdRenVcLytmcjJDdHJiUGtVXC9XazZIRDJWd1NvZkFyWkxHb2UxMGZZSURwXC9pSURxS21nenpcL0ZSSmRtNEpnc1wvZlNxanlKbGtCTWhySEdmOEoyb1NPdys1RlJZREZTZFpXUlMwRDNyUUFKMCtJajdwa3lsVHQrZ0RjVW1kRnoyXC9pOEw2TGhIM210V3dkMDdocGpUc01LSFdJQkc5djB5dytaQ1pkenlMb2o2UjhsaUYrVFZhdGR3ODdMdVNObVU2N29rVUoraWkyTkRmQVZzR2Zpa1JWV0x0RnZvVFBcL2RXb1krTVNSUGh1SExrdjBya21SakR1UkZIYVJkdzlVQm9lbFNjYWlBRmpINzg0RzhUOWY4YVNvM1FVVXR5U1wvVG9NSUFhcFdjdnJIdXBWdHBMWFZ4V21YcjlIbU5kOGFZQnNqWHVva2hYU1J0R1JlcnZEUHZ2QVA1bmVnYTEwdDlrUmpmMFwvdHk5V3ROczNQMXhuM3ppUHhpXC9SUXN0UjhZSDQ5eWhWcmpzMW9aaHpCem5cLzk3MFwvelFxSk5hM2Q5a29keWduRDU4Uk5NUndDYnpxdzYySFd5YVFwdHB1S1VRNkkwREE1XC9ZMlF5TXg3NWQ4cWdCN1crZWt5TFlCSmlRNks1eEJhQWxLc1pXdG02VHN1OVAxUmY3NG9CRVwvcUd0VlwvcW1zRUVnUElSa25ZT1dMdCs0cXdwdFRaTWYyb0lMYVhFWEVhbGZCeG5vQ2F2SlhaXC9zajJCdWE2WGxcL1wvdGMyWE53RVdOSVBxOXRFUytqaDA5NDlEY1NqWmFUQlpZQndmdVwvVjFoWGFcL0RxWVNMcDhtT2JlaXZpeXNSejRKc0RBTE54a1wvNUVoVGp3TFwvdElzc3RGbUZrTHVrMXZmcmpXUzdOaTRHSjh6K0RVVmxPOXZFYzFlWHlhdm53ck9SK2poN0dSc1dTZ2ZZTEtTaGh6ZnN6QUVvY1hNWnNGOTdEOGpWS1liSWRQcXRCRUh2WEVEVGRvdW9jeVRpOHVIYUs0Y0JyT0tQU3VmWmRhXC8xNWZuYXlteVNGTW5FQ0JPOW0waG5KZ3JOZUF3Tk1udG9XQ29VYzJ6aU9icHY5YTA1OXZiY1N2Mm1WZEQ3UERadEx4b0IrOVgwNUZEeGNEaW1tc2dsWU9TU0pRT3ZETW5JckVGQnZQWkMramVQN1JZbXIxTXljTGlwYThXTjEydHNxK0phZ2daSWZoak4zU0t5eUgzUm5pZGVhUWo5UE1vcmlcL3FTOWRRSzF0T3lad3FubXZFekxTUll2bWZpTXlBdit4YUJpOUpianoxNnd0UTJoT3lJQjgwaGw1MEJLNlR6UkFpSWd5cUFzWmViTWdoNHFLVjVZYmtKS0RtUzgyYjZNUVhvaWhCand5a0FzYTQyVFhpcmtkM0x0UFFYZTlKbXhcL0lsMzhSaVkrNkpHOWEwVDZRc2xjTDRQUTA4VUdBdDZkRmlrb3h5RExXZ3kzRVVjRjBScFJqYWxxWGhwczhLT1dCaFFnczY5bTF6VndRMzdNemNNZEZ6UEJ3UkRVWExpYzlYa0FuNUFmQUZqRDFNcGEzYXFVbkRQZzd4WDBRS0piZGlhdWExOWk3RmExYmZRakd3NFVWZUxCWk9aZXBtcTM2SjRxeDBmV3JRZVBIS2t1TFNxZFwvVm5IZlBROHJFaFd6clljeWpJUzhiZFJJam5VMWRtQnljbkxIUDIrWFwvOXJweHZHNHpvNStZZzk5NE5QVDFPalJZNGdnRlI1UFVoQUZHT0h1TDkyTTlad3c4MkFzOGdhTmEzYjFVZlVndW1IZVVvMnd3cDJjQjhkQlwvUjJtTVAzWFN1R1hzcnd3ekZlZHNuNnJWbFhDV0JGeUloOFJsQzJBNkdWRXpqejltM2Voalp6T0tKOWdIbkNGbmoyZkVEK0dRZmIzZ0JJSnorczZtSnROVlVuTHducncwTHNUdm5LYnRhS0hsenVZdVJtWnRWQTZoakhHTWJSNmVOXC9lTERqSklxNWhsMmtNRG1xQllWQmNcL25EMjVtXC9odGdzTWM0Zmk0UHZaeGhkNVwvTUpTUGRoS2xIMlhNMERqRWFTcURrK1NIaG80dHdPYjhYbUpQa2ZkdCtoOEFJV0sxeTdDTmZNdmFpckkxbVZBYnFRWnFIMXQwUzFscXhcLzdnemdiQzhIWk1DditwdjRKbTdMcHNPWDlVamYrdjc3WU9OZlJYdG9zZVZJSm1JaEZZME5BUkxTVGx2c0dOMmdQTjZlVFo1ZWVUNVwvQ0tCTEJyNkZLcVUxRVFyWkRTWHAzcVVEYmVXbW9KTjVRQnFjZEFCanVXMlBlNWduVFdQdUhZNVJTKzdaeVBhdDgwTVpKOFwvdHpicms0WlJwMjB4T2ZmcmRMeEVOK2lObWxEdlUrZUJ0NTdpbXJHRmNWWEFER0FPZTFBS1c3bGtDbEF2bEFVZDQxMVBYUTROVkNnUzNYcUR1Mm1MbDRUY2M1S0hHVnU4RTNPUHB5dWxjNkgycisyXC9TbWVRVXZCam5uOUpJcVwvNmhIVTFkK3VDdFgwQkoxVHdHS3IwcDkrZ1p0cGsxY24wVGFwUm9DM0FLUjg5RFwvRndJOWJUYTYzcTZ3R3pucnZpa2t2Ykh0eXpRVm5NenRJSFd2WkF2ckRPYzJtcWR4Q0duTkNvWDBXVnFOQkxWRWFaUUJzeGc2SGJubUpFaE9CRDNLV3VKamd6dFg0a0hPMkVkOGR5eFJQODdlYjZKUDVXclNWM0pITnhHUUxGUUJ3NkFVczJnd0FmOVNSQlFuRXJHeTBYNEJUUno5Y0ZTZ0F3XC9pdk5tbnlLVWluUURaSU1WQUtzUTgzblR6Tm44WVpTT3pjNG10czdJVXFkN0R6ajArMklXWmpVMnNFbnl4RmxJYVRoY3hSQXlxc2NNNnlcL2tcL0xKdktpZ29MMkw2RElYbjdCK0JLYkhWWWJDZ2t0R2pYdytHbysxUEZUc2JrSHdpb2RMUXVLVVwvbWNic3d4NnByT2pYZ2duXC9Pd3J2XC9zdGZCTWtMNFFnV2xISW8xXC8rTHc0XC83ZFQzeDQ4VGxSVkNZZDdIMXhhaWtEbTRqMlhJTFVTN2thMHpNb1dtYk5FekhjRDViRWhNT0E0aFZjRVVaRzNlRXE5YzI3SDArWFByYjBRSWwwWG8wYXVWUFwvazB4VUdNXC9YYkF2NzRXUFhJcFZwRzJkUFwvZ2lWSTI4ZTBVcnltMGVOOSswdDNsc293Y3I2MU8yU0x1cTlFdkNDaFFvQWRmVWFlSTJZMUNscHZcL0tuMnVYQTFTSXhSRnBacXc5VTN6TlUzVUZXNm5tcll6dmk5bGY0TUJ1Nzk3RXJ4QlFsalZjN2xGY1dwbnBtNnFFZUc0eTlYUW1UeVwvcWNPYjk1U3JEWTg5Vk1XUE4wcHl0MEZOcU5ZTnF6SWhwQlZoZ3Q3ek01YU9aTzB1TFJvRG9SSkdlbTg5ZnZocHlZVVNOZlhEeXhBN1piWkpYZmVPa3ZtRGt0a1ZjTmZCWlwvdzJUOXNFSjloMXNJd3o0UWMwXC9CTmE4N0phUXF6MUk0MjFiQm1qWFpvNEZqdHBsUTRiNTFIcmttcm9HXC9hWXRxNEJVRnp4ZzR0WEtzNnEwY3hvVGl5c3habSs5c0pteFBHN2ZyNzdpdTd1dkxYeWFHaFhSOVdDT1FCejFXTWYrV2lKNmN3eFA2UkVCM1o1OFhPR3hXWVFmVTg5amhXd1lZUW01V1E4QXZKTFJyWEJoRk5hOG0xN3N5VzA2XC9QR3ZoOWpoZVlWZHJwZkZEMWh1dlYya2lcL2U4b3UyclNleXJKMTRqWHM5U1YzY3FnV2RpREVcLyt1ZDVTNG5wK3BJMlhPYndXdVNPVEpDT0E5U3lZbFpwVFRscTRLRU9SOEp1a0F2eHVsMFlKSCtPUzNcLzd3eVArWjc5ZHNHaVlubXZKS05NZkpENHUwM0U1ZStqVDNLbEhEdlY1aWxDU3RMK09cL1ZoZEZOUTZxbVwvYVB2Zm1idytBWDAwS2oxZTE3eTJhY1A2NG4wN21wajBOakU0RVVESkN4a1RVa3A1S3YwZzdFUzhqYnBBNG5hT094VURBMUhhRFVWZjJZMkt5aFFjcEplVTZRSVZwTnhzVVJZaGljaFN6bGs1SkUxZXFIdVJjQWxmT1Z3Zk9cL1p1WE1nczNiNnNVaWJ6bGY4TE11STJBcmJUYThTdW9LMEo4eGVrMDh5dG5PRUNmN0dsdUVLK2lneW1uWFBEOFlCTnNnTnBXN0FwMkVXXC9VYW0yRlhYOFNqK0hKaG42ZTM0eFd0QndtTmp6Tk9TdkMzTVVYdjVCT204N1haWkxCOWkyaDYwcitaMnErSUw0RXFYZnU1aFU4eEgzXC9jV3UzQUdVbitmQVhtSFNhbG1GZkxZXC8ydnhCOVRJK3k2MGZ6ME5ySU5BeFR0eHRTVkc3REtHSmM0Uk4yaE81TU0rdWQrUG1nNmNtM04ySHl0amZ5UkY0cEdcL2U0ZHdLSGZiQ0NxSEU5YzR6dHBSaVpLdElwWjlLY25pSitCT0xjMlpyYnYwQVZzWTErR0FyNURhZGRLUVMwUXBrblhuXC9KeDZMSDBkcytHdVI0OWZEYVdjMktrdWEySTdUakFhOVVPZ0R1MGlzNGx4OUkrVGl5aUtMTUVyaVlwK05GT2ZTaGtaVHN3U1ZiTEUzeTZMbDFvZlAyTHJwM1prV2xtQzNJdGNqbkhxRkVcL085eTNHUzFsTnJwSjZ0N3VpVzFJWTRtY2ZpUWgwVFA0Yk8xY2Q5aFdZUllZUWVWYVZ6ZWV0cEdcL2FYSWNzQjAybUxcL2ZwVWZwbk9aaDMzeGxUZ0ZBSlgxS2w1NTBrbTRQQXNvMlJ2UXVzZGRqbzFaVDViSm9Obmd1UFFqY1QxNmE1WExqdTlwZ1oraVcxQmhOUHlmK1VvQXlnZVVGUk1MeHhKTSs3aUttTXN0eHBkd3F6RUpUMlMwQzl6VWlwcUw5UWcwbnE4UUVpaGU1cFdmOVpEcjZcLzcwanRlOFhRK0RVNXdGd1wveExTVHpJWWtLTWZjeUY5NHhVVjgrMlRUdndQalZXcThCY1M5WEFpV2dQd2VPNmxzM0FLYWpubVRsNVBST0p0SXRRTXZUQzZVRGRsdFErNDhpTHZnNnBtVUZid282aEhiVFplVmN3aUoyN2R3TGExZFl5Yks3TFNIcmRKVUZLcjB5TGRmSFFDK3hpdnpQYUFWckI4NlZvd05ScVF5OEJxMzcwUmtnK1RBN3g1K3BRZGc3dmRQTitDRUVFbnBnXC9MQmRzYW5IdHZYR1QwcjU4UGZmaXlcL0dwQkZuS0RPQkRSRGk3RWdsMlQzZzU4Z243OEpOaHRXaGJmRjd5eVwvaWl2R1hjaEVvS3hRVFNGTm5KTlFGaWRaQXU5RzM1SU80R0xlcUlGa0NcLzJ2QWRLXC8yc09GSlB2UzRCXC84Tjh3Y2hKQzVPU1wva1lqWFV4NEtTOXVHeHpUY1JQRzUwVnpCaWpGTkN3aVpWNVNRZjlMRWlHUGUrWlhrbnNpTk44ZlU4WDZtOVNGak5QMjlFOHBjWWZLU0doTlJcL2w5U3JKVVwvMlptYStEcDN2bGpwdmFRRGthc3YzSEZOUEE0V1JsY004M0JubE5adUZ4WXFTMVh6ZXZOdUFaZFBHaFBlRHRKVnl0STVpUHJqNFlBZ1JmQ2VTUzZKV2FtaXNqVWF1aFMzVk4wVERxSmdRWUpjNUlKQU8zMmFja2xUb2RLaDNsc2ZCTjd4M0gxWXR3dmhpZEZwaXZkU0cwcG9ZOUVUdlFia0hPK3o2VXh0eWZ2U3k2bGNjWjdTeEhrNjI4MXhnVXg2WjJ5c2k4Q1BxcE5Gem9vMUNXa2tOaHlWY1ZtVjhlVnhvTmtMcFwvOXl3cko3cHBkaVRkWHZwdFZkK0R2OEhEa0VhQ0lqa0dydGFmTkZTM1BIdHJ1VXZUbjFVQ2tKYitMNStJWlFPNUU5QnZMNkNnOTNyVzM1RTl3bjZMMW5sT2d0dTFMeXFNdzNvOENXTTJndTVtcWxkZ1JvcE9mdUJVbks0Yk9ZdmZQVXV2T1FLWDNPUjBwd0tVaWlpY2FJNEtHdXI1TVhFOUg1bzBzRW5TK2JBdE45OVRBaGZGUk82QTNwbDJZR2NGU3Z5RFwvMlNMV0o3aEViUTRhd25jbjNmQlhDaEtIR0o2ck04Tmp5eWZzb0ZGOU9hVXZpUVhCSjUrbm8yVCtjc2JGbEFnXC9HbzZwRGlcL0dib0o4alR1T0dVeTNrNlwvY1hSMXlMZmlFSjNUXC9XVEpSbXM1d1wvSHlPcGRISEpXZmpqRmxLRzJRdE40WDRWc051akp6SUx1cGo0dzNGMXhoZjlvNE1wSExheEFtNGVHeUhrUE1SNThlcjg3eTY1dEoyb2dkdExJcnppb1JtUzMyU3lzMDVjU2dNaFNuVjhqWFd6T0tcL3U1OW5LeEl4V0dXQlV1Z1o2M0docGdcL2Q4XC9Nb3dDYWJjSE5EdWNUT291UXp6VDVRd3d6RXpYM2xvVUNHOGFqXC9lVVJ4Ukx4YjhPRkR2NVVwalNwT0JiRnlKUXNqRmttcDhXYnh3aUg5MjFQb2hTajVyS3pTXC9Edlh1QXkycWlLXC94alVqNEtubHhmeHlDZHk0MTdXWmVHampVWTJtak4xRWtDZW80VGpzcG1INGt5aTB6S2ZVTTI3UHI1NnZsd3VqZzdvYittcWswUkZyaldWOU4xWGtLdFFCbkNTR21MSGxJSkJQcTVNVXVcL0kxNUNhNCtuUFFCM1lMSERUQXJoMTlNWmZoWkt6M3htVXl1U3E4MUZON2dCQVh2dzZ6NnI0TW1yTjJZdmFud2R1Vk5RVlJDbzA3ZHVIV095U2YxOUhObVQxTVwvUmxPenpGbjJhMUdJWTVzRU5zOXpmaTBcL0NwQnl3VHNBUVwvclwvWEliNVlmTTJpZkV0OXhNVWxZYVZTZzJaYTg3Q2tXN1NBcEZTS2Y5YlFYbkdIVDhnSWJkcDJJWGNCNmo3YTJ0cWtJbDlcL3RKTDRmcmhhR1RpY2V2SXIwM1ZScW5vRm5zTjRNUzZUR2lkZlNUcFBtM2tQaDNcL1F3UVhOU1NlU2hzRHlSbDQzU2VTVnpoTG1YSnFIcTZcLzM4ZFZOK0hHM1gycTNYallkQjd6dHVWWDJ1SHQwdXdzSmZVVm5rWm9YVWVybCtMWnFzNlI0WGZrV1wvS3VETmlqaTBEQTRvRXlpZHZqQnZ6Um5uR3dHaURZZVY5XC9weEFmQ0hnT2ExOFFrWjE5ZUI4bWhROGYrcmFOb3ZBUHlvQ2RQMjVNNFVGTnQreE53ckUwMUxxdW5ueDZ4MW0rdGE5c0M1OWYxT1FKeHROb0pHalA2MFNTelJaeEhoeXdtSWpKQk1SOUdxYWxVVTRPRVVpMFhWVTQ4T0FiYnozK1BQRkJFUldkMG5sZWZcL3JQcUVCRkx2MzB1TzNaMXJlZUlxTllLZDNvM0ZVcVdxaWtXbWFIQlF1N2N6UG4zRFhyRUkwMjI2NFlWR25iSkNjaFY1aHB4SElXMkNGOFpjTDFqdHVPdmhnNis2bW5rWnhmVm9wQVdXb2N3OUlxYk9yaVl1RVFzYVFpbHVVQjduYzczUVwvUDlBMlhNQWhkMlhWQlhBQXdsd0Nkc1N6QXoyTXJzZFFYUXMzbFhQN2hQUXU4Uk13N051T1wvTWxnd2dnTllGeUN5bVlVXC9pYWEzNFA2Ujk1djJQeUFaNnZFWWdnWlFcL3NJMEg5MHVSK2NGVmRlZVJwU0hEandrR3ZnRG45NGNaUmY2S29QV0VKQlp1OHpaK3F6cnFDc1wvdzBZODBcL0YyTlpLSE95ek5ENWU1QTdST09MR0RqZ2ZXWUgxVFwvQ1haS1ZNY3FJa29wQVQ2YkFwR3lCRjdVNXVQWkcxOFhuM1N3bWM1c3kyMmNQVW9rc3VoYjF0cW5XS1JlVzhxUWtnTmhobXg0QTBOVVMxcnBNUVZheExSK2kyMkRkSjQ0WmZaNGNwTDJGWjlQWGZwU3Y3U05ZQ056TjhSSzVxaVFhcURwTGQrMnRGNUl2VXpHYm5KYmlBRzgzSjlBNml6TG8yQXE4eWtrWlEzaGNwbzhmRm8rc1V6cEx3NmMzU2pvRTF3WUNuWExsNkg1Y3Zxa050MVwvelZoeGJ3c1wvQVd3Z0lKSzRuVTZSWVJ3MCt1bW54aEc1NlNOdjIrOXU3NUNYU2xRdVo1NHVLRHhVRngwREMrc1BwS0RSNm5kWnpPRXVSRFVLaUI2MXVIQTBMbmF3bFlDczBIZ1Mwc1lPZUozQ0Myb25ta1ZxMmd4bUhuRlVFbkpSbkJMR0RoUXpDTGxvU2kxS3NyTEZHZTM3VFlPVzZaTGNhYjc5eWZDU21cL0FMODVIeFBwNUR1WGZMa0VEVFc0eSthRHJqdmVsN2RNQ0xTT1VyTUdPU2x2RTU2M0NoNmxFSGRpQnhwbGhDcjVsT0xCbWgzNDdYa2Qzckt2S296SUhpeFJud2Vxa2IrQzY5OExOVWcxM2VxRWdUcUVYOTFFcGMrVTB0cWxlMGFZQ05qTDVORVwvSHl3am9ZcDVIUlpYN213U0tqUkRLVFNMN3NJdG1aSHRoMDV4aGNPM2ppeFA3VU1CNGFRM3lUNWxRM0pRT1luMzI2Q2w4VTZZYzR6NjM3bUN5bmdzbjk1RW5uSkYzOEpZVGhJQldmNmFybW1ITWV3dkJ4blV4WTVEZUZxbnE5enZXXC9hSFpVVFwvc1VKVlNDQ0dmU3JpOCtaTml2ekZweHY3U0RDUWp2d2tib245OE12S0E5dHB4aE14R0NsSWxCZ01zT3JJbFYxaXhXK0ZHZld5K0RBYWhJNmNHMXBPU1hoTCt1R29keDd0Smk3bERFZDAzR25JQzF4Q1BrdzRZOVo3eVR4UnRxeEFtNGNYR0xTWTM4XC9waHB1T0k3aHlNMnQwWkRQQkFmWEVHM1RiUTI1ZDRVQ0ZiK0RJVlZmNFV3MU9ST1FqcjA2V3h5dGdDaDB2XC9qRFFKNG5BeXRoM2xWZ3RBK3JcL09aOWxueHhFSDRDOEVwdnBiMWtzOWhVZnRcL3JId2FoV0oyd0lKa1ZMOVNxeXBONWRpMW8ySmw2Z0hsaU5MVlE3bDdNQmRPclNsbjhSYVRGcmQ0SmJMakdHUWlqaHJwXC9ZbUdFXC9UM3l0YktXaDZ0MXhzek1rd1RQVjI1TnhLYzZ4eFZaY0lMK0JmXC9lTzc5Y0dzR2NTMHB4dEFsWEIxZ2VhVDZlbnhhZGxIV256WW9wazNHbEFwaDJpdVJuVVlQTDRqRHRxaDlGcXBmbDkxdVVHVUthRmNnc3h6XC91bngwaEcxUjFSaFU5RytXTFFWWVVXSkFwcEZGUVUzaG8yeE1PcjVWYzZKXC9kNjNwdTJ5UnFUMVcrXC95Z0o2bjJNSmpvN0I1U2Y1S25ZRUt3TUl2NGxEN2wzTnloUVNwR1o4WFJYYW9jSG5MYzRCN2dWcUhSbnBHM0ZtaDJRaEhTUU5BK2lCVWI4Mmc3Nk1YNmlFSlQ4ZnIxcEpQTHBRVkF2SmdVOEVRbjN0clpJTDl0ZTU1enJ0TlVmXC9NblFuaXRZZ3RqXC9ZcWFONUt2RWVEeGxHY05Ub1Z3bXJxTUk0RktHMXNaQWhreGxqZFRtZUg1UUZnYVdjemVJZDR1TTJlSHFsUDgzNFJKK0lDM0c5M3RyR3YrTERySTZ1eWVmUjlzY3dIczdaNUVVM2s4VEVkRjF5eEVPKzVrMEJyMU14Nk5MR1gxcU84OVRRdkdSTEg0SXlyXC8rd2daQUtja2FMa2RwSDN0V1BDZlczRmE5Q0taUXJYSkJKTjhtRGdhOFRKM1pwbGVTU0trTDdncWtXTTBFWldJN1Z1clp1QkhXZTNuSjBDOW9NcjhVOTR3RXVadXg3MG1ROXdBUnB3bXVpR3lyNldMM3BsZU9PUEU0SytKRUpcL3B4WWMzcTNFQ003ek5FSzl1S2RlSTduNHJWVEhnOFlUOFwvWEs2NDNjUEVweFQ4UFhNOXVvOGx6bEVcLzV3TWVwMTZFdGppcXRGMkhPNVVLXC9PQXFjQWFIQllDQVdVcHJLbDNnK3p0VUxoUkcrWjQ3Y29pbE1LTXpYemllcVNxT05TN1wveVRYb0VtYlJoU04wbEdwVFllZUR1aW9EY2FvcVVPT0Rmc3NBY1wvdGJINGY5UzVcL3Z6bnMxZTNmSlFGYUJHKzFaUzRUZ0N4SzMrOWFxXC9FUmIwRk9BRWtmdGxTMmdJeFpqVWhyYXB2VWN6XC9GdzkxaDExWFJvNVFPWUV3VmZZdFE5UWZ6MlBiU3l6M2ZZSEg4ZmRyRHlsYXRBQm0zanN4YVhibkVQdE9BZkJjZDRhTDNtN0VDV0dLd1BQZDV2OTUraHFsMEtNeVFcL0dKUkl2dXRpcUpUN3kyTjNubDJ6a2ZUbjg2YVBhb2tJQmJjclBxN2tTUVduZ1RxeUxaTlwvUU1ad1NQakxTNW5wUm1OV2NuRlB2akRmT1V2VXBiRTEwM284SHNnZU1Nc1EzTlJuWWl5MTNCbUZBc1dkS204d1ZkRnN2THdWQmJFeGF6N3dyNlZ3VVcwQTNEZUowbFwvak5oZHY0RW9TOURuODl6bHFPZjlwazdoZUs5QXZCNlNXZ0FuMDRpbmwzcVVUQ21TTFV6SldzaGlLckJRaVBGTm1aVVBjcXZZM3JWQ3VLZ2ZtSmN1aUtsN3FVaFE4WGRuZXo5UUo3K2NIazcrNmtpSlJsV2NYNGFOUk1IUlkzVGtZOG9ZZGNlQWZNaE9lcEptMElWNmtDUThVcEgxd3R0ZHVhaloyb1FhQjExUjJsNFVLUVBuNktTVzc2MTNPamRSdVNcL2dPS3ora0pyTlBHWmJxd3lmcTFkdzY3NDZhQUlCcnBmOTJ5dFB0cnVrVkdyWFdNMlVvVmF6Qk14S2JXbzhwR0J5ODJORFppNGdna0JJRDJ5Q1V5V01ZaVB5OUhiU2YxZ1I5OGhOSlNVYlNTVnBcL3pCQk16YTF5TjFZMFlKTkxXamtKTW9nSitxejVMWWR5V1BDQ0dlbVJBYVhueEJaak5OU2oxXC9ISGpBT2VPd2NcL0ZSWGRHTyt6WFwvMVwvZWdyV3Y4NXFlSUE5a3hnODdBallQZGFaXC9QYzBKQjAyenhlQ1NtTjVGZTQyNVwvZGg2RWxXcHliQ29qSlkwUXM2WWJPbVUzVDhJa05leWpRVGhhM3B6bHZBS2RJRXdsXC8wVGJHaDU3WDM3YTlnaE9FZnZDSHFZXC95VHBFbGFRRngwT2xpWVBaZ0ZCcWVGZ0M3N1lUR2tOdlhOdDc4djRsMTlWb1RhalhVR2RqVGtpT3E0N2FFTHJUMlkzRjJueEhwNTJ2WVN4cWFUbDhBcHZCV1EyWWFcL2NoK3k5aXRXU216Z1hpK3hoYXdsWXpZUU81a3BudlE1eXlucStnNmRXcnhCbHJaVWNFR3RyZGd1TWExRDc4Q3E3M2lFNHNObWFPRHEyNDRTWEZHTnpWNys5QnlidFRtcDk0Z0k1YkMxNEhZMThzVlpLMHVUb1dMRFozem04allqU0NjMWNNcjhneENnSitCTGRNWWcyc0c2TzZ2Mlo2ZVpndTJabUhkbVpJUk5GRUdEWFZxd1lDVGt6SitHSzFoVjJUd2VJblM3c3gxOGFCcFdrU3FiMWhIOVZjQ1g5ejdpNHZKMVd1RUZXWnl3aXhORWVwQWJva2RJNVluZHFGalZVWGFTZkVDSUZ0Q1lkQ25ualZKaU1aUWNLNVpFaHBzNzd5Q3lmK3dneGNNUFJhOFBlNzFDRXBhZURlTkpxaStmcllUYlNueHhmNFZWTUlkUUlzend3N2c5dlhDU0puSkFDQXNaSlQ1Q0FqZEVpZVhhZXF6VW5JYkJURjlJeE1UT3U0eEdZdDA0WG1kRFdvZHFpa1M2Sjl2SHRIWTB3NGZLT3dyREpqMHk3dEN0VVdqM0ZJRUhEdExDQVpVcGdkOUhxSEY5dnZaWklDVFB4RVIzd2xrWnA1V0xMREQ2bjRPa1ZVSEF5bCtXWE9kczdTUURISEg3VmJQSDVYM0h5QklTRldjNXVWeVlKVFcxUWkxMThPaGxiRFNQZUR1WVR3WVZjVlZOQlJ1UWZLSDBlUUF5Qmh1YWpPdW5BbGQyb2srSUVja3B3UkxjYU5IRFhXeTRDTXpPQVQ4bEhFc2Rha0FuVXliV2ZoV2RoQk1IVG1ZQllRNittWnVVb2xRWkFSWVFpWXRjamtcL0ZpeCtyV3dHS2VHejNIMGU0NDBBWFZtNlVDbE96OXpYU1kzZGEyajI3ZzVOZW9oRk00WkNmTzlwR20xUkFqNFJzU1FoUk16UDUrZ3lKTHliRDJUTlJlcFVCVFVsT28yZW9xMTFYM0NXK0dUblNiUThvWTIyNFFMY1FIU0QxVUZaaGtGUG5YRldrTXpaRzlFdWdYVlRjRWhrQkJZY0UrUkRrejNMTDFZZ2NBSGNsTUhXaTZqQTBNM2dUZ1J1WVkwQTFVWlwvVThXd0FQOExqMnRKVEN5VDg5dW5YTkQzeUphY1VQUnFWbnl0K0NPWFpFUGlcL0RGbGlKNjArUjNYWHdFRzdSNTFCcDlMZVZNZ05hcTBKQTRBUGR1cmhCeWcxWmtcL2srS2lzREZWUWtVMGR3dXJEZHdyNUFuQzhUT3FGUnBuSTNWUVpIeWhVVzM1T295M2JmczEyVDFcL3A2NDdLTmRaekp6VHNiUHd3UnhCM0c1czdjaEl2OGsxdWhpN2hVb29SbHd4ZUdydjdpWXIrRGduVjNjWm11V3lRZzBhcWtEQzdrQ0VwaFwvN0s3Yjlsd2xubjg5WmJnVGxjWXdkZ2NkamNXcWNtUkpLVkRvaVY2Z1d5YVFydGpJQlNWWkdabk9jRmYxSEtCakxrZmZxXC9vbEF6V0xzQWs2R2syTWt2T2I4MjZMYm9WQkZ2dzd1QnBsTGhyU2FWXC9nVXVvRzlrTFlibGdzUE51eXY3eHd5NkJyYm9SdndwVCtINFwvS29lQ0tEK21wd0NhemJueGQrUXlvM09SWkxnMFRLelhTWkFWWmI3RjNUK2xjcVwvQ0dENWFuZjJLazFSM1VjTWhVYTZoQTVLSXJBUVNYQjhYQ3d4YlZ3MG9LdmRxbTl4U2oyZTFKVktyNEtmakZpYk91Wk9mRlFZalYxd2lxOU9YUWF1N2JnaVNjdEtBbGQyN1h2bzJ4d1htU29Ra014b1BEOENoUUdNS21nUHFEWVZBa0ZUWXdkeFB3dGgwSlNGTHVFRVVtVGZzWFQxR25vRUdsR0JrNkhEVGRCZTE5Wmt5NDNzdUNCeXR3XC9aZmpXb2R1UmFhUld6WStXNTZtbGVEVUR2MmR4bHRsdXlFQlZENFRQUVwvb3JIQjVPbjE2Kyt1dkVnaFZoTndqWEhjYjZGQ05vc09NVnpCQzZBaFhGQ1QzNUZsMDhWRzYwaEhhbG51dG4waTJ1dGQ2QzlxVTRPSENmWHVSZFFFY3BJZ1FzZ3BNbHNRdDZudWhFTUtodFRwcmxvV2hQNWlqMG9DdWhUakphclZuNDJRWlFjUUlvNG1aKzU2STN1XC9ZWHdwOHV5bVpENmFzOWpnRGhkQVVIXC91MzdVNzdlZ2g2bUVzYU9WUFhQQ0tMRitSaEhFR2ZcL0x5TXhsMlpjN3cxdHMrNEVJSjBMN1EzVTlZUWxPQzBBUzZZcjNpblhOTUpNekNtVDgwTVNSQkJORSt6dVZhazJ1cTVnajdtTmh0VnV1dk5rSldENm93eHVnR1lVQlwvdlwvRlNjR3M3SjF5UUdzOXJVT0U2R0U2d0w1SFBldGxDdUNTV3E0cU9FNjFJXC9pYzlBQ0JaMjlzaXJqRFwveUtBVWJ1a01pa1VGdzRkbTc2K2x6Wk5BWGJCaEl4dzhtem9sQ25zM0NjQVV2RW1OMTJjWmJqTW1wTHN6TkJONU5md1NqNTFyN1hcLzl6eHdcL1I5amNvNlNjU20zTWkrbkNhemkzdlR2elNEZmFZOE9tRDJKWGZuZVhsQmZ3OE0yQnMrdEtMUE5INlk1Tkk4bWRlSnc5Z3FuNG16dUtBcTFrOWVhRnkxMFlqQjBOeVZlWVczdk9MM3RXTEdwY1wvSTBuSWg4ZVwveGRWVGhmcmhhTlZTOHB3Qm55b2xkbEJcL0ZaXC85SlduMTZJXC9WV0VBV25XKzBlODJnV2IyZkFuZUlia2ZINVBcL0Vpc3pUXC91dWNkR1hNcEtZWm56Wkt0YnE4ZGhoSzVnUUJPZlpQZ25JeTdrM1wvaWhvMGV2MUdMNGFTdVQ0RFlTWk9SZmtUQStTSXlyaEFQZVBob0FkbkdwUVpFNXRxY293enBseEY3U1NpMkFXYzJcL3JSaFwvWGpzVzFUSWY0SVFOdUhDTHlsaFd0SWgxWGJ6MWVoRjVVY2hERjFsUWgrY2VHZ1lvNEhiTUdCVFRTNEtUWmN6dGY2cExQY0h2ZlQ1czFta0M2UDdFblM2a1BBRmttb1M0UVBGNFBuUzQ0U1ErRmIySlRydEJQV0pCbTYrM054RGRhN2ZxRUU4ZDBQWG1KcnhNeEcwR3FpTHNEZUQrZWZqcUMxY2hPdUZNc0NNeXZwaGpQeFZKRXV6VXN2ZE9KUW1uZ3FvXC9hOUUwS0JKektwNlVONG1cL29aTHdnMHBnTjUxb045WVdJQ0l0bnduVDJPdlBxN3BXRUYxVkNcL3RsSW4rUjJEblJtMzJDMFRKWUJKZkkyQnpGMWFhV0xNR21FODREOWg3bElVaE1rTkFWRExcL0ExUmR3c3ErYXNoQTRCSWZvWHRLb2RFYUNGV3kwSFZUTmdDR1BGdjVpUzczalwvYWtIWTBrd09rWERlc0ZWYjh2VDJUQzl5VDhzVldRSlFRMEorQzlKT052a2J6YTN5XC9rMzVDMlU2d3hodkZxcnl4WmI5XC9iYTZSVktQS1VxaEE3MHFmTnd3dllOb0F0blJwbU8yZjFNRWdqeUJMM2ZaMnNWNXRBd1ZGU3Boc3U0RDYxMmsxdjkxZysyOEdQZWVNZzdHVTBRM0hqV1hmN1wvMzRPVXZzQmZQbjBKUmVCNlpkMWRKWDZKT2wzWmg1UDcxcGFYcTd0Z3pmNnBUNWx4SXkxdGxOMk9QTEhxRGc0WlVleUtjZDFiNjJxdjFiTnBSM0F3eVdESmhHa01RRVlaTjBjZlhBR3RkbzRZTEZBUWtQVDNrWEprd1lTOFhtazNhOWJIdDhvSDNlelZsRTJHNmdaM1RLakp6QTVGTjdUWUNSc1liZk5sNGFzN3lvTUIrZVhSNnFuUjdiRWo0MUtMUFVsSVUwY3gzM2tDcW9IcnhaQU04TWhUQVwvRUcyZDdaNmtOVkViZG1xcllZVG1RWEMrcmVJS1ZjUUhvSkVqQkRSbVNFQm9ISlwvMXVrN2JYZFVKQlNKS0lEcWR1U0xmSUJPa1NTRXpTVjc4V1dcL3ZhSzRsdlFiQXZ5S2k2XC95Z2tIVXYxT1FJdzBaTkU4UGNCXC9MaDJseW1xa25CNFl1NmVObitjbVwvZkZ5dFJUNzFJRVhcL2FrTG1tS1dmWmlXeHFKYlRSbXFhbWhhQzZVOHFNc2RLMU9qcXVrR1ppUk9JTFwvQUdCYmtFK3RoK1RrWXR2MW5lK1JhUUVOTThjbWErUVFBWlBVc2JETkNjZ2R6Q0RTZmI1OUxoekNaS01Mdmlua1RzUnNrV05PMjZZNTVaXC9TZzUxMm9tYUtcL2FVcUNRenNKd1BWUXVcLzRublZhY2JjQk5JR2VYakhxM2NGVHdFRmVCSSthT2lyamw0UTdvbHprajJMYkFJK1U2bnRqK3FadG90NnpJaDRvR1VzNlRiUElRNURXXC9GUGgzXC9mQWYzUXpjeDFVQ3pQOWZNYStoZnkzbGNhK2kyVEZDXC9FWkV6aXVJTWsxTDdlRDRtNGd1VHBOT2UzR0pVNFdBXC9yRXhUT2VaemRXOGZ1eVdGUUZUREZcL29MeU5hRDRRenBHZm1NeUJUNlBNUlZ6T2VjalJweGFKOGl6TmNNRlwvMWpDMlp6ekxScmR4eE1icWEyUmxRbDQ3Vld3d0lEVTY1dDhVYjV4TStacUlvNHNvNDFwUjk4bkhmWGh2NXgwMFo1Vm5BQUNjdVlJeUhDZzFzNmZrU3VFc3RlTTRqclZpWDNKS3djUmN6cDgxSUR1bld0eERtVVFaVVwvcUJHWW01T2lkN09QcDdndFpJU2MwSk9uVFFrWFNROHY1Qm5xaUVYYmNsTXJjZklpWFZuWnVoTXJVSko1V0JmMDlUT1FHSUJsa0JFRHJOTytyRUhiTitMSFpEdGJPOUFFZ0FEek5YS0pjMHBWZU4zTm9keXNReGhyVE1VK1ZZMm4yM3B1R0U4ZEgwbDZtVnBsUm03dlRjT2tPQVVSUkNMMGdZMWF2UnRLZ0xxTHAyUGI4Z2R4RmVTT1daaWV5WHN3dWEzdEtKVDYyWVFDUUxYMkJ4M2psdHJYZnJmaU5vRW1HUm9sanVCdGFuaENYRzA0emZKTjVzYVlHK29BVXd4K00yQlZKUlJDNHc2XC9pSCtnbFh2MkV3ZWpOYm01anh4emN1SXpmc0c3QTMraHllMnYrdnNxU1d5cGZCXC85cklZd1c4Y2h3bmdQNGg5ZVgwOWNPZ2oyQVZ2c0ZUU29VUHFcLzdkYlwva2ZPb00wWjVEZ0RFT0JlbTBUVDJCZ1RHendRckNCTG45a0F1eVBXQkpaZVA1VitjOG5XY2pzNk1samloNmJXRTV3OWxmcnA3M1ZzUHBqTXVpMzYyb0tVeWREVVwvZ3ZHQXp6a2JGRm5FbGVTa1wvZmhEV0lDOHFaNlVCTDcrOFJOUHJsNzBxeXdYdldNYXBGZDNGSlJaOFZiS21icFA3YVRhMDEybXZZM1cydUdkaStzbTRLMG5lazJreXMrR1lhT04yQUZodHBZN1RpalwvWlk2YXppdVZRb3JxNW50d213cGpXdndzQmNhSjNiRmZTVFNldFwvS0dDcHByRmZZNU43bEUyb2pkTTd3Z1FraExLUWRjVm1UKzgzQ1RrWDFCZXdCSlVrbmU4cG5rNW85QWlTd1ZHNWdiMkRuaUlSS0xOQ1wvOU14Q2ZMU09iZEN4QTdUUUZwdGs3Q1wvZEo1eUk2RUhFeHljOVlLUUJjK1pyU21Jb1kxbkhVT0VsMnh3dERcLzF2N1hJUENQOGZxdFF1c0dGMDc1SG1pZ1wvRGFRZVRJUU5hbjAwWU9jRFB5UWx1UTlHZ1h3Q2pKR1RmNFFZRVJSZ1BHWmREVVwvU1M2Sm14WGlFXC9KaEFHc01EaFp3cWZ1U2pVZVwvYmVWdnVNQ1hMVWkxcldVUEU5R2NQSWR2UlR5M1ZhK2NyMFJwOVp2eGNFdEdOc25kUmV5aVJ1Y2NlV2xPcHVJbk1GMGlaR0pOdU5oKzdVb0NXUkVOZTRcL081a3lUT1wvZkYxVnlpYmphTm9uR2dJWjErYVhLZG1iMGt1M3QzeTlDZXZPRjBoVUh6V2lRVXFielBtRFVtcFMySEZsU0tMa0c5NnRBTmhVQ21zcVk3ZWJcL2Z0b1VCV2FyM1RrdE5IeUJoRFJESmcwR21vUnNqakxqalBrcmZcL1pTTGIraFRzWDh5MEYxU05DUmxwbVE0cE5sMDFQc3ZVK3hNUFBTY1h3VXJCN3ZsT0lYYThhZnVCVlMxZWxJWE40R2ZcL3JKeFVyR20yeGJVSVpcL1NzMzVseTM0RU9MN0xabVdLclIweWlKUnIrUGhYQ0dJNElnQnJtWXRLQys2Q2pRRUtnc0VRZGtuRGxjbGlcL1VmV0dFYjM0OHVPOGQ0M21iNFFkS0pabFFtUkVucjAyQVFQWTJEZHgyNjgxRjRGZU5yem1PaTBIbm5hU2g0RjgyOXViN1A3RDZkd0VKR3EwMjUxbFduVjhZNlZocG1vNW5xYjVyYUNKNHNKOWZJNUM4Z3NFanQzUDArN2J6dFhydEF6bzZxZk9NeFZLMzF6TldONzEzekJzaW8wcWZwdU5oRUI4SzRYTks0YWIxSmYzK3VCbjlJRnhOSVZjaVhhM1VuQkNHbjBJSFVueUFrOE5wYWNNOWhuRXFoK3I3WVFyVDFlYWhzREpBTXBQSnRENERaaisrU0pSWVZmRmZ0SWp1aFVweU1kOERMYVFLMkpnRWQ5MzA4d0I3bTRrWXJoVGxkQnFFQkowcEhGMWU3clBsOXY1NEJrUmtWUkp2RmlwWXBiekR2MWxjWm9yQ3c2REk0MjFFQXB0MnFcL2gxWXh2Sis5VGNOa0JMK1JOMzUyYWNHQ24wYXR6NUpFbXlGdTA4N2FYbzNQTEk2WElZRUd6MTJKSjJTK2F2WWxseUZISG9lbVE5cFwvUmVhaWxocGQzMFwvWTNCV3RxSm5NK0cwVmlDbGVpQkxzb1dOVXVhK01waE9NNytjNEhwQlQ0Qng5SnFRTzZSang3dDg0VGlNSExcLzVkZDVycFwvdE8zRE9LSDViSEZwSGI4TzNIRHl2Yjdla0EzQUthUzU0cUFTSHlDZ3djclRyOGZMMjFzT2UzXC9jY1dcL25hOVpLSW5uNVc5N1lvNUFVeVE1VWJpUEYzcWxTMGNHNE5adENTSWRDUXJKZE43XC9Ba3Bqd2w0VzVLZ3hEUW5saDNoZG9UVXJmQ01KeFBsQ05CZkJMRlZTUWpueWoyUnc1WkpGWHpZUEJOXC82Q0U3RVcwajdORjB2cGQ2bjd6bHpMbUIrKzlheGN5cEZSZVptanhGTjBqd1M0UUc0alBRcVorY2p3SWo0Qkw5M25NbG90Vyt0K09jRUt0Rlp0eFp3TTNPc0tiRjFYY1wvREduRGpmTlRVRTYxSHJySDZxXC9mVG5nQktpUHRObFA2alV0Smd0VzcybmxiU1B2cWc5QTNvOTJMTkxPT2g4c0Y0VUhtTjB1K1BkUkpWT0w3VWZpa3M0M1dcLzBxVHRMTXNhd3pWY0FhSDkxOVBzNVZKTXJmZmhsVDZIQ2pUMHo0OTZOVWszVmU0ZGs2OStuaUVOR21PSnpyUlJwSmIxeXpENjNKYWkyR0U4Yms2YXpmN25qbndTb2t4c1N0UTAyaEs5UEtUVEQxNFV3cW5BemlWM1ZNWTdtMGwyNFwvRlBzYkl6R3l1SVdqZkdxWjg1YWkrWWFvaG9WV0JmMVQ4blFSeHFOUDJLTUZTa1ZjaGVBZ0FlYWJyTEY2NW92bzRVQ1JMbUJIbGdkcGVST2J5a0pNeVRIek00TlpvWlBWUm9BVVhxR0ZYdzV4RTlhV3ZLcTE2UHFXU291TTNyNDhjSWk5MThjTTk2bHYwQ25QcWRsM09HNFpXeVlVcENnRExYc1hiSFwvNG1ySGduM29BVmh2bDRhbG16ZXFUUUU3RnVuZlBYbVwvY2l5ZldUTTdtRjMwUWdkbzdlYTZDMnU0UWRGQjFiekRJRTJGeitIR2ZmVEhHNUdJaDZsWURnVGpQZmw0cVVQT0J5YjFJR3RsNWNXdUxoY01PUXhWRHlxc0JJQUFldmd1MlJ5enNCb0F2RUNYOWxBaVdaU3R5enNRZ2phRHNQeGwrVXpUTmR4WldRZkU3ZXNNdFZWRlNPUnBBc0t4eUx1Y1QrVzZNY2VyNTkwRGdTTnZ1alZwXC9CQkI5VnhrVU03a1B0NUhtNkhUZUp3a0ZCdFVoNXFtNGdkV1Yxbnp6ckZmcEJNWVh6ZVIxcjRzMWVxSjEwOWE5aHhQUzZEK2gwXC9KOWtIWXhZYmxyamNLWEtpcFE5Q1kwYXh1NHY2RExPUWphdENqQ21XTXN2b2Z5Vlg2RFI2VldQc1hKQmY4NUZLSTFhMGI1c1wvc3ZKakZlWW91T3pjY2Z1VW8rUGo1MnBtRUxGRDVncXFiNXVBSXFTeDFFanpkUld0VjRHOXMydUtwMlB1RFU5alA3RXhyellMcitaRm5zaktJSGJUWGQxV1dKOW5TdEZ2TFZzK0R6U2hheVh4Nk1kS0MrWUo4b0U0K0FoWkE0bVBudmFvekxQSkZ3SFpkNWxVUHorOWEySHpUOElsY2VKcFlcLzFQUjdTS3FcL0ZMcHYzVkZ5YXRCTkUzQkRYS1lhYnpjR09LcnRneHRmd0xPT0Y5N0pHSHVGRVwvU01kbVk3R1RxXC9kWldwb2JXOXBNZUFnYUFNUHBlY21ZeE0xK1wvbkRvamZ4N1UrbHlpemQxS3E4MVJ5UjljaENZQ2s4WXcrVWRmMEpiY3g0WVpma2FIaTltVFpGaEtHRU52VHVJTmc5ZmRVazQycERvc3lwQ1wvbUsxb2thQUZldUQxdlJkZnV3RGlxeFJVK3JnSEdoOWJBbnBYaFZTOXRDNTlxYkFHUk9aXC9mQkZDTVA1WmlYcFFBMVdzMWZ5NGdKTjFhXC9LQ3QxYkNoaTFiMWFiV1JvdEcrSFwvMWtxaGRWSk1mMllrVUowa3ZvcGo4K2JQQVhBOUNITG94MEZ1M1hCVndETlNEcDBlQlFpbHpUcVVmQXdtK2k1XC9xUmh0ZHFhZUJ4Ym15b2pLdTEyM1FMSWQyeEdZTGxidkc3RWRucWZEMkdBbDNYeElDUVpEK1FSdW81eWZ2TDBndjZwdDNpR1RFNjRzaTdcL0lJRFwvSHZsMWdhU0xMVzY4U29GQVgxT1NjbXNsajhHSlZhUU13cFcrYWxHU05RakgwUHRLMThkY21hTXJMZmNZMDVkbDVcL1U1eFdJT1YxMUdjQm1oYm1PaDdVQjFiXC95d3g2RW5BT3Vpc0pyVVYyb2NUanoyRVZMM0FFOU0xdlB4TDBrdzd5VFR3YmppdFBxdkNqbUNLUFM5YXprWjlvUktPRjFVam80bVpxWGdcL3oxQkIzbHUzRVlcL1FndmNxbXY5aldNajN3U1daMWhyRWdHQ2Rsd3Nrd0lcLzNVejJtbWt5VzhDc3JHWGI2XC81XC80VTJzcEdGdEgwVUVHd0o3ZGpaY1QzaVBvendYQXdGSmRYWHNvTTROeTJiQldTYUZBOUM2YWo2d2hzeUZPZ2doeXBZUmFSTnpwREpSTzlDcElCM21nRnNmTEpsQTk2NzNPVnZPU2lZZlJMSjNKK0hyTFhnNittVDZEdEhHZ3J0ZFlYR2d2MCtidkVQRXBrditwckdMMjFzSGJ0NWl3aFhmY3hvZkQwbTJyZll2enZ0K2tjRXZPekdIa0lnbWFjTXpqMkRUSjdLWm5ERWRCVUcwbTE4WU05WUd6Z0VKUEVEa05kYUR1OXJjRnlENWwrUzJMU1JDWkNUTVQ1NzYwVGZyM01Nb0wxcThrU2dhVGFzY2xKSTg0VmcrcHkyR0RIZkVIUHB0dURESGJyUTJZcUc3S0JKS3BZTnV4alhHMmNjSXRVTnFTS3o1MjlUdzJFVFlScHVtdE9CWmx4OW1cLzVTRXVHWFVraVJzZ0JsQ2JZSE1USVNFeDBsNDlOYmhOcjJsRm4zNDFkMEZnNm9vVWlrS0tnRjFwWFk4bkxHc2NkTGlQZHM3MVk0RHlPZ0lqanRmM1p2SWZMWFMwbE5JTjhsOEZvRjdyc1k3NDF3clpielZlWW1yXC8xek12VE8wK1NyaHE2VGFNOHRmWThveGpiRG91dkNEcW1hYm1JMlhlUEFlMDlUTVwvU29QVEo2Y1JWYnVlREZLb0IrUlRvQlRcL1kyWmgxY3ZPNDlDUkhWSWNhbmRRdWp3TWRxdEF5OStzaEpBcEMya1RqeHp3aDc2VERNK1dFQk44M2c5NEdpcW9IRVZZTnBEVHRiQlpSWGhFaUxXVTJ1WE9cL01MU3lNcDNVb2ZjbVhXM0R5MGVISlRubjlvck04UjlySDFJU0YzYWhBVFpIRzh1OWtHNHZHdXJRVU1ER1VrdTM4eHU0NXEzeWk5Vm9OTHJhdXV1eVwva2pkbzlqZjg4ZnJJQW5EUFwvclRycHNrUUc1Vm8wOG1RNDY5OEwxaWRkNDVUTEVmVnlcL1VaSThCZERONWp3UlpqZlA5dk1rWk1tZjRmR2IxbjdmTks2MXdWNnlKc0U1UldmVmZzdmU2Z254OUJLcWw4cWo2d0lUZzY1Z1M2NHd3T1BxNldVeGNVWjFjRTNweDk5S084MUQ3elM1XC82VjVvQ0EzU25WOVBxNHpGK3lyd3B0eG5NVzVrY0RnYnQ5SE1hQWNWV0VXZWt0QlV6aEpmT1BWekJBSkg1RTVSaFdoY3RoY3VMOXBjSUdUN3VMZ09vWmR3MXZCZmxKaElHdVZRM1o4NEtMZktueHpUUEFUTmN5N2crbHRrbnRZOEMrXC9ZWGIzQ0dEM1IxOVBnKzB6QWpLY3VnaEhFMEhLdHdRZ1ZaSUErbmxUU1ljdVlIdW5ZSkJCUHFEYkJNbEVnaVFid2xlMWdXUThIdXBSTTl4bmQ1ZWVyUFNjdmJWTHRDT1g4aXFOR0lmTFo1TjZhdmhNUUNsSzdIMkxvR0xnbituXC9yaEVcL04zZ1hMRjlhZ1VpU3dYZUh0dXRSOHJ6NjZ2MyttcVQxb2Z1c0duZnY4Y1pHbUpZYmUxaDlFMzc4a1FSM0VFQ0dGbkxUOUR4NU9OMVBRaEo4d3NwNEpTSzU3bmlxWVhLUFwvUXo0NGM3OWhtbktCakJSdkVXRWNFa3g1QnF0Umd6a1FHaU5iZ0FQeHFIOEl6OXVFK3NKbG4zRHRpZ3lEaDBSRWpnaHpyOHZnQVRcL2h0ZWxMOXptQkdxc0dNWlNNNis5WlRkYlZWc0lLXC9ud1ZEV0V1bGptc2VKbHlOZGt1T0RiWWlFTVAxS0lVY0VHZjd4elY3XC9lWnJqYVRhY2dSUWNSYll1eG0zSW1jb1pcL0ZWOXJJV0tNVHorVkp2M0FqR20xbllORjQ1UmJUMENFUEsxR0dLb1o0UVdkVytDZ0ptaURMMDhKRk9SSHRXcDAxUFZqYng3VTZ2VlwvQXdEb0dhc0dvNmJZWllZSFUzbG1GRTdXWUpaUkxzREpcL0tDZWJpRURjM1BqTzVPdmQxWkIyOUxDeVZmajVVd29uR1FuaytTRmtvbGJKeldVV25rb1VZdHdwVWErK01mRWhtZ04xQzJ5bGRTWjV0RGJmMzhzcWc5RzFieXpqWGFNOWNFVlhBSnZcL28ycnJOcDdFNmFPbjZLSHB2SzNWbUJwamNjaUJMS2FJdlNxckx2U3ZPZ2RrNHJDemltcGREdWF0dWxBcEVDSEdSVjF6VXpGVGJyRVBFR1lZODBPSStpaWJzaUNpc3A5eHhTQ3BCYmtGamdpcXh1TU94VGVtNlRjVnZCSDZ4YVE5amorTm9IZWNTSit0eUVGRDcraTBNT05GRG1cL05CZFM3dWZocU0wVmJUT21VbzNlNXBJRm5mVDM0T0I1OXBPbDdkTG1nTFdBUWJEMzFWVGZkTGxKZStMQ0ZORkM0NjRnNUJrcFZrSk1TemFoRHdwYjdza2hNYVVwc0w3WktpOHJYS3JadGc0bnJ0UlwvOVA4S3FPUmhuRjRKcWtFeE5XdWl3TWthU01JRDd5Q3c5NkNaQ2d4XC9vMCtpXC9pVW9XY09rZURFdTg1bzQ0QVhZN3FhSXNjNkt1V1RIdjZtSlFTSzRwclNQcndxb3NSeWRFdlB6MHVxWG9ibG1GaGVUMzJ6RlRHa3NFODJXWERyXC9ySStsRmR4YVFhZjFBeTU5WjVEN1N4RHUwVllVXC9cL1VBQkhmWlpzcDNYc29lQ2ozVG11TmVMNURIRG9lbnpRTE1zVzZlbkU5U3czSDNsT3lOYVFWVXB0bTZydHlXUjEwVHNKakhcL0hmZGQrQ0pPalFcL3ZGK0N3S2FNVkhVWHJzNUFiSG5PZG9SZTBnZDFBVDIzVzdJK2UwZm1ibk1lb0ZWQms2OHpycmFRUFJcL2VaTlwvY1puc0JWXC9FblM0SWFOaEdjb3E0cldQUG1xblwvZVliUFNwQ0ttQVd3K0loXC9zenkyc2hUMSt0UUdGXC8xYmRnZWhIXC9LSVFwRWNiczBrY0FnVkFpWWVlN25ObU5HM1dtaE1MZXliT1l6cmNVa3dNc2xEYlJSdmxzaTdpeUdqemE3YkVBaVBiS3JmWEp4NTM5ODErYkZldHBjS2hBeDlzXC9iMjFcL1ZhT0JIcGhjT3AxS3U5bTRHXC91NklDY2RLMFg5N3FEN3F0NHZQb2dXSUN1WDNwZ0RKWmFMSXk4QmZ6SU13RVNRakM2M0NwcHRKK3J3b2RNZWdUOFVveE4wOE5MNUU3dW9iQmVUbkd0bGdFS1NQanpQRWluVjlOSlZNXC9CMEhRZTVVUmQ0N0RVOU5mdHQrZWtSYVF6akVJeEpZQ1dKZnhmb2Z3Njl4Y2Nvb1BINWFzNFo4cVJHMDhKdzhjbVhnN0xTVFprTDk1V2w3c3kwY2hHMm5zRVhqTFh5QWtxYjJ1NTlRa0RGYlJvZ0c3REw4NG5cL292NGZ1dDhTdFRXUERDcFE2TkxNTnJFY2NvWUlUNmNoZEVWU1BQZmNrcTRIT2ZBeXNRQUdMeWhcL202MEdkUWs4RTh1U3E1QmhQVUtwZVA3RVQ4NmphYVljNGlNNDh1V2dwYmhSSk9XRWtmVVpFU2JkVmVsNFZhYkpHMGxWekhmZ0ZEZXVMZ1FSd0hkOWNqSUdkMGsrYzZ1bFwvQitlRjFudk5NY2VWZVV4bmV4OWRjWk85THpHeFoyOWtkYnl6YXhydTFMdVJEV2pxa0djWjRiYnI3UTRkVFBtajBoRFNVV05zT2NBY0lDeXJiM2pKOThhWm9tV0RrUjVhcFZlZUFqQ2RzNWNwSWJpVndzanZLUUhYWWhBOUpEcjUxbUNrempRS1MzbEtDN2JPZStQR2dOTll4TUtHTktIVGlsQmY4ZTVlakVPR21YclE2V1wvTHlYdFZaNEcxUUVRREtvdEdIYUgxajAxM1NZUUJ0bzlOdFRlRGlwcGpKcUtcL0NZb0MyNUF1RUthTERJOVhJXC9OYzJnZklaSmZiMG5Ta3crYlI0OFhKcDRWZ1A2QWRPaVRSNFhJXC9UQ2FUTW4zamxLY2Mxd1g2QmtXaE5OTE1DalBqXC9KV2hlV1duRDJ1K3NVVnNCdDJFK1hyN2ZZNHh4MGluR1lwdUtUaTJjOG9velk0MEhYQzZGUWVoVTBrNDFOSEd4V0tBR3ZjaEprSjVUZ2Fqd1F6VTJQUmxPeG5GbmRBTElNKzIwblRDaVVUSXB0ZTRkRWt3VTNjeUs3V2o5VzdxUmJMbTQ5Qzd2MTVCTTl0U3NvWUJrZFZ6MndTcEdtVHRDd3VMRDZDXC9qd1wvQmhzcUQrT3o4eXBIVWM1WlwvY2NNRE5Tb3NJUnBFZWJBRDROT0NIanpqSEMrOVhOMW53eW5sYzQyXC9hWEN4dHVVUFVpa05cLytqOGpxbldzZGwxSEkwZGllbmp2OTJcL05ZRHkwVk1peW54UmdldzdlXC9YQ0hGYXBYR0hqZUs0RWRFTGo1WTZcLzFwUDBKSGhxMUFxZ1duMnpLMzZqaWJoVFg3YmR6ZmRnQnpKY1IzdkVhdXpUSnRrXC9ZdXBOb3NQbDR2SUFibUZiazY4V014VEFzWUJRRnV5XC9FUXRaaTVSN3hRcGZHQnhGSEt1STExVit1VElYVTlDQjFQS1orQ056d2FcLzgyS09kRGhTdGU1cmNObjBGSG5TWDIxZW16dzRvaVlBaXVcL1JKS2x5dlpMOE0xVWdyRTVpRGF1SFptRmhKbmJ1RWFKSmRSYlU5ZzM0V3h3Q3lvdGZVbFl1cGdUR0RTOUo2eWJreW50NVhwdXp3UTBrRUhCSjUrT2lNblQ3YmVGMEFqTE1hR1FMaFQxdlJnek8xYnlRQjkyNTZ3blIrNHRvMlRIK2dxemwyZFA4bDlQdVJPOUpoMWJRVTFtbHFKVVdrQXBEa2RBeU4rOXQ2NG1hM3FYUDRCYVwvcTR1K1FycWF4dmFEZFwvSXZ4TjhSMlI2UFRKOERLTWpKOGNzQjd5UWxTUVdLMHVnQ1lcL2ExSDk4SjNiZ2RQOFBWNnNlZUtrYWtMMGhCTkhKK21tVFNXSk5sNDByNE1qRnF6V0pVclc2cVl2NlJIKzd2cjU0akRwSDNcL3dkSnlQSVhUaWlWRE5oZTVTNVR1aEJLQmRSTmpLTmVFeUtQam9hUFwvdTY3ZWZhOVdpc3JMcEplaHVIVDNGMG1rVXZva09WN1RiczlobHZoYjhEV2FrVHVyeWdkOWdjZm52QU4wQjVEWHlsUGRMdE9FN1oyV0pCd1JuUzdmXC80SDNoVmx6MmIwTmxzVGdIeTBcL2lNTG8ySDVcL05aWGEzek9UZ3RMSldFVERMRnlURWxOdEJ0T0o1YVdqU0lJbmhOUlRRdU96RDR1Rlwvek42VFJVaEh6dFl2ZENickhVRmxqMzRad3Zlb1d1XC8rZHZXb21LejE5TXBwZW5hQkljMitXVHU4b1l0TnlHZEMzTlwvM1locWc3emg5S3NDaDFIOFZqK05DS3VBNndkb1hrbStXTlR0YVYrUlRNcVo3Tkdma0dkT3lpU1hyZytianRCWldcL1Y4UWZqYzltYUVVN1BIb1FcL29NTnVReXlmVmU3eXllVzVJdHhGZnpKTHVhQjhWblFIMHBDdGt0U2Y2TFpJSWRqaW9ISDJLTllHOW80SXpSUHlOQUNDTGpcL3cxYVdpdXpOdmVFb3VBMmZmTGRXcFhlRmFzU3RYZWxjMDdCcXNONlpVdnFqcGdiU3FDUDBzTnZucTc1b05PenRnN3ZrMTc1TDBhcVEzK2owWU9rM011WDhEcU4xRjJCZk8rcFBtWUI3dWJVbFJKZFAyclZhRjhoUkFDMU1DQ1wvWGJySitxNmY5N3FLQXpSZ04wQlNmd3FreXB5RWJkREk1TmdDbDE5QktqM0lQTkNheGhweERSVW9JSHdHWjd4RGozUW5xQWhLamhjMDFDZEwrVWpHTzQrK1wvNHBcL1pcL1wvUXViWUVuOWxqdzJyZnUrc2NDT3VlNkFJQ0JkRWZBbmxlZlQ0cUUwT0VSUFZcLzBDXC9YNGZ3Y3krRG1jeHlVckQ3QkZNWXV3WFpwS2g3ZGEzOTQxUzhmWG5UQWZwYzc3THhabDJCbUFqMTFZb3gyMytzb0V1NkZpU292ZzBUVGtaUGxsbitzK3BrejhFdU45c01LTGk0VnA2b1dhZnZzYkpsTEhIV3hsVnUwSzBWV1ExOXVUY0JXbFVxZmZoWkJXTTFvWk10VE40bFlwQjk2TUM2UVRxaGttQk5Ba0ZyK0ZLcHRNXC94TTFYcXpQTHM1NEpCaENPd1wvdG00Mm9DUzhyMXRldGszSEt5SVVpNUQrSWwyREhtZmpQQzc5SWFJMFZnY0dNZzVoMmhzK2taZXhPNVlFRFR4a2tER1JnVERxT0thempCOUJVYmcrelFqNVZtSHlUMFQ2SkVNdjBFS2JaTW1iZkpTNm9XcHpBRDlEMUNYSExMMEdHNjdTZG5NMUszK0tmVHhQZ1lqbWFRbVpjMWpxbDBVQmJrM3FmdmwxdWJPK3VGZlprZm55ZEM1cmFUc3hwK2NON0VtaG1lZFNHRUJ6Tm53RlwvQ3FoYnVPVFRaTUJmSU5RSGxESmtvdkRBV09HSmQyYVpnUUpUM084RXdxSEpjMVhrNzNmV2F4SzdqTGFYVGFPRGxGZnZOR0VFSVlWXC81aHNuejhOTXdDVGY3d25CcnhKVWd6bkFTSXJPVEFUZU5tNm9SaTdaQ1dDS2E3R3IyUVg0Qk84c2FsaHl3b01SMVpoQUpPZDFHXC9nc0NXbHBGUUVtbDNLYXdjWklaUVg4ZTVGUE5DK1RiT2NNVVMraElLMmhDaEllMERYR1o5YnM0VU5WQldPcHIxbzNGUDYyVzRxVW11NUFpQ1FKWW9VZTU4TENhblpuclh4aUlUOXBDUnc2RkFqUG5LdVA4Vk03K0dmUFlWYVp6VnU3RDlFMWlMSDJNMmx5aWF0XC93bGVVK3Nha1RFTDkzdm1IUk1yOVJGcmFMcGZLb1hnZm9TN3ZIWDNKVXNNSFR2XC80YjhjWWwza1E0RUlpcFJRNVBXeCt1M2k2UUh6dGtLZlwvK2NFTm1xb2R1MEJFWGJzdzhMenVtMjRvVUI1eTByclUwVndEdjBnMTBuMXpZXC9ETUZsZ0Z3XC8rNGhRanF4dlpjV2xFZXNTb2lIXC84Uzl1SG92UWJZb3hDU3E5WnRONG43K1I2NDNNYVhQVmtoVFNYMkZpZ25kTkRuZ21qSXJhbncwb0lhRkl2Z2dIUUFTXC9EVllSODcrTEVHXC9ER21Kbitma1wvSWpFYjdTRkxtNjdydHpUcGFKRm85TnM0bTNMczBBYTFxUWJnVW1KR2V3VTdXNnJJRERJNkNcLzhrek5vUnMySmZWbjRtbHRNRnViMDhHaU1tY0hDMmdkYTlPZkdUNFYxZmIwT2p3MVpGRXFHZmxxY0dTczArT1Fzb2dyMndcLysyTWw0b0FOb0RKd3B6eERqSzErVWdWOVVDV1Noc2ExdjBUNWZ1MCs3Nlc4TENINlhOcllwV2ducHNIQXpoOGE1WWwyK2NyUmg2VTc4R0xhazNEQ3ZpNnJ5RjdGR1dCQUVBd3RHY1hMalpDSmJ3UWpXSXhXZ2dkMjFHZnROdGNtaDluNCt4ZGlyazZIOVF1cVFiTGF4NzJselRua0xDcW5MTzhveXNcL0lCc3hJV0dIQkZJTHMrNWdBXC83SUFRMnpXNWVWc3VhaSs0dnF4NitPOVRNU3RwN0N6cGpIUWphUk5yM085aElibGlpWElBVnE0SUYrVDBWVGRVMU5VcmlXZ3NVY0RJa0xtVFRIdHZ6dDNYSEthbE9HaEN0bStQZG5WXC9mMjZZMWdMN1FsWVlEWkZsXC9zbTREYWZIQnB6S1hcL3N0MXVDNW5FalhhellKQUpBTEVaQjB5alFMbENtYzlvQWxLUGlSNVV1MXgwT1NPcUV1ZDdWam42cWNwZXU2Y3R0QXUzSHZTY2FIREc2VlkrWmlJZHkrYlpJZllxTnYwQ3hmYU0zY2Y3NUdENmEyZ1RQUER6eUVQVVwvZ21BcFVvSVEyWFlJcEptbHIrNFRWTTd0NUM0aTF0N1dVU1JlQkl5VlpvZ0tUdDBQSmVpWVRsU0VUcWR5Rkx2ajh5blwvQ1RWYVVVTkZMQktIbkdDTGNqY3ZOeGsycFBadnNTUElwMFZJV3JnY21ja2dXcmRMV1dWaGpxdHRRV1FPbDVycmMwVlIwN3VzZDVOZFdKYXBKK1locHFQY0U3d3ZadEJpSmpYSXdJUUVFeVVtc3d3OFM3RWYwZXdFTzJTc1ZtdkdIbzg5YlV6TjZcLzdtbGtHejErXC8xeWpmd2lybnpidmlUaGh6Y0lwTkp5MGFYNjZwanNySmNxdUxtU3A5THo4NXJJWURIQVwvbjJKSXZ2ZUNqUGRydEtwUlBMZFArUm94UFNzb2VSRU82XC9cLzBqdGMweDNDVmppTHpcL0hYMkRObGNUSjU5WlpZSk9memdYdWM3aEJuXC9rKzBld2dmd2s5VlFUZG5xbDZFb1ZEdFRrQVJ6Y25lSkFqM3BjcHVcL2lqYjFER3EzVG14SHdBRG5ia2tOWnNqa29aNStyMllxMnluaXpiRzVBXC9Ha0t1OUhzODJZbXR3eGR2OWRsRGczdmdjM0t2UFpSbmJOZmI2UE53UlJDMFwvMUdheG5ZXC9aT3Q2ZitRQUlwOTBqbFQzNk45Y3hGd3ArRUtQRWNEczd0TlRtcVg1S2VHTFI2WVp1TllrVTFVVndQbXJMQVU3UEtpQWpJWXNRMkFneVBIVzFMckZqTFZNXC9wWkpsY3hOZDFBWUZ1bWt4ZEwyamVXeTBUaUE1dG9cL2M2WkxVVHJqRzV5dyt3dk1HR1BEaTZRY3I3T1Bldjl3eHhscUhpeDVZZjNoZDlUZmJkY09HeWVUMTdcL1pBQjhCOXk0VmsrekhKak5QZXJHZEtycjNSTlMyd3FZeW9VamM0d2FacnVPbm1pRWlXdzJkWmlDT2xlNVBSVW5OU21xaGMxVCswdG9DOW5jbWp0aTYxb1Q2MDFTUDFGVXNhbmNuU2V6VWhUNVdOTmpcLzdcLzNmdzBLMVdHajdOQzhoYXQ5UFlFMkoramVOV0I3RlVxTFFvZFwvOVNEZzN4OUtxNjNkSE4rOHJVS0c3M3lWOHlJZzBxQ09NeENZUndJQmh0UGVoYnl0T2VkbG9uaW9lQUVKZEZJTjQ3ZlBWUnV5SnpHRHpINGxBcjJDUzZCdWZQcXNEUlNwRnI5K1V4RVlvQVY4Z21ZdlhJenhvTEgwYnBkcVhwdzF3a2tpTlFPUEdaeWQ5bEpoNlU5aXZqYStZaTY5U1lYU1REV0plQW01ZXg0NDVrTFg5dG5PNnFDZXh5QUJLOVk4cnBzOXJHXC81ZDVOQ09rcnl2MlwvcHNjYjF1UzRCR21QbW5mSXRDRlU1OERlZEJqeVhyXC83UERVamhOcW1NNm5DVlpTQlwvWDVhT29XelFKMjd2YlwvbUtcLzN5NzI0OTd3NHZOZDduSlVPZmRROVYybFlGemhSa08zY09ob0Y0NGQ2cXUwUUNFR1hPeGhOazlESWFSMjB1eUxXTXBBR2VjSFU2QzBZWWdUOTZZdlJiMEh6SWFlRkpRSzFVYXgzYng3TEZCek9TN3VaSFZSSEx2ZCtlY0tQdStPaFwvTjFIcTFIWVl5bHhzOUZ6V3RXRDRZZ3ExU1lHK25lWEJoKzNkeWRPdlVHMGw4NFZRcEN3QTRnOU8zSzFPWG81Z0tzaDI5WUNZQXFuU3NoaGYrNHI0a3Y1M1pkd1wvbkVtbGJFaEVhYjRObEZ6YitQVkZ2MWg5ZVQwUVJBNFNORThpN1VcL2FpRXlwWjFBYUJhTFMxZUlCSXJLV1ZmNk1KMlFMOHNDVHFnZlNvOHIyUDBOeDlYT0pkM2JjdklZVjI3eWdtOElZQjQxeU55MjhPRStZYXp0NEhibnEyZ01zQ0RoYXo5SXZMUjg1aWZkZWRaMkEraGNFWXNVTnY2ZlBQc21jT2FXak1KMnlOZEJsTDNyNklyOHdYZG40VWt0bTdTbEk5TzlaV2ZGTkViaFYyc0dxTE9cL3l6QW1wZmpBalhQWGJcLyt6K1hORTN5TlZcL1NzdzdVekRXVWxEQ2kzUW9Ick5QOUp2XC8wRGVLQ051ZjFjOWdNUnYrNUpYV09ITGdZWTFmODJvNnp3Y1M0YTI5dDJjWCtYZWoyS21mSmxHYjlVb01RWml3bkFrT1ZRcmN2YnVFYUlWbWU2NXZGRGpJcW14SmFGbm13SXFsY3k1OVRWT3RyQ01jbzVUTnBcL1h6aDdhbkdCN01vRlRpOHhURkkrMlNZVlwvVzhQRm1VR3BDRUZTbUx2dkVXa2dnNjdZZlhTeVljM0lFXC8xZkpxTks3ZDg0dElHNHNiTW5wWk9OZlRTM3VObVRYVkc4bnY2RGh6ZjBKbkdURnhWWkQyakZQU0xMem11aFZFYzloTUVZVVpGZVhEbUtlSDRxeGZyWkFjRkJFXC9aNGZKaENwMVhndkRTOHF4NzhFcGtNc3BsNnB6ZGN5SzlyVGRsUkxkR0g2V1IrYWplMVc5QmNzUlorOG1LU1hyTUZIZFJCREZQM0JZZUtpMWVjSDcxeW1TenR3K2xXakRBNGRrYlU3RmNxR0RHYW5IZEVPQnZCbDZhWGcweHVuVU5Idk8rOXErQ21LcWdBXC8wZFhDdEVlbGs0SXExUWF0WVMyTUppaFVwVkY1M1FNa2gxK3owb2JHMzZrUVBZaXNTdHBzTjdSNUxmZXl1VTJaTDZVSHBcL29vQTd4cXM4eUJpZ09xcDJ2eGtzVm5yektQTlBlK3h4UTdqWks5ZEp2QVwvS3c5Mkk3WWswVnRyXC9HTnRmSzZoMHNtRUtDTVlTMERyMEdFUXpiOGtVWU5JNktBajZXXC9hQ0RMVHlydVpaT1ljMGdDWUk5MzVPMDhPcytPXC85ZWwwV3hwUjdnNzA0eWJIcEVVZzg3VUwzV1NLc1ZJcW5Oa1J5dzhESFdvcVYwRU9LRnBxUGJBd1RhbFFjbDJpNGJIXC82Wk50cERZWmYxWG9wckkxNXlidXZtMG4zVEhHRll6RHV1NGNjRlZZYXlsMThxaU14K2g2Ym8yUDdlNmlWRnBHcVhzRERyOTZyZ0gxVUlsSTRDbVBsV0NCZzJpME1kZXoxQ3dGWkY2dXlVWEx0RGowY0s1MWNLU1NkYm5KaG1LaWpwSGxvRjFubTNaNXVRRm5VRnhjTklxaWQzQXBXVDBXTFFiQWx0S0dEc2lOck5BWkQ2blVMTnhTOFRtV0lKYUgzTnFqREhCbnBvT3JndDVZSTBYXC9rdFdzbFBPZ2hjUXpBZGMyMm1MY1wvWUl6dklwM0E4RlNzemRYcWYwQjhLT241WVZOazhuMVpyUUY5eHhhS0Z4QUxVa0xXQVhDa2lXQXhsWm1iZTNYYVhwTGZVMWJEd3kra0NnN25HeFFKYWc2WGc0bE9hOVYwS0E5aXhhTUc2SWlJNFRGQ0hqbGpNUHN4Z2tZdTNWUlRyMVNWZzZmM1dZS040NG9BK1pYZHpnSHVEV2xCNGlPeDJvd2x1TEpBR0lOVlVzSUcxbU5Lb0hjXC8wMENaYXh2VlpOZWdKUUJ1MlZPZWc1MkU2RERIOVFcL3FDVGtodFVCbDBjM3NrRlFNcGJWdE9CMndxWGxPN3BrdUkza2ZjWSs0NFpMNDZmSHVrOTVTejVNZGw5TWtzMDRWd3dzTTA2ZTN6b09vM2krNEZBZDM2XC9sZmltN2RYd1BnRGhLYUhGKzBXSTJ1QytqT2FpbGNxeU5hN1B5TEgrR3l2eWNSdGlLckt5YnZqSkJUVStTVTdrQk5qTFZBR1hRZ3ZkenR1M3NlWnhrZnhHTGpJazJ4ODJuRm5IZmlodjRSRlFCeFJmYlUwQW5ldjQ3RFZjbXI1Y05xbjllMzJQNnN3SDJcL1Q2c3dUbUthTUhzY3B4cHNUR1JTYkhGMXl6TlpYZGhhOXd6OWd3WWJYRWljdGs5dE1cL3FcL1lHVWhsYzU4ZkxDaWViSGRHODQ3alZwdjdXeTdSQk85TTBYNXlTcDBodXUxV0c3S1JJOFwvNm9vXC90T05ZQzhmRDZsRmpOUmk5OVBjYVZDQkszazNHN1ZrOTh1Z3JtYnZ6WlN1N2RYQUt2N2t1b0tpR3k3UHpSdUpjSEF0enZvZEhJdHJDWlkxaTUwNTNRVm5OcHl6SmNNYXMyY3k3aitnN2RQbG9tTDNNMkVReFNQZ1Boc3hwMkhvZVg1V0crWXdXSWtwNUxWSnVCMUNlTmtETjZxNExnVDZcL0k3U3NMbWlzUm5hZVI0MmFlS1VFd1BMcHdtUkFqc0lLTWZXcDBURGNvd2ZCWU9PRVh1R3U0WFozOFZ6aDdcL2E0R2s5UW5iRTdFZThZNUhVb1lIYTJVYjhKMStYYUk4YlUzNmIyVG9FMXgyckNHcE5CbGJQK1dmK1dYOHNPUGxBdllnUyt2ZHFZdnk2eWhhSlhcLzhZN0hvMld1Z2U3bk1aMXB0ZlFnNTRSbUxqekhhSzBOamxqaDlWeUxuVFlhR3lxQ0xNU3llR2trUzRGQ2tJK1BIbWdJNHNXR1ZBS3FpUnl5MnNWWVQrVWlKdWIwR0JENHZOSUpWXC9UbERZOGxEd3pcL2VMOEdHWDdCTXo2b2hnXC9aWGJtdVlZZmZmQllJQlwvRFVNbkxZeDNTWmtZdFdtV0RjWHpTQmozTHlXU2tMSlIrOElDR0xlTDUrYUFzRUVJbEY1ZW5GOVM0cnJ5UGRHQ21XZ0hvQmV6VjVhYldRTzZRKzJQamFrczJCVmowOWFOSmdXWmNmNjMxSTdZSWlZcTJ3VEVYZ0Nvd1d2ZWtKZys0d2ZnRmtsNk5kMDRneGgxSXh5dG1ncldmSlwvUE5URjhGU1oyNG82SHVDZ01JZkVyQ3N2SCtYRFZNNDFRMk5UcXRUOGVzVDhlM09BXC93bkozUTUyNERCNWxLOVBZT1ExcGRcL3hFaUJcL0p3VklDRlpXVERXK3c5eG4xZ096cmZwcDZWSnd3MllzdGI1enllNFg1MDFuOU1JY0sxNGVBMUVLdW5SdTIwNXBIVkpLUGFFRHFva2RIdEpQQmZpd0JmY2lkcld2bFozbWpzZW83elhTWmJEXC9aVitiXC9OTWh1bk5cLzBGcmdzbmZpQytQamlUTWgrMGNPTklsdWp5K0F3aW1zc0Q5Qm5odnRmWGdTbVJkdUZcL2pGVU1JWjVScWwreUl0WkZjTlhNQTFqU2Izd1VsM0NIZmZzb3FUdlhnWDYrRWFJbjI4bFQydm11WWZabjBcL3ZFUXp5anVrQlZWYVNvcndkSkZrUTVoOFZHNHFLTlNiM3l6NmRUYm93VytROE5DTFB1TTJFS1RrNHRmRE1GeFE5RkZMYWxCUWVtMGdjTFcwbUlxcktzY0ZcL1wvUE13aEUrQm9ib3prRDc1TU9TcWxMbVU4a1ZnRXJGWmZQTkZYS1c3SWFOamoyRW02TGRITkFUN3BYY0llaWFueHhrODdSaEFrdjFXNW1VTFpNN2J2MEFYMUhwQ2RrVno3dkNWeXVNRXVNUkpiRituUFA4WWNkb2M4dUllNDVYSGpPTGcyMWR2dzdXblhiTnIwOGhteDRjYmNTMVJ4QTRSSkp3NHA1bStpdThyUjAycENidlBnMWlMRXdiRmhZMGtGNWh5N3RubmU3ZnhmYUtPdjN6eVBXTkx5Z1wvNnZMU2hjMEZwT09vcHhnUlhBQjJOWDFFNExCYmtwQktTcHllbERwRTZsdEVORVdEbm1ibk42R0l0UTZvWFlvVkxIcUh5UEg5Q0NnTWFhYkJlYXNKZm90XC9RXC9vZ0pzTktDNE9wQ0hwSTdtYmZmbUF1TmNMRHRZVlUxUzZEZGtBMDBQeGl5VSs2UU5YQ2pxRmxBaG4zN1hhXC9kMmlwYXYwb0JPZTJMdkFFTThQMjJ5b25rREpvN3lYeXJYcVwvUUUwUmwraE5hbkJrODNFTnJsY0xoWU9ua2xOVFZMSWlvVnozNys3S2hXVUlvVlZXbVZUMkhHWjJVUjArMzVVa2lLRUpoWVBKbkU1TTdmVFRHMGJPUEY3MlwvSEtFbFB4bDhyZ3o3YUt6ckFKS1lKM2pYWnBMT3hoNWhiM2xjcUJ2b2xNRjRWMDZWdzMrXC91blRtaEZoNDUrc0U3ZldOTEhoMm5WTUNtblUzTjRFMGVZM21MUUxrU21QQmxLOUoyZUJDVDRQckt2RTlyb2J4eFwvMnFnR29lcHdLbmp1MjE5RUJmWjZvQ0RZZWxxK3F6U0d0Um1RODE0MUlZOU1aN2RFQzNUV2RKMFdLTmE5ZTBsRnJJOUZsRzBtOElYSVZvT2lac3o1UXpmdWJYNW9yeElyeERqYWRoS1ZJN2JDTEJzazhOTXQrYnU0d2oxNTMxeklMaDZiVHJnam1QWXErSVgwaFZpN2dpQktTXC9JRXhLd201SVBHNERMalh1eVlYb1MyZkhURFhyVTU3ek0yb2hYXC90ZnNNSXBpeTJoTG5ZV0tiRzliWU1mS2pibmlzWHZpXC9FR3JtdHRkTHpJb1M0dUhIeUZVWnVDcTg5RDR1Nk85SW45YkVjZFVET0x0U09QSHhuQUxRbFRONlF3SytldUZra3BuazR2amgwNHBhNHpiRUdSOTVwWmZKd2RzZXNMTlVXRGtoclo3dEpHNnhWXC9nMThHNjc4MkVDVDIzSWtWZHh1ejJ6cDl3WUVKSWhCTHZLUGhEcE5XdFdDb2x5TlFNdFJxd21oMEh1SFU3dllwQXh3aGExV2h4NW1qcHFsNHRiSUE2VlwvSktHUlVtejNxVThaOVN3ZHhhY2FUYVVQRU50UytJNTI1Q3I1bjJtaHdMMGh1VWlNN21MZm9ROWVPbDFyOTM5SkZ2aThZcTlyU2VvOGd5K2ZjUnN3cUU5WStVbmh2QmsyT3BJUVJ5Zlwvbmw5clFzRXJveWRVNlVDV1pKbTNDeUY1RXhMQUwxNTNVTnBMdjdJXC85MGgzT3YzNHpNZDIySGk1TjB4Y2ErSGZRbVIwZTNjKzJuWlwvNEJVcVVGVEhGNVBSSlV1eVc3MmpQSmhXaVN3QXZvZE1pRzRyajQ3YWo1aWpBd0NaNzd4SkRMSlFMRklXU3RraW5QOXhZSVJEQzVCcjlmZmY3Y0tDZ1ZaM2ZFM0NEakxJVnZ1anhoZ3gydldwSk9IMGIxSmJCazdwS1BQcVBsaUhxZkczYkdUZVJoM3ZHTDFFUjNJU1R3T1hWK1VRQ2JCN0JrTWNtVU9Gc2FZMm5qcm9NT0ZoZDJYUXBPa3I1WmVxOGVhN1kyQTFkeHdEVm1hSjhiMUJLOTQxZVcyZnpLd0ZRVEZiNmxzTUNLRW16d0xBeVZmcUZocW1TVFp1bmpQbmY2SDlwN2xuR1dQYm9aZFBRdDRDTmZ6MThiRXhNYStVWVdJeVZNRXhzQWVaMnYyVG0za0RMYzdvUEtHUkRMQXJmdjhyUnJOXC92cFRTQUF1ais1aFZneVg5Snd3dHFiVXhYbDd2UDhDc2R5UE9CTjc4S0syV3p4UUhcL0dHS1JYN0xkYUZMWnF1MW13MElOR0pXenh4cEZJcFN3Tm1lK1dUMXNaaU9NSDUrQUNBdVNXYmExekhySUd1S0F2MllMSWN0ckZFVmtaNmxYMXVjcFNrbGlIZG1RWnNcL3FsMHBHQXNpK09vbnpITkdQc01ycnd4bGtiWmVpSVBkMlZSMG5wTHRkSVRpd3hOT3RrbjRpcTdVZWc2VTYwcTliREZyYXRWcUdrWVBNTzlzbTJrU3ZQeXlRQnZpWG92aGtzMVB3cVo2SXFJZXFOQjdkWnZKNWZoN0dVanExYkxna0ZxczE0cEVcL2dxckhPc3pUN0hDVzRRQ2w1QmloVEFYbU04QVBVVjMxN2ZqRjZIc3d0XC82SDJreUVidml1UFVwZk1LU09EcVhFRzBOeTZmTnA5b1RSUDBiekQwcVNLQUxXNWRtaXdTVU0ySHZPKzVMbU4wXC9xck4xdERTYkdNbEJWVkNIdEQzTyszR0NFbUptaklkMHRWeVFIdVFBY2Yzbm16MXNwdFRaWVBEWTk3RnY1SVE1VTBmV0dxdFNwZFBGRCt5K2xtMkNGOXVWNzRwWlJDRUNpdXI2YkdyREdURTY3U0hkMGI4c1FxXC9ZUkZSRE13NkM4UGxCNEZHcTVaUjBtcmhoQlwvZWNXcXBaNWRDQWdGMklhR1JEdUludTNwU1dcL1dqT0NONkd1VlBiNHhYRjhZUU1rOEM2cG9FczZFNlZ3TkVqd2xET1BcL0p2dERmRld4ZzIxeVVROVhWSnJDYktxbVkxRE1iNDFIeFJJK2Q1ck1ieGNTcE00bFNGN3dHZStOZFNPdnN5TmN5Rm4zMEJQcktKUk9lYXNGRlwvOTMrbVlwTnN0ZlNNVnFnTWRzbVR2RnZrR0x3ZEV5T0I2d3pvVXRXaVlLZ29Sc3pqTVVrOVpiZmpYOEtYTkVIS2pyRktIT3BnQ1wvUTUxbWppN0NZbm8rWjNkVzl3VEZYdURySlBka0lCOFJNVlpjZGRmRUZZKytUcUY0c0hITnhoaXJcL3VaNWplQzNLdmozU2lQcnNVaGhaYTNCd0Y5WjE0WHBGNUZaenJjZDJkQVcyUmhVQXRGaGRqNnhLVXdEaEtNSGtibFZxOHpJZWN4aVoxUHV1TkcxRmZJMVV0RDlsOFZQODZhaERDdytiSDQ5UWdmU0ZQZU1oblpBeU9UblBWWVlOMVpFek9tWWZaRzFwQllGdGFFbldwMDJ5bE1jZDc2UVwvRVZ0Yzh5cmZOQWhZNjFvRWFKVGswWmZsTVpsWjEzcTY1dk9TaDlNY2tqd1dQbzhZU1dLUXM0MGdcL0R6aE5zbTV4R2xHckdneFo0djNoQXZlTU83WFpUWHlOalwva05vY3N4Smt6dXV1enBFTndzRzI4cHRIVDdYVDFVbW8yOXBVeHpKSTFSOFVZZm5NT2E5d01zRGlJUWg2Vzk0VkRyd0JZMkhaXC9sMWMzK3pMaHVtU2dKSmp0a1BzNkMxalZsdlwvaXZuQTJhbGFHUWdjYVN4YjNxZGpXV3c1TXpMQitoNDBid3R5MzVub2w3UXFDQ05IemRvZ0dXdHdmWjVBakxSbjdEUGJtTUJ5UFM5N3ZqdGpTRFFPdXk4bUZnSU9hNWIxa2h0ekxHZmpBajJrVjNqcnhvNm9WSXJteGJ4NTJyNDNRRklwRlBcL003UlRjVTNLaHgyWmlnOUpWNDZqQjErWjl4TnhMdk1SR01EdUcybk1aa0lLXC9sMkRaZ09WNEp1c2pHU2J3OHB2ak5BXHgzZFx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVKVzN0QkJUamVqLVM0RUhHRHB1S25YakNQYlpRX0tNWGViUzk0S2huT3c0eS12QWtYaEpfUVZXX3hmNzl6b09QZ0g5Rk5WM2pLSmJObzRJTzVxa3dceDNkXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iMFRFRWVaUndWYUpKdUowakRMZjBOUSI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDQxLjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10Wk9TUUJQOTQ2USIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":100,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":62,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62681.6883c4b17e6a89e4b87f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.430Z","timestamp":1785136428430,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62681.6883c4b17e6a89e4b87f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-26d5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f5a8ee7175d5fa9e68532874e965bf23\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9941,"size_decoded":2933,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9941), with no line terminators","md5":"96701d95e8d00efdc09eb9279b871453","sha1":"f12c6f203f7a76e20a0c25bccfbc5f43206b0eda","sha256":"88302743f0b5328d7e90f7e88b47561bc485ab5932193d4dc7755f1bf64cce3d","sha512":"046a3817646c8aca396aad13fdab96075c8699a9d511bc761475ed9e6337ee12877ed966bdd5a60f6361578d948dec9b2e08e3aed8fd78bda1cf8782568c89fa","ssdeep":"192:wCNtGzkUD/UlZ9wmjuMhT27zNJbg9spNHXRWgCWCoTwtsyYIOi7wYdg6YN:Ep89spNHXRWVWnTwtsyYVkwYdg6YN","tlshash":"5b22fab2d16265a76213f62de3e1fe09e337e3939a131fdee223845dc4c6ad94138049","first_seen":"2026-03-24T19:47:05.242316Z","last_seen":"2026-08-11T04:47:30.193612Z","times_seen":1977,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojZmZmZmZmZDk7LS1fMTIteVR5eTojZmZmMDstLV8xMy15VHl5OiNmZmYwOy0tXzE0LXlUeXk6I2YwZjNmYTAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteVR5eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fMi15VHl5OnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLV8zLXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNC15VHl5OnZhcigtLWNvbG9yLXdoaXRlKTstLV81LXlUeXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1fNi15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzcteVR5eTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fOC15VHl5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tXzkteVR5eTojMWUyMjJkZDk7LS1fMTAteVR5eTojMWUyMjJkMDA7LS1fMTEteVR5eTojMDAwMDAwZDk7LS1fMTIteVR5eTojMDAwMDstLV8xMy15VHl5OiMwMDAwOy0tXzE0LXlUeXk6IzEzMTcyMjAwfS50di10YWJze2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTNweDtsaW5lLWhlaWdodDo1M3B4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS50di10YWJzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Ym90dG9tOjA7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxcHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlfS50di10YWJzOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnR2LXRhYnMuaS1sb2FkZWR7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1jb250ZW50e3BhZGRpbmc6MCA2cHh9LnR2LXRhYnNfX3Njcm9sbC13cmFwe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpzY3JvbGw7b3ZlcmZsb3cteTpoaWRkZW47cGFkZGluZy1ib3R0b206MTAwcHg7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnR2LXRhYnNfX3Njcm9sbC1ib3h7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS50di10YWJzLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MCAxNnB4fS50di10YWJzX19hZGRpdGlvbmFsLWluZm97Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7dHJhbnNpdGlvbjppbmhlcml0fS50di10YWJzX190YWJ7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDo1M3B4O2xpbmUtaGVpZ2h0OjUzcHg7bWFyZ2luOjA7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0cmFuc2l0aW9uOmNvbG9yIC4zNXMgZWFzZX0udHYtdGFic19fdGFiOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX190YWI6aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fdGFiLmktYWN0aXZlLC50di10YWJzX190YWI6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnNfX3RhYjpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1icmFuZCl9fS50di10YWJzX190YWIuaS1kaXNhYmxlZCwudHYtdGFic19fdGFiOmRpc2FibGVkLC50di10YWJzX190YWJbZGlzYWJsZWRde2NvbG9yOnZhcigtLWNvbG9yLWJvcmRlcik7Y3Vyc29yOmRlZmF1bHR9LnR2LXRhYnNfX3RhYi0tbm8tcGFkZGluZ3twYWRkaW5nOjB9LnR2LXRhYnNfX3RhYi0tcmlnaHQtc2hpZnRlcnttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnR2LXRhYnNfX3RhYi0taWNvbi10YWJ7cGFkZGluZzowfS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXJ7aGVpZ2h0OjQ2cHh9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTZweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiOmhvdmVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpob3ZlciAudHYtdGFic19fYWRkaXRpb25hbC1pbmZve2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFiLmktYWN0aXZle2N1cnNvcjpkZWZhdWx0fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZSwudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWIuaS1hY3RpdmUgLnR2LXRhYnNfX2FkZGl0aW9uYWwtaW5mb3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKX0udHYtdGFic19fc2xpZGVyLC50di10YWJzX190YWIuaS1hY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKTtib3R0b206MDtkaXNwbGF5OmJsb2NrO2hlaWdodDozcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZX0udHYtdGFicy0tY29tcGFjdCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fc2Nyb2xsLWJveCwudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFie2hlaWdodDoyM3B4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWJ7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLmktbG9hZGVkLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNvbXBhY3QsLnR2LXRhYnMtLWNvbXBhY3QuaS1sb2FkZWQgLnR2LXRhYnNfX3Njcm9sbC1ib3h7cGFkZGluZy1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyLC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3Njcm9sbC1ib3gsLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlci5pLWxvYWRlZCAudHYtdGFic19fc2Nyb2xsLWJveHtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXI6YmVmb3JlLC50di10YWJzLS1jb21wYWN0OmJlZm9yZXtib3R0b206MH0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fdGFiOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LTE2cHh9LnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS5wYWdlLXdpZGUgLnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fdGFie3BhZGRpbmctaW5saW5lLWVuZDoxNnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjE2cHh9LnBhZ2Utd2lkZSAudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotMTZweH0ucGFnZS13aWRlIC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3RhYjpsYXN0LWNoaWxke21hcmdpbi1pbmxpbmUtZW5kOi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX190YWIuaS1oaWRkZW46Zmlyc3QtY2hpbGQrLnR2LXRhYnNfX3RhYnttYXJnaW4taW5saW5lLXN0YXJ0Oi0xNnB4fS50di10YWJzLS1jb21wYWN0IC50di10YWJzX19zbGlkZXIsLnR2LXRhYnMtLWNvbXBhY3QgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntib3R0b206MDtoZWlnaHQ6MXB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGFicy0td2l0aC13cmFwLXBhZGRpbmctbW9iaWxlIC50di10YWJzX190YWI6Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLXdpdGgtd3JhcC1wYWRkaW5nLW1vYmlsZSAudHYtdGFic19fdGFiOm50aC1sYXN0LWNoaWxkKDIpe21hcmdpbi1pbmxpbmUtZW5kOjA7cGFkZGluZy1pbmxpbmUtZW5kOjB9fS50di10YWJzLS1uby1tYXJnaW4gLnR2LXRhYnNfX3RhYjpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LnR2LXRhYnMtLW5vLW1hcmdpbiAudHYtdGFic19fdGFiOmxhc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15VHl5KTtib3JkZXItcmFkaXVzOjI1cHg7ZGlzcGxheTpmbGV4O2hlaWdodDoyM3B4O3BhZGRpbmc6MCAxNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fd3JhcDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXlUeXkpfX0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFie2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjEzcHg7cGFkZGluZzowIDZweH0udHYtdGFicy0tc2Vjb25kYXJ5LWFjdGl2ZSAudHYtdGFic19fdGFiLmktYWN0aXZlIC50di10YWJzX193cmFwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteVR5eSk7Y29sb3I6dmFyKC0tXzQteVR5eSl9LnR2LXRhYnMtLW5vLWJvcmRlcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1uby1wYWRkaW5nLC50di10YWJzLS1uby1wYWRkaW5nLmktbG9hZGVkIC50di10YWJzX19zY3JvbGwtYm94e3BhZGRpbmc6MH0udHYtdGFicy0tbm8tcGFkZGluZyAudHYtdGFic19fdGFie3BhZGRpbmc6MCAxNnB4fS50di10YWJzLS1uby1wYWRkaW5nIC50di10YWJzX190YWIudHYtdGFic19fdGFiLS1uby1wYWRkaW5ne3BhZGRpbmc6MH0udHYtdGFicy5pLWxvYWRlZCAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2NvbnRlbnQ6bm9uZTtkaXNwbGF5Om5vbmV9LnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnNfX3JpZ2h0LWFycm93e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym90dG9tOjA7Ym94LXNpemluZzppbml0aWFsO2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCA1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MzZweH0udHYtdGFic19fbGVmdC1hcnJvdzphZnRlciwudHYtdGFic19fcmlnaHQtYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LXRhYnNfX2xlZnQtYXJyb3cgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHg7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246ZmlsbCAuMzVzIGVhc2U7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEycHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di10YWJzX19sZWZ0LWFycm93OmhvdmVyIHN2ZywudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tXzUteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtdGFic19fbGVmdC1hcnJvdzphY3RpdmUgc3ZnLC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tXzYteVR5eSk7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvd3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnR2LXRhYnMtLWNhdGVnb3J5LWhlYWRlciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvd3tib3R0b206M3B4O21hcmdpbi10b3A6LTFweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93IHN2ZywudHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19yaWdodC1hcnJvdyBzdmd7dmVydGljYWwtYWxpZ246dG9wfS50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktYmcpLHZhcigtLV8xMS15VHl5KSx2YXIoLS1fMTIteVR5eSkpO2xlZnQ6MDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19sZWZ0LWFycm93Lmktc2xpZGVke3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0udHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCx2YXIoLS1jb2xvci1ib2R5LWJnKSx2YXIoLS1fMTEteVR5eSksdmFyKC0tXzEyLXlUeXkpKTtyaWdodDowO3RleHQtYWxpZ246cmlnaHQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di10YWJzX19yaWdodC1hcnJvdy5pLXNsaWRlZHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX0udHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tY29tcGFjdCAudHYtdGFic19fcmlnaHQtYXJyb3d7d2lkdGg6MjNweH0udHYtdGFicy0tY2F0ZWdvcnktaGVhZGVyIC50di10YWJzX19sZWZ0LWFycm93LC50di10YWJzLS1jYXRlZ29yeS1oZWFkZXIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e3dpZHRoOjQ1cHh9LnR2LXRhYnMtLXNlYXJjaGJhcjpiZWZvcmV7ZGlzcGxheTpub25lfS50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6ODBweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10YWJzLS1zZWFyY2hiYXIsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2Nyb2xsLWJveHtoZWlnaHQ6NTRweH19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX3RhYi5pLWFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV83LXlUeXkpO2JvdHRvbTowfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fc2xpZGVyLC50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fdGFiLmktYWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOjB9LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdyBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3cgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6LjY1fS50di10YWJzLS1zZWFyY2hiYXIgLnR2LXRhYnNfX2xlZnQtYXJyb3c6YWN0aXZlIHN2ZywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvdzphY3RpdmUgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdzpob3ZlciBzdmcsLnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fcmlnaHQtYXJyb3c6aG92ZXIgc3Zne2ZpbGw6dmFyKC0tY29sb3Itd2hpdGUpO29wYWNpdHk6MX19LnR2LXRhYnMtLXNlYXJjaGJhciAudHYtdGFic19fbGVmdC1hcnJvdywudHYtdGFicy0tc2VhcmNoYmFyIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fOC15VHl5KSx2YXIoLS1fOS15VHl5KSx2YXIoLS1fMTAteVR5eSkpfS50di10YWJzLS1zZWFyY2hiYXJfc3ViLC50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19zY3JvbGwtYm94e2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX2xlZnQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzI2NWFlYiAwLCMyNjVhZWIgMTUlLCMyNjVhZWIwMCl9LnR2LXRhYnMtLXNlYXJjaGJhcl9zdWIgLnR2LXRhYnNfX3JpZ2h0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMyNjVhZWIwMCAwLCMyNjVhZWIgODUlLCMyNjVhZWIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fbGVmdC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1jb2xvci1oZWFkZXItYmcpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA0NSUsdmFyKC0tXzEzLXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZSAudHYtdGFic19fcmlnaHQtYXJyb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsdmFyKC0tXzEzLXlUeXkpIDAsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSA1NSUsdmFyKC0tY29sb3ItaGVhZGVyLWJnKSAxMDAlKX0udHYtdGFicy0tc2VhcmNoYmFyLXByb2ZpbGUgLnR2LXRhYnNfX2xlZnQtYXJyb3csLnR2LXRhYnMtLXNlYXJjaGJhci1wcm9maWxlIC50di10YWJzX19yaWdodC1hcnJvd3tjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19sZWZ0LWFycm93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAwLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSA0NSUsdmFyKC0tXzE0LXlUeXkpIDEwMCUpfS50di10YWJzLS1zZWFyY2hiYXItcHJvZmlsZS50di10YWJzLS1zZWFyY2hiYXJfc3ViIC50di10YWJzX19yaWdodC1hcnJvd3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1fMTQteVR5eSkgMCx2YXIoLS1jb2xvci1ib2R5LXNlY29uZGFyeS1iZykgNTUlLHZhcigtLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnKSAxMDAlKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80915.69404fda8aafc2742c55.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.843Z","timestamp":1785136429843,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/80915.69404fda8aafc2742c55.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a102262-2b32\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 22 May 2026 09:31:14 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/22/2026 10:43:51\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2c25a95425ac0a93afd8fc3487171d1c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/8408.de534663e052075ba12f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.711Z","timestamp":1785136427711,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/8408.de534663e052075ba12f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a338e19-274d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 18 Jun 2026 06:20:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/18/2026 10:28:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4d6bb229fb990bde52a281179fb1166f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10061,"size_decoded":2244,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (10061), with no line terminators","md5":"1a43de6a5db68cdffb5be29be8c611ea","sha1":"3cd66aa1e4e9e97cd58ad3ba8f6af15ad6c8fde1","sha256":"3f9db9383ecbe7095a61cb68292e437e948824de33abb3b09239c5effac91b84","sha512":"6735b9616b71290aa8fca75a177841e1cac8bb0193205099110ee83ffc75603098ead364960c2f7f86c7848f9fc3a784a56f615ecba08502e87028ebcc46eaa7","ssdeep":"192:zx9ZzZ8+bBPb+8b7XbnVb1pcGbM9zzZxZwG3TKO0/xavh42fmmw0TuUBJuHbRPuF:zxbl4zlvwG3GVxa2ruiUBsHdPunkS","tlshash":"62227526b95302617c2b5a3d0270affc6936cb939ac387dead10e1344fc75c9a297d85","first_seen":"2026-06-18T11:35:39.145966Z","last_seen":"2026-08-11T10:15:18.405403Z","times_seen":3918,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44911.fa61d2a274d4224434ca.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.743Z","timestamp":1785136427743,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44911.fa61d2a274d4224434ca.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-5408\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 84ea676047f44a5383b700f8038c0054\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21512,"size_decoded":7898,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"05e4055151a861bff8e38a76d25fa21b","sha1":"9f8bab99df4104fde7e4ce7e47379db991ae53a9","sha256":"1b602280ac3b82058c7577fff06841ffe0b4fb035b22d4aa046119a37ba46376","sha512":"003001c6510b718a9e57af8daa9fcf322e0f91dc14aa8c1397abe4328d8dcc7c27ac342595f1acc141b47b471420a8e8bd64536cbc0cc762c0bb7aedbed00596","ssdeep":"384:KlWkb+CeVhEy3dhGQZ5mvjqnGilhLgvmRA7R6VTc6w6DwuRGijR0WwnhbR8L+lct:KlWkNUNhGbjqGilhsvme16VTc6w6Dwuv","tlshash":"faa2618877c2f09a02d665da943b040bf33d1c9d25187464b391d8d96ebe56eb23bf38","first_seen":"2026-07-23T13:54:09.044064Z","last_seen":"2026-08-02T16:40:36.924172Z","times_seen":416,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0NDkxMV0sezM2MzI2OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHttb2JpbGV0b3VjaDooKT0+cixzZXRDbGFzc2VzOigpPT5zLHRvdWNoOigpPT5hfSk7dmFyIGk9big3Mzg0NTgpO2NvbnN0IHI9aS5tb2JpbGV0b3VjaCxhPWkudG91Y2g7ZnVuY3Rpb24gcygpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKGkudG91Y2g/ImZlYXR1cmUtdG91Y2giOiJmZWF0dXJlLW5vLXRvdWNoIixpLm1vYmlsZXRvdWNoPyJmZWF0dXJlLW1vYmlsZXRvdWNoIjoiZmVhdHVyZS1uby1tb2JpbGV0b3VjaCIpfX0sMzE4OTc0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NoZWNrTW9iaWxlOigpPT5kLGFwcFZlcnNpb246KCk9PmYsY2hlY2tQYWdlVHlwZTooKT0+dixkZXNrdG9wQXBwVmVyc2lvbjooKT0+Yyxpc0Nocm9tZTooKT0+cCxpc0Rlc2t0b3BBcHA6KCk9Pm8saXNFZGdlOigpPT5tLGlzRkY6KCk9PmcsaXNMaW51eDooKT0+dSxpc01hYzooKT0+cyxpc1NhZmFyaTooKT0+Xyxpc1N5bXBob255RW1iZWQ6KCk9Pmwsb25Hb1BybzooKT0+YixvbldpZGdldDooKT0+ci5vbldpZGdldCxzdXBwb3J0VG91Y2g6KCk9Pmh9KTt2YXIgaT1uKDczODQ1OCkscj1uKDM3NzIyNik7Y29uc3QgYT13aW5kb3cuVHJhZGluZ1ZpZXc9d2luZG93LlRyYWRpbmdWaWV3fHx7fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGkuaXNNYWN9ZnVuY3Rpb24gdSgpe3JldHVybiBpLmlzTGludXh9ZnVuY3Rpb24gbygpe3JldHVybi9UVkRlc2t0b3AvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfWZ1bmN0aW9uIGwoKXtyZXR1cm4gYS5pc1N5bXBob255fHwhMX1mdW5jdGlvbiBjKCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UVkRlc2t0b3BcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19ZnVuY3Rpb24gZigpe2NvbnN0IGU9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJhZGluZ1ZpZXdcLyhbXlxzXSspLyk7cmV0dXJuIGUmJmVbMV19Y29uc3QgZD17QW5kcm9pZDooKT0+aS5pc0FuZHJvaWQsQmxhY2tCZXJyeTooKT0+aS5pc0JsYWNrQmVycnksaU9TOigpPT5pLmlzSU9TLE9wZXJhOigpPT5pLmlzT3BlcmFNaW5pLGlzSVBhZDooKT0+aS5pc0lQYWQsYW55OigpPT5pLmlzQW55TW9iaWxlfTtmdW5jdGlvbiBoKCl7cmV0dXJuIGkubW9iaWxldG91Y2h8fGkudG91Y2h8fGkuaXNBbnlNb2JpbGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1hLmlzTW9iaWxlPWQsYS5vbldpZGdldD1yLm9uV2lkZ2V0O2NvbnN0IHA9aS5pc0Nocm9tZSxnPWkuaXNGRixtPWkuaXNFZGdlLF89aS5pc1NhZmFyaTtmdW5jdGlvbiBiKCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5NjMwOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+cn0pO2NvbnN0IGk9e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gcihlKXtyZXR1cm4gaVtlXXx8ZX19LDUyNzMyMyhlLHQsbil7dmFyIGk7IWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7fXZhciBhPXIucHJvdG90eXBlLHM9dC5FdmVudEVtaXR0ZXI7ZnVuY3Rpb24gdShlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aDtuLS07KWlmKGVbbl0ubGlzdGVuZXI9PT10KXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBsKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHwhKCFlfHwib2JqZWN0IiE9dHlwZW9mIGUpJiZsKGUubGlzdGVuZXIpfWEuZ2V0TGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0LG4saT10aGlzLl9nZXRFdmVudHMoKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKWZvcihuIGluIHQ9e30saSlpLmhhc093blByb3BlcnR5KG4pJiZlLnRlc3QobikmJih0W25dPWlbbl0pO2Vsc2UgdD1pW2VdfHwoaVtlXT1bXSk7cmV0dXJuIHR9LGEuZmxhdHRlbkxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuPVtdO2Zvcih0PTA7dDxlLmxlbmd0aDt0Kz0xKW4ucHVzaChlW3RdLmxpc3RlbmVyKTtyZXR1cm4gbn0sYS5nZXRMaXN0ZW5lcnNBc09iamVjdD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMuZ2V0TGlzdGVuZXJzKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQXJyYXkmJigodD17fSlbZV09biksdHx8bn0sYS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKCFsKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBuLGk9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKSxyPSJvYmplY3QiPT10eXBlb2YgdDtmb3IobiBpbiBpKWkuaGFzT3duUHJvcGVydHkobikmJi0xPT09dShpW25dLHQpJiZpW25dLnB1c2gocj90OntsaXN0ZW5lcjp0LG9uY2U6ITF9KTtyZXR1cm4gdGhpc30sYS5vbj1vKCJhZGRMaXN0ZW5lciIpLGEuYWRkT25jZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx7bGlzdGVuZXI6dCxvbmNlOiEwfSl9LGEub25jZT1vKCJhZGRPbmNlTGlzdGVuZXIiKSxhLmRlZmluZUV2ZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmdldExpc3RlbmVycyhlKSx0aGlzfSxhLmRlZmluZUV2ZW50cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrPTEpdGhpcy5kZWZpbmVFdmVudChlW3RdKTtyZXR1cm4gdGhpc30sCmEucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLHI9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoaSBpbiByKXIuaGFzT3duUHJvcGVydHkoaSkmJi0xIT09KG49dShyW2ldLHQpKSYmcltpXS5zcGxpY2UobiwxKTtyZXR1cm4gdGhpc30sYS5vZmY9bygicmVtb3ZlTGlzdGVuZXIiKSxhLmFkZExpc3RlbmVycz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1hbmlwdWxhdGVMaXN0ZW5lcnMoITEsZSx0KX0sYS5yZW1vdmVMaXN0ZW5lcnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYW5pcHVsYXRlTGlzdGVuZXJzKCEwLGUsdCl9LGEubWFuaXB1bGF0ZUxpc3RlbmVycz1mdW5jdGlvbihlLHQsbil7dmFyIGkscixhPWU/dGhpcy5yZW1vdmVMaXN0ZW5lcjp0aGlzLmFkZExpc3RlbmVyLHM9ZT90aGlzLnJlbW92ZUxpc3RlbmVyczp0aGlzLmFkZExpc3RlbmVycztpZigib2JqZWN0IiE9dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWdFeHApZm9yKGk9bi5sZW5ndGg7aS0tOylhLmNhbGwodGhpcyx0LG5baV0pO2Vsc2UgZm9yKGkgaW4gdCl0Lmhhc093blByb3BlcnR5KGkpJiYocj10W2ldKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiByP2EuY2FsbCh0aGlzLGkscik6cy5jYWxsKHRoaXMsaSxyKSk7cmV0dXJuIHRoaXN9LGEucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj10eXBlb2YgZSxpPXRoaXMuX2dldEV2ZW50cygpO2lmKCJzdHJpbmciPT09bilkZWxldGUgaVtlXTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBSZWdFeHApZm9yKHQgaW4gaSlpLmhhc093blByb3BlcnR5KHQpJiZlLnRlc3QodCkmJmRlbGV0ZSBpW3RdO2Vsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sYS5yZW1vdmVBbGxMaXN0ZW5lcnM9bygicmVtb3ZlRXZlbnQiKSxhLmVtaXRFdmVudD1mdW5jdGlvbihlLHQpe3ZhciBuLGkscixhLHM9dGhpcy5nZXRMaXN0ZW5lcnNBc09iamVjdChlKTtmb3IoYSBpbiBzKWlmKHMuaGFzT3duUHJvcGVydHkoYSkpZm9yKG49c1thXS5zbGljZSgwKSxyPTA7cjxuLmxlbmd0aDtyKyspITA9PT0oaT1uW3JdKS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lciksaS5saXN0ZW5lci5hcHBseSh0aGlzLHR8fFtdKT09PXRoaXMuX2dldE9uY2VSZXR1cm5WYWx1ZSgpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsaS5saXN0ZW5lcik7cmV0dXJuIHRoaXN9LGEudHJpZ2dlcj1vKCJlbWl0RXZlbnQiKSxhLmVtaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLmVtaXRFdmVudChlLHQpfSxhLnNldE9uY2VSZXR1cm5WYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fb25jZVJldHVyblZhbHVlPWUsdGhpc30sYS5fZ2V0T25jZVJldHVyblZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkoIl9vbmNlUmV0dXJuVmFsdWUiKXx8dGhpcy5fb25jZVJldHVyblZhbHVlfSxhLl9nZXRFdmVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPXt9KX0sci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuRXZlbnRFbWl0dGVyPXMscn0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gcn0uY2FsbCh0LG4sdCxlKSl8fChlLmV4cG9ydHM9aSl9KHRoaXN8fHt9KX0sOTE4Nzc5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NhbnZhc1JlbmRlcmluZ1RhcmdldDJEOigpPT5vLGJpbmRDYW52YXNFbGVtZW50Qml0bWFwU2l6ZVRvOigpPT5zLGVxdWFsU2l6ZXM6KCk9PmkuZXF1YWxTaXplcyxzaXplOigpPT5pLnNpemUsdHJ5Q3JlYXRlQ2FudmFzUmVuZGVyaW5nVGFyZ2V0MkQ6KCk9Pmx9KTt2YXIgaT1uKDc0Mjc5KSxyPW4oNzQzNDUxKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dmFyIHI7dGhpcy5fY2FudmFzRWxlbWVudD1udWxsLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzPVtdLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU9bnVsbCx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz1bXSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX2NhbnZhc0VsZW1lbnQ9ZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZT0oMCxpLnNpemUpKHt3aWR0aDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLl9jYW52YXNFbGVtZW50LmNsaWVudEhlaWdodH0pLHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemU9bnVsbCE9dD90OmZ1bmN0aW9uKGUpe3JldHVybiBlfSx0aGlzLl9hbGxvd1Jlc2l6ZU9ic2VydmVyPW51bGw9PT0ocj1udWxsPT1uP3ZvaWQgMDpuLmFsbG93UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1yfHxyLHRoaXMuX2Nob29zZUFuZEluaXRPYnNlcnZlcigpfXJldHVybiBlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZihudWxsPT09dGhpcy5fY2FudmFzRWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIk9iamVjdCBpcyBkaXNwb3NlZCIpO251bGw9PT0oZT10aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIpfHx2b2lkIDA9PT1lfHxlLmRpc2Nvbm5lY3QoKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXI9bnVsbCxudWxsPT09KHQ9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT10fHx0LmRpc3Bvc2UoKSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1udWxsLHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2JpdG1hcFNpemVDaGFuZ2VkTGlzdGVuZXJzLmxlbmd0aD0wLHRoaXMuX2NhbnZhc0VsZW1lbnQ9bnVsbH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Iix7Z2V0OmZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuX2NhbnZhc0VsZW1lbnQpdGhyb3cgbmV3IEVycm9yKCJPYmplY3QgaXMgZGlzcG9zZWQiKQo7cmV0dXJuIHRoaXMuX2NhbnZhc0VsZW1lbnR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYW52YXNFbGVtZW50Q2xpZW50U2l6ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImJpdG1hcFNpemUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDp0aGlzLmNhbnZhc0VsZW1lbnQud2lkdGgsaGVpZ2h0OnRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHR9KX0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5yZXNpemVDYW52YXNFbGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbnZhc0VsZW1lbnRDbGllbnRTaXplPSgwLGkuc2l6ZSkoZSksdGhpcy5jYW52YXNFbGVtZW50LnN0eWxlLndpZHRoPSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS53aWR0aCwicHgiKSx0aGlzLmNhbnZhc0VsZW1lbnQuc3R5bGUuaGVpZ2h0PSIiLmNvbmNhdCh0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZS5oZWlnaHQsInB4IiksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX0sZS5wcm90b3R5cGUuc3Vic2NyaWJlQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fYml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJzdWdnZXN0ZWRCaXRtYXBTaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuc3Vic2NyaWJlU3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQ9ZnVuY3Rpb24oZSl7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWRMaXN0ZW5lcnMucHVzaChlKX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmVTdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZD1mdW5jdGlvbihlKXt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycz10aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZX0pKX0sZS5wcm90b3R5cGUuYXBwbHlTdWdnZXN0ZWRCaXRtYXBTaXplPWZ1bmN0aW9uKCl7aWYobnVsbCE9PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUpe3ZhciBlPXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemU7dGhpcy5fc3VnZ2VzdGVkQml0bWFwU2l6ZT1udWxsLHRoaXMuX3Jlc2l6ZUJpdG1hcChlKSx0aGlzLl9lbWl0U3VnZ2VzdGVkQml0bWFwU2l6ZUNoYW5nZWQoZSx0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplKX19LGUucHJvdG90eXBlLl9yZXNpemVCaXRtYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5iaXRtYXBTaXplOygwLGkuZXF1YWxTaXplcykodCxlKXx8KHRoaXMuY2FudmFzRWxlbWVudC53aWR0aD1lLndpZHRoLHRoaXMuY2FudmFzRWxlbWVudC5oZWlnaHQ9ZS5oZWlnaHQsdGhpcy5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkKHQsZSkpfSxlLnByb3RvdHlwZS5fZW1pdEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9iaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX3N1Z2dlc3ROZXdCaXRtYXBTaXplPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3N1Z2dlc3RlZEJpdG1hcFNpemUsbj0oMCxpLnNpemUpKHRoaXMuX3RyYW5zZm9ybUJpdG1hcFNpemUoZSx0aGlzLl9jYW52YXNFbGVtZW50Q2xpZW50U2l6ZSkpLHI9KDAsaS5lcXVhbFNpemVzKSh0aGlzLmJpdG1hcFNpemUsbik/bnVsbDpuO251bGw9PT10JiZudWxsPT09cnx8bnVsbCE9PXQmJm51bGwhPT1yJiYoMCxpLmVxdWFsU2l6ZXMpKHQscil8fCh0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplPXIsdGhpcy5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkKHQscikpfSxlLnByb3RvdHlwZS5fZW1pdFN1Z2dlc3RlZEJpdG1hcFNpemVDaGFuZ2VkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpczt0aGlzLl9zdWdnZXN0ZWRCaXRtYXBTaXplQ2hhbmdlZExpc3RlbmVycy5mb3JFYWNoKChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYWxsKG4sZSx0KX0pKX0sZS5wcm90b3R5cGUuX2Nob29zZUFuZEluaXRPYnNlcnZlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fYWxsb3dSZXNpemVPYnNlcnZlcj9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IFJlc2l6ZU9ic2VydmVyKChmdW5jdGlvbihuKXtlKG4uZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiJkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplImluIGV9KSkpLHQuZGlzY29ubmVjdCgpfSkpO3Qub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdD9lLl9pbml0UmVzaXplT2JzZXJ2ZXIoKTplLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0pKTp0aGlzLl9pbml0RGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUoKX0sZS5wcm90b3R5cGUuX2luaXREZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciB0PXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJObyB3aW5kb3cgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjYW52YXMiKQo7dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGU9KDAsci5jcmVhdGVPYnNlcnZhYmxlKSh0KSx0aGlzLl9kZXZpY2VQaXhlbFJhdGlvT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ludmFsaWRhdGVCaXRtYXBTaXplKCl9KSksdGhpcy5faW52YWxpZGF0ZUJpdG1hcFNpemUoKX19LGUucHJvdG90eXBlLl9pbnZhbGlkYXRlQml0bWFwU2l6ZT1mdW5jdGlvbigpe3ZhciBlLHQ7aWYobnVsbCE9PXRoaXMuX2NhbnZhc0VsZW1lbnQpe3ZhciBuPXUodGhpcy5fY2FudmFzRWxlbWVudCk7aWYobnVsbCE9PW4pe3ZhciByPW51bGwhPT0odD1udWxsPT09KGU9dGhpcy5fZGV2aWNlUGl4ZWxSYXRpb09ic2VydmFibGUpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnZhbHVlKSYmdm9pZCAwIT09dD90Om4uZGV2aWNlUGl4ZWxSYXRpbyxhPXRoaXMuX2NhbnZhc0VsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKSxzPXZvaWQgMCE9PWFbMF0/ZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxpLnNpemUpKHt3aWR0aDpNYXRoLnJvdW5kKGUubGVmdCp0K2Uud2lkdGgqdCktTWF0aC5yb3VuZChlLmxlZnQqdCksaGVpZ2h0Ok1hdGgucm91bmQoZS50b3AqdCtlLmhlaWdodCp0KS1NYXRoLnJvdW5kKGUudG9wKnQpfSl9KGFbMF0scik6KDAsaS5zaXplKSh7d2lkdGg6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUud2lkdGgqcixoZWlnaHQ6dGhpcy5fY2FudmFzRWxlbWVudENsaWVudFNpemUuaGVpZ2h0KnJ9KTt0aGlzLl9zdWdnZXN0TmV3Qml0bWFwU2l6ZShzKX19fSxlLnByb3RvdHlwZS5faW5pdFJlc2l6ZU9ic2VydmVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztudWxsIT09dGhpcy5fY2FudmFzRWxlbWVudCYmKHRoaXMuX2NhbnZhc0VsZW1lbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudGFyZ2V0PT09ZS5fY2FudmFzRWxlbWVudH0pKTtpZihuJiZuLmRldmljZVBpeGVsQ29udGVudEJveFNpemUmJm4uZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZVswXSl7dmFyIHI9bi5kZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplWzBdLGE9KDAsaS5zaXplKSh7d2lkdGg6ci5pbmxpbmVTaXplLGhlaWdodDpyLmJsb2NrU2l6ZX0pO2UuX3N1Z2dlc3ROZXdCaXRtYXBTaXplKGEpfX0pKSx0aGlzLl9jYW52YXNFbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9jYW52YXNFbGVtZW50LHtib3g6ImRldmljZS1waXhlbC1jb250ZW50LWJveCJ9KSl9LGV9KCk7ZnVuY3Rpb24gcyhlLHQpe2lmKCJkZXZpY2UtcGl4ZWwtY29udGVudC1ib3giPT09dC50eXBlKXJldHVybiBuZXcgYShlLHQudHJhbnNmb3JtLHQub3B0aW9ucyk7dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBiaW5kaW5nIHRhcmdldCIpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIGUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld312YXIgbz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe2lmKDA9PT10LndpZHRofHwwPT09dC5oZWlnaHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVuZGVyaW5nIHRhcmdldCBjb3VsZCBvbmx5IGJlIGNyZWF0ZWQgb24gYSBtZWRpYSB3aXRoIHBvc2l0aXZlIHdpZHRoIGFuZCBoZWlnaHQiKTtpZih0aGlzLl9tZWRpYVNpemU9dCwwPT09bi53aWR0aHx8MD09PW4uaGVpZ2h0KXRocm93IG5ldyBUeXBlRXJyb3IoIlJlbmRlcmluZyB0YXJnZXQgY291bGQgb25seSBiZSBjcmVhdGVkIHVzaW5nIGEgYml0bWFwIHdpdGggcG9zaXRpdmUgaW50ZWdlciB3aWR0aCBhbmQgaGVpZ2h0Iik7dGhpcy5fYml0bWFwU2l6ZT1uLHRoaXMuX2NvbnRleHQ9ZX1yZXR1cm4gZS5wcm90b3R5cGUudXNlTWVkaWFDb29yZGluYXRlU3BhY2U9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9jb250ZXh0LnNhdmUoKSx0aGlzLl9jb250ZXh0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdGhpcy5fY29udGV4dC5zY2FsZSh0aGlzLl9ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl92ZXJ0aWNhbFBpeGVsUmF0aW8pLGUoe2NvbnRleHQ6dGhpcy5fY29udGV4dCxtZWRpYVNpemU6dGhpcy5fbWVkaWFTaXplfSl9ZmluYWxseXt0aGlzLl9jb250ZXh0LnJlc3RvcmUoKX19LGUucHJvdG90eXBlLnVzZUJpdG1hcENvb3JkaW5hdGVTcGFjZT1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIHRoaXMuX2NvbnRleHQuc2F2ZSgpLHRoaXMuX2NvbnRleHQuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSxlKHtjb250ZXh0OnRoaXMuX2NvbnRleHQsbWVkaWFTaXplOnRoaXMuX21lZGlhU2l6ZSxiaXRtYXBTaXplOnRoaXMuX2JpdG1hcFNpemUsaG9yaXpvbnRhbFBpeGVsUmF0aW86dGhpcy5faG9yaXpvbnRhbFBpeGVsUmF0aW8sdmVydGljYWxQaXhlbFJhdGlvOnRoaXMuX3ZlcnRpY2FsUGl4ZWxSYXRpb30pfWZpbmFsbHl7dGhpcy5fY29udGV4dC5yZXN0b3JlKCl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl9ob3Jpem9udGFsUGl4ZWxSYXRpbyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaXRtYXBTaXplLndpZHRoL3RoaXMuX21lZGlhU2l6ZS53aWR0aH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIl92ZXJ0aWNhbFBpeGVsUmF0aW8iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYml0bWFwU2l6ZS5oZWlnaHQvdGhpcy5fbWVkaWFTaXplLmhlaWdodH0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlfSgpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgbj1lLmNhbnZhc0VsZW1lbnRDbGllbnRTaXplO2lmKDA9PT1uLndpZHRofHwwPT09bi5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIGk9ZS5iaXRtYXBTaXplO2lmKDA9PT1pLndpZHRofHwwPT09aS5oZWlnaHQpcmV0dXJuIG51bGw7dmFyIHI9ZS5jYW52YXNFbGVtZW50LmdldENvbnRleHQoIjJkIix0KTtyZXR1cm4gbnVsbD09PXI/bnVsbDpuZXcgbyhyLG4saSl9fSw3OTgwOTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+aX0pCjtjb25zdCBpPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPS0xLGk9bnVsbD09ZT8wOmUubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09dChlW25dLG4sZSk7cmV0dXJuIHJ9fSw2NzkyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPS0xLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2ZvcihpJiZhJiYobj1lWysrcl0pOysrcjxhOyluPXQobixlW3JdLHIsZSk7cmV0dXJuIG59fSwxOTMzODIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjQ1MDcpLHI9bigzOTI5MDgpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24obixpKXtpZihudWxsPT1uKXJldHVybiBuO2lmKCEoMCxyLmRlZmF1bHQpKG4pKXJldHVybiBlKG4saSk7Zm9yKHZhciBhPW4ubGVuZ3RoLHM9dD9hOi0xLHU9T2JqZWN0KG4pOyh0P3MtLTorK3M8YSkmJiExIT09aSh1W3NdLHMsdSk7KTtyZXR1cm4gbn19KGkuZGVmYXVsdCl9LDk4MTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5sfSk7dmFyIGk9big0NDg2MjYpLHI9big4NzI5OTkpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9ci5kZWZhdWx0P3IuZGVmYXVsdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO2NvbnN0IG89ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5kZWZhdWx0KShlKXx8KDAsYS5kZWZhdWx0KShlKXx8ISEodSYmZSYmZVt1XSl9O2NvbnN0IGw9ZnVuY3Rpb24gZSh0LG4scixhLHMpe3ZhciB1PS0xLGw9dC5sZW5ndGg7Zm9yKHJ8fChyPW8pLHN8fChzPVtdKTsrK3U8bDspe3ZhciBjPXRbdV07bj4wJiZyKGMpP24+MT9lKGMsbi0xLHIsYSxzKTooMCxpLmRlZmF1bHQpKHMsYyk6YXx8KHNbcy5sZW5ndGhdPWMpfXJldHVybiBzfX0sMjQ1MDcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+YX0pO3ZhciBpPW4oMjU4MjYpLHI9bigzMDkwODApO2NvbnN0IGE9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSYmKDAsaS5kZWZhdWx0KShlLHQsci5kZWZhdWx0KX19LDk4MDQxNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7dmFyIGk9bigyNjk2MjcpLHI9big3MzAxOSk7Y29uc3QgYT1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7bnVsbCE9ZSYmbjxhOyllPWVbKDAsci5kZWZhdWx0KSh0W24rK10pXTtyZXR1cm4gbiYmbj09YT9lOnZvaWQgMH19LDMzNDQxMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT53fSk7dmFyIGk9big4ODY1MTQpLHI9big4NzI4ODEpO2NvbnN0IGE9ZnVuY3Rpb24oZSx0LG4sYSl7dmFyIHM9bi5sZW5ndGgsdT1zLG89IWE7aWYobnVsbD09ZSlyZXR1cm4hdTtmb3IoZT1PYmplY3QoZSk7cy0tOyl7dmFyIGw9bltzXTtpZihvJiZsWzJdP2xbMV0hPT1lW2xbMF1dOiEobFswXWluIGUpKXJldHVybiExfWZvcig7KytzPHU7KXt2YXIgYz0obD1uW3NdKVswXSxmPWVbY10sZD1sWzFdO2lmKG8mJmxbMl0pe2lmKHZvaWQgMD09PWYmJiEoYyBpbiBlKSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyBpLmRlZmF1bHQ7aWYoYSl2YXIgdj1hKGYsZCxjLGUsdCxoKTtpZighKHZvaWQgMD09PXY/KDAsci5kZWZhdWx0KShkLGYsMyxhLGgpOnYpKXJldHVybiExfX1yZXR1cm4hMH07dmFyIHM9big4ODAxMTUpO2NvbnN0IHU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PWUmJiEoMCxzLmRlZmF1bHQpKGUpfTt2YXIgbz1uKDMwOTA4MCk7Y29uc3QgbD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9KDAsby5kZWZhdWx0KShlKSxuPXQubGVuZ3RoO24tLTspe3ZhciBpPXRbbl0scj1lW2ldO3Rbbl09W2kscix1KHIpXX1yZXR1cm4gdH07Y29uc3QgYz1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bZV09PT10JiYodm9pZCAwIT09dHx8ZSBpbiBPYmplY3QobikpKX19O2NvbnN0IGY9ZnVuY3Rpb24oZSl7dmFyIHQ9bChlKTtyZXR1cm4gMT09dC5sZW5ndGgmJnRbMF1bMl0/Yyh0WzBdWzBdLHRbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09ZXx8YShuLGUsdCl9fTt2YXIgZD1uKDU1NDcxOCksaD1uKDIxODY2OSksdj1uKDk4ODk5MikscD1uKDczMDE5KTtjb25zdCBnPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdi5kZWZhdWx0KShlKSYmdSh0KT9jKCgwLHAuZGVmYXVsdCkoZSksdCk6ZnVuY3Rpb24obil7dmFyIGk9KDAsZC5kZWZhdWx0KShuLGUpO3JldHVybiB2b2lkIDA9PT1pJiZpPT09dD8oMCxoLmRlZmF1bHQpKG4sZSk6KDAsci5kZWZhdWx0KSh0LGksMyl9fTt2YXIgbT1uKDIzMjg1NCksXz1uKDI5NTYzNSk7Y29uc3QgYj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbZV19fTt2YXIgej1uKDk4MDQxNik7Y29uc3QgUz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKDAsei5kZWZhdWx0KSh0LGUpfX07Y29uc3QgeT1mdW5jdGlvbihlKXtyZXR1cm4oMCx2LmRlZmF1bHQpKGUpP2IoKDAscC5kZWZhdWx0KShlKSk6UyhlKX07Y29uc3Qgdz1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT9lOm51bGw9PWU/bS5kZWZhdWx0OiJvYmplY3QiPT10eXBlb2YgZT8oMCxfLmRlZmF1bHQpKGUpP2coZVswXSxlWzFdKTpmKGUpOnkoZSl9fSw2ODUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+c30pO3ZhciBpPW4oOTgwNDE2KSxyPW4oMjk3MTI0KSxhPW4oMjY5NjI3KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHM9LTEsdT10Lmxlbmd0aCxvPXt9Oysrczx1Oyl7dmFyIGw9dFtzXSxjPSgwLGkuZGVmYXVsdCkoZSxsKTtuKGMsbCkmJigwLHIuZGVmYXVsdCkobywoMCxhLmRlZmF1bHQpKGwsZSksYyl9cmV0dXJuIG99fSwyOTcxMjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+b30pCjt2YXIgaT1uKDE2ODUzMykscj1uKDI2OTYyNyksYT1uKDkyMTE0Mykscz1uKDg4MDExNSksdT1uKDczMDE5KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuLG8pe2lmKCEoMCxzLmRlZmF1bHQpKGUpKXJldHVybiBlO2Zvcih2YXIgbD0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9Yy0xLGQ9ZTtudWxsIT1kJiYrK2w8Yzspe3ZhciBoPSgwLHUuZGVmYXVsdCkodFtsXSksdj1uO2lmKCJfX3Byb3RvX18iPT09aHx8ImNvbnN0cnVjdG9yIj09PWh8fCJwcm90b3R5cGUiPT09aClyZXR1cm4gZTtpZihsIT1mKXt2YXIgcD1kW2hdO3ZvaWQgMD09PSh2PW8/byhwLGgsZCk6dm9pZCAwKSYmKHY9KDAscy5kZWZhdWx0KShwKT9wOigwLGEuZGVmYXVsdCkodFtsKzFdKT9bXTp7fSl9KDAsaS5kZWZhdWx0KShkLGgsdiksZD1kW2hdfXJldHVybiBlfX0sNDkzNzE4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9Pml9KTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuKXt2YXIgaT0tMSxyPWUubGVuZ3RoO3Q8MCYmKHQ9LXQ+cj8wOnIrdCksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9dD5uPzA6bi10Pj4+MCx0Pj4+PTA7Zm9yKHZhciBhPUFycmF5KHIpOysraTxyOylhW2ldPWVbaSt0XTtyZXR1cm4gYX19LDI0MjcwOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyNjk2MjcpLHI9big5MjYwODgpLGE9big5ODA0MTYpLHM9big0OTM3MTgpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5sZW5ndGg8Mj9lOigwLGEuZGVmYXVsdCkoZSwoMCxzLmRlZmF1bHQpKHQsMCwtMSkpfTt2YXIgbz1uKDczMDE5KSxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgYz1mdW5jdGlvbihlLHQpe3ZhciBuPS0xLGE9KHQ9KDAsaS5kZWZhdWx0KSh0LGUpKS5sZW5ndGg7aWYoIWEpcmV0dXJuITA7Zm9yKDsrK248YTspe3ZhciBzPSgwLG8uZGVmYXVsdCkodFtuXSk7aWYoIl9fcHJvdG9fXyI9PT1zJiYhbC5jYWxsKGUsIl9fcHJvdG9fXyIpKXJldHVybiExO2lmKCgiY29uc3RydWN0b3IiPT09c3x8InByb3RvdHlwZSI9PT1zKSYmbjxhLTEpcmV0dXJuITF9dmFyIGM9dShlLHQpO3JldHVybiBudWxsPT1jfHxkZWxldGUgY1soMCxvLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkodCkpXX19LDI2OTYyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9bigyOTU2MzUpLHI9big5ODg5OTIpLGE9big2NjMwNDYpO3ZhciBzPS9bXi5bXF1dK3xcWyg/OigtP1xkKyg/OlwuXGQrKT8pfChbIiddKSgoPzooPyFcMilbXlxcXXxcXC4pKj8pXDIpXF18KD89KD86XC58XFtcXSkoPzpcLnxcW1xdfCQpKS9nLHU9L1xcKFxcKT8vZztjb25zdCBvPWZ1bmN0aW9uKGUpe3ZhciB0PSgwLGEuZGVmYXVsdCkoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLGV9KSksbj10LmNhY2hlO3JldHVybiB0fSgoZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIDQ2PT09ZS5jaGFyQ29kZUF0KDApJiZ0LnB1c2goIiIpLGUucmVwbGFjZShzLChmdW5jdGlvbihlLG4saSxyKXt0LnB1c2goaT9yLnJlcGxhY2UodSwiJDEiKTpufHxlKX0pKSx0fSkpO3ZhciBsPW4oMjU5NTQyKTtjb25zdCBjPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKT9lOigwLHIuZGVmYXVsdCkoZSx0KT9bZV06bygoMCxsLmRlZmF1bHQpKGUpKX19LDI2MDgwNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5zfSk7dmFyIGk9big0NzY2NCkscj1uKDM3MjAzNSksYT1uKDcwOTA1MSk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4oMCxhLmRlZmF1bHQpKCgwLHIuZGVmYXVsdCkoZSx2b2lkIDAsaS5kZWZhdWx0KSxlKyIiKX19LDk4ODk5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9bigyOTU2MzUpLHI9big3MTczMzIpLGE9L1wufFxbKD86W15bXF1dKnwoWyInXSkoPzooPyFcMSlbXlxcXXxcXC4pKj9cMSlcXS8scz0vXlx3KiQvO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZigoMCxpLmRlZmF1bHQpKGUpKXJldHVybiExO3ZhciBuPXR5cGVvZiBlO3JldHVybiEoIm51bWJlciIhPW4mJiJzeW1ib2wiIT1uJiYiYm9vbGVhbiIhPW4mJm51bGwhPWUmJiEoMCxyLmRlZmF1bHQpKGUpKXx8KHMudGVzdChlKXx8IWEudGVzdChlKXx8bnVsbCE9dCYmZSBpbiBPYmplY3QodCkpfX0sNzMwMTkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oNzE3MzMyKTtjb25zdCByPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZXx8KDAsaS5kZWZhdWx0KShlKSlyZXR1cm4gZTt2YXIgdD1lKyIiO3JldHVybiIwIj09dCYmMS9lPT0tMS8wPyItMCI6dH19LDQ0MTgwNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big0OTMwMTgpO2NvbnN0IHI9ZnVuY3Rpb24oZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlLDQpfX0sODc3ODU5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PmZ9KTt2YXIgaT1uKDMzNDQxMykscj1uKDM5MjkwOCksYT1uKDMwOTA4MCk7Y29uc3Qgcz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuLHMpe3ZhciB1PU9iamVjdCh0KTtpZighKDAsci5kZWZhdWx0KSh0KSl7dmFyIG89KDAsaS5kZWZhdWx0KShuLDMpO3Q9KDAsYS5kZWZhdWx0KSh0KSxuPWZ1bmN0aW9uKGUpe3JldHVybiBvKHVbZV0sZSx1KX19dmFyIGw9ZSh0LG4scyk7cmV0dXJuIGw+LTE/dVtvP3RbbF06bF06dm9pZCAwfX07dmFyIHU9big2ODg5NjUpLG89big2OTIzNjkpLGw9TWF0aC5tYXgsYz1NYXRoLm1pbjtjb25zdCBmPXMoKGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXIpcmV0dXJuLTE7dmFyIGE9ci0xO3JldHVybiB2b2lkIDAhPT1uJiYoYT0oMCxvLmRlZmF1bHQpKG4pLGE9bjwwP2wocithLDApOmMoYSxyLTEpKSwoMCx1LmRlZmF1bHQpKGUsKDAsaS5kZWZhdWx0KSh0LDMpLGEsITApfSkpfSw0NzY2NChlLHQsbil7CiJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+cn0pO3ZhciBpPW4oOTgxMzY1KTtjb25zdCByPWZ1bmN0aW9uKGUpe3JldHVybihudWxsPT1lPzA6ZS5sZW5ndGgpPygwLGkuZGVmYXVsdCkoZSwxKTpbXX19LDU1NDcxOChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5yfSk7dmFyIGk9big5ODA0MTYpO2NvbnN0IHI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW51bGw9PWU/dm9pZCAwOigwLGkuZGVmYXVsdCkoZSx0KTtyZXR1cm4gdm9pZCAwPT09cj9uOnJ9fSwyMTg2NjkoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZGVmYXVsdDooKT0+Zn0pO2NvbnN0IGk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9ZSYmdCBpbiBPYmplY3QoZSl9O3ZhciByPW4oMjY5NjI3KSxhPW4oNTMxNTU3KSxzPW4oMjk1NjM1KSx1PW4oOTIxMTQzKSxvPW4oOTkwNjA0KSxsPW4oNzMwMTkpO2NvbnN0IGM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaT0tMSxjPSh0PSgwLHIuZGVmYXVsdCkodCxlKSkubGVuZ3RoLGY9ITE7KytpPGM7KXt2YXIgZD0oMCxsLmRlZmF1bHQpKHRbaV0pO2lmKCEoZj1udWxsIT1lJiZuKGUsZCkpKWJyZWFrO2U9ZVtkXX1yZXR1cm4gZnx8KytpIT1jP2Y6ISEoYz1udWxsPT1lPzA6ZS5sZW5ndGgpJiYoMCxvLmRlZmF1bHQpKGMpJiYoMCx1LmRlZmF1bHQpKGQsYykmJigoMCxzLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKX07Y29uc3QgZj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsIT1lJiZjKGUsdCxpKX19LDE0NDU1NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big4MzA4NzUpLHI9big5Njk3ODUpLGE9big1MzE1NTcpLHM9bigyOTU2MzUpLHU9bigzOTI5MDgpLG89big2NTkwMTgpLGw9big2OTM5NDEpLGM9bigxNjUyNjcpLGY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBkPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuITA7aWYoKDAsdS5kZWZhdWx0KShlKSYmKCgwLHMuZGVmYXVsdCkoZSl8fCJzdHJpbmciPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUuc3BsaWNlfHwoMCxvLmRlZmF1bHQpKGUpfHwoMCxjLmRlZmF1bHQpKGUpfHwoMCxhLmRlZmF1bHQpKGUpKSlyZXR1cm4hZS5sZW5ndGg7dmFyIHQ9KDAsci5kZWZhdWx0KShlKTtpZigiW29iamVjdCBNYXBdIj09dHx8IltvYmplY3QgU2V0XSI9PXQpcmV0dXJuIWUuc2l6ZTtpZigoMCxsLmRlZmF1bHQpKGUpKXJldHVybiEoMCxpLmRlZmF1bHQpKGUpLmxlbmd0aDtmb3IodmFyIG4gaW4gZSlpZihmLmNhbGwoZSxuKSlyZXR1cm4hMTtyZXR1cm4hMH19LDkyNjA4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5pfSk7Y29uc3QgaT1mdW5jdGlvbihlKXt2YXIgdD1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHQ/ZVt0LTFdOnZvaWQgMH19LDk2NDcyMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5kfSk7dmFyIGk9big3OTgwOTQpLHI9big0OTMwMTgpLGE9bigyNDI3MDgpLHM9bigyNjk2MjcpLHU9big2MTg1Nyksbz1uKDkzMTQzMyk7Y29uc3QgbD1mdW5jdGlvbihlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKGUpP3ZvaWQgMDplfTt2YXIgYz1uKDI2MDgwNiksZj1uKDk5MTU5OSk7Y29uc3QgZD0oMCxjLmRlZmF1bHQpKChmdW5jdGlvbihlLHQpe3ZhciBuPXt9O2lmKG51bGw9PWUpcmV0dXJuIG47dmFyIG89ITE7dD0oMCxpLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0PSgwLHMuZGVmYXVsdCkodCxlKSxvfHwobz10Lmxlbmd0aD4xKSx0fSkpLCgwLHUuZGVmYXVsdCkoZSwoMCxmLmRlZmF1bHQpKGUpLG4pLG8mJihuPSgwLHIuZGVmYXVsdCkobiw3LGwpKTtmb3IodmFyIGM9dC5sZW5ndGg7Yy0tOykoMCxhLmRlZmF1bHQpKG4sdFtjXSk7cmV0dXJuIG59KSl9LDYzOTc4OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT51fSk7dmFyIGk9big3OTgwOTQpLHI9bigzMzQ0MTMpLGE9big2ODUxNTQpLHM9big5OTE1OTkpO2NvbnN0IHU9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuPSgwLGkuZGVmYXVsdCkoKDAscy5kZWZhdWx0KShlKSwoZnVuY3Rpb24oZSl7cmV0dXJuW2VdfSkpO3JldHVybiB0PSgwLHIuZGVmYXVsdCkodCksKDAsYS5kZWZhdWx0KShlLG4sKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuWzBdKX0pKX19LDg2NDAzNihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5vfSk7dmFyIGk9big2NzkyKSxyPW4oMTkzMzgyKSxhPW4oMzM0NDEzKTtjb25zdCBzPWZ1bmN0aW9uKGUsdCxuLGkscil7cmV0dXJuIHIoZSwoZnVuY3Rpb24oZSxyLGEpe249aT8oaT0hMSxlKTp0KG4sZSxyLGEpfSkpLG59O3ZhciB1PW4oMjk1NjM1KTtjb25zdCBvPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz0oMCx1LmRlZmF1bHQpKGUpP2kuZGVmYXVsdDpzLGw9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBvKGUsKDAsYS5kZWZhdWx0KSh0LDQpLG4sbCxyLmRlZmF1bHQpfX0sMTA1OTcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI5NzEyNCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWU/ZTooMCxpLmRlZmF1bHQpKGUsdCxuKX19LDI1OTU0MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5jfSk7dmFyIGk9big4NzI5OTkpLHI9big3OTgwOTQpLGE9bigyOTU2MzUpLHM9big3MTczMzIpLHU9aS5kZWZhdWx0P2kuZGVmYXVsdC5wcm90b3R5cGU6dm9pZCAwLG89dT91LnRvU3RyaW5nOnZvaWQgMDtjb25zdCBsPWZ1bmN0aW9uIGUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O2lmKCgwLGEuZGVmYXVsdCkodCkpcmV0dXJuKDAsci5kZWZhdWx0KSh0LGUpKyIiO2lmKCgwLHMuZGVmYXVsdCkodCkpcmV0dXJuIG8/by5jYWxsKHQpOiIiO3ZhciBuPXQrIiI7cmV0dXJuIjAiPT1uJiYxL3Q9PS0xLzA/Ii0wIjpufTtjb25zdCBjPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmwoZSl9fSwKOTE3MzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgaT1uKDI0MjcwOCk7Y29uc3Qgcj1mdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lfHwoMCxpLmRlZmF1bHQpKGUsdCl9fX1dKTs="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/7504.1288d1d28b2f47f7ac43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.445Z","timestamp":1785136428445,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/7504.1288d1d28b2f47f7ac43.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a476ed7-56c8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 03 Jul 2026 08:12:07 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/03/2026 10:56:33\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b6342cf465163b3a1424f73669b7d07d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22216,"size_decoded":9150,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"185306b73eb6156ba89819ac42f09043","sha1":"0e91a337a58188b9760881d3eeb271cc4c8ac2d0","sha256":"4433e6c002fc34e6971b340b447cb59f9704a935f8ff79457535ae6c04f2a91e","sha512":"62e46a9de161a635772e81ac6f569c8a85bcde20c9143b5dbf3fff3d0acc7a668643a351bbfe42e981d28861648256d6fb72849990fbdf3089e0d8da3a378c9b","ssdeep":"384:t0ohD1L+Hfz4m0ehDLL+HfzLNVEGdmMDPHt+eiWxyATTSXUaaexXzIDyg5nAWhJw:t0ohJL+Hfcm0eh3L+HfdaGdmMDvwWxn4","tlshash":"3aa294c83ad3f0ea926721f514af14c7f2392e666c9d9660c15de0d87c3602df12bd6a","first_seen":"2026-07-04T00:11:22.529436Z","last_seen":"2026-08-11T04:47:30.161809Z","times_seen":469,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNzUwNF0sezMwNzUwNChuLHQscil7ci5yKHQpLHIuZCh0LHtWRVJTSU9OOigpPT51LGFmdGVyOigpPT5EdCxhbGw6KCk9Plp0LGFsbEtleXM6KCk9PmRuLGFueTooKT0+bnIsYXNzaWduOigpPT5EbixiZWZvcmU6KCk9PlJ0LGJpbmQ6KCk9Pmp0LGJpbmRBbGw6KCk9Pl90LGNoYWluOigpPT5ndCxjaHVuazooKT0+VnIsY2xvbmU6KCk9PkZuLGNvbGxlY3Q6KCk9Pkp0LGNvbXBhY3Q6KCk9PlNyLGNvbXBvc2U6KCk9Pk50LGNvbnN0YW50OigpPT5ZLGNvbnRhaW5zOigpPT50cixjb3VudEJ5OigpPT5kcixjcmVhdGU6KCk9PlZuLGRlYm91bmNlOigpPT5NdCxkZWZhdWx0OigpPT5QcixkZWZhdWx0czooKT0+Um4sZGVmZXI6KCk9PkV0LGRlbGF5OigpPT5PdCxkZXRlY3Q6KCk9Pkx0LGRpZmZlcmVuY2U6KCk9PkVyLGRyb3A6KCk9PkFyLGVhY2g6KCk9PiR0LGVzY2FwZTooKT0+aXQsZXZlcnk6KCk9Plp0LGV4dGVuZDooKT0+Tm4sZXh0ZW5kT3duOigpPT5EbixmaWx0ZXI6KCk9Plh0LGZpbmQ6KCk9Pkx0LGZpbmRJbmRleDooKT0+cXQsZmluZEtleTooKT0+VnQsZmluZExhc3RJbmRleDooKT0+enQsZmluZFdoZXJlOigpPT5DdCxmaXJzdDooKT0+eHIsZmxhdHRlbjooKT0+T3IsZm9sZGw6KCk9Pkh0LGZvbGRyOigpPT5RdCxmb3JFYWNoOigpPT4kdCxmdW5jdGlvbnM6KCk9PkJuLGdldDooKT0+VW4sZ3JvdXBCeTooKT0+aHIsaGFzOigpPT5LbixoZWFkOigpPT54cixpZGVudGl0eTooKT0+TG4saW5jbHVkZTooKT0+dHIsaW5jbHVkZXM6KCk9PnRyLGluZGV4Qnk6KCk9PnZyLGluZGV4T2Y6KCk9PlV0LGluaXRpYWw6KCk9PmpyLGluamVjdDooKT0+SHQsaW50ZXJzZWN0aW9uOigpPT5JcixpbnZlcnQ6KCk9Pk1uLGludm9rZTooKT0+cnIsaXNBcmd1bWVudHM6KCk9PkgsaXNBcnJheTooKT0+JCxpc0FycmF5QnVmZmVyOigpPT5GLGlzQm9vbGVhbjooKT0+ayxpc0RhdGFWaWV3OigpPT5DLGlzRGF0ZTooKT0+RCxpc0VsZW1lbnQ6KCk9Pk0saXNFbXB0eTooKT0+Zm4saXNFcXVhbDooKT0+dm4saXNFcnJvcjooKT0+VCxpc0Zpbml0ZTooKT0+USxpc0Z1bmN0aW9uOigpPT5XLGlzTWFwOigpPT5Bbixpc01hdGNoOigpPT5sbixpc05hTjooKT0+WCxpc051bGw6KCk9Pk8saXNOdW1iZXI6KCk9Pk4saXNPYmplY3Q6KCk9PlMsaXNSZWdFeHA6KCk9PlIsaXNTZXQ6KCk9PlNuLGlzU3RyaW5nOigpPT5JLGlzU3ltYm9sOigpPT5WLGlzVHlwZWRBcnJheTooKT0+dW4saXNVbmRlZmluZWQ6KCk9PkUsaXNXZWFrTWFwOigpPT5fbixpc1dlYWtTZXQ6KCk9Pk9uLGl0ZXJhdGVlOigpPT5IbixrZXlzOigpPT5jbixsYXN0OigpPT5fcixsYXN0SW5kZXhPZjooKT0+S3QsbWFwOigpPT5KdCxtYXBPYmplY3Q6KCk9PlhuLG1hdGNoZXI6KCk9PkNuLG1hdGNoZXM6KCk9PkNuLG1heDooKT0+aXIsbWVtb2l6ZTooKT0+U3QsbWV0aG9kczooKT0+Qm4sbWluOigpPT5vcixtaXhpbjooKT0+cXIsbmVnYXRlOigpPT5JdCxub29wOigpPT5Zbixub3c6KCk9PnJ0LG9iamVjdDooKT0+UnIsb21pdDooKT0+d3Isb25jZTooKT0+VHQscGFpcnM6KCk9PmtuLHBhcnRpYWw6KCk9Pnd0LHBhcnRpdGlvbjooKT0+eXIscGljazooKT0+YnIscGx1Y2s6KCk9PmVyLHByb3BlcnR5OigpPT4kbixwcm9wZXJ0eU9mOigpPT5abixyYW5kb206KCk9PnR0LHJhbmdlOigpPT5UcixyZWR1Y2U6KCk9Pkh0LHJlZHVjZVJpZ2h0OigpPT5RdCxyZWplY3Q6KCk9Pll0LHJlc3Q6KCk9PkFyLHJlc3RBcmd1bWVudHM6KCk9Pl8scmVzdWx0OigpPT52dCxzYW1wbGU6KCk9PmZyLHNlbGVjdDooKT0+WHQsc2h1ZmZsZTooKT0+bHIsc2l6ZTooKT0+Z3Isc29tZTooKT0+bnIsc29ydEJ5OigpPT5zcixzb3J0ZWRJbmRleDooKT0+V3QsdGFpbDooKT0+QXIsdGFrZTooKT0+eHIsdGFwOigpPT5xbix0ZW1wbGF0ZTooKT0+aHQsdGVtcGxhdGVTZXR0aW5nczooKT0+YXQsdGhyb3R0bGU6KCk9Pmt0LHRpbWVzOigpPT5udCx0b0FycmF5OigpPT5jcix0b1BhdGg6KCk9PnpuLHRyYW5zcG9zZTooKT0+TnIsdW5lc2NhcGU6KCk9Pm90LHVuaW9uOigpPT5Ccix1bmlxOigpPT5Ncix1bmlxdWU6KCk9Pk1yLHVuaXF1ZUlkOigpPT55dCx1bnppcDooKT0+TnIsdmFsdWVzOigpPT5Fbix3aGVyZTooKT0+dXIsd2l0aG91dDooKT0+a3Isd3JhcDooKT0+QnQsemlwOigpPT5Ecn0pO3ZhciBlPXt9O3IucihlKSxyLmQoZSx7VkVSU0lPTjooKT0+dSxhZnRlcjooKT0+RHQsYWxsOigpPT5adCxhbGxLZXlzOigpPT5kbixhbnk6KCk9Pm5yLGFzc2lnbjooKT0+RG4sYmVmb3JlOigpPT5SdCxiaW5kOigpPT5qdCxiaW5kQWxsOigpPT5fdCxjaGFpbjooKT0+Z3QsY2h1bms6KCk9PlZyLGNsb25lOigpPT5Gbixjb2xsZWN0OigpPT5KdCxjb21wYWN0OigpPT5Tcixjb21wb3NlOigpPT5OdCxjb25zdGFudDooKT0+WSxjb250YWluczooKT0+dHIsY291bnRCeTooKT0+ZHIsY3JlYXRlOigpPT5WbixkZWJvdW5jZTooKT0+TXQsZGVmYXVsdDooKT0+enIsZGVmYXVsdHM6KCk9PlJuLGRlZmVyOigpPT5FdCxkZWxheTooKT0+T3QsZGV0ZWN0OigpPT5MdCxkaWZmZXJlbmNlOigpPT5Fcixkcm9wOigpPT5BcixlYWNoOigpPT4kdCxlc2NhcGU6KCk9Pml0LGV2ZXJ5OigpPT5adCxleHRlbmQ6KCk9Pk5uLGV4dGVuZE93bjooKT0+RG4sZmlsdGVyOigpPT5YdCxmaW5kOigpPT5MdCxmaW5kSW5kZXg6KCk9PnF0LGZpbmRLZXk6KCk9PlZ0LGZpbmRMYXN0SW5kZXg6KCk9Pnp0LGZpbmRXaGVyZTooKT0+Q3QsZmlyc3Q6KCk9PnhyLGZsYXR0ZW46KCk9Pk9yLGZvbGRsOigpPT5IdCxmb2xkcjooKT0+UXQsZm9yRWFjaDooKT0+JHQsZnVuY3Rpb25zOigpPT5CbixnZXQ6KCk9PlVuLGdyb3VwQnk6KCk9PmhyLGhhczooKT0+S24saGVhZDooKT0+eHIsaWRlbnRpdHk6KCk9PkxuLGluY2x1ZGU6KCk9PnRyLGluY2x1ZGVzOigpPT50cixpbmRleEJ5OigpPT52cixpbmRleE9mOigpPT5VdCxpbml0aWFsOigpPT5qcixpbmplY3Q6KCk9Pkh0LGludGVyc2VjdGlvbjooKT0+SXIsCmludmVydDooKT0+TW4saW52b2tlOigpPT5ycixpc0FyZ3VtZW50czooKT0+SCxpc0FycmF5OigpPT4kLGlzQXJyYXlCdWZmZXI6KCk9PkYsaXNCb29sZWFuOigpPT5rLGlzRGF0YVZpZXc6KCk9PkMsaXNEYXRlOigpPT5ELGlzRWxlbWVudDooKT0+TSxpc0VtcHR5OigpPT5mbixpc0VxdWFsOigpPT52bixpc0Vycm9yOigpPT5ULGlzRmluaXRlOigpPT5RLGlzRnVuY3Rpb246KCk9PlcsaXNNYXA6KCk9PkFuLGlzTWF0Y2g6KCk9PmxuLGlzTmFOOigpPT5YLGlzTnVsbDooKT0+Tyxpc051bWJlcjooKT0+Tixpc09iamVjdDooKT0+Uyxpc1JlZ0V4cDooKT0+Uixpc1NldDooKT0+U24saXNTdHJpbmc6KCk9PkksaXNTeW1ib2w6KCk9PlYsaXNUeXBlZEFycmF5OigpPT51bixpc1VuZGVmaW5lZDooKT0+RSxpc1dlYWtNYXA6KCk9Pl9uLGlzV2Vha1NldDooKT0+T24saXRlcmF0ZWU6KCk9PkhuLGtleXM6KCk9PmNuLGxhc3Q6KCk9Pl9yLGxhc3RJbmRleE9mOigpPT5LdCxtYXA6KCk9Pkp0LG1hcE9iamVjdDooKT0+WG4sbWF0Y2hlcjooKT0+Q24sbWF0Y2hlczooKT0+Q24sbWF4OigpPT5pcixtZW1vaXplOigpPT5TdCxtZXRob2RzOigpPT5CbixtaW46KCk9Pm9yLG1peGluOigpPT5xcixuZWdhdGU6KCk9Pkl0LG5vb3A6KCk9PlluLG5vdzooKT0+cnQsb2JqZWN0OigpPT5ScixvbWl0OigpPT53cixvbmNlOigpPT5UdCxwYWlyczooKT0+a24scGFydGlhbDooKT0+d3QscGFydGl0aW9uOigpPT55cixwaWNrOigpPT5icixwbHVjazooKT0+ZXIscHJvcGVydHk6KCk9PiRuLHByb3BlcnR5T2Y6KCk9PlpuLHJhbmRvbTooKT0+dHQscmFuZ2U6KCk9PlRyLHJlZHVjZTooKT0+SHQscmVkdWNlUmlnaHQ6KCk9PlF0LHJlamVjdDooKT0+WXQscmVzdDooKT0+QXIscmVzdEFyZ3VtZW50czooKT0+XyxyZXN1bHQ6KCk9PnZ0LHNhbXBsZTooKT0+ZnIsc2VsZWN0OigpPT5YdCxzaHVmZmxlOigpPT5scixzaXplOigpPT5ncixzb21lOigpPT5ucixzb3J0Qnk6KCk9PnNyLHNvcnRlZEluZGV4OigpPT5XdCx0YWlsOigpPT5Bcix0YWtlOigpPT54cix0YXA6KCk9PnFuLHRlbXBsYXRlOigpPT5odCx0ZW1wbGF0ZVNldHRpbmdzOigpPT5hdCx0aHJvdHRsZTooKT0+a3QsdGltZXM6KCk9Pm50LHRvQXJyYXk6KCk9PmNyLHRvUGF0aDooKT0+em4sdHJhbnNwb3NlOigpPT5Ocix1bmVzY2FwZTooKT0+b3QsdW5pb246KCk9PkJyLHVuaXE6KCk9Pk1yLHVuaXF1ZTooKT0+TXIsdW5pcXVlSWQ6KCk9Pnl0LHVuemlwOigpPT5Ocix2YWx1ZXM6KCk9PkVuLHdoZXJlOigpPT51cix3aXRob3V0OigpPT5rcix3cmFwOigpPT5CdCx6aXA6KCk9PkRyfSk7dmFyIHU9IjEuMTMuOCIsaT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYuc2VsZj09PXNlbGYmJnNlbGZ8fCJvYmplY3QiPT10eXBlb2Ygci5nJiZyLmcuZ2xvYmFsPT09ci5nJiZyLmd8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl8fHt9LG89QXJyYXkucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxjPSJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sP1N5bWJvbC5wcm90b3R5cGU6bnVsbCxmPW8ucHVzaCxsPW8uc2xpY2Uscz1hLnRvU3RyaW5nLHA9YS5oYXNPd25Qcm9wZXJ0eSxoPSJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXIsdj0idW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3LGQ9QXJyYXkuaXNBcnJheSx5PU9iamVjdC5rZXlzLGc9T2JqZWN0LmNyZWF0ZSxtPWgmJkFycmF5QnVmZmVyLmlzVmlldyxiPWlzTmFOLHc9aXNGaW5pdGUsaj0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLHg9WyJ2YWx1ZU9mIiwiaXNQcm90b3R5cGVPZiIsInRvU3RyaW5nIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJoYXNPd25Qcm9wZXJ0eSIsInRvTG9jYWxlU3RyaW5nIl0sQT1NYXRoLnBvdygyLDUzKS0xO2Z1bmN0aW9uIF8obix0KXtyZXR1cm4gdD1udWxsPT10P24ubGVuZ3RoLTE6K3QsZnVuY3Rpb24oKXtmb3IodmFyIHI9TWF0aC5tYXgoYXJndW1lbnRzLmxlbmd0aC10LDApLGU9QXJyYXkociksdT0wO3U8cjt1KyspZVt1XT1hcmd1bWVudHNbdSt0XTtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiBuLmNhbGwodGhpcyxlKTtjYXNlIDE6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxlKTtjYXNlIDI6cmV0dXJuIG4uY2FsbCh0aGlzLGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0sZSl9dmFyIGk9QXJyYXkodCsxKTtmb3IodT0wO3U8dDt1KyspaVt1XT1hcmd1bWVudHNbdV07cmV0dXJuIGlbdF09ZSxuLmFwcGx5KHRoaXMsaSl9fWZ1bmN0aW9uIFMobil7dmFyIHQ9dHlwZW9mIG47cmV0dXJuImZ1bmN0aW9uIj09PXR8fCJvYmplY3QiPT09dCYmISFufWZ1bmN0aW9uIE8obil7cmV0dXJuIG51bGw9PT1ufWZ1bmN0aW9uIEUobil7cmV0dXJuIHZvaWQgMD09PW59ZnVuY3Rpb24gayhuKXtyZXR1cm4hMD09PW58fCExPT09bnx8IltvYmplY3QgQm9vbGVhbl0iPT09cy5jYWxsKG4pfWZ1bmN0aW9uIE0obil7cmV0dXJuISghbnx8MSE9PW4ubm9kZVR5cGUpfWZ1bmN0aW9uIEIobil7dmFyIHQ9IltvYmplY3QgIituKyJdIjtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHMuY2FsbChuKT09PXR9fWNvbnN0IEk9QigiU3RyaW5nIiksTj1CKCJOdW1iZXIiKSxEPUIoIkRhdGUiKSxSPUIoIlJlZ0V4cCIpLFQ9QigiRXJyb3IiKSxWPUIoIlN5bWJvbCIpLEY9QigiQXJyYXlCdWZmZXIiKTt2YXIgcT1CKCJGdW5jdGlvbiIpLHo9aS5kb2N1bWVudCYmaS5kb2N1bWVudC5jaGlsZE5vZGVzOyJvYmplY3QiIT10eXBlb2YgSW50OEFycmF5JiYiZnVuY3Rpb24iIT10eXBlb2YgeiYmKHE9ZnVuY3Rpb24obil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG58fCExfSk7Y29uc3QgVz1xLFA9QigiT2JqZWN0Iik7dmFyIFU9diYmKCEvXFtuYXRpdmUgY29kZVxdLy50ZXN0KFN0cmluZyhEYXRhVmlldykpfHxQKG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSksSz0idW5kZWZpbmVkIiE9dHlwZW9mIE1hcCYmUChuZXcgTWFwKSxMPUIoIkRhdGFWaWV3Iik7Y29uc3QgQz1VP2Z1bmN0aW9uKG4pewpyZXR1cm4gbnVsbCE9biYmVyhuLmdldEludDgpJiZGKG4uYnVmZmVyKX06TCwkPWR8fEIoIkFycmF5Iik7ZnVuY3Rpb24gSihuLHQpe3JldHVybiBudWxsIT1uJiZwLmNhbGwobix0KX12YXIgRz1CKCJBcmd1bWVudHMiKTshZnVuY3Rpb24oKXtHKGFyZ3VtZW50cyl8fChHPWZ1bmN0aW9uKG4pe3JldHVybiBKKG4sImNhbGxlZSIpfSl9KCk7Y29uc3QgSD1HO2Z1bmN0aW9uIFEobil7cmV0dXJuIVYobikmJncobikmJiFpc05hTihwYXJzZUZsb2F0KG4pKX1mdW5jdGlvbiBYKG4pe3JldHVybiBOKG4pJiZiKG4pfWZ1bmN0aW9uIFkobil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG59fWZ1bmN0aW9uIFoobil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPW4odCk7cmV0dXJuIm51bWJlciI9PXR5cGVvZiByJiZyPj0wJiZyPD1BfX1mdW5jdGlvbiBubihuKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dm9pZCAwOnRbbl19fWNvbnN0IHRuPW5uKCJieXRlTGVuZ3RoIikscm49Wih0bik7dmFyIGVuPS9cW29iamVjdCAoKEl8VWkpbnQoOHwxNnwzMil8RmxvYXQoMzJ8NjQpfFVpbnQ4Q2xhbXBlZHxCaWcoSXxVaSludDY0KUFycmF5XF0vO2NvbnN0IHVuPWg/ZnVuY3Rpb24obil7cmV0dXJuIG0/bShuKSYmIUMobik6cm4obikmJmVuLnRlc3Qocy5jYWxsKG4pKX06WSghMSksb249bm4oImxlbmd0aCIpO2Z1bmN0aW9uIGFuKG4sdCl7dD1mdW5jdGlvbihuKXtmb3IodmFyIHQ9e30scj1uLmxlbmd0aCxlPTA7ZTxyOysrZSl0W25bZV1dPSEwO3JldHVybntjb250YWluczpmdW5jdGlvbihuKXtyZXR1cm4hMD09PXRbbl19LHB1c2g6ZnVuY3Rpb24ocil7cmV0dXJuIHRbcl09ITAsbi5wdXNoKHIpfX19KHQpO3ZhciByPXgubGVuZ3RoLGU9bi5jb25zdHJ1Y3Rvcix1PVcoZSkmJmUucHJvdG90eXBlfHxhLGk9ImNvbnN0cnVjdG9yIjtmb3IoSihuLGkpJiYhdC5jb250YWlucyhpKSYmdC5wdXNoKGkpO3ItLTspKGk9eFtyXSlpbiBuJiZuW2ldIT09dVtpXSYmIXQuY29udGFpbnMoaSkmJnQucHVzaChpKX1mdW5jdGlvbiBjbihuKXtpZighUyhuKSlyZXR1cm5bXTtpZih5KXJldHVybiB5KG4pO3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKUoobixyKSYmdC5wdXNoKHIpO3JldHVybiBqJiZhbihuLHQpLHR9ZnVuY3Rpb24gZm4obil7aWYobnVsbD09bilyZXR1cm4hMDt2YXIgdD1vbihuKTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJigkKG4pfHxJKG4pfHxIKG4pKT8wPT09dDowPT09b24oY24obikpfWZ1bmN0aW9uIGxuKG4sdCl7dmFyIHI9Y24odCksZT1yLmxlbmd0aDtpZihudWxsPT1uKXJldHVybiFlO2Zvcih2YXIgdT1PYmplY3QobiksaT0wO2k8ZTtpKyspe3ZhciBvPXJbaV07aWYodFtvXSE9PXVbb118fCEobyBpbiB1KSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBzbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIHNuP246dGhpcyBpbnN0YW5jZW9mIHNuP3ZvaWQodGhpcy5fd3JhcHBlZD1uKTpuZXcgc24obil9ZnVuY3Rpb24gcG4obil7cmV0dXJuIG5ldyBVaW50OEFycmF5KG4uYnVmZmVyfHxuLG4uYnl0ZU9mZnNldHx8MCx0bihuKSl9c24uVkVSU0lPTj11LHNuLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl93cmFwcGVkfSxzbi5wcm90b3R5cGUudmFsdWVPZj1zbi5wcm90b3R5cGUudG9KU09OPXNuLnByb3RvdHlwZS52YWx1ZSxzbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKHRoaXMuX3dyYXBwZWQpfTt2YXIgaG49IltvYmplY3QgRGF0YVZpZXddIjtmdW5jdGlvbiB2bihuLHQpe2Zvcih2YXIgcj1be2E6bixiOnR9XSxlPVtdLHU9W107ci5sZW5ndGg7KXt2YXIgaT1yLnBvcCgpO2lmKCEwIT09aSl7aWYoKG49aS5hKT09PSh0PWkuYikpe2lmKDAhPT1ufHwxL249PTEvdCljb250aW51ZTtyZXR1cm4hMX1pZihudWxsPT1ufHxudWxsPT10KXJldHVybiExO2lmKG4hPW4pe2lmKHQhPXQpY29udGludWU7cmV0dXJuITF9dmFyIG89dHlwZW9mIG47aWYoImZ1bmN0aW9uIiE9PW8mJiJvYmplY3QiIT09byYmIm9iamVjdCIhPXR5cGVvZiB0KXJldHVybiExO24gaW5zdGFuY2VvZiBzbiYmKG49bi5fd3JhcHBlZCksdCBpbnN0YW5jZW9mIHNuJiYodD10Ll93cmFwcGVkKTt2YXIgYT1zLmNhbGwobik7aWYoYSE9PXMuY2FsbCh0KSlyZXR1cm4hMTtpZihVJiYiW29iamVjdCBPYmplY3RdIj09YSYmQyhuKSl7aWYoIUModCkpcmV0dXJuITE7YT1obn1zd2l0Y2goYSl7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjppZigiIituPT0iIit0KWNvbnRpbnVlO3JldHVybiExO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpyLnB1c2goe2E6K24sYjordH0pO2NvbnRpbnVlO2Nhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IEJvb2xlYW5dIjppZigrbj09K3QpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOmlmKGMudmFsdWVPZi5jYWxsKG4pPT09Yy52YWx1ZU9mLmNhbGwodCkpY29udGludWU7cmV0dXJuITE7Y2FzZSJbb2JqZWN0IEFycmF5QnVmZmVyXSI6Y2FzZSBobjpyLnB1c2goe2E6cG4obiksYjpwbih0KX0pO2NvbnRpbnVlfXZhciBmPSJbb2JqZWN0IEFycmF5XSI9PT1hO2lmKCFmJiZ1bihuKSl7aWYodG4obikhPT10bih0KSlyZXR1cm4hMTtpZihuLmJ1ZmZlcj09PXQuYnVmZmVyJiZuLmJ5dGVPZmZzZXQ9PT10LmJ5dGVPZmZzZXQpY29udGludWU7Zj0hMH1pZighZil7aWYoIm9iamVjdCIhPXR5cGVvZiBufHwib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuITE7dmFyIGw9bi5jb25zdHJ1Y3RvcixwPXQuY29uc3RydWN0b3I7aWYobCE9PXAmJiEoVyhsKSYmbCBpbnN0YW5jZW9mIGwmJlcocCkmJnAgaW5zdGFuY2VvZiBwKSYmImNvbnN0cnVjdG9yImluIG4mJiJjb25zdHJ1Y3RvciJpbiB0KXJldHVybiExfWZvcih2YXIgaD1lLmxlbmd0aDtoLS07KWlmKGVbaF09PT1uKXtpZih1W2hdPT09dClicmVhaztyZXR1cm4hMX1pZighKGg+PTApKWlmKGUucHVzaChuKSx1LnB1c2godCksci5wdXNoKCEwKSxmKXtpZigoaD1uLmxlbmd0aCkhPT10Lmxlbmd0aClyZXR1cm4hMQo7Zm9yKDtoLS07KXIucHVzaCh7YTpuW2hdLGI6dFtoXX0pfWVsc2V7dmFyIHYsZD1jbihuKTtpZihoPWQubGVuZ3RoLGNuKHQpLmxlbmd0aCE9PWgpcmV0dXJuITE7Zm9yKDtoLS07KXtpZighSih0LHY9ZFtoXSkpcmV0dXJuITE7ci5wdXNoKHthOm5bdl0sYjp0W3ZdfSl9fX1lbHNlIGUucG9wKCksdS5wb3AoKX1yZXR1cm4hMH1mdW5jdGlvbiBkbihuKXtpZighUyhuKSlyZXR1cm5bXTt2YXIgdD1bXTtmb3IodmFyIHIgaW4gbil0LnB1c2gocik7cmV0dXJuIGomJmFuKG4sdCksdH1mdW5jdGlvbiB5bihuKXt2YXIgdD1vbihuKTtyZXR1cm4gZnVuY3Rpb24ocil7aWYobnVsbD09cilyZXR1cm4hMTt2YXIgZT1kbihyKTtpZihvbihlKSlyZXR1cm4hMTtmb3IodmFyIHU9MDt1PHQ7dSsrKWlmKCFXKHJbblt1XV0pKXJldHVybiExO3JldHVybiBuIT09am58fCFXKHJbZ25dKX19dmFyIGduPSJmb3JFYWNoIixtbj1bImNsZWFyIiwiZGVsZXRlIl0sYm49WyJnZXQiLCJoYXMiLCJzZXQiXSx3bj1tbi5jb25jYXQoZ24sYm4pLGpuPW1uLmNvbmNhdChibikseG49WyJhZGQiXS5jb25jYXQobW4sZ24sImhhcyIpO2NvbnN0IEFuPUs/eW4od24pOkIoIk1hcCIpLF9uPUs/eW4oam4pOkIoIldlYWtNYXAiKSxTbj1LP3luKHhuKTpCKCJTZXQiKSxPbj1CKCJXZWFrU2V0Iik7ZnVuY3Rpb24gRW4obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPW5bdFt1XV07cmV0dXJuIGV9ZnVuY3Rpb24ga24obil7Zm9yKHZhciB0PWNuKG4pLHI9dC5sZW5ndGgsZT1BcnJheShyKSx1PTA7dTxyO3UrKyllW3VdPVt0W3VdLG5bdFt1XV1dO3JldHVybiBlfWZ1bmN0aW9uIE1uKG4pe2Zvcih2YXIgdD17fSxyPWNuKG4pLGU9MCx1PXIubGVuZ3RoO2U8dTtlKyspdFtuW3JbZV1dXT1yW2VdO3JldHVybiB0fWZ1bmN0aW9uIEJuKG4pe3ZhciB0PVtdO2Zvcih2YXIgciBpbiBuKVcobltyXSkmJnQucHVzaChyKTtyZXR1cm4gdC5zb3J0KCl9ZnVuY3Rpb24gSW4obix0KXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtpZih0JiYocj1PYmplY3QocikpLGU8Mnx8bnVsbD09cilyZXR1cm4gcjtmb3IodmFyIHU9MTt1PGU7dSsrKWZvcih2YXIgaT1hcmd1bWVudHNbdV0sbz1uKGkpLGE9by5sZW5ndGgsYz0wO2M8YTtjKyspe3ZhciBmPW9bY107dCYmdm9pZCAwIT09cltmXXx8KHJbZl09aVtmXSl9cmV0dXJuIHJ9fWNvbnN0IE5uPUluKGRuKSxEbj1JbihjbiksUm49SW4oZG4sITApO2Z1bmN0aW9uIFRuKG4pe2lmKCFTKG4pKXJldHVybnt9O2lmKGcpcmV0dXJuIGcobik7dmFyIHQ9ZnVuY3Rpb24oKXt9O3QucHJvdG90eXBlPW47dmFyIHI9bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPW51bGwscn1mdW5jdGlvbiBWbihuLHQpe3ZhciByPVRuKG4pO3JldHVybiB0JiZEbihyLHQpLHJ9ZnVuY3Rpb24gRm4obil7cmV0dXJuIFMobik/JChuKT9uLnNsaWNlKCk6Tm4oe30sbik6bn1mdW5jdGlvbiBxbihuLHQpe3JldHVybiB0KG4pLG59ZnVuY3Rpb24gem4obil7cmV0dXJuICQobik/bjpbbl19ZnVuY3Rpb24gV24obil7cmV0dXJuIHNuLnRvUGF0aChuKX1mdW5jdGlvbiBQbihuLHQpe2Zvcih2YXIgcj10Lmxlbmd0aCxlPTA7ZTxyO2UrKyl7aWYobnVsbD09bilyZXR1cm47bj1uW3RbZV1dfXJldHVybiByP246dm9pZCAwfWZ1bmN0aW9uIFVuKG4sdCxyKXt2YXIgZT1QbihuLFduKHQpKTtyZXR1cm4gRShlKT9yOmV9ZnVuY3Rpb24gS24obix0KXtmb3IodmFyIHI9KHQ9V24odCkpLmxlbmd0aCxlPTA7ZTxyO2UrKyl7dmFyIHU9dFtlXTtpZighSihuLHUpKXJldHVybiExO249blt1XX1yZXR1cm4hIXJ9ZnVuY3Rpb24gTG4obil7cmV0dXJuIG59ZnVuY3Rpb24gQ24obil7cmV0dXJuIG49RG4oe30sbiksZnVuY3Rpb24odCl7cmV0dXJuIGxuKHQsbil9fWZ1bmN0aW9uICRuKG4pe3JldHVybiBuPVduKG4pLGZ1bmN0aW9uKHQpe3JldHVybiBQbih0LG4pfX1mdW5jdGlvbiBKbihuLHQscil7aWYodm9pZCAwPT09dClyZXR1cm4gbjtzd2l0Y2gocj8/Myl7Y2FzZSAxOnJldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gbi5jYWxsKHQscil9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24ocixlLHUpe3JldHVybiBuLmNhbGwodCxyLGUsdSl9O2Nhc2UgNDpyZXR1cm4gZnVuY3Rpb24ocixlLHUsaSl7cmV0dXJuIG4uY2FsbCh0LHIsZSx1LGkpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0LGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEduKG4sdCxyKXtyZXR1cm4gbnVsbD09bj9MbjpXKG4pP0puKG4sdCxyKTpTKG4pJiYhJChuKT9DbihuKTokbihuKX1mdW5jdGlvbiBIbihuLHQpe3JldHVybiBHbihuLHQsMS8wKX1mdW5jdGlvbiBRbihuLHQscil7cmV0dXJuIHNuLml0ZXJhdGVlIT09SG4/c24uaXRlcmF0ZWUobix0KTpHbihuLHQscil9ZnVuY3Rpb24gWG4obix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9Y24obiksdT1lLmxlbmd0aCxpPXt9LG89MDtvPHU7bysrKXt2YXIgYT1lW29dO2lbYV09dChuW2FdLGEsbil9cmV0dXJuIGl9ZnVuY3Rpb24gWW4oKXt9ZnVuY3Rpb24gWm4obil7cmV0dXJuIG51bGw9PW4/WW46ZnVuY3Rpb24odCl7cmV0dXJuIFVuKG4sdCl9fWZ1bmN0aW9uIG50KG4sdCxyKXt2YXIgZT1BcnJheShNYXRoLm1heCgwLG4pKTt0PUpuKHQsciwxKTtmb3IodmFyIHU9MDt1PG47dSsrKWVbdV09dCh1KTtyZXR1cm4gZX1mdW5jdGlvbiB0dChuLHQpe3JldHVybiBudWxsPT10JiYodD1uLG49MCksbitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKHQtbisxKSl9c24udG9QYXRoPXpuLHNuLml0ZXJhdGVlPUhuO2NvbnN0IHJ0PURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfTtmdW5jdGlvbiBldChuKXt2YXIgdD1mdW5jdGlvbih0KXtyZXR1cm4gblt0XX0scj0iKD86IitjbihuKS5qb2luKCJ8IikrIikiLGU9UmVnRXhwKHIpLHU9UmVnRXhwKHIsImciKTtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG49bnVsbD09bj8iIjoiIituLGUudGVzdChuKT9uLnJlcGxhY2UodSx0KTpufX1jb25zdCB1dD17IiYiOiImYW1wOyIsCiI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIiciOiImI3gyNzsiLCJgIjoiJiN4NjA7In0saXQ9ZXQodXQpLG90PWV0KE1uKHV0KSksYXQ9c24udGVtcGxhdGVTZXR0aW5ncz17ZXZhbHVhdGU6LzwlKFtcc1xTXSs/KSU+L2csaW50ZXJwb2xhdGU6LzwlPShbXHNcU10rPyklPi9nLGVzY2FwZTovPCUtKFtcc1xTXSs/KSU+L2d9O3ZhciBjdD0vKC4pXi8sZnQ9eyInIjoiJyIsIlxcIjoiXFwiLCJcciI6InIiLCJcbiI6Im4iLCJcdTIwMjgiOiJ1MjAyOCIsIlx1MjAyOSI6InUyMDI5In0sbHQ9L1xcfCd8XHJ8XG58XHUyMDI4fFx1MjAyOS9nO2Z1bmN0aW9uIHN0KG4pe3JldHVybiJcXCIrZnRbbl19dmFyIHB0PS9eXHMqKFx3fFwkKStccyokLztmdW5jdGlvbiBodChuLHQscil7IXQmJnImJih0PXIpLHQ9Um4oe30sdCxzbi50ZW1wbGF0ZVNldHRpbmdzKTt2YXIgZT1SZWdFeHAoWyh0LmVzY2FwZXx8Y3QpLnNvdXJjZSwodC5pbnRlcnBvbGF0ZXx8Y3QpLnNvdXJjZSwodC5ldmFsdWF0ZXx8Y3QpLnNvdXJjZV0uam9pbigifCIpKyJ8JCIsImciKSx1PTAsaT0iX19wKz0nIjtuLnJlcGxhY2UoZSwoZnVuY3Rpb24odCxyLGUsbyxhKXtyZXR1cm4gaSs9bi5zbGljZSh1LGEpLnJlcGxhY2UobHQsc3QpLHU9YSt0Lmxlbmd0aCxyP2krPSInK1xuKChfX3Q9KCIrcisiKSk9PW51bGw/Jyc6Xy5lc2NhcGUoX190KSkrXG4nIjplP2krPSInK1xuKChfX3Q9KCIrZSsiKSk9PW51bGw/Jyc6X190KStcbiciOm8mJihpKz0iJztcbiIrbysiXG5fX3ArPSciKSx0fSkpLGkrPSInO1xuIjt2YXIgbyxhPXQudmFyaWFibGU7aWYoYSl7aWYoIXB0LnRlc3QoYSkpdGhyb3cgbmV3IEVycm9yKCJ2YXJpYWJsZSBpcyBub3QgYSBiYXJlIGlkZW50aWZpZXI6ICIrYSl9ZWxzZSBpPSJ3aXRoKG9ianx8e30pe1xuIitpKyJ9XG4iLGE9Im9iaiI7aT0idmFyIF9fdCxfX3A9JycsX19qPUFycmF5LnByb3RvdHlwZS5qb2luLHByaW50PWZ1bmN0aW9uKCl7X19wKz1fX2ouY2FsbChhcmd1bWVudHMsJycpO307XG4iK2krInJldHVybiBfX3A7XG4iO3RyeXtvPW5ldyBGdW5jdGlvbihhLCJfIixpKX1jYXRjaChuKXt0aHJvdyBuLnNvdXJjZT1pLG59dmFyIGM9ZnVuY3Rpb24obil7cmV0dXJuIG8uY2FsbCh0aGlzLG4sc24pfTtyZXR1cm4gYy5zb3VyY2U9ImZ1bmN0aW9uKCIrYSsiKXtcbiIraSsifSIsY31mdW5jdGlvbiB2dChuLHQscil7dmFyIGU9KHQ9V24odCkpLmxlbmd0aDtpZighZSlyZXR1cm4gVyhyKT9yLmNhbGwobik6cjtmb3IodmFyIHU9MDt1PGU7dSsrKXt2YXIgaT1udWxsPT1uP3ZvaWQgMDpuW3RbdV1dO3ZvaWQgMD09PWkmJihpPXIsdT1lKSxuPVcoaSk/aS5jYWxsKG4pOml9cmV0dXJuIG59dmFyIGR0PTA7ZnVuY3Rpb24geXQobil7dmFyIHQ9KytkdCsiIjtyZXR1cm4gbj9uK3Q6dH1mdW5jdGlvbiBndChuKXt2YXIgdD1zbihuKTtyZXR1cm4gdC5fY2hhaW49ITAsdH1mdW5jdGlvbiBtdChuLHQscixlLHUpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXJldHVybiBuLmFwcGx5KHIsdSk7dmFyIGk9VG4obi5wcm90b3R5cGUpLG89bi5hcHBseShpLHUpO3JldHVybiBTKG8pP286aX12YXIgYnQ9XygoZnVuY3Rpb24obix0KXt2YXIgcj1idC5wbGFjZWhvbGRlcixlPWZ1bmN0aW9uKCl7Zm9yKHZhciB1PTAsaT10Lmxlbmd0aCxvPUFycmF5KGkpLGE9MDthPGk7YSsrKW9bYV09dFthXT09PXI/YXJndW1lbnRzW3UrK106dFthXTtmb3IoO3U8YXJndW1lbnRzLmxlbmd0aDspby5wdXNoKGFyZ3VtZW50c1t1KytdKTtyZXR1cm4gbXQobixlLHRoaXMsdGhpcyxvKX07cmV0dXJuIGV9KSk7YnQucGxhY2Vob2xkZXI9c247Y29uc3Qgd3Q9YnQsanQ9XygoZnVuY3Rpb24obix0LHIpe2lmKCFXKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkJpbmQgbXVzdCBiZSBjYWxsZWQgb24gYSBmdW5jdGlvbiIpO3ZhciBlPV8oKGZ1bmN0aW9uKHUpe3JldHVybiBtdChuLGUsdCx0aGlzLHIuY29uY2F0KHUpKX0pKTtyZXR1cm4gZX0pKSx4dD1aKG9uKTtmdW5jdGlvbiBBdChuLHQscil7dHx8MD09PXR8fCh0PTEvMCk7Zm9yKHZhciBlPVtdLHU9MCxpPTAsbz1vbihuKXx8MCxhPVtdOzspaWYoaT49byl7aWYoIWEubGVuZ3RoKWJyZWFrO3ZhciBjPWEucG9wKCk7aT1jLmksbj1jLnYsbz1vbihuKX1lbHNle3ZhciBmPW5baSsrXTthLmxlbmd0aD49dD9lW3UrK109Zjp4dChmKSYmKCQoZil8fEgoZikpPyhhLnB1c2goe2ksdjpufSksaT0wLG89b24obj1mKSk6cnx8KGVbdSsrXT1mKX1yZXR1cm4gZX1jb25zdCBfdD1fKChmdW5jdGlvbihuLHQpe3ZhciByPSh0PUF0KHQsITEsITEpKS5sZW5ndGg7aWYocjwxKXRocm93IG5ldyBFcnJvcigiYmluZEFsbCBtdXN0IGJlIHBhc3NlZCBmdW5jdGlvbiBuYW1lcyIpO2Zvcig7ci0tOyl7dmFyIGU9dFtyXTtuW2VdPWp0KG5bZV0sbil9cmV0dXJuIG59KSk7ZnVuY3Rpb24gU3Qobix0KXt2YXIgcj1mdW5jdGlvbihlKXt2YXIgdT1yLmNhY2hlLGk9IiIrKHQ/dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSk7cmV0dXJuIEoodSxpKXx8KHVbaV09bi5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHVbaV19O3JldHVybiByLmNhY2hlPXt9LHJ9Y29uc3QgT3Q9XygoZnVuY3Rpb24obix0LHIpe3JldHVybiBzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KG51bGwscil9KSx0KX0pKSxFdD13dChPdCxzbiwxKTtmdW5jdGlvbiBrdChuLHQscil7dmFyIGUsdSxpLG8sYT0wO3J8fChyPXt9KTt2YXIgYz1mdW5jdGlvbigpe2E9ITE9PT1yLmxlYWRpbmc/MDpydCgpLGU9bnVsbCxvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpfSxmPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKTthfHwhMSE9PXIubGVhZGluZ3x8KGE9Zik7dmFyIGw9dC0oZi1hKTtyZXR1cm4gdT10aGlzLGk9YXJndW1lbnRzLGw8PTB8fGw+dD8oZSYmKGNsZWFyVGltZW91dChlKSxlPW51bGwpLGE9ZixvPW4uYXBwbHkodSxpKSxlfHwodT1pPW51bGwpKTplfHwhMT09PXIudHJhaWxpbmd8fChlPXNldFRpbWVvdXQoYyxsKSksb307cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGE9MCxlPXU9aT1udWxsfSxmfQpmdW5jdGlvbiBNdChuLHQscil7dmFyIGUsdSxpLG8sYSxjPWZ1bmN0aW9uKCl7dmFyIGY9cnQoKS11O3Q+Zj9lPXNldFRpbWVvdXQoYyx0LWYpOihlPW51bGwscnx8KG89bi5hcHBseShhLGkpKSxlfHwoaT1hPW51bGwpKX0sZj1fKChmdW5jdGlvbihmKXtyZXR1cm4gYT10aGlzLGk9Zix1PXJ0KCksZXx8KGU9c2V0VGltZW91dChjLHQpLHImJihvPW4uYXBwbHkoYSxpKSkpLG99KSk7cmV0dXJuIGYuY2FuY2VsPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGUpLGU9aT1hPW51bGx9LGZ9ZnVuY3Rpb24gQnQobix0KXtyZXR1cm4gd3QodCxuKX1mdW5jdGlvbiBJdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIE50KCl7dmFyIG49YXJndW1lbnRzLHQ9bi5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9dCxlPW5bdF0uYXBwbHkodGhpcyxhcmd1bWVudHMpO3ItLTspZT1uW3JdLmNhbGwodGhpcyxlKTtyZXR1cm4gZX19ZnVuY3Rpb24gRHQobix0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZigtLW48MSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIFJ0KG4sdCl7dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihyPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYodD1udWxsKSxyfX1jb25zdCBUdD13dChSdCwyKTtmdW5jdGlvbiBWdChuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZSx1PWNuKG4pLGk9MCxvPXUubGVuZ3RoO2k8bztpKyspaWYodChuW2U9dVtpXV0sZSxuKSlyZXR1cm4gZX1mdW5jdGlvbiBGdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUpe3I9UW4ocixlKTtmb3IodmFyIHU9b24odCksaT1uPjA/MDp1LTE7aT49MCYmaTx1O2krPW4paWYocih0W2ldLGksdCkpcmV0dXJuIGk7cmV0dXJuLTF9fWNvbnN0IHF0PUZ0KDEpLHp0PUZ0KC0xKTtmdW5jdGlvbiBXdChuLHQscixlKXtmb3IodmFyIHU9KHI9UW4ocixlLDEpKSh0KSxpPTAsbz1vbihuKTtpPG87KXt2YXIgYT1NYXRoLmZsb29yKChpK28pLzIpO3IoblthXSk8dT9pPWErMTpvPWF9cmV0dXJuIGl9ZnVuY3Rpb24gUHQobix0LHIpe3JldHVybiBmdW5jdGlvbihlLHUsaSl7dmFyIG89MCxhPW9uKGUpO2lmKCJudW1iZXIiPT10eXBlb2YgaSluPjA/bz1pPj0wP2k6TWF0aC5tYXgoaSthLG8pOmE9aT49MD9NYXRoLm1pbihpKzEsYSk6aSthKzE7ZWxzZSBpZihyJiZpJiZhKXJldHVybiBlW2k9cihlLHUpXT09PXU/aTotMTtpZih1IT11KXJldHVybihpPXQobC5jYWxsKGUsbyxhKSxYKSk+PTA/aStvOi0xO2ZvcihpPW4+MD9vOmEtMTtpPj0wJiZpPGE7aSs9bilpZihlW2ldPT09dSlyZXR1cm4gaTtyZXR1cm4tMX19Y29uc3QgVXQ9UHQoMSxxdCxXdCksS3Q9UHQoLTEsenQpO2Z1bmN0aW9uIEx0KG4sdCxyKXt2YXIgZT0oeHQobik/cXQ6VnQpKG4sdCxyKTtpZih2b2lkIDAhPT1lJiYtMSE9PWUpcmV0dXJuIG5bZV19ZnVuY3Rpb24gQ3Qobix0KXtyZXR1cm4gTHQobixDbih0KSl9ZnVuY3Rpb24gJHQobix0LHIpe3ZhciBlLHU7aWYodD1Kbih0LHIpLHh0KG4pKWZvcihlPTAsdT1uLmxlbmd0aDtlPHU7ZSsrKXQobltlXSxlLG4pO2Vsc2V7dmFyIGk9Y24obik7Zm9yKGU9MCx1PWkubGVuZ3RoO2U8dTtlKyspdChuW2lbZV1dLGlbZV0sbil9cmV0dXJuIG59ZnVuY3Rpb24gSnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT1BcnJheSh1KSxvPTA7bzx1O28rKyl7dmFyIGE9ZT9lW29dOm87aVtvXT10KG5bYV0sYSxuKX1yZXR1cm4gaX1mdW5jdGlvbiBHdChuKXtyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD49MztyZXR1cm4gZnVuY3Rpb24odCxyLGUsdSl7dmFyIGk9IXh0KHQpJiZjbih0KSxvPShpfHx0KS5sZW5ndGgsYT1uPjA/MDpvLTE7Zm9yKHV8fChlPXRbaT9pW2FdOmFdLGErPW4pO2E+PTAmJmE8bzthKz1uKXt2YXIgYz1pP2lbYV06YTtlPXIoZSx0W2NdLGMsdCl9cmV0dXJuIGV9KHQsSm4ocix1LDQpLGUsaSl9fWNvbnN0IEh0PUd0KDEpLFF0PUd0KC0xKTtmdW5jdGlvbiBYdChuLHQscil7dmFyIGU9W107cmV0dXJuIHQ9UW4odCxyKSwkdChuLChmdW5jdGlvbihuLHIsdSl7dChuLHIsdSkmJmUucHVzaChuKX0pKSxlfWZ1bmN0aW9uIFl0KG4sdCxyKXtyZXR1cm4gWHQobixJdChRbih0KSkscil9ZnVuY3Rpb24gWnQobix0LHIpe3Q9UW4odCxyKTtmb3IodmFyIGU9IXh0KG4pJiZjbihuKSx1PShlfHxuKS5sZW5ndGgsaT0wO2k8dTtpKyspe3ZhciBvPWU/ZVtpXTppO2lmKCF0KG5bb10sbyxuKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBucihuLHQscil7dD1Rbih0LHIpO2Zvcih2YXIgZT0heHQobikmJmNuKG4pLHU9KGV8fG4pLmxlbmd0aCxpPTA7aTx1O2krKyl7dmFyIG89ZT9lW2ldOmk7aWYodChuW29dLG8sbikpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdHIobix0LHIsZSl7cmV0dXJuIHh0KG4pfHwobj1FbihuKSksKCJudW1iZXIiIT10eXBlb2Ygcnx8ZSkmJihyPTApLFV0KG4sdCxyKT49MH1jb25zdCBycj1fKChmdW5jdGlvbihuLHQscil7dmFyIGUsdTtyZXR1cm4gVyh0KT91PXQ6KHQ9V24odCksZT10LnNsaWNlKDAsLTEpLHQ9dFt0Lmxlbmd0aC0xXSksSnQobiwoZnVuY3Rpb24obil7dmFyIGk9dTtpZighaSl7aWYoZSYmZS5sZW5ndGgmJihuPVBuKG4sZSkpLG51bGw9PW4pcmV0dXJuO2k9blt0XX1yZXR1cm4gbnVsbD09aT9pOmkuYXBwbHkobixyKX0pKX0pKTtmdW5jdGlvbiBlcihuLHQpe3JldHVybiBKdChuLCRuKHQpKX1mdW5jdGlvbiB1cihuLHQpe3JldHVybiBYdChuLENuKHQpKX1mdW5jdGlvbiBpcihuLHQscil7dmFyIGUsdSxpPS0xLzAsbz0tMS8wO2lmKG51bGw9PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmIm9iamVjdCIhPXR5cGVvZiBuWzBdJiZudWxsIT1uKWZvcih2YXIgYT0wLGM9KG49eHQobik/bjpFbihuKSkubGVuZ3RoO2E8YzthKyspbnVsbCE9KGU9blthXSkmJmU+aSYmKGk9ZSk7ZWxzZSB0PVFuKHQsciksJHQobiwoZnVuY3Rpb24obixyLGUpewooKHU9dChuLHIsZSkpPm98fHU9PT0tMS8wJiZpPT09LTEvMCkmJihpPW4sbz11KX0pKTtyZXR1cm4gaX1mdW5jdGlvbiBvcihuLHQscil7dmFyIGUsdSxpPTEvMCxvPTEvMDtpZihudWxsPT10fHwibnVtYmVyIj09dHlwZW9mIHQmJiJvYmplY3QiIT10eXBlb2YgblswXSYmbnVsbCE9bilmb3IodmFyIGE9MCxjPShuPXh0KG4pP246RW4obikpLmxlbmd0aDthPGM7YSsrKW51bGwhPShlPW5bYV0pJiZlPGkmJihpPWUpO2Vsc2UgdD1Rbih0LHIpLCR0KG4sKGZ1bmN0aW9uKG4scixlKXsoKHU9dChuLHIsZSkpPG98fHU9PT0xLzAmJmk9PT0xLzApJiYoaT1uLG89dSl9KSk7cmV0dXJuIGl9dmFyIGFyPS9bXlx1ZDgwMC1cdWRmZmZdfFtcdWQ4MDAtXHVkYmZmXVtcdWRjMDAtXHVkZmZmXXxbXHVkODAwLVx1ZGZmZl0vZztmdW5jdGlvbiBjcihuKXtyZXR1cm4gbj8kKG4pP2wuY2FsbChuKTpJKG4pP24ubWF0Y2goYXIpOnh0KG4pP0p0KG4sTG4pOkVuKG4pOltdfWZ1bmN0aW9uIGZyKG4sdCxyKXtpZihudWxsPT10fHxyKXJldHVybiB4dChuKXx8KG49RW4obikpLG5bdHQobi5sZW5ndGgtMSldO3ZhciBlPWNyKG4pLHU9b24oZSk7dD1NYXRoLm1heChNYXRoLm1pbih0LHUpLDApO2Zvcih2YXIgaT11LTEsbz0wO288dDtvKyspe3ZhciBhPXR0KG8saSksYz1lW29dO2Vbb109ZVthXSxlW2FdPWN9cmV0dXJuIGUuc2xpY2UoMCx0KX1mdW5jdGlvbiBscihuKXtyZXR1cm4gZnIobiwxLzApfWZ1bmN0aW9uIHNyKG4sdCxyKXt2YXIgZT0wO3JldHVybiB0PVFuKHQsciksZXIoSnQobiwoZnVuY3Rpb24obixyLHUpe3JldHVybnt2YWx1ZTpuLGluZGV4OmUrKyxjcml0ZXJpYTp0KG4scix1KX19KSkuc29ydCgoZnVuY3Rpb24obix0KXt2YXIgcj1uLmNyaXRlcmlhLGU9dC5jcml0ZXJpYTtpZihyIT09ZSl7aWYocj5lfHx2b2lkIDA9PT1yKXJldHVybiAxO2lmKHI8ZXx8dm9pZCAwPT09ZSlyZXR1cm4tMX1yZXR1cm4gbi5pbmRleC10LmluZGV4fSkpLCJ2YWx1ZSIpfWZ1bmN0aW9uIHByKG4sdCl7cmV0dXJuIGZ1bmN0aW9uKHIsZSx1KXt2YXIgaT10P1tbXSxbXV06e307cmV0dXJuIGU9UW4oZSx1KSwkdChyLChmdW5jdGlvbih0LHUpe3ZhciBvPWUodCx1LHIpO24oaSx0LG8pfSkpLGl9fWNvbnN0IGhyPXByKChmdW5jdGlvbihuLHQscil7SihuLHIpP25bcl0ucHVzaCh0KTpuW3JdPVt0XX0pKSx2cj1wcigoZnVuY3Rpb24obix0LHIpe25bcl09dH0pKSxkcj1wcigoZnVuY3Rpb24obix0LHIpe0oobixyKT9uW3JdKys6bltyXT0xfSkpLHlyPXByKChmdW5jdGlvbihuLHQscil7bltyPzA6MV0ucHVzaCh0KX0pLCEwKTtmdW5jdGlvbiBncihuKXtyZXR1cm4gbnVsbD09bj8wOnh0KG4pP24ubGVuZ3RoOmNuKG4pLmxlbmd0aH1mdW5jdGlvbiBtcihuLHQscil7cmV0dXJuIHQgaW4gcn1jb25zdCBicj1fKChmdW5jdGlvbihuLHQpe3ZhciByPXt9LGU9dFswXTtpZihudWxsPT1uKXJldHVybiByO1coZSk/KHQubGVuZ3RoPjEmJihlPUpuKGUsdFsxXSkpLHQ9ZG4obikpOihlPW1yLHQ9QXQodCwhMSwhMSksbj1PYmplY3QobikpO2Zvcih2YXIgdT0wLGk9dC5sZW5ndGg7dTxpO3UrKyl7dmFyIG89dFt1XSxhPW5bb107ZShhLG8sbikmJihyW29dPWEpfXJldHVybiByfSkpLHdyPV8oKGZ1bmN0aW9uKG4sdCl7dmFyIHIsZT10WzBdO3JldHVybiBXKGUpPyhlPUl0KGUpLHQubGVuZ3RoPjEmJihyPXRbMV0pKToodD1KdChBdCh0LCExLCExKSxTdHJpbmcpLGU9ZnVuY3Rpb24obixyKXtyZXR1cm4hdHIodCxyKX0pLGJyKG4sZSxyKX0pKTtmdW5jdGlvbiBqcihuLHQscil7cmV0dXJuIGwuY2FsbChuLDAsTWF0aC5tYXgoMCxuLmxlbmd0aC0obnVsbD09dHx8cj8xOnQpKSl9ZnVuY3Rpb24geHIobix0LHIpe3JldHVybiBudWxsPT1ufHxuLmxlbmd0aDwxP251bGw9PXR8fHI/dm9pZCAwOltdOm51bGw9PXR8fHI/blswXTpqcihuLG4ubGVuZ3RoLXQpfWZ1bmN0aW9uIEFyKG4sdCxyKXtyZXR1cm4gbC5jYWxsKG4sbnVsbD09dHx8cj8xOnQpfWZ1bmN0aW9uIF9yKG4sdCxyKXtyZXR1cm4gbnVsbD09bnx8bi5sZW5ndGg8MT9udWxsPT10fHxyP3ZvaWQgMDpbXTpudWxsPT10fHxyP25bbi5sZW5ndGgtMV06QXIobixNYXRoLm1heCgwLG4ubGVuZ3RoLXQpKX1mdW5jdGlvbiBTcihuKXtyZXR1cm4gWHQobixCb29sZWFuKX1mdW5jdGlvbiBPcihuLHQpe3JldHVybiBBdChuLHQsITEpfWNvbnN0IEVyPV8oKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ9QXQodCwhMCwhMCksWHQobiwoZnVuY3Rpb24obil7cmV0dXJuIXRyKHQsbil9KSl9KSksa3I9XygoZnVuY3Rpb24obix0KXtyZXR1cm4gRXIobix0KX0pKTtmdW5jdGlvbiBNcihuLHQscixlKXtrKHQpfHwoZT1yLHI9dCx0PSExKSxudWxsIT1yJiYocj1RbihyLGUpKTtmb3IodmFyIHU9W10saT1bXSxvPTAsYT1vbihuKTtvPGE7bysrKXt2YXIgYz1uW29dLGY9cj9yKGMsbyxuKTpjO3QmJiFyPyhvJiZpPT09Znx8dS5wdXNoKGMpLGk9Zik6cj90cihpLGYpfHwoaS5wdXNoKGYpLHUucHVzaChjKSk6dHIodSxjKXx8dS5wdXNoKGMpfXJldHVybiB1fWNvbnN0IEJyPV8oKGZ1bmN0aW9uKG4pe3JldHVybiBNcihBdChuLCEwLCEwKSl9KSk7ZnVuY3Rpb24gSXIobil7Zm9yKHZhciB0PVtdLHI9YXJndW1lbnRzLmxlbmd0aCxlPTAsdT1vbihuKTtlPHU7ZSsrKXt2YXIgaT1uW2VdO2lmKCF0cih0LGkpKXt2YXIgbztmb3Iobz0xO288ciYmdHIoYXJndW1lbnRzW29dLGkpO28rKyk7bz09PXImJnQucHVzaChpKX19cmV0dXJuIHR9ZnVuY3Rpb24gTnIobil7Zm9yKHZhciB0PW4mJmlyKG4sb24pLmxlbmd0aHx8MCxyPUFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09ZXIobixlKTtyZXR1cm4gcn1jb25zdCBEcj1fKE5yKTtmdW5jdGlvbiBScihuLHQpe2Zvcih2YXIgcj17fSxlPTAsdT1vbihuKTtlPHU7ZSsrKXQ/cltuW2VdXT10W2VdOnJbbltlXVswXV09bltlXVsxXTtyZXR1cm4gcn1mdW5jdGlvbiBUcihuLHQscil7bnVsbD09dCYmKHQ9bnx8MCxuPTApLHJ8fChyPXQ8bj8tMToxKTtmb3IodmFyIGU9TWF0aC5tYXgoTWF0aC5jZWlsKCh0LW4pL3IpLDApLHU9QXJyYXkoZSksaT0wO2k8ZTtpKyssbis9cil1W2ldPW4KO3JldHVybiB1fWZ1bmN0aW9uIFZyKG4sdCl7aWYobnVsbD09dHx8dDwxKXJldHVybltdO2Zvcih2YXIgcj1bXSxlPTAsdT1uLmxlbmd0aDtlPHU7KXIucHVzaChsLmNhbGwobixlLGUrPXQpKTtyZXR1cm4gcn1mdW5jdGlvbiBGcihuLHQpe3JldHVybiBuLl9jaGFpbj9zbih0KS5jaGFpbigpOnR9ZnVuY3Rpb24gcXIobil7cmV0dXJuICR0KEJuKG4pLChmdW5jdGlvbih0KXt2YXIgcj1zblt0XT1uW3RdO3NuLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3ZhciBuPVt0aGlzLl93cmFwcGVkXTtyZXR1cm4gZi5hcHBseShuLGFyZ3VtZW50cyksRnIodGhpcyxyLmFwcGx5KHNuLG4pKX19KSksc259JHQoWyJwb3AiLCJwdXNoIiwicmV2ZXJzZSIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgcj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1yJiYodC5hcHBseShyLGFyZ3VtZW50cyksInNoaWZ0IiE9PW4mJiJzcGxpY2UiIT09bnx8MCE9PXIubGVuZ3RofHxkZWxldGUgclswXSksRnIodGhpcyxyKX19KSksJHQoWyJjb25jYXQiLCJqb2luIiwic2xpY2UiXSwoZnVuY3Rpb24obil7dmFyIHQ9b1tuXTtzbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl93cmFwcGVkO3JldHVybiBudWxsIT1uJiYobj10LmFwcGx5KG4sYXJndW1lbnRzKSksRnIodGhpcyxuKX19KSk7Y29uc3QgenI9c247dmFyIFdyPXFyKGUpO1dyLl89V3I7Y29uc3QgUHI9V3J9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.740Z","timestamp":1785136428740,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/error-renderer.dc2ce717d0e5028b35fc.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-3007\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: be3e393ffa1329e4e15a14b1d2b32c66\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12295,"size_decoded":5518,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3067)","md5":"1c7314ec5698d1269fcf3fe8e9d48648","sha1":"d1fb17b9e771bd250914284740cc34a81547b91d","sha256":"bd627f042740901d7be3db9685ce7831516e3f188779cc4a1ae7dbaa6fd32b74","sha512":"1b164cef2eadd5807eaaff6a71f636a4c6c0f4974124302f30b8eeb70e2bf37fee66589a465b1619919462a2a0c3d3c5336d900152e91200950f0205b73d7452","ssdeep":"384:iBaD9U0gstXMY5/BUFXXRn8XaTigVaft1nglXBxEiS1WCSELCg4N:iBaD20gst8Y5/BUj8XmV+tyLCsCSEM","tlshash":"4042f7a462dab965636201cae474b813b22c2d02348d86a8f72c9dcf371cd41f57d776","first_seen":"2026-07-22T16:00:00.456338Z","last_seen":"2026-07-28T06:17:53.573257Z","times_seen":148,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjA5NjksNzExODUsNzQzNDFdLHs5MDEwMjIoZSx0LHIpe3IuZCh0LHtTRVBBUkFUT1JfUFJFRklYOigpPT5zLGlzU2VwYXJhdG9ySXRlbTooKT0+bn0pO2NvbnN0IHM9IiMjIyI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKHMpfX0sMTI4ODE0KGUsdCxyKXtyLmQodCx7UXVvdGVTZXNzaW9uU25hcHNob3RlcjooKT0+ZH0pO3ZhciBzPXIoOTQ4MzgwKSxuPXIoMTUwMTUwKSxvPXIoMjE0OTg3KSxhPXIoMTM4NjM4KSxpPXIoMzY3OTQ2KSxsPXIoOTcwNzc0KSxjPXIoMzA5MDUyKTtjb25zdCB1PW5ldyBNYXAoW1siY2hhbmdlIiwiY2giXSxbImxhc3RfcHJpY2UiLCJscCJdLFsiY2hhbmdlX3BlcmNlbnQiLCJjaHAiXSxbInVwZGF0ZV9tb2RlX3NlY29uZHMiLG51bGxdXSk7bmV3IE1hcChbWyJjaCIsImNoYW5nZSJdLFsibHAiLCJsYXN0X3ByaWNlIl0sWyJjaHAiLCJjaGFuZ2VfcGVyY2VudCJdXSk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXtpZih0aGlzLl9vblN5bWJvbERhdGE9bmV3IHMuRGVsZWdhdGUsdGhpcy5faW5jb21wbGV0ZT1uZXcgU2V0LHRoaXMuX3VwZGF0ZWRGaWVsZHM9bmV3IE1hcCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsLHRoaXMuX2hhbmRsZXI9ZT0+e3N3aXRjaChlLm1ldGhvZCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLl9oYW5kbGVDb25uZWN0ZWQoKSk7YnJlYWs7Y2FzZSJxdW90ZV9zeW1ib2xfZGF0YSI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVTeW1ib2xEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlInF1b3RlX2NvbXBsZXRlZCI6dGhpcy5fY29ubmVjdGVkJiZ0aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEoZS5wYXJhbXNbMF0pO2JyZWFrO2Nhc2UiZGlzY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYmF0Y2hlcj1udWxsKX19LDA9PT1lLmZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCdTdXBwb3J0IGZvciBlbXB0eSAiZmllbGRzIiBhcnJheSBpcyBub3QgaW1wbGVtZW50ZWQnKTtjb25zdHtwcm92aWRlcjp0PWwuUXVvdGVTZXNzaW9ufT1lO3RoaXMuX2ZpZWxkcz1uZXcgU2V0KGUuZmllbGRzKSx0aGlzLl9zZXNzaW9uPW5ldyB0KGUuYXBpLFsic25hcHNob3RlciIsZS5uYW1lLCgwLG4ucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMuX2hhbmRsZXIpfWdldFNuYXBzaG90U3luYyhlLHQpe2NvbnN0IHI9ZC5jYWNoZS5nZXQoZSk7cmV0dXJuIHImJnRoaXMuX2lzU25hcHNob3RSZWFkeShyLHtmaWVsZHM6dCx0aW1lc3RhbXA6bnVsbH0pP3I6bnVsbH1nZXRTbmFwc2hvdHNGb3JBbGxTeW5jKGUsdCl7cmV0dXJuIGUubWFwKChlPT50aGlzLmdldFNuYXBzaG90U3luYyhlLHQpKSl9Z2V0U25hcHNob3QoZSx0LHIpe2NvbnN0IHM9cj8uc2lnbmFsPz9udWxsLG49cj8uZnJlc2huZXNzLGk9dm9pZCAwIT09bj9EYXRlLm5vdygpLW46bnVsbDtyZXR1cm4gbmV3IFByb21pc2UoKChyLG4pPT57aWYocyYmcy5hYm9ydGVkKXRocm93KDAsby5jcmVhdGVBYm9ydEVycm9yKSgpO2NvbnN0IGw9KCk9Pnt0aGlzLl9vblN5bWJvbERhdGEudW5zdWJzY3JpYmUodGhpcyxjKSxuKCgwLG8uY3JlYXRlQWJvcnRFcnJvcikoKSl9LGM9KG49ZSk9PntpZihuIT09ZSlyZXR1cm47Y29uc3Qgbz1kLmNhY2hlLmdldChlKTtvJiZ0aGlzLl9pc1NuYXBzaG90UmVhZHkobyx7dGltZXN0YW1wOmksc3ltYm9sOmUsZmllbGRzOnR9KSYmKHRoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLGMpLHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixsKSxyKG8pKX07aWYoISgoKT0+e2NvbnN0IHM9ZC5jYWNoZS5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Y29uc3Qgbj0oMCxhLmVuc3VyZU5vdE51bGwpKGQuY2FjaGUuZ2V0VGltZXMoZSkpO3JldHVybiEhdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHN5bWJvbDplLHRpbWVzdGFtcDppLHRpbWVzOm59KSYmKHIocyksITApfSkoKSYmKHM/LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixsLHtvbmNlOiEwfSksdGhpcy5fb25TeW1ib2xEYXRhLnN1YnNjcmliZSh0aGlzLGMpLCF0aGlzLl9pbmNvbXBsZXRlLmhhcyhlKSkpe2lmKHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsbmV3IFNldCksdGhpcy5faW5jb21wbGV0ZS5hZGQoZSksIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47aWYobnVsbD09PXRoaXMuX2JhdGNoZXIpe2NvbnN0IHQ9dGhpcy5fYmF0Y2hlcj17c3ltYm9sczpuZXcgU2V0KFtlXSkscHJvbWlzZTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX2JhdGNoZXI9PT10JiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnQuc3ltYm9sc10pLHRoaXMuX2JhdGNoZXI9bnVsbCl9KSl9fWVsc2UgdGhpcy5fYmF0Y2hlci5zeW1ib2xzLmFkZChlKX19KSl9Z2V0U25hcHNob3RzRm9yQWxsKGUsdCxyKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3QoZSx0LHIpKSkpfXN0YXRpYyByZWxheChlKXtyZXR1cm4gZX1zdGF0aWMgaXNTdWNjZXNzKGUpe3JldHVybiJlcnJvciIhPT1lLnN0YXR1c31zdGF0aWMgaGFzQWxsRmllbGRzKGUsdCl7Zm9yKGNvbnN0IHIgb2YgQXJyYXkuZnJvbSh0KSlpZighZS5oYXNPd25Qcm9wZXJ0eShyKSlyZXR1cm4hMTtyZXR1cm4hMH1faXNTbmFwc2hvdFJlYWR5KGUsdCl7Y29uc3R7ZmllbGRzOnIsdGltZXN0YW1wOnMsdGltZXM6bixzeW1ib2w6b309dDtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXN8fChudWxsIT09cyYmbj90aGlzLl9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsbixyLHMpOm51bGwhPT1zJiZvP3RoaXMuX2lzQWxsRmllbGRzVXBkYXRlZChlLG8scik6dGhpcy5faGFzQWxsRmllbGRzKGUscikpfV9pc0FsbEZpZWxkc1VwZGF0ZWQoZSx0LHIpewppZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7Y29uc3Qgcz10aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KTtpZighc3x8IXMuc2l6ZSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKWlmKCFzLmhhcyhlKSlyZXR1cm4hMTtyZXR1cm4hMH1faGFzQWxsRmllbGRzKGUsdCl7cmV0dXJuIGQuaGFzQWxsRmllbGRzKGUudmFsdWVzLEFycmF5LmZyb20odCkpfV9pc0FsbEZpZWxkc1VwVG9EYXRlKGUsdCxyLHMpe2lmKCJlcnJvciI9PT1lLnN0YXR1cylyZXR1cm4hMDtpZighdClyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHIpKXtjb25zdCByPXQuZ2V0KGUpO2lmKCF0LmhhcyhlKXx8dm9pZCAwPT09cilyZXR1cm4hMTtpZihyPHMpcmV0dXJuITF9cmV0dXJuITB9X2hhbmRsZUNvbm5lY3RlZCgpe2lmKHRoaXMuX2ZpZWxkcy5zaXplPjApe2NvbnN0IGU9Wy4uLnRoaXMuX2ZpZWxkc10uZmxhdE1hcCgoZT0+e2NvbnN0IHQ9dS5nZXQoZSk7cmV0dXJuIG51bGwhPT10P3Q/P2U6W119KSk7dGhpcy5fc2Vzc2lvbi5xdW90ZVNldEZpZWxkcyhlKX10aGlzLl9pbmNvbXBsZXRlLnNpemU+MCYmdGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMoWy4uLnRoaXMuX2luY29tcGxldGVdKX1faGFuZGxlQ29tcGxldGVEYXRhKGUpe2NvbnN0IHQ9ZC5jYWNoZS5nZXQoZSk/P3tzeW1ib2xuYW1lOmUsc3RhdHVzOiJvayIsdmFsdWVzOnt9fTtkLmNhY2hlLnVwZGF0ZSh0LHRoaXMuX2ZpZWxkcywhMCksdGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSx0aGlzLl9maWVsZHMpLHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKFtlXSksdGhpcy5faW5jb21wbGV0ZS5kZWxldGUoZSksdGhpcy5fb25TeW1ib2xEYXRhLmZpcmUoZSl9X2hhbmRsZVN5bWJvbERhdGEoZSl7KDAsaS5ub3JtYWxpemVVcGRhdGVNb2RlKShlLnZhbHVlcyksZC5jYWNoZS51cGRhdGUoZSx0aGlzLl9maWVsZHMsITEpO2NvbnN0IHQ9ZS5zeW1ib2xuYW1lLHI9KDAsYS5lbnN1cmVEZWZpbmVkKSh0aGlzLl91cGRhdGVkRmllbGRzLmdldCh0KSkscz1uZXcgU2V0KHIpO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ZpZWxkcyllLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eSh0KSYmcy5hZGQodCk7dGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQodCxzKSwiZXJyb3IiPT09ZS5zdGF0dXM/dGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKHQpOnRoaXMuX29uU3ltYm9sRGF0YS5maXJlKHQpfX1kLmNhY2hlPWMuUVVPVEVfRklFTERTX0NBQ0hFfSw2MjM1MTEoZSx0LHIpe2Z1bmN0aW9uIHMoZSl7bGV0IHQ9bnVsbDtyZXR1cm4oKT0+KG51bGw9PT10JiYodD1lKCkpLHQpfXIuZCh0LHtsYXp5VmFsdWU6KCk9PnN9KX0sOTI5NDg4KGUsdCxyKXtyLmQodCx7aXNTZXBhcmF0b3JJdGVtOigpPT5ufSk7dmFyIHM9cig5MDEwMjIpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAscy5pc1NlcGFyYXRvckl0ZW0pKGUpfX0sMzIwNTUoZSx0LHIpe3Iucih0KSxyLmQodCx7cmVzb2x2ZVN5bWJvbE5hbWU6KCk9PmMscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGw6KCk9PnUscmVzb2x2ZVN5bWJvbE5hbWVGb3JBbGxEaXN0aW5jdDooKT0+ZCxzbmFwc2hvdGVyOigpPT5pfSk7dmFyIHM9cigxMjg4MTQpLG49cig2MjM1MTEpLG89cig5Mjk0ODgpO2NvbnN0IGE9bmV3IFNldChbInByb19uYW1lIiwiYmFzZV9uYW1lIiwic2hvcnRfbmFtZSIsImRlc2NyaXB0aW9uIiwidHlwZSIsImV4Y2hhbmdlIiwidHlwZXNwZWNzIiwibGlzdGVkX2V4Y2hhbmdlIiwibGFzdF9wcmljZSIsImNvdW50cnlfY29kZSIsInByb3ZpZGVyX2lkIiwic3ltYm9sLXByaW1hcnluYW1lIiwibG9nb2lkIiwibG9nbyIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwic291cmNlLWxvZ29pZCIsInVwZGF0ZV9tb2RlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInByb19wZXJtIiwic291cmNlIiwic291cmNlMiIsInByaWNlc2NhbGUiLCJtaW5tb3YiLCJmcmFjdGlvbmFsIiwidmlzaWJsZS1wbG90cy1zZXQiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwidW5kZXJseWluZy1zeW1ib2wiXSksaT0oMCxuLmxhenlWYWx1ZSkoKCgpPT5uZXcgcy5RdW90ZVNlc3Npb25TbmFwc2hvdGVyKHtuYW1lOiJiYXNpYy1zeW1ib2wtcXVvdGVzIixmaWVsZHM6Wy4uLmFdLGFwaTp3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZX0pKSksbD1uZXcgU2V0KFsicHJvX25hbWUiXSk7YXN5bmMgZnVuY3Rpb24gYyhlKXtyZXR1cm4oMCxvLmlzU2VwYXJhdG9ySXRlbSkoZSk/ZTppKCkuZ2V0U25hcHNob3QoZSxsKS50aGVuKChlPT4iZXJyb3IiPT09ZS5zdGF0dXM/ZS5zeW1ib2xuYW1lOmUudmFsdWVzLnByb19uYW1lKSl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5tYXAoYykpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHUoZSkudGhlbigoZT0+Wy4uLm5ldyBTZXQoZSldKSl9fSw0OTAyMDQoZSx0LHIpe3IuZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+bn0pO3ZhciBzPXIoMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1hd2FpdCgwLHMuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IHI9dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIHJ8fG51bGx9fSwyNDU4NjEoZSx0LHIpe3IuZCh0LHtFcnJvclJlbmRlcmVyOigpPT5FfSk7dmFyIHM9cigxODUyNzEpLG49cigyMjUyOTgpLG89cigyMDA2NjYpLGE9cig4MTA0MSksaT1yKDkzMDIzMSksbD1yKDk5NDU0MCksYz1yKDU3NzcxMyksdT1yKDkyNjk5NSksZD1yKDU1NDY1NCksaD1yKDQ5MDIwNCk7dmFyIHA9cig1NjkzOTgpLF89cigyMzIzNjQpLG09cig5NTI5MDApLHk9cig5NjI3MzcpLGI9cigxMjg5OTgpO2NvbnN0IGc9cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoOTc1ODApKTtmdW5jdGlvbiBmKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjoKcmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDg2MDM4OSkpLmZvcm1hdCh7aW50ZXJ2YWxzOih0PWUuc3VwcG9ydGVkUmVzb2x1dGlvbnMsdC5tYXAoKGU9PmUpKS5qb2luKCIsICIpKX0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDc3ODQ0OCkpO2Nhc2UidW5zdXBwb3J0ZWRfdGlja3MiOnJldHVybiBzLnQobnVsbCx2b2lkIDAscig1MjkzOTYpKX12YXIgdH1mdW5jdGlvbiBTKGUpe3N3aXRjaChlLnJlYXNvbil7Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNDY1MzEzKSk7Y2FzZSJsZXNzX3RoYW5fZnJlcXVlbmN5IjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoNTQxNTcwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOmUuYXBwbGljYWJsZVJlc29sdXRpb259KTtjYXNlInVuc3VwcG9ydGVkX3RpY2tzIjpyZXR1cm4gcy50KG51bGwsdm9pZCAwLHIoMjU1NzYzKSl9fWZ1bmN0aW9uIHYoZSl7c3dpdGNoKGUucmVhc29uKXtjYXNlInVuc3VwcG9ydGVkX3Jlc29sdXRpb24iOnJldHVybiBzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig4MjQzNDApKS5mb3JtYXQoe3Jlc29sdXRpb246ZS5hcHBsaWNhYmxlUmVzb2x1dGlvbn0pO2Nhc2UibGVzc190aGFuX2ZyZXF1ZW5jeSI6Y2FzZSJ1bnN1cHBvcnRlZF90aWNrcyI6cmV0dXJuIHMudChudWxsLHZvaWQgMCxyKDgzMDM4NSkpLmZvcm1hdCh7cmVzb2x1dGlvbjplLmFwcGxpY2FibGVSZXNvbHV0aW9ufSl9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIGU/ey4uLmUsbWVzc2FnZTplLm1lc3NhZ2U/KDAseS5mb3JtYXRTdHVkeUVycm9yKShlLm1lc3NhZ2UpOnZvaWQgMH06bnVsbH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdD0hMSl7dGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fZXJyb3JDYXJkUmVuZGVyZXI9bnVsbCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLnNwYXduKCksdGhpcy5faGFzRXJyb3I9bmV3IF8uV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9ITEsdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcj1lPT57dGhpcy5faGFzRXJyb3Iuc2V0VmFsdWUobnVsbCE9PWUpLGU9dyhlKSwhdGhpcy5fcmVuZGVySW5zaWRlQ29udGFpbmVyJiZ0aGlzLl9jaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCk/dGhpcy5fdXBkYXRlUGFuZVdpZGdldHMoZSk6dGhpcy5fcmVuZGVyRXJyb3JXaXRob3V0TW9kZWwoZSl9LHRoaXMuX2NoYXJ0V2lkZ2V0PWUuc3Bhd24oKSx0aGlzLl9yZW5kZXJJbnNpZGVDb250YWluZXI9dCx0aGlzLl9iYW5FcnJvck1lc3NhZ2U9KDAsbS5jb21iaW5lKSgoZT0+e2lmKCFlKXJldHVybiBudWxsO2xldCB0O2lmKCJiYW5uZWQgYnkgaXAiPT09ZS5yZWFzb24pdD1zLnQobnVsbCx2b2lkIDAscig2NDY2MDEpKTtlbHNlIHQ9cy50KG51bGwsdm9pZCAwLHIoNTkyMDE0KSk7cmV0dXJue3RpdGxlOnMudChudWxsLHtjb250ZXh0OiJCYW4gcmVhc29uIn0scig2MzU5MjMpKSxtZXNzYWdlOnQsYnV0dG9uczpbe25hbWU6cy50KG51bGwse2NvbnRleHQ6InNvbHV0aW9uIGxpbmsifSxyKDgyNDAyNykpLG9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLldIWV9JU19NWV9BQ0NPVU5UX0JBTk5FRH0pfX1dLGljb246InN0b3AtaGFuZCJ9fSksd2luZG93LkNoYXJ0QXBpSW5zdGFuY2UuY29ubmVjdGlvbkJhbkluZm8oKS53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2JhbkVycm9yTWVzc2FnZS5zdWJzY3JpYmUodGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcix7Y2FsbFdpdGhMYXN0OiEwfSk7Y29uc3Qgbj0oMCxtLmFjY3VtdWxhdGUpKChlPT57Y29uc3QgdD1lWzBdO3JldHVybltudWxsIT09dD8oMCxiLmdldFNlcmllc0Rpc3BsYXlFcnJvcldWKSh0Lm1haW5TZXJpZXMoKSkub3duZXJzaGlwKCk6bmV3IF8uV2F0Y2hlZFZhbHVlKG51bGwpLm93bmVyc2hpcCgpXX0pLCgwLG0uY29tYmluZSkoKGU9PltlLm1vZGVsV1YoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9jaGFydFdpZGdldC53ZWFrUmVmZXJlbmNlKCkpLm93bmVyc2hpcCgpKTt0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlPSgwLG0uYWNjdW11bGF0ZSkoKChbZV0sdCk9PntpZih0KXJldHVybiB0O2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKTtzd2l0Y2goZS50eXBlKXtjYXNlImludmFsaWRfc3ltYm9sIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKG4pO2Nhc2UiY2FsY3VsYXRpb25zX2Vycm9yIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoNDg3MjAxKSksbWVzc2FnZTplLmVycm9yTWVzc2FnZSxpY29uOiJhdHRlbnRpb24ifTtjYXNlIm5vX2RhdGEiOnJldHVybnt0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scigxOTgwKSksbWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscig5NjkwOSkpLGljb246InVmby1hbmQtY293In07Y2FzZSJ1bnN1cHBvcnRlZF9yZXNvbHV0aW9uIjpyZXR1cm4gdGhpcy5fY3JlYXRlRXJyb3JQYXJhbXNGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24obik7Y2FzZSJpcG9fcHJpY2VkIjpyZXR1cm57dGl0bGU6cy50KG51bGwse2NvbnRleHQ6IlN5bWJvbCBlcnJvciBlbXB0eSBzdGF0ZSJ9LHIoMTM3ODAwKSksbWVzc2FnZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig0MDM2NzIpKSxpY29uOiJyb2NrZXQtbGF1bmNoIn07Y2FzZSJyZW5rb19jaGFydF90eXBlX2lzc3VlIjpyZXR1cm57dGl0bGU6cy50KG51bGwsdm9pZCAwLHIoNzE2MzApKSxtZXNzYWdlOnMudChudWxsLHZvaWQgMCxyKDU5NTU3MCkpLGljb246InVmby1hbmQtcGVuY2lsIixidXR0b25zOlt7bmFtZTpzLnQobnVsbCx7Y29udGV4dDoic29sdXRpb24gbGluayJ9LHIoODI0MDI3KSksCm9uQ2xpY2s6KCk9PnsoMCx1LnNob3dTdXBwb3J0RGlhbG9nKSh7c29sdXRpb25JZDpkLnNvbHV0aW9uSWRzLlJFTkNPX0NIQVJUX0RJU1BMQVlfSVNTVUVTfSl9fV19O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHNlcmllcyBlcnJvciB0eXBlIil9fSksbi5vd25lcnNoaXAoKSx0aGlzLl9iYW5FcnJvck1lc3NhZ2Uud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9wYW5lV2lkZ2V0RXJyb3JNZXNzYWdlLnN1YnNjcmliZSh0aGlzLl9lcnJvck1lc3NhZ2VIYW5kbGVyLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fYmFuRXJyb3JNZXNzYWdlLmRlc3Ryb3koKSx0aGlzLl9lcnJvckNhcmRSZW5kZXJlcj8udGhlbigoZT0+e2UuY29udGFpbmVyLnJlbW92ZSgpLGUuZGVzdHJveSgpfSkpLHRoaXMuX3BhbmVXaWRnZXRFcnJvck1lc3NhZ2UuZGVzdHJveSgpLHRoaXMuX2NoYXJ0V2lkZ2V0LmRlc3Ryb3koKX11cGRhdGVQYW5lV2lkZ2V0cygpe3RoaXMuX3VwZGF0ZVBhbmVXaWRnZXRzKCl9c2V0Q29udGFpbmVyKGUpe2lmKHRoaXMuX2NvbnRhaW5lciE9PWUpe3RoaXMuX2NvbnRhaW5lcj1lLHRoaXMuX2Vycm9yQ2FyZFJlbmRlcmVyPy50aGVuKChlPT5lLmNvbnRhaW5lci5yZW1vdmUoKSkpO2NvbnN0IHQ9dGhpcy5fZ2V0RXJyb3JNZXNzYWdlKCk7dCYmdGhpcy5fZXJyb3JNZXNzYWdlSGFuZGxlcih0KX19aGFzRXJyb3IoKXtyZXR1cm4gdGhpcy5faGFzRXJyb3IucmVhZG9ubHkoKX1fdXBkYXRlUGFuZVdpZGdldHMoZT10aGlzLl9nZXRFcnJvck1lc3NhZ2UoKSl7dGhpcy5fY2hhcnRXaWRnZXQudmFsdWUoKS5wYW5lV2lkZ2V0cygpLmZvckVhY2goKHQ9PnQuc2V0RXJyb3JNZXNzYWdlKGUpKSl9YXN5bmMgX3JlbmRlckVycm9yV2l0aG91dE1vZGVsKGUpe2lmKG51bGw9PT10aGlzLl9jb250YWluZXJ8fG51bGw9PT1lJiZudWxsPT09dGhpcy5fZXJyb3JDYXJkUmVuZGVyZXIpcmV0dXJuO2NvbnN0IHQ9YXdhaXQgdGhpcy5fZ2V0RXJyb3JDYXJkUmVuZGVyZXIoKTt0aGlzLl9jb250YWluZXIuY29udGFpbnModC5jb250YWluZXIpfHx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodC5jb250YWluZXIpLHQudXBkYXRlKHRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyU3RhdGUoZSkpfWFzeW5jIF9nZXRFcnJvckNhcmRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9lcnJvckNhcmRSZW5kZXJlcnx8PXRoaXMuX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl9YXN5bmMgX2NyZWF0ZUVycm9yQ2FyZFJlbmRlcmVyKCl7cmV0dXJuIG5ldyhhd2FpdCgwLGMuZ2V0RXJyb3JDYXJkUmVuZGVyZXIpKCkpfV9jcmVhdGVFcnJvckNhcmRSZW5kZXJlclN0YXRlKGUpe3JldHVybiBlP3t0aXRsZTplLnRpdGxlLG1lc3NhZ2U6ZS5tZXNzYWdlLGljb246ZS5pY29uLGJhY2tncm91bmRDb2xvcjpudWxsLGJ1dHRvbnM6ZS5idXR0b25zLHRoZW1lOm8ud2F0Y2hlZFRoZW1lLnZhbHVlKCk9PT1hLlN0ZFRoZW1lLkRhcms/YS5TdGRUaGVtZS5EYXJrOmEuU3RkVGhlbWUuTGlnaHR9OnZvaWQgMH1fY3JlYXRlRXJyb3JQYXJhbXNGb3JJbnZhbGlkU3ltYm9sKGUpe2NvbnN0IHQ9YXN5bmMoKT0+e2Uuc2V0QWN0aXZlKCEwKTtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkscj10LnN5bWJvbCgpLHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvcnROYW1lLnZhbHVlKCksbj0ib3B0aW9uIj09PXQuc3ltYm9sSW5mbygpPy50eXBlLG89dC5zeW1ib2xJbmZvKCk/LnByb19uYW1lO2xldCBhPXQuaXNTcHJlYWQoKT9yOnN8fHJ8fCIiO2lmKCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIikmJm4mJm8pe2NvbnN0IGU9YXdhaXQoMCxoLnJlc29sdmVVbmRlcmx5aW5nU3ltYm9sKShvKTtlJiYoYT17dHlwZToib3B0aW9uIix2YWx1ZTpvLHVuZGVybHlpbmc6ZX0pfSgwLGwuc2hvd0RpYWxvZykoe2RlZmF1bHRWYWx1ZTphLGVuYWJsZU9wdGlvbnNDaGFpbjooMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpLHNlYXJjaFR5cGU6InN1cGVyY2hhcnRzIn0pfSxuPWUuc3ltYm9sV1YoKS52YWx1ZSgpLG89KG4uc3BsaXQoIjoiKVsxXT8/bikudG9VcHBlckNhc2UoKTtyZXR1cm4hKDAscC5pc0ZlYXR1cmVFbmFibGVkKSgibmV3X2VtcHR5X3N0YXRlX3Rlc3QiKXx8IkNIUklTVE1BUyIhPT1vJiYiTkVXWUVBUiIhPT1vJiYiU0FOVEFDTEFVUyIhPT1vJiYiWE1BU1RSRUUiIT09bz97bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigyODM1NjIpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig3MzA3NikpLGljb246InVmby1hbmQtY293IixidXR0b25zOlt7bmFtZTpnLG9uQ2xpY2s6dH1dfTp7bWVzc2FnZTpzLnQobnVsbCx2b2lkIDAscigzNzE3NzkpKSx0aXRsZTpzLnQobnVsbCx7Y29udGV4dDoiU3ltYm9sIGVycm9yIGVtcHR5IHN0YXRlIn0scig1MjMyNzkpKSxpY29uOnthbmltYXRpb25Vcmw6cigxMTE4NTkpLHdpZHRoOjEyMCxoZWlnaHQ6MTIwLGtlZXBPcmlnaW5hbFNpemU6ITB9LGJ1dHRvbnM6W3tuYW1lOmcsb25DbGljazp0fV19fV9jcmVhdGVFcnJvclBhcmFtc0ZvclVuc3VwcG9ydGVkUmVzb2x1dGlvbihlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCkudW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKS52YWx1ZSgpO3JldHVybiBudWxsPT09dD9udWxsOnttZXNzYWdlOlModCksdGl0bGU6Zih0KSxpY29uOiJ1bnN1cHBvcnRlZC1yZXNvbHV0aW9uIixidXR0b25zOlt7bmFtZTp2KHQpLG9uQ2xpY2s6KCk9PntlLnNldEFjdGl2ZSghMCksbi5saW5raW5nLnNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKHQuYXBwbGljYWJsZVJlc29sdXRpb24sIkVycm9yIHN0YXRlIil9fV19fV9nZXRFcnJvck1lc3NhZ2UoKXtyZXR1cm4gdyh0aGlzLl9iYW5FcnJvck1lc3NhZ2UudmFsdWUoKXx8dGhpcy5fcGFuZVdpZGdldEVycm9yTWVzc2FnZS52YWx1ZSgpKX19fSwxMTE4NTkoZSx0LHIpewplLmV4cG9ydHM9ci5wKyJueS1hbmltYXRpb24uNDA0MzM0OGQ2ZTYxOTljNGYxYjMuanNvbiJ9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23669.a61971d84257c346bd5f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.294Z","timestamp":1785136429294,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23669.a61971d84257c346bd5f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-aa8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aac1c15c7bd5aee30dfc83606fcca2d1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2728,"size_decoded":1649,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2728), with no line terminators","md5":"da3d6d05d2dc6bb0ff4b03eeae50a509","sha1":"971568eb9afbac7c18c9ca16e66bdf625523fedb","sha256":"7d4afa2f45d8b837f2049b2c41340a236d2c063efdfb60095bdd1e9bc5db27f2","sha512":"ca319be4af9c386f0b41df40efa6885fa6ebc3e8b804d6d26179b1f08f0e676aaf47163b09510a6848c93a02a544cc3319d21e4d3bc7761ee6244fd052c90d6a","ssdeep":"","tlshash":"4751fcc8a3587817a61b713dd78892ccd125a863fc980addfc62f190c3da7e0d7a9854","first_seen":"2026-06-30T21:57:43.387896Z","last_seen":"2026-07-28T06:17:53.47016Z","times_seen":229,"resource_available":false,"data":"LndyYXBwZXItcTU0VHd5Q097YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJsb2NrOjZweCAycHg7cGFkZGluZy1pbmxpbmU6MTJweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ud3JhcHBlci1xNTRUd3lDTy5ob3ZlcmVkLXE1NFR3eUNPLC53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLXE1NFR3eUNPOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LndyYXBwZXItcTU0VHd5Q08uaG92ZXJlZC1xNTRUd3lDT3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItcTU0VHd5Q086aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0ud3JhcHBlci1xNTRUd3lDTzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyMHB4fS53cmFwcGVyLXE1NFR3eUNPIC5zd2l0Y2hXcmFwLXE1NFR3eUNPe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLmxhYmVsUm93LXE1NFR3eUNPe3BhZGRpbmc6MH0uaWNvbi1xNTRUd3lDTywud3JhcHBlci1xNTRUd3lDTy53aXRoSWNvbi1xNTRUd3lDTyAubGFiZWwtcTU0VHd5Q08sLndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLnN3aXRjaFdyYXAtcTU0VHd5Q097YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweH0uaWNvbi1xNTRUd3lDT3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDt3aWR0aDoyOHB4fS5pY29uLXE1NFR3eUNPIHN2Z3tkaXNwbGF5OmJsb2NrfS5sYWJlbFJvdy1xNTRUd3lDT3tmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MnB4IDAgNnB4fS5sYWJlbC1xNTRUd3lDT3tmb250LXNpemU6MTRweDttYXJnaW4taW5saW5lLWVuZDoxMnB4O292ZXJmbG93OmhpZGRlbn0ubGFiZWxfZGlzYWJsZWQtcTU0VHd5Q097b3BhY2l0eTouNX0ubGFiZWxIaW50LXE1NFR3eUNPe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y29udGFpbjpjb250ZW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZS1pbixtYXJnaW4tdG9wIC4yNXMgZWFzZS1pbixvcGFjaXR5IC4zNXMgbGluZWFyO3doaXRlLXNwYWNlOm5vcm1hbH0ubGFiZWxPbi1xNTRUd3lDTysubGFiZWxIaW50LXE1NFR3eUNPe21hcmdpbi10b3A6NHB4O21heC1oZWlnaHQ6MzRweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4ycyBlYXNlLW91dCxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCxvcGFjaXR5IC4zNXMgbGluZWFyfS5hY2Nlc3NpYmxlLXE1NFR3eUNPe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fQ=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36938.58456da0cdb4bb9bb485.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.248Z","timestamp":1785136429248,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36938.58456da0cdb4bb9bb485.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-867c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 210fa24d436ec37b2e3c7b60c427e93d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34428,"size_decoded":12931,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"0b3a2f0bced3b2d13e2bc4271e8f8bec","sha1":"c8882777ff1ea1c0a44cd5abb3371658234b1ba7","sha256":"cc20688cf7733b705a8082a5cd27b28bfb7c5bf465b3b37a793cbb16845e2044","sha512":"79451e25e3c330b552f61617650652ad0fec3ca6846f09ab1abb2fee164ff668ea5b4bddc93377a87b16a14cbf8b793a074e8b00f7f1bb596ddb62211aae77cd","ssdeep":"768:1NuXCwjvbjs5+DLdgy+qR2UxNnoxErOw2f+gCrpZAKA6DQKG4JJZXKTmpcu9Chqj:aXPjvbQ+tI6XXoOow+H0","tlshash":"25f22c92b09170bc96f746ee943f0552f33a1a64b9854868f0bc8cec2d64d49e272f7d","first_seen":"2026-07-23T14:00:31.698766Z","last_seen":"2026-07-28T06:17:53.61859Z","times_seen":190,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjkzOCw2MzU5NV0sezk3Nzc3KGUpe2UuZXhwb3J0cz17YmFkZ2U6ImJhZGdlLXg0VVZaYWJNIixoYXNDaGlsZHJlbjoiaGFzQ2hpbGRyZW4teDRVVlphYk0iLGNvbnRlbnQ6ImNvbnRlbnQteDRVVlphYk0iLHNsb3Q6InNsb3QteDRVVlphYk0iLHhzbWFsbDoieHNtYWxsLXg0VVZaYWJNIixzbWFsbDoic21hbGwteDRVVlphYk0iLG1lZGl1bToibWVkaXVtLXg0VVZaYWJNIixsYXJnZToibGFyZ2UteDRVVlphYk0iLHhsYXJnZToieGxhcmdlLXg0VVZaYWJNIix4eGxhcmdlOiJ4eGxhcmdlLXg0VVZaYWJNIn19LDk5NDUoZSl7ZS5leHBvcnRzPXtkZWZhdWx0OiJkZWZhdWx0LUdaTHlrTlFQIixkYW5nZXI6ImRhbmdlci1HWkx5a05RUCIsd2FybmluZzoid2FybmluZy1HWkx5a05RUCIsc3VjY2Vzczoic3VjY2Vzcy1HWkx5a05RUCIsbmV1dHJhbDoibmV1dHJhbC1HWkx5a05RUCIsIm5ldXRyYWwtbGlnaHQiOiJuZXV0cmFsLWxpZ2h0LUdaTHlrTlFQIixzbWFsbDoic21hbGwtR1pMeWtOUVAiLG1lZGl1bToibWVkaXVtLUdaTHlrTlFQIixsYXJnZToibGFyZ2UtR1pMeWtOUVAiLGljb25XcmFwcGVyOiJpY29uV3JhcHBlci1HWkx5a05RUCIsaWNvbjoiaWNvbi1HWkx5a05RUCJ9fSw0NDAwOTYoZSl7ZS5leHBvcnRzPXtzY3JvbGxDb250YWluZXI6InNjcm9sbENvbnRhaW5lci16RzJDcURlMiJ9fSw2MjcwMjIoZSl7ZS5leHBvcnRzPXtmbGV4OiJmbGV4LWdvMFplTlFGIixmaXhlZEhlYWRlcjoiZml4ZWRIZWFkZXItZ28wWmVOUUYiLGZpeGVkRm9vdGVyOiJmaXhlZEZvb3Rlci1nbzBaZU5RRiIsbWFpblNjcm9sbFdyYXBwZXI6Im1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGIixmaXhlZEhlYWRlckNvbnRlbnQ6ImZpeGVkSGVhZGVyQ29udGVudC1nbzBaZU5RRiIsZml4ZWRGb290ZXJDb250ZW50OiJmaXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUYiLG5vU2Nyb2xsOiJub1Njcm9sbC1nbzBaZU5RRiIsbWFpbjoibWFpbi1nbzBaZU5RRiIsbWFpbkNvbnRlbnQ6Im1haW5Db250ZW50LWdvMFplTlFGIn19LDYyMzYxMyhlKXtlLmV4cG9ydHM9e21vYmlsZUNvbnRleHQ6Im1vYmlsZUNvbnRleHQtVnhuNExoWUwiLGFuY2hvckNvbnRleHQ6ImFuY2hvckNvbnRleHQtVnhuNExoWUwifX0sNzYyMDUzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1qV21NbTJWQSIsdGltZXpvbmU6InRpbWV6b25lLWpXbU1tMlZBIixsYXJnZVBhZGRpbmc6ImxhcmdlUGFkZGluZy1qV21NbTJWQSIsc2Vzc2lvbkRheVdyYXBwZXI6InNlc3Npb25EYXlXcmFwcGVyLWpXbU1tMlZBIixub3dXcmFwcGVyOiJub3dXcmFwcGVyLWpXbU1tMlZBIixub3c6Im5vdy1qV21NbTJWQSIsc2Vzc2lvbkRheToic2Vzc2lvbkRheS1qV21NbTJWQSIsd2Vla0RheToid2Vla0RheS1qV21NbTJWQSIsc2Vzc2lvbkRheVNlZ21lbnRzOiJzZXNzaW9uRGF5U2VnbWVudHMtaldtTW0yVkEiLHRpbWVNYXJrV3JhcHBlcjoidGltZU1hcmtXcmFwcGVyLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnQ6InRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSIsdGltZU1hcms6InRpbWVNYXJrLWpXbU1tMlZBIix0aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kczoidGltZU1hcmtTZWdtZW50QWxpZ25CeUVuZHMtaldtTW0yVkEiLHNlZ21lbnQ6InNlZ21lbnQtaldtTW0yVkEiLHNtYWxsOiJzbWFsbC1qV21NbTJWQSIsc3RhcnQ6InN0YXJ0LWpXbU1tMlZBIixlbmQ6ImVuZC1qV21NbTJWQSIsYWN0aXZlOiJhY3RpdmUtaldtTW0yVkEiLGdyZWVuOiJncmVlbi1qV21NbTJWQSIsb3JhbmdlOiJvcmFuZ2UtaldtTW0yVkEiLGJsdWU6ImJsdWUtaldtTW0yVkEiLHB1cnBsZToicHVycGxlLWpXbU1tMlZBIixncmF5OiJncmF5LWpXbU1tMlZBIix0b29sdGlwOiJ0b29sdGlwLWpXbU1tMlZBIix0aW1lOiJ0aW1lLWpXbU1tMlZBIn19LDQ0NzI2OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplIjoiMTZweCIsImNzcy12YWx1ZS1ob3Jpem9udGFsLXBhZGRpbmctc2l6ZSI6IjE2cHgiLCJjc3MtdmFsdWUtdmVydGljYWwtcGFkZGluZy1zaXplLWZpcnN0IjoiMTFweCIsImNzcy12YWx1ZS12ZXJ0aWNhbC1wYWRkaW5nLXNpemUtbGFzdCI6IjEwcHgiLHBvcHVwV2lkZ2V0V3JhcHBlcjoicG9wdXBXaWRnZXRXcmFwcGVyLUE0djBkbDE3Iixwb3B1cFdpZGdldFdpZHRoOiJwb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3Iixwb3B1cFdpZGdldDoicG9wdXBXaWRnZXQtQTR2MGRsMTciLGxhcmdlOiJsYXJnZS1BNHYwZGwxNyIsbW9iaWxlOiJtb2JpbGUtQTR2MGRsMTciLGRlc2M6ImRlc2MtQTR2MGRsMTciLGljb246Imljb24tQTR2MGRsMTciLHNtYWxsOiJzbWFsbC1BNHYwZGwxNyIsbWVkaXVtOiJtZWRpdW0tQTR2MGRsMTciLHRpdGxlOiJ0aXRsZS1BNHYwZGwxNyIsdGV4dDoidGV4dC1BNHYwZGwxNyIsaXRlbToiaXRlbS1BNHYwZGwxNyIsYm9sZEl0ZW06ImJvbGRJdGVtLUE0djBkbDE3IixhY3Rpb246ImFjdGlvbi1BNHYwZGwxNyIsYWN0aW9uQnRuOiJhY3Rpb25CdG4tQTR2MGRsMTciLGFjdGlvbnM6ImFjdGlvbnMtQTR2MGRsMTciLGFkZGl0aW9uYWxXaWRnZXQ6ImFkZGl0aW9uYWxXaWRnZXQtQTR2MGRsMTcifX0sMTk4MjA5KGUpe2UuZXhwb3J0cz17Imljb24td3JhcHBlciI6Imljb24td3JhcHBlci1kaWtkZXd3eCIsIndpdGgtbGluayI6IndpdGgtbGluay1kaWtkZXd3eCIsIndpdGgtdG9vbHRpcCI6IndpdGgtdG9vbHRpcC1kaWtkZXd3eCIsIm5vLWFjdGl2ZS1zdGF0ZSI6Im5vLWFjdGl2ZS1zdGF0ZS1kaWtkZXd3eCJ9fSwKNTkwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0JhZGdlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9big5Nzc3Nykscj1uLm4oYSk7ZnVuY3Rpb24gbCh7aHJlZjplLG9uQ2xpY2s6dCxyZWZlcmVuY2U6biwuLi5pfSl7cmV0dXJuIGU/cy5jcmVhdGVFbGVtZW50KCJhIix7aHJlZjplLG9uQ2xpY2s6dCx0YXJnZXQ6Il9ibGFuayIscmVmOm4sLi4uaX0pOnQ/cy5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtvbkNsaWNrOnQscmVmOm4sLi4uaX0pOnMuY3JlYXRlRWxlbWVudCgic3BhbiIse3JlZjpuLC4uLml9KX1mdW5jdGlvbiB1KHtjbGFzc05hbWU6ZSxzaXplOnQsbGVmdFNsb3Q6bixyaWdodFNsb3Q6aSxjaGlsZHJlbjphLC4uLnV9KXtjb25zdCBjPW8oKShlLHIoKS5iYWRnZSx0JiZyKClbdF0sYSYmcigpLmhhc0NoaWxkcmVuKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGwse2NsYXNzTmFtZTpjLC4uLnV9LG4mJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxuKSxhJiZzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpLmNvbnRlbnR9LGEpLGkmJnMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5zbG90fSxpKSl9fSwyMzQ2MzYoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7QmFkZ2VTaXplOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5YU21hbGw9InhzbWFsbCIsZS5TbWFsbD0ic21hbGwiLGUuTWVkaXVtPSJtZWRpdW0iLGUuTGFyZ2U9ImxhcmdlIixlLlhMYXJnZT0ieGxhcmdlIn0oc3x8KHM9e30pKX0sNzE3OTMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZU1hdGNoTWVkaWE6KCk9Pm8sdXNlU2FmZU1hdGNoTWVkaWE6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQ9ITEpe2NvbnN0W24saV09KDAscy51c2VTdGF0ZSkodCk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e2NvbnN0IHQ9d2luZG93Lm1hdGNoTWVkaWEoZSk7ZnVuY3Rpb24gbigpe2kodC5tYXRjaGVzKX1yZXR1cm4gbigpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKX19KSxbZV0pLG59ZnVuY3Rpb24gbyhlKXtjb25zdCB0PSgwLHMudXNlTWVtbykoKCgpPT53aW5kb3cubWF0Y2hNZWRpYShlKS5tYXRjaGVzKSxbXSk7cmV0dXJuIGkoZSx0KX19LDkwMDg0MShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSx0LG4scyxpKXtmdW5jdGlvbiBvKGkpe2lmKGU+aS50aW1lU3RhbXApcmV0dXJuO2NvbnN0IG89aS50YXJnZXQ7dm9pZCAwIT09biYmbnVsbCE9PXQmJm51bGwhPT1vJiZvLm93bmVyRG9jdW1lbnQ9PT1zJiYodC5jb250YWlucyhvKXx8bihpKSl9cmV0dXJuIGkuY2xpY2smJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG8sITEpLGkubW91c2VEb3duJiZzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbywhMSksaS50b3VjaEVuZCYmcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsbywhMSksaS50b3VjaFN0YXJ0JiZzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG8sITEpLCgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsbywhMSkscy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG8sITEpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbywhMSl9fW4uZCh0LHthZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcjooKT0+c30pfSwyMzY3NjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlT3V0c2lkZUV2ZW50OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big2MTYzMTEpLG89big5MDA4NDEpO2Z1bmN0aW9uIGEoZSl7Y29uc3R7Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cixoYW5kbGVyOmwscmVmZXJlbmNlOnV9PWUsYz0oMCxzLnVzZVJlZikobnVsbCksZD0oMCxzLnVzZVJlZikoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/MDpuZXcgd2luZG93LkN1c3RvbUV2ZW50KCJ0aW1lc3RhbXAiKS50aW1lU3RhbXApO3JldHVybigwLGkudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT17Y2xpY2s6dCxtb3VzZURvd246bix0b3VjaEVuZDphLHRvdWNoU3RhcnQ6cn0scz11P3UuY3VycmVudDpjLmN1cnJlbnQ7cmV0dXJuKDAsby5hZGRPdXRzaWRlRXZlbnRMaXN0ZW5lcikoZC5jdXJyZW50LHMsbCxkb2N1bWVudCxlKX0pLFt0LG4sYSxyLGxdKSx1fHxjfX0sMjkwMjQzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVNhZmVNb2JpbGVUb3VjaDooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNzM4NDU4KTtmdW5jdGlvbiBvKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAscy51c2VFZmZlY3QpKCgoKT0+e3QoaS5tb2JpbGV0b3VjaCl9KSxbXSksZX19LDg2NTA5MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VUb29sdGlwOigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9bigyOTAyNDMpLG89big3ODc4OTUpO2Z1bmN0aW9uIGEoZSx0PW51bGwpe2NvbnN0e3Nob3dUb29sdGlwOm4saGlkZVRvb2x0aXA6YSxvbkNsaWNrOnIsZG9Ob3RTaG93VG9vbHRpcE9uVG91Y2g6bD0hMX09ZSx1PSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkodCksYz0oMCxpLnVzZVNhZmVNb2JpbGVUb3VjaCkoKSxkPWMmJmw/dm9pZCAwOmUudG9vbHRpcDsoMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT0oKT0+YSYmYSgpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApLCgpPT5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUsITApfSksW3UsYV0pO3JldHVybntvbkJsdXI6KDAscy51c2VDYWxsYmFjaykoKGU9PnthJiZhKCl9KSxbYV0pLG9uRm9jdXM6KDAscy51c2VDYWxsYmFjaykoKGU9PnsKIWUudGFyZ2V0Lm1hdGNoZXMoIjpob3ZlciIpJiZuJiZlLnRhcmdldC5tYXRjaGVzKCI6Zm9jdXMtdmlzaWJsZSIpJiZuKGUuY3VycmVudFRhcmdldCx7dG9vbHRpcERlbGF5OjIwMH0pfSksW25dKSxvbkNsaWNrOigwLHMudXNlQ2FsbGJhY2spKChlPT57YyYmdT8uY3VycmVudD8uZm9jdXMoKSxyJiZyKGUpfSksW3IsdSxjXSksdG9vbHRpcDpkLGNsYXNzTmFtZTp2b2lkIDAhPT1kPyJhcHBseS1jb21tb24tdG9vbHRpcCI6dm9pZCAwLHJlZjp1fX19LDg3MzA5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBTFdBWVNfRFJPUERPV05fUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5pLERFRkFVTFRfUE9QT1ZFUl9CUkVBS1BPSU5UOigpPT5vfSk7dmFyIHM9big4MDk0MzYpO2NvbnN0IGk9Im5vdCBhbGwiLG89c1sibWVkaWEtc2hvdy1kcmF3ZXIiXX0sNTIwNDg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcG92ZXJDb250ZW50VmVydGljYWw6KCk9PmN9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDQ0MDA5Nikscj1uLm4oYSk7dmFyIGw9big2MjcwMjIpLHU9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2hpbGRyZW46dCxmaXhlZEhlYWRlcjpuLGZpeGVkRm9vdGVyOmksb25TY3JvbGw6YSxzY3JvbGxSZWY6bCxkYXRhUWFJZDpjfT1lLHtzY3JvbGxDb21wZW5zYXRpb246ZCxzY3JvbGxQYWRkaW5nQ29udGFpbmVyOm19PWZ1bmN0aW9uKCl7Y29uc3RbZSx0XT0oMCxzLnVzZVN0YXRlKSh2b2lkIDApLG49KDAscy51c2VDYWxsYmFjaykoKGU9PntlJiZ0KCh0PT50fHxlLm9mZnNldFdpZHRoLWUuY2xpZW50V2lkdGgpKX0pLFtdKTtyZXR1cm57c2Nyb2xsQ29tcGVuc2F0aW9uOnZvaWQgMCE9PWU/LWUrInB4Ijp2b2lkIDAsc2Nyb2xsUGFkZGluZ0NvbnRhaW5lcjpzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkuc2Nyb2xsQ29udGFpbmVyLHJlZjpufSl9fSgpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQocy5GcmFnbWVudCxudWxsLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcWEtaWQiOmMsY2xhc3NOYW1lOnUoKS5mbGV4fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkSGVhZGVyLG4mJnUoKS5maXhlZEhlYWRlckNvbnRlbnQpfSxuKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLm1haW5TY3JvbGxXcmFwcGVyLHZvaWQgMD09PWQmJnUoKS5ub1Njcm9sbCksb25TY3JvbGw6YSxyZWY6bCxzdHlsZTp7Ii0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uIjpkfX0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHUoKS5tYWluLHQmJnUoKS5tYWluQ29udGVudCl9LHQpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodSgpLmZpeGVkRm9vdGVyLGkmJnUoKS5maXhlZEZvb3RlckNvbnRlbnQpfSxpKSksbSl9fSw2NDA1MTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UExBQ0VNRU5UX0JPVFRPTV9BTElHTl9DRU5URVI6KCk9Pm8sUExBQ0VNRU5UX0JPVFRPTV9BTElHTl9MRUZUOigpPT5zLFBMQUNFTUVOVF9CT1RUT01fQUxJR05fUklHSFQ6KCk9PmksUExBQ0VNRU5UX0xFRlRfQUxJR05fQk9UVE9NOigpPT5oLFBMQUNFTUVOVF9MRUZUX0FMSUdOX0NFTlRFUjooKT0+cCxQTEFDRU1FTlRfTEVGVF9BTElHTl9UT1A6KCk9Pm0sUExBQ0VNRU5UX1JJR0hUX0FMSUdOX0JPVFRPTTooKT0+YyxQTEFDRU1FTlRfUklHSFRfQUxJR05fQ0VOVEVSOigpPT5kLFBMQUNFTUVOVF9SSUdIVF9BTElHTl9UT1A6KCk9PnUsUExBQ0VNRU5UX1RPUF9BTElHTl9DRU5URVI6KCk9PmwsUExBQ0VNRU5UX1RPUF9BTElHTl9MRUZUOigpPT5hLFBMQUNFTUVOVF9UT1BfQUxJR05fUklHSFQ6KCk9PnJ9KTtjb25zdCBzPXtuYW1lOiJib3R0b20tbGVmdCIscnRsTmFtZToiYm90dG9tLXJpZ2h0IixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjAseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxpPXtuYW1lOiJib3R0b20tcmlnaHQiLHJ0bE5hbWU6ImJvdHRvbS1sZWZ0IixhbmNob3JQb2ludDp7eDoxLHk6MX0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6InNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJjcm9wU2xpZGUifSxvPXtuYW1lOiJib3R0b20iLGFuY2hvclBvaW50Ont4Oi41LHk6MX0sY29udGVudFBvaW50Ont4Oi41LHk6MH0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sYT17bmFtZToidG9wLWxlZnQiLHJ0bE5hbWU6InRvcC1yaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5OjB9LGNvbnRlbnRQb2ludDp7eDowLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0scj17bmFtZToidG9wLXJpZ2h0IixydGxOYW1lOiJ0b3AtbGVmdCIsYW5jaG9yUG9pbnQ6e3g6MSx5OjB9LGNvbnRlbnRQb2ludDp7eDoxLHk6MX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn0sbD17bmFtZToidG9wIixhbmNob3JQb2ludDp7eDouNSx5OjB9LGNvbnRlbnRQb2ludDp7eDouNSx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoic2xpZGUiLG92ZXJmbG93VmVydGljYWw6ImNyb3BTbGlkZSJ9LHU9e25hbWU6InJpZ2h0LXRvcCIscnRsTmFtZToibGVmdC10b3AiLGFuY2hvclBvaW50Ont4OjEseTowfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGM9e25hbWU6InJpZ2h0LWJvdHRvbSIscnRsTmFtZToibGVmdC1ib3R0b20iLGFuY2hvclBvaW50Ont4OjEseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjF9LG92ZXJmbG93SG9yaXpvbnRhbDoiY3JvcFNsaWRlIixvdmVyZmxvd1ZlcnRpY2FsOiJzbGlkZSJ9LGQ9e25hbWU6InJpZ2h0IixydGxOYW1lOiJsZWZ0IiwKYW5jaG9yUG9pbnQ6e3g6MSx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MCx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxtPXtuYW1lOiJsZWZ0LXRvcCIscnRsTmFtZToicmlnaHQtdG9wIixhbmNob3JQb2ludDp7eDowLHk6MH0sY29udGVudFBvaW50Ont4OjEseTowfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxoPXtuYW1lOiJsZWZ0LWJvdHRvbSIscnRsTmFtZToicmlnaHQtYm90dG9tIixhbmNob3JQb2ludDp7eDowLHk6MX0sY29udGVudFBvaW50Ont4OjEseToxfSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifSxwPXtuYW1lOiJsZWZ0IixydGxOYW1lOiJyaWdodCIsYW5jaG9yUG9pbnQ6e3g6MCx5Oi41fSxjb250ZW50UG9pbnQ6e3g6MSx5Oi41fSxvdmVyZmxvd0hvcml6b250YWw6ImNyb3BTbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoic2xpZGUifX0sNDc5Mjk3KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxuKT0+KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCxuKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGUsdCxuKX0pfW4uZCh0LHt3aW5kb3dFdmVudDooKT0+c30pfSw0NDA0NDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xvc2VSZXBvc2l0aW9uT25TY3JvbGxPdXRzaWRlOigpPT51fSk7dmFyIHM9big3Nzk0NzQpLGk9big3MDY5NDMpLG89big0NzkyOTcpLGE9bigxNTkyNTYpLHI9big4NTQzMzgpO2NvbnN0IGw9KDAsby53aW5kb3dFdmVudCkoInNjcm9sbCIpO2Z1bmN0aW9uIHUoZSx0LG4sbyl7Y29uc3QgdT0oMCxzLnVzZU1lbW8pKCgoKT0+KDAsaS5jcmVhdGVTaWduYWwpKCkpLFtdKSxjPSgwLHMudXNlQ2FsbGJhY2spKCgoKT0+e24oITEsImN1cnJlbnRMZXZlbCIpfSksW25dKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4peygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUsKCgpPT5sKChlPT57Y29uc3Qgcz1uLmN1cnJlbnQ7aWYoIXMpcmV0dXJuO2NvbnN0IGk9ZS50YXJnZXQ7aSYmKCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKHMsaSl8fCgwLHIuaXNFbGVtZW50Q29udGFpbnNFbGVtZW50VGhyb3VnaFBvcnRhbHMpKGkscykmJnQoKSl9KSwhMCkpLFt0LG5dKX0oZSx0P2M6dS5maXJlLG8pLHV9fSw1Nzc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNJbkV4Y2x1ZGVkQXJlYTooKT0+aX0pO3ZhciBzPW4oNzcxNDQ3KTtmdW5jdGlvbiBpKGUsdCl7aWYoIXQpcmV0dXJuITE7Y29uc3Qgbj0iY3VycmVudCJpbiB0P3QuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6dDtyZXR1cm4hIW4mJigwLHMuaXNJblJlY3QpKGUsbil9fSwxNTkyNTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ29uZGl0aW9uYWxFZmZlY3Q6KCk9Pml9KTt2YXIgcz1uKDc3OTQ3NCk7ZnVuY3Rpb24gaShlLHQsbil7KDAscy51c2VFZmZlY3QpKCgoKT0+e2lmKGUpcmV0dXJuIHQoKX0pLFsuLi5uLGVdKX19LDcxODc3MyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VQb3BvdmVyQ2xvc2VCZWhhdmlvcjooKT0+Z30pO3ZhciBzLGk9big3Nzk0NzQpLG89bigzMDYyODcpLGE9bigxNTkyNTYpOyFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkhvcml6b250YWw9MV09Ikhvcml6b250YWwiLGVbZS5WZXJ0aWNhbD0yXT0iVmVydGljYWwiLGVbZS5Cb3RoPTNdPSJCb3RoIn0oc3x8KHM9e30pKTt2YXIgcj1uKDQ0MDQ0Nik7ZnVuY3Rpb24gbChlLHQsbil7Y29uc3Qgcz0oMCxvLnVzZVdpbmRvd1Jlc2l6ZVRyaWdnZXIpKCFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUpOyFmdW5jdGlvbihlLHQsbil7Y29uc3Qgcz0oMCxpLnVzZVJlZikoe2NsaWVudFdpZHRoOnZvaWQgMCxjbGllbnRIZWlnaHQ6dm9pZCAwfSksbz0oMCxpLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gMSZlJiZ0LnB1c2goImNsaWVudFdpZHRoIiksMiZlJiZ0LnB1c2goImNsaWVudEhlaWdodCIpLHR9KG4pKSxbbl0pOygwLGEudXNlQ29uZGl0aW9uYWxFZmZlY3QpKGUmJjAhPT1uLCgoKT0+e2NvbnN0IGU9KCk9PntvLmZvckVhY2goKGU9Pntjb25zdCBuPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtlXTt2b2lkIDAhPT1zLmN1cnJlbnRbZV0/cy5jdXJyZW50W2VdIT09biYmKHQoITAsImN1cnJlbnRMZXZlbCIpLHMuY3VycmVudFtlXT1uKTpzLmN1cnJlbnRbZV09bn0pKX07cmV0dXJuIGUoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixlLCEwKSwoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUsITApLHMuY3VycmVudD17Y2xpZW50V2lkdGg6dm9pZCAwLGNsaWVudEhlaWdodDp2b2lkIDB9fX0pLFt0LG9dKX0oISFuLmNsb3NlT25SZXNpemVXaW5kb3cmJmUsdCwzKTtyZXR1cm5bcywoMCxyLnVzZUNsb3NlUmVwb3NpdGlvbk9uU2Nyb2xsT3V0c2lkZSkoZSwhIW4uY2xvc2VPblNjcm9sbE91dHNpZGUsdCxuLnJlZildfXZhciB1PW4oNzg3ODk1KSxjPW4oODU0MzM4KSxkPW4oNDc5Mjk3KSxtPW4oNTc3ODMyKSxoPW4oMjM2NDU0KTt2YXIgcD1uKDMxOTY5KSxmPW4oMjM1NzI0KTtjb25zdCB2PSgwLGQud2luZG93RXZlbnQpKCJrZXlkb3duIik7ZnVuY3Rpb24gZyhlKXtjb25zdCB0PSgwLAppLnVzZVJlZikobnVsbCkse29uQ2xvc2U6bixpc09wZW46cyxyZWZUb0NvbnRlbnRXcmFwcGVyRWxlbWVudDpvPXQsY2xvc2VPbkNsaWNrQXdheTpyPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVksY2xvc2VPbkVzY2FwZTpnPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0VTQ0FQRSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfPWguUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX1NDUk9MTF9PVVRTSURFLGNsb3NlT25SZXNpemVXaW5kb3c6eT1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9SRVNJWkVfV0lORE9XLGNsb3NlT25UYWI6dz1oLlBPUE9WRVJfREVGQVVMVF9DTE9TRV9PTl9UQUIsZXhjbHVkZUFyZWE6RX09ZTtsZXQgUz0oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKG8pO2NvbnN0IE09bChzLG4se2Nsb3NlT25SZXNpemVXaW5kb3c6eSxjbG9zZU9uU2Nyb2xsT3V0c2lkZTpfLHJlZjpTfSk7cmV0dXJuIFM9ZnVuY3Rpb24oZSx0LG4pe2NvbnN0IHM9KDAsaS51c2VDYWxsYmFjaykoKHM9PntlJiZzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChlPT57aWYoMjchPT0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpKXJldHVybjtjb25zdCBzPW4uY3VycmVudDtpZighcylyZXR1cm47Y29uc3QgaT1lLnRhcmdldDtpIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnMuY29udGFpbnMoaSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSx0KCEwLCJjdXJyZW50TGV2ZWwiKSl9KSx7Y2FwdHVyZTohMX0pfSksW2VdKTtyZXR1cm4oMCx1LnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKCgwLHAudXNlTWVyZ2VkUmVmcykoW24sc10pKX0oZyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuKXsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT52KChlPT57Y29uc3Qgbj0oMCxmLmhhc2hGcm9tRXZlbnQpKGUpOzkhPT1uJiZuIT09OStmLk1vZGlmaWVycy5TaGlmdHx8dCghMCwiY3VycmVudExldmVsIil9KSwhMCkpLFt0LG5dKX0odyYmcyxuLFMpLGZ1bmN0aW9uKGUsdCxuLHMsaSl7Y29uc3Qgbz0iYm9vbGVhbiI9PXR5cGVvZiBzP2guUE9QT1ZFUl9ERUZBVUxUX0NMT1NFX09OX0NMSUNLX0FXQVk6czsoMCxhLnVzZUNvbmRpdGlvbmFsRWZmZWN0KSghIWUsKCgpPT4oMCxkLndpbmRvd0V2ZW50KShvKSgoZT0+e2NvbnN0IHM9e3g6ZS5jbGllbnRYLHk6ZS5jbGllbnRZfSxvPW4uY3VycmVudDsoMCxtLmlzSW5FeGNsdWRlZEFyZWEpKHMsaSl8fG8mJigwLGMuaXNYWUluc2lkZUVsZW1lbnRUaHJvdWdoUG9ydGFscykobyxzLngscy55KXx8dCghMSwiY3VycmVudExldmVsIil9KSkpLFt0LGksbixvXSl9KHImJnMsbixTLHIsRSkse3JlcG9zaXRpb25UcmlnZ2VyczpNLHJlZlRvQ29udGVudFdyYXBwZXJFbGVtZW50OlN9fX0sNTYyOTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aWdub3JlT25TU1I6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDUyOTQxMSk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdD0+KDAsaS51c2VJc05vbkZpcnN0UmVuZGVyKSgpP3MuY3JlYXRlRWxlbWVudChlLHsuLi50fSk6bnVsbH19LDEwNjkwMChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VXYXRjaGVkVmFsdWVSZWFkb25seTooKT0+b30pO3ZhciBzPW4oNzc5NDc0KSxpPW4oNjE2MzExKTtjb25zdCBvPShlLHQ9ITEsbj1bXSk9Pntjb25zdCBvPSJ3YXRjaGVkVmFsdWUiaW4gZT9lLndhdGNoZWRWYWx1ZTp2b2lkIDAsYT0iZGVmYXVsdFZhbHVlImluIGU/ZS5kZWZhdWx0VmFsdWU6ZS53YXRjaGVkVmFsdWUudmFsdWUoKSxbcixsXT0oMCxzLnVzZVN0YXRlKShvP28udmFsdWUoKTphKTtyZXR1cm4odD9pLnVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3Q6cy51c2VFZmZlY3QpKCgoKT0+e2lmKG8pe2woby52YWx1ZSgpKTtjb25zdCBlPWU9PmwoZSk7cmV0dXJuIG8uc3Vic2NyaWJlKGUpLCgpPT5vLnVuc3Vic2NyaWJlKGUpfXJldHVybigpPT57fX0pLFtvLC4uLm5dKSxyfX0sNDY4NDkzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVByb21pc2U6KCk9Pm99KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDIxNDk4Nyk7ZnVuY3Rpb24gbyhlLHQsbil7Y29uc3RbbyxhXT0oMCxzLnVzZVN0YXRlKShudWxsKTtyZXR1cm4oMCxzLnVzZUVmZmVjdCkoKCgpPT57Y29uc3Qgbj1uZXcgQWJvcnRDb250cm9sbGVyO2xldCBzPW51bGw7cmV0dXJuKDAsaS5yZXNwZWN0QWJvcnQpKG4uc2lnbmFsLGUoKSkudGhlbigoZT0+YSgoKCk9PnM9ZSkpKSkuY2F0Y2goaS5za2lwQWJvcnRFcnJvciksKCk9PntuLmFib3J0KCkscyYmdCYmdChzKX19KSxuP1suLi5uXTp2b2lkIDApLG99fSw3OTk5OTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SGludEJ1dHRvbjooKT0+cn0pO3ZhciBzPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxvPW4oMTM4OTk0KSxhPW4oOTI2OTk1KTtmdW5jdGlvbiByKGUpe2NvbnN0e3NvbHV0aW9uSWQ6dCx0aXRsZTpyPWkudChudWxsLHZvaWQgMCxuKDM0OTUwMSkpLGNsYXNzTmFtZTpsLHRhYkluZGV4OnV9PWUsYz0oMCxzLnVzZU1lbW8pKCgoKT0+ZnVuY3Rpb24oZSl7cmV0dXJuKDAscy5mb3J3YXJkUmVmKSgoKG4saSk9PnMuY3JlYXRlRWxlbWVudCgiYSIsey4uLm4scmVmOmksaHJlZjpgP3NvbHV0aW9uPSR7ZX1gLG9uQ2xpY2s6dH0pKSk7ZnVuY3Rpb24gdCh0KXt0LnByZXZlbnREZWZhdWx0KCksKDAsYS5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6ZX0pfX0odCkpLFt0XSk7cmV0dXJuIHMuY3JlYXRlRWxlbWVudChvLkljb25RdWVzdGlvbkluZm9ybWF0aW9uLHtpY29uOiJxdWVzdGlvbiIsYXJpYUxhYmVsOnIsdG9vbHRpcDpyLGNsYXNzTmFtZTpsLHJlbmRlckNvbXBvbmVudDpjLHRhYkluZGV4OnV9KX19LDg5MTk1NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlV2lkZ2V0OigpPT5hfSk7dmFyIHM9big3Nzk0NzQpLGk9big4MTE1OTEpLG89big0MjU0MzIpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5fc291cmNlPWUsCnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWw9bmV3IGkuRnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbChlKX1kZXN0cm95KCl7dGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCl9cmVuZGVyZXIoZSx0KXtjb25zdCBuPXRoaXMuX3NvdXJjZS5tYXJrZXRTdGF0dXNNb2RlbCgpPy5zdGF0dXMoKS52YWx1ZSgpO3JldHVybiJleHBpcmVkIj09PW58fCJkZWxpc3RlZCI9PT1uP251bGw6KDAscy5jcmVhdGVFbGVtZW50KShvLkZ1bGxTZXNzaW9uU2NoZWR1bGVSZW5kZXJlcix7a2V5OmUsY2xhc3NOYW1lOnQsc2hvd0FsbERheXM6dm9pZCAwLHNlc3Npb25EYXlzOnRoaXMuX2Z1bGxTZXNzaW9uU2NoZWR1bGVWaWV3TW9kZWwuc2Vzc2lvbnNEYXlzLG5vdzp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLmN1cnJlbnRUaW1lVmFsdWUoKSx0aW1lem9uZTp0aGlzLl9mdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsLnRpbWV6b25lKCl9KX11cGRhdGVTb3VyY2UoZSl7dGhpcy5fc291cmNlPWUsdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbC5kZXN0cm95KCksdGhpcy5fZnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbD1uZXcgaS5GdWxsU2Vzc2lvblNjaGVkdWxlVmlld01vZGVsKGUpfX19LDQyNTQzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGdWxsU2Vzc2lvblNjaGVkdWxlUmVuZGVyZXI6KCk9Pnd9KTt2YXIgcz1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSksYT1uKDEzODYzOCkscj1uKDE4NTI3MSksbD1uKDEwNjkwMCksdT1uKDE1MDE1MCk7dmFyIGM9big3NjIwNTMpO2NvbnN0IGQ9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbShlKXtyZXR1cm4gZC5oYXMoZSl8fGQuc2V0KGUsKDAsdS5yYW5kb21IYXNoKSgpKSwoMCxhLmVuc3VyZURlZmluZWQpKGQuZ2V0KGUpKX1jb25zdCBoPW5ldyBNYXAoW1swLGMuZ3JlZW5dLFsxLGMub3JhbmdlXSxbMixjLmJsdWVdLFs0LGMucHVycGxlXSxbMyxjLmdyYXldXSkscD1uZXcgTWFwKFtbMCxyLnQobnVsbCx2b2lkIDAsbig5Njk0NDkpKV0sWzEsci50KG51bGwsdm9pZCAwLG4oNDI4ODA5KSldLFsyLHIudChudWxsLHZvaWQgMCxuKDE0ODkwKSldLFs0LHIudChudWxsLHZvaWQgMCxuKDYxNTc4MykpXSxbMyxyLnQobnVsbCx2b2lkIDAsbig4Mjk4MykpXV0pLGY9ci50KG51bGwsdm9pZCAwLG4oODQwODMpKTt2YXIgdjtmdW5jdGlvbiBnKGUpe2NvbnN0e3NlZ21lbnQ6dCxmb3JjZVN0YXJ0Om4sZm9yY2VFbmQ6aX09ZSxhPXQuZW5kLnZhbHVlLXQuc3RhcnQudmFsdWUscj1hPC4wMyxsPXtsZWZ0OjEwMCp0LnN0YXJ0LnZhbHVlKyIlIix3aWR0aDpgY2FsYygkezEwMCphfSUgKyAke3I/MjowfXB4KWB9LHU9bygpKGMuc2VnbWVudCxoLmdldCh0LnR5cGUpLChufHx0LnN0YXJ0LmlzRmlyc3RPckxhc3RQb2ludCkmJmMuc3RhcnQsKGl8fHQuZW5kLmlzRmlyc3RPckxhc3RQb2ludCkmJmMuZW5kLHImJmMuc21hbGwsImNvbW1vbi10b29sdGlwLWh0bWwiLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLGQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5gPGRpdiBjbGFzcz0iJHtjLnRvb2x0aXB9Ij5cblx0XHQ8c3BhbiBjbGFzcz0iJHtoLmdldCh0KX0iPiR7cC5nZXQodCl9PC9zcGFuPlxuXHRcdDxzcGFuIGNsYXNzPSIke2MudGltZX0iPiR7ZX08L3NwYW4+XG5cdDwvZGl2PmB9KHQudG9vbHRpcCx0LnR5cGUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp1LHN0eWxlOmwsImRhdGEtdG9vbHRpcCI6ZH0pfWZ1bmN0aW9uIF8oZSl7Y29uc3R7c2Vzc2lvbkRheTp0fT1lLG49dC5lbnRyaWVzLm1hcCgoKGUsbik9PnMuY3JlYXRlRWxlbWVudChnLHtrZXk6YCR7bShlKX1TZWdtZW50YCxzZWdtZW50OmUsZm9yY2VTdGFydDowPT09biYmMz09PWUudHlwZSxmb3JjZUVuZDpuPT09dC5lbnRyaWVzLmxlbmd0aC0xJiYzPT09ZS50eXBlfSkpKSxpPW8oKShjLnNlc3Npb25EYXksdC5pc0FjdGl2ZSYmYy5hY3RpdmUpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTppfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9LHQudGl0bGUpLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMuc2Vzc2lvbkRheVNlZ21lbnRzfSxuKSl9ZnVuY3Rpb24geShlKXtjb25zdHtzZXNzaW9uRGF5czp0LGN1cnJlbnRUaW1lTWFyazpufT1lLGk9cGFyc2VJbnQoT2JqZWN0LmtleXModCkuZmlsdGVyKChlPT50W3BhcnNlSW50KGUpXS5pc0FjdGl2ZSkpWzBdKSxhPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1lLmZpbHRlcigoZT0+ZS5zdGFydC52YWx1ZTw9dCYmZS5lbmQudmFsdWU+PXQpKVswXTtpZih2b2lkIDA9PT1uKXJldHVybltdO2NvbnN0IHM9W107cmV0dXJuKG4uc3RhcnQuaXNGaXJzdE9yTGFzdFBvaW50fHwzPT09bi50eXBlKSYmcy5wdXNoKG4uc3RhcnQpLChuLmVuZC5pc0ZpcnN0T3JMYXN0UG9pbnR8fDM9PT1uLnR5cGUpJiZzLnB1c2gobi5lbmQpLHMuc29ydCgoKGUsdCk9PmUudmFsdWUtdC52YWx1ZSkpLHN9KHRbaV0uZW50cmllcyxuKTtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcj1hLm1hcCgoZT0+cy5jcmVhdGVFbGVtZW50KCJkaXYiLHtrZXk6bShlKSxjbGFzc05hbWU6Yy50aW1lTWFya30sZS50aXRsZSkpKSxsPTEwMCooMj09PWEubGVuZ3RoP2FbMV0udmFsdWUtYVswXS52YWx1ZTowKSx1PW8oKShsPjEyJiZjLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLGMudGltZU1hcmtTZWdtZW50KTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5zZXNzaW9uRGF5fSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLndlZWtEYXl9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnRpbWVNYXJrV3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dSxzdHlsZTp7bGVmdDoxMDAqYVswXS52YWx1ZSsiJSIsd2lkdGg6YCR7bH0lYH19LHIpKSl9ZnVuY3Rpb24gdyhlKXsKY29uc3R7Y2xhc3NOYW1lOnQsdGltZXpvbmU6bixzaG93QWxsRGF5czppLHRpbWVab25lQ2xhc3NOYW1lOmF9PWUscj0oMCxsLnVzZVdhdGNoZWRWYWx1ZVJlYWRvbmx5KSh7d2F0Y2hlZFZhbHVlOmUuc2Vzc2lvbkRheXN9KSx1PSgwLGwudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6ZS5ub3d9KSxkPU9iamVjdC52YWx1ZXMocikuZmlsdGVyKChlPT5lLmlzQWN0aXZlKSlbMF0sbT1vKCkodCxjLndyYXBwZXIpO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptfSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpjLnNlc3Npb25EYXlXcmFwcGVyfSxpP3MuY3JlYXRlRWxlbWVudChzLkZyYWdtZW50LG51bGwsT2JqZWN0LnZhbHVlcyhyKS5tYXAoKChlLHQpPT5zLmNyZWF0ZUVsZW1lbnQoXyx7a2V5OnQsc2Vzc2lvbkRheTplfSkpKSk6cy5jcmVhdGVFbGVtZW50KF8se3Nlc3Npb25EYXk6ZH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmMubm93V3JhcHBlcn0scy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Yy5ub3csc3R5bGU6e2xlZnQ6MTAwKnUrIiUifX0pKSkscy5jcmVhdGVFbGVtZW50KHkse3Nlc3Npb25EYXlzOnIsY3VycmVudFRpbWVNYXJrOnV9KSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkoYy50aW1lem9uZSxhLGkmJmMubGFyZ2VQYWRkaW5nKX0sYCR7Zn06ICR7bn1gKSl9IWZ1bmN0aW9uKGUpe2VbZS5NaW5TZWdtZW50V2lkdGg9MTJdPSJNaW5TZWdtZW50V2lkdGgiLGVbZS5TbWFsbFdpZHRoPS4wM109IlNtYWxsV2lkdGgifSh2fHwodj17fSkpfSw4MTE1OTEoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcztuLmQodCx7RnVsbFNlc3Npb25TY2hlZHVsZVZpZXdNb2RlbDooKT0+JH0pLGZ1bmN0aW9uKGUpe2VbZS5SZWd1bGFyPTBdPSJSZWd1bGFyIixlW2UuUHJlPTFdPSJQcmUiLGVbZS5Qb3N0PTJdPSJQb3N0IixlW2UuQ2xvc2U9M109IkNsb3NlIixlW2UuT3Zlcm5pZ2h0PTRdPSJPdmVybmlnaHQifShzfHwocz17fSkpO3ZhciBpPW4oMjIzNTU2KSxvPW4oNjAxODQxKSxhPW4oNzAwODA5KSxyPW4oMjMyMzY0KSxsPW4oMTI4OTk4KTtmdW5jdGlvbiB1KGUpe3JldHVybiBlL2EubWludXRlc1BlckRheX1mdW5jdGlvbiBjKGUpe3JldHVybiBNYXRoLnJvdW5kKGUqYS5taW51dGVzUGVyRGF5KX12YXIgZD1uKDEzODYzOCksbT1uKDU1NjkxMSksaD1uKDQxNTIzNyk7Y29uc3QgcD1baC5XZWVrRGF5cy5TVU5EQVksaC5XZWVrRGF5cy5NT05EQVksaC5XZWVrRGF5cy5UVUVTREFZLGguV2Vla0RheXMuV0VETkVTREFZLGguV2Vla0RheXMuVEhVUlNEQVksaC5XZWVrRGF5cy5GUklEQVksaC5XZWVrRGF5cy5TQVRVUkRBWV07ZnVuY3Rpb24gZihlKXtyZXR1cm4gdD0+ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZSt0KzYpJTcrMX0odCxlKX1jb25zdCB2PWYoLTEpLGc9ZigxKTtjb25zdCBfPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLmxlbmd0aD9lWzBdOnZvaWQgMH07dmFyIHk9big5MjYwODgpLHc9bigzODA1NDApLEU9big4MjI0MzEpO2Z1bmN0aW9uIFMoZSl7Zm9yKCgwLGQuYXNzZXJ0KShOdW1iZXIuaXNJbnRlZ2VyKGUpLCJ0aW1lTWludXRlcyBleHBlY3RlZCB0byBiZSBpbnRlZ2VyIG51bWJlciIpO2U+YS5taW51dGVzUGVyRGF5OyllLT1hLm1pbnV0ZXNQZXJEYXk7Y29uc3QgdD1lJTYwLG49KGUtdCkvNjA7cmV0dXJuKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobiwyKSsiOiIrKDAsRS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodCwyKX1mdW5jdGlvbiBNKGUsdCl7cmV0dXJuYCR7ZX0g4oCUICR7dH1gfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm5gJHt3LndlZWtEYXlzU2hvcnROYW1lc1tlXX0gJHtTKHQpfWB9ZnVuY3Rpb24gTihlLHQsbixzKXsoMCxkLmFzc2VydCkodCE9PWEubWludXRlc1BlckRheSwiU3RhcnQgdGltZSBleHBlY3RlZCB0byBiZSBub3JtYWxpemVkICgyNDowMCBhcyByYW5nZSBzdGFydCBpcyBub3QgYWxsb3dlZCkiKSwoMCxkLmFzc2VydCkoMCE9PXMsIkVuZCB0aW1lIGV4cGVjdGVkIHRvIGJlIG5vcm1hbGl6ZWQgKDAwOjAwIGFzIHJhbmdlIGVuZCBpcyBub3QgYWxsb3dlZCkiKTtjb25zdCBpPWZ1bmN0aW9uKGUsdCxuLHMpe2NvbnN0IGk9ZSphLm1pbnV0ZXNQZXJEYXkrdDtsZXQgbz1uKmEubWludXRlc1BlckRheStzO3JldHVybiBvPGkmJihvKz03KmEubWludXRlc1BlckRheSksby1pfShlLHQsbixzKTtyZXR1cm4gaTxhLm1pbnV0ZXNQZXJEYXl8fGk9PT1hLm1pbnV0ZXNQZXJEYXkmJjA9PT10P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIE0oUyhlKSxTKHQpKX0odCxzKTpmdW5jdGlvbihlLHQsbixzKXtyZXR1cm4gTSh4KGUsdCkseChuLHMpKX0oZSx0LG4scyl9ZnVuY3Rpb24gVChlLHQpe3JldHVybnt2YWx1ZTplLHRpdGxlOlMoYyhlKSksaXNGaXJzdE9yTGFzdFBvaW50OnR9fWZ1bmN0aW9uIGIoZSl7cmV0dXJuIDMhPT1lLnR5cGV9ZnVuY3Rpb24gQyhlLHQpe3JldHVybntkYXlJbmRleDplLGVudHJpZXM6dC5maWx0ZXIoYil9fWZ1bmN0aW9uIEEoZSx0LG4scz10KXtjb25zdCBpPW4odCksbz1lW2ldO3JldHVybiBpIT09cyYmMD09PW8uZW50cmllcy5sZW5ndGg/QShlLGksbixzKTpDKGksZVtpXS5lbnRyaWVzKX1mdW5jdGlvbiBWKGUpe3JldHVybih0LG4pPT5BKHQsbixlKX1jb25zdCBXPVYodiksaz1WKGcpO2Z1bmN0aW9uIEwoZSx0LG4scyl7cmV0dXJuKGksbyxhKT0+dm9pZCAwPT09aT9bcyxhXTppPT09ZT9bdCxuKG8pXTpbaSxvXX1jb25zdCBQPUwoMSwwLGcsMCksRD1MKDAsMSx2LDEpO2Z1bmN0aW9uIE8oZSx0LG4scyxpKXtjb25zdFtvLGFdPVAoZSx0LGkpLFtyLGxdPUQobixzLGkpOygwLGQuYXNzZXJ0KSh0IT09bnx8bzxyLGBEYXlzIGFyZSBzYW1lICgke3R9KSBidXQgcHJldiBlbnRyeSB0aW1lICgke299KSA+PSBuZXh0IGVudHJ5IHRpbWUgKCR7cn0pYCk7Y29uc3QgdT1jKG8pLG09YyhyKTtyZXR1cm4gaD1UKGEhPT1pPzA6byxhPT09aSkscD1UKGwhPT1pPzE6cixsPT09aSksZj0zLHY9TihhLHUsbCxtKSx7CnN0YXJ0OmgsZW5kOnAsdHlwZTpmLHRvb2x0aXA6dn07dmFyIGgscCxmLHZ9ZnVuY3Rpb24gSShlLHQsbixzLGkpe3JldHVybiBPKGU/LmVuZD8udmFsdWUsdCxuPy5zdGFydD8udmFsdWUscyxpKX1mdW5jdGlvbiB6KGUpe2NvbnN0IHQ9Wy4uLmUuZW50cmllc107Zm9yKGxldCBuPTE7bjxlLmVudHJpZXMubGVuZ3RoO24rKyl7Y29uc3Qgcz1lLmVudHJpZXNbbi0xXSxpPWUuZW50cmllc1tuXTtpZihpLnN0YXJ0LnZhbHVlIT09cy5lbmQudmFsdWUpe2NvbnN0IG49SShzLGUuZGF5SW5kZXgsaSxlLmRheUluZGV4LGUuZGF5SW5kZXgpO3QucHVzaChuKX19cmV0dXJuIHQuc29ydCgoKGUsdCk9PmUuc3RhcnQudmFsdWUtdC5zdGFydC52YWx1ZSkpLHR9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG49KDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoXyhlLmVudHJpZXMpKTtyZXR1cm4gMD09PWkuc3RhcnQudmFsdWU/W106W0kobixzLGksZS5kYXlJbmRleCxlLmRheUluZGV4KV19ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49Xyh0LmVudHJpZXMpLHM9dC5kYXlJbmRleCxpPSgwLGQuZW5zdXJlRGVmaW5lZCkoKDAseS5kZWZhdWx0KShlLmVudHJpZXMpKTtyZXR1cm4gMT09PWkuZW5kLnZhbHVlP1tdOltJKGksZS5kYXlJbmRleCxuLHMsZS5kYXlJbmRleCldfWZ1bmN0aW9uIEgoZSx0KXtjb25zdCBuPXt0aGlzRGF5OkMoZSx0W2VdLmVudHJpZXMpLHByZXZEYXk6Vyh0LGUpLG5leHREYXk6ayh0LGUpfTtyZXR1cm4gZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7aWYoMD09PWUuZW50cmllcy5sZW5ndGgpcmV0dXJuW0koKDAseS5kZWZhdWx0KSh0LmVudHJpZXMpLHQuZGF5SW5kZXgsXyhuLmVudHJpZXMpLG4uZGF5SW5kZXgsZS5kYXlJbmRleCldfShuKT8/ZnVuY3Rpb24oe3RoaXNEYXk6ZSxwcmV2RGF5OnQsbmV4dERheTpufSl7Y29uc3Qgcz1lLmRheUluZGV4O2lmKHQuZGF5SW5kZXghPT1zfHxuLmRheUluZGV4IT09cylyZXR1cm47Y29uc3QgaT1lLmVudHJpZXMsYT0oMCxkLmVuc3VyZURlZmluZWQpKF8oaSkpLHI9KDAsZC5lbnN1cmVEZWZpbmVkKSgoMCx5LmRlZmF1bHQpKGkpKTtyZXR1cm5bMCE9PWEuc3RhcnQudmFsdWU/TygwLHMsYS5zdGFydC52YWx1ZSxzLHMpOnZvaWQgMCwuLi56KGUpLDEhPT1yLmVuZC52YWx1ZT9PKHIuZW5kLnZhbHVlLHMsMSxzLHMpOnZvaWQgMF0uZmlsdGVyKG8uaXNFeGlzdGVudCl9KG4pPz9mdW5jdGlvbihlKXtyZXR1cm5bLi4uRihlLnRoaXNEYXksZS5wcmV2RGF5KSwuLi56KGUudGhpc0RheSksLi4uUihlLnRoaXNEYXksZS5uZXh0RGF5KV19KG4pfXZhciBCPW4oNTU5NjkpLFo9bigyNTQ3MzgpO2NvbnN0IGo9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PS0xLG49bnVsbD09ZT8wOmUubGVuZ3RoLHM9e307Kyt0PG47KXt2YXIgaT1lW3RdOygwLFouZGVmYXVsdCkocyxpWzBdLGlbMV0pfXJldHVybiBzfShwLm1hcCgoZT0+W2Use3RpdGxlOncud2Vla0RheXNTaG9ydE5hbWVzW2VdLGlzQWN0aXZlOiExLGVudHJpZXM6W119XSkpKTtmdW5jdGlvbiBHKGUsdCxuKXtjb25zdCBzPWVbbl0uZW50cmllcztzLnB1c2godCkscy5zb3J0KCgoZSx0KT0+ZS5zdGFydC52YWx1ZS10LnN0YXJ0LnZhbHVlKSl9ZnVuY3Rpb24gUShlLHQpe2NvbnN0IG49ZnVuY3Rpb24oZSl7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBNYXA7aWYodm9pZCAwPT09ZS5zdWJzZXNzaW9ucylyZXR1cm4gbmV3IE1hcChbWzAsbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsZS5zZXNzaW9uX2Rpc3BsYXk/P2Uuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsZS5jb3JyZWN0aW9ucyldXSk7Y29uc3QgdD0icmVndWxhciIsbj0icHJlbWFya2V0IixzPSJwb3N0bWFya2V0IixpPSJuaWdodCIsbz1bdCxuLHMsaV0sYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIG8pe2xldCBvPW51bGw7c3dpdGNoKHIpe2Nhc2UgdDpvPTA7YnJlYWs7Y2FzZSBuOm89MTticmVhaztjYXNlIHM6bz0yO2JyZWFrO2Nhc2UgaTpvPTR9aWYobnVsbCE9PW8pe2NvbnN0IHQ9ZS5zdWJzZXNzaW9ucy5maW5kKChlPT5lLmlkPT09cikpO3ZvaWQgMCE9PXQmJmEuc2V0KG8sbmV3IEIuU2Vzc2lvbnNTcGVjKGUudGltZXpvbmUsdFsic2Vzc2lvbi1kaXNwbGF5Il18fHQuc2Vzc2lvbixlLnNlc3Npb25faG9saWRheXMsdFsic2Vzc2lvbi1jb3JyZWN0aW9uIl0pKX19cmV0dXJuIGF9KGUpLHM9dD8/KDAsYS51dGNfdG9fY2FsKSgoMCxhLmdldF90aW1lem9uZSkoZT8udGltZXpvbmU/PyJFdGMvVVRDIiksRGF0ZS5ub3coKSksaT0odD8uZ2V0VVRDRGF5KCk/PyhuZXcgRGF0ZSkuZ2V0RGF5KCkpJTcrMTtjb25zdCBvPSgwLG0uZGVlcENvcHkpKGopO29baV0uaXNBY3RpdmU9ITA7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShuLmtleXMoKSkpe2NvbnN0IHQ9KDAsZC5lbnN1cmVEZWZpbmVkKShuLmdldChlKSksaT0oMCxhLmdldF9kYXlfb2Zfd2Vlaykocykscj0oMCxhLmNsb25lKShzKTsoMCxhLmFkZF9kYXRlKShyLC1pKSwoMCxhLnNldF9obXMpKHIsMCwwLDAsMCk7Y29uc3QgbD0oMCxhLmNsb25lKShyKTsoMCxhLmFkZF9kYXRlKShsLDcpO2xldCBjPXQuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQocix0LmluU2Vzc2lvbihyKT8tMToxKTtmb3IoO2MuZ2V0VGltZSgpPGwuZ2V0VGltZSgpOyl7Y29uc3Qgbj10LmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZChjLDEpLHM9KDAsYS5nZXRfZGF5X29mX3dlZWspKGMpLGk9KDAsYS5nZXRfZGF5X29mX3dlZWspKG4pLGQ9KDAsYS5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShjKSxtPSgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkobikrMSxoPXUoZCkscD11KG0pLGY9TihzLGQsaSxtKTtpZihzPT09aSlHKG8se3N0YXJ0OlQoaCwhMCksZW5kOlQocCwhMCksdHlwZTplLHRvb2x0aXA6Zn0scyk7ZWxzZXtjLmdldFRpbWUoKT5yLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKGgsITApLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LHMpO2NvbnN0IHQ9KDAsYS5jbG9uZSkoYyk7KDAsCmEuc2V0X2htcykodCwwLDAsMCwwKSwoMCxhLmFkZF9kYXRlKSh0LDEpO2NvbnN0IHU9KDAsYS5jbG9uZSkobik7Zm9yKCgwLGEuc2V0X2htcykodSwwLDAsMCwwKTt0LmdldFRpbWUoKTx1LmdldFRpbWUoKTspdC5nZXRUaW1lKCk+PXIuZ2V0VGltZSgpJiZ0LmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKDEsITEpLHR5cGU6ZSx0b29sdGlwOmZ9LCgwLGEuZ2V0X2RheV9vZl93ZWVrKSh0KSksKDAsYS5hZGRfZGF0ZSkodCwxKTtuLmdldFRpbWUoKTxsLmdldFRpbWUoKSYmRyhvLHtzdGFydDpUKDAsITEpLGVuZDpUKHAsITApLHR5cGU6ZSx0b29sdGlwOmZ9LGkpfSgwLGEuYWRkX21pbnV0ZXMpKG4sMSksYz10LmFsaWduVG9OZWFyZXN0U2Vzc2lvblN0YXJ0KG4sMSl9fXJldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgcCl0LnNldChuLEgobixlKSk7Zm9yKGNvbnN0IG4gb2YgcCllW25dLmVudHJpZXM9KDAsZC5lbnN1cmVEZWZpbmVkKSh0LmdldChuKSl9KG8pLHtuZXdTZXNzaW9uc0RheXM6byxuZXdUb2RheVNlc3Npb246b1tpXX19ZnVuY3Rpb24gVShlKXtyZXR1cm4oMCxhLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoKDAsYS5nZXRfdGltZXpvbmUpKGUudGltZXpvbmUpLHdpbmRvdy5DaGFydEFwaUluc3RhbmNlLnNlcnZlclRpbWUoKS0xZTMqKDAsbC5nZXRTeW1ib2xEZWxheVNlY29uZHMpKGUpKX1jbGFzcyAke2NvbnN0cnVjdG9yKGUpe3RoaXMuc2Vzc2lvbnNEYXlzPW5ldyByLldhdGNoZWRWYWx1ZSgoMCxvLmNsb25lKShqKSksdGhpcy50b2RheVNlc3Npb249bmV3IHIuV2F0Y2hlZFZhbHVlKCgwLG8uY2xvbmUpKHtlbnRyaWVzOltdfSkpLHRoaXMuX2N1cnJlbnRUaW1lPW5ldyByLldhdGNoZWRWYWx1ZSgtMSksdGhpcy5fc3ltYm9sSW5mbz1lLnN5bWJvbEluZm8oKS5zcGF3bigpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUVudHJpZXNCeVN1YlNlc3Npb25zLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3RpbWVJbnRlcnZhbElkPXNldEludGVydmFsKHRoaXMuX3VwZGF0ZVRvZGF5V2l0aE9mZnNldHMuYmluZCh0aGlzKSw2ZTQpfWRlc3Ryb3koKXt0aGlzLl9zeW1ib2xJbmZvLmRlc3Ryb3koKSxjbGVhckludGVydmFsKHRoaXMuX3RpbWVJbnRlcnZhbElkKX1jdXJyZW50VGltZVZhbHVlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRUaW1lLnJlYWRvbmx5KCl9dGltZXpvbmUoKXtjb25zdCBlPXRoaXMuX3N5bWJvbEluZm8udmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/IiI6KDAsaS50aW1lem9uZVRpdGxlKShlLnRpbWV6b25lKX1fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl7dGhpcy5fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpO2NvbnN0e25ld1Nlc3Npb25zRGF5czp0LG5ld1RvZGF5U2Vzc2lvbjpufT1RKGUsbnVsbD09PWU/bnVsbDpVKGUpKTt0aGlzLnNlc3Npb25zRGF5cy5zZXRWYWx1ZSh0KSx0aGlzLnRvZGF5U2Vzc2lvbi5zZXRWYWx1ZShuKX1fdXBkYXRlVG9kYXlXaXRoT2Zmc2V0cygpe2NvbnN0IGU9dGhpcy5fc3ltYm9sSW5mby52YWx1ZSgpO2lmKG51bGw9PT1lKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKC0xKTtjb25zdCB0PXRoaXMuX2N1cnJlbnRUaW1lLnZhbHVlKCksbj11KCgwLGEuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoVShlKSkpO3RoaXMuX2N1cnJlbnRUaW1lLnNldFZhbHVlKG4pLG48dCYmdGhpcy5fdXBkYXRlRW50cmllc0J5U3ViU2Vzc2lvbnMoZSl9fX0sMjIxMzAwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Z1bGxUb29sdGlwV2lkZ2V0OigpPT5FfSk7dmFyIHM9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLGE9bigxMzg2MzgpLHI9bigyNzMzMTApLGw9bigyOTU3NDQpLHU9big4NTQ4MjApLGM9big1OTA0ODYpLGQ9bigyMzQ2MzYpLG09big2MDE4NDEpLGg9bigxMDY5MDApLHA9bigxNTAxNTApLGY9big0Njg0OTMpLHY9big3OTk5OTQpLGc9big4NjA1NDgpLF89big0NDcyNjgpO2NvbnN0IHk9bmV3IFdlYWtNYXAsdz1uZXcgV2Vha01hcDtmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9KDAsaC51c2VXYXRjaGVkVmFsdWVSZWFkb25seSkoe3dhdGNoZWRWYWx1ZTplLmluZm99KSxuPSgwLGYudXNlUHJvbWlzZSkoKCgpPT5lLnByZWxpbWluYXJ5Sm9iPz9Qcm9taXNlLnJlc29sdmUoKSksdm9pZCAwLFtdKTtpZighdHx8ZS5wcmVsaW1pbmFyeUpvYiYmbnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3QgaT10Lm1hcCgodD0+e2NvbnN0e3RpdGxlOm4sdGl0bGVDb2xvcjppLGljb246bCxpY29uQ2xhc3NOYW1lOnUsaHRtbDpoLGFjdGlvbjpmLHNlY29uZGFyeUFjdGlvbjpTLGJhZGdlTGFiZWw6TSxzaXplOngsc29sdXRpb25JZDpOfT10O3kuaGFzKHQpfHx5LnNldCh0LCgwLHAucmFuZG9tSGFzaCkoKSk7bGV0IFQ9W107cmV0dXJuIHZvaWQgMCE9PWUuYWRkaXRpb25hbFdpZGdldHMmJihUPWUuYWRkaXRpb25hbFdpZGdldHMubWFwKCh0PT4ody5oYXModCl8fHcuc2V0KHQsKDAscC5yYW5kb21IYXNoKSgpKSx0LnJlbmRlcmVyKCgwLGEuZW5zdXJlRGVmaW5lZCkody5nZXQodCkpLF8uYWRkaXRpb25hbFdpZGdldCxlLm9uQ2xvc2UpKSkpKSxzLmNyZWF0ZUVsZW1lbnQoImRpdiIse2tleTp5LmdldCh0KSxjbGFzc05hbWU6bygpKF8ucG9wdXBXaWRnZXQsX1t4XSxlLmlzTW9iaWxlJiZfLm1vYmlsZSksImRhdGEtcWEtaWQiOnQuZGF0YVFhSWQsdGFiSW5kZXg6MCxyZWY6ZT0+e2U/LmZvY3VzKCl9fSxzLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6bygpKF8uaWNvbixnLnN0YXR1c0l0ZW0sdSxnW3hdLF9beF0pLHN0eWxlOnZvaWQgMCxpY29uOmx8fHZvaWQgMH0pLHMuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOl8uZGVzY30scy5jcmVhdGVFbGVtZW50KCJzcGFuIix7c3R5bGU6e2NvbG9yOml8fHZvaWQgMH0sY2xhc3NOYW1lOm8oKShfLnRpdGxlLF9beF0pCn0scy5jcmVhdGVFbGVtZW50KCJzcGFuIixudWxsLG4pLE0mJnMuY3JlYXRlRWxlbWVudChjLkJhZGdlLHtzaXplOmQuQmFkZ2VTaXplLlNtYWxsfSxNKSxOJiZzLmNyZWF0ZUVsZW1lbnQodi5IaW50QnV0dG9uLHtzb2x1dGlvbklkOk59KSksaCYmcy5jcmVhdGVFbGVtZW50KCJwIix7Y2xhc3NOYW1lOm8oKShfLnRleHQsX1t4XSl9LGgubWFwKCgoZSx0KT0+e2NvbnN0IG49YGh0bWxfaXRlbV8ke3R9YDtpZihzLmlzVmFsaWRFbGVtZW50KGUpKXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtfSxlKTtpZigoMCxtLmlzT2JqZWN0KShlKSYmInRleHQiaW4gZSl7Y29uc3QgdD1lO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6bygpKF8uaXRlbSx0LmJvbGQmJl8uYm9sZEl0ZW0pLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dC50ZXh0fX0pfXJldHVybiBzLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtrZXk6bixjbGFzc05hbWU6Xy5pdGVtLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6ZX19KX0pKSksZiYmcy5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Xy5hY3Rpb25zfSxFKGYsInByaW1hcnktYWN0aW9uIiksUyYmRShTLCJzZWNvbmRhcnktYWN0aW9uIikpLFQpKX0pKTtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KHMuRnJhZ21lbnQsbnVsbCxpKTtmdW5jdGlvbiBFKHQsbil7Y29uc3QgaT10LmNvbG9yfHwiZ3JheSIsYT1bImdyYXkiLCJncmVlbiIsInJlZCIsImJsdWUiXS5pbmNsdWRlcyhpKT91LkxpZ2h0QnV0dG9uOmwuU3F1YXJlQnV0dG9uO3JldHVybiBzLmNyZWF0ZUVsZW1lbnQoYSx7a2V5Om4sY2xhc3NOYW1lOm8oKShfLmFjdGlvbkJ0bix0LmNsYXNzTmFtZSksb25DbGljazooKT0+e2Uub25DbG9zZSgpLHQub25DbGljaygpfSxjb2xvcjppLHZhcmlhbnQ6dC52YXJpYW50LHNpemU6InhzbWFsbCIsdG9vbHRpcFRleHQ6dC50b29sdGlwfSx0LnRleHQpfX19LDIzMjM2MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNYXJrZXRTdGF0dXNWaWV3TW9kZWw6KCk9Pmx9KTt2YXIgcz1uKDY0MTU5MyksaT1uKDIzMjM2NCksbz1uKDIxNDc3MSksYT1uKDU2NTIwNikscj1uKDUyODg3Mik7Y2xhc3MgbCBleHRlbmRzIGEuU3RhdHVzVmlld01vZGVse2NvbnN0cnVjdG9yKGUsdCxuPSExKXtzdXBlcih7dG9vbHRpcE1hcDpyLnRvb2x0aXBNYXAsaWNvbk1hcDpyLmljb25NYXAsY2xhc3NOYW1lTWFwOnIuY2xhc3NOYW1lTWFwLHRpdGxlTWFwOnIudGl0bGVNYXAsdGl0bGVDb2xvck1hcDpyLnRpdGxlQ29sb3JNYXAsYWN0aW9uTWFwOnIuYWN0aW9uTWFwLHNpemU6dH0pLHRoaXMuX21vZGVsPW51bGwsdGhpcy5fZXhwaXJlZFN0YXR1cz1udWxsLHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9pZ25vcmVIaWRlU3RhdHVzU2V0dGluZ3M9bix0aGlzLnNldE1vZGVsKGUpLG8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS5zdWJzY3JpYmUodGhpcyx0aGlzLl9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCl9ZGVzdHJveSgpe3RoaXMuX21hcmtldFN0YXR1cy5kZXN0cm95KCksdGhpcy5fc2Vzc2lvbkVkZ2UuZGVzdHJveSgpLHRoaXMuX21vZGVsPW51bGwsby5zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHN1cGVyLmRlc3Ryb3koKX1zZXRNb2RlbChlKXtpZih0aGlzLl9tYXJrZXRTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Nlc3Npb25FZGdlLmRlc3Ryb3koKSx0aGlzLl9leHBpcmVkU3RhdHVzPy5kZXN0cm95KCksbnVsbD09PWUpcmV0dXJuIHRoaXMuX21hcmtldFN0YXR1cz1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZT1uZXcgaS5XYXRjaGVkVmFsdWUobnVsbCkuc3Bhd24oKSx2b2lkKHRoaXMuX2V4cGlyZWRTdGF0dXM9bnVsbCk7dGhpcy5fbW9kZWw9ZTtjb25zdCB0PWUuZnV0dXJlc0NvbnRyYWN0RXhwaXJhdGlvblRpbWUoKTt0JiYodGhpcy5fZXhwaXJlZFN0YXR1cz10LmV4cGlyZWQoKS5zcGF3bigpLHRoaXMuX2V4cGlyZWRTdGF0dXMuc3Vic2NyaWJlKChlPT57ZSYmdGhpcy5fdXBkYXRlQnlTdGF0dXModGhpcy5fbWFya2V0U3RhdHVzLnZhbHVlKCkpfSkpKSx0aGlzLl9tYXJrZXRTdGF0dXM9ZS5zdGF0dXMoKS5zcGF3bigpLHRoaXMuX21hcmtldFN0YXR1cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdHVzLmJpbmQodGhpcykse2NhbGxXaXRoTGFzdDohMH0pLHRoaXMuX3Nlc3Npb25FZGdlPWUubmV4dFNlc3Npb25FZGdlKCkuc3Bhd24oKSx0aGlzLl9zZXNzaW9uRWRnZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlVG9vbHRpcC5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVUb29sdGlwKCl9YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLnN0YXR1cygpLnZhbHVlKCk7aWYobnVsbD09PWUpcmV0dXJuIHZvaWQgdGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCk7Y29uc3QgdD1bXSxuPXIubWFya2V0U3RhdHVzRGVzY3JpcHRpb24uZ2V0KGUpO24mJnQucHVzaCgoMCxzLmh0bWxFc2NhcGUpKG4pKTtjb25zdCBpPXRoaXMuX21hcmtldFN0YXR1cy52YWx1ZSgpO2lmKG51bGwhPT10aGlzLl9tb2RlbCYmbnVsbCE9PWkmJiJleHBpcmVkIiE9PWkmJiJkZWxpc3RlZCIhPT1pKXtjb25zdCBuPXRoaXMuX21vZGVsLm5leHRTZXNzaW9uRWRnZSgpLnZhbHVlKCk7bnVsbCE9PW4mJnQucHVzaCh7dGV4dDpyLmNvdW50ZG93bkZuTWFwW2VdKG4pLGJvbGQ6ITB9KX10aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dCxzaXplOnRoaXMuX3NpemUsCmFjdGlvbjp0aGlzLl9nZXRBY3Rpb24oZSl9XSl9X3Nob3VsZEJlSGlkZGVuQnlTdGF0dXMoZSl7cmV0dXJuIXRoaXMuX2lnbm9yZUhpZGVTdGF0dXNTZXR0aW5ncyYmIW8uc2hvd01hcmtldE9wZW5TdGF0dXNQcm9wZXJ0eS52YWx1ZSgpJiYibWFya2V0Ij09PWV9X3VwZGF0ZVN0YXR1cyhlKXt0aGlzLl9zdGF0dXMuc2V0VmFsdWUoZSl9X3VwZGF0ZVRvb2x0aXAoKXt0aGlzLl91cGRhdGVGdWxsVG9vbHRpcCgpfV9zaG93TWFya2V0T3BlblN0YXR1c1Byb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJ5U3RhdHVzKHRoaXMuX3N0YXR1cy52YWx1ZSgpKX19fSw1NjUyMDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3RhdHVzVmlld01vZGVsOigpPT5hfSk7dmFyIHM9bigyMzIzNjQpLGk9big2NDE1OTMpLG89big4NjA1NDgpO2NsYXNzIGF7Y29uc3RydWN0b3IoZSl7dGhpcy5pc0JsaW5raW5nTW9kZT1uZXcgcy5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0YXR1cz1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fZnVsbFRvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb25DbGFzc05hbWVzPW5ldyBzLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl92aXNpYmxlPW5ldyBzLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3Rvb2x0aXA9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2ljb249bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NsYXNzTmFtZT1uZXcgcy5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fY3VzdG9tQ29sb3I9bmV3IHMuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2luZm9NYXBzPWUsdGhpcy5fc2l6ZT1lLnNpemV8fCJzbWFsbCIsdGhpcy5fc3RhdHVzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVCeVN0YXR1cy5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwfXR1cm5PZmZCbGlua2luZ01vZGUoKXt9c3RhdHVzKCl7cmV0dXJuIHRoaXMuX3N0YXR1c310b29sdGlwKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9aWNvbigpe3JldHVybiB0aGlzLl9pY29ufWNsYXNzTmFtZSgpe3JldHVybiB0aGlzLl9jbGFzc05hbWV9dmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1mdWxsSW5mbygpe3JldHVybiB0aGlzLl9mdWxsVG9vbHRpcH1jdXN0b21Db2xvcigpe3JldHVybiB0aGlzLl9jdXN0b21Db2xvcn1fZ2V0VG9vbHRpcChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMudG9vbHRpcE1hcD8uZ2V0KGUpPz9udWxsfV9nZXRJY29uKGUpe2xldCB0O2NvbnN0IG49dGhpcy5faW5mb01hcHMuaWNvbk1hcC5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PW4mJih0PW4uZ2V0KHRoaXMuX3NpemUpKSx0fHxudWxsfV9nZXRDbGFzc05hbWUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLmNsYXNzTmFtZU1hcC5nZXQoZSl8fG51bGx9X2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSl7Y29uc3QgdD10aGlzLl9nZXRDbGFzc05hbWUoZSk7cmV0dXJuIHQ/W28uc3RhdHVzSXRlbSx0XTpbXX1fZ2V0VGl0bGUoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlTWFwPy5nZXQoZSk/P251bGx9X2dldFRpdGxlQ29sb3IoZSl7cmV0dXJuIHRoaXMuX2luZm9NYXBzLnRpdGxlQ29sb3JNYXA/LmdldChlKT8/bnVsbH1fZ2V0QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5hY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpe3JldHVybiB0aGlzLl9pbmZvTWFwcy5zZWNvbmRhcnlBY3Rpb25NYXA/LmdldChlKT8/bnVsbH1fZ2V0QmFkZ2VMYWJlbChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuYmFkZ2VNYXA/LmdldChlKT8/bnVsbH1fZ2V0SFRNTChlKXtyZXR1cm4gdGhpcy5faW5mb01hcHMuaHRtbE1hcD8uZ2V0KGUpPy5tYXAoKGU9PiJzdHJpbmciPT10eXBlb2YgZT8oMCxpLmh0bWxFc2NhcGUpKGUpOmUpKT8/W119YXN5bmMgX3VwZGF0ZUZ1bGxUb29sdGlwKCl7Y29uc3QgZT10aGlzLl9zdGF0dXMudmFsdWUoKTtudWxsIT09ZT90aGlzLl9mdWxsVG9vbHRpcC5zZXRWYWx1ZShbe2ljb246dGhpcy5fZ2V0SWNvbihlKSxpY29uQ2xhc3NOYW1lOnRoaXMuX2dldEZ1bGxUb29sdGlwSWNvbkNsYXNzTmFtZXMoZSksdGl0bGU6dGhpcy5fZ2V0VGl0bGUoZSksdGl0bGVDb2xvcjp0aGlzLl9nZXRUaXRsZUNvbG9yKGUpLGh0bWw6dGhpcy5fZ2V0SFRNTChlKSxzaXplOnRoaXMuX3NpemUsYWN0aW9uOnRoaXMuX2dldEFjdGlvbihlKSxzZWNvbmRhcnlBY3Rpb246dGhpcy5fZ2V0U2Vjb25kYXJ5QWN0aW9uKGUpLGJhZGdlTGFiZWw6dGhpcy5fZ2V0QmFkZ2VMYWJlbChlKSxkYXRhUWFJZDp0aGlzLl9kYXRhUWFJZCgpPz92b2lkIDB9XSk6dGhpcy5fZnVsbFRvb2x0aXAuc2V0VmFsdWUobnVsbCl9X2RhdGFRYUlkKCl7cmV0dXJuIG51bGx9X3VwZGF0ZUJ5U3RhdHVzKGUpe2lmKG51bGw9PT1lfHx0aGlzLl9zaG91bGRCZUhpZGRlbkJ5U3RhdHVzKGUpKXJldHVybiB0aGlzLl9pY29uLnNldFZhbHVlKG51bGwpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl92aXNpYmxlLnNldFZhbHVlKCExKTt0aGlzLl9pY29uLnNldFZhbHVlKHRoaXMuX2dldEljb24oZSkpLHRoaXMuX2NsYXNzTmFtZS5zZXRWYWx1ZSh0aGlzLl9nZXRDbGFzc05hbWUoZSkpLHRoaXMuX3Rvb2x0aXAuc2V0VmFsdWUodGhpcy5fZ2V0VG9vbHRpcChlKSksdGhpcy5fdmlzaWJsZS5zZXRWYWx1ZSghMCksdGhpcy5fdXBkYXRlRnVsbFRvb2x0aXAoKX1fc2hvdWxkQmVIaWRkZW5CeVN0YXR1cyhlKXtyZXR1cm4hMX19fSw2NzMwNjUoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptNC05Ljk3TDExLjkgNiA4LjMgOS44MiA2LjEgNy40NiA0Ljk5IDguNSA4LjMyIDEyIDEzIDcuMDNaIi8+PC9zdmc+J30sNDAwMDQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlpNOSA0Yy0uNzkgMC0xLjM4LjctMS4yNSAxLjQ4bC42NyA0LjAzYS41OS41OSAwIDAgMCAxLjE2IDBsLjY3LTQuMDNBMS4yNyAxLjI3IDAgMCAwIDkgNFptMCA4YTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMloiLz48L3N2Zz4nfSw1MjcyMTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMTdBOCA4IDAgMSAwIDkgMWE4IDggMCAwIDAgMCAxNlptMS0xMmExIDEgMCAxIDEtMiAwIDEgMSAwIDAgMSAyIDBaTTguNSA5LjVIN1Y4aDN2Nkg4LjVWOS41WiIvPjwvc3ZnPid9LDc4NTk5NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDE3QTggOCAwIDEgMCA5IDFhOCA4IDAgMCAwIDAgMTZabS0xLTRhMSAxIDAgMSAwIDIgMCAxIDEgMCAwIDAtMiAwWm0yLjgzLTMuNTJjLS40OS40My0uOTcuODUtMS4wNiAxLjUySDguMjZjLjA4LTEuMTguNzQtMS42OSAxLjMyLTIuMTMuNDktLjM4LjkyLS43MS45Mi0xLjM3QzEwLjUgNi42NyA5LjgyIDYgOSA2cy0xLjUuNjctMS41IDEuNVY4SDZ2LS41YTMgMyAwIDEgMSA2IDBjMCAuOTYtLjYgMS40OC0xLjE3IDEuOThaIi8+PC9zdmc+J30sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+c30pO2xldCBzPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.62351.b382da174f097a0d0e43.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.732Z","timestamp":1785136427732,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.62351.b382da174f097a0d0e43.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-20902\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1ab1d25e7f92484206c610b959e649e6\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":133378,"size_decoded":33504,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3071)","md5":"592868958f083a645011c18526be50f6","sha1":"33a4aca0ed967d4c042777d21cfe064a9fe7621b","sha256":"9ac1b143f8bfa585ff4c79336d6e869e8236f9a663d1610bf4d1f2f452e5cf6c","sha512":"8a8bcd9d03298df1b5917f0bbe544ffe5779ee6ff2037cbab84cf0a15996a5208f3d75e6bb1d5f3a27bfd89ad8e3d452b3de058cdd314aeca07608d8c12a14b6","ssdeep":"1536:HcIavPJ0d2mzNQgTQ4yBoYSovc3fVfcD/WZz67dvUOPpguNd3mTdED:F2mzNhE4yFc3fVTudGu7D","tlshash":"e9d3cd07e140a4d66b71c15237cadcc9bdf4a88a43e0c685739adf38c52be2762b6d74","first_seen":"2026-07-24T15:28:44.72755Z","last_seen":"2026-07-28T06:17:53.366836Z","times_seen":205,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":13,"timings":{"blocked":-1,"dns":1,"connect":5,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/80207.3e5e7d68c875b367cad0.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.462Z","timestamp":1785136428462,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80207.3e5e7d68c875b367cad0.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3a25bf-d2fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 23 Jun 2026 06:20:47 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/23/2026 10:37:07\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 091ac84c47f0d541de943f54f6f3c9a8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54012,"size_decoded":13968,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (51870)","md5":"efb45a2a5e9dedce76162279dc170b0e","sha1":"38843307f1bc14de893dfe253b89aa9ec4532bfa","sha256":"c4adc1700ca5f8538ca44843bf76da33e0bc360cdf11ff0ddafbd8856c5bad4d","sha512":"3ef5908b8c8ed8de392171a9c51bbea83f11fdb7542f8fb58439589ee43db4b6785bdb1a3e71993950d28351eb79c5548d8567cfb5f4a5991ab3488d323d675e","ssdeep":"1536:guE5AIu9J3vqcJNT6FuEckfLVnddIwc99EkRIWEEPk2SYHj28kxu:DGxu95vqcHT6gT8VnddPgTRCEgYDDkxu","tlshash":"7f33a56091880f44656183d0bcff24602d9c3d5b4ab665bcde9f0d5b4e99ac83e3bd3a","first_seen":"2026-06-24T00:20:51.960912Z","last_seen":"2026-07-28T04:58:41.895229Z","times_seen":425,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODAyMDddLHszODAyMDcobCxpLG4pe24uZChpLHt0cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YTooKT0+dX0pO3ZhciB0PW4oMTg1MjcxKTtjb25zdCBlPW5ldyBNYXAoW1siQmFzaWMgTWF0ZXJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAxMTY4KSldLFsiQ2FwaXRhbCBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NjU4OSkpXSxbIkNvbW1lcmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0Mzc3MDEpKV0sWyJDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1ODE4KSldLFsiQ29uZ2xvbWVyYXRlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMTMzMykpXSxbIkNvbnN1bWVyIEN5Y2xpY2FsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU5MjUyKSldLFsiQ29uc3VtZXIgQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1Mzk1KSldLFsiQ29uc3VtZXIgRHVyYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTQ4NDMpKV0sWyJDb25zdW1lciBOb24tQ3ljbGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMxODgyKSldLFsiQ29uc3VtZXIgTm9uLUR1cmFibGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU2NDc1KSldLFsiQ29uc3VtZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI4MDgpKV0sWyJDb25zdW1lci9Ob24tQ3ljbGljYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjQ5KSldLFsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcxMzQyKSldLFsiRWxlY3Ryb25pYyBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU5NjE1KSldLFsiRW5lcmd5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI1NTQyKSldLFsiRW5lcmd5IE1pbmVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYwMzg5KSldLFsiRmluYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MjE5MykpXSxbIkZpbmFuY2lhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODQ3OSkpXSxbIkZpbmFuY2lhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjkzMjUpKV0sWyJHb3Zlcm5tZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgzMzE4KSldLFsiSGVhbHRoIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjIwNjAxKSldLFsiSGVhbHRoIFRlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTg0NTcpKV0sWyJIZWFsdGhjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA2ODY3KSldLFsiSW5kdXN0cmlhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5OTU2MCkpXSxbIkluZHVzdHJpYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NTcyKSldLFsiTWlzY2VsbGFuZW91cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NzAyMykpXSxbIk5vbi1FbmVyZ3kgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI1MzgpKV0sWyJQcm9jZXNzIEluZHVzdHJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2OTgpKV0sWyJQcm9kdWNlciBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI3NjQwKSldLFsiUmV0YWlsIFRyYWRlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTkwMDY2KSldLFsiU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzcwNTkpKV0sWyJUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjcxMDc5KSldLFsiVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0MDk1MykpXSxbIlRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjU4NSkpXSxbIlRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4MzkwKSldLFsiVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODkxMTM2KSldXSkKO2NvbnN0IG89bmV3IE1hcChbWyJFeG90aWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODA4MzIpKV0sWyJNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0Nzc1MykpXSxbIk1pbm9yIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA2OTgzKSldLFsiQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzkwMjcpKV0sWyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzMjkyKSldLFsiQWRoZXNpdmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTgzMTApKV0sWyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODcwNzUpKV0sWyJBZHVsdCBQcm9kdWN0cyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTA3ODQpKV0sWyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwOTkzKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI5NjQwKSldLFsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk0MDMzKSldLFsiQWR2YW5jZWQgUG9seW1lciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4MDM0MCkpXSxbIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc1ODc2KSldLFsiQWR2ZXJ0aXNpbmcgJiBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjgzNjkpKV0sWyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODU2NzcpKV0sWyJBZHZlcnRpc2luZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4NjkpKV0sWyJBZXJvc3BhY2UgJiBEZWZlbnNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMwOTY5KSldLFsiQWdyaWN1bHR1cmFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODUxNTApKV0sWyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2Mjg3OCkpXSxbIkFncmljdWx0dXJhbCBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTE2NzIpKV0sWyJBZ3JpY3VsdHVyYWwgQ29tbW9kaXRpZXMvTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwMjY4MCkpXSxbIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODIxMDEpKV0sWyJBZ3JpY3VsdHVyZSBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3MzkyKSldLFsiQWlyICYgR2FzIENvbXByZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA4OTY0KSldLFsiQWlyIEZyZWlnaHQgJiBDb3VyaWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODA3MDQyKSldLFsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MTApKV0sWyJBaXIgRnJlaWdodCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwNDg0NikpXSxbIkFpciBGcmVpZ2h0L0NvdXJpZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNDkzKSldLFsiQWlyIEZyZWlnaHQvRGVsaXZlcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NjgzMzYpKV0sWyJBaXJjcmFmdCBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ4MDkxKSldLFsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcwMjE3MSkpXSxbIkFpcmxpbmUgQ2F0ZXJpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDgyNzYpKV0sWyJBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDQwMykpXSxbIkFpcnBvcnQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg2NDcwKSldLFsiQWlycG9ydCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwMjMwMykpXSxbIkFsbCBPdGhlciBGb29kIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjIwMTYpKV0sWyJBbHRlcm5hdGl2ZSBNZWRpY2luZSBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjEwMDgxKSldLFsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTQ1MDApKV0sWyJBbHRlcm5hdGl2ZSBQb3dlciBHZW5lcmF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk1NzQ1KSldLFsiQWx1bWludW0gUm9sbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNzc3MSkpXSxbIkFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY3OTkzKSldLFsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgxMDg4KSldLFsiQW11c2VtZW50IFBhcmtzIGFuZCBab29zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE5NTMpKV0sWyJBbmltYWwgQnJlZWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM4MzQpKV0sWyJBbmltYWwgRmVlZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MDY4NCkpXSxbIkFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQzODY2KSldLFsiQW50aXF1ZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzgwMzUwKSldLFsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NTcyNSkpXSxbIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTc4NykpXSxbIkFwcGFyZWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTI4MDkpKV0sWyJBcHBhcmVsL0Zvb3R3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI2NzM0KSldLFsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDI5ODQpKV0sWyJBcHBsaWFuY2UgJiBIb3VzZXdhcmUgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzAyNDQ3KSldLFsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4NDApKV0sWyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MjE1NCkpXSxbIkFxdWFjdWx0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgxMjYwKSldLFsiQXJtcyAmIEFtbXVuaXRpb25zIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODY0NjUpKV0sWyJBdXRvICYgVHJ1Y2sgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNTY2MikpXSxbIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzU1NzkpKV0sWyJBdXRvICYgVHJ1Y2sgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODc4NzIzKSldLFsiQXV0byBDbGVhbmluZyBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1ODIzNSkpXSxbIkF1dG8gUGFydHM6IE9FTSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEyKSldLFsiQXV0byBWZWhpY2xlcywgUGFydHMgJiBTZXJ2aWNlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5Njk3MikpXSxbIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTk4MykpXSxbIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY1MjIyKSldLFsiQXV0b21vdGl2ZSBBZnRlcm1hcmtldCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0MzE1NykpXSxbIkF1dG9tb2JpbGVzICYgTXVsdGkgVXRpbGl0eSBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5ODY2MikpXSxbIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjk2NDYpKV0sWyJBdXRvbW90aXZlIEJhdHRlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE3NTc0NCkpXSxbIkF1dG9tb3RpdmUgQm9keSBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NTU5MSkpXSxbIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NTcwODkpKV0sWyJBdXRvbW90aXZlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTcyNTQpKV0sWyJCYWJ5IEZvb2QiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDg1NDkpKV0sWyJCYWxsICYgUm9sbGVyIEJlYXJpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg4OTY5KSldLFsiQmFua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTc4MzcpKV0sWyJCYW5xdWV0IEhhbGxzICYgQ2F0ZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjQ1OTUpKV0sWyJCYXRocm9vbSBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNTkwOCkpXSxbIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4ODU1MikpXSxbIkJhdXhpdGUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDk4Mjg4KSldLFsiQmVhdXR5IFN1cHBseSBTaG9wIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTQyKSldLFsiQmVlZiAmIFZlYWwgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMTE2KSldLFsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk2MzYpKV0sWyJCZXZlcmFnZXM6IEFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1NzQ3MSkpXSxbIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Mzg4NSkpXSxbIkJldmVyYWdlcyAoUHJvZHVjdGlvbi9EaXN0cmlidXRpb24pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyODY2KSldLFsiQmljeWNsZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM4KSldLFsiQmlvIERpYWdub3N0aWNzICYgVGVzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNTE1NykpXSxbIkJpbyBNZWRpY2FsIERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzIzMTYpKV0sWyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDgyNDkpKV0sWyJCaW9kaWVzZWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYyNikpXSxbIkJpb21hc3MgJiBCaW9nYXMgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTcyMzkpKV0sWyJCaW9tZXRyaWMgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Mzc0MDkpKV0sWyJCaW9waGFybWFjZXV0aWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDU3NTMpKV0sWyJCaW90ZWNobm9sb2d5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc5NDEzKSldLFsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTIxNDMpKV0sWyJCaXJ0aCBDb250cm9sIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0NzU3KSldLFsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk3NjM0NikpXSxbIkJvb2sgUHJpbnRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDYyNDcpKV0sWyJCb29rIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAxODIpKV0sWyJCb3R0bGVkIFdhdGVyICYgSWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk2NzAwKSldLFsiQnJhbmRpbmcgJiBOYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjEzOTkpKV0sWyJCcmVhZCAmIEJha2VyeSBQcm9kdWN0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkxODApKV0sWyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDMwNDIpKV0sWyJCcmV3ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwNDEzKSldLFsiQnJvYWRjYXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MTk2MykpXSxbIkJyb2FkY2FzdGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYxNikpXSxbIkJyb2tlcmFnZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODQ4MSkpXSxbIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU1MDc3KSldLFsiQnVpbGRlciBNZXJjaGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjE3MTcpKV0sWyJCdWlsZGluZyBDb250cmFjdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjcxOSkpXSxbIkJ1aWxkaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU3MjM0KSldLFsiQnVzaW5lc3MgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI2NDcpKV0sWyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTczNSkpXSxbIkJ1c2luZXNzIFN1cHBvcnQgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzAyOTkpKV0sWyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxMjgyNikpXSxbIkNhYmxlL1NhdGVsbGl0ZSBUViIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMjg4NykpXSxbIkNhZmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzI5ODMwKSldLFsiQ2FsbCBDZW50ZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjQ4MzQpKV0sWyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzUxMjEpKV0sWyJDYXJib25hdGVkIFNvZnQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzMwNTczKSldLFsiQ2FycGV0cyAmIEN1cnRhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkxNzYpKV0sWyJDYXNpbm9zICYgR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU4MjU2KSldLFsiQ2FzaW5vcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwNjIwNykpXSxbIkNhc2lub3MvR2FtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3MzQ1KSldLFsiQ2FzdWFsdHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEwNDY4KSldLFsiQ2F0YWxvZy9TcGVjaWFsdHkgRGlzdHJpYnV0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE1NzA1KSldLFsiQ2VsbHVsYXIgRmliZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDM1MTgpKV0sWyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NDU2KSldLFsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1NDQxKSldLFsiQ2hhcnRlciBCdXMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg0OTYpKV0sWyJDaGVtaWNhbHM6IEFncmljdWx0dXJhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MDE5MSkpXSxbIkNoZW1pY2FsczogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzM3MikpXSxbIkNoZW1pY2FsczogU3BlY2lhbHR5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYzMDU1KSldLFsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MTUyNikpXSxbIkNoaWxkcmVuICYgSW5mYW50cyBDbG90aGluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODY4NTgpKV0sWyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mzg0MzIpKV0sWyJDaG9jb2xhdGUgJiBDb25mZWN0aW9uZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ4OTA5KSldLFsiQ2lnYXJzICYgQ2lnYXJldHRlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDM2ODcpKV0sWyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0ODk1KSldLFsiQ2xlYW5pbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjUxOTgpKV0sWyJDbGVhcmluZywgU2V0dGxlbWVudCAmIEN1c3RvZGlhbCBTZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjA0NDM3KSldLFsiQ2xvc2VkIEVuZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4OTg0KSldLFsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk3NTM0KSldLFsiQ29hbCBNaW5pbmcgU3VwcG9ydCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxMDQpKV0sWyJDb2FsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzNTg5NCkpXSxbIkNvYWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM3NDApKV0sWyJDb2ZmZWUgJiBUZWEiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjcwODQpKV0sWyJDb2ZmZWUsIFRlYSAmIENvY29hIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUwMikpXSxbIkNva2UgQ29hbCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjM4MDkpKV0sWyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2NzMpKV0sWyJDb2xvcmluZyBBZ2VudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjY3OSkpXSxbIkNvbW1lcmNpYWwgQWlyY3JhZnQgTWFudWZhY3R1cmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNTY5KSldLFsiQ29tbWVyY2lhbCBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzU4MykpXSxbIkNvbW1lcmNpYWwgQnVpbGRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg5MjM4KSldLFsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODAyNTE5KSldLFsiQ29tbWVyY2lhbCBFcXVpcG1lbnQgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkyNTE2KSldLFsiQ29tbWVyY2lhbCBGaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc5ODM1KSldLFsiQ29tbWVyY2lhbCBGb29kIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM1MDcpKV0sWyJDb21tZXJjaWFsIExlYXNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NDk1MTApKV0sWyJDb21tZXJjaWFsIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4OTc5KSldLFsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjUxNjMpKV0sWyJDb21tZXJjaWFsIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NDAyKSldLFsiQ29tbWVyY2lhbCBQcmludGluZy9Gb3JtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NzkzNSkpXSxbIkNvbW1lcmNpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDcyMzIpKV0sWyJDb21tb2RpdHkgQ2hlbWljYWxzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1ODA4NSkpXSxbIkNvbW1vZGl0eSBDaGVtaWNhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTI5MTMpKV0sWyJDb21tdW5pY2F0aW9uICYgU2F0ZWxsaXRlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY4NzUyKSldLFsiQ29tbXVuaWNhdGlvbnMgJiBOZXR3b3JraW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg1Njg4KSldLFsiQ29tbXV0ZXIgRmVycnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDUyMDkpKV0sWyJDb21tdXRpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTY2NjEpKV0sWyJDb21wdXRlciBDb21tdW5pY2F0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNzI2MykpXSxbIkNvbXB1dGVyICYgRWxlY3Ryb25pY3MgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI1MDI4KSldLFsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2NjUpKV0sWyJDb21wdXRlciBIYXJkd2FyZSBDb21wb25lbnQgQXNzZW1ibHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODIyMTcpKV0sWyJDb21wdXRlciBIYXJkd2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NTQyMikpXSxbIkNvbXB1dGVyIFBlcmlwaGVyYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk0OTQpKV0sWyJDb21wdXRlciBQcm9jZXNzaW5nIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI1ODMwKSldLFsiQ29tcHV0ZXIgUHJvZ3JhbW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzA3NCkpXSxbIkNvbnN1bWVyIFN1bmRyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODQ3Mzk4KSldLFsiQ29tcHV0ZXIgVHJhaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4OTY0NSkpXSxbIkNvbmZlcmVuY2luZyBUb29scyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzA4MzMpKV0sWyJDb250YWluZXJzL1BhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTM0OSkpXSxbIkNvbnRyYWN0IERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk2NTI1KSldLFsiQ29uc3RydWN0aW9uICYgRW5naW5lZXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzU5NDcpKV0sWyJDb25zdHJ1Y3Rpb24gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjYyODE0KSldLFsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzg1OTQpKV0sWyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk2NykpXSxbIkNvbnN0cnVjdGlvbiBNYXRlcmlhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDE0ODIpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY4MzkpKV0sWyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMgJiBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDI3MykpXSxbIkNvbnN0cnVjdGlvbiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ1NCkpXSxbIkNvbnN1bWVyIENyZWRpdCBDYXJkcyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NzkwOCkpXSxbIkNvbnN1bWVyIERvY3VtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzE5ODMpKV0sWyJDb25zdW1lciBFbGVjdHJvbmljIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkyNDM5MykpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTA4OCkpXSxbIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjg0KSldLFsiQ29uc3VtZXIgR29vZHMgUmVudGFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkwNzE2KSldLFsiQ29uc3VtZXIgTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDY2NikpXSxbIkNvbnN1bWVyIExlbmRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTkzOTMpKV0sWyJDb25zdW1lciBQdWJsaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY5MjkxKSldLFsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIyNTI5KSldLFsiQ29udGFpbmVyICYgUGFja2FnaW5nIE1hdGVyaWFsIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2OTQzNikpXSxbIkNvbnRlbnQgJiBTaXRlIE1hbmFnZW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTc5MzQpKV0sWyJDb29raWUsIENyYWNrZXIgJiBQYXN0YSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzIzMjgyKSldLFsiQ29wcGVyIE9yZSAgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIyNzU5KSldLFsiQ29weXJpZ2h0IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjQ0MDYpKV0sWyJDb3Jwb3JhdGUgQWNjb3VudGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3MjIzOSkpXSxbIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTA3NDMpKV0sWyJDb3NtZXRpY3MgJiBQZXJmdW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0Mzc3OCkpXSxbIkNvdXJpZXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjUxNzgpKV0sWyJDcmFmdCAmIE1pY3JvIEJyZXdlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MDk5ODIpKV0sWyJDcmVkaXQgVW5pb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc0NzI4KSldLFsiQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU5NTMwKSldLFsiQ3V0bGVyeSAmIEZsYXR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTY1ODgzKSldLFsiRGFpcnkgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODkwMTUpKV0sWyJEYXRhIFByb2Nlc3NpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODQ3ODApKV0sWyJEZWVwIFNlYSBGcmVpZ2h0IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NDAzKSldLFsiRGVwYXJ0bWVudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTUxMDUpKV0sWyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2OTcwKSldLFsiRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAyMjA2KSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg4MTIxKSldLFsiRGlhZ25vc3RpYyAmIFRlc3RpbmcgU3Vic3RhbmNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODU3MSkpXSxbIkRpYW1vbmQgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUyMDg5KSldLFsiRGlnaXRhbCBNZWRpYSBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNzM3NykpXSxbIkRpZ2l0YWwgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzNjQ4MCkpXSxbIkRpcmVjdCBNYXJrZXRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTE0OTYpKV0sWyJEaXJlY3RvcnkgUHVibGlzaGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2NTAzMSkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRoIGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNzE4NCkpXSxbIkRpc2NvdW50IFN0b3JlcyB3aXRob3V0IGdyb2NlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NTEyNCkpXSxbIkRpc2NvdW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUxODExNykpXSxbIkRpc3BsYXkgU2NyZWVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5OTgyNCkpXSxbIkRpc3RpbGxlcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzMDIwKSldLFsiRGlzdGlsbGVycyAmIFdpbmVyaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU4MDk1KSldLFsiRGl2ZXJzaWZpZWQgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODgyOTE5KSldLFsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2OTE4NSkpXSxbIkRpdmVyc2lmaWVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYwMDYpKV0sWyJEaXZlcnNpZmllZCBUcmFkaW5nICYgRGlzdHJpYnV0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTAzNzMxKSldLFsiRG9jdG9yJ3MgT2ZmaWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODMyNTYyKSldLFsiRG9sbHMgJiBTdHVmZmVkIFRveXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjQ1NykpXSxbIkRvb3JzICYgV2luZG93IEZyYW1lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjE0MykpXSxbIkRydWcgRGVsaXZlcnkgU3lzdGVtcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2MTA2MCkpXSxbIkRydWcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MjA2KSldLFsiRHJ1Z3N0b3JlIENoYWlucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5Njc3MikpXSxbIkUtY29tbWVyY2UgJiBBdWN0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcwMTA1KSldLFsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzMDgyKSldLFsiRWR1Y2F0aW9uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDQyNjApKV0sWyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzQ3ODIpKV0sWyJFbGVjdHJpYyBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzg3MTcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODExODcwKSldLFsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2NzExKSldLFsiRWxlY3RyaWNhbCAoQWx0ZXJuYXRpdmUpIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTk5MDE0KSldLFsiRWxlY3RyaWNhbCBDb21wb25lbnRzICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDYxMjI3KSldLFsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE2NTM3KSldLFsiRWxlY3RyaWNhbCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxNDQ0MCkpXSxbIkVsZWN0cm9uIFR1YmVzICYgSW5zdWxhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTQ2NSkpXSxbIkVsZWN0cm9uaWMgQ29tcG9uZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY4NTYwKSldLFsiRWxlY3Ryb25pYyBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQ5NDE5KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1NDA0NykpXSxbIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzczMTQ0KSldLFsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTYzMTYpKV0sWyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk0NzM3KSldLFsiRWxlY3Ryb25pYyBSZXBhaXIgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTQzMikpXSxbIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMjI0NykpXSxbIkVsZWN0cm9uaWNzL0FwcGxpYW5jZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzcwMDkpKV0sWyJFbGVjdHJvbmljcy9BcHBsaWFuY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwMDM3KSldLFsiRWxldmF0b3IgJiBDb252ZXlpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDU5KSldLFsiRW1wbG95bWVudCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTc5MCkpXSxbIkVuZXJneSBEcmlua3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNjc3NjApKV0sWyJFbmdpbmUgJiBQb3dlcnRyYWluIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTczMDQpKV0sWyJFbmdpbmVlcmluZyAmIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMzI2MikpXSxbIkVudGVycHJpc2UgU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQ0ODEpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTg3NjcpKV0sWyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgwMTEpKV0sWyJFbnZpcm9ubWVudGFsIEJpb3RlY2hub2xvZ3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMDUyMDkpKV0sWyJFbnZpcm9ubWVudGFsIENvbnN1bHRhbmN5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjcyKSldLFsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwNzAxNykpXSxbIkVudmlyb25tZW50YWwgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTAwOTApKV0sWyJFcG94eSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg3MzQwMykpXSxbIkV0aGFub2wgRnVlbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTA2MjMpKV0sWyJFeGNoYW5nZSBUcmFkZWQgRnVuZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0ODc1MykpXSxbIkV4Y2hhbmdlIFRyYWRlZCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMjUzMikpXSxbIkV4ZWN1dGl2ZSBTZWFyY2ggU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkzMTYpKV0sWyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTE3NykpXSxbIkV4cGxvc2l2ZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTEyNTEpKV0sWyJGYWJyaWMgRHllaW5nICYgRmluaXNoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTgwNjU4KSldLFsiRmFjdG9yaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUyNDMwKSldLFsiRmFzaGlvbiBFeWV3ZWFyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ1NTE2KSldLFsiRmVydGlsaXplciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYzNjA2NCkpXSxbIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQ4NSkpXSxbIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY1OTA1KSldLFsiRmluYW5jZS9SZW50YWwvTGVhc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5MjI5NikpXSxbIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTAwMjQ3KSldLFsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjA2NDIpKV0sWyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0NDMzKSldLFsiRmluYW5jaWFsIFB1Ymxpc2hpbmcvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzcyNjQpKV0sWyJGaW5hbmNpYWwgVGVjaG5vbG9neSAmIEluZnJhc3RydWN0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDQzNDk2KSldLFsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjE2MTg5KSldLFsiRmlzaGluZyAmIEZhcm1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE2OTUpKV0sWyJGbG9vciBDb3ZlcmluZyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODU0MjkpKV0sWyJGbG9vcmluZyAmIEludGVyaW9yIFRpbGUgTWFudWZhY3R1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODYyOCkpXSxbIkZsb3Jpc3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5NDg3KSldLFsiRmxvdXIgTWlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5ODIzNykpXSxbIkZsdWlkIFBvd2VyIEN5bGluZGVyICYgQWN0dWF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MjI1KSldLFsiRm9vZCBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MzI4NDcpKV0sWyJGb29kIEluZ3JlZGllbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDAzOTQzKSldLFsiRm9vZCBNYXJrZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE0Mzg3KSldLFsiRm9vZCBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ2MDQzKSldLFsiRm9vZCBSZXRhaWwiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzE0MzQpKV0sWyJGb29kIFJldGFpbCAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg2MzY2MSkpXSxbIkZvb2QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc2ODIyKSldLFsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTc3MDkpKV0sWyJGb29kOiBNZWF0L0Zpc2gvRGFpcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjQ2ODUpKV0sWyJGb29kOiBTcGVjaWFsdHkvQ2FuZHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MzE4ODMpKV0sWyJGb290d2VhciBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTUwMzcpKV0sWyJGb290d2VhciBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzMyOTUpKV0sWyJGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODA1NykpXSxbIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDgwMDgpKV0sWyJGb3Jlc3QgTnVyc2VyaWVzICYgR2F0aGVyaW5nIG9mIEZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2NDIzOSkpXSxbIkZvcmVzdCBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NDY1MykpXSxbIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzE4NzUpKV0sWyJGb3NzaWwgRnVlbCBFbGVjdHJpYyBVdGlsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDk4MikpXSxbIkZvc3NpbCBGdWVsIElQUHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTM3MTEpKV0sWyJGcmVpZ2h0IExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk2OTIzNykpXSxbIkZyZWlnaHQgVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNDI3MDYpKV0sWyJGcm96ZW4gRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzgyOTY0KSldLFsiRnJ1aXQgJiBWZWdldGFibGUgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxNjYyKSldLFsiRnJ1aXQgRHJpbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc0MjE2KSldLFsiRnVuZXJhbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MTkxOSkpXSxbIkZ1cm5pdHVyZSBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mzg1KSldLFsiRnVybml0dXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjY2NjcxKSldLFsiR2FtYmxpbmcgJiBHYW1pbmcgTWFjaGluZSBNYW51ZmFjdHVyZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIwMTU2KSldLFsiR2FtZXMsIFRveXMgJiBDaGlsZHJlbiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NDg0MSkpXSxbIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ4NTkzNSkpXSxbIkdhcyBEaXN0cmlidXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc5OTYpKV0sWyJHYXMgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI1MTExKSldLFsiR2Fzb2xpbmUgc3RhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjczMTYpKV0sWyJHZW5lcmFsIEVkdWNhdGlvbiBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1NTE3NykpXSxbIkdlbmVyYWwgR292ZXJubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0MTk5NSkpXSxbIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ2MTQ2KSldLFsiR2VvcGh5c2ljYWwgU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNDEyMykpXSxbIkdpZnQsIE5vdmVsdHkgJiBTb3V2ZW5pciBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTMyNDEpKV0sWyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjM2MjIxKSldLFsiR2xhc3NlcywgU3BlY3RhY2xlcyAmIENvbnRhY3QgbGVuc2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NDYxKSldLFsiR29sZCBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODM1KSldLFsiR29sZCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2NTI5NCkpXSxbIkdvbGYgQ291cnNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5ODMyNSkpXSxbIkdyYWluIChDcm9wKSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUwMjc3KSldLFsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjkyOTEpKV0sWyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODQzMykpXSxbIkd5bXMsIEZpdG5lc3MgYW5kIFNwYSBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzE3NzgxKSldLFsiSGFpciBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEzNjk0NikpXSxbIkhhbGFsIEFuaW1hbCBTbGF1Z2h0ZXJpbmcgJiBQcm9jZXNzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI4NjQxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NDAxKSldLFsiSGFuZGJhZ3MgJiBMdWdnYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY2NDc5KSldLFsiSGVhbHRoIEZvb2QgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAwOTU2KSldLFsiSGVhbHRoIEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MDA5MCkpXSxbIkhlYWx0aGNhcmUgRmFjaWxpdGllcyAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjkzMTg1KSldLFsiSGVhbHRoY2FyZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE2ODcyOCkpXSxbIkhlYXRpbmcsIFZlbnRpbGF0aW9uICYgQWlyIENvbmRpdGlvbmluZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTM5OTIyKSldLFsiSGVhdnkgQnVzZXMgJiBDb2FjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyOTgzKSldLFsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTgxMjcpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTgwNDQpKV0sWyJIZWF2eSBNYWNoaW5lcnkgJiBWZWhpY2xlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4MTYwNCkpXSxbIkhlYXZ5IE1vdG9ycyAmIEdlbmVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTA1MikpXSxbIkhlYXZ5IFRydWNrcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5ODA2NykpXSxbIkhlZGdlIEZ1bmRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk4MzM2KSldLFsiSGlnaHdheSAmIEJyaWRnZSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzM3NjIpKV0sWyJIaWdod2F5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3Mjg4NikpXSxbIkhpZ2h3YXlzICYgUmFpbCBUcmFja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTM3NzYpKV0sWyJIb2xkaW5nIENvbXBhbmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczMDQ5NikpXSxbIkhvbWUgQXVkaW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzQxMDUpKV0sWyJIb21lIERlY29yIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2NTQyKSldLFsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTEyMDMpKV0sWyJIb21lIEZ1cm5pc2hpbmdzIFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTQ1MikpXSxbIkhvbWUgRnVybmlzaGluZ3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc4NikpXSxbIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5Njc4MSkpXSxbIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE2Mjg3KSldLFsiSG9tZSBJbXByb3ZlbWVudCBQcm9kdWN0cyAmIFNlcnZpY2VzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2MTE0NykpXSxbIkhvbWVidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MjcyNCkpXSxbIkhvcnNlICYgRG9nIFJhY2UgVHJhY2tzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ1OTI1KSldLFsiSG9zaWVyeSAmIFNvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjQ0MDIpKV0sWyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzODA5NDQpKV0sWyJIb3NwaXRhbGl0eSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU0OTEzNykpXSxbIkhvc3BpdGFscywgQ2xpbmljcyAmIFByaW1hcnkgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MjU0OCkpXSxbIkhvdGVscyAmIE1vdGVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4MzYyMCkpXSxbIkhvdGVscywgTW90ZWxzICYgQ3J1aXNlIExpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzk5NzkxKSldLFsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTY0Mjc3KSldLFsiSG91c2Vob2xkIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTg2MDcpKV0sWyJIb3VzZWhvbGQgRWxlY3Ryb25pY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNzU0OTgpKV0sWyJIb3VzZWhvbGQgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTkyODkpKV0sWyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MzcwNykpXSxbIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk1OTk2KSldLFsiSHlkcm9nZW4gRnVlbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM0NzI0OSkpXSxbIkh5ZHJvcG93ZXIgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODg3ODM3KSldLFsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc0NTQzKSldLFsiSW5kZXBlbmRlbnQgUG93ZXIgUHJvZHVjZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTcyMjk1KSldLFsiSW5kdXN0cmlhbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTU4NzgpKV0sWyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUwMTAzKSldLFsiSW5kdXN0cmlhbCBDbG90aGluZyAmIFVuaWZvcm1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE3OTUxKSldLFsiSW5kdXN0cmlhbCBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ4MzEwKSldLFsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjI2NjgpKV0sWyJJbmR1c3RyaWFsIEdhcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNjY3MCkpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2Njc3NykpXSxbIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU3MzcxKSldLFsiSW5kdXN0cmlhbCBNYWNoaW5lcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0OTQ1ODgpKV0sWyJJbmR1c3RyaWFsIE1vdWxkcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjI0NykpXSxbIkluZHVzdHJpYWwgUGFydHMgJiBDb21wb25lbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQxNjkpKV0sWyJJbmR1c3RyaWFsIFBsYW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTE3MjY0KSldLFsiSW5kdXN0cmlhbCBQcm9jZXNzIEZ1cm5hY2UgJiBPdmVucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMjA4MikpXSxbIkluZHVzdHJpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDgzNjEpKV0sWyJJbmR1c3RyaWFsIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczNTcyMykpXSxbIkluZHVzdHJpYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTQzOTYpKV0sWyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDkyNDkpKV0sWyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk5MDgwKSldLFsiSW5sYW5kIFdhdGVyIEZyZWlnaHQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MjA4NCkpXSxbIklucHV0IERldmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDM0NzQpKV0sWyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDY3NTUyKSldLFsiSW5zdXJhbmNlIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzExNTYpKV0sWyJJbnN1cmFuY2UgQnJva2Vycy9TZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY2NDY3MCkpXSxbIkludGVncmF0ZWQgIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNTEwNykpXSxbIkludGVncmF0ZWQgQ2lyY3VpdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODZlMykpXSxbIkludGVncmF0ZWQgTG9naXN0aWNzIE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQxNDg3MykpXSxbIkludGVncmF0ZWQgT2lsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMDQ1KSldLFsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTkxMzEpKV0sWyJJbnRlZ3JhdGVkIFRlbGVjb21tdW5pY2F0aW9ucyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTU5MCkpXSxbIkludGVyLWRlYWxlciBCcm9rZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTgwODMpKV0sWyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjc3MjIpKV0sWyJJbnRlcm5hdGlvbmFsIFRyYWRlIEZpbmFuY2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyNzQ1NikpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEZXBhcnRtZW50IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgyMDQ2NCkpXSxbIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NzEyOTIpKV0sWyJJbnRlcm5ldCBHYW1pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDY4KSldLFsiSW50ZXJuZXQgUmV0YWlsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjc1MDEyKSldLFsiSW50ZXJuZXQgU2VjdXJpdHkgJiBUcmFuc2FjdGlvbnMgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc5OTcpKV0sWyJJbnRlcm5ldCBTZXJ2aWNlIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTU5MykpXSxbIkludGVybmV0IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjc0NzI5KSldLFsiSW50ZXJuZXQgU29mdHdhcmUvU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjM1MjMpKV0sWyJJbnZlc3RtZW50IEJhbmtzL0Jyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NzM3MjQpKV0sWyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg2OTE0KSldLFsiSW52ZXN0bWVudCBCYW5raW5nICYgQnJva2VyYWdlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTEyNjU4KSldLFsiSW52ZXN0bWVudCBCYW5raW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDc1MTc0KSldLFsiSW52ZXN0bWVudCBNYW5hZ2VtZW50ICYgRnVuZCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTE5NjIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDkyNzIpKV0sWyJJbnZlc3RtZW50IE1hbmFnZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc5MDY1KSldLFsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU2MTM2KSldLFsiSW52ZXN0bWVudCBUcnVzdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODQzMzIpKV0sWyJJbnZlc3RtZW50IFRydXN0cy9NdXR1YWwgRnVuZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTU5NzIpKV0sWyJJcm9uIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDk3OTQpKV0sWyJJcm9uLCBTdGVlbCBNaWxscyAmIEZvdW5kcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI2MzQyMSkpXSxbIkplYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYxODQwKSldLFsiSmV3ZWxyeSAmIFdhdGNoIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NDk4MykpXSxbIkpld2VscnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjAyOTQpKV0sWyJKdXZlbmlsZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2Njk2OTEpKV0sWyJLaXRjaGVuIEFwcGxpYW5jZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NTcyNDIpKV0sWyJLaXRjaGVuIENhYmluZXRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIyNjE5KSldLFsiS25pdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE2NzkpKV0sWyJMTkcgVHJhbnNwb3J0YXRpb24gJiBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYzOTE2KSldLFsiTGFuZCBEaXZpc2lvbiAmIFN1YmRpdmlzaW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU2NTM3KSldLFsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTIyNzMpKV0sWyJMYXNlciBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDk2NjYpKV0sWyJMYXVuZHJ5IFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDcxOTgxKSldLFsiTGVhZCBPcmUgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDU4ODg4KSldLFsiTGVhdGhlciBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwODA0MykpXSxbIkxlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY2MTc2KSldLFsiTGVpc3VyZSAmIFJlY3JlYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTIyNikpXSxbIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjE0MzMwKSldLFsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0ODc2NjApKV0sWyJMaWZlICYgSGVhbHRoIFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMjY4KSldLFsiTGlmZS9IZWFsdGggSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQzMzY1KSldLFsiTGlmZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5OTQxOTIpKV0sWyJMaWdodCBUcnVja3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3Mjg2NDkpKV0sWyJMaWdodGluZyBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTE2MzApKV0sWyJMaWdodGluZyBGaXh0dXJlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ3OTA5MSkpXSxbIkxpbmdlcmllIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg0OTAxKSldLFsiTG9jYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDM0MykpXSxbIkxvY29tb3RpdmUgRW5naW5lcyAmIFJvbGxpbmcgU3RvY2siLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTkxNzUpKV0sWyJMb2dnaW5nICYgU2F3bWlsbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5ODAyNDYpKV0sWyJMb3R0ZXJ5IE9wZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDczODQwNykpXSxbIkx1eHVyeSBBY2Nlc3NvcmllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3NTEwKSldLFsiTHV4dXJ5IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA5MzU3KSldLFsiTWFjaGluZSBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc0NTAwMykpXSxbIk1hZ2F6aW5lIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjc2MzMpKV0sWyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4MDc4NikpXSxbIk1ham9yIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQzNzc0KSldLFsiTWFqb3IgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE3NTc4KSldLFsiTWFqb3IgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjczMTAzKSldLFsiTWFsdCBwcm9kdWNlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDIzMTIpKV0sWyJNYW5hZ2VkIEhlYWx0aCBjYXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTI5MzQ3KSldLFsiTWFuYWdlZCBIZWFsdGggQ2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxMTQ4MykpXSxbIk1hbmFnZW1lbnQgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyMjEwMikpXSxbIk1hcmluYXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzcxNTIpKV0sWyJNYXJpbmUgQ2FyZ28gSGFuZGxpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzU5OTQpKV0sWyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5MDM4OCkpXSxbIk1hcmluZSBMb2dpc3RpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjQwOTkpKV0sWyJNYXJpbmUgUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk0ODQ5KSldLFsiTWFyaW5lIFBvcnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE0NTIpKV0sWyJNYXJpbmUgU2hpcHBpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDc1NjEpKV0sWyJNYXJrZXQgUmVzZWFyY2giLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDE3NjEpKV0sWyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NzM5MykpXSxbIk1lZGlhIEJ1eWluZyBBZ2VuY3kiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNjYwMjApKV0sWyJNZWRpYSBDb25nbG9tZXJhdGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjUyMjAzKSldLFsiTWVkaWNhbCAmIERpYWdub3N0aWMgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMyNjYyKSldLFsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NzA1NTkpKV0sWyJNZWRpY2FsIERpYWdub3N0aWMgJiBUZXN0aW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY1OTk3MSkpXSxbIk1lZGljYWwgRGlzdHJpYnV0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTA3ODUpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzI4NTcpKV0sWyJNZWRpY2FsIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjIwMCkpXSxbIk1lZGljYWwgRXF1aXBtZW50LCBTdXBwbGllcyAmIERpc3RyaWJ1dGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcyMjU1NikpXSxbIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzcxNDU3KSldLFsiTWVkaWNhbCBNb25pdG9yaW5nIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NjY3NDgpKV0sWyJNZWRpY2FsIFByb3N0aGV0aWNzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzc3NzgpKV0sWyJNZWRpY2FsIFNvZnR3YXJlICYgVGVjaG5vbG9neSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQzMzI2NCkpXSxbIk1lZGljYWwgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzYzMTYpKV0sWyJNZWRpY2FsIFN1cHBsaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYwNDMyKSldLFsiTWVkaWNhbC9OdXJzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk5MTUwKSldLFsiTWVtb3J5IENoaXBzIChSQU0pIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAzODMpKV0sWyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk5NjY0OSkpXSxbIk1lbidzIENsb3RoaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzk2MTApKV0sWyJNZW4ncyBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5NjA4MikpXSxbIk1lcmNoYW50IEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjYpKV0sWyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MzcyKSldLFsiTWV0YWwgRmFicmljYXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzY3OTUpKV0sWyJNZXRhbCBNZXJjaGFudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1OTc2MCkpXSxbIk1ldGFsIFNlcnZpY2UgQ2VudGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyOTU0MCkpXSxbIk1ldGFsbGljIFJvbGxpbmcgJiBEcmF3aW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYyNDI3KSldLFsiTWljcm9maW5hbmNpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDYyNjYpKV0sWyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MzgzMzApKV0sWyJNaW5pbmcgU3VwcG9ydCBBY3Rpdml0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA0ODU2KSldLFsiTWluaW5nIFN1cHBvcnQgU2VydmljZXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTY4NDUpKV0sWyJNaXNjZWxsYW5lb3VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTU3MDIzKSldLFsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMyOTg0KSldLFsiTWlzY2VsbGFuZW91cyBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTQ3NzE0KSldLFsiTW9iaWxlIEFwcGxpY2F0aW9uIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjgyNTU3KSldLFsiTW9iaWxlIFBob25lIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyNTQ1MykpXSxbIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NTAwMzMpKV0sWyJNb3J0Z2FnZSBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODE1NCkpXSxbIk1vdG9yIFZlaGljbGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwMDU4KSldLFsiTW90b3JjeWNsZSBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDgwMDQ1KSldLFsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNjIpKV0sWyJNb3RvcmN5Y2xlcyAmIFNjb290ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyNjgpKV0sWyJNb3ZpZSBUaGVhdGVycyAmIE1vdmllIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTg1ODQ1KSldLFsiTW92aWUsIFRWIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTI5MzEpKV0sWyJNb3ZpZXMvRW50ZXJ0YWlubWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MDEwKSldLFsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzY1MTgpKV0sWyJNdWx0aWxpbmUgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTczMDczKSldLFsiTXVsdGktTGluZSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTM1NjEpKV0sWyJNdW5pY2lwYWxpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDc2NTEpKV0sWyJNdXNldW1zICYgSGlzdG9yaWMgUGxhY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQ0NTQ1KSldLFsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjczNDApKV0sWyJNdXNpY2FsIEluc3RydW1lbnQgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA4NzY5KSldLFsiTXVzaWNhbCBJbnN0cnVtZW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDcxNjY2OSkpXSxbIk11dHVhbCBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwMDAzKSldLFsiTmF0aW9uYWwgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTU2NDYyKSldLFsiTmF0aW9uYWwgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzEzMzQpKV0sWyJOYXR1cmFsIEZhYnJpY3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjgyMTEpKV0sWyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU1MzIpKV0sWyJOYXR1cmFsIEdhcyBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPZmZzaG9yZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIzNzM0OSkpXSxbIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NTMwMzApKV0sWyJOYXR1cmFsIEdhcyBQaXBlbGluZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyNDk5OCkpXSxbIk5hdHVyYWwgR2FzIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI1ODc4NSkpXSxbIk5ldHdvcmsgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYzMDgzKSldLFsiTmV3IENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjI5NTU2KSldLFsiTmV3cyBBZ2VuY2llcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1MjI4NSkpXSxbIk5ld3NwYXBlciAmIE1hZ2F6aW5lIFByaW50aW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjIxMzcxKSldLFsiTmV3c3BhcGVyIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODY3KSldLFsiTmV3c3ByaW50IE1pbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODE5NDczKSldLFsiTmlja2VsIE9yZSBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MDY4NTQpKV0sWyJOb24tQWxjb2hvbGljIEJldmVyYWdlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk4NzcxNSkpXSxbIk5vbi1QYXBlciBDb250YWluZXJzICYgUGFja2FnaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQyMjM1KSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg5OTQwKSldLFsiTm9uLWZlcnJvdXMgTWV0YWwgUHJvY2Vzc2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxOTU2NikpXSxbIk51Y2xlYXIgSVBQcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ0MjQxMykpXSxbIk51Y2xlYXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ0ODU2KSldLFsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2NjcxKSldLFsiT2ZmaWNlIEVxdWlwbWVudCAmIFN1cHBsaWVzIFJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQyNDg2MSkpXSxbIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3NTI1KSldLFsiT2ZmaWNlIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEyODc0KSldLFsiT2ZmaWNlIEVxdWlwbWVudC9TdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0OTExOCkpXSxbIk9mZmljZSBGdXJuaXR1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTc3NDgpKV0sWyJPZmZpY2UgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Mjc3MTIpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzM5MTEpKV0sWyJPZmZpY2UgUmVhbCBFc3RhdGUgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MDYzNDkpKV0sWyJPZmZpY2UgU3VwcGxpZXMgJiBTdGF0aW9uZXJ5IFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0MDExNSkpXSxbIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzk1MDcpKV0sWyJPZmZpY2UgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTYzMikpXSxbIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI5MDM3MCkpXSxbIk9pbCAmIEdhcyBEcmlsbGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NzQzOSkpXSxbIk9pbCAmIEdhcyBFeHBsb3JhdGlvbiBhbmQgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE5NDQ1MCkpXSxbIk9pbCAmIEdhcyBQaXBlbGluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyODM4ODUpKV0sWyJPaWwgJiBHYXMgUHJvZHVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5MTcpKV0sWyJPaWwgJiBHYXMgUmVmaW5pbmcgYW5kIE1hcmtldGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzMxNykpXSxbIk9pbCAmIEdhcyBTdG9yYWdlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIyNDkzKSldLFsiT2lsICYgR2FzIFRyYW5zcG9ydGF0aW9uIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2ODE5KSldLFsiT2lsIERyaWxsaW5nIC0gT2Zmc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzk0OTcpKV0sWyJPaWwgRHJpbGxpbmcgLSBPbnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MDUwKSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODU3OTE4KSldLFsiT2lsIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzcyMzApKV0sWyJPaWwgUGlwZWxpbmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjg4NzkpKV0sWyJPaWwgUmVmaW5pbmcvTWFya2V0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkyMDMyKSldLFsiT2lsIFJlbGF0ZWQgLSBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjY5MTU2KSldLFsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTYxNjE1KSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMgYW5kIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMDUzKSldLFsiT2lsIFJlbGF0ZWQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMxNjcpKV0sWyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4ODU1NDYpKV0sWyJPbmxpbmUgSm9iIHBvcnRhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDAyMikpXSxbIk9wdGljYWwgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY4NDAxKSldLFsiT3JnYW5pYyAmIEVjb2xvZ2ljYWxseSBQcm9kdWNlZCBGYWJyaWMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTMyMTgpKV0sWyJPcmdhbmljIEZlcnRpbGl6ZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMDE3MzEpKV0sWyJPdGhlciBDb25zdW1lciBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MzgwKSldLFsiT3RoZXIgQ29uc3VtZXIgU3BlY2lhbHRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDc3NTApKV0sWyJPdGhlciBNZXRhbHMvTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDU4NzEpKV0sWyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY2Nzg5KSldLFsiT3RoZXIgVHJhbnNwb3J0YXRpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MTE1ODYpKV0sWyJPdXRkb29yIEFkdmVydGlzaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDMwNzk4KSldLFsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3Nzk0MikpXSxbIlBhY2thZ2VkIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzkxMjcxKSldLFsiUGFpbnQgJiBDb2F0aW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTYzODE3KSldLFsiUGFwZXIgTWlsbHMgJiBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4OTIzNSkpXSxbIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjY0NzcpKV0sWyJQYXBlciBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDM0NDYpKV0sWyJQYXBlciBQcm9kdWN0IFdob2xlc2FsZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU5Mjg0KSldLFsiUGFwZXIgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDk5NjApKV0sWyJQYXJraW5nIExvdCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTgzNTcpKV0sWyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4NDMzOCkpXSxbIlBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiwgR3JvdW5kICYgU2VhIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA3NDI3KSldLFsiUGVuc2lvbiBGdW5kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg4ODU2OCkpXSxbIlBlcnNvbmFsICYgQ2FyIExvYW5zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTg3MzUyKSldLFsiUGVyc29uYWwgQ2FyZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1OTMzOCkpXSxbIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NjA0KSldLFsiUGVyc29uYWwgTXVzaWMgUGxheWVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1NjA2MCkpXSxbIlBlcnNvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjUyNjczKSldLFsiUGVyc29uYWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzIzOTkpKV0sWyJQZXJzb25uZWwgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MjcyNikpXSxbIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NjkwMCkpXSxbIlBlc3RpY2lkZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU4NzYwMikpXSxbIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNDIwMTMpKV0sWyJQZXQgRm9vZCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTU5MDMxKSldLFsiUGV0cm9sZXVtIFByb2R1Y3QgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjcxOTIxKSldLFsiUGV0cm9sZXVtIFJlZmluaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Nzg3KSldLFsiUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjk5NzIzKSldLFsiUGhhcm1hY2V1dGljYWxzOiBHZW5lcmljIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzYxODQ5KSldLFsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MjY0MykpXSxbIlBoYXJtYWNldXRpY2FsczogT3RoZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NDUxODApKV0sWyJQaG9uZXMgJiBIYW5kaGVsZCBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTMzMzMyKSldLFsiUGhvbmVzICYgU21hcnQgUGhvbmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTIzNzY0KSldLFsiUGhvdG9ncmFwaGljIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgzMDc5NykpXSxbIlBob3Rvdm9sdGFpYyBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQ1NzYyKSldLFsiUGxhc3RpYyBDb250YWluZXIgJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig2ODkzOTMpKV0sWyJQbGFzdGljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNTkzNCkpXSxbIlBsYXRpbnVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkzNjI2MCkpXSxbIlBsYXlzICYgQ29uY2VydCBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQwMDMpKV0sWyJQbHVtYmluZyBGaXh0dXJlcyAmIEZpdHRpbmdzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg2NTYpKV0sWyJQb2ludCBvZiBTYWxlIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDkyKSldLFsiUG9ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTUxNjApKV0sWyJQb3J0IFdhcmVob3VzaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzU3MDYwKSldLFsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI3NzQ0MykpXSxbIlBvcnRhYmxlIFNhdGVsbGl0ZSBOYXZpZ2F0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjYyMjQzKSldLFsiUG91bHRyeSBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjM1NDE1KSldLFsiUHJlY2lvdXMgTWV0YWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODY0MjEyKSldLFsiUHJlY2lvdXMgTWV0YWxzICYgTWluZXJhbHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNzYwODkpKV0sWyJQcmVmYWJyaWNhdGVkIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODcxMDg4KSldLFsiUHJpbWFyeSBBbHVtaW51bSBQcm9kdWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1MzcpKV0sWyJQcml2YXRlIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjQzNzU2KSldLFsiUHJpdmF0ZSBFcXVpdHkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5Nzk1MzIpKV0sWyJQcm9jZXNzb3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ4MzYpKV0sWyJQcm9mZXNzaW9uYWwgSW5mb3JtYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTMzMzApKV0sWyJQcm9mZXNzaW9uYWwgU3BvcnRzIFZlbnVlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNDAxNCkpXSxbIlByb2dyYW1taW5nIFNvZnR3YXJlICYgVGVzdGluZyBUb29scyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUzNDM5KSldLFsiUHJvcGVydHkgJiBDYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzYwNjYpKV0sWyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODk2MjMwKSldLFsiUHJvcGVydHkgSW5zdXJhbmNlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY0ODc3KSldLFsiUHJvcGVydHktQ2FzdWFsdHkgSW5zdXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTE2MTQpKV0sWyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2OTY0NzcpKV0sWyJQcm92aW5jZS9TdGF0ZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjkyKSldLFsiUHVibGljIFJlbGF0aW9ucyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU2ODMwKSldLFsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODIwOTcpKV0sWyJQdWJsaXNoaW5nOiBCb29rcy9NYWdhemluZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMTMwNTYpKV0sWyJQdWJsaXNoaW5nOiBOZXdzcGFwZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzAwNDQyKSldLFsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTMzNDYxKSldLFsiUHVscCBNaWxscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM1Mjg1NikpXSxbIlB1bHAgJiBQYXBlciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM2NzM2MSkpXSxbIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMTE3KSldLFsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg0MDM4NikpXSxbIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NDcyOTkpKV0sWyJSRklEIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjcwMjMpKV0sWyJSYWRpbyBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMTk4OTIpKV0sWyJSYWlsIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjAwNTc2KSldLFsiUmFpbHJvYWRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY3MTQ3KSldLFsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjY1NDcpKV0sWyJSYWlsd2F5IEZyZWlnaHQgT3BlcmF0b3JzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzE5NzEzKSldLFsiUmFyZSBFYXJ0aCBNaW5lcmFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxODQpKV0sWyJSYXRpbmcgQWdlbmNpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjc3NTQpKV0sWyJSZWFkeS1NYWRlIE1lYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEzOTUxKSldLFsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NDEwNDUpKV0sWyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCAmIE9wZXJhdGlvbnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MTIwMDQpKV0sWyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0MjA4NikpXSxbIlJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzc2MzY1KSldLFsiUmVjcmVhdGlvbmFsIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA1NzEpKV0sWyJSZWdpb25hbCBBaXJsaW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc2NjE2NSkpXSxbIlJlZ2lvbmFsIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzU4NjIzKSldLFsiUmVpbnN1cmFuY2UiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQ0NzcpKV0sWyJSZW5ld2FibGUgRW5lcmd5IEVxdWlwbWVudCAmIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTc4OTMwKSldLFsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkxOTYzOSkpXSxbIlJlbmV3YWJsZSBGdWVscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5NDE3NCkpXSxbIlJlbmV3YWJsZSBJUFBzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg0OTkzKSldLFsiUmVuZXdhYmxlIFV0aWxpdGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MDA5MCkpXSxbIlJlc2lkZW50aWFsICBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIwNjE0NCkpXSxbIlJlc2lkZW50aWFsICYgTG9uZyBUZXJtIENhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjIxODkpKV0sWyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTA5MDA3KSldLFsiUmVzaWRlbnRpYWwgQnVpbGRlcnMgLSBNdWx0aWZhbWlseSBIb21lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3ODgxMikpXSxbIlJlc2lkZW50aWFsIEJ1aWxkZXJzIC0gU2luZ2xlIEhvbWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTgyNzk3KSldLFsiUmVzaWRlbnRpYWwgUkVJVHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjAyNjQpKV0sWyJSZXNpZGVudGlhbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE0NTI4MSkpXSxbIlJlc29ydCBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NDMxODEpKV0sWyJSZXN0YXVyYW50cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyMzg4OSkpXSxbIlJlc3RhdXJhbnRzICYgQmFycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNTIxMykpXSxbIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MTI2MjApKV0sWyJSZXRhaWwgJiBNb3J0Z2FnZSBCYW5rcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc5MjkyNikpXSxbIlJldGFpbCAtIERlcGFydG1lbnQgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTYxMjA1KSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU5NzYxKSldLFsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aG91dCBHcm9jZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjA5NzI4KSldLFsiUmV0YWlsIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTAxMTQwKSldLFsiUmV0YWlsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjI1KSldLFsiUmV0aXJlbWVudCBIb21lIEJ1aWxkZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE4ODkpKV0sWyJSb2NrIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MTM5OSkpXSxbIlJvb2ZpbmcgU3VwcGxpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyOTIxMzUpKV0sWyJSdWJiZXIgUGxhbnRhdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ2MTk3MikpXSxbIlNhaWxpbmcgWWFjaHRzICYgTW90b3Jib2F0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyNzg2MSkpXSxbIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxOTcxNykpXSxbIlNhbml0YXJ5IFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjI3MzU1KSldLFsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MzQwNzQpKV0sWyJTYXRlbGxpdGUgU2VydmljZSBPcGVyYXRvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTkxMTYpKV0sWyJTYXZpbmdzIEJhbmtzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzM0NTA3KSldLFsiU2NpZW50aWZpYyAmIFByZWNpc2lvbiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxOTg2MjgpKV0sWyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzY2NzA0KSldLFsiU2VhLUJvcm5lIFRhbmtlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MDQ0MTIpKV0sWyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzI2NjkpKV0sWyJTZWFyY2ggRW5naW5lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5MjE2MikpXSxbIlNlY29uZGFyeSBTbWVsdGluZyAmIEFsbG95aW5nIG9mIEFsdW1pbnVtIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTc4NzM4KSldLFsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODYwMTUpKV0sWyJTZWN1cml0eSAmIFN1cnZlaWxsYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk0OTI2NSkpXSxbIlNlY3VyaXR5IFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI3MjUyKSldLFsiU2VsZi1TdG9yYWdlIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTkyMjYpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCAmIFRlc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzOTIzODEpKV0sWyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4MzIwOSkpXSxbIlNlbWljb25kdWN0b3IgTWFjaGluZXJ5IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NDk0NTkpKV0sWyJTZW1pY29uZHVjdG9yIFRlc3RpbmcgRXF1aXBtZW50ICYgU2VydmljZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMxNjg0NSkpXSxbIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTUxMzQ2KSldLFsiU2VtaWNvbmR1Y3RvcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4NTUyODIpKV0sWyJTZW1pcHJlY2lvdXMgR2VtIFN0b25lcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3MDc3NSkpXSxbIlNlcnZlciAmIERhdGFiYXNlIFNvZnR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjg2Mzg1KSldLFsiU2VydmVycyAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNTUwOTYpKV0sWyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjU0NDA4KSldLFsiU2V3YWdlIFRyZWF0bWVudCBGYWNpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTA0MTM5KSldLFsiU2hlbGwgQ29tcGFuaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE4NjgpKV0sWyJTaGlwIFBhcnQgTWFudWZhY3R1cmVyIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTExODM2KSldLFsiU2hpcCBSZXBhaXJpbmcgJiBNYWludGFuYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg5NDg5MSkpXSxbIlNoaXBidWlsZGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM5OTgzMSkpXSxbIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMyNTA3NykpXSxbIlNpbHZlciBNaW5pbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNTYxMDMpKV0sWyJTbWFydCBHcmlkICYgRWxlY3RyaWNhbCBUcmFuc21pc3Npb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NzMzMTEpKV0sWyJTbWFydCBHcmlkICYgUG93ZXIgRGlzdHJpYnV0aW9uIENvbnN0cnVjdGlvbiIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4NDI3MCkpXSxbIlNuYWNrIEZvb2QgJiBOb24tY2hvY29sYXRlIENvbmZlY3Rpb25hcnkiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MDg0NSkpXSxbIlNvY2lhbCBNZWRpYSAmIE5ldHdvcmtpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTgyMjIpKV0sWyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODI0NTc4KSldLFsiU29mdHdhcmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTcxMDMpKV0sWyJTb3ZlcmVpZ24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig3ODE5MzIpKV0sWyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTk3NjEpKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjY1NzApKV0sWyJTcGVjaWFsIEZvb2RzICYgV2VsbGJlaW5nIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA5NjEwKSldLFsiU3BlY2lhbGl6ZWQgQXZpYXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMTc2MjkpKV0sWyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY3ODEyNikpXSxbIlNwZWNpYWxpemVkIFJFSVRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzI0NTExKSldLFsiU3BlY2lhbHR5ICYgQWR2YW5jZWQgUGhhcm1hY2V1dGljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM2NTQ5KSldLFsiU3BlY2lhbHR5IENoZW1pY2FscyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NzE3ODYpKV0sWyJTcGVjaWFsdHkgQ2hlbWljYWxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzkwOTY0KSldLFsiU3BlY2lhbHR5IEluc3VyYW5jZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMTI4NykpXSxbIlNwZWNpYWx0eSBJbnN1cmVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU1NTk3OSkpXSxbIlNwZWNpYWx0eSBNaW5pbmcgJiBNZXRhbHMgV2hvbGVzYWxlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzA1NTQ2KSldLFsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDgxODcwOCkpXSxbIlNwZWNpYWx0eSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTUyODEpKV0sWyJTcGVjaWFsdHkgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzQ1NjUzKSldLFsiU3BvcnRpbmcgJiBPdXRkb29yIEdvb2RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTg1ODk5KSldLFsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQ0NDk0KSldLFsiU3BvcnRzICYgT3V0ZG9vciBGb290d2VhciIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIxMzk4NykpXSxbIlNwb3J0cyAmIE91dGRvb3JzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM3MjE3MykpXSxbIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY0NjE0NCkpXSxbIlN0YXJjaCwgVmVnZXRhYmxlIEZhdCAmIE9pbCBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjkxNDU2KSldLFsiU3RhdGUgQWdlbmN5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTQyMTg4KSldLFsiU3RhdGlvbmFyeSBGdWVsIENlbGxzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzUxMDc0KSldLFsiU3RlYW0gJiBBaXItQ29uZGl0aW9uaW5nIFN1cHBseSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5ODYzOCkpXSxbIlN0ZWVsIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTcyNzUzKSldLFsiU3RvcmFnZSBEZXZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzQ2MzMwKSldLFsiU3VnYXIgJiBBcnRpZmljaWFsIFN3ZWV0ZW5lcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjYxMDcpKV0sWyJTdWdhcmNhbmUgRmFybWluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMzNjk4OCkpXSxbIlN1cGVybWFya2V0cyAmIENvbnZlbmllbmNlIFN0b3JlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc4MDIyKSldLFsiU3VwcmFuYXRpb25hbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NDM4NikpXSxbIlN3aXRjaGdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTYzMDcpKV0sWyJTeW50aGV0aWMgRmFicmljcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ1NTU1MCkpXSxbIlN5c3RlbSBTb2Z0d2FyZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDU3MTcyNykpXSxbIlRWICYgVmlkZW8iLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMzc3NDgpKV0sWyJUYWJsZXQgJiBOZXRib29rIENvbXB1dGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDY5OTEyMikpXSxbIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTk3MzQ4KSldLFsiVGF4aSAmIExpbW91c2luZSIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE4OTQ4KSldLFsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3NjA1MTMpKV0sWyJUZWxlY29tbXVuaWNhdGlvbiBDb25zdHJ1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig5MTYxODUpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzg5Njg5KSldLFsiVGVsZWNvbW11bmljYXRpb25zIE5ldHdvcmsgSW5mcmFzdHJ1Y3R1cmUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxODUxNjQpKV0sWyJUZWxlY29tbXVuaWNhdGlvbnMgUmVzZWxsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTczMjY3KSldLFsiVGVsZW1lZGljaW5lIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjU1ODIwKSldLFsiVGVsZXZpc2lvbiBCcm9hZGNhc3RpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig4Mjc5ODApKV0sWyJUZXN0aW5nICYgTWVhc3VyaW5nIEVxdWlwbWVudCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDIyMTM1NSkpXSxbIlRlc3RpbmcgTGFib3JhdG9yaWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTIxNzg2KSldLFsiVGVzdGluZyBTZXJ2aWNlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDQ5MjU3NykpXSxbIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MjA2NDcpKV0sWyJUZXh0aWxlcyAmIExlYXRoZXIgR29vZHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyMjM2NDQpKV0sWyJUZXh0aWxlcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDg1MTk5MykpXSxbIlRoZWF0cmVzICYgUGVyZm9ybWluZyBBcnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDE1NDEpKV0sWyJUaGVybWFsIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTg0MjEpKV0sWyJUaWxlICYgUGF2aW5nIE1hdGVyaWFsIE1hbnVmYWN0dXJpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1ODE1MSkpXSxbIlRpbWJlciBSRUlUcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDc3NTc1NSkpXSxbIlRpbWJlciBUcmFjdCBPcGVyYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzIwNykpXSxbIlRpcmUgJiBUdWJlIE1hbnVmYWN0dXJlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig5NjAwNTMpKV0sWyJUaXJlIERlYWxlcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMzUwMzMpKV0sWyJUaXJlIFJldHJlYWRpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MjYwMDEpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxNjIxMzMpKV0sWyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0Mjc3NSkpXSxbIlRvYmFjY28iLCgpPT50LnQobnVsbCx2b2lkIDAsbig0NzI5NzEpKV0sWyJUb29scyAmIEhhcmR3YXJlIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjQ3MDgzKSldLFsiVG9vbHMgJiBIb3VzZXdhcmVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTE4MDkyKSldLFsiVG95cyAmIEdhbWVzIFJldGFpbGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDE1MjgzMykpXSxbIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MjIzMjcpKV0sWyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNTc4MDQpKV0sWyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMzg4NjUpKV0sWyJUcmFuc2FjdGlvbiAmIFBheW1lbnQgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MTg2MCkpXSxbIlRyYW5zbGF0aW9uICYgSW50ZXJwcmV0YXRpb24gU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1MzMyNjkpKV0sWyJUcmF2ZWwgQWdlbnRzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTMzNTkxKSldLFsiVHJ1Y2tpbmciLCgpPT50LnQobnVsbCx2b2lkIDAsbig3MjEyMjUpKV0sWyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDIxNjQ3KSldLFsiVHVyYmluZSBNYW51ZmFjdHVyaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjg3NzI1KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTM3ODg4KSldLFsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIFByb2R1Y3Rpb24iLCgpPT50LnQobnVsbCx2b2lkIDAsbig2NjE5NzYpKV0sWyJVcmFuaXVtIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDEwNzQwNSkpXSxbIlVyYW5pdW0iLCgpPT50LnQobnVsbCx2b2lkIDAsbigzMjMxMzIpKV0sWyJVc2VkIENhciBEZWFsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDg3MDA2KSldLFsiVXNlZCBNZXJjaGFuZGlzZSBTdG9yZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1OTI2MjcpKV0sWyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigzNzI1MjMpKV0sWyJWT0lQIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMjk4MTEzKSldLFsiVmVnZXRhYmxlLCBGcnVpdCAmIE51dCBGYXJtaW5nIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjEwNjgwKSldLFsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDI0OTY4NSkpXSxbIlZlbnR1cmUgQ2FwaXRhbCIsKCk9PnQudChudWxsLHZvaWQgMCxuKDM4NjU4NikpXSxbIlZldGVyaW5hcnkgRHJ1Z3MiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjY3NCkpXSxbIlZldGVyaW5hcnkgTWVkaWNhbCBFcXVpcG1lbnQgJiBTdXBwbGllcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYxOTQ5MCkpXSxbIlZldGVyaW5hcnkgU2VydmljZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTEzODQpKV0sWyJXYWxscGFwZXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig1NTQxNzMpKV0sWyJXYXJlaG91c2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDkwNjM3OSkpXSxbIldhc3RlIE1hbmFnZW1lbnQsIERpc3Bvc2FsICYgUmVjeWNsaW5nIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDkzMzMzKSldLFsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMjEzMDEpKV0sWyJXYXRjaGVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNjMxMDUyKSldLFsiV2F0ZXIgJiBTZXdhZ2UgQ29uc3RydWN0aW9uIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODYxNjU1KSldLFsiV2F0ZXIgU3VwcGx5ICYgSXJyaWdhdGlvbiBTeXN0ZW1zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDM1OTgwKSldLFsiV2F0ZXIgVXRpbGl0aWVzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMzY5OTQ0KSldLFsiV2F2ZSBQb3dlciBFbmVyZ3kgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNDA1Nzc5KSldLFsiV2VhbHRoIE1hbmFnZW1lbnQiLCgpPT50LnQobnVsbCx2b2lkIDAsbig3OTU3NykpXSxbIldlbGRpbmcgJiBTb2xkZXJpbmcgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oOTE0ODE2KSldLFsiV2hvbGVzYWxlIERpc3RyaWJ1dG9ycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYwOTQ1NSkpXSxbIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDYyODk1KSldLFsiV2luZCBTeXN0ZW1zICYgRXF1aXBtZW50IiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTk5Nzg4KSldLFsiV2luZXJpZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig2MTM2NzUpKV0sWyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiLCgpPT50LnQobnVsbCx2b2lkIDAsbigyNDcxNjUpKV0sWyJXaXJlbGVzcyBUZWxlY29tIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTc4MzA1KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oODUzMTY0KSldLFsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oMTI1NzQzKSldLFsiV2lyZXMgJiBDYWJsZXMiLCgpPT50LnQobnVsbCx2b2lkIDAsbig4MDA4NDUpKV0sWyJXb21lbidzIEFwcGFyZWwgUmV0YWlsZXJzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNTQxNDA1KSldLFsiV29tZW4ncyBDbG90aGluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUwMzcxMykpXSxbIldvbWVuJ3MgRm9vdHdlYXIiLCgpPT50LnQobnVsbCx2b2lkIDAsbig0MzQwNzcpKV0sWyJXb29kIENvbnRhaW5lciAmIFBhY2thZ2luZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDUyNDUzOSkpXSxbIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiLCgpPT50LnQobnVsbCx2b2lkIDAsbigxMDM2NDApKV0sWyJXb29kIFByb2R1Y3RzIiwoKT0+dC50KG51bGwsdm9pZCAwLG4oNzA2MDY1KSldLFsiWWFybiBHb29kcyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDMwOTUyMykpXSxbIlppbmMgT3JlIE1pbmluZyIsKCk9PnQudChudWxsLHZvaWQgMCxuKDk1MDIwNykpXV0pCjtmdW5jdGlvbiB1KGwpe2NvbnN0IGk9by5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmZ1bmN0aW9uKGwpe2NvbnN0IGk9ZS5nZXQobCk7cmV0dXJuIHZvaWQgMCE9PWk/aSgpOmx9KGwpfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/36148.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.663Z","timestamp":1785136428663,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/36148.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2840\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Sun, 13 Apr 2025 05:35:57 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 00:58:57 GMT\r\ncache-control: public, max-age=86400\r\netag: \"fefd4d888e9f75d5894072eb3069d0ad\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 22492\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: tDCRTNlZ0Q3Gy8_6-Xz3tkg4OPF-hxaXSb0z8QM9a8ZCOJ_pKMP6KQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2840,"size_decoded":3412,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"fefd4d888e9f75d5894072eb3069d0ad","sha1":"e0eaa6772448722d704040a054127ac62394d664","sha256":"1401c583e2a19da1b2409ffc027aa355e1620583bbd63aec3640a973dae68179","sha512":"8762bc530d7841f2a640211d7be58bdc9885c557b9206a9ee6157a006d3ac96015abf4587a5ebf9b1cdb5af2afba95d7613c11bd35e60fabb51925410ac2bcd2","ssdeep":"","tlshash":"40515e8f8f805b1efcf94483752e92b385b254654410948dc32b135cf8489f95315bcb","first_seen":"2025-05-17T13:51:35.319255Z","last_seen":"2026-08-11T04:47:30.131441Z","times_seen":1530,"resource_available":false,"data":"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"}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/27075.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.696Z","timestamp":1785136428696,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/27075.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3758\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 10 Dec 2025 14:00:00 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:29:46 GMT\r\ncache-control: public, max-age=86400\r\netag: \"f4b079b22916727f331f5367b109d9f3\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 17043\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: hJBJNEAuu9SSg7RiJsxUjTVSLQQ6HXro-rCL9lg4EHmsl2-AHi-_sg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":3758,"size_decoded":4330,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"f4b079b22916727f331f5367b109d9f3","sha1":"92bd082ede184da6675d5bb9775f5a117e54c7e0","sha256":"c518e614a3cb5f346f27e7bfb08aa84ba8ef8ab16d388ea2473e4c982ed430de","sha512":"c749679577caca715e4a4d1d16b7ea694843bf1748f7145ddc1598fb1def27447caadbfa8ae0c32dcdc055b05e04ae3dabaa85a0f17b7c9af2983ca293e2d9ef","ssdeep":"","tlshash":"10717b8de85bccd88407baf040bf942932ce497a4d21831f324b3a598f1270963fa31a","first_seen":"2026-03-04T08:47:10.842758Z","last_seen":"2026-08-11T04:47:30.147761Z","times_seen":1486,"resource_available":false,"data":"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"}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/8946.0be20cf5b56838bd1cdd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.852Z","timestamp":1785136429852,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/8946.0be20cf5b56838bd1cdd.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-80bb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7c480079a35dc865d87d5397c182d2ec\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/24581.45df02181c4509732d20.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.189Z","timestamp":1785136429189,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/24581.45df02181c4509732d20.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-399\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 71d3859788fb4ead22f1bfa3d78eb2c2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":921,"size_decoded":1137,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (921), with no line terminators","md5":"7508df616380d228cd815ae2f451930e","sha1":"85644755c1e5d7bcc3ab17ab37a76bd5f60ceffa","sha256":"98ef25505ae9dff3c961255429596f2ffdc5cf7a6eb679c08e5b2844c68e3332","sha512":"272814590c3e8b26149c112ef510d070c1cd5521cca4ef7e3bf4f28f663c19a2ff2b44912cd075b967d3ee6646cf5b2edb29bf7ade0ed8652f4b37a259b34a89","ssdeep":"","tlshash":"1711bd3c919dcb6ab4974b145240cfcf01bd2d10ab169fa7b2cc70328cc88ac1833823","first_seen":"2026-07-17T03:30:51.220732Z","last_seen":"2026-08-11T04:43:23.054232Z","times_seen":317,"resource_available":false,"data":"LmJveC1YZkdrQkJxZntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS5ib3gtWGZHa0JCcWYudW5jaGVja2VkLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0uYm94LVhmR2tCQnFmLmNoZWNrZWQtWGZHa0JCcWYsLmJveC1YZkdrQkJxZi5taXhlZC1YZkdrQkJxZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcmspfS51bmNoZWNrZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyKX0uY2hlY2tlZC1YZkdrQkJxZiwubWl4ZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KX0uZGlzYWJsZWQtWGZHa0JCcWZ7b3BhY2l0eTouNX0uY2hlY2tlZE1hcmstWGZHa0JCcWZ7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gNS41cHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDQuNXB4KX0ubWl4ZWRNYXJrLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NnB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDNweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gM3B4KTt3aWR0aDo2cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/strong-buy-arrow.6707d138d32ec165a455.svg","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.279Z","timestamp":1785136430279,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/strong-buy-arrow.6707d138d32ec165a455.svg HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136430.1.1785136430..e10326a9-5e0a-4b24-bb1b-ef5e2ad69273..b8a217f6-bdbb-4762-8027-7add5bfbfb8e.1785136429729.1\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/85510.de862f9d26db7cf3cd08.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.724Z","timestamp":1785136427724,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/85510.de862f9d26db7cf3cd08.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-2a9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8c9c0fc51c7f15e7ece1f5d988f2786\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":681,"size_decoded":1161,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (681), with no line terminators","md5":"7cce80372e7f07843410b6d3a692a4f6","sha1":"3cc8e6874df4c8b769ce175f1cf67a8b1fa114d4","sha256":"9e6faf03deaf6681c70ad58cacf7014b703268bb2e6f9326ac6a9ab19327c194","sha512":"a5bec448adb1e1a1ed9c61badc3c8fb561d66ed8e50d2df941272a9b32b1ca7ef284b0b57331f216ac91538d5cf440a39338d472034d87083cdc909c5e11b446","ssdeep":"","tlshash":"c501cb55704e9069b80be13e1b6cb28ce551f009ce438facf934f4108ac6aec1061ace","first_seen":"2026-03-24T10:46:27.25807Z","last_seen":"2026-08-11T04:45:48.808191Z","times_seen":1340,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65675.b22e86384da95a427485.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.217Z","timestamp":1785136429217,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65675.b22e86384da95a427485.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-cb7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4881da5610ce2b0fdef0c12338b793b5\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3255,"size_decoded":1610,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3255), with no line terminators","md5":"f53f02dd7b4726c0d3cb6dbbcfda7b87","sha1":"6862ca4abf23f4e0d6d8c01dd12160efe41a999d","sha256":"1007096185878202bece4ab281245577c9113dc3cc5d4071a5f58d2fd93407d5","sha512":"c72632fd3de5ba7a36701249d3475f260bafa4a1aa0fa9dbcf41a258300ec01af5288523af2efcd28a2301aa3a06827eacd95a80482ecbfe68fb7f636f7ac066","ssdeep":"","tlshash":"b861e3ae075e9cd934dc1f915763fc08377ad18e33222dbc618525f20bd2d3ae5a906a","first_seen":"2025-07-09T18:19:43.538072Z","last_seen":"2026-08-11T04:43:23.165228Z","times_seen":1406,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtazh4MDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWs4eDA6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eHNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4c21hbGx7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHNtYWxse2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXNtYWxse2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLW1lZGl1bXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS50di1jaXJjbGUtbG9nby1wYWlyLS1sYXJnZXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS50di1jaXJjbGUtbG9nby1wYWlyLS14bGFyZ2V7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweH0udHYtY2lyY2xlLWxvZ28tcGFpci0teHhsYXJnZXtoZWlnaHQ6MTEycHg7d2lkdGg6MTEycHh9LnR2LWNpcmNsZS1sb2dvLXBhaXItLXh4eGxhcmdle2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nb3tib3JkZXItcmFkaXVzOjUwJX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nbzpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLWs4eDApfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmZpcnN0LWNoaWxkLC50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvOmxhc3QtY2hpbGR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGx7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2NGE4IDggMCAwIDEgOCA4aDRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4c21hbGw6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTIgMEgwdjYuMjU0QTggOCAwIDAgMSA1Ljc0NiAxMkgxMloiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhzbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLThweCw4cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14c21hbGx7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjQuNDFBMTEgMTEgMCAwIDEgMTMuNTkgMThIMThWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHNtYWxsOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxse2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXNtYWxsOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTggMEgwdjguMDRBMTEgMTEgMCAwIDEgOS45NiAxOEgxOFYwWiIpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1zbWFsbDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwcHgsMTBweCl9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLW1lZGl1bXtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS1tZWRpdW06Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbWVkaXVtOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwxMnB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2V7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zMiAwSDB2MTRhMTggMTggMCAwIDEgMTggMThoMTRWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0tbGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14bGFyZ2V7aGVpZ2h0OjM4cHg7d2lkdGg6MzhweH0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMzggMEgwdjE2LjAyTDEgMTZhMjEgMjEgMCAwIDEgMjAuOTggMjJIMzhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teGxhcmdlOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwxOHB4KX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHhsYXJnZXtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNNzYgMEgwdjMyLjA1QTQyIDQyIDAgMCAxIDQzLjk1IDc2SDc2VjBaIil9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLS14eHhsYXJnZXtoZWlnaHQ6MTE0cHg7d2lkdGg6MTE0cHh9LnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tLXh4eGxhcmdlOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0udHYtY2lyY2xlLWxvZ28tcGFpcl9fbG9nby0teHh4bGFyZ2U6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC01NHB4LDU0cHgpfS50di1jaXJjbGUtbG9nby1wYWlyX19sb2dvLWVtcHR5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLnR2LWNpcmNsZS1sb2dvLXBhaXJfX2xvZ28tZW1wdHl7YmFja2dyb3VuZC1pbWFnZTp1cmwoZW1wdHktY29pbi1kYXJrLmQ2ZDA3YmZmOTJkN2U0ZGZmNWFkLnN2Zyl9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/69861.87e20a8951ceecc461d8.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.281Z","timestamp":1785136429281,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/69861.87e20a8951ceecc461d8.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-f42\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a45fae02f5d4dd9807a3b2c078ff4212\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3906,"size_decoded":1536,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3906), with no line terminators","md5":"3fa9c4040463e2838455328de777e889","sha1":"26592cfad4d8f47a69b92e266591e38c8c733e5a","sha256":"ca5b5651ba39b94a8865341a1ecc9844d0fe73a74db6091a7e975a360bb01d3e","sha512":"73fda847130c90e9286ea7be82f7b271a1d1d328e24768e158b7c6dac2cd3f1d20b8d08ead70420c17212b275c24d2bc70a86bfa5c8924db2a8dcd9079178f33","ssdeep":"","tlshash":"46817ec9f2e9997a02077d2982d182649b0e9ce2da53669ebc7671c000ca7dd43bdc4e","first_seen":"2026-06-30T21:57:43.451848Z","last_seen":"2026-07-28T06:17:53.597172Z","times_seen":248,"resource_available":false,"data":"LmJ1dHRvbi1zWHNwWk5uWnthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMCBhdXRvO2hlaWdodDoxMDAlOy0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzOjZweDtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQpKTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGNvbG9yIDYwbXMgZWFzZTt6LWluZGV4OjB9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWiwuYnV0dG9uLXNYc3BaTm5aOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKX19LmJ1dHRvbi1zWHNwWk5uWi5jbGlja2VkLXNYc3BaTm5aLC5idXR0b24tc1hzcFpOblo6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIpKSl9LmJ1dHRvbi1zWHNwWk5uWjpiZWZvcmV7Ym9yZGVyLXJhZGl1czp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXMsMnB4KTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tYm90dG9tLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1yaWdodCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tbGVmdCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tdG9wLHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO3otaW5kZXg6LTF9LmJ1dHRvbi1zWHNwWk5uWi5ob3Zlci1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1zWHNwWk5uWjpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifX0uYnV0dG9uLXNYc3BaTm5aLmNsaWNrZWQtc1hzcFpOblo6YmVmb3JlLC5idXR0b24tc1hzcFpOblo6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLXNYc3BaTm5aLmFjY2Vzc2libGUtc1hzcFpOblo6Zm9jdXMtdmlzaWJsZTpiZWZvcmV7Y29udGVudDoiIjtvdXRsaW5lLXN0eWxlOnNvbGlkfS5idXR0b24tc1hzcFpOblogc3Zne2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3ctc1hzcFpOblp7YWxpZ24taXRlbXM6Y2VudGVyO2NvbnRhaW46Y29udGVudDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCV9LmJ1dHRvbi1zWHNwWk5uWiAuYXJyb3dXcmFwLXNYc3BaTm5ae21hcmdpbjowIDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2V9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfX0uYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aLmhvdmVyLXNYc3BaTm5aOmJlZm9yZSwuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLXNYc3BaTm5aLmlzT3BlbmVkLXNYc3BaTm5aOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9fS5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblouY2xpY2tlZC1zWHNwWk5uWjpiZWZvcmUsLmJ1dHRvbi1zWHNwWk5uWi5pc09wZW5lZC1zWHNwWk5uWjphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tc1hzcFpOblouaXNPcGVuZWQtc1hzcFpOblo6aG92ZXIgLmFycm93V3JhcC1zWHNwWk5uWnt0cmFuc2Zvcm06bm9uZX19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47632.33d2a3745af497e3da5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.806Z","timestamp":1785136429806,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/47632.33d2a3745af497e3da5d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-b2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c98df87f6485612936fae53fa80dd42b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.562Z","timestamp":1785136427562,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/33074d3ff5d0cd2d.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 5021616\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"33074d3ff5d0cd2d.js\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Fri, 29 May 2026 10:19:15 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/33074d3ff5d0cd2d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4kx7s-1780114811396-bbddbacd8b5d\r\nx-xss-protection: 1; mode=block\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qKYQPNji8uILMZwJKlRRpWyq%2BDXlELbapdkQ%2B4XuxKxHtOTO6PMHTlA60T2FRwd3F4yMQKliM8X9F5%2FGyhTwv1l%2FQKHJvKpzrEaGXnnU3V26Ex3nWtgrnEL2wH3q\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a219d7f04efe8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":282,"size_decoded":2359,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with no line terminators","md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-11T04:47:30.036672Z","times_seen":3051,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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":"www.tradingview-widget.com/static/bundles/embed/55969.43c3748014de2cd0bd1c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.755Z","timestamp":1785136427755,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55969.43c3748014de2cd0bd1c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-79ea\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 563f8c4b5b60eb9df447a43ac5995103\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31210,"size_decoded":10275,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"2ffe3f8909cfa5c00f9356969ce56989","sha1":"25fb185c3e390ae4bd33c6395913b100e0a4f6d9","sha256":"7d1513778a61b869e05173da3d33c80b937eaf583aeb370b947947ddcdce4c84","sha512":"2022abb3649827fd1f39c901fc168d99ac273164699e1ca00d77e017ee71f51fb199aac7cb5eb214ba12fe7bfb88a65a777fee03d3f0318dbaa768e188f74d6d","ssdeep":"768:YmdyerAdxxaVWiG7s8trffJtzTrcSWJMAchHTdv5UC1gMgFwMA+Mv60F00rFLfLL:5dyHaZG73TAVFd+60S0RuGpriakk","tlshash":"62e296ca3286733693d1c7850c750903f339a1743c0a55acf6ac6acfbe1a942617ab7d","first_seen":"2026-07-16T13:40:49.785089Z","last_seen":"2026-07-31T06:34:35.472553Z","times_seen":719,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTU5NjldLHszMDgyMShlLHQscyl7cy5kKHQse0J1c2luZXNzRGF5OigpPT5pfSk7dmFyIG49cyg3MDA4MDkpLHI9cyg5MDI4NDIpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2RheU9mV2Vlaz1udWxsLHRoaXMueWVhcj1lLHRoaXMubW9udGg9dCx0aGlzLmRheT1zfXRvU3RyaW5nKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLm1vbnRoKX0tJHsoMCxyLmFkZExlYWRpbmdaZXJvKSh0aGlzLmRheSl9YH10b3l5eXltbWRkKCl7cmV0dXJuYCR7KDAsci5hZGRMZWFkaW5nWmVyb3MpKHRoaXMueWVhciw0KX0keygwLHIuYWRkTGVhZGluZ1plcm8pKHRoaXMubW9udGgpfSR7KDAsci5hZGRMZWFkaW5nWmVybykodGhpcy5kYXkpfWB9Y29tcGFyZVRvKGUpe3JldHVybiB0aGlzLnllYXI+ZS55ZWFyfHx0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg+ZS5tb250aHx8dGhpcy55ZWFyPT09ZS55ZWFyJiZ0aGlzLm1vbnRoPT09ZS5tb250aCYmdGhpcy5kYXk+ZS5kYXk/MTp0aGlzLnllYXI9PT1lLnllYXImJnRoaXMubW9udGg9PT1lLm1vbnRoJiZ0aGlzLmRheT09PWUuZGF5PzA6LTF9YmVmb3JlKGUpe3JldHVybi0xPT09dGhpcy5jb21wYXJlVG8oZSl9dG9DYWxlbmRhcihlKXtyZXR1cm4oMCxuLmdldF9jYWwpKGU/PygwLG4uZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpLHRoaXMueWVhcix0aGlzLm1vbnRoLTEsdGhpcy5kYXkpfWFkZERheXMoZSl7Y29uc3QgdD10aGlzLnRvQ2FsZW5kYXIoKDAsbi5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpO3JldHVybigwLG4uYWRkX2RhdGUpKHQsZSksaS5mcm9tQ2FsZW5kYXIodCl9Zmlyc3REYXlPZlllYXIoKXtyZXR1cm4gbmV3IGkodGhpcy55ZWFyLDEsMSl9Z2V0RGF5T2ZXZWVrKCl7cmV0dXJuIG51bGw9PT10aGlzLl9kYXlPZldlZWsmJih0aGlzLl9kYXlPZldlZWs9KDAsbi5nZXRfZGF5X29mX3dlZWspKHRoaXMudG9DYWxlbmRhcigpKSksdGhpcy5fZGF5T2ZXZWVrfXN0YXRpYyBmcm9tQ2FsZW5kYXIoZSl7cmV0dXJuIG5ldyBpKCgwLG4uZ2V0X3llYXIpKGUpLCgwLG4uZ2V0X21vbnRoKShlKSsxLCgwLG4uZ2V0X2RheV9vZl9tb250aCkoZSkpfX19LDM0MTAzNihlLHQscyl7cy5kKHQse0V4dGVuZGVkRW50cnlEZWNvcmF0b3I6KCk9PkUsT2Zmc2V0RW50cnlEZWNvcmF0b3I6KCk9PnUsU0VTU0lPTl9TUEVDX1NZTUJPTF9CQVJTX09GRlNFVDooKT0+byxTRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEOigpPT5oLFNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRDooKT0+YSxTRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRDooKT0+ZCxTZXNzaW9uc1NwZWNFbnRyaWVzOigpPT5tLFNlc3Npb25zU3BlY0VudHJ5OigpPT5fLFNlc3Npb25zU3BlY0VudHJ5SW5kZXg6KCk9Pk8sU2Vzc2lvbnNTcGVjSGlzdG9yeUVudHJ5OigpPT5XLFVuaWZpZWRFbnRyeURlY29yYXRvcjooKT0+ayxVbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yOigpPT5wLGNvbXBhcmVTZXNzaW9uRW50cmllczooKT0+eSxpc0V4dGVuZGVkRW50cnk6KCk9PmcsaXNPZmZzZXRFbnRyeTooKT0+bCxpc1VuaWZpZWRFbnRyeTooKT0+Uyxpc1VuaWZpZWRTaGlmdGVkRW50cnk6KCk9PkR9KTt2YXIgbixyPXMoMTM4NjM4KSxpPXMoNzAwODA5KTshZnVuY3Rpb24oZSl7ZVtlLkxlZnRGaXJzdD0tMV09IkxlZnRGaXJzdCIsZVtlLlVuY2hhbmdlZD0wXT0iVW5jaGFuZ2VkIixlW2UuUmlnaHRGaXJzdD0xXT0iUmlnaHRGaXJzdCJ9KG58fChuPXt9KSk7Y29uc3Qgbz0iQSIsYT0iVSIsZD0iUyIsaD0iRSI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gZT49MD8wOmUlaS5taW51dGVzUGVyRGF5PT0wPy1lL2kubWludXRlc1BlckRheToxLU1hdGgudHJ1bmMoZS9pLm1pbnV0ZXNQZXJEYXkpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gZS5jb21wYXJlVG8odCl9dmFyIGM7IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuRXh0ZW5kZWRFbnRyeT0xXT0iRXh0ZW5kZWRFbnRyeSIsZVtlLk9mZnNldEVudHJ5PTJdPSJPZmZzZXRFbnRyeSIsZVtlLlVuaWZpZWRFbnRyeT0zXT0iVW5pZmllZEVudHJ5IixlW2UuVW5pZmllZFNoaWZ0ZWRFbnRyeT00XT0iVW5pZmllZFNoaWZ0ZWRFbnRyeSJ9KGN8fChjPXt9KSk7Y2xhc3MgX3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5kZWNvcmF0b3JUeXBlPTAsKDAsci5hc3NlcnQpKE51bWJlci5pc0Zpbml0ZShlKSYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocyksIkludmFsaWQgYXJndW1lbnRzIiksdGhpcy5fZGF5T2ZXZWVrPWUsdGhpcy5fc3RhcnQ9dCx0aGlzLl9sZW5ndGg9c31zdGFydCgpe3JldHVybiB0aGlzLl9zdGFydCtpLm1pbnV0ZXNQZXJEYXkqdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl9c3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc3RhcnR9ZW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0K3RoaXMuX2xlbmd0aH1zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCl7cmV0dXJuIGYodGhpcy5fc3RhcnQpfWlzT3Zlcm5pZ2h0KCl7cmV0dXJuIHRoaXMuX3N0YXJ0PDB9ZGF5T2ZXZWVrKCl7cmV0dXJuIHRoaXMuX2RheU9mV2Vla31zZXNzaW9uU3RhcnREYXlPZldlZWsoKXtsZXQgZT10aGlzLl9kYXlPZldlZWstdGhpcy5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCk7cmV0dXJuIGU8aS5TVU5EQVkmJihlKz03KSxlfWxlbmd0aCgpe3JldHVybiB0aGlzLl9sZW5ndGh9aXNFeHRlbmRlZCgpe3JldHVybiExfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5zdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuZW5kT2Zmc2V0KCl9Y29tcGFyZVRvKGUpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0KCkscz10K3RoaXMuX2xlbmd0aCxuPWUuX3dlaWdodCgpLHI9bitlLl9sZW5ndGgKO3JldHVybiB0PD1uJiZuPHN8fG48PXQmJnQ8cj8wOnQ+bj8xOi0xfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLl9jb250YWlucygoMCxpLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLCgwLGkuZ2V0X2RheV9vZl93ZWVrKShlKSl9X3dlaWdodCgpe3JldHVybiB0aGlzLl9kYXlPZldlZWsqaS5taW51dGVzUGVyRGF5K3RoaXMuX3N0YXJ0fV9jb250YWlucyhlLHQpe2xldCBzPXQtdGhpcy5fZGF5T2ZXZWVrO3M+MCYmKHMtPTcpO2NvbnN0IG49cyppLm1pbnV0ZXNQZXJEYXkrZTtyZXR1cm4gbj49dGhpcy5fc3RhcnQmJm48dGhpcy5fc3RhcnQrdGhpcy5fbGVuZ3RofX1mdW5jdGlvbiBsKGUpe3JldHVybiAyPT09ZS5kZWNvcmF0b3JUeXBlfWNsYXNzIHUgZXh0ZW5kcyBfe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZS5kYXlPZldlZWsoKSxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSksdGhpcy5kZWNvcmF0b3JUeXBlPTIsdGhpcy5fZW50cnk9ZSx0aGlzLl9iYXJzT2Zmc2V0PXR9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9YmFyc09mZnNldCgpe3JldHVybiB0aGlzLl9iYXJzT2Zmc2V0fWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIGcoZSl7cmV0dXJuIDE9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgRSBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0xLHRoaXMuX2VudHJ5PWUsdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldD10LHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0PXN9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9aXNFeHRlbmRlZCgpe3JldHVybiEwfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE9mZnNldH1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9leHRlbmRlZEVuZE9mZnNldH1leHRlbmRlZFN0YXJ0RGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkU3RhcnRPZmZzZXQpfWV4dGVuZGVkRW5kRGF5c09mZnNldCgpe3JldHVybiBmKHRoaXMuX2V4dGVuZGVkRW5kT2Zmc2V0KX19ZnVuY3Rpb24gUyhlKXtyZXR1cm4gMz09PWUuZGVjb3JhdG9yVHlwZX1jbGFzcyBrIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUuZGF5T2ZXZWVrKCksZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpLHRoaXMuZGVjb3JhdG9yVHlwZT0zLHRoaXMuX2VudHJ5PWUsdGhpcy5fdW5pZmllZEVudHJpZXM9dCx0LnB1c2godGhpcyl9Z2V0RW50cnkoKXtyZXR1cm4gdGhpcy5fZW50cnl9Z2V0VW5pZmllZEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXN9aGFzRXh0ZW5kZWRFbnRyeSgpe3JldHVybiB0aGlzLl91bmlmaWVkRW50cmllcy5zb21lKChlPT5lLmlzRXh0ZW5kZWQoKSkpfWlzRXh0ZW5kZWQoKXtyZXR1cm4gdGhpcy5fZW50cnkuaXNFeHRlbmRlZCgpfWV4dGVuZGVkU3RhcnRPZmZzZXQoKXtyZXR1cm4gdGhpcy5fZW50cnkuZXh0ZW5kZWRTdGFydE9mZnNldCgpfWV4dGVuZGVkRW5kT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkRW5kT2Zmc2V0KCl9fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIDQ9PT1lLmRlY29yYXRvclR5cGV9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLmRheU9mV2VlaygpLGUuc3RhcnRPZmZzZXQoKSxlLmxlbmd0aCgpKSx0aGlzLmRlY29yYXRvclR5cGU9NCx0aGlzLl9lbnRyeT1lLHRoaXMuX3VuaWZpZWRFbnRyaWVzPXQsdC5wdXNoKHRoaXMpfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuX2VudHJ5fWdldFVuaWZpZWRFbnRyaWVzKCl7cmV0dXJuIHRoaXMuX3VuaWZpZWRFbnRyaWVzfWhhc0V4dGVuZGVkRW50cnkoKXtyZXR1cm4gdGhpcy5fdW5pZmllZEVudHJpZXMuc29tZSgoZT0+ZS5pc0V4dGVuZGVkKCkpKX1pc0V4dGVuZGVkKCl7cmV0dXJuIHRoaXMuX2VudHJ5LmlzRXh0ZW5kZWQoKX1leHRlbmRlZFN0YXJ0T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX2VudHJ5LmV4dGVuZGVkU3RhcnRPZmZzZXQoKX1leHRlbmRlZEVuZE9mZnNldCgpe3JldHVybiB0aGlzLl9lbnRyeS5leHRlbmRlZEVuZE9mZnNldCgpfX1jbGFzcyBPe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLndlZWtJbmRleD1lLHRoaXMuZW50cnlJbmRleD10LHRoaXMuZW50cmllcz1zfWdldEVudHJ5KCl7cmV0dXJuIHRoaXMuZW50cmllc1t0aGlzLmVudHJ5SW5kZXhdfX1jbGFzcyBte2NvbnN0cnVjdG9yKGUsdCxzLG4pe3RoaXMuX21heFRyYWRpbmdEYXlMZW5ndGg9bnVsbCx0aGlzLl9saXN0PWUsdGhpcy5fZW50cmllc0J5RGF5PXQsdGhpcy5fZmlyc3REYXlPZldlZWs9cyx0aGlzLl93ZWVrRW5kc0NvdW50PW59Zmlyc3REYXlPZldlZWsoKXtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWt9ZW50cmllc0J5RGF5KCl7cmV0dXJuIHRoaXMuX2VudHJpZXNCeURheX1saXN0KCl7cmV0dXJuIHRoaXMuX2xpc3R9aXNXZWVrRW5kKGUpe3JldHVybiF0aGlzLl9lbnRyaWVzQnlEYXkuaGFzKGUpfXdlZWtFbmRzQ291bnQoKXtyZXR1cm4gdGhpcy5fd2Vla0VuZHNDb3VudH1sb25nZXN0U2Vzc2lvbkxlbmd0aCgpe3JldHVybiAwPT09dGhpcy5fbGlzdC5sZW5ndGg/MDpNYXRoLm1heCguLi50aGlzLl9saXN0Lm1hcCgoZT0+ZS5sZW5ndGgoKSkpKX1tYXhUcmFkaW5nRGF5TGVuZ3RoKCl7aWYobnVsbD09dGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aCl7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCB0IG9mIHRoaXMuX2xpc3Qpe2NvbnN0IHM9dC5kYXlPZldlZWsoKTtlLnNldChzLHQubGVuZ3RoKCkrKGUuZ2V0KHMpPz8wKSl9bGV0IHQ9MDtlLmZvckVhY2goKGU9Pnt0PU1hdGgubWF4KHQsZSl9KSksdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aD10fQpyZXR1cm4gdGhpcy5fbWF4VHJhZGluZ0RheUxlbmd0aH19Y2xhc3MgV3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RhcnREYXk9ZSx0aGlzLl9lbnRyaWVzPXMsdGhpcy5fc3BlY0VuZERheT10fWdldEVudHJpZXMoKXtyZXR1cm4gdGhpcy5fZW50cmllc31nZXRTdGFydERheSgpe3JldHVybiB0aGlzLl9zdGFydERheX1nZXRTcGVjRW5kRGF5KCl7cmV0dXJuIHRoaXMuX3NwZWNFbmREYXl9aXNPcGVuRW5kZWQoKXtyZXR1cm4gbnVsbD09dGhpcy5fc3BlY0VuZERheX19fSwzMjkwNDEoZSx0LHMpe3MuZCh0LHtTZXNzaW9uc1NwZWNQYXJzZXI6KCk9Pmcsd29ya2luZ0RheXNBbmRXZWVrRW5kczooKT0+ZH0pO3ZhciBuPXMoMTM4NjM4KSxyPXMoNzAwODA5KSxpPXMoMzA4MjEpLG89cygzNDEwMzYpO2NvbnN0IGE9W3IuTU9OREFZLHIuVFVFU0RBWSxyLldFRE5FU0RBWSxyLlRIVVJTREFZLHIuRlJJREFZXSxkPVtyLlNVTkRBWSxyLk1PTkRBWSxyLlRVRVNEQVksci5XRURORVNEQVksci5USFVSU0RBWSxyLkZSSURBWSxyLlNBVFVSREFZXTtmdW5jdGlvbiBoKGUpe3JldHVybiBlPj00OCYmZTw9NTd9Y29uc3QgZj1bMCwzMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07Y2xhc3MgeSBleHRlbmRzIE1hcHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fa2V5U3RyaW5nc1RvS2V5PW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5fa2V5U3RyaW5nc1RvS2V5LmdldChlLnRvU3RyaW5nKCkpO3JldHVybiB0JiZzdXBlci5nZXQodCl9c2V0KGUsdCl7Y29uc3Qgcz1lLnRvU3RyaW5nKCksbj10aGlzLl9rZXlTdHJpbmdzVG9LZXkuZ2V0KHMpO3JldHVybiB2b2lkIDAhPT1uJiZzdXBlci5kZWxldGUobiksdGhpcy5fa2V5U3RyaW5nc1RvS2V5LnNldChzLGUpLHN1cGVyLnNldChlLHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fa2V5U3RyaW5nc1RvS2V5LmhhcyhlLnRvU3RyaW5nKCkpfX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIDA9PT1lP3IubWludXRlc1BlckRheTplfWZ1bmN0aW9uIGwoZSx0LHMsbil7cmV0dXJuIHM9PT1uJiZ0PD1lP3MrMTpzfWZ1bmN0aW9uIHUoZSx0KXtpZihlPDB8fGU+PTcpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sICR7dH0gY2Fubm90IGJlIG91dHNpZGUgWzAsNyksICR7dH09JHtlfWApfWNsYXNzIGd7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3RvcnlFbnRyaWVzPVtdLHRoaXMudGltZXpvbmU9IiIsdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9bnVsbH1wYXJzZVNlc3Npb25zKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITEpfXBhcnNlU2Vzc2lvbnNBbmRWYWxpZGF0ZURhdGVUaW1lKGUsdCl7dGhpcy5fcGFyc2VIaXN0b3J5RW50cmllcyhlLHQsITApfXN0YXRpYyBwYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnMoZSx0LHMsbil7cmV0dXJuIHRoaXMuX3BhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0ltcGwoZSx0LHMsbil9c3RhdGljIHBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0LHMpe3JldHVybiB0aGlzLl9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLCEwKX1fY2xlYXJBbGwoKXt0aGlzLnRpbWV6b25lPSIiLHRoaXMuaGlzdG9yeUVudHJpZXM9W10sdGhpcy5hZGp1c3RTZXNzaW9uc0luZGV4ZXM9W119X3BhcnNlSGlzdG9yeUVudHJpZXMoZSx0LHMpe3RoaXMuX2NsZWFyQWxsKCk7Y29uc3Qgbj10LnNwbGl0KCIvIik7bGV0IHI9bnVsbCxpPW51bGw7dGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnM9bi5sZW5ndGg+MTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3QgYT1uW3RdLnNwbGl0KCIjIik7bGV0IGQ9bnVsbDtpZih0IT09bi5sZW5ndGgtMSl7aWYoMiE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gaGlzdG9yeSBlbnRyeSBkZWZpbml0aW9uOiAke25bdF19YCk7ZD1nLl9wYXJzZURheShhWzFdLCJzZXNzaW9uIGhpc3RvcnkgZW50cnkgZW5kIixzKS50b0NhbGVuZGFyKCl9ZWxzZXtpZigxIT09YS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbiBoaXN0b3J5IGVudHJ5IGRlZmluaXRpb246ICR7blt0XX1gKTtkPW51bGx9aWYobnVsbCE9PWkmJm51bGwhPT1kJiZkLmdldFRpbWUoKTxpLmdldFRpbWUoKSl0aHJvdyBuZXcgRXJyb3IoYGhpc3Rvcnkgc2Vzc2lvbnMgYXJlIG5vdCBsaXN0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyICgke2l9IC0+ICR7ZH1gKTtjb25zdCBoPXRoaXMuX3BhcnNlU2Vzc2lvbnNJbXBsKGUsYVswXSxzKTtyPXRoaXMuX2FkanVzdFN0YXJ0VG9QcmV2aW91c1Nlc3Npb24oaC5maXJzdERheU9mV2VlaygpKTtjb25zdCBmPW5ldyBvLlNlc3Npb25zU3BlY0hpc3RvcnlFbnRyeShyLGQsaCk7dGhpcy5oaXN0b3J5RW50cmllcy5wdXNoKGYpLGk9ZH19X3BhcnNlU2Vzc2lvbnNJbXBsKGUsdCxzKXt0aGlzLnRpbWV6b25lPWUsdD10aGlzLl9wYXJzZUZpcnN0RGF5T2ZXZWVrKHQpO2NvbnN0IG49bmV3IE1hcCxyPVtdO2lmKCIyNHg3Ij09PXQudG9Mb3dlckNhc2UoKSlmb3IoY29uc3QgZSBvZiBkKXtjb25zdCB0PWcuX2NyZWF0ZVNlc3Npb25FbnRyeShlLDAsMCwwLDApO3IucHVzaCh0KTtjb25zdCBzPVtdO3MucHVzaCh0KSxuLnNldChlLHMpfWVsc2V7bGV0IGU9ITE7Y29uc3QgaT1uZXcgTWFwO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoInwiKSl7Y29uc3QgdD1zLnNwbGl0KCI6IikuZmlsdGVyKGMpO2lmKDEhPT10Lmxlbmd0aCYmMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb24gc2VjdGlvbjogJHtzfWApO2NvbnN0IG49MT09PXQubGVuZ3RoO2lmKG4pe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGVkIGRlZmF1bHQgc2VjdGlvbjogJHtzfWApO2U9ITB9Y29uc3Qgcj1uP2E6Zy5fcGFyc2VXb3JraW5nRGF5cyh0WzFdKTtmb3IoY29uc3QgZSBvZiByKW4mJmkuaGFzKGUpfHxpLnNldChlLHRbMF0pfWZvcihjb25zdCBlIG9mIGQpe2NvbnN0IHQ9aS5nZXQoZSkKO2lmKHZvaWQgMD09PXQpY29udGludWU7Y29uc3Qgbz1nLl9wYXJzZVNlc3Npb25EYXkoZSx0LHMpO2xldCBhPW4uZ2V0KGUpO3ZvaWQgMD09PWEmJihhPVtdLG4uc2V0KGUsYSkpO2Zvcihjb25zdCBlIG9mIG8pYS5wdXNoKGUpLHIucHVzaChlKX19ci5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBpPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgcilpLmFkZChlLmRheU9mV2VlaygpKTtjb25zdCBoPTctaS5zaXplO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyaWVzKHIsbix0aGlzLl9maXJzdERheU9mV2VlayxoKX1fcGFyc2VGaXJzdERheU9mV2VlayhlKXtjb25zdCB0PWUuc3BsaXQoIjsiKTtpZih0aGlzLl9maXJzdERheU9mV2Vlaz1yLk1PTkRBWSx0Lmxlbmd0aD4yKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuIGU7bGV0IHM9MTtsZXQgbj10WzBdLmluZGV4T2YoIi0iKT49MD9OYU46cGFyc2VJbnQodFswXSk7aWYoaXNOYU4obikmJihzPTAsbj1wYXJzZUludCh0WzFdKSksbjxyLlNVTkRBWXx8bj5yLlNBVFVSREFZKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb25zIHNwZWM6ICR7ZX1gKTtyZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs9bix0W3NdfV9hZGp1c3RTdGFydFRvUHJldmlvdXNTZXNzaW9uKGUpe2lmKDA9PT10aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5oaXN0b3J5RW50cmllc1t0aGlzLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXS5nZXRTcGVjRW5kRGF5KCkpLHM9ZS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCk7aWYoMD09PXMpcmV0dXJuIHQ7Y29uc3QgaT0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLHMpLHQuZ2V0VGltZSgpPGkuZ2V0VGltZSgpfHwoMCxyLmFkZF9kYXRlKShpLDcpLGl9c3RhdGljIF9wYXJzZVNlc3Npb25EYXkoZSx0LHMpe2NvbnN0IG49W107Zm9yKGNvbnN0IHIgb2YgdC5zcGxpdCgiLCIpLmZpbHRlcihjKSlpZihyLmluY2x1ZGVzKG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSl7Y29uc3QgaT1yLnNwbGl0KG8uU0VTU0lPTl9TUEVDX1NZTUJPTF9VTklGSUVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkRW50cnlEZWNvcmF0b3IoZCxhKSl9YS5zb3J0KG8uY29tcGFyZVNlc3Npb25FbnRyaWVzKX1lbHNlIGlmKHIuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX1VOSUZJRURfU0hJRlRFRCkpe2NvbnN0IGk9ci5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfVU5JRklFRF9TSElGVEVEKSxhPVtdO2ZvcihsZXQgcj0wO3I8aS5sZW5ndGg7cisrKXtjb25zdCBkPXRoaXMuX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxpW3JdLDA9PT1yLHMpO24ucHVzaChuZXcgby5VbmlmaWVkU2hpZnRlZEVudHJ5RGVjb3JhdG9yKGQsYSkpfWEuc29ydChvLmNvbXBhcmVTZXNzaW9uRW50cmllcyl9ZWxzZSBuLnB1c2godGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxyLHMpKTtyZXR1cm4gbn1zdGF0aWMgX3BhcnNlVW5pZmllZEludGVydmFsKGUsdCxzLG4scil7aWYoIW4mJnMuaW5jbHVkZXMoby5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUKSl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9LiBVbmlmaWVkIGludGVydmFscyBjYW4gY29udGFpbiBvbmx5IG9uZSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9Jy4gU3BlY2lmeSAnJHtvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVR9JyBvbmx5IGZvciB0aGUgZmlyc3QgaW50ZXJ2YWxgKTtyZXR1cm4gdGhpcy5fcGFyc2VTZXNzaW9uRW50cnkoZSxzLHIpfXN0YXRpYyBfcGFyc2VTZXNzaW9uRW50cnkoZSx0LHMpe2NvbnN0IG49dC5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfRVhURU5ERUQpO2lmKG4ubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0VYVEVOREVEfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IHI9blswXS5zcGxpdChvLlNFU1NJT05fU1BFQ19TWU1CT0xfQkFSU19PRkZTRVQpO2lmKHIubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKGBiYWQgc2Vzc2lvbjogJHt0fS4gT25seSBvbmUgJyR7by5TRVNTSU9OX1NQRUNfU1lNQk9MX0JBUlNfT0ZGU0VUfScgaXMgYWxsb3dlZCBwZXIgc2Vzc2lvbiBpbnRlcnZhbGApO2NvbnN0IGk9clswXS5zcGxpdCgiLSIpO2lmKDIhPT1pLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGJhZCBzZXNzaW9uOiAke3R9YCk7bGV0IGE9MCxkPWlbMF07aWYoZC5pbmNsdWRlcygiRiIpKXtjb25zdCBlPWQuc3BsaXQoIkYiKTtkPWVbMF0sYT0iIiE9PWVbMV0/cGFyc2VJbnQoZVsxXSk6MX1sZXQgaD0wLGY9aVsxXTtpZihmLmluY2x1ZGVzKCJGIikpe2NvbnN0IGU9Zi5zcGxpdCgiRiIpO2Y9ZVswXSxoPSIiIT09ZVsxXT9wYXJzZUludChlWzFdKToxfWNvbnN0IHk9dGhpcy5fbWludXRlc0Zyb21ISE1NKGQsdCxzKSxjPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShmLHQscyk7bGV0IF89dGhpcy5fY3JlYXRlU2Vzc2lvbkVudHJ5KGUseSxjLGEsaCk7aWYoMj09PXIubGVuZ3RoKXtjb25zdCBlPXRoaXMuX21pbnV0ZXNGcm9tSEhNTShyWzFdLHQscyk7Xz10aGlzLl9kZWNvcmF0ZVdpdGhPZmZzZXQoXyxlLHksYyxhLGgpfWlmKDI9PT1uLmxlbmd0aCl7Y29uc3QgZT1uWzFdLnNwbGl0KCItIik7aWYoMiE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgYmFkIHNlc3Npb246ICR7dH0uIEluY29ycmVjdCBleHRlbmRlZCBpbnRlcnZhbGApO2xldCByPTAsaT1lWzBdO2lmKGkuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1pLnNwbGl0KCJGIik7aT1lWzBdLHI9IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9bGV0IG89MCxhPWVbMV0KO2lmKGEuaW5jbHVkZXMoIkYiKSl7Y29uc3QgZT1hLnNwbGl0KCJGIik7YT1lWzBdLG89IiIhPT1lWzFdP3BhcnNlSW50KGVbMV0pOjF9Y29uc3QgZD10aGlzLl9taW51dGVzRnJvbUhITU0oaSx0LHMpLGg9dGhpcy5fbWludXRlc0Zyb21ISE1NKGEsdCxzKTtfPXRoaXMuX2RlY29yYXRlV2l0aEV4dGVuc2lvbihfLGQsaCxyLG8pfXJldHVybiBffXN0YXRpYyBfbWludXRlc0Zyb21ISE1NKGUsdCxzKXtpZig0PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSl7Y29uc3QgdD1wYXJzZUludChlKSxuPU1hdGgudHJ1bmModC8xMDApLHI9dCUxMDA7aWYoIXN8fG48MjQmJnI8NjApcmV0dXJuIHIrNjAqbn10aHJvdyBuZXcgRXJyb3IoYGluY29ycmVjdCBlbnRyeSBzeW50YXg6ICR7dH1gKX1zdGF0aWMgX3BhcnNlRGF5KGUsdCxzKXtpZig4PT09ZS5sZW5ndGgmJmgoZS5jaGFyQ29kZUF0KDApKSYmaChlLmNoYXJDb2RlQXQoMSkpJiZoKGUuY2hhckNvZGVBdCgyKSkmJmgoZS5jaGFyQ29kZUF0KDMpKSYmaChlLmNoYXJDb2RlQXQoNCkpJiZoKGUuY2hhckNvZGVBdCg1KSkmJmgoZS5jaGFyQ29kZUF0KDYpKSYmaChlLmNoYXJDb2RlQXQoNykpKXtjb25zdCB0PXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsNCkpLG49cGFyc2VJbnQoZS5zdWJzdHJpbmcoNCw2KSkscj1wYXJzZUludChlLnN1YnN0cmluZyg2LDgpKTtpZighc3x8dGhpcy5faXNWYWxpZERheU9mTW9udGgocixuLHQpKXJldHVybiBuZXcgaS5CdXNpbmVzc0RheSh0LG4scil9dGhyb3cgbmV3IEVycm9yKGBiYWQgJHt0fSBkYXRlOiAke2V9YCl9c3RhdGljIF9pc1ZhbGlkRGF5T2ZNb250aChlLHQscyl7cmV0dXJuISh0PDF8fHQ+MTIpJiYoIShlPDF8fGU+Zlt0XSl8fCEoMiE9PXR8fDI5IT09ZXx8ISgwLHIuaXNfbGVhcF95ZWFyKShzKSkpfXN0YXRpYyBfcGFyc2VXb3JraW5nRGF5cyhlKXtjb25zdCB0PVtdO2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7cysrKXtjb25zdCBuPWUuY2hhckNvZGVBdChzKS00ODtpZihuPDF8fG4+Nyl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF5cyBzcGVjaWZpY2F0aW9uOiAke2V9YCk7dC5pbmNsdWRlcyhuKXx8dC5wdXNoKG4pfXJldHVybiB0fXN0YXRpYyBfY3JlYXRlU2Vzc2lvbkVudHJ5KGUsdCxzLG4saSl7aWYodShuLCJzdGFydERheXNBZ28iKSx1KGksImVuZERheXNBZ28iKSwobj1sKHQscz1fKHMpLG4saSkpPGkpdGhyb3cgbmV3IEVycm9yKGBlcnJvciBwYXJzaW5nIHNlc3Npb24sIHZpb2xhdGlvbiBzdGFydERheXNBZ28gPj0gZW5kRGF5c0Fnbywgc3RhcnREYXlzQWdvPSR7bn0sIGVuZERheXNBZ289JHtpfWApO24+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSk7Y29uc3QgYT1zLXQ7aWYoIShlPj1yLlNVTkRBWSYmZTw9ci5TQVRVUkRBWSYmdDxyLm1pbnV0ZXNQZXJEYXkmJmE+MCkpdGhyb3cgbmV3IEVycm9yKCJlcnJvciBwYXJzaW5nIHNlc3Npb24sIGludmFsaWQgZGF0YSIpO3JldHVybiBuZXcgby5TZXNzaW9uc1NwZWNFbnRyeShlLHQsYSl9c3RhdGljIF9kZWNvcmF0ZVdpdGhFeHRlbnNpb24oZSx0LHMsbixpKXtpZih1KG4sImV4dGVuZGVkLnN0YXJ0RGF5c0FnbyIpLHUoaSwiZXh0ZW5kZWQuZW5kRGF5c0FnbyIpLChuPWwodCxzPV8ocyksbixpKSk+MCYmKHQtPW4qci5taW51dGVzUGVyRGF5KSxpPjAmJihzLT1pKnIubWludXRlc1BlckRheSksdD09PWUuc3RhcnRPZmZzZXQoKSYmcz09PWUuZW5kT2Zmc2V0KCkpcmV0dXJuIGU7aWYodD5lLnN0YXJ0T2Zmc2V0KCl8fHM8ZS5lbmRPZmZzZXQoKSl0aHJvdyBuZXcgRXJyb3IoImVycm9yIHBhcnNpbmcgc2Vzc2lvbiwgZXh0ZW5kZWQgaW50ZXJ2YWwgbXVzdCBiZSB3aWRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBiYXNlIGludGVydmFsIik7cmV0dXJuIG5ldyBvLkV4dGVuZGVkRW50cnlEZWNvcmF0b3IoZSx0LHMpfXN0YXRpYyBfZGVjb3JhdGVXaXRoT2Zmc2V0KGUsdCxzLG4saSxhKXtyZXR1cm4gdD09PXM/ZTooaT1sKHMsbj1fKG4pLGksYSksdD5zJiYodC09ci5taW51dGVzUGVyRGF5KSxpPjAmJih0LT1pKnIubWludXRlc1BlckRheSksbmV3IG8uT2Zmc2V0RW50cnlEZWNvcmF0b3IoZSx0KSl9c3RhdGljIF9wYXJzZUhvbGlkYXlzQW5kQ29ycmVjdGlvbnNJbXBsKGUsdCxzLG4pe2NvbnN0IGk9bmV3IHk7aWYoIiIhPT10KXtjb25zdCBlPVtdO2Zvcihjb25zdCBzIG9mIHQuc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShzLCJob2xpZGF5IixuKTtpLnNldCh0LGUpfX1pZigiIj09PXMpcmV0dXJuIGk7Zm9yKGNvbnN0IGUgb2Ygcy5zcGxpdCgiOyIpKXtjb25zdCB0PWUuc3BsaXQoIjoiKTtpZigyIT09dC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBiYWQgY29ycmVjdGlvbiBzZWN0aW9uOiAke2V9YCk7aWYoImRheW9mZiI9PT10WzBdKWZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3QgdD10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKTtpLnNldCh0LFtdKX1lbHNlIGZvcihjb25zdCBlIG9mIHRbMV0uc3BsaXQoIiwiKSl7Y29uc3Qgcz10aGlzLl9wYXJzZURheShlLCJjb3JyZWN0aW9uIixuKSxvPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzLnRvQ2FsZW5kYXIoKSksYT10aGlzLl9wYXJzZVNlc3Npb25EYXkobyx0WzBdLG4pO2kuc2V0KHMsYSl9fXJldHVybiBpfX19LDU1OTY5KGUsdCxzKXtzLmQodCx7U2Vzc2lvbnNTcGVjOigpPT5nfSk7dmFyIG49cygxMzg2MzgpLHI9cyg3MDA4MDkpLGk9cygxOTg5MDEpLG89cygzMDgyMSksYT1zKDM0MTAzNiksZD1zKDMyOTA0MSk7ZnVuY3Rpb24gaChlLHQpe3JldHVybiBlLmNvbXBhcmVUbyh0KTwwfWZ1bmN0aW9uIGYoZSx0KXsKY29uc3Qgcz1lLmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxuPXMrZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksaT1zK2UuZXh0ZW5kZWRFbmRPZmZzZXQoKSxvPXQuZGF5T2ZXZWVrKCkqci5taW51dGVzUGVyRGF5LGE9byt0LmV4dGVuZGVkU3RhcnRPZmZzZXQoKSxkPW8rdC5leHRlbmRlZEVuZE9mZnNldCgpO3JldHVybiEobjw9YSYmYTxpfHxhPD1uJiZuPGQpJiZuPGF9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5kYXlPZldlZWsoKSpyLm1pbnV0ZXNQZXJEYXksbj1zK2UuZXh0ZW5kZWRTdGFydE9mZnNldCgpLGk9cytlLmV4dGVuZGVkRW5kT2Zmc2V0KCksbz10LmRheU9mV2VlaygpKnIubWludXRlc1BlckRheSxhPW8rdC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZD1vK3QuZXh0ZW5kZWRFbmRPZmZzZXQoKTtyZXR1cm4gbjw9YSYmYTxpfHxhPD1uJiZuPGQ/MDpuPmE/MTotMX1jb25zdCBjPSgwLHIuZ2V0X3RpbWV6b25lKSgiRXRjL1VUQyIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIDFlNCplLnllYXIrMTAwKmUubW9udGgrZS5kYXl9dmFyIGw7IWZ1bmN0aW9uKGUpe2VbZS5DbG9zZXN0PTBdPSJDbG9zZXN0IixlW2UuRmlyc3RJbkRheT0tMV09IkZpcnN0SW5EYXkiLGVbZS5MYXN0SW5EYXk9MV09Ikxhc3RJbkRheSJ9KGx8fChsPXt9KSk7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXt0aGlzLl92YWx1ZT1lfWdldCgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQoZSl7dGhpcy5fdmFsdWU9ZX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlPSJFdGMvVVRDIix0PSIwMDAwLTAwMDAiLHM9IiIsbj0iIixpPSExKXtjb25zdCBvPW5ldyBkLlNlc3Npb25zU3BlY1BhcnNlcjtpP28ucGFyc2VTZXNzaW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSx0KTpvLnBhcnNlU2Vzc2lvbnMoZSx0KSx0aGlzLl9lbnRyaWVzPW8uaGlzdG9yeUVudHJpZXMsdGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zPW8uaGFzSGlzdG9yeUNvcnJlY3Rpb25zLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk9by5oaXN0b3J5RW50cmllc1tvLmhpc3RvcnlFbnRyaWVzLmxlbmd0aC0xXSx0aGlzLl90aW1lem9uZT1vLnRpbWV6b25lLHRoaXMuX3RpbWV6b25lT2JqPSgwLHIuZ2V0X3RpbWV6b25lKShvLnRpbWV6b25lKSx0aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcD1pP2QuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9uc0FuZFZhbGlkYXRlRGF0ZVRpbWUoZSxzLG4pOmQuU2Vzc2lvbnNTcGVjUGFyc2VyLnBhcnNlSG9saWRheXNBbmRDb3JyZWN0aW9ucyhlLHMsbixpKTtjb25zdCBhPXRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmtleXMoKTt0aGlzLl9lbnRyaWVzSGFzaD1uZXcgTWFwO2NvbnN0IGg9dGhpcy5fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCk7dGhpcy5fYm9yZGVyV2Vla3NJbmRpY2VzSGFzaD1oLmJvcmRlcldlZWtzSW5kaWNlc0hhc2gsdGhpcy5feWVhclRvV2Vla3NJbmRpY2VzSGFzaD1oLnllYXJUb1dlZWtzSW5kaWNlc0hhc2gsdGhpcy5fd2Vla0luZGljZXNPZkxhc3RIaXN0b3J5V2Vlaz1oLndlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWssdGhpcy5fcHJlc2VudFN0YXJ0V2Vla0luZGV4PWguc3RhcnRQcmVzZW50U2Vzc2lvbldlZWtJbmRleCx0aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2g9bmV3IE1hcCwiIj09PXMmJiIiPT09biYmbnVsbD09PXRoaXMuX3dlZWtJbmRpY2VzT2ZMYXN0SGlzdG9yeVdlZWs/dGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zPSExOnRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucz0hMDtmb3IoY29uc3QgZSBvZiBhKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUudG9DYWxlbmRhcigpKTt0aGlzLl9lbnRyaWVzSGFzaC5zZXQodCxuZXcgdShudWxsKSl9dGhpcy5fc29ydGVkSG9saWRheXM9Wy4uLnRoaXMuX2hvbGlkYXlBbmRDb3JyZWN0aW9uTWFwLmVudHJpZXMoKV0ubWFwKCgoW2UsdF0pPT4oe2tleTpfKGUpLGRheTplLHNlc3Npb25zOnR9KSkpLnNvcnQoKChlLHQpPT5lLmtleS10LmtleSkpLHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXM9dGhpcy5faGFzSGlzdG9yeUNvcnJlY3Rpb25zP251bGw6dGhpcy5fYnVpbGRIb2xpZGF5Q291bnRQcmVmaXhTdW1zKCl9aGFzSGlzdG9yeUNvcnJlY3Rpb25zKCl7cmV0dXJuIHRoaXMuX2hhc0hpc3RvcnlDb3JyZWN0aW9uc31maXJzdERheU9mV2Vlaygpe3JldHVybiB0aGlzLl9wcmVzZW50SGlzdG9yeUVudHJ5LmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpfWluY2x1ZGVzRGF5KGUpe3JldHVybiB0aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpLmxlbmd0aD4wfWdldEVudHJpZXNGb3JXZWVrKGUpe2lmKCF0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnMpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpOygwLG4uYXNzZXJ0KShlPj0wKTtjb25zdCB0PWUscz10aGlzLl9lbnRyaWVzSGFzaC5nZXQodCk7aWYodm9pZCAwPT09cyl7cmV0dXJuIHRoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpfWxldCByPXMuZ2V0KCk7aWYobnVsbCE9PXIpcmV0dXJuIHI7bGV0IGk9bnVsbDtjb25zdCBoPXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpO2k9dm9pZCAwPT09aD90aGlzLl9nZXRIaXN0b3J5QW5kSW5kZXhGb3JXZWVrKHQpLmdldEVudHJpZXMoKTp0aGlzLl9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoaCk7Y29uc3QgZj1uZXcgTWFwKGkuZW50cmllc0J5RGF5KCkpO2xldCB5PVsuLi5pLmxpc3QoKV07Y29uc3QgYz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSksXz10aGlzLl93ZWVrSW5kZXhUb0xvY2FsRGF0ZVRpbWUoZSsxKSxsPW8uQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKGMpLHU9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoXyk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc2VsZWN0SG9saWRheXMobCx1KSl7Y29uc3QgdD1lLmRheS5nZXREYXlPZldlZWsoKTt5PXkuZmlsdGVyKChlPT5lLmRheU9mV2VlaygpIT09dCkpLHkucHVzaCguLi5lLnNlc3Npb25zKSwKMD09PWUuc2Vzc2lvbnMubGVuZ3RoP2YuZGVsZXRlKHQpOmYuc2V0KHQsZS5zZXNzaW9ucyl9eS5zb3J0KGEuY29tcGFyZVNlc3Npb25FbnRyaWVzKTtjb25zdCBnPWQud29ya2luZ0RheXNBbmRXZWVrRW5kcy5sZW5ndGgtZi5zaXplO3JldHVybiByPW5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMoeSxmLGkuZmlyc3REYXlPZldlZWsoKSxnKSxzLnNldChyKSxyfWdldEhpc3RvcnlCeUluZGV4KGUpe3JldHVybiB0aGlzLl9lbnRyaWVzW2VdfXRpbWV6b25lKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lfXRpbWV6b25lT2JqKCl7cmV0dXJuIHRoaXMuX3RpbWV6b25lT2JqfWxvbmdlc3RTZXNzaW9uTGVuZ3RoKCl7bGV0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkubG9uZ2VzdFNlc3Npb25MZW5ndGgoKTtmb3IobGV0IHQ9MDt0PHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7dCsrKXtjb25zdCBzPXRoaXMuX2VudHJpZXNbdF0uZ2V0RW50cmllcygpLmxvbmdlc3RTZXNzaW9uTGVuZ3RoKCk7ZT1NYXRoLm1heChlLHMpfWxldCB0PS0xLzA7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faG9saWRheUFuZENvcnJlY3Rpb25NYXAudmFsdWVzKCkpdD1NYXRoLm1heCh0LC4uLmUubWFwKChlPT5lLmxlbmd0aCgpKSkpO3JldHVybiBNYXRoLm1heCh0LGUpfWlzV2Vla0VuZChlKXtjb25zdCB0PXRoaXMuZ2V0V2Vla0luZGV4KGUpO2xldCBzO3JldHVybiBzPXZvaWQgMD09PXRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KHQpP3RoaXMuX2dldEhpc3RvcnlBbmRJbmRleEZvcldlZWsodCkuZ2V0RW50cmllcygpOnRoaXMuZ2V0RW50cmllc0ZvcldlZWsodCkscy5pc1dlZWtFbmQoKDAsci5nZXRfZGF5X29mX3dlZWspKGUpKX1pc0NhbFdlZWtFbmQoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSk7aWYoIXRoaXMuX2lzVGhlcmVDb3JyZWN0aW9ucylyZXR1cm4gdGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCkuaXNXZWVrRW5kKHQpO2NvbnN0IHM9dGhpcy5nZXRXZWVrSW5kZXgoZSksbj10aGlzLmdldEVudHJpZXNGb3JXZWVrKHMpLGk9by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSksYT10aGlzLl9ob2xpZGF5QW5kQ29ycmVjdGlvbk1hcC5nZXQoaSk7cmV0dXJuIHZvaWQgMD09PWE/bi5pc1dlZWtFbmQodCk6MD09PWEubGVuZ3RofWhvbGlkYXlzRnJvbVllYXJTdGFydChlKXtjb25zdCB0PWUgaW5zdGFuY2VvZiBvLkJ1c2luZXNzRGF5P2U6by5CdXNpbmVzc0RheS5mcm9tQ2FsZW5kYXIoZSk7cmV0dXJuIHRoaXMuX2hvbGlkYXlzRnJvbVllYXJTdGFydCh0KX1kYXlzT2ZmRnJvbVllYXJTdGFydChlKXtjb25zdCB0PSgwLHIuZ2V0X2NhbCkoYywoMCxyLmdldF95ZWFyKShlKSxyLkpBTlVBUlksMSkscz10aGlzLmdldFdlZWtJbmRleCh0KSxuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKS0xO2lmKCgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKStuPD1yLkxBU1RfREFZX09GX1dFRUsrci5GSVJTVF9EQVlfT0ZfV0VFSylyZXR1cm4gdGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLGkpO2NvbnN0IG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGE9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMocyxuLHIuTEFTVF9EQVlfT0ZfV0VFSyk7Zm9yKGxldCBlPXMrMTtlPG87ZSsrKXthKz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLndlZWtFbmRzQ291bnQoKX1yZXR1cm4gYSs9dGhpcy5fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMobyxyLkZJUlNUX0RBWV9PRl9XRUVLLGkpLGF9d2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKXtyZXR1cm4oMCxuLmFzc2VydCkoIXRoaXMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCkpLHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnkuZ2V0RW50cmllcygpLndlZWtFbmRzQ291bnQoKX1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4NyhlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9lbnRyaWVzKWlmKCF0LmdldEVudHJpZXMoKS5saXN0KCkuZXZlcnkoKHQ9PnQuc3RhcnQoKSVlPT0wJiZ0Lmxlbmd0aCgpJWU9PTApKSlyZXR1cm4hMTtyZXR1cm4hMH1pbnRyYWRheUNhbkJlQnVpbHRGcm9tMjR4N1NlY29uZHMoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZW50cmllcylpZighdC5nZXRFbnRyaWVzKCkubGlzdCgpLmV2ZXJ5KCh0PT42MCp0LnN0YXJ0KCklZT09MCYmNjAqdC5sZW5ndGgoKSVlPT0wKSkpcmV0dXJuITE7cmV0dXJuITB9aW5kZXhPZlNlc3Npb24oZSx0LHMsbz1oKXsoMCxuLmFzc2VydCkodD49ci5TVU5EQVkmJnQ8PXIuU0FUVVJEQVkpLCgwLG4uYXNzZXJ0KShzPj0wJiZzPHIubWludXRlc1BlckRheSk7Y29uc3QgZD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLGY9ZC5saXN0KCk7bGV0IHk9KDAsaS5sb3dlcmJvdW5kKShmLG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQscywwKSxvKTtpZih5PGYubGVuZ3RoKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGUseSxbLi4uZl0pO2xldCBjPWUrMSxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyk7aWYoMCE9PV8ubGlzdCgpLmxlbmd0aCl7Y29uc3QgZT03LXQrXy5maXJzdERheU9mV2VlaygpLTE7aWYocz0tKHIubWludXRlc1BlckRheS1zK2Uqci5taW51dGVzUGVyRGF5KSx5PSgwLGkubG93ZXJib3VuZCkoXy5saXN0KCksbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkoXy5maXJzdERheU9mV2VlaygpLHMsMCksbykseTxfLmxpc3QoKS5sZW5ndGgpcmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoYyx5LFsuLi5fLmxpc3QoKV0pfWZvcig7OylpZihjKysscy09ci5taW51dGVzUGVyV2VlayxfPXRoaXMuZ2V0RW50cmllc0ZvcldlZWsoYyksMCE9PV8ubGlzdCgpLmxlbmd0aCYmKHk9KDAsaS5sb3dlcmJvdW5kKShfLmxpc3QoKSxuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeShkLmZpcnN0RGF5T2ZXZWVrKCkscywwKSxvKSwhKHk+PV8ubGlzdCgpLmxlbmd0aCkpKXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGMseSxbLi4uXy5saXN0KCldKX0KZmluZFNlc3Npb24oZSx0LHMsbj0wLHI9aCl7Y29uc3QgaT10aGlzLmluZGV4T2ZTZXNzaW9uKGUsdCxzLHIpLG89aS5lbnRyaWVzO2xldCBkPWkuZW50cnlJbmRleDtpZigwIT09bil7Y29uc3QgZT1vW2RdLmRheU9mV2VlaygpLHQ9bj4wPzE6LTE7Zm9yKDs7KXtjb25zdCBzPWQrdDtpZihzPDB8fHM+PW8ubGVuZ3RofHxvW3NdLmRheU9mV2VlaygpIT09ZSlicmVhaztkPXN9fXJldHVybiBuZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGkud2Vla0luZGV4LGQsbyl9Z2V0V2Vla0luZGV4KGUpe3JldHVybiB0aGlzLl9pc1RoZXJlQ29ycmVjdGlvbnM/Zy5fZ2V0V2Vla0luZGV4SW1wbChlKTowfWNvcnJlY3RUcmFkaW5nRGF5KGUpe2NvbnN0IHQ9dGhpcy5fY29ycmVjdFRyYWRpbmdEYXkodGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLCgwLHIuZ2V0X21pbnV0ZXNfd2l0aF9ob3VycykoZSkpLHM9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5hZGRfZGF0ZSkocyx0KSxzfWFsaWduVG9TZXNzaW9uU3RhcnQoZSx0PTApe2NvbnN0IHM9KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLG49KDAsci5nZXRfbWludXRlc19mcm9tX21pZG5pZ2h0KShlKSxpPXRoaXMuZ2V0V2Vla0luZGV4KGUpLG89dGhpcy5maW5kU2Vzc2lvbihpLHMsbix0KSxhPW8uZ2V0RW50cnkoKSxkPWEuZGF5T2ZXZWVrKCktcys3Kk1hdGgudHJ1bmMoby53ZWVrSW5kZXgtaSk7MCE9PWQmJigwLHIuYWRkX2RhdGUpKGUsZCk7Y29uc3QgaD1hLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoaC82MCksaCU2MCwwLDApLGEubGVuZ3RoKCl9YWxpZ25Ub0VudHJ5U3RhcnQoZSx0PTApe3JldHVybiB0aGlzLl9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxoKX1hbGlnblRvRW50cnlTdGFydEV4dGVuZGVkKGUsdD0wKXtyZXR1cm4gdGhpcy5fZG9BbGlnblRvRW50cnlTdGFydChlLHQsZil9YnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0KXtyZXR1cm4gdGhpcy5fYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXModGhpcy5nZXRXZWVrSW5kZXgoZSksKDAsci5nZXRfZGF5X29mX3dlZWspKGUpLHQpfWNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCl7cmV0dXJuIHRoaXMuX2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKHRoaXMuZ2V0V2Vla0luZGV4KGUpLCgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSx0KX1hbGlnblRvTmVhcmVzdFNlc3Npb25TdGFydChlLHQpe3JldHVybiB0aGlzLl9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQsdGhpcy5fZW50cnlTZXNzaW9uU3RhcnQuYmluZCh0aGlzKSl9YWxpZ25Ub05lYXJlc3RTZXNzaW9uRW5kKGUsdCl7cmV0dXJuIHRoaXMuX2FsaWduVG9OZWFyZXN0U2Vzc2lvblZhbHVlKGUsdCx0aGlzLl9lbnRyeVNlc3Npb25FbmQuYmluZCh0aGlzKSl9Ym9yZGVyc09mRGFpbHlCYXIoZSl7Y29uc3QgdD10aGlzLl9nZXRFbnRyaWVzRm9yRGF5KGUpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBzPXQuc2xpY2UoKTtzLnNvcnQoYS5jb21wYXJlU2Vzc2lvbkVudHJpZXMpO2NvbnN0IG49dGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSksaT1zW3MubGVuZ3RoLTFdLG89NjAqKGkuc3RhcnRPZmZzZXQoKStpLmxlbmd0aCgpKS0xLGQ9KDAsci5jbG9uZSkoZSk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykoZCxvKSx7ZnJvbTpuLHRvOmR9fWxlZnRCb3JkZXJPZkRhaWx5QmFyKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0RW50cmllc0ZvckRheShlKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIG51bGw7Y29uc3Qgcz10LnNsaWNlKCk7cmV0dXJuIHMuc29ydChhLmNvbXBhcmVTZXNzaW9uRW50cmllcyksdGhpcy5fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsc1swXSl9Y2hlY2tTZXNzaW9uKCl7cmV0dXJuIHRoaXMuX2NoZWNrRWFjaEhpc3RvcnlTZXNzaW9uKCkmJnRoaXMuX2NoZWNrU3BlY2lhbEVudHJpZXMoKSYmdGhpcy5fY2hlY2tUb29NYW55Q29ycmVjdGlvbnNPbldlZWsoKX1pblNlc3Npb24oZSl7ZT1uZXcgRGF0ZSgxZTMqTWF0aC5mbG9vcihlLmdldFRpbWUoKS8xZTMpKTtjb25zdCB0PXRoaXMuYWxpZ25Ub05lYXJlc3RTZXNzaW9uU3RhcnQoZSwtMSkscz10aGlzLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LDEpO3JldHVybiEoZS5nZXRUaW1lKCk+cy5nZXRUaW1lKCkpfWhhc1dlZWtFbmRzKCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fZW50cmllcylpZigwIT09ZS5nZXRFbnRyaWVzKCkud2Vla0VuZHNDb3VudCgpKXJldHVybiEwO3JldHVybiExfWdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyhlKXtsZXQgdD10aGlzLl95ZWFyVG9DYWxjdWxhdGVkQWRkZWRXZWVrSW5kaWNlc0hhc2guZ2V0KGUpO3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSksdGhpcy5feWVhclRvQ2FsY3VsYXRlZEFkZGVkV2Vla0luZGljZXNIYXNoLnNldChlLHQpKSx0fV9kb0FsaWduVG9FbnRyeVN0YXJ0KGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShlKSxpPSgwLHIuZ2V0X21pbnV0ZXNfZnJvbV9taWRuaWdodCkoZSksbz10aGlzLmdldFdlZWtJbmRleChlKSxhPXRoaXMuZmluZFNlc3Npb24obyxuLGksdCxzKSxkPWEuZ2V0RW50cnkoKSxoPWQuZGF5T2ZXZWVrKCktbis3Kk1hdGgudHJ1bmMoYS53ZWVrSW5kZXgtbyk7MCE9PWgmJigwLHIuYWRkX2RhdGUpKGUsaCk7Y29uc3QgZj1kLnN0YXJ0T2Zmc2V0KCk7cmV0dXJuKDAsci5zZXRfaG1zKShlLE1hdGgudHJ1bmMoZi82MCksZiU2MCwwLDApLHtsZW5ndGg6ZC5sZW5ndGgoKSxlbnRyeTpkfX1fcHJlcGFyZVNlc3Npb25zQm9yZGVyUGFyYW1zKCl7Y29uc3QgZT1uZXcgTWFwLHQ9bmV3IE1hcDtsZXQgcz1udWxsO3RoaXMuX2VudHJpZXMubGVuZ3RoPjEmJihzPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLl9lbnRyaWVzLmxlbmd0aC0xfSwoKCk9PjApKSk7bGV0IHI9MDtmb3IobGV0IGk9MDtpPHRoaXMuX2VudHJpZXMubGVuZ3RoLTE7aSsrKXtjb25zdCBvPXRoaXMuX2VudHJpZXNbaSsxXSxhPSgwLApuLmVuc3VyZU5vdE51bGwpKG8uZ2V0U3RhcnREYXkoKSk7cj1nLl9nZXRXZWVrSW5kZXhJbXBsKGEpLGUuc2V0KHIsaSsxKSx0aGlzLl9hZGRUb1llYXJIYXNoKHQsYSxyKSx0aGlzLl9lbnRyaWVzSGFzaC5zZXQocixuZXcgdShudWxsKSksKDAsbi5lbnN1cmVOb3ROdWxsKShzKVtpXT1yfXJldHVybntib3JkZXJXZWVrc0luZGljZXNIYXNoOmUseWVhclRvV2Vla3NJbmRpY2VzSGFzaDp0LHN0YXJ0UHJlc2VudFNlc3Npb25XZWVrSW5kZXg6cix3ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrOnN9fV9hZGRUb1llYXJIYXNoKGUsdCxzKXtjb25zdCBuPSgwLHIuZ2V0X3llYXIpKHQpO2xldCBpPWUuZ2V0KG4pO3ZvaWQgMD09PWkmJihpPVtdLGUuc2V0KG4saSkpLGkucHVzaChzKX1fZ2V0SGlzdG9yeUFuZEluZGV4Rm9yV2VlayhlKXtpZih0aGlzLl9wcmVzZW50U3RhcnRXZWVrSW5kZXg8PWUpcmV0dXJuIHRoaXMuX3ByZXNlbnRIaXN0b3J5RW50cnk7Y29uc3QgdD10aGlzLl9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpO3JldHVybiB0aGlzLl9lbnRyaWVzW3RdfV9nZXRJbmRleE9mSGlzdG9yeUVudHJ5KGUpe2xldCB0PTAscz10aGlzLl9lbnRyaWVzLmxlbmd0aC0xLHI9TWF0aC5mbG9vcigodCtzKS8yKTtmb3IoKDAsbi5hc3NlcnQpKG51bGwhPT10aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrKTs7KXtpZih0aGlzLl93ZWVrSW5kaWNlc09mTGFzdEhpc3RvcnlXZWVrW3JdPj1lKXtpZihzPXItMSxzPHQpcmV0dXJuIHJ9ZWxzZSBpZih0PXIrMSxzPHQpcmV0dXJuIHIrMTtyPU1hdGguZmxvb3IoKHQrcykvMil9fV9zZWxlY3RIb2xpZGF5cyhlLHQpe2NvbnN0IHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUpKSxuPXRoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyh0KSk7cmV0dXJuIHRoaXMuX3NvcnRlZEhvbGlkYXlzLnNsaWNlKHMsbil9X2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoZSl7cmV0dXJuKDAsaS5sb3dlcmJvdW5kKSh0aGlzLl9zb3J0ZWRIb2xpZGF5cyxlLCgoZSx0KT0+ZS5rZXk8dCkpfV9wcmVwYXJlQm9yZGVyV2Vla0hpc3RvcnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzW2UtMV0scz10aGlzLl9lbnRyaWVzW2VdLGk9bmV3IE1hcCxvPVtdLGg9KDAsci5nZXRfZGF5X29mX3dlZWspKCgwLG4uZW5zdXJlTm90TnVsbCkocy5nZXRTdGFydERheSgpKSk7Zm9yKGxldCBlPTA7ZTxkLndvcmtpbmdEYXlzQW5kV2Vla0VuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1kLndvcmtpbmdEYXlzQW5kV2Vla0VuZHNbZV07aWYobjxoKXtjb25zdCBlPXQuZ2V0RW50cmllcygpLmVudHJpZXNCeURheSgpLmdldChuKTt2b2lkIDAhPT1lJiYoby5wdXNoKC4uLmUpLGkuc2V0KG4sZSkpfWVsc2V7Y29uc3QgZT1zLmdldEVudHJpZXMoKS5lbnRyaWVzQnlEYXkoKS5nZXQobik7dm9pZCAwIT09ZSYmKG8ucHVzaCguLi5lKSxpLnNldChuLGUpKX19cmV0dXJuIG5ldyBhLlNlc3Npb25zU3BlY0VudHJpZXMobyxpLHMuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCksMCl9X2hvbGlkYXlzRnJvbVllYXJTdGFydChlKXtpZighdGhpcy5faXNUaGVyZUNvcnJlY3Rpb25zKXJldHVybiAwOygwLG4uYXNzZXJ0KSghdGhpcy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKSk7Y29uc3QgdD0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2hvbGlkYXlDb3VudFByZWZpeFN1bXMpLHM9dGhpcy5fbG93ZXJCb3VuZEhvbGlkYXlJbmRleChfKGUuZmlyc3REYXlPZlllYXIoKSkpO3JldHVybiB0W3RoaXMuX2xvd2VyQm91bmRIb2xpZGF5SW5kZXgoXyhlKSldLXRbc119X2J1aWxkSG9saWRheUNvdW50UHJlZml4U3Vtcygpe2NvbnN0IGU9dGhpcy5fcHJlc2VudEhpc3RvcnlFbnRyeS5nZXRFbnRyaWVzKCksdD1uZXcgQXJyYXkodGhpcy5fc29ydGVkSG9saWRheXMubGVuZ3RoKzEpO3RbMF09MDtmb3IobGV0IHM9MDtzPHRoaXMuX3NvcnRlZEhvbGlkYXlzLmxlbmd0aDtzKyspe2NvbnN0IG49dGhpcy5fc29ydGVkSG9saWRheXNbc10scj0wPT09bi5zZXNzaW9ucy5sZW5ndGg7bGV0IGk9MDtpPWUuaXNXZWVrRW5kKG4uZGF5LmdldERheU9mV2VlaygpKT9yPzA6LTE6cj8xOjAsdFtzKzFdPXRbc10raX1yZXR1cm4gdH1fZ2V0RGF5c09mZkZvcldlZWtJbkJvcmRlcnMoZSx0LHMpe2xldCBuPTA7Y29uc3Qgcj10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXM7ZSsrKXIuZW50cmllc0J5RGF5KCkuaGFzKGUpfHxuKys7cmV0dXJuIG59X3dlZWtJbmRleFRvTG9jYWxEYXRlVGltZShlKXtjb25zdCB0PU1hdGguZmxvb3IoODY0MDAqZSo3Kzg2NDAwLTYyMTY3MjE5MjAwKSxzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShjLDFlMyp0KTtyZXR1cm4oMCxyLnNldF9obXMpKHMsMCwwLDAsMCksc31fY29ycmVjdFRyYWRpbmdEYXkoZSx0LHMpe2NvbnN0IG49dGhpcy5maW5kU2Vzc2lvbihlLHQscywwKTtyZXR1cm4gbi5nZXRFbnRyeSgpLmRheU9mV2VlaygpLXQrNypNYXRoLnRydW5jKG4ud2Vla0luZGV4LWUpfV9lbnRyeVNlc3Npb25WYWx1ZShlLHQscyxuKXt0PSgwLHIuY2xvbmUpKHQpO2xldCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtjb25zdCBvPWUuZ2V0RW50cnkoKTtsZXQgYT1vLmRheU9mV2VlaygpLW8uc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpO2NvbnN0IGQ9dGhpcy5nZXRXZWVrSW5kZXgodCk7bGV0IGg9TWF0aC50cnVuYyhlLndlZWtJbmRleC1kKSxmPSExO2lmKGE8ci5TVU5EQVkmJihoPD0wP2Y9ITA6aC0tLGErPTcpLChoPjAmJnM+PTB8fGg8MCYmczwwKSYmKDAsci5hZGRfZGF0ZSkodCw3KmgpLCFvLmNvbnRhaW5zKHQpKXtsZXQgZT1hLWk7ZiYmczwwJiYoZT0tKDctYStpKSksKDAsci5hZGRfZGF0ZSkodCxlKSxpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KX1pZihvLmlzT3Zlcm5pZ2h0KCkpe2NvbnN0IGU9by5zZXNzaW9uU3RhcnREYXlzT2Zmc2V0KCkscz0oaS0oby5kYXlPZldlZWsoKS1lKSs3KSU3OzAhPT1zJiYoMCxyLmFkZF9kYXRlKSh0LC1zKX1jb25zdCB5PW4obyk7cmV0dXJuKDAsci5zZXRfc2Vjb25kcykodCx5KSx0fQpfYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZSx0LHMpe2xldCBuPTAsaT0wO2Zvcig7aTxzOyl7Y29uc3Qgbz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpO2ZvcihsZXQgZT10O2U8PXIuU0FUVVJEQVk7ZSsrKWlmKG4rKyx2b2lkIDAhPT1vLmVudHJpZXNCeURheSgpLmdldChlKSYmaSsrLGk+PXMpcmV0dXJuIG47ZSsrLHQ9ci5TVU5EQVl9cmV0dXJuIG59X2NhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKGUsdCxzKXtsZXQgbj0wLGk9MDtmb3IoO248czspe2NvbnN0IG89dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKTtmb3IobGV0IGU9dDtlPD1yLlNBVFVSREFZO2UrKylpZihuKyssdm9pZCAwIT09by5lbnRyaWVzQnlEYXkoKS5nZXQoZSkmJmkrKyxuPj1zKXJldHVybiBpO2UrKyx0PXIuU1VOREFZfXJldHVybiBpfV9lbnRyeVNlc3Npb25TdGFydChlLHQscyl7cmV0dXJuIHRoaXMuX2VudHJ5U2Vzc2lvblZhbHVlKGUsdCxzLChlPT42MCplLnN0YXJ0KCkpKX1fZW50cnlTZXNzaW9uRW5kKGUsdCxzKXtyZXR1cm4gdGhpcy5fZW50cnlTZXNzaW9uVmFsdWUoZSx0LHMsKGU9PjYwKihlLnN0YXJ0KCkrZS5sZW5ndGgoKSktMSkpfV9hbGlnblRvTmVhcmVzdFNlc3Npb25WYWx1ZShlLHQscyl7Y29uc3Qgbj0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSksaT0oMCxyLmdldF9taW51dGVzX3dpdGhfaG91cnMpKGUpLG89dGhpcy5nZXRXZWVrSW5kZXgoZSk7bGV0IGQ9dGhpcy5maW5kU2Vzc2lvbihvLG4saSk7aWYoMT09PXQpcmV0dXJuIHMoZCxlLHQpO2NvbnN0IGg9ZC5nZXRFbnRyeSgpLGY9aC5jb250YWlucyhlKSx5PW89PT1kLndlZWtJbmRleCxjPWguc2Vzc2lvblN0YXJ0RGF5c09mZnNldCgpLWguZGF5T2ZXZWVrKCk+PTA7aWYoZiYmKHl8fGMpKXJldHVybiBzKGQsZSx0KTtsZXQgXz1kLmVudHJ5SW5kZXgtMTtpZihfPDApe2xldCBlPWQud2Vla0luZGV4LHQ9ZC5lbnRyaWVzO2lmKDA9PT1lKWUtLSxfKz10Lmxlbmd0aDtlbHNlIGZvcig7XzwwOyllLS0sdD10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUpLmxpc3QoKSxfKz10Lmxlbmd0aDtkPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5SW5kZXgoZSxfLHQpfWVsc2UgZD1uZXcgYS5TZXNzaW9uc1NwZWNFbnRyeUluZGV4KGQud2Vla0luZGV4LF8sZC5lbnRyaWVzKTtyZXR1cm4gcyhkLGUsdCl9X2dldEVudHJpZXNGb3JEYXkoZSl7Y29uc3QgdD0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKHRoaXMuZ2V0V2Vla0luZGV4KGUpKS5lbnRyaWVzQnlEYXkoKS5nZXQodCk7cmV0dXJuIHZvaWQgMCE9PXM/czpbXX1fZ2V0TGVmdEVudHJ5Qm9yZGVyKGUsdCl7bGV0IHM9dC5zdGFydE9mZnNldCgpO2NvbnN0IG49LU1hdGgudHJ1bmMoKHMtMTQzOSkvMTQ0MCk7cys9MTQ0MCpuO2NvbnN0IGk9KDAsci5nZXRfY2FsKShjLCgwLHIuZ2V0X3llYXIpKGUpLCgwLHIuZ2V0X21vbnRoKShlKSwoMCxyLmdldF9kYXlfb2ZfbW9udGgpKGUpLE1hdGgudHJ1bmMocy82MCkscyU2MCwwKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShpLC1uKSxpfV9jaGVja0VhY2hIaXN0b3J5U2Vzc2lvbigpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2VudHJpZXMpe2NvbnN0IHQ9ZS5nZXRFbnRyaWVzKCkubGlzdCgpO2lmKCF0aGlzLl9jaGVja0VudHJpZXNGb3JJbnRlcnNlY3Rpb25zKHQsdCx0KSlyZXR1cm4hMX1yZXR1cm4hMH1fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhlLHQscyl7Y29uc3Qgbj10aGlzLl9idWlsZFRlc3RFbnRyaWVzKGUsdCxzKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoLTE7ZSsrKWZvcihsZXQgdD1lKzE7dDxuLmxlbmd0aDt0KyspaWYoMD09PXkobltlXSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1fYnVpbGRUZXN0RW50cmllcyhlLHQscyl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgdCBvZiBlKW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheSh0LHQuZGF5T2ZXZWVrKCkpKTtmb3IoY29uc3QgZSBvZiB0KW4ucHVzaChnLl9jbG9uZUVudHJ5V2l0aERheShlLGUuZGF5T2ZXZWVrKCkrNykpO2Zvcihjb25zdCBlIG9mIHMpbi5wdXNoKGcuX2Nsb25lRW50cnlXaXRoRGF5KGUsZS5kYXlPZldlZWsoKSsxNCkpO3JldHVybiBufV9jaGVja1NwZWNpYWxFbnRyaWVzKCl7Zm9yKGNvbnN0W2Vdb2YgdGhpcy5fZW50cmllc0hhc2gpe2NvbnN0IHQ9dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKS5saXN0KCkscz10aGlzLmdldEVudHJpZXNGb3JXZWVrKGUtMSkubGlzdCgpLG49dGhpcy5nZXRFbnRyaWVzRm9yV2VlayhlKzEpLmxpc3QoKTtpZighdGhpcy5fY2hlY2tFbnRyaWVzRm9ySW50ZXJzZWN0aW9ucyhzLHQsbikpcmV0dXJuITF9cmV0dXJuITB9X2NoZWNrVG9vTWFueUNvcnJlY3Rpb25zT25XZWVrKCl7aWYodGhpcy5fZW50cmllcy5sZW5ndGg8MilyZXR1cm4hMDtmb3IobGV0IGU9MDtlPHRoaXMuX2VudHJpZXMubGVuZ3RoLTI7ZSsrKXtjb25zdCB0PXRoaXMuX2VudHJpZXNbZV0scz10aGlzLl9lbnRyaWVzW2UrMV07aWYodGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKSh0LmdldFNwZWNFbmREYXkoKSkpPT09dGhpcy5nZXRXZWVrSW5kZXgoKDAsbi5lbnN1cmVOb3ROdWxsKShzLmdldFNwZWNFbmREYXkoKSkpKXJldHVybiExfXJldHVybiEwfV9jYWxjdWxhdGVBZGRlZEluZGljZXMoZSl7Y29uc3QgdD1bXSxzPXRoaXMuX3llYXJUb1dlZWtzSW5kaWNlc0hhc2guZ2V0KGUpO2lmKHZvaWQgMD09PXMpcmV0dXJuIHQ7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3Qgcz0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2JvcmRlcldlZWtzSW5kaWNlc0hhc2guZ2V0KGUpKSxpPXRoaXMuX2VudHJpZXNbc10sbz10aGlzLl9lbnRyaWVzW3MtMV07bGV0IGE9aS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1vLmdldEVudHJpZXMoKS5maXJzdERheU9mV2VlaygpO2Zvcig7YT4wOyl7Y29uc3Qgbz0oMCxyLmNsb25lKSgoMCxuLmVuc3VyZU5vdE51bGwpKGkuZ2V0U3RhcnREYXkoKSkpO2lmKCgwLHIuYWRkX2RhdGUpKG8sLWEpLCF0aGlzLmlzQ2FsV2Vla0VuZChvKSl7Y29uc3Qgbj17ZW50cnlJbmRleDpzLAp3ZWVrSW5kZXg6ZX07dC5wdXNoKG4pO2JyZWFrfWEtLX19cmV0dXJuIHR9c3RhdGljIF9jbG9uZUVudHJ5V2l0aERheShlLHQpe2lmKGUuaXNFeHRlbmRlZCgpKXtjb25zdCBzPW5ldyBhLlNlc3Npb25zU3BlY0VudHJ5KHQsZS5zdGFydE9mZnNldCgpLGUubGVuZ3RoKCkpO3JldHVybiBuZXcgYS5FeHRlbmRlZEVudHJ5RGVjb3JhdG9yKHMsZS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCksZS5leHRlbmRlZEVuZE9mZnNldCgpKX1yZXR1cm4gbmV3IGEuU2Vzc2lvbnNTcGVjRW50cnkodCxlLnN0YXJ0T2Zmc2V0KCksZS5sZW5ndGgoKSl9c3RhdGljIF9nZXRXZWVrSW5kZXhJbXBsKGUpe2NvbnN0IHQ9KDAsci5nZXRfY2FsX3V0YykoKDAsci5nZXRfeWVhcikoZSksKDAsci5nZXRfbW9udGgpKGUpLDEpOygwLHIuYWRkX2RhdGUpKHQsKDAsci5nZXRfZGF5X29mX21vbnRoKShlKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpO2NvbnN0IHM9dC5nZXRUaW1lKCkvMWUzO3JldHVybigwLG4uYXNzZXJ0KSgocys2MjE2NzIxOTIwMCklODY0MDA9PTApLE1hdGgudHJ1bmMoKHMrNjIxNjcyMTkyMDApLzg2NDAwLzcpfX19LDkwMjg0MihlLHQscyl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gcihlLDIpfWZ1bmN0aW9uIHIoZSx0PTIpe2NvbnN0IHM9ZS50b1N0cmluZygpO3JldHVybiIwIi5yZXBlYXQoTWF0aC5tYXgoMCx0LXMubGVuZ3RoKSkrc31zLmQodCx7YWRkTGVhZGluZ1plcm86KCk9Pm4sYWRkTGVhZGluZ1plcm9zOigpPT5yfSl9fV0pOw=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/css/style.css","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.836Z","timestamp":1785136421836,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/css/style.css HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Tue, 19 Nov 2024 11:24:11 GMT\r\naccept-ranges: bytes\r\netag: \"411a7e8e753adb1:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 8954\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":54914,"size_decoded":9340,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"cc52a06583dad1a5a03333d4b7ac8606","sha1":"a04bdf3a7ae9127ee09a68d7417c78d1871aa0e6","sha256":"48c94cc220e03cdb3b75ead14331b1066dfcf2e6c86ccf6ab5e81938379b0951","sha512":"7ecf32349a2f3c2efc5c27e230bab104fb6a9163eefdc927abc466f178983349547757da41d0e43035753c6a0cd3a1c670a4dc21464b096f512f702101b17c9d","ssdeep":"768:L1F1dFUUssSI+FIzLFnFVFpD0fFoFwFgRFHdwFRcg4:L11+UeI+FIzLV3/D0f2WINdwEg4","tlshash":"553320939ba31449f40689b86fba678d620f8047560fce287f89b25cdf441e655b3bcc","first_seen":"2026-07-27T04:30:36.936404Z","last_seen":"2026-07-27T11:13:26.136836Z","times_seen":5,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLSBDcmVhdGVkIGJ5OiBWaXN1YWxIeWlwLmNvbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKQGltcG9ydCB1cmwoJ2Nzcy5jc3MnKTsKCiAqewoJbWFyZ2luOjBweDsKCXBhZGRpbmc6MHB4OwoJfQoKYm9keXsKCW1hcmdpbjowcHg7CglwYWRkaW5nOjBweDsKICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKCX0KCi5jbHJ7CgljbGVhcjpib3RoOwoJfQoJCmgxIHsgZm9udC1zaXplOiA0MHB4OyAgY29sb3I6ICNGRkZGRkY7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO30KaDIgeyBmb250LXNpemU6IDM1cHg7ICBjb2xvcjogI0ZGRkZGRjsgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fQpoMyB7IGZvbnQtc2l6ZTogMzBweDsgIGNvbG9yOiAjRkZGRkZGOyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9Cmg0IHsgZm9udC1zaXplOiAyNXB4OyAgY29sb3I6ICNGRkZGRkY7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO30KaDUgeyBmb250LXNpemU6IDIwcHg7ICBjb2xvcjogI0ZGRkZGRjsgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fQpoNiB7IGZvbnQtc2l6ZToxNXB4OyAgY29sb3I6ICNGRkZGRkY7IGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjt9CmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBtYXJnaW4tYm90dG9tOiAwcHg7IG1hcmdpbi10b3A6MHB4OyB9CgkJCjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CgkJY29sb3I6ICAgICMwMDA7Cgl9Cgk6LW1vei1wbGFjZWhvbGRlciB7CgkJY29sb3I6ICAgICMwMDA7Cgl9Cgk6Oi1tb3otcGxhY2Vob2xkZXIgewoJCWNvbG9yOiAgICAjMDAwOwoJfQoJOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CgkJY29sb3I6ICAgICMwMDA7Cgl9CgkKCi8qLS0tLS1wbGFjaGVob2xkZXItY29sb3ItLS0tLS0tCi5hbW91bnR0eXBlIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyewoJY29sb3I6I0ZGRkZGRjsKCX0tLS0tLS0tLS0tKi8KCmF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQoJCmlucHV0W3R5cGU9InN1Ym1pdCJdewoJaGVpZ2h0OiBhdXRvOwoJY3Vyc29yOnBvaW50ZXI7Cgl3aWR0aDogMTAwJTsgCgljb2xvcjojRkZGRkZGOwoJYmFja2dyb3VuZC1jb2xvcjojMDU5MzdkOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKCWZvbnQtc2l6ZToxN3B4OwoJZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwoJcGFkZGluZzogMTJweCAwcHg7Cglib3JkZXI6bm9uZTsKCW91dGxpbmU6bm9uZTsKCWJvcmRlci1yYWRpdXM6IDRweDsKCX0KCmlucHV0W3R5cGU9InN1Ym1pdCJdOmhvdmVyIHsKCWJhY2tncm91bmQtY29sb3I6IzAwNmU3ZDsKCX0KCmlucHV0W3R5cGU9ImJ1dHRvbiJdewoJaGVpZ2h0OiBhdXRvOwoJY3Vyc29yOnBvaW50ZXI7Cgl3aWR0aDogMTAwJTsgCgljb2xvcjojRkZGRkZGOwoJYmFja2dyb3VuZC1jb2xvcjojMDU5MzdkOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKCWZvbnQtc2l6ZToxN3B4OwoJZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwoJcGFkZGluZzogMTJweCAwcHg7Cglib3JkZXI6bm9uZTsKCW91dGxpbmU6bm9uZTsKCX0KCmlucHV0W3R5cGU9ImJ1dHRvbiJdOmhvdmVyIHsKCWJhY2tncm91bmQtY29sb3I6IzAwNmU3ZDsKCX0KCQoJCmlucHV0W3R5cGU9J3RleHQnXSxpbnB1dFt0eXBlPSdlbWFpbCddLCBpbnB1dFt0eXBlPSdwYXNzd29yZCddIHsKZm9udC1zaXplOiAxNXB4OwogICAgd2lkdGg6IDk4JTsKICAgIGhlaWdodDogMTAwJTsKICAgIGJvcmRlcjogbm9uZTsKICAgIHBhZGRpbmc6IDEycHggNnB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIGNvbG9yOiAjMDAwOwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogICAgb3V0bGluZTogbm9uZTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIzAwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cgl9CgkKdGV4dGFyZWF7Cglmb250LXNpemU6MTdweDsKCWZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKCWJvcmRlcjoxcHggc29saWQgIzAwOTk3MzsgCglib3JkZXItcmFkaXVzOjVweDsKCW91dGxpbmU6bm9uZTsKCXdpZHRoOjEwMCU7CglwYWRkaW5nOjEwcHg7CgloZWlnaHQ6MTAwJTsKCX0KCi50ZXh0LWFyZWEgdGV4dGFyZWF7CgloZWlnaHQ6ODUlOwoJd2lkdGg6OTYuNiU7CiAgICBjb2xvcjogIzAwOTk3MzsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKCX0KLnRleHQtYXJlYSB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcnsKCWNvbG9yOiMwMDk5NzM7Cgl9CgkKLmEtbGlua3sKCXdpZHRoOjEwMCU7CgloZWlnaHQ6YXV0bzsKCXBhZGRpbmc6IDEwcHggMHB4OwoJZm9udC1zaXplOjE4cHg7Cglmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7Cgljb2xvcjojRkZGRkZGOwoJZGlzcGxheTogYmxvY2s7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJhY2tncm91bmQtY29sb3I6IzA1OTM3ZDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7Cgl9CgkKLmEtbGluazpob3ZlcnsKCWJhY2tncm91bmQtY29sb3I6IzAwN2U3ZDsKCX0KCnNlbGVjdHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAyNiU7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE4RTA4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogICAgY29sb3I6ICMwMDA7CiAgICBvdXRsaW5lOiBub25lOwogICAgcGFkZGluZzogMTJweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKCSB9CgoKI2hlYWRlcnsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxNTRweDsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaGVhZGVyLnBuZykgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciB0b3A7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgbWluLXdpZHRoOiAxMTcwcHg7CiAgICB9Cgojc3ViX2hlYWRlciB7CiAgICB3aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgoubG9nbyB7CiAgICB3aWR0aDogMzQwcHg7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi10b3A6IDQ2cHg7Cn0KCi5oZWFkZXJfcmlnaHQgewogICAgd2lkdGg6IDc3MnB4OwogICAgZmxvYXQ6IHJpZ2h0Owp9CgouaGVhZGVyX3JpZ2h0dXAgewogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDoxMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnRpbWUgewogICAgaGVpZ2h0OiAyNHB4OwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW4tdG9wOiAxMXB4OwogICAgZmxvYXQ6IGxlZnQ7Cn0KLnRpbWUgcHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIG1hcmdpbi1sZWZ0OiAxMnB4Owp9Ci50aW1lIHAgaW1newogICAgbWFyZ2luOiAwcHggN3B4IC03cHggMHB4OwogICAgfQoKLnR3b2J0biB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiByaWdodDsKfQoKLmJ0bl9vbmUgewogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAyMHB4Owp9Ci5idG5fb25lOmhvdmVyewogICAgb3BhY2l0eTogMC44Owp9Ci5idG5fb25lOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLWxlZnQ6IDBweDsKfQoKLmhlYWRlcl9kb3duIHsKd2lkdGg6IDk1JTsKICAgIG1hcmdpbi10b3A6IDI4cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgZmxvYXQ6IHJpZ2h0Owp9CgoubG9jYXRpb257CgloZWlnaHQ6YXV0bzsKCXdpZHRoOmF1dG87CglmbG9hdDpsZWZ0OwoJbWFyZ2luLWxlZnQ6MjZweDsKCX0KLmxvY2F0aW9uX3sKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7Cgl9CgoubG9jYXRpb246Zmlyc3QtY2hpbGR7CgltYXJnaW4tbGVmdDoxMHB4OwoJfQoJCi5sb2ljb257CgloZWlnaHQ6YXV0bzsKCXdpZHRoOmF1dG87CglmbG9hdDpsZWZ0OwoJfQoJCi5sb2MtdGV4dF97CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjExOHB4OwoJZmxvYXQ6bGVmdDsKCW1hcmdpbi1sZWZ0OjEwcHg7CgltYXJnaW4tdG9wOjBweDsKCX0KLmxvYy10ZXh0ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJZmxvYXQ6bGVmdDsKCW1hcmdpbi1sZWZ0OjEwcHg7CgltYXJnaW4tdG9wOjBweDsKCX0KCi5sb2MtdGV4dCBwewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiAjMDA5OTczOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIG1hcmdpbi10b3A6IDlweDsKCX0KCi5sb2MtdGV4dCBwIHNwYW57CiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIH0KLmRyb3Bkb3duIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoKLmRyb3Bkb3duIHNlbGVjdHsKICAgIHdpZHRoOiAxNjElOwogICAgcGFkZGluZzogMTFweCA1cHg7CiAgICBiYWNrZ3JvdW5kOiAjMGYzNDNhOwogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBtYXJnaW46IDBweCAwcHggMHB4IDM1cHggIWltcG9ydGFudDsKICAgIG91dGxpbmU6IG5vbmU7CiAgICBib3JkZXI6IG5vbmU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCi5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDEwMCU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBtYXJnaW46IDA7CgogICAgLyoqKioqKioqKioqKioqKioKICAgICAqKiBORVcgU1RZTEVTICoqCiAgICAgKioqKioqKioqKioqKioqKi8KCiAgICBsaXN0LXN0eWxlOiBub25lOyAvKiogUmVtb3ZlIGxpc3QgYnVsbGV0cyAqLwogICAgd2lkdGg6IDEwMCU7IC8qKiBTZXQgdGhlIHdpZHRoIHRvIDEwMCUgb2YgaXQncyBwYXJlbnQgKi8KICAgIHBhZGRpbmc6IDA7Cn0KCi5kcm9wZG93bjpob3ZlciAuZHJvcGRvd24tbWVudSB7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLyoqIEJ1dHRvbiBTdHlsZXMgKiovCi5kcm9wZG93biBidXR0b24gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgY29sb3I6ICMwMDk5NzM7CiAgICBib3JkZXI6IG5vbmU7CiAgICBtYXJnaW46IDA7CiAgICB3aWR0aDogMTI0cHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgcGFkZGluZzogMC41ZW0gMGVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OwogICAgb3V0bGluZTogbm9uZTsKICAgIHBhZGRpbmctbGVmdDogMTdweDsKICAgIGZvbnQtc2l6ZTogMWVtOwp9CgovKiogTGlzdCBJdGVtIFN0eWxlcyAqKi8KLmRyb3Bkb3duIGEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogMC40ZW0gMC44ZW07CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIzBiYmY5YTsKICAgIGJhY2tncm91bmQ6ICMwMzhkNzQ7CiAgICBjb2xvcjogI2ZmZjsKfQoKLyoqIExpc3QgSXRlbSBIb3ZlciBTdHlsZXMgKiovCi5kcm9wZG93biBhOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICMwNTkzN2Y7Cn0KCiNtZW51ewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDg1cHg7CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21lbnUucG5nKSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIHRvcDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBtaW4td2lkdGg6IDExNzBweDsKICAgIH0KCiNzdWJfbWVudXsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMTQwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIAp9CgoubWVudXsKCWhlaWdodDphdXRvOwoJd2lkdGg6YXV0bzsKCXRleHQtYWxpZ246Y2VudGVyOwoJfQoubWVudSB1bHsKCWxpc3Qtc3R5bGU6bm9uZTsKCWRpc3BsYXk6aW5saW5lLWZsZXg7Cgl9CgoubWVudSB1bCBsaXsKCWZsb2F0OmxlZnQ7CglsaW5lLWhlaWdodDogODRweDsKCX0KCi5tZW51IHVsIGxpOmZpcnN0LWNoaWxkewoJbWFyZ2luLXJpZ2h0OjFweDt9CgoubWVudSB1bCBsaTpsYXN0LWNoaWxkewoJYm9yZGVyLXJpZ2h0Om5vbmU7Cgl9CgkKLm1lbnUgdWwgbGkgYXsKZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6ICNGRkZGRkY7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDBweCAzMHB4OwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwoJfQoKLm1lbnUgdWwgbGkgYTpob3ZlcnsKICAgIGNvbG9yOiAjMGYzODNkOwoJfQoKLnNsaWRlcl9sZWZ0ewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDcwMHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDoyNXB4OwogICAgfQoKI3NsaWRlciB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2xpZGVyLnBuZykgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciB0b3A7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgbWluLXdpZHRoOiAxMTcwcHg7Cn0KCgojc3ViX3NsaWRlciB7CiAgICB3aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBwYWRkaW5nOiA1NXB4IDBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAKfQoKLnNsaWRfdGV4dCB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KLnNsaWRfdGV4dCBoMXsKICAgIGZvbnQtc2l6ZToyOXB4OwogICAgdGV4dC1zaGFkb3c6IDJweCAycHggMnB4IzAwMDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KCi5zbGlkX3RleHRlcnsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IDIycHg7Cn0KLnNsaWRfdGV4dGVyIHB7CmxpbmUtaGVpZ2h0OiAzMHB4OwogICAgY29sb3I6ICNmZmY7CiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgdGV4dC1zaGFkb3c6IDAuNXB4IDAuNXB4IDAuNXB4IzAwMDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CgoucmVnaXN0ZXJfZGV0YWlscyB7CiAgICB3aWR0aDogMTAwJTsKICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucmVnaXN0ZXIgewogICAgaGVpZ2h0OiA1NXB4OwogICAgd2lkdGg6IDQ4M3B4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYzNDNhOwogICAgYm9yZGVyOiAxcHggc29saWQjODJiNWI5OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgfQoucmVnaXN0ZXIgcHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGxldHRlci1zcGFjaW5nOiA0cHg7CiAgICBtYXJnaW4tdG9wOiAtM3B4OwogICAgfQoucmVnaXN0ZXIgcCBpbWd7CiAgICBtYXJnaW46IDEzcHggNHB4IC04cHggMHB4OwogICAgfQoKLnZpZXcgewogICAgd2lkdGg6IDE5MnB4OwogICAgZmxvYXQ6IHJpZ2h0OwogICAgbWFyZ2luLXJpZ2h0OiAycHg7CiAgICB9Ci52aWV3IGF7CiAgICBib3JkZXI6IDFweCBzb2xpZCMwNzFmMjM7CiAgICBwYWRkaW5nOiAxNXB4IDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCgoKLmxvZ2luX2JveCB7CiAgICB3aWR0aDogMzQwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYzNDNhOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGZsb2F0OiByaWdodDsKfQoKLmxvZ2luX3VwZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgouc2lnbmluIHsKICAgIHdpZHRoOiAxNzBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgaGVpZ2h0OiA2MHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KLnNpZ25pbiBwewogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5zaWduaW4gcCBpbWd7CiAgICAgICBtYXJnaW46IDE1cHggMnB4IC00cHggMHB4Owp9Ci5tZW1iZXJoaHsKCWhlaWdodDo1MHB4OwoJd2lkdGg6MTY2cHg7CglmbG9hdDpyaWdodDsKCWJhY2tncm91bmQ6ICMwMjI1NjQ7Cn0KCi5tZW1iZXJoaCBhewogICAgY29sb3I6ICNGRkZGRkY7CiAgICBoZWlnaHQ6IDU4cHg7CiAgICBwYWRkaW5nOiA1cHggMHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMzgwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBmb250LXNpemU6IDE1cHg7Cgl9CgoubWVtYmVyaGggYSBpbWd7CiAgICBtYXJnaW46IDE1cHggM3B4IC0zcHggLTFweDsKCSAgIH0KCi5tZW1iZXJoaCBhOmhvdmVyewoJYmFja2dyb3VuZC1jb2xvcjojMDA4ZDdkOwoJdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlLWluLW91dDt9CgoubG9naW4tYWxsewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDoyNzhweDsKCSAgICBwYWRkaW5nLXRvcDogMzBweDsKCW1hcmdpbjowIGF1dG87CiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cgl9CgoubG9naW4tb25lewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDoyNzZweDsKCWZsb2F0OmxlZnQ7CiAgICBwYWRkaW5nOiA1cHggMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojRkZGRkZGOwoJbWFyZ2luLXRvcDoyMHB4OwoJICAgIGJvcmRlci1yYWRpdXM6IDRweDsKCX0KCQoubG9naW4tb25lOmZpcnN0LWNoaWxkewoJbWFyZ2luLXRvcDowcHg7Cgl9CgkKLmxvZ2luLXVzZXJ7CgloZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMzlweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTBweCAwcHg7CiBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCMwNTkzN2Q7Cgl9CgkKLmxvZ2luLXVzZXIgaXsKCWNvbG9yOiMwNTkzN2Q7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCX0KLmxvZ2luLXRleHR7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjIyMHB4OwoJZmxvYXQ6bGVmdDsKCX0KCQoubG9naW4tdGV4dCBpbnB1dHsKCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Cgljb2xvcjojMDU5MzdkOwogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXJhZGl1czogMHB4OwoJcGFkZGluZzoxMHB4IDEwcHg7Cgl9Ci5sb2dpbi10ZXh0IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyewoJY29sb3I6IzA1OTM3ZDsKCX0KCQoucmVtZW1iZXJfbG9naW4gewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOjI3cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucmVtZW1iZXIgewogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKICAgICAgICBtYXJnaW4tdG9wOiAxMXB4Owp9CgoucmVjaGVjayB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiBsZWZ0Owp9Ci5yZWNoZWNrIGlucHV0ewogICAgaGVpZ2h0OiAyMHB4OwogICAgd2lkdGg6IDIwcHg7CiAgICB9CgoucmVtZW1iZXJfbWUgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4Owp9Ci5yZW1lbWJlcl9tZSBwewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE2cHg7Cn0KCi5sb2dpbiB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTE2cHg7CiAgICBmbG9hdDogcmlnaHQ7Cn0KCi5mb3Jnb3RfcGFzcyB7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxZjIzOwogICAgcGFkZGluZzogMTBweCAwcHg7CiAgICBtYXJnaW4tdG9wOiAxOHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1czogNHB4Owp9Ci5mb3Jnb3RfcGFzcyBhewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6ICMwNTkzN2Q7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CiNhYm91dCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBtaW4td2lkdGg6IDExNzBweDsKfQoKI3N1Yi1hYm91dCB7CiAgICB3aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZy1ib3R0b206IDIwcHg7CiAgICBwYWRkaW5nLXRvcDogNTBweDsKICAgIH0KCi5hYm91dF9ib3JkZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgaGVpZ2h0OiAxcHg7Ci8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmZmZmZmYrMSwwNTlkNzgrMTIsMDU5ZDc4KzE0LDA1OWQ3OCsyMCxmZmZmZmYrNDEsZmZmZmZmKzU0LGZmZmZmZis2MCwwNTlkNzgrODAsZmZmZmZmKzEwMCAqLwpiYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKiBPbGQgYnJvd3NlcnMgKi8KYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxJSwgIzA1OWQ3OCAxMiUsICMwNTlkNzggMTQlLCAjMDU5ZDc4IDIwJSwgI2ZmZmZmZiA0MSUsICNmZmZmZmYgNTQlLCAjZmZmZmZmIDYwJSwgIzA1OWQ3OCA4MCUsICNmZmZmZmYgMTAwJSk7IC8qIEZGMy42LTE1ICovCmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmZmZmYgMSUsIzA1OWQ3OCAxMiUsIzA1OWQ3OCAxNCUsIzA1OWQ3OCAyMCUsI2ZmZmZmZiA0MSUsI2ZmZmZmZiA1NCUsI2ZmZmZmZiA2MCUsIzA1OWQ3OCA4MCUsI2ZmZmZmZiAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi8KYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmZmZmIDElLCMwNTlkNzggMTIlLCMwNTlkNzggMTQlLCMwNTlkNzggMjAlLCNmZmZmZmYgNDElLCNmZmZmZmYgNTQlLCNmZmZmZmYgNjAlLCMwNTlkNzggODAlLCNmZmZmZmYgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqLwpmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqLwoKICAgIH0KCi5hYm91dF9ib3JkZXJfIHsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICBoZWlnaHQ6IDFweDsKLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2ZmZmZmZisxLDA1OWQ3OCsxMiwwNTlkNzgrMTQsMDU5ZDc4KzIwLGZmZmZmZiszNixmZmZmZmYrNTQsZmZmZmZmKzY0LDA1OWQ3OCs4MCxmZmZmZmYrMTAwICovCmJhY2tncm91bmQ6ICNmZmZmZmY7IC8qIE9sZCBicm93c2VycyAqLwpiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDElLCAjMDU5ZDc4IDEyJSwgIzA1OWQ3OCAxNCUsICMwNTlkNzggMjAlLCAjZmZmZmZmIDM2JSwgI2ZmZmZmZiA1NCUsICNmZmZmZmYgNjQlLCAjMDU5ZDc4IDgwJSwgI2ZmZmZmZiAxMDAlKTsgLyogRkYzLjYtMTUgKi8KYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxJSwjMDU5ZDc4IDEyJSwjMDU5ZDc4IDE0JSwjMDU5ZDc4IDIwJSwjZmZmZmZmIDM2JSwjZmZmZmZmIDU0JSwjZmZmZmZmIDY0JSwjMDU5ZDc4IDgwJSwjZmZmZmZmIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqLwpiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmZmZmYgMSUsIzA1OWQ3OCAxMiUsIzA1OWQ3OCAxNCUsIzA1OWQ3OCAyMCUsI2ZmZmZmZiAzNiUsI2ZmZmZmZiA1NCUsI2ZmZmZmZiA2NCUsIzA1OWQ3OCA4MCUsI2ZmZmZmZiAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovCmZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovCiAgICB9Ci5hYm91dF9ib3JkZXJfdyB7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIGhlaWdodDogMXB4OwovKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZmZmZmKzEsMDU5ZDc4KzEyLDA1OWQ3OCsxNCwwNTlkNzgrMjAsZTZmNmZmKzM2LGZmZmZmZis1NCxmZmZmZmYrNjQsMDU5ZDc4KzgwLGZmZmZmZisxMDAgKi8KYmFja2dyb3VuZDogI2ZmZmZmZjsgLyogT2xkIGJyb3dzZXJzICovCmJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmZmZmYgMSUsICMwNTlkNzggMTIlLCAjMDU5ZDc4IDE0JSwgIzA1OWQ3OCAyMCUsICNlNmY2ZmYgMzYlLCAjZmZmZmZmIDU0JSwgI2ZmZmZmZiA2NCUsICMwNTlkNzggODAlLCAjZmZmZmZmIDEwMCUpOyAvKiBGRjMuNi0xNSAqLwpiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDElLCMwNTlkNzggMTIlLCMwNTlkNzggMTQlLCMwNTlkNzggMjAlLCNlNmY2ZmYgMzYlLCNmZmZmZmYgNTQlLCNmZmZmZmYgNjQlLCMwNTlkNzggODAlLCNmZmZmZmYgMTAwJSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovCmJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZmZmZiAxJSwjMDU5ZDc4IDEyJSwjMDU5ZDc4IDE0JSwjMDU5ZDc4IDIwJSwjZTZmNmZmIDM2JSwjZmZmZmZmIDU0JSwjZmZmZmZmIDY0JSwjMDU5ZDc4IDgwJSwjZmZmZmZmIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi8KZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nI2ZmZmZmZicsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi8KICAgIH0KCgouYWJvdXRfaGVhZCB7CiAgIHdpZHRoOiAxMDAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLXRvcDogLTI0cHg7Cn0KLmFib3V0X2hlYWQgcHsKICAgIGNvbG9yOiAjMDU5ZDc4OwogICAgZm9udC1zaXplOiAzMHB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KCi5hYm91dF9kb3duIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMTVweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5hYm91dF9sZWZ0IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7CiAgICAgbWFyZ2luLXRvcDogMTdweDsKfQoKLmFib3V0X3JpZ2h0IHsKICAgIHdpZHRoOiA2NzVweDsKICAgIGhlaWdodDogNDE0cHg7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Fib3V0dXNiZy5wbmcpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGZsb2F0OiByaWdodDsKfQouYWJvdXRfcmlnaHQgcHsKICAgIHBhZGRpbmc6IDEwcHg7CiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OwogICAgbGluZS1oZWlnaHQ6IDI3cHg7CiAgICBjb2xvcjogIzNiM2MzYzsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICB9Ci5hYm91dF9yaWdodCBwIHNwYW4gYXsKICAgIGNvbG9yOiAjMDU5ZDc4OwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZmxvYXQ6IHJpZ2h0OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgoKI3BsYW57CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogYXV0bzsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcGxhbi5wbmcpIHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgdG9wOwogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIG1pbi13aWR0aDogMTE3MHB4OwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDdmNWY7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwN2Y1ZjsKICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7Cn0KCiNzdWJfcGxhbiB7CiAgICB3aWR0aDogMTE0MHB4O21hcmdpbjogMCBhdXRvOwogICAgcGFkZGluZzogNTBweCAwcHg7CiAgICAKICAgIH0KCgouYWxsX3BsYW4gewogICAgd2lkdGg6MTAwJTsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgbWFyZ2luLXRvcDogNDBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5wbGFuX29uZSB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BsYW5ib3gucG5nKTsKICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAzOTNweDsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICB3aWR0aDogMjIycHg7CiAgICBoZWlnaHQ6IDM5NXB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWxlZnQ6IDdweDsKfQoucGxhbl9vbmVkIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZHBsYW4ucG5nKTsKICAgIHdpZHRoOiAxNTlweDsKICAgIGhlaWdodDogNDQxcHg7CiAgICBmbG9hdDogbGVmdDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tbGVmdDogM3B4Owp9Ci5wbGFuX29uZWQ6Zmlyc3QtY2hpbGR7CiAgICBtYXJnaW4tbGVmdDowcHg7Cn0KLnBsYW5fb25lOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLWxlZnQ6IDBweDsKfQoKLnBsYW5fdGl0dGxlIHsKICAgIHdpZHRoOiBhdXRvOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5wbGFuX3RpdHRsZSBwewogICAgY29sb3I6ICMwMDk5NzM7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIG1hcmdpbi10b3A6IC03cHg7CiAgICBsaW5lLWhlaWdodDogNjBweDsKfQoKLnBlcmNlbnQgewogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nLXRvcDogNDRweDsKfQoKLnBlcmNlbnQgaDF7CiAgICBwYWRkaW5nLXRvcDogNnB4OwogICAgZm9udC1zaXplOiAyNXB4Owp9CgoKLnBlcmNlbnRkIHsKICAgIHdpZHRoOiAxMDAlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZy10b3A6NTVweDsKfQoucGVyY2VudGQgaDF7CiAgICBmb250LXNpemU6IDI2cHg7CiAgICBtYXJnaW4tdG9wOiAxMHB4Owp9CgouZGFpbHkgewogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIG1hcmdpbi10b3A6IDNweDsKfQoKLmRhaWx5ZCB7CiAgICB3aWR0aDogMTAwJTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZToxNXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIG1hcmdpbi10b3A6IDRweDsKfQoKCi5taW5fYm94IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLXRvcDo4cHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQjMDA1NzQxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQjMDA1NzQxOwp9CgoubWluX2JveGR7CiAgICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQjMDA1NzQxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQjMDA1NzQxOwogICAgfQoKLm1pbl9ib3hfbGVmdCB7CiAgICB3aWR0aDogMTEwcHg7CiAgICBmbG9hdDogbGVmdDsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjMDA1NzQxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmc6IDlweCAwcHg7Cn0KLm1pbl9ib3hfbGVmdDpsYXN0LWNoaWxkewogICAgYm9yZGVyLXJpZ2h0OiBub25lOwp9Ci5taW5fYm94X2xlZnQgcHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KLm1pbl9ib3hfbGVmdCBwIHNwYW57CiAgICBmb250LXNpemU6IDE2cHg7CiAgICAgZm9udC13ZWlnaHQ6IDYwMDsKfQoKLm1pbl9ib3hfbGVmdGQgewogICAgd2lkdGg6IDc5cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjMDA1NzQxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmc6IDZweCAwcHg7CiAgICB9CgoubWluX2JveF9sZWZ0ZDpsYXN0LWNoaWxkewogICAgYm9yZGVyLXJpZ2h0OiBub25lOwp9Ci5taW5fYm94X2xlZnRkIHB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMjBweDsKfQoubWluX2JveF9sZWZ0ZCBwIHNwYW57CiAgICBmb250LXNpemU6MTVweDsKICAgICBmb250LXdlaWdodDogNjAwOwp9Ci5wcmluYyB7CiAgICAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDhweCAwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIzAwNTc0MTsKfQoucHJpbmMgcHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiAjZmZmOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoKLmRlcG9zaXRfbm93IHsKICAgIHdpZHRoOiAxMjZweDsKICAgIG1hcmdpbjogMCBhdXRvOwogIHBhZGRpbmctdG9wOiA0MHB4Owp9Ci5kZXBvc2l0X25vdyBhewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCNlM2UzZTM7CiAgICBjb2xvcjogIzAwNmQ1MTsKICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICBwYWRkaW5nOiA5cHggMHB4Owp9Ci5kZXBvc2l0X25vdyBhOmhvdmVyewogICAgY29sb3I6ICNmZmY7Cn0KCiNjaG9vc2UgewogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ZlYXR1cmVzLnBuZyk7CiAgICBtaW4td2lkdGg6IDExNzBweDsKICAgIGhlaWdodDogNjA1cHg7Cn0KCiNzdWJfY2hvb3NlIHsKICAgIHdpZHRoOiAxMTQwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHBhZGRpbmc6NDBweCAwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CiNzdWItZmVhdHVyZXN7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjExNDBweDsKCW1hcmdpbjowIGF1dG87CglvdmVyZmxvdzpoaWRkZW47CiAgICBwYWRkaW5nLXRvcDogMzVweDsKCX0KCi5mZWF0dXJlcy1sZWZ0ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDo1NTVweDsKCWZsb2F0OmxlZnQ7CglvdmVyZmxvdzpoaWRkZW47Cgl9CgouZmVhdHVyZXMtcmlnaHR7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjU1NXB4OwoJZmxvYXQ6cmlnaHQ7CglvdmVyZmxvdzpoaWRkZW47Cgl9CgouZmVhdHVyZXMtb25lewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDU1MXB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBib3JkZXI6IDFweCBzb2xpZCMwMWE5NmE7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwoJfQoKLmZlYXR1cmVzLW9uZTpmaXJzdC1jaGlsZHsKCW1hcmdpbi10b3A6MHB4OwoJfQoKCgouZmV0dXJlcy1pbWFnZXsKCWhlaWdodDphdXRvOwoJZmxvYXQ6bGVmdDsKCW92ZXJmbG93OmhpZGRlbjsKCXdpZHRoOmF1dG87CiAgICBwYWRkaW5nOiAxNnB4IDE2cHg7Cgl9CgouZmV0YXVyZXMtdGV4dHsKCWhlaWdodDphdXRvOwoJd2lkdGg6Mzg1cHg7CiAgICBtYXJnaW46IDE1cHggMHB4IDE1cHggMHB4OwoJZmxvYXQ6bGVmdDsKCX0KCQoudGV4dC1oZWFkewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDoxMDAlOwoJZmxvYXQ6bGVmdDsKCX0KLnRleHQtaGVhZCBoNXsKICAgIGNvbG9yOiAjMDU5ZDc4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KCi50ZXh0LWZldHVyZXsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBsaW5lLWhlaWdodDogMjZweDsKICAgIG1hcmdpbi10b3A6IDNweDsKICAgIHRleHQtYWxpZ246IGp1c3RpZnk7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwoJfQoKI2NhbGN1bGF0b3IgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NhbGN1bGF0b3IucG5nKSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIHRvcDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBtaW4td2lkdGg6IDExNzBweDsKICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7Cn0KCiNzdWJfY2FsY3VsYXRvcnsKICAgIHdpZHRoOiAxMTQwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHBhZGRpbmc6MzVweCAwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKCi5jYWxfbGVmdHsKICAgIHdpZHRoOiA0NDVweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgYm9yZGVyOiAxcHggc29saWQjNWU5ZjkzOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTUzLCAxMTUsIDAuNjEpOwogICAgcGFkZGluZzogNDBweCAwcHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB9CgouY2FsX2hlYWQgewpoZWlnaHQ6IDUycHg7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTljODg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgouY2FsX2hlYWQgcHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9Ci5jYWxfaGVhZCBwIGltZ3sKICAgICBtYXJnaW46IDhweCAycHggLTdweCAwcHg7Cn0KLmNhbF9hbGwgewogICAgICB3aWR0aDogMzg2cHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nLXRvcDoxMXB4Owp9CgouY2FsLW9uZXsKCWhlaWdodDphdXRvOwoJd2lkdGg6MTAwJTsKCWZsb2F0OmxlZnQ7CglvdmVyZmxvdzpoaWRkZW47CgltYXJnaW4tdG9wOjE4cHg7Cgl9CgouY2FsLW9uZTpmaXJzdC1jaGlsZHsKCW1hcmdpbi10b3A6MHB4OwoJfQoKLnRpdHRsZS1oZWFkewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJZmxvYXQ6bGVmdDsKCX0KCi50aXR0bGUtaGVhZCBwewoJY29sb3I6I0ZGRkZGRjsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cgl9CgouY2Fsc2VsZWN0ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDoxMDAlOwoJZmxvYXQ6bGVmdDsKCW92ZXJmbG93OmhpZGRlbjsKCSAgICBtYXJnaW4tdG9wOiA4cHg7Cgl9CgouY2Fsc2VsZWN0IHNlbGVjdHsKICAgIHBhZGRpbmc6IDEzcHggNnB4OwogICAgYm9yZGVyOiBub25lOwogICAgY29sb3I6ICMwMDk5NzM7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB3aWR0aDogMTAwJTsKCX0KLnRleHRudW17CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjk2LjUlOwoJZmxvYXQ6bGVmdDsKCW1hcmdpbi10b3A6IDhweDsKCgl9CgoudGV4dG51bSBpbnB1dHsKICAgIHBhZGRpbmc6IDEzcHggMTBweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGNvbG9yOiAjMDA5OTczOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwoJfQoKLmNhbC1sZWZ0IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxODVweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmctYm90dG9tOiAzcHg7Cn0KCi5jYWxlYXJuIHsKICAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBwYWRkaW5nOiAxNHB4IDBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAvKiBtYXJnaW4tdG9wOiAxMHB4OyAqLwogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCgouY2FsZWFybiBwIHsKICAgIGNvbG9yOiAjMDM2YjU5Owp9CgouY2FsLXJpZ2h0IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxODVweDsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5jYWwtdGl0dGxlIHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBjb2xvcjogI0ZGRkZGRjsKfQoKLmNhbC10aXR0bGUgcHsKICAgIHRleHQtYWxpZ246IDtsZWZ0OwogICAgY29sb3I6ICNmZmY7Cn0KCi5saXZlX3N0YXRlIHsKICAgIHdpZHRoOiA2NTVweDsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5saXZlX2hlYWQgewogICAgd2lkdGg6IGF1dG87CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLmxpdmVfaGVhZCBwewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDI2cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbWFyZ2luLXRvcDogLThweDt9CgouYWxsX2xpdmUgewogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBtYXJnaW4tdG9wOiAyNXB4Owp9CgoubGl2ZV91cGVyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IDVweDsKfQoubGl2ZV91cGVyOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLXRvcDogMHB4Owp9Ci5zdGF0ZS1vbmV7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjIxMnB4OwoJZmxvYXQ6bGVmdDsKCWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNik7CgltYXJnaW4tbGVmdDo1cHg7CglwYWRkaW5nOjE4cHggMHB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJICAgIGJvcmRlci1yYWRpdXM6IDRweDsKCX0KCgouc3RhdGUtb25lOmZpcnN0LWNoaWxkewoJbWFyZ2luLWxlZnQ6MHB4OwoJfQoKLnN0YXRlLWljb257CgloZWlnaHQ6YXV0bzsKCXdpZHRoOmF1dG87Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCX0KCi5zdGF0ZS13b3JrewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJdGV4dC1hbGlnbjpjZW50ZXI7CgltYXJnaW4tdG9wOjE0cHg7Cgl9Cgouc3RhdGUtd29yayBwewogICAgY29sb3I6ICNGRkZGRkY7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKCX0KCi5zdGF0ZS10aXR0bGV7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOmF1dG87Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCW1hcmdpbi10b3A6MTVweDsKCX0KCi5zdGF0ZS10aXR0bGUgcHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiAjRkZGRkZGOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKCX0KCgojd29ya3MgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0ZXAucG5nKSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIHRvcDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBtaW4td2lkdGg6IDExNzBweDsKICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7Cn0KCiNzdWJfd29ya3MgewogICAgd2lkdGg6IDExNDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgcGFkZGluZzogNDVweCAwcHg7Cn0KCi5hbGxfd29ya3sKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMzBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9Cgoud29ya19vbmUgewogICAgd2lkdGg6IDIzOHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgoud29ya19pY29uewogICAgd2lkdGg6IGF1dG87CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Cgoud29ya190aXR0bGUgewogICAgd2lkdGg6IDk5LjIlOwogICAgYm9yZGVyOiAxcHggc29saWQjMDU5ZDc4OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgcGFkZGluZzogMTJweCAwcHg7CiAgICBtYXJnaW4tdG9wOiAzM3B4Owp9Ci53b3JrX3RpdHRsZSBwewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6ICMwNTlkNzg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoKLmFycm93IHsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luOiA2NXB4IDBweDsKfQoKI21haW4tcGF5bWVudHsKCWhlaWdodDphdXRvOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCW1pbi13aWR0aDoxMTcwcHg7Cgl9CgkKI3N1Yi1wYXltZW50ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDoxMTQwcHg7CgltYXJnaW46MCBhdXRvOwoJb3ZlcmZsb3c6aGlkZGVuOwoJcGFkZGluZzozMHB4IDBweDsKCX0KCi5wYXltZW50ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJdGV4dC1hbGlnbjpjZW50ZXI7Cgl9CgkKLnBheW1lbnQgdWx7CglsaXN0LXN0eWxlOm5vbmU7CglkaXNwbGF5OmlubGluZS1mbGV4OwoJfQoJCi5wYXltZW50IHVsIGxpewoJZmxvYXQ6bGVmdDsKCW1hcmdpbi1sZWZ0OjE0cHg7CgljdXJzb3I6cG9pbnRlcjsKICAgIG1hcmdpbi10b3A6IDdweDsKCX0KCQoucGF5bWVudCB1bCBsaTpob3ZlcnsKCW9wYWNpdHk6MC44OwoJfQoJCi5wYXltZW50IHVsIGxpOmZpcnN0LWNoaWxkewoJbWFyZ2luLWxlZnQ6MHB4OwoJfQojbWFpbl9mb290ZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDI2OXB4OwogICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mb290ZXJhLnBuZykgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciB0b3A7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgbWluLXdpZHRoOiAxMTcwcHg7Cn0KCgojc3ViX2Zvb3RlciB7CiAgICB3aWR0aDoxMTQwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAyOXB4IDBweDsKfQoKLnNpdGUtbGlua3sKCWhlaWdodDphdXRvOwoJICAgIHdpZHRoOiA0MDdweDsKCWZsb2F0OmxlZnQ7CgltYXJnaW4tbGVmdDoxMThweDsKCW92ZXJmbG93OmhpZGRlbjsKCX0KCi5zaXRlLWxpbms6Zmlyc3QtY2hpbGR7CgltYXJnaW4tbGVmdDowcHg7Cgl9CgoKCi5saW5rLWhlYWR7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglmbG9hdDpsZWZ0OwoJb3ZlcmZsb3c6aGlkZGVuOwoJfQoKLmxpbmstaGVhZCBoNXsKCX0KCi5tZW51LWRvd257CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglmbG9hdDpsZWZ0OwoJb3ZlcmZsb3c6aGlkZGVuOwoJfQoKLmxpbmstb25lewoJaGVpZ2h0OmF1dG87CgkgICAgd2lkdGg6IDIwMnB4OwoJZmxvYXQ6bGVmdDsKCW92ZXJmbG93OmhpZGRlbjsKCX0KCi5saW5rLW9uZSB1bHsKCWxpc3Qtc3R5bGU6bm9uZTsKCX0KCi5saW5rLW9uZSB1bCBsaXsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHdpZHRoOiAxMDAlOwoJfQoKLmxpbmstb25lIHVsIGxpIGF7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIGNvbG9yOiAjRkZGRkZGOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7Cgl9CgoubGluay1vbmUgdWwgbGkgYTpob3ZlcnsKCWNvbG9yOiMwMDA7Cgl9Ci5zaXRlX3R3byB7CiAgICB3aWR0aDogMzY1cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIG92ZXJmbG93OmhpZGRlbjsKbWFyZ2luLWxlZnQ6IDM3cHg7fQoKLmZvX2Rvd24gewogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogMTVweDsKfQoKLmxvY2F0aW9uZiB7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBoZWlnaHQ6IGF1dG87CiAgICBtYXJnaW4tdG9wOiAxNXB4Owp9Ci5sb2NhdGlvbmY6Zmlyc3QtY2hpbGR7CiAgICBtYXJnaW4tdG9wOiAwcHg7Cn0KCi5sb2NpY29uIHsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7Cn0KCi5sb2NfdGV4dCB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLWxlZnQ6IDE1cHg7Cn0KLmxvY190ZXh0IHB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGxpbmUtaGVpZ2h0OiAyN3B4OwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoKLnNpdGVfdGhyZWUgewogICAgd2lkdGg6IDMwMHB4OwogICAgZmxvYXQ6IHJpZ2h0OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLmxhdGVzdCB7CiAgICB3aWR0aDogOTklOwogICAgbWFyZ2luLXRvcDogMjVweDsKICAgIH0KLmxhdGVzdDpmaXJzdC1jaGlsZHsKICAgIG1hcmdpbi10b3A6IDBweDsKfQoubGF0ZXN0IGF7CiAgICBib3JkZXI6IDFweCBzb2xpZCM4MmIzYWQ7CiAgICBwYWRkaW5nOiAxM3B4IDBweDsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7Cn0KCgojZm9vdGVyciB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogODVweDsKICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9vdGVyLnBuZykgdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciB0b3A7CiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgbWluLXdpZHRoOiAxMTcwcHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQjNGJhZDliOwp9Cgojc3ViX2Zvb3RlcnIgewogICAgd2lkdGg6IDExNDBweDsKICAgIGhlaWdodDogYXV0bzsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgcGFkZGluZzogMjVweCAwcHg7CiAgICB9CgoucmVzZXJ2ZWQgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKICAgIGNvbG9yOiAjZmZmOwogICAgbGluZS1oZWlnaHQ6IDM2cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBmb250LXNpemU6IDE1cHg7Cn0KCi5tZWRpYV9yaWdodCB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5tZWRpYV9vbmUgewogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4Owp9CgojcmVmZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvcmVmZXIucG5nKSB0cmFuc3BhcmVudCBuby1yZXBlYXQgY2VudGVyIHRvcDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBtaW4td2lkdGg6IDExNzBweDsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMGQ2MTU0OwogICAgfQoKI3N1Yl9yZWZlciB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTE0MHB4OwogICAgcGFkZGluZzogNDVweCAwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgoKCi5yZWZlcl9sZWZ0IHsKICAgIHdpZHRoOjU1MHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5yZWZlcl9yaWdodCB7CiAgICB3aWR0aDogNTUwcHg7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucmVmZXJfaGVhZCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7CiAgICBwYWRkaW5nOiAxMHB4IDBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTMpOwp9Ci5yZWZlcl9oZWFkIHB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoKLnJlZmVyX2Rvd24gewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnJlZmVyX2ljb24gewogICAgd2lkdGg6IGF1dG87CiAgICBmbG9hdDogbGVmdDsKfQoKLnJlZmVyX3RleHQgewogICAgd2lkdGg6IDIyNnB4OwogICAgZmxvYXQ6IHJpZ2h0OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLnJlZmVyX29uZSB7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCA2OSwgNjEsIDAuNjgpOwp9Ci5yZWZlcl9vbmUgcHsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KLnJlZmVyX29uZSBwIGltZ3sKICAgICAgbWFyZ2luOiA5cHggMjBweCAtM3B4IDE2cHg7Cgp9Ci5yZWZlcl9vbmVfIHsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICB3aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk0LCAyMTYsIDc5LCAwLjM3KTsKfQoucmVmZXJfb25lXyBwewogICAgZm9udC1zaXplOiAxN3B4OwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoucmVmZXJfb25lXyBwIGltZ3sKICAgICAgbWFyZ2luOiA5cHggMTJweCAtM3B4IDE2cHg7CiAgICB9CgoucmVmZXJfb25lX3QgewogICAgICAgIGhlaWdodDogNDBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDY5LCA2MSwgMC42OCk7Cn0KLnJlZmVyX29uZV90IHB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9Ci5yZWZlcl9vbmVfdCBwIGltZ3sKICAgICAgICAgbWFyZ2luOiA5cHggMTJweCAtM3B4IDEwcHg7CiAgICB9CgoKLnJlZmVyX2FsbCB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5sZXZlbF9vbmUgewogICAgd2lkdGg6IDEyMXB4OwogICAgaGVpZ2h0OiAxMjFweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vZWxpdGVjcnlwdG9zZXJ2aWNlcy5jb20vaW1hZ2VzL2xldmVsLnBuZyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Ci5sZXZlbF9vbmUgcCBzcGFuewogICAgY29sb3I6ICMwMDk5NzM7CiAgICBmb250LXNpemU6IDI1cHg7Cn0KLmxldmVsX29uZSBwewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogIzAwMDsKICAgIHBhZGRpbmctdG9wOiAyNnB4OwogICAgbWFyZ2luLWxlZnQ6IDVweDsKICAgIH0KLmxldmVsX3R3byB7CiAgICB3aWR0aDogMTAxcHg7CiAgICBoZWlnaHQ6IDEwMXB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tbGVmdDogMTBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL2VsaXRlY3J5cHRvc2VydmljZXMuY29tL2ltYWdlcy9sZXZlbGIucG5nKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5sZXZlbF90d28gcCBzcGFuewogICAgY29sb3I6ICMwMDk5NzM7CiAgICBmb250LXNpemU6IDI1cHg7Cn0KLmxldmVsX3R3byBwewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6ICMwMDA7CiAgICBwYWRkaW5nLXRvcDogMjRweDsKICAgIGxpbmUtaGVpZ2h0OiAyMnB4OwogICAgbWFyZ2luLWxlZnQ6IDVweDsKICAgIH0KCi5sZXZlbF90aHJlZSB7CiAgICB3aWR0aDogODBweDsKICAgIGhlaWdodDogODBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvbGV2ZWxjLnBuZyk7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgbWFyZ2luLXRvcDogMjBweDsKfQoubGV2ZWxfdGhyZWUgcCBzcGFuewogICAgY29sb3I6ICMwMDk5NzM7CiAgICBmb250LXNpemU6IDI1cHg7Cn0KLmxldmVsX3RocmVlIHB7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiAjMDAwOwogICAgcGFkZGluZy10b3A6IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMjJweDsKICAgIG1hcmdpbi1sZWZ0OiA1cHg7CiAgICB9CgoKI21haW5fb3RoZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvb3RoZXIucG5nKTsKICAgIG1pbi13aWR0aDogMTE3MHB4OwogICAgaGVpZ2h0OiBhdXRvOwogICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIH0KCgoKI3N1Yl9vdGhlciB7CiAgICB3aWR0aDogMTE0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZzogNDBweCAwcHggNDBweDsKICAgIH0KCi5hbGwtaW5mb3JtYXRpb257CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CiAgICAgbWFyZ2luLXRvcDogMzBweDsKCW92ZXJmbG93OmhpZGRlbjsKCX0KCi5pbmZvcm1hdGlvbi1vbmV7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglvdmVyZmxvdzpoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAzMHB4OwoJfQouaW5mb3JtYXRpb24tb25lOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLXRvcDogMHB4Owp9CgouaW5mb3JtYXRpb24taGVhZHsKCWhlaWdodDo1NXB4OwoJd2lkdGg6MTAwJTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL2VsaXRlY3J5cHRvc2VydmljZXMuY29tL2ltYWdlcy9oZWFkci5wbmcpOwoJb3ZlcmZsb3c6aGlkZGVuOwoJfQoKLmluZm9ybWF0aW9uLWhlYWQgcHsKY29sb3I6ICNGRkZGRkY7CiAgICBmb250LXNpemU6IDIxcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIG1hcmdpbi1sZWZ0OiAzNXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKCX0KCi5pbmZvcm1hdGlvbi1oZWFkIHAgaW1newogICAgbWFyZ2luOiA0cHggNHB4IC0xNXB4IDBweDsKICAgIH0KCi5hbGwtaW5mb3sKCWhlaWdodDphdXRvOwoJd2lkdGg6MTAwJTsKCW1hcmdpbjowIGF1dG87CiAgICBwYWRkaW5nLXRvcDogMzBweDsKICAgIG92ZXJmbG93OmhpZGRlbjsKCX0KCi5pbmZvLW9uZXsKCWhlaWdodDphdXRvOwoJd2lkdGg6MTAwJTsKCW92ZXJmbG93OmhpZGRlbjsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwkKfQoKLmluZm8tb25lOmZpcnN0LWNoaWxkewoJbWFyZ2luLXRvcDowcHg7Cgl9Ci5pbmZvLWxlZnR7CgkgICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDE5NXB4OwogICAgY29sb3I6ICMwMDk5NzM7CiAgICBmbG9hdDogbGVmdDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgIG1hcmdpbi10b3A6IDEzcHg7Cgl9CgouaW5mby1yaWdodHsKCWhlaWdodDphdXRvOwoJd2lkdGg6NDQwcHg7CglmbG9hdDpyaWdodDsKCW1hcmdpbi1yaWdodDoxMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKIAoJfQoKLmluZm8tcmlnaHQgaW5wdXR7Cglib3JkZXItcmFkaXVzOjVweDsKICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIzAwOTk3MzsKCX0KLmFib3V0X2JvcmRlcl9yIHsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICBoZWlnaHQ6IDFweDsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZmZmZiAxJSwjZmFmYWZjIC0zJSwjMDU5ZDc4IDE1JSwjMzI4ZTc4IC0xOCUsI2ZjZmJmYyAzMyUsI2ZiZmJmYiA2MCUsI2ZjZmNmYyA2NiUsIzA1OWQ3OCAsI2ZmZmZmZiAxMDAlKTsKICAgIH0KCgouY29tcGxldGUgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmctdG9wOiAyMHB4Owp9CgouY2hlY2stdGV4dHsKCWhlaWdodDphdXRvOwoJd2lkdGg6YXV0bzsKCWZsb2F0OmxlZnQ7CiAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgfQoJCi5jaGVjay1ib3h7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjMwcHg7CglmbG9hdDpsZWZ0OwoJfQoJCi5jaGVjay1ib3ggaW5wdXR7CgloZWlnaHQ6MjBweDsKCXdpZHRoOjIwcHg7Cgl9CgkKLmFncmVlewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJZmxvYXQ6bGVmdDsKCW1hcmdpbi10b3A6LTFweDsKCX0KCQouYWdyZWUgcHsKY29sb3I6ICMwMDAwMDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cgl9CgkKLmFncmVlIHAgc3BhbiBhewoJY29sb3I6IzAwOTk3MzsKCWZvbnQtd2VpZ2h0OjYwMDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cgl9CgoucmVnaXN0cmF0aW9uIHsKICAgIHdpZHRoOiAyMjZweDsKICAgIGhlaWdodDogYXV0bzsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLWxlZnQ6IDQ0cHg7Cn0KLnJlZ2lzdHJhdGlvbiBpbnB1dHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjNhM2Y7CiAgICBwYWRkaW5nOiAxNXB4IDBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgIC1tb3otYm94LXNoYWRvdzppbnNldCAwcHggLTJweCAzOHB4ICMwYjI5MmQ7Ci13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwcHggLTJweCAzOHB4ICMwYjI5MmQ7CmJveC1zaGFkb3c6aW5zZXQgMHB4IC0ycHggMzhweCAjMGIyOTJkOwogICAgfQoKLmNvbnRhY3RfbGVmdCB7CiAgICB3aWR0aDogNjY4cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5jb250YWN0X3JpZ2h0IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiA0MzBweDsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5pbmZvcm1hdGlvbi1oZWFkY3sKCWhlaWdodDo1NXB4OwoJd2lkdGg6MTAwJTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL2VsaXRlY3J5cHRvc2VydmljZXMuY29tL2ltYWdlcy9oZWFkci5wbmcpOwoJb3ZlcmZsb3c6aGlkZGVuOwoJfQoKLmluZm9ybWF0aW9uLWhlYWRjIHB7CiAgICBjb2xvcjogI0ZGRkZGRjsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbWFyZ2luLWxlZnQ6IDM1cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwoJfQoKLmluZm9ybWF0aW9uLWhlYWRjIHAgaW1newogICAgICAgICAgICBtYXJnaW46IDEwcHggNHB4IC0xM3B4IDBweDsKCiAgICB9CiAgICAKICAgIC5hbGwtYm94ZXh7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglmbG9hdDpsZWZ0OwoJb3ZlcmZsb3c6aGlkZGVuOwoJbWFyZ2luLXRvcDowcHg7Cgl9CgouaW5mb3JtYXRpb24taGVhZHJ7CgloZWlnaHQ6NTVweDsKCXdpZHRoOjEwMCU7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvaGVhZHIucG5nKTsKCW92ZXJmbG93OmhpZGRlbjsKCX0KCi5pbmZvcm1hdGlvbi1oZWFkciBwewogICAgY29sb3I6ICNGRkZGRkY7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIG1hcmdpbi1sZWZ0OiAzNXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKCX0KCi5pbmZvcm1hdGlvbi1oZWFkciBwIGltZ3sKICAgICAgICAgICBtYXJnaW46IDEwcHggNHB4IC0xM3B4IDBweDsKICAgICAgICB9Ci5pbmZvcm1hdGlvbl9hbGwgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLmluZm9fb25lIHsKICAgIHdpZHRoOiAxMDAlOwogICAgICAgd2lkdGg6IDk3LjIlOwogICAgbWFyZ2luLXRvcDogMThweDsKfQouaW5mb19vbmUgaW5wdXR7CiAgICBwYWRkaW5nOiAxNXB4IDE1cHg7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCMwMDk5NzM7CiAgICBjb2xvcjogIzAwOTk3MzsKfQouaW5mb19vbmU6Zmlyc3QtY2hpbGR7CiAgICBtYXJnaW4tdG9wOiAwcHg7Cn0KLmluZm9fb25lIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyewoJY29sb3I6IzAwOTk3MzsKCX0KCi50ZXh0LWFyZWEgewogICAgaGVpZ2h0OiAxNjdweDsgICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAyM3B4Owp9Cgouc2VuZCB7CiAgICB3aWR0aDogMjI2cHg7CiAgICBoZWlnaHQ6IGF1dG87CiAgICBtYXJnaW4tdG9wOiAyMnB4OwogICAgZmxvYXQ6IHJpZ2h0Owp9Ci5zZW5kIGlucHV0ewogICAgYmFja2dyb3VuZC1jb2xvcjogIzBmM2EzZjsKICAgIHBhZGRpbmc6IDE1cHggMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgLW1vei1ib3gtc2hhZG93Omluc2V0IDBweCAtMnB4IDM4cHggIzBiMjkyZDsKLXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDBweCAtMnB4IDM4cHggIzBiMjkyZDsKYm94LXNoYWRvdzppbnNldCAwcHggLTJweCAzOHB4ICMwYjI5MmQ7CiAgICB9Ci5hZGRfYm94IHsKICAgIHdpZHRoOiA5OS42JTsKICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIHBhZGRpbmctdG9wOiAzMHB4OwogICAgYm9yZGVyOiAxcHggc29saWQjMDA5OTczOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgfQoKLmNvbl9vbmUgewogICAgd2lkdGg6IDM0MHB4OwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogMTRweDsKfQouY29uX29uZTpmaXJzdC1jaGlsZHsKICAgIG1hcmdpbi10b3A6IDBweDsKfQoKLmNvbl9pY29uIHsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7CiAgICB9Ci5jb25fdGV4dCB7CiAgICB3aWR0aDogMjc1cHg7CiAgICBmbG9hdDogcmlnaHQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQouY29uX3RleHQgcHsKICAgIGNvbG9yOiAjMDA5OTczOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4Owp9CgoKLmNvbl9kb3duIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjVweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5jb250YWN0X21hbiB7CiAgICBoZWlnaHQ6IDEwNHB4OwogICAgZmxvYXQ6IGxlZnQ7Cn0KCi5yaWdodGRvdyB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAtMTcxcHg7CiAgICB3aWR0aDogMzI0cHg7Cn0KCi50d3MgewogICAgd2lkdGg6YXV0bzsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KLnR3cyBwewogICAgY29sb3I6ICMwNTlkNzc7CiAgICBmb250LXNpemU6IDIwcHg7Cn0KCi5zdXBwb3J0IHsKICAgIHdpZHRoOiAxNzNweDsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAyMHB4Owp9Ci5zdXBwb3J0IGlucHV0ewogICAgYmFja2dyb3VuZC1jb2xvcjogIzEwM2I0MDsKfQoKCi5mb3Jnb3RsIHsKICAgIHdpZHRoOiAzOSU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogMjZweDsKICAgIG1hcmdpbi1sZWZ0OiAzMC41JTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKfQouZm9yZ290bCBhewogICAgY29sb3I6ICMwMjg5NmQ7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4Owp9Ci5mb3Jnb3RsIGE6aG9iZXJ7CiAgICBjb2xvcjogIzBlMzYzYTsKfQoKCi5ub3dsb2cgewogICAgd2lkdGg6IDIyMHB4OwogICAgbWFyZ2luLXRvcDogMjRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tbGVmdDogNDYzcHg7Cn0KLm5vd2xvZyBpbnB1dCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYzYTNmOwogICAgcGFkZGluZzogMTVweCAwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAtMnB4IDM4cHggIzBiMjkyZDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IC0ycHggMzhweCAjMGIyOTJkOwogICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0ycHggMzhweCAjMGIyOTJkOwp9CgouYWNjb3VudF9kb3duIHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMzBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5kZXNoLWxlZnR7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjI4MHB4OwoJZmxvYXQ6bGVmdDsKCX0KCi5kZXNoLW1lbnV7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglvdmVyZmxvdzpoaWRkZW47Cgl9CgouZGVzaC1tZW51IHVsewoJbGlzdC1zdHlsZTpub25lOwoJfQoKLmRlc2gtbWVudSB1bCBsaXsKCWZsb2F0OiBsZWZ0OwogICAgaGVpZ2h0OiA1MHB4OwogICAgYmFja2dyb3VuZDojMDU5NDgwOwogICAgbWFyZ2luLXRvcDogNXB4OwogICAgd2lkdGg6IDEwMCU7Cgl9CgouZGVzaC1tZW51IHVsIGxpOmxhc3QtY2hpbGR7Cglib3JkZXItYm90dG9tOm5vbmU7Cgl9CgkKLmRlc2gtbWVudSB1bCBsaTpmaXJzdC1jaGlsZHsKCW1hcmdpbi10b3A6MHB4O30KCi5kZXNoLW1lbnUgdWwgbGkgYXsKZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6ICNmZmY7CiAgICBwYWRkaW5nOiAxNC41cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiA5MCU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKCX0KCi5kZXNoLW1lbnUgdWwgbGk6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiMwZjNhM2Y7CQoJfQoKLmRlc2h7CgliYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2VsaXRlY3J5cHRvc2VydmljZXMuY29tL2ltYWdlcy9kYS5wbmcpOwoJd2lkdGg6MjdweDsKCWhlaWdodDoyMnB4OwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OwoJfQoKLmRpY29uewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7CiAgICBmbG9hdDogbGVmdDsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgbWFyZ2luLXJpZ2h0OiAyNXB4OwoJfQouZGVzaC1tZW51IHVsIGxpIGE6aG92ZXJ7Cgljb2xvcjojRkZGRkZGOwoJfQoKLmRlc2gtbWVudSB1bCBsaSBhOmhvdmVyIC5kZXNoewoJYmFja2dyb3VuZDp1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvZGFoLnBuZyk7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7CiAgICAJd2lkdGg6MjdweDsKCWhlaWdodDoyMnB4OwoJY29sb3I6I0ZGRkZGRjsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwoJfQouZGVzaF9yaWdodHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiA4MTBweDsKICAgIGZsb2F0OiByaWdodDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRlc2hfcmVmZXIgewogICAgaGVpZ2h0OiA2NHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvaGVhZHIucG5nKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5kZXNoX3JlZmVyIHB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBtYXJnaW4tbGVmdDogMjVweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KLmRlc2hfcmVmZXIgcCBpbWd7Cm1hcmdpbjogMjBweCA3cHggLTEycHggMHB4OwogICAgfQouZGVzaF9yZWZlciBwIHNwYW57CiAgICBmbG9hdDogcmlnaHQ7Cn0KCi51c2VyIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIGNvbG9yOiAjMDU5NDgwOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKfQoKLnVzZXIgcCBzcGFuewogICAgZmxvYXQ6IHJpZ2h0Owp9Ci5kZXNoLWJhbGFuY2V7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOjEwMCU7CglvdmVyZmxvdzpoaWRkZW47CgkgICAgbWFyZ2luLXRvcDogMzBweDsKCX0KCi5iYWxhbmNlLW9uZXsKCWhlaWdodDphdXRvOwoJIHdpZHRoOiAyNTRweDsKCWZsb2F0OmxlZnQ7CgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwoJcGFkZGluZzoxNXB4IDBweDsKCW92ZXJmbG93OmhpZGRlbjsKICAgIG1hcmdpbi1sZWZ0OiAxOHB4OwoJYm9yZGVyOiAxcHggc29saWQjMDU5NDgwOwoJfQoKLmJhbGFuY2Utb25lOmZpcnN0LWNoaWxkewoJbWFyZ2luLWxlZnQ6MHB4OwoJfQoKLmJhbGFuY2UtYW1vdW50ewoJaGVpZ2h0OmF1dG87Cgl3aWR0aDphdXRvOwoJdGV4dC1hbGlnbjpjZW50ZXI7CgltYXJnaW4tdG9wOjVweDsKCWZvbnQtc2l6ZTozMHB4OwoJfQoKCi5iYWxhbmNlLWFtb3VudCBwewogICAgY29sb3I6ICMwMDk5NzM7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cgl9CgkKLmJhbGFuY2UtaWNvbnsKCWhlaWdodDphdXRvOwoJd2lkdGg6YXV0bzsKCXRleHQtYWxpZ246Y2VudGVyOwoJfQoJCi5hbW91bnR7CgloZWlnaHQ6YXV0bzsKCXdpZHRoOmF1dG87Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCW1hcmdpbi10b3A6NXB4OwoJZm9udC1zaXplOjI1cHg7CiAgICBmb250LXdlaWdodDogNjAwOwoJY29sb3I6IzAwOTk3MzsKCX0KCQoKLmRlc2hfZG93biB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIG1hcmdpbi10b3A6IDI1cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgouZHdfbGVmdCB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMzkwcHg7CiAgICBmbG9hdDogbGVmdDsKfQouZHdfcmlnaHQgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDM5MHB4OwogICAgZmxvYXQ6IHJpZ2h0Owp9CgouZHdfaGVhZCB7CiAgICB3aWR0aDogMTAwJTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vZWxpdGVjcnlwdG9zZXJ2aWNlcy5jb20vaW1hZ2VzL2hlYWRyLnBuZyk7Cn0KLmR3X2hlYWQgcHsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHBhZGRpbmctdG9wOiAxOHB4Owp9CgouZWFybl9hbGwgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAxNXB4Owp9CgoKLmVhcm5fb25lewogICAgd2lkdGg6IDkyJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIGNvbG9yOiAjMDA0Njg3OwogICAgcGFkZGluZzogMTJweCAxM3B4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgYm9yZGVyOiAxcHggc29saWQjMDU5NDgwOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCMwNTk0ODA7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CgouZWFybl9vbmU6Zmlyc3QtY2hpbGR7CiAgICBtYXJnaW4tdG9wOiAwcHg7Cn0KLmVhcm5fb25lIHAgc3BhbnsKICAgIGZsb2F0OiByaWdodDsKfQoKLm1lbWJlcnsKCWhlaWdodDogNThweDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjBweDsKfQoKLm1lbWJlciBhewoJY29sb3I6I0ZGRkZGRjsKCWhlaWdodDogNThweDsKICAgIHBhZGRpbmc6IDVweCAwcHg7CglkaXNwbGF5OmJsb2NrOwoJdGV4dC1hbGlnbjogY2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjojMGYzYTNmOwoJdGV4dC1hbGlnbjpjZW50ZXI7Cgl9CgoubWVtYmVyIGEgaW1newogICAgICBtYXJnaW46IDE1cHggMTJweCAtM3B4IDBweDsKCX0KCi5tZW1iZXIgYTpob3ZlcnsKCWJhY2tncm91bmQtY29sb3I6IzA0OTA3ODt9CgoucGxhbl9zZWxlY3QgewogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvaGVhZHIucG5nKTsKICAgIGhlaWdodDogNjRweDsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5wbGFuX3NlbGVjdCBwewogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgcGFkZGluZy1sZWZ0OiAzMHB4OwogICAgbGluZS1oZWlnaHQ6IDYycHg7Cn0KCi5hbGxfZHBsYW4gewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCgouY2hlY2ludGV4dCB7CmhlaWdodDogYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgLyogZmxvYXQ6IGxlZnQ7ICovCiAgICAvKiBtYXJnaW46IDAgYXV0bzsgKi8KICAgIC8qIHBhZGRpbmctdG9wOiAyM3B4OyAqLwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBkaXNwbGF5OiB0YWJsZTsKICAgIG1hcmdpbi10b3A6IDQ0cHg7ICAgIGJvcmRlcjogMnB4IHNvbGlkI2UzZTNlMzsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIHBhZGRpbmc6IDEwcHggMTBweDsKICAgIAp9CgouY2hlY2tfdGl0dGxlIHsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tbGVmdDogMTVweDsKICAgIGNvbG9yOiAjMDAwOwp9CgouY2hlY2staW4gewogICAgaGVpZ2h0OmF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiBsZWZ0OwogICAgCn0KCi5jaGVjay1pbiBpbnB1dFt0eXBlPSdyYWRpbyddOmFmdGVyIHsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwoKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZkNTE7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB0b3A6IC0ycHg7CiAgICBsZWZ0OiAwcHg7Cn0KCgouY2hlY2staW4gaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkOmFmdGVyIHsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4OwogICAgdG9wOiAtNHB4OwogICAgbGVmdDogMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgY29udGVudDogJ1wyNzEzJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBtYXJnaW4tdG9wOiAycHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMjNweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7Cn0KCi50b3RhbF9iYWxhbmNlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMzBweDsKICAgIGhlaWdodDogNjJweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvaGVhZHIucG5nKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRvdGFsX2JhbGFuY2UgcCBzcGFuewogICAgZmxvYXQ6IHJpZ2h0Owp9Ci50b3RhbF9iYWxhbmNlIHB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogICAgZm9udC1zaXplOiAxOHB4OwogICAgcGFkZGluZzogMHB4IDI1cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgfQoudHdpY2UgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KLnR3aWNlIHB7CiAgICBjb2xvcjogIzAyOGE2ZTsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgouZGVwb3NpdF9hbW91bnRfIHsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5kZXBvc2l0X3RpdHRsZSB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxNjBweDsKICAgIHBhZGRpbmc6IDEwcHggMHB4OwoKfQoKLmRlcG9zaXRfdGl0dGxlIHB7CiAgICBjb2xvcjogIzRmMjU1NjsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KCi5kZXBvc2l0X2JveF9kIHsKICAgICAgICB3aWR0aDogNjQ3cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDExcHggMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIzAwN2Y1ZjsKfQoKCi5kZXBvc2l0X2JveF90eXBlX2R7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMjgwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7CiAgICBmbG9hdDogbGVmdDsKfQoKLmRlcG9zaXRfYm94X3R5cGVfZCBpbnB1dHsKICAgIGJvcmRlcjogbm9uZTsKICAgIHBhZGRpbmc6IDBweDsKfQouZGVwb3N0X2RvbGFyXyB7CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiByaWdodDsKICAgIG1hcmdpbi1yaWdodDogMjBweDsKfQoKLmRlcG9zdF9kb2xhcl8gcHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGNvbG9yOiAjMjI4YjIyOwp9CgoucGF5X3NlbGVjdCB7CiAgICB3aWR0aDogMTAwJTsKICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgoucGF5X2xlZnQgewogICAgd2lkdGg6IDM4NXB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWxlZnQ6IDMwcHg7Cn0KLnBheV9sZWZ0OmZpcnN0LWNoaWxkewogICAgbWFyZ2luLWxlZnQ6IDBweDsKfQouc3BlbmQgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLXRvcDogMzIuNXB4OwogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCMxMmEyN2Y7CiAgICBwYWRkaW5nOiAxMXB4IDBweDsKfQoKLnNwZW5kOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLXRvcDogMHB4Owp9Cgouc3Blbl9sZWZ0IHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IGF1dG87CiAgICBtYXJnaW4tbGVmdDogMTlweDsKICAgIGNvbG9yOiAjMDAwOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CgouY2hlY2tfcGF5bWVudCB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogYXV0bzsKICAgIGZsb2F0OiBsZWZ0Owp9CgoKLmNoZWNrX3BheW1lbnQgaW5wdXRbdHlwZT0ncmFkaW8nXTphZnRlciB7CiAgICAgIHdpZHRoOiAxM3B4OwogICAgaGVpZ2h0OiAxM3B4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzAwYmZmZjsgKi8KICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY2OwogICAgICAgYm9yZGVyOiAycHggc29saWQjNTRkYjQ1OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgdG9wOiAtMnB4OwogICAgbGVmdDogMHB4Owp9CgoKCi5jaGVja19wYXltZW50IGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7CndpZHRoOiAxM3B4OwogICAgaGVpZ2h0OiAxM3B4OwogICAgdG9wOiAtNHB4OwogICAgbGVmdDogMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgY29udGVudDogJ1wyMDIyJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBtYXJnaW4tdG9wOiAycHg7CiAgICBjb2xvcjogIzA1OTQ4MDsKICAgIGZvbnQtc2l6ZTogMzBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBib3JkZXI6IDJweCBzb2xpZCMwNTk0ODA7CiAgICBsaW5lLWhlaWdodDogMTMuOXB4Owp9Cgouc3BlbmRkewogICAgd2lkdGg6IDIwMnB4OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47Cn0KCi5zcGVuZGQgaW5wdXR7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmM2EzZjsKICAgIHBhZGRpbmc6IDE1cHggMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgLW1vei1ib3gtc2hhZG93Omluc2V0IDBweCAtMnB4IDM4cHggIzBiMjkyZDsKLXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDBweCAtMnB4IDM4cHggIzBiMjkyZDsKYm94LXNoYWRvdzppbnNldCAwcHggLTJweCAzOHB4ICMwYjI5MmQ7Cn0KLmFjY291bnRfYmFsYW5jZXsKICAgIHdpZHRoOiA0MDBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjMDA1NzQxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCi5hY2NvdW50X2JhbGFuY2U6bGFzdC1jaGlsZHsKICAgIGJvcmRlci1yaWdodDogMHB4Cn0KLmFjY291bnRfYmFsYW5jZSBwewogICAgY29sb3I6ICNmZmZmZmY7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4Owp9Cgoud2l0aGRyYXdfaGVhZCB7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDk5LjglOwogICAgYm9yZGVyOiAxcHggc29saWQjMDU5MzdlOwogICAgcGFkZGluZy1ib3R0b206IDZweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAxMHB4IDBweDsKICAgIGNvbG9yOiAjMDU5MzdlOwp9CgoucHJvY2VzcyB7CndpZHRoOiAxNzJweDsKICAgIGZsb2F0OiBsZWZ0Owp9CgoucHJvY2VzcyBwewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgfQoKLmF2YWlsYWJsZSB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTI4cHg7CiAgICBmbG9hdDogbGVmdDsKCgp9Ci5hdmFpbGFibGUgcHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKfQoucGVuZGluZyB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgd2lkdGg6IDEzOHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNzAwOwp9CgoucGVuZGluZyBwewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1zaXplOiAxNnB4Owp9CgoKLmFjY291bnR3IHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZm9udC1zaXplOiAxNnB4Owp9Ci5hY2NvdW50dyBwewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1zaXplOiAxNnB4Owp9CgouYWxsX3dpdGhkcmF3IHsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogOTkuOCU7CiAgICBib3JkZXI6IDFweCBzb2xpZCMwNTkzN2U7CiAgICAvKiBtYXJnaW4tdG9wOiAyMHB4OyAqLwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLndpdGhkcmF3LW9uZSB7CiAgICAgICAgaGVpZ2h0OiA1M3B4OwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAxOHB4OwogICAgLyogcGFkZGluZy1ib3R0b206IDE5cHg7ICovCiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogI2ZmZmY7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cHM6Ly9lbGl0ZWNyeXB0b3NlcnZpY2VzLmNvbS9pbWFnZXMvaGVhZHIucG5nKTsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KCi53aXRoZHJhdy1vbmU6Zmlyc3QtY2hpbGR7CiAgICBtYXJnaW4tdG9wOiAwcHg7Cn0KCi5wcm9jZXNzLSB7CiAgICBoZWlnaHQ6YXV0bzsKICAgIHdpZHRoOjE3MnB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjMDAwOwogICAgbGluZS1oZWlnaHQ6IDUzcHg7Cn0KLnByb2Nlc3MtIHB7CiAgICBtYXJnaW4tbGVmdDogMjBweDsKfQoKLmFjY291bnR3LSB7CndpZHRoOiBhdXRvOwogICAgZmxvYXQ6IGxlZnQ7Cn0KCgouYWNjb3VudHctIHB7CiAgICBtYXJnaW4tbGVmdDogMjVweDsKICAgIG1hcmdpbi10b3A6IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAzNXB4OwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKfQoKLmF2YWlsYWJsZS0gewogICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiAxMjhweDsKICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIzAwMDsKICAgIGxpbmUtaGVpZ2h0OiA1M3B4OwogICAgZmxvYXQ6IGxlZnQ7Cn0KCi5hdmFpbGFibGUtIHB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBtYXJnaW4tbGVmdDogMjBweDsKfQoucGVuZGluZy0gewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEzOHB4OwogICAgIGZsb2F0OiBsZWZ0OwogICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQjMDAwOwogICAgIGxpbmUtaGVpZ2h0OiA1M3B4Owp9Ci5wZW5kaW5nLSBwewogICAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KCiAgICAKLmFsbF93aXRoZHJhd3cgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAyNXB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLndpdGhkcmF3X29uZSB7CiAgICB3aWR0aDogMTk1cHg7CiAgICBmbG9hdDogbGVmdDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tbGVmdDogMTBweDsKfQoud2l0aGRyYXdfb25lOmZpcnN0LWNoaWxkewogICAgbWFyZ2luLWxlZnQ6IDBweDsKfQoKLnBheWNoZWNrYm94IHsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICAvKiBtYXJnaW4tdG9wOiAyNXB4OyAqLwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIHotaW5kZXg6IDk5OTk5OTk7Cn0KCgoucGF5Y2hlY2tib3ggaW5wdXRbdHlwZT0ncmFkaW8nXTphZnRlciB7CiAgICB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTQ5NDk7CiAgICBjb250ZW50OiAnJzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAvKiBib3JkZXI6IDJweCBzb2xpZCMwMDA7ICovCiAgICB0b3A6IC0xcHg7CiAgICBsZWZ0OiAwcHg7Cn0KCgoKLnBheWNoZWNrYm94IGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDphZnRlciB7CiB3aWR0aDogMThweDsKICAgIGhlaWdodDogMThweDsKICAgIHRvcDogLTNweDsKICAgIGxlZnQ6IDBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGNvbnRlbnQ6ICdcMjcxMyc7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA1OTQ4MDsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAvKiBjb2xvcjogIzAyYTVkYzsgKi8KICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxOXB4OwogICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgKi8KfQoKCgoucGF5X2NvbiB7CiAgICB3aWR0aDogYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLmJhbGFuY2UtYm94LXsKICAgIGhlaWdodDogOTBweDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjNweDsKCX0KLmJhbGFuY2UtYm94LSB0ZXh0YXJlYXsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgICBib3JkZXI6IDFweCBzb2xpZCMwMDdmNWY7CiAgICB3aWR0aDogOTclOwogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OwogICAgaGVpZ2h0OiA3NSU7Cn0KCi5lcnJvcnsKICAgIHdpZHRoOiAxMDAlOwogICAgY29sb3I6ICNmZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAxNXB4IDBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCi5zdWNjZXNzewogICAgd2lkdGg6IDEwMCU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTVweCAwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgYm9yZGVyLXJhZGl1czogNHB4Owp9Cgp0YWJsZS50YWIge2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiMzMzMzMzM7d2lkdGg6MTAwJTtib3JkZXItd2lkdGg6IDFweDtib3JkZXItY29sb3I6ICNEQTAwMTQ7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTt9CnRhYmxlLnRhYiB0aCB7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5MzdkOwogICAgYm9yZGVyLXdpZHRoOiAxcHg7CiAgICBwYWRkaW5nOiAxMnB4OwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci1jb2xvcjogIzA1OTM3ZDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGNvbG9yOiAjZmZmOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CnRhYmxlLnRhYiB0ciB7fQp0YWJsZS50YWIgdGQgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgYm9yZGVyLXdpZHRoOiAxcHg7CiAgICBwYWRkaW5nOjEycHg7CiAgICBib3JkZXItc3R5bGU6IHNvbGlkOwogICAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KCgp0YWJsZS5ibGFuayB7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzMzMzMzMzt3aWR0aDoxMDAlO2JvcmRlci13aWR0aDogMHB4O2JvcmRlci1jb2xvcjogIzlkY2M3YTtib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO30KdGFibGUuYmxhbmsgdGgge2ZvbnQtc2l6ZToxNHB4O2JhY2tncm91bmQtY29sb3I6I2FiZDI4ZTtib3JkZXItd2lkdGg6IDBweDtwYWRkaW5nOiA4cHg7Ym9yZGVyLXN0eWxlOiBzb2xpZDtib3JkZXItY29sb3I6ICM5ZGNjN2E7dGV4dC1hbGlnbjpsZWZ0O30KdGFibGUuYmxhbmsgdHIge30KdGFibGUuYmxhbmsgdGQge2ZvbnQtc2l6ZToxNHB4O2JvcmRlci13aWR0aDogMHB4O3BhZGRpbmc6IDhweDtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci1jb2xvcjogIzlkY2M3YTt9CgouZGVwb3NpdC10b3RhbHsKICAgIG1heC13aWR0aDogNDAwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4YTZlOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIHBhZGRpbmc6IDEycHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIG1hcmdpbi1sZWZ0OiAxNXB4OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIGZsb2F0OiBub25lOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luOiAwIGF1dG87CiAgICBkaXNwbGF5OiBibG9jazsKfQoKCi5kZXBvc2l0LXByb2Nlc3Mtd3JhcHsKd2lkdGg6MzAlOyAKZmxvYXQ6bGVmdDsKfQoKLmRlcG9zaXQtY2FuY2VsLXdyYXB7CndpZHRoOjMwJTsKIGZsb2F0OmxlZnQ7IAptYXJnaW4tbGVmdDoxNXB4Owp9CgoKLmhpc3RvcnktbGlzdHsKICAgIG1heC13aWR0aDogNDAwcHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIHBhZGRpbmc6IDEycHg7CiAgICBmbG9hdDogbGVmdDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICBtYXJnaW4tbGVmdDogMjVweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjhhNmU7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4Owp9CgoKLmhpc3RvcnktbGlzdDpmaXJzdC1jaGlsZCB7Cm1hcmdpbi1sZWZ0OjBweDsKfQoKLnRvdC1oaXN7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4YTZlOwogICAgbGV0dGVyLXNwYWNpbmc6IDBweDsKICAgIHBhZGRpbmc6IDZweCAxNHB4OwogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiAxOHB4Owp9CgouYmFubmVyLWhlYWR7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogIzAwMDsKfQoKLmxlZnQtYXJyb3d7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiBhdXRvOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IDE1JTsKfQoKLmxlZnQtYXJyb3cgaW1newogICAgd2lkdGg6IDY2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCgoucmlnaHQtYXJyb3d7CiAgICBmbG9hdDogcmlnaHQ7CiAgICB3aWR0aDogYXV0bzsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBtYXJnaW4tdG9wOiAxNSU7Cn0KCgoucmlnaHQtYXJyb3cgaW1newogICAgd2lkdGg6IDY2cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7Cn0KCi5pbWctciB7CmZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLXJpZ2h0OiAxN3B4OwogICAgd2lkdGg6IDI4cHg7CiAgICBtYXJnaW4tdG9wOiAxcHg7Cn0KCi50ZXh0LXIgewogICAgZmxvYXQ6IGxlZnQ7CiAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KCi5pbmZvLWhlYWRsaW5lLWF7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBmb250LXNpemU6IDIwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5MzdkOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBsZXR0ZXItc3BhY2luZzogMHB4OwogICAgcGFkZGluZzogMTBweCAwcHg7Cn0KCgoub3RoZXItaW5mby1wewp0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKICAgIGxldHRlci1zcGFjaW5nOiAwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKfQoKCi5pbmZvcm1hdGlvbi1oZWFkMnsKICAgIHdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDVweCAwcHg7Cgl9CgouaW5mb3JtYXRpb24taGVhZDIgcHsKICAgIGNvbG9yOiAjMDU5MzdkOwogICAgZm9udC1zaXplOiAyMXB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7Cgl9CgouaW5mby1yaWdodHJyIHsKICAgIGhlaWdodDogYXV0bzsKICAgIHdpZHRoOiA0NDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwp9CgouaW5mby1yaWdodHJyIGxhYmVsewogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NCk7Cn0KCi5pbmZvLXJpZ2h0cnIgaW5wdXR7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNDYpOwogICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE5KTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIG1hcmdpbi10b3A6IDExcHg7Cn0KCi5hbGxfZGVwb3NpdHMgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi1ib3R0b206IDM3cHg7Cn0KCi5kZXBvc2l0LW9uZTpmaXJzdC1jaGlsZCB7CiAgICBtYXJnaW4tdG9wOiAwcHg7Cn0KCi5kZXBvc2l0LW9uZSB7CiAgICBoZWlnaHQ6IGF1dG87CiAgICB3aWR0aDogMTAwJTsKICAgIGZsb2F0OiBsZWZ0OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi10b3A6IDEwcHg7Cn0KCi5kZXBvc2l0cm5hbWUgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDI3OHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDU5MzdkOwogICAgY29sb3I6ICNGRkZGRkY7CiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgdHJhbnNmb3JtOiBza2V3KC0xN2RlZyk7Cn0KCi5kZXBvc2l0cm5hbWUgcHsKICAgIHRyYW5zZm9ybTogc2tldygxN2RlZyk7Cn0KCi5kZXBvc2l0LWJ5IHsKICAgIGhlaWdodDogNTBweDsKICAgIHdpZHRoOiAxMjRweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLXRvcDogMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLmRlcG9zaXQtZG9sYXIgewogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDE3OHB4OwogICAgZmxvYXQ6IHJpZ2h0OwogICAgcGFkZGluZzogMTBweCAwcHg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzA1OTM3ZDsKICAgIGNvbG9yOiAjRkZGRkZGOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgdHJhbnNmb3JtOiBza2V3KC0xN2RlZyk7CiAgICBtYXJnaW4tcmlnaHQ6IDhweDsKfQoKLmRlcG9zaXQtZG9sYXIgcHsKICAgdHJhbnNmb3JtOiBza2V3KDE3ZGVnKTsgCn0KCi5yZXBfdGV4dCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICBsaW5lLWhlaWdodDogMjhweDsKICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjcpOwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIHRleHQtYWxpZ246IGp1c3RpZnk7Cn0KCi5jaXJ0eWZpY2F0ZXsKICAgICAgICB3aWR0aDogYXV0bzsKICAgIG92ZXJmbG93OiBzY3JvbGw7CiAgICBoZWlnaHQ6IDIyNnB4Owp9CgouY2lydHlmaWNhdGUgaW1newogICAgd2lkdGg6IDEwMCU7Cn0KCi5nb29nLWxvZ28tbGluayB7CiAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50Owp9IAoKLmdvb2ctdGUtZ2FkZ2V0ewogICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKfQoKLnRyYW5kZ3sKICAgIHBhZGRpbmc6IDEwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYzNDNhOwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODcpOwogICAgYm9yZGVyLXJhZGl1czogNHB4Owp9CgoudHJhbmRnOmhvdmVyewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjhhNmY7Cn0KCi5wbGFuX29uZW5ldyB7CiAgICB3aWR0aDogMjMuNSU7CiAgICBoZWlnaHQ6IDMyMHB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbWFyZ2luLWxlZnQ6IDIycHg7CiAgICBiYWNrZ3JvdW5kOiAjMTE5OThlOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMzOGVmN2QsICMxMTk5OGUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMjdiZDYwLCAjMTE5OThlKTsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKfQoKLnBsYW5fb25lbmV3OmZpcnN0LWNoaWxkewogICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7Cn0KCi5wbGFuX3RpdHRsZW5ld3sKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgYmFja2dyb3VuZDogIzE3ODg3YTsgIAp9Ci5wbGFuX3RpdHRsZW5ldyBwIHsKICAgIGNvbG9yOiAjZmZmZmZmOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBsaW5lLWhlaWdodDogNjBweDsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7Cn0KCi5wbGFuX2ltZ19uewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbWFyZ2luLXRvcDogMzFweDsKICAgIHdpZHRoOiAzMyU7CiAgICBmbG9hdDogcmlnaHQ7Cn0KCi5wbGFuX2ltZ19uIGltZ3sKICAgIAp9CgoubmV3X3BlcmNlbnR7CiAgICB3aWR0aDogNTIlOwogICAgZmxvYXQ6IGxlZnQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHBhZGRpbmctbGVmdDogMzdweDsKICAgIGJhY2tncm91bmQ6ICMwYTUwNGE7CiAgICB0cmFuc2Zvcm06IHNrZXcoLTE3ZGVnKTsKICAgIG1hcmdpbi1sZWZ0OiAtMTNweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQoKLm5ld19wZXJjZW50IGgxewogICAgICBsZXR0ZXItc3BhY2luZzogMXB4OyAgCiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMTdkZWcpOwp9CgoubmV3X3BlcmNlbnQgcHsKICAgIGxldHRlci1zcGFjaW5nOiAxcHg7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB0cmFuc2Zvcm06IHNrZXcoMTdkZWcpOwogICAgcGFkZGluZy1sZWZ0OiA0cHg7Cn0KCi5vdGhlcl9uZXdfcHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogN3B4IDBweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7CiAgICBtYXJnaW4tdG9wOiA5cHg7Cn0KCi5vdGhlcl9uZXdfcCBwewogICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDFweDsKICAgIGNvbG9yOiAjZmZmOyAKfQo="}},"time_used":368,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":368,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/td.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.065Z","timestamp":1785136422065,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/td.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 5195\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":5195,"size_decoded":5536,"mime_type":"image/png","magic":"PNG image data, 72 x 71, 8-bit/color RGBA, non-interlaced","md5":"6d19b1533cf62f457909dc2b0516ec63","sha1":"d47a936e765f570748cd9c32eaad65e476d29e76","sha256":"2aa734c3442b1264bcea7defd8abfef7d7904be03daf30fefefa97f3c69b923c","sha512":"470ad7cac3e715df671980afc9f877258895acce2c82abb00659beb6e6f1d0174e5ed5e5a49398e7d950dec02a7c04dd6f42b3a0c3bbc4de50c0254da8707d30","ssdeep":"96:V+NzhOI/QeM+kXWxKRU+pXI7xGCli2/sxAVHN3zam8uV/b+ohtSy4:69DBxKq97nZVtsuV/iktN4","tlshash":"02b16c85408f3e5a9a27fc5d10da0a3b6f9b8426a557733aa1e198663e01b480ce5fdc","first_seen":"2025-12-03T04:46:43.735613Z","last_seen":"2026-07-29T06:14:00.306816Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4435,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4435,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5426.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.643Z","timestamp":1785136428643,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5426.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3759\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 25 Jan 2024 08:50:23 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:08:27 GMT\r\ncache-control: public, max-age=86400\r\netag: \"8634cee42b68c501da8d76beee00bf86\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11122\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: c4fuwjASRb03XlvT4niZdU9G_5oWJthPAvttnP-_7M0mZ_1SG9m2SA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":3759,"size_decoded":4331,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8634cee42b68c501da8d76beee00bf86","sha1":"346a50344174ec7c53cdd48080a55f7cd3a7c164","sha256":"890b9f9ed3f5ab8390b86f93b5b8ba0c2d5d50a5dc21668734b3537bc3a65f53","sha512":"405e62a3f1c24476041f90ddb5e50801693578a1b3e108919edcde05bb429bad77fc60b0096adbaa9a2704835ebd7dc165720ad0a14ada9498b3234d361ef259","ssdeep":"","tlshash":"fa715be58e8349f8b5ce461d652892f55cc24943d9f987101ee467921800a82f0a90e2","first_seen":"2024-01-31T18:12:49Z","last_seen":"2026-08-11T04:47:30.144751Z","times_seen":3395,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":13,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/4943.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.659Z","timestamp":1785136428659,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4943.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2671\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:11 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 01:40:53 GMT\r\ncache-control: max-age=86400\r\netag: \"8e26118d7a63338cfef1116720c92e0e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 19983\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: -n90Mio9xeaTZi9JBCuR_VtULi5mSzpJ0w0dL-SVV71uLbQUx3whPg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2671,"size_decoded":3197,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"8e26118d7a63338cfef1116720c92e0e","sha1":"8902985faa4db767ea26150e0058886b8874fb37","sha256":"a0ed329b8cd852688196ea87f4496585aeb0047c57b1fadbfc87f7bb8b9cada6","sha512":"d5137311b25651141f093713ba390fbf9403398c35ed1f1178a95a99101ddbdcc4791b7cb60e7f39d7cb8216c9b5a65ea6ab02e61730d398c6bc805f8efbbc49","ssdeep":"","tlshash":"39513bdc736f68c4999581dbda64c9cc91092c1ded09a4431ee838733cb8bc28b2749a","first_seen":"2023-05-06T12:21:16Z","last_seen":"2026-08-11T04:47:30.195061Z","times_seen":1628,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/68725.df46d140ffcce5cbedbf.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.245Z","timestamp":1785136429245,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/68725.df46d140ffcce5cbedbf.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6e6d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5bb47c18d213cedfc772723f5203b984\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28269,"size_decoded":10427,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3071)","md5":"301a8f4008180f5ddc683901defaec4d","sha1":"892a96df9fffdbee70f8c3c701e4681b6c4466dc","sha256":"89111fb1ee14c800a44c510278977f64ce50a38e074b3bbaa2f494193ed42cf6","sha512":"86dc50bd47044f799fa90bbb6725d83f782e87021fb6097ab0304ab1db8cbcd8c660f107d780b2c01c6e18fa7d03b5cf55d686e28c12ee3c4fd4a25d406379db","ssdeep":"768:5CNMfr3mWAwSatuyEJEIVVij9+Dpo27SU21KP3:IQPA+wVojcDa27SUh","tlshash":"f5c20964b2a8343541d7825bd4794a03f2356c85b00352adf66e2cde1f9e88d33aaf39","first_seen":"2026-07-23T14:00:31.748932Z","last_seen":"2026-07-28T06:17:53.533777Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTYwOSw2ODcyNV0sezQ0ODQxMSh0KXt0LmV4cG9ydHM9e2RpYWxvZzoiZGlhbG9nLUdIVUg2XzFYIixyb3VuZGVkOiJyb3VuZGVkLUdIVUg2XzFYIixzaGFkb3dlZDoic2hhZG93ZWQtR0hVSDZfMVgiLGZ1bGxzY3JlZW46ImZ1bGxzY3JlZW4tR0hVSDZfMVgiLGRhcmtlcjoiZGFya2VyLUdIVUg2XzFYIixiYWNrZHJvcDoiYmFja2Ryb3AtR0hVSDZfMVgifX0sMTQ1OTg1KHQpe3QuZXhwb3J0cz17YmxvY2tJY29uOiJibG9ja0ljb24tZ3ZPUVZpVjcifX0sNzk1NDY1KHQpe3QuZXhwb3J0cz17d3JhcDoid3JhcC1ZWnc4UlhlaSIsdWlNYXJrZXI6InVpTWFya2VyLVladzhSWGVpIixyZWQ6InJlZC1ZWnc4UlhlaSIsYmx1ZToiYmx1ZS1ZWnc4UlhlaSIsZ3JlZW46ImdyZWVuLVladzhSWGVpIixvcmFuZ2U6Im9yYW5nZS1ZWnc4UlhlaSIscHVycGxlOiJwdXJwbGUtWVp3OFJYZWkiLGN5YW46ImN5YW4tWVp3OFJYZWkiLHBpbms6InBpbmstWVp3OFJYZWkiLHVpTWFya2VyX19zbWFsbDoidWlNYXJrZXJfX3NtYWxsLVladzhSWGVpIn19LDE3NTg2Myh0KXt0LmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJ0b29sdGlwLW9mZnNldCI6IjIwcHgiLGRpYWxvZzoiZGlhbG9nLXF5Q3cwUGFOIixkcmFnZ2luZzoiZHJhZ2dpbmctcXlDdzBQYU4iLG1vYmlsZToibW9iaWxlLXF5Q3cwUGFOIixmdWxsc2NyZWVuOiJmdWxsc2NyZWVuLXF5Q3cwUGFOIixkaWFsb2dBbmltYXRlZEFwcGVhcmFuY2U6ImRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZS1xeUN3MFBhTiIsZGlhbG9nQW5pbWF0aW9uOiJkaWFsb2dBbmltYXRpb24tcXlDdzBQYU4iLGRpYWxvZ1Rvb2x0aXA6ImRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU4ifX0sOTIzNTEzKHQpe3QuZXhwb3J0cz17Y29udGFpbmVyOiJjb250YWluZXItekxWbTZCNHQiLGNvbnRlbnQ6ImNvbnRlbnQtekxWbTZCNHQiLGFycm93SG9sZGVyOiJhcnJvd0hvbGRlci16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWxvdyI6ImFycm93SG9sZGVyLS1iZWxvdy16TFZtNkI0dCIsImFycm93SG9sZGVyLS1hYm92ZSI6ImFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dCIsImFycm93SG9sZGVyLS1iZWZvcmUiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFmdGVyIjoiYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0IiwiYXJyb3dIb2xkZXItLWFib3ZlLWZpeCI6ImFycm93SG9sZGVyLS1hYm92ZS1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgiOiJhcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQiLCJhcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeCI6ImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4LXpMVm02QjR0IixsYWJlbDoibGFiZWwtekxWbTZCNHQiLGNsb3NlQnV0dG9uOiJjbG9zZUJ1dHRvbi16TFZtNkI0dCJ9fSw0OTA4OTModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UG9wdXBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT1zKDc3OTQ3NCkuY3JlYXRlQ29udGV4dChudWxsKX0sOTkxMDY2KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0RpYWxvZzooKT0+ZH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoNjA3ODMyKSxyPXMoOTAzNDIpLGw9cygzNDUxMTYpLGg9cyg0NDg0MTEpLGM9cy5uKGgpO2NsYXNzIGQgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX21hbmFnZXI9bmV3IHIuT3ZlcmxhcE1hbmFnZXIsdGhpcy5faGFuZGxlU2xvdD10PT57dGhpcy5fbWFuYWdlci5zZXRDb250YWluZXIodCl9fXJlbmRlcigpe2NvbnN0e3JvdW5kZWQ6dD0hMCxzaGFkb3dlZDplPSEwLGZ1bGxzY3JlZW46cz0hMSxkYXJrZXI6bz0hMSxjbGFzc05hbWU6cixiYWNrZHJvcDpoLGNvbnRhaW5lclRhYkluZGV4OmQ9LTF9PXRoaXMucHJvcHMsdT1uKCkocixjKCkuZGlhbG9nLHQmJmMoKS5yb3VuZGVkLGUmJmMoKS5zaGFkb3dlZCxzJiZjKCkuZnVsbHNjcmVlbixvJiZjKCkuZGFya2VyKSxwPSgwLGwuZmlsdGVyRGF0YVByb3BzKSh0aGlzLnByb3BzKSxtPXRoaXMucHJvcHMuc3R5bGU/ey4uLnRoaXMuX2NyZWF0ZVN0eWxlcygpLC4uLnRoaXMucHJvcHMuc3R5bGV9OnRoaXMuX2NyZWF0ZVN0eWxlcygpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChhLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0aGlzLl9tYW5hZ2VyfSxoJiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse29uQ2xpY2s6dGhpcy5wcm9wcy5vbkNsaWNrQmFja2Ryb3AsY2xhc3NOYW1lOmMoKS5iYWNrZHJvcH0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Li4ucCxjbGFzc05hbWU6dSxzdHlsZTptLHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZSxvbkZvY3VzOnRoaXMucHJvcHMub25Gb2N1cyxvbk1vdXNlRG93bjp0aGlzLnByb3BzLm9uTW91c2VEb3duLG9uTW91c2VVcDp0aGlzLnByb3BzLm9uTW91c2VVcCxvbkNsaWNrOnRoaXMucHJvcHMub25DbGljayxvbktleURvd246dGhpcy5wcm9wcy5vbktleURvd24sdGFiSW5kZXg6ZCwiYXJpYS1sYWJlbCI6dGhpcy5wcm9wcy5jb250YWluZXJBcmlhTGFiZWx9LHRoaXMucHJvcHMuY2hpbGRyZW4pKSxpLmNyZWF0ZUVsZW1lbnQoYS5TbG90LHtyZWZlcmVuY2U6dGhpcy5faGFuZGxlU2xvdH0pKX1fY3JlYXRlU3R5bGVzKCl7Y29uc3R7Ym90dG9tOnQsbGVmdDplLHdpZHRoOnMscmlnaHQ6aSx0b3A6byx6SW5kZXg6bixoZWlnaHQ6YX09dGhpcy5wcm9wcztyZXR1cm57Ym90dG9tOnQsbGVmdDplLHJpZ2h0OmksdG9wOm8sekluZGV4Om4sbWF4V2lkdGg6cyxoZWlnaHQ6YX19fX0sMjE3Mjc0KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Jsb2NrSWNvbjooKT0+aH0pO3ZhciBpPXMoOTE0NDg3KSxvPXMubihpKSxuPXMoNzc5NDc0KSxhPXMoOTQ4NDUwKSxyPXMoMTQ1OTg1KSxsPXMubihyKQo7Y29uc3QgaD1uLmZvcndhcmRSZWYoKCh0LGUpPT57Y29uc3R7Y2xhc3NOYW1lOnMsaWNvbjppLGFyaWFMYWJlbDpyLGFyaWFMYWJlbGxlZGJ5OmgsdGl0bGU6YywuLi5kfT10LHU9ZDtyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShzLGwoKS5ibG9ja0ljb24pLHJlZjplLGljb246aSxhcmlhTGFiZWw6cixhcmlhTGFiZWxsZWRieTpoLHRpdGxlOmMsLi4udX0pfSkpfSw4MzE1MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLnIoZSkscy5kKGUse01hcmtlZFN5bWJvbHNMaXN0U2VydmljZTooKT0+ZCxnZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxvPXMoMTg1MjcxKSxuPXMoNzEyMTM0KSxhPXMoNTAwNTE0KSxyPXMoMjM0OTY0KSxsPXMoMjQzNjMxKSxoPXMoNzcwNzU1KSxjPXMoMzEzMzAwKTtjbGFzcyBke2dldFN5bWJvbHNCeUNvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xzQnlDb2xvcih0KX1zZXRTeW1ib2xzQ29sb3IodCxlKXswIT09dC5sZW5ndGgmJnRoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLnNldFN5bWJvbHNDb2xvcih0LGUpfSkpfWdldFN5bWJvbENvbG9yKHQpe3JldHVybiB0aGlzLl9tb2RlbC5nZXRTeW1ib2xDb2xvcih0KX1tYXJrTWFueSh0KXt0aGlzLl9ydW5XaXRoU3luYygoKCk9Pnt0aGlzLl9tb2RlbC5tYXJrTWFueSh0KX0pKX1jbGVhckFsbFN5bWJvbHNDb2xvcigpe3RoaXMuX3J1bldpdGhTeW5jKCgoKT0+e3RoaXMuX21vZGVsLmNsZWFyQWxsU3ltYm9sc0NvbG9yKCl9KSl9YWRqdXN0U3ltYm9sc0NvbG9ycyh0KXtjb25zdCBlPW5ldyBsLkNvbG9yTWFuYWdlcih7Y29udGV4dDpsLkNvbG9yQ29udGV4dC5TeW1ib2xNYXJrZXJ9KSxzPSF0Lm1hcCgodD0+dGhpcy5nZXRTeW1ib2xDb2xvcih0KSkpLmluY2x1ZGVzKG51bGwpO3RoaXMuc2V0U3ltYm9sc0NvbG9yKHQscz9udWxsOmUuZ2V0Q29sb3IoKSl9b25TeW1ib2xDaGFuZ2UodCxlKXtjb25zdCBzPXRoaXMuX3N5bWJvbENoYW5nZUhhbmRsZXJzLmdldCh0KTtzP3MucHVzaChlKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxbZV0pfW9mZlN5bWJvbENoYW5nZSh0LGUpe2NvbnN0IHM9dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnMuZ2V0KHQpO2lmKHMpe2NvbnN0IGk9cy5maWx0ZXIoKHQ9PnQhPT1lKSk7aS5sZW5ndGg+MD90aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5zZXQodCxpKTp0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5kZWxldGUodCl9fW9uTGlzdENoYW5nZSh0KXt0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMucHVzaCh0KX1vZmZMaXN0Q2hhbmdlKHQpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycz10aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfW9uSW5pdCh0KXt0aGlzLl9pbml0SGFuZGxlcnMucHVzaCh0KX1vZmZJbml0KHQpe3RoaXMuX2luaXRIYW5kbGVycz10aGlzLl9pbml0SGFuZGxlcnMuZmlsdGVyKChlPT5lIT09dCkpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5kZXN0cm95KCksdGhpcy5fdW5zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl9aXNJbml0ZWQoKXtyZXR1cm4gdGhpcy5faW5pdGVkfV9zdWJzY3JpYmVMb2dpblN0YXRlQ2hhbmdlKCl7d2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3Vuc3Vic2NyaWJlTG9naW5TdGF0ZUNoYW5nZSgpe3dpbmRvdy5sb2dpblN0YXRlQ2hhbmdlJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSl9X3N5bmNTeW1ib2xzKCl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpe3RoaXMuX3N5bmM9dGhpcy5fbW9kZWwuc3luY1N5bWJvbHMoKTtjb25zdCB0PSgpPT57dGhpcy5fc3luYz1udWxsLHRoaXMuX2luaXRlZD0hMH07cmV0dXJuIHRoaXMuX3N5bmMudGhlbih0KS5jYXRjaCh0KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9Y29uc3RydWN0b3IodCl7dGhpcy5fc3ltYm9sQ2hhbmdlSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9saXN0Q2hhbmdlSGFuZGxlcnM9W10sdGhpcy5faW5pdEhhbmRsZXJzPVtdLHRoaXMuX3N5bmM9bnVsbCx0aGlzLl9pbml0ZWQ9ITEsdGhpcy5faGFuZGxlQ2hhbmdlPSh0LGUpPT57aWYodC5saXN0cyE9PWUubGlzdHMpe3RoaXMuX2xpc3RDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChzPT57dHJ5e3ModCxlKX1jYXRjaHt9fSkpO2Zvcihjb25zdFtzLGldb2YgQXJyYXkuZnJvbSh0aGlzLl9zeW1ib2xDaGFuZ2VIYW5kbGVycy5lbnRyaWVzKCkpKXtjb25zdCBvPSgwLG4uZ2V0U3ltYm9sQ29sb3IpKHQscyksYT0oMCxuLmdldFN5bWJvbENvbG9yKShlLHMpO28hPT1hJiZpLmZvckVhY2goKHQ9Pnt0cnl7dChvLGEpfWNhdGNoe319KSl9fX0sdGhpcy5fb25Mb2dpblN0YXRlQ2hhbmdlPSgpPT57bGV0IHQ7dGhpcy5fbW9kZWwuY2xvc2VDb25uZWN0aW9uKCksd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/KHRoaXMuX21vZGVsLmNvbm5lY3QoKSx0PXRoaXMuX3N5bmNTeW1ib2xzKCkpOih0aGlzLl9tb2RlbC5hbm9ueW1pemUoKSx0aGlzLl9pbml0ZWQ9ITEsdD1Qcm9taXNlLnJlc29sdmUoKSksdC50aGVuKHRoaXMuX2ZpcmVJbml0KX0sdGhpcy5fZmlyZUluaXQ9KCk9Pnt0aGlzLl9pbml0SGFuZGxlcnMuZm9yRWFjaCgodD0+dCgpKSl9LHRoaXMuX3J1bldpdGhTeW5jPXQ9Pnt0aGlzLl9zeW5jP3RoaXMuX3N5bmMudGhlbih0KTp0KCl9LHRoaXMuX2hhbmRsZVJlc3RyaWN0ZWRDb2xvcj0oKT0+eygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJmbGFnZ2VkU3ltYm9scyJ9KX0sdGhpcy5faGFuZGxlTGltaXQ9KCk9PnsoMCxjLmdldFdhdGNobGlzdFN5bWJvbHNMaW1pdCkoKTxjLk1BWF9XQVRDSExJU1RfTEVOR1RIPygwLGgub3BlblBheXdhbGwpKHtmZWF0dXJlOiJ3YXRjaGxpc3RTeW1ib2xzIn0pOigwLHIuc2hvd1dhcm5pbmcpKHsKdGl0bGU6by50KG51bGwsdm9pZCAwLHMoODQxNzk5KSksdGV4dDpvLnQobnVsbCx7cmVwbGFjZTp7bGltaXQ6U3RyaW5nKGMuTUFYX1dBVENITElTVF9MRU5HVEgpfX0scyg4NjA3MjIpKX0sbnVsbCl9LHRoaXMuX21vZGVsPW5ldyBhLk1hcmtlZFN5bWJvbHNMaXN0TW9kZWwoe2FwaTp0P3QuYXBpOnZvaWQgMCxxdW90ZVNlc3Npb246dD90LnF1b3RlU2Vzc2lvbjp2b2lkIDAsb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2hhbmdlLGxpbWl0OnQ/LmxpbWl0LG9uTGltaXQ6dGhpcy5faGFuZGxlTGltaXQsb25SZXN0cmljdGVkQ29sb3I6dGhpcy5faGFuZGxlUmVzdHJpY3RlZENvbG9yLGNvbG9yczp0Py5jb2xvcnMsZXZlbnQ6Im1hcmtlZC1zeW1ib2xzIn0pLHRoaXMuX3N1YnNjcmliZUxvZ2luU3RhdGVDaGFuZ2UoKSx0aGlzLl9zeW5jU3ltYm9scygpLnRoZW4odGhpcy5fZmlyZUluaXQpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgZCkpfSw4Mjk3NjModCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7VWlNYXJrZXI6KCk9Pmh9KTt2YXIgaT1zKDcxMjEzNCksbz1zKDM2MzI2OSksbj1zKDkxNDQ4NyksYT1zLm4obikscj1zKDg1MjUzMSksbD1zKDc5NTQ2NSk7Y2xhc3MgaHtzZXRDb2xvcih0KXt0aGlzLnJlbW92ZUNvbG9yKCksdGhpcy5hZGRDbGFzcyhsW3RdKX1yZW1vdmVDb2xvcigpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZShsW2kuTGlzdENvbG9yLlJlZF0sbFtpLkxpc3RDb2xvci5PcmFuZ2VdLGxbaS5MaXN0Q29sb3IuUHVycGxlXSxsW2kuTGlzdENvbG9yLkdyZWVuXSxsW2kuTGlzdENvbG9yLkJsdWVdLGxbaS5MaXN0Q29sb3IuQ3lhbl0sbFtpLkxpc3RDb2xvci5QaW5rXSl9YWRkQ2xhc3ModCl7dGhpcy5fZWxlbS5jbGFzc0xpc3QuYWRkKHQpfXJlbW92ZUNsYXNzKHQpe3RoaXMuX2VsZW0uY2xhc3NMaXN0LnJlbW92ZSh0KX1nZXRFbGVtKCl7cmV0dXJuIHRoaXMuX2VsZW19YXBwZW5kVG8odCl7dGhpcy5kZXRhY2goKSx0aGlzLl9jb250YWluZXI9dCx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbSksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX1kZXRhY2goKXt0aGlzLl9yZW1vdmVFdmVudExpc3RlbmVycygpLHRoaXMuX2NvbnRhaW5lciYmKHRoaXMuX2NvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLl9lbGVtKSxkZWxldGUgdGhpcy5fY29udGFpbmVyKX1fcmVuZGVyKHQpe2NvbnN0IGU9YSgpKGwudWlNYXJrZXIse1t0LmNsYXNzTmFtZV06Qm9vbGVhbih0LmNsYXNzTmFtZSksW2xbdC5jb2xvcl1dOkJvb2xlYW4odC5jb2xvcil9KSxzPXQuc3BlY2lhbEltYWdlfHxyLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuY2xhc3NOYW1lPWUsaS5pbm5lckhUTUw9cyx0aGlzLl9jb250YWluZXImJnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKSxpfV9hZGRFdmVudExpc3RlbmVycygpe2lmKHRoaXMuX29wdHMub25DbGljayl7Y29uc3QgdD1vLm1vYmlsZXRvdWNoPyJ0b3VjaHN0YXJ0IjoiY2xpY2siO3RoaXMuX2VsZW0uYWRkRXZlbnRMaXN0ZW5lcih0LHRoaXMuX29uQ2xpY2spfXRoaXMuX29wdHMub25EYmxDbGljayYmdGhpcy5fZWxlbS5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25EYmxDbGljayl9X3JlbW92ZUV2ZW50TGlzdGVuZXJzKCl7aWYodGhpcy5fb3B0cy5vbkNsaWNrKXtjb25zdCB0PW8ubW9iaWxldG91Y2g/InRvdWNoc3RhcnQiOiJjbGljayI7dGhpcy5fZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKHQsdGhpcy5fb25DbGljayl9dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9lbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRibGNsaWNrIix0aGlzLl9vbkRibENsaWNrKX1jb25zdHJ1Y3Rvcih0KXt0aGlzLl9vbkNsaWNrPXQ9Pnt0aGlzLl9vcHRzLm9uQ2xpY2smJnRoaXMuX29wdHMub25DbGljayh0KX0sdGhpcy5fb25EYmxDbGljaz10PT57dGhpcy5fb3B0cy5vbkRibENsaWNrJiZ0aGlzLl9vcHRzLm9uRGJsQ2xpY2sodCl9LHRoaXMuX2NvbnRhaW5lcj10LmNvbnRhaW5lcix0aGlzLl9vcHRzPXQsdGhpcy5fZWxlbT10aGlzLl9yZW5kZXIodCksdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoKX19fSw0NDM4MjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7Z2V0Q29sb3JlZExpc3RUaXRsZTooKT0+bixnZXRTb3J0QnlDb2xvckNvbXBhcmF0b3I6KCk9PnIsbWFrZU1hcmtlZExpc3RGcm9tUmVjb3JkOigpPT5hfSk7dmFyIGk9cyg3MTIxMzQpLG89cyg3ODMyNTQpO2Z1bmN0aW9uIG4odCl7cmV0dXJue1tpLkxpc3RDb2xvci5SZWRdOm8udChudWxsLHZvaWQgMCxzKDE2NTUwMSkpLFtpLkxpc3RDb2xvci5HcmVlbl06by50KG51bGwsdm9pZCAwLHMoNDU5NDAyKSksW2kuTGlzdENvbG9yLk9yYW5nZV06by50KG51bGwsdm9pZCAwLHMoNTA2MzMwKSksW2kuTGlzdENvbG9yLlB1cnBsZV06by50KG51bGwsdm9pZCAwLHMoOTA3ODc0KSksW2kuTGlzdENvbG9yLkJsdWVdOm8udChudWxsLHZvaWQgMCxzKDU3MzgwNykpLFtpLkxpc3RDb2xvci5DeWFuXTpvLnQobnVsbCx2b2lkIDAscyg4MzkzOTApKSxbaS5MaXN0Q29sb3IuUGlua106by50KG51bGwsdm9pZCAwLHMoOTQxOTg2KSl9W3RdfWZ1bmN0aW9uIGEodCl7cmV0dXJue3R5cGU6ImNvbG9yZWQiLGlkOnQuY29sb3IsY29sb3I6dC5jb2xvcixzeW1ib2xzOnQuc3ltYm9scyxuYW1lOnQubmFtZXx8bih0LmNvbG9yKSxkZXNjcmlwdGlvbjp0LmRlc2NyaXB0aW9uLHNoYXJlZDp0LnNoYXJlZCxwZXJzaXN0ZWRTdGF0ZTp0LnBlcnNpc3RlZFN0YXRlfX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9LTE9PT10Py0xLzA6MS8wO3JldHVybihzLGkpPT57Y29uc3Qgbz1sKHMsZSksbj1sKGksZSk7cmV0dXJuIG89PT1uPzA6dCooby1uKX19ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBudWxsPT09dD9lOmkuTElTVF9DT0xPUlMuaW5kZXhPZih0KX19LDc0NTY1NCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtxdW90ZVNlc3Npb25BZGFwdGVyczooKT0+ZH0pCjt2YXIgaT1zKDEzODYzOCksbz1zKDE1OTUxMyksbj1zKDM0NDEwMyksYT1zKDEwMTcxMikscj1zKDQ5ODY1MSksbD1zKDQ3OTM0KSxoPXMoOTI5NDg4KTtjbGFzcyBje2NvbnN0cnVjdG9yKHQsZSxzPSJ3YXRjaGxpc3QiKXt0aGlzLl9zeW1ib2xEYXRhSGFuZGxlcnM9bmV3IE1hcCx0aGlzLl9mYXN0U3ltYm9scz1uZXcgU2V0LHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzPW5ldyBTZXQsdGhpcy5fc3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fY2FuY2VsU3Vic2NyaXB0aW9uU2V0PW5ldyBTZXQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXI9dD0+e2NvbnN0IGU9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LnN5bWJvbG5hbWUpLHtmaWx0ZXJlZDpzLGtlZXBTdWJzY3JpcHRpb246b309dGhpcy5fYXBwbHlEYXRhRmlsdGVycyh0KTtvfHx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoW2VdKSx0aGlzLl9zZXRTeW1ib2xEYXRhQ2FjaGUoZSxzKTtjb25zdCBuPXRoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5nZXQoZSk7biYmbihzKX0sdGhpcy5fY2xpZW50SWQ9dCx0aGlzLl9xdW90ZVNlc3Npb249KDAsby5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkocyksdGhpcy5fbGFzdFN5bWJvbERhdGE9ZXx8bmV3IE1hcH1kZXN0cm95KCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuX3N1YnNjcmliZWRTeW1ib2xzKTt0aGlzLl91bnN1YnNjcmliZVN5bWJvbHModCl9YWRkRmFzdFN5bWJvbCh0KXt0aGlzLl9mYXN0U3ltYm9scy5oYXModCl8fCF0aGlzLl9zdWJzY3JpYmVkU3ltYm9scy5oYXModCl8fCgwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8KHRoaXMuX2Zhc3RTeW1ib2xzLmFkZCh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1yZW1vdmVGYXN0U3ltYm9sKHQpe3RoaXMuX2Zhc3RTeW1ib2xzLmhhcyh0KSYmKHRoaXMuX2Zhc3RTeW1ib2xzLmRlbGV0ZSh0KSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpKX1hZGRTeW1ib2xEYXRhSGFuZGxlcih0LGUpeygwLGguaXNTZXBhcmF0b3JJdGVtKSh0KXx8dGhpcy5fc3ltYm9sRGF0YUhhbmRsZXJzLnNldCh0LGUpfXJlbW92ZVN5bWJvbERhdGFIYW5kbGVyKHQpe3RoaXMuX3N5bWJvbERhdGFIYW5kbGVycy5kZWxldGUodCl9YWRkVG9TdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9zdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNsZWFyU3Vic2NyaXB0aW9uU2V0KCl7dGhpcy5fc3Vic2NyaXB0aW9uU2V0LmNsZWFyKCl9YWRkVG9DYW5jZWxTdWJzY3JpcHRpb25TZXQodCl7dC5mb3JFYWNoKCh0PT57KDAsaC5pc1NlcGFyYXRvckl0ZW0pKHQpfHx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuYWRkKHQpfSkpfWNvbW1pdFN1YnNjcmlwdGlvbkNoYW5nZXMoKXtBcnJheS5mcm9tKHRoaXMuX3N1YnNjcmlwdGlvblNldCkuZm9yRWFjaCgodD0+e3RoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5oYXModCkmJih0aGlzLl9zdWJzY3JpcHRpb25TZXQuZGVsZXRlKHQpLHRoaXMuX2NhbmNlbFN1YnNjcmlwdGlvblNldC5kZWxldGUodCkpfSkpLHRoaXMuX3N1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9zdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9zdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl91bnN1YnNjcmliZVN5bWJvbHMoQXJyYXkuZnJvbSh0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQpKSx0aGlzLl9jYW5jZWxTdWJzY3JpcHRpb25TZXQuY2xlYXIoKSx0aGlzLl9xdW90ZVNlc3Npb24uc2V0RmFzdFN5bWJvbHModGhpcy5fY2xpZW50SWQsQXJyYXkuZnJvbSh0aGlzLl9mYXN0U3ltYm9scykpfWdldExhc3RTeW1ib2xEYXRhKHQpe3JldHVybiB0aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCl9X3N1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9jbGllbnRJZCx0LHRoaXMuX3F1b3RlU2Vzc2lvbkRhdGFIYW5kbGVyKSx0LmZvckVhY2goKHQ9PnRoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmFkZCh0KSkpfV91bnN1YnNjcmliZVN5bWJvbHModCl7dGhpcy5fcXVvdGVTZXNzaW9uLnVuc3Vic2NyaWJlKHRoaXMuX2NsaWVudElkLHQsdGhpcy5fcXVvdGVTZXNzaW9uRGF0YUhhbmRsZXIpLHQuZm9yRWFjaCgodD0+e3RoaXMuX3N1YnNjcmliZWRTeW1ib2xzLmRlbGV0ZSh0KX0pKX1fc2V0U3ltYm9sRGF0YUNhY2hlKHQsZSl7Y29uc3Qgcz10aGlzLl9sYXN0U3ltYm9sRGF0YS5nZXQodCk/LnZhbHVlc3x8e307dGhpcy5fbGFzdFN5bWJvbERhdGEuc2V0KHQsey4uLmUsdmFsdWVzOnsuLi5zLC4uLmUudmFsdWVzfX0pfV9hcHBseURhdGFGaWx0ZXJzKHQpe3tjb25zdCBlPSgpPT4oMCxsLmVuYWJsZWQpKCJJRENfQVZBSUxBQkxFX0RFTEFZIikscz10PT4oey4uLnQsc3RhdHVzOiJzZl9kYXRhIix2YWx1ZXM6e319KTtpZigodD0+KDAsYS5pc1NmUXVvdGVEYXRhKSh0KXx8KDAsci5pc0lEQ0V4Y2hhbmdlKSgoMCxuLmdldEV4Y2hhbmdlKSgoMCxpLmVuc3VyZURlZmluZWQpKHQuc3ltYm9sbmFtZSkpLCEwKSkodCkmJiFlKCkpcmV0dXJue2ZpbHRlcmVkOnModCksa2VlcFN1YnNjcmlwdGlvbjohMX19cmV0dXJue2ZpbHRlcmVkOnQsa2VlcFN1YnNjcmlwdGlvbjohMH19fWNvbnN0IGQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fYWRhcHRlcnNNYXA9bmV3IE1hcCx0aGlzLl9sYXN0U3ltYm9sRGF0YT1uZXcgTWFwfWRlc3Ryb3koKXt0aGlzLl9hZGFwdGVyc01hcC5mb3JFYWNoKCh0PT57dC5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpfSkpLHRoaXMuX2xhc3RTeW1ib2xEYXRhLmNsZWFyKCl9Z2V0KHQsZT0id2F0Y2hsaXN0Iil7bGV0IHM7Y29uc3QgaT10aGlzLl9hZGFwdGVyc01hcC5nZXQodCk7aWYoaSl7Y29uc3Qgbz1pLmdldChlKTtvP3M9bzoocz1uZXcgYyh0LHRoaXMuX2xhc3RTeW1ib2xEYXRhLGUpLGkuc2V0KGUscykpfWVsc2V7CnM9bmV3IGModCx0aGlzLl9sYXN0U3ltYm9sRGF0YSxlKTtjb25zdCBpPW5ldyBNYXA7aS5zZXQoZSxzKSx0aGlzLl9hZGFwdGVyc01hcC5zZXQodCxpKX1yZXR1cm4gc319fSw5OTU2ODIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7RHJhZ0hhbmRsZXI6KCk9Pm99KTt2YXIgaT1zKDUzMTkyOCk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcih0LGUscz17Ym91bmRCeVNjcmVlbjohMH0pe3RoaXMuX2RyYWc9bnVsbCx0aGlzLl9jYW5CZVRvdWNoQ2xpY2s9ITEsdGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0PXQ9PntpZigwIT09dC5idXR0b258fHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3QucHJldmVudERlZmF1bHQoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX29uTW91c2VEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fb25Nb3VzZURyYWdFbmQpO2NvbnN0IGU9KDAsaS5jbGFtcFBvc2l0aW9uKSgoMCxpLnBvc2l0aW9uRnJvbU1vdXNlRXZlbnQpKHQpKTt0aGlzLl9kcmFnU3RhcnQoZSl9LHRoaXMuX29uVG91Y2hEcmFnU3RhcnQ9dD0+e2lmKHRoaXMuX2lzVGFyZ2V0Tm9EcmFnZ2FibGUodCkpcmV0dXJuO3RoaXMuX2NhbkJlVG91Y2hDbGljaz0hMCx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlLHtwYXNzaXZlOiExfSk7Y29uc3QgZT0oMCxpLmNsYW1wUG9zaXRpb24pKCgwLGkucG9zaXRpb25Gcm9tVG91Y2hFdmVudCkodCkpO3RoaXMuX2RyYWdTdGFydChlKX0sdGhpcy5fb25Nb3VzZURyYWdFbmQ9dD0+e3QudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSYmdGhpcy5faGVhZGVyLmNvbnRhaW5zKHQudGFyZ2V0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZURyYWdNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9vbk1vdXNlRHJhZ0VuZCksdGhpcy5fb25EcmFnU3RvcCgpfSx0aGlzLl9vblRvdWNoRHJhZ0VuZD10PT57dGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaERyYWdNb3ZlKSx0aGlzLl9vbkRyYWdTdG9wKCksdGhpcy5fY2FuQmVUb3VjaENsaWNrJiYodGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLCgwLGkuc2ltdWxhdGVDbGljaykodC50YXJnZXQpKX0sdGhpcy5fb25Nb3VzZURyYWdNb3ZlPXQ9Pntjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Nb3VzZUV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uVG91Y2hEcmFnTW92ZT10PT57dGhpcy5fY2FuQmVUb3VjaENsaWNrPSExLHQucHJldmVudERlZmF1bHQoKTtjb25zdCBlPSgwLGkuY2xhbXBQb3NpdGlvbikoKDAsaS5wb3NpdGlvbkZyb21Ub3VjaEV2ZW50KSh0KSk7dGhpcy5fZHJhZ01vdmUoZSl9LHRoaXMuX29uRHJhZ1N0b3A9KCk9Pnt0aGlzLl9kcmFnPW51bGwsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdFbmQmJnRoaXMuX29wdGlvbnMub25EcmFnRW5kKCl9LHRoaXMuX2RpYWxvZz10LHRoaXMuX2hlYWRlcj1lLHRoaXMuX29wdGlvbnM9cyx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRHJhZ1N0YXJ0KSx0aGlzLl9oZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCl9ZGVzdHJveSgpe251bGwhPT10aGlzLl9mcmFtZSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fZnJhbWUpLHRoaXMuX2hlYWRlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEcmFnU3RhcnQpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuX29uTW91c2VEcmFnRW5kKSx0aGlzLl9oZWFkZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fb25Ub3VjaERyYWdTdGFydCksdGhpcy5faGVhZGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRHJhZ0VuZCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fb25Nb3VzZURyYWdFbmQpfXVwZGF0ZU9wdGlvbnModCl7dGhpcy5fb3B0aW9ucz10fV9kcmFnU3RhcnQodCl7Y29uc3QgZT10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5fZHJhZz17c3RhcnRYOnQueCxzdGFydFk6dC55LGZpbmlzaFg6dC54LGZpbmlzaFk6dC55LGRpYWxvZ1g6ZS5sZWZ0LGRpYWxvZ1k6ZS50b3B9O2NvbnN0IHM9TWF0aC5yb3VuZChlLmxlZnQpLGk9TWF0aC5yb3VuZChlLnRvcCk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7c31weCwgJHtpfXB4KWAsdGhpcy5faGVhZGVyLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCYmdGhpcy5fb3B0aW9ucy5vbkRyYWdTdGFydCgpfV9kcmFnTW92ZSh0KXtpZih0aGlzLl9kcmFnKXtpZih0aGlzLl9kcmFnLmZpbmlzaFg9dC54LHRoaXMuX2RyYWcuZmluaXNoWT10LnksbnVsbCE9PXRoaXMuX2ZyYW1lKXJldHVybjt0aGlzLl9mcmFtZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57aWYodGhpcy5fZHJhZyl7Y29uc3QgZT10LngtdGhpcy5fZHJhZy5zdGFydFgscz10LnktdGhpcy5fZHJhZy5zdGFydFk7dGhpcy5fbW92ZURpYWxvZyh0aGlzLl9kcmFnLmRpYWxvZ1grZSx0aGlzLl9kcmFnLmRpYWxvZ1krcyl9dGhpcy5fZnJhbWU9bnVsbH0pKX19X21vdmVEaWFsb2codCxlKXsKY29uc3Qgcz10aGlzLl9kaWFsb2cuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse2JvdW5kQnlTY3JlZW46b309dGhpcy5fb3B0aW9ucyxuPSgwLGkuY2xhbXBTZWdtZW50KSh0LHMud2lkdGgsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJXaWR0aDoxLzApLGE9KDAsaS5jbGFtcFNlZ21lbnQpKGUscy5oZWlnaHQsbz8wOi0xLzAsbz93aW5kb3cuaW5uZXJIZWlnaHQ6MS8wKTt0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHtNYXRoLnJvdW5kKG4pfXB4LCAke01hdGgucm91bmQoYSl9cHgpYH1faXNUYXJnZXROb0RyYWdnYWJsZSh0KXtyZXR1cm4gdC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50JiZudWxsIT09dC50YXJnZXQuY2xvc2VzdCgiW2RhdGEtZGlzYWJsZS1kcmFnXSIpfX19LDU4NTgyMSh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtQb3B1cERpYWxvZzooKT0+TH0pO3ZhciBpPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxuPXMubihvKSxhPXMoMTM4NjM4KSxyPXMoOTkxMDY2KSxsPXMoNzE4NTUzKSxoPXMoOTMwMjMxKSxjPXMoNjU5ODc4KSxkPXMoOTk1NjgyKSx1PXMoNTMxOTI4KTtjb25zdCBwPXt2ZXJ0aWNhbDowfTtjbGFzcyBte2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZnJhbWU9bnVsbCx0aGlzLl9pc0Z1bGxzY3JlZW49ITEsdGhpcy5faGFuZGxlUmVzaXplPSgpPT57bnVsbD09PXRoaXMuX2ZyYW1lJiYodGhpcy5fZnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMucmVjYWxjdWxhdGVCb3VuZHMoKSx0aGlzLl9mcmFtZT1udWxsfSkpKX0sdGhpcy5fZGlhbG9nPXQsdGhpcy5fZ3VhcmQ9ZS5ndWFyZHx8cCx0aGlzLl9jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbj1lLmNhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uLHRoaXMuX2luaXRpYWxIZWlnaHQ9dC5zdHlsZS5oZWlnaHQsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5faGFuZGxlUmVzaXplKX11cGRhdGVPcHRpb25zKHQpe3RoaXMuX2d1YXJkPXQuZ3VhcmR8fHAsdGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb249dC5jYWxjdWxhdGVEaWFsb2dQb3NpdGlvbn1zZXRGdWxsc2NyZWVuKHQpe3RoaXMuX2lzRnVsbHNjcmVlbiE9PXQmJih0aGlzLl9pc0Z1bGxzY3JlZW49dCx0aGlzLnJlY2FsY3VsYXRlQm91bmRzKCkpfWNlbnRlckFuZEZpdCgpe2NvbnN0e3g6dCx5OmV9PXRoaXMuZ2V0RGlhbG9nc1RvcExlZnRDb29yZGluYXRlcygpLHM9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpLGk9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpO2lmKHM9PT1pKWlmKHRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKXtjb25zdHtsZWZ0OnQsdG9wOmV9PXRoaXMuX2NhbGN1bGF0ZURpYWxvZ1Bvc2l0aW9uKHRoaXMuX2RpYWxvZyxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fZ3VhcmQpO3RoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQodCl9cHgsICR7TWF0aC5yb3VuZChlKX1weClgfWVsc2UgdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD1pKyJweCI7dGhpcy5fZGlhbG9nLnN0eWxlLnRvcD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUubGVmdD0iMHB4Iix0aGlzLl9kaWFsb2cuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0fXB4LCAke2V9cHgpYH1nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCl7Y29uc3R7Y2xpZW50V2lkdGg6dCxjbGllbnRIZWlnaHQ6ZX09dGhpcy5fZ2V0Q2xpZW50RGltZW5zaW9ucygpLHM9dGhpcy5fY2FsY0RpYWxvZ0hlaWdodCgpLGk9dC8yLXRoaXMuX2RpYWxvZy5jbGllbnRXaWR0aC8yLG89ZS8yLXMvMit0aGlzLl9nZXRUb3BPZmZzZXQoKTtyZXR1cm57eDpNYXRoLnJvdW5kKGkpLHk6TWF0aC5yb3VuZChvKX19cmVjYWxjdWxhdGVCb3VuZHMoKXtjb25zdHtjbGllbnRXaWR0aDp0LGNsaWVudEhlaWdodDplfT10aGlzLl9nZXRDbGllbnREaW1lbnNpb25zKCkse3ZlcnRpY2FsOnN9PXRoaXMuX2d1YXJkLGk9dGhpcy5fY2FsY3VsYXRlRGlhbG9nUG9zaXRpb24/Lih0aGlzLl9kaWFsb2cse2NsaWVudFdpZHRoOnQsY2xpZW50SGVpZ2h0OmV9LHt2ZXJ0aWNhbDpzfSk7aWYodGhpcy5faXNGdWxsc2NyZWVuKXtpZih0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT0ibm9uZSIsaSl7Y29uc3R7bGVmdDp0LHRvcDplLHdpZHRoOnMsaGVpZ2h0Om99PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWAscyYmKHRoaXMuX2RpYWxvZy5zdHlsZS53aWR0aD1gJHtzfXB4YCx0aGlzLl9kaWFsb2cuc3R5bGUubWluV2lkdGg9InVuc2V0IiksbyYmKHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9YCR7b31weGAsdGhpcy5fZGlhbG9nLnN0eWxlLm1pbkhlaWdodD0idW5zZXQiKX19ZWxzZSBpZihpKXtjb25zdHtsZWZ0OnQsdG9wOmV9PWk7dGhpcy5fZGlhbG9nLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7TWF0aC5yb3VuZCh0KX1weCwgJHtNYXRoLnJvdW5kKGUpfXB4KWB9ZWxzZXt0aGlzLl9kaWFsb2cuc3R5bGUud2lkdGg9IiIsdGhpcy5fZGlhbG9nLnN0eWxlLmhlaWdodD0iIjtjb25zdCBpPXRoaXMuX2RpYWxvZy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUtMipzLG49KDAsdS5jbGFtcFNlZ21lbnQpKGkubGVmdCxpLndpZHRoLDAsdCksYT0oMCx1LmNsYW1wU2VnbWVudCkoaS50b3AsaS5oZWlnaHQscyxlKTt0aGlzLl9kaWFsb2cuc3R5bGUudG9wPSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS5sZWZ0PSIwcHgiLHRoaXMuX2RpYWxvZy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke01hdGgucm91bmQobil9cHgsICR7TWF0aC5yb3VuZChhKX1weClgLHRoaXMuX2RpYWxvZy5zdHlsZS5oZWlnaHQ9bzxpLmhlaWdodD9vKyJweCI6dGhpcy5faW5pdGlhbEhlaWdodH19CmRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9oYW5kbGVSZXNpemUpLG51bGwhPT10aGlzLl9mcmFtZSYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX2ZyYW1lKSx0aGlzLl9mcmFtZT1udWxsKX1fZ2V0Q2xpZW50RGltZW5zaW9ucygpe3JldHVybntjbGllbnRIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxjbGllbnRXaWR0aDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9fV9nZXRUb3BPZmZzZXQoKXtyZXR1cm4gMH1fY2FsY0RpYWxvZ0hlaWdodCgpe2NvbnN0IHQ9dGhpcy5fY2FsY0F2YWlsYWJsZUhlaWdodCgpO3JldHVybiB0PHRoaXMuX2RpYWxvZy5jbGllbnRIZWlnaHQ/dDp0aGlzLl9kaWFsb2cuY2xpZW50SGVpZ2h0fV9jYWxjQXZhaWxhYmxlSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2dldENsaWVudERpbWVuc2lvbnMoKS5jbGllbnRIZWlnaHQtMip0aGlzLl9ndWFyZC52ZXJ0aWNhbH19dmFyIF89cyg1ODU0OCksZz1zKDQ5MDg5MyksYj1zKDg3MjUxOCkseT1zKDMzMjY2MCksZj1zKDExNzMxMyksUz1zKDMzNzM2Mik7dmFyIHY9cyg2OTIyNjYpLEM9cygxNDc5MDEpLHc9cygxNzU4NjMpO2NvbnN0IEQ9d1sidG9vbHRpcC1vZmZzZXQiXSxFPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIik/Y2xhc3MgZXh0ZW5kcyBte2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLl9lbmFibGVkPSgwLGguaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVtYmVkX3Jlc2l6ZXJfb3ZlcnJpZGVzIil9X2dldENsaWVudERpbWVuc2lvbnMoKXtjb25zdCB0PXN1cGVyLl9nZXRDbGllbnREaW1lbnNpb25zKCk7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgZT1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7ZSYmKHQuY2xpZW50SGVpZ2h0PWUuaGVpZ2h0KX1yZXR1cm4gdH1fZ2V0VG9wT2Zmc2V0KCl7aWYodGhpcy5fZW5hYmxlZCl7Y29uc3QgdD1TLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5kYXRhKCk7aWYodClyZXR1cm4gdC50b3B9cmV0dXJuIHN1cGVyLl9nZXRUb3BPZmZzZXQoKX19Om07Y2xhc3MgeCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9jbGVhblVwRnVuY3Rpb25zPVtdLHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PW51bGwsdGhpcy5fZXZlbnREaXNwYXRjaGVyPW5ldyB5LkRpYWxvZ0V2ZW50RGlzcGF0Y2hlcix0aGlzLl9oYW5kbGVEaWFsb2dSZWY9dD0+e2NvbnN0e3JlZmVyZW5jZTplfT10aGlzLnByb3BzO3RoaXMuX2RpYWxvZz10LCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6bnVsbCE9ZSYmKGUuY3VycmVudD10KX0sdGhpcy5faGFuZGxlRm9jdXM9KCk9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlTW91c2VEb3duPXQ9Pnt0aGlzLl9tb3ZlVG9Ub3AoKX0sdGhpcy5faGFuZGxlVG91Y2hTdGFydD10PT57dGhpcy5fbW92ZVRvVG9wKCl9LHRoaXMuc3RhdGU9e2NhbkZpdFRvb2x0aXA6ITF9LHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChnLlBvcHVwQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dGhpc30saS5jcmVhdGVFbGVtZW50KGwuT3V0c2lkZUV2ZW50LHttb3VzZURvd246ITAsdG91Y2hTdGFydDohMCxoYW5kbGVyOnRoaXMucHJvcHMub25DbGlja091dHNpZGV9LCh0PT5pLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjp0LCJkYXRhLW91dHNpZGUtYm91bmRhcnktZm9yIjp0aGlzLnByb3BzLm5hbWUsb25Gb2N1czp0aGlzLl9oYW5kbGVGb2N1cyxvbk1vdXNlRG93bjp0aGlzLl9oYW5kbGVNb3VzZURvd24sb25Ub3VjaFN0YXJ0OnRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsImRhdGEtZGlhbG9nLW5hbWUiOnRoaXMucHJvcHNbImRhdGEtZGlhbG9nLW5hbWUiXSwiZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXMiOiJ0cnVlIiwiZGF0YS1xYS1pZCI6KDAsQy5kYXRhUWFJZHMpKCJ1aS1saWItUG9wdXBEaWFsb2ciLHRoaXMucHJvcHMuZGF0YVFhSWQpfSxpLmNyZWF0ZUVsZW1lbnQoci5EaWFsb2cse3N0eWxlOnRoaXMuX2FwcGx5QW5pbWF0aW9uQ1NTVmFyaWFibGVzKCksLi4udGhpcy5wcm9wcyxyZWZlcmVuY2U6dGhpcy5faGFuZGxlRGlhbG9nUmVmLGNsYXNzTmFtZTpuKCkody5kaWFsb2csKDAsZi5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiYhdGhpcy5wcm9wcy5ub01vYmlsZUFwcFNoYWRvd3MmJncubW9iaWxlLHRoaXMucHJvcHMuZnVsbHNjcmVlbiYmdy5mdWxsc2NyZWVuLHRoaXMucHJvcHMuY2xhc3NOYW1lKX0sdGhpcy5wcm9wcy5kaWFsb2dUb29sdGlwJiZ0aGlzLnN0YXRlLmNhbkZpdFRvb2x0aXAmJmkuY3JlYXRlRWxlbWVudCh2LlRvb2x0aXBXaWRnZXQse2NsYXNzTmFtZTp3LmRpYWxvZ1Rvb2x0aXB9LHRoaXMucHJvcHMuZGlhbG9nVG9vbHRpcCksdGhpcy5wcm9wcy5jaGlsZHJlbikpKSkpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZHJhZ2dhYmxlOnQsYm91bmRCeVNjcmVlbjplLG9uRHJhZ1N0YXJ0OnN9PXRoaXMucHJvcHMsaT0oMCxhLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RpYWxvZyk7aWYodGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctb3BlbiIpLHQpe2NvbnN0IHQ9aS5xdWVyeVNlbGVjdG9yKCJbZGF0YS1kcmFnZy1hcmVhXSIpO2lmKHQmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7Y29uc3Qgbz1uZXcgZC5EcmFnSGFuZGxlcihpLHQse2JvdW5kQnlTY3JlZW46Qm9vbGVhbihlKSxvbkRyYWdTdGFydDpzfSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+by5kZXN0cm95KCkpKSx0aGlzLl9kcmFnPW99fXRoaXMucHJvcHMuYXV0b2ZvY3VzJiYhaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmaS5mb2N1cygpLAoodGhpcy5faXNGdWxsU2NyZWVuKCl8fHRoaXMucHJvcHMuZml4ZWRCb2R5KSYmKDAsYi5zZXRGaXhlZEJvZHlTdGF0ZSkoITApO2NvbnN0e2d1YXJkOm8sY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246bn09dGhpcy5wcm9wcztpZih0aGlzLnByb3BzLnJlc2l6ZUhhbmRsZXIpdGhpcy5fcmVzaXplPXRoaXMucHJvcHMucmVzaXplSGFuZGxlcjtlbHNle2NvbnN0IHQ9bmV3IEUoaSx7Z3VhcmQ6byxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjpufSk7dGhpcy5fY2xlYW5VcEZ1bmN0aW9ucy5wdXNoKCgoKT0+dC5kZXN0cm95KCkpKSx0aGlzLl9yZXNpemU9dH1pZih0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpLHRoaXMucHJvcHMuaXNBbmltYXRpb25FbmFibGVkJiZ0aGlzLnByb3BzLmdyb3dQb2ludCYmdGhpcy5fYXBwbHlBcHBlYXJhbmNlQW5pbWF0aW9uKHRoaXMucHJvcHMuZ3Jvd1BvaW50KSx0aGlzLnByb3BzLmNlbnRlcmVkT25Nb3VudCYmdGhpcy5fcmVzaXplLmNlbnRlckFuZEZpdCgpLHRoaXMuX3Jlc2l6ZS5zZXRGdWxsc2NyZWVuKHRoaXMuX2lzRnVsbFNjcmVlbigpKSx0aGlzLnByb3BzLmRpYWxvZ1Rvb2x0aXAmJnRoaXMuX2hhbmRsZVRvb2x0aXBGaXQoKSx0aGlzLnByb3BzLnNob3VsZEZvcmNlRm9jdXMpe2lmKHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKXJldHVybiB2b2lkIHRoaXMucHJvcHMub25Gb3JjZUZvY3VzKGkpO2kuZm9jdXMoKX1pZighaS5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7Y29uc3QgdD0oMCx1LmZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudCkoaSk7dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0LmZvY3VzKCl9fWNvbXBvbmVudERpZFVwZGF0ZSh0KXtjb25zdCBlPXQuZnVsbHNjcmVlbjtpZih0aGlzLl9yZXNpemUpe2NvbnN0e2d1YXJkOnQsY2FsY3VsYXRlRGlhbG9nUG9zaXRpb246ZX09dGhpcy5wcm9wczt0aGlzLl9yZXNpemUudXBkYXRlT3B0aW9ucyh7Z3VhcmQ6dCxjYWxjdWxhdGVEaWFsb2dQb3NpdGlvbjplfSksdGhpcy5fcmVzaXplLnNldEZ1bGxzY3JlZW4odGhpcy5faXNGdWxsU2NyZWVuKCkpfWlmKHRoaXMuX2RyYWcmJnRoaXMuX2RyYWcudXBkYXRlT3B0aW9ucyh7Ym91bmRCeVNjcmVlbjpCb29sZWFuKHRoaXMucHJvcHMuYm91bmRCeVNjcmVlbiksb25EcmFnU3RhcnQ6dGhpcy5wcm9wcy5vbkRyYWdTdGFydH0pLHQuZnVsbHNjcmVlbiE9PXRoaXMucHJvcHMuZnVsbHNjcmVlbil7Y29uc3QgdD10aGlzLnByb3BzLmZ1bGxzY3JlZW47dCYmIWU/dGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vbiIpOiF0JiZlJiZ0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1mdWxsc2NyZWVuLW9mZiIpfX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKHRoaXMucHJvcHMuc2hvdWxkUmV0dXJuRm9jdXMmJnRoaXMuX3ByZXZBY3RpdmVFbGVtZW50JiZkb2N1bWVudC5ib2R5LmNvbnRhaW5zKHRoaXMuX3ByZXZBY3RpdmVFbGVtZW50KSYmKG51bGw9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keXx8dGhpcy5fZGlhbG9nPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkpdHJ5e3NldFRpbWVvdXQoKCgpPT57dGhpcy5fcHJldkFjdGl2ZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX0pKX1jYXRjaHt9Zm9yKGNvbnN0IHQgb2YgdGhpcy5fY2xlYW5VcEZ1bmN0aW9ucyl0KCk7KHRoaXMuX2lzRnVsbFNjcmVlbigpfHx0aGlzLnByb3BzLmZpeGVkQm9keSkmJigwLGIuc2V0Rml4ZWRCb2R5U3RhdGUpKCExKSx0aGlzLl9pc0Z1bGxTY3JlZW4oKSYmdGhpcy5fZXZlbnREaXNwYXRjaGVyLmRpc3BhdGNoKCJkaWFsb2ctZnVsbHNjcmVlbi1vZmYiKSx0aGlzLl9ldmVudERpc3BhdGNoZXIuZGlzcGF0Y2goImRpYWxvZy1jbG9zZSIpfWZvY3VzKCl7dGhpcy5fZGlhbG9nJiZ0aGlzLl9kaWFsb2cuZm9jdXMoKX1jZW50ZXJBbmRGaXQoKXt0aGlzLl9yZXNpemUmJnRoaXMuX3Jlc2l6ZS5jZW50ZXJBbmRGaXQoKX1yZWNhbGN1bGF0ZUJvdW5kcygpe3RoaXMuX3Jlc2l6ZSYmdGhpcy5fcmVzaXplLnJlY2FsY3VsYXRlQm91bmRzKCl9X21vdmVUb1RvcCgpe3RoaXMucHJvcHMuaXNaSW5kZXhGaXhlZHx8bnVsbCE9PXRoaXMuY29udGV4dCYmdGhpcy5jb250ZXh0Lm1vdmVUb1RvcCgpfV9hcHBseUFuaW1hdGlvbkNTU1ZhcmlhYmxlcygpe3JldHVybnsiLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRZIjpudWxsLCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFgiOm51bGwsIi0tYW5pbWF0aW9uVHJhbnNsYXRlRW5kWSI6bnVsbH19X2FwcGx5QXBwZWFyYW5jZUFuaW1hdGlvbih0KXtpZih0aGlzLl9yZXNpemUmJnRoaXMuX2RpYWxvZyl7Y29uc3R7eDplLHk6c309dCx7eDppLHk6b309dGhpcy5fcmVzaXplLmdldERpYWxvZ3NUb3BMZWZ0Q29vcmRpbmF0ZXMoKTt0aGlzLl9kaWFsb2cuc3R5bGUuc2V0UHJvcGVydHkoIi0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYIixgJHtlfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZVN0YXJ0WSIsYCR7c31weGApLHRoaXMuX2RpYWxvZy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYIixgJHtpfXB4YCksdGhpcy5fZGlhbG9nLnN0eWxlLnNldFByb3BlcnR5KCItLWFuaW1hdGlvblRyYW5zbGF0ZUVuZFkiLGAke299cHhgKSx0aGlzLl9kaWFsb2cuY2xhc3NMaXN0LmFkZCh3LmRpYWxvZ0FuaW1hdGVkQXBwZWFyYW5jZSl9fV9oYW5kbGVUb29sdGlwRml0KCl7aWYodGhpcy5fcmVzaXplKXtjb25zdCB0PXRoaXMuX3Jlc2l6ZS5nZXREaWFsb2dzVG9wTGVmdENvb3JkaW5hdGVzKCkueS1wYXJzZUludChEKT49MDt0aGlzLnNldFN0YXRlKHtjYW5GaXRUb29sdGlwOnR9KX19X2lzRnVsbFNjcmVlbigpewpyZXR1cm4gQm9vbGVhbih0aGlzLnByb3BzLmZ1bGxzY3JlZW4pfX14LmNvbnRleHRUeXBlPV8uUG9ydGFsQ29udGV4dCx4LmRlZmF1bHRQcm9wcz17Ym91bmRCeVNjcmVlbjohMCxkcmFnZ2FibGU6ITAsY2VudGVyZWRPbk1vdW50OiEwLHNob3VsZFJldHVybkZvY3VzOiEwfTtjb25zdCBMPSgwLGMubWFrZU92ZXJsYXBhYmxlKSh4LCEwKX0sNTMxOTI4KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse2NsYW1wUG9zaXRpb246KCk9PnIsY2xhbXBTZWdtZW50OigpPT5hLGZpbmREZWZhdWx0Rm9jdXNhYmxlRWxlbWVudDooKT0+ZCxwb3NpdGlvbkZyb21Nb3VzZUV2ZW50OigpPT5oLHBvc2l0aW9uRnJvbVRvdWNoRXZlbnQ6KCk9PmMsc2ltdWxhdGVDbGljazooKT0+bH0pO3ZhciBpLG89cyg2NDA3NDQpLG49cyg2ODIzODEpO2Z1bmN0aW9uIGEodCxlLHMsaSl7cmV0dXJuIHQrZT5pJiYodD1pLWUpLHQ8cyYmKHQ9cyksdH1mdW5jdGlvbiByKHQpe3JldHVybnt4OigwLG8uY2xhbXApKHQueCwyMCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgtMjApLHk6KDAsby5jbGFtcCkodC55LDIwLHdpbmRvdy5pbm5lckhlaWdodC0yMCl9fWZ1bmN0aW9uIGwodCl7aWYodCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIlNWR0V2ZW50cyIpO2UuaW5pdEV2ZW50KCJjbGljayIsITAsITApLHQuZGlzcGF0Y2hFdmVudChlKX10IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2xpY2soKX1mdW5jdGlvbiBoKHQpe3JldHVybnt4OnQuY2xpZW50WCx5OnQuY2xpZW50WX19ZnVuY3Rpb24gYyh0KXtyZXR1cm57eDp0LnRvdWNoZXNbMF0uY2xpZW50WCx5OnQudG91Y2hlc1swXS5jbGllbnRZfX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yKCJbYXV0b2ZvY3VzXTpub3QoW2Rpc2FibGVkXSkiKTtpZihlKXJldHVybiBlO2lmKHQudGFiSW5kZXg+PTApcmV0dXJuIHQ7Y29uc3Qgcz0oMCxuLmdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnMpKCksaT1BcnJheS5mcm9tKHQucXVlcnlTZWxlY3RvckFsbChzKSkuZmlsdGVyKCgwLG4uY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKHQpKTtsZXQgbz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1udWxsO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF0scz1lLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtpZihudWxsIT09cyl7Y29uc3QgdD1wYXJzZUludChzLDEwKTshaXNOYU4odCkmJnQ+byYmKG89dCxhPWUpfX1yZXR1cm4gYX0hZnVuY3Rpb24odCl7dFt0Lk1vdXNlR3VhcmRab25lPTIwXT0iTW91c2VHdWFyZFpvbmUifShpfHwoaT17fSkpfSw5MTEzMjcodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7ZXh0cmFjdFRhYlBhdGg6KCk9PmIsZ2V0U3ltYm9sUGFnZVBhdGg6KCk9PmgsbWFrZVN5bWJvbENoYXJ0VXJsOigpPT5nLG1ha2VTeW1ib2xQYWdlVXJsOigpPT5ffSk7cyg5NjM5MDApO3ZhciBpPXMoMzA5ODM2KSxvPXMoMjQxOTM3KSxuPXMoODUxNDU4KSxhPXMoMTU2ODI5KTtjb25zdCByPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBsKHQpe2NvbnN0IGU9ey4uLnR9O2lmKCJzcHJlYWQiPT09ZS50eXBlfHwiZXhwcmVzc2lvbiI9PT1lLnR5cGUpe2NvbnN0IHQ9ZS5zaG9ydE5hbWUmJmMoZS5zaG9ydE5hbWUpLHM9ZS5wcm9OYW1lJiZjKGUucHJvTmFtZSk7ZS50eXBlPXZvaWQgMCxlLnNob3J0TmFtZT10LGUucHJvTmFtZT1zfXJldHVybiBlfWZ1bmN0aW9uIGgodCxlKXtjb25zdCBzPWwodCk7cmV0dXJuIHUocChzLGUpLGQocykpfWZ1bmN0aW9uIGModCl7cmV0dXJuKDAsbi50b2tlbml6ZSkodCkuZmluZCgodD0+InN5bWJvbCI9PT10LnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gZCh0KXtjb25zdCBlPXtzaG9ydE5hbWU6dC5zaG9ydE5hbWUsZXhjaGFuZ2U6dC5leGNoYW5nZSxwcm9OYW1lOnQucHJvTmFtZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3Mscm9vdDp0LnJvb3R9O3JldHVybiBlLnByb05hbWUmJmUucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW2UuZXhjaGFuZ2UsZS5zaG9ydE5hbWVdPWUucHJvTmFtZS5zcGxpdCgiOiIpKSxlfWZ1bmN0aW9uIHUodCxlKXtjb25zdCBzPWVuY29kZVVSSUNvbXBvbmVudChlLnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KGUuZXhjaGFuZ2V8fCIiKSxvPWVuY29kZVVSSUNvbXBvbmVudChlLnByb05hbWV8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudChlLnJvb3R8fCIiKTtyZXR1cm4gdC5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLHMpLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnJvb3R9IixuKX1mdW5jdGlvbiBwKHQsZT0iIil7Y29uc3Qgcz1kKHQpLHt0eXBlOmksdHlwZXNwZWNzOm8sc2hvcnROYW1lOm4scHJvTmFtZTpsLGV4Y2hhbmdlOmgscm9vdDpjfT1zO3JldHVybiB2b2lkIDA9PT1uJiZ2b2lkIDA9PT1sPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOmwmJnIuaGFzKGwpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7ZX1gOml8fG8/ImNvbW1vZGl0eSI9PT1pJiZvJiZvLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohY3x8IW98fCJmdXR1cmVzIiE9PWl8fG8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmbj8uZW5kc1dpdGgoIjEhIil8fG8uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9oJiYoImZvcmV4Ij09PWl8fG8mJigwLAphLmhhc0NyeXB0b1R5cGVzcGVjKShvKSk/Ii9zeW1ib2xzL3t0dnN5bWJvbH0vP2V4Y2hhbmdlPXt0dmV4Y2hhbmdlfSI6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dmV4Y2hhbmdlfS17dHZyb290fTEhLyR7ZX0/Y29udHJhY3Q9e3R2c3ltYm9sfWA6aD9gL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnN5bWJvbH0vJHtlfWA6YC9zeW1ib2xzL3t0dnN5bWJvbH0vJHtlfWB9ZnVuY3Rpb24gbSh0LGUscyxuKXtjb25zdCBhPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsby5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMsbik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrdSh0LGQobChlKSkpO3JldHVybiBzPygwLGkuYWRkVXRtVG9VcmwpKGEscyk6YX1mdW5jdGlvbiBfKHQsZSxzLGkpe2NvbnN0IG89bCh0KTtyZXR1cm4gbShwKG8saSksbyxlLHMpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gbSgiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsdCxlKX1mdW5jdGlvbiBiKHQsZSl7Y29uc3Qgcz1oKHtwcm9OYW1lOnR9KTtyZXR1cm4gZS5zdGFydHNXaXRoKHMpP2UucmVwbGFjZShzLnNsaWNlKDAscy5sZW5ndGgtMSksIiIpOm51bGx9fSw4MDY2OTModCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05LjcwNyA5bDQuNjQ3LTQuNjQ2LS43MDctLjcwOEw5IDguMjkzIDQuMzU0IDMuNjQ2bC0uNzA4LjcwOEw4LjI5MyA5bC00LjY0NyA0LjY0Ni43MDguNzA4TDkgOS43MDdsNC42NDYgNC42NDcuNzA4LS43MDdMOS43MDcgOXoiLz48L3N2Zz4nfSw4NTI1MzEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9ImN1cnJlbnRDb2xvciIgZm9jdXNhYmxlPSJmYWxzZSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHBhdGggZD0iTTE0IDEybC00LTYgNC02SDB2MTJ6Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.280Z","timestamp":1785136429280,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/10366.07e20e7bbee27c9d5fbc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-273\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 99273f6bf9c22c522bbe00838f877153\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":627,"size_decoded":1034,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (627), with no line terminators","md5":"5d58fc11e377065e2e2ce19149de6728","sha1":"e2e8f933c9519c6e5964ccab1f629f4b6073cea9","sha256":"c4aac40ec27e2baca2016fee348eac9d6ef472c57c933542802b5232e6954733","sha512":"d2f9fd099b4743ed6080b2614bd2dbe5e97b62fa5a6437245aca2bc21efc494a0615b21fd83b0b977da80f532b7e87f34c29fbf4c9ccde299f75c9b0bf4cdf89","ssdeep":"","tlshash":"94f0a288a651f62b350f253e4b1ac1bc91a5a890e9402f7cb5bae2144ac8fc5a6f5428","first_seen":"2025-10-07T17:12:28.013112Z","last_seen":"2026-08-11T04:43:23.090451Z","times_seen":1029,"resource_available":false,"data":"LndyYXBwZXItbXowODY2TTJ7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKTtkaXNwbGF5OmZsZXg7aGVpZ2h0OjM4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozOHB4fS53cmFwcGVyLW16MDg2Nk0yLmhvdmVyZWQtbXowODY2TTJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLW16MDg2Nk0yOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0ud3JhcHBlci1tejA4NjZNMjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/login.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.070Z","timestamp":1785136422070,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/login.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 12336\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":12336,"size_decoded":12678,"mime_type":"image/png","magic":"PNG image data, 179 x 178, 8-bit/color RGBA, non-interlaced","md5":"4d534b4c22db211ca004929e83cec34c","sha1":"a4eb06a9f01a1091784c39ac066c27db9e5b58a6","sha256":"f264bbb21b44b3232bed4cd7b8f312b52ea81db66c167de5a55e7d8799343a13","sha512":"1c6035937746aaf39d7382689bc3bf464706e012e2ebbdd8dd47e1353e9ea00e0a215376b66d63aa952e2302819dfa407bda59230a6a347d4757f729d656da2b","ssdeep":"192:ZJb6xLYlpX4Zo/mD2fuwSd0UPplnOvyoRX9o323wEG5vwQVywZFZL5vpJ59OxpdG:Z/pXUo/uwS1QKi+3awbNsoTVBUNFT7E","tlshash":"2542c0a877f71a26c7b7cb2104c2a515fb01a550822337d5fafdfe51f2a9281c24f869","first_seen":"2025-12-03T04:46:43.738486Z","last_seen":"2026-07-29T06:14:00.372273Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4966,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4834,"receive":132,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/deposit.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.071Z","timestamp":1785136422071,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/deposit.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 16477\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":16477,"size_decoded":16819,"mime_type":"image/png","magic":"PNG image data, 179 x 178, 8-bit/color RGBA, non-interlaced","md5":"8350107044b990ede501851f8b9fc1b1","sha1":"089ffa2a24cd5f8091b95dda5dab9bad99b44584","sha256":"ae8779fdd2eb6a5a561f636322a471f874ca30b927f4b94085598061167ecf65","sha512":"706a6045af0cd8b4b0b597b4f13da1f82ead032de6df36cde678ec1022caff529bedef45eff702040a190c2508ae7fd0c5cc7889f6fdaf56c7f34ce3a9f0ccbc","ssdeep":"384:ZZV60JRcWmV/o4KYNCeVi/+HZ96KNVPNpkaQTMmJ2kuPkK21fwBM8T+:bHoo4JYGNkNjJLlfAM8T+","tlshash":"3a72d1d1904485d9ae364eee3a878f96fd4cc8cd05115863fee216f82ecab045fd1670","first_seen":"2025-12-03T04:46:43.785507Z","last_seen":"2026-07-29T06:14:00.389065Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4965,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4965,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84306.31d6cfe0d16ae931b73c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.150Z","timestamp":1785136429150,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84306.31d6cfe0d16ae931b73c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 0\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58abe8-0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 10:01:12 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d668b72995a52724686e16f5b61f3e3a\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":782,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/88641.041438d11c46fce9d089.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.822Z","timestamp":1785136429822,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/88641.041438d11c46fce9d089.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-62c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 89003cdf5d198f156db672f2dd3a4410\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s3-symbol-logo.tradingview.com/country/EU.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.312Z","timestamp":1785136430312,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/EU.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/t3.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.053Z","timestamp":1785136422053,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/t3.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Tue, 05 Jul 2022 11:00:08 GMT\r\naccept-ranges: bytes\r\netag: \"02c9d635e90d81:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 141745\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":141745,"size_decoded":142088,"mime_type":"image/png","magic":"PNG image data, 390 x 450, 8-bit/color RGBA, non-interlaced","md5":"e08819f9f4846d6b95fccf9824186df1","sha1":"0da95029398e301e088a8ce3db1c8d19659b72a3","sha256":"869be59668ea1a159b15bf812778fa0bd67ec21b5145a1072928c565ba72708e","sha512":"98fb2e645b8ae161b856fad6185f9ea757b8a64a0fac68a244798ad5bb08a7ae49bb98be67e9ac814c10bc9fdfd99ab1b6e88a769d2acff1db38188e94a9c74c","ssdeep":"3072:KgeOzxSgv7X8GilTrPw2eYSCo8ydaKiVXsHNPofO/R:Z9z43BE8PVXsHgOp","tlshash":"f1d312ccd8e555746efae68cd06b4e13e969bd6ec32b1b9704263a83f811e897c01342","first_seen":"2026-07-27T04:30:36.937698Z","last_seen":"2026-07-27T11:13:26.186217Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":4137,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3556,"receive":581,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/34387.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.688Z","timestamp":1785136428688,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/34387.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 995\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 00:55:10 GMT\r\nlast-modified: Tue, 03 Dec 2024 12:34:09 GMT\r\netag: \"fb99efdd147ed3f3dcaf18ee5ba11bc1\"\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 22719\r\nx-amz-cf-id: T1LkhZBrlV4mn0AwTtt2V8Jk0cMgjCk1atsqjStyw1WxrsGDcmyXkg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":995,"size_decoded":1511,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"fb99efdd147ed3f3dcaf18ee5ba11bc1","sha1":"ba52b8959b90666d0fb7eadc44b2eadd65b48541","sha256":"7a46b95ed1f657ff278a9ae67bc785517bca31fcda15ef4db00a01716b13bf14","sha512":"46210d5aac569cf100275ed9d3a7ef6078426703690b70f670313fe52e3acf1750b3c5e3be93a6fc56dce856429e1afc6ab8bc2b4957c2f95f0f5a914f1925c8","ssdeep":"","tlshash":"131108abf71a0cf8883100bf41236070e71883eb8b1a492b8446687ee02e6e40260b0a","first_seen":"2025-09-03T04:31:34.21391Z","last_seen":"2026-08-11T04:47:30.187349Z","times_seen":1494,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADqklEQVR4XuWbMWgUQRSG1wQLQUknNhb2FoJa2Vgq2FjExkqQxLuLBL3AFSIoguRAsNGApLCIFmqhFhY2AcFCA4KCCkJQEYkRonhHcpig95y3c6d3783ezuzc7O45P3wEsjNv583tvHkzOxsEaWgMNgdFmBLMBwVYFH9rAiDUWtfmw7JYZzAFm4ILMCScqArqCkdNQRvV0Cbazq1GYTiQv3JT4US/QNtT4b1yI/xlCjCjaKxb8J7hU5GlijDJGpY+k7RZ7iWDWkPRmKxopBc0S3BE0YB8gG1zJxGBS/CQ3TRvYBv7PlvIaY3fLM/0LUDK6Y3fYBCwny7Fo0SNDhpWw2EQxnwcYUxIojxHe1OMZ4csx31BMCY42WJcUSYJRvGgCGvMgGuE49OPAX43gendMsCW07IMq6fPGnVTrQzS26ESwMYv6jbXp++8riEaaTOv5JYCdbO3lmuyDrOjS0+lvao7BfDxG3UxXpX7Clu6oI9KZZDtnZijrukLO4/a00aZJRahzAq6xPDRp9p1XmFTnzLxPsz4XO7kcCw74PA1hU19mt0ZYgaPv3UHXFfYNKFrGMgNTF7IJZYdcPCqwqYJJbjY2QH92L015v0KdUtfW89we4bUOzuAXjTmwBWAuy/ktDb3HGDnOV6GsucydUtfVrlAG+sOEI148JI27Z+aIq0dnZXlWN1W/aeLtFa89lUVtpLQch738vnFOMQ8/HODNk2tV58hshN2VGjp3rq1wG1YMIUdgK+i6IXeCGe+1mnTeuv2gsIOMk5LRmvijqK+HfOY/uL7OHqhJ8dmadP0tPsSsSU68tFrWqpbtQbAIZzzbTK/KND3QP2iMhrL6ev4TWlneEI6R7WyCrANIzwOmYhh00dq5gHQ4JE1VWMd0nC6G/aPGEbO0mb3TzNP+P2cw/4Rg/cd8D8OgVSD4NEb0g4GwaUf9GoWQTDBNIhL0SRKMg2urrufBlNJhHB9wOwgBkPKTSLkfSpsuRjCBkVJZzH07AOtFa/9VYWtJFivBjvYOw1wTyyH3yzJx317hZeh5Gk5PHAbIiNlbs+Qrg0R/7bE0Oe/8n5T1PttcZTfL0aCTIZBvl6Nobx+OdoWreAaw6Hg9vU4yvsDEqicHZF5+yXNIzIo7w9Jobw+JteW1wclQ/l+VBaVZTywxXjcRymDLNGayGwvsXz+YKJTeZ4dEkd7U3n90VSnMkibFWimt67k9YeTnfL201kmBx9P45m+8Nd2Gd1dKsefz/8BVrZ7wl05T0oAAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/studies.c50f28eb9a346e093252.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.423Z","timestamp":1785136429423,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/studies.c50f28eb9a346e093252.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2dbb5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 07d85567427b8af7e169cf176decce48\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":187317,"size_decoded":59413,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (5953)","md5":"7987bd9ad9ebf8cf88bfd546acda45a6","sha1":"9d7cd0f9c2870976e2d42691fcec9c54b559febe","sha256":"561baf84600f8c7de1b64b308c0ab5c5c64b4147787b87dc06b944c48ba625b6","sha512":"9b8f36f0dd7580b4de39537ae4436f51bc2c3209e74e6b6accddf56c1ae01b8f54a9b9c64310fd18ac27cc77a3823c6b038078c45fa7e8ecff7650e3008a8a9f","ssdeep":"3072:w9dsU/XupjW4Pz+u8HuG3x3TrbZ0jv8L2EChXqVIywmlgkOJGJcdbo5CgZPz4OyG:44PToPYEJYTgZPz4OyoczgJyylAt/W","tlshash":"19042a6172e178ea93eb10d949790543db1d2c86780984acf2bc4cee265dd4c723afbc","first_seen":"2026-07-24T11:36:47.85007Z","last_seen":"2026-07-28T06:17:53.472191Z","times_seen":79,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNTE5Niw0NzUzOCw1Mzc3MCw2NDY0NCw2Njg2Nl0sezkxNDQ4NyhlLHQpe3ZhciBzOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiByKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcz1hcmd1bWVudHNbdF07aWYocyl7dmFyIG49dHlwZW9mIHM7aWYoInN0cmluZyI9PT1ufHwibnVtYmVyIj09PW4pZS5wdXNoKHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShzKSYmcy5sZW5ndGgpe3ZhciBvPXIuYXBwbHkobnVsbCxzKTtvJiZlLnB1c2gobyl9ZWxzZSBpZigib2JqZWN0Ij09PW4pZm9yKHZhciBhIGluIHMpaS5jYWxsKHMsYSkmJnNbYV0mJmUucHVzaChhKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oci5kZWZhdWx0PXIsZS5leHBvcnRzPXIpOnZvaWQgMD09PShzPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1zKX0oKX0sNTQxODIwKGUpe2UuZXhwb3J0cz17c3VidGl0bGU6InN1YnRpdGxlLWJMVEJoQ3dKIix0ZXh0OiJ0ZXh0LWJMVEJoQ3dKIixzdW1tYXJ5OiJzdW1tYXJ5LWJMVEJoQ3dKIixncm91cDoiZ3JvdXAtYkxUQmhDd0oiLGdyb3VwSWNvbjoiZ3JvdXBJY29uLWJMVEJoQ3dKIixiZWZvcmVNYXJrZXRPcGVuOiJiZWZvcmVNYXJrZXRPcGVuLWJMVEJoQ3dKIixhZnRlck1hcmtldENsb3NlOiJhZnRlck1hcmtldENsb3NlLWJMVEJoQ3dKIixncm91cFRpdGxlOiJncm91cFRpdGxlLWJMVEJoQ3dKIixncm91cFJvdzoiZ3JvdXBSb3ctYkxUQmhDd0oiLGdyb3VwQ2VsbDoiZ3JvdXBDZWxsLWJMVEJoQ3dKIn19LDgwNjQxNShlKXtlLmV4cG9ydHM9e29wZXJhdG9yOiJvcGVyYXRvci1JSE5RVkFRSSJ9fSwyNzMzMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SWNvbjooKT0+cn0pO3ZhciBpPXMoNzc5NDc0KTtjb25zdCByPWkuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtpY29uOnM9IiIsdGl0bGU6cixhcmlhTGFiZWw6bixhcmlhTGFiZWxsZWRieTpvLGFyaWFIaWRkZW46YSwuLi5sfT1lLHU9ISEocnx8bnx8byk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImltZyIsLi4ubCxyZWY6dCwiYXJpYS1sYWJlbCI6biwiYXJpYS1sYWJlbGxlZGJ5IjpvLCJhcmlhLWhpZGRlbiI6YXx8IXUsdGl0bGU6cixkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnN9fSl9KSl9LDYyODAwOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0Z1bmRhbWVudGFsU3VwcG9ydGVkQnlBbGVydHM6KCk9PnJ9KTtjb25zdCBpPW5ldyBTZXQoWyJTVEQ7RnVuZF9idXliYWNrX3lpZWxkIiwiU1REO0Z1bmRfZGl2aWRlbmRfeWllbGRfY2FsY3VsYXRlZCIsIlNURDtGdW5kX2Vhcm5pbmdzX3lpZWxkIiwiU1REO0Z1bmRfbWFya2V0X2NhcF9iYXNpYyIsIlNURDtGdW5kX3ByaWNlX2Vhcm5pbmdzX2dyb3d0aF9yYXRpbyIsIlNURDtGdW5kX3ByaWNlX2Jvb2siLCJTVEQ7RnVuZF9wcmljZV9jYXNoX2Zsb3ciLCJTVEQ7RnVuZF9wcmljZV9lYXJuaW5ncyIsIlNURDtGdW5kX3ByaWNlX2ZyZWVfY2FzaF9mbG93IiwiU1REO0Z1bmRfcHJpY2Vfc2FsZXMiLCJTVEQ7RnVuZF9wcmljZV90YW5naWJsZV9ib29rIl0pO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGkuaGFzKGUpfX0sNTMyOTc1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERvY3VtZW50c0FwaTooKT0+dX0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCk7dGhyb3cgbmV3IEVycm9yKGBFcnJvciB3aGlsZSBmZXRjaGluZyAke2V9ICR7dC50b1N0cmluZygpfS4gUmVzcG9uc2Ugc3RhdHVzICR7aS5zdGF0dXN9ICR7aS5zdGF0dXNUZXh0fS4gUmVzcG9uc2UgdGV4dDogJyR7c30nYCl9cmV0dXJuIGl9X3BhcnNlQm9keShlKXtyZXR1cm4gZS5qc29uKCl9X2dldFVSTChlLHQpe2NvbnN0IHM9bmV3IFVSTChlLHRoaXMuX2Jhc2VVcmwpO2lmKHQpe2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh0KTtzLnNlYXJjaD1lLnRvU3RyaW5nKCl9cmV0dXJuIHN9fWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBudWxsIT1lLmNsaWVudCYmdC5zZXQoImNsaWVudCIsZS5jbGllbnQpLG51bGwhPWUuc3RyZWFtaW5nJiZ0LnNldCgic3RyZWFtaW5nIixTdHJpbmcoZS5zdHJlYW1pbmcpKSxudWxsIT1lLnB1YlVzYWdlJiZ0LnNldCgicHViX3VzYWdlIixlLnB1YlVzYWdlLmpvaW4oIiwiKSksZS5maWx0ZXJzLnNsaWNlKCkuc29ydCgoKGUsdCk9PmUuaWQ8dC5pZD8tMToxKSkuZm9yRWFjaCgoZT0+e2lmKDA9PT1lLnZhbHVlcy5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZXMuc2xpY2UoKS5zb3J0KCkuam9pbigiLCIpO3QuYXBwZW5kKCJmaWx0ZXIiLGUuaWQrIjoiK3MpfSkpLHQuc29ydCgpLHQudG9TdHJpbmcoKX1jbGFzcyBhIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0iZG9jLXNjcmVlbmVyL3YxIn1hc3luYyBnZXREb2N1bWVudHMoZSx0KXtjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vZG9jdW1lbnRzYCxzKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsaSx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9fWNsYXNzIGwgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hcGlQYXRoPSJuZXdzLWZsb3cvdjIifWFzeW5jIGdldFN1bW1hcmllcyhlLHQpewpjb25zdCBzPW8oZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1jb25zdCB1PSgwLGkuZGVmYXVsdCkoKCgpPT57Y29uc3QgZT0oZSx0KT0+KDAsci5mZXRjaCkoZSx0KSx0PWZ1bmN0aW9uKCl7bGV0IGU9d2luZG93Lk5FV1NfTUVESUFUT1JfVVJMO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCk7cmV0dXJue2RvY1NjcmVlbmVyOnt2MTpuZXcgYSh0LGUpfSxkb2NTdW1tYXJpZXM6e3YyOm5ldyBsKHQsZSl9fX0pKX0sODExOTA0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5DYXJkUG9wdXA6KCk9Pml9KTtjb25zdCBpPShlLHQsaSxyKT0+UHJvbWlzZS5hbGwoW3MuZSg4NzU0Mikscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDExMjE4KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg3NDM4MSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2MTgyMSkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2NjI3MCkscy5lKDk3NDQpLHMuZSg4MzA0MSkscy5lKDcxNDgyKSxzLmUoMTk1MTMpLHMuZSgzNTE5OCkscy5lKDQ2NTkxKSxzLmUoNzE1MjgpLHMuZSg0NTM2OCkscy5lKDQ0NzcpLHMuZSgxNTA5KSxzLmUoNTUzMzYpLHMuZSg5MjM5Mykscy5lKDIwMjcxKSxzLmUoNTE4ODApLHMuZSg3NjMyOSkscy5lKDI3NTQ5KSxzLmUoMTY0MjEpLHMuZSg4MjI3MSkscy5lKDY5ODA5KSxzLmUoOWUzKSxzLmUoNzg0NzEpLHMuZSg4ODM4NSkscy5lKDUwMzI1KSxzLmUoNDcwMjEpLHMuZSg3MzU1MSkscy5lKDc4MjM3KSxzLmUoMTM2NzcpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDYxMTgzKSxzLmUoNzgxMDkpLHMuZSgxNjYwKSxzLmUoMjk3OTgpXSkudGhlbihzLmJpbmQocyw3MjE2NDcpKS50aGVuKChzPT5zLm9wZW5DYXJkUG9wdXAoZSx0LGkscikpKX0sMTEyNzI1KGUsdCxzKXsidXNlIHN0cmljdCI7aWYocy5kKHQse2J1aWxkU3VtbWFyaWVzTWFwOigpPT5fLGNhdGVnb3J5SGFzU3VtbWFyeTooKT0+YSxnZXREb2N1bWVudHNXaXRoU3VtbWFyeTooKT0+byxnZXRHcm91cGVkRG9jdW1lbnRzOigpPT5uLGxvb2t1cEJ5RG9jdW1lbnRJZDooKT0+cCxvcGVuRG9jdW1lbnRJbk5ld1RhYjooKT0+eSxwcmVwYXJlU3VtbWFyeTooKT0+bCxzb3J0Q2F0ZWdvcmllczooKT0+dSx0b0RvY3VtZW50Q2FyZFByb3BzOigpPT5jfSksNzk3OTU9PXMuail2YXIgaT1zKDMwNTEwOSk7Y29uc3Qgcj1uZXcgU2V0KFsiYW5udWFsX3JlcG9ydCIsImFubnVhbF9maW5hbmNpYWxfc3RhdGVtZW50Il0pO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgcyBvZiBlKXtpZighcy52aWV3cz8ubGVuZ3RoKWNvbnRpbnVlO2NvbnN0IGU9e2lkOnMuaWQsdGl0bGU6cy50aXRsZSxldmVudDpzLmV2ZW50LHJlcG9ydGVkOnMucmVwb3J0ZWQsZmlzY2FsWWVhcjpzLmZpc2NhbF95ZWFyLGZpc2NhbFBlcmlvZDpzLmZpc2NhbF9wZXJpb2QsY2F0ZWdvcmllczpbe2RvY3VtZW50SWQ6cy5pZCxpZDpzLmNhdGVnb3J5LmlkLHRpdGxlOnMuY2F0ZWdvcnkudGl0bGUsdmlld3M6cy52aWV3cyxmb3JtOnMuZm9ybX1dfTt0W3MuY29ycmVsYXRpb25faWRdP3Rbcy5jb3JyZWxhdGlvbl9pZF0uY2F0ZWdvcmllcy5wdXNoKC4uLmUuY2F0ZWdvcmllcyk6dFtzLmNvcnJlbGF0aW9uX2lkXT1lfXJldHVybiBPYmplY3QudmFsdWVzKHQpfWZ1bmN0aW9uIG8oZSx0LHMsaSl7Y29uc3Qgcj1uKGUpLG89T2JqZWN0LmtleXMocykubWFwKChlPT5OdW1iZXIoZSkpKTtyZXR1cm4gci5tYXAoKGU9PmMoZSxfKHQpLG8scyxpKSkpfWZ1bmN0aW9uIGEoe3ZpZXdzOmV9KXtyZXR1cm4gZS5zb21lKCgoe3R5cGU6ZX0pPT4ic3VtbWFyeSI9PT1lKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT8iLiI9PT1lW2UubGVuZ3RoLTFdP2U6YCR7ZX0uYDp2b2lkIDB9ZnVuY3Rpb24gdShlKXtjb25zdCB0PVsidHJhbnNjcmlwdCIsImNhbGxfdHJhbnNjcmlwdCIsImV2ZW50X3RyYW5zY3JpcHQiLCJlYXJuaW5nc19yZWxlYXNlIiwicXVhcnRlcmx5X3JlcG9ydCIsImFubnVhbF9yZXBvcnQiLCJzbGlkZXMiXTtyZXR1cm4gZS5zb3J0KCgoZSxzKT0+e2NvbnN0IGk9dC5pbmRleE9mKGUuaWQpLHI9dC5pbmRleE9mKHMuaWQpO3JldHVybigtMT09PWk/dC5sZW5ndGg6aSktKC0xPT09cj90Lmxlbmd0aDpyKX0pKX1mdW5jdGlvbiBjKGUsdCxzLG4sbyl7bGV0IGE9ZS50aXRsZTtjb25zdCBjPSJlYXJuaW5nIj09PWUuZXZlbnQsaD1lLmNhdGVnb3JpZXMuc29tZSgoZT0+ci5oYXMoZS5pZCkpKSxkPW5ldyBEYXRlKDFlMyplLnJlcG9ydGVkKS5nZXRGdWxsWWVhcigpO2MmJmUuZmlzY2FsUGVyaW9kJiZlLmZpc2NhbFllYXImJihhPWBFYXJuaW5ncywgJHtlLmZpc2NhbFBlcmlvZH0gRlkke2UuZmlzY2FsWWVhcn1gKTtjb25zdCBfPXUoZS5jYXRlZ29yaWVzKSx5PWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IHMgb2YgZSl7Y29uc3QgZT1wKHMuZG9jdW1lbnRJZCx0KTtpZih2b2lkIDAhPT1lKXJldHVybiBlfXJldHVybn0oXyx0KSx2PWwoeSksZj1jJiZmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZS1tLGk9ZSttLHI9dC5maWx0ZXIoKGU9PmU+PXMmJmU8PWkpKQo7cmV0dXJuIHIubGVuZ3RoP3JbMF06dm9pZCAwfShlLnJlcG9ydGVkLHMpO3JldHVybnt0aXRsZTphLGlzQW5udWFsOmgsc3VtbWFyeTp2LGV2ZW50OmUuZXZlbnQsZGF0ZTplLnJlcG9ydGVkLHllYXI6ZS5maXNjYWxZZWFyfHxkLGNhdGVnb3JpZXM6XyxlYXJuaW5nOmYmJmYgaW4gbj8oMCxpLmdldERvY3VtZW50RWFybmluZ1NlcnZlcikobltmXSk6dm9pZCAwLGN1cnJlbmN5Om99fWZ1bmN0aW9uIGgoZSl7Y29uc3QgdD1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PXQ/ZTplLnN1YnN0cmluZyh0KzEpLnRyaW0oKX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9ZS5tYXRjaCgvOihcZCspLyk/LlsxXTtyZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPWQocy5pZCk7bnVsbCE9PWUmJnQuc2V0KGUsaChzLnRpdGxlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gcChlLHQpe2NvbnN0IHM9ZChlKTtyZXR1cm4gbnVsbD09PXM/dm9pZCAwOnQuZ2V0KHMpfWZ1bmN0aW9uIHkoZSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dC5ocmVmPWUsdC50YXJnZXQ9Il9ibGFuayIsdC5yZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdC5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCl9Y29uc3QgbT03OTc5NT09cy5qPzE3MjgwMDpudWxsfSwzMDUxMDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtpZihzLmQodCx7Z2V0RG9jdW1lbnRFYXJuaW5nU2VydmVyOigpPT5yfSksNzk3OTU9PXMuail2YXIgaT1zKDk2MDk2Mik7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWUuZGF0ZSxzPTE0PT09ZS50aW1lVHlwZSxyPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJlcG9ydGVkKT9lLnJlcG9ydGVkOnZvaWQgMCxuPSgwLGkuaGFzTnVtYmVyKShlLmVzdGltYXRlKT9lLmVzdGltYXRlOnZvaWQgMCxvPSgwLGkuaGFzTnVtYmVyKShyKSYmKDAsaS5oYXNOdW1iZXIpKG4pP3Itbjp2b2lkIDAsYT1vJiZuP01hdGguYWJzKG8vbioxMDApOnZvaWQgMCxsPXM/dm9pZCAwOigwLGkuaGFzTnVtYmVyKShlLnJldmVudWVWYWx1ZSk/MWU2KmUucmV2ZW51ZVZhbHVlOnZvaWQgMCx1PSgwLGkuaGFzTnVtYmVyKShlLnJldmVudWVFc3RpbWF0ZSk/MWU2KmUucmV2ZW51ZUVzdGltYXRlOnZvaWQgMCxjPSgwLGkuaGFzTnVtYmVyKShsKSYmKDAsaS5oYXNOdW1iZXIpKHUpP2wtdTp2b2lkIDAsaD1jJiZ1P01hdGguYWJzKGMvdSoxMDApOnZvaWQgMDtsZXQgZDtyZXR1cm4gZS50aW1lVHlwZT9lLnRpbWVUeXBlPDIwP2Q9MTA9PT1lLnRpbWVUeXBlPyJFc3RpbWF0ZWREYXRlIjoiRnV0dXJlIjpvJiYoZD1vPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpvP2Q9bzwwPyJOZWdhdGl2ZSI6IlBvc2l0aXZlIjp0JiZ0PkRhdGUubm93KCkmJihkPSJGdXR1cmUiKSx7ZGF0ZTp0LHR5cGU6ZCx0aW1lVHlwZTplLnRpbWVUeXBlLHBlcmlvZDplLnBlcmlvZHx8dm9pZCAwLHN0YW5kYXJkaXplZDplLnN0YW5kYXJkaXplZHx8dm9pZCAwLHJlcG9ydGVkOnIsZXN0aW1hdGU6bixzdXJwcmlzZTpvfHx2b2lkIDAsc3VycHJpc2VQZXJjZW50OmEscmV2ZW51ZVZhbHVlOmwscmV2ZW51ZUVzdGltYXRlOnUscmV2ZW51ZVN1cnByaXNlOmN8fHZvaWQgMCxyZXZlbnVlU3VycHJpc2VQZXJjZW50Omh9fX0sODg5Mzk3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3Nob3dGaW5hbmNpYWxzRGlhbG9nOigpPT5yfSk7dmFyIGk9cyg4OTA4MzUpO2Z1bmN0aW9uIHIoZSl7aS5jdXJyZW50TGF5b3V0LnZhbHVlKCk/LnNob3dBbmFseXNpc1ZpZXcoImZpbmFuY2lhbHMiLGUpfX0sODg4NTYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5GaW5hbmNpYWxzV2VidmlldzooKT0+aH0pO3ZhciBpPXMoNzU3ODI5KSxyPXMoNjIzNTExKSxuPXMoMTI4ODE0KSxvPXMoMzA5MDUyKQo7Y29uc3QgYT1uZXcgU2V0KFsibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImZvdW5kZWQiLCJjZW8iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRzX3lpZWxkIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsImN1cnJlbmN5X2NvZGUiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJkaXZpZGVuZF9wYXlvdXRfcmF0aW9fdHRtIiwiZGl2aWRlbmRzX3lpZWxkX2N1cnJlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3VwY29taW5nIiwiZGl2aWRlbmRfYW1vdW50X3JlY2VudCIsImRpdmlkZW5kX2V4X2RhdGVfcmVjZW50IiwiZGl2aWRlbmRfYW1vdW50X2giLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9wYXltZW50X2RhdGVfcmVjZW50IiwidG90YWxfcmV2ZW51ZV9meSIsImdyb3NzX3Byb2ZpdF9meSIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInRvdGFsX2RlYnRfZnlfaCIsInRvdGFsX2RlYnRfZnFfaCIsInRvdGFsX2RlYnRfZmhfaCIsImZyZWVfY2FzaF9mbG93X2Z5X2giLCJmcmVlX2Nhc2hfZmxvd19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZmhfaCIsImNhc2hfbl9lcXVpdmFsZW50c19meV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZxX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZmhfaCIsImxvYW5zX25ldF9meV9oIiwibG9hbnNfbmV0X2ZxX2giLCJsb2Fuc19uZXRfZmhfaCIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meV9oIiwiZmlzY2FsX3BlcmlvZF9mcV9oIiwiZmlzY2FsX3BlcmlvZF9maF9oIiwibWFya2V0X2NhcF9iYXNpYyIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsImZ1bmRfdmlld19tb2RlcyIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiZnVuZGFtZW50YWxfY3VycmVuY3lfY29kZSIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsImZpc2NhbF9wZXJpb2RfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnkiLCJpbnRlcmVzdF9pbmNvbWVfZnEiLCJpbnRlcmVzdF9pbmNvbWVfZmgiLCJub25faW50ZXJlc3RfaW5jb21lX2Z5Iiwibm9uX2ludGVyZXN0X2luY29tZV9mcSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZmgiLCJpbnRlcmVzdF9leHBlbnNlX2Z5IiwiaW50ZXJlc3RfZXhwZW5zZV9mcSIsImludGVyZXN0X2V4cGVuc2VfZmgiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2Z5IiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9mcSIsImxvYW5fbG9zc19wcm92aXNpb25fZmgiLCJub25faW50ZXJlc3RfZXhwZW5zZV9meSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZxIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZmgiLCJub25fb3Blcl9pbmNvbWVfZnkiLCJub25fb3Blcl9pbmNvbWVfZnEiLCJub25fb3Blcl9pbmNvbWVfZmgiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2Z5IiwidW51c3VhbF9leHBlbnNlX2luY19mcSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZmgiLCJwcmV0YXhfaW5jb21lX2Z5IiwicHJldGF4X2luY29tZV9mcSIsInByZXRheF9pbmNvbWVfZmgiLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJjb3N0X29mX2dvb2RzX2Z5IiwiY29zdF9vZl9nb29kc19mcSIsImNvc3Rfb2ZfZ29vZHNfZmgiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnkiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZnEiLCJvcGVyYXRpbmdfZXhwZW5zZXNfZmgiLCJvcGVyX2luY29tZV9meSIsIm9wZXJfaW5jb21lX2ZxIiwib3Blcl9pbmNvbWVfZmgiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnkiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZnEiLCJ0b3RhbF9ub25fb3Blcl9pbmNvbWVfZmgiLCJpbmNvbWVfdGF4X2Z5IiwiaW5jb21lX3RheF9mcSIsImluY29tZV90YXhfZmgiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2Z5IiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9mcSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZmgiLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnkiLCJlcXVpdHlfaW5fZWFybmluZ3NfZnEiLCJlcXVpdHlfaW5fZWFybmluZ3NfZmgiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnkiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9leHBfZmgiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19meSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZxIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZmgiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwiZnVuZF92aWV3X21vZGVzIl0pLGw9KDAsCnIubGF6eVZhbHVlKSgoKCk9Pm5ldyBuLlF1b3RlU2Vzc2lvblNuYXBzaG90ZXIoe25hbWU6ImZpbmFuY2lhbHMtd2Vidmlldy1xdW90ZXMiLGZpZWxkczpbLi4uYV0sYXBpOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSkpKTtsZXQgdTtjbGFzcyBjIGV4dGVuZHMgaS5XZWJ2aWV3Q29udHJvbGxlckJhc2V7b3BlbihlKXtjb25zdCB0PXRoaXMuX2NyZWF0ZU9wZW5SZXF1ZXN0KGkuV2Vidmlld1BhZ2VOYW1lLkZpbmFuY2lhbHMsZSk7bCgpLmdldFNuYXBzaG90KHQuc3ltYm9sKCksYSk7dC5leGVjdXRlKCkuQ2hhcnRRdW90ZVNuYXBzaG90UHJvdmlkZXI9e2dldFF1b3RlU25hcHNob3QoKXtjb25zdCBlPW8uUVVPVEVfRklFTERTX0NBQ0hFLmdldCh0LnN5bWJvbCgpKTtyZXR1cm4gZT8udmFsdWVzPz97fX19fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB1fHwodT1uZXcgYyksdX19ZnVuY3Rpb24gaChlKXtjLmdldEluc3RhbmNlKCkub3BlbihlKX19LDQwNzAwNihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0TmV3c01lZGlhdG9yU2VydmljZTooKT0+aH0pO3ZhciBpPXMoODM5NDI2KSxyPXMoMzg0MDE3KTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcHVibGljUHJlZml4PSJwdWJsaWMvIix0aGlzLl9iYXNlVXJsPWUuZW5kc1dpdGgoIi8iKT9lOmAke2V9L2AsdGhpcy5fZmV0Y2g9dH1hc3luYyBfc2VuZFJlcXVlc3QoZSx0LHMpe2NvbnN0IGk9YXdhaXQgdGhpcy5fZmV0Y2godC50b1N0cmluZygpLHsuLi5zLG1ldGhvZDplfSk7aWYoIWkub2spe2NvbnN0IHM9YXdhaXQgaS50ZXh0KCkscj1uZXcgRXJyb3IoYEVycm9yIHdoaWxlIGZldGNoaW5nICR7ZX0gJHt0LnRvU3RyaW5nKCl9LiBSZXNwb25zZSBzdGF0dXMgJHtpLnN0YXR1c30gJHtpLnN0YXR1c1RleHR9LiBSZXNwb25zZSB0ZXh0OiAnJHtzfSdgKTt0aHJvdyByLnN0YXR1cz1pLnN0YXR1cyxyfXJldHVybiBpfWFzeW5jIF9zZW5kSnNvbihlLHQscyxpLHI9ITApe2NvbnN0IG49ey4uLmksYm9keTpKU09OLnN0cmluZ2lmeShzKSxoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4gciYmKG4uY3JlZGVudGlhbHM9ImluY2x1ZGUiKSx0aGlzLl9zZW5kUmVxdWVzdChlLHRoaXMuX2dldFVSTCh0KSxuKX1fcGFyc2VCb2R5KGUpe3JldHVybiBlLmpzb24oKX1fZ2V0VVJMKGUsdCl7Y29uc3Qgcz1uZXcgVVJMKGUsdGhpcy5fYmFzZVVybCk7aWYodCl7Y29uc3QgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHQpO3Muc2VhcmNoPWUudG9TdHJpbmcoKX1yZXR1cm4gc319ZnVuY3Rpb24gbyhlKXtyZXR1cm5bKHM9ZS5maWx0ZXJzLHMuc2xpY2UoKS5zb3J0KCgoZSx0KT0+ZS5pZDx0LmlkPy0xOjEpKS5yZWR1Y2UoKChlLHQpPT57aWYoMD09PXQudmFsdWVzLmxlbmd0aClyZXR1cm4gZTtjb25zdCBzPXQudmFsdWVzLnNvcnQoKS5qb2luKCIsIiksaT1lbmNvZGVVUklDb21wb25lbnQodC5pZCsiOiIrcyk7cmV0dXJuIGUucHVzaChgZmlsdGVyPSR7aX1gKSxlfSksW10pLmpvaW4oIiYiKSksKHQ9ZSxsKHtjbGllbnQ6dC5jbGllbnQsc3RyZWFtaW5nOnQuc3RyZWFtaW5nLHB1Yl91c2FnZTp0LnB1YlVzYWdlP3QucHViVXNhZ2Uuam9pbigiLCIpOnZvaWQgMH0pKV0uZmlsdGVyKChlPT5lLmxlbmd0aD4wKSkuam9pbigiJiIpO3ZhciB0LHN9ZnVuY3Rpb24gYShlKXtyZXR1cm5bbCh7c3RyZWFtaW5nOmUuc3RyZWFtaW5nfSldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpLmpvaW4oIiYiKX1mdW5jdGlvbiBsKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSllLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdJiZ0LnB1c2goe2tleTpzLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KHMpKyI9IitlbmNvZGVVUklDb21wb25lbnQoZVtzXSl9KTtyZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9Y2xhc3MgdSBleHRlbmRzIG57Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUsdCksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YxIix0aGlzLmdldE1ldGE9YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX3B1YmxpY1ByZWZpeH0ke3RoaXMuX2FwaVBhdGh9L21ldGFgLHtsYW5nOmV9KTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx0KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2NyZWVucz1hc3luYyhlLHQpPT57Y29uc3Qgcz1hKGUpLGk9YHZlcnNpb249JHt0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259YCxyPXM/YCR7c30mJHtpfWA6aSxuPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zYCxyKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIsbix7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0U2luZ2xlU2NyZWVuPWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX1gKTtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QoIkdFVCIscyx7Li4udCxjcmVkZW50aWFsczoiaW5jbHVkZSJ9KS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMuZ2V0UmVjZW50U2NyZWVuPWFzeW5jIGU9Pntjb25zdCB0PXRoaXMuX2dldFVSTChgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3JlY2VudGApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIix0LHsuLi5lLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5kZWxldGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9dGhpcy5fZ2V0VVJMKGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlfWApO3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgiREVMRVRFIixzLHsuLi50LGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy5jcmVhdGVTY3JlZW49YXN5bmMoZSx0KT0+e2NvbnN0IHM9ey4uLmUsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259CjtyZXR1cm4gdGhpcy5fc2VuZEpzb24oIlBPU1QiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnNgLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLnVwZGF0ZVNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17Li4uZSx2ZXJzaW9uOnRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbn07cmV0dXJuIHRoaXMuX3NlbmRKc29uKCJQVVQiLGAke3RoaXMuX2FwaVBhdGh9L3NjcmVlbnMvJHtlLmlkfWAscyx0LCEwKS50aGVuKHRoaXMuX3BhcnNlQm9keSl9LHRoaXMudXBkYXRlU2NyZWVuQWxlcnRzPWFzeW5jKGUsdCxzKT0+e2NvbnN0IGk9ey4uLnQsdmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zLyR7ZX0vYWxlcnRzYCxpLHMsITApLnRoZW4odGhpcy5fcGFyc2VCb2R5KX0sdGhpcy50b3VjaFNjcmVlbj1hc3luYyhlLHQpPT57Y29uc3Qgcz17dmVyc2lvbjp0aGlzLl9zY3JlZW5zRGF0YVZlcnNpb259O3JldHVybiB0aGlzLl9zZW5kSnNvbigiUFVUIixgJHt0aGlzLl9hcGlQYXRofS9zY3JlZW5zL3RvdWNoLyR7ZX1gLHMsdCwhMCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfSx0aGlzLmdldFN0b3J5PWFzeW5jKGUsdCk9Pntjb25zdCBzPXRoaXMuX2dldFVSTCgicHVibGljL25ld3MvdjEvc3RvcnkiLHsuLi5lfSksaT1hd2FpdCB0aGlzLl9zZW5kUmVxdWVzdCgiR0VUIixzLHR8fHt9KTtyZXR1cm4gaS5vaz90aGlzLl9wYXJzZUJvZHkoaSk6UHJvbWlzZS5yZWplY3QoaSl9LHRoaXMuX3NjcmVlbnNEYXRhVmVyc2lvbj1zfX1jbGFzcyBjIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fYXBpUGF0aD0ibmV3cy1mbG93L3YyIn1hc3luYyBnZXROZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fcHVibGljUHJlZml4fSR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsdCkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFByaXZhdGVOZXdzKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vbmV3c2AsbyhlKSk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLHMsey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfWFzeW5jIGdldFNjcmVlbnMoZSx0KXtjb25zdCBzPWEoZSksaT10aGlzLl9nZXRVUkwoYCR7dGhpcy5fYXBpUGF0aH0vc2NyZWVuc2Ascyk7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJHRVQiLGksey4uLnQsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbih0aGlzLl9wYXJzZUJvZHkpfX1zKDMwMDI4Nik7Y29uc3QgaD0oMCxpLmRlZmF1bHQpKCgoKT0+e2NvbnN0IGU9KGUsdCk9PigwLHIuZmV0Y2gpKGUsdCksdD1mdW5jdGlvbigpe2xldCBlPWAke3dpbmRvdy5ORVdTX01FRElBVE9SX1VSTH1gO2UuZW5kc1dpdGgoIi8iKXx8KGUrPSIvIik7cmV0dXJuIGV9KCkscz13aW5kb3cuaW5pdERhdGEuTkVXU19TQ1JFRU5fREFUQV9WRVJTSU9OfHwxO3JldHVybnt2MTpuZXcgdSh0LGUscyksdjI6bmV3IGModCxlKX19KSl9LDg5MDgzNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjdXJyZW50TGF5b3V0OigpPT5pfSk7Y29uc3QgaT1uZXcocygyMzIzNjQpLldhdGNoZWRWYWx1ZSkobnVsbCl9LDUzNzQ4NyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXtjb25zdCBzPU1hdGguZmxvb3IodC8xZTQpJTFlNCxpPU1hdGguZmxvb3IodC8xMDApJTEwMC0xLHI9dCUxMDA7cmV0dXJuIGUuZm9ybWF0KG5ldyBEYXRlKERhdGUuVVRDKHMsaSxyKSkpfXMuZCh0LHtmb3JtYXRZWVlZTU1ERDooKT0+aX0pfSw1MjMwNzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TUFUSF9NSU5VU19TSUdOOigpPT5yLHJvdW5kVG9UaGlyZERpZ2l0OigpPT5ufSk7dmFyIGk9cygxMDcwNDUpO2NvbnN0IHI9IuKIkiI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9TWF0aC5hYnMoTWF0aC5yb3VuZCgxZTMqZSkvMWUzKSxbLG5dPXMudG9GaXhlZCgzKS5zcGxpdCgiLiIpLG89IXQmJm4uZW5kc1dpdGgoIjAiKT9uZXcgaS5OdW1lcmljRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pOm5ldyBpLk51bWVyaWNGb3JtYXR0ZXIoe3ByZWNpc2lvbjozfSk7cmV0dXJuYCR7ZTwwP3I6IiJ9JHtvLmZvcm1hdChzKX1gfX0sMTI4ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3RlU2Vzc2lvblNuYXBzaG90ZXI6KCk9Pmh9KTt2YXIgaT1zKDk0ODM4MCkscj1zKDE1MDE1MCksbj1zKDIxNDk4Nyksbz1zKDEzODYzOCksYT1zKDM2Nzk0NiksbD1zKDk3MDc3NCksdT1zKDMwOTA1Mik7Y29uc3QgYz1uZXcgTWFwKFtbImNoYW5nZSIsImNoIl0sWyJsYXN0X3ByaWNlIiwibHAiXSxbImNoYW5nZV9wZXJjZW50IiwiY2hwIl0sWyJ1cGRhdGVfbW9kZV9zZWNvbmRzIixudWxsXV0pO25ldyBNYXAoW1siY2giLCJjaGFuZ2UiXSxbImxwIiwibGFzdF9wcmljZSJdLFsiY2hwIiwiY2hhbmdlX3BlcmNlbnQiXV0pO2NsYXNzIGh7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fb25TeW1ib2xEYXRhPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2luY29tcGxldGU9bmV3IFNldCx0aGlzLl91cGRhdGVkRmllbGRzPW5ldyBNYXAsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCx0aGlzLl9oYW5kbGVyPWU9Pntzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5faGFuZGxlQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlU3ltYm9sRGF0YShlLnBhcmFtc1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5faGFuZGxlQ29tcGxldGVEYXRhKGUucGFyYW1zWzBdKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX2JhdGNoZXI9bnVsbCl9Cn0sMD09PWUuZmllbGRzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoJ1N1cHBvcnQgZm9yIGVtcHR5ICJmaWVsZHMiIGFycmF5IGlzIG5vdCBpbXBsZW1lbnRlZCcpO2NvbnN0e3Byb3ZpZGVyOnQ9bC5RdW90ZVNlc3Npb259PWU7dGhpcy5fZmllbGRzPW5ldyBTZXQoZS5maWVsZHMpLHRoaXMuX3Nlc3Npb249bmV3IHQoZS5hcGksWyJzbmFwc2hvdGVyIixlLm5hbWUsKDAsci5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLl9zZXNzaW9uLmNvbm5lY3QodGhpcy5faGFuZGxlcil9Z2V0U25hcHNob3RTeW5jKGUsdCl7Y29uc3Qgcz1oLmNhY2hlLmdldChlKTtyZXR1cm4gcyYmdGhpcy5faXNTbmFwc2hvdFJlYWR5KHMse2ZpZWxkczp0LHRpbWVzdGFtcDpudWxsfSk/czpudWxsfWdldFNuYXBzaG90c0ZvckFsbFN5bmMoZSx0KXtyZXR1cm4gZS5tYXAoKGU9PnRoaXMuZ2V0U25hcHNob3RTeW5jKGUsdCkpKX1nZXRTbmFwc2hvdChlLHQscyl7Y29uc3QgaT1zPy5zaWduYWw/P251bGwscj1zPy5mcmVzaG5lc3MsYT12b2lkIDAhPT1yP0RhdGUubm93KCktcjpudWxsO3JldHVybiBuZXcgUHJvbWlzZSgoKHMscik9PntpZihpJiZpLmFib3J0ZWQpdGhyb3coMCxuLmNyZWF0ZUFib3J0RXJyb3IpKCk7Y29uc3QgbD0oKT0+e3RoaXMuX29uU3ltYm9sRGF0YS51bnN1YnNjcmliZSh0aGlzLHUpLHIoKDAsbi5jcmVhdGVBYm9ydEVycm9yKSgpKX0sdT0ocj1lKT0+e2lmKHIhPT1lKXJldHVybjtjb25zdCBuPWguY2FjaGUuZ2V0KGUpO24mJnRoaXMuX2lzU25hcHNob3RSZWFkeShuLHt0aW1lc3RhbXA6YSxzeW1ib2w6ZSxmaWVsZHM6dH0pJiYodGhpcy5fb25TeW1ib2xEYXRhLnVuc3Vic2NyaWJlKHRoaXMsdSksaT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwpLHMobikpfTtpZighKCgpPT57Y29uc3QgaT1oLmNhY2hlLmdldChlKTtpZighaSlyZXR1cm4hMTtjb25zdCByPSgwLG8uZW5zdXJlTm90TnVsbCkoaC5jYWNoZS5nZXRUaW1lcyhlKSk7cmV0dXJuISF0aGlzLl9pc1NuYXBzaG90UmVhZHkoaSx7ZmllbGRzOnQsc3ltYm9sOmUsdGltZXN0YW1wOmEsdGltZXM6cn0pJiYocyhpKSwhMCl9KSgpJiYoaT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGwse29uY2U6ITB9KSx0aGlzLl9vblN5bWJvbERhdGEuc3Vic2NyaWJlKHRoaXMsdSksIXRoaXMuX2luY29tcGxldGUuaGFzKGUpKSl7aWYodGhpcy5fdXBkYXRlZEZpZWxkcy5zZXQoZSxuZXcgU2V0KSx0aGlzLl9pbmNvbXBsZXRlLmFkZChlKSwhdGhpcy5fY29ubmVjdGVkKXJldHVybjtpZihudWxsPT09dGhpcy5fYmF0Y2hlcil7Y29uc3QgdD10aGlzLl9iYXRjaGVyPXtzeW1ib2xzOm5ldyBTZXQoW2VdKSxwcm9taXNlOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYmF0Y2hlcj09PXQmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhbLi4udC5zeW1ib2xzXSksdGhpcy5fYmF0Y2hlcj1udWxsKX0pKX19ZWxzZSB0aGlzLl9iYXRjaGVyLnN5bWJvbHMuYWRkKGUpfX0pKX1nZXRTbmFwc2hvdHNGb3JBbGwoZSx0LHMpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcCgoZT0+dGhpcy5nZXRTbmFwc2hvdChlLHQscykpKSl9c3RhdGljIHJlbGF4KGUpe3JldHVybiBlfXN0YXRpYyBpc1N1Y2Nlc3MoZSl7cmV0dXJuImVycm9yIiE9PWUuc3RhdHVzfXN0YXRpYyBoYXNBbGxGaWVsZHMoZSx0KXtmb3IoY29uc3QgcyBvZiBBcnJheS5mcm9tKHQpKWlmKCFlLmhhc093blByb3BlcnR5KHMpKXJldHVybiExO3JldHVybiEwfV9pc1NuYXBzaG90UmVhZHkoZSx0KXtjb25zdHtmaWVsZHM6cyx0aW1lc3RhbXA6aSx0aW1lczpyLHN5bWJvbDpufT10O3JldHVybiJlcnJvciI9PT1lLnN0YXR1c3x8KG51bGwhPT1pJiZyP3RoaXMuX2lzQWxsRmllbGRzVXBUb0RhdGUoZSxyLHMsaSk6bnVsbCE9PWkmJm4/dGhpcy5faXNBbGxGaWVsZHNVcGRhdGVkKGUsbixzKTp0aGlzLl9oYXNBbGxGaWVsZHMoZSxzKSl9X2lzQWxsRmllbGRzVXBkYXRlZChlLHQscyl7aWYoImVycm9yIj09PWUuc3RhdHVzKXJldHVybiEwO2NvbnN0IGk9dGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCk7aWYoIWl8fCFpLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSlpZighaS5oYXMoZSkpcmV0dXJuITE7cmV0dXJuITB9X2hhc0FsbEZpZWxkcyhlLHQpe3JldHVybiBoLmhhc0FsbEZpZWxkcyhlLnZhbHVlcyxBcnJheS5mcm9tKHQpKX1faXNBbGxGaWVsZHNVcFRvRGF0ZShlLHQscyxpKXtpZigiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuITA7aWYoIXQpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgQXJyYXkuZnJvbShzKSl7Y29uc3Qgcz10LmdldChlKTtpZighdC5oYXMoZSl8fHZvaWQgMD09PXMpcmV0dXJuITE7aWYoczxpKXJldHVybiExfXJldHVybiEwfV9oYW5kbGVDb25uZWN0ZWQoKXtpZih0aGlzLl9maWVsZHMuc2l6ZT4wKXtjb25zdCBlPVsuLi50aGlzLl9maWVsZHNdLmZsYXRNYXAoKGU9Pntjb25zdCB0PWMuZ2V0KGUpO3JldHVybiBudWxsIT09dD90Pz9lOltdfSkpO3RoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9dGhpcy5faW5jb21wbGV0ZS5zaXplPjAmJnRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKFsuLi50aGlzLl9pbmNvbXBsZXRlXSl9X2hhbmRsZUNvbXBsZXRlRGF0YShlKXtjb25zdCB0PWguY2FjaGUuZ2V0KGUpPz97c3ltYm9sbmFtZTplLHN0YXR1czoib2siLHZhbHVlczp7fX07aC5jYWNoZS51cGRhdGUodCx0aGlzLl9maWVsZHMsITApLHRoaXMuX3VwZGF0ZWRGaWVsZHMuc2V0KGUsdGhpcy5fZmllbGRzKSx0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhbZV0pLHRoaXMuX2luY29tcGxldGUuZGVsZXRlKGUpLHRoaXMuX29uU3ltYm9sRGF0YS5maXJlKGUpfV9oYW5kbGVTeW1ib2xEYXRhKGUpeygwLGEubm9ybWFsaXplVXBkYXRlTW9kZSkoZS52YWx1ZXMpLGguY2FjaGUudXBkYXRlKGUsdGhpcy5fZmllbGRzLCExKTtjb25zdCB0PWUuc3ltYm9sbmFtZSxzPSgwLG8uZW5zdXJlRGVmaW5lZCkodGhpcy5fdXBkYXRlZEZpZWxkcy5nZXQodCkpLGk9bmV3IFNldChzKQo7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZmllbGRzKWUudmFsdWVzLmhhc093blByb3BlcnR5KHQpJiZpLmFkZCh0KTt0aGlzLl91cGRhdGVkRmllbGRzLnNldCh0LGkpLCJlcnJvciI9PT1lLnN0YXR1cz90aGlzLl9oYW5kbGVDb21wbGV0ZURhdGEodCk6dGhpcy5fb25TeW1ib2xEYXRhLmZpcmUodCl9fWguY2FjaGU9dS5RVU9URV9GSUVMRFNfQ0FDSEV9LDEwMDIzOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRWb2x1bWVVbml0OigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIHIoZSl7c3dpdGNoKGUudm9sdW1lX3R5cGUpe2Nhc2UiYmFzZSI6cmV0dXJuIGUuYmFzZV9jdXJyZW5jeXx8dm9pZCAwO2Nhc2UicXVvdGUiOnJldHVybiBlLmN1cnJlbmN5fHx2b2lkIDA7Y2FzZSJ0aWNrIjpyZXR1cm4gaS50KG51bGwsdm9pZCAwLHMoMzcwMjQzKSl9fX0sNjIzNTExKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdD1udWxsO3JldHVybigpPT4obnVsbD09PXQmJih0PWUoKSksdCl9cy5kKHQse2xhenlWYWx1ZTooKT0+aX0pfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIHM9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGk9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIikscj1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG49U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLGw9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLHU9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksZD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksXz1TeW1ib2wuaXRlcmF0b3I7dmFyIHA9e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHk9T2JqZWN0LmFzc2lnbixtPXt9O2Z1bmN0aW9uIHYoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH1mdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIFMoZSx0LHMpe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9bSx0aGlzLnVwZGF0ZXI9c3x8cH12LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sdi5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGYucHJvdG90eXBlPXYucHJvdG90eXBlO3ZhciBnPVMucHJvdG90eXBlPW5ldyBmO2cuY29uc3RydWN0b3I9Uyx5KGcsdi5wcm90b3R5cGUpLGcuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIGI9QXJyYXkuaXNBcnJheSx3PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksQz17Y3VycmVudDpudWxsfSxQPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24geChlLHQsaSl7dmFyIHIsbj17fSxvPW51bGwsYT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5yZWYmJihhPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLHQpdy5jYWxsKHQscikmJiFQLmhhc093blByb3BlcnR5KHIpJiYobltyXT10W3JdKTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWwpbi5jaGlsZHJlbj1pO2Vsc2UgaWYoMTxsKXtmb3IodmFyIHU9QXJyYXkobCksYz0wO2M8bDtjKyspdVtjXT1hcmd1bWVudHNbYysyXTtuLmNoaWxkcmVuPXV9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gbD1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW3JdJiYobltyXT1sW3JdKTtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUsa2V5Om8scmVmOmEscHJvcHM6bixfb3duZXI6Qy5jdXJyZW50fX1mdW5jdGlvbiBEKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1zfXZhciBJPS9cLysvZztmdW5jdGlvbiBUKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVihlLHQscixuLG8pe3ZhciBhPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09YSYmImJvb2xlYW4iIT09YXx8KGU9bnVsbCk7dmFyIGw9ITE7aWYobnVsbD09PWUpbD0hMDtlbHNlIHN3aXRjaChhKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmw9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIHM6Y2FzZSBpOmw9ITB9fWlmKGwpcmV0dXJuIG89byhsPWUpLGU9IiI9PT1uPyIuIitUKGwsMCk6bixiKG8pPyhyPSIiLG51bGwhPWUmJihyPWUucmVwbGFjZShJLCIkJi8iKSsiLyIpLFYobyx0LHIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1vJiYoRChvKSYmKG89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cyx0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShvLHIrKCFvLmtleXx8bCYmbC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoSSwiJCYvIikrIi8iKStlKSksCnQucHVzaChvKSksMTtpZihsPTAsbj0iIj09PW4/Ii4iOm4rIjoiLGIoZSkpZm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1Kyspe3ZhciBjPW4rVChhPWVbdV0sdSk7bCs9VihhLHQscixjLG8pfWVsc2UgaWYoYz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihlPV8mJmVbX118fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfShlKSwiZnVuY3Rpb24iPT10eXBlb2YgYylmb3IoZT1jLmNhbGwoZSksdT0wOyEoYT1lLm5leHQoKSkuZG9uZTspbCs9VihhPWEudmFsdWUsdCxyLGM9bitUKGEsdSsrKSxvKTtlbHNlIGlmKCJvYmplY3QiPT09YSl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gbH1mdW5jdGlvbiBSKGUsdCxzKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBpPVtdLHI9MDtyZXR1cm4gVihlLGksIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwocyxlLHIrKyl9KSksaX1mdW5jdGlvbiBBKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIEw9e2N1cnJlbnQ6bnVsbH0sRT17dHJhbnNpdGlvbjpudWxsfSxNPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOkwsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6RSxSZWFjdEN1cnJlbnRPd25lcjpDfTt0LkNoaWxkcmVuPXttYXA6Uixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxzKXtSKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxzKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gUihlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBSKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighRChlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD12LHQuRnJhZ21lbnQ9cix0LlByb2ZpbGVyPW8sdC5QdXJlQ29tcG9uZW50PVMsdC5TdHJpY3RNb2RlPW4sdC5TdXNwZW5zZT1jLHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9TSx0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsaSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIHI9eSh7fSxlLnByb3BzKSxuPWUua2V5LG89ZS5yZWYsYT1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYsYT1DLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobj0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBsPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHUgaW4gdCl3LmNhbGwodCx1KSYmIVAuaGFzT3duUHJvcGVydHkodSkmJihyW3VdPXZvaWQgMD09PXRbdV0mJnZvaWQgMCE9PWw/bFt1XTp0W3VdKX12YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpci5jaGlsZHJlbj1pO2Vsc2UgaWYoMTx1KXtsPUFycmF5KHUpO2Zvcih2YXIgYz0wO2M8dTtjKyspbFtjXT1hcmd1bWVudHNbYysyXTtyLmNoaWxkcmVuPWx9cmV0dXJueyQkdHlwZW9mOnMsdHlwZTplLnR5cGUsa2V5Om4scmVmOm8scHJvcHM6cixfb3duZXI6YX19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6bCxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YSxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD14LHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD14LmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjp1LHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1ELHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkF9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6aCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PUUudHJhbnNpdGlvbjtFLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e0UudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlQ29udGV4dChlKX0sCnQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBMLmN1cnJlbnQudXNlRGVmZXJyZWRWYWx1ZShlKX0sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUVmZmVjdChlLHQpfSx0LnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VJZCgpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LHMpe3JldHVybiBMLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQscyl9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gTC5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LHMpfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gTC5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxzKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEwuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxzKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPXMoMTIyNzQ5KX0sNjMyNjA3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xvbGxpcG9wR3JvdXBJY29uczooKT0+aSxMb2xsaXBvcFRvb2x0aXBNYWluQ29tbW9uUm93OigpPT51fSk7dmFyIGkscj1zKDU0MTgyMCk7IWZ1bmN0aW9uKGUpe2VbZS5CZWZvcmVNYXJrZXRPcGVuPXIuYmVmb3JlTWFya2V0T3Blbl09IkJlZm9yZU1hcmtldE9wZW4iLGVbZS5BZnRlck1hcmtldENsb3NlPXIuYWZ0ZXJNYXJrZXRDbG9zZV09IkFmdGVyTWFya2V0Q2xvc2UifShpfHwoaT17fSkpO3ZhciBuPXMoNzc5NDc0KSxvPXMoOTE0NDg3KSxhPXMubihvKSxsPXMoMjczMzEwKTtmdW5jdGlvbiB1KGUpe2NvbnN0e25hbWU6dCx2YWx1ZTpzLHN0eWxlOmksdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazp1LHZhbHVlUmlnaHRJY29uOmMsY2xhc3NOYW1lOmh9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmEoKShyLmdyb3VwUm93LGgpLHN0eWxlOml9LHQmJm4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIuZ3JvdXBDZWxsfSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6ci50ZXh0fSx0KSksbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ci5ncm91cENlbGx9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpyLnRleHQsc3R5bGU6byxvbkNsaWNrOnV9LHMpLGMmJm4uY3JlYXRlRWxlbWVudChsLkljb24se2ljb246Yy5pY29uQ29udGVudCxjbGFzc05hbWU6YSgpKHIuZ3JvdXBJY29uLGMuaWNvbkNsYXNzLCJhcHBseS1jb21tb24tdG9vbHRpcCIpLHRpdGxlOmMudG9vbHRpcFRleHR9KSkpfX0sMjI4ODIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5nZSxjcmVhdGVFYXJuaW5nc0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wczooKT0+ZmUsY3JlYXRlU3BsaXRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzOigpPT5iZSxnZXRNb3JlRmluYW5jaWFsc0RpdmlkZW5kc0xpbmtUZXh0OigpPT5TZSxnZXRNb3JlRmluYW5jaWFsc0xpbmtUZXh0OigpPT51ZX0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoMjE0OTg3KSxvPXMoMjIxMDYxKSxhPXMoMjc2MDE5KSxsPXMoNTIzMDcxKSx1PXMoNDkxMTY1KSxjPXMoOTI2OTk1KSxoPXMoNTMyOTc1KSxkPXMoNDA3MDA2KSxfPXMoMTEyNzI1KSxwPXMoODExOTA0KSx5PXMoMTg1MjcxKSxtPXMoNTE3MjkzKSx2PXMoNzcwNzU1KSxmPXMoOTY5MTY4KSxTPXMoNTU0NjU0KSxnPXMoODIyNzk1KSxiPXMoOTMwMjMxKSx3PXMoNTY5Mzk4KSxDPXMoODg4NTYyKSxQPXMoODg5Mzk3KSx4PXMoNzIxMDQyKSxEPXMoMjMzMjQ3KSxJPXMoNjMyNjA3KSxUPXMoODk0Njk3KSxWPXMoNDA4Mzc3KSxSPXMoMzUzMjA2KSxBPXMoNjkxOTgpLEw9cygyNDEyMjMpLEU9cygzMDc3MDgpLE09cyg1NTIwODQpLGs9cyg1MzY5MiksQj1zKDU1MTQzMCksTj1zKDQzNTI3MyksRj1zKDI0MTUzMik7Y29uc3QgTz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LkxvbGlwb3BDb250ZW50RmFjdG9yeSIpLEg9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDY0MTg3NSkpLHE9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDM4NTExMikpLHo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDEzNjk1MikpLFU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDc1Njc4NCkpLFc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMzNjg3MSkpLCQ9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDkzMDU4NikpLEc9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ3MTEyNCkpLGo9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDMyNDUxKSksWT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDY0NjY3KSksSj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoODQ3ODU4KSksUT15LnQobnVsbCx7CmNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2Mjk5KSksWj15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNTE4MTQzKSksSz15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNDEwMzQ1KSksWD15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNzcyMTQ5KSksZWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDQ2NTkzNikpLHRlPXkudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg2NTEyMjQpKSxzZT15LnQobnVsbCx7Y29udGV4dDoiRmluYW5jaWFsIGV2ZW50cyBsb2xpcG9wcyJ9LHMoNjQyODE3KSksaWU9eS50KG51bGwse2NvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI5OTU5MykpLHJlPSgwLEQuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxuZT0oMCxELmdldFZvbHVtZUZvcm1hdHRlcikoKSxvZT1uZXcgbS5DaXJjdWxhckNhY2hlQnVmZmVyKDMyKSxhZT1bImluIiwiZW4iXS5pbmNsdWRlcyh3aW5kb3cubGFuZ3VhZ2U/PyJlbiIpO2Z1bmN0aW9uIGxlKGUsdCxzPSJvdmVydmlldyIpe2lmKCEvXGJldGZcYi9pLnRlc3QoZT8uZGVzY3JpcHRpb258fCIiKSlyZXR1cm57Y2hpbGRyZW46dCxvbkNsaWNrOmFzeW5jKCk9PnthLmdsb2JhbENsb3NlRGVsZWdhdGUuZmlyZSgpLCgwLGIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZmluYW5jaWFsc193ZWJ2aWV3Iik/KDAsQy5vcGVuRmluYW5jaWFsc1dlYnZpZXcpKG5ldyBVUkxTZWFyY2hQYXJhbXMpOigwLFAuc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKHtpbml0aWFsVGFiSWQ6c30pfX19ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDI0MTc3KSl9ZnVuY3Rpb24gY2UoZSx0KXtyZXR1cm57aWNvbjpGLGNsYXNzTmFtZToiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJkYXRhLXRvb2x0aXAiOnkudChudWxsLHZvaWQgMCxzKDM0NDQ4MikpLG9uQ2xpY2s6YXN5bmMoKT0+eygwLHgudHJhY2tBbGVydENyZWF0aW9uQXR0ZW1wdCkoZS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksImVhcm5pbmdzX2xvbGxpcG9wIiwiY2hhcnQiKSx3aW5kb3cuaXNfYXV0aGVudGljYXRlZD8oMCxnLmludm9rZUFsZXJ0RWRpdG9yKSh7bW9kZTpnLkFsZXJ0RWRpdG9ySW52b2NhdGlvbk1vZGUuQ3JlYXRlQWxlcnQsZGF0YVNvdXJjZUh1YjplLGVhcm5pbmdzOnQsc291cmNlOiJjaGFydCIsbWV0aG9kOiJlYXJuaW5nc19sb2xsaXBvcCIsYWN0aW9uU291cmNlOiJlYXJuaW5nc19sb2xsaXBvcCJ9KTooMCx2Lm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToiYWxlcnRzT25FYXJuaW5ncyJ9KX19fWZ1bmN0aW9uIGhlKGUpe3JldHVybntkb2N1bWVudElkOmUuaWQsaWQ6ZS5jYXRlZ29yeS5pZCx0aXRsZTplLmNhdGVnb3J5LnRpdGxlLHZpZXdzOmUudmlld3MsZm9ybTplLmZvcm0/P251bGx9fWZ1bmN0aW9uIGRlKGUsdCl7cmV0dXJuKDAsaC5nZXREb2N1bWVudHNBcGkpKCkuZG9jU2NyZWVuZXIudjEuZ2V0RG9jdW1lbnRzKHtjbGllbnQ6ImNoYXJ0IixmaWx0ZXJzOlt7aWQ6ImxhbmciLHZhbHVlczpbd2luZG93Lmxhbmd1YWdlPz8iZW4iXX0se2lkOiJzeW1ib2wiLHZhbHVlczpbZV19XX0se3NpZ25hbDp0fSl9Y29uc3QgX2U9W1sidXJuOnN1bW1hcnlfZG9jdW1lbnRfcmVwb3J0OnF1YXJ0ci5jb20iLCJ1cm46cmVwb3J0OnF1YXJ0ci5jb20iXSxbInVybjpzdW1tYXJ5X2RvY3VtZW50X3NsaWRlczpxdWFydHIuY29tIiwidXJuOnNsaWRlczpxdWFydHIuY29tIl0sWyJ1cm46c3VtbWFyeV9kb2N1bWVudF90cmFuc2NyaXB0OnF1YXJ0ci5jb20iLCJ1cm46dHJhbnNjcmlwdHM6cXVhcnRyLmNvbSJdXTtmdW5jdGlvbiBwZShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuaXRlbXMuZm9yRWFjaCgoZT0+e2NvbnN0IHM9KChpPWUuaWQpLmVuZHNXaXRoKCI6MCIpJiYoaT1pLnNsaWNlKDAsLTIpKSxfZS5yZWR1Y2UoKChlLHQpPT5lLnJlcGxhY2UodFswXSx0WzFdKSksaSkpO3ZhciBpO3Quc2V0KHMsZS50aXRsZSl9KSksdH1mdW5jdGlvbiB5ZShlLHQpe3JldHVybigwLGQuZ2V0TmV3c01lZGlhdG9yU2VydmljZSkoKS52Mi5nZXROZXdzKHtjbGllbnQ6ImxhbmRpbmciLHN0cmVhbWluZzohMSxmaWx0ZXJzOlt7aWQ6InN5bWJvbCIsdmFsdWVzOltlXX0se2lkOiJwcm92aWRlciIsdmFsdWVzOlsicXVhcnRyIl19XX0se3NpZ25hbDp0fSkudGhlbihwZSl9ZnVuY3Rpb24gbWUoZSx0KXtjb25zdCBzPW9lLmdldChlKTtpZihzKXJldHVybiBzO2NvbnN0IGk9e2RvY3VtZW50c1JlcXVlc3Q6ZGUoZSx0KSxuZXdzUmVxdWVzdDp5ZShlLHQpfTtyZXR1cm4gb2Uuc2V0KGUsaSksaX1mdW5jdGlvbiB2ZShlKXtjb25zdCB0PWUucmVwb3J0ZWQscz1udWxsIT10LGk9ZS5lc3RpbWF0ZSxyPW51bGwhPWksbj1zJiZyP3QtaTpudWxsO2xldCBvPWUucmV2ZW51ZUVzdGltYXRlLGE9ITE7bnVsbCE9byYmKGE9ITAsbyo9MWU2KTtsZXQgbD1lLnJldmVudWVWYWx1ZSx1PSExO251bGwhPWwmJih1PSEwLGwqPTFlNik7Y29uc3QgYz11JiZhP2wtbzpudWxsO3JldHVybntzdXJwcmlzZTpuLHJldmVudWVTdXJwcmlzZTpjLHJldmVudWVFc3RpbWF0ZTpvLGlzUmV2ZW51ZUVzdGltYXRlOmEsaXNSZXBvcnRlZDpzLHJldmVudWVWYWx1ZTpsLGlzUmV2ZW51ZVZhbHVlOnUsZXN0aW1hdGU6aSxyZXBvcnRlZDp0LGlzRXN0aW1hdGU6cixzdXJwcmlzZVBlcmNlbnQ6bnVsbD09bj9udWxsOjEwMCpNYXRoLmFicyhuL2kpLHJldmVudWVTdXJwcmlzZVBlcmNlbnQ6bnVsbD09Yz9udWxsOjEwMCpNYXRoLmFicyhjL28pfX1hc3luYyBmdW5jdGlvbiBmZShlLHQsbyxhLGgsZCxtKXsKY29uc3R7c3VycHJpc2U6dixyZXZlbnVlU3VycHJpc2U6ZyxyZXZlbnVlRXN0aW1hdGU6Yixpc1JldmVudWVFc3RpbWF0ZTpDLHJldmVudWVWYWx1ZTpQLGlzUmV2ZW51ZVZhbHVlOngsZXN0aW1hdGU6RCxpc1JlcG9ydGVkOkEscmVwb3J0ZWQ6TCxpc0VzdGltYXRlOkYsc3VycHJpc2VQZXJjZW50OkcscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpqfT12ZShlKSxZPSJGdXR1cmUiPT09ZS50eXBlfHwiRXN0aW1hdGVkRGF0ZSI9PT1lLnR5cGUsWj1vJiYhWT9hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQscyl7Y29uc3R7cGVyaW9kOmksZGF0ZTpyfT10LG89bmV3IERhdGUoMWUzKmkpLGE9IlEiKyhvLmdldFVUQ01vbnRoKCkrMSkvMyxsPW1lKGUucHJvX25hbWUscyk7dHJ5e2NvbnN0W2UsdF09YXdhaXQgUHJvbWlzZS5hbGwoW2wuZG9jdW1lbnRzUmVxdWVzdCxsLm5ld3NSZXF1ZXN0XSk7aWYocy5hYm9ydGVkKXJldHVybiBudWxsO2NvbnN0IGk9ZS5pdGVtcy5maW5kKChlPT5bInF1YXJ0ZXJseV9yZXBvcnQiLCJlYXJuaW5nc19yZWxlYXNlIiwiYW5udWFsX3JlcG9ydCJdLmluY2x1ZGVzKGUuY2F0ZWdvcnkuaWQpJiYiZWFybmluZyI9PT1lLmV2ZW50JiZlLmZpc2NhbF9wZXJpb2Q9PT1hJiZlLmZpc2NhbF95ZWFyPT09by5nZXRVVENGdWxsWWVhcigpKSk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3Qgbj1pLmlkLHU9aS5jb3JyZWxhdGlvbl9pZCxjPWUuaXRlbXMuZmlsdGVyKChlPT5lLmNvcnJlbGF0aW9uX2lkPT09dSkpO3JldHVybntzdW1tYXJ5OmFlP3QuZ2V0KG4pPz8iIjoiIixmaXNjYWxQZXJpb2Q6YSxmaXNjYWxZZWFyOm8uZ2V0VVRDRnVsbFllYXIoKSxldmVudERhdGU6ci8xZTMsY2F0ZWdvcmllczpjLm1hcChoZSl9fWNhdGNoKGUpe3JldHVybiBuLmlzQWJvcnRFcnJvcnx8Ty5sb2dFcnJvcihgRXJyb3IgcmVxdWVzdGluZyBkb2N1bWVudHMgYW5kIG5ld3M6ICR7ZX1gKSxudWxsfX0obyxlLGQpOm51bGwsSz1lLnN0YW5kYXJkaXplZCxlZT1udWxsIT1LLG9lPTEwPT09ZS50aW1lVHlwZXx8MTQ9PT1lLnRpbWVUeXBlLHVlPSgwLFYuZWFybmluZ3NTdHlsZXMpKGEpO2xldCBkZSxfZSxwZSx5ZSxmZTtzd2l0Y2goZS50eXBlKXtjYXNlIkZ1dHVyZSI6X2U9dWUuZnV0dXJlLGRlPWs7YnJlYWs7Y2FzZSJFc3RpbWF0ZWREYXRlIjpfZT11ZS5lc3RpbWF0ZWREYXRlLGRlPVI7YnJlYWs7Y2FzZSJOZWdhdGl2ZSI6X2U9dWUubmVnYXRpdmUsZGU9TTticmVhaztjYXNlIlBvc2l0aXZlIjpfZT11ZS5wb3NpdGl2ZSxkZT1FO2JyZWFrO2RlZmF1bHQ6X2U9dWUudW5rbm93bixkZT1rfXN3aXRjaChlLnRpbWVUeXBlKXtjYXNlIDEyOmNhc2UgMjI6cGU9Tix5ZT1JLkxvbGxpcG9wR3JvdXBJY29ucy5BZnRlck1hcmtldENsb3NlLGZlPWllO2JyZWFrO2Nhc2UgMTE6Y2FzZSAyMTpwZT1CLHllPUkuTG9sbGlwb3BHcm91cEljb25zLkJlZm9yZU1hcmtldE9wZW4sZmU9c2V9Y29uc3QgU2U9e25hbWU6IkVzdGltYXRlZERhdGUiPT09ZS50eXBlP1E6Six2YWx1ZTpoKGUuZGF0ZSxvZSl9O3BlJiYoU2UudmFsdWVSaWdodEljb249e2ljb25Db250ZW50OnBlLGljb25DbGFzczp5ZSx0b29sdGlwVGV4dDpmZX0pO2NvbnN0IGdlPVtTZV07ZS5wZXJpb2QmJmdlLnB1c2goe25hbWU6WCx2YWx1ZTp1LmRhdGVGb3JtYXRGdW5jdGlvbnNbIk1NTSAneXkiXShuZXcgRGF0ZSgxZTMqZS5wZXJpb2QpLCExKX0pO2NvbnN0IGJlPVo/ZnVuY3Rpb24oZSx0LHIsbyl7Y29uc3R7c3VycHJpc2U6YSxyZXZlbnVlU3VycHJpc2U6bCxzdXJwcmlzZVBlcmNlbnQ6dSxyZXZlbnVlU3VycHJpc2VQZXJjZW50OmN9PXZlKHQpO3JldHVybntjaGlsZHJlbjp5LnQobnVsbCx7Y29udGV4dDoiRWFybmluZyBsb2xsaXBvcCBvbiBjaGFydCJ9LHMoNzY3NzcxKSkuZm9ybWF0KHtzeW1ib2w6ZT8ubmFtZT8/IiJ9KSxvbkNsaWNrOmFzeW5jKCk9PntpZihlJiZyKXRyeXtjb25zdCBzPWFlP2F3YWl0IG1lKGUucHJvX25hbWUsbykubmV3c1JlcXVlc3Q6bmV3IE1hcDtpZihvLmFib3J0ZWQpcmV0dXJuO2NvbnN0IG49ci5jYXRlZ29yaWVzLm1hcCgoZT0+KHtpZDplLmRvY3VtZW50SWQsdGl0bGU6cy5nZXQoZS5kb2N1bWVudElkKT8/IiJ9KSkpLGg9e3RpdGxlOmBFYXJuaW5ncywgJHtyLmZpc2NhbFBlcmlvZH0gRlkke3IuZmlzY2FsWWVhcn1gLGlzQW5udWFsOiExLGV2ZW50OiJlYXJuaW5nIixkYXRlOnIuZXZlbnREYXRlLHllYXI6ci5maXNjYWxZZWFyLHN1bW1hcnk6ci5zdW1tYXJ5LGNhdGVnb3JpZXM6KDAsXy5zb3J0Q2F0ZWdvcmllcykoci5jYXRlZ29yaWVzKSxjdXJyZW5jeTplLmN1cnJlbmN5X2NvZGUsZWFybmluZzp7Li4udCxzdGFuZGFyZGl6ZWQ6dC5zdGFuZGFyZGl6ZWQ/P3ZvaWQgMCxyZXBvcnRlZDp0LnJlcG9ydGVkPz92b2lkIDAsZXN0aW1hdGU6dC5lc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVFc3RpbWF0ZTp0LnJldmVudWVFc3RpbWF0ZT8/dm9pZCAwLHJldmVudWVWYWx1ZTp0LnJldmVudWVWYWx1ZT8/dm9pZCAwLHN1cnByaXNlOmE/P3ZvaWQgMCxyZXZlbnVlU3VycHJpc2U6bD8/dm9pZCAwLHN1cnByaXNlUGVyY2VudDp1Pz92b2lkIDAscmV2ZW51ZVN1cnByaXNlUGVyY2VudDpjPz92b2lkIDB9fTsoMCxwLm9wZW5DYXJkUG9wdXApKHtwcm9fc3ltYm9sOmUucHJvX25hbWUsc2hvcnRfbmFtZTplLm5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsdHZfc3ltYm9sX3BhZ2VfdXJsX2ZvcmNlX2V4Y2hhbmdlOltdLGluc3RydW1lbnRfbmFtZTooMCxpLmVuc3VyZURlZmluZWQpKCgwLFQuZ2V0RGVzY3JpcHRpb25Gb3JUaXRsZUdlbmVyYXRpb24pKCJkZXNjcmlwdGlvbiIsZSkpfSxoLGguY2F0ZWdvcmllc1swXSxuKX1jYXRjaChlKXsoMCxuLmlzQWJvcnRFcnJvcikoZSl8fE8ubG9nRXJyb3IoYEVycm9yIHJlcXVlc3RpbmcgZG9jdW1lbnRzIGFuZCBuZXdzOiAke2V9YCl9fX19KG8sZSxaLGQpOmxlKG8sZnVuY3Rpb24oZSl7cmV0dXJuIHkudChudWxsLHtyZXBsYWNlOntzeW1ib2w6ZT8ubmFtZT8/IiJ9LGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMiCn0scyg3NTkxNTEpKX0obyksImVhcm5pbmdzIiksd2U9e3RpdGxlOnh8fEM/SDpxLGluZm9ybWF0aW9uQnV0dG9uUHJvcHM6e2FyaWFMYWJlbDp5LnQobnVsbCx2b2lkIDAscyg4Njk4NjcpKSxpY29uOiJxdWVzdGlvbiIsb25DbGljazooKT0+KDAsYy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6Uy5zb2x1dGlvbklkcy5FQVJOSU5HX0xPTExJUE9QX0ZJRUxEU30pfSxhbGVydDptLGljb246ZGUsc3R5bGU6e2NvbG9yOl9lfSxhY3Rpb25zOltiZSwoMCx3LmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKSYmWT9jZSh0LHtlc3RpbWF0ZWREYXRlOm5ldyBEYXRlKGUuZGF0ZSksZXN0aW1hdGVkUmV2ZW51ZTpiPz92b2lkIDAsZXN0aW1hdGVkRWFybmluZ3M6RD8/dm9pZCAwfSk6dm9pZCAwXS5maWx0ZXIoci5pc0V4aXN0ZW50KSxtYWluOnt0eXBlOiJjb21tb24iLHRpdGxlOmdlLGNvbnRlbnQ6W119LGRvY3VtZW50c0luZm86Wn0sQ2U9e3RpdGxlOnEsY29udGVudDpbXX07aWYoZWUmJkNlLmNvbnRlbnQucHVzaCh7bmFtZTp6LHZhbHVlOigwLGwucm91bmRUb1RoaXJkRGlnaXQpKEspfSksQSYmQ2UuY29udGVudC5wdXNoKHtuYW1lOlUsdmFsdWU6KDAsbC5yb3VuZFRvVGhpcmREaWdpdCkoTCl9KSxGJiZDZS5jb250ZW50LnB1c2goe25hbWU6Vyx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShEKX0pLG51bGwhPT12KXtsZXQgZT0oMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh2KTtpc0Zpbml0ZShHKSYmKGUrPSIgKCIrcmUuZm9ybWF0KEcpKyIpIiksQ2UuY29udGVudC5wdXNoKHtuYW1lOiQsdmFsdWU6KDAsZi5mb3JjZUxUUlN0cikoZSksc3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQiLGNvbG9yOl9lfX0pfWlmKCgwLGkuZW5zdXJlRGVmaW5lZCkod2UubWFpbi5jb250ZW50KS5wdXNoKENlKSx4fHxDKXtjb25zdCBlPXt0aXRsZTp0ZSxjb250ZW50OltdfTtpZih4JiZlLmNvbnRlbnQucHVzaCh7bmFtZTpVLHZhbHVlOm5lLmZvcm1hdChQKX0pLEMmJmUuY29udGVudC5wdXNoKHtuYW1lOlcsdmFsdWU6bmUuZm9ybWF0KGIpfSksbnVsbCE9PWcpe2xldCB0PW5lLmZvcm1hdChnKTtpc0Zpbml0ZShqKSYmKHQrPSIgKCIrcmUuZm9ybWF0KGopKyIpIiksZS5jb250ZW50LnB1c2goe25hbWU6JCx2YWx1ZTooMCxmLmZvcmNlTFRSU3RyKSh0KSxzdHlsZTp7Zm9udFdlaWdodDoiYm9sZCIsY29sb3I6Zz49MD91ZS5wb3NpdGl2ZTp1ZS5uZWdhdGl2ZX19KX0oMCxpLmVuc3VyZURlZmluZWQpKHdlLm1haW4uY29udGVudCkucHVzaChlKX1yZXR1cm5bd2VdfWZ1bmN0aW9uIFNlKGUpe3JldHVybiB5LnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOmU/Lm5hbWU/PyIifSxjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scygzODE0NzkpKX1mdW5jdGlvbiBnZShlLHQscyxpKXtjb25zdHtkYXRlOm4sYW1vdW50RGl2aWRlbmRzOm8scGF5bWVudERhdGU6YSxhZGp1c3RlZEFtb3VudERpdmlkZW5kczp1fT1lLGM9W3tuYW1lOlosdmFsdWU6aShuKX1dO3JldHVybigwLHIuaXNOdW1iZXIpKG8pJiZjLnB1c2goe25hbWU6aix2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KShvKX0pLCgwLHIuaXNOdW1iZXIpKHUpJiZjLnB1c2goe25hbWU6WSx2YWx1ZTooMCxsLnJvdW5kVG9UaGlyZERpZ2l0KSh1KX0pLCgwLHIuaXNOdW1iZXIpKGEpJiZjLnB1c2goe25hbWU6ZWUsdmFsdWU6aShhKX0pLFt7dGl0bGU6RyxpY29uOkwsc3R5bGU6e2NvbG9yOigwLFYuZGl2aWRlbmRzU3R5bGVzKShzKX0sYWN0aW9uczpbbGUodCxTZSh0KSwiZGl2aWRlbmRzIildLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6Y319XX1mdW5jdGlvbiBiZShlLHQscyxpKXtsZXQgbj1LO3JldHVybigwLHIuaXNOdW1iZXIpKGUubnVtZXJhdG9yKSYmKDAsci5pc051bWJlcikoZS5kZW5vbWluYXRvcikmJihuKz0iOiAiK2UubnVtZXJhdG9yKyIvIitlLmRlbm9taW5hdG9yKSxbe3RpdGxlOm4saWNvbjpBLHN0eWxlOntjb2xvcjooMCxWLnNwbGl0c1N0eWxlKShzKX0sYWN0aW9uczpbbGUodCx1ZSh0KSldLmZpbHRlcihyLmlzRXhpc3RlbnQpLG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6aShlLmRhdGUpfX1dfX0sNDA4Mzc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RhcmtUaGVtZUVhcm5pbmdzU3R5bGU6KCk9PnIsZGl2aWRlbmRzU3R5bGVzOigpPT51LGVhcm5pbmdzU3R5bGVzOigpPT5vLGxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlOigpPT5uLHNwbGl0c1N0eWxlOigpPT5kfSk7dmFyIGk9cyg1MDU1Nik7Y29uc3Qgcj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTYwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC02MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTQwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS0zNTAiKX0sbj17cG9zaXRpdmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLW1pbnR5LWdyZWVuLTUwMCIpLG5lZ2F0aXZlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1yaXBlLXJlZC01MDAiKSxmdXR1cmU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLGVzdGltYXRlZERhdGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWdyYXBlcy1wdXJwbGUtYTIwMCIpLHVua25vd246KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS03MDAiKX07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZT9yOm59Y29uc3QgYT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS02MDAiKSxsPSgwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIGU/YTpsfWNvbnN0IGM9KDAsCmkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10YW4tb3JhbmdlLTYwMCIpLGg9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAwIik7ZnVuY3Rpb24gZChlKXtyZXR1cm4gZT9jOmh9fSw3NTc4MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaTtzLmQodCx7V2Vidmlld0NvbnRyb2xsZXJCYXNlOigpPT5uLFdlYnZpZXdQYWdlTmFtZTooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRGV0YWlscz0iZGV0YWlscyIsZS5UZWNobmljYWxzPSJ0ZWNobmljYWxzIixlLkNvcnBvcmF0ZUJvbmRzPSJjb3Jwb3JhdGUtYm9uZHMiLGUuU2Vhc29uYWxzPSJzZWFzb25hbHMiLGUuU3RvY2tCb25kcz0ic3RvY2stYm9uZHMiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkJvbmRZaWVsZEN1cnZlPSJib25kLXlpZWxkLWN1cnZlIixlLllpZWxkQ3VydmVzPSJ5aWVsZC1jdXJ2ZXMiLGUuRG9jdW1lbnRzPSJkb2N1bWVudHMiLGUuRXRmcz0iZXRmcyIsZS5Db250cmFjdHM9ImNvbnRyYWN0cyIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMiLGUuTmV3cz0ibmV3cyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSJ9KGl8fChpPXt9KSk7dmFyIHI9cygyMjUyOTgpO2NsYXNzIG57X2NyZWF0ZU9wZW5SZXF1ZXN0KGUsdD1uZXcgVVJMU2VhcmNoUGFyYW1zKXtjb25zdCBzPXQuZ2V0KCJzeW1ib2wiKT8/ci5saW5raW5nLnN5bWJvbC52YWx1ZSgpO3JldHVybiB0LnNldCgic3ltYm9sIixzKSx7ZXhlY3V0ZSgpe2NvbnN0IHM9bmV3IFVSTChgd2Vidmlldy8ke2V9L2AsbG9jYXRpb24ub3JpZ2luKTtyZXR1cm4gcy5zZWFyY2g9dC50b1N0cmluZygpLHdpbmRvdy5vcGVuKHMsIl9ibGFuayIpfSxzeW1ib2w6KCk9PnN9fX19LDcwNjI0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTZXNzaW9uczooKT0+X30pO3ZhciBpPXMoMTM4NjM4KSxyPXMoOTMwMjMxKSxuPXMoNzkxNDI3KSxvPXMoNzk5Mzc1KSxhPXMoMjE4NzY1KSxsPXMoNzU1NjI3KSx1PXMoNTk2MjcyKSxjPXMoOTY2NDA0KSxoPXMoNjA1MjU3KTtjb25zdCBkPW5ldyBsLlByaWNlRm9ybWF0dGVyO2NsYXNzIF8gZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0KSx0aGlzLl9zdHVkeVNvdXJjZT1udWxsLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9tZXRhSW5mbz1udWxsLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9pc1N0YXJ0ZWQ9ITEsdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9kb3VibGVDbGlja0hhbmRsZXI9aSx0aGlzLl9wcm9wZXJ0aWVzPXMsdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSx0aGlzLl9yZXF1ZXN0QW5kUHJvY2Vzc01ldGFJbmZvKCksdC50aW1lU2NhbGUoKS5vblJlc2V0KCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2xlYXJEYXRhKSx0LnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLnVwZGF0ZUFsbFZpZXdzLmJpbmQodGhpcywoMCxjLnZpZXdwb3J0Q2hhbmdlRXZlbnQpKCkpKSx0Lm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSl9c3RhcnQoKXt0aGlzLl9pc1N0YXJ0ZWQ9ITAsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZSgpfXJlc3RhcnQoKXt0aGlzLl9jbGVhckRhdGEoKSwoMCxyLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdG9wX3N0dWR5X29uX3Jlc3RhcnQiKSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9c3RvcCgpe3RoaXMuX2lzU3RhcnRlZD0hMSxudWxsIT09dGhpcy5fc3R1ZHlTb3VyY2UmJnRoaXMuX3N0dWR5U291cmNlLnN0b3AoKX1pc0hvdmVyZWRFbmFibGVkKCl7cmV0dXJuITF9cGFuZVZpZXdzKGUpe3JldHVybiB0aGlzLl9wYW5lVmlld3N9dXBkYXRlQWxsVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSl9dXBkYXRlVmlld3NGb3JQYW5lKGUsdCl7dGhpcy51cGRhdGVBbGxWaWV3cyh0KX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLG51bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmKHRoaXMuX3N0dWR5U291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc3R1ZHlTb3VyY2UuZGF0YVVwZGF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9zdHVkeVNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3R1ZHlTb3VyY2U9bnVsbCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkubG9naWNhbFJhbmdlQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLm9uUmVzZXQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Byb3BlcnRpZXMudW5zdWJzY3JpYmVBbGwodGhpcyl9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKX1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuc2VyaWVzKCkucHJpY2VTY2FsZSgpfWdyYXBoaWNzKCl7cmV0dXJuIHRoaXMuX2xvYWRlZEdyYXBoaWNzfHwoMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5U291cmNlKS5ncmFwaGljcygpfXZhbHVlQXQoZSx0KXtyZXR1cm4gbnVsbH1wcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXN9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tZXRhSW5mbykuZ3JhcGhpY3N9Zmlyc3RWYWx1ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmZpcnN0VmFsdWUoKX1mb3JtYXR0ZXIoKXtyZXR1cm4gZH1zdGF0ZURhdGEoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21ldGFJbmZvP3tncmFwaGljczooMCwKYS5zYXZlU3R1ZHlHcmFwaGljcykodGhpcy5ncmFwaGljcygpLHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbWV0YUluZm86dGhpcy5fbWV0YUluZm8uc3RhdGUoKX06bnVsbH1yZXN0b3JlU3RhdGVEYXRhKGUpe3ZvaWQgMCE9PWUmJih0aGlzLl9sb2FkU3R1ZHlHcmFwaGljcyhlLmdyYXBoaWNzKSx0aGlzLl9zZXRNZXRhSW5mbyhuZXcgbi5TdHVkeU1ldGFJbmZvKGUubWV0YUluZm8pKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSl9bWV0YUluZm8oKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX21ldGFJbmZvKX1hc3luYyBfcmVxdWVzdEFuZFByb2Nlc3NNZXRhSW5mbygpe2lmKHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSlyZXR1cm47Y29uc3QgZT1hd2FpdCgwLGguc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuZmluZEJ5SWQoe3R5cGU6ImphdmEiLHN0dWR5SWQ6IlNlc3Npb25zQHR2LWJhc2ljc3R1ZGllcyJ9KTt0aGlzLl9kZXN0cm95ZWR8fG51bGw9PT10aGlzLl9sb2FkZWRHcmFwaGljcyYmKHRoaXMuX3NldE1ldGFJbmZvKGUpLG51bGwhPT10aGlzLl9tZXRhSW5mbyYmKHRoaXMuX3N0dWR5U291cmNlPW5ldyBvLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMuX21vZGVsLmNoYXJ0QXBpKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLCJzZXNzaW9uc18iLHRoaXMuX21ldGFJbmZvKSx0aGlzLl9jcmVhdGVQYW5lVmlld3MoKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMudXBkYXRlQWxsVmlld3MuYmluZCh0aGlzLCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpKSx0aGlzLl9zdHVkeVNvdXJjZS5zZXRJbnB1dHMoe30pLHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSkpfV9sb2FkU3R1ZHlHcmFwaGljcyhlKXtjb25zdCB0PWUuYmFja2dyb3VuZHM7aWYodm9pZCAwIT09dCl7Y29uc3QgZT10LmZpbmRJbmRleCgoZT0+ImluU2Vzc2lvbiI9PT1lLnN0eWxlSWQpKTstMSE9PWUmJnQuc3BsaWNlKGUsMSl9dGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsYS5sb2FkU3R1ZHlHcmFwaGljcykoZSl9X3NldE1ldGFJbmZvKGUpe2NvbnN0IHQ9ZS5ncmFwaGljcy5iYWNrZ3JvdW5kczt2b2lkIDAhPT10JiZ2b2lkIDAhPT10LmluU2Vzc2lvbiYmZGVsZXRlIHQuaW5TZXNzaW9uLHRoaXMuX21ldGFJbmZvPWV9X2NsZWFyRGF0YSgpe251bGwhPT10aGlzLl9zdHVkeVNvdXJjZSYmdGhpcy5fc3R1ZHlTb3VyY2UuY2xlYXJEYXRhKCl9X2NyZWF0ZVBhbmVWaWV3cygpe2NvbnN0IGU9e2RvdWJsZUNsaWNrSGFuZGxlcjp0aGlzLl9kb3VibGVDbGlja0hhbmRsZXJ9OygwLGEuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5fbW9kZWwsZSkudGhlbigoZT0+e3RoaXMuX3BhbmVWaWV3cz1lLnJlZ3VsYXJQYW5lVmlld3MsdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX0pKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpe3RoaXMuX3Byb2Nlc3NIaWJlcm5hdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGMuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpfV9wcm9jZXNzSGliZXJuYXRlKCl7aWYobnVsbCE9PXRoaXMuX3N0dWR5U291cmNlKXtjb25zdCBlPXRoaXMuX2NhbkJlSGliZXJuYXRlZCgpLHQ9dGhpcy5faXNIaWJlcm5hdGVkKCkscz10aGlzLl9zdHVkeVNvdXJjZS5pc1N0YXJ0ZWQoKTshdCYmZSYmcz90aGlzLl9zdHVkeVNvdXJjZS5zdG9wKCk6IXR8fGV8fHN8fHRoaXMuX3N0dWR5U291cmNlLnN0YXJ0KCl9fV9jYW5CZUhpYmVybmF0ZWQoKXtpZih0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKSlyZXR1cm4hMDtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2Vzc2lvbkhpZ2hsaWdodC5jaGlsZHMoKSx7cHJlTWFya2V0OnQscG9zdE1hcmtldDpzLGVsZWN0cm9uaWM6aSxvdXRPZlNlc3Npb246cn09ZS5iYWNrZ3JvdW5kcy5jaGlsZHMoKSx7c2Vzc0JyZWFrczpufT1lLnZlcnRsaW5lcy5jaGlsZHMoKSxvPXQuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnQuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpfHxzLmNoaWxkcygpLmF2YWlsYWJsZS52YWx1ZSgpJiZzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8aS5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmaS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fHIuY2hpbGRzKCkuYXZhaWxhYmxlLnZhbHVlKCkmJnIuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpLGE9bi5jaGlsZHMoKS5hdmFpbGFibGUudmFsdWUoKSYmbi5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCk7cmV0dXJuIW8mJiFhfV9pc0hpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5faXNTdGFydGVkJiYobnVsbD09PXRoaXMuX3N0dWR5U291cmNlfHwhdGhpcy5fc3R1ZHlTb3VyY2UuaXNTdGFydGVkKCkpfX19LDkwOTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9FU0QkVFZfRElWSURFTkRTOigpPT5zZSxzdHVkeV9FU0QkVFZfRUFSTklOR1M6KCk9PnJlLHN0dWR5X0VTRCRUVl9TUExJVFM6KCk9PmllfSk7dmFyIGk9cyg1MDU1Nikscj1zKDk1MjkwMCksbj1zKDU1NjkxMSksbz1zKDYwMTg0MSksYT1zKDg3MzU3MyksbD1zKDIyODgyKSx1PXMoNDA4Mzc3KTt2YXIgYyxoPXMoNzYzKSxkPXMoMjYwNjkpOyFmdW5jdGlvbihlKXtlLlBvc2l0aXZlRWFybmluZ0ZpbGxQYXRoPSJNMTEuMDggMS4zNmEzIDMgMCAwIDEgMi44NiAwbDcuNDkgNC4wNkEzIDMgMCAwIDEgMjMgOC4wNlYyMGEzIDMgMCAwIDEtMyAzSDVhMyAzIDAgMCAxLTMtM1Y4LjA2YTMgMyAwIDAgMSAxLjU3LTIuNjR6IiwKZS5Qb3NpdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IixlLlBvc2l0aXZlRWFybmluZ0xhYmVsUGF0aD0iTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiLGUuTmVnYXRpdmVFYXJuaW5nRmlsbFBhdGg9Ik0xMS4wOCAyMy42NGEzIDMgMCAwIDAgMi44NiAwbDcuNDktNC4wNkEzIDMgMCAwIDAgMjMgMTYuOTRWNWEzIDMgMCAwIDAtMy0zSDVhMyAzIDAgMCAwLTMgM3YxMS45NGEzIDMgMCAwIDAgMS41NyAyLjY0eiIsZS5OZWdhdGl2ZUVhcm5pbmdTdHJva2VQYXRoPSJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiLGUuTmVnYXRpdmVFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjJ2MS41aC0zLjd2Mi4yNWgyLjd2MS41aC0yLjd2Mi4yNWgzLjdWMTd6IixlLkRlZmF1bHRFYXJuaW5nRmlsbFBhdGg9Ik0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsZS5EZWZhdWx0RWFybmluZ1N0cm9rZVBhdGg9Ik01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIixlLkRlZmF1bHRFYXJuaW5nTGFiZWxQYXRoPSJNMTAgMTdWOGg1LjV2MS41aC00djIuMjVoM3YxLjVoLTN2Mi4yNWg0VjE3eiJ9KGN8fChjPXt9KSk7dmFyIF89cyg3MzY1MzEpLHA9cyg2MzcxMDQpLHk9cyg3ODY0MzYpO2Z1bmN0aW9uIG0oZSx0LHMpe0FycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKCh0PT57bShlLHQscyl9KSk6ImZpbGwiPT09dC5tb2RlPyhlLmZpbGxTdHlsZT1zLGUuZmlsbCh0LnBhdGgpKToic3Ryb2tlIj09PXQubW9kZSYmKGUuc3Ryb2tlU3R5bGU9cyxlLnN0cm9rZSh0LnBhdGgpKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJue2JhY2tncm91bmQ6e2JvZHlQYXRoOntwYXRoOm5ldyBQYXRoMkQoZSksbW9kZToiZmlsbCJ9fSxmb3JlZ3JvdW5kOntib2R5UGF0aDp7cGF0aDpuZXcgUGF0aDJEKHQpLG1vZGU6ImZpbGwifSxib3JkZXJQYXRoOntwYXRoOm5ldyBQYXRoMkQodCksbW9kZToic3Ryb2tlIn19fX1jb25zdCBmPXYoIk0xMS4wOCAxLjM2YTMgMyAwIDAgMSAyLjg2IDBsNy40OSA0LjA2QTMgMyAwIDAgMSAyMyA4LjA2VjIwYTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zVjguMDZhMyAzIDAgMCAxIDEuNTctMi42NHoiLCJNMTEuOSAyLjkxYy4zNy0uMjIuODQtLjIyIDEuMjIgMGw3LjUgNC4yNWMuMzkuMjIuNjMuNjQuNjMgMS4wOVYyMGMwIC42OS0uNTYgMS4yNS0xLjI1IDEuMjVINWMtLjY5IDAtMS4yNS0uNTYtMS4yNS0xLjI1VjguMjVjMC0uNDUuMjQtLjg3LjYzLTEuMDl6IiksUz12KCJNMTEuMDggMjMuNjRhMyAzIDAgMCAwIDIuODYgMGw3LjQ5LTQuMDZBMyAzIDAgMCAwIDIzIDE2Ljk0VjVhMyAzIDAgMCAwLTMtM0g1YTMgMyAwIDAgMC0zIDN2MTEuOTRhMyAzIDAgMCAwIDEuNTcgMi42NHoiLCJNMTEuOSAyMi4xYy4zNy4yLjg0LjIgMS4yMiAwbDcuNS00LjI2Yy4zOS0uMjIuNjMtLjYzLjYzLTEuMDhWNWMwLS42OS0uNTYtMS4yNS0xLjI1LTEuMjVINWMtLjY5IDAtMS4yNS41Ni0xLjI1IDEuMjV2MTEuNzZjMCAuNDUuMjQuODYuNjMgMS4wOHoiKSxnPXYoIk0yIDVhMyAzIDAgMCAxIDMtM2gxNWEzIDMgMCAwIDEgMyAzdjE1YTMgMyAwIDAgMS0zIDNINWEzIDMgMCAwIDEtMy0zeiIsIk01IDMuNWgxNWMuODMgMCAxLjUuNjcgMS41IDEuNXYxNWMwIC44My0uNjcgMS41LTEuNSAxLjVINUExLjUgMS41IDAgMCAxIDMuNSAyMFY0Ljg1QTEuNSAxLjUgMCAwIDEgNSAzLjVaIiksYj17YmFja2dyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAyYTMgMyAwIDAgMSAzIDN2MTVhMyAzIDAgMCAxLTMgM0g1YTMgMyAwIDAgMS0zLTN2LTQuODNxLS42My4xNi0xIC42M1Y5LjdxLjM2LS40MiAxLS42MlY1YTMgMyAwIDAgMSAzLTN6IiksbW9kZToiZmlsbCJ9XX0sZm9yZWdyb3VuZDp7Ym9keVBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRhMS45NSAxLjk1IDAgMCAwLTIgLjY0VjkuN2EyLjEgMi4xIDAgMCAxIDItLjY2VjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn1dLGJvcmRlclBhdGg6W3twYXRoOm5ldyBQYXRoMkQoIk0yMCAzYTIgMiAwIDAgMSAyIDJ2MTVhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQuODRjLjQ4LjE0Ljk4LjQ1IDEuNS42NVYyMGMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY0LjY1Yy0uNDgtLjIyLS45Ny0uNS0xLjUtLjYxVjVjMC0xLjEuOS0yIDItMnoiKSxtb2RlOiJmaWxsIn0se3BhdGg6bmV3IFBhdGgyRCgiTTIuNjMgMTIuNzVjMS4wMSAwIDEuOTIuOSAyLjc5LjlxMS4wNS0uMDIgMS41OC0uN3YxLjM0Yy0uMzUuNC0uODkuNzEtMS42Mi43MS0xLjAyIDAtMS45My0uOS0yLjgtLjktLjcgMC0xLjIzLjI2LTEuNTguN3YtMS4zNGMuMzUtLjQuODktLjcxIDEuNjMtLjcxTTIuNjMgMTBjMS4wMSAwIDEuOTIuOSAyLjc5LjkuNyAwIDEuMjMtLjI2IDEuNTgtLjd2MS40Yy0uMzUuNC0uODkuNy0xLjYyLjctMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuNGMuMzUtLjM5Ljg5LS43IDEuNjMtLjciKSxtb2RlOiJmaWxsIn1dLGFjdGl2ZVBhdGg6ewpwYXRoOm5ldyBQYXRoMkQoIk0yLjYzIDEyLjc1YzEuMDEgMCAxLjkyLjkgMi43OS45cTEuMDUtLjAyIDEuNTgtLjd2MS4zNGMtLjM1LjQtLjg5LjcxLTEuNjIuNzEtMS4wMiAwLTEuOTMtLjktMi44LS45LS43IDAtMS4yMy4yNi0xLjU4Ljd2LTEuMzRjLjM1LS40Ljg5LS43MSAxLjYzLS43MU0yLjYzIDEwYzEuMDEgMCAxLjkyLjkgMi43OS45LjcgMCAxLjIzLS4yNiAxLjU4LS43djEuNGMtLjM1LjQtLjg5LjctMS42Mi43LTEuMDIgMC0xLjkzLS45LTIuOC0uOS0uNyAwLTEuMjMuMjYtMS41OC43di0xLjRjLjM1LS4zOS44OS0uNyAxLjYzLS43IiksbW9kZToiZmlsbCJ9fX0sdz17YmFja2dyb3VuZDp7cGF0aDpuZXcgUGF0aDJEKCJNMjcgNEMyNi45OTk5IDEuMjM4NzkgMjQuNzYxMiAtMC45OTk4NTMgMjIgLTFDMTkuMjM4NyAtMSAxNy4wMDAxIDEuMjM4NjkgMTcgNEMxNyA2Ljc2MTQyIDE5LjIzODYgOSAyMiA5QzI0Ljc2MTMgOC45OTk4NSAyNyA2Ljc2MTMzIDI3IDRaTTIyLjUwMiAwLjk5OTk5OVY0Ljk5NjA5SDE5LjVWMy45OTYwOUgyMS41MDJWMC45OTk5OTlIMjIuNTAyWk0xNS4zNDg2IDAuMjk3ODUxTDE2LjA2MzUgMC45OTcwNjlMMTkuMjkxIC0yLjMwMDc4TDE4LjU3NjIgLTNMMTUuMzQ4NiAwLjI5Nzg1MVpNMjQuNzA5IC0yLjMwMDc4TDI3LjkzNjUgMC45OTcwNjlMMjguNjUwNCAwLjI5Nzg1MUwyNS40MjI5IC0zTDI0LjcwOSAtMi4zMDA3OFpNMTYuMzU3NCAxLjk1MzEyQzE2LjAxODcgMi4wNTY5MyAxNS42MzUzIDEuOTc3MDYgMTUuMzY0MyAxLjcxMTkxTDE0LjY0OTQgMS4wMTI2OUMxNC40NTk4IDAuODI3MjA4IDE0LjM1MTUgMC41NzM4NDEgMTQuMzQ4NiAwLjMwODU5M0MxNC4zNDU4IDAuMDQzNDk3MSAxNC40NDg0IC0wLjIxMTg0OSAxNC42MzM4IC0wLjQwMTM2OEwxNy44NjEzIC0zLjY5OTIyQzE4LjI0NzUgLTQuMDkzODUgMTguODgwNyAtNC4xMDA5NiAxOS4yNzU0IC0zLjcxNDg0TDE5Ljk5MDIgLTMuMDE1NjNDMjAuMTc5OSAtMi44MzAxNCAyMC4yODgxIC0yLjU3Njc3IDIwLjI5MSAtMi4zMTE1MkMyMC4yOTM1IC0yLjA4MjY2IDIwLjIxNjMgLTEuODYxODUgMjAuMDc2MiAtMS42ODM1OUMyMC42ODAyIC0xLjg4Nzk5IDIxLjMyNyAtMiAyMiAtMkMyMi42NzI0IC0xLjk5OTk2IDIzLjMxODQgLTEuODg3NjMgMjMuOTIxOSAtMS42ODM1OUMyMy42MTA2IC0yLjA3OTUxIDIzLjY0MDggLTIuNjU1MTYgMjQuMDA4OCAtMy4wMTU2M0wyNC43MjI3IC0zLjcxNDg0TDI0Ljc5NjkgLTMuNzgwMjdDMjQuOTc2NCAtMy45MjQzIDI1LjIwMTQgLTQuMDAyNDYgMjUuNDMzNiAtNEMyNS42OTg4IC0zLjk5NzE1IDI1Ljk1MjIgLTMuODg4NzggMjYuMTM3NyAtMy42OTkyMkwyOS4zNjUyIC0wLjQwMTM2OEMyOS43NTEyIC0wLjAwNjc2MzAxIDI5Ljc0NDkgMC42MjY0MTQgMjkuMzUwNiAxLjAxMjY5TDI4LjYzNjcgMS43MTE5MUMyOC40NDcyIDEuODk3NTUgMjguMTkxMSAxLjk5OTg3IDI3LjkyNTggMS45OTcwN0MyNy44MjgyIDEuOTk2MDIgMjcuNzMyMiAxLjk4MDUzIDI3LjY0MDYgMS45NTIxNUMyNy44NzI3IDIuNTkxMjMgMjggMy4yODA3NSAyOCA0QzI4IDcuMzEzNjcgMjUuMzEzNSA5Ljk5OTgyIDIyIDEwQzE4LjY4NjMgMTAgMTYgNy4zMTM3MSAxNiA0QzE2IDMuMjgxMzEgMTYuMTI1NyAyLjU5MTggMTYuMzU3NCAxLjk1MzEyWiIpLG1vZGU6ImZpbGwifSxmb3JlZ3JvdW5kOntwYXRoOm5ldyBQYXRoMkQoIk0yMiAtMUMyNC43NjEyIC0wLjk5OTg1MyAyNi45OTk5IDEuMjM4NzkgMjcgNEMyNyA2Ljc2MTMzIDI0Ljc2MTMgOC45OTk4NSAyMiA5QzE5LjIzODYgOSAxNyA2Ljc2MTQyIDE3IDRDMTcuMDAwMSAxLjIzODY5IDE5LjIzODcgLTEgMjIgLTFaTTIxLjUwMiAwLjk5OTk5OVYzLjk5NjA5SDE5LjVWNC45OTYwOUgyMi41MDJWMC45OTk5OTlIMjEuNTAyWk0xOS4yOTEgLTIuMzAwNzhMMTYuMDYzNSAwLjk5NzA2OUwxNS4zNDg2IDAuMjk3ODUxTDE4LjU3NjIgLTNMMTkuMjkxIC0yLjMwMDc4Wk0yOC42NTA0IDAuMjk3ODUxTDI3LjkzNjUgMC45OTcwNjlMMjQuNzA5IC0yLjMwMDc4TDI1LjQyMjkgLTNMMjguNjUwNCAwLjI5Nzg1MVoiKSxtb2RlOiJmaWxsIn19O2Z1bmN0aW9uIEMoZSx0LHMsaSl7ZS5zYXZlKCksZS5zZXRUcmFuc2Zvcm0odCkscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvciYmbShlLGkuYmFja2dyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcikscy5sb2xsaXBvcC5maWxsQ2lyY2xlJiZzLmxvbGxpcG9wLmZpbGxTdHlsZSYmbShlLGkuZm9yZWdyb3VuZC5ib2R5UGF0aCxzLmxvbGxpcG9wLmZpbGxTdHlsZSksZS5saW5lV2lkdGg9cy5sb2xsaXBvcC5saW5lV2lkdGgsKDAseS5zZXRMaW5lU3R5bGUpKGUsZC5MSU5FU1RZTEVfU09MSUQpLGkuZm9yZWdyb3VuZC5ib3JkZXJQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmJvcmRlclBhdGgscy5sb2xsaXBvcC5zdHJva2VTdHlsZSkscy5sb2xsaXBvcC5hY3RpdmUmJmkuZm9yZWdyb3VuZC5hY3RpdmVQYXRoJiZtKGUsaS5mb3JlZ3JvdW5kLmFjdGl2ZVBhdGgscy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlKSxzLmxvbGxpcG9wLmhhc0FsZXJ0JiYobShlLHcuYmFja2dyb3VuZCxzLmxvbGxpcG9wLmJhY2tncm91bmRDb2xvcnx8InRyYW5zcGFyZW50IiksbShlLHcuZm9yZWdyb3VuZCxzLmxvbGxpcG9wLnN0cm9rZVN0eWxlKSksZS5yZXN0b3JlKCl9Y2xhc3MgUCBleHRlbmRzIHAuTG9sbGlwb3BSZW5kZXJlcntfaGl0VGVzdEJveCgpe2NvbnN0IGU9c3VwZXIuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxfLmJveCkoZS5taW4uYWRkKCgwLF8ucG9pbnQpKDIsMikpLGUubWF4LnN1YnRyYWN0KCgwLF8ucG9pbnQpKDIsMikpKX1fZHJhd0xvbGxpcG9wKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YS5zdHlsZTtzd2l0Y2godC50eXBlKXtjYXNlIlBvc2l0aXZlIjohZnVuY3Rpb24oZSx0LHMpe0MoZSx0LHMsZil9KGUsdGhpcy5fbWF0cml4LHQpO2JyZWFrO2Nhc2UiTmVnYXRpdmUiOiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxTKX0oZSx0aGlzLl9tYXRyaXgsdCk7YnJlYWsKO2Nhc2UiRXN0aW1hdGVkRGF0ZSI6IWZ1bmN0aW9uKGUsdCxzKXtDKGUsdCxzLGIpfShlLHRoaXMuX21hdHJpeCx0KTticmVhaztkZWZhdWx0OiFmdW5jdGlvbihlLHQscyl7QyhlLHQscyxnKX0oZSx0aGlzLl9tYXRyaXgsdCl9fV9kcmF3TGFiZWwoZSl7bGV0IHQ7Y29uc3Qgcz10aGlzLl9kYXRhLnN0eWxlO3N3aXRjaChzLnR5cGUpe2Nhc2UiUG9zaXRpdmUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE4VjloNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxOHoiKTticmVhaztjYXNlIkVzdGltYXRlZERhdGUiOnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS41djEuNWgtNHYyLjI1aDN2MS41aC0zdjIuMjVoNFYxN3oiKTticmVhaztkZWZhdWx0OnQ9bmV3IFBhdGgyRCgiTTEwIDE3VjhoNS4ydjEuNWgtMy43djIuMjVoMi43djEuNWgtMi43djIuMjVoMy43VjE3eiIpfSgwLHAuZHJhd0xhYmVsKShlLHQsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6cy5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fWNsYXNzIHggZXh0ZW5kcyBwLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxwLmRyYXdMYWJlbCkoZSx4Ll9sYWJlbFBhdGgsdGhpcy5fbWF0cml4LHtmaWxsQ29sb3I6dGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC50ZXh0LnN0cm9rZVN0eWxlfSl9fXguX2xhYmVsUGF0aD1uZXcgUGF0aDJEKCJNOS42OCAxNi42NnEuNzcuMzQgMS44Mi4zNCAxLjA3IDAgMS44Ni0uMzcuNzgtLjM4IDEuMjEtMS4wNC40My0uNjcuNDMtMS42IDAtLjc0LS4yOC0xLjI1YTIgMiAwIDAgMC0uODYtLjg3IDUgNSAwIDAgMC0xLjU0LS41NmwtLjk3LS4yMnEtLjU1LS4xMy0uOS0uM2ExLjMgMS4zIDAgMCAxLS41MS0uNDUgMSAxIDAgMCAxLS4xNy0uNnEwLS40LjIyLS43dC42MS0uNDVxLjM5LS4xNi44OC0uMTYuNTEgMCAuOS4xNnQuNjIuNDVxLjE3LjIuMjUuNDZoMS41NnEtLjA4LS42Ni0uNDUtMS4xOS0uNDItLjYtMS4xNS0uOTVBNCA0IDAgMCAwIDExLjUgN3EtLjk3IDAtMS43Mi4zNi0uNzYuMzYtMS4xOCAxdC0uNDIgMS41cTAgLjcuMjcgMS4yNS4yOS41NC44Ni45MS42LjM3IDEuNS41OGwuOTYuMnEuODguMjEgMS4yNi41NC4zNy4zMi4zNy44M3YuMDFxMCAuNDEtLjIzLjczLS4yNC4zLS42NS40OS0uNDIuMTctLjk2LjE3LS41NyAwLTEuMDEtLjE2LS40NS0uMTctLjcxLS40Ny0uMTgtLjItLjI1LS40NEg4cS4xLjY3LjQ3IDEuMi40NS42IDEuMjEuOTYiKTtjbGFzcyBEIGV4dGVuZHMgcC5Mb2xsaXBvcFJlbmRlcmVye19kcmF3TGFiZWwoZSl7KDAscC5kcmF3TGFiZWwpKGUsRC5fbGFiZWxQYXRoLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZX0pfX1ELl9sYWJlbFBhdGg9bmV3IFBhdGgyRCgiTTE0LjUgMTEuNWEzIDMgMCAwIDAtMy0zaC0ydjZoMlYxNkg4VjdoMy41YTQuNSA0LjUgMCAxIDEgMCA5di0xLjVhMyAzIDAgMCAwIDMtMyIpO3ZhciBJPXMoODg3MDI5KSxUPXMoMTg1MjcxKSxWPXMoNjQxNTkzKSxSPXMoMTE1MjkzKSxBPXMoNTY5Mzk4KSxMPXMoMTg2OTgzKSxFPXMoODA2NDE1KTtjb25zdCBNPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg4NDQwMDkpKSxrPVQudChudWxsLHtjb250ZXh0OiJGaW5hbmNpYWwgZXZlbnRzIGxvbGlwb3BzIn0scyg0OTcwOTYpKTtmdW5jdGlvbiBCKGUpe2lmKCEoMCxBLmlzRmVhdHVyZUVuYWJsZWQpKCJhbGVydHMtb24tbG9sbGlwb3AiKXx8MD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PVtNLC4uLmUuc2xpY2UoMCw1KS5tYXAoTildLGk9ZS5sZW5ndGgtNTt2YXIgcjtyZXR1cm4gaT4wJiZ0LnB1c2goKHI9aSxULnQobnVsbCx7cGx1cmFsOiJhbmQge2NvdW50fSBtb3JlIGFsZXJ0cyIscmVwbGFjZTp7Y291bnQ6ci50b1N0cmluZygpfSxjb3VudDpyLGNvbnRleHQ6IkZpbmFuY2lhbCBldmVudHMgbG9saXBvcHMifSxzKDUxODcxOSkpKSkse2ljb246TCx0b29sdGlwOnQuam9pbigiPGJyPiIpLGFyaWFMYWJlbDprfX1mdW5jdGlvbiBOKGUpe2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm4gdD9mdW5jdGlvbihlKXtjb25zdHtzZXJpZXM6dCxvcGVyYXRvcjpzLHZhbHVlOml9PWUscj1bKDAsVi5odG1sRXNjYXBlKSh0KSxgPHNwYW4gY2xhc3M9IiR7RS5vcGVyYXRvcn0iPiR7KDAsVi5odG1sRXNjYXBlKShzKX08L3NwYW4+YF07aSYmci5wdXNoKCgwLFYuaHRtbEVzY2FwZSkoaSkpO3JldHVybigwLFIuZm9yY2VSVExNYXJrc1N0cikoci5qb2luKCIgIikpfSh0KToiIn12YXIgRixPPXMoMjMyMzY0KSxIPXMoMTExOTUzKTtmdW5jdGlvbiBxKGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShlLm1hcCgoZT0+e2NvbnN0IHQ9ZS5maW5hbmNpYWxDb25kaXRpb25Ub2tlbnMoKTtyZXR1cm5bZS5pZCgpLnZhbHVlKCksdD9bdC5zZXJpZXMsdC5vcGVyYXRvcix0LnZhbHVlXTpudWxsXX0pKSl9Y2xhc3Mgentjb25zdHJ1Y3RvcihlKXt0aGlzLl9tYXRjaGluZ0FsZXJ0cz1uZXcgTy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX21hdGNoaW5nQWxlcnRzU2lnbmF0dXJlPXEoW10pLHRoaXMuX3VwZGF0ZUFsZXJ0cz0oKT0+e2NvbnN0IGU9dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi52YWx1ZSgpO2xldCB0PVtdO2lmKGUpe2NvbnN0IHM9KDAsSC51bndyYXBTaW1wbGVTeW1ib2wpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSksaT0oMCxILnVud3JhcFNpbXBsZVN5bWJvbCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb1N5bWJvbCgpKTt0PWUuYWxlcnRzKCkudmFsdWUoKS5maWx0ZXIoKGU9PihlLmNhbkRpc3BsYXlPbkVhcm5pbmdzTG9sbGlwb3Aocyl8fGUuY2FuRGlzcGxheU9uRWFybmluZ3NMb2xsaXBvcChpKSkmJmUuYWN0aXZlKCkudmFsdWUoKSkpfWNvbnN0IHM9cSh0KTtzIT09dGhpcy5fbWF0Y2hpbmdBbGVydHNTaWduYXR1cmUmJih0aGlzLl9tYXRjaGluZ0FsZXJ0c1NpZ25hdHVyZT1zLHRoaXMuX21hdGNoaW5nQWxlcnRzLnNldFZhbHVlKHQpKX0sdGhpcy5fbW9kZWw9ZSwKdGhpcy5fYWxlcnRzQ29sbGVjdGlvbj1lLmFsZXJ0c0NvbGxlY3Rpb24oKS5zcGF3bigpLHRoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0c0xpc3QuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSksZS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQWxlcnRzKX1kZXN0cm95KCl7dGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5kZXN0cm95KCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVBbGVydHMpfW1hdGNoaW5nQWxlcnRzKCl7cmV0dXJuIHRoaXMuX21hdGNoaW5nQWxlcnRzLnJlYWRvbmx5KCl9X3VwZGF0ZUFsZXJ0c0xpc3QoZSl7dGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPy4oKSx0aGlzLl9kZXN0cm95QWxlcnRzTGlzdFN1YnNjcmlwdGlvbnM9dm9pZCAwLGUmJihlLmFsZXJ0cygpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMpKSx0aGlzLl91cGRhdGVBbGVydHMoKX19IWZ1bmN0aW9uKGUpe2VbZS5Ib3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3k9ODVdPSJIb3ZlcmVkQ29sb3JUcmFuc3BhcmVuY3kifShGfHwoRj17fSkpO2NvbnN0IFU9e2Rhcms6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS05MDAiKSxsaWdodDooMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKX07Y2xhc3MgVyBleHRlbmRzIEkuTG9sbGlwb3BTdHVkeVBhbmVWaWV3QmFzZXt9Y2xhc3MgJCBleHRlbmRzIFd7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2VzZEFsZXJ0TW9kZWw9bmV3IHooZSksdGhpcy5fZXNkQWxlcnRJbmZvPSgwLHIuY29tYmluZSkoQix0aGlzLl9lc2RBbGVydE1vZGVsLm1hdGNoaW5nQWxlcnRzKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9oYXNBbGVydD0oMCxyLmNvbWJpbmUpKGosdGhpcy5fZXNkQWxlcnRNb2RlbC5tYXRjaGluZ0FsZXJ0cygpLndlYWtSZWZlcmVuY2UoKSksdGhpcy5faGFzQWxlcnQuc3Vic2NyaWJlKHRoaXMuX29uSGFzQWxlcnRDaGFuZ2VkLmJpbmQodGhpcykpfWRlc3Ryb3koKXt0aGlzLl9lc2RBbGVydEluZm8uZGVzdHJveSgpLHRoaXMuX2hhc0FsZXJ0LmRlc3Ryb3koKSx0aGlzLl9lc2RBbGVydE1vZGVsLmRlc3Ryb3koKSxzdXBlci5kZXN0cm95KCl9c3R5bGVzKGUpe3JldHVybiBlP3UuZGFya1RoZW1lRWFybmluZ3NTdHlsZTp1LmxpZ2h0VGhlbWVFYXJuaW5nc1N0eWxlfWV4dHJhRGF0YShlKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnR5cGUscz0xND09PXQsaT1lLnN0YW5kYXJkaXplZCxyPWUuZXN0aW1hdGUsbj1lLnBlcmlvZCxvPWUuZGF0ZSxhPXM/bnVsbDplLnJlcG9ydGVkLGw9bnVsbCE9YSYmbnVsbCE9cj9hLXI6bnVsbCx1PWUucmV2ZW51ZUVzdGltYXRlLGM9cz9udWxsOmUucmV2ZW51ZVZhbHVlO2xldCBoO3JldHVybiBudWxsIT10P3Q8MjA/aD0xMD09PXQ/IkVzdGltYXRlZERhdGUiOiJGdXR1cmUiOm51bGwhPT1sJiYoaD1sPDA/Ik5lZ2F0aXZlIjoiUG9zaXRpdmUiKTpudWxsIT09bD9oPWw8MD8iTmVnYXRpdmUiOiJQb3NpdGl2ZSI6bz5EYXRlLm5vdygpJiYoaD0iRnV0dXJlIikse3N0YW5kYXJkaXplZDppLHJlcG9ydGVkOmEsZXN0aW1hdGU6cixyZXZlbnVlVmFsdWU6YyxyZXZlbnVlRXN0aW1hdGU6dSxwZXJpb2Q6bixkYXRlOm8sdHlwZTpoLHRpbWVUeXBlOnQ/P3ZvaWQgMH19KHt0eXBlOmVbOF0sc3RhbmRhcmRpemVkOmVbMV0sZXN0aW1hdGU6ZVsyXSxwZXJpb2Q6ZVszXSxkYXRlOmVbNF0scmVwb3J0ZWQ6ZVs1XSxyZXZlbnVlRXN0aW1hdGU6ZVs2XSxyZXZlbnVlVmFsdWU6ZVs3XX0pfWFmdGVyVXBkYXRlKGUsdCxzLGkpe2NvbnN0IHI9dGhpcy5fc291cmNlLmdldEVzdGltYXRlKCk7aWYocil7Y29uc3Qgbj1yLnZhbHVlLnNsaWNlKCk7bls0XSo9MWUzLHRoaXMuYWRkTG9sbGlwb3AoZSx0LHMsaSxyLmluZGV4LG4pfX1nZXRTdHlsZShlKXtjb25zdCB0PXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKGUpO2lmKHZvaWQgMD09PWUudHlwZSlyZXR1cm4gc3VwZXIuZ2V0U3R5bGUoZSx0KTtjb25zdCBzPXQ7bGV0IGk9cztlLnN0YWNrJiYoaSs9Il9zdGFjazoiK2Uuc3RhY2spO2xldCByPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxpKTtpZihudWxsIT09cilyZXR1cm4gdGhpcy5fd2l0aEFsZXJ0RmxhZyhyLGUudHlwZSk7aWYodGhpcy5fc3R5bGVzQ2FjaGV8fCh0aGlzLl9zdHlsZXNDYWNoZT17fSksIXRoaXMuX3N0eWxlc0NhY2hlW2ldKXtyPXRoaXMuX2dldFN0eWxlT2JqZWN0KGUudHlwZSxzKTtjb25zdCB0PSgwLG8uY2xvbmUpKHIpO3QmJihlLnN0YWNrJiYodC5sb2xsaXBvcC5pbmNIZWlnaHQ9MjUqZS5zdGFjayksdGhpcy5fc3R5bGVzQ2FjaGVbaV09dCl9cmV0dXJuIHRoaXMuX3dpdGhBbGVydEZsYWcodGhpcy5fc3R5bGVzQ2FjaGVbaV0sZS50eXBlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSx0KXtyZXR1cm4oMCxsLmNyZWF0ZUVhcm5pbmdzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpLHQsdGhpcy5fZ2V0RXNkQWxlcnRJbmZvKGUudHlwZSkpfV9zaG93QmFyTGluZShlKXtyZXR1cm4gc3VwZXIuX3Nob3dCYXJMaW5lKGUpfHx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dCcmVha3MudmFsdWUoKX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpewpyZXR1cm4gbmV3IFAoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuZWFybmluZ3NTdHlsZXMpKGUpLHM9dC51bmtub3duLHI9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6c30sbG9sbGlwb3A6e3dpZHRoOjI1LGhlaWdodDoyNSxib3R0b206MCxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImVhcm5pbmdzIixzdHJva2VTdHlsZTpzLGJhY2tncm91bmRDb2xvcjplP1UuZGFyazpVLmxpZ2h0LGZpbGxDaXJjbGU6ITAsdGV4dDp7bGFiZWw6IiIsc3Ryb2tlU3R5bGU6cyxmb250OiIifX19LGw9e2xvbGxpcG9wOntmaWxsU3R5bGU6KDAsYS5nZW5lcmF0ZUNvbG9yKShzLDg1KX19LGM9e2xvbGxpcG9wOnthY3RpdmU6ITAsZmlsbFN0eWxlOnMsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWNvbGQtZ3JheS01MCIpfX19O3RoaXMuX2RlZmF1bHRTdHlsZT0oMCxuLmRlZXBDb3B5KShyKSx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksbCksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkociksYyk7Y29uc3QgaD0oZSx0KT0+e2NvbnN0IHM9KDAsbi5kZWVwQ29weSkocik7cmV0dXJuIHMuYmFyTGluZS5zdHJva2VTdHlsZT1lLHMubG9sbGlwb3Auc3Ryb2tlU3R5bGU9ZSxzLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9ZSxzLnR5cGU9dCxsLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxhLmdlbmVyYXRlQ29sb3IpKGUsODUpLGMubG9sbGlwb3AuZmlsbFN0eWxlPWUse2RlZmF1bHQ6cyxob3ZlcmVkOigwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLGFjdGl2ZTooMCxvLm1lcmdlKSgoMCxuLmRlZXBDb3B5KShzKSxjKX19O2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItZ3JhcGVzLXB1cnBsZS01MCIpO2NvbnN0IF89aCh0LmZ1dHVyZSwiRnV0dXJlIikscD1oKHQuZXN0aW1hdGVkRGF0ZSwiRXN0aW1hdGVkRGF0ZSIpO2MubG9sbGlwb3AudGV4dC5zdHJva2VTdHlsZT0oMCxpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItbWludHktZ3JlZW4tNTAiKTtjb25zdCB5PWgodC5wb3NpdGl2ZSwiUG9zaXRpdmUiKTtyLmxvbGxpcG9wLmJvdHRvbT0uNSxjLmxvbGxpcG9wLnRleHQuc3Ryb2tlU3R5bGU9KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXJpcGUtcmVkLTUwIik7Y29uc3QgbT1oKHQubmVnYXRpdmUsIk5lZ2F0aXZlIik7dGhpcy5fZWFybmluZ1R5cGVTdHlsZXM9e0Z1dHVyZTpfLFBvc2l0aXZlOnksTmVnYXRpdmU6bSxFc3RpbWF0ZWREYXRlOnB9LHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldFN0eWxlT2JqZWN0KGUsdCl7Y29uc3Qgcz10aGlzLl9lYXJuaW5nVHlwZVN0eWxlc1tlXTtzd2l0Y2godCl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4gcy5kZWZhdWx0O2Nhc2UiaG92ZXJlZCI6cmV0dXJuIHMuaG92ZXJlZDtjYXNlImFjdGl2ZSI6cmV0dXJuIHMuYWN0aXZlfXJldHVybiBudWxsfV9vbkhhc0FsZXJ0Q2hhbmdlZCgpe3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX1fd2l0aEFsZXJ0RmxhZyhlLHQpe3JldHVybiBlLmxvbGxpcG9wLmhhc0FsZXJ0PUcodCkmJnRoaXMuX2hhc0FsZXJ0LnZhbHVlKCksZX1fZ2V0RXNkQWxlcnRJbmZvKGUpe3JldHVybiBHKGUpP3RoaXMuX2VzZEFsZXJ0SW5mbzp2b2lkIDB9fWZ1bmN0aW9uIEcoZSl7cmV0dXJuIkZ1dHVyZSI9PT1lfHwiRXN0aW1hdGVkRGF0ZSI9PT1lfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGUubGVuZ3RoPjB9Y2xhc3MgWSBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9ZVsxXTtyZXR1cm57bnVtZXJhdG9yOmVbMl0sZGVub21pbmF0b3I6dCxkYXRlOmVbM119fV9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKGUsdCl7cmV0dXJuIG5ldyB4KGUsbmV3IGguSGl0VGVzdFJlc3VsdChoLkhpdFRhcmdldC5DdXN0b20sdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGUpfWFzeW5jIF9jcmVhdGVUb29sdGlwQ29udGVudChlKXtyZXR1cm4oMCxsLmNyZWF0ZVNwbGl0c0xvbGxpcG9wVG9vbHRpcENvbnRlbnRQcm9wcykoZSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpLHRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLCgoZSx0KT0+dGhpcy5fZm9ybWF0RGF0ZShlLHQpKSl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKSx0PSgwLHUuc3BsaXRzU3R5bGUpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6InNwbGl0cyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOnQsZm9udDoiIn19fSxyPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOigwLGEuZ2VuZXJhdGVDb2xvcikodCw4NSl9fSxsPXtsb2xsaXBvcDp7ZmlsbFN0eWxlOnQsdGV4dDp7c3Ryb2tlU3R5bGU6KDAsaS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXRhbi1vcmFuZ2UtNTAiKX19fTt0aGlzLl9kZWZhdWx0U3R5bGU9cyx0aGlzLl9ob3ZlcmVkU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksciksdGhpcy5fYWN0aXZlU3R5bGU9KDAsby5tZXJnZSkoKDAsbi5kZWVwQ29weSkocyksbCksdGhpcy5fc3R5bGVzQ2FjaGU9bnVsbH19Y2xhc3MgSiBleHRlbmRzIFd7ZXh0cmFEYXRhKGUpe3JldHVybnthbW91bnREaXZpZGVuZHM6ZVsxXSxkYXRlOmVbMl0sYWRqdXN0ZWRBbW91bnREaXZpZGVuZHM6ZVszXSxwYXltZW50RGF0ZTplWzRdfX0KX2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AoZSx0KXtyZXR1cm4gbmV3IEQoZSxuZXcgaC5IaXRUZXN0UmVzdWx0KGguSGl0VGFyZ2V0LkN1c3RvbSx0KSx0aGlzLl90ZXh0V2lkdGhDYWNoZSl9YXN5bmMgX2NyZWF0ZVRvb2x0aXBDb250ZW50KGUpe3JldHVybigwLGwuY3JlYXRlRGl2aWRlbmRzTG9sbGlwb3BUb29sdGlwQ29udGVudFByb3BzKShlLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCksdGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCksKChlLHQpPT50aGlzLl9mb3JtYXREYXRlKGUsdCkpKX1fcmVjcmVhdGVTdHlsZXMoKXtjb25zdCBlPXRoaXMuX21vZGVsLmRhcmsoKS52YWx1ZSgpLHQ9KDAsdS5kaXZpZGVuZHNTdHlsZXMpKGUpLHM9e2JhckxpbmU6e2xpbmVTdHlsZTpkLkxJTkVTVFlMRV9EQVNIRUQsbGluZVdpZHRoOjEsc3Ryb2tlU3R5bGU6dH0sbG9sbGlwb3A6e3dpZHRoOjIzLGhlaWdodDoyMyxib3R0b206MSxsaW5lV2lkdGg6MS41LGltcG9ydGFuY2U6ImRpdmlkZW5kcyIsc3Ryb2tlU3R5bGU6dCxiYWNrZ3JvdW5kQ29sb3I6ZT9VLmRhcms6VS5saWdodCxmaWxsQ2lyY2xlOiEwLGFjdGl2ZTohMSx0ZXh0OntsYWJlbDoiIixzdHJva2VTdHlsZTp0LGZvbnQ6IiJ9fX0scj17bG9sbGlwb3A6e2ZpbGxTdHlsZTooMCxhLmdlbmVyYXRlQ29sb3IpKHQsODUpfX0sbD17bG9sbGlwb3A6e2ZpbGxTdHlsZTp0LHRleHQ6e3N0cm9rZVN0eWxlOigwLGkuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwIil9fX07dGhpcy5fZGVmYXVsdFN0eWxlPXMsdGhpcy5faG92ZXJlZFN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLHIpLHRoaXMuX2FjdGl2ZVN0eWxlPSgwLG8ubWVyZ2UpKCgwLG4uZGVlcENvcHkpKHMpLGwpLHRoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxsLmdldE1vcmVGaW5hbmNpYWxzRGl2aWRlbmRzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfX12YXIgUT1zKDkwMDc5NyksWj1zKDYzMTUyMik7Y29uc3QgSz1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5EaXZpZGVuZHMsWD1RLnNvcnRTb3VyY2VzUHJlT3JkZXJlZC5TcGxpdHMsZWU9US5zb3J0U291cmNlc1ByZU9yZGVyZWQuRWFybmluZ3M7dmFyIHRlOyFmdW5jdGlvbihlKXtlW2UuSW5pdGlhbD0xXT0iSW5pdGlhbCIsZVtlLkFkanVzdGVkRGl2aWRlbmRzPTJdPSJBZGp1c3RlZERpdmlkZW5kcyJ9KHRlfHwodGU9e30pKTtjbGFzcyBzZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX0RJVklERU5EUyJ9em9yZGVyKCl7cmV0dXJuIEt9aXNWYWxpZChlKXtjb25zdCB0PWVbMl07cmV0dXJuKDAsby5pc051bWJlcikodCl9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7cmV0dXJuIHMuZGF0YS52ZXJzaW9uPTIsc31yZXN0b3JlRGF0YShlKXsoZS52ZXJzaW9uPz8xKTwyJiZlLmRhdGEuZm9yRWFjaCgoZT0+e2UudmFsdWVbM109bnVsbH0pKSxzdXBlci5yZXN0b3JlRGF0YShlKX1fY3JlYXRlVmlld3MoKXt0aGlzLl9wYW5lVmlldz1uZXcgSih0aGlzLl9tb2RlbCx0aGlzKSxzdXBlci5fY3JlYXRlVmlld3MoKX1fZXh0ZXJuYWxWaXNpYmlsaXR5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5lc2RTaG93RGl2aWRlbmRzfX1jbGFzcyBpZSBleHRlbmRzIFouTG9sbGlwb3BTdHVkeUJhc2V7aWQoKXtyZXR1cm4iRVNEJFRWX1NQTElUUyJ9em9yZGVyKCl7cmV0dXJuIFh9aXNWYWxpZChlKXtjb25zdCB0PWVbM107cmV0dXJuKDAsby5pc051bWJlcikodCl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXc9bmV3IFkodGhpcy5fbW9kZWwsdGhpcyksc3VwZXIuX2NyZWF0ZVZpZXdzKCl9X2V4dGVybmFsVmlzaWJpbGl0eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZXNkU2hvd1NwbGl0c319Y2xhc3MgcmUgZXh0ZW5kcyBaLkxvbGxpcG9wU3R1ZHlCYXNle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9lc3RpbWF0ZVBsb3RSb3c9bnVsbH1pZCgpe3JldHVybiJFU0QkVFZfRUFSTklOR1MifXpvcmRlcigpe3JldHVybiBlZX1pc1ZhbGlkKGUpe2NvbnN0IHQ9ZVszXSxzPWVbNF07cmV0dXJuKDAsby5pc051bWJlcikodCkmJigwLG8uaXNOdW1iZXIpKHMpfXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2xldCB0PW51bGw7aWYoZS5lc3RpbWF0ZXx8ZS5wb2ludFNldHMmJm51bGw9PWUucG9pbnRTZXRzVmVyc2lvbik7ZWxzZSBpZihlLnBvaW50U2V0cyYmIjEiPT09ZS5wb2ludFNldHNWZXJzaW9uKXtjb25zdCBzPXRoaXMuX2dldFN5bWJvbCgpO2lmKG51bGwhPT1zKXtjb25zdCBpPXMuc3BsaXQoIjoiKVsxXS50b1VwcGVyQ2FzZSgpO2UucG9pbnRTZXRzW3NdP3Q9ZS5wb2ludFNldHNbc10uZXN0aW1hdGU6ZS5wb2ludFNldHNbaV0mJih0PWUucG9pbnRTZXRzW2ldLmVzdGltYXRlKX19ZWxzZSBudWxsIT1lLmVzdGltYXRlUGxvdFJvdyYmIjIiPT09ZS5wb2ludFNldHNWZXJzaW9uJiYodD1lLmVzdGltYXRlUGxvdFJvdyk7dGhpcy5fZXN0aW1hdGVQbG90Um93PXR9Z2V0RXN0aW1hdGUoKXtyZXR1cm4gdGhpcy5fZXN0aW1hdGVQbG90Um93fV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyAkKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmVzZFNob3dFYXJuaW5nc31fZ2V0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCk/LmJhc2VfbmFtZVswXS50b0xvd2VyQ2FzZSgpPz9udWxsfX19LDEyNTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtGdW5kYW1lbnRhbDooKT0+d30pCjt2YXIgaT1zKDMwNDIyMSkscj1zKDEzODYzOCksbj1zKDc4MzI1NCksbz1zKDYyODAwOSksYT1zKDU2OTM5OCksbD1zKDE5NzI3MiksdT1zKDI1NjMxNCksYz1zKDY4MDEyNik7Y2xhc3MgaCBleHRlbmRzIGMuU3R1ZHlQcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9mdW5kYW1lbnRhbD1lfV91cGRhdGVQYW5lUmVuZGVyZXJEYXRhKGUpe2UudGV4dD0iIix0aGlzLl9zaG93UGFuZUxhYmVsKCkmJihlLnRleHQ9dGhpcy5fZnVuZGFtZW50YWwubGFiZWxUaXRsZSgpLGUudmlzaWJsZT0hMCl9fXZhciBkPXMoOTY5NCk7Y2xhc3MgXyBleHRlbmRzIGQuU3R1ZHlQcmljZUxpbmVBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fbW9kZWw9ZS5tb2RlbCgpfV9pc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0Z1bmRhbWVudGFsTGFzdFZhbHVlLnZhbHVlKCkmJnRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdG5hbWVdLmNoaWxkcygpLnRyYWNrUHJpY2UudmFsdWUoKX19dmFyIHA9cygxODUyNzEpLHk9cygyNzU4NDkpLG09cyg4Njc4MzEpO2NvbnN0IHY9cC50KG51bGwsdm9pZCAwLHMoODQyNjM1KSk7Y2xhc3MgZiBleHRlbmRzIHkuU3R1ZHlTdGF0dXNQcm92aWRlcntzb3VyY2VTdGF0dXNUZXh0KCl7Y29uc3QgZT10aGlzLl9zb3VyY2Uuc3RhdHVzKCk7cmV0dXJuIGUudHlwZT09PW0uU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiZbInJlc29sdmVfZXJyb3IiLCJTeW1ib2wgcmVzb2x2ZSBlcnJvcjoiLCJJbnZhbGlkIHN5bWJvbDoiXS5zb21lKCh0PT5lLmVycm9yRGVzY3JpcHRpb24uZXJyb3Iuc3RhcnRzV2l0aCh0KSkpP3Y6c3VwZXIuc291cmNlU3RhdHVzVGV4dCgpfX12YXIgUz1zKDc3NTg2OSksZz1zKDk0Mzk1KSxiPXMoNTk2NzA2KTtjbGFzcyB3IGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLl9zeW1ib2xQcm9wZXJ0eT1udWxsLHRoaXMuX3N5bWJvbElucHV0PW51bGwsdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5zdWJzY3JpYmUoKGU9Pnt2b2lkIDAhPT10aGlzLl9wZW5kaW5nQ3VycmVuY3lJZCYmbnVsbCE9PWUmJih0aGlzLnNldEN1cnJlbmN5KHRoaXMuX3BlbmRpbmdDdXJyZW5jeUlkKSx0aGlzLl9wZW5kaW5nQ3VycmVuY3lJZD12b2lkIDApfSkse29uY2U6ITB9KSx0aGlzLl9zeW1ib2xJbnB1dD10aGlzLm1ldGFJbmZvKCkuaW5wdXRzLmZpbmQoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSk/P251bGwsdGhpcy5fc3ltYm9sSW5wdXQmJih0aGlzLl9zeW1ib2xQcm9wZXJ0eT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGQodGhpcy5fc3ltYm9sSW5wdXQuaWQpPz9udWxsKSx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS5zdWJzY3JpYmUobnVsbCx0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKXx8dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2woKX1oYXNPd25TeW1ib2woKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9zeW1ib2xQcm9wZXJ0eT8udmFsdWUoKSl9Y3VycmVuY3koKXtpZighdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5KXJldHVybiBzdXBlci5jdXJyZW5jeSgpO2NvbnN0IGU9dGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5LnZhbHVlKCk7aWYoZSYmIkRlZmF1bHQiIT09ZSl7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7cmV0dXJuIG51bGwhPT10P3QuY3VycmVuY3lJZEJ5Q29kZShlKTpudWxsfXJldHVybiB0aGlzLnN5bWJvbFNvdXJjZSgpLmN1cnJlbmN5KCl9c2V0Q3VycmVuY3koZSl7aWYoIXRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eSlyZXR1cm4gc3VwZXIuc2V0Q3VycmVuY3koZSk7Y29uc3QgdD10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLnZhbHVlKCk7aWYobnVsbD09PXQpcmV0dXJuIHZvaWQodGhpcy5fcGVuZGluZ0N1cnJlbmN5SWQ9ZSk7Y29uc3Qgcz1lP3QuY3VycmVuY3lDb2RlQnlJZChlKT8/IkRlZmF1bHQiOiJEZWZhdWx0Ijt0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc2V0VmFsdWUocyl9bGFiZWxUaXRsZSgpe3JldHVybiB0aGlzLnRpdGxlKGcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITApfWhhc1N0YXRlRm9yQWxlcnQoKXtpZighKDAsYS5pc0ZlYXR1cmVFbmFibGVkKSgiYWxlcnRzLW9uLWZ1bmRhbWVudGFsLW1ldHJpY3MiKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5zY3JpcHRJZFBhcnQsdD10aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8udHlwZTtyZXR1cm4oMCxvLmlzRnVuZGFtZW50YWxTdXBwb3J0ZWRCeUFsZXJ0cykoZSkmJiJzdG9jayI9PT10JiZzdXBlci5oYXNTdGF0ZUZvckFsZXJ0KCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMuX3RpdGxlKGUsISF0KV19c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyBmKHRoaXMpfWRlc3Ryb3koKXt0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbENoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksc3VwZXIuZGVzdHJveSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5pbnB1dHMuZmluZCgoZT0+IkN1cnJlbmN5Ij09PWUubmFtZSkpO3JldHVybiBlPygwLHIuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKTpudWxsfV9jcmVhdGVQcmljZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgaCh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgXyh0aGlzLGUpfV9kZWZhdWx0RXJyb3JUaXRsZSgpe3JldHVybiJNZXRyaWMgZXJyb3IifV9jcmVhdGVTdHVkeUVycm9yKGUpewpyZXR1cm4hKDAsaS5kZWZhdWx0KShlKSYmZS5lcnJvci5lbmRzV2l0aCgiaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucyIpP3N1cGVyLl9jcmVhdGVTdHVkeUVycm9yKHtlcnJvcjoiR2V0IGFjY2VzcyB0byBmb3JlY2FzdCBtZXRyaWNzIHdpdGggYW4gdXBncmFkZWQgcGxhbi4iLHRpdGxlOiJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIn0pOnN1cGVyLl9jcmVhdGVTdHVkeUVycm9yKGUpfV90aXRsZShlLHQpe2NvbnN0IGk9dGhpcy5tZXRhSW5mbygpO2xldCByO3I9dD9pLnNob3J0RGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbixyPW4udChyLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSk7Y29uc3Qgbz1pLmZpbmFuY2lhbFBlcmlvZDtpZih2b2lkIDAhPT1vJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkobykpe2NvbnN0IGU9dD8oMCx1LmZpbmFuY2lhbFBlcmlvZFRvU2hvcnRTdHJpbmcpKG8pOigwLHUuZmluYW5jaWFsUGVyaW9kVG9TdHJpbmcpKG8pO3I9YCR7bi50KHIse2NvbnRleHQ6InN0dWR5In0scyg4ODQ2OTMpKX0gwrcgJHtlfWB9Y29uc3QgYT1lPT09Zy5UaXRsZURpc3BsYXlUYXJnZXQuQWxlcnRzP3t9OnRoaXMuX3RpdGxlSW5wdXRzKCgwLFMudG9JbnB1dERpc3BsYXlGbGFncykoZSksITApLGw9T2JqZWN0LmtleXMoYSk7cmV0dXJuIGwubGVuZ3RoPjAmJihyPWAke24udChhW2xbMF1dLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSl9IMK3ICR7cn1gKSxyfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybnsuLi5zdXBlci5fdGl0bGVJbnB1dHNPcHRpb25zKGUsdCxzKSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMCxhbGxvd2VkSW5wdXRUeXBlczpbInN5bWJvbCJdfX1fdGl0bGVJbnB1dHMoZSx0LHMpe2NvbnN0IGk9c3VwZXIuX3RpdGxlSW5wdXRzKGUsdCxzKTtpZighdGhpcy5oYXNPd25TeW1ib2woKSlyZXR1cm4gaTtjb25zdCByPXRoaXMucmVzb2x2ZWRTeW1ib2xJbmZvQnlTeW1ib2wodGhpcy5zeW1ib2woKSk7aWYoIShudWxsIT09ciYmKDAsYi5pc0NyeXB0b1N5bWJvbCkoci50eXBlc3BlY3MpJiYhKDAsdS5pc05vQWdncmVnYXRlZEZpbmFuY2lhbFBlcmlvZCkodGhpcy5tZXRhSW5mbygpLmZpbmFuY2lhbFBlcmlvZCkpKXJldHVybiBpO2NvbnN0IG49cj8uYmFzZV9jdXJyZW5jeXx8bnVsbDtyZXR1cm4gdGhpcy5fc3ltYm9sSW5wdXQmJm4mJihpW3RoaXMuX3N5bWJvbElucHV0LmlkXT1uKSxpfX19LDUwMjcyNihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMaW5lYXJSZWdyZXNzaW9uU3R1ZHk6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCkscj1zKDgxNDU4OSksbj1zKDg0MTU1OCksbz1zKDE2ODI1OCk7Y2xhc3MgYSBleHRlbmRzIG4uTm9uU2VyaWVzU3R1ZHl7c3RhcnRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5zdGFydEluZGV4XTtyZXR1cm4gdCE9PXIuSU5WQUxJRF9USU1FX1BPSU5UX0lOREVYP3Q6bnVsbH1lbmRJbmRleCgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7aWYobnVsbD09ZXx8bnVsbD09dGhpcy5faW5kZXhlcylyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuX2luZGV4ZXNbZS5lbmRJbmRleF07cmV0dXJuIHQhPT1yLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWD90Om51bGx9YmFzZUxpbmUoKXtjb25zdCBlPXRoaXMuY3VzdG9tRGF0YSgpO3JldHVybiBudWxsIT1lP2UuYmFzZUxpbmU6bnVsbH1kb3duTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS5kb3duTGluZTpudWxsfXVwTGluZSgpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWU/ZS51cExpbmU6bnVsbH1wZWFyc29ucygpe2NvbnN0IGU9dGhpcy5jdXN0b21EYXRhKCk7cmV0dXJuIG51bGwhPWUmJnZvaWQgMCE9PWUucGVhcnNvbnM/ZS5wZWFyc29uczpudWxsfWlzVmlzaWJsZSgpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKSlyZXR1cm4hMTtjb25zdCBlPSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpKTtyZXR1cm4gZS51cExpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuZG93bkxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV8fGUuYmFzZUxpbmUuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpIT09by5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmV9X2NyZWF0ZVZpZXdzKCl7c3VwZXIuX2NyZWF0ZVZpZXdzKCksUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocyw1MDEzNjMpKS50aGVuKCgoe0xpbmVhclJlZ3Jlc3Npb25QYW5lVmlldzplfSk9Pnt0aGlzLl9zZXRQYW5lVmlld3MoW25ldyBlKHRoaXMubW9kZWwoKSx0aGlzKV0pfSkpfX19LDYzMTUyMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5QmFzZTooKT0+aH0pO3ZhciBpLHI9cygxOTcyNzIpLG49cyg4MTQ1ODkpLG89cyg3Nzk1MTYpLGE9cyg5MzI2OTMpLGw9cygxNDc5OTIpLHU9cyg5NjY0MDQpOyFmdW5jdGlvbihlKXtlW2UuTWF4TXNlY3NQZXJQeD00MzJlNl09Ik1heE1zZWNzUGVyUHgiLGVbZS5GaXZlRGF5c01zPTQzMmU2XT0iRml2ZURheXNNcyJ9KGl8fChpPXt9KSk7Y29uc3QgYz1EYXRlLlVUQygyMDI0LDEsMSk7Y2xhc3MgaCBleHRlbmRzIHIuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKSx0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITEsdGhpcy5zZXRPd25lclNvdXJjZShlLm1haW5TZXJpZXMoKSk7Y29uc3Qgbz10aGlzLl9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpCjtudWxsIT09byYmKHRoaXMuX2Rlc3Ryb3lQcm9wZXJ0eUJpbmRlcj0oMCxsLmJpbmRQcm9wZXJ0aWVzKShvLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZSkpfWRlc3Ryb3koKXt0aGlzLl9wYW5lVmlldy5kZXN0cm95KCksdGhpcy5fZGVzdHJveVByb3BlcnR5QmluZGVyPy4oKSxzdXBlci5kZXN0cm95KCl9dXBkYXRlQWxsVmlld3NBbmRSZXBhaW50KCl7dGhpcy51cGRhdGVBbGxWaWV3cygoMCx1LnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9YXV0b1NjYWxlSW5mbygpe3JldHVybntyYW5nZTpudWxsfX1sb2xsaXBvcHNBdEluZGV4KGUpe3JldHVybiF0aGlzLmhpZGVMb2xsaXBvcHMoKSYmdGhpcy5kYXRhKCkuY29udGFpbnMoZSk/MTowfWhpZGVMb2xsaXBvcHMoKXt7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmluTWlsbGlzZWNvbmRzKGMpO2lmKGU8NDMyZTYpcmV0dXJuITE7cmV0dXJuIGUvdGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpPjQzMmU2fX1hc3luYyBzdGFydCgpe2NvbnN0IGU9c3VwZXIuc3RhcnQoKTtyZXR1cm4gdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXRQbG90U3Rhc2gpLHRoaXMuX2luaXRQbG90U3Rhc2goKSxlfXN0b3AoKXtzdXBlci5zdG9wKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faW5pdFBsb3RTdGFzaCl9cmVzdG9yZURhdGEoZSl7ZS5kYXRhPWUuZGF0YS5maWx0ZXIoKGU9PmUuaW5kZXghPT1uLklOVkFMSURfVElNRV9QT0lOVF9JTkRFWCYmdGhpcy5pc1ZhbGlkKGUudmFsdWUpKSksdGhpcy5fdHJhbnNmb3JtRGF0YShlLmRhdGEpLGUuZW5kPWUuZGF0YS5sZW5ndGgsc3VwZXIucmVzdG9yZURhdGEoZSl9b25DbGlja091dHNpZGUoZSx0KXt0aGlzLl9wYW5lVmlldy5wcm9jZXNzQ2xpY2tPdXRzaWRlKGUsdCl9cHJlZmVyTm9TY2FsZSgpe3JldHVybiEwfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1pc1NhdmVkSW5TdHVkeVRlbXBsYXRlcygpe3JldHVybiExfWlzUmVtb3ZlZEJ5U3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc0RyYWdnYWJsZSgpe3JldHVybiExfWNvcGlhYmxlKCl7cmV0dXJuITF9c3RhdHVzVmlldygpe3JldHVybiBudWxsfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4hMX1pc1NhdmVkSW5DaGFydChlKXtyZXR1cm4gQm9vbGVhbihlKX1pc1NwZWNpYWxseVpPcmRlcmVkU291cmNlKCl7cmV0dXJuITB9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2FuSGF2ZUNoaWxkcmVuKCl7cmV0dXJuITF9aXNJbmNsdWRlZEluQXV0b1NjYWxlKCl7cmV0dXJuITF9aXNDdXJyZW5jeVNvdXJjZSgpe3JldHVybiExfWlzVW5pdFNvdXJjZSgpe3JldHVybiExfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiBudWxsfV90cmFuc2Zvcm1EYXRhKGUpe2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBzPWVbdF0saT1zLmluZGV4IT09bi5JTlZBTElEX1RJTUVfUE9JTlRfSU5ERVgmJnRoaXMuaXNWYWxpZChzLnZhbHVlKTt0aGlzLl91cGRhdGVQbG90U3Rhc2gocyxpKX19X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcGFuZVZpZXdzPVt0aGlzLl9wYW5lVmlld10sdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZGF0YVdpbmRvd1ZpZXd8fCh0aGlzLl9kYXRhV2luZG93Vmlldz1uZXcgby5EYXRhV2luZG93VmlldyksdGhpcy5fbGVnZW5kVmlldz1udWxsLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBhLlN0dWR5U3RhdHVzVmlldyh0aGlzKSl9X3Nlcmllc0RhdGFSYW5nZVRvU2F2ZShlKXtyZXR1cm4gdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpfV9pbml0UGxvdFN0YXNoKCl7dGhpcy5fcGxvdFN0YXNoPXt9fV91cGRhdGVQbG90U3Rhc2goZSx0KXtpZih0aGlzLl9yZXN0YXJ0UmVxdWlyZWR8fCF0aGlzLl9wbG90U3Rhc2gpcmV0dXJuO2NvbnN0IHM9ZS52YWx1ZS5zbGljZSgpLGk9cy5zaGlmdCgpLHI9U3RyaW5nKGkpO3Q/dGhpcy5fcGxvdFN0YXNoW3JdP1N0cmluZyh0aGlzLl9wbG90U3Rhc2hbcl0pIT09U3RyaW5nKHMpJiYodGhpcy5fcmVzdGFydFJlcXVpcmVkPSEwKTp0aGlzLl9wbG90U3Rhc2hbcl09czp0aGlzLl9wbG90U3Rhc2hbcl0mJih0aGlzLl9yZXN0YXJ0UmVxdWlyZWQ9ITApfX19LDg4NzAyOShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2xsaXBvcFN0dWR5UGFuZVZpZXdCYXNlOigpPT5ffSk7dmFyIGk9cyg3MzY1MzEpLHI9cygxMzg2MzgpLG49cyg3MDA4MDkpLG89cyg5MzAyMzEpLGE9cygyMjg4MiksbD1zKDI3NjAxOSksdT1zKDg3NDMwNiksYz1zKDg4OTM5NyksaD1zKDg4ODU2MiksZD1zKDQ5NDA3OSk7Y2xhc3MgXyBleHRlbmRzIGQuTG9sbGlwb3BQYW5lVmlld3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZ2V0TW9yZUZpbmFuY2lhbHNMaW5rSW5pdGlhbFRhYklkPSJvdmVydmlldyIsdGhpcy5fc3ltYm9sTmFtZT1udWxsfWFkZExvbGxpcG9wKGUsdCxzLHIsbixvLGEpe2lmKG51bGw9PT10aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fc3ltYm9sTmFtZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpPy5uYW1lPz9udWxsLG51bGw9PT10aGlzLl9zeW1ib2xOYW1lKSlyZXR1cm4KO2NvbnN0IGw9YCR7dGhpcy5fc291cmNlLm1ldGFJbmZvKCkuaWR9XyR7dGhpcy5fbG9sbGlwb3BJZChvKX1fJHt0aGlzLl9zeW1ib2xOYW1lfWAsdT10aGlzLl9sb2xsaXBvcHNbbF0sYz12b2lkIDAhPT11P3UuaXRlbUluZGV4OnRoaXMuX2xvbGxpcG9wc0NvdW50ZXIrKyxoPXRoaXMuX21vZGVsLmxhc3RIaXR0ZXN0RGF0YSgpLGQ9dGhpcy5fbW9kZWwuaG92ZXJlZFNvdXJjZSgpPT09dGhpcy5fc291cmNlJiZudWxsIT09aCYmaC5hY3RpdmVJdGVtJiZoLmFjdGl2ZUl0ZW0uaXRlbUluZGV4PT09Yzt0aGlzLl9sb2xsaXBvcHNbbF09e2lkOmwsaXRlbUluZGV4OmMsdmlzaWJsZTohMCxiYXNlUG9pbnQ6bmV3IGkuUG9pbnQocy5pbmRleFRvQ29vcmRpbmF0ZShuKSxlKSxob3ZlcmVkOmQsc3RhY2s6YSwuLi50aGlzLmV4dHJhRGF0YShvKX19cmVuZGVyZXIoZSl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbChlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fc291cmNlLmhpZGVMb2xsaXBvcHMoKT9udWxsOnRoaXMuX3JlbmRlcmVyfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzBdLnRvU3RyaW5nKCl9X3VwZGF0ZUltcGwoZSl7dGhpcy5fcmVuZGVyZXIuY2xlYXIoKTtjb25zdCB0PXRoaXMuX3NvdXJjZS5kYXRhKCkscz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG49dGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxvPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxhPW8ucHJpY2VTY2FsZSgpLGw9by5maXJzdEJhcigpO2lmKGEuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8IWx8fCF0fHxudWxsPT09aSlyZXR1cm47Y29uc3QgdT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCF1KXJldHVybjtpZih0aGlzLl9zb3VyY2UuaGlkZUxvbGxpcG9wcygpKXJldHVybiB2b2lkIHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKTtmb3IoY29uc3QgZSBpbiB0aGlzLl9sb2xsaXBvcHMpdGhpcy5fbG9sbGlwb3BzLmhhc093blByb3BlcnR5KGUpJiYoKDAsci5lbnN1cmVEZWZpbmVkKSh0aGlzLl9sb2xsaXBvcHNbZV0pLnZpc2libGU9ITEpO2NvbnN0IGM9dGhpcy5fZ2V0WSgpLGg9aS5maXJzdEJhcigpLGQ9aS5sYXN0QmFyKCksXz10aGlzLl9zb3VyY2Uuem9yZGVyKCkscD11LmxvbGxpcG9wRGF0YVNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10aGlzLl9zb3VyY2UmJmUuem9yZGVyKCk+XyYmZS5pc1Zpc2libGUoKSkpO3QucmFuZ2UoaCxkKS5lYWNoKCgoZSx0KT0+e2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgcClpKz10LmxvbGxpcG9wc0F0SW5kZXgoZSk7cmV0dXJuIHRoaXMuYWRkTG9sbGlwb3AoYyxuLHMsYSxlLHQsaSksITF9KSksdGhpcy5hZnRlclVwZGF0ZShjLG4scyxhKSx0aGlzLl9jcmVhdGVSZW5kZXJlcnMoZSl9X2Zvcm1hdERhdGUoZSx0KXtsZXQgcyxpPSEwO2lmKGk9dS5WZXJzaW9uLnBhcnNlKHRoaXMuX3NvdXJjZS5tZXRhSW5mbygpLnZlcnNpb24pLmlzTGVzc09yRXF1YWwobmV3IHUuVmVyc2lvbigxMzcsMCkpLGkpe2xldCB0PSJFdGMvVVRDIjt0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaXNEV00oKXx8KHQ9dGhpcy5fbW9kZWwudGltZXpvbmVFeGNlcHRFeGNoYW5nZSgpLnZhbHVlKCk/PyIiKTtjb25zdCBpPSgwLG4uZ2V0X3RpbWV6b25lKSh0KTtzPSgwLG4udXRjX3RvX2NhbCkoaSxlKX1lbHNlIHM9bmV3IERhdGUoZSk7cmV0dXJuKHQ/IuKJiCAiOiIiKSt0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCkuZm9ybWF0KHMpfV9nZXRNb3JlRmluYW5jaWFsc0xpbmsoKXtpZighL1xiZXRmXGIvaS50ZXN0KHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk/LmRlc2NyaXB0aW9ufHwiIikpcmV0dXJue2NoaWxkcmVuOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKSxvbkNsaWNrOigpPT57bC5nbG9iYWxDbG9zZURlbGVnYXRlLmZpcmUoKSwoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtb2JpbGVfYXBwX2FjdGlvbl9vcGVuX2ZpbmFuY2lhbHNfd2VidmlldyIpPygwLGgub3BlbkZpbmFuY2lhbHNXZWJ2aWV3KShuZXcgVVJMU2VhcmNoUGFyYW1zKTooMCxjLnNob3dGaW5hbmNpYWxzRGlhbG9nKSh7aW5pdGlhbFRhYklkOnRoaXMuX2dldE1vcmVGaW5hbmNpYWxzTGlua0luaXRpYWxUYWJJZH0pfX19X2dldE1vcmVGaW5hbmNpYWxzTGlua1RleHQoKXtyZXR1cm4oMCxhLmdldE1vcmVGaW5hbmNpYWxzTGlua1RleHQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpfV9vblN5bWJvbE9ySW50ZXJ2YWxDaGFuZ2VkKCl7c3VwZXIuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQoKSx0aGlzLl9zeW1ib2xOYW1lPW51bGx9fX0sNDY3OTIxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHttaWdyYXRlSmF2YVN0YXRlVG9QaW5lOigpPT5oLHBpbmVJZEZvckphdmFJZDooKT0+bH0pO2NvbnN0IGk9KDAsCnMoNTA1NTYpLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdGFuLW9yYW5nZS02MDAiKSxyPW5ldyBNYXAoW1sic3R1ZHlBRFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0FkdmFuY2VfRGVjbGluZV9SYXRpb19CYXJzIl0sWyJBVFJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0F2ZXJhZ2VfVHJ1ZV9SYW5nZSJdLFsiQUNDREB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QWNjdW11bGF0aW9uX0Rpc3RyaWJ1dGlvbiJdLFsiQVJPT05AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Fyb29uIl0sWyJBd2Vzb21lT3NjaWxsYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7QXdlc29tZV9Pc2NpbGxhdG9yIl0sWyJCQkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Qm9sbGluZ2VyX0JhbmRzIl0sWyJCb2xsaW5nZXJCYW5kc1JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0JvbGxpbmdlcl9CYW5kc19CIl0sWyJCb2xsaW5nZXJCYW5kc1dpZHRoQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtCb2xsaW5nZXJfQmFuZHNfV2lkdGgiXSxbIkNDSUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q0NJIl0sWyJDTUZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fTW9uZXlfRmxvdyJdLFsiQ2hhaWtpbk9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYWlraW5fT3NjaWxsYXRvciJdLFsiY2hhbmRlTU9AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NoYW5kZV9Nb21lbnR1bV9Pc2NpbGxhdG9yIl0sWyJDaG9wcGluZXNzSW5kZXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nob3BwaW5lc3NfSW5kZXgiXSxbIkNvbXBhcmVAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0NvbXBhcmUiXSxbIkNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0Nvbm5vcnNfUlNJIl0sWyJDb3JyZWxhdGlvbkNvZWZmaWNpZW50QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtDb3JyZWxhdGlvbl9Db2VmZiJdLFsiRG91YmxlRU1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtERU1BIl0sWyJETUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RE1JIl0sWyJEZXRyZW5kZWRQcmljZU9zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RQTyJdLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0RvbmNoaWFuX0NoYW5uZWxzIl0sWyJFYXNlT2ZNb3ZlbWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RU9NIl0sWyJFRklAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0VGSSJdLFsiRU5WQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTlYiXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtFTUEiXSxbIkZpc2hlclRyYW5zZm9ybUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7RmlzaGVyX1RyYW5zZm9ybSJdLFsiSFZAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0hpc3RvcmljYWxfVm9sYXRpbGl0eSJdLFsiaHVsbE1BQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtIdWxsJTFNQSJdLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7SWNoaW1va3UlMUNsb3VkIl0sWyJLU1RAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tub3dfU3VyZV9UaGluZyJdLFsiS0xUTlJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO0tlbHRuZXJfQ2hhbm5lbHMiXSxbIkxpbmVhclJlZ3Jlc3Npb25AdHYtYmFzaWNzdHVkaWVzIiwiU1REO0xpbmVhcl9SZWdyZXNzaW9uIl0sWyJNQUNEQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNQUNEIl0sWyJNQVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtXTUEiXSxbIk1PTUB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7TW9tZW50dW0iXSxbIk1GQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb25leV9GbG93Il0sWyJNVFBDQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNdWx0aS1UaW1lJVBlcmlvZCVDaGFydHMiXSxbIk9CVkB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7T25fQmFsYW5jZV9Wb2x1bWUiXSxbIlBTQVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1BTQVIiXSxbIlBpdm90UG9pbnRzSGlnaExvd0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7UGl2b3QlMVBvaW50cyUxSGlnaCUxTG93Il0sWyJQaXZvdFBvaW50c1N0YW5kYXJkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtQaXZvdCUxUG9pbnRzJTFTdGFuZGFyZCJdLFsiUHJpY2VPc2NAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX09zY2lsbGF0b3IiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSU0kiXSxbIlJPQ0B0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Uk9DIl0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9WaWdvcl9JbmRleCJdLFsiVm9sYXRpbGl0eUluZGV4QHR2LWJhc2ljc3R1ZGllcyIsIlNURDtSZWxhdGl2ZV9Wb2xhdGlsaXR5X0luZGV4Il0sWyJTTUlFcmdvZGljSW5kaWNhdG9yQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUlfRXJnb2RpY19JbmRpY2F0b3JfT3NjaWxsYXRvciJdLFsiU01JRXJnb2RpY09zY2lsbGF0b3JAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1NNSV9FcmdvZGljX09zY2lsbGF0b3IiXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtTTUEiXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWMiXSxbIlN0b2NoYXN0aWNSU0lAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1N0b2NoYXN0aWNfUlNJIl0sWyJUcmlwbGVFTUFAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RFTUEiXSxbIlRyaXhAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1RSSVgiXSxbIlVsdGltYXRlT3NjQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtVbHRpbWF0ZV9Pc2NpbGxhdG9yIl0sWyJWV0FQQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV0FQIl0sWyJNQVZvbHVtZVdlaWdodGVkQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtWV01BIl0sWyJWU1RPUEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Vm9sYXRpbGl0eV9TdG9wIl0sWyJXaWxsaWFtc0FsbGlnYXRvckB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7V2lsbGlhbXNfQWxsaWdhdG9yIl0sWyJXaWxsaWFtc0ZyYWN0YWxAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1doaWxsaWFtc19GcmFjdGFscyJdLFsiV2lsbGlhbVJAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1dpbGxhbXNfUiJdLFsiWmlnWmFnQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtaaWdfWmFnIl0sWyJNb29uUGhhc2VzQHR2LWJhc2ljc3R1ZGllcyIsIlNURDtNb29uJTFQaGFzZXMiXSxbIlByaWNlVm9sdW1lVHJlbmRAdHYtYmFzaWNzdHVkaWVzIiwiU1REO1ByaWNlX1ZvbHVtZV9UcmVuZCJdLFsiQ29ycmVsYXRpb25Db2VmZmljaWVudEB0di1iYXNpY3N0dWRpZXMiLCJTVEQ7Q29ycmVsYXRpb25fQ29lZmYiXV0pLG49bmV3IE1hcChbWyJBUk9PTkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siQXJvb25Eb3duIiwiQXJvb24gRG93biJdLFsiQXJvb25VcCIsIkFyb29uIFVwIl1dKV0sWyJETUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siRElfTiIsIi1ESSJdLFsiRElfUCIsIitESSJdXSldLFsiRE9OQ0hAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIkRvbmNoaWFuQmFzaXMiLCJCYXNpcyJdLFsiRG9uY2hpYW5Mb3dlciIsIkxvd2VyIl0sWyJEb25jaGlhblVwcGVyIiwiVXBwZXIiXV0pXSxbIk1BRXhwQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdFeHAiLCJFTUEiXV0pXSxbIkVOVkB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siZW52YmFzaXMiLCJCYXNpcyJdLFsiZW52dXBwZXIiLCJVcHBlciJdLFsiZW52bG93ZXIiLCJMb3dlciJdXSldLFsiSWNoaW1va3VDbG91ZEB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVHVybmluZ0xpbmUiLCJDb252ZXJzaW9uIExpbmUiXSxbIlN0YW5kYXJkTGluZSIsIkJhc2UgTGluZSJdLFsiQ2xvc2VMaW5lIiwiTGFnZ2luZyBTcGFuIl0sWyJMZWFkMUxpbmUiLCJMZWFkaW5nIFNwYW4gQSJdLFsiTGVhZDJMaW5lIiwiTGVhZGluZyBTcGFuIEIiXV0pXSxbIktMVE5SQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJLZWx0bmVyVXBwZXIiLCJVcHBlciJdLFsiS2VsdG5lckNlbnRlciIsIkJhc2lzIl0sWyJLZWx0bmVyTG93ZXIiLCJMb3dlciJdXSldLFsiS1NUQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXSxbIk1BU2ltcGxlQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJNb3ZBdmdTaW1wbGUiLCJNQSJdXSldLFsiUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJSZWxhdGl2ZVN0cmVuZ3RoSW5kZXgiLCJSU0kiXV0pXSxbIlN0b2NoYXN0aWNAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIksiLCIlSyJdLFsiRCIsIiVEIl1dKV0sWyJWaWdvckluZGV4QHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJTSUciLCJTaWduYWwiXV0pXV0pLG89bmV3IE1hcChbWyJLU1RAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbIlplcm8gTGluZSIsIlplcm8iXV0pXSxbIlJTSUB0di1iYXNpY3N0dWRpZXMiLG5ldyBNYXAoW1siVXBwZXIgQmFuZCIsIlJTSSBVcHBlciBCYW5kIl0sWyJMb3dlciBCYW5kIiwiUlNJIExvd2VyIEJhbmQiXV0pXV0pLGE9bmV3IE1hcChbWyJDUlNJQHR2LWJhc2ljc3R1ZGllcyIsbmV3IE1hcChbWyJMZW5ST0MiLHsKbmFtZToiUk9DIExlbmd0aCJ9XSxbIkxlblJTSSIse25hbWU6IlJTSSBMZW5ndGgifV0sWyJMZW5VUCIse25hbWU6IlVwRG93biBMZW5ndGgifV1dKV0sWyJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbImxlbmd0aCBoaWdoIix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IEhpZ2gifV0sWyJsZW5ndGggbG93Iix7Z3JvdXA6IkxFTkdUSCBMRUZUIC8gUklHSFQiLG5hbWU6IlBpdm90IExvdyJ9XV0pXSxbIkljaGltb2t1Q2xvdWRAdHYtYmFzaWNzdHVkaWVzIixuZXcgTWFwKFtbInR1cm5pbmcgbGluZSBwZXJpb2RzIix7bmFtZToiQ29udmVyc2lvbiBMaW5lIExlbmd0aCJ9XSxbInN0YW5kYXJkIGxpbmUgcGVyaW9kcyIse25hbWU6IkJhc2UgTGluZSBMZW5ndGgifV0sWyJsZWFkaW5nIHNwYW4gMiBwZXJpb2RzIix7bmFtZToiTGVhZGluZyBTcGFuIEIgTGVuZ3RoIn1dLFsiZGlzcGxhY2VtZW50Iix7bmFtZToiTGFnZ2luZyBTcGFuIn1dXSldXSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gci5nZXQoZSk/P251bGx9Y29uc3QgdT1uZXcgU2V0KFsibGluZSIsInNoYXBlcyIsImNoYXJzIiwiYXJyb3dzIiwib2hsY19vcGVuIiwib2hsY19oaWdoIiwib2hsY19sb3ciLCJvaGxjX2Nsb3NlIl0pO2Z1bmN0aW9uIGMoZSx0LHMpe3JldHVybiBlLmlucHV0cy5maW5kKChlPT4oZS5uYW1lLnN0YXJ0c1dpdGgodCl8fGUubmFtZS5lbmRzV2l0aCh0KSkmJmUuZ3JvdXA9PT1zKSk/LmlkPz9udWxsfWZ1bmN0aW9uIGgoZSx0LHMpeyFmdW5jdGlvbihlKXtpZihlLmFyZWFCYWNrZ3JvdW5kKXtlLmZpbGxlZEFyZWFzU3R5bGU9ZS5maWxsZWRBcmVhc1N0eWxlPz97fTtjb25zdCB0PWUuZmlsbGVkQXJlYXNTdHlsZT8uZmlsbF8wPz97fTt0LmNvbG9yPWUuYXJlYUJhY2tncm91bmQuYmFja2dyb3VuZENvbG9yLHQudHJhbnNwYXJlbmN5PWUuYXJlYUJhY2tncm91bmQudHJhbnNwYXJlbmN5LHQudmlzaWJsZT1lLmFyZWFCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGUuZmlsbGVkQXJlYXNTdHlsZS5maWxsXzA9dH1kZWxldGUgZS5hcmVhQmFja2dyb3VuZH0oZSksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9e30scj1hLmdldCh0LmlkKT8/bmV3IE1hcDtzLmlucHV0cy5mb3JFYWNoKCh0PT57Y29uc3Qgcz10Lm5hbWUudG9Mb3dlckNhc2UoKSxuPXQuZ3JvdXA7Zm9yKGNvbnN0IG8gb2YgT2JqZWN0LmtleXMoZS5pbnB1dHMpKXtjb25zdCBhPXIuZ2V0KG8pPy5uYW1lPz9vLGw9ci5nZXQobyk/Lmdyb3VwPz9uO2lmKGEudG9Mb3dlckNhc2UoKT09PXMmJmw9PT1uKXtpW3QuaWRdPWUuaW5wdXRzW29dO2JyZWFrfX0ib2Zmc2V0Ij09PXMmJmUub2Zmc2V0JiYoaVt0LmlkXT1lLm9mZnNldC52YWwpfSkpLGUuaW5wdXRzPWksZGVsZXRlIGUub2Zmc2V0fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9dC5wYWxldHRlcz8/e30scj1zLnBhbGV0dGVzPz97fSxuPU9iamVjdC5rZXlzKGkpLG89T2JqZWN0LmtleXMocik7MT09PW4ubGVuZ3RoJiYxPT09by5sZW5ndGgmJihlLnBhbGV0dGVzW29bMF1dPWUucGFsZXR0ZXNbblswXV0sZGVsZXRlIGUucGFsZXR0ZXNbblswXV0pfShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bi5nZXQodC5pZCk/P25ldyBNYXAscj1zLnN0eWxlcz8/e30sbz1lLnN0eWxlcyxhPXt9LGw9dC5wbG90cy5maWx0ZXIoKGU9PnUuaGFzKGUudHlwZSkpKSxjPXMucGxvdHMuZmlsdGVyKChlPT51LmhhcyhlLnR5cGUpKSk7aWYoMT09PWMubGVuZ3RoJiYxPT09bC5sZW5ndGgpe2NvbnN0IGU9Y1swXS5pZCx0PWxbMF0uaWQ7dCYmKGFbZV09b1t0XSl9ZWxzZSBmb3IoY29uc3QgZSBvZiBjKXtjb25zdCB0PWUuaWQscz1yW3RdO2lmKHMpe2NvbnN0IGU9cy50aXRsZS50b0xvd2VyQ2FzZSgpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKG8pKWlmKChpLmdldChzKT8/cykudG9Mb3dlckNhc2UoKT09PWUpe2FbdF09b1tzXTticmVha319fWUuc3R5bGVzPWF9KGUsdCxzKSxmdW5jdGlvbihlLHQscyl7Y29uc3QgaT1zLmJhbmRzLHI9ZS5iYW5kcyxuPW8uZ2V0KHQuaWQpPz9uZXcgTWFwO2lmKGkmJnIpe2NvbnN0IG89cy5kZWZhdWx0cy5iYW5kcz8ubGVuZ3RoPz8wLGE9QXJyYXkuZnJvbSh7bGVuZ3RoOm99KTsocy5kZWZhdWx0cy5iYW5kcz8/W10pLmZvckVhY2goKChlLHMpPT57Y29uc3Qgbz1pW3NdO2lmKG8pe2NvbnN0IGk9by5uYW1lLnRvTG93ZXJDYXNlKCksbD10LmJhbmRzPz9bXTthW3NdPWU7Zm9yKGxldCBlPTA7ZTxsLmxlbmd0aDtlKyspe2NvbnN0IHQ9bFtlXS5uYW1lO2lmKChuLmdldCh0KT8/dCkudG9Mb3dlckNhc2UoKT09PWkpe2Fbc109cltlXTticmVha319fX0pKSxlLmJhbmRzPWF9fShlLHQscyksZnVuY3Rpb24oZSx0LHMpe2lmKGUuYmFuZHNCYWNrZ3JvdW5kKXtjb25zdCB0PShzLmZpbGxlZEFyZWFzPz9bXSkuZmluZCgoZT0+ImhsaW5lX2hsaW5lIj09PWUudHlwZSkpO2lmKHQpe2UuZmlsbGVkQXJlYXNTdHlsZT1lLmZpbGxlZEFyZWFzU3R5bGU/P3t9O2NvbnN0IHM9dC5pZCxpPWUuZmlsbGVkQXJlYXNTdHlsZVtzXT8/e307aS5jb2xvcj1lLmJhbmRzQmFja2dyb3VuZC5iYWNrZ3JvdW5kQ29sb3IsaS52aXNpYmxlPWUuYmFuZHNCYWNrZ3JvdW5kLmZpbGxCYWNrZ3JvdW5kLGkudHJhbnNwYXJlbmN5PWUuYmFuZHNCYWNrZ3JvdW5kLnRyYW5zcGFyZW5jeSxlLmZpbGxlZEFyZWFzU3R5bGVbc109aX19ZGVsZXRlIGUuYmFuZHNCYWNrZ3JvdW5kfShlLDAscyksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PXQuaWQmJiJQaXZvdFBvaW50c1N0YW5kYXJkIiE9PXQuaWR8fGZ1bmN0aW9uKGUsdCxzKXtlLmdyYXBoaWNzPWUuZ3JhcGhpY3M/P3t9LGUuZ3JhcGhpY3MuZHdnbGFiZWxzPWUuZ3JhcGhpY3MuZHdnbGFiZWxzPz97fSxlLmdyYXBoaWNzLmR3Z2xhYmVscy5sYWJlbHM9ZS5ncmFwaGljcy5kd2dsYWJlbHMubGFiZWxzPz97dmlzaWJsZTplLmxldmVsc1N0eWxlPy5zaG93TGFiZWxzPz8hMH0sZS5wYWxldHRlcz1lLnBhbGV0dGVzPz97fSwKZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbj1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uPz97fSxlLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz1lLnBhbGV0dGVzLnBhbGV0dGVfY29tbW9uLmNvbG9ycz8/e307bGV0IHI9MTtbIlAiLCJTMS9SMSIsIlMyL1IyIiwiUzMvUjMiLCJTNC9SNCIsIlM1L1I1Il0uZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5sZXZlbHNTdHlsZT8uY29sb3JzPy5bdF0/P2k7dC5zcGxpdCgiLyIpLmZvckVhY2goKHQ9Pntjb25zdCBpPWMocyx0LCJsZXZlbHMiKTtpJiYoZS5pbnB1dHNbaV09biksZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl09ZS5wYWxldHRlcy5wYWxldHRlX2NvbW1vbi5jb2xvcnNbcl0/P3t9LGUucGFsZXR0ZXMucGFsZXR0ZV9jb21tb24uY29sb3JzW3JdLmNvbG9yPW4scisrfSkpfSkpO2NvbnN0IG49YyhzLCJMaW5lIFdpZHRoIiwibGV2ZWxzIik7aWYobil7Y29uc3QgdD1lLmxldmVsc1N0eWxlPy53aWR0aHM/LlA/PzE7ZS5pbnB1dHNbbl09dH19KGUsMCxzKX19LDg0MTU1OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtOb25TZXJpZXNTdHVkeTooKT0+bn0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoMTk3MjcyKTtjbGFzcyBuIGV4dGVuZHMgci5TdHVkeXtpc0xpbmtlZFRvU2VyaWVzKCl7cmV0dXJuITB9Y2xlYXJEYXRhKCl7dGhpcy5fY3VzdG9tRGF0YT1udWxsLHRoaXMuX2luZGV4ZXM9bnVsbH1yZXN0b3JlRGF0YShlLHQscyl7c3VwZXIucmVzdG9yZURhdGEoZSksdGhpcy5fY3VzdG9tRGF0YT10LHRoaXMuX2luZGV4ZXM9c31zdGF0ZShlKXtjb25zdCB0PXN1cGVyLnN0YXRlKGUpO3JldHVybiBlJiYodC5ub25TZXJpZXNEYXRhPXRoaXMuX2N1c3RvbURhdGEsdC5pbmRleGVzPXRoaXMuX2luZGV4ZXMpLHR9Y3VzdG9tRGF0YSgpe3JldHVybiB0aGlzLl9jdXN0b21EYXRhfV9zZXRQYW5lVmlld3MoZSl7dGhpcy5fcGFuZVZpZXdzPWUsdGhpcy5tb2RlbCgpLmxpZ2h0VXBkYXRlKCl9X29uRGF0YVVwZGF0ZWQoZSx0LHMpe251bGwhPT10JiYodC5pbmRleGVzX3JlcGxhY2U/KCgwLGkuYXNzZXJ0KSgibm9jaGFuZ2UiIT09cyksdGhpcy5faW5kZXhlcz1zKToodGhpcy5fY3VzdG9tRGF0YT10LmRhdGEsIm5vY2hhbmdlIiE9PXMmJih0aGlzLl9pbmRleGVzPXMpKSksc3VwZXIuX29uRGF0YVVwZGF0ZWQoZSx0LHMpfX19LDg0NDcyNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9QaXZvdFBvaW50c1N0YW5kYXJkOigpPT5BfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg4NDE1NTgpLG49cyg5MTg3NzkpLG89cygxNTEyMSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyxpKXt0aGlzLl9wcmljZUF4aXNGb250U2l6ZT0xMSx0aGlzLl9wcmljZXM9W10sdGhpcy5fbGFiZWxXaWR0aD0wLHRoaXMuX3BpeGVsUmF0aW9QYXJhbXM9ZSx0aGlzLl9yZWNyZWF0ZUNhbnZhc0FuZENvbnRleHQoKDAsbi5zaXplKSh7d2lkdGg6MCxoZWlnaHQ6MH0pKSx0aGlzLnJlc2V0KHtmb250OnQsZm9udFNpemU6cyxiYWNrQ29sb3JzOml9KX1kZXN0cm95KCl7ZGVsZXRlIHRoaXMuX2NhbnZhcyxkZWxldGUgdGhpcy5fY2FjaGV9Y2FudmFzKCl7cmV0dXJuIHRoaXMuX2NhbnZhc31yZXNldChlKXt0aGlzLl9yZW5kZXJQYXJhbXM9ZSx0aGlzLl9wcmljZXM9W10sdGhpcy5fY2FjaGUuZm9udD1lLmZvbnRTaXplKyJweCAiK2UuZm9udCx0aGlzLl9sYWJlbFdpZHRoPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1IiwiLyJdLnJlZHVjZSgoKGUsdCk9Pntjb25zdCBzPXRoaXMuX2NhY2hlLm1lYXN1cmVUZXh0KHQpLndpZHRoO3JldHVybiBNYXRoLm1heChzLGUpfSksMCl9cm93SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX3ByaWNlQXhpc0ZvbnRTaXplKzR9bGFiZWxSZWN0QnlJbmRleChlKXtyZXR1cm57bGVmdDowLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3RvcEJ5SW5kZXgoZSkpLHdpZHRoOk1hdGgucm91bmQodGhpcy5fbGFiZWxXaWR0aCs0KSxoZWlnaHQ6TWF0aC5yb3VuZCh0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCl9fXNldFByaWNlcyhlKXtsZXQgdD0hMTtjb25zdCBzPShlLHQpPT57Y29uc3Qgcz12b2lkIDA9PT1lLHI9dm9pZCAwPT09dDtyZXR1cm4oIXMmJiFyfHxzPT09cikmJigwLGkuZW5zdXJlRGVmaW5lZCkoZSkuZm9ybWF0dGVkPT09KDAsaS5lbnN1cmVEZWZpbmVkKSh0KS5mb3JtYXR0ZWR9O2lmKGUubGVuZ3RoIT09dGhpcy5fcHJpY2VzLmxlbmd0aCl0PSEwO2Vsc2UgZm9yKGxldCBpPTA7aTx0aGlzLl9wcmljZXMubGVuZ3RoO2krKylpZighcyh0aGlzLl9wcmljZXNbaV0sZVtpXSkpe3Q9ITA7YnJlYWt9aWYodCl7Y29uc3QgdD10aGlzLl9sYWJlbFdpZHRoKzYscz10aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUsaT1NYXRoLm1heChlLmxlbmd0aCwyMikqKHMrOCk7dGhpcy5fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KCgwLG4uc2l6ZSkoe3dpZHRoOnQsaGVpZ2h0Oml9KSksdGhpcy5fcHJpY2VzPWUsdGhpcy5fY2FjaGUuc2F2ZSgpLCgwLG8uZHJhd1NjYWxlZCkodGhpcy5fY2FjaGUsdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy5ob3Jpem9udGFsUGl4ZWxSYXRpbyx0aGlzLl9waXhlbFJhdGlvUGFyYW1zLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9Pnt0aGlzLl9jYWNoZS50cmFuc2xhdGUoLjUsLjUpLHRoaXMuX2NhY2hlLmZvbnQ9dGhpcy5fcmVuZGVyUGFyYW1zLmZvbnRTaXplKyJweCAiK3RoaXMuX3JlbmRlclBhcmFtcy5mb250LHRoaXMuX2NhY2hlLnRleHRCYXNlbGluZT0ibWlkZGxlIjtmb3IobGV0IGU9MDtlPHRoaXMuX3ByaWNlcy5sZW5ndGg7ZSsrKXtpZighdGhpcy5fcHJpY2VzW2VdKWNvbnRpbnVlO2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXVtlXTt0aGlzLl9jYWNoZS5maWxsU3R5bGU9dGhpcy5fcmVuZGVyUGFyYW1zLmJhY2tDb2xvcnNbZV0sdGhpcy5fY2FjaGUuZmlsbFRleHQodCwwLHRoaXMuX2NlbnRlckJ5SW5kZXgoZSkpLAp0aGlzLl9jYWNoZS5maWxsVGV4dCgiLyIsMCx0aGlzLl9jZW50ZXJCeUluZGV4KGUrMTEpKX19KSksdGhpcy5fY2FjaGUucmVzdG9yZSgpLHRoaXMuX3ByaWNlcz1lfX1fcmVjcmVhdGVDYW52YXNBbmRDb250ZXh0KGUpe3RoaXMuX2NhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLl9jYW52YXMud2lkdGg9ZS53aWR0aCp0aGlzLl9waXhlbFJhdGlvUGFyYW1zLmhvcml6b250YWxQaXhlbFJhdGlvLHRoaXMuX2NhbnZhcy5oZWlnaHQ9ZS5oZWlnaHQqdGhpcy5fcGl4ZWxSYXRpb1BhcmFtcy52ZXJ0aWNhbFBpeGVsUmF0aW8sdGhpcy5fY2FjaGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSl9X2NlbnRlckJ5SW5kZXgoZSl7cmV0dXJuIE1hdGgucm91bmQoKGUrLjUpKih0aGlzLl9yZW5kZXJQYXJhbXMuZm9udFNpemUrOCkpfV90b3BCeUluZGV4KGUpe3JldHVybiBNYXRoLnJvdW5kKGUqKHRoaXMuX3JlbmRlclBhcmFtcy5mb250U2l6ZSs4KSl9fXZhciBsPXMoOTI2MTQ5KSx1PXMoNzE2NzgpLGM9cyg4NzM1NzMpO2NvbnN0IGg9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXTtjbGFzcyBkIGV4dGVuZHMgdS5QcmljZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9zb3VyY2U9ZSx0aGlzLl9kYXRhPXQ7Y29uc3Qgcz10Lm5hbWU7dGhpcy5fY29tcGxldGVOYW1lPSJQIj09PXMudG9VcHBlckNhc2UoKT8iUCI6YFMke3NbMV19L1Ike3NbMV19YH1fdXBkYXRlUmVuZGVyZXJEYXRhKGUsdCxzKXtlLnZpc2libGU9ITEsdC52aXNpYmxlPSExO2NvbnN0IGk9dGhpcy5fc291cmNlLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fY29tcGxldGVOYW1lLG49aS5sZXZlbHNTdHlsZS5jaGlsZHMoKS52aXNpYmlsaXR5LmNoaWxkcygpO2lmKCFuW3JdfHwhbltyXS52YWx1ZSgpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLGE9by50aW1lU2NhbGUoKSxsPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYoYS5pc0VtcHR5KCl8fG51bGw9PT1hLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKXx8bnVsbCE9PWwmJmwuaXNFbXB0eSgpKXJldHVybjtjb25zdCB1PXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCk7aWYoIXV8fCF1LnBpdm90cylyZXR1cm47Y29uc3QgZD10aGlzLl9zb3VyY2UucHJpY2VzVmlldygpLnByaWNlcygpW2guaW5kZXhPZih0aGlzLl9kYXRhLm5hbWUudG9VcHBlckNhc2UoKSldO2lmKCFkKXJldHVybjtjb25zdCBfPSgwLGMucmVzZXRUcmFuc3BhcmVuY3kpKGQuY29sb3IpO3MuYmFja2dyb3VuZD1fLHMudGV4dENvbG9yPXRoaXMuZ2VuZXJhdGVUZXh0Q29sb3Iocy5iYWNrZ3JvdW5kKSxzLmNvb3JkaW5hdGU9ZC5jb29yZGluYXRlO2NvbnN0IHA9dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCk7cC5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKSYmKGUudGV4dD1kLmZvcm1hdHRlZCxlLnZpc2libGU9ITApLHAuc2hvd1N0dWR5UGxvdExhYmVscy52YWx1ZSgpJiYodC50ZXh0PXRoaXMuX3NvdXJjZS5wcmljZUxhYmVsVGV4dCh0aGlzLl9kYXRhLm5hbWUpLHQudmlzaWJsZT0hMCksZS5zZWxlY3RlZE1hcmtDb2xvcj1vLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcy5fc291cmNlKT9fOnZvaWQgMH19dmFyIF89cygzNzY2NDUpLHA9cyg1MzY3MTApLHk9cyg5MzI2OTMpLG09cyg5MzYzMjYpO2NvbnN0IHY9WyJwIiwiczEiLCJyMSIsInMyIiwicjIiLCJzMyIsInIzIiwiczQiLCJyNCIsInM1IiwicjUiXSxmPXtQOiJQIixTMToiUzEvUjEiLFMyOiJTMi9SMiIsUzM6IlMzL1IzIixTNDoiUzQvUjQiLFM1OiJTNS9SNSIsUjE6IlMxL1IxIixSMjoiUzIvUjIiLFIzOiJTMy9SMyIsUjQ6IlM0L1I0IixSNToiUzUvUjUifTtjbGFzcyBTe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3Zpc2libGVQaXZvdHM9bmV3IFNldCx0aGlzLl9pbnZpZGF0ZWQ9ITAsdGhpcy5fcHJpY2VzPVtdLHRoaXMuX3NvdXJjZT1lfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZVBpdm90c311cGRhdGUoKXt0aGlzLl9pbnZpZGF0ZWQ9ITB9cHJpY2VzKCl7cmV0dXJuIHRoaXMuX2ludmlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZpZGF0ZWQ9ITEpLHRoaXMuX3ByaWNlc31fdXBkYXRlSW1wbCgpe3RoaXMuX3Zpc2libGVQaXZvdHMuY2xlYXIoKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5tb2RlbCgpLHQ9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKTtpZihudWxsPT09dClyZXR1cm47aWYoZS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fHQuaXNFbXB0eSgpKXJldHVybjtjb25zdCBzPWUudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1zKXJldHVybjtpZighdGhpcy5fc291cmNlLmN1c3RvbURhdGEoKXx8IXRoaXMuX3NvdXJjZS5jdXN0b21EYXRhKCkucGl2b3RzKXJldHVybjtjb25zdCBpPWUubWFpblNlcmllcygpLmJhcnMoKS5zZWFyY2gocy5sYXN0QmFyKCksbS5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWkpcmV0dXJuO2NvbnN0IHI9dGhpcy5fc291cmNlLmluZGV4ZXMoKTtpZighcilyZXR1cm47Y29uc3Qgbj1pLmluZGV4LG89dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKS5waXZvdHMsYT10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7aWYoIW9bZV0pY29udGludWU7Y29uc3Qgcz1yW29bZV0uc3RhcnRJbmRleF0saT1yW29bZV0uZW5kSW5kZXhdLHU9YS5pbnB1dHMuY2hpbGRzKCkuc2hvd0hpc3RvcmljYWxQaXZvdHMudmFsdWUoKTtpZihzPD1uJiYoaT49bnx8dSkpe3RoaXMuX3Zpc2libGVQaXZvdHMuYWRkKG9bZV0pLHRoaXMuX3ByaWNlcz1bXTtmb3IobGV0IHM9MDtzPHYubGVuZ3RoO3MrKyl7CmNvbnN0IGk9dltzXSxyPW9bZV1baV07aWYodm9pZCAwPT09cnx8bnVsbD09PWwpY29udGludWU7Y29uc3Qgbj10LnByaWNlVG9Db29yZGluYXRlKHIsbCksdT1pLnRvVXBwZXJDYXNlKCksYz1mW3VdLGg9YS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKClbY10udmFsdWUoKTt0aGlzLl9wcmljZXMucHVzaCh7Zm9ybWF0dGVkOnQuZm9ybWF0UHJpY2UocixsKSxwcmljZTpyLGNvb3JkaW5hdGU6bixjb2xvcjpofSl9fX19fXZhciBnPXMoNzM2NTMxKSxiPXMoMjYwNjkpLHc9cyg3ODkxOTApLEM9cyg2NTA0ODApLFA9cyg3NjMpLHg9cyg5MzQzMDUpO2NsYXNzIEQgZXh0ZW5kcyB4LkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKGUsdCxzKXtzdXBlcigpLHRoaXMuX2RyYXdSZWN0cz1bXSx0aGlzLl9jYWNoZVByb3ZpZGVyPWUsdGhpcy5fcG9pbnQ9dCx0aGlzLl9sYWJlbD1zfWhpdFRlc3QoZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fZHJhd1JlY3RzKWlmKGUueD49dC5sZWZ0JiZlLng8PXQubGVmdCt0LndpZHRoJiZlLnk+PXQudG9wJiZlLnk8PXQudG9wK3QuaGVpZ2h0KXJldHVybiBuZXcgUC5IaXRUZXN0UmVzdWx0KFAuSGl0VGFyZ2V0LlJlZ3VsYXIpO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2NhY2hlUHJvdmlkZXIoZSkse2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOmksY29udGV4dDpyfT1lO3RoaXMuX2RyYXdSZWN0cz1bXTtjb25zdCBuPWU9Pntjb25zdCBuPXQubGFiZWxSZWN0QnlJbmRleChlKSxvPXtsZWZ0Ok1hdGgucm91bmQodGhpcy5fcG9pbnQueC1uLndpZHRoK2EpLHRvcDpNYXRoLnJvdW5kKHRoaXMuX3BvaW50Lnktbi5oZWlnaHQvMiksd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9O3JldHVybiByLmRyYXdJbWFnZSh0LmNhbnZhcygpLE1hdGgucm91bmQobi5sZWZ0KnMpLE1hdGgucm91bmQobi50b3AqaSksbi53aWR0aCpzLG4uaGVpZ2h0KmksTWF0aC5yb3VuZChvLmxlZnQqcyksTWF0aC5yb3VuZChvLnRvcCppKSxvLndpZHRoKnMsby5oZWlnaHQqaSksdGhpcy5fZHJhd1JlY3RzLnB1c2gobyksbi53aWR0aH0sbz10aGlzLl9sYWJlbC5zcGxpdCgiLyIpO2xldCBhPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9WyJQIiwiUzEiLCJSMSIsIlMyIiwiUjIiLCJTMyIsIlIzIiwiUzQiLCJSNCIsIlM1IiwiUjUiXS5pbmRleE9mKG9bZV0pO2U+MCYmKGErPW4odCsxMSkvMiksYSs9bih0KS8yfX19ZnVuY3Rpb24gSShlKXtyZXR1cm4iUCI9PT1lP2U6IlMiK2VbMV0rIi9SIitlWzFdfWZ1bmN0aW9uIFQoZSx0LHMpe2NvbnN0IGk9dDt2b2lkIDA9PT1lW2ldP2VbaV09e3RleHQ6cyxpZHM6W0kocyldfTooZVtpXS50ZXh0Kz0iLyIrcyxlW2ldLmlkcy5wdXNoKEkocykpKX1jbGFzcyBWe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fcGl2b3RzPVtdLHRoaXMuX2ludmFsaWRhdGVkPSEwLHRoaXMuX3JlbmRlcmVyPW5ldyB3LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX21vZGVsPWUsdGhpcy5fc291cmNlPXQsdGhpcy5fY2FjaGVQcm92aWRlcj10aGlzLl9zb3VyY2UuZ2V0Q2FjaGUuYmluZCh0aGlzLl9zb3VyY2UpfXVwZGF0ZShlKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9X3VwZGF0ZUltcGwoKXt0aGlzLl9yZW5kZXJlci5jbGVhcigpO2NvbnN0IGU9dGhpcy5fc291cmNlLm93bmVyU291cmNlKCk7aWYobnVsbD09PWUpcmV0dXJuO3RoaXMuX3NvdXJjZS5wcmljZXNWaWV3KCkucHJpY2VzKCksdGhpcy5fcGl2b3RzPVtdO2NvbnN0IHQ9dGhpcy5fc291cmNlLmN1c3RvbURhdGEoKTtpZighdHx8IXQucGl2b3RzKXJldHVybjtjb25zdCBzPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aWYoIXMudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCByPXQucGl2b3RzLG49dGhpcy5fc291cmNlLmluZGV4ZXMoKSxvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLGE9dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxsPWUuZmlyc3RWYWx1ZSgpO2lmKCFhfHxhLmlzRW1wdHkoKXx8by5pc0VtcHR5KCl8fCFyfHwhbnx8bnVsbD09PWwpcmV0dXJuO2NvbnN0IHU9KDAsaS5lbnN1cmVOb3ROdWxsKShvLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksYz11LmZpcnN0QmFyKCksaD11Lmxhc3RCYXIoKTtmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7aWYoIXJbZV0pY29udGludWU7Y29uc3QgdD1uW3JbZV0uc3RhcnRJbmRleF0saT1uW3JbZV0uZW5kSW5kZXhdO2lmKGk8Y3x8dD5oKWNvbnRpbnVlO2NvbnN0IHU9e30sZD1zLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7ZC5QLnZhbHVlKCkmJlQodSxyW2VdLnAsIlAiKSxkWyJTMS9SMSJdLnZhbHVlKCkmJihUKHUscltlXS5zMSwiUzEiKSxUKHUscltlXS5yMSwiUjEiKSksZFsiUzIvUjIiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczIsIlMyIiksVCh1LHJbZV0ucjIsIlIyIikpLGRbIlMzL1IzIl0udmFsdWUoKSYmKFQodSxyW2VdLnMzLCJTMyIpLFQodSxyW2VdLnIzLCJSMyIpKSxkWyJTNC9SNCJdLnZhbHVlKCkmJihUKHUscltlXS5zNCwiUzQiKSxUKHUscltlXS5yNCwiUjQiKSksZFsiUzUvUjUiXS52YWx1ZSgpJiYoVCh1LHJbZV0uczUsIlM1IiksVCh1LHJbZV0ucjUsIlI1IikpO2NvbnN0IF89by5pbmRleFRvQ29vcmRpbmF0ZSh0KSxwPW8uaW5kZXhUb0Nvb3JkaW5hdGUoaSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXModSkpe2NvbnN0IHM9cGFyc2VGbG9hdCh0KSxpPWEucHJpY2VUb0Nvb3JkaW5hdGUocyxsKTt0aGlzLl9waXZvdHMucHVzaCh7eDE6Xyx4MjpwLHk6aSxsYWJlbDp1W3RdLnRleHQsbGFiZWxJZHM6dVt0XS5pZHMsc3JjOnJbZV19KX19CmNvbnN0IGQ9cy5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMsXz1zLmxldmVsc1N0eWxlLmNoaWxkcygpLndpZHRocyxwPXRoaXMuX3NvdXJjZS52aXNpYmxlUGl2b3RzKCk7Zm9yKGxldCBlPTA7ZTx0aGlzLl9waXZvdHMubGVuZ3RoO2UrKyl7Y29uc3QgdD10aGlzLl9waXZvdHNbZV07aWYoIXAuaGFzKHQuc3JjKSljb250aW51ZTtjb25zdCBpPXtjb2xvcjpkLmNoaWxkcygpW3QubGFiZWxJZHNbMF1dLnZhbHVlKCksbGluZXdpZHRoOl8uY2hpbGRzKClbdC5sYWJlbElkc1swXV0udmFsdWUoKSxsaW5lc3R5bGU6Yi5MSU5FU1RZTEVfU09MSUQseTp0LnksbGVmdDp0LngxLHJpZ2h0OnQueDJ9LHI9bmV3IEMuSG9yaXpvbnRhbExpbmVSZW5kZXJlcjtyLnNldERhdGEoaSksci5zZXRIaXRUZXN0KG5ldyBQLkhpdFRlc3RSZXN1bHQoUC5IaXRUYXJnZXQuUmVndWxhcikpLHRoaXMuX3JlbmRlcmVyLmFwcGVuZChyKSxzLmxldmVsc1N0eWxlLmNoaWxkcygpLnNob3dMYWJlbHMudmFsdWUoKSYmdGhpcy5fcmVuZGVyZXIuYXBwZW5kKG5ldyBEKHRoaXMuX2NhY2hlUHJvdmlkZXIsbmV3IGcuUG9pbnQodC54MSx0LnkpLHQubGFiZWwpKX19fXZhciBSPXMoNjM1NTA5KTtjbGFzcyBBIGV4dGVuZHMgci5Ob25TZXJpZXNTdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbil7c3VwZXIoZSx0LHMsaSxyLG4pLHRoaXMuX2NhY2hlPW51bGwsdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1udWxsO2NvbnN0IG89WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLGE9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKylhLmNoaWxkcygpW29bZV1dLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX1wcmljZXNWaWV3KCl7cmV0dXJuIHRoaXMuX3ByaWNlc1ZpZXd9aW5kZXhlcygpe3JldHVybiB0aGlzLl9pbmRleGVzfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31nZXRDYWNoZShlKXtpZihudWxsPT09dGhpcy5fY2FjaGV8fG51bGw9PXRoaXMuX2NhY2hlZFBpeGVsUmF0aW9QYXJhbXN8fCh0PWUscz10aGlzLl9jYWNoZWRQaXhlbFJhdGlvUGFyYW1zLHQuaG9yaXpvbnRhbFBpeGVsUmF0aW8hPT1zLmhvcml6b250YWxQaXhlbFJhdGlvfHx0LnZlcnRpY2FsUGl4ZWxSYXRpbyE9PXMudmVydGljYWxQaXhlbFJhdGlvKSl7dGhpcy5fY2FjaGUmJnRoaXMuX2NhY2hlLmRlc3Ryb3koKTtjb25zdCB0PXRoaXMuX2dldEFjdHVhbENhY2hlUGFyYW1zKCkscz17aG9yaXpvbnRhbFBpeGVsUmF0aW86ZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyx2ZXJ0aWNhbFBpeGVsUmF0aW86ZS52ZXJ0aWNhbFBpeGVsUmF0aW99O3RoaXMuX2NhY2hlPW5ldyBhKHMsdC5mb250LHQuZm9udFNpemUsdC5iYWNrQ29sb3JzKSx0aGlzLl9jYWNoZS5zZXRQcmljZXMoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmljZXNWaWV3KS5wcmljZXMoKSksdGhpcy5fY2FjaGVkUGl4ZWxSYXRpb1BhcmFtcz1zLHRoaXMuX2NhY2hlLnJlc2V0KHQpfXZhciB0LHM7cmV0dXJuIHRoaXMuX2NhY2hlfXByaWNlTGFiZWxUZXh0KGUpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnNob3J0RGVzY3JpcHRpb24rIjoiK2UudG9VcHBlckNhc2UoKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9wcmljZXNWaWV3LnVwZGF0ZSgpfXZpc2libGVQaXZvdHMoKXtyZXR1cm4gdGhpcy5fcHJpY2VzVmlldy52aXNpYmxlUGl2b3RzKCl9aXNWaXNpYmxlKCl7aWYoIXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IGU9WyJQIiwiUzEvUjEiLCJTMi9SMiIsIlMzL1IzIiwiUzQvUjQiLCJTNS9SNSJdLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGV2ZWxzU3R5bGUuY2hpbGRzKCkudmlzaWJpbGl0eTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylpZih0LmNoaWxkcygpW2Vbc11dLnZhbHVlKCkpcmV0dXJuITA7cmV0dXJuITF9c3RvcCgpe3N1cGVyLnN0b3AoKSx0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKX1wcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5jdXN0b21EYXRhKCk/LnBpdm90cztpZighdHx8IXRoaXMuX2luZGV4ZXMpcmV0dXJuIG51bGw7aWYoIXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2NvbnN0IHM9dCxpPXRoaXMuX2luZGV4ZXMse3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWU7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7aWYoIXNbZV0pY29udGludWU7Y29uc3QgdD1pW3NbZV0uc3RhcnRJbmRleF07aWYoaVtzW2VdLmVuZEluZGV4XTxyfHx0Pm4pY29udGludWU7Y29uc3QgYT1bXSxsPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxldmVsc1N0eWxlLmNoaWxkcygpLnZpc2liaWxpdHkuY2hpbGRzKCk7bC5QLnZhbHVlKCkmJmEucHVzaChzW2VdLnApLGxbIlMxL1IxIl0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczEsc1tlXS5yMSksbFsiUzIvUjIiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zMixzW2VdLnIyKSxsWyJTMy9SMyJdLnZhbHVlKCkmJmEucHVzaChzW2VdLnMzLHNbZV0ucjMpLGxbIlM0L1I0Il0udmFsdWUoKSYmYS5wdXNoKHNbZV0uczQsc1tlXS5yNCksbFsiUzUvUjUiXS52YWx1ZSgpJiZhLnB1c2goc1tlXS5zNSxzW2VdLnI1KTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylhW2VdJiYobnVsbD09PW8/bz1uZXcgUi5QcmljZVJhbmdlKGFbZV0sYVtlXSk6by5hcHBseShhW2VdLGFbZV0pKX1jb25zdCBhPXRoaXMucHJpY2VTY2FsZSgpCjtyZXR1cm4gYSYmYS5pc0xvZygpJiZvP25ldyBSLlByaWNlUmFuZ2UoYS5wcmljZVRvTG9naWNhbChvLm1pblZhbHVlKCkpLGEucHJpY2VUb0xvZ2ljYWwoby5tYXhWYWx1ZSgpKSk6b31fY3JlYXRlVmlld3MoKXt0aGlzLl9jYWNoZSYmKHRoaXMuX2NhY2hlLmRlc3Ryb3koKSx0aGlzLl9jYWNoZT1udWxsKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bXTtjb25zdCBlPVsiUCIsIlMxIiwiUjEiLCJTMiIsIlIyIiwiUzMiLCJSMyIsIlM0IiwiUjQiLCJTNSIsIlI1Il07dGhpcy5fcGFuZVZpZXdzLmxlbmd0aD0wLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IHQ9bmV3IFYodGhpcy5fbW9kZWwsdGhpcyk7dGhpcy5fcGFuZVZpZXdzLnB1c2godCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9bmV3IGQodGhpcyx7bmFtZTplW3RdfSk7dGhpcy5fcHJpY2VBeGlzVmlld3MucHVzaChzKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfLlBhbmVQcmljZUF4aXNWaWV3KHMsdGhpcyx0aGlzLl9tb2RlbCkpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IHAuU3R1ZHlEYXRhV2luZG93Vmlldyh0aGlzLHRoaXMuX21vZGVsKSksdGhpcy5fc3RhdHVzVmlld3x8KHRoaXMuX3N0YXR1c1ZpZXc9bmV3IHkuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9sZWdlbmRWaWV3PW51bGwsdGhpcy5fcHJpY2VzVmlldz1uZXcgUyh0aGlzKX1fcG9zdFByb2Nlc3NHcmFwaGljcygpe31fZ2V0QWN0dWFsQ2FjaGVQYXJhbXMoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLHQ9ZS5sZXZlbHNTdHlsZS5jaGlsZHMoKS5jb2xvcnMuY2hpbGRzKCk7cmV0dXJue2ZvbnQ6bC5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLGZvbnRTaXplOmUuZm9udHNpemUudmFsdWUoKSxiYWNrQ29sb3JzOlt0LlAudmFsdWUoKSx0WyJTMS9SMSJdLnZhbHVlKCksdFsiUzEvUjEiXS52YWx1ZSgpLHRbIlMyL1IyIl0udmFsdWUoKSx0WyJTMi9SMiJdLnZhbHVlKCksdFsiUzMvUjMiXS52YWx1ZSgpLHRbIlMzL1IzIl0udmFsdWUoKSx0WyJTNC9SNCJdLnZhbHVlKCksdFsiUzQvUjQiXS52YWx1ZSgpLHRbIlM1L1I1Il0udmFsdWUoKSx0WyJTNS9SNSJdLnZhbHVlKCldfX19fSwzNjM2MTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfRVNEJFRWX1JPTExEQVRFUzooKT0+a30pO3ZhciBpPXMoNjMxNTIyKSxyPXMoMjAzNjgxKSxuPXMoNzQwMTYyKSxvPXMoNTA1NTYpLGE9cygxODUyNzEpLGw9cyg1NTQ2NTQpLHU9cyg5MjY5OTUpLGM9cyg4ODcwMjkpLGg9cygyNjA2OSksZD1zKDU5MDg5NCksXz1zKDkyNjE0OSkscD1zKDg3MzU3MykseT1zKDUzNzQ4NyksbT1zKDgyMTk5MSk7Y29uc3Qgdj1bYS50KG51bGwsdm9pZCAwLHMoOTQ0Nzg0KSksYS50KG51bGwsdm9pZCAwLHMoMzM2MzApKSxhLnQobnVsbCx2b2lkIDAscyg2MzU2NDMpKSxhLnQobnVsbCx2b2lkIDAscygxNTU4NTIpKSxhLnQobnVsbCx2b2lkIDAscyg4NDk5NzMpKSxhLnQobnVsbCx2b2lkIDAscyg0MDI0ODIpKSxhLnQobnVsbCx2b2lkIDAscyg5MjQ2ODkpKSxhLnQobnVsbCx2b2lkIDAscyg5NTk3NzIpKSxhLnQobnVsbCx2b2lkIDAscyg0MTUyNjEpKSxhLnQobnVsbCx2b2lkIDAscyg4MTQ1MDEpKSxhLnQobnVsbCx2b2lkIDAscyg5NzE1NjEpKSxhLnQobnVsbCx2b2lkIDAscygzMDk2NjYpKV07dmFyIGY9cyg3NjMpLFM9cyg2MzcxMDQpO2NvbnN0IGc9bmV3IFBhdGgyRCgibTE4LjA2IDEyLjAzLjUzLS41My0uNTMtLjUzLTMuNS0zLjUtMS4wNiAxLjA2IDIuMjIgMi4yMmgtNS4zOEw2LjA2IDYuNDcgNSA3LjUzbDQuNSA0LjUuMjIuMjJoNmwtMi4yMiAyLjIyIDEuMDYgMS4wNnptLTEwLjU2LjQ0LTMgMyAxLjA2IDEuMDYgMy0zeiIpO2NsYXNzIGIgZXh0ZW5kcyBTLkxvbGxpcG9wUmVuZGVyZXJ7X2RyYXdMYWJlbChlKXsoMCxTLmRyYXdMYWJlbCkoZSxnLHRoaXMuX21hdHJpeCx7ZmlsbENvbG9yOnRoaXMuX2RhdGEuc3R5bGUuaWNvbkNvbG9yfSl9fXZhciB3PXMoNzUyNzIpO2NvbnN0IEM9YS50KG51bGwsdm9pZCAwLHMoMjE5MTA0KSksUD1hLnQobnVsbCx2b2lkIDAscyg2MTY0OTQpKSx4PWEudChudWxsLHZvaWQgMCxzKDM4Mzc1MSkpLEQ9YS50KG51bGwsdm9pZCAwLHMoNTA3NzI5KSksST17ZGFyazp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTkwMCIpLGZvcmVncm91bmQ6KDAsby5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLWRlZXAtYmx1ZS1hMjAwIiksbGlua0NvbG9yOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpfSxsaWdodDp7YmFja2dyb3VuZDooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3Itd2hpdGUiKSxmb3JlZ3JvdW5kOigwLG8uZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1kZWVwLWJsdWUtYTQwMCIpLGxpbmtDb2xvcjooMCxvLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKX19O3ZhciBUOyFmdW5jdGlvbihlKXtlW2UuSG92ZXJlZENvbG9yQWxwaGE9LjE1XT0iSG92ZXJlZENvbG9yQWxwaGEiLGVbZS5PbmVJdGVtT2Zmc2V0PTNdPSJPbmVJdGVtT2Zmc2V0IixlW2UuTWF4SXRlbXNUb0V4dHJhY3Q9NF09Ik1heEl0ZW1zVG9FeHRyYWN0In0oVHx8KFQ9e30pKTtjb25zdCBWPXtiYXJMaW5lOntsaW5lU3R5bGU6aC5MSU5FU1RZTEVfREFTSEVELGxpbmVXaWR0aDoxLHN0cm9rZVN0eWxlOiIifSxsb2xsaXBvcDp7d2lkdGg6MjMsaGVpZ2h0OjIzLGJvdHRvbToxLGxpbmVXaWR0aDoxLjUsc3Ryb2tlU3R5bGU6IiIsYmFja2dyb3VuZENvbG9yOiIiLGZpbGxDaXJjbGU6ITAsZmlsbFN0eWxlOiIiLHRleHQ6e2xhYmVsOiIiLHN0cm9rZVN0eWxlOiIiLGZvbnQ6IiJ9fSxpY29uQ29sb3I6IiIsYmFja2dyb3VuZENvbG9yOiIiLG91dGVyQm9yZGVyQ29sb3I6IiJ9LFI9WyJGIiwiRyIsIkgiLCJKIiwiSyIsIk0iLCJOIiwiUSIsIlUiLCJWIiwiWCIsIloiXTtmdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1NYXRoLmZsb29yKHQvMTAwKSxpPXQtMTAwKnMtMQo7cmV0dXJue25hbWU6YCR7ZX0ke1JbaV19JHtzfWAsZXhwaXJhdGlvbkRhdGU6YCR7dltpXX0gJHtzfWB9fWNsYXNzIEwgZXh0ZW5kcyBjLkxvbGxpcG9wU3R1ZHlQYW5lVmlld0Jhc2V7ZXh0cmFEYXRhKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBzPTA7czw0Oysrcyl7Y29uc3QgaT0zKnMrMTtpZighQm9vbGVhbihlW2ldKSlicmVhazt0LnB1c2goe2N1cnJlbnRDb250cmFjdENvZGU6ZVtpXSxuZXh0Q29udHJhY3RDb2RlOmVbaSsxXSxzd2l0Y2hEYXRlOmVbaSsyXX0pfXJldHVybntpdGVtczp0fX1fY3JlYXRlUmVuZGVyZXJGb3JMb2xsaXBvcChlLHQpe3JldHVybiBuZXcgYihlLG5ldyBmLkhpdFRlc3RSZXN1bHQoZi5IaXRUYXJnZXQuQ3VzdG9tLHQpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1hc3luYyBfY3JlYXRlVG9vbHRpcENvbnRlbnQoZSl7cmV0dXJuIGUuaXRlbXMubWFwKChlPT57Y29uc3QgdD1be25hbWU6RCx2YWx1ZTooMCx5LmZvcm1hdFlZWVlNTUREKSh0aGlzLl9tb2RlbC5kYXRlRm9ybWF0dGVyKCksZS5zd2l0Y2hEYXRlKX1dLGk9dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/SS5kYXJrOkkubGlnaHQscj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCksbj10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiZ2b2lkIDAhPT1uLnJvb3Qpe2NvbnN0IHM9bi5saXN0ZWRfZXhjaGFuZ2Usbz17Y29sb3I6aS5saW5rQ29sb3IsY3Vyc29yOiJwb2ludGVyIn0sYT1BKG4ucm9vdCxlLmN1cnJlbnRDb250cmFjdENvZGUpO3QucHVzaCh7bmFtZTpQLHZhbHVlOmEubmFtZSx2YWx1ZVN0eWxlOm8sb25WYWx1ZUNsaWNrOigpPT50aGlzLl9tb2RlbC51bmRvTW9kZWwoKS5zZXRTeW1ib2wocixgJHtzfToke2EubmFtZX1gKX0pLHQucHVzaCh7bmFtZToiICIsdmFsdWU6YS5leHBpcmF0aW9uRGF0ZX0pO2NvbnN0IGw9QShuLnJvb3QsZS5uZXh0Q29udHJhY3RDb2RlKTt0LnB1c2goe25hbWU6eCx2YWx1ZTpsLm5hbWUsdmFsdWVTdHlsZTpvLG9uVmFsdWVDbGljazooKT0+dGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0U3ltYm9sKHIsYCR7c306JHtsLm5hbWV9YCl9KSx0LnB1c2goe25hbWU6IiAiLHZhbHVlOmwuZXhwaXJhdGlvbkRhdGV9KX1yZXR1cm57dGl0bGU6QyxpbmZvcm1hdGlvbkJ1dHRvblByb3BzOnthcmlhTGFiZWw6YS50KG51bGwsdm9pZCAwLHMoODY5ODY3KSksaWNvbjoicXVlc3Rpb24iLG9uQ2xpY2s6KCk9PigwLHUuc2hvd1N1cHBvcnREaWFsb2cpKHtzb2x1dGlvbklkOmwuc29sdXRpb25JZHMuU1dJVENISU5HX0NPTlRJTlVPVVNfRlVUVVJFU19DT05UUkFDVFN9KX0saWNvbjp3LHN0eWxlOntjb2xvcjppLmZvcmVncm91bmR9LG1haW46e3R5cGU6ImNvbW1vbiIsdGl0bGU6dH19fSkpfV9sb2xsaXBvcElkKGUpe3JldHVybiBlWzNdLnRvU3RyaW5nKCl9X3Nob3dCYXJMaW5lKGUpe3JldHVybiBzdXBlci5fc2hvd0JhckxpbmUoZSl8fHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0NvbnRpbnVvdXNDb250cmFjdFN3aXRjaGVzQnJlYWtzLnZhbHVlKCl9X3JlY3JlYXRlU3R5bGVzKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9JLmRhcms6SS5saWdodCx0PWUuZm9yZWdyb3VuZCxzPWUuYmFja2dyb3VuZCxpPSgwLG4uZGVmYXVsdCkoKDAsci5kZWZhdWx0KShWKSx7bG9sbGlwb3A6e3RleHQ6e2ZvbnQ6KDAsZC5tYWtlRm9udCkoMTIsXy5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpLCJib2xkIil9fX0pO2kuaWNvbkNvbG9yPXQsaS5sb2xsaXBvcC5zdHJva2VTdHlsZT10LGkubG9sbGlwb3AuYmFja2dyb3VuZENvbG9yPXMsaS5iYXJMaW5lLnN0cm9rZVN0eWxlPXQsdGhpcy5fZGVmYXVsdFN0eWxlPWk7e2NvbnN0IGU9KDAsci5kZWZhdWx0KShpKTtlLmxvbGxpcG9wLmZpbGxTdHlsZT0oMCxtLmJsZW5kQ29sb3JzKShzLCgwLHAuYXBwbHlBbHBoYSkodCwuMTUpKSx0aGlzLl9ob3ZlcmVkU3R5bGU9ZX17Y29uc3QgZT0oMCxyLmRlZmF1bHQpKGkpO2UubG9sbGlwb3AuZmlsbFN0eWxlPXQsZS5pY29uQ29sb3I9cyx0aGlzLl9hY3RpdmVTdHlsZT1lfXRoaXMuX3N0eWxlc0NhY2hlPW51bGx9fXZhciBFPXMoOTAwNzk3KSxNPXMoNjAxODQxKTtjbGFzcyBrIGV4dGVuZHMgaS5Mb2xsaXBvcFN0dWR5QmFzZXtpZCgpe3JldHVybiJFU0QkVFZfUk9MTERBVEVTIn16b3JkZXIoKXtyZXR1cm4gRS5zb3J0U291cmNlc1ByZU9yZGVyZWQuUm9sbERhdGVzfWlzVmFsaWQoZSl7Y29uc3QgdD1lWzRdO3JldHVybigwLE0uaXNOdW1iZXIpKHQpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3BhbmVWaWV3PW5ldyBMKHRoaXMuX21vZGVsLHRoaXMpLHN1cGVyLl9jcmVhdGVWaWV3cygpfV9leHRlcm5hbFZpc2liaWxpdHlQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dDb250aW51b3VzQ29udHJhY3RTd2l0Y2hlc319fSw1NDc1NzIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UmVwbGF5U3R1ZHlTdHJhdGVneTooKT0+b30pO3ZhciBpPXMoODc0MzY5KSxyPXMoODY3ODMxKSxuPXMoNzY4NzYwKTtjbGFzcyBvIGV4dGVuZHMgaS5TdHVkeVN0cmF0ZWd5e2NvbnN0cnVjdG9yKGUsdCxzLGkscixuLG8pe3QubWVyZ2Uoe3N0cmF0ZWd5OntvcmRlcnM6e3Nob3dMYWJlbHM6ITAsc2hvd1F0eTohMCx2aXNpYmxlOiEwfX19KSxzdXBlcihlLHQscyxpLHIsbixvLCEwKSx0aGlzLl9ub3RpZnlTdHVkeVR1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3M9bmV3IE1hcCx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9bnVsbCx0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlPSgpPT57Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7aWYoInJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSl7Y29uc3QgdD10aGlzLl9yZWNvdmVyeVN0YXRlKCk7ZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKEpTT04uc3RyaW5naWZ5KHQpKX19Cjtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cztlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2Fzc2lnblJlY292ZXJ5U3RhdGUpLGUucmVwbGF5U3R1ZHlTdHJhdGVneVByb3BlcnRpZXMoKS50aGVuKChlPT57dGhpcy5faXNEZXN0cm95ZWR8fCh0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXM9ZSx0aGlzLl9yZXBsYXlTdHVkeVByb3BlcnRpZXMuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLm1lcmdlQW5kRmlyZShlLnN0YXRlKCkpfSkpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5tZXJnZUFuZEZpcmUoZS5zdGF0ZSgpKSl9KSksYS5zdWJzY3JpYmUodGhpcywoKGUsdCk9PnsicmVjb3ZlcnlTdGF0ZSIhPT10JiZ0aGlzLl9hc3NpZ25SZWNvdmVyeVN0YXRlKCl9KSl9ZGVzdHJveSgpe3RoaXMuX25vdGlmaWNhdGlvbnNJblByb2dyZXNzLmZvckVhY2goKGU9PntlLnJlamVjdCgiVGhlIHN0dWR5IGhhcyBiZWVuIGRlc3Ryb3llZCIpfSkpLHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3JlcGxheVN0dWR5UHJvcGVydGllcz8udW5zdWJzY3JpYmVBbGwodGhpcyksc3VwZXIuZGVzdHJveSgpfWlzSGliZXJuYXRpb25BbGxvd2VkKCl7cmV0dXJuITF9Y2xlYXJSZWNvdmVyeVN0YXRlQW5kUmVwb3J0KCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHM7InJlY292ZXJ5U3RhdGUiaW4gZS5jaGlsZHMoKSYmZS5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnNldFZhbHVlKCJ7fSIpLHRoaXMuX3JlcG9ydERhdGE9bnVsbH1yZWNvdmVyeVN0YXRlKCl7Y29uc3QgZT1KU09OLnN0cmluZ2lmeSh0aGlzLl9yZWNvdmVyeVN0YXRlKCkpO3JldHVybiJ7fSI9PT1lP251bGw6ZX1yZXN0b3JlUmVjb3ZlcnlTdGF0ZShlKXtjb25zdCB0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0czsicmVjb3ZlcnlTdGF0ZSJpbiB0LmNoaWxkcygpJiZ0LmNoaWxkcygpLnJlY292ZXJ5U3RhdGUuc2V0VmFsdWUoZSl9Y2xlYXJEYXRhKCl7dGhpcy5fYXNzaWduUmVjb3ZlcnlTdGF0ZSgpLHN1cGVyLmNsZWFyRGF0YSgpfXNob3dJbk9iamVjdFRyZWUoKXtyZXR1cm4hMX1zdGF0dXNWaWV3KCl7cmV0dXJuIG51bGx9YXN5bmMgbm90aWZ5U3R1ZHkoZSl7YXdhaXQgdGhpcy5fd2FpdEZvckNvbXBsZXRlKCk7Y29uc3QgdD0ibm90aWZ5XyIrICsrdGhpcy5fbm90aWZ5U3R1ZHlUdXJuYXJvdW5kQ291bnRlcixzPSgwLG4uY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpO3JldHVybiB0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5zZXQodCxzKSx0aGlzLl9zZW5kTm90aWZ5Q29tbWFuZCh0LGUpLHMucHJvbWlzZX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMX1pc1JlbW92ZWRCeVN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuITF9aXNTYXZlZEluQ2hhcnQoZSl7cmV0dXJuITF9aXNTYXZlZEluU3R1ZHlUZW1wbGF0ZXMoKXtyZXR1cm4hMX1fb25EYXRhKGUpe2lmKCJub3RpZnlfc3R1ZHlfb2siPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV07dGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZ2V0KHQpPy5yZXNvbHZlKCksdGhpcy5fbm90aWZpY2F0aW9uc0luUHJvZ3Jlc3MuZGVsZXRlKHQpfWlmKCJub3RpZnlfc3R1ZHlfZXJyb3IiPT09ZS5tZXRob2Qpe2NvbnN0IHQ9ZS5wYXJhbXNbMV0scz1lLnBhcmFtc1syXTt0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5nZXQodCk/LnJlamVjdChzKSx0aGlzLl9ub3RpZmljYXRpb25zSW5Qcm9ncmVzcy5kZWxldGUodCl9c3VwZXIuX29uRGF0YShlKX1hc3luYyBfd2FpdEZvckNvbXBsZXRlKCl7aWYodGhpcy5zdGF0dXMoKS50eXBlIT09ci5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkKXJldHVybiBuZXcgUHJvbWlzZSgoKGUsdCk9Pntjb25zdCBzPWk9PntpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/KHRoaXMub25TdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUobnVsbCxzKSxlKCkpOmkudHlwZT09PXIuU3R1ZHlTdGF0dXNUeXBlLkVycm9yJiYodGhpcy5vblN0YXR1c0NoYW5nZWQoKS51bnN1YnNjcmliZShudWxsLHMpLHQoaS5lcnJvckRlc2NyaXB0aW9uKSl9O3RoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKG51bGwscyl9KSl9X3JlY292ZXJ5U3RhdGUoKXtjb25zdCBlPXRoaXMucmVwb3J0RGF0YSgpO2lmKCFlKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yZWNvdmVyeVN0YXRlLnZhbHVlKCk7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybnt9fX1jb25zdHthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfT1lO3JldHVybnthY3RpdmVPcmRlcnM6dCxmaWxsZWRPcmRlcnM6cyxvcmRlcnNCcmFja2V0czppfX19fSwyMjI5MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzdHVkeV9TY3JpcHRXaXRoRGF0YU9mZnNldDooKT0+bH0pO3ZhciBpPXMoMTM4NjM4KSxyPXMoNjAxODQxKSxuPXMoODU3MTUxKSxvPXMoMTk3MjcyKSxhPXMoNTA0NDMxKTtjbGFzcyBsIGV4dGVuZHMgby5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyl7c3VwZXIoZSx0LHMsaSxyLG8pLHRoaXMuX3VuZGVybHlpbmdEYXRhPW5ldyBuLlBsb3RMaXN0KCgwLGEuc3R1ZHlQbG90RnVuY3Rpb25NYXApKGkpLGEuc3R1ZHlFbXB0eVBsb3RWYWx1ZVByZWRpY2F0ZSl9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fdW5kZXJseWluZ0RhdGEuY2xlYXIoKX1fbWVyZ2VEYXRhKGUpe3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKTtjb25zdCB0PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKTt0aGlzLl91bmRlcmx5aW5nRGF0YS5tZXJnZShlKSwKdCE9PXRoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSYmKHRoaXMuX2RhdGE9bmV3IG4uUGxvdExpc3QoKDAsYS5zdHVkeVBsb3RGdW5jdGlvbk1hcCkodGhpcy5fbWV0YUluZm8udmFsdWUoKSksYS5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSk7bGV0IHM9bnVsbDtjb25zdCBpPXRoaXMuX2RhdGEubGFzdEluZGV4KCk/P3RoaXMuX3VuZGVybHlpbmdEYXRhLmZpcnN0SW5kZXgoKSxvPXRoaXMuX3VuZGVybHlpbmdEYXRhLmxhc3RJbmRleCgpO2lmKG51bGwhPT1pJiZudWxsIT09bylmb3IoY29uc3QgZSBvZiB0aGlzLl91bmRlcmx5aW5nRGF0YS5yYW5nZUl0ZXJhdG9yKGksbykpbnVsbD09PXMmJihzPWUpLHRoaXMuX2RhdGEuYWRkKGUuaW5kZXgsKDAsci5jbG9uZSkoZS52YWx1ZSkpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Bsb3RzRm9yU3RyYXRlZ3lQcm9jZXNzaW5nKCkpe25ldyB1KGUuc3RyYXRlZ3lJbmRleCxlLnRhcmdldEluZGV4LGkpLnJlYnVpbGREYXRhKHRoaXMuX2RhdGEpfXJldHVybiBzfV9wbG90c0ZvclN0cmF0ZWd5UHJvY2Vzc2luZygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKSx0PVtdO3JldHVybiBlLnBsb3RzLmZvckVhY2goKChzLHIpPT57aWYoImRhdGFvZmZzZXQiIT09cy50eXBlKXJldHVybjtjb25zdCBuPWUucGxvdHMuZmluZEluZGV4KChlPT5lLmlkPT09cy50YXJnZXQpKTsoMCxpLmFzc2VydCkobj49MCxgdGFyZ2V0IHBsb3Qgbm90IGZvdW5kIGZvciBzdHJhdGVneSBwbG90ICR7cy5pZH1gKSx0LnB1c2goe3N0cmF0ZWd5SW5kZXg6cix0YXJnZXRJbmRleDpufSl9KSksdH19Y2xhc3MgdXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3RyYXRlZ3lQbG90SW5kZXg9ZSx0aGlzLl90YXJnZXRQbG90SW5kZXg9dCx0aGlzLl9zdGFydEluZGV4PXN9cmVidWlsZERhdGEoZSl7Y29uc3QgdD10aGlzLl90YXJnZXRQbG90SW5kZXgrMSxzPXRoaXMuX3N0cmF0ZWd5UGxvdEluZGV4KzE7bGV0IGk9bnVsbCxyPW51bGw7Y29uc3Qgbj10aGlzLl9zdGFydEluZGV4Pz9lLmZpcnN0SW5kZXgoKSxvPWUubGFzdEluZGV4KCk7aWYobnVsbCE9PW4mJm51bGwhPT1vKWZvcihjb25zdHtpbmRleDphLHZhbHVlOmx9b2YgZS5yYW5nZUl0ZXJhdG9yKG4sbykpe2NvbnN0IG49bFt0XSxvPWxbc10/TWF0aC5yb3VuZChsW3NdKTpudWxsO2lmKGxbdF09bnVsbCxsW3NdPW51bGwsIW98fG8+MCljb250aW51ZTtjb25zdCB1PWErbyxjPXtwb2ludEluZGV4OnUsdmFsdWU6bn07aWYocil7aWYoci5wb2ludEluZGV4IT09Yy5wb2ludEluZGV4KXtpZih1Pj0wKXtjb25zdCBzPWUudmFsdWVBdCh1KTtzJiYoc1t0XT1uKX1sZXQgcz0hMTtpZihpJiZyJiYocz1pLnZhbHVlPD1yLnZhbHVlJiZyLnZhbHVlPD1ufHxpLnZhbHVlPj1yLnZhbHVlJiZyLnZhbHVlPj1uKSxzKXtpZihyLnBvaW50SW5kZXg+PTApe2NvbnN0IHM9ZS52YWx1ZUF0KHIucG9pbnRJbmRleCk7cyYmKHNbdF09bnVsbCl9fWVsc2UgaT1yO3I9Y319ZWxzZSByPWN9fX19LDcxNDEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtUcG9QZXJpb2RpY1N0dWR5OigpPT51LGNyZWF0ZVRwb1BlcmlvZGljU3R1ZHk6KCk9PmN9KTt2YXIgaT1zKDEyODk5OCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDg3MjM0MyksYT1zKDY4NDI2NSksbD1zKDc3NzY2MSk7Y2xhc3MgdSBleHRlbmRzIGEuVHBvU3R1ZHlCYXNle19zcGxpdHNBbmRNZXJnZXNBY3Rpb25zS2V5KGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHM9dC5wcm9TeW1ib2woKSxyPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKSxuPVtzLHRoaXMuX2NoYXJ0U3R5bGVNb2RlfHwoMCxpLmlzVGltZUJhc2VkU3R5bGUpKHQuc3R5bGUoKSk/ImNvbW1vbiI6dC5zdHlsZSgpLHIuYmxvY2tTaXplLnZhbHVlKCksci5wZXJpb2RzTnVtLnZhbHVlKCksci5wZXJpb2QudmFsdWUoKV07cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwZXJpb2RzTnVtIiwicGVyaW9kIl19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvUHJlcmlvZGljSWR9KSxpPSgwLHIucHJlcGFyZVN0dWR5UHJvcGVydGllcykocyx7fSxudWxsLCgwLG4uc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkpKCkuc3R1ZHlWZXJzaW9uaW5nKCksW10pO3JldHVybigwLG8uYWRkU3R1ZHlJbmZvVG9NYXApKCJzdHVkeV9UUE9QZXJpb2RpYyIse3N0dWR5Q29uc3RydWN0b3I6dSxjb2xvclJvdGF0aW9uTW9kZToic2hpZnQifSksbmV3IHUoZSxpLFtdLHMscywhMSwhMCx0KX19LDMzNDc0MihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7VHBvU2Vzc2lvbnNTdHVkeTooKT0+dSxjcmVhdGVUcG9TZXNzaW9uc1N0dWR5OigpPT5jfSk7dmFyIGk9cygxMjg5OTgpLHI9cyg2ODQyNjUpLG49cyg2MDUyNTcpLG89cyg4NzIzNDMpLGE9cyg0Mzc3NDkpLGw9cyg3Nzc2NjEpO2NsYXNzIHUgZXh0ZW5kcyByLlRwb1N0dWR5QmFzZXtfc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCkscj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCksbj1bcyx0aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsaS5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyLmJsb2NrU2l6ZS52YWx1ZSgpLHIucHJvZmlsZXNTZXNzaW9ucy52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvblRaLnZhbHVlKCksci5jdXN0b21TZXNzaW9uMi52YWx1ZSgpLHIuY3VzdG9tU2Vzc2lvbjMudmFsdWUoKSxyLmN1c3RvbVNlc3Npb240LnZhbHVlKCksci5jdXN0b21TZXNzaW9uNS52YWx1ZSgpXQo7cmV0dXJuIGU+MSYmbi5wdXNoKHQuc2Vzc2lvbklkKCkpLG4uam9pbigiOyIpfV9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCl7cmV0dXJuWyJibG9ja1NpemUiLCJwcm9maWxlc1Nlc3Npb25zIiwiY3VzdG9tU2Vzc2lvbiIsImN1c3RvbVNlc3Npb25UWiIsImN1c3RvbVNlc3Npb24yIiwiY3VzdG9tU2Vzc2lvbjMiLCJjdXN0b21TZXNzaW9uNCIsImN1c3RvbVNlc3Npb241Il19fWFzeW5jIGZ1bmN0aW9uIGMoZSx0KXtjb25zdCBzPWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpsLnN0dWR5VHBvU2Vzc2lvbnNJZH0pLGk9KDAsYS5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKShzLHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSk7cmV0dXJuKDAsby5hZGRTdHVkeUluZm9Ub01hcCkoInN0dWR5X1RQT1Nlc3Npb25zIix7c3R1ZHlDb25zdHJ1Y3Rvcjp1LGNvbG9yUm90YXRpb25Nb2RlOiJzaGlmdCJ9KSxuZXcgdShlLGksW10scyxzLCExLCEwLHQpfX0sODMzMTc3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlc3Npb25Wb2x1bWUyU3R1ZHk6KCk9PlJ9KTt2YXIgaT1zKDEzODYzOCk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zdGFydD0wLHRoaXMuX3NpemU9MCx0aGlzLl9idWZmZXI9bmV3IEFycmF5KGUpfXNpemUoKXtyZXR1cm4gdGhpcy5fc2l6ZX1jYXBhY2l0eSgpe3JldHVybiB0aGlzLl9idWZmZXIubGVuZ3RofWVucXVldWUoZSl7dGhpcy5fc2l6ZTx0aGlzLl9idWZmZXIubGVuZ3RoP3RoaXMuX3NpemUrKzp0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aDtjb25zdCB0PSh0aGlzLl9zdGFydCt0aGlzLl9zaXplLTEpJXRoaXMuX2J1ZmZlci5sZW5ndGg7dGhpcy5fYnVmZmVyW3RdPWV9ZGVxdWV1ZSgpe2lmKDA9PT10aGlzLl9zaXplKXRocm93IG5ldyBFcnJvcigiQnVmZmVyIGlzIGVtcHR5Iik7Y29uc3QgZT10aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdO3JldHVybiB0aGlzLl9idWZmZXJbdGhpcy5fc3RhcnRdPXZvaWQgMCx0aGlzLl9zdGFydD0odGhpcy5fc3RhcnQrMSkldGhpcy5fYnVmZmVyLmxlbmd0aCx0aGlzLl9zaXplLS0sZX1nZXQoZSl7aWYoZT49dGhpcy5fc2l6ZSl0aHJvdyBuZXcgRXJyb3IoIkluZGV4IGlzIG91dCBvZiByYW5nZSIpO2NvbnN0IHQ9KHRoaXMuX3N0YXJ0K2UpJXRoaXMuX2J1ZmZlci5sZW5ndGg7cmV0dXJuIHRoaXMuX2J1ZmZlclt0XX1mb3JFYWNoKGUsdCl7Zm9yKGxldCBzPTA7czx0aGlzLl9zaXplO3MrKyl7Y29uc3QgaT0odGhpcy5fc3RhcnQrcykldGhpcy5fYnVmZmVyLmxlbmd0aDtlLmNhbGwodCx0aGlzLl9idWZmZXJbaV0saSx0aGlzKX19Y2xlYXIoKXtjb25zdCBlPXRoaXMuX2J1ZmZlci5sZW5ndGg7Zm9yKGxldCB0PTA7dDxlO3QrKyl0aGlzLl9idWZmZXJbdF09dm9pZCAwO3RoaXMuX3N0YXJ0PTAsdGhpcy5fc2l6ZT0wfX12YXIgbj1zKDE4NTI3MSksbz1zKDg1NzE1MSksYT1zKDYzNDg2KSxsPXMoNjI4MDYpLHU9cygyMjcwNTYpLGM9cyg4Njc4MzEpLGg9cyg3OTkzNzUpLGQ9cyg1MDQ0MzEpLF89cygyMTg3NjUpO2NsYXNzIHB7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX21vc3REZXRhaWxlZEhvcml6TGluZXMoKS5mb3JFYWNoKChzPT57ZS5jYWxsKHQscyxzLHRoaXMpfSkpfWhhcyhlKXtsZXQgdD0hMTtyZXR1cm4gdGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmZvckVhY2goKHM9Pnt0PXR8fHM9PT1lfSkpLHR9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5fcm91Z2guc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fbW9zdERldGFpbGVkSG9yaXpMaW5lcygpLmVudHJpZXMoKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dCgpe2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuITA9PT10LmRvbmU/dDp7dmFsdWU6dC52YWx1ZVsxXX19fX1lbnRyaWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX1rZXlzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX12YWx1ZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfV9tb3N0RGV0YWlsZWRIb3JpekxpbmVzKCl7Y29uc3QgZT1uZXcgTWFwO3RoaXMuX3JvdWdoLmZvckVhY2goKHQ9PmUuc2V0KHQuc3RhcnRJbmRleCx0KSkpO2ZvcihsZXQgdD10aGlzLl9kZXRhaWxlZC5sZW5ndGgtMTt0Pj0wO3QtLSl7dGhpcy5fZGV0YWlsZWRbdF0uZm9yRWFjaCgodD0+e2UuaGFzKHQuc3RhcnRJbmRleCkmJmUuc2V0KHQuc3RhcnRJbmRleCx0KX0pKX1yZXR1cm4gZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX21lcmdlZEhvcml6TGluZXNTZXQ9ZSx0aGlzLl9yb3VnaEl0ZXJhdG9yPXR9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc31uZXh0KCl7Y29uc3QgZT10aGlzLl9yb3VnaEl0ZXJhdG9yLm5leHQoKTtpZighMD09PWUuZG9uZSlyZXR1cm4gZTtjb25zdCB0PWUudmFsdWVbMF07cmV0dXJue3ZhbHVlOlt0LCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbWVyZ2VkSG9yaXpMaW5lc1NldC5nZXQodCkpXX19fWNsYXNzIG17Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaEhvcml6TGluZVNldHM9ZSx0aGlzLl9kZXRhaWxlZEhvcml6TGluZVNldHM9dH1mb3JFYWNoKGUsdCl7dGhpcy5fcm91Z2hIb3JpekxpbmVTZXRzLmZvckVhY2goKChzLHIpPT57ZS5jYWxsKHQsKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLmdldChyKSkscix0aGlzKX0pKX1nZXQoZSl7Y29uc3QgdD10aGlzLl9yb3VnaEhvcml6TGluZVNldHMuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpcmV0dXJuIG5ldyBwKHQsdGhpcy5fZGV0YWlsZWRIb3JpekxpbmVTZXRzLm1hcCgodD0+dC5nZXQoZSkpKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKSl9aGFzKGUpe3JldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuaGFzKGUpfWdldCBzaXplKCl7CnJldHVybiB0aGlzLl9yb3VnaEhvcml6TGluZVNldHMuc2l6ZX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeSh0aGlzLHRoaXMuX3JvdWdoSG9yaXpMaW5lU2V0cy5lbnRyaWVzKCkpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIHZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yb3VnaD1lLHRoaXMuX2RldGFpbGVkPXR9Zm9yRWFjaChlLHQpe3RoaXMuX3JvdWdoLmZvckVhY2goKChzLGkpPT57Zm9yKGNvbnN0IHMgb2YgdGhpcy5fZGV0YWlsZWQpe2NvbnN0IHI9cy5nZXQoaSk7aWYodm9pZCAwIT09cilyZXR1cm4gdm9pZCBlLmNhbGwodCxyLGksdGhpcyl9ZS5jYWxsKHQscyxpLHRoaXMpfSkpfWdldChlKXtmb3IoY29uc3QgdCBvZiB0aGlzLl9kZXRhaWxlZCl7Y29uc3Qgcz10LmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzfXJldHVybiB0aGlzLl9yb3VnaC5nZXQoZSl9aGFzKGUpe2Zvcihjb25zdCB0IG9mIHRoaXMuX2RldGFpbGVkKXtpZih0LmhhcyhlKSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5fcm91Z2guaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMuX3JvdWdoLnNpemV9W1N5bWJvbC5pdGVyYXRvcl0oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWVudHJpZXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfWtleXMoKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfXZhbHVlcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9fWNsYXNzIGZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9ncmFwaGljcz1lLHRoaXMuX3N0eWxlSWQ9dH1mb3JFYWNoKGUsdCl7dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHM9PntzLmZvckVhY2goKHM9PntpZihzLnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkKXtjb25zdCBpPXtmaXJzdEJhclRpbWU6cy5maXJzdEJhclRpbWUsbGFzdEJhclRpbWU6cy5sYXN0QmFyVGltZSxyYXRlOnMucmF0ZSxwcmljZUhpZ2g6cy5wcmljZUhpZ2gscHJpY2VMb3c6cy5wcmljZUxvd307ZS5jYWxsKHQsaSxpLHRoaXMpfX0pKX0pKX1oYXMoZSl7bGV0IHQ9ITE7cmV0dXJuIHRoaXMuX2dyYXBoaWNzLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKChzPT57cy5mb3JFYWNoKChzPT57cy5zdHlsZUlkPT09dGhpcy5fc3R5bGVJZCYmcz09PWUmJih0PSEwKX0pKX0pKSx0fWdldCBzaXplKCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LnN0eWxlSWQ9PT10aGlzLl9zdHlsZUlkJiZlKyt9KSl9KSksZX1bU3ltYm9sLml0ZXJhdG9yXSgpe2NvbnN0IGU9dGhpcy5fZ3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpW1N5bWJvbC5pdGVyYXRvcl0oKTtsZXQgdCxzO3JldHVybntbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfSxuZXh0KCl7Zm9yKDs7KXtpZih2b2lkIDA9PT10JiYocz12b2lkIDAsdD1lLm5leHQoKSwhdC5kb25lJiYhdC52YWx1ZSkpcmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfTtjb25zdCBpPXQudmFsdWU7c3x8KHM9aVtTeW1ib2wuaXRlcmF0b3JdKCkpO2NvbnN0IHI9cy5uZXh0KCk7aWYoIXIuZG9uZSlyZXR1cm57dmFsdWU6ci52YWx1ZX07e2NvbnN0IGU9dDtpZih0PXZvaWQgMCxyLnZhbHVlKXJldHVybnt2YWx1ZTpyLnZhbHVlLGRvbmU6ZS5kb25lfX19fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgU3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyYXBoaWNzSW5mbz1lLHRoaXMuX2dyYXBoaWNzPXR9Zm9yRWFjaChlLHQpe2lmKHZvaWQgMD09PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMpcmV0dXJuO2NvbnN0IHM9T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cyk7Zm9yKGNvbnN0IHIgb2YgcyllLmNhbGwodCwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHIpKSxyLHRoaXMpfWdldChlKXtpZih2b2lkIDAhPT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzKXJldHVybiBuZXcgZih0aGlzLl9ncmFwaGljcyxlKX1oYXMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX2dyYXBoaWNzSW5mby5oaGlzdHMmJmUgaW4gdGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0c31nZXQgc2l6ZSgpe3JldHVybiB2b2lkIDA9PT10aGlzLl9ncmFwaGljc0luZm8uaGhpc3RzPzA6T2JqZWN0LmtleXModGhpcy5fZ3JhcGhpY3NJbmZvLmhoaXN0cykubGVuZ3RofVtTeW1ib2wuaXRlcmF0b3JdKCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9ncmFwaGljc0luZm8/LmhoaXN0cz8/e30pW1N5bWJvbC5pdGVyYXRvcl0oKTtyZXR1cm57W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpc30sbmV4dDooKT0+e2NvbnN0IHQ9ZS5uZXh0KCk7cmV0dXJuIHQuZG9uZT97ZG9uZTohMCx2YWx1ZTp0LnZhbHVlP1t0LnZhbHVlLCgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5nZXQodC52YWx1ZSkpXTp2b2lkIDB9Ont2YWx1ZTpbdC52YWx1ZSwoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuZ2V0KHQudmFsdWUpKV0sZG9uZTp0LmRvbmV9fX19ZW50cmllcygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9a2V5cygpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9dmFsdWVzKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX19Y2xhc3MgZ3tjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fZ3JhcGhpY3NJbmZvPWUsdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzPXQsdGhpcy5fZGV0YWlsZWRTdHVkeUdyYXBoaWNzPXN9aG9yaXpsaW5lcygpewpyZXR1cm4gbmV3IG0odGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmhvcml6bGluZXMoKSx0aGlzLl9kZXRhaWxlZFN0dWR5R3JhcGhpY3MubWFwKChlPT5lLmhvcml6bGluZXMoKSkpKX12ZXJ0bGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnZlcnRsaW5lcygpfWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5saW5lcygpfWhsaW5lcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGxpbmVzKCl9dGV4dG1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50ZXh0bWFya3MoKX1zaGFwZW1hcmtzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5zaGFwZW1hcmtzKCl9YmFja2dyb3VuZHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmJhY2tncm91bmRzKCl9cG9seWdvbnMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnBvbHlnb25zKCl9dHJlbmRjaGFubmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHJlbmRjaGFubmVscygpfWhoaXN0cygpe3JldHVybiBuZXcgUyh0aGlzLl9ncmFwaGljc0luZm8sdGhpcyl9aGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpe3JldHVybiBuZXcgdih0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpLHRoaXMuX2RldGFpbGVkU3R1ZHlHcmFwaGljcy5tYXAoKGU9PmUuaGhpc3RzQnlUaW1lUG9pbnRJbmRleCgpKSkpfWR3Z2xhYmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnbGFiZWxzKCl9ZHdnbGluZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVzKCl9ZHdncG9seWxpbmVzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5kd2dwb2x5bGluZXMoKX1kd2dib3hlcygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MuZHdnYm94ZXMoKX1kd2d0YWJsZXMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlcygpfWR3Z3RhYmxlY2VsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z3RhYmxlY2VsbHMoKX1kd2dsaW5lZmlsbHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmR3Z2xpbmVmaWxscygpfXRwb3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb3MoKX10cG9CbG9ja1NldHMoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLnRwb0Jsb2NrU2V0cygpfXRwb0xldmVscygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvTGV2ZWxzKCl9dHBvVm9sdW1lUm93cygpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MudHBvVm9sdW1lUm93cygpfXRwb1N1bW1hcnlJbmZvKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy50cG9TdW1tYXJ5SW5mbygpfWxvZ3MoKXtyZXR1cm4gdGhpcy5fcm91Z2hTdHVkeUdyYXBoaWNzLmxvZ3MoKX1wZXJmb3JtYW5jZSgpe3JldHVybiB0aGlzLl9yb3VnaFN0dWR5R3JhcGhpY3MucGVyZm9ybWFuY2UoKX1mb290cHJpbnRzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRzKCl9Zm9vdHByaW50TGV2ZWxzKCl7cmV0dXJuIHRoaXMuX3JvdWdoU3R1ZHlHcmFwaGljcy5mb290cHJpbnRMZXZlbHMoKX19dmFyIGI9cyg5NjY0MDQpLHc9cyg2MDUyNTcpO2NvbnN0IEM9InR2LXZvbHVtZWJ5cHJpY2UiLFA9KDAsYS5zdHVkeUlkU3RyaW5nKSgiVmJQU2Vzc2lvbnNSb3VnaCIsQykseD0oMCxhLnN0dWR5SWRTdHJpbmcpKCJWYlBTZXNzaW9uc0RldGFpbGVkIixDKSxEPSgwLGEuc3R1ZHlJZFN0cmluZykoIlZiUFNlc3Npb25zRGV0YWlsZWRBbGVydHMiLEMpLEk9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7dmFyIFQ7IWZ1bmN0aW9uKGUpe2VbZS5EZXRhaWxlZERhdGFCdWZmZXJDYXBhY2l0eT03XT0iRGV0YWlsZWREYXRhQnVmZmVyQ2FwYWNpdHkifShUfHwoVD17fSkpO2NvbnN0IFY9bi50KG51bGwsdm9pZCAwLHMoMzcxMjk3KSk7Y2xhc3MgUiBleHRlbmRzIHUuVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxuLG8pe3N1cGVyKGUsdCxzLGksbixvKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGU9QSgpLHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm89bnVsbCx0aGlzLl9yb3VnaERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCx0aGlzLl9kZXRhaWxlZERhdGFCdWZmZXI9bmV3IHIoNyksdGhpcy5fbG9hZGVkR3JhcGhpY3M9bnVsbCx0aGlzLl9sb2FkZWRQbG90cz1udWxsLHRoaXMuX21lcmdlZEdyYXBoaWNzPSgwLF8uZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX21lcmdlZFBsb3RzPXRoaXMuX2VtcHR5UGxvdExpc3QoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGV8fHRoaXMuX3NldFN0YXR1cyh7dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5FcnJvcixlcnJvckRlc2NyaXB0aW9uOntlcnJvcjpWfX0pLHRoaXMuX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRhdGFDbGVhcmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblJvdWdoT3JEZXRhaWxlZERhdGFDbGVhcmVkKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN0dWR5U3RhdHVzQ2hhbmdlZCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLmRlc3Ryb3koKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U9bnVsbCksbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZCksCnRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Sb3VnaE9yRGV0YWlsZWREYXRhQ2xlYXJlZCksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kZXN0cm95KCksdGhpcy5fcm91Z2hEYXRhU291cmNlPW51bGwpLHN1cGVyLmRlc3Ryb3koKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2xvYWRlZFBsb3RzfHx0aGlzLl9tZXJnZWRQbG90c31ncmFwaGljcygpe3JldHVybiB0aGlzLl9sb2FkZWRHcmFwaGljc3x8dGhpcy5fbWVyZ2VkR3JhcGhpY3N9Y2xlYXJEYXRhKCl7bnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLmNsZWFyRGF0YSgpLG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5jbGVhckRhdGEoKX1yZXN0b3JlRGF0YShlKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbG9hZGVkUGxvdHM9dGhpcy5fZW1wdHlQbG90TGlzdCgpLHRoaXMuX2xvYWRlZFBsb3RzLnJlc3RvcmVTdGF0ZShlKSx2b2lkIDAhPT1lLmdyYXBoaWNzJiYodGhpcy5fbG9hZGVkR3JhcGhpY3M9KDAsXy5sb2FkU3R1ZHlHcmFwaGljcykoZS5ncmFwaGljcykpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfSwhMCl9aXNGYWlsZWQoKXtyZXR1cm4hdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKS50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuRXJyb3J8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcn1pc0xvYWRpbmcoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX3JvdWdoRGF0YVNvdXJjZSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmd8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5zdHVkeVN0YXR1cygpLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfWlzU3RhcnRlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKX1zb3VyY2VJZCgpe3Rocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcGVyYXRpb24iKX1pZEZvckFsZXJ0KCl7cmV0dXJuIHN1cGVyLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydH1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4hMX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4hMX1oYXNDaGlsZHJlbigpe3JldHVybiExfWdldEFsbENoaWxkcmVuKCl7cmV0dXJuW119aXNIaWJlcm5hdGVkKCl7cmV0dXJuISh0aGlzLmlzVmlzaWJsZSgpfHxudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZ0aGlzLl9yb3VnaERhdGFTb3VyY2UuaXNTdGFydGVkKCl8fG51bGwhPT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UmJnRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pc1N0YXJ0ZWQoKSl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mb31fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiYodGhpcy5fcm91Z2hEYXRhU291cmNlPy5pc1N0YXJ0ZWQoKSYmdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2U/LmlzU3RhcnRlZCgpJiZ0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcCgpKX1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2lmKCF0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLmlzUmVzdGFydGluZygpKWlmKHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5faXNQYWNrYWdlQXZhaWxhYmxlPUEoKSx0aGlzLl9pc1BhY2thZ2VBdmFpbGFibGUpe2lmKHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkpe2lmKHRoaXMuX2lucHV0cz10aGlzLl9hcGlJbnB1dHMoKSxudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtjb25zdCBlPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpQfSk7dGhpcy5fcm91Z2hEYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zcm91Z2hfIixlKSx0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0b3AoKTtpZih0aGlzLl9yb3VnaERhdGFTb3VyY2Uuc2V0SW5wdXRzKEwodGhpcy5fcm91Z2hEYXRhU291cmNlLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuX2lucHV0cykpLG51bGw9PT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Upe2NvbnN0IGU9YXdhaXQoMCx3LnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOnh9KQo7dGhpcy5fZGV0YWlsZWREYXRhU291cmNlPW5ldyBoLkV4dGVuZGVkU3R1ZHlEYXRhU291cmNlKHRoaXMubW9kZWwoKS5jaGFydEFwaSgpLHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCksInZicHNlc3Npb25zZGV0YWlsZWRfIixlKSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TdHVkeVN0YXR1c0NoYW5nZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhQ2xlYXJlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQpLHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uUm91Z2hPckRldGFpbGVkRGF0YVVwZGF0ZWQpfWVsc2UgdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0b3AoKTt0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc2V0SW5wdXRzKEUodGhpcy5faW5wdXRzKSksdGhpcy5fcm91Z2hEYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnN0YXJ0KCksdGhpcy5fY3JlYXRlU3R1ZHlHcmFwaGljcygpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvbklkKCksdGhpcy5fc2V0U3RhdHVzKHRoaXMuX3N0YXR1c1ZhbHVlRnJvbURhdGFTb3VyY2VzKCkpLHRoaXMuX29uU3RhcnQuZmlyZSgpLG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvJiZhd2FpdCB0aGlzLl9zZXRBbGVydHNTdHVkeU1ldGFJbmZvKCl9fWVsc2UgdGhpcy5fc2V0U3RhdHVzKHt0eXBlOmMuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOlZ9fSl9YXN5bmMgX2NoYW5nZUlucHV0c0ltcGwoZSx0KXtpZihudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlKXtpZigoMCxsLmFyZVN0dWR5SW5wdXRzRXF1YWwpKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyx0LGUpKXtpZihudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXtjb25zdCB0PUUoZSkscz0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkodCk7aWYodGhpcy5fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKHMpKXtpZih0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UuaXNBY3RpdmUoKSl7Y29uc3QgZT10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RvcEFuZFN0ZWFsRGF0YSgpO2lmKGUucGxvdHMuc2l6ZSgpPjB8fCEoMCxfLmlzU3R1ZHlHcmFwaGljc0VtcHR5KShlLmdyYXBoaWNzKSl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZS5pbnB1dHMoKSk7ZS5wbG90cz10aGlzLl9leHRyYWN0RWZmZWN0aXZlRGV0YWlsZWRQbG90VmFsdWVzKGUucGxvdHMsdCksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmVucXVldWUoe2xvZDpNKHQpLHZhbHVlOmV9KX19dGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyh0KSx0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3RhcnQoKX19fWVsc2UgdGhpcy5faW5wdXRzPWUsdGhpcy5fcm91Z2hEYXRhU291cmNlLnNldElucHV0cyhMKHRoaXMuX3JvdWdoRGF0YVNvdXJjZS5tZXRhSW5mbygpLmlucHV0cyxlKSksdGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmNsZWFyKCksbnVsbCE9PXRoaXMuX2RldGFpbGVkRGF0YVNvdXJjZSYmdGhpcy5fZGV0YWlsZWREYXRhU291cmNlLnNldElucHV0cyhFKGUpKTtudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiZ0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCl9fV9jb2xsZWN0RGVwc0ZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5fY29sbGVjdERlcHNGb3JBbGVydCgpO2lmKG51bGw9PT10aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvKXRocm93IG5ldyBFcnJvcigiQWxlcnRzIHN0dWR5IG1ldGFpbmZvIGlzIG5vdCByZWFkeSB5ZXQuIEhhdmUgeW91IGNoZWNrZWQgdGhlIGFsZXJ0IGF2YWlsYWJpbGl0eSB1c2luZyBoYXNTdGF0ZUZvckFsZXJ0KCk/Iik7cmV0dXJuey4uLmUsc3R1ZHlEZXBlbmRlbmNpZXM6ZS5zdHVkeURlcGVuZGVuY2llcy5tYXAoKGU9Pntjb25zdCB0PWUuc3R1ZHk9PT1rKHRoaXMubWV0YUluZm8oKSk7cmV0dXJue2lkOmUuaWQsaW5wdXRzOnQ/KHM9ZS5pbnB1dHMsey4uLnMsc3Vic2NyaWJlUmVhbHRpbWU6ITB9KTplLmlucHV0cyxzdHVkeTp0JiZudWxsIT09dGhpcy5fYWxlcnRzU3R1ZHlNZXRhSW5mbz9rKHRoaXMuX2FsZXJ0c1N0dWR5TWV0YUluZm8pOmUuc3R1ZHl9O3ZhciBzfSkpfX1fZ2V0QWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiExfV9zdGF0dXNWYWx1ZUZyb21EYXRhU291cmNlcygpe2NvbnN0IGU9e3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfTtpZihudWxsPT09dGhpcy5fcm91Z2hEYXRhU291cmNlfHxudWxsPT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlKXJldHVybiBlO2NvbnN0IHQ9dGhpcy5fcm91Z2hEYXRhU291cmNlLnN0dWR5U3RhdHVzKCkscz10aGlzLl9kZXRhaWxlZERhdGFTb3VyY2Uuc3R1ZHlTdGF0dXMoKTtpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gdDtpZihzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5FcnJvcilyZXR1cm4gcztpZih0LnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nfHxzLnR5cGU9PT1jLlN0dWR5U3RhdHVzVHlwZS5Mb2FkaW5nKXtjb25zdCBlPXQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmc/dC5zdGFydFRpbWU6MS8wLGk9cy50eXBlPT09Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz9zLnN0YXJ0VGltZToxLzA7cmV0dXJue3R5cGU6Yy5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6TWF0aC5taW4oZSxpKX19cmV0dXJuIHQudHlwZT09PWMuU3R1ZHlTdGF0dXNUeXBlLkNvbXBsZXRlZD97dHlwZTpjLlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9OmV9X2VtcHR5UGxvdExpc3QoKXtyZXR1cm4gbmV3IG8uUGxvdExpc3QoKDAsCmQuc3R1ZHlQbG90RnVuY3Rpb25NYXApKHRoaXMubWV0YUluZm8oKSksZC5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKX1fY3JlYXRlU3R1ZHlQbG90cygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpO3RoaXMuX21lcmdlZFBsb3RzLmNsZWFyKCk7Y29uc3Qgcz1bXTtzLnB1c2goe2xvZDpJLHZhbHVlOmUucGxvdHMoKX0pLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5mb3JFYWNoKChlPT57cy5wdXNoKHtsb2Q6ZS5sb2QsdmFsdWU6ZS52YWx1ZS5wbG90c30pfSkpO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmlucHV0cygpKTtzLnB1c2goe2xvZDpNKHIpLHZhbHVlOnRoaXMuX2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXModC5wbG90cygpLHIpfSkscy5zb3J0KCgoZSx0KT0+dC5sb2QtZS5sb2QpKTtmb3IoY29uc3QgZSBvZiBzKWUudmFsdWUuZWFjaCgoKGUsdCk9Pntmb3IoY29uc3QgZSBvZiB0KWlmKHZvaWQgMD09PWUpcmV0dXJuITE7cmV0dXJuIHRoaXMuX21lcmdlZFBsb3RzLmFkZChlLHQpLCExfSkpO3RoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKX1fY3JlYXRlU3R1ZHlHcmFwaGljcygpe2NvbnN0IGU9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yb3VnaERhdGFTb3VyY2UpLHQ9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9kZXRhaWxlZERhdGFTb3VyY2UpLHM9W107dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntzLnB1c2goe2xvZDplLmxvZCx2YWx1ZTplLnZhbHVlLmdyYXBoaWNzfSl9KSksdm9pZCAwIT09dGhpcy5faW5wdXRzJiZzLnB1c2goe2xvZDpNKHRoaXMuX2lucHV0cyksdmFsdWU6dC5ncmFwaGljcygpfSkscy5zb3J0KCgoZSx0KT0+ZS5sb2QtdC5sb2QpKTtjb25zdCByPXMubWFwKChlPT5lLnZhbHVlKSk7dGhpcy5fbWVyZ2VkR3JhcGhpY3M9bmV3IGcodGhpcy5tZXRhSW5mbygpLmdyYXBoaWNzLGUuZ3JhcGhpY3MoKSxyKSx0aGlzLl9wb3N0UHJvY2Vzc0dyYXBoaWNzKCl9X2V4dHJhY3RFZmZlY3RpdmVEZXRhaWxlZFBsb3RWYWx1ZXMoZSx0KXtjb25zdCBzPSgwLGwucmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0c1RvVGltZVJhbmdlKSh0KSxyPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS50aW1lUG9pbnRUb0luZGV4KHMuZnJvbSksbj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudGltZVBvaW50VG9JbmRleChzLnRvKTtyZXR1cm4gZS5zaXplKCk+MD9lLnJhbmdlKHJ8fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5maXJzdEluZGV4KCkpLG58fCgwLGkuZW5zdXJlTm90TnVsbCkoZS5sYXN0SW5kZXgoKSkpOnRoaXMuX2VtcHR5UGxvdExpc3QoKX1fbW9yZURldGFpbGVkRGF0YVJlcXVpcmVkRm9yVGltZVJhbmdlKGUpe2NvbnN0e2Zyb206dCx0bzpzfT1lO2xldCByPSExO3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fcm91Z2hEYXRhU291cmNlKS5ncmFwaGljcygpLmhoaXN0c0J5VGltZVBvaW50SW5kZXgoKS5mb3JFYWNoKCgoZSxpKT0+e2lmKHIpcmV0dXJuO2lmKG51bGw9PT1pKXJldHVybjtjb25zdCBuPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pbmRleFRvVGltZVBvaW50KGkpO2lmKG51bGw9PT1ufHxuPHR8fHM8bilyZXR1cm47Y29uc3Qgbz1zLXQ7bGV0IGE9ITE7dGhpcy5fZGV0YWlsZWREYXRhQnVmZmVyLmZvckVhY2goKGU9PntpZihlLmxvZDw9byl7ZS52YWx1ZS5ncmFwaGljcy5oaGlzdHNCeVRpbWVQb2ludEluZGV4KCkuaGFzKGkpJiYoYT0hMCl9fSkpLGF8fChyPSEwKX0pKSxyfV9vblN0dWR5U3RhdHVzQ2hhbmdlZCgpe2NvbnN0IGU9dGhpcy5zdGF0dXMoKTt0aGlzLl9zZXRTdGF0dXModGhpcy5fc3RhdHVzVmFsdWVGcm9tRGF0YVNvdXJjZXMoKSksZS50eXBlIT09dGhpcy5zdGF0dXMoKS50eXBlJiZ0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdGF0dXNWaWV3KS51cGRhdGUoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSl9X29uUm91Z2hPckRldGFpbGVkRGF0YUNsZWFyZWQoKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYodGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX2RldGFpbGVkRGF0YUJ1ZmZlci5jbGVhcigpLHRoaXMuX2NyZWF0ZVN0dWR5UGxvdHMoKSx0aGlzLl9jcmVhdGVTdHVkeUdyYXBoaWNzKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxiLnNvdXJjZUNoYW5nZUV2ZW50KSh7c291cmNlSWQ6dGhpcy5pZCgpLGNsZWFyRGF0YTohMH0pKSx0aGlzLm1vZGVsKCkudXBkYXRlU291cmNlKHRoaXMpKX1fb25Sb3VnaE9yRGV0YWlsZWREYXRhVXBkYXRlZChlKXtudWxsIT09dGhpcy5fcm91Z2hEYXRhU291cmNlJiZudWxsIT09dGhpcy5fZGV0YWlsZWREYXRhU291cmNlJiYoZS5sZW5ndGg+MCYmdGhpcy5fY3JlYXRlU3R1ZHlQbG90cygpLHRoaXMudXBkYXRlQWxsVmlld3MoKDAsYi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSl9YXN5bmMgX3NldEFsZXJ0c1N0dWR5TWV0YUluZm8oKXt0aGlzLl9hbGVydHNTdHVkeU1ldGFJbmZvPWF3YWl0KDAsdy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpEfSksdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfX1mdW5jdGlvbiBBKCl7cmV0dXJuIHZvaWQgMCE9PXdpbmRvdy5wcm8mJndpbmRvdy5wcm8uaGFzUGFja2FnZShDKX1mdW5jdGlvbiBMKGUsdCl7Y29uc3Qgcz17fTtmb3IoY29uc3QgaSBvZiBlKXNbaS5pZF09dFtpLmlkXTtyZXR1cm4gc31mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9ZS5sYXN0X3Zpc2libGVfYmFyX3RpbWUtZS5maXJzdF92aXNpYmxlX2Jhcl90aW1lO3JldHVybnsuLi5lLApmaXJzdF92aXNpYmxlX2Jhcl90aW1lOmUuZmlyc3RfdmlzaWJsZV9iYXJfdGltZS10LGxhc3RfdmlzaWJsZV9iYXJfdGltZTplLmxhc3RfdmlzaWJsZV9iYXJfdGltZSt0fX1mdW5jdGlvbiBNKGUpe2NvbnN0e2Zyb206dCx0bzpzfT0oMCxsLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dHNUb1RpbWVSYW5nZSkoZSk7cmV0dXJuIHMtdH1mdW5jdGlvbiBrKGUpe3JldHVybmAke2UuaWR9LSR7ZS52ZXJzaW9ufWB9fSwyNDM3MjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse1Nlc3Npb25Wb2x1bWVTdHVkeTooKT0+XyxjcmVhdGVTZXNzaW9uVm9sdW1lU3R1ZHk6KCk9Pnl9KTt2YXIgaT1zKDEzODYzOCkscj1zKDQzNzc0OSksbj1zKDYwNTI1Nyksbz1zKDE0MTM1MCksYT1zKDg3MjM0MyksbD1zKDIyNzA1NiksdT1zKDIzNDg2NiksYz1zKDg3MzYzKTtjbGFzcyBoIGV4dGVuZHMgYy5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXJ7Y29uc3RydWN0b3IoZSx0LHMsaSl7c3VwZXIoZSx0LGkpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyPW5ldyB1LlNlcmllc0NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIocyx0KX1nZXRJdGVtcygpe3JldHVyblsuLi5zdXBlci5nZXRJdGVtcygpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKClbN11dfWdldFZhbHVlcyhlKXtyZXR1cm5bLi4uc3VwZXIuZ2V0VmFsdWVzKGUpLHRoaXMuX3Nlcmllc1ZhbHVlc1Byb3ZpZGVyLmdldFZhbHVlcyhlKVs3XV19fXZhciBkPXMoNTUwMzkzKTtjbGFzcyBfIGV4dGVuZHMgbC5Wb2x1bWVQcm9maWxlV2l0aFByaWNlUmFuZ2VTdHVkeXt9Y2xhc3MgcCBleHRlbmRzIF97Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXI9bnVsbH1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX3BhbmVWaWV3c31wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCl9aGFzU3RhdGVGb3JBbGVydCgpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2NoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXImJih0aGlzLl9jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyPW5ldyBoKHRoaXMsdGhpcy5fbW9kZWwsdGhpcy5fbW9kZWwubWFpblNlcmllcygpKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1fY3JlYXRlZENoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiBuZXcgby5TdHVkeUNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldyh0aGlzLHRoaXMuX21vZGVsLCEwKX19YXN5bmMgZnVuY3Rpb24geShlKXtjb25zdCB0PWF3YWl0KDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5maW5kQnlJZCh7dHlwZToiamF2YSIsc3R1ZHlJZDpkLnN0dWR5VmJQU2Vzc2lvbnNJZH0pLHM9KDAsci5wcmVwYXJlU3R1ZHlQcm9wZXJ0aWVzKSh0LHt9LG51bGwsKDAsbi5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKS5zdHVkeVZlcnNpb25pbmcoKSxbXSksbz0iU2Vzc2lvblZvbHVtZUFzQ2hhcnRTdHlsZSI7KDAsYS5hZGRTdHVkeUluZm9Ub01hcCkobywoMCxhLmNyZWF0ZVN0dWR5SW5mbykoKGFzeW5jKCk9PnApLCJub1JvdGF0aW9ucyIpKTtjb25zdCBsPSgwLGkuZW5zdXJlRGVmaW5lZCkoKDAsYS5nZXRTdHVkeUluZm9CeU5hbWUpKG8pKTtyZXR1cm4gbC5zdHVkeUNvbnN0cnVjdG9yfHwobC5zdHVkeUNvbnN0cnVjdG9yPXApLG5ldyBwKGUscyxbXSx0LHQsITEpfX0sMjI3MDU2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1ZiUFZpc2libGVXcmFwcGVyOigpPT55LFZvbHVtZVByb2ZpbGVTdHVkeVdpdGhUaGVtZWRDb2xvcnM6KCk9Pl8sVm9sdW1lUHJvZmlsZVdpdGhQcmljZVJhbmdlU3R1ZHk6KCk9PnB9KTt2YXIgaT1zKDEzODYzOCkscj1zKDIzMjM2NCksbj1zKDYzNTUwOSk7dmFyIG89cyg3MTY3OCksYT1zKDg3MzU3Myk7Y2xhc3MgbCBleHRlbmRzIG8uUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5fc291cmNlPWUsdGhpcy5fc3R5bGVJZD10fV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMTtjb25zdCBpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFpfHxpLmlzRW1wdHkoKXx8IXIudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZ3JhcGhpY3MuY2hpbGRzKCkuaG9yaXpsaW5lcz8uY2hpbGRzKClbdGhpcy5fc3R5bGVJZF0uY2hpbGRzKCk7aWYoIShuJiZuLnZpc2libGUmJm4udmlzaWJsZS52YWx1ZSgpJiZ0aGlzLl9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCkpKXJldHVybjtjb25zdCBvPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpLGw9dGhpcy5fc291cmNlLmZpcnN0VmFsdWUoKTtpZihudWxsPT09bHx8bnVsbD09PW8pcmV0dXJuO2NvbnN0IHU9e3ByaWNlOk5hTix0aW1lOi0xLzB9LGM9dGhpcy5fc291cmNlLmdyYXBoaWNzKCkuaG9yaXpsaW5lcygpLmdldCh0aGlzLl9zdHlsZUlkKTtpZih2b2lkIDA9PT1jKXJldHVybjtmb3IoY29uc3QgZSBvZiBjKXtpZih2b2lkIDA9PT1lLmxldmVsKWNvbnRpbnVlO2NvbnN0IHQ9by5jb250YWlucyhlLnN0YXJ0SW5kZXgsITApO3Q9PT1vLmNvbnRhaW5zKGUuZW5kSW5kZXgsITApJiYwIT09dHx8dS50aW1lPGUuZW5kSW5kZXgmJih1LnRpbWU9ZS5lbmRJbmRleCx1LnByaWNlPWUubGV2ZWwpfWlmKGlzTmFOKHUucHJpY2UpKXJldHVybjtjb25zdCBoPSgwLGEucmVzZXRUcmFuc3BhcmVuY3kpKG4uY29sb3IudmFsdWUoKSk7cy5iYWNrZ3JvdW5kPWgscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihoKSxzLmNvb3JkaW5hdGU9aS5wcmljZVRvQ29vcmRpbmF0ZSh1LnByaWNlLGwpLAplLnRleHQ9aS5mb3JtYXRQcmljZSh1LnByaWNlLGwse3NpZ25Qb3NpdGl2ZTppLmlzUGVyY2VudGFnZSgpfSksZS52aXNpYmxlPSEwLGUuc2VsZWN0ZWRNYXJrQ29sb3I9dGhpcy5fc291cmNlLm1vZGVsKCkuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP2g6dm9pZCAwfV9pc0xhYmVsVmlzaWJsZUFjY29yZGluZ2x5VG9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UubW9kZWwoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2NhbGVzUHJvcGVydGllcy5jaGlsZHMoKTtyZXR1cm4oZS5zaG93U3R1ZHlMYXN0VmFsdWUudmFsdWUoKXx8ZS5zaG93RnVuZGFtZW50YWxMYXN0VmFsdWUudmFsdWUoKSkmJnRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd0xhYmVsc09uUHJpY2VTY2FsZS52YWx1ZSgpfX12YXIgdT1zKDE5NzI3MiksYz1zKDMxNTY1NCksaD1zKDg5ODkyNyk7Y2xhc3MgZCBleHRlbmRzIHUuU3R1ZHl7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3N1cGVyKGUsdCxzLGkscixuKX1wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4gMH1hc3luYyBfY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKXtjb25zdCBlPXRoaXMubWV0YUluZm8oKS5ncmFwaGljcyx0PXRoaXMubW9kZWwoKSxpPXtyZWd1bGFyUGFuZVZpZXdzOltdLGZvcmNlT3ZlcmxheVBhbmVWaWV3czpbXX0scj10aGlzLl9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCk7aWYoZS5oaGlzdHMpe2NvbnN0e0hIaXN0UGFuZVZpZXc6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5NzU1OCkscy5lKDQ1Mjc3KSxzLmUoOTE2NjgpXSkudGhlbihzLmJpbmQocywyMjExNjUpKSxuPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzLmNoaWxkcygpLnBvbHlnb25zPy5jaGlsZHMoKTtpLnJlZ3VsYXJQYW5lVmlld3MucHVzaChuZXcgZSh0aGlzLHQsdm9pZCAwLG4/Lmhpc3RCb3hCZyxyKSl9aWYoZS5ob3JpemxpbmVzKXtjb25zdHtIb3JpekxpbmVQYW5lVmlldzplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDk3NTU4KSxzLmUoNDUyNzcpLHMuZSg5MTY2OCldKS50aGVuKHMuYmluZChzLDY3NzkwOSkpO2kucmVndWxhclBhbmVWaWV3cy5wdXNoKG5ldyBlKHRoaXMsdCx2b2lkIDAscikpfXJldHVybiBpfV9jcmVhdGVHcmFwaGljc1ByaWNlQXhpc1ZpZXdzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWV0YUluZm8oKS5ncmFwaGljcy5ob3JpemxpbmVzPz97fSkubWFwKChlPT5uZXcgbCh0aGlzLGUpKSl9X2NyZWF0ZVN0dWR5UGxvdFBhbmVWaWV3KGUpe3JldHVybiBuZXcgYy5TdHVkeVBsb3RQYW5lVmlldyh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxlLHRoaXMuX25lZWRFeHRlbmRUb0JhcnNFbmRpbmcoKSl9X2FwaUlucHV0cygpe3JldHVybnsuLi5zdXBlci5fYXBpSW5wdXRzKCksbWFwUmlnaHRCb3VuZGFyeVRvQmFyU3RhcnRUaW1lOiEhdGhpcy5fbmVlZEV4dGVuZFRvQmFyc0VuZGluZygpfHx2b2lkIDB9fV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubWV0YUluZm8oKS5kZWZhdWx0cy5pbnB1dHM/Lm1hcFJpZ2h0Qm91bmRhcnlUb0JhclN0YXJ0VGltZX19Y2xhc3MgXyBleHRlbmRzIGR7Y29uc3RydWN0b3IoZSx0LHMsaSxyLG4pe3Quc2V0VGhlbWVkQ29sb3JzKCgwLGgudm9sdW1lUHJvZmlsZVRoZW1lZENvbG9ycykodC5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5wb2x5Z29ucz8uaGFzQ2hpbGQoImhpc3RCb3hCZyIpKSksc3VwZXIoZSx0LHMsaSxyLG4pfX1jbGFzcyBwIGV4dGVuZHMgX3twcmljZVJhbmdlKGUpe2lmKGUudGFyZ2V0UHJpY2VTY2FsZSE9PXRoaXMucHJpY2VTY2FsZSgpKXJldHVybiBudWxsO2xldCB0PSExO3RoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKS5mb3JFYWNoKCgoZSxzKT0+e3Q9dHx8KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5ncmFwaGljcy5jaGlsZHMoKS5oaGlzdHM/LmNoaWxkcygpW3NdKS52YWx1ZSgpfSkpO2NvbnN0IHM9ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtyZXR1cm4gZS5mb3JFYWNoKChlPT57ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLmZpcnN0QmFyVGltZTtudWxsIT09aSYmaTw9cyYmZS5sYXN0QmFyVGltZT49dCYmKG51bGw9PT1yP3I9e2xvdzp7bDplLnByaWNlTG93LGg6ZS5wcmljZUhpZ2h9LGhpZ2g6e2g6ZS5wcmljZUhpZ2h9fTooZS5wcmljZUxvdzxyLmxvdy5sJiYoci5sb3cubD1lLnByaWNlTG93LHIubG93Lmg9ZS5wcmljZUhpZ2gpLHIuaGlnaC5oPU1hdGgubWF4KHIuaGlnaC5oLGUucHJpY2VIaWdoKSkpfSkpfSkpLG51bGw9PT1yP251bGw6aT9uZXcgbi5QcmljZVJhbmdlKHIubG93LmwtLjgqKHIubG93Lmgtci5sb3cubCksci5oaWdoLmgpOm5ldyBuLlByaWNlUmFuZ2Uoci5sb3cubCxyLmhpZ2guaCl9KHRoaXMuZ3JhcGhpY3MoKS5oaGlzdHMoKSxlLnN0YXJ0VGltZVBvaW50LGUuZW5kVGltZVBvaW50LHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IHI9KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSk7cmV0dXJuIHIuaXNMb2coKT9uZXcgbi5QcmljZVJhbmdlKHIucHJpY2VUb0xvZ2ljYWwocy5taW5WYWx1ZSgpKSxyLnByaWNlVG9Mb2dpY2FsKHMubWF4VmFsdWUoKSkpOnN9fWNsYXNzIHkgZXh0ZW5kcyBwe2FsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKXtyZXR1cm4gbmV3IHIuV2F0Y2hlZFZhbHVlKCExKS5yZWFkb25seSgpfV9uZWVkRXh0ZW5kVG9CYXJzRW5kaW5nKCl7cmV0dXJuITF9fX0sODk4OTI3KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3ZvbHVtZVByb2ZpbGVUaGVtZWRDb2xvcnM6KCk9Pl99KTt2YXIgaT1zKDUwNzYwNCk7Y29uc3R7Y29sb3JDb2xkR3JheTIwMDpyLGNvbG9yQ29sZEdyYXk5MDA6bixjb2xvckJlcnJ5UGluazQwMEFscGhhNTA6byxjb2xvckJlcnJ5UGluazQwMEFscGhhNzU6YSxjb2xvclNreUJsdWU0MDBBbHBoYTUwOmwsY29sb3JTa3lCbHVlNDAwQWxwaGE1OnUsY29sb3JTa3lCbHVlNDAwQWxwaGE3NTpjLGNvbG9yU2t5Qmx1ZTUwMDpofT1pLmNvbG9ycyxkPXsKdmFsOltuLHJdLHBvYzpbbixyXSx2YWg6W24scl0sZGV2ZWxvcGluZ1BvYzpbbixyXSxkZXZlbG9waW5nVkE6W2gsaF0sdmFsdWVzQ29sb3I6W24scl0sdm9sdW1lQ29sb3JVcDpbbCxsXSx2b2x1bWVDb2xvckRvd246W28sb10sdmFsdWVBcmVhQ29sb3JVcDpbYyxjXSx2YWx1ZUFyZWFDb2xvckRvd246W2EsYV0saGlzdG9ncmFtQm94Q29sb3I6W3UsdV19O2Z1bmN0aW9uIF8oZSl7Y29uc3QgdD0iZ3JhcGhpY3MuaG9yaXpsaW5lcyIscz0iZ3JhcGhpY3MuaGhpc3RzIixpPVt7cGF0aDpgJHt0fS5wb2NMaW5lcy5jb2xvcmAsY29sb3JzOmQucG9jfSx7cGF0aDpgJHt0fS52YWhMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFofSx7cGF0aDpgJHt0fS52YWxMaW5lcy5jb2xvcmAsY29sb3JzOmQudmFsfSx7cGF0aDpgJHtzfS5oaXN0QmFyczIuY29sb3JzLjBgLGNvbG9yczpkLnZvbHVtZUNvbG9yVXB9LHtwYXRoOmAke3N9Lmhpc3RCYXJzMi5jb2xvcnMuMWAsY29sb3JzOmQudm9sdW1lQ29sb3JEb3dufSx7cGF0aDpgJHtzfS5oaXN0QmFyczIudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4wYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvclVwfSx7cGF0aDpgJHtzfS5oaXN0QmFyc1ZBLmNvbG9ycy4xYCxjb2xvcnM6ZC52YWx1ZUFyZWFDb2xvckRvd259LHtwYXRoOmAke3N9Lmhpc3RCYXJzVkEudmFsdWVzQ29sb3JgLGNvbG9yczpkLnZhbHVlc0NvbG9yfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdQb2MuY29sb3IiLGNvbG9yczpkLmRldmVsb3BpbmdQb2N9LHtwYXRoOiJzdHlsZXMuZGV2ZWxvcGluZ1ZBSGlnaC5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfSx7cGF0aDoic3R5bGVzLmRldmVsb3BpbmdWQUxvdy5jb2xvciIsY29sb3JzOmQuZGV2ZWxvcGluZ1ZBfV07cmV0dXJuIGUmJmkucHVzaCh7cGF0aDoiZ3JhcGhpY3MucG9seWdvbnMuaGlzdEJveEJnLmNvbG9yIixjb2xvcnM6ZC5oaXN0b2dyYW1Cb3hDb2xvcn0pLGl9fSw3MjAxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Vm9sdW1lU3R1ZHk6KCk9Pm99KTt2YXIgaT1zKDE5NzI3Mikscj1zKDEwMDIzOSksbj1zKDE2ODI1OCk7Y2xhc3MgbyBleHRlbmRzIGkuU3R1ZHl7YmFzZSgpe3JldHVybiAxfWRlc3Ryb3koKXtzdXBlci5kZXN0cm95KCl9c2hvd09uVG9wT25Ib3ZlcmluZygpe3JldHVybiExfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpPT09dGhpcy5fbW9kZWwubWFpblBhbmUoKT9udWxsOnN1cGVyLmNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpfV90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pe2NvbnN0IG89c3VwZXIuX3RpdGxlSW5QYXJ0cyhlLHQscyxpLHIpLGE9dGhpcy5fZ2V0Vm9sdW1lVW5pdCgpO3JldHVybiBhJiYhbiYmKG9bMF0rPWAgwrcgJHthfWApLG99X3NraXBwZWRUaXRsZUlucHV0cygpe2NvbnN0IGU9c3VwZXIuX3NraXBwZWRUaXRsZUlucHV0cygpO3RoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoInZvbF9tYSIpPT09bi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUmJiFlLmluY2x1ZGVzKCJsZW5ndGgiKSYmZS5wdXNoKCJsZW5ndGgiKTtyZXR1cm4gZX1fZ2V0Vm9sdW1lVW5pdCgpe2NvbnN0IGU9dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk7cmV0dXJuIGU/KDAsci5nZXRWb2x1bWVVbml0KSh7Li4uZSxjdXJyZW5jeTplLm9yaWdpbmFsX2N1cnJlbmN5X2NvZGV8fGUuY3VycmVuY3lfY29kZX0pOnZvaWQgMH19fSwxMjMyNjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c3R1ZHlfT3ZlcmxheTooKT0+T2V9KTt2YXIgaT1zKDEzODYzOCkscj1zKDYwMTg0MSksbj1zKDIzMjM2NCksbz1zKDk1MjkwMCksYT1zKDIyMTA2MSksbD1zKDQ3NTQ3OCksdT1zKDYxOTE2NSksYz1zKDg1NzE1MSksaD1zKDkzNjMyNiksZD1zKDkzMDIzMSksXz1zKDk2ODY3MSkscD1zKDU2OTg0NikseT1zKDMxODk3NCksbT1zKDE5NzI3Miksdj1zKDQ1OTY3MyksZj1zKDE1Mjc2NiksUz1zKDEyODk5OCksZz1zKDMxNDkxNCksYj1zKDc2ODI5Miksdz1zKDQwNzc5OSksQz1zKDY5OTU1MCksUD1zKDIwNjU3MCkseD1zKDMyMjU1NCksRD1zKDYzNTUwOSksST1zKDI1MDMzNCksVD1zKDkzMjY5MyksVj1zKDgwNjgxOCksUj1zKDcxNjc4KSxBPXMoMjI2NDc3KSxMPXMoMTIzNjE3KSxFPXMoODczNTczKTtjb25zdCBNPSgwLGQuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZvcmNlX2V4Y2hhbmdlX2FzX3RpdGxlIik7Y2xhc3MgayBleHRlbmRzIFIuUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX3NvdXJjZT1lfV91cGRhdGVSZW5kZXJlckRhdGEoZSx0LHMpe2UudmlzaWJsZT0hMSx0LnZpc2libGU9ITE7Y29uc3Qgcj10aGlzLl9zb3VyY2UubGFzdFZhbHVlRGF0YSgiY2xvc2UiLCExKTtpZihyLm5vRGF0YSlyZXR1cm47Y29uc3Qgbj10aGlzLl9zb3VyY2UubW9kZWwoKSxvPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCk7aWYobnVsbD09PW8pcmV0dXJuO2lmKCFuLmlzUHJpY2VTY2FsZVZpc2libGUobykpcmV0dXJuO2NvbnN0IGE9bi50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCksbD1uLm1haW5TZXJpZXMoKS5iYXJzKCkubGFzdEluZGV4KCk7aWYobnVsbD09PWF8fG51bGw9PT1sKXJldHVybjtsZXQgdTtpZihsPD1hLmxhc3RCYXIoKSlzLmJhY2tncm91bmQ9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvcikscy50ZXh0Q29sb3I9dGhpcy5nZW5lcmF0ZVRleHRDb2xvcihyLmNvbG9yKSxlLmJvcmRlclZpc2libGU9ITEsdC5ib3JkZXJWaXNpYmxlPSExLHU9cy5iYWNrZ3JvdW5kO2Vsc2V7Y29uc3Qgbz1uLmJhY2tncm91bmRDb2xvckF0WVBlcmNlbnRGcm9tVG9wKHIuY29vcmRpbmF0ZS8oMCxpLmVuc3VyZU5vdE51bGwpKG4ucGFuZUZvclNvdXJjZSh0aGlzLl9zb3VyY2UpKS5oZWlnaHQoKSk7cy5iYWNrZ3JvdW5kPW8scy50ZXh0Q29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoci5jb2xvciksCnMuYm9yZGVyQ29sb3I9cy50ZXh0Q29sb3IsdT1zLmJvcmRlckNvbG9yLGUuYm9yZGVyVmlzaWJsZT0hMCx0LmJvcmRlclZpc2libGU9ITB9cy5jb29yZGluYXRlPXIuY29vcmRpbmF0ZTtjb25zdCBjPXRoaXMuX3NvdXJjZS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpO2Muc2hvd1Nlcmllc0xhc3RWYWx1ZS52YWx1ZSgpJiYoZS50ZXh0PSgwLEwuZ2V0Q3VycmVudE1vZGVQcmljZVRleHQpKG8sciksYy5zZXJpZXNMYXN0VmFsdWVNb2RlLnZhbHVlKCkhPT1BLlByaWNlQXhpc0xhc3RWYWx1ZU1vZGUuTGFzdFByaWNlQW5kUGVyY2VudGFnZVZhbHVlP2Uuc2Vjb25kTGluZT0iIjplLnNlY29uZExpbmU9KDAsTC5nZXRPcHBvc2l0ZU1vZGVQcmljZVRleHQpKG8sciksZS52aXNpYmxlPSEwKSx0LnRleHQ9IiIsYy5zaG93U3ltYm9sTGFiZWxzLnZhbHVlKCkmJih0LnRleHQ9dGhpcy5fcGFuZVRleHQoKSx0LnZpc2libGU9dC50ZXh0Lmxlbmd0aD4wKSxlLnNlbGVjdGVkTWFya0NvbG9yPW4uc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zb3VyY2UpP3U6dm9pZCAwfV9wYW5lVGV4dCgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fc291cmNlLmFsaWFzU3ltYm9sSW5mbygpO3JldHVybiBNP2U9KDAsUy5kaXNwbGF5ZWRTeW1ib2xFeGNoYW5nZSkodCk6dGhpcy5fc291cmNlLm1vZGVsKCkucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N5bWJvbExhYmVscy52YWx1ZSgpJiYoZT0oMCxTLmRpc3BsYXllZFN5bWJvbE5hbWUpKHQpKSxlfX12YXIgQj1zKDk2OTQpO2NsYXNzIE4gZXh0ZW5kcyBCLlByaWNlTGluZUF4aXNWaWV3e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy5fc3R1ZHk9ZX1fdmFsdWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSgiIiwhMCl9X3ByaWNlTGluZUNvbG9yKGUpe3JldHVybiBlfV9saW5lV2lkdGgoKXtyZXR1cm4gMX1faXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5tb2RlbCgpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zY2FsZXNQcm9wZXJ0aWVzLmNoaWxkcygpLnNob3dTZXJpZXNMYXN0VmFsdWUudmFsdWUoKTtyZXR1cm4gdGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnNob3dQcmljZUxpbmUudmFsdWUoKSYmZX19dmFyIEY9cygyNjA2OSksTz1zKDY1MDQ4MCk7Y2xhc3MgSHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9saW5lUmVuZGVyZXI9bmV3IE8uSG9yaXpvbnRhbExpbmVSZW5kZXJlcix0aGlzLl92aXNpYmxlPSExLHRoaXMuX3NvdXJjZT1lfXVwZGF0ZSgpe2lmKHRoaXMuX3Zpc2libGU9ITEsIXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2hvd1ByaWNlTGluZS52YWx1ZSgpKXJldHVybjtjb25zdCBlPXRoaXMuX3NvdXJjZS5sYXN0VmFsdWVEYXRhKCIiLCEwKTtlLm5vRGF0YXx8KHRoaXMuX3Zpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoe3k6ZS5jb29yZGluYXRlLGNvbG9yOmUuY29sb3IsbGluZXdpZHRoOjEsbGluZXN0eWxlOkYuTElORVNUWUxFX0RPVFRFRCx2aXNpYmxlOnRoaXMuX3Zpc2libGV9KSl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fdmlzaWJsZT90aGlzLl9saW5lUmVuZGVyZXI6bnVsbH19dmFyIHEsej1zKDg2MDQ0MiksVT1zKDY3ODI4NSksVz1zKDk0Mzk1KTshZnVuY3Rpb24oZSl7ZVtlLk9wZW49MF09Ik9wZW4iLGVbZS5IaWdoPTFdPSJIaWdoIixlW2UuTG93PTJdPSJMb3ciLGVbZS5DbG9zZT0zXT0iQ2xvc2UiLGVbZS5Tb3VyY2U9NF09IlNvdXJjZSIsZVtlLkxhc3RQcmljZT01XT0iTGFzdFByaWNlIixlW2UuQ2hhbmdlPTZdPSJDaGFuZ2UiLGVbZS5MYXN0RGF5Q2hhbmdlPTddPSJMYXN0RGF5Q2hhbmdlIn0ocXx8KHE9e30pKTt2YXIgJD1zKDE4NTI3MSksRz1zKDk2OTE2OCksaj1zKDIzMzI0NyksWT1zKDE4OTgwMCksSj1zKDE2ODc3MSksUT1zKDQxNjM1KSxaPXMoODgyMDU2KSxLPXMoNjQwMjkyKTtjb25zdCBYPUoubGFzdERheUNoYW5nZUF2YWlsYWJsZXx8Si5hbHdheXNTaG93TGFzdFByaWNlQW5kTGFzdERheUNoYW5nZSxlZT15LkNoZWNrTW9iaWxlLmFueSgpLHRlPSgwLGouZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoKSxzZT1LLm5vdEF2YWlsYWJsZSxpZT1gJHtzZX0gKCR7c2V9JSlgO2NsYXNzIHJle2NvbnN0cnVjdG9yKGUsdCxpPSEwKXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT1pLHRoaXMuX2VtcHR5VmFsdWVzPVt7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoOTc3ODEpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjAsb3JkZXJJbmRleDowLGlkOiJvcGVuIn0se3RpdGxlOiQudChudWxsLHZvaWQgMCxzKDg0NTU2MykpLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6MSxvcmRlckluZGV4OjEsaWQ6ImhpZ2gifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoODg4Njc4KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDoyLG9yZGVySW5kZXg6MixpZDoibG93In0se3RpdGxlOiQudChudWxsLHtjb250ZXh0OiJpbnB1dCJ9LHMoMzEyMjk3KSksdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDozLG9yZGVySW5kZXg6MyxpZDoiY2xvc2UifSx7dGl0bGU6IiIsdmlzaWJsZTohMSx2YWx1ZToiIixpbmRleDo0LG9yZGVySW5kZXg6NCxpZDoic291cmNlIn0se3RpdGxlOiIiLHZpc2libGU6ITEsdmFsdWU6IiIsaW5kZXg6NSxvcmRlckluZGV4OjUsaWQ6Imxhc3RQcmljZSJ9LHt0aXRsZTokLnQobnVsbCx2b2lkIDAscyg2NzM0ODcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4OjYsb3JkZXJJbmRleDo2LGlkOiJjaGFuZ2UifSx7dGl0bGU6JC50KG51bGwsdm9pZCAwLHMoMzE0NjcpKSx2aXNpYmxlOiExLHZhbHVlOiIiLGluZGV4Ojcsb3JkZXJJbmRleDo3LGlkOiJsYXN0RGF5Q2hhbmdlIn1dfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX2VtcHR5VmFsdWVzfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX2VtcHR5VmFsdWVzLm1hcCgoZT0+KHsuLi5lfSkpKQo7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpKXJldHVybiB0O2NvbnN0IHM9dGhpcy5fc3R1ZHkuZGF0YSgpLGk9cy5sYXN0SW5kZXgoKTtpZigwPT09cy5zaXplKCl8fG51bGw9PT1pKXJldHVybiB0O2NvbnN0IG49dGhpcy5fc2VhcmNoTmVhcmVzdExlZnRWYWx1ZT9oLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0OmguUGxvdFJvd1NlYXJjaE1vZGUuRXhhY3Qsbz1zLnNlYXJjaChpLG4sMSk7aWYobnVsbD09PW8pcmV0dXJuIHQ7Y29uc3QgYT10aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpO2lmKCgwLHIuaXNOdW1iZXIpKGUpfHwoYT9lPWk6KGU9dGhpcy5fbW9kZWwuY3Jvc3NoYWlyU291cmNlKCkuYXBwbGllZEluZGV4KCksKDAsci5pc051bWJlcikoZSl8fChlPWkpKSksbnVsbD09PWV8fCEoMCxyLmlzTnVtYmVyKShlKSlyZXR1cm4gdDt0WzBdLnZhbHVlPXNlLHRbMV0udmFsdWU9c2UsdFsyXS52YWx1ZT1zZSx0WzNdLnZhbHVlPXNlLHRbN10udmFsdWU9aWUsdFs2XS52YWx1ZT1pZTtjb25zdCBsPXMuc2VhcmNoKGUsbiwxKSx1PXRoaXMuX21vZGVsLmJhY2tncm91bmRUb3BDb2xvcigpLnZhbHVlKCk7aWYobnVsbD09PWwpcmV0dXJuIHQ7Y29uc3QgYz1sLmluZGV4LGQ9bC52YWx1ZSxfPWRbMV0scD1kWzJdLHk9ZFszXSxtPWRbNF07Zm9yKGNvbnN0IGUgb2YgdCllLnZpc2libGU9IWE7Y29uc3Qgdj10WzRdO3YudmlzaWJsZT0hMTtjb25zdHtiYXJDaGFuZ2U6ZixsYXN0RGF5Q2hhbmdlOlN9PSgwLFkuY2hhbmdlc0RhdGEpKHMsdGhpcy5fc3R1ZHkucXVvdGVzKCksbC52YWx1ZSxsLmluZGV4LG8udmFsdWUpLGc9KDAsWi5nZXRQcmljZVZhbHVlRm9ybWF0dGVyRm9yU291cmNlKSh0aGlzLl9zdHVkeSk7aWYoKDAsWi5zaG91bGRCZUZvcm1hdHRlZEFzUGVyY2VudCkodGhpcy5fc3R1ZHkpfHwoMCxaLnNob3VsZEJlRm9ybWF0dGVkQXNJbmRleGVkVG8xMDApKHRoaXMuX3N0dWR5KSl0WzddLnZhbHVlPSIiLHRbNl0udmFsdWU9IiI7ZWxzZXtjb25zdCBlPXRoaXMuX3N0dWR5LmZvcm1hdHRlcigpLHM9e3NpZ25Qb3NpdGl2ZTohMH07aWYodm9pZCAwIT09Zil7Y29uc3R7Y3VycmVudFByaWNlOmkscHJldlByaWNlOnIsY2hhbmdlOm59PWYsbz1lLmZvcm1hdENoYW5nZT8uKGkscixzKT8/ZS5mb3JtYXQobixzKTt0WzZdLnZhbHVlPSgwLEcuZm9yY2VMVFJTdHIpKGAke299ICgke3RlLmZvcm1hdChmLnBlcmNlbnRDaGFuZ2Uscyl9KWApfWlmKHZvaWQgMCE9PVMpe2NvbnN0e2N1cnJlbnRQcmljZTppLHByZXZQcmljZTpyLGNoYW5nZTpuLHBlcmNlbnRDaGFuZ2U6b309UyxhPWUuZm9ybWF0Q2hhbmdlPy4oaSxyLHMpPz9lLmZvcm1hdChuLHMpO3RbN10udmFsdWU9KDAsRy5mb3JjZUxUUlN0cikoYCR7YX0gKCR7dGUuZm9ybWF0KG8scyl9KWApfX1sZXQgYj1udWxsO2lmKGEpdFs1XS52YWx1ZT1udWxsPT1tP3NlOmcobSksdFs1XS52aXNpYmxlPSEwLGI9dGhpcy5fZ2V0Q2hhbmdlQ29sb3IoUz8uY2hhbmdlKSx0WzZdLnZpc2libGU9dm9pZCAwIT09Zix0WzddLnZpc2libGU9dm9pZCAwIT09U3x8WDtlbHNle3RbMF0udmFsdWU9bnVsbD09Xz9zZTpnKF8pLHRbMV0udmFsdWU9bnVsbD09cD9zZTpnKHApLHRbMl0udmFsdWU9bnVsbD09eT9zZTpnKHkpLHRbM10udmFsdWU9bnVsbD09bT9zZTpnKG0pLHYudmFsdWU9Zyh0aGlzLl9zdHVkeS5iYXJGdW5jdGlvbigpKGQpKSx0WzVdLnZpc2libGU9ITE7Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSxzPTIxIT09dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7dFswXS52aXNpYmxlPSFlJiZzLHRbMV0udmlzaWJsZT0hZSx0WzJdLnZpc2libGU9IWUsdFs3XS52aXNpYmxlPXZvaWQgMCE9PVN8fFgsdFs2XS52aXNpYmxlPXZvaWQgMCE9PWY7Y29uc3QgaT10aGlzLl9zdHVkeS5iYXJDb2xvcmVyKCkuYmFyU3R5bGUoYywhMSkscj1pLmJhckJvcmRlckNvbG9yPz9pLmJhckNvbG9yO2I9KDAsWS5jYWxjdWxhdGVDb2xvcikodSxyKX1iPSgwLEUucmVzZXRUcmFuc3BhcmVuY3kpKCgwLFkuY2FsY3VsYXRlQ29sb3IpKHUsYikpO2Zvcihjb25zdCBlIG9mIHQpZS5jb2xvcnx8KGUuY29sb3I9Yik7cmV0dXJuIHRbN10udmlzaWJsZSYmKHRbN10uY29sb3I9KDAsRS5yZXNldFRyYW5zcGFyZW5jeSkoKDAsWS5jYWxjdWxhdGVDb2xvcikodSx0aGlzLl9nZXRDaGFuZ2VDb2xvcihTPy5jaGFuZ2UpKSkpLHR9X21vYmlsZU5vblRyYWNraW5nTW9kZSgpe3JldHVybiBlZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X3Nob3dMYXN0UHJpY2VBbmRDaGFuZ2VPbmx5KCl7cmV0dXJuIEouYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2V8fHRoaXMuX21vYmlsZU5vblRyYWNraW5nTW9kZSgpfV9nZXRDaGFuZ2VDb2xvcihlKXtjb25zdCB0PXZvaWQgMD09PWV8fGU+PTA/US5TZXJpZXNCYXJDb2xvcmVyLnVwQ29sb3IodGhpcy5fc3R1ZHkucHJvcGVydGllcygpKTpRLlNlcmllc0JhckNvbG9yZXIuZG93bkNvbG9yKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKSk7cmV0dXJuIHQuYmFyQm9yZGVyQ29sb3I/P3QuYmFyQ29sb3J9fXZhciBuZT1zKDUzNjcxMCk7Y29uc3Qgb2U9eS5DaGVja01vYmlsZS5hbnkoKTtjbGFzcyBhZSBleHRlbmRzIG5lLlN0dWR5RGF0YVdpbmRvd1ZpZXd7X3VwZGF0ZUltcGwoKXt0aGlzLl9oZWFkZXI9dGhpcy5fc3R1ZHkudGl0bGUoVy5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyk7bGV0IGU7dGhpcy5fc2hvd0xhc3RQcmljZUFuZENoYW5nZU9ubHkoKT9lPXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKTooZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSwobnVsbD09PWV8fGlzTmFOKGUpKSYmKGU9dGhpcy5fc3R1ZHkuZGF0YSgpLmxhc3RJbmRleCgpLCgwLApkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbGFzdF92aXNpYmxlX2Jhcl92YWx1ZV9pbl9sZWdlbmQiKSYmKGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpPy5sYXN0QmFyKCk/P05hTikpKTtjb25zdCB0PXRoaXMuX3ZhbHVlUHJvdmlkZXIuZ2V0VmFsdWVzKGUpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXtjb25zdCBzPXRbZV0saT10aGlzLl9pdGVtc1tlXTtpLnNldFZhbHVlKHMudmFsdWUpLGkuc2V0VmlzaWJsZShzLnZpc2libGUpLGkuc2V0Q29sb3Iocy5jb2xvcil9fV9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpe3JldHVybiBvZSYmKG51bGw9PT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5wYW5lfHwoMCx6LmlzTGluZVRvb2xOYW1lKShVLnRvb2wudmFsdWUoKSl8fG51bGwhPT10aGlzLl9tb2RlbC5saW5lQmVpbmdFZGl0ZWQoKSl9X2NyZWF0ZVZhbHVlc1Byb3ZpZGVyKGUsdCl7cmV0dXJuIG5ldyByZShlLHQpfX12YXIgbGU9cyg5NjY0MDQpO2NsYXNzIHVlIGV4dGVuZHMgcmV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO2NvbnN0IHM9dC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKTt0aGlzLl9zaG93QmFyQ2hhbmdlUHJvcD1zLnNob3dCYXJDaGFuZ2UsdGhpcy5fc2hvd0xhc3REYXlDaGFuZ2VQcm9wPXMuc2hvd0xhc3REYXlDaGFuZ2UsdGhpcy5fc2hvd1Nlcmllc09ITENQcm9wPXMuc2hvd1Nlcmllc09ITEN9Z2V0VmFsdWVzKGUpe2NvbnN0IHQ9c3VwZXIuZ2V0VmFsdWVzKGUpLHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLGk9cy5zdHlsZS52YWx1ZSgpLHI9MTIhPT1pLG49dGhpcy5fc2hvd1Nlcmllc09ITEMoKSxvPXImJnRoaXMuX3Nob3dCYXJDaGFuZ2VQcm9wLnZhbHVlKCksYT1yJiZ0aGlzLl9zaG93TGFzdERheUNoYW5nZVByb3AudmFsdWUoKTtpZih0aGlzLl9zaG93TGFzdFByaWNlQW5kQ2hhbmdlT25seSgpKXJldHVybiB0WzddLnZpc2libGUmJj1vLHRbNl0udmlzaWJsZT0hMSx0O2NvbnN0IGw9KDAsUy5pc1ByaWNlU291cmNlU3R5bGUpKGkpLHU9MTIhPT1pJiYxNiE9PWkmJjIxIT09aSxjPTEyIT09aSxoPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpLGQ9biYmIWwsXz1uJiZsO2lmKHRbMF0udmlzaWJsZT1kJiZ1JiYhaCx0WzFdLnZpc2libGU9ZCYmIWgsdFsyXS52aXNpYmxlPWQmJiFoLHRbM10udmlzaWJsZT1kJiZjLHRbN10udmlzaWJsZSYmPWEsdFs2XS52aXNpYmxlJiY9byx0WzRdLnZpc2libGU9XywxNj09PWkpe2NvbnN0IGU9cy5obGNBcmVhU3R5bGUuY2hpbGRzKCk7dFsxXS5jb2xvcj1lLmhpZ2hMaW5lQ29sb3IudmFsdWUoKSx0WzJdLmNvbG9yPWUubG93TGluZUNvbG9yLnZhbHVlKCksdFszXS5jb2xvcj1lLmNsb3NlTGluZUNvbG9yLnZhbHVlKCl9cmV0dXJuIHR9X3Nob3dTZXJpZXNPSExDKCl7cmV0dXJuIHRoaXMuX3Nob3dTZXJpZXNPSExDUHJvcC52YWx1ZSgpfX12YXIgY2U9cyg3NDE2OTApLGhlPXMoOTQ3MzgyKTtjbGFzcyBkZSBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9hZGRpdGlvbmFsPW51bGwsdGhpcy5fc3R1ZHlPdmVybGF5PWUsdGhpcy5fYmFja2dyb3VuZENvbG9yU3Bhd249dC5iYWNrZ3JvdW5kVG9wQ29sb3IoKS5zcGF3bigpLHRoaXMuX2JhY2tncm91bmRDb2xvclNwYXduLnN1YnNjcmliZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMsKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKTtjb25zdCBzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCk7dGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5PSgwLGNlLmNvbWJpbmVQcm9wZXJ0eSkoKChlLHQpPT5lfHx0KSxzLnNob3dCYXJDaGFuZ2Uud2Vha1JlZmVyZW5jZSgpLHMuc2hvd1Nlcmllc09ITEMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUuYmluZCh0aGlzLCgwLGxlLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSl9YXJlVmFsdWVzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmlsaXR5UHJvcGVydHkudmFsdWUoKX1hZGRpdGlvbmFsKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9hZGRpdGlvbmFsfWRlc3Ryb3koKXt0aGlzLl9iYWNrZ3JvdW5kQ29sb3JTcGF3bi5kZXN0cm95KCksdGhpcy5fdmlzaWJpbGl0eVByb3BlcnR5LmRlc3Ryb3koKX1fdXBkYXRlSW1wbCgpe3N1cGVyLl91cGRhdGVJbXBsKCk7e2NvbnN0IGU9KDAsaGUuZ2V0RGF0YVZlbmRvclN0cmluZykodGhpcy5fc3R1ZHlPdmVybGF5LnN5bWJvbEluZm8oKSk7dGhpcy5fYWRkaXRpb25hbD1lPyQudChudWxsLHZvaWQgMCxzKDM2NzUzOCkpKyIgIitlOm51bGx9fV9jcmVhdGVWYWx1ZXNQcm92aWRlcihlLHQpe3JldHVybiBuZXcgdWUoZSx0KX19dmFyIF9lPXMoMzc2NjQ1KSxwZT1zKDI3MzE4NykseWU9cygzMjA2NjUpLG1lPXMoNjMyNTM1KSx2ZT1zKDIyODI1MSksZmU9cyg3MzQ0NzkpLFNlPXMoNjU5MjkxKSxnZT1zKDY5Nzc5OSksYmU9cygzMTE2MTkpLHdlPXMoMTU3ODUzKSxDZT1zKDcwMTUwNiksUGU9cygyNzU4NDkpO2NsYXNzIHhlIGV4dGVuZHMgUGUuU3R1ZHlTdGF0dXNQcm92aWRlcntnZXRTcGxpdFRpdGxlKCl7cmV0dXJuIHRoaXMuX3NvdXJjZS5nZXRTcGxpdFRpdGxlKCExKX10ZXh0KCl7CnJldHVybiB0aGlzLl9zb3VyY2UuaXNBY3R1YWxJbnRlcnZhbCgpP3RoaXMuX3NvdXJjZS5pc0ZhaWxlZCgpP2Ake3RoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9OiAke3RoaXMuc291cmNlU3RhdHVzVGV4dCgpfWA6YCR7dGhpcy5fc291cmNlLnRpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUsITAsdm9pZCAwLCExLCExKX0gJHt0aGlzLnNvdXJjZVN0YXR1c1RleHQoKX1gOnRoaXMuX3NvdXJjZS50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwLHZvaWQgMCwhMSwhMSl9fXZhciBEZT1zKDE0MTM1MCk7Y2xhc3MgSWUgZXh0ZW5kcyB1ZXtfc2hvd1Nlcmllc09ITEMoKXtyZXR1cm4hMH19dmFyIFRlPXMoNDg5MDMxKSxWZT1zKDIwNTYyMik7Y2xhc3MgUmV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdmFsdWVzUHJvdmlkZXI9bmV3IHJlKGUsdCwhMSl9Z2V0SXRlbXMoKXtjb25zdCBlPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldEl0ZW1zKCksdD10aGlzLl9zdHVkeS5zdHlsZSgpO3JldHVybigwLFZlLmZpbGxTeW1ib2xTb3VyY2VWYWx1ZXNQcm92aWRlckl0ZW1zVmlzaWJpbGl0eSkoZSx0aGlzLl9zdHVkeS5wcmljZVNvdXJjZSgpLHQsdGhpcy5fbW9kZWwpLGVbN10udmlzaWJsZT0hMSxlfWdldFZhbHVlcyhlKXtjb25zdCB0PXRoaXMuX3N0dWR5LmRhdGEoKS5sYXN0SW5kZXgoKSxzPXRoaXMuX3N0dWR5LmRhdGEoKS5maXJzdEluZGV4KCk7cmV0dXJuIG51bGw9PT10fHxudWxsPT09c3x8ZT50fHxlPHM/bnVsbDp0aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSl9fXZhciBBZT1zKDcyMzUyNSk7KDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSIpO2NvbnN0IExlPSh5LkNoZWNrTW9iaWxlLmFueSgpLCEwKSxFZT0oMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiIpLE1lPSgoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIiksKDAsZC5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIikpLGtlPSEoMCxkLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iKSxCZT0oMCxhLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5T3ZlcmxheSIpO3ZhciBOZTtmdW5jdGlvbiBGZShlLHQpe3JldHVybiBudWxsPT1lW3RdfSFmdW5jdGlvbihlKXtlLlNuYXBTaG90U3ltYm9sSW5mb0tleT0iX19fc25hcHNob3QifShOZXx8KE5lPXt9KSk7Y2xhc3MgT2UgZXh0ZW5kcyBtLlN0dWR5e2NvbnN0cnVjdG9yKGUsdCxzLHIsbyxhKXtzdXBlcihlLGZ1bmN0aW9uKGUpe2UuaGFzQ2hpbGQoImN1cnJlbmN5SWQiKXx8ZS5hZGRDaGlsZCgiY3VycmVuY3lJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLGUuaGFzQ2hpbGQoInVuaXRJZCIpfHxlLmFkZENoaWxkKCJ1bml0SWQiLG5ldyBiLlByb3BlcnR5KG51bGwpKSxlLmhhc0NoaWxkKCJtZXRyaWNJZCIpfHxlLmFkZENoaWxkKCJtZXRyaWNJZCIsbmV3IGIuUHJvcGVydHkobnVsbCkpLCgwLENlLmFsbENoYXJ0U3R5bGVzKSgpLmluY2x1ZGVzKGUuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl8fGUuY2hpbGRzKCkuc3R5bGUuc2V0VmFsdWVTaWxlbnRseSgyKTtjb25zdCB0PWUuY2hpbGRzKCk7aWYodC5saW5lU3R5bGUuaGFzQ2hpbGQoInN0eWxlVHlwZSIpKXtjb25zdCBlPXQubGluZVN0eWxlLmNoaWxkcygpLHM9ZS5zdHlsZVR5cGUudmFsdWUoKTtsZXQgaSxyOzA9PT1zJiYocj0xNCxpPXQubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkpLDE9PT1zJiYocj0xNSxpPXQuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKSksaSYmKGkuY29sb3Iuc2V0VmFsdWVTaWxlbnRseShlLmNvbG9yLnZhbHVlKCkpLGkubGluZXN0eWxlLnNldFZhbHVlU2lsZW50bHkoZS5saW5lc3R5bGUudmFsdWUoKSksaS5saW5ld2lkdGguc2V0VmFsdWVTaWxlbnRseShlLmxpbmV3aWR0aC52YWx1ZSgpKSxpLnByaWNlU291cmNlLnNldFZhbHVlU2lsZW50bHkoZS5wcmljZVNvdXJjZS52YWx1ZSgpKSksdm9pZCAwIT09ciYmMj09PXQuc3R5bGUudmFsdWUoKSYmdC5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KHIpLHQubGluZVN0eWxlLnJlbW92ZVByb3BlcnR5KCJzdHlsZVR5cGUiKX1yZXR1cm4gZS5hZGRFeGNsdWRlZEtleSgiY3VycmVuY3lJZCIsMSksZS5hZGRFeGNsdWRlZEtleSgidW5pdElkIiwxKSxlLmFkZEV4Y2x1ZGVkS2V5KCJtZXRyaWNJZCIsMSksZX0odCkscyxyLG8sYSksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlPW5ldyBuLldhdGNoZWRWYWx1ZSghMSksdGhpcy5fc3ltYm9sSGliZXJuYXRlZD1uZXcgbi5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwsdGhpcy5fcmVhbGlnblRvb2xzTGFzdFBhcmFtcz1udWxsLHRoaXMuX2Jhc2U9MTAwLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2xhc3RSZXNvbHZlZFN5bWJvbFNvdXJjZT0iIix0aGlzLl9kYXRhPW5ldyBjLlBsb3RMaXN0KCgwLHUuc2VyaWVzUGxvdEZ1bmN0aW9uTWFwKSgpLEZlKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQy5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSxMZSYmdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25RdW90ZXNVcGRhdGUpO2NvbnN0IGg9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7aC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksCmguYWxsb3dFeHRlbmRUaW1lU2NhbGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25BbGxvd0V4dGVuZFRpbWVTY2FsZUNoYW5nZWQpLHRoaXMuX29uQWxsb3dFeHRlbmRUaW1lU2NhbGVDaGFuZ2VkKCksKDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmRpdmlkZW5kc0FkanVzdG1lbnQpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3RyeUNoYW5nZUlucHV0cygpfSkpLGguc3R5bGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFN0eWxlQ2hhbmdlZCksaC5saW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYmFzZWxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksaC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVCYXJGdW5jdGlvbiksdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24oKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25NaW5UaWNrQ2hhbmdlZCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcykpKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fY2hlY2tTdHlsZSgpKSksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlcj1uZXcgbC5Db25mbGF0ZWRDaHVua3NCdWlsZGVyKHRoaXMuX2RhdGEsKGU9PnUuYmFyRnVuY3Rpb25zW2VdKSk7Y29uc3QgZD0oKT0+dGhpcy5fY3VycmVuY3lVbml0U291cmNlU3ltYm9sSW5mby5zZXRWYWx1ZSh0aGlzLnN5bWJvbEluZm8oKSk7dGhpcy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLGQpLHRoaXMub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsZCksZCgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPSgwLHAuY3JlYXRlQWxpYXNTeW1ib2xJbmZvV1YpKHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8ud2Vha1JlZmVyZW5jZSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpKSwodGhpcy5fYWxpYXNTeW1ib2xJbmZvV1Z8fHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8pLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpKSx0aGlzLl9vdmVybGF5VmFsdWVzUHJvdmlkZXI9bmV3IHJlKHRoaXMsZSksdGhpcy5fb3ZlcmxheUxlZ2VuZFZhbHVlc1Byb3ZpZGVyPW5ldyB1ZSh0aGlzLGUpLHRoaXMuX292ZXJsYXlUYWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgUmUodGhpcyxlKSx0aGlzLl9vdmVybGF5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgSWUodGhpcyxlKSx0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9pc1VuaXRPcmlnaW4uc2V0VmFsdWUoITApfWRlc3Ryb3koKXsoMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuZGl2aWRlbmRzQWRqdXN0bWVudCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fcXVvdGVzUHJvdmlkZXIuZGVzdHJveSgpLHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPy5yZWxlYXNlKCksc3VwZXIuZGVzdHJveSgpfWJhc2UoKXtyZXR1cm4gdGhpcy5fYmFzZX1wcmVjb21wdXRlZEJhclN0eWxlKGUpe3JldHVybiB0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5nZXQoZSl9c2V0UHJlY29tcHV0ZWRCYXJTdHlsZShlLHQpe3RoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzLnNldChlLHQpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc31iYXJDb2xvcmVyKCl7cmV0dXJuIG5ldyBRLlNlcmllc0JhckNvbG9yZXIoe2RhdGE6KCk9PnRoaXMuZGF0YSgpLGJhcnM6KCk9PnRoaXMuZGF0YSgpLG5zQmFyczooKT0+bmV3IGMuUGxvdExpc3QscHJpY2VTY2FsZTooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLnByaWNlU2NhbGUoKSkscHJvcGVydGllczooKT0+dGhpcy5wcm9wZXJ0aWVzKCksZmlyc3RWYWx1ZTooKT0+dGhpcy5maXJzdFZhbHVlKCksYmFyRnVuY3Rpb246KCk9PnRoaXMuYmFyRnVuY3Rpb24oKSxsaW5lQ29sb3JBdFlQZXJjZW50RnJvbVRvcDplPT50aGlzLmxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpfSl9c3ltYm9sUGFyYW1zKCl7cmV0dXJuKDAsUC5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsUC5jb21wYXJlU3ltYm9sUGFyYW1zKSh0aGlzLGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCksdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSl9YXN5bmMgc2V0U3ltYm9sUGFyYW1zKGUpe3RoaXMuX3NldFN5bWJvbFBhcmFtc0ludGVybmFsKGUpfXN5bWJvbCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXsKcmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2x9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xDaGFuZ2VkKCl9c2V0U3ltYm9sKGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtzeW1ib2w6ZX0pfXN5bWJvbEluZm8oKXtpZighdGhpcy5fcmVzb2x2ZWRTeW1ib2xzKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ7cmV0dXJuIHQ9dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpP3RoaXMuX3Jlc29sdmVkU3ltYm9scy5fX19zbmFwc2hvdHx8bnVsbDp0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGwsdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiZudWxsPT09dCYmKHQ9KDAsXy5nZXRPYnNvbGV0ZUlkZWFTeW1ib2xJbmZvKSh0aGlzLl9yZXNvbHZlZFN5bWJvbHMsZSx0aGlzLmN1cnJlbmN5KCkpLG51bGwhPT10JiYodGhpcy5fcmVzb2x2ZWRTeW1ib2xzLl9fX3NuYXBzaG90PXQpKSx0fXN5bWJvbEluZm9XVigpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnJlYWRvbmx5KCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mb1dWPz90aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPz9uZXcgbi5XYXRjaGVkVmFsdWUobnVsbCkpLnZhbHVlKCl9c3VwcG9ydHNDb25mbGF0ZWRDaHVua3MoKXtyZXR1cm4hMH1jb25mbGF0ZWRDaHVua3MoZSx0KXtyZXR1cm4gdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5jb25mbGF0ZWRDaHVua3MoZSx0KX1zeW1ib2xSZXNvbHZlZCgpe3JldHVybiB0aGlzLnN5bWJvbHNSZXNvbHZlZCgpfXN5bWJvbFJlc29sdmluZ0FjdGl2ZSgpe3JldHVybiB0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmV9c3ltYm9sSGliZXJuYXRlZCgpe3JldHVybiB0aGlzLl9zeW1ib2xIaWJlcm5hdGVkfWlzVmlzaWJsZSgpe2NvbnN0IGU9c3VwZXIuaXNWaXNpYmxlKCk7cmV0dXJuIHRoaXMuX3N5bWJvbEhpYmVybmF0ZWQuc2V0VmFsdWUoIWUpLGV9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4oMCxQLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybigwLHguc3ltYm9sU2FtZUFzUmVzb2x2ZWQpKGUsdGhpcy5fbGFzdFJlc29sdmVkU3ltYm9sU291cmNlLHRoaXMuc3ltYm9sKCkpfXByaWNlU291cmNlKCl7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtzd2l0Y2goZS5zdHlsZS52YWx1ZSgpKXtjYXNlIDI6cmV0dXJuIGUubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7Y2FzZSAxNDpyZXR1cm4gZS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIGUuc3RlcGxpbmVTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2Nhc2UgMzpyZXR1cm4gZS5hcmVhU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEwOnJldHVybiBlLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTtjYXNlIDEzOnJldHVybiBlLmNvbHVtblN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCl9cmV0dXJuIG51bGx9YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cXVvdGVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fcXVvdGVzUHJvdmlkZXJ9cXVvdGVzKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9Y3VycmVuY3koKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuY3VycmVuY3lJZC52YWx1ZSgpfHxudWxsfXNldEN1cnJlbmN5KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtjdXJyZW5jeTplfSl9dW5pdCgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS51bml0SWQudmFsdWUoKXx8bnVsbH1zZXRVbml0KGUpe3RoaXMuc2V0U3ltYm9sUGFyYW1zKHt1bml0OmV9KX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH1zZXRNZXRyaWMoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe21ldHJpYzplfSl9c3R5bGUoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKX1zZXRTdHlsZShlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3R5bGU6ZX0pfWludGVydmFsKCl7cmV0dXJuIHRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpfXNldEludGVydmFsKGUpe312YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9YmFyc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXN9c3RhdGUoZSx0KXtjb25zdCBzPXN1cGVyLnN0YXRlKGUsdCk7dGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCl8fGRlbGV0ZSBzLnN0YXRlLnVuaXRJZDtjb25zdCByPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHMuc3RhdGUuaW5wdXRzLnN5bWJvbD0oMCxTLnN5bWJvbFRvU2F2ZUluU3RhdGUpKHRoaXMuc3ltYm9sSW5mbygpPz90aGlzLl9tb2RlbC5jaGFydEFwaSgpLmxhc3RTeW1ib2xSZXNvbHZlSW5mbyhyKSxyKSxlJiYoKDAsaS5lbnN1cmVEZWZpbmVkKShzLmRhdGEpLnN5bWJvbHM9e19fX3NuYXBzaG90OnRoaXMuc3ltYm9sSW5mbygpfHx2b2lkIDB9KSxzfXN5bWJvbFRpdGxlKGUsdCxzKXtyZXR1cm4gdGhpcy50aXRsZShlLCEwLHt9LCExLHQpfXRpdGxlKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm5bblswXSwuLi5uWzFdPz9bXV0uam9pbihgICR7Uy5zeW1ib2xUaXRsZVNlcGFyYXRvcn0gYCl9dGl0bGVJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuW3RoaXMudGl0bGUoZSx0LHMsaSxyKV19Zmlyc3RWYWx1ZSgpewpjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWUuZmlyc3RCYXIoKTtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiB0aGlzLl9vd25GaXJzdFZhbHVlO2NvbnN0IHM9dGhpcy5kYXRhKCkuc2VhcmNoKHQsaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQsMSk7cmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU9bnVsbCE9PXM/dGhpcy5fYmFyRnVuY3Rpb24ocy52YWx1ZSwwKTpudWxsLHRoaXMuX293bkZpcnN0VmFsdWV9bGluZUNvbG9yQXRZUGVyY2VudEZyb21Ub3AoZSl7c3dpdGNoKHRoaXMuc3R5bGUoKSl7Y2FzZSAyOnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTtjYXNlIDE0OnJldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpO2Nhc2UgMTU6cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm4gbnVsbH1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LG49dGhpcy5wcmljZVNjYWxlKCk7aWYodGhpcy5fbW9kZWwudGltZVNjYWxlKCkuaXNFbXB0eSgpfHxudWxsPT09bnx8bi5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gaTtjb25zdCBvPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09bylyZXR1cm4gaTtjb25zdCBhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFhLnZpc2libGUudmFsdWUoKSlyZXR1cm4gaTtjb25zdCBsPXRoaXMubmVhcmVzdEluZGV4KG8ubGFzdEJhcigpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQsMSk7aWYodm9pZCAwPT09bClyZXR1cm4gaTtjb25zdCB1PXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGw9PT11KXJldHVybiBpO2NvbnN0IGM9dGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvdyg0KSxkPW51bGwhPT1jJiZvLmNvbnRhaW5zKGMuaW5kZXgpLF89bnVsbCE9PWM/Yy52YWx1ZTpudWxsLHA9dHx8ZD9fOnRoaXMuZGF0YSgpLnZhbHVlQXQobCk7aWYobnVsbD09PXApcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9iYXJGdW5jdGlvbihwLDIpO2lmKCEoMCxyLmlzTnVtYmVyKSh5KSlyZXR1cm4gaTtjb25zdCBtPW4ucHJpY2VUb0Nvb3JkaW5hdGUoeSx1KTtsZXQgdjtzd2l0Y2goYS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6dj1wWzFdPD1wWzRdP2EuYmFyU3R5bGUuY2hpbGRzKCkudXBDb2xvci52YWx1ZSgpOmEuYmFyU3R5bGUuY2hpbGRzKCkuZG93bkNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxOnY9cFsxXTw9cFs0XT9hLmNhbmRsZVN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNhbmRsZVN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgOTp2PXBbMV08PXBbNF0/YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS51cENvbG9yLnZhbHVlKCk6YS5ob2xsb3dDYW5kbGVTdHlsZS5jaGlsZHMoKS5kb3duQ29sb3IudmFsdWUoKTticmVhaztjYXNlIDEzOnY9cFsxXTw9cFs0XT9hLmNvbHVtblN0eWxlLmNoaWxkcygpLnVwQ29sb3IudmFsdWUoKTphLmNvbHVtblN0eWxlLmNoaWxkcygpLmRvd25Db2xvci52YWx1ZSgpO2JyZWFrO2Nhc2UgMjp2PWEubGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNDp2PWEubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCkuY29sb3IudmFsdWUoKTticmVhaztjYXNlIDE1OnY9YS5zdGVwbGluZVN0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAzOnY9YS5hcmVhU3R5bGUuY2hpbGRzKCkubGluZWNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxNjp2PWEuaGxjQXJlYVN0eWxlLmNoaWxkcygpLmNsb3NlTGluZUNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAxMDp7Y29uc3QgZT1hLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dj1tPE1hdGgucm91bmQobi5oZWlnaHQoKSooTWF0aC5hYnMoMTAwLWUuYmFzZUxldmVsUGVyY2VudGFnZS52YWx1ZSgpKS8xMDApKT9lLnRvcExpbmVDb2xvci52YWx1ZSgpOmUuYm90dG9tTGluZUNvbG9yLnZhbHVlKCk7YnJlYWt9Y2FzZSAxMjp2PWEuaGlsb1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7Y2FzZSAyMTp2PWEuaGxjQmFyc1N0eWxlLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb3ZlcmxheSBzdHlsZSIpfWNvbnN0IGY9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHksdSwhMCksbm9EYXRhOiExLGNvb3JkaW5hdGU6bSxjb2xvcjp2fTtyZXR1cm4gcyYmKGYucHJpY2U9eSksZn1wcmljZVJhbmdlKGUpe2NvbnN0e3N0YXJ0VGltZVBvaW50OnQsZW5kVGltZVBvaW50OnN9PWU7aWYoZS5mb3JjZU92ZXJsYXlPbmx5KXJldHVybiBudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikodCkpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3Qgc3RhcnRCYXIiKSxudWxsO2lmKCEoMCxyLmlzSW50ZWdlcikocykpcmV0dXJuIEJlLmxvZ0RlYnVnKCJwcmljZVJhbmdlOiBpbmNvcnJlY3QgZW5kQmFyIiksbnVsbDtpZigwPT09dGhpcy5kYXRhKCkuc2l6ZSgpKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5wcmljZVNvdXJjZSgpO2xldCBuO249bnVsbCE9PWk/dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOmksb2Zmc2V0OjB9XSk6dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZCh0LHMsW3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7Y29uc3Qgbz1udWxsIT09bj9uZXcgRC5QcmljZVJhbmdlKG4ubWluLG4ubWF4KTpudWxsO3JldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UobyxlKX1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW9wZW4oZSl7CnJldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbMV19aGlnaChlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzJdfWxvdyhlKXtyZXR1cm4oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLnZhbHVlQXQoZSkpWzNdfWNsb3NlKGUpe3JldHVybigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5iYXJzKCkudmFsdWVBdChlKSlbNF19aGwyKGUpe3JldHVybih0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkpLzJ9aGxjMyhlKXtyZXR1cm4odGhpcy5oaWdoKGUpK3RoaXMubG93KGUpK3RoaXMuY2xvc2UoZSkpLzN9b2hsYzQoZSl7cmV0dXJuKHRoaXMub3BlbihlKSt0aGlzLmhpZ2goZSkrdGhpcy5sb3coZSkrdGhpcy5jbG9zZShlKSkvNH1jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpe3JldHVybiExfWFzeW5jIHN0YXJ0KGUsdCl7dGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsO2NvbnN0IHM9c3VwZXIuc3RhcnQoZSx0KTtyZXR1cm4gdGhpcy5wcmljZVNjYWxlKCk/LnVwZGF0ZUZvcm1hdHRlcigpLExlJiZ0aGlzLl9zZXRRdW90ZXNTeW1ib2woKDAsdy5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5zeW1ib2woKSkpKSxzfXN0b3AoZSl7c3VwZXIuc3RvcChlKSx0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKG51bGwpfWZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9mb3JtYXR0ZXJ8fHRoaXMuX3JlY3JlYXRlRm9ybWF0dGVyKCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9mb3JtYXR0ZXIpfXN0YXR1c1ZpZXcoKXtyZXR1cm4ga2U/c3VwZXIuc3RhdHVzVmlldygpOm51bGx9bW92ZUl0ZW0oZSx0LHMpe2lmKDEwPT09dGhpcy5zdHlsZSgpJiYwPT09dCl7Y29uc3QgdD0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMucHJpY2VTY2FsZSgpKSxzPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUscj10LmhlaWdodCgpLG49MTAwLWUueS9yKjEwMCxvPW48MD8wOk1hdGgucm91bmQoMTAqbikvMTA7cy5jaGlsZHMoKS5iYXNlTGV2ZWxQZXJjZW50YWdlLnNldFZhbHVlKE1hdGgubWF4KE1hdGgubWluKG8sMTAwKSwwKSl9fW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxTLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1kYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1hbGVydENyZWF0aW9uQXZhaWxhYmxlKCl7cmV0dXJuIG5ldyBuLldhdGNoZWRWYWx1ZSghdGhpcy5wcmljZVNjYWxlKCk/LmlzUGVyY2VudGFnZSgpJiZzdXBlci5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSkucmVhZG9ubHkoKX1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9vdmVybGF5TGVnZW5kVmFsdWVzUHJvdmlkZXJ9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVRhYmxlVmlld1ZhbHVlc1Byb3ZpZGVyfXZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyfWRlZmF1bHRQbG90SWRGb3JBbGVydCgpe3JldHVybiIifXRhZ3MoKXtjb25zdCBlPVtdLHQ9dGhpcy5zeW1ib2xJbmZvKCk7aWYodCllLnB1c2godC5uYW1lKTtlbHNle2NvbnN0IHQ9dGhpcy5zeW1ib2woKTt0JiZlLnB1c2godCl9cmV0dXJuIGV9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyB4ZSh0aGlzKX1pbnB1dHNJblBhcnRzKGUsdCxzLGkscil7cmV0dXJuIG51bGx9X29uUHJvcGVydGllc0NoYW5nZWQoKXtzdXBlci5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCgpLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwfWFzeW5jIF90cnlDaGFuZ2VJbnB1dHMoKXthd2FpdCBzdXBlci5fdHJ5Q2hhbmdlSW5wdXRzKCksdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMucHJpY2VTY2FsZSgpPy51cGRhdGVGb3JtYXR0ZXIoKX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKCl7SS5jdXN0b21Gb3JtYXR0ZXJzPy5wcmljZUZvcm1hdHRlckZhY3Rvcnk/Lih0aGlzLnN5bWJvbEluZm8oKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5taW5UaWNrLnZhbHVlKCkpO3JldHVybigwLFMuY3JlYXRlU2VyaWVzRm9ybWF0dGVyKSh0aGlzLmFsaWFzU3ltYm9sSW5mbygpLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKSl9X3RyeUNyZWF0ZURlZmF1bHRGb3JtYXR0ZXIoKXtyZXR1cm4oMCxTLmNyZWF0ZVNlcmllc0Zvcm1hdHRlcikodGhpcy5hbGlhc1N5bWJvbEluZm8oKSwiZGVmYXVsdCIpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpc31fb25Vbml0Q2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZ0aGlzLmlzU3RhcnRlZCgpJiZ0aGlzLl90cnlDaGFuZ2VJbnB1dHMoKSx0aGlzLl91bml0Q2hhbmdlZC5maXJlKCl9X29uTWV0cmljQ2hhbmdlZCgpeyJhbHdheXNPZmYiIT09KDAsZi5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX21ldHJpY0NoYW5nZWQuZmlyZSgpfV9nZXRTeW1ib2xPYmplY3QoZSx0KXtjb25zdCBzPXN1cGVyLl9nZXRTeW1ib2xPYmplY3QoZSkscj10aGlzLmN1cnJlbmN5KCk7bnVsbCE9PXImJihzWyJjdXJyZW5jeS1pZCJdPXIpCjtjb25zdCBuPXRoaXMudW5pdCgpO3RoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09biYmKHNbInVuaXQtaWQiXT1uKTtjb25zdCBvPXRoaXMubWV0cmljKCk7cmV0dXJuIXQmJnRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkmJm51bGwhPT1vJiYocy5tZXRyaWM9bykscy5hZGp1c3RtZW50PSgwLGkuZW5zdXJlRGVmaW5lZCkodGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpPyJkaXZpZGVuZHMiOiJzcGxpdHMiLHN9X29uU3ltYm9sUmVzb2x2aW5nU3RhcnQoZSx0KXt0aGlzLl9sYXN0UmVzb2x2ZWRTeW1ib2xTb3VyY2U9dCxzdXBlci5fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMCl9X29uU3ltYm9sRXJyb3IoKXtzdXBlci5fb25TeW1ib2xFcnJvcigpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zZXRWYWx1ZSghMSl9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3N1cGVyLl9vblN5bWJvbFJlc29sdmVkKGUsdCxzKSx0aGlzLl9iYXNlPXM/cy5wcmljZXNjYWxlL3MubWlubW92OjEwMCx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpO2NvbnN0IGk9dD09PXRoaXMuc3ltYm9sKCk/KDAsZy5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShzLHRoaXMuc3ltYm9sKCkpOm51bGwscj0oMCxTLnN5bWJvbEN1cnJlbmN5KShzKSxuPSgwLFMuc3ltYm9sVW5pdCkocyx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksbz0oMCxTLnN5bWJvbE1ldHJpYykocyx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpKTt0aGlzLl9zZXRTeW1ib2xQYXJhbXNJbnRlcm5hbCh7c3ltYm9sOmk/P3ZvaWQgMCxjdXJyZW5jeTpyLHVuaXQ6bixtZXRyaWM6b30scyksTGUmJnRoaXMuX3NldFF1b3Rlc1N5bWJvbCgoMCx3LmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLnN5bWJvbCgpKSkpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfWFzeW5jIF9jaGFuZ2VJbnB1dHNJbXBsKGUsdCl7YXdhaXQgc3VwZXIuX2NoYW5nZUlucHV0c0ltcGwoZSx0KSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDE1OTk4KSxzLmUoNTUyNTMpLHMuZSg2ODM4MSldKS50aGVuKHMuYmluZChzLDQ2OTM5OCkpLnRoZW4oKGU9PmUuU3R1ZHlPdmVybGF5RGVmaW5pdGlvbnNWaWV3TW9kZWwpKX1fc2V0UXVvdGVzU3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5zeW1ib2xJbmZvKCkscz0oMCxnLmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKHQsZSksaT1zJiZ0aGlzLmdldFN5bWJvbFN0cmluZyhzLCEwKTt0aGlzLl9xdW90ZXNQcm92aWRlci5zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGkpfV9vblF1b3Rlc1VwZGF0ZShlLHQpeyF0aGlzLl9sZWdlbmRWaWV3fHx2b2lkIDA9PT10LnZhbHVlcy5jaGFuZ2UmJnZvaWQgMD09PXQudmFsdWVzLmNoYW5nZV9wZXJjZW50fHwodGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKDAsbGUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9X2NyZWF0ZVZpZXdzKCl7dGhpcy5fcHJpY2VBeGlzVmlld3M9W107Y29uc3QgZT1uZXcgayh0aGlzKTt0aGlzLl9wcmljZUF4aXNWaWV3c0Jhc2U9W2VdO2NvbnN0IHQ9bmV3IE4odGhpcyk7dGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cz1bdF0sdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdO2xldCBzPW51bGwscj1udWxsO3N3aXRjaCh0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKXtjYXNlIDA6cj1uZXcgcGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTpyPW5ldyB5ZS5TZXJpZXNDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA5OnI9bmV3IGdlLlNlcmllc0hvbGxvd0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEzOnI9bmV3IGJlLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OnI9bmV3IG1lLlNlcmllc0xpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDM6cj1uZXcgdmUuU2VyaWVzQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTY6cj1uZXcgZmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTA6e3I9bmV3IFNlLlNlcmllc0Jhc2VsaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7Y29uc3QgZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLmNoaWxkcygpO3M9bmV3IFYuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PigwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5wcmljZVNjYWxlKCkpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6cj1uZXcgd2UuU2VyaWVzSGlMb1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMjE6cj1uZXcgVGUuU2VyaWVzSExDQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfXImJnRoaXMuX3BhbmVWaWV3cy5wdXNoKHIpLG51bGwhPT1zJiZ0aGlzLl9wYW5lVmlld3MucHVzaChzKSx0aGlzLl9wYW5lVmlld3MucHVzaChuZXcgSCh0aGlzKSksCnRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IGFlKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9sZWdlbmRWaWV3fHwodGhpcy5fbGVnZW5kVmlldz1uZXcgZGUodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX3N0YXR1c1ZpZXd8fCh0aGlzLl9zdGF0dXNWaWV3PW5ldyBULlN0dWR5U3RhdHVzVmlldyh0aGlzKSksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld3x8KHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc9bmV3IERlLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlXSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKG5ldyBfZS5QYW5lUHJpY2VBeGlzVmlldyhlLHRoaXMsdGhpcy5fbW9kZWwpKX1fY3JlYXRlU3R1ZHlPblNlcnZlcigpe2NvbnN0IGU9c3VwZXIuX2NyZWF0ZVN0dWR5T25TZXJ2ZXIoKTtyZXR1cm4gdGhpcy5fcmVhbGlnbkxpbmVUb29sc0lmUGFyYW1zQ2hhbmdlZCgpLGV9X21vZGlmeVN0dWR5T25TZXJ2ZXIoZSl7c3VwZXIuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSwwKX1fdGl0bGVJblBhcnRzKGUsdCxzLGkscil7Y29uc3Qgbj10aGlzLl9nZXRTcGxpdFRpdGxlKHIpLG89W24ubGlzdGVkRXhjaGFuZ2Usbi5wcmljZVNvdXJjZV0uZmlsdGVyKChlPT52b2lkIDAhPT1lKSk7cmV0dXJuW24udGl0bGUsb119X2dldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm57dGl0bGU6dGhpcy5fZ2V0U3ltYm9sVGl0bGVQYXJ0KHQpLGxpc3RlZEV4Y2hhbmdlOnRoaXMuX2dldEV4Y2hhbmdlVGl0bGVQYXJ0KHQsZSk/P3ZvaWQgMCxwcmljZVNvdXJjZTp0aGlzLl9nZXRQcmljZVNvdXJjZVRpdGxlUGFydCh0KT8/dm9pZCAwfX1fbWVyZ2VEYXRhKGUpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fY29uZmxhdGVkQ2h1bmtzQnVpbGRlci5tZXJnZURhdGEoZSl9X2NsZWFyRGF0YSgpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIuY2xlYXJEYXRhKCl9X21vdmVEYXRhKGUpe3RoaXMuX2NvbmZsYXRlZENodW5rc0J1aWxkZXIubW92ZURhdGEoZSl9X2luaXRDdXJyZW5jeU1ldGFEYXRhKCl7KDAsby5jb21iaW5lKSgoZT0+e2NvbnN0IHQ9KDAsUy5zeW1ib2xDdXJyZW5jeSkoZSk7bnVsbCE9PWUmJm51bGwhPT10P3RoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUoe29yaWdpbmFsQ3VycmVuY3k6KDAsUy5zeW1ib2xPcmlnaW5hbEN1cnJlbmN5KShlKSxjdXJyZW50Q3VycmVuY3k6dCxiYXNlQ3VycmVuY3k6KDAsUy5zeW1ib2xCYXNlQ3VycmVuY3kpKGUpLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTooMCxTLnN5bWJvbEN1cnJlbmN5Q29udmVydGlibGUpKGUpLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigwLFMuaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3kpKGUpLGN1cnJlbmN5T3JpZ2luTmFtZTooMCxTLnByb1N5bWJvbCkoZSx0aGlzLnN5bWJvbCgpKX0pOnRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCl9KSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvLndlYWtSZWZlcmVuY2UoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxvLmNvbWJpbmUpKCgoZSx0KT0+e2NvbnN0IHM9dGhpcy5fbW9kZWwsaT0oMCxTLnN5bWJvbFVuaXQpKGUscy51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PWUmJm51bGwhPT1pJiZudWxsIT09dD90aGlzLl91bml0TWV0YURhdGEuc2V0VmFsdWUoe3VuaXRPcmlnaW5OYW1lOigwLFMucHJvU3ltYm9sKShlLHRoaXMuc3ltYm9sKCkpLGNvbnZlcnRpYmxlR3JvdXBzOigwLEFlLnVuaXRDb252ZXJ0aWJsZUdyb3VwcykoZSxpLHQpLGlzQ29udmVydGVkVG9PdGhlclVuaXQ6KDAsUy5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KShlLHMudW5pdENvbnZlcnNpb25FbmFibGVkKCkpLG9yaWdpbmFsVW5pdDooMCxTLnN5bWJvbE9yaWdpbmFsVW5pdCkoZSxzLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxjdXJyZW50VW5pdDppfSk6dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fYXZhaWxhYmxlVW5pdHMud2Vha1JlZmVyZW5jZSgpKX1fZ2V0U3ltYm9sVGl0bGVQYXJ0KGUpe2lmKG51bGw9PT1lKXJldHVybiBNZT8iIjooZT0+dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUpPy5hbGlhc05hbWU/P2UpKHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5zeW1ib2wudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUoZS5wcm9fbmFtZSk/LmFsaWFzTmFtZT8/ZS5uYW1lO2lmKEVlKXN3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjpyZXR1cm4gZS5kZXNjcmlwdGlvbjtjYXNlInRpY2tlci1hbmQtZGVzY3JpcHRpb24iOnJldHVybmAke3R9LCAke2UuZGVzY3JpcHRpb259YDtjYXNlImxvbmctZGVzY3JpcHRpb24iOnJldHVybiBlLmxvbmdfZGVzY3JpcHRpb24/P2UuZGVzY3JpcHRpb259cmV0dXJuIHR9X2dldEV4Y2hhbmdlVGl0bGVQYXJ0KGUsdCl7cmV0dXJuIG51bGw9PT1lfHx0P251bGw6KDAsUy5nZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZSkoZSl9X2dldFByaWNlU291cmNlVGl0bGVQYXJ0KGUpe3JldHVybiBudWxsfV9vbkFsbG93RXh0ZW5kVGltZVNjYWxlQ2hhbmdlZCgpe31fc2V0U3ltYm9sUGFyYW1zSW50ZXJuYWwoZSx0KXsKY29uc3R7c3ltYm9sOnMsY3VycmVuY3k6aSx1bml0OnIsbWV0cmljOm4sc3R5bGU6b309ZSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9YS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCksdT1hLmN1cnJlbmN5SWQudmFsdWUoKSxjPWEudW5pdElkLnZhbHVlKCksaD1hLm1ldHJpY0lkLnZhbHVlKCksZD1hLnN0eWxlLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLnNldFZhbHVlU2lsZW50bHkocyksdm9pZCAwIT09aSYmYS5jdXJyZW5jeUlkLnNldFZhbHVlU2lsZW50bHkoaSksdm9pZCAwIT09ciYmYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseShyKSx2b2lkIDAhPT1uJiZhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkobiksdm9pZCAwIT09byYmYS5zdHlsZS5zZXRWYWx1ZVNpbGVudGx5KG8pLHQpdGhpcy5fcmVzb2x2ZWRTeW1ib2xzQnlJbnB1dFt0aGlzLnN5bWJvbCgpXT10LHRoaXMuX3Jlc29sdmVkU3ltYm9sc1t0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKHRoaXMuc3ltYm9sKCkpXT10LHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM9bnVsbDtlbHNle2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihhLmN1cnJlbmN5SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbEN1cnJlbmN5KShlKSksYS51bml0SWQuc2V0VmFsdWVTaWxlbnRseSgoMCxTLnN5bWJvbFVuaXQpKGUsdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkpKSxhLm1ldHJpY0lkLnNldFZhbHVlU2lsZW50bHkoKDAsUy5zeW1ib2xNZXRyaWMpKGUsdGhpcy5fbW9kZWwubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSkpLHRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8uc2V0VmFsdWUoZSkpfWEuaW5wdXRzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpIT09bCYmYS5pbnB1dHMuY2hpbGRzKCkuc3ltYm9sLmZpcmVDaGFuZ2VkKCksYS5jdXJyZW5jeUlkLnZhbHVlKCkhPT11JiZhLmN1cnJlbmN5SWQuZmlyZUNoYW5nZWQoKSxhLnVuaXRJZC52YWx1ZSgpIT09YyYmYS51bml0SWQuZmlyZUNoYW5nZWQoKSxhLm1ldHJpY0lkLnZhbHVlKCkhPT1oJiZhLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCksYS5zdHlsZS52YWx1ZSgpIT09ZCYmYS5zdHlsZS5maXJlQ2hhbmdlZCgpLHRoaXMuX2NoZWNrU3R5bGUoKSx0aGlzLl9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl9X3VwZGF0ZUJhckZ1bmN0aW9uKCl7dGhpcy5fYmFyRnVuY3Rpb249KDAsdi5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV9vbk1pblRpY2tDaGFuZ2VkKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKHt0eXBlOiJnbG9iYWwtY2hhbmdlIn0pLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fb25DaGFydFN0eWxlQ2hhbmdlZCgpe3RoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fY2hlY2tTdHlsZSgpe2NvbnN0IGU9dGhpcy5zdHlsZSgpOygwLFMuaXNDbG9zZUJhc2VkU3ltYm9sKSh0aGlzLnN5bWJvbEluZm8oKSl8fHRoaXMubW9kZWwoKS5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKT8oMCxTLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKXx8KHRoaXMuc2V0U3R5bGUoMiksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnNldFN0eWxlKHRoaXMuX3N0eWxlVG9SZWNvdmVyLm9yaWdpbmFsU3R5bGUpLHRoaXMuX3N0eWxlVG9SZWNvdmVyPW51bGwpfV9yZWFsaWduTGluZVRvb2xzSWZQYXJhbXNDaGFuZ2VkKCl7bGV0IGU9bnVsbD09PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXM7aWYobnVsbCE9PXRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpe2NvbnN0IHQ9dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKHRoaXMuX3JlYWxpZ25Ub29sc0xhc3RQYXJhbXMpO2U9dC5zeW1ib2xDaGFuZ2VkfHx0LmludGVydmFsQ2hhbmdlZHx8dC5jdXJyZW5jeUNoYW5nZWR8fHQudW5pdENoYW5nZWR8fHQubWV0cmljQ2hhbmdlZH1lJiYodGhpcy5fbW9kZWwucmVhbGlnbkxpbmVUb29scyh0aGlzKSx0aGlzLl9yZWFsaWduVG9vbHNMYXN0UGFyYW1zPXRoaXMuc3ltYm9sUGFyYW1zKCkpfX19LDg3NDM2OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtTdHVkeVN0cmF0ZWd5OigpPT5CfSk7dmFyIGk9cygxNjc1MDIpLHI9cygxMzg2MzgpLG49cygyMzIzNjQpLG89cyg5NDgzODApLGE9cyg0OTAzOTkpLGw9cygxOTcyNzIpLHU9cyg1MDU1NiksYz1zKDczNjUzMSksaD1zKDEzNDY3KSxkPXMoNzYzKSxfPXMoNTE1OTIpLHA9cygxNTEyMSkseT1zKDY0MDc0NCk7ZnVuY3Rpb24gbShlLHQscyl7cmV0dXJuIHM/TWF0aC5zaWduKGUpKihNYXRoLnJvdW5kKE1hdGguYWJzKGUpKSt0KTpNYXRoLnJvdW5kKGUpK3R9Y2xhc3Mgdntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2RhdGE9ZSx0aGlzLl90ZXh0V2lkdGhzPXR9ZHJhdyhlLHQpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOnMsdmVydGljYWxQaXhlbFJhdGlvOml9PXQ7dm9pZCAwIT09dGhpcy5fdGV4dFdpZHRocy5yZW5kZXJpbmdJbmZvJiYoMCxfLmVxdWFsUmVuZGVyaW5nSW5mb3MpKHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbyx0KXx8KHRoaXMuX3RleHRXaWR0aHMucmVuZGVyaW5nSW5mbz10LHRoaXMuX3RleHRXaWR0aHMud2lkdGguY2xlYXIoKSk7Y29uc3Qgcj10aGlzLl9kYXRhO2UubGluZUpvaW49Im1pdGVyIixlLm1pdGVyTGltaXQ9TWF0aC5yb3VuZCgyKnMpLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWF4KDIsKDAseS5jZWlsZWRFdmVuKSgyKnMpKTtmb3IoY29uc3QgcyBvZiByLml0ZW1zKXtlLmJlZ2luUGF0aCgpCjtjb25zdCBuPSJsb3dlciI9PT1zLnBvcztlLnNhdmUoKTtjb25zdCBvPU1hdGgucm91bmQoci5vcmRlckFycm93LnZNYXJnaW4qaSk7ZS50cmFuc2xhdGUoMCxuP286LW8pLHRoaXMuX2RyYXdPcmRlckFycm93KGUscy5vcmRlclBvaW50LHIub3JkZXJBcnJvdyxyLmV4aXRMaW5lV2lkdGgsbix0KSxlLnJlc3RvcmUoKSxlLnNhdmUoKSx0aGlzLl9kcmF3UHJpY2VBcnJvdyhlLHMucHJpY2VQb2ludCxyLnByaWNlQXJyb3csIW4sdCksZS5yZXN0b3JlKCksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuZmlsbFN0eWxlPXIuZXhpdExpbmVXaWR0aD9yLmV4aXRDb2xvcjoiYnV5Ij09PXMudHlwZT9yLmJ1eUNvbG9yOnIuc2VsbENvbG9yLGUuZmlsbCgpfWNvbnN0IG49ci50ZXh0O24udmlzaWJsZSYmKDAscC5kcmF3U2NhbGVkKShlLHMsaSwoKCk9PntlLmZvbnQ9bi5mb250U2l6ZSsicHggIituLmZvbnQsZS50ZXh0QWxpZ249ImNlbnRlciIsZS50ZXh0QmFzZWxpbmU9InRvcCIsZS5maWxsU3R5bGU9ci5sYWJlbENvbG9yLGUuc3Ryb2tlU3R5bGU9ci5iZ0NvbG9yLGUubGluZVdpZHRoPU1hdGgubWluKDIsTWF0aC5mbG9vcigyKnMpKTtmb3IoY29uc3QgdCBvZiByLml0ZW1zKXtjb25zdCBzPSJsb3dlciI9PT10LnBvcztlLnNhdmUoKTtjb25zdCBpPXM/MTotMSxvPXIub3JkZXJBcnJvdztlLnRyYW5zbGF0ZSgwLChvLmhlaWdodCtvLnZNYXJnaW4rci5leGl0TGluZVdpZHRoKSppKTtjb25zdCBhPXM/bi52TWFyZ2luOi1uLmZvbnRTaXplLW4udk1hcmdpbixsPWkqKG4uZm9udFNpemUrbi5saW5lU3BhY2luZyk7aWYodC5sYWJlbCYmKGUudHJhbnNsYXRlKDAsYSksZS5zdHJva2VUZXh0KHQubGFiZWwsTWF0aC5jZWlsKHQub3JkZXJQb2ludC54KSx0Lm9yZGVyUG9pbnQueSksZS5maWxsVGV4dCh0LmxhYmVsLE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQubGFiZWwpfHx0aGlzLl90ZXh0V2lkdGhzLndpZHRoLnNldCh0LmxhYmVsLGUubWVhc3VyZVRleHQodC5sYWJlbCkud2lkdGgpKSx0LnF0eSl7Y29uc3Qgcz1Cb29sZWFuKHQubGFiZWwpP2w6YTtlLnRyYW5zbGF0ZSgwLHMpLGUuc3Ryb2tlVGV4dCh0LnF0eSxNYXRoLmNlaWwodC5vcmRlclBvaW50LngpLHQub3JkZXJQb2ludC55KSxlLmZpbGxUZXh0KHQucXR5LE1hdGguY2VpbCh0Lm9yZGVyUG9pbnQueCksdC5vcmRlclBvaW50LnkpLHRoaXMuX3RleHRXaWR0aHMud2lkdGguaGFzKHQucXR5KXx8dGhpcy5fdGV4dFdpZHRocy53aWR0aC5zZXQodC5xdHksZS5tZWFzdXJlVGV4dCh0LnF0eSkud2lkdGgpfWUucmVzdG9yZSgpfX0pKX1oaXRUZXN0KGUpe2NvbnN0IHQ9dGhpcy5fdGVzdE9yZGVyQXJyb3dzKGUpLHM9IXQmJnRoaXMuX2RhdGEudGV4dCYmdGhpcy5fdGVzdFRleHQoZSk7cmV0dXJuIHR8fHM/bmV3IGQuSGl0VGVzdFJlc3VsdChkLkhpdFRhcmdldC5SZWd1bGFyKTpudWxsfV9kcmF3T3JkZXJBcnJvdyhlLHQscyxpLHIsbil7bGV0IG8sYTtyPyhlLnJvdGF0ZShNYXRoLlBJKSxvPS10LngsYT0tdC55KToobz10LngsYT10LnkpLGEtPXMuaGVpZ2h0K2k7Y29uc3R7aG9yaXpvbnRhbFBpeGVsUmF0aW86bCx2ZXJ0aWNhbFBpeGVsUmF0aW86dX09bixjPU1hdGgubWF4KDEsTWF0aC5mbG9vcihsKSksaD1jJTI/LjU6MCxkPXI/ImZsb29yIjoiY2VpbCI7bz1tKG8qbCxoLHIpLGE9TWF0aC5yb3VuZCgoTWF0aFtkXShhKSsuNSkqdSksZS50cmFuc2xhdGUobyxhKTtjb25zdCBfPSgwLHkuY2VpbGVkRXZlbikocy53aWR0aCpsKS8yK2gscD0oMCx5LmNlaWxlZEV2ZW4pKHMudGFpbFdpZHRoKmwpLzIraCx2PU1hdGgucm91bmQocy50YWlsSGVpZ2h0KnUpO2lmKGUubW92ZVRvKC1wLDApLGUubGluZVRvKHAsMCksZS5saW5lVG8ocCx2KSxlLmxpbmVUbyhfLHYpLGUubGluZVRvKDAsTWF0aC5yb3VuZChzLmhlaWdodCp1KSksaSl7Y29uc3QgdD1NYXRoLmZsb29yKGMvMik7ZS5saW5lVG8oXyt0LE1hdGgucm91bmQocy5oZWlnaHQqdSkpLGUubGluZVRvKF8rdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKChzLmhlaWdodCtpKSp1KSksZS5saW5lVG8oLV8tdCxNYXRoLnJvdW5kKHMuaGVpZ2h0KnUpKSxlLmxpbmVUbygwLE1hdGgucm91bmQocy5oZWlnaHQqdSkpfWUubGluZVRvKC1fLHYpLGUubGluZVRvKC1wLHYpLGUubGluZVRvKC1wLDApLGUubGluZVRvKHAsMCl9X2RyYXdQcmljZUFycm93KGUsdCxzLGkscil7bGV0IG4sbztpPyhlLnJvdGF0ZShNYXRoLlBJKSxuPS10Lngsbz0tdC55KToobj10Lngsbz10LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmEsdmVydGljYWxQaXhlbFJhdGlvOmx9PXIsdT1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLGM9dSUyPy41OjA7bj1tKG4qYSxjLGkpLXUsbz1tKG8qbCxjLGkpO2NvbnN0IGg9KDAseS5jZWlsZWRFdmVuKSgyKnMud2lkdGgqbCkvMixkPS0oTWF0aC5yb3VuZChzLndpZHRoKmEpK2MpO2UudHJhbnNsYXRlKG4sbyksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbyhkLC1oKSxlLmxpbmVUbyhkLGgpLGUubGluZVRvKDAsMCksZS5saW5lVG8oZCwtaCl9X3Rlc3RPcmRlckFycm93cyhlKXtjb25zdCB0PXRoaXMuX2RhdGEscz10Lm9yZGVyQXJyb3cud2lkdGgvMjtmb3IoY29uc3QgaSBvZiB0Lml0ZW1zKXtjb25zdCByPWkub3JkZXJQb2ludDtpZihlLng8ci54LXN8fGUueD5yLngrcyljb250aW51ZTtjb25zdCBuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrKG4/dC5vcmRlckFycm93LnZNYXJnaW46LXQub3JkZXJBcnJvdy52TWFyZ2luKSxsPU1hdGgubWluKGEsYStvKSx1PU1hdGgubWF4KGEsYStvKTtpZighKGUueTxsfHxlLnk+dSkpcmV0dXJuITB9cmV0dXJuITF9X3Rlc3RUZXh0KGUpe2NvbnN0IHQ9dGhpcy5fZGF0YSxzPXQudGV4dDtpZighcy52aXNpYmxlKXJldHVybiExO2Zvcihjb25zdCBpIG9mIHQuaXRlbXMpewpjb25zdCByPWkub3JkZXJQb2ludCxuPSJsb3dlciI9PT1pLnBvcztsZXQgbz10Lm9yZGVyQXJyb3cudk1hcmdpbit0Lm9yZGVyQXJyb3cuaGVpZ2h0K3QuZXhpdExpbmVXaWR0aDtufHwobz0tbyk7Y29uc3QgYT1yLnkrbyxsPShpLmxhYmVsPzE6MCkrKGkucXR5PzE6MCk7bGV0IHU9cy52TWFyZ2luK3MuZm9udFNpemUqbCtzLmxpbmVTcGFjaW5nKk1hdGgubWF4KDAsbC0xKTtufHwodT0tdSk7Y29uc3QgYz1NYXRoLm1pbihhLGErdSksaD1NYXRoLm1heChhLGErdSk7aWYoZS55PGN8fGUueT5oKWNvbnRpbnVlO2NvbnN0IGQ9aS5sYWJlbCYmaS5xdHk/biYmZS55PGErcy5mb250U2l6ZXx8IW4mJmUueT5hLXMuZm9udFNpemU/aS5sYWJlbDppLnF0eTppLmxhYmVsfHxpLnF0eSxfPXRoaXMuX3RleHRXaWR0aHMud2lkdGguZ2V0KGQpO2lmKCEodm9pZCAwPT09X3x8ZS54PHIueC1fLzJ8fGUueD5yLngrXy8yKSlyZXR1cm4hMH1yZXR1cm4hMX19dmFyIGYsUz1zKDkyNjE0OSksZz1zKDkzNjMyNiksYj1zKDc4OTE5MCk7IWZ1bmN0aW9uKGUpe2VbZS5PcmRlckFycm93Vk1hcmdpbj0xMV09Ik9yZGVyQXJyb3dWTWFyZ2luIixlW2UuT3JkZXJBcnJvd1dpZHRoPTEwXT0iT3JkZXJBcnJvd1dpZHRoIixlW2UuT3JkZXJBcnJvd0hlaWdodD0xNV09Ik9yZGVyQXJyb3dIZWlnaHQiLGVbZS5PcmRlckFycm93VGFpbFdpZHRoPTJdPSJPcmRlckFycm93VGFpbFdpZHRoIixlW2UuT3JkZXJBcnJvd1RhaWxIZWlnaHQ9MTBdPSJPcmRlckFycm93VGFpbEhlaWdodCIsZVtlLk9yZGVyQXJyb3dFeGl0TGluZVdpZHRoPTJdPSJPcmRlckFycm93RXhpdExpbmVXaWR0aCIsZVtlLlByaWNlQXJyb3dXaWR0aD01XT0iUHJpY2VBcnJvd1dpZHRoIixlW2UuVGV4dFZNYXJnaW49N109IlRleHRWTWFyZ2luIixlW2UuRm9udFNpemU9MTJdPSJGb250U2l6ZSIsZVtlLkxpbmVTcGFjaW5nPTJdPSJMaW5lU3BhY2luZyIsZVtlLlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZz0xMF09IlRleHRWaXNpYmlsaXR5TWluQmFyU3BhY2luZyJ9KGZ8fChmPXt9KSk7Y29uc3Qgdz17QnV5Q29sb3I6KDAsdS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksU2VsbENvbG9yOiIjRkYxNzQ0IixFeGl0Q29sb3I6IiNENTAwRjkiLExhYmVsRGFya0NvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktMzAwIiksTGFiZWxMaWdodENvbG9yOigwLHUuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci1jb2xkLWdyYXktOTAwIil9O2Z1bmN0aW9uIEMoZSl7cmV0dXJuITE9PT1lLmU/ImV4aXQiOmUuYj8iZW50cnlCdXkiOiJlbnRyeVNlbGwifWZ1bmN0aW9uIFAoZSl7cmV0dXJuIGUuYj8iYnV5Ijoic2VsbCJ9ZnVuY3Rpb24geChlLHQpe3JldHVybiB0PyFlLmI6ZS5ifWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4geChlLHQpPyJsb3dlciI6InVwcGVyIn1mdW5jdGlvbiBJKGUsdCxzKXtsZXQgaT1lW3RdLmdldChzKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9MCxlW3RdLnNldChzLGkpKSxpfWZ1bmN0aW9uIFQoZSx0LHMsaSl7Y29uc3Qgbj0oMCxyLmVuc3VyZURlZmluZWQpKGVbdF0uZ2V0KHMpKTtlW3RdLnNldChzLG4raSl9ZnVuY3Rpb24gVihlLHQpe3JldHVybiB0JiYoZS5jfHxlLmlkfHwiVW50aXRsZWQiKXx8IiJ9ZnVuY3Rpb24gUihlLHQpe3JldHVybiB0JiYoZS5iPyIrIjoiLSIpK2UucXx8IiJ9ZnVuY3Rpb24gQShlLHQscyl7cmV0dXJuKDAsci5lbnN1cmVOb3ROdWxsKShlLmI/cy52YWx1ZUF0KHQsMyk6cy52YWx1ZUF0KHQsMikpfWZ1bmN0aW9uIEwoZSx0KXtyZXR1cm4oImV4aXQiPT09QyhlKT8yOjApK3Qudk1hcmdpbit0LmhlaWdodH1jbGFzcyBFe2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhzPXt3aWR0aDpuZXcgTWFwfSx0aGlzLl9zdHVkeT1lLHRoaXMuX3Nlcmllcz10LHRoaXMuX21vZGVsPXMsdGhpcy5fb3JkZXJBcnJvdz17dk1hcmdpbjoxMSx3aWR0aDoxMCxoZWlnaHQ6MTUsdGFpbFdpZHRoOjIsdGFpbEhlaWdodDoxMH0sdGhpcy5fcHJpY2VBcnJvdz17d2lkdGg6NX0sdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0PXt2TWFyZ2luOjcsZm9udDp0aGlzLl9wcmV2aW91c0ZvbnQsZm9udFNpemU6MTIsbGluZVNwYWNpbmc6Mix2aXNpYmxlOiEwfSx0aGlzLl9pdGVtcz17ZW50cnlCdXk6W10sZW50cnlTZWxsOltdLGV4aXQ6W119LHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuc3Vic2NyaWJlKHRoaXMsdGhpcy51cGRhdGUpfXVwZGF0ZSgpe3RoaXMuX2ludmFsaWRhdGVkPSEwfWNsZWFySXRlbXMoKXt0aGlzLl9pdGVtcy5lbnRyeUJ1eT1bXSx0aGlzLl9pdGVtcy5lbnRyeVNlbGw9W10sdGhpcy5faXRlbXMuZXhpdD1bXX1yZW5kZXJlcigpe2NvbnN0IGU9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFlLnZpc2libGUudmFsdWUoKXx8IWUuc3RyYXRlZ3kuY2hpbGRzKCkub3JkZXJzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RofHx0aGlzLl9pdGVtcy5lbnRyeVNlbGwubGVuZ3RofHx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCl7Y29uc3QgZT1uZXcgYi5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdGhpcy5faXRlbXMuZW50cnlCdXkubGVuZ3RoJiZlLmFwcGVuZCh0aGlzLl9zdHJhdGVneU9yZGVyc1JlbmRlcmVyKHRoaXMuX2l0ZW1zLmVudHJ5QnV5LCExKSksdGhpcy5faXRlbXMuZW50cnlTZWxsLmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5lbnRyeVNlbGwsITEpKSx0aGlzLl9pdGVtcy5leGl0Lmxlbmd0aCYmZS5hcHBlbmQodGhpcy5fc3RyYXRlZ3lPcmRlcnNSZW5kZXJlcih0aGlzLl9pdGVtcy5leGl0LCEwKSksZX1yZXR1cm4gbnVsbH0KX3N0cmF0ZWd5T3JkZXJzUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX21vZGVsLmJhY2tncm91bmRDb2xvcigpLnZhbHVlKCksaT0iYmxhY2siPT09KDAsaC5yZ2JUb0JsYWNrV2hpdGVTdHJpbmcpKCgwLGgucGFyc2VSZ2IpKHMpLDE1MCk7cmV0dXJuIG5ldyB2KHtpdGVtczplLGJ1eUNvbG9yOncuQnV5Q29sb3Isc2VsbENvbG9yOncuU2VsbENvbG9yLGV4aXRDb2xvcjp3LkV4aXRDb2xvcixsYWJlbENvbG9yOmk/dy5MYWJlbERhcmtDb2xvcjp3LkxhYmVsTGlnaHRDb2xvcixiZ0NvbG9yOnMsb3JkZXJBcnJvdzp0aGlzLl9vcmRlckFycm93LGV4aXRMaW5lV2lkdGg6dD8yOjAscHJpY2VBcnJvdzp0aGlzLl9wcmljZUFycm93LHRleHQ6dGhpcy5fdGV4dH0sdGhpcy5fdGV4dFdpZHRocyl9X3VwZGF0ZUltcGwoKXt0aGlzLmNsZWFySXRlbXMoKSx0aGlzLl9wcmV2aW91c0ZvbnQhPT1TLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkmJih0aGlzLl90ZXh0V2lkdGhzLndpZHRoLmNsZWFyKCksdGhpcy5fcHJldmlvdXNGb250PVMuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSx0aGlzLl90ZXh0LmZvbnQ9dGhpcy5fcHJldmlvdXNGb250KTtjb25zdCBlPXRoaXMuX3N0dWR5Lm9yZGVyc0RhdGEoKTtpZighZXx8IWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fc2VyaWVzLnByaWNlU2NhbGUoKSxpPXQudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKHQuaXNFbXB0eSgpfHxzLmlzRW1wdHkoKXx8bnVsbD09PWkpcmV0dXJuO2NvbnN0IG49dGhpcy5fc3R1ZHkuYmFyc0luZGV4ZXMoKSxvPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLGcuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxhPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksZy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09b3x8dm9pZCAwPT09YSlyZXR1cm47Y29uc3RbbCx1XT1mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPVtdLG49W107Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDsrK28pe2NvbnN0IGE9aVtvXTthPHR8fGE+c3x8KHIucHVzaChlW29dKSxuLnB1c2goYSkpfXJldHVybltyLG5dfShlLG8sYSxuKSxbaCxkXT10aGlzLl9sYWJlbEFuZFF0eVZpc2liaWxpdHkobC5sZW5ndGgpLF89aHx8ZCxwPXRoaXMuX3RleHRIZWlnaHQoaCxkKSx5PSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKSksbT1zLmlzSW52ZXJ0ZWQoKSx2PXt1cHBlcjpuZXcgTWFwLGxvd2VyOm5ldyBNYXB9O2ZvcihsZXQgZT0wO2U8bC5sZW5ndGg7ZSsrKXtjb25zdCBpPWxbZV0scj14KGksbSksbj11W2VdLG89dC5pbmRleFRvQ29vcmRpbmF0ZShuKSxhPUEoaSxuLHRoaXMuX3Nlcmllcyk7bGV0IF89cy5wcmljZVRvQ29vcmRpbmF0ZShhLHkpO2NvbnN0IGY9RChpLG0pLFM9SSh2LGYsbik7Xys9cj9TOi1TO1QodixmLG4sTChpLHRoaXMuX29yZGVyQXJyb3cpK3ApO2NvbnN0IGc9cy5wcmljZVRvQ29vcmRpbmF0ZShpLnAseSksYj1DKGkpO3RoaXMuX2l0ZW1zW2JdLnB1c2goe29yZGVyUG9pbnQ6bmV3IGMuUG9pbnQobyxfKSxwcmljZVBvaW50Om5ldyBjLlBvaW50KG8sZyksbGFiZWw6VihpLGgpLHF0eTpSKGksZCkscG9zOmYsdHlwZTpQKGkpfSl9dGhpcy5fdGV4dC52aXNpYmxlPV99X2xhYmVsQW5kUXR5VmlzaWJpbGl0eShlKXtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuYmFyU3BhY2luZygpPDEwJiZ0aGlzLl9vcmRlckFycm93LndpZHRoKmUqMj50LndpZHRoKCkpcmV0dXJuWyExLCExXTtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHJhdGVneS5jaGlsZHMoKS5vcmRlcnMuY2hpbGRzKCk7cmV0dXJuW3Muc2hvd0xhYmVscy52YWx1ZSgpLHMuc2hvd1F0eS52YWx1ZSgpXX1fdGV4dEhlaWdodChlLHQpe3JldHVybiBlfHx0P2UmJnQ/Mip0aGlzLl90ZXh0LmZvbnRTaXplK3RoaXMuX3RleHQudk1hcmdpbit0aGlzLl90ZXh0LmxpbmVTcGFjaW5nOnRoaXMuX3RleHQuZm9udFNpemUrdGhpcy5fdGV4dC52TWFyZ2luOjB9fXZhciBNPXMoMjI2OTM3KTtjb25zdCBrPVsic3RyYXRlZ3lfcHJvcHMiXTtjbGFzcyBCIGV4dGVuZHMgbC5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsYSxsLHUpe3N1cGVyKGUsdCxzLGkscixhLGwpLHRoaXMud2F0Y2hlZERhdGE9bmV3IG4uV2F0Y2hlZFZhbHVlLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9yZXBvcnRDaGFuZ2VkPW5ldyBvLkRlbGVnYXRlLHRoaXMuX2JhcnNJbmRleGVzPVtdLHRoaXMuX3NyY0JhcnNJbmRleGVzPVtdLHRoaXMuX3JlcG9ydERhdGFCdWZmZXI9bnVsbCx0aGlzLl9hY3RpdmVTdGF0ZT0hMSx1fHwodC5jaGlsZHMoKS52aXNpYmxlLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCl9KSksdGhpcy5vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2UoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KCkpKSx0aGlzLl9wcm9jZXNzQ2hhbmdlVmlzaWJpbGl0eShhKSl9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkudmlzaWJsZS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1vZGVsKCkucmVtb3ZlU3RyYXRlZ3lTb3VyY2UodGhpcywwKSxzdXBlci5kZXN0cm95KCl9cHJvcGVydGllcygpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzfWhhc1N0YXRlRm9yQWxlcnQoKXtyZXR1cm4gYS5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKX1jYW5IYXNBbGVydE9uTGluZVRvb2xzKCl7cmV0dXJuITF9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pbnB1dHMuZm9yRWFjaCgodD0+e2NvbnN0IHM9ZVt0LmlkXTtzJiZ0LmludGVybmFsSUQmJihzLmludGVybmFsSUQ9dC5pbnRlcm5hbElEKX0pKSxlfXJlcG9ydERhdGEoKXsKcmV0dXJuIHRoaXMuX3JlcG9ydERhdGF9b3JkZXJzRGF0YSgpe3JldHVybiB0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/P251bGx9YmFyc0luZGV4ZXMoKXtyZXR1cm4gdGhpcy5fYmFyc0luZGV4ZXN9Y2xlYXJEYXRhKCl7c3VwZXIuY2xlYXJEYXRhKCksdGhpcy5fcmVwb3J0RGF0YUJ1ZmZlcj1udWxsLHRoaXMuX3JlcG9ydERhdGE9bnVsbCx0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3JiZ0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3LmNsZWFySXRlbXMoKSx0aGlzLl9yZXBvcnRDaGFuZ2VkLmZpcmUoe2FjdGl2ZU9yZGVyc0NoYW5nZWQ6ITAsZmlsbGVkT3JkZXJzQ2hhbmdlZDohMCxwb3NpdGlvbkNoYW5nZWQ6ITB9KX1yZXBvcnRDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3JlcG9ydENoYW5nZWR9c3RyYXRlZ3lPcmRlcnNQYW5lVmlldygpe3JldHVybiB0aGlzLmlzU291cmNlSGlkZGVuKCk/bnVsbDp0aGlzLl9zdHJhdGVneU9yZGVyc1BhbmVWaWV3fXJlc3RvcmVEYXRhKGUpe3N1cGVyLnJlc3RvcmVEYXRhKGUpO2NvbnN0IHQ9ZTt0aGlzLm1vZGVsKCkuYWRkU3RyYXRlZ3lTb3VyY2UodGhpcywwKSx0LnJlcG9ydERhdGEmJnQuYmFyc0luZGV4ZXMmJih0aGlzLl9yZXBvcnREYXRhPXQucmVwb3J0RGF0YSx0aGlzLl9iYXJzSW5kZXhlcz10LmJhcnNJbmRleGVzLHRoaXMud2F0Y2hlZERhdGEuc2V0VmFsdWUoe21ldGhvZDoiZGF0YV91cGRhdGUiLG5vblNlcmllc0RhdGE6e2luZGV4ZXNfcmVwbGFjZTohMSxkYXRhOntyZXBvcnQ6dGhpcy5fcmVwb3J0RGF0YX19fSkpLHQuYWN0aXZlU3RhdGUmJih0aGlzLl9hY3RpdmVTdGF0ZT0hMCl9YWN0aXZlU3RhdGUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlU3RhdGV9dXBkYXRlQWxsVmlld3MoZSl7c3VwZXIudXBkYXRlQWxsVmlld3MoZSksdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldyYmdGhpcy5fc3RyYXRlZ3lPcmRlcnNQYW5lVmlldy51cGRhdGUoKX1zdGF0ZShlLHQpe2NvbnN0IHM9c3VwZXIuc3RhdGUoZSx0KTtyZXR1cm4gZSYmdGhpcy5fcmVwb3J0RGF0YSYmdGhpcy5fYmFyc0luZGV4ZXMmJihzLmRhdGF8fChzLmRhdGE9e30pLHMuZGF0YS5yZXBvcnREYXRhPXRoaXMuX3JlcG9ydERhdGEscy5kYXRhLmJhcnNJbmRleGVzPXRoaXMuX2JhcnNJbmRleGVzLHMuZGF0YS5hY3RpdmVTdGF0ZT10aGlzLm1vZGVsKCkuYWN0aXZlU3RyYXRlZ3lTb3VyY2UoKS52YWx1ZSgpPT09dGhpcyksc31waW5lU291cmNlQ29kZU1vZGVsKCl7cmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgTS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw0ODMzNjApKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTdHJhdGVneVNvdXJjZUNvZGVNb2RlbCh0aGlzKSkpLChlPT57ZT8uZGVzdHJveSgpfSkpKSx0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsLnByb21pc2UoKSk6UHJvbWlzZS5yZXNvbHZlKG51bGwpfV9vbkRhdGEoZSl7ZS5tZXRob2QmJiJkYXRhX3VwZGF0ZSIhPT1lLm1ldGhvZCYmdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOmUubWV0aG9kfSksc3VwZXIuX29uRGF0YShlKX1fb25EYXRhVXBkYXRlZChlLHQscyxuKXtsZXQgbz10JiYhdC5pbmRleGVzX3JlcGxhY2UmJnQuZGF0YSYmdC5kYXRhLnJlcG9ydDtpZihvKXtjb25zdCBlPSEoMCxpLmRlZmF1bHQpKG8uYWN0aXZlT3JkZXJzLHRoaXMuX3JlcG9ydERhdGE/LmFjdGl2ZU9yZGVycykscz0hKDAsaS5kZWZhdWx0KShvLmZpbGxlZE9yZGVycyx0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnMpLG49ISgwLGkuZGVmYXVsdCkoby5wb3NpdGlvbix0aGlzLl9yZXBvcnREYXRhPy5wb3NpdGlvbik7dCYmIXQuaW5kZXhlc19yZXBsYWNlJiZ0LmlzVXBkYXRlJiZ0aGlzLl9yZXBvcnREYXRhQnVmZmVyJiYobz17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSksdGhpcy5fcmVwb3J0RGF0YT17Li4udGhpcy5fcmVwb3J0RGF0YUJ1ZmZlciwuLi5vfSx0aGlzLl9yZXBvcnREYXRhQnVmZmVyPXRoaXMuX3JlcG9ydERhdGEsdGhpcy53YXRjaGVkRGF0YS5zZXRWYWx1ZSh7bWV0aG9kOiJkYXRhX3VwZGF0ZSIsbm9uU2VyaWVzRGF0YTooMCxyLmVuc3VyZU5vdE51bGwpKHQpfSksdGhpcy5fcmVwb3J0Q2hhbmdlZC5maXJlKHthY3RpdmVPcmRlcnNDaGFuZ2VkOmUsZmlsbGVkT3JkZXJzQ2hhbmdlZDpzLHBvc2l0aW9uQ2hhbmdlZDpufSl9ZWxzZSB0aGlzLndhdGNoZWREYXRhLnNldFZhbHVlKHttZXRob2Q6ImRhdGFfdXBkYXRlIixub25TZXJpZXNEYXRhOntpbmRleGVzX3JlcGxhY2U6ITEsZGF0YTp7cmVwb3J0OnRoaXMuX3JlcG9ydERhdGFCdWZmZXJ9fX0pO2NvbnN0IGE9ISghdHx8IXQuaW5kZXhlc19yZXBsYWNlKTsoIm5vY2hhbmdlIiE9PXMmJnMubGVuZ3RoPjB8fCh0aGlzLl9yZXBvcnREYXRhPy5maWxsZWRPcmRlcnM/Lmxlbmd0aD8/MCkhPT10aGlzLl9iYXJzSW5kZXhlcy5sZW5ndGgpJiYob3x8YSkmJnRoaXMuX2NvbGxhdGVCYXJzSW5kZXhlcyhBcnJheS5pc0FycmF5KHMpP3M6dGhpcy5fc3JjQmFyc0luZGV4ZXMpLHN1cGVyLl9vbkRhdGFVcGRhdGVkKGUsdCxzLG4pfV9jcmVhdGVWaWV3cygpe3N1cGVyLl9jcmVhdGVWaWV3cygpLHRoaXMuX3N0cmF0ZWd5T3JkZXJzUGFuZVZpZXc9bmV3IEUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwpfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHtzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6ayxub0V4Y2hhbmdlczp0LGRpc3BsYXlNYXNrOmV9KX1fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpe3JldHVybiJzdHJhdGVneSJ9X2NvbGxhdGVCYXJzSW5kZXhlcyhlKXt0aGlzLl9zcmNCYXJzSW5kZXhlcz1lCjtjb25zdCB0PXRoaXMuX3JlcG9ydERhdGE/LmZpbGxlZE9yZGVycztpZih0JiZ0Lmxlbmd0aCl7dGhpcy5fYmFyc0luZGV4ZXMubGVuZ3RoPTA7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspdGhpcy5fYmFyc0luZGV4ZXNbc109ZVt0W3NdLnRtXX19X3Byb2Nlc3NDaGFuZ2VWaXNpYmlsaXR5KGUpe2NvbnN0IHQ9ITA9PT1lPzI6MDt0aGlzLmlzU291cmNlSGlkZGVuKCk/dGhpcy5tb2RlbCgpLnJlbW92ZVN0cmF0ZWd5U291cmNlKHRoaXMsdCk6dGhpcy5tb2RlbCgpLmFkZFN0cmF0ZWd5U291cmNlKHRoaXMsdCl9fX0sOTYwOTYyKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfXMuZCh0LHtoYXNOdW1iZXI6KCk9Pml9KX0sMjQxNTMyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03LjYzNSAzLjEzNUE3IDcgMCAwIDEgMTYgMTAuMDAxaC0xYTYuMDAzIDYuMDAzIDAgMCAwLTcuMTctNS44ODVBNiA2IDAgMCAwIDkgMTZ2MUE3LjAwMSA3LjAwMSAwIDAgMSA0LjA1IDUuMDVhNyA3IDAgMCAxIDMuNTg1LTEuOTE2TTE0IDE0LjAwMWgydjFoLTJ2MmgtMXYtMmgtMnYtMWgydi0yaDF6bS00LTNIN3YtMWgyVjdoMXpNNC44MzYgMS42OTdsLTMuNjIgMy43MTZMLjUgNC43MTYgNC4xMiAxem0xMi42NjEgMy4wMTgtLjcxNy42OTgtMy42MTktMy43MTYuNzE3LS42OTh6Ii8+PC9zdmc+J30sMTg2OTgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDVhNS41IDUuNSAwIDEgMSAwIDExQTUuNSA1LjUgMCAwIDEgOSA1bS0uNSA1SDZ2MS41aDRWN0g4LjV6TTYuMDAyIDMuMDYzIDIuMDYgNi45OTUgMSA1LjkzMyA0Ljk0MyAyem0xMSAyLjg3LTEuMDYgMS4wNjJMMTIgMy4wNjMgMTMuMDU5IDJ6Ii8+PC9zdmc+J30sNDM1MjczKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMi41NyA1LjVoLS4wN2EzLjUgMy41IDAgMSAwIC4wNyA3QTQuOTggNC45OCAwIDAgMSA0IDlhNSA1IDAgMCAxIDguNTctMy41eiIvPjwvc3ZnPid9LDU1MTQzMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTIuMjIgMTEuNzhBMy40NyAzLjQ3IDAgMCAwIDkgNi45OGEzLjQ4IDMuNDggMCAwIDAtMy4yMiA0LjggNi45NyA2Ljk3IDAgMCAxIDYuNDQgMHpNNC4xOCA5LjgzTDIuMSA5LjI4bC4zMy0xLjI0IDIuMDcuNTUtLjMzIDEuMjR6TTYuMzggNi4zNmwtLjktMS45NCAxLjE2LS41NC45IDEuOTQtMS4xNi41NHpNMTAuNDYgNS44MmwuOS0xLjk0IDEuMTYuNTQtLjkgMS45NC0xLjE2LS41NHpNMTMuNDkgOC42bDIuMDctLjU2LjMzIDEuMjQtMi4wNy41NS0uMzMtMS4yNHoiLz48L3N2Zz4nfSwyNDEyMjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTI0LjUgMTRBMTAuNSAxMC41IDAgMSAwIDE0IDI0LjVWMjZhMTIgMTIgMCAxIDEgMC0yNCAxMiAxMiAwIDAgMSAwIDI0di0xLjVjNS44IDAgMTAuNS00LjcgMTAuNS0xMC41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTcuMyAxNEE0LjMgNC4zIDAgMCAwIDEzIDkuN2gtMS4zdjguNkgxM1YyMGgtM1Y4aDNhNiA2IDAgMCAxIC4zIDEySDEzdi0xLjdhNC4zIDQuMyAwIDAgMCA0LjMtNC4zIi8+PC9zdmc+J30sMzUzMjA2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAzYTIgMiAwIDAgMSAyIDJ2MThhMiAyIDAgMCAxLTEuOCAxLjk5TDIzIDI1SDVsLS4yLS4wMUEyIDIgMCAwIDEgMyAyMy4yTDMgMjN2LTYuMDhjLjQ5LjA1Ljk4LjMyIDEuNS41OFYyM2MwIC4yOC4yMi41LjUuNWgxOGEuNS41IDAgMCAwIC41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXY1LjVBNCA0IDAgMCAwIDMgMTBWNWMwLTEuMS45LTIgMi0yeiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuMSAxNi45NmMtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NVYxNS4xYTIuNCAyLjQgMCAwIDEgMS45LS44NWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOXExLjIyLS4wMiAxLjg1LS44NXYxLjYyYy0uNC40Ny0xLjA0Ljg0LTEuOS44NE02LjEgMTMuN2MtMS4xOSAwLTIuMjQtMS4wOC0zLjI1LTEuMDhxLTEuMjMuMDItMS44NS44NHYtMS42MUEyLjQgMi40IDAgMCAxIDIuOSAxMWMxLjE5IDAgMi4yNCAxLjA5IDMuMjUgMS4wOS44MSAwIDEuNDQtLjMyIDEuODUtLjg1djEuNjFjLS40LjQ4LTEuMDQuODUtMS45Ljg1TTExIDIwVjloNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjIweiIvPjwvc3ZnPid9LDUzNjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjMuNVYyNUg1di0xLjV6bS41LS41VjVhLjUuNSAwIDAgMC0uNS0uNUg1YS41LjUgMCAwIDAtLjUuNXYxOGMwIC4yOC4yMi41LjUuNVYyNWwtLjItLjAxQTIgMiAwIDAgMSAzIDIzLjJMMyAyM1Y1YzAtMS4xLjktMiAyLTJoMThhMiAyIDAgMCAxIDIgMnYxOGEyIDIgMCAwIDEtMS44IDEuOTlMMjMgMjV2LTEuNWEuNS41IDAgMCAwIC41LS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgMjBWOWg2LjV2MS43aC00Ljh2Mi45NWgzLjh2MS43aC0zLjh2Mi45NWg0LjhWMjB6Ii8+PC9zdmc+J30sNTUyMDg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDMuNVYyaDE4djEuNXptLS41LjV2MTQuMjNxLjAxLjI3LjIzLjQybDkgNS43N2MuMTYuMS4zNy4xLjU0IDBsOS01Ljc3YS41LjUgMCAwIDAgLjIzLS40MlY0YS41LjUgMCAwIDAtLjUtLjVWMmwuMi4wMWEyIDIgMCAwIDEgMS44IDJ2MTQuMjJhMiAyIDAgMCAxLS44MiAxLjYxbC0uMS4wNy05IDUuNzdhMiAyIDAgMCAxLTIuMTYgMGwtOS01Ljc3QTIgMiAwIDAgMSAzIDE4LjIzVjRhMiAyIDAgMCAxIDEuOC0xLjk5SDV2MS41YS41LjUgMCAwIDAtLjUuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDE4VjdoNi41djEuN2gtNC44djIuOTVoMy44djEuN2gtMy44djIuOTVoNC44VjE4eiIvPjwvc3ZnPid9LDMwNzcwOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjMgMjQuNVYyNkg1di0xLjV6bS41LS41VjkuNzhhLjUuNSAwIDAgMC0uMjMtLjQzbC05LTUuNzdhLjUuNSAwIDAgMC0uNTQgMGwtOSA1Ljc3YS41LjUgMCAwIDAtLjIzLjQzVjI0YzAgLjI4LjIyLjUuNS41VjI2bC0uMi0uMDFBMiAyIDAgMCAxIDMgMjRWOS43OGEyIDIgMCAwIDEgLjgyLTEuNjJsLjEtLjA3IDktNS43N2EyIDIgMCAwIDEgMi4xNiAwbDkgNS43N0EyIDIgMCAwIDEgMjUgOS43N1YyNGEyIDIgMCAwIDEtMiAydi0xLjVhLjUuNSAwIDAgMCAuNS0uNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIxVjEwaDYuNXYxLjdoLTQuOHYyLjk1aDMuOHYxLjdoLTMuOHYyLjk1aDQuOFYyMXoiLz48L3N2Zz4nfSw3NTI3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjQuNSAxNEExMC41IDEwLjUgMCAxIDAgMTQgMjQuNVYyNmExMiAxMiAwIDEgMSAwLTI0IDEyIDEyIDAgMCAxIDAgMjR2LTEuNWM1LjggMCAxMC41LTQuNyAxMC41LTEwLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMS4xIDE0LjAzIDE3LjA1IDEwIDE2IDExLjA2bDIuMjIgMi4yMmgtNS4zOEw4LjU2IDkgNy41IDEwLjA2bDQuNzIgNC43Mmg2TDE2IDE3bDEuMDYgMS4wNnpNMTAgMTVsLTMgMyAxLjA2IDEuMDYgMy0zeiIvPjwvc3ZnPid9LDY5MTk4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNC41IDE0QTEwLjUgMTAuNSAwIDEgMCAxNCAyNC41VjI2YTEyIDEyIDAgMSAxIDAtMjQgMTIgMTIgMCAwIDEgMCAyNHYtMS41YzUuOCAwIDEwLjUtNC43IDEwLjUtMTAuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjk5IDhxMS4xNCAwIDEuOTcuNDNBMy4zIDMuMyAwIDAgMSAxNy43OCAxMUgxNnEtLjEtLjMtLjI5LS41NWEyIDIgMCAwIDAtLjctLjU0IDMgMyAwIDAgMC0xLjAzLS4ycS0uNTcgMC0xIC4yLS40NS4xOS0uNy41NGExLjQgMS40IDAgMCAwLS4yNS44NHEwIC40LjE4LjcyLjIuMy41OC41My40LjIyIDEuMDQuMzdsMS4xLjI2cTEuMDkuMjYgMS43Ni42OC42Ny40MSAxIDEuMDQuMy42MS4zMSAxLjQ5IDAgMS4xMy0uNDkgMS45Mi0uNDguODEtMS4zOSAxLjI2VDE0IDIwcS0xLjIgMC0yLjA4LS40MUEzLjI4IDMuMjggMCAwIDEgMTAgMTdoMS44cS4wOS4zLjMuNTMuMy4zNi44LjU2YTMuMSAzLjEgMCAwIDAgMi4yNS0uMDFxLjQ4LS4yMi43NS0uNi4yNy0uMzYuMjctLjg2di0uMDFxMC0uNjItLjQ0LTFhMyAzIDAgMCAwLTEuNDMtLjY0bC0xLjEtLjI1cS0xLjA1LS4yNS0xLjcxLS43dC0uOTgtMS4xcS0uMzItLjY1LS4zMi0xLjQ5IDAtMS4wNC40OS0xLjguNDgtLjc2IDEuMzQtMS4yQTQgNCAwIDAgMSAxNCA4Ii8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-sheriff.tradingview-widget.com/sheriff/api/v1/rules/search?origin=https%3A%2F%2Fheavenwealth.org","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.687Z","timestamp":1785136429687,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /sheriff/api/v1/rules/search?origin=https%3A%2F%2Fheavenwealth.org HTTP/1.1\r\nHost: widget-sheriff.tradingview-widget.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://www.tradingview-widget.com/\r\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/657.29ddd4f04e6ec50da70b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.814Z","timestamp":1785136429814,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/657.29ddd4f04e6ec50da70b.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 60\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b75-3c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1c9c79a5e162c3e22689b1cde5c12d3c\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s2.coinmarketcap.com/static/img/coins/64x64/1437.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.650Z","timestamp":1785136428650,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1437.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2424\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 05:05:34 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:41 GMT\r\netag: \"2f7f439543524c24f6631dc79fff2534\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 7695\r\nx-amz-cf-id: Mx-LUXShJVcoLC2G3jm3OunEemG1NdtPuHP9t3PDKz0q5t4cC4avQA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2424,"size_decoded":2932,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"2f7f439543524c24f6631dc79fff2534","sha1":"fe636b1346a355d4d2a860eab78ed63151a1d105","sha256":"047acc3f1c7ca410bb750b6c23980bc8f9d827c50ff7903d6fbfe2a8828cdccb","sha512":"39928410f8a01eb59e165fdffebe13aa0f451ad6a5e4058e4e93782470b1a34b95badd6e1ec467f9cf6bb4d4138e086b9b80569b0c7ce6d528b6c068eb434996","ssdeep":"","tlshash":"8b410af2968c157ee44825b969f2fd33f9f2a5e444c4e4431b4bc19a228d10d3e3e86c","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-11T04:47:30.014702Z","times_seen":1662,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/AAD/vz9/dgDrsUTrskPrsUP//wD6qlHrsUTrskTrskPssUTqsUPqsUT//0frsUS/vz/ts0T/f1vsskTrskPus0TssUPqsET////tskTwtkTytkXrskPxtkXlrUTor0P0uEbsskTwtEXqsUPMmTPvtEbqsETrskTus0TssUPrsUPvtEUAAAD//1XytkXvtETus0XxtkXsskLutEW/fz/rsUTssUPtskTtskTrskPsskTstETsskTxtkXorkLsskTss0Pus0TrsETpsUPpsEPrskPss0PytkXytkXpr0LrsEPrskPlrT/qsUTmtkjzuUXwtUXrsETvtETts0TwtETxtkX0tD/ss0Tssj/wtUTxtkXrskPrsUPss0PrskPssEPtskTtsUPts0PrsUPwtkbpr0LytkXxtUXus0XxtkTxtkXtskPrsUPrsUTtskXsskT////ss0fsskX//v3///7//vzss0brrTnyyXzrrTj9v0n1uUfrrTfsskPssUD2ukftuFP4u0j/wEnssUHts0TssULvtEXrrz3ssD/00pHwtUXtt1DxtUXrrDb9+fD+v0nzt0b7vUj8v0n22qXrrjv8vknss0XssUP//fv//frstEn+wEn9+O7ttUzvv2P9+e////3++vLrrjnqqjDrrz7rsD7rsEDxxG/rrzvyyn/1uEb1uUb2uUfus0X4u0futEX7vkn8vkjts0fstEj//v7//vvvvmD++vHuuVTttEr99+301JfvvV711ZrssEDvwGbrrjr++/byyXv4vEj88+LrrTb22aL34LT99efvwGfvwWjuvFvtuFL78Nvz0Y767NL77tb00pP669D9vkn00ZDzzILzzIPww23uuFPyt0bxxnX01Jb55sP88d/5vEj++/XxyHr44rjstEf8v0j22qb23Kr00I734LL01ZntskTz0Izxx3jzzYfwwmruulf115zzzof558X45b/89OTqqC3ttk333q7+/Pf66svqqCz44rrwwWn+/fr99unxxHHFBZVYAAAAcHRSTlMAAQQC+/39AQP+/vz3/P4C+gTtAv0ojur7Afr89Gv+GRb+d3fYBUE/ul34kG0BA/WnrecqjwSO6tX31s4pqMIu+2KN+5Bhx6m//WBixCyH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"}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33735.2cb844ad2b0f3c892162.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.726Z","timestamp":1785136427726,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/33735.2cb844ad2b0f3c892162.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a3e1907-eb6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 26 Jun 2026 06:15:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/26/2026 11:13:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6093893442d3d1d9253d6849ca984756\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3766,"size_decoded":1923,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3766), with no line terminators","md5":"c9433cd2c494e00bc1f5eeb71eecd363","sha1":"da37ba6947ef271416292a4bec7fd80696864e22","sha256":"83f03dfc765b467ce1c567e7c09720d3c654d84ee9ac41c94804ee40cd808af1","sha512":"b29c41b6ced30e594e30b98862f24c8824d4187d5bda612574fadeeb13c4f440d1f30c411d3803c9cd32479fbfabde86b44bc5257aa1f4144bacfc414d897a15","ssdeep":"","tlshash":"9e71001176a6973cfb279620c2a27daeb38ca9207b4f0ef99d0751740ace3d67071489","first_seen":"2026-06-26T14:56:44.439294Z","last_seen":"2026-08-05T06:08:55.529524Z","times_seen":860,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/37867.ec731ad102db6762e40c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.429Z","timestamp":1785136428429,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/37867.ec731ad102db6762e40c.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b78-134\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 73e75e17b551ed6de0506e94a13ac038\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":308,"size_decoded":973,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (308), with no line terminators","md5":"935c55cc3e17810075bcce4ab81c1124","sha1":"af63671b9b4c5e480ce1ed8cf80fb5e6cd9a4901","sha256":"0660e1a2eac6aab1096c15e3927919c9f443ff7189df135f235a3aac5b88cd5a","sha512":"5fca3255a37ff2053cf3aac0373f856dd54b280aeeefee9e8f904f1c75266a63414feaa87a1bb692566c171879527baa045548e01ed46b623edd70d9cd15522d","ssdeep":"","tlshash":"01e026bc52740320ac308738b9ce8ccd3e05f22186c30e8ca942d602846d8c08860895","first_seen":"2025-07-09T23:41:09.652491Z","last_seen":"2026-08-11T04:47:30.169312Z","times_seen":1849,"resource_available":false,"data":"LnR2LWZsYWctY291bnRyeXtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjIwcHh9LnR2LWZsYWctY291bnRyeS0tc2l6ZV9ibG9jay10aXRsZXtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS50di1mbGFnLWNvdW50cnktLWZvcmV4e2NvbG9yOnZhcigtLWNvbG9yLWZvcmV4LWljb24pfS50di1mbGFnLWNvdW50cnktLWJ0YywudHYtZmxhZy1jb3VudHJ5LS1mb3JleHtib3JkZXItcmFkaXVzOjA7b3ZlcmZsb3c6dmlzaWJsZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/2010.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.656Z","timestamp":1785136428656,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/2010.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 854\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 30 Jul 2025 12:26:03 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 08:28:14 GMT\r\ncache-control: public, max-age=86400\r\netag: \"8a5e9b87a7c053bb9d65cd8bcbc4b171\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81935\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 0C99MBvW6fh31vdQ6Rm7lGwokbLIMxxM2bPCaW5Lu_P6tuEqK7Rq6w==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":854,"size_decoded":1425,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8a5e9b87a7c053bb9d65cd8bcbc4b171","sha1":"2168aa11330c0401cfc5e0974b7ca94093c9d48b","sha256":"0b1d6af59fc52f5e8f88909ae09fdd4ee303dbcd00004c210b8e375759893cb4","sha512":"47a77cb24f98b7862798354660849992762cf9b9df17cdd872793f36467addba4fa78b7751c167297120010aa62e36fcf2b27c5d46f1fdc2270ae62665872e86","ssdeep":"","tlshash":"af011a7a5f05106ffe733a7083576661d745826711081e4880b3907c36b9c405d4bd03","first_seen":"2025-08-01T01:41:04.546261Z","last_seen":"2026-08-11T04:47:30.077069Z","times_seen":1753,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADHUlEQVR4Xu2au47UMBSGR0sNFYiKnmsxcVZbUCJeAIl3AEEBWgkoFrEl1CCBRAEF1WBHM6IHITqKpYDH2G4RSNzHCTOxf1/GnjiJo/Unncbn98l/7Ewmk8lolEgkEn1B2N8yDiWL5qsoMD0cCPuy1k6KC5DTm5i2spxbXMNU94iN+ELo13m8w+GVNDlmIpFItEobF6g2arZCeVUXzGbFGZRIuDSVsZlUkxR3URIPF2dHnXdLaspDGz2E/SyNuu6+S2Ob9FxVkz3G1HDxWYBeGU9OtGKQFC+XzefFZUw3YuvVsf9n4Q1M+TOIXQKCeg5arCPCet7daFxINFTFH5RoNA2PSZ/iUHsQtj3amp3E4RJsahn0+2qNYREy9mg+/xMO94PNcMY+KnmdFsfleC5UVLW9cnVyxGoIcxi+Op22d2yGMIfhq9Npe0c29APTimGdeRzXaWrtvjUfHdiQyTjmTbpBkrFbTk1JzdPTmB4G/OtN3sX7KHEmZ++HdUbwGxw0XMVvlK5ErdHjIoxfX3I6OBptYhrnu9aqdR8wZcdW3MVAxh4oOjFydgenGCFsR5kvBr8T1IE6hEwvGHO10eI8plYW5pS3p6CTYwenGOGLpc4XQ39dQZ0OW84IP51cJqKBVWZs4HzXWgsN/9h2Dhp1Na2DsF9KjSrUX5JRoRp+ixJn1GvBN5QMA/6A1OVsEDV5cRvTw0Q9I/SLgHmTLjpkw/uYVhrSNYfjOk2trR67m/KdYzOMOQxfnU7bOzZDmMPw1em0/KFMr6AhOfdCyeu0OC4Gf6wmgvkoIGxvHg9xuAQN68wThr8gVY0IfwDLH8R2Rsae4ZAX2JSuMd0vySaU83c3cNifUIa6JKjnoMU6Iqhn/gcjL8T/+w8JYfXLFG1cycvab47jcDyIuxRkp2Ihp0/KhvhLDSb4/3Y+C7B4QYLfBUaPa1M+CyDqQn8Ug0LoPbkxOkWJhEvz48lZWKwDlMSF66760EbNRCKRCEKTC1Q1T34DxIUmxwwOodfXMiM2sTk9hWkr9dzPmBoO4gJkxRVMHw7WOXMSiUQiIP8AkShaO1yVGykAAAAASUVORK5CYII="}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.285Z","timestamp":1785136429285,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/55011.f9c0a3c09f7b8779aa37.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-1f54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4394db619ccf442bea6b829e53f758eb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":8020,"size_decoded":1910,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (8020), with no line terminators","md5":"f0f2a6df78408bf96f6481a8d4c0f601","sha1":"c631397e79937484494158e38839d6e7e61fc647","sha256":"16ea95403cf2493fe63636ef9bccca8bc96aad6127f3d089ae7374caad43768f","sha512":"a5b165d61175f74d80f88c391c3c65e8bd9a1c6ea9d95bc184c93b61cda87117860c156c65aefd877fdb93c465bb755928d2f7872aa5ba05a1f9af74abcfe58d","ssdeep":"96:14pXCl+y3XsOna+yTRehcZOdBXysBKeYyeY+xRkkxRkfyVa+yTRehcv99BDB1PAq:K6aZV5OdB1BMTkkTkfsaZVP99BDB1PAq","tlshash":"8ef14c8df1e2957a170b312d4281c254572ba8c0ea56e7e97c7e72c840cebd502be92f","first_seen":"2026-06-30T21:57:43.329237Z","last_seen":"2026-07-28T06:17:53.535764Z","times_seen":263,"resource_available":false,"data":"LmJ1dHRvbi1IZEtoY1R5ZXthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDYwbXMgZWFzZSxvcGFjaXR5IDYwbXMgZWFzZSxjb2xvciA2MG1zIGVhc2U7LS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXM6NnB4Oy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0KSl9LmJ1dHRvbi1IZEtoY1R5ZS5wcmVzc2VkLUhkS2hjVHlley0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yOnZhcigtLXR2LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpOy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX0uYnV0dG9uLUhkS2hjVHllLmhvdmVyLUhkS2hjVHllLC5idXR0b24tSGRLaGNUeWU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfX0uYnV0dG9uLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpKX0uYnV0dG9uLUhkS2hjVHllIHN2Z3tkaXNwbGF5OmJsb2NrOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHlle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzLDJweCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWJvdHRvbSx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tcmlnaHQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWxlZnQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXRvcCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTt6LWluZGV4Oi0xfS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn19LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpKTtjb250ZW50OiIifS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5hY2Nlc3NpYmxlLUhkS2hjVHllOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7LS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLXR2LXRvb2wtd2lkZ2V0LWJ1dHRvbi1pbnRlcmFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmFjdGl2ZXtjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTpob3Zlcntjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9fS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNPcGVuZWQtSGRLaGNUeWUuY2xpY2tlZC1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSkpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWV7b3BhY2l0eTouNX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1jb2xvcil9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItYm9yZGVyLXJhZGl1cywycHgpO2JvdHRvbTp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1ib3R0b20sdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXJpZ2h0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1sZWZ0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO291dGxpbmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIG5vbmUgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi10b3AsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ei1pbmRleDotMX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpO2NvbnRlbnQ6IiJ9fS5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZS5jbGlja2VkLUhkS2hjVHllOmJlZm9yZSwuYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuYWNjZXNzaWJsZS1IZEtoY1R5ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO2NvbnRlbnQ6IiJ9LmVuZEljb24tSGRLaGNUeWUsLmljb24tSGRLaGNUeWUrLnRleHQtSGRLaGNUeWUsLnRleHQtSGRLaGNUeWUrLmljb24tSGRLaGNUeWV7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LmVuZEljb24tSGRLaGNUeWV7ZGlzcGxheTpmbGV4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.153.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:49.582Z","timestamp":1785136429582,"http_version":"HTTP/3","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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/-kKZYXbYL1zKddVWiRpKQAs-FFrmXi_6UkcmhFlYLos.js HTTP/1.1\r\nHost: www.google.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://www.youtube.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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23710\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 22:03:26 GMT\r\nexpires: Thu, 22 Jul 2027 22:03:26 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 378623\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62145,"size_decoded":24521,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (60918)","md5":"175c5223286c359a85dc124e70b631cc","sha1":"9783da70cc4ec9e1ee0345dcbad47674d41c5ed7","sha256":"fa42996176d82f5cca75d556891a4a400b3e145ae65e2ffa5247268459582e8b","sha512":"cfa0f26623d1cb13939c7b675013156701c25016a2eb9c8fe728cb97c652643368bb57914488e6f2ad40d97606a7cb39396905dad46897148f68f353b80b2d82","ssdeep":"768:jcaBTPMErdYHnCuKN9dPS5oPX3zp76JSAZg+hCU7aeTEPecnjfJG9CwaebQHr6na:jcainjK1pHh6i+9aeQmKSLQLOEEK","tlshash":"cc532aeff2d273710de665e2045b820d92be75525c40189eba05e7f86eb0c47e02bf29","first_seen":"2026-07-22T04:26:21.664288Z","last_seen":"2026-07-28T07:04:56.300909Z","times_seen":362,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgYz1mdW5jdGlvbihmLEwsWSxGLFMseSxyLEcsSSxwKXtmb3IoST05NjtJIT04NzspaWYoST09MzcpST1ZPDwxJjM/NTQ6ZjtlbHNlIGlmKEk9PWYpcD1GLEk9NTQ7ZWxzZXtpZihJPT1MKXJldHVybiBwO2lmKEk9PTU0KUk9KFkmNTMpPT1ZPzI2Okw7ZWxzZSBpZihJPT05NilJPTM3O2Vsc2UgaWYoST09MjYpe2E6e2lmKHI9KEc9Rix1KS50cnVzdGVkVHlwZXMsIXJ8fCFyLmNyZWF0ZVBvbGljeSl7cD1HO2JyZWFrIGF9dHJ5e0c9ci5jcmVhdGVQb2xpY3koUyx7Y3JlYXRlSFRNTDpYLGNyZWF0ZVNjcmlwdDpYLGNyZWF0ZVNjcmlwdFVSTDpYfSl9Y2F0Y2goQSl7aWYodS5jb25zb2xlKXUuY29uc29sZVt5XShBLm1lc3NhZ2UpfXA9R31JPUx9fX0sWD1mdW5jdGlvbihmKXtyZXR1cm4gYy5jYWxsKHRoaXMsMjgsNzksNixmKX0sdT10aGlzfHxzZWxmOygwLGV2YWwpKGZ1bmN0aW9uKGYsTCl7cmV0dXJuKEw9YygyOCw3OSw1LG51bGwsImFkIiwiZXJyb3IiKSkmJmYuZXZhbChMLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE/ZnVuY3Rpb24oWSl7cmV0dXJuIEwuY3JlYXRlU2NyaXB0KFkpfTpmdW5jdGlvbihZKXtyZXR1cm4iIitZfX0odSkoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciByUD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKHk9OTY7eSE9STspaWYoeT09OTcpcD1YP3R5cGVvZiBYLmVvPT09ImZ1bmN0aW9uIj9YLmVvKCk6bmV3IFg6bnVsbCx5PTQwO2Vsc2UgaWYoeT09NDApdGhpcy5HPXAseT03OTtlbHNlIGlmKHk9PTc5KXk9TCs5Pj4xPEwmJihMKzdeMjUpPj1MPzkwOjI4O2Vsc2UgaWYoeT09MjYpdGhpcy5VPVkseT01NDtlbHNlIGlmKHk9PTcyKXk9KFg9SWFbdV0pPzkzOjQ5O2Vsc2UgaWYoeT09NjgpeT0xMjtlbHNlIGlmKHk9PTM1KUxFLmNhbGwodGhpcyxyKSx5PTE0O2Vsc2UgaWYoeT09NDkpUz0oYz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoUy5wcm90b3R5cGUpKSYmYy5jb25zdHJ1Y3Rvcix5PTU7ZWxzZSBpZih5PT0zNyl5PShMXjUxKT4+ND49MyYmTC00PDIxPzI2OjU0O2Vsc2V7aWYoeT09MjgpcmV0dXJuIEY7eT09NT95PTEyOnk9PTQyPyh1PWlCKDMsUykseT03Mik6eT09MTI/eT1TPzQyOjk3Onk9PTkwPyh0aGlzLnR5cGU9WSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Zix0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5GbT1mYWxzZSx5PTI4KTp5PT05Mz95PTk3Onk9PTYwPyhTPXRoaXMuY29uc3RydWN0b3IseT02OCk6eT09NTQ/eT0oTHw4KT09TD8zNTo3OTp5PT05Nj95PTM3Onk9PTE0JiYoeT0ocD1mKT80MDo2MCl9fSxxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpeygoSXw1KT4+Mz49MCYmSTw8MTwxNiYmKGY9JEsoWSksZiYxMjgmJihmPS0yKn4oZiZMKS0xK34oZnxMKSsoZl5MKXwkSyhZKTw8NyksdT1mKSxJKzU+PTIwKSYmKEleMTcpPDM4JiYoZj1wRVtMLkJdKEwuR3gpLGZbTC5CXT1mdW5jdGlvbigpe3JldHVybiBZfSxmLmNvbmNhdD1mdW5jdGlvbihYKXtZPVh9LHU9Zik7d2hpbGUoSS00PDMxJiYoKEl8NykmMTUpPj0xMil7Zm9yKHA9KHI9TihZLDIxKSwwKTtmPjA7Zi0tKXA9cDw8THwkSyhZKTtpZihKKFkscixwKSx7fSlicmVha31pZigoSXwyNCk9PUkpaWYocj1qMCgiYXJyYXkiLGYsIm51bWJlciIpPT09ImFycmF5Ij9mOltmXSx0aGlzLlcpTCh0aGlzLlcpO2Vsc2UgdHJ5e3A9IXRoaXMuVC5sZW5ndGgmJiF0aGlzLk4sZShbdUIsW10scixMLFldLDkyLHRoaXMpLFkmJiFwfHxYZih0cnVlLDMsMCx0aGlzLFksdHJ1ZSl9Y2F0Y2goWCl7Syg2NCx0aGlzLFgsMCksTCh0aGlzLlcpfXJldHVybiB1fSxOPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKGZhbHNlOyEoTDw8MiY3KTshIVtdKXthOntpZihJLk8pe3I9VGwoSS5aLEkpO2JyZWFrIGF9cj0oKGY9a0sodHJ1ZSxJLDgpLChmfDEyOCktfihmJjEyOCkrfihmfDEyOCkpJiYoZj0tMTMwLX4oZnwxMjgpLShmfC0xMjkpLFk9a0sodHJ1ZSxJLDIpLGY9KGY8PDIpKyhZfDApKSxmKX1pZigiVyIpYnJlYWt9aWYoKEwmOTMpPT1MKWE6e3doaWxlKEkuTyl7d2hpbGUodHJ1ZSlpZihyPVRsKEkuWixJKSx0cnVlKWJyZWFrO2JyZWFrIGE7aWYoW10pYnJlYWt9KChZPWtLKHRydWUsSSw4KSxZKXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxyPVl9cmV0dXJuIHJ9LFQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeygoTHwxKSYxNCk9PTImJihGPShYPShyPShjPWZbWV08PDI0LHA9ZlstMi1+WS0gLTJdPDwxNiwoY3xJKSsocHxJKS0oYyZwKSksdT1mWzIqKFl8MiktMip+KFkmMikrflkrLTNdPDw4LCh1fEkpK34ociZ1KS1+ciksUz1mWzIqKFl8MyktfihZJjMpK34oWXwzKV0sKFN8SSkrfihYJlMpLX5YKSk7Zm9yKFtdIT0oZmFsc2UhPW51bGwpOyEoKExeMTgpPj40KTt0cnVlLnRydWUpe2E6e2lmKEkuTyl7Rj1UbChJLlosSSk7YnJlYWsgYX0oWT1rSyh0cnVlLEksOCksWXwxMjgpLX4oWSYxMjgpK34oWXwxMjgpJiYoWT0tMTMwLX4oWXwxMjgpLShZfC0xMjkpLGY9a0sodHJ1ZSxJLDIpLFk9KFk8PDIpKyhmfDApKSxGPVl9aWYodHJ1ZSE9W10pYnJlYWt9KCgoTCY1NCk9PUwmJihGPXk9ZnVuY3Rpb24oKXt7dmFyIEc9ODA7d2hpbGUoRyE9OClpZihHPT0wKUc9Zj09WT85ODo0ODtlbHNlIGlmKEc9PTQ0KXt2YXIgQT1YZih0cnVlLDUsKGUoRCw5NCxwKSwwKSxwLGZhbHNlLGZhbHNlKTtHPTI0fWVsc2UgaWYoRz09OTgpe3ZhciBRPSFwLlQubGVuZ3RoJiYhcC5OO0c9KChlKEQsODYscCksUSkmJlhmKHRydWUsNiwwLHAsZmFsc2UsZmFsc2UpLDI0KX1lbHNlIGlmKEc9PTgwKUc9cC5VPT1wPzI5Ojg7ZWxzZSBpZihHPT0xMil2YXIgRD1bKEc9NCxNZiksdSxyLHZvaWQgMCxYLGMsYXJndW1lbnRzXTtlbHNlIGlmKEc9PTQ4KUE9QlMoMSwyOTcscCxEKSxHPTI0O2Vsc2UgaWYoRz09MjkpRz1wLlM/MTI6NTtlbHNlIGlmKEc9PTUpWCYmYyYmWC5yZW1vdmVFdmVudExpc3RlbmVyKGMseSxIUyksRz04O2Vsc2UgaWYoRz09NClHPWY9PUk/NDQ6MDtlbHNlIGlmKEc9PTI0KXJldHVybiBBfX0pLEwpJjI5KT09TCYmKFM9VmMscj1bLTY5LDQsOTcsMjIsLTEwLDgyLHIsODgsLTczLC02Ml0sdT0ocHw3KS1+KHAmNykrLTgtKHAmLTgpLGM9cEVbWS5CXShZLnhJKSxjW1kuQl09ZnVuY3Rpb24oRyl7WD1HLHUrPTYrNypwLHUmPTd9LGMuY29uY2F0PWZ1bmN0aW9uKEcsQSxRLEQsVyxiKXtyZXR1cm4oKFg9KFE9MTgyMCpYLShEPWYlMTYrMSxJKmYpKmYqWCtyW2I9dSs2NywoYnwwKSsofmJeNyktKGJ8LTgpXSpmKkQrKFMoKXwwKSpEKzUqZipmKkQtMjA4KmYqWC1EKlgrNTIqWCpYK3Usdm9pZCAwKSxXPXJbUV0scilbQT11KzI5JjcsRz1wJjIsLTEtMip+KEF8RykrKH5BXkcpXT1XLHIpW3UrKC1+KHB8MiktKHAmLTMpKyhwfC0zKSldPTQsV30sRj1jKTt3aGlsZSh0cnVlKXtyZXR1cm4gRjtpZighIiI9PSFmYWxzZSlicmVha319LGdQPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9NzQ7d2hpbGUoRyE9NylpZihHPT0yMSlBKFMpLEc9OTU7ZWxzZSBpZihHPT02MilHPShMLTN8NzUpPEwmJihMKzleNik+PUw/NTU6NTM7ZWxzZXtpZihHPT04NylyZXR1cm4gRjtpZihHPT02OSlHPSFteigwLCJvYmplY3QiLHIsMyxmLFMpfHxTMChTLEksMzMpJiZTLm5vZGVUeXBlPlk/MjE6NTA7ZWxzZSBpZihHPT02MClHPTc4O2Vsc2UgaWYoRz09NzQpRz02MjtlbHNlIGlmKEc9PTc4KUc9eTxwLmxlbmd0aD82NDo1MztlbHNlIGlmKEc9PTYzKUc9KExeNzYpJjEzPzEyOjI3O2Vsc2UgaWYoRz09NjQpUz1wW3ldLEc9Njk7ZWxzZSBpZihHPT01NylGPVFjKEksMjAsSSksRz04NztlbHNlIGlmKEc9PTU1KUE9ZnVuY3Rpb24oUSl7USYmdS5hcHBlbmRDaGlsZCh0eXBlb2YgUT09PSJzdHJpbmciP1guY3JlYXRlVGV4dE5vZGUoUSk6USl9LHk9MSxHPTYwO2Vsc2UgaWYoRz09NjEpRz02NjtlbHNlIGlmKEc9PTk1KXkrKyxHPTc4O2Vsc2UgaWYoRz09NTMpRz0oTC04fDQyKTxMJiZMLTk8PDE+PUw/MzY6NjM7ZWxzZSBpZihHPT04OClYPXIubGVuZ3RoLHA9dHlwZW9mIHI9PT0ic3RyaW5nIj9yLnNwbGl0KFkpOnIsdT1JLEc9NjE7ZWxzZSBpZihHPT0yNyl7Zm9yKHAgaW4gcj1JLGYuSil7Zm9yKHU9KFg9Zi5KW3BdLEkpO3U8WC5sZW5ndGg7dSsrKSsrcixaKDc0LFksWFt1XSk7ZGVsZXRlIGYuSltmLmc1LS0scF19Rz0xMn1lbHNlIGlmKEc9PTY2KUc9dTxYPzkxOjE1O2Vsc2UgaWYoRz09MzYpWS5JOShmdW5jdGlvbihRKXtyPVF9LEksZiksRj1yLEc9NjM7ZWxzZSBpZihHPT05MSl1IGluIHAmJmYuY2FsbCh2b2lkIDAscFt1XSx1LHIpLEc9ODQ7ZWxzZSBpZihHPT04NCl1KyssRz02NjtlbHNlIGlmKEc9PTEyKUc9KEx8NTYpPT1MPzg4OjE1O2Vsc2UgaWYoRz09MTUpRz0oTC04XjkpPEwmJihMKzgmMjUpPj1MPzU3Ojg3O2Vsc2UgaWYoRz09NTApe2E6e2lmKFMmJnR5cGVvZiBTLmxlbmd0aD09Zil7aWYoUzAoUyxJLDM0KSl7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24ifHx0eXBlb2YgUy5pdGVtPT0ic3RyaW5nIjticmVhayBhfWlmKHR5cGVvZiBTPT09ImZ1bmN0aW9uIil7Yz10eXBlb2YgUy5pdGVtPT0iZnVuY3Rpb24iO2JyZWFrIGF9fWM9ZmFsc2V9Z1AoWSw1NiwiIixBLGM/eEsoMywxMSxTLFkpOlMpLEc9OTV9fX19LGlCPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7e3U9Nzc7d2hpbGUodSE9ODYpaWYodT09NzcpdT0xO2Vsc2UgaWYodT09MzgpcC5jbGFzc0xpc3Q/cC5jbGFzc0xpc3QucmVtb3ZlKHIpOksoMTEsWSxwLGYscikmJlJhKDQ1LDI0LGYsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFhKDQ0LGYscCksZnVuY3Rpb24oYyl7cmV0dXJuIGMhPXJ9KS5qb2luKEwpLHApLHU9MjA7ZWxzZXtpZih1PT01OClyZXR1cm4gWDt1PT03Mj91PUkrOT4+Mz09Mz83ODoyMTp1PT0yMT91PUkrNj4+ND8zMjo0MTp1PT0yMD91PShJLTZ8NDApPj1JJiYoSS02fDUyKTxJPzY5OjU4OnU9PTY5PyhMLnZxPXZvaWQgMCxMLmVvPWZ1bmN0aW9uKCl7cmV0dXJuIEwudnE/TC52cTpMLnZxPW5ldyBMfSx1PTU4KTp1PT0yMj8oWD13UCgwLDksODE5MixudWxsLGZhbHNlLEwpLHU9NzIpOnU9PTc4PyhYPUFDKDM5LDUsMixZLGYpJiZaKDMzLDAsWSxmKSE9ciYmKCEocD1mLkxpLChwfFkpLX5wK35ZLTIqKHAmflkpKXx8Zi5kaXNwYXRjaEV2ZW50KGUoNjQsMzQsMSwzMixMLHIsWSkpKSYmIWYuWSx1PTIxKTp1PT0xP3U9KChJXjM3KSYxMyk9PTE/MjI6NzI6dT09MzI/dT1JLTg+PjQ9PTQ/Mzg6MjA6dT09NDEmJihYPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChMLE5mKSYmTFtOZl18fChMW05mXT0rK3ZTKSx1PTMyKX19fSxWPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcpe3tHPTI4O3doaWxlKEchPTM4KWlmKEc9PTUpcisrLEc9NDA7ZWxzZSBpZihHPT0zOSl7YTp7aWYoKCgoZi5pKz0oYz0oUz0ocnx8Zi5aYysrLGYuT0E+MCkmJmYuTiYmZi5BbCYmZi5ocjw9MSYmIWYuTyYmIWYuSyYmKCFyfHxmLldpLXA+MSkmJmRvY3VtZW50LmhpZGRlbj09MCwoeT1mLlpjPT00KXx8Uz9mLnUoKTpmLnhhKSx1PWMtZi54YSx1Pj4xNCk+MCxmLkMpJiYoZi5DXj0oZi5pKzE+PjIpKih1PDwyKSksZikuVT1mLmkrMT4+MiE9MHx8Zi5VLHkpfHxTKWYueGE9YyxmLlpjPTA7aWYoIVMpe0Y9ZmFsc2U7YnJlYWsgYX1pZihjLShmLk9BPmYuRGMmJihmLkRjPWYuT0EpLGYpLmQ1PGYuT0EtKFk/MjU1OnI/NToyKSl7Rj1mYWxzZTticmVhayBhfUY9KChNKChYPWsoZiwoZi5XaT1wLHI/MjcyOjUwOSkpLEwpLGYsZi5QKSxmLlQpLnB1c2goW1V3LFgscj9wKzE6cCxmLm8sZi5JXSksZi5LPUNFLHRydWUpfUc9NTB9ZWxzZSBpZihHPT02MClHPTgwO2Vsc2UgaWYoRz09MjIpRz0oSSs1JjE1KT09MT80NzoyMztlbHNlIGlmKEc9PTMpRj11LEc9MjI7ZWxzZSBpZihHPT05NylHPTU0O2Vsc2V7aWYoRz09NTApcmV0dXJuIEY7Rz09NTQ/Rz1JKzYmMTU/NTA6Mzk6Rz09ODc/KGYrPVkscD1wPDxZfExbcl0sRz02MCk6Rz09NzI/Rz1JKzEmNz8yMjo0NDpHPT02MT9HPTQwOkc9PTQwP0c9cjxMLmxlbmd0aD84NzozOkc9PTIzP0c9KChJXjc0KSY3KT09Mj85Nzo1NDpHPT0xNj9HPTgwOkc9PTQ0PyhyPWY9MCx1PVtdLEc9NjEpOkc9PTk4PyhmLT04LHUucHVzaChwPj5mJjI1NSksRz0xNik6Rz09ODA/Rz1mPjc/OTg6NTpHPT0yOD9HPTcyOkc9PTQ3JiYoTShmLFksTCksTFtkUF09Mjc5NixHPTIzKX19fSxtej1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTKXt7Yz05Nzt3aGlsZShjIT02MylpZihjPT0xMCljPShmPDwyJjcpPj0xJiZmLTk+PjU8MT81MTozNjtlbHNle2lmKGM9PTkyKXJldHVybiBTO2M9PTUxPyhYPXR5cGVvZiBwLHU9WCE9TD9YOnA/QXJyYXkuaXNBcnJheShwKT8iYXJyYXkiOlg6Im51bGwiLFM9dT09WXx8dT09TCYmdHlwZW9mIHAubGVuZ3RoPT1yLGM9MzYpOmM9PTIzP2M9KGYtOF4zKTxmJiYoZi00XjEwKT49Zj8xNTo5MjpjPT0zNj9jPWYtOT4+NDwzJiYoZj4+MSY3KT49ND81ODoyMzpjPT0xNT8oTC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChZLGZ1bmN0aW9uKHkpe2lCKDcyLCIgIixJLCJzdHJpbmciLHksTCl9KTpSYSg0NSwyNywic3RyaW5nIixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYWEoNDIsInN0cmluZyIsTCksZnVuY3Rpb24oeSl7cmV0dXJuIShTMChZLEksMjQseSk+PUkpfSkuam9pbigiICIpLEwpLGM9OTIpOmM9PTU4PyhyPVksdEM9PT12b2lkIDAmJih0Qz1MKSx1PShwPXRDKT9wLmNyZWF0ZVNjcmlwdFVSTChyKTpyLFM9bmV3IFo0KHUpLGM9MjMpOmM9PTk3JiYoYz0xMCl9fX0seEs9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTMzO3doaWxlKEYhPTI1KWlmKEY9PTU3KUY9MTU7ZWxzZSBpZihGPT04MilGPShMLTFeMjkpPj1MJiYoTC1JXjEyKTxMPzE4OjE0O2Vsc2UgaWYoRj09MTUpRj1TPHAubGVuZ3RoPzY3OjY7ZWxzZSBpZihGPT0yNilvYSgxLDUsZixZLHUsWCxwLHIsYyksRj02O2Vsc2UgaWYoRj09MzMpRj04MjtlbHNlIGlmKEY9PTY3KXhLKDMsNSxudWxsLHRydWUscixwW1NdLHUsWCxjKSxGPTc4O2Vsc2UgaWYoRj09ODQpUz0wLEY9NTc7ZWxzZSBpZihGPT0xOCl7YTp7aWYoKHU9WS5sZW5ndGgsdSk+Zil7Zm9yKHA9KHI9QXJyYXkodSksZik7cDx1O3ArKylyW3BdPVlbcF07eT1yO2JyZWFrIGF9eT1bXX1GPTE0fWVsc2UgaWYoRj09MTApRj1YJiZYLm9uY2U/MjY6NDU7ZWxzZSBpZihGPT00MSljPXljKDk5LDMzLGMpLHImJnJbYkJdP3IuZy5hZGQoU3RyaW5nKHApLGMsZmFsc2UsUzAoWCxZLDM2KT8hIVguY2FwdHVyZTohIVgsdSk6ZShudWxsLDUsZmFsc2UsYyxyLFgscCx1LGZhbHNlKSxGPTY7ZWxzZXtpZihGPT02KXJldHVybiB5O0Y9PTQ1P0Y9QXJyYXkuaXNBcnJheShwKT84NDo0MTpGPT03OD8oUysrLEY9MTUpOkY9PTE0JiYoRj1MPj4yJjY/NjoxMCl9fX0sWGY9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2Zvcih5PTI3O3khPTc7KWlmKHk9PTI3KXk9ODk7ZWxzZSBpZih5PT0zOClGPU1hdGguZmxvb3IodGhpcy51KCkpLHk9NjY7ZWxzZSBpZih5PT04OSl5PUwrOD4+Mz09MT80Mzo0OTtlbHNle2lmKHk9PTY2KXJldHVybiBGO2lmKHk9PTQ5KXk9KExeMzEpPj40PzY2OjM4O2Vsc2UgaWYoeT09NDMpe2E6aWYoZi5ULmxlbmd0aCl7Zi5OPShmLk4mJiI6VFFSOlRRUjoiKCksSSksZi5BbD1yO3RyeXtTPWYudSgpLGYuRGM9WSxmLnhhPVMsZi5kNT1TLGYuWmM9WSxjPVFjKEksMjUsbnVsbCwwLDI5NyxmLHIpLFg9cD8wOjEwLHU9Zi51KCktZi5kNSxmLnNBKz11LGYubTcmJmYubTcodS1mLmwsZi5vLGYuSSxmLkRjKSxmLm89ZmFsc2UsZi5sPVksZi5JPWZhbHNlLHU8WHx8Zi5ZYS0tPD1ZfHwodT1NYXRoLmZsb29yKHUpLGYuVmUucHVzaCh1PD0yNTQ/dToyNTQpKX1maW5hbGx5e2YuTj1mYWxzZX1GPWM7YnJlYWsgYX15PTQ5fX19LEFDPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7e1M9MjY7d2hpbGUoUyE9NTIpaWYoUz09ODcpWD1yLnByb3h5LHA9ci50eXBlLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcj91LnJlbW92ZUV2ZW50TGlzdGVuZXIocCxYLHIuY2FwdHVyZSk6dS5kZXRhY2hFdmVudD91LmRldGFjaEV2ZW50KFMwKHAsIm9uIiwzKSxYKTp1LmFkZExpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyJiZ1LnJlbW92ZUxpc3RlbmVyKFgpLGhDLS0sYz1RYyh1LDgpLFM9STtlbHNlIGlmKFM9PTU1KVM9dSYmdVtiQl0/ODU6ODc7ZWxzZSBpZihTPT0xNil1PXIuc3JjLFM9NTU7ZWxzZSBpZihTPT0yNilTPTg2O2Vsc2UgaWYoUz09NjYpUz1jLmc1PT0wPzg0OjIxO2Vsc2UgaWYoUz09SSlTPWM/NjI6NDg7ZWxzZXtpZihTPT0yMSlyZXR1cm4geTtTPT04NT8oSyg2MCxyLHUuZyxZKSxTPTIxKTpTPT00OD8oWig1OCxZLHIpLFM9MjEpOlM9PTYzP1M9KChMXjUwKSYxMik+PTEmJihMLTgmMTIpPDg/Mjg6OTU6Uz09NjI/KEsoNTYscixjLFkpLFM9NjYpOlM9PTk1P1M9KEwtOHwzNCk8TCYmTC04PDwxPj1MPzU2OjIxOlM9PTg0PyhjLnNyYz1mLHVbRXddPWYsUz0yMSk6Uz09ODY/Uz0oTHw4KT4+ND82MzoyOlM9PTU2P1M9dHlwZW9mIHIhPT0ibnVtYmVyIiYmciYmIXIudWQ/MTY6MjE6Uz09Mj8oeT0hIShwPXIuUmwsLX4ocHxmKS0ofnBeZiktWSoofnAmZikrWSoofnB8ZikpLFM9NjMpOlM9PTI4JiYocj1ZLHk9ZnVuY3Rpb24oKXtyZXR1cm4gcjxmLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpmW3IrK119Ontkb25lOnRydWV9fSxTPTk1KX19fSxRYz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEpe0Y9Nzk7e0c9NzM7d2hpbGUoe30pdHJ5e2lmKEY9PTk5KWJyZWFrO2Vsc2UgaWYoRj09MjUpWT1JW0V3XSxBPVkgaW5zdGFuY2VvZiBLRT9ZOm51bGwsRj05NjtlbHNle2lmKEY9PTQ0KXJldHVybiBBO0Y9PTQ5PyhHPTczLEsoNDgscCx5LGYpLEY9NjkpOkY9PTU2PyhBPVgsRj0yOSk6Rj09MD9GPXAuVC5sZW5ndGg/OTU6NTY6Rj09ND9GPTA6Rj09OTU/KHAuSz1ZLGM9cC5ULnBvcCgpLEY9NSk6Rj09ODU/KFM9cC5LLFMoZnVuY3Rpb24oKXtYZih0cnVlLDYsZixwLEksSSl9KSxGPTU2KTpGPT02OT8oRz03MyxGPTQwKTpGPT0yMj9GPTA6Rj09NTE/KEkucmF3PVksT2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoSSksT2JqZWN0LmZyZWV6ZShZKSksQT1JLEY9NDQpOkY9PTI5P0Y9KEwtOCYxMSk+PTgmJihMfDIpPDI3PzUxOjQ0OkY9PTQwP0Y9dSYmcC5LPzg1OjQ6Rj09NDE/Rj1MLTQ+PjQ/OTY6MjU6Rj09NT8oRz00MSxYPUJTKDEscixwLGMpLEY9NjkpOkY9PTc5P0Y9NDE6Rj09OTYmJihGPShMKzEmNDMpPEwmJihMKzcmNDUpPj1MPzIyOjI5KX19Y2F0Y2goUSl7aWYoRz09NzMpdGhyb3cgUTtHPT00MSYmKHk9USxGPTQ5KX19fSxmTz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTU7d2hpbGUoRiE9ODcpaWYoRj09MjcpcC5zZXRBdHRyaWJ1dGUoUyx1KSxGPTM3O2Vsc2UgaWYoRj09NTUpRj0zNjtlbHNlIGlmKEY9PTI0KUY9dT09PSIifHx1PT12b2lkIDA/NDA6Mjc7ZWxzZSBpZihGPT0zNilGPShMKzZeMTYpPEwmJihMLTh8MjMpPj1MPzY2OjM3O2Vsc2UgaWYoRj09NDApRj1MTz8zMDo0NztlbHNlIGlmKEY9PTQ3KVg9e30sTE89KFguYXRvbWljPWYsWC5hdXRvY29tcGxldGU9Im5vbmUiLFguZHJvcGVmZmVjdD0ibm9uZSIsWC5oYXNwb3B1cD1mLFgubGl2ZT0ib2ZmIixYLm11bHRpbGluZT1mLFgubXVsdGlzZWxlY3RhYmxlPWYsWC5vcmllbnRhdGlvbj0idmVydGljYWwiLFgucmVhZG9ubHk9ZixYLnJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCIsWC5yZXF1aXJlZD1mLFguc29ydD0ibm9uZSIsWC5idXN5PWYsWC5kaXNhYmxlZD1mLFhbWV09ZixYLmludmFsaWQ9ImZhbHNlIixYKSxGPTMwO2Vsc2UgaWYoRj09OTMpRj0oTDw8MSYxNSk9PTI/NTg6MTQ7ZWxzZSBpZihGPT02MilGPTkzO2Vsc2UgaWYoRj09MzApYz1MTyxyIGluIGM/cC5zZXRBdHRyaWJ1dGUoUyxjW3JdKTpwLnJlbW92ZUF0dHJpYnV0ZShTKSxGPTM3O2Vsc2UgaWYoRj09NjYpQXJyYXkuaXNBcnJheSh1KSYmKHU9dS5qb2luKCIgIikpLFM9ImFyaWEtIityLEY9MjQ7ZWxzZXtpZihGPT0xNClyZXR1cm4geTtpZihGPT01OCl7YTp7aWYoIShyPShmPW51bGwsVS50cnVzdGVkVHlwZXMpLHIpfHwhci5jcmVhdGVQb2xpY3kpe3k9ZjticmVhayBhfXRyeXtmPXIuY3JlYXRlUG9saWN5KEkse2NyZWF0ZUhUTUw6WVYsY3JlYXRlU2NyaXB0OllWLGNyZWF0ZVNjcmlwdFVSTDpZVn0pfWNhdGNoKEcpe2lmKFUuY29uc29sZSlVLmNvbnNvbGVbWV0oRy5tZXNzYWdlKX15PWZ9Rj0xNH1lbHNlIEY9PTM3JiYoRj0oTC03XjEzKTxMJiYoTC0yfDE0KT49TD82Mjo5Myl9fX0sWj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7e2M9NjM7d2hpbGUoYyE9MjIpaWYoYz09OTgpYz0oSSY4MSk9PUk/MjM6ODM7ZWxzZSBpZihjPT0yOSl1PXdQKDAsNDEsODE5MixudWxsLHRydWUsTCksYz0zMztlbHNlIGlmKGM9PTMzKWM9KEktOCYxNSk9PTI/ODY6MDtlbHNlIGlmKGM9PTApYz0oSXw5KTwxNiYmKEk8PDImMTMpPj02PzI0OjQxO2Vsc2UgaWYoYz09ODYpWS51ZD1MLFkubGlzdGVuZXI9bnVsbCxZLnByb3h5PW51bGwsWS5zcmM9bnVsbCxZLkN6PW51bGwsYz0wO2Vsc2UgaWYoYz09ODMpYz0oST4+MSYyMyk9PTI/Mjk6MzM7ZWxzZSBpZihjPT0yMylYPWZ1bmN0aW9uKFMpe3JldHVybiBMLmNhbGwoWC5zcmMsWC5saXN0ZW5lcixTKX0sTD0kVix1PVgsYz04MztlbHNlIGlmKGM9PTYzKWM9OTg7ZWxzZSBpZihjPT00MSljPShJLTZeOCk8SSYmKEkrNyY0Nik+PUk/NTI6Nzk7ZWxzZSBpZihjPT0yNClwPVMwKGYsTCwyNSxZKSwocj1wPj1MKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGYscCwxKSx1PXIsYz00MTtlbHNlIGlmKGM9PTUyKXU9ISEocj1mLldxLChZfEwpLX5yK34ocnxZKSksYz03OTtlbHNlIGlmKGM9PTc5KXJldHVybiB1fX0seWM9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe2ZvcihYPTY2O1ghPTkyOylpZihYPT04NSl0aGlzW3RoaXMrIiJdPXRoaXMsWD04MTtlbHNlIGlmKFg9PTIpYz1ZLFg9ODI7ZWxzZXtpZihYPT0yOClyZXR1cm4gYztpZihYPT03OCl0aGlzLmxpc3RlbmVyPXUsdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPVksdGhpcy50eXBlPXIsdGhpcy5jYXB0dXJlPSEhcCx0aGlzLkN6PWYsdGhpcy5rZXk9Kytpbyx0aGlzLnllPXRoaXMudWQ9ZmFsc2UsWD0yODtlbHNlIGlmKFg9PTM2KVg9KEwrMyYxNSk+PTgmJkwtNzwxOT8yOjgyO2Vsc2UgaWYoWD09ODIpWD1MPj4yJjk/MzM6ODtlbHNlIGlmKFg9PTgxKVg9KEwmMTAxKT09TD81NjozNjtlbHNlIGlmKFg9PTY2KVg9NTg7ZWxzZSBpZihYPT01Nil7YTp7aWYodHlwZW9mIFk9PT0iZnVuY3Rpb24iKXtjPVk7YnJlYWsgYX1jPVlbWVtyQ118fChZW3JDXT1mdW5jdGlvbihTKXtyZXR1cm4gWS5oYW5kbGVFdmVudChTKX0pLHJDXX1YPTM2fWVsc2UgaWYoWD09MzIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChmLGZ1bmN0aW9uKFMseSxGKXtmb3IoRj0xO0YhPTQzOylGPT0xP0Y9WS5jbGFzc0xpc3Q/OTpJOkY9PTk/KFkuY2xhc3NMaXN0LmFkZChTKSxGPTQzKTpGPT0zMD8oeT1hYSgzLCJzdHJpbmciLCIiLFkpLFJhKDQ1LDI2LCJzdHJpbmciLHkrKHkubGVuZ3RoPjA/IiAiK1M6UyksWSksRj00Myk6Rj09SSYmKEY9SygxOSwwLFksInN0cmluZyIsUyk/NDM6MzApfSksWD0zMztlbHNlIGlmKFg9PTU4KVg9TC0zPDQwJiZMLTc+PTI5Pzg1OjgxO2Vsc2UgaWYoWD09OClYPVkuY2xhc3NMaXN0PzMyOjk3O2Vsc2UgaWYoWD09OTcpe2ZvcihyIGluIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKHA9e30sYWEoNDAsInN0cmluZyIsWSkpLGZ1bmN0aW9uKFMpe3BbU109dHJ1ZX0pLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZixmdW5jdGlvbihTKXtwW1NdPXRydWV9KSx1PSIiLHApdSs9dS5sZW5ndGg+MD8iICIrcjpyO1g9KFJhKDQ1LDI1LCJzdHJpbmciLHUsWSksMzMpfWVsc2UgWD09MzMmJihYPShMXjU1KT4+ND8yODo3OCl9fSxLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKEE9NDc7QSE9NTA7KWlmKEE9PTQpWT10cnVlLEE9NDE7ZWxzZSBpZihBPT0zKUE9KChJXjgwKSY3KT09Mz8zMDo2MTtlbHNlIGlmKEE9PTMwKUE9WS5jbGFzc0xpc3Q/MTQ6OTg7ZWxzZSBpZihBPT02MSlBPShJLTcmMTUpPT0yPzg4OjM0O2Vsc2UgaWYoQT09NDEpRz1ZLEE9MzQ7ZWxzZSBpZihBPT0zOClBPVkuSltyXS5sZW5ndGg9PTA/NDI6NjY7ZWxzZSBpZihBPT0xNSlBPShJJjM5KT09ST81NDozO2Vsc2UgaWYoQT09ODgpQT1mLnVkPzQ6NTg7ZWxzZXtpZihBPT0zNClyZXR1cm4gRztpZihBPT0xNClwPVkuY2xhc3NMaXN0LmNvbnRhaW5zKHIpLEE9NzU7ZWxzZSBpZihBPT03NSlHPXAsQT02MTtlbHNlIGlmKEE9PTU0KXthOntpZihYPXIuZy5KW1N0cmluZyhMKV0sIVgpe0c9ZjticmVhayBhfWZvcihTPShYPVguY29uY2F0KCksdT0wLGYpO3U8WC5sZW5ndGg7Kyt1KShGPVhbdV0pJiYhRi51ZCYmRi5jYXB0dXJlPT1wJiYoYz1GLmxpc3RlbmVyLHk9Ri5Denx8Ri5zcmMsRi55ZSYmSyg1OCxGLHIuZyxmKSxTPWMuY2FsbCh5LFkpIT09ZmFsc2UmJlMpO0c9UyYmIVkuZGVmYXVsdFByZXZlbnRlZH1BPTN9ZWxzZSBBPT01OD8ocD1uZXcgT3coTCx0aGlzKSx1PWYubGlzdGVuZXIscj1mLkN6fHxmLnNyYyxmLnllJiZBQygzOSw0OSx0cnVlLG51bGwsZiksWT11LmNhbGwocixwKSxBPTQxKTpBPT00Nj8oWig0MixmLEwpLEE9MzgpOkE9PTgyP0E9ciBpbiBZLkomJlooNiwwLEwsWS5KW3JdKT80Njo2NjpBPT05OD8odT1hYSg0MyxmLFkpLHA9UzAodSxMLDI2LHIpPj1MLEE9NzUpOkE9PTQyPyhkZWxldGUgWS5KW3JdLFkuZzUtLSxBPTY2KTpBPT04Nz8oTC5XPSgoTC5XP0wuVysifiI6IkU6IikrWS5tZXNzYWdlKyI6IitZLnN0YWNrKS5zbGljZShmLDIwNDgpLEE9MTUpOkE9PTY2P0E9KEkmMTE2KT09ST84NzoxNTpBPT00Nz9BPTg1OkE9PTg1P0E9KEktOHw0Myk+PUkmJihJLTd8NTIpPEk/NTk6NjY6QT09NTkmJihyPUwudHlwZSxBPTgyKX19LEZmPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7e0c9ODI7d2hpbGUoRyE9NSlpZihHPT05OClHPShyJjEyMSk9PXI/MTY6Mzc7ZWxzZSBpZihHPT0yKUZmKDAsTCxZW3ldLGYsMjYsbnVsbCx1LFgpLEc9MTQ7ZWxzZSBpZihHPT04MClGPVMwKFgscCwzMik/ISFYLmNhcHR1cmU6ISFYLEw9eWMoOTksMzIsTCksRz0xNTtlbHNlIGlmKEc9PTE5KUc9NDk7ZWxzZSBpZihHPT0zMSljKz1JLmNoYXJDb2RlQXQoTCksYys9Yzw8MTAsY149Yz4+NixHPTMyO2Vsc2V7aWYoRz09MzcpcmV0dXJuIEE7Rz09NDk/Rz15PFkubGVuZ3RoPzI6OTg6Rz09MTQ/KHkrKyxHPTQ5KTpHPT01OT8oKGM9Uy5sZChGLFksdSxMKSkmJkFDKDM5LDQ4LHRydWUsbnVsbCxjKSxHPTk4KTpHPT0zMj8oTCsrLEc9NzcpOkc9PTg3Pyh5PUksRz0xOSk6Rz09NDA/KFM9UWMoZiw5KSxHPTIyKTpHPT0xNT9HPWYmJmZbYkJdPzk0OjY5Okc9PTMzPyhjKz1jPDwzLGNePWM+PjExLGY9YysoYzw8MTUpPj4+MCx1PW5ldyBOdW1iZXIoKFg9KDE8PHApLTEsLTEtfmYtKGZeWCkrKH5mJlgpKSksdVswXT0oZj4+PnApJVksQT11LEc9MzcpOkc9PTE2PyhMPWM9MCxHPTQxKTpHPT03Nz9HPUw8SS5sZW5ndGg/MzE6MzM6Rz09ODI/Rz03ODpHPT02OT9HPWY/NDA6OTg6Rz09OTQ/KGYuZy5yZW1vdmUoU3RyaW5nKFkpLEwsRix1KSxHPTk4KTpHPT03OD9HPShyKzZeMTkpPj1yJiYoci00XjMwKTxyPzI0Ojk4Okc9PTI0P0c9QXJyYXkuaXNBcnJheShZKT84Nzo4MDpHPT0yMj9HPVM/NTk6OTg6Rz09NDEmJihHPTc3KX19fSx3UD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9NTA7d2hpbGUoRiE9MzgpaWYoRj09MzApeT1NYXRoLmZsb29yKHRoaXMuc0ErKHRoaXMudSgpLXRoaXMuZDUpKSxGPTU0O2Vsc2V7aWYoRj09NzYpcmV0dXJuIHk7aWYoRj09NDgpe2E6aWYoYz13aW5kb3cuYnRvYSl7Zm9yKHU9SSxYPSIiO3U8cC5sZW5ndGg7dSs9WSlYKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KGYscC5zbGljZSh1LHUrWSkpO3k9KFM9YyhYKSxyJiYoUz1TLnJlcGxhY2UoL1xcKy9nLCItIikucmVwbGFjZSgvXFwvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpKSxTKTticmVhayBhfUY9NzJ9ZWxzZSBGPT00Mj8odGhpc1t0aGlzKyIiXT10aGlzLHk9UHJvbWlzZS5yZXNvbHZlKCksRj0yNyk6Rj09NDk/KHRoaXMuc3JjPVksdGhpcy5KPXt9LHRoaXMuZzU9SSxGPTM3KTpGPT01OD9GPShMJjEwNSk9PUw/NDg6NzI6Rj09NzI/Rj0oTCYxMjIpPT1MPzMwOjU0OkY9PTUwP0Y9NTg6Rj09NTk/KHk9cEVbWV0ocEUucHJvdG90eXBlLHtwYXJlbnQ6ZixjYWxsOmYsbGVuZ3RoOmYscHJvcGVydHlJc0VudW1lcmFibGU6ZixyZXBsYWNlOmYsY29uc29sZTpmLHN0YWNrOmYsZG9jdW1lbnQ6ZixzcGxpY2U6Zixwcm90b3R5cGU6ZixmbG9vcjpmLHBvcDpmfSksRj03Nik6Rj09NTQ/Rj0oTCY5Mik9PUw/NDk6Mzc6Rj09Mzc/Rj1MLTM+PTI1JiZMLTM8Mzc/NDI6Mjc6Rj09MjcmJihGPShMXjMzKT4+Mz09Mz81OTo3Nil9fX0sUzA9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHA9NTM7cCE9MjspaWYocD09MTIpcD1ZPj4yJjE1PzM1Ojc4O2Vsc2UgaWYocD09OTYpcD0oWV44MCk+PS03OSYmKFktNiYxNik8Mj85NzoxMjtlbHNlIGlmKHA9PTk3KXRoaXMubisrLEk9TC10aGlzLlIsdGhpcy5SKz1JL3RoaXMubix0aGlzLnc1Kz1JKihMLXRoaXMuUikscD0xMjtlbHNlIGlmKHA9PTEpZj10eXBlb2YgSSx1PWY9PSJvYmplY3QiJiZJIT1MfHxmPT0iZnVuY3Rpb24iLHA9NTtlbHNlIGlmKHA9PTcyKXA9KFleMzgpPj4zPzU6MTtlbHNlIGlmKHA9PTUzKXA9NzI7ZWxzZXtpZihwPT0zNSlyZXR1cm4gdTtpZihwPT01KXA9WSs1Pj4xPFkmJihZLTheMTUpPj1ZPzc3Ojk2O2Vsc2UgaWYocD09NzgpdT1JIGluIEkxP0kxW0ldOkkxW0ldPUwrSSxwPTM1O2Vsc2UgaWYocD09Nzcpe2E6e2lmKHR5cGVvZiBJPT09InN0cmluZyIpe3U9dHlwZW9mIGYhPT0ic3RyaW5nInx8Zi5sZW5ndGghPTE/LTE6SS5pbmRleE9mKGYsTCk7YnJlYWsgYX1mb3Iocj1MO3I8SS5sZW5ndGg7cisrKWlmKHIgaW4gSSYmSVtyXT09PWYpe3U9cjticmVhayBhfXU9LTF9cD05Nn19fSxQUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe3t5PTQwO3doaWxlKHkhPTQ4KWlmKHk9PTQwKXk9NzU7ZWxzZSBpZih5PT00Myl7YTp7Zm9yKGM9WTtjPHUubGVuZ3RoOysrYylpZihYPXVbY10sIVgudWQmJlgubGlzdGVuZXI9PXImJlguY2FwdHVyZT09ISFmJiZYLkN6PT1wKXtTPWM7YnJlYWsgYX1TPS0xfXk9MjF9ZWxzZSBpZih5PT04Myl5PShMKzYmNjIpPj1MJiZMLTg8PDI8TD84Njo5NDtlbHNlIGlmKHk9PTg2KXk9WT8yOTo1MjtlbHNlIGlmKHk9PTk0KXk9KEwtMSYxMSk9PTI/OTY6Njk7ZWxzZXtpZih5PT00Nil0aHJvdyBFcnJvcigiSW52YWxpZCBkZWNvcmF0b3IgZnVuY3Rpb24gIitmKTtpZih5PT05Nil0aGlzLlk9dGhpcy5ZLHRoaXMuTmg9dGhpcy5OaCx5PTY5O2Vsc2UgaWYoeT09NzUpeT0oTD4+MiYxNSk9PTM/MTA6ODM7ZWxzZSBpZih5PT0yOSl5PXR5cGVvZiBmIT09ImZ1bmN0aW9uIj80Njo5NDtlbHNle2lmKHk9PTIxKXJldHVybiBTO2lmKHk9PTY5KXk9KEx8SSk9PUw/NDM6MjE7ZWxzZXtpZih5PT01Mil0aHJvdyBFcnJvcigiSW52YWxpZCBjbGFzcyBuYW1lICIrWSk7eT09MTAmJih0aGlzLkFyPVUuZG9jdW1lbnR8fGRvY3VtZW50LHk9ODMpfX19fX0sUmE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7e3A9ODE7d2hpbGUocCE9SSlpZihwPT02MilwPShMfDI0KT09TD82Njo5MjtlbHNlIGlmKHA9PTYpSkMuY2FsbCh0aGlzKSx0aGlzLmc9bmV3IEtFKHRoaXMpLHRoaXMuQmk9dGhpcyx0aGlzLmE5PW51bGwscD02MjtlbHNlIGlmKHA9PTgxKXA9NDM7ZWxzZXtpZihwPT05MilyZXR1cm4gdTtwPT00Mz9wPUwtMT4+ND82Mjo2OnA9PTY2JiYodHlwZW9mIHIuY2xhc3NOYW1lPT1ZP3IuY2xhc3NOYW1lPWY6ci5zZXRBdHRyaWJ1dGUmJnIuc2V0QXR0cmlidXRlKCJjbGFzcyIsZikscD05Mil9fX0sYWE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXt7dT0wO3doaWxlKHUhPTM4KXtpZih1PT0zNylyZXR1cm4gWDtpZih1PT0wKXU9MjQ7ZWxzZSBpZih1PT00NClYPUwmJkwucGFyZW50Tm9kZT9MLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoTCk6bnVsbCx1PTU2O2Vsc2UgaWYodT09NDcpdT1JKzY+PjM9PTI/NDQ6NTY7ZWxzZSBpZih1PT04OClYPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy53NS90aGlzLm4pLHU9NTtlbHNlIGlmKHU9PTcpWD1ZLmNsYXNzTGlzdD9ZLmNsYXNzTGlzdDphYSg1LEwsIiIsWSkubWF0Y2goL1xcUysvZyl8fFtdLHU9NDc7ZWxzZSBpZih1PT01Nil1PUktMSY3PzM3OjY4O2Vsc2UgaWYodT09MTIpdT0oSS0zJjE2KTwxMSYmST4+Mj49MTk/ODg6NTtlbHNlIGlmKHU9PTY4KXthOntmb3IocCBpbiBmKWlmKHIuY2FsbCh2b2lkIDAsZltwXSxwLGYpKXtYPVk7YnJlYWsgYX1YPUx9dT0zN31lbHNlIHU9PTU0PyhYPXR5cGVvZiBmLmNsYXNzTmFtZT09TD9mLmNsYXNzTmFtZTpmLmdldEF0dHJpYnV0ZSYmZi5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fFksdT0xMik6dT09NT91PShJfDQwKT09ST83OjQ3OnU9PTI0JiYodT0oSS03XjI3KTxJJiYoSS0yfDI1KT49ST81NDoxMil9fX0sb2E9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe2ZvcihGPTUyO0YhPTk0Oyl7aWYoRj09MzkpcmV0dXJuIHk7Rj09ND9GPUFycmF5LmlzQXJyYXkodSk/NTc6NzE6Rj09NTI/Rj05MTpGPT04Mj9GPVM8dS5sZW5ndGg/NDM6ODQ6Rj09NTc/KFM9MCxGPTU1KTpGPT05NT8oeT1xZihuRSxZKSxGPTM5KTpGPT01NT9GPTgyOkY9PTcxPyhjPXljKDk5LDY4LGMpLFgmJlhbYkJdP1guZy5hZGQoU3RyaW5nKHUpLGMsWSxTMChwLGYsMzUpPyEhcC5jYXB0dXJlOiEhcCxyKTplKG51bGwsNixmYWxzZSxjLFgscCx1LHIsWSksRj04NCk6Rj09ODQ/Rj0oTF41KT4+NDwyJiZMLTc+PjQ+PTA/OTU6Mzk6Rj09NDM/KG9hKDEsNix0cnVlLG51bGwscixwLHVbU10sWCxjKSxGPTc5KTpGPT05MT9GPSgoTF4zNSkmNyk+PTUmJigoTF4xNykmOCk8ST80Ojg0OkY9PTc5JiYoUysrLEY9ODIpfX0sZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHLEEsUSl7Zm9yKFE9NDQ7USE9ODY7KXtpZihRPT04NSlyZXR1cm4gQTtpZihRPT02OSlRPXIuYWRkTGlzdGVuZXImJnIucmVtb3ZlTGlzdGVuZXI/MTk6MTtlbHNlIGlmKFE9PTQxKXIuYXR0YWNoRXZlbnQoUzAodS50b1N0cmluZygpLCJvbiIsNjQpLEcpLFE9NzU7ZWxzZSBpZihRPT00NClRPTgwO2Vsc2UgaWYoUT09MzMpUT0oTC03XjE0KT49TCYmTCs4Pj4yPEw/Njc6ODU7ZWxzZSBpZihRPT0zOSlTPVMwKHAsSSwzNyk/ISFwLmNhcHR1cmU6ISFwLCh5PVFjKHIsMTApKXx8KHJbRXddPXk9bmV3IEtFKHIpKSxGPXkuYWRkKHUsZixjLFMsWCksUT0yMDtlbHNlIGlmKFE9PTIzKXRoaXMuWC5wdXNoKEkpLFE9MzM7ZWxzZSBpZihRPT03NSloQysrLFE9MTA7ZWxzZXtpZihRPT02Mil0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoUT09MClRPXU/Mzk6NjI7ZWxzZSBpZihRPT05NSlRPShMPj4xJjE1KT09MT8xMjo3ODtlbHNlIGlmKFE9PTkxKVkuVC5zcGxpY2UoMCwwLEkpLFE9OTU7ZWxzZSBpZihRPT0xNil0aGlzLm4rKyxRPTkyO2Vsc2UgaWYoUT09NjcpQT0hIShwPWYuajUsWSoocnxJKSt+ci0ocF5yKS0ofnB8cikpJiZBQygzOSwzLFkscixmKSxRPTg1O2Vsc2UgaWYoUT09NzYpR2N8fChwPVMpLHA9PT12b2lkIDAmJihwPVkpLHIuYWRkRXZlbnRMaXN0ZW5lcih1LnRvU3RyaW5nKCksRyxwKSxRPTc1O2Vsc2UgaWYoUT09NzgpUT0oTHw5KT4+ND8xMDowO2Vsc2UgaWYoUT09ODApUT0oTHw4MCk9PUw/OTE6OTU7ZWxzZSBpZihRPT00NilRPXIuYXR0YWNoRXZlbnQ/NDE6Njk7ZWxzZSBpZihRPT0xNClZPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLFk8NTAmJih0aGlzLlhbWV09SSksUT0zMztlbHNlIGlmKFE9PTEyKXthOntzd2l0Y2godSl7Y2FzZSBZOkE9cD8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIDI6QT1wPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6QT1wPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSByOkE9cD8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSAxNjpBPXA/ImNoZWNrIjoidW5jaGVjayI7YnJlYWsgYTtjYXNlIGY6QT1wPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBJOkE9cD8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31RPTc4fWVsc2UgaWYoUT09MjApUT1GLnByb3h5PzEwOjk5O2Vsc2UgaWYoUT09MTApUT0oKExeODEpJjcpPT0xPzE2OjMzO2Vsc2UgaWYoUT09NjUpUT1yLmFkZEV2ZW50TGlzdGVuZXI/NzY6NDY7ZWxzZSBpZihRPT05MilRPXRoaXMuWC5sZW5ndGg8NTA/MjM6MTQ7ZWxzZXtpZihRPT0xKXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7UT09MTk/KHIuYWRkTGlzdGVuZXIoRyksUT03NSk6UT09OTkmJihHPVooMTYpLEYucHJveHk9RyxHLnNyYz1yLEcubGlzdGVuZXI9RixRPTY1KX19fX0sUjE9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3tYPTgzO3doaWxlKFghPTM4KWlmKFg9PTg3KVg9KFk8PDEmOCk8MyYmWTw8MT49LTM3PzEwOjE1O2Vsc2UgaWYoWD09MjQpWD0oWXwzKTwzMyYmWSszPj0xNT80Nzo4NztlbHNlIGlmKFg9PTE1KVg9KFk+PjImNyk9PTE/MzA6MTtlbHNlIGlmKFg9PTc0KVg9MTI7ZWxzZSBpZihYPT0xMilYPXA8ci5sZW5ndGg/NTY6ODI7ZWxzZSBpZihYPT0xMClMLnJlbW92ZUF0dHJpYnV0ZSgic3JjZG9jIiksWD03MjtlbHNle2lmKFg9PTEpcmV0dXJuIHU7aWYoWD09ODkpdGhyb3cgbmV3IERxKHR5cGVvZiBJLDEpO2lmKFg9PTU2KUwuc2FuZGJveC5zdXBwb3J0cyYmIUwuc2FuZGJveC5zdXBwb3J0cyhyW3BdKXx8TC5zYW5kYm94LmFkZChyW3BdKSxYPTM0O2Vsc2UgaWYoWD09ODEpcj0iYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1mb3JtcyBhbGxvdy1wb3B1cHMgYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IGFsbG93LXN0b3JhZ2UtYWNjZXNzLWJ5LXVzZXItYWN0aXZhdGlvbiIuc3BsaXQoIiAiKSxMLnNldEF0dHJpYnV0ZSgic2FuZGJveCIsIiIpLHA9MCxYPTc0O2Vsc2UgaWYoWD09NDcpYm8uY2FsbCh0aGlzLEw/TC50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5Tbz1udWxsLEwmJnRoaXMuaW5pdChMLEkpLFg9ODc7ZWxzZSBpZihYPT04Mil7aWYoSSBpbnN0YW5jZW9mIFo0KWY9SS5IaTtlbHNlIHRocm93IEVycm9yKCIiKTtYPShMLnNyYz1mLnRvU3RyaW5nKCksMTUpfWVsc2UgWD09MzA/KGM9ZnVuY3Rpb24oKXt9LGMucHJvdG90eXBlPWYucHJvdG90eXBlLEkuRj1mLnByb3RvdHlwZSxJLnByb3RvdHlwZT1uZXcgYyxJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JLEkueWk9ZnVuY3Rpb24oUyx5LEYpe2Zvcih2YXIgRz02MTtHIT03OTspaWYoRz09NjkpRz1RPGFyZ3VtZW50cy5sZW5ndGg/NDA6MTM7ZWxzZSBpZihHPT05OSlRKyssRz02OTtlbHNlIGlmKEc9PTQwKUFbUS1MXT1hcmd1bWVudHNbUV0sRz05OTtlbHNle2lmKEc9PTEzKXJldHVybiBmLnByb3RvdHlwZVt5XS5hcHBseShTLEEpO2lmKEc9PTYxKXZhciBBPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtKEc9NDksTCkpLFE9TDtlbHNlIEc9PTQ5JiYoRz02OSl9fSxYPTEpOlg9PTcyP1g9SSBpbnN0YW5jZW9mIFo0PzgxOjg5Olg9PTM0PyhwKyssWD0xMik6WD09ODMmJihYPTI0KX19fSxXaz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHkpe2ZvcihjPTM5O2MhPTg0OylpZihjPT05MilZLkhxJiZZLkhxLmZvckVhY2goZix2b2lkIDApLGM9MjtlbHNle2lmKGM9PTg5KXJldHVybiBTO2lmKGM9PTE3KXk9ZnVuY3Rpb24oKXt9LHI9dm9pZCAwLHA9UVMoWSxmdW5jdGlvbihGLEcpe2ZvcihHPTU2O0chPTkwOylHPT0xNj8oZiYmQ0UoZikscj1GLHkoKSx5PXZvaWQgMCxHPTkwKTpHPT01NiYmKEc9eT8xNjo5MCl9LCEhZiksdT1wWzFdLFg9cFswXSxTPXtob3Q6ZnVuY3Rpb24oRixHLEEsUSxELFcsYil7Zm9yKFc9MTM7VyE9MTU7KWlmKFc9PTIyKWIoKSxXPTE1O2Vsc2UgaWYoVz09OTIpVz1HPzEwOjcwO2Vsc2UgaWYoVz09MTApVz1yPzIyOjE2O2Vsc2V7aWYoVz09NzApcmV0dXJuIEQ9WChBKSxGJiZGKEQpLEQ7Vz09MTM/KGI9ZnVuY3Rpb24oKXtyKGZ1bmN0aW9uKGEpe0NFKGZ1bmN0aW9uKCl7RihhKX0pfSxBKX0sVz05Mik6Vz09MTYmJihRPXkseT1mdW5jdGlvbigpeyhRKCksQ0UpKGIpfSxXPTE1KX19LHBlOmZ1bmN0aW9uKEYpe3UmJnUoRil9fSxjPTg5O2Vsc2UgaWYoYz09SSl7YTp7aWYodGhpcy5uPT09MCl7Uz1bMCwwXTticmVhayBhfVM9Wyh0aGlzLlguc29ydChmdW5jdGlvbihGLEcpe3JldHVybiBGLUd9KSx0aGlzKS5uLHRoaXMuWFt0aGlzLlgubGVuZ3RoPj4xXV19Yz03Mn1lbHNlIGM9PTcyP2M9TC05Pj4zPzI6OTI6Yz09Mj9jPShMPDwxJjcpPj02JiZMLTQ+PjU8NT8xNzo4OTpjPT0zOT9jPTk0OmM9PTk0JiYoYz0oTCs2XjEzKTxMJiYoTCsyJjI1KT49TD9JOjcyKX19LGhLPWZ1bmN0aW9uKCl7cmV0dXJuIHdDLmNhbGwodGhpcyw3Mil9LEFLPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSl7Zm9yKFM9Nzk7UyE9ODQ7KWlmKFM9PTc5KVM9ODg7ZWxzZSBpZihTPT1JKVM9cDxyLmxlbmd0aD83NTo0MTtlbHNlIGlmKFM9PTY4KXRoaXMuSGk9WSxTPTgzO2Vsc2V7aWYoUz09NTkpcmV0dXJuIHk7Uz09Njk/Uz1JOlM9PTE0P1M9KEw+PjEmMTEpPT0xPzYyOjU5OlM9PTQ0P1M9dT5mPzg1OjM5OlM9PTgxPyhYPVksYz1bXSxwPVksUz02OSk6Uz09ODM/Uz0oTCYzNyk9PUw/ODE6MTQ6Uz09ODg/Uz0oTHw5KT4+ND49MyYmKEw8PDEmMTYpPEk/Njg6ODM6Uz09ODU/KGNbWCsrXT1mLX4odSZmKSstMjU2LHU+Pj04LFM9MzkpOlM9PTY1PyhwKyssUz1JKTpTPT03NT8odT1yLmNoYXJDb2RlQXQocCksUz00NCk6Uz09Mzk/KGNbWCsrXT11LFM9NjUpOlM9PTQxPyh5PWMsUz0xNCk6Uz09NjImJihTPTU5KX19LGVTPWZ1bmN0aW9uKEksTCxZLGYpe2Y9TihMLChZPVQoTCwzMCksNikpLEpLKGYsTCxkKEksQyhMLFkpKSl9LHZrPWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIFIxLmNhbGwodGhpcyxMLEksMyxZLGYscil9LEU4PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCl7Zm9yKFg9TFt1PUxbM118cixwPXIsMl18cjtwPDE2O3ArKylmPWY+Pj5JfGY8PDI0LGYrPVl8cix1PXU+Pj5JfHU8PDI0LFk9WTw8M3xZPj4+MjksZl49WCs2NTksdSs9WHxyLFg9WDw8M3xYPj4+MjksdV49cCs2NTksWF49dSxZXj1mO3JldHVybltZPj4+MjQmMjU1LFk+Pj4xNiYyNTUsWT4+PkkmMjU1LFk+Pj5yJjI1NSxmPj4+MjQmMjU1LGY+Pj4xNiYyNTUsZj4+PkkmMjU1LGY+Pj5yJjI1NV19LERxPWZ1bmN0aW9uKEksTCxZKXt0aGlzLnR5cGU9KCJzdGFjayJpbihZPUVycm9yLmNhbGwodGhpcyxJKyIgY2Fubm90IGJlIHVzZWQgd2l0aCBpbnRlbnQgIitOQltMXSksdGhpcy5tZXNzYWdlPVkubWVzc2FnZSxZKSYmKHRoaXMuc3RhY2s9WS5zdGFjayksSSk7d2hpbGUoW10paWYodGhpcy5uYW1lPSJUeXBlQ2Fubm90QmVVc2VkV2l0aElmcmFtZUludGVudEVycm9yIix0cnVlKWJyZWFrfSx5Uz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe2ZvcihYPUw7WCE9ODA7KWlmKFg9PTIpdW8uY2FsbCh0aGlzLGYscnx8WHQuZW8oKSxwKSxYPTc5O2Vsc2UgaWYoWD09MjkpRnQuY2FsbCh0aGlzKSxmfHxja3x8KGNrPW5ldyBTUyksdGhpcy5Kcj12b2lkIDAsdGhpcy5MPXRoaXMuSHE9dGhpcy5UMT1udWxsLHRoaXMud289dGhpcy5Mej1mYWxzZSx0aGlzLnVSPXRoaXMuTWg9bnVsbCxYPTE5O2Vsc2UgaWYoWD09MTkpWD0oWSYxMjMpPT1ZPzI6Nzk7ZWxzZXtpZihYPT03OSlyZXR1cm4gdTtYPT1MP1g9ODg6WD09ODgmJihYPShZKzYmSSk8WSYmKFkrNV42KT49WT8yOToxOSl9fSxLTz1mdW5jdGlvbihJLEwpe3JldHVybiBtei5jYWxsKHRoaXMsMCxJLEwsNil9LFRjPWZ1bmN0aW9uKEksTCxZLGYscixwLHUpe211KCgoWT1DKChwPU4oKHU9Tigocj00LShMJi00KS0ofkxeMykrMiooTHwtNCksZj0oTHw0KS1+KEwmNCkrfihMfDQpLEkpLDE3KSxJKSwyMiksSSksdSksZikmJihZPVpxKCIiK1ksMTAyMykpLHImJkpLKHAsSSxkKDIsWS5sZW5ndGgpKSxwKSxJLFkpfSxnPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPXRoaXM7dHJ5e01CKHUscixZLFgsdGhpcyxmLEksTCxwKX1jYXRjaChTKXtLKDE2LHRoaXMsUywwKSxYKGZ1bmN0aW9uKHkpe3koYy5XKX0pfX0sd0M9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7e0c9OTM7d2hpbGUoRyE9NjgpaWYoRz09ODMpRz0oSXw3Mik9PUk/MzA6NjM7ZWxzZXtpZihHPT03NilyZXR1cm4gRjtHPT00Nj8oRj0oeT1hMVtMLnN1YnN0cmluZygwLDMpKyJfIl0pP3koTC5zdWJzdHJpbmcoMyksWSxmLHIscCx1LFgsYyxTKTp3QygxNixZLEwpLEc9MzIpOkc9PTMyP0c9ST4+MiYxMT83Njo3ODpHPT02Mz9HPShJPDwxJjE2KTw5JiYoSTw8MSYxNSk+PTU/NDY6MzI6Rz09Nzg/KEwoZnVuY3Rpb24oQSl7QShZKX0pLEY9W2Z1bmN0aW9uKCl7cmV0dXJuIFl9LGZ1bmN0aW9uKCl7fV0sRz03Nik6Rz09NTE/KHI9WSxyXj1yPDwxMyxyXj1yPj4xNyxyPShwPXI8PDUsKHJ8MCkrfihyfHApLSh+cl5wKSsofnImcCkpLChyPS1+Zi0ociZ+ZiktKH5yXmYpKzIqKHJ8fmYpKXx8KHI9MSksRj0tKEx8MCkrKEx8cikrKEwmfnIpLEc9ODMpOkc9PTI3P0c9KEk8PDEmMTUpPj0xMiYmKEkrMyY4KTw2PzUxOjgzOkc9PTMwP0c9NjM6Rz09OTMmJihHPTI3KX19fSx0Sz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7aWYoIUwuVyl7TC5ocisrO3RyeXtyPShjPXZvaWQgMCwwKTt7cD1MLlA7d2hpbGUoLS1ZKXRyeXtpZihYPXZvaWQgMCxMLk8pYz1UbChMLk8sTCk7ZWxzZXtpZihyPUMoTCxmKSxyPj1wKWJyZWFrO2M9KFg9KEooTCxJLHIpLE4oTCwxMCkpLEMoTCxYKSl9Vig1OCwoYyYmKHU9Y1txQl0sMjA0OC1+dSstMjA0OS0odSYtMjA0OSkpP2MoTCxZKTpuTyhbbzEsMjEsWF0sMCwzNTcsTCksZiksZmFsc2UsTCxmYWxzZSxZKX1jYXRjaChTKXtsKEwsMzgpP25PKFMsMjIsMzU3LEwpOkooTCwzOCxTKX19aWYoIVkpe2ZvcigwPT0oTnVtYmVyKCkhPSFbXSk7TC5aejswKXt0SygyNzIsTCwoTC5oci0tLDE0MDQyMzU1MzYyOTEpLDUwOSk7cmV0dXJuO2lmKCFbXT09TnVtYmVyKCkpYnJlYWt9bk8oW28xLDMzXSwwLDM1NyxMKX19Y2F0Y2goUyl7dHJ5e25PKFMsMjIsMzU3LEwpfWNhdGNoKHkpe0soMjAsTCx5LDApfX1MLmhyLS19fSxYdD1mdW5jdGlvbigpe3JldHVybiBmTy5jYWxsKHRoaXMsImFkIiwzKX0sbk89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyl7c3dpdGNoKCEoIWYuYmQmJihTPXZvaWQgMCxJJiZJWzBdPT09bzEmJihTPUlbMl0sTD1JWzFdLEk9dm9pZCAwKSxjPWwoZixZKSxjLmxlbmd0aD09MCYmKFg9bChmLDI3Mik+PjMsYy5wdXNoKEwsWD4+OCYyNTUsMiooWHwyNTUpLSAtMSt+KFh8MjU1KS0oWF4yNTUpKSxTIT12b2lkIDAmJmMucHVzaCgtMS1+KFN8MjU1KS0oU14yNTUpKSkseT0iIixJJiYoSS5tZXNzYWdlJiYoeSs9SS5tZXNzYWdlKSxJLnN0YWNrJiYoeSs9IjoiK0kuc3RhY2spKSx1PWsoZiw0NjQpLHVbMF0+MykpKXtjYXNlIHRydWU6IVtdPT0oZmFsc2U9PTApO2JyZWFrO2Nhc2UgZmFsc2U6KHA9KHVbMF0tPSh5PXkuc2xpY2UoMCwodVswXXwwKS0zKSxGPXkubGVuZ3RoLDIqKEYmMyktMS0ofkZeMykpLHk9WnEoeSwxMDIzKSxmLlUpLGYpLlU9Zjt0cnl7Zi5rYT8ocj0ocj1DKGYsMzUwKSkmJnJbci5sZW5ndGgtMV18fDk1LChHPWwoZiw0MjEpKSYmR1tHLmxlbmd0aC0xXT09cnx8SksoNDIxLGYsW3ImMjU1XSkpOm11KDM1MCxmLFs5NV0pLG11KDE5NSxmLGQoMix5Lmxlbmd0aCkuY29uY2F0KHkpLDE0NCl9ZmluYWxseXtmLlU9cH1icmVha319LExFPWZ1bmN0aW9uKEkpe3JldHVybiB5Uy5jYWxsKHRoaXMsNDAsNywxMixJKX0sU1M9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDEyKX0sT3c9ZnVuY3Rpb24oSSxMKXtyZXR1cm4gUjEuY2FsbCh0aGlzLEwsSSwxMil9LGtWPWZ1bmN0aW9uKEksTCl7ZnVuY3Rpb24gWSgpe3RoaXMuUj10aGlzLnc1PXRoaXMubj0wfXdoaWxlKDEyKWlmKFkucHJvdG90eXBlLnB6PWZ1bmN0aW9uKGYscil7cmV0dXJuIFMwLmNhbGwodGhpcyxyLGYsNil9LHRydWUpYnJlYWs7WS5wcm90b3R5cGUuRks9ZnVuY3Rpb24oKXtyZXR1cm4gYWEuY2FsbCh0aGlzLDc2KX07d2hpbGUoW10paWYoST1uZXcgWSx0cnVlKWJyZWFrO3JldHVybltmdW5jdGlvbihmKXtJLnB6KGYpLEwucHooZil9LChMPW5ldyBZLGZ1bmN0aW9uKGYscil7cmV0dXJuKChyPVtJLkZLKCksTC5GSygpLEkuUixMLlJdLGY9PT12b2lkIDApfHxmKSYmKEw9bmV3IFkpLHJ9KV19LHM4PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSw0OCxZLHIsZixJLEwpfSxKSz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyl7c3dpdGNoKCEoTC5VPT1MKSl7Y2FzZSAtMD09PU51bWJlcigpOk5hTjticmVhaztjYXNlIFtdPT0obnVsbCE9ZmFsc2UpOmZvcih1PUMoTCxJKSxJPT0xOTV8fEk9PTQ4OHx8ST09MTI/KGM9ZnVuY3Rpb24oUyx5LEYsRyxBLFEsRCxXLGIsYSl7Zm9yKFc9KGI9NjYsMTQpOzspdHJ5e2lmKGI9PTQwKWJyZWFrO2Vsc2UgaWYoYj09NDEpYj11LkVBIT15PzMyOjM1O2Vsc2UgaWYoYj09MjgpVz0zMyx1LnI1PUU4KDgsRyxUKDAsMyxBLHUpLFQoMCwzNSwtKEEmNCktMS0zKn4oQXw0KSsyKih+QV40KSx1KSwwKSxiPTM1O2Vsc2UgaWYoYj09MzUpdS5wdXNoKChGPXUucjVbLX4oRCY3KS0gLTErMiooRF43KSsyKih+RF43KV0sLTErKH5GJlMpLSh+RnxTKSkpLGI9NDA7ZWxzZXtpZihiPT0wKXRocm93IFc9MTQsYTtiPT0zMj8odS5FQT15LEE9KFE9eTw8MywtfihRJjQpK34oUXw0KSsyKihRJi01KSksRz1bMCwwLHBbMV0scFsyXV0sYj0yOCk6Yj09NjYmJihEPXUubGVuZ3RoLHk9KER8MCktND4+MyxiPTQxKX19Y2F0Y2godyl7aWYoVz09MTQpdGhyb3cgdztXPT0zMyYmKGE9dyxiPTApfX0scD1DKEwsMzgwKSk6Yz1mdW5jdGlvbihTKXt1LnB1c2goUyl9LGYmJmMoZiYyNTUpLFg9MCxyPVkubGVuZ3RoO1g8cjtYKyspYyhZW1hdKTticmVha319LHoseD1mdW5jdGlvbihJLEwsWSl7c3dpdGNoKCEoST09NTA5fHxJPT0yNzIpKXtjYXNlIFtdIT10cnVlOmlmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsMTIsTCxJLFksNTQpKTpMLlNbSV09VCgyNjAsOCxMLEksWSw4OSk7YnJlYWs7Y2FzZSBbXT09dHJ1ZTpMLlNbSV0/TC5TW0ldLmNvbmNhdChZKTpMLlNbSV09cSgyMCxMLFkpO2JyZWFrfUk9PTQ4JiYoTC5DPWtLKGZhbHNlLEwsMzIpLEwuQT12b2lkIDApfSxDTz1mdW5jdGlvbigpe2Zvcih2YXIgST04MztJIT0zMzspe2lmKEk9PTIxKXJldHVybiBZO2lmKEk9PTgzKXZhciBMPShJPTksTnVtYmVyKHRoaXMpKSxZPVtdLGY9TDtlbHNlIEk9PTk0PyhmKyssST02OCk6ST09NDc/KFlbZi1MXT1hcmd1bWVudHNbZl0sST05NCk6ST09OT9JPTY4Okk9PTY4JiYoST1mPGFyZ3VtZW50cy5sZW5ndGg/NDc6MjEpfX0sa0s9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXKXtpZihEPWsoTCw1MDkpLEQ+PUwuUCl0aHJvd1tvMSwzMV07Zm9yKEE9KFM9MCxRPVkscD1ELEwucWUubGVuZ3RoKTtRPjA7KWY9cD4+MyxXPUwudHJbZl0sYz1wJTgsRz04LShjfDApLFg9RzxRP0c6USxJJiYoRj1wLHk9TCx5LkEhPUY+PjYmJih5LkE9Rj4+Nix1PWwoeSw0OCkseS5VZj1FOCg4LFswLDAsdVsxXSx1WzJdXSx5LkMseS5BLDApKSxXXj1MLlVmW2YmQV0pLFN8PShXPj44LShjfDApLShYfDApJigxPDxYKS0xKTw8KFF8MCktKFh8MCkscCs9WCxRLT1YO3JldHVybiBNKDUwOSxMLChyPVMsKER8MCkrKFl8MCkpKSxyfSxIaz1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIGwoZiwoeChJLCh0SygyNzIsZixyLCgocD1rKGYsSSksZi50ciYmcDxmLlApPyhNKEksZixmLlApLEJrKDM1NywwLGYsSSxZLDEwNCkpOk0oSSxmLFkpLEkpKSxmKSxwKSxMKSl9LFU4PWZ1bmN0aW9uKEksTCl7Zm9yKHZhciBZPTEzO1khPTU5OylpZihZPT0xMyl2YXIgZj0oWT0zOCwxKTtlbHNlIGlmKFk9PTU0KXt2YXIgcj1hcmd1bWVudHNbZl07Zm9yKHUgaW4gcilJW3VdPXJbdV07dmFyIHA9KFk9MjcsMCl9ZWxzZSBpZihZPT0zOClZPTEyO2Vsc2UgaWYoWT09MjcpWT01MTtlbHNlIGlmKFk9PTEyKVk9Zjxhcmd1bWVudHMubGVuZ3RoPzU0OjU5O2Vsc2UgaWYoWT09MjUpe3ZhciB1PVZTW3BdO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHUpJiYoSVt1XT1yW3VdKSxZPTM5fWVsc2UgWT09NTE/WT1wPFZTLmxlbmd0aD8yNTo2NDpZPT0zOT8ocCsrLFk9NTEpOlk9PTY0JiYoZisrLFk9MTIpfSwkSz1mdW5jdGlvbihJKXtyZXR1cm4gSS5PP1RsKEkuWixJKTprSyh0cnVlLEksOCl9LGQ9ZnVuY3Rpb24oSSxMLFksZixyKXtmPVtdO3tyPShJfDApLTE7d2hpbGUocj49MClmWy0oSXwxKSsoSSYxKSsyKihJJi0yKS0ocnwwKV09KFk9TD4+cio4LDI1NisyKihZJi0yNTYpLShZXjI1NSkrKH5ZfDI1NSkpLHItLX1yZXR1cm4gZn0sTT1mdW5jdGlvbihJLEwsWSl7aWYoST09NTA5fHxJPT0yNzIpTC5TW0ldP0wuU1tJXS5jb25jYXQoWSk6TC5TW0ldPXEoMTgsTCxZKTtlbHNle2lmKEwuYmQmJkkhPTQ4KXJldHVybjtJPT0yNjJ8fEk9PTE5NXx8ST09MjM2fHxJPT0xMnx8ST09MzU3fHxJPT0zNTB8fEk9PTQyMXx8ST09MzgwfHxJPT00ODh8fEk9PTQ2ND9MLlNbSV18fChMLlNbSV09VCgyNjAsOSxMLEksWSw1NCkpOkwuU1tJXT1UKDI2MCwxMyxMLEksWSw4OSl9ST09NDgmJihMLkM9a0soZmFsc2UsTCwzMiksTC5BPXZvaWQgMCl9LFhqPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oSSl7ZnVuY3Rpb24gTCgpe31MLnByb3RvdHlwZT1JO3doaWxlKFtdKXtyZXR1cm4gbmV3IEw7aWYoIWZhbHNlPT0hIiIpYnJlYWt9fSxGaj1mdW5jdGlvbihJLEwsWSxmLHIpe2lmKEkubGVuZ3RoPT0zKXt7WT0wO3doaWxlKFk8MylMW1ldKz1JW1ldLFkrK31mb3IoZj1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdLHI9MDtyPDk7cisrKUxbM10oTCxyJTMsZltyXSl9fSxKPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goIShMPT01MDl8fEw9PTI3Mikpe2Nhc2UgTnVtYmVyKHVuZGVmaW5lZCkhPT1OdW1iZXIodW5kZWZpbmVkKTppZihJLmJkJiZMIT00OClyZXR1cm47TD09MjYyfHxMPT0xOTV8fEw9PTIzNnx8TD09MTJ8fEw9PTM1N3x8TD09MzUwfHxMPT00MjF8fEw9PTM4MHx8TD09NDg4fHxMPT00NjQ/SS5TW0xdfHwoSS5TW0xdPVQoMjYwLDUsSSxMLFksNTQpKTpJLlNbTF09VCgyNjAsNSxJLEwsWSw4OSk7YnJlYWs7Y2FzZSAwIT0hWyIiXTpJLlNbTF0/SS5TW0xdLmNvbmNhdChZKTpJLlNbTF09cSgxNyxJLFkpO2JyZWFrfUw9PTQ4JiYoSS5DPWtLKGZhbHNlLEksMzIpLEkuQT12b2lkIDApfSxsbz1mdW5jdGlvbihJLEwsWSl7cmV0dXJuIHlTLmNhbGwodGhpcyw0MCw3LDMsSSxMLFkpfSxNQj1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7Zm9yKFM9KHk9KHIuR3g9KHIueEk9d1AoMCw1NyxyLkIsKHIucWU9KHIuU2I9eFYsci5VaT16YyxyW1BrXSkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbmNhdCgpfX0pKSxwRVtyLkJdKHIueEkse3ZhbHVlOnt2YWx1ZTp7fX19KSksW10pLDApO1M8MzIzO1MrKyl5W1NdPVN0cmluZy5mcm9tQ2hhckNvZGUoUyk7aWYoKChyLmw9MCwoci5zQT0wLHIpLlZlPShyLlc9KChyLkk9KHIuSWw9TCxmYWxzZSkscikuSz0oci50cj0oKHIuT0E9MCxyKS5XaT0zMDAwMSxyLmJkPWZhbHNlLHIuZDU9MCxbXSksKHIuTmU9W10sci5DPXZvaWQgMCxyLlVmPXZvaWQgMCxyKS5VPXIsci5obD0wLHIuQT12b2lkIDAsci5CcT1bXSxyLkRjPTAsci5ZYT0oci5QPShyLm85PXZvaWQgMCwwKSxyLm03PWMsMjUpLG51bGwpLHZvaWQgMCksRj0oci5TPVtdLHdpbmRvdy5wZXJmb3JtYW5jZSl8fHt9LHIuVD1bXSwoci5hbD1bXSxyLmNxPShyLkt6PShyLmhyPTAsci5RVz1mdW5jdGlvbihHKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMsRyl9LFtdKSxbXSksci5BbD1mYWxzZSxyKS5vPWZhbHNlLHIua2E9KHIuSjU9KHIueGE9MCxyLk89dm9pZCAwLDApLHIuWmM9dm9pZCAwLCEoci5pPShyLlo9dm9pZCAwLDEpLDEpKSxbXSksci5OPWZhbHNlLHIpLlBpPShyLmd5PUksRi50aW1lT3JpZ2lufHwoRi50aW1pbmd8fHt9KS5uYXZpZ2F0aW9uU3RhcnR8fDApLHApJiZwLmxlbmd0aD09MiYmKHIuYWw9cFsxXSxyLk5lPXBbMF0pLFkpdHJ5e3Iubzk9SlNPTi5wYXJzZShZKX1jYXRjaChHKXtyLm85PXt9fVYoNzYsKHgoMzgsKEoociwxMiwoVig3NixmdW5jdGlvbihHKXtUYyhHLDQpfSwoKE0oMzUwLHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYsRSl7Zm9yKEU9OTU7RSE9NzA7KUU9PTk/KFc9ZkgoMjMsNSwwLDEsRy5VKSxhPVcueVcsYj1XLk9mLFE9Vy5KbCx2PVcuVix3PXYubGVuZ3RoLEQ9dz09MD9uZXcgYltRXTp3PT0xP25ldyBiW1FdKHZbMF0pOnc9PTI/bmV3IGJbUV0odlswXSx2WzFdKTp3PT0zP25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdKTp3PT00P25ldyBiW1FdKHZbMF0sdlsxXSx2WzJdLHZbM10pOjIoKSxKKEcsYSxEKSxFPTcwKTpFPT05NSYmKEU9Vig0Miw1MDksZmFsc2UsRyx0cnVlLEEpPzcwOjkpfSxyLChKKHIsMjM2LChKKHIsKFYoKChuZXcgKFYoMTIsZnVuY3Rpb24oRyl7ZVMoMSxHKX0sKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe3doaWxlKHt9KWlmKChRPU4oRywzNCksMCk9PSFbdW5kZWZpbmVkXSlicmVhazsoRD1sKEcsKEE9QyhHLChXPShiPVQoRywzMSksVChHLDMwKSksUSkpLGIpKSxNKShXLEcsQSBpbiBEfDApfSwoVig2MCwoTSgoKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3LHYpe2Zvcih2PTYyO3YhPTk5Oyl2PT05PyhBKyssdj0zOSk6dj09Njg/dj0zOTp2PT04MT8oTShiLEcsYSBpbiBEfDApLHY9OTkpOnY9PTUxPyhhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFFbQV1eMTIxKSx2PTkpOnY9PTM5P3Y9QTxRLmxlbmd0aD81MTo4MTp2PT02MiYmKFc9TihHLDEzKSx3PVQoRywzMSksYj1UKEcsMjcpLFE9ayhHLFcpLEQ9ayhHLHcpLGE9IiIsQT0wLHY9NjgpfSxyLChWKDI4LChWKDc2LGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyl7Zm9yKHc9Mjc7dyE9MTA7KXc9PTgyP3c9MTI6dz09Mjc/KEE9TihHLDYpLGI9cSg1LDEyNyxHKSxEPVtdLGE9ayhHLDc0KSxRPTAsVz1hLmxlbmd0aCx3PTgyKTp3PT0yOD8oUT0oKFF8MCkrKHEoMywxMjcsRyl8MCkpJVcsRC5wdXNoKGFbUV0pLHc9OTQpOnc9PTk0P3c9MTI6dz09MTI/dz1iLS0/Mjg6NDY6dz09NDYmJih4KEEsRyxEKSx3PTEwKX0sciwyNTIpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUpe3tFPTkyO3doaWxlKEUhPTkxKUU9PTkyPyh3PU4oRywyOSksUT1OKEcsMzgpLEQ9VChHLDIzKSxhPWwoRyx3KSxiPUMoRyxRKSxBPTAsVz0iIixFPTQyKTpFPT05Mz9FPUE8Yi5sZW5ndGg/OTA6NzY6RT09NDI/RT05MzpFPT0yND8oQSsrLEU9OTMpOkU9PTc2PyhKKEcsRCxhW1ddKSxFPTkxKTpFPT05MCYmKFcrPVN0cmluZy5mcm9tQ2hhckNvZGUoKHY9YltBXSwtMS0ofnZeMTIxKSkpLEU9MjQpfX0pLHIsMzAyKSwyMzcpKSx4KSg1MDksciwwKSwyNzIpLHIsMCksZnVuY3Rpb24oRyxBLFEsRCl7eCgoRD0oQT0oUT1UKEcsMjYpLCRLKEcpKSxUKEcsMjYpKSxEKSxHLGsoRyxRKT4+PkEpfSksciw0NTEpLHIpLDU5KSxyKSw1MCksbG8pKCJTdWJtaXQiKSkuZGlzcG9zZSgpLDYwKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTMxO3chPTE4Oyl3PT0zMD93PUcuVT09Rz84NToxODp3PT01Mz8oRy5BPXZvaWQgMCx3PTI0KTp3PT0yMj93PWE9PTQ4PzUzOjE4Onc9PTk5PyhHLkM9a0soZmFsc2UsRywzMiksRy5BPXZvaWQgMCx3PTE4KTp3PT0zMT8oYT1OKEcsMzQpLGI9TihHLDM2KSxXPVQoRywyMyksdz0zMCk6dz09MjQ/dz1BPT0yPzk5OjE4Onc9PTg1JiYoUT1sKEcsYSksRD1DKEcsVyksQT1sKEcsYiksUVtBXT1ELHc9MjIpfSxyLDE0NCksNDg4KSxZOCg0KSksW10pKSw0NjYpKSxbXSkpLHIpLnQ1PTAsciksNjkpLFk4KDQpKSksciksNTQ3KSxmdW5jdGlvbigpe30pLHIsMjgwKTt3aGlsZShbXSlpZihWKDYwLGZ1bmN0aW9uKEcsQSxRLEQsVyl7eCgoQT1qMCgiYXJyYXkiLChEPWwoKFc9TigoUT1UKEcsMjMpLEcpLDEwKSxHKSxRKSxEKSwibnVtYmVyIiksVyksRyxBKX0sciwzNDApLFtdKWJyZWFrO2lmKFYoNzYsZnVuY3Rpb24oRyxBLFEsRCxXLGIpeyhiPWwoRywoVz1sKEcsKEQ9TigoUT1UKEcsMjYpLEE9TihHLDMwKSxHKSwxOCksQSkpLFEpKT09Vyx4KShELEcsK2IpfSxyLChKKHIsMTYxLChKKHIsKEoociwoVig0NCxmdW5jdGlvbihHKXtxKDksOCxHLDQpfSxyLChWKDEyLCh4KDI2MixyLFs1NywwLCh4KDM1MywoVigyOCwoVig2MCxmdW5jdGlvbihHLEEsUSxELFcpe3tXPTM4O3doaWxlKFchPTYpVz09OTQ/KEQtLSxXPTYzKTpXPT0zND9XPTYzOlc9PTQxP1c9QT82NTo0MjpXPT00Mj8oeCg1MDksRyxHLlApLFc9Nik6Vz09Mzk/KFE9VChHLDMxKSxBW1FdPUcuU1tRXSxXPTk0KTpXPT02Mz9XPUQ+MD8zOTo4Olc9PTg/KEFbMzU3XT1HLlNbMzU3XSxBWzQ2NF09Ry5TWzQ2NF0sRy5TPUEsVz02KTpXPT0zOD8oQT1HLkt6LnBvcCgpLFc9NDEpOlc9PTY1JiYoRD0kSyhHKSxXPTM0KX19LChNKDE5NSwoVigxMiwoVig3NixmdW5jdGlvbihHLEEsUSxELFcsYixhLHcsdixFLG0sWUssR2wsY1MsbixzdyxsQixoLFdTKXt7aD0wO3doaWxlKGghPTY1KWg9PTYzP2g9bTxZSz84OTozOmg9PTc2PyhjUz1XUygxKSxELnB1c2goY1MpLFcrPWNTPzA6MSxoPTI3KTpoPT03Mz9oPTMwOmg9PTQ/KHN3PSgoV3wwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsRT0wLHY9W10saD03KTpoPT0yNz8oYisrLGg9MzIpOmg9PTIzPyhWKDEyLGZ1bmN0aW9uKEgsZkUsUCxENCxlMCx0KXtmb3IodD0xMjt0IT0yODspdD09NDc/dD1mRT49RDQubGVuZ3RoPzYyOjg4OnQ9PTYyPyhENC5wdXNoKFQoSCwzMSkpLHQ9NCk6dD09NjQ/KFArKyx0PTE1KTp0PT04NT90PURbUF0/NTQ6OTA6dD09MTU/dD1QPFlLPzU5OjY3OnQ9PTg4PyhmRT1ENFtmRV0sdD01NCk6dD09NTk/KGZFPXZbUF0sdD04NSk6dD09MTI/KEQ0PVtdLGUwPVtdLFA9MCx0PTcwKTp0PT00P3Q9NDc6dD09NTQ/KGUwLnB1c2goZkUpLHQ9NjQpOnQ9PTY3PyhILk89cSgxOSxILG4uc2xpY2UoKSksSC5aPXEoMTYsSCxlMCksdD0yOCk6dD09NzA/dD0xNTp0PT05MCYmKHQ9NDcpfSxHLGxCKSxoPTY1KTpoPT0zMD9oPUdsLS0/OTE6MjM6aD09OTE/KG4ucHVzaChDKEcsTihHLDUpKSksaD03Myk6aD09Nz9oPTg6aD09ODk/KERbbV0mJih2W21dPU4oRywxOCkpLGg9NzkpOmg9PTA/KFdTPWZ1bmN0aW9uKEgsZkUpe2Zvcig7YTxIOylRfD0kSyhHKTw8YSxhKz04O3JldHVybiBhLT1ILFE+Pj0oZkU9USYoMTw8SCktMSxIKSxmRX0sbEI9VChHLDMxKSxhPVE9MCx3PShBPVdTKDMpLH5BLTMqfihBfDEpKyhBJi0yKSsyKih+QV4xKSksWUs9V1MoNSksVz1iPTAsRD1bXSxoPTkyKTpoPT03OT8obSsrLGg9NjMpOmg9PTkyP2g9MzI6aD09MzI/aD1iPFlLPzc2OjQ6aD09MzE/KG09MCxoPTc3KTpoPT00MT8oRSsrLGg9OCk6aD09Nzc/aD02MzpoPT04Nz9oPTMwOmg9PTg/aD1FPFlLPzE0OjMxOmg9PTM/KG49W10sR2w9dyxoPTg3KTpoPT0xNCYmKERbRV18fCh2W0VdPVdTKHN3KSksaD00MSl9fSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyl7Zm9yKFc9Nzg7VyE9MTI7KVc9PTc4P1c9Vig3NCw1MDksZmFsc2UsRyx0cnVlLEEpPzEyOjI3Olc9PTI3JiYoRD1OKEcsMTMpLFE9TihHLDEzKSxKKEcsUSxmdW5jdGlvbihiKXtyZXR1cm4gZXZhbChiKX0oTzgobChHLlUsRCkpKSksVz0xMil9LHIsKFYoMjgsZnVuY3Rpb24oRyxBLFEsRCxXLGIpe2ZvcihiPTY5O2IhPTczOyliPT00ND8oQSsrLGI9ODApOmI9PTc0P2I9ODA6Yj09MzY/KEooRyxXLEQpLGI9NzMpOmI9PTgwP2I9QTxRPzg0OjM2OmI9PTg0PyhELnB1c2goJEsoRykpLGI9NDQpOmI9PTY5JiYoVz1OKEcsMjYpLFE9cSg3LDEyNyxHKSxBPTAsRD1bXSxiPTc0KX0sKFYoNDQsZnVuY3Rpb24oRyxBLFEpeyhBPWsoKFE9TihHLDE0KSxHLlUpLFEpLEEpWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoQVsxXSxBWzJdLEhTKX0sKFYoNDQsZnVuY3Rpb24oRyl7ZVMoNCxHKX0sKEoociwoTSg0NjQscixbKEoociw0NjEsKFYoNjAsZnVuY3Rpb24oRyxBLFEsRCl7RD1rKEcsKEE9TihHLChRPU4oRywxNyksMjEpKSxBKSksbChHLFEpIT0wJiZNKDUwOSxHLEQpfSxyLChWKDI4LGZ1bmN0aW9uKEcsQSxRLEQsVyxiKXt4KChEPWwoKFc9bCgoYj0oUT0oQT1UKEcsMjYpLFQoRywyNykpLE4oRyw1KSksRyksQSksRyksUSksYiksRyxXW0RdKX0sciwoTSgzNTcsKFYoMTIsZnVuY3Rpb24oRyxBKXtCaygzNTcsKEE9bChHLE4oRyw2KSksMCksRy5VLDUwOSxBLDEwNCl9LChyLkY4PShWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSl7Zm9yKG09MjI7bSE9MzA7KW09PTQ3PyhEPVQoMiwzMiwxLDEsdixHLFcsQSxRKSxBLmFkZEV2ZW50TGlzdGVuZXIoUSxELEhTKSxrKEcsMTYxKS5wdXNoKGZ1bmN0aW9uKCl7QS5yZW1vdmVFdmVudExpc3RlbmVyKFEsRCxIUyl9KSx4KDM1NSxHLFtBLFEsRF0pLG09MzApOm09PTI0P209QSE9PTA/NDc6MzA6bT09MjImJihhPVQoRywyNyksRT1OKEcsOSksdz1OKEcsMjIpLGI9TihHLDM2KSxXPUMoRyx3KSxRPUMoRyxFKSxBPWwoRy5VLGEpLHY9bChHLGIpLG09MjQpfSxyLDYzKSwwKSxyKSw0MzUpLHIpLFtdKSw0NDgpKSwxMTEpKSxVKSksMjA0OCldKSwyOTcpLHt9KSxyKSwzNzkpLHIpLDQ2MiksciksMSksMTE4KSksMzA2KSksZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSl7Zm9yKGE9Mjg7YSE9OTE7KWlmKGE9PTM0KWE9RC5maT81MzozOTtlbHNlIGlmKGE9PTM5KVUuY2xlYXJUaW1lb3V0KEQuZTUpLGUoRC5Eeiw4MyxHKSxlKEQuTWUsOTMsRyksYT01MztlbHNlIGlmKGE9PTUzKUErKyxhPTk0O2Vsc2UgaWYoYT09NTIpRD1HLkJxW0FdLGE9MzQ7ZWxzZSBpZihhPT03NilhPTk0O2Vsc2UgaWYoYT09MzApRy5CcS5sZW5ndGg9MCxhPTkxO2Vsc2UgaWYoYT09Mjgpe2ZvcihXIGluIGI9ayhHLChRPSRLKEcpLDM4MSkpLGRlbGV0ZSBiW1FdLGIpaWYoVyE9PSJ0IiYmT2JqZWN0Lmhhc093bihiLFcpKXJldHVybjtBPShhPTc2LDApfWVsc2UgYT09OTQmJihhPUE8Ry5CcS5sZW5ndGg/NTI6MzApfSksciwzMzQpLHIpLFk4KDQpKSxyKSwzMjMpLGZ1bmN0aW9uKEcsQSxRLEQsVyxiLGEsdyx2LEUsbSxZSyxHbCxjUyxuKXtmb3Iobj0yO24hPTk0OylpZihuPT0yNSluPTE5O2Vsc2UgaWYobj09NjgpY1M9YS5sZW5ndGgsdj12PjA/djoxLG09MCxuPTI1O2Vsc2UgaWYobj09Njcpbj1qMCgiYXJyYXkiLGEsIm51bWJlciIpPT0ib2JqZWN0Ij8wOjUzO2Vsc2UgaWYobj09NTMpbj1HLlU9PUc/Njg6OTQ7ZWxzZSBpZihuPT00NSltKz12LG49MTk7ZWxzZSBpZihuPT0wKXtmb3IoRSBpbiBXPVtdLGEpVy5wdXNoKEUpO2E9VyxuPTUzfWVsc2Ugbj09Mj9uPVYoMTAsNTA5LHRydWUsRyx0cnVlLEEpPzk0OjI5Om49PTE5P249bTxjUz83NDo5NDpuPT0yOT8oR2w9VChHLDMwKSx3PVQoRywyNiksRD1OKEcsMTcpLGI9TihHLDI2KSxRPUMoRyx3KSx2PWsoRyxEKSxZSz1sKEcsYiksYT1DKEcsR2wpLG49NjcpOm49PTc0JiYoUShhLnNsaWNlKG0sKG18MCkrKHZ8MCkpLFlLKSxuPTQ1KX0pLHIsNDM3KSxyKSwwKSxyLllJPTAsMCldKSxmdW5jdGlvbihHLEEsUSxELFcsYixhLHcpe2Zvcih3PTIyO3chPTU5Oyl3PT05P3c9US0tPzkyOjU3Onc9PTIyPyhXPU4oRywxNCksUT1xKDYsMTI3LEcpLGE9IiIsRD1rKEcsNzQpLGI9RC5sZW5ndGgsQT0wLHc9NjMpOnc9PTEwP3c9OTp3PT02Mz93PTk6dz09NTc/KEooRyxXLGEpLHc9NTkpOnc9PTkyJiYoQT0oKEF8MCkrKHEoMywxMjcsRyl8MCkpJWIsYSs9eVtEW0FdXSx3PTEwKX0pLHIsNDExKSwzKSksMzgwKSxbMCwwLDBdKSw0OTEpLHIpLFtdKSksMTAzKSksOClWKDQ0LGZ1bmN0aW9uKEcsQSxRLEQpe0ooRywoRD1OKEcsKEE9TihHLChRPU4oRywzMCksMzgpKSwxMCkpLEQpLEMoRyxRKXx8QyhHLEEpKX0sciwxODcpO1hmKHRydWUsKGUoKCgoSihyLDM4MSwoVig0NCxmdW5jdGlvbihHLEEsUSxELFcsYil7e2I9Nzg7d2hpbGUoYiE9OTcpYj09Mj9iPUcuVT09R3x8RD09Ry5RVyYmUT09Rz8zOTo5NzpiPT02OT8oVz1mSCgyMyw1LDAsMSxHKSxRPVcuT2YsRD1XLkpsLGI9Mik6Yj09Nzg/Yj1WKDI2LDUwOSxmYWxzZSxHLHRydWUsQSk/OTc6Njk6Yj09MzkmJihNKFcueVcsRyxELmFwcGx5KFEsVy5WKSksRy54YT1HLnUoKSxiPTk3KX19LChKKHIsKChWKDEyLGZ1bmN0aW9uKEcsQSxRLEQsVyl7SihHLChXPShEPShBPU4oRywoUT1OKEcsMzIpLDI1KSksQyhHLFEpKSxDKEcsQSkpLEEpLFcrRCl9LHIsKFYoNDQsZnVuY3Rpb24oRyxBLFEsRCxXLGIsYSx3KXtNKChRPUMoKGI9KEE9bCgoVz1OKEcsKEQ9KGE9VChHLCh3PVQoRywyNyksMjMpKSxOKEcsMjkpKSwyNSkpLEcpLFcpLEMoRyxEKSksRyksYSksdyksRyxUKDIsNiwxLEEsYixHLFEpKX0sciwoSihyLChWKDc2LGZ1bmN0aW9uKEcsQSxRKXsoQT1UKChRPVQoRywyNyksRyksMzApLHgpKEEsRywiIitsKEcsUSkpfSxyLDMxNCksNDIxKSxbXSksNDUyKSksODgpKSxWKSg0NCxmdW5jdGlvbihHKXtUYyhHLDMpfSxyLDEzMCksMzU1KSwwKSxyKSwxNSkse30pKSxYKXx8ZShbZFBdLDg1LHIpLGUpKFtpeCx1XSw5MSxyKSxbcmEsZl0pLDgyLHIpLDcpLDAscix0cnVlLHRydWUpfSxCUz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRixHKXtpZihwPWZbMF0scD09dUIpISh5PVkuaihmKSl8fCh5LmU1PVUuc2V0VGltZW91dChmdW5jdGlvbihBKXt3aGlsZSh0cnVlKWlmKEE9IVkuVC5sZW5ndGgmJiFZLk4sMTUpYnJlYWs7ZSh5LkR6LDk1LCh5LmZpPXRydWUsWSkpO3doaWxlKCEhW10paWYoZSh5Lk1lLDgxLFkpLFtdKWJyZWFrO0EmJlhmKHRydWUsMywwLFksdHJ1ZSx0cnVlKX0seS50aW1lb3V0KSxZLkJxLnB1c2goeSkpO2Vsc2UgaWYocD09JDgpWS5JPXRydWUsWS5ZYT0yNSxZLmhsPVkuRzEoKS1mWzJdLFkuaihmKTtlbHNlIGlmKHA9PVBrKXtGPWZbSV1bM107dHJ5e1g9WS5XfHxZLmooZil9Y2F0Y2goQSl7Syg1MixZLEEsMCksWD1ZLld9aWYoYz1ZLnUoKSxbXSlGKFgpO1kubCs9WS51KCktY31lbHNlIGlmKHA9PVV3KWZbM10mJihZLm89dHJ1ZSksZls0XSYmKFkuST10cnVlKSxZLmooZik7ZWxzZSBzd2l0Y2goIShwPT1peCkpe2Nhc2UgdHJ1ZTpzd2l0Y2goIShwPT1yYSkpe2Nhc2UgMD09IVtdOndoaWxlKHA9PU1mKXtyZXR1cm4gdT1mWzJdLHgoMjE3LFksZls2XSksTShMLFksdSksWS5qKGYpO2lmKE51bWJlcigpPT09LTApYnJlYWt9cD09cUI/KFkuaihmKSxZLnRyPVtdLFkuUz1udWxsLFkuVmU9W10pOnA9PWRQJiZVLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihZLks9ZnVuY3Rpb24oQSxRKXtmdW5jdGlvbiBEKFcpe2ZvcihXPTE2O1chPTEyOylXPT02Mj8oUT10cnVlLFUuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsRCxIUyksVS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixELEhTKSxBKCksVz0xMik6Vz09MTYmJihXPVE/MTI6NjIpfVUuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKFE9ZmFsc2UsRCksSFMpLFUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsRCxIUyl9KTticmVhaztjYXNlIGZhbHNlOnRyeXt7Rz0wO3doaWxlKEc8WS5jcS5sZW5ndGgpe3RyeXtTPVkuY3FbR10sU1swXVtTW0ldXShTWzJdKX1jYXRjaChBKXt9RysrfX19Y2F0Y2goQSl7fSgwLGZbSV0pKGZ1bmN0aW9uKEEsUSl7WS5JOShBLHRydWUsUSl9LChyPShZLmNxPVtdLFkpLnUoKSxmdW5jdGlvbihBKXsoZShbcUJdLChBPSFZLlQubGVuZ3RoJiYhWS5OLDg0KSxZKSxBKSYmWGYodHJ1ZSw1LDAsWSx0cnVlLGZhbHNlKX0pLGZ1bmN0aW9uKEEpe3JldHVybiBZLnoxKEEpfSxmdW5jdGlvbihBLFEsRCl7cmV0dXJuIFkuQ2koQSxRLEQpfSksWS5sKz1ZLnUoKS1yO2JyZWFrfWJyZWFrO2Nhc2UgISFudWxsOlkubz10cnVlLFkuaihmKTticmVha319LGowPWZ1bmN0aW9uKEksTCxZLGYscil7aWYoKGY9dHlwZW9mIEwsZik9PSJvYmplY3QiKWlmKEwpe2lmKEwgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gSTt3aGlsZShMIGluc3RhbmNlb2YgT2JqZWN0KXtyZXR1cm4gZjtpZihbXSlicmVha31pZigocj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoTCkscik9PSJbb2JqZWN0IFdpbmRvd10iKXJldHVybiJvYmplY3QiO3doaWxlKHI9PSJbb2JqZWN0IEFycmF5XSJ8fHR5cGVvZiBMLmxlbmd0aD09WSYmdHlwZW9mIEwuc3BsaWNlIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgic3BsaWNlIikpe3JldHVybiBJO2lmKE5hTiE9PU5hTilicmVha31pZihyPT0iW29iamVjdCBGdW5jdGlvbl0ifHx0eXBlb2YgTC5jYWxsIT0idW5kZWZpbmVkIiYmdHlwZW9mIEwucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhTC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgiY2FsbCIpKXJldHVybiJmdW5jdGlvbiJ9ZWxzZSByZXR1cm4ibnVsbCI7ZWxzZSBmb3IoMTtmPT0iZnVuY3Rpb24iJiZ0eXBlb2YgTC5jYWxsPT0idW5kZWZpbmVkIjsxKXtyZXR1cm4ib2JqZWN0IjtpZihudWxsIT0oTmFOPT09TmFOKSlicmVha31yZXR1cm4gZn0scEg9ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsMyk7aWYoe30pYnJlYWt9fSx1eD1mdW5jdGlvbihJLEwpe2Z1bmN0aW9uIFkoKXt0aGlzLm49KHRoaXMuWD1bXSwwKX1yZXR1cm4gTD0oST0oKFkucHJvdG90eXBlLnRsPWZ1bmN0aW9uKCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSw2KX0sWSkucHJvdG90eXBlLm56PWZ1bmN0aW9uKGYscil7cmV0dXJuIGUuY2FsbCh0aGlzLGYsMTYscil9LG5ldyBZKSxuZXcgWSksW2Z1bmN0aW9uKGYpe0kubnooZiksTC5ueihmKX0sZnVuY3Rpb24oZixyKXtyZXR1cm4oZj1mPT09dm9pZCAwP3RydWU6ZixyPUkudGwoKS5jb25jYXQoTC50bCgpKSxmKSYmKEw9bmV3IFkpLHJ9XX0sSkM9ZnVuY3Rpb24oKXtyZXR1cm4gUFMuY2FsbCh0aGlzLDU2LDE5KX0sbD1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYodHJ1ZSlicmVha31pZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sQms9ZnVuY3Rpb24oSSxMLFksZixyLHApe1kuS3oubGVuZ3RoPnA/bk8oW28xLDM2XSxMLEksWSk6KFkuS3oucHVzaChZLlMuc2xpY2UoKSksWS5TW2ZdPXZvaWQgMCx4KGYsWSxyKSl9LEtFPWZ1bmN0aW9uKEkpe3JldHVybiB3UC5jYWxsKHRoaXMsMCwxMixJKX0sQz1mdW5jdGlvbihJLEwsWSl7WT1JLlNbTF07d2hpbGUoWT09PXZvaWQgMCl7dGhyb3dbbzEsMzAsTF07aWYoMSlicmVha31zd2l0Y2goIVkudmFsdWUpe2Nhc2UgdHJ1ZTp0cnVlLnRydWU7YnJlYWs7Y2FzZSAwIT0hWyIiXTpyZXR1cm4gWS5jcmVhdGUoKTticmVha31yZXR1cm4oWS5jcmVhdGUoTCo1KkwrNCpMKy0zNSksWSkucHJvdG90eXBlfSxHeT1mdW5jdGlvbihJLEwsWSxmLHIscCl7cmV0dXJuIFdrLmNhbGwodGhpcyw3MSwzLEksTCxZLGYscixwKX0sZEM9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jYWxsKHRoaXMsOCl9LFpxPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMseSxGLEcsQSl7Zm9yKGM9KHU9KFk9SS5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksMCkscj1bXSwwKTt1PFkubGVuZ3RoO3UrKylmPVkuY2hhckNvZGVBdCh1KSxmPDEyOD9yW2MrK109ZjooZjwyMDQ4P3JbYysrXT0oRz1mPj42LC0xLX4oR3wxOTIpKTooKGZ8MCkrfihmJjY0NTEyKS0gLTY0NTEzLShmXjY0NTEyKT09NTUyOTYmJnUrMTxZLmxlbmd0aCYmKFM9WS5jaGFyQ29kZUF0KHUrMSksLShTfDY0NTEyKS0yKn4oU3w2NDUxMikrKFNeNjQ1MTIpKzIqKH5TXjY0NTEyKSk9PTU2MzIwPyhmPTY1NTM2KygyKihmfDApLX4oZiZMKS0gLTErMip+Zjw8MTApKyhZLmNoYXJDb2RlQXQoKyt1KSZMKSxyW2MrK109KHk9Zj4+MTgsLTEtfnkrKH55JjI0MCkpLHJbYysrXT0oQT1mPj4xMiY2MywtfihBJjEyOCkrMiooQV4xMjgpKyh+QV4xMjgpKSk6cltjKytdPShwPWY+PjEyLDIqfihwJjIyNCktMip+cC0gLTIyNSsofnB8MjI0KSkscltjKytdPShYPWY+PjYmNjMsLX5YKyhYXjEyOCkrKH5YfDEyOCkpKSxyW2MrK109KEY9ZiY2MywoRiYxMjgpLTEtKH5GXjEyOCkpKTtyZXR1cm4gcn0sRnQ9ZnVuY3Rpb24oKXtyZXR1cm4gUmEuY2FsbCh0aGlzLDQ1LDMpfSxqYT1mdW5jdGlvbihJKXtyZXR1cm4gb2EuY2FsbCh0aGlzLDEsNyxJKX0sZ0M9ZnVuY3Rpb24oSSxMLFksZil7dHJ5e2Y9SVsoKEx8MiktfihMfDIpKyh+TF4yKSklM10sSVtMXT0oSVtMXXwwKS0oSVsoKEx8MCkrMSklM118MCktKGZ8MCleKEw9PTE/Zjw8WTpmPj4+WSl9Y2F0Y2gocil7dGhyb3cgcjt9fSxZVj1mdW5jdGlvbihJKXtyZXR1cm4geWMuY2FsbCh0aGlzLDk5LDYsSSl9LGs9ZnVuY3Rpb24oSSxMLFkpe2lmKChZPUkuU1tMXSxZKT09PXZvaWQgMCl0aHJvd1tvMSwzMCxMXTtpZihZLnZhbHVlKXJldHVybiBZLmNyZWF0ZSgpO3JldHVybiBZLmNyZWF0ZShMKjUqTCs0KkwrLTM1KSxZLnByb3RvdHlwZX0sU2E9ZnVuY3Rpb24oSSl7cmV0dXJuIGFhLmNhbGwodGhpcywxMCxJKX0sbXU9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMpe3doaWxlKEwuVT09TCl7Zm9yKHU9QyhMLEkpLEk9PTE5NXx8ST09NDg4fHxJPT0xMj8ocD1mdW5jdGlvbihTLHksRixHLEEsUSxELFcsYixhKXtmb3IoYj0oYT02Myw2Nyk7Oyl0cnl7aWYoYT09NzQpYnJlYWs7ZWxzZSBpZihhPT02MylEPXUubGVuZ3RoLEE9KER8MCktND4+MyxhPTM3O2Vsc2UgaWYoYT09MTkpYj00Myx1LnI1PUU4KDgsRixUKDAsNjYseSx1KSxUKDAsNTEsLSh5JjQpLTEtMyp+KHl8NCkrMioofnleNCksdSksMCksYT02NjtlbHNlIGlmKGE9PTY2KXUucHVzaCgoUT11LnI1Wy1+KEQmNyktIC0xKzIqKEReNykrMioofkReNyldLC0xKyh+USZTKS0oflF8UykpKSxhPTc0O2Vsc2UgaWYoYT09NTApdS5FQT1BLHk9KEc9QTw8MywtfihHJjQpK34oR3w0KSsyKihHJi01KSksRj1bMCwwLGNbMV0sY1syXV0sYT0xOTtlbHNlIGlmKGE9PTM3KWE9dS5FQSE9QT81MDo2NjtlbHNlIGlmKGE9PTk1KXRocm93IGI9NjcsVzt9Y2F0Y2godyl7aWYoYj09NjcpdGhyb3cgdztiPT00MyYmKFc9dyxhPTk1KX19LGM9QyhMLDM4MCkpOnA9ZnVuY3Rpb24oUyl7dS5wdXNoKFMpfSxmJiZwKGYmMjU1KSxYPTAscj1ZLmxlbmd0aDtYPHI7WCsrKXAoWVtYXSk7aWYodHJ1ZSE9IVtdKWJyZWFrfX0sdW89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDI0LEksTCxZLGYscixwLHUsWCl9LGZIPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3U9KFg9KCgocD1OKHIsKGM9cltBcF18fHt9LEwpKSxjKS55Vz1UKHIsSSksYykuVj1bXSxyLlUpPT1yPygkSyhyKXxZKS1mOjEsTikociw5KTt7Uz1ZO3doaWxlKFM8WCljLlYucHVzaChUKHIsMzApKSxTKyt9Zm9yKChjLk9mPWsocix1KSxjKS5KbD1sKHIscCk7WC0tOyljLlZbWF09QyhyLGMuVltYXSk7cmV0dXJuIGN9LFE4LFk4PWZ1bmN0aW9uKEksTCxZKXtmb3IoWT01NTtZIT04MjspaWYoWT09NTIpWT0zOTtlbHNlIGlmKFk9PTM5KVk9SS0tPzY4Ojc3O2Vsc2UgaWYoWT09OTIpWT0zOTtlbHNlIGlmKFk9PTY4KUwucHVzaChNYXRoLnJhbmRvbSgpKjI1NXwwKSxZPTUyO2Vsc2V7aWYoWT09NzcpcmV0dXJuIEw7WT09NTUmJihMPVtdLFk9OTIpfX0sYm89ZnVuY3Rpb24oSSxMKXtyZXR1cm4gclAuY2FsbCh0aGlzLDg3LDMyLEksTCl9LFFTPWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjLFMpe3JldHVybiB3Qy5jYWxsKHRoaXMsNSxJLEwsWSxmLHIscCx1LFgsYyxTKX0seTg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpeyhMLnB1c2goKHA9SVswXTw8MjQscj1JWzFdPDwxNiwocCZyKS0xLSh+cF5yKSl8SVsyXTw8OHxJWzNdKSxMLnB1c2goKHk9KFg9SVs0XTw8MjQsRj1JWzVdPDwxNiwtfihYJkYpKy0zLShYfH5GKS0oflh8RikpfElbNl08PDgsZj1JWzddLChmfDApK34oeSZmKS1+eSkpLEwpLnB1c2goKFk9KHU9SVs4XTw8MjQsUz1JWzldPDwxNiwoU3wwKSsodV5TKS0ofnUmUykpfElbMTBdPDw4LGM9SVsxMV0sKFkmYyktMSsoWSZ+YyktKFl8fmMpKSl9LFRsPWZ1bmN0aW9uKEksTCxZKXtyZXR1cm4oWT1JLmNyZWF0ZSgpLnNoaWZ0KCksTCkuTy5jcmVhdGUoKS5sZW5ndGh8fEwuWi5jcmVhdGUoKS5sZW5ndGh8fChMLk89dm9pZCAwLEwuWj12b2lkIDApLFl9LCRWPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gSy5jYWxsKHRoaXMsOSxMLFksSSxmLHIscCl9LGN2PWZ1bmN0aW9uKEksTCxZLGYscil7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzLEksTCxZLGYscil9LHFmPWZ1bmN0aW9uKEkpe3t2YXIgTD00Nzt3aGlsZShMIT0xOSlpZihMPT00Nyl2YXIgWT1DTy5hcHBseSgoTD00LDEpLGFyZ3VtZW50cyk7ZWxzZSBpZihMPT05MylMPTY4O2Vsc2UgaWYoTD09MzgpcisrLEw9Njg7ZWxzZSBpZihMPT0yKXZhciBmPShMPTkzLEkpWzBdLHI9MDtlbHNlIGlmKEw9PTY4KUw9cjxZLmxlbmd0aD81OToxMTtlbHNle2lmKEw9PTI5KXJldHVybiBteigwLG51bGwsSVswXSwxNCk7aWYoTD09NClMPVkubGVuZ3RoPT09MD8yOToyO2Vsc2UgaWYoTD09NTkpZis9ZW5jb2RlVVJJQ29tcG9uZW50KFlbcl0pK0lbcisxXSxMPTM4O2Vsc2UgaWYoTD09MTEpcmV0dXJuIG16KDAsbnVsbCxmLDEyKX19fSxaND1mdW5jdGlvbihJKXtyZXR1cm4gQUsuY2FsbCh0aGlzLDcsNDgsSSl9O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlIGZhbHNlPT0wOnZhciBXdjthOnt2YXIgRGM9e2E6dHJ1ZX0sYng9e307dHJ5e1d2PShieC5fX3Byb3RvX189RGMsYngpLmE7YnJlYWsgYX1jYXRjaChJKXt9V3Y9ZmFsc2V9UTg9V3Y/ZnVuY3Rpb24oSSxMLFkpe2ZvcihZPTU4O1khPTMxOylpZihZPT01OClJLl9fcHJvdG9fXz1MLFk9MjA7ZWxzZSBpZihZPT0yMClZPUkuX19wcm90b19fIT09TD84NDo0NDtlbHNle2lmKFk9PTQ0KXJldHVybiBJO2lmKFk9PTg0KXRocm93IG5ldyBUeXBlRXJyb3IoSSsiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIGZhbHNlOlE4PU9iamVjdC5zZXRQcm90b3R5cGVPZjticmVha312YXIgVT10aGlzfHxzZWxmLFJfPVE4LE5mPSJjbG9zdXJlX3VpZF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApLGNrLHZTPTAsR2M9ZnVuY3Rpb24oSSxMLFksZixyLHApe2lmKCJzIilwPTg3O2ZvcihmPTI1OzspdHJ5e2lmKHA9PTgwKWJyZWFrO2Vsc2UgaWYocD09MTMpZj0yNSxwPTY5O2Vsc2UgaWYocD09NDIpST1mYWxzZSxMPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0k9dHJ1ZX19KSxwPTEwO2Vsc2V7aWYocD09MTUpcmV0dXJuIGZhbHNlO2lmKHA9PTY5KXJldHVybiBmPTI1LEk7cD09MTA/KGY9NjcsWT1mdW5jdGlvbigpe30sVS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixZLEwpLFUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsWSxMKSxwPTY5KTpwPT04NyYmKHA9VS5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk/NDI6MTUpfX1jYXRjaCh1KXtpZihmPT0yNSl0aHJvdyB1O2Y9PTY3JiYocj11LHA9MTMpfX0oKSxiQj0oKFIxKE93LDIsMzYsKCgoYm8ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuRm09dHJ1ZX0sSkMucHJvdG90eXBlKS5IPWZ1bmN0aW9uKEkpe3tJPTE1O3doaWxlKEkhPTcwKUk9PTE0P0k9dGhpcy5OaC5sZW5ndGg/MTM6NzA6ST09MjI/ST0xNDpJPT0xNT9JPXRoaXMuTmg/Njc6NzA6ST09Njc/ST0xNDpJPT0xMyYmKHRoaXMuTmguc2hpZnQoKSgpLEk9MjIpfX0sSkMucHJvdG90eXBlKVsoYm8ucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRydWV9LEpDLnByb3RvdHlwZS5ZPWZhbHNlLEpDLnByb3RvdHlwZSkuZGlzcG9zZT1mdW5jdGlvbihJKXt7ST0yNzt3aGlsZShJIT0yMSlJPT0yNz9JPXRoaXMuWT8yMTo4NzpJPT04NyYmKHRoaXMuWT10cnVlLHRoaXMuSCgpLEk9MjEpfX0sU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9LGJvKSksT3cucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oSSxMLFksZixyLHApe2ZvcihwPTE1O3AhPTIwOylwPT03OT8odGhpcy5vZmZzZXRYPUkub2Zmc2V0WCx0aGlzLm9mZnNldFk9SS5vZmZzZXRZLHRoaXMuY2xpZW50WD1JLmNsaWVudFghPT12b2lkIDA/SS5jbGllbnRYOkkucGFnZVgsdGhpcy5jbGllbnRZPUkuY2xpZW50WSE9PXZvaWQgMD9JLmNsaWVudFk6SS5wYWdlWSx0aGlzLnNjcmVlblg9SS5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1JLnNjcmVlbll8fDAscD0zNSk6cD09Njk/cD1yPzI6Nzk6cD09NDM/cD1mPzk2OjU2OnA9PTM1Pyh0aGlzLmJ1dHRvbj1JLmJ1dHRvbix0aGlzLmtleUNvZGU9SS5rZXlDb2RlfHwwLHRoaXMua2V5PUkua2V5fHwiIix0aGlzLmNoYXJDb2RlPUkuY2hhckNvZGV8fChZPT0ia2V5cHJlc3MiP0kua2V5Q29kZTowKSx0aGlzLmN0cmxLZXk9SS5jdHJsS2V5LHRoaXMuYWx0S2V5PUkuYWx0S2V5LHRoaXMuc2hpZnRLZXk9SS5zaGlmdEtleSx0aGlzLm1ldGFLZXk9SS5tZXRhS2V5LHRoaXMucG9pbnRlcklkPUkucG9pbnRlcklkfHwwLHRoaXMucG9pbnRlclR5cGU9SS5wb2ludGVyVHlwZSx0aGlzLnN0YXRlPUkuc3RhdGUsdGhpcy50aW1lU3RhbXA9SS50aW1lU3RhbXAsdGhpcy5Tbz1JLEkuZGVmYXVsdFByZXZlbnRlZCYmT3cuRi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpLHA9MjApOnA9PTY3PyhmPUkuZnJvbUVsZW1lbnQscD05Nik6cD09MTU/KFk9dGhpcy50eXBlPUkudHlwZSxyPUkuY2hhbmdlZFRvdWNoZXMmJkkuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP0kuY2hhbmdlZFRvdWNoZXNbMF06bnVsbCx0aGlzLnRhcmdldD1JLnRhcmdldHx8SS5zcmNFbGVtZW50LHRoaXMuY3VycmVudFRhcmdldD1MLGY9SS5yZWxhdGVkVGFyZ2V0LHA9NDMpOnA9PTU2P3A9WT09Im1vdXNlb3ZlciI/Njc6Mzg6cD09ODI/KGY9SS50b0VsZW1lbnQscD05Nik6cD09OTY/KHRoaXMucmVsYXRlZFRhcmdldD1mLHA9NjkpOnA9PTI/KHRoaXMuY2xpZW50WD1yLmNsaWVudFghPT12b2lkIDA/ci5jbGllbnRYOnIucGFnZVgsdGhpcy5jbGllbnRZPXIuY2xpZW50WSE9PXZvaWQgMD9yLmNsaWVudFk6ci5wYWdlWSx0aGlzLnNjcmVlblg9ci5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1yLnNjcmVlbll8fDAscD0zNSk6cD09MzgmJihwPVk9PSJtb3VzZW91dCI/ODI6OTYpfSxPdy5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7KE93LkYuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy5Tbykuc3RvcFByb3BhZ2F0aW9uP3RoaXMuU28uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5Tby5jYW5jZWxCdWJibGU9dHJ1ZX0sT3cpLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbihJKXt3aGlsZSh0cnVlIT0hW10paWYoZmFsc2UhPShPdy5GLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksbnVsbCkpYnJlYWs7KEk9dGhpcy5TbyxJLnByZXZlbnREZWZhdWx0KT9JLnByZXZlbnREZWZhdWx0KCk6SS5yZXR1cm5WYWx1ZT1mYWxzZX0sImNsb3N1cmVfbGlzdGVuYWJsZV8iKSsoTWF0aC5yYW5kb20oKSoxRTZ8MCksaW89MCxWUz0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEV3PSJjbG9zdXJlX2xtXyIrKCgoKEtFLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7Zm9yKFM9OTk7UyE9MTk7KWlmKFM9PTgzKVM9Yz4tMT8zNTo4NDtlbHNlIGlmKFM9PTM1KVg9cFtjXSxTPTM0O2Vsc2UgaWYoUz09NzEpUz1wPzQzOjkwO2Vsc2V7aWYoUz09NTkpcmV0dXJuIFg7Uz09MzQ/Uz1ZPzU5OjQ0OlM9PTQ0PyhYLnllPWZhbHNlLFM9NTkpOlM9PTg0PyhYPW5ldyBzOCghIWYsTCx0aGlzLnNyYyx1LHIpLFgueWU9WSxwLnB1c2goWCksUz01OSk6Uz09NDM/KGM9UFMoNTYsNTYsMCxmLEwscixwKSxTPTgzKTpTPT05OT8odT1JLnRvU3RyaW5nKCkscD10aGlzLkpbdV0sUz03MSk6Uz09OTAmJihwPXRoaXMuSlt1XT1bXSx0aGlzLmc1KyssUz00Myl9fSxLRSkucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3tYPTI5O3doaWxlKFghPTQ1KWlmKFg9PTM4KVooMjYsdHJ1ZSxyW3VdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwocix1LDEpLFg9NTY7ZWxzZXtpZihYPT05NilyZXR1cm4gZmFsc2U7aWYoWD09NzcpWD1wIGluIHRoaXMuSj82Nzo4ODtlbHNlIGlmKFg9PTg5KVg9dT4tMT8zODo5NjtlbHNlIGlmKFg9PTU2KVg9ci5sZW5ndGg9PTA/NTA6NjU7ZWxzZXtpZihYPT04OClyZXR1cm4gZmFsc2U7aWYoWD09Njcpcj10aGlzLkpbcF0sdT1QUyg1Niw1OCwwLFksTCxmLHIpLFg9ODk7ZWxzZSBpZihYPT0yOSlwPUkudG9TdHJpbmcoKSxYPTc3O2Vsc2UgaWYoWD09NTApZGVsZXRlIHRoaXMuSltwXSx0aGlzLmc1LS0sWD02NTtlbHNlIGlmKFg9PTY1KXJldHVybiB0cnVlfX19fSxLRS5wcm90b3R5cGUpLmxkPShLRS5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oSSxMLFksZixyKXtyZXR1cm4gYWEoOSwoZj0ocj1JIT09KFk9TCE9PXZvaWQgMCx2b2lkIDApKT9JLnRvU3RyaW5nKCk6IiIsZmFsc2UpLHRydWUsdGhpcy5KLGZ1bmN0aW9uKHAsdSxYKXtmb3IoWD01MTtYIT03OTspaWYoWD09NjgpWD1yJiZwW3VdLnR5cGUhPWZ8fFkmJnBbdV0uY2FwdHVyZSE9TD81OToxO2Vsc2UgaWYoWD09OTUpWD11PHAubGVuZ3RoPzY4OjQ5O2Vsc2UgaWYoWD09NTkpKyt1LFg9OTU7ZWxzZSBpZihYPT04NylYPTk1O2Vsc2V7aWYoWD09MSlyZXR1cm4gdHJ1ZTtpZihYPT00OSlyZXR1cm4gZmFsc2U7WD09NTEmJih1PTAsWD04Nyl9fSl9LGZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4ocj0ocD0tMSx0aGlzLkopW0wudG9TdHJpbmcoKV0scikmJihwPVBTKDU2LDU3LDAsSSxmLFkscikpLHA+LTE/cltwXTpudWxsfSksTWF0aCkucmFuZG9tKCkqMUU2fDApLEkxPXt9LGhDPTAsckM9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt6PSgoUjEoRnQsMiw3LEpDKSxGdC5wcm90b3R5cGUpW2JCXT10cnVlLEZ0LnByb3RvdHlwZSk7d2hpbGUodHJ1ZSlpZih0cnVlIT0hKHoucWg9ZnVuY3Rpb24oSSl7dGhpcy5hOT1JfSxbXSkpYnJlYWs7KHouYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihJLEwsWSxmKXt4SygzLDMsbnVsbCx0cnVlLHRoaXMsSSxmLFksTCl9LHopLnJlbW92ZUV2ZW50TGlzdGVuZXI9KHouZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgsYyxTLHksRil7e0Y9OTU7d2hpbGUoRiE9OTMpaWYoRj09MTApRj0hcC5GbSYmeTxTLmxlbmd0aD81MDo4NDtlbHNlIGlmKEY9PTQyKUY9NDc7ZWxzZSBpZihGPT02KUY9NzA7ZWxzZSBpZihGPT04OSlYPXAscD1uZXcgYm8ocixZKSxVOChwLFgpLEY9ODg7ZWxzZSBpZihGPT05NClGPVM/NjA6ODQ7ZWxzZSBpZihGPT01MCl1PXAuY3VycmVudFRhcmdldD1TW3ldLGY9SygzMyxyLHAsdHJ1ZSx1LGZhbHNlKSYmZixGPTIzO2Vsc2UgaWYoRj09ODcpRj1wIGluc3RhbmNlb2YgYm8/NzY6ODk7ZWxzZSBpZihGPT0zNyljPWMuYTksRj03MDtlbHNlIGlmKEY9PTM4KUwucHVzaChjKSxGPTM3O2Vsc2UgaWYoRj09NjApeT0wLEY9MzQ7ZWxzZSBpZihGPT03NilwLnRhcmdldD1wLnRhcmdldHx8WSxGPTg4O2Vsc2UgaWYoRj09ODgpZj10cnVlLEY9NTY7ZWxzZSBpZihGPT0yMClMPVtdLEY9NjtlbHNlIGlmKEY9PTQ3KUY9IXAuRm0mJnk+PTA/NDoxODtlbHNlIGlmKEY9PTgzKXA9bmV3IGJvKHAsWSksRj04ODtlbHNlIGlmKEY9PTM5KUY9dHlwZW9mIHA9PT0ic3RyaW5nIj84Mzo4NztlbHNle2lmKEY9PTg0KXJldHVybiBmO0Y9PTIzPyh5KyssRj0xMCk6Rj09MzQ/Rj0xMDpGPT01ND8odT1wLmN1cnJlbnRUYXJnZXQ9WSxmPUsoNixyLHAsdHJ1ZSx1LHRydWUpJiZmLHAuRm18fChmPUsoNSxyLHAsdHJ1ZSx1LGZhbHNlKSYmZiksRj05NCk6Rj09NTY/Rj1TPzM6MTg6Rj09Mz8oeT1TLmxlbmd0aC0xLEY9NDIpOkY9PTQ/KHU9cC5jdXJyZW50VGFyZ2V0PVNbeV0sZj1LKDcscixwLHRydWUsdSx0cnVlKSYmZixGPTE1KTpGPT0xOD9GPXAuRm0/OTQ6NTQ6Rj09Nzg/KFM9TCxwPUkscj1wLnR5cGV8fHAsWT10aGlzLkJpLEY9MzkpOkY9PTE1Pyh5LS0sRj00Nyk6Rj09OTU/KGM9dGhpcy5hOSxGPTQzKTpGPT00Mz9GPWM/MjA6Nzg6Rj09NzAmJihGPWM/Mzg6NzgpfX19LGZ1bmN0aW9uKEksTCxZLGYpe0ZmKDAsTCxJLHRoaXMsMyxudWxsLGYsWSl9KTt3aGlsZShOdW1iZXIodW5kZWZpbmVkKSE9PU5hTilpZighKHoubGQ9ZnVuY3Rpb24oSSxMLFksZil7cmV0dXJuIHRoaXMuZy5sZChJLFN0cmluZyhMKSxZLGYpfSwiIik9PSFmYWxzZSlicmVhazt6Lmhhc0xpc3RlbmVyPSh6Lkg9ZnVuY3Rpb24oKXt0aGlzLmE5PShGdC5GLkguY2FsbCh0aGlzKSx0aGlzLmcmJmdQKDAsMTIsdHJ1ZSx0aGlzLmcpLG51bGwpfSxmdW5jdGlvbihJLEwpe3JldHVybiB0aGlzLmcuaGFzTGlzdGVuZXIoSSE9PXZvaWQgMD9TdHJpbmcoSSk6dm9pZCAwLEwpfSk7dmFyIExPLHRDLE5CPXtYSzowLGNpOjEsc2Y6KFo0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkhpKyIifSwyKSwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifSxhXz1FcnJvcjtpZigoRHEucHJvdG90eXBlPVhqKGFfLnByb3RvdHlwZSksRHEpLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EcSxSXylSXyhEcSxhXyk7ZWxzZSBmb3IodmFyIHdhIGluIGFfKWlmKHdhIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIE5fPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYV8sd2EpO05fJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoRHEsd2EsTl8pfWVsc2UgRHFbd2FdPWFfW3dhXTsoKChSMShMRSwyLDYsKChpQig1NSwoKCh6PShEcS5GPWFfLnByb3RvdHlwZSwiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLFNTKS5wcm90b3R5cGUsei52PWZ1bmN0aW9uKEksTCl7cmV0dXJuIHR5cGVvZiBJPT09KEw9dGhpcy5Bciwic3RyaW5nIik/TC5nZXRFbGVtZW50QnlJZChJKTpJfSx6KS5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihJLEwpe3JldHVybihMfHx0aGlzLkFyKS5nZXRFbGVtZW50c0J5VGFnTmFtZShTdHJpbmcoSSkpfSx6LmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oSSxMLFkpe3JldHVybigoTD0oWT1TdHJpbmcoSSksdGhpcy5BciksTCkuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKFk9WS50b0xvd2VyQ2FzZSgpKSxMKS5jcmVhdGVFbGVtZW50KFkpfSx6KS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihJKXtyZXR1cm4gdGhpcy5Bci5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoSSkpfSx6LmFwcGVuZENoaWxkPWZ1bmN0aW9uKEksTCl7aWYodHJ1ZSlJLmFwcGVuZENoaWxkKEwpfSx6LmFwcGVuZD1mdW5jdGlvbihJLEwpe2dQKG51bGwsNzcsMCwibnVtYmVyIiwiYXJyYXkiLGFyZ3VtZW50cyxJLEkubm9kZVR5cGU9PTk/STpJLm93bmVyRG9jdW1lbnR8fEkuZG9jdW1lbnQpfSx6LmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihJLEwpe2ZvcihMPTYwO0whPTcwOylpZihMPT02MClMPUkubm9kZVR5cGUhPTE/Mzc6OTE7ZWxzZXtpZihMPT05MSl7c3dpdGNoKEkudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiBmYWxzZX1yZXR1cm4gdHJ1ZX1pZihMPT0zNylyZXR1cm4gZmFsc2V9fSx6LnJlbW92ZU5vZGU9U2Esei5jb250YWlucz1mdW5jdGlvbihJLEwsWSxmKXt7Zj03ODt3aGlsZShmIT0zKWlmKGY9PTkyKWY9dHlwZW9mIEkuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzg1OjcwO2Vsc2V7aWYoZj09NjgpcmV0dXJuIEk9PUx8fEkuY29udGFpbnMoTCk7aWYoZj09ODUpcmV0dXJuIEk9PUx8fCEhKFk9SS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihMKSwoWXwxNiktIC0xKyh+WV4xNikpO2lmKGY9PTY0KUw9TC5wYXJlbnROb2RlLGY9NjE7ZWxzZSBpZihmPT01KWY9SS5jb250YWlucyYmTC5ub2RlVHlwZT09MT82ODo5MjtlbHNle2lmKGY9PTUyKXJldHVybiBmYWxzZTtpZihmPT05NylmPUwmJkkhPUw/NjQ6NztlbHNlIGlmKGY9PTYxKWY9OTc7ZWxzZSBpZihmPT03MClmPTk3O2Vsc2UgaWYoZj09NzgpZj1JJiZMPzU6NTI7ZWxzZSBpZihmPT03KXJldHVybiBMPT1JfX19fSxwSCkpLHBILnByb3RvdHlwZS5sUj0wLHBIKS5wcm90b3R5cGUuRWY9IiIsRnQpKSx6PUxFLnByb3RvdHlwZSx6LnJvPXBILmVvKCkseikudj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkx9LHouZ2V0UGFyZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVDF9LHoucWg9ZnVuY3Rpb24oSSxMKXtmb3IoTD00MDtMIT04Oyl7aWYoTD09MjIpdGhyb3cgRXJyb3IoIk1ldGhvZCBub3Qgc3VwcG9ydGVkIik7TD09NDA/TD10aGlzLlQxJiZ0aGlzLlQxIT1JPzIyOjQ6TD09NCYmKExFLkYucWguY2FsbCh0aGlzLEkpLEw9OCl9fSx6KS5VQT1mdW5jdGlvbigpe3RoaXMuTHo9IShXayg3MSwxMix0aGlzLGZ1bmN0aW9uKEkpe0kuTHomJkkuVUEoKX0pLHRoaXMuSnImJmdQKDAsMTQsdHJ1ZSx0aGlzLkpyKSwxKX0seikuSD1mdW5jdGlvbihJKXt7ST0xMjt3aGlsZShJIT03NylJPT01PyhXayg3MSwxMCx0aGlzLGZ1bmN0aW9uKEwpe0wuZGlzcG9zZSgpfSksIXRoaXMud28mJnRoaXMuTCYmU2EodGhpcy5MKSx0aGlzLlQxPXRoaXMuTWg9dGhpcy5MPXRoaXMuSHE9bnVsbCxMRS5GLkguY2FsbCh0aGlzKSxJPTc3KTpJPT0xMj8odGhpcy5MeiYmdGhpcy5VQSgpLEk9MzMpOkk9PTMzP0k9dGhpcy5Kcj83Mzo1Okk9PTczJiYodGhpcy5Kci5kaXNwb3NlKCksZGVsZXRlIHRoaXMuSnIsST01KX19LHoucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyx5LEYpe3tGPTEzO3doaWxlKEYhPTMzKWlmKEY9PTY1KUY9TD85OjU7ZWxzZSBpZihGPT0yMylGPUk/NDY6ODQ7ZWxzZSBpZihGPT0xMClGPXkmJkk/ODY6MjM7ZWxzZSBpZihGPT00MSlZLlQxPW51bGwsTEUuRi5xaC5jYWxsKFksbnVsbCksRj0yMztlbHNlIGlmKEY9PTgyKUY9dHlwZW9mIEk9PT0ic3RyaW5nIj80NDo2NDtlbHNlIGlmKEY9PTI5KXI9ZixGPTY5O2Vsc2UgaWYoRj09NTkpdT10aGlzLk1oLFM9KHUhPT1udWxsJiZ5IGluIHU/dVt5XTp2b2lkIDApfHxudWxsLEY9MTU7ZWxzZXtpZihGPT04NCl0aHJvdyBFcnJvcigiQ2hpbGQgaXMgbm90IGluIHBhcmVudCBjb21wb25lbnQiKTtpZihGPT00MClGPXRoaXMuTWgmJnk/NTk6NDI7ZWxzZSBpZihGPT02NClGPShmPUkudVIpPzI5OjU2O2Vsc2UgaWYoRj09OSlJLlVBKCksSS5MJiZTYShJLkwpLEY9NTtlbHNle2lmKEY9PTYxKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtpZihGPT03MylGPVk9PW51bGw/NjE6NDE7ZWxzZSBpZihGPT00MilTPW51bGwsRj0xNTtlbHNlIGlmKEY9PTg2KWM9dGhpcy5NaCx5IGluIGMmJmRlbGV0ZSBjW3ldLFooNywwLEksdGhpcy5IcSksRj02NTtlbHNlIGlmKEY9PTE1KUk9UyxGPTEwO2Vsc2UgaWYoRj09NSlZPUksRj03MztlbHNle2lmKEY9PTQ2KXJldHVybiBJO0Y9PTY5Pyh5PXIsRj00MCk6Rj09NDQ/KHI9SSxGPTY5KTpGPT0xMz9GPUk/ODI6MjM6Rj09NTYmJihwPUkucm8sWD1wLkVmKyI6IisocC5sUisrKS50b1N0cmluZygzNiksZj1JLnVSPVgsRj0yOSl9fX19fTt2YXIgdnYsaHA9e2J1dHRvbjoicHJlc3NlZCIsY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDooej0oaUIoNTgsaEspLGhLKS5wcm90b3R5cGUsImNoZWNrZWQiKSxtZW51aXRlbXJhZGlvOiJjaGVja2VkIixyYWRpbzoiY2hlY2tlZCIsdGFiOiJzZWxlY3RlZCIsdHJlZWl0ZW06InNlbGVjdGVkIn0sSWE9KGlCKDU3LChSMShkQywyLCgoei5QcT0oei5UeD1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifSxmdW5jdGlvbihJKXtyZXR1cm4gSS52KCl9KSx6LlI5PWZ1bmN0aW9uKEksTCxZLGYscixwLHUsWCxjKXtjPTEwO3tYPTgzO3doaWxlKHRydWUpdHJ5e2lmKGM9PTMzKWJyZWFrO2Vsc2UgYz09Nzc/KFg9MyxyLmJsdXIoKSxjPTgyKTpjPT00Mj9jPVkhPUw/Mzg6MzM6Yz09Njk/KHAudGFiSW5kZXg9LTEscC5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksYz0zMyk6Yz09Mzg/KHA9cixjPTg2KTpjPT04Nj9jPUw/NjQ6Njk6Yz09NzI/KGY9ci50YWJJbmRleCxZPXR5cGVvZiBmPT09Im51bWJlciImJmY+PTAmJmY8MzI3NjgsYz00Mik6Yz09ODI/KFg9ODMsYz0yOSk6Yz09NzE/KFg9ODMsYz04Mik6Yz09NjQ/KHAudGFiSW5kZXg9MCxjPTMzKTpjPT01Mj9jPSFMJiZaKDMxLDAsMzIsSSk/Nzc6NjA6Yz09MTY/KGUoMCwyNSwyLEksNCkmJkkuc2V0QWN0aXZlKGZhbHNlKSxlKDAsMjMsMixJLDMyKSYmaUIoMTcsOCwzMixJLGZhbHNlKSYmSS5oKDMyLGZhbHNlKSxjPTYwKTpjPT0yOT9jPVooMzAsMCwzMixJKT8xNjo2MDpjPT0xMD9jPUFDKDM5LDYsMiwzMixJKSYmKHI9SS5QcSgpKT81MjozMzpjPT02MCYmKGM9KFk9ci5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzcyOjQyKX1jYXRjaChTKXtpZihYPT04Myl0aHJvdyBTO1g9PTMmJih1PVMsYz03MSl9fX0sei5qbz1mdW5jdGlvbihJLEwsWSxmLHIscCx1LFgpe3doaWxlKDA9PSFbXSlpZih2dnx8KHZ2PXsxOiJkaXNhYmxlZCIsODoic2VsZWN0ZWQiLDE2OiJjaGVja2VkIiw2NDoiZXhwYW5kZWQifSksW10pYnJlYWs7KHA9KFg9dnZbTF0sKHI9SS5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCk/KHU9aHBbcl18fFgsZj1YPT0iY2hlY2tlZCJ8fFg9PSJzZWxlY3RlZCI/dTpYKTpmPVgsZikpJiZmTygiYWQiLDE2LCJoaWRkZW4iLGZhbHNlLHAsSSxZKX0seikuZno9ZnVuY3Rpb24oSSxMLFksZil7KGY9TC52P0wudigpOkwpJiYoWT9jdjpLTykoZixbSV0pfSx6Lmg9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSl7Zm9yKHU9ODI7dSE9NDspdT09MjA/KChwPXRoaXMuUzVbTF0pJiZ0aGlzLmZ6KHAsSSxZKSx0aGlzLmpvKGYsTCxZKSx1PTQpOnU9PTk4PyhyPXRoaXMuVHgoKSxyLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5TNT17MTpyKyItZGlzYWJsZWQiLDI6cisiLWhvdmVyIiw0OnIrIi1hY3RpdmUiLDg6cisiLXNlbGVjdGVkIiwxNjpyKyItY2hlY2tlZCIsMzI6cisiLWZvY3VzZWQiLDY0OnIrIi1vcGVuIn0sdT0yMCk6dT09ODg/dT1mPzY1OjQ6dT09ODI/KGY9SS52KCksdT04OCk6dT09NjUmJih1PXRoaXMuUzU/MjA6OTgpfSwzNyksaEspLGRDKSkse30pO1IxKHVvLDIsKChkQy5wcm90b3R5cGUuVHg9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1idXR0b24ifSxkQy5wcm90b3R5cGUpLmpvPWZ1bmN0aW9uKEksTCxZKXtzd2l0Y2goTCl7Y2FzZSA4OmNhc2UgMTY6Zk8oImFkIiwxMCwiaGlkZGVuIixmYWxzZSwicHJlc3NlZCIsSSxZKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOmRDLkYuam8uY2FsbCh0aGlzLEksTCxZKX19LDM4KSxMRSk7d2hpbGUoImciKWlmKCFbIiJdPT0oej11by5wcm90b3R5cGUsMCkpYnJlYWs7aWYodHlwZW9mIHVvIT09KHouaXNWaXNpYmxlPSgoKHouS2k9dHJ1ZSx6KS5QcT0oei5mej1mdW5jdGlvbihJLEwsWSl7e1k9NDt3aGlsZShZIT01MSlZPT02MT9ZPUwmJnRoaXMuRCYmWigxMSwwLEwsdGhpcy5EKT8zNjo1MTpZPT03Mz8odGhpcy5EP1MwKHRoaXMuRCwwLDI3LEwpPj0wfHx0aGlzLkQucHVzaChMKTp0aGlzLkQ9W0xdLHRoaXMuRy5meihMLHRoaXMsdHJ1ZSksWT01MSk6WT09OTA/KHRoaXMuRD1udWxsLFk9MTMpOlk9PTQ/WT1JPzg6NjE6WT09MTM/KHRoaXMuRy5meihMLHRoaXMsZmFsc2UpLFk9NTEpOlk9PTM2P1k9dGhpcy5ELmxlbmd0aD09MD85MDoxMzpZPT04JiYoWT1MPzczOjUxKX19LHouZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5XcX0sei5MaT0wLHouaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIVooMzUsMCwxLHRoaXMpfSx6LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIFooMzIsMCw0LHRoaXMpfSx6Lkg9ZnVuY3Rpb24oSSl7e0k9Nzg7d2hpbGUoSSE9NjkpST09Nzg/KHVvLkYuSC5jYWxsKHRoaXMpLEk9MjYpOkk9PTM4PyhkZWxldGUgdGhpcy5HLHRoaXMuRD1udWxsLEk9NjkpOkk9PTkyPyh0aGlzLlFlLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5RZSxJPTM4KTpJPT0yNiYmKEk9dGhpcy5RZT85MjozOCl9fSx6LlJsPSh6Lmo1PTI1NSwzOSksKHouRD1udWxsLHouaD1mdW5jdGlvbihJLEwsWSxmLHIscCl7Zm9yKHA9NTQ7cCE9NDA7KXA9PTkwP3A9QUMoMzksNywyLEksdGhpcykmJkwhPVooMzQsMCxJLHRoaXMpPzY5OjQwOnA9PTY5Pyh0aGlzLkcuaCh0aGlzLEksTCksdGhpcy5XcT1MP3RoaXMuV3F8STp0aGlzLldxJn5JLHA9NDApOnA9PTc2P3A9ZiYmdHlwZW9mIGYuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhZi5pc0VuYWJsZWQoKXx8IWlCKDE1LDgsMSx0aGlzLCFyKT80MDoyNjpwPT0yOT8ocj0hTCxmPXRoaXMuZ2V0UGFyZW50KCkscD03Nik6cD09OTI/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxpQigxNiw4LDIsdGhpcyxmYWxzZSkmJnRoaXMuaCgyLGZhbHNlKSxwPTYpOnA9PTY/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuRy5SOSh0aGlzLHIpLHRoaXMuaCgxLCFyLHRydWUpLHA9NDApOnA9PTI2P3A9cj82OjkyOnA9PTU0JiYocD1ZfHxJIT0xPzkwOjI5KX0seikuV3E9KHouc2V0QWN0aXZlPWZ1bmN0aW9uKEkpe2lCKDE4LDgsNCx0aGlzLEkpJiZ0aGlzLmgoNCxJKX0sMCksZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5HLlBxKHRoaXMpfSkseikuVUE9ZnVuY3Rpb24oKXt1by5GLlVBLmNhbGwodGhpcyk7d2hpbGUoe30paWYodGhpcy5RZSYmdGhpcy5RZS5kZXRhY2goKSx0cnVlKWJyZWFrO3RoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuRy5SOSh0aGlzLGZhbHNlKX0sZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaX0pLCJmdW5jdGlvbiIpKXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBjbGFzcyAiK3VvKTt3aGlsZSh0eXBlb2YgaEshPT0iZnVuY3Rpb24iKXt0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2hLKTtpZihbXSlicmVha312YXIgRVE9aUIoNSx1byksQ0U9KFBTKCgoUjEobG8sKCgoaUIoNTYsKFIxKFh0LDIsKFBTKDU2LDYsImdvb2ctY29udHJvbCIsKElhW0VRXT1oSyxmdW5jdGlvbigpe3JldHVybiBuZXcgdW8obnVsbCl9KSksNSksZEMpLFh0KSksWHQpLnByb3RvdHlwZS5oPWZ1bmN0aW9uKEksTCxZLGYscil7Zm9yKHI9MztyIT0zMzspcj09Mz8oWHQuRi5oLmNhbGwodGhpcyxJLEwsWSksZj1JLnYoKSxyPTUpOnI9PTk/KGYuZGlzYWJsZWQ9WSxyPTMzKTpyPT01JiYocj1mJiZMPT0xPzk6MzMpfSxYdCkucHJvdG90eXBlLmpvPWZ1bmN0aW9uKCl7fSxYdC5wcm90b3R5cGUuUjk9ZnVuY3Rpb24oKXt9LDIpLDM5LHVvKSxsby5wcm90b3R5cGUpLkg9ZnVuY3Rpb24oKXtkZWxldGUgKGxvLkYuSC5jYWxsKHRoaXMpLHRoaXMpLkhLLGRlbGV0ZSB0aGlzLk1pfSw1NiksNSwiZ29vZy1idXR0b24iLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsbyhudWxsKX0pLFUpLnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oSSl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe0koKX0se3RpbWVvdXQ6NH0pfTpVLnNldEltbWVkaWF0ZT9mdW5jdGlvbihJKXtzZXRJbW1lZGlhdGUoSSl9OmZ1bmN0aW9uKEkpe3NldFRpbWVvdXQoSSwwKX0sYTEsSFM9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LG5FPWdQKFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSwzKSxBcD1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxvMT17fSxVdz1bXSxQaz1bXSwkOD1bXSxyYT1bXSxkUD0oZy5wcm90b3R5cGUuV0s9dm9pZCAwLChnLnByb3RvdHlwZS5aej0hKGcucHJvdG90eXBlLlhtPSJ0b1N0cmluZyIsMSksZy5wcm90b3R5cGUpLnVnPXZvaWQgMCxbXSkscUI9W10sTWY9W10saXg9W10sdUI9W10sTzg9ZnVuY3Rpb24oSSxMKXtyZXR1cm4oTD1mTygiYWQiLDksImVycm9yIikpJiZJLmV2YWwoTC5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKFkpe3JldHVybiBMLmNyZWF0ZVNjcmlwdChZKX06ZnVuY3Rpb24oWSl7cmV0dXJuIiIrWX19KFUpLEpwPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMzMsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZVNjcmlwdFVSTChMKX06ZnVuY3Rpb24oTCl7cmV0dXJuIEx9fSgpLGVhPWZ1bmN0aW9uKEkpe3JldHVybihJPWZPKCJhZCIsMjUsImVycm9yIikpP2Z1bmN0aW9uKEwpe3JldHVybiBJLmNyZWF0ZUhUTUwoTCl9OmZ1bmN0aW9uKEwpe3JldHVybiBMfX0oKSxwRT0oKHo9KCgoKHk4LGZ1bmN0aW9uKCl7fSkoWTgpLGdDLEZqLHV4LGtWLGZ1bmN0aW9uKCl7fSkodmspLGphLEpwLGZ1bmN0aW9uKCl7fSkoZWEpLGcpLnByb3RvdHlwZSx6LlRYPWZ1bmN0aW9uKEksTCxZLGYscixwKXtyZXR1cm4gVi5jYWxsKHRoaXMsNyxJLEwsWSxmLHIscCl9LHoucGk9ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYKXtyZXR1cm4gRmYuY2FsbCh0aGlzLEksZixZLHIsOCxMLHUscCxYKX0seikubUQ9MCxvMSkuY29uc3RydWN0b3IsVmM9KCh6LkcxPWZ1bmN0aW9uKCl7cmV0dXJuIFhmLmNhbGwodGhpcyx0cnVlLDE2KX0sZy5wcm90b3R5cGUuQj0oei51PSh3aW5kb3cucGVyZm9ybWFuY2V8fHt9KS5ub3c/ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5QaSt3aW5kb3cucGVyZm9ybWFuY2Uubm93KCl9OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSx6Lm5pPWZ1bmN0aW9uKCl7cmV0dXJuIHdQLmNhbGwodGhpcywwLDEwKX0sImNyZWF0ZSIpLGcpLnByb3RvdHlwZS56eD0wLHouVlc9KHouSTk9ZnVuY3Rpb24oSSxMLFksZixyKXtpZih0cnVlKXJldHVybiBxLmNhbGwodGhpcyw1NixJLEwsWSxmLHIpfSxmdW5jdGlvbihJLEwsWSxmLHIpe3JldHVybiB3Qy5jYWxsKHRoaXMsMTQsSSxMLFksZixyKX0pLHZvaWQgMCksemM9KCgoKHo9Zy5wcm90b3R5cGUsei5qPWZ1bmN0aW9uKEksTCl7cmV0dXJuIFZjPWZ1bmN0aW9uKCl7cmV0dXJuIEw9PUk/LTM1Oi0xN30sST17fSxMPXt9LGZ1bmN0aW9uKFksZixyLHAsdSxYLGMsUyx5LEYsRyxBLFEsRCxXLGIsYSx3LHYsRSxtLFlLLEdsLGNTLG4sc3csbEIsaCxXUyxILGZFLFAsRDQsZTAsdCxwTyxPLHFfLFIsbkgsSV8semwsQixMSCl7Qj0oUj0zMywzMSksTz11bmRlZmluZWQ7e25IPWZhbHNlO3doaWxlKHRydWUhPSFbXSl0cnl7aWYoUj09NDApYnJlYWs7ZWxzZSBpZihSPT00NylCPTIyLHRLKDI3Mix0aGlzLDMwMDAxLDUwOSksUj03MjtlbHNlIGlmKFI9PTEzKU8hPT11bmRlZmluZWQ/KFI9TyxPPXVuZGVmaW5lZCk6Uj00MDtlbHNlIGlmKFI9PTk5KVI9UD09dUI/NDI6OTA7ZWxzZSBpZihSPT00NSlSPVA9PWl4PzUxOjk5O2Vsc2UgaWYoUj09NTQpemw9SGsoNTA5LDI5NyxZWzFdLHRoaXMsMzAwMDEpLE89NjQsUj03MjtlbHNlIGlmKFI9PTI0KUI9MjIsUD1ZWzBdLFI9NDU7ZWxzZSBpZihSPT0yNilSPW4/MjozMTtlbHNlIGlmKFI9PTg3KUI9OSx2PWwodGhpcywzODEpfHx7fSxEPXYudHwwLFI9ODM7ZWxzZXtpZihSPT02NClyZXR1cm4gemw7aWYoUj09OTApUj1QPT0kOD83MDozODtlbHNlIGlmKFI9PTIyKVI9Yi5sZW5ndGg+MUU2PzQ5Ojg5O2Vsc2UgaWYoUj09MzkpUj1ZWzRdPzc3OjMyO2Vsc2UgaWYoUj09NilSPU8hPT11bmRlZmluZWQ/NzI6MjU7ZWxzZSBpZihSPT03NClRKyssUj0yODtlbHNlIGlmKFI9PTE1KUI9MTMsdT1sKHRoaXMsMzU3KSx1Lmxlbmd0aD4wJiZKSygyNjIsdGhpcyxkKDIsdS5sZW5ndGgpLmNvbmNhdCh1KSwxNDcpLEpLKDI2Mix0aGlzLGQoMSx0aGlzLmkrMT4+MSksMjQ0KSxtdSgyNjIsdGhpcyxkKDEsdGhpc1tQa10ubGVuZ3RoKSkscE89dGhpcy5rYT9rKHRoaXMsNDIxKTpsKHRoaXMsMzUwKSxwTy5sZW5ndGg+MCYmbXUoMTIsdGhpcyxkKDIscE8ubGVuZ3RoKS5jb25jYXQocE8pLDIyNykscD1sKHRoaXMsMTIpLHAubGVuZ3RoPjQmJkpLKDI2Mix0aGlzLGQoMixwLmxlbmd0aCkuY29uY2F0KHApLDIyNiksSD0wLEgtPShrKHRoaXMsMjYyKS5sZW5ndGh8MCkrNSxiPWsodGhpcywxOTUpLEgrPShlMD1sKHRoaXMsMzUzKSwoZTB8MjA0NyktIC0xKyh+ZTBeMjA0NykpLGIubGVuZ3RoPjQmJihILT0oYi5sZW5ndGh8MCkrMyksSD4wJiZtdSgyNjIsdGhpcyxkKDIsSCkuY29uY2F0KFk4KEgpKSwxNTApLFI9OTY7ZWxzZSBpZihSPT00MilEPTAsdj17fSxSPTg3O2Vsc2UgaWYoUj09MzApQj0yMixuTyhMSCwxNywzNTcsdGhpcyksTz00MCxSPTcyO2Vsc2UgaWYoUj09NzkpUj1QPT1xQj8zNjo3MjtlbHNlIGlmKFI9PTUxKXc9WVsxXSxSPTIzO2Vsc2UgaWYoUj09MzEpbj0iIixRPTAsUj04MjtlbHNle2lmKFI9PTg1fHxSPT01NSlyZXR1cm4gemw7aWYoUj09OTUpSGsoNTA5LDI5NyxZWzFdLHRoaXMsWVsyXSksUj03MjtlbHNlIGlmKFI9PTMzKWxCPUwsTD1JLFI9MjQ7ZWxzZSBpZihSPT04MylCPTIyLEdsPVskOCxZLHRoaXMuRzEoKV0sbT1bUGssWV0sUj0zOTtlbHNlIGlmKFI9PTIpbj0iJCIrbixSPTQ0O2Vsc2UgaWYoUj09NylSPVA9PVV3Pzk1OjI5O2Vsc2UgaWYoUj09NjcpZj1XW1FdW3RoaXMuWG1dKDE2KSxmLmxlbmd0aD09MSYmKGY9IjAiK2YpLG4rPWYsUj03NDtlbHNlIGlmKFI9PTcyKUI9MzEsTD1sQixSPTEzO2Vsc2UgaWYoUj09MTgpemw9e0R6OkdsLE1lOm0sdGltZW91dDpELGZpOmZhbHNlLGU1OjB9LE89NTUsUj03MjtlbHNlIGlmKFI9PTk2KVI9Yi5sZW5ndGg+ND8yMjo5ODtlbHNlIGlmKFI9PTM4KVI9UD09UGs/OTQ6NztlbHNlIGlmKFI9PTQ0KUE9bixsKHRoaXMsMjYyKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0ODgpLmxlbmd0aD1yLnNoaWZ0KCksQyh0aGlzLDE5NSkubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMTIpLmxlbmd0aD1yLnNoaWZ0KCksbCh0aGlzLDIzNikubGVuZ3RoPXIuc2hpZnQoKSxrKHRoaXMsMzUwKS5sZW5ndGg9ci5zaGlmdCgpLGwodGhpcyw0NjQpWzBdPXIuc2hpZnQoKSxDKHRoaXMsNDIxKS5sZW5ndGg9ci5zaGlmdCgpLHpsPUEsTz04NSxSPTcyO2Vsc2UgaWYoUj09ODgpUj04NjtlbHNlIGlmKFI9PTI4KVI9UTxXLmxlbmd0aD82Nzo0NDtlbHNlIGlmKFI9PTIzKUI9MjQsdGhpcy50cj1BSyg3LDUsMCwyNTUsYXRvYih3KSksdGhpcy5QPXRoaXMudHIubGVuZ3RoPDwzLHgoNDgsdGhpcyxbMCwwLDBdKSxSPTQ3O2Vsc2UgaWYoUj09MjEpQj03MyxjUygpLFI9NTM7ZWxzZSBpZihSPT00OSliPWIuc2xpY2UoMCwxRTYpLEpLKDI2Mix0aGlzLFtdLDEwMiksSksoMjYyLHRoaXMsW10sMTM1KSxSPTg5O2Vsc2UgaWYoUj09MylFLmxlbmd0aD0wLFI9NzI7ZWxzZSBpZihSPT02NSl0aGlzLlQucHVzaChtKSx0aGlzLlQucHVzaChHbCksTz00MCxSPTcyO2Vsc2UgaWYoUj09ODkpbXUoMjYyLHRoaXMsZCgyLGIubGVuZ3RoKS5jb25jYXQoYiksNSksUj05ODtlbHNlIGlmKFI9PTU3KWNTPXkudmFsdWUsUj0yMTtlbHNlIGlmKFI9PTI1KUI9MjIsVz1ZOCgyKS5jb25jYXQobCh0aGlzLDI2MikpLFdbMV09KGE9V1swXSwxNTktKGEmMTU5KSt+KGEmMTU5KS1+YSksV1szXT0oZkU9V1sxXSxEND1zd1swXSwtKGZFfDApKyhENHwwKSsyKihmRSZ+RDQpKSxXWzRdPShHPVdbMV0sYz1zd1sxXSwoR3wwKS0oY3wwKSstMi0yKihHfH5jKSksbj10aGlzLmJSKFcpLFI9MjY7ZWxzZSBpZihSPT0zNil7aWYoRT1sKHRoaXMsMTYxKSxYPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJkVbU3ltYm9sLml0ZXJhdG9yXSl0PVguY2FsbChFKTtlbHNlIGlmKHR5cGVvZiBFLmxlbmd0aD09Im51bWJlciIpdD17bmV4dDpBQygzOSwyNCwwLEUpfTtlbHNlIHRocm93IEVycm9yKFN0cmluZyhFKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTtZSz10LHk9WUsubmV4dCgpLFI9ODh9ZWxzZSBpZihSPT05NClyPVlbMV1bMV0sc3c9ZCgyLChDKHRoaXMsMjYyKS5sZW5ndGh8MCkrMiksV1M9dGhpcy5VLHRoaXMuVT10aGlzLFI9MTU7ZWxzZSBpZihSPT02OClSPUY/MTg6NjU7ZWxzZSBpZihSPT05OClCPTIyLHRoaXMuVT1XUyxSPTY7ZWxzZSBpZihSPT04NilSPXkuZG9uZT8zOjU3O2Vsc2UgaWYoUj09ODIpUj0yODtlbHNlIGlmKFI9PTMyKXRoaXMuVC5wdXNoKG0pLHRoaXMuVC5wdXNoKEdsKSxPPTQwLFI9NzI7ZWxzZSBpZihSPT03Nyl7Zm9yKGggaW4gRj1mYWxzZSx2KWlmKGghPT0idCImJk9iamVjdC5oYXNPd24odixoKSl7Rj10cnVlO2JyZWFrfVI9Njh9ZWxzZSBpZihSPT0xMClCPTIyLFI9NTM7ZWxzZSBpZihSPT03MClTPVlbMV0sU1sxXS5wdXNoKGsodGhpcywyNjIpLmxlbmd0aCxsKHRoaXMsNDg4KS5sZW5ndGgsayh0aGlzLDE5NSkubGVuZ3RoLGwodGhpcywxMikubGVuZ3RoLEModGhpcywyMzYpLmxlbmd0aCxrKHRoaXMsMzUwKS5sZW5ndGgsayh0aGlzLDQ2NClbMF0sbCh0aGlzLDQyMSkubGVuZ3RoKSxNKDI5Nyx0aGlzLFNbMl0pLHRoaXMuU1s0MTRdJiZIayg1MDksMjk3LGwodGhpcyw0MTQpLHRoaXMsMzAwMDEpLFI9NzI7ZWxzZSBpZihSPT0yOSlSPVA9PU1mPzU0Ojc5O2Vsc2UgaWYoUj09NTMpeT1ZSy5uZXh0KCksUj04NjtlbHNlIGlmKFI9PTU4KXRocm93IElfO319fWNhdGNoKGpTKXtpZihCPT0oSV89alMsMzEpKXRocm93IGpTO0I9PTk/KE89NTgsUj04Myk6Qj09NzM/KHFfPWpTLFI9MTApOkI9PTI0PyhMSD1qUyxSPTMwKTpCPT0xMz8oTz01OCxSPTk4KTpCPT0yMiYmKE89NTgsUj03Mil9fX19KCkseikua0k9ZnVuY3Rpb24oSSl7cmV0dXJuIGlCLmNhbGwodGhpcywzNixJKX0sei5iUj1mdW5jdGlvbihJKXtyZXR1cm4gWi5jYWxsKHRoaXMsMjAsSSl9LHouQ2k9ZnVuY3Rpb24oKXtyZXR1cm4gd1AuY2FsbCh0aGlzLDAsMjkpfSx6KS5vbD0wLHopLk9pPTAsLy4vKTt6LnoxPWZ1bmN0aW9uKCl7cmV0dXJuIHljLmNhbGwodGhpcyw5OSwzOCl9O3ZhciB4VixLSD0oZy5wcm90b3R5cGVbcmFdPVswLDAsMSwxLDAsMSwxXSxpeCkucG9wLmJpbmQoZy5wcm90b3R5cGVbJDhdKTsoYTE9KHhWPXdQKDAsKHpjW2cucHJvdG90eXBlLlhtXT1LSCw1OSksZy5wcm90b3R5cGUuQix7Z2V0OktIfSksZy5wcm90b3R5cGUuaVI9dm9pZCAwLFUudHJheXJpZGV8fChVLnRyYXlyaWRlPXt9KSksYTEpLm0+NDB8fChhMS5tPTQxLGExLmFkPUd5LGExLmE9UVMpLGExLmxydl89ZnVuY3Rpb24oSSxMLFksZixyLHAsdSxYLGMsUyl7cmV0dXJuW2Z1bmN0aW9uKHkpe3JldHVybiBnUChmYWxzZSw0OCxTLHkpfSwoUz1uZXcgZyhJLFgsdSxwLGMscixmLEwpLGZ1bmN0aW9uKHkpe1MuejEoeSl9KV19O30pLmNhbGwodGhpcyk7J10uam9pbignXG4nKSkpO30pLmNhbGwodGhpcyk7"}},"time_used":46,"timings":{"blocked":-1,"dns":3,"connect":27,"send":0,"wait":9,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/52095.e6eb530a13b2febd2cd3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.197Z","timestamp":1785136429197,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/52095.e6eb530a13b2febd2cd3.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-18c2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c0fb39b6ad1203182a6fdfadbc29bfe7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6338,"size_decoded":2044,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6338), with no line terminators","md5":"caf4bfb0a92f81c0fb9d32b268c23f3c","sha1":"9157a7392cd2a99623089b8a8b0c46066c18c88b","sha256":"3fac059dd2a8faed0d0e54c7f4f74b33d35ee9572c353c6fde78c6cd96f168a1","sha512":"d6b7104f441ac900f2633fda4217d59f42503ae78aed48880181f69174c8e2422ec2a64e191f78c7760476881aa76db8007e9f911ebe2ff98ccab39b640ff4ef","ssdeep":"192:lnsu2uCTwTyQnjnvOJOdr45YERrzxD0VOnPn3nTuouzTmTogen9gqpnq:BI","tlshash":"0fd1794cf146b43e265f353a4319d1eca218b4c2e9c21ff7b971d2244ae1bc2e5f991a","first_seen":"2026-07-23T14:00:31.721517Z","last_seen":"2026-07-28T06:17:53.578409Z","times_seen":383,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtemtrcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXpra3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9Lml0ZW0tdlRtOE8wTE17dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcH0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9Lml0ZW0tdlRtOE8wTE0uaW50ZXJhY3RpdmUtdlRtOE8wTE0uaG92ZXJlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNLmhvdmVyZWQtdlRtOE8wTE17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmludGVyYWN0aXZlLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS12VG04TzBMTS5pbnRlcmFjdGl2ZS12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tdlRtOE8wTE0uZGlzYWJsZWQtdlRtOE8wTE17Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNX0uaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTSwuaXRlbS12VG04TzBMTS5kaXNhYmxlZC12VG04TzBMTTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmRpc2FibGVkLXZUbThPMExNOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfX0uaXRlbS12VG04TzBMTS5hY3RpdmUtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTSAuc2hvcnRjdXQtdlRtOE8wTE0sLml0ZW0tdlRtOE8wTE0uYWN0aXZlLXZUbThPMExNOmFjdGl2ZSAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLXZUbThPMExNLmFjdGl2ZS12VG04TzBMTTpob3ZlciAuc2hvcnRjdXQtdlRtOE8wTE17Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLXZUbThPMExNLm5vcm1hbC12VG04TzBMTXtoZWlnaHQ6MzJweH0uaXRlbS12VG04TzBMTS5iaWctdlRtOE8wTE17aGVpZ2h0OjY4cHh9Lmljb25DZWxsLXZUbThPMExNe21pbi13aWR0aDo2cHh9Lmljb24tdlRtOE8wTE17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweDt3aWR0aDoyOHB4fS5pY29uLXZUbThPMExNIHN2Z3toZWlnaHQ6MjhweDt3aWR0aDoyOHB4fS5jb250ZW50LXZUbThPMExNe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjM2NXB4O3BhZGRpbmctaW5saW5lLWVuZDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWwtdlRtOE8wTE17ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWlubGluZS1zdGFydDoycHg7dGV4dC1hbGlnbjpzdGFydH0udG9vbGJveC12VG04TzBMTXtmbGV4OjAgMSBhdXRvO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjB9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mZWF0dXJlLW5vLW1vYmlsZXRvdWNoIC5pdGVtLXZUbThPMExNOmhvdmVyIC50b29sYm94LXZUbThPMExNLnNob3dUb29sYm94T25Ib3Zlci12VG04TzBMTXtvcGFjaXR5OjF9fS5hcnJvd0ljb24tdlRtOE8wTE17ZmxleDowIDEgYXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHh9LmFycm93SWNvbi12VG04TzBMTSBzdmd7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9LmFycm93SWNvbi12VG04TzBMTSBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LXZUbThPMExNe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtaGludC10ZXh0KSk7ZmxleDowIDEgYXV0bztmb250LXNpemU6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7cGFkZGluZy10b3A6MnB4fS5zdWJNZW51LXZUbThPMExNe2hlaWdodDowfS5pbnZpc2libGVIb3RrZXktdlRtOE8wTE17dmlzaWJpbGl0eTpoaWRkZW59Lml0ZW0tZDlqTE9MclJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmctYmxvY2s6OHB4IDhweDtwYWRkaW5nLWlubGluZTo0MnB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0uaXRlbS1kOWpMT0xyUi5lbXB0eUljb25zLWQ5akxPTHJSe3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lml0ZW0tZDlqTE9MclIubG9hZGluZy1kOWpMT0xyUntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5pdGVtLWQ5akxPTHJSLmRpc2FibGVkLWQ5akxPTHJSe2N1cnNvcjpkZWZhdWx0O29wYWNpdHk6LjV9Lml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuZGlzYWJsZWQtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5kaXNhYmxlZC1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpfS5pdGVtLWQ5akxPTHJSLmludGVyYWN0aXZlLWQ5akxPTHJSLmhvdmVyZWQtZDlqTE9MclIsLml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6aG92ZXJ7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfX0uaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUi5ob3ZlcmVkLWQ5akxPTHJSe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1kOWpMT0xyUi5pbnRlcmFjdGl2ZS1kOWpMT0xyUjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX19Lml0ZW0tZDlqTE9MclIuaW50ZXJhY3RpdmUtZDlqTE9MclI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5pdGVtLWQ5akxPTHJSLm5vcm1hbC1kOWpMT0xyUnttaW4taGVpZ2h0OjQwcHh9Lml0ZW0tZDlqTE9MclIuYmlnLWQ5akxPTHJSe21pbi1oZWlnaHQ6NjhweH0uaWNvbi1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDo4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3dpZHRoOjI4cHh9Lmljb24tZDlqTE9MclIsLmxhYmVsLWQ5akxPTHJSe2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCx2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQpKX0ubGFiZWwtZDlqTE9MclJ7ZmxleC1ncm93OjE7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4taW5saW5lLWVuZDo4cHg7bWF4LXdpZHRoOjEwMCU7d29yZC1icmVhazpicmVhay13b3JkfS50aXRsZS1kOWpMT0xyUntmb250LXdlaWdodDo3MDB9LnRpdGxlLWQ5akxPTHJSIC5pY29uLWQ5akxPTHJSOmRpcihydGwpe3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5uZXN0ZWQtZDlqTE9MclJ7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MThweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bzt3aWR0aDoxOHB4fS5uZXN0ZWQtZDlqTE9MclI6ZGlyKHJ0bCl7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNob3J0Y3V0LWQ5akxPTHJSe2xpbmUtaGVpZ2h0OjI0cHg7cGFkZGluZzowfS5yZW1vdmUtZDlqTE9MclIsLnNob3J0Y3V0LWQ5akxPTHJSe21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99LnJlbW92ZS1kOWpMT0xyUnthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dCkpO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/log.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.045Z","timestamp":1785136422045,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/log.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 2735\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":2735,"size_decoded":3076,"mime_type":"image/png","magic":"PNG image data, 120 x 46, 8-bit/color RGB, non-interlaced","md5":"cacf6dd00c800a8617d0c695449c221f","sha1":"b9efd08def3bafc77229d437688766d049200e99","sha256":"83cd040bbf0abe5c593bcc678202d9c22c6228282ce21c50ea14882b493ec12d","sha512":"733b4a0fb62b19744f7c7036d41bf1694d6cb5bc747ef0ec970e3f9585c97b2b603ae3b3cc9196e163eec1dc46290d99004b266678cd18587f6990bb0a32ec7b","ssdeep":"","tlshash":"fb514b484de4a92696c0a35ded0adda9ed03c6903838d2b72a3fa8f073db04b70d035d","first_seen":"2025-12-03T04:46:43.724019Z","last_seen":"2026-07-29T06:14:00.4264Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":1943,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1943,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/825.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.637Z","timestamp":1785136428637,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/825.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 674\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 28 Jul 2023 07:44:51 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:40:30 GMT\r\netag: \"25a8a1e3479b793e8bcddc8b2ba726a9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 84799\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 2sMuQqHxdGRN8NR33gHl6wOcuXp6l7rtpSPUhtlMicxb4NDpmOuVVA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":674,"size_decoded":1207,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"25a8a1e3479b793e8bcddc8b2ba726a9","sha1":"248492192bb393c84661daab721fcc5d0b82d165","sha256":"2d5a29e2c8a731b9c0891dfa54c3bf753ad5bba2911e71ebca654c273cf08748","sha512":"758bae768d116e95d923a254204ae52624a0bf3a4578fe62bc9039659c45655240b77e9bb92433669cc90f6de32c4df4e5bd83fc632f7c71a85a285446272159","ssdeep":"","tlshash":"dd014e4a0e257a702f230e7325bf2d4f102964e012b55986604eb1338e1eaed142062a","first_seen":"2023-08-15T00:41:50Z","last_seen":"2026-08-11T04:47:30.057386Z","times_seen":2008,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/open.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.068Z","timestamp":1785136422068,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/open.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 14132\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":14132,"size_decoded":14474,"mime_type":"image/png","magic":"PNG image data, 179 x 178, 8-bit/color RGBA, non-interlaced","md5":"1a93011f3a49398624a095647d5edc08","sha1":"824caad38310a2c8fb52c969ddcddc3369ca95aa","sha256":"4b9cc5714fb8607faba21dbebe5c0fdd1bdabde82e67ee669317c95c9a45b1d5","sha512":"15747cb47ae6fa9c797ffbc9d6e64446d3b562a64fe90cb8a62c2ccb65a8e43bb6396810586a83f9e9d380b4b5684dcf94c3340698c364d30530ccced6ed3ba2","ssdeep":"384:Z3k0gc8/0JLCuJoTTodZkJJK/FX2Z5+YNDJyzmjXYf:C/+Cu+TTCcJU92ZMYNDMzDf","tlshash":"1552c0bb84d0a363f9b958dbc8ded03ea4e663819ab09faed51460b3d0c1457117b8c7","first_seen":"2025-12-03T04:46:43.759301Z","last_seen":"2026-07-29T06:14:00.31519Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAALMAAACyCAYAAAAJSP5WAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAANtZJREFUeNrsfQl4HOWR9tszPfel+7ZlS/J9YWzAF+a+kwCBkJBAQpZANpD8Cdknx59kN5vdzX0fu4E/JCQQckGShYQrnMZgG4zxfd+2bFm2ztHcM939V33dI0tCPjTqGY2kKT1lSeNRT/f3vV39Vn1V9Unf+t4vMQpFItX6viDTSzZNwj9c7XjKcww2VTbrs6yGOkjLSe2kFaSTSD2kAdKJpDWkpaRu4/18jlJKtVhKvVEsm9GcKgtEYinFkqDXY6RB0jZDO0g7SVtIW0lDpD2k3aRJUmXg9WYkNhVod0A74YQUSEFT6BQdCqSkhc46BbhILdpoxAMeanwSMgMgV6JKPCumDJbWF9UsQUsSG+0hM4DsNLSWtJp0mgHcRtIZpH7SEuM9Z3WmkvjnrK+bgd1lAHsv6R7j+2HSAwbAowbIC9LXoB2UYzn5II0m00Mgq1EcZwQ0/29cUnGm20wSZtKCN+1d+L2vmf5QzgTIFsOiVpE2kS4inUk6ywBtIMdzUmJoA+nSPkPSYQB6B+kGQxno7Qb4C2D+SWB/joiBitqkFzeHKxGxKKe23qQuzYLpCS+UAdYsQcegh6MAsZPeI9HXGgcD+QiB2Dak6zYsL1vbhaTLje+VeUyrSg09h/QDpMQJcJB0DelK0o3G78dMoSSjEcw2zZqbT6LPOWqN4cdF+874Vpdiw63hamGd06LQz9MTPlQodvH7Wkc3QpYUHvO0nK01lg1eO4d0CelFpAvOmi7k4dwZNyPrhwzL/QbpCgPgOw1gjx8w5/bDyMCcBfDYAv/Kf2iAbVKwIFqGhpRbmJ3H3TRPZOHPAsjFpHNJrzQoxHzjtbEmTE2uMfSoQUNeNXSDwbMLYM61MIGwDACpRKe6jijFOmenfuL0/9Lpgcyc81JjchcZVnm8SI2h15LuN6z1c6SvjGVrLY+WE2VrLCjRmdmgl/Ru0vcbNMKK8S2TDX0fWYR1UKWHibM9TOOYLIA5f4VjvleQ3kb6Luhx4YL0HZ+UtBz+5HzJol2ElPURJC0vQY9hF8CcJ+IjvZ70BiMqUV7A7SmEA/2y6kNx4nakLJdJMeuLWsLyCDRpTIB6NIOZ4783kn6UdB5yHw8evYDmQJ9VrYFbvV1ySlcioTxH4H6UXn2NNFIAc+6EIxF3kN5OOtWgFwUZqgOSXvm1oBJO5TZo6rvpxS30ym9Ifz8aQS2PsnPl6MQXSJdBz5EoiBnAFqugGhuJC6EvHnEU5Nuk60YT/bCMknPkZeYfkv7FAHQByNkTF+l7Sf9G+q8YRSHNfAdzkcGJnyX9ZIFS5FQ4M/CrBqjZN/EWwJy58Krd/aQPQl+yLcjIyLmkfyL9HumUApiHJpwx9EFjAN9fwFLe+CsfJ/0t9BVVqQDmMwvHiP+vYY2nFTCUd3I+9GjHp6HndRfAfArhBKAHSL9mOCFjQyQ9YKBqmvGrnrp68uvk76NE2OB833DI88rg5Eto7mbDc547FvDLuNX4i37QFCCSSiCUCsORCiKhGNCVTkLZIllhlWSaDKv4eSC4tfxLT2Yj+E/QK2/Y+DxXALMeYvuc8dgqHz1g1aBoOlihJElT/SwxIZNGVoZklfkbllQ14raaxXA5IuhO9tDfJpEijakxdKtB9Khd6E51Ia7FkFSiUKEImFsJ2DKB3CbZ+DfoBVhqPg3FYlIuIv066c/HM5g5zPYNw7HI66QgpgiKoujAVem73Qa/241ypweXVTdgfslEgppVWFCb1YIqlw+yheDHShZ4gsePek8pWV0NSTUpwKqSyU5qKQJwHDEtSiDvQIfSjq5kG46ljqAz1Y6WZAvaU8fRowQFkBnYDskpvucRsLli51ukZcZ8KuMNzFz+813oS9J5twrJBjelqTpw6bvH7cT5FfX4QP08lDkDKHE4UOrywEGWt9rphc929hTfbjlFRqq9wbhxFGGhE2oc3UonjiQO42BiNw7G9uFw4oAAfEQJkbW2w0nAliRLPtAQdga/BD0/5t+hV5ePCzBz4ejPoGe55VWuMVMHVU3BSZZ3YXktFpVNwHsnnoNasqw+uwPlDk/Wo1LMmV2SBy6LBwG5BBMdjVioLUFciaFNaUVrshm7otuxIbIWzYlD4mxskkM8GUbYieTys09Bz535PPRC2zENZg66/zfpZfkQSUlbNLbEMvHcaydMwb3Tl2FuaS0cZEGdZHmdVtuI32RshW2yHV7Zj0mOJpzrWYqrlZuwPboR68NrBLi7iJaokgobMTbm2iPoA30E+sot+0HNYxXM5xpAXjTSzhszTdkiwWaRMdkfwIenLMAVNdMw1V8Oj5zvaR+SAHe5XIky3xVY4r0ER8lCbyJL/Xb4DeyP7yXHMkrXZ4M8MgyO7yRe/vYZlnrnWAMzl8fzQsj8EXXiiP/arVbivC5cVteAz868ELOKa+DKA+ubGazZKbQJKsJ6if9astYb8GrPi9gW3YSoGhFREKuUcwrCH8ZVP5yOwCVsu8cKmLn+7McjBWQBYnLknDYbJrgDuLRuMv556mLMKa4VNGIsicfqx0LvcszzXIBN4bUE6hewPbIZPWoPcXGLCPHlGNQXk/6A9C7koJA227PJTVV+Cr2cKeeSTCVhla1oCJTh6omNuHv6YkzzVY45EL+TYzuwwLsM5xCo1xP1eLXneWyJrEdICcFuccAu2fv5DFmWdxmAvhd6P71RCWZ2AnjZ87qcg1glVqwkUF9UhsvrGvGJGUsxO1AtQmnjSaxkiRcKUJ+H1T0r8I/uJ7E7tgMpJOGUXERBchbWu9UAMkc5wqMNzJz7+k3onXZy6NwBqWQMTqcLl9TPwhfmXoRlFY00qRaMZ5HJUl/ovxLTXLPxSvAZvNLzD5xItJKVdvZa6RzIPdB74v07stT0Uc7SMTmA/s+59DYSvKSspjCjogp3TVuMf5p6HgI2FwpyUipsNbil9E7McZ+LF7qewpvhVQirYXgsbuQoqzMdf/7BaAEzk/3P5nKSEqkEfGSN7511Ea6bOBPLyhsKyD2NzHDNx0T7FEwPzsYTXX9ES/IIvOQ8ppfks0xr/91wBn+X72Dm+ryvIEe5FjzsKQLyhEARvjz/ctw9ddFoSqUc4ciHF1cU34AaxwQ83vEItkU3izCfgyhJlgHN8ef/gB6uW5uvYK43TrIml0B+39R5uGf6UiyvbCgAOQOZ5V4g6McTnX/Ay93PIqpF4LK4sw1oLoP7L+irhaaF7MzyjHhdnitEFudiAjh2nCJ+/PVF1+Cr86/ExVWNsEgFIGcq5bZqfLDsLny4/G74LF70qMFcGAZOafi0iRg0zTLfCb2KOuthAw67TfB7cd/si3DPtCU5DrdpwBi1/m4C8eWB61EmV+F37Q/iSLJZz8rL3vXysjcvd28jfSRfwHypEb3IeownqSiYXV6BH19wA5ZXNRDHy3XIbWxbf652WeBdIrL1fn3iv7Erug0uq1vEo7NF3Q0fazvpWyNNM3ip+qvZ5smcHJRUUphfVYOfLboRl1Y3jQCQx4tIaHLOwN0Vn8Ec9zkIK2EoovIlazfyVCPCUTOSYOYgLjdmyepStUK0QiVdVlePn17wHlxUVWihkQuZ6GgiQH8W53sXI6pEoGipbAKaV4k/NlymMBwwc1+yu7MNZI583tg4C/+z6CYsrSjEj3MplfY63FVxHxZ7lyOqRpHUstqf/BOk540EmLneixsYZq1lE0csNFXBjU2z8f3z34U5xdUFdI2AFMvluKP8k1jgWYSYRhYaqWx9FFcg/QuG0Y8jUzDfajh+WQOyQhx56YTJ+OLcS1HvLS2gagSlxEaArrgHs13nIK7GoGYvBn0T6btzCWbe8PHz2XT2FE3BuVV1+M9zr8b8kroCmvKBctjqyELfgynO6UgQoLO4pMKRsfpcgJlLMjjvImsI46LSGaUV+MEF78bFlQVnL5+k3jEVt5d9goBdTU5hKFsO4UwjsDDkgw/Ve+RVmw9kk16Uup34EQH5oiECmVsD7Au14Xi0BzaxSbdqdIgfMCwWSX/hlEM10Obkf2w5oaYwwVeCib7SrK+ETnPNwS2ld+DB4z8SPT+ylELKi3B/JV2VLTCzs/dFZKlHsiaschKfn3sVrqyZPuS/70rG8L2dL+KFg2/DanXyUiGvsuiqGD8r9CmqmuYzBlYl/QFlORV283znXm6qFOnBbYuuw5cW35CTKprFvotxInUUv2/7DTRJFXWGJudyFBtY47ZtiWyAmbupZy33IpVK4csLL8MnZyzL0KqrOJIIYX+sA3B4dZDaaICtmpG1r+qg5u8p5STQ078LoGs6mPlv0xZOGgUGOtSN1kgoZ7cdtw67wn8DDsT3YVXPCngkbzbGh1kA76r7d7PBzAskHFPOyjOF8y0untiA2xsXZlwpzY9Xl4VOz+aClVTqBaD0TjDqnQ118BLANaEaFw1ylr8At0ZA1xjomgHy9EGkvseS8gPkqSQcVttZn4pgXzTmFkvmywxuqxc3l34Yh2OHcDC5Fz7Jb7Z15oqBe7MBZjb387LFk/0uG/5t3hVo8g+vd6LWC1St7wuDmRb9H+bPNKGSXW8rC82uv19wHgPggqKkoCV0gKdpi8YA5xZeivEZfS15rjP4tDOAiIAbXLsPnf/YiNiuFig9cZyIRBEmLAcmV6D20jmou2Y+ZK9zSB9ba5uED5TdgQdaf4CQ2pON1FFmAu8hfdIsMDNH/hCytECiaSl8Zd7VuLBqsmgymCue2Q/kfX9PW16ZAC6nLbEdUtqZVHS6ovVSFRUqN1VMGJZcUU/eULw9mWVkLbgaSeDIT59B8w+fJhDHxHXJdFKc69ISjeCQpGD7b55H441Lsfj7H4WzamjbKc7znI9rim7AnzoeRoq+rOZ2XOOTud2wzqoZYOZS8fOyMdDJRBz3nrMMn5i+GLKUJ23ntAG/DDQ0VosOdIet983izA26Ijh4Ugd72pJraU7Ollzsv3eKVNIsAL7rla049M0n6MlCQCvy9F5PQHKg3GZBWzQOlW7EHX96CYGpNTj3q7cM6fjcXemiwNXYHtuE9ZG34LcEzLbOnDZxNenTwwWzwwjFlZgOZHL4qouLcFP9HHhlh/k4zOYjfaBlFwERAjgDnS9Fk0TDWYNH6ZQkpTubOl1JGSBXT0ZYhN1RT242iQHc/ExgH+T/GMDB1buR6o7CXuXvpSPph0yZw4EQnUeUnoiWmIyWl7dB+UISVufQ/JZSuQJXBq7H7uhOxLSYyIM2EdCVBga5obkyHDBfRbrUfDxosNF53TN9yTCz4AxgGV3obSP1LNcGWvH+EylALltPsg3NuClUw4r30pT0d01vpyscVM3AYPr4fBDtHQAfrAEX30SpcFx/mgz4X16cslsllDrsOBKOiAiFQlZanAuG7oTPcS/Ecv9leLrrr3Spstl043LoG5muyBTMDoMrm9zRXkIqEcXlDTNx46RZom3UcI7Vd47iaoLAEYHCPZDzvYxKMs7dRv/YSV1WnbAousOmhwyNsGFK5+agpxlSxk2gaCcjLYkI4kpyUFsoncagJ+lvAwTmID0pOuKJkyY7A3FaXLg88C5sjqzH4cRB+KwBM5+V1QYWXzuddT4dmLlr5xKz55ATiEo9HtwzYxFmBYaRCadp/QDLjV4aPaWYzV3sbR6RA81PgFFVGpg+WUtfCBpWmGmIanBvYclPxsuTwU5M8BQNvrx8huvnnkYVTge6e0JQpeGBj3Ogr/C/C79t/wUS5q8OXgJ9D5UtmYCZKYapORgitKvEcWX9PFxbN9M0ILP4ZDvum3opPjJ5EQ0iPTJpotmTZ8slWSTk/UregDOUBgsl6ug7+bPxB/FkAtW+YtgHixunF4Asg6Oa7xG33YoSArRGfF0b5jAt9V+KtZHXsSW60WwwTzIwOWQwT4C++mKuVU4lUVtUhtubzoXDIg/fgvUNMhCA61wBoScRTsYrFBLccbQAekiebRrkLrp+p13sYDVQUsEIOdudQKvyTocybZ3p73xEz2LkKKrq8PZJCcilWOK9GHtju5GkLxtMaxfMgOE2ub/GKbrynwpRTC/OMXs+NE3B4sp6XFU7fRhHOXveoMka4g4LenpC4m+lMdqOQFFUejJ54NVs/a5RIkvtO6cB5Vcvh+xy646jNmCNJb1yHyc+3lBBFE3OaKz7ygXe5Xg9+DJ2xLdCJqNlYnYdb6rJzeqfOlswO4wIhsvcAU+hLlCGO6YuFHvf5YSC0peHJpGtdk9Pj1jClSxjsBBWGnxTTMlmQeXty1B+0wX9ebimDjAP+l9LskVY+OGKXy7BYv9F2Nu2S+Sm67tjmSLFhqF9djBHcLBPmcg3l/nhOBVzS6twVU1urHI/T9vpFM6gALQ2di30O8dcQaz9VcSOvUlAdRGGJdh9MlzF6SCmREZGQ/h4DCrxbtlfB1/g/dyP3xjrzMf8PO8yrOx5kejGLrM79y8yohvNZwNmjmLMMXNQU2QRKz1+fGTqggxbBAyf67pc+oMmxBx6vACaDEj82BYEN/8NVkeAnG8N7nI3HBP9Org47TuuILS7E0osDEflHPiabhoAi8wAXSJXiELYA/G9IqPRxE2DeAeGuYOBeSCynNmgGLwlzpTictwwYc4wgCyZAmiv1yuArGkaxoNIVruwyr3Kud4WR69KVod4TbK6xM9av3GWhmVM5nsWoUKuRkoztQi22MCo9UxgrjIss2nCWXEemx1X1TWdekPH02JZ6r/EaxKgxbmp6niA88nwXG+ednpF0PiZn5Z9c7hNGv9q+wTMdM01CIupxoMxWnEmMDfB5I10GMwlDg9urM90j3fN9AQcBrTP5xP5vOPFQg/nXsjUMvMS+RzPArE6aPLWyAzmSacDM5/2AuhJ0aaJlbzouaUVaPKWD2c0TZc0oPW50kTEgzP3bIYyt0/X0xXgnvkczHDORZWNqYapW2qzVZ438MQsA7jI+eZ60+RwyDZ8atZSOKwZOgBS9qDEUY6yohL4bS44JFmMTLonBG946SFO6SE+yeDW8mGH6hHDcuZX7peLMMt9jmgeY3I1N0c1vKeKZrDpNDUkx0NQ6fbikqqpwzhCdqMOnVIcO+NHsKXjMI4nehBWE7ATeEvtXkx2lmGaqwp1joBYsQwrcQHp8dfUfHhhugWexXgp+CySasrM6nHOsefuQD2DgblxMFI9LIpBj+rL6hozc/yySDFYIkoCrxzfhv89sg7ruw+hPRESO7hqxpxx1YuPPPwmZzkuLZmG68rnYoK9GD0K91xTximgM5MGxzQ02KdgU3Q93JLHLP7MjQc57eLAQDDbDA5i6r67fBe+d2KmIevsWeWj0U78dPfzBOS30JOKwWW1wyM7dJ4s0ur1rYm5H8XboUNYT/pq9258qvZSLA00IEiAToxLQGc2Jzaia03OadgQfctMssZhZI4qvA6jtEHu8x+m52K47TKWZdK5c5CsOLPkCAH5K5sfx3PHNgmuXOkM9AL4ZERbEjzZbpVFFUycQL2mex+OxYP410nX4rKS6ehMRQTgxxegpYznptE1HfYuh2iNa+ICCltKXhMJ93UAOYIxxdybWMPU4hK4ZFtGY5YdahHHd3b8Hc+3bkGF0w+fTa9GVgexF+mijkgqjs5EmB6PdjTHO/HNg89hfc8h+HmhYTxGOjKcm2pbHcrkcqJoCTMNwCz0WeBLg5k74NeabZnPL5uQV1z58ea1+NvR9Sgj585GPF49TYxZIsoRTERRTpb7w/VL0eAph6Rq2BVpxS+OrEQXWWa31YHxJ5nNTbFcgTp7vajgNtEAMMDK+oJZMoBcai6YNdxcnwFzydIiRmusG48eeB0Oiw2yAWQLBs8249e74mGy3gH85+yb8KUZ1+Nrs2/GdH+dICQru/bhte695GBYhaM47qxzBnPksNgx2dGkP8000xZQOAJX3xfMrJwpZzXzWv1OG+Zm0iA8S1z55ePbcDjSDrespzgymLvJukbVRL+UVHYBu5JRVLsC+Mac9+HCsmnCOTyvZDJuq7sQ1pQNHakQXuvagx4lBrsRn+73TGJOyMUHZqpI0MqT2yaDOeJ+dPX2RqJrbqNhuSnz7Dawa0k7gExqZ5h5rewYnVcxSThQ+SJvdu7vTaLh0BoDeF5gIgE3IpxCp1XYWfSkoqhxFeGbc2/BktIpfa5Jw76udjS3hREosmJnpAUtiW40uMr7TRn4mombizo90+gS98yz66okMVql1jGRfI0SHFeOEejsZt2akw0cJ9JoM7WzJ1OMSd7inCXhn0k6k2Gyym0iWy7Nkz9cvwz3TrkcW7qb8bWtf8Wm7sOCctS5SvCNue8bAGQVv9r5Gr618SkoxJu7elTsdXThBFnoRnrS9XbJUBJI7fkzlLaNRuKOSYUAHDWxuiBPuhqWyvP0m2UUCu816LP60Jo6aqZbVN3XMvNexuY2D1cV3DppXoYbTpofX+5JxhBJ6Z1RY2TZrq6ei89MvVrg7dziSfjmnFvwmQ2/FaD/+tybsbT05Iol931+aOfruG/1HxGh6+IN53vicexr68bRcFDswCECe8QJ1Z4DSO56DBJ57CBubhor4IhYIiRSKe0VC/SbRBvJjL/M5shucaBULsOu2DYzT4YfjeyJx2TD8Ws0+1rtVmeGY2S+NRdgMxqpaJImbuMEAcNhlPPMDNTi2/M+ICzw/KL6fhb5N7tW4f+s+j14Idtjc4m0UU6eSigqkimDuPA589ZiRDnkiZdA7dhuWGWzSrRUrmmCtXqZsbI80qmrUkZ4tko2lNgq+ky2OezFMMjdshGnKzL7Wl2ZWGUpO6t+XtklHD+mA5xj8QI5gw17X8bHGi/prRLvC+K0g/jQrtfx6VV/QJwsssfuFhUTTJ1U4tweOl6JzXkSrkwFbH7Y5vwztFgb/W4iZ+Y7kRPrnSV0Yon88AMzmCvuc1Rpq0Sf5mVm0Qx/mmY4DTNtjg0hy1Xh92GCJ5DZXZAFKbJ7iAsXC37skuxEF+L48Z5/iMjFnY0X0ePvnTfer3auxH1r/oRoKgW3QweywBWH4pQUan2lqHMX671Z0jPDFRVENyTvBPMvQnQvimYtdJmLubJIVrF4YpMcYtdXk1p4Fad9Pp7FKpi3Ibx4NM8rqRaLEsijYV9Y0oBnjm0SzqmbuFtIjeGHu58R/3kXWei+tYkP7VyFfyEghwjI3j5ATl8fN/deUD4ZjeU1SMZSusVO0yM1rjtoUn4AKN8kYC2h8XcjokXMWtbmaJzXiCWZv++1cPwy4r7ZszqXV84iS1qKqJIQF+0lisDRjR/tfhYP7nul932/JCDft/oPCCaTRC2c/YDMlRMJciYd9Pp1E+ci4PbA5nYIIJ+sWEmXH2VD80kymyveWJ7VxP24JcPvExa5yOxrlLlFap5ZnipnEW6rX4KvbfmL4Mn85ZfdYuHk/n0voiMRQjCs4f6tr6A7GYWbOHLfkioeeLbKajyMy5suwDUTZovX020MwuGwoFjjpY1BpnPF/ZwdpGwkRGGxOQasF8ymVmJDTWFZxSRRYZJvcnPdeVjTtgdPHl0vFkaYM/vJQseJAz968DWcCCUIyHE4ZNeAadPL8mORICYW1+AL869Bif1kddm4bGOQ8S1gIUDLZtft+NI0w9wWPzSZ0/xl+dMJv+8VE0i/PON6XFYxCy2xLrGxuUWziHwNh+zAxCIfGsr9gjakF1cYyJxVF450ocZXgh8tvRUXVjS949hsocdX1Xfm9lxix89cR9aRBrPJZoQtk5y3gznRU4pvzbsFt05cTLw4LipMuJxHpOnSV5nXgZpiPb2Td8EKE+WIRrtxflUTHrnsbtxwiuQptsaFqu8zC8eavVY/GQjVTOssp//JwjMxv/u58ZL112bdhEvLZ+J3h1eJkF2IQAuD63MKhNsrIRJSMKW4Crc3XoDbpy5BrfvM7kWacnArMHWY25ONReHwnNPiNtvZt6XBPC5HmytIrq05B8vLp2Fb8Cg2Bw/jKFGJiJog2mFFud2POmcpzitpQKXLD3kIoGRAs2UucOiciS2Llnn08DefzYULShtxfmlDPxqn79KQ+dC43W4B4vEX5Rg5YTArhWEw2rpmoXMSg3i8dR8dAUlmjdwWpmzwKEfBKdT3OI+r0QENGs0BM1tm1WwoS0gVUDyIU1jg0JxSm0SP0g2LUbRmUkQjlbbM5oKZJmpn8ITIAy5If0B7PJ5x1U53cNFEUM7kGzqRBrO5ZQsWGSuPH+hNhi9If6dwvANab7CTNLvfSE8azF1mE2beLLFADwuAHpxmJMQegbyZqYmLJh1pMLeYfcLcAUgtNII9LaDHWwf/tESVKMKknMtsEpj5IO1pMB+BieE5vuO2dh5DSi1E/M7EocdjlCOodCKqRsxs0cXOXzAdzYgavNmUJuNWiwVHgkEcDnej3OnN4CYbGU+fWwx0JaJiD2puEuOzOVBi82Y18jC6VwqHPldcbtaSbCZvLQ4PvGadSDdpLA3muPGCeR3zFY0eJxmE5zQpp1jm/OSVJ3bi1bYd2BlsQXsibPQQtiBgd2GSuxyLSptwUfl0lDt8WaMcLLxSOKoAncFccUL+8VSrmR2NWI72tcydpPuhFwaa5wRm0ttByp113th9GPfveRGr23YjROfKDz2Lxdob+zwc0bCp6zCebdmEKf4qfHTyhXhP9blZAzQnJLGFHh1L35l1AuVWCe2J1t6NNE3izEcNYyzAzD8cgr7zpWlo3h/pxHJoQ28Ek2Usc2ei545txNe3PYmWWDe8sh0+2Wnskz6g0Zam92ne2t2ML236E3YFj+GTTVeI7kdmy6jaeDPDOUqpcbSnTpjJl1lOpGlGuoFZ2NSLJQv35wNbRAXH0O+D7E7i88c24ytbHkdbogfFdo/Yu8QiDV5jx69z93+nxSYA9sC+F/HDXc8QFcmOcztq9inMcI7CWhhBtUd0WDVRWmEs/PFReV17p5lH5xrANa2HkFDya1l7B/Hir29/EqFUDAFRGqWdlvHwDkkKjVPA5hLWmB+Nvz6wEn84vPq07XCHSznGatjuWKJZRDNkmFq8sQcDlrMPwMRsaZ6IrlgMWzqPZfgMy46z94v9L6E52oEi2UMg1YyGttKgQI6pSREvf/+ERXhg4Z24fdIyeKwOhJJxPHpoNfaEWrMa5cjvhZWhnxNXlhyM70NIDQkwm8SXmV4c7muZNYNEd5jt7f718ObMvMdsOHxdh/BS6zYUkZVVjJIdbjvA+5b0hTRz/Bi9zhTptvoL8fnp78JMfw0+1XQlbq9fBpvViq3BZrx0fJveQyNLkl4pTHP3/OrRP/Q5Smpx7I3vEuNuMY9mMF8+2EsLje/7DECberlvth3OG8v8YutWkS9iFcuoqgAyx8SZSjB4Rd0w/R83VowSwO9suBifm3ptb3MY/ruJjmpEwpp4z1ude0X9YDaFAe0vrYDVGQBsfr1P8yi1zJ2pdjTH98Nm7h5QRw3OjHQ0A4YDyNxjjnlolrCj4wRiqRScsjy02yC9f5lJRpqt77aeowKQbEsjBEbuLffBiUsEXWAeHExFyRm0iL5ydzdcgvumXtNvy7fNHUfw/Y3P4URnBB6/Dbt7juNEIogKh78/nYl2IRk8aFoTSA7ZybEE3UBWWDx1I9sBVMs8LHcscQTtqeOwSTYzczK2pSMZfcHML2wgvdFMy9wTT2L1iQO4pLpp6N6yZl6Mjhu8tMWDgoPGiD7M8tfhP2bdjCm+SkEVeNepb5BjGIyF8Zlp14h2t32BvK2zBR9f+QjWHN0Bp8uPcDiBncfb0RIJYlaftRQl0ob2VT9AomMvJJMarUtG7F1V6PFcdznkKTfRa9oI9ZzLfBew/fGdiBHVcFt8Zj59N7JtGghmjmhsgp6jYVoQkD3+p45sHTqYTQ7RMS1IiV4WmqAV84omCiCn6cMdky5ElCgIRznubby8tzOoiIB0H8Ndrz2M1S07BZCF9aZza+2JoC0S6W+V412IHn6drHMnJNlhyqTpO5XRWKTCcHhryDC/TzQYHZEodIZzwimfu2M7RAMYExdL0phVB4JZM8JzTKirzIwgPHNoN74+PzWijce5y6ceqJdENx1e9VvXeQALiif1Avruxkt633sSyC24c8VvsKpFt8j0oO+dCK7Wtg8I/tt8tShd9nnEWjcb525e53yL3Q33pMsAjws9wfgILKxkPhcH4nuwN7aLxsth1u6sMCJwB/u+IA/wDN8mvdbMITgS7sG69kNYksnmlsPcszktvDhS7PBgHzlvvBvrvvBxfGXzY2K7h/lFk94BYpbtbJFXPIxVR3fD6fTpjiMDiAFNvLrM7UeFq3++hiS74J1yHYHuYlNpkmisQ+cnyXoDd83rzXFy0vCuZV14NbrVLmOrYdMoxlswUj8HRjOEw0m62swh4BU0jiB8b+sK8ajPNMQ3XGEAT/VWGjnWmti/b3foGL5MgH6r88A73r+ruxV3E5Bfb90Ll8sjrHo63iuOkUqi0VeOOk/x4Ndt85Al9ZJ6TFJvL5DF9fRJH81JLscw5iCq9mBrZL1oNG5yf7k1MBKMBgOzYqDd1HqnpKJga1vbMC7DnAFYXj5drOJx8J5vMnb6dgSP4t82Py5i0GnZ3X2CqMWv8VrrHjjpPX05nmjZxaua9MOy6qmocRdhpCS3rcAyP/72yGYcSRyhMTc1rMjVUesHnthAUrfb8BBNE348t0SD+PnO13PqdAyUJWVNWFjcIFbw0ptZFpPF20mA/tctf8aa9r1Yd+Iw7iRn77WW3XDY0slHfQ2UhGQyhvpABd5TP7dfxGOkAN03wT9rFjrj42pEMdYgrIZENbaJst7gzDgdmFsM62wq1ehJxPG3g9szTNAxZ/WLHb+PN1wi8iw4apFeyi4iLr0/3IpPvv0w3v3ST7Dy6B64HG6x82p/9i4hzosuBJqPTFuCC8obzLF5mjYsTfflyN7Sd+bjfzxxVOwsxaFEkwtY15G+I1dioO2PGFzkY4B5SzUcFt3d1Y4XWnbhmtqh7p8p9RnQ4Q0IbwXx6SlX47+2PyEAzTuv8iDbOSuOWFaxX0ZCIbDHFQJz/zPgChQlEcMHpi7CJ2de9g6wZyKJRALt7e0Z8d70+xWicfxzcXHxKY6hDXGcB/vbzK51Q2St2PNPht1MIHMl9iojNHdaMKe9xC2k8836dA5jHQl14f4da3BlzTRBPTID9DBvKtIPTVqChJrEj3f/A92JCFyyXey/wlEKv1OGrdSC5vYownGdG3N4MUkW2U5W74PTFuO7i27JoBxscInH4zh48KAAtdU6NMrCVjh9E9TW1sJuPxVgrPqursz1FZVUFk16+Ikp1qbYh9BSdKxkbxz4naM2dAmlOrEmtEI0fbFLTjPBzDR4w6A4G+Q1rjp500ww86jx18a2FrxMfPRyAvRIhel4ujjvotZVggf3vyI6gIaTEXF+1pSFrLSFLLQF3e1JpGJJkZs9xVeK26cvxWdnX07W3GnisEgCxLIsCx0KkNki89/W1dUJHdQq07nLRXWwFNdCcpCzyC0gPA4kJTdSit4Ogo8Td1oJ3k7I3jp9u2QTwnFvhleJxCILZLMpBjOH5rMFMxe4riT9KIdfTXMEaZAOBtvw8J51GYLZXOFdWueXTBJlUavad+FQuE3sZZIgSxywW1FFYHcmnTivrAHvnTQfC8vqs+RbSUOmGGJjTQLyhAkTUF1dfcq/lyQrHDXz4JT0aJJF0pljD11jR0cEiWRKt86lfMw4vBMuMCVxPqz2YDVZ5bgWp882dZeRU1KMU4GZhePNvFS40LRJEze7BSuPHcCLx3bhsqqpIw7oSocfH5m0DDfVLcThSLsoaOWkJM6UK7K7Ue4IoNoZQD5JKpUS4TgGck3NmTcKs7lr4PQ3IRbcLayumIeUAlWTiHUQsbCy45iE01eJkspZppzj2p7XsCe2ncBly4bjd8q1kFOBmVNCXzATzOLDZBsOdLTi93s3EpinZPAYk9LPWVNzN7xEHWb4a5HvwpSAgVxfX4+qqrPLOuAtOVzeJsR79kNjOsXbAohYO2+brIoRVekGLquYQbzb12dsMxtfboq4KvQywkoIbqvXzMvnh8vzg0UxThWa6yun/cNMrbNksePvB7biqcPbhxn3HF+dgNJAnjRpkgDyUKiJ7KqEi6yzRk7ewNCeQs6t21eF4vIZfcY2c3kj9Cq2RzeT02832yrzytY/Tu8PnVrYnL9h9qSwo9Ma7MT/7FyF9nhomLfG+JA0tWAgV1ZWZhDGs8DhmwKnuwxFRW6UlpbS9yIEivywO+worz0Xsm34bVOOJg7h+a4nEVEjIqnIZFmJMyzonc6FZkfwD6TLoe9PbB6g7S68uH87flW1Fv8y66LMy2hMphv5CmQ2AJMnT0ZZWVnGq3yyowzBWBFWrHiMnmlWxBMSOjvaMHfBxZhWMnnY55nUElgRfAb7Y7vgkT1mm5rjpL8/leN3NmBm+TvpR9j5N9uDj5Pz8cDO1VhUXo8LKxsyPRBGsqVXLqgFA7mhoUFY0+EsV4swoLMWf3t2Azau3wibTYLX68IFF99FnzH8cOO2yAa81P0s8XC7cPxMTipaYdBeZEozWEKGde42e6JsNhv2tp3AXw5uQjg1nBbRYxfIPEaNjY3Dssh9pap2Kq68+n2wWhNoOx7FZVfdgKkzzhv2cbtSbXi268/oVDrhtLjMBnK7gcHkcMHM8iT0MJ3pwhbhJ1tex/1koZNaoWtoX2rBQE5bZLOEefelV92MadMWoLrWjeuuvwNuj394N52WwsrgC3g78hZcFrfZTh8Mv+2Zs8LTWbyH85wfhR6mMzUCrrMEK767aQUuKJuIxRWTTcl5GO1A5uQh5sicb2G2lBKtu+pdN6Kt7XxMnDx72MfbGn0bT3b9ydgT23R6wYskjxj+mylghmHm7yY1vXMgg7c1HBYJ/N9xeTHVXzHugczUIhDI3mLNu2+8S9Rner3D+4wTyRY83v4w0YxO+Kx+s4HMwpVPfznrJ89Zvo8584NAdraR4kSfJ/ZsxR/2rxdtAMajJJNJ0Sejqakpq0Bm8frL4A+UD2vpOq5F8deOR7ErthNeiy8bQGZH6ucYQrHIUK6GQyMbsjXAvDr41bdexAM7V40rEPPCBVtk7l7EQPb7/aPivFd0P4uXu5+DXbJnqyjgNdInhuQTDMVpJf0uzN6dqk9MgjPafrD5Vaw8vnfcAJktMgOZqUW6aiTfZUP4Dfyl43eQuEGNJGfDKnMU7Tvo0+DFbDCnIxtPZGuQOM+5OdSDL6x9Gm+3N495MHP2G9fxsUXm76NBeFHkkbb7Rbsth2gdkJW0gt+SvjTkaM0Q3x8z7pjjWQM0ndLqo4fxxXUE6I7DYxrMaWdvtFCLY4nD+O2J+3E4cRAuqydbH3OA9EeZ+GeZeACchveTbF0JV0BwPPT5g7vw1befx45ga9Z6IY+0OByO3j1N8l06U63CIm+NbYI7O/HktHwbGfYLz9SdfQh6xn+W6AZ35LTi6f3b8O2NryCujs8IR75Ij9JFFvkXWBtaDRs7fOZWWveVZ0kfy9gQZvh3Rw26kTWUcbtZ7nj5ux3r8Nk3nsS+UBsK+2TmXsJKD35/4kG8HnoFdotDOHxZEg7/fh8DuhTlAswsnPjxq2wOpNViRYqs9INb38BnCNDrxjiHzjfpSp7AQyd+gpd6nhYV7ByGy6LcDz0ch5EAc8gg6m9nF9AWaATqp/Zuw5fWPYM32w4WUJYDaU0ewYME5BXBF2Fjiwx7tiIXLK8YYI6NFJhZdpD+B/T8jayJcAplG54/sEuE7V4/vh+pkWq4PQ7kUHwffnn8J8SRV8FldWUjpbOvNBsYOjBsnJhwMk8YHmhWt5Zi35lXCV9p3o+7Xn8MP9+5KrOt2QpySuEeGtui6/Gz1m9gU1TPgrMiqy3IeAHu66Qvm3Ews9g8PyLOIf1AtgecN8jZ0dGBz73xFCLJJD4xfTH8NmcBicOUhBrDGnLyHmt/ROxv7bMEsp0qzo/WX5L+2qwDmgVm9kS/RsoNMeZne+B5n8FUSsMXVz+F/T3t+MiUhTi/bGIGnZIKwtIpkuv/gqdIk1oSfmtRNmlFWriT5pCXrLNNM/ry569lmz/35dFMOx7YvBofX/U4HtqzFmqBRw9Z9sV24P7W7+B/O/4o4OuxeHMB5COk/4oBne+HHSywXr/MzOPtNG6QS5CDeiaRnES041iwG6tPHBLboRU7Xahy+QsoPYMk1TheC76AR9p/Tjx5s1jV49BbDoDMlvgrpI+bedAbSm41HcwsvNxdQnpeLiZFEnekFaF4DCuOHcD6zmax++rMokqRJ12QdwonC/254xE80flHtCnH4bUGiKLJyNGq1DdIf2D2hzGYs7GcEzXuPC5ee3+uJshGlENRNbzRfAA7u9rxcsse3DtjKS6saCig15CQ0o1XyRq/GPw7DvIGk5JNd/SMWEYOhJPtvwV9lwbzfals+RSknyHlBN3rcjVZVosEq92JrmgUf9y1AW8eO4wPT1uA99bPwdzimnEN5PXhNXi283+xNbZBOHkeq1eE3bTc5QhwcceXcZb1fPnAmfsZAsNjXUBan8uJ41VDC1GMjmgYb55oxrNHdpEpSMFHQK9wescViHdGN+Gvnb/F37oew77EbkEnuB2Apc82cDmQp0nvJW3L1gcwzZBsv/xiti9kJvRk6/kjMZmKaMqtIOAgILu9+ODUebh10rmYNoYLZzVNwe7oNrwaegEbI2vRlmwTKZs2i40gbEWOM7ZeJb0Det/vrMlDjU/mBMwsF0JPSmoaqQlWjEaBDtmKcqcHNzbOxMeaFqPBVwKPbB8TIOaFj10E4tWhl7GeQNyldIpiB06ntWBEYvC8C8OdyFLflZECM8tF0FcKp4/khHOiP9sl7sFslyUsrKjFF2ZfgumBSpQQyP02x6gCsEJWmBc9tkbWYV3kDWyLbEJIDYkNiZhSSCPX8Ynz3e+BvjMUcgFmOYcXx/3CbjU82kUjNcIWo5KYIR1LqXjt6GGsaP41yt1uXD95OlGQBZhdXCX2DPTlKbBTWkrkGR+I7yLHbi22RNehJXmUvAIFdvpyWVwjeXpsK140gLw7lx+cS8uclkYD0FfkFc9kK6eqAuTlXjcuqJiAjzYuRJnTh0neYpQ6PCNGRxT6YgoRVLpxnEC7M7YFG0Jv4mBiHxJakiySTHzYPpJW+OSp6olnn4JewJEzyTXN6CsTSH9Ken0+Wj6mIgxsqCmu4UJdoAjvnTgHV1RPJdDI5Eh6ELA74bLKIsmJt2AzlftqcdEiNqpECLxHsD++Bwfj+wR4jydaEFSDouKD9wtJL3ZoI1+GkzIc/c9lM2qRj2BmKYdeJvMhAHmbIdRrsdPbj3F3Y5cTM4mKVHE7sUA5ZgeqxWpjBf3O9Yuy1UI0RYaD1E5a6/Khwuk3jqfSzaIIrsvbiiUItHEthhDRBm5z1Zk6jlayvtxRk5t3t6YIvKkgVEkVfUV4GzKmEtzTWkXe5KLwEvX/kP4baXgkTiDXnHmgnIAee+Sar7tIPfkIZpFHzfWIFrK+BofmlcbNx49hs6bieXWHbsF1m86tNukPrHDYHfAL6+3A8ppKvHdqOeyOMEKpCBQlIaxvVIsSdeghS9uF9uQJhNWwaHvFCVNidyjeeIyeBCKvWLL20ghNvyXyZYh4/rji6FvIck77mUQe4YHgLo9fgJ5x93nSUbH2zNbXeop9+8ReskRTEkkNJxJRQn4Mj8eb0eo+iJJAEAnlJLPVN5mHCJ3JvB7Hm+lYPL1htL7g7fs9j2Qz9OT6P+bDych5cA7cGO8BA9BfhZ5xN2pFbEIkWiXoQEwRHfDa7EQ7HPBYfHD1G/L+LttAsGr5XY7Ojh6XO72dLyeUT1yVQ3f/RPozjKWmApoOWaYJ79y7Rev3NUqE+fF/kn48n4Ccb2BmOUD6f0k/SdqKguSbcNz4Y6T/lY/zk49RBE5Q4pXCm6EH3wsykpzJqqXLLDiZ/hbouygk8vF08zUkxq46NwS5g/QT0JNVCpJTZGgijqj12J7WEpYP0e+8orchr085z4eUeyr8P9KbSO+DCb0VCnIW1tjCq0aWN9HiuQ1tzlsli8q5yCfy/dTlUTC8bKV5RYk7j3JLME765woWXwF5pltj5hRH0e58VItbH5As2n5ollHjmcqjaKgZ1FuhL7Q8Z9CP5aPsGvLYImsJRORntS7H96SkZSXso6/SfTQ2mkgYzghn4PGmQccKSByWKATkQ0Qrvoe49Tboe1SPShnNVu24YZ25ny/nd1xJWlfA5pCedPtI/wZOENLyK2Y83sCclpcMXW5waU4tnVLA6mlliwHiP0NvDTEmZCzxzVcNPZ/0g4alnlHAbT9h6/t36JXSO8baxY1F5+lNQ3k32csNUHOFeNE4BTCv1K0mfcHQnWP1QsdyJOBtQx81wHy1YbXnYexHQILQi0hfMwDMdXgdY/2uHQ9hrSOG8qROhN42bDHpxWOMhnDJ0ltGNOJ1A8y8b8a42d1oPMVoIwZP3GE4Pgxs7ulxgeE8ziV1j7JrajMA/KrhyO02btwExqGM1wWHvsDmbjvcF6/eoCDMtWdDL7wtz6Nz5i7zXCTKezFvhJ4nwdb3mEEhxv02AoXVMz0/N01F3iDlNvxcqz/VAHiTAexaA+TFpNnsQcDLx9y8vdkALvcw3kN6yLC8x4ybMY7CZnIFMJ+Bd4YNbTOiAFZjnLhGsZrURlpjUJRig5ow0KsMC+823q/vba9/VwzwJQ0KwDcQp7py/VyXAd52A8CHjJ9DxjkkDKurFKbn9PL/BRgA439KHGz7zb8AAAAASUVORK5CYII="}},"time_used":4835,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4790,"receive":45,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/payeer.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.077Z","timestamp":1785136422077,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/payeer.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 11094\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":11094,"size_decoded":11436,"mime_type":"image/png","magic":"PNG image data, 178 x 127, 8-bit/color RGBA, non-interlaced","md5":"bb0ef7bd2c36b12c147511ff245aba50","sha1":"d2b476830da98df7cc842bb6691cc7bef3104331","sha256":"2c9588360aae68354005e0213b1813ec4422fa7dc656d2b8e0199da74d8e3182","sha512":"3fdc70398974e9c23e2c270953b33afe85c74893d2488751a3699ba0f3ab797dfe0b96683438168c08bfe31eef6560b5516f03d89cf20c968a5b514ad24ceb65","ssdeep":"192:1TV1BUncx1V7u6AOvqeKUXqMaoip0tm/OkiQzvBSbfebA5FMC9y8Nj1rqhV:JV1ynclu6AOCeKujaookkii8bfeM5FVG","tlshash":"a932bf9ca554177db2b1609f8328014ea9da7af4ed251397b8c1f207c9a743c6393edc","first_seen":"2023-11-10T13:43:16Z","last_seen":"2026-08-10T18:46:06.134377Z","times_seen":47,"resource_available":false,"data":"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"}},"time_used":5004,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5004,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/calculator.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.298Z","timestamp":1785136427298,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/images/calculator.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.552Z","timestamp":1785136427552,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/9df3b67b6061ea9e.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 7747833\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"9df3b67b6061ea9e.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"c678a91c2c6476c2f4253bbb2f68861b\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/9df3b67b6061ea9e.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qglf9-1777388594160-6b3c36de26cf\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=FZUDES2QaMf864SRYWN1%2Beg2YjF0%2BufumHp9D7sduV0ql3DgJVodp1T3nC5Yh7VeOvUUHsdkTPdYxPa8dVSreAgiufp7J8HF%2FQjFV3BAE9Gnvb7PD%2FC2%2FpObeBtw\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f03ef28deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":33297,"size_decoded":9773,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (19585)","md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-11T04:47:30.044519Z","times_seen":2295,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQxMDYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sODQwODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzQmFpbG91dFRvQ1NSRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiAke2V9YCksdGhpcy5yZWFzb249ZSx0aGlzLmRpZ2VzdD1vfX1mdW5jdGlvbiB1KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1vfX0sNTMxMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUVFBBY2Nlc3NFcnJvclN0YXR1czpmdW5jdGlvbigpe3JldHVybiBvfSxIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPXtOT1RfRk9VTkQ6NDA0LEZPUkJJRERFTjo0MDMsVU5BVVRIT1JJWkVEOjQwMX0saT1uZXcgU2V0KE9iamVjdC52YWx1ZXMobykpLHU9Ik5FWFRfSFRUUF9FUlJPUl9GQUxMQkFDSyI7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0W3Qscl09ZS5kaWdlc3Quc3BsaXQoIjsiKTtyZXR1cm4gdD09PXUmJmkuaGFzKE51bWJlcihyKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IilbMV0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUpe2Nhc2UgNDAxOnJldHVybiJ1bmF1dGhvcml6ZWQiO2Nhc2UgNDAzOnJldHVybiJmb3JiaWRkZW4iO2Nhc2UgNDA0OnJldHVybiJub3QtZm91bmQiO2RlZmF1bHQ6cmV0dXJufX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTg0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNOZXh0Um91dGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1lLnIoOTA4NjIpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsYS5pc1JlZGlyZWN0RXJyb3IpKGUpfHwoMCxuLmlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM5Mjc1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMxODk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig3NTIwMSksaT1lLnIoMzkyNzUpLHU9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKSxzPSgwLG8uY3JlYXRlQ29udGV4dCkobnVsbCksYz0oMCxvLmNyZWF0ZUNvbnRleHQpKG51bGwpLGQ9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKTtmdW5jdGlvbiBsKGUsdCl7bGV0IHI9UHJvbWlzZS5yZXNvbHZlKHQpO3JldHVybiByLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPXQsci5kaXNwbGF5TmFtZT1gJHtlfSAoU1NSKWAscn19LDMzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwid29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sMTI5NjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJ1bnRpbWVTdGFnZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBwfSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gby53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucigzMzkpLGk9ZS5yKDM0NjQxKSx1PWUucig0MTA2Mik7ZnVuY3Rpb24gcyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gYygpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGwoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjppZihlLnJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItcHByIjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU/P251bGw7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGYoZSx0KXtpZihlLmRldilzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gdC5obXJSZWZyZXNoSGFzaDtjYXNlInJlcXVlc3QiOnZhciByO3JldHVybiBudWxsPT0ocj10LmNvb2tpZXMuZ2V0KGkuTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSkpP3ZvaWQgMDpyLnZhbHVlfX1mdW5jdGlvbiBwKGUsdCl7aWYoZS5kZXYpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInJlcXVlc3QiOnJldHVybiB0LmlzSG1yUmVmcmVzaD8/ITF9cmV0dXJuITF9ZnVuY3Rpb24gaChlLHQpe2lmKGUuZGV2KXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5zZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGV9fWZ1bmN0aW9uIG0oZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGUuY2FjaGVTaWduYWw7Y2FzZSJyZXF1ZXN0IjppZihlLmNhY2hlU2lnbmFsKXJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTg0NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9by5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxvLnVzZUNvbnRleHQpKGkpO3QmJnQoZSl9fSw2NTk5NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBvKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZGlnZXN0PWEsZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNzc2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImBmb3JiaWRkZW4oKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJmb3JiaWRkZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1MzEzMykuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5NTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuYXV0aG9yaXplZCgpYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c2AgaXMgZW5hYmxlZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQxMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuYXV0aG9yaXplZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUzMTMzKS5IVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTg3ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGEuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxuLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDg0MDgyKSxhPWUucig0OTg0Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTU1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfSxtYWtlSGFuZ2luZ1Byb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1pfWxldCBpPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1pfX1sZXQgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBjKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBvPWEuYmluZChudWxsLG5ldyB1KHQscikpLGk9cy5nZXQoZSk7aWYoaSlpLnB1c2gobyk7ZWxzZXtsZXQgdD1bb107cy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGwoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfX0sMTc1NTYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDkzMjEzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9b319ZnVuY3Rpb24gdShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjQzMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPW99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MzQ1OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBvfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiB1fSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLGk9Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIix1PSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHM9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjQzODYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoODI2MzcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIG8gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDphW29dfSk7bGV0IGk9ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0sdT1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiBzKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnUoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDY3NzgxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbz17UG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gan0sUHJlbHVkZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gU30sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBQfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIE59LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBCfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBJfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuICR9LGNyZWF0ZVJlbmRlckluQnJvd3NlckFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGRlbGF5VW50aWxSdW50aW1lU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczpmdW5jdGlvbigpe3JldHVybiBVfSxnZXRGaXJzdER5bmFtaWNSZWFzb246ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZXR9LGlzRHluYW1pY1Bvc3Rwb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGlzUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBrfSxsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gUn0scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiB2fSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LHRyYWNrRHluYW1pY0hvbGVJblN0YXRpY1NoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHVzZUR5bmFtaWNSb3V0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybiBIfSx1c2VEeW5hbWljU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFh9fTtmb3IodmFyIGkgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDpvW2ldfSk7bGV0IHU9KG49ZS5yKDc1MjAxKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59LHM9ZS5yKDkzMjEzKSxjPWUucigxNjQzMiksZD1lLnIoMTI5NjUpLGw9ZS5yKDg5NzkxKSxmPWUucigxNTUwOCkscD1lLnIoNTM0NTkpLGg9ZS5yKDI0Mzg2KSxtPWUucig4NDA4MikseT1lLnIoNDEwNjIpLGI9ImZ1bmN0aW9uIj09dHlwZW9mIHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZTtmdW5jdGlvbiBnKGUpe3JldHVybntpc0RlYnVnRHluYW1pY0FjY2Vzc2VzOmUsZHluYW1pY0FjY2Vzc2VzOltdLHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6bnVsbH19ZnVuY3Rpb24gXygpe3JldHVybntoYXNTdXNwZW5zZUFib3ZlQm9keTohMSxoYXNEeW5hbWljTWV0YWRhdGE6ITEsZHluYW1pY01ldGFkYXRhOm51bGwsaGFzRHluYW1pY1ZpZXdwb3J0OiExLGhhc0FsbG93ZWREeW5hbWljOiExLGR5bmFtaWNFcnJvcnM6W119fWZ1bmN0aW9uIEUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PSh0PWUuZHluYW1pY0FjY2Vzc2VzWzBdKT92b2lkIDA6dC5leHByZXNzaW9ufWZ1bmN0aW9uIFIoZSx0LHIpe2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59aWYoIWUuZm9yY2VEeW5hbWljJiYhZS5mb3JjZVN0YXRpYyl7aWYoZS5keW5hbWljU2hvdWxkRXJyb3IpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlLnJvdXRlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcYCR7cn1cYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBEKGUucm91dGUscix0LmR5bmFtaWNUcmFja2luZyk7Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp0LnJldmFsaWRhdGU9MDtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke2Uucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7cn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPXIsZS5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59fX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke3Qucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtlfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7dGhyb3cgci5yZXZhbGlkYXRlPTAsdC5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbj1lLHQuZHluYW1pY1VzYWdlU3RhY2s9bi5zdGFjayxufWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59fWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPUMoYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCk7ci5jb250cm9sbGVyLmFib3J0KG4pO2xldCBhPXIuZHluYW1pY1RyYWNraW5nO2EmJmEuZHluYW1pY0FjY2Vzc2VzLnB1c2goe3N0YWNrOmEuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcz9FcnJvcigpLnN0YWNrOnZvaWQgMCxleHByZXNzaW9uOnR9KX1mdW5jdGlvbiBQKGUsdCxyLG4pe2xldCBhPW4uZHluYW1pY1RyYWNraW5nO3coZSx0LG4pLGEmJm51bGw9PT1hLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2smJihhLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s9cil9ZnVuY3Rpb24gUyhlLHQscixuKXtpZighMT09PW4uY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7dyhlLHQsbik7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7YSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX10aHJvdyBDKGBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LmApfWZ1bmN0aW9uIGooe3JlYXNvbjplLHJvdXRlOnR9KXtsZXQgcj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7RCh0LGUsciYmInByZXJlbmRlci1wcHIiPT09ci50eXBlP3IuZHluYW1pY1RyYWNraW5nOm51bGwpfWZ1bmN0aW9uIEQoZSx0LHIpeyhmdW5jdGlvbigpe2lmKCFiKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZSBpcyBub3QgZGVmaW5lZC4gVGhpcyBzdWdnZXN0cyB0aGUgd3JvbmcgdmVyc2lvbiBvZiBSZWFjdCB3YXMgbG9hZGVkLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pKCksciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pLHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShUKGUsdCkpfWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm5gUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS4gUmVhY3QgdGhyb3dzIHRoaXMgc3BlY2lhbCBvYmplY3QgdG8gaW5kaWNhdGUgd2hlcmUuIEl0IHNob3VsZCBub3QgYmUgY2F1Z2h0IGJ5IHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmB9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZSYmQShlLm1lc3NhZ2UpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuaW5jbHVkZXMoIm5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCIpJiZlLmluY2x1ZGVzKCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yIil9aWYoITE9PT1BKFQoIiUlJSIsIl5eXiIpKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogaXNEeW5hbWljUG9zdHBvbmUgbWlzaWRlbnRpZmllZCBhIHBvc3Rwb25lIHJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyOTYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IE09Ik5FWFRfUFJFUkVOREVSX0lOVEVSUlVQVEVEIjtmdW5jdGlvbiBDKGUpe2xldCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihlKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gdC5kaWdlc3Q9TSx0fWZ1bmN0aW9uIGsoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5kaWdlc3Q9PT1NJiYibmFtZSJpbiBlJiYibWVzc2FnZSJpbiBlJiZlIGluc3RhbmNlb2YgRXJyb3J9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUuZHluYW1pY0FjY2Vzc2VzLnB1c2goLi4udC5keW5hbWljQWNjZXNzZXMpLGUuZHluYW1pY0FjY2Vzc2VzfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUuZmlsdGVyKGU9PiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayYmZS5zdGFjay5sZW5ndGg+MCkubWFwKCh7ZXhwcmVzc2lvbjplLHN0YWNrOnR9KT0+KHQ9dC5zcGxpdCgiXG4iKS5zbGljZSg0KS5maWx0ZXIoZT0+IShlLmluY2x1ZGVzKCJub2RlX21vZHVsZXMvbmV4dC8iKXx8ZS5pbmNsdWRlcygiICg8YW5vbnltb3VzPikiKXx8ZS5pbmNsdWRlcygiIChub2RlOiIpKSkuam9pbigiXG4iKSxgRHluYW1pYyBBUEkgVXNhZ2UgRGVidWcgLSAke2V9Ogoke3R9YCkpfWZ1bmN0aW9uIEwoKXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBlLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgbS5CYWlsb3V0VG9DU1JFcnJvcigiUmVuZGVyIGluIEJyb3dzZXIiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcyMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksZS5zaWduYWx9ZnVuY3Rpb24gJChlKXtzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtpZihlLmNhY2hlU2lnbmFsKWUuY2FjaGVTaWduYWwuaW5wdXRSZWFkeSgpLnRoZW4oKCk9Pnt0LmFib3J0KCl9KTtlbHNle2xldCByPSgwLGQuZ2V0UnVudGltZVN0YWdlUHJvbWlzZSkoZSk7cj9yLnRoZW4oKCk9PigwLGguc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSk6KDAsaC5zY2hlZHVsZU9uTmV4dFRpY2spKCgpPT50LmFib3J0KCkpfXJldHVybiB0LnNpZ25hbDtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6cmV0dXJufX1mdW5jdGlvbiBCKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEgoZSl7bGV0IHQ9bC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLGYubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIEQodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZHVyaW5nIGEgcnVudGltZSBwcmVyZW5kZXIuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1mdW5jdGlvbiBYKGUpe2xldCB0PWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpLHI9ZC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHQpc3dpdGNoKCFyJiYoMCxkLnRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZSkoZSksci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOnUuZGVmYXVsdC51c2UoKDAsZi5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsZSkpO2JyZWFrO2Nhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJwcmVyZW5kZXItcHByIjppZih0LmZvcmNlU3RhdGljKXJldHVybjt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG0uQmFpbG91dFRvQ1NSRXJyb3IoZSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBmcm9tIGEgU2VydmVyIENvbXBvbmVudC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm59fWxldCBGPS9cblxzK2F0IFN1c3BlbnNlIFwoPGFub255bW91cz5cKS8sVz1SZWdFeHAoYFxcblxccythdCBTdXNwZW5zZSBcXCg8YW5vbnltb3VzPlxcKSg/Oig/IVxcblxccythdCAoPzpib2R5fGRpdnxtYWlufHNlY3Rpb258YXJ0aWNsZXxhc2lkZXxoZWFkZXJ8Zm9vdGVyfG5hdnxmb3JtfHB8c3BhbnxoMXxoMnxoM3xoNHxoNXxoNikgXFwoPGFub255bW91cz5cXCkpW1xcc1xcU10pKj9cXG5cXHMrYXQgJHtwLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcKFteXFxuXSpcXClgKSxxPVJlZ0V4cChgXFxuXFxzK2F0ICR7cC5NRVRBREFUQV9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCksRz1SZWdFeHAoYFxcblxccythdCAke3AuVklFV1BPUlRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLHo9UmVnRXhwKGBcXG5cXHMrYXQgJHtwLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gWShlLHQscixuKXtpZighei50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIDxTdXNwZW5zZT4uIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIFYoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgLHQpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPUooYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIG9yIFxgY29ubmVjdGlvbigpXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXGA8U3VzcGVuc2U+XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIEsoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWAsdCk7cmV0dXJufWlmKEcudGVzdCh0KSl7bGV0IG49SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWAsdCk7cmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2goYSl9fX1mdW5jdGlvbiBKKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiByLnN0YWNrPXIubmFtZSsiOiAiK2UrdCxyfXZhciBaPSgoYT17fSlbYS5GdWxsPTBdPSJGdWxsIixhW2EuRW1wdHk9MV09IkVtcHR5IixhW2EuRXJyb3JlZD0yXT0iRXJyb3JlZCIsYSk7ZnVuY3Rpb24gUShlLHQpe2NvbnNvbGUuZXJyb3IodCksZS5kZXZ8fChlLmhhc1JlYWRhYmxlRXJyb3JTdGFja3M/Y29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcYG5leHQgZGV2XGAsIHRoZW4gb3BlbiAiJHtlLnJvdXRlfSIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTpjb25zb2xlLmVycm9yKGBUbyBnZXQgYSBtb3JlIGRldGFpbGVkIHN0YWNrIHRyYWNlIGFuZCBwaW5wb2ludCB0aGUgaXNzdWUsIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxgbmV4dCBkZXZcYCwgdGhlbiBvcGVuICIke2Uucm91dGV9IiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLgogIC0gUmVydW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQgd2l0aCBcYG5leHQgYnVpbGQgLS1kZWJ1Zy1wcmVyZW5kZXJcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApKX1mdW5jdGlvbiBlZShlLHQscixuKXtpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spdGhyb3cgUShlLG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yO2lmKDAhPT10KXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybjtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MCl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspUShlLG5bdF0pO3Rocm93IG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV0KGUsdCxyKXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybltdO2lmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm5bT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTM2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pXX1lbHNlIGlmKCExPT09ci5oYXNBbGxvd2VkRHluYW1pYyYmMD09PXIuZHluYW1pY0Vycm9ycy5sZW5ndGgmJnIuZHluYW1pY01ldGFkYXRhKXJldHVybltyLmR5bmFtaWNNZXRhZGF0YV07cmV0dXJuW119ZnVuY3Rpb24gZXIoZSx0KXtyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlP2UucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT50KTp0fX0sNTIzMDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGkuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCxzLmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAsdS5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAsdS5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDE1NTA4KSxhPWUucigxNzU1Niksbz1lLnIoODQwODIpLGk9ZS5yKDQ5ODQzKSx1PWUucig2Nzc4MSkscz1lLnIoOTMyMTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYyOTU5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNTIzMDUpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE4NzgyKS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1JlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXN9LFJlZGlyZWN0VHlwZTpmdW5jdGlvbigpe3JldHVybiB1LlJlZGlyZWN0VHlwZX0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIGMuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDM5Mjc1KSxpPWUucig0MTcyMSksdT1lLnIoOTA4NjIpLHM9ZS5yKDY1OTk1KSxjPWUucigxNzc2MiksZD1lLnIoNzk1MzkpLGw9ZS5yKDYyOTU5KTtmdW5jdGlvbiBmKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcmAgY2FuIG9ubHkgYmUgdXNlZCBvbiB0aGUgY2xpZW50LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzc2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI4OTk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB1LlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gbC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGwubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBsLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBkLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBofSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDE2ODcyKSx1PWUucigzMTg5OSkscz1lLnIoMjc0NTQpLGM9ZS5yKDE4NDYyKSxkPWUucig3NTA1MSksbD1lLnIoMzI1MiksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAscD0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwO2Z1bmN0aW9uIGgoKXtwPy4oInVzZVNlYXJjaFBhcmFtcygpIik7bGV0IGU9KDAsby51c2VDb250ZXh0KSh1LlNlYXJjaFBhcmFtc0NvbnRleHQpO3JldHVybigwLG8udXNlTWVtbykoKCk9PmU/bmV3IHUuUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoZSk6bnVsbCxbZV0pfWZ1bmN0aW9uIG0oKXtyZXR1cm4gZj8uKCJ1c2VQYXRobmFtZSgpIiksKDAsby51c2VDb250ZXh0KSh1LlBhdGhuYW1lQ29udGV4dCl9ZnVuY3Rpb24geSgpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5BcHBSb3V0ZXJDb250ZXh0KTtpZihudWxsPT09ZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBiKCl7cmV0dXJuIGY/LigidXNlUGFyYW1zKCkiKSwoMCxvLnVzZUNvbnRleHQpKHUuUGF0aFBhcmFtc0NvbnRleHQpfWZ1bmN0aW9uIGcoZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKSIpO2xldCB0PSgwLG8udXNlQ29udGV4dCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtyZXR1cm4gdD8oMCxzLmdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgpKHQucGFyZW50VHJlZSxlKTpudWxsfWZ1bmN0aW9uIF8oZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpIiksKDAsby51c2VDb250ZXh0KSh1Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpO2xldCB0PWcoZSk7cmV0dXJuKDAscy5jb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KSh0LGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.578Z","timestamp":1785136427578,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/9df3b67b6061ea9e.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 7747833\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"9df3b67b6061ea9e.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"c678a91c2c6476c2f4253bbb2f68861b\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/9df3b67b6061ea9e.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qglf9-1777388594160-6b3c36de26cf\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9rY3k%2FW7B%2B56NVhBGfJSuB0YWykKfpaW9UtXMjJZZTmp9CyT4R9Cfm0u0WLHEzVQ3T6lQeIwJklF6OcUMdpiMyhf4M5lm1ajttJWNisoC8LkLwsuykaMvs1QjSqI\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f0d8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":33297,"size_decoded":9767,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (19585)","md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-11T04:47:30.044519Z","times_seen":2295,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQxMDYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sODQwODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzQmFpbG91dFRvQ1NSRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiAke2V9YCksdGhpcy5yZWFzb249ZSx0aGlzLmRpZ2VzdD1vfX1mdW5jdGlvbiB1KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1vfX0sNTMxMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUVFBBY2Nlc3NFcnJvclN0YXR1czpmdW5jdGlvbigpe3JldHVybiBvfSxIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPXtOT1RfRk9VTkQ6NDA0LEZPUkJJRERFTjo0MDMsVU5BVVRIT1JJWkVEOjQwMX0saT1uZXcgU2V0KE9iamVjdC52YWx1ZXMobykpLHU9Ik5FWFRfSFRUUF9FUlJPUl9GQUxMQkFDSyI7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0W3Qscl09ZS5kaWdlc3Quc3BsaXQoIjsiKTtyZXR1cm4gdD09PXUmJmkuaGFzKE51bWJlcihyKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IilbMV0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUpe2Nhc2UgNDAxOnJldHVybiJ1bmF1dGhvcml6ZWQiO2Nhc2UgNDAzOnJldHVybiJmb3JiaWRkZW4iO2Nhc2UgNDA0OnJldHVybiJub3QtZm91bmQiO2RlZmF1bHQ6cmV0dXJufX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTg0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNOZXh0Um91dGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1lLnIoOTA4NjIpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsYS5pc1JlZGlyZWN0RXJyb3IpKGUpfHwoMCxuLmlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM5Mjc1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMxODk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig3NTIwMSksaT1lLnIoMzkyNzUpLHU9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKSxzPSgwLG8uY3JlYXRlQ29udGV4dCkobnVsbCksYz0oMCxvLmNyZWF0ZUNvbnRleHQpKG51bGwpLGQ9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKTtmdW5jdGlvbiBsKGUsdCl7bGV0IHI9UHJvbWlzZS5yZXNvbHZlKHQpO3JldHVybiByLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPXQsci5kaXNwbGF5TmFtZT1gJHtlfSAoU1NSKWAscn19LDMzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwid29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sMTI5NjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJ1bnRpbWVTdGFnZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBwfSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gby53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucigzMzkpLGk9ZS5yKDM0NjQxKSx1PWUucig0MTA2Mik7ZnVuY3Rpb24gcyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gYygpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGwoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjppZihlLnJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItcHByIjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU/P251bGw7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGYoZSx0KXtpZihlLmRldilzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gdC5obXJSZWZyZXNoSGFzaDtjYXNlInJlcXVlc3QiOnZhciByO3JldHVybiBudWxsPT0ocj10LmNvb2tpZXMuZ2V0KGkuTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSkpP3ZvaWQgMDpyLnZhbHVlfX1mdW5jdGlvbiBwKGUsdCl7aWYoZS5kZXYpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInJlcXVlc3QiOnJldHVybiB0LmlzSG1yUmVmcmVzaD8/ITF9cmV0dXJuITF9ZnVuY3Rpb24gaChlLHQpe2lmKGUuZGV2KXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5zZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGV9fWZ1bmN0aW9uIG0oZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGUuY2FjaGVTaWduYWw7Y2FzZSJyZXF1ZXN0IjppZihlLmNhY2hlU2lnbmFsKXJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTg0NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9by5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxvLnVzZUNvbnRleHQpKGkpO3QmJnQoZSl9fSw2NTk5NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBvKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZGlnZXN0PWEsZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNzc2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImBmb3JiaWRkZW4oKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJmb3JiaWRkZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1MzEzMykuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5NTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuYXV0aG9yaXplZCgpYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c2AgaXMgZW5hYmxlZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQxMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuYXV0aG9yaXplZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUzMTMzKS5IVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTg3ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGEuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxuLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDg0MDgyKSxhPWUucig0OTg0Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTU1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfSxtYWtlSGFuZ2luZ1Byb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1pfWxldCBpPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1pfX1sZXQgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBjKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBvPWEuYmluZChudWxsLG5ldyB1KHQscikpLGk9cy5nZXQoZSk7aWYoaSlpLnB1c2gobyk7ZWxzZXtsZXQgdD1bb107cy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGwoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfX0sMTc1NTYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDkzMjEzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9b319ZnVuY3Rpb24gdShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjQzMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPW99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MzQ1OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBvfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiB1fSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLGk9Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIix1PSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHM9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjQzODYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoODI2MzcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIG8gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDphW29dfSk7bGV0IGk9ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0sdT1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiBzKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnUoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDY3NzgxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbz17UG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gan0sUHJlbHVkZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gU30sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBQfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIE59LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBCfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBJfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuICR9LGNyZWF0ZVJlbmRlckluQnJvd3NlckFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGRlbGF5VW50aWxSdW50aW1lU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczpmdW5jdGlvbigpe3JldHVybiBVfSxnZXRGaXJzdER5bmFtaWNSZWFzb246ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZXR9LGlzRHluYW1pY1Bvc3Rwb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGlzUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBrfSxsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gUn0scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiB2fSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LHRyYWNrRHluYW1pY0hvbGVJblN0YXRpY1NoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHVzZUR5bmFtaWNSb3V0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybiBIfSx1c2VEeW5hbWljU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFh9fTtmb3IodmFyIGkgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDpvW2ldfSk7bGV0IHU9KG49ZS5yKDc1MjAxKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59LHM9ZS5yKDkzMjEzKSxjPWUucigxNjQzMiksZD1lLnIoMTI5NjUpLGw9ZS5yKDg5NzkxKSxmPWUucigxNTUwOCkscD1lLnIoNTM0NTkpLGg9ZS5yKDI0Mzg2KSxtPWUucig4NDA4MikseT1lLnIoNDEwNjIpLGI9ImZ1bmN0aW9uIj09dHlwZW9mIHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZTtmdW5jdGlvbiBnKGUpe3JldHVybntpc0RlYnVnRHluYW1pY0FjY2Vzc2VzOmUsZHluYW1pY0FjY2Vzc2VzOltdLHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6bnVsbH19ZnVuY3Rpb24gXygpe3JldHVybntoYXNTdXNwZW5zZUFib3ZlQm9keTohMSxoYXNEeW5hbWljTWV0YWRhdGE6ITEsZHluYW1pY01ldGFkYXRhOm51bGwsaGFzRHluYW1pY1ZpZXdwb3J0OiExLGhhc0FsbG93ZWREeW5hbWljOiExLGR5bmFtaWNFcnJvcnM6W119fWZ1bmN0aW9uIEUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PSh0PWUuZHluYW1pY0FjY2Vzc2VzWzBdKT92b2lkIDA6dC5leHByZXNzaW9ufWZ1bmN0aW9uIFIoZSx0LHIpe2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59aWYoIWUuZm9yY2VEeW5hbWljJiYhZS5mb3JjZVN0YXRpYyl7aWYoZS5keW5hbWljU2hvdWxkRXJyb3IpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlLnJvdXRlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcYCR7cn1cYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBEKGUucm91dGUscix0LmR5bmFtaWNUcmFja2luZyk7Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp0LnJldmFsaWRhdGU9MDtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke2Uucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7cn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPXIsZS5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59fX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke3Qucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtlfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7dGhyb3cgci5yZXZhbGlkYXRlPTAsdC5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbj1lLHQuZHluYW1pY1VzYWdlU3RhY2s9bi5zdGFjayxufWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59fWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPUMoYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCk7ci5jb250cm9sbGVyLmFib3J0KG4pO2xldCBhPXIuZHluYW1pY1RyYWNraW5nO2EmJmEuZHluYW1pY0FjY2Vzc2VzLnB1c2goe3N0YWNrOmEuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcz9FcnJvcigpLnN0YWNrOnZvaWQgMCxleHByZXNzaW9uOnR9KX1mdW5jdGlvbiBQKGUsdCxyLG4pe2xldCBhPW4uZHluYW1pY1RyYWNraW5nO3coZSx0LG4pLGEmJm51bGw9PT1hLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2smJihhLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s9cil9ZnVuY3Rpb24gUyhlLHQscixuKXtpZighMT09PW4uY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7dyhlLHQsbik7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7YSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX10aHJvdyBDKGBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LmApfWZ1bmN0aW9uIGooe3JlYXNvbjplLHJvdXRlOnR9KXtsZXQgcj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7RCh0LGUsciYmInByZXJlbmRlci1wcHIiPT09ci50eXBlP3IuZHluYW1pY1RyYWNraW5nOm51bGwpfWZ1bmN0aW9uIEQoZSx0LHIpeyhmdW5jdGlvbigpe2lmKCFiKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZSBpcyBub3QgZGVmaW5lZC4gVGhpcyBzdWdnZXN0cyB0aGUgd3JvbmcgdmVyc2lvbiBvZiBSZWFjdCB3YXMgbG9hZGVkLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pKCksciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pLHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShUKGUsdCkpfWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm5gUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS4gUmVhY3QgdGhyb3dzIHRoaXMgc3BlY2lhbCBvYmplY3QgdG8gaW5kaWNhdGUgd2hlcmUuIEl0IHNob3VsZCBub3QgYmUgY2F1Z2h0IGJ5IHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmB9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZSYmQShlLm1lc3NhZ2UpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuaW5jbHVkZXMoIm5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCIpJiZlLmluY2x1ZGVzKCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yIil9aWYoITE9PT1BKFQoIiUlJSIsIl5eXiIpKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogaXNEeW5hbWljUG9zdHBvbmUgbWlzaWRlbnRpZmllZCBhIHBvc3Rwb25lIHJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyOTYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IE09Ik5FWFRfUFJFUkVOREVSX0lOVEVSUlVQVEVEIjtmdW5jdGlvbiBDKGUpe2xldCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihlKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gdC5kaWdlc3Q9TSx0fWZ1bmN0aW9uIGsoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5kaWdlc3Q9PT1NJiYibmFtZSJpbiBlJiYibWVzc2FnZSJpbiBlJiZlIGluc3RhbmNlb2YgRXJyb3J9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUuZHluYW1pY0FjY2Vzc2VzLnB1c2goLi4udC5keW5hbWljQWNjZXNzZXMpLGUuZHluYW1pY0FjY2Vzc2VzfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUuZmlsdGVyKGU9PiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayYmZS5zdGFjay5sZW5ndGg+MCkubWFwKCh7ZXhwcmVzc2lvbjplLHN0YWNrOnR9KT0+KHQ9dC5zcGxpdCgiXG4iKS5zbGljZSg0KS5maWx0ZXIoZT0+IShlLmluY2x1ZGVzKCJub2RlX21vZHVsZXMvbmV4dC8iKXx8ZS5pbmNsdWRlcygiICg8YW5vbnltb3VzPikiKXx8ZS5pbmNsdWRlcygiIChub2RlOiIpKSkuam9pbigiXG4iKSxgRHluYW1pYyBBUEkgVXNhZ2UgRGVidWcgLSAke2V9Ogoke3R9YCkpfWZ1bmN0aW9uIEwoKXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBlLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgbS5CYWlsb3V0VG9DU1JFcnJvcigiUmVuZGVyIGluIEJyb3dzZXIiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcyMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksZS5zaWduYWx9ZnVuY3Rpb24gJChlKXtzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtpZihlLmNhY2hlU2lnbmFsKWUuY2FjaGVTaWduYWwuaW5wdXRSZWFkeSgpLnRoZW4oKCk9Pnt0LmFib3J0KCl9KTtlbHNle2xldCByPSgwLGQuZ2V0UnVudGltZVN0YWdlUHJvbWlzZSkoZSk7cj9yLnRoZW4oKCk9PigwLGguc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSk6KDAsaC5zY2hlZHVsZU9uTmV4dFRpY2spKCgpPT50LmFib3J0KCkpfXJldHVybiB0LnNpZ25hbDtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6cmV0dXJufX1mdW5jdGlvbiBCKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEgoZSl7bGV0IHQ9bC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLGYubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIEQodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZHVyaW5nIGEgcnVudGltZSBwcmVyZW5kZXIuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1mdW5jdGlvbiBYKGUpe2xldCB0PWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpLHI9ZC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHQpc3dpdGNoKCFyJiYoMCxkLnRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZSkoZSksci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOnUuZGVmYXVsdC51c2UoKDAsZi5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsZSkpO2JyZWFrO2Nhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJwcmVyZW5kZXItcHByIjppZih0LmZvcmNlU3RhdGljKXJldHVybjt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG0uQmFpbG91dFRvQ1NSRXJyb3IoZSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBmcm9tIGEgU2VydmVyIENvbXBvbmVudC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm59fWxldCBGPS9cblxzK2F0IFN1c3BlbnNlIFwoPGFub255bW91cz5cKS8sVz1SZWdFeHAoYFxcblxccythdCBTdXNwZW5zZSBcXCg8YW5vbnltb3VzPlxcKSg/Oig/IVxcblxccythdCAoPzpib2R5fGRpdnxtYWlufHNlY3Rpb258YXJ0aWNsZXxhc2lkZXxoZWFkZXJ8Zm9vdGVyfG5hdnxmb3JtfHB8c3BhbnxoMXxoMnxoM3xoNHxoNXxoNikgXFwoPGFub255bW91cz5cXCkpW1xcc1xcU10pKj9cXG5cXHMrYXQgJHtwLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcKFteXFxuXSpcXClgKSxxPVJlZ0V4cChgXFxuXFxzK2F0ICR7cC5NRVRBREFUQV9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCksRz1SZWdFeHAoYFxcblxccythdCAke3AuVklFV1BPUlRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLHo9UmVnRXhwKGBcXG5cXHMrYXQgJHtwLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gWShlLHQscixuKXtpZighei50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIDxTdXNwZW5zZT4uIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIFYoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgLHQpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPUooYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIG9yIFxgY29ubmVjdGlvbigpXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXGA8U3VzcGVuc2U+XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIEsoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWAsdCk7cmV0dXJufWlmKEcudGVzdCh0KSl7bGV0IG49SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWAsdCk7cmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2goYSl9fX1mdW5jdGlvbiBKKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiByLnN0YWNrPXIubmFtZSsiOiAiK2UrdCxyfXZhciBaPSgoYT17fSlbYS5GdWxsPTBdPSJGdWxsIixhW2EuRW1wdHk9MV09IkVtcHR5IixhW2EuRXJyb3JlZD0yXT0iRXJyb3JlZCIsYSk7ZnVuY3Rpb24gUShlLHQpe2NvbnNvbGUuZXJyb3IodCksZS5kZXZ8fChlLmhhc1JlYWRhYmxlRXJyb3JTdGFja3M/Y29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcYG5leHQgZGV2XGAsIHRoZW4gb3BlbiAiJHtlLnJvdXRlfSIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTpjb25zb2xlLmVycm9yKGBUbyBnZXQgYSBtb3JlIGRldGFpbGVkIHN0YWNrIHRyYWNlIGFuZCBwaW5wb2ludCB0aGUgaXNzdWUsIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxgbmV4dCBkZXZcYCwgdGhlbiBvcGVuICIke2Uucm91dGV9IiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLgogIC0gUmVydW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQgd2l0aCBcYG5leHQgYnVpbGQgLS1kZWJ1Zy1wcmVyZW5kZXJcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApKX1mdW5jdGlvbiBlZShlLHQscixuKXtpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spdGhyb3cgUShlLG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yO2lmKDAhPT10KXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybjtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MCl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspUShlLG5bdF0pO3Rocm93IG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV0KGUsdCxyKXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybltdO2lmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm5bT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTM2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pXX1lbHNlIGlmKCExPT09ci5oYXNBbGxvd2VkRHluYW1pYyYmMD09PXIuZHluYW1pY0Vycm9ycy5sZW5ndGgmJnIuZHluYW1pY01ldGFkYXRhKXJldHVybltyLmR5bmFtaWNNZXRhZGF0YV07cmV0dXJuW119ZnVuY3Rpb24gZXIoZSx0KXtyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlP2UucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT50KTp0fX0sNTIzMDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGkuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCxzLmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAsdS5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAsdS5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDE1NTA4KSxhPWUucigxNzU1Niksbz1lLnIoODQwODIpLGk9ZS5yKDQ5ODQzKSx1PWUucig2Nzc4MSkscz1lLnIoOTMyMTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYyOTU5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNTIzMDUpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE4NzgyKS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1JlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXN9LFJlZGlyZWN0VHlwZTpmdW5jdGlvbigpe3JldHVybiB1LlJlZGlyZWN0VHlwZX0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIGMuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDM5Mjc1KSxpPWUucig0MTcyMSksdT1lLnIoOTA4NjIpLHM9ZS5yKDY1OTk1KSxjPWUucigxNzc2MiksZD1lLnIoNzk1MzkpLGw9ZS5yKDYyOTU5KTtmdW5jdGlvbiBmKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcmAgY2FuIG9ubHkgYmUgdXNlZCBvbiB0aGUgY2xpZW50LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzc2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI4OTk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB1LlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gbC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGwubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBsLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBkLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBofSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDE2ODcyKSx1PWUucigzMTg5OSkscz1lLnIoMjc0NTQpLGM9ZS5yKDE4NDYyKSxkPWUucig3NTA1MSksbD1lLnIoMzI1MiksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAscD0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwO2Z1bmN0aW9uIGgoKXtwPy4oInVzZVNlYXJjaFBhcmFtcygpIik7bGV0IGU9KDAsby51c2VDb250ZXh0KSh1LlNlYXJjaFBhcmFtc0NvbnRleHQpO3JldHVybigwLG8udXNlTWVtbykoKCk9PmU/bmV3IHUuUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoZSk6bnVsbCxbZV0pfWZ1bmN0aW9uIG0oKXtyZXR1cm4gZj8uKCJ1c2VQYXRobmFtZSgpIiksKDAsby51c2VDb250ZXh0KSh1LlBhdGhuYW1lQ29udGV4dCl9ZnVuY3Rpb24geSgpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5BcHBSb3V0ZXJDb250ZXh0KTtpZihudWxsPT09ZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBiKCl7cmV0dXJuIGY/LigidXNlUGFyYW1zKCkiKSwoMCxvLnVzZUNvbnRleHQpKHUuUGF0aFBhcmFtc0NvbnRleHQpfWZ1bmN0aW9uIGcoZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKSIpO2xldCB0PSgwLG8udXNlQ29udGV4dCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtyZXR1cm4gdD8oMCxzLmdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgpKHQucGFyZW50VHJlZSxlKTpudWxsfWZ1bmN0aW9uIF8oZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpIiksKDAsby51c2VDb250ZXh0KSh1Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpO2xldCB0PWcoZSk7cmV0dXJuKDAscy5jb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KSh0LGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32632.596e5348a1538a18fd4e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.414Z","timestamp":1785136428414,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32632.596e5348a1538a18fd4e.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-4fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: bc1a89bcd202756f187ca0f7c0d94ef0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1276,"size_decoded":1216,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1276), with no line terminators","md5":"4dbd9186e797320373da6c5f9843030c","sha1":"23410205367378f1c6436025ba87050084b119a4","sha256":"7efe9b338dd4970e4b6ee84a711c1bb6cc65dad73322597e03c040abdb1fa38a","sha512":"a66b0365c81f21e82e8d510923718ce9c71b8aab5c59688e1d32283b9203b9d4b79e04b000fd34cc03234913be0c316407e1d1b9b4c6360478f73081d15595ef","ssdeep":"","tlshash":"3321dfe1e790187af8a38916a788de867158fa036713fd49f7daa80e4481d78113c34d","first_seen":"2026-07-16T13:40:49.72467Z","last_seen":"2026-08-11T04:47:30.066869Z","times_seen":1644,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36222.e9be9a733e114730a4ea.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.181Z","timestamp":1785136429181,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36222.e9be9a733e114730a4ea.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-817\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a66dfcbf86e7cd8f9b7109b974ab0014\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2071,"size_decoded":1307,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2071), with no line terminators","md5":"2e8e694e16e9459d863140b929080820","sha1":"49a854bbed81708280adaa8bbe6867c856fcec99","sha256":"39a8612e5776ad12480990df92ddf0ae28da68e6fda202f92e646cfbd754ed65","sha512":"f624307751b27dd6725309a31659c60b989256ea30ddbc8f0b6a2632af721b14d2c15e8ad1e8f78fae96aada441df8c0d4a42bec925b80236c39d5fd8fa5f59e","ssdeep":"","tlshash":"3041dd2045d5ec78bc53b366d2e5160c55b5bd34de4b2cce3ba438222ac2bf400b7a5e","first_seen":"2026-07-16T13:40:49.685175Z","last_seen":"2026-08-11T04:43:23.255453Z","times_seen":442,"resource_available":false,"data":"LnBvc2l0aW9uZXItaEJWa2FQMlB7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnI7aGVpZ2h0OnZhcigtLXVpLWxpYi1pbi1wb3NpdGlvbmVyLWV4YWN0SGVpZ2h0LHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RIZWlnaHQsYXV0bykpO2xlZnQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWCk7bWF4LWhlaWdodDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4SGVpZ2h0LDEwMDAwMHZoKSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCkpO21heC13aWR0aDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhXaWR0aCwxMDAwMHZ3KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXNjcmVlblJlc3RyaWN0aW9uTWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heFdpZHRoLDEwMDAwdncpKTttaW4taGVpZ2h0Om1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5IZWlnaHQsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQsMHB4KSk7bWluLXdpZHRoOm1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yTWluV2lkdGgsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXJlc2l6ZVJlc3RyaWN0aW9uTWluV2lkdGgsMHB4KSk7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50UG9pbnRYKSotMTAwJSksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSkqLTEwMCUpKTt3aWR0aDp2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1leGFjdFdpZHRoLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RXaWR0aCxhdXRvKSl9Lm5vSG9yaXpvbnRhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5XaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9Ib3Jpem9udGFsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NYXhXaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9WZXJ0aWNhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQpfS5ub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplLXJlc3RyaWN0aW9uLW1heC1oZWlnaHQ6dmFyKC0tdWktbGliLXBvc2l0aW9uZXItY29udGVudC1oZWlnaHQtbWVhc3VyZWQpfS5pbnZpc2libGUtaEJWa2FQMlB7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvcnRhbC1oQlZrYVAyUHtoZWlnaHQ6MTAwMHZoO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7d2lkdGg6MTAwMHZ3fQ=="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/reg.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.044Z","timestamp":1785136422044,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/reg.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4485\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":4485,"size_decoded":4826,"mime_type":"image/png","magic":"PNG image data, 178 x 46, 8-bit/color RGB, non-interlaced","md5":"8abfda4c1f25baf6a397e26f5f1a03c3","sha1":"537b1a82c125eb23954b706c167c77c8dc2bc288","sha256":"b966e2838a5fcd28df9fdfabce883fdc25a0bd507c143bd635f733a0aacd3637","sha512":"64a343c940bbc1d0d5cc74751d9c09e83d0efbe1d8c559a3c559765eb21175e5c793dbfb285dbea51e2dc5974e4813fd4d1bb3508d083285f9103ba8dd0de061","ssdeep":"96:Jo5HO0UBRnM61jlSQ8ZcBDbl6gA4JR1ii+zDJDB4WivE+UX1:JyHyDnM61jMQqEDbRAeLii+J2WixUX1","tlshash":"da916cd5c889bd030f39a413e6d0d612c1e08c0baa4e857843cfec6186f3ac85854339","first_seen":"2025-12-03T04:46:43.770671Z","last_seen":"2026-07-29T06:14:00.33855Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":1766,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1766,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/29296.b408f2822fa5b9569bac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.151Z","timestamp":1785136429151,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/29296.b408f2822fa5b9569bac.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-18f6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1096a6141ebfa3d0bae2843b16ee70a3\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":6390,"size_decoded":2047,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (6390), with no line terminators","md5":"957eadc9c9c17f6df0058d57c5f46abb","sha1":"ebd276baca6cb1f539b1d5d55c63086002fbb8a0","sha256":"3c1391b8c83795fd1a1e8dcd3782d384a51181899c0b980dbfc6395ebecea139","sha512":"deba4ca12f353c877b0d4ff15a6b5a54f9e9f70e7e52a7a40d58a010dc96c67ff4f35d259f3bf9376c3528af502bd784d7a4721cd8fe63c155520fc9cbda1148","ssdeep":"96:DyL+izWjN/vprafnnWuMY/XjioIJMpTRB+LGkn0R:CWj3SnWzY/XjTvB+LG3R","tlshash":"21d188da21d84cbe392aa1619f1e4ecd37481c365e026c8fbae778a305c1a7d02f555f","first_seen":"2026-07-17T03:30:51.144553Z","last_seen":"2026-08-11T04:43:23.096826Z","times_seen":295,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzMtTEZsQTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV80LUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1fNS1MRmxBOiM3NDc0NzQ7LS1fNi1MRmxBOiM0MjQyNDJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fMi1MRmxBOnZhcigtLWNvbG9yLXdoaXRlKTstLV8zLUxGbEE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1fNC1MRmxBOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tXzUtTEZsQTojNzQ3NDc0Oy0tXzYtTEZsQTojNDI0MjQyfS5uYXZCdXR0b24taGJTSlZ4a1F7Ym9yZGVyOm5vbmU7Ym94LXNpemluZzppbml0aWFsO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlOy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzojMDAwMDtiYWNrZ3JvdW5kOiMwMDAwO2NvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JDb250ZW50LHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JDb250ZW50KSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUS5saW5rLWhiU0pWeGtRe2N1cnNvcjpwb2ludGVyfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmF2QnV0dG9uLWhiU0pWeGtROmhvdmVyey0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzAtTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzEtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1E6YWN0aXZley0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWRlZmF1bHRDb2xvckNvbnRlbnQ6dmFyKC0tXzItTEZsQSk7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzMtTEZsQSl9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpmb2N1cyAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5OmJsb2NrfS5uYXZCdXR0b24taGJTSlZ4a1E6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntkaXNwbGF5Om5vbmV9Lm5hdkJ1dHRvbi1oYlNKVnhrUTpkaXNhYmxlZCwubmF2QnV0dG9uLWhiU0pWeGtRW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQ29udGVudDp2YXIoLS1fNC1MRmxBKTtjdXJzb3I6ZGVmYXVsdH0ubmF2QnV0dG9uLWhiU0pWeGtROmRpc2FibGVkIC5iYWNrZ3JvdW5kLWhiU0pWeGtRLC5uYXZCdXR0b24taGJTSlZ4a1FbYXJpYS1kaXNhYmxlZD10cnVlXSAuYmFja2dyb3VuZC1oYlNKVnhrUXtkaXNwbGF5Om5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1F7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tY29sb3JPdXRsaW5lRGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZX0uYmFja2dyb3VuZC1oYlNKVnhrUTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1uYXZCdXR0b24tY29sb3JPdXRsaW5lLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1jb2xvck91dGxpbmVEZWZhdWx0KSk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9LmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWluLW5hdkJ1dHRvbi1jb2xvckJnLHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZykpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtjb250ZW50OiIiO2luc2V0OjA7cG9zaXRpb246YWJzb2x1dGV9Lmljb24taGJTSlZ4a1F7ei1pbmRleDowfS5mbGlwSWNvbi1oYlNKVnhrUSwuZmxpcEljb24taGJTSlZ4a1Egc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mbGlwSWNvbi1oYlNKVnhrUSBzdmc6ZGlyKHJ0bCksLmZsaXBJY29uLWhiU0pWeGtROmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0ubGFyZ2UtaGJTSlZ4a1F7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5sYXJnZS1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5sYXJnZS1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0ubGFyZ2UtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubGFyZ2UtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS5tZWRpdW0taGJTSlZ4a1F7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6OHB4fS5tZWRpdW0taGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUXtwYWRkaW5nOjhweH0ubWVkaXVtLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDE2cHgpO2luc2V0LWlubGluZS1zdGFydDotOHB4O3RvcDotOHB4O3dpZHRoOmNhbGMoMTAwJSArIDE2cHgpfS5tZWRpdW0taGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ubWVkaXVtLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0uc21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjhweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6MTJweDstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXM6NnB4fS5zbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6OHB4fS5zbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtib3JkZXItcmFkaXVzOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpO2hlaWdodDpjYWxjKDEwMCUgKyAxNnB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LThweDt0b3A6LThweDt3aWR0aDpjYWxjKDEwMCUgKyAxNnB4KX0uc21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0uc21hbGwtaGJTSlZ4a1EucHJlc2VydmVQYWRkaW5ncy1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUXtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDoxMDAlfS54c21hbGwtaGJTSlZ4a1F7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLWJhc2ljT2Zmc2V0OjRweDstLXVpLWxpYi1vdXQtbmF2QnV0dG9uLXNhZmVPZmZzZXQ6OHB4Oy0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1czo0cHh9LnhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzKTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpfS54c21hbGwtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ib3JkZXJSYWRpdXMpICsgNHB4KX0ueHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX0ueHhzbWFsbC1oYlNKVnhrUXtoZWlnaHQ6MTBweDt3aWR0aDoxMHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tYmFzaWNPZmZzZXQ6NHB4Oy0tdWktbGliLW91dC1uYXZCdXR0b24tc2FmZU9mZnNldDo4cHg7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tYm9yZGVyUmFkaXVzOjRweH0ueHhzbWFsbC1oYlNKVnhrUS5wcmVzZXJ2ZVBhZGRpbmdzLWhiU0pWeGtRe3BhZGRpbmc6NHB4fS54eHNtYWxsLWhiU0pWeGtRIC5iYWNrZ3JvdW5kLWhiU0pWeGtRe2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cyk7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0ueHhzbWFsbC1oYlNKVnhrUSAuYmFja2dyb3VuZC1oYlNKVnhrUTphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLXByaXZhdGUtbmF2QnV0dG9uLWJvcmRlclJhZGl1cykgKyA0cHgpfS54eHNtYWxsLWhiU0pWeGtRLnByZXNlcnZlUGFkZGluZ3MtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1F7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7dG9wOjA7d2lkdGg6MTAwJX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1E6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1uYXZCdXR0b24tZGVmYXVsdENvbG9yQmc6dmFyKC0tXzUtTEZsQSl9fS5uYXZCdXR0b24taGJTSlZ4a1EuYmxlbmRNb2RlLWhiU0pWeGtROmFjdGl2ZXstLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1kZWZhdWx0Q29sb3JCZzp2YXIoLS1fNi1MRmxBKX1bZGF0YS10aGVtZT1saWdodF0gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peExpZ2h0LG5vcm1hbCl9W2RhdGEtdGhlbWU9ZGFya10gLm5hdkJ1dHRvbi1oYlNKVnhrUS5ibGVuZE1vZGUtaGJTSlZ4a1EgLmJhY2tncm91bmQtaGJTSlZ4a1E6YmVmb3Jle21peC1ibGVuZC1tb2RlOnZhcigtLXVpLWxpYi1wcml2YXRlLW5hdkJ1dHRvbi1ibGVuZE1peERhcmssbm9ybWFsKX0udmlzdWFsbHlIaWRkZW4taGJTSlZ4a1F7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW59"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/NZ.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.316Z","timestamp":1785136430316,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/NZ.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/70364.644cb93441690c829ab9.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.426Z","timestamp":1785136428426,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70364.644cb93441690c829ab9.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ba\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:11:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 024debaf70de87973090efe157e3d89c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":698,"size_decoded":997,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (698), with no line terminators","md5":"bd271563b2387cb959a02a85476d20fc","sha1":"0e477a102b7f0c4aaac868f1244ee975d076a676","sha256":"a83a53bf9ef309ae736122159bb8a92c91735729ea3ec8a987d276eb936f787c","sha512":"c3dca5bcc3a0566d7726e04a16dfa6943da394b3d4663ee7721db0397913c34ec2aecbd0e061d4c03ccc091d390facff787c481c5ac209516320eb33350e9bdb","ssdeep":"","tlshash":"1d01ec6b92e8b15320ff7e3ca96cc2d92570da624f84a6ec719c3aa487456754610934","first_seen":"2026-03-31T19:29:24.868047Z","last_seen":"2026-08-05T03:55:36.944768Z","times_seen":658,"resource_available":false,"data":"LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNN3tvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0ud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNy53cmFwcGVyLVBRNU9fMU03LnRvdWNoLVBRNU9fMU03Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBwZXItUFE1T18xTTcudG91Y2gtUFE1T18xTTcud3JhcHBlci1QUTVPXzFNNy50b3VjaC1QUTVPXzFNNzo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.588Z","timestamp":1785136427588,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/33074d3ff5d0cd2d.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 5021616\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"33074d3ff5d0cd2d.js\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Fri, 29 May 2026 10:19:15 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/33074d3ff5d0cd2d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4kx7s-1780114811396-bbddbacd8b5d\r\nx-xss-protection: 1; mode=block\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HhL1ft5vsr5x0jQAJKP%2FihEc1MdnYCh0Jxeqpbb5wLP0uY8xFFo52DfSbx%2BNiXrdTdBezSLMz7nlyK0zstvsgj0lkWwtT4w8awjfkr4yYmDK4owlGgjHbyrFnaN6\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a219d7f07f168deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":282,"size_decoded":2355,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with no line terminators","md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-11T04:47:30.036672Z","times_seen":3051,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/49265.c208ef8379e073f94d16.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.444Z","timestamp":1785136428444,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49265.c208ef8379e073f94d16.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fcb-4ddf\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:51 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:09\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e39feabe14c34e2be9b6088e4b702a0e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":19935,"size_decoded":7323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"7b82078f584e6803982971fd98e254ad","sha1":"68381b82a3c15fb84e25d74f902a92fd1de3a245","sha256":"e79b56277f3ab3f995df2d44c612a393858265d70e8d4151a858384901aaa5ae","sha512":"856120280da4d842117fb927a8dbab94215dfb803172d5217ef06b3e3160c27bfbc9fda244b20ac94ce02cebb4356d25c92927cb9292b29f658e377fca579fec","ssdeep":"384:j9PRJCURbRGehSowQ7pJIdRW5TejB6ScRTtDe1efLBHxe+Wl2XaKKTV28fRJmRDM:RPTCURbwehStQ7pJIdk5TejB6ScZtDeb","tlshash":"7e92de8679c2f0e962d55cd4c07b4846f01a0d3c704db8e9e7e6c8d2da7a14ed436bba","first_seen":"2026-06-30T14:35:40.41523Z","last_seen":"2026-08-11T10:15:18.371779Z","times_seen":3775,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTI2NV0sezc1Njg1MSh0KXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPXQubGVuZ3RoLG49MDtuPHI7bisrKXt2YXIgdT10LmNoYXJDb2RlQXQobik7aWYodT49NTUyOTYmJnU8PTU2MzE5JiZyPm4rMSl7dmFyIGE9dC5jaGFyQ29kZUF0KG4rMSk7YT49NTYzMjAmJmE8PTU3MzQzJiYodT0xMDI0Kih1LTU1Mjk2KSthLTU2MzIwKzY1NTM2LG4rPTEpfXU8MTI4P2UucHVzaCh1KTp1PDIwNDg/KGUucHVzaCh1Pj42fDE5MiksZS5wdXNoKDYzJnV8MTI4KSk6dTw1NTI5Nnx8dT49NTczNDQmJnU8NjU1MzY/KGUucHVzaCh1Pj4xMnwyMjQpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6dT49NjU1MzYmJnU8PTExMTQxMTE/KGUucHVzaCh1Pj4xOHwyNDApLGUucHVzaCh1Pj4xMiY2M3wxMjgpLGUucHVzaCh1Pj42JjYzfDEyOCksZS5wdXNoKDYzJnV8MTI4KSk6ZS5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSkuYnVmZmVyfX0sNTA0NDAyKHQsZSxyKXt2YXIgbj1yKDYzODIyMSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW4odF49dD4+PjE2LDIyNDY4MjI1MDcpLHQ9bih0Xj10Pj4+MTMsMzI2NjQ4OTkwOSksKHRePXQ+Pj4xNik+Pj4wfX0sNjM4MjIxKHQpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbih0LGUpe3ZhciByPTY1NTM1JnQsbj02NTUzNSZlO3JldHVybiByKm4rKCh0Pj4+MTYmNjU1MzUpKm4rciooZT4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KHQsZSxyKXt2YXIgbj1yKDYzODIyMSksdT1yKDUwNDQwMiksYT1yKDc1Njg1MSksbz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGU9ZT8wfGU6MCwic3RyaW5nIj09dHlwZW9mIHQmJih0PWEodCkpLCEodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIHI9bmV3IFVpbnQzMkFycmF5KFtlXSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT1uZXcgVWludDMyQXJyYXkodCwwLHIpLGE9MDthPHI7YSsrKXVbYV09bih1W2FdLG9bMF0pLHVbYV09Yyh1W2FdLDE1KSx1W2FdPW4odVthXSxvWzFdKSxlWzBdPWVbMF1edVthXSxlWzBdPWMoZVswXSwxMyksZVswXT1uKGVbMF0sNSkrMzg2NDI5MjE5Nn0odCxyKSxmdW5jdGlvbih0LGUpe3ZhciByPXQuYnl0ZUxlbmd0aC80fDAsdT10LmJ5dGVMZW5ndGglNCxhPTAsZj1uZXcgVWludDhBcnJheSh0LDQqcix1KTtzd2l0Y2godSl7Y2FzZSAzOmFePWZbMl08PDE2O2Nhc2UgMjphXj1mWzFdPDw4O2Nhc2UgMTphXj1mWzBdLGE9YyhhPW4oYSxvWzBdKSwxNSksYT1uKGEsb1sxXSksZVswXT1lWzBdXmF9fSh0LHIpLGZ1bmN0aW9uKHQsZSl7ZVswXT1lWzBdXnQuYnl0ZUxlbmd0aCxlWzBdPXUoZVswXSl9KHQsciksci5idWZmZXJ9fSw0MTQxMjModCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoMTYyMzE2KSx1PXIoOTgxNTIzKTtjb25zdCBhPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJTZXQiKX0sMjY5MzY2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDcxMzE0OCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9O2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiBvKHQpe3ZhciBlPS0xLHI9bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQ7KytlPHI7KXRoaXMuYWRkKHRbZV0pfW8ucHJvdG90eXBlLmFkZD1vLnByb3RvdHlwZS5wdXNoPXUsby5wcm90b3R5cGUuaGFzPWE7Y29uc3QgYz1vfSw4ODY1MTQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoNzM1OTgzKTtjb25zdCB1PWZ1bmN0aW9uKCl7dGhpcy5fX2RhdGFfXz1uZXcgbi5kZWZhdWx0LHRoaXMuc2l6ZT0wfTtjb25zdCBhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX18scj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxyfTtjb25zdCBvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX07Y29uc3QgYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9O3ZhciBmPXIoNjk0MjEpLHM9cig3MTMxNDgpO2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO2lmKHIgaW5zdGFuY2VvZiBuLmRlZmF1bHQpe3ZhciB1PXIuX19kYXRhX187aWYoIWYuZGVmYXVsdHx8dS5sZW5ndGg8MTk5KXJldHVybiB1LnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgcy5kZWZhdWx0KHUpfXJldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZT1yLnNpemUsdGhpc307ZnVuY3Rpb24gbCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBuLmRlZmF1bHQodCk7dGhpcy5zaXplPWUuc2l6ZX1sLnByb3RvdHlwZS5jbGVhcj11LGwucHJvdG90eXBlLmRlbGV0ZT1hLGwucHJvdG90eXBlLmdldD1vLGwucHJvdG90eXBlLmhhcz1jLGwucHJvdG90eXBlLnNldD1pO2NvbnN0IGQ9bH0sODY1MzMwKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPXIoOTgxNTIzKS5kZWZhdWx0LlVpbnQ4QXJyYXl9LDkyODQ1Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjIzMTYpLHU9cig5ODE1MjMpO2NvbnN0IGE9KDAsbi5kZWZhdWx0KSh1LmRlZmF1bHQsIldlYWtNYXAiKX0sCjk4NDEzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8biYmITEhPT1lKHRbcl0scix0KTspO3JldHVybiB0fX0sMjI0NDE2KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PmN9KTt2YXIgbj1yKDY4ODk2NSk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdCE9dH07Y29uc3QgYT1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXItMSx1PXQubGVuZ3RoOysrbjx1OylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX07Y29uc3Qgbz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9PWU/YSh0LGUscik6KDAsbi5kZWZhdWx0KSh0LHUscil9O2NvbnN0IGM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIShudWxsPT10PzA6dC5sZW5ndGgpJiZvKHQsZSwwKT4tMX19LDgyNTAzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPS0xLHU9bnVsbD09dD8wOnQubGVuZ3RoOysrbjx1OylpZihyKGUsdFtuXSkpcmV0dXJuITA7cmV0dXJuITF9fSw4MjA5NzUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1BcnJheSh0KTsrK3I8dDspbltyXT1lKHIpO3JldHVybiBufTt2YXIgdT1yKDUzMTU1NyksYT1yKDI5NTYzNSksbz1yKDY1OTAxOCksYz1yKDkyMTE0MyksZj1yKDE2NTI2Nykscz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IGk9ZnVuY3Rpb24odCxlKXt2YXIgcj0oMCxhLmRlZmF1bHQpKHQpLGk9IXImJigwLHUuZGVmYXVsdCkodCksbD0hciYmIWkmJigwLG8uZGVmYXVsdCkodCksZD0hciYmIWkmJiFsJiYoMCxmLmRlZmF1bHQpKHQpLHY9cnx8aXx8bHx8ZCxwPXY/bih0Lmxlbmd0aCxTdHJpbmcpOltdLGI9cC5sZW5ndGg7Zm9yKHZhciB5IGluIHQpIWUmJiFzLmNhbGwodCx5KXx8diYmKCJsZW5ndGgiPT15fHxsJiYoIm9mZnNldCI9PXl8fCJwYXJlbnQiPT15KXx8ZCYmKCJidWZmZXIiPT15fHwiYnl0ZUxlbmd0aCI9PXl8fCJieXRlT2Zmc2V0Ij09eSl8fCgwLGMuZGVmYXVsdCkoeSxiKSl8fHAucHVzaCh5KTtyZXR1cm4gcH19LDQ0ODYyNih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0tMSxuPWUubGVuZ3RoLHU9dC5sZW5ndGg7KytyPG47KXRbdStyXT1lW3JdO3JldHVybiB0fX0sMTY4NTMzKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDI1NDczOCksdT1yKDkxMDc3OCksYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2NvbnN0IG89ZnVuY3Rpb24odCxlLHIpe3ZhciBvPXRbZV07YS5jYWxsKHQsZSkmJigwLHUuZGVmYXVsdCkobyxyKSYmKHZvaWQgMCE9PXJ8fGUgaW4gdCl8fCgwLG4uZGVmYXVsdCkodCxlLHIpfX0sMjU0NzM4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDM2MDQ5KTtjb25zdCB1PWZ1bmN0aW9uKHQsZSxyKXsiX19wcm90b19fIj09ZSYmbi5kZWZhdWx0PygwLG4uZGVmYXVsdCkodCxlLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyLHdyaXRhYmxlOiEwfSk6dFtlXT1yfX0sNDkzMDE4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pkh9KTt2YXIgbj1yKDg4NjUxNCksdT1yKDk4NDEzOSksYT1yKDE2ODUzMyksbz1yKDYxODU3KSxjPXIoMzA5MDgwKTtjb25zdCBmPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJigwLG8uZGVmYXVsdCkoZSwoMCxjLmRlZmF1bHQpKGUpLHQpfTt2YXIgcz1yKDIxNzQ1Nyk7Y29uc3QgaT1mdW5jdGlvbih0LGUpe3JldHVybiB0JiYoMCxvLmRlZmF1bHQpKGUsKDAscy5kZWZhdWx0KShlKSx0KX07dmFyIGw9cig0ODcwNjApLGQ9cig3MDU3NDkpLHY9cigyMzA5NTEpO2NvbnN0IHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsdi5kZWZhdWx0KSh0KSxlKX07dmFyIGI9cigxMTY2NDEpO2NvbnN0IHk9ZnVuY3Rpb24odCxlKXtyZXR1cm4oMCxvLmRlZmF1bHQpKHQsKDAsYi5kZWZhdWx0KSh0KSxlKX07dmFyIGg9cig4MDYyNDApLGo9cig5OTE1OTkpLGc9cig5Njk3ODUpLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBfPWZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoLHI9bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmdy5jYWxsKHQsImluZGV4IikmJihyLmluZGV4PXQuaW5kZXgsci5pbnB1dD10LmlucHV0KSxyfTt2YXIgQT1yKDM3NzI1MSk7Y29uc3QgbT1mdW5jdGlvbih0LGUpe3ZhciByPWU/KDAsQS5kZWZhdWx0KSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKHIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9O3ZhciBPPS9cdyokLztjb25zdCB4PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLE8uZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9O3ZhciBVPXIoODcyOTk5KSxFPVUuZGVmYXVsdD9VLmRlZmF1bHQucHJvdG90eXBlOnZvaWQgMCxUPUU/RS52YWx1ZU9mOnZvaWQgMDtjb25zdCBTPWZ1bmN0aW9uKHQpe3JldHVybiBUP09iamVjdChULmNhbGwodCkpOnt9fTt2YXIgST1yKDEzOTA3KTtjb25zdCBNPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4oMCxBLmRlZmF1bHQpKHQpO2Nhc2UiW29iamVjdCBCb29sZWFuXSI6Y2FzZSJbb2JqZWN0IERhdGVdIjpyZXR1cm4gbmV3IG4oK3QpO2Nhc2UiW29iamVjdCBEYXRhVmlld10iOnJldHVybiBtKHQscik7Y2FzZSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iOmNhc2UiW29iamVjdCBGbG9hdDY0QXJyYXldIjoKY2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybigwLEkuZGVmYXVsdCkodCxyKTtjYXNlIltvYmplY3QgTWFwXSI6Y2FzZSJbb2JqZWN0IFNldF0iOnJldHVybiBuZXcgbjtjYXNlIltvYmplY3QgTnVtYmVyXSI6Y2FzZSJbb2JqZWN0IFN0cmluZ10iOnJldHVybiBuZXcgbih0KTtjYXNlIltvYmplY3QgUmVnRXhwXSI6cmV0dXJuIHgodCk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBTKHQpfX07dmFyIEI9cig4MDc1NzUpLFA9cigyOTU2MzUpLGs9cig2NTkwMTgpLHo9cig2NzI1MTEpLEM9cig4ODAxMTUpLEQ9cigzNjA2MjApO2NvbnN0IEY9ZnVuY3Rpb24odCl7cmV0dXJuKDAsRC5kZWZhdWx0KSh0KSYmIltvYmplY3QgU2V0XSI9PSgwLGcuZGVmYXVsdCkodCl9O3ZhciBMPXIoODk5MzM5KSxOPXIoMzY5ODk5KSxXPU4uZGVmYXVsdCYmTi5kZWZhdWx0LmlzU2V0O2NvbnN0IFY9Vz8oMCxMLmRlZmF1bHQpKFcpOkY7dmFyICQ9IltvYmplY3QgQXJndW1lbnRzXSIsUj0iW29iamVjdCBGdW5jdGlvbl0iLHE9IltvYmplY3QgT2JqZWN0XSIsRz17fTtHWyRdPUdbIltvYmplY3QgQXJyYXldIl09R1siW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1HWyJbb2JqZWN0IERhdGFWaWV3XSJdPUdbIltvYmplY3QgQm9vbGVhbl0iXT1HWyJbb2JqZWN0IERhdGVdIl09R1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09R1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09R1siW29iamVjdCBJbnQ4QXJyYXldIl09R1siW29iamVjdCBJbnQxNkFycmF5XSJdPUdbIltvYmplY3QgSW50MzJBcnJheV0iXT1HWyJbb2JqZWN0IE1hcF0iXT1HWyJbb2JqZWN0IE51bWJlcl0iXT1HW3FdPUdbIltvYmplY3QgUmVnRXhwXSJdPUdbIltvYmplY3QgU2V0XSJdPUdbIltvYmplY3QgU3RyaW5nXSJdPUdbIltvYmplY3QgU3ltYm9sXSJdPUdbIltvYmplY3QgVWludDhBcnJheV0iXT1HWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPUdbIltvYmplY3QgVWludDE2QXJyYXldIl09R1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxHWyJbb2JqZWN0IEVycm9yXSJdPUdbUl09R1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IEg9ZnVuY3Rpb24gdChlLHIsbyx2LGIsdyl7dmFyIEEsbT0xJnIsTz0yJnIseD00JnI7aWYobyYmKEE9Yj9vKGUsdixiLHcpOm8oZSkpLHZvaWQgMCE9PUEpcmV0dXJuIEE7aWYoISgwLEMuZGVmYXVsdCkoZSkpcmV0dXJuIGU7dmFyIFU9KDAsUC5kZWZhdWx0KShlKTtpZihVKXtpZihBPV8oZSksIW0pcmV0dXJuKDAsZC5kZWZhdWx0KShlLEEpfWVsc2V7dmFyIEU9KDAsZy5kZWZhdWx0KShlKSxUPUU9PVJ8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PUU7aWYoKDAsay5kZWZhdWx0KShlKSlyZXR1cm4oMCxsLmRlZmF1bHQpKGUsbSk7aWYoRT09cXx8RT09JHx8VCYmIWIpe2lmKEE9T3x8VD97fTooMCxCLmRlZmF1bHQpKGUpLCFtKXJldHVybiBPP3koZSxpKEEsZSkpOnAoZSxmKEEsZSkpfWVsc2V7aWYoIUdbRV0pcmV0dXJuIGI/ZTp7fTtBPU0oZSxFLG0pfX13fHwodz1uZXcgbi5kZWZhdWx0KTt2YXIgUz13LmdldChlKTtpZihTKXJldHVybiBTO3cuc2V0KGUsQSksVihlKT9lLmZvckVhY2goKGZ1bmN0aW9uKG4pe0EuYWRkKHQobixyLG8sbixlLHcpKX0pKTooMCx6LmRlZmF1bHQpKGUpJiZlLmZvckVhY2goKGZ1bmN0aW9uKG4sdSl7QS5zZXQodSx0KG4scixvLHUsZSx3KSl9KSk7dmFyIEk9eD9PP2ouZGVmYXVsdDpoLmRlZmF1bHQ6Tz9zLmRlZmF1bHQ6Yy5kZWZhdWx0LEQ9VT92b2lkIDA6SShlKTtyZXR1cm4oMCx1LmRlZmF1bHQpKER8fGUsKGZ1bmN0aW9uKG4sdSl7RCYmKG49ZVt1PW5dKSwoMCxhLmRlZmF1bHQpKEEsdSx0KG4scixvLHUsZSx3KSl9KSksQX19LDg1MTA4Mih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig4ODAxMTUpLHU9T2JqZWN0LmNyZWF0ZTtjb25zdCBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oZSl7aWYoISgwLG4uZGVmYXVsdCkoZSkpcmV0dXJue307aWYodSlyZXR1cm4gdShlKTt0LnByb3RvdHlwZT1lO3ZhciByPW5ldyB0O3JldHVybiB0LnByb3RvdHlwZT12b2lkIDAscn19KCl9LDY4ODk2NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIHU9dC5sZW5ndGgsYT1yKyhuPzE6LTEpO24/YS0tOisrYTx1OylpZihlKHRbYV0sYSx0KSlyZXR1cm4gYTtyZXR1cm4tMX19LDkxNjA4NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig0NDg2MjYpLHU9cigyOTU2MzUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWUodCk7cmV0dXJuKDAsdS5kZWZhdWx0KSh0KT9hOigwLG4uZGVmYXVsdCkoYSxyKHQpKX19LDgzMDg3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig2OTM5NDEpO2NvbnN0IHU9KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5rZXlzLE9iamVjdCk7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBvPWZ1bmN0aW9uKHQpe2lmKCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiB1KHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpYS5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LDg5OTMzOSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5ufSk7Y29uc3Qgbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fX0sNzEyODAxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaGFzKGUpfX0sCjM3NzI1MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49cig4NjUzMzApO2NvbnN0IHU9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG4uZGVmYXVsdChlKS5zZXQobmV3IG4uZGVmYXVsdCh0KSksZX19LDQ4NzA2MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5mfSk7dmFyIG49cig5ODE1MjMpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXU/bi5kZWZhdWx0LkJ1ZmZlcjp2b2lkIDAsYz1vP28uYWxsb2NVbnNhZmU6dm9pZCAwO2NvbnN0IGY9ZnVuY3Rpb24odCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIHI9dC5sZW5ndGgsbj1jP2Mocik6bmV3IHQuY29uc3RydWN0b3Iocik7cmV0dXJuIHQuY29weShuKSxufX0sMTM5MDcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMzc3MjUxKTtjb25zdCB1PWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZT8oMCxuLmRlZmF1bHQpKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iocix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfX0sNzA1NzQ5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQsZSl7dmFyIHI9LTEsbj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkobikpOysrcjxuOyllW3JdPXRbcl07cmV0dXJuIGV9fSw2MTg1Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNjg1MzMpLHU9cigyNTQ3MzgpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLHIsYSl7dmFyIG89IXI7cnx8KHI9e30pO2Zvcih2YXIgYz0tMSxmPWUubGVuZ3RoOysrYzxmOyl7dmFyIHM9ZVtjXSxpPWE/YShyW3NdLHRbc10scyxyLHQpOnZvaWQgMDt2b2lkIDA9PT1pJiYoaT10W3NdKSxvPygwLHUuZGVmYXVsdCkocixzLGkpOigwLG4uZGVmYXVsdCkocixzLGkpfXJldHVybiByfX0sMzYwNDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPXIoMTYyMzE2KTtjb25zdCB1PWZ1bmN0aW9uKCl7dHJ5e3ZhciB0PSgwLG4uZGVmYXVsdCkoT2JqZWN0LCJkZWZpbmVQcm9wZXJ0eSIpO3JldHVybiB0KHt9LCIiLHt9KSx0fWNhdGNoKHQpe319KCl9LDgwNjI0MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig5MTYwODUpLHU9cigyMzA5NTEpLGE9cigzMDkwODApO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsbi5kZWZhdWx0KSh0LGEuZGVmYXVsdCx1LmRlZmF1bHQpfX0sOTkxNTk5KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj1yKDkxNjA4NSksdT1yKDExNjY0MSksYT1yKDIxNzQ1Nyk7Y29uc3Qgbz1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsYS5kZWZhdWx0LHUuZGVmYXVsdCl9fSwzOTI1NDUodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49KDAscigxMzk4NDkpLmRlZmF1bHQpKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpfSwyMzA5NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9LTEsbj1udWxsPT10PzA6dC5sZW5ndGgsdT0wLGE9W107KytyPG47KXt2YXIgbz10W3JdO2UobyxyLHQpJiYoYVt1KytdPW8pfXJldHVybiBhfTt2YXIgdT1yKDE3NzY1NSksYT1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztjb25zdCBjPW8/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9T2JqZWN0KHQpLG4obyh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGEuY2FsbCh0LGUpfSkpKX06dS5kZWZhdWx0fSwxMTY2NDEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Y30pO3ZhciBuPXIoNDQ4NjI2KSx1PXIoMzkyNTQ1KSxhPXIoMjMwOTUxKSxvPXIoMTc3NjU1KTtjb25zdCBjPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdO3Q7KSgwLG4uZGVmYXVsdCkoZSwoMCxhLmRlZmF1bHQpKHQpKSx0PSgwLHUuZGVmYXVsdCkodCk7cmV0dXJuIGV9Om8uZGVmYXVsdH0sOTY5Nzg1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm19KTt2YXIgbj1yKDE2MjMxNiksdT1yKDk4MTUyMyk7Y29uc3QgYT0oMCxuLmRlZmF1bHQpKHUuZGVmYXVsdCwiRGF0YVZpZXciKTt2YXIgbz1yKDY5NDIxKTtjb25zdCBjPSgwLG4uZGVmYXVsdCkodS5kZWZhdWx0LCJQcm9taXNlIik7dmFyIGY9cig0MTQxMjMpLHM9cig5Mjg0NTMpLGk9cigxNzg0OTcpLGw9cig3MzA1MDMpLGQ9IltvYmplY3QgTWFwXSIsdj0iW29iamVjdCBQcm9taXNlXSIscD0iW29iamVjdCBTZXRdIixiPSJbb2JqZWN0IFdlYWtNYXBdIix5PSJbb2JqZWN0IERhdGFWaWV3XSIsaD0oMCxsLmRlZmF1bHQpKGEpLGo9KDAsbC5kZWZhdWx0KShvLmRlZmF1bHQpLGc9KDAsbC5kZWZhdWx0KShjKSx3PSgwLGwuZGVmYXVsdCkoZi5kZWZhdWx0KSxfPSgwLGwuZGVmYXVsdCkocy5kZWZhdWx0KSxBPWkuZGVmYXVsdDsoYSYmQShuZXcgYShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9eXx8by5kZWZhdWx0JiZBKG5ldyBvLmRlZmF1bHQpIT1kfHxjJiZBKGMucmVzb2x2ZSgpKSE9dnx8Zi5kZWZhdWx0JiZBKG5ldyBmLmRlZmF1bHQpIT1wfHxzLmRlZmF1bHQmJkEobmV3IHMuZGVmYXVsdCkhPWIpJiYoQT1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQpLHI9IltvYmplY3QgT2JqZWN0XSI9PWU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbj1yPygwLGwuZGVmYXVsdCkocik6IiI7aWYobilzd2l0Y2gobil7Y2FzZSBoOgpyZXR1cm4geTtjYXNlIGo6cmV0dXJuIGQ7Y2FzZSBnOnJldHVybiB2O2Nhc2UgdzpyZXR1cm4gcDtjYXNlIF86cmV0dXJuIGJ9cmV0dXJuIGV9KTtjb25zdCBtPUF9LDgwNzU3NSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4NTEwODIpLHU9cigzOTI1NDUpLGE9cig2OTM5NDEpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fCgwLGEuZGVmYXVsdCkodCk/e306KDAsbi5kZWZhdWx0KSgoMCx1LmRlZmF1bHQpKHQpKX19LDkyMTE0Myh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49L14oPzowfFsxLTldXGQqKSQvO2NvbnN0IHU9ZnVuY3Rpb24odCxlKXt2YXIgcj10eXBlb2YgdDtyZXR1cm4hIShlPWU/PzkwMDcxOTkyNTQ3NDA5OTEpJiYoIm51bWJlciI9PXJ8fCJzeW1ib2wiIT1yJiZuLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX19LDY5Mzk0MSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT51fSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxuKX19LDM2OTg5OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5jfSk7dmFyIG49cig2MDI5NDIpLHU9Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cyxhPXUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJiFtb2R1bGUubm9kZVR5cGUmJm1vZHVsZSxvPWEmJmEuZXhwb3J0cz09PXUmJm4uZGVmYXVsdC5wcm9jZXNzO2NvbnN0IGM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9YSYmYS5yZXF1aXJlJiZhLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8byYmby5iaW5kaW5nJiZvLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpfSwxMzk4NDkodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHQoZShyKSl9fX0sOTcyMDE3KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtyWysrZV09dH0pKSxyfX0sMjAzNjgxKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbj1yKDQ5MzAxOCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxuLmRlZmF1bHQpKHQsNSl9fSw1NDc4NTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoODgwMTE1KSx1PXIoOTgxNTIzKTtjb25zdCBhPWZ1bmN0aW9uKCl7cmV0dXJuIHUuZGVmYXVsdC5EYXRlLm5vdygpfTt2YXIgbz1yKDQwNjQ0OSksYz1NYXRoLm1heCxmPU1hdGgubWluO2NvbnN0IHM9ZnVuY3Rpb24odCxlLHIpe3ZhciB1LHMsaSxsLGQsdixwPTAsYj0hMSx5PSExLGg9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO2Z1bmN0aW9uIGooZSl7dmFyIHI9dSxuPXM7cmV0dXJuIHU9cz12b2lkIDAscD1lLGw9dC5hcHBseShuLHIpfWZ1bmN0aW9uIGcodCl7dmFyIHI9dC12O3JldHVybiB2b2lkIDA9PT12fHxyPj1lfHxyPDB8fHkmJnQtcD49aX1mdW5jdGlvbiB3KCl7dmFyIHQ9YSgpO2lmKGcodCkpcmV0dXJuIF8odCk7ZD1zZXRUaW1lb3V0KHcsZnVuY3Rpb24odCl7dmFyIHI9ZS0odC12KTtyZXR1cm4geT9mKHIsaS0odC1wKSk6cn0odCkpfWZ1bmN0aW9uIF8odCl7cmV0dXJuIGQ9dm9pZCAwLGgmJnU/aih0KToodT1zPXZvaWQgMCxsKX1mdW5jdGlvbiBBKCl7dmFyIHQ9YSgpLHI9Zyh0KTtpZih1PWFyZ3VtZW50cyxzPXRoaXMsdj10LHIpe2lmKHZvaWQgMD09PWQpcmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBwPXQsZD1zZXRUaW1lb3V0KHcsZSksYj9qKHQpOmx9KHYpO2lmKHkpcmV0dXJuIGNsZWFyVGltZW91dChkKSxkPXNldFRpbWVvdXQodyxlKSxqKHYpfXJldHVybiB2b2lkIDA9PT1kJiYoZD1zZXRUaW1lb3V0KHcsZSkpLGx9cmV0dXJuIGU9KDAsby5kZWZhdWx0KShlKXx8MCwoMCxuLmRlZmF1bHQpKHIpJiYoYj0hIXIubGVhZGluZyxpPSh5PSJtYXhXYWl0ImluIHIpP2MoKDAsby5kZWZhdWx0KShyLm1heFdhaXQpfHwwLGUpOmksaD0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6aCksQS5jYW5jZWw9ZnVuY3Rpb24oKXt2b2lkIDAhPT1kJiZjbGVhclRpbWVvdXQoZCkscD0wLHU9dj1zPWQ9dm9pZCAwfSxBLmZsdXNoPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWQ/bDpfKGEoKSl9LEF9fSw1MzE1NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoMTc4NDk3KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1PYmplY3QucHJvdG90eXBlLGM9by5oYXNPd25Qcm9wZXJ0eSxmPW8ucHJvcGVydHlJc0VudW1lcmFibGUscz1hKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk/YTpmdW5jdGlvbih0KXtyZXR1cm4oMCx1LmRlZmF1bHQpKHQpJiZjLmNhbGwodCwiY2FsbGVlIikmJiFmLmNhbGwodCwiY2FsbGVlIil9O2NvbnN0IGk9c30sMjk1NjM1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPUFycmF5LmlzQXJyYXl9LDM5MjkwOCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cig5MjgxMzIpLHU9cig5OTA2MDQpO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJigwLHUuZGVmYXVsdCkodC5sZW5ndGgpJiYhKDAsbi5kZWZhdWx0KSh0KX19LDY1OTAxOCh0LGUscil7CiJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+Zn0pO3ZhciBuPXIoOTgxNTIzKTtjb25zdCB1PWZ1bmN0aW9uKCl7cmV0dXJuITF9O3ZhciBhPSJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsbz1hJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsYz1vJiZvLmV4cG9ydHM9PT1hP24uZGVmYXVsdC5CdWZmZXI6dm9pZCAwO2NvbnN0IGY9KGM/Yy5pc0J1ZmZlcjp2b2lkIDApfHx1fSw5OTA2MDQodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PTkwMDcxOTkyNTQ3NDA5OTF9fSw2NzI1MTEodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+c30pO3ZhciBuPXIoOTY5Nzg1KSx1PXIoMzYwNjIwKTtjb25zdCBhPWZ1bmN0aW9uKHQpe3JldHVybigwLHUuZGVmYXVsdCkodCkmJiJbb2JqZWN0IE1hcF0iPT0oMCxuLmRlZmF1bHQpKHQpfTt2YXIgbz1yKDg5OTMzOSksYz1yKDM2OTg5OSksZj1jLmRlZmF1bHQmJmMuZGVmYXVsdC5pc01hcDtjb25zdCBzPWY/KDAsby5kZWZhdWx0KShmKTphfSwzNjA2MjAodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+bn0pO2NvbnN0IG49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LDcxNzMzMih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIG49cigxNzg0OTcpLHU9cigzNjA2MjApO2NvbnN0IGE9ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fHwoMCx1LmRlZmF1bHQpKHQpJiYiW29iamVjdCBTeW1ib2xdIj09KDAsbi5kZWZhdWx0KSh0KX19LDE2NTI2Nyh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5sfSk7dmFyIG49cigxNzg0OTcpLHU9cig5OTA2MDQpLGE9cigzNjA2MjApLG89e307b1siW29iamVjdCBGbG9hdDMyQXJyYXldIl09b1siW29iamVjdCBGbG9hdDY0QXJyYXldIl09b1siW29iamVjdCBJbnQ4QXJyYXldIl09b1siW29iamVjdCBJbnQxNkFycmF5XSJdPW9bIltvYmplY3QgSW50MzJBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09b1siW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1vWyJbb2JqZWN0IFVpbnQxNkFycmF5XSJdPW9bIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsb1siW29iamVjdCBBcmd1bWVudHNdIl09b1siW29iamVjdCBBcnJheV0iXT1vWyJbb2JqZWN0IEFycmF5QnVmZmVyXSJdPW9bIltvYmplY3QgQm9vbGVhbl0iXT1vWyJbb2JqZWN0IERhdGFWaWV3XSJdPW9bIltvYmplY3QgRGF0ZV0iXT1vWyJbb2JqZWN0IEVycm9yXSJdPW9bIltvYmplY3QgRnVuY3Rpb25dIl09b1siW29iamVjdCBNYXBdIl09b1siW29iamVjdCBOdW1iZXJdIl09b1siW29iamVjdCBPYmplY3RdIl09b1siW29iamVjdCBSZWdFeHBdIl09b1siW29iamVjdCBTZXRdIl09b1siW29iamVjdCBTdHJpbmddIl09b1siW29iamVjdCBXZWFrTWFwXSJdPSExO2NvbnN0IGM9ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KSYmKDAsdS5kZWZhdWx0KSh0Lmxlbmd0aCkmJiEhb1soMCxuLmRlZmF1bHQpKHQpXX07dmFyIGY9cig4OTkzMzkpLHM9cigzNjk4OTkpLGk9cy5kZWZhdWx0JiZzLmRlZmF1bHQuaXNUeXBlZEFycmF5O2NvbnN0IGw9aT8oMCxmLmRlZmF1bHQpKGkpOmN9LDMwOTA4MCh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49cig4MjA5NzUpLHU9cig4MzA4NzUpLGE9cigzOTI5MDgpO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuKDAsYS5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQpOigwLHUuZGVmYXVsdCkodCl9fSwyMTc0NTcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBuPXIoODIwOTc1KSx1PXIoODgwMTE1KSxhPXIoNjkzOTQxKTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9O3ZhciBjPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgZj1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KSlyZXR1cm4gbyh0KTt2YXIgZT0oMCxhLmRlZmF1bHQpKHQpLHI9W107Zm9yKHZhciBuIGluIHQpKCJjb25zdHJ1Y3RvciIhPW58fCFlJiZjLmNhbGwodCxuKSkmJnIucHVzaChuKTtyZXR1cm4gcn07dmFyIHM9cigzOTI5MDgpO2NvbnN0IGk9ZnVuY3Rpb24odCl7cmV0dXJuKDAscy5kZWZhdWx0KSh0KT8oMCxuLmRlZmF1bHQpKHQsITApOmYodCl9fSw2NjMwNDYodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNzEzMTQ4KTtmdW5jdGlvbiB1KHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHR8fG51bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZnVuY3Rpb24iKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBuPWFyZ3VtZW50cyx1PWU/ZS5hcHBseSh0aGlzLG4pOm5bMF0sYT1yLmNhY2hlO2lmKGEuaGFzKHUpKXJldHVybiBhLmdldCh1KTt2YXIgbz10LmFwcGx5KHRoaXMsbik7cmV0dXJuIHIuY2FjaGU9YS5zZXQodSxvKXx8YSxvfTtyZXR1cm4gci5jYWNoZT1uZXcodS5DYWNoZXx8bi5kZWZhdWx0KSxyfXUuQ2FjaGU9bi5kZWZhdWx0O2NvbnN0IGE9dX0sODYyMzg4KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7fX0sMTc3NjU1KHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUse2RlZmF1bHQ6KCk9Pm59KTtjb25zdCBuPWZ1bmN0aW9uKCl7cmV0dXJuW119fSw1ODcxNjgodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBuPXIoNTQ3ODUxKSx1PXIoODgwMTE1KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSxyKXsKdmFyIGE9ITAsbz0hMDtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuKDAsdS5kZWZhdWx0KShyKSYmKGE9ImxlYWRpbmciaW4gcj8hIXIubGVhZGluZzphLG89InRyYWlsaW5nImluIHI/ISFyLnRyYWlsaW5nOm8pLCgwLG4uZGVmYXVsdCkodCxlLHtsZWFkaW5nOmEsbWF4V2FpdDplLHRyYWlsaW5nOm99KX19LDQwNjQ0OSh0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLHtkZWZhdWx0OigpPT52fSk7dmFyIG49L1xzLztjb25zdCB1PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlLS0mJm4udGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX07dmFyIGE9L15ccysvO2NvbnN0IG89ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dC5zbGljZSgwLHUodCkrMSkucmVwbGFjZShhLCIiKTp0fTt2YXIgYz1yKDg4MDExNSksZj1yKDcxNzMzMikscz0vXlstK10weFswLTlhLWZdKyQvaSxpPS9eMGJbMDFdKyQvaSxsPS9eMG9bMC03XSskL2ksZD1wYXJzZUludDtjb25zdCB2PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZigoMCxmLmRlZmF1bHQpKHQpKXJldHVybiBOYU47aWYoKDAsYy5kZWZhdWx0KSh0KSl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQudmFsdWVPZj90LnZhbHVlT2YoKTp0O3Q9KDAsYy5kZWZhdWx0KShlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9byh0KTt2YXIgcj1pLnRlc3QodCk7cmV0dXJuIHJ8fGwudGVzdCh0KT9kKHQuc2xpY2UoMikscj8yOjgpOnMudGVzdCh0KT9OYU46K3R9fSwzNTI4MzcodCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBuPXIoMjY5MzY2KSx1PXIoMjI0NDE2KSxhPXIoODI1MDM5KSxvPXIoNzEyODAxKSxjPXIoNDE0MTIzKSxmPXIoODYyMzg4KSxzPXIoOTcyMDE3KTtjb25zdCBpPWMuZGVmYXVsdCYmMS8oMCxzLmRlZmF1bHQpKG5ldyBjLmRlZmF1bHQoWywtMF0pKVsxXT09MS8wP2Z1bmN0aW9uKHQpe3JldHVybiBuZXcgYy5kZWZhdWx0KHQpfTpmLmRlZmF1bHQ7Y29uc3QgbD1mdW5jdGlvbih0LGUscil7dmFyIGM9LTEsZj11LmRlZmF1bHQsbD10Lmxlbmd0aCxkPSEwLHY9W10scD12O2lmKHIpZD0hMSxmPWEuZGVmYXVsdDtlbHNlIGlmKGw+PTIwMCl7dmFyIGI9ZT9udWxsOmkodCk7aWYoYilyZXR1cm4oMCxzLmRlZmF1bHQpKGIpO2Q9ITEsZj1vLmRlZmF1bHQscD1uZXcgbi5kZWZhdWx0fWVsc2UgcD1lP1tdOnY7dDpmb3IoOysrYzxsOyl7dmFyIHk9dFtjXSxoPWU/ZSh5KTp5O2lmKHk9cnx8MCE9PXk/eTowLGQmJmg9PWgpe2Zvcih2YXIgaj1wLmxlbmd0aDtqLS07KWlmKHBbal09PT1oKWNvbnRpbnVlIHQ7ZSYmcC5wdXNoKGgpLHYucHVzaCh5KX1lbHNlIGYocCxoLHIpfHwocCE9PXYmJnAucHVzaChoKSx2LnB1c2goeSkpfXJldHVybiB2fTtjb25zdCBkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9sKHQpOltdfX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/33251.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.685Z","timestamp":1785136428685,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33251.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 670\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 01 Sep 2025 11:02:49 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:59:37 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ec9dd93a241b707c75a67b74596e9b5e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 83659\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: cZVpHF6hcs2mm4tB902_w6IRtMg6jBMUNYVy6pj6XokaCe5QznbvKw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":670,"size_decoded":1241,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ec9dd93a241b707c75a67b74596e9b5e","sha1":"ccb63f92f95d2d2a3a79e0a1af4a5c4ae8163b3a","sha256":"3929c3a945e23b6246a734d12e96c3d0b8dfe5786d4c25b7b1891a3692f780a5","sha512":"7edb6748d2be6e6b80a20638bb1deded70e45a5c32fcdd8c63059753227817ebcc0c1dbb59b79bed61178ef406b364f06e1b4a9a6fffa759e98060b86f6c200d","ssdeep":"","tlshash":"ce0188ce03224c20dd972397b2d0e491f002f209575a04c4530d44d84147606e9dcf03","first_seen":"2025-09-21T19:23:24.386227Z","last_seen":"2026-08-11T04:47:30.075019Z","times_seen":1547,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACZUlEQVR4Xu2aO07DQBRFUwIKhfNRsgNasgFgKalpqZFYAdBCSUWBFHYQCTbABhA9mwAGYeOcmXHG9nh+zpWOFMXz3tz7DFKczGDgSLPJeDWbjL7MGK9ZH53kUO1g/yA1n0zOaNw28+l4yX29azYdfdBo5/zsSR9eJBlzDP04E434hv46FTcPBfq0Lm4YKvRtRdwkdOi/ldg8Fpijkdg0NpinltgsVpjLWGwUK8xlJDaJHearFItTgTm1YmEqMKdSLEoN5t2Ql6c611Q9RUqLE4W5fyW+aODCVBFf3DB/b+5+DvP3ewC82Bd2A9gNwGAAn097BbwWKo+XQyPPf+HHa15QUR5ESEOhn3resufKu6/j5eZA2qzM6SKTamzAfQjXm9BoAALVpjSU83a3L9WbwD451+fDYo14rfJiSuMBCGisbITv1THJmpzXW/VfHuvr0GoA5OQ4k8ypYF0O16m4v/i/+zawOgBdSIbgmqvloXRtWw/u3RSrAxDQqAl167hnG6wPoMziyOxfohyM79kOTDodgA4GdBVWhfMBMLAO1nWFswEwIFGtY48uEB+Faxxeqg+DEq53yTw/jMULtiiH1L32idHTYBN4h3WvfWN9AOXg7w/7lYMIAesDiI1iAH0cwkb43QAGbk55hoL2tCkXpgpzF+r9j6NCUkFiMK9SLEoF5tSKhanAnJVicewwn5HYJFaYy1hsFCvMVUtsFhvM00hsGgvM0UpsHjr0b0XcJFTo27q4YSjQZ6fi5r6hP2eiEdfQjxd5eYrc9lTnQy5OmypPeYYoGm8L+0cn8SsMQ+nJVqzvSt+FCLb7X+qEIQAAAABJRU5ErkJggg=="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.195Z","timestamp":1785136429195,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93416.90818d73e0e3a9a9fe2a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 74cd9b33b44ea481fcbc7949f40e3af2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":580,"size_decoded":1088,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (580), with no line terminators","md5":"34f5e63cca1a0c5f41a95164111b3b4c","sha1":"c652860824e5dfe8605dfd2c449ab1999dbb7320","sha256":"d836659d40ccee20b3bda744c4d2935c90d75eb285a16b35fea1a995e18a1d80","sha512":"4e47b6897f850a154d8b07315c97ee8b4d0b2f5d4909f78c8ccc1de89e165e871ba201c85af37eb3c384ef96de09c261da19a74b11a2290fa42b7872527a8638","ssdeep":"","tlshash":"02f04c1aa2b98f9f9063c899053cb21b5451dd93de221f27b6d8c52c81cbed71307a0c","first_seen":"2026-07-17T03:30:51.191624Z","last_seen":"2026-08-11T04:43:23.209793Z","times_seen":272,"resource_available":false,"data":"LmNoZWNrYm94LWhVc25uMlpfe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2dhcDo4cHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbH0uY2hlY2tib3gtaFVzbm4yWl8ucmV2ZXJzZS1oVXNubjJaX3tmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmNoZWNrYm94LWhVc25uMlpfLmJhc2VsaW5lLWhVc25uMlpfe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LmxhYmVsLWhVc25uMlpfe21pbi13aWR0aDowfS5kaXNhYmxlZC1oVXNubjJaX3tvcGFjaXR5Oi41fS5wcmltYXJ5LWhVc25uMlpfe2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmRhbmdlci1oVXNubjJaX3tjb2xvcjp2YXIoLS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81247.7059063ba4d3b37302dc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.291Z","timestamp":1785136429291,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81247.7059063ba4d3b37302dc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-308\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0e853283ed600d42c536e079f5bf3d3b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":776,"size_decoded":1087,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (776), with no line terminators","md5":"61f42e8a346b20abe1ee19436587307b","sha1":"2b1289bece80c17f1b05ceeee27a391f85fd14df","sha256":"5540ab6ad033d0c8d744e54bce1762b3c3a26f361e08614893bea5efce561218","sha512":"f13b8d738468b5744d16bbc46db4bf0d7f907f202a52a43d492591b896e8061ec482c18effa0e8fcdf773c4dfcbd05919a21550a62fdce9b2e095f675efb350c","ssdeep":"","tlshash":"c401d623120632e7df76c13cae82d7c56f9a21b548200a0ffc7a9811476b3f94b889d2","first_seen":"2026-06-30T21:57:43.398574Z","last_seen":"2026-07-28T06:17:53.481961Z","times_seen":245,"resource_available":false,"data":"LmFjY2Vzc2libGUtS3RxYV9TelB7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXN7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmFjY2Vzc2libGUtS3RxYV9TelA6Zm9jdXMtdmlzaWJsZTphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5hY2Nlc3NpYmxlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4fS5hY2Nlc3NpYmxlLUt0cWFfU3pQOm5vdCguYWNjZXNzaWJsZS1LdHFhX1N6UC5hY3RpdmUtS3RxYV9TelApOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9LmFjY2Vzc2libGUtS3RxYV9TelAuYWN0aXZlLUt0cWFfU3pQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/38086.990b013ae325a9b5099a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.314Z","timestamp":1785136429314,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/38086.990b013ae325a9b5099a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-6d8f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: df5f64afa315f4edaba4a94e4301b67a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":28047,"size_decoded":11848,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3070)","md5":"12ee02cfd5ac5d5c313f3b01d8594d67","sha1":"9c5481266cf5613714714c6a1caf5e0a00d5a0fa","sha256":"e2c24b1c51c27795031a14e1f510e609acbee7e60d594e70c12b5bfe7331c5ea","sha512":"51808078a6bf5ec8b0ca47b4202cadc45f1ae8a112e67afadb66128b8145adb8f9cde349c93857081db86695e5c591f1407f80c3263466fcde7e098c4fdf3665","ssdeep":"768:/i1CR3M0b4wuYONncOogxxuaGy9yLsxtMgDA184HYtae6IkykW7FTSjtwgIlbSUr:CiM08weNcfgVmgxtMQu84HytLkyPTS5m","tlshash":"6ec23bd470a1a0ce12d206ddc17e9550e37b795cbc198e64f4a8ccee749e64a7338b6c","first_seen":"2026-07-23T14:00:31.722877Z","last_seen":"2026-07-28T06:17:53.453122Z","times_seen":108,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szODA4Nl0sezI0NzE4OShlKXtlLmV4cG9ydHM9e3NlcGFyYXRvcjoic2VwYXJhdG9yLXdzTnlQOWUyIixzbWFsbDoic21hbGwtd3NOeVA5ZTIiLG5vcm1hbDoibm9ybWFsLXdzTnlQOWUyIixsYXJnZToibGFyZ2Utd3NOeVA5ZTIifX0sMzU0MzMxKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1UeTVPMVdKUSIsZGlyTWF0Y2hpbmc6ImRpck1hdGNoaW5nLVR5NU8xV0pRIn19LDYzNjk4NihlKXtlLmV4cG9ydHM9e2N1c3RvbUxpc3RJdGVtOiJjdXN0b21MaXN0SXRlbS05UTlGSHlybiIsY2xpY2thYmxlOiJjbGlja2FibGUtOVE5Rkh5cm4ifX0sMjEyNjcyKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1LVWl0c3RwSiIscHJpbWFyeVRpdGxlV3JhcHBlcjoicHJpbWFyeVRpdGxlV3JhcHBlci1LVWl0c3RwSiIsc2Vjb25kYXJ5VGl0bGVXcmFwcGVyOiJzZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEoiLHRpdGxlOiJ0aXRsZS1LVWl0c3RwSiIsY29udGVudDoiY29udGVudC1LVWl0c3RwSiIsbGVmdDoibGVmdC1LVWl0c3RwSiIsd2l0aExlZnRTbG90OiJ3aXRoTGVmdFNsb3QtS1VpdHN0cEoiLHNwYWNlOiJzcGFjZS1LVWl0c3RwSiIsaWNvbjoiaWNvbi1LVWl0c3RwSiJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNTk5OTcyKGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1LdHFhX1N6UCIsYWN0aXZlOiJhY3RpdmUtS3RxYV9TelAifX0sNTEyMTQ5KGUpe2UuZXhwb3J0cz17aGlkZGVuOiJoaWRkZW4tUjNXaUNPZG4ifX0sNDkxNDgoZSl7ZS5leHBvcnRzPXsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkiLGl0ZW06Iml0ZW0tSmtRWFVsdEEiLHdpdGhJY29uOiJ3aXRoSWNvbi1Ka1FYVWx0QSIsc2hvcnRjdXQ6InNob3J0Y3V0LUprUVhVbHRBIixsb2FkaW5nOiJsb2FkaW5nLUprUVhVbHRBIixpY29uOiJpY29uLUprUVhVbHRBIn19LDYxODY3MihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtQb3B1cE1lbnVTZXBhcmF0b3I6KCk9Pmx9KTt2YXIgbyxpPW4oNzc5NDc0KSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oMjQ3MTg5KTtmdW5jdGlvbiBsKGUpe2NvbnN0e3NpemU6dD0ibm9ybWFsIixjbGFzc05hbWU6bixhcmlhSGlkZGVuOm89ITF9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShzLnNlcGFyYXRvciwic21hbGwiPT09dCYmcy5zbWFsbCwibm9ybWFsIj09PXQmJnMubm9ybWFsLCJsYXJnZSI9PT10JiZzLmxhcmdlLG4pLHJvbGU6InNlcGFyYXRvciIsImFyaWEtaGlkZGVuIjpvfSl9IWZ1bmN0aW9uKGUpe2UuU21hbGw9InNtYWxsIixlLkxhcmdlPSJsYXJnZSIsZS5Ob3JtYWw9Im5vcm1hbCJ9KG98fChvPXt9KSl9LDk3MTY1OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VJc01vdW50ZWQ6KCk9Pml9KTt2YXIgbz1uKDc3OTQ3NCk7Y29uc3QgaT0oKT0+e2NvbnN0IGU9KDAsby51c2VSZWYpKCExKTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCgpPT4oZS5jdXJyZW50PSEwLCgpPT57ZS5jdXJyZW50PSExfSkpLFtdKSxlfX0sNjM4ODcyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1N2Z0ljb25MaXN0SXRlbVBhcnQ6KCk9PnJ9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDQ1MDgyKSxhPW4oMjE3Mjc0KTtmdW5jdGlvbiByKGUpe2NvbnN0e2ljb25Tdmc6dCxkaXJNYXRjaGluZzpufT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoaS5XcmFwcGVyLHtkaXJNYXRjaGluZzpufSxvLmNyZWF0ZUVsZW1lbnQoYS5CbG9ja0ljb24se2ljb246dH0pKX19LDQ1MDgyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1dyYXBwZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDM1NDMzMSkscz1uLm4ocik7ZnVuY3Rpb24gbChlKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YSgpKHMoKS53cmFwcGVyLGUuZGlyTWF0Y2hpbmcmJnMoKS5kaXJNYXRjaGluZyksaW5lcnQ6ZS5pbmVydD8idHJ1ZSI6dm9pZCAwfSxlLmNoaWxkcmVuKX19LDg5NjIzNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtDdXN0b21MaXN0SXRlbTooKT0+Y30pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxhPW4ubihpKSxyPW4oMzQ1MTE2KSxzPW4oNjM2OTg2KSxsPW4ubihzKTtjb25zdCBjPSgwLG8uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7aWQ6bixjaGlsZHJlbjppLG9uQ2xpY2s6cyxkaXNhYmxlZDpjLGZvY3VzYWJsZTpkLHJvbGU6dSxhcmlhTGFiZWw6aCxhcmlhRXhwYW5kZWQ6cCxhcmlhQ29udHJvbHM6bSxhcmlhSGFzcG9wdXA6dyxhcmlhTGV2ZWw6ZyxkYXRhUWFJZDp2LC4uLmZ9PWUseT0oMCxyLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKGYpLGI9cz8iYnV0dG9uIjoiZGl2IixDPWR8fHMsRT1jP3ZvaWQgMDpzO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoYix7aWQ6bixjbGFzc05hbWU6YSgpKGwoKS5jdXN0b21MaXN0SXRlbSxFJiZsKCkuY2xpY2thYmxlKSxvbkNsaWNrOkUsImFyaWEtZGlzYWJsZWQiOmMsImFyaWEtbGFiZWwiOmgsImFyaWEtZXhwYW5kZWQiOnAsImFyaWEtY29udHJvbHMiOm0sImFyaWEtaGFzcG9wdXAiOncsImFyaWEtbGV2ZWwiOmcscm9sZTp1LHRhYkluZGV4OkM/MDp2b2lkIDAscmVmOnQsLi4ueSwiZGF0YS1xYS1pZCI6dn0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHtpbmVydDpjPyJ0cnVlIjp2b2lkIDB9LGkpKX0pKX0sCjkzNTUzNShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUaXRsZUxpc3RJdGVtOigpPT5nfSk7dmFyIG8saT1uKDc3OTQ3NCksYT1uKDkxNDQ4Nykscj1uLm4oYSkscz1uKDI3MzMxMCksbD1uKDg1OTA5MSksYz1uKDM0NTExNiksZD1uKDE5NDY0OCksdT1uLm4oZCksaD1uKDU0MzMzOSkscD1uLm4oaCksbT1uKDIxMjY3Miksdz1uLm4obSk7ZnVuY3Rpb24gZyhlKXtjb25zdHtpZDp0LHJvbGU6bixsZWZ0U2xvdDpvLHRpdGxlOmEsb25DbGljazpkLGFyaWFMYWJlbDpoLHJpZ2h0U2xvdDptLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmcsbGlzdEl0ZW1CdXR0b25SZWY6dix2YXJpYW50OmY9InByaW1hcnkiLGFyaWFDb250cm9sczp5LGFyaWFMZXZlbDpiLHRpdGxlSWQ6Qyx3cmFwcGVkOkUsZGF0YVFhSWQ6eCxvbktleURvd246UyxuZXN0ZWRMaXN0c0FyaWFPd25zOkwsbmVzdGVkTGlzdEFyaWFIaWRkZW46XywuLi5rfT1lLFQ9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKShrKSxJPXZvaWQgMCE9PUU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChsLlRpdGxlU2VjdGlvbkxpc3RJdGVtLHtkYXRhUWFJZDp4LGlkOnQscm9sZTpuLG9uQ2xpY2s6ZCxvbktleURvd246UyxyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpnLGFyaWFMYWJlbDpoLGNsYXNzTmFtZTpyKCkodygpLndyYXBwZXIsbyYmdygpLndpdGhMZWZ0U2xvdCx3KClbYCR7Zn1UaXRsZVdyYXBwZXJgXSksbGlzdEl0ZW1CdXR0b25SZWY6dixmb2N1c2FibGU6SSxhcmlhRXhwYW5kZWQ6ST8hRTp2b2lkIDAsYXJpYUNvbnRyb2xzOnksYXJpYUxldmVsOmIsbmVzdGVkTGlzdHNBcmlhT3duczpMLG5lc3RlZExpc3RBcmlhSGlkZGVuOl8sLi4uVH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLmNvbnRlbnR9LG8mJmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOncoKS5sZWZ0fSxvKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp3KCkudGl0bGUsaWQ6Q30sYSkpLEkmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dygpLnNwYWNlfSksaS5jcmVhdGVFbGVtZW50KHMuSWNvbix7Y2xhc3NOYW1lOncoKS5pY29uLGljb246RT91KCk6cCgpfSkpKX0hZnVuY3Rpb24oZSl7ZS5QcmltYXJ5PSJwcmltYXJ5IixlLlNlY29uZGFyeT0ic2Vjb25kYXJ5In0ob3x8KG89e30pKX0sODU5MDkxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1RpdGxlU2VjdGlvbkxpc3RJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big4OTYyMzcpLGE9bigxNDc5MDEpLHI9bigzNDUxMTYpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7aWQ6dCxyb2xlOm4sb25DbGljazpzLHJpZ2h0U2xvdDpsLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZm9jdXNhYmxlOmQsYXJpYUV4cGFuZGVkOnUsYXJpYUNvbnRyb2xzOmgsYXJpYUhhc3BvcHVwOnAsYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsY2hpbGRyZW46ZyxjbGFzc05hbWU6dixsaXN0SXRlbUJ1dHRvblJlZjpmLGRhdGFRYUlkOnksb25LZXlEb3duOmIsbmVzdGVkTGlzdHNBcmlhT3duczpDLG5lc3RlZExpc3RBcmlhSGlkZGVuOkUsLi4ueH09ZSxTPSgwLHIuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoeCksTD0oMCxvLnVzZUlkKSgpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIseyJkYXRhLXFhLWlkIjp5LG9uS2V5RG93bjpifSxvLmNyZWF0ZUVsZW1lbnQoaS5DdXN0b21MaXN0SXRlbSx7aWQ6dCxyb2xlOm4sb25DbGljazpzLGZvY3VzYWJsZTpkfHwhIWwscmVmOmYsYXJpYUV4cGFuZGVkOnU/PyghIWx8fHZvaWQgMCksYXJpYUNvbnRyb2xzOmg/PyhsP0w6dm9pZCAwKSxhcmlhSGFzcG9wdXA6cD8/KGw/Im1lbnUiOnZvaWQgMCksYXJpYUxldmVsOm0sYXJpYUxhYmVsOncsZGF0YVFhSWQ6YCR7YS5VSV9MSUJfREFUQV9RQV9JRF9QUkVGSVh9dGl0bGUtbGlzdC1pdGVtYCwuLi5TfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp2fSxnLGwpKSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOkwscm9sZToibWVudSIsImFyaWEtbGFiZWxsZWRieSI6YywiYXJpYS1vcmllbnRhdGlvbiI6Imhvcml6b250YWwiLCJhcmlhLW93bnMiOkMsImFyaWEtaGlkZGVuIjpFfSkpfX0sNjQ5MTY2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBvLGk9big3Nzk0NzQpLGE9big5MTQ0ODcpLHI9bi5uKGEpLHM9bigyNDQ1MjUpLGw9bi5uKHMpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpuPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOm8sY29sb3I6YT0iYmxhY2sifT1lLHM9cigpKGwoKS5pdGVtLGwoKVthXSxsKClbbl0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cigpKGwoKS5sb2FkZXIsbyYmbCgpLnN0YXRpYyx0KX0saS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnN9KSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6c30pLGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KG98fChvPXt9KSl9LDU4NTQ4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIG89big3Nzk0NzQpLGk9bigxMjkzNjUpLGE9big4NTY3NzApLHI9big5MDM0Mikscz1uKDU3MDE5MyksbD1uKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIG8uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxhLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIiwKZS5zdHlsZS5ib3R0b209dGhpcy5wcm9wcy5ib3R0b218fCIiLGUuc3R5bGUubGVmdD10aGlzLnByb3BzLmxlZnR8fCIiLGUuc3R5bGUucmlnaHQ9dGhpcy5wcm9wcy5yaWdodHx8IiIsZS5zdHlsZS5wb2ludGVyRXZlbnRzPXRoaXMucHJvcHMucG9pbnRlckV2ZW50c3x8IiI7Y29uc3QgdD10aGlzLnByb3BzLmNsYXNzTmFtZTtyZXR1cm4gdCYmKCJzdHJpbmciPT10eXBlb2YgdD9lLmNsYXNzTGlzdC5hZGQodCk6ZS5jbGFzc0xpc3QuYWRkKC4uLnQpKSx0aGlzLnByb3BzLnNob3VsZFRyYXBGb2N1cyYmIWUuaGFzQXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKHMuRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSwidHJ1ZSIpLHRoaXMucHJvcHNbImFyaWEtaGlkZGVuIl0mJmUuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLmNyZWF0ZVBvcnRhbChvLmNyZWF0ZUVsZW1lbnQoZC5Qcm92aWRlcix7dmFsdWU6dGhpc30sdGhpcy5wcm9wcy5jaGlsZHJlbiksZSl9bW92ZVRvVG9wKCl7dGhpcy5fbWFuYWdlcigpLm1vdmVUb1RvcCh0aGlzLl91dWlkKX1fbWFuYWdlcigpe3JldHVybiBudWxsPT09dGhpcy5jb250ZXh0PygwLHIuZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyKSgpOnRoaXMuY29udGV4dH19Yy5jb250ZXh0VHlwZT1sLlNsb3RDb250ZXh0O2NvbnN0IGQ9by5jcmVhdGVDb250ZXh0KG51bGwpfSw2MDc4MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U2xvdDooKT0+aSxTbG90Q29udGV4dDooKT0+YX0pO3ZhciBvPW4oNzc5NDc0KTtjbGFzcyBpIGV4dGVuZHMgby5Db21wb25lbnR7c2hvdWxkQ29tcG9uZW50VXBkYXRlKCl7cmV0dXJuITF9cmVuZGVyKCl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJmaXhlZCIsekluZGV4OjE1MCxsZWZ0OjAsdG9wOjB9LHJlZjp0aGlzLnByb3BzLnJlZmVyZW5jZX0pfX1jb25zdCBhPW8uY3JlYXRlQ29udGV4dChudWxsKX0sOTAzNDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnIsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIG89bigxMzg2MzgpLGk9big1NzAxOTMpO2NsYXNzIGF7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHJ7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgYSx0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbj1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxuKSx0aGlzLl9jb250YWluZXI9bn1yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBuPXRoaXMuX3dpbmRvd3MuZ2V0KGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47dGhpcy5yZWdpc3RlcldpbmRvdyhlKTtjb25zdCBvPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG8uc3R5bGUucG9zaXRpb249dC5wb3NpdGlvbixvLnN0eWxlLnpJbmRleD10aGlzLl9pbmRleC50b1N0cmluZygpLG8uZGF0YXNldC5pZD1lLHZvaWQgMCE9PXQuaW5kZXgpe2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXMubGVuZ3RoO2lmKHQuaW5kZXg+PWUpdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKG8pO2Vsc2UgaWYodC5pbmRleDw9MCl0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpO2Vsc2V7Y29uc3QgZT10aGlzLl9jb250YWluZXIuY2hpbGROb2Rlc1t0LmluZGV4XTt0aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sZSl9fWVsc2UicmV2ZXJzZSI9PT10LmRpcmVjdGlvbj90aGlzLl9jb250YWluZXIuaW5zZXJ0QmVmb3JlKG8sdGhpcy5fY29udGFpbmVyLmZpcnN0Q2hpbGQpOnRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChvKTtyZXR1cm4gdGhpcy5fd2luZG93cy5zZXQoZSxvKSwrK3RoaXMuX2luZGV4LG99dW5yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLnJlbW92ZShlKTtjb25zdCB0PXRoaXMuX3dpbmRvd3MuZ2V0KGUpO3ZvaWQgMCE9PXQmJihudWxsIT09dC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCksdGhpcy5fd2luZG93cy5kZWxldGUoZSkpfWdldFppbmRleChlKXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3JldHVybiBwYXJzZUludCh0LnN0eWxlLnpJbmRleHx8IjAiKX1tb3ZlTGFzdFdpbmRvd1RvVG9wKCl7Y29uc3QgZT10aGlzLl9zdG9yYWdlLmdldEl0ZW1zKCksdD1lW2UubGVuZ3RoLTFdO3QmJnRoaXMubW92ZVRvVG9wKHQpfW1vdmVUb1RvcChlKXtpZih0aGlzLmdldFppbmRleChlKSE9PXRoaXMuX2luZGV4KXtjb25zdCB0PXRoaXMuZW5zdXJlV2luZG93KGUpO3RoaXMuX3dpbmRvd3MuZm9yRWFjaCgoKGUsbik9PntlLmhhc0F0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShpLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsZT09PXQ/InRydWUiOiJmYWxzZSIpfSkpLHQuc3R5bGUuekluZGV4PSgrK3RoaXMuX2luZGV4KS50b1N0cmluZygpfX1yZW1vdmVXaW5kb3coZSl7CnRoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3Qgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxvLmVuc3VyZURlZmluZWQpKHMuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcihlKSxuPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIHMuc2V0KG4sdCksdC5zZXRDb250YWluZXIobiksZS5ib2R5LmFwcGVuZENoaWxkKG4pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sNTY1NzQ1KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbnVsbCE9ZX1uLmQodCx7aXNFeGlzdGVudDooKT0+b30pfSw4NTAxMDgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QWNjZXNzaWJsZU1lbnVJdGVtOigpPT5ofSk7dmFyIG89big3Nzk0NzQpLGk9big5MTQ0ODcpLGE9bi5uKGkpLHI9bigyMzU3MjQpLHM9bigxODIzMDgpLGw9bigzODY5MzEpLGM9bigxNTM3MzQpO2Z1bmN0aW9uIGQoZSl7Y29uc3R7dHJhY2tFdmVudE9iamVjdDp0LHRyYWNrUmlnaHRDbGljazpuLHRyYWNrTW91c2VXaGVlbENsaWNrOmksb25DbGljazphLG9uQ29udGV4dE1lbnU6cixvbk1vdXNlVXA6cyxsaW5rOmQsLi4udX09ZTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGMuUG9wdXBNZW51SXRlbSx7Li4udSxsaW5rOmQsb25DbGljazpmdW5jdGlvbihlLG4pe3QmJigwLGwudHJhY2tFdmVudCkodC5jYXRlZ29yeSx0LmV2ZW50LHQubGFiZWwpLGEmJmEoZSxuKX0sb25Db250ZXh0TWVudTpmdW5jdGlvbihlKXt0JiZuJiYoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxgJHt0LmxhYmVsfV9yaWdodENsaWNrYCksciYmcihlKX0sb25Nb3VzZVVwOmZ1bmN0aW9uKGUpe2lmKDE9PT1lLmJ1dHRvbiYmZCYmdCl7bGV0IGU9dC5sYWJlbDtpJiYoZSs9Il9tb3VzZVdoZWVsQ2xpY2siKSwoMCxsLnRyYWNrRXZlbnQpKHQuY2F0ZWdvcnksdC5ldmVudCxlKX1zJiZzKGUpfX0pfXZhciB1PW4oNTk5OTcyKTtmdW5jdGlvbiBoKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHJlZmVyZW5jZTpuLC4uLml9PWUsW2wsY109KDAscy51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG4/P251bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoZCx7Li4uaSxjbGFzc05hbWU6YSgpKHUuYWNjZXNzaWJsZSxlLmlzQWN0aXZlJiZ1LmFjdGl2ZSx0KSxyZWZlcmVuY2U6bCx0YWJJbmRleDpjLG9uS2V5RG93bjpmdW5jdGlvbihlKXtpZihlLnRhcmdldCE9PWUuY3VycmVudFRhcmdldClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpOzEzIT09dCYmMzIhPT10fHwoZS5wcmV2ZW50RGVmYXVsdCgpLGwuY3VycmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZsLmN1cnJlbnQuY2xpY2soKSl9LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOmUuaXNEaXNhYmxlZHx8ZVsiYXJpYS1kaXNhYmxlZCJdLHRvb2xib3hSb2xlOiJ0b29sYmFyIn0pfX0sMzI1MDAoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7dXNlQ2xpZW50U25hcHNob3Q6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDU1NzA2NSksYT1uKDE1MDY2NSkscj1uKDIwNzk3KSxzPW4oMTc5NzcxKTtmdW5jdGlvbiBsKGUpe2NvbnN0W3Qsbl09KDAsby51c2VTdGF0ZSkoITEpO2xldCBsPW51bGw7Y29uc3QgYz0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2NvbnN0IHQ9ZSgpLG49dC50aGVuKChlPT5uZXcgUHJvbWlzZSgodD0+ZS5jYW52YXMudG9CbG9iKChlPT57bnVsbCE9PWUmJnQoZSl9KSkpKSkpO3RyeXthd2FpdCgwLGkud3JpdGVQcm9taXNlVXNpbmdBcGkpKG4sImltYWdlL3BuZyIpLHMuZW1pdCgib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXtjb25zdHtjYW52YXM6bn09YXdhaXQgdDt3aW5kb3cub3BlbigpPy5kb2N1bWVudC53cml0ZShgPGltZyB3aWR0aD0iMTAwJSIgc3JjPSIke24udG9EYXRhVVJMKCl9Ii8+YCl9fSksW2VdKSxkPSgwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57Y29uc3QgdD1hd2FpdCBlKCksbj1hd2FpdCBmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0cnl7ZS5jYW52YXMudG9CbG9iKChlPT57aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2VuZXJhdGUgYmxvYiIpO3QoVVJMLmNyZWF0ZU9iamVjdFVSTChlKSl9KSl9Y2F0Y2h7dChlLmNhbnZhcy50b0RhdGFVUkwoKSl9fSkpfSh0KTtuJiYoMCxhLmRvd25sb2FkRmlsZSkoYCR7dC5uYW1lfS5wbmdgLG4pfSksW2VdKTtyZXR1cm4gbD0oMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e24oITApO2NvbnN0IHQ9YXdhaXQgZSgpLG89YXdhaXQoMCxyLmxvYWRTeW1waG9ueUNvbW11bmljYXRpb25DaGFubmVsKSgpO28mJmF3YWl0IG8uc2hhcmVTY3JlZW5zaG90KHQpLG4oITEpfSksW2VdKSx7Y29weVNuYXBzaG90VG9DbGlwYm9hcmQ6Yyxkb3dubG9hZFNuYXBzaG90OmQsc2hhcmVTeW1waG9ueTpsLHN5bXBob255TG9hZGluZzp0fX19LDMyNzQ0MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VTZXJ2ZXJTbmFwc2hvdDooKT0+bX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oNTU3MDY1KSxhPW4oOTcxNjU5KSxyPW4oMjc2MDE5KSxzPW4oOTU1MzUzKSxsPW4oNzg3NDIpLGM9bigzMjA1NSksZD1uKDk4Nzc5OCksdT1uKDkxMTMyNyksaD1uKDE3OTc3MSkscD1uKDE2ODQ3MSk7ZnVuY3Rpb24gbShlKXtjb25zdFt0LG5dPSgwLG8udXNlU3RhdGUpKCExKSxbcCxtXT0oMCxvLnVzZVN0YXRlKSghMSksW2csdl09KDAsCm8udXNlU3RhdGUpKCExKSxbZix5XT0oMCxvLnVzZVN0YXRlKSghMSksYj0oMCxhLnVzZUlzTW91bnRlZCkoKTtyZXR1cm57dGFrZVNuYXBzaG90OigwLG8udXNlQ2FsbGJhY2spKChhc3luYyh0PSExKT0+e2NvbnN0IG89ZSgpO3RyeXtpZih0KW0oITApLGF3YWl0IHcobyk7ZWxzZXtuKCEwKTtjb25zdCBlPW8udGhlbigoZT0+bmV3IEJsb2IoW2UuaW1hZ2VVcmxdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pKSk7YXdhaXQoMCxpLndyaXRlUHJvbWlzZVVzaW5nQXBpKShlLCJ0ZXh0L3BsYWluIiksaC5lbWl0KCJvblNlcnZlclNjcmVlbnNob3RDb3BpZWRUb0NsaXBib2FyZCIpfX1jYXRjaChlKXthd2FpdCB3KG8pfWZpbmFsbHl7Yi5jdXJyZW50JiYobSghMSksbighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksdGFrZVNuYXBzaG90RW1iZWRDb2RlOigwLG8udXNlQ2FsbGJhY2spKChhc3luYygpPT57dighMCk7Y29uc3QgdD1lKCk7dHJ5e2NvbnN0IGU9NzIwLG49dC50aGVuKChhc3luYyB0PT57aWYoIXQuc3ltYm9sKXRocm93IG5ldyBFcnJvcigiU3ltYm9sIG5vdCBmb3VuZCBpbiBTZXJ2ZXJTbmFwc2hvdFJlc3VsdCIpO2NvbnN0IG49YXdhaXQoMCxjLnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QodC5zeW1ib2wsbmV3IFNldChbImRlc2NyaXB0aW9uIl0pKSxvPSJlcnJvciIhPT1uLnN0YXR1cz9uLnZhbHVlcy5kZXNjcmlwdGlvbjp0LnN5bWJvbCxpPXQuaW1hZ2VVcmwubWF0Y2goL1wveFwvKFswLTlhLXpBLVpdezh9KS8pPy5bMV0/PyIiLGE9KDAsZC5jcmVhdGVTbmFwc2hvdEltYWdlVXJscykoaSk/LnVybDtyZXR1cm4gbmV3IEJsb2IoW2A8aW1nIHdpZHRoPSIke2V9IiBsb2FkaW5nPSJsYXp5IiBzcmM9IiR7YX0iLz48cD48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20keygwLHUuZ2V0U3ltYm9sUGFnZVBhdGgpKHtzaG9ydE5hbWU6dC5zeW1ib2x9KX0iPiR7b30gY2hhcnQ8L2E+IGJ5IFRyYWRpbmdWaWV3PC9wPmBdLHt0eXBlOiJ0ZXh0L3BsYWluIn0pfSkpO2F3YWl0KDAsaS53cml0ZVByb21pc2VVc2luZ0FwaSkobiwidGV4dC9wbGFpbiIpLGguZW1pdCgib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiKX1jYXRjaChlKXthd2FpdCB3KHQpfWZpbmFsbHl7Yi5jdXJyZW50JiYodighMSksKDAsci5nbG9iYWxDbG9zZU1lbnUpKCkpfX0pLFtlXSksc2hhcmVTbmFwc2hvdDooMCxvLnVzZUNhbGxiYWNrKSgoYXN5bmMgdD0+e3koITApO2NvbnN0IG49KDAsbC5jcmVhdGVTaGFyZVdpbmRvdykoKSxvPWF3YWl0IGUoKTtpZih0KW4ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dCh0LG8uaW1hZ2VVcmwpO2Vsc2V7aWYoIW8uc3ltYm9sKXJldHVybiB2b2lkIHkoITEpO3tjb25zdCBlPSJjbWUiPT09d2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyO24ubG9jYXRpb24uaHJlZj1zLlR3aXR0ZXIuY3JlYXRlVHdpdHRlckhyZWZCeVN5bWJvbChvLnN5bWJvbCxvLmltYWdlVXJsLGUpfX1iLmN1cnJlbnQmJih5KCExKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9KSxbZV0pLGNvcHlMaW5rTG9hZGluZzp0LG5ld1RhYkxvYWRpbmc6cCxlbWJlZENvZGVMb2FkaW5nOmcsdHdlZXRMb2FkaW5nOmZ9fWFzeW5jIGZ1bmN0aW9uIHcoZSl7cmV0dXJuKDAscC5hc3luY1dpbmRvd09wZW4pKGUudGhlbigoZT0+ZS5pbWFnZVVybCkpKX19LDc1NDE4MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtMYWJlbFdpdGhMb2FkZXI6KCk9Pmx9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDkxNDQ4NyksYT1uLm4oaSkscj1uKDY0OTE2Nikscz1uKDUxMjE0OSk7ZnVuY3Rpb24gbChlKXtjb25zdCB0PWEoKShlLmlzTG9hZGluZyYmcy5oaWRkZW4pLG49YSgpKCFlLmlzTG9hZGluZyYmcy5oaWRkZW4pO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6dH0sZS5jaGlsZHJlbiksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOm59LG8uY3JlYXRlRWxlbWVudChyLkxvYWRlcixudWxsKSkpfX0sMzMyMzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudDooKT0+TX0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oMTg1MjcxKSxhPW4oOTE0NDg3KSxyPW4ubihhKSxzPW4oNjM4ODcyKSxsPW4oNjQ5MTY2KSxjPW4oMjM1NzI0KSxkPW4oMzE4OTc0KSx1PW4oOTMwMjMxKSxoPW4oMTUzNzM0KSxwPW4oMzg3MjMxKSxtPW4oODAwOTE0KSx3PW4oMzEzMTEwKSxnPW4oODUwMTA4KSx2PW4oMTk5MTcyKSxmPW4oMzI1MDApLHk9bigzMjc0NDApLGI9big3NTQxODApLEM9big1NjkzOTgpLEU9big0Nzc3MDApLHg9big3MTkxMyksUz1uKDYyODQyOCksTD1uKDkzNzIxKSxfPW4oNTY5MTI1KSxrPW4oOTY1ODcpLFQ9bigxNDcyMjEpLEk9big0OTE0OCk7Y29uc3QgQT0oMCxwLm1lcmdlVGhlbWVzKShoLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLEkpO2Z1bmN0aW9uIE0oZSl7Y29uc3R7c2VydmVyU25hcHNob3Q6dCxjbGllbnRTbmFwc2hvdDphLGhpZGVTaG9ydGN1dHM6cixzZW5kRXZlbnQ6c309ZSx7ZG93bmxvYWRTbmFwc2hvdDpsLGNvcHlTbmFwc2hvdFRvQ2xpcGJvYXJkOmgsc2hhcmVTeW1waG9ueTpwLHN5bXBob255TG9hZGluZzp3fT0oMCxmLnVzZUNsaWVudFNuYXBzaG90KShhKSx7dGFrZVNuYXBzaG90OmcsdGFrZVNuYXBzaG90RW1iZWRDb2RlOmIsc2hhcmVTbmFwc2hvdDpJLG5ld1RhYkxvYWRpbmc6QSxjb3B5TGlua0xvYWRpbmc6TSxlbWJlZENvZGVMb2FkaW5nOlUsdHdlZXRMb2FkaW5nOlJ9PSgwLHkudXNlU2VydmVyU25hcHNob3QpKHQpLFc9aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNjY3OTgxKSksJD1be2lkOiJzYXZlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigzMzY5OTMpKSxpY29uOl8sCmhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuTW9kK2MuTW9kaWZpZXJzLkFsdCs4MyxzaG93OiEwLG9uQ2xpY2s6ZnVuY3Rpb24oKXtsKCkscz8uKCJkb3dubG9hZCIpfX0se2lkOiJjb3B5LWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbigxMjQ3NjYpKSxpY29uOkwsaG90a2V5SGFzaDpyP3ZvaWQgMDpjLk1vZGlmaWVycy5Nb2QrYy5Nb2RpZmllcnMuU2hpZnQrODMsc2hvdzohMCxvbkNsaWNrOmZ1bmN0aW9uKCl7aCgpLHM/LigiY29weUltZyIpfX0se2lkOiJjb3B5LWxpbmstdG8tdGhlLWNoYXJ0LWltYWdlIix0aXRsZTppLnQobnVsbCx7Y29udGV4dDoic25hcHNob3QtdG9vbGJhci10b29sIn0sbig0MjI4NzApKSxpY29uOmssbG9hZGluZzpNLGRvbnRDbG9zZVBvcHVwOiEwLGhvdGtleUhhc2g6cj92b2lkIDA6Yy5Nb2RpZmllcnMuQWx0KzgzLHNob3c6Qm9vbGVhbighKDAsZC5vbldpZGdldCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2coITEpLHM/LigiY29weUxpbmsiKX0pLHtzb3VyY2U6IkNvcHkgbGluayB0byB0aGUgY2hhcnQgaW1hZ2UifSl9LHtpZDoiY29weS1zbmFwc2hvdF9lbWJlZF9jb2RlIix0aXRsZTppLnQobnVsbCx2b2lkIDAsbigxODYxMjUpKSxpY29uOkUsbG9hZGluZzpVLGRvbnRDbG9zZVBvcHVwOiEwLHNob3c6KDAsQy5pc0ZlYXR1cmVFbmFibGVkKSgiY29weV9zbmFwc2hvdF9lbWJlZF9jb2RlIikmJiEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e2IoKX0pLHtzb3VyY2U6IkNvcHkgc25hcHNob3QgZW1iZWQgY29kZSJ9KX0se2lkOiJvcGVuLWltYWdlLWluLW5ldy10YWIiLHRpdGxlOmkudChudWxsLHZvaWQgMCxuKDE0ODg4OSkpLGljb246VCxsb2FkaW5nOkEsZG9udENsb3NlUG9wdXA6ITAsc2hvdzpCb29sZWFuKCEoMCxkLm9uV2lkZ2V0KSgpJiYhKDAsZC5pc1N5bXBob255RW1iZWQpKCkpLG9uQ2xpY2s6KCk9PndpbmRvdy5ydW5PclNpZ25JbigoKCk9PntnKCEwKSxzPy4oIm9wZW5OZXdUYWIiKX0pLHtzb3VyY2U6Ik9wZW4gaW1hZ2UgaW4gbmV3IHRhYiJ9KX0se2lkOiJ0d2VldC1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTgxODUzKSksaWNvbjpTLGxvYWRpbmc6Uixkb250Q2xvc2VQb3B1cDohMCxzaG93OkJvb2xlYW4oISgwLGQub25XaWRnZXQpKCkmJiEoMCxkLmlzU3ltcGhvbnlFbWJlZCkoKSksb25DbGljazooKT0+d2luZG93LnJ1bk9yU2lnbkluKCgoKT0+e0koKSxzPy4oInR3ZWV0SW1nIil9KSx7c291cmNlOiJUd2VldCBjaGFydCBpbWFnZSJ9KX0se2lkOiJzaGFyZS1zeW1waG9ueS1jaGFydC1pbWFnZSIsdGl0bGU6aS50KG51bGwse2NvbnRleHQ6InNuYXBzaG90LXRvb2xiYXItdG9vbCJ9LG4oNTg1MTI4KSksaWNvbjp4LGxvYWRpbmc6dyxkb250Q2xvc2VQb3B1cDohMCxzaG93OigwLGQuaXNTeW1waG9ueUVtYmVkKSgpLG9uQ2xpY2s6KCk9PnA/LigpfV0uZmlsdGVyKChlPT5lLnNob3cpKS5tYXAoKGU9Pm8uY3JlYXRlRWxlbWVudChQLHtrZXk6ZS5pZCxpdGVtOmV9KSkpO3JldHVybigwLHUuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9vLmNyZWF0ZUVsZW1lbnQobS5TZWN0aW9uTGlzdEl0ZW0se3RpdGxlOlcsYXJpYUxhYmVsOld9LCQpOm8uY3JlYXRlRWxlbWVudChvLkZyYWdtZW50LG51bGwsby5jcmVhdGVFbGVtZW50KHYuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LG51bGwsVyksJCl9ZnVuY3Rpb24gUCh7aXRlbTplfSl7Y29uc3R7bG9hZGluZzp0LGlkOm4sdGl0bGU6aSxkb250Q2xvc2VQb3B1cDphLGhvdGtleUhhc2g6ZCxvbkNsaWNrOmgsaWNvbjpwfT1lLG09dm9pZCAwIT09ZDtyZXR1cm4oMCx1LmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/by5jcmVhdGVFbGVtZW50KHcuTWVudUl0ZW0se3JvbGU6InJvdyIsYXJpYUxldmVsOjIsbGVmdFNsb3Q6dD92b2lkIDA6by5jcmVhdGVFbGVtZW50KHMuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpwfSksb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGlzYWJsZWQ6dCx0aXRsZTpvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dD8zOm0/MToyfSx0P28uY3JlYXRlRWxlbWVudChsLkxvYWRlcixudWxsKTppKSxob3RrZXk6dD92b2lkIDA6ZCxhcmlhTGFiZWw6aSxkYXRhUWFJZDpuLCJkYXRhLXJvbGUiOiJtZW51aXRlbSJ9KTpvLmNyZWF0ZUVsZW1lbnQoZy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsY2xhc3NOYW1lOnIoKSh0JiZJLmxvYWRpbmcpLHNob3J0Y3V0Om0/KDAsYy5odW1hblJlYWRhYmxlSGFzaCkoZCk6dm9pZCAwLGljb246cCxpc0Rpc2FibGVkOnQsb25DbGljazpoLGRvbnRDbG9zZVBvcHVwOmEsZGF0YVFhSWQ6bixsYWJlbDp2b2lkIDAhPT10P28uY3JlYXRlRWxlbWVudChiLkxhYmVsV2l0aExvYWRlcix7aXNMb2FkaW5nOnR9LGkpOmksdGhlbWU6QX0pfX0sMzEzMTEwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVJdGVtOigpPT5zfSk7dmFyIG89big3Nzk0NzQpLGk9big2Mjg4MjUpLGE9bigxODIzMDgpLHI9bigyNzYwMTkpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7bGlzdEl0ZW1CdXR0b25SZWY6dCxyb2xlOm49Im1lbnVpdGVtIixvbkNsaWNrOnMsZG9udENsb3NlUG9wdXA6bCwuLi5jfT1lLFtkLHVdPSgwLGEudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KSh0Pz9udWxsKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KGkuTGlzdEl0ZW0sey4uLmMscm9sZTpuLGxpc3RJdGVtQnV0dG9uUmVmOmQsdGFiSW5kZXg6dSxvbkNsaWNrOmZ1bmN0aW9uKGUpe3M/LihlKSxsfHwoZS5jdXJyZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwb3B1cC1tZW51LWNsb3NlLWV2ZW50Iix7YnViYmxlczohMCwKZGV0YWlsOntjbGlja1R5cGU6ZS5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQ/ImtleWJvYXJkIjoibW91c2UifX0pKSwoMCxyLmdsb2JhbENsb3NlTWVudSkoKSl9fSl9fSw1Njk2NTIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7UmVnaXN0cnlQcm92aWRlcjooKT0+bCxyZWdpc3RyeUNvbnRleHRUeXBlOigpPT5kLHVzZVJlZ2lzdHJ5OigpPT5jLHZhbGlkYXRlUmVnaXN0cnk6KCk9PnN9KTt2YXIgbz1uKDc3OTQ3NCksaT1uKDIyMTg5NiksYT1uLm4oaSk7Y29uc3Qgcj1vLmNyZWF0ZUNvbnRleHQoe30pO2Z1bmN0aW9uIHMoZSx0KXthKCkuY2hlY2tQcm9wVHlwZXModCxlLCJjb250ZXh0IiwiUmVnaXN0cnlDb250ZXh0Iil9ZnVuY3Rpb24gbChlKXtjb25zdHt2YWxpZGF0aW9uOnQsdmFsdWU6bn09ZTtyZXR1cm4gcyhuLHQpLG8uY3JlYXRlRWxlbWVudChyLlByb3ZpZGVyLHt2YWx1ZTpufSxlLmNoaWxkcmVuKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShyKTtyZXR1cm4gcyh0LGUpLHR9ZnVuY3Rpb24gZCgpe3JldHVybiByfX0sODAwOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25MaXN0SXRlbTooKT0+cn0pO3ZhciBvPW4oNzc5NDc0KSxpPW4oOTM1NTM1KSxhPW4oMzQ1MTE2KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOnMsYXJpYUxhYmVsOmwscmlnaHRTbG90OmMscmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6ZCxvbkNsaWNrOnUsb25LZXlEb3duOmgsaXNXcmFwcGVkOnAsZ3JvdXBSb2xlOm0sYXJpYUxldmVsOncsLi4uZ309ZSx2PSgwLGEuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZyksZj0oMCxvLnVzZUlkKSgpLHk9KDAsby51c2VJZCkoKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxvLmNyZWF0ZUVsZW1lbnQoaS5UaXRsZUxpc3RJdGVtLHtpZDp0LHRpdGxlOm4scm9sZTpzLHJpZ2h0U2xvdDpjLHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmQsYXJpYUxhYmVsOmwsdmFyaWFudDoic2Vjb25kYXJ5IixhcmlhQ29udHJvbHM6dm9pZCAwIT09cD95OnZvaWQgMCxhcmlhTGV2ZWw6dyx0aXRsZUlkOmYsd3JhcHBlZDpwLG9uQ2xpY2s6dSxvbktleURvd246aCwuLi52fSksby5jcmVhdGVFbGVtZW50KCJkaXYiLHsiYXJpYS1sYWJlbGxlZGJ5IjpmLGlkOnksImFyaWEtaGlkZGVuIjp2b2lkIDAhPT1wP3A6dm9pZCAwLHJvbGU6bX0sIXAmJnIpKX19LDQ5MjY3NyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL1wrL2csIiAiKSkucmVwbGFjZSgvPFwvP1tePl0rKD58JCkvZywiIil9ZnVuY3Rpb24gaShlKXtjb25zdCB0PS8oW14mPV0rKT0/KFteJl0qKS9nLG49e307aWYoIWUpcmV0dXJuIG47bGV0IGk9dC5leGVjKGUpO2Zvcig7aTspbltvKGlbMV0pXT1vKGlbMl0pLGk9dC5leGVjKGUpO3JldHVybiBufWZ1bmN0aW9uIGEoKXtyZXR1cm4gaSh3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gcigpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoIiMiKVswXTt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoIiIsZG9jdW1lbnQudGl0bGUsZSl9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSYmbnVsbCE9ZVtuXSl7Y29uc3Qgbz1lW25dLGk9Im9iamVjdCI9PXR5cGVvZiBvP0pTT04uc3RyaW5naWZ5KG8pOlN0cmluZyhvKTt0LnB1c2goe2tleTpuLHBhaXI6ZW5jb2RlVVJJQ29tcG9uZW50KG4pKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSl9KX1yZXR1cm4gdC5zb3J0KCgoZSx0KT0+ZS5rZXk+dC5rZXk/MTplLmtleTx0LmtleT8tMTowKSkubWFwKChlPT5lLnBhaXIpKS5qb2luKCImIil9bi5kKHQse2NyZWF0ZVVybFBhcmFtczooKT0+cyxnZXRVcmxQYXJhbXM6KCk9PmEscmVtb3ZlSGFzaEZyb21Vcmw6KCk9PnJ9KX0sNzg3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGU9ImFib3V0OmJsYW5rIix0PSJzbmFwc2hvdF90d2VldCIpe2NvbnN0IG49TWF0aC5yb3VuZChzY3JlZW4ud2lkdGgvMi0yNzUpLG89TWF0aC5yb3VuZChzY3JlZW4uaGVpZ2h0LzItMjEwKTtyZXR1cm4gd2luZG93Lm9wZW4oZSx0LGBzY3JvbGxiYXJzPXllcyxyZXNpemFibGU9eWVzLHRvb2xiYXI9bm8sbG9jYXRpb249eWVzLFxuXHRcdFx0d2lkdGg9NTUwLGhlaWdodD00MjAsXG5cdFx0XHRsZWZ0PSR7bn0sdG9wPSR7b31gKX1uLmQodCx7Y3JlYXRlU2hhcmVXaW5kb3c6KCk9Pm99KX0sOTU1MzUzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1R3aXR0ZXI6KCk9Pm99KTt2YXIgbyxpPW4oNzg3NDIpOyFmdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxuKXtyZXR1cm4gbj90KyIgZnJvbSBjbWVncm91cC5jb20gdmlhIEB0cmFkaW5ndmlldyAkIitlOmBDaGVjayBvdXQgbXkgIyR7ZX0gYW5hbHlzaXMgb24gQFRyYWRpbmdWaWV3OiAke3R9YH1mdW5jdGlvbiBuKGUsbixvKXtyZXR1cm4iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/JnRleHQ9IitlbmNvZGVVUklDb21wb25lbnQodChlLG4sbykpfWUuZ2V0U3RhdHVzPXQsZS5zaGFyZVNuYXBzaG90SW5zdGFudGx5PWZ1bmN0aW9uKGUsdCxvKXsoMCxpLmNyZWF0ZVNoYXJlV2luZG93KShuKGUsdCxvKSl9LGUuY3JlYXRlVHdpdHRlckhyZWZXaXRoQ3VzdG9tVGV4dD1mdW5jdGlvbihlLHQpe2NvbnN0IG49ZS5yZXBsYWNlKCJ7dXJsfSIsdCk7cmV0dXJuYGh0dHBzOi8vdHdpdHRlci5jb20vaW50ZW50L3R3ZWV0P3RleHQ9JHtlbmNvZGVVUklDb21wb25lbnQobil9YH0sZS5jcmVhdGVUd2l0dGVySHJlZkJ5U3ltYm9sPW59KG98fChvPXt9KSl9LDE2ODQ3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHthc3luY1dpbmRvd09wZW46KCk9PnN9KTt2YXIgbz1uKDExNzMxMyksaT1uKDMxODk3NCksYT1uKDE4NTI3MSkscj1uKDczODQ1OCk7ZnVuY3Rpb24gcyhlLHQscyl7cmV0dXJuIHdpbmRvdy5UVkR8fCgwLApvLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fCJfc2VsZiI9PT10fHwoMCxpLmlzU3ltcGhvbnlFbWJlZCkoKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIGUudGhlbigoZT0+e3ZvaWQgMCE9PWUmJm9wZW4oZSx0LG4pfSksKCgpPT57fSkpfShlLHQscyk6YXN5bmMgZnVuY3Rpb24oZSx0LG8pe2NvbnN0IGk9VVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYDwhZG9jdHlwZSBodG1sPjxodG1sIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiR7Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmJhY2tncm91bmRDb2xvcn0iPjxoZWFkPjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij48dGl0bGU+JHthLnQobnVsbCx2b2lkIDAsbig0MzY1MDQpKX08L3RpdGxlPjwvaGVhZD48Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjoke2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuYmFja2dyb3VuZENvbG9yfSI+PC9ib2R5PjwvaHRtbD5gXSx7dHlwZToidGV4dC9odG1sIn0pKTt0cnl7ci5pc0lPUyYmYXdhaXQgbmV3IFByb21pc2UoKGU9PnNldFRpbWVvdXQoZSkpKTtjb25zdCBuPW9wZW4oaSx0LG8pO2lmKCFuKXRocm93IG5ldyBFcnJvcigiY291bmQgbm90IG9wZW4gYSBuZXcgdGFiIik7Y29uc3QgYT1hd2FpdCBlLmNhdGNoKCgoKT0+e30pKTt2b2lkIDAhPT1hP24ubG9jYXRpb24ucmVwbGFjZShhKTpuLmNsb3NlKCl9ZmluYWxseXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfX0oZSx0LHMpfX0sOTg3Nzk4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4uZCh0LHtjcmVhdGVQdWJsaXNoZWRDaGFydEltYWdlVXJsOigpPT51LGNyZWF0ZVB1Ymxpc2hlZENoYXJ0VXJsOigpPT5jLGNyZWF0ZVNuYXBzaG90SW1hZ2VVcmxzOigpPT5oLGlzU25hcHNob3RVcmw6KCk9PnAscGFyc2VQdWJsaXNoZWRDaGFydFVybDooKT0+ZH0pO3ZhciBvPW4oNDkyMTg2KSxpPW4oMTYwMjk2KTtjb25zdCBhPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0T2xkKSxyPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZENoYXJ0KSxzPW5ldyBSZWdFeHAoby51cmxzUmVnRXhwLnB1Ymxpc2hlZFNjcmlwdCksbD1uZXcgUmVnRXhwKG8udXJsc1JlZ0V4cC5pbWFnZVVybCk7ZnVuY3Rpb24gYyhlLHQsbil7aWYoIWV8fCEvWzAtOWEtekEtWl17OH0vLnRlc3QoZSkpcmV0dXJuIiI7aWYoZSYmdCl7cmV0dXJuYC9jaGFydC8ke3R9LyR7ZX0ke24/YC0ke259YDoiIn0vYH1yZXR1cm5gL3YvJHtlfS9gfWZ1bmN0aW9uIGQoZSl7aWYoYS50ZXN0KGUpKXtyZXR1cm57aW1hZ2VfdXJsOihlLm1hdGNoKGEpfHxbXSlbMV19fWlmKHIudGVzdChlKSl7Y29uc3QgdD1lLm1hdGNoKHIpfHxbXTtyZXR1cm57aW1hZ2VfdXJsOnRbMl0sc3ltYm9sOnRbMV0sdGl0bGU6dFszXX19aWYocy50ZXN0KGUpKXtjb25zdCB0PWUubWF0Y2gocyl8fFtdO3JldHVybntpbWFnZV91cmw6dFsxXSx0aXRsZTp0WzJdfX1yZXR1cm4gbC50ZXN0KGUpP3tpbWFnZV91cmw6ZX06e319ZnVuY3Rpb24gdShlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4iIjtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCk7cmV0dXJuYCR7d2luZG93LkFXU19TM19DRE59LyR7dH0vJHtlfS5wbmdgfXJldHVybmAvaS8ke2V9L2B9ZnVuY3Rpb24gaChlKXtpZighZXx8IS9bMC05YS16QS1aXXs4fS8udGVzdChlKSlyZXR1cm4gbnVsbDtjb25zdCB0PSgwLGkuZW52aXJvbm1lbnQpKCk7aWYoImJhdHRsZSI9PT10fHwic3RhZ2luZyI9PT10KXtjb25zdCB0PWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCksbj1gJHt3aW5kb3cuQVdTX1MzX0NETn0vc25hcHNob3RzLyR7dH1gO3JldHVybntwcmV2aWV3OmAke259LyR7ZX1fdGh1bWIucG5nYCx1cmw6YCR7bn0vJHtlfS5wbmdgfX17Y29uc3QgdD1gJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0fWA7cmV0dXJue3ByZXZpZXc6YCR7dH0veC8ke2V9L3MvYCx1cmw6YCR7dH0veC8ke2V9L2B9fX1mdW5jdGlvbiBwKGUpe3RyeXtjb25zdCB0PW5ldyBVUkwoZSk7cmV0dXJuL15cL3hcLyhbMC05YS16QS1aXXs4fSlcLz8oPzokfCg/PVtcczssLl0pKVwvPyQvLnRlc3QodC5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sNzU0MjQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbnZlcnRJbWFnZU5hbWVUb1VybDooKT0+aX0pO3ZhciBvPW4oMTYwMjk2KTtmdW5jdGlvbiBpKGUpe3JldHVybigwLG8uaXNQcm9kKSgpPyJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20veC8iK2UrIi8iOndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK3dpbmRvdy5sb2NhdGlvbi5ob3N0KyIveC8iK2UrIi8ifX0sNDkyMTg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VybHNSZWdFeHA6KCk9Pm99KTtjb25zdCBvPXthbWF6b25hd3NMaW5rczoiKD86aHR0cHM6Ly98aHR0cDovLykoczNcXC4oYW1hem9uYXdzfHRyYWRpbmd2aWV3KVxcLmNvbShcXC90cmFkaW5ndmlldyhfc3RhZ2luZyk/KT9cXC9zbmFwc2hvdHMpXFwvKD86XFxTKj8pXFwuKHBuZ3xibXB8anBnfGpwZWcpIixpbWFnZVVybDoiXlswLTlhLXpBLVpdezh9JCIscHVibGlzaGVkQ2hhcnQ6Ii9jaGFydC8oLis/KS8oWzAtOWEtekEtWl17OH0pKD86LShbXi9dKykpPy8/IixwdWJsaXNoZWRDaGFydE9sZDoiL3YvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRJbWFnZToiLyg/Oml8eCkvKFswLTlhLXpBLVpdezh9KS8/IixwdWJsaXNoZWRTY3JpcHQ6Ii9zY3JpcHQvKFswLTlhLXpBLVpdezh9KSg/Oi0oW14vXSspKT8vPyIsZXh0ZXJuYWxMaW5rczoiKChodHRwOi8vfGh0dHBzOi8vKXwod3d3XFwuKSlbXFx3LlxcLV0rIn19LDI0MTkzNyhlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPXR8fHdpbmRvdy5sb2NhbGV8fCJlbiI7bGV0IG89ZVtuXT9lW25dOmUuZW4KO3JldHVybiBvPSJ0cmFkaW5ndmlldy5jb20iPT09bz8id3d3LnRyYWRpbmd2aWV3LmNvbSI6byxvP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrbzoiIn1uLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+b30pfSw5NjM5MDAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgbzshZnVuY3Rpb24oZSl7ZS5FbXB0eT0iIixlLlRlY2huaWNhbHNQYXRoPSJ0ZWNobmljYWxzLyIsZS5GaW5hbmNpYWxzT3ZlcnZpZXdQYXRoPSJmaW5hbmNpYWxzLW92ZXJ2aWV3LyIsZS5UaW1lbGluZVBhdGg9Imhpc3RvcnktdGltZWxpbmUvIixlLk5ld3NQYXRoPSJuZXdzLyIsZS5PcHRpb25zUGF0aD0ib3B0aW9ucy8iLGUuUHJvZmlsZVBhdGg9InByb2ZpbGUvIixlLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0ob3x8KG89e30pKX0sMjA3OTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bG9hZFN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWw6KCk9Pml9KTt2YXIgbz1uKDMxODk3NCk7YXN5bmMgZnVuY3Rpb24gaSgpe2lmKCEoMCxvLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4gbnVsbDtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW24uZSgxMDg0MSksbi5lKDc2MDgpLG4uZSg0NjIxNyksbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDkwNDE1KV0pLnRoZW4obi5iaW5kKG4sNjk0ODc2KSkpLlN5bXBob255Q29tbXVuaWNhdGlvbkNoYW5uZWwuZ2V0SW5zdGFuY2UoKX19LDE1MDY2NShlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG8oZSx0KXtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtuLnN0eWxlLmRpc3BsYXk9Im5vbmUiLG4uaHJlZj10LG4uZG93bmxvYWQ9ZSxuLmNsaWNrKCl9bi5kKHQse2Rvd25sb2FkRmlsZTooKT0+b30pfSw1NjkxMjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSAxNnY0LjVhMSAxIDAgMDAxIDFoMTRhMSAxIDAgMDAxLTFWMTZNMTQuNSA1VjE3bS00LTMuNWw0IDRsNC00Ii8+PC9zdmc+J30sMTk0NjQ4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDcuMzguNjYtLjc2TDkgOS44NGwzLjY3LTMuMjIuNjYuNzZMOSAxMS4xNiA0LjY3IDcuMzhaIi8+PC9zdmc+J30sNTQzMzM5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im00LjY3IDEwLjYyLjY2Ljc2TDkgOC4xNmwzLjY3IDMuMjIuNjYtLjc2TDkgNi44NGwtNC4zMyAzLjc4WiIvPjwvc3ZnPid9LDE0NzIyMShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDZBMi41IDIuNSAwIDAgMCA2IDguNXYxMUEyLjUgMi41IDAgMCAwIDguNSAyMmgxMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTNoLTF2M2MwIC44My0uNjcgMS41LTEuNSAxLjVoLTExQTEuNSAxLjUgMCAwIDEgNyAxOS41di0xMUM3IDcuNjcgNy42NyA3IDguNSA3aDNWNmgtM3ptNyAxaDQuOGwtNy40OSA3LjQ4LjcxLjdMMjEgNy43MnY0Ljc5aDFWNmgtNi41djF6Ii8+PC9zdmc+J30sNDc3NzAwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSIjRkZCNzFCIiBkPSJNMjcgMTguMTJhMS4wNSAxLjA1IDAgMSAxLTIuMSAwIDEuMDUgMS4wNSAwIDAgMSAyLjEgMFoiLz48cGF0aCBmaWxsPSIjNzUzQ0JFIiBkPSJNMTkuNjQgOGMzLjA2IDAgNS42MiAzLjQzIDYuMzUgOC4wN2EuMTYuMTYgMCAwIDEtLjMuMDhjLS43My0xLjc3LTEuOTgtMi45NC0zLjQtMi45NC0yLjAyIDAtMy44IDIuNDgtNCA1Ljg5LS4yNi41Ni0yLjM2IDEtNC4yOSAxLjA3di04LjE1QzE1LjIgOS41NyAxNy41OCA4IDE5LjY0IDhaIi8+PHBhdGggZmlsbD0iI0ZGQjcxQiIgZD0iTTEgMTguMTJhMS4wNSAxLjA1IDAgMSAwIDIuMSAwIDEuMDUgMS4wNSAwIDAgMC0yLjEgMFoiLz48cGF0aCBmaWxsPSIjRTgxRDc1IiBkPSJNOC4zNiA4QzUuMyA4IDIuNzQgMTEuNDMgMiAxNi4wN2MwIC4wOS4wNS4xNy4xNC4xOC4wNy4wMi4xNC0uMDIuMTctLjEuNzItMS43NyAxLjk3LTIuOTQgMy4zOC0yLjk0IDIuMDMgMCAzLjggMi40OCA0IDUuODkuMjcuNTYgMi4zNyAxIDQuMyAxLjA3di04LjE1QzEyLjggOS41NyAxMC40MiA4IDguMzYgOFoiLz48L3N2Zz4nfSw5NjU4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOSAxNWwyLjUtMi41YzEtMSAxLjUtMy41LS41LTUuNXMtNC41LTEuNS01LjUtLjVMMTMgOU0xMCAxMmwtMi41IDIuNWMtMSAxLTEuNSAzLjUuNSA1LjVzNC41IDEuNSA1LjUuNUwxNiAxOE0xNyAxMWwtNSA1Ii8+PC9zdmc+J30sNzE5MTMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwOEVGRiIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMS4wNiAxMC43NlY3LjI1YzAtLjcyLS40LTEuNC0xLjAyLTEuNzdBMTEuOSAxMS45IDAgMCAwIDE0IDRjLTMuMDcgMC01LjEuOTMtNi4wNCAxLjQ4YTIuMDYgMi4wNiAwIDAgMC0xLjAyIDEuNzd2NS4yOGwxMS4xOCAzLjIzdjIuMzZjMCAuMzItLjIuNTQtLjU0LjdMMTQgMjAuNjNsLTMuNi0xLjhjLS4zMi0uMTYtLjUyLS4zOC0uNTItLjd2LTEuNzdsLTIuOTQtLjg4djIuNjVjMCAxLjQ1LjgzIDIuNjkgMi4xNiAzLjMzTDE0IDI0bDQuODgtMi41NGEzLjY5IDMuNjkgMCAwIDAgMi4xOC0zLjM0VjEzLjdMOS44OCAxMC40N1Y3Ljc4Yy44LS4zOCAyLjE2LS44NCA0LjEyLS44NHMzLjMyLjQ2IDQuMTIuODR2Mi4xbDIuOTQuODhaIi8+PC9zdmc+J30sNjI4NDI4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xOS43NSA1aDMuMDdsLTYuNyA3LjYyTDI0IDIzaC02LjE3bC00Ljg0LTYuM0w3LjQ2IDIzSDQuNGw3LjE3LTguMTZMNCA1aDYuMzNsNC4zNyA1Ljc1TDE5Ljc1IDVabS0xLjI0IDE2aDEuN0w5LjU0IDdINy43bDEwLjggMTRaIi8+PC9zdmc+J319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.834Z","timestamp":1785136429834,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/47201.4280aa0c3cf12cac9d6d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-3a0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fc56c30cdfb8ed7e7dab09df15e0820c\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s3-symbol-logo.tradingview.com/country/CH.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.311Z","timestamp":1785136430311,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/CH.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/widget?type=converter\u0026theme=light","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.310Z","timestamp":1785136427310,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=converter\u0026theme=light HTTP/1.1\r\nHost: coinlib.io\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\nReferer: https://heavenwealth.org/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 329317\r\ncache-control: public, max-age=3600, stale-while-revalidate=86400\r\ncontent-disposition: inline\r\npriority: u=4,i=?0\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors *\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-matched-path: /widget\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wqlvt-1785136427369-fcf7718d4926\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=8,cfOrigin;dur=58, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aXddE3PI3Kv3baIo7NKgf1LJubsZMnt5Yofl39yjcZank6vvL%2FOvobGParyFvls7mk9N%2B55hgEYg%2Bb9LYif70i33CrgjEEhGQuuee%2BX02AnR9nojcmyUIfpSekhn\"}]}\r\ncf-ray: a219d7eece948deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]},{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":264025,"size_decoded":33889,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (62918)","md5":"0b66e1b457bb677d8f58fbbe7d1dc0d3","sha1":"21d7b46ede1a80096ad8c0b24ac09e2b9d13baf6","sha256":"2d3fd1241a3c0c323de2b5fea043ea12d3cdf4aa2b288e3911976bb0ec53482c","sha512":"23db906319bb67d11230275571b08ff1a73b3c64c7aa9040d8797999624a297c817a1fad43c8a195e1eb6292fd7799ad2ba1fa36539482afc36f680433297406","ssdeep":"6144:cuwdzaVM7XPgFm+eQQ6L/c7kXl528IyIn:lMQ41k9Sn","tlshash":"7744b464f228ea7ebd3778ac92bce84c320571a1d9f847dde911b2119fc3bf25929114","first_seen":"2026-07-23T13:38:20.379492Z","last_seen":"2026-07-29T06:14:00.404739Z","times_seen":959,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PCEtLVMxSjJHRV9qQzlkRTl5aGE5aEFfdC0tPjxodG1sIGxhbmc9ImVuIj48aGVhZD48bWV0YSBjaGFyU2V0PSJ1dGYtOCIvPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIi8+PGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49IiIgdHlwZT0iZm9udC93b2ZmMiIvPjxzdHlsZSBkYXRhLXByZWNlZGVuY2U9Im5leHQiIGRhdGEtaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3MgL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3MiPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzJjNTVhMGU2MDEyMDU3N2Etcy4yYTQ4NTM0YS53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzQ2MC01MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzljNzJhYTBmNDBlNGVlZjgtcy4xOGE0OGNiYy53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMUY/P31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS81NDc2ZjY4ZDYwNDYwOTMwLXMuYzk5NWUzNTIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSszNzAtMzc3LFUrMzdBLTM3RixVKzM4NC0zOEEsVSszOEMsVSszOEUtM0ExLFUrM0EzLTNGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS8yYmJlOGQyNjcxNjEzZjFmLXMuNzZkY2IwYjIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzEwMC0yQkEsVSsyQkQtMkM1LFUrMkM3LTJDQyxVKzJDRS0yRDcsVSsyREQtMkZGLFUrMzA0LFUrMzA4LFUrMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvODNhZmUyNzhiNmE2YmIzYy1zLnAuM2E2YmEwMzYud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSs/PyxVKzEzMSxVKzE1Mi0xNTMsVSsyQkItMkJDLFUrMkM2LFUrMkRBLFUrMkRDLFUrMzA0LFUrMzA4LFUrMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkR9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlciBGYWxsYmFjaztzcmM6bG9jYWwoQXJpYWwpO2FzY2VudC1vdmVycmlkZTo5MC40NCU7ZGVzY2VudC1vdmVycmlkZToyMi41MiU7bGluZS1nYXAtb3ZlcnJpZGU6MC4wJTtzaXplLWFkanVzdDoxMDcuMTIlfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fY2xhc3NOYW1le2ZvbnQtZmFtaWx5OkludGVyLEludGVyIEZhbGxiYWNrO2ZvbnQtc3R5bGU6bm9ybWFsfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGV7LS1mb250LWludGVyOiJJbnRlciIsIkludGVyIEZhbGxiYWNrIn0KQGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LXNwYWNlLXktcmV2ZXJzZTowOy0tdHctc3BhY2UteC1yZXZlcnNlOjA7LS10dy1kaXZpZGUteS1yZXZlcnNlOjA7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbTojMDAwMDstLXR3LWdyYWRpZW50LXZpYTojMDAwMDstLXR3LWdyYWRpZW50LXRvOiMwMDAwOy0tdHctZ3JhZGllbnQtc3RvcHM6aW5pdGlhbDstLXR3LWdyYWRpZW50LXZpYS1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjowJTstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCU7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjoxMDAlOy0tdHctbGVhZGluZzppbml0aWFsOy0tdHctZm9udC13ZWlnaHQ6aW5pdGlhbDstLXR3LXRyYWNraW5nOmluaXRpYWw7LS10dy1vcmRpbmFsOmluaXRpYWw7LS10dy1zbGFzaGVkLXplcm86aW5pdGlhbDstLXR3LW51bWVyaWMtZmlndXJlOmluaXRpYWw7LS10dy1udW1lcmljLXNwYWNpbmc6aW5pdGlhbDstLXR3LW51bWVyaWMtZnJhY3Rpb246aW5pdGlhbDstLXR3LXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctaW5zZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtc2hhZG93LWFscGhhOjEwMCU7LS10dy1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1yaW5nLWluc2V0OmluaXRpYWw7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LW91dGxpbmUtc3R5bGU6c29saWQ7LS10dy1ibHVyOmluaXRpYWw7LS10dy1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1jb250cmFzdDppbml0aWFsOy0tdHctZ3JheXNjYWxlOmluaXRpYWw7LS10dy1odWUtcm90YXRlOmluaXRpYWw7LS10dy1pbnZlcnQ6aW5pdGlhbDstLXR3LW9wYWNpdHk6aW5pdGlhbDstLXR3LXNhdHVyYXRlOmluaXRpYWw7LS10dy1zZXBpYTppbml0aWFsOy0tdHctZHJvcC1zaGFkb3c6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1hbHBoYToxMDAlOy0tdHctZHJvcC1zaGFkb3ctc2l6ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtYmx1cjppbml0aWFsOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczppbml0aWFsOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaW52ZXJ0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1vcGFjaXR5OmluaXRpYWw7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2VwaWE6aW5pdGlhbDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWw7LS10dy1jb250ZW50OiIiOy0tdHctYW5pbWF0aW9uLWRlbGF5OjBzOy0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LS10dy1hbmltYXRpb24tZHVyYXRpb246aW5pdGlhbDstLXR3LWFuaW1hdGlvbi1maWxsLW1vZGU6bm9uZTstLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTstLXR3LWVudGVyLWJsdXI6MDstLXR3LWVudGVyLW9wYWNpdHk6MTstLXR3LWVudGVyLXJvdGF0ZTowOy0tdHctZW50ZXItc2NhbGU6MTstLXR3LWVudGVyLXRyYW5zbGF0ZS14OjA7LS10dy1lbnRlci10cmFuc2xhdGUteTowOy0tdHctZXhpdC1ibHVyOjA7LS10dy1leGl0LW9wYWNpdHk6MTstLXR3LWV4aXQtcm90YXRlOjA7LS10dy1leGl0LXNjYWxlOjE7LS10dy1leGl0LXRyYW5zbGF0ZS14OjA7LS10dy1leGl0LXRyYW5zbGF0ZS15OjB9fX1AbGF5ZXIgdGhlbWV7OnJvb3QsOmhvc3R7LS1jb2xvci1yZWQtNTAwOiNmYjJjMzY7LS1jb2xvci1vcmFuZ2UtNTAwOiNmZTZlMDA7LS1jb2xvci1ncmVlbi00MDA6IzA1ZGY3MjstLWNvbG9yLWdyZWVuLTYwMDojMDBhNTQ0Oy0tY29sb3ItYmxhY2s6IzAwMDstLWNvbG9yLXdoaXRlOiNmZmY7LS1zcGFjaW5nOi4yNXJlbTstLWNvbnRhaW5lci14czoyMHJlbTstLWNvbnRhaW5lci1zbToyNHJlbTstLWNvbnRhaW5lci1tZDoyOHJlbTstLWNvbnRhaW5lci1sZzozMnJlbTstLWNvbnRhaW5lci14bDozNnJlbTstLWNvbnRhaW5lci0yeGw6NDJyZW07LS1jb250YWluZXItM3hsOjQ4cmVtOy0tY29udGFpbmVyLTR4bDo1NnJlbTstLWNvbnRhaW5lci03eGw6ODByZW07LS10ZXh0LXhzOi43NXJlbTstLXRleHQteHMtLWxpbmUtaGVpZ2h0OmNhbGMoMS8uNzUpOy0tdGV4dC1zbTouODc1cmVtOy0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6Y2FsYygxLjI1Ly44NzUpOy0tdGV4dC1iYXNlOjFyZW07LS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OmNhbGMoMS41LzEpOy0tdGV4dC1sZzoxLjEyNXJlbTstLXRleHQtbGctLWxpbmUtaGVpZ2h0OmNhbGMoMS43NS8xLjEyNSk7LS10ZXh0LXhsOjEuMjVyZW07LS10ZXh0LXhsLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4yNSk7LS10ZXh0LTJ4bDoxLjVyZW07LS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLzEuNSk7LS10ZXh0LTN4bDoxLjg3NXJlbTstLXRleHQtM3hsLS1saW5lLWhlaWdodDpjYWxjKDIuMjUvMS44NzUpOy0tdGV4dC00eGw6Mi4yNXJlbTstLXRleHQtNHhsLS1saW5lLWhlaWdodDpjYWxjKDIuNS8yLjI1KTstLXRleHQtNnhsOjMuNzVyZW07LS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQ6MTstLWZvbnQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1mb250LXdlaWdodC1tZWRpdW06NTAwOy0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6NjAwOy0tZm9udC13ZWlnaHQtYm9sZDo3MDA7LS10cmFja2luZy10aWdodDotLjAyNWVtOy0tdHJhY2tpbmctd2lkZTouMDI1ZW07LS10cmFja2luZy13aWRlc3Q6LjFlbTstLWxlYWRpbmctdGlnaHQ6MS4yNTstLWxlYWRpbmctc251ZzoxLjM3NTstLWxlYWRpbmctcmVsYXhlZDoxLjYyNTstLXJhZGl1cy1tZDpjYWxjKHZhcigtLXJhZGl1cykqLjgpOy0tZWFzZS1pbi1vdXQ6Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LS1hbmltYXRlLXNwaW46c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LS1hbmltYXRlLXB1bHNlOnB1bHNlIDJzIGN1YmljLWJlemllciguNCwwLC42LDEpaW5maW5pdGU7LS1ibHVyLXhzOjRweDstLWJsdXItc206OHB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXs6cm9vdCw6aG9zdHstLWNvbG9yLXJlZC01MDA6bGFiKDU1LjQ4MTQlIDc1LjA3MzIgNDguODUyOCk7LS1jb2xvci1vcmFuZ2UtNTAwOmxhYig2NC4yNzIlIDU3LjE3ODggOTAuMzU4Myk7LS1jb2xvci1ncmVlbi00MDA6bGFiKDc4LjUwMyUgLTY0LjkyNjUgMzkuNzQ5Mik7LS1jb2xvci1ncmVlbi02MDA6bGFiKDU5LjA5NzglIC01OC42NjIxIDQxLjI1NzkpfX19QGxheWVyIGJhc2V7Kiw6YWZ0ZXIsOmJlZm9yZSw6OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsOmhvc3R7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7dGFiLXNpemU6NDtsaW5lLWhlaWdodDoxLjU7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1mb250LWZhbWlseSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSIpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2UpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mZWF0dXJlLXNldHRpbmdzLG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b31wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lfWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfWJ1dHRvbixpbnB1dCxzZWxlY3Qsb3B0Z3JvdXAsdGV4dGFyZWF7Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnttYXJnaW4taW5saW5lLWVuZDo0cHh9OjpwbGFjZWhvbGRlcntvcGFjaXR5OjF9QHN1cHBvcnRzIChub3QgKCgtd2Via2l0LWFwcGVhcmFuY2U6LWFwcGxlLXBheS1idXR0b24pKSkgb3IgKGNvbnRhaW4taW50cmluc2ljLXNpemU6MXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7OjpwbGFjZWhvbGRlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsY3VycmVudGNvbG9yIDUwJSx0cmFuc3BhcmVudCl9fX10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVle21pbi1oZWlnaHQ6MWxoO3RleHQtYWxpZ246aW5oZXJpdH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtkaXNwbGF5OmlubGluZS1mbGV4fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVye3BhZGRpbmc6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7bGluZS1oZWlnaHQ6MX06LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSxbdHlwZT1yZXNldF0sW3R5cGU9c3VibWl0XSl7YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSp7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7KntvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9Y29kZSxwcmUsa2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLCJJbnRlciIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfX1AbGF5ZXIgY29tcG9uZW50cztAbGF5ZXIgdXRpbGl0aWVzey5cQGNvbnRhaW5lclwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXC41e3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTFcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMjB7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMjApfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTBcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmxlZnQtNHtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxlZnQtMTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uaXNvbGF0ZXtpc29sYXRpb246aXNvbGF0ZX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9Lm9yZGVyLWZpcnN0e29yZGVyOi05OTk5fS5vcmRlci1sYXN0e29yZGVyOjk5OTl9LmNvbC1zdGFydC0ye2dyaWQtY29sdW1uLXN0YXJ0OjJ9LnJvdy1zcGFuLTJ7Z3JpZC1yb3c6c3BhbiAyL3NwYW4gMn0ucm93LXN0YXJ0LTF7Z3JpZC1yb3ctc3RhcnQ6MX0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS4tbXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS4tbXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm14LWF1dG97bWFyZ2luLWlubGluZTphdXRvfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5teS0ye21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxlYWQpO21hcmdpbi10b3A6MS4yZW07bWFyZ2luLWJvdHRvbToxLjJlbTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNn0ucHJvc2UgOndoZXJlKGEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWJvbGQpO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGEgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZSh0aGVhZCB0aCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPSIxIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2w+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1idWxsZXRzKX0ucHJvc2UgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjEuMjVlbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1xdW90ZXMpO2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6LjI1cmVtO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7cXVvdGVzOiLigJwiIuKAnSIi4oCYIiLigJkiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OiJgIn0ucHJvc2UgOndoZXJlKGEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgxIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6Ljg3NWVtfS5wcm9zZSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouOWVtfS5wcm9zZSA6d2hlcmUoaDQgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHRoZWFkIHRoIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO3BhZGRpbmctdG9wOi44NTcxNDNlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS4xNDI4NmVtO3BhZGRpbmctYm90dG9tOi44NTcxNDNlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xNDI4NmVtO2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNzE0Mjk7b3ZlcmZsb3cteDphdXRvfS5wcm9zZSA6d2hlcmUocHJlIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC13ZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci13aWR0aDowO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nOjB9LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTpiZWZvcmUsLnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50Om5vbmV9LnByb3NlIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0YWJsZS1sYXlvdXQ6YXV0bzt3aWR0aDoxMDAlO21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2UgOndoZXJlKHRoZWFkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZSh0Ym9keSB0cik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpfS5wcm9zZSA6d2hlcmUodGJvZHkgdHI6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ucHJvc2UgOndoZXJlKHRmb290KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci10b3AtY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnByb3NlIDp3aGVyZSh0aCx0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0ZXh0LWFsaWduOnN0YXJ0fS5wcm9zZSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtY2FwdGlvbnMpO21hcmdpbi10b3A6Ljg1NzE0M2VtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2V7LS10dy1wcm9zZS1ib2R5OiMzNjQxNTM7LS10dy1wcm9zZS1oZWFkaW5nczojMTAxODI4Oy0tdHctcHJvc2UtbGVhZDojNGE1NTY1Oy0tdHctcHJvc2UtbGlua3M6IzEwMTgyODstLXR3LXByb3NlLWJvbGQ6IzEwMTgyODstLXR3LXByb3NlLWNvdW50ZXJzOiM2YTcyODI7LS10dy1wcm9zZS1idWxsZXRzOiNkMWQ1ZGM7LS10dy1wcm9zZS1ocjojZTVlN2ViOy0tdHctcHJvc2UtcXVvdGVzOiMxMDE4Mjg7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1jYXB0aW9uczojNmE3MjgyOy0tdHctcHJvc2Uta2JkOiMxMDE4Mjg7LS10dy1wcm9zZS1rYmQtc2hhZG93czojMTAxODI4MWE7LS10dy1wcm9zZS1jb2RlOiMxMDE4Mjg7LS10dy1wcm9zZS1wcmUtY29kZTojZTVlN2ViOy0tdHctcHJvc2UtcHJlLWJnOiMxZTI5Mzk7LS10dy1wcm9zZS10aC1ib3JkZXJzOiNkMWQ1ZGM7LS10dy1wcm9zZS10ZC1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1pbnZlcnQtYm9keTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LWhlYWRpbmdzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWxpbmtzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtYm9sZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LWhyOiMzNjQxNTM7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOiNmM2Y0ZjY7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQta2JkOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3M6I2ZmZmZmZjFhOy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzojMDAwMDAwODA7LS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVyczojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LXRkLWJvcmRlcnM6IzM2NDE1Mztmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjc1fUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpey5wcm9zZXstLXR3LXByb3NlLWJvZHk6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWhlYWRpbmdzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtbGVhZDpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtbGlua3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1ib2xkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtY291bnRlcnM6bGFiKDQ3Ljc4NDElIC0uMzkzMTgyIC0xMC4wMjY4KTstLXR3LXByb3NlLWJ1bGxldHM6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaHI6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXF1b3RlczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWNhcHRpb25zOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1rYmQ6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0Ly4xKTstLXR3LXByb3NlLWNvZGU6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1wcmUtY29kZTpsYWIoOTEuNjIyOSUgLS4xNTkxMTUgLTIuMjY3OTEpOy0tdHctcHJvc2UtcHJlLWJnOmxhYigxNi4xMDUxJSAtMS4xODIzOSAtMTEuNzUzMyk7LS10dy1wcm9zZS10aC1ib3JkZXJzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLXRkLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWludmVydC1ib2R5OmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC1sZWFkOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnM6bGFiKDY1LjkyNjklIC0uODMyNzA3IC04LjE3NDczKTstLXR3LXByb3NlLWludmVydC1idWxsZXRzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtaHI6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1xdW90ZXM6bGFiKDk2LjE1OTYlIC0uMDgyMzQzOCAtMS4xMzU3NSk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCl9fS5wcm9zZSA6d2hlcmUocGljdHVyZT5pbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT5vbD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW19LnByb3NlIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbX0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZSgucHJvc2U+OmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKC5wcm9zZT46bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmU+aW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxnIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouMjIyMjIyZW07cGFkZGluZy1pbmxpbmUtZW5kOi40NDQ0NDRlbTtwYWRkaW5nLWJvdHRvbTouMjIyMjIyZW07Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNDQ0NDQ0ZW07Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKGgzIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UtbGcgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDoxZW07cGFkZGluZy1pbmxpbmUtZW5kOjEuNWVtO3BhZGRpbmctYm90dG9tOjFlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41ZW07Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjc1fS5wcm9zZS1sZyA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTttYXJnaW4tYm90dG9tOi42NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjMuMTExMTFlbTttYXJnaW4tYm90dG9tOjMuMTExMTFlbX0ucHJvc2UtbGcgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi43NWVtO3BhZGRpbmctaW5saW5lLWVuZDouNzVlbTtwYWRkaW5nLWJvdHRvbTouNzVlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNzVlbX0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjc3Nzc4ZW07bWFyZ2luLWJvdHRvbToxLjc3Nzc4ZW19LnByb3NlLWxnIDp3aGVyZShmaWd1cmU+Kik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MH0ucHJvc2Utc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2Utc20gOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW07bWFyZ2luLWJvdHRvbToxLjMzMzMzZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xMTExMWVtfS5wcm9zZS1zbSA6d2hlcmUoaDEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6Mi4xNDI4NmVtO2xpbmUtaGVpZ2h0OjEuMn0ucHJvc2Utc20gOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbTouOGVtO2ZvbnQtc2l6ZToxLjQyODU3ZW07bGluZS1oZWlnaHQ6MS40fS5wcm9zZS1zbSA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjU1NTU2ZW07bWFyZ2luLWJvdHRvbTouNDQ0NDQ0ZW07Zm9udC1zaXplOjEuMjg1NzFlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1zbSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjQyODU3ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2Utc20gOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKHBpY3R1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQyODU3MWVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNTcxNDI5ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjIuODU3MTRlbTttYXJnaW4tYm90dG9tOjIuODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1zbSA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2Utc20gOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPjpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbTowfS4tbXQtMXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5tdC0wXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVwuNXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ubWItMnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1iLTN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5tYi00e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWItNnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9Lm1iLTh7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5tYi0xMHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5tbC0xe21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm1sLTJ7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubWwtYXV0b3ttYXJnaW4tbGVmdDphdXRvfS5saW5lLWNsYW1wLTJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5uby1zY3JvbGxiYXJ7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lm5vLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmlubGluZXtkaXNwbGF5OmlubGluZX0uaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4fS5saXN0LWl0ZW17ZGlzcGxheTpsaXN0LWl0ZW19LnRhYmxle2Rpc3BsYXk6dGFibGV9LnRhYmxlLWNhcHRpb257ZGlzcGxheTp0YWJsZS1jYXB0aW9ufS50YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbH0udGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93fS5maWVsZC1zaXppbmctY29udGVudHtmaWVsZC1zaXppbmc6Y29udGVudH0uYXNwZWN0LVxbMTZcLzlcXXthc3BlY3QtcmF0aW86MTYvOX0uYXNwZWN0LVxbNjEwXC8yMDhcXXthc3BlY3QtcmF0aW86NjEwLzIwOH0uYXNwZWN0LXNxdWFyZXthc3BlY3QtcmF0aW86MX0uc2l6ZS0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5zaXplLTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uc2l6ZS01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNpemUtNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zaXplLTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uc2l6ZS04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnNpemUtOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS5zaXplLTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uc2l6ZS0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnNpemUtZnVsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5oLTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC02e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5oLTd7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNyl9LmgtOHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uaC04XCF7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCkhaW1wb3J0YW50fS5oLTl7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLTEye2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0uaC0xNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LmgtMTZ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5oLTIwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0uaC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LmgtNDB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNDApfS5oLTY0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0uaC04MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9LmgtXFs4MHB4XF17aGVpZ2h0OjgwcHh9LmgtXFszMDBweFxde2hlaWdodDozMDBweH0uaC1cWzM2MHB4XF17aGVpZ2h0OjM2MHB4fS5oLVxbNDQwcHhcXXtoZWlnaHQ6NDQwcHh9LmgtXFtjYWxjXCgxMDBcJS0xcHhcKVxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVwoLS1hdmFpbGFibGUtaGVpZ2h0XCl7bWF4LWhlaWdodDp2YXIoLS1hdmFpbGFibGUtaGVpZ2h0KX0ubWF4LWgtNjR7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWF4LWgtNzJ7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubWluLWgtMTZ7bWluLWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ubWluLWgtXFs2MHZoXF17bWluLWhlaWdodDo2MHZofS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0udy1cKC0tYW5jaG9yLXdpZHRoXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udy0xMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0udy0xMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0udy0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0udy0xNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0udy0yMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0udy0yNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0udy0yOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI4KX0udy0zMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMyKX0udy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0udy00NHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ0KX0udy00OHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0udy01Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUyKX0udy01Nnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjU2KX0udy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0udy1cWzEyMHB4XF17d2lkdGg6MTIwcHh9LnctXFsxNDBweFxde3dpZHRoOjE0MHB4fS53LVxbY2FsY1woXCgxMDBcJS0ycmVtXClcLzNcKVxde3dpZHRoOmNhbGMoMzMuMzMzMyUgLSAuNjY2NjY3cmVtKX0udy1hdXRve3dpZHRoOmF1dG99LnctZml0e3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0udy1weHt3aWR0aDoxcHh9Lm1heC13LTB7bWF4LXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1heC13LTJ4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTJ4bCl9Lm1heC13LTN4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTN4bCl9Lm1heC13LTR4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTR4bCl9Lm1heC13LTd4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTd4bCl9Lm1heC13LTQ4e21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0ubWF4LXctXFsyMDBweFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFtjYWxjXCgxMDBcJS0ycmVtXClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMnJlbSl9Lm1heC13LVxbY2FsY1woMTAwdnctMnJlbVwpXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFsycmVtXF17bWluLXdpZHRoOjJyZW19Lm1pbi13LVxbOTZweFxde21pbi13aWR0aDo5NnB4fS5taW4tdy1cWzE1MHB4XF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cKC0tdHJhbnNmb3JtLW9yaWdpblwpe3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tdHJhbnNmb3JtLW9yaWdpbil9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFszcHhcXXstLXR3LXRyYW5zbGF0ZS14OjNweDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteC1cWzE4cHhcXXstLXR3LXRyYW5zbGF0ZS14OjE4cHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteS0wey0tdHctdHJhbnNsYXRlLXk6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5yb3RhdGUtMTgwe3JvdGF0ZToxODBkZWd9LnRyYW5zZm9ybXt0cmFuc2Zvcm06dmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0udHJhbnNmb3JtLWdwdXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKXZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtcHVsc2V7YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtcHVsc2UpfS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtc3Bpbil9LmN1cnNvci1jcm9zc2hhaXJ7Y3Vyc29yOmNyb3NzaGFpcn0uY3Vyc29yLWRlZmF1bHR7Y3Vyc29yOmRlZmF1bHR9LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3ItdGV4dHtjdXJzb3I6dGV4dH0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLXB5LTF7c2Nyb2xsLXBhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmF1dG8tY29scy1mcntncmlkLWF1dG8tY29sdW1uczptaW5tYXgoMCwxZnIpfS5ncmlkLWZsb3ctY29se2dyaWQtYXV0by1mbG93OmNvbHVtbn0uYXV0by1yb3dzLW1pbntncmlkLWF1dG8tcm93czptaW4tY29udGVudH0uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC1jb2wtcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0uZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9LmNvbnRlbnQtc3RhcnR7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC00e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAtNntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZ2FwLTh7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqOCl9LmdhcC1cWzJweFxde2dhcDoycHh9OndoZXJlKC5zcGFjZS15LTBcLjU+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSouNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVwuNT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTM+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTQ+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTY+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTg+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTEwPjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLTIpKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1pbmxpbmUtZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5nYXAteS0xXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15Pjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LWRpdmlkZS15LXJldmVyc2U6MDtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6Y2FsYygxcHgqdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpO2JvcmRlci1ib3R0b20td2lkdGg6Y2FsYygxcHgqY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKX06d2hlcmUoLmRpdmlkZS1ib3JkZXI+Om5vdCg6bGFzdC1jaGlsZCkpe2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWF1dG97b3ZlcmZsb3cteDphdXRvfS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteC1zY3JvbGx7b3ZlcmZsb3cteDpzY3JvbGx9Lm92ZXJmbG93LXktYXV0b3tvdmVyZmxvdy15OmF1dG99LnJvdW5kZWR7Ym9yZGVyLXJhZGl1czouMjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtNHhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjIuNil9LnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktM3B4XClcXXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDNweCl9LnJvdW5kZWQtXFttaW5cKHZhclwoLS1yYWRpdXMtbWRcKVwsMTBweFwpXF17Ym9yZGVyLXJhZGl1czptaW4odmFyKC0tcmFkaXVzLW1kKSwxMHB4KX0ucm91bmRlZC1cW21pblwodmFyXCgtLXJhZGl1cy1tZFwpXCwxMnB4XClcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXCF7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpIWltcG9ydGFudH0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSouOCl9LnJvdW5kZWQtbm9uZXtib3JkZXItcmFkaXVzOjB9LnJvdW5kZWQtc217Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjYpfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LnJvdW5kZWQteGxcIXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpIWltcG9ydGFudH0ucm91bmRlZC10LTJ4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLXQteGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0ucm91bmRlZC1iLXhse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LmJvcmRlcntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LmJvcmRlci1iLTJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItZGFzaGVkey0tdHctYm9yZGVyLXN0eWxlOmRhc2hlZDtib3JkZXItc3R5bGU6ZGFzaGVkfS5ib3JkZXItYm9yZGVye2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9LmJvcmRlci1yZWQtNTAwXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcLzQwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItcmVkLTUwMCk0MCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXN1Y2Nlc3NcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1zdWNjZXNzXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxbXCMyMjlFRDlcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcLzgwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1iYWNrZ3JvdW5kXC84MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1iYWNrZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spMTAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA4MH1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRhbmdlcil9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1kYW5nZXJcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlLC5iZy1kZXN0cnVjdGl2ZVwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uYmctbXV0ZWQtZm9yZWdyb3VuZFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcLzI1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpMjUlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNTAlLHRyYW5zcGFyZW50KX19LmJnLXBvcG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wb3BvdmVyKX0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfS5iZy1wcmltYXJ5LWZvcmVncm91bmRcLzIwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnktZm9yZWdyb3VuZFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpNSUsdHJhbnNwYXJlbnQpfX0uYmctcHJpbWFyeVwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMTAlLHRyYW5zcGFyZW50KX19LmJnLXByaW1hcnlcLzE1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctc3VjY2Vzc1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tc3VjY2VzcykxMCUsdHJhbnNwYXJlbnQpfX0uYmctc3VjY2Vzc1wvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcLzE1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMTUlLHRyYW5zcGFyZW50KX19LmJnLXN1cmZhY2UsLmJnLXN1cmZhY2VcLzkwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3VyZmFjZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1zdXJmYWNlXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2FybmluZ1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0td2FybmluZykxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctZ3JhZGllbnQtdG8tYnJ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjp0byBib3R0b20gcmlnaHQgaW4gb2tsYWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uZnJvbS1cW1wjMzhBRkUzXF17LS10dy1ncmFkaWVudC1mcm9tOiMzOGFmZTM7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0uZnJvbS1cW1wjMjI5RUQ5XF17LS10dy1ncmFkaWVudC1mcm9tOiMyMjllZDk7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFtcIzFGOTdDQVxdey0tdHctZ3JhZGllbnQtdG86IzFmOTdjYTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS50by1cW1wjMWE3ZmIwXF17LS10dy1ncmFkaWVudC10bzojMWE3ZmIwOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmJnLWNsaXAtcGFkZGluZ3tiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wLTBcLjV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucC0xe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucC0ye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucC0ze3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucC00e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucC01e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucC0xMntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wLVxbM3B4XF17cGFkZGluZzozcHh9LnB4LTF7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucHgtMVwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB4LTJ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHgtMlwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHktMXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB5LTFcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB5LTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weS0yXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1wuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS04e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHktMTB7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ucHktMTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucHktMTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucHQtMntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wdC0ze3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnB0LTR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucHQtNntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItNHtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LnByLTh7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5wci0xMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wYi02e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9LnBiLTh7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGItMTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnBiLTE2e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wbC0xXC41e3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnBsLTh7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBsLTl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvbnQtbW9ub3tmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn0udGV4dC0yeGx7Zm9udC1zaXplOnZhcigtLXRleHQtMnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtMnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LTN4bHtmb250LXNpemU6dmFyKC0tdGV4dC0zeGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC0zeGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNHhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTR4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQpKX0udGV4dC02eGx7Zm9udC1zaXplOnZhcigtLXRleHQtNnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtNnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LWJhc2V7Zm9udC1zaXplOnZhcigtLXRleHQtYmFzZSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0KSl9LnRleHQtbGd7Zm9udC1zaXplOnZhcigtLXRleHQtbGcpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKX0udGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS50ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQteHN7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0udGV4dC1cWzBcLjhyZW1cXXtmb250LXNpemU6LjhyZW19LnRleHQtXFsxMHB4XF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LmxlYWRpbmctbm9uZXstLXR3LWxlYWRpbmc6MTtsaW5lLWhlaWdodDoxfS5sZWFkaW5nLXJlbGF4ZWR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctcmVsYXhlZCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1yZWxheGVkKX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKX0uZm9udC1tZWRpdW17LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9LmZvbnQtbm9ybWFsey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpfS5mb250LXNlbWlib2xkey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKX0udHJhY2tpbmctdGlnaHR7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy10aWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctdGlnaHQpfS50cmFja2luZy13aWRley0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSl9LnRyYWNraW5nLXdpZGVzdHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXdpZGVzdCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KX0uYnJlYWstYWxse3dvcmQtYnJlYWs6YnJlYWstYWxsfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmUtbGluZXt3aGl0ZS1zcGFjZTpwcmUtbGluZX0ud2hpdGVzcGFjZS1wcmUtd3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0udGV4dC1cW1wjMjJDNTVFXF17Y29sb3I6IzIyYzU1ZX0udGV4dC1cW1wjMjI5RUQ5XF17Y29sb3I6IzIyOWVkOX0udGV4dC1cW1wjMTg3OUE4XF17Y29sb3I6IzE4NzlhOH0udGV4dC1cW1wjRUY0NDQ0XF17Y29sb3I6I2VmNDQ0NH0udGV4dC1jYXJkLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tY2FyZC1mb3JlZ3JvdW5kKX0udGV4dC1kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udGV4dC1kZXN0cnVjdGl2ZXtjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LnRleHQtZm9yZWdyb3VuZCwudGV4dC1mb3JlZ3JvdW5kXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtZm9yZWdyb3VuZFwvODB7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LWZvcmVncm91bmRcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LW11dGVkLWZvcmVncm91bmRcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LW9yYW5nZS01MDB7Y29sb3I6dmFyKC0tY29sb3Itb3JhbmdlLTUwMCl9LnRleHQtcG9wb3Zlci1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCl9LnRleHQtcHJpbWFyeXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0udGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX0udGV4dC1yZWQtNTAwe2NvbG9yOnZhcigtLWNvbG9yLXJlZC01MDApfS50ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKX0udGV4dC1zdWNjZXNze2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC84NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzkwe2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvOTV7Y29sb3I6I2ZmZmZmZmYyfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS5jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lml0YWxpY3tmb250LXN0eWxlOml0YWxpY30udGFidWxhci1udW1zey0tdHctbnVtZXJpYy1zcGFjaW5nOnRhYnVsYXItbnVtcztmb250LXZhcmlhbnQtbnVtZXJpYzp2YXIoLS10dy1vcmRpbmFsLCl2YXIoLS10dy1zbGFzaGVkLXplcm8sKXZhcigtLXR3LW51bWVyaWMtZmlndXJlLCl2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKXZhcigtLXR3LW51bWVyaWMtZnJhY3Rpb24sKX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZX0udW5kZXJsaW5lLW9mZnNldC0ye3RleHQtdW5kZXJsaW5lLW9mZnNldDoycHh9LnVuZGVybGluZS1vZmZzZXQtNHt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6NHB4fS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0zMHtvcGFjaXR5Oi4zfS5vcGFjaXR5LTQwe29wYWNpdHk6LjR9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0ub3BhY2l0eS03MHtvcGFjaXR5Oi43fS5iZy1ibGVuZC1jb2xvcntiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6Y29sb3J9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW1key0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmV7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmVcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFwvMTB7LS10dy1yaW5nLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1mb3JlZ3JvdW5kXC8xMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpMTAlLHRyYW5zcGFyZW50KX19LnJpbmctcHJpbWFyeVwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XC8zMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMzAlLHRyYW5zcGFyZW50KX19Lm91dGxpbmUtaGlkZGVuey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsub3V0bGluZS1oaWRkZW57b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5maWx0ZXJ7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItc20pKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS50cmFuc2l0aW9ue3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG8sb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXIsZGlzcGxheSxjb250ZW50LXZpc2liaWxpdHksb3ZlcmxheSxwb2ludGVyLWV2ZW50czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWNvbG9yc3t0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tb3BhY2l0eXt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tdHJhbnNmb3Jte3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHRyYW5zbGF0ZSxzY2FsZSxyb3RhdGU7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0uZHVyYXRpb24tMTAwey0tdHctZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5lYXNlLWluLW91dHstLXR3LWVhc2U6dmFyKC0tZWFzZS1pbi1vdXQpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWVhc2UtaW4tb3V0KX0uXFt3aWxsLWNoYW5nZVw6dHJhbnNmb3JtXF17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGF1c2Vke2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZH0ucnVubmluZ3thbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfS5ncm91cC1vcGVuXDpyb3RhdGUtMTgwOmlzKDp3aGVyZSguZ3JvdXApOmlzKFtvcGVuXSw6cG9wb3Zlci1vcGVuLDpvcGVuKSAqKXtyb3RhdGU6MTgwZGVnfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6dHJhbnNsYXRlLXgtMFwuNTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqLjUpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Lmdyb3VwLWhvdmVyXDpiZy1tdXRlZDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZ3JvdXAtaG92ZXJcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcOnRleHQtd2hpdGU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfS5ncm91cC1ob3Zlclw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXC9kcm9wZG93bi1tZW51LWl0ZW1cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6aXMoOndoZXJlKC5ncm91cFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpzaXplLTEwOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyLWdyb3VwXDpzaXplLTY6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxbc2xvdFw9Y29tbWFuZC1zaG9ydGN1dFxdXC9jb21tYW5kLWl0ZW1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnB0LTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnBiLTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtjaGVja2VkXD10cnVlXF1cL2NvbW1hbmQtaXRlbVw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFwvY29tbWFuZC1pdGVtKVtkYXRhLWNoZWNrZWQ9dHJ1ZV0gKil7b3BhY2l0eToxfS5ncm91cC1kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSguZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKiksLmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXC9pbnB1dC1ncm91cFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXC9pbnB1dC1ncm91cClbZGF0YS1kaXNhYmxlZD10cnVlXSAqKXtvcGFjaXR5Oi41fS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOnNpemUtMlwuNTppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1kZWZhdWx0XSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ3JvdXAtZGF0YS1cW3NpemVcPWxnXF1cL2F2YXRhclw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXJcOnRleHQteHM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpwLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpweC0zOmlzKDp3aGVyZSguZ3JvdXBcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKil7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2NhcmRcOnRleHQtc206aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtc2VsZWN0ZWRcL2NvbW1hbmQtaXRlbVw6dGV4dC1mb3JlZ3JvdW5kOmlzKDp3aGVyZSguZ3JvdXBcL2NvbW1hbmQtaXRlbSk6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pICope2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmgtODppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKil7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcL3RhYnNcOmgtZml0OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7aGVpZ2h0OmZpdC1jb250ZW50fS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDp3LWZ1bGw6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXt3aWR0aDoxMDAlfS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDpmbGV4LWNvbDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6anVzdGlmeS1zdGFydDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5wZWVyLWRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcOm9wYWNpdHktNTA6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtvcGFjaXR5Oi41fS5maWxlXDppbmxpbmUtZmxleDo6ZmlsZS1zZWxlY3Rvci1idXR0b257ZGlzcGxheTppbmxpbmUtZmxleH0uZmlsZVw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVw6Ym9yZGVyLTA6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5maWxlXDpiZy10cmFuc3BhcmVudDo6ZmlsZS1zZWxlY3Rvci1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZmlsZVw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVw6Zm9udC1tZWRpdW06OmZpbGUtc2VsZWN0b3ItYnV0dG9uey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfS5maWxlXDp0ZXh0LWZvcmVncm91bmQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5wbGFjZWhvbGRlclw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcOmFic29sdXRlOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7cG9zaXRpb246YWJzb2x1dGV9LmFmdGVyXDppbnNldC0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYWZ0ZXJcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclw6Ym9yZGVyOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjFweH0uYWZ0ZXJcOmJvcmRlci1ib3JkZXI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYWZ0ZXJcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclw6b3BhY2l0eS0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eTowfS5hZnRlclw6bWl4LWJsZW5kLWRhcmtlbjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uYWZ0ZXJcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmFmdGVyXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFwvdGFic1w6YWZ0ZXJcOmJvdHRvbS1cWy01cHhcXTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3R0b206LTVweH0uZ3JvdXAtZGF0YS1ob3Jpem9udGFsXC90YWJzXDphZnRlclw6aC0wXC41OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOi1yaWdodC0xOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOnctMFwuNTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmZvY3VzLXdpdGhpblw6Ym9yZGVyLXJpbmc6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uZm9jdXMtd2l0aGluXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy13aXRoaW5cOnJpbmctcmluZ1wvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcLzMwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkzMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1wcmltYXJ5XC80MDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1yaW5nOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaG92ZXJcOmJnLWFjY2VudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctZGVzdHJ1Y3RpdmVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWQ6aG92ZXIsLmhvdmVyXDpiZy1tdXRlZFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctbXV0ZWRcLzQwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLW11dGVkXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJnLW11dGVkXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1tdXRlZFwvODA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpODAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1wcmltYXJ5XC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXByaW1hcnlcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMjAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2Vjb25kYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOnRleHQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXDpzaGFkb3ctbGc6aG92ZXJ7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmhvdmVyXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcOmJnLWFjY2VudDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvY3VzXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOmZvY3Vze2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZm9jdXNcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1w6XCpcKlw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDpmb2N1cyAqKSw6aXMoLm5vdC1kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6Zm9jdXNcOlwqXCpcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcOmJvcmRlci1kZXN0cnVjdGl2ZVwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6Ym9yZGVyLWRlc3RydWN0aXZlXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpNDAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOmJvcmRlci1yaW5nOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy12aXNpYmxlXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcOnJpbmctMjpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy0zOmZvY3VzLXZpc2libGUsLmZvY3VzLXZpc2libGVcOnJpbmctXFszcHhcXTpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1yaW5nXC81MDpmb2N1cy12aXNpYmxley0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0xOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1wcmltYXJ5OmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXDp0cmFuc2xhdGUteS1weDphY3RpdmV7LS10dy10cmFuc2xhdGUteToxcHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6ZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDpiZy1pbnB1dFwvNTA6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6YmctdHJhbnNwYXJlbnQ6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cW3Nsb3RcPWJ1dHRvbi1ncm91cFxdXDpyb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKX06d2hlcmUoW2RhdGEtc2xvdD1jb21ib2JveC1jb250ZW50XSkgLmluLWRhdGEtXFtzbG90XD1jb21ib2JveC1jb250ZW50XF1cOmZvY3VzLXdpdGhpblw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cW3Nsb3RcPWNvbWJvYm94LWNvbnRlbnRcXVw6Zm9jdXMtd2l0aGluXDpyaW5nLTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06d2hlcmUoW2RhdGEtc2xvdD1kaWFsb2ctY29udGVudF0pIC5pbi1kYXRhLVxbc2xvdFw9ZGlhbG9nLWNvbnRlbnRcXVw6cm91bmRlZC1sZ1whe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9Lmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXDpiZy1pbnB1dFwvNTA6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpNTAlLHRyYW5zcGFyZW50KX19Lmhhcy1kaXNhYmxlZFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cW2ljb25cPWlubGluZS1lbmRcXVw6cHItMVwuNTpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLXN0YXJ0XF1cOnBsLTFcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMjpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLWRhdGEtXFtzbG90XD1jYXJkLWFjdGlvblxdXDpncmlkLWNvbHMtXFsxZnJfYXV0b1xdOmhhcyhbZGF0YS1zbG90PWNhcmQtYWN0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciBhdXRvfS5oYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZGVzY3JpcHRpb25cXVw6Z3JpZC1yb3dzLVxbYXV0b19hdXRvXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1kZXNjcmlwdGlvbl0pe2dyaWQtdGVtcGxhdGUtcm93czphdXRvIGF1dG99Lmhhcy1kYXRhLVxbc2xvdFw9Y2FyZC1mb290ZXJcXVw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6Ym9yZGVyLXJpbmc6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctMzpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6cmluZy1yaW5nXC81MDpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctcmluZ1wvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpib3JkZXItZGVzdHJ1Y3RpdmU6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy0zOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7Lmhhcy1cW1xbZGF0YS1zbG90XF1cW2FyaWEtaW52YWxpZFw9dHJ1ZVxdXF1cOnJpbmctZGVzdHJ1Y3RpdmVcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1ibG9jay1lbmRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOmZsZXgtY29sOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stZW5kXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1zdGFydF0pe2hlaWdodDphdXRvfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpmbGV4LWNvbDpoYXMoPltkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPmJ1dHRvblxdXDptci1cWy0wXC4zcmVtXF06aGFzKD5idXR0b24pe21hcmdpbi1yaWdodDotLjNyZW19Lmhhcy1cW1w+YnV0dG9uXF1cOm1sLVxbLTBcLjNyZW1cXTpoYXMoPmJ1dHRvbil7bWFyZ2luLWxlZnQ6LS4zcmVtfS5oYXMtXFtcPmltZ1w6Zmlyc3QtY2hpbGRcXVw6cHQtMDpoYXMoPmltZzpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxbXD5rYmRcXVw6bXItXFstMFwuMTVyZW1cXTpoYXMoPmtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cW1w+a2JkXF1cOm1sLVxbLTBcLjE1cmVtXF06aGFzKD5rYmQpe21hcmdpbi1sZWZ0Oi0uMTVyZW19Lmhhcy1cW1w+c3ZnXF1cOnAtMDpoYXMoPnN2Zyl7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5oYXMtXFtcPnRleHRhcmVhXF1cOmgtYXV0bzpoYXMoPnRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFw6cG9pbnRlci1ldmVudHMtbm9uZVthcmlhLWRpc2FibGVkPXRydWVde3BvaW50ZXItZXZlbnRzOm5vbmV9LmFyaWEtZGlzYWJsZWRcOm9wYWNpdHktNTBbYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5hcmlhLWV4cGFuZGVkXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXDpiZy1zZWNvbmRhcnlbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9LmFyaWEtZXhwYW5kZWRcOnRleHQtZm9yZWdyb3VuZFthcmlhLWV4cGFuZGVkPXRydWVde2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hcmlhLWV4cGFuZGVkXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcOmJvcmRlci1kZXN0cnVjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uYXJpYS1pbnZhbGlkXDpyaW5nLTBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC8yMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmFyaWEtaW52YWxpZFw6cmluZy1kZXN0cnVjdGl2ZVwvMjBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtZW5kaW5nLXN0eWxlXDpvcGFjaXR5LTBbZGF0YS1lbmRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1pbnNldFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXDpiZy1hY2NlbnRbZGF0YS1wb3B1cC1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmRhdGEtcG9wdXAtb3Blblw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXBvcHVwLW9wZW5de2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZGF0YS1zdGFydGluZy1zdHlsZVw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6b3BhY2l0eS01MFtkYXRhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmJvdHRvbS0wW2RhdGEtc2lkZT1ib3R0b21de2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmgtYXV0b1tkYXRhLXNpZGU9Ym90dG9tXXtoZWlnaHQ6YXV0b30uZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6c2xpZGUtaW4tZnJvbS10b3AtMltkYXRhLXNpZGU9Ym90dG9tXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OmNhbGMoMip2YXIoLS1zcGFjaW5nKSotMSl9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWzJcLjVyZW1cXVtkYXRhLXNpZGU9Ym90dG9tXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9aW5saW5lLWVuZFxdXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9aW5saW5lLXN0YXJ0XF1cOnNsaWRlLWluLWZyb20tcmlnaHQtMltkYXRhLXNpZGU9aW5saW5lLXN0YXJ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9bGVmdF17aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmgtZnVsbFtkYXRhLXNpZGU9bGVmdF17aGVpZ2h0OjEwMCV9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOnctM1wvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9bGVmdFxdXDpib3JkZXItcltkYXRhLXNpZGU9bGVmdF17Ym9yZGVyLXJpZ2h0LXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC0yW2RhdGEtc2lkZT1sZWZ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteC1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPWxlZnRdW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWxlZnRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFstMlwuNXJlbVxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9cmlnaHRde2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1yaWdodFxdXDpyaWdodC0wW2RhdGEtc2lkZT1yaWdodF17cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6dy0zXC80W2RhdGEtc2lkZT1yaWdodF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNsaWRlLWluLWZyb20tbGVmdC0yW2RhdGEtc2lkZT1yaWdodF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS14LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFsyXC41cmVtXF1bZGF0YS1zaWRlPXJpZ2h0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDp0b3AtMFtkYXRhLXNpZGU9dG9wXXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDpoLWF1dG9bZGF0YS1zaWRlPXRvcF17aGVpZ2h0OmF1dG99LmRhdGEtXFtzaWRlXD10b3BcXVw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxbc2lkZVw9dG9wXF1cOnNsaWRlLWluLWZyb20tYm90dG9tLTJbZGF0YS1zaWRlPXRvcF17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtc3RhcnRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbLTJcLjVyZW1cXVtkYXRhLXNpZGU9dG9wXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpemVcPWxnXF1cOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFtzaXplXD1zbVxdXDpzaXplLTZbZGF0YS1zaXplPXNtXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5kYXRhLVxbc2l6ZVw9c21cXVw6Z2FwLTNbZGF0YS1zaXplPXNtXXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZGF0YS1cW3NpemVcPXNtXF1cOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFtzaXplXD1zbVxdXDpoYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZm9vdGVyXF1cOnBiLTBbZGF0YS1zaXplPXNtXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9OmlzKC5cKlw6ZGF0YS1cW3Nsb3RcPWF2YXRhclxdXDpyaW5nLTI+KilbZGF0YS1zbG90PWF2YXRhcl17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTppcyguXCpcOmRhdGEtXFtzbG90XD1hdmF0YXJcXVw6cmluZy1iYWNrZ3JvdW5kPiopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlwqXDpkYXRhLVxbc2xvdFw9aW5wdXQtZ3JvdXAtYWRkb25cXVw6cGwtMlwhPiopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxbc3RhdGVcPXNlbGVjdGVkXF1cOmJnLW11dGVkW2RhdGEtc3RhdGU9c2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVde2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzEwW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMTAlLHRyYW5zcGFyZW50KX19LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVw6cm91bmRlZC1ub25lW2RhdGEtdmFyaWFudD1saW5lXXtib3JkZXItcmFkaXVzOjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSBvciAoYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3KSkpey5zdXBwb3J0cy1iYWNrZHJvcC1maWx0ZXJcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOmJsb2Nre2Rpc3BsYXk6YmxvY2t9LnNtXDpoaWRkZW57ZGlzcGxheTpub25lfS5zbVw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uc21cOmgtMjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjQpfS5zbVw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6bWF4LXctc217bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9LnNtXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5zbVw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5zbVw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uc21cOmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc21cOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cOnAtNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNtXDpwLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zbVw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cOnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uc21cOnRleHQtM3hse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTN4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQteGx7Zm9udC1zaXplOnZhcigtLXRleHQteGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c21cOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNtXDptYXgtdy1zbVtkYXRhLXNpZGU9cmlnaHRde21heC13aWR0aDp2YXIoLS1jb250YWluZXItc20pfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7Lm1kXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXDpyaWdodC00e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1kXDpib3R0b20tNHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWRcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5tZFw6ZmxleHtkaXNwbGF5OmZsZXh9Lm1kXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9Lm1kXDptaW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFw6ZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZFw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0ubWRcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFw6cGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6dGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5tZFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXDpzdGlja3l7cG9zaXRpb246c3RpY2t5fS5sZ1w6dG9wLTR7dG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6aGlkZGVue2Rpc3BsYXk6bm9uZX0ubGdcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5sZ1w6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy1cWzFmcl8zNDBweFxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMzQwcHh9LmxnXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmxnXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFw6dy04MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX19LmRhcmtcOmJsb2NrOmlzKC5kYXJrICope2Rpc3BsYXk6YmxvY2t9LmRhcmtcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKXtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfS5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1w6dGV4dC1ncmVlbi00MDA6aXMoLmRhcmsgKil7Y29sb3I6dmFyKC0tY29sb3ItZ3JlZW4tNDAwKX0uZGFya1w6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXDpwcm9zZS1pbnZlcnQ6aXMoLmRhcmsgKil7LS10dy1wcm9zZS1ib2R5OnZhcigtLXR3LXByb3NlLWludmVydC1ib2R5KTstLXR3LXByb3NlLWhlYWRpbmdzOnZhcigtLXR3LXByb3NlLWludmVydC1oZWFkaW5ncyk7LS10dy1wcm9zZS1sZWFkOnZhcigtLXR3LXByb3NlLWludmVydC1sZWFkKTstLXR3LXByb3NlLWxpbmtzOnZhcigtLXR3LXByb3NlLWludmVydC1saW5rcyk7LS10dy1wcm9zZS1ib2xkOnZhcigtLXR3LXByb3NlLWludmVydC1ib2xkKTstLXR3LXByb3NlLWNvdW50ZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1jb3VudGVycyk7LS10dy1wcm9zZS1idWxsZXRzOnZhcigtLXR3LXByb3NlLWludmVydC1idWxsZXRzKTstLXR3LXByb3NlLWhyOnZhcigtLXR3LXByb3NlLWludmVydC1ocik7LS10dy1wcm9zZS1xdW90ZXM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXF1b3Rlcyk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZS1ib3JkZXJzKTstLXR3LXByb3NlLWNhcHRpb25zOnZhcigtLXR3LXByb3NlLWludmVydC1jYXB0aW9ucyk7LS10dy1wcm9zZS1rYmQ6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czp2YXIoLS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3MpOy0tdHctcHJvc2UtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY29kZSk7LS10dy1wcm9zZS1wcmUtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGUpOy0tdHctcHJvc2UtcHJlLWJnOnZhcigtLXR3LXByb3NlLWludmVydC1wcmUtYmcpOy0tdHctcHJvc2UtdGgtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVycyk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzKX0uZGFya1w6YWZ0ZXJcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1w6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmhvdmVyXDpiZy1pbnB1dFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpob3Zlclw6YmctaW5wdXRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpob3Zlclw6YmctbXV0ZWRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aG92ZXJcOmJnLW11dGVkXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6aG92ZXJcOnRleHQtZm9yZWdyb3VuZDppcyguZGFyayAqKTpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX19LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRpc2FibGVkXDpiZy1pbnB1dFwvODA6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpODAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRpc2FibGVkXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kYXJrXDpoYXMtZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzgwOmlzKC5kYXJrICopOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTgwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpoYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDphcmlhLWludmFsaWRcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXthbmltYXRpb246ZW50ZXIgdmFyKC0tdHctYW5pbWF0aW9uLWR1cmF0aW9uLHZhcigtLXR3LWR1cmF0aW9uLC4xNXMpKXZhcigtLXR3LWVhc2UsZWFzZSl2YXIoLS10dy1hbmltYXRpb24tZGVsYXksMHMpdmFyKC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwxKXZhcigtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKXZhcigtLXR3LWFuaW1hdGlvbi1maWxsLW1vZGUsbm9uZSl9LmRhdGEtb3Blblw6YmctYWNjZW50OndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLW9wZW5cOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6ZmFkZS1pbi0wOndoZXJlKFtkYXRhLW9wZW5dOm5vdChbZGF0YS1vcGVuPWZhbHNlXSkpey0tdHctZW50ZXItb3BhY2l0eTowfS5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXDphbmltYXRlLW91dDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmFuaW1hdGUtb3V0OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXthbmltYXRpb246ZXhpdCB2YXIoLS10dy1hbmltYXRpb24tZHVyYXRpb24sdmFyKC0tdHctZHVyYXRpb24sLjE1cykpdmFyKC0tdHctZWFzZSxlYXNlKXZhcigtLXR3LWFuaW1hdGlvbi1kZWxheSwwcyl2YXIoLS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LDEpdmFyKC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpdmFyKC0tdHctYW5pbWF0aW9uLWZpbGwtbW9kZSxub25lKX0uZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1jbG9zZWRdOm5vdChbZGF0YS1jbG9zZWQ9ZmFsc2VdKSl7b3ZlcmZsb3c6aGlkZGVufS5kYXRhLWNsb3NlZFw6ZmFkZS1vdXQtMDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXDp6b29tLW91dC05NTp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOnpvb20tb3V0LTk1OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXstLXR3LWV4aXQtc2NhbGU6Ljk1fS5kYXRhLXNlbGVjdGVkXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmRhdGEtZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWRdOm5vdChbZGF0YS1kaXNhYmxlZD1mYWxzZV0pKXtvcGFjaXR5Oi41fS5kYXRhLWFjdGl2ZVw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcOmJnLWJhY2tncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9ZGVmYXVsdFxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9ZGVmYXVsdF0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1kZWZhdWx0XF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1zbTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1kZWZhdWx0XSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmFmdGVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YWZ0ZXJcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKSk6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtvcGFjaXR5OjF9LmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjp2YXIoLS1pbnB1dCl9LmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpib3JkZXItdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOiMwMDAwfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6Z3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhdGEtaG9yaXpvbnRhbFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXDp3LWZ1bGw6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe3dpZHRoOjEwMCV9LmRhdGEtaG9yaXpvbnRhbFw6ZmxleC1jb2w6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGF0YS12ZXJ0aWNhbFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFw6c2VsZi1zdHJldGNoOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSl7YWxpZ24tc2VsZjpzdHJldGNofS5cW1wmX2FcXVw6dGV4dC1wcmltYXJ5IGF7Y29sb3I6dmFyKC0tcHJpbWFyeSl9LlxbXCZfaDNcXVw6bXQtNiBoM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqNil9LlxbXCZfaDNcXVw6bWItMiBoM3ttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxbXCZfaDNcXVw6dGV4dC1mb3JlZ3JvdW5kIGgze2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5cW1wmX3N2Z1xdXDpwb2ludGVyLWV2ZW50cy1ub25lIHN2Z3twb2ludGVyLWV2ZW50czpub25lfS5cW1wmX3N2Z1xdXDpzaHJpbmstMCBzdmd7ZmxleC1zaHJpbms6MH0uXFtcJl9zdmdcOm5vdFwoXFtjbGFzc1wqXD1cJ3NpemUtXCdcXVwpXF1cOnNpemUtMyBzdmc6bm90KFtjbGFzcyo9c2l6ZS1dKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS0zXC41IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZfdHJcXVw6Ym9yZGVyLWIgdHJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5cW1wmX3RyXDpsYXN0LWNoaWxkXF1cOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxbXCZcOlw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxdXDpoaWRkZW46Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS5cW1wmXDpcOi13ZWJraXQtc2Nyb2xsYmFyXF1cOmhpZGRlbjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5cW1wmXDpoYXNcKFxbcm9sZVw9Y2hlY2tib3hcXVwpXF1cOnByLTA6aGFzKFtyb2xlPWNoZWNrYm94XSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5cW1wuYm9yZGVyLWJcXVw6cGItMi5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cW1wuYm9yZGVyLWJcXVw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvY2FyZFw6XFtcLmJvcmRlci1iXF1cOnBiLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKS5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wuYm9yZGVyLXRcXVw6cHQtMi5ib3JkZXItdHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB4LTIgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB5LTFcLjUgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDpmb250LW1lZGl1bSAqKVtjbWRrLWdyb3VwLWhlYWRpbmddey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCAqKVtjbWRrLWdyb3VwLWhlYWRpbmdde2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmU+Kik6aXMoYSl7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmUtb2Zmc2V0LTM+Kik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFthXF1cOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW2FcXVw6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDpiZy1tdXRlZDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cW2FcXVw6aG92ZXJcOmJnLXNlY29uZGFyeVwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDp0ZXh0LW11dGVkLWZvcmVncm91bmQ6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9OmlzKC5cKlw6XFthXF1cOmhvdmVyXDp0ZXh0LWZvcmVncm91bmQ+Kik6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9fTppcyguXCpcOlxbaW1nXDpmaXJzdC1jaGlsZFxdXDpyb3VuZGVkLXQteGw+Kik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXCpcOlxbaW1nXDpsYXN0LWNoaWxkXF1cOnJvdW5kZWQtYi14bD4qKTppcyhpbWc6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX06aXMoLmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpcKlw6XFtzdmdcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdPiopOmlzKHN2Zyl7Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfTppcyguZGF0YS1zZWxlY3RlZFw6XCpcOlxbc3ZnXF1cOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSk+Kik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnB0LTM6aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKT5pbnB1dHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwYi0zOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKT5pbnB1dHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9aW5saW5lLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnByLTFcLjU6aGFzKD5bZGF0YS1hbGlnbj1pbmxpbmUtZW5kXSk+aW5wdXR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1pbmxpbmUtc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwbC0xXC41Omhhcyg+W2RhdGEtYWxpZ249aW5saW5lLXN0YXJ0XSk+aW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFtcJlw+a2JkXF1cOnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktNXB4XClcXT5rYmR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSA1cHgpfS5cW1wmXD5zdmdcXVw6cG9pbnRlci1ldmVudHMtbm9uZT5zdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFtcJlw+c3ZnXF1cOnNpemUtM1whPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpIWltcG9ydGFudDtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnR9LlxbXCZcPnN2Z1xdXDpzaXplLTQ+c3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpcW1wmXD5zdmdcXVw6c2l6ZS01OmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uZ3JvdXAtaGFzLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXItZ3JvdXBcOlxbXCZcPnN2Z1xdXDpzaXplLTM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICopPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOlxbXCZcPnN2Z1xdXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9ZGVmYXVsdF0gKik+c3ZnLC5ncm91cC1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyXDpcW1wmXD5zdmdcXVw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2F2YXRhclw6XFtcJlw+c3ZnXF1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKik+c3Zne2Rpc3BsYXk6bm9uZX0uXFtcJlw+c3ZnXDpub3RcKFxbY2xhc3NcKlw9XCdzaXplLVwnXF1cKVxdXDpzaXplLTNcLjU+c3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxbXCZcPnN2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00PnN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZcPnRyXF1cOmxhc3RcOmJvcmRlci1iLTA+dHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjBzfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vcm1hbH1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub25lfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1zY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWV4aXQtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtc2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXRyYW5zbGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfTpyb290ey0tYmFja2dyb3VuZDojZmZmOy0tZm9yZWdyb3VuZDojMTExODI3Oy0tY2FyZDojZjlmYWZiOy0tY2FyZC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wb3BvdmVyOiNmZmY7LS1wb3BvdmVyLWZvcmVncm91bmQ6IzExMTgyNzstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiNmM2Y0ZjY7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojMTExODI3Oy0tbXV0ZWQ6I2YzZjRmNjstLW11dGVkLWZvcmVncm91bmQ6IzZiNzI4MDstLWFjY2VudDojZjNmNGY2Oy0tYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6I2U1ZTdlYjstLWlucHV0OiNlNWU3ZWI7LS1yaW5nOiMwMDc0ZjU7LS1yYWRpdXM6LjVyZW07LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6I2Y5ZmFmYjstLXN1cmZhY2UtMjojZjNmNGY2Oy0tY2hhcnQtMTojMDA3NGY1Oy0tY2hhcnQtMjojMDBiOGE5Oy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojZjlmYWZiOy0tc2lkZWJhci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1zaWRlYmFyLXByaW1hcnk6IzAwNzRmNTstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojZjNmNGY2Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1ib3JkZXI6I2U1ZTdlYjstLXNpZGViYXItcmluZzojMDA3NGY1fS5kYXJrey0tYmFja2dyb3VuZDojMGIwZjE5Oy0tZm9yZWdyb3VuZDojZjlmYWZiOy0tY2FyZDojMTExODI3Oy0tY2FyZC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wb3BvdmVyOiMxMTE4Mjc7LS1wb3BvdmVyLWZvcmVncm91bmQ6I2Y5ZmFmYjstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiMxZjI5Mzc7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojZjlmYWZiOy0tbXV0ZWQ6IzFmMjkzNzstLW11dGVkLWZvcmVncm91bmQ6IzljYTNhZjstLWFjY2VudDojMWYyOTM3Oy0tYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6IzM3NDE1MTstLWlucHV0OiMzNzQxNTE7LS1yaW5nOiMwMDc0ZjU7LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6IzExMTgyNzstLXN1cmZhY2UtMjojMWYyOTM3Oy0tY2hhcnQtMTojM2Q5YWZmOy0tY2hhcnQtMjojMzNjOWJkOy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojMTExODI3Oy0tc2lkZWJhci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1zaWRlYmFyLXByaW1hcnk6IzNkOWFmZjstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojMWYyOTM3Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1ib3JkZXI6IzM3NDE1MTstLXNpZGViYXItcmluZzojMDA3NGY1fUBrZXlmcmFtZXMgdGV4dC1zaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJX10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlfX0udGV4dC1zaGltbWVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLW11dGVkLWZvcmVncm91bmQpNDAlLHZhcigtLWZvcmVncm91bmQpNTAlLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlKTtjb2xvcjojMDAwMDtiYWNrZ3JvdW5kLXNpemU6MjAwJTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0O2FuaW1hdGlvbjoycyBsaW5lYXIgaW5maW5pdGUgdGV4dC1zaGltbWVyfWh0bWwuY2MtY29uc2VudGVkIC5jb29raWUtbm90aWNle2Rpc3BsYXk6bm9uZX1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctc3BhY2UteC1yZXZlcnNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6Ijxjb2xvcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbntzeW50YXg6IjxsZW5ndGgtcGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9ue3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTo1MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb257c3ludGF4OiI8bGVuZ3RoLXBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctbGVhZGluZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctdHJhY2tpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcmRpbmFse3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1maWd1cmV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLXNwYWNpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6I2ZmZn1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kdXJhdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWVhc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToiIn1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHB1bHNlezUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzIGVudGVyezAle29wYWNpdHk6dmFyKC0tdHctZW50ZXItb3BhY2l0eSwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QodmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1lbnRlci1yb3RhdGUsMCkpO2ZpbHRlcjpibHVyKHZhcigtLXR3LWVudGVyLWJsdXIsMCkpfX1Aa2V5ZnJhbWVzIGV4aXR7dG97b3BhY2l0eTp2YXIoLS10dy1leGl0LW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZXhpdC10cmFuc2xhdGUteSwwKSwwKXNjYWxlM2QodmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpLHZhcigtLXR3LWV4aXQtc2NhbGUsMSkpcm90YXRlKHZhcigtLXR3LWV4aXQtcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1leGl0LWJsdXIsMCkpfX0KPC9zdHlsZT48bGluayByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNoUHJpb3JpdHk9ImxvdyIgaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIvPjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy85ZGYzYjY3YjYwNjFlYTllLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzQ5MTE0MTBlNTE1M2YwZDcuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy80ODE1YTc1ODY1N2Q0YmFlLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvdHVyYm9wYWNrLTE4YTlkZTUxMmExOTMzYWQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvZDcxYjk5MjY3YjA2NmI5Yi5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tIiBjcm9zc29yaWdpbj0iIi8+PG1ldGEgbmFtZT0ibmV4dC1zaXplLWFkanVzdCIgY29udGVudD0iIi8+PHRpdGxlPkNvaW5saWIgV2lkZ2V0IHwgQ29pbmxpYjwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9ImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXIiLz48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiLz48bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJUcmFjayByZWFsLXRpbWUgY3J5cHRvY3VycmVuY3kgcHJpY2VzLCBtYXJrZXQgY2FwLCBjaGFydHMsIGFuZCBwb3J0Zm9saW8uIEV4cGxvcmUgdGhvdXNhbmRzIG9mIGNvaW5zIGFuZCBleGNoYW5nZXMgd2l0aCBDb2lubGliLiIvPjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pbyIvPjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkNvaW5saWIiLz48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZyIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjYzMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTphbHQiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJDb2lubGliIOKAlCBDcnlwdG9jdXJyZW5jeSBQcmljZXMsIENoYXJ0cyAmYW1wOyBNYXJrZXQgRGF0YSIvPjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jb2lubGliLmlvL29nL2RlZmF1bHQucG5nIi8+PGxpbmsgcmVsPSJpY29uIiBocmVmPSIvZmF2aWNvbi5pY28/ZmF2aWNvbi4zOTBlMTEwOS5pY28iIHNpemVzPSI0OHg0OCIgdHlwZT0iaW1hZ2UveC1pY29uIi8+PGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz48c2NyaXB0PnRyeXtpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29pbmxpYi1jb29raWUtY29uc2VudCcpKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY2MtY29uc2VudGVkJyl9fWNhdGNoKGUpe308L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvYTZkYWQ5N2Q5NjM0YTcyZC5qcyIgbm9Nb2R1bGU9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWQiPjxkaXYgaGlkZGVuPSIiPjwhLS0kLS0+PCEtLS8kLS0+PC9kaXY+PHNjcmlwdD4oKGEsYixjLGQsZSxmLGcsaCk9PntsZXQgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaj1bImxpZ2h0IiwiZGFyayJdO2Z1bmN0aW9uIGsoYil7dmFyIGM7KEFycmF5LmlzQXJyYXkoYSk/YTpbYV0pLmZvckVhY2goYT0+e2xldCBjPSJjbGFzcyI9PT1hLGQ9YyYmZj9lLm1hcChhPT5mW2FdfHxhKTplO2M/KGkuY2xhc3NMaXN0LnJlbW92ZSguLi5kKSxpLmNsYXNzTGlzdC5hZGQoZiYmZltiXT9mW2JdOmIpKTppLnNldEF0dHJpYnV0ZShhLGIpfSksYz1iLGgmJmouaW5jbHVkZXMoYykmJihpLnN0eWxlLmNvbG9yU2NoZW1lPWMpfWlmKGQpayhkKTtlbHNlIHRyeXtsZXQgYT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiKXx8YyxkPWcmJiJzeXN0ZW0iPT09YT93aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImRhcmsiOiJsaWdodCI6YTtrKGQpfWNhdGNoKGEpe319KSgiY2xhc3MiLCJ0aGVtZSIsImRhcmsiLG51bGwsWyJsaWdodCIsImRhcmsiXSxudWxsLHRydWUsdHJ1ZSk8L3NjcmlwdD48c3R5bGU+aHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfTwvc3R5bGU+PCEtLSQhLS0+PHRlbXBsYXRlIGRhdGEtZGdzdD0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciPjwvdGVtcGxhdGU+PCEtLS8kLS0+PCEtLSQtLT48IS0tLyQtLT48c2NyaXB0PihmdW5jdGlvbigpe2Z1bmN0aW9uIGxvYWQoKXt3aW5kb3cuZGF0YUxheWVyPXdpbmRvdy5kYXRhTGF5ZXJ8fFtdO3dpbmRvdy5ndGFnPWZ1bmN0aW9uKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKX07Z3RhZygnanMnLG5ldyBEYXRlKCkpO2d0YWcoJ2NvbmZpZycsJ0ctVjg0WFA4V0dYWScpO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3Muc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVjg0WFA4V0dYWSc7cy5hc3luYz10cnVlO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9ZnVuY3Rpb24gc2NoZWR1bGUoKXtpZigncmVxdWVzdElkbGVDYWxsYmFjaydpbiB3aW5kb3cpe3JlcXVlc3RJZGxlQ2FsbGJhY2sobG9hZCx7dGltZW91dDozMDAwfSl9ZWxzZXtzZXRUaW1lb3V0KGxvYWQsMTUwMCl9fWlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtzY2hlZHVsZSgpfWVsc2V7YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsc2NoZWR1bGUse29uY2U6dHJ1ZX0pfX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzgxYTI5OGRkYzc0NzEwNzAuanMiIGlkPSJfUl8iIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQ+KHNlbGYuX19uZXh0X2Y9c2VsZi5fX25leHRfZnx8W10pLnB1c2goWzBdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxOlwiJFNyZWFjdC5mcmFnbWVudFwiXG5hOklbMTYxNTMsW10sXCJkZWZhdWx0XCJdXG46SExbXCIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyXCIsXCJmb250XCIse1wiY3Jvc3NPcmlnaW5cIjpcIlwiLFwidHlwZVwiOlwiZm9udC93b2ZmMlwifV1cbjI6VDg4NCwiXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiQGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmM1NWEwZTYwMTIwNTc3YS1zLjJhNDg1MzRhLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSs0NjAtNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS85YzcyYWEwZjQwZTRlZWY4LXMuMThhNDhjYmMud29mZjIpZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxRj8/fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzU0NzZmNjhkNjA0NjA5MzAtcy5jOTk1ZTM1Mi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMzcwLTM3NyxVKzM3QS0zN0YsVSszODQtMzhBLFUrMzhDLFUrMzhFLTNBMSxVKzNBMy0zRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmJiZThkMjY3MTYxM2YxZi1zLjc2ZGNiMGIyLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMTAwLTJCQSxVKzJCRC0yQzUsVSsyQzctMkNDLFUrMkNFLTJENyxVKzJERC0yRkYsVSszMDQsVSszMDgsVSszMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4zYTZiYTAzNi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrPz8sVSsxMzEsVSsxNTItMTUzLFUrMkJCLTJCQyxVKzJDNixVKzJEQSxVKzJEQyxVKzMwNCxVKzMwOCxVKzMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXIgRmFsbGJhY2s7c3JjOmxvY2FsKEFyaWFsKTthc2NlbnQtb3ZlcnJpZGU6OTAuNDQlO2Rlc2NlbnQtb3ZlcnJpZGU6MjIuNTIlO2xpbmUtZ2FwLW92ZXJyaWRlOjAuMCU7c2l6ZS1hZGp1c3Q6MTA3LjEyJX0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX2NsYXNzTmFtZXtmb250LWZhbWlseTpJbnRlcixJbnRlciBGYWxsYmFjaztmb250LXN0eWxlOm5vcm1hbH0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX3ZhcmlhYmxley0tZm9udC1pbnRlcjpcIkludGVyXCIsXCJJbnRlciBGYWxsYmFja1wifVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjM6VDFkNmU4LCJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJAbGF5ZXIgcHJvcGVydGllc3tAc3VwcG9ydHMgKCgoLXdlYmtpdC1oeXBoZW5zOm5vbmUpKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06aW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6aW5saW5lKSBhbmQgKG5vdCAoY29sb3I6cmdiKGZyb20gcmVkIHIgZyBiKSkpKXsqLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS10dy10cmFuc2xhdGUteDowOy0tdHctdHJhbnNsYXRlLXk6MDstLXR3LXRyYW5zbGF0ZS16OjA7LS10dy1yb3RhdGUteDppbml0aWFsOy0tdHctcm90YXRlLXk6aW5pdGlhbDstLXR3LXJvdGF0ZS16OmluaXRpYWw7LS10dy1za2V3LXg6aW5pdGlhbDstLXR3LXNrZXcteTppbml0aWFsOy0tdHctc3BhY2UteS1yZXZlcnNlOjA7LS10dy1zcGFjZS14LXJldmVyc2U6MDstLXR3LWRpdmlkZS15LXJldmVyc2U6MDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWdyYWRpZW50LXBvc2l0aW9uOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tOiMwMDAwOy0tdHctZ3JhZGllbnQtdmlhOiMwMDAwOy0tdHctZ3JhZGllbnQtdG86IzAwMDA7LS10dy1ncmFkaWVudC1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtdmlhLXN0b3BzOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOjEwMCU7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbDstLXR3LWNvbnRlbnQ6XCJcIjstLXR3LWFuaW1hdGlvbi1kZWxheTowczstLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsOy0tdHctYW5pbWF0aW9uLWR1cmF0aW9uOmluaXRpYWw7LS10dy1hbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7LS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LS10dy1lbnRlci1ibHVyOjA7LS10dy1lbnRlci1vcGFjaXR5OjE7LS10dy1lbnRlci1yb3RhdGU6MDstLXR3LWVudGVyLXNjYWxlOjE7LS10dy1lbnRlci10cmFuc2xhdGUteDowOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6MDstLXR3LWV4aXQtYmx1cjowOy0tdHctZXhpdC1vcGFjaXR5OjE7LS10dy1leGl0LXJvdGF0ZTowOy0tdHctZXhpdC1zY2FsZToxOy0tdHctZXhpdC10cmFuc2xhdGUteDowOy0tdHctZXhpdC10cmFuc2xhdGUteTowfX19QGxheWVyIHRoZW1lezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDojZmIyYzM2Oy0tY29sb3Itb3JhbmdlLTUwMDojZmU2ZTAwOy0tY29sb3ItZ3JlZW4tNDAwOiMwNWRmNzI7LS1jb2xvci1ncmVlbi02MDA6IzAwYTU0NDstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci13aGl0ZTojZmZmOy0tc3BhY2luZzouMjVyZW07LS1jb250YWluZXIteHM6MjByZW07LS1jb250YWluZXItc206MjRyZW07LS1jb250YWluZXItbWQ6MjhyZW07LS1jb250YWluZXItbGc6MzJyZW07LS1jb250YWluZXIteGw6MzZyZW07LS1jb250YWluZXItMnhsOjQycmVtOy0tY29udGFpbmVyLTN4bDo0OHJlbTstLWNvbnRhaW5lci00eGw6NTZyZW07LS1jb250YWluZXItN3hsOjgwcmVtOy0tdGV4dC14czouNzVyZW07LS10ZXh0LXhzLS1saW5lLWhlaWdodDpjYWxjKDEvLjc1KTstLXRleHQtc206Ljg3NXJlbTstLXRleHQtc20tLWxpbmUtaGVpZ2h0OmNhbGMoMS4yNS8uODc1KTstLXRleHQtYmFzZToxcmVtOy0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDpjYWxjKDEuNS8xKTstLXRleHQtbGc6MS4xMjVyZW07LS10ZXh0LWxnLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4xMjUpOy0tdGV4dC14bDoxLjI1cmVtOy0tdGV4dC14bC0tbGluZS1oZWlnaHQ6Y2FsYygxLjc1LzEuMjUpOy0tdGV4dC0yeGw6MS41cmVtOy0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OmNhbGMoMi8xLjUpOy0tdGV4dC0zeGw6MS44NzVyZW07LS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjI1LzEuODc1KTstLXRleHQtNHhsOjIuMjVyZW07LS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjUvMi4yNSk7LS10ZXh0LTZ4bDozLjc1cmVtOy0tdGV4dC02eGwtLWxpbmUtaGVpZ2h0OjE7LS1mb250LXdlaWdodC1ub3JtYWw6NDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnQtd2VpZ2h0LWJvbGQ6NzAwOy0tdHJhY2tpbmctdGlnaHQ6LS4wMjVlbTstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tdHJhY2tpbmctd2lkZXN0Oi4xZW07LS1sZWFkaW5nLXRpZ2h0OjEuMjU7LS1sZWFkaW5nLXNudWc6MS4zNzU7LS1sZWFkaW5nLXJlbGF4ZWQ6MS42MjU7LS1yYWRpdXMtbWQ6Y2FsYyh2YXIoLS1yYWRpdXMpKi44KTstLWVhc2UtaW4tb3V0OmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tYW5pbWF0ZS1zcGluOnNwaW4gMXMgbGluZWFyIGluZmluaXRlOy0tYW5pbWF0ZS1wdWxzZTpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKWluZmluaXRlOy0tYmx1ci14czo0cHg7LS1ibHVyLXNtOjhweDstLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzOy0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstLWRlZmF1bHQtZm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSxcIkludGVyXCIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDpsYWIoNTUuNDgxNCUgNzUuMDczMiA0OC44NTI4KTstLWNvbG9yLW9yYW5nZS01MDA6bGFiKDY0LjI3MiUgNTcuMTc4OCA5MC4zNTgzKTstLWNvbG9yLWdyZWVuLTQwMDpsYWIoNzguNTAzJSAtNjQuOTI2NSAzOS43NDkyKTstLWNvbG9yLWdyZWVuLTYwMDpsYWIoNTkuMDk3OCUgLTU4LjY2MjEgNDEuMjU3OSl9fX1AbGF5ZXIgYmFzZXsqLDphZnRlciw6YmVmb3JlLDo6YmFja2Ryb3B7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2xpbmUtaGVpZ2h0OjEuNTtmb250LWZhbWlseTp2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiLFwiTm90byBDb2xvciBFbW9qaVwiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2hlaWdodDowO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHh9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLFwiTGliZXJhdGlvbiBNb25vXCIsXCJDb3VyaWVyIE5ld1wiLG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTtmb250LXNpemU6MWVtfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX10YWJsZXt0ZXh0LWluZGVudDowO2JvcmRlci1jb2xvcjppbmhlcml0O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19b2wsdWwsbWVudXtsaXN0LXN0eWxlOm5vbmV9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99YnV0dG9uLGlucHV0LHNlbGVjdCxvcHRncm91cCx0ZXh0YXJlYXtmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKG5vdCAoKC13ZWJraXQtYXBwZWFyYW5jZTotYXBwbGUtcGF5LWJ1dHRvbikpKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZToxcHgpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y3VycmVudENvbG9yfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXs6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYixjdXJyZW50Y29sb3IgNTAlLHRyYW5zcGFyZW50KX19fXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWV7bWluLWhlaWdodDoxbGg7dGV4dC1hbGlnbjppbmhlcml0fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e2Rpc3BsYXk6aW5saW5lLWZsZXh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXJ7cGFkZGluZzowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntsaW5lLWhlaWdodDoxfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdKXthcHBlYXJhbmNlOmJ1dHRvbn06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Kntib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtvdXRsaW5lLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsqe291dGxpbmUtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1jb2RlLHByZSxrYmR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn19QGxheWVyIGNvbXBvbmVudHM7QGxheWVyIHV0aWxpdGllc3suXFxAY29udGFpbmVyXFwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXFwuNXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnRvcC0xXFwvMnt0b3A6NTAlfS50b3AtMVxcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcXC41e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucmlnaHQtM3tyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTIwe2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0wXFwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcXC41e2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5sZWZ0LTN7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTR7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5sZWZ0LTEwe2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmlzb2xhdGV7aXNvbGF0aW9uOmlzb2xhdGV9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotNDB7ei1pbmRleDo0MH0uei01MHt6LWluZGV4OjUwfS5vcmRlci1maXJzdHtvcmRlcjotOTk5OX0ub3JkZXItbGFzdHtvcmRlcjo5OTk5fS5jb2wtc3RhcnQtMntncmlkLWNvbHVtbi1zdGFydDoyfS5yb3ctc3Bhbi0ye2dyaWQtcm93OnNwYW4gMi9zcGFuIDJ9LnJvdy1zdGFydC0xe2dyaWQtcm93LXN0YXJ0OjF9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo0MHJlbX19QG1lZGlhIChtaW4td2lkdGg6NDhyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQ4cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NjRyZW19fUBtZWRpYSAobWluLXdpZHRoOjgwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo4MHJlbX19QG1lZGlhIChtaW4td2lkdGg6OTZyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjk2cmVtfX0uLW14LTF7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uLW14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi00KX0ubXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5teC1hdXRve21hcmdpbi1pbmxpbmU6YXV0b30ubXktMXttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXktMnttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHJvc2V7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9keSk7bWF4LXdpZHRoOjY1Y2h9LnByb3NlIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTttYXJnaW4tdG9wOjEuMmVtO21hcmdpbi1ib3R0b206MS4yZW07Zm9udC1zaXplOjEuMjVlbTtsaW5lLWhlaWdodDoxLjZ9LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxpbmtzKTtmb250LXdlaWdodDo1MDA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucHJvc2UgOndoZXJlKHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2xkKTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShhIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9QSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWEgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9SSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWkgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWNvdW50ZXJzKTtmb250LXdlaWdodDo0MDB9LnByb3NlIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOjptYXJrZXJ7Y29sb3I6dmFyKC0tdHctcHJvc2UtYnVsbGV0cyl9LnByb3NlIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWNvbG9yOnZhcigtLXR3LXByb3NlLWhyKTtib3JkZXItdG9wLXdpZHRoOjFweDttYXJnaW4tdG9wOjNlbTttYXJnaW4tYm90dG9tOjNlbX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOi4yNXJlbTtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLXR3LXByb3NlLXF1b3RlLWJvcmRlcnMpO3F1b3RlczpcIuKAnFwiXCLigJ1cIlwi4oCYXCJcIuKAmVwiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW19LnByb3NlIDp3aGVyZShoMyBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNCBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLXByZS1jb2RlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR3LXByb3NlLXByZS1iZyk7cGFkZGluZy10b3A6Ljg1NzE0M2VtO3BhZGRpbmctaW5saW5lLWVuZDoxLjE0Mjg2ZW07cGFkZGluZy1ib3R0b206Ljg1NzE0M2VtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjEuNzE0MjllbTttYXJnaW4tYm90dG9tOjEuNzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg2ZW07Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyOTtvdmVyZmxvdy14OmF1dG99LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXdlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmJlZm9yZSwucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RhYmxlLWxheW91dDphdXRvO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI5fS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKHRib2R5IHRyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGQtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Ym9keSB0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKHRoLHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RleHQtYWxpZ246c3RhcnR9LnByb3NlIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWNhcHRpb25zKTttYXJnaW4tdG9wOi44NTcxNDNlbTtmb250LXNpemU6Ljg3NWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3Nley0tdHctcHJvc2UtYm9keTojMzY0MTUzOy0tdHctcHJvc2UtaGVhZGluZ3M6IzEwMTgyODstLXR3LXByb3NlLWxlYWQ6IzRhNTU2NTstLXR3LXByb3NlLWxpbmtzOiMxMDE4Mjg7LS10dy1wcm9zZS1ib2xkOiMxMDE4Mjg7LS10dy1wcm9zZS1jb3VudGVyczojNmE3MjgyOy0tdHctcHJvc2UtYnVsbGV0czojZDFkNWRjOy0tdHctcHJvc2UtaHI6I2U1ZTdlYjstLXR3LXByb3NlLXF1b3RlczojMTAxODI4Oy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtY2FwdGlvbnM6IzZhNzI4MjstLXR3LXByb3NlLWtiZDojMTAxODI4Oy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6IzEwMTgyODFhOy0tdHctcHJvc2UtY29kZTojMTAxODI4Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWUyOTM5Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRjOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6Izk5YTFhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC1ocjojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM2NDE1MzstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOiNmZmZmZmYxYTstLXR3LXByb3NlLWludmVydC1jb2RlOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1wcmUtYmc6IzAwMDAwMDgwOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOiMzNjQxNTM7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS43NX1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXsucHJvc2V7LS10dy1wcm9zZS1ib2R5OmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1oZWFkaW5nczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWxlYWQ6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWxpbmtzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtYm9sZDpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWNvdW50ZXJzOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1idWxsZXRzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWhyOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1xdW90ZXM6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1jYXB0aW9uczpsYWIoNDcuNzg0MSUgLS4zOTMxODIgLTEwLjAyNjgpOy0tdHctcHJvc2Uta2JkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NC8uMSk7LS10dy1wcm9zZS1jb2RlOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtcHJlLWNvZGU6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXByZS1iZzpsYWIoMTYuMTA1MSUgLTEuMTgyMzkgLTExLjc1MzMpOy0tdHctcHJvc2UtdGgtYm9yZGVyczpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1pbnZlcnQtYm9keTpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtaW52ZXJ0LWhyOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOmxhYig5Ni4xNTk2JSAtLjA4MjM0MzggLTEuMTM1NzUpOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpfX0ucHJvc2UgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodWxcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDouMzc1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQ6Zmlyc3QtY2hpbGQsdGZvb3QgdGQ6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmxhc3QtY2hpbGQsdGZvb3QgdGQ6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UgOndoZXJlKGZpZ3VyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UtbGcgOndoZXJlKHZpZGVvKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi4yMjIyMjJlbTtwYWRkaW5nLWlubGluZS1lbmQ6LjQ0NDQ0NGVtO3BhZGRpbmctYm90dG9tOi4yMjIyMjJlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40NDQ0NDRlbTtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg3NWVtfS5wcm9zZS1sZyA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOjFlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS41ZW07cGFkZGluZy1ib3R0b206MWVtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjVlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlLWxnIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTU1NTZlbX0ucHJvc2UtbGcgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO21hcmdpbi1ib3R0b206LjY2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZShkbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41NTU1NmVtfS5wcm9zZS1sZyA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDozLjExMTExZW07bWFyZ2luLWJvdHRvbTozLjExMTExZW19LnByb3NlLWxnIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UtbGcgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODg4ODg5ZW07bGluZS1oZWlnaHQ6MS41fS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGgpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOi43NWVtO3BhZGRpbmctYm90dG9tOi43NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi43NWVtfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UtbGcgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNzVlbTtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlXHUwMDNlKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZ1x1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNzE0Mjl9LnByb3NlLXNtIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbTtmb250LXNpemU6MS4yODU3MWVtO2xpbmUtaGVpZ2h0OjEuNTU1NTZ9LnByb3NlLXNtIDp3aGVyZShibG9ja3F1b3RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuMTExMTFlbX0ucHJvc2Utc20gOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi44ZW07Zm9udC1zaXplOjIuMTQyODZlbTtsaW5lLWhlaWdodDoxLjJ9LnByb3NlLXNtIDp3aGVyZShoMik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNmVtO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6MS40Mjg1N2VtO2xpbmUtaGVpZ2h0OjEuNH0ucHJvc2Utc20gOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS41NTU1NmVtO21hcmdpbi1ib3R0b206LjQ0NDQ0NGVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGg0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS40Mjg1N2VtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3NlLXNtIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUocGljdHVyZVx1MDAzZWltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40Mjg1NzFlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGkgcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZW9sXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjU3MTQyOWVtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKGRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjI4NTcxNGVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTcxNDNlbX0ucHJvc2Utc20gOndoZXJlKGhyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Mi44NTcxNGVtO21hcmdpbi1ib3R0b206Mi44NTcxNGVtfS5wcm9zZS1zbSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg1NzE0M2VtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLXNtIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNtIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO2ZvbnQtc2l6ZTouODU3MTQzZW07bGluZS1oZWlnaHQ6MS4zMzMzM30ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc21cdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9Li1tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm10LTBcXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVxcLjV7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1iLTJ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tYi0ze21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1iLTZ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5tYi04e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ubWItMTB7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ubWwtMXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tbC0ye21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubGluZS1jbGFtcC0yey13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubm8tc2Nyb2xsYmFyey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS5uby1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uYmxvY2t7ZGlzcGxheTpibG9ja30uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pbmxpbmV7ZGlzcGxheTppbmxpbmV9LmlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0ubGlzdC1pdGVte2Rpc3BsYXk6bGlzdC1pdGVtfS50YWJsZXtkaXNwbGF5OnRhYmxlfS50YWJsZS1jYXB0aW9ue2Rpc3BsYXk6dGFibGUtY2FwdGlvbn0udGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LnRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvd30uZmllbGQtc2l6aW5nLWNvbnRlbnR7ZmllbGQtc2l6aW5nOmNvbnRlbnR9LmFzcGVjdC1cXFsxNlxcLzlcXF17YXNwZWN0LXJhdGlvOjE2Lzl9LmFzcGVjdC1cXFs2MTBcXC8yMDhcXF17YXNwZWN0LXJhdGlvOjYxMC8yMDh9LmFzcGVjdC1zcXVhcmV7YXNwZWN0LXJhdGlvOjF9LnNpemUtM1xcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9LnNpemUtN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5zaXplLTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5zaXplLTE0e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaC0yXFwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1xcLjV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0uaC00e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5oLTV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOFxcIXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KSFpbXBvcnRhbnR9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtMTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5oLTE0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uaC0xNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LmgtMjB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjApfS5oLTI0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0uaC00MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LmgtNjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5oLTgwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX0uaC1cXFs4MHB4XFxde2hlaWdodDo4MHB4fS5oLVxcWzMwMHB4XFxde2hlaWdodDozMDBweH0uaC1cXFszNjBweFxcXXtoZWlnaHQ6MzYwcHh9LmgtXFxbNDQwcHhcXF17aGVpZ2h0OjQ0MHB4fS5oLVxcW2NhbGNcXCgxMDBcXCUtMXB4XFwpXFxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVxcKC0tYXZhaWxhYmxlLWhlaWdodFxcKXttYXgtaGVpZ2h0OnZhcigtLWF2YWlsYWJsZS1oZWlnaHQpfS5tYXgtaC02NHttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5tYXgtaC03MnttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNzIpfS5taW4taC0xNnttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5taW4taC1cXFs2MHZoXFxde21pbi1oZWlnaHQ6NjB2aH0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9LnctXFwoLS1hbmNob3Itd2lkdGhcXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXFwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnctNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS53LTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0udy02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNil9LnctN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS53LTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0udy05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSl9LnctMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnctMTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnctMTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnctMTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnctMjB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyMCl9LnctMjR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnctMjh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyOCl9LnctMzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9LnctNDB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LnctNDR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0NCl9LnctNDh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9LnctNTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Mil9LnctNTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Nil9LnctNzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3Mil9LnctXFxbMTIwcHhcXF17d2lkdGg6MTIwcHh9LnctXFxbMTQwcHhcXF17d2lkdGg6MTQwcHh9LnctXFxbY2FsY1xcKFxcKDEwMFxcJS0ycmVtXFwpXFwvM1xcKVxcXXt3aWR0aDpjYWxjKDMzLjMzMzMlIC0gLjY2NjY2N3JlbSl9LnctYXV0b3t3aWR0aDphdXRvfS53LWZpdHt3aWR0aDpmaXQtY29udGVudH0udy1mdWxse3dpZHRoOjEwMCV9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy0we21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tYXgtdy0yeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0yeGwpfS5tYXgtdy0zeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0zeGwpfS5tYXgtdy00eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci00eGwpfS5tYXgtdy03eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci03eGwpfS5tYXgtdy00OHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9Lm1heC13LVxcWzIwMHB4XFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFxbY2FsY1xcKDEwMFxcJS0ycmVtXFwpXFxde21heC13aWR0aDpjYWxjKDEwMCUgLSAycmVtKX0ubWF4LXctXFxbY2FsY1xcKDEwMHZ3LTJyZW1cXClcXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFxbMnJlbVxcXXttaW4td2lkdGg6MnJlbX0ubWluLXctXFxbOTZweFxcXXttaW4td2lkdGg6OTZweH0ubWluLXctXFxbMTUwcHhcXF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cXCgtLXRyYW5zZm9ybS1vcmlnaW5cXCl7dHJhbnNmb3JtLW9yaWdpbjp2YXIoLS10cmFuc2Zvcm0tb3JpZ2luKX0uLXRyYW5zbGF0ZS14LTFcXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFxbM3B4XFxdey0tdHctdHJhbnNsYXRlLXg6M3B4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS14LVxcWzE4cHhcXF17LS10dy10cmFuc2xhdGUteDoxOHB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Li10cmFuc2xhdGUteS0xXFwvMnstLXR3LXRyYW5zbGF0ZS15OmNhbGMoY2FsYygxLzIqMTAwJSkqLTEpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnJvdGF0ZS0xODB7cm90YXRlOjE4MGRlZ30udHJhbnNmb3Jte3RyYW5zZm9ybTp2YXIoLS10dy1yb3RhdGUteCwpdmFyKC0tdHctcm90YXRlLXksKXZhcigtLXR3LXJvdGF0ZS16LCl2YXIoLS10dy1za2V3LXgsKXZhcigtLXR3LXNrZXcteSwpfS50cmFuc2Zvcm0tZ3B1e3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApdmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1wdWxzZSl9LmFuaW1hdGUtc3BpbnthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1zcGluKX0uY3Vyc29yLWNyb3NzaGFpcntjdXJzb3I6Y3Jvc3NoYWlyfS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdH0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5yZXNpemV7cmVzaXplOmJvdGh9LnJlc2l6ZS1ub25le3Jlc2l6ZTpub25lfS5zY3JvbGwtcHktMXtzY3JvbGwtcGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5saXN0LWRpc2N7bGlzdC1zdHlsZS10eXBlOmRpc2N9Lmxpc3Qtbm9uZXtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uYXV0by1jb2xzLWZye2dyaWQtYXV0by1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmdyaWQtZmxvdy1jb2x7Z3JpZC1hdXRvLWZsb3c6Y29sdW1ufS5hdXRvLXJvd3MtbWlue2dyaWQtYXV0by1yb3dzOm1pbi1jb250ZW50fS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LWNvbC1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0wXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVxcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uZ2FwLTJ7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMil9LmdhcC0yXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5nYXAtM3tnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ2FwLTR7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmdhcC02e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5nYXAtOHtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ2FwLVxcWzJweFxcXXtnYXA6MnB4fTp3aGVyZSguc3BhY2UteS0wXFwuNVx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTFcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVxcLjVcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktM1x1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS00XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTZcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktOFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS0xMFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWlubGluZS1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi0yKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LmdhcC15LTFcXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctZGl2aWRlLXktcmV2ZXJzZTowO2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDpjYWxjKDFweCp2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSk7Ym9yZGVyLWJvdHRvbS13aWR0aDpjYWxjKDFweCpjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpfTp3aGVyZSguZGl2aWRlLWJvcmRlclx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uc2VsZi1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lmp1c3RpZnktc2VsZi1lbmR7anVzdGlmeS1zZWxmOmZsZXgtZW5kfS50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59Lm92ZXJmbG93LXgtc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtfS5yb3VuZGVkLTJ4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLTR4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoyLjYpfS5yb3VuZGVkLVxcW2NhbGNcXCh2YXJcXCgtLXJhZGl1c1xcKS0zcHhcXClcXF17Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAzcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTBweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEwcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTJweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXFwhe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjgpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKi42KX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLXhsXFwhe2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCkhaW1wb3J0YW50fS5yb3VuZGVkLXQtMnhse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLWIteGx7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LmJvcmRlci1kYXNoZWR7LS10dy1ib3JkZXItc3R5bGU6ZGFzaGVkO2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ib3JkZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcil9LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRlc3RydWN0aXZlXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kZXN0cnVjdGl2ZVxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1pbnB1dFxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1wcmltYXJ5e2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXJlZC01MDApNDAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1zdWNjZXNzXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXN1Y2Nlc3NcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxcW1xcIzIyOUVEOVxcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcXC84MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmFja2dyb3VuZFxcLzgwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWJhY2tncm91bmQpODAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXFwvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1xcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWJsYWNrKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1xcLzUwe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDgwfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmxhY2tcXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclxcLzV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kYW5nZXIpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGFuZ2VyXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kYW5nZXIpNSUsdHJhbnNwYXJlbnQpfX0uYmctZGVzdHJ1Y3RpdmUsLmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk1JSx0cmFuc3BhcmVudCl9fS5iZy1kZXN0cnVjdGl2ZVxcLzEwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGVzdHJ1Y3RpdmVcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWlucHV0XFwvMzB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5iZy1tdXRlZC1mb3JlZ3JvdW5kXFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcXC8yNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTI1JSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFxcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcXC80MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXFwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFxcLzUwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTUwJSx0cmFuc3BhcmVudCl9fS5iZy1wb3BvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tcG9wb3Zlcil9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeVxcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk1JSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1zdWNjZXNzXFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zdXJmYWNlLC5iZy1zdXJmYWNlXFwvOTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdXJmYWNlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1cmZhY2VcXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdhcm5pbmdcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXFwvMTV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTUlLHRyYW5zcGFyZW50KX19LmJnLWdyYWRpZW50LXRvLWJyey0tdHctZ3JhZGllbnQtcG9zaXRpb246dG8gYm90dG9tIHJpZ2h0IGluIG9rbGFiO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmZyb20tXFxbXFwjMzhBRkUzXFxdey0tdHctZ3JhZGllbnQtZnJvbTojMzhhZmUzOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmZyb20tXFxbXFwjMjI5RUQ5XFxdey0tdHctZ3JhZGllbnQtZnJvbTojMjI5ZWQ5Oy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LnRvLVxcW1xcIzFGOTdDQVxcXXstLXR3LWdyYWRpZW50LXRvOiMxZjk3Y2E7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFxbXFwjMWE3ZmIwXFxdey0tdHctZ3JhZGllbnQtdG86IzFhN2ZiMDstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS5iZy1jbGlwLXBhZGRpbmd7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXFwuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wLTF7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wLTJ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wLTN7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wLTR7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5wLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wLTEye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnAtXFxbM3B4XFxde3BhZGRpbmc6M3B4fS5weC0xe3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB4LTFcXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXFwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHktMntwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMil9LnB5LTJcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1xcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnB5LTR7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weS02e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHktOHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnB5LTEwe3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnB5LTEye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnB5LTE2e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnB0LTJ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHQtM3twYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wdC00e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB0LTZ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHItMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnByLTR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wci04e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHItMTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wYi04e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBiLTEwe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5wYi0xNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucGwtMVxcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucGwtMntwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGwtNXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucGwtOHtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGwtOXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9udC1tb25ve2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLFwiSW50ZXJcIix1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTJ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS50ZXh0LTR4bHtmb250LXNpemU6dmFyKC0tdGV4dC00eGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTZ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC1iYXNle2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWJhc2UpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodCkpfS50ZXh0LWxne2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWxnKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtbGctLWxpbmUtaGVpZ2h0KSl9LnRleHQtc217Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0udGV4dC14bHtmb250LXNpemU6dmFyKC0tdGV4dC14bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXhsLS1saW5lLWhlaWdodCkpfS50ZXh0LXhze2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9LnRleHQtXFxbMFxcLjhyZW1cXF17Zm9udC1zaXplOi44cmVtfS50ZXh0LVxcWzEwcHhcXF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFxbMTFweFxcXXtmb250LXNpemU6MTFweH0ubGVhZGluZy1ub25ley0tdHctbGVhZGluZzoxO2xpbmUtaGVpZ2h0OjF9LmxlYWRpbmctcmVsYXhlZHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy1yZWxheGVkKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpfS5sZWFkaW5nLXNudWd7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctc251Zyk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1zbnVnKX0ubGVhZGluZy10aWdodHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy10aWdodCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy10aWdodCl9LmZvbnQtYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1ub3JtYWx7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCl9LmZvbnQtc2VtaWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpfS50cmFja2luZy10aWdodHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXRpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy10aWdodCl9LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0udHJhY2tpbmctd2lkZXN0ey0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlc3QpfS5icmVhay1hbGx7d29yZC1icmVhazpicmVhay1hbGx9LndoaXRlc3BhY2Utbm9ybWFse3doaXRlLXNwYWNlOm5vcm1hbH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS53aGl0ZXNwYWNlLXByZS1saW5le3doaXRlLXNwYWNlOnByZS1saW5lfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS50ZXh0LVxcW1xcIzIyQzU1RVxcXXtjb2xvcjojMjJjNTVlfS50ZXh0LVxcW1xcIzIyOUVEOVxcXXtjb2xvcjojMjI5ZWQ5fS50ZXh0LVxcW1xcIzE4NzlBOFxcXXtjb2xvcjojMTg3OWE4fS50ZXh0LVxcW1xcI0VGNDQ0NFxcXXtjb2xvcjojZWY0NDQ0fS50ZXh0LWNhcmQtZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1jYXJkLWZvcmVncm91bmQpfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50ZXh0LWRlc3RydWN0aXZle2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0udGV4dC1mb3JlZ3JvdW5kLC50ZXh0LWZvcmVncm91bmRcXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWZvcmVncm91bmRcXC84MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC1tdXRlZC1mb3JlZ3JvdW5kXFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtb3JhbmdlLTUwMHtjb2xvcjp2YXIoLS1jb2xvci1vcmFuZ2UtNTAwKX0udGV4dC1wb3BvdmVyLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcG9wb3Zlci1mb3JlZ3JvdW5kKX0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLXByaW1hcnkpfS50ZXh0LXByaW1hcnktZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfS50ZXh0LXJlZC01MDB7Y29sb3I6dmFyKC0tY29sb3ItcmVkLTUwMCl9LnRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnRleHQtd2FybmluZ3tjb2xvcjp2YXIoLS13YXJuaW5nKX0udGV4dC13aGl0ZXtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnRleHQtd2hpdGVcXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXFwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXFwvOTB7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVxcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVxcLzk1e2NvbG9yOiNmZmZmZmZmMn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcXC85NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTUlLHRyYW5zcGFyZW50KX19LmNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS51bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS51bmRlcmxpbmUtb2Zmc2V0LTJ7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweH0udW5kZXJsaW5lLW9mZnNldC00e3RleHQtdW5kZXJsaW5lLW9mZnNldDo0cHh9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNDB7b3BhY2l0eTouNH0ub3BhY2l0eS01MHtvcGFjaXR5Oi41fS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9LmJnLWJsZW5kLWNvbG9ye2JhY2tncm91bmQtYmxlbmQtbW9kZTpjb2xvcn0uc2hhZG93ey0tdHctc2hhZG93OjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LWxney0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbWR7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZXstLXR3LXNoYWRvdzowIDAgIzAwMDA7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZVxcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZm9yZWdyb3VuZCkxMCUsdHJhbnNwYXJlbnQpfX0ucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTMwJSx0cmFuc3BhcmVudCl9fS5vdXRsaW5lLWhpZGRlbnstLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm91dGxpbmUtaGlkZGVue291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lOjJweCBzb2xpZCAjMDAwMH19Lm91dGxpbmV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1ci1zbXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cih2YXIoLS1ibHVyLXNtKSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1jb2xvcnN7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixvdXRsaW5lLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSwtLXR3LWdyYWRpZW50LWZyb20sLS10dy1ncmFkaWVudC12aWEsLS10dy1ncmFkaWVudC10bzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLW9wYWNpdHl7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tc2hhZG93e3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LmR1cmF0aW9uLTEwMHstLXR3LWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uZHVyYXRpb24tMTUwey0tdHctZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmR1cmF0aW9uLTIwMHstLXR3LWR1cmF0aW9uOi4yczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uZWFzZS1pbi1vdXR7LS10dy1lYXNlOnZhcigtLWVhc2UtaW4tb3V0KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1lYXNlLWluLW91dCl9LlxcW3dpbGwtY2hhbmdlXFw6dHJhbnNmb3JtXFxde3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0ub3V0bGluZS1ub25ley0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uc2VsZWN0LW5vbmV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnBhdXNlZHthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9LnJ1bm5pbmd7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZ30uZ3JvdXAtb3BlblxcOnJvdGF0ZS0xODA6aXMoOndoZXJlKC5ncm91cCk6aXMoW29wZW5dLDpwb3BvdmVyLW9wZW4sOm9wZW4pICope3JvdGF0ZToxODBkZWd9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXFw6dHJhbnNsYXRlLXgtMFxcLjU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5ncm91cC1ob3ZlclxcOmJnLW11dGVkOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5ncm91cC1ob3ZlclxcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcXDp0ZXh0LXdoaXRlOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uZ3JvdXAtaG92ZXJcXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9Lmdyb3VwLWhvdmVyXFw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXFwvZHJvcGRvd24tbWVudS1pdGVtXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtMTA6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtNjppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxcW3Nsb3RcXD1jb21tYW5kLXNob3J0Y3V0XFxdXFwvY29tbWFuZC1pdGVtXFw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cXFtcXFx1MDAzZWlucHV0XFxdXFwvaW5wdXQtZ3JvdXBcXDpwdC0yOmlzKDp3aGVyZSguZ3JvdXBcXC9pbnB1dC1ncm91cCk6aGFzKFx1MDAzZWlucHV0KSAqKXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1oYXMtXFxbXFxcdTAwM2VpbnB1dFxcXVxcL2lucHV0LWdyb3VwXFw6cGItMjppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApOmhhcyhcdTAwM2VpbnB1dCkgKil7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtjaGVja2VkXFw9dHJ1ZVxcXVxcL2NvbW1hbmQtaXRlbVxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pW2RhdGEtY2hlY2tlZD10cnVlXSAqKXtvcGFjaXR5OjF9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICopLC5ncm91cC1kYXRhLVxcW2Rpc2FibGVkXFw9dHJ1ZVxcXVxcL2lucHV0LWdyb3VwXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKil7b3BhY2l0eTouNX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOnNpemUtMlxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOnNpemUtMzppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyKVtkYXRhLXNpemU9bGddICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMyk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFxbc2l6ZVxcPXNtXFxdXFwvYXZhdGFyXFw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXJcXDp0ZXh0LXhzOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cC0zOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cHgtMzppcyg6d2hlcmUoLmdyb3VwXFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDp0ZXh0LXNtOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZ3JvdXAtZGF0YS1zZWxlY3RlZFxcL2NvbW1hbmQtaXRlbVxcOnRleHQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvY29tbWFuZC1pdGVtKTp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSkgKil7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDpoLTg6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDpoLWZpdDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXtoZWlnaHQ6Zml0LWNvbnRlbnR9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6dy1mdWxsOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope3dpZHRoOjEwMCV9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6ZmxleC1jb2w6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmp1c3RpZnktc3RhcnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnBlZXItZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSgucGVlcik6ZGlzYWJsZWR+Kil7b3BhY2l0eTouNX0uZmlsZVxcOmlubGluZS1mbGV4OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlXFw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVxcOmJvcmRlci0wOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uZmlsZVxcOmJnLXRyYW5zcGFyZW50OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5maWxlXFw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVxcOmZvbnQtbWVkaXVtOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZmlsZVxcOnRleHQtZm9yZWdyb3VuZDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LnBsYWNlaG9sZGVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcXDphYnNvbHV0ZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5hZnRlclxcOmluc2V0LTA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5hZnRlclxcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclxcOmJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmFmdGVyXFw6Ym9yZGVyLWJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5hZnRlclxcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclxcOm9wYWNpdHktMDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO29wYWNpdHk6MH0uYWZ0ZXJcXDptaXgtYmxlbmQtZGFya2VuOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5hZnRlclxcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDpib3R0b20tXFxbLTVweFxcXTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym90dG9tOi01cHh9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDphZnRlclxcOmgtMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDphZnRlclxcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6YWZ0ZXJcXDotcmlnaHQtMTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmFmdGVyXFw6dy0wXFwuNTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5mb2N1cy13aXRoaW5cXDpib3JkZXItcmluZzpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy13aXRoaW5cXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblxcOnJpbmctcmluZ1xcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXFw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXFwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTMwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJvcmRlci1wcmltYXJ5XFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpib3JkZXItcHJpbWFyeVxcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpib3JkZXItcmluZzpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmhvdmVyXFw6YmctYWNjZW50OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KX0uaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLW11dGVkOmhvdmVyLC5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTgwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLXByaW1hcnlcXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1wcmltYXJ5XFwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSkyMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLXNlY29uZGFyeVxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDp0ZXh0LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmhvdmVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmhvdmVye2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5ob3ZlclxcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcXDp1bmRlcmxpbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5ob3ZlclxcOnNoYWRvdy1sZzpob3ZlcnstLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcXDpiZy1hY2NlbnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2N1c1xcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5mb2N1c1xcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXMgKiksOmlzKC5ub3QtZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcXDpib3JkZXItZGVzdHJ1Y3RpdmVcXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLWRlc3RydWN0aXZlXFwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLXJpbmc6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTI6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTM6Zm9jdXMtdmlzaWJsZSwuZm9jdXMtdmlzaWJsZVxcOnJpbmctXFxbM3B4XFxdOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5mb2N1cy12aXNpYmxlXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLTE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVxcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLXByaW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOnZhcigtLXByaW1hcnkpfS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXFw6dHJhbnNsYXRlLXktcHg6YWN0aXZley0tdHctdHJhbnNsYXRlLXk6MXB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTpkaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZFxcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcXDpiZy10cmFuc3BhcmVudDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kaXNhYmxlZFxcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cXFtzbG90XFw9YnV0dG9uLWdyb3VwXFxdXFw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyl9OndoZXJlKFtkYXRhLXNsb3Q9Y29tYm9ib3gtY29udGVudF0pIC5pbi1kYXRhLVxcW3Nsb3RcXD1jb21ib2JveC1jb250ZW50XFxdXFw6Zm9jdXMtd2l0aGluXFw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cXFtzbG90XFw9Y29tYm9ib3gtY29udGVudFxcXVxcOmZvY3VzLXdpdGhpblxcOnJpbmctMDpmb2N1cy13aXRoaW57LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTp3aGVyZShbZGF0YS1zbG90PWRpYWxvZy1jb250ZW50XSkgLmluLWRhdGEtXFxbc2xvdFxcPWRpYWxvZy1jb250ZW50XFxdXFw6cm91bmRlZC1sZ1xcIXtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cykhaW1wb3J0YW50fS5oYXMtZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uaGFzLWRpc2FibGVkXFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLWVuZFxcXVxcOnByLTFcXC41OmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1lbmRcXF1cXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtZW5kXFxdXFw6cHItMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLXN0YXJ0XFxdXFw6cGwtMVxcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1zdGFydFxcXVxcOnBsLTI6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtc3RhcnRcXF1cXDpwbC0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1zdGFydF0pe3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtzbG90XFw9Y2FyZC1hY3Rpb25cXF1cXDpncmlkLWNvbHMtXFxbMWZyX2F1dG9cXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1hY3Rpb25dKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIGF1dG99Lmhhcy1kYXRhLVxcW3Nsb3RcXD1jYXJkLWRlc2NyaXB0aW9uXFxdXFw6Z3JpZC1yb3dzLVxcW2F1dG9fYXV0b1xcXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWRlc2NyaXB0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1yb3dzOmF1dG8gYXV0b30uaGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXD1pbnB1dC1ncm91cC1jb250cm9sXFxdXFw6Zm9jdXMtdmlzaWJsZVxcXVxcOmJvcmRlci1yaW5nOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpe2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy0zOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOmJvcmRlci1kZXN0cnVjdGl2ZTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctMzpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctZGVzdHJ1Y3RpdmVcXC8yMDpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9YmxvY2stZW5kXFxdXFxdXFw6aC1hdXRvOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOmZsZXgtY29sOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1ibG9jay1zdGFydFxcXVxcXVxcOmgtYXV0bzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6ZmxleC1jb2w6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFxbXFxcdTAwM2VidXR0b25cXF1cXDptci1cXFstMFxcLjNyZW1cXF06aGFzKFx1MDAzZWJ1dHRvbil7bWFyZ2luLXJpZ2h0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlYnV0dG9uXFxdXFw6bWwtXFxbLTBcXC4zcmVtXFxdOmhhcyhcdTAwM2VidXR0b24pe21hcmdpbi1sZWZ0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlaW1nXFw6Zmlyc3QtY2hpbGRcXF1cXDpwdC0wOmhhcyhcdTAwM2VpbWc6Zmlyc3QtY2hpbGQpe3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1yLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1sLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLWxlZnQ6LS4xNXJlbX0uaGFzLVxcW1xcXHUwMDNlc3ZnXFxdXFw6cC0wOmhhcyhcdTAwM2Vzdmcpe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxcW1xcXHUwMDNldGV4dGFyZWFcXF1cXDpoLWF1dG86aGFzKFx1MDAzZXRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFxcOnBvaW50ZXItZXZlbnRzLW5vbmVbYXJpYS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5hcmlhLWRpc2FibGVkXFw6b3BhY2l0eS01MFthcmlhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmFyaWEtZXhwYW5kZWRcXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXFw6Ymctc2Vjb25kYXJ5W2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5hcmlhLWV4cGFuZGVkXFw6dGV4dC1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmFyaWEtZXhwYW5kZWRcXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcXDpib3JkZXItZGVzdHJ1Y3RpdmVbYXJpYS1pbnZhbGlkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmFyaWEtaW52YWxpZFxcOnJpbmctMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5hcmlhLWludmFsaWRcXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5kYXRhLWVuZGluZy1zdHlsZVxcOm9wYWNpdHktMFtkYXRhLWVuZGluZy1zdHlsZV17b3BhY2l0eTowfS5kYXRhLWluc2V0XFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXFw6YmctYWNjZW50W2RhdGEtcG9wdXAtb3Blbl17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLXBvcHVwLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2RhdGEtcG9wdXAtb3Blbl17Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLXN0YXJ0aW5nLXN0eWxlXFw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpvcGFjaXR5LTUwW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3R0b20tMFtkYXRhLXNpZGU9Ym90dG9tXXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aC1hdXRvW2RhdGEtc2lkZT1ib3R0b21de2hlaWdodDphdXRvfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWJvdHRvbVxcXVxcOnNsaWRlLWluLWZyb20tdG9wLTJbZGF0YS1zaWRlPWJvdHRvbV17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6ZGF0YS1zdGFydGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPWlubGluZS1lbmRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1pbmxpbmUtc3RhcnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWlubGluZS1zdGFydF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6aW5zZXQteS0wW2RhdGEtc2lkZT1sZWZ0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpoLWZ1bGxbZGF0YS1zaWRlPWxlZnRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6dy0zXFwvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6Ym9yZGVyLXJbZGF0YS1zaWRlPWxlZnRde2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWxlZnRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9bGVmdFxcXVxcOmRhdGEtZW5kaW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLWVuZGluZy1zdHlsZV0sLmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDppbnNldC15LTBbZGF0YS1zaWRlPXJpZ2h0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnJpZ2h0LTBbZGF0YS1zaWRlPXJpZ2h0XXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnctM1xcLzRbZGF0YS1zaWRlPXJpZ2h0XXt3aWR0aDo3NSV9LmRhdGEtXFxbc2lkZVxcPXJpZ2h0XFxdXFw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9cmlnaHRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKi0xKX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS14LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmRhdGEtc3RhcnRpbmctc3R5bGVcXDp0cmFuc2xhdGUteC1cXFsyXFwuNXJlbVxcXVtkYXRhLXNpZGU9cmlnaHRdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXg6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6dG9wLTBbZGF0YS1zaWRlPXRvcF17dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmgtYXV0b1tkYXRhLXNpZGU9dG9wXXtoZWlnaHQ6YXV0b30uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yW2RhdGEtc2lkZT10b3Bdey0tdHctZW50ZXItdHJhbnNsYXRlLXk6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6ZGF0YS1lbmRpbmctc3R5bGVcXDp0cmFuc2xhdGUteS1cXFstMlxcLjVyZW1cXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXktXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT10b3BdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6LTIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxcW3NpemVcXD1sZ1xcXVxcOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6c2l6ZS02W2RhdGEtc2l6ZT1zbV17d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZGF0YS1cXFtzaXplXFw9c21cXF1cXDpnYXAtM1tkYXRhLXNpemU9c21de2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5kYXRhLVxcW3NpemVcXD1zbVxcXVxcOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6aGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMFtkYXRhLXNpemU9c21dOmhhcyhbZGF0YS1zbG90PWNhcmQtZm9vdGVyXSl7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctMlx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctYmFja2dyb3VuZFx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWlucHV0LWdyb3VwLWFkZG9uXFxdXFw6cGwtMlxcIVx1MDAzZSopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxcW3N0YXRlXFw9c2VsZWN0ZWRcXF1cXDpiZy1tdXRlZFtkYXRhLXN0YXRlPXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV17Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5kYXRhLVxcW3ZhcmlhbnRcXD1kZXN0cnVjdGl2ZVxcXVxcOmZvY3VzXFw6YmctZGVzdHJ1Y3RpdmVcXC8xMFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOnRleHQtZGVzdHJ1Y3RpdmVbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXDpyb3VuZGVkLW5vbmVbZGF0YS12YXJpYW50PWxpbmVde2JvcmRlci1yYWRpdXM6MH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dykpIG9yIChiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSl7LnN1cHBvcnRzLWJhY2tkcm9wLWZpbHRlclxcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5zbVxcOmhpZGRlbntkaXNwbGF5Om5vbmV9LnNtXFw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVxcOmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnNtXFw6aC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnNtXFw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cXDp3LWF1dG97d2lkdGg6YXV0b30uc21cXDptYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0uc21cXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uc21cXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9LnNtXFw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVxcOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXFw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVxcOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cXDpwLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5zbVxcOnAtNntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNil9LnNtXFw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnNtXFw6dGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS5zbVxcOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cXDp0ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1yaWdodF17bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9fUBtZWRpYSAobWluLXdpZHRoOjQ4cmVtKXsubWRcXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXFw6cmlnaHQtNHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmJvdHRvbS00e2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFxcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5tZFxcOm1pbi13LTB7bWluLXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1kXFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubWRcXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9Lm1kXFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWRcXDppdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5tZFxcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFxcOnBiLTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWRcXDp0ZXh0LXNte2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lm1kXFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXFw6c3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0ubGdcXDp0b3AtNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubGdcXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1xcOmhpZGRlbntkaXNwbGF5Om5vbmV9LmxnXFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LmxnXFw6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5sZ1xcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcXDpncmlkLWNvbHMtNXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLVxcWzFmcl8zNDBweFxcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDM0MHB4fS5sZ1xcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubGdcXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFxcOnctODB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9fS5kYXJrXFw6YmxvY2s6aXMoLmRhcmsgKil7ZGlzcGxheTpibG9ja30uZGFya1xcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLWlucHV0XFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhcmtcXDp0ZXh0LWdyZWVuLTQwMDppcyguZGFyayAqKXtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi00MDApfS5kYXJrXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXFw6cHJvc2UtaW52ZXJ0OmlzKC5kYXJrICopey0tdHctcHJvc2UtYm9keTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9keSk7LS10dy1wcm9zZS1oZWFkaW5nczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaGVhZGluZ3MpOy0tdHctcHJvc2UtbGVhZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGVhZCk7LS10dy1wcm9zZS1saW5rczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGlua3MpOy0tdHctcHJvc2UtYm9sZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9sZCk7LS10dy1wcm9zZS1jb3VudGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnMpOy0tdHctcHJvc2UtYnVsbGV0czp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0cyk7LS10dy1wcm9zZS1ocjp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaHIpOy0tdHctcHJvc2UtcXVvdGVzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZXMpOy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVycyk7LS10dy1wcm9zZS1jYXB0aW9uczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY2FwdGlvbnMpOy0tdHctcHJvc2Uta2JkOnZhcigtLXR3LXByb3NlLWludmVydC1rYmQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzKTstLXR3LXByb3NlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWNvZGUpOy0tdHctcHJvc2UtcHJlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlKTstLXR3LXByb3NlLXByZS1iZzp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWJnKTstLXR3LXByb3NlLXRoLWJvcmRlcnM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnMpOy0tdHctcHJvc2UtdGQtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVycyl9LmRhcmtcXDphZnRlclxcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1xcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcXDpob3ZlclxcOmJnLWlucHV0XFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aG92ZXJcXDpiZy1pbnB1dFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6aG92ZXJcXDpiZy1tdXRlZFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmhvdmVyXFw6YmctbXV0ZWRcXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhvdmVyXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX0uZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6ZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzgwOmlzKC5kYXJrICopOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRpc2FibGVkXFw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1xcOmhhcy1kaXNhYmxlZFxcOmJnLWlucHV0XFwvODA6aXMoLmRhcmsgKik6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLVxcW1xcW2RhdGEtc2xvdFxcXVxcW2FyaWEtaW52YWxpZFxcPXRydWVcXF1cXF1cXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6YXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOnJpbmctZGVzdHJ1Y3RpdmVcXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtXFxbdmFyaWFudFxcPWRlc3RydWN0aXZlXFxdXFw6Zm9jdXNcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1vcGVuXFw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmFuaW1hdGUtaW46d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YW5pbWF0aW9uOmVudGVyIHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXstLXR3LWVudGVyLW9wYWNpdHk6MH0uZGF0YS1vcGVuXFw6em9vbS1pbi05NTp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe2FuaW1hdGlvbjpleGl0IHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLWNsb3NlZFxcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcXDpvdmVyZmxvdy1oaWRkZW46d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe292ZXJmbG93OmhpZGRlbn0uZGF0YS1jbG9zZWRcXDpmYWRlLW91dC0wOndoZXJlKFtkYXRhLXN0YXRlPWNsb3NlZF0pLC5kYXRhLWNsb3NlZFxcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1zY2FsZTouOTV9LmRhdGEtc2VsZWN0ZWRcXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXRhLWRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFxcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZF06bm90KFtkYXRhLWRpc2FibGVkPWZhbHNlXSkpe29wYWNpdHk6LjV9LmRhdGEtYWN0aXZlXFw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDpiZy1iYWNrZ3JvdW5kOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfS5kYXRhLWFjdGl2ZVxcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmFmdGVyXFw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDphZnRlclxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSkpOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eToxfS5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXFw6Z3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6Ym9yZGVyLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjojMDAwMH0uZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGF0YS1ob3Jpem9udGFsXFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXFw6dy1mdWxsOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKXt3aWR0aDoxMDAlfS5kYXRhLWhvcml6b250YWxcXDpmbGV4LWNvbDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kYXRhLXZlcnRpY2FsXFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFxcOnNlbGYtc3RyZXRjaDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe2FsaWduLXNlbGY6c3RyZXRjaH0uXFxbXFxcdTAwMjZfYVxcXVxcOnRleHQtcHJpbWFyeSBhe2NvbG9yOnZhcigtLXByaW1hcnkpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm10LTYgaDN7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm1iLTIgaDN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOnRleHQtZm9yZWdyb3VuZCBoM3tjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZSBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6c2hyaW5rLTAgc3Zne2ZsZXgtc2hyaW5rOjB9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTMgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFxcdTAwMjZfc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtM1xcLjUgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTQgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uXFxbXFxcdTAwMjZfdHJcXF1cXDpib3JkZXItYiB0cntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LlxcW1xcXHUwMDI2X3RyXFw6bGFzdC1jaGlsZFxcXVxcOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxcXVxcOmhpZGRlbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1zY3JvbGxiYXJcXF1cXDpoaWRkZW46Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uXFxbXFxcdTAwMjZcXDpoYXNcXChcXFtyb2xlXFw9Y2hlY2tib3hcXF1cXClcXF1cXDpwci0wOmhhcyhbcm9sZT1jaGVja2JveF0pe3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uXFxbXFwuYm9yZGVyLWJcXF1cXDpwYi0yLmJvcmRlci1ie3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxcW1xcLmJvcmRlci1iXFxdXFw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDpcXFtcXC5ib3JkZXItYlxcXVxcOnBiLTM6aXMoOndoZXJlKC5ncm91cFxcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKikuYm9yZGVyLWJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFwuYm9yZGVyLXRcXF1cXDpwdC0yLmJvcmRlci10e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDpweC0yICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOnB5LTFcXC41ICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOmZvbnQtbWVkaXVtICopW2NtZGstZ3JvdXAtaGVhZGluZ117LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LW11dGVkLWZvcmVncm91bmQgKilbY21kay1ncm91cC1oZWFkaW5nXXtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDp1bmRlcmxpbmVcdTAwM2UqKTppcyhhKXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9OmlzKC5cXCpcXDpcXFthXFxdXFw6dW5kZXJsaW5lLW9mZnNldC0zXHUwMDNlKik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFxbYVxcXVxcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOmJnLW11dGVkOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5cXFthXFxdXFw6aG92ZXJcXDpiZy1wcmltYXJ5XFwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLXByaW1hcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zZWNvbmRhcnkpODAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDppcyhhKTpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDpob3ZlclxcOnRleHQtZm9yZWdyb3VuZFx1MDAzZSopOmlzKGEpOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX06aXMoLlxcKlxcOlxcW2ltZ1xcOmZpcnN0LWNoaWxkXFxdXFw6cm91bmRlZC10LXhsXHUwMDNlKik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXFwqXFw6XFxbaW1nXFw6bGFzdC1jaGlsZFxcXVxcOnJvdW5kZWQtYi14bFx1MDAzZSopOmlzKGltZzpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV1cdTAwM2UqKTppcyhzdmcpe2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX06aXMoLmRhdGEtc2VsZWN0ZWRcXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pXHUwMDNlKik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOlxcW1xcXHUwMDI2XFxcdTAwM2VpbnB1dFxcXVxcOnB0LTM6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLWVuZF0pXHUwMDNlaW5wdXR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGItMzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKVx1MDAzZWlucHV0e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1pbmxpbmUtZW5kXFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cHItMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1lbmRdKVx1MDAzZWlucHV0e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9aW5saW5lLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGwtMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1zdGFydF0pXHUwMDNlaW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFxbXFxcdTAwMjZcXFx1MDAzZWtiZFxcXVxcOnJvdW5kZWQtXFxbY2FsY1xcKHZhclxcKC0tcmFkaXVzXFwpLTVweFxcKVxcXVx1MDAzZWtiZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDVweCl9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lXHUwMDNlc3Zne3BvaW50ZXItZXZlbnRzOm5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTNcXCFcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnQ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMykhaW1wb3J0YW50fS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS00XHUwMDNlc3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5ncm91cC1oYXMtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXItZ3JvdXBcXDpcXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXItZ3JvdXApOmhhcyhbZGF0YS1zaXplPXNtXSkgKilcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICopXHUwMDNlc3ZnLC5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPXNtXSAqKVx1MDAzZXN2Z3tkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXDpub3RcXChcXFtjbGFzc1xcKlxcPVxcJ3NpemUtXFwnXFxdXFwpXFxdXFw6c2l6ZS0zXFwuNVx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtNFx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxcW1xcXHUwMDI2XFxcdTAwM2V0clxcXVxcOmxhc3RcXDpib3JkZXItYi0wXHUwMDNldHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MHN9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub3JtYWx9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vbmV9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItcm90YXRle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZW50ZXItc2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXRyYW5zbGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1ibHVye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXNjYWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtdHJhbnNsYXRlLXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH06cm9vdHstLWJhY2tncm91bmQ6I2ZmZjstLWZvcmVncm91bmQ6IzExMTgyNzstLWNhcmQ6I2Y5ZmFmYjstLWNhcmQtZm9yZWdyb3VuZDojMTExODI3Oy0tcG9wb3ZlcjojZmZmOy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojZjNmNGY2Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IzExMTgyNzstLW11dGVkOiNmM2Y0ZjY7LS1tdXRlZC1mb3JlZ3JvdW5kOiM2YjcyODA7LS1hY2NlbnQ6I2YzZjRmNjstLWFjY2VudC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiNlNWU3ZWI7LS1pbnB1dDojZTVlN2ViOy0tcmluZzojMDA3NGY1Oy0tcmFkaXVzOi41cmVtOy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiNmOWZhZmI7LS1zdXJmYWNlLTI6I2YzZjRmNjstLWNoYXJ0LTE6IzAwNzRmNTstLWNoYXJ0LTI6IzAwYjhhOTstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6I2Y5ZmFmYjstLXNpZGViYXItZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1wcmltYXJ5OiMwMDc0ZjU7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6I2YzZjRmNjstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLXNpZGViYXItYm9yZGVyOiNlNWU3ZWI7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX0uZGFya3stLWJhY2tncm91bmQ6IzBiMGYxOTstLWZvcmVncm91bmQ6I2Y5ZmFmYjstLWNhcmQ6IzExMTgyNzstLWNhcmQtZm9yZWdyb3VuZDojZjlmYWZiOy0tcG9wb3ZlcjojMTExODI3Oy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojMWYyOTM3Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6I2Y5ZmFmYjstLW11dGVkOiMxZjI5Mzc7LS1tdXRlZC1mb3JlZ3JvdW5kOiM5Y2EzYWY7LS1hY2NlbnQ6IzFmMjkzNzstLWFjY2VudC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiMzNzQxNTE7LS1pbnB1dDojMzc0MTUxOy0tcmluZzojMDA3NGY1Oy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiMxMTE4Mjc7LS1zdXJmYWNlLTI6IzFmMjkzNzstLWNoYXJ0LTE6IzNkOWFmZjstLWNoYXJ0LTI6IzMzYzliZDstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6IzExMTgyNzstLXNpZGViYXItZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1wcmltYXJ5OiMzZDlhZmY7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6IzFmMjkzNzstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLXNpZGViYXItYm9yZGVyOiMzNzQxNTE7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX1Aa2V5ZnJhbWVzIHRleHQtc2hpbW1lcnswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCV9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJX19LnRleHQtc2hpbW1lcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTQwJSx2YXIoLS1mb3JlZ3JvdW5kKTUwJSx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSk7Y29sb3I6IzAwMDA7YmFja2dyb3VuZC1zaXplOjIwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDthbmltYXRpb246MnMgbGluZWFyIGluZmluaXRlIHRleHQtc2hpbW1lcn1odG1sLmNjLWNvbnNlbnRlZCAuY29va2llLW5vdGljZXtkaXNwbGF5Om5vbmV9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUtentzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtcG9zaXRpb257c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6XCJcdTAwM2Njb2xvclx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtc3RvcHN7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb257c3ludGF4OlwiXHUwMDNjbGVuZ3RoLXBlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbntzeW50YXg6XCJcdTAwM2NsZW5ndGgtcGVyY2VudGFnZVx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6NTAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9ue3N5bnRheDpcIlx1MDAzY2xlbmd0aC1wZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6XCJcdTAwM2NwZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OlwiXHUwMDNjbGVuZ3RoXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOlwiXCJ9QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBwdWxzZXs1MCV7b3BhY2l0eTouNX19QGtleWZyYW1lcyBlbnRlcnswJXtvcGFjaXR5OnZhcigtLXR3LWVudGVyLW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS15LDApLDApc2NhbGUzZCh2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSlyb3RhdGUodmFyKC0tdHctZW50ZXItcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1lbnRlci1ibHVyLDApKX19QGtleWZyYW1lcyBleGl0e3Rve29wYWNpdHk6dmFyKC0tdHctZXhpdC1vcGFjaXR5LDEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCh2YXIoLS10dy1leGl0LXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWV4aXQtc2NhbGUsMSksdmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1leGl0LXJvdGF0ZSwwKSk7ZmlsdGVyOmJsdXIodmFyKC0tdHctZXhpdC1ibHVyLDApKX19XG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMDp7XCJQXCI6bnVsbCxcImJcIjpcIlMxSjJHRS1qQzlkRTl5aGE5aEFfdFwiLFwiY1wiOltcIlwiLFwid2lkZ2V0XCJdLFwicVwiOlwiXCIsXCJpXCI6ZmFsc2UsXCJmXCI6W1tbXCJcIix7XCJjaGlsZHJlblwiOltcIihlbWJlZClcIix7XCJjaGlsZHJlblwiOltcIndpZGdldFwiLHtcImNoaWxkcmVuXCI6W1wiX19QQUdFX19cIix7fV19XX1dfSxcIiR1bmRlZmluZWRcIixcIiR1bmRlZmluZWRcIix0cnVlXSxbW1wiJFwiLFwiJDFcIixcImNcIix7XCJjaGlsZHJlblwiOltbW1wiJFwiLFwic3R5bGVcIixcIjBcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3NcIixcImNoaWxkcmVuXCI6XCIkMlwifV0sW1wiJFwiLFwic3R5bGVcIixcIjFcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3NcIixcImNoaWxkcmVuXCI6XCIkM1wifV0sXCIkTDRcIl0sXCIkTDVcIl19XSx7XCJjaGlsZHJlblwiOltcIiRMNlwiLHtcImNoaWxkcmVuXCI6W1wiJEw3XCIse1wiY2hpbGRyZW5cIjpbXCIkTDhcIix7fSxudWxsLGZhbHNlLGZhbHNlXX0sbnVsbCxmYWxzZSxmYWxzZV19LG51bGwsZmFsc2UsZmFsc2VdfSxudWxsLGZhbHNlLGZhbHNlXSxcIiRMOVwiLGZhbHNlXV0sXCJtXCI6XCIkdW5kZWZpbmVkXCIsXCJHXCI6W1wiJGFcIixbXV0sXCJTXCI6dHJ1ZX1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJiOklbODM2NjEsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvYzBhNmFlNTE1ZjRkMjQ1ZC5qc1wiXSxcIlRoZW1lUHJvdmlkZXJcIl1cbmM6SVszMDk3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJkZWZhdWx0XCJdXG5kOklbOTkyOTksW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvOTUyNjIzODZkOGQ0YjZkZC5qc1wiXSxcImRlZmF1bHRcIl1cbmU6XCIkU3JlYWN0LnN1c3BlbnNlXCJcbmY6SVs3OTI5NCxbXCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy9kNzFiOTkyNjdiMDY2YjliLmpzXCJdLFwiV2lkZ2V0Q2xpZW50XCJdXG4xMDpJWzM2MzQ1LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJPdXRsZXRCb3VuZGFyeVwiXVxuMTI6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiVmlld3BvcnRCb3VuZGFyeVwiXVxuMTQ6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiTWV0YWRhdGFCb3VuZGFyeVwiXVxuNDpbXCIkXCIsXCJzY3JpcHRcIixcInNjcmlwdC0wXCIse1wic3JjXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCJhc3luY1wiOnRydWUsXCJub25jZVwiOlwiJHVuZGVmaW5lZFwifV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI1OltcIiRcIixcImh0bWxcIixudWxsLHtcImxhbmdcIjpcImVuXCIsXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIjp0cnVlLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaGVhZFwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwic2NyaXB0XCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwidHJ5e2lmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb2lubGliLWNvb2tpZS1jb25zZW50Jykpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjYy1jb25zZW50ZWQnKX19Y2F0Y2goZSl7fVwifX1dLFtcIiRcIixcImxpbmtcIixudWxsLHtcInJlbFwiOlwicHJlY29ubmVjdFwiLFwiaHJlZlwiOlwiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbVwiLFwiY3Jvc3NPcmlnaW5cIjpcIlwifV1dfV0sW1wiJFwiLFwiYm9keVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWRcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMYlwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOltbW1wiJFwiLFwidGl0bGVcIixudWxsLHtcImNoaWxkcmVuXCI6XCI0MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udEZhbWlseVwiOlwic3lzdGVtLXVpLFxcXCJTZWdvZSBVSVxcXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsXFxcIlNlZ29lIFVJIEVtb2ppXFxcIlwiLFwiaGVpZ2h0XCI6XCIxMDB2aFwiLFwidGV4dEFsaWduXCI6XCJjZW50ZXJcIixcImRpc3BsYXlcIjpcImZsZXhcIixcImZsZXhEaXJlY3Rpb25cIjpcImNvbHVtblwiLFwiYWxpZ25JdGVtc1wiOlwiY2VudGVyXCIsXCJqdXN0aWZ5Q29udGVudFwiOlwiY2VudGVyXCJ9LFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wiLFwibWFyZ2luXCI6XCIwIDIwcHggMCAwXCIsXCJwYWRkaW5nXCI6XCIwIDIzcHggMCAwXCIsXCJmb250U2l6ZVwiOjI0LFwiZm9udFdlaWdodFwiOjUwMCxcInZlcnRpY2FsQWxpZ25cIjpcInRvcFwiLFwibGluZUhlaWdodFwiOlwiNDlweFwifSxcImNoaWxkcmVuXCI6NDA0fV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wifSxcImNoaWxkcmVuXCI6W1wiJFwiLFwiaDJcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udFNpemVcIjoxNCxcImZvbnRXZWlnaHRcIjo0MDAsXCJsaW5lSGVpZ2h0XCI6XCI0OXB4XCIsXCJtYXJnaW5cIjowfSxcImNoaWxkcmVuXCI6XCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV19XV19XX1dXSxbXV0sXCJmb3JiaWRkZW5cIjpcIiR1bmRlZmluZWRcIixcInVuYXV0aG9yaXplZFwiOlwiJHVuZGVmaW5lZFwifV19XSxbXCIkXCIsXCJzY3JpcHRcIixudWxsLHtcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI6e1wiX19odG1sXCI6XCIoZnVuY3Rpb24oKXtmdW5jdGlvbiBsb2FkKCl7d2luZG93LmRhdGFMYXllcj13aW5kb3cuZGF0YUxheWVyfHxbXTt3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9O2d0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdHLVY4NFhQOFdHWFknKTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzLnNyYz0naHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLVY4NFhQOFdHWFknO3MuYXN5bmM9dHJ1ZTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfWZ1bmN0aW9uIHNjaGVkdWxlKCl7aWYoJ3JlcXVlc3RJZGxlQ2FsbGJhY2snaW4gd2luZG93KXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGxvYWQse3RpbWVvdXQ6MzAwMH0pfWVsc2V7c2V0VGltZW91dChsb2FkLDE1MDApfX1pZihkb2N1bWVudC5yZWFkeVN0YXRlPT09J2NvbXBsZXRlJyl7c2NoZWR1bGUoKX1lbHNle2FkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHNjaGVkdWxlLHtvbmNlOnRydWV9KX19KSgpO1wifX1dXX1dXX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiNjpbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W251bGwsW1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVwifV0sW1wiJFwiLFwiJExjXCIsbnVsbCx7XCJwYXJhbGxlbFJvdXRlcktleVwiOlwiY2hpbGRyZW5cIixcImVycm9yXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwiZXJyb3JTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJ0ZW1wbGF0ZVwiOltcIiRcIixcIiRMZFwiLG51bGwse31dLFwidGVtcGxhdGVTdHlsZXNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlU2NyaXB0c1wiOlwiJHVuZGVmaW5lZFwiLFwibm90Rm91bmRcIjpbW1tcIiRcIixcInRpdGxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiNDA0OiBUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpjaGlsZHJlbjpwcm9wczpjaGlsZHJlbjoxOnByb3BzOnN0eWxlXCIsXCJjaGlsZHJlblwiOjQwNH1dLFtcIiRcIixcImRpdlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJoMlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpjaGlsZHJlbjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XX1dXX1dfV1dLFtdXSxcImZvcmJpZGRlblwiOlwiJHVuZGVmaW5lZFwiLFwidW5hdXRob3JpemVkXCI6XCIkdW5kZWZpbmVkXCJ9XV1dfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI3OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbbnVsbCxbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOlwiJHVuZGVmaW5lZFwiLFwiZm9yYmlkZGVuXCI6XCIkdW5kZWZpbmVkXCIsXCJ1bmF1dGhvcml6ZWRcIjpcIiR1bmRlZmluZWRcIn1dXX1dXG44OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiJGVcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJExmXCIsbnVsbCx7fV19XSxbW1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMFwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvODAwZTgzNjE0NmQ2ZTdlYi5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dLFtcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTFcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzL2Q3MWI5OTI2N2IwNjZiOWIuanNcIixcImFzeW5jXCI6dHJ1ZSxcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XV0sW1wiJFwiLFwiJEwxMFwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkZVwiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YU91dGxldFwiLFwiY2hpbGRyZW5cIjpcIiRAMTFcIn1dfV1dfV1cbjk6W1wiJFwiLFwiJDFcIixcImhcIix7XCJjaGlsZHJlblwiOltudWxsLFtcIiRcIixcIiRMMTJcIixudWxsLHtcImNoaWxkcmVuXCI6XCIkTDEzXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImhpZGRlblwiOnRydWUsXCJjaGlsZHJlblwiOltcIiRcIixcIiRMMTRcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJGVcIixudWxsLHtcIm5hbWVcIjpcIk5leHQuTWV0YWRhdGFcIixcImNoaWxkcmVuXCI6XCIkTDE1XCJ9XX1dfV0sW1wiJFwiLFwibWV0YVwiLG51bGwse1wibmFtZVwiOlwibmV4dC1zaXplLWFkanVzdFwiLFwiY29udGVudFwiOlwiXCJ9XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjEzOltbXCIkXCIsXCJtZXRhXCIsXCIwXCIse1wiY2hhclNldFwiOlwidXRmLThcIn1dLFtcIiRcIixcIm1ldGFcIixcIjFcIix7XCJuYW1lXCI6XCJ2aWV3cG9ydFwiLFwiY29udGVudFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHZpZXdwb3J0LWZpdD1jb3ZlclwifV1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTY6SVsyMDQxNCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiSWNvbk1hcmtcIl1cbjExOm51bGxcbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxNTpbW1wiJFwiLFwidGl0bGVcIixcIjBcIix7XCJjaGlsZHJlblwiOlwiQ29pbmxpYiBXaWRnZXQgfCBDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxXCIse1wibmFtZVwiOlwiZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIyXCIse1wibmFtZVwiOlwia2V5d29yZHNcIixcImNvbnRlbnRcIjpcImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXJcIn1dLFtcIiRcIixcIm1ldGFcIixcIjNcIix7XCJuYW1lXCI6XCJyb2JvdHNcIixcImNvbnRlbnRcIjpcIm5vaW5kZXhcIn1dLFtcIiRcIixcIm1ldGFcIixcIjRcIix7XCJwcm9wZXJ0eVwiOlwib2c6dGl0bGVcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiNVwiLHtcInByb3BlcnR5XCI6XCJvZzpkZXNjcmlwdGlvblwiLFwiY29udGVudFwiOlwiVHJhY2sgcmVhbC10aW1lIGNyeXB0b2N1cnJlbmN5IHByaWNlcywgbWFya2V0IGNhcCwgY2hhcnRzLCBhbmQgcG9ydGZvbGlvLiBFeHBsb3JlIHRob3VzYW5kcyBvZiBjb2lucyBhbmQgZXhjaGFuZ2VzIHdpdGggQ29pbmxpYi5cIn1dLFtcIiRcIixcIm1ldGFcIixcIjZcIix7XCJwcm9wZXJ0eVwiOlwib2c6dXJsXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW9cIn1dLFtcIiRcIixcIm1ldGFcIixcIjdcIix7XCJwcm9wZXJ0eVwiOlwib2c6c2l0ZV9uYW1lXCIsXCJjb250ZW50XCI6XCJDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCI4XCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW8vb2cvZGVmYXVsdC5wbmdcIn1dLFtcIiRcIixcIm1ldGFcIixcIjlcIix7XCJwcm9wZXJ0eVwiOlwib2c6aW1hZ2U6d2lkdGhcIixcImNvbnRlbnRcIjpcIjEyMDBcIn1dLFtcIiRcIixcIm1ldGFcIixcIjEwXCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlOmhlaWdodFwiLFwiY29udGVudFwiOlwiNjMwXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxMVwiLHtcInByb3BlcnR5XCI6XCJvZzppbWFnZTphbHRcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTJcIix7XCJwcm9wZXJ0eVwiOlwib2c6dHlwZVwiLFwiY29udGVudFwiOlwid2Vic2l0ZVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTNcIix7XCJuYW1lXCI6XCJ0d2l0dGVyOmNhcmRcIixcImNvbnRlbnRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIn1dLFtcIiRcIixcIm1ldGFcIixcIjE0XCIse1wibmFtZVwiOlwidHdpdHRlcjp0aXRsZVwiLFwiY29udGVudFwiOlwiQ29pbmxpYiDigJQgQ3J5cHRvY3VycmVuY3kgUHJpY2VzLCBDaGFydHMgXHUwMDI2IE1hcmtldCBEYXRhXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNVwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNlwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6aW1hZ2VcIixcImNvbnRlbnRcIjpcImh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZ1wifV0sW1wiJFwiLFwibGlua1wiLFwiMTdcIix7XCJyZWxcIjpcImljb25cIixcImhyZWZcIjpcIi9mYXZpY29uLmljbz9mYXZpY29uLjM5MGUxMTA5Lmljb1wiLFwic2l6ZXNcIjpcIjQ4eDQ4XCIsXCJ0eXBlXCI6XCJpbWFnZS94LWljb25cIn1dLFtcIiRcIixcImxpbmtcIixcIjE4XCIse1wicmVsXCI6XCJhcHBsZS10b3VjaC1pY29uXCIsXCJocmVmXCI6XCIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmdcIn1dLFtcIiRcIixcIiRMMTZcIixcIjE5XCIse31dXVxuIl0pPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0iaHR0cHM6Ly9zdGF0aWMuY2xvdWRmbGFyZWluc2lnaHRzLmNvbS9iZWFjb24ubWluLmpzL3Y0NTEzMjI2Y2RhZTM0NzQ2YjRkZWRmMGI0ZGZhMDk5ZTE3ODE3OTE1MDk0OTYiIGludGVncml0eT0ic2hhNTEyLVpFOXBaYVVYTkQ2NnYzODBRVXRjaC81c0U5dFBGaDJ6ZzQ1cFIyUEIwQ1ZrQ3RPUkV2MkFKS2tTaWRJU1dreXNFdVEwRUg4ZmFVVTVkdTc4Yng4N1VRPT0iIGRhdGEtY2YtYmVhY29uPSd7InZlcnNpb24iOiIyMDI0LjExLjAiLCJ0b2tlbiI6IjdkZjcwOGZjZmFhMDRhNjRhYjNiNWU4NmUzMTBkZjVhIiwiciI6MX0nIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg=="}},"time_used":87,"timings":{"blocked":10,"dns":0,"connect":0,"send":0,"wait":73,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.580Z","timestamp":1785136427580,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/480cde08b8bfd5ce.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 7102800\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"480cde08b8bfd5ce.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"2197ad79def7e68e0db5210279b81a88\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/480cde08b8bfd5ce.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::m49ll-1777388594165-c9ac0a174814\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=N69DqHJCt7XBRdQg1pHbyU%2BNwkRh3yHotjiif0V5BulO3nRYlH%2FZg%2Be%2F8AMgvFnkKqpasPuQH7r0PpFNK6nhJ1m1OxOTllOttJHnIET%2Bo3TwDfxZuajlHyeTjwCM\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f0f8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":84456,"size_decoded":25530,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-11T04:47:30.054673Z","times_seen":2173,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDg1NTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQzMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sMzQ2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17SFRNTF9MSU1JVEVEX0JPVF9VQV9SRTpmdW5jdGlvbigpe3JldHVybiBsLkhUTUxfTElNSVRFRF9CT1RfVUFfUkV9LEhUTUxfTElNSVRFRF9CT1RfVUFfUkVfU1RSSU5HOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEJvdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30saXNCb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTQzMjApLHU9L0dvb2dsZWJvdCg/IS0pfEdvb2dsZWJvdCQvaSxvPWwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS5zb3VyY2U7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFLnRlc3QoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS50ZXN0KGUpfHxpKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKT8iZG9tIjppKGUpPyJodG1sIjp2b2lkIDB9fSw4NTYxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6YC8ke2V9YH1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVuc3VyZUxlYWRpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkyMjI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NTYxOSksdT1lLnIoMjc0NTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbC5lbnN1cmVMZWFkaW5nU2xhc2gpKGUuc3BsaXQoIi8iKS5yZWR1Y2UoKGUsdCxyLG4pPT4hdHx8KDAsdS5pc0dyb3VwU2VnbWVudCkodCl8fCJAIj09PXRbMF18fCgicGFnZSI9PT10fHwicm91dGUiPT09dCkmJnI9PT1uLmxlbmd0aC0xP2U6YCR7ZX0vJHt0fWAsIiIpKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDU0NjgyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBpfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MjIyNyksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSw4OTYxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTgxNjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NvbXB1dGVDaGFuZ2VkUGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWxlY3RlZFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscj17fSl7Zm9yKGxldCBuIG9mIE9iamVjdC52YWx1ZXModFsxXSkpe2xldCB0PW5bMF0sYT1BcnJheS5pc0FycmF5KHQpLGw9YT90WzFdOnQ7IWx8fGwuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpfHwoYSYmKCJjIj09PXRbMl18fCJvYyI9PT10WzJdKT9yW3RbMF1dPXRbMV0uc3BsaXQoIi8iKTphJiYoclt0WzBdXT10WzFdKSxyPWUobixyKSl9cmV0dXJuIHJ9fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1NDY4MiksdT1lLnIoMjc0NTQpLG89ZS5yKDg5NjE2KSxpPWU9PiJzdHJpbmciPT10eXBlb2YgZT8iY2hpbGRyZW4iPT09ZT8iIjplOmVbMV07ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZWR1Y2UoKGUsdCk9PntsZXQgcjtyZXR1cm4iIj09PSh0PSIvIj09PShyPXQpWzBdP3Iuc2xpY2UoMSk6cil8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpP2U6YCR7ZX0vJHt0fWB9LCIiKXx8Ii8ifWZ1bmN0aW9uIHMoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtpKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9zKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1zKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBmKGUsdCl7bGV0IHI9ZnVuY3Rpb24gZSh0LHIpe2xldFtuLGFdPXQsW3UsY109cixmPWkobiksZD1pKHUpO2lmKGwuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShlPT5mLnN0YXJ0c1dpdGgoZSl8fGQuc3RhcnRzV2l0aChlKSkpcmV0dXJuIiI7aWYoISgwLG8ubWF0Y2hTZWdtZW50KShuLHUpKXJldHVybiBzKHIpPz8iIjtmb3IobGV0IHQgaW4gYSlpZihjW3RdKXtsZXQgcj1lKGFbdF0sY1t0XSk7aWYobnVsbCE9PXIpcmV0dXJuYCR7aSh1KX0vJHtyfWB9cmV0dXJuIG51bGx9KGUsdCk7cmV0dXJuIG51bGw9PXJ8fCIvIj09PXI/cjpjKHIuc3BsaXQoIi8iKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjMyNzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhbmRsZU11dGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODE2Nyk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9dC5zaG91bGRTY3JvbGw/PyEwLGw9ZS5wcmV2aW91c05leHRVcmwsdT1lLm5leHRVcmw7aWYoYSh0LnBhdGNoZWRUcmVlKSl7bGV0IHI9KDAsbi5jb21wdXRlQ2hhbmdlZFBhdGgpKGUudHJlZSx0LnBhdGNoZWRUcmVlKTtyPyhsPXUsdT1yKTp1fHwodT1lLmNhbm9uaWNhbFVybCl9cmV0dXJue2Nhbm9uaWNhbFVybDp0LmNhbm9uaWNhbFVybD8/ZS5jYW5vbmljYWxVcmwscmVuZGVyZWRTZWFyY2g6dC5yZW5kZXJlZFNlYXJjaD8/ZS5yZW5kZXJlZFNlYXJjaCxwdXNoUmVmOntwZW5kaW5nUHVzaDphKHQucGVuZGluZ1B1c2gpP3QucGVuZGluZ1B1c2g6ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLG1wYU5hdmlnYXRpb246YSh0Lm1wYU5hdmlnYXRpb24pP3QubXBhTmF2aWdhdGlvbjplLnB1c2hSZWYubXBhTmF2aWdhdGlvbixwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTphKHQucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpP3QucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlfSxmb2N1c0FuZFNjcm9sbFJlZjp7YXBwbHk6ISFyJiYoISFhKHQ/LnNjcm9sbGFibGVTZWdtZW50cyl8fGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpLG9ubHlIYXNoQ2hhbmdlOnQub25seUhhc2hDaGFuZ2V8fCExLGhhc2hGcmFnbWVudDpyP3QuaGFzaEZyYWdtZW50JiYiIiE9PXQuaGFzaEZyYWdtZW50P2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2hGcmFnbWVudC5zbGljZSgxKSk6ZS5mb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQ6bnVsbCxzZWdtZW50UGF0aHM6cj90Py5zY3JvbGxhYmxlU2VnbWVudHM/P2UuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzOltdfSxjYWNoZTp0LmNhY2hlP3QuY2FjaGU6ZS5jYWNoZSx0cmVlOmEodC5wYXRjaGVkVHJlZSk/dC5wYXRjaGVkVHJlZTplLnRyZWUsbmV4dFVybDp1LHByZXZpb3VzTmV4dFVybDpsLGRlYnVnSW5mbzp0LmNvbGxlY3RlZERlYnVnSW5mbz8/bnVsbH19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDYyMTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hFQURfUkVRVUVTVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBjfSxjb252ZXJ0U2VnbWVudFBhdGhUb1N0YXRpY0V4cG9ydEZpbGVuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT0iIixvPSIvX2hlYWQiO2Z1bmN0aW9uIGkoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKT9sLlBBR0VfU0VHTUVOVF9LRVk6Ii9fbm90LWZvdW5kIj09PWU/Il9ub3QtZm91bmQiOmYoZSk7bGV0IHQ9ZVswXTtyZXR1cm4iJCIrZVsyXSsiJCIrZih0KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gZSsiLyIrKCJjaGlsZHJlbiI9PT10P3I6YEAke2YodCl9LyR7cn1gKX1sZXQgcz0vXlthLXpBLVowLTlcLV9AXSskLztmdW5jdGlvbiBmKGUpe3JldHVybiBzLnRlc3QoZSk/ZToiISIrYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuYF9fbmV4dCR7ZS5yZXBsYWNlKC9cLy9nLCIuIil9LnR4dGB9fSw4ODA2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbTpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRQYXJhbVZhbHVlRnJvbUNhY2hlS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldFJlbmRlcmVkUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0UmVuZGVyZWRTZWFyY2g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydDpmdW5jdGlvbigpe3JldHVybiBzfSx1cmxTZWFyY2hQYXJhbXNUb1BhcnNlZFVybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjpmdW5jdGlvbigpe3JldHVybiBofX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT1lLnIoNDYyMTkpLG89ZS5yKDM0NjQxKTtmdW5jdGlvbiBpKGUpe2xldCB0PWUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIpO3JldHVybiBudWxsIT09dD8iIj09PXQ/IiI6Ij8iK3Q6aChuZXcgVVJMKGUudXJsKSkuc2VhcmNofWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUik/P2gobmV3IFVSTChlLnVybCkpLnBhdGhuYW1lfWZ1bmN0aW9uIHMoZSx0LHIpe3N3aXRjaChlKXtjYXNlImMiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6W107Y2FzZSJjaSguLikoLi4pIjpjYXNlImNpKC4pIjpjYXNlImNpKC4uKSI6Y2FzZSJjaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcCgoZSx0KT0+MD09PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KGUuc2xpY2UobikpOmVuY29kZVVSSUNvbXBvbmVudChlKSk6W119Y2FzZSJvYyI6cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpudWxsO2Nhc2UiZCI6aWYocj49dC5sZW5ndGgpcmV0dXJuIiI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0W3JdKTtjYXNlImRpKC4uKSguLikiOmNhc2UiZGkoLikiOmNhc2UiZGkoLi4pIjpjYXNlImRpKC4uLikiOntsZXQgbj1lLmxlbmd0aC0yO2lmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXS5zbGljZShuKSl9ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGU9PT11LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWXx8ZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSl8fCIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKSkmJmUhPT1sLkRFRkFVTFRfU0VHTUVOVF9LRVkmJiIvX25vdC1mb3VuZCIhPT1lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KDAsbC5hZGRTZWFyY2hQYXJhbXNJZlBhZ2VTZWdtZW50KShlLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHQpKSk6bnVsbD09PWU/IiI6ZS5qb2luKCIvIil9ZnVuY3Rpb24gaChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybiB0LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuImMiPT09dHx8Im9jIj09PXQ/ZS5zcGxpdCgiLyIpOmV9ZnVuY3Rpb24geShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl2b2lkIDA9PT10W3JdP3Rbcl09bjpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChuKTp0W3JdPVt0W3JdLG5dO3JldHVybiB0fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NjI4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVJbml0aWFsUlNDUGF5bG9hZEZyb21GYWxsYmFja1ByZXJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfSxnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbm9ybWFsaXplRmxpZ2h0RGF0YTpmdW5jdGlvbigpe3JldHVybiBmfSxwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI3NDU0KSx1PWUucig4ODA2Miksbz1lLnIoODU1OTQpO2Z1bmN0aW9uIGkoZSl7bGV0W3QscixuLGFdPWUuc2xpY2UoLTQpLGw9ZS5zbGljZSgwLC00KTtyZXR1cm57cGF0aFRvU2VnbWVudDpsLnNsaWNlKDAsLTEpLHNlZ21lbnRQYXRoOmwsc2VnbWVudDpsW2wubGVuZ3RoLTFdPz8iIix0cmVlOnQsc2VlZERhdGE6cixoZWFkOm4saXNIZWFkUGFydGlhbDphLGlzUm9vdFJlbmRlcjo0PT09ZS5sZW5ndGh9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj0oMCx1LmdldFJlbmRlcmVkUGF0aG5hbWUpKGUpLG49KDAsdS5nZXRSZW5kZXJlZFNlYXJjaCkoZSksYT0oMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKGxvY2F0aW9uLmhyZWYpKSxsPXQuZlswXSxpPWxbMF07cmV0dXJue2I6dC5iLGM6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxvLGk9dFswXTtpZigic3RyaW5nIj09dHlwZW9mIGkpbD1pLG89KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShpKTtlbHNle2xldCBlPWlbMF0sdD1pWzJdLGM9KDAsdS5wYXJzZUR5bmFtaWNQYXJhbUZyb21VUkxQYXJ0KSh0LG4sYSk7bD1bZSwoMCx1LmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShjLHIpLHRdLG89ITB9bGV0IGM9bz9hKzE6YSxzPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gcyl7bGV0IGE9c1t0XTtmW3RdPWUoYSxyLG4sYyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KGksbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuU319ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9PmkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe3ZhciByLG47bGV0W2EsdSxvLGksYyxzXT10LGY9InN0cmluZyI9PXR5cGVvZihyPWEpJiZyLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKyI/Iik/bC5QQUdFX1NFR01FTlRfS0VZOnIsZD17fTtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh1KSlkW3RdPWUocik7bGV0IGg9W2YsZCxudWxsLChuPWkpJiYicmVmcmVzaCIhPT1uP2k6bnVsbF07cmV0dXJuIHZvaWQgMCE9PWMmJihoWzRdPWMpLHZvaWQgMCE9PXMmJihoWzVdPXMpLGh9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjE3MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldEFwcEJ1aWxkSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0QXBwQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIG8oKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyNzQxOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGpiMkhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saGV4SGFzaDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9NTM4MTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0PSh0PDw1KSt0K2UuY2hhckNvZGVBdChyKXwwO3JldHVybiB0Pj4+MH1mdW5jdGlvbiB1KGUpe3JldHVybiBsKGUpLnRvU3RyaW5nKDM2KS5zbGljZSgwLDUpfX0sNjg4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDI3NDE4KTtmdW5jdGlvbiBhKGUsdCxyLGEpe3JldHVybih2b2lkIDA9PT1lfHwiMCI9PT1lKSYmdm9pZCAwPT09dCYmdm9pZCAwPT09ciYmdm9pZCAwPT09YT8iIjooMCxuLmhleEhhc2gpKFtlfHwiMCIsdHx8IjAiLHJ8fCIwIixhfHwiMCJdLmpvaW4oIiwiKSl9fSw0MTMwMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17c2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW1XaXRoSGFzaDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig2ODg0NyksdT1lLnIoMzQ2NDEpLG89KGUsdCk9PntpKGUsKDAsbC5jb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKHRbdS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl0sdFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSx0W3UuTkVYVF9VUkxdKSl9LGk9KGUsdCk9PntsZXQgcj1lLnNlYXJjaCxuPShyLnN0YXJ0c1dpdGgoIj8iKT9yLnNsaWNlKDEpOnIpLnNwbGl0KCImIikuZmlsdGVyKGU9PmUmJiFlLnN0YXJ0c1dpdGgoYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX09YCkpO3QubGVuZ3RoPjA/bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PSR7dH1gKTpuLnB1c2goYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX1gKSxlLnNlYXJjaD1uLmxlbmd0aD9gPyR7bi5qb2luKCImIil9YDoiIn07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTEwNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2xldCBuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17Y3JlYXRlRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbTpmdW5jdGlvbigpe3JldHVybiBFfSxmZXRjaFNlcnZlclJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDc1MDQ1KSxvPWUucigzNDY0MSksaT1lLnIoMzA5MzEpLGM9ZS5yKDg5NTk0KSxzPWUucig2NzYyOCksZj1lLnIoNjE3MDYpLGQ9ZS5yKDQxMzAyKSxoPWUucig4ODA2MikscD1lLnIoODg3NzQpLHk9dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sZz11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBSKGUpe3JldHVybigwLGgudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgXz0hMTthc3luYyBmdW5jdGlvbiBQKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAscy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbby5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IHYoZSxhLCJhdXRvIiwhMCkscj0oMCxoLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhvLk5FWFRfVVJMKSxpPSEhdC5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksYz10LmhlYWRlcnMuZ2V0KG8uTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpLGQ9bnVsbCE9PWM/MWUzKnBhcnNlSW50KGMsMTApOi0xO2lmKCFsLnN0YXJ0c1dpdGgoby5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUil8fCF0Lm9rfHwhdC5ib2R5KXJldHVybiBlLmhhc2gmJihyLmhhc2g9ZS5oYXNoKSxSKHIudG9TdHJpbmcoKSk7bGV0IHA9dC5mbGlnaHRSZXNwb25zZTtpZihudWxsPT09cCl7bGV0IGUscj1pPyhlPXQuYm9keS5nZXRSZWFkZXIoKSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwodCl7Zm9yKDs7KXtsZXR7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IGUucmVhZCgpO2lmKCFyKXt0LmVucXVldWUobik7Y29udGludWV9cmV0dXJufX19KSk6dC5ib2R5O3A9RShyLGEpfWxldCB5PWF3YWl0IHA7aWYoKDAsZi5nZXRBcHBCdWlsZElkKSgpIT09eS5iKXJldHVybiBSKHQudXJsKTtsZXQgZz0oMCxzLm5vcm1hbGl6ZUZsaWdodERhdGEpKHkuZik7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybiBSKGcpO3JldHVybntmbGlnaHREYXRhOmcsY2Fub25pY2FsVXJsOm4scmVuZGVyZWRTZWFyY2g6KDAsaC5nZXRSZW5kZXJlZFNlYXJjaCkodCksY291bGRCZUludGVyY2VwdGVkOnUscHJlcmVuZGVyZWQ6eS5TLHBvc3Rwb25lZDppLHN0YWxlVGltZTpkLGRlYnVnSW5mbzpwLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBffHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIHYoZSx0LHIsYSxsKXt2YXIgdSxzO2xldCBmPSgwLHAuZ2V0RGVwbG95bWVudElkKSgpO2YmJih0WyJ4LWRlcGxveW1lbnQtaWQiXT1mKTtsZXQgaD1uZXcgVVJMKGUpOygwLGQuc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKGgsdCk7bGV0IHk9ZmV0Y2goaCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnQscHJpb3JpdHk6cnx8dm9pZCAwLHNpZ25hbDpsfSksUj1hPyh1PXkscz10LGcodSx7Y2FsbFNlcnZlcjppLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpjLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOm4mJm4ocyl9KSk6bnVsbCxfPWF3YWl0IHksUD1fLnJlZGlyZWN0ZWQsdj1uZXcgVVJMKF8udXJsLGgpO3JldHVybiB2LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSkse3VybDp2LmhyZWYscmVkaXJlY3RlZDpQLG9rOl8ub2ssaGVhZGVyczpfLmhlYWRlcnMsYm9keTpfLmJvZHksc3RhdHVzOl8uc3RhdHVzLGZsaWdodFJlc3BvbnNlOlJ9fWZ1bmN0aW9uIEUoZSx0KXtyZXR1cm4geShlLHtjYWxsU2VydmVyOmkuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KX0pfSJ1Ij50eXBlb2Ygd2luZG93JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKT0+e189ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCgpPT57Xz0hMX0pKSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1Nzc3OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigyNzQ1NCk7ZnVuY3Rpb24gYShlLHQ9ITEpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Ake2VbMF19fCR7ZVsxXX18JHtlWzJdfWA6dCYmZS5zdGFydHNXaXRoKG4uUEFHRV9TRUdNRU5UX0tFWSk/bi5QQUdFX1NFR01FTlRfS0VZOmV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzczNjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtsZXQgbj10WzBdLGE9clswXTtpZihBcnJheS5pc0FycmF5KG4pJiZBcnJheS5pc0FycmF5KGEpKXtpZihuWzBdIT09YVswXXx8blsyXSE9PWFbMl0pcmV0dXJuITB9ZWxzZSBpZihuIT09YSlyZXR1cm4hMDtpZih0WzRdKXJldHVybiFyWzRdO2lmKHJbNF0pcmV0dXJuITA7bGV0IGw9T2JqZWN0LnZhbHVlcyh0WzFdKVswXSx1PU9iamVjdC52YWx1ZXMoclsxXSlbMF07cmV0dXJuIWx8fCF1fHxlKGwsdSl9fX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE4OTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e0ZyZXNobmVzc1BvbGljeTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVJbml0aWFsQ2FjaGVOb2RlRm9ySHlkcmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGlzRGVmZXJyZWRSc2M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sc3Bhd25EeW5hbWljUmVxdWVzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gan0sc3RhcnRQUFJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDI3NDU0KSxvPWUucig4OTYxNiksaT1lLnIoODU1OTQpLGM9ZS5yKDU3Nzc4KSxzPWUucigxMTA2KSxmPWUucig5NDg3OSksZD1lLnIoNTk0MzApLGg9ZS5yKDM3MzY4KSxwPWUucig1NDAxMSkseT1lLnIoNjU0NjMpO3ZhciBnPSgobj17fSlbbi5EZWZhdWx0PTBdPSJEZWZhdWx0IixuW24uSHlkcmF0aW9uPTFdPSJIeWRyYXRpb24iLG5bbi5IaXN0b3J5VHJhdmVyc2FsPTJdPSJIaXN0b3J5VHJhdmVyc2FsIixuW24uUmVmcmVzaEFsbD0zXT0iUmVmcmVzaEFsbCIsbltuLkhNUlJlZnJlc2g9NF09IkhNUlJlZnJlc2giLG4pO2xldCBSPSgpPT57fTtmdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiB2KGUsdCx2b2lkIDAsMSxyLG4sbnVsbCxudWxsLCExLG51bGwsbnVsbCwhMSx7c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSkubm9kZX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHMsZixkLHAseSxnLFIpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGYsZCxwLHksZyxSLF8sUCxPLGosTSxBKXt2YXIgVSxDO2xldCBOLHcsRixJPWFbMF0sTD1sWzBdO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoTCxJKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEw9PT11Lk5PVF9GT1VORF9TRUdNRU5UX0tFWXx8bnVsbD09PVB8fG51bGw9PT1PP251bGw6dih0LGwsbixzLGQscCx5LGcsUixQLE8saixBKTtsZXQgRD1udWxsIT09TyYmbnVsbCE9PVA/UC5jb25jYXQoW08sTF0pOltdLHg9bFsxXSxrPWFbMV0sSD1udWxsIT09ZD9kWzFdOm51bGwsQj1udWxsIT09eT95WzFdOm51bGwsSz0hMD09PWxbNF0sVj1mfHxLLHE9dm9pZCAwIT09bj9uLnBhcmFsbGVsUm91dGVzOnZvaWQgMCxHPSExLHo9ITE7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOkc9ITEsej0hMTticmVhaztjYXNlIDM6Y2FzZSA0Okc9ITAsej0hMH1sZXQgWD1uZXcgTWFwKEc/dm9pZCAwOnEpLFc9MD09PU9iamVjdC5rZXlzKHgpLmxlbmd0aDtpZih2b2lkIDA9PT1ufHx6fHxXJiZfKWlmKG51bGwhPT1kJiZudWxsIT09ZFswXSl7bGV0IGU9ZFswXSxyPWRbMl0sbj1udWxsPT09cDt3PVMoZSxyLCExLHAsbixXLFgsdCksRj1XJiZufWVsc2UgaWYobnVsbCE9PXkpe2xldCBlPXlbMF0scj15WzJdLG49eVszXTt3PVMoZSxyLG4sZyxSLFcsWCx0KSxGPW58fFcmJlJ9ZWxzZSB3PVQoWCxXLHQscyksRj0hMDtlbHNlIHc9YighMSxuLFgpLEY9ITE7bGV0IFk9bFsyXSwkPSJzdHJpbmciPT10eXBlb2YgWSYmInJlZnJlc2giPT09bFszXT9ZOk07RiYmbnVsbCE9PSQmJihVPUEsQz0kLG51bGw9PT0oTj1VLnNlcGFyYXRlUmVmcmVzaFVybHMpP1Uuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtDXSk6Ti5hZGQoQykpO2xldCBRPXt9LEo9bnVsbCxaPSExLGVlPXt9O2ZvcihsZXQgbiBpbiB4KXtsZXQgYT14W25dLGw9a1tuXTtpZih2b2lkIDA9PT1sKXJldHVybiBudWxsO2xldCBvPXZvaWQgMCE9PXE/cS5nZXQobik6dm9pZCAwLGY9bnVsbCE9PUg/SFtuXTpudWxsLGQ9bnVsbCE9PUI/QltuXTpudWxsLGg9YVswXSx5PXAsUD1nLHY9UjsyIT09cyYmaD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9KGE9ZnVuY3Rpb24oZSx0KXtsZXQgcjtyZXR1cm4icmVmcmVzaCI9PT10WzNdP3I9dDooKHI9RSh0LHRbMV0pKVsyXT0oMCxpLmNyZWF0ZUhyZWZGcm9tVXJsKShlKSxyWzNdPSJyZWZyZXNoIikscn0ocixsKSlbMF0sZj1udWxsLHk9bnVsbCxkPW51bGwsUD1udWxsLHY9ITEpO2xldCBtPSgwLGMuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGgpLGI9ZSh0LHIsdm9pZCAwIT09bz9vLmdldChtKTp2b2lkIDAsbCxhLHMsVixmPz9udWxsLHksZD8/bnVsbCxQLHYsXyxELG4sanx8RiwkLEEpO2lmKG51bGw9PT1iKXJldHVybiBudWxsO251bGw9PT1KJiYoSj1uZXcgTWFwKSxKLnNldChuLGIpO2xldCBTPWIubm9kZTtpZihudWxsIT09Uyl7bGV0IGU9bmV3IE1hcChHP3ZvaWQgMDpvKTtlLnNldChtLFMpLFguc2V0KG4sZSl9bGV0IFQ9Yi5yb3V0ZTtRW25dPVQ7bGV0IE89Yi5keW5hbWljUmVxdWVzdFRyZWU7bnVsbCE9PU8/KFo9ITAsZWVbbl09Tyk6ZWVbbl09VH1yZXR1cm57c3RhdHVzOishRixyb3V0ZTpFKGwsUSksbm9kZTp3LGR5bmFtaWNSZXF1ZXN0VHJlZTptKGwsZWUsRixaLGopLHJlZnJlc2hVcmw6JCxjaGlsZHJlbjpKfX0oZSx0LG51bGwhPT1yP3I6dm9pZCAwLG4sYSxsLCExLHMsZixkLHAseSxnLG51bGwsbnVsbCwhMSxudWxsLFIpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsdSxvLGkscyxmLGQsaCl7bGV0IHksZyxSPXRbMF0sXz1udWxsIT09ZiYmbnVsbCE9PXM/cy5jb25jYXQoW2YsUl0pOltdLFA9dFsxXSxPPW51bGwhPT11P3VbMV06bnVsbCxqPW51bGwhPT1hP2FbMV06bnVsbCxNPXZvaWQgMCE9PXI/ci5wYXJhbGxlbFJvdXRlczp2b2lkIDAsQT0hMSxVPSExLEM9ITE7c3dpdGNoKG4pe2Nhc2UgMDpBPSExLFU9dm9pZCAwPT09cnx8ZS1yLm5hdmlnYXRlZEF0Pj1wLkRZTkFNSUNfU1RBTEVUSU1FX01TLEM9ITE7YnJlYWs7Y2FzZSAxOlU9ITEsQT0hMSxDPSExO2JyZWFrO2Nhc2UgMjppZihVPSExLFU9ITEsdm9pZCAwIT09cil7bGV0IGU9ci5yc2M7Qz0hTihlKXx8InBlbmRpbmciIT09ZS5zdGF0dXN9ZWxzZSBDPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6VT0hMCxBPSEwLEM9ITF9bGV0IHc9bmV3IE1hcChBP3ZvaWQgMDpNKSxGPTA9PT1PYmplY3Qua2V5cyhQKS5sZW5ndGg7aWYoRiYmKG51bGw9PT1oLnNjcm9sbGFibGVTZWdtZW50cyYmKGguc2Nyb2xsYWJsZVNlZ21lbnRzPVtdKSxoLnNjcm9sbGFibGVTZWdtZW50cy5wdXNoKF8pKSxVfHx2b2lkIDA9PT1yKWlmKG51bGwhPT1hJiZudWxsIT09YVswXSl7bGV0IHQ9YVswXSxyPWFbMl0sdT1udWxsPT09bCYmMSE9PW47eT1TKHQsciwhMSxsLHUsRix3LGUpLGc9RiYmdX1lbHNlIGlmKDE9PT1uJiZGJiZudWxsIT09bCl5PVMobnVsbCxudWxsLCExLGwsITEsRix3LGUpLGc9ITE7ZWxzZSBpZigxIT09biYmbnVsbCE9PXUpe2xldCB0PXVbMF0scj11WzJdLG49dVszXTt5PVModCxyLG4sbyxpLEYsdyxlKSxnPW58fEYmJml9ZWxzZSB5PVQodyxGLGUsbiksZz0hMDtlbHNlIHk9YihDLHIsdyksZz0hMTtsZXQgST17fSxMPW51bGwsRD0hMSx4PXt9O2ZvcihsZXQgdCBpbiBQKXtsZXQgcj1QW3RdLGE9dm9pZCAwIT09TT9NLmdldCh0KTp2b2lkIDAsdT1udWxsIT09aj9qW3RdOm51bGwscz1udWxsIT09Tz9PW3RdOm51bGwsZj1yWzBdLHA9KDAsYy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoZikseT12KGUscix2b2lkIDAhPT1hP2EuZ2V0KHApOnZvaWQgMCxuLHU/P251bGwsbCxzPz9udWxsLG8saSxfLHQsZHx8ZyxoKTtudWxsPT09TCYmKEw9bmV3IE1hcCksTC5zZXQodCx5KTtsZXQgUj15Lm5vZGU7aWYobnVsbCE9PVIpe2xldCBlPW5ldyBNYXAoQT92b2lkIDA6YSk7ZS5zZXQocCxSKSx3LnNldCh0LGUpfWxldCBFPXkucm91dGU7SVt0XT1FO2xldCBtPXkuZHluYW1pY1JlcXVlc3RUcmVlO251bGwhPT1tPyhEPSEwLHhbdF09bSk6eFt0XT1FfXJldHVybntzdGF0dXM6KyFnLHJvdXRlOkUodCxJKSxub2RlOnksZHluYW1pY1JlcXVlc3RUcmVlOm0odCx4LGcsRCxkKSxyZWZyZXNoVXJsOm51bGwsY2hpbGRyZW46TH19ZnVuY3Rpb24gRShlLHQpe2xldCByPVtlWzBdLHRdO3JldHVybiAyIGluIGUmJihyWzJdPWVbMl0pLDMgaW4gZSYmKHJbM109ZVszXSksNCBpbiBlJiYocls0XT1lWzRdKSxyfWZ1bmN0aW9uIG0oZSx0LHIsbixhKXtsZXQgbD1udWxsO3JldHVybiByPyhsPUUoZSx0KSxhfHwobFszXT0icmVmZXRjaCIpKTpsPW4/RShlLHQpOm51bGwsbH1mdW5jdGlvbiBiKGUsdCxyKXtyZXR1cm57cnNjOnQucnNjLHByZWZldGNoUnNjOmU/bnVsbDp0LnByZWZldGNoUnNjLGhlYWQ6dC5oZWFkLHByZWZldGNoSGVhZDplP251bGw6dC5wcmVmZXRjaEhlYWQsbG9hZGluZzp0LmxvYWRpbmcscGFyYWxsZWxSb3V0ZXM6cixuYXZpZ2F0ZWRBdDp0Lm5hdmlnYXRlZEF0fX1mdW5jdGlvbiBTKGUsdCxyLG4sYSxsLHUsbyl7bGV0IGksYyxzLGY7cmV0dXJuIHI/KGM9ZSxpPXcoKSk6KGM9bnVsbCxpPWUpLGw/YT8ocz1uLGY9dygpKToocz1udWxsLGY9bik6KHM9bnVsbCxmPW51bGwpLHtyc2M6aSxwcmVmZXRjaFJzYzpjLGhlYWQ6ZixwcmVmZXRjaEhlYWQ6cyxsb2FkaW5nOnQscGFyYWxsZWxSb3V0ZXM6dSxuYXZpZ2F0ZWRBdDpvfX1mdW5jdGlvbiBUKGUsdCxyLG4pe2xldCBhPTE9PT1uO3JldHVybntyc2M6YT9udWxsOncoKSxwcmVmZXRjaFJzYzpudWxsLGhlYWQ6IWEmJnQ/dygpOm51bGwscHJlZmV0Y2hIZWFkOm51bGwsbG9hZGluZzphP251bGw6dygpLHBhcmFsbGVsUm91dGVzOmUsbmF2aWdhdGVkQXQ6cn19bGV0IE89ITE7ZnVuY3Rpb24gaihlLHQscixuLGEpe2xldCBsPWUuZHluYW1pY1JlcXVlc3RUcmVlO2lmKG51bGw9PT1sKXtPPSExO3JldHVybn1sZXQgdT1VKGUsbCx0LHIsbiksbz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsYz1udWxsO2lmKG51bGwhPT1vKXtjPVtdO2xldCBhPSgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBvKXQhPT1hJiZudWxsIT09bCYmYy5wdXNoKFUoZSxsLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbikpfU0oZSxyLHUsYykudGhlbihSLFIpfWFzeW5jIGZ1bmN0aW9uIE0oZSx0LHIsbil7dmFyIGEsbDtsZXQgdT1hd2FpdCAoYT1yLGw9bixuZXcgUHJvbWlzZShlPT57bGV0IHQ9dD0+ezA9PT10LmV4aXRTdGF0dXM/MD09LS1uJiZlKDApOmUodC5leGl0U3RhdHVzKX0scj0oKT0+ZSgyKSxuPTE7YS50aGVuKHQsciksbnVsbCE9PWwmJihuKz1sLmxlbmd0aCxsLmZvckVhY2goZT0+ZS50aGVuKHQscikpKX0pKTtzd2l0Y2goMD09PXUmJih1PWZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLGwsdTtsZXQgbyxpLGMsczswPT09dC5zdGF0dXM/KHQuc3RhdHVzPTIsYT10Lm5vZGUsbD1yLHU9bixOKGk9YS5yc2MpJiYobnVsbD09PWw/aS5yZXNvbHZlKG51bGwsdSk6aS5yZWplY3QobCx1KSksTihjPWEubG9hZGluZykmJmMucmVzb2x2ZShudWxsLHUpLE4ocz1hLmhlYWQpJiZzLnJlc29sdmUobnVsbCx1KSxvPW51bGw9PT10LnJlZnJlc2hVcmw/MToyKTpvPTA7bGV0IGY9dC5jaGlsZHJlbjtpZihudWxsIT09Zilmb3IobGV0Wyx0XW9mIGYpe2xldCBhPWUodCxyLG4pO2E+byYmKG89YSl9cmV0dXJuIG99KGUsbnVsbCxudWxsKSksdSl7Y2FzZSAwOk89ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtBKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUpO3JldHVybn1jYXNlIDI6e2xldCBuPWF3YWl0IHI7QSghMCxuLnVybCx0LG4uc2VlZCxlLnJvdXRlKTtyZXR1cm59ZGVmYXVsdDpyZXR1cm4gdX19ZnVuY3Rpb24gQShlLHQscixuLGEpe2U9ZXx8TyxPPSEwO2xldCBsPXt0eXBlOmQuQUNUSU9OX1NFUlZFUl9QQVRDSCxwcmV2aW91c1RyZWU6YSx1cmw6dCxuZXh0VXJsOnIsc2VlZDpuLG1wYTplfTsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKShsKX1hc3luYyBmdW5jdGlvbiBVKGUsdCxyLG4sYSl7dHJ5e2xldCBsPWF3YWl0ICgwLHMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwobCxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IHU9KDAseS5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLnJvdXRlLGwuZmxpZ2h0RGF0YSxsLnJlbmRlcmVkU2VhcmNoKTtyZXR1cm57ZXhpdFN0YXR1czorISFmdW5jdGlvbiBlKHQscixuLGEsbCl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOk4oYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUubG9hZGluZztpZihOKHUpKXtsZXQgZT10WzJdO3UucmVzb2x2ZShlLG4pfWxldCBvPWUuaGVhZDtOKG8pJiZvLnJlc29sdmUocixuKX0odC5ub2RlLG4sYSxsKSk7bGV0IHU9dC5jaGlsZHJlbixpPXJbMV0sYz1udWxsIT09bj9uWzFdOm51bGwscz0hMTtpZihudWxsIT09dSlmb3IobGV0IHQgaW4gaSl7bGV0IHI9aVt0XSxuPW51bGwhPT1jP2NbdF06bnVsbCxmPXUuZ2V0KHQpO2lmKHZvaWQgMD09PWYpcz0hMDtlbHNle2xldCB0PWYucm91dGVbMF07KDAsby5tYXRjaFNlZ21lbnQpKHJbMF0sdCkmJm51bGwhPW4mJmUoZixyLG4sYSxsKSYmKHM9ITApfX1yZXR1cm4gc30oZSx1LnRyZWUsdS5kYXRhLHUuaGVhZCxsLmRlYnVnSW5mbyksdXJsOm5ldyBVUkwobC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnV9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEM9U3ltYm9sKCk7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUN9ZnVuY3Rpb24gdygpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9QyxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYXNMb2FkaW5nQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnk9MV09IlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5TdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5PTJdPSJTdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5IixuW24uU3VidHJlZUhhc05vTG9hZGluZ0JvdW5kYXJ5PTNdPSJTdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnkiLG4pfSw1MjQxMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhLGwsdT17RmV0Y2hTdHJhdGVneTpmdW5jdGlvbigpe3JldHVybiBzfSxOYXZpZ2F0aW9uUmVzdWx0VGFnOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFByZWZldGNoUHJpb3JpdHk6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiB1KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0OnVbb119KTt2YXIgaT0oKG49e30pW24uTVBBPTBdPSJNUEEiLG5bbi5TdWNjZXNzPTFdPSJTdWNjZXNzIixuW24uTm9PcD0yXT0iTm9PcCIsbltuLkFzeW5jPTNdPSJBc3luYyIsbiksYz0oKGE9e30pW2EuSW50ZW50PTJdPSJJbnRlbnQiLGFbYS5EZWZhdWx0PTFdPSJEZWZhdWx0IixhW2EuQmFja2dyb3VuZD0wXT0iQmFja2dyb3VuZCIsYSkscz0oKGw9e30pW2wuTG9hZGluZ0JvdW5kYXJ5PTBdPSJMb2FkaW5nQm91bmRhcnkiLGxbbC5QUFI9MV09IlBQUiIsbFtsLlBQUlJ1bnRpbWU9Ml09IlBQUlJ1bnRpbWUiLGxbbC5GdWxsPTNdPSJGdWxsIixsKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MTg1MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NTc0NSksdT1udWxsLG89ITEsaT0wO2Z1bmN0aW9uIGMoZSl7aWYodT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KGkrPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PXUpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD11LnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PXUsdS5wcmV2PWV9dT1lfWZ1bmN0aW9uIHMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKGk9aS1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihpLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsdT09PWU/dD09PXU/dT1udWxsOih1PXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvfHxpPD0weDMyMDAwMDB8fChvPSEwLHAoaCkpfWZ1bmN0aW9uIGgoKXtvPSExO2Zvcig7aT4weDJkMDAwMDAmJm51bGwhPT11Oyl7bGV0IGU9dS5wcmV2O251bGwhPT1lJiYoMCxsLmRlbGV0ZU1hcEVudHJ5KShlKX19bGV0IHA9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2s/cmVxdWVzdElkbGVDYWxsYmFjazplPT5zZXRUaW1lb3V0KGUsMCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzU3NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0ZhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGRlbGV0ZUZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBofSxkZWxldGVNYXBFbnRyeTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRGcm9tQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNWYWx1ZUV4cGlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0SW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBmfSxzZXRTaXplSW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig0MTg1MiksdT17fSxvPXt9O2Z1bmN0aW9uIGkoKXtyZXR1cm57cGFyZW50Om51bGwsa2V5Om51bGwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH19ZnVuY3Rpb24gYyhlLHQscixuLGEpe2xldCBpPWZ1bmN0aW9uIGUodCxyLG4sYSxsLGkpe2xldCBjLGY7aWYobnVsbCE9PWEpYz1hLnZhbHVlLGY9YS5wYXJlbnQ7ZWxzZSBpZihsJiZpIT09byljPW8sZj1udWxsO2Vsc2UgcmV0dXJuIG51bGw9PT1uLnZhbHVlP246cyh0LHIsbi52YWx1ZSk/KHAobiksbnVsbCk6bjtsZXQgZD1uLm1hcDtpZihudWxsIT09ZCl7bGV0IG49ZC5nZXQoYyk7aWYodm9pZCAwIT09bil7bGV0IGE9ZSh0LHIsbixmLGwsYyk7aWYobnVsbCE9PWEpcmV0dXJuIGF9bGV0IGE9ZC5nZXQodSk7aWYodm9pZCAwIT09YSlyZXR1cm4gZSh0LHIsYSxmLGwsYyl9cmV0dXJuIG51bGx9KGUsdCxyLG4sYSwwKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1pLnZhbHVlP251bGw6KCgwLGwubHJ1UHV0KShpKSxpLnZhbHVlKX1mdW5jdGlvbiBzKGUsdCxyKXtyZXR1cm4gci5zdGFsZUF0PD1lfHxyLnZlcnNpb248dH1mdW5jdGlvbiBmKGUsdCxyLG4pe2xldCBhPWZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1lLGE9dCxsPW51bGw7Zm9yKDs7KXtsZXQgZT1sO2lmKG51bGwhPT1hKWw9YS52YWx1ZSxhPWEucGFyZW50O2Vsc2UgaWYociYmZSE9PW8pe2lmKG51bGw9PT1uLnZhbHVlKXJldHVybiBuO2w9b31lbHNlIGJyZWFrO2xldCB0PW4ubWFwO2lmKG51bGwhPT10KXtsZXQgZT10LmdldChsKTtpZih2b2lkIDAhPT1lKXtuPWU7Y29udGludWV9fWVsc2UgdD1uZXcgTWFwLG4ubWFwPXQ7bGV0IHU9e3BhcmVudDpuLGtleTpsLHZhbHVlOm51bGwsbWFwOm51bGwscHJldjpudWxsLG5leHQ6bnVsbCxzaXplOjB9O3Quc2V0KGwsdSksbj11fXJldHVybiBufShlLHQsbik7ZChhLHIpLCgwLGwubHJ1UHV0KShhKSwoMCxsLnVwZGF0ZUxydVNpemUpKGEsci5zaXplKX1mdW5jdGlvbiBkKGUsdCl7bnVsbCE9PWUudmFsdWUmJihlLnZhbHVlLnJlZj1udWxsLGUudmFsdWU9bnVsbCk7bGV0IHI9dC5yZWY7ZS52YWx1ZT10LHQucmVmPWUsKDAsbC51cGRhdGVMcnVTaXplKShlLHQuc2l6ZSksbnVsbCE9PXImJnIhPT1lJiZyLnZhbHVlPT09dCYmcChyKX1mdW5jdGlvbiBoKGUpe2xldCB0PWUucmVmO251bGwhPT10JiYoZS5yZWY9bnVsbCxwKHQpKX1mdW5jdGlvbiBwKGUpe2UudmFsdWU9bnVsbCwoMCxsLmRlbGV0ZUZyb21McnUpKGUpO2xldCB0PWUubWFwO2lmKG51bGw9PT10KXtsZXQgdD1lLnBhcmVudCxyPWUua2V5O2Zvcig7bnVsbCE9PXQ7KXtsZXQgZT10Lm1hcDtpZihudWxsIT09ZSYmKGUuZGVsZXRlKHIpLDA9PT1lLnNpemUpJiYodC5tYXA9bnVsbCxudWxsPT09dC52YWx1ZSkpe3I9dC5rZXksdD10LnBhcmVudDtjb250aW51ZX1icmVha319ZWxzZXtsZXQgcj10LmdldChvKTt2b2lkIDAhPT1yJiZudWxsIT09ci52YWx1ZSYmZChlLHIudmFsdWUpfX1mdW5jdGlvbiB5KGUsdCl7bGV0IHI9ZS5yZWY7bnVsbCE9PXImJihlLnNpemU9dCwoMCxsLnVwZGF0ZUxydVNpemUpKHIsdCkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY1ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRSb3V0ZVZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDc1NzQ1KSxvPWUucig0NjIxOSk7ZnVuY3Rpb24gaShlLHQscil7cmV0dXJue3ZhbHVlOmUscGFyZW50Ont2YWx1ZTp0LHBhcmVudDp7dmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBjKGUsdCxyLG4pe3JldHVybnt2YWx1ZTplLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6e3ZhbHVlOm4/cjp1LkZhbGxiYWNrLHBhcmVudDpudWxsfX19fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm57dmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybnt2YWx1ZTplLHBhcmVudDp0fX1mdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm57dmFsdWU6ZSxwYXJlbnQ6e3ZhbHVlOnQscGFyZW50OnJ9fX1mdW5jdGlvbiBoKGUsdCxyKXtyZXR1cm57dmFsdWU6ZStvLkhFQURfUkVRVUVTVF9LRVkscGFyZW50Ont2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gcChlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue3ZhbHVlOnIudmFsdWUscGFyZW50Ont2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24geShlLHQpe2xldCByPWUucGFyZW50O3JldHVybnt2YWx1ZTplLnZhbHVlLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjMxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj1uZXcgVVJMKGUpO3JldHVybntwYXRobmFtZTpyLnBhdGhuYW1lLHNlYXJjaDpyLnNlYXJjaCxuZXh0VXJsOnR9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc1NzgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjYW5jZWxQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gRX0saXNQcmVmZXRjaFRhc2tEaXJ0eTpmdW5jdGlvbigpe3JldHVybiBifSxwaW5nUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LHJlc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bjpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNDQ1NyksdT1lLnIoODk2MTYpLG89ZS5yKDQ0NjY3KSxpPWUucig2NTg5MyksYz1lLnIoMTYzMTYpLHM9ZS5yKDUyNDEzKSxmPWUucigyNzQ1NCksZD0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6ZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbihlKS5jYXRjaChlPT5zZXRUaW1lb3V0KCgpPT57dGhyb3cgZX0pKSxoPVtdLHA9MCx5PTAsZz0hMSxSPW51bGwsXz1udWxsO2Z1bmN0aW9uIFAoKXtudWxsIT09XyYmY2xlYXJUaW1lb3V0KF8pLF89c2V0VGltZW91dCgoKT0+e189bnVsbCxUKCl9LDMwMCl9ZnVuY3Rpb24gdihlLHQscixuLGEpe2xldCBsPXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LGNhY2hlVmVyc2lvbjooMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCkscHJpb3JpdHk6bixwaGFzZToxLGhhc0JhY2tncm91bmRXb3JrOiExLHNwYXduZWRSdW50aW1lUHJlZmV0Y2hlczpudWxsLGZldGNoU3RyYXRlZ3k6cixzb3J0SWQ6eSsrLGlzQ2FuY2VsZWQ6ITEsb25JbnZhbGlkYXRlOmEsX2hlYXBJbmRleDotMX07cmV0dXJuIFMobCksQihoLGwpLFQoKSxsfWZ1bmN0aW9uIEUoZSl7ZS5pc0NhbmNlbGVkPSEwLGZ1bmN0aW9uKGUsdCl7bGV0IHI9dC5faGVhcEluZGV4O2lmKC0xIT09ciYmKHQuX2hlYXBJbmRleD0tMSwwIT09ZS5sZW5ndGgpKXtsZXQgbj1lLnBvcCgpO24hPT10JiYoZVtyXT1uLG4uX2hlYXBJbmRleD1yLHooZSxuLHIpKX19KGgsZSl9ZnVuY3Rpb24gbShlLHQscixuKXtlLmlzQ2FuY2VsZWQ9ITEsZS5waGFzZT0xLGUuc29ydElkPXkrKyxlLnByaW9yaXR5PWU9PT1SP3MuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQ6bixlLnRyZWVBdFRpbWVPZlByZWZldGNoPXQsZS5mZXRjaFN0cmF0ZWd5PXIsUyhlKSwtMSE9PWUuX2hlYXBJbmRleD9xKGgsZSk6QihoLGUpLFQoKX1mdW5jdGlvbiBiKGUsdCxyKXtsZXQgbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7cmV0dXJuIGUuY2FjaGVWZXJzaW9uIT09bnx8ZS50cmVlQXRUaW1lT2ZQcmVmZXRjaCE9PXJ8fGUua2V5Lm5leHRVcmwhPT10fWZ1bmN0aW9uIFMoZSl7ZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQmJmUhPT1SJiYobnVsbCE9PVImJlIucHJpb3JpdHkhPT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCYmKFIucHJpb3JpdHk9cy5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQscShoLFIpKSxSPWUpfWZ1bmN0aW9uIFQoKXtnfHwoZz0hMCxkKFUpKX1mdW5jdGlvbiBPKGUpe3JldHVybiBudWxsPT09XyYmKGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50P3A8MTI6cDw0KX1mdW5jdGlvbiBqKGUpe3JldHVybiBwKyssZS50aGVuKGU9Pm51bGw9PT1lPyhNKCksbnVsbCk6KGUuY2xvc2VkLnRoZW4oTSksZS52YWx1ZSkpfWZ1bmN0aW9uIE0oKXtwLS0sVCgpfWZ1bmN0aW9uIEEoZSl7ZS5pc0NhbmNlbGVkfHwtMSE9PWUuX2hlYXBJbmRleHx8KEIoaCxlKSxUKCkpfWZ1bmN0aW9uIFUoKXtnPSExO2xldCBlPURhdGUubm93KCksdD1LKGgpO2Zvcig7bnVsbCE9PXQmJk8odCk7KXt0LmNhY2hlVmVyc2lvbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7bGV0IHI9ZnVuY3Rpb24oZSx0KXtsZXQgcj10LmtleSxuPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsciksYT1mdW5jdGlvbihlLHQscil7c3dpdGNoKHIuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoUm91dGVPbkNhY2hlTWlzcykocix0LHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOntpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgaT1yLnRyZWUsYz10LmZldGNoU3RyYXRlZ3k9PT1zLkZldGNoU3RyYXRlZ3kuUFBSP3IuaXNQUFJFbmFibGVkP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3k7c3dpdGNoKGMpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKEYobj1lLGE9dCx1PXIsKDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUsdS5tZXRhZGF0YSksYS5rZXksdS5tZXRhZGF0YSksMD09PWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGwpO0YodCxyLG4sdSxyLmtleSxsKTtsZXQgaT1hWzFdLGM9bC5zbG90cztpZihudWxsIT09Yylmb3IobGV0IGEgaW4gYyl7aWYoIU8ocikpcmV0dXJuIDA7bGV0IGw9Y1thXSx1PWwuc2VnbWVudCxzPWlbYV0sZj1zPy5bMF07aWYoMD09PSh2b2lkIDAhPT1mJiZrKG4sdSxmKT9lKHQscixuLHMsbCk6ZnVuY3Rpb24gZSh0LHIsbixhKXtpZihhLmhhc1J1bnRpbWVQcmVmZXRjaClyZXR1cm4gbnVsbD09PXIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzP3Iuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW5ldyBTZXQoW2EucmVxdWVzdEtleV0pOnIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzLmFkZChhLnJlcXVlc3RLZXkpLDI7bGV0IGw9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksbixhKTtpZihGKHQscixuLGwsci5rZXksYSksbnVsbCE9PWEuc2xvdHMpe2lmKCFPKHIpKXJldHVybiAwO2ZvcihsZXQgbCBpbiBhLnNsb3RzKWlmKDA9PT1lKHQscixuLGEuc2xvdHNbbF0pKXJldHVybiAwfXJldHVybiAyfSh0LHIsbixsKSkpcmV0dXJuIDB9cmV0dXJuIDJ9KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsaSkpcmV0dXJuIDA7bGV0IGw9dC5zcGF3bmVkUnVudGltZVByZWZldGNoZXM7aWYobnVsbCE9PWwpe2xldCBuPW5ldyBNYXA7TihlLHQscixuLHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtpZihsLmhhcyhhLnJlcXVlc3RLZXkpKXJldHVybiB3KHQscixuLGEsITEsdSxzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSk7bGV0IG89e30saT1hLnNsb3RzO2lmKG51bGwhPT1pKWZvcihsZXQgYSBpbiBpKXtsZXQgYz1pW2FdO29bYV09ZSh0LHIsbixjLGwsdSl9cmV0dXJuW2Euc2VnbWVudCxvLG51bGwsbnVsbF19KGUsdCxyLGksbCxuKTtuLnNpemU+MCYmaigoMCxvLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIscy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUsYSxuKSl9cmV0dXJuIDJ9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp7bGV0IG49bmV3IE1hcDtOKGUsdCxyLG4sYyk7bGV0IGE9ZnVuY3Rpb24gZSh0LHIsbixhLHUsaSxjKXtsZXQgZj1hWzFdLGQ9dS5zbG90cyxoPXt9O2lmKG51bGwhPT1kKWZvcihsZXQgYSBpbiBkKXtsZXQgdT1kW2FdLHA9dS5zZWdtZW50LHk9ZlthXSxnPXk/LlswXTtpZih2b2lkIDAhPT1nJiZrKG4scCxnKSl7bGV0IGw9ZSh0LHIsbix5LHUsaSxjKTtoW2FdPWx9ZWxzZSBzd2l0Y2goYyl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgZT11Lmhhc0xvYWRpbmdCb3VuZGFyeSE9PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeT9mdW5jdGlvbiBlKHQscixuLGEsdSxpKXtsZXQgYz1udWxsPT09dT8iaW5zaWRlLXNoYXJlZC1sYXlvdXQiOm51bGwsZj0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5Omkuc2V0KGEucmVxdWVzdEtleSwoMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZihhLmhhc0xvYWRpbmdCb3VuZGFyeT09PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpcmV0dXJuKDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkoYSk7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1sZXQgZD17fTtpZihudWxsIT09YS5zbG90cylmb3IobGV0IGwgaW4gYS5zbG90cyl7bGV0IG89YS5zbG90c1tsXTtkW2xdPWUodCxyLG4sbyx1LGkpfXJldHVyblthLnNlZ21lbnQsZCxudWxsLGMsYS5pc1Jvb3RMYXlvdXRdfSh0LHIsbix1LG51bGwsaSk6KDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkodSk7aFthXT1lO2JyZWFrfWNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6e2xldCBlPXcodCxyLG4sdSwhMSxpLGMpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOntsZXQgZT13KHQscixuLHUsITEsaSxjKTtoW2FdPWV9fX1yZXR1cm5bdS5zZWdtZW50LGgsbnVsbCxudWxsLHUuaXNSb290TGF5b3V0XX0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxpLG4sYyk7cmV0dXJuIG4uc2l6ZT4wJiZqKCgwLG8uZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixjLGEsbikpLDJ9fX19cmV0dXJuIDJ9KGUsdCxuKTtpZigwIT09YSYmIiIhPT1yLnNlYXJjaCl7bGV0IG49bmV3IFVSTChyLnBhdGhuYW1lLGxvY2F0aW9uLm9yaWdpbiksYT0oMCxjLmNyZWF0ZUNhY2hlS2V5KShuLmhyZWYsci5uZXh0VXJsKSxsPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsYSk7c3dpdGNoKGwuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6Qyh0KSYmKGwuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZyxqKCgwLG8uZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShsLHQsYSkpKTtjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fXJldHVybiBhfShlLHQpLG49dC5oYXNCYWNrZ3JvdW5kV29yaztzd2l0Y2godC5oYXNCYWNrZ3JvdW5kV29yaz0hMSx0LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1udWxsLHIpe2Nhc2UgMDpyZXR1cm47Y2FzZSAxOlYoaCksdD1LKGgpO2NvbnRpbnVlO2Nhc2UgMjoxPT09dC5waGFzZT8odC5waGFzZT0wLHEoaCx0KSk6bj8odC5wcmlvcml0eT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCxxKGgsdCkpOlYoaCksdD1LKGgpO2NvbnRpbnVlfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kfHwoZS5oYXNCYWNrZ3JvdW5kV29yaz0hMCwhMSl9ZnVuY3Rpb24gTihlLHQscixuLGEpe3coZSx0LHIsci5tZXRhZGF0YSwhMSxuLGE9PT1zLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5P3MuRmV0Y2hTdHJhdGVneS5GdWxsOmEpfWZ1bmN0aW9uIHcoZSx0LHIsbixhLGwsdSl7bGV0IGk9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkoZSx1LHIsbiksYz1udWxsO3N3aXRjaChpLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5OmM9KDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoaSx1KTticmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmkuaXNQYXJ0aWFsJiYoMCxvLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKGkuZmV0Y2hTdHJhdGVneSx1KSYmKGM9TChlLHIsbix1KSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLG8uY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoaS5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1MKGUscixuLHUpKX1sZXQgcz17fTtpZihudWxsIT09bi5zbG90cylmb3IobGV0IG8gaW4gbi5zbG90cyl7bGV0IGk9bi5zbG90c1tvXTtzW29dPXcoZSx0LHIsaSxhfHxudWxsIT09YyxsLHUpfW51bGwhPT1jJiZsLnNldChuLnJlcXVlc3RLZXksYyk7bGV0IGY9YXx8bnVsbD09PWM/bnVsbDoicmVmZXRjaCI7cmV0dXJuW24uc2VnbWVudCxzLG51bGwsZixuLmlzUm9vdExheW91dF19ZnVuY3Rpb24gRihlLHQscixuLGEsbCl7c3dpdGNoKG4uc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoU2VnbWVudE9uQ2FjaGVNaXNzKShyLCgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scy5GZXRjaFN0cmF0ZWd5LlBQUiksYSxsKSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6Qyh0KSYmSShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1icmVhaztjYXNlIG8uRW50cnlTdGF0dXMuUmVqZWN0ZWQ6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6SShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1jYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOn19ZnVuY3Rpb24gSShlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxzLkZldGNoU3RyYXRlZ3kuUFBSLHQsbik7c3dpdGNoKGEuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6eChqKCgwLG8uZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKHMuRmV0Y2hTdHJhdGVneS5QUFIsbikpO2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19ZnVuY3Rpb24gTChlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxuLHQscik7aWYoYS5zdGF0dXM9PT1vLkVudHJ5U3RhdHVzLkVtcHR5KXtsZXQgZT0oMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShhLG4pO3JldHVybiB4KCgwLG8ud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShlKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKG4scikpLGV9aWYoKDAsby5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShhLmZldGNoU3RyYXRlZ3ksbikpe2xldCBlPSgwLG8ub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKG4sdCxyKSxhPSgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKGUsbik7cmV0dXJuIHgoKDAsby53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLCgwLGkuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkobixyKSksYX1zd2l0Y2goYS5zdGF0dXMpe2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWxldCBEPSgpPT57fTtmdW5jdGlvbiB4KGUsdCl7ZS50aGVuKGU9PntudWxsIT09ZSYmKDAsby51cHNlcnRTZWdtZW50RW50cnkpKERhdGUubm93KCksdCxlKX0sRCl9ZnVuY3Rpb24gayhlLHQscil7cmV0dXJuIHI9PT1mLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGYuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZi5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gSChlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24gQihlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9cixHKGUsdCxyKX1mdW5jdGlvbiBLKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLHooZSxyLDApKSx0fWZ1bmN0aW9uIHEoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/eihlLHQsMCk6SChlW3ItMT4+PjFdLHQpPjA/RyhlLHQscik6eihlLHQscikpfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKEgoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIHooZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxvPWVbdV07aWYoMD5IKGwsdCkpdTxhJiYwPkgobyxsKT8oZVtuXT1vLG8uX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5IKG8sdCkpKXJldHVybjtlW25dPW8sby5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk4MDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtsZXQgdD1lLmluZGV4T2YoIiMiKSxyPWUuaW5kZXhPZigiPyIpLG49cj4tMSYmKHQ8MHx8cjx0KTtyZXR1cm4gbnx8dD4tMT97cGF0aG5hbWU6ZS5zdWJzdHJpbmcoMCxuP3I6dCkscXVlcnk6bj9lLnN1YnN0cmluZyhyLHQ+LTE/dDp2b2lkIDApOiIiLGhhc2g6dD4tMT9lLnNsaWNlKHQpOiIifTp7cGF0aG5hbWU6ZSxxdWVyeToiIixoYXNoOiIifX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkwNTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODA2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSw5ODk0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTgwNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5ODk0NyksYT1lLnIoOTgwNjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNDg1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWRkQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5MDU4KSxhPWUucig2MTgwNyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI5MzYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDM0NjUpLHU9ZS5yKDE0ODU3KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gaShlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbyh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTgyODMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBzfSxtb3VudEZvcm1JbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB2fSxtb3VudExpbmtJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBQfSxvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZDpmdW5jdGlvbigpe3JldHVybiBtfSxvbk5hdmlnYXRpb25JbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0scGluZ1Zpc2libGVMaW5rczpmdW5jdGlvbigpe3JldHVybiBUfSxzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBofSx1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDE2MzE2KSxvPWUucig3NTc4MCksaT1lLnIoNzUyMDEpLGM9bnVsbCxzPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKHMpLGM9ZX0pfWZ1bmN0aW9uIGgoZSl7Yz09PWUmJihjPW51bGwpfWxldCBwPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBNYXAseT1uZXcgU2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtmb3IobGV0IHQgb2YgZSl7bGV0IGU9dC5pbnRlcnNlY3Rpb25SYXRpbz4wO20odC50YXJnZXQsZSl9fSx7cm9vdE1hcmdpbjoiMjAwcHgifSk6bnVsbDtmdW5jdGlvbiBSKGUsdCl7dm9pZCAwIT09cC5nZXQoZSkmJkUoZSkscC5zZXQoZSx0KSxudWxsIT09ZyYmZy5vYnNlcnZlKGUpfWZ1bmN0aW9uIF8odCl7aWYoISgidSI+dHlwZW9mIHdpbmRvdykpcmV0dXJuIG51bGw7e2xldHtjcmVhdGVQcmVmZXRjaFVSTDpyfT1lLnIoMjkzNjIpO3RyeXtyZXR1cm4gcih0KX1jYXRjaHtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmNvbnNvbGUuZXJyb3IpKGBDYW5ub3QgcHJlZmV0Y2ggJyR7dH0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSxudWxsfX19ZnVuY3Rpb24gUChlLHQscixuLGEsbCl7aWYoYSl7bGV0IGE9Xyh0KTtpZihudWxsIT09YSl7bGV0IHQ9e3JvdXRlcjpyLGZldGNoU3RyYXRlZ3k6bixpc1Zpc2libGU6ITEscHJlZmV0Y2hUYXNrOm51bGwscHJlZmV0Y2hIcmVmOmEuaHJlZixzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfTtyZXR1cm4gUihlLHQpLHR9fXJldHVybntyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjpudWxsLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOmx9fWZ1bmN0aW9uIHYoZSx0LHIsbil7bGV0IGE9Xyh0KTtudWxsPT09YXx8UihlLHtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bnVsbH0pfWZ1bmN0aW9uIEUoZSl7bGV0IHQ9cC5nZXQoZSk7aWYodm9pZCAwIT09dCl7cC5kZWxldGUoZSkseS5kZWxldGUodCk7bGV0IHI9dC5wcmVmZXRjaFRhc2s7bnVsbCE9PXImJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShyKX1udWxsIT09ZyYmZy51bm9ic2VydmUoZSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJihyLmlzVmlzaWJsZT10LHQ/eS5hZGQocik6eS5kZWxldGUociksUyhyLGwuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KSl9ZnVuY3Rpb24gYihlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJnZvaWQgMCE9PXImJlMocixsLlByZWZldGNoUHJpb3JpdHkuSW50ZW50KX1mdW5jdGlvbiBTKHQscil7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBuPXQucHJlZmV0Y2hUYXNrO2lmKCF0LmlzVmlzaWJsZSl7bnVsbCE9PW4mJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShuKTtyZXR1cm59bGV0e2dldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTphfT1lLnIoODQzOTUpLGw9YSgpO2lmKG51bGwhPT1sKXtsZXQgZT1sLnRyZWU7aWYobnVsbD09PW4pe2xldCBuPWwubmV4dFVybCxhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHQucHJlZmV0Y2hIcmVmLG4pO3QucHJlZmV0Y2hUYXNrPSgwLG8uc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsZSx0LmZldGNoU3RyYXRlZ3kscixudWxsKX1lbHNlKDAsby5yZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKShuLGUsdC5mZXRjaFN0cmF0ZWd5LHIpfX19ZnVuY3Rpb24gVChlLHQpe2ZvcihsZXQgciBvZiB5KXtsZXQgbj1yLnByZWZldGNoVGFzaztpZihudWxsIT09biYmISgwLG8uaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpKWNvbnRpbnVlO251bGwhPT1uJiYoMCxvLmNhbmNlbFByZWZldGNoVGFzaykobik7bGV0IGE9KDAsdS5jcmVhdGVDYWNoZUtleSkoci5wcmVmZXRjaEhyZWYsZSk7ci5wcmVmZXRjaFRhc2s9KDAsby5zY2hlZHVsZVByZWZldGNoVGFzaykoYSx0LHIuZmV0Y2hTdHJhdGVneSxsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCxudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDA0NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDQ2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RW50cnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gU30sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlYX0sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbCx0LmlzUm9vdExheW91dF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiAkfSxmZXRjaFNlZ21lbnRPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBRfSxmZXRjaFNlZ21lbnRQcmVmZXRjaGVzVXNpbmdEeW5hbWljUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBKfSxnZXRDdXJyZW50Q2FjaGVWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldFN0YWxlVGltZU1zOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG92ZXJ3cml0ZVJldmFsaWRhdGluZ1NlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHBpbmdJbnZhbGlkYXRpb25MaXN0ZW5lcnM6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBMfSxyZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBrfSxyZWFkUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHd9LHJlYWRTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBGfSxyZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBEfSxyZXZhbGlkYXRlRW50aXJlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gcX0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBJfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigyNDQ1Nyksbz1lLnIoMzQ2NDEpLGk9ZS5yKDExMDYpLGM9ZS5yKDc1NzgwKSxzPWUucig2NTg5MyksZj1lLnIoNjE3MDYpLGQ9ZS5yKDg1NTk0KSxoPWUucigxNjMxNikscD1lLnIoODgwNjIpLHk9ZS5yKDc1NzQ1KSxnPWUucig0NjIxOSksUj1lLnIoNjc2MjgpLF89ZS5yKDU0MDExKSxQPWUucig5ODI4Myksdj1lLnIoMjc0NTQpLEU9ZS5yKDUyNDEzKSxtPWUucig0MDQ2MSk7ZnVuY3Rpb24gYihlKXtyZXR1cm4gMWUzKk1hdGgubWF4KGUsMzApfXZhciBTPSgobj17fSlbbi5FbXB0eT0wXT0iRW1wdHkiLG5bbi5QZW5kaW5nPTFdPSJQZW5kaW5nIixuW24uRnVsZmlsbGVkPTJdPSJGdWxmaWxsZWQiLG5bbi5SZWplY3RlZD0zXT0iUmVqZWN0ZWQiLG4pO2xldCBUPVsiIix7fSxudWxsLCJtZXRhZGF0YS1vbmx5Il0sTz0oMCx5LmNyZWF0ZUNhY2hlTWFwKSgpLGo9KDAseS5jcmVhdGVDYWNoZU1hcCkoKSxNPW51bGwsQT0wO2Z1bmN0aW9uIFUoKXtyZXR1cm4gQX1mdW5jdGlvbiBDKGUsdCl7QSsrLCgwLGMuc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bikoKSwoMCxQLnBpbmdWaXNpYmxlTGlua3MpKGUsdCksTihlLHQpfWZ1bmN0aW9uIE4oZSx0KXtpZihudWxsIT09TSl7bGV0IHI9TTtmb3IobGV0IG4gb2YoTT1udWxsLHIpKSgwLGMuaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpJiZmdW5jdGlvbihlKXtsZXQgdD1lLm9uSW52YWxpZGF0ZTtpZihudWxsIT09dCl7ZS5vbkludmFsaWRhdGU9bnVsbDt0cnl7dCgpfWNhdGNoKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcihlKTpjb25zb2xlLmVycm9yKGUpfX19KG4pfX1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9KDAscy5nZXRSb3V0ZVZhcnlQYXRoKSh0LnBhdGhuYW1lLHQuc2VhcmNoLHQubmV4dFVybCk7cmV0dXJuKDAseS5nZXRGcm9tQ2FjaGVNYXApKGUsQSxPLHIsITEpfWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4oMCx5LmdldEZyb21DYWNoZU1hcCkoZSxBLGosdCwhMSl9ZnVuY3Rpb24gSShlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEwoZSx0LHIpe251bGwhPT10Lm9uSW52YWxpZGF0ZSYmKG51bGw9PT1NP009bmV3IFNldChbdF0pOk0uYWRkKHQpKTtsZXQgbj13KGUscik7aWYobnVsbCE9PW4pcmV0dXJuIG47bGV0IGE9e2Nhbm9uaWNhbFVybDpudWxsLHN0YXR1czowLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6bnVsbCxtZXRhZGF0YTpudWxsLGNvdWxkQmVJbnRlcmNlcHRlZDohMCxpc1BQUkVuYWJsZWQ6ITEscmVuZGVyZWRTZWFyY2g6bnVsbCxyZWY6bnVsbCxzaXplOjAsc3RhbGVBdDoxLzAsdmVyc2lvbjpBfSxsPSgwLHMuZ2V0Um91dGVWYXJ5UGF0aCkoci5wYXRobmFtZSxyLnNlYXJjaCxyLm5leHRVcmwpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoTyxsLGEsITEpLGF9ZnVuY3Rpb24gRChlLHQscil7bGV0IG49dC5zZWFyY2g7aWYoIiI9PT1uKXJldHVybiBudWxsO2xldCBhPW5ldyBVUkwodCk7YS5zZWFyY2g9IiI7bGV0IGw9dyhlLCgwLGguY3JlYXRlQ2FjaGVLZXkpKGEuaHJlZixyKSk7aWYobnVsbD09PWx8fDIhPT1sLnN0YXR1cylyZXR1cm4gbnVsbDtsZXQgdT1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLHQub3JpZ2luKSxvPSIiIT09dS5zZWFyY2g/dS5zZWFyY2g6bixpPSIiIT09bC5yZW5kZXJlZFNlYXJjaD9sLnJlbmRlcmVkU2VhcmNoOm4sYz1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbik7cmV0dXJuIGMuc2VhcmNoPW8se2Nhbm9uaWNhbFVybDooMCxkLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxzdGF0dXM6MixibG9ja2VkVGFza3M6bnVsbCx0cmVlOngobC50cmVlLGkpLG1ldGFkYXRhOngobC5tZXRhZGF0YSxpKSxjb3VsZEJlSW50ZXJjZXB0ZWQ6bC5jb3VsZEJlSW50ZXJjZXB0ZWQsaXNQUFJFbmFibGVkOmwuaXNQUFJFbmFibGVkLHJlbmRlcmVkU2VhcmNoOmkscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6bC5zdGFsZUF0LHZlcnNpb246bC52ZXJzaW9ufX1mdW5jdGlvbiB4KGUsdCl7bGV0IHI9bnVsbCxuPWUuc2xvdHM7aWYobnVsbCE9PW4pZm9yKGxldCBlIGluIHI9e30sbil7bGV0IGE9bltlXTtyW2VdPXgoYSx0KX1yZXR1cm4gZS5pc1BhZ2U/e3JlcXVlc3RLZXk6ZS5yZXF1ZXN0S2V5LHNlZ21lbnQ6ZS5zZWdtZW50LHZhcnlQYXRoOigwLHMuY2xvbmVQYWdlVmFyeVBhdGhXaXRoTmV3U2VhcmNoUGFyYW1zKShlLnZhcnlQYXRoLHQpLGlzUGFnZTohMCxzbG90czpyLGlzUm9vdExheW91dDplLmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6ZS5oYXNMb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOmUuaGFzUnVudGltZVByZWZldGNofTp7cmVxdWVzdEtleTplLnJlcXVlc3RLZXksc2VnbWVudDplLnNlZ21lbnQsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixpc1Jvb3RMYXlvdXQ6ZS5pc1Jvb3RMYXlvdXQsaGFzTG9hZGluZ0JvdW5kYXJ5OmUuaGFzTG9hZGluZ0JvdW5kYXJ5LGhhc1J1bnRpbWVQcmVmZXRjaDplLmhhc1J1bnRpbWVQcmVmZXRjaH19ZnVuY3Rpb24gayhlLHQscixuKXtsZXQgYT1GKGUsbi52YXJ5UGF0aCk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLHU9VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixsLHUsITEpLHV9ZnVuY3Rpb24gSChlLHQscixuKXt2YXIgYTtsZXQgbD0oYT1uLnZhcnlQYXRoLCgwLHkuZ2V0RnJvbUNhY2hlTWFwKShlLEEsaixhLCEwKSk7aWYobnVsbCE9PWwpcmV0dXJuIGw7bGV0IHU9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLG89VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaix1LG8sITApLG99ZnVuY3Rpb24gQihlLHQscil7bGV0IG49KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KShlLHIpLGE9Vih0LnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixuLGEsITApLGF9ZnVuY3Rpb24gSyhlLHQscil7aWYoKDAseS5pc1ZhbHVlRXhwaXJlZCkoZSxBLHIpKXJldHVybiBudWxsO2xldCBuPUYoZSx0KTtpZihudWxsIT09bil7dmFyIGE7aWYoci5mZXRjaFN0cmF0ZWd5IT09bi5mZXRjaFN0cmF0ZWd5JiYoYT1uLmZldGNoU3RyYXRlZ3ksIShhPHIuZmV0Y2hTdHJhdGVneSkpfHwhbi5pc1BhcnRpYWwmJnIuaXNQYXJ0aWFsKXJldHVybiByLnN0YXR1cz0zLHIubG9hZGluZz1udWxsLHIucnNjPW51bGwsbnVsbDsoMCx5LmRlbGV0ZUZyb21DYWNoZU1hcCkobil9cmV0dXJuKDAseS5zZXRJbkNhY2hlTWFwKShqLHQsciwhMSkscn1mdW5jdGlvbiBWKGUpe3JldHVybntzdGF0dXM6MCxmZXRjaFN0cmF0ZWd5OkUuRmV0Y2hTdHJhdGVneS5QUFIscnNjOm51bGwsbG9hZGluZzpudWxsLGlzUGFydGlhbDohMCxwcm9taXNlOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6ZSx2ZXJzaW9uOjB9fWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gZS5zdGF0dXM9MSxlLmZldGNoU3RyYXRlZ3k9dCx0PT09RS5GZXRjaFN0cmF0ZWd5LkZ1bGwmJihlLmlzUGFydGlhbD0hMSksZS52ZXJzaW9uPUEsZX1mdW5jdGlvbiBHKGUpe2xldCB0PWUuYmxvY2tlZFRhc2tzO2lmKG51bGwhPT10KXtmb3IobGV0IGUgb2YgdCkoMCxjLnBpbmdQcmVmZXRjaFRhc2spKGUpO2UuYmxvY2tlZFRhc2tzPW51bGx9fWZ1bmN0aW9uIHooZSx0LHIsbixhLGwsbyxpKXtsZXQgYz17cmVxdWVzdEtleTpnLkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDpnLkhFQURfUkVRVUVTVF9LRVksdmFyeVBhdGg6cixpc1BhZ2U6ITAsc2xvdHM6bnVsbCxpc1Jvb3RMYXlvdXQ6ITEsaGFzTG9hZGluZ0JvdW5kYXJ5OnUuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6ITF9O3JldHVybiBlLnN0YXR1cz0yLGUudHJlZT10LGUubWV0YWRhdGE9YyxlLnN0YWxlQXQ9bixlLmNvdWxkQmVJbnRlcmNlcHRlZD1hLGUuY2Fub25pY2FsVXJsPWwsZS5yZW5kZXJlZFNlYXJjaD1vLGUuaXNQUFJFbmFibGVkPWksRyhlKSxlfWZ1bmN0aW9uIFgoZSx0LHIsbixhKXtyZXR1cm4gZS5zdGF0dXM9MixlLnJzYz10LGUubG9hZGluZz1yLGUuc3RhbGVBdD1uLGUuaXNQYXJ0aWFsPWEsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKGUpLGUucHJvbWlzZT1udWxsKSxlfWZ1bmN0aW9uIFcoZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LEcoZSl9ZnVuY3Rpb24gWShlLHQpe2Uuc3RhdHVzPTMsZS5zdGFsZUF0PXQsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKG51bGwpLGUucHJvbWlzZT1udWxsKX1hc3luYyBmdW5jdGlvbiAkKGUsdCxyKXtsZXQgbj1yLnBhdGhuYW1lLGE9ci5zZWFyY2gsbD1yLm5leHRVcmwsYz17W28uUlNDX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXToiL190cmVlIn07bnVsbCE9PWwmJihjW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcixoLFA9bmV3IFVSTChuK2EsbG9jYXRpb24ub3JpZ2luKTtpZihyPWF3YWl0IGVyKFAsYyksaD1udWxsIT09ciYmci5yZWRpcmVjdGVkP25ldyBVUkwoci51cmwpOlAsIXJ8fCFyLm9rfHwyMDQ9PT1yLnN0YXR1c3x8IXIuYm9keSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBTPSgwLGQuY3JlYXRlSHJlZkZyb21VcmwpKGgpLFQ9ci5oZWFkZXJzLmdldCgidmFyeSIpLGo9bnVsbCE9PVQmJlQuaW5jbHVkZXMoby5ORVhUX1VSTCksTT0oMCxtLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLEE9IjIiPT09ci5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoQSl7bGV0IHQsbixhPWVuKHIuYm9keSxNLnJlc29sdmUsZnVuY3Rpb24odCl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkoZSx0KX0pLGw9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShhLGMpO2lmKGwuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBvPSgwLHAuZ2V0UmVuZGVyZWRQYXRobmFtZSkociksZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShyKSxoPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KHQ9by5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLG49Zy5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsbyxpLGMpe2xldCBmLGQsaD1udWxsLHk9dC5zbG90cztpZihudWxsIT09eSlmb3IobGV0IHQgaW4gZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxoPXt9LHkpe2xldCByLHUsZixkPXlbdF0sUj1kLm5hbWUsXz1kLnBhcmFtVHlwZSxQPWQucGFyYW1LZXk7aWYobnVsbCE9PV8pe2xldCBlPSgwLHAucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkoXyxsLG8pLHQ9bnVsbCE9PVA/UDooMCxwLmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShlLCIiKTtmPSgwLHMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKG4sdCksdT1bUix0LF9dLHI9ITB9ZWxzZSBmPW4sdT1SLHI9KDAscC5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShSKTtsZXQgdj1yP28rMTpvLEU9KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLG09KDAsZy5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGEsdCxFKTtoW3RdPWUoZCx1LGYsbSxsLHYsaSxjKX1lbHNlIGEuZW5kc1dpdGgodi5QQUdFX1NFR01FTlRfS0VZKT8oZj0hMCxkPSgwLHMuZmluYWxpemVQYWdlVmFyeVBhdGgpKGEsaSxuKSxudWxsPT09Yy5tZXRhZGF0YVZhcnlQYXRoJiYoYy5tZXRhZGF0YVZhcnlQYXRoPSgwLHMuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKShhLGksbikpKTooZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSk7cmV0dXJue3JlcXVlc3RLZXk6YSxzZWdtZW50OnIsdmFyeVBhdGg6ZCxpc1BhZ2U6ZixzbG90czpoLGlzUm9vdExheW91dDp0LmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6dS5IYXNMb2FkaW5nQm91bmRhcnkuU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6dC5oYXNSdW50aW1lUHJlZmV0Y2h9fShsLnRyZWUsbixudWxsLGcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLHQsMCxkLGgpKSxfPWgubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09XylyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBQPWIobC5zdGFsZVRpbWUpO3ooZSxSLF8sRGF0ZS5ub3coKStQLGosUyxkLEEpfWVsc2V7bGV0IG49ZW4oci5ib2R5LE0ucmVzb2x2ZSxmdW5jdGlvbih0KXsoMCx5LnNldFNpemVJbkNhY2hlTWFwKShlLHQpfSksYT1hd2FpdCAoMCxpLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKG4sYyk7aWYoYS5iIT09KDAsZi5nZXRBcHBCdWlsZElkKSgpKXJldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7IWZ1bmN0aW9uKGUsdCxyLG4sYSxsLGksYyxmKXtsZXQgZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShuKSxoPSgwLFIubm9ybWFsaXplRmxpZ2h0RGF0YSkoYS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGh8fDEhPT1oLmxlbmd0aClyZXR1cm4gVyhsLGUrMWU0KTtsZXQgeT1oWzBdO2lmKCF5LmlzUm9vdFJlbmRlcilyZXR1cm4gVyhsLGUrMWU0KTtsZXQgUD15LnRyZWUsRT0ibnVtYmVyIj09dHlwZW9mIGEucnA/LlsxXT9hLnJwWzFdOnBhcnNlSW50KG4uaGVhZGVycy5nZXQoby5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKSxtPWlzTmFOKEUpP18uU1RBVElDX1NUQUxFVElNRV9NUzpiKEUpLFM9IjEiPT09bi5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksVD17bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSxPPWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgbyxpLGMsZixkPXRbMF07aWYoQXJyYXkuaXNBcnJheShkKSl7Yz0hMTtsZXQgZT1kWzFdO2k9KDAscy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobixlKSxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSxvPWR9ZWxzZSBpPW4sci5lbmRzV2l0aCh2LlBBR0VfU0VHTUVOVF9LRVkpPyhjPSEwLG89di5QQUdFX1NFR01FTlRfS0VZLGY9KDAscy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkocixhLGkpLG51bGw9PT1sLm1ldGFkYXRhVmFyeVBhdGgmJihsLm1ldGFkYXRhVmFyeVBhdGg9KDAscy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHIsYSxpKSkpOihjPSExLG89ZCxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSk7bGV0IGg9bnVsbCxwPXRbMV07Zm9yKGxldCB0IGluIHApe2xldCBuPXBbdF0sdT1uWzBdLG89KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLGM9ZShuLCgwLGcuYXBwZW5kU2VnbWVudFJlcXVlc3RLZXlQYXJ0KShyLHQsbyksaSxhLGwpO251bGw9PT1oP2g9e1t0XTpjfTpoW3RdPWN9cmV0dXJue3JlcXVlc3RLZXk6cixzZWdtZW50Om8sdmFyeVBhdGg6Zixpc1BhZ2U6YyxzbG90czpoLGlzUm9vdExheW91dDohMD09PXRbNF0saGFzTG9hZGluZ0JvdW5kYXJ5OnZvaWQgMCE9PXRbNV0/dFs1XTp1Lkhhc0xvYWRpbmdCb3VuZGFyeS5TdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOiExfX0oUCxnLlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLGQsVCksaj1ULm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PWopcmV0dXJuIFcobCxlKzFlNCk7bGV0IE09eihsLE8saixlK20saSxjLGQsZik7ZWUoZSx0LHIsbixhLFMsTSxudWxsKX0oRGF0ZS5ub3coKSx0LEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkscixhLGUsaixTLEEpfWlmKCFqKXtsZXQgdD0oMCxzLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKG4sYSxsLGopOygwLHkuc2V0SW5DYWNoZU1hcCkoTyx0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpNLnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFEoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9ci5uZXh0VXJsLHU9bi5yZXF1ZXN0S2V5LGM9dT09PWcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZPyIvX2luZGV4Ijp1LHM9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Y307bnVsbCE9PWwmJihzW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcj1hd2FpdCBlcihhLHMpO2lmKCFyfHwhci5va3x8MjA0PT09ci5zdGF0dXN8fCIyIiE9PXIuaGVhZGVycy5nZXQoby5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhci5ib2R5KXJldHVybiBZKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IG49KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxsPWVuKHIuYm9keSxuLnJlc29sdmUsZnVuY3Rpb24oZSl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkodCxlKX0pLHU9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLHMpO2lmKHUuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gWSh0LERhdGUubm93KCkrMWU0KSxudWxsO3JldHVybnt2YWx1ZTpYKHQsdS5yc2MsdS5sb2FkaW5nLGUuc3RhbGVBdCx1LmlzUGFydGlhbCksY2xvc2VkOm4ucHJvbWlzZX19Y2F0Y2goZSl7cmV0dXJuIFkodCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gSihlLHQscixuLGEpe2xldCBsPWUua2V5LHU9bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGM9bC5uZXh0VXJsOzE9PT1hLnNpemUmJmEuaGFzKHQubWV0YWRhdGEucmVxdWVzdEtleSkmJihuPVQpO2xldCBzPXtbby5SU0NfSEVBREVSXToiMSIsW28uTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOigwLFIucHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCkobil9O3N3aXRjaChudWxsIT09YyYmKHNbby5ORVhUX1VSTF09Yykscil7Y2FzZSBFLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOnNbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIyIjticmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6c1tvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl09IjEifXRyeXtsZXQgbj1hd2FpdCBlcih1LHMpO2lmKCFufHwhbi5va3x8IW4uYm9keXx8KDAscC5nZXRSZW5kZXJlZFNlYXJjaCkobikhPT10LnJlbmRlcmVkU2VhcmNoKXJldHVybiBaKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGw9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxvPW51bGwsYz1lbihuLmJvZHksbC5yZXNvbHZlLGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1vKXJldHVybjtsZXQgdD1lL28ubGVuZ3RoO2ZvcihsZXQgZSBvZiBvKSgwLHkuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9KSxmPWF3YWl0ICgwLGkuY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYyxzKSxkPXI9PT1FLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSYmZi5ycD8uWzBdPT09ITA7cmV0dXJuIG89ZWUoRGF0ZS5ub3coKSxlLHIsbixmLGQsdCxhKSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gWihhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBaKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUudmFsdWVzKCkpMT09PW4uc3RhdHVzP1kobix0KToyPT09bi5zdGF0dXMmJnIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBlZShlLHQscixuLGEsbCx1LGkpe2lmKGEuYiE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PWkmJlooaSxlKzFlNCksbnVsbDtsZXQgYz0oMCxSLm5vcm1hbGl6ZUZsaWdodERhdGEpKGEuZik7aWYoInN0cmluZyI9PXR5cGVvZiBjKXJldHVybiBudWxsO2xldCBzPSJudW1iZXIiPT10eXBlb2YgYS5ycD8uWzFdP2EucnBbMV06cGFyc2VJbnQobi5oZWFkZXJzLmdldChvLk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSKT8/IiIsMTApLGQ9ZSsoaXNOYU4ocyk/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOmIocykpO2ZvcihsZXQgbiBvZiBjKXtsZXQgYT1uLnNlZWREYXRhO2lmKG51bGwhPT1hKXtsZXQgbz1uLnNlZ21lbnRQYXRoLGM9dS50cmVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9Mil7bGV0IHI9b1t0XTtpZihjPy5zbG90cz8uW3JdPT09dm9pZCAwKXJldHVybiBudWxsIT09aSYmWihpLGUrMWU0KSxudWxsO2M9Yy5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxvLGksYyl7bGV0IHM9b1swXTtldCh0LG4sYSxzLG9bMl0sbnVsbD09PXN8fGksdSxsLGMpO2xldCBmPWwuc2xvdHM7aWYobnVsbCE9PWYpe2xldCBsPW9bMV07Zm9yKGxldCBvIGluIGYpe2xldCBzPWZbb10sZD1sW29dO251bGwhPWQmJmUodCxyLG4sYSxzLHUsZCxpLGMpfX19KGUsdCxyLHUsYyxkLGEsbCxpKX1sZXQgbz1uLmhlYWQ7bnVsbCE9PW8mJmV0KGUscix1LG8sbnVsbCxuLmlzSGVhZFBhcnRpYWwsZCx1Lm1ldGFkYXRhLGkpfXJldHVybiBudWxsIT09aT9aKGksZSsxZTQpOm51bGx9ZnVuY3Rpb24gZXQoZSx0LHIsbixhLGwsdSxvLGkpe2xldCBjPW51bGwhPT1pP2kuZ2V0KG8ucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PWMpWChjLG4sYSx1LGwpO2Vsc2V7bGV0IGk9ayhlLHQscixvKTtpZigwPT09aS5zdGF0dXMpWChxKGksdCksbixhLHUsbCk7ZWxzZXtsZXQgcj1YKHEoVih1KSx0KSxuLGEsdSxsKTtLKGUsKDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG8pLHIpfX19YXN5bmMgZnVuY3Rpb24gZXIoZSx0KXtsZXQgcj1hd2FpdCAoMCxpLmNyZWF0ZUZldGNoKShlLHQsImxvdyIsITEpO2lmKCFyLm9rKXJldHVybiBudWxsO3tsZXQgZT1yLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKTtpZighKGUmJmUuc3RhcnRzV2l0aChvLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKSkpcmV0dXJuIG51bGx9cmV0dXJuIHJ9ZnVuY3Rpb24gZW4oZSx0LHIpe2xldCBuPTAsYT1lLmdldFJlYWRlcigpO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpsLHZhbHVlOnV9PWF3YWl0IGEucmVhZCgpO2lmKCFsKXtlLmVucXVldWUodSkscihuKz11LmJ5dGVMZW5ndGgpO2NvbnRpbnVlfXQoKTtyZXR1cm59fX0pfWZ1bmN0aW9uIGVhKGUsdCl7cmV0dXJuIGU8dH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NTQ2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiB2fSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBkfSxuYXZpZ2F0ZVRvU2VlZGVkUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTEwNiksdT1lLnIoMTg5MzkpLG89ZS5yKDg1NTk0KSxpPWUucig0NDY2NyksYz1lLnIoMTYzMTYpLHM9ZS5yKDI3NDU0KSxmPWUucig1MjQxMyk7ZnVuY3Rpb24gZChlLHQscixuLGEsbCx1LG8pe2xldCBzPURhdGUubm93KCksZD1lLmhyZWYsaD1kPT09dC5ocmVmLHk9KDAsYy5jcmVhdGVDYWNoZUtleSkoZCxhKSxfPSgwLGkucmVhZFJvdXRlQ2FjaGVFbnRyeSkocyx5KTtpZihudWxsIT09XyYmXy5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZCl7bGV0IG89ZyhzLF8sXy50cmVlKSxpPW8uZmxpZ2h0Um91dGVyU3RhdGUsYz1vLnNlZWREYXRhLGY9UihzLF8pLGQ9Zi5yc2MseT1mLmlzUGFydGlhbCxQPV8uY2Fub25pY2FsVXJsK2UuaGFzaDtyZXR1cm4gcChzLGUsdCxhLGgscixuLGksYyxkLHksUCxfLnJlbmRlcmVkU2VhcmNoLGwsdSl9aWYobnVsbD09PV98fF8uc3RhdHVzIT09aS5FbnRyeVN0YXR1cy5SZWplY3RlZCl7bGV0IG89KDAsaS5yZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeSkocyxlLGEpO2lmKG51bGwhPT1vKXtsZXQgaT1nKHMsbyxvLnRyZWUpLGM9aS5mbGlnaHRSb3V0ZXJTdGF0ZSxmPWkuc2VlZERhdGEsZD1SKHMsbykseT1kLnJzYyxfPWQuaXNQYXJ0aWFsLFA9by5jYW5vbmljYWxVcmwrZS5oYXNoO3JldHVybiBwKHMsZSx0LGEsaCxyLG4sYyxmLHksXyxQLG8ucmVuZGVyZWRTZWFyY2gsbCx1KX19bGV0IHY9by5jb2xsZWN0ZWREZWJ1Z0luZm8/P1tdO3JldHVybiB2b2lkIDA9PT1vLmNvbGxlY3RlZERlYnVnSW5mbyYmKHY9by5jb2xsZWN0ZWREZWJ1Z0luZm89W10pLHt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLkFzeW5jLGRhdGE6UChzLGUsdCxhLHIsbixsLHUsdil9fWZ1bmN0aW9uIGgoZSx0LHIsbixhLGwsbyxpLGMscyl7bGV0IGQ9e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0saD10LmhyZWY9PT1hLmhyZWYscD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxhLGwsbyxuLnRyZWUsaSxuLmRhdGEsbi5oZWFkLG51bGwsbnVsbCwhMSxoLGQpO3JldHVybiBudWxsIT09cD8oKDAsdS5zcGF3bkR5bmFtaWNSZXF1ZXN0cykocCx0LGMsaSxkKSx5KHAscixuLnJlbmRlcmVkU2VhcmNoLGQuc2Nyb2xsYWJsZVNlZ21lbnRzLHMsdC5oYXNoKSk6e3RhZzpmLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBLGRhdGE6cn19ZnVuY3Rpb24gcChlLHQscixuLGEsbCxvLGksYyxzLGQsaCxwLGcsUil7bGV0IF89e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0sUD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxyLGwsbyxpLGcsbnVsbCxudWxsLGMscyxkLGEsXyk7cmV0dXJuIG51bGwhPT1QPygoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKShQLHQsbixnLF8pLHkoUCxoLHAsXy5zY3JvbGxhYmxlU2VnbWVudHMsUix0Lmhhc2gpKTp7dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5NUEEsZGF0YTpofX1mdW5jdGlvbiB5KGUsdCxyLG4sYSxsKXtyZXR1cm57dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5TdWNjZXNzLGRhdGE6e2ZsaWdodFJvdXRlclN0YXRlOmUucm91dGUsY2FjaGVOb2RlOmUubm9kZSxjYW5vbmljYWxVcmw6dCxyZW5kZXJlZFNlYXJjaDpyLHNjcm9sbGFibGVTZWdtZW50czpuLHNob3VsZFNjcm9sbDphLGhhc2g6bH19fWZ1bmN0aW9uIGcoZSx0LHIpe2xldCBuPXt9LGE9e30sbD1yLnNsb3RzO2lmKG51bGwhPT1sKWZvcihsZXQgciBpbiBsKXtsZXQgdT1nKGUsdCxsW3JdKTtuW3JdPXUuZmxpZ2h0Um91dGVyU3RhdGUsYVtyXT11LnNlZWREYXRhfWxldCB1PW51bGwsbz1udWxsLGM9ITAsZj0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSxyLnZhcnlQYXRoKTtpZihudWxsIT09Zilzd2l0Y2goZi5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6dT1mLnJzYyxvPWYubG9hZGluZyxjPWYuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOntsZXQgZT0oMCxpLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkoZik7dT1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbz1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5sb2FkaW5nOm51bGwpLGM9Zi5pc1BhcnRpYWx9Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9cmV0dXJue2ZsaWdodFJvdXRlclN0YXRlOlsoMCxzLmFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQpKHIuc2VnbWVudCxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0LnJlbmRlcmVkU2VhcmNoKSkpLG4sbnVsbCxudWxsLHIuaXNSb290TGF5b3V0XSxzZWVkRGF0YTpbdSxhLG8sYywhMV19fWZ1bmN0aW9uIFIoZSx0KXtsZXQgcj1udWxsLG49ITAsYT0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSx0Lm1ldGFkYXRhLnZhcnlQYXRoKTtpZihudWxsIT09YSlzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6cj1hLnJzYyxuPWEuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnI9KDAsaS53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbj1hLmlzUGFydGlhbDtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1yZXR1cm57cnNjOnIsaXNQYXJ0aWFsOm59fWxldCBfPVsiIix7fSxudWxsLCJyZWZldGNoIl07YXN5bmMgZnVuY3Rpb24gUChlLHQscixuLGEsaSxjLHMsZCl7bGV0IHA7c3dpdGNoKGMpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6cD1pO2JyZWFrO2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuSHlkcmF0aW9uOmNhc2UgdS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDpjYXNlIHUuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2g6cD1fO2JyZWFrO2RlZmF1bHQ6cD1pfWxldCB5PSgwLGwuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodCx7ZmxpZ2h0Um91dGVyU3RhdGU6cCxuZXh0VXJsOm59KSxnPWF3YWl0IHk7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybnt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQSxkYXRhOmd9O2xldHtmbGlnaHREYXRhOlIsY2Fub25pY2FsVXJsOlAscmVuZGVyZWRTZWFyY2g6RSxkZWJ1Z0luZm86bX09ZztudWxsIT09bSYmZC5wdXNoKC4uLm0pO2xldCBiPXYoaSxSLEUpO3JldHVybiBoKGUsdCwoMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShQKSxiLHIsYSxpLGMsbixzKX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1lLGE9bnVsbCxsPW51bGw7Zm9yKGxldHtzZWdtZW50UGF0aDplLHRyZWU6cixzZWVkRGF0YTp1LGhlYWQ6b31vZiB0KXtsZXQgdD1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtsZXQgbztpZih1PT09bC5sZW5ndGgpcmV0dXJue3RyZWU6bixkYXRhOmF9O2xldCBpPWxbdV0sYz10WzFdLHM9bnVsbCE9PXI/clsxXTpudWxsLGY9e30sZD17fTtmb3IobGV0IHQgaW4gYyl7bGV0IHI9Y1t0XSxvPW51bGwhPT1zP3NbdF0/P251bGw6bnVsbDtpZih0PT09aSl7bGV0IGk9ZShyLG8sbixhLGwsdSsyKTtmW3RdPWkudHJlZSxkW3RdPWkuZGF0YX1lbHNlIGZbdF09cixkW3RdPW99cmV0dXJuIG89W3RbMF0sZl0sMiBpbiB0JiYob1syXT10WzJdKSwzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGQsbnVsbCwhMCwhMV19fShuLGEscix1LGUsMCk7bj10LnRyZWUsYT10LmRhdGEsbD1vfXJldHVybnt0cmVlOm4sZGF0YTphLHJlbmRlcmVkU2VhcmNoOnIsaGVhZDpsfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDAxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RFlOQU1JQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sU1RBVElDX1NUQUxFVElNRV9NUzpmdW5jdGlvbigpe3JldHVybiBkfSxnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7bGV0IHI9W10sW24sYV09dDtpZigwPT09T2JqZWN0LmtleXMoYSkubGVuZ3RoKXJldHVybltbbl1dO2ZvcihsZXRbdCxsXW9mIE9iamVjdC5lbnRyaWVzKGEpKWZvcihsZXQgYSBvZiBlKGwpKSIiPT09bj9yLnB1c2goW3QsLi4uYV0pOnIucHVzaChbbix0LC4uLmFdKTtyZXR1cm4gcn19LGhhbmRsZUV4dGVybmFsVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGhhbmRsZU5hdmlnYXRpb25SZXN1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg1NTk0KSx1PWUucig2MzI3OCksbz1lLnIoNjU0NjMpLGk9ZS5yKDUyNDEzKSxjPWUucig0NDY2Nykscz1lLnIoMTg5MzkpLGY9MWUzKk51bWJlcigiMCIpLGQ9KDAsYy5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gaChlLHQscixuKXtyZXR1cm4gdC5tcGFOYXZpZ2F0aW9uPSEwLHQuY2Fub25pY2FsVXJsPXIsdC5wZW5kaW5nUHVzaD1uLHQuc2Nyb2xsYWJsZVNlZ21lbnRzPXZvaWQgMCwoMCx1LmhhbmRsZU11dGFibGUpKGUsdCl9ZnVuY3Rpb24gcChlLHQscixuLGEpe3N3aXRjaChhLnRhZyl7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBOnJldHVybiBoKHQscixhLmRhdGEsbik7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczp7ci5jYWNoZT1hLmRhdGEuY2FjaGVOb2RlLHIucGF0Y2hlZFRyZWU9YS5kYXRhLmZsaWdodFJvdXRlclN0YXRlLHIucmVuZGVyZWRTZWFyY2g9YS5kYXRhLnJlbmRlcmVkU2VhcmNoLHIuY2Fub25pY2FsVXJsPWEuZGF0YS5jYW5vbmljYWxVcmwsci5zY3JvbGxhYmxlU2VnbWVudHM9YS5kYXRhLnNjcm9sbGFibGVTZWdtZW50cz8/dm9pZCAwLHIuc2hvdWxkU2Nyb2xsPWEuZGF0YS5zaG91bGRTY3JvbGwsci5oYXNoRnJhZ21lbnQ9YS5kYXRhLmhhc2g7bGV0IG49bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxlKTtyZXR1cm4gZS5wYXRobmFtZT09PW4ucGF0aG5hbWUmJmUuc2VhcmNoPT09bi5zZWFyY2gmJmUuaGFzaCE9PW4uaGFzaCYmKHIub25seUhhc2hDaGFuZ2U9ITAsci5zaG91bGRTY3JvbGw9YS5kYXRhLnNob3VsZFNjcm9sbCxyLmhhc2hGcmFnbWVudD1lLmhhc2gsci5zY3JvbGxhYmxlU2VnbWVudHM9W10pLCgwLHUuaGFuZGxlTXV0YWJsZSkodCxyKX1jYXNlIGkuTmF2aWdhdGlvblJlc3VsdFRhZy5Bc3luYzpyZXR1cm4gYS5kYXRhLnRoZW4oYT0+cChlLHQscixuLGEpLCgpPT50KTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB5KGUsdCl7bGV0e3VybDpyLGlzRXh0ZXJuYWxVcmw6bixuYXZpZ2F0ZVR5cGU6YSxzaG91bGRTY3JvbGw6dX09dCxpPXt9LGM9KDAsbC5jcmVhdGVIcmVmRnJvbVVybCkociksZj0icHVzaCI9PT1hO2lmKGkucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU9ITEsaS5wZW5kaW5nUHVzaD1mLG4pcmV0dXJuIGgoZSxpLHIudG9TdHJpbmcoKSxmKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4gaChlLGksYyxmKTtsZXQgZD1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikseT0oMCxvLm5hdmlnYXRlKShyLGQsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLHMuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxpKTtyZXR1cm4gcChyLGUsaSxmLHkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxNzM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKFt0LHJdKXtpZihBcnJheS5pc0FycmF5KHQpJiYoImRpKC4uKSguLikiPT09dFsyXXx8ImNpKC4uKSguLikiPT09dFsyXXx8ImRpKC4pIj09PXRbMl18fCJjaSguKSI9PT10WzJdfHwiZGkoLi4pIj09PXRbMl18fCJjaSguLikiPT09dFsyXXx8ImRpKC4uLikiPT09dFsyXXx8ImNpKC4uLikiPT09dFsyXSl8fCJzdHJpbmciPT10eXBlb2YgdCYmKDAsbi5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkodCkpcmV0dXJuITA7aWYocil7Zm9yKGxldCB0IGluIHIpaWYoZShyW3RdKSlyZXR1cm4hMH1yZXR1cm4hMX19fSk7bGV0IG49ZS5yKDU0NjgyKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzczMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17cmVmcmVzaER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlZnJlc2hSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDExKSx1PWUucig2NTQ2Myksbz1lLnIoNDQ2NjcpLGk9ZS5yKDYxNzM5KSxjPWUucigxODkzOSk7ZnVuY3Rpb24gcyhlKXtsZXQgdD1lLm5leHRVcmwscj1lLnRyZWU7cmV0dXJuKDAsby5yZXZhbGlkYXRlRW50aXJlQ2FjaGUpKHQsciksZihlLGMuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwpfWZ1bmN0aW9uIGYoZSx0KXtsZXQgcj1lLm5leHRVcmwsbj0oMCxpLmhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSkoZS50cmVlKT9lLnByZXZpb3VzTmV4dFVybHx8cjpudWxsLGE9ZS5jYW5vbmljYWxVcmwsbz1uZXcgVVJMKGEsbG9jYXRpb24ub3JpZ2luKSxjPWUudHJlZSxzPXt0cmVlOmUudHJlZSxyZW5kZXJlZFNlYXJjaDplLnJlbmRlcmVkU2VhcmNoLGRhdGE6bnVsbCxoZWFkOm51bGx9LGY9RGF0ZS5ub3coKSxkPSgwLHUubmF2aWdhdGVUb1NlZWRlZFJvdXRlKShmLG8sYSxzLG8sZS5jYWNoZSxjLHQsbiwhMCksaD17fTtyZXR1cm4gaC5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT0hMSwoMCxsLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKG8sZSxoLCExLGQpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwNTUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoNTQwMTEpLGw9ZS5yKDY1NDYzKSx1PWUucig3NzczMyksbz1lLnIoMTg5MzkpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcj17fTtyLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBpPXQubXBhLGM9bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkO2lmKGl8fG51bGw9PT1zKXJldHVybigwLGEuaGFuZGxlRXh0ZXJuYWxVcmwpKGUscixjLmhyZWYsITEpO2xldCBmPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKTtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlKTtsZXQgZD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxoPXQubmV4dFVybCxwPURhdGUubm93KCkseT0oMCxsLm5hdmlnYXRlVG9TZWVkZWRSb3V0ZSkocCxjLGQscyxmLGUuY2FjaGUsZS50cmVlLG8uRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwsaCwhMCk7cmV0dXJuKDAsYS5oYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KShjLGUsciwhMSx5KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjgzOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVzdG9yZVJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoMTgxNjcpLGw9ZS5yKDE4OTM5KSx1PWUucig1NDAxMSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByLG8saT10Lmhpc3RvcnlTdGF0ZTtpPyhyPWkudHJlZSxvPWkucmVuZGVyZWRTZWFyY2gpOihyPWUudHJlZSxvPWUucmVuZGVyZWRTZWFyY2gpO2xldCBjPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzPXQudXJsLGY9KDAsbi5jcmVhdGVIcmVmRnJvbVVybCkocyksZD0oMCxhLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShyKT8/cy5wYXRobmFtZSxoPURhdGUubm93KCkscD17c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSx5PSgwLGwuc3RhcnRQUFJOYXZpZ2F0aW9uKShoLGMsZS5jYWNoZSxlLnRyZWUscixsLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxudWxsLG51bGwsITEsITEscCk7cmV0dXJuIG51bGw9PT15PygwLHUuaGFuZGxlRXh0ZXJuYWxVcmwpKGUse3ByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmLCExKTooKDAsbC5zcGF3bkR5bmFtaWNSZXF1ZXN0cykoeSxzLGQsbC5GcmVzaG5lc3NQb2xpY3kuSGlzdG9yeVRyYXZlcnNhbCxwKSx7Y2Fub25pY2FsVXJsOmYscmVuZGVyZWRTZWFyY2g6byxwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOnkubm9kZSx0cmVlOnIsbmV4dFVybDpkLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTk2NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhtclJlZnJlc2hSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1lLnIoNzc3MzMpLGE9ZS5yKDE4OTM5KTtmdW5jdGlvbiBsKGUpe3JldHVybigwLG4ucmVmcmVzaER5bmFtaWNEYXRhKShlLGEuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2gpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4OTM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhc3NpZ25Mb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDE0ODU3KTtmdW5jdGlvbiBhKGUsdCl7aWYoZS5zdGFydHNXaXRoKCIuIikpe2xldCByPXQub3JpZ2luK3QucGF0aG5hbWU7cmV0dXJuIG5ldyBVUkwoKHIuZW5kc1dpdGgoIi8iKT9yOnIrIi8iKStlKX1yZXR1cm4gbmV3IFVSTCgoMCxuLmFkZEJhc2VQYXRoKShlKSx0LmhyZWYpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5ODk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwYXRoSGFzUHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoOTgwNjMpO2Z1bmN0aW9uIGEoZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwzODkzMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5OTg5Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLnBhdGhIYXNQcmVmaXgpKGUsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0MDQyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZUJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzg5MzMpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDgwOTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtleHRyYWN0SW5mb0Zyb21TZXJ2ZXJSZWZlcmVuY2VJZDpmdW5jdGlvbigpe3JldHVybiBsfSxvbWl0VW51c2VkQXJnczpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9cGFyc2VJbnQoZS5zbGljZSgwLDIpLDE2KSxyPXQ+PjEmNjMsbj1BcnJheSg2KTtmb3IobGV0IGU9MDtlPDY7ZSsrKXtsZXQgdD1yPj41LWUmMTtuW2VdPTE9PT10fXJldHVybnt0eXBlOjE9PSh0Pj43JjEpPyJ1c2UtY2FjaGUiOiJzZXJ2ZXItYWN0aW9uIix1c2VkQXJnczpuLGhhc1Jlc3RBcmdzOjE9PSgxJnQpfX1mdW5jdGlvbiB1KGUsdCl7bGV0IHI9QXJyYXkoZS5sZW5ndGgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKShuPDYmJnQudXNlZEFyZ3Nbbl18fG4+PTYmJnQuaGFzUmVzdEFyZ3MpJiYocltuXT1lW25dKTtyZXR1cm4gcn19LDc2ODQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtBY3Rpb25EaWROb3RSZXZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LEFjdGlvbkRpZFJldmFsaWRhdGVEeW5hbWljT25seTpmdW5jdGlvbigpe3JldHVybiBvfSxBY3Rpb25EaWRSZXZhbGlkYXRlU3RhdGljQW5kRHluYW1pYzpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPTAsdT0xLG89Mn0sNjcwMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlckFjdGlvblJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBqfX0pO2xldCBhPWUucigzMDkzMSksbD1lLnIoODk1OTQpLHU9ZS5yKDM0NjQxKSxvPWUucig3NTA1MSksaT1lLnIoNzUwNDUpLGM9ZS5yKDY4OTM0KSxzPWUucig4NTU5NCksZj1lLnIoNTQwMTEpLGQ9ZS5yKDYxNzM5KSxoPWUucig2NzYyOCkscD1lLnIoNDE3MjEpLHk9ZS5yKDkwODYyKSxnPWUucigyNDA0MiksUj1lLnIoMzg5MzMpLF89ZS5yKDgwOTI0KSxQPWUucig0NDY2Nyksdj1lLnIoODg3NzQpLEU9ZS5yKDY1NDYzKSxtPWUucig3Njg0NCksYj1lLnIoMjkzNjIpLFM9ZS5yKDE4OTM5KSxUPWkuY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIE8oZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCxnLFIsUD0oMCxpLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCkoKSxFPSgwLF8uZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQpKHIpLGI9InVzZS1jYWNoZSI9PT1FLnR5cGU/KDAsXy5vbWl0VW51c2VkQXJncykocyxFKTpzLFM9YXdhaXQgKDAsaS5lbmNvZGVSZXBseSkoYix7dGVtcG9yYXJ5UmVmZXJlbmNlczpQfSksTz17QWNjZXB0OnUuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsW3UuQUNUSU9OX0hFQURFUl06cixbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsaC5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShlLnRyZWUpfSxqPSgwLHYuZ2V0RGVwbG95bWVudElkKSgpO2omJihPWyJ4LWRlcGxveW1lbnQtaWQiXT1qKSx0JiYoT1t1Lk5FWFRfVVJMXT10KTtsZXQgTT1hd2FpdCBmZXRjaChlLmNhbm9uaWNhbFVybCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOk8sYm9keTpTfSk7aWYoIjEiPT09TS5oZWFkZXJzLmdldCh1Lk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5VbnJlY29nbml6ZWRBY3Rpb25FcnJvcihgU2VydmVyIEFjdGlvbiAiJHtyfSIgd2FzIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLiAKUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9mYWlsZWQtdG8tZmluZC1zZXJ2ZXItYWN0aW9uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IEE9TS5oZWFkZXJzLmdldCgieC1hY3Rpb24tcmVkaXJlY3QiKSxbVSxDXT1BPy5zcGxpdCgiOyIpfHxbXTtzd2l0Y2goQyl7Y2FzZSJwdXNoIjpmPXkuUmVkaXJlY3RUeXBlLnB1c2g7YnJlYWs7Y2FzZSJyZXBsYWNlIjpmPXkuUmVkaXJlY3RUeXBlLnJlcGxhY2U7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgTj0hIU0uaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLHc9bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1NLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1tLkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09bS5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYodz10KX19Y2F0Y2h7fWxldCBGPVU/KDAsYy5hc3NpZ25Mb2NhdGlvbikoVSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEk9TS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksTD0hIShJJiZJLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFMJiYhRil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoTS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09ST9hd2FpdCBNLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2lmKEwpe2xldCBlPWF3YWl0IFQoUHJvbWlzZS5yZXNvbHZlKE0pLHtjYWxsU2VydmVyOmEuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmwuZmluZFNvdXJjZU1hcFVSTCx0ZW1wb3JhcnlSZWZlcmVuY2VzOlAsZGVidWdDaGFubmVsOm4mJm4oTyl9KTtkPUY/dm9pZCAwOmUuYTtsZXQgdD0oMCxoLm5vcm1hbGl6ZUZsaWdodERhdGEpKGUuZik7IiIhPT10JiYocD10LGc9ZS5xLFI9ZS5pKX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLGc9dm9pZCAwLFI9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOmcsYWN0aW9uRmxpZ2h0RGF0YUNvdWxkQmVJbnRlcmNlcHRlZDpSLHJlZGlyZWN0TG9jYXRpb246RixyZWRpcmVjdFR5cGU6ZixyZXZhbGlkYXRpb25LaW5kOncsaXNQcmVyZW5kZXI6Tn19ZnVuY3Rpb24gaihlLHQpe2xldHtyZXNvbHZlOnIscmVqZWN0Om59PXQsYT17fTthLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBsPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBPKGUsbCx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOnUsYWN0aW9uUmVzdWx0Om8sYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpjLGFjdGlvbkZsaWdodERhdGFDb3VsZEJlSW50ZXJjZXB0ZWQ6ZCxyZWRpcmVjdExvY2F0aW9uOmgscmVkaXJlY3RUeXBlOnB9KT0+e3UhPT1tLkFjdGlvbkRpZE5vdFJldmFsaWRhdGUmJih0LmRpZFJldmFsaWRhdGU9ITAsdT09PW0uQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLFAucmV2YWxpZGF0ZUVudGlyZUNhY2hlKShsLGUudHJlZSkpO2xldCBfPXAhPT15LlJlZGlyZWN0VHlwZS5yZXBsYWNlO2lmKGUucHVzaFJlZi5wZW5kaW5nUHVzaD1fLGEucGVuZGluZ1B1c2g9Xyx2b2lkIDAhPT1oKXtsZXQgdD1wfHx5LlJlZGlyZWN0VHlwZS5wdXNoO2lmKCgwLGIuaXNFeHRlcm5hbFVSTCkoaCkpe2xldCByPWguaHJlZjtyZXR1cm4gbihNKHIsdCkpLCgwLGYuaGFuZGxlRXh0ZXJuYWxVcmwpKGUsYSxyLF8pfXtsZXQgZT0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShoLCExKTtuKE0oKDAsUi5oYXNCYXNlUGF0aCkoZSk/KDAsZy5yZW1vdmVCYXNlUGF0aCkoZSk6ZSx0KSl9fWVsc2UgcihvKTtpZih2b2lkIDA9PT1oJiZ1PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWgpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGguaHJlZixfKTtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGksXyk7bGV0IHY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLFQ9dm9pZCAwIT09aD9oOnYsTz1lLnRyZWUsaj11PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP1MuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6Uy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pKXtsZXQgdD1pWzBdO2lmKHZvaWQgMCE9PXQmJnQuaXNSb290UmVuZGVyJiZ2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtsZXQgcj0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShUKSxuPXt0cmVlOnQudHJlZSxyZW5kZXJlZFNlYXJjaDpjLGRhdGE6dC5zZWVkRGF0YSxoZWFkOnQuaGVhZH0sdT1EYXRlLm5vdygpLG89KDAsRS5uYXZpZ2F0ZVRvU2VlZGVkUm91dGUpKHUsVCxyLG4sdixlLmNhY2hlLE8saixsLCEwKTtyZXR1cm4oMCxmLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKFQsZSxhLF8sbyl9fWxldCBBPSgwLEUubmF2aWdhdGUpKFQsdixlLmNhY2hlLE8sbCxqLCEwLGEpO3JldHVybigwLGYuaGFuZGxlTmF2aWdhdGlvblJlc3VsdCkoVCxlLGEsXyxBKX0sdD0+KG4odCksZSkpfWZ1bmN0aW9uIE0oZSx0KXtsZXQgcj0oMCxwLmdldFJlZGlyZWN0RXJyb3IpKGUsdCk7cmV0dXJuIHIuaGFuZGxlZD0hMCxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY0MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IG49ZS5yKDU5NDMwKSxhPWUucig1NDAxMSksbD1lLnIoNjA1NTMpLHU9ZS5yKDMyODM4KSxvPWUucig3NzczMyksaT1lLnIoNTk2NjIpLGM9ZS5yKDY3MDMzKSxzPSJ1Ijx0eXBlb2Ygd2luZG93P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGV9OmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSBuLkFDVElPTl9OQVZJR0FURTpyZXR1cm4oMCxhLm5hdmlnYXRlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9QQVRDSDpyZXR1cm4oMCxsLnNlcnZlclBhdGNoUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFU1RPUkU6cmV0dXJuKDAsdS5yZXN0b3JlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFRlJFU0g6cmV0dXJuKDAsby5yZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9ITVJfUkVGUkVTSDpyZXR1cm4oMCxpLmhtclJlZnJlc2hSZWR1Y2VyKShlKTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9BQ1RJT046cmV0dXJuKDAsYy5zZXJ2ZXJBY3Rpb25SZWR1Y2VyKShlLHQpO2RlZmF1bHQ6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmtub3duIGFjdGlvbiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQwNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1lLnIoMjkzNjIpLGE9ZS5yKDE2MzE2KSxsPWUucig3NTc4MCksdT1lLnIoNTI0MTMpO2Z1bmN0aW9uIG8oZSx0LHIsbyxpKXtsZXQgYz0oMCxuLmNyZWF0ZVByZWZldGNoVVJMKShlKTtpZihudWxsPT09YylyZXR1cm47bGV0IHM9KDAsYS5jcmVhdGVDYWNoZUtleSkoYy5ocmVmLHQpOygwLGwuc2NoZWR1bGVQcmVmZXRjaFRhc2spKHMscixvLHUuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LGkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg0Mzk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBFfSxkaXNwYXRjaFRyYXZlcnNlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQfSxwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBifX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1OTQzMCksdT1lLnIoNjQxKSxvPWUucig3NTIwMSksaT1lLnIoOTE3NjgpLGM9ZS5yKDUyNDEzKSxzPWUucigzNDA1MiksZj1lLnIoOTQ4NzkpLGQ9ZS5yKDE0ODU3KSxoPWUucigyOTM2MikscD1lLnIoOTgyODMpO2Z1bmN0aW9uIHkoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmZyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gbyhuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSx5KGUscik7cmV0dXJufWUuc3RhdGU9bix5KGUsciksdC5yZXNvbHZlKG4pfSgwLGkuaXNUaGVuYWJsZSkodSk/dS50aGVuKG8sbj0+e3koZSxyKSx0LnJlamVjdChuKX0pOm8odSl9bGV0IFI9bnVsbDtmdW5jdGlvbiBfKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LGcoe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT1SKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtSPXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUCgpe3JldHVybiBudWxsIT09Uj9SLnN0YXRlOm51bGx9ZnVuY3Rpb24gdigpe3JldHVybiBudWxsIT09Uj9SLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gRShlLHQscixuKXtsZXQgYT1uZXcgVVJMKCgwLGQuYWRkQmFzZVBhdGgpKGUpLGxvY2F0aW9uLmhyZWYpOygwLHAuc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShuKTtsZXQgdT12KCk7bnVsbCE9PXUmJnUoZSx0KSwoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9OQVZJR0FURSx1cmw6YSxpc0V4dGVybmFsVXJsOigwLGguaXNFeHRlcm5hbFVSTCkoYSksbG9jYXRpb25TZWFyY2g6bG9jYXRpb24uc2VhcmNoLHNob3VsZFNjcm9sbDpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXYoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByLG49ZnVuY3Rpb24oKXtpZihudWxsPT09Uil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIFJ9KCk7c3dpdGNoKHQ/LmtpbmQ/P2wuUHJlZmV0Y2hLaW5kLkFVVE8pe2Nhc2UgbC5QcmVmZXRjaEtpbmQuQVVUTzpyPWMuRmV0Y2hTdHJhdGVneS5QUFI7YnJlYWs7Y2FzZSBsLlByZWZldGNoS2luZC5GVUxMOnI9Yy5GZXRjaFN0cmF0ZWd5LkZ1bGw7YnJlYWs7ZGVmYXVsdDpyPWMuRmV0Y2hTdHJhdGVneS5QUFJ9KDAscy5wcmVmZXRjaCkoZSxuLnN0YXRlLm5leHRVcmwsbi5zdGF0ZS50cmVlLHIsdD8ub25JbnZhbGlkYXRlPz9udWxsKX0scmVwbGFjZTooZSx0KT0+eygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e0UoZSwicmVwbGFjZSIsdD8uc2Nyb2xsPz8hMCxudWxsKX0pfSxwdXNoOihlLHQpPT57KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57RShlLCJwdXNoIix0Py5zY3JvbGw/PyEwLG51bGwpfSl9LHJlZnJlc2g6KCk9PnsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9SRUZSRVNIfSl9KX0saG1yUmVmcmVzaDooKT0+e3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07InUiPnR5cGVvZiB3aW5kb3cmJndpbmRvdy5uZXh0JiYod2luZG93Lm5leHQucm91dGVyPWIpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/arrow-put.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:48.071Z","timestamp":1785136428071,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/arrow-put.svg HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=y4ZKNQW%2Fko9NbMI5aabblFCoCr1N8%2BMEpwT2qZCZJkxVhJjPvsQUk%2FGIfJnA9y9%2F6u6Sh2P97l8l3sa9ve5ZSnumNjRTW0bnTbQYGn%2B%2BGi%2BcKl858K%2Bh6SHt7VoBWwxdMQ%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-2b7\"\r\ncf-ray: a219d7f37b7c0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":695,"size_decoded":1138,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"78bb6c6425b71a3fb165f78f42df16a2","sha1":"d94aa9f3426a38d02f594cdd40c5bf5cc3e34d64","sha256":"b97e6130e33d5cb960bc09c84ba5397fce8345c3181cd76a8ad36f320d74062f","sha512":"14d6b4e2af1014dce1efca3c3c0c9f0745cd8a92addb6178c620fb16ba24cafa4d8fcd89d1ab2e296231d9e4f0a5c1541a4388103719b248e8741b5f9e48cc98","ssdeep":"","tlshash":"520123775398279c948807294e2412872650c4537b30d5a8ffce3563df04ce310e6d5b","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-08-10T18:26:39.709538Z","times_seen":130,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNSIgaGVpZ2h0PSIyNyIgdmlld0JveD0iMCAwIDM1IDI3Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuMjQxLDIyLjc4MWMxLjMsMS4xMywyLjEyOC4xNTksMi4xMjgsMC4xNTksMS4wNzQsMC4xODQsMS43NDYtMS45ODIsMi42LTIuNjFsMC4wMTcsNi42NTlMMTAsMjcsOS45ODksMTguOTk0QTM4LjcyMiwzOC43MjIsMCwwLDAsMTMuMjQxLDIyLjc4MVptLTcuMi02Ljc3MiwxLjk1NCwyLjRWMjdIMC4wMTRMMCw5Wm03LjkwNy00LjU3Mkw0LjMzNiwwLjgyOEEyLjUyNiwyLjUyNiwwLDAsMCwuODMxLjYxNiwyLjM4LDIuMzgsMCwwLDAsLjYxMyw0LjAzNEwxMi4xMjksMTYuNzQzYTIuNDcsMi40NywwLDAsMCwxLjg4OS44MTcsMi41MTIsMi41MTIsMCwwLDAsMS44Ny0uODU3bDMuMzIzLTMuODM2TDI1LjMxNywyMC4xLDE5LjYsMjQuODc4LDMzLjg0LDI2LDM1LDExLjk4NGwtNS45Miw0Ljk1NEwyMS4xNTIsNy41NDhhMi41MDYsMi41MDYsMCwwLDAtMS45LS44OCwyLjQ3NSwyLjQ3NSwwLDAsMC0xLjkxMi44NTlaIi8+Cjwvc3ZnPgo="}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1839.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.638Z","timestamp":1785136428638,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1839.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1387\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 17 Feb 2022 08:19:34 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:10:47 GMT\r\netag: \"aef8727bea8367cd9fd252c025b45887\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 18182\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: -jlETuU4N_ei3-O4LAHdvloQqOPsB15M1h8195raeIZpbZxUJoqkWQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":1387,"size_decoded":1883,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"aef8727bea8367cd9fd252c025b45887","sha1":"c2ab9d909455bff35181dfd92bcc7baba930867f","sha256":"ce5a07d36768bcb5524044a9e92a606ae6effe1cb0913dfa418703461db62fe3","sha512":"5f97e368e23aa5e501e57917aea9426704ac3c4068b34d803f44944663bab45131170fec2872fb868a5faceb6856ce4d9f8870053aba7e8d08455989a731984d","ssdeep":"","tlshash":"5321085f5b644577dda94dbede05a54b29e30d208d978bc2c404ec1534598a643608ad","first_seen":"2023-05-06T05:54:57Z","last_seen":"2026-08-11T04:47:30.153705Z","times_seen":16096,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFMklEQVR4XtVbvW4TQRhMSWwipYYngCeACsp0pEsJFZTp8gapaXgD6F0gETsIWaRIARIopAAJJAcJCgq4s5M4/zE3l6y1nv253fXe2R5plOR2787f7PfN7u05c3MVIGksLiYbNx92W/XnaavWSFv1TrpZT7Kfg5xXv3fQhj7oi3P4OjOD7ub8ahZUexjguGzW271W/THfZ+qAkYsauMJaI3mzsMz3nThG0rky1jr8OSpHPuJ57fKHq4q1zkRKI9moP5nMqJtYoRBwZ/UDTAdLnzmma9RNLMkb8rRXbjadjF4OfINZIccRhFkaeebYmZCWNMV1390enOy9GAgc7j5T+kRkwnE5oUy3vzxLh8ELXPR/Kv1i0Xt2KCPte1t3OWYtyhLCqxzSyKl//GNdO+omQIQSysKtFGKO/tm/LY5tBEff1wenf17z4REcZ17B1w0llu4cr4I0wuizyelw9ndr2P+iv8fNI4iXDQWLpDRC8KApoMuzZND/uqb0Fzz59ZJPGSJiJphLQdM5mP3dpxxDlhm3lH7M3vs7fNpg/8OS0m8cctw5ktbCMnd0YT9LT8Dk3giIj4EHH5eGAeqEwXm64ygvAcws3O5CrRdc79UpnW1kkzvv7Th9KPYHV9c/+ramzCZBpdGst0eC93V+Dpyxv31POQfEqNrq3OYPmDFsOMxKjs+xsducXx0K4LuPZxKgyOQEdSbpMpI28XwFGMkCpbGALMB5d0c76vAHpCwWQrp6xqgeflpRju9v38/vgTWCrqRgsFwK3gK0JDPkhiKyAEdZgNxHNjnAZJJM2eQEdCJwFgULkLT9H3psAmCki6ALiAXTQe4fQ4D8Iel6Z1dptPEoq3MZsgAuDz3IBlxDnMOCmiB/BlkA/G6abm3Mp8Or11VqowsPPq/kN/cVIBTyvXFfmKLOW1yJ2IPmfyZMSfxelQCnWfD8ObzZrDWC1v+oVz4mWJUAMmGcOl8pZvZwFLLVjZrFqo+Pgy4mGAq+lyCmxBATTPFgpDlYSNm0TNOb7qEmBFhc8bVBni4DBRiMLQCgWweAwiRDgdWhyeSQgTLCBQgsARkmAQSLngEYLsGwsC7naJiXQEfTYKVNAJiR6ckOu0BFwPKYzxM7TPKxOALABAOmwSIBBE5+vxpxZ90mCUO+D2Yb+V5yWxQBMA2GLIRcBQBkk/QVgCG3xRAgXwiFLIV9BABE27QJsL9540H0h6FZEmD4xogbimgTAMTUJe/giOOhAug2RWMIEG0/AGbHfUAx9Ym/fQXAIkg3KyDL4m6IRNoSY9dn+grAxKwAU9XBWwB5Syz/YiN3sNAkgIBp9TaOANgms8FXAOVlqW8WgEUwZQPXLyC/KpOJrXAbcC0+p5CY/xkh06HLEtfkD7JJ6kwOPO9+ka6kQucPLuy9rT3i+HNwRx/a0pv7utIEk2Cu5LiHCHkwkmnKBtGOOjaVBcgbLQyku2+tq6zgDTGyQa5z+fhVIKOvwuQvUMjXEYA/hGx6qiwIHgjxAhMFxN9cJsgG8XJVgM8PMjkDFec3YdxSMJEF0IHPiUeH0RfwfVnqykkK4Dz6AiEPSS607RWaFlDj0vtrcgJlloJskjA53cvVOPRIfR3KKgfQ9C2QWPROexP4wrNCjmMslJkJsRlt5BlphEVS6dy0fA0uBsqaHWIw2O19cV0OHf4AE2M26qWlvQ2TF6LWyXd2J410EiKUXeshwEZDyJsmZzbr7akY8SJc/2NlWwkglFng2Lfk+8wM4M4YuW7T4d/nsz7oW5Wj/wdXGukMTSgLegAAAABJRU5ErkJggg=="}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"telemetry.tradingview.com/widget/report","fqdn":"telemetry.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:14:03.722Z","timestamp":1785136443722,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /widget/report HTTP/1.1\r\nHost: telemetry.tradingview.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://s.tradingview.com/\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 969\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/css/faq.css","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.847Z","timestamp":1785136421847,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/css/faq.css HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 2039\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":11975,"size_decoded":2424,"mime_type":"text/css","magic":"ASCII text","md5":"8568b044f7c09e3f80884538adbc5bd9","sha1":"5fed17a40fe6f07789c7712ce4128ce9b38ad33e","sha256":"1e515fdedca744f786111e91089255c0d6eb658ec160e6be2e8d0ef3a3a1561c","sha512":"e797559a8bb283e18f386b89afb9723c8244c94d3d0772ad13495e323f2fb746caf300a33d1ee37615095347bbe0d127fb450533083785b8d79bc556f34f6b6c","ssdeep":"192:U0O222R6R4FnFlAQGY3Ftkt76v6+f5ZvluyLpxcm+2RNnFrN9fpqMpmvzrqH1qCS:Jb44FnFlXGY3Ftkt76vjhZvlugxcdinS","tlshash":"213276958ab31843b123c4a4abf6374d73378207c507ddde7b9bf6a8af015e904b2529","first_seen":"2025-12-03T04:46:43.787581Z","last_seen":"2026-07-29T06:14:00.442411Z","times_seen":11,"resource_available":false,"data":"LyogZENvZGVzIEZyYW1ld29yazooYykgVGVtcGxhdGVBY2Nlc3MgVmlzdWFsSHlpcC5jb20gKi8KCiNkY190b2dnbGVfY29udGFpbmVyIHsKICAgIHdpZHRoOiAxMDAlCn0KLmRjX2hpZGUgLmRjX3RvZ2dsZV9ib3ggewogICAgZGlzcGxheTogbm9uZQp9Ci5kY19zaG93IC5kY190b2dnbGVfYm94IHsKICAgIGRpc3BsYXk6IGJsb2NrCn0KLnN0eWxlMSB7CiAgICBtYXJnaW46IDAgMCAxNnB4Cn0KLnN0eWxlMSAuZGNfdG9nZ2xlX2xpbmssCi5zdHlsZTEgLmRjX2FjY19saW5rIHsKICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggMzJweDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4OTZkOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgYm9yZGVyOiAycHggc29saWQgIzA0NGUzZjsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKfQouc3R5bGUxLmRjX2hpZGUgLmRjX3RvZ2dsZV9saW5rLAouc3R5bGUxIC5kY19oaWRlIC5kY19hY2NfbGluayB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RvZ2dsZTFfZC5odG1sKTsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEycHg7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7Cn0KLnN0eWxlMS5kY19zaG93IC5kY190b2dnbGVfbGluaywKLnN0eWxlMSAuZGNfc2hvdyAuZGNfYWNjX2xpbmsgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90b2dnbGUxX3UuaHRtbCk7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMnB4OwogICAgYmFja2dyb3VuZC1zaXplOiAxMHB4Owp9Ci5zdHlsZTEgLmRjX3RvZ2dsZV9ib3ggewogICAgcGFkZGluZzogMTZweCAyMXB4IDExcHggMjFweDsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAyNXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgY29sb3I6ICNmZmY7CiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDQ0ZTNmOwogICAgYm9yZGVyLXRvcDogMHB4OwogICAgbWFyZ2luLXRvcDogLTZweDsKfQouc3R5bGUyIHsKICAgIG1hcmdpbjogMCAwIDE2cHgKfQouc3R5bGUyLmRjX3RvZ2dsZSwKLnN0eWxlMiAuZGNfYWNjX2JveCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KLnN0eWxlMiAuZGNfYWNjX2JveCB7CiAgICBtYXJnaW4tYm90dG9tOiA2cHgKfQouc3R5bGUyIC5kY190b2dnbGVfbGluaywKLnN0eWxlMiAuZGNfYWNjX2xpbmsgewogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCBjZW50ZXI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggMjdweDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTkpICFpbXBvcnRhbnQ7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CiAgICBsZXR0ZXItc3BhY2luZzogMXB4Owp9Ci5zdHlsZTIuZGNfaGlkZSAuZGNfdG9nZ2xlX2xpbmssCi5zdHlsZTIgLmRjX2hpZGUgLmRjX2FjY19saW5rIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdG9nZ2xlMl9kLnBuZyk7CiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgMTJweDsKfQouc3R5bGUyLmRjX3Nob3cgLmRjX3RvZ2dsZV9saW5rLAouc3R5bGUyIC5kY19zaG93IC5kY19hY2NfbGluayB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RvZ2dsZTJfdS5wbmcpOwogICAgYmFja2dyb3VuZC1zaXplOiAxMnB4OwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIDEycHg7Cn0KLnN0eWxlMiAuZGNfdG9nZ2xlX2JveCB7CiAgICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7CiAgICBtYXJnaW4tdG9wOiAwcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAxOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDMzcHg7CiAgICBjb2xvcjogcmdiKDE2LCA2MCwgNjUpOwogICAgd2lkdGg6IDk1LjIlOwogICAgdGV4dC1hbGlnbjoganVzdGlmeTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7CiAgICBtYXJnaW4tbGVmdDogMTFweDsKICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICNjY2NjY2M7Cn0KCgouc3R5bGUyIC5kY190b2dnbGVfYm94IGF7CiBjb2xvcjojMDI4ODZjOwp9Cgouc3R5bGUyLmRjX3RvZ2dsZSwKLnN0eWxlMiAuZGNfYWNjX2JveCB7Cn0KLnRvZ2dsZUNvbGxhcHNlIHsKICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUKfQoudG9nZ2xlQ29sbGFwc2UgewogICAgY29sb3I6ICMzMzM7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQp9Ci5kY19hY2NvcmRpb24yIGRkLmN1cnJlbnQgewogICAgZGlzcGxheTogYmxvY2sKfQouZGNfYWNjb3JkaW9uMiB7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBtYXJnaW4tbGVmdDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7CiAgICBwYWRkaW5nOiAxMHB4Cn0KLmRjX2FjY29yZGlvbjIgZHQgewogICAgYmFja2dyb3VuZDogI2VhZWFlYTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWU5ZTk7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDEwcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmUKfQouZGNfYWNjb3JkaW9uMiBkZCB7CiAgICBkaXNwbGF5OiBub25lOwogICAgbWFyZ2luOiA4cHggMCA4cHgKfQouZGNfYWNjb3JkaW9uMiBkZCBwOmZpcnN0LWNoaWxkIHsKICAgIG1hcmdpbi10b3A6IDFweDsKICAgIHBhZGRpbmc6IDEwcHgKfQpkaXYuZGNfYWNjb3JkaW9uIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjb2xvcjogIzY2NjY2NiAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgaGVpZ2h0OiAxMDAlOwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIHBhZGRpbmc6IDVweDsKICAgIHdpZHRoOiA1MDBweDsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4OwogICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7CiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3gKfQpkaXYuZGNfYWNjb3JkaW9uIHVsLApkaXYuZGNfYWNjb3JkaW9uIGxpIHsKICAgIHBhZGRpbmc6IDBweDsKICAgIG1hcmdpbjogMHB4OwogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwKfQpkaXYuZGNfYWNjb3JkaW9uIGxpLmJsb2NrX2hlYWRlciB7CiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICBwYWRkaW5nOiA4cHggMTBweCAxMHB4IDEwcHg7CiAgICB3aWR0aDogMTAwJQp9CmRpdi5kY19hY2NvcmRpb24gYSB7CiAgICBjb2xvcjogIzA5ODM2NSAhaW1wb3J0YW50OwogICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIG91dGxpbmU6IG5vbmUKfQpkaXYuZGNfYWNjb3JkaW9uIGE6aG92ZXIgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUKfQpkaXYuZGNfYWNjb3JkaW9uIGxpLmJsb2NrIGEuaGVhZGVyIHsKICAgIGNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGhlaWdodDogMjBweDsKICAgIHBhZGRpbmc6IDEwcHggMTBweCA4cHggMTBweDsKICAgIHRleHQtc2hhZG93OiAwcHggMXB4IDBweCAjZmZmZmZmOwogICAgLyogQ1NTMyB0cmFuc2l0aW9uICovCiAgICAKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZy1sZWZ0IDAuMXMgZWFzZS1vdXQ7CiAgICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmctbGVmdCAwLjFzIGVhc2Utb3V0OwogICAgLW8tdHJhbnNpdGlvbjogcGFkZGluZy1sZWZ0IDAuMXMgZWFzZS1vdXQ7CiAgICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZy1sZWZ0IDAuMXMgZWFzZS1vdXQ7CiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLWxlZnQgMC4xcyBlYXNlLW91dAp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sgZGl2LmFycm93IHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWJvdHRvbTogMDsKICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjYWFhYWFhOwogICAgZmxvYXQ6IHJpZ2h0OwogICAgaGVpZ2h0OiAwcHg7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICBtYXJnaW4tdG9wOiAtMjJweDsKICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICB3aWR0aDogMHB4Cn0KZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jayBhLmhlYWRlcjpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgIHBhZGRpbmctbGVmdDogMjBweAp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sgZGl2IHsKICAgIGhlaWdodDogMHB4OwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7CiAgICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0OwogICAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7CiAgICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7CiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dAp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sgZGl2IHAgewogICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMTBweDsKICAgIG1hcmdpbjogMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiA1MHB4Cn0KZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jazp0YXJnZXQsCmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sudGFyZ2V0IHsKICAgIHdpZHRoOiAxMDAlCn0KZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jazp0YXJnZXQgYS5oZWFkZXIsCmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sudGFyZ2V0IGEuaGVhZGVyIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkCn0KZGl2LmRjX2FjY29yZGlvbiBsaTp0YXJnZXQgZGl2LApkaXYuZGNfYWNjb3JkaW9uIGxpLnRhcmdldCBkaXYgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNlY2VjOwogICAgaGVpZ2h0OiAzMDBweDsKICAgIG92ZXJmbG93OiBhdXRvOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgIHdpZHRoOiAxMDAlCn0KZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jazp0YXJnZXQgZGl2IHAsCmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sudGFyZ2V0IGRpdiBwIHsKICAgIHRvcDogMHB4OwogICAgei1pbmRleDogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7CiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dAp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2s6dGFyZ2V0IGRpdi5hcnJvdywKZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jay50YXJnZXQgZGl2LmFycm93IHsKICAgIG1hcmdpbi10b3A6IC0yM3B4Cn0KZGl2LmRjX2FjY29yZGlvbiBsaS5ibG9jayB7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZmZmZjsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmNiY2JjOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICNlYmViZWIsICNlM2UzZTMpOwogICAgZmlsdGVyOiBwcm9naWQ6IERYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNlYmViZWInLCBlbmRDb2xvcnN0cj0nI2UzZTNlMycpOwogICAgLW1zLWZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZWJlYmViJywgZW5kQ29sb3JzdHI9JyNlM2UzZTMnKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZWJlYmViLCAjZTNlM2UzKTsKICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ViZWJlYiwgI2UzZTNlMyk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWJlYmViLCAjZTNlM2UzKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ViZWJlYiwgI2UzZTNlMyk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNlYmViZWIpLCBjb2xvci1zdG9wKDEsICNlM2UzZTMpKQp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2s6bnRoLWxhc3QtY2hpbGQoMSkgewogICAgYm9yZGVyLWJvdHRvbTogMAp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2sgYS5oZWFkZXI6aG92ZXIgewogICAgY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDsKICAgIHRleHQtc2hhZG93OiAwcHggMXB4IDBweCAjZmZmZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0b3AsICNmNWY1ZjUsICNlY2VjZWMpOwogICAgZmlsdGVyOiBwcm9naWQ6IERYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmNWY1ZjUnLCBlbmRDb2xvcnN0cj0nI2VjZWNlYycpOwogICAgLW1zLWZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZjVmNWY1JywgZW5kQ29sb3JzdHI9JyNlY2VjZWMnKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZjVmNWY1LCAjZWNlY2VjKTsKICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y1ZjVmNSwgI2VjZWNlYyk7CiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZjVmNWY1LCAjZWNlY2VjKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y1ZjVmNSwgI2VjZWNlYyk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmNWY1ZjUpLCBjb2xvci1zdG9wKDEsICNlY2VjZWMpKQp9CmRpdi5kY19hY2NvcmRpb24gbGkuYmxvY2s6dGFyZ2V0IGEuaGVhZGVyLApkaXYuZGNfYWNjb3JkaW9uIGxpLmJsb2NrLnRhcmdldCBhLmhlYWRlciB7CiAgICBjb2xvcjogIzIyMjIyMiAhaW1wb3J0YW50OwogICAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4ICNmZmZmZmY7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JjYmNiYzsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCAjZjVmNWY1LCAjZWNlY2VjKTsKICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZjVmNWY1JywgZW5kQ29sb3JzdHI9JyNlY2VjZWMnKTsKICAgIC1tcy1maWx0ZXI6IHByb2dpZDogRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI2Y1ZjVmNScsIGVuZENvbG9yc3RyPScjZWNlY2VjJyk7CiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y1ZjVmNSwgI2VjZWNlYyk7CiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmNWY1ZjUsICNlY2VjZWMpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2Y1ZjVmNSwgI2VjZWNlYyk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmNWY1ZjUsICNlY2VjZWMpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjZjVmNWY1KSwgY29sb3Itc3RvcCgxLCAjZWNlY2VjKSkKfQouZGNfYWMtY29udGFpbmVyIHsKICAgIHdpZHRoOiA2MDBweDsKICAgIHRleHQtYWxpZ246IGxlZnQKfQouZGNfYWMtY29udGFpbmVyIGxhYmVsIHsKICAgIGNvbG9yOiAjNzc3ICFpbXBvcnRhbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMTlweDsKICAgIGhlaWdodDogMzBweDsKICAgIGxpbmUtaGVpZ2h0OiAzM3B4OwogICAgcGFkZGluZzogNXB4IDIwcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgei1pbmRleDogMjA7CiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDElLCAjZWFlYWVhIDEwMCUpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgxJSwgI2ZmZmZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2VhZWFlYSkpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDElLCAjZWFlYWVhIDEwMCUpOwogICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAxJSwgI2VhZWFlYSAxMDAlKTsKICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmIDElLCAjZWFlYWVhIDEwMCUpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmZmZiAxJSwgI2VhZWFlYSAxMDAlKTsKICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZWFlYWVhJywgR3JhZGllbnRUeXBlPTApOwogICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMTU1LCAxNTUsIDE1NSwgMC4zKSwgMXB4IDBweCAwcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSBpbnNldCwgMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpCn0KLmRjX2FjLWNvbnRhaW5lciBsYWJlbDpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmCn0KLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkK2xhYmVsLAouZGNfYWMtY29udGFpbmVyIGlucHV0OmNoZWNrZWQrbGFiZWw6aG92ZXIgewogICAgYmFja2dyb3VuZDogI2M2ZTFlYzsKICAgIGNvbG9yOiAjM2Q3NDg5ICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwogICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMTU1LCAxNTUsIDE1NSwgMC4zKSwgMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpCn0KLmRjX2FjLWNvbnRhaW5lciBsYWJlbDpob3ZlcjphZnRlciwKLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkK2xhYmVsOmhvdmVyOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgaGVpZ2h0OiAyNHB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDEzcHg7CiAgICB0b3A6IDdweDsKICAgIHdpZHRoOiAyNHB4OwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ltYWdlcy9hcnJvd19kb3duLmh0bWwpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyCn0KLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkK2xhYmVsOmhvdmVyOmFmdGVyIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYXJyb3dfdXAuaHRtbCkKfQouZGNfYWMtY29udGFpbmVyIGlucHV0IHsKICAgIGRpc3BsYXk6IG5vbmUKfQouZGNfYWMtY29udGFpbmVyIGFydGljbGUgewogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwogICAgbWFyZ2luLXRvcDogLTFweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBoZWlnaHQ6IDBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDEwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjZzIGxpbmVhcjsKICAgIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC42cyBsaW5lYXI7CiAgICAtby10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjZzIGxpbmVhcjsKICAgIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjZzIGxpbmVhcjsKICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuNnMgbGluZWFyCn0KLmRjX2FjLWNvbnRhaW5lciBhcnRpY2xlIHAgewogICAgY29sb3I6ICM3Nzc7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMjNweDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpCn0KLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gYXJ0aWNsZSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMXMgbGluZWFyOwogICAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjFzIGxpbmVhcjsKICAgIC1vLXRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMXMgbGluZWFyOwogICAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMXMgbGluZWFyOwogICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xcyBsaW5lYXI7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgxNTUsIDE1NSwgMTU1LCAwLjMpCn0KLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gYXJ0aWNsZS5hYy1zbWFsbCB7CiAgICBoZWlnaHQ6IDE0MHB4Cn0KLmRjX2FjLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gYXJ0aWNsZS5hYy1tZWRpdW0gewogICAgaGVpZ2h0OiAxODBweAp9Ci5kY19hYy1jb250YWluZXIgaW5wdXQ6Y2hlY2tlZCB+IGFydGljbGUuYWMtbGFyZ2UgewogICAgaGVpZ2h0OiAyMzBweAp9CgoKLmhvewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODg2YzsKICAgIHdpZHRoOiA5OCU7CiAgICBtYXJnaW4tbGVmdDogMSU7CiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjMDBjN2FhOwoJfQoKCi5obzpob3ZlcnsKCX0="}},"time_used":536,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":536,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.728Z","timestamp":1785136427728,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/runtime-embed_advanced_chart.2adadf1cc0ec57097803.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-132f5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 156faf32527c8f932ea169cb5b862410\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":78581,"size_decoded":34908,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (14472)","md5":"14bf3ff2a3107514a76ce3b64ebfadc7","sha1":"cdbe48a268d7b51c28606b399cb8586afee97128","sha256":"99f49c837d9b9a85e81174053a80d5738c2d7c21a53faa30b396f377724df1ba","sha512":"e917564b665e35938d9d86ea200951191fa25a923f4012992d87c30408c3fe4188962849136025458fb8143a64842308d4783c9ae847f84f0720cd7f86a1301f","ssdeep":"1536:Hf6kU6QbwU/pS8wcbXbUFrGAMt6GYvlW1naSzKr1vhheth+47z:Hfy0yLBAK+v4nrD9z","tlshash":"32735cacd23c99b776f02e781c6bac52a33820537d6182ed4397736409b7ef4c666543","first_seen":"2026-07-24T11:36:48.051243Z","last_seen":"2026-07-28T06:17:53.622022Z","times_seen":205,"resource_available":true,"data":"KCgpPT57InVzZSBzdHJpY3QiO3ZhciBlLGEsYyxkLGYsYixfPXt9LG89e307ZnVuY3Rpb24gdChlKXt2YXIgYT1vW2VdO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGEuZXhwb3J0czt2YXIgYz1vW2VdPXtpZDplLGxvYWRlZDohMSxleHBvcnRzOnt9fTtyZXR1cm4gX1tlXS5jYWxsKGMuZXhwb3J0cyxjLGMuZXhwb3J0cyx0KSxjLmxvYWRlZD0hMCxjLmV4cG9ydHN9dC5tPV8sdC5jPW8sdC5fcGx1cmFsPXthcjooZSxhPTYsYz0oMD09ZT8wOjE9PWU/MToyPT1lPzI6ZSUxMDA+PTMmJmUlMTAwPD0xMD8zOmUlMTAwPj0xMSYmZSUxMDA8PTk5PzQ6NSkpPT5udWxsPT1lPzA6K2MsY3M6KGUsYT0zLGM9KDE9PWU/MDplPj0yJiZlPD00PzE6MikpPT5udWxsPT1lPzA6K2MscnU6KGUsYT0zLGM9KGUlMTA9PTEmJmUlMTAwIT0xMT8wOmUlMTA+PTImJmUlMTA8PTQmJihlJTEwMDwxMHx8ZSUxMDA+PTIwKT8xOjIpKT0+bnVsbD09ZT8wOitjLHJvOihlLGE9MyxjPSgxPT1lPzA6ZSUxMDA+MTl8fGUlMTAwPT0wJiYwIT1lPzI6MSkpPT5udWxsPT1lPzA6K2MscGw6KGUsYT0zLGM9KDE9PWU/MDplJTEwPj0yJiZlJTEwPD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyKSk9Pm51bGw9PWU/MDorYyxwdDooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGRlOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZW46KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyxlczooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLHN2OihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaXQ6KGUsYT0yLGM9MSE9ZSk9Pm51bGw9PWU/MDorYyx0cjooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLGVsOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsZnI6KGUsYT0yLGM9ZT4xKT0+bnVsbD09ZT8wOitjLGZhOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsamE6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxrbzooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLHRoOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2Msdmk6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyx6aDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLGhlX0lMOihlLGE9NCxjPSgxPT1lPzA6Mj09ZT8xOmU+MTAmJmUlMTA9PTA/MjozKSk9Pm51bGw9PWU/MDorYyxjYV9FUzooZSxhPTIsYz0xIT1lKT0+bnVsbD09ZT8wOitjLG5sX05MOihlLGE9MixjPTEhPWUpPT5udWxsPT1lPzA6K2MsaHVfSFU6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorYyxpZF9JRDooZSxhPTEsYz0wKT0+bnVsbD09ZT8wOitjLG1zX01ZOihlLGE9MSxjPTApPT5udWxsPT1lPzA6K2MsemhfVFc6KGUsYT0xLGM9MCk9Pm51bGw9PWU/MDorY30sdC5hbWREPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJkZWZpbmUgY2Fubm90IGJlIHVzZWQgaW5kaXJlY3QiKX0sZT1bXSx0Lk89KGEsYyxkLGYpPT57aWYoIWMpe3ZhciBiPTEvMDtmb3IoaT0wO2k8ZS5sZW5ndGg7aSsrKXtmb3IodmFyW2MsZCxmXT1lW2ldLF89ITAsbz0wO288Yy5sZW5ndGg7bysrKSghMSZmfHxiPj1mKSYmT2JqZWN0LmtleXModC5PKS5ldmVyeSgoZT0+dC5PW2VdKGNbb10pKSk/Yy5zcGxpY2Uoby0tLDEpOihfPSExLGY8YiYmKGI9ZikpO2lmKF8pe2Uuc3BsaWNlKGktLSwxKTt2YXIgcz1kKCk7dm9pZCAwIT09cyYmKGE9cyl9fXJldHVybiBhfWY9Znx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7aT4wJiZlW2ktMV1bMl0+ZjtpLS0pZVtpXT1lW2ktMV07ZVtpXT1bYyxkLGZdfSx0LkY9e30sdC5FPWU9PntPYmplY3Qua2V5cyh0LkYpLm1hcCgoYT0+e3QuRlthXShlKX0pKX0sdC5IPXt9LHQuRz1lPT57T2JqZWN0LmtleXModC5IKS5tYXAoKGE9Pnt0LkhbYV0oZSl9KSl9LHQubj1lPT57dmFyIGE9ZSYmZS5fX2VzTW9kdWxlPygpPT5lLmRlZmF1bHQ6KCk9PmU7cmV0dXJuIHQuZChhLHthfSksYX0sYz1PYmplY3QuZ2V0UHJvdG90eXBlT2Y/ZT0+T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpOmU9PmUuX19wcm90b19fLHQudD1mdW5jdGlvbihlLGQpe2lmKDEmZCYmKGU9dGhpcyhlKSksOCZkKXJldHVybiBlO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmZSl7aWYoNCZkJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYoMTYmZCYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gZX12YXIgZj1PYmplY3QuY3JlYXRlKG51bGwpO3QucihmKTt2YXIgYj17fTthPWF8fFtudWxsLGMoe30pLGMoW10pLGMoYyldO2Zvcih2YXIgXz0yJmQmJmU7KCJvYmplY3QiPT10eXBlb2YgX3x8ImZ1bmN0aW9uIj09dHlwZW9mIF8pJiYhfmEuaW5kZXhPZihfKTtfPWMoXykpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoXykuZm9yRWFjaCgoYT0+YlthXT0oKT0+ZVthXSkpO3JldHVybiBiLmRlZmF1bHQ9KCk9PmUsdC5kKGYsYiksZn0sdC5kPShlLGEpPT57Zm9yKHZhciBjIGluIGEpdC5vKGEsYykmJiF0Lm8oZSxjKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtjXX0pfSx0LmY9e30sdC5lPWU9PlByb21pc2UuYWxsKE9iamVjdC5rZXlzKHQuZikucmVkdWNlKCgoYSxjKT0+KHQuZltjXShlLGEpLGEpKSxbXSkpLAp0LnU9ZT0+Mjg4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mOWU3MzU2ZmY5MWY4MzdmNDdjNy5qcyI6MjM1Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZmRkYzE1OTk4MTQyY2JjNjFlZi5qcyI6ODk2MTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lOGRiMTlkODEzNzZkNDg2ZTI4OC5qcyI6NTQ4NTI9PT1lPyJfX0xBTkdfXy4iK2UrIi43NzI4Y2RlOWMwMTIyNTk0NWQxMC5qcyI6MTYxOTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTA3NWY4OTVjNmVkMDU3YzExYy5qcyI6OTU1NT09PWU/Il9fTEFOR19fLjk1NTUuNmU0NWM3ZjAyOGQ0NTU0Y2E3MjUuanMiOjg0NjkzPT09ZT8iX19MQU5HX18uIitlKyIuNzE1Y2I3YjI3MzJmMjBjNGM5NjEuanMiOjQ5Njg0PT09ZT8iX19MQU5HX18uIitlKyIuNDk5Y2ZiZDczNDdlOTc0NzIyMjguanMiOjU0OTg9PT1lPyJfX0xBTkdfXy41NDk4LjhlNGNjYzdjZWY4YmZhZjM5Mzk5LmpzIjo4NTUzNz09PWU/Il9fTEFOR19fLiIrZSsiLjQ5ZmRhMTNlMTg3NjEyNDYzZjg0LmpzIjo0OTM4MD09PWU/Il9fTEFOR19fLiIrZSsiLjc1NTNlZDk4YThkZDViYjg0NmI1LmpzIjoyNjk3Mz09PWU/Il9fTEFOR19fLiIrZSsiLjlhZTU2ZDYyMWE1ZjI5ODI3ZTAwLmpzIjo3MTIzNz09PWU/Il9fTEFOR19fLiIrZSsiLjAyYjAzZmQwNDU4MzAzMTQ1MGE3LmpzIjo2MzU1Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQxZWU2MTk4YjcwMjg0NzhkZDYyLmpzIjo3MTcwOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlMDU4NjY3MzBiMTY4YWJkMTM1LmpzIjozMDA3MD09PWU/Il9fTEFOR19fLiIrZSsiLjJiMTIzZWEwZDkyZTk0NGFjOWZiLmpzIjoxMTE1MT09PWU/Il9fTEFOR19fLiIrZSsiLjI1NTk0YzI3MDY2NTkxZTJiYzdiLmpzIjozMzIyNT09PWU/Il9fTEFOR19fLiIrZSsiLjQyOTVmMzJiMWM4ZmRjNzRjMDU2LmpzIjozMjc4PT09ZT8iX19MQU5HX18uMzI3OC5mMjMyMmNiMDExOWQ5MjRjY2Q2NC5qcyI6MjcwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MmRkNThmZDRiZDMwZGUwYmI2ZC5qcyI6MzQyODQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40M2Y0NjA1YmI3MmQ2OWIzZWQ0My5qcyI6Mjc4MjA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMjJjYmU2NmQ0Y2E0MmE3ZTEyYy5qcyI6MzE2NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi40MmYzMmIxNWExNzcxYTJkZmRlZC5qcyI6MTQ2OTM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xYWZmZmM3MzFkN2NjM2YzYzZjMy5qcyI6NTI4ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODk4ZTYzOGE2ODE4MGVkNmRmNC5qcyI6NzQxMTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45MGY2N2UzNjU4YWIzMTNiYjVmYi5qcyI6OTA5MDc9PT1lPyJfX0xBTkdfXy4iK2UrIi41ZTkxYTllMWU2OWVlNGZkODkwZS5qcyI6ODM0NTA9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNGQwYWNmYWQxOGNhMzVjNmYyOC5qcyI6NDk2Nzc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOTg2ODhiMzdmNzg1NWI0Yzc5Yi5qcyI6MjA1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wZTE2ZjI3YzQ3ZTdkZmEwOWE4MC5qcyI6ODEwMTU9PT1lPyJfX0xBTkdfXy4iK2UrIi4yMTUzNzJkNzBjMzNhOGFiNWQ1NC5qcyI6NDA1Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODljYmViODYzMmM3OGJlYjA1OC5qcyI6Nzk2Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGI0MDBiN2JjZDcxMjY1ZGU3ZS5qcyI6NjIyNz09PWU/Il9fTEFOR19fLjYyMjcuNDg5YTZlMWQxMjI0YmEwNDk3YzcuanMiOjU1MDc5PT09ZT8iX19MQU5HX18uIitlKyIuY2ZhODA4MmFhY2NlYTk1OTM2MDYuanMiOjM3MDEyPT09ZT8iX19MQU5HX18uIitlKyIuZWRlMGZjM2Q2ODU4N2Q4MTdlZDUuanMiOjE3NjYyPT09ZT8iX19MQU5HX18uIitlKyIuNDdmNWM5Y2FmNjYwYzRkMGU4MDQuanMiOjkyNDE5PT09ZT8iX19MQU5HX18uIitlKyIuOTk2ZmFkZGRmY2EzZTZjMjc2ZDcuanMiOjg4OTk3PT09ZT8iX19MQU5HX18uIitlKyIuMjU5OTFkYTU5ZTIwYTc5NmVkYWEuanMiOjExMzc4PT09ZT8iX19MQU5HX18uIitlKyIuOTdjYWQ3ZGZkZjllNDdhYjRmZjMuanMiOjE2NDYxPT09ZT8iX19MQU5HX18uIitlKyIuMGQ5MTBhNGVhY2VlNTU4NGNkN2YuanMiOjQ1MTE3PT09ZT8iX19MQU5HX18uIitlKyIuZGEwZmRjMGExNDllMTczOGJhNjYuanMiOjIyNjQ5PT09ZT8iX19MQU5HX18uIitlKyIuNmQ0YTQ3MWMxYTNjMTZlNjk1MzQuanMiOjczNjI2PT09ZT8iX19MQU5HX18uIitlKyIuZWZiY2ZlYmEzYjg1MTZkYWZjN2MuanMiOjY4OTUyPT09ZT8iX19MQU5HX18uIitlKyIuM2NhMDljZWIwY2I0MGQ5MjJmZmYuanMiOjE5MTkzPT09ZT8iX19MQU5HX18uIitlKyIuNjBiZDcxMWQ4MzhjNzUxZDY5OTAuanMiOjk5NzU4PT09ZT8iX19MQU5HX18uIitlKyIuOTllM2U2MTdhMWI2NmRkZmY2ZDQuanMiOjI5NDc3PT09ZT8iX19MQU5HX18uIitlKyIuNGJjOTY5OTY3ZTA4OGVmOWRhOTguanMiOjI1OTI0PT09ZT8iX19MQU5HX18uIitlKyIuYjJiOGZkMzA4ZTc2MDZmMDRkZGEuanMiOjkyMDc9PT1lPyJfX0xBTkdfXy45MjA3LmViMmEyYWU2ZDcwYjFhMzA0ZmZjLmpzIjo2MzU2MD09PWU/Il9fTEFOR19fLiIrZSsiLjIwM2YzYzA0YWFmZGE5MTk3OGM2LmpzIjo3NTkwNT09PWU/Il9fTEFOR19fLiIrZSsiLmM0NTQ4NWI5NWZlNjc2YzczNDhjLmpzIjo5ODQ3OT09PWU/Il9fTEFOR19fLiIrZSsiLjA3YjMyZjY5NTBmNWZhYTJkNWRiLmpzIjo3MDk4Mz09PWU/Il9fTEFOR19fLiIrZSsiLmQwYWNjZDU3MWQyNTNjYmU3ZmQ2LmpzIjo5NDE3NT09PWU/Il9fTEFOR19fLiIrZSsiLmMyZjAwM2JkZTQ0NWU2ZjA1Nzg3LmpzIjo4NDM2ND09PWU/Il9fTEFOR19fLiIrZSsiLmRmNWY3OTc0ZWY2NjVlZTBjYTliLmpzIjo2MzU5MT09PWU/Il9fTEFOR19fLiIrZSsiLjRkODFkMjUzMGMzOTQ2MjExMWU5LmpzIjozNjEyMT09PWU/Il9fTEFOR19fLiIrZSsiLjY3MjhmNDhmNTY5Y2I2MTAyZmFjLmpzIjoxNDkwPT09ZT8iX19MQU5HX18uMTQ5MC5mNzFkZGJlNDAxNDk2ZTU1YTVlZS5qcyI6NDQxMzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZjczZWIyY2Q2Y2M5ZmVlM2FhMS5qcyI6NjU3ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTA5YmFiYmQ0ZWY1OWMyZmM5NC5qcyI6MTU3MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTA5NjVlMWJiYTQxOTkzNWI1OS5qcyI6ODU3OTA9PT1lPyJfX0xBTkdfXy4iK2UrIi45YzMzZWI2MDExM2JiYjY1ZDYzOS5qcyI6ODE0NTY9PT1lPyJfX0xBTkdfXy4iK2UrIi4wMTM4MjRkMjYzNDY2NjI3YTZmYS5qcyI6ODc4OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi45NWVkNGI5ZjMzYTdiZjcwY2NiMy5qcyI6ODMzMzk9PT1lPyJfX0xBTkdfXy4iK2UrIi44ZDM5ZTc2MDFhMjU4ZTY4N2E5MS5qcyI6NjIxOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zY2RjMmRiMWJjMTcxNmRjZDM5YS5qcyI6NDgwMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi44Y2ExMDY5ODQ5ZjA5Y2YwZDlkNy5qcyI6Njk3MzA9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODFiMjM5YWY3ZTA0MzU0MDNkZC5qcyI6Nzc1ODI9PT1lPyJfX0xBTkdfXy4iK2UrIi41MDcwYTFkMTc0MjQxNDNjNTc0NC5qcyI6NzgwMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTJiMTIxZDJlNGUxNDA3ZTc1OS5qcyI6NTc4Njk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jZjg2NDNjYTU3MWIwZjFjNGIxMS5qcyI6MjUwMjg9PT1lPyJfX0xBTkdfXy4iK2UrIi5iY2VkNzNlZDg3MDAxNWZjOWViYS5qcyI6NzA5MDk9PT1lPyJfX0xBTkdfXy4iK2UrIi5kYWY2ZjJjZjA2MTRiODYzMWQ4Ni5qcyI6MjU3ODg9PT1lPyJfX0xBTkdfXy4iK2UrIi44MDU3NTA4MGFlMzZmNjU3MTYwYi5qcyI6NjA2NTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzZjYzZiMWY2ZTRkZGZjYTc4MC5qcyI6MzQ1OTI9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGY2ODI5YWYzNjU5NmMyN2NiMS5qcyI6OTUxMDI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNzNiMzVkMzA4YTZlMjU1NmJmOC5qcyI6ODc5MTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZmYyYWU4NTBkZDhkYjM1ZTkwOS5qcyI6NTgzMzE9PT1lPyJfX0xBTkdfXy4iK2UrIi45NjhlY2JkZGNkNDAyNzg3YjliMy5qcyI6MjU0MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi4xOTlmMGRlNjI3NjllMDM4ODIzYS5qcyI6MzUwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5lMzgxYTZlMjRkOGNlZTNmODQ2MC5qcyI6MTcxMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi42MGQ5OWRhZGIxOTZlZTc5MWZiMS5qcyI6OTY0MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5mZjNhYTNmYzQ1OTNkNTU1ZGQzZi5qcyI6NzI0Njc9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZWZkNzdkYWJhYjJlZmUxYjcyZC5qcyI6NzY4MTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zODk4NDUzYjhjYmEzYzBlMTE1NS5qcyI6Mjk0Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi5lZWJlYTcxZTljZmEwYjM1OTJiOS5qcyI6MTM5MzY9PT1lPyJfX0xBTkdfXy4iK2UrIi45MDZhMGEyMjMxYWUxY2JkOWNkMy5qcyI6NTQwNDA9PT1lPyJfX0xBTkdfXy4iK2UrIi42MTFiYWNjNTI2YTI3YWFlMWEzYS5qcyI6NzMxMT09PWU/Il9fTEFOR19fLjczMTEuZmI1ZDA0OTRlZjg1NzNiZDkwNjguanMiOjc1NTI9PT1lPyJfX0xBTkdfXy43NTUyLmJjMDAyMDE5Mjk3Nzc3MWQ3MTE5LmpzIjoxNjU5OD09PWU/Il9fTEFOR19fLiIrZSsiLmIwYWI1YzJjMmRjNTQ0NGNkZWViLmpzIjoyMjUxMD09PWU/Il9fTEFOR19fLiIrZSsiLmM2MjcyNDU5YTE3YzUzOThmZDdiLmpzIjo1NTgwMT09PWU/Il9fTEFOR19fLiIrZSsiLmQ5NDk2ZGI4Y2QwYTUzZGRlMDJjLmpzIjoxMDc3Nj09PWU/Il9fTEFOR19fLiIrZSsiLjY0YzQxMjNlN2MwY2NjMzkwNWJhLmpzIjo3ODAzND09PWU/Il9fTEFOR19fLiIrZSsiLjgwMGIyY2VlNjQ5OGE2YzRiNDRhLmpzIjozOTE4Mj09PWU/Il9fTEFOR19fLiIrZSsiLjE4YjMxYTU4ZDRiNTc5NmQ5YjBkLmpzIjoyNDQxPT09ZT8iX19MQU5HX18uMjQ0MS4xYjQzNWE0M2RiMTY1ODAyNzdjMi5qcyI6MjcyOTI9PT1lPyJfX0xBTkdfXy4iK2UrIi5hNDUzMTNkNDlkZDc3NWJhZDI1Zi5qcyI6NTUzOD09PWU/Il9fTEFOR19fLjU1MzguYTdlNmE5YjliZDRlZGI4ODVmNzUuanMiOjk2Njc4PT09ZT8iX19MQU5HX18uIitlKyIuYzEwNmIyNjA0OWU5YjAyYmU3NzkuanMiOjg2NTkzPT09ZT8iX19MQU5HX18uIitlKyIuODIxODlmNjM2ODQ5YTUxZDA1NjkuanMiOjQ5MzA3PT09ZT8iX19MQU5HX18uIitlKyIuYzhkOGEyYjQ2NWY0MjBjMzZjOWQuanMiOjQyMDk2PT09ZT8iX19MQU5HX18uIitlKyIuODVhMWYyY2IzY2U2NzU3MTZjZjYuanMiOjIxNzg0PT09ZT8iX19MQU5HX18uIitlKyIuM2E4NzY3MGVmNDFlZGZkYzg4NWMuanMiOjc4NDQ9PT1lPyJfX0xBTkdfXy43ODQ0LmM3NDhlNzFlYWYxNzExODBhY2ZmLmpzIjo4NzIzOD09PWU/Il9fTEFOR19fLiIrZSsiLjdlNzczMDk3MzM3YTM0YmU2NjUyLmpzIjoyMDMzNz09PWU/Il9fTEFOR19fLiIrZSsiLjMwMTVkYjVlMGE1MjE5NjIzY2ZiLmpzIjo5Mzc0NT09PWU/Il9fTEFOR19fLiIrZSsiLjlkOTkxMTY3ZWY2ZDg5MjZiOTFlLmpzIjo2NjAwMj09PWU/Il9fTEFOR19fLiIrZSsiLmQxMWM0NDk1NTYxMjg0ZTg3MjI3LmpzIjoyMTg3MD09PWU/Il9fTEFOR19fLiIrZSsiLjdkMzdmZmE1M2RmYmJjMTg0MDg4LmpzIjo4NTAxND09PWU/Il9fTEFOR19fLiIrZSsiLjIzMzc2MTVhNGJkMmMzMDNjMDQ2LmpzIjo3Mzc3PT09ZT8iX19MQU5HX18uNzM3Ny5kYzEwMzEyNTJiZjkyY2ZiNDFmYi5qcyI6OTY4MjM9PT1lPyJfX0xBTkdfXy4iK2UrIi4xMjI2NWRkODhhNWQwOGQ2NmE4Yi5qcyI6Mjc1NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi4yYTZjMzcwMmZiYzUxZTk0YzYyNi5qcyI6MzUyNTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5mMzE3NDgxOWIxNDBiNmE3ZDJlNy5qcyI6Njk2OTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4wOGEzMGYwN2JhMTk1YjVlODM0Zi5qcyI6ODU4Nzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMTg5YjcwN2E5MTY1YzY1ZDlmYS5qcyI6MjY5NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMzcxZGJiZGEwM2Y5Y2EwZGUyOS5qcyI6OTgxMTE9PT1lPyJfX0xBTkdfXy4iK2UrIi44YzZiYTU1Nzk0YjY0YWQ3Zjg3Zi5qcyI6NTk4Mjk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xODU0YTZiY2I5NjUxOTNjODkyZi5qcyI6OTQyNDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi5iYTg5Yzc1NDA0MWMzNGI2YWVmMy5qcyI6MTIwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi45MjM1MWEzNzc4MDEzMmM5ZTlmZC5qcyI6OTkxMjQ9PT1lPyJfX0xBTkdfXy4iK2UrIi43MTI5ZTA1N2M3NDQ0ZGYyNTk5NC5qcyI6MjcxNzQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yODQ4NDY0ZDVjMGNhNmMzMmE0My5qcyI6NDAxNTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4wYjk5ZDU0NTMyYWIwNDAxNmJjYS5qcyI6NTQ4Nj09PWU/Il9fTEFOR19fLjU0ODYuMWIxZTMwODg0NGNkM2YwNDdiMDcuanMiOjYxOTUwPT09ZT8iX19MQU5HX18uIitlKyIuOGJiNWU5MDIwYTY0MmY3OTZjOTMuanMiOjE0OTI2PT09ZT8iX19MQU5HX18uIitlKyIuOTM2NDNhMjRkYjhiM2NkYmU1YzQuanMiOjk4MzgzPT09ZT8iX19MQU5HX18uIitlKyIuMmQ0MTY5YzRhZTMyMmFkYjc0MGUuanMiOjMzMTc2PT09ZT8iX19MQU5HX18uIitlKyIuMjkwMGIxNzFiNmFmY2JlNWZjYzQuanMiOjE0NT09PWU/Il9fTEFOR19fLjE0NS44MTJjOTAzYTA1Y2FhYTJjYTEyNS5qcyI6MTI2NjM9PT1lPyJfX0xBTkdfXy4iK2UrIi43NDE5MzQyMzU0ZWNhMmZmZTMxNy5qcyI6MTE1MjY9PT1lPyJfX0xBTkdfXy4iK2UrIi4xN2RkMTM5ZjYwNGEyZDk4M2M3Ny5qcyI6NDI1MzU9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNDg3NjY3ZDMzMzE4MmMxZWI1Zi5qcyI6Njk4MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi44MzM3NmJlMzMxZWJkZTk4YTU0ZC5qcyI6NDY4MzE9PT1lPyJfX0xBTkdfXy4iK2UrIi40ZGY5Y2Q3NDdjZWZjMjRmMTg0Yy5qcyI6MjEwODA9PT1lPyJfX0xBTkdfXy4iK2UrIi5jNzM3M2UxOGM3ZDc4MDc0ZTQwYS5qcyI6MTQ5OTE9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2Q2ZTg1YjZkMDU4ODE1MmJhYS5qcyI6NTQ5MDQ9PT1lPyJfX0xBTkdfXy4iK2UrIi40YWZkZmI5MGNjNzVkYWQ2ZThjYS5qcyI6MzkzNz09PWU/Il9fTEFOR19fLjM5MzcuY2IxM2QyZjQ0MWU5NjNiOGY4NTEuanMiOjM3MDkxPT09ZT8iX19MQU5HX18uIitlKyIuODg5OTAzZmE0MTgwYTQwYmI3MWYuanMiOjM5ODM9PT1lPyJfX0xBTkdfXy4zOTgzLjZmOWJlZmFhMDVhNjg1YzcwNjg0LmpzIjo0MzA2MD09PWU/Il9fTEFOR19fLiIrZSsiLjRjZWU5ZGJmZGY0ZmVjN2I0ZjM4LmpzIjoxMDg0MT09PWU/Il9fTEFOR19fLiIrZSsiLjc2NmY5NjY4NzhiN2Y4NzI2ZDc0LmpzIjo3OTk3OT09PWU/Il9fTEFOR19fLiIrZSsiLjNkYTNmZmQyNzExMGViODg5MGQzLmpzIjo5MzI5MD09PWU/Il9fTEFOR19fLiIrZSsiLmZhMDEwZTQyNmY5YWYwOGRkNDNlLmpzIjo0MjE2Nz09PWU/Il9fTEFOR19fLiIrZSsiLmM2ZTM1MWI0MTc1Y2YyZjg4NjhhLmpzIjoxOTI2ND09PWU/Il9fTEFOR19fLiIrZSsiLmE5NDdkNjMxODJlZjE1ZDg3MTgzLmpzIjo4ODQzMj09PWU/Il9fTEFOR19fLiIrZSsiLjQ0MDYwYWRkMjE2MjgwY2ZhMGQzLmpzIjoxMjY1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjYzNTc2NjU5MmI0NmRlNzQ4ZThkLmpzIjoxNzEyMz09PWU/Il9fTEFOR19fLiIrZSsiLmFkNGQ4ZTc2ODNlMzQ2ZjEyZTEyLmpzIjoyNTc1Mz09PWU/Il9fTEFOR19fLiIrZSsiLjczN2Y2NTNhN2IxM2YwNmE5ZmNlLmpzIjozNDkwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4OGNkMTQ3MzYwMTljZWYyN2JjLmpzIjo3MzcyNT09PWU/Il9fTEFOR19fLiIrZSsiLmFiNzNlOTU0ZDJjZDFiZTM2ZGM0LmpzIjo0MDg5Mj09PWU/Il9fTEFOR19fLiIrZSsiLjc2ZWUzYzUyNDE3YTYwZmIwOTMxLmpzIjo0ODgzNz09PWU/Il9fTEFOR19fLiIrZSsiLmVkNjU2NzNlNTgzN2NkODY3MzdhLmpzIjo5NjQ0OD09PWU/Il9fTEFOR19fLiIrZSsiLmEyMzA5M2IyMGMyZTQ4YWFjMTJiLmpzIjo2MDkzOT09PWU/Il9fTEFOR19fLiIrZSsiLmVlNmNiZWVmODZkZDhmZjEwOTY0LmpzIjo0OTIxNT09PWU/Il9fTEFOR19fLiIrZSsiLjJjMjE1NmZhMGU4NTQ1Y2JjYWFiLmpzIjoyMDg2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNkYjhlOGVlZWU2ODZhNTA5YjIwLmpzIjo0MTI4MD09PWU/Il9fTEFOR19fLiIrZSsiLjJhYTNjZDA3ZDYwMGViOTZjYmJjLmpzIjo4MTM5NT09PWU/Il9fTEFOR19fLiIrZSsiLmI2ZDgzYzc0ODhkZjQ5MDM5NGY4LmpzIjoyNjc3MT09PWU/Il9fTEFOR19fLiIrZSsiLmUzYjAzNTVjZmZkMDc3YmRlMjQyLmpzIjoxMDY3ND09PWU/Il9fTEFOR19fLiIrZSsiLjY1YWNkY2NmZWYwZjNmNDk4MmUwLmpzIjo0OTc0Nz09PWU/Il9fTEFOR19fLiIrZSsiLjlmZGRlOGRmYmQ0NTY2MzhmMzExLmpzIjozODUzNT09PWU/Il9fTEFOR19fLiIrZSsiLjI2OTE4OTI3NWFkZGQxZjc2N2I1LmpzIjo1OTMxPT09ZT8iX19MQU5HX18uNTkzMS4yZDAwYTEwNjc4ZTc4Y2Q2NmM5Mi5qcyI6ODYzMT09PWU/Il9fTEFOR19fLjg2MzEuN2FjZjJiYTQ0MjE2MzMyM2E2ZWMuanMiOjg0OTAwPT09ZT8iX19MQU5HX18uIitlKyIuMGQzNzYyZmQwY2U3MjNlNTQxZGIuanMiOjM5OTg4PT09ZT8iX19MQU5HX18uIitlKyIuM2M5ZDQ2ZDY5ZjVhZDcyMTA5YTAuanMiOjM5NTA0PT09ZT8iX19MQU5HX18uIitlKyIuZWI3Yzg1OGEyMzEwOGFjYTdmZWUuanMiOjgyMDAzPT09ZT8iX19MQU5HX18uIitlKyIuZDc0OGI4Njg4MDM4ZTcyOWVmMDkuanMiOjE4OTExPT09ZT8iX19MQU5HX18uIitlKyIuNjk4MTkzOGIxMTQzYWFhNjE1NzcuanMiOjUzNzg5PT09ZT8iX19MQU5HX18uIitlKyIuZTQ1ODQ1YmYwMDRlNjRhNzFmNmIuanMiOjU0NjQ9PT1lPyJfX0xBTkdfXy41NDY0LjFkNmMzNjI2ZTQ4NTNmYWUzN2ZlLmpzIjo4OTUzND09PWU/Il9fTEFOR19fLiIrZSsiLjE4N2FiMTllNDViNjZjNzk0MmMzLmpzIjo4Njg3MT09PWU/Il9fTEFOR19fLiIrZSsiLmJlN2JmMGEyYjM0YjM3Yjg1ZjRiLmpzIjoyMTg4OD09PWU/Il9fTEFOR19fLiIrZSsiLjliM2QzZmNjYjgyZDI1ODc2MzMyLmpzIjo3ODM9PT1lPyJfX0xBTkdfXy43ODMuNmI4ZDMzZmFiZjYwYmE1MzE1MDcuanMiOjI2NzY0PT09ZT8iX19MQU5HX18uIitlKyIuZDhmZjZlMjlmYWU1ZTJlNDMxNDguanMiOjE3MDkyPT09ZT8iX19MQU5HX18uIitlKyIuODlkOGUwYmY1MWE3N2Q2Y2U3MzEuanMiOjUzNDExPT09ZT8iX19MQU5HX18uIitlKyIuZTgwM2YzZDcyOWI5NTViZTZlMzYuanMiOjg2MjM4PT09ZT8iX19MQU5HX18uIitlKyIuZGIwNzUwYTcwZDM2NzhiM2ExMmQuanMiOjg2MzI0PT09ZT8iX19MQU5HX18uIitlKyIuZDkzN2I2NzRlMmUwYTY1MGZjMDkuanMiOjI0NTA9PT1lPyJfX0xBTkdfXy4yNDUwLjYxM2I4MWRmYjc1MDZkZjdjNTk5LmpzIjo3Mjc1PT09ZT8iX19MQU5HX18uNzI3NS43NTFmNzU4NzU0MDUwNDg4NzEyMy5qcyI6NTY4MDE9PT1lPyJfX0xBTkdfXy4iK2UrIi43MDAwZjcwOGViNmY0NzFiMGQ3Zi5qcyI6MzQ0NzE9PT1lPyJfX0xBTkdfXy4iK2UrIi5kODg0ZTE0ZDQzMjYxM2UxNzU5Yi5qcyI6OTQyNTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5lYTFiMzM0MzhlYTEwOGNiNDcxZi5qcyI6ODQ5Mzk9PT1lPyJfX0xBTkdfXy4iK2UrIi4xZmNkMTM1ZGViODM4ZjdmOTFkYi5qcyI6ODc0Njg9PT1lPyJfX0xBTkdfXy4iK2UrIi44NWFjZDc2OTQyNzM2NzFhNWUxZS5qcyI6ODcwMDc9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMGZmMDQ0NTQwZmNmMmZkZGYwNi5qcyI6Mjc3NjE9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzdiOTUxMGZlZjNhZjI4MDk5Mi5qcyI6NDkzOTQ9PT1lPyJfX0xBTkdfXy4iK2UrIi4yZWYyNTYyNTJjMjMxZDY5MzVhMi5qcyI6NDM1NzY9PT1lPyJfX0xBTkdfXy4iK2UrIi5iOGYyOGE1MjRjNzUxM2RjZjA1Zi5qcyI6MTMzOT09PWU/Il9fTEFOR19fLjEzMzkuZjkwZWUwZWNkMmM3NzZmNmRjMDcuanMiOjY5Nzc3PT09ZT8iX19MQU5HX18uIitlKyIuYWQyZmU0ZmM3YzJjMGYyZjRiMDEuanMiOjg4MDM9PT1lPyJfX0xBTkdfXy44ODAzLjIxYzJjYTgyOTEyMmU5MTVkZjIzLmpzIjoxOTkxNj09PWU/Il9fTEFOR19fLiIrZSsiLjQyZWUxZTk4ZDc1MzBhYTU2NTUzLmpzIjo2MTA4OD09PWU/Il9fTEFOR19fLiIrZSsiLjA4MzNmM2YxNzM1OGRkMTdlN2ZkLmpzIjozNTE1MD09PWU/Il9fTEFOR19fLiIrZSsiLjdiMGNmM2YwZmIwZDQ4YTU0MTg2LmpzIjoxNTk5OD09PWU/Il9fTEFOR19fLiIrZSsiLjVmYjFlN2JlYzc1NTcyYzAxMGExLmpzIjo2NTI1OT09PWU/Il9fTEFOR19fLiIrZSsiLmE2Njg5MzUwNTZhYWU5OWMzMzQxLmpzIjo4NTk0Mz09PWU/Il9fTEFOR19fLiIrZSsiLjM1Y2UwN2ZlOWViYzQ4NmIwMzAxLmpzIjo4NjgwOD09PWU/Il9fTEFOR19fLiIrZSsiLjQ4NzJlNjU3MmZlYTMwNDE0NWI5LmpzIjo0OTUwMT09PWU/Il9fTEFOR19fLiIrZSsiLjQwMzRjYWU3ZWFhZDVjZjY5Y2IyLmpzIjo4NzU0Mj09PWU/Il9fTEFOR19fLiIrZSsiLmExYTRhMDBmNGI2YmE0NDFkNmUyLmpzIjo3NzI2Mz09PWU/Il9fTEFOR19fLiIrZSsiLjcwMGYzYTAwYjI5MmRkMjg4YmI4LmpzIjo4MzA4Mz09PWU/Il9fTEFOR19fLiIrZSsiLjg4NDAxNmY2ZGJhMWEwOTRlYzU0LmpzIjo2MzA1MT09PWU/Il9fTEFOR19fLiIrZSsiLmQxN2Y3MmJkZjA4ZTAxOTdiMjJiLmpzIjo1MjMyND09PWU/Il9fTEFOR19fLiIrZSsiLjYyNjVlMDA0ZTAzNjE5NDY5ZmE2LmpzIjo2NTc1MD09PWU/Il9fTEFOR19fLiIrZSsiLmUwN2Y4NmZkZjY3ODE2ZDU4YTk3LmpzIjo2NzQzNj09PWU/Il9fTEFOR19fLiIrZSsiLmE3OTc2NTQ4OWE4NjJiYWY5NTNhLmpzIjo1NDI0OD09PWU/Il9fTEFOR19fLiIrZSsiLmI1MjVjMzAxNWM4NjE4Y2U3NDA4LmpzIjo1NDc4MT09PWU/Il9fTEFOR19fLiIrZSsiLjdhNzNjMTMzYjg4OGUxNmEzYWVjLmpzIjo3MzcwPT09ZT8iX19MQU5HX18uNzM3MC5hMGJmODgwN2RhOGQzNTlhMTQ5Yy5qcyI6MTQyMj09PWU/Il9fTEFOR19fLjE0MjIuYzU2MWU0NTkyN2M2Njg4MzhkM2EuanMiOjE3ODU5PT09ZT8iX19MQU5HX18uIitlKyIuNGE1ODBhY2U0OTE0ZjExNWNkMDcuanMiOjE2Mzc3PT09ZT8iX19MQU5HX18uIitlKyIuNGVhZDdiYmRlM2VlZDljYjJlY2IuanMiOjQyMjM2PT09ZT8iX19MQU5HX18uIitlKyIuZTg4NTUwNjljNzBlZTZiNjRlYzcuanMiOjM4NTU1PT09ZT8iX19MQU5HX18uIitlKyIuODQ3NzIyMDc2ZmQwMjExNjQyNmYuanMiOjk5MjIwPT09ZT8iX19MQU5HX18uIitlKyIuNWJmNGZlOTdkYTk2YzZkNGE4OTQuanMiOjYxOTEzPT09ZT8iX19MQU5HX18uIitlKyIuNmQ4MTczNzYyNzA5MzMzYzdhZGEuanMiOjY0MzYxPT09ZT8iX19MQU5HX18uIitlKyIuMzVkZjNiMjdkNDVlZTgyNjI0ZmUuanMiOjUxMzE0PT09ZT8iX19MQU5HX18uIitlKyIuMTAzMTQzYTZiMjg3ZmVkZWMwYzIuanMiOjk1NzcyPT09ZT8iX19MQU5HX18uIitlKyIuYzI4NDVlN2Q2YTIzYjU0NTliYTUuanMiOjY4NjcyPT09ZT8iX19MQU5HX18uIitlKyIuMjUzMzhhYjE2NzBlMDMwNzUyZWIuanMiOjI4ODc1PT09ZT8iX19MQU5HX18uIitlKyIuZWRlMWI3MjE4MTY5M2QxYWNmNGYuanMiOjczMTkwPT09ZT8iX19MQU5HX18uIitlKyIuNDI3NzkyYzcxOGEzZjU5MThkMDUuanMiOjk0NzAyPT09ZT8iX19MQU5HX18uIitlKyIuNmM1ZDUyOWVhY2Y1OGYxY2QyYzEuanMiOjEyMzkzPT09ZT8iX19MQU5HX18uIitlKyIuOGNhMDRmYTc4ZjA0M2E4Yjk5YWMuanMiOjQ3MDMwPT09ZT8iX19MQU5HX18uIitlKyIuOWFhNmUwZmY0ZWRkYTE2ODc1MzYuanMiOjkwMjUxPT09ZT8iX19MQU5HX18uIitlKyIuMjkxYzVkMGYxZWYwOTdiMDljMTguanMiOjQwNTU3PT09ZT8iX19MQU5HX18uIitlKyIuNzRlYzZhZjVmMTg5ZWExYjRiYmEuanMiOjI5NjE4PT09ZT8iX19MQU5HX18uIitlKyIuZGQyMDhmYTlkMjZlNzMyODEwOWMuanMiOjQ0MDY2PT09ZT8iX19MQU5HX18uIitlKyIuNjg4ODFlZTU3ZjMwYzQwM2JiMDMuanMiOjQyNTE9PT1lPyJfX0xBTkdfXy40MjUxLmVhZGNlODIwZTIwODFlNDFmZTM2LmpzIjoyOTgyMT09PWU/Il9fTEFOR19fLiIrZSsiLmEwOTkxMWZmNDhmYmIwN2JiNzdkLmpzIjo2MTA2Nj09PWU/Il9fTEFOR19fLiIrZSsiLjNjYjZjNjQyM2M2YjFmYTAxMGRmLmpzIjo3NjM4NT09PWU/Il9fTEFOR19fLiIrZSsiLmEzOGM4ZTkyMTk2MGNlYTQ0MDE5LmpzIjoyNjA1PT09ZT8iX19MQU5HX18uMjYwNS5mNzAwYWY2Y2I4MGIwNmU1NTRkZC5qcyI6OTk4NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi41NTg4ZjJiZGYzNDkxMmVjMTQ0OC5qcyI6OTk3NjU9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZGE2YmRiYjA4ZjZmN2I5YzFkZC5qcyI6MzA1OTc9PT1lPyJfX0xBTkdfXy4iK2UrIi44NGE0YjNlM2NjYjZkN2MyZjIyYS5qcyI6NDU1MjI9PT1lPyJfX0xBTkdfXy4iK2UrIi4zYTY2MGExNDIxMjRhZGY0NTA0My5qcyI6MTAzMz09PWU/Il9fTEFOR19fLjEwMzMuNzM0YmQ3ZGFmZTc3N2NmMmRmNjEuanMiOjg4ODkxPT09ZT8iX19MQU5HX18uIitlKyIuMmY2NjNiZDEyNWRiMjhmMWNiZGEuanMiOjg4NDI9PT1lPyJfX0xBTkdfXy44ODQyLmY0ODQ0YjQ0MDc4MWIxOWU0NTA4LmpzIjoxOTAzND09PWU/Il9fTEFOR19fLiIrZSsiLjMwNTE3MjA0N2U3ZmFiYjUzNDgxLmpzIjoxNjcyPT09ZT8iX19MQU5HX18uMTY3Mi5mY2Y2OTljNDJjYmY2ZGEwNTAzZC5qcyI6MjEzOTc9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNDFmNmM3Yjc2NTdlNTU1NGRmMC5qcyI6MjkxNjk9PT1lPyJfX0xBTkdfXy4iK2UrIi5jMzU3M2RkMzNhYmVlZWViZWYwNC5qcyI6MTg4OTg9PT1lPyJfX0xBTkdfXy4iK2UrIi5kZjg2NzhmYjFmZWY3NzFiNTNhYS5qcyI6MTg2Mjg9PT1lPyJfX0xBTkdfXy4iK2UrIi4zMmIwYmMyMDhkNWUxOTBhMzczMy5qcyI6NzM2MzM9PT1lPyJfX0xBTkdfXy4iK2UrIi4wNWI1ZWZmNDZkNTkxNTcxNGZmYy5qcyI6Njc5NDk9PT1lPyJfX0xBTkdfXy4iK2UrIi45NDAxYWZjYjdiZDQ3N2UzMTlhMS5qcyI6Njg4NjA9PT1lPyJfX0xBTkdfXy4iK2UrIi4zNzY2ZDExMDc4ODEyZDdmMTQ1Ny5qcyI6MTg3ODE9PT1lPyJfX0xBTkdfXy4iK2UrIi4zOGYxMDNjZWIzNTFkNjhjMmY4Zi5qcyI6NDg5MTI9PT1lPyJfX0xBTkdfXy4iK2UrIi4wN2YxM2U2OTRkZGY1NGI0ZGVlYi5qcyI6NjQ0NDE9PT1lPyJfX0xBTkdfXy4iK2UrIi42ZDNhMDdiOWE4MTQwODczMWNjNC5qcyI6MzMzOTE9PT1lPyJfX0xBTkdfXy4iK2UrIi5hZWRkMWQzY2VlZmJlNGNlNjgwMi5qcyI6NTUwMzg9PT1lPyJfX0xBTkdfXy4iK2UrIi5jYWZjZDVlNTA1M2YxMDhlZTYzMS5qcyI6OTM3NTM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iNmRlZWE5OWMyYTlkOTU5NWIzZi5qcyI6Njc1ND09PWU/Il9fTEFOR19fLjY3NTQuYmQxZGNiNWU1MzhkNzVhN2QxN2YuanMiOjkzOTA1PT09ZT8iX19MQU5HX18uIitlKyIuYzhmNjE0YzQxYzIzZjJmYTMwYjMuanMiOjgxNzQ2PT09ZT8iX19MQU5HX18uIitlKyIuNzNlNmU5ZmEzNzEyOTkyYWRmODEuanMiOjc4MzY1PT09ZT8iX19MQU5HX18uIitlKyIuYmEzMDJjMTI0NmY3ODJhZmJmZWUuanMiOjgyMjQyPT09ZT8iX19MQU5HX18uIitlKyIuZTJkZjJhNWQxMzYyZjZjNGEzOTYuanMiOjkxMjc4PT09ZT8iX19MQU5HX18uIitlKyIuNTVjOTRkZTIzNjQxZTBhZmU5NmEuanMiOjIxMDY2PT09ZT8iX19MQU5HX18uIitlKyIuYTgxOWE2MzE4MDEwYTBkOTkyZGMuanMiOjk0MjM3PT09ZT8iX19MQU5HX18uIitlKyIuZTlkZTczNGMwMDBjZTY3MDYxM2IuanMiOjYyNTc0PT09ZT8iX19MQU5HX18uIitlKyIuZDBiODNmZDliODM0YjBiY2MzNzUuanMiOjI0NDUwPT09ZT8iX19MQU5HX18uIitlKyIuZGQzMTBiZmNkNzBkM2JkMWVjMjAuanMiOjkyOTY0PT09ZT8iX19MQU5HX18uIitlKyIuYWE2NzBkZGZkMTY1OTU5NjRhZWIuanMiOjQ1NTk3PT09ZT8iX19MQU5HX18uIitlKyIuNThmYzJlMjJhZjhmMTAyYTQ2MGEuanMiOjEwMzgyPT09ZT8iX19MQU5HX18uIitlKyIuYThlM2Y3MzYzNzY4M2YwN2IxNWIuanMiOjcwODU3PT09ZT8iX19MQU5HX18uIitlKyIuNDAzZTRlM2JiOWI1OTZhZDAzOTcuanMiOjYwMzY1PT09ZT8iX19MQU5HX18uIitlKyIuYjQwN2FkMTYxOGFiNjViOWUxNjYuanMiOjYxODAzPT09ZT8iX19MQU5HX18uIitlKyIuZmY1ODc4OWM0MzVhMDk3MDZjZTkuanMiOjMyOTA9PT1lPyJfX0xBTkdfXy4zMjkwLjE3ZDk1OTMyOGQzYmMwN2Y0M2IxLmpzIjo5MjY1MT09PWU/Il9fTEFOR19fLiIrZSsiLjA4NDNiZjM4YmVlODMxMWM2NzdiLmpzIjo1ODgyMD09PWU/Il9fTEFOR19fLiIrZSsiLjA5YjQxZDJlZDg0Yjc5ZjRmZTI0LmpzIjo2NDUwPT09ZT8iX19MQU5HX18uNjQ1MC42NDc1NTY5ZjYxNGQyOTMyMTY4OC5qcyI6MTc0NDM9PT1lPyJfX0xBTkdfXy4iK2UrIi5iMzVkN2MwZmYxMDA5ZTM0ZTcyNC5qcyI6KHsKMTU1OiJzaG93LXJlcG9ydC1kaWFsb2ctaW1wbCIsMzM4OiJzdHVkeS1lbGxpb3R0LXdhdmUiLDU3NzoiY29udmVyc2lvbi1jb250ZXh0Iiw5OTM6ImxpbmUtdG9vbC1iZXppZXItY3ViaWMiLDExMDA6ImxpbmUtdG9vbC1yZWdyZXNzaW9uLXRyZW5kIiwxMjAzOiJmaW5hbmNpYWxzLXBlcmlvZC1kb2N1bWVudHMtZGlhbG9nIiwxNDA5OiJiYWNrdGVzdGluZy1pbXBsIiwxNDM4OiJsaWdodHdlaWdodC1hbmFseXNpcy1jaGFydC1kZXBzIiwxNDY0OiJzY3JpcHQtdmlldyIsMTUyMToienhjdmJuRW5QYWNrYWdlIiwxNjQ2OiJsZWdlbmQtdmlldy1yZW5kZXJlciIsMTY5OToiY2hhcnQtcmVuZGVyZXIiLDE4MjY6ImxpbmUtdG9vbC12ZXJ0aWNhbC1saW5lIiwyMjg0OiJyZWd3YWxscy1tYW5hZ2VyIiwyNTAxOiJsaW5lLXRvb2wtNXBvaW50cy1wYXR0ZXJucyIsMjg1OToidmlkZW8tanMtc3R5bGVzIiwzMDM5OiJuZXctY29uZmlybS1pbnB1dHMtZGlhbG9nIiwzNTI0OiJsaW5lLXRvb2wtc2lnbnBvc3QiLDM4NTE6InVzZXItYmFuLWZsb3ciLDM5NjE6InByb2ZpbGUtYXBpIiw0ODU1OiJjaGFydC1uZXdzIiw0OTg3OiJwaW5lLXZpZXdlci1pbXBsIiw1MzMxOiJvcGVuLXNoYXJlLXBvcHVwLWltcGwiLDUzNDM6Im9wZW4tYmxvY2staW5mby1tZW51LWltcGwiLDU5MTc6ImxpbmUtdG9vbC10ZXh0LW5vdGUiLDU5Nzk6ImhpcDMtZGlzY2xhaW1lciIsNjQyNToidGhlbWVzIiw2NDg5OiJzaG93LXN0b2NrLWJvbmRzLWRpYWxvZyIsNjg1MjoibGluZS10b29sLWhvcml6b250YWwtbGluZSIsNzM5NzoicGVyaW9kLWZvcm1hdHRlciIsNzYzNzoibGluZS10b29sLXNpbmUtbGluZSIsNzcxODoicGluZS5tb25hcmNoLnY1Iiw4MjA4OiJzaG93LWV0ZnMtZGlhbG9nIiw4Mjk3OiJjdXJyZW5jeS1sYWJlbC1tZW51Iiw4MzM2OiJsaW5lLXRvb2wtZmxhdC1ib3R0b20iLDg2MDg6InN1cHBvcnQtZGlhbG9nLWltcGwiLDg3MDc6InNlcmllcy1jaGFydC1iYXNlIiw5MDc1OiJsaW5lLXRvb2wtYXJyb3ctbWFya2VyIiw5MTA3OiJwdWJsaWNhdGlvbi12aWV3LXBvcHVwLXJlbmRlciIsOTU5OToiY29udGFjdC1hZHZhbmNlZC1jaGFydHMtZGlhbG9nIiwxMDMyNToiZm9ybSIsMTA1MDU6ImxpbmUtdG9vbC1lbGxpcHNlIiwxMDY0MzoibGluZS10b29sLWNhbGxvdXQiLDEwNzA0OiJjcmVhdGUtZGlhbG9nIiwxMDc4ODoibGluZS10b29sLXRyZW5kLWJhc2VkLWZpYi1leHRlbnNpb24iLDExMzA0OiJzaG93LWVjb25vbXktaW5kaWNhdG9yLWRpYWxvZyIsMTE0MzU6Im5vdGVzLWRpYWxvZyIsMTE5MTE6ImxpbmUtdG9vbC1mbGFnLW1hcmsiLDEyMDYwOiJzb3VyY2UtcHJvcGVydGllcy1lZGl0b3IiLDEyMTM2OiJpZGVhLXZpZXciLDEyMjI3OiJ2b2x1bWUtZm9vdHByaW50LXN0dWR5IiwxMjQ0ODoiZGVsYXktc3RhdHVzLXBhbmUtdmlldyIsMTNlMzoiZWRpdGNoYXRyb29tZGlhbG9nIiwxMzEyMzoiZWFybHktYmlyZC1iYW5uZXIiLDEzNjA5OiJnZXQtY2hhdGlkLWJ5LXVzZXIiLDEzNzE5OiJwaG9uZS1jaGFuZ2UtZmxvdyIsMTM3MzI6ImZ1bGxzY3JlZW4taW1hZ2UtZGlhbG9nLWltcGwiLDEzODM0OiJzaG93LXdhdGNobGlzdHMtZGlhbG9nIiwxMzk4MjoicGluZS1kaWFsb2ciLDEzOTkzOiJwdXNoc3RyZWFtLW11bHRpcGxleGVyIiwxNTE2MDoic2hvdy1hbmFseXNpcy1kaWFsb2ciLDE1MTczOiJmaXJlcy1hY3Rpb24tY3JlYXRvcnMiLDE1MTk2OiJzdnAtc3R1ZHkiLDE1NzM0OiJsaW5lLXRvb2wtcG9seS1saW5lIiwxNTc2NzoienhjdmJuQ29tbW9uUGFja2FnZSIsMTYxMjY6ImNhbnZhcy1yZW5kZXJpbmctY29udGV4dC1zYXZlLXJlc3RvcmUtbGVha3MtdXRpbHMiLDE2MjkyOiJtb25hY28uZWRpdG9yLmxvY2FsZS5kZSIsMTY2Nzg6InNjcmlwdC1hY2Nlc3MtcmVxdWlyZWQtZGlhbG9nIiwxNjgxMzoidHJhZGluZ3ZpZXctY29weXJpZ2h0LXdpdGgtYm9yZGVyLWRhdGEtaW1wbCIsMTY5NDk6InN0dWR5LXRlY2huaWNhbHMtc2VhcmNoLWRpYWxvZyIsMTcwMjg6ImRvY3VtZW50LWVhcm5pbmctcG9wdXAtY29udGVudCIsMTcyMjY6InNob3dNYXhGb2xsb3dpbmdzRXhjZWVkRGlhbG9nIiwxNzMzNjoiY29tcGFyZS1tb2RlbCIsMTc1MTU6ImxpbmV0b29scy1saW1pdC1leGNlZWRlZC1kaWFsb2ciLDE3NjMzOiJsaW5lLXRvb2xzLXNwbGl0LWFkanVzdGVyIiwxNzkwOToic2NyaXB0LWZvcm0iLDE4MzA0OiJsdC1pY29ucy1hdGxhcyIsMTgzMTE6InNjcmlwdC1wcmVmZXRjaGVyIiwxOTAxMjoibW9uYXJjaC5jb2xvcml6ZXIiLDE5MTQzOiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW5zIiwxOTIxMzoicHVibGljYXRpb24tdmlldy1pZGVhIiwxOTMxMToidGFrZS1zY3JlZW5zaG90IiwxOTMxNDoib3Blbi1kZWZhdWx0LXNjcmlwdC1kaWFsb2ciLDE5NzIyOiJmbG9hdGluZy10b29sYmFycyIsMTk3Njk6InN1YnNjcmlwdGlvbi1oYXMtY2hhbmdlZC1kaWFsb2ciLDE5ODE2OiJ0b2FzdC1sYXllciIsMTk5Mzg6InN5bWJvbC1saXN0LXNlcnZpY2UiLDIwMjQ3OiJsaW5lLXRvb2wtdHdlZXQiLDIxMTA2OiJtaW5kLXBvcHVwLWVtcHR5LXN0YXRlIiwyMTI2MDoibnNkLXVucGFjay1pbXBsIiwyMTU5NjoibGluZS10b29sLWZpYi1zcGVlZC1yZXNpc3RhbmNlLWZhbiIsMjE3NjY6ImRyYXdpbmctaGludHMtcmVuZGVyZXIiLDIxOTc3OiJsaW5lLXRvb2wtdHJpYW5nbGUiLDIyMDIwOiJzaG93LXBvcnRmb2xpby1kaWFsb2ciLDIyMTYzOiJsaW5lLXRvb2wtdGVtcGxhdGVzLWxpc3QiLDIyMzQ3OiJhZGQtY29tcGFyZS1kaWFsb2ciLDIyNTMyOiJjaGFydC1zb3VyY2UtaWRzLWdldHRlciIsMjI1NDc6ImdvcHJvLWRpYWxvZyIsMjMxMTQ6ImxpbmUtdG9vbC1pY29uIiwyMzc2OToic3VwcG9ydC13aXphcmQtc2hvcnRjdXQtcGFnZSIsMjQwMTM6ImxpbmUtdG9vbC1wcmljZS1ub3RlIiwyNDA0NDoiY29va2llcy1ub3RpZmljYXRpb24iLDI0MTA4OiJvcGVuLXBpbmUtZWRpdG9yLXNvdXJjZS1jb2RlIiwyNDEzNzoibGluZS10b29sLWZpYi1yZXRyYWNlbWVudCIsMjQyNjk6Im1vbmFjby5sYW5ndWFnZS5jbGllbnQiLAoyNDk5MDoibW9uYWNvLmVkaXRvci5sb2NhbGUuamEiLDI1MjM3OiJuZXctZWRpdC1vYmplY3QtZGlhbG9nIiwyNTQ2Mzoic2hvdy13YXJuaW5nLWFsZXJ0cy1tYXgtdG90YWwtY291bnQtZXhjZWVkZWQiLDI1NTU3OiJzaG93LW92ZXJhbGwtd2F0Y2hsaXN0LWFsZXJ0cy1saW1pdC1wb3B1cCIsMjU2Mjg6InNuYWNrYmFyLW1hbmFnZXIiLDI1NjM0OiJsaW5lLXRvb2wtYXJyb3ctbWFyayIsMjU2NDg6ImxpbmUtdG9vbC1yaXNrLXJld2FyZCIsMjYwNjY6ImNvbnRhY3QtcHJpdmFjeS1wb2xpY2llcy1kaWFsb2ciLDI2MDcwOiJsaW5lLXRvb2wtZmliLXNwZWVkLXJlc2lzdGFuY2UtYXJjcyIsMjcwNTI6ImxpbmUtdG9vbC10cmVuZC1hbmdsZSIsMjcxMTg6InRvb2x0aXAtY2hhcnQtY2FyZCIsMjc4OTE6InNlbmQtbWVzc2FnZS1kaWFsb2ctaW1wbCIsMjg0OTg6InByaXZhY3ktcHJlZmVyZW5jZS1kaWFsb2ciLDI4NTA3OiJnZXQtZXJyb3ItY2FyZCIsMjg2NjA6ImZ1bGwtdG9vbHRpcHMtcG9wdXAiLDI4NzE1OiJtb25hY28uZWRpdG9yLmxvY2FsZS56aC1oYW50IiwyODcxODoiZ28tdG8tZGF0ZS1kaWFsb2ctaW1wbCIsMjkwNzQ6InN0dWR5LXppZy16YWciLDI5NzY1OiJpbmRpY2F0b3ItdGVtcGxhdGVzLWRpYWxvZyIsMjk3OTg6ImRvY3VtZW50LWNhcmQtcG9wdXAiLDMwMDM0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5wdC1iciIsMzAzMDQ6ImNvbnRhY3QtZWR1Y2F0aW9uYWwtZGlhbG9nIiwzMDc3NDoibGluZS10b29sLXN0aWNrZXIiLDMwOTQ2OiJhbGVydHMtcmVzdC1hcGkiLDMxMTUyOiJtb25hY28ubGFuZ3VhZ2Uuc2VydmljZXMiLDMyMjczOiJzdHVkeS1waXZvdC1wb2ludHMtaGlnaC1sb3ciLDMyNjEzOiJjb250YWN0LWVudGVycHJpc2UtcGxhbnMtZGlhbG9nIiwzMzEyNDoibGluZS10b29sLXJlY3RhbmdsZSIsMzM0MTA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZS0xIiwzNDE4OToiYnVnLWRpYWxvZy1jcmVhdGlvbi1oYW5kbGVyIiwzNDU1NToic2hvdy1jb250cmFjdHMtZGlhbG9nIiwzNDY0NzoibGluZS1yYW5nZS10b29scyIsMzQ2NTQ6ImxheW91dC1jaGFydC1zeW5jIiwzNDg3OToiaW50ZXJydXB0LWNvbmZpcm0tbW9kYWwiLDM0OTU0OiJzaG93LW9wdGlvbnMtZGlhbG9nIiwzNTM0NDoicHVibGljYXRpb24tY29tbWVudHMtY29udGFpbmVyIiwzNTQ4NToidHBvLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiwzNTUzNToidXNlci1wb3B1cCIsMzU1OTI6ImVycm9yLWxvdHRpZS1hbmltYXRpb24iLDM1NzkwOiJwb3BvdmVyLW1lbnUiLDM1OTIyOiJmYXZvcml0ZS1pbmRpY2F0b3JzIiwzNTk4MDoiY2xlYXItb2xkLXNldHRpbmdzIiwzNjM2NzoiYmFja3Rlc3Rpbmctc3RyYXRlZ3ktZmFjYWRlIiwzNjgwNDoiY2hhcnQtd2FybmluZy1oaW50IiwzNzIxMzoic2hvdy1ib25kLXlpZWxkLWN1cnZlLWRpYWxvZyIsMzc3NTY6ImV4Y2hhbmdlLWFncmVlbWVudC1kaWFsb2ciLDM3ODc3OiJpbnNlcnQtaW1hZ2UtZGlhbG9nIiwzODMzMzoiYm9vdHN0cmFwLW1vbmFjbyIsMzg0NDI6ImNoYXJ0LWFsZXJ0cy1mYWNhZGUiLDM4NDQ5OiJzaG93LXNlYXNvbmFscy1kaWFsb2ciLDM4Nzg3OiJwYWdlLXNuYXBzaG90IiwzOTIwMzoicGluZS1kaWFsb2ctb3Blbi1zdGF0ZSIsMzkyMzk6ImN1cnZlLWNoYXJ0LWNvbnRlbnQtdXRpbHMiLDM5MjUxOiJnZW5lcmF0ZS1hbGVydHMtZmlyZXMtY3N2LWZpbGUtaW1wbCIsMzk0NDI6ImNvbnZlcnQtbWVkaWF0b3Itc3RvcnkiLDM5ODQzOiJsaW5lLXRvb2wtdGFibGUiLDM5ODU5OiJmb290cHJpbnQtcGFuZS12aWV3Iiw0MDEwMToidHYtY29pbnMtZGlhbG9nIiw0MDI0MzoibGluZS10b29sLWFyYyIsNDAyNjY6InB1Ymxpc2gtdG9vbHMiLDQxMDYxOiJtb25hY28uZWRpdG9yLmxvY2FsZS5lcyIsNDEzMjg6InNlcmllcy1pY29ucy1tYXAiLDQxNTI0OiJoaXAzLWRpc2NsYWltZXItZGlhbG9nIiw0MTY3MjoibG9sbGlwb3AtdG9vbHRpcC1yZW5kZXJlciIsNDE4MTQ6InRvYXN0LWFkIiw0MjQwMjoidHJhY2stZXZlbnRzIiw0MjQ0MToic29sdXRpb24taWQtbWFwIiw0MjYyODoibGluZS10b29sLWFuY2hvcmVkLXZ3YXAiLDQyNzA2OiJzaW1wbGUtZGlhbG9nIiw0MjgzNjoid3JhcC1waW5lLXRhZ3MiLDQyOTM0OiJ3aWRnZXQtc2lkZXRvb2xiYXIiLDQzMTgwOiJjaGFydC1zY3JlZW5zaG90LWhpbnQiLDQzNDU4OiJhbGVydC11dGlscy1oYXMtdXNlci1hY2Nlc3MtdG8tZGF0YS1zb3VyY2UiLDQzNDk2OiJsaW5lLXRvb2wtcGF0aCIsNDM5MjY6IndpZGdldC10b3B0b29sYmFyIiw0NDE2MjoidGltZS1mcmFtZS12aWV3LXJlbmRlcmVyIiw0NDE2NToibGluZS10b29sLWNpcmNsZSIsNDQ0Njg6ImxpbmUtdG9vbC1yb3RhdGVkLXJlY3RhbmdsZSIsNDUzMjI6ImxpZ2h0d2VpZ2h0LWNoYXJ0LXByaWNlLXRpbWUtdG9vbHRpcCIsNDU5NDc6ImxpbmUtdG9vbC1nYW5uLXNxdWFyZSIsNDYxNjk6InVwZ3JhZGVEaWFsb2ciLDQ2MjUwOiJsaW5lLXRvb2wtcGFyYWxsZWwtY2hhbm5lbCIsNDYyNjA6InB1Ymxpc2hlZC1pZGVhLWJhbm5lciIsNDYzODM6ImNyZWF0ZS1lcnJvci1kaWFsb2ciLDQ2NjUwOiJ0YWJsZS12aWV3LWRpYWxvZyIsNDY3Mzk6ImxpbmUtdG9vbC1maWItd2VkZ2UiLDQ2NzcyOiJjaGFuZ2UtaW50ZXJ2YWwtZGlhbG9nIiw0NjgzMjoiYWdncmVnYXRlZC1iYXJzLWNoYXJ0Iiw0Njg4MjoidGFibGVjb250ZXh0LW1lbnUiLDQ3MzkwOiJsaW5lLXRvb2wtdGltZS1jeWNsZXMiLDQ3NTM4OiJzdHVkaWVzIiw0NzU1OToibWFuYWdlLWRyYXdpbmdzLWRpYWxvZyIsNDc1Nzc6InNob3ctbmV3cy1kaWFsb2ciLDQ3NjkyOiJsaW5lLXRvb2wtaW1hZ2UiLDQ3NzIzOiJjaGFydC1hY3Rpb25zLXByb3ZpZGVyIiw0Nzk2MToiZGVjbGFyYXRpb24iLDQ4MDAyOiJjb250YWN0LXdpZGdldHMtZGlhbG9nIiw0ODAyNzoidHJpYWwtY2FuY2VsZWQiLDQ4MTc4OiJzdXBwb3J0LXdpemFyZC13YXJuaW5ncyIsNDgyNTU6ImNoYXJ0LWZsb2F0aW5nLXRvb2x0aXAtYWN0aXZhdGlvbi1oaW50Iiw0ODQxMzoic3VwcG9ydC13aXphcmQtaGlnaC12b2x1bWUtaW5mbyIsCjQ4NTUyOiJ2aWRlby1iYW5uZXItZGlhbG9nIiw0OTY1MjoibW9uYWNvLm1vZGVsLnNlcnZpY2UiLDQ5ODM5OiJzb3VyY2UtdGFnLXBvcG92ZXIiLDQ5ODgzOiJicmFuZGluZy1zb3VyY2UiLDQ5OTc0OiJsaW5lLXRvb2wtYmFsbG9vbiIsNTAxODI6Imdsb2JhbC1ub3RpZmljYXRpb24iLDUwMjY5OiJjaGFydC10ZXh0LWVkaXRvci1yZW5kZXJlciIsNTAzMTc6ImxpbmUtdG9vbC1waXRjaGZvcmsiLDUwNjI1OiJnZW5lcmFsLWNoYXJ0LXByb3BlcnRpZXMtZGlhbG9nIiw1MDkyNzoibGluZS10b29sLWdob3N0LWZlZWQiLDUxMjYzOiJ2aWRlby5qcyIsNTE2ODY6ImN1c3RvbS1pbnRlcnZhbHMtYWRkLWRpYWxvZyIsNTIwODY6ImxpbmUtdG9vbC1nYW5uLWNvbXBsZXgiLDUyMDk0OiJzeW1ib2wtbGlzdC1jb250ZXh0LW1lbnUiLDUzNTQ3OiJwcm9tb3Rpb24tZGlhbG9nIiw1Mzc3MDoiZ2V0LW1lZGlhdG9yLWFwaSIsNTM4ODE6ImdvLXRvLXRyYWRpbmd2aWV3LXJlZmVycmFsLWRpYWxvZyIsNTQxNjA6InNob3ctcGluZS1kaWFsb2ciLDU0NjE1OiJyZWZlcnJhbC13ZWxjb21lIiw1NTM1NjoiZ2xvYmFsLW5vdGlmaWNhdGlvbi10b29scyIsNTUzODE6ImNoYXJ0LWJvdHRvbS10b29sYmFyIiw1NTk2MDoiY29udGFjdC1zZWN1cml0eS1yZXBvcnQtZGlhbG9nIiw1NjAwODoibmV3cy1kZXNjcmlwdGlvbi1kaWFsb2ciLDU2MzgyOiJ3aWRnZXRiYXIiLDU2NDA5OiJsaW5lLXRvb2wtZ2Fubi1mYW4iLDU2OTQ2OiJvcGVuLXJlcGxheS1wcm9wZXJ0aWVzLWRpYWxvZyIsNTcyMzQ6ImxpbmUtdG9vbC1maWItc3BpcmFsIiw1NzQ4NDoicHJvZHVjdHMtYnV0dG9uIiw1NzYzOToibWluaS1jaGFydC1zeW1ib2wtZGF0YSIsNTc2NzQ6ImFsZXJ0cy1jaGFydC1hY3Rpb24tY3JlYXRvcnMiLDU3NzE0OiJ1c2VyLXN0YXR1cy1kZWNsYXJhdGlvbiIsNTg0MTg6InNob3ctZG9jdW1lbnRzLWRpYWxvZyIsNTg2MTM6ImNoYW5nZS1wbGFuLWRpYWxvZy1pbXBsIiw1ODgxNzoidmFsaWRhdGUtaW50bC1hZGRyZXNzLWRpYWxvZyIsNTkzMjg6Imx0LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDU5NTA3OiJwdWJsaWNhdGlvbi1hZHZlcnRpc2VtZW50Iiw1OTYzMDoiYXN5bmMtZ3ppcC53b3JrZXIiLDYwMzE3OiJiYWNrdGVzdGluZy1zdGF0aWMiLDYwNDkzOiJ3YXRjaGxpc3Qtd2lkZ2V0Iiw2MDU0ODoiZWRpdG9yLndvcmtlciIsNjA5Njk6ImVycm9yLXJlbmRlcmVyIiw2MTEyNjoiZ2V0LXNjYW4tZGF0YSIsNjE1MzM6InN0b3J5LWl0ZW0tdHJhbnNmb3JtIiw2MTg3NzoibGluZS10b29sLWJlemllci1xdWFkcm8iLDYyMDY4OiJmaW5hbmNpYWxzLXNvbHV0aW9uLWlkLW1hcCIsNjIyMzQ6Im5zZC1pbmZsYXRlLXBha28iLDYyMzYzOiJtb25hY28uZWRpdG9yLmxvY2FsZS50ciIsNjI1NTc6InN1cHBvcnQtd2l6YXJkLXdoYXRzLW5ldy1wYWdlIiw2MjgxMToid2FybmluZy1wb3B1cC1pbXBsIiw2MjkxNDoidm9sdW1lLWZvb3RwcmludC1zdHlsZS1wcm9wZXJ0eS1kZWZpbml0aW9ucyIsNjI5NDM6InJlYWN0LXBvcHBlciIsNjI5OTc6ImxvbGxpcG9wLWNoYXJ0LWV2ZW50cyIsNjMwODg6InBpbmUubW9uYXJjaC52MyIsNjMwOTQ6InN5bWJvbC1kZXRhaWxzIiw2MzE1OToic3RhY2tlZC1jb21wYXJlLXN5bWJvbHMtY2hhcnQiLDYzNTk1OiJ1c2VybmFtZS1oaW50cy1saXN0Iiw2MzYwNDoibGluZS10b29sLXBvc2l0aW9uIiw2Mzg3NToiY3JlYXRlLXB1Ymxpc2gtdW50cnVzdGVkLXN0cmF0ZWd5LWRpYWxvZyIsNjM4ODU6ImN1cnJlbmN5LWxhYmVsLW1lbnUtZXZlbnRzIiw2Mzk2ODoic3ltYm9sLWluZm8tZGlhbG9nLWltcGwiLDY0MTU4OiJsaW5lLXRvb2wtY3Jvc3MtbGluZSIsNjQxODU6Im1vbmFjby5lZGl0b3IubG9jYWxlLnBsIiw2NDU4ODoibGluZS10b29sLWZpYi10aW1lem9uZSIsNjQ2MzI6Im9mZmVyLWJ1dHRvbi1sb2dpbi1zdGF0ZS1jaGFuZ2UtaW1wbCIsNjQ2NDQ6InJlYWN0Iiw2NDg5MDoibGluZS10b29sLWJhcnMtcGF0dGVybiIsNjU1ODg6ImNoYXJ0LXdpZGdldC1ndWkiLDY1NjIzOiJwb3Atb3ZlciIsNjU2NDY6ImZvcmVjYXN0LXF1b3Rlcy1zbmFwc2hvdGVyIiw2NTkwOToicGVyc2lzdGVudC1sb2dnZXIiLDY1OTQ3OiJ2YWxpZGF0ZS1hZGRyZXNzLWRpYWxvZyIsNjYwNDA6ImxpbmUtdG9vbC1jb21tZW50Iiw2NjI4NDoibWFuYWdlLWFjY2Vzcy1kaWFsb2ctY29udGFpbmVyIiw2NjM5OToic25vd3Bsb3ctdHJhY2tlciIsNjY0NzI6InB1YmxpY2F0aW9uLXZpZXctcG9wdXAtbWFuYWdlciIsNjY2ODc6InJlY2FwdGNoYS1wb3B1cCIsNjY4NjY6InRwby1zdHVkeSIsNjc0ODQ6InNob3ctYWx0ZXJuYXRpdmUtZW1haWwtcG9wdXAiLDY3OTU4OiJwaW5lLWVkaXRvci1kaWFsb2ciLDY4MTU1OiJpbWFnZS1kaWFsb2ciLDY4MjAxOiJob3RsaXN0LXdpZGdldCIsNjgzODE6InN0dWR5LXByb3BlcnR5LXBhZ2VzLXdpdGgtZGVmaW5pdGlvbnMiLDY4NDgxOiJzeW1ib2wtc2VhcmNoLWRpYWxvZyIsNjg1MTk6InNob3ctZm9yd2FyZC1jdXJ2ZS1kaWFsb2ciLDY4OTgyOiJhbGVydHMtd2FybmluZy1kaWFsb2ciLDY5MjQxOiJtb25hY28uY29uZmlndXJhdGlvbi5zZXJ2aWNlIiw2OTQ4NjoiY2xlYXItY29udmVyc2F0aW9uLW1vZGFsIiw2OTg3NDoibG90dGllLndvcmtlciIsNjk4ODE6Indyb25nLWFjY291bnQtZGlhbG9nIiw3MDA1OToibGluZS10b29sLXZvbHVtZS1wcm9maWxlIiw3MDUzMjoiaW52b2tlLWFsZXJ0LWVkaXRvciIsNzA5MTc6ImVkaXRvci1iYXNlLWxheW91dCIsNzExODU6ImJhc2ljLXF1b3Rlcy1zbmFwc2hvdGVyIiw3MTE5MjoicXVvdGUtdGlja2VyIiw3MTMxOToiYWxlcnRzLWNvbGxlY3Rpb24iLDcxMzc1OiJwcmljZS1zY2FsZS1tb2RlLWJ1dHRvbnMtcmVuZGVyZXIiLDcxNTY1OiJwdWJsaWNhdGlvbi12aWV3LXNjcmlwdCIsNzE1OTY6ImxpbmUtdG9vbC1nYW5uLWZpeGVkIiw3MTYzMjoibGluZS10b29sLXRyaWFuZ2xlLXBhdHRlcm4iLDcxNjYyOiJsaW5lLXRvb2wtaG9yaXpvbnRhbC1yYXkiLDcxNzUzOiJjaGFydC1leHBvcnQtZGlhbG9nIiw3MjExMToicGluZS5tb25hcmNoLnY0IiwKNzIxODY6ImxpbmUtdG9vbC1wcmVkaWN0aW9uIiw3MjI2NDoiYWxlcnRzLWVycm9yLXByZXNlbnRlciIsNzMyMzQ6InN0dWR5LWlucHV0cy1wYW5lLXZpZXdzIiw3MzIzNjoicGxheWVyLWN1c3RvbWl6ZXIiLDczMzAwOiJjb250YWN0LWJyb2tlcmFnZS1pbnRlZ3JhdGlvbi1kaWFsb2ciLDczMzk3OiJsaW5lLXRvb2wtcHJpY2UtbGFiZWwiLDczNDgwOiJmaXJlcy1hY3Rpb25zIiw3MzY0NDoiaWdub3JlLXVzZXJzLWRpYWxvZy1saXN0Iiw3MzY3ODoiZGV0YWlscy1tZXRyaWNzLWFjdGlvbiIsNzQyMTg6ImFsZXJ0LWxhYmVsLWNvbnRleHQtbWVudS1hY3Rpb25zIiw3NDM0MToidGVjaG5pY2Fscy1kaWFsb2ctY29udHJvbGxlciIsNzQzNjQ6ImNvbnRleHQtbWVudS1yZW5kZXJlciIsNzQ0MDk6ImxpbmUtdG9vbC10cmVuZC1saW5lIiw3NDUyMzoic2hvdy1mb3JlY2FzdC1kaWFsb2ciLDc0NTcwOiJsaW5lLXRvb2wtZWxsaW90dCIsNzQ4Nzg6ImxpbmUtdG9vbC1maWItY2hhbm5lbCIsNzQ5NjI6InNob3ctdGVjaG5pY2Fscy1kaWFsb2ciLDc1NDM5OiJnZW5lcmFsLXByb3BlcnR5LXBhZ2UiLDc2Mjc0OiJzaG93LWZpbmFuY2lhbHMtZGlhbG9nIiw3NjY2MzoibW9uYWNvLmtleWJpbmRpbmcuc2VydmljZSIsNzc0Nzk6ImxpbmUtdG9vbC1icnVzaCIsNzc1ODg6ImNoYXJ0LWV2ZW50LWhpbnQiLDc4NzE3OiJwaW5lLm1vbmFyY2gudjYiLDc4ODQxOiJtYXRjaGVyUHduZWRGYWN0b3J5Iiw3ODg3NzoicGF5bWVudC1vcmRlci1kaWFsb2ciLDc4OTA1OiJzZWFzb25hbHMtY2hhcnQiLDc5MTM0OiJsaW5lLXRvb2wtcHJvamVjdGlvbiIsNzk0NzY6ImFsZXJ0cy10cmFja2VycyIsNzk2MTU6InZlcnNpb24taGlzdG9yeS1kaWFsb2ciLDc5NjcxOiJzaG93LXRoZW1lLXNhdmUtZGlhbG9nIiw3OTkwMjoibHQtc3RpY2tlcnMtYXRsYXMiLDgwNzYyOiJjaGFydC1mbG9hdGluZy10b29sdGlwIiw4MDkxMjoiZGV0YWlscy1kaWFsb2ctcmVuZGVyZXIiLDgwOTM5OiJ0cmFuc2xhdGVkLXN5bWJvbC1kZXNjcmlwdGlvbiIsODEwNzY6Im1vZGVyYXRvci1hY3Rpb25zLWNvbnRhaW5lciIsODEwOTc6ImFsZXJ0LWxhYmVsLWFjdGlvbi1jcmVhdG9ycyIsODE0OTU6Imx0LXBhbmUtdmlld3MiLDgxNTU0OiJtb25hY28uZWRpdG9yLmxvY2FsZS5ydSIsODE2MDU6ImFkdmFuY2VkLWNoYXJ0LWxvbGxpcG9wcyIsODE3NTg6ImxpbmUtdG9vbC1jeWNsaWMtbGluZXMiLDgzMTE5OiJsaW5lLXRvb2wtaGVhZC1hbmQtc2hvdWxkZXJzIiw4MzE3OToiY2hhdC1tZXNzYWdlIiw4MzQwODoib24tcHJpdmF0ZS1tZXNzYWdlLWJ1dHRvbi1hY3Rpb24iLDg0MDcwOiJzaG93LWVycm9yLWRpYWxvZyIsODQyMDY6InRpbWVyLndvcmtlciIsODQ0MzY6ImxpbmUtdG9vbC1pZGVhIiw4NDY5MjoibHNwLndvcmtlciIsODQ4Mjc6InB1Ymxpc2hlZC1jaGFydHMtdGltZWxpbmUtdG9vbHRpcCIsODQ5NTI6Im9iamVjdC10cmVlLWRpYWxvZyIsODUwNTc6ImFsZXJ0cy1zZXNzaW9uIiw4NTIyNzoib3BlbmVkLXNjcmlwdHMiLDg1NDgwOiJhbGVydHMtYWN0aW9ucyIsODU2NTI6ImhhbW1lcmpzIiw4NTk3NDoic2lnbmluLWRpYWxvZyIsODYwMDE6InBheXdhbGwtbWFuYWdlciIsODYyMzc6ImxpbmUtdG9vbC1hYmNkIiw4NjQxMzoicHVibGljYXRpb24tdmlldy12aWRlbyIsODY3NDA6InBlcmZvcm1hbmNlLXRlc3QtbW9kZSIsODY5MTQ6InNwaW5uZXIiLDg3MTk2OiJsaWdodHdlaWdodC1taW5pY2hhcnQtc3R1ZHktZGF0YS1zb3VyY2UiLDg3NTA5OiJtZXNzYWdlLWRpYWxvZyIsODc2MDc6ImxpbmUtdG9vbC1kaXNqb2ludC1jaGFubmVsIiw4Nzg1MToic3ZwLXN0eWxlLXByb3BlcnR5LWRlZmluaXRpb25zIiw4ODExNjoiaW52aXRlLW9ubHktZGlhbG9nIiw4ODM1ODoic2VyaWVzLXBhbmUtdmlld3MiLDg4NDgzOiJsaW5lLXRvb2wtb3JkZXIiLDg4NTkwOiJvcGVuLXByaWNpbmciLDg4NjQwOiJzdXBwb3J0LXdpemFyZC1tYWluLXByb2JsZW0iLDg4Njk3OiJsaW5lLXRvb2wtZW1vamkiLDg5NDY3OiJjb21wYXJlLXN5bWJvbHMtY2hhcnQiLDg5OTYzOiJtaW5kLXBvcHVwLXJlbmRlciIsOTA0MTU6InN5bXBob255LWNvbW11bmljYXRpb24iLDkwNDcwOiJsaW5lLXRvb2wtdHJlbmQtYmFzZWQtZmliLXRpbWUiLDkwNTU4OiJsaXF1aWRhdGlvbi12b2x1bWUtc3RyZWFtIiw5MDgxMDoiYWRkLW1pbmktY2hhcnQtY29weXJpZ2h0LWltcGwiLDkwODY0OiJ1c2UtdXNlci10aGVtZSIsOTA4ODA6InJlbmRlci11bnN1YnNjcmliZS1kaWFsb2ciLDkxMjkyOiJwYXl3YWxsLW9wZW4iLDkxNjY4OiJzdHVkeS1wYW5lLXZpZXdzIiw5MTgzMzoiZW5kLW9mLXNlcmllcy1iYW5uZXIiLDkyMjI5OiJhbGVydHMtYWN0aW9uLWNyZWF0b3JzIiw5Mjc0Njoib3Blbi1zY3JpcHQtZGlhbG9nIiw5Mjc4NjoicmVhZG9ubHktbGlzdC1ub3RpZmljYXRpb24iLDkyODE3OiJtb25hY28uZWRpdG9yLmxvY2FsZS5mciIsOTI5MTY6Im9wZW4taW1hZ2UtZGlhbG9nIiw5Mjk2ODoiY2hhdGJvdCIsOTMwNjY6ImRpc2Nvbm5lY3QtbWVzc2FnZXMiLDkzMTU4OiJtb25hY28uZWRpdG9yLmxvY2FsZS5pdCIsOTMyMDY6InB1YmxpY2F0aW9uLXZpZXctZXJyb3IiLDkzMjQ4OiJhbGVydHMtcmVzcG9uc2UtbW9ja3MiLDkzMjc5OiJtaW5pLWNoYXJ0LWJhci1idWlsZGVyIiw5MzM0MDoiZGVsZXRlLWxvY2tlZC1saW5lLWNvbmZpcm0tZGlhbG9nLWNvbnRlbnQiLDkzNTI4OiJ0YWtlLWNoYXJ0LWltYWdlLWltcGwiLDkzNzY1OiJsaW5lLXRvb2wtdGhyZWUtZHJpdmVycyIsOTM4MDE6InRwby1wYW5lLXZpZXciLDk0MDg1OiJzaG93LWNvbW11bml0eS1kaWFsb2ciLDk0ODIyOiJzaG93LWRlcml2YXRpdmVzLWRpYWxvZyIsOTUwNjI6ImxvbGxpcG9wLWZ1dHVyZXMtY29udHJhY3QtZXhwaXJhdGlvbiIsOTUyMDc6InNub3dwbG93LXRyYWNrZXItYmFzZSIsOTU2MzQ6InBpbmUtcmVmZXJlbmNlLWRpYWxvZyIsOTU3NTY6InR2LWNvaW5zIiw5NTc2MDoibGF0ZXN0LXVwZGF0ZXMtdG9vbHRpcC1zdHlsZXMiLDk2MDc1OiJsb2xsaXBvcC1sYXRlc3QtdXBkYXRlcyIsCjk2MTExOiJkZWxheS1zdGF0dXMtdmlldy1tb2RlbCIsOTYzMzc6ImNvbnRhY3QtdHJhZGluZy1lZGl0aW9uLWRpYWxvZyIsOTY0Mjc6Im1vbmFjby5lZGl0b3IubG9jYWxlLmtvIiw5NjUxMzoibW9uYWNvLnZzY29kZS5sYW5ndWFnZS5jbGllbnQiLDk2NzI3OiJsYXp5LWpxdWVyeS11aSIsOTcyMDI6ImdvcHJvLW9yZGVyLWRpYWxvZyIsOTg1NTc6ImxpbmUtdG9vbC1ub3RlIiw5ODgzMDoidHdvLWZhY3Rvci1hcGkiLDk5ODA1OiJjb250YWN0LWFkdmVydGlzaW5nLWRpYWxvZyJ9W2VdfHxlKSsiLiIrezE1NToiYzhkODlmY2ZkZDdmNzFlMjE2ZDciLDMzODoiMTFjMTZhNzFkNGY1Mzk2OGQzNWIiLDU3NzoiOWEzOTYxYzE0ZjIyOTNmOTA5ZWMiLDk5MzoiYTc4YTRkY2E4ZTI0NDhmOGM2NzgiLDExMDA6IjMxN2VmZGMyOTg4ZjNhNGY2NzA5IiwxMTI4OiIzYTJmZDE3MzYzM2Y0NmY5YTBmYiIsMTIwMzoiOTYwMjRkNzJkYTQzNmUxZGIzMjciLDEzMzE6IjU0ZmQyYTU5NTJjODhmMzU1NWMxIiwxMzU4OiIzZGI3YjVmZWUwNTZlZjc1ZDdkZiIsMTQwOToiNTI4YTIyNDg2YmJjZmQ5ZmMzODEiLDE0Mzg6Ijk5ODQxNzkzMDg0YmNkNjdlNGMyIiwxNDY0OiI1Y2RhNGNkODg1ZDE5MzVjNWRlZiIsMTUyMToiNzI0YjUwYjBhMDg2YThiMWVmYzAiLDE1MzQ6Ijc0ZmZlMWU3MjVhNDY1ZDQzNDFlIiwxNjQ2OiI4YzgwMDA1YWYyMTU4YmQwODNkYyIsMTY2MDoiNTM4NGFmMmRmYTAzMDQ3ZTVkNTIiLDE2OTk6IjI1YjUzYTkyODVmMGExODhkNDA3IiwxODI2OiJhYjMwOGEyNjYwMWQ0ZmRmYzg5YiIsMjI4NDoiYzQ0YWE5MjY3YmU4ZGMxYzcxNzkiLDI1MDE6IjkzMmQ5NTRhMjY5M2Q4OGY2NWU2IiwyODUxOiJlNmJmMjAwMGQ0ZmI0YzgxMDAxMiIsMjg1OToiYjQwODQwYzU3ODA0YTRmZWY5Y2YiLDI5Nzc6IjQ4ODYzODRhYTZhOWYxZDE4Y2I0IiwzMDM5OiIyZmUyODdmYWJmZGU1ODgzYWU0NyIsMzM2NzoiYjdjMTI1MWZkMGI2OWMzMjE2NDIiLDM0MTc6IjVmZmNmN2Y2YTM2MTI1NDljYjVkIiwzNDY3OiI4OTU1MGMyYjkxZGRjNDgwMjkwOSIsMzUyNDoiYjJhYWFiOWVhMWFhMzIyMzA0MzUiLDM4MDY6ImE0ZTIyZjk0ZTRhNmY1ZDM5YWYwIiwzODUxOiJiYjNkNzkxZjgzZGUzNjZlZjZhMiIsMzk2MToiZjNiMGNlZjNhYzljZDhkMTEwMGQiLDQzMjM6ImY2MWNiNTIzYzllNWExZTBjNTNmIiw0NTUyOiJjOWRhYWZmZTMyOGQxNTRiYmJkNSIsNDg1NToiZThlYmE5YzZkNTMzM2YzNDVjOGUiLDQ4NzY6IjI3NGQ1NWEwMmQzMjQwODc2ODc2Iiw0OTg3OiIxYmY1YzI0NWZjYjkyMDEwODA4YiIsNTMzMToiN2U2ZmE2NGYxMGE0NDE4NGI3MGEiLDUzNDM6Ijc2YWI5NzQwYTFiMzRkZjQyODcwIiw1MzU1OiIyZWEzYzQ4YTMxOWVlMGZmNWI3OCIsNTgwODoiZjQ4MDBmYTkyNDZmNDA0NjIxZWUiLDU5MTc6ImMxMDAzZjM2ZjBiNDMwMTk0ZDNiIiw1OTc5OiI0ZjNlM2JmOWMzNDVjM2YzZTA3YSIsNjQyNToiYjcyZGI1MGM2OTUxZjZlM2U5OWQiLDY0ODk6IjdiZWQyMGU0NmNjZDdkYjlmZDM3Iiw2Nzc5OiI3Y2M3NGQ1MzNlOTFiZTJlZTdkOCIsNjg1MjoiMWQ1MDVjZTI2M2Y0ZWYxNGU1YWIiLDcyMTE6IjJmOTM0YjMwY2YzODY1MTcxNDQ2Iiw3Mjg1OiI4YmM4MjkyNjY1MjhmYTc0YWY1YyIsNzM5NzoiMDU5ZTYyMjkyNDAyMzI3MDE2YzQiLDc0OTE6Ijc4MTQ0MTczOGE2Y2QwNjE4ZmRjIiw3NTA0OiIxMjg4ZDFkMjhiMmY0N2Y3YWM0MyIsNzYwODoiOWRkMTQ2NDkyMmMxZTY1MTU2YTgiLDc2Mzc6IjNhMjY1OGEwYzIzM2ZiYjY0N2YxIiw3Njc2OiIwYWYxNjc3MzE5ZGI3MGE3MWNkZCIsNzcxODoiOWExZTRkODM4ZTIyMmEzYTI3M2UiLDgyMDg6ImE2MzYzYmNhYTNiMDIwNWRjYjRmIiw4Mjk3OiI4MGI0YzAwNzhmMjdlN2UzODYxOSIsODMzNjoiMDg4MDU0OWZiNGY5OWMxYWI0MWQiLDg0Njc6IjA4M2RkN2E1MTNkNzdkYjNkMzQ0Iiw4NjA4OiJkYTRjNjljMmFmODRmYjhmYzYyNiIsODcwNzoiMWFhYjlhNTFmNjVmOTQ5NTVjMDEiLDg5Mjc6ImNmYmZjMDM3OGY2ZGVjNjVhMTg0Iiw4OTQ2OiIwYmUyMGNmNWI1NjgzOGJkMWNkZCIsOTA3NToiYWEyZGNhYjQ4MzJkZDgyYjQ5YTIiLDkxMDc6ImY0MTQ5ZjMxOTYzZGNlZjNhNTg0Iiw5MjE0OiJlYWY4MWQ2MTRhMjAxODI0NGY1NyIsOTI3MDoiMzI5MTA2MzViYjM5YzY4NmY1YmUiLDk1OTk6ImU4NjZmYzcxYTRmNjlhZmVhMDliIiwxMDA0MToiYzMwZmRkZmVjNjk0ZGFhNjZlZjQiLDEwMjkwOiIxZjJmMTZkYWM4YTFiNDI5MTA5NCIsMTAzMjI6IjYxZTU3ZWZlMmZiNDA4OGZjYWU1IiwxMDMyNToiMDU0M2M4ODdlYTJiZTYzNzdkOGYiLDEwNTA1OiI5NjJmNmNlYjIyMGIzNjA4OTE3NiIsMTA2NDM6IjY2YTM3YTczMGQwMDdiMDNhYmYwIiwxMDcwNDoiN2ExYThhZDc0NzNkMWVkN2RlODYiLDEwNzg4OiJlYTYwMjk4MjhjOWMwODNkNDJlNyIsMTA5OTk6ImY3MjhjZTEyYmFiMGQxNWRlMWZhIiwxMTMwNDoiM2JkOTU0OGRmMWMxMjgxN2FmZWMiLDExNDM1OiIzNTM1OWU3NDU4YjgyMTI0NWY0NiIsMTE5MTE6IjNhMjM5ZTAyNGNlNjU0YjAxOTg5IiwxMjA2MDoiZGQxYTU2ZWMzMmIyMGYyOTg5YjciLDEyMTM2OiIxMmIwNTVkYTc0MTM1MzVjYjg5NCIsMTIyMjc6IjlkYzY3NjBjYjAzYmE0MWQ2OGYxIiwxMjQ0ODoiNGMxZTQzZGVhMDA4YjkzN2JmYzgiLDEyOTY1OiI0MDZlZTU5ZmEwMDlmMGU5YzI2YiIsMTNlMzoiOWNjMDgxNGQ2NWZjOWMxNDAyM2EiLDEzMDI1OiJhNjBjNDg5MWJmOTllYTQ3NjNjMiIsMTMxMjM6IjMzYzAxZjlkNTBiYTNjZmUxZGFhIiwxMzYwOToiNjQwYWUxNDQzNDkwYjZlZGM0YTUiLDEzNzE5OiIzMzIwOGFkMDk1Y2UyODI0MGE2OCIsMTM3MzI6IjVhZjFlZWE1ZTIwNDg4ZTI5MjA0IiwxMzgwNToiOWEyMDI5ZmIxYTM3N2Y4NmMyNGQiLDEzODM0OiIxMWZjNjU1YmQ5Y2VlNTM4ODQ4ZiIsMTM5ODI6IjAwMTQ0YzE1ODc1MDZjZWY2NWEzIiwxMzk5MzoiM2IxOTljNmFkOGJmNWMzY2FjNjciLDE0ODg5OiI2MjEwYjFjNTZkYzNiMjBjOGZmYiIsMTUxNjA6IjRiZDQzOGFlMjEyNTFlNWRjMDc2IiwxNTE3MzoiZmY5NzNmNDZmZWRjYzIwMWU5ZDAiLAoxNTE5NjoiYjdjZmUzNTk4OTg5ZDQ4ZmEzNzUiLDE1MzI3OiJlMGRhZjA2ZmJkMTc5NjE5ZjI1YyIsMTUzOTQ6ImZhY2Y3NTNlOGNkZmI5YjkwODMxIiwxNTQ1NzoiOGIwMDMxMGNiNTc4YzdhYmJkYmIiLDE1NzM0OiJhZGMyOTQ0N2UzYmVkZWZkYzAwZSIsMTU3Njc6Ijk4ZjhmZTk2YmI3OGZlNTA4ZTA3IiwxNjAzMToiOTk4Njg0NmIwNDNmYjExYjZmYTgiLDE2MDc2OiI2YTYyYTY0YTVhYmYxNTIyNDNhNCIsMTYxMjY6IjY2N2YxZjVhZmIxY2NhOWExNzVhIiwxNjI5MjoiMmE4ZWIxNzM5ZTU4ZGI1YzFlMDYiLDE2Njc4OiIwMzdjMTdmZDZlYWNhNTgxOGVjNiIsMTY4MTM6IjdlNDUyN2JjNTUyMTllYTNhZDc2IiwxNjk0OToiMThhMjU2ZWEzNjUxYzkyNGUzNDYiLDE3MDI4OiI0NjQ5NTg4YzAyYjBmZGE0MmY5ZiIsMTcyMjY6ImFiOTVmZDg4YjJkMTNlN2Y5ZDkwIiwxNzMzNjoiODY3ZTViOTE2NjBhYjQ0ZDExYjMiLDE3NTE1OiI0MTg2MmViMWY5YWJjZDc5ZGUxOCIsMTc2MzM6ImNkMzIwYTA4ZDdhZmI1YTdhZGE1IiwxNzc3NzoiMTQ2MTFhOGQzNDYwNGU5YWNiMDEiLDE3Nzk3OiJiMmYyOTQ1MDAwYWNhYWYyZDE2NSIsMTc5MDk6IjQ3NWVlYzBlNTA0ZjExZTVjMDc2IiwxNzk5MToiYTMwN2JmZTAwMjM0ZGM0MTliZmQiLDE4MzA0OiI0MTZmMGI3NGNiNGY1N2JjMzY2NiIsMTgzMTE6IjM2ZDE3MjNkZDVmMmNmOTY3MjIzIiwxODUxMjoiYTNiY2RjNzFjNjg2MDFiN2RiZmMiLDE5MDEyOiJiNzZjNTlmZGFjYmFiYWJhZjM0OCIsMTkxNDM6Ijk3NjQwYjk2YTg2NTMyNWVjODkwIiwxOTIxMzoiODFlMjk4Nzc5MDgyNDdjZTRjZGUiLDE5MjYxOiJiZDMzYmIxMDcwNDc4N2I3ZDVlZSIsMTkzMTE6IjYyOGM2ZDNmNzZkYWM4ODJlODJkIiwxOTMxNDoiMjNmNGQ0NDhhMGNmNjBhMjNjNzMiLDE5NDYzOiJjYjlhODI1NzdjZTgxYjQ2OTJkMyIsMTk3MjI6ImJlMjY5ZmQ0OWU5YzI1OGUyZDkyIiwxOTc2OToiYmVlM2NhZjYyMTY4YTk5YjFkZTYiLDE5Nzc2OiIzMjViMjUyMGFjOTBkNTdjNmNmZCIsMTk4MDA6Ijk4ODI0N2E0M2I5MzcwMjFhN2I4IiwxOTgxNjoiZmI3MzI4MmJlNmJhZWE0N2UyM2QiLDE5OTM4OiI1ZTU0MWY5MGJjZWIxYTdhNzU1YiIsMjAyNDc6Ijk1MDg1ZWEwOTJmM2EzYmJhNTA4IiwyMDMzMToiNzQwMzVmZTkyOTcxODFhMTI3ZGIiLDIxMTA2OiI1NGMyODc3ZDZhZGY0MjdkZmJjNyIsMjEyNjA6ImQwOTU1YWFlNzVmODdkM2JkNDIxIiwyMTQyNjoiMTgyNWU3YTg1MGIzZjk1MzllNTgiLDIxNTk2OiJmNDk5YmQwMTM2ZDg4NGVjOGYwMCIsMjE3NjY6IjMzNjQ5ZGY0ODlkMGI4YzMyNDc0IiwyMTk3NzoiOGY1NDE4MDMzYzliZWI5MGU4ZmMiLDIyMDIwOiJlYTZkMDM1ZjRmZGU3YWZhNWQ0ZiIsMjIxNjM6IjMxZDc3NmM3ZDdjYTY2YWI3Njg3IiwyMjI3MToiZWM1M2ExMDUxMjdlNGM0MmQ0YTEiLDIyMzQ3OiI2YTAwNzFhMzkwNzAxOWQ2ZjNmNSIsMjI1MzI6IjBjYTk2ZDBlNWUyNjM2NTA3NWFhIiwyMjU0NzoiMjBjNWM4YWQ3NTg3NzQxNWUxNDkiLDIzMTE0OiIyZWRjYjc5NTRlN2Q4MGE5ZWU2YiIsMjMzNjQ6IjgwMmNkYWRhNzQ4NDU3Y2JmZGQ5IiwyMzc0MzoiNDczMzEzN2FmMmYyMzJhNmEzNGEiLDIzNzY5OiI2NmNlZTY1YTJhODYwYTMwNmQ4OCIsMjQwMTM6IjVjODcyNDUzODI5YTY1MGFiYmZlIiwyNDA0NDoiMzk3NDVhYzQ3ODlkOThkOWY2MDAiLDI0MTA4OiI3NDliNDBkMGMwNjFhMmEwNDUzNiIsMjQxMzc6IjM5NjBiYWRhNGIzZTBiNDdjZTNmIiwyNDI2OToiYzBhNzBlMmU2YTRhZTkxODYzMDQiLDI0Njk4OiJiZDk1NzA3MzA5NWJhYjdkYTU5NiIsMjQ4Nzk6ImNlN2ZlYmRiNGIwZjMwN2UyMWU4IiwyNDk5MDoiNDg2NjlmNWZjODk3YTY3YTNlNzciLDI1MjM3OiJhNmQxMDY4ZWNiZmZjMjA1MDY2OCIsMjU0NjM6IjI1N2E0MGQ0YjRjMWFiYTEwYjdkIiwyNTQ4MjoiYzVlZmZkZDI3MTAxODExMTY1NTgiLDI1NTU3OiI0Yzc4MTkzN2MxMTE0YmRmOTNkYyIsMjU2Mjg6IjA3YjhjYWNkZTliNTBkZTkxOGQwIiwyNTYzNDoiZjNlYTQzMzA4NGI2ZDRlNmMxMTMiLDI1NjQ4OiIzYTUwYTFlZjk4YzJmNTliMzRmMyIsMjU4NTQ6ImE2N2M2ZDVjZjMwZWIyYzkxYzk5IiwyNjA2NjoiMGYxZjFjYjE5YWY5ZmYzYWY4Y2MiLDI2MDcwOiI2NmMzMzk1MzFiODZmOGNkMmNmNyIsMjYxMTg6IjNmNGIwZTVkZTA0NWQ2YmQ4Mjk1IiwyNjE0NToiNzIxMWZmNTgwOGYwYTE4YTFlOWQiLDI2NDczOiJlNjkyZWM0YTUzMjljY2U2MWFjMyIsMjY1MDE6IjVlYzk4NjI0ZWQ3OTE0NjFjZDhhIiwyNjcyMzoiOGE2ODA3MmM3N2VjMDAyNjc5MDUiLDI3MDUyOiJiMzc2OTg1MjEzZGI3NDU5Y2Y3OSIsMjcxMTg6IjhmOTM4NjhlZTZkZGJmNjllNWQ2IiwyNzg5MToiYzBkMjY2YjY2MzJjMGRiODU4NzgiLDI3OTEzOiIyOTE4NjEyMjcyMmNmMGNjYjlkYyIsMjgxNzY6IjIxMzQyODY1ZTc0ZmZiZWZmZjQ0IiwyODQ0MjoiMGIwZTc4YzA4NzVkYjg0NDA3ZDciLDI4NDk4OiJjM2U3ZjQzMDhlMzc4ODU5MDYxMiIsMjg1MDc6ImU5ZTVlZWQxMDhkYzliMGJiNGE3IiwyODY2MDoiNDkzNTFjMjNiNGQyMDkxNmJlOTkiLDI4NzE1OiJlZDI5NmNhNGNlMTA2OTYyN2Y4YiIsMjg3MTg6IjRiMTlmMWZhMGIwOGE5MjkzMGZjIiwyODg2NDoiZjI4ZThlOTQzOGIwMGY5ZDYxZmEiLDI5MDc0OiIxMWYxYTM4ZWJkNmQxNjEzZTQxYSIsMjk3NjU6ImNjNDMwZjQ4OTczZmY4ZDYyZWM2IiwyOTc5ODoiMGFmMGMzNDRmNzRlYjE3YjEwMDUiLDI5ODQ0OiJhOWNjN2U5NzA0ZjkzMWQ2MmJlMSIsMjk4OTY6ImM4MjZlMDIzNTQ3MzVkZTk0ZTk4IiwzMDAzNDoiMWU0NDMxYjg0MDI0ZjExYmRlY2UiLDMwMzA0OiI4OTZiZTI1YWE5MjFhODIxNGUyNCIsMzA0MjE6IjQxMmMzMTlkZGJhZGNjOTk1YzcxIiwzMDY5OToiMTM4NmRmYWE3OGU2ZTVmNmM4N2MiLDMwNzc0OiIzNjliM2I1NjM0NGIzMTQ3ZGRhMSIsMzA5NDY6IjdlYWExZDdmOThlZmZjNTBjZjQ4IiwzMTE1MjoiZmEyMjI3MWVmMzYzMTNkZGMyNjkiLDMyMjczOiIzMjVlMGM3ZTVkY2UwNzVhNjg4YSIsMzIzODc6IjQ3YWNlODNjNjFhODg0MzQxY2Q2IiwKMzI2MTM6IjcyMzBkNzNlZGE2NDk1ZjlhOTBkIiwzMjk3NToiOTgwNzhhNmRmYTFjYzliNjRjYjkiLDMzMTI0OiJhZTUwYTg5ZWI5ODU1MGJhOGE2NSIsMzM0MTA6ImNjZWVhZjc4NWNkOTdlMDgzN2U2IiwzNDA0OToiNTc2MjlkMjM3ZGZhOTAxZDEyMjMiLDM0MTAxOiIwZDA0Y2RiYTM5ZTMzMTNlNDdiMSIsMzQxODk6IjAxNmJjODQ5ZjQ2MGI2ZGNjZjQzIiwzNDU1NToiODI1OWYzYTM4OWFhYzhjNDk2NTEiLDM0NjQ1OiI4NDFlYTYxNjg4ZWViYmJkNjk2YSIsMzQ2NDc6ImE4YWEyZTYwMzdjMmJiMTBlZmUyIiwzNDY1NDoiYTQ3YjBiMjMyZWVjMDZiZTYyMTgiLDM0ODc5OiIxZTZjZjFmNWE5MzU4ODgxZGU2NyIsMzQ5Mjk6IjQwNDkxN2UyNTEyY2ZiOGQxMjdjIiwzNDk1NDoiZWY5ZTY3MGJkMmYxNGM1NTNiOTgiLDM1MjUyOiIzOGI1N2EyYjdhYTA1MWMxMDA5ZiIsMzUzNDQ6IjM5OWQ1ODMwMmUyNWFlMzlmZGRiIiwzNTM5MDoiMjQxZmIxNDFhY2Q2NTVhNWRkYjAiLDM1NDg1OiIwMTZkMGJhY2RhNTJhYTM4ZjBhNyIsMzU1MzU6ImRiNDlkMDNiYzdiMDRkMTk3Mjk0IiwzNTU5MjoiZTI3MTFmNjViNWU0ZTQyNmM5MGQiLDM1NzkwOiIxOTNjZDhhMjg0YjVmNWFkZjE1ZCIsMzU5MjI6ImNiZWU1ZDY2ZDIyMGYzZTg1ZjA1IiwzNTk2NDoiNjc0YmE3ZDI2M2JhOTA0YTcyZmUiLDM1OTgwOiJjMzQwNDJhNGExMGNiNWZiMmUzZCIsMzYzNjc6IjJjODc5NWQzY2FkMzZkYTkzZWUyIiwzNjY4NToiNjkxN2ZjZmY5NjIzNzA3MDY0OTUiLDM2ODA0OiI2ZTdlYjAzYmFmZjhhYzU5Y2YwZiIsMzY5Mzg6IjU4NDU2ZGEwY2RiNGJiOWJiNDg1IiwzNzEwNjoiOWZhYTBkNTlkM2NmMWJiOGY5NzgiLDM3MjEzOiJiYWI3YmMxN2YyZTQzNjM4ODMyYyIsMzcyNTk6ImMyNzQ5MDZkY2EwY2U3OTNiOWQwIiwzNzc1NjoiY2RiZGZhYjRiZjdiMTcxYjZkYTAiLDM3ODc3OiIxYTcxZGNjOTBmOWQwZjI3YTcxOCIsMzgwMTY6IjkwZmY3MTRlMjMzNGRhOGE0NWFhIiwzODA4NjoiOTkwYjAxM2FlMzI1YTliNTA5OWEiLDM4MzMzOiIwY2I1NDE5NzdiYzdlMjk2NTc4ZCIsMzgzOTg6IjAyNTUwYzFhNDhhYzkzNjBjYTlhIiwzODQ0MjoiYjA5ZDkxOTRmOGU0MGU5MDFmMGEiLDM4NDQ5OiJjYjdkMGU1YmVjYWQ1N2NkMzYzYSIsMzg3ODc6ImVlZmFiMWQzYWZiYjMzMjhmZWQ2IiwzODk3MzoiMzc2MmJjZjQ1ZWY5OGJjMTg1MDEiLDM5MTY2OiIyMTM0MzIwOWQ4NzUwZGEzNjkzYSIsMzkyMDM6ImJlMzhjNzdhOTE3ODE2NGI4M2RiIiwzOTIzOToiNTQ0OTViMTFiODEyZTRhZTBjZDEiLDM5MjUxOiIxZTg4OGQ4YTVmYzUxZDRhMjk0MiIsMzk0NDI6IjI3NDA5NjNiNzhlZTRhNGU5NjQwIiwzOTYwNjoiYzkzYzc2NWVmNWM1MWEzMGQwN2QiLDM5NjA5OiI4Y2UwZDc5M2IyYjYwYmU3YTRkNSIsMzk4NDM6IjFkNTZjYTNkYTA0ZjEzYmQwY2UwIiwzOTg1OToiNzgyMDViYTBhYWFiMWFjNTRkNDEiLDQwMTAxOiI0YzFiZGEyYWJiZmFiODQ3MzgyZCIsNDAxNTI6IjY4NjkwMDVlM2EzMzZhNDkyYTk4Iiw0MDI0MzoiOTYyM2Y0ZTRlNTVmYTYzNzViZDMiLDQwMjY2OiIyZmQwNjdjZmY3MDA1ZDExNjQ3NiIsNDA3NTQ6IjczNTY3ZjQ1Y2UzOGMxNWFjYWZkIiw0MTA2MToiNDIyNzJjNzIxODY3NTliZDVlY2EiLDQxMzI4OiJlN2MzNDgxZjNhMDY5ZmFhNmZkMiIsNDE1MjQ6IjUxZjkxMmVmMjA5NWQ3YTJjYTRmIiw0MTY3MjoiOWFlYmZhZDcyMzQ1Yzk1ODYwMjMiLDQxODE0OiJmZWQ1YjgyOGMwMzlmMzYzMjUxZiIsNDIxNzE6IjFjMDVkODE0N2MyMzBkODZiNGZhIiw0MjIxMjoiNDc1NGMyODA0YWI5YTk3OTc3NmIiLDQyMjg4OiI0N2VjYWVjYTEwMTJlZTNlMWQ4YyIsNDIzMjc6IjgxMzc4NmRhZmI5Y2M3YjA2NWNlIiw0MjQwMjoiMWZlN2M3ODE2NzZhNWZlMzllMTYiLDQyNDQxOiI5ZjY2NDM0ZTBkYTUwNWIzMjA5YSIsNDI0NTc6IjMyOGE4NTIzNzdkNjQ0NTcwYjBjIiw0MjYyODoiZGZjNTE2Y2JlYjUxZDVmYzQ2MWMiLDQyNzA2OiI2YjExNWU3Mzc3MjU0M2Y0YmMzMCIsNDI4MzY6Ijg1N2UwNTFmYmY4OGI4ZDcwODljIiw0MjkzNDoiOGQ2Y2EzMGM1N2JjNjYyNzI2NjYiLDQzMTgwOiI5N2YwNmFlYmUyMTA2Yzc0MDIzNCIsNDM0NTg6IjkzNGMxYzdkMjg2Mzg4MTBlNzIxIiw0MzQ5NjoiZjFkOWQ4NTFkOTE4ODJmNTg1MmMiLDQzODI3OiI2OThlZGJjMWQ5ZmM5ZjlmOThhOSIsNDM5MjY6ImQ3ZWQ3Y2RlNWViMzVmMGZlNGI4Iiw0NDE2MjoiMWU2MmJjNzNkZWQ4NTgxMmYzNDMiLDQ0MTY1OiJlNWZjNDJhMWE5MWZkYjY0Y2RjMSIsNDQ0Njg6IjEwZmUzNmExZjczYmJmN2EyMWJmIiw0NDc4MDoiNzlkMjA1MWQzYjg0Y2FlYWI0ZTYiLDQ1Mjc3OiJlYzZlMzYxOTNkMTM5YzVjNWY3YiIsNDUzMjI6Ijg4NTFhMmQyZTE1ZGI5MjFkNDhhIiw0NTk0NzoiYmQ4NWM2ZGRiMDZhMGFkNTAxN2QiLDQ2MTY5OiIxOTAzODc5YzIyMjFmY2FkY2JhOCIsNDYyMTc6IjNkODY0YmI0YTcwZDRkM2Q4NDBmIiw0NjI1MDoiYmRlZWIyMDAwYTdiZThjZmYzNmUiLDQ2MjYwOiI5YWEzM2I1MzEwNjcwMTVjNTM4NCIsNDYzODM6IjZkMGJlYTAxNGUyNDZhOWUwZjJkIiw0NjYwMDoiMjQzMmE4NTNlZjg1YjM1ZDRlMmYiLDQ2NjUwOiI3MTk2ZmFjNGY3NmRhZjVjMGYwMSIsNDY3Mzk6IjVlMDFhY2U0NThhZGMxNjMyNWViIiw0Njc3MjoiN2ExZTIwNWFkOWFkNTk1ZGMyOGMiLDQ2ODIzOiJhYmE1MWJkMTFkMjNkOWNmNjFlMiIsNDY4MzI6IjgyOGVkODY1NGU0OGRjY2ExYzkwIiw0Njg4MjoiMjJiYTExNTNlYTBmZmY3NTUyNzciLDQ3MzkwOiI0MWEwNmI5YTgzMjgwYTgyZTdkZCIsNDc1Mzg6ImM1MGYyOGViOWEzNDZlMDkzMjUyIiw0NzU1OToiZTQxMTYyNzM1YzU4NzdmNzYzZmUiLDQ3NTc3OiJhM2IyNjRmNWQxZDUwM2E1YmFiMyIsNDc2OTI6ImZiZTM4Yzc0N2M4ODk4Mjg3ZTgyIiw0NzcxMToiNzFkMTgwZDliMWI2ODFhYTQxZTgiLDQ3NzIzOiI4ZTcyYjRlZWQxMDY5NTM5YzcxMSIsNDc5NjE6IjdjNjk1YmVmZGQwMDc3MWZjNGVkIiw0ODAwMjoiYmE1MWRkODM2MjFiMGE0MDgzMDciLDQ4MDI3OiI2M2NlZGMzMzZmN2IxMDYzNzAwZCIsCjQ4MTc4OiI1MzlkNTQ2ZDNkZDQ5NjVjNzJkZCIsNDgyNTU6ImY5MjVlZWU4ZGFjMTVhMWQ2YWNhIiw0ODQxMzoiZjNmMWMxNzJlMTU0Mjk0ZDE3NjIiLDQ4NTUyOiI5MzRjZDE0N2JhMzJhNzVmYzQ3OSIsNDg2MjA6IjFkY2Q1MmE5NGQwNGE3ZTEwN2RjIiw0ODY1MjoiOTQ4NzE0OGNhOTczYThjZTRjYWEiLDQ4ODU0OiJiMDczZjRmNTljZTlkZGMwOWRmNCIsNDk2NTI6IjU5OTg4NTU3YjAzYjNjYmVjNGIzIiw0OTgzOToiMjZmZmRlNjk3NTAyNTJhNGQyMmYiLDQ5ODgzOiI4M2I3ZGJjZjMyYzRjY2I0NjZiYyIsNDk5NzQ6ImYwZGJkOGIxYWRiY2ZlZGYxM2Q0Iiw1MDA0OToiNGNjOTBmNWQ3MjY4N2MxZjkyNDgiLDUwMDc3OiIxNjA3YjBiNGM3MzUzOTJjYjc4NyIsNTAxODI6ImE3YTlkNDExYWUyNzNmMzA1MTMyIiw1MDI2OToiZGU3OWZhOTU5M2I1ZWJmNjg2YWIiLDUwMzE3OiIxOWQ1YzcyZDU3NDBkODFhNjg0OSIsNTA2MjU6IjAzZDc3NjI1MGM0ZmZkNGRhMTNjIiw1MDkyNzoiNWY0ZDI1ZDEwZmI2ZjcxNTY3ZTUiLDUxMjYzOiIwY2JiMzBkMTk3NmU4ZmU3MTZiMiIsNTE2ODY6ImE1NWM4ODM1MGU4NTQ3ZTFhNDQyIiw1MjA4NjoiOTNkNTQ5MTgzNmMwODcyY2MwOWEiLDUyMDk0OiIyYWViOGQyZjI3NzgwZmQxMjBjYiIsNTI1MDA6IjAwNTlkOGUwZDFiYmRkMGY5NDhjIiw1MjUwOToiNDA2NTk0NzBlNTFiMDY1ZDUxMzkiLDUyODExOiIyODcwMGQ0MWY0Njg3YmU4MTU5NyIsNTI4NDM6ImEyOTk1ODU2MGVhYjYyY2Q5ZjA3Iiw1MzI5NzoiYTZmNjU0N2NkYWQ4ZDM3OTcxZmMiLDUzNTQ3OiI2MDg3NmQ2ZGQyZWY5Y2IzOWIzYSIsNTM2NTM6IjAzMGFkNTQ5OTcwMTUzNDMwZjkwIiw1Mzc3MDoiYmNjZGYyODhjYTFmMjA1NGUxNDUiLDUzODgxOiIzYmNjMmU0ZmJhM2RiZWVjNjkxMCIsNTQxNjA6IjM4ZGFjYjFlZDNiZTBiMGYwMThhIiw1NDYxNToiYTQ2ZDM5M2NlY2Q1MGMwMjZmOTkiLDU1MjI5OiIyNTcyMTg4MTlmYWE2NjM5YTM4OSIsNTUyNTM6ImEyYWVmZjhhYTliNTk2MzM0YjJmIiw1NTM1NjoiNjU4NTkxOWQ4ZTlkOWU5Yzc4NWMiLDU1MzgxOiI4ZGMzODYwZjViZTVmZWQ5MDRmZCIsNTU5NjA6IjMwZTY0ZjM2MTZiZTIyNTYwY2MyIiw1NjAwODoiNjUxOWMxNDg1ZWNiOWE2ZTc5OWIiLDU2MjE3OiJkZGI4ZDBkZTRhNjkwZWJiMDBlZiIsNTYzODI6ImRiMThlN2M0YzkxZGFmNjkxZGUyIiw1NjQwOToiOGYyNzhjNTM1YzRkOGY5MGU3ZjUiLDU2OTQ2OiIwZmU3MmNhYTk3ZTBhYzJkZTgyMyIsNTcwODI6IjZmY2M2YTU1YjVmMjg0YTljMmMxIiw1NzA5MzoiMjY2MDBjOTNiNjE3MWQ5OWI3MDAiLDU3MjM0OiI1YWRlM2M3ZjQ5MTU1NmJlZmQzYiIsNTc0ODQ6ImE3MGUxZjkyZDQ0MTgzNjk5ODlmIiw1NzQ4NToiODRmNzhiMGYxMzU5YmRlNWNjZTEiLDU3NjM4OiJiZWI4OTg5M2QzNGM3YzM3OTgyNiIsNTc2Mzk6IjM0OWNiZmE3OGQ2MTNjZDRmYjM1Iiw1NzY3NDoiM2IzMzdlMjI3MTYzNjZmZGEyNjEiLDU3NzE0OiIzMjU0ZDkwMDY5MTNhMjY4ZjU2OCIsNTg0MTg6IjdiODdiMDBhNDNjZGI1NjU4MTQ0Iiw1ODYxMzoiMzI3N2RkYTBiMmVhODkyOTY2YmIiLDU4ODE3OiI3ZTY1NDM0MTFiNmMxMzVjN2E4ZiIsNTkzMjg6IjEyNTRkN2ZmN2RkNmI1MTQ0NzM4Iiw1OTUwNzoiN2ZmZWIwZjliMmQyYTU3ZDA4OWYiLDU5NjE5OiJlZTYxN2U5MWY1YmRhMTRjNmFkMiIsNTk2MzA6IjFkYjgxNWUzNWE1MDk5ZDg0ZTI3Iiw1OTY0OToiOTJkZjVjNjY2MDU3MDcxNmM4M2IiLDYwMDExOiIxZTNjMzU0ZDY3MjlhOTgyZWVjNyIsNjAzMTc6IjA3NjY4ZTFkZmRhMWM0YjgyZjgzIiw2MDQ1MzoiMmYzNzY4NGNhNjhkODIzYmQ1N2QiLDYwNDkzOiI1ZTg2NjUzZTI5NTAzNzQ5NjAwYiIsNjA1NDg6IjE0NGMzMGQzMWQyMjhkMTJiNTUxIiw2MDg2NDoiZDE4NjQ5NDJhYzE4MjVjMzA1NjUiLDYwOTY5OiJkYzJjZTcxN2QwZTUwMjhiMzVmYyIsNjExMjY6ImQyMzExMjNlMDBiZWMxMzMwY2RiIiw2MTE4MzoiN2NiZDE2ZmJjN2M1MTkxNTkzNGYiLDYxNDk1OiIzN2VlN2QxODJjZjg0Y2FhNzY4MSIsNjE1MzM6ImFlZjE3MGE2NTM0MWM2OWQ2NmM2Iiw2MTY0NzoiZTkzN2U1Nzc5YmExNWIwOGJiOTIiLDYxODc3OiJmZWRkYjM4MWU0YjNkNThjNTU1MiIsNjIwNjg6IjdmYjVjMzhjMWVjYzQxMjU1ZjJmIiw2MjIzNDoiMjIwYjAxYTQyMmQxZGRjOWE2ZTIiLDYyMzYzOiI5NmEzYjM5MWZhMzRhNmNjYzk3ZSIsNjI1NTc6ImNkMmFiMTNkYjk0YzRiODNjNjliIiw2MjgxMToiYjQ0ZTc1NDFmYjY5N2NiOGE3MTMiLDYyOTE0OiI3ZTU4Nzc5YTdhNDBjZjViYjUyYyIsNjI5NDM6IjU3ODAyMDQzNzRmNGQ5ZjMwODE3Iiw2Mjk5NzoiMTk3ODJhYjY1NjE0ZjZiOWIxYTciLDYzMDg4OiIxNGVkNmExZjNmODBkZmFkYTkxNSIsNjMwOTQ6ImQzNTFmYjg3NjM2MTIyYjAwNjIwIiw2MzE1OToiNmU3ZmYwYjZiYmJhNjYxZGUxM2YiLDYzMjkwOiIyYTMyY2I2YTliMmNmYmIyYTU0OCIsNjM0MDI6ImQzMGMxZTAwM2IwNTQ5MzBkMzJjIiw2MzU5NToiY2IxZjVkYjNiYzY3Mjc5MGIyOWEiLDYzNjA0OiJiYWM0NDhjYmE2NjZmMDNjOTM3OCIsNjM4NzU6IjRmMDVjMTNlNjQ1NDNlMzVkOGE1Iiw2Mzg4NToiNDRiY2FlOGY1NTYyMjUwOTJmMjYiLDYzOTY4OiI0NjNiZDJiZTM5ZjMzNWU4ODIxYiIsNjQwMjQ6IjUxOWMwYTNlZTdhZGFlMmJhYWExIiw2NDE1ODoiMjk0NjNmZmVmZTQ0ODU3YzBjNDAiLDY0MTg1OiI0ZDA2YTEyNDQ2MDlhY2Q0YzNkZCIsNjQ1ODg6IjY0YTVjYTM2ODc2MGU1ZWM1ZWY3Iiw2NDYzMjoiZDlhZjkyMzVjOWJjZmYzOWZjZmUiLDY0NjQ0OiI5MDk5MmM5ZDBkNWRjOTJjODliNyIsNjQ2NDg6IjM2MDkxNjE5Zjg3Yjk3OTI1NjYzIiw2NDcxNToiNWY0OTE0OWNjMzJlOWVmYTE5N2IiLDY0ODkwOiI1ZTljMjVkNDllNGI5NGFiNjc1ZCIsNjUxMDA6ImY0MjJlMWFkMDYwMTZkYjBkNDdhIiw2NTU4ODoiMTM0NjhlNjllMDRhODA1Zjk3Y2YiLDY1NjIzOiJmZjRmYjc0ODQyNWQyYzViOTZkOSIsNjU2NDY6IjFkZTdmYWJiMGQ0ZmUwOWU1ZTU3Iiw2NTkwOToiNWRmNDMyOTk1YTkxYzIzNzQ3N2IiLAo2NTk0NzoiMmVlMGE3MmMxZjI4YjQ5MjNiYjIiLDY2MDQwOiJiM2MzMzIxMjE2YWJhZDIyMThmZiIsNjYyMzU6IjIzYTgwYTJiZmZjY2Y1NDlkZmNkIiw2NjI4NDoiNDI1ODdiYTJmZDk5MGYxMTEzZTMiLDY2Mzk5OiIzZjY4NjU3ZDVmZmUyOWIyMWY2MiIsNjY0NzI6IjVlNjVkNGFlMDc2MjFhZmZlZjVlIiw2NjY4NzoiNjYxNzRhNmJhOWFiMjdhNGMxNWYiLDY2ODY2OiI1YjY0NjBiZGRhZmNkN2ZhNTk1NyIsNjY4ODg6IjA2MDFjYmE1ZGQ4MmY5OGFhZmQwIiw2NjkzMzoiYzFiMWVkN2Y5NzVhYmRlNTY1OWMiLDY2OTg4OiI4NDU4YjZhMGI2YjZkYWI1NGVhNCIsNjcxMjA6ImE1NDk5NTVlOGRkMTY0NmU3YTQ4Iiw2NzIwODoiMTY0YmM1YmQzMzViM2NlNzI5NDIiLDY3NDg0OiI4ZDhiYzUzNGMwZmQyNmU1OTlkYSIsNjc4MTI6Ijg4OThlODQzY2ZhOWZjMWMzZDViIiw2Nzg1MzoiODBmZWEyMzkzMWJmNDY5YjExODciLDY3OTMwOiJmMGQ3N2MxNzIxZGM4ZmEwZDMzMyIsNjc5NTg6ImNlNTVmMjhhZWE4NWFhNThmZmUyIiw2ODE1NToiY2ZhNDAzZmQwZGVhZWU3ZjZjMjMiLDY4MjAxOiJkM2I2NmUxMzJmNTRkNWZlZjUwZCIsNjgzMDQ6ImY2NjU5NjkyNGRmNmU4OTE2M2JlIiw2ODM4MToiZGQzODJjNTdmNDZlYmQ0ZTBiMjEiLDY4NDgxOiIyYmQ1YWQ0YTUwZjExYzU1MTgxZCIsNjg1MTk6IjczNDlmNDBkODcyNzlmZGUyYjgzIiw2ODcyNToiZGY0NmQxNDBmZmNjZTVjYmVkYmYiLDY4NzQxOiJjYjhjMjQ0YmZiNjE0MGNjMTNiZiIsNjg5ODI6IjY4MWIwODk2ZjcwYzQ0MjU1YmE2Iiw2OTAzMjoiNzkyMTgwZDUxZWFhOGQ5OGI5ZTIiLDY5MTIwOiIzMjJhOGEzMTAzZDZmYzBiMTlkZSIsNjkyNDE6IjI3OGJmOWQyNjIxNGEwODU1NDg2Iiw2OTQ4NjoiOGZjMWM3MDg5YjJhNjg0NmJjMDkiLDY5Njk3OiI5NGY3YTNjNjhlNWI3MWU5MGFkMCIsNjk4NzQ6IjBhMjFlODBiNDQxOTY5OWFlODMyIiw2OTg4MToiMDY3N2UxNWMyOGRhZjVkNWVhZmQiLDcwMDU5OiI0NGVlMmQ0NzBmYjdmNWZjMDkyYiIsNzA1MzI6IjY2YjYwYWZhYWZkOWQzYzQyNGQzIiw3MDU5MDoiMDE3ODNiZDliMjRiMTU1YzhlMWUiLDcwNjQ0OiI0NDg3NDNkZWYzMjVmZWI2MTk2NyIsNzA3MTI6IjkyODAyOGM0M2JhOWI3MDdlODExIiw3MDkxNzoiOTI1MDVjYTk4YzhjM2ZlMWM5M2YiLDcwOTU3OiI1ZGVjMmFiYTdmZTY1MDYzMTczZiIsNzExODU6ImI0ZDIxMjJmYmZjMzA3YTFmNzcyIiw3MTE5MjoiM2Y1YmZhNTYwZjNkODY3NmFhMGUiLDcxMzAwOiJiNjcwOTQzMzk0MDMzOWRjMWY2NiIsNzEzMTk6ImZlNjMxMWI4MjJlMDc4ZjNjYzJkIiw3MTM3NToiM2Y2MTY2MTc5Mzc4OTU1OWI2MDUiLDcxNTY1OiI3MzRiMjc2Nzk1NGZhMjM0NDZlYiIsNzE1OTY6IjQ5OTViODZjYzgxYzE5NTA0ZTcyIiw3MTYzMjoiMTcxYjE0ZWQ1ZTc5MGFmZmQ5MzUiLDcxNjYyOiJlOTQ2MWJmODZlZGViZDllNDQxYSIsNzE3NTM6IjNjNGZlNmJmOGE2ZjJjOTljZWIzIiw3MjExMToiNDRlNzk2NGFiMzgxYmNiNTRkYTUiLDcyMTQxOiJkODE3ZjRiZTNiMTE4NWQwZWY0ZSIsNzIxODY6ImE1NmYxOGQ3MjVlYWFlMWZkMDcxIiw3MjI2NDoiZjFhNzNhNTY4MDUwOWVkNDYyZTciLDcyNjc0OiJkY2MxNzUyNTRlMGM2NjYyZGQxNCIsNzMyMzQ6IjhlMzFmMDU1OGFjNTc3NGQwYTJlIiw3MzIzNjoiY2I4MGU5YjM5NDJjOWQxMjZlY2UiLDczMzAwOiI2Mzk1NDI2MDFmN2RmNzgzY2MwNyIsNzMzOTc6ImRhNmRiMDY1NGM3MzhkMThiMDlkIiw3MzQ4MDoiMGNjYTU3MTFhNjIwMTAyNDk3NTIiLDczNTM1OiI5YWY2NTBlMDY5ZDNhYWZkNGY0YyIsNzM1NzM6ImMyMGViZmRiZDkzNzY4OTZmMzhhIiw3MzY0NDoiMmRkNWVmMWNiMWQ1YWIzYTVlNzMiLDczNjc4OiJkYmYxYWM0NmQwYzAwNzljZmY0YiIsNzQyMTg6IjhiZTcwODcyYTYwNWM4ZTZjNzc1Iiw3NDM0MToiMzM0NTUxN2Y2Nzk5ZWU2NDdjMzEiLDc0MzY0OiJkNTFjZWI4ZDEwNmE0OTUxY2NmMyIsNzQ0MDk6ImFkYmQ1ZmEwNzQyOTIyMGYxODUwIiw3NDUyMzoiMTBhYjlhM2UzYzYwOTBmYWI2MmMiLDc0NTcwOiI0Y2M3Njk4YjIzNjdhNjlkMzY0ZCIsNzQ4Nzg6ImNkMjI0NTA0MWNhZGYxYzcwZTBmIiw3NDk2MjoiNDJjYTY2ZDMwM2RkYzcxOGNhN2IiLDc1NDM5OiJhMzJjZTk2Zjg4NTUzNjliMjY0MCIsNzU0ODk6ImQ5YzA5MWUxYWVjMjQzY2FiMWE3Iiw3NTkzMDoiMTQzYzNiMjQxNmE1MDk4OTM3YzkiLDc2MDMzOiI0NTdmYzZhOWRlYTkzYWJjNjRhNiIsNzYyNzQ6ImJkYjEzNzJhNWI2MzYyYjZiMjg4Iiw3NjY2MzoiM2JkZjExYjk4ZGNiM2U0NTQ2NDMiLDc2NzU1OiI5MjFkNjdhNWEwYTg0MTU3OWI5ZSIsNzcwODg6ImZkYjRkYzk1MjgzODgxYTA0MzNhIiw3NzQ3OToiYmFiMDhkZTkyMWRiNmI2YjFhMWUiLDc3NTc4OiJmNmRiNDYwZWQxZThjZTMxZWE4NiIsNzc1ODg6IjRiZWViMjA1OTNlYzM4M2E1N2YxIiw3ODEwOToiNGFlYmYzYjdhYmFmM2E0MzBlMzYiLDc4MzEyOiIwOTBkOGEwMDJiOTQzZDI4YTgyNiIsNzg3MTc6ImMzYzBhYTk1MGNjMmFiZDE0ZDdhIiw3ODg0MToiMmRmOWM2OGUyYjI3ZTg1OTIwYmIiLDc4ODc3OiJkMjAwM2JiOGIzMTNjOGJlODU4OSIsNzg5MDU6Ijk3MTlmZTI1NWQ4YzQzNDg0ZmY5Iiw3OTEzNDoiZDJjNDNhNjdiNzU2Y2U2ZjVmNWEiLDc5MzI2OiJkMGQ1ZTA1NGMyODRmNWRjMGViMCIsNzk0NzY6IjI0MmIxY2U1NWEyOTc5ZmJiYjZiIiw3OTYxNToiYmNhZDZjZmU3ODk3MTBiM2QxNTMiLDc5NjcxOiI3NGMyYzcwNDgwNmU1MjZkMjE4MiIsNzk5MDI6ImRiNzM2MjNjYmNjOTI0OGZjZDM1Iiw3OTk5NjoiMWE3MWFiNWQyNjNjZGJhYTk0OGIiLDgwMjA3OiIzZTVlN2Q2OGM4NzViMzY3Y2FkMCIsODA3NjI6IjY4NzUzMDViNWYzMmU4NTlhM2Q0Iiw4MDkxMjoiMWFiZjRkNmYzZWE5NmU0YjE4NTkiLDgwOTE1OiI2OTQwNGZkYThhYWZjMjc0MmM1NSIsODA5Mzk6ImNlYzVlMzJiNjBkYmM0Mzc5ZTc2Iiw4MTA3NjoiZjBhMDdhMWM5MzY3Yzg1YzZlMjciLDgxMDk3OiJlMjZiZjk1ZjlmMjhkYTI2ZThjOCIsODExODk6IjE3YWNjMmZkYmYyMTk5NWJlNDY2IiwKODE0OTU6IjBhZjUyNjk4ZGI5ZWQzZTg4YWRlIiw4MTU0NDoiYWM5YThiMTUxNTQzZWMzZTE0ZDYiLDgxNTU0OiIyYzMyZjEzN2U1ZThkMzU3MTE1YyIsODE2MDU6ImIxNGNiZjBjMzg0ODQ4ODhjM2M2Iiw4MTc1MDoiMDc4NmZlYTYwN2QwMDdlNzZmMGYiLDgxNzU4OiIyZWE2MTJhZjI4N2MyMzY0Mzk4ZSIsODE4Njg6Ijk2YmUxZDBhNzI4NjNkY2M0N2I5Iiw4MjIzNzoiZGVhODI4NTkxMWQwM2ZiMDZjNWIiLDgzMTE5OiI1ZjRmNzU3MGE0OWQyZGU2NTc4YSIsODMxNTQ6IjhjZjllYzRmMTljNWMwNzAxNjBjIiw4MzE3OToiODBkY2M4OGUzN2VlMjE2Y2E3ZjIiLDgzMjI1OiJhNzgwNTk0OWZiNWE2MzdhOGU0OSIsODM0MDg6IjUwNmZlNjVmMTcwOGU5ZDc5M2Y5Iiw4Mzc4MToiYTQzMjNiMGYwMTgxZTlkZGZhNjAiLDgzOTM1OiIyZWVkNDVhOWNjNjQ3NmFmZDAzNSIsODQwNzA6IjNmZmIwMDcwNjhlMGNjN2M1MDdjIiw4NDIwNjoiODQ2YjJkODY1ODAzOTZhYzBjNzkiLDg0MjY1OiI0YzZkOGY3NzJkNTM4ZjUyODU5OCIsODQzNzE6IjI1NjU0NTJjYWVjYWI5OTgyNTVjIiw4NDQzNjoiMjI0YTgyZTcyZWQ4ZTQ3ZDYxZTgiLDg0NjkyOiJkZmU2NTkwODUwZGQ0NTg3NWQ4ZSIsODQ4Mjc6IjJlNzMyM2JhNTk5NGZlN2EwMDMyIiw4NDk1MjoiYmU3ZTI0ZTkxMjQwYjIyYmYxYmUiLDg1MDU3OiI1NDI0MDFkNmVlYzY5ZmE1Mjc1MSIsODUxMDg6IjVhNjNlMjg0MzY3YzYyOTY2ZDliIiw4NTIyNzoiNWUwZGNkZDc5OTUyNzU5YTgzZGEiLDg1NDM0OiJiODViNzVkZjkxYjIyYmFjOGQzOSIsODU0ODA6ImY1MGViYjk5Zjk2NzVkY2RkNDFkIiw4NTY1MjoiOGYyZmY0M2I2OGJmZTZlYTEyZmQiLDg1OTc0OiJhZWU2MjQ0NDA2NTU4Y2MxNTdkMyIsODYwMDE6IjA4MzcwYWRkNWIwNzgxZjk1OTI4Iiw4NjIzNzoiNDJjNDk3ZDYwMGUzYTQ0NTQ0ODYiLDg2NDEzOiJiNDE2NjYzZWUzYmI0Y2RiZjQ4OSIsODY3NDA6IjQxYjQwYWNkY2Q5MWI0ZGMxZWZkIiw4Njg2MDoiNDc0ODc3YmUwYjIzNWRjOGNiNGMiLDg2OTE0OiJmNjMxNDcxZmFiMDM4MzcxYmFkMCIsODcxOTY6ImIwOGYyYWEyOGJmNDA2OWE4ZjRjIiw4NzUwOToiNTdmMTVhMWZjZDJmNWY2ZjJkY2EiLDg3NTYzOiI0YTM5NDgxNzdjNjQyMGIyOGQ0NSIsODc2MDc6Ijg4MTgzY2U2MTE2MWJmYTYyMDc0Iiw4Nzg1MToiMjVkNDRhMzY5MGNmZGVjOTE4YzIiLDg3ODU4OiI2OTEzN2U2MmJiZDVlMGE2M2FmNCIsODc5OTU6IjkxMWIyNjE4MTc3OGZlY2M0YjRlIiw4ODExNjoiOWNjZjU2ZjA1NzI1MmY1MmU2OTQiLDg4MTcyOiIzYTgxOTA0YWU5NDEyMTkwMmZmZSIsODgzNTg6IjdlOTQ4ODgwNjJjMmU3Njg0YzMxIiw4ODQ4MzoiNzFkOGZmMDVjZTMxMDViYjI4MjIiLDg4NTkwOiIyZjVlMjA0YzdlM2RkOTA2ODc4ZCIsODg2NDA6IjFiNTM5OTA0NDBiMjMxYjcwZjJlIiw4ODY5NzoiY2ZjYjVlNTU4Y2ZhMjMxOWE3NTAiLDg5NDY3OiJmMjUzYjUwNzMwNmU1ZDU1ZTliNyIsODk5NjM6ImIzN2RiNTk0MmE3YjA5NmM2ODdjIiw5MDQxNToiOGUyYWMxZWMyMmEwYTMzNjI0NTIiLDkwNDcwOiJmYzc5MDJiNTQ5ZTg5ZTM1YTU5ZCIsOTA1NTg6Ijg2MzRiYzdjMWVmMjFkNDY1MjM0Iiw5MDgxMDoiZDVjZGE2NGMzYmU5MmNjNTMwNWEiLDkwODY0OiJlMzE4ZDQxZTY0MTMxYTZkNzgyOSIsOTA4ODA6IjkyNTBjMGY0YzY2OTNmZjFjOTUwIiw5MTI5MjoiNjUxNmJhYmEzYTVkOThlNTBiYTkiLDkxNjY4OiI2NjNjNWQ5YjIxZGM1ZTYxODk5OCIsOTE4MzM6IjcyZjhkY2MzYjk4NmQ4OTM1NjM4Iiw5MTk0NDoiY2Q1MWI0OGZhNGQ3NDJhMTE3MjYiLDkyMjI5OiJkZmZkZWZhZTY3ZmI3YWQzM2MwYyIsOTI3NDY6IjQyOTY4NmYxZDRkY2FhMzE0MmFlIiw5Mjc4NjoiMTIwMzQ5NmI3NDM3ZDk2MDU1ZTQiLDkyODE3OiIxZTczZDFmZDk3NTU5YjEzNjI3NiIsOTI5MTY6IjIzOTk2Y2U4MDNkOWExM2U1MDg3Iiw5Mjk2ODoiNGM0NTM2ZDBjNzE2MjJlOTdhYTMiLDkzMDY2OiI1MDk3YjcwYTZjZTE5NjY5OGEyYyIsOTMxNTg6Ijk4ZGZiZWQ0MDMyNjQyYjlmOGFhIiw5MzIwNjoiYWIyNjVmOTEyYjg1YTM5Nzg4YjAiLDkzMjQ4OiJhZmRlNTQ4ZGZlMDkxMTliNjliOSIsOTMyNzc6IjMyZTI3NDExMGE2OGViOGE1NDNlIiw5MzI3OToiZjMzYjA1ZDNmZmMyNGE2MTUxMjYiLDkzMzQwOiJhNjNjN2JjNzE1NzY2NjAzZDgwMSIsOTM1Mjg6IjgwMGE1MDk1MWYxY2FhYmFmN2Q0Iiw5Mzc2NToiMzA4NmFhNDJlZjIzNDZkOGNjNDQiLDkzODAxOiI2ZDQ1ZWI4ZDViZWU0YWZlN2RiNyIsOTQwODU6IjUwNGY0NWUxZDU4MTM4MWQzZWMxIiw5NDE4MjoiMjBkY2M3OGMwZTg0ODFkNDM0NzAiLDk0NTYwOiIzMmUzMDRhYThlMzkzN2Q4MDQxNCIsOTQ4MjI6IjdmYWQyMTE4NzI1MDhmYWIxMjI1Iiw5NTA2MjoiNGFkZTExYjE5MDFlYWI1MDY5YmIiLDk1MjA3OiI0NjVmOGFmMWFhNzJhYzNhMWMzMiIsOTUyNzM6ImZkMTE4MDJlMzIxYjE3N2I0ZDc1Iiw5NTU1NDoiZjljZTMzMmUxOWZjY2NmMzc1NTYiLDk1NjM0OiJiM2Q5YjdlYjFlN2Q4ODk5M2Y0MSIsOTU3NTY6ImVhMjMzMTQzNTI4M2QyNTMwNGE1Iiw5NTc2MDoiMzJmZmRlNjYxOWQyOTFjMzA3YzEiLDk2MDc1OiJmMjk2NDEzODQ5M2RhMTkwNWEwMCIsOTYwNzg6IjNhOTMyMTJhOWM0YjY0MGVjYzVlIiw5NjExMToiNGZjYzU0NGUxNmY4NzRmNWEyMjkiLDk2MzM3OiI4NmMzY2M2MTJjOThmN2U3NzQ4ZCIsOTY0Mjc6IjhhNjk3NGY5YzU3NGMyNTU2NDkwIiw5NjUxMzoiNjljNjNlNWQ0Y2Q3MjQ1ODg4YTQiLDk2NzI3OiIxOWM4ODgxZDhmMDBiZjkxNjkwZSIsOTY5NzA6ImE0YzUxNjMxMmEwYzIxMDdiZWM3Iiw5NzIwMjoiMzIzYzExY2RhZmRjYTMyZDRhZDciLDk3MjcyOiIzYmZiZmM4ZGFhYmNhMDQwY2Y3MyIsOTc0OTM6IjQ5YjdmNTMzZGNjNTQ4MWQ4ZDBiIiw5NzU1ODoiOTRiYjBjMjY0M2Q3NGViNmY4YTkiLDk3NjQ3OiI2NGZhMDdlZTc0ZmQ2NjVkNmUxOSIsOTc4Nzk6IjA2MjkwZWZkOGFiMWM1OWM3ZGQ0Iiw5ODU1NzoiNzMxYzFhMmUzMDM5YWMzM2QxNWUiLDk4ODMwOiI0OTZiZWRiM2U5MDcwZWRiNTkyYiIsCjk5MzA5OiJjYTRhYzE5YjhhYjM3Njc5ZjI1MSIsOTk4MDU6Ijk5NTVhNzc0NWY4NDk3NDE3MTgyIiw5OTkzNjoiYmRmZGE5NjBkNDhkZTQ1YjI2ZGUifVtlXSsiLmpzIix0Lm1pbmlDc3NGPWU9Pjg0MzA2PT09ZT9lKyIuMzFkNmNmZTBkMTZhZTkzMWI3M2MuY3NzIjo1MjM5Nj09PWU/ZSsiLmVkNzZjYWYyZmZlMDE0NDYwYmE2LmNzcyI6MjAzNTQ9PT1lP2UrIi4yZGRmOTM0ZjhlZGMyODAyZDkwYS5jc3MiOjEzNDkyPT09ZT9lKyIuMmM3NzczMGQxMTI1YTQ5ODViZGMuY3NzIjozNzc0Nj09PWU/ZSsiLjM0NTIyN2JiMTZlMGQ4YmM5YmQ1LmNzcyI6MTIzODU9PT1lP2UrIi43ODU2MWViZGVmMDVjZTY0OGI1ZC5jc3MiOjgxMDcyPT09ZT9lKyIuMjkyN2ExNzcyMzFmZGQwZTI0YzEuY3NzIjo5NDIzMj09PWU/ZSsiLmFiNjczMWI2OThhOGMyODU0YTkwLmNzcyI6MTcwODc9PT1lP2UrIi5hNWVhZWIzMGY3ZDI2OWY5N2I0MS5jc3MiOjQ2OTA3PT09ZT9lKyIuYzVhZjhhYTdiNTA4MmIxODc1YTUuY3NzIjo5NDk0OD09PWU/ZSsiLjBmYzg4ZmE2M2MwNTRhOGQ3Njg0LmNzcyI6MjM2MjQ9PT1lP2UrIi5kMjM5MGQxN2IxNTA5YjAxODgyNi5jc3MiOjUxODQ9PT1lPyI1MTg0LjBmYjQ1NzRjYWNlYzE2ZjYzNjVkLmNzcyI6Njc3OTk9PT1lP2UrIi5lMjQ5NTY5MWNlYTE3YjNhODFjMi5jc3MiOjI0NTgxPT09ZT9lKyIuNDVkZjAyMTgxYzQ1MDk3MzJkMjAuY3NzIjo4NjQyMz09PWU/ZSsiLjc5NzgzYWE3MmI2ZTI5MjUyZDBjLmNzcyI6NDA4MzU9PT1lP2UrIi43NmExYzc5MjNhMmM5ODZiZTlhYy5jc3MiOjc4NjUyPT09ZT9lKyIuNGI0ZTA5N2EzMDNkMjFiYzk3ODEuY3NzIjozNTc5ND09PWU/ZSsiLjBhMjczYmFmYzVkZTUwYTBkMjFkLmNzcyI6ODkyMDQ9PT1lP2UrIi5mNjQxOGZiYTczZDM5N2IyOTY0MS5jc3MiOjU1MDExPT09ZT9lKyIuZjljMGEzYzA5ZjdiODc3OWFhMzcuY3NzIjoxNTYzND09PWU/ZSsiLjlmZjUwMGY0MGMzZWMyNDk2YTlkLmNzcyI6NzUzMDQ9PT1lP2UrIi4xNzQ0OTZkYmY2MmJjOTBkYjU5YS5jc3MiOjUyMDk1PT09ZT9lKyIuZTZlYjUzMGExM2IyZmViZDJjZDMuY3NzIjo0NDAzMT09PWU/ZSsiLjI2OTFmYzJjMzQ2ODI5M2JmZDE2LmNzcyI6OTUwND09PWU/Ijk1MDQuOTAzNzdmN2Q1OTQ2Y2YzMjU0ZjAuY3NzIjoxMTIxOD09PWU/ZSsiLjExZmU3ZThmZGEzMDE5YWFjMWFmLmNzcyI6NzI2NjY9PT1lP2UrIi4yMjI5MTczYmY0ZDY3NDQ4NDYzNy5jc3MiOjM2MjIyPT09ZT9lKyIuZTliZTlhNzMzZTExNDczMGE0ZWEuY3NzIjo4MzQ4OD09PWU/ZSsiLjJhMzUzNzdmZDU0ZjBhZjQwODc0LmNzcyI6MTE0NjE9PT1lP2UrIi5lMjdjYjRlY2YzMDQ5MmFjMTFmNi5jc3MiOjk2NTg3PT09ZT9lKyIuOTdmZGQ2NWYyMDEyMTA2ZmYxMWUuY3NzIjozNzUxMz09PWU/ZSsiLmRlMTU3NGIzMzg5ODAwYzkzZWJjLmNzcyI6OTM0MjE9PT1lP2UrIi45NTM4MWY4ZTAwNGQwZDJmYThjZi5jc3MiOjQ3NjMyPT09ZT9lKyIuMzNkMmEzNzQ1YWY0OTdlM2RhNWQuY3NzIjo3NjY1PT09ZT8iNzY2NS45ZjFmMzJiMTc3M2IwNTRmZGYwNy5jc3MiOjMyODE2PT09ZT9lKyIuMzU1ZDc1YjIxYWU0YjUzNGE4NDkuY3NzIjoyNzUxNz09PWU/ZSsiLjczNjEzNzRkZWUyYjUyZmQxZjhlLmNzcyI6OTgwODQ9PT1lP2UrIi43Njk0ODc2NDAxNGFlMWQ0Y2NmYi5jc3MiOjUwMjIxPT09ZT9lKyIuZjQ5ZGEyYTcyNzk3NzRhYTVmZTguY3NzIjozMzUxNT09PWU/ZSsiLjg1MDA0NDgxZTRhZTY2MjRhOTg1LmNzcyI6MTY3Nj09PWU/IjE2NzYuMzQ4ODRiZWI4ZTZkYzRjNmMwYjEuY3NzIjo4MzA0MT09PWU/ZSsiLjljNTQ1Zjk4NjgyMDRjNzcwMGYyLmNzcyI6NzE1Mjg9PT1lP2UrIi43YzZjMDhjOGVlZDAxZDg0MTA1Mi5jc3MiOjQzNzkyPT09ZT9lKyIuZTFiZDA2MTEyNDA0ZjA5MDFhNjYuY3NzIjo1MDAzNT09PWU/ZSsiLjAyMjdjMDllOGRlM2I0MDA4Mzk1LmNzcyI6OTE4NTU9PT1lP2UrIi4wMDk3NjRkYTYxYmQ4YzhjNDRiZS5jc3MiOjc0NDYxPT09ZT9lKyIuNmNjNTEyYzQyMTlhMTVlMzU3NzMuY3NzIjozODAwMj09PWU/ZSsiLjg2ZDI4MGZlZWFiYWI2OTgzNjBiLmNzcyI6NzAzNjQ9PT1lP2UrIi42NDRjYjkzNDQxNjkwYzgyOWFiOS5jc3MiOjY1Njc1PT09ZT9lKyIuYjIyZTg2Mzg0ZGE5NWE0Mjc0ODUuY3NzIjo0MzY0ND09PWU/ZSsiLjBmN2MxNDAwMTlhNjdmZDUwYmU2LmNzcyI6NTgwNTE9PT1lP2UrIi5jNTQ0MDY2NWMzYjMyZTZjNmRlOC5jc3MiOjQ1MzY4PT09ZT9lKyIuOWZmMDBhM2UzODIxMjAyOWJhNTUuY3NzIjoxODQ3Mj09PWU/ZSsiLmQ5NDE5YjZkY2I2NGM4ODU2NGMxLmNzcyI6MjU4MDk9PT1lP2UrIi44ZGY0ZWE3YjA5OWFkYzE1ZDA2Ni5jc3MiOjI2MTAwPT09ZT9lKyIuNzY3N2ZjN2ZmOGZjNGEwZDc1ZjEuY3NzIjozNjk4Nj09PWU/ZSsiLmNlNzdjYmQ2NmU2MDUyNTBkNGZmLmNzcyI6MjcwODU9PT1lP2UrIi5jYjIyMjI5NTgwOTkzZTg2MWMxZi5jc3MiOjE0Njk3PT09ZT9lKyIuZjFkYzE5MTc0NDhkMjE4OTE5OGYuY3NzIjo0MzMyNT09PWU/ZSsiLjI1NmZhNWE1MjEzYjljYjcwZjVjLmNzcyI6MjY1OTI9PT1lP2UrIi4xYzYxMjM5MDJiYzg4ZWJhOWQ1Ny5jc3MiOjM3ODY3PT09ZT9lKyIuZWM3MzFhZDEwMmRiNjc2MmU0MGMuY3NzIjo2MjYzMD09PWU/ZSsiLjUzNzMyZGFlYTgxNzg0NDczOTNmLmNzcyI6NDE2MDg9PT1lP2UrIi5kOTg5ZTQ5NDBiMGVhMTI4NmRiYy5jc3MiOjk0ODg9PT1lPyI5NDg4LjA5ZjI2OWY4YjI2YjJiMDBhOGI3LmNzcyI6ZSsiLiIrezIwMjoiMDcyZTk5MGM3NjY0MTA2OGQ4ZTMiLDY0NToiZmIzNTBkOWFjOWM3ODJlNWU0MzkiLDY0NjoiZWUyOGIyYjE5Y2M4ODMyNzY0YjUiLDY1NzoiMjlkZGQ0ZjA0ZTZlYzUwZGE3MGIiLDE1MDk6IjI3YzRmMDExYzI1OTdhZGQ3Mjc2IiwxNjc4OiI5ZTk5YzZjN2MxNDI0NGZhZTc0ZSIsMjAxMzoiOTZhMmNmY2UzMWFmOTE0MTk4N2EiLDIzMzE6ImE0MTczYWZhMTVjYTg1YWQyZjY1IiwyMzcyOiIwMzQ4ODE1ZjIwOTZmMzc1MTY3NSIsMjUxMToiZmRjZWJmMjIxNTMyNjY5NTRjZWQiLDMzMTA6IjNlMzNlZGU2NTI2ZjBiYTg1NTI0IiwKMzMyMzoiM2RhNzk4ZGEzNTgwNmY4Njc5YTAiLDM3MTk6IjJkYzAwOTRlNTIzODFmNzQ1OTYwIiwzOTE2OiI1NDgxMjYxYjk1MTI3MTc0NjBmZSIsNDA0MjoiZmE5NDk2ODBhMmFkZjllMWFiODQiLDQxMjc6ImZhMWMxM2Q5YzMwNmY2NzdiYzA3Iiw0NDc3OiI1MTJjMDQ3MDlhMzI1OWJkMTEyNCIsNDY2MDoiMGYzMzJjMGE0Yzc1MTcxMDZlMTkiLDQ5Mjk6IjZkZDYxZDViZjk2YWIyMzQzZDk4Iiw0OTY5OiJjM2FkYjFhMTA4YmYyYmFmOWNiMyIsNTE4NjoiODNjMTM2MTFlNjYyNzdlYTc1OTciLDUzMjI6ImVmY2U2Yzg4YjkxZmY0NTczZWVjIiw1NTM5OiI5N2I0NGNmYWNhMzJiNDcyNmU1MyIsNTYwMzoiYjAyZDYxYTE4YjA4ZGI1ZWQ2OGQiLDU2ODk6IjA3ZDBkODUyNGJhNGI5YWY0YWRiIiw1NzU2OiJlNTY3NDBmYTNhZTA1OTlkYmE0MCIsNjA3MDoiMmJlYzRiOTY5ZTE3YzgzOTVhZmMiLDYwODI6ImUwMmI4OGY1NGY2OGNiYTQyNDcxIiw2NTgzOiJiY2M1NzQzZTIzNmZmYzViN2NjZiIsNjYwNToiMWU4OTQyMzE5YjQ4NWFmYzFmNzUiLDY2NDc6ImFkNDU4MDU4ZGQ1Yzg4MjgzM2I2Iiw3MTExOiJmNDE4NTFkNTQ1YmFjZWFjNzVhNCIsNzE2MzoiZWM0ZTdiY2MwYzc5ZTJlNjA3NGQiLDczODc6IjNkN2Q4NjQwMjJjODRmOTI4YWRhIiw3NDQ1OiI3ZGE5NjZhNDQwMTZhZTdhMDJmOCIsNzQ1NjoiMDZlNzBmNzY1OTY2Y2VlZDIxODEiLDc4NjM6ImQ1ODBlMjI1YzMyMmNiYTFlNmVjIiw3ODk5OiI0N2FhZDA1ZWFhMjBiZjMwMTJmNyIsNzkyNzoiZjczYjI5NjY5ZWQzYzNlZGMzZGIiLDgyMTY6ImQ3ZjIxZmUyNDg5ZGRmY2JjNDE4Iiw4NTc5OiI2ZjY1MThiZTQyOTM4MjI3ODZlMCIsOWUzOiJmODZlMWZkMTA1ZDhjYzdhZWNmNCIsOTE0MDoiNTEyODM4ZDdlNmUxMDdmMDczOGQiLDk3NDQ6IjcwYjUxMjY0OTVmN2FkY2NhZjJmIiwxMDM2NjoiMDdlMjBlN2JiZWUyN2M5ZDVmYmMiLDEwMzg1OiI4NzQ0ZDRmODY3MGRhYzMxMGQxZiIsMTEwMDg6IjUyYWZhNWVlZDRhMWNmNjZiZWQ2IiwxMTI1NzoiZTc5ZjBmNzk5NTg4NDA0NzNkMzEiLDExNDg5OiI1NDdlMzAzZTI5MmY1NDgxNGRiNCIsMTE1Mzc6IjYxYzc5NzI4NjhmZGRkNTJiNmU0IiwxMTcyNToiMzFlODBiMjNkMTUxNjIyMzJjNDgiLDEyMDUxOiJiODRiZTc4MWJiOTBkNDU3ZjFkZiIsMTI0MTI6IjEwMzgxYjNkM2UzN2NiOTA4NTJjIiwxMjUyNzoiZGJjMjBjMmI4YmM5NTQzMmE4OWEiLDEyNTY1OiIxZDQwNTM2Nzk3YTI5NDE5YzY2ZSIsMTI2NjY6IjdiNTZiOTQ0NWZkNTgyN2MwYzA4IiwxMzAzOToiZDYzN2FkMTI0ZTI0NmFjNTYzYmYiLDEzNjc3OiJkNThlOGQ2M2Q4YTNmZDc3NGM0MyIsMTQxOTM6ImZmZTZmMWY3M2RjYjE4ZjI5YjU1IiwxNDYyNToiYWRhNjEyY2NlZmRlZjc3OWUyOTUiLDE0NjQwOiJmNGUxODExMzgxYTVlMTQ5NDQ4YyIsMTQ2NTc6IjQwZGFhYzRiMzhiYmQ5NTViNWYyIiwxNTM4MzoiYzNhZGM1Mzg5MDAwMmVmNWVjYTAiLDE1NTI2OiJjODI5YzUyZmVkMjU5ODU1YmI5NiIsMTYzOTk6IjZkYWE5MGUyOWEwZDE5OWI5ZDMyIiwxNjQyMToiMzFkNmNmZTBkMTZhZTkzMWI3M2MiLDE3NjkzOiJiNTI5MzM0YzhjNzYwZWUzNTFkYSIsMTc3NTE6ImM5MmI4MDVlMDg3MzQ3ZjdmMTVlIiwxNzg2MToiMTllMTAzM2U5MmY1NDRiZDY4NWUiLDE3ODY1OiJhOGRkMzkxNzRhYTdiN2EwZjU5NyIsMTgxNjI6ImQwNjE4NGJjOTcxZWNiZGRhM2IzIiwxODQwMDoiNGYzMWU3ZDk4MGIwNDhlOTU3MmMiLDE4NDQyOiJiMzM2Y2QxMTdiYzE3Y2ExN2MwMiIsMTg2NzQ6ImJkMjEzYmJiNjk5MGY3MjNkNGQzIiwxOTQ0NzoiZGQ3MDRjOTk1ZTY5NjNhNjRjYTQiLDE5NTEzOiI4NzQ5ZWRjZTY0YTdlMmRlMjU4MyIsMTk1OTU6ImQ5NjJhYjc1YmQzZTFiYWE1YWFlIiwxOTU5ODoiNzhlMmRiMjFiNjlmMTQ1M2Q3MGMiLDE5NjMxOiI2YjRmZjUwNThjZGI2Y2Q0YjE5OSIsMTk3ODc6ImJiYjY2ZmEwZmQyYmQwNGQwODc1IiwxOTgzMzoiYTliOGZmNDRhOGM2NzYzMzA3OWEiLDIwMDg1OiJiNjg4MGUwNzg1NDBhNDFlY2RjMyIsMjAxNTM6Ijk3Y2JiMDNlNTMzNTVjM2M4ODY5IiwyMDI3MToiMGMxNGYxMjZlMzhmNmI0NjA3N2UiLDIwMzcwOiJmOTI1NDIyYmE0ZWIwYjYxMmM3YiIsMjA1NjQ6IjEzZTZlZmIzOGVhYWIwYTUyNjgzIiwyMDU5MDoiMDE4YzdkNmIwMTRlMTJiNGQ1ZmYiLDIwOTcxOiJkNDZhMzc4MGI0MDA1ZDk0N2Q3NCIsMjA5ODY6IjQwZTM0ZTIxYjNkODE5ZGY0OWU1IiwyMTI0NToiNTg2ZmE4ZDA0YWJhMGQ2YWRiYzgiLDIxNTgxOiIyZDU0NWRlZDViZjgwMDU0MDEzZiIsMjIwNzA6IjdiZDFiMWE5MTVjMjRlMTIzZTJmIiwyMjE0NDoiZGEyN2UyOWZhNDUwYWExNzIxNGEiLDIyNDA1OiJmMzBiNWNjNTU0OTBjYTM2Mjk2NyIsMjI0NjQ6Ijc2ZjMyNmVkMWQwNTA4NmUzZDA1IiwyMzI1NDoiMzA0M2Y2ZmYxMzk2ZjUwNjVjMmEiLDIzMzY5OiIzMTc4MjkzYjY1NGFjMDFmNGZhOCIsMjM2Njk6ImE2MTk3MWQ4NDI1N2MzNDZiZDVmIiwyNDMxNjoiYzg1OWI2NDBmODU2MDNjMjZkNjkiLDI0NDA4OiI4NmU0NWVjZjA4ODRiZTZhNmVlMyIsMjQ2MDM6ImRjMzA1ZTU1ZTgxNDgxOTgyNThhIiwyNTE0MjoiZTExNTA4NjI2ZTM5MGRkMDQzNDUiLDI1NDg1OiJmOTZhOWZkYWFkMTRiMGQ3NWQzNCIsMjU1NTQ6Ijc1ZWMxOTk5ZjVhYzk2NmQ4ODYzIiwyNTU2MjoiODYxYzQ0YWMzNzRkYzI3OGQyZGQiLDI1NjQ3OiIzZDQzMDE5OGM0MjIyMzlhNWY5MSIsMjU2OTg6Ijc2MDVhNTgyM2NhNmQyNWZlZTQ2IiwyNTg5NToiZTlkOTg2MjNkYzk1OWJhNTY3NjQiLDI2OTg5OiI3NzMyNWIzM2FhZGE5NDdjZTc3OCIsMjcyMTc6IjkyNWYxMTkxYTAwMGIwMmMwYWQ1IiwyNzMzNzoiZWRjYTYxZWZjZGIyMzBiYTY2M2EiLDI3NDQ2OiI0YjYzYmI4ZTkxMDliMzNiZDlkYiIsMjc1MTM6Ijg1MGU5MjAwMTNhZGFiNTI1MjQ4IiwyNzU0OToiM2VhNjQ3NWM3OWFiOGUxMWU5MDUiLDI3NjY1OiIwMTNmZGI2ZjA5ZmUxMjE3MDViMiIsMjc2OTY6IjEwZGU2MWZkNmM0M2JmNjNjZmQwIiwyNzczNjoiMjkzZDk0NzdjMTk1NGYxOTc3YTciLDI4MDE3OiJmZTc5OGY0ZDdjY2YwMjRiYmIxNSIsCjI4OTM2OiI4YzJmMTU1NzViYjE3OWYzYjEyNyIsMjg5OTU6IjA0YjQzNDVhNTNmMjAyMDA2YjM4IiwyOTEzMzoiYmRmYTE2NzA5M2YwNWRmYjI0ZDAiLDI5Mjk2OiJiNDA4ZjI4MjJmYTViOTU2OWJhYyIsMjkzMTU6ImRhOTc2ZGY0NWZlYzAxMDczN2Q3IiwyOTMyNzoiNWE2MjNmZTQ5ODgyYjljZjUxZTciLDI5MzQ4OiI4M2I3YjRkY2E4MGRkOWViMDdiOCIsMjk0ODk6IjA5ZmJmYWZiOWZmNTllMDQyYTNiIiwyOTUzNjoiNzM2ZjQ3MWE4ZDY0YTgxMjJmZDgiLDI5NzE0OiIzNzg4YzRhMzNkOTQ1MzZlOGNlYSIsMjk5NDM6IjJmMzM3MzNkZDY0OGI4MmM0NmZiIiwyOTk5MzoiOWQ5MjU4MjgwMTAwZDAyODBjMjAiLDMwMDI5OiI2Yzk4MTUxNjIxZWFlODNhNTU5ZSIsMzAzNzM6ImRlMzJhM2NkY2FlMTJiMTVkNmRmIiwzMDc0NToiZTc4ZDgxYmYyNTBjZDZlNDMwNjgiLDMwNzg5OiIyOTdlMGZiNmM3Mjk3MWU5NGI0YSIsMzA5MjI6IjUzYmJjNDVlZmRjNDljMDY5YTA3IiwzMDk2MDoiNTQ3MTA5OGJkMjdmOTBmMzExNWQiLDMxMDAxOiJjNTIyMjk0ZDNhMjhkOWNhMTUxYyIsMzEyNjI6IjI2MGI2MTg3OGUwNTlhNDJlNzlhIiwzMTU1NzoiZTZhZWY1MWYxMDkzNDJiNTk5MWMiLDMyMTc2OiI3YzU3Yzk4OTMzYjhjZmQzZjhlNyIsMzI0Mjc6IjZkMTY2Zjg3YjczNjcyZTU2MWRhIiwzMjc0ODoiMmRkMThlMjA5YTc3MmVhNGYxZDciLDMyODU3OiJlNDk2OGNjOTA2YWM1NzY5OTA2YSIsMzMxMjA6IjNlNmQxYzMzZDZjNTI1YzA3NzFmIiwzMzIyMToiZjQyY2M1NWE5MGM5ODg0MTIxZTUiLDMzMzY4OiJmMTVkZmNiYzBmNzE5NmQ3ZDY3NiIsMzM1NTM6IjBkZjliMzUyY2JjNmZhMDNjY2E4IiwzNDc1ODoiODgwZDk3M2JmNmNiYmM0ODIxNzQiLDM1MDczOiJiODU2MzJlYWEyMmNmMTllN2NkMiIsMzUxOTg6IjIyYTU2NTVmNTNlMDkxYTJmYjczIiwzNTM0MjoiN2Q2MWE3ZWM3NjRiYTZiMmM2YmQiLDM1Mzk5OiI1ZTZkMTQ5MTllZTBjODZmNjliMCIsMzU2MzA6IjhiOWVlMjVjNWUyZDIzNGQ5OTUxIiwzNjE3MzoiMzBhYjA3N2ExMGYxYWJhNDdkMmEiLDM2MzU2OiI2OGU2NmJmNzRmZGIyNDNkNDMyYSIsMzY1MjE6IjhlYTE5ZDE4YzZmMGIyNmFlMjUwIiwzNjU0NToiZmM0ZWIzNzExMmUzNWUwOGQwMmMiLDM3NTY3OiJmNzQyMzY2YTUwMmExZWQ3MzYxZiIsMzc3Njc6IjQ0MDI5NjA2YzczYTY4M2U3YjBjIiwzODI2MjoiYjQwZTdlNzgwNjQxNjNjZGMwZDIiLDM4NDc5OiIyNmUyZDUzYzA0MTAwZWE0MDE2YyIsMzg3ODI6IjNiMjY2ZDZhODE1MzgwNmI3MzFlIiwzODg2ODoiNWVlNzQxZmQ2Mzg2NjZkNDQ1ZGMiLDM5Nzg2OiIyYjAwZGMyMWVmOTQ2MDBlMDk2OCIsNDAxNjg6IjgwY2QyMjQyOWIxNDVhOGNiODIyIiw0MDIyMDoiZTBiZTM3OTczNDVjNmUyNGNlY2EiLDQwODY3OiI0OTU2YzYxNWZkZWFkODFkY2QxMSIsNDA5MDI6IjU2NDViOGVmZGQyYmRkN2JjNTdmIiw0MDkxNDoiYThkZDY5NmJlN2RkZTZjZTZkZGIiLDQxNTA2OiI0ZTQ4MWNmZTNkN2RjYzkxMTNkZiIsNDE1ODg6ImE0ZDFmYmJmYmMxM2JhZTc2MGQwIiw0MTgxMToiZTIxMjY3YjUxZjE0YWFhYjU0YzciLDQxOTgwOiI3NWJmNmUyZjNjMTI2NzliMDQ4YSIsNDIwMzM6IjkyNGRhYjc4MWU0NDc3Zjk1MWJmIiw0MjMwMToiMjI1MmQxY2NjYjQwMzUxYmQ1ODEiLDQyNzIxOiIzZWFhZTU3MWU3NTg2Zjk2N2Y3YyIsNDM0MzM6IjdiNjRlOTE4MjAyNTZkZGJiOTVlIiw0MzQ0MToiYWM2MDM1MGM4NmM1NzgxMWYyMjMiLDQzNDg2OiI2ZWRhYjk0YjBmNTJiZTQ3OTQzYiIsNDM4MDg6IjVhZDM2NTFhMzg2MzBmNzc1NDQyIiw0Mzg0MToiMzg2MzgyODcwNTVmNjg1MzlhOTIiLDQzOTE5OiI1NzNhYTE3YmRiNzc1NmYwNWNhOSIsNDM5Mzk6ImJhYmI2YzEzYWQyYTIzYzBhZjczIiw0NDQ2MDoiMWE0YjM5NTZjNTk5Mzk1OWVjMDUiLDQ0OTQ2OiIxOTY4MGRkNGU1YzQzZDlmNzE2MiIsNDUyNDI6IjhmNmM5MTBlZjgzZGM5ZGJhMTkxIiw0NTMzMToiYjRkNmY1MjQ5Mjk5NmRkMjliYzYiLDQ1NDE4OiIwNmQ3MTg1ODI1NjE2MWQ1NGZlOCIsNDU3ODM6IjRlYzU3ZjUzM2M1YWM1MDE1ODk4Iiw0NTk0NToiNWM5ZWNjZDI4MWNhN2YyZDc5ZTAiLDQ2MDM0OiI3ZmU1ZDY1NTVkMzUyMzg4NzIxNCIsNDYwNTU6IjAyMzJmNWExOTRkMGU2NDZlMDg5Iiw0NjI0NToiYjFmMDRlMzFkOGU4NzQ4ZTkwMjAiLDQ2NTkxOiI4ZDAzMzM5NGI4M2I2MTZiZjA2NiIsNDY3NTY6ImJlYzU1ZmEwNTBhMTFkYjgwYjFlIiw0NzAyMToiZWQxMTM0OTdlZjMyYTY1MjZlNTAiLDQ3MDkyOiJjNTcyMzg5MzRhMmY3YTM2YTBjMCIsNDcyMDE6IjQyODBhYTBjM2NmMTJjYWM5ZDZkIiw0NzMxNjoiZDIxNzQ0ZmY2ODlhYTZkYTYxNmIiLDQ3NDU3OiJhNmMxMTZjZTUxMTY5MTk2NGRkNiIsNDc1NTE6IjhkMmNlNTI0YjM4ZTRhOTI1NDdmIiw0NzU3OToiZGMzODc5MTkxYzA0YjkzOGZkM2YiLDQ4MzEyOiJhZmRjYzM4MmE5MjhiYzAyZmU2NSIsNDg2ODI6IjZmZjIzZDVhYzFjYjcwZDAyMzlmIiw0ODg2NDoiYzdiMmFmOThkOTE0ZWJkODMyN2MiLDQ5MTQ5OiI2MTBkOThlYWQ1Y2IwNmFiMzhmYSIsNDkyOTc6ImNhNDAwZTVmMmRkMDY4ZDc4YmNjIiw0OTQ5MDoiZDM5OGFiNGEyZTRiMDRmOGZjODMiLDQ5NTM2OiJjYmEyMDdhNWJhY2Y3YTE1M2EzZiIsNDk1ODg6IjE1NDI2YjIyMjc5NTYxZDk4ODBiIiw0OTk5NzoiNjhiZDc1OWI0YWRkNjVjZjc2NjAiLDUwMzE2OiIzMWQ2Y2ZlMGQxNmFlOTMxYjczYyIsNTAzMjU6IjU3N2NkMTE0NjE2MmJjZjA1YzJiIiw1MDU4ODoiYTI3MTE4NjIwNmU1M2ZjOTg3NGIiLDUwNjIyOiI1ZjA1ZWY1MWFiMDIzOGRhYTM2YSIsNTA3NDM6ImMwMzFkNTc0OTZmZmY3YmU5NWUyIiw1MDgwMDoiODBmOTBlMDQ0OWVmMjBmMzg5ODYiLDUxMDE3OiI0M2ViYWViNGQ2ZDg5OTBkOGM3ZiIsNTEwMzA6ImI3ZjUzZWQ2MzViMDkyZmQxNjkxIiw1MTE4NDoiOTkyMzI0MGQyODA2ZjBlMjU4ZjAiLDUxMjEzOiI2ZGIxOGY1NDVlOGZjYTg1OTFkMyIsNTEyNTY6IjgwY2MwMDFlMjFhYzg0N2U2NDJkIiw1MTMwOToiNmYwMmVhYzE0YmYwMjJkYzJhNDciLAo1MTY4MjoiMTVkMDEzNDcyYjg1Y2Q5ODUxN2EiLDUxODUwOiIzMGFmM2EzZDFmYTU3MjUyZDczYSIsNTE4ODA6ImNmODA5NmFkOWNmNjY1ZThmM2JiIiw1MjA2NToiZGU5ZWRkYjMzOWFjNzdkMWRiZjgiLDUyMTc4OiI0ZDU2MmEyNWFkM2MxMzc5MjFlMSIsNTI2ODA6IjhlZmE2YjRkOTk4MTg2ZjM5Y2JhIiw1MjkyMDoiMzBiYTA1ZDZhNTM5M2UzMzE4MjciLDUyOTYxOiJjZjY1MzhjNDFmN2Q4ZmUxNjc0MSIsNTMyMjg6ImQ1N2IxY2M5NDdkNTFkNTRmNGMwIiw1MzMyOToiMDNhNmQzNDAzNWMxNzY4ZmI3ZDUiLDUzNTIxOiJkYzliYzcwYTZhODBmMmM5NGY1NSIsNTM3MTM6IjQ5ZDg4M2M3N2IzZDc0ZjQ3YzEyIiw1MzkyMzoiZmEzMmI0NjhiZjcyYmU5MGE3M2QiLDU0MDkzOiJkODBjMGZmYjIzNDU3ZmY4NWVmNCIsNTQzMTA6ImNkZDAyMmZkYWZlNDRmYzJjNTg5Iiw1NDMzOToiY2FlZWU1MGNkMGIxZDBhYjRlOGMiLDU1MjkwOiIxODZjZTMzOGQyZTI3OGVkZjFmNCIsNTUzMzY6ImZhYTc3MTY0YTU2MzZkODI2NDc1Iiw1NjEyMToiYmQ2NGJkNTI5MGUxNzhlNThlNmUiLDU2MjEzOiIwMGQyNWZlOGFkMTY5ZTMxOGIyZSIsNTYyNTI6IjJiODJmNTc1YmExY2ViNTRmYTI5Iiw1NzI1NDoiMWQ3ZTg5NzFkOTJlYmI5NTcxMjQiLDU3MzAwOiJjMWY1ZmM0ZTE1OTkwNjg1ZmI3MyIsNTc1MDQ6ImM3Zjc1ZjYwMzlmN2NhNDc4YjJlIiw1NzYyNjoiOWE4YzNiOWQ5ZDRiM2YxM2MxZWIiLDU4MDQzOiJhMmFmMGRiYjQ1ZDBlMmNiMDM3NCIsNTgzODQ6IjY2YTYwYjVlYmIzZTA0NmY4MmQxIiw1ODkzMzoiYjNhZTUxYjliMzgzZjNhYzk1NjQiLDU5MzUwOiJiNjYzNjNkMTk5ODQxZWJmOGI4NiIsNTk0Mzc6ImI3MmM1MGI1MDVmMTJjOTljNzJlIiw1OTgzMDoiZWI3YzE4M2QzMzFiODVlOGFmNjAiLDYwMDYyOiI0OTU0NDRhN2ZhYzE3M2ZiMjhjZCIsNjAwOTA6ImRmMGExNDk4ZDQzOTI5YmE5MTBkIiw2MDc2OToiYzZiNTk2NmU5ZGY1NWRkMTlhYmYiLDYxMTkyOiIyMmQ1NDJiODYzM2Q1YTRhNTg3ZCIsNjE0MTM6IjRmYmY4ZDMzNTYyMGMwZWY4Mjc1Iiw2MTgyMToiZjY0ZDFlMmM2YjFlMzBkZmQ1NGUiLDYyNjAwOiI2MTA2MzU2Y2I4MTZmYjc0YjE3YiIsNjI3OTA6IjBjZDJiOTE3ZjdhNzE2OTBlNzQ1Iiw2MjgwNjoiYWU3Yjk5MmJkNTMxZTc2ZjhlNzYiLDYyODkyOiI2NWEwMzU1MGFjNGIzNmQ4Mzg4YyIsNjMwMzM6ImY5MmE4NzQ3MWU1ZTEwMWM4YzU1Iiw2MzEwMDoiMzYyMWZlYjhiZmFiZDRhYzVhNjQiLDYzNzIzOiIxYzY1YTA5YzIwYjYxZTM0NDcwOCIsNjQxMTM6IjAzYTJlNDc1YzQ1YTUzNzMxMjVkIiw2NDE5NToiNzIxNTFiYTJlNjczNDczZjcyYTQiLDY0NTAzOiJlYTZlMzRmMWYyN2JhZDdkZjhkMiIsNjQ2NDM6IjVlZjNiZGJhYTBjNmM0ODg5ZjRlIiw2NDY3NDoiNjZkNWEzY2I1Zjg0MDYzMzQ0N2EiLDY1NTI4OiI5ZGNjMTkxYTRhYjQ4N2QwYjEwYyIsNjU2MTM6ImM5OWYzYjY5MTBmMGY1ZWIyZWQzIiw2NTY0MzoiM2M5NjU5MTYyMmRlZmMwYWJkMDYiLDY1NjkyOiIyZjM4OWQ0NDNkOTc1Y2NiMDM1ZSIsNjU4NTY6IjZjZjI3MzA2NDUxNmNkODEyOWMwIiw2NjIyOToiMDkwYWQ1NGMyZmMzM2UxZjFmZjciLDY2MjcwOiIwMGY3ZTAyNzMwYjQ1NmFiZjI2ZCIsNjY0NzM6IjIxODIyZWI1YmE2ZDhiZDUwYzZlIiw2NjUyMjoiNjYxYTk3MTYxYzNjYWQ5NjkwZDIiLDY3MjEyOiI3Y2ExMmFiN2VjY2YxYzQ4YWVhMSIsNjcyNDQ6ImY5ZmYxMzY3YjE0MjNmNGEwNWVhIiw2NzU0MzoiZGNkYmE4OTk0OWMwMGJmNTc1ZDYiLDY3Njg1OiIxMzc1NTI5NmQ3ZDI2ZWI3ZGJjYyIsNjc3ODQ6IjIzYjc0NTZjMjEyODQ5ZTViN2U4Iiw2NzkyNDoiMTgwNTAwODZhOTQ2OGVjNGQwMTkiLDY3OTI1OiJjZGQ3N2E2OTcyNzg3Nzg5YTYxNiIsNjg1Nzk6ImMwMTg3NGFlOTNmY2VlOTRiMzg4Iiw2ODY4NjoiMjUxMTRiZWE1ZmZlZDBlZTIxNzEiLDY4OTQyOiI0OWNlMzVlMDhkZmJiN2I5OGU1YSIsNjg5NjQ6Ijk0MjViNTg3MzBkZjEzODA2ZmY2Iiw2OTE4NToiMjhlMGQ0MTJjNjQzNjk1N2I1ZjEiLDY5MjA5OiIxMTIxNGQxZmIxMGEzYTc2YTAwYiIsNjk3NDc6IjAzMWQyNTU0MjRiMGRlMWQzZmMyIiw2OTc2NjoiMTg5OWMwNzkyZGYwOWNjYTVlYTQiLDY5ODAzOiI2ZWQ3Yzc4MzA1ZmVlMGFiM2I3MiIsNjk4MDk6IjQyNDU3YmZiNjUxMjI1NmIyYzA4Iiw2OTg2MToiODdlMjBhODk1MWNlZWNjNDYxZDgiLDcwMjU1OiI1YzlhMWVlNDAyZjMxYjc2YzE4OSIsNzAyODA6ImZmMzJmOGU2MDg0NDBmMDU3YTI5Iiw3MDY1NjoiY2U0ZmI0ZGZkOTU5ZWVmYzg0YzciLDcwNzU2OiIyYzE2ZWJkYTk3ZGJmZTE3NDgyOSIsNzA4MTU6IjNjZTZkNmEyNjg2ZTg4OTA3YWIzIiw3MTE5MDoiOGY1YmYyYWU5NDg4ZDY1ZDMyNWEiLDcxMzUwOiJhZTI5ZGNiMzBjODJjOGQ4YzFmMyIsNzE0MTQ6ImUzNDVlZDc1MmQzYTIwZDE5NDY3Iiw3MTQzNzoiMTc2ZGI4ZGQ2ZTlhMGJkY2M4Y2MiLDcxNDgyOiIxZjBhZGE5MTYwZjNmOWZjZWMwMyIsNzE5MDE6IjQzZDViNDhkOTY0MzY1NmJmZDJjIiw3MTk5MToiZmM2MTlmNzViYWRiOTIwMTUyNzgiLDcyMjQ5OiI4NGJjNzg2N2Y1ZjEwNGJiYWQyNiIsNzI1MTI6IjYxOTMxMDJlMzE1MjgwNmI4YjBmIiw3MjY4MDoiZjc5YTU3MTYwY2Q3MjRhZGZkZmMiLDcyOTAyOiI3NzZkYmI0NDY5ZDE5NTRmNWM2YSIsNzM0MjU6ImFlYWI5MTI5ZThkZDM5YjVhMjQ0Iiw3MzU1MToiMzI4MmUwNTI1YTkzNTgyMGI0ZjciLDczOTYwOiIzMzRiMTNkYWM5ZjU1MjliMmU0NSIsNzQyMzM6IjFlNzc2MWE4MWM0ZWM1Zjk5ODc2Iiw3NDI3MzoiNjY3NDNmYjM2ODdjNzdjMTVjYTEiLDc0MzgxOiJmZDZiOTAxNTNjNmMxNmIyYmM5YSIsNzQ0MjI6IjNkNzg4NWI0MTQyY2Y1ZjA4YjA4Iiw3NDQ3MToiY2QxOTI3ZDIzYzE1NmIxZGYzMzciLDc0NjM2OiJiMGRlYTE2NWY0NDVmNDA5MDlmYSIsNzQ4MzA6IjRmNTBkMDBmYmY5NWMxZTI5Njk1Iiw3NTE3MjoiYjFkM2ZmZGVkZTk0ZWUzZWI0YmMiLDc1MjE3OiI4YmZkMjM0MzU0ODYzMTMwZTJlMCIsNzU2MDM6ImRlNDNjYmU1OWFkZDg5ZTkyY2M1IiwKNzYyNzg6IjQwOTJiMDM4NjgxYzUwZjFlN2Y2Iiw3NjMyOToiYzU3ZDE2ZDM1MGRkNmY0YWE3YWQiLDc2NjY0OiI5OWMxYzQ0M2M0NWI2NzRjMzQyZSIsNzY5MTI6ImYwNTUzYzUyODNjOWRhMTI1YjQ5Iiw3NzI2NDoiNzNkMTBjZmI1ZWMwZjEwNjcyN2MiLDc4MTgyOiI5MmZkZmNlMTAwZTgxMjIwNDZmYyIsNzgyMzc6ImU4OTZhOGJlYTkyNWQ2NWY2ZWZmIiw3ODM0MToiMDVhOGU0MzQ5MjM0YzYxOTI5MmUiLDc4NDA0OiJiNWVjZDZkYzY1ZjEzZGVmNWVhYiIsNzg0MzQ6IjU4MGY1ZDIyNWY0YjBmM2E3NjIzIiw3ODQ3MToiMDUyZjk2MzMwMzQ2MThiMDE1NjEiLDc4ODk5OiJiYjVmODFkOTRiZTViNWE3YmJkMSIsNzkxOTE6IjQ4MjM4YzczZTQwMzZjNDcyMzQwIiw3OTI0NDoiZmFkYzYxNGYwYTQwNWZkNGM0OWIiLDc5Mzk4OiI5ZjcwZTEwMTc1MjRlZDkzMDEzNiIsNzk0Mzk6IjE4ZDhiYWE1YTIzMDIyMTU1MGJmIiw3OTc5MToiMTYzYzFiYjA3YzYwNDI5NDQzZGYiLDc5ODkyOiJkM2Q5MGQ1ZjVlZTU0MGY1MzQyZSIsODAwNDE6ImZmMmUzZGY5NjNkNThjMTc3MWY1Iiw4MDYzOToiOTM0MDJjMDA5YTI3YjQ2NjBjN2IiLDgwNzMxOiJmOTY4Mzg1YmUyZTIwMDYyYmVkYSIsODA3NjE6IjE5MzFkYTk0Zjk0ODI1ZGJhYWY4Iiw4MDc4MjoiOTc1ZmI0MWQ0MmFlMmQ1MWMwOGIiLDgxMDAxOiJhZmY4NGJjMDRhMDNiMTdiNTQ2ZCIsODExMDc6IjFiYmE1OWUyMDg5ZTU4MzQ3ODU5Iiw4MTIxMDoiMGIxZWI3MTYxMzQ1ZDMzNDAwNDIiLDgxMjQ3OiI3MDU5MDYzYmE0ZDNiMzczMDJkYyIsODE1Mjk6Ijk2NTI0YjAzOTNjZjg2OTVkOWNmIiw4MTgxODoiNzY0N2UzNzljMDhjZmFkYzNhMGEiLDgxOTAzOiIyY2E2NzZiYmU0NjM4MmU2YzFmZiIsODIyNzA6IjUyMDAzODQwODAyYTdhMTVkNGY5Iiw4MjI3MToiYzAyMWJhZTQ0NDY2NWEzNDg1M2YiLDgyNTg2OiJkZTlhMmVhNTE1Yjk2MGUwNTQ3ZSIsODMyNjE6ImI0NWNkOTQyMzI4Y2Q5YjBlYWZhIiw4MzUyOToiZDk2ZWE1YzFmOWM4Mzc1ZmJjMTgiLDgzNjc1OiI1ZWQwMTg0ODI3MjNhYmFmOWU4NiIsODQyMjQ6IjMyNzgzNWMyMDIwZTlkN2U0YWQ4Iiw4NDMzNToiYjZjNThmZTViYjNhMDk5YzFmNjUiLDg0OTQ4OiIxZjA1ZDJlNjM4Nzc5MzFhNGExMSIsODU1MTE6ImJjMDAxNWM3MzY4MzBkYmI0MzkxIiw4NjA4NzoiOGRhNTZjMTMzNGU0MzZkZDNhOTEiLDg2MTc4OiJlNmZiZWM5MGFmNWJhNjIxMDM2OCIsODYzNjA6ImE5NDkyZDM3NzRhYmE3NjAzNDc5Iiw4NjU0NDoiOGU0YzYyODA0YjZmYjA3ZGNhNTUiLDg2OTk3OiJkOWExYjJhY2EwMGE2MjA5ZmU2MSIsODcyNTY6IjNmNWUwNWRjNDRkMjcwNmE5MDI2Iiw4NzQ3NDoiYmUyOGY5ZTAwM2UwYzQ3M2I5MWQiLDg3NDk4OiJlNTk0MDAyYTJjN2ViMzAxYWZhNSIsODc2NzM6ImFmZDEwMWJkOTczZGU0MzVmZTRhIiw4NzcyMToiZDQ4YzAyNjczMzZkYzY2OTEwN2QiLDg3NzQwOiI1ZTFhNzY3OTBlZTQ5YTM3OTVmYSIsODc3Njc6ImVkZWNmNDM5NTA0OGI3NDExYTg1Iiw4ODM4NToiMDg1NTFmMjAwZmVhMGZkMDNjZDUiLDg4NjQxOiIwNDE0MzhkMTFjNDZmY2U5ZDA4OSIsODkwNDQ6IjEyMjg4NjU5MWRiM2ZhNmZkYzAzIiw4OTE5NToiZjFlYmMyNGEwZGQ2YzllMDQ1NTIiLDg5NDMwOiIzOGJmODZiODVjOTg4MzE4ZmM3MiIsODk1NTg6Ijk4MWEzNGIxOWI0MWZhZDkyYjg4Iiw5MDMzMDoiYWFmMTYyMWU5ZTY4YjMxZjNjNmUiLDkwMzc4OiI4YjNhYjJjYWM5ZDBmZjkyN2ViZCIsOTA3NDE6ImFmMmI0ODE3MGQ2NDU0NzQwOGZmIiw5MDk2MDoiZWM5NDFhY2NmYWEzZWQyY2Q2ZTIiLDkxMjAwOiI5YTUyZjlmOTE4ZmMxOTZiYTQ0YSIsOTE2NzA6ImU4ZDNlZThkYmQ0MzVlMDM2ZWRlIiw5MTY3ODoiZTMwZDRjZGNkYzY4ODM3ZmY0ZDEiLDkyMzkzOiJmYmI4YzI3MWJjNGEwYjc1MTI2OSIsOTMxODg6IjgzMTJiOWEzNzZiNTU4ZTAwMzI0Iiw5MzQxNjoiOTA4MThkNzNlMGUzYTlhOWZlMmEiLDk0MDU0OiJkNTBlOTNlZjQzYzE4NGE1MTNlZiIsOTUxNTg6IjUzYmU2ZWU2NjRlNTA1MTg0NWY4Iiw5NTgzMToiZjA5ODQ4NjI4NDVlNTliYWY5MDUiLDk1ODUzOiI5YjIyODIxZWUzYjBlMzg3OTBjMCIsOTYxODE6ImFiNDljNzE0YTVkMmQ1MDMyMGRjIiw5NjM1MjoiODU2NGI0YWRmMTRlNDdlMDUxYWYiLDk3MTQ5OiI2NWQyNWE1Y2M5YjJhZTUxNjk2OCIsOTc2NjA6ImFlOWYzZDRlNTY5NmY1ZDExOWE3Iiw5Nzg0NToiZjJkYjRkYzgyMDIzZWQ0MjIwZmMiLDk4NDMzOiI1MTM4ZmFmM2FhZjE0ZjJhNGE3OCIsOTg0NzU6IjMzNzhmN2ExMjMwNjliMmU3ZjBmIiw5ODUwOToiZjhkNmFjMzg1NTgxOTY4MDBkODEiLDk4Njk2OiJlMTBjZWVjZmQ0NDUzNWQ2ZWExYSIsOTk0NDg6IjNlY2Q1MWNjNDRjMTZlNWZlMDRmIiw5OTU5MzoiYjRmOGFlMTdjMGZiNjhmMmZiMDAiLDk5OTA4OiJmM2Y3MmYyZTk3M2ZiZDlkYTkxZSIsOTk5NDQ6ImVmZjMyODgyYzdhZGU4ZDkwZTVmIn1bZV0rIi5jc3MiLHQuZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLHQubz0oZSxhKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSksZD17fSxmPSJ0cmFkaW5ndmlldzoiLHQubD0oZSxhLGMsYik9PntpZihkW2VdKWRbZV0ucHVzaChhKTtlbHNle3ZhciBfLG87aWYodm9pZCAwIT09Yylmb3IodmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpLGk9MDtpPHMubGVuZ3RoO2krKyl7dmFyIHI9c1tpXTtpZihyLmdldEF0dHJpYnV0ZSgic3JjIik9PWV8fHIuZ2V0QXR0cmlidXRlKCJkYXRhLXdlYnBhY2siKT09ZitjKXtfPXI7YnJlYWt9fV98fChvPSEwLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKS5jaGFyc2V0PSJ1dGYtOCIsdC5uYyYmXy5zZXRBdHRyaWJ1dGUoIm5vbmNlIix0Lm5jKSxfLnNldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIixmK2MpLApfLnNyYz1lLDAhPT1fLnNyYy5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKF8uY3Jvc3NPcmlnaW49ImFub255bW91cyIpKSxkW2VdPVthXTt2YXIgbj0oYSxjKT0+e18ub25lcnJvcj1fLm9ubG9hZD1udWxsLGNsZWFyVGltZW91dChsKTt2YXIgZj1kW2VdO2lmKGRlbGV0ZSBkW2VdLF8ucGFyZW50Tm9kZSYmXy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKF8pLGYmJmYuZm9yRWFjaCgoZT0+ZShjKSkpLGEpcmV0dXJuIGEoYyl9LGw9c2V0VGltZW91dChuLmJpbmQobnVsbCx2b2lkIDAse3R5cGU6InRpbWVvdXQiLHRhcmdldDpffSksMTJlNCk7Xy5vbmVycm9yPW4uYmluZChudWxsLF8ub25lcnJvciksXy5vbmxvYWQ9bi5iaW5kKG51bGwsXy5vbmxvYWQpLG8mJmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoXyl9fSx0LnI9ZT0+eyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHQubm1kPWU9PihlLnBhdGhzPVtdLGUuY2hpbGRyZW58fChlLmNoaWxkcmVuPVtdKSxlKSx0Lmo9Nzk3OTUsKCgpPT57dmFyIGU7dC5nLmltcG9ydFNjcmlwdHMmJihlPXQuZy5sb2NhdGlvbisiIik7dmFyIGE9dC5nLmRvY3VtZW50O2lmKCFlJiZhJiYoYS5jdXJyZW50U2NyaXB0JiYiU0NSSVBUIj09PWEuY3VycmVudFNjcmlwdC50YWdOYW1lLnRvVXBwZXJDYXNlKCkmJihlPWEuY3VycmVudFNjcmlwdC5zcmMpLCFlKSl7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7aWYoYy5sZW5ndGgpZm9yKHZhciBkPWMubGVuZ3RoLTE7ZD4tMSYmKCFlfHwhL15odHRwKHM/KTovLnRlc3QoZSkpOyllPWNbZC0tXS5zcmN9aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlciIpO2U9ZS5yZXBsYWNlKC9eYmxvYjovLCIiKS5yZXBsYWNlKC8jLiokLywiIikucmVwbGFjZSgvXD8uKiQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIvIiksdC5wPWV9KSgpLHQuZy5sb2NhdGlvbiYmdC5wLnN0YXJ0c1dpdGgodC5nLmxvY2F0aW9uLm9yaWdpbikmJih0LnA9dC5wLnNsaWNlKHQuZy5sb2NhdGlvbi5vcmlnaW4ubGVuZ3RoKSksKCgpPT57Y29uc3QgZT10LnU7dC51PWE9PmUoYSkucmVwbGFjZSgiX19MQU5HX18iLHQuZy5sYW5ndWFnZSl9KSgpLCgoKT0+e3ZhciBlPXQuZSxhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyhhLGQpe3JldHVybiBlKGEpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZil7dmFyIGI9ZnVuY3Rpb24oKXtzZWxmLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYiwhMSksITE9PT1uYXZpZ2F0b3Iub25MaW5lP3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixiLCExKTpmKGQ8Mj9jKGEsZCsxKTplKGEpKX07c2V0VGltZW91dChiLGQqZCoxZTMpfSkpfSkpfXQuZT1mdW5jdGlvbihlKXtpZighYVtlXSl7YVtlXT1jKGUsMCk7dmFyIGQ9ZnVuY3Rpb24oKXtkZWxldGUgYVtlXX07YVtlXS50aGVuKGQsZCl9cmV0dXJuIGFbZV19fSkoKSwoKCk9PntpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KXt2YXIgZT1lPT5uZXcgUHJvbWlzZSgoKGEsYyk9Pnt2YXIgZD10Lm1pbmlDc3NGKGUpLGY9dC5wK2Q7aWYoKChlLGEpPT57Zm9yKHZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXt2YXIgZj0oXz1jW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpfHxfLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKCJzdHlsZXNoZWV0Ij09PV8ucmVsJiYoZj09PWV8fGY9PT1hKSlyZXR1cm4gX312YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3R5bGUiKTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKXt2YXIgXztpZigoZj0oXz1iW2RdKS5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKT09PWV8fGY9PT1hKXJldHVybiBffX0pKGQsZikpcmV0dXJuIGEoKTsoKGUsYSxjLGQsZik9Pnt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi5yZWw9InN0eWxlc2hlZXQiLGIudHlwZT0idGV4dC9jc3MiLGIub25lcnJvcj1iLm9ubG9hZD1jPT57aWYoYi5vbmVycm9yPWIub25sb2FkPW51bGwsImxvYWQiPT09Yy50eXBlKWQoKTtlbHNle3ZhciBfPWMmJigibG9hZCI9PT1jLnR5cGU/Im1pc3NpbmciOmMudHlwZSksbz1jJiZjLnRhcmdldCYmYy50YXJnZXQuaHJlZnx8YSx0PW5ldyBFcnJvcigiTG9hZGluZyBDU1MgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrbysiKSIpO3QuY29kZT0iQ1NTX0NIVU5LX0xPQURfRkFJTEVEIix0LnR5cGU9Xyx0LnJlcXVlc3Q9byxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxmKHQpfX0sYi5ocmVmPWEsMCE9PWIuaHJlZi5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iKSYmKGIuY3Jvc3NPcmlnaW49ImFub255bW91cyIpLGM/Yy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShiLGMubmV4dFNpYmxpbmcpOmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYil9KShlLGYsbnVsbCxhLGMpfSkpLGE9ezc5Nzk1OjB9O3QuZi5taW5pQ3NzPShjLGQpPT57YVtjXT9kLnB1c2goYVtjXSk6MCE9PWFbY10mJnsyMDI6MSw2NDU6MSw2NDY6MSw2NTc6MSwxNTA5OjEsMTY3NjoxLDE2Nzg6MSwyMDEzOjEsMjMzMToxLDIzNzI6MSwyNTExOjEsMzMxMDoxLDMzMjM6MSwzNzE5OjEsMzkxNjoxLDQwNDI6MSw0MTI3OjEsNDQ3NzoxLDQ2NjA6MSw0OTI5OjEsNDk2OToxLDUxODQ6MSw1MTg2OjEsNTMyMjoxLDU1Mzk6MSw1NjAzOjEsNTY4OToxLDU3NTY6MSw2MDcwOjEsNjA4MjoxLDY1ODM6MSw2NjA1OjEsNjY0NzoxLDcxMTE6MSw3MTYzOjEsNzM4NzoxLDc0NDU6MSw3NDU2OjEsNzY2NToxLDc4NjM6MSw3ODk5OjEsNzkyNzoxLDgyMTY6MSw4NTc5OjEsOWUzOjEsOTE0MDoxLDk0ODg6MSwKOTUwNDoxLDk3NDQ6MSwxMDM2NjoxLDEwMzg1OjEsMTEwMDg6MSwxMTIxODoxLDExMjU3OjEsMTE0NjE6MSwxMTQ4OToxLDExNTM3OjEsMTE3MjU6MSwxMjA1MToxLDEyMzg1OjEsMTI0MTI6MSwxMjUyNzoxLDEyNTY1OjEsMTI2NjY6MSwxMzAzOToxLDEzNDkyOjEsMTM2Nzc6MSwxNDE5MzoxLDE0NjI1OjEsMTQ2NDA6MSwxNDY1NzoxLDE0Njk3OjEsMTUzODM6MSwxNTUyNjoxLDE1NjM0OjEsMTYzOTk6MSwxNjQyMToxLDE3MDg3OjEsMTc2OTM6MSwxNzc1MToxLDE3ODYxOjEsMTc4NjU6MSwxODE2MjoxLDE4NDAwOjEsMTg0NDI6MSwxODQ3MjoxLDE4Njc0OjEsMTk0NDc6MSwxOTUxMzoxLDE5NTk1OjEsMTk1OTg6MSwxOTYzMToxLDE5Nzg3OjEsMTk4MzM6MSwyMDA4NToxLDIwMTUzOjEsMjAyNzE6MSwyMDM1NDoxLDIwMzcwOjEsMjA1NjQ6MSwyMDU5MDoxLDIwOTcxOjEsMjA5ODY6MSwyMTI0NToxLDIxNTgxOjEsMjIwNzA6MSwyMjE0NDoxLDIyNDA1OjEsMjI0NjQ6MSwyMzI1NDoxLDIzMzY5OjEsMjM2MjQ6MSwyMzY2OToxLDI0MzE2OjEsMjQ0MDg6MSwyNDU4MToxLDI0NjAzOjEsMjUxNDI6MSwyNTQ4NToxLDI1NTU0OjEsMjU1NjI6MSwyNTY0NzoxLDI1Njk4OjEsMjU4MDk6MSwyNTg5NToxLDI2MTAwOjEsMjY1OTI6MSwyNjk4OToxLDI3MDg1OjEsMjcyMTc6MSwyNzMzNzoxLDI3NDQ2OjEsMjc1MTM6MSwyNzUxNzoxLDI3NTQ5OjEsMjc2NjU6MSwyNzY5NjoxLDI3NzM2OjEsMjgwMTc6MSwyODkzNjoxLDI4OTk1OjEsMjkxMzM6MSwyOTI5NjoxLDI5MzE1OjEsMjkzMjc6MSwyOTM0ODoxLDI5NDg5OjEsMjk1MzY6MSwyOTcxNDoxLDI5OTQzOjEsMjk5OTM6MSwzMDAyOToxLDMwMzczOjEsMzA3NDU6MSwzMDc4OToxLDMwOTIyOjEsMzA5NjA6MSwzMTAwMToxLDMxMjYyOjEsMzE1NTc6MSwzMjE3NjoxLDMyNDI3OjEsMzI3NDg6MSwzMjgxNjoxLDMyODU3OjEsMzMxMjA6MSwzMzIyMToxLDMzMzY4OjEsMzM1MTU6MSwzMzU1MzoxLDM0NzU4OjEsMzUwNzM6MSwzNTE5ODoxLDM1MzQyOjEsMzUzOTk6MSwzNTYzMDoxLDM1Nzk0OjEsMzYxNzM6MSwzNjIyMjoxLDM2MzU2OjEsMzY1MjE6MSwzNjU0NToxLDM2OTg2OjEsMzc1MTM6MSwzNzU2NzoxLDM3NzQ2OjEsMzc3Njc6MSwzNzg2NzoxLDM4MDAyOjEsMzgyNjI6MSwzODQ3OToxLDM4NzgyOjEsMzg4Njg6MSwzOTc4NjoxLDQwMTY4OjEsNDAyMjA6MSw0MDgzNToxLDQwODY3OjEsNDA5MDI6MSw0MDkxNDoxLDQxNTA2OjEsNDE1ODg6MSw0MTYwODoxLDQxODExOjEsNDE5ODA6MSw0MjAzMzoxLDQyMzAxOjEsNDI3MjE6MSw0MzMyNToxLDQzNDMzOjEsNDM0NDE6MSw0MzQ4NjoxLDQzNjQ0OjEsNDM3OTI6MSw0MzgwODoxLDQzODQxOjEsNDM5MTk6MSw0MzkzOToxLDQ0MDMxOjEsNDQ0NjA6MSw0NDk0NjoxLDQ1MjQyOjEsNDUzMzE6MSw0NTM2ODoxLDQ1NDE4OjEsNDU3ODM6MSw0NTk0NToxLDQ2MDM0OjEsNDYwNTU6MSw0NjI0NToxLDQ2NTkxOjEsNDY3NTY6MSw0NjkwNzoxLDQ3MDIxOjEsNDcwOTI6MSw0NzIwMToxLDQ3MzE2OjEsNDc0NTc6MSw0NzU1MToxLDQ3NTc5OjEsNDc2MzI6MSw0ODMxMjoxLDQ4NjgyOjEsNDg4NjQ6MSw0OTE0OToxLDQ5Mjk3OjEsNDk0OTA6MSw0OTUzNjoxLDQ5NTg4OjEsNDk5OTc6MSw1MDAzNToxLDUwMjIxOjEsNTAzMTY6MSw1MDMyNToxLDUwNTg4OjEsNTA2MjI6MSw1MDc0MzoxLDUwODAwOjEsNTEwMTc6MSw1MTAzMDoxLDUxMTg0OjEsNTEyMTM6MSw1MTI1NjoxLDUxMzA5OjEsNTE2ODI6MSw1MTg1MDoxLDUxODgwOjEsNTIwNjU6MSw1MjA5NToxLDUyMTc4OjEsNTIzOTY6MSw1MjY4MDoxLDUyOTIwOjEsNTI5NjE6MSw1MzIyODoxLDUzMzI5OjEsNTM1MjE6MSw1MzcxMzoxLDUzOTIzOjEsNTQwOTM6MSw1NDMxMDoxLDU0MzM5OjEsNTUwMTE6MSw1NTI5MDoxLDU1MzM2OjEsNTYxMjE6MSw1NjIxMzoxLDU2MjUyOjEsNTcyNTQ6MSw1NzMwMDoxLDU3NTA0OjEsNTc2MjY6MSw1ODA0MzoxLDU4MDUxOjEsNTgzODQ6MSw1ODkzMzoxLDU5MzUwOjEsNTk0Mzc6MSw1OTgzMDoxLDYwMDYyOjEsNjAwOTA6MSw2MDc2OToxLDYxMTkyOjEsNjE0MTM6MSw2MTgyMToxLDYyNjAwOjEsNjI2MzA6MSw2Mjc5MDoxLDYyODA2OjEsNjI4OTI6MSw2MzAzMzoxLDYzMTAwOjEsNjM3MjM6MSw2NDExMzoxLDY0MTk1OjEsNjQ1MDM6MSw2NDY0MzoxLDY0Njc0OjEsNjU1Mjg6MSw2NTYxMzoxLDY1NjQzOjEsNjU2NzU6MSw2NTY5MjoxLDY1ODU2OjEsNjYyMjk6MSw2NjI3MDoxLDY2NDczOjEsNjY1MjI6MSw2NzIxMjoxLDY3MjQ0OjEsNjc1NDM6MSw2NzY4NToxLDY3Nzg0OjEsNjc3OTk6MSw2NzkyNDoxLDY3OTI1OjEsNjg1Nzk6MSw2ODY4NjoxLDY4OTQyOjEsNjg5NjQ6MSw2OTE4NToxLDY5MjA5OjEsNjk3NDc6MSw2OTc2NjoxLDY5ODAzOjEsNjk4MDk6MSw2OTg2MToxLDcwMjU1OjEsNzAyODA6MSw3MDM2NDoxLDcwNjU2OjEsNzA3NTY6MSw3MDgxNToxLDcxMTkwOjEsNzEzNTA6MSw3MTQxNDoxLDcxNDM3OjEsNzE0ODI6MSw3MTUyODoxLDcxOTAxOjEsNzE5OTE6MSw3MjI0OToxLDcyNTEyOjEsNzI2NjY6MSw3MjY4MDoxLDcyOTAyOjEsNzM0MjU6MSw3MzU1MToxLDczOTYwOjEsNzQyMzM6MSw3NDI3MzoxLDc0MzgxOjEsNzQ0MjI6MSw3NDQ2MToxLDc0NDcxOjEsNzQ2MzY6MSw3NDgzMDoxLDc1MTcyOjEsNzUyMTc6MSw3NTMwNDoxLDc1NjAzOjEsNzYyNzg6MSw3NjMyOToxLDc2NjY0OjEsNzY5MTI6MSw3NzI2NDoxLDc4MTgyOjEsNzgyMzc6MSw3ODM0MToxLDc4NDA0OjEsNzg0MzQ6MSw3ODQ3MToxLDc4NjUyOjEsNzg4OTk6MSw3OTE5MToxLDc5MjQ0OjEsNzkzOTg6MSw3OTQzOToxLDc5NzkxOjEsNzk4OTI6MSw4MDA0MToxLDgwNjM5OjEsODA3MzE6MSw4MDc2MToxLDgwNzgyOjEsODEwMDE6MSw4MTA3MjoxLDgxMTA3OjEsODEyMTA6MSw4MTI0NzoxLDgxNTI5OjEsODE4MTg6MSw4MTkwMzoxLDgyMjcwOjEsODIyNzE6MSw4MjU4NjoxLDgzMDQxOjEsODMyNjE6MSw4MzQ4ODoxLDgzNTI5OjEsODM2NzU6MSw4NDIyNDoxLDg0MzA2OjEsODQzMzU6MSw4NDk0ODoxLDg1NTExOjEsODYwODc6MSw4NjE3ODoxLDg2MzYwOjEsODY0MjM6MSw4NjU0NDoxLAo4Njk5NzoxLDg3MjU2OjEsODc0NzQ6MSw4NzQ5ODoxLDg3NjczOjEsODc3MjE6MSw4Nzc0MDoxLDg3NzY3OjEsODgzODU6MSw4ODY0MToxLDg5MDQ0OjEsODkxOTU6MSw4OTIwNDoxLDg5NDMwOjEsODk1NTg6MSw5MDMzMDoxLDkwMzc4OjEsOTA3NDE6MSw5MDk2MDoxLDkxMjAwOjEsOTE2NzA6MSw5MTY3ODoxLDkxODU1OjEsOTIzOTM6MSw5MzE4ODoxLDkzNDE2OjEsOTM0MjE6MSw5NDA1NDoxLDk0MjMyOjEsOTQ5NDg6MSw5NTE1ODoxLDk1ODMxOjEsOTU4NTM6MSw5NjE4MToxLDk2MzUyOjEsOTY1ODc6MSw5NzE0OToxLDk3NjYwOjEsOTc4NDU6MSw5ODA4NDoxLDk4NDMzOjEsOTg0NzU6MSw5ODUwOToxLDk4Njk2OjEsOTk0NDg6MSw5OTU5MzoxLDk5OTA4OjEsOTk5NDQ6MX1bY10mJmQucHVzaChhW2NdPWUoYykudGhlbigoKCk9PnthW2NdPTB9KSwoZT0+e3Rocm93IGRlbGV0ZSBhW2NdLGV9KSkpfX19KSgpLHQuaTE4bmV4dD0oZSxhPXt9LGMsZD10LmcubGFuZ3VhZ2UpPT57aWYobnVsbD09PWUpe2lmKEFycmF5LmlzQXJyYXkoYykpcmV0dXJuIGNbdm9pZCAwPT09YS5jb3VudD8wOnQuX3BsdXJhbFtkXShhLmNvdW50KV0ucmVwbGFjZSgveyhcdyspfS9nLCgoZSxjKT0+dm9pZCAwIT09KGEucmVwbGFjZXx8YSlbY10/KGEucmVwbGFjZXx8YSlbY106ZSkpO2lmKCJvYmplY3QiPT10eXBlb2YgYylyZXR1cm4gY1t0LmcubGFuZ3VhZ2VdP3QuaTE4bmV4dChudWxsLGEsY1t0LmcubGFuZ3VhZ2VdKTp0LmkxOG5leHQobnVsbCxhLGMuZW4sImVuIil9ZWxzZSBpZihjJiZlKXtjb25zdCBkPWAke2V9JHthLmNvbnRleHQ/YF8ke2EuY29udGV4dH1gOiIifWA7aWYoY1tkXSlyZXR1cm4gdC5pMThuZXh0KG51bGwsYSxjW2RdKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZS50b1N0cmluZygpOiJzdHJpbmciIT10eXBlb2YgZT8iIjplfSwoKCk9Pnt0LmI9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuYmFzZVVSSXx8c2VsZi5sb2NhdGlvbi5ocmVmO3ZhciBlPXs3OTc5NTowLDM5MDU6MCw1NDY4MTowLDMxODM3OjAsNTE1MDg6MCw0OTUxODowLDMyNjMyOjAsODQwODowLDk5NTI3OjAsMTE0MDk6MCwzMDIwMDowLDUyODQyOjAsODg5MDY6MCwxMzgwOTowLDg1NTEwOjAsMzM3MzU6MH07dC5mLmo9KGEsYyk9Pnt2YXIgZD10Lm8oZSxhKT9lW2FdOnZvaWQgMAo7aWYoMCE9PWQpaWYoZCljLnB1c2goZFsyXSk7ZWxzZSBpZigvXigxKDAzKDY2fDg1KXwxKDQoMDl8NjF8ODkpfDAwOHwyMTh8MjU3fDUzN3w3MjUpfDIoMDUxfDM4NXw0MTJ8NTI3fDU2NXw2NjYpfDMoMDM5fDQ5Mnw2Nzd8ODA5KXw0KDYoMjV8NDB8NTd8OTcpfDE5Myl8NSgwOXwzODN8NTI2fDYzNCl8NigzOTl8NDIxfDc2fDc4KXw3KDg2WzE1XXwwODd8NjkzfDc1MSl8OCg0KDAwfDQyfDcyKXwxNjJ8Njc0KXw5KDUoMTN8OTV8OTgpfDQ0N3w2MzF8Nzg3fDgzMykpfDIoMChbMjldNzF8MDg1fDEzfDE1M3wyfDM1NHwzNzB8NTY0fDU5MHw5ODYpfDIoMDcwfDE0NHw0MDV8NDY0KXwzKFszNl02OXwyNTR8MzF8NjI0fDcyKXw0KDMxNnw0MDh8NTgxfDYwMyl8NSgxMXwxNDJ8NDg1fDU1NHw1NjJ8NjQ3fDY5OHw4MDl8ODk1KXw2KDEwMHw1OTJ8OTg5KXw3KDUoMTN8MTd8NDkpfCg0NHw2OXw3Myk2fDA4NXwyMTd8MzM3fDY2NSl8OCgwMTd8OTM2fDk5NSl8OSgzKDE1fDI3fDQ4KXwoMTN8OTR8OTkpM3wyOTZ8NDg5fDUzNnw3MTQpfDEyNDV8MTU4MSl8MygwKDAyOXwyMDB8MzczfDc0NXw3ODl8OTIyfDk2MCl8MSgwMDF8MjYyfDU1N3w4MzcpfDIoMTc2fDQyN3w2MzJ8NzQ4fDgxNnw4NTcpfDMoMTB8MTIwfDIyMXwyM3wzNjh8NTE1fDU1M3w3MzUpfDUoMDczfDE5OHwzNDJ8Mzk5fDYzMHw3OTQpfDYoMTczfDIyMnwzNTZ8NTIxfDU0NXw5ODYpfDcoWzU3OF02N3wxOXw1MTN8NzQ2KXw4KCgwMHwyNnw3OCkyfDQ3OXw4NjgpfDkoMDV8MTZ8Nzg2KXw0NzU4KXw0KDAoMTY4fDIyMHw0Mnw4MzV8ODY3fDkwMnw5MTQpfDEoMjd8NTA2fDU4OHw2MDh8ODExfDk4MCl8MigwMzN8MzAxfDcyMSl8Myg0KDMzfDQxfDg2KXwzMjV8NjQ0fDc5Mnw4MDh8ODQxfDkxOXw5MzkpfDQoMDMxfDQ2MHw3N3w5NDYpfDUoMjQyfDMzMXwzNjh8NDE4fDc4M3w5NDUpfDYoMDM0fDA1NXwyNDV8NTkxfDYwfDc1Nnw5MDcpfDcoKDAyfDIwfDU1KTF8MDkyfDMxNnw0NTd8NTc5fDYzMil8OCgzMTJ8NjgyfDg2NCl8OSgyOSh8Nyl8NSgxOHwzNnw4OCl8MTQ5fDQ5MHw2OXw5OTcpKXw1KDAoMDM1fDIyMXwzMTZ8MzI1fDU4OHw2MjJ8NzQzfDgwMCl8MSg4KDR8NTB8Nnw4MCl8MDE3fDAzMHwxODR8MjEzfDI1NnwzMDl8NTA4fDY4Mil8MigwNjV8MDk1fDE3OHwzOTZ8NjgwfDg0Mnw5MjB8OTYxKXwzKDIyKHw4KXwzMjl8NTIxfDcxM3w5MjMpfDQoMDkzfDMxMHwzMzl8NjgxKXw1KDAxMXwyOTB8MzM2fDM5KXw2KDAzfDEyMXwyMTN8MjUyfDg5KXw3KDI1NHwzMDB8NTA0fDU2fDYyNil8OCgwNDN8MDUxfDM4NHw5MzMpfDkoMzUwfDQzN3w4MzApKXw2KDAoMDYyfDA5MHw3MHw3Njl8ODIpfDEoMTkyfDQxM3w4MjEpfDIoKDYwfDYzfDc5KTB8ODA2fDg5Mil8MygwMzN8MTAwfDcyMyl8NCg2KHw0M3w3NCl8MTEzfDE5NXw1fDUwMyl8NSg2KDEzfDQzfDc1fDkyKXw1Mjh8N3w4M3w4NTYpfDYoNDcofDMpfDA1fDIyOXwyNzB8NTIyKXw3KDkyWzQ1XXwyMTJ8MjQ0fDU0M3w2ODV8Nzg0fDc5OSl8OCg1Nzl8Njg2fDk0Mnw5NjQpfDkoOCgwM3wwOXw2MSl8MTg1fDIwOXw3NDd8NzY2KSl8NygwKFs2N101NnwyNTV8MjgwfDM2NHw4MTUpfDEoNCgxNHwzN3w4Mil8KDF8OTB8OTkpMXwxOTB8MzUwfDUyOHw2Myl8MigyNDl8NTEyfDY2Nnw2ODB8OTAyKXwzKDQyNXw1NTF8ODd8OTYwKXw0KDQoMjJ8NXw2MXw3MSl8MjMzfDI3M3wzODF8NTZ8NjM2fDgzMCl8NSgxNzJ8MjE3fDMwNHw2MDMpfDYoMjc4fDMyOXw2NXw2NjR8OTEyKXw4KDQoMDR8MzR8NzEpfCh8OCk5OXwxODJ8MjM3fDM0MXw2M3w2NTIpfDkoNzlbMTVdfDE5MXwyNDR8Mjd8Mzk4fDQzOXw4OTIpfDcyNjQpfDgoMCg3KDMxfDYxfDgyKXwwNDF8NjM5KXwxKDAwMXwwNzJ8MTA3fDIxMHwyNDd8NTI5fDgxOHw5MDMpfDIoMjdbMDFdfDE2fDU4Nil8MygwNDF8MjYxfDQ4OHw1Mjl8Njc1KXw0KDA4fDIyNHwzMDZ8MzM1fDk0OCl8NSg1MVswMV18NzkpfDYoMDg3fDE3OHwzNjB8NDIzfDU0NHw5OTcpfDcoNygyMXw0MHw2Nyl8MjU2fDQ3NHw0OTh8NjczKXw4KDM4NXw2NDF8OTA2KXw5KDA0NHwxOTV8MjA0fDQzMHw1NTgpKXw5KDAoKDB8MzN8OTYpMHwzNzh8NzQxKXwxKDY3WzA4XXwyMDB8NDB8ODU1KXwzKDE4OHw0MTZ8NDIxKXw0KDA1NHwyMzJ8ODh8OTQ4KXw1KDA0fDE1OHw4MzF8ODUzKXw2KDE4MXwzNTJ8NTg3KXw3KDE0OXw0NHw2NjB8ODQ1KXw4KDA4NHw0MzN8NDc1fDUwOXw2OTYpfDkoNDQ4fDUyN3w1OTN8OTA4fDk0NCl8MjM5MykpJC8udGVzdChhKSllW2FdPTA7ZWxzZXt2YXIgZj1uZXcgUHJvbWlzZSgoKGMsZik9PmQ9ZVthXT1bYyxmXSkpO2MucHVzaChkWzJdPWYpO3ZhciBiPXQucCt0LnUoYSksXz1uZXcgRXJyb3I7dC5sKGIsKGM9PntpZih0Lm8oZSxhKSYmKDAhPT0oZD1lW2FdKSYmKGVbYV09dm9pZCAwKSxkKSl7dmFyIGY9YyYmKCJsb2FkIj09PWMudHlwZT8ibWlzc2luZyI6Yy50eXBlKSxiPWMmJmMudGFyZ2V0JiZjLnRhcmdldC5zcmM7Xy5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrYSsiIGZhaWxlZC5cbigiK2YrIjogIitiKyIpIixfLm5hbWU9IkNodW5rTG9hZEVycm9yIixfLnR5cGU9ZixfLnJlcXVlc3Q9YixkWzFdKF8pfX0pLCJjaHVuay0iK2EsYSl9fSx0LkYuaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04IixjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQubmMmJmMuc2V0QXR0cmlidXRlKCJub25jZSIsdC5uYyksYy5yZWw9InByZWZldGNoIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYyl9fSx0Lkguaj1hPT57CmlmKCEodC5vKGUsYSkmJnZvaWQgMCE9PWVbYV18fC9eKDEoMDMoNjZ8ODUpfDEoNCgwOXw2MXw4OSl8MDA4fDIxOHwyNTd8NTM3fDcyNSl8MigwNTF8Mzg1fDQxMnw1Mjd8NTY1fDY2Nil8MygwMzl8NDkyfDY3N3w4MDkpfDQoNigyNXw0MHw1N3w5Nyl8MTkzKXw1KDA5fDM4M3w1MjZ8NjM0KXw2KDM5OXw0MjF8NzZ8NzgpfDcoODZbMTVdfDA4N3w2OTN8NzUxKXw4KDQoMDB8NDJ8NzIpfDE2Mnw2NzQpfDkoNSgxM3w5NXw5OCl8NDQ3fDYzMXw3ODd8ODMzKSl8MigwKFsyOV03MXwwODV8MTN8MTUzfDJ8MzU0fDM3MHw1NjR8NTkwfDk4Nil8MigwNzB8MTQ0fDQwNXw0NjQpfDMoWzM2XTY5fDI1NHwzMXw2MjR8NzIpfDQoMzE2fDQwOHw1ODF8NjAzKXw1KDExfDE0Mnw0ODV8NTU0fDU2Mnw2NDd8Njk4fDgwOXw4OTUpfDYoMTAwfDU5Mnw5ODkpfDcoNSgxM3wxN3w0OSl8KDQ0fDY5fDczKTZ8MDg1fDIxN3wzMzd8NjY1KXw4KDAxN3w5MzZ8OTk1KXw5KDMoMTV8Mjd8NDgpfCgxM3w5NHw5OSkzfDI5Nnw0ODl8NTM2fDcxNCl8MTI0NXwxNTgxKXwzKDAoMDI5fDIwMHwzNzN8NzQ1fDc4OXw5MjJ8OTYwKXwxKDAwMXwyNjJ8NTU3fDgzNyl8MigxNzZ8NDI3fDYzMnw3NDh8ODE2fDg1Nyl8MygxMHwxMjB8MjIxfDIzfDM2OHw1MTV8NTUzfDczNSl8NSgwNzN8MTk4fDM0MnwzOTl8NjMwfDc5NCl8NigxNzN8MjIyfDM1Nnw1MjF8NTQ1fDk4Nil8NyhbNTc4XTY3fDE5fDUxM3w3NDYpfDgoKDAwfDI2fDc4KTJ8NDc5fDg2OCl8OSgwNXwxNnw3ODYpfDQ3NTgpfDQoMCgxNjh8MjIwfDQyfDgzNXw4Njd8OTAyfDkxNCl8MSgyN3w1MDZ8NTg4fDYwOHw4MTF8OTgwKXwyKDAzM3wzMDF8NzIxKXwzKDQoMzN8NDF8ODYpfDMyNXw2NDR8NzkyfDgwOHw4NDF8OTE5fDkzOSl8NCgwMzF8NDYwfDc3fDk0Nil8NSgyNDJ8MzMxfDM2OHw0MTh8NzgzfDk0NSl8NigwMzR8MDU1fDI0NXw1OTF8NjB8NzU2fDkwNyl8NygoMDJ8MjB8NTUpMXwwOTJ8MzE2fDQ1N3w1Nzl8NjMyKXw4KDMxMnw2ODJ8ODY0KXw5KDI5KHw3KXw1KDE4fDM2fDg4KXwxNDl8NDkwfDY5fDk5NykpfDUoMCgwMzV8MjIxfDMxNnwzMjV8NTg4fDYyMnw3NDN8ODAwKXwxKDgoNHw1MHw2fDgwKXwwMTd8MDMwfDE4NHwyMTN8MjU2fDMwOXw1MDh8NjgyKXwyKDA2NXwwOTV8MTc4fDM5Nnw2ODB8ODQyfDkyMHw5NjEpfDMoMjIofDgpfDMyOXw1MjF8NzEzfDkyMyl8NCgwOTN8MzEwfDMzOXw2ODEpfDUoMDExfDI5MHwzMzZ8MzkpfDYoMDN8MTIxfDIxM3wyNTJ8ODkpfDcoMjU0fDMwMHw1MDR8NTZ8NjI2KXw4KDA0M3wwNTF8Mzg0fDkzMyl8OSgzNTB8NDM3fDgzMCkpfDYoMCgwNjJ8MDkwfDcwfDc2OXw4Mil8MSgxOTJ8NDEzfDgyMSl8MigoNjB8NjN8NzkpMHw4MDZ8ODkyKXwzKDAzM3wxMDB8NzIzKXw0KDYofDQzfDc0KXwxMTN8MTk1fDV8NTAzKXw1KDYoMTN8NDN8NzV8OTIpfDUyOHw3fDgzfDg1Nil8Nig0Nyh8Myl8MDV8MjI5fDI3MHw1MjIpfDcoOTJbNDVdfDIxMnwyNDR8NTQzfDY4NXw3ODR8Nzk5KXw4KDU3OXw2ODZ8OTQyfDk2NCl8OSg4KDAzfDA5fDYxKXwxODV8MjA5fDc0N3w3NjYpKXw3KDAoWzY3XTU2fDI1NXwyODB8MzY0fDgxNSl8MSg0KDE0fDM3fDgyKXwoMXw5MHw5OSkxfDE5MHwzNTB8NTI4fDYzKXwyKDI0OXw1MTJ8NjY2fDY4MHw5MDIpfDMoNDI1fDU1MXw4N3w5NjApfDQoNCgyMnw1fDYxfDcxKXwyMzN8MjczfDM4MXw1Nnw2MzZ8ODMwKXw1KDE3MnwyMTd8MzA0fDYwMyl8NigyNzh8MzI5fDY1fDY2NHw5MTIpfDgoNCgwNHwzNHw3MSl8KHw4KTk5fDE4MnwyMzd8MzQxfDYzfDY1Mil8OSg3OVsxNV18MTkxfDI0NHwyN3wzOTh8NDM5fDg5Mil8NzI2NCl8OCgwKDcoMzF8NjF8ODIpfDA0MXw2MzkpfDEoMDAxfDA3MnwxMDd8MjEwfDI0N3w1Mjl8ODE4fDkwMyl8MigyN1swMV18MTZ8NTg2KXwzKDA0MXwyNjF8NDg4fDUyOXw2NzUpfDQoMDh8MjI0fDMwNnwzMzV8OTQ4KXw1KDUxWzAxXXw3OSl8NigwODd8MTc4fDM2MHw0MjN8NTQ0fDk5Nyl8Nyg3KDIxfDQwfDY3KXwyNTZ8NDc0fDQ5OHw2NzMpfDgoMzg1fDY0MXw5MDYpfDkoMDQ0fDE5NXwyMDR8NDMwfDU1OCkpfDkoMCgoMHwzM3w5NikwfDM3OHw3NDEpfDEoNjdbMDhdfDIwMHw0MHw4NTUpfDMoMTg4fDQxNnw0MjEpfDQoMDU0fDIzMnw4OHw5NDgpfDUoMDR8MTU4fDgzMXw4NTMpfDYoMTgxfDM1Mnw1ODcpfDcoMTQ5fDQ0fDY2MHw4NDUpfDgoMDg0fDQzM3w0NzV8NTA5fDY5Nil8OSg0NDh8NTI3fDU5M3w5MDh8OTQ0KXwyMzkzKSkkLy50ZXN0KGEpKSl7ZVthXT1udWxsO3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmNoYXJzZXQ9InV0Zi04Iix0Lm5jJiZjLnNldEF0dHJpYnV0ZSgibm9uY2UiLHQubmMpLGMucmVsPSJwcmVsb2FkIixjLmFzPSJzY3JpcHQiLGMuaHJlZj10LnArdC51KGEpLDAhPT1jLmhyZWYuaW5kZXhPZih3aW5kb3cubG9jYXRpb24ub3JpZ2luKyIvIikmJihjLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGMpfX0sdC5PLmo9YT0+MD09PWVbYV07dmFyIGE9KGEsYyk9Pnt2YXIgZCxmLFtiLF8sb109YyxzPTA7aWYoYi5zb21lKChhPT4wIT09ZVthXSkpKXtmb3IoZCBpbiBfKXQubyhfLGQpJiYodC5tW2RdPV9bZF0pO2lmKG8pdmFyIGk9byh0KX1mb3IoYSYmYShjKTtzPGIubGVuZ3RoO3MrKylmPWJbc10sdC5vKGUsZikmJmVbZl0mJmVbZl1bMF0oKSxlW2ZdPTA7cmV0dXJuIHQuTyhpKX0sYz1zZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdO2MuZm9yRWFjaChhLmJpbmQobnVsbCwwKSksYy5wdXNoPWEuYmluZChudWxsLGMucHVzaC5iaW5kKGMpKX0pKCksdC5wPXQuZyYmdC5nLldFQlBBQ0tfUFVCTElDX1BBVEh8fHQucCxiPXsxNTE3MzpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLDU2MzgyOls4NDY5Myw4ODk5NywzMDY5OSw0NjIxNyw2NjkzMyw3MTMxOV0sNzA1MzI6Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XSw5MjIyOTpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldLAo5Mjk2ODpbODQ2OTMsODg5OTcsMzA2OTksNDYyMTcsNjY5MzMsNzEzMTldfSx0LmYucHJlZmV0Y2g9KGUsYSk9PlByb21pc2UuYWxsKGEpLnRoZW4oKCgpPT57dmFyIGE9YltlXTtBcnJheS5pc0FycmF5KGEpJiZhLm1hcCh0LkUpfSkpLCgoKT0+e3ZhciBlPXsxOTIxMzpbNTY4MDEsMTMwMzksMTY5OV0sNzE1NjU6WzU2ODAxLDEzMDM5LDE2OTldLDg2NDEzOls1NjgwMSwxMzAzOSwxNjk5XX07dC5mLnByZWxvYWQ9YT0+e3ZhciBjPWVbYV07QXJyYXkuaXNBcnJheShjKSYmYy5tYXAodC5HKX19KSgpfSkoKTs="}},"time_used":14,"timings":{"blocked":-1,"dns":1,"connect":2,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/images/clock-spinner.svg","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:48.073Z","timestamp":1785136428073,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/images/clock-spinner.svg HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=5,i\r\ncontent-type: image/svg+xml\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3wnLJuQ0r7AGcs8afp1gYdUEY0ttMgYJ3lLyeFxhaR%2BJCCZpP4tZvig8%2BqO48jZ4wqGCtRj53OPiXr2nmxJ7d9TTbt0vDU83L%2BfRNTiMCwCWKr8DhvluZ72NgyBGSNohaw%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-343\"\r\ncf-ray: a219d7f37b7f0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":835,"size_decoded":1155,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"9c23baf504d110fc41d18841f927623c","sha1":"bdad4d5128bbd039fc7157b74f0b2803154599ee","sha256":"ec8053cd20a2ee992bdb86913133a9abc044ffa23c7c9827cf02bd1c4a9bd965","sha512":"86ebc66de5a358a64bd68196a04d01fb4cb6a8703438f019fecfd082ae52b29b77b662991d3f74d71911893ef3fd97128d9f0f15e0b0bd670cdec70c8bde0be9","ssdeep":"","tlshash":"3c018e7a0355469d7501df780764538d73b2c1e5786490d4f74f04a56f40eb7217af92","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-08-10T18:26:39.61174Z","times_seen":117,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDE4IDIwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjN0Y5Q0E3OwogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAuMTU5LDIuNlYxLjhoMC42NjhhMC41MjYsMC41MjYsMCwwLDAsLjUzMy0wLjUxN1YwLjUxOEEwLjUyNywwLjUyNywwLDAsMCwxMC44MjcsMEg2LjkwNmEwLjUyOCwwLjUyOCwwLDAsMC0uNTMzLjUxOFYxLjI4MWEwLjUyNywwLjUyNywwLDAsMCwuNTMzLjUxN0g3LjU3NFYyLjYzQTguODIzLDguODIzLDAsMCwwLS4wMDcsMTEuMjZhOC44NzMsOC44NzMsMCwwLDAsOSw4Ljc0LDguODc0LDguODc0LDAsMCwwLDktOC43NEE4LjgzMiw4LjgzMiwwLDAsMCwxMC4xNTksMi42Wk04Ljk5NCwxNy43MzdBNi41NzUsNi41NzUsMCwwLDEsMi4zMjUsMTEuMjYsNi41NzQsNi41NzQsMCwwLDEsOC45OTQsNC43ODRhNi41NzQsNi41NzQsMCwwLDEsNi42NjksNi40NzZBNi41NzQsNi41NzQsMCwwLDEsOC45OTQsMTcuNzM3Wk04LjkzNSw3LjIzYTAuODE4LDAuODE4LDAsMSwwLS44NDItMC44MTdBMC44MzEsMC44MzEsMCwwLDAsOC45MzUsNy4yM1ptNC4zNDUtLjI2OUw5Ljc4OCwxMC4zNTJhMS4yNDMsMS4yNDMsMCwwLDAtLjc5NC0wLjI4MywxLjE5MiwxLjE5MiwwLDEsMCwxLjIyOCwxLjE5MSwxLjE2NiwxLjE2NiwwLDAsMC0uMjkyLTAuNzdMMTMuNDIzLDcuMVoiLz4KPC9zdmc+Cg=="}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.437Z","timestamp":1785136428437,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.46024.97176aa48fe9d9a0d127.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-1c38c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f0fc60ec4625afa68f3dd93cce0d7d31\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":115596,"size_decoded":32391,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3072)","md5":"07d126f5f997c2ed316e3742d5b45af1","sha1":"826dfb648f32acec5e5699cc15a08026e137e6a3","sha256":"fb0cd50a605d7edce14affef79a6dfae9404ba2f7d7818008345363e9e26a988","sha512":"c7114acc89392a1469487feb62b74be0cd3a585a3b5d7a4bb38f30575f557f59860a020911d77ff07f283945810bbfe3bd8586e314442a21ea0c2e1e3625bfc6","ssdeep":"3072:WFM91hHo+AyVKC+wNBsx4A5b0jp4mMGOlyIhVh4dt//9:WFM91hHo+Ay/NNBM4A5bsp4mMGOlVp4d","tlshash":"69b3fe03c901d0ea9fb2d6063ba5dcc878f0774541f0e6c27b998f29c5a3da6593a778","first_seen":"2026-07-25T03:24:57.378453Z","last_seen":"2026-07-28T04:58:41.981265Z","times_seen":293,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNzg1OSwyMDg2NiwyNDkyOSw0MDI0MCw0NjAyNCw1MjMyNCw1NzE4NCw1ODY2Nyw5NDM4OF0sezE2MDU2MihlKXtlLmV4cG9ydHM9WyJDTUYiXX0sNjE3MzQwKGUpe2UuZXhwb3J0cz1bIkNvbHVtbnMiXX0sMTE4NDkxKGUpe2UuZXhwb3J0cz1bIkNhbmRsZXMiXX0sNzk2MDkzKGUpe2UuZXhwb3J0cz1bIkFyZWEiXX0sOTQxNjI5KGUpe2UuZXhwb3J0cz1bIkJhcnMiXX0sNTI1MzMxKGUpe2UuZXhwb3J0cz1bIkJhc2VsaW5lIl19LDQxMzQzKGUpe2UuZXhwb3J0cz1bIkthZ2kiXX0sOTY3ODQxKGUpe2UuZXhwb3J0cz1bIkhMQyBhcmVhIl19LDY4MzAwKGUpe2UuZXhwb3J0cz1bIkhMQyBiYXJzIl19LDMzMTgyNChlKXtlLmV4cG9ydHM9WyJIb2xsb3cgY2FuZGxlcyJdfSw4MzU1NDMoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sOTUyODEwKGUpe2UuZXhwb3J0cz1bIkhpZ2gtbG93Il19LDIxMDQ5OShlKXtlLmV4cG9ydHM9WyJMaW5lIl19LDE4NjE0NyhlKXtlLmV4cG9ydHM9WyJMaW5lIHdpdGggbWFya2VycyJdfSwzMDc0MzYoZSl7ZS5leHBvcnRzPVsiTGluZSBicmVhayJdfSw2ODc5NTEoZSl7ZS5leHBvcnRzPVsiU2Vzc2lvbiB2b2x1bWUgcHJvZmlsZSJdfSw5MTYxNDgoZSl7ZS5leHBvcnRzPVsiU3RlcCBsaW5lIl19LDg2NzAyMShlKXtlLmV4cG9ydHM9WyJQb2ludCAmIGZpZ3VyZSJdfSwxODgzNTIoZSl7ZS5leHBvcnRzPVsiUmFuZ2UiXX0sNDYxNzM4KGUpe2UuZXhwb3J0cz1bIlJlbmtvIl19LDExNzk4NChlKXtlLmV4cG9ydHM9WyJUaW1lIHByaWNlIG9wcG9ydHVuaXR5Il19LDg5MjM3NShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgY2FuZGxlcyJdfSwyMDEwNzMoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGZvb3RwcmludCJdfSw2NDE1OTgoZSl7ZS5leHBvcnRzPVsiUHJpY2VzIl19LDc1NDYoZSl7ZS5leHBvcnRzPVsiWWllbGQiXX0sNzUxMDMzKGUpe2UuZXhwb3J0cz1bIllpZWxkcyJdfSw5NDk3MDQoZSl7ZS5leHBvcnRzPVsiTUZJIl19LDI3NDg3NChlKXtlLmV4cG9ydHM9WyItREkiXX0sODE5MDQyKGUpe2UuZXhwb3J0cz1bIitESSJdfSwzNjIwMDQoZSl7ZS5leHBvcnRzPVsiQWxsIGl0ZW1zIl19LDMzMzM1KGUpe2UuZXhwb3J0cz1bIk5vdGhpbmcgc2VsZWN0ZWQiXX0sNzU0OTI1KGUpe2UuZXhwb3J0cz1bIlBhdHRlcm4iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMTg1NDk5KGUpe2UuZXhwb3J0cz1bIkFsbCBQYWlycyJdfSwyMTc3ODgoZSl7ZS5leHBvcnRzPVsiTiJdfSw0MTM1MzcoZSl7ZS5leHBvcnRzPVsiQiJdfSw5OTE2OTcoZSl7ZS5leHBvcnRzPVsiUyJdfSwxOTE0MzIoZSl7ZS5leHBvcnRzPVsiRCJdfSw4ODkxMChlKXtlLmV4cG9ydHM9WyJNIl19LDMyMzU3MChlKXtlLmV4cG9ydHM9WyJXIl19LDI0MDczKGUpe2UuZXhwb3J0cz1bImgiXX0sNjE4NChlKXtlLmV4cG9ydHM9WyJtIl19LDIwNTkoZSl7ZS5leHBvcnRzPVsiTWFyZ2lucyJdfSw1NjU5NjIoZSl7ZS5leHBvcnRzPVsiQnV5Il19LDQ1OTQ2MyhlKXtlLmV4cG9ydHM9WyJOZXV0cmFsIl19LDI1NzY0MyhlKXtlLmV4cG9ydHM9WyJTZWxsIl19LDQ4OTg2OShlKXtlLmV4cG9ydHM9WyJTdHJvbmcgQnV5Il19LDY5MTU0MyhlKXtlLmV4cG9ydHM9WyJTdHJvbmcgU2VsbCJdfSw3MzQ3NTAoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDI0ODc4NShlKXtlLmV4cG9ydHM9WyJCdWxsIEJlYXIgUG93ZXIiXX0sOTMwMDk4KGUpe2UuZXhwb3J0cz1bIkRvamkiXX0sNzYzMjI2KGUpe2UuZXhwb3J0cz1bIlNwaW5uaW5nIFRvcCBCbGFjayJdfSwzMzM5MTQoZSl7ZS5leHBvcnRzPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl19LDQ3NzQ3NShlKXtlLmV4cG9ydHM9WyJUZWNobmljYWxzIl19LDU5NjE2OChlKXtlLmV4cG9ydHM9WyJWb2wiXX0sODY4NDE5KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw1MzkyMzgoZSl7ZS5leHBvcnRzPVsiJVIiXX0sMTYxNTgzKGUpe2UuZXhwb3J0cz1bIjEtTW9udGggSGlnaCJdfSwyMDA5MjAoZSl7ZS5leHBvcnRzPVsiMS1Nb250aCBMb3ciXX0sMTgxMjI4KGUpe2UuZXhwb3J0cz1bIjEtWSBCZXRhIl19LDE4NjcyNihlKXtlLmV4cG9ydHM9WyIxLVllYXIgQmV0YSJdfSwxMTE5NzYoZSl7ZS5leHBvcnRzPVsiMSB5ZWFyIl19LDgxODAwMihlKXtlLmV4cG9ydHM9WyIxIHllYXIgcHJpY2UgdGFyZ2V0Il19LDE3MzI0MChlKXtlLmV4cG9ydHM9WyIxNW0iXX0sODMyNzMzKGUpe2UuZXhwb3J0cz1bIjFNIl19LDQ5MjEzNShlKXtlLmV4cG9ydHM9WyIxVyJdfSw0MTU3NTEoZSl7ZS5leHBvcnRzPVsiMW0iXX0sMjg5NDY0KGUpe2UuZXhwb3J0cz1bIjFoIl19LDk5MDc3KGUpe2UuZXhwb3J0cz1bIjMtTW9udGggSGlnaCJdfSw4ODY5MTgoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBMb3ciXX0sNzc5MDgzKGUpe2UuZXhwb3J0cz1bIjMtTW9udGggUGVyZiJdfSw2NjQyNDIoZSl7ZS5leHBvcnRzPVsiMy1Nb250aCBQZXJmb3JtYW5jZSJdfSwzMjgwMzAoZSl7ZS5leHBvcnRzPVsiMyBtb250aHMiXX0sNTUyNzQzKGUpe2UuZXhwb3J0cz1bIjRoIl19LDE5MzI1OShlKXtlLmV4cG9ydHM9WyI1MiBXZWVrIEhpZ2giXX0sNjY5MzA4KGUpe2UuZXhwb3J0cz1bIjUyIFdlZWsgTG93Il19LDQ5MDU3NyhlKXtlLmV4cG9ydHM9WyI1WSBQZXJmIl19LDkzNTgxOShlKXtlLmV4cG9ydHM9WyI1WSBQZXJmb3JtYW5jZSJdfSw4MDE0ODAoZSl7ZS5leHBvcnRzPVsiNW0iXX0sCjk3ODc2MChlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIEhpZ2giXX0sNjAzNTA5KGUpe2UuZXhwb3J0cz1bIjYtTW9udGggTG93Il19LDc2ODc4NihlKXtlLmV4cG9ydHM9WyI2LU1vbnRoIFBlcmYiXX0sOTYwNjYzKGUpe2UuZXhwb3J0cz1bIjYtTW9udGggUGVyZm9ybWFuY2UiXX0sNzUzMTYoZSl7ZS5leHBvcnRzPVsiQ0NJMjAiXX0sNzk2ODkxKGUpe2UuZXhwb3J0cz1bIkNFRiJdfSw0NDM2MjcoZSl7ZS5leHBvcnRzPVsiQ291bnRyeSJdfSwyMjU3MDYoZSl7ZS5leHBvcnRzPVsiQ291cG9uIl19LDgyNTE3OChlKXtlLmV4cG9ydHM9WyJDb3VyaWVyIFNlcnZpY2VzIl19LDY4Mzc0MChlKXtlLmV4cG9ydHM9WyJDb2FsIl19LDMxMDQoZSl7ZS5leHBvcnRzPVsiQ29hbCBNaW5pbmcgU3VwcG9ydCJdfSw4MzU4OTQoZSl7ZS5leHBvcnRzPVsiQ29hbCBXaG9sZXNhbGUiXX0sMzI1NzMyKGUpe2UuZXhwb3J0cz1bIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIl19LDMyNzA4NChlKXtlLmV4cG9ydHM9WyJDb2ZmZWUgJiBUZWEiXX0sMzU1MDIoZSl7ZS5leHBvcnRzPVsiQ29mZmVlLCBUZWEgJiBDb2NvYSBGYXJtaW5nIl19LDU0NTgoZSl7ZS5leHBvcnRzPVsiQ29pbiJdfSw2MjM4MDkoZSl7ZS5leHBvcnRzPVsiQ29rZSBDb2FsIE1pbmluZyJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sNDkyNjc5KGUpe2UuZXhwb3J0cz1bIkNvbG9yaW5nIEFnZW50Il19LDcxODY3MyhlKXtlLmV4cG9ydHM9WyJDb2xsZWN0aXZlIEludmVzdG1lbnQgRnVuZCBPcGVyYXRvcnMiXX0sMzMyNjA5KGUpe2UuZXhwb3J0cz1bIkNvbHVtbiBzZXRzIl19LDU3OTA2NShlKXtlLmV4cG9ydHM9WyJDb2x1bW4gc2V0dXAiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sNjE3NDI3KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4ICgyMCkiXX0sMTUyOTEzKGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMiXX0sMTU4MDg1KGUpe2UuZXhwb3J0cz1bIkNvbW1vZGl0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDk4MTI4MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gU3RvY2siXX0sNDE1NjkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBBaXJjcmFmdCBNYW51ZmFjdHVyaW5nIl19LDM2NzU4MyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJhbmtzIl19LDg4OTIzOChlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEJ1aWxkaW5ncyJdfSw4MDI1MTkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBEb2N1bWVudCBNYW5hZ2VtZW50Il19LDY5MjUxNihlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEVxdWlwbWVudCBSZW50YWwiXX0sNTc5ODM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgRmlzaGluZyJdfSw1MzUwNyhlKXtlLmV4cG9ydHM9WyJDb21tZXJjaWFsIEZvb2QgU2VydmljZXMiXX0sNjQ5NTEwKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgTGVhc2luZyJdfSw0NTg5NzkoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBMb2FucyJdfSw1MjUxNjMoZSl7ZS5leHBvcnRzPVsiQ29tbWVyY2lhbCBOdXJzZXJpZXMiXX0sOTU3OTM1KGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcvRm9ybXMiXX0sNzY2NDAyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUHJpbnRpbmcgU2VydmljZXMiXX0sNTQ3MjMyKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgUkVJVHMiXX0sNDM3NzAxKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sNTA1MjA5KGUpe2UuZXhwb3J0cz1bIkNvbW11dGVyIEZlcnJ5Il19LDM1NjY2MShlKXtlLmV4cG9ydHM9WyJDb21tdXRpbmcgU2VydmljZXMiXX0sNjg3NTIoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbiAmIFNhdGVsbGl0ZSBFcXVpcG1lbnQiXX0sODU4MTgoZSl7ZS5leHBvcnRzPVsiQ29tbXVuaWNhdGlvbnMiXX0sODg1Njg4KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zICYgTmV0d29ya2luZyJdfSwyMjUwMjgoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgJiBFbGVjdHJvbmljcyBSZXRhaWxlcnMiXX0sNjE3MjYzKGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIENvbW11bmljYXRpb25zIl19LDY2NTQyMihlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBIYXJkd2FyZSJdfSw0MTI2NjUoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgSGFyZHdhcmUgJiBTb2Z0d2FyZSBSZXRhaWxlcnMiXX0sMjgyMjE3KGUpe2UuZXhwb3J0cz1bIkNvbXB1dGVyIEhhcmR3YXJlIENvbXBvbmVudCBBc3NlbWJseSJdfSwzOTQ5NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQZXJpcGhlcmFscyJdfSw3MjU4MzAoZSl7ZS5leHBvcnRzPVsiQ29tcHV0ZXIgUHJvY2Vzc2luZyBIYXJkd2FyZSJdfSw1NzA3NChlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBQcm9ncmFtbWluZyJdfSw4OTY0NShlKXtlLmV4cG9ydHM9WyJDb21wdXRlciBUcmFpbmluZyJdfSw5NjQ4NTgoZSl7ZS5leHBvcnRzPVsiQ29uZ28iXX0sMjcxNTU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvICh0aGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUpIl19LDcyMTMzMyhlKXtlLmV4cG9ydHM9WyJDb25nbG9tZXJhdGVzIl19LDEzMDgzMyhlKXtlLmV4cG9ydHM9WyJDb25mZXJlbmNpbmcgVG9vbHMgJiBTeXN0ZW1zIl19LDE5NDE5NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0aW5nIl19LDgzNTk0NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gJiBFbmdpbmVlcmluZyJdfSw2NjI4MTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hY2hpbmVyeSJdfSwxNzg1OTQoZSl7ZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIE1hdGVyaWFsIFByb2Nlc3NpbmciXX0sOTk2NyhlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDUwMTQ4MihlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gTWF0ZXJpYWxzIl19LDI3NzQ1NChlKXtlLmV4cG9ydHM9WyJDb25zdHJ1Y3Rpb24gU3VwcGxpZXMiXX0sODI0MjczKGUpe2UuZXhwb3J0cz1bIkNvbnN0cnVjdGlvbiBTdXBwbGllcyAmIEZpeHR1cmVzIl19LDEyNjgzOShlKXsKZS5leHBvcnRzPVsiQ29uc3RydWN0aW9uIFN1cHBsaWVzICYgRml4dHVyZXMgV2hvbGVzYWxlIl19LDM5NzkwOChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDcmVkaXQgQ2FyZHMgU2VydmljZXMiXX0sOTU5MjUyKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEN5Y2xpY2FsIl19LDU0NTM5NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBDeWNsaWNhbHMiXX0sNzkwNzE2KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEdvb2RzIFJlbnRhbCJdfSw3MzE5ODMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRG9jdW1lbnQgTWFuYWdlbWVudCJdfSw3NTQ4NDMoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgRHVyYWJsZXMiXX0sNTU1MDg4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzIFJldGFpbGVycyJdfSwyMjg0KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWNzL0FwcGxpYW5jZXMiXX0sOTI0MzkzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIEVsZWN0cm9uaWMgV2hvbGVzYWxlIl19LDM5NDY2NihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZWFzaW5nIl19LDMxOTM5MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBMZW5kaW5nIl19LDgzMTg4MihlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tQ3ljbGljYWxzIl19LDU1NjQ3NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMTUyODA4KGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIFNlcnZpY2VzIl19LDg0NzM5OChlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBTdW5kcmllcyJdfSwxNjkyOTEoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUHVibGlzaGluZyJdfSwzMjI1MjkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgUmVwYWlyIFNlcnZpY2VzIl19LDI2NDkoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIvTm9uLUN5Y2xpY2FsIl19LDM2OTQzNihlKXtlLmV4cG9ydHM9WyJDb250YWluZXIgJiBQYWNrYWdpbmcgTWF0ZXJpYWwgV2hvbGVzYWxlIl19LDQ4NTM0OShlKXtlLmV4cG9ydHM9WyJDb250YWluZXJzL1BhY2thZ2luZyJdfSw2OTc5MzQoZSl7ZS5leHBvcnRzPVsiQ29udGVudCAmIFNpdGUgTWFuYWdlbWVudCBTZXJ2aWNlcyJdfSwyOTY1MjUoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgRHJpbGxpbmciXX0sNzIzMjgyKGUpe2UuZXhwb3J0cz1bIkNvb2tpZSwgQ3JhY2tlciAmIFBhc3RhIE1hbnVmYWN0dXJpbmciXX0sNzA4ODU5KGUpe2UuZXhwb3J0cz1bIkNvb2sgSXNsYW5kcyJdfSwyMjI3NTkoZSl7ZS5leHBvcnRzPVsiQ29wcGVyIE9yZSAgTWluaW5nIl19LDIyNDQwNihlKXtlLmV4cG9ydHM9WyJDb3B5cmlnaHQgTWFuYWdlbWVudCJdfSwyNzIyMzkoZSl7ZS5leHBvcnRzPVsiQ29ycG9yYXRlIEFjY291bnRpbmcgU2VydmljZXMiXX0sMzUwNzQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSBGaW5hbmNpYWwgU2VydmljZXMiXX0sNzQzNzc4KGUpe2UuZXhwb3J0cz1bIkNvc21ldGljcyAmIFBlcmZ1bWVzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDkxNTcwNShlKXtlLmV4cG9ydHM9WyJDYXRhbG9nL1NwZWNpYWx0eSBEaXN0cmlidXRpb24iXX0sNjQxMDI2KGUpe2UuZXhwb3J0cz1bIkNheW1hbiBJc2xhbmRzIl19LDkxMjgyNihlKXtlLmV4cG9ydHM9WyJDYWJsZSBTZXJ2aWNlIFByb3ZpZGVycyJdfSwzMTI4ODcoZSl7ZS5leHBvcnRzPVsiQ2FibGUvU2F0ZWxsaXRlIFRWIl19LDYwMTA5NyhlKXtlLmV4cG9ydHM9WyJDYWJvIFZlcmRlIl19LDMyOTgzMChlKXtlLmV4cG9ydHM9WyJDYWZlcyJdfSw5NjQ4MzQoZSl7ZS5leHBvcnRzPVsiQ2FsbCBDZW50ZXIgU2VydmljZXMiXX0sNTU1NDg5KGUpe2UuZXhwb3J0cz1bIkNhbWJvZGlhIl19LDk3NzAyOChlKXtlLmV4cG9ydHM9WyJDYW1lcm9vbiJdfSwxNTE4OShlKXtlLmV4cG9ydHM9WyJDYW5hZGEiXX0sNTM1MTMyKGUpe2UuZXhwb3J0cz1bIkNhcEV4ICh7cGVyaW9kfSkiXX0sMTQ5NTAzKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwiXX0sOTg2NTg5KGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgR29vZHMiXX0sNTQ4MzUyKGUpe2UuZXhwb3J0cz1bIkNhcGl0YWwgTG9uZyBUZXJtIl19LDI3NTEyMShlKXtlLmV4cG9ydHM9WyJDYXJib24gQ2FwdHVyZSAmIFN0b3JhZ2UiXX0sMzMwNTczKGUpe2UuZXhwb3J0cz1bIkNhcmJvbmF0ZWQgU29mdCBEcmlua3MiXX0sMzkxNzYoZSl7ZS5leHBvcnRzPVsiQ2FycGV0cyAmIEN1cnRhaW5zIl19LDQ3NjgzNyhlKXtlLmV4cG9ydHM9WyJDYXNoICYgRXF1aXZhbGVudHMgKEZZKSJdfSw3NjUwMTcoZSl7ZS5leHBvcnRzPVsiQ2FzaCAmIEVxdWl2YWxlbnRzIChNUlEpIl19LDI1NDk0NyhlKXtlLmV4cG9ydHM9WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIChGWSkiXX0sNzg4ODM4KGUpe2UuZXhwb3J0cz1bIkNhc2ggYW5kIHNob3J0IHRlcm0gaW52ZXN0bWVudHMgKE1SUSkiXX0sOTE1MTU0KGUpe2UuZXhwb3J0cz1bIkNhc2ggb24gaGFuZCAoRlkpIl19LDI0NzM2MChlKXtlLmV4cG9ydHM9WyJDYXNoIG9uIGhhbmQgKE1SUSkiXX0sNjA2MjA3KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MiXX0sODU3MzQ1KGUpe2UuZXhwb3J0cz1bIkNhc2lub3MvR2FtaW5nIl19LDY1ODI1NihlKXtlLmV4cG9ydHM9WyJDYXNpbm9zICYgR2FtaW5nIl19LDkxMDQ2OChlKXtlLmV4cG9ydHM9WyJDYXN1YWx0eSBJbnN1cmFuY2UiXX0sMTQzNTE4KGUpe2UuZXhwb3J0cz1bIkNlbGx1bGFyIEZpYmVyIl19LDkwODQ1NihlKXtlLmV4cG9ydHM9WyJDZW1lbnQgJiBDb25jcmV0ZSBNYW51ZmFjdHVyaW5nIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDI1ODE0MyhlKXtlLmV4cG9ydHM9WyJDaGFpa2luIE1vbmV5IEZsb3cgKDIwKSJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDk2OTQ3MihlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgJSJdfSw2ODEwNDMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZpbHRlciJdfSwzODI3NTEoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIGZyb20gT3BlbiJdfSw5MzYwMzQoZSl7CmUuZXhwb3J0cz1bIkNoYW5nZSBmcm9tIE9wZW4gJSJdfSw2NTcxMTQoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSJdfSw3OTA5NDkoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHtyZXNvbHV0aW9ufSwgJSJdfSw1OTU0NDEoZSl7ZS5leHBvcnRzPVsiQ2hhcnRlciAmIFByaXZhdGUgQWlyIFNlcnZpY2VzIl19LDgxODQ5NihlKXtlLmV4cG9ydHM9WyJDaGFydGVyIEJ1cyBTZXJ2aWNlcyJdfSwyNDAxOTEoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBBZ3JpY3VsdHVyYWwiXX0sMjMzNzIoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBNYWpvciBEaXZlcnNpZmllZCJdfSw5NjMwNTUoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzOiBTcGVjaWFsdHkiXX0sMjA1ODM0KGUpe2UuZXhwb3J0cz1bIkNoZyJdfSwyMTA4MTUoZSl7ZS5leHBvcnRzPVsiQ2hnICUiXX0sNjMzNDU0KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4iXX0sODUzODk1KGUpe2UuZXhwb3J0cz1bIkNoZyBmcm9tIE9wZW4gJSJdfSw0NDE1MjYoZSl7ZS5leHBvcnRzPVsiQ2hpbGQgQ2FyZSAmIEZhbWlseSBTZXJ2aWNlcyJdfSw3Mzg0MzIoZSl7ZS5leHBvcnRzPVsiQ2hpbGRyZW4gJiBJbmZhbnRzIENsb3RoaW5nIl19LDc4Njg1OChlKXtlLmV4cG9ydHM9WyJDaGlsZHJlbiAmIEluZmFudHMgQ2xvdGhpbmcgUmV0YWlsZXJzIl19LDkwNDMzOChlKXtlLmV4cG9ydHM9WyJDaGlsZSJdfSwzOTA2NTIoZSl7ZS5leHBvcnRzPVsiQ2huZyA0VyJdfSwyMzY3OTgoZSl7ZS5leHBvcnRzPVsiQ2huZyA1MlciXX0sNTI3NDI4KGUpe2UuZXhwb3J0cz1bIkNobmcgMVciXX0sMTQ4OTA5KGUpe2UuZXhwb3J0cz1bIkNob2NvbGF0ZSAmIENvbmZlY3Rpb25lcnkiXX0sMzk0MDM5KGUpe2UuZXhwb3J0cz1bIkNob3NlbiBtYXJrZXRzIGNvdW50Il19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU3NDg5NShlKXtlLmV4cG9ydHM9WyJDaXZpbCBFbmdpbmVlcnMgJiBBcmNoaXRlY3RzIl19LDI0MzY4NyhlKXtlLmV4cG9ydHM9WyJDaWdhcnMgJiBDaWdhcmV0dGUgTWFudWZhY3R1cmluZyJdfSwxNjUxOTgoZSl7ZS5leHBvcnRzPVsiQ2xlYW5pbmcgU2VydmljZXMiXX0sMjA0NDM3KGUpe2UuZXhwb3J0cz1bIkNsZWFyaW5nLCBTZXR0bGVtZW50ICYgQ3VzdG9kaWFsIFNlcnZpY2UiXX0sODIwODY2KGUpe2UuZXhwb3J0cz1bIkNsb3NlIl19LDY4OTg0KGUpe2UuZXhwb3J0cz1bIkNsb3NlZCBFbmQgRnVuZHMiXX0sNjM2MDAxKGUpe2UuZXhwb3J0cz1bIkNsb3NlZC1lbmQgZnVuZCJdfSw2OTc1MzQoZSl7ZS5leHBvcnRzPVsiQ2xvdWQgQ29tcHV0aW5nIFNlcnZpY2VzIl19LDM1OTUzMChlKXtlLmV4cG9ydHM9WyJDcnVpc2UgTGluZXMiXX0sMjg0MDA0KGUpe2UuZXhwb3J0cz1bIkNyeXB0b2N1cnJlbmNpZXMiXX0sNTA5OTgyKGUpe2UuZXhwb3J0cz1bIkNyYWZ0ICYgTWljcm8gQnJld2VycyJdfSw0NzQ3MjgoZSl7ZS5leHBvcnRzPVsiQ3JlZGl0IFVuaW9ucyJdfSw0MDc0KGUpe2UuZXhwb3J0cz1bIkNyb2F0aWEiXX0sOTU0ODM5KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMiXX0sNTYzNjY2KGUpe2UuZXhwb3J0cz1bIkNyb3NzZXMgRG93biJdfSwxNjc2MTMoZSl7ZS5leHBvcnRzPVsiQ3Jvc3NlcyBVcCJdfSw5NjU4ODMoZSl7ZS5leHBvcnRzPVsiQ3V0bGVyeSAmIEZsYXR3YXJlIl19LDc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwzODczNTIoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY3kgb2YgdGhlIGxvY2FsIG1hcmtldCJdfSw0NDkwNjAoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCB0cmFkaW5nIGRheSJdfSw4ODQxMjMoZSl7ZS5leHBvcnRzPVsiQ3VycmVudCBBc3NldHMiXX0sMjQzNTA3KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8iXX0sNDYwMTM5KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgUmF0aW8gKE1SUSkiXX0sNDk5MjY1KGUpe2UuZXhwb3J0cz1bIkN1cnJlbnQgcmF0aW8gKHtwZXJpb2R9KSJdfSw2MzQ3MzcoZSl7ZS5leHBvcnRzPVsiQ3lwcnVzIl19LDEyOTgwOChlKXtlLmV4cG9ydHM9WyJDemVjaCBSZXB1YmxpYyJdfSwyNjE5OTAoZSl7ZS5leHBvcnRzPVsiQ3plY2hpYSJdfSw0OTg3NjIoZSl7ZS5leHBvcnRzPVsiQ8O0dGUgZCdJdm9pcmUiXX0sNzk5NTUzKGUpe2UuZXhwb3J0cz1bIkFPIl19LDE1MDQ3NChlKXtlLmV4cG9ydHM9WyJBRFIiXX0sODAzMDI0KGUpe2UuZXhwb3J0cz1bIkFEWCJdfSw5NjAwNjkoZSl7ZS5leHBvcnRzPVsiQVRSIl19LDQxOTUzKGUpe2UuZXhwb3J0cz1bIkFtdXNlbWVudCBQYXJrcyBhbmQgWm9vcyJdfSw3ODEwODgoZSl7ZS5leHBvcnRzPVsiQW1idWxhbmNlICYgRW1lcmdlbmN5IFNlcnZpY2VzIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSwzODAzNTAoZSl7ZS5leHBvcnRzPVsiQW50aXF1ZSBEZWFsZXJzIl19LDkyMTg0NyhlKXtlLmV4cG9ydHM9WyJBbnkiXX0sOTY1MjEzKGUpe2UuZXhwb3J0cz1bIkFuZG9ycmEiXX0sNzc3MjAoZSl7ZS5leHBvcnRzPVsiQW5nb2xhIl19LDg1NDkwMihlKXtlLmV4cG9ydHM9WyJBbmd1aWxsYSJdfSw0NzM4MzQoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIEJyZWVkaW5nIl19LDY2MDY4NChlKXtlLmV4cG9ydHM9WyJBbmltYWwgRmVlZCJdfSw1NDM4NjYoZSl7ZS5leHBvcnRzPVsiQW5pbWFsIFNsYXVnaHRlcmluZyAmIFByb2Nlc3NpbmciXX0sODMxNzgxKGUpe2UuZXhwb3J0cz1bIkFubnVhbCBSZXYiXX0sMTU2OTY5KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJlYXJpc2giXX0sNzY0MTM2KGUpe2UuZXhwb3J0cz1bIkFiYW5kb25lZCBCYWJ5IEJ1bGxpc2giXX0sOTg2NTA1KGUpe2UuZXhwb3J0cz1bIkFib3ZlIl19LDY4NzQ3OShlKXsKZS5leHBvcnRzPVsiQWJvdmUgb3IgRXF1YWwiXX0sMjM5MDI3KGUpe2UuZXhwb3J0cz1bIkFjY2Vzc29yaWVzIl19LDYwMzI5MihlKXtlLmV4cG9ydHM9WyJBY2NvdW50aW5nICYgVGF4IFByZXBhcmF0aW9uIl19LDE4NzA3NShlKXtlLmV4cG9ydHM9WyJBZHVsdCBFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gJiBCcm9hZGNhc3RpbmciXX0sMjkwNzg0KGUpe2UuZXhwb3J0cz1bIkFkdWx0IFByb2R1Y3RzIFJldGFpbGVycyJdfSw3MDk5MyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBFbGVjdHJvbmljIEVxdWlwbWVudCJdfSw2Mjk2NDAoZSl7ZS5leHBvcnRzPVsiQWR2YW5jZWQgTWVkaWNhbCBFcXVpcG1lbnQgJiBUZWNobm9sb2d5Il19LDI5NDAzMyhlKXtlLmV4cG9ydHM9WyJBZHZhbmNlZCBNZWRpY2FsIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sNTgwMzQwKGUpe2UuZXhwb3J0cz1bIkFkdmFuY2VkIFBvbHltZXIiXX0sMzc1ODc2KGUpe2UuZXhwb3J0cz1bIkFkdmVudHVyZSBTcG9ydHMgRmFjaWxpdGllcyAmIFNraSBSZXNvcnRzIl19LDI2ODM2OShlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZyAmIE1hcmtldGluZyJdfSwxMjY4NjkoZSl7ZS5leHBvcnRzPVsiQWR2ZXJ0aXNpbmcgQWdlbmN5Il19LDI4NTY3NyhlKXtlLmV4cG9ydHM9WyJBZHZlcnRpc2luZy9NYXJrZXRpbmcgU2VydmljZXMiXX0sMjM5MDc3KGUpe2UuZXhwb3J0cz1bIkFkZCBub3RlIGZvciB7c3ltYm9sfSJdfSw4MTU3MTIoZSl7ZS5leHBvcnRzPVsiQWRkIGFsbCBzZWxlY3RlZCB0byB3YXRjaGxpc3QiXX0sNzIwNTQ2KGUpe2UuZXhwb3J0cz1bIkFkZCBhbGwgc2VsZWN0ZWQgdG8gY29tcGFyZSJdfSw5OTUyOShlKXtlLmV4cG9ydHM9WyJBZGQgdG8gZmF2b3JpdGVzIl19LDU2MDQ3MChlKXtlLmV4cG9ydHM9WyJBZGQge3N5bWJvbH0gdG8gY29tcGFyZSJdfSwyMjQwNTYoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2xOYW1lfSB0byB3YXRjaGxpc3QiXX0sOTE4MzEwKGUpe2UuZXhwb3J0cz1bIkFkaGVzaXZlIl19LDEwMzQ4NihlKXtlLmV4cG9ydHM9WyJBZGp1c3QgZmlsdGVycyJdfSwxMzA5NjkoZSl7ZS5leHBvcnRzPVsiQWVyb3NwYWNlICYgRGVmZW5zZSJdfSw1NzI5NjIoZSl7ZS5leHBvcnRzPVsiQWZ0ZXIgQ2xvc2UiXX0sNTMyMDI4KGUpe2UuZXhwb3J0cz1bIkFmdGVyIGhvdXJzIGdhaW5lcnMiXX0sOTkzMTAxKGUpe2UuZXhwb3J0cz1bIkFmZ2hhbmlzdGFuIl19LDY1MDM0NChlKXtlLmV4cG9ydHM9WyJBZnJpY2EiXX0sNDgyMTAxKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBNYWNoaW5lcnkiXX0sNjg1MTUwKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJhbCBCaW90ZWNobm9sb2d5Il19LDM5MTY3MihlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIl19LDM2Mjg3OChlKXtlLmV4cG9ydHM9WyJBZ3JpY3VsdHVyYWwgQ2hlbWljYWxzIFdob2xlc2FsZSJdfSw2MDI2ODAoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmFsIENvbW1vZGl0aWVzL01pbGxpbmciXX0sODg3MzkyKGUpe2UuZXhwb3J0cz1bIkFncmljdWx0dXJlIFN1cHBvcnQgU2VydmljZXMiXX0sMjA4OTY0KGUpe2UuZXhwb3J0cz1bIkFpciAmIEdhcyBDb21wcmVzc29ycyJdfSw3MDQ4NDYoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQiXX0sODA3MDQyKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0ICYgQ291cmllciBTZXJ2aWNlcyJdfSw5NjQ4MTAoZSl7ZS5leHBvcnRzPVsiQWlyIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sNzkwNDkzKGUpe2UuZXhwb3J0cz1bIkFpciBGcmVpZ2h0L0NvdXJpZXJzIl19LDU2ODMzNihlKXtlLmV4cG9ydHM9WyJBaXIgRnJlaWdodC9EZWxpdmVyeSBTZXJ2aWNlcyJdfSw2NDgwOTEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgRXF1aXBtZW50IFdob2xlc2FsZSJdfSw3MDIxNzEoZSl7ZS5leHBvcnRzPVsiQWlyY3JhZnQgUGFydHMgTWFudWZhY3R1cmluZyJdfSw2MDgyNzYoZSl7ZS5leHBvcnRzPVsiQWlybGluZSBDYXRlcmluZyBTZXJ2aWNlcyJdfSwzNTA0MDMoZSl7ZS5leHBvcnRzPVsiQWlybGluZXMiXX0sNzg2NDcwKGUpe2UuZXhwb3J0cz1bIkFpcnBvcnQgT3BlcmF0b3JzIl19LDMwMjMwMyhlKXtlLmV4cG9ydHM9WyJBaXJwb3J0IFNlcnZpY2VzIl19LDcxNDUwMChlKXtlLmV4cG9ydHM9WyJBbHRlcm5hdGl2ZSBNZWRpY2luZSJdfSwyMTAwODEoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgTWVkaWNpbmUgRmFjaWxpdGllcyJdfSwxOTU3NDUoZSl7ZS5leHBvcnRzPVsiQWx0ZXJuYXRpdmUgUG93ZXIgR2VuZXJhdGlvbiJdfSw2Njc5OTMoZSl7ZS5leHBvcnRzPVsiQWx1bWludW0iXX0sMjA3NzcxKGUpe2UuZXhwb3J0cz1bIkFsdW1pbnVtIFJvbGxpbmciXX0sMjgwMDI1KGUpe2UuZXhwb3J0cz1bIkFsYmFuaWEiXX0sMjk2MTgxKGUpe2UuZXhwb3J0cz1bIkFsZ2VyaWEiXX0sMjMzNjkwKGUpe2UuZXhwb3J0cz1bIkFsbCJdfSw5NjIwMTYoZSl7ZS5leHBvcnRzPVsiQWxsIE90aGVyIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5MzA1NzgoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgSGlnaCJdfSwyNTM0NzEoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgTG93Il19LDgxNTQoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZiJdfSw0ODYzMDIoZSl7ZS5leHBvcnRzPVsiQWxsIFRpbWUgUGVyZm9ybWFuY2UiXX0sMzIyOTg2KGUpe2UuZXhwb3J0cz1bIkFsbCBhYm91dCBuZXcgc2NyZWVuZXIiXX0sMjQxMzE3KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGhpZ2giXX0sNjI1NDg4KGUpe2UuZXhwb3J0cz1bIkFsbC10aW1lIGxvdyJdfSw1MjY3MzQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciJdfSw5MDI5ODQoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbC9Gb290d2VhciBSZXRhaWwiXX0sMjQxNzg3KGUpe2UuZXhwb3J0cz1bIkFwcGFyZWwgJiBBY2Nlc3NvcmllcyJdfSwzOTU3MjUoZSl7ZS5leHBvcnRzPVsiQXBwYXJlbCAmIEFjY2Vzc29yaWVzIFJldGFpbGVycyJdfSw5MjgwOShlKXtlLmV4cG9ydHM9WyJBcHBhcmVsIFdob2xlc2FsZSJdfSwzMDI0NDcoZSl7CmUuZXhwb3J0cz1bIkFwcGxpYW5jZSAmIEhvdXNld2FyZSBXaG9sZXNhbGUiXX0sMTE4NDAoZSl7ZS5leHBvcnRzPVsiQXBwbGlhbmNlcywgVG9vbHMgJiBIb3VzZXdhcmVzIl19LDg0MjE1NChlKXtlLmV4cG9ydHM9WyJBcHBsaWNhdGlvbiBTb2Z0d2FyZSJdfSwxNTc1MzgoZSl7ZS5leHBvcnRzPVsiQXBwbGllZCBmaWx0ZXJzIGNvdW50Il19LDUyNjc4NShlKXtlLmV4cG9ydHM9WyJBcHIiXX0sNTgxMjYwKGUpe2UuZXhwb3J0cz1bIkFxdWFjdWx0dXJlIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw4NTc1ODcoZSl7ZS5leHBvcnRzPVsiQXJnZW50aW5hIl19LDc3OTk1MihlKXtlLmV4cG9ydHM9WyJBcm1lbmlhIl19LDg4NjQ2NShlKXtlLmV4cG9ydHM9WyJBcm1zICYgQW1tdW5pdGlvbnMgTWFudWZhY3R1cmluZyJdfSw3NjU3NjUoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biJdfSwyMTM3MDMoZSl7ZS5leHBvcnRzPVsiQXJvb24gRG93biAoMTQpIl19LDE1ODM5NihlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCJdfSw0NzM4NShlKXtlLmV4cG9ydHM9WyJBcm9vbiBVcCAoMTQpIl19LDY4OTE4MihlKXtlLmV4cG9ydHM9WyJBc2lhIl19LDc2NDE3MShlKXtlLmV4cG9ydHM9WyJBc2lhIC8gUGFjaWZpYyJdfSw2NzI3MTAoZSl7ZS5leHBvcnRzPVsiQXNrIl19LDc0ODI5MChlKXtlLmV4cG9ydHM9WyJBc3NldCB0dXJub3ZlciAoe3BlcmlvZH0pIl19LDY2Mzg2MChlKXtlLmV4cG9ydHM9WyJBc3NldHMiXX0sNDY1MjIyKGUpe2UuZXhwb3J0cz1bIkF1dG9tYXRpYyBWZW5kaW5nIE1hY2hpbmVzIl19LDI5ODY2MihlKXtlLmV4cG9ydHM9WyJBdXRvbW9iaWxlcyAmIE11bHRpIFV0aWxpdHkgVmVoaWNsZXMiXX0sMzY5NjQ2KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWNjZXNzb3JpZXMiXX0sNTQzMTU3KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQWZ0ZXJtYXJrZXQiXX0sMTc1NzQ0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgQmF0dGVyaWVzIl19LDM4NTU5MShlKXtlLmV4cG9ydHM9WyJBdXRvbW90aXZlIEJvZHkgUGFydHMiXX0sOTU3MDg5KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgUGFydHMgJiBBY2Nlc3NvcmllcyBSZXRhaWxlcnMiXX0sMTU3MjU0KGUpe2UuZXhwb3J0cz1bIkF1dG9tb3RpdmUgU3lzdGVtcyJdfSwxMjU2NjIoZSl7ZS5leHBvcnRzPVsiQXV0byAmIFRydWNrIE1hbnVmYWN0dXJlcnMiXX0sODc1NTc5KGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBQYXJ0cyBXaG9sZXNhbGUiXX0sODc4NzIzKGUpe2UuZXhwb3J0cz1bIkF1dG8gJiBUcnVjayBXaG9sZXNhbGUiXX0sOTU4MjM1KGUpe2UuZXhwb3J0cz1bIkF1dG8gQ2xlYW5pbmcgUHJvZHVjdHMiXX0sMzcwMTIoZSl7ZS5leHBvcnRzPVsiQXV0byBQYXJ0czogT0VNIl19LDg5ODk4NyhlKXtlLmV4cG9ydHM9WyJBdXRvIFJlZnJlc2giXX0sOTk2OTcyKGUpe2UuZXhwb3J0cz1bIkF1dG8gVmVoaWNsZXMsIFBhcnRzICYgU2VydmljZSBSZXRhaWxlcnMiXX0sNjYxOTgzKGUpe2UuZXhwb3J0cz1bIkF1dG8sIFRydWNrICYgTW90b3JjeWNsZSBQYXJ0cyJdfSw5Mzc2MihlKXtlLmV4cG9ydHM9WyJBdWciXX0sMjc5MjMzKGUpe2UuZXhwb3J0cz1bIkF1c3RyYWxpYSJdfSwyMzgyNzgoZSl7ZS5leHBvcnRzPVsiQXVzdHJpYSJdfSw4MTMwNzcoZSl7ZS5leHBvcnRzPVsiQXZhaWwgQ29pbnMiXX0sODM1OTYxKGUpe2UuZXhwb3J0cz1bIkF2YWlsYWJsZSBDb2lucyJdfSwzMjMzOTIoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEYXkgUmFuZ2UgKDE0KSJdfSw1NzgxOTgoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCAoMTQpIl19LDMxNTQ2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFRydWUgUmFuZ2UgKDE0KSJdfSwyOTc5MzAoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDEwIGRheSkiXX0sNTY2NDM0KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgVm9sdW1lICgzMCBkYXkpIl19LDk3NzA2MihlKXtlLmV4cG9ydHM9WyJBdmVyYWdlIFZvbHVtZSAoNjAgZGF5KSJdfSw1NzI1ODQoZSl7ZS5leHBvcnRzPVsiQXZlcmFnZSBWb2x1bWUgKDkwIGRheSkiXX0sMjUyNzc4KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDEwKSJdfSw0OTU2MzIoZSl7ZS5leHBvcnRzPVsiQXZnIFZvbCAoMzApIl19LDI2OTE4MShlKXtlLmV4cG9ydHM9WyJBdmcgVm9sICg2MCkiXX0sNzk3NjA0KGUpe2UuZXhwb3J0cz1bIkF2ZyBWb2wgKDkwKSJdfSwzNDQ1NTIoZSl7ZS5leHBvcnRzPVsiQXdlc29tZSBPc2NpbGxhdG9yIl19LDQ2ODE3KGUpe2UuZXhwb3J0cz1bIkF6ZXJiYWlqYW4iXX0sNDMwNTMwKGUpe2UuZXhwb3J0cz1bIkJCIExvdyJdfSw5MTM5OTIoZSl7ZS5leHBvcnRzPVsiQkIgVXAiXX0sOTQ5ODI1KGUpe2UuZXhwb3J0cz1bIkJCUG93ZXIiXX0sNDI1Mzc4KGUpe2UuZXhwb3J0cz1bIkJvdHN3YW5hIl19LDE5NjcwMChlKXtlLmV4cG9ydHM9WyJCb3R0bGVkIFdhdGVyICYgSWNlIl19LDczMDc2MyhlKXtlLmV4cG9ydHM9WyJCb3V2ZXQgSXNsYW5kIl19LDkzMTMwNChlKXtlLmV4cG9ydHM9WyJCb2xpdmlhIl19LDE5NjY5MShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgTG93ZXIgQmFuZCAoMjApIl19LDk5NTYzMShlKXtlLmV4cG9ydHM9WyJCb2xsaW5nZXIgVXBwZXIgQmFuZCAoMjApIl19LDU1NzIzNShlKXtlLmV4cG9ydHM9WyJCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYSJdfSw5NzYzNDYoZSl7ZS5leHBvcnRzPVsiQm9vayAmIE1hZ2F6aW5lIFJldGFpbGVycyJdfSwyNDUzMTcoZSl7ZS5leHBvcnRzPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw0NDYyNDcoZSl7ZS5leHBvcnRzPVsiQm9vayBQcmludGluZyBTZXJ2aWNlcyJdfSw3NTAxODIoZSl7ZS5leHBvcnRzPVsiQm9vayBQdWJsaXNoaW5nIl19LDk3MDY5MShlKXtlLmV4cG9ydHM9WyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIl19LDUzNTkwOChlKXtlLmV4cG9ydHM9WyJCYXRocm9vbSBGaXh0dXJlcyJdfSw2ODg1NTIoZSl7CmUuZXhwb3J0cz1bIkJhdHRlcmllcyAmIFVuaW50ZXJydXB0aWJsZSBQb3dlciBzdXBwbGllcyJdfSw0OTgyODgoZSl7ZS5leHBvcnRzPVsiQmF1eGl0ZSBNaW5pbmciXX0sNTA4NTQ5KGUpe2UuZXhwb3J0cz1bIkJhYnkgRm9vZCJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw1Nzg2NjUoZSl7ZS5leHBvcnRzPVsiQmFocmFpbiJdfSw5NDQxNTUoZSl7ZS5leHBvcnRzPVsiQmFsYW5jZSBTaGVldCJdfSw2ODg5NjkoZSl7ZS5leHBvcnRzPVsiQmFsbCAmIFJvbGxlciBCZWFyaW5ncyJdfSw0NTIwMTUoZSl7ZS5leHBvcnRzPVsiQmFuZ2xhZGVzaCJdfSw0OTc4MzcoZSl7ZS5leHBvcnRzPVsiQmFua3MiXX0sODI0NTk1KGUpe2UuZXhwb3J0cz1bIkJhbnF1ZXQgSGFsbHMgJiBDYXRlcmluZyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNzE2MTEoZSl7ZS5leHBvcnRzPVsiQmFzaWMgRVBTIChGWSkiXX0sMTAzNzkxKGUpe2UuZXhwb3J0cz1bIkJhc2ljIEVQUyAoVFRNKSJdfSw0MDExNjgoZSl7ZS5leHBvcnRzPVsiQmFzaWMgTWF0ZXJpYWxzIl19LDMwMzU3NShlKXtlLmV4cG9ydHM9WyJCZXRhIDVZIl19LDg5NzAwNyhlKXtlLmV4cG9ydHM9WyJCZXRhIC0gMyBZZWFyIl19LDEyODc5MShlKXtlLmV4cG9ydHM9WyJCZXRhIC0gNSBZZWFyIl19LDg2NzA0MChlKXtlLmV4cG9ydHM9WyJCZXRhIDNZIl19LDM2NTY2MChlKXtlLmV4cG9ydHM9WyJCZXR3ZWVuIl19LDc5Mjg2NihlKXtlLmV4cG9ydHM9WyJCZXZlcmFnZXMgKFByb2R1Y3Rpb24vRGlzdHJpYnV0aW9uKSJdfSw2NTc0NzEoZSl7ZS5leHBvcnRzPVsiQmV2ZXJhZ2VzOiBBbGNvaG9saWMiXX0sODkzODg1KGUpe2UuZXhwb3J0cz1bIkJldmVyYWdlczogTm9uLUFsY29ob2xpYyJdfSw0NjI4OTYoZSl7ZS5leHBvcnRzPVsiQmVhcmlzaCBFbmd1bGZpbmciXX0sNDUwOTA3KGUpe2UuZXhwb3J0cz1bIkJlYXJpc2ggSGFyYW1pIl19LDI3MzE0MihlKXtlLmV4cG9ydHM9WyJCZWF1dHkgU3VwcGx5IFNob3AiXX0sNTAxMTYoZSl7ZS5leHBvcnRzPVsiQmVlZiAmIFZlYWwgRmFybWluZyJdfSw5NDk2MzYoZSl7ZS5leHBvcnRzPVsiQmVlciwgV2luZSAmIExpcXVvciBTdG9yZXMiXX0sNzAwNTA4KGUpe2UuZXhwb3J0cz1bIkJlZm9yZSBPcGVuIl19LDUyMzU1MihlKXtlLmV4cG9ydHM9WyJCZWxhcnVzIl19LDgzMzI0KGUpe2UuZXhwb3J0cz1bIkJlbGdpdW0iXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSwxNzc1MDYoZSl7ZS5leHBvcnRzPVsiQmVsb3ciXX0sMjA0ODA0KGUpe2UuZXhwb3J0cz1bIkJlbG93IG9yIEVxdWFsIl19LDU4ODg0OChlKXtlLmV4cG9ydHM9WyJCZW5pbiJdfSwzMTQ3MzcoZSl7ZS5leHBvcnRzPVsiQmVybXVkYSJdfSwyODQ0NDIoZSl7ZS5leHBvcnRzPVsiQmh1dGFuIl19LDg5NDczOChlKXtlLmV4cG9ydHM9WyJCaWN5Y2xlIE1hbnVmYWN0dXJpbmciXX0sNDI5NTA4KGUpe2UuZXhwb3J0cz1bIkJpZCJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDUzMjMxNihlKXtlLmV4cG9ydHM9WyJCaW8gTWVkaWNhbCBEZXZpY2VzIl19LDYzNTE1NyhlKXtlLmV4cG9ydHM9WyJCaW8gRGlhZ25vc3RpY3MgJiBUZXN0aW5nIl19LDY0ODI0OShlKXtlLmV4cG9ydHM9WyJCaW8gVGhlcmFwZXV0aWMgRHJ1Z3MiXX0sNzk2MjYoZSl7ZS5leHBvcnRzPVsiQmlvZGllc2VsIl19LDU1NzIzOShlKXtlLmV4cG9ydHM9WyJCaW9tYXNzICYgQmlvZ2FzIEZ1ZWxzIl19LDYzNzQwOShlKXtlLmV4cG9ydHM9WyJCaW9tZXRyaWMgUHJvZHVjdHMiXX0sMzQ1NzUzKGUpe2UuZXhwb3J0cz1bIkJpb3BoYXJtYWNldXRpY2FscyJdfSwxNzk0MTMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSJdfSw4OTIxNDMoZSl7ZS5leHBvcnRzPVsiQmlvdGVjaG5vbG9neSAmIE1lZGljYWwgUmVzZWFyY2giXX0sOTA0NzU3KGUpe2UuZXhwb3J0cz1bIkJpcnRoIENvbnRyb2wgUHJvZHVjdHMiXX0sMzkxOTA2KGUpe2UuZXhwb3J0cz1bIkJydW5laSJdfSw4MjEzOTkoZSl7ZS5leHBvcnRzPVsiQnJhbmRpbmcgJiBOYW1pbmciXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw3ODkxODAoZSl7ZS5leHBvcnRzPVsiQnJlYWQgJiBCYWtlcnkgUHJvZHVjdCBNYW51ZmFjdHVyaW5nIl19LDI0MzA0MihlKXtlLmV4cG9ydHM9WyJCcmVha2Zhc3QgQ2VyZWFsIE1hbnVmYWN0dXJpbmciXX0sNDgwNDEzKGUpe2UuZXhwb3J0cz1bIkJyZXdlcnMiXX0sNzQ0MjQ2KGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggSW5kaWFuIE9jZWFuIFRlcnJpdG9yeSJdfSw2NTMzNDAoZSl7ZS5leHBvcnRzPVsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyJdfSw4MTg2MTYoZSl7ZS5leHBvcnRzPVsiQnJvYWRjYXN0aW5nIl19LDk1MTk2MyhlKXtlLmV4cG9ydHM9WyJCcm9hZGNhc3RpbmcgRXF1aXBtZW50Il19LDYyODQ4MShlKXtlLmV4cG9ydHM9WyJCcm9rZXJhZ2UgU2VydmljZXMiXX0sNjU1MDc3KGUpe2UuZXhwb3J0cz1bIkJyb29tcywgQnJ1c2hlcyAmIER1c3RwYW5zIl19LDE2MTcxNyhlKXtlLmV4cG9ydHM9WyJCdWlsZGVyIE1lcmNoYW50cyJdfSwzODY3MTkoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgQ29udHJhY3RvcnMiXX0sMjU3MjM0KGUpe2UuZXhwb3J0cz1bIkJ1aWxkaW5nIFByb2R1Y3RzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSwzMzk1MjcoZSl7ZS5leHBvcnRzPVsiQnVsbGlzaCBFbmd1bGZpbmciXX0sNDYzODk2KGUpe2UuZXhwb3J0cz1bIkJ1bGxpc2ggSGFyYW1pIl19LDE5ODI5NyhlKXtlLmV4cG9ydHM9WyJCdXJraW5hIEZhc28iXX0sNzU4MjIoZSl7ZS5leHBvcnRzPVsiQnVydW5kaSJdfSwzNzI2NDcoZSl7ZS5leHBvcnRzPVsiQnVzaW5lc3MgU2VydmljZXMiXX0sOTczNShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFNlcnZpY2VzIl19LDg3MDI5OShlKXtlLmV4cG9ydHM9WyJCdXNpbmVzcyBTdXBwb3J0IFN1cHBsaWVzIl19LDc4MzMxOChlKXsKZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1NjUyOTQoZSl7ZS5leHBvcnRzPVsiR29sZCJdfSw2ODM1KGUpe2UuZXhwb3J0cz1bIkdvbGQgTWluaW5nIl19LDY5ODMyNShlKXtlLmV4cG9ydHM9WyJHb2xmIENvdXJzZXMiXX0sNzczOTI2KGUpe2UuZXhwb3J0cz1bIkdvb2R3aWxsIl19LDM2NzY5MChlKXtlLmV4cG9ydHM9WyJHYWJvbiJdfSw3MDg3ODUoZSl7ZS5leHBvcnRzPVsiR2FtYmlhIl19LDIyMDE1NihlKXtlLmV4cG9ydHM9WyJHYW1ibGluZyAmIEdhbWluZyBNYWNoaW5lIE1hbnVmYWN0dXJlcnMiXX0sNTg0ODQxKGUpe2UuZXhwb3J0cz1bIkdhbWVzLCBUb3lzICYgQ2hpbGRyZW4gVmVoaWNsZXMiXX0sNDg1OTM1KGUpe2UuZXhwb3J0cz1bIkdhbWluZyBNYWNoaW5lIE9wZXJhdG9ycyJdfSw5MzAwNjkoZSl7ZS5leHBvcnRzPVsiR2FwICUiXX0sMjM3OTk2KGUpe2UuZXhwb3J0cz1bIkdhcyBEaXN0cmlidXRvcnMiXX0sNTI1MTExKGUpe2UuZXhwb3J0cz1bIkdhcyBEcmlsbGluZyAtIE9uc2hvcmUiXX0sNjY3MzE2KGUpe2UuZXhwb3J0cz1bIkdhc29saW5lIHN0YXRpb25zIl19LDU2MzUzMChlKXtlLmV4cG9ydHM9WyJHZXQgcmVhZHkgdG8gc3dpdGNoIHRvIHRoZSBuZXcgU3RvY2sgU2NyZWVuZXIiXX0sOTEwODIxKGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwiXX0sODU1MTc3KGUpe2UuZXhwb3J0cz1bIkdlbmVyYWwgRWR1Y2F0aW9uIFNlcnZpY2VzIl19LDI0MTk5NShlKXtlLmV4cG9ydHM9WyJHZW5lcmFsIEdvdmVybm1lbnQiXX0sMzQ2MTQ2KGUpe2UuZXhwb3J0cz1bIkdlbmVyaWMgUGhhcm1hY2V1dGljYWxzIl19LDgyNDEyMyhlKXtlLmV4cG9ydHM9WyJHZW9waHlzaWNhbCBTdXJ2ZXlpbmcgJiBNYXBwaW5nIFNlcnZpY2VzIl19LDc5NTk1MShlKXtlLmV4cG9ydHM9WyJHZW9yZ2lhIl19LDQ2NjY5OChlKXtlLmV4cG9ydHM9WyJHZXJtYW55Il19LDQ5ODY3OShlKXtlLmV4cG9ydHM9WyJHaGFuYSJdfSw3NzEwMTcoZSl7ZS5leHBvcnRzPVsiR2licmFsdGFyIl19LDE1MzI0MShlKXtlLmV4cG9ydHM9WyJHaWZ0LCBOb3ZlbHR5ICYgU291dmVuaXIgU3RvcmVzIl19LDIzNjIyMShlKXtlLmV4cG9ydHM9WyJHbGFzcyBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDYwOTQ2MShlKXtlLmV4cG9ydHM9WyJHbGFzc2VzLCBTcGVjdGFjbGVzICYgQ29udGFjdCBsZW5zZXMiXX0sNjA1Njc0KGUpe2UuZXhwb3J0cz1bIkdsb2JhbCBjdXJyZW5jeSJdfSw3NTAyNzcoZSl7ZS5leHBvcnRzPVsiR3JhaW4gKENyb3ApIFByb2R1Y3Rpb24iXX0sMTIzNzM2KGUpe2UuZXhwb3J0cz1bIkdyYXZlc3RvbmUgRG9qaSJdfSwzMTgzOTkoZSl7ZS5leHBvcnRzPVsiR3JlZW5sYW5kIl19LDc5MzI4OShlKXtlLmV4cG9ydHM9WyJHcmVlY2UiXX0sOTMyMDg2KGUpe2UuZXhwb3J0cz1bIkdyZW5hZGEiXX0sMzc4Mzk5KGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiJdfSw5MDA5NDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgTWFyZ2luIChGWSkiXX0sNjYxODkzKGUpe2UuZXhwb3J0cz1bIkdyb3NzIE1hcmdpbiAoVFRNKSJdfSwzNTYxMjUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sODcwMjYyKGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoRlkpIl19LDQyNjY1MihlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKE1SUSkiXX0sMTkxNTc0KGUpe2UuZXhwb3J0cz1bIkdyb3NzIFByb2ZpdCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDEwNzkwNChlKXtlLmV4cG9ydHM9WyJHcm9zcyBQcm9maXQgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3NjEzMDUoZSl7ZS5leHBvcnRzPVsiR3Jvc3MgUHJvZml0IChUVE0gWW9ZIEdyb3d0aCkiXX0sOTY2NTA1KGUpe2UuZXhwb3J0cz1bIkdyb3NzIG1hcmdpbiAoe3BlcmlvZH0pIl19LDM5NzYwMihlKXtlLmV4cG9ydHM9WyJHcm9zcyBwcm9maXQgKHtwZXJpb2R9KSJdfSwzMjkyOTEoZSl7ZS5leHBvcnRzPVsiR3JvdW5kIEZyZWlnaHQgJiBMb2dpc3RpY3MiXX0sODYyOTQ5KGUpe2UuZXhwb3J0cz1bIkdyb3VwIl19LDc5MDY1NihlKXtlLmV4cG9ydHM9WyJHcm91cHMiXX0sMjQyMTE2KGUpe2UuZXhwb3J0cz1bIkd1eWFuYSJdfSwxNjQ4NzcoZSl7ZS5leHBvcnRzPVsiR3VhZGVsb3VwZSJdfSw1NDQzMjUoZSl7ZS5leHBvcnRzPVsiR3VhbSJdfSw4Nzc0ODcoZSl7ZS5leHBvcnRzPVsiR3VhdGVtYWxhIl19LDQwODkxNihlKXtlLmV4cG9ydHM9WyJHdWVybnNleSJdfSw1ODQzMyhlKXtlLmV4cG9ydHM9WyJHdWlkZWQgVG91ciBPcGVyYXRvcnMiXX0sNDM2NDU1KGUpe2UuZXhwb3J0cz1bIkd1aW5lYSJdfSwzMDgyMjkoZSl7ZS5leHBvcnRzPVsiR3VpbmVhLUJpc3NhdSJdfSw3MTc3ODEoZSl7ZS5leHBvcnRzPVsiR3ltcywgRml0bmVzcyBhbmQgU3BhIENlbnRlcnMiXX0sMjM3MjQxKGUpe2UuZXhwb3J0cz1bIkRFQlQvRVFVSVRZIl19LDI4Nzk5OChlKXtlLmV4cG9ydHM9WyJEUiJdfSw5ODUyNTkoZSl7ZS5leHBvcnRzPVsiRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSBDb2x1bW4gU2V0ICd7bmFtZX0nID8iXX0sMjc3MDExKGUpe2UuZXhwb3J0cz1bIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgU2NyZWVuICd7bmFtZX0nID8iXX0sODMyNTYyKGUpe2UuZXhwb3J0cz1bIkRvY3RvcidzIE9mZmljZSJdfSw1MjQ1NyhlKXtlLmV4cG9ydHM9WyJEb2xscyAmIFN0dWZmZWQgVG95cyJdfSwxOTQzMjYoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2EiXX0sODE4NjA0KGUpe2UuZXhwb3J0cz1bIkRvbWluaWNhbiBSZXB1YmxpYyJdfSwzNTE5NjMoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIExvdyJdfSw2MTc0NjgoZSl7ZS5leHBvcnRzPVsiRG9uY2hDaDIwIFVwIl19LDYwODY1NihlKXtlLmV4cG9ydHM9WyJEb25jaGlhbiBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzc4MDI0KGUpe2UuZXhwb3J0cz1bIkRvbmNoaWFuIENoYW5uZWxzIFVwcGVyIEJhbmQgKDIwKSJdfSwxODIxNDMoZSl7ZS5leHBvcnRzPVsiRG9vcnMgJiBXaW5kb3cgRnJhbWVzIl19LDg4NDc4MChlKXsKZS5leHBvcnRzPVsiRGF0YSBQcm9jZXNzaW5nIFNlcnZpY2VzIl19LDUwNzcyOShlKXtlLmV4cG9ydHM9WyJEYXRlIl19LDc4OTAxNShlKXtlLmV4cG9ydHM9WyJEYWlyeSBQcm9kdWN0cyJdfSw0OTUyMTAoZSl7ZS5leHBvcnRzPVsiRGVidCJdfSwyNTk2NShlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxIl19LDMxNTA5MihlKXtlLmV4cG9ydHM9WyJEZWJ0L0VxdWl0eSwgTVJRIl19LDU0NzM2MihlKXtlLmV4cG9ydHM9WyJEZWJ0IHRvIEFzc2V0cyJdfSwzMDY5NjYoZSl7ZS5leHBvcnRzPVsiRGVidCB0byBFcXVpdHkgUmF0aW8gKE1SUSkiXX0sNzY5MDM2KGUpe2UuZXhwb3J0cz1bIkRlYyJdfSw4MjQ0MDMoZSl7ZS5leHBvcnRzPVsiRGVlcCBTZWEgRnJlaWdodCJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDg1MjUwMShlKXtlLmV4cG9ydHM9WyJEZW5tYXJrIl19LDQzNjk3MChlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50L1NwZWNpYWx0eSBSZXRhaWwgU3RvcmVzIl19LDQxNTEwNShlKXtlLmV4cG9ydHM9WyJEZXBhcnRtZW50IFN0b3JlcyJdfSw3MTQ3NDUoZSl7ZS5leHBvcnRzPVsiRGVwb3NpdGFyeSBSZWNlaXB0Il19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw5OTQwMjUoZSl7ZS5leHBvcnRzPVsiRGVzY3JpcHRpdmUiXX0sNzAyMjA2KGUpe2UuZXhwb3J0cz1bIkRlc2lnbiBTZXJ2aWNlcyJdfSwxODgzNjIoZSl7ZS5leHBvcnRzPVsiRGl2IFBhaWQiXX0sOTIyNzE0KGUpe2UuZXhwb3J0cz1bIkRpdiBQcmVmIl19LDQzODgxMChlKXtlLmV4cG9ydHM9WyJEaXYgWWllbGQgRldEIl19LDExNTMwNChlKXtlLmV4cG9ydHM9WyJEaXYgcGVyIFNoYXJlIChGWSkiXX0sMTExODI5KGUpe2UuZXhwb3J0cz1bIkRpdiBwZXIgU2hhcmUgKE1SUSkiXX0sODgyOTE5KGUpe2UuZXhwb3J0cz1bIkRpdmVyc2lmaWVkIENoZW1pY2FscyJdfSw2NjkxODUoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgSW52ZXN0bWVudCBTZXJ2aWNlcyJdfSwzNjAwNihlKXtlLmV4cG9ydHM9WyJEaXZlcnNpZmllZCBSRUlUcyJdfSw5MDM3MzEoZSl7ZS5leHBvcnRzPVsiRGl2ZXJzaWZpZWQgVHJhZGluZyAmIERpc3RyaWJ1dGluZyJdfSw5NzY2MDcoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgWWllbGQgRm9yd2FyZCJdfSw0NTc1MDUoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmQgcGF5b3V0IHJhdGlvICh7cGVyaW9kfSkiXX0sNjU5MjY3KGUpe2UuZXhwb3J0cz1bIkRpdmlkZW5kcyJdfSw1NTAyMTYoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFBhaWQgKEZZKSJdfSw0OTMyMDAoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIFByZWZlcnJlZCJdfSwyNzQ3MjkoZSl7ZS5leHBvcnRzPVsiRGl2aWRlbmRzIHBlciBTaGFyZSAoRlkpIl19LDI5MjIyMChlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIFNoYXJlIChNUlEpIl19LDU1Nzk0MShlKXtlLmV4cG9ydHM9WyJEaXZpZGVuZHMgcGVyIHNoYXJlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNTc4NTcxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMiXX0sMTg4MTIxKGUpe2UuZXhwb3J0cz1bIkRpYWdub3N0aWMgJiBUZXN0aW5nIFN1YnN0YW5jZXMgTWFudWZhY3R1cmVycyJdfSw5NTIwODkoZSl7ZS5leHBvcnRzPVsiRGlhbW9uZCBNaW5pbmciXX0sMTM3Mzc3KGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgTWVkaWEgQWdlbmNpZXMiXX0sNDM2NDgwKGUpe2UuZXhwb3J0cz1bIkRpZ2l0YWwgUHVibGlzaGluZyJdfSwyNTE0OTYoZSl7ZS5leHBvcnRzPVsiRGlyZWN0IE1hcmtldGluZyJdfSw4NjUwMzEoZSl7ZS5leHBvcnRzPVsiRGlyZWN0b3J5IFB1Ymxpc2hpbmciXX0sNTE4MTE3KGUpe2UuZXhwb3J0cz1bIkRpc2NvdW50IFN0b3JlcyJdfSw2MzcxODQoZSl7ZS5leHBvcnRzPVsiRGlzY291bnQgU3RvcmVzIHdpdGggZ3JvY2VyaWVzIl19LDc5NTEyNChlKXtlLmV4cG9ydHM9WyJEaXNjb3VudCBTdG9yZXMgd2l0aG91dCBncm9jZXJpZXMiXX0sMjk5ODI0KGUpe2UuZXhwb3J0cz1bIkRpc3BsYXkgU2NyZWVucyJdfSwxMzAyMChlKXtlLmV4cG9ydHM9WyJEaXN0aWxsZXJpZXMiXX0sNTU4MDk1KGUpe2UuZXhwb3J0cz1bIkRpc3RpbGxlcnMgJiBXaW5lcmllcyJdfSwxNzEzNDIoZSl7ZS5leHBvcnRzPVsiRGlzdHJpYnV0aW9uIFNlcnZpY2VzIl19LDUwNzc5OChlKXtlLmV4cG9ydHM9WyJEamlib3V0aSJdfSw4OTY3NzIoZSl7ZS5leHBvcnRzPVsiRHJ1Z3N0b3JlIENoYWlucyJdfSw1NjEwNjAoZSl7ZS5leHBvcnRzPVsiRHJ1ZyBEZWxpdmVyeSBTeXN0ZW1zIl19LDU1OTIwNihlKXtlLmV4cG9ydHM9WyJEcnVnIFJldGFpbGVycyJdfSwzNzU0NChlKXtlLmV4cG9ydHM9WyJEcmFnb25mbHkgRG9qaSJdfSw0NzAxMDUoZSl7ZS5leHBvcnRzPVsiRS1jb21tZXJjZSAmIEF1Y3Rpb24gU2VydmljZXMiXX0sMTA3OTA1KGUpe2UuZXhwb3J0cz1bIkVNQTEwIl19LDY0OTY0NChlKXtlLmV4cG9ydHM9WyJFTUExMDAiXX0sMTQzNjMoZSl7ZS5leHBvcnRzPVsiRU1BMjAiXX0sNjA1NDM4KGUpe2UuZXhwb3J0cz1bIkVNQTIwMCJdfSw5NTQ4NTkoZSl7ZS5leHBvcnRzPVsiRU1BMzAiXX0sNTExODQ0KGUpe2UuZXhwb3J0cz1bIkVNQTUiXX0sNTM4MDE4KGUpe2UuZXhwb3J0cz1bIkVNQTUwIl19LDY3NzgxMyhlKXtlLmV4cG9ydHM9WyJFTVBMT1lFRVMiXX0sNjk5NyhlKXtlLmV4cG9ydHM9WyJFQklUREEiXX0sOTg2MjkyKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoQW5udWFsIFlvWSBHcm93dGgpIl19LDc0NjIzKGUpe2UuZXhwb3J0cz1bIkVCSVREQSAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDUzOTcwNShlKXtlLmV4cG9ydHM9WyJFQklUREEgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw4MzQ2NjgoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTQwOTkoZSl7ZS5leHBvcnRzPVsiRUJJVERBIChUVE0pIl19LDMyNzE0OShlKXtlLmV4cG9ydHM9WyJFUFMgKEZZKSJdfSwyNTU4NTcoZSl7ZS5leHBvcnRzPVsiRVBTIChUVE0pIl19LAo5MzEwOTMoZSl7ZS5leHBvcnRzPVsiRVBTIERpbHV0ZWQgKE1SUSkiXX0sNTI4OTcyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sMTEyMjc4KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChGWSkiXX0sOTY2MjU2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODIyNzgyKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNDA2ODYzKGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0gWW9ZIEdyb3d0aCkiXX0sOTg2NTE2KGUpe2UuZXhwb3J0cz1bIkVQUyBEaWx1dGVkIChUVE0pIl19LDc4OTE1NShlKXtlLmV4cG9ydHM9WyJFUFMgRXN0aW1hdGUiXX0sMjA1NTQ4KGUpe2UuZXhwb3J0cz1bIkVQUyBGb3JlY2FzdCJdfSw4MDI1OTAoZSl7ZS5leHBvcnRzPVsiRVBTIEZvcmVjYXN0IChNUlEpIl19LDcyODU0NShlKXtlLmV4cG9ydHM9WyJFUFMgZGlsdXRlZCAoe3BlcmlvZH0pIl19LDMwMDI3NShlKXtlLmV4cG9ydHM9WyJFVEMiXX0sNjk0MDcyKGUpe2UuZXhwb3J0cz1bIkVURiJdfSw5NzIyNDAoZSl7ZS5leHBvcnRzPVsiRVROIl19LDI2MzIzMChlKXtlLmV4cG9ydHM9WyJFViJdfSw3NzY0NjQoZSl7ZS5leHBvcnRzPVsiRVYvRUJJVERBIl19LDQ4NTc5MChlKXtlLmV4cG9ydHM9WyJFbXBsb3ltZW50IFNlcnZpY2VzIl19LDI0OTk3OChlKXtlLmV4cG9ydHM9WyJFbnRlciBhIG5ldyBjb2x1bW4gc2V0IG5hbWU6Il19LDg5MDk5KGUpe2UuZXhwb3J0cz1bIkVudGVyIGEgbmV3IHNjcmVlbiBuYW1lOiJdfSw0NTgwMTEoZSl7ZS5leHBvcnRzPVsiRW50ZXJ0YWlubWVudCBQcm9kdWN0aW9uIl19LDIxODc2NyhlKXtlLmV4cG9ydHM9WyJFbnRlcnRhaW5tZW50IFByb2R1Y3Rpb24gRXF1aXBtZW50ICYgU2VydmljZXMiXX0sNjczMTYxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgdmFsdWUiXX0sNjc0NDgxKGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgU29mdHdhcmUiXX0sMTExMTI1KGUpe2UuZXhwb3J0cz1bIkVudGVycHJpc2UgVmFsdWUvRUJJVERBIChUVE0pIl19LDUzMTI4OChlKXtlLmV4cG9ydHM9WyJFbnRlcnByaXNlIFZhbHVlIChNUlEpIl19LDkxNTEyNChlKXtlLmV4cG9ydHM9WyJFbnRpcmUgd29ybGQiXX0sMjA1MjA5KGUpe2UuZXhwb3J0cz1bIkVudmlyb25tZW50YWwgQmlvdGVjaG5vbG9neSJdfSw1ODA2NzIoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBDb25zdWx0YW5jeSBTZXJ2aWNlcyJdfSwzMDcwMTcoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyJdfSw2OTAwOTAoZSl7ZS5leHBvcnRzPVsiRW52aXJvbm1lbnRhbCBTZXJ2aWNlcyAmIEVxdWlwbWVudCJdfSw2MDE3NjQoZSl7ZS5leHBvcnRzPVsiRW5kIG9mIERheSJdfSw4MjU1NDIoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDU2MDM4OShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sMzY3NzYwKGUpe2UuZXhwb3J0cz1bIkVuZXJneSBEcmlua3MiXX0sMjk3MzA0KGUpe2UuZXhwb3J0cz1bIkVuZ2luZSAmIFBvd2VydHJhaW4gU3lzdGVtcyJdfSwyMjMyNjIoZSl7ZS5leHBvcnRzPVsiRW5naW5lZXJpbmcgJiBDb25zdHJ1Y3Rpb24iXX0sMTM0MDU5KGUpe2UuZXhwb3J0cz1bIkVhcm5pbmdzIHRoaXMgd2VlayJdfSw0MTMzOTcoZSl7ZS5leHBvcnRzPVsiRWN1YWRvciJdfSwyNDMwODIoZSl7ZS5leHBvcnRzPVsiRWR1Y2F0aW9uICYgVHJhaW5pbmcgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDE0NDI2MChlKXtlLmV4cG9ydHM9WyJFZHVjYXRpb25hbCBTZXJ2aWNlcyJdfSwzMzc0MzcoZSl7ZS5leHBvcnRzPVsiRWd5cHQiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDI3NDc4MihlKXtlLmV4cG9ydHM9WyJFbGVjdHJpYyBDb25zdHJ1Y3Rpb24iXX0sNzg3MTcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIEVxdWlwbWVudCBXaG9sZXNhbGUiXX0sODExODcwKGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljIFV0aWxpdGllcyJdfSwzNDY3MTEoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWMgVXRpbGl0aWVzOiBDZW50cmFsIl19LDk5OTAxNChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIChBbHRlcm5hdGl2ZSkgVmVoaWNsZXMiXX0sNDYxMjI3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cmljYWwgQ29tcG9uZW50cyAmIEVxdWlwbWVudCJdfSw0MTY1MzcoZSl7ZS5leHBvcnRzPVsiRWxlY3RyaWNhbCBNZWFzdXJpbmcgJiBUZXN0aW5nIEluc3RydW1lbnRzIl19LDYxNDQ0MChlKXtlLmV4cG9ydHM9WyJFbGVjdHJpY2FsIFByb2R1Y3RzIl19LDMyMTQ2NShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbiBUdWJlcyAmIEluc3VsYXRvcnMiXX0sMTAyMjQ3KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWNzIERpc3RyaWJ1dG9ycyJdfSw5NzcwMDkoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlIFN0b3JlcyJdfSwyNjAwMzcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pY3MvQXBwbGlhbmNlcyJdfSwzNjg1NjAoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBDb21wb25lbnQiXX0sNDQ5NDE5KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgQ29tcG9uZW50cyJdfSwxNTQwNDcoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQgJiBQYXJ0cyJdfSwzOTYzMTYoZSl7ZS5leHBvcnRzPVsiRWxlY3Ryb25pYyBFcXVpcG1lbnQvSW5zdHJ1bWVudHMiXX0sNzczMTQ0KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgRXF1aXBtZW50cyAmIFBhcnRzIl19LDg5NDczNyhlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFByb2R1Y3Rpb24gRXF1aXBtZW50Il19LDY1NDMyKGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgUmVwYWlyIFNlcnZpY2VzIl19LDc1OTYxNShlKXtlLmV4cG9ydHM9WyJFbGVjdHJvbmljIFRlY2hub2xvZ3kiXX0sOTIyNDU5KGUpe2UuZXhwb3J0cz1bIkVsZXZhdG9yICYgQ29udmV5aW5nIEVxdWlwbWVudCJdfSw4NzM0MDMoZSl7ZS5leHBvcnRzPVsiRXBveHkiXX0sMzQwMjM5KGUpe2UuZXhwb3J0cz1bIkVxdWFsIl0KfSw3NDY1MjQoZSl7ZS5leHBvcnRzPVsiRXF1YXRvcmlhbCBHdWluZWEiXX0sNzMwODczKGUpe2UuZXhwb3J0cz1bIkVyaXRyZWEiXX0sOTQxMjAoZSl7ZS5leHBvcnRzPVsiRXN0b25pYSJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sNDUwNjIzKGUpe2UuZXhwb3J0cz1bIkV0aGFub2wgRnVlbHMiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMzQ5NjcwKGUpe2UuZXhwb3J0cz1bIkV2ZW5pbmcgU3RhciJdfSw3MjE0NDEoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQgSG91cnMiXX0sODI2NjA3KGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIl19LDU0ODc1MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSBUcmFkZWQgRnVuZCJdfSwyMjI1MzIoZSl7ZS5leHBvcnRzPVsiRXhjaGFuZ2UgVHJhZGVkIEZ1bmRzIl19LDYxMTExOChlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0eXBlIl19LDI5OTMxNihlKXtlLmV4cG9ydHM9WyJFeGVjdXRpdmUgU2VhcmNoIFNlcnZpY2VzIl19LDkxOTE3NyhlKXtlLmV4cG9ydHM9WyJFeGhpYml0aW9uICYgQ29uZmVyZW5jZSBTZXJ2aWNlcyJdfSw1ODA4MzIoZSl7ZS5leHBvcnRzPVsiRXhvdGljIl19LDM2NTU4OShlKXtlLmV4cG9ydHM9WyJFeHBpcmF0aW9uIl19LDYzNDUwNihlKXtlLmV4cG9ydHM9WyJFeHBvbmVudGlhbCBNb3ZpbmcgQXZlcmFnZSAoe251bWJlcn0pIl19LDM5MTI1MShlKXtlLmV4cG9ydHM9WyJFeHBsb3NpdmVzIl19LDIxNDI3OShlKXtlLmV4cG9ydHM9WyJGRCBNa3QgQ2FwIl19LDI5ODU3NihlKXtlLmV4cG9ydHM9WyJGUSJdfSwyODc5MTgoZSl7ZS5leHBvcnRzPVsiRlkiXX0sNjMyODQ3KGUpe2UuZXhwb3J0cz1bIkZvb2QgRGlzdHJpYnV0b3JzIl19LDQwMzk0MyhlKXtlLmV4cG9ydHM9WyJGb29kIEluZ3JlZGllbnRzIl19LDUxNDM4NyhlKXtlLmV4cG9ydHM9WyJGb29kIE1hcmtldHMiXX0sMTQ2MDQzKGUpe2UuZXhwb3J0cz1bIkZvb2QgUHJvY2Vzc2luZyJdfSwyMzE0MzQoZSl7ZS5leHBvcnRzPVsiRm9vZCBSZXRhaWwiXX0sODYzNjYxKGUpe2UuZXhwb3J0cz1bIkZvb2QgUmV0YWlsICYgRGlzdHJpYnV0aW9uIl19LDk3NjgyMihlKXtlLmV4cG9ydHM9WyJGb29kIFdob2xlc2FsZSJdfSwyNTc3MDkoZSl7ZS5leHBvcnRzPVsiRm9vZDogTWFqb3IgRGl2ZXJzaWZpZWQiXX0sNDI0Njg1KGUpe2UuZXhwb3J0cz1bIkZvb2Q6IE1lYXQvRmlzaC9EYWlyeSJdfSw5MzE4ODMoZSl7ZS5leHBvcnRzPVsiRm9vZDogU3BlY2lhbHR5L0NhbmR5Il19LDY5ODA1NyhlKXtlLmV4cG9ydHM9WyJGb290d2VhciJdfSw5MTUwMzcoZSl7ZS5leHBvcnRzPVsiRm9vdHdlYXIgUmV0YWlsZXJzIl19LDk3MzI5NShlKXtlLmV4cG9ydHM9WyJGb290d2VhciBXaG9sZXNhbGUiXX0sODA4MDA4KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCAmIFdvb2QgUHJvZHVjdHMiXX0sNDY0MjM5KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBOdXJzZXJpZXMgJiBHYXRoZXJpbmcgb2YgRm9yZXN0IFByb2R1Y3RzIl19LDM0NDY1MyhlKXtlLmV4cG9ydHM9WyJGb3Jlc3QgUHJvZHVjdHMiXX0sODMxODc1KGUpe2UuZXhwb3J0cz1bIkZvcmVzdCBTdXBwb3J0ICYgU2VydmljZXMiXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDI0OTgyKGUpe2UuZXhwb3J0cz1bIkZvc3NpbCBGdWVsIEVsZWN0cmljIFV0aWxpdGllcyJdfSwxOTM3MTEoZSl7ZS5leHBvcnRzPVsiRm9zc2lsIEZ1ZWwgSVBQcyJdfSwyNjA2MDUoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgc2V0cyJdfSw1ODA2NTgoZSl7ZS5leHBvcnRzPVsiRmFicmljIER5ZWluZyAmIEZpbmlzaGluZyJdfSw3NTI0MzAoZSl7ZS5leHBvcnRzPVsiRmFjdG9yaW5nIl19LDk5MzQ3NShlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIl19LDYwNzcyMyhlKXtlLmV4cG9ydHM9WyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiXX0sNDI4OTc4KGUpe2UuZXhwb3J0cz1bIkZhbGxpbmcgcGFpcnMiXX0sNDUyNDg3KGUpe2UuZXhwb3J0cz1bIkZhcm9lIElzbGFuZHMiXX0sNzQ1NTE2KGUpe2UuZXhwb3J0cz1bIkZhc2hpb24gRXlld2VhciJdfSw2MTczNDEoZSl7ZS5leHBvcnRzPVsiRmViIl19LDYzNjA2NChlKXtlLmV4cG9ydHM9WyJGZXJ0aWxpemVyIl19LDIxNDg1KGUpe2UuZXhwb3J0cz1bIkZpYmVyIE9wdGljIENhYmxlIE1hbnVmYWN0dXJpbmciXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMTQxNzI3KGUpe2UuZXhwb3J0cz1bIkZpbHRlcnMiXX0sNDYyMTkzKGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sOTkyMjk2KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UvUmVudGFsL0xlYXNpbmciXX0sNjY1OTA1KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2U6IENvbnN1bWVyIFNlcnZpY2VzIl19LDc2OTg3NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpbmcgY2FzaCBmbG93ICh7cGVyaW9kfSkiXX0sMTI4NDc5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCJdfSw5MjA2NDIoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsICYgQ29tbW9kaXR5IE1hcmtldCBPcGVyYXRvcnMiXX0sNTAwMjQ3KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2lhbCBDb25nbG9tZXJhdGVzIl19LDYxNDQzMyhlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgSW5mb3JtYXRpb24gUHJvdmlkZXJzIl19LDkzNzI2NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWwgUHVibGlzaGluZy9TZXJ2aWNlcyJdfSw0NDM0OTYoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFsIFRlY2hub2xvZ3kgJiBJbmZyYXN0cnVjdHVyZSJdfSwzNjkzMjUoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw2MTMxNChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGN1cnJlbmN5Il19LDM0MTI0NChlKXtlLmV4cG9ydHM9WyJGaW5hbmNpYWxzIGluIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDMxNDUyMShlKXtlLmV4cG9ydHM9WyJGaXNjYWwgeWVhciBlbmQiXX0sMzAxNjk1KGUpe2UuZXhwb3J0cz1bIkZpc2hpbmcgJiBGYXJtaW5nIl19LAoyMTYxODkoZSl7ZS5leHBvcnRzPVsiRmlzaGluZyAmIEZhcm1pbmcgV2hvbGVzYWxlIl19LDQ3NTIyNShlKXtlLmV4cG9ydHM9WyJGbHVpZCBQb3dlciBDeWxpbmRlciAmIEFjdHVhdG9ycyJdfSw3MjMwODgoZSl7ZS5leHBvcnRzPVsiRmxvYXQiXX0sNDg1NDI5KGUpe2UuZXhwb3J0cz1bIkZsb29yIENvdmVyaW5nIFJldGFpbGVycyJdfSw4MTg2MjgoZSl7ZS5leHBvcnRzPVsiRmxvb3JpbmcgJiBJbnRlcmlvciBUaWxlIE1hbnVmYWN0dXJlcnMiXX0sMzg5NDg3KGUpe2UuZXhwb3J0cz1bIkZsb3Jpc3RzIl19LDM5ODIzNyhlKXtlLmV4cG9ydHM9WyJGbG91ciBNaWxsaW5nIl19LDkxNjYyKGUpe2UuZXhwb3J0cz1bIkZydWl0ICYgVmVnZXRhYmxlIFByb2Nlc3NpbmciXX0sNzc0MjE2KGUpe2UuZXhwb3J0cz1bIkZydWl0IERyaW5rcyJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDE0NDYzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93Il19LDYwNzU2MChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoQW5udWFsIFlvWSBHcm93dGgpIl19LDM0NDM2KGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sMjY1MDYoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODU3MShlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNIFlvWSBHcm93dGgpIl19LDE2NzY4OChlKXtlLmV4cG9ydHM9WyJGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw1MzExNzMoZSl7ZS5leHBvcnRzPVsiRnJlZSBDYXNoIEZsb3cgTWFyZ2luIChGWSkiXX0sOTI0NTUzKGUpe2UuZXhwb3J0cz1bIkZyZWUgQ2FzaCBGbG93IE1hcmdpbiAoVFRNKSJdfSw2MjI1NTkoZSl7ZS5leHBvcnRzPVsiRnJlZSBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw5NjkyMzcoZSl7ZS5leHBvcnRzPVsiRnJlaWdodCBMb2dpc3RpY3MiXX0sMzQyNzA2KGUpe2UuZXhwb3J0cz1bIkZyZWlnaHQgVHJ1Y2tpbmciXX0sOTc2MDc5KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBHdWlhbmEiXX0sODYzODI1KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBQb2x5bmVzaWEiXX0sMzI4NjA3KGUpe2UuZXhwb3J0cz1bIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyJdfSw3ODI5NjQoZSl7ZS5leHBvcnRzPVsiRnJvemVuIEZvb2QgTWFudWZhY3R1cmluZyJdfSw5NDM5MDMoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw2ODczMzIoZSl7ZS5leHBvcnRzPVsiRnVsbHkgRGlsdXRlZCBNYXJrZXQgQ2FwIl19LDg4MTkxOShlKXtlLmV4cG9ydHM9WyJGdW5lcmFsIFNlcnZpY2VzIl19LDI2NjY3MShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUiXX0sODM4NShlKXtlLmV4cG9ydHM9WyJGdXJuaXR1cmUgUmV0YWlsZXJzIl19LDk3ODU2MShlKXtlLmV4cG9ydHM9WyJHMjAiXX0sNTgxNjc5KGUpe2UuZXhwb3J0cz1bIktuaXR3ZWFyIl19LDY3Njg2KGUpe2UuZXhwb3J0cz1bIktvc292byJdfSwyNzc1NjAoZSl7ZS5leHBvcnRzPVsiS2F6YWtoc3RhbiJdfSw2Nzk1NDYoZSl7ZS5leHBvcnRzPVsiS2VsdG5lciBDaGFubmVscyBMb3dlciBCYW5kICgyMCkiXX0sMzA1ODg1KGUpe2UuZXhwb3J0cz1bIktlbHRuZXIgQ2hhbm5lbHMgVXBwZXIgQmFuZCAoMjApIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSw0NTcyNDIoZSl7ZS5leHBvcnRzPVsiS2l0Y2hlbiBBcHBsaWFuY2VzIl19LDQyMjYxOShlKXtlLmV4cG9ydHM9WyJLaXRjaGVuIENhYmluZXRzIl19LDQ1NzY5NChlKXtlLmV4cG9ydHM9WyJLaWNraW5nIEJlYXJpc2giXX0sNjE4NDkyKGUpe2UuZXhwb3J0cz1bIktpY2tpbmcgQnVsbGlzaCJdfSw0NDYyOTMoZSl7ZS5leHBvcnRzPVsiS2lyaWJhdGkiXX0sMjU3NzYwKGUpe2UuZXhwb3J0cz1bIktsdENoMjAgTG93Il19LDI0MDcxNShlKXtlLmV4cG9ydHM9WyJLbHRDaDIwIFVwIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDU4NjYwKGUpe2UuZXhwb3J0cz1bIkt5cmd5enN0YW4iXX0sODgzNjIwKGUpe2UuZXhwb3J0cz1bIkhvdGVscyAmIE1vdGVscyJdfSwxNjQyNzcoZSl7ZS5leHBvcnRzPVsiSG90ZWxzL1Jlc29ydHMvQ3J1aXNlIGxpbmVzIl19LDM5OTc5MShlKXtlLmV4cG9ydHM9WyJIb3RlbHMsIE1vdGVscyAmIENydWlzZSBMaW5lcyJdfSw3MTg2MDcoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIEFwcGxpYW5jZXMiXX0sMjc1NDk4KGUpe2UuZXhwb3J0cz1bIkhvdXNlaG9sZCBFbGVjdHJvbmljcyJdfSw2OTkyODkoZSl7ZS5leHBvcnRzPVsiSG91c2Vob2xkIFByb2R1Y3RzIl19LDI5MzcwNyhlKXtlLmV4cG9ydHM9WyJIb3VzZWhvbGQvUGVyc29uYWwgQ2FyZSJdfSw3MzA0OTYoZSl7ZS5leHBvcnRzPVsiSG9sZGluZyBDb21wYW5pZXMiXX0sMTI3NDkoZSl7ZS5leHBvcnRzPVsiSG9seSBTZWUiXX0sNjc0MTA1KGUpe2UuZXhwb3J0cz1bIkhvbWUgQXVkaW8iXX0sMjY1NDIoZSl7ZS5leHBvcnRzPVsiSG9tZSBEZWNvciBSZXRhaWxlcnMiXX0sNzk3ODYoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyJdfSwyOTEyMDMoZSl7ZS5leHBvcnRzPVsiSG9tZSBGdXJuaXNoaW5ncyBSZXRhaWxlcnMiXX0sNDYxNDUyKGUpe2UuZXhwb3J0cz1bIkhvbWUgRnVybmlzaGluZ3MgV2hvbGVzYWxlIl19LDI5Njc4MShlKXtlLmV4cG9ydHM9WyJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiXX0sMTE2Mjg3KGUpe2UuZXhwb3J0cz1bIkhvbWUgSW1wcm92ZW1lbnQgQ2hhaW5zIl19LDY2MTE0NyhlKXtlLmV4cG9ydHM9WyJIb21lIEltcHJvdmVtZW50IFByb2R1Y3RzICYgU2VydmljZXMgUmV0YWlsZXJzIl19LDg1MjcyNChlKXtlLmV4cG9ydHM9WyJIb21lYnVpbGRpbmciXX0sMjAyODE2KGUpe2UuZXhwb3J0cz1bIkhvbmR1cmFzIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDU0NTkyNShlKXtlLmV4cG9ydHM9WyJIb3JzZSAmIERvZyBSYWNlIFRyYWNrcyJdfSwxMjQ0MDIoZSl7CmUuZXhwb3J0cz1bIkhvc2llcnkgJiBTb2NrIl19LDM4MDk0NChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbC9OdXJzaW5nIE1hbmFnZW1lbnQiXX0sNTQ5MTM3KGUpe2UuZXhwb3J0cz1bIkhvc3BpdGFsaXR5IFJFSVRzIl19LDc3MjU0OChlKXtlLmV4cG9ydHM9WyJIb3NwaXRhbHMsIENsaW5pY3MgJiBQcmltYXJ5IENhcmUgU2VydmljZXMiXX0sMTM2OTQ2KGUpe2UuZXhwb3J0cz1bIkhhaXIgQWNjZXNzb3JpZXMiXX0sODk0NzA5KGUpe2UuZXhwb3J0cz1bIkhhaXRpIl19LDgyODY0MShlKXtlLmV4cG9ydHM9WyJIYWxhbCBBbmltYWwgU2xhdWdodGVyaW5nICYgUHJvY2Vzc2luZyJdfSw4NjU5MDcoZSl7ZS5leHBvcnRzPVsiSGFtbWVyIl19LDM0ODMzMChlKXtlLmV4cG9ydHM9WyJIYW5naW5nIE1hbiJdfSw0NjY0NzkoZSl7ZS5leHBvcnRzPVsiSGFuZGJhZ3MgJiBMdWdnYWdlIl19LDE0NDAxKGUpe2UuZXhwb3J0cz1bIkhhbmRiYWdzICYgTHVnZ2FnZSBSZXRhaWxlcnMiXX0sMTAwOTU2KGUpe2UuZXhwb3J0cz1bIkhlYWx0aCBGb29kIFN0b3JlcyJdfSwzNTAwOTAoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIEluc3VyYW5jZSJdfSw2MjA2MDEoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDQxODQ1NyhlKXtlLmV4cG9ydHM9WyJIZWFsdGggVGVjaG5vbG9neSJdfSw4MDY4NjcoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSJdfSw2OTMxODUoZSl7ZS5leHBvcnRzPVsiSGVhbHRoY2FyZSBGYWNpbGl0aWVzICYgU2VydmljZXMiXX0sMTY4NzI4KGUpe2UuZXhwb3J0cz1bIkhlYWx0aGNhcmUgUkVJVHMiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1Mzk5MjIoZSl7ZS5leHBvcnRzPVsiSGVhdGluZywgVmVudGlsYXRpb24gJiBBaXIgQ29uZGl0aW9uaW5nIFN5c3RlbXMiXX0sMjYyOTgzKGUpe2UuZXhwb3J0cz1bIkhlYXZ5IEJ1c2VzICYgQ29hY2hlcyJdfSw0NTgxMjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgRWxlY3RyaWNhbCBFcXVpcG1lbnQiXX0sMjUwNTIoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwzODE2MDQoZSl7ZS5leHBvcnRzPVsiSGVhdnkgTWFjaGluZXJ5ICYgVmVoaWNsZXMiXX0sNTE4MDQ0KGUpe2UuZXhwb3J0cz1bIkhlYXZ5IE1hY2hpbmVyeSAmIFZlaGljbGVzIFdob2xlc2FsZSJdfSw5OTgwNjcoZSl7ZS5leHBvcnRzPVsiSGVhdnkgVHJ1Y2tzIl19LDg5ODMzNihlKXtlLmV4cG9ydHM9WyJIZWRnZSBGdW5kcyJdfSwxMjI3NjQoZSl7ZS5leHBvcnRzPVsiSGlkZSBjdXJyZW5jeSJdfSw3MjEwMDEoZSl7ZS5leHBvcnRzPVsiSGlkZSBkZXNjcmlwdGlvbiJdfSw3NTcyMzEoZSl7ZS5leHBvcnRzPVsiSGlkZSByYXRpbmciXX0sOTI2ODI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ltYm9sIHR5cGUiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODg1OTMoZSl7ZS5leHBvcnRzPVsiSGlnaC1kaXZpZGVuZCJdfSw5MDAzNzUoZSl7ZS5leHBvcnRzPVsiSGlnaCA1MlciXX0sNDczNzYyKGUpe2UuZXhwb3J0cz1bIkhpZ2h3YXkgJiBCcmlkZ2UgQ29uc3RydWN0aW9uIl19LDc3Mjg4NihlKXtlLmV4cG9ydHM9WyJIaWdod2F5IE9wZXJhdG9ycyJdfSw1MTM3NzYoZSl7ZS5leHBvcnRzPVsiSGlnaHdheXMgJiBSYWlsIFRyYWNrcyJdfSw3NjA3MTkoZSl7ZS5leHBvcnRzPVsiSHVsbCBNb3ZpbmcgQXZlcmFnZSAoOSkiXX0sNzM5MjAzKGUpe2UuZXhwb3J0cz1bIkh1bGxNQTkiXX0sNTk1OTk2KGUpe2UuZXhwb3J0cz1bIkh1bWFuIFJlc291cmNlcyBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDM0NzI0OShlKXtlLmV4cG9ydHM9WyJIeWRyb2dlbiBGdWVsIl19LDg4NzgzNyhlKXtlLmV4cG9ydHM9WyJIeWRyb3Bvd2VyIEVxdWlwbWVudCJdfSw1NzQ1NDMoZSl7ZS5leHBvcnRzPVsiSVQgU2VydmljZXMgJiBDb25zdWx0aW5nIl19LDcxNTEwNyhlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkICBNaW5pbmciXX0sODg2ZTMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBDaXJjdWl0cyJdfSw0MTQ4NzMoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBMb2dpc3RpY3MgT3BlcmF0b3JzIl19LDI2MjA0NShlKXtlLmV4cG9ydHM9WyJJbnRlZ3JhdGVkIE9pbCJdfSw5OTkxMzEoZSl7ZS5leHBvcnRzPVsiSW50ZWdyYXRlZCBPaWwgJiBHYXMiXX0sNzQ1NTkwKGUpe2UuZXhwb3J0cz1bIkludGVncmF0ZWQgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDU5ODA4MyhlKXtlLmV4cG9ydHM9WyJJbnRlci1kZWFsZXIgQnJva2VyIl19LDI2NzcyMihlKXtlLmV4cG9ydHM9WyJJbnRlcmlvciBEZXNpZ24gU2VydmljZXMiXX0sODI3NDU2KGUpe2UuZXhwb3J0cz1bIkludGVybmF0aW9uYWwgVHJhZGUgRmluYW5jaW5nIl19LDgyMDQ2NChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCAmIE1haWwgT3JkZXIgRGVwYXJ0bWVudCBTdG9yZXMiXX0sNzcxMjkyKGUpe2UuZXhwb3J0cz1bIkludGVybmV0ICYgTWFpbCBPcmRlciBEaXNjb3VudCBTdG9yZXMiXX0sMzA2OChlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBHYW1pbmciXX0sNDYzNTIzKGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNvZnR3YXJlL1NlcnZpY2VzIl19LDc5Nzk5NyhlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBTZWN1cml0eSAmIFRyYW5zYWN0aW9ucyBTZXJ2aWNlcyJdfSw5MDU1OTMoZSl7ZS5leHBvcnRzPVsiSW50ZXJuZXQgU2VydmljZSBQcm92aWRlcnMiXX0sNjc0NzI5KGUpe2UuZXhwb3J0cz1bIkludGVybmV0IFNlcnZpY2VzIl19LDI3NTAxMihlKXtlLmV4cG9ydHM9WyJJbnRlcm5ldCBSZXRhaWwiXX0sMjcyMTYxKGUpe2UuZXhwb3J0cz1bIkludmVydGVkIEhhbW1lciJdfSw2Mzg0OTgoZSl7ZS5leHBvcnRzPVsiSW52ZXN0aW5nIGNhc2ggZmxvdyAoe3BlcmlvZH0pIl19LDk4NjkxNChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtlcnMvQnJva2Vycy9TZXJ2aWNlIl19LDQ3NTE3NChlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmciXX0sOTEyNjU4KGUpewplLmV4cG9ydHM9WyJJbnZlc3RtZW50IEJhbmtpbmcgJiBCcm9rZXJhZ2UgU2VydmljZXMiXX0sOTczNzI0KGUpe2UuZXhwb3J0cz1bIkludmVzdG1lbnQgQmFua3MvQnJva2VycyJdfSw0MDkyNzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VtZW50Il19LDU5MTk2MihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IE1hbmFnZW1lbnQgJiBGdW5kIE9wZXJhdG9ycyJdfSwzNzkwNjUoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBNYW5hZ2VycyJdfSw3NTYxMzYoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBTdXBwb3J0IFRvb2xzIl19LDc4NDMzMihlKXtlLmV4cG9ydHM9WyJJbnZlc3RtZW50IFRydXN0cyJdfSwyOTU5NzIoZSl7ZS5leHBvcnRzPVsiSW52ZXN0bWVudCBUcnVzdHMvTXV0dWFsIEZ1bmRzIl19LDE4MjQzNyhlKXtlLmV4cG9ydHM9WyJJbmNvbWUiXX0sODQ3NTQ0KGUpe2UuZXhwb3J0cz1bIkluY29tZSBTdGF0ZW1lbnQiXX0sMTcyMjk1KGUpe2UuZXhwb3J0cz1bIkluZGVwZW5kZW50IFBvd2VyIFByb2R1Y2VycyJdfSwxMjI5MDAoZSl7ZS5leHBvcnRzPVsiSW5kZXgiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDgwMjk3NShlKXtlLmV4cG9ydHM9WyJJbmRvbmVzaWEiXX0sMTk1ODc4KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDY1MDEwMyhlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIEJpb3RlY2hub2xvZ3kgQ2hlbWljYWxzIl19LDk0ODMxMChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIENvbmdsb21lcmF0ZXMiXX0sODE3OTUxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgQ2xvdGhpbmcgJiBVbmlmb3JtcyJdfSw2NjI2NjgoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBFbGVjdHJpY2FsIFN3aXRjaGdlYXIiXX0sMjI2NjcwKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgR2FzIl19LDQ5NDU4OChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIE1hY2hpbmVyeSJdfSw2NTczNzEoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNYWNoaW5lcnkgJiBFcXVpcG1lbnQiXX0sNzY2Nzc3KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgTWFjaGluZXJ5ICYgRXF1aXBtZW50IFdob2xlc2FsZSJdfSwyNzYyNDcoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBNb3VsZHMiXX0sNjQxNjkoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBQYXJ0cyAmIENvbXBvbmVudHMiXX0sNTE3MjY0KGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUGxhbnQiXX0sMzIyMDgyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUHJvY2VzcyBGdXJuYWNlICYgT3ZlbnMiXX0sMTA4MzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUkVJVHMiXX0sNzM1NzIzKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWwgUnViYmVyIFByb2R1Y3RzIl19LDk5OTU2MChlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNlcnZpY2VzIl19LDIxNDM5NihlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFNwZWNpYWx0aWVzIl19LDI0OTI0OShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWFsIFZhbHZlIE1hbnVmYWN0dXJpbmciXX0sOTc4NTcyKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJpYWxzIl19LDkwNTgzNShlKXtlLmV4cG9ydHM9WyJJbmR1c3RyaWVzIl19LDg3NzYxKGUpe2UuZXhwb3J0cz1bIkluZHVzdHJ5Il19LDg5OTA4MChlKXtlLmV4cG9ydHM9WyJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IFNlcnZpY2VzIl19LDQyMDg0KGUpe2UuZXhwb3J0cz1bIklubGFuZCBXYXRlciBGcmVpZ2h0Il19LDQwMzQ3NChlKXtlLmV4cG9ydHM9WyJJbnB1dCBEZXZpY2VzIl19LDcwOTQ5NyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGN1cnJlbmN5Il19LDMyODMxMyhlKXtlLmV4cG9ydHM9WyJJbnN0cnVtZW50IGlzIG5vdCBhbGxvd2VkIl19LDQ2NzU1MihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgLSBBdXRvbW9iaWxlIl19LDg3MTE1NihlKXtlLmV4cG9ydHM9WyJJbnN1cmFuY2UgQnJva2VycyJdfSw2NjQ2NzAoZSl7ZS5leHBvcnRzPVsiSW5zdXJhbmNlIEJyb2tlcnMvU2VydmljZXMiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sNzAyOTQ2KGUpe2UuZXhwb3J0cz1bIkljaGltb2t1IENvbnZlcnNpb24iXX0sOTI2NChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBDb252ZXJzaW9uIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDc1MjkzNChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIl19LDQ5MDcyOChlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBCYXNlIExpbmUgKDksIDI2LCA1MiwgMjYpIl19LDMxMDE3NyhlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQSJdfSwyOTczMTAoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEEgKDksIDI2LCA1MiwgMjYpIl19LDgzOTU4MShlKXtlLmV4cG9ydHM9WyJJY2hpbW9rdSBMZWFkaW5nIFNwYW4gQiJdfSw3MDY1NjIoZSl7ZS5leHBvcnRzPVsiSWNoaW1va3UgTGVhZGluZyBTcGFuIEIgKDksIDI2LCA1MiwgMjYpIl19LDM3MTc0NihlKXtlLmV4cG9ydHM9WyJJcmFxIl19LDcxMTUyNyhlKXtlLmV4cG9ydHM9WyJJcmVsYW5kIl19LDcwOTc5NChlKXtlLmV4cG9ydHM9WyJJcm9uIE9yZSBNaW5pbmciXX0sMjYzNDIxKGUpe2UuZXhwb3J0cz1bIklyb24sIFN0ZWVsIE1pbGxzICYgRm91bmRyaWVzIl19LDIwNzgyNShlKXtlLmV4cG9ydHM9WyJJc2xlIG9mIE1hbiJdfSw4MDMzNTQoZSl7ZS5leHBvcnRzPVsiSXNyYWVsIl19LDg5ODE2MyhlKXtlLmV4cG9ydHM9WyJJdGFseSJdfSw3MjQ5MTIoZSl7ZS5leHBvcnRzPVsiSeKAmW0gbm90IHJlYWR5Il19LDU4MzAwOShlKXtlLmV4cG9ydHM9WyJKb3JkYW4iXX0sMTYzNShlKXtlLmV4cG9ydHM9WyJKYW1haWNhIl19LDY1NzM3NChlKXtlLmV4cG9ydHM9WyJKYW4iXX0sMjAwMDY4KGUpe2UuZXhwb3J0cz1bIkphcGFuIl19LDY2MDI5NChlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5Il19LDQ1NDk4MyhlKXtlLmV4cG9ydHM9WyJKZXdlbHJ5ICYgV2F0Y2ggUmV0YWlsZXJzIl19LDE2MTg0MChlKXtlLmV4cG9ydHM9WyJKZWFucyJdfSwKMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw2Njk2OTEoZSl7ZS5leHBvcnRzPVsiSnV2ZW5pbGUgRnVybml0dXJlIl19LDE4Mzk1OShlKXtlLmV4cG9ydHM9WyJKdWwiXX0sODc3NDUoZSl7ZS5leHBvcnRzPVsiSnVuIl19LDI4NTI5MyhlKXtlLmV4cG9ydHM9WyJPbWFuIl19LDI0MDIyKGUpe2UuZXhwb3J0cz1bIk9ubGluZSBKb2IgcG9ydGFscyJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDEyODc0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQiXX0sODQ5MTE4KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQvU3VwcGxpZXMiXX0sNDI0ODYxKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgJiBTdXBwbGllcyBSZW50YWwiXX0sMTM3NTI1KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDc5Nzc0OChlKXtlLmV4cG9ydHM9WyJPZmZpY2UgRnVybml0dXJlIl19LDkyNzcxMihlKXtlLmV4cG9ydHM9WyJPZmZpY2UgUkVJVHMiXX0sNDMzOTExKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MDYzNDkoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg1NjMyKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyJdfSw5NDAxMTUoZSl7ZS5leHBvcnRzPVsiT2ZmaWNlIFN1cHBsaWVzICYgU3RhdGlvbmVyeSBTdG9yZXMiXX0sMzc5NTA3KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBTdXBwbGllcyBXaG9sZXNhbGUiXX0sMjkwMzcwKGUpe2UuZXhwb3J0cz1bIk9mZmljZSBUZWNobm9sb2d5IEVxdWlwbWVudCJdfSw2NDc0MzkoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIERyaWxsaW5nIl19LDE5NDQ1MChlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgRXhwbG9yYXRpb24gYW5kIFByb2R1Y3Rpb24iXX0sMjgzODg1KGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBQaXBlbGluZXMiXX0sMzkxNyhlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw1MDMzMTcoZSl7ZS5leHBvcnRzPVsiT2lsICYgR2FzIFJlZmluaW5nIGFuZCBNYXJrZXRpbmciXX0sOTIyNDkzKGUpe2UuZXhwb3J0cz1bIk9pbCAmIEdhcyBTdG9yYWdlIl19LDg5NjgxOShlKXtlLmV4cG9ydHM9WyJPaWwgJiBHYXMgVHJhbnNwb3J0YXRpb24gU2VydmljZXMiXX0sMjk4MDUwKGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9uc2hvcmUiXX0sMTc5NDk3KGUpe2UuZXhwb3J0cz1bIk9pbCBEcmlsbGluZyAtIE9mZnNob3JlIl19LDg1NzkxOChlKXtlLmV4cG9ydHM9WyJPaWwgRXhwbG9yYXRpb24gJiBQcm9kdWN0aW9uIC0gT2Zmc2hvcmUiXX0sNzM3MjMwKGUpe2UuZXhwb3J0cz1bIk9pbCBFeHBsb3JhdGlvbiAmIFByb2R1Y3Rpb24gLSBPbnNob3JlIl19LDEyODg3OShlKXtlLmV4cG9ydHM9WyJPaWwgUGlwZWxpbmUiXX0sNzkyMDMyKGUpe2UuZXhwb3J0cz1bIk9pbCBSZWZpbmluZy9NYXJrZXRpbmciXX0sNjY5MTU2KGUpe2UuZXhwb3J0cz1bIk9pbCBSZWxhdGVkIC0gU3VydmV5aW5nICYgTWFwcGluZyBTZXJ2aWNlcyJdfSw1NjE2MTUoZSl7ZS5leHBvcnRzPVsiT2lsIFJlbGF0ZWQgRXF1aXBtZW50Il19LDU3MzE2NyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyJdfSwyMjA1MyhlKXtlLmV4cG9ydHM9WyJPaWwgUmVsYXRlZCBTZXJ2aWNlcyBhbmQgRXF1aXBtZW50Il19LDg4NTU0NihlKXtlLmV4cG9ydHM9WyJPaWxmaWVsZCBTZXJ2aWNlcy9FcXVpcG1lbnQiXX0sMjA4MDc4KGUpe2UuZXhwb3J0cz1bIk9rIl19LDc2ODQwMShlKXtlLmV4cG9ydHM9WyJPcHRpY2FsIEdvb2RzIFN0b3JlcyJdfSw5Nzc4MShlKXtlLmV4cG9ydHM9WyJPcGVuIl19LDkzNjEzNShlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IENoYXJ0Li4uIl19LDcwNjQwMChlKXtlLmV4cG9ydHM9WyJPcGVuIHtzeW1ib2x9IFBhZ2UuLi4iXX0sMzIxMDI5KGUpe2UuZXhwb3J0cz1bIk9wZW4gUHJpY2UiXX0sMzMyOTkoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiJdfSw0MzUwNzAoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIE1hcmdpbiAoRlkpIl19LDgwMDQzMyhlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgTWFyZ2luIChUVE0pIl19LDQ3MjY2OShlKXtlLmV4cG9ydHM9WyJPcGVyYXRpbmcgbWFyZ2luICh7cGVyaW9kfSkiXX0sMzU3Nzc0KGUpe2UuZXhwb3J0cz1bIk9wZXJhdGluZyBjYXNoIGZsb3cgKHtwZXJpb2R9KSJdfSw4NTAyMTEoZSl7ZS5leHBvcnRzPVsiT3BlcmF0aW5nIGluY29tZSAoe3BlcmlvZH0pIl19LDgxMzIxOChlKXtlLmV4cG9ydHM9WyJPcmdhbmljICYgRWNvbG9naWNhbGx5IFByb2R1Y2VkIEZhYnJpYyJdfSwzMDE3MzEoZSl7ZS5leHBvcnRzPVsiT3JnYW5pYyBGZXJ0aWxpemVyIl19LDM1OTE1MChlKXtlLmV4cG9ydHM9WyJPc2NpbGxhdG9ycyJdfSw1NDA0NDAoZSl7ZS5leHBvcnRzPVsiT3NjaWxsYXRvcnMgUmF0aW5nIl19LDQ2MzgwKGUpe2UuZXhwb3J0cz1bIk90aGVyIENvbnN1bWVyIFNlcnZpY2VzIl19LDkwNzc1MChlKXtlLmV4cG9ydHM9WyJPdGhlciBDb25zdW1lciBTcGVjaWFsdGllcyJdfSwxMDU4NzEoZSl7ZS5leHBvcnRzPVsiT3RoZXIgTWV0YWxzL01pbmVyYWxzIl19LDM2Njc4OShlKXtlLmV4cG9ydHM9WyJPdGhlciBTcGVjaWFsdHkgUmV0YWlsZXJzIl19LDUxMTU4NihlKXtlLmV4cG9ydHM9WyJPdGhlciBUcmFuc3BvcnRhdGlvbiJdfSw0MzA3OTgoZSl7ZS5leHBvcnRzPVsiT3V0ZG9vciBBZHZlcnRpc2luZyJdfSwyNzc5NDIoZSl7ZS5leHBvcnRzPVsiT3V0c291cmNpbmcgJiBTdGFmZmluZyBTZXJ2aWNlcyJdfSwxNzI1NDMoZSl7ZS5leHBvcnRzPVsiT3V0c2lkZSJdfSwzNzY1MzIoZSl7ZS5leHBvcnRzPVsiT3V0cGVyZm9ybWluZyBTTUE1MCJdfSwyMjI1OTcoZSl7ZS5leHBvcnRzPVsiT3ZlcmJvdWdodCJdfSw4MTEyMDMoZSl7ZS5leHBvcnRzPVsiT3ZlcnNvbGQiXX0sNTY4MzQ2KGUpe2UuZXhwb3J0cz1bIk92ZXJ2aWV3Il19LDg2MzkxNihlKXsKZS5leHBvcnRzPVsiTE5HIFRyYW5zcG9ydGF0aW9uICYgU3RvcmFnZSJdfSw3Mzg0MDcoZSl7ZS5leHBvcnRzPVsiTG90dGVyeSBPcGVyYXRvcnMiXX0sODg4Njc4KGUpe2UuZXhwb3J0cz1bIkxvdyJdfSw5NjI2NTQoZSl7ZS5leHBvcnRzPVsiTG93IDUyVyJdfSw0NDM0MyhlKXtlLmV4cG9ydHM9WyJMb2NhbCBBZ2VuY2llcyJdfSwyOTkxNzUoZSl7ZS5leHBvcnRzPVsiTG9jb21vdGl2ZSBFbmdpbmVzICYgUm9sbGluZyBTdG9jayJdfSw5ODAyNDYoZSl7ZS5leHBvcnRzPVsiTG9nZ2luZyAmIFNhd21pbGxzIl19LDc0ODAxNChlKXtlLmV4cG9ydHM9WyJMb25nIExvd2VyIFNoYWRvdyJdfSw4MTA4MTcoZSl7ZS5leHBvcnRzPVsiTG9uZyBVcHBlciBTaGFkb3ciXX0sMTYwODIoZSl7ZS5leHBvcnRzPVsiTG9va3MgbGlrZSB5b3UgYXJlIHRyeWluZyB0byBzZXQgdXAgYSBzY3JlZW5lciBhbGVydCB3aXRoIG5vIHNhdmVkIGZpbHRlcnMuIFBsZWFzZSBzZWxlY3QgeW91ciBwcmVmZXJyZWQgZmlsdGVyICYgc2F2ZSB5b3VyIHNjcmVlbiB0byBjcmVhdGUgYW4gYWxlcnQuIl19LDI4Mjc3MyhlKXtlLmV4cG9ydHM9WyJMYXR2aWEiXX0sNDcxOTgxKGUpe2UuZXhwb3J0cz1bIkxhdW5kcnkgU3VwcGxpZXMiXX0sNDU2NTM3KGUpe2UuZXhwb3J0cz1bIkxhbmQgRGl2aXNpb24gJiBTdWJkaXZpc2lvbiJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw1NTIyNzMoZSl7ZS5leHBvcnRzPVsiTGFwdG9wICYgRGVza3RvcCBDb21wdXRlcnMiXX0sNjA5NjY2KGUpe2UuZXhwb3J0cz1bIkxhc2VyIEVxdWlwbWVudCJdfSwyODUzMzMoZSl7ZS5leHBvcnRzPVsiTGFzdCBZZWFyIFJldmVudWUgKEZZKSJdfSw5NTA4MDIoZSl7ZS5leHBvcnRzPVsiTGFzdCBmaXNjYWwgcGVyaW9kIl19LDUzMDQ0NChlKXtlLmV4cG9ydHM9WyJMYXN0IGZpc2NhbCBwZXJpb2QgZW5kIGRhdGUiXX0sNzkyMjYwKGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBhbW91bnQiXX0sNTY0MDg5KGUpe2UuZXhwb3J0cz1bIkxhc3QgcGF5bWVudCBkYXRlIl19LDI5MjAzOChlKXtlLmV4cG9ydHM9WyJMZXTigJlzIGRvIHRoaXMiXX0sNDU4ODg4KGUpe2UuZXhwb3J0cz1bIkxlYWQgT3JlIE1pbmluZyJdfSw5MDgwNDMoZSl7ZS5leHBvcnRzPVsiTGVhdGhlciBHb29kcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw4NjYxNzYoZSl7ZS5leHBvcnRzPVsiTGVnYWwgU2VydmljZXMiXX0sNzUyMjYoZSl7ZS5leHBvcnRzPVsiTGVpc3VyZSAmIFJlY3JlYXRpb24iXX0sNjE0MzMwKGUpe2UuZXhwb3J0cz1bIkxlaXN1cmUgUHJvZHVjdHMgV2hvbGVzYWxlIl19LDY1MzM5NShlKXtlLmV4cG9ydHM9WyJMZXNvdGhvIl19LDg5MjEwMChlKXtlLmV4cG9ydHM9WyJMaXRodWFuaWEiXX0sMTk0MDkxKGUpe2UuZXhwb3J0cz1bIkxpYWJpbGl0aWVzIChNUlEpIl19LDgyOTY1NihlKXtlLmV4cG9ydHM9WyJMaWFiaWxpdGllcyAoRlkpIl19LDY2MjEoZSl7ZS5leHBvcnRzPVsiTGliZXJpYSJdfSw1NTUzNTIoZSl7ZS5leHBvcnRzPVsiTGlieWEiXX0sMzg2NjY3KGUpe2UuZXhwb3J0cz1bIkxpZWNodGVuc3RlaW4iXX0sNjQzMzY1KGUpe2UuZXhwb3J0cz1bIkxpZmUvSGVhbHRoIEluc3VyYW5jZSJdfSw0ODc2NjAoZSl7ZS5leHBvcnRzPVsiTGlmZSAmIEhlYWx0aCBJbnN1cmFuY2UiXX0sNDkzMjY4KGUpe2UuZXhwb3J0cz1bIkxpZmUgJiBIZWFsdGggUmVpbnN1cmFuY2UiXX0sOTk0MTkyKGUpe2UuZXhwb3J0cz1bIkxpZmUgSW5zdXJhbmNlIl19LDcyODY0OShlKXtlLmV4cG9ydHM9WyJMaWdodCBUcnVja3MiXX0sMTkxNjMwKGUpe2UuZXhwb3J0cz1bIkxpZ2h0aW5nIEVxdWlwbWVudCJdfSw0NzkwOTEoZSl7ZS5leHBvcnRzPVsiTGlnaHRpbmcgRml4dHVyZXMiXX0sNjg0OTAxKGUpe2UuZXhwb3J0cz1bIkxpbmdlcmllIl19LDk3NTQ0NyhlKXtlLmV4cG9ydHM9WyJMdXhlbWJvdXJnIl19LDY3NTEwKGUpe2UuZXhwb3J0cz1bIkx1eHVyeSBBY2Nlc3NvcmllcyJdfSw0MDkzNTcoZSl7ZS5leHBvcnRzPVsiTHV4dXJ5IENhciBEZWFsZXJzIl19LDQyNTMwMShlKXtlLmV4cG9ydHM9WyJNT00iXX0sOTQwOTQzKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwiXX0sMjQ3NTYwKGUpe2UuZXhwb3J0cz1bIk1BQ0QgTGV2ZWwgKDEyLCAyNikiXX0sMzI3OTExKGUpe2UuZXhwb3J0cz1bIk1BQ0QgU2lnbmFsIl19LDk1MDY2MihlKXtlLmV4cG9ydHM9WyJNQUNEIFNpZ25hbCAoMTIsIDI2KSJdfSw1MTgwNDEoZSl7ZS5leHBvcnRzPVsiTUYiXX0sMzIwMDU4KGUpe2UuZXhwb3J0cz1bIk1vdG9yIFZlaGljbGVzIl19LDQ4MDA0NShlKXtlLmV4cG9ydHM9WyJNb3RvcmN5Y2xlIERlYWxlcnMiXX0sOTIyNjIoZSl7ZS5leHBvcnRzPVsiTW90b3JjeWNsZSBQYXJ0cyAmIEFjY2Vzc29yaWVzIl19LDU0MjY4KGUpe2UuZXhwb3J0cz1bIk1vdG9yY3ljbGVzICYgU2Nvb3RlcnMiXX0sMjAwNDUyKGUpe2UuZXhwb3J0cz1bIk1vdmluZyBBdmVyYWdlcyBSYXRpbmciXX0sNTg1ODQ1KGUpe2UuZXhwb3J0cz1bIk1vdmllIFRoZWF0ZXJzICYgTW92aWUgUHJvZHVjdHMiXX0sMTkyOTMxKGUpe2UuZXhwb3J0cz1bIk1vdmllLCBUViBQcm9kdWN0aW9uICYgRGlzdHJpYnV0aW9uIl19LDM3MDEwKGUpe2UuZXhwb3J0cz1bIk1vdmllcy9FbnRlcnRhaW5tZW50Il19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDY4MjU1NyhlKXtlLmV4cG9ydHM9WyJNb2JpbGUgQXBwbGljYXRpb24gU29mdHdhcmUiXX0sNjI1NDUzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBQaG9uZSBSZXRhaWxlcnMiXX0sNzUwMDMzKGUpe2UuZXhwb3J0cz1bIk1vYmlsZSBTeXN0ZW0gU29mdHdhcmUiXX0sMzIxMzM2KGUpe2UuZXhwb3J0cz1bIk1vbGRvdmEiXX0sNTMxNTAyKGUpe2UuZXhwb3J0cz1bIk1vbWVudHVtICgxMCkiXX0sMjA4OTA0KGUpe2UuZXhwb3J0cz1bIk1vbmFjbyJdfSw5MTM3MDkoZSl7ZS5leHBvcnRzPVsiTW9uZ29saWEiXX0sMTc4MDk2KGUpe2UuZXhwb3J0cz1bIk1vbmV5IEZsb3cgKDE0KSJdfSw3MzkzNjUoZSl7ZS5leHBvcnRzPVsiTW9udGVuZWdybyJdfSwKNDY3OTgyKGUpe2UuZXhwb3J0cz1bIk1vbnRobHkgUGVyZiJdfSw4MjI4NzUoZSl7ZS5leHBvcnRzPVsiTW9udGhseSBQZXJmb3JtYW5jZSJdfSwzMzMyNjIoZSl7ZS5leHBvcnRzPVsiTW9udHNlcnJhdCJdfSw3MjE0MzMoZSl7ZS5leHBvcnRzPVsiTW9yb2NjbyJdfSw3MTQ0NjMoZSl7ZS5leHBvcnRzPVsiTW9ybmluZyBTdGFyIl19LDQ5ODE1NChlKXtlLmV4cG9ydHM9WyJNb3J0Z2FnZSBSRUlUcyJdfSw2NTY2MDMoZSl7ZS5leHBvcnRzPVsiTW9zdCB2b2xhdGlsZSJdfSw1NTQxNTEoZSl7ZS5leHBvcnRzPVsiTW9zdCBjYXBpdGFsaXplZCJdfSwyNzc5ODQoZSl7ZS5leHBvcnRzPVsiTWF0dXJpdHkgRGF0ZSJdfSw2Njc5OTYoZSl7ZS5leHBvcnRzPVsiTWF1cml0YW5pYSJdfSwxNTAwNTQoZSl7ZS5leHBvcnRzPVsiTWF1cml0aXVzIl19LDQ4MzE0OShlKXtlLmV4cG9ydHM9WyJNYXlvdHRlIl19LDMwNzA2MihlKXtlLmV4cG9ydHM9WyJNYWNhbyJdfSw1MzIyNjkoZSl7ZS5leHBvcnRzPVsiTWFjYXUsIENoaW5hIl19LDQ1OTEwOChlKXtlLmV4cG9ydHM9WyJNYWNlZG9uaWEiXX0sNzQ1MDAzKGUpe2UuZXhwb3J0cz1bIk1hY2hpbmUgVG9vbHMiXX0sNjYwMTg4KGUpe2UuZXhwb3J0cz1bIk1hZGFnYXNjYXIiXX0sMTI3NjMzKGUpe2UuZXhwb3J0cz1bIk1hZ2F6aW5lIFB1Ymxpc2hpbmciXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDk4MDc4NihlKXtlLmV4cG9ydHM9WyJNYWludGVuYW5jZSAmIFJlcGFpciBTZXJ2aWNlcyJdfSw0NDc3NTMoZSl7ZS5leHBvcnRzPVsiTWFqb3IiXX0sMTQzNzc0KGUpe2UuZXhwb3J0cz1bIk1ham9yIEJhbmtzIl19LDkxNzU3OChlKXtlLmV4cG9ydHM9WyJNYWpvciBQaGFybWFjZXV0aWNhbHMiXX0sMjczMTAzKGUpe2UuZXhwb3J0cz1bIk1ham9yIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSwzMzE2MTUoZSl7ZS5leHBvcnRzPVsiTWFsZGl2ZXMiXX0sNjIzNDY1KGUpe2UuZXhwb3J0cz1bIk1hbGkiXX0sODQyMzEyKGUpe2UuZXhwb3J0cz1bIk1hbHQgcHJvZHVjZXJzIl19LDU2MzIzNyhlKXtlLmV4cG9ydHM9WyJNYWx0YSJdfSw4MTE0ODMoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggQ2FyZSJdfSw1MjkzNDcoZSl7ZS5leHBvcnRzPVsiTWFuYWdlZCBIZWFsdGggY2FyZSJdfSwxMjIxMDIoZSl7ZS5leHBvcnRzPVsiTWFuYWdlbWVudCBDb25zdWx0aW5nIFNlcnZpY2VzIl19LDk5ODYxNihlKXtlLmV4cG9ydHM9WyJNYW51YWwgUmVmcmVzaCJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDI3ODYxNChlKXtlLmV4cG9ydHM9WyJNYXJrZXQgQ2FwaXRhbGl6YXRpb24iXX0sODQxNzYxKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBSZXNlYXJjaCJdfSw5MzkxMzYoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGN1cnJlbmN5Il19LDg5NzM5MyhlKXtlLmV4cG9ydHM9WyJNYXJrZXRpbmcgQ29uc3VsdGluZyBTZXJ2aWNlcyJdfSw1NTMxNjQoZSl7ZS5leHBvcnRzPVsiTWFya2V0cyJdfSwyMzcxNTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5hcyJdfSwyMzU5OTQoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIENhcmdvIEhhbmRsaW5nIFNlcnZpY2VzIl19LDY5MDM4OChlKXtlLmV4cG9ydHM9WyJNYXJpbmUgRnJlaWdodCAmIExvZ2lzdGljcyJdfSw3NjQwOTkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIExvZ2lzdGljcyJdfSw2OTQ4NDkoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBhc3NlbmdlciBUcmFuc3BvcnRhdGlvbiJdfSw1MTE0NTIoZSl7ZS5leHBvcnRzPVsiTWFyaW5lIFBvcnQgU2VydmljZXMiXX0sODA3NTYxKGUpe2UuZXhwb3J0cz1bIk1hcmluZSBTaGlwcGluZyJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1MzU3ODMoZSl7ZS5leHBvcnRzPVsiTWFydWJvenUgQmxhY2siXX0sOTUyNTY1KGUpe2UuZXhwb3J0cz1bIk1hcnVib3p1IFdoaXRlIl19LDEwOTM3MihlKXtlLmV4cG9ydHM9WyJNZXRhbCBDb250YWluZXJzICYgUGFja2FnaW5nIl19LDUzNjc5NShlKXtlLmV4cG9ydHM9WyJNZXRhbCBGYWJyaWNhdGlvbiJdfSw1NTk3NjAoZSl7ZS5leHBvcnRzPVsiTWV0YWwgTWVyY2hhbnQgV2hvbGVzYWxlcnMiXX0sMjI5NTQwKGUpe2UuZXhwb3J0cz1bIk1ldGFsIFNlcnZpY2UgQ2VudGVycyJdfSw5NjI0MjcoZSl7ZS5leHBvcnRzPVsiTWV0YWxsaWMgUm9sbGluZyAmIERyYXdpbmcgUHJvZHVjdHMiXX0sODY1NzAwKGUpe2UuZXhwb3J0cz1bIk1leGljbyJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI1MjIwMyhlKXtlLmV4cG9ydHM9WyJNZWRpYSBDb25nbG9tZXJhdGVzIl19LDI2NjAyMChlKXtlLmV4cG9ydHM9WyJNZWRpYSBCdXlpbmcgQWdlbmN5Il19LDU5OTE1MChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsL051cnNpbmcgU2VydmljZXMiXX0sNDMyNjYyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgJiBEaWFnbm9zdGljIExhYm9yYXRvcmllcyJdfSw4NzA1NTkoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBEZXZpY2VzICYgSW1wbGFudHMiXX0sNjU5OTcxKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlhZ25vc3RpYyAmIFRlc3RpbmcgRXF1aXBtZW50Il19LDUwNzg1KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgRGlzdHJpYnV0b3JzIl19LDc5MjIwMChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCJdfSw1MzI4NTcoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBFcXVpcG1lbnQgV2hvbGVzYWxlIl19LDcyMjU1NihlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIEVxdWlwbWVudCwgU3VwcGxpZXMgJiBEaXN0cmlidXRpb24iXX0sNzcxNDU3KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgSW1hZ2luZyBTeXN0ZW1zIl19LDQ2Njc0OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIE1vbml0b3JpbmcgU3lzdGVtcyJdfSw3Nzc3OChlKXtlLmV4cG9ydHM9WyJNZWRpY2FsIFByb3N0aGV0aWNzIl19LAo0MzMyNjQoZSl7ZS5leHBvcnRzPVsiTWVkaWNhbCBTb2Z0d2FyZSAmIFRlY2hub2xvZ3kgU2VydmljZXMiXX0sMzc2MzE2KGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3BlY2lhbHRpZXMiXX0sMjYwNDMyKGUpe2UuZXhwb3J0cz1bIk1lZGljYWwgU3VwcGxpZXMiXX0sNjAzODMoZSl7ZS5leHBvcnRzPVsiTWVtb3J5IENoaXBzIChSQU0pIl19LDc5NjEwKGUpe2UuZXhwb3J0cz1bIk1lbidzIENsb3RoaW5nIl19LDk5NjY0OShlKXtlLmV4cG9ydHM9WyJNZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw3OTYwODIoZSl7ZS5leHBvcnRzPVsiTWVuJ3MgRm9vdHdlYXIiXX0sNzA2NjYoZSl7ZS5leHBvcnRzPVsiTWVyY2hhbnQgQmFua3MiXX0sNjA2MjY2KGUpe2UuZXhwb3J0cz1bIk1pY3JvZmluYW5jaW5nIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDgzODMzMChlKXtlLmV4cG9ydHM9WyJNaW5pbmcgTWFjaGluZXJ5ICYgRXF1aXBtZW50IE1hbnVmYWN0dXJpbmciXX0sNDA0ODU2KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IEFjdGl2aXRpZXMiXX0sODE2ODQ1KGUpe2UuZXhwb3J0cz1bIk1pbmluZyBTdXBwb3J0IFNlcnZpY2VzICYgRXF1aXBtZW50Il19LDIwNjk4MyhlKXtlLmV4cG9ydHM9WyJNaW5vciJdfSwxNTcwMjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSwxMzI5ODQoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyBDb21tZXJjaWFsIFNlcnZpY2VzIl19LDk0NzcxNChlKXtlLmV4cG9ydHM9WyJNaXNjZWxsYW5lb3VzIE1hbnVmYWN0dXJpbmciXX0sMjY1NjIoZSl7ZS5leHBvcnRzPVsiTWt0IENhcCJdfSwxMDAwMyhlKXtlLmV4cG9ydHM9WyJNdXR1YWwgRnVuZHMiXX0sOTQwOTg2KGUpe2UuZXhwb3J0cz1bIk11dHVhbCBmdW5kIl19LDkxMzU2MShlKXtlLmV4cG9ydHM9WyJNdWx0aS1MaW5lIEluc3VyYW5jZSJdfSw2NzY1MTgoZSl7ZS5leHBvcnRzPVsiTXVsdGlsaW5lIEluc3VyYW5jZSAmIEJyb2tlcnMiXX0sMTczMDczKGUpe2UuZXhwb3J0cz1bIk11bHRpbGluZSBVdGlsaXRpZXMiXX0sNDQ3NjUxKGUpe2UuZXhwb3J0cz1bIk11bmljaXBhbGl0eSJdfSwyNDQ1NDUoZSl7ZS5leHBvcnRzPVsiTXVzZXVtcyAmIEhpc3RvcmljIFBsYWNlcyJdfSw2MjczNDAoZSl7ZS5leHBvcnRzPVsiTXVzaWMsIE11c2ljIFZpZGVvIFByb2R1Y3Rpb24gJiBEaXN0cmlidXRpb24iXX0sOTA4NzY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudCBSZXRhaWxlcnMiXX0sNzE2NjY5KGUpe2UuZXhwb3J0cz1bIk11c2ljYWwgSW5zdHJ1bWVudHMiXX0sMjM5NDMoZSl7ZS5leHBvcnRzPVsiTXlhbm1hciJdfSwyMjgyOTEoZSl7ZS5leHBvcnRzPVsiTm8gbWF0Y2hlcyJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sMzQ5ODg5KGUpe2UuZXhwb3J0cz1bIk5vdCBFcXVhbCJdfSw1NjE2MDAoZSl7ZS5leHBvcnRzPVsiTm90aWZpY2F0aW9uIl19LDY0NjU0NShlKXtlLmV4cG9ydHM9WyJOb3YiXX0sOTg3NzE1KGUpe2UuZXhwb3J0cz1bIk5vbi1BbGNvaG9saWMgQmV2ZXJhZ2VzIl19LDU5MjUzOChlKXtlLmV4cG9ydHM9WyJOb24tRW5lcmd5IE1pbmVyYWxzIl19LDU0MjIzNShlKXtlLmV4cG9ydHM9WyJOb24tUGFwZXIgQ29udGFpbmVycyAmIFBhY2thZ2luZyJdfSw5ODk5NDAoZSl7ZS5leHBvcnRzPVsiTm9uLWZlcnJvdXMgTWV0YWwgTWluaW5nIl19LDgxOTU2NihlKXtlLmV4cG9ydHM9WyJOb24tZmVycm91cyBNZXRhbCBQcm9jZXNzaW5nIl19LDk2NzQxMihlKXtlLmV4cG9ydHM9WyJOb3Jmb2xrIElzbGFuZCJdfSw4NDU1MjMoZSl7ZS5leHBvcnRzPVsiTm9yd2F5Il19LDY4OTcxNihlKXtlLmV4cG9ydHM9WyJOb3J0aCBBbWVyaWNhIl19LDcyOTc4MihlKXtlLmV4cG9ydHM9WyJOb3J0aCBNYWNlZG9uaWEiXX0sNjEyNTU3KGUpe2UuZXhwb3J0cz1bIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyJdfSw5NTY0NjIoZSl7ZS5leHBvcnRzPVsiTmF0aW9uYWwgQWdlbmN5Il19LDIzMTMzNChlKXtlLmV4cG9ydHM9WyJOYXRpb25hbCBBZ2VuY2llcyJdfSwyMjgyMTEoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBGYWJyaWNzIl19LDEwNTUzMihlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBEaXN0cmlidXRpb24iXX0sNjUzMDMwKGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9uc2hvcmUiXX0sMjM3MzQ5KGUpe2UuZXhwb3J0cz1bIk5hdHVyYWwgR2FzIEV4cGxvcmF0aW9uICYgUHJvZHVjdGlvbiAtIE9mZnNob3JlIl19LDEyNDk5OChlKXtlLmV4cG9ydHM9WyJOYXR1cmFsIEdhcyBQaXBlbGluZSJdfSwyNTg3ODUoZSl7ZS5leHBvcnRzPVsiTmF0dXJhbCBHYXMgVXRpbGl0aWVzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw3MzQ5OTMoZSl7ZS5leHBvcnRzPVsiTmFtZSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwxNzgxMTQoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiJdfSw5NDA3MTEoZSl7ZS5leHBvcnRzPVsiTmV0IE1hcmdpbiAoRlkpIl19LDE3NTE0MChlKXtlLmV4cG9ydHM9WyJOZXQgTWFyZ2luIChUVE0pIl19LDg0NTQ5NihlKXtlLmV4cG9ydHM9WyJOZXQgRGVidCJdfSw1MjY2OTgoZSl7ZS5leHBvcnRzPVsiTmV0IERlYnQgKE1SUSkiXX0sOTgzNjcxKGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSwxMzE2MzMoZSl7ZS5leHBvcnRzPVsiTmV0IEluY29tZSAoRlkpIl19LDE0ODU3MChlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChRdWFydGVybHkgUW9RIEdyb3d0aCkiXX0sODUzMzQ2KGUpe2UuZXhwb3J0cz1bIk5ldCBJbmNvbWUgKFF1YXJ0ZXJseSBZb1kgR3Jvd3RoKSJdfSw3ODkwNyhlKXtlLmV4cG9ydHM9WyJOZXQgSW5jb21lIChUVE0gWW9ZIEdyb3d0aCkiXX0sCjg5MDU0OChlKXtlLmV4cG9ydHM9WyJOZXQgbWFyZ2luICh7cGVyaW9kfSkiXX0sNTEwNzI2KGUpe2UuZXhwb3J0cz1bIk5ldCBpbmNvbWUgKHtwZXJpb2R9KSJdfSwyMzc1ODUoZSl7ZS5leHBvcnRzPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMzYzMDgzKGUpe2UuZXhwb3J0cz1bIk5ldHdvcmsgRXF1aXBtZW50Il19LDQ1NzE5NShlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBoaWdoIl19LDgzODY5MChlKXtlLmV4cG9ydHM9WyJOZXcgNTItd2VlayBsb3ciXX0sMjQ5NTg4KGUpe2UuZXhwb3J0cz1bIk5ldyBDYWxlZG9uaWEiXX0sMjI5NTU2KGUpe2UuZXhwb3J0cz1bIk5ldyBDYXIgRGVhbGVycyJdfSwzMDU0MDYoZSl7ZS5leHBvcnRzPVsiTmV3IEhpZ2giXX0sNTM4MjU0KGUpe2UuZXhwb3J0cz1bIk5ldyBMb3ciXX0sNDIxNihlKXtlLmV4cG9ydHM9WyJOZXcgWmVhbGFuZCJdfSw3NTk4NDEoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgaGlnaCJdfSw5OTY1NzIoZSl7ZS5leHBvcnRzPVsiTmV3IG1vbnRobHkgbG93Il19LDE1OTkxMChlKXtlLmV4cG9ydHM9WyJOZXcge3RpdGxlfSJdfSwyMjEzNzEoZSl7ZS5leHBvcnRzPVsiTmV3c3BhcGVyICYgTWFnYXppbmUgUHJpbnRpbmcgU2VydmljZXMiXX0sMTg2NyhlKXtlLmV4cG9ydHM9WyJOZXdzcGFwZXIgUHVibGlzaGluZyJdfSw4MTk0NzMoZSl7ZS5leHBvcnRzPVsiTmV3c3ByaW50IE1pbGxzIl19LDM1MjI4NShlKXtlLmV4cG9ydHM9WyJOZXdzIEFnZW5jaWVzIl19LDU2MTE2MShlKXtlLmV4cG9ydHM9WyJOZXh0IDUgRGF5cyJdfSw0ODU0NTQoZSl7ZS5leHBvcnRzPVsiTmV4dCBXZWVrIl19LDk0MjUwNChlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgYW1vdW50Il19LDc1MDA1MyhlKXtlLmV4cG9ydHM9WyJOZXh0IHBheW1lbnQgZGF0ZSJdfSwxNzQzMDkoZSl7ZS5leHBvcnRzPVsiTmVnYXRpdmUgRGlyZWN0aW9uYWwgSW5kaWNhdG9yICgxNCkiXX0sNDcxMjg4KGUpe2UuZXhwb3J0cz1bIk5lcGFsIl19LDkwNzQ3MChlKXtlLmV4cG9ydHM9WyJOaXVlIl19LDYyMzQ0MChlKXtlLmV4cG9ydHM9WyJOaWNhcmFndWEiXX0sNjA2ODU0KGUpe2UuZXhwb3J0cz1bIk5pY2tlbCBPcmUgTWluaW5nIl19LDU5MjE4OShlKXtlLmV4cG9ydHM9WyJOaWdlciJdfSw4NDk4NjgoZSl7ZS5leHBvcnRzPVsiTmlnZXJpYSJdfSw0NDI0MTMoZSl7ZS5leHBvcnRzPVsiTnVjbGVhciBJUFBzIl19LDY0NDg1NihlKXtlLmV4cG9ydHM9WyJOdWNsZWFyIFV0aWxpdGllcyJdfSwxNjQwNDIoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIEVtcGxveWVlcyJdfSw1Nzk0MDMoZSl7ZS5leHBvcnRzPVsiTnVtYmVyIG9mIFNoYXJlaG9sZGVycyJdfSw3MDY2NzEoZSl7ZS5leHBvcnRzPVsiTnVyc2VyeSAmIEdhcmRlbiBDZW50ZXJzIl19LDEzNDA4NShlKXtlLmV4cG9ydHM9WyJTTUExMCJdfSwzMjg3ODQoZSl7ZS5leHBvcnRzPVsiU01BMTAwIl19LDM5ODAzOShlKXtlLmV4cG9ydHM9WyJTTUEyMCJdfSw2ODA3NChlKXtlLmV4cG9ydHM9WyJTTUEyMDAiXX0sNDU3NTQzKGUpe2UuZXhwb3J0cz1bIlNNQTMwIl19LDY1OTU2MChlKXtlLmV4cG9ydHM9WyJTTUE1Il19LDU1NjQ4NihlKXtlLmV4cG9ydHM9WyJTTUE1MCJdfSwxMTQwOTkoZSl7ZS5leHBvcnRzPVsiU0FSIl19LDkzMDc1NChlKXtlLmV4cG9ydHM9WyJTRyZBIFJhdGlvIChGWSkiXX0sMjQyNTMzKGUpe2UuZXhwb3J0cz1bIlNHJkEgUmF0aW8gKFRUTSkiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNTczMzExKGUpe2UuZXhwb3J0cz1bIlNtYXJ0IEdyaWQgJiBFbGVjdHJpY2FsIFRyYW5zbWlzc2lvbiJdfSwxODQyNzAoZSl7ZS5leHBvcnRzPVsiU21hcnQgR3JpZCAmIFBvd2VyIERpc3RyaWJ1dGlvbiBDb25zdHJ1Y3Rpb24iXX0sOTA4NDUoZSl7ZS5leHBvcnRzPVsiU25hY2sgRm9vZCAmIE5vbi1jaG9jb2xhdGUgQ29uZmVjdGlvbmFyeSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw0NDc4NTQoZSl7ZS5leHBvcnRzPVsiU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMiXX0sNTg3NzUyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEtvcmVhIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSw3ODE5MzIoZSl7ZS5leHBvcnRzPVsiU292ZXJlaWduIl19LDgxODIyMihlKXtlLmV4cG9ydHM9WyJTb2NpYWwgTWVkaWEgJiBOZXR3b3JraW5nIl19LDgyNDU3OChlKXtlLmV4cG9ydHM9WyJTb2Z0IEZ1cm5pc2hpbmcgUmV0YWlsZXJzIl19LDU5NzEwMyhlKXtlLmV4cG9ydHM9WyJTb2Z0d2FyZSJdfSwxODE3OChlKXtlLmV4cG9ydHM9WyJTb2xvbW9uIElzbGFuZHMiXX0sNjAwNTcoZSl7ZS5leHBvcnRzPVsiU29tYWxpYSJdfSw3MzQwNzQoZSl7ZS5leHBvcnRzPVsiU2F0ZWxsaXRlICBTeXN0ZW1zICYgQWNjZXNzb3JpZXMiXX0sODU5MTE2KGUpe2UuZXhwb3J0cz1bIlNhdGVsbGl0ZSBTZXJ2aWNlIE9wZXJhdG9ycyJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDYxMjY1NShlKXtlLmV4cG9ydHM9WyJTYXZlIl19LDMwMzY4NChlKXtlLmV4cG9ydHM9WyJTYXZlIENvbHVtbnMgQXMiXX0sMzk0MTMxKGUpe2UuZXhwb3J0cz1bIlNhdmUgU2NyZWVucyBBcyJdfSwzMzQ1MDcoZSl7ZS5leHBvcnRzPVsiU2F2aW5ncyBCYW5rcyJdfSwyMjc4NjEoZSl7ZS5leHBvcnRzPVsiU2FpbGluZyBZYWNodHMgJiBNb3RvcmJvYXRzIl19LDE5OTQ4MyhlKXtlLmV4cG9ydHM9WyJTYWludCBCYXJ0aMOpbGVteSJdfSw1NzY5NzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgS2l0dHMgYW5kIE5ldmlzIl19LDk1NTgzNShlKXtlLmV4cG9ydHM9WyJTYWludCBIZWxlbmEsIEFzY2Vuc2lvbiBhbmQgVHJpc3RhbiBkYSBDdW5oYSJdfSwyNTgzMTEoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTHVjaWEiXX0sNDI1MDY0KGUpewplLmV4cG9ydHM9WyJTYWludCBNYXJ0aW4gKEZyZW5jaCBwYXJ0KSJdfSw3OTcwMzUoZSl7ZS5leHBvcnRzPVsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiJdfSw2MjI2MTMoZSl7ZS5leHBvcnRzPVsiU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMiXX0sMjE5NzE3KGUpe2UuZXhwb3J0cz1bIlNhbGVzIFByb21vdGlvbnMgJiBFdmVudHMgTWFuYWdlbWVudCJdfSw1OTg5NjMoZSl7ZS5leHBvcnRzPVsiU2Ftb2EiXX0sOTk5NzYyKGUpe2UuZXhwb3J0cz1bIlNhbiBNYXJpbm8iXX0sNjI3MzU1KGUpe2UuZXhwb3J0cz1bIlNhbml0YXJ5IFByb2R1Y3RzIl19LDI3OTM4MihlKXtlLmV4cG9ydHM9WyJTYW8gVG9tZSBhbmQgUHJpbmNpcGUiXX0sMTk4NjI4KGUpe2UuZXhwb3J0cz1bIlNjaWVudGlmaWMgJiBQcmVjaXNpb24gRXF1aXBtZW50Il19LDc2NjcwNChlKXtlLmV4cG9ydHM9WyJTY2llbnRpZmljICYgU3VwZXIgQ29tcHV0ZXJzIl19LDE1NDY0KGUpe2UuZXhwb3J0cz1bIlNjcmVlbmVyIG1haW50ZW5hbmNlIl19LDU3MDM0MyhlKXtlLmV4cG9ydHM9WyJTY3JlZW5zIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDkwNDEzOShlKXtlLmV4cG9ydHM9WyJTZXdhZ2UgVHJlYXRtZW50IEZhY2lsaXRpZXMiXX0sNDIwODIxKGUpe2UuZXhwb3J0cz1bIlNleWNoZWxsZXMiXX0sNDA0NDEyKGUpe2UuZXhwb3J0cz1bIlNlYS1Cb3JuZSBUYW5rZXJzIl19LDIzMjY2OShlKXtlLmV4cG9ydHM9WyJTZWFmb29kIFByb2R1Y3QgUHJlcGFyYXRpb24gJiBQYWNrYWdpbmciXX0sMzUyMTI3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCJdfSw4OTIxNjIoZSl7ZS5leHBvcnRzPVsiU2VhcmNoIEVuZ2luZXMiXX0sODcxMTEwKGUpe2UuZXhwb3J0cz1bIlNlYXJjaCBjb2x1bW4iXX0sNTk4NyhlKXtlLmV4cG9ydHM9WyJTZWFyY2ggZmlsdGVyIl19LDg1MDI5OChlKXtlLmV4cG9ydHM9WyJTZWNvbmQgZnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSw5Nzg3MzgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kYXJ5IFNtZWx0aW5nICYgQWxsb3lpbmcgb2YgQWx1bWludW0iXX0sMjc4NzI5KGUpe2UuZXhwb3J0cz1bIlNlY3RvciJdfSw3ODYwMTUoZSl7ZS5leHBvcnRzPVsiU2VjdXJpdGllcyAmIENvbW1vZGl0eSBFeGNoYW5nZXMiXX0sOTQ5MjY1KGUpe2UuZXhwb3J0cz1bIlNlY3VyaXR5ICYgU3VydmVpbGxhbmNlIl19LDEyNzI1MihlKXtlLmV4cG9ydHM9WyJTZWN1cml0eSBTZXJ2aWNlcyJdfSw5ODQ3OTAoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IG1hcmtldHMiXX0sMTkyMjYoZSl7ZS5leHBvcnRzPVsiU2VsZi1TdG9yYWdlIFJFSVRzIl19LDk5MjQ3MChlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoRlkpIl19LDU5MzgxMihlKXtlLmV4cG9ydHM9WyJTZWxsaW5nIEdlbmVyYWwgJiBBZG1pbiBleHBlbnNlcyBSYXRpbyAoVFRNKSJdfSwzOTIzODEoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBFcXVpcG1lbnQgJiBUZXN0aW5nIl19LDE4MzIwOShlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9yIEVxdWlwbWVudCBXaG9sZXNhbGVycyJdfSw1NDk0NTkoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBNYWNoaW5lcnkgTWFudWZhY3R1cmluZyJdfSwzMTY4NDUoZSl7ZS5leHBvcnRzPVsiU2VtaWNvbmR1Y3RvciBUZXN0aW5nIEVxdWlwbWVudCAmIFNlcnZpY2UiXX0sOTUxMzQ2KGUpe2UuZXhwb3J0cz1bIlNlbWljb25kdWN0b3IgV2hvbGVzYWxlIl19LDg1NTI4MihlKXtlLmV4cG9ydHM9WyJTZW1pY29uZHVjdG9ycyJdfSw3NzA3NzUoZSl7ZS5leHBvcnRzPVsiU2VtaXByZWNpb3VzIEdlbSBTdG9uZXMiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sMTc4NDY5KGUpe2UuZXhwb3J0cz1bIlNlcCJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDI4NjM4NShlKXtlLmV4cG9ydHM9WyJTZXJ2ZXIgJiBEYXRhYmFzZSBTb2Z0d2FyZSJdfSwxNTUwOTYoZSl7ZS5leHBvcnRzPVsiU2VydmVycyAmIFN5c3RlbXMiXX0sNTM3MDU5KGUpe2UuZXhwb3J0cz1bIlNlcnZpY2VzIl19LDY1NDQwOChlKXtlLmV4cG9ydHM9WyJTZXJ2aWNlcyB0byB0aGUgSGVhbHRoIEluZHVzdHJ5Il19LDE2MTE1MihlKXtlLmV4cG9ydHM9WyJTaGFyZWhvbGRlcnMiXX0sMzc5OTMyKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyJdfSw2MDUxNTkoZSl7ZS5leHBvcnRzPVsiU2hhcmVzIE91dHN0YW5kaW5nIl19LDE4ODU3NyhlKXtlLmV4cG9ydHM9WyJTaGFyZXMgRmxvYXQiXX0sOTgxNjQzKGUpe2UuZXhwb3J0cz1bIlNoYXJlcyBmbG9hdCJdfSw0MTg2OChlKXtlLmV4cG9ydHM9WyJTaGVsbCBDb21wYW5pZXMiXX0sNTExODM2KGUpe2UuZXhwb3J0cz1bIlNoaXAgUGFydCBNYW51ZmFjdHVyZXIiXX0sODk0ODkxKGUpe2UuZXhwb3J0cz1bIlNoaXAgUmVwYWlyaW5nICYgTWFpbnRhbmFuY2UiXX0sMzk5ODMxKGUpe2UuZXhwb3J0cz1bIlNoaXBidWlsZGluZyJdfSw3NzgwNChlKXtlLmV4cG9ydHM9WyJTaG9vdGluZyBTdGFyIl19LDY3NzQyNihlKXtlLmV4cG9ydHM9WyJTaG93IGN1cnJlbmN5Il19LDgyNTkyKGUpe2UuZXhwb3J0cz1bIlNob3cgZGVzY3JpcHRpb24iXX0sMjczNjgxKGUpe2UuZXhwb3J0cz1bIlNob3cgcmF0aW5nIl19LDYwMzUwNyhlKXtlLmV4cG9ydHM9WyJTaG93IHN5bWJvbCB0eXBlIl19LDE2NDk5MihlKXtlLmV4cG9ydHM9WyJTaWVycmEgTGVvbmUiXX0sMzI1MDc3KGUpe2UuZXhwb3J0cz1bIlNpZ25zICYgQWR2ZXJ0aXNpbmcgU3BlY2lhbHR5IFByb2R1Y2VycyJdfSwyNTYxMDMoZSl7ZS5leHBvcnRzPVsiU2lsdmVyIE1pbmluZyJdfSw0ODY1NzIoZSl7ZS5leHBvcnRzPVsiU2ltcGxlIE1vdmluZyBBdmVyYWdlICh7bnVtYmVyfSkiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw3MzY0MChlKXtlLmV4cG9ydHM9WyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIl19LDI2MzQzMihlKXtlLmV4cG9ydHM9WyJTbG92YWtpYSJdfSw3MjE4MjEoZSl7ZS5leHBvcnRzPVsiU2xvdmVuaWEiXX0sCjM1OTc2MShlKXtlLmV4cG9ydHM9WyJTcGFjZWNyYWZ0IE1hbnVmYWN0dXJpbmciXX0sNzg4MzIxKGUpe2UuZXhwb3J0cz1bIlNwYWluIl19LDgyNjU3MChlKXtlLmV4cG9ydHM9WyJTcGVjaWFsIEZvb2RzICYgV2VsYmVpbmcgUHJvZHVjdHMiXX0sNzA5NjEwKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWwgRm9vZHMgJiBXZWxsYmVpbmcgUHJvZHVjdHMiXX0sMjE3NjI5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWxpemVkIEF2aWF0aW9uIFNlcnZpY2VzIl19LDY3ODEyNihlKXtlLmV4cG9ydHM9WyJTcGVjaWFsaXplZCBQcmludGluZyBTZXJ2aWNlcyJdfSw3MjQ1MTEoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbGl6ZWQgUkVJVHMiXX0sNDM2NTQ5KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSAmIEFkdmFuY2VkIFBoYXJtYWNldXRpY2FscyJdfSw4MTg3MDgoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyJdfSwzMDU1NDYoZSl7ZS5leHBvcnRzPVsiU3BlY2lhbHR5IE1pbmluZyAmIE1ldGFscyBXaG9sZXNhbGUiXX0sMzkwOTY0KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMiXX0sNjcxNzg2KGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBDaGVtaWNhbHMgV2hvbGVzYWxlIl19LDIxMTI4NyhlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJhbmNlIl19LDU1NTk3OShlKXtlLmV4cG9ydHM9WyJTcGVjaWFsdHkgSW5zdXJlcnMiXX0sMzU1MjgxKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBTdG9yZXMiXX0sMzQ1NjUzKGUpe2UuZXhwb3J0cz1bIlNwZWNpYWx0eSBUZWxlY29tbXVuaWNhdGlvbnMiXX0sOTg1ODk5KGUpe2UuZXhwb3J0cz1bIlNwb3J0aW5nICYgT3V0ZG9vciBHb29kcyJdfSw1NDQ0OTQoZSl7ZS5leHBvcnRzPVsiU3BvcnRpbmcgR29vZHMgU3RvcmVzIl19LDIxMzk4NyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29yIEZvb3R3ZWFyIl19LDM3MjE3MyhlKXtlLmV4cG9ydHM9WyJTcG9ydHMgJiBPdXRkb29ycyBSZXRhaWxlcnMiXX0sNjQ2MTQ0KGUpe2UuZXhwb3J0cz1bIlNwb3J0c3dlYXIgJiBPdXRkb29ycyBDbG90aGluZyJdfSwyODM0MTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw4MDQ3NjYoZSl7ZS5leHBvcnRzPVsiU3JpIExhbmthIl19LDI5MTQ1NihlKXtlLmV4cG9ydHM9WyJTdGFyY2gsIFZlZ2V0YWJsZSBGYXQgJiBPaWwgTWFudWZhY3R1cmluZyJdfSwxNDIxODgoZSl7ZS5leHBvcnRzPVsiU3RhdGUgQWdlbmN5Il19LDc1MTA3NChlKXtlLmV4cG9ydHM9WyJTdGF0aW9uYXJ5IEZ1ZWwgQ2VsbHMiXX0sNDk4NjM4KGUpe2UuZXhwb3J0cz1bIlN0ZWFtICYgQWlyLUNvbmRpdGlvbmluZyBTdXBwbHkiXX0sNTcyNzUzKGUpe2UuZXhwb3J0cz1bIlN0ZWVsIl19LDQwNjI5OChlKXtlLmV4cG9ydHM9WyJTdG9jaCAlRCJdfSw1NTc4MDAoZSl7ZS5leHBvcnRzPVsiU3RvY2ggJUsiXX0sNzAwNjA4KGUpe2UuZXhwb3J0cz1bIlN0b2NoIFJTSSBGYXN0Il19LDYzOTU5NShlKXtlLmV4cG9ydHM9WyJTdG9jaCBSU0kgU2xvdyJdfSwzMTc4MzIoZSl7ZS5leHBvcnRzPVsiU3RvY2hhc3RpYyAlRCAoMTQsIDMsIDMpIl19LDIyMDcyNShlKXtlLmV4cG9ydHM9WyJTdG9jaGFzdGljICVLICgxNCwgMywgMykiXX0sNTg1Njg5KGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIEZhc3QgKDMsIDMsIDE0LCAxNCkiXX0sMTEzNzMxKGUpe2UuZXhwb3J0cz1bIlN0b2NoYXN0aWMgUlNJIFNsb3cgKDMsIDMsIDE0LCAxNCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw3NDYzMzAoZSl7ZS5leHBvcnRzPVsiU3RvcmFnZSBEZXZpY2VzIl19LDI1NTYyMihlKXtlLmV4cG9ydHM9WyJTdHJ1Y3R1cmVkIl19LDM3MDY4NyhlKXtlLmV4cG9ydHM9WyJTdWJtYXJrZXQiXX0sOTc0NDA0KGUpe2UuZXhwb3J0cz1bIlN1ZGFuIl19LDgyNjEwNyhlKXtlLmV4cG9ydHM9WyJTdWdhciAmIEFydGlmaWNpYWwgU3dlZXRlbmVycyJdfSwzMzY5ODgoZSl7ZS5leHBvcnRzPVsiU3VnYXJjYW5lIEZhcm1pbmciXX0sNzgwMjIoZSl7ZS5leHBvcnRzPVsiU3VwZXJtYXJrZXRzICYgQ29udmVuaWVuY2UgU3RvcmVzIl19LDc3NDM4NihlKXtlLmV4cG9ydHM9WyJTdXByYW5hdGlvbmFsIl19LDgxODgzNyhlKXtlLmV4cG9ydHM9WyJTdXJpbmFtZSJdfSwyNjk5NTUoZSl7ZS5leHBvcnRzPVsiU3VycHJpc2UiXX0sNTI0ODE3KGUpe2UuZXhwb3J0cz1bIlN1cnByaXNlICUiXX0sOTczOTE1KGUpe2UuZXhwb3J0cz1bIlN2YWxiYXJkIGFuZCBKYW4gTWF5ZW4iXX0sMzY5OTYzKGUpe2UuZXhwb3J0cz1bIlN3ZWRlbiJdfSw1MzIxMDkoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIG5vdyJdfSw3OTYzMDcoZSl7ZS5leHBvcnRzPVsiU3dpdGNoZ2VhciJdfSw3MzM5NzEoZSl7ZS5leHBvcnRzPVsiU3dpdHplcmxhbmQiXX0sMjg3MjQ0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBUeXBlIl19LDQ1NTU1MChlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgRmFicmljcyJdfSwyNzQ0ODUoZSl7ZS5leHBvcnRzPVsiU3lyaWEiXX0sNTcxNzI3KGUpe2UuZXhwb3J0cz1bIlN5c3RlbSBTb2Z0d2FyZSJdfSw3MzY2MjcoZSl7ZS5leHBvcnRzPVsiUCJdfSw2MjIxNShlKXtlLmV4cG9ydHM9WyJQL0IgKEZZKSJdfSw2MTE0NTkoZSl7ZS5leHBvcnRzPVsiUC9CIChNUlEpIl19LDU5MDIwNShlKXtlLmV4cG9ydHM9WyJQL0IgcmF0aW8iXX0sMzMyMjE0KGUpe2UuZXhwb3J0cz1bIlAvQ0YgcmF0aW8iXX0sMjEzMjQ4KGUpe2UuZXhwb3J0cz1bIlAvRSJdfSw1NTczMzYoZSl7ZS5leHBvcnRzPVsiUC9FIHJhdGlvIl19LDg2NDY0OChlKXtlLmV4cG9ydHM9WyJQL0ZDRiByYXRpbyJdfSwyNzkwMTAoZSl7ZS5leHBvcnRzPVsiUC9TIl19LDc4MjYxNChlKXtlLmV4cG9ydHM9WyJQL1MgcmF0aW8iXX0sMTIxOTY5KGUpe2UuZXhwb3J0cz1bIlBFRyJdfSw2MzU0MTUoZSl7ZS5leHBvcnRzPVsiUG91bHRyeSBGYXJtaW5nIl19LDgwOTIoZSl7ZS5leHBvcnRzPVsiUG9pbnQgb2YgU2FsZSBTeXN0ZW1zIl19LDk2ODYwOShlKXtlLmV4cG9ydHM9WyJQb2xhbmQiXX0sMjk1MTYwKGUpewplLmV4cG9ydHM9WyJQb3J0IE9wZXJhdG9ycyJdfSw3NTcwNjAoZSl7ZS5leHBvcnRzPVsiUG9ydCBXYXJlaG91c2luZyBTZXJ2aWNlcyJdfSwyNzc0NDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgTW90b3JzICYgR2VuZXJhdG9ycyJdfSwyNjIyNDMoZSl7ZS5leHBvcnRzPVsiUG9ydGFibGUgU2F0ZWxsaXRlIE5hdmlnYXRpb24iXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sNzY3ODI1KGUpe2UuZXhwb3J0cz1bIlBvc2l0aXZlIERpcmVjdGlvbmFsIEluZGljYXRvciAoMTQpIl19LDMwMDY1NShlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDaGFuZ2UiXX0sMzk5OTY4KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IENoYW5nZSAlIl19LDc4ODAwMihlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBDbG9zZSJdfSw3NDIyOTkoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgSGlnaCJdfSwzOTczMzMoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgT3BlbiJdfSwxMzY5MDIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgTG93Il19LDc5OTI2KGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0IFZvbHVtZSJdfSw0NTI3MjIoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQgY2hnIl19LDY3MzcwMyhlKXtlLmV4cG9ydHM9WyJQb3N0LW1hcmtldCBjaGcgJSJdfSw3OTEyNzEoZSl7ZS5leHBvcnRzPVsiUGFja2FnZWQgU29mdHdhcmUiXX0sOTkwNTc1KGUpe2UuZXhwb3J0cz1bIlBhY2lmaWMiXX0sMTYzODE3KGUpe2UuZXhwb3J0cz1bIlBhaW50ICYgQ29hdGluZyJdfSw0MDY2NzcoZSl7ZS5leHBvcnRzPVsiUGFpcnMiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDc5ODQ3NihlKXtlLmV4cG9ydHM9WyJQYWxhdSJdfSw2OTgwODMoZSl7ZS5leHBvcnRzPVsiUGFsZXN0aW5lLCBTdGF0ZSBvZiJdfSwxMDA3MjkoZSl7ZS5leHBvcnRzPVsiUGFuYW1hIl19LDM4OTIzNShlKXtlLmV4cG9ydHM9WyJQYXBlciBNaWxscyAmIFByb2R1Y3RzIl19LDgwMzQ0NihlKXtlLmV4cG9ydHM9WyJQYXBlciBQYWNrYWdpbmciXX0sMzI2NDc3KGUpe2UuZXhwb3J0cz1bIlBhcGVyIFBhY2thZ2luZyBXaG9sZXNhbGUiXX0sNTkyODQoZSl7ZS5leHBvcnRzPVsiUGFwZXIgUHJvZHVjdCBXaG9sZXNhbGUiXX0sOTQ5OTYwKGUpe2UuZXhwb3J0cz1bIlBhcGVyIFByb2R1Y3RzIl19LDcyNTY5NyhlKXtlLmV4cG9ydHM9WyJQYXB1YSBOZXcgR3VpbmVhIl19LDk0MTAyOChlKXtlLmV4cG9ydHM9WyJQYXJhYm9saWMgU0FSIl19LDQyMDEzNShlKXtlLmV4cG9ydHM9WyJQYXJhZ3VheSJdfSwyMTgzNTcoZSl7ZS5leHBvcnRzPVsiUGFya2luZyBMb3QgT3BlcmF0b3JzIl19LDg4NDMzOChlKXtlLmV4cG9ydHM9WyJQYXNzZW5nZXIgQ2FyIHJlbnRhbCJdfSw2MDc0MjcoZSl7ZS5leHBvcnRzPVsiUGFzc2VuZ2VyIFRyYW5zcG9ydGF0aW9uLCBHcm91bmQgJiBTZWEiXX0sMTQyMDEzKGUpe2UuZXhwb3J0cz1bIlBldCAmIFBldCBTdXBwbGllcyBSZXRhaWxlcnMiXX0sNTU5MDMxKGUpe2UuZXhwb3J0cz1bIlBldCBGb29kIE1hbnVmYWN0dXJpbmciXX0sNjcxOTIxKGUpe2UuZXhwb3J0cz1bIlBldHJvbGV1bSBQcm9kdWN0IFdob2xlc2FsZSJdfSwyODY3ODcoZSl7ZS5leHBvcnRzPVsiUGV0cm9sZXVtIFJlZmluaW5nIl19LDg4ODU2OChlKXtlLmV4cG9ydHM9WyJQZW5zaW9uIEZ1bmRzIl19LDExMTM0MShlKXtlLmV4cG9ydHM9WyJQZXJmb3JtYW5jZSJdfSwxNTY4NzQoZSl7ZS5leHBvcnRzPVsiUGVyaW9kIEVuZGluZyJdfSwxODczNTIoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgJiBDYXIgTG9hbnMiXX0sOTU5MzM4KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIENhcmUgU2VydmljZXMiXX0sMzA1NjA0KGUpe2UuZXhwb3J0cz1bIlBlcnNvbmFsIExlZ2FsIFNlcnZpY2VzIl19LDk1NjA2MChlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBNdXNpYyBQbGF5ZXJzIl19LDY3MjM5OShlKXtlLmV4cG9ydHM9WyJQZXJzb25hbCBTZXJ2aWNlcyJdfSw2NTI2NzMoZSl7ZS5leHBvcnRzPVsiUGVyc29uYWwgUHJvZHVjdHMiXX0sOTI3MjYoZSl7ZS5leHBvcnRzPVsiUGVyc29ubmVsIFNlcnZpY2VzIl19LDU1Njg3NihlKXtlLmV4cG9ydHM9WyJQZXJwZXR1YWwiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sMjc2OTAwKGUpe2UuZXhwb3J0cz1bIlBlc3QgQ29udHJvbCBTZXJ2aWNlcyJdfSw1ODc2MDIoZSl7ZS5leHBvcnRzPVsiUGVzdGljaWRlIl19LDY5OTcyMyhlKXtlLmV4cG9ydHM9WyJQaGFybWFjZXV0aWNhbHMiXX0sMzYxODQ5KGUpe2UuZXhwb3J0cz1bIlBoYXJtYWNldXRpY2FsczogR2VuZXJpYyJdfSwxODI2NDMoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBNYWpvciJdfSw3NDUxODAoZSl7ZS5leHBvcnRzPVsiUGhhcm1hY2V1dGljYWxzOiBPdGhlciJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sMTMzMzMyKGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIEhhbmRoZWxkIERldmljZXMiXX0sNTIzNzY0KGUpe2UuZXhwb3J0cz1bIlBob25lcyAmIFNtYXJ0IFBob25lcyJdfSwxNDU3NjIoZSl7ZS5leHBvcnRzPVsiUGhvdG92b2x0YWljIFNvbGFyIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sODMwNzk3KGUpe2UuZXhwb3J0cz1bIlBob3RvZ3JhcGhpYyBFcXVpcG1lbnQiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDg3NDQ2OShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUCJdfSw5Mzk4ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIxIl19LDc1NDk0KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBSMiJdfSwxNDY0OTMoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFIzIl19LDczNjM3MShlKXtlLmV4cG9ydHM9WyJQaXZvdCBDYW1hcmlsbGEgUzEiXX0sNzU1Nzg2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENhbWFyaWxsYSBTMiJdfSw5NDI5NzcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgQ2FtYXJpbGxhIFMzIl19LDU2NTUyNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFAiXX0sNjIyODM0KGUpewplLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIxIl19LDUxNzMwMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBDbGFzc2ljIFIyIl19LDc3MTU2KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUjMiXX0sNDk1MzE3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzEiXX0sNTE5MDI3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzIiXX0sMTMwNDY3KGUpe2UuZXhwb3J0cz1bIlBpdm90IENsYXNzaWMgUzMiXX0sNDkxNTQwKGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFAiXX0sOTQxMjI0KGUpe2UuZXhwb3J0cz1bIlBpdm90IERNIFIxIl19LDg4MTcyMChlKXtlLmV4cG9ydHM9WyJQaXZvdCBETSBTMSJdfSw4ODU2MzQoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFAiXX0sMzc0NDA2KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBSMSJdfSwxODcyMTUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFIyIl19LDU4MTAxMihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUjMiXX0sMzg5Nzc4KGUpe2UuZXhwb3J0cz1bIlBpdm90IEZpYm9uYWNjaSBTMSJdfSwyMDI1ODcoZSl7ZS5leHBvcnRzPVsiUGl2b3QgRmlib25hY2NpIFMyIl19LDcxMjU3NihlKXtlLmV4cG9ydHM9WyJQaXZvdCBGaWJvbmFjY2kgUzMiXX0sMTU5MDkyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBQIl19LDI2ODcxNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjEiXX0sODE1MjUoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFIyIl19LDg5NDMzNChlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUjMiXX0sMTI1NTUyKGUpe2UuZXhwb3J0cz1bIlBpdm90IFdvb2RpZSBTMSJdfSw5MzgzNjEoZSl7ZS5leHBvcnRzPVsiUGl2b3QgV29vZGllIFMyIl19LDMxOTEwNihlKXtlLmV4cG9ydHM9WyJQaXZvdCBXb29kaWUgUzMiXX0sMzg2NTYoZSl7ZS5leHBvcnRzPVsiUGx1bWJpbmcgRml4dHVyZXMgJiBGaXR0aW5ncyJdfSw5MDU5MzQoZSl7ZS5leHBvcnRzPVsiUGxhc3RpY3MiXX0sNjg5MzkzKGUpe2UuZXhwb3J0cz1bIlBsYXN0aWMgQ29udGFpbmVyICYgUGFja2FnaW5nIl19LDkzNjI2MChlKXtlLmV4cG9ydHM9WyJQbGF0aW51bSBNaW5pbmciXX0sNzQwMDMoZSl7ZS5leHBvcnRzPVsiUGxheXMgJiBDb25jZXJ0IFByb2R1Y3Rpb24iXX0sNTk3NzYzKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIl19LDMyNTcxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSAlIl19LDUwODI3NihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENoYW5nZSBmcm9tIE9wZW4iXX0sMzg2OTY5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgQ2hhbmdlIGZyb20gT3BlbiAlIl19LDM4NjQ3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IENsb3NlIl19LDUxMTMxMyhlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEdhcCAlIl19LDI0NTgxMihlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IEhpZ2giXX0sNDI1MjAwKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgTG93Il19LDIxNjc2NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IE9wZW4iXX0sMTcxNDE1KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQgVm9sdW1lIl19LDQ2NTU3NChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyJdfSwyMDg4NDYoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgJSJdfSw0OTk0OTUoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBjaGcgZnJvbSBPcGVuIl19LDY0MjMyOChlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IGNoZyBmcm9tIE9wZW4gJSJdfSwzMjk2NDgoZSl7ZS5leHBvcnRzPVsiUHJlLW1hcmtldCBnYWluZXJzIl19LDg2NDIxMihlKXtlLmV4cG9ydHM9WyJQcmVjaW91cyBNZXRhbHMiXX0sMTc2MDg5KGUpe2UuZXhwb3J0cz1bIlByZWNpb3VzIE1ldGFscyAmIE1pbmVyYWxzIl19LDg3MTA4OChlKXtlLmV4cG9ydHM9WyJQcmVmYWJyaWNhdGVkIEhvbWVzIl19LDI3NTY2MihlKXtlLmV4cG9ydHM9WyJQcmVmZXJyZWQgU3RvY2siXX0sNDIzMDUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiJdfSw4MjYxMTUoZSl7ZS5leHBvcnRzPVsiUHJldGF4IE1hcmdpbiAoVFRNKSJdfSw2NTY5NzEoZSl7ZS5leHBvcnRzPVsiUHJldGF4IG1hcmdpbiAoe3BlcmlvZH0pIl19LDgzMjEyMyhlKXtlLmV4cG9ydHM9WyJQcmV2Il19LDEzNzIwKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIDUgRGF5cyJdfSwzNjYyNDgoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgQ2xvc2UgUHJpY2UiXX0sNTY0NTYxKGUpe2UuZXhwb3J0cz1bIlByZXZpb3VzIFdlZWsiXX0sODM0OTAoZSl7ZS5leHBvcnRzPVsiUHJpY2UiXX0sOTg0MTQoZSl7ZS5leHBvcnRzPVsiUHJpY2UgJSBDaGFuZ2UgMSBXZWVrIl19LDYzNjM1MShlKXtlLmV4cG9ydHM9WyJQcmljZSAlIENoYW5nZSA0IFdlZWsiXX0sODM0MTIxKGUpe2UuZXhwb3J0cz1bIlByaWNlICUgQ2hhbmdlIDUyIFdlZWsiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDE3MTM5MShlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBCb29rIChGWSkiXX0sNzk3NDUwKGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEJvb2sgKE1SUSkiXX0sOTE3NzE1KGUpe2UuZXhwb3J0cz1bIlByaWNlIHRvIEVhcm5pbmdzIFJhdGlvIChUVE0pIl19LDMwNjM1NihlKXtlLmV4cG9ydHM9WyJQcmljZSB0byBGcmVlIENhc2ggRmxvdyAoVFRNKSJdfSw4MTkzNzEoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gU2FsZXMgKEZZKSJdfSwzMTMyNDYoZSl7ZS5leHBvcnRzPVsiUHJpY2UgdG8gUmV2ZW51ZSBSYXRpbyAoVFRNKSJdfSw0MjQ1NDUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvRWFybmluZ3MvR3Jvd3RoIChUVE0pIl19LDgxNjk0NChlKXtlLmV4cG9ydHM9WyJQcmljZS9GcmVlIENhc2ggRmxvdyJdfSwyNjMzMzUoZSl7ZS5leHBvcnRzPVsiUHJpY2UvU2FsZXMiXX0sNjMxNDEwKGUpe2UuZXhwb3J0cz1bIlByaWNlL1JldiJdfSwyNTUzNyhlKXtlLmV4cG9ydHM9WyJQcmltYXJ5IEFsdW1pbnVtIFByb2R1Y3Rpb24iXX0sODE4MjczKGUpewplLmV4cG9ydHM9WyJQcmltYXJ5IExpc3RpbmciXX0sMjQzNzU2KGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgQmFua3MiXX0sOTc5NTMyKGUpe2UuZXhwb3J0cz1bIlByaXZhdGUgRXF1aXR5Il19LDU0ODM2KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3NvcnMiXX0sODIwNjk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw1MzQzOShlKXtlLmV4cG9ydHM9WyJQcm9ncmFtbWluZyBTb2Z0d2FyZSAmIFRlc3RpbmcgVG9vbHMiXX0sNTI3NjQwKGUpe2UuZXhwb3J0cz1bIlByb2R1Y2VyIE1hbnVmYWN0dXJpbmciXX0sNTUzMzMwKGUpe2UuZXhwb3J0cz1bIlByb2Zlc3Npb25hbCBJbmZvcm1hdGlvbiBTZXJ2aWNlcyJdfSwxMDQwMTQoZSl7ZS5leHBvcnRzPVsiUHJvZmVzc2lvbmFsIFNwb3J0cyBWZW51ZXMiXX0sNzM2MDY2KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5ICYgQ2FzdWFsdHkgSW5zdXJhbmNlIl19LDg5NjIzMChlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSAmIENhc3VhbHR5IFJlaW5zdXJhbmNlIl19LDM2NDg3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eSBJbnN1cmFuY2UiXX0sMzUxNjE0KGUpe2UuZXhwb3J0cz1bIlByb3BlcnR5LUNhc3VhbHR5IEluc3VyZXJzIl19LDY5NjQ3NyhlKXtlLmV4cG9ydHM9WyJQcm9wZXJ0eS9DYXN1YWx0eSBJbnN1cmFuY2UiXX0sNzY2OTIoZSl7ZS5leHBvcnRzPVsiUHJvdmluY2UvU3RhdGUiXX0sNTY4MzAoZSl7ZS5leHBvcnRzPVsiUHVibGljIFJlbGF0aW9ucyJdfSwxODIwOTcoZSl7ZS5leHBvcnRzPVsiUHVibGljIFNwb3J0IEZhY2lsaXRpZXMiXX0sMzEzMDU2KGUpe2UuZXhwb3J0cz1bIlB1Ymxpc2hpbmc6IEJvb2tzL01hZ2F6aW5lcyJdfSw3MDA0NDIoZSl7ZS5leHBvcnRzPVsiUHVibGlzaGluZzogTmV3c3BhcGVycyJdfSw5MzM0NjEoZSl7ZS5leHBvcnRzPVsiUHVicywgQmFycyAmIE5pZ2h0IENsdWJzIl19LDg0MzMyNyhlKXtlLmV4cG9ydHM9WyJQdWVydG8gUmljbyJdfSwzNjczNjEoZSl7ZS5leHBvcnRzPVsiUHVscCAmIFBhcGVyIl19LDM1Mjg1NihlKXtlLmV4cG9ydHM9WyJQdWxwIE1pbGxzIl19LDMyMTE3KGUpe2UuZXhwb3J0cz1bIlB1bXAgJiBQdW1waW5nIEVxdWlwbWVudCJdfSw4NDAzODYoZSl7ZS5leHBvcnRzPVsiUHVyaWZpY2F0aW9uICYgVHJlYXRtZW50IEVxdWlwbWVudCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sOTQ3Mjk5KGUpe2UuZXhwb3J0cz1bIlF1aWNrIFNlcnZpY2UgUmVzdGF1cmFudHMiXX0sNTkyOTgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrIFJhdGlvIl19LDQwMzEzMShlKXtlLmV4cG9ydHM9WyJRdWljayBSYXRpbyAoTVJRKSJdfSwxOTA2OTYoZSl7ZS5leHBvcnRzPVsiUXVvdGUgY3VycmVuY3kiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDMzNDEwMihlKXtlLmV4cG9ydHM9WyJSJkQgUmF0aW8gKEZZKSJdfSw1MDIwODgoZSl7ZS5leHBvcnRzPVsiUiZEIFJhdGlvIChUVE0pIl19LDEyMzgwNShlKXtlLmV4cG9ydHM9WyJSMSJdfSw1OTQ0MDEoZSl7ZS5leHBvcnRzPVsiUjIiXX0sMTM0MTMoZSl7ZS5leHBvcnRzPVsiUjMiXX0sNTg5OTY0KGUpe2UuZXhwb3J0cz1bIlJPQSJdfSw4NDgxNTQoZSl7ZS5leHBvcnRzPVsiUk9DIl19LDE3MDk1MihlKXtlLmV4cG9ydHM9WyJST0UiXX0sMzg5NTI1KGUpe2UuZXhwb3J0cz1bIlJPSUMgJSJdfSw4MTAyMDIoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSw5NjcwMjMoZSl7ZS5leHBvcnRzPVsiUkZJRCBTeXN0ZW1zIl19LDQ5NjY3NChlKXtlLmV4cG9ydHM9WyJSU0kxNCJdfSw1Mjg2NTkoZSl7ZS5leHBvcnRzPVsiUlNJNyJdfSw4OTEzOTkoZSl7ZS5leHBvcnRzPVsiUm9jayBNaW5pbmciXX0sOTA1OTQ1KGUpe2UuZXhwb3J0cz1bIlJvbWFuaWEiXX0sMjkyMTM1KGUpe2UuZXhwb3J0cz1bIlJvb2ZpbmcgU3VwcGxpZXMiXX0sODAyMDg4KGUpe2UuZXhwb3J0cz1bIlJhdGUgT2YgQ2hhbmdlICg5KSJdfSwyMjc3NTQoZSl7ZS5leHBvcnRzPVsiUmF0aW5nIEFnZW5jaWVzIl19LDExOTg5MihlKXtlLmV4cG9ydHM9WyJSYWRpbyBCcm9hZGNhc3RpbmciXX0sNjAwNTc2KGUpe2UuZXhwb3J0cz1bIlJhaWwgU2VydmljZXMiXX0sNzY3MTQ3KGUpe2UuZXhwb3J0cz1bIlJhaWxyb2FkcyJdfSw2NjY1NDcoZSl7ZS5leHBvcnRzPVsiUmFpbHdheSBDb25zdHJ1Y3Rpb24iXX0sMzE5NzEzKGUpe2UuZXhwb3J0cz1bIlJhaWx3YXkgRnJlaWdodCBPcGVyYXRvcnMiXX0sOTE4NChlKXtlLmV4cG9ydHM9WyJSYXJlIEVhcnRoIE1pbmVyYWxzIl19LDk2MTIwNShlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEZXBhcnRtZW50IFN0b3JlcyJdfSw2NTk3NjEoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIC0gRHJ1Z3Mgd2l0aCBHcm9jZXJ5Il19LDYwOTcyOChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgLSBEcnVncyB3aXRob3V0IEdyb2NlcnkiXX0sNDEyNjIwKGUpe2UuZXhwb3J0cz1bIlJldGFpbCAgUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQiXX0sNzkyOTI2KGUpe2UuZXhwb3J0cz1bIlJldGFpbCAmIE1vcnRnYWdlIEJhbmtzIl19LDEwMTE0MChlKXtlLmV4cG9ydHM9WyJSZXRhaWwgUkVJVHMiXX0sNzA5NjI1KGUpe2UuZXhwb3J0cz1bIlJldGFpbCBSZWFsIEVzdGF0ZSBTZXJ2aWNlcyJdfSw1OTAwNjYoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDkxODg5KGUpe2UuZXhwb3J0cz1bIlJldGlyZW1lbnQgSG9tZSBCdWlsZGVycyJdfSwxODUxMDMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEFzc2V0cyAoVFRNKSJdfSwxMTk1MjMoZSl7ZS5leHBvcnRzPVsiUmV0dXJuIG9uIEVxdWl0eSAoVFRNKSJdfSwxNzg1MTMoZSl7CmUuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsICUgKFRUTSkiXX0sODA5NzI2KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBJbnZlc3RlZCBDYXBpdGFsIChUVE0pIl19LDgxODExMShlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gYXNzZXRzICh7cGVyaW9kfSkiXX0sNDgxMDg3KGUpe2UuZXhwb3J0cz1bIlJldHVybiBvbiBlcXVpdHkgKHtwZXJpb2R9KSJdfSwyMzE3MyhlKXtlLmV4cG9ydHM9WyJSZXR1cm4gb24gaW52ZXN0ZWQgY2FwaXRhbCAoe3BlcmlvZH0pIl19LDU2ODA5MShlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIl19LDEyODM3NihlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChBbm51YWwgWW9ZIEdyb3d0aCkiXX0sNDgyNTUzKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw4MDMyODEoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSAoUXVhcnRlcmx5IFlvWSBHcm93dGgpIl19LDc0MDkyOChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIChUVE0gWW9ZIEdyb3d0aCkiXX0sNTg4MzczKGUpe2UuZXhwb3J0cz1bIlJldmVudWUgQWN0dWFsIl19LDQ1OTU4NyhlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIEZvcmVjYXN0Il19LDc5Mzc1MChlKXtlLmV4cG9ydHM9WyJSZXZlbnVlIHBlciBFbXBsb3llZSJdfSw5NDIwMjUoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgRW1wbG95ZWUgKEZZKSJdfSw2MzA2NzYoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgZW1wbG95ZWUgKHtwZXJpb2R9KSJdfSwxMzI1NDgoZSl7ZS5leHBvcnRzPVsiUmV2ZW51ZSBwZXIgc2hhcmUgKHtwZXJpb2R9KSJdfSw2MTM5NTEoZSl7ZS5leHBvcnRzPVsiUmVhZHktTWFkZSBNZWFscyJdfSw4ODM5MjgoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIl19LDQ0MTA0NShlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBEZXZlbG9wbWVudCJdfSw3MTIwMDQoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgRGV2ZWxvcG1lbnQgJiBPcGVyYXRpb25zIl19LDE0MjA4NihlKXtlLmV4cG9ydHM9WyJSZWFsIEVzdGF0ZSBJbnZlc3RtZW50IFRydXN0cyJdfSwzNzYzNjUoZSl7ZS5leHBvcnRzPVsiUmVhbCBFc3RhdGUgU2VydmljZXMiXX0sNTAyMTI5KGUpe2UuZXhwb3J0cz1bIlJlY2VudCBFYXJuaW5ncyBEYXRlIl19LDEwNTcxKGUpe2UuZXhwb3J0cz1bIlJlY3JlYXRpb25hbCBQcm9kdWN0cyJdfSwzNzM3MjIoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCJdfSw4Njk3NTYoZSl7ZS5leHBvcnRzPVsiUmVmcmVzaCBldmVyeSBtaW51dGUiXX0sNzgyNjM0KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggaW50ZXJ2YWwiXX0sMjI0ODIxKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbiJdfSw3NjYxNjUoZSl7ZS5leHBvcnRzPVsiUmVnaW9uYWwgQWlybGluZXMiXX0sMzU4NjIzKGUpe2UuZXhwb3J0cz1bIlJlZ2lvbmFsIEJhbmtzIl19LDczNDQ3NyhlKXtlLmV4cG9ydHM9WyJSZWluc3VyYW5jZSJdfSw4MTM0MzIoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXggKDE0KSJdfSw0MjM0NihlKXtlLmV4cG9ydHM9WyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleCAoNykiXX0sMjUwNjU0KGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbCJdfSw2OTkwOTAoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sIGF0IFRpbWUiXX0sNzgzMTkzKGUpe2UuZXhwb3J0cz1bIlJlbGF0aXZlIFZvbHVtZSJdfSwxOTMwNjYoZSl7ZS5leHBvcnRzPVsiUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWUiXX0sNTkxMjI3KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBjb2x1bW4iXX0sNjk0MjA5KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBmcm9tIGZhdm9yaXRlcyJdfSw5MjQ4MjMoZSl7ZS5leHBvcnRzPVsiUmVuYW1lIl19LDY3MTIzKGUpe2UuZXhwb3J0cz1bIlJlbmFtZSBDb2x1bW4gU2V0Il19LDk0MTI1NyhlKXtlLmV4cG9ydHM9WyJSZW5hbWUgU2NyZWVucyJdfSw1Nzg5MzAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBFcXVpcG1lbnQgJiBTZXJ2aWNlcyJdfSw5MTk2MzkoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEVuZXJneSBTZXJ2aWNlcyJdfSwzOTQxNzQoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIEZ1ZWxzIl19LDk4NDk5MyhlKXtlLmV4cG9ydHM9WyJSZW5ld2FibGUgSVBQcyJdfSwxODAwOTAoZSl7ZS5leHBvcnRzPVsiUmVuZXdhYmxlIFV0aWxpdGllcyJdfSw4NTc4OTgoZSl7ZS5leHBvcnRzPVsiUmVwb3J0ZWQgRVBTIl19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDg3MDMxNihlKXtlLmV4cG9ydHM9WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50IFJhdGlvIChGWSkiXX0sNzAxMDM1KGUpe2UuZXhwb3J0cz1bIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgUmF0aW8gKFRUTSkiXX0sNDI1NjUwKGUpe2UuZXhwb3J0cz1bIlJlc2V0Il19LDgyNjMxNChlKXtlLmV4cG9ydHM9WyJSZXNldCBhbGwiXX0sMzExNzM3KGUpe2UuZXhwb3J0cz1bIlJlc2V0IGZpbHRlciJdfSwyMDYxNDQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgIFJlYWwgRXN0YXRlIERldmVsb3BtZW50Il19LDEyMjE4OShlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCAmIExvbmcgVGVybSBDYXJlIl19LDEwOTAwNyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBBcmNoaXRlY3R1cmFsICYgSW50ZXJpb3IgRGVzaWduIFNlcnZpY2VzIl19LDU3ODgxMihlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIE11bHRpZmFtaWx5IEhvbWVzIl19LDE4Mjc5NyhlKXtlLmV4cG9ydHM9WyJSZXNpZGVudGlhbCBCdWlsZGVycyAtIFNpbmdsZSBIb21lcyJdfSwyMjAyNjQoZSl7ZS5leHBvcnRzPVsiUmVzaWRlbnRpYWwgUkVJVHMiXX0sMTQ1MjgxKGUpe2UuZXhwb3J0cz1bIlJlc2lkZW50aWFsIFJlYWwgRXN0YXRlIFNlcnZpY2VzIl19LDg0MzE4MShlKXtlLmV4cG9ydHM9WyJSZXNvcnQgT3BlcmF0b3JzIl19LDMyMzg4OShlKXtlLmV4cG9ydHM9WyJSZXN0YXVyYW50cyJdfSwzMTUyMTMoZSl7ZS5leHBvcnRzPVsiUmVzdGF1cmFudHMgJiBCYXJzIl19LDQwNzQzOChlKXtlLmV4cG9ydHM9WyJSaXNpbmcgcGFpcnMiXX0sCjQ2MTk3MihlKXtlLmV4cG9ydHM9WyJSdWJiZXIgUGxhbnRhdGlvbiJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDM5MDU5OChlKXtlLmV4cG9ydHM9WyJSdXNzaWFuIEZlZGVyYXRpb24iXX0sNzU4Mjk3KGUpe2UuZXhwb3J0cz1bIlJ3YW5kYSJdfSw4NzI2ODAoZSl7ZS5leHBvcnRzPVsiUsOpdW5pb24iXX0sMjI4MjkoZSl7ZS5leHBvcnRzPVsiUzEiXX0sNDQxODQxKGUpe2UuZXhwb3J0cz1bIlMyIl19LDg2MDg1MyhlKXtlLmV4cG9ydHM9WyJTMyJdfSw1NDE0MDUoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBBcHBhcmVsIFJldGFpbGVycyJdfSw1MDM3MTMoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBDbG90aGluZyJdfSw0MzQwNzcoZSl7ZS5leHBvcnRzPVsiV29tZW4ncyBGb290d2VhciJdfSw1MjQ1MzkoZSl7ZS5leHBvcnRzPVsiV29vZCBDb250YWluZXIgJiBQYWNrYWdpbmciXX0sMTAzNjQwKGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdCBXaG9sZXNhbGUiXX0sNzA2MDY1KGUpe2UuZXhwb3J0cz1bIldvb2QgUHJvZHVjdHMiXX0sNjQzMDc1KGUpe2UuZXhwb3J0cz1bIldvcmxkIl19LDYzMTA1MihlKXtlLmV4cG9ydHM9WyJXYXRjaGVzIl19LDg2MTY1NShlKXtlLmV4cG9ydHM9WyJXYXRlciAmIFNld2FnZSBDb25zdHJ1Y3Rpb24iXX0sNDM1OTgwKGUpe2UuZXhwb3J0cz1bIldhdGVyIFN1cHBseSAmIElycmlnYXRpb24gU3lzdGVtcyJdfSwzNjk5NDQoZSl7ZS5leHBvcnRzPVsiV2F0ZXIgVXRpbGl0aWVzIl19LDQwNTc3OShlKXtlLmV4cG9ydHM9WyJXYXZlIFBvd2VyIEVuZXJneSBFcXVpcG1lbnQiXX0sNTkwNTA1KGUpe2UuZXhwb3J0cz1bIldhbGxpcyBhbmQgRnV0dW5hIl19LDU1NDE3MyhlKXtlLmV4cG9ydHM9WyJXYWxscGFwZXIiXX0sOTA2Mzc5KGUpe2UuZXhwb3J0cz1bIldhcmVob3VzaW5nIl19LDQ5MzMzMyhlKXtlLmV4cG9ydHM9WyJXYXN0ZSBNYW5hZ2VtZW50LCBEaXNwb3NhbCAmIFJlY3ljbGluZyBTZXJ2aWNlcyJdfSwxMjEzMDEoZSl7ZS5leHBvcnRzPVsiV2FzdGUgdG8gRW5lcmd5IFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sMzMyODU1KGUpe2UuZXhwb3J0cz1bIldlIGFyZSBkb2luZyBzb21lIGJyaWVmIGRhaWx5IG1haW50ZW5hbmNlLiBTY3JlZW5lciB3aWxsIGJlIGJhY2sgcmVhbGx5IHNvb24sIHRoYW5rcyBmb3IgeW91ciBwYXRpZW5jZSEiXX0sNTI5MTYwKGUpe2UuZXhwb3J0cz1bIldlJ3ZlIGxhdW5jaGVkIG5ldyBhbmQgbW9yZSBwb3dlcmZ1bCBzY3JlZW5lcnMgZm9yIHtjcnlwdG9Db2luc1NjcmVlbmVyTGlua1N0YXJ0fWNyeXB0byBjb2luc3tsaW5rRW5kfSwge2NleFNjcmVlbmVyTGlua1N0YXJ0fUNFWCBwYWlyc3tsaW5rRW5kfSwgYW5kIHtkZXhTY3JlZW5lckxpbmtTdGFydH1ERVggcGFpcnN7bGlua0VuZH0uIFRoZXkncmUgcGFja2VkIHdpdGggZXZlcnl0aGluZyB5b3UgbG92ZWQgZnJvbSB0aGUgb2xkIHZlcnNpb24sIHBsdXMgbW9yZSBkYXRhLCBzbWFydGVyIGZpbHRlcnMsIGFuZCBleGNpdGluZyBmZWF0dXJlcyBhbmQgbWV0cmljcy5cblRvIHN0cmVhbWxpbmUgeW91ciBleHBlcmllbmNlLCB3ZSdsbCBiZSByZW1vdmluZyB0aGlzIG9sZCB2ZXJzaW9uIHNvb24uIEV4cGxvcmUgdGhlIG5ldyBzY3JlZW5lcnMgbm93LiJdfSw3OTU3NyhlKXtlLmV4cG9ydHM9WyJXZWFsdGggTWFuYWdlbWVudCJdfSw3ODE5OTMoZSl7ZS5leHBvcnRzPVsiV2Vla2x5IFBlcmYiXX0sODQ2NjE0KGUpe2UuZXhwb3J0cz1bIldlZWtseSBQZXJmb3JtYW5jZSJdfSw5MTQ4MTYoZSl7ZS5leHBvcnRzPVsiV2VsZGluZyAmIFNvbGRlcmluZyBFcXVpcG1lbnQiXX0sODgxMjc3KGUpe2UuZXhwb3J0cz1bIldlc3Rlcm4gU2FoYXJhIl19LDYwOTQ1NShlKXtlLmV4cG9ydHM9WyJXaG9sZXNhbGUgRGlzdHJpYnV0b3JzIl19LDYyODk1KGUpe2UuZXhwb3J0cz1bIldpLUZpICYgV2ktTWF4IFByb3ZpZGVycyJdfSwyNjA5MTAoZSl7ZS5leHBvcnRzPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSAoMTQpIl19LDE5OTc4OChlKXtlLmV4cG9ydHM9WyJXaW5kIFN5c3RlbXMgJiBFcXVpcG1lbnQiXX0sNjEzNjc1KGUpe2UuZXhwb3J0cz1bIldpbmVyaWVzIl19LDI0NzE2NShlKXtlLmV4cG9ydHM9WyJXaXJlZCBUZWxlY29tbXVuaWNhdGlvbnMgQ2FycmllcnMiXX0sMTc4MzA1KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb20iXX0sODUzMTY0KGUpe2UuZXhwb3J0cz1bIldpcmVsZXNzIFRlbGVjb21tdW5pY2F0aW9ucyJdfSwxMjU3NDMoZSl7ZS5leHBvcnRzPVsiV2lyZWxlc3MgVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgwMDg0NShlKXtlLmV4cG9ydHM9WyJXaXJlcyAmIENhYmxlcyJdfSwzNDQzNzUoZSl7ZS5leHBvcnRzPVsiVEYiXX0sODQ3MTQxKGUpe2UuZXhwb3J0cz1bIlRUTSJdfSwyMzc3NDgoZSl7ZS5leHBvcnRzPVsiVFYgJiBWaWRlbyJdfSw1NDM1MzIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQ29pbnMiXX0sODEyMzM1KGUpe2UuZXhwb3J0cz1bIlRvdGFsIENhcGl0YWwiXX0sNTc5MTA5KGUpe2UuZXhwb3J0cz1bIlRvdGFsIEN1cnJlbnQgQXNzZXRzIChNUlEpIl19LDQwMzY0NyhlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw0MDIyKGUpe2UuZXhwb3J0cz1bIlRvdGFsIEFzc2V0cyAoTVJRKSJdfSw5NzM2MChlKXtlLmV4cG9ydHM9WyJUb3RhbCBBc3NldHMgKFF1YXJ0ZXJseSBRb1EgR3Jvd3RoKSJdfSw1NDgzNDIoZSl7ZS5leHBvcnRzPVsiVG90YWwgQXNzZXRzIChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sNjIzODM3KGUpe2UuZXhwb3J0cz1bIlRvdGFsIERlYnQgKEFubnVhbCBZb1kgR3Jvd3RoKSJdfSw1Njg5MzQoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoTVJRKSJdfSw3OTMwMzYoZSl7ZS5leHBvcnRzPVsiVG90YWwgRGVidCAoUXVhcnRlcmx5IFFvUSBHcm93dGgpIl19LDY3NTEwOChlKXtlLmV4cG9ydHM9WyJUb3RhbCBEZWJ0IChRdWFydGVybHkgWW9ZIEdyb3d0aCkiXX0sMzM0MTcxKGUpe2UuZXhwb3J0cz1bIlRvdGFsIExpYWJpbGl0aWVzIChNUlEpIl19LDYwNjkyMChlKXsKZS5leHBvcnRzPVsiVG90YWwgTGlhYmlsaXRpZXMgKEZZKSJdfSw1NDMwOTUoZSl7ZS5leHBvcnRzPVsiVG90YWwgU2hhcmVzIE91dHN0YW5kaW5nIl19LDQzNjQ3NChlKXtlLmV4cG9ydHM9WyJUb3RhbCBSZXZlbnVlIChGWSkiXX0sNDE0MjU4KGUpe2UuZXhwb3J0cz1bIlRvdGFsIGFzc2V0cyAoe3BlcmlvZH0pIl19LDQ2OTU1OChlKXtlLmV4cG9ydHM9WyJUb3RhbCBkZWJ0ICh7cGVyaW9kfSkiXX0sNzMzMjYoZSl7ZS5leHBvcnRzPVsiVG90YWwgZXF1aXR5ICh7cGVyaW9kfSkiXX0sMzM2MzAzKGUpe2UuZXhwb3J0cz1bIlRvdGFsIHNoYXJlcyBvdXRzdGFuZGluZyJdfSwzMDIxNjUoZSl7ZS5leHBvcnRzPVsiVG90YWwgcmV2ZW51ZSAoe3BlcmlvZH0pIl19LDE1MjgzMyhlKXtlLmV4cG9ydHM9WyJUb3lzICYgR2FtZXMgUmV0YWlsZXJzIl19LDM1NzgwNChlKXtlLmV4cG9ydHM9WyJUb3lzICYgSnV2ZW5pbGUgUHJvZHVjdHMiXX0sNjIyMzI3KGUpe2UuZXhwb3J0cz1bIlRveXMgJiBKdXZlbmlsZSBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNDcyOTcxKGUpe2UuZXhwb3J0cz1bIlRvYmFjY28iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDEwNDE3NyhlKXtlLmV4cG9ydHM9WyJUb2tlbGF1Il19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sNjQ3MDgzKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSGFyZHdhcmUiXX0sMTE4MDkyKGUpe2UuZXhwb3J0cz1bIlRvb2xzICYgSG91c2V3YXJlcyJdfSw1NDk0MzcoZSl7ZS5leHBvcnRzPVsiVG9wIDIwIGVjb25vbWllcyJdfSw4MTQwMjEoZSl7ZS5leHBvcnRzPVsiVG9wIGdhaW5lcnMiXX0sMzg0NTQwKGUpe2UuZXhwb3J0cz1bIlRvcCBsb3NlcnMiXX0sMTg5NDgoZSl7ZS5leHBvcnRzPVsiVGF4aSAmIExpbW91c2luZSJdfSw2OTkxMjIoZSl7ZS5leHBvcnRzPVsiVGFibGV0ICYgTmV0Ym9vayBDb21wdXRlcnMiXX0sMjczMTU3KGUpe2UuZXhwb3J0cz1bIlRhaXdhbiwgQ2hpbmEiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNTk3MzQ4KGUpe2UuZXhwb3J0cz1bIlRhbm5pbmcgJiBTb2Z0ZW5pbmcgYWdlbnRzIl19LDQ5ODE4MyhlKXtlLmV4cG9ydHM9WyJUYW56YW5pYSJdfSw4NTE5OTMoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMiXX0sMjIzNjQ0KGUpe2UuZXhwb3J0cz1bIlRleHRpbGVzICYgTGVhdGhlciBHb29kcyJdfSw4MjA2NDcoZSl7ZS5leHBvcnRzPVsiVGV4dGlsZXMgJiBMZWF0aGVyIEdvb2RzIFdob2xlc2FsZSJdfSw1Njk1OTUoZSl7ZS5leHBvcnRzPVsiVGVjaG5pY2FsIFJhdGluZyJdfSwyNzEwNzkoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSJdfSw3NjA1MTMoZSl7ZS5leHBvcnRzPVsiVGVjaG5vbG9neSBDb25zdWx0aW5nICYgT3V0c291cmNpbmcgU2VydmljZXMiXX0sNjQwOTUzKGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sMjU1ODIwKGUpe2UuZXhwb3J0cz1bIlRlbGVtZWRpY2luZSBTZXJ2aWNlcyJdfSw5MTYxODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb24gQ29uc3RydWN0aW9uIl19LDE4NTE2NChlKXtlLmV4cG9ydHM9WyJUZWxlY29tbXVuaWNhdGlvbnMgTmV0d29yayBJbmZyYXN0cnVjdHVyZSJdfSwzODk2ODkoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIEVxdWlwbWVudCJdfSw1NzMyNjcoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFJlc2VsbGVycyJdfSw4NTI1ODUoZSl7ZS5leHBvcnRzPVsiVGVsZWNvbW11bmljYXRpb25zIFNlcnZpY2VzIl19LDgyNzk4MChlKXtlLmV4cG9ydHM9WyJUZWxldmlzaW9uIEJyb2FkY2FzdGluZyJdfSwyMjEzNTUoZSl7ZS5leHBvcnRzPVsiVGVzdGluZyAmIE1lYXN1cmluZyBFcXVpcG1lbnQiXX0sOTIxNzg2KGUpe2UuZXhwb3J0cz1bIlRlc3RpbmcgTGFib3JhdG9yaWVzIl19LDQ5MjU3NyhlKXtlLmV4cG9ydHM9WyJUZXN0aW5nIFNlcnZpY2VzIl19LDU1MzA0NChlKXtlLmV4cG9ydHM9WyJUaGFpbGFuZCJdfSw1MTk0NzQoZSl7ZS5leHBvcnRzPVsiVGhlIGFsZXJ0IGNhbid0IGJlIGVuYWJsZWQiXX0sMTk0NjAwKGUpe2UuZXhwb3J0cz1bIlRoZSBjdXJyZW5jeSBzZXQgZm9yIHRoZSB0cmFkZWQgaW5zdHJ1bWVudCBieSB0aGUgcmVsZXZhbnQgY29tcGFueSJdfSw0MTU0MShlKXtlLmV4cG9ydHM9WyJUaGVhdHJlcyAmIFBlcmZvcm1pbmcgQXJ0cyJdfSwzNTg0MjEoZSl7ZS5leHBvcnRzPVsiVGhlcm1hbCBTb2xhciBTeXN0ZW1zICYgRXF1aXBtZW50Il19LDE3MDgwOShlKXtlLmV4cG9ydHM9WyJUaGlzIE1vbnRoIl19LDEyNzQ4MyhlKXtlLmV4cG9ydHM9WyJUaGlzIFdlZWsiXX0sNjc2NDQyKGUpe2UuZXhwb3J0cz1bIlRoaXMgZGF0YSBpcyBvbmx5IGF2YWlsYWJsZSBkaXJlY3RseSBvbiB7b3Blbkxpbmt9VHJhZGluZ1ZpZXd7Y2xvc2VMaW5rfSJdfSw3NDg1NDQoZSl7ZS5leHBvcnRzPVsiVGhpcyBsZWdhY3kgdmVyc2lvbiBvZiBDcnlwdG8gUGFpcnMgU2NyZWVuZXIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCJdfSw4OTAzODcoZSl7ZS5leHBvcnRzPVsiVGhyZWUgQmxhY2sgQ3Jvd3MiXX0sMjc3MDk3KGUpe2UuZXhwb3J0cz1bIlRocmVlIFdoaXRlIFNvbGRpZXJzIl19LDgyODQyMChlKXtlLmV4cG9ydHM9WyJUaWNrZXIiXX0sNTgxNTEoZSl7ZS5leHBvcnRzPVsiVGlsZSAmIFBhdmluZyBNYXRlcmlhbCBNYW51ZmFjdHVyaW5nIl19LDc3NTc1NShlKXtlLmV4cG9ydHM9WyJUaW1iZXIgUkVJVHMiXX0sMzIwNyhlKXtlLmV4cG9ydHM9WyJUaW1iZXIgVHJhY3QgT3BlcmF0aW9ucyJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSw3NjUzKGUpe2UuZXhwb3J0cz1bIlRpbWUgSW50ZXJ2YWwiXX0sODAzMDUxKGUpe2UuZXhwb3J0cz1bIlRpbW9yLUxlc3RlIl19LDk2MDA1MyhlKXtlLmV4cG9ydHM9WyJUaXJlICYgVHViZSBNYW51ZmFjdHVyZXJzIl19LDEzNTAzMyhlKXtlLmV4cG9ydHM9WyJUaXJlIERlYWxlcnMiXX0sNTI2MDAxKGUpewplLmV4cG9ydHM9WyJUaXJlIFJldHJlYWRpbmciXX0sMjQyNzc1KGUpe2UuZXhwb3J0cz1bIlRpcmVzICYgUnViYmVyIFByb2R1Y3RzIl19LDE2MjEzMyhlKXtlLmV4cG9ydHM9WyJUaXJlcyAmIFJ1YmJlciBQcm9kdWN0cyBXaG9sZXNhbGUiXX0sNzIxMjI1KGUpe2UuZXhwb3J0cz1bIlRydWNraW5nIl19LDQyMTY0NyhlKXtlLmV4cG9ydHM9WyJUcnVja3MvQ29uc3RydWN0aW9uL0Zhcm0gTWFjaGluZXJ5Il19LDcyMTUyMihlKXtlLmV4cG9ydHM9WyJUcnVzdCBmdW5kIl19LDMzODg2NShlKXtlLmV4cG9ydHM9WyJUcmFkZSAmIEJ1c2luZXNzIFB1Ymxpc2hpbmciXX0sMjM0MDcxKGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2wiXX0sNTA5Njc5KGUpe2UuZXhwb3J0cz1bIlRyYWRlZCBWb2x1bWUiXX0sODE4NjAoZSl7ZS5leHBvcnRzPVsiVHJhbnNhY3Rpb24gJiBQYXltZW50IFNlcnZpY2VzIl19LDUzMzI2OShlKXtlLmV4cG9ydHM9WyJUcmFuc2xhdGlvbiAmIEludGVycHJldGF0aW9uIFNlcnZpY2VzIl19LDc2ODM5MChlKXtlLmV4cG9ydHM9WyJUcmFuc3BvcnRhdGlvbiJdfSw1MzM1OTEoZSl7ZS5leHBvcnRzPVsiVHJhdmVsIEFnZW50cyJdfSwxMTUyNzQoZSl7ZS5leHBvcnRzPVsiVHJlbmQtRm9sbG93aW5nIl19LDI5MTE3MyhlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCZWFyaXNoIl19LDg2NzI2OChlKXtlLmV4cG9ydHM9WyJUcmkgU3RhciBCdWxsaXNoIl19LDMxNDg3KGUpe2UuZXhwb3J0cz1bIlRyaW5pZGFkIGFuZCBUb2JhZ28iXX0sNDMwMTM0KGUpe2UuZXhwb3J0cz1bIlR1dmFsdSJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDY4NzcyNShlKXtlLmV4cG9ydHM9WyJUdXJiaW5lIE1hbnVmYWN0dXJpbmciXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDk3MDYyNChlKXtlLmV4cG9ydHM9WyJUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMiXX0sNDMxMzc3KGUpe2UuZXhwb3J0cz1bIlUuUy4gVmlyZ2luIElzbGFuZHMiXX0sODk1Nzc0KGUpe2UuZXhwb3J0cz1bIlVPIl19LDE2MzExMChlKXtlLmV4cG9ydHM9WyJVQUUiXX0sNjIwMjExKGUpe2UuZXhwb3J0cz1bIlVJVCJdfSwzMDExMTcoZSl7ZS5leHBvcnRzPVsiVVNBIl19LDI1MDA3MihlKXtlLmV4cG9ydHM9WyJVbnVzdWFsIHZvbHVtZSJdfSwxMzc4ODgoZSl7ZS5leHBvcnRzPVsiVW5jb252ZW50aW9uYWwgT2lsICYgR2FzIERyaWxsaW5nIl19LDY2MTk3NihlKXtlLmV4cG9ydHM9WyJVbmNvbnZlbnRpb25hbCBPaWwgJiBHYXMgUHJvZHVjdGlvbiJdfSw3NDIzMzgoZSl7ZS5leHBvcnRzPVsiVW5kZXJwZXJmb3JtaW5nIFNNQTUwIl19LDI0OTA5MShlKXtlLmV4cG9ydHM9WyJVbml0ZWQgQXJhYiBFbWlyYXRlcyJdfSwyODI3MyhlKXtlLmV4cG9ydHM9WyJVbml0ZWQgS2luZ2RvbSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTk5OTYxKGUpe2UuZXhwb3J0cz1bIlVsdGltYXRlIE9zY2lsbGF0b3IgKDcsIDE0LCAyOCkiXX0sNzcwNDI0KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIEVhcm5pbmdzIERhdGUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sMzIzMTMyKGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0iXX0sMTA3NDA1KGUpe2UuZXhwb3J0cz1bIlVyYW5pdW0gTWluaW5nIl19LDQ4NzAwNihlKXtlLmV4cG9ydHM9WyJVc2VkIENhciBEZWFsZXJzIl19LDU5MjYyNyhlKXtlLmV4cG9ydHM9WyJVc2VkIE1lcmNoYW5kaXNlIFN0b3JlcyJdfSw4OTExMzYoZSl7ZS5leHBvcnRzPVsiVXRpbGl0aWVzIl19LDc4Mzk3MChlKXtlLmV4cG9ydHM9WyJVemJla2lzdGFuIl19LDM3MjUyMyhlKXtlLmV4cG9ydHM9WyJWT0lQIEVxdWlwbWVudCAmIFN5c3RlbXMiXX0sMjk4MTEzKGUpe2UuZXhwb3J0cz1bIlZPSVAgU2VydmljZXMiXX0sMjUxMTY3KGUpe2UuZXhwb3J0cz1bIlZXQVAiXX0sMzM5NDA3KGUpe2UuZXhwb3J0cz1bIlZXTUEiXX0sMzUyNDU3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggQ2hnICUiXX0sMjM0MDc3KGUpe2UuZXhwb3J0cz1bIlZvbCAyNGggaW4gVVNEIl19LDMzODM5MihlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5Il19LDkyOTU5NChlKXtlLmV4cG9ydHM9WyJWb2xhdGlsaXR5IE0iXX0sNTYzMzYzKGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgTW9udGgiXX0sMTExNTQ4KGUpe2UuZXhwb3J0cz1bIlZvbGF0aWxpdHkgVyJdfSwxNjIyNjUoZSl7ZS5leHBvcnRzPVsiVm9sYXRpbGl0eSBXZWVrIl19LDI0NzA2MihlKXtlLmV4cG9ydHM9WyJWb2x1bWUiXX0sNzExMTg4KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggQ2hhbmdlICUiXX0sNTU3OTMzKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSAyNGggaW4gVVNEIl19LDU0MzM5MShlKXtlLmV4cG9ydHM9WyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2UgKDIwKSJdfSwxNTUyODAoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGxlYWRlcnMiXX0sNjkwMjA2KGUpe2UuZXhwb3J0cz1bIlZvbHVtZSpQcmljZSJdfSw3OTYyNTYoZSl7ZS5leHBvcnRzPVsiVmFsdWF0aW9uIl19LDMxMDg2OShlKXtlLmV4cG9ydHM9WyJWYWx1ZSJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSwxMjY3NChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IERydWdzIl19LDYxOTQ5MChlKXtlLmV4cG9ydHM9WyJWZXRlcmluYXJ5IE1lZGljYWwgRXF1aXBtZW50ICYgU3VwcGxpZXMiXX0sNzkxMzg0KGUpe2UuZXhwb3J0cz1bIlZldGVyaW5hcnkgU2VydmljZXMiXX0sNjEwNjgwKGUpe2UuZXhwb3J0cz1bIlZlZ2V0YWJsZSwgRnJ1aXQgJiBOdXQgRmFybWluZyJdfSwyNDk2ODUoZSl7ZS5leHBvcnRzPVsiVmVuZGluZyBNYWNoaW5lIFByb3ZpZGVycyJdfSw2NDM1MDMoZSl7ZS5leHBvcnRzPVsiVmVuZXp1ZWxhIl19LDM4NjU4NihlKXsKZS5leHBvcnRzPVsiVmVudHVyZSBDYXBpdGFsIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sNDIzMjA2KGUpe2UuZXhwb3J0cz1bIlZpcmdpbiBJc2xhbmRzIChCcml0aXNoKSJdfSwzMDEyMjkoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIl19LDUxNzg1OShlKXtlLmV4cG9ydHM9WyJWaXNpdCBUcmFkaW5nVmlldyDigJQgZmluYW5jaWFsIGNoYXJ0aW5nIHBsYXRmb3JtIGFuZCB0cmFkaW5nIGNvbW11bml0eSJdfSw2NDc0NzEoZSl7ZS5leHBvcnRzPVsiWVREIFBlcmYiXX0sODUzMTAwKGUpe2UuZXhwb3J0cz1bIllURCBQZXJmb3JtYW5jZSJdfSw3MjM2MyhlKXtlLmV4cG9ydHM9WyJZb3UgYXJlIG5vdGlmaWVkIl19LDcxNzM1MChlKXtlLmV4cG9ydHM9WyJZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMgaW4geW91ciBjdXJyZW50IGNvbHVtbiBzZXQuIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMjcwNjQ0KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcyBpbiB5b3VyIGN1cnJlbnQgZmlsdGVyIHNldC4gV291bGQgeW91IGxpa2UgdG8gc2F2ZSB0aGVtPyJdfSw5NjMzMTgoZSl7ZS5leHBvcnRzPVsiWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzIGluIHlvdXIgY3VycmVudCBzY3JlZW4uIFdvdWxkIHlvdSBsaWtlIHRvIHNhdmUgdGhlbT8iXX0sMzI3MzA1KGUpe2UuZXhwb3J0cz1bIllvdSdyZSBjdXJyZW50bHkgdXNpbmcgb3VyIGxlZ2FjeSBTdG9jayBTY3JlZW5lci4gVGhpcyB2ZXJzaW9uIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgYW5kIHdvbid0IHJlY2VpdmUgYW55IHVwZGF0ZXMgb3IgZml4ZXMgbW92aW5nIGZvcndhcmQuIFRvIGNvbnRpbnVlIHNjcmVlbmluZyB3aXRoIGZ1bGwgc3BlZWQsIHJlbGlhYmlsaXR5LCBhbmQgbmV3IGZlYXR1cmVzLCBwbGVhc2Ugc3dpdGNoIHRvIG91ciBuZXcgU3RvY2sgU2NyZWVuZXIg4oCUIGJ1aWx0IGJhc2VkIG9uIHlvdXIgZmVlZGJhY2sgYW5kIHJlYWR5IHRvIHN1cHBvcnQgeW91ciB0cmFkaW5nIG5lZWRzLiBUcnVzdCB1cywgdGhlIG5ldyBzY3JlZW5lciBpcyB3b3J0aCBpdC4iXX0sMzA5NTIzKGUpe2UuZXhwb3J0cz1bIllhcm4gR29vZHMiXX0sMTgzNTY0KGUpe2UuZXhwb3J0cz1bIlllYXJseSBQZXJmIl19LDEyOTgwOShlKXtlLmV4cG9ydHM9WyJZZWFybHkgUGVyZm9ybWFuY2UiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sOTUwMjA3KGUpe2UuZXhwb3J0cz1bIlppbmMgT3JlIE1pbmluZyJdfSw3MjExMTgoZSl7ZS5leHBvcnRzPVsiYW5udWFsbHkiXX0sNjUzNjkoZSl7ZS5leHBvcnRzPVsiYmlsbGVkIG1vbnRobHkiXX0sMjYwMTkzKGUpe2UuZXhwb3J0cz1bImJpbGxlZCBhbm51YWxseSJdfSw1NTY1NjgoZSl7ZS5leHBvcnRzPVsibW9udGhseSJdfSw4NjM4NTIoZSl7ZS5leHBvcnRzPVsidGhyZWUgbW9udGhzIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMjk1NjIwKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEciXX0sNjAyNjAxKGUpe2UuZXhwb3J0cz1bIntyZXNvbHV0aW9ufSBDSEcgJSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTU0NzIyKGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgbWludXRlcyIsIlJlZnJlc2ggZXZlcnkgezB9IG1pbnV0ZXMiXX0sNjMxNDQ3KGUpe2UuZXhwb3J0cz1bIlJlZnJlc2ggZXZlcnkgc2Vjb25kIiwiUmVmcmVzaCBldmVyeSB7MH0gc2Vjb25kcyJdfSwzMjM0ODUoZSl7ZS5leHBvcnRzPVsibW9udGgiLCJtb250aHMiXX0sMjQ1MjYyKGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sODI0MjE4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSw5ODM3NjQoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaXRlbSIsIntudW1iZXJ9IGl0ZW1zIl19LDcyMDg5MyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtb250aCIsIntudW1iZXJ9IG1vbnRocyJdfSw1NDA1NjUoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gbWF0Y2giLCJ7bnVtYmVyfSBtYXRjaGVzIl19LDcwNDk1OChlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSBtaW51dGUiLCJ7bnVtYmVyfSBtaW51dGVzIl19LDgzMjcxNyhlKXtlLmV4cG9ydHM9WyJ7bnVtYmVyfSB3ZWVrIiwie251bWJlcn0gd2Vla3MiXX0sNDQyNjY2KGUpe2UuZXhwb3J0cz1bInllYXIiLCJ5ZWFycyJdfSwyNTg2NjcoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyIjQUFQTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFwcGxlIEluYyJdLGUuZXhwb3J0c1siI0FNRVg6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaHdhYiBTaG9ydC1UZXJtIFUuUy4gVHJlYXN1cnkgRVRGIl0sZS5leHBvcnRzWyIjQU1FWDpTSFlHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hhcmVzIDAtNSBZRUFSIEhpZ2ggWWllbGQgQ29ycG9yYXRlIEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjQVNYOlhBRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggQWxsIEF1c3RyYWxpYW4gNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEFULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBU1g6WEpPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCAyMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNBVURDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhci9DYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sCmUuZXhwb3J0c1siI0FVREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQVVETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNBVURSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNBVURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkNCQTpJTVYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgTUVSVkFMIEluZGV4Il0sZS5leHBvcnRzWyIjQkNIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDYXNoIC8gRXVybyJdLGUuZXhwb3J0c1siI0JDSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQkVMRVg6QkVMRVgxNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTEVYIDE1IEluZGV4Il0sZS5leHBvcnRzWyIjQklTVDpYVTEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJJU1QgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjQklUTUVYOlhCVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI0JNRTpJQkMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQkVYIDM1IEluZGV4Il0sZS5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQk9WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQm92ZXNwYSBJbmRleCJdLGUuZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJSQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCcmFzaWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCWEwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNCTVY6Q1Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBTWDIwIFJUIl0sZS5leHBvcnRzWyIjQk1WOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNCTVY6TUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQk1WIElQQyBJbmRleCJdLGUuZXhwb3J0c1siI0JSTEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbGlhbiBSZWFsIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlNFOklUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklUSSBMdGQiXSxlLmV4cG9ydHNbIiNCU0U6U0VOU0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEJTRSBTZW5zZXggSW5kZXgiXSxlLmV4cG9ydHNbIiNCVENCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNCVENDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRDQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI0JUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBFdXJvIl0sZS5leHBvcnRzWyIjQlRDR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNCVENKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQlRDS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNCVENQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjQlRDUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFJ1c3NpYW4gUnVibGUiXSxlLmV4cG9ydHNbIiNCVENUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVGhhaSBCYWh0Il0sZS5leHBvcnRzWyIjQlRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjQlRHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBHb2xkIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNCVkw6U1BCTFBHUFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBCVkwgUGVydSBHZW5lcmFsIEluZGV4IChQRU4pIl0sZS5leHBvcnRzWyIjQlZTUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyYXppbCBCb3Zlc3BhIEluZGV4Il0sZS5leHBvcnRzWyIjQ0FESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjQ0FEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDQk9FOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNDQk9FOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI0NCT1Q6WkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlQtQm9uZCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29ybiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNZWFsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpOMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIxMCBZZWFyIFQtTm90ZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT2F0IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpRMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyIzMCBEYXkgRmVkZXJhbCBGdW5kcyBJbnRlcmVzdCBSYXRlIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UOlpSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSaWNlIEZ1dHVyZXMiXSwKZS5leHBvcnRzWyIjQ0JPVDpaUzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ0JPVDpaVzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV2hlYXQgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpYSzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU295YmVhbiBNaW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDQk9UX01JTkk6WFcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IE1pbmkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NCT1RfTUlOSTpZTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIERvdyBKb25lcyAoJDUpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDSEZKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI0NIRlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNDTUU6QlRDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENNRSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkNCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXR0ZXIgRnV0dXJlcy1DYXNoIChDb250aW51b3VzOiBDdXJyZW50IGNvbnRyYWN0IGluIGZyb250KSJdLGUuZXhwb3J0c1siI0NNRTpHRjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRmVlZGVyIENhdHRsZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FOkhFMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMZWFuIEhvZ3MgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRTpMRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl2ZSBDYXR0bGUgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NNRV9NSU5JOkU3MSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6RVMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpKNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEUtbWluaSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ01FX01JTkk6TlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5BU0RBUSAxMDAgRS1taW5pIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDTUVfTUlOSTpSVFkxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtTWluaSBSdXNzZWxsIDIwMDAgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFFUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWluaXVtIEV1cm9wZWFuIFByZW1pdW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkFVUDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWx1bWludW0gTVcgVS5TLiBUcmFuc2FjdGlvbiBQcmVtaXVtIFBsYXR0cyAoMjVNVCkgRnV0dXJlcyJdLGUuZXhwb3J0c1siI0NPTUVYOkdDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpIRzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWDpTSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgQ29wcGVyIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaWx2ZXIgKE1pbmkpIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNDT01FWF9NSU5JOlFPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIChNaW5pKSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjQ09QUEVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3BwZXIiXSxlLmV4cG9ydHNbIiNDT1JOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3JuIl0sZS5leHBvcnRzWyIjQ09UVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBDb3R0b24iXSxlLmV4cG9ydHNbIiNDUllQVE9DQVA6VE9UQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDcnlwdG8gVG90YWwgTWFya2V0IENhcCwgJCJdLGUuZXhwb3J0c1siI0RGTTpERk1HSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRGTSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21wb3NpdGUgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKQ0lBR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEFncmljdWx0dXJlIENhcHBlZCBDb21wb25lbnQiXSxlLmV4cG9ydHNbIiNESjpESkNJQ0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvY29hIl0sZS5leHBvcnRzWyIjREo6REpDSUVOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBFbmVyZ3kiXSxlLmV4cG9ydHNbIiNESjpESkNJR0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdvbGQiXSxlLmV4cG9ydHNbIiNESjpESkNJR1Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEdyYWlucyJdLGUuZXhwb3J0c1siI0RKOkRKQ0lJSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggTmlja2VsIl0sZS5leHBvcnRzWyIjREo6REpDSUtDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBDb2ZmZWUiXSxlLmV4cG9ydHNbIiNESjpESkNJU0Itc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFN1Z2FyIl0sZS5leHBvcnRzWyIjREo6REpDSVNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBTaWx2ZXIiXSxlLmV4cG9ydHNbIiNESjpESkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sCmUuZXhwb3J0c1siI0RKOkRKVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBUcmFuc3BvcnRhdGlvbiBBdmVyYWdlIEluZGV4Il0sZS5leHBvcnRzWyIjREo6REpVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIFV0aWxpdHkgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0RKOkRKVVNDTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVLlMuIENvYWwgSW5kZXgiXSxlLmV4cG9ydHNbIiNFR1g6RUdYMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFR1ggMzAgSW5kZXgiXSxlLmV4cG9ydHNbIiNFVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0VUQ0VVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVRIQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCaXRjb2luIl0sZS5leHBvcnRzWyIjRVRIRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBFdXJvIl0sZS5leHBvcnRzWyIjRVRIR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBCcml0aXNoIFBvdW5kIl0sZS5leHBvcnRzWyIjRVRISlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNFVEhLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNFVEhUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI0VUSFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVUJVTkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEJ1bmQiXSxlLmV4cG9ydHNbIiNFVVJBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQnJhemlsaWFuIFJlYWwiXSxlLmV4cG9ydHNbIiNFVVJDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gQ2FuYWRpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjRVVSQ0hGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFN3aXNzIEZyYW5jIl0sZS5leHBvcnRzWyIjRVVSR0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyaXRpc2ggUG91bmQiXSxlLmV4cG9ydHNbIiNFVVJKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjRVVSTk9LLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIE5vcndlZ2lhbiBLcm9uZSJdLGUuZXhwb3J0c1siI0VVUk5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpBRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBRVggSW5kZXgiXSxlLmV4cG9ydHNbIiNFVVJPTkVYVDpCRUwyMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJFTCAyMCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUk9ORVhUOlBYMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0VVUlJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjRVVSUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBSdXNzaWFuIFJ1YmxlIFRPTSJdLGUuZXhwb3J0c1siI0VVUlNFSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2VkaXNoIEtyb25hIl0sZS5leHBvcnRzWyIjRVVSVFJZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIFR1cmtpc2ggTGlyYSJdLGUuZXhwb3J0c1siI0VVUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0VVU1RYNTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjRk9SRVhDT006VVMyMDAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgU21hbGwgQ2FwIDIwMDAiXSxlLmV4cG9ydHNbIiNGUkE0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLGUuZXhwb3J0c1siI0ZSRUQ6R0RQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR3Jvc3MgRG9tZXN0aWMgUHJvZHVjdCwgMSBEZWNpbWFsIl0sZS5leHBvcnRzWyIjRlJFRDpQT1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUb3RhbCBQb3B1bGF0aW9uOiBBbGwgQWdlcyBJbmNsdWRpbmcgQXJtZWQgRm9yY2VzIE92ZXJzZWFzIl0sZS5leHBvcnRzWyIjRlJFRDpVTlJBVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaXZpbGlhbiBVbmVtcGxveW1lbnQgUmF0ZSJdLGUuZXhwb3J0c1siI0ZUU0VNWVg6RkJNS0xDSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLGUuZXhwb3J0c1siI0ZXQjpLVDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLZXkgVHJvbmljIENvctGALiJdLGUuZXhwb3J0c1siI0ZYOkFVUzIwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9BU1ggSW5kZXgiXSxlLmV4cG9ydHNbIiNGWDpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI0dCUEFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBBdXN0cmFsaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNHQlBDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gU3dpc3MgRnJhbmMiXSwKZS5leHBvcnRzWyIjR0JQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNHQlBKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gSmFwYW5lc2UgWWVuIl0sZS5leHBvcnRzWyIjR0JQTlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIE5ldyBaZWFsYW5kIERvbGxhciJdLGUuZXhwb3J0c1siI0dCUFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBQb2xpc2ggWmxvdHkiXSxlLmV4cG9ydHNbIiNHQlBSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUnVzc2lhbiBSdWJsZSJdLGUuZXhwb3J0c1siI0dCUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0dFUjMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sZS5leHBvcnRzWyIjR09PRy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBDIl0sZS5leHBvcnRzWyIjR09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLGUuZXhwb3J0c1siI0dQVzpBQ0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBY2F1dG9nYXoiXSxlLmV4cG9ydHNbIiNHUFc6V0lHMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXSUcyMCBJbmRleCJdLGUuZXhwb3J0c1siI0hTSTpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNJQ0VVUzpEWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXggRnV0dXJlcyJdLGUuZXhwb3J0c1siI0lEWDpDT01QT1NJVEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJRFggQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6SFNDRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhbmcgU2VuZyBDaGluYSBFbnRlcnByaXNlcyBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOkpLU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYWthcnRhIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lOREVYOktMU0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlCIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6TU9ZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTVEkgSW5kZXgiXSxlLmV4cG9ydHNbIiNJTkRFWDpUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sZS5leHBvcnRzWyIjSU5ERVg6WExZMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoYW5naGFpIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI0lPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklPVEEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI0pQTjIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI0pQWUtSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFNvdXRoIEtvcmVhbiBXb24iXSxlLmV4cG9ydHNbIiNKUFlSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjSlBZVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMS09ILXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTFVLT0lMIl0sZS5leHBvcnRzWyIjTFNFOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvbGl1bSBHcm91cCBQbGMgT3JkIDFQIl0sZS5leHBvcnRzWyIjTFRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGl0ZWNvaW4gLyBCcmF6aWxpYW4gUmVhbCJdLGUuZXhwb3J0c1siI0xUQ0JUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI0xUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNMVU5BVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVuYSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTU9FWDpCUjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJlbnQgT2lsIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOkdBWlAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHQVpQUk9NIl0sZS5leHBvcnRzWyIjTU9FWDpJTU9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sZS5leHBvcnRzWyIjTU9FWDpNR05ULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUFHTklUIl0sZS5leHBvcnRzWyIjTU9FWDpNSUNFWElOREVYQ0Ytc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNT0VYIFJ1c3NpYSBJbmRleCJdLGUuZXhwb3J0c1siI01PRVg6TVgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOk1YMiEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNSUNFWCBJbmRleCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTU9FWDpSSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUlRTIEluZGV4IEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNNT0VYOlJUU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNNT0VYOlJVQUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbml0ZWQgQ29tcGFueSBSVVNBTCBQTEMiXSxlLmV4cG9ydHNbIiNNT0VYOlNCRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTQkVSQkFOSyJdLGUuZXhwb3J0c1siI01PRVg6VlRCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZUQiJdLGUuZXhwb3J0c1siI01TRlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWNyb3NvZnQgQ29ycC4iXSwKZS5leHBvcnRzWyIjTkFTMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIENhc2ggQ0ZEIl0sZS5leHBvcnRzWyIjTkFTREFROkFNRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFkdmFuY2VkIE1pY3JvIERldmljZXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROkdPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLGUuZXhwb3J0c1siI05BU0RBUTpHT09HTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFscGhhYmV0IEluYyAoR29vZ2xlKSBDbGFzcyBBIl0sZS5leHBvcnRzWyIjTkFTREFROkhHWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggSG91c2luZyBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyA3LTEwIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxlLmV4cG9ydHNbIiNOQVNEQVE6SUVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAzLTcgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGVyaXMgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROkxDSUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMdWNpZCBHcm91cCwgSW5jLiJdLGUuZXhwb3J0c1siI05BU0RBUTpMRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxhbmRzJyBFbmQgSW5jIl0sZS5leHBvcnRzWyIjTkFTREFROk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hc2RhcSAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6T1NYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBPaWwgU2VydmljZSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6U0hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAxLTMgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLGUuZXhwb3J0c1siI05BU0RBUTpTT1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQaGlsYWRlbHBoaWEgU2VtaWNvbmR1Y3RvciBJbmRleCJdLGUuZXhwb3J0c1siI05BU0RBUTpUTFQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIDIwKyBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sZS5leHBvcnRzWyIjTkFTREFROlVUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggVXRpbGl0eSBTZWN0b3IgSW5kZXgiXSxlLmV4cG9ydHNbIiNOQVNEQVE6WEFVLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUEhMWCBHb2xkIGFuZCBTaWx2ZXIgU2VjdG9yIEluZGV4Il0sZS5leHBvcnRzWyIjTkFTREFROlpTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWnNjYWxlciBJbmMiXSxlLmV4cG9ydHNbIiNORU9VU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJORU8gLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI05HQVMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyAoSGVucnkgSHViKSJdLGUuZXhwb3J0c1siI05LWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLGUuZXhwb3J0c1siI05TRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYW4gVGVsZXBob25lIEluZHVzdHJpZXMgTGltaXRlZCJdLGUuZXhwb3J0c1siI05TRTpOSUZUWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5pZnR5IDUwIEluZGV4Il0sZS5leHBvcnRzWyIjTllNRVg6QUVaMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBFdGhhbm9sIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpDSjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ29jb2EgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkNMMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOkhPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWSBIYXJib3IgVUxTRCBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6S1QxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvZmZlZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllNRVg6TkcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5hdHVyYWwgR2FzIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQQTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGFsbGFkaXVtIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpQTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGxhdGludW0gRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYOlJCMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSQk9CIEdhc29saW5lIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWDpUVDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ290dG9uIEZ1dHVyZXMiXSxlLmV4cG9ydHNbIiNOWU1FWF9NSU5JOlFHMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLW1pbmkgTmF0dXJhbCBHYXMgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBMaWdodCBDcnVkZSBPaWwgRnV0dXJlcyJdLGUuZXhwb3J0c1siI05ZTUVYX01JTkk6UVUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBHYXNvbGluZSBGdXR1cmVzIl0sZS5leHBvcnRzWyIjTllTRTpCQUJBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxpYmFiYSBHcm91cCBIb2xkaW5ncyBMdGQuIl0sZS5leHBvcnRzWyIjTllTRTpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRk9SRCBNVFIgQ08gREVMIl0sZS5leHBvcnRzWyIjTllTRTpIRS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkhhd2FpaWFuIEVsZWN0cmljIEluZHVzdHJpZXMiXSxlLmV4cG9ydHNbIiNOWVNFOk5ZQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQ29tcG9zaXRlIEluZGV4Il0sZS5leHBvcnRzWyIjTllTRTpQQlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQRVRST0xFTyBCUkFTSUxFSVJPIFNBIFBFVFJPQlIiXSxlLmV4cG9ydHNbIiNOWVNFOlhBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFNRVggQ29tcG9zaXRlIEluZGV4Il0sCmUuZXhwb3J0c1siI05ZU0U6WE1JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBBUkNBIE1ham9yIE1hcmtldCBJbmRleCJdLGUuZXhwb3J0c1siI05aREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIEphcGFuZXNlIFllbiJdLGUuZXhwb3J0c1siI05aRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIERvbGxhciAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjTlpYOkFMTEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvTlpYIEFsbCBJbmRleCAoQ2FwaXRhbCBJbmRleCkiXSxlLmV4cG9ydHNbIiNOWlg6Tlo1MEctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgLyBOWlggNTAgSW5kZXggR3Jvc3MiXSxlLmV4cG9ydHNbIiNPQU5EQTpOQVRHQVNVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIE5hdHVyYWwgR2FzIl0sZS5leHBvcnRzWyIjT0FOREE6U1BYNTAwVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI09BTkRBOlhDVVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIChVUyQgLyBsYikiXSxlLmV4cG9ydHNbIiNPTVhDT1A6T01YQzI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIENvcGVuaGFnZW4gMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhDT1A6U0NITy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNjaG91dyAmIENvIEEvUyJdLGUuZXhwb3J0c1siI09NWEhFWDpPTVhIMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggSGVsc2lua2kgMjUgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhSU0U6T01YUkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFJpZ2EgR3Jvc3MgSW5kZXgiXSxlLmV4cG9ydHNbIiNPTVhTVE86T01YUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFN0b2NraG9sbSAzMCBJbmRleCJdLGUuZXhwb3J0c1siI09NWFRTRTpPTVhUR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVGFsbGlubiBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09NWFZTRTpPTVhWR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPTVggVmlsbml1cyBHcm9zcyBJbmRleCJdLGUuZXhwb3J0c1siI09UQzpJSFJNRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgTVNDSSBKYXBhbiBTSFMiXSxlLmV4cG9ydHNbIiNRU0U6R05SSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlFFIEluZGV4Il0sZS5leHBvcnRzWyIjUlRTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2lhbiBSVFMgSW5kZXgiXSxlLmV4cG9ydHNbIiNSVVNTRUxMOlJVQS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMzAwMCBJbmRleCJdLGUuZXhwb3J0c1siI1JVU1NFTEw6UlVJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAxMDAwIEluZGV4Il0sZS5leHBvcnRzWyIjUlVTU0VMTDpSVVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDIwMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTRVQ6R0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHbG9iYWwgQ29ubmVjdGlvbnMgUHVibGljIENvbXBhbnkiXSxlLmV4cG9ydHNbIiNTSVg6Ri1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZvcmQgTW90b3IgQ29tcGFueSJdLGUuZXhwb3J0c1siI1NJWDpTTUktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBNYXJrZXQgSW5kZXgiXSxlLmV4cG9ydHNbIiNTT0xVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb2xhbmEgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1NPWUJOVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBTb3liZWFucyJdLGUuZXhwb3J0c1siI1NQOk9FWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUEdTQ0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgR29sZG1hbiBTYWNocyBDb21tb2RpdHkgSW5kZXgiXSxlLmV4cG9ydHNbIiNTUDpTUFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sZS5leHBvcnRzWyIjU1A6U1ZYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBWYWx1ZSBJbmRleCJdLGUuZXhwb3J0c1siI1NQWDUwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNTVUdBUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU3VnYXIiXSxlLmV4cG9ydHNbIiNTWlNFOjM5OTAwMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNoZW56aGVuIENvbXBvbmVudCBJbmRleCJdLGUuZXhwb3J0c1siI1RBREFXVUw6MjM3MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pZGRsZSBFYXN0IFNwZWNpYWxpemVkIENhYmxlcyBDby4iXSxlLmV4cG9ydHNbIiNUQURBV1VMOlRBU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWRhd3VsIEFsbCBTaGFyZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUQVNFOlRBMzUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUQS0zNSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUU1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RTWDpUWDYwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL1RTWCA2MCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpBVTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6QVUxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpBWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpCWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNBMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLAplLmV4cG9ydHNbIiNUVkM6Q0ExMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkNBQzQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkNOMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDaGluYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkNOMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpDWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REUxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkRFMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2VybWFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6REVVMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6REpJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpEWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpFUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3BhaW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpFUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sZS5leHBvcnRzWyIjVFZDOkVYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6RlIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOkZSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRnJhbmNlIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6RlRNSUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNaWxhbm8gSXRhbGlhIEJvcnNhIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOkdCMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVLIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6R0IxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkdPTEQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEdvbGQgKFVTJCAvIE9aKSJdLGUuZXhwb3J0c1siI1RWQzpIU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SUJFWDM1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpJRDAzLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMyBZUiJdLGUuZXhwb3J0c1siI1RWQzpJRDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SUQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRvbmVzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpJTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpJTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkl0YWx5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SVQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOklYSUMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBDb21wb3NpdGUgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6SlAxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOkpYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBDdXJyZW5jeSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLT1NQSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIENvbXBvc2l0ZSBTdG9jayBQcmljZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpLUjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpLUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktvcmVhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TVkxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNYWxheXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOk5EWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOSTIyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIDIyNSBJbmRleCJdLAplLmV4cG9ydHNbIiNUVkM6TkwxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOk5MMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV0aGVybGFuZHMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpOWUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOWVNFIENvbXBvc2l0ZSBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpOWjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcywgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6TloxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBBTExBRElVTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UEwwNVktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb2xhbmQgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlBMMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6UExBVElOVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBsYXRpbnVtIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvcnR1Z2FsIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxlLmV4cG9ydHNbIiNUVkM6UFQxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlNBNDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3V0aCBBZnJpY2EgVG9wIDQwIEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNJTFZFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU2lsdmVyIChVUyQgLyBPWikiXSxlLmV4cG9ydHNbIiNUVkM6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLGUuZXhwb3J0c1siI1RWQzpTU01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sZS5leHBvcnRzWyIjVFZDOlNUSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN0cmFpdHMgVGltZXMgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1g1RS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gU3RveHggNTAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6U1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgQ3VycmVuY3kgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VFIxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlRSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHVya2V5IEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxlLmV4cG9ydHNbIiNUVkM6VUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIEJyZW50IENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpVS1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyAxMDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6VVMwMi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiJdLGUuZXhwb3J0c1siI1RWQzpVUzAyWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMiBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzA1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyA1IFlSIFlpZWxkIl0sZS5leHBvcnRzWyIjVFZDOlVTMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sZS5leHBvcnRzWyIjVFZDOlVTMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLGUuZXhwb3J0c1siI1RWQzpVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAzMCBZUiJdLGUuZXhwb3J0c1siI1RWQzpVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gV1RJIENydWRlIE9pbCJdLGUuZXhwb3J0c1siI1RWQzpWSVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJWb2xhdGlsaXR5IFMmUCA1MDAgSW5kZXgiXSxlLmV4cG9ydHNbIiNUVkM6WlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sZS5leHBvcnRzWyIjVFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLGUuZXhwb3J0c1siI1RXU0U6VEFJRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUYWl3YW4gQ2FwaXRhbGl6YXRpb24gV2VpZ2h0ZWQgU3RvY2sgSW5kZXgiXSxlLmV4cG9ydHNbIiNUV1RSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVHdpdHRlciBJbmMiXSxlLmV4cG9ydHNbIiNVSzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZUU0UgMTAwIEluZGV4Il0sZS5leHBvcnRzWyIjVUtPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoQnJlbnQpIl0sZS5leHBvcnRzWyIjVU5JVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVW5pc3dhcCAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxlLmV4cG9ydHNbIiNVU0RBVUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sZS5leHBvcnRzWyIjVVNEQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBCcmF6aWxpYW4gUmVhbCJdLAplLmV4cG9ydHNbIiNVU0RDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENhbmFkaWFuIERvbGxhciJdLGUuZXhwb3J0c1siI1VTRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxlLmV4cG9ydHNbIiNVU0RDTlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIENoaW5lc2UgWXVhbiJdLGUuZXhwb3J0c1siI1VTRERLSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRGFuaXNoIEtyb25lIl0sZS5leHBvcnRzWyIjVVNERVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBFdXJvIl0sZS5leHBvcnRzWyIjVVNER0JQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQb3VuZCBTdGVybGluZyJdLGUuZXhwb3J0c1siI1VTREhLRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSG9uZyBLb25nIERvbGxhciJdLGUuZXhwb3J0c1siI1VTREhVRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSHVuZ2FyaWFuIEZvcmludCJdLGUuZXhwb3J0c1siI1VTRElEUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVwaWFoIl0sZS5leHBvcnRzWyIjVVNESUxTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBJc3JhZWxpIFNoZWtlbCJdLGUuZXhwb3J0c1siI1VTRElOUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSW5kaWFuIFJ1cGVlIl0sZS5leHBvcnRzWyIjVVNESlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxlLmV4cG9ydHNbIiNVU0RLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNvdXRoIEtvcmVhbiJdLGUuZXhwb3J0c1siI1VTRE1YTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTWV4aWNhbiBQZXNvIl0sZS5leHBvcnRzWyIjVVNETlpELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RQSFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBoaWxpcHBpbmUgcGVzbyJdLGUuZXhwb3J0c1siI1VTRFBMTi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG9saXNoIFpsb3R5Il0sZS5leHBvcnRzWyIjVVNEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sZS5leHBvcnRzWyIjVVNEUlVCX1RPTS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxlLmV4cG9ydHNbIiNVU0RTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3ZWRpc2ggS3JvbmEiXSxlLmV4cG9ydHNbIiNVU0RTR0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFNpbmdhcG9yZSBEb2xsYXIiXSxlLmV4cG9ydHNbIiNVU0RUSEItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFRoYWkgQmFodCJdLGUuZXhwb3J0c1siI1VTRFRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gVHVya2lzaCBMaXJhIl0sZS5leHBvcnRzWyIjVVNEWkFSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBBZnJpY2FuIFJhbmQiXSxlLmV4cG9ydHNbIiNVU09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChXVEkpIl0sZS5leHBvcnRzWyIjV0hFQVRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdoZWF0Il0sZS5leHBvcnRzWyIjWEFHVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIC8gVS5TLiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYQVVVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHb2xkIFNwb3QgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1hCVENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDYW5hZGlhbiBEb2xsYXIiXSxlLmV4cG9ydHNbIiNYRVRSOkRBWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLGUuZXhwb3J0c1siI1hNUlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1vbmVybyAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFBEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQYWxsYWRpdW0iXSxlLmV4cG9ydHNbIiNYUFRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQbGF0aW51bSAvIFUuUy4gRG9sbGFyIl0sZS5leHBvcnRzWyIjWFJQQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gQml0Y29pbiJdLGUuZXhwb3J0c1siI1hSUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIEV1cm8iXSxlLmV4cG9ydHNbIiNYUlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBVLlMuIERvbGxhciJdLGUuZXhwb3J0c1siI1pFQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpjYXNoIC8gVS5TLiBEb2xsYXIiXX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/52.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.642Z","timestamp":1785136428642,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/52.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2330\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:17 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:14:21 GMT\r\ncache-control: max-age=86400\r\netag: \"39edd8e5c80256300562f68afb1ab525\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 17968\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ypfE-fEjFPElqy8EwYUxQqpZs0VQZmBE2yDVzcs3oyHxq1PlGg63Iw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2330,"size_decoded":2856,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"39edd8e5c80256300562f68afb1ab525","sha1":"506e80486e2b9e90f7344334cd95e93ac8fa0338","sha256":"cf4c3c2ec18de3d4dcd49151ffe00cb299f86fc98467cf806b9c447467935479","sha512":"029abf77a53608d0e0a92ca7764bbed17cf0960e540fee5f8eb0a9cb1bbbb490e730ec22e8dc186b07b784cd87410f5667207c22478773346d725579673e5e2c","ssdeep":"","tlshash":"a3410ad884a0624d2924177332a3193dfc6d3f949a066dffc81d563c84a1e8271b5d64","first_seen":"2023-05-04T14:58:57Z","last_seen":"2026-08-11T04:47:30.136391Z","times_seen":17758,"resource_available":false,"data":"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"}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.22510.c6272459a17c5398fd7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.539Z","timestamp":1785136429539,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.22510.c6272459a17c5398fd7b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-dd\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 541cfdcd4690afa2a1f157edc3f8b5e9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":221,"size_decoded":957,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6c6c88b45a73669efaf42c1d23109bd6","sha1":"436efe5bac23cb6e61761f6ca2f625eb2bd05c43","sha256":"24f8d2b3db85b1adf9680eac2aecc1bdae2d614e4af27d8f1c977a97af861c18","sha512":"a1cae379741ea70a2f6d31f79de4a9ac3b5ef084207b06a5a6238b4dc5c8a38fe401c62c5b95f25478d60ed7a24806226720d381990de06e495774959d3cbe35","ssdeep":"","tlshash":"d0d01223f025e8e57a7a895473509ef07cb4a58411f2d4d373b48b18611692415b4e7c","first_seen":"2026-05-05T12:17:23.617466Z","last_seen":"2026-08-11T04:43:23.140185Z","times_seen":507,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMjUxMF0sezQ5OTM5MihlKXtlLmV4cG9ydHM9WyJBIl19LDQyMDE4NihlKXtlLmV4cG9ydHM9WyJMIl19LDM3MjcxOShlKXtlLmV4cG9ydHM9WyJUb2dnbGUgYXV0byBzY2FsZSJdfSwyMDY0NTEoZSl7ZS5leHBvcnRzPVsiVG9nZ2xlIGxvZyBzY2FsZSJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.816Z","timestamp":1785136429816,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/32176.7c57c98933b8cfd3f8e7.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 47\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-2f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9bbe11306b963cf82153d5232b587569\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s2.coinmarketcap.com/static/img/coins/64x64/328.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.653Z","timestamp":1785136428653,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/328.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2396\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:34:20 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:33:28 GMT\r\ncache-control: max-age=86400\r\netag: \"940a2a3c47a31e6b927db48b93f606d8\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 13221\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: qmTpkLUvoKd6dTUqey2ptQAR8eOUBzJmxkCn43tw8lH2EiD3xr0RaQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2396,"size_decoded":2922,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"940a2a3c47a31e6b927db48b93f606d8","sha1":"ae6baf0aa2414befc57305ef288e49604695b1c4","sha256":"aeb35390525c9a2ff55b35bceabd869925940837d658ac837fd1603db2c1455f","sha512":"d3323594bb4300b34c24a498000eccceee9fd9b827ea35f5de5be4751342710ca6c60278239fd94c1729be27832e93b16fba61a8325edca7b218a76b3f094aad","ssdeep":"","tlshash":"99411ae2a4072c7ed205972d014c4bb99f60d922a111674d1e7026984e383f2adf84bf","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-11T04:47:30.101769Z","times_seen":1695,"resource_available":false,"data":"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"}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.49677.098688b37f7855b4c79b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.148Z","timestamp":1785136429148,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.49677.098688b37f7855b4c79b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632876-32e7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:18 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 405106d5f85f5b6fb20442843e9d1c1f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":13031,"size_decoded":5445,"mime_type":"application/javascript; charset=utf-8","magic":"Unicode text, UTF-8 text, with very long lines (3051)","md5":"0f6776037f5de9e4c3f9207486f0f7b2","sha1":"783fbc6385122ea3c305de021a71b08abbb0fe13","sha256":"dce110ca579172bc1139100317015723ce296c628363106c1f5f2f4567c0ee5b","sha512":"cd35bafd0f45ba936b47aafdca6062140e335ebd2f5af9fe5de62b033302b464c56fadcd87e9ecef463689aaece2f2c72b8da59c89c1700df22b99c4bd4721fe","ssdeep":"192:gYx48+UxlRhelpk8aH7usVSBzl97rUv1sSM5jyHw8BedM3Mj45shOAlJH2Ew+41q:7+UXRheQl5Kzl98tm5jdhj45kJHlzN","tlshash":"4a42e917d100c2f60fb0e662b749edd1b6f8b09893f1e0c673998f689207d65a92d778","first_seen":"2026-07-22T16:00:00.332154Z","last_seen":"2026-07-28T06:17:53.586668Z","times_seen":141,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNzI5Miw0MjA5Niw0OTUwMSw0OTY3Nyw5NDk0N10sezIyOTAyNShlKXtlLmV4cG9ydHM9WyJDYm9lIE9uZSJdfSwzMDAyNzEoZSl7ZS5leHBvcnRzPVsie2V4Y2hhbmdlfSBieSB7b3JpZ2luYWxFeGNoYW5nZX0iXX0sMTY3OTEyKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIGRpc2NsYWltZXIiXX0sMjQ0MTAoZSl7ZS5leHBvcnRzPVsiSGFwcHkgaG9saWRheXMsIHRyYWRlcnMiXX0sOTgxODcyKGUpe2UuZXhwb3J0cz1bIkxldCBpdCBzbm93Il19LDQ4OTIwMChlKXtlLmV4cG9ydHM9WyJTdG9wIHRoZSBzbm93Il19LDMwNTA1NShlKXtlLmV4cG9ydHM9WyJTaG93IG9iamVjdCB0cmVlIl19LDEwOTYwMShlKXtlLmV4cG9ydHM9WyJMZWFybiBtb3JlIl19LDEzODE4MChlKXtlLmV4cG9ydHM9WyJTZWUgcmV2aWV3cyJdfSw4OTQyMjEoZSl7ZS5leHBvcnRzPVsiQ29udGludW91cyBmdXR1cmVzIGNvbnRyYWN0cyJdfSwyNzE3ODgoZSl7ZS5leHBvcnRzPVsiQ29udHJhY3QgZXhwaXJlZCJdfSw1MjYxNzQoZSl7ZS5leHBvcnRzPVsiQmxhbmsgY2hlY2sgY29tcGFueSJdfSwzMzM4ODQoZSl7ZS5leHBvcnRzPVsiRGVmYXVsdGVkIGJvbmQiXX0sNTY4NTUxKGUpe2UuZXhwb3J0cz1bIkRlbGlzdGVkIl19LDc1NjgwNihlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCBhbGVydCJdfSwxNjM4MDYoZSl7ZS5leHBvcnRzPVsiRGVyaXZlZCBEYXRhIl19LDQxNzkxKGUpe2UuZXhwb3J0cz1bIkhhbGFsIHN5bWJvbCJdfSw4MzYxMjMoZSl7ZS5leHBvcnRzPVsiU3ludGhldGljIHN5bWJvbCJdfSwxMTk1KGUpe2UuZXhwb3J0cz1bIlVwY29taW5nIElQTyJdfSwyMzIxNDkoZSl7ZS5leHBvcnRzPVsiUmVhbC10aW1lIGRhdGEgZm9yIHtzeW1ib2xOYW1lfSJdfSw0MDkwMTkoZSl7ZS5leHBvcnRzPVsiaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sOTAwNDI1KGUpe2UuZXhwb3J0cz1bIkdvIHRoZXJlIG5vdyJdfSwyOTQ2MTgoZSl7ZS5leHBvcnRzPVsiT3BlbmVkIGluIFBpbmUgRWRpdG9yIl19LDc3NDI4KGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBib3R0b20gcGFuZWwiXX0sOTkyNjM2KGUpe2UuZXhwb3J0cz1bIkxlYXJuIG1vcmUiXX0sNDczNDI1KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgZGVsYXllZCJdfSw0MzU3NTAoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHNlbGVjdGVkIHN5bWJvbHM/Il19LDgyNjg3MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgYWxsIHN5bWJvbHM/Il19LDQxNzE5MShlKXtlLmV4cG9ydHM9WyJVbmZsYWcgc2VsZWN0ZWQgc3ltYm9scz8iXX0sMzA5MzMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDEwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sODM1OTM3KGUpe2UuZXhwb3J0cz1bIlVuZmxhZyJdfSwzNzE4MTUoZSl7ZS5leHBvcnRzPVsiT3BlbiBTdHJhdGVneSBSZXBvcnQiXX0sNjUxNjM4KGUpe2UuZXhwb3J0cz1bIk5ldyB3YXRjaGxpc3QgbmFtZSJdfSw4MTkxNjMoZSl7ZS5leHBvcnRzPVsiSW4gZnVuY3Rpb24iXX0sODg2MTMzKGUpe2UuZXhwb3J0cz1bIk9uIGJhciJdfSw4OTAwOShlKXtlLmV4cG9ydHM9WyJDb2xsYXBzZSBwYW5lIl19LDI3MjA3NChlKXtlLmV4cG9ydHM9WyJDb25uZWN0IHRvIG91ciByZWNvbW1lbmRlZCBicm9rZXIgdG8gdHJhZGUgdGhpcyBhbmQgb3RoZXIgc3ltYm9scy4iXX0sNDQxNzYwKGUpe2UuZXhwb3J0cz1bIkNvbm5lY3QgdG8gb3VyIHJlY29tbWVuZGVkIGV4Y2hhbmdlIHRvIHRyYWRlIHRoaXMgYW5kIG90aGVyIHN5bWJvbHMuIl19LDI2NjUoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHN5bWJvbCJdfSw0MjEyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIl19LDU3MzM0NyhlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggZHJvcCBpY29uIl19LDYxNTIyMShlKXtlLmV4cG9ydHM9WyJDaGFydCBzeW5jaW5nIHdpdGggaGVhcnQgaWNvbiJdfSw3NjA1KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBsZWFmIGljb24iXX0sOTIzOTA5KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHN5bmNpbmcgd2l0aCBwb28gaWNvbiJdfSw0NzkwNzgoZSl7ZS5leHBvcnRzPVsiQ2hhcnQgc3luY2luZyB3aXRoIHJob21iIGljb24iXX0sMjg4NTgwKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHZhbHVlcyJdfSwxODMxMzIoZSl7ZS5leHBvcnRzPVsiQ2hlY2sgd2hhdCdzIG5ldyJdfSwzNDk1MDEoZSl7ZS5leHBvcnRzPVsiQ2xpY2sgaGVyZSB0byBsZWFybiBtb3JlIl19LDI5OTkyNihlKXtlLmV4cG9ydHM9WyJDcmVhdGUgYSBmcmVlIGFjY291bnQiXX0sMTQ2ODQoZSl7ZS5leHBvcnRzPVsiQ3lhbiJdfSw4MzkzOTAoZSl7ZS5leHBvcnRzPVsiQ3lhbiBsaXN0Il19LDUzMzc5OShlKXtlLmV4cG9ydHM9WyJBIG5ldyB2ZXJzaW9uIG9mIHRoaXMgc2NyaXB0IGlzIHJlYWR5IOKAlCBub3cgd2l0aCBuZXcgZmVhdHVyZXMgYW5kIGltcG9ydGFudCBidWcgZml4ZXMuIl19LDc1ODU0OShlKXtlLmV4cG9ydHM9WyJBY3RpdmUgc3RyYXRlZ3kiXX0sMjQ1ODcwKGUpe2UuZXhwb3J0cz1bIkFsZXJ0cyJdfSw4OTk3OShlKXtlLmV4cG9ydHM9WyJCYXIgY2hhbmdlIHZhbHVlcyJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSw2ODI2NjkoZSl7ZS5leHBvcnRzPVsiR3JlZW4iXX0sNDU5NDAyKGUpe2UuZXhwb3J0cz1bIkdyZWVuIGxpc3QiXX0sMTQ4ODY1KGUpe2UuZXhwb3J0cz1bIkRvdWJsZSBjbGljayJdfSw5NTg5NTEoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBhbGwgc3ltYm9scyBmcm9tIGFsbCB5b3VyIHdhdGNobGlzdHMuIl19LDQ5NTM2OShlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgdW5mbGFnIHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sMjI4MDQxKGUpe2UuZXhwb3J0cz1bIkRhdGEgZXJyb3IiXX0sMTg3MjcyKGUpewplLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBhIGRheS4iXX0sMjI3MDg4KGUpe2UuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGEgZGF5LiBUbyBnZXQgcmVhbC10aW1lIGRhdGEgZm9yIHtsaXN0ZWRFeGNoYW5nZX0sIHBsZWFzZSBidXkgdGhlIHJlYWwtdGltZSBkYXRhIHBhY2thZ2UuIl19LDIzMzkxMihlKXtlLmV4cG9ydHM9WyJEYXRhIGlzIHVwZGF0ZWQgb25jZSBwZXIgc2Vjb25kLCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHVwZGF0ZXMgb24gdGhlIG1hcmtldC4iXX0sODk1MzAwKGUpe2UuZXhwb3J0cz1bIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIHBlciBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSw4MzE5ODgoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIHBhbmUiXX0sNzk3NDYwKGUpe2UuZXhwb3J0cz1bIkVuZCBvZiBkYXkgZGF0YSJdfSw4NDA4MyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSB0aW1lem9uZSJdfSw4NjM4NzcoZSl7ZS5leHBvcnRzPVsiRmlsbCBvdXQgRXhjaGFuZ2UgQWdyZWVtZW50cyJdfSwzMDgzOShlKXtlLmV4cG9ydHM9WyJGbGFnIHtzeW1ib2x9Il19LDcwNjQ4NihlKXtlLmV4cG9ydHM9WyJGbGFnIHN5bWJvbCJdfSw0MDQ1NDQoZSl7ZS5leHBvcnRzPVsiRnJvbSBvdXIgZmFtaWx5IHRvIHlvdXJzLCB3aXNoaW5nIHlvdSBhIG1lcnJ5IGZlc3RpdmUgc2Vhc29uLiJdfSw0NTc3NTAoZSl7ZS5leHBvcnRzPVsiSEtFWCBhbmQvb3IgYW55IHN1YnNpZGlhcmllcyBlbmRlYXZvdXIgdG8gZW5zdXJlIHRoZSBhY2N1cmFjeSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ1dCBkbyBub3QgZ3VhcmFudGVlIGl0cyBhY2N1cmFjeSBvciByZWxpYWJpbGl0eSBhbmQgYWNjZXB0IG5vIGxpYWJpbGl0eSAod2hldGhlciBpbiB0b3J0IG9yIGNvbnRyYWN0IG9yIG90aGVyd2lzZSkgZm9yIGFueSBsb3NzIG9yIGRhbWFnZSBhcmlzaW5nIGZyb20gYW55IGluYWNjdXJhY2llcyBvciBvbWlzc2lvbnMuIl19LDczMjc3NihlKXtlLmV4cG9ydHM9WyJJbnZhbGlkIHN5bWJvbCJdfSw5MTkxMjEoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIGVycm9yIl19LDIwNDQ4OChlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgaW5wdXRzIl19LDQ0MzE5MihlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdGl0bGVzIl19LDk3Mzk3MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3IgdmFsdWVzIl19LDI0MzU0MShlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIHVwZGF0ZSJdfSwxNjUwNTIoZSl7ZS5leHBvcnRzPVsiSWYgeW91J2QgbGlrZSB7bGlzdGVkRXhjaGFuZ2V9IHJlYWwtdGltZSBkYXRhIHlvdSdsbCBuZWVkIHRvIGNvbXBsZXRlIGFuIEV4Y2hhbmdlIEFncmVlbWVudC4gRG9uJ3Qgd29ycnksIGl0IG9ubHkgdGFrZXMgYSBmZXcgY2xpY2tzIl19LDg0MTc5OShlKXtlLmV4cG9ydHM9WyJJc3N1ZSBXaXRoIEZsYWdnaW5nIl19LDMzMDc2MChlKXtlLmV4cG9ydHM9WyJPbmUgdXBkYXRlIHBlciBzZWNvbmQiXX0sMzYyOTYoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBDbGljayB0aGUgYXJyb3cgYnV0dG9uIHRvIHRoZSBsZWZ0IHRvIGV4cGFuZCB0aGUgaW5kaWNhdG9yIGxpc3QgYW5kIHNlZSBkZXRhaWxzLiJdfSw4Nzk2NjEoZSl7ZS5leHBvcnRzPVsiT29wcy4gU29tZXRoaW5nIGhhcyBnb25lIHdyb25nIHdpdGggb25lIG9yIG1vcmUgb2YgeW91ciBpbmRpY2F0b3JzLiBSZXNpemUgdGhlIHBhbmVzIHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sMTQyNzU1KGUpe2UuZXhwb3J0cz1bIk9ibGlnYXRpb24gbm90IHBhaWQuIElzc3VlciBwYXltZW50cyBhcmUgb3ZlciBhIG1vbnRoIGxhdGUsIHRoaXMgaXMgZHVlIHRvIGNvdXBvbiBvciBwcmluY2lwYWwgZGVidC4iXX0sNjQxMTA5KGUpe2UuZXhwb3J0cz1bIk9wZW4gaW4gZWRpdG9yIl19LDE2NTM0MChlKXtlLmV4cG9ydHM9WyJPcGVuIG1hcmtldCBzdGF0dXMiXX0sOTU4MjcxKGUpe2UuZXhwb3J0cz1bIk9wZW5lZCBpbiBkZXRhY2hlZCBlZGl0b3IiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sNjE1NzgzKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1MjcwMjAoZSl7ZS5leHBvcnRzPVsiTGFzdCBkYXkgY2hhbmdlIHZhbHVlcyJdfSwzMjUxNTUoZSl7ZS5leHBvcnRzPVsiTGVhcm4gbW9yZSJdfSw4MTQwNTgoZSl7ZS5leHBvcnRzPVsiTW92ZSBwYW5lIGRvd24iXX0sMzA1ODgyKGUpe2UuZXhwb3J0cz1bIk1vdmUgcGFuZSB1cCJdfSwzOTQ5NDcoZSl7ZS5leHBvcnRzPVsiTW9yZSJdfSw1NTEzMzIoZSl7ZS5leHBvcnRzPVsiTWF4aW1pemUgY2hhcnQiXX0sNTUwNTU5KGUpe2UuZXhwb3J0cz1bIk1heGltaXplIHBhbmUiXX0sMTU5NDQzKGUpe2UuZXhwb3J0cz1bIk1hbmFnZSBwYW5lcyJdfSw5Njk0NDkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODI5ODMoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSwxOTQzMDQoZSl7ZS5leHBvcnRzPVsiU2NyaXB0IHdpbGwgYmUgdXBkYXRlZCBmb3IgYWxsIGNoYXJ0cyBvZiB0aGlzIGxheW91dCJdfSwyNDE3MjIoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSBsZWZ0Il19LDY2MDgxMChlKXtlLmV4cG9ydHM9WyJTY3JvbGwgdG8gdGhlIG1vc3QgcmVjZW50IGJhciJdfSw3MDgyMzMoZSl7ZS5leHBvcnRzPVsiU2Nyb2xsIHRvIHRoZSByaWdodCJdfSw1MDY5MTUoZSl7ZS5leHBvcnRzPVsiU2V0IHtjb2xvcn0gZmxhZyJdfSw5MzMxODQoZSl7ZS5leHBvcnRzPVsiU2VlIG1vcmUiXX0sNDM1MChlKXtlLmV4cG9ydHM9WyJTZWxlY3QgeW91ciBzdGFydCBwb2ludCJdfSw4ODI4MzkoZSl7ZS5leHBvcnRzPVsiU2VsZWN0IHlvdXIgc3RhcnQgcG9pbnQuIl19LDg5NzMwOShlKXtlLmV4cG9ydHM9WyJTaG93Il19LDI4ODI0NChlKXsKZS5leHBvcnRzPVsiU2hvdyBpbnRlcnZhbCBzZXR0aW5ncyJdfSwzMzM0MDcoZSl7ZS5leHBvcnRzPVsiU3R1ZHkgRXJyb3IiXX0sNDY5ODQxKGUpe2UuZXhwb3J0cz1bIlN0YWNrIHRyYWNlIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sOTYxNjE0KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBncm91cCJdfSwyODg3MjUoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHByaWNlIHNvdXJjZSJdfSw2ODc2MShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgdGl0bGUiXX0sNTQ2MzY5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbC9pbnRlcnZhbCBjaGFydCBzeW5jaW5nIl19LDk3Nzc3NihlKXtlLmV4cG9ydHM9WyJTeW50aGV0aWMgaW5zdHJ1bWVudHMgY29tYmluaW5nIGluZGl2aWR1YWwgY29udHJhY3RzLiBUaGUgMSEgY29udHJhY3QgcmVwcmVzZW50cyB0aGUgZnJvbnQtbW9udGggKG5lYXJlc3QgZXhwaXJhdGlvbikgd2hpbGUgdGhlIDIhIHJlcHJlc2VudHMgdGhlIHNlY29uZCBuZWFyZXN0IGV4cGlyYXRpb24uIl19LDE0ODkwKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDExNDQ0KGUpe2UuZXhwb3J0cz1bIlBhaWQgcGxhbnMgZmVhdHVyZSBmYXN0ZXIgZGF0YSB1cGRhdGVzLiJdfSw0ODcyMDAoZSl7ZS5leHBvcnRzPVsiUGluZSBjb2RlIGhhcyBnaG9zdGVkIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNDI4ODA5KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjcwOTIzKGUpe2UuZXhwb3J0cz1bIlB1cnBsZSJdfSw5MDc4NzQoZSl7ZS5leHBvcnRzPVsiUHVycGxlIGxpc3QiXX0sOTE1MTAwKGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB0aGlzIHN5bWJvbCBpcyBub3Qgc3VwcG9ydGVkIHJpZ2h0IG5vdy4gV2UgbWF5IHN1cHBvcnQgaXQgaW4gdGhlIGZ1dHVyZS4iXX0sOTYxOTI2KGUpe2UuZXhwb3J0cz1bIlJlYWwtdGltZSBkYXRhIGZvciB7c3ltYm9sTmFtZX0gaXMgcHJvdmlkZWQgYnkge2V4Y2hhbmdlfSBleGNoYW5nZS4iXX0sNjU1MDQyKGUpe2UuZXhwb3J0cz1bIlJlZCJdfSwxNjU1MDEoZSl7ZS5leHBvcnRzPVsiUmVkIGxpc3QiXX0sNTA4NzQ5KGUpe2UuZXhwb3J0cz1bIlJlcG9ydCBpdCJdfSwyODE0NTMoZSl7ZS5leHBvcnRzPVsiUmVwbGF5IG1vZGUiXX0sNjcxODA5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgY2hhcnQiXX0sMjYwNTQ5KGUpe2UuZXhwb3J0cz1bIlJlc3RvcmUgcGFuZSJdfSw1NjY5NDgoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGNhbm5vdCB0YWtlIGFueW1vcmUsIENhcCduIl19LDM4MjAyNShlKXtlLmV4cG9ydHM9WyJXYXRjaGxpc3QgZXJyb3IiXX0sNjQ1MjYzKGUpe2UuZXhwb3J0cz1bIldlIHRyaWVkIHRvIGdyYWIgdGhlIHNvdXJjZSBjb2RlLCBidXQgaXQgd2Fzbid0IHRoZXJlLiBNYXliZSBpdCdzIGJlZW4gbW92ZWQsIGRlbGV0ZWQsIG9yIGlzIGp1c3QgaGlkaW5nLiBHaXZlIGl0IGFub3RoZXIgZ28gbGF0ZXIhIl19LDMyODgyOChlKXtlLmV4cG9ydHM9WyJXaG9hIHRoZXJlLCB5b3UgY2FuJ3QgZ28gYWRkaW5nIG92ZXIge251bWJlcn0gc3ltYm9scyBhbmQgc2VwYXJhdG9ycyB0byBhIHdhdGNobGlzdCDigJMgd2UncmUgZW5naW5lZXJzIG5vdCBtaXJhY2xlIHdvcmtlcnMuIl19LDY4Nzk1NChlKXtlLmV4cG9ydHM9WyJUbyBhY2Nlc3Mgb3Zlcm5pZ2h0IHRyYWRpbmcgcXVvdGVzIGZyb20gVVMgbWFya2V0cywgc3Vic2NyaWJlIHRvIEJsdWUgT2NlYW4gKG92ZXJuaWdodCBxdW90ZXMpLiJdfSwyMjA3MzgoZSl7ZS5leHBvcnRzPVsiVG8gZ2V0IHJlYWwtdGltZSBkYXRhIGZvciB7ZGVzY3JpcHRpb259LCBwbGVhc2UgYnV5IHRoZSByZWFsLXRpbWUgZGF0YSBwYWNrYWdlLiJdfSw1NDU4NChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gUGluZSBFZGl0b3IuIl19LDgyOTQ0OChlKXtlLmV4cG9ydHM9WyJUaGUgc291cmNlIGNvZGUgaXMgY3VycmVudGx5IG9wZW4gaW4gZGV0YWNoZWQgUGluZSBFZGl0b3IuIl19LDgzNzI1KGUpe2UuZXhwb3J0cz1bIlRoZSBzb3VyY2UgY29kZSBpcyBjdXJyZW50bHkgb3BlbiBpbiB0aGUgYm90dG9tIHBhbmVsLiJdfSwxMzI1NjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBhc3NldCB3aWxsIGJlIGxpc3RlZCBzb29uLiBMaXZlIGRhdGEgd2lsbCBiZSBhdmFpbGFibGUgb25jZSB0cmFkaW5nIGJlZ2lucy4gVW50aWwgdGhlbiwgeW91IGNhbiBleHBsb3JlIGZ1bmRhbWVudGFsIGRhdGEuIl19LDQ2MzgyNShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20gcHJpbWFyeSBleGNoYW5nZXMuIl19LDI4MjEzMShlKXtlLmV4cG9ydHM9WyJUaGlzIGRhdGEgaXMgcmVhbC10aW1lLCBidXQgaXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCB0byBpdHMgb2ZmaWNpYWwgY291bnRlcnBhcnQgY29taW5nIGZyb20ge2V4Y2hhbmdlfS4iXX0sNjMyMTI1KGUpe2UuZXhwb3J0cz1bIlRoaXMgaXMgYSBkZXZlbG9wbWVudGFsLXN0YWdlIGNvbXBhbnkgd2l0aCBubyBzZXQgYnVzaW5lc3MgcGxhbiwgb2Z0ZW4gZm9ybWVkIHRvIHJhaXNlIGZ1bmRzIGZvciBhIGZ1dHVyZSBtZXJnZXIgb3IgYWNxdWlzaXRpb24uIl19LDU3MzY4MihlKXtlLmV4cG9ydHM9WydUaGlzIGlzIGEgc2hhcmlhaC1jb21wbGlhbnQgYm9uZCwgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgYSAic3VrdWssIiBtZWFuaW5nIHRoYXQgaXQgY29tcGxpZXMgd2l0aCBJc2xhbWljIGxhdyB0aGF0IHByb2hpYml0cyBpbnRlcmVzdC4gVW5saWtlIGNvbnZlbnRpb25hbCBib25kcywgd2hpY2ggaW52b2x2ZSBwYXlpbmcgaW50ZXJlc3QsIHN1a3VrIHJlcHJlc2VudCBvd25lcnNoaXAgaW4gYW4gdW5kZXJseWluZyBhc3NldCBvciBwcm9qZWN0IGFuZCBpbnZlc3RvcnMgZWFybiByZXR1cm5zIGJhc2VkIG9uIHByb2ZpdC1zaGFyaW5nIG9yIHJlbnRhbCBpbmNvbWUuJ119LDIzODAwNChlKXsKZS5leHBvcnRzPVsiVGhpcyBpcyBhIHNoYXJpYWgtY29tcGxpYW50IHN0b2NrLCBtZWFuaW5nIHRoYXQgaXQgZm9sbG93cyBJc2xhbWljIGxhdy4gVGhpcyBjb21wYW55IGRvZXMgbm90IGNoYXJnZSBvciByZWNlaXZlIGludGVyZXN0LCBhbmQgZG9lcyBub3QgZW5nYWdlIHdpdGggY2VydGFpbiBzZWN0b3JzIChnYW1ibGluZywgYWxjb2hvbCwgdG9iYWNjbywgcG9yayBwcm9kdWN0cykuIl19LDg5NDU1NihlKXtlLmV4cG9ydHM9WyJUaGlzIGlzIG5vIGxvbmdlciBwdWJsaWNseSB0cmFkaW5nIHNvIG5vIG5ldyBkYXRhIHdpbGwgYmUgYWRkZWQuIEJ1dCB5b3UgY2FuIGV4cGxvcmUgdGhlIGhpc3RvcmljYWxzIGhlcmUuIl19LDcxOTcxMShlKXtlLmV4cG9ydHM9WyJUaGlzIHJlYWwtdGltZSBkYXRhIGlzIHByb3ZpZGVkIGJ5IHtvcmlnaW5hbEV4Y2hhbmdlfSBleGNoYW5nZS4gSXQgbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIHRoZSBvZmZpY2lhbCBkYXRhIGRpcmVjdGx5IGZyb20ge2V4Y2hhbmdlfS4gSWYgdGhpcyBkaWZmZXJlbmNlIGlzIGNydWNpYWwgZm9yIHlvdSwgeW91J2xsIG5lZWQgdG8gcHVyY2hhc2UgcmVhbC10aW1lIGRhdGEgZnJvbSB0aGUgcHJpbWFyeSBleGNoYW5nZSwgd2hpY2ggd2UgY2FuIGhlbHAgd2l0aC4iXX0sOTUyNTAwKGUpe2UuZXhwb3J0cz1bIlRoaXMgcmVmZXJzIHRvIGZpbmFuY2lhbCBpbmRpY2F0b3JzIHdoaWNoIGFyZSBjcmVhdGVkIGJ5IGNvbWJpbmluZyBhbmQvb3IgcHJvY2Vzc2luZyByYXcgZGF0YSBzdXBwbGllZCBmcm9tIHZhcmlvdXMgc291cmNlcy4iXX0sMzQ5MzMwKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3RyYXRlZ3kncyB0cmFkZXMgYXJlIGRpc3BsYXllZCBvbiB0aGUgY2hhcnQuIl19LDY5MjYxNShlKXtlLmV4cG9ydHM9WyJUaGlzIHN5bWJvbCBkb2Vzbid0IGV4aXN0LCBwbGVhc2UgcGljayBhbm90aGVyIG9uZS4iXX0sNjI4NTUzKGUpe2UuZXhwb3J0cz1bIlRoaXMgc3ltYm9sIGlzIGNhbGN1bGF0ZWQgYnkgVHJhZGluZ1ZpZXcgdXNpbmcgdGhlIHJhdGUgZnJvbSBvdGhlciBleGNoYW5nZXMuIl19LDU1OTU4MyhlKXtlLmV4cG9ydHM9WyJUcmFkZSB7c3ltYm9sTmFtZX0gd2l0aCB7YnJva2VyTmFtZX0iXX0sNTk3OTQoZSl7ZS5leHBvcnRzPVsiVVMgbWFya2V0cyBvdmVybmlnaHQgcXVvdGVzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSwzNzUxNjUoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHN5bWJvbCJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSwzNDYzKGUpe2UuZXhwb3J0cz1bIlVwZGF0ZSBvbiBhbGwgY2hhcnRzIl19LDEwNzg3MChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgYXZhaWxhYmxlIl19LDU4MTM4OChlKXtlLmV4cG9ydHM9WyJVcGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24iXX0sMjQ3MDYyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSJdfSw3OTUzMzAoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gQ2xpY2sgdGhlIGFycm93IGJ1dHRvbiB0byB0aGUgbGVmdCB0byBleHBhbmQgdGhlIGluZGljYXRvciBsaXN0IGFuZCBzZWUgZGV0YWlscy4iXX0sMzYxMDUoZSl7ZS5leHBvcnRzPVsiWW91IG5lZWQgdG8gdXBkYXRlIG9uZSBvciBtb3JlIG9mIHlvdXIgaW5kaWNhdG9ycy4gUmVzaXplIHRoZSBwYW5lcyBvciB0aGUgd2luZG93IHRvIHNlZSB0aGUgZGV0YWlscy4iXX0sNzYzNDUxKGUpe2UuZXhwb3J0cz1bIllvdSdyZSBpbiBSZXBsYXkgbW9kZS4gWW91J3JlIGluIFJlcGxheSBtb2RlLiBZb3UncmUgaW4gUmVwbGF5IG1vZGUuIl19LDQ4Nzg3NChlKXtlLmV4cG9ydHM9WyJab29tIGluIl19LDMxNDUzNChlKXtlLmV4cG9ydHM9WyJab29tIG91dCJdfSwxNzYyNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG9wZW4gbWFya2V0IHN0YXR1cyB2aXNpYmlsaXR5Il19LDM2Nzg2MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgYmFyIGNoYW5nZSB2aXNpYmlsaXR5Il19LDU2ODczMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzIwNDI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdGl0bGVzIHZpc2liaWxpdHkiXX0sMjE1MDI3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBpbmRpY2F0b3IgdmFsdWVzIHZpc2liaWxpdHkiXX0sMzM1MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvciBpbnB1dHMgdmlzaWJpbGl0eSJdfSwzMzU2ODIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGxhc3QgZGF5IGNoYW5nZSB2aXNpYmlsaXR5Il19LDU1NTY2NihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGRlc2NyaXB0aW9uIHZpc2liaWxpdHkiXX0sNjY4MTkyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzeW1ib2wgZmllbGQgdmlzaWJpbGl0eSJdfSw1MjE2NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugdm9sdW1lIHZhbHVlcyB2aXNpYmlsaXR5Il19LDcyNTA5KGUpe2UuZXhwb3J0cz1bInNob3cge3RpdGxlfSJdfSw3MTg3NTcoZSl7ZS5leHBvcnRzPVsidXBkYXRlIGluZGljYXRvciB0byBsYXRlc3QgdmVyc2lvbiJdfSw0MTAxNDgoZSl7ZS5leHBvcnRzPVsidXBkYXRlIHt0aXRsZX0gc2NyaXB0Il19LDkxNDU1KGUpe2UuZXhwb3J0cz1bIntsaXN0ZWRFeGNoYW5nZX0gcmVhbC10aW1lIGRhdGEgaXMgYXZhaWxhYmxlIGZvciBmcmVlIHRvIHJlZ2lzdGVyZWQgdXNlcnMuIl19LDE2OTgzKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2wgZnJvbSB5b3VyIHdhdGNobGlzdC4iLCJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9scyBmcm9tIHlvdXIgd2F0Y2hsaXN0LiJdfSw3NzEzNTYoZSl7CmUuZXhwb3J0cz1bIkRhdGEgaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZCwgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIiwiRGF0YSBpcyB1cGRhdGVkIG9uY2UgZXZlcnkge2Ftb3VudH0gc2Vjb25kcywgZXZlbiBpZiB0aGVyZSBhcmUgbW9yZSB1cGRhdGVzIG9uIHRoZSBtYXJrZXQuIl19LDc1NTE5MihlKXtlLmV4cG9ydHM9WyJEYXRhIG9uIG91ciBCYXNpYyBwbGFuIGlzIHVwZGF0ZWQgb25jZSBldmVyeSB7YW1vdW50fSBzZWNvbmQsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiIsIkRhdGEgb24gb3VyIEJhc2ljIHBsYW4gaXMgdXBkYXRlZCBvbmNlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMsIGV2ZW4gaWYgdGhlcmUgYXJlIG1vcmUgdXBkYXRlcyBvbiB0aGUgbWFya2V0LiJdfSwzMzI4MjgoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3IgbGVnZW5kIiwiSGlkZSBpbmRpY2F0b3JzIGxlZ2VuZCJdfSwyNTY4MTcoZSl7ZS5leHBvcnRzPVsiT25lIHVwZGF0ZSBldmVyeSB7YW1vdW50fSBzZWNvbmQiLCJPbmUgdXBkYXRlIGV2ZXJ5IHthbW91bnR9IHNlY29uZHMiXX0sNjkyNzEyKGUpe2UuZXhwb3J0cz1bIlNob3cgaW5kaWNhdG9yIGxlZ2VuZCIsIlNob3cgaW5kaWNhdG9ycyBsZWdlbmQiXX0sODU3MDY3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBkYXRhIGlzIGRlbGF5ZWQgYnkge3RpbWV9IG1pbnV0ZSBiZWNhdXNlIG9mIGV4Y2hhbmdlIHJlcXVpcmVtZW50cy4iLCJ7c3ltYm9sTmFtZX0gZGF0YSBpcyBkZWxheWVkIGJ5IHt0aW1lfSBtaW51dGVzIGJlY2F1c2Ugb2YgZXhjaGFuZ2UgcmVxdWlyZW1lbnRzLiJdfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/23624.d2390d17b1509b018826.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.262Z","timestamp":1785136429262,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/23624.d2390d17b1509b018826.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1547\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8f7a148bb28cb8800f5125231f0b0c5c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5447,"size_decoded":2078,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5447), with no line terminators","md5":"2c33d31c563e23c31e00293508a0185a","sha1":"a5929dabb129340cfe8b787016b307911e1a3454","sha256":"4ce18d9026cee0619db0fe37daf10d2562a6a41648d0baaf2fbabedd6997ad8f","sha512":"f18b23e71681a5a8a3059d3ca0acc71b714119f95515c18cfb29123816bbf4e158126f7a947ff798c18080ee07ba20b1af9d063e587477bf46de561078ce9fc7","ssdeep":"96:DP5k+VoSKKEKgnKzKvKzKLKIKLKIKhK2nZjBCmVcKEKpVcKEKPK2XIKvmK2XIKv+:9kingKuiuWTWTw2ZXnrnCOtOTLK54WSS","tlshash":"ffb1df88e1cf773e2a3bb9295308e1dc97076780ea421be5bf61e25625cdbc651f5c08","first_seen":"2026-07-16T13:40:49.85665Z","last_seen":"2026-08-11T04:43:23.058985Z","times_seen":612,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQU1UbDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1BTVRsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5pdGVtLU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlcjowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtZmxvdzpyb3cgbm93cmFwO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctYmxvY2s6MnB4IDJweDtwYWRkaW5nLWlubGluZTo4cHggMTBweDt0cmFuc2l0aW9uLXByb3BlcnR5Om5vbmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9Lml0ZW0tTWkwX3Q1dU4uaG92ZXJlZC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1TjphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Tjpob3Zlcntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9fS5pdGVtLU1pMF90NXVOLmhvdmVyZWQtTWkwX3Q1dU57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3ZlcikpfX0uaXRlbS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSl9Lml0ZW0tTWkwX3Q1dU57b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tTWkwX3Q1dU46Zm9jdXN7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5pdGVtLU1pMF90NXVOOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlIC0gNHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6MnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO3otaW5kZXg6MX0uaXRlbS1NaTBfdDV1Tjpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5pdGVtLU1pMF90NXVOOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaXRlbS1NaTBfdDV1Tjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uaXRlbS1NaTBfdDV1TjphZnRlcntib3JkZXItcmFkaXVzOjlweH0uaXRlbS1NaTBfdDV1TjphZnRlcixodG1sLnRoZW1lLWRhcmsgLml0ZW0tTWkwX3Q1dU46YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSl9Lml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TntjdXJzb3I6ZGVmYXVsdDtvcGFjaXR5Oi41fS5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNEaXNhYmxlZC1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzRGlzYWJsZWQtTWkwX3Q1dU46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1pbnZlcnNlKX0uaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWFjdGl2ZSx2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlKSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1TiwuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1TjphY3RpdmUgLnNob3J0Y3V0LU1pMF90NXVOe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuaXRlbS1NaTBfdDV1Ti5pc0FjdGl2ZS1NaTBfdDV1Tjpob3ZlciAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU4sLml0ZW0tTWkwX3Q1dU4uaXNBY3RpdmUtTWkwX3Q1dU46YWN0aXZlIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOOmhvdmVyIC50b29sYm94LU1pMF90NXVOLnRvb2xib3gtTWkwX3Q1dU57Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5pdGVtLU1pMF90NXVOOmJlZm9yZXtjb250ZW50OiIgIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4fS53aXRoSWNvbi1NaTBfdDV1TntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy10b3A6NnB4fS5yb3VuZC1pY29uLU1pMF90NXVOe2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0uaWNvbi1NaTBfdDV1Tiwuc3RhcnRTbG90LU1pMF90NXVOe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHh9Lmljb24tTWkwX3Q1dU4gc3Zne2Rpc3BsYXk6YmxvY2t9LmxhYmVsUm93LU1pMF90NXVOe2FsaWduLWl0ZW1zOmJhc2VsaW5lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleDowIDEgMTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7cGFkZGluZy1pbmxpbmUtZW5kOjEycHh9LmxhYmVsUm93LU1pMF90NXVOOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0ubGFiZWxSb3ctTWkwX3Q1dU46bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1lbmQ6NHB4fS5sYWJlbC1NaTBfdDV1TntkaXNwbGF5OmZsZXg7ZmxleDowIDAgYXV0bzttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNob3J0Y3V0LU1pMF90NXVOe2ZvbnQtc2l6ZToxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjVweDttYXJnaW4taW5saW5lLXN0YXJ0OjU4cHg7dGV4dC1hbGlnbjplbmR9Lml0ZW0tTWkwX3Q1dU4uaXRlbS1NaTBfdDV1Tjpub3QoLmlzQWN0aXZlLU1pMF90NXVOKSAuc2hvcnRjdXQtTWkwX3Q1dU57Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0uaXRlbS1NaTBfdDV1Ti5pdGVtLU1pMF90NXVOLmlzQWN0aXZlLU1pMF90NXVOIC5zaG9ydGN1dC1NaTBfdDV1Tntjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dCx2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlKSl9LnRvb2xib3gtTWkwX3Q1dU57YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5mZWF0dXJlLW5vLXRvdWNoIC50b29sYm94LU1pMF90NXVOLnNob3dPbkhvdmVyLU1pMF90NXVOe29wYWNpdHk6MH0udG9vbGJveC1NaTBfdDV1Tj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4taW5saW5lLWVuZDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDQwcHgpey50b29sYm94LU1pMF90NXVOPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjhweH19LmRpc2Nsb3N1cmUtaXRlbS1jaXJjbGUtbG9nby1NaTBfdDV1TntmbGV4LXNocmluazowO21hcmdpbi1pbmxpbmUtZW5kOjZweH0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1Tjpmb2N1cy12aXNpYmxlIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZlYXR1cmUtbm8tdG91Y2ggLml0ZW0tTWkwX3Q1dU46aG92ZXIgLnRvb2xib3gtTWkwX3Q1dU4uc2hvd09uSG92ZXItTWkwX3Q1dU57b3BhY2l0eToxfX0uZmVhdHVyZS1uby10b3VjaCAuaXRlbS1NaTBfdDV1TjpoYXMoOmZvY3VzLXZpc2libGUpIC50b29sYm94LU1pMF90NXVOLnNob3dPbkZvY3VzLU1pMF90NXVOe29wYWNpdHk6MX0="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71901.43d5b48d9643656bfd2c.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.290Z","timestamp":1785136429290,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71901.43d5b48d9643656bfd2c.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 31\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a4360b8-1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e40060cc910d87dd6269dd0b1249c434\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":31,"size_decoded":815,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"6f60c3725f61aa347ed7762fdf8fdf11","sha1":"0eb08b4e1af29799e916fc9d9386cb6c96d13d78","sha256":"08a238fafe5ccfdeb182eb61a9597d32a7e3cfad290a0ce62061302fadafa0e4","sha512":"e1c14f942cbbebbb809b688c5956540410d65d8192ab5b374a7f7355488382dd907b31b68573381b5c399d38cd1490b3ca92187cb5c60c2ef9b8e83a6f889b01","ssdeep":"","tlshash":"d380008a0a0228ea038c8280cc0320a8b3080ca0002030bf800a2afc2280082a0bc80a","first_seen":"2026-06-30T21:57:43.490808Z","last_seen":"2026-07-28T06:17:53.469517Z","times_seen":245,"resource_available":false,"data":"LmJ1dHRvbi1GRHRpRGJ5antwYWRkaW5nOjAgNXB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/66522.661a97161c3cad9690d2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.564Z","timestamp":1785136429564,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/66522.661a97161c3cad9690d2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b74-3a7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e7f676cc0ae679c80bc3cc5f234b4916\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":935,"size_decoded":1223,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (935), with no line terminators","md5":"9295c27fd4daa554b8dc928ab0c03a98","sha1":"2f33253bdbb14763a9e94d92768f77ec5ec2416f","sha256":"1936404f933cb5460b13710ba8fbe6e85d647437100f0ab98916d094a14d0bdf","sha512":"e4fbc74b9e0e953c709284d47e4093018617cabcd5525629f6f8152d3b8dd8fe175c8281e80fdfea7c397d218d86b578389aab6640dc1cb9a6cd7d0c37679c80","ssdeep":"","tlshash":"4b115631f150ca2d7c67a8290781d28e6128ec0e66c7a65dbb16e22948cf7d32263318","first_seen":"2026-02-24T15:20:08.929924Z","last_seen":"2026-08-11T04:43:23.099943Z","times_seen":721,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQktiLTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUJLYi06dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LmRpYWxvZy1VR2RDNjlzd3ttaW4td2lkdGg6MjU0cHg7cGFkZGluZzo0MHB4O3dpZHRoOmF1dG99LmRpYWxvZ0lubmVyLVVHZEM2OXN3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS50aXRsZVdyYXBwZXItVUdkQzY5c3d7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTAwJX0udGl0bGUtVUdkQzY5c3d7Y29sb3I6dmFyKC0tXzAtQktiLSk7Y3Vyc29yOmRlZmF1bHQ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjI4cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5mb0hpbnQtVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItZGVmYXVsdC1ncmF5KTtoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjhweDt3aWR0aDoxOHB4fS5mb3JtLVVHZEM2OXN3e2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MjAwcHg7d2lkdGg6MTAwJX0uaW5wdXRXcmFwcGVyLVVHZEM2OXN3e2ZsZXgtZ3JvdzoxfS5pbnB1dC1VR2RDNjlzd3tmb250LXNpemU6MjRweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGludC1VR2RDNjlzd3tjb2xvcjp2YXIoLS1jb2xvci1kZWZhdWx0LWdyYXkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDozcHg7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0uZXJyb3ItVUdkQzY5c3d7Y29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/54681.a717110e6749f307ed6d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.701Z","timestamp":1785136427701,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/54681.a717110e6749f307ed6d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a041685-15e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 13 May 2026 06:13:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.52\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/13/2026 09:56:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 41778ec442eaab444afb1d67d167e302\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":350,"size_decoded":952,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (350), with no line terminators","md5":"f2e28dcef513e7329db6a3a69720bb48","sha1":"d2b0bc2f96723e3d74402c72a78a9a449405c692","sha256":"b2adba47f3ef9121bd8fb32842dcca6edcc4b9e36084de7724ef7244f6b03640","sha512":"97e9c6797a664f80308677fd34c5ddaafe0f74b206038c67761074bc9062d4439f8bd8aaae50193cd70d06f3baa8f30eb1fad236115eb4cda845f8dc922c1e2f","ssdeep":"","tlshash":"60e08cc3f0c6000444a341329c00b738fdaf98588b836ea4805e77304b166cf3b30dae","first_seen":"2026-05-13T13:23:52.95015Z","last_seen":"2026-08-11T04:47:30.078818Z","times_seen":2653,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":83,"timings":{"blocked":-1,"dns":13,"connect":30,"send":0,"wait":6,"receive":-1,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/65862.95764752c09f3f18f890.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.745Z","timestamp":1785136427745,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/65862.95764752c09f3f18f890.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-8593\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 55b9f3119be3a5e36eda23ef985660e1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34195,"size_decoded":11853,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (13834)","md5":"d5f37343643dde0b01c1d10dbbdb91df","sha1":"acf466d1f2aaa1c4e577a663cc0c197647ff1b0c","sha256":"ad4421c24189dacdd5b62aa07485176e838543c7e572a23a90b2e5d70b28c982","sha512":"b6fba60ec4a7056bdda7602c545749c4b49d93c597e471e20f312b470a5c949b390f959900f2267b02646d6ce1c6f9fcd1ebddb7b4fbc2383344305b5179923d","ssdeep":"768:8HXyKsaOA/R4POygg6FUOaovTBa81zNh3h6kIRdnNy84MnxbDE3xZwDZscCDjvFR:OWgDagTBa0zNhRIRdnNy84y4BZw1FCHz","tlshash":"41e2e892aa135c331ed5176ad87b3902d1d80679f5863c68bdf858de0d8dac070f355e","first_seen":"2026-07-24T11:36:47.857631Z","last_seen":"2026-07-28T07:05:00.680835Z","times_seen":1734,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjU4NjJdLHszNzcyMjYoZSx0LG8pe28uZCh0LHtvbldpZGdldDooKT0+c30pO2NvbnN0IHI9bmV3IE1hcDtmdW5jdGlvbiBzKCl7Y29uc3QgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsdD13aW5kb3cubG9jYXRpb24uaG9zdCxvPWAke3R9JHtlfWA7cmV0dXJuIHIuaGFzKG8pfHxyLnNldChvLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bIl53aWRnZXQtZG9jcyJdO2Zvcihjb25zdCBlIG9mIG8paWYobmV3IFJlZ0V4cChlKS50ZXN0KHQpKXJldHVybiEwO2NvbnN0IHI9WyJed2lkZ2V0ZW1iZWQvPyQiLCJeY21ld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRzdGF0aWMvPyQiLCJeKFswLTlhLXpBLVotXSspPy8/bWVkaXVtd2lkZ2V0ZW1iZWQvPyQiLCJedHdpdHRlci1jaGFydC8/JCIsIl50ZWxlZ3JhbS9jaGFydC8/JCIsIl5lbWJlZC8oWzAtOWEtekEtWl17OH0pLz8kIiwiXndpZGdldHBvcHVwLz8kIiwiXmV4dGVuc2lvbi8/JCIsIl5pZGVhLXBvcHVwLz8kIiwiXmhvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL2hvdGxpc3Rzd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0b3ZlcnZpZXd3aWRnZXRlbWJlZC8/JCIsIl5ldmVudHN3aWRnZXRlbWJlZC8/JCIsIl50aWNrZXJzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhjcm9zc3JhdGVzd2lkZ2V0ZW1iZWQvPyQiLCJeZm9yZXhoZWF0bWFwd2lkZ2V0ZW1iZWQvPyQiLCJebWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJec2NyZWVuZXJ3aWRnZXQvPyQiLCJeY3J5cHRvbWt0c2NyZWVuZXJ3aWRnZXQvPyQiLCJeKFswLTlhLXpBLVotXSspL2NyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9tYXJrZXRxdW90ZXN3aWRnZXRlbWJlZC8/JCIsIl50ZWNobmljYWwtYW5hbHlzaXMtd2lkZ2V0LWVtYmVkLyQiLCJec2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvc2luZ2xlcXVvdGV3aWRnZXRlbWJlZC8/JCIsIl5lbWJlZC13aWRnZXQvKFswLTlhLXpBLVotXSspLygoWzAtOWEtekEtWi1dKykvKT8kIiwiXndpZGdldC1kb2NzLyhbMC05YS16QS1aLV0rKS8oWzAtOWEtekEtWi0vXSspPyQiXSxzPWUucmVwbGFjZSgvXlwvLywiIik7bGV0IF87Zm9yKGxldCBlPXIubGVuZ3RoLTE7ZT49MDtlLS0paWYoXz1uZXcgUmVnRXhwKHJbZV0pLF8udGVzdChzKSlyZXR1cm4hMDtyZXR1cm4hMX0oZSx0KSksci5nZXQobyk/PyExfX0sMzAwMjg2KGUsdCxvKXsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdGVzdD1lW3RdPXt9fXByb3ZpZGUoZSx0KXt0aGlzLl90ZXN0W2VdPXR9fSh3aW5kb3csInFhR2xvYmFscyIpfSw1ODc0MzYoZSx0LG8pe2Z1bmN0aW9uIHIoZSx0LG8scixzKXtsZXQgXz0iIjtpZihyPXI/IjsgcGF0aD0iK3I6IiIscz1zPyI7IGRvbWFpbj0iK3M6IiIsbyl7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbyo2MCo2MCoxZTMpLF89IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIF89IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrXytzK3J9ZnVuY3Rpb24gcyhlKXtjb25zdCB0PWUrIj0iLG89ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCByPW9bZV07Zm9yKDsiICI9PT1yLmNoYXJBdCgwKTspcj1yLnN1YnN0cmluZygxLHIubGVuZ3RoKTtpZigwPT09ci5pbmRleE9mKHQpKXJldHVybiByLnN1YnN0cmluZyh0Lmxlbmd0aCxyLmxlbmd0aCl9cmV0dXJuIG51bGx9by5kKHQse2dldDooKT0+cyxzZXQ6KCk9PnJ9KX0sOTQ4MzgwKGUsdCxvKXtvLmQodCx7RGVsZWdhdGU6KCk9Pl99KTtjb25zdCByPSgwLG8oMjIxMDYxKS5nZXRMb2dnZXIpKCJDb21tb24uRGVsZWdhdGUiKTtmdW5jdGlvbiBzKGUpe3JldHVybiFlLnNpbmdsZVNob3R9Y2xhc3MgX3tjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyZT10aGlzLl9maXJlSW1wbC5iaW5kKHRoaXMpLHRoaXMuX2xpc3RlbmVycz1bXX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX2xpc3RlbmVycy5wdXNoKHtvYmplY3Q6ZSxtZW1iZXI6dCxzaW5nbGVTaG90OiEhbyxza2lwOiExfSl9dW5zdWJzY3JpYmUoZSx0KXtmb3IobGV0IG89MDtvPHRoaXMuX2xpc3RlbmVycy5sZW5ndGg7KytvKXtjb25zdCByPXRoaXMuX2xpc3RlbmVyc1tvXTtpZihyLm9iamVjdD09PWUmJnIubWVtYmVyPT09dCl7ci5za2lwPSEwLHRoaXMuX2xpc3RlbmVycy5zcGxpY2UobywxKTticmVha319fXVuc3Vic2NyaWJlQWxsKGUpe2ZvcihsZXQgdD10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLTE7dD49MDstLXQpe2NvbnN0IG89dGhpcy5fbGlzdGVuZXJzW3RdO28ub2JqZWN0PT09ZSYmKG8uc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKHQsMSkpfX1kZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfV9maXJlSW1wbCguLi5lKXtjb25zdCB0PXRoaXMuX2xpc3RlbmVyczt0aGlzLl9saXN0ZW5lcnM9dGhpcy5fbGlzdGVuZXJzLmZpbHRlcihzKTtjb25zdCBvPXQubGVuZ3RoO2ZvcihsZXQgcz0wO3M8bzsrK3Mpe2NvbnN0IG89dFtzXTtpZighby5za2lwKXRyeXtvLm1lbWJlci5hcHBseShvLm9iamVjdHx8bnVsbCxlKX1jYXRjaChlKXtyLmxvZ0Vycm9yKGAke2UmJihlLnN0YWNrfHxlLm1lc3NhZ2UpfWApfX19fX0sNTM0NDQwKGUsdCxvKXtvLmQodCx7bnVtT2ZEZWNpbWFsUGxhY2VzOigpPT5ffSk7dmFyIHI9byg3MTI3NDUpLHM9by5uKHIpO2Z1bmN0aW9uIF8oZSl7cmV0dXJuKG5ldyhzKCkpKGUpLnRvRml4ZWQoKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RofX0sMjMyMzY0KGUsdCxvKXtvLmQodCx7V2F0Y2hlZFZhbHVlOigpPT5ffSk7Y29uc3Qgcj0oMCwKbygyMjEwNjEpLmdldExvZ2dlcikoIkNvbW1vbi5XYXRjaGVkVmFsdWUiKTtmdW5jdGlvbiBzKGUpe3IubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9Y2xhc3MgX3tjb25zdHJ1Y3RvciguLi5lKXt0aGlzLl9saXN0ZW5lcnM9W10sZS5sZW5ndGg+MD90aGlzLl92YWx1ZT1lWzBdOmRlbGV0ZSB0aGlzLl92YWx1ZX1kZXN0cm95KCl7dGhpcy51bnN1YnNjcmliZSgpfXZhbHVlKCl7cmV0dXJuIHRoaXMuX293bmVyP3RoaXMuX293bmVyLl92YWx1ZTp0aGlzLl92YWx1ZX1zZXRWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpcztpZihvLndyaXRlTG9jaylyZXR1cm47Y29uc3Qgcj1vLl92YWx1ZT09PWV8fE51bWJlci5pc05hTihvLl92YWx1ZSkmJk51bWJlci5pc05hTihlKTtpZighdCYmciYmby5oYXNPd25Qcm9wZXJ0eSgiX3ZhbHVlIikpcmV0dXJuO28uX3ZhbHVlPWU7Y29uc3QgXz1vLl9saXN0ZW5lcnMuc2xpY2UoKTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8Xy5sZW5ndGg7dCsrKXtfW3RdLm9uY2UmJihvLl9saXN0ZW5lcnMuc3BsaWNlKHQtaSwxKSxpKyspO3RyeXtfW3RdLmNiKGUpfWNhdGNoKGUpe3MoZSl9fX1kZWxldGVWYWx1ZSgpe3RoaXMuc2V0VmFsdWUodm9pZCAwKX1zdWJzY3JpYmUoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtjb25zdCBvPSEhdCYmISF0Lm9uY2Uscj0hIXQmJiEhdC5jYWxsV2l0aExhc3QsXz10aGlzLl9vd25lcj90aGlzLl9vd25lcjp0aGlzO2lmKHImJl8uaGFzT3duUHJvcGVydHkoIl92YWx1ZSIpKXt0cnl7ZShfLl92YWx1ZSl9Y2F0Y2goZSl7cyhlKX1pZihvKXJldHVybn1fLl9saXN0ZW5lcnMucHVzaCh7Y2I6ZSxvd25lcjp0aGlzLG9uY2U6ISF0JiYhIXQub25jZX0pfXVuc3Vic2NyaWJlKGUpe2NvbnN0IHQ9dGhpcy5fb3duZXI/dGhpcy5fb3duZXI6dGhpczt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPXQuX2xpc3RlbmVycztmb3IobGV0IHI9by5sZW5ndGg7ci0tOylvW3JdLm93bmVyIT09dGhpcyYmdCE9PXRoaXN8fG9bcl0uY2IhPT1lJiZudWxsIT09ZXx8by5zcGxpY2UociwxKX1yZWFkb25seSgpe2lmKHRoaXMuX3JlYWRvbmx5SW5zdGFuY2UpcmV0dXJuIHRoaXMuX3JlYWRvbmx5SW5zdGFuY2U7Y29uc3QgZT17c3Vic2NyaWJlOnRoaXMuc3Vic2NyaWJlLmJpbmQodGhpcyksdW5zdWJzY3JpYmU6dGhpcy51bnN1YnNjcmliZS5iaW5kKHRoaXMpLHZhbHVlOnRoaXMudmFsdWUuYmluZCh0aGlzKSx3aGVuOnRoaXMud2hlbi5iaW5kKHRoaXMpLG93bmVyc2hpcDp0aGlzLm93bmVyc2hpcC5iaW5kKHRoaXMpLHNwYXduT3duZXJzaGlwOnRoaXMuc3Bhd25Pd25lcnNoaXAuYmluZCh0aGlzKSx3ZWFrUmVmZXJlbmNlOnRoaXMud2Vha1JlZmVyZW5jZS5iaW5kKHRoaXMpLHNwYXduOmU9PnRoaXMuc3Bhd24oZSkucmVhZG9ubHkoKSxkZXN0cm95OnRoaXMuZGVzdHJveS5iaW5kKHRoaXMpfTtyZXR1cm4gdGhpcy5fcmVhZG9ubHlJbnN0YW5jZT1lLGV9c3Bhd24oZSl7cmV0dXJuIHRoaXMuX3NwYXduKGUpfXdoZW4oZSl7IWZ1bmN0aW9uKGUsdCxvKXtpZih0KGUudmFsdWUoKSkpcmV0dXJuIHZvaWQgbygpO2NvbnN0IHI9cz0+e3QocykmJihlLnVuc3Vic2NyaWJlKHIpLG8oKSl9O2Uuc3Vic2NyaWJlKHIse2NhbGxXaXRoTGFzdDohMH0pfSh0aGlzLChlPT5Cb29sZWFuKGUpKSwoKCk9Pnt0cnl7ZSh0aGlzLnZhbHVlKCkpfWNhdGNoKGUpe3MoZSl9fSkpfWFzc2VydE5vU3Vic2NyaXB0aW9ucygpezB9b3duZXJzaGlwKCl7cmV0dXJuIHRoaXN9cmVsZWFzZSgpe3RoaXMuZGVzdHJveSgpfXNwYXduT3duZXJzaGlwKCl7cmV0dXJuIHRoaXMuX3NwYXduKCl9d2Vha1JlZmVyZW5jZSgpe3JldHVybiB0aGlzLl9zcGF3bih2b2lkIDAsITApfV9zcGF3bihlLHQpe3JldHVybiBuZXcgaSh0aGlzLl9vd25lcnx8dGhpcyxlLHQpfX1jbGFzcyBpIGV4dGVuZHMgX3tjb25zdHJ1Y3RvcihlLHQsbyl7c3VwZXIoKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzLHRoaXMuX293bmVyPWUsdGhpcy5fb25EZXN0cm95PXQsdGhpcy5fd2Vha1JlZmVyZW5jZT0hIW99ZGVzdHJveSgpe3RyeXt0aGlzLl9vbkRlc3Ryb3k/LigpfWNhdGNoKGUpe3MoZSl9c3VwZXIuZGVzdHJveSgpfXJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZXx8KHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZT17Li4uc3VwZXIucmVhZG9ubHkoKSxkZXN0cm95OigpPT50aGlzLmRlc3Ryb3koKSxyZWFkb25seSgpe3JldHVybiB0aGlzfX0pLHRoaXMuX3JlYWRvbmx5U3Bhd25JbnN0YW5jZX1yZWxlYXNlKCl7dGhpcy5fd2Vha1JlZmVyZW5jZXx8c3VwZXIucmVsZWFzZSgpfX19LDU5ODkyMihlLHQsbyl7by5kKHQse2Zvcm1hdE51bWJlcjooKT0+aSxwYXJzZU51bWJlcjooKT0+bn0pO3ZhciByPW8oNzEyNzQ1KSxzPW8oNjYzMDQ2KSxfPW8oMTE1MjkzKTtmdW5jdGlvbiBpKGUsdCxvLHMsXyl7aWYoIU51bWJlci5pc0Zpbml0ZShlKSlyZXR1cm5gJHtlfWA7Y29uc3QgaT0tMT09PU1hdGguc2lnbihlKT8iLSI6IiI7ZT1NYXRoLmFicyhlKTtsZXQgYT12b2lkIDA9PT1vP2UudG9TdHJpbmcoKTplLnRvRml4ZWQobyk7aWYoYS5pbmNsdWRlcygiZSIpKXtpZighcylyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gO3tjb25zdCBvPW5ldyByLkJpZyhlKTtpZihhPW8ubHQoMSk/by50b0ZpeGVkKCk6by50b1N0cmluZygpLGEuaW5jbHVkZXMoImUiKSlyZXR1cm5gJHtpfSR7YS5yZXBsYWNlKCIuIix0LmRlY2ltYWxTaWduKX1gfX1jb25zdCBuPWEuc3BsaXQoIi4iKSxsPW5bMF07bGV0IGM9blsxXTtjb25zdCBkPWZ1bmN0aW9uKGUsdCl7bGV0IG89ZS5sZW5ndGg7Y29uc3Qgcj1bXTtmb3IoO28+MDspci51bnNoaWZ0KGUuc2xpY2UoTWF0aC5tYXgoby0zLDApLG8pKSxvLT0zO3JldHVybiByLmpvaW4odCl9KGwsdC5ncm91cGluZ1NlcGFyYXRvcikKO3JldHVybiB2b2lkIDAhPT1vJiYoYz0wPT09bz92b2lkIDA6ZS50b0ZpeGVkKG8pLnNsaWNlKC1vKSksdm9pZCAwIT09XyYmdm9pZCAwIT09YyYmKGM9ZnVuY3Rpb24oZSx0KXtsZXQgbz1lLmxlbmd0aC0xO2ZvcihsZXQgcj1vO3I+PXQmJiIwIj09PWVbcl07ci09MSlvLT0xO3JldHVybiBlLnNsaWNlKDAsbysxKX0oYyxfKSksYz9gJHtpfSR7ZH0ke3QuZGVjaW1hbFNpZ259JHtjfWA6YCR7aX0ke2R9YH1jb25zdCBhPSgwLHMuZGVmYXVsdCkoKGU9Pntjb25zdCB0PWUucmVwbGFjZSgvWy1bXF17fSgpKis/LixcXF4kfCNcc10vZywiXFwkJiIpO3JldHVybiBuZXcgUmVnRXhwKHQsImdtIil9KSk7ZnVuY3Rpb24gbihlLHQpe2lmKC9eKE5hTnxbK3wtXT9JbmZpbml0eSkkLy50ZXN0KGUpKXJldHVybiBwYXJzZUZsb2F0KGUpO2U9KDAsXy5zdHJpcExUUk1hcmtzKShlKTtjb25zdCBvPWEodC5ncm91cGluZ1NlcGFyYXRvcik7cmV0dXJuIG8mJihlPWUucmVwbGFjZShvLCIiKSksZT1lLnJlcGxhY2UodC5kZWNpbWFsU2lnbiwiLiIpLC9eKFwrfC0pP1xkKyhcLlxkK3xcLik/KGUoXCt8LSk/XGQrKT8kLy50ZXN0KGUpP3BhcnNlRmxvYXQoZSk6TmFOfX0sNTQ2NDg1KGUsdCxvKXtvLmQodCx7Z2V0TnVtYmVyRm9ybWF0OigpPT5kfSk7bGV0IHI9bnVsbDt2YXIgcz1vKDg1NjMyNCk7ZnVuY3Rpb24gXyhlLHQpe3JldHVybntncm91cGluZ1NlcGFyYXRvcjplLGRlY2ltYWxTaWduOnR9fWNvbnN0IGk9XygiLCIsIi4iKSxhPV8oIi4iLCIsIiksbj1fKCLigK8iLCIsIiksbD1fKCIiLCIuIiksYz1uZXcgTWFwKFtbImVuIixpXSxbInRoIixpXSxbImphIixpXSxbImtvIixpXSxbInpoIixpXSxbInpoX1RXIixpXSxbImFyIixpXSxbImhlX0lMIixpXSxbIm1zX01ZIixpXSxbInZpIixpXSxbImRlIixhXSxbImVzIixhXSxbIml0IixhXSxbInRyIixhXSxbInB0IixhXSxbImlkX0lEIixhXSxbImZyIixuXSxbInBsIixuXSxbInJ1IixuXV0pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIGU/bDoodD1jLmdldCgoMCxzLmdldExhbmd1YWdlKSgpKXx8bCxyP3IodCk6dCk7dmFyIHR9fSw3NTU2MjcoZSx0LG8pe28uZCh0LHtQcmljZUZvcm1hdHRlcjooKT0+eX0pO3ZhciByPW8oNjAxODQxKTtmdW5jdGlvbiBzKGUsdCxvLHIpe2xldCBzPTA7aWYoZT4wJiZ0PjApe2xldCB0PWU7Zm9yKG8mJnImJih0Lz1yKTt0PjE7KXQvPTEwLHMrK31yZXR1cm4gc312YXIgXz1vKDcxMjc0NSksaT1vKDgyMjQzMSksYT1vKDU5ODkyMiksbj1vKDU0NjQ4NSksbD1vKDc4MzI1NCksYz1vKDEzODYzOCksZD1vKDExNTI5MyksdT1vKDUzNTMwKTtmdW5jdGlvbiBtKGUsdCxvKXtjb25zdCByPSgwLGMuZW5zdXJlTm90TnVsbCkoKDAsdS5nZXRNaW5UaWNrRGF0YSkoe3ByaWNlOm8sbWluVGljazpudWxsLHZhcmlhYmxlTWluVGlja0RhdGE6dCxzaG91bGRDaGVja0ZvckVxdWFsaXR5OiEwfSkpLHtwcmljZVNjYWxlOl8sbWluTW92ZTppLG1pbk1vdmUyOmF9PXI7cmV0dXJue3ByaWNlU2NhbGU6XyxtaW5Nb3ZlOmksZnJhY3Rpb25hbExlbmd0aDpzKF8saSxlLGEpfX1jbGFzcyBoe2NvbnN0cnVjdG9yKGUpe3RoaXMuX2Zvcm1hdHRlckVycm9ycz17Y3VzdG9tOmwudChudWxsLHZvaWQgMCxvKDYxNjE4KSksZnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oOTY4ODE1KSksc2Vjb25kRnJhY3Rpb246bC50KG51bGwsdm9pZCAwLG8oODUwMjk4KSl9O2NvbnN0e3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6cyxpZ25vcmVNaW5Nb3ZlOl8sdmFyaWFibGVNaW5UaWNrOmksZnJhY3Rpb25hbExlbmd0aDphfT1lO3RoaXMuX3ByaWNlU2NhbGU9dCx0aGlzLl9taW5Nb3ZlPXIsdGhpcy5fbWluTW92ZTI9cyx0aGlzLl9pZ25vcmVNaW5Nb3ZlPV8sdGhpcy5fZnJhY3Rpb25hbExlbmd0aD1hLHRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGE9dm9pZCAwPT09aT92b2lkIDA6KDAsdS5tYWtlVmFyaWFibGVNaW5UaWNrRGF0YSkoe3ByaWNlU2NhbGU6dCxtaW5Nb3ZlOnIsbWluTW92ZTI6c30saSl9Zm9ybWF0SW1wbChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHNpZ25OZWdhdGl2ZTpyPSEwLHRhaWxTaXplOnMsY3V0RnJhY3Rpb25hbEJ5UHJlY2lzaW9uOl89ITEsdXNlUnRsRm9ybWF0Omk9ITAsdmFyaWFibGVNaW5UaWNrRGF0YVByaWNlOmEsaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om4sbm9FeHBvbmVudGlhbEZvcm06bCxyZW1vdmVBbGxFbmRpbmdaZXJvczpjfT10O2xldCB1PSIiO2U8MD91PSExPT09cj8iIjoi4oiSIjplJiYhMD09PW8mJih1PSIrIik7Y29uc3QgbT10aGlzLl9mb3JtYXRVbnNpZ25lZChNYXRoLmFicyhlKSx7dGFpbFNpemU6cyxjdXRGcmFjdGlvbmFsQnlQcmVjaXNpb246Xyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6YSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bixub0V4cG9uZW50aWFsRm9ybTpsLHJlbW92ZUFsbEVuZGluZ1plcm9zOmN9KSxoPSIwIj09PW0/bTp1K207cmV0dXJuIGk/KDAsZC5mb3JjZUxUUlN0cikoaCk6aH1wYXJzZShlLHQpe3JldHVybiIrIj09PShlPShlPSgwLGQuc3RyaXBMVFJNYXJrcykoZSkpLnJlcGxhY2UoIuKIkiIsIi0iKSlbMF0mJihlPWUuc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJzZVVuc2lnbmVkKGUsdCl9X3JlbW92ZUVuZGluZ1plcm9zKGUsdCl7Zm9yKGxldCBvPTA7bzx0JiYiMCI9PT1lW2UubGVuZ3RoLTFdO28rKyllPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSk7cmV0dXJuIGV9fWNsYXNzIGcgZXh0ZW5kcyBoe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdDp0LG5vRXhwb25lbnRpYWxGb3JtOm99PWU7dGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0PXQsdGhpcy5fbm9FeHBvbmVudGlhbEZvcm09b31oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4gMTA9PT10aGlzLl9taW5Nb3ZlMn1fcGFyc2VVbnNpZ25lZChlLHQpe3JldHVybiB0aGlzLl9wYXJzZUFzRGVjaW1hbChlLHQpfV9mb3JtYXRVbnNpZ25lZChlLHQpewpjb25zdHt0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyPSExLHZhcmlhYmxlTWluVGlja0RhdGFQcmljZTpzLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YT0hMX09dCxuPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLGZyYWN0aW9uYWxMZW5ndGg6dGhpcy5fZnJhY3Rpb25hbExlbmd0aCx0YWlsU2l6ZTpvLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpyLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpfLG5vRXhwb25lbnRpYWxGb3JtOmkscmVtb3ZlQWxsRW5kaW5nWmVyb3M6YX07cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhcmlhYmxlTWluVGlja0RhdGEmJihPYmplY3QuYXNzaWduKG4sbSghMSx0aGlzLl92YXJpYWJsZU1pblRpY2tEYXRhLHM/P24ucHJpY2UpKSx0aGlzLl9pZ25vcmVNaW5Nb3ZlJiYobi5taW5Nb3ZlPTEpKSx0aGlzLl9mb3JtYXRBc0RlY2ltYWwobil9X2Zvcm1hdEFzRGVjaW1hbChlKXtjb25zdHtwcmljZTp0LHByaWNlU2NhbGU6byxtaW5Nb3ZlOnIsZnJhY3Rpb25hbExlbmd0aDpzPTAsdGFpbFNpemU6bD0wLGN1dEZyYWN0aW9uYWxCeVByZWNpc2lvbjpjLGlnbm9yZUxvY2FsZU51bWJlckZvcm1hdDpkPXRoaXMuX2lnbm9yZUxvY2FsZU51bWJlckZvcm1hdCxub0V4cG9uZW50aWFsRm9ybTp1PXRoaXMuX25vRXhwb25lbnRpYWxGb3JtLHJlbW92ZUFsbEVuZGluZ1plcm9zOm19PWUsaD0oMCxuLmdldE51bWJlckZvcm1hdCkoZCk7aWYodD49MWUyMSYmIXUpcmV0dXJuIHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIixoLmRlY2ltYWxTaWduKTtjb25zdCBnPU1hdGgucG93KDEwLGwpKm8vKGM/MTpyKSxwPTEvZztsZXQgYjtpZihnPjEpYj1NYXRoLmZsb29yKHQpO2Vsc2V7Y29uc3QgZT1NYXRoLnJvdW5kKHQvcCkqcDtiPTA9PT1NYXRoLnJvdW5kKCh0LWUpL3ApP2U6ZStwfWxldCB3PSIiO2lmKGc+MSl7bGV0IGU9Yz9uZXcgXy5CaWcodCkubXVsKGcpLnJvdW5kKHZvaWQgMCwwKS5taW51cyhuZXcgXy5CaWcoYikubXVsKGcpKS50b051bWJlcigpOnBhcnNlRmxvYXQoKE1hdGgucm91bmQodCpnKS1iKmcpLnRvRml4ZWQocykpO2U+PWcmJihlLT1nLGIrPTEpLGU9Yz9uZXcgXy5CaWcoZSkucm91bmQocywwKS50b051bWJlcigpOnBhcnNlRmxvYXQoZS50b0ZpeGVkKHMpKSpyO2NvbnN0IG89KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZSxzK2wpO2lmKCF1JiZ0PDEmJnM+PTEwJiZvLnN0YXJ0c1dpdGgoIjAwMDAiKSl7bGV0IGU9NDtmb3IobGV0IHQ9ZTt0PG8ubGVuZ3RoJiYiMCI9PT1vW3RdO3QrKyllKys7Y29uc3QgdD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLnNsaWNlKGUpLHMpO3JldHVybiIiPT09dD8iMCI6YDAke2guZGVjaW1hbFNpZ259JHt0fWUtJHtlfWB9Y29uc3QgYT10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhvLG0/by5sZW5ndGg6bCk7dz1hP2guZGVjaW1hbFNpZ24rYTphfWNvbnN0IHk9KDAsYS5mb3JtYXROdW1iZXIpKGIsaCx2b2lkIDAsdSk7cmV0dXJuIHkuaW5jbHVkZXMoImUiKT95Onkrd31fcGFyc2VBc0RlY2ltYWwoZSx0PXt9KXtjb25zdHtpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6b309dCxyPSgwLG4uZ2V0TnVtYmVyRm9ybWF0KSh0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXR8fG8pLHM9KDAsYS5wYXJzZU51bWJlcikoZSxyKTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHMpP3t2YWx1ZTpzLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChzKX06e2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX19Y29uc3QgcD0iJyIsYj1uZXcgUmVnRXhwKC9eKC0/KVswLTldKyQvKTtjbGFzcyB3IGV4dGVuZHMgaHtoYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKXtyZXR1cm4hMX1fcGFyc2VVbnNpZ25lZChlKXtyZXR1cm4gdGhpcy5fbWluTW92ZTI/dGhpcy5fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSk6dGhpcy5fcGFyc2VBc1NpbmdsZUZyYWN0aW9uYWwoZSl9X2Zvcm1hdFVuc2lnbmVkKGUsdCl7Y29uc3R7dGFpbFNpemU6byx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6cn09dCxzPXtwcmljZTpNYXRoLmFicyhlKSxwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsbWluTW92ZTp0aGlzLl9taW5Nb3ZlLG1pbk1vdmUyOnRoaXMuX21pbk1vdmUyLGZyYWN0aW9uYWxMZW5ndGg6KDAsYy5lbnN1cmVEZWZpbmVkKSh0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoKSx0YWlsU2l6ZTpvfTtyZXR1cm4gdm9pZCAwIT09dGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSYmT2JqZWN0LmFzc2lnbihzLG0oITAsdGhpcy5fdmFyaWFibGVNaW5UaWNrRGF0YSxyPz9zLnByaWNlKSksdGhpcy5fZm9ybWF0QXNGcmFjdGlvbmFsKHMpfV9wYXJzZUFzU2luZ2xlRnJhY3Rpb25hbChlKXtsZXQgdD1iLmV4ZWMoZSk7aWYodCl7Y29uc3QgdD1wYXJzZUZsb2F0KGUpO3JldHVybnt2YWx1ZTp0LHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbCh0KX19aWYodD1uZXcgUmVnRXhwKCJeKC0/KShbMC05XSspXFwnKFswLTldKykkIikuZXhlYyhlKSx0KXtjb25zdCBlPSEhdFsxXSxvPXBhcnNlSW50KHRbMl0pLHI9dGhpcy5fcHJpY2VTY2FsZSxzPXRoaXMuX3BhdGNoRnJhY3RQYXJ0KHBhcnNlSW50KHRbM10pLDEscik7aWYocz49cnx8czwwKXJldHVybntlcnJvcjp0aGlzLl9mb3JtYXR0ZXJFcnJvcnMuZnJhY3Rpb24scmVzOiExfTtsZXQgXz1vK3MvcjtyZXR1cm4gZSYmKF89LV8pLHt2YWx1ZTpfLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChfKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGFyc2VBc0RvdWJsZUZyYWN0aW9uYWwoZSl7bGV0IHQ9Yi5leGVjKGUpO2lmKHQpe2NvbnN0IHQ9cGFyc2VGbG9hdChlKTtyZXR1cm57dmFsdWU6dCxyZXM6ITAsc3VnZ2VzdDp0aGlzLmZvcm1hdEltcGwodCl9fQppZih0PW5ldyBSZWdFeHAoIl4oLT8pKFswLTldKylcXCcoWzAtOV0rKVxcJyhbMC05XSspJCIpLmV4ZWMoZSksdCl7Y29uc3QgZT0hIXRbMV0sbz1wYXJzZUludCh0WzJdKSxyPXZvaWQgMCE9PXRoaXMuX21pbk1vdmUyJiZudWxsIT09dGhpcy5fbWluTW92ZTI/dGhpcy5fbWluTW92ZTI6TmFOLHM9dGhpcy5fcHJpY2VTY2FsZS9yLF89dGhpcy5fbWluTW92ZTIsaT10aGlzLl9wYXRjaEZyYWN0UGFydChwYXJzZUludCh0WzNdKSwxLHMpLGE9dGhpcy5fcGF0Y2hGcmFjdFBhcnQocGFyc2VJbnQodFs0XSksMixfKTtpZihpPj1zfHxpPDApcmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5mcmFjdGlvbixyZXM6ITF9O2lmKG51bGwhPV8mJmE+PV98fGE8MClyZXR1cm57ZXJyb3I6dGhpcy5fZm9ybWF0dGVyRXJyb3JzLnNlY29uZEZyYWN0aW9uLHJlczohMX07bGV0IG49bnVsbCE9Xz9vK2kvcythLyhzKl8pOk5hTjtyZXR1cm4gZSYmKG49LW4pLHt2YWx1ZTpuLHJlczohMCxzdWdnZXN0OnRoaXMuZm9ybWF0SW1wbChuKX19cmV0dXJue2Vycm9yOnRoaXMuX2Zvcm1hdHRlckVycm9ycy5jdXN0b20scmVzOiExfX1fcGF0Y2hGcmFjdFBhcnQoZSx0LG8pe2NvbnN0IHI9ezA6MCw1OjF9LHM9ezA6MCwyOjEsNToyLDc6M30sXz17MDowLDE6MSwyOjIsMzozLDU6NCw2OjUsNzo2LDg6N307cmV0dXJuIDI9PT1vP3ZvaWQgMD09PXJbZV0/LTE6cltlXTo0PT09bz92b2lkIDA9PT1zW2VdPy0xOnNbZV06OD09PW8mJjI9PT10P3ZvaWQgMD09PV9bZV0/LTE6X1tlXTplfV9mb3JtYXRBc0ZyYWN0aW9uYWwoZSl7Y29uc3R7cHJpY2U6dCx0YWlsU2l6ZTpvLHByaWNlU2NhbGU6cixtaW5Nb3ZlOnMsbWluTW92ZTI6XyxmcmFjdGlvbmFsTGVuZ3RoOmF9PWUsbj1yL3M7bGV0IGw9TWF0aC5mbG9vcih0KSxjPW8/TWF0aC5mbG9vcih0Km4pLWwqbjpNYXRoLnJvdW5kKHQqbiktbCpuO2M9PT1uJiYoYz0wLGwrPTEpO2xldCBkPSIiO2lmKG8pe2xldCBlPSh0LWwtYy9uKSpuO2U9TWF0aC5yb3VuZChlKk1hdGgucG93KDEwLG8pKSxkPSgwLGkubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGUsbyksZD10aGlzLl9yZW1vdmVFbmRpbmdaZXJvcyhkLG8pfWlmKCFhKXRocm93IG5ldyBFcnJvcigiX2ZyYWN0aW9uYWxMZW5ndGggaXMgbm90IGNhbGN1bGF0ZWQiKTtsZXQgdT0iIjtpZihfKXtjb25zdCBlPWMlXztjPShjLWUpL187Y29uc3QgdD0oMCxpLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjLGEpLG89dGhpcy5fZ2V0RnJhY3RQYXJ0KGUsMixfKTt1PXQrcCtvfWVsc2UgYz10aGlzLl9nZXRGcmFjdFBhcnQoYywxLHIpLHU9KDAsaS5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYypzLGEpO3JldHVybiBsLnRvU3RyaW5nKCkrcCt1K2R9X2dldEZyYWN0UGFydChlLHQsbyl7Y29uc3Qgcj1bMCw1XSxzPVswLDIsNSw3XSxfPVswLDEsMiwzLDUsNiw3LDhdO3JldHVybiAyPT09bz92b2lkIDA9PT1yW2VdPy0xOnJbZV06ND09PW8/dm9pZCAwPT09c1tlXT8tMTpzW2VdOjg9PT1vJiYyPT09dD92b2lkIDA9PT1fW2VdPy0xOl9bZV06ZX19Y2xhc3MgeXtjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9InByaWNlIjtjb25zdHttaW5Nb3ZlMjp0LGZyYWN0aW9uYWw6byx2YXJpYWJsZU1pblRpY2s6XyxpZ25vcmVNaW5Nb3ZlOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0OmF9PWUsbj0oMCxyLmlzTnVtYmVyKShlLnByaWNlU2NhbGUpJiYoMCxyLmlzSW50ZWdlcikoZS5wcmljZVNjYWxlKT9lLnByaWNlU2NhbGU6MTAwO2lmKG48MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGJhc2UiKTtjb25zdCBsPSFlLm1pbk1vdmV8fGk/MTplLm1pbk1vdmUsYz1zKG4sbCxvLHQpLGQ9ey4uLmUsbWluTW92ZTpsLHByaWNlU2NhbGU6bixmcmFjdGlvbmFsTGVuZ3RoOmN9O3RoaXMuX3ByaWNlU2NhbGU9bix0aGlzLl9taW5Nb3ZlPWwsdGhpcy5fbWluTW92ZTI9dCx0aGlzLl9mcmFjdGlvbmFsPW8sdGhpcy5fdmFyaWFibGVNaW5UaWNrPV8sdGhpcy5faWdub3JlTWluTW92ZT1pLHRoaXMuX2ZyYWN0aW9uYWxMZW5ndGg9Yyx0aGlzLl9pZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ9YSx0aGlzLl9ub0V4cG9uZW50aWFsRm9ybT1lLm5vRXhwb25lbnRpYWxGb3JtLHRoaXMuX2ltcGxlbWVudGF0aW9uPW8/bmV3IHcoZCk6bmV3IGcoZCl9aXNGcmFjdGlvbmFsKCl7cmV0dXJuISF0aGlzLl9mcmFjdGlvbmFsfXN0YXRlKCl7cmV0dXJue21pbk1vdmU6dGhpcy5fbWluTW92ZSxtaW5Nb3ZlMjp0aGlzLl9taW5Nb3ZlMixwcmljZVNjYWxlOnRoaXMuX3ByaWNlU2NhbGUsdmFyaWFibGVNaW5UaWNrOnRoaXMuX3ZhcmlhYmxlTWluVGljayxpZ25vcmVNaW5Nb3ZlOnRoaXMuX2lnbm9yZU1pbk1vdmUsZnJhY3Rpb25hbDp0aGlzLl9mcmFjdGlvbmFsLG5vRXhwb25lbnRpYWxGb3JtOnRoaXMuX25vRXhwb25lbnRpYWxGb3JtfX1mb3JtYXRDaGFuZ2UoZSx0LG8pe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5mb3JtYXRJbXBsKGUtdCx7Li4ubyx2YXJpYWJsZU1pblRpY2tEYXRhUHJpY2U6TWF0aC5taW4oTWF0aC5hYnMoZSksTWF0aC5hYnModCkpfSl9Zm9ybWF0KGUsdCl7cmV0dXJuIHRoaXMuX2ltcGxlbWVudGF0aW9uLmZvcm1hdEltcGwoZSx0KX1wYXJzZShlLHQpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5wYXJzZShlLHQpfWhhc0ZvcmV4QWRkaXRpb25hbFByZWNpc2lvbigpe3JldHVybiB0aGlzLl9pbXBsZW1lbnRhdGlvbi5oYXNGb3JleEFkZGl0aW9uYWxQcmVjaXNpb24oKX1zdGF0aWMgc2VyaWFsaXplKGUpe3JldHVybiBlLnN0YXRlKCl9c3RhdGljIGRlc2VyaWFsaXplKGUpe3JldHVybiBuZXcgeShlKX19fSw3ODMyNTQoZSx0LG8pe28uZCh0LHt0OigpPT5yfSk7Y29uc3Qgcj1vLmkxOG5leHR9LDYyMDM1NChlLHQsbyl7dmFyIHI7by5kKHQse0xvZ29TaXplOigpPT5yfSksZnVuY3Rpb24oZSl7ZVtlLk1lZGl1bT0wXT0iTWVkaXVtIixlW2UuTGFyZ2U9MV09IkxhcmdlIn0ocnx8KHI9e30pKX0sNzQ5NjQ4KGUsdCxvKXtmdW5jdGlvbiByKGUsdD0hMSl7CiJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/dD9zZXRUaW1lb3V0KCgoKT0+ZSgpKSwxKTplKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT5lKCkpKX1vLmQodCx7d2hlbkRvY3VtZW50UmVhZHk6KCk9PnJ9KTtuZXcgUHJvbWlzZSgoZT0+e3IoZSl9KSl9LDYzNTE4KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyIxNDg1MSI6e30sImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiOnt9LCJjb3VudGRvd24iOnt9LCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiI6e30sInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiOnt9LCJncmF5aW5nX2Rpc2FibGVkX3Rvb2xzX2VuYWJsZWQiOnt9LCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIjp7fSwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50Ijp7fSwicGhvbmVfdmVyaWZpY2F0aW9uIjp7fSwic2hvd190cmFkaW5nX25vdGlmaWNhdGlvbnNfaGlzdG9yeSI6e30sInNob3dfaW50ZXJ2YWxfZGlhbG9nX29uX2tleV9wcmVzcyI6e30sImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIjp7InN1YnNldHMiOlsic2hvd19pbnRlcnZhbF9kaWFsb2dfb25fa2V5X3ByZXNzIl19LCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iOnt9LCJoZWFkZXJfc3ltYm9sX3NlYXJjaCI6e30sInN5bWJvbF9zZWFyY2hfaG90X2tleSI6e30sImhlYWRlcl9yZXNvbHV0aW9ucyI6eyJzdWJzZXRzIjpbImhlYWRlcl9pbnRlcnZhbF9kaWFsb2dfYnV0dG9uIl19LCJoZWFkZXJfY2hhcnRfdHlwZSI6e30sImhlYWRlcl9zZXR0aW5ncyI6e30sImhlYWRlcl9pbmRpY2F0b3JzIjp7fSwiaGVhZGVyX2NvbXBhcmUiOnt9LCJoZWFkZXJfdW5kb19yZWRvIjp7fSwiaGVhZGVyX3F1aWNrX3NlYXJjaCI6e30sImhlYWRlcl9zY3JlZW5zaG90Ijp7fSwiaGVhZGVyX3NhdmVsb2FkIjp7fSwic3R1ZHlfb25fc3R1ZHkiOnt9LCJzY2FsZXNfZGF0ZV9mb3JtYXQiOnt9LCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiOnt9LCJoZWFkZXJfd2lkZ2V0Ijp7InN1YnNldHMiOlsiaGVhZGVyX3dpZGdldF9kb21fbm9kZSIsImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwiaGVhZGVyX3Jlc29sdXRpb25zIiwiaGVhZGVyX2NoYXJ0X3R5cGUiLCJoZWFkZXJfc2V0dGluZ3MiLCJoZWFkZXJfaW5kaWNhdG9ycyIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX3VuZG9fcmVkbyIsImhlYWRlcl9xdWlja19zZWFyY2giLCJoZWFkZXJfZnVsbHNjcmVlbl9idXR0b24iLCJjb21wYXJlX3N5bWJvbCIsImhlYWRlcl9zY3JlZW5zaG90Il19LCJsZWdlbmRfd2lkZ2V0Ijp7fSwiY29tcGFyZV9zeW1ib2wiOnsic3Vic2V0cyI6WyJoZWFkZXJfY29tcGFyZSJdfSwicHJvcGVydHlfcGFnZXMiOnsic3Vic2V0cyI6WyJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiLCJjaGFydF9wcm9wZXJ0eV9wYWdlIl19LCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiOnt9LCJjaGFydF9wcm9wZXJ0eV9wYWdlIjp7InN1YnNldHMiOlsiY2hhcnRfcHJvcGVydHlfcGFnZV9zY2FsZXMiLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3RyYWRpbmciLCJjaGFydF9wcm9wZXJ0eV9wYWdlX3JpZ2h0X21hcmdpbl9lZGl0b3IiXX0sImxlZnRfdG9vbGJhciI6e30sInJpZ2h0X3Rvb2xiYXIiOnt9LCJoaWRlX2xlZnRfdG9vbGJhcl9ieV9kZWZhdWx0Ijp7fSwiY29udHJvbF9iYXIiOnt9LCJ3aWRnZXRfbG9nbyI6e30sInRpbWVmcmFtZXNfdG9vbGJhciI6e30sImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiOnsic3Vic2V0cyI6WyJzaG93X2hpZGVfYnV0dG9uX2luX2xlZ2VuZCIsImZvcm1hdF9idXR0b25faW5fbGVnZW5kIiwic3R1ZHlfYnV0dG9uc19pbl9sZWdlbmQiLCJkZWxldGVfYnV0dG9uX2luX2xlZ2VuZCIsImxlZ2VuZF9pbnBsYWNlX2VkaXQiXX0sInNob3dfaGlkZV9idXR0b25faW5fbGVnZW5kIjp7fSwib2JqZWN0X3RyZWVfbGVnZW5kX21vZGUiOnt9LCJmb3JtYXRfYnV0dG9uX2luX2xlZ2VuZCI6e30sInN0dWR5X2J1dHRvbnNfaW5fbGVnZW5kIjp7fSwiZGVsZXRlX2J1dHRvbl9pbl9sZWdlbmQiOnt9LCJsZWdlbmRfaW5wbGFjZV9lZGl0Ijp7fSwiYnJva2VyX2J1dHRvbiI6e30sImJ1eV9zZWxsX2J1dHRvbnMiOnsic3Vic2V0cyI6WyJicm9rZXJfYnV0dG9uIl19LCJzaG93X2J1eV9zZWxsX2J1dHRvbnNfb25fdW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiI6e30sInBhbmVfY29udGV4dF9tZW51Ijp7fSwic2NhbGVzX2NvbnRleHRfbWVudSI6e30sImxlZ2VuZF9jb250ZXh0X21lbnUiOnt9LCJjb250ZXh0X21lbnVzIjp7InN1YnNldHMiOlsicGFuZV9jb250ZXh0X21lbnUiLCJzY2FsZXNfY29udGV4dF9tZW51IiwibGVnZW5kX2NvbnRleHRfbWVudSIsIm9iamVjdHNfdHJlZV9jb250ZXh0X21lbnUiXX0sIml0ZW1zX2Zhdm9yaXRpbmciOnt9LCJzYXZlX2NoYXJ0X3Byb3BlcnRpZXNfdG9fbG9jYWxfc3RvcmFnZSI6e30sInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIjp7InN1YnNldHMiOlsiaXRlbXNfZmF2b3JpdGluZyIsInNhdmVfY2hhcnRfcHJvcGVydGllc190b19sb2NhbF9zdG9yYWdlIl19LCJoYW5kbGVfc2NhbGUiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY2FsZSIsInBpbmNoX3NjYWxlIiwiYXhpc19wcmVzc2VkX21vdXNlX21vdmVfc2NhbGUiXX0sImhhbmRsZV9zY3JvbGwiOnsic3Vic2V0cyI6WyJtb3VzZV93aGVlbF9zY3JvbGwiLCJwcmVzc2VkX21vdXNlX21vdmVfc2Nyb2xsIiwiaG9yel90b3VjaF9kcmFnX3Njcm9sbCIsInZlcnRfdG91Y2hfZHJhZ19zY3JvbGwiXX0sInBsYWluX3N0dWR5bWFya2V0Ijp7fSwiZGlzYWJsZV9yZXNvbHV0aW9uX3JlYnVpbGQiOnt9LCJib3JkZXJfYXJvdW5kX3RoZV9jaGFydCI6e30sImNoYXJ0aW5nX2xpYnJhcnlfZGVidWdfbW9kZSI6e30sInNhdmVsb2FkX3JlcXVpcmVzX2F1dGhlbnRpY2F0aW9uIjp7fSwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIjp7fSwidm9sdW1lX2ZvcmNlX292ZXJsYXkiOnt9LCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0Ijp7fSwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdF9vbmNlIjp7fSwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIjp7fSwibGVhbl9jaGFydF9sb2FkIjp7fSwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0Ijp7fSwic3Rhcl9zb21lX2ludGVydmFsc19ieV9kZWZhdWx0Ijp7fSwibW92ZV9sb2dvX3RvX21haW5fcGFuZSI6e30sInNob3dfYW5pbWF0ZWRfbG9nbyI6e30sImxpbmtfdG9fdHJhZGluZ3ZpZXciOnt9LCJsb2dvX3dpdGhvdXRfbGluayI6e30sImxvZ29fYWx3YXlzX21heGltaXplZCI6e30sInJpZ2h0X2Jhcl9zdGF5c19vbl9zY3JvbGwiOnt9LCJjaGFydF9jb250ZW50X292ZXJyaWRlc19ieV9kZWZhdWx0cyI6e30sInNuYXBzaG90X3RyYWRpbmdfZHJhd2luZ3MiOnt9LCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiOnt9LCJ3aWRnZXRiYXJfdGFicyI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sInNob3dfb2JqZWN0X3RyZWUiOnsic3Vic2V0cyI6WyJyaWdodF90b29sYmFyIl19LCJkb21fd2lkZ2V0Ijp7InN1YnNldHMiOlsicmlnaHRfdG9vbGJhciJdfSwiY29sbGFwc2libGVfaGVhZGVyIjp7fSwic3R1ZHlfdGVtcGxhdGVzIjp7fSwia2VlcF9zZWxlY3RlZF9ncm91cF9vbl90b29sX2NyZWF0aW9uIjp7fSwic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSI6e30sImhlYWRlcl9pbl9mdWxsc2NyZWVuX21vZGUiOnt9LCJyZW1vdmVfbGlicmFyeV9jb250YWluZXJfYm9yZGVyIjp7fSwid2hvdHJhZGVzX2F1dGhfb25seSI6e30sInN1cHBvcnRfbXVsdGljaGFydHMiOnt9LCJkaXNwbGF5X21hcmtldF9zdGF0dXMiOnt9LCJkaXNwbGF5X2RhdGFfbW9kZSI6e30sImRhdGFzb3VyY2VfY29weXBhc3RlIjp7fSwiZHJhd2luZ190ZW1wbGF0ZXMiOnsic3Vic2V0cyI6WyJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIl19LCJleHBhbmRfc3ltYm9sc2VhcmNoX2l0ZW1zIjp7fSwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyI6e30sInN5bWJvbF9zZWFyY2hfZmxhZ3MiOnt9LCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIjp7fSwiYnVncmVwb3J0X2J1dHRvbiI6eyJzdWJzZXRzIjpbInJpZ2h0X3Rvb2xiYXIiXX0sImhlYWRlcl90cmFkZV9idXR0b24iOnt9LCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIjp7fSwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iOnt9LCJ0ZXh0X25vdGVzIjp7fSwic2hvd19zb3VyY2VfY29kZSI6e30sInN5bWJvbF9pbmZvIjp7fSwibm9fYmFyc19zdGF0dXMiOnt9LCJjbGVhcl9iYXJzX29uX3Nlcmllc19lcnJvciI6e30sImhpZGVfbG9hZGluZ19zY3JlZW5fb25fc2VyaWVzX2Vycm9yIjp7fSwic2Vjb25kc19yZXNvbHV0aW9uIjp7fSwiZG9udF9zaG93X2Jvb2xlYW5fc3R1ZHlfYXJndW1lbnRzIjp7fSwiaGlkZV9sYXN0X25hX3N0dWR5X291dHB1dCI6e30sInByaWNlX3NjYWxlX2Fsd2F5c19sYXN0X2Jhcl92YWx1ZSI6e30sInN0dWR5X2RpYWxvZ19mdW5kYW1lbnRhbHNfZWNvbm9teV9hZGRvbnMiOnt9LCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyI6e30sInRyYWRpbmdfbm90aWZpY2F0aW9ucyI6e30sImNoYXJ0X2Nyb3NzaGFpcl9tZW51Ijp7fSwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIjp7fSwiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X292ZXJsYXlfbGVnZW5kX2l0ZW0iOnt9LCJoaWRlX3N0dWR5X2NvbXBhcmVfbGVnZW5kX2l0ZW0iOnt9LCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIjp7fSwidXNlX292ZXJyaWRlc19mb3Jfb3ZlcmxheSI6e30sInRpbWV6b25lX21lbnUiOnt9LCJtYWluX3Nlcmllc19zY2FsZV9tZW51Ijp7fSwic2hvd19sb2dpbl9kaWFsb2ciOnt9LCJyZW1vdmVfaW1nX2Zyb21fcnNzIjp7fSwiYmFyc19tYXJrcyI6e30sImNoYXJ0X3Njcm9sbCI6e30sImNoYXJ0X3pvb20iOnt9LCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiOnt9LCJsb3dfZGVuc2l0eV9iYXJzIjp7fSwiZW5kX29mX3BlcmlvZF90aW1lc2NhbGVfbWFya3MiOnt9LCJvcGVuX2FjY291bnRfbWFuYWdlciI6e30sInNob3dfb3JkZXJfcGFuZWxfb25fc3RhcnQiOnt9LCJvcmRlcl9wYW5lbCI6eyJzdWJzZXRzIjpbIm9yZGVyX3BhbmVsX2Nsb3NlX2J1dHRvbiIsIm9yZGVyX3BhbmVsX3VuZG9jayIsInJpZ2h0X3Rvb2xiYXIiLCJvcmRlcl9pbmZvIl19LCJtdWx0aXBsZV93YXRjaGxpc3RzIjp7fSwid2F0Y2hsaXN0X2ltcG9ydF9leHBvcnQiOnt9LCJzdHVkeV9vdmVybGF5X2NvbXBhcmVfbGVnZW5kX29wdGlvbiI6e30sIm1vYmlsZV9hcHBfYWN0aW9uX29wZW5fZGV0YWlsc193ZWJ2aWV3Ijp7fSwiY3VzdG9tX3Jlc29sdXRpb25zIjp7fSwicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyI6e30sIm1vYmlsZV90cmFkaW5nIjp7fSwicmVhbF9icm9rZXJzIjp7fSwicXVpY2tfdHJhZGluZ19wYW5lbCI6e30sIm5hdGl2ZV9tb2JpbGVfYnJva2Vyc19saXN0Ijp7fSwibm9fbWluX2NoYXJ0X3dpZHRoIjp7fSwibG9ja192aXNpYmxlX3RpbWVfcmFuZ2Vfb25fcmVzaXplIjp7fSwicHJpY2VzY2FsZV9jdXJyZW5jeSI6e30sImNyb3BwZWRfdGlja19tYXJrcyI6e30sInRyYWRpbmdfYWNjb3VudF9tYW5hZ2VyIjp7fSwiZGlzYWJsZV9zYW1laW50ZXJ2YWxfYWxpZ25pbmciOnt9LCJkaXNwbGF5X2xlZ2VuZF9vbl9hbGxfY2hhcnRzIjp7fSwiY2hhcnRfc3R5bGVfaGlsbyI6e30sImNoYXJ0X3N0eWxlX2hpbG9fbGFzdF9wcmljZSI6e30sInByaWNlc2NhbGVfdW5pdCI6e30sInNob3dfc3ByZWFkX29wZXJhdG9ycyI6e30sImhpZGVfZXhwb25lbnRpYXRpb25fc3ByZWFkX29wZXJhdG9yIjp7fSwiaGlkZV9yZWNpcHJvY2FsX3NwcmVhZF9vcGVyYXRvciI6e30sImNvbXBhcmVfc3ltYm9sX3NlYXJjaF9zcHJlYWRfb3BlcmF0b3JzIjp7fSwic3R1ZGllc19zeW1ib2xfc2VhcmNoX3NwcmVhZF9vcGVyYXRvcnMiOnt9LCJoaWRlX3Jlc29sdXRpb25faW5fbGVnZW5kIjp7fSwiaGlkZV91bnJlc29sdmVkX3N5bWJvbHNfaW5fbGVnZW5kIjp7fSwiZml4X2xlZnRfZWRnZSI6e30sInN0dWR5X3N5bWJvbF90aWNrZXJfZGVzY3JpcHRpb24iOnt9LCJ0d29fY2hhcmFjdGVyX2Jhcl9tYXJrc19sYWJlbHMiOnt9LCJwaW5fYmFyX21hcmtfdG9vbHRpcHNfb25fY2xpY2siOnt9LCJ0aWNrX3Jlc29sdXRpb24iOnt9LCJzZWNvbmRhcnlfc2VyaWVzX2V4dGVuZF90aW1lX3NjYWxlIjp7fSwiaGlkZV92b2x1bWVfbWEiOnt9LCJzbWFsbF9ub19kaXNwbGF5Ijp7fSwiY2hhcnRpbmdfbGlicmFyeV9zaW5nbGVfc3ltYm9sX3JlcXVlc3QiOnt9LCJ1c2VfdGlja2VyX29uX3N5bWJvbF9pbmZvX3VwZGF0ZSI6e30sInNob3dfem9vbV9hbmRfbW92ZV9idXR0b25zX29uX3RvdWNoIjp7fSwiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIjp7fSwiY2hhcnRfaGlkZV9jbG9zZV9wb3NpdGlvbl9idXR0b24iOnt9LCJjaGFydF9oaWRlX2Nsb3NlX29yZGVyX2J1dHRvbiI6e30sImhpZGVfcHJpY2Vfc2NhbGVfZ2xvYmFsX2xhc3RfYmFyX3ZhbHVlIjp7InN1YnNldHMiOlsidXNlX2xhc3RfdmlzaWJsZV9iYXJfdmFsdWVfaW5fbGVnZW5kIl19LCJrZWVwX29iamVjdF90cmVlX3dpZGdldF9pbl9yaWdodF90b29sYmFyIjp7fSwic2hvd19hdmVyYWdlX2Nsb3NlX3ByaWNlX2xpbmVfYW5kX2xhYmVsIjp7fSwiaGlkZV9pbWFnZV9pbnZhbGlkX3N5bWJvbCI6e30sImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIjp7fSwiY29uZmlybV9vdmVyd3JpdGVfaWZfY2hhcnRfbGF5b3V0X3dpdGhfbmFtZV9leGlzdHMiOnt9LCJkZXRlcm1pbmVfZmlyc3RfZGF0YV9yZXF1ZXN0X3NpemVfdXNpbmdfdmlzaWJsZV9yYW5nZSI6e30sInVzZV9uYV9zdHJpbmdfZm9yX25vdF9hdmFpbGFibGVfdmFsdWVzIjp7fSwic2hvd19sYXN0X3ByaWNlX2FuZF9jaGFuZ2Vfb25seV9pbl9zZXJpZXNfbGVnZW5kIjp7fSwibGVnZW5kX2xhc3RfZGF5X2NoYW5nZSI6e30sImlmcmFtZV9sb2FkaW5nX2NvbXBhdGliaWxpdHlfbW9kZSI6e30sInNob3dfcGVyY2VudF9vcHRpb25fZm9yX3JpZ2h0X21hcmdpbiI6e30sIndhdGNobGlzdF9jb250ZXh0X21lbnUiOnt9LCJhY2Nlc3NpYmxlX2tleWJvYXJkX3Nob3J0Y3V0cyI6e30sImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyI6e30sImFwcF9waG9uZSI6e30sImFwcF90YWJsZXQiOnt9LCJtb2JpbGVfYXBwX2hpZGVfcmVwbGF5X3Rvb2xiYXIiOnt9LCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fdGFwX2luX2xlZ2VuZCI6e30sInNob3dfbmF0aXZlX3N5bWJvbF9zZWFyY2hfb25fbm9uX3RyYWRhYmxlIjp7fSwic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyI6e30sInByZV9wb3N0X21hcmtldF9wcmljZV9saW5lIjp7fSwicHJlX3Bvc3RfbWFya2V0X3Nlc3Npb25zIjp7fSwic3R1ZGllc19leHRlbmRfdGltZV9zY2FsZSI6e30sImluYWN0aXZpdHlfZ2FwcyI6e30sImFsaWduX2R3bV9iYXJzX3RvX21haW5fc2VyaWVzIjp7fSwicmVxdWVzdF9vbmx5X3Zpc2libGVfcmFuZ2Vfb25fcmVzZXQiOnt9LCJleHRlbmRlZF9leHRyYXBvbGF0aW9uX2xpbWl0Ijp7fSwidHZfcHJvZHVjdGlvbiI6eyJzdWJzZXRzIjpbIndhdGNobGlzdF9zZWN0aW9ucyIsImFkdmFuY2VkX2Vtb2ppX2luX3RpdGxlcyIsImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsImhlYWRlcl9mdWxsc2NyZWVuX2J1dHRvbiIsImhlYWRlcl93aWRnZXQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwiYnV5X3NlbGxfYnV0dG9ucyIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiLCJzYXZlbG9hZF9yZXF1aXJlc19hdXRoZW50aWNhdGlvbiIsInZvbHVtZV9mb3JjZV9vdmVybGF5Iiwic2F2ZWRfY2hhcnRzX2NvdW50X3Jlc3RyaWN0aW9uIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHRfb25jZSIsImNoYXJ0c19hdXRvX3NhdmUiLCJzYXZlX29sZF9jaGFydF9iZWZvcmVfc2F2ZV9hcyIsImNoYXJ0X2NvbnRlbnRfb3ZlcnJpZGVzX2J5X2RlZmF1bHRzIiwiYWxlcnRzIiwiaGVhZGVyX3NhdmVsb2FkIiwiaGVhZGVyX2xheW91dHRvZ2dsZSIsImRhdGFzb3VyY2VfY29weXBhc3RlIiwic2hvd19zYXZlZF93YXRjaGxpc3RzIiwid2F0Y2hsaXN0c19mcm9tX3RvX2ZpbGUiLCJhZGRfdG9fd2F0Y2hsaXN0IiwicHJvcGVydHlfcGFnZXMiLCJzdXBwb3J0X211bHRpY2hhcnRzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZGlzcGxheV9kYXRhX21vZGUiLCJzaG93X2NoYXJ0X3dhcm5fbWVzc2FnZSIsInN1cHBvcnRfbWFuYWdlX2RyYXdpbmdzIiwid2lkZ2V0YmFyX3RhYnMiLCJzdHVkeV90ZW1wbGF0ZXMiLCJjb2xsYXBzaWJsZV9oZWFkZXIiLCJkcmF3aW5nX3RlbXBsYXRlcyIsImhlYWRlcl90cmFkZV9idXR0b24iLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIiwiZm9vdGVyX3B1Ymxpc2hfaWRlYV9idXR0b24iLCJ0ZXh0X25vdGVzIiwic2hvd19zb3VyY2VfY29kZSIsInN5bWJvbF9pbmZvIiwibGluZXRvb2xwcm9wZXJ0aWVzd2lkZ2V0X3RlbXBsYXRlX2J1dHRvbiIsInRyYWRpbmdfbm90aWZpY2F0aW9ucyIsInN5bWJvbF9zZWFyY2hfdGhyZWVfY29sdW1uc19leGNoYW5nZXMiLCJzeW1ib2xfc2VhcmNoX2ZsYWdzIiwic3ltYm9sX3NlYXJjaF9saW1pdGVkX2V4Y2hhbmdlcyIsInBob25lX3ZlcmlmaWNhdGlvbiIsImN1c3RvbV9yZXNvbHV0aW9ucyIsImNvbXBhcmVfc3ltYm9sIiwic3R1ZHlfb25fc3R1ZHkiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJzaG93X2xvZ2luX2RpYWxvZyIsImRvbV93aWRnZXQiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNob3dfdHJhZGluZ19ub3RpZmljYXRpb25zX2hpc3RvcnkiLCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiLCJzdHVkeV9kaWFsb2dfZnVuZGFtZW50YWxzX2Vjb25vbXlfYWRkb25zIiwibXVsdGlwbGVfd2F0Y2hsaXN0cyIsIm1hcmtlZF9zeW1ib2xzIiwib3JkZXJfcGFuZWwiLCJwcmljZXNjYWxlX2N1cnJlbmN5Iiwic2hvd19hbmltYXRlZF9sb2dvIiwicHJpY2VzY2FsZV9jdXJyZW5jeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsInNjYWxlc19kYXRlX2Zvcm1hdCIsInNjYWxlc190aW1lX2hvdXJzX2Zvcm1hdCIsInBvcHVwX2hpbnRzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIsInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiLCJrZWVwX3NlbGVjdGVkX2dyb3VwX29uX3Rvb2xfY3JlYXRpb24iXX0sIndpZGdldCI6eyJzdWJzZXRzIjpbImF1dG9fZW5hYmxlX3N5bWJvbF9sYWJlbHMiLCJzeW1ib2xfc2VhcmNoX3BhcnNlcl9taXhpbiIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwibGVmdF90b29sYmFyIiwicmlnaHRfdG9vbGJhciIsImNvbnRyb2xfYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwiY29udGV4dF9tZW51cyIsImVkaXRfYnV0dG9uc19pbl9sZWdlbmQiLCJvYmplY3RfdHJlZV9sZWdlbmRfbW9kZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwic2F2ZWxvYWRfcmVxdWlyZXNfYXV0aGVudGljYXRpb24iLCJ2b2x1bWVfZm9yY2Vfb3ZlcmxheSIsImNyZWF0ZV92b2x1bWVfaW5kaWNhdG9yX2J5X2RlZmF1bHQiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJoZWFkZXJfd2lkZ2V0X2RvbV9ub2RlIiwiaGVhZGVyX3N5bWJvbF9zZWFyY2giLCJoZWFkZXJfcmVzb2x1dGlvbnMiLCJoZWFkZXJfY2hhcnRfdHlwZSIsImhlYWRlcl9jb21wYXJlIiwiaGVhZGVyX2luZGljYXRvcnMiLCJzdGFyX3NvbWVfaW50ZXJ2YWxzX2J5X2RlZmF1bHQiLCJkaXNwbGF5X21hcmtldF9zdGF0dXMiLCJkaXNwbGF5X2RhdGFfbW9kZSIsInNob3dfY2hhcnRfd2Fybl9tZXNzYWdlIiwic3ltYm9sX2luZm8iLCJsaW5ldG9vbHByb3BlcnRpZXN3aWRnZXRfdGVtcGxhdGVfYnV0dG9uIiwic3ltYm9sX3NlYXJjaF90aHJlZV9jb2x1bW5zX2V4Y2hhbmdlcyIsInN5bWJvbF9zZWFyY2hfZmxhZ3MiLCJzeW1ib2xfc2VhcmNoX2xpbWl0ZWRfZXhjaGFuZ2VzIiwid2lkZ2V0YmFyX3RhYnMiLCJjb21wYXJlX3N5bWJvbCIsInNob3dfbG9naW5fZGlhbG9nIiwicGxhaW5fc3R1ZHltYXJrZXQiLCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwic2hvd19yaWdodF93aWRnZXRzX3BhbmVsX2J5X2RlZmF1bHQiLCJjaGFydF9zdHlsZV9oaWxvX2xhc3RfcHJpY2UiLCJzeW1ib2xfc2VhcmNoX2hpZ2hsaWdodF9hY3RpdmVfc3ltYm9sIl19LCJib3Zlc3BhX3dpZGdldCI6eyJzdWJzZXRzIjpbIndpZGdldCIsImhlYWRlcl9zZXR0aW5ncyIsImxpbmV0b29scHJvcGVydGllc3dpZGdldF90ZW1wbGF0ZV9idXR0b24iLCJjb21wYXJlX3JlY2VudF9zeW1ib2xzX2VuYWJsZWQiXX0sImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSI6eyJzdWJzZXRzIjpbIjE0ODUxIiwiYWxsb3dfc3VwcG9ydGVkX3Jlc29sdXRpb25zX3NldF9vbmx5IiwiYXV0b19lbmFibGVfc3ltYm9sX2xhYmVscyIsImJvcmRlcl9hcm91bmRfdGhlX2NoYXJ0IiwiY29sbGFwc2libGVfaGVhZGVyIiwiY29uc3RyYWludF9kaWFsb2dzX21vdmVtZW50IiwiY29udGV4dF9tZW51cyIsImNvbnRyb2xfYmFyIiwiY3JlYXRlX3ZvbHVtZV9pbmRpY2F0b3JfYnlfZGVmYXVsdCIsImN1c3RvbV9pdGVtc19pbl9jb250ZXh0X21lbnUiLCJkYXRhc291cmNlX2NvcHlwYXN0ZSIsInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIiwiZGlzcGxheV9tYXJrZXRfc3RhdHVzIiwiZWRpdF9idXR0b25zX2luX2xlZ2VuZCIsIm9iamVjdF90cmVlX2xlZ2VuZF9tb2RlIiwiZ3JheWluZ19kaXNhYmxlZF90b29sc19lbmFibGVkIiwiaGVhZGVyX3dpZGdldCIsImxlZ2VuZF93aWRnZXQiLCJoZWFkZXJfc2F2ZWxvYWQiLCJkb250X3Nob3dfYm9vbGVhbl9zdHVkeV9hcmd1bWVudHMiLCJsZWFuX2NoYXJ0X2xvYWQiLCJsZWZ0X3Rvb2xiYXIiLCJyaWdodF90b29sYmFyIiwibGlua190b190cmFkaW5ndmlldyIsInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiLCJwbGFpbl9zdHVkeW1hcmtldCIsInJlZnJlc2hfc2F2ZWRfY2hhcnRzX2xpc3Rfb25fZGlhbG9nX3Nob3ciLCJyaWdodF9iYXJfc3RheXNfb25fc2Nyb2xsIiwic2F2ZWxvYWRfc3RvcmFnZV9jdXN0b21pemF0aW9uIiwic3RvcF9zdHVkeV9vbl9yZXN0YXJ0IiwidGltZWZyYW1lc190b29sYmFyIiwic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwidXBkYXRlX3N0dWR5X2Zvcm1hdHRlcl9vbl9zeW1ib2xfcmVzb2x2ZSIsInVwZGF0ZV90aW1lZnJhbWVzX3NldF9vbl9zeW1ib2xfcmVzb2x2ZSIsInVzZV9sb2NhbHN0b3JhZ2VfZm9yX3NldHRpbmdzIiwidm9sdW1lX2ZvcmNlX292ZXJsYXkiLCJ3aWRnZXRfbG9nbyIsImNvdW50ZG93biIsInVzZV9vdmVycmlkZXNfZm9yX292ZXJsYXkiLCJ0cmFkaW5nX25vdGlmaWNhdGlvbnMiLCJjb21wYXJlX3N5bWJvbCIsInN5bWJvbF9pbmZvIiwidGltZXpvbmVfbWVudSIsIm1haW5fc2VyaWVzX3NjYWxlX21lbnUiLCJjcmVhdGVfdm9sdW1lX2luZGljYXRvcl9ieV9kZWZhdWx0X29uY2UiLCJiYXJzX21hcmtzIiwiY2hhcnRfc2Nyb2xsIiwiY2hhcnRfem9vbSIsInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIsInByb3BlcnR5X3BhZ2VzIiwiZ29fdG9fZGF0ZSIsImFkYXB0aXZlX2xvZ28iLCJzaG93X2FuaW1hdGVkX2xvZ28iLCJoYW5kbGVfc2NhbGUiLCJoYW5kbGVfc2Nyb2xsIiwic2hpZnRfdmlzaWJsZV9yYW5nZV9vbl9uZXdfYmFyIiwiY2hhcnRfY29udGVudF9vdmVycmlkZXNfYnlfZGVmYXVsdHMiLCJjcm9wcGVkX3RpY2tfbWFya3MiLCJzY2FsZXNfZGF0ZV9mb3JtYXQiLCJzY2FsZXNfdGltZV9ob3Vyc19mb3JtYXQiLCJwb3B1cF9oaW50cyIsInNhdmVfc2hvcnRjdXQiLCJzaG93X3JpZ2h0X3dpZGdldHNfcGFuZWxfYnlfZGVmYXVsdCIsInNob3dfb2JqZWN0X3RyZWUiLCJpbnNlcnRfaW5kaWNhdG9yX2RpYWxvZ19zaG9ydGN1dCIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsImhpZGVfbWFpbl9zZXJpZXNfc3ltYm9sX2Zyb21faW5kaWNhdG9yX2xlZ2VuZCIsImNoYXJ0X3N0eWxlX2hpbG8iLCJyZXF1ZXN0X29ubHlfdmlzaWJsZV9yYW5nZV9vbl9yZXNldCIsImNsZWFyX3ByaWNlX3NjYWxlX29uX2Vycm9yX29yX2VtcHR5X2JhcnMiLCJzaG93X3N5bWJvbF9sb2dvX2luX2xlZ2VuZCIsInNob3dfc3ltYm9sX2xvZ29fZm9yX2NvbXBhcmVfc3R1ZGllcyIsImxpYnJhcnlfY3VzdG9tX2NvbG9yX3RoZW1lcyIsImxvbmdfcHJlc3NfZmxvYXRpbmdfdG9vbHRpcCIsInN5bWJvbF9zZWFyY2hfaGlnaGxpZ2h0X2FjdGl2ZV9zeW1ib2wiXX0sImNoYXJ0aW5nX2xpYnJhcnkiOnsic3Vic2V0cyI6WyJjaGFydGluZ19saWJyYXJ5X2Jhc2UiXX0sInN0YXRpY19jaGFydHNfc2VydmljZSI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnkiLCJkaXNhYmxlX3Jlc29sdXRpb25fcmVidWlsZCJdfSwidHJhZGluZ190ZXJtaW5hbCI6eyJzdWJzZXRzIjpbImNoYXJ0aW5nX2xpYnJhcnlfYmFzZSIsInN1cHBvcnRfbXVsdGljaGFydHMiLCJoZWFkZXJfbGF5b3V0dG9nZ2xlIiwiamFwYW5lc2VfY2hhcnRfc3R5bGVzIiwiY2hhcnRfcHJvcGVydHlfcGFnZV90cmFkaW5nIiwiYWRkX3RvX3dhdGNobGlzdCIsIm9wZW5fYWNjb3VudF9tYW5hZ2VyIiwic2hvd19kb21fZmlyc3RfdGltZSIsIm9yZGVyX3BhbmVsIiwiYnV5X3NlbGxfYnV0dG9ucyIsIm11bHRpcGxlX3dhdGNobGlzdHMiLCJzaG93X3RyYWRpbmdfbm90aWZpY2F0aW9uc19oaXN0b3J5IiwiYWx3YXlzX3Bhc3NfY2FsbGVkX29yZGVyX3RvX21vZGlmeSIsInNob3dfb2JqZWN0X3RyZWUiLCJ3YXRjaGxpc3RfaW1wb3J0X2V4cG9ydCIsImRyYXdpbmdfdGVtcGxhdGVzIiwidHJhZGluZ19hY2NvdW50X21hbmFnZXIiLCJjaGFydF9jcm9zc2hhaXJfbWVudSIsImNvbXBhcmVfcmVjZW50X3N5bWJvbHNfZW5hYmxlZCIsIndhdGNobGlzdF9jb250ZXh0X21lbnUiLCJzaG93X3N5bWJvbF9sb2dvX2luX2FjY291bnRfbWFuYWdlciIsInNob3dfc3ltYm9sX2xvZ29faW5fY2xvc2VfcG9zaXRpb25fZGlhbG9nIiwic2hvd19zeW1ib2xfbG9nb19pbl9jYW5jZWxfb3JkZXJfZGlhbG9nIiwid2F0Y2hsaXN0X3NlY3Rpb25zIiwicHJlZmVyX3F1b3RlX3Nob3J0X25hbWUiLCJlbmFibGVfZG9tX2RhdGFfZm9yX3VudHJhZGFibGVfc3ltYm9scyIsInByZWZlcl9zeW1ib2xfbmFtZV9vdmVyX2Z1bGxuYW1lIiwid2F0Y2hsaXN0X2Nyb3NzX3RhYl9zeW5jIl19fScpCn0sNzQ2OTQ5KGUpewplLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhZHgiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHgiLCJhZHhEIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWR4RCIsImFnZW5jaWFsYm1jb21iciI6IndpZGdldF91c2VyX3Rva2VuLWFnZW5jaWFsYm1jb21iciIsImFsamF6aXJhY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxEIiwiYWxqYXppcmFjYXBpdGFsUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbGphemlyYWNhcGl0YWxSVCIsImFscmFqaGljYXBpdGFsY29tRCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tRCIsImFscmFqaGljYXBpdGFsY29tUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hbHJhamhpY2FwaXRhbGNvbVJUIiwiYW1iaXRvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYW1iaXRvIiwiYXJlbmF4dHJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXJlbmF4dHJvIiwiYXJ0ZWNoZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLUFydGVjaGVEIiwiYXRsY2FwaXRhbCI6IndpZGdldF91c2VyX3Rva2VuLWF0bGNhcGl0YWwiLCJiYW5raXJvc3J1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmFua2lyb3NydSIsImJidmFjaCI6IndpZGdldF91c2VyX3Rva2VuLWJidmFjaCIsImJlZWtzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1iZWVrc2dyb3VwIiwiYmVsdWdhZ3JvdXBydSI6IndpZGdldF91c2VyX3Rva2VuLWJlbHVnYWdyb3VwcnUiLCJiaXZhY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tYml2YWNvbSIsImJsdWVmaWVsZCI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVmaWVsZCIsImJsdWVsaW5lZnV0dXJlcyI6IndpZGdldF91c2VyX3Rva2VuLWJsdWVsaW5lZnV0dXJlcyIsImJvdmVzcGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ibWZib3Zlc3BhY29tYnIiLCJidmJybyI6IndpZGdldF91c2VyX3Rva2VuLWJ2YnJvIiwiYnl0ZXRyYXZlbCI6IndpZGdldF91c2VyX3Rva2VuLWJ5dGV0cmF2ZWwiLCJjYm9lY2FuYWRhIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2JvZWNhbmFkYSIsImNoYW1waW9ubmF0Ym91cnNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2hhbXBpb25uYXRib3Vyc2UiLCJjaW5jb2RpYXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaW5jb2RpYXMiLCJjZW9jYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYUQiLCJjZW9jYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tY2VvY2FSVCIsImNtY21hcmtldHMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jbWNtYXJrZXRzIiwiY29wZWVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tY29wZWVzIiwiY3NlbGsiOiJ3aWRnZXRfdXNlcl90b2tlbi1jc2VsayIsImRhaWx5ZngiOiJ3aWRnZXRfdXNlcl90b2tlbi1kYWlseWZ4IiwiZGVlcHNlYXJjaCI6IndpZGdldF91c2VyX3Rva2VuLWRlZXBzZWFyY2giLCJkZXJheWFoY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVyYXlhaGNvbSIsImRmbWFlRCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlRCIsImRmbWFlUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kZm1hZVJUIiwiZGluYXJzYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1kaW5hcnNhRCIsImRpbmFyc2FSVCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FSVCIsImRvbGFyaG95Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZG9sYXJob3kiLCJlYXN5bnZlc3Rjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWVhc3ludmVzdGNvbWJyIiwiZWRhaWx5Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZWRhaWx5IiwiZWxlc3Bhbm9sY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxlc3Bhbm9sY29tIiwiZWxvYnJlcm9lcyI6IndpZGdldF91c2VyX3Rva2VuLWVsb2JyZXJvZXMiLCJlbG5hY2lvbmFsRCI6IndpZGdldF91c2VyX3Rva2VuLUVsTmFjaW9uYWxEIiwiZWxwYWlzZmluYW5jaWVybyI6IndpZGdldF91c2VyX3Rva2VuLWVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwZXJpb2RpY29kZWxhZW5lcmdpYSIsImV1cXVlcm9pbnZlc3RpciI6IndpZGdldF91c2VyX3Rva2VuLWV1cXVlcm9pbnZlc3RpcmNvbSIsImV1cmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyZXgiLCJldXJvZmlucyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9maW5zIiwiZXBlIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXBlIiwiZXVyb3BhcHJlc3NlcyI6IndpZGdldF91c2VyX3Rva2VuLWV1cm9wYXByZXNzZXMiLCJmaW5hbnphc0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1GaW5hbnphc0QiLCJmb3JiZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLWZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyI6IndpZGdldF91c2VyX3Rva2VuLWdlbmlhbGludmVzdGltZW50b3MiLCJoZWFsdGhpdGFsaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1oZWFsdGhpdGFsaWEiLCJoZWduYXJubyI6IndpZGdldF91c2VyX3Rva2VuLWhlZ25hcm5vIiwiaGlwb3RlY2FyaW9jb21hciI6IndpZGdldF91c2VyX3Rva2VuLWhpcG90ZWNhcmlvY29tYXIiLCJpZ2NvbSI6IndpZGdldF91c2VyX3Rva2VuLWlnY29tIiwiaW52ZXN0ZWdhdGVjb3VrIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0ZWdhdGVjb3VrIiwiaW52ZXN0b3BlZGlhIjoid2lkZ2V0X3VzZXJfdG9rZW4taW52ZXN0b3BlZGlhIiwiaW50ZWdyYWx5YXRpcmltIjoid2lkZ2V0X3VzZXJfdG9rZW4taW50ZWdyYWx5YXRpcmltIiwiaXZzZ3JvdXAiOiJ3aWRnZXRfdXNlcl90b2tlbi1pdnNncm91cCIsImpzZWNvemEiOiJ3aWRnZXRfdXNlcl90b2tlbi1qc2Vjb3phIiwiYm9lcnNlbnplaXR1bmciOiJ3aWRnZXRfdXNlcl90b2tlbi1ib2Vyc2VuemVpdHVuZyIsImxhaW5mb3JtYWNpb25jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1sYWluZm9ybWFjaW9uY29tIiwibWFyY29wb2xvY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1tYXJjb3BvbG9jb21iciIsIm1lcmNhZG9maW5hbmNpZXJvY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbWVyY2Fkb2ZpbmFuY2llcm9jb20iLCJtb2V4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tbW9leCIsIm1vbmV5dGltZXNjb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1vbmV5dGltZXNjb21iciIsIm1vbml0b3Jkb21lcmNhZG9EIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uaXRvcmRvbWVyY2Fkb0QiLCJteW5ldGNvbSI6IndpZGdldF91c2VyX3Rva2VuLW15bmV0Y29tIiwibmVnb2Npb3MiOiJ3aWRnZXRfdXNlcl90b2tlbi1uZWdvY2lvcyIsIk5HWCI6IndpZGdldF91c2VyX3Rva2VuLU5HWCIsIk5vdGljaWFzYWdyaWNvbGFEIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm90aWNpYXNhZ3JpY29sYUQiLCJub21tb21hIjoid2lkZ2V0X3VzZXJfdG9rZW4tbm9tbW9tYSIsIm5zZWNva3IiOiJ3aWRnZXRfdXNlcl90b2tlbi1uc2Vjb2tyIiwib2tkaWFyaW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1va2RpYXJpbyIsInBhbmFmcmljYW5yZXNvdXJjZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1wYW5hZnJpY2FucmVzb3VyY2VzY29tIiwicHNlIjoid2lkZ2V0X3VzZXJfdG9rZW4tcHNlIiwicG9kZXIzNjAiOiJ3aWRnZXRfdXNlcl90b2tlbi1wb2RlcjM2MCIsInBzZUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2VEIiwicml5YWRoY2FwaXRhbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1yaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxSVCIsInFlY29tcWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1xZWNvbXFhIiwic2Ftb2xldCI6IndpZGdldF91c2VyX3Rva2VuLXNhbW9sZXQiLCJzZWVpbmdtYWNoaW5lc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXNlZWluZ21hY2hpbmVzY29tIiwic2V1ZGluaGVpcm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zZXVkaW5oZWlybyIsInNvZnR3YXJlYWciOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2Z0d2FyZWFnIiwic29nZWNsYWlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc29nZWNsYWlyIiwic2djb21wYW55aXQiOiJ3aWRnZXRfdXNlcl90b2tlbi1zZ2NvbXBhbnlpdCIsInNoYXJlanVuY3Rpb24iOiJ3aWRnZXRfdXNlcl90b2tlbi1zaGFyZWp1bmN0aW9uIiwic21hcnRsYWItY3VzdG9tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzbWFydGxhYiI6IndpZGdldF91c2VyX3Rva2VuLXNtYXJ0bGFiIiwic3BhY2Vtb25leWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3BhY2Vtb25leWNvbWJyIiwic3RvbmV4d2RnIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4wqMtIXd3dy5zdG9uZXguY29tIiwic3RveGlvIjoid2lkZ2V0X3VzZXJfdG9rZW4tc3RveGlvIiwic3RvbmV4Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc3RvbmV4IiwidG9yb2ludmVzdGltZW50b3Njb20iOiJ3aWRnZXRfdXNlcl90b2tlbi10b3JvaW52ZXN0aW1lbnRvc2NvbSIsInRoZWNzZWNvbSI6IndpZGdldF91c2VyX3Rva2VuLXRoZWNzZWNvbSIsInRyYWRlcnNjbHViYnJhc2lsIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbEQiLCJ0cmFkaW5ndmlldyI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRpbmd2aWV3IiwieHRvb2xzIjoid2lkZ2V0X3VzZXJfdG9rZW4teHRvb2xzIiwidHdpdHRlciI6IndpZGdldF91c2VyX3Rva2VuLXR3aXR0ZXIiLCJ2ZWxvY2l0eWNvbXBvc2l0ZXNjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi12ZWxvY2l0eWNvbXBvc2l0ZXNjb20iLCJ2b2Nlc2FhYnJpbGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdm9jZXNhYWJyaWxjb21iciIsIndlYWx0aHNpbXBsZSI6IndpZGdldF91c2VyX3Rva2VuLXdlYWx0aHNpbXBsZcKjLSFteS53ZWFsdGhzaW1wbGUuY29tIiwid29ybGRjaGVzc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXdvcmxkY2hlc3Njb20iLCJ4Q3J0eUprc3AiOiJ3aWRnZXRfdXNlcl90b2tlbi14Q3J0eUprc3AiLCJ4cGljb21iciI6IndpZGdldF91c2VyX3Rva2VuLXhwaWNvbWJyIn0nKQp9fV0pOw=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/90741.af2b48170d64547408ff.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.219Z","timestamp":1785136429219,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/90741.af2b48170d64547408ff.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd31-8800\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:16:17 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 31929497599d9eef9f6ab56cde9cc79f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":34816,"size_decoded":6493,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (34816), with no line terminators","md5":"397df641db9c72f75974df50d0ea576c","sha1":"d1064650fc562fa19960f953f2ec569aa4cd6305","sha256":"b0d61a1080fb8d0f614dcf7b4b96cf28b1ce834dc3b327efeb2d408ed9ba0759","sha512":"bb92033b33407fc3bdbe519ca24b7c1a576b974c7057d61212e9108ff03783af1fe63ea696e98c25332e6b41e1a7a35bbbedf7e71cf6193997d6ae884719480a","ssdeep":"384:TJgnHqCXVElvht/waL2Ws7Zp5Ijjyrr0dS0W4BH+m8S/2WU:TJgnHqCKz/8G7+mY","tlshash":"20f2f04e8e9ce7254603416d2dc27588e32e954eb05a33ffe2ad539e0dd69b182f142f","first_seen":"2026-07-20T16:56:18.360342Z","last_seen":"2026-07-28T06:17:53.573859Z","times_seen":121,"resource_available":false,"data":"LnBhbmVDb250cm9scy1FeHp4OUlBWntwb2ludGVyLWV2ZW50czphbGw7cG9zaXRpb246c3RhdGljO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsdmlzaWJpbGl0eSAuNHM7ei1pbmRleDo3fS5wYW5lQ29udHJvbHNfaGlkZGVuLUV4eng5SUFae29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVp7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt3aWR0aDowfS5wYW5lQ29udHJvbHNfcmVtb3ZlLUV4eng5SUFae2Rpc3BsYXk6bm9uZX0uYnV0dG9ucy1FeHp4OUlBWntjb2x1bW4tZ2FwOjRweDtmbGV4LXdyYXA6bm93cmFwfS5idXR0b24tRXh6eDlJQVosLmJ1dHRvbnMtRXh6eDlJQVp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfS5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFae2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZSwuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntib3JkZXItd2lkdGg6MH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVo6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFaOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9fS50b3VjaE1vZGUtRXh6eDlJQVogLmJ1dHRvbi1FeHp4OUlBWntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtdXAsLm1heGltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0uY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwubWF4aW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93bnthbmltYXRpb246bWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX19LmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LWRvd24sLmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LXVwLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC1kb3duLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVp7NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwLC5yZXN0b3JlLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0ubWluaW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWjpob3ZlciAuYnJhY2tldC1kb3due2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaIC42cyBlYXNlfX0ubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtdXAsLnJlc3RvcmUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19QGtleWZyYW1lcyBtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVwLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjp1cC1hbmltYXRpb24tRXh6eDlJQVogLjZzIGVhc2V9fUBrZXlmcmFtZXMgdXAtYW5pbWF0aW9uLUV4eng5SUFaezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5kb3duLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjpkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiAuNnMgZWFzZX19QGtleWZyYW1lcyBkb3duLWFuaW1hdGlvbi1FeHp4OUlBWnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LmJsb2NrSGlkZGVuLUxjWWRvMk42e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnBhbmUtYnV0dG9uLUxjWWRvMk42e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wYW5lLWJ1dHRvbi1MY1lkbzJONjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtib3JkZXItcmFkaXVzOjNweDtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDowfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wYW5lLWJ1dHRvbi1MY1lkbzJONntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnBhbmUtYnV0dG9uLUxjWWRvMk42OmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfX0uY29udHJvbC1iYXItd3JhcHBlcntkaXJlY3Rpb246bHRyO2hlaWdodDoyNHB4O3BhZGRpbmc6NXB4IDA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudHtyaWdodDoycHh9LmNvbnRyb2wtYmFye2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgLjNzO3Zpc2liaWxpdHk6dmlzaWJsZX0uY29udHJvbC1iYXItLWhpZGRlbiwuY29udHJvbC1iYXItLWhpZGRlbiAuY29udHJvbC1iYXJfX2J0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmNvbnRyb2wtYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbjowIDRweH0uY29udHJvbC1iYXJfX2J0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2NvbG9yOnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCA0cHg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNpdGlvbjpjb2xvciAuM3MsdmlzaWJpbGl0eSAuNHMsb3BhY2l0eSAuNHM7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3dpZHRoOjI0cHg7ei1pbmRleDoxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udHJvbC1iYXJfX2J0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9fS5jb250cm9sLWJhcl9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNpdGlvbjpub25lfS5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5jb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVue29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0uY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNvbnRyb2wtYmFyX19idG4tLW1vdmUtbGVmdCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uY29udHJvbC1iYXJfX2J0biBzdmcsLmxlZ2VuZC1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5sZWdlbmQtWVRGSUo2Mmh7Y29sb3I6IzAwMDA7Y29udGFpbjpjb250ZW50O2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6bm9ybWFsO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3otaW5kZXg6Nn0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9uLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czphdXRvfS5pdGVtLVlURklKNjJoe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxM3B4O21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MjRweDt6LWluZGV4OjF9Lml0ZW0tWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2MmgsLml0ZW0tWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaHt6LWluZGV4OjJ9Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWNvbG9yOiMwMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHg7Y29sdW1uLWdhcDo4cHg7Y3Vyc29yOmRlZmF1bHQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O29yZGVyOjEwMDAwMDtwYWRkaW5nOjAgNHB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaCAuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQ6bm9uZX0uaXRlbS1ZVEZJSjYyaC5sYXN0LVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbjowfS5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9Lml0ZW0tWVRGSUo2MmggLm5vV3JhcFdyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWF4LXdpZHRoOjEwMCV9Lm5vV3JhcC1ZVEZJSjYyaCAuaXRlbS1ZVEZJSjYyaHtmbGV4LXdyYXA6bm93cmFwfS5ub1dyYXAtWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24tc2VsZjphdXRvO2Rpc3BsYXk6YmxvY2t9Lm5vV3JhcC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCAubm9XcmFwLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyLVlURklKNjJoLnVuaW1wb3J0YW50LVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcn0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmF1dG87Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LndyYXBwYWJsZS1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLml0ZW0tWVRGSUo2Mmh7ZmxleC13cmFwOndyYXB9LmRpcmVjdGlvbkNvbHVtbi1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCV9LmJ1dHRvbi1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJ1dHRvbnMtWVRGSUo2MmgsLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5pdGVtLVlURklKNjJoLC5sb2dvV3JhcHBlci1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmgsLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1pbmxpbmUtZW5kOjRweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZmxleDoxIDE7bWF4LXdpZHRoOmZpdC1jb250ZW50O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4IDAgMXB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDotM30ubG9nb1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjE4cHh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5wYWlyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5sb2dvLVlURklKNjJoe2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nb1dyYXBwZXItWVRGSUo2MmggLmxvZ28tWVRGSUo2MmggaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5oaWRkZW4tWVRGSUo2MmgsLmxvZ29XcmFwcGVyLVlURklKNjJoLmhpZGRlbi1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS50aXRsZXNHcm91cFdyYXBwZXItWVRGSUo2Mmh7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS50aXRsZVdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcH0udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaHthbGw6dW5zZXQ7ZGlyZWN0aW9uOmx0cjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaDpkaXIocnRsKXtkaXJlY3Rpb246cnRsfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1yYWRpdXM6M3B4O2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4Oi0yfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpmaXJzdC1jaGlsZDphZnRlcntyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTphZnRlcntsZWZ0OjhweDtyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjNweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDpob3Zlci53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDphY3RpdmUud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlciwudGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApO3Zpc2liaWxpdHk6dmlzaWJsZX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1c3tib3JkZXItcmFkaXVzOjJweCFpbXBvcnRhbnQ7b3V0bGluZToycHggc29saWQgdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5hY2Nlc3NpYmxlLVlURklKNjJoOmZvY3VzLXZpc2libGV7Ym9yZGVyLXJhZGl1czoycHghaW1wb3J0YW50O291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0uZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDoxNXB4fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpe2ZsZXg6MCAzIGF1dG87cGFkZGluZy1sZWZ0OjEycHh9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKX0uc3R1ZHktWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoLC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLnN0dWR5LVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaC5oaWRlVmFsdWVzLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqNSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnN0dWR5LVlURklKNjJoLmhhczVCdXR0b25zLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjUpfX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDB9LmxvYWRlci1ZVEZJSjYyaHttYXJnaW4tbGVmdDo0cHh9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMDB9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwubm9XcmFwLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7ZGlzcGxheTppbmxpbmUtZmxleH0uaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaCwuaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7bWluLXdpZHRoOjIzcHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjEycHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmRlc2NUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoe2ZsZXg6MCAxIGF1dG99LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmludGVydmFsVGl0bGUtWVRGSUo2Mmh7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6YXV0b30uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmguc3R5bGVUaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMyBhdXRvfS5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHttaW4td2lkdGg6MjNweH0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxlZ2VuZC1ZVEZJSjYyaDpob3ZlciAuc2VyaWVzLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjMpfX0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnNlcmllcy1ZVEZJSjYyaC5mbGFnZ2VkLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpfX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1lZGl1bS1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyl9fS5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSoyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplZC1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9fS52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOmRlZmF1bHQ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1sZWZ0OjRweCBzb2xpZDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmRpc2FibGVkLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0udmFsdWVJdGVtLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246bGVmdH0udmFsdWVJdGVtLVlURklKNjJoOmJlZm9yZXtjb250ZW50OnZhcigtLW5vdC1hdmFpbGFibGUtY29udGVudCwiMCIpO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowfS52YWx1ZUl0ZW0tWVRGSUo2Mmg6bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjZweH0udmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo0cHh9LnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaHtwYWRkaW5nLXJpZ2h0OjFweH0udmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo2cHh9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGQgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDowO3otaW5kZXg6Mn0ubWljcm8tWVRGSUo2MmggLml0ZW0tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoW2RhdGEtcWEtaWQ9bGVnZW5kLXNlcmllcy1pdGVtXSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOjA7d2lkdGg6MH0uZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCl9LmxpbmtlZC1ZVEZJSjYyaC5zZXJpZXMtWVRGSUo2Mmg6bm90KC5vbmx5T25lQnV0dG9uQ2FuQmVTdGljay1ZVEZJSjYyaCkgLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoe21heC13aWR0aDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpO3dpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9LmRpc2FibGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaDpub3QoLm9ubHlPbmVCdXR0b25DYW5CZVN0aWNrLVlURklKNjJoKSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyk7d2lkdGg6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX0uYnV0dG9ucy1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTowO3BhZGRpbmc6MDtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnRvdWNoTW9kZS1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtvcGFjaXR5OjF9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5sZWdlbmQtWVRGSUo2MmggLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmxlZ2VuZC1ZVEZJSjYyaCAuc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc3RheUluSG92ZXJlZE1vZGUtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9fS5idXR0b24tWVRGSUo2Mmh7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7ei1pbmRleDowfS5idXR0b25JY29uLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLVlURklKNjJoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDttYXJnaW4tcmlnaHQ6MXB4fS5idXR0b24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQ6MXB4IDA7cG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDotMX0uYnV0dG9uLVlURklKNjJoOmFjdGl2ZTphZnRlciwuYnV0dG9uX19hY3RpdmUtWVRGSUo2Mmg6YWZ0ZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVlURklKNjJoOmhvdmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LmJ1dHRvbi1ZVEZJSjYyaDphY3RpdmU6YWZ0ZXIsLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9LmJ1dHRvbi1ZVEZJSjYyaC5mbGFnLVlURklKNjJoPnNwYW57bWFyZ2luLXRvcDotMXB4fS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX0ud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLndpdGhBY3Rpb24tWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTtib3JkZXItbGVmdDowfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKSwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAubG9hZGluZy1leWUsLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWUsLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMiksLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyl7ZGlzcGxheTpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtkaXNwbGF5OmJsb2NrfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWV7ZGlzcGxheTpub25lfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXlle2Rpc3BsYXk6YmxvY2t9LmV5ZUxvYWRpbmctWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAuYW5pbWF0ZWQtbG9hZGluZy1leWV7YW5pbWF0aW9uOmV5ZS1hbmltYXRpb24tWVRGSUo2MmggLjk2cyBsaW5lYXIgaW5maW5pdGU7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2Mmg6bm90KC5zZWxlY3RlZC1ZVEZJSjYyaCk6bm90KC53aXRoQWN0aW9uLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5saW5raW5nLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoLC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmxpbmtpbmctWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuYnV0dG9ucy1ZVEZJSjYyaCAuaW50ZXJ2YWxFeWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5pbnRlcnZhbEV5ZS1ZVEZJSjYyaCAubm9ybWFsLWV5ZXtkaXNwbGF5Om5vbmV9LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCl9LnNlbGVjdGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAuZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoLmZsYWdnZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5mbGFnLVlURklKNjJoIC5idXR0b25JY29uLVlURklKNjJoe3Zpc2liaWxpdHk6dmlzaWJsZX0uZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHthbGlnbi1zZWxmOnN0cmV0Y2g7ZmxleDoxfS5mbGFnV3JhcHBlci1ZVEZJSjYyaCwubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmZsYWdXcmFwcGVyLVlURklKNjJoe3dpZHRoOjEycHh9LmZsYWdXcmFwcGVyLVlURklKNjJoIHN2Z3toZWlnaHQ6MTJweH0uc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LmxlZ2VuZE1haW5Tb3VyY2VXcmFwcGVyLVlURklKNjJoe3RleHQtYWxpZ246bGVmdH0uc291cmNlcy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJX0udG9nZ2xlcldyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWJsb2NrOjNweCAzcHg7cGFkZGluZy1pbmxpbmU6NXB4IDVweH0udG9nZ2xlcldyYXBwZXItWVRGSUo2MmggLnN0YXR1c2VzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kOm5vbmV9LnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMH0udG9nZ2xlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9nZ2xlci1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudG9nZ2xlci1ZVEZJSjYyaDpob3ZlcjphZnRlcnt6LWluZGV4OjB9LnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmNvdW50ZXItWVRGSUo2MmgsLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9fS50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNiwuNTIsMSwuNTQpO3dpZHRoOjI3cHh9LnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7ZGlzcGxheTpub25lO3dpZHRoOjE5cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAuaWNvbkFycm93LVlURklKNjJoLC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uY2xvc2VkLVlURklKNjJoLnNvdXJjZXNXcmFwcGVyLVlURklKNjJoe3BhZGRpbmctYm90dG9tOjRweH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2Mmh7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uY2xvc2VkLVlURklKNjJoOm5vdCguc2F2ZUFycm93V2lkdGgtWVRGSUo2MmgpIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNsb3NlZC1ZVEZJSjYyaDpub3QoLnNhdmVBcnJvd1dpZHRoLVlURklKNjJoKSAub2JqZWN0VHJlZS1ZVEZJSjYyaHt3aWR0aDoxOXB4fS5jbG9zZWQtWVRGSUo2MmggLnNvdXJjZXMtWVRGSUo2Mmh7ZGlzcGxheTpub25lfS5taWNyby1ZVEZJSjYyaCAuc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7cGFkZGluZy1ib3R0b206NHB4fS5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaC5vYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoLm9iamVjdHNUcmVlQ2FuQmVTaG93bi1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zb3VyY2VzLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpub25lfS50b3VjaE1vZGUtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwudG91Y2hNb2RlLVlURklKNjJoIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2JvdHRvbTo1cHg7dG9wOjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7bWluLWhlaWdodDoyNnB4fS50b3VjaE1vZGUtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG91Y2hNb2RlLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2hlaWdodDoyNHB4O3dpZHRoOjMwcHh9LnRvdWNoTW9kZS1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaHtmb250LXNpemU6MTRweH0udG91Y2hNb2RlLVlURklKNjJoIC5pdGVtLVlURklKNjJoe21pbi1oZWlnaHQ6MjZweH0udG91Y2hNb2RlLVlURklKNjJoIC5jbG9zZWQtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7d2lkdGg6MjRweH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrey0tbGVnZW5kLXRpdGxlLWRvdC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC52YWx1ZVZhbHVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudGl0bGVXcmFwcGVyLVlURklKNjJoOmFjdGl2ZS53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlcl9fYWN0aXZlLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2Mmgud2l0aEN1c3RvbVRleHRDb2xvci1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc3R1ZHktWVRGSUo2MmguZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbkljb24tWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1ZVEZJSjYyaDpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tWVRGSUo2Mmg6YWN0aXZlOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTcwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoOmhvdmVyIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGV5ZS1hbmltYXRpb24tWVRGSUo2Mmh7dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fTpyb290LnRoZW1lLWN1c3RvbSAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfTpyb290LnRoZW1lLWN1c3RvbSAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCw6cm9vdC50aGVtZS1jdXN0b20gLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWVkLWNvbG9yLWxlZ2VuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7OnJvb3QudGhlbWUtY3VzdG9tIC5idXR0b24tWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfX0ubGVnZW5kQWN0aW9uQnV0dG9uLXEzTzZ6eklIe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.570Z","timestamp":1785136429570,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/snowplow-tracker-base.465f8af1aa72ac3a1c32.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-396d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:18:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3074bf76c14854bb6399f900d7e59a54\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":14701,"size_decoded":6832,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"1edb2832b292eaf1f490fd35fadf61ec","sha1":"40184dc94dd19e2bb7b906af7cc99c694efae8d5","sha256":"68c5b31fb26ad1af6d37dc872285b1e5c9837fed11bba1414d053e93e3728567","sha512":"a575cef153e42834c4fe933e7ec67a2a5442aec23dcf472bb585c8da5b858bfac30b279e03691938a35400b286055406e5a9f34bd3d5e5c8b51f1dbccd902df0","ssdeep":"384:rNtq6SWGLOzCHMJY+Uhb7773Y6cR39CF0msq2k70wcWKd:PjSWGLOuHM4hb7773X3F0msq2k7jcWI","tlshash":"ea62d7887043b09a42d925ef986b5149f7380898740d84b5b651f8d23caed9f63f3ebc","first_seen":"2026-07-24T05:39:08.468159Z","last_seen":"2026-07-31T06:31:09.118223Z","times_seen":503,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTIwN10sezc1Njg1MShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPWUubGVuZ3RoLGk9MDtpPG47aSsrKXt2YXIgbz1lLmNoYXJDb2RlQXQoaSk7aWYobz49NTUyOTYmJm88PTU2MzE5JiZuPmkrMSl7dmFyIHI9ZS5jaGFyQ29kZUF0KGkrMSk7cj49NTYzMjAmJnI8PTU3MzQzJiYobz0xMDI0KihvLTU1Mjk2KStyLTU2MzIwKzY1NTM2LGkrPTEpfW88MTI4P3QucHVzaChvKTpvPDIwNDg/KHQucHVzaChvPj42fDE5MiksdC5wdXNoKDYzJm98MTI4KSk6bzw1NTI5Nnx8bz49NTczNDQmJm88NjU1MzY/KHQucHVzaChvPj4xMnwyMjQpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6bz49NjU1MzYmJm88PTExMTQxMTE/KHQucHVzaChvPj4xOHwyNDApLHQucHVzaChvPj4xMiY2M3wxMjgpLHQucHVzaChvPj42JjYzfDEyOCksdC5wdXNoKDYzJm98MTI4KSk6dC5wdXNoKDIzOSwxOTEsMTg5KX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCkuYnVmZmVyfX0sNTA0NDAyKGUsdCxuKXt2YXIgaT1uKDYzODIyMSk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBlPWkoZV49ZT4+PjE2LDIyNDY4MjI1MDcpLGU9aShlXj1lPj4+MTMsMzI2NjQ4OTkwOSksKGVePWU+Pj4xNik+Pj4wfX0sNjM4MjIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9TWF0aC5pbXVsfHxmdW5jdGlvbihlLHQpe3ZhciBuPTY1NTM1JmUsaT02NTUzNSZ0O3JldHVybiBuKmkrKChlPj4+MTYmNjU1MzUpKmkrbioodD4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0sMTAwNTk1KGUsdCxuKXt2YXIgaT1uKDYzODIyMSksbz1uKDUwNDQwMikscj1uKDc1Njg1MSkscz1uZXcgVWludDMyQXJyYXkoWzM0MzI5MTgzNTMsNDYxODQ1OTA3XSk7ZnVuY3Rpb24gYShlLHQpe3JldHVybiBlPDx0fGU+Pj4zMi10fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHQ9dD8wfHQ6MCwic3RyaW5nIj09dHlwZW9mIGUmJihlPXIoZSkpLCEoZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBrZXkgdG8gYmUgQXJyYXlCdWZmZXIgb3Igc3RyaW5nIik7dmFyIG49bmV3IFVpbnQzMkFycmF5KFt0XSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1uZXcgVWludDMyQXJyYXkoZSwwLG4pLHI9MDtyPG47cisrKW9bcl09aShvW3JdLHNbMF0pLG9bcl09YShvW3JdLDE1KSxvW3JdPWkob1tyXSxzWzFdKSx0WzBdPXRbMF1eb1tyXSx0WzBdPWEodFswXSwxMyksdFswXT1pKHRbMF0sNSkrMzg2NDI5MjE5Nn0oZSxuKSxmdW5jdGlvbihlLHQpe3ZhciBuPWUuYnl0ZUxlbmd0aC80fDAsbz1lLmJ5dGVMZW5ndGglNCxyPTAsYz1uZXcgVWludDhBcnJheShlLDQqbixvKTtzd2l0Y2gobyl7Y2FzZSAzOnJePWNbMl08PDE2O2Nhc2UgMjpyXj1jWzFdPDw4O2Nhc2UgMTpyXj1jWzBdLHI9YShyPWkocixzWzBdKSwxNSkscj1pKHIsc1sxXSksdFswXT10WzBdXnJ9fShlLG4pLGZ1bmN0aW9uKGUsdCl7dFswXT10WzBdXmUuYnl0ZUxlbmd0aCx0WzBdPW8odFswXSl9KGUsbiksbi5idWZmZXJ9fSwzNzcyMjYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7b25XaWRnZXQ6KCk9Pm99KTtjb25zdCBpPW5ldyBNYXA7ZnVuY3Rpb24gbygpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBpLmhhcyhuKXx8aS5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBpPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCByO2ZvcihsZXQgZT1pLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKHI9bmV3IFJlZ0V4cChpW2VdKSxyLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLGkuZ2V0KG4pPz8hMX19LDU2OTM5OChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtpc0ZlYXR1cmVFbmFibGVkOigpPT5kLG9uRmVhdHVyZXNTdGF0ZUNoYW5nZWQ6KCk9PmN9KQo7dmFyIGk9big5NDgzODApLG89bigzNzcyMjYpLHI9big4NTYxOTYpLHM9big5MzIzNjUpO2NvbnN0IGE9bmV3IGkuRGVsZWdhdGUsYz0oKT0+YSxsPSJmb3JjZWZlYXR1cmV0b2dnbGUuIjtjb25zdCBnPW5ldyBjbGFzc3tlbmFibGVGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShsK2UsInRydWUiKSxhLmZpcmUoZSl9ZGlzYWJsZUZlYXR1cmUoZSl7cy5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKGwrZSwiZmFsc2UiKSxhLmZpcmUoZSl9cmVzZXRGZWF0dXJlKGUpe3MuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShsK2UpLGEuZmlyZShlKX1vbkZlYXR1cmVzU3RhdGVDaGFuZ2VkKCl7cmV0dXJuIGF9fTtmdW5jdGlvbiB1KGUsdCl7cmV0dXJuKCFlW3RdfHwtMSE9PWVbdF0pJiYoISEoInRydWUiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYidHJ1ZSI9PT13aW5kb3cudXNlcj8uc2V0dGluZ3M/LltsK3RdKXx8ISgiZmFsc2UiPT09cy5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGwrdCl8fHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYiZmFsc2UiPT09d2luZG93LnVzZXI/LnNldHRpbmdzPy5bbCt0XSkmJighIWVbdF0mJigxPT09ZVt0XXx8KDAsci5zaG91bGRBZmZlY3RVc2VyKSh0LGVbdF0pKSkpfXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9LHdpbmRvdy5UcmFkaW5nVmlldy5GZWF0dXJlVG9nZ2xlPWc7Y29uc3QgZD0oaD13aW5kb3cuZmVhdHVyZVRvZ2dsZVN0YXRlfHx7fSwoMCxvLm9uV2lkZ2V0KSgpfHxQcm9taXNlLmFsbChbbi5lKDg1NDM0KSxuLmUoNzI4NSksbi5lKDEzOTkzKV0pLnRoZW4obi5iaW5kKG4sNTA3Mjg1KSkudGhlbigoZT0+e2UucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uKCJmZWF0dXJldG9nZ2xlIiwoZT0+e2NvbnN0IHQ9dShoLGUubmFtZSk7aFtlLm5hbWVdPWUuc3RhdGUsdCE9PXUoaCxlLm5hbWUpJiZhLmZpcmUoZS5uYW1lKX0pKX0pKSx1LmJpbmQobnVsbCxoKSk7dmFyIGg7d2luZG93LlRyYWRpbmdWaWV3LmlzRmVhdHVyZUVuYWJsZWQ9ZH0sMTc5NzcxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2VtaXQ6KCk9PmcsZW1pdE9uY2U6KCk9PnUsb246KCk9PmMsc3Vic2NyaWJlOigpPT5sLHVuc3Vic2NyaWJlOigpPT5hfSk7dmFyIGk9big5NDgzODApO2NvbnN0IG89e30scj1bXSxzPXt9O2Z1bmN0aW9uIGEoZSx0LG4pe29bZV0udW5zdWJzY3JpYmUobix0KX1mdW5jdGlvbiBjKGUsdCxuKXtsKGUsdCxuKX1mdW5jdGlvbiBsKGUsdCxuLHIpe28uaGFzT3duUHJvcGVydHkoZSl8fChvW2VdPW5ldyBpLkRlbGVnYXRlKSxzW2VdP3QuY2FsbChuKTpvW2VdLnN1YnNjcmliZShuLHQscil9ZnVuY3Rpb24gZyhlLC4uLnQpe2NvbnN0IG49W2VdLmNvbmNhdCh0KTtyLmZvckVhY2goKGU9PntlLmFwcGx5KG51bGwsbil9KSksby5oYXNPd25Qcm9wZXJ0eShlKSYmb1tlXS5maXJlLmFwcGx5KG9bZV0sdCl9ZnVuY3Rpb24gdShlKXtzW2VdJiZjb25zb2xlLndhcm4oYFNvbWV0aGluZyB3ZW50IHdyb25nOiBlbWl0T25jZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aCBzYW1lIGV2ZW50ICgke2V9KWApLHNbZV09ITAsZy5hcHBseShudWxsLGFyZ3VtZW50cyl9fSw5MzIzNjUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VFZMb2NhbFN0b3JhZ2U6KCk9PnJ9KTtjb25zdCBpPSgwLG4oMjIxMDYxKS5nZXRMb2dnZXIpKCJUVkxvY2FsU3RvcmFnZSIpO3ZhciBvPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaXNBdmFpbGFibGU9ITAsdGhpcy5sb2NhbFN0b3JhZ2U9d2luZG93LmxvY2FsU3RvcmFnZSx0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0dmxvY2Fsc3RvcmFnZS5hdmFpbGFibGUiLCJ0cnVlIil9Y2F0Y2goZSl7ZGVsZXRlIHRoaXMuaXNBdmFpbGFibGUsZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlfXRoaXMuX3VwZGF0ZUxlbmd0aCgpO3RyeXt0aGlzLl9yZXBvcnQoKX1jYXRjaChlKXt9fTtvLnByb3RvdHlwZS5fcmVwb3J0PWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl7Y29uc3QgZT0xMCx0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2UrKyl7Y29uc3Qgbj10aGlzLmtleShlKTt0LnB1c2goe2tleTpuLGxlbmd0aDpTdHJpbmcodGhpcy5nZXRJdGVtKG4pKS5sZW5ndGh9KX10LnNvcnQoKChlLHQpPT50Lmxlbmd0aC1lLmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO3Quc29ydCgoKGUsdCk9PnQua2V5Lmxlbmd0aC1lLmtleS5sZW5ndGgpKTtjb25zdCBvPXQuc2xpY2UoMCxlKTtpLmxvZ05vcm1hbChgVG90YWwgYW1vdW50IG9mIGtleXMgaW4gTG9jYWwgU3RvcmFnZTogJHt0aGlzLmxlbmd0aH1gKSxpLmxvZ05vcm1hbChgVG9wICR7ZX0ga2V5cyB3aXRoIGxvbmdlc3QgdmFsdWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBsb25nZXN0IGtleSBuYW1lczogJHtKU09OLnN0cmluZ2lmeShvKX1gKTt0cnl7bmF2aWdhdG9yLnN0b3JhZ2UuZXN0aW1hdGUoKS50aGVuKChlPT57aS5sb2dOb3JtYWwoYFN0b3JhZ2UgZXN0aW1hdGU6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9KSl9Y2F0Y2goZSl7fX19LG8ucHJvdG90eXBlLmxlbmd0aD0wLG8ucHJvdG90eXBlLmlzQXZhaWxhYmxlPSExLG8ucHJvdG90eXBlLmxvY2FsU3RvcmFnZT17InR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSI6ImZhbHNlIn0sby5wcm90b3R5cGUuX3VwZGF0ZUxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBdmFpbGFibGUpdGhpcy5sZW5ndGg9dGhpcy5sb2NhbFN0b3JhZ2UubGVuZ3RoO2Vsc2V7dmFyIGUsdD0wO2ZvcihlIGluIHRoaXMubG9jYWxTdG9yYWdlKXRoaXMubG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KGUpJiZ0Kys7dGhpcy5sZW5ndGg9dH19LG8ucHJvdG90eXBlLmtleT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5rZXkoZSk6T2JqZWN0LmtleXModGhpcy5sb2NhbFN0b3JhZ2UpW2VdfSxvLnByb3RvdHlwZS5nZXRJdGVtPWZ1bmN0aW9uKGUpewpyZXR1cm4gdGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGUpOnZvaWQgMD09PXRoaXMubG9jYWxTdG9yYWdlW2VdP251bGw6dGhpcy5sb2NhbFN0b3JhZ2VbZV19LG8ucHJvdG90eXBlLnNldEl0ZW09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oZSx0KTp0aGlzLmxvY2FsU3RvcmFnZVtlXT10LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxvLnByb3RvdHlwZS5yZW1vdmVJdGVtPWZ1bmN0aW9uKGUpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKTpkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2VbZV0sdGhpcy5fdXBkYXRlTGVuZ3RoKCl9LG8ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5jbGVhcigpOnRoaXMubG9jYWxTdG9yYWdlPXt9LHRoaXMuX3VwZGF0ZUxlbmd0aCgpfTtjb25zdCByPW5ldyBvO3dpbmRvdy5UVkxvY2FsU3RvcmFnZT1yfSwxMTczMTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7aXNPbk1vYmlsZUFwcFBhZ2U6KCk9Pm8sdXJsV2l0aE1vYmlsZUFwcFBhcmFtczooKT0+cn0pO3ZhciBpPW4oNTg3NDM2KTtmdW5jdGlvbiBvKGUsdD0hMSl7Y29uc3R7c2VhcmNoUGFyYW1zOm59PW5ldyBVUkwoU3RyaW5nKGxvY2F0aW9uKSk7bGV0IG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcF9uZXciKSxyPSJ0cnVlIj09PW4uZ2V0KCJtb2JpbGVhcHAiKTtpZighdCl7Y29uc3QgZT1pLmdldCgidHZfYXBwIil8fCIiO298fD1bImFuZHJvaWQiLCJhbmRyb2lkX25wcyJdLmluY2x1ZGVzKGUpLHJ8fD0iaW9zIj09PWV9cmV0dXJuISgibmV3IiE9PWUmJiJhbnkiIT09ZXx8IW8pfHwhKCJuZXciPT09ZXx8IXIpfWZ1bmN0aW9uIHIoZSx0PSExKXtpZihvKCJuZXciLHQpKXtjb25zdCB0PW5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKTt0LnNlYXJjaFBhcmFtcy5zZXQoIm1vYmlsZWFwcF9uZXciLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9aWYobygib2xkIix0KSl7Y29uc3QgdD1uZXcgVVJMKGUsbG9jYXRpb24uaHJlZik7dC5zZWFyY2hQYXJhbXMuc2V0KCJtb2JpbGVhcHAiLCJ0cnVlIiksZT10LnRvU3RyaW5nKCl9cmV0dXJuIGV9fSw4NTYxOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7c2hvdWxkQWZmZWN0VXNlcjooKT0+Y30pO3ZhciBpPW4oMTAwNTk1KSxvPW4ubihpKSxyPW4oOTMyMzY1KTtjb25zdCBzPSJmZWF0dXJldG9nZ2xlX3NlZWQiO2Z1bmN0aW9uIGEoZSl7dHJ5e2NvbnN0IHQ9bygpKGUrZnVuY3Rpb24oKXtpZih3aW5kb3cudXNlciYmd2luZG93LnVzZXIuaWQpcmV0dXJuIHdpbmRvdy51c2VyLmlkO2NvbnN0IGU9ci5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKHMpO2lmKG51bGwhPT1lKXJldHVybiBlO2NvbnN0IHQ9TWF0aC5mbG9vcigxZTYqTWF0aC5yYW5kb20oKSk7cmV0dXJuIHIuVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbShzLGAke3R9YCksdH0oKSksbj1uZXcgRGF0YVZpZXcodCk7cmV0dXJuIG4uZ2V0VWludDMyKDAsITApLzQyOTQ5NjcyOTZ9Y2F0Y2goZSl7cmV0dXJuLjV9fWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gYShlKTw9dH19LDU4NzQzNihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0LG4saSxvKXtsZXQgcj0iIjtpZihpPWk/IjsgcGF0aD0iK2k6IiIsbz1vPyI7IGRvbWFpbj0iK286IiIsbil7Y29uc3QgZT1uZXcgRGF0ZTtlLnNldFRpbWUoZS5nZXRUaW1lKCkrMjQqbio2MCo2MCoxZTMpLHI9IjsgZXhwaXJlcz0iK2UudG9VVENTdHJpbmcoKX1lbHNlIHI9IiI7ZG9jdW1lbnQuY29va2llPWUrIj0iK3QrcitvK2l9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUrIj0iLG49ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7Iik7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2xldCBpPW5bZV07Zm9yKDsiICI9PT1pLmNoYXJBdCgwKTspaT1pLnN1YnN0cmluZygxLGkubGVuZ3RoKTtpZigwPT09aS5pbmRleE9mKHQpKXJldHVybiBpLnN1YnN0cmluZyh0Lmxlbmd0aCxpLmxlbmd0aCl9cmV0dXJuIG51bGx9bi5kKHQse2dldDooKT0+byxzZXQ6KCk9Pml9KX0sNzY4NzYwKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChuLGkpPT57ZT1uLHQ9aX0pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fW4uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9Pml9KX0sOTQ4MzgwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RlbGVnYXRlOigpPT5yfSk7Y29uc3QgaT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkRlbGVnYXRlIik7ZnVuY3Rpb24gbyhlKXtyZXR1cm4hZS5zaW5nbGVTaG90fWNsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLmZpcmU9dGhpcy5fZmlyZUltcGwuYmluZCh0aGlzKSx0aGlzLl9saXN0ZW5lcnM9W119c3Vic2NyaWJlKGUsdCxuKXt0aGlzLl9saXN0ZW5lcnMucHVzaCh7b2JqZWN0OmUsbWVtYmVyOnQsc2luZ2xlU2hvdDohIW4sc2tpcDohMX0pfXVuc3Vic2NyaWJlKGUsdCl7Zm9yKGxldCBuPTA7bjx0aGlzLl9saXN0ZW5lcnMubGVuZ3RoOysrbil7Y29uc3QgaT10aGlzLl9saXN0ZW5lcnNbbl07aWYoaS5vYmplY3Q9PT1lJiZpLm1lbWJlcj09PXQpe2kuc2tpcD0hMCx0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKG4sMSk7YnJlYWt9fX11bnN1YnNjcmliZUFsbChlKXtmb3IobGV0IHQ9dGhpcy5fbGlzdGVuZXJzLmxlbmd0aC0xO3Q+PTA7LS10KXtjb25zdCBuPXRoaXMuX2xpc3RlbmVyc1t0XTtuLm9iamVjdD09PWUmJihuLnNraXA9ITAsdGhpcy5fbGlzdGVuZXJzLnNwbGljZSh0LDEpKX19ZGVzdHJveSgpe3RoaXMuX2xpc3RlbmVycz1bXX1fZmlyZUltcGwoLi4uZSl7Y29uc3QgdD10aGlzLl9saXN0ZW5lcnM7dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIobyk7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IG89MDtvPG47KytvKXtjb25zdCBuPXRbb107aWYoIW4uc2tpcCl0cnl7bi5tZW1iZXIuYXBwbHkobi5vYmplY3R8fG51bGwsZSl9Y2F0Y2goZSl7CmkubG9nRXJyb3IoYCR7ZSYmKGUuc3RhY2t8fGUubWVzc2FnZSl9YCl9fX19fSw2ODA4NDIoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtuLmQodCx7Q29va2llU2V0dGluZ3M6KCk9PmksYmFubmVyUHJpdmFjeVByZWZlcmVuY2VLZXk6KCk9PmgsY2hlY2tCYW5uZXJQcml2YWN5UHJlZmVyZW5jZUtleTooKT0+QSxjb29raWVTZXR0aW5nc0NoYW5nZUV2ZW50OigpPT5sLGdldENvb2tpZVNldHRpbmc6KCk9PiQsaGlkZUJhbm5lcjooKT0+VCxyZWplY3RCYW5uZXI6KCk9Pl8sc2V0Q29va2llU2V0dGluZzooKT0+TH0pLGZ1bmN0aW9uKGUpe2UuQW5hbHl0aWNzPSJhbmFseXRpY3MiLGUuQWR2ZXJ0aXNpbmc9ImFkdmVydGlzaW5nIn0oaXx8KGk9e30pKTt2YXIgbz1uKDE3OTc3MSkscj1uKDc2ODc2MCkscz1uKDkzMjM2NSksYT1uKDE2MDI5NiksYz1uKDU4NzQzNik7Y29uc3QgbD0iY29va2llX3NldHRpbmdzX2NoYW5nZWQiLGc9KCgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgiLiIpKSx1PSgwLGEuaXNMb2NhbCkoKT8iIjoiLiIrZy5zbGljZSgxLGcubGVuZ3RoKS5qb2luKCIuIiksZD0iY29va2llQmFubmVyIixoPSgwLGEuaXNQcm9kKSgpPyJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lclByb2R1Y3Rpb24iOiJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lckxvY2FsIixwPSJhY2NlcHRlZCIsZj0ibm90QXBwbGljYWJsZSIsbT0icmVqZWN0Iix3PSJjb29raWVzU2V0dGluZ3MiLGI9ImxvY2FsQ29va2llc1NldHRpbmdzIix5PSJjb29raWVQcml2YWN5UHJlZmVyZW5jZUJhbm5lciIsdj17W2kuQW5hbHl0aWNzXTohMSxbaS5BZHZlcnRpc2luZ106ITF9O2Z1bmN0aW9uIFMoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGQpfWZ1bmN0aW9uIGsoZSl7cmV0dXJuW3AsZixtXS5pbmNsdWRlcyhzLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk/PyIiKX1mdW5jdGlvbiBBKCl7cmV0dXJuIGU9aCxbcCxmLG1dLmluY2x1ZGVzKGMuZ2V0KGUpPz8iIik7dmFyIGV9ZnVuY3Rpb24gVCgpe0kocCl9ZnVuY3Rpb24gXygpe0kobSl9ZnVuY3Rpb24gSShlKXtjLnNldChoLGUsMzY1MywiLyIsdSl9ZnVuY3Rpb24gTChlLHQpe3ZbZV09dCxjLnNldCgoMCxhLmlzUHJvZCkoKT93OmIsSlNPTi5zdHJpbmdpZnkodiksMzY1MywiLyIsdSksby5lbWl0KGwsZSx0KX1mdW5jdGlvbiAkKGUpe3JldHVybiB2W2VdfWZ1bmN0aW9uIFAoKXtyZXR1cm4gcy5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHkpfSFmdW5jdGlvbigpe2NvbnN0IGU9Yy5nZXQoKDAsYS5pc1Byb2QpKCk/dzpiKSx0PXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh5KSxuPXMuVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbSh3KTtpZihlKXt0JiZuJiYoUCgpLHMuVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh3KSksayhkKSYmUygpO3RyeXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dltpLkFuYWx5dGljc109dD8uW2kuQW5hbHl0aWNzXXx8ITEsdltpLkFkdmVydGlzaW5nXT10Py5baS5BZHZlcnRpc2luZ118fCExfWNhdGNoe319ZWxzZSBpZihrKGQpJiYoTChpLkFuYWx5dGljcywhMCksTChpLkFkdmVydGlzaW5nLCEwKSxUKCksUygpKSx0JiZuKXtjb25zdCBlPUpTT04ucGFyc2Uobik7SSh0KSxMKGkuQW5hbHl0aWNzLGU/LltpLkFuYWx5dGljc10pLEwoaS5BZHZlcnRpc2luZyxlPy5baS5BZHZlcnRpc2luZ10pLFAoKSxzLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odyl9fSgpfSwxNjAyOTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2Vudmlyb25tZW50OigpPT5vLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW8oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1vKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSwzMTg5NzQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2hlY2tNb2JpbGU6KCk9PmQsYXBwVmVyc2lvbjooKT0+dSxjaGVja1BhZ2VUeXBlOigpPT5wLGRlc2t0b3BBcHBWZXJzaW9uOigpPT5nLGlzQ2hyb21lOigpPT5mLGlzRGVza3RvcEFwcDooKT0+Yyxpc0VkZ2U6KCk9PncsaXNGRjooKT0+bSxpc0xpbnV4OigpPT5hLGlzTWFjOigpPT5zLGlzU2FmYXJpOigpPT5iLGlzU3ltcGhvbnlFbWJlZDooKT0+bCxvbkdvUHJvOigpPT55LG9uV2lkZ2V0OigpPT5vLm9uV2lkZ2V0LHN1cHBvcnRUb3VjaDooKT0+aH0pO3ZhciBpPW4oNzM4NDU4KSxvPW4oMzc3MjI2KTtjb25zdCByPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2Z1bmN0aW9uIHMoKXtyZXR1cm4gaS5pc01hY31mdW5jdGlvbiBhKCl7cmV0dXJuIGkuaXNMaW51eH1mdW5jdGlvbiBjKCl7cmV0dXJuL1RWRGVza3RvcC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gbCgpe3JldHVybiByLmlzU3ltcGhvbnl8fCExfWZ1bmN0aW9uIGcoKXtjb25zdCBlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1RWRGVza3RvcFwvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1mdW5jdGlvbiB1KCl7Y29uc3QgZT1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmFkaW5nVmlld1wvKFteXHNdKykvKTtyZXR1cm4gZSYmZVsxXX1jb25zdCBkPXtBbmRyb2lkOigpPT5pLmlzQW5kcm9pZCxCbGFja0JlcnJ5OigpPT5pLmlzQmxhY2tCZXJyeSxpT1M6KCk9PmkuaXNJT1MsT3BlcmE6KCk9PmkuaXNPcGVyYU1pbmksaXNJUGFkOigpPT5pLmlzSVBhZCxhbnk6KCk9PmkuaXNBbnlNb2JpbGV9O2Z1bmN0aW9uIGgoKXtyZXR1cm4gaS5tb2JpbGV0b3VjaHx8aS50b3VjaHx8aS5pc0FueU1vYmlsZX1mdW5jdGlvbiBwKGUpewpyZXR1cm4gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5nZXQoInBhZ2VfdHlwZSIpPT09ZX1yLmlzTW9iaWxlPWQsci5vbldpZGdldD1vLm9uV2lkZ2V0O2NvbnN0IGY9aS5pc0Nocm9tZSxtPWkuaXNGRix3PWkuaXNFZGdlLGI9aS5pc1NhZmFyaTtmdW5jdGlvbiB5KCl7cmV0dXJuIi9wcmljaW5nLyI9PT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9fSw5MjA3MDYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U2V0dGluZ3M6KCk9Pmh9KTt2YXIgaT1uKDU2OTM5OCksbz1uKDE3OTc3MSkscj1uKDg3MDY0NCkscz1uKDMxODk3NCksYT1uKDExNzMxMyksYz1uKDY4MDg0Mik7Y29uc3QgbD13aW5kb3cuaW5pdERhdGEuc25vd3Bsb3dTZXR0aW5ncztsZXQgZyx1PSJ3ZWIiLGQ9IiI7aWYoKDAscy5pc0Rlc2t0b3BBcHApKCkmJih1PSJwYyIsZD0iX2Rlc2t0b3AiKSwoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/KHU9Im1vYiIsZD0iX2lvcyIpOigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKCJuZXciKSYmKHU9Im1vYiIsZD0iX2FuZHJvaWQiKSxsJiZsLnBhcmFtcyYmbC5lbmFibGVkKXtjb25zdCBlPSEoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJiEoMCxjLmdldENvb2tpZVNldHRpbmcpKGMuQ29va2llU2V0dGluZ3MuQW5hbHl0aWNzKSYme3dpdGhTZXNzaW9uVHJhY2tpbmc6ITB9O2c9e2NvbGxlY3RvcklkOmwuY29sbGVjdG9ySWQsdXJsOmwudXJsLHBhcmFtczp7YXBwSWQ6bC5wYXJhbXMuYXBwSWQrZCxwbGF0Zm9ybTp1LGRpc2NvdmVyUm9vdERvbWFpbjohMCxjb250ZXh0czp7d2ViUGFnZTohMH0sZXZlbnRNZXRob2Q6ImdldCIsbWF4TG9jYWxTdG9yYWdlUXVldWVTaXplOjMwLGFub255bW91c1RyYWNraW5nOmUsc2Vzc2lvbkNvb2tpZVRpbWVvdXQ6KDAsYy5nZXRDb29raWVTZXR0aW5nKShjLkNvb2tpZVNldHRpbmdzLkFuYWx5dGljcyk/MTgwMDo3Nzc2ZTN9fSwoMCxpLmlzRmVhdHVyZUVuYWJsZWQpKCJzbm93cGxvd19iZWFjb25fZmVhdHVyZSIpJiYoZy5wYXJhbXMuZXZlbnRNZXRob2Q9ImJlYWNvbiIsZy5wYXJhbXMucG9zdFBhdGg9bC5wYXJhbXMucG9zdFBhdGgpfWZ1bmN0aW9uIGgoKXtpZihnKXJldHVybiBnfW8uc3Vic2NyaWJlKGMuY29va2llU2V0dGluZ3NDaGFuZ2VFdmVudCwoKGUsdCk9PntlPT09Yy5Db29raWVTZXR0aW5ncy5BbmFseXRpY3MmJih0PygwLHIuZGlzYWJsZUFub255bW91c1RyYWNraW5nKSgpOigwLHIuZW5hYmxlQW5vbnltb3VzVHJhY2tpbmcpKHtvcHRpb25zOnt3aXRoU2Vzc2lvblRyYWNraW5nOiEwfX0pKX0pLG51bGwpfSw0NzcxNTAoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxvO24uZCh0LHtTbm93cGxvd1RyYWNrZXJCYXNlOigpPT51LGdldFRyYWNrZXJJbnN0YW5jZTooKT0+Z30pLGZ1bmN0aW9uKGUpe2UuV2ViPSJ3ZWIiLGUuTW9iaWxlPSJtb2IiLGUuRGVza3RvcD0icGMifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuQW5kcm9pZD0iX2FuZHJvaWQiLGUuSU9TPSJfaW9zIixlLkRlc2t0b3A9Il9kZXNrdG9wIn0ob3x8KG89e30pKTt2YXIgcj1uKDMxODk3NCkscz1uKDg3MDY0NCksYT1uKDkyMDcwNik7bGV0IGM9ITE7bGV0IGw9bnVsbDtmdW5jdGlvbiBnKCl7aWYobnVsbD09PWwpe2NvbnN0IGU9KDAsYS5nZXRTZXR0aW5ncykoKTt2b2lkIDAhPT1lJiYobD1uZXcgdShlKSl9cmV0dXJuIGx9Y2xhc3MgdXtjb25zdHJ1Y3RvcihlKXsoMCxzLm5ld1RyYWNrZXIpKGUuY29sbGVjdG9ySWQsZS51cmwsZS5wYXJhbXMpLHRoaXMuX2NvbGxlY3RvcklkPWUuY29sbGVjdG9ySWQsdGhpcy5fc2V0RGlzY2FyZEJyYWNlKCEwKX10cmFja1BhZ2VWaWV3KCl7KDAscy50cmFja1BhZ2VWaWV3KSh2b2lkIDAsW3RoaXMuX2NvbGxlY3RvcklkXSl9c2V0VXNlcklkKGUpe2NvbnN0IHQ9IWV8fCgwLHIuaXNTeW1waG9ueUVtYmVkKSgpP251bGw6YCR7ZX1gOygwLHMuc2V0VXNlcklkKSh0LFt0aGlzLl9jb2xsZWN0b3JJZF0pfXRyYWNrU2VsZkRlc2MoZSx0KXtjfHwoMCxzLnRyYWNrU2VsZkRlc2NyaWJpbmdFdmVudCkoe2V2ZW50OntzY2hlbWE6ZSxkYXRhOnR9fSxbdGhpcy5fY29sbGVjdG9ySWRdKX1fc2V0RGlzY2FyZEJyYWNlKGUpeygwLHMuZGlzY2FyZEJyYWNlKShlLFt0aGlzLl9jb2xsZWN0b3JJZF0pfV9zdGFydEFjdGl2aXR5V2F0Y2hlcihlKXtsZXQgdD0wO3JldHVybigwLHMuZW5hYmxlQWN0aXZpdHlUcmFja2luZ0NhbGxiYWNrKSh7bWluaW11bVZpc2l0TGVuZ3RoOmUubWluaW11bVZpc2l0TGVuZ3RoLGhlYXJ0YmVhdERlbGF5OmUuaGVhcnRiZWF0RGVsYXksY2FsbGJhY2s6KCk9Pnt0Kyt9fSxbdGhpcy5fY29sbGVjdG9ySWRdKSx7ZGlzYWJsZVRyYWNraW5nOnMuZGlzYWJsZUFjdGl2aXR5VHJhY2tpbmcsZmx1c2hUcmFja2luZ1Jlc3VsdDooKT0+e2NvbnN0IG49dCplLmhlYXJ0YmVhdERlbGF5O3JldHVybiB0PTAsbn19fX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.735Z","timestamp":1785136427735,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1addaa132a0014878b37d3567190f6c0\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2618,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-11T10:15:18.422102Z","times_seen":5333,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51031.535f27b776f394c7e43a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.746Z","timestamp":1785136427746,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51031.535f27b776f394c7e43a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-ab54\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 63cfd52290b0eaac0a7c9a429c26cd79\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":43860,"size_decoded":14999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (12910)","md5":"cd701b7197ef255d09501c8c91343508","sha1":"d84cab0e7c13c5801a0a2c6df4aba3f32e6b316d","sha256":"714cb61cc6924e6d1e8241ff191fc5aeb03baebbbaa81c15949838a09fb406f6","sha512":"ae8f1406dc1e5c9e8082d922e8a0d6257582733129c26617fefb99243013fa5f0bc9eb178dd69665786b8fb7fd0b7ccdd7ed719fe60676564b82598253efca75","ssdeep":"768:CcDTi4tT8YE9xSrNtzDcsIj/XWm9hIz4dp9VUZ+n5Vz2mpehIeVeLh9zoJZemINE:hryj/XWgGET5Vz2mp9emzoJZemINyKfS","tlshash":"7e131a35652af5f79ee941ea543754829bbc00523444042876bccdec278caf9f23aef9","first_seen":"2026-07-24T11:36:48.046407Z","last_seen":"2026-07-28T07:05:00.665702Z","times_seen":1638,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1MTAzMV0sezE1Njg1MChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHt0ZWxlbWV0cnk6KCk9Pmh9KTt2YXIgcz1fKDk0ODM4MCksaT1fKDIyMTA2MSksbj1fKDM4NDAxNyksYT1fKDM3NzIyNikscj1fKDExNzMxMyk7XygzMDAyODYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDb21tb24uVGVsZW1ldHJ5IiksbD17ZGVmYXVsdDoxNWUzLHNpdGU6M2U1fSxjPVsiYmVmb3JlX3dlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJ3ZWJzb2NrZXRfY29ubmVjdGlvbl90aW1lX2ZyYW1lIiwiZmlyc3Rfc2VyaWVzX2Z1bGxfdGltZV9mcmFtZSIsInBhZ2VfZnVsbF9sb2FkX3RpbWVfZnJhbWUiLCJwYWdlX2xvYWRfdGltZV9mcmFtZSJdO2NvbnN0IGg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXBvcnRTZW50PW5ldyBzLkRlbGVnYXRlLHRoaXMudGltZUNvdW50ZXJzPXtzZXJpZXM6e21hcmtzOltdfSxzdHVkeTp7fSxwaW5lOnt9fSx0aGlzLl90aW1lb3V0SWRzPXt9LHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhPXtjbHVzdGVyOm51bGwsdXNlcklkOiIwIn0sdGhpcy5fcmVwb3J0U3Rhc2g9e319c2V0U2Vzc2lvbkluZm8oZSl7Y29uc3QgdD10aGlzLl9wYXJzZUNsdXN0ZXIoZSk7bnVsbCE9PXQmJih0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS5jbHVzdGVyPXQpfXNlbmRSZXBvcnQoZSx0LF8pe2lmKCF0aGlzLl9pc0FibGVUb1NlbmRSZXBvcnQodCkpcmV0dXJuO2NvbnN0IHM9dGhpcy5fZ2V0U3Vic2VydmljZVR5cGUoZSksaT10aGlzLl9nZXRIb3N0KGUscyk7aWYobnVsbCE9PWkpe2lmKF89dm9pZCAwPT09Xz97Y291bnQ6MX06Xyx0aGlzLl9hZGRSZXBvcnRUb1N0YXNoKF8sdCxpKSwhdGhpcy5fdGltZW91dElkc1tlXSl7Y29uc3QgdD1sW2VdPz9sLmRlZmF1bHQ7dGhpcy5fdGltZW91dElkc1tlXT1zZXRUaW1lb3V0KHRoaXMuX3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UuYmluZCh0aGlzLGUsaSksdCl9fWVsc2Ugby5sb2dFcnJvcihgVW5hYmxlIHRvIGdldCBob3N0IGZvciBjb3VudGVyOiAke3R9LCBtZXRyaWMgdHlwZTogJHtlfSwgc2VyaXZjZSB0eXBlOiAke3N9YCl9c2VuZENoYXJ0UmVwb3J0KGUsdCxfPSEwKXt0aGlzLl9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydCgiY2hhcnRzIixlLHQsXyl9c2VuZExpbmVUb29sc1N0b3JhZ2VSZXBvcnQoZSx0LF89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJsaW5lX3Rvb2xzX3N0b3JhZ2UiLGUsdCxfKX1fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoZSx0LF8scz0hMCl7dGhpcy5fdXBkYXRlVXNlckluZm8oKSxfPXZvaWQgMD09PV8/e2NvdW50OjF9Ol8scyYmKF89dGhpcy5fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oXyxbImNsdXN0ZXIiLCJ1c2VySWQiXSkpLHRoaXMuc2VuZFJlcG9ydChlLHQsXyl9X3VwZGF0ZVVzZXJJbmZvKCl7Y29uc3QgZT0idXNlciJpbiB3aW5kb3cmJiJpZCJpbiB3aW5kb3cudXNlcj93aW5kb3cudXNlci5pZDoiMCI7dGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGEudXNlcklkPVN0cmluZyhlKX1faXNBYmxlVG9TZW5kUmVwb3J0KGUpe2NvbnN0IHQ9d2luZG93LlRFTEVNRVRSWV9IT1NUUyxfPWMuaW5jbHVkZXMoZSkscz1Cb29sZWFuKHdpbmRvdy5UcmFkaW5nVmlldz8ub25DaGFydFBhZ2V8fCgwLGEub25XaWRnZXQpKCkpO3JldHVybiB0JiYoIV98fHMpfV9zZW5kVGVsZW1ldHJ5VG9TZXJ2aWNlKGUsdCl7aWYodGhpcy5fcmVwb3J0U3Rhc2guaGFzT3duUHJvcGVydHkodCkpe2NvbnN0IGU9dGhpcy5fY3JvcFBhcmFtcyh0aGlzLl9yZXBvcnRTdGFzaFt0XSksXz10aGlzLl9yZW5hbWVBbGxQYXJhbXMoZSkscz17ZXZlbnQ6InJlcG9ydF9zdGFzaCIscGFyYW1zOnRoaXMuX2NsZWFuQWxsUGFyYW1zKF8pfTtvLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsbi5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHMpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3QgXz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLHM9X1tlXSYmX1tlXVt0XTtyZXR1cm4gQm9vbGVhbihzKT9zOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3QgXz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxyLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1fPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsci5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9Xz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLGEub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpfJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gby5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBfPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PV8mJl8ubGVuZ3RoPj0zP19bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXsKZm9yKGNvbnN0IHQgaW4gZSllLmhhc093blByb3BlcnR5KHQpJiZlW3RdLmxlbmd0aD4xZTMmJihlLnRvb19tdWNoX21ldHJpY3NfZnJhbWU9ZS50b29fbXVjaF9tZXRyaWNzX2ZyYW1lPz9bXSxlLnRvb19tdWNoX21ldHJpY3NfZnJhbWUucHVzaCh7dmFsdWU6ZVt0XS5sZW5ndGgsYWRkaXRpb25hbDp7ZXZlbnQ6dH19KSxkZWxldGUgZVt0XSk7cmV0dXJuIGV9X3JlbmFtZUFsbFBhcmFtcyhlKXtjb25zdCB0PXt9O2Zvcihjb25zdCBfIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShfKSYmKHRbX109W10sZVtfXS5mb3JFYWNoKChlPT57dFtfXS5wdXNoKHRoaXMuX3JlbmFtZUVudHJ5UGFyYW1zKGUpKX0pKSk7cmV0dXJuIHR9X3JlbmFtZUVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9e2NvdW50OiJjIix2YWx1ZToidiIsdGV4dDoidCIsYWRkaXRpb25hbDoiYSJ9O3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKChfLHMpPT4oX1t0W3NdXT1lW3NdLF8pKSx7fSl9X2NsZWFuQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IF8gaW4gZSlpZihlLmhhc093blByb3BlcnR5KF8pKXt0W19dPVtdO2NvbnN0IHM9e2M6MH07ZVtfXS5mb3JFYWNoKChlPT57Y29uc3QgaT10aGlzLl9jbGVhbkVudHJ5UGFyYW1zKGUpLG49T2JqZWN0LmtleXMoaSkubGVuZ3RoOzE9PT1uJiZ2b2lkIDAhPT1pLmM/cy5jKz1pLmM6bj4wJiZ0W19dLnB1c2goaSl9KSkscy5jPjAmJnRbX10ucHVzaChzKSwwPT09dFtfXS5sZW5ndGgmJmRlbGV0ZSB0W19dfXJldHVybiB0fV9jbGVhbkVudHJ5UGFyYW1zKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxfKT0+ImMiIT09XyYmInQiIT09X3x8ZVtfXT8odFtfXT1lW19dLHQpOnQpLHt9KTtyZXR1cm4iYyJpbiB0fHwidiJpbiB0fHwidCJpbiB0P3Q6e319X2FkZFJlcG9ydFRvU3Rhc2goZSx0LF8pe18gaW4gdGhpcy5fcmVwb3J0U3Rhc2h8fCh0aGlzLl9yZXBvcnRTdGFzaFtfXT17fSksdCBpbiB0aGlzLl9yZXBvcnRTdGFzaFtfXXx8KHRoaXMuX3JlcG9ydFN0YXNoW19dW3RdPVtdKSxPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0U3Rhc2hbX11bdF0ucHVzaChlKX19fSw5NjQ0ODYoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7ZGVlcEV4dGVuZDooKT0+aX0pO2NvbnN0IHM9bmV3IFNldChbIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsImNvbnN0cnVjdG9yIl0pO2Z1bmN0aW9uIGkoZSwuLi50KXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlPygwPT09dC5sZW5ndGh8fHQuZm9yRWFjaCgodD0+e251bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgoXz0+e2lmKGZ1bmN0aW9uKGUpe3JldHVybiBzLmhhcyhlKX0oXykpcmV0dXJuO2NvbnN0IGE9ZVtfXSxyPXRbX107aWYocj09PWUpcmV0dXJuO2NvbnN0IG89QXJyYXkuaXNBcnJheShyKTtpZihyJiYobihyKXx8bykpe2xldCB0O3Q9bz9hJiZBcnJheS5pc0FycmF5KGEpP2E6W106YSYmbihhKT9hOnt9LGVbX109aSh0LHIpfWVsc2Ugdm9pZCAwIT09ciYmKGVbX109cil9KSl9KSksZSk6ZX1mdW5jdGlvbiBuKGUpe2lmKCFlfHwiW29iamVjdCBPYmplY3RdIiE9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSlyZXR1cm4hMTtjb25zdCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtpZighdClyZXR1cm4hMDtjb25zdCBfPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS50b1N0cmluZyxzPXQuaGFzT3duUHJvcGVydHkoImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3I7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHMmJl8uY2FsbChzKT09PV8uY2FsbChPYmplY3QpfX0sNzY4NzYwKGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcygpe2xldCBlLHQ7cmV0dXJue3Byb21pc2U6bmV3IFByb21pc2UoKChfLHMpPT57ZT1fLHQ9c30pKSxyZWplY3Q6dCxyZXNvbHZlOmV9fV8uZCh0LHtjcmVhdGVEZWZlcnJlZFByb21pc2U6KCk9PnN9KX0sNTg5NzQ5KGUsdCxfKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyhlKXtpZih2b2lkIDA9PT1lKXJldHVybiIiO2lmKGUgaW5zdGFuY2VvZiBFcnJvcil7bGV0IHQ9ZS5tZXNzYWdlO3JldHVybiBlLnN0YWNrJiYodCs9IiAiK2Uuc3RhY2spLHR9cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2UudG9TdHJpbmcoKTpKU09OLnN0cmluZ2lmeShlKX1fLmQodCx7ZXJyb3JUb1N0cmluZzooKT0+c30pfSwxMTYzMTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7Y3JlYXRlSnNvblNlcmlhbGl6YWJsZUNhY2hlOigpPT5hfSk7dmFyIHM9XygxMzg2MzgpO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9ZX1hc3luYyBnZXRWYWx1ZShlKXtjb25zdCB0PWF3YWl0IHRoaXMuX2NhY2hlLm1hdGNoKGUpO2lmKCF0KXJldHVybiBudWxsO3JldHVybiJhcHBsaWNhdGlvbi9qc29uIj09PSgwLHMuZW5zdXJlTm90TnVsbCkodC5oZWFkZXJzLmdldCgiQ29udGVudC1UeXBlIikpP3QuanNvbigpOnQudGV4dCgpfWFzeW5jIHNldFZhbHVlKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3RoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZSh0LHtoZWFkZXJzOnsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9fSkpOnRoaXMuX2NhY2hlLnB1dChlLG5ldyBSZXNwb25zZShKU09OLnN0cmluZ2lmeSh0KSx7aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pKX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXtjb25zdCBfPWF3YWl0IHRoaXMuZ2V0VmFsdWUoZSk7XyYmKGF3YWl0IHRoaXMuc2V0VmFsdWUodCxfKSxhd2FpdCB0aGlzLl9jYWNoZS5kZWxldGUoZSkpfWFzeW5jIGRlbGV0ZVZhbHVlKGUpe3JldHVybiB0aGlzLl9jYWNoZS5kZWxldGUoZSl9fWNsYXNzIG57Y29uc3RydWN0b3IoKXt0aGlzLl9kYXRhPW5ldyBNYXB9YXN5bmMgZ2V0VmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGUpPz9udWxsfWFzeW5jIHNldFZhbHVlKGUsdCl7dGhpcy5fZGF0YS5zZXQoZSx0KX1hc3luYyBtaWdyYXRlVmFsdWUoZSx0KXsKdGhpcy5fZGF0YS5oYXMoZSkmJih0aGlzLl9kYXRhLnNldCh0LHRoaXMuX2RhdGEuZ2V0KGUpKSx0aGlzLl9kYXRhLmRlbGV0ZShlKSl9YXN5bmMgZGVsZXRlVmFsdWUoZSl7cmV0dXJuIHRoaXMuX2RhdGEuZGVsZXRlKGUpfX1hc3luYyBmdW5jdGlvbiBhKGUpe3RyeXtjb25zdCB0PWF3YWl0IGNhY2hlcy5vcGVuKGUpO3JldHVybiBuZXcgaSh0KX1jYXRjaHtyZXR1cm4gbmV3IG59fX0sNDAzNihlLHQsXyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHMoZSl7Y29uc3QgdD17fTtpZigtMT09PWUuaW5kZXhPZigiQCIpKXQuc2hvcnRJZD1lLHQucGFja2FnZUlkPSJ0di1iYXNpY3N0dWRpZXMiLHQuaWQ9ZSsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtjb25zdCBfPWUuc3BsaXQoIkAiKTt0LnNob3J0SWQ9X1swXTtjb25zdCBzPV9bMV0uc3BsaXQoIi0iKTtpZigzPT09cy5sZW5ndGgpdC5wYWNrYWdlSWQ9cy5zbGljZSgwLDIpLmpvaW4oIi0iKSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPXBhcnNlSW50KHNbMl0pO2Vsc2UgaWYoMT09PXMubGVuZ3RoJiYiZGVjaXNpb25iYXIiPT09c1swXSl0LnBhY2thZ2VJZD0ibGVzLSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTE7ZWxzZXtpZigxIT09cy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIHN0dWR5IGlkOiIrZSk7dC5wYWNrYWdlSWQ9InR2LSIrc1swXSx0LmlkPXQuc2hvcnRJZCsiQCIrdC5wYWNrYWdlSWQsdC52ZXJzaW9uPTF9fWlmKHQuZnVsbElkPXQuaWQrIi0iK3QudmVyc2lvbiwidHYtc2NyaXB0aW5nIj09PXQucGFja2FnZUlkKXtjb25zdCBlPXQuc2hvcnRJZDtpZigwPT09ZS5pbmRleE9mKCJTY3JpcHQkIil8fDA9PT1lLmluZGV4T2YoIlN0cmF0ZWd5U2NyaXB0JCIpKXtjb25zdCBfPWUuaW5kZXhPZigiXyIpO3QucHJvZHVjdElkPV8+PTA/ZS5zdWJzdHJpbmcoMCxfKTp0LnBhY2thZ2VJZH1lbHNlIHQucHJvZHVjdElkPXQucGFja2FnZUlkfWVsc2UgdC5wcm9kdWN0SWQ9dC5wYWNrYWdlSWQ7cmV0dXJuIHR9Xy5kKHQse3BhcnNlSWRTdHJpbmc6KCk9PnN9KX0sNzgwOTc1KGUsdCxfKXsidXNlIHN0cmljdCI7dmFyIHM7Xy5kKHQse0NoYXJ0QXBpTWVzc2FnZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuQ29ubmVjdGVkPSJjb25uZWN0ZWQiLGUuRGlzY29ubmVjdGVkPSJkaXNjb25uZWN0ZWQiLGUuUmVjb25uZWN0QmFpbG91dD0icmVjb25uZWN0X2JhaWxvdXQifShzfHwocz17fSkpfSwzMDkwNTIoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7UVVPVEVfRklFTERTOigpPT5pLFFVT1RFX0ZJRUxEU19DQUNIRTooKT0+bn0pO3ZhciBzPV8oMTM4NjM4KQo7Y29uc3QgaT1uZXcgU2V0KFsicHJvX25hbWUiLCJiYXNlX25hbWUiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJzb3VyY2UtbG9nb2lkIiwic2hvcnRfbmFtZSIsIndlYl9zaXRlX3VybCIsInByb19wZXJtIiwidGltZXpvbmUiLCJjdXJyZW50X3Nlc3Npb24iLCJzZXNzaW9uX2hvbGlkYXlzIiwibGFzdF9wcmljZSIsImxwX3RpbWUiLCJzdWJzZXNzaW9ucyIsInByZXZfY2xvc2VfcHJpY2UiLCJvcGVuX3ByaWNlIiwiaGlnaF9wcmljZSIsImxvd19wcmljZSIsInByaWNlXzUyX3dlZWtfaGlnaCIsInByaWNlXzUyX3dlZWtfbG93IiwiYXNrIiwiYXNrX3NpemUiLCJiaWQiLCJiaWRfc2l6ZSIsInJjaCIsInJjaHAiLCJydGMiLCJydGNfdGltZSIsIm5jaCIsIm5jaHAiLCJudGMiLCJudGNfdGltZSIsImRhdGFfZnJlcXVlbmN5IiwicmVmZXJlbmNlLWxhc3QtcGVyaW9kLXN0YXJ0IiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJ3ZWJfc2l0ZV91cmwiLCJmaWdpIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwicm9vdCIsImRlc2NyaXB0aW9uIiwiZXhjaGFuZ2UiLCJsaXN0ZWRfZXhjaGFuZ2UiLCJ0eXBlIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJpc190cmFkYWJsZSIsInNlY3RvciIsInR5cGVzcGVjcyIsInZpc2libGUtcGxvdHMtc2V0IiwiaW5kdXN0cnkiLCJjdXJyZW5jeV9pZCIsImxhc3RfcHJpY2UiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidmFyaWFibGVfdGlja19zaXplIiwiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJ2b2x1bWUiLCJhdmVyYWdlX3ZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJtYXJrZXRfY2FwX2NhbGMiLCJ0b3RhbF9yZXZlbnVlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bSIsInByaWNlX2Vhcm5pbmdzX3R0bSIsImJldGFfMV95ZWFyIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5IiwiZGl2aWRlbmRzX3lpZWxkIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3B1YmxpY2F0aW9uX3R5cGVfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcSIsImZvcmVjYXN0X3JhdyIsImxhc3RfcmVsZWFzZV9kYXRlIiwibmV4dF9yZWxlYXNlX2RhdGUiLCJyZWZlcmVuY2VfbGFzdF9wZXJpb2QiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIiwibnVtYmVyX29mX2VtcGxveWVlcyIsIndlYl9zaXRlX3VybCIsImJ1c2luZXNzX2Rlc2NyaXB0aW9uIiwiZm91bmRlZCIsImNlbyIsImZsb2F0X3NoYXJlc19vdXRzdGFuZGluZyIsInRvdGFsX3NoYXJlc19vdXRzdGFuZGluZyIsImRpdmlkZW5kX3BheW91dF9yYXRpb190dG0iLCJkaXZpZGVuZHNfeWllbGRfY3VycmVudCIsImRpdmlkZW5kX2V4X2RhdGVfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfdXBjb21pbmciLCJkaXZpZGVuZF9hbW91bnRfcmVjZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV9yZWNlbnQiLCJkaXZpZGVuZF9hbW91bnRfaCIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX3BheW1lbnRfZGF0ZV9yZWNlbnQiLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2Z5X2giLCJmaXNjYWxfcGVyaW9kX2ZxX2giLCJmaXNjYWxfcGVyaW9kX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcV9oIiwibmV4dF9lYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxIiwiaXNfbmV4dF9lYXJuaW5nc19yZWxlYXNlX2RhdGVfZXN0aW1hdGVkIiwic3ltYm9sLXByaW1hcnluYW1lIiwiY3VycmVuY3lfY29kZSIsInJhdGVzX21jIiwicmF0ZXNfZnkiLCJyYXRlc190dG0iLCJtZWFzdXJlIiwidmFsdWVfdW5pdF9pZCIsInZhbHVlLXVuaXQtaWQiLCJ1cGRhdGVfbW9kZSIsImxhbmd1YWdlIiwibG9jYWxfZGVzY3JpcHRpb24iLCJzaG9ydF9kZXNjcmlwdGlvbiIsInNvdXJjZSIsInNvdXJjZTIiLCJmb3JtYXQiLCJyZWNvbW1lbmRhdGlvbl9tYXJrIiwibGFzdF9yZXBvcnRfZnJlcXVlbmN5IiwicHJpY2VfdGFyZ2V0X2VzdGltYXRlc19udW0iLCJwcmljZV90YXJnZXRfYXZlcmFnZSIsInVwZGF0ZV9tb2RlX3NlY29uZHMiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInJlY29tbWVuZGF0aW9uX2J1eSIsInJlY29tbWVuZGF0aW9uX292ZXIiLCJyZWNvbW1lbmRhdGlvbl9ob2xkIiwicmVjb21tZW5kYXRpb25fdW5kZXIiLCJyZWNvbW1lbmRhdGlvbl9zZWxsIiwicmVjb21tZW5kYXRpb25fdG90YWwiLCJwcmljZV90YXJnZXRfaGlnaCIsInByaWNlX3RhcmdldF9sb3ciLCJyYXRlc19wdCIsInJhdGVzX3B0IiwidG90YWxfcmV2ZW51ZV9meV9oIiwidG90YWxfcmV2ZW51ZV9mcV9oIiwidG90YWxfcmV2ZW51ZV9maF9oIiwibmV0X3JldmVudWVfZnlfaCIsIm5ldF9yZXZlbnVlX2ZxX2giLCJuZXRfcmV2ZW51ZV9maF9oIiwibmV0X2luY29tZV9meV9oIiwibmV0X2luY29tZV9mcV9oIiwibmV0X2luY29tZV9maF9oIiwidG90YWxfYXNzZXRzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZnFfaCIsInRvdGFsX2Fzc2V0c19maF9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnlfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19maF9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19maF9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19maF9oIiwiZmlzY2FsX3BlcmlvZF9meSIsImZpc2NhbF9wZXJpb2RfZnEiLCJmaXNjYWxfcGVyaW9kX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZxX2giLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnlfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9maF9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9meSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2ZoIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZmgiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZoX2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZnFfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9meV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZoX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZoX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnkiLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmgiLCJyZXZlbnVlX2ZxX2giLCJyZXZlbnVlX2Z5X2giLCJyZXZlbnVlX2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxX2giLCJyZXZlbnVlX2ZvcmVjYXN0X2Z5X2giLCJyZXZlbnVlX2ZvcmVjYXN0X2ZoX2giLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnEiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZnkiLCJyZXZlbnVlX2ZvcmVjYXN0X25leHRfZmgiLCJyZXZlbnVlX3NlZ19ieV9idXNpbmVzc19oIiwicmV2ZW51ZV9zZWdfYnlfcmVnaW9uX2giLCJ0b3RhbF9yZXZlbnVlX2Z5IiwidG90YWxfcmV2ZW51ZV9mcSIsInRvdGFsX3JldmVudWVfZmgiLCJncm9zc19wcm9maXRfZnkiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXRfZmgiLCJlYml0ZGFfZnkiLCJlYml0X2Z5IiwibmV0X2luY29tZV9meSIsIm5ldF9pbmNvbWVfZnEiLCJuZXRfaW5jb21lX2ZoIiwidG90YWxfZGVidF9meV9oIiwidG90YWxfZGVidF9mcV9oIiwidG90YWxfZGVidF9maF9oIiwiZnJlZV9jYXNoX2Zsb3dfZnlfaCIsImZyZWVfY2FzaF9mbG93X2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19maF9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2Z5X2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnFfaCIsImNhc2hfbl9lcXVpdmFsZW50c19maF9oIiwidG90YWxfY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19mcSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnEiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2Z5IiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfYXNzZXRzX2ZoIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZoIiwibG9hbnNfbmV0X2Z5IiwibG9hbnNfbmV0X2Z5X2giLCJsb2Fuc19uZXRfZnFfaCIsImxvYW5zX25ldF9maF9oIiwidG90YWxfZGVwb3NpdHNfZnkiLCJ0b3RhbF9kZXBvc2l0c19meV9oIiwidG90YWxfZGVwb3NpdHNfZnFfaCIsInRvdGFsX2RlcG9zaXRzX2ZoX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19meSIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5X2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19mcV9oIiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZmhfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9meV9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9meV9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2ZxX2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZmhfaCIsImluc3VyYW5jZV9yZXNlcnZlc19meV9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2ZxX2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZmhfaCIsInBvbGljeV9jbGFpbXNfZnlfaCIsInBvbGljeV9jbGFpbXNfZnFfaCIsInBvbGljeV9jbGFpbXNfZmhfaCIsInByZW1pdW1zX2Vhcm5lZF9meV9oIiwicHJlbWl1bXNfZWFybmVkX2ZxX2giLCJwcmVtaXVtc19lYXJuZWRfZmhfaCIsInByaWNlX2Vhcm5pbmdzX2ZxX2giLCJwcmljZV9lYXJuaW5nc19meV9oIiwicHJpY2VfZWFybmluZ3NfZmhfaCIsInByaWNlX3NhbGVzX2ZxX2giLCJwcmljZV9zYWxlc19meV9oIiwicHJpY2Vfc2FsZXNfZmhfaCIsImRpbHV0ZWRfbmV0X2luY29tZV90dG0iLCJ0b3RhbF9yZXZlbnVlX3R0bSIsIm5ldF9yZXZlbnVlX3R0bSIsInByaWNlX2Vhcm5pbmdzX2N1cnJlbnQiLCJwcmljZV9zYWxlc19jdXJyZW50IiwiaXNpbi1kaXNwbGF5ZWQiLCJjdXNpcCIsImNmaV9jb2RlIiwiaW50ZXJlc3RfaW5jb21lX2Z5X2giLCJpbnRlcmVzdF9pbmNvbWVfZnFfaCIsImludGVyZXN0X2luY29tZV9maF9oIiwibm9uX2ludGVyZXN0X2luY29tZV9meV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9mcV9oIiwibm9uX2ludGVyZXN0X2luY29tZV9maF9oIiwid2Vic2l0ZSIsImRvYyIsImV4cGxvcmVyIiwic291cmNlcyIsImNvbnRyYWN0cyIsImNyeXB0b19jb21tb25fY2F0ZWdvcmllcyIsImNyeXB0b19hc3NldCIsImNvbW11bml0eSIsImRpdmlkZW5kc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiLCJmaW5hbmNpYWxzX2F2YWlsYWJpbGl0eSIsImRvY3VtZW50cyIsImV0Zl9hc3NldF90eXBlX2V4cG9zdXJlIiwiZXRmX3JlZ2lvbl9leHBvc3VyZSIsInRvcF9ob2xkaW5ncyIsInVuaXQtaWQiLCJvcHRpb25zLWluZm8iLCJvcHRpb24tdHlwZSIsImludGVyZXN0X2luY29tZV9meSIsImludGVyZXN0X2luY29tZV9mcSIsImludGVyZXN0X2luY29tZV9maCIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnkiLCJub25faW50ZXJlc3RfaW5jb21lX2ZxIiwibm9uX2ludGVyZXN0X2luY29tZV9maCIsImludGVyZXN0X2V4cGVuc2VfZnkiLCJpbnRlcmVzdF9leHBlbnNlX2ZxIiwiaW50ZXJlc3RfZXhwZW5zZV9maCIsImxvYW5fbG9zc19wcm92aXNpb25fZnkiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZxIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9maCIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2Z5Iiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnEiLCJub25faW50ZXJlc3RfZXhwZW5zZV9maCIsIm5vbl9vcGVyX2luY29tZV9meSIsIm5vbl9vcGVyX2luY29tZV9mcSIsIm5vbl9vcGVyX2luY29tZV9maCIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnkiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZxIiwidW51c3VhbF9leHBlbnNlX2luY19maCIsInByZXRheF9pbmNvbWVfZnkiLCJwcmV0YXhfaW5jb21lX2ZxIiwicHJldGF4X2luY29tZV9maCIsImluY29tZV90YXhfZnkiLCJpbmNvbWVfdGF4X2ZxIiwiaW5jb21lX3RheF9maCIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnkiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZxIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9maCIsInRvdGFsX25vbl9vcGVyX2luY29tZV9meSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9mcSIsInRvdGFsX25vbl9vcGVyX2luY29tZV9maCIsIm9wZXJfaW5jb21lX2Z5Iiwib3Blcl9pbmNvbWVfZnEiLCJvcGVyX2luY29tZV9maCIsIm9wZXJhdGluZ19leHBlbnNlc19meSIsIm9wZXJhdGluZ19leHBlbnNlc19mcSIsIm9wZXJhdGluZ19leHBlbnNlc19maCIsImNvc3Rfb2ZfZ29vZHNfZnkiLCJjb3N0X29mX2dvb2RzX2ZxIiwiY29zdF9vZl9nb29kc19maCIsImVxdWl0eV9pbl9lYXJuaW5nc19meSIsImVxdWl0eV9pbl9lYXJuaW5nc19mcSIsImVxdWl0eV9pbl9lYXJuaW5nc19maCIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9meSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2V4cF9maCIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2Z5IiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnEiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19maCIsImZyb250X2NvbnRyYWN0IiwibWluX2NvbnRyYWN0IiwicG9pbnR2YWx1ZSIsInVuaXRfaWQiLCJleHBpcmF0aW9uIiwiYXVtIiwiYXNzZXRfY2xhc3MiLCJmb2N1cyIsImV4cGVuc2VfcmF0aW8iLCJsYXVuY2hfZGF0ZSIsImlzc3VlciIsImJyYW5kIiwiaG9tZXBhZ2UiLCJpbmRleF90cmFja2VkIiwiYWN0aXZlbHlfbWFuYWdlZCIsImZ1bmRfdmlld19tb2RlcyIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnlfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZnFfaCIsImNvbW1vbl9lcXVpdHlfdGllcjFfcmF0aW9fZmhfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRpZXIxX2NhcGl0YWxfcmF0aW9fZmhfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnlfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZnFfaCIsInRvdGFsX2NhcGl0YWxfcmF0aW9fZmhfaCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9maCIsInByZWZlcnJlZF9zdG9ja19jYXJyeWluZ192YWx1ZV9mcSIsInRvdGFsX2RlYnRfZnEiLCJtaW5vcml0eV9pbnRlcmVzdF9maCIsIm1pbm9yaXR5X2ludGVyZXN0X2ZxIiwiY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZoIiwiY2FzaF9uX2R1ZV9mX2JhbmtzX2ZxIiwiZW50ZXJwcmlzZV92YWx1ZV9jdXJyZW50IiwiZXRmX2hvbGRpbmdzX2NvdW50IiwiY29udHJhY3QtZGVzY3JpcHRpb24iLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2QiLCJhbGxfdGltZV9oaWdoIiwiYWxsX3RpbWVfaGlnaF9kYXkiLCJhbGxfdGltZV9sb3ciLCJhbGxfdGltZV9sb3dfZGF5Iiwib3V0c3RhbmRpbmdfYW1vdW50Iiwibm9taW5hbF92YWx1ZSIsImRlbm9tX21pbiIsImN1cnJlbnRfY291cG9uIiwiY291cG9uX3R5cGVfZ2VuZXJhbCIsImNvdXBvbl9mcmVxdWVuY3kiLCJ5aWVsZF90b19tYXR1cml0eSIsIm1hdHVyaXR5LWRhdGUiLCJkYXlzX3RvX21hdHVyaXR5IiwiYm9uZF9pc3N1ZXIiLCJpc3N1ZV9kYXRlIiwiYm9uZF9pc3N1ZXJfc3RvY2tfc3ltYm9sIiwidG90YWxfaXNzdWVkX2Ftb3VudCIsInBhaWRfYW1vdW50IiwiYm9uZF9zbnBfcmF0aW5nX2x0X2giLCJwbGFjZW1lbnRfdHlwZSIsImR1cmF0aW9uX3R5cGUiLCJtYXR1cml0eV90eXBlIiwib2ZmZXJfdHlwZSIsInJlZGVtcHRpb25fdHlwZSIsImNvbnZlcnNpb25fb3B0aW9uIiwic2lua2luZ19mdW5kIiwib3duZXJzaGlwX2Zvcm0iLCJkYWlseS1zdW1tYXJ5LWFzdCIsImlzc3VlX3N0YXR1cyIsImNvdXBvbl9oIiwic2lua2luZ19mdW5kX25leHRfZGF0ZSIsInNpbmtpbmdfZnVuZF9taW5fYW1vdW50X25leHQiLCJjYWxsX25leHRfZGF0ZSIsInJlZGVtcHRpb25zX2giLCJjYWxsX25vdGljZV9kYXlzIiwicHV0X25leHRfZGF0ZSIsInB1dF9ub3RpY2VfZGF5c19taW4iLCJzZW5pb3JpdHlfbGV2ZWwiLCJpbmZsYXRpb25fcHJvdGVjdGlvbiIsInBsZWRnZV9zdGF0dXMiLCJib25kX2lzc3Vlcl9jb3VudHJ5X29mX3Jpc2siLCJib25kX2lzc3Vlcl9jcl9wYXJlbnQiLCJjcmVkaXRfZW5oYW5jZW1lbnRfdHlwZSIsImNyZWRpdF9lbmhhbmNlbWVudF9zdGF0dXMiLCJ1c2Vfb2ZfcHJvY2VlZHMiLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX2x0X2giLCJib25kX2lzc3Vlcl9zbnBfcmF0aW5nX3N0X2giLCJib25kX2FnZW50c190ciIsImZpcnN0X2Jhcl90aW1lXzFkIiwiZmluYW5jaWFsLWluZGljYXRvci1pZCIsImV4Y2hhbmdlLWluZm8iLCJ1bmRlcmx5aW5nLXN5bWJvbCIsInN0cmlrZSIsImxvdHNpemUiLCJvcHRpb24tc3R5bGUiLCJoYXNfYm9uZHMiLCJvcGVuX3RpbWUiLCJoYXNfYm9uZHMiLCJkZXhfYnV5c18xNW0iLCJkZXhfc2VsbHNfMTVtIiwiZGV4X2J1eV92b2x1bWVfMTVtIiwiZGV4X3NlbGxfdm9sdW1lXzE1bSIsImRleF9idXllcnNfMTVtIiwiZGV4X3NlbGxlcnNfMTVtIiwiZGV4X2J1eXNfMWgiLCJkZXhfc2VsbHNfMWgiLCJkZXhfYnV5X3ZvbHVtZV8xaCIsImRleF9zZWxsX3ZvbHVtZV8xaCIsImRleF9idXllcnNfMWgiLCJkZXhfc2VsbGVyc18xaCIsImRleF9idXlzXzRoIiwiZGV4X3NlbGxzXzRoIiwiZGV4X2J1eV92b2x1bWVfNGgiLCJkZXhfc2VsbF92b2x1bWVfNGgiLCJkZXhfYnV5ZXJzXzRoIiwiZGV4X3NlbGxlcnNfNGgiLCJkZXhfYnV5c18xMmgiLCJkZXhfc2VsbHNfMTJoIiwiZGV4X2J1eV92b2x1bWVfMTJoIiwiZGV4X3NlbGxfdm9sdW1lXzEyaCIsImRleF9idXllcnNfMTJoIiwiZGV4X3NlbGxlcnNfMTJoIiwiZGV4X2J1eXNfMjRoIiwiZGV4X3NlbGxzXzI0aCIsImRleF9idXlfdm9sdW1lXzI0aCIsImRleF9zZWxsX3ZvbHVtZV8yNGgiLCJkZXhfYnV5ZXJzXzI0aCIsImRleF9zZWxsZXJzXzI0aCIsImRleF9jb252ZXJ0ZWRfc3ltYm9sIiwiZGV4X3RyYWRpbmdfdm9sdW1lXzI0aCIsImRleF9jcmVhdGVkX3RpbWUiLCJkZXhfY3VycmVuY3kiLCJkZXhfY3VycmVuY3lfbG9nb2lkIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXNfdXJscyIsImJsb2NrY2hhaW5fYWRkcmVzc2VzIiwiYmFzZV9jdXJyZW5jeSIsImlwb19vZmZlcl9zdGF0dXMiLCJoYXNfaXBvX2RldGFpbHNfdmlzaWJsZSIsImlwb19wcmljZV9yYW5nZV91c2RfbWF4IiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9taW4iLCJpcG9fb2ZmZXJfcHJpY2VfdXNkIiwiaXBvX29mZmVyZWRfc2hhcmVzIiwiaXBvX2RlYWxfYW1vdW50X3VzZCIsImlwb19hbm5vdW5jZW1lbnRfZGF0ZSIsImlwb19vZmZlcl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfYmVnaW5fZGF0ZSIsImF2YWlsYWJsZV9kYXRhX3JhbmdlX2VuZF9kYXRlIiwiaGFzX2V0Zl9vd25lcnNoaXAiLCJzeW1ib2xfcHJpbWFyeV9saXN0aW5nIiwibWV0cmljX3l0bSIsIm1ldHJpY3MiLCJlcHNfZXN0aW1hdGVzX2Z5X2giLCJlcHNfZXN0aW1hdGVzX2ZxX2giLCJlcHNfZXN0aW1hdGVzX2ZoX2giLCJyZXZlbnVlX2VzdGltYXRlc19meV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZnFfaCIsInJldmVudWVfZXN0aW1hdGVzX2ZoX2giLCJkcHNfZXN0aW1hdGVzX2Z5X2giLCJkcHNfZXN0aW1hdGVzX2ZxX2giLCJkcHNfZXN0aW1hdGVzX2ZoX2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19meV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZnFfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2ZoX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2Z5X2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZxX2giLCJncm9zc19wcm9maXRfZXN0aW1hdGVzX2ZoX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2Z5X2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZxX2giLCJzZWxsX2dlbl9hZG1pbl9leHBfdG90YWxfZXN0aW1hdGVzX2ZoX2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19meV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZnFfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2ZoX2giLCJlYml0ZGFfZXN0aW1hdGVzX2Z5X2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZxX2giLCJlYml0ZGFfZXN0aW1hdGVzX2ZoX2giLCJlYml0X2VzdGltYXRlc19meV9oIiwiZWJpdF9lc3RpbWF0ZXNfZnFfaCIsImViaXRfZXN0aW1hdGVzX2ZoX2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19meV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZnFfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZxX2giLCJ0b3RhbF9hc3NldHNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZXN0aW1hdGVzX2ZoX2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19meV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2ZoX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZnlfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19mcV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZnlfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19mcV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZXN0aW1hdGVzX2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZnlfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19mcV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZoX2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9meV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2ZoX2giLCJmb3JlY2FzdF9hdmFpbGFiaWxpdHkiXSksbj1uZXcgY2xhc3N7CmNvbnN0cnVjdG9yKGUpe3RoaXMuX2NhY2hlPW5ldyBNYXAsdGhpcy5fdGltZXM9bmV3IE1hcCx0aGlzLl9maWVsZHM9Wy4uLmUuZmllbGRzXX11cGRhdGUoZSx0LF8pe2NvbnN0IGk9KDAscy5lbnN1cmVEZWZpbmVkKShlLnN5bWJvbG5hbWUpLG49RGF0ZS5ub3coKTtpZih0aGlzLl9jYWNoZS5oYXMoaSl8fHRoaXMuX2NhY2hlLnNldChpLHtzeW1ib2xuYW1lOmksc3RhdHVzOmUuc3RhdHVzLHZhbHVlczp7fX0pLHRoaXMuX3RpbWVzLmhhcyhpKXx8dGhpcy5fdGltZXMuc2V0KGksbmV3IE1hcCksImVycm9yIj09PWUuc3RhdHVzKXJldHVybjtjb25zdCBhPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fY2FjaGUuZ2V0KGkpKSxyPSgwLHMuZW5zdXJlRGVmaW5lZCkodGhpcy5fdGltZXMuZ2V0KGkpKTthLnN0YXR1cz1lLnN0YXR1cztmb3IoY29uc3QgcyBvZiB0aGlzLl9maWVsZHMpdC5oYXMocykmJihffHx2b2lkIDAhPT1lLnZhbHVlc1tzXSkmJihhLnZhbHVlc1tzXT1lLnZhbHVlc1tzXSxyLnNldChzLG4pKX1nZXQoZSl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldChlKT8/bnVsbH1nZXRUaW1lcyhlKXtyZXR1cm4gdGhpcy5fdGltZXMuZ2V0KGUpPz9udWxsfWZpZWxkcygpe3JldHVybiB0aGlzLl9maWVsZHN9fSh7ZmllbGRzOml9KX0sOTI3NTkzKGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse1F1b3RlU2Vzc2lvbk11bHRpcGxleGVyOigpPT5mfSk7dmFyIHM9Xyg1ODcxNjgpLGk9Xyg1NDc4NTEpLG49XygzNTI4MzcpLGE9XygxMzg2MzgpLHI9XygyMjEwNjEpLG89Xyg5NDgzODApLGw9Xyg5NjQ0ODYpLGM9XygxNTAxNTApLGg9XygzMDkwNTIpLGQ9XygzNjc5NDYpO2xldCB1PSExO3ZhciBtPV8oOTcwNzc0KTtjb25zdCBwPSgwLHIuZ2V0TG9nZ2VyKSgiV2ViY2hhcnRDbGllbnQuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIiKTtjbGFzcyBme2NvbnN0cnVjdG9yKGUpe3RoaXMub25Db25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMub25EaXNjb25uZWN0PW5ldyBvLkRlbGVnYXRlLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9zdWJzY3JpcHRpb25zPXt9LHRoaXMuX3N5bWJvbF9kYXRhPXt9LHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHM9KDAsaS5kZWZhdWx0KSh0aGlzLl91cGRhdGVGYXN0U3ltYm9scywyNTApLHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGE9e30sdGhpcy5fZXh0ZW5zaW9ucz17fSx0aGlzLm9wdGlvbnM9e3Rocm90dGxlVGltZW91dDoxMjUsLi4uZX0sdGhpcy5fc2Vzc2lvbj1uZXcgbS5RdW90ZVNlc3Npb24oZS5hcGksWyJtdWx0aXBsZXhlciIsZS5uYW1lLCgwLGMucmFuZG9tSGFzaCkoKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIl8iKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LmZvcm1hdHRlciYmKHRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyPXRoaXMub3B0aW9ucy5leHRlbnNpb25zLmZvcm1hdHRlcih0aGlzKSksdGhpcy5vcHRpb25zLmV4dGVuc2lvbnM/LnNuYXBzaG90JiYodGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5zbmFwc2hvdCh0aGlzKSksdGhpcy5jb25uZWN0KCl9ZGVzdHJveSgpe3RoaXMuX3Nlc3Npb24uZGVzdHJveSgpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCl9aW50ZXJuYWxzKCl7cmV0dXJue3Nlc3Npb246KCk9PnRoaXMuX3Nlc3Npb24sc3Vic2NyaXB0aW9uczooKT0+dGhpcy5fc3Vic2NyaXB0aW9ucyxkYXRhOigpPT50aGlzLl9zeW1ib2xfZGF0YX19Y29ubmVjdCgpe3RoaXMuX3Nlc3Npb24uY29ubmVjdCh0aGlzLnF1b3RlSGFuZGxlci5iaW5kKHRoaXMpKX1xdW90ZUhhbmRsZXIoZSl7Y29uc3R7bWV0aG9kOnQscGFyYW1zOl99PWU7c3dpdGNoKHQpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9jb25uZWN0ZWR8fCh0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5vbkNvbm5lY3RlZCgpKTticmVhaztjYXNlInF1b3RlX2xpc3RfZmllbGRzIjpicmVhaztjYXNlInF1b3RlX3N5bWJvbF9kYXRhIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKF9bMF0pO2JyZWFrO2Nhc2UicXVvdGVfY29tcGxldGVkIjp0aGlzLl9jb25uZWN0ZWQmJnRoaXMub25TeW1ib2xEYXRhKHtzeW1ib2xuYW1lOl9bMF0sY29tcGxldGU6cGVyZm9ybWFuY2Uubm93KCksdmFsdWVzOnt9fSk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLm9uRGlzY29ubmVjdC5maXJlKCkpfX1vbkNvbm5lY3RlZCgpe3RoaXMuc2V0RmllbGRzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9zeW1ib2xfZGF0YSk7ZS5sZW5ndGgmJih0aGlzLl9zZXNzaW9uLnF1b3RlQWRkU3ltYm9scyhlKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpLHRoaXMub25Db25uZWN0LmZpcmUoKX1zZXRGaWVsZHMoKXtjb25zdHtmaWVsZHM6ZX09dGhpcy5vcHRpb25zO2UmJmUubGVuZ3RoJiZ0aGlzLl9zZXNzaW9uLnF1b3RlU2V0RmllbGRzKGUpfW9uU3ltYm9sRGF0YShlKXt0cnl7ZS5zdGF0dXMmJmguUVVPVEVfRklFTERTX0NBQ0hFLnVwZGF0ZShlLGguUVVPVEVfRklFTERTLCExKX1jYXRjaChlKXt9Y29uc3QgdD1lLnN5bWJvbG5hbWU7bGV0IF89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XTt1JiYoZGVsZXRlIGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2Usdm9pZCAwIT09ZS52YWx1ZXMucmVndWxhcl9jbG9zZSYmKGUudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U9ZS52YWx1ZXMucmVndWxhcl9jbG9zZSkpLF98fChfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbdF09e2ZuRGlzcGF0Y2g6KDAscy5kZWZhdWx0KSh0aGlzLmRpc3BhdGNoU3ltYm9sRGF0YS5iaW5kKHRoaXMpLHRoaXMub3B0aW9ucy50aHJvdHRsZVRpbWVvdXQpfSksXy5jYWNoZT8oMCxsLmRlZXBFeHRlbmQpKF8uY2FjaGUsZSk6Xy5jYWNoZT1lLF8uZm5EaXNwYXRjaCh0KX1kaXNwYXRjaFN5bWJvbERhdGEoZSl7Y29uc3QgdD10aGlzLl9zeW1ib2xfZGF0YVtlXSxfPXRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUKO2lmKGRlbGV0ZSB0aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW2VdLmNhY2hlLHRoaXMuX3N5bWJvbF9kYXRhW2VdKXsoMCxsLmRlZXBFeHRlbmQpKHQsXyksdC52YWx1ZXMmJnRoaXMuX3BhcnNlVXBkYXRlTW9kZSh0LnZhbHVlcyk7Zm9yKGNvbnN0IHMgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW3NdO2lmKGkuaGFzKGUpKXtbLi4uKDAsYS5lbnN1cmVEZWZpbmVkKShpLmdldChlKSldLmZvckVhY2goKGU9PntlKHQsXyl9KSl9fX19c3Vic2NyaWJlKGUsdCxfKXt0aGlzLl9zdWJzY3JpcHRpb25zW2VdPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV18fG5ldyBNYXA7Y29uc3Qgcz10aGlzLl9zdWJzY3JpcHRpb25zW2VdO3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IGk9W107dC5mb3JFYWNoKChlPT57dGhpcy5fc3ltYm9sX2RhdGFbZV0/cyYmcy5oYXMoZSl8fHRoaXMuX3N5bWJvbF9kYXRhW2VdLnN1YnNjcmliZXJzX2NvdW50Kys6KHRoaXMuX3N5bWJvbF9kYXRhW2VdPXtzdWJzY3JpYmVyc19jb3VudDoxfSxpLnB1c2goZSkpLHMuaGFzKGUpfHxzLnNldChlLFtdKTtjb25zdCB0PSgwLGEuZW5zdXJlRGVmaW5lZCkocy5nZXQoZSkpO3QucHVzaChfKSx0LmZhc3Q9ITAsdGhpcy5fc3ltYm9sX2RhdGFbZV0mJnRoaXMuX3N5bWJvbF9kYXRhW2VdLnZhbHVlcyYmXyh0aGlzLl9zeW1ib2xfZGF0YVtlXSx0aGlzLl9zeW1ib2xfZGF0YVtlXSl9KSksaS5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGkpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9dW5zdWJzY3JpYmUoZSx0LF8pe3Q9QXJyYXkuaXNBcnJheSh0KT9bLi4udF06W3RdO2NvbnN0IHM9dGhpcy5fc3Vic2NyaXB0aW9uc1tlXSxpPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCByPXRbbl07aWYocyYmcy5oYXMocikpe2lmKF8pe2NvbnN0IGU9KDAsYS5lbnN1cmVEZWZpbmVkKShzLmdldChyKSksdD1lLmluZGV4T2YoXyk7fnQmJmUuc3BsaWNlKHQsMSksZS5sZW5ndGh8fHMuZGVsZXRlKHIpfWVsc2Ugcy5kZWxldGUocik7MD09PXMuc2l6ZSYmZGVsZXRlIHRoaXMuX3N1YnNjcmlwdGlvbnNbZV0sdGhpcy5fc3ltYm9sX2RhdGEuaGFzT3duUHJvcGVydHkocikmJihzLmhhcyhyKXx8dGhpcy5fc3ltYm9sX2RhdGFbcl0uc3Vic2NyaWJlcnNfY291bnQtLSx0aGlzLl9zeW1ib2xfZGF0YVtyXS5zdWJzY3JpYmVyc19jb3VudHx8KGRlbGV0ZSB0aGlzLl9zeW1ib2xfZGF0YVtyXSxpLnB1c2gocikpKX1lbHNlIHAubG9nV2FybihgQ2hlY2sgeW91ciBzdWIvdW5zdWIgbG9va3MgaXQgaXMgbGVha2luZyAoY2xpZW50X2lkPSR7ZX0sIHN5bWJvbD0ke3J9KWApfWkubGVuZ3RoJiZ0aGlzLl9jb25uZWN0ZWQmJih0aGlzLl9zZXNzaW9uLnF1b3RlUmVtb3ZlU3ltYm9scyhpKSx0aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCkpfXNldEZhc3RTeW1ib2xzKGUsdCl7aWYodGhpcy5fc3Vic2NyaXB0aW9uc1tlXSl7Y29uc3QgXz10aGlzLl9zdWJzY3JpcHRpb25zW2VdLHM9QXJyYXkuZnJvbShfLmtleXMoKSk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDsrK2Upe2NvbnN0IGk9c1tlXTsoMCxhLmVuc3VyZURlZmluZWQpKF8uZ2V0KGkpKS5mYXN0PS0xIT09dC5pbmRleE9mKGkpfX10aGlzLl9kZWxheVVwZGF0ZUZhc3RTeW1ib2xzKCl9c25hcHNob3QoZSl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3Q/UHJvbWlzZS5yZWplY3QoIk5vIGZvcm1hdHRlciBleHRlbnNpb24gcHJvdmlkZWQiKTp0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90KGUpfWZvcm1hdHRlcihlLHQpe3JldHVybiB2b2lkIDA9PT10aGlzLl9leHRlbnNpb25zLmZvcm1hdHRlcj9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyKGUsdCl9X3VwZGF0ZUZhc3RTeW1ib2xzKCl7aWYoIXRoaXMuX2Nvbm5lY3RlZClyZXR1cm47Y29uc3QgZT10aGlzLl9mYXN0U3ltYm9scygpOzA9PT1lLmxlbmd0aD90aGlzLl9zZXNzaW9uLnF1b3RlSGliZXJuYXRlQWxsKCk6dGhpcy5fc2Vzc2lvbi5xdW90ZUZhc3RTeW1ib2xzKGUpfV9mYXN0U3ltYm9scygpe2xldCBlPVtdO2Zvcihjb25zdCB0IGluIHRoaXMuX3N1YnNjcmlwdGlvbnMpe2NvbnN0IF89dGhpcy5fc3Vic2NyaXB0aW9uc1t0XSxzPUFycmF5LmZyb20oXy5rZXlzKCkpO2ZvcihsZXQgdD0wO3Q8cy5sZW5ndGg7Kyt0KXtjb25zdCBpPXNbdF07KDAsYS5lbnN1cmVEZWZpbmVkKShfLmdldChpKSkuZmFzdCYmZS5wdXNoKGkpfX1yZXR1cm4gZT0oMCxuLmRlZmF1bHQpKGUpLGV9X3BhcnNlVXBkYXRlTW9kZShlKXsoMCxkLm5vcm1hbGl6ZVVwZGF0ZU1vZGUpKGUpfX19LDk3MDc3NChlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtRdW90ZVNlc3Npb246KCk9Pml9KTt2YXIgcz1fKDE1MDE1MCk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQ9KDAscy5yYW5kb21IYXNoKSgpKXt0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSx0aGlzLl9nbG9iYWxIYW5kbGVyPW51bGwsdGhpcy5fY2hhcnRBcGk9ZSx0aGlzLl9zZXNzaW9uaWQ9InFzXyIrdH1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQmJih0aGlzLl9jaGFydEFwaS5xdW90ZURlbGV0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMSl9Y29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3RlZCgpfWNvbm5lY3QoZSl7dGhpcy5fZ2xvYmFsSGFuZGxlcj1lLHRoaXMuX2NoYXJ0QXBpLmNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkLHRoaXMpLHRoaXMuX2NoYXJ0QXBpLmNvbm5lY3QoKX1kaXNjb25uZWN0KCl7dGhpcy5fY2hhcnRBcGkuZGlzY29ubmVjdCgpfXF1b3RlQWRkU3ltYm9scyhlKXt0aGlzLl9jaGFydEFwaS5xdW90ZUFkZFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlUmVtb3ZlU3ltYm9scyhlKXsKdGhpcy5fY2hhcnRBcGkucXVvdGVSZW1vdmVTeW1ib2xzKHRoaXMuX3Nlc3Npb25pZCxlKX1xdW90ZUZhc3RTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlRmFzdFN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlU2V0RmllbGRzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlU2V0RmllbGRzKHRoaXMuX3Nlc3Npb25pZCxlKX1vbk1lc3NhZ2UoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlImNvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWR8fCh0aGlzLl9jaGFydEFwaS5xdW90ZUNyZWF0ZVNlc3Npb24odGhpcy5fc2Vzc2lvbmlkKSx0aGlzLl9zZXNzaW9uc3RhcnRlZD0hMCk7YnJlYWs7Y2FzZSJkaXNjb25uZWN0ZWQiOnRoaXMuX3Nlc3Npb25zdGFydGVkPSExfXRoaXMuX2dsb2JhbEhhbmRsZXI/LihlKX1xdW90ZUhpYmVybmF0ZUFsbCgpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlSGliZXJuYXRlQWxsKHRoaXMuX3Nlc3Npb25pZCl9fX0sNjYxODU4KGUsdCxfKXtlLmV4cG9ydHM9W3tuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDM1MDE0NikpLHZhbHVlOiIiLHNlYXJjaF90eXBlOiJ1bmRlZmluZWQifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1NTU1MTApKSx2YWx1ZToic3RvY2tzIixzZWFyY2hfdHlwZToic3RvY2tzIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTY0OTE3KSksdmFsdWU6ImZ1bmRzIixzZWFyY2hfdHlwZToiZnVuZHMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg1MDUwNzkpKSx2YWx1ZToiZnV0dXJlcyIsc2VhcmNoX3R5cGU6ImZ1dHVyZXMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg5Nzk5NykpLHZhbHVlOiJmb3JleCIsc2VhcmNoX3R5cGU6ImZvcmV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oMzg0NTk3KSksdmFsdWU6ImNmZCIsc2VhcmNoX3R5cGU6ImNmZCJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDY1NTIzNSkpLHZhbHVlOiJiaXRjb2luLGNyeXB0byIsc2VhcmNoX3R5cGU6ImNyeXB0byJ9LHtuYW1lOl8uaTE4bmV4dChudWxsLHtjb250ZXh0OiJzeW1ib2xzX3R5cGUifSxfKDkyNzQxMSkpLHZhbHVlOiJpbmRleCIsc2VhcmNoX3R5cGU6ImluZGV4In0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNzY1NDQwKSksdmFsdWU6ImJvbmQiLHNlYXJjaF90eXBlOiJib25kIn0se25hbWU6Xy5pMThuZXh0KG51bGwse2NvbnRleHQ6InN5bWJvbHNfdHlwZSJ9LF8oNTQ4MzIyKSksdmFsdWU6ImVjb25vbWljIixzZWFyY2hfdHlwZToiZWNvbm9taWMifSx7bmFtZTpfLmkxOG5leHQobnVsbCx7Y29udGV4dDoic3ltYm9sc190eXBlIn0sXyg3OTYwMCkpLHZhbHVlOiJvcHRpb25zIixzZWFyY2hfdHlwZToib3B0aW9ucyJ9XX0sNjA2MTAoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7QXV0aFRva2VuOigpPT5vfSk7dmFyIHM9XygyMjEwNjEpLGk9Xyg5NDgzODApLG49XygzODQwMTcpO2NvbnN0IGE9KDAscy5nZXRMb2dnZXIpKCJDaGFydEFwaS5BdXRoVG9rZW4iLHtjb2xvcjoiIzE3MyJ9KTt2YXIgcjshZnVuY3Rpb24oZSl7ZVtlLkV4cGlyYXRpb25SZXNlcnZlPTNlNV09IkV4cGlyYXRpb25SZXNlcnZlIixlW2UuTWF4UmV0cmllcz0zXT0iTWF4UmV0cmllcyIsZVtlLlJldHJ5RGVsYXlNdWx0aXBsaWVyPTFlM109IlJldHJ5RGVsYXlNdWx0aXBsaWVyIixlW2UuRmFsbGJhY2tFeHBpcmF0aW9uPTE0NGU1XT0iRmFsbGJhY2tFeHBpcmF0aW9uIixlW2UuTWluRXhwaXJhdGlvbj0zZTVdPSJNaW5FeHBpcmF0aW9uIn0ocnx8KHI9e30pKTtjbGFzcyBve2NvbnN0cnVjdG9yKCl7dGhpcy5pbnZhbGlkYXRlZD1uZXcgaS5EZWxlZ2F0ZSx0aGlzLl90aWQ9MCx0aGlzLl9vbkdvaW5nQXV0aFRva2VuUmVxdWVzdD1udWxsLHRoaXMuX29uT25saW5lPSgpPT57YS5sb2dJbmZvKCJPbmxpbmUsIG5ldyB0b2tlbiB3aWxsIGJlIGZldGNoZWQgaWYgbmVlZGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpfSx0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2U9KCk9PnsidmlzaWJsZSI9PT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJihhLmxvZ0luZm8oIlBhZ2UgdmlzaWJsZSwgbmV3IHRva2VuIHNob3VsZCBiZSBmZXRjaGVkIiksdGhpcy5fdHJ5VG9VcGRhdGVUb2tlbigpKX0sd2luZG93LmxvZ2luU3RhdGVDaGFuZ2V8fCh3aW5kb3cubG9naW5TdGF0ZUNoYW5nZT1uZXcgaS5EZWxlZ2F0ZSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKGU9PntlfHwodGhpcy5fc2V0KHdpbmRvdy51c2VyLmF1dGhfdG9rZW4pLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpKX0pKSx0aGlzLl9zZXQod2luZG93LnVzZXIuYXV0aF90b2tlbiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5fb25PbmxpbmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuX29uVmlzaWJpbGl0eUNoYW5nZSl9ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHRoaXMuX29uT25saW5lKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9vblZpc2liaWxpdHlDaGFuZ2UpfWdldChlKXtyZXR1cm4gd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/IWUmJnRoaXMuY3VycmVudFRva2VuSXNWYWxpZCgpPyhhLmxvZ0luZm8oYFVzaW5nIGNhY2hlZCB0b2tlbiAke3RoaXMuX2NhY2hlLnRva2VufWApLFByb21pc2UucmVzb2x2ZSh0aGlzLl9jYWNoZS50b2tlbikpOndpbmRvdy5uYXZpZ2F0b3Iub25MaW5lP3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0fHw9dGhpcy5fZmV0Y2goQm9vbGVhbihlKSwwKS50aGVuKChlPT57CmlmKCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZCl0aHJvdyBuZXcgRXJyb3IoIlVzZXIgbG9nZ2VkIG91dCB3aGlsZSB0aGUgcmVxdWVzdCB3YXMgaW4gZmxpZ2h0Iik7cmV0dXJuIHRoaXMuX3NldChlKSxlfSkpLmNhdGNoKChlPT4oYS5sb2dFcnJvcihgRXJyb3IgZmV0Y2hpbmcgbmV3IHRva2VuOiAke2UmJmUubWVzc2FnZX1gKSwiIikpKS5maW5hbGx5KCgoKT0+e3RoaXMuX29uR29pbmdBdXRoVG9rZW5SZXF1ZXN0PW51bGx9KSk6KGEubG9nV2FybigiT2ZmbGluZSwgY2Fubm90IGZldGNoIG5ldyB0b2tlbiwgdXNpbmcgY2FjaGVkIHRva2VuIiksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2NhY2hlLnRva2VuKSk6UHJvbWlzZS5yZXNvbHZlKCIiKX1yZXNldCgpe3RoaXMuX3NldCh2b2lkIDApLHRoaXMuaW52YWxpZGF0ZWQuZmlyZSgpfWN1cnJlbnRUb2tlbklzVmFsaWQoKXtyZXR1cm4hd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCEhdGhpcy5fY2FjaGUmJihwZXJmb3JtYW5jZS5ub3coKTx0aGlzLl9jYWNoZS5tb25vVmFsaWRUaHJ1JiZEYXRlLm5vdygpPHRoaXMuX2NhY2hlLndhbGxWYWxpZFRocnUpfV9zZXQoZSl7aWYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQmJnZvaWQgMCE9PWUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7aWYoIiI9PT1lKXJldHVybiAxNDRlNTt0cnl7Y29uc3QgdD1KU09OLnBhcnNlKGF0b2IoZS5zcGxpdCgiLiIpWzFdLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSksXz0xZTMqKHQuZXhwLXQuaWF0KTtpZighaXNGaW5pdGUoXykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGV4cGlyYXRpb24iKTtyZXR1cm4gTWF0aC5tYXgoXy0zZTUsM2U1KX1jYXRjaCh0KXtyZXR1cm4gYS5sb2dFcnJvcihgJHtlfSBpcyBpbnZhbGlkOiAke3QubWVzc2FnZX1gKSwxNDRlNX19KGUpO3RoaXMuX2NhY2hlPXt0b2tlbjplLG1vbm9WYWxpZFRocnU6cGVyZm9ybWFuY2Uubm93KCkrdCx3YWxsVmFsaWRUaHJ1OkRhdGUubm93KCkrdH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksdGhpcy5fdGlkPXNldFRpbWVvdXQoKCgpPT57d2luZG93Lm5hdmlnYXRvci5vbkxpbmU/dGhpcy5yZXNldCgpOmEubG9nSW5mbygiT2ZmbGluZSwgY2FjaGUgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQiKX0pLHQpLGEubG9nSW5mbyhgQ2FjaGVkIGZvciAke3R9IG1zOiAke2V9YCl9ZWxzZSB0aGlzLl9jYWNoZT17dG9rZW46IiIsbW9ub1ZhbGlkVGhydTotMS8wLHdhbGxWYWxpZFRocnU6LTEvMH0sY2xlYXJUaW1lb3V0KHRoaXMuX3RpZCksYS5sb2dJbmZvKCJDYWNoZSBkcm9wcGVkIil9X2ZldGNoKGUsdCl7cmV0dXJuIGEubG9nTm9ybWFsKGBGZXRjaGluZyBhIG5ldyB0b2tlbiwgZ3JhYlNlc3Npb249JHtlfWApLCgwLG4uZmV0Y2gpKCIvcXVvdGVfdG9rZW4vIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTplPyJncmFiU2Vzc2lvbj10cnVlIjoiIn0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBuZXcgRXJyb3IoYFJlc3BvbnNlIHN0YXR1cyBpcyBub3Qgb2s6ICR7ZS5zdGF0dXN9YCk7cmV0dXJuIGUuanNvbigpLnRoZW4oU3RyaW5nKX0pLChfPT57aWYodD49Myl0aHJvdyBfO3JldHVybiBhLmxvZ1dhcm4oIlJlcXVlc3QgZmFpbGVkLCB3aWxsIHJldHJ5IiksZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT5zZXRUaW1lb3V0KHQsMWUzKmUpKSl9KHQpLnRoZW4oKCgpPT50aGlzLl9mZXRjaChlLHQrMSkpKX0pKX1hc3luYyBfdHJ5VG9VcGRhdGVUb2tlbigpe3RoaXMuX2NhY2hlLnRva2VuIT09YXdhaXQgdGhpcy5nZXQoKSYmdGhpcy5pbnZhbGlkYXRlZC5maXJlKCl9fX0sOTMwMDQ1KGUsdCxfKXsidXNlIHN0cmljdCI7Xy5kKHQse0pTT05EYXRhSGFuZGxlcjooKT0+YX0pO3ZhciBzPV8oNzgzMzQwKTtmdW5jdGlvbiBpKGUpe3JldHVybntpbmRleDplLmksdmFsdWU6ZS52fX1mdW5jdGlvbiBuKGUpe2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUpKXtjb25zdCBfPWVbdF07Xy50JiYoXy50dXJuYXJvdW5kPWVbdF0udCksInMiaW4gZVt0XSYmZVt0XS5zJiYhXy5zZXJpZXMmJihfLnNlcmllcz1lW3RdLnMubWFwKGkpKSwic3QiaW4gZVt0XSYmZVt0XS5zdCYmIV8uc2VyaWVzJiYoXy5zZXJpZXM9ZVt0XS5zdC5tYXAoaSkpfX1jbGFzcyBhe3NldF9icm9rZXIoZSl7cmV0dXJuW2VdfXNldF9kYXRhX3F1YWxpdHkoKXtyZXR1cm5bImxvdyJdfXF1b3RlX2NyZWF0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1xdW90ZV9kZWxldGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cXVvdGVfc2V0X2ZpZWxkcyhlLHQpe3JldHVybltlXS5jb25jYXQodCl9cXVvdGVfYWRkX3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX3JlbW92ZV9zeW1ib2xzKGUsdCl7cmV0dXJuW2VdLmNvbmNhdCh0KX1xdW90ZV9mYXN0X3N5bWJvbHMoZSx0KXtyZXR1cm5bZV0uY29uY2F0KHQpfXF1b3RlX2hpYmVybmF0ZV9hbGwoZSl7cmV0dXJuW2VdfWRlcHRoX2NyZWF0ZV9zZXNzaW9uKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWRlcHRoX2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc3ltYm9sKGUsdCl7cmV0dXJuW2UsdF19ZGVwdGhfY2xlYXJfc3ltYm9sKGUpe3JldHVybltlXX1kZXB0aF9zZXRfc2NhbGUoZSx0KXtyZXR1cm5bZSx0XX1jaGFydF9jcmVhdGVfc2Vzc2lvbihlLHQpe3JldHVybltlLHQ/ImRpc2FibGVfc3RhdGlzdGljcyI6IiJdfWNoYXJ0X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1zZXRfYXV0aF90b2tlbihlKXtyZXR1cm5bZV19c2V0X2xvY2FsZShlLHQpe3JldHVybltlLHRdfXN3aXRjaF90aW1lem9uZShlLHQpe3JldHVybltlLHRdfXJlc29sdmVfc3ltYm9sKGUsdCxfKXtyZXR1cm5bZSx0LF9dfWNyZWF0ZV9zZXJpZXMoZSx0LF8scyxpLG4sYSl7cmV0dXJuW2UsdCxfPV98fCIiLHMsaSxuLGFdfXJlbW92ZV9zZXJpZXMoZSx0KXtyZXR1cm5bZSx0XX1tb2RpZnlfc2VyaWVzKGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpLG5dfQpyZXF1ZXN0X21vcmVfZGF0YShlLHQsXyl7cmV0dXJuW2UsdCxfXX1zZXRfZnV0dXJlX3RpY2ttYXJrc19tb2RlKGUsdCl7cmV0dXJuW2UsdF19cmVxdWVzdF9zdHVkaWVzX21ldGFkYXRhKGUpe3JldHVybltlXX1jcmVhdGVfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybltlLHQsXz1ffHwiIixzLGldLmNvbmNhdChuKX1jcmVhdGVfY2hpbGRfc3R1ZHkoZSx0LF8scyxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZV9zdHVkeShlLHQsXyxzLGksbil9cmVtb3ZlX3N0dWR5KGUsdCl7cmV0dXJuW2UsdF19bW9kaWZ5X3N0dWR5KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfW5vdGlmeV9zdHVkeShlLHQsXyxzKXtyZXR1cm5bZSx0LF89X3x8IiIsc119Y3JlYXRlX3BvaW50c2V0KGUsdCxfLHMsaSxuKXtyZXR1cm5bZSx0LF89X3x8IiIscyxpXS5jb25jYXQobil9bW9kaWZ5X3BvaW50c2V0KGUsdCxfLHMpe3JldHVybltlLHQsXz1ffHwiIl0uY29uY2F0KHMpfXJlbW92ZV9wb2ludHNldChlLHQpe3JldHVybltlLHRdfXJlcXVlc3RfbW9yZV90aWNrbWFya3MoZSx0LF8pe3JldHVybltlLHQsX119Z2V0X2ZpcnN0X2Jhcl90aW1lKGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9jcmVhdGVfc2Vzc2lvbihlKXtyZXR1cm5bZV19cmVwbGF5X2RlbGV0ZV9zZXNzaW9uKGUpe3JldHVybltlXX1yZXBsYXlfcmVzZXQoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X3N0YXJ0KGUsdCxfKXtyZXR1cm5bZSx0LF9dfXJlcGxheV9zdG9wKGUsdCl7cmV0dXJuW2UsdF19cmVwbGF5X3N0ZXAoZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2FkZF9zZXJpZXMoZSx0LF8scyl7cmV0dXJuW2UsdCxfLHNdfXJlcGxheV9yZW1vdmVfc2VyaWVzKGUsdCxfLHMpe3JldHVybltlLHQsXyxzXX1yZXBsYXlfc2V0X3Jlc29sdXRpb24oZSx0LF8pe3JldHVybltlLHQsX119cmVwbGF5X2dldF9kZXB0aChlLHQsXyxzKXtyZXR1cm5bZSx0LF8sc119Y29udmVydFRpbWVzY2FsZVJlc3BvbnNlKGUpe2NvbnN0IHQ9ZS5tYXJrcy5tYXAoKGU9Pih7c3BhbjplWzBdLHRpbWU6ZVsxXSxpbmRleDplWzJdfSkpKSxfPXZvaWQgMD09PWUuaW5kZXhfZGlmZj9bXTplLmluZGV4X2RpZmYubWFwKChlPT4oe29sZDplWzBdLG5ldzplWzFdfSkpKTtyZXR1cm57Li4uZSxtYXJrczp0LGluZGV4X2RpZmY6XyxjbGVhcjowPT09ZS5jaGFuZ2VzLmxlbmd0aCYmMD09PV8ubGVuZ3RoJiYwPT09dC5sZW5ndGh9fWdldERhdGFVcGRhdGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVPYmplY3RzKGUpe3JldHVybiBlLnBhcmFtc1swXX1nZXRUaW1lc2NhbGVDaGFuZ2VzZXQoZSl7cmV0dXJuIGUucGFyYW1zWzFdfXByZXBhcmVEYXRhVXBkYXRlT2JqZWN0cyhlLHQsXyl7Zm9yKGNvbnN0W2ksbl1vZiBPYmplY3QuZW50cmllcyh0KSl7Y29uc3QgdD0icGxvdHMiaW4gbj9uLnBsb3RzOm4uc2VyaWVzLGE9e2N1c3RvbUlkOmksdHVybmFyb3VuZDpuLnR1cm5hcm91bmQscGxvdHM6dH07Im5zImluIG4mJm4ubnMmJihhLm5vbnNlcmllcz1uLm5zKSwibGJzImluIG4mJm4ubGJzJiYoYS5sYXN0QmFyPXtjbG9zZVRpbWU6bi5sYnMuYmFyX2Nsb3NlX3RpbWV9KTtmb3IoY29uc3QgZSBvZiBhLnBsb3RzKWZvcihjb25zdFt0LF9db2YgT2JqZWN0LmVudHJpZXMoZS52YWx1ZSkpXyYmTWF0aC5hYnMoXyk+PTFlMTAwJiYoZS52YWx1ZVsrdF09dm9pZCAwKTtfKGUsaSx7bWV0aG9kOnMuV2ViY2hhcnRDaGFydFNlc3Npb25SZXNwb25zZU1ldGhvZC5EYXRhVXBkYXRlLHBhcmFtczphfSl9fXVucGFjayhlKXtjb25zdCB0PUpTT04ucGFyc2UoZSk7dC5tJiZ0LnAmJih0Lm1ldGhvZD10Lm0sdC5wYXJhbXM9dC5wLHQudGltZT10LnQpO2NvbnN0IF89dC5wYXJhbXNbMV07c3dpdGNoKHQubWV0aG9kKXtjYXNlInFzZCI6dC5tZXRob2Q9InF1b3RlX3N5bWJvbF9kYXRhIixfLnN5bWJvbG5hbWU9Xy5uLF8uc3RhdHVzPV8ucyxfLnZhbHVlcz1fLnYsXy52YWx1ZXMuY2hhbmdlPV8udi5jaCxfLnZhbHVlcy5sYXN0X3ByaWNlPV8udi5scCxfLnZhbHVlcy5jaGFuZ2VfcGVyY2VudD1fLnYuY2hwLGRlbGV0ZSBfLm4sZGVsZXRlIF8ucyxkZWxldGUgXy52LGRlbGV0ZSBfLnZhbHVlcy5jaCxkZWxldGUgXy52YWx1ZXMubHAsZGVsZXRlIF8udmFsdWVzLmNocDticmVhaztjYXNlImR1Ijp0Lm1ldGhvZD0iZGF0YV91cGRhdGUiLG4oXyk7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjpmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhfKSlfW2VdLnR1cm5hcm91bmQ9X1tlXS50O2JyZWFrO2Nhc2UidGltZXNjYWxlX3VwZGF0ZSI6bihfKX1yZXR1cm4gdH1wcmVwYXJlRW5jb2RlTWVzc2FnZShlLHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7bTplLHA6dH0pfXJlcXVlc3RfZGF0YV9wcm9ibGVtcygpe3JldHVybltdfX19LDQ2MzQ0NyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtIYW5kbGVySW5mbzooKT0+c30pO2NsYXNzIHN7Y29uc3RydWN0b3IoZSx0LF8pe3RoaXMuaGFuZGxlcj1lLHRoaXMuY3VzdG9tSWQ9dCx0aGlzLnNpbmdsZVNob3Q9X319fSw3ODMzNDAoZSx0LF8peyJ1c2Ugc3RyaWN0Ijt2YXIgcyxpLG47Xy5kKHQse1dlYmNoYXJ0Q2hhcnRTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9PmksV2ViY2hhcnRSZXBsYXlTZXNzaW9uUmVzcG9uc2VNZXRob2Q6KCk9Pm4sV2ViY2hhcnRSZXNwb25zZU1ldGhvZDooKT0+c30pLGZ1bmN0aW9uKGUpe2UuUmVxdWVzdERhdGFQcm9ibGVtcz0icmVxdWVzdF9kYXRhX3Byb2JsZW1zIixlLlByb3RvY29sRXJyb3I9InByb3RvY29sX2Vycm9yIixlLlByb3RvY29sU3dpdGNoZWQ9InByb3RvY29sX3N3aXRjaGVkIixlLkNyaXRpY2FsRXJyb3I9ImNyaXRpY2FsX2Vycm9yIn0oc3x8KHM9e30pKSxmdW5jdGlvbihlKXtlLlN0dWRpZXNNZXRhZGF0YT0ic3R1ZGllc19tZXRhZGF0YSIsZS5UaW1lU2NhbGVVcGRhdGU9InRpbWVzY2FsZV91cGRhdGUiLGUuVGlja01hcmtVcGRhdGU9InRpY2ttYXJrX3VwZGF0ZSIsZS5EVT0iZHUiLGUuRGF0YVVwZGF0ZT0iZGF0YV91cGRhdGUiLAplLkluZGV4VXBkYXRlPSJpbmRleF91cGRhdGUiLGUuVGltZVNjYWxlQ29tcGxldGVkPSJ0aW1lc2NhbGVfY29tcGxldGVkIixlLlFTRD0icXNkIixlLlF1b3RlTGlzdEZpZWxkPSJxdW90ZV9saXN0X2ZpZWxkcyIsZS5RdW90ZVN5bWJvbERhdGE9InF1b3RlX3N5bWJvbF9kYXRhIixlLlF1b3RlQ29tcGxldGVkPSJxdW90ZV9jb21wbGV0ZWQiLGUuRGVwdGhTeW1ib2xFcnJvcj0iZGVwdGhfc3ltYm9sX2Vycm9yIixlLkRlcHRoU3ltYm9sU3VjY2Vzcz0iZGVwdGhfc3ltYm9sX3N1Y2Nlc3MiLGUuRGVwdGhEYXRhPSJkZCIsZS5EZXB0aERhdGFVcGRhdGU9ImRwdSIsZS5EZXB0aEJhckxhc3RWYWx1ZT0iZGVwdGhfYmFyX2xhc3RfdmFsdWUiLGUuQ2xlYXJEYXRhPSJjbGVhcl9kYXRhIixlLlNlcmllc1RpbWVGcmFtZT0ic2VyaWVzX3RpbWVmcmFtZSIsZS5TeW1ib2xSZXNvbHZlZD0ic3ltYm9sX3Jlc29sdmVkIixlLlNlcmllc0Vycm9yPSJzZXJpZXNfZXJyb3IiLGUuU2VyaWVzQ29tcGxldGVkPSJzZXJpZXNfY29tcGxldGVkIixlLlN0dWR5TG9hZGluZz0ic3R1ZHlfbG9hZGluZyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZS5SZXBsYXlFcnJvcj0icmVwbGF5X2Vycm9yIixlLlJlcGxheVBvaW50PSJyZXBsYXlfcG9pbnQiLGUuUmVwbGF5T2s9InJlcGxheV9vayIsZS5SZXBsYXlSZXNvbHV0aW9ucz0icmVwbGF5X3Jlc29sdXRpb25zIixlLlJlcGxheURhdGFFbmQ9InJlcGxheV9kYXRhX2VuZCIsZS5SZXBsYXlJbnN0YW5jZUlkPSJyZXBsYXlfaW5zdGFuY2VfaWQiLGUuUmVwbGF5RGVwdGg9InJlcGxheV9kZXB0aCJ9KG58fChuPXt9KSl9LDUyMTMzMyhlLHQsXyl7InVzZSBzdHJpY3QiO18uZCh0LHtnZXREZWZhdWx0UmVzb2x1dGlvbnM6KCk9Pm59KTt2YXIgcz1fKDkzMDIzMSksaT1fKDYxOTk5Mik7ZnVuY3Rpb24gbigpe2NvbnN0IGU9WyIxIiwiMyIsIjUiLCIxNSIsIjMwIiwiNDUiLCI2MCIsIjEyMCIsIjE4MCIsIjI0MCIsIjFEIiwiMVciLCIxTSIsIjNNIiwiNk0iLCIxMk0iLCIxUiIsIjEwUiIsIjEwMFIiLCIxMDAwUiJdO2lmKCEoMCxzLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7bGV0IHQ9WyIxUyIsIjVTIiwiMTBTIiwiMTVTIiwiMzBTIiwiNDVzIl07cmV0dXJuKDAsaS5pc1RpY2tzRW5hYmxlZCkoKSYmKHQ9WyIxVCIsIjEwVCIsIjEwMFQiLCIxMDAwVCJdLmNvbmNhdCh0KSksdC5jb25jYXQoZSl9cmV0dXJuIGV9fSwyMTc1MjcoZSx0LF8peyJ1c2Ugc3RyaWN0IjtfLmQodCx7dHlwZXM6KCk9PnN9KTtjb25zdCBzPXtFQ09OT01JQzoiZWNvbm9taWMiLFFVQU5ETDoicXVhbmRsIn19LDEyNzcxMShlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siY21lIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sImJvdmVzcGEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwicWVjb21xYSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJzYW50YW5kZXJjb21hciI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19fScpfSw1MDI1ODcoZSl7InVzZSBzdHJpY3QiCjtlLmV4cG9ydHM9SlNPTi5wYXJzZSgneyJmcmVlIjp7IkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MX0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjJ9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjF9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo1MCwibGltaXQiOjMsImNvbXBsZXhfbGltaXQiOjAsInByaW1pdGl2ZV9saW1pdCI6M30sIlNDUkVFTkVSX0lOVEVSVkFMUyI6eyJpbnRlcnZhbCI6WyIxRCIsIjFXIiwiMU0iXX0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6MX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6MX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjJ9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyI6eyJsaW1pdCI6MX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjozMH0sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6MjB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjoxfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6MjAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MjB9fSwicHJvIjp7IkRSQVdJTkdTIjp7fSwiQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIjp7fSwiQkFDS1RFU1RJTkdfRVhURU5ERURfTUVUUklDUyI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9YTFNYIjp7fSwiQkFDS1RFU1RJTkdfRVhQT1JUX0NTViI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo1LCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUEVSU09OQUxfU1VQUE9SVCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6NX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6Mn0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MiwicHJpbWl0aXZlX2xpbWl0IjoyfSwiQ1VTVE9NX0lOVEVSVkFMUyI6e30sIk1VTFRJUExFX1dBVENITElTVFMiOnt9LCJJTVBPUlRfV0FUQ0hMSVNUUyI6e30sIkVYUE9SVF9XQVRDSExJU1RTIjp7fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6NX0sIkZVTkRBTUVOVEFMU19GT1JFQ0FTVCI6e30sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6NH0sIlRWX1BST1NUVURJRVMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtY2hhcnRwYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoxMH0sIlRWX1ZPTFVNRUJZUFJJQ0UiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJUSUNLX0JZX1RJQ0tfUFVTSF9EQVRBIjp7fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0IjoyMCwiY29tcGxleF9saW1pdCI6MjAsInByaW1pdGl2ZV9saW1pdCI6MjB9LCJTQ1JFRU5FUl9BVVRPX1JFRlJFU0giOnt9LCJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0VYUE9SVF9DU1ZfREFUQSI6e30sIlNDUkVFTkVSX05FV19TSE9XX1JFU1RSSUNURURfREFUQSI6e30sIlNIT1dfQk9ORFNfUkVTVFJJQ1RFRF9EQVRBIjp7fSwiUE9SVEZPTElPX0RBVEFfTElNSVQiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0IjozfSwiUE9SVEZPTElPX1RSQU5TQUNUSU9OUyI6eyJsaW1pdCI6NTAwMH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NTB9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMW0iLCI1bSIsIjE1bSIsIjMwbSIsIjFoIiwiMmgiLCI0aCIsIjFEIiwiMVciLCIxTSJdfSwiTk9fU1BPTlNPUkVEX0FEUyI6eyJkaXNhYmxlX29uX2xpdGVfcGxhbiI6ImV4Y2x1ZGVfbW9iaWxlIn0sIlNUVURZX1RFTVBMQVRFUyI6eyJsaW1pdCI6OTk5OTl9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxMH0sIklEQ19BVkFJTEFCTEVfREVMQVkiOnt9LCJTVEFUVVMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBUl9SRVBMQVlfSU5UUkFEQVkiOnsibGltaXQiOjF9LCJNVUxUSUZMQUdHRURfU1lNQk9MU19MSVNUUyI6e30sIlNIT1dTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJBTEVSVFNfV0VCSE9PSyI6e30sIkFMRVJUU19PTl9FQVJOSU5HUyI6e30sIkFMRVJUU19PTl9GVU5EQU1FTlRBTF9NRVRSSUNTIjp7fSwiREVFUF9GVU5EQU1FTlRBTFNfSElTVE9SWSI6e30sIlBVQkxJU0hfUFJPVEVDVEVEX1NDUklQVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIklERUFfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiVHdpdHRlciIsIllvdXR1YmUiXX0sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJNVUxUSV9NT05JVE9SIjp7fSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjd9LCJJTlRSQURBWV9FWENIQU5HRSI6e30sIlZPTFVNRV9QUk9GSUxFIjp7fSwiU1RSRUFNU19BQ0NFU1MiOnsiZm9sbG93ZXJzIjoxMH0sIlNNU18yRkFfVkVSSUZJQ0FUSU9OIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTT0NJQUxfQUNUSVZJVFkiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIldBVENITElTVF9TWU1CT0xTIjp7ImxpbWl0IjoxMDAwfSwiRklFTERTX1BFUk1JU1NJT05TIjp7Iml0ZW1zIjpbInJlZmJvbmRzIl19LCJDVVNUT01fUkFOR0VfQkFSUyI6e30sIkZBU1RFU1RfREFUQV9GTE9XIjp7fSwiU0VTU0lPTl9WT0xVTUVfUFJPRklMRSI6e30sIlNIT1dfRVRGX0hPTERJTkdTX0RBVEEiOnt9fSwicHJvX3JlYWx0aW1lIjp7ImV4dGVuZHMiOiJwcm8iLCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0IjoxMH0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6NH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NCwicHJpbWl0aXZlX2xpbWl0Ijo0fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjd9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXByb3N0dWRpZXMiLCJ0di1jaGFydHBhdHRlcm5zIl19LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6OX0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MTAwLCJjb21wbGV4X2xpbWl0IjoxMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwfSwiQUxFUlRTX01VTFRJQ09ORElUSU9OUyI6eyJjb25kaXRpb25fbGltaXQiOjV9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNBTl9FRElUX1BVQkxJQ19DSEFUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjB9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkNVU1RPTV9GT1JNVUxBUyI6e30sIklOVFJBREFZX0VYT1RJQ19DSEFSVFMiOnt9LCJLQUdJX1JFTktPIjp7fSwiSU5UUkFEQVlfU1BSRUFEIjp7fSwiQ1VTVE9NX0NIQVRTIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6NH0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6NzV9fSwicHJvX3ByZW1pdW0iOnsiZXh0ZW5kcyI6InByb19yZWFsdGltZSIsIkJBUl9ERVRBTElaQVRJT04iOnt9LCJTQ1JJUFRfRVhFQ1VUSU9OX09OX0hJU1RPUllfQkFSUyI6e30sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjk5OTk5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0Ijo4fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo2LCJwcmltaXRpdmVfbGltaXQiOjZ9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTB9LCJGVU5EQU1FTlRBTF9HUkFQSFNfTEFSR0VfVElNRV9SQU5HRSI6e30sIkNIQVRfQVNTSVNUQU5UIjp7ImxpbWl0Ijo5OTk5OSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1BBVFRFUk5TIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiLCJ0di1jaGFydF9wYXR0ZXJucyJdfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0IjoyMH0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoyNH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6NDAwLCJjb21wbGV4X2xpbWl0Ijo0MDAsInByaW1pdGl2ZV9saW1pdCI6NDAwLCJ3YXRjaGxpc3RfbGltaXQiOjIsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0Ijo1fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6NTB9LCJJREVBX1NJR05BVFVSRSI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiUFJPRklMRV9XRUJTSVRFX0ZJRUxEIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo0fSwiQkFSX1JFUExBWV8xUyI6e30sIkFMRVJUU19OT19FWFBJUkFUSU9OIjp7fSwiUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJFWFBPUlRfQ0hBUlRfREFUQSI6e30sIkRFRVBfSElTVE9SWV9CQUNLVEVTVCI6e30sIkFMRVJUU19PTl9TRUNPTkRTIjp7fSwiUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIjp7fSwiRVhURU5ERURfU09DSUFMX0xJTktTIjp7InNvY2lhbHMiOlsiRmFjZWJvb2siLCJJbnN0YWdyYW0iLCJXZWJzaXRlIl0sImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJTRUNPTkRTX0lOVEVSVkFMUyI6e30sIlRQT19QRVJJT0RJQyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di12b2x1bWVieXByaWNlIl19LCJUUE9fQ0hBUlRfU1RZTEUiOnt9LCJWT0xVTUVfQ0FORExFUyI6e30sIlZJREVPX0lERUFTX0xFTkdUSCI6eyJsaW1pdCI6NjB9LCJWT0xVTUVfRk9PVFBSSU5UIjp7fSwiUElORV9TQ1JFRU5FUiI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjV9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEwMH0sIlNPQ0lBTF9UUlVTVEVEX1VTRVIiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkZPTExPV0VSU19PTkxZX01JTkRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9fSwicHJvX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX3ByZW1pdW0iLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjozMH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MTV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6Mjl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjEwfSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0IjoxMiwicHJpbWl0aXZlX2xpbWl0IjoxMn0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjV9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjYwMCwiY29tcGxleF9saW1pdCI6NjAwLCJwcmltaXRpdmVfbGltaXQiOjYwMCwid2F0Y2hsaXN0X2xpbWl0IjoxMCwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjIwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6ODB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0Ijo2fSwiQkFSX1JFUExBWV8xUyI6e30sIkJBUl9SRVBMQVlfMVQiOnt9LCJFWFBPUlRfRklOQU5DSUFMU19EQVRBIjp7fSwiVElDS19JTlRFUlZBTFMiOnt9LCJGSVJTVF9QUklPUklUWV9TVVBQT1JUIjp7fSwiQlVZX1BST19EQVRBIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6Nn0sIlBPUlRGT0xJT19IT0xESU5HUyI6eyJsaW1pdCI6MTI1fX0sInByb19wcmVtaXVtX2V4cGVydCI6eyJleHRlbmRzIjoicHJvX2V4cGVydCIsIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjUwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoyNX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0Ijo0OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6MTZ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjk5OTk5LCJwcmltaXRpdmVfbGltaXQiOjI1fSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo0MH0sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0Ijo0MDAwLCJsaW1pdCI6MTAwMCwiY29tcGxleF9saW1pdCI6MTAwMCwicHJpbWl0aXZlX2xpbWl0IjoxMDAwLCJ3YXRjaGxpc3RfbGltaXQiOjE1LCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6MzB9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyMDB9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxMH0sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjd9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjE1MH19fScpCn19XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12385.78561ebdef05ce648b5d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.179Z","timestamp":1785136429179,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12385.78561ebdef05ce648b5d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-d425\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e6bb187ad918699df2284a930fffbb72\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":54309,"size_decoded":5303,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (54309), with no line terminators","md5":"0c88f4a2822b7956fa6a494b66642d6b","sha1":"3d02fd6fb3670db4645274f9d9261007de2c2d4c","sha256":"34608d65050c9883ea16820ce35863032278a925ad8eb001a2b5fa65240fa0a6","sha512":"a3b3660c9b9d810cf9ca78bf392ecc0623bb244d94a7f4d7cabf1f8a56e4e640197527938f544c0d403050bd175789df4437808eec5503b5a7b07cc1a0b401b1","ssdeep":"768:DhiEt1AI8s3XbXbfLAP5xsxF6I00xXxrO/:Dhr8s3XbXbfLAP5xsxF6I00xXxrO/","tlshash":"063358abb6a1a7797b52637e5319f375b380ed7ae4733de3f050402410c69a704caa72","first_seen":"2026-07-16T13:40:49.677399Z","last_seen":"2026-08-11T04:43:23.100596Z","times_seen":758,"resource_available":false,"data":"LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYmcsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnKSk7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1saWdodC1idXR0b24tY29sb3ItYm9yZGVyLHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXIpKTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50KSk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO21pbi13aWR0aDo0MHB4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1c3tvdXRsaW5lOm5vbmV9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDEwcHgpO2luc2V0LWlubGluZS1zdGFydDotNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01cHg7d2lkdGg6Y2FsYygxMDAlICsgMTBweCk7ei1pbmRleDoxfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5saWdodEJ1dHRvbi1ralJmVGxmeDpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5saWdodEJ1dHRvbi1ralJmVGxmeDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKX0ubGlnaHRCdXR0b24ta2pSZlRsZngubGluay1ralJmVGxmeHtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubGlnaHRCdXR0b24ta2pSZlRsZngubHRyLWtqUmZUbGZ4e2RpcmVjdGlvbjpsdHJ9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnJ0bC1ralJmVGxmeHtkaXJlY3Rpb246cnRsfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1tZWRpdW0xNnB4LWtqUmZUbGZ4LC5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNnB4LWtqUmZUbGZ4e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LW1lZGl1bTE2cHgta2pSZlRsZnh7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwfS5saWdodEJ1dHRvbi1ralJmVGxmeC50eXBvZ3JhcGh5LXJlZ3VsYXIxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1yZWd1bGFyMTRweC1ralJmVGxmeCwubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE0cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNHB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmxpZ2h0QnV0dG9uLWtqUmZUbGZ4LnR5cG9ncmFwaHktc2VtaWJvbGQxNHB4LWtqUmZUbGZ4e2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0ubGlnaHRCdXR0b24ta2pSZlRsZngudHlwb2dyYXBoeS1zZW1pYm9sZDE2cHgta2pSZlRsZnh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxNnB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5jb250ZW50LWtqUmZUbGZ4e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXgtd2lkdGg6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogOTk5OXB4ICsgbWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApKSAqIDBweCl9LnZpc3VhbGx5SGlkZGVuLWtqUmZUbGZ4e2Rpc3BsYXk6YmxvY2s7Zm9udC13ZWlnaHQ6NjAwO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbn0ubm93cmFwLWtqUmZUbGZ4e2FsaWduLXNlbGY6YXV0bztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwfS5lbGxpcHNpc0NvbnRhaW5lci1ralJmVGxmeHtkaXNwbGF5OmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0V3JhcENvbnRhaW5lci1ralJmVGxmeHttYXgtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykqdmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpKTtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7dGV4dC1hbGlnbjpzdGFydDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRleHRXcmFwV2l0aEVsbGlwc2lzLWtqUmZUbGZ4e2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLWNvbnRlbnQtbWF4LWxpbmVzKTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCkqdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1jb250ZW50LW1heC1saW5lcykpfS5zbG90LWtqUmZUbGZ4e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY2FyZXQta2pSZlRsZngsLnNsb3Qta2pSZlRsZng+c3Bhbltyb2xlPWltZ117ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowfS5jYXJldC1ralJmVGxmeHttYXgtaGVpZ2h0OjI4cHg7bWF4LXdpZHRoOjI4cHg7bWluLWhlaWdodDoxOHB4O21pbi13aWR0aDoxOHB4fS5hY3RpdmVDYXJldC1ralJmVGxmeHt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmFjdGl2ZUNhcmV0LWtqUmZUbGZ4OmRpcihydGwpe3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9LmNhcmV0LWtqUmZUbGZ4Om5vdCg6bGFzdC1jaGlsZCksLmNvbnRlbnQta2pSZlRsZng6bm90KDpsYXN0LWNoaWxkKSwuc2xvdC1ralJmVGxmeDpub3QoOmxhc3QtY2hpbGQpey0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTttYXJnaW4taW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiA0cHggKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ueHNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS54c21hbGwta2pSZlRsZng6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czoxMHB4fS54c21hbGwta2pSZlRsZngud2l0aFN0YXJ0U2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDo3cHh9LnhzbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS54c21hbGwta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjRweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ueHNtYWxsLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDoyOHB4fS54c21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMjhweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnNtYWxsLWtqUmZUbGZ4e2JvcmRlci1yYWRpdXM6NnB4O2hlaWdodDozNHB4O21pbi13aWR0aDozNHB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0OjExcHg7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctYmxvY2stc3RhcnQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLWVuZC1kZWZhdWx0OjA7LS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrOnZhcigtLXVpLWxpYi1saWdodEJ1dHRvbi1zaG93LWNoaWxkcmVuLDEpO3BhZGRpbmctYmxvY2stZW5kOjA7cGFkZGluZy1ibG9jay1zdGFydDowO3BhZGRpbmctaW5saW5lLWVuZDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsIHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSAqICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpKSAqIG1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwgM3B4KSArIG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAwKSkgKiAwcHgpfS5zbWFsbC1ralJmVGxmeDphZnRlcntib3JkZXItcmFkaXVzOjEwcHh9LnNtYWxsLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC53aXRoRW5kU2xvdC1ralJmVGxmeHstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6N3B4fS5zbWFsbC1ralJmVGxmeC5ub0NvbnRlbnQta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MnB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoycHg7cGFkZGluZy1pbmxpbmUtZW5kOm1heCh2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksMnB4KTtwYWRkaW5nLWlubGluZS1zdGFydDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCx2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQpKSwycHgpfS5zbWFsbC1ralJmVGxmeC53cmFwLWtqUmZUbGZ4e2hlaWdodDphdXRvO21pbi1oZWlnaHQ6MzRweH0uc21hbGwta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoMzRweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9Lm1lZGl1bS1ralJmVGxmeHtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6NDBweDttaW4td2lkdGg6NDBweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxNXB4Oy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWJsb2NrLXN0YXJ0LWRlZmF1bHQ6MDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1ibG9jay1lbmQtZGVmYXVsdDowOy0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjazp2YXIoLS11aS1saWItbGlnaHRCdXR0b24tc2hvdy1jaGlsZHJlbiwxKTtwYWRkaW5nLWJsb2NrLWVuZDowO3BhZGRpbmctYmxvY2stc3RhcnQ6MDtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDEpICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkpICogbWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLCB2YXIoLS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLWVuZC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMSkgKiAodmFyKC0tdWktbGliLWxpZ2h0YnV0dG9uLXNob3ctY2hpbGRyZW4td2l0aC1mYWxsYmFjaykgLSAxKSkgKiBtYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydCwgdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksIDNweCkgKyBtYXgoMCwgMSAtICh2YXIoLS11aS1saWItbGlnaHRidXR0b24tc2hvdy1jaGlsZHJlbi13aXRoLWZhbGxiYWNrKSAtIDApICogKHZhcigtLXVpLWxpYi1saWdodGJ1dHRvbi1zaG93LWNoaWxkcmVuLXdpdGgtZmFsbGJhY2spIC0gMCkpICogMHB4KX0ubWVkaXVtLWtqUmZUbGZ4OmFmdGVye2JvcmRlci1yYWRpdXM6MTJweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhTdGFydFNsb3Qta2pSZlRsZnh7LS11aS1saWItbGlnaHQtYnV0dG9uLXBhZGRpbmctaW5saW5lLXN0YXJ0LWRlZmF1bHQ6MTFweH0ubWVkaXVtLWtqUmZUbGZ4LndpdGhFbmRTbG90LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdDoxMXB4fS5tZWRpdW0ta2pSZlRsZngubm9Db250ZW50LWtqUmZUbGZ4ey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0OjVweDstLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtZW5kLWRlZmF1bHQ6NXB4O3BhZGRpbmctaW5saW5lLWVuZDptYXgodmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1lbmQtZGVmYXVsdCkpLDJweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6bWF4KHZhcigtLXVpLWxpYi1saWdodC1idXR0b24tcGFkZGluZy1pbmxpbmUtc3RhcnQsdmFyKC0tdWktbGliLWxpZ2h0LWJ1dHRvbi1wYWRkaW5nLWlubGluZS1zdGFydC1kZWZhdWx0KSksMnB4KX0ubWVkaXVtLWtqUmZUbGZ4LndyYXAta2pSZlRsZnh7aGVpZ2h0OmF1dG87bWluLWhlaWdodDo0MHB4fS5tZWRpdW0ta2pSZlRsZnggLmNvbnRlbnQta2pSZlRsZnh7cGFkZGluZy1ib3R0b206Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCk7cGFkZGluZy10b3A6Y2FsYygoNDBweCAtIHZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KSkvMiAtIDFweCl9LnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaLnBpbGxzLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1oucGlsbHMtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9fS5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWi5waWxscy1JZVF3UGpjWjphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZSl9LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmUpfS5wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnByaW1hcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXIpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWRpc2FibGVkKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaOm5vdCguZ3JvdXBlZC1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnF1aWV0LXByaW1hcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5xdWlldC1wcmltYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnF1aWV0LXByaW1hcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0ucXVpZXQtcHJpbWFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpfX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYWN0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCl9fX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1osLnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuc2Vjb25kYXJ5LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi53aXRoR3JvdXBlZC1JZVF3UGpjWi5xdWlldC1wcmltYXJ5LUllUXdQamNaOm5vdCguc2VsZWN0ZWQtSWVRd1BqY1opOm5vdCg6aG92ZXIpOm5vdCg6ZGlzYWJsZWQpey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOiMwMDAwOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjojMDAwMH19LnNlY29uZGFyeS1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5lZ2F0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpfX19LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItbGlnaHQpfS5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1oucmVkLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLnJlZC1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19fS5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upey5zZWNvbmRhcnktSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWxpZ2h0KX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlY29uZGFyeS1JZVF3UGpjWi5ibHVlLUllUXdQamNaLndpdGhHcm91cGVkLUllUXdQamNaLnF1aWV0LXByaW1hcnktSWVRd1BqY1o6bm90KC5zZWxlY3RlZC1JZVF3UGpjWik6bm90KDpob3Zlcik6bm90KDpkaXNhYmxlZCl7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6IzAwMDA7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOiMwMDAwfX0uc2Vjb25kYXJ5LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWhvdmVyKX19fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLnNlbGVjdGVkLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcik7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXIpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcil9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXsuZ2hvc3QtSWVRd1BqY1ouZ3JheS1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWFjdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZSl9Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmdyYXktSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmF5LUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWjpub3QoLmdyb3VwZWQtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktcG9zaXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQpfX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaKTpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLmdyb3VwZWQtSWVRd1BqY1osLmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmdyZWVuLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZlLmdyb3VwZWQtSWVRd1BqY1p7dHJhbnNmb3JtOm5vbmV9fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1ouZ3JlZW4tSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ncmVlbi1JZVF3UGpjWjpkaXNhYmxlZHstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCl9QG1lZGlhIG5vdCAocG9pbnRlcjpjb2Fyc2Upe0BtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOmhvdmVyey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZSk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0KX19fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1p7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmUpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1leHRyYS1saWdodCl9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWik6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodCl9Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5hY3RpdmUtSWVRd1BqY1ouZ3JvdXBlZC1JZVF3UGpjWiwuZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLnJlZC1JZVF3UGpjWi5kaXNhYmxlQWN0aXZlT25Ub3VjaC1JZVF3UGpjWjpub3QoLmRpc2FibGVBY3RpdmVTdGF0ZVN0eWxlcy1JZVF3UGpjWik6bm90KDpkaXNhYmxlZCk6YWN0aXZley0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1kYW5nZXItYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0KX0uZ2hvc3QtSWVRd1BqY1oucmVkLUllUXdQamNaLmRpc2FibGVBY3RpdmVPblRvdWNoLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5yZWQtSWVRd1BqY1o6ZGlzYWJsZWR7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1jb250ZW50OnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LWRpc2FibGVkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpfUBtZWRpYSBub3QgKHBvaW50ZXI6Y29hcnNlKXtAbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1o6aG92ZXJ7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCl9fX0uZ2hvc3QtSWVRd1BqY1ouYmx1ZS1JZVF3UGpjWi5zZWxlY3RlZC1JZVF3UGpjWnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouc2VsZWN0ZWQtSWVRd1BqY1o6bm90KC5ncm91cGVkLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTpob3ZlcnstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0KX19Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouYWN0aXZlLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmV7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYmc6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKTstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbGlnaHQpfS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaLmFjdGl2ZS1JZVF3UGpjWi5ncm91cGVkLUllUXdQamNaLC5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOm5vdCguZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1opOm5vdCguZGlzYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLUllUXdQamNaKTpub3QoOmRpc2FibGVkKTphY3RpdmUuZ3JvdXBlZC1JZVF3UGpjWnt0cmFuc2Zvcm06bm9uZX1AbWVkaWEgbm90IChwb2ludGVyOmNvYXJzZSl7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQpOy0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodCl9Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1ouZGlzYWJsZUFjdGl2ZU9uVG91Y2gtSWVRd1BqY1o6bm90KC5kaXNhYmxlQWN0aXZlU3RhdGVTdHlsZXMtSWVRd1BqY1opOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZS5ncm91cGVkLUllUXdQamNae3RyYW5zZm9ybTpub25lfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmdob3N0LUllUXdQamNaLmJsdWUtSWVRd1BqY1oud2l0aEdyb3VwZWQtSWVRd1BqY1oucXVpZXQtcHJpbWFyeS1JZVF3UGpjWjpub3QoLnNlbGVjdGVkLUllUXdQamNaKTpub3QoOmhvdmVyKTpub3QoOmRpc2FibGVkKXstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1iZzojMDAwMDstLXVpLWxpYi1saWdodC1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6IzAwMDB9fS5naG9zdC1JZVF3UGpjWi5ibHVlLUllUXdQamNaOmRpc2FibGVkey0tdWktbGliLWxpZ2h0LWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJnOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItY29udGVudDp2YXIoLS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZCk7LS11aS1saWItbGlnaHQtYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/14625.ada612ccefdef779e295.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.811Z","timestamp":1785136429811,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/14625.ada612ccefdef779e295.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"69f98b71-f8\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/25/2026 11:16:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: beb2120c9b03638f6caaf247c9f4af90\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/68579.c01874ae93fcee94b388.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.831Z","timestamp":1785136429831,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/68579.c01874ae93fcee94b388.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2a1f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:04:00\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d8c0aee0b67564f681caafca3659804d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/tw.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.066Z","timestamp":1785136422066,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/tw.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4867\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":4867,"size_decoded":5208,"mime_type":"image/png","magic":"PNG image data, 71 x 71, 8-bit/color RGBA, non-interlaced","md5":"678c9a06df9fde3a3bb4f703d55dc00b","sha1":"a70ceac695949794e93eb05baf5647c4847fa4d6","sha256":"a586e09f011be5a42c63dd0c138d998afc56a11173be77f708d260d648fe8830","sha512":"01d0c39117ffca66574c6f075c3998f3af1f849d81bf11a44d6b7bd027204030649e295674f53b2206244d973cdd400f2002a99a9a2c07b926f1205b7af5d3b9","ssdeep":"96:vpMuRpn1SqDBOkHuI7qBfDGXlf035mxkTRdlTnHK5bxKF24DU9C263:aujH97OIe8lfAgCbnqBxernz","tlshash":"47a18fc9a92cc4117caa64d18705cd1519db4b3ef8e1138be6b301c686649ddaccbdc3","first_seen":"2025-12-03T04:46:43.73436Z","last_seen":"2026-07-29T06:14:00.388112Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4435,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4435,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.573Z","timestamp":1785136427573,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 HTTP/1.1\r\nHost: coinlib.io\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: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: 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/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 3817009\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.3a6ba036.woff2\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Sat, 13 Jun 2026 02:56:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6llhh-1781319417508-42ed70ceb10a\r\nx-xss-protection: 1; mode=block\r\nserver-timing: cfExtPri\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2FwznWplQLXnZY3p4L9HOgKC2dAcdxs%2Bkl0DvsEQFN3QaqZsLg3Py1iH9QpyNoXeCBI%2BPvcbQEGYhgn3%2FSYukBpmNo%2B8Rhm35ZOxFOI7jbewx5i0QVhXq0zj2ZmV3\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a219d7f05f098deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 48432\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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"]},{"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"]}],"data":{"size":48432,"size_decoded":50507,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-08-11T11:59:19.172156Z","times_seen":89394,"resource_available":false,"data":"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"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9744.70b5126495f7adccaf2f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.817Z","timestamp":1785136429817,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/9744.70b5126495f7adccaf2f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-24e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 865fed65ad8e047b4317980646dc3199\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/39166.21343209d8750da3693a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.318Z","timestamp":1785136429318,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39166.21343209d8750da3693a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-15be\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 50f3388650967baeed8e059c267de739\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5566,"size_decoded":3492,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3066)","md5":"b68d046060944bd28bdaa7f0e942ac50","sha1":"d67bd155c5a81d6207a36c06d87e373a2d1274d9","sha256":"ddee550aa6471222ab57b074664f8cbb7c653a66cda78327bc070e5ec00115bf","sha512":"3cef94486ec2c6ca58ba870ecb861078fc7582080cab43eb1197124b05e744d9e7cd1d3fd61274210e0e79f3823865041f7ed106e3157d5d9965a576c67ce742","ssdeep":"96:xAWBjuVYfVYcU4pp0hv+CN8fhLV4QJF2KBzo3s/t7ooT9e+N0Q0ZsJgqGq/uA:qWBDUI0hv+1hjF2KzSwk340t2JrGqt","tlshash":"12b1f898b3a0780c2127507f91376f29bf1d7e98241d5871f43cecae309ea969335e26","first_seen":"2026-07-22T16:00:00.545232Z","last_seen":"2026-07-28T06:17:53.537858Z","times_seen":113,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTE2Nl0sezMxMjEyMihlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbToiaXRlbS1ZUlcwSnNEZCIsc2hvcnRjdXQ6InNob3J0Y3V0LVlSVzBKc0RkIixsb2FkaW5nOiJsb2FkaW5nLVlSVzBKc0RkIixpY29uOiJpY29uLVlSVzBKc0RkIn19LDkzOTE2NihlLHQsYSl7InVzZSBzdHJpY3QiO2Eucih0KSxhLmQodCx7Z2V0VG9vbFNldDooKT0+an0pO3ZhciBuPWEoOTMwMjMxKSxyPWEoNzc5NDc0KSxvPWEoNDM4NTM5KSxpPWEoMTg1MjcxKSxsPWEoMTg2MDk3KSxzPWEoMzQ1MTUxKSxjPWEoMjM1NzI0KSxkPWEoMzEyMzA2KTtjb25zdCB1PSgwLHMuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShjLk1vZGlmaWVycy5BbHQsITEpLCJBIl0sdGV4dDoiezB9ICsgezF9In0pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChsLlRvb2xiYXJDb2xsYXBzaWJsZUJ1dHRvbix7Li4uZSxpY29uOmQsdGV4dDppLnQobnVsbCx2b2lkIDAsYSgxNjE3MzUpKSx0b29sdGlwOmkudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2FsZXJ0X3Rvb2x0aXAifSxhKDQ4NjM2MSkpLGlzT3BlbmVkOmUuaXNPcGVuZWQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOnV9KX1mdW5jdGlvbiBoKCl7KDAsby5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOiJhbGVydHMifSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG0sey4uLmUsb25DbGljazpofSl9dmFyIGc9YSg5MDY2ODMpO2Z1bmN0aW9uIHcoKXsoMCxvLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6InNhdmVsb2FkIn0pfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChnLlRvb2xXaWRnZXRTYXZlTG9hZFZpZXcsey4uLmUsaXNBdXRoZW50aWNhdGVkOiExLGlzUHJvY2Vzc2luZzohMSx3YXNDaGFuZ2VzOiEwLGhpZGVNZW51OiEwLG9uU2F2ZUNoYXJ0OncsaXNOZXdWaWV3OigwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0pfXZhciBfPWEoNjU5MzY1KSxmPWEoOTE0NDg3KSx2PWEubihmKSxFPWEoMTUzNzM0KSx5PWEoMjc2MDE5KSxrPWEoMzg3MjMxKSxTPWEoNzU0MTgwKSxUPWEoOTcxNjU5KSxDPWEoODUwMTA4KSxNPWEoMTk5MTcyKSxCPWEoNTY5Mzk4KSxGPWEoMzEyMTIyKTtjb25zdCBSPSgwLGsubWVyZ2VUaGVtZXMpKEUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUsRik7ZnVuY3Rpb24gVyhlLHQpe3dpbmRvdy5wYXJlbnQhPT13aW5kb3cmJndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe25hbWU6ZSxkZXRhaWw6dH0sIioiKX1mdW5jdGlvbiBEKGUpe3JldHVybiBCb29sZWFuKGUuY2hhcnRXaWRnZXQubW9kZWwpfWNvbnN0IE49KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gUChlKXtjb25zdHtzZXJ2ZXJTbmFwc2hvdDp0LGNsaWVudFNuYXBzaG90Om59PWUsW28sbF09KDAsci51c2VTdGF0ZSkoITEpLHM9KDAsVC51c2VJc01vdW50ZWQpKCksYz0oMCxyLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2lmKCFEKHdpbmRvdykpcmV0dXJuO2NvbnN0IGU9d2luZG93LmNoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5xdW90ZXMoKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlF1b3RlcyBkYXRhIG1pc3NpbmcgZm9yIHRlbGVncmFtIG1lc3NhZ2UiKTtXKCJ0ZWxlZ3JhbS1zaGFyZS1sYXN0LXByaWNlIix7Y3VycmVuY3k6dC5jdXJyZW5jeV9jb2RlfHwiIixzeW1ib2xOYW1lOmUuZ2V0U3ltYm9sTmFtZSgpLGxhc3RQcmljZTp0Lmxhc3RfcHJpY2UsbGFzdFByaWNlVGltZTp0LmxwX3RpbWUsc3ltYm9sOnRbInN5bWJvbC1wcmltYXJ5bmFtZSJdPz9lLmdldFN5bWJvbE5hbWUoKSxpbnRlcnZhbDplLmludGVydmFsKCl8fCIxIn0pfSksW10pLGQ9KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9Pnt0cnl7Y29uc3QgZT1hd2FpdCBuZXcgUHJvbWlzZSgoZT0+e3RyeXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2lmKHQud2lkdGg9MSx0LmhlaWdodD0xLCF0LnRvQmxvYilyZXR1cm4gdm9pZCBlKCExKTt0LnRvQmxvYigodD0+e2UoQm9vbGVhbih0JiYiaW1hZ2UvanBlZyI9PT10LnR5cGUpKX0pLCJpbWFnZS9qcGVnIil9Y2F0Y2h7ZSghMSl9fSkpO2lmKE58fCFlKXtyZXR1cm4gVygidGVsZWdyYW0tc2hhcmUtc25hcHNob3QiLGF3YWl0IHQoKSksITB9aWYoIUQod2luZG93KSlyZXR1cm4hMTtjb25zdCBhPXdpbmRvdy5jaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKS5nZXRTeW1ib2xOYW1lKCkscj1hd2FpdCBuKCksbz0oMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSIpPy4zOi44LGk9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0PS44KXtyZXR1cm4gbmV3IFByb21pc2UoKChhLG4pPT57ZS50b0Jsb2IoKGU9PntpZihudWxsPT09ZSlyZXR1cm4gdm9pZCBuKG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBCbG9iIikpO2NvbnN0IHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9YXN5bmMoKT0+e3RyeXtjb25zdCBlPXQucmVzdWx0O2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVhZGVyIHJlc3VsdCIpO2NvbnN0IG49ZS5zcGxpdCgiLCIpWzFdO2Eobil9Y2F0Y2goZSl7bihlKX19LHQub25lcnJvcj0oKT0+e24obmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBibG9iIGFzIGRhdGEgVVJMIikpfSx0LnJlYWRBc0RhdGFVUkwoZSl9KSwiaW1hZ2UvanBlZyIsdCl9KSl9KHIuY2FudmFzLG8pO3JldHVybiBXKCJ0ZWxlZ3JhbS1zaGFyZS1zbmFwc2hvdC1iYXNlNjQiLHtjb250ZW50OmksCnN5bWJvbDphfSksITB9ZmluYWxseXtzLmN1cnJlbnQmJihsKCExKSwoMCx5Lmdsb2JhbENsb3NlTWVudSkoKSl9fSksW3Qsbl0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudChNLlRvb2xXaWRnZXRNZW51U3VtbWFyeSxudWxsLGkudChudWxsLHZvaWQgMCxhKDI5NjQ1NykpKSwhKDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfZGlzYWJsZV9zaGFyZV9zbmFwc2hvdCIpJiZyLmNyZWF0ZUVsZW1lbnQoQy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsImRhdGEtbmFtZSI6InNoYXJlLWNoYXJ0LWltYWdlIixsYWJlbDpyLmNyZWF0ZUVsZW1lbnQoUy5MYWJlbFdpdGhMb2FkZXIse2lzTG9hZGluZzpvfSxpLnQobnVsbCx2b2lkIDAsYSg4NzA2NzgpKSksb25DbGljazooKT0+e2woITApLGQoKX0sZG9udENsb3NlUG9wdXA6ITAsaXNEaXNhYmxlZDpvLHNob3J0Y3V0OnZvaWQgMCxjbGFzc05hbWU6digpKG8mJkYubG9hZGluZyksdGhlbWU6Un0pLCEoMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKSYmci5jcmVhdGVFbGVtZW50KEMuQWNjZXNzaWJsZU1lbnVJdGVtLHtyb2xlOiJyb3ciLCJkYXRhLW5hbWUiOiJzaGFyZS1sYXN0LXByaWNlIixsYWJlbDppLnQobnVsbCx2b2lkIDAsYSg1NDAwNDIpKSxvbkNsaWNrOmMsc2hvcnRjdXQ6dm9pZCAwLHRoZW1lOlJ9KSl9dmFyIHg9YSg3NzEyODUpLEE9YSg5OTU3MTkpLEw9YSg2MDk1MjgpLFU9YSgxMTczMTMpO2NvbnN0IHo9KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LGFdPSgwLHIudXNlU3RhdGUpKCExKSxuPSgwLFQudXNlSXNNb3VudGVkKSgpLG89KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9PnthKCEwKSx6P2F3YWl0IGUuc2VydmVyU25hcHNob3QoKTphd2FpdCBlLmNsaWVudFNuYXBzaG90KCksbi5jdXJyZW50JiZhKCExKX0pLFtlLnNlcnZlclNuYXBzaG90LGUuY2xpZW50U25hcHNob3RdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KEEuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgSj1hKDIxNjA4MyksTz1hKDg1ODIzNik7Y29uc3QgVj0oMCxfLmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsVS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpP3IuY3JlYXRlRWxlbWVudChJLHsuLi5lLGljb246T30pOnIuY3JlYXRlRWxlbWVudCh4LlRvb2xiYXJNZW51QnV0dG9uLHtjb250ZW50OnIuY3JlYXRlRWxlbWVudChBLlRvb2xXaWRnZXRCdXR0b24se3RhZzoiZGl2IixpZDplLmlkLGNsYXNzTmFtZTplLmNsYXNzTmFtZSxpY29uOk99KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEoudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidGVsZWdyYW0gc2hhcmUiKX0sdG9vbHRpcDplLnRvb2x0aXAsbWVudVJvbGU6ImdyaWQifSxyLmNyZWF0ZUVsZW1lbnQoUCx7Li4uZX0pKX0pKTt2YXIgWT1hKDMzMDcyMSk7ZnVuY3Rpb24gaigpe3JldHVybnsuLi4oMCxZLmdldFJlc3RyaWN0ZWRUb29sU2V0KSgpLEFsZXJ0UmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP3A6dm9pZCAwLFNhdmVMb2FkUmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP2I6dm9pZCAwLFRlbGVncmFtU2hhcmU6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3RlbGVncmFtX3NoYXJlIik/Vjp2b2lkIDB9fX0sODU4MjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIxIDguNWEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHptMSAwYTMuNSAzLjUgMCAwIDEtNi4yMSAyLjIxbC00LjA2IDIuNDRhMy40OSAzLjQ5IDAgMCAxIDAgMi43bDQuMDYgMi40NGEzLjUgMy41IDAgMSAxLS41Mi44NmwtNC4wNi0yLjQ0YTMuNSAzLjUgMCAxIDEgMC00LjQybDQuMDYtMi40NEEzLjQ5IDMuNDkgMCAwIDEgMTguNSA1IDMuNSAzLjUgMCAwIDEgMjIgOC41em0tMSAxMmEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHpNOC41IDE3YTIuNSAyLjUgMCAxIDAgMC01IDIuNSAyLjUgMCAwIDAgMCA1eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/94948.0fc88fa63c054a8d7684.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.180Z","timestamp":1785136429180,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/94948.0fc88fa63c054a8d7684.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8bbc90d534294b24e769d1b220ae2879\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":58,"size_decoded":842,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"5592fcacaacd1e8d44b8a3fbb380b590","sha1":"c1941ebad54702aac9c07152c40ea90c524ed011","sha256":"fe2e73df95dfdba476a9f13e9a0654010c8fbfe8266e38067621719d71bd179b","sha512":"87708aa11fe40f2364325f5d9f72a006dbfbfda851f696a21b2359441ee7c274d65722ab3df0dd59a66fcc87d7207404a4ba63b630689462beec57d1d7da5a3f","ssdeep":"","tlshash":"6aa002c61bf521e442796c0e8ec00307e4d144a100002dd78427c0700caef9f449031f","first_seen":"2026-07-17T03:30:51.219732Z","last_seen":"2026-08-11T04:43:23.132203Z","times_seen":328,"resource_available":false,"data":"LmJsb2NrSWNvbi1ndk9RVmlWNywuYmxvY2tJY29uLWd2T1FWaVY3IHN2Z3tkaXNwbGF5OmJsb2NrfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.99124.7129e057c7444df25994.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.259Z","timestamp":1785136429259,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.99124.7129e057c7444df25994.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-1544\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e3e146b2a6ba6dd89829eeec2ee675ed\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5444,"size_decoded":2672,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (3021)","md5":"d49ebbbc471ca07bc848bb880bb26d84","sha1":"20f220b0289d31bbccf6998d62734c26918d3d03","sha256":"fc21b6b03e6cd84b3deb28a311ba60e13595285aed15bc3a42f677c2d120e278","sha512":"181c814b0478736fdd60bf6d9ac6b02c54c72831c9e577659b4e9594ff60606ffef4a36c8cc5c951778a81751afb88afb907d9ec91a872f926ffa2219ec7ae79","ssdeep":"96:vl1zur72uG7PtLkKke9KRIKWOgIQHWokY/CIXni:tZur7fGjxgRIKQBrXi","tlshash":"7bb16513e140e1e61f72eb21b349edc4b8f4b19162f2e4c673596f65c11bc646838b75","first_seen":"2026-07-23T14:37:54.495318Z","last_seen":"2026-08-11T04:43:23.113969Z","times_seen":252,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjA4MCw5OTEyNF0sezk5NDAxNihlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkgcG9zdHMgZm9yIHtzeW1ib2x9Il19LDcxMzkwNShlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkiXX0sMjQ1MTQ3KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0cyJdfSw2ODE5MjEoZSl7ZS5leHBvcnRzPVsiQ2hhcnQiXX0sMzM0NDE1KGUpe2UuZXhwb3J0cz1bIkFuYWx5c2lzIl19LDYxMjU1KGUpe2UuZXhwb3J0cz1bIkFzc2V0cyJdfSw2MDIxMTMoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNzg3NDQyKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyJdfSw1NTgwNjcoZSl7ZS5leHBvcnRzPVsiRGVyaXZhdGl2ZXMiXX0sOTI3ODkoZSl7ZS5leHBvcnRzPVsiRVRGcyJdfSwzODg3ODYoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSBpbmRpY2F0b3JzIl19LDUzNDAyNyhlKXtlLmV4cG9ydHM9WyJGb3JlY2FzdCJdfSw2Njg2ODAoZSl7ZS5leHBvcnRzPVsiRm9yd2FyZCBjdXJ2ZSJdfSwzODAxNTgoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw5OTU2MDIoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWxzIl19LDk1NDExMShlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDg0MzUyMChlKXtlLmV4cG9ydHM9WyJOZXdzIl19LDM3ODc1MChlKXtlLmV4cG9ydHM9WyJTZWFzb25hbHMiXX0sOTIxNjQyKGUpe2UuZXhwb3J0cz1bIlByb2ZpbGUiXX0sMTIxMjcwKGUpe2UuZXhwb3J0cz1bIlRlY2huaWNhbHMiXX0sNjE2MTgwKGUpe2UuZXhwb3J0cz1bIllpZWxkIGN1cnZlIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sNTI3MShlKXtlLmV4cG9ydHM9WyJFVEZzIGZvciB7c3ltYm9sfSJdfSw3NjM5MzQoZSl7ZS5leHBvcnRzPVsiRG93bmxvYWQgY2hhcnQgZGF0YSJdfSw5MTA0NzYoZSl7ZS5leHBvcnRzPVsiRG90Il19LDU3MjIzOShlKXtlLmV4cG9ydHM9WyJBZGQgY3VzdG9tIGludGVydmFsIl19LDQ0MDI1MShlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNDI3NDQyKGUpe2UuZXhwb3J0cz1bIkRlZmF1bHQgdGVtcGxhdGVzIl19LDMyNTkxMChlKXtlLmV4cG9ydHM9WyJNeSB0ZW1wbGF0ZXMiXX0sNTE4MjQ5KGUpe2UuZXhwb3J0cz1bIlJlY2VudGx5IHVzZWQiXX0sMzkzMjczKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSwyMDI4OTEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMjY5MTcoZSl7ZS5leHBvcnRzPVsiSG91cnMiXX0sMzQ0NzQ3KGUpe2UuZXhwb3J0cz1bIk1vbnRocyJdfSwyMzA5MDkoZSl7ZS5leHBvcnRzPVsiTWludXRlcyJdfSw3NTI3MDAoZSl7ZS5leHBvcnRzPVsiU2Vjb25kcyJdfSwyODgwMzQoZSl7ZS5leHBvcnRzPVsiUmFuZ2VzIl19LDQzMzk5NChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw4NzAzMDEoZSl7ZS5leHBvcnRzPVsiVGlja3MiXX0sNjI5Mzg0KGUpe2UuZXhwb3J0cz1bIkZhdm9yaXRlIEluZGljYXRvcnMiXX0sNDM0MDc2KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIG5vIEZhdm9yaXRlcyBJbmRpY2F0b3JzIHlldCJdfSw1OTA4ODQoZSl7ZS5leHBvcnRzPVsiQ29weSBsaW5rIl19LDkzODQ5NyhlKXtlLmV4cG9ydHM9WyJDcmVhdGUgbmV3IGxheW91dCJdfSw0Nzk3MShlKXtlLmV4cG9ydHM9WyJBdXRvc2F2ZSJdfSw2MTM1MTYoZSl7ZS5leHBvcnRzPVsiT3BlbiBsYXlvdXQiXX0sMjI0ODkoZSl7ZS5leHBvcnRzPVsiU2hhcmUgbGF5b3V0Il19LDc0NTY3NihlKXtlLmV4cG9ydHM9WyJTaGFyaW5nIl19LDYyMzI0NChlKXtlLmV4cG9ydHM9WyJSZWNlbnRseSB1c2VkIl19LDU2NTQ1MShlKXtlLmV4cG9ydHM9WyJSZW5hbWUiXX0sMTAxNDM1KGUpe2UuZXhwb3J0cz1bIk5ld3MgZm9yIHtzeW1ib2x9Il19LDEyNDc2NihlKXtlLmV4cG9ydHM9WyJDb3B5IGltYWdlIl19LDQyMjg3MChlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjY3OTgxKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHNuYXBzaG90Il19LDMzNjk5MyhlKXtlLmV4cG9ydHM9WyJEb3dubG9hZCBpbWFnZSJdfSw1ODUxMjgoZSl7ZS5leHBvcnRzPVsiU2hhcmUgdmlhIFN5bXBob255Il19LDU4MTg1MyhlKXtlLmV4cG9ydHM9WyJUd2VldCBpbWFnZSJdfSw0NzM3ODIoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw0NzUwMjgoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIGRhdGEgdHlwZSJdfSw2MDQwMShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgc2VhcmNoIl19LDY4NTU3NShlKXtlLmV4cG9ydHM9WyJQcm9maWxlIGZvciB7c3ltYm9sfSJdfSw0ODYzNjEoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIGFsZXJ0Il19LDg3MzgyMChlKXtlLmV4cG9ydHM9WyJDb21wYXJlIHN5bWJvbHMiXX0sMTMzOTcoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgaW5kaWNhdG9ycyJdfSwyNDQwODAoZSl7ZS5leHBvcnRzPVsiU2F2ZSBpbmRpY2F0b3IgdGVtcGxhdGUiXX0sOTA5ODQ3KGUpe2UuZXhwb3J0cz1bIlF1aWNrIHNlYXJjaCJdfSw0NTMyNjMoZSl7ZS5leHBvcnRzPVsicmVkbyB7aGludH0iXX0sNzMxNjQ5KGUpe2UuZXhwb3J0cz1bInVuZG8ge2hpbnR9Il19LDEyOTIxNChlKXtlLmV4cG9ydHM9WyJDb3B5Il19LDYwODk5MihlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjk0NjM3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IGludGVydmFsIl19LDczNzIxNShlKXtlLmV4cG9ydHM9WyJDcm9zc2hhaXIiXX0sMTI0NzgoZSl7CmUuZXhwb3J0cz1bIkNyb3NzaGFpciBpcyBzeW5jZWQgYWNyb3NzIGFsbCBjaGFydHMgd2l0aGluIHRoZSBsYXlvdXQiXX0sOTk1MjkoZSl7ZS5leHBvcnRzPVsiQWRkIHRvIGZhdm9yaXRlcyJdfSwxNjE3MzUoZSl7ZS5leHBvcnRzPVsiQWxlcnQiXX0sMzkzOShlKXtlLmV4cG9ydHM9WyJBbGwgY2hhbmdlcyBzYXZlZCJdfSw1NTYzOTkoZSl7ZS5leHBvcnRzPVsiQXV0b3NhdmUiXX0sODkzNTc2KGUpe2UuZXhwb3J0cz1bIkJvbmRzIGZvciB7c3ltYm9sfSJdfSw4MzM5MzQoZSl7ZS5leHBvcnRzPVsiQmFyJ3Mgc3R5bGUiXX0sNzUxMjgzKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyBmb3Ige3N5bWJvbH0iXX0sNDI3NDk0KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UiXX0sMTA0NTU5KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDQzNTgxMyhlKXtlLmV4cG9ydHM9WyJEZWZhdWx0IHRlbXBsYXRlcyJdfSwyNTM1MyhlKXtlLmV4cG9ydHM9WyJFY29ub215IGluZGljYXRvcnMiXX0sNjY2OTQ0KGUpe2UuZXhwb3J0cz1bIkV2ZXJ5b25lIHdpdGggdGhlIGxpbmsgY2FuIHZpZXcgYW5kIGNvcHkiXX0sNDUwMTY2KGUpe2UuZXhwb3J0cz1bIkZvcmVjYXN0IGZvciB7c3ltYm9sfSJdfSw1MjI5MTEoZSl7ZS5leHBvcnRzPVsiRnVsbHNjcmVlbiBtb2RlIl19LDEyNzU2OShlKXtlLmV4cG9ydHM9WyJJbnRlcnZhbCJdfSw0MDU5NDYoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDYxNjkoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIHRlbXBsYXRlcyJdfSw4NDgzOTQoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyJdfSwxNzQ0ODIoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycywgbWV0cmljcywgYW5kIHN0cmF0ZWdpZXMiXX0sNDEyNzc2KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMgZm9yIHtzeW1ib2x9Il19LDgwNjYzNihlKXtlLmV4cG9ydHM9WyJPcGVuIHRlbXBsYXRlIl19LDc1NjAwOShlKXtlLmV4cG9ydHM9WyJPcGVuIGNoYXJ0IGluIHBvcHVwIl19LDE0ODg4OShlKXtlLmV4cG9ydHM9WyJPcGVuIGluIG5ldyB0YWIiXX0sMjQyOTEzKGUpe2UuZXhwb3J0cz1bIkxvYWQgQ2hhcnQgTGF5b3V0Il19LDQzNjUwNChlKXtlLmV4cG9ydHM9WyJMb2FkaW5nLi4uIl19LDk3NDIxNChlKXtlLmV4cG9ydHM9WyJMYXlvdXQgc2V0dXAiXX0sOTI3NzA1KGUpe2UuZXhwb3J0cz1bIkxheW91dCB0eXBlIl19LDQ0NzE1MChlKXtlLmV4cG9ydHM9WyJMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sNjE4MDM5KGUpe2UuZXhwb3J0cz1bIk1ha2UgYSBjb3B5Il19LDIzNjY2MChlKXtlLmV4cG9ydHM9WyJNYW5hZ2UgbGF5b3V0cyJdfSwyODU0ODMoZSl7ZS5leHBvcnRzPVsiTXkgdGVtcGxhdGVzIl19LDU0ODY5MChlKXtlLmV4cG9ydHM9WyJOdW1iZXIgb3Ige2hvdEtleV8wfSJdfSw2MTI2NTUoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw4MjAzKGUpe2UuZXhwb3J0cz1bIlNhdmUgYWxsIGNoYXJ0cyBmb3IgYWxsIHN5bWJvbHMgYW5kIGludGVydmFscyBvbiB5b3VyIGxheW91dCJdfSw5MzkwNzQoZSl7ZS5leHBvcnRzPVsiU2F2ZSBsYXlvdXQiXX0sNjg1OTYzKGUpe2UuZXhwb3J0cz1bIlNlYXNvbmFscyBmb3Ige3N5bWJvbH0iXX0sOTY3MjU3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCB1c2luZyBJU0lOIGFuZCBDVVNJUCBjb2RlcyJdfSwyOTY0NTcoZSl7ZS5leHBvcnRzPVsiU2hhcmUiXX0sNTQwMDQyKGUpe2UuZXhwb3J0cz1bIlNoYXJlIGxhc3QgcHJpY2UiXX0sODcwNjc4KGUpe2UuZXhwb3J0cz1bIlNoYXJlIHNuYXBzaG90Il19LDM5MDE5OChlKXtlLmV4cG9ydHM9WyJTaW1wbHkgc3RhcnQgdHlwaW5nIHdoaWxlIG9uIHRoZSBjaGFydCB0byBwdWxsIHVwIHRoaXMgc2VhcmNoIGJveCJdfSw2MTMxNjMoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIl19LDQ4MjIyNShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDczOTkzNihlKXtlLmV4cG9ydHM9WyJTeW5jIGluIGxheW91dCJdfSwzNTgyOTEoZSl7ZS5leHBvcnRzPVsiUmVjZW50bHkgdXNlZCJdfSw2OTQyMDkoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIGZyb20gZmF2b3JpdGVzIl19LDc1NDM4MihlKXtlLmV4cG9ydHM9WyJSZW1vdmUgc2VsZWN0ZWQgZW1vamkiXX0sNTIwMzg3KGUpe2UuZXhwb3J0cz1bIldoZW4gYSBjaGFydCBpcyBjbGlja2VkLCBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0IGRpc3BsYXkgdGhlIHNhbWUgcG9pbnQgb2YgdGltZSJdfSwyMDczNzEoZSl7ZS5leHBvcnRzPVsiVGFrZSBhIHNuYXBzaG90Il19LDE4NjEyNShlKXtlLmV4cG9ydHM9WyJUaGUgTW90bGV5IEZvb2wgY29kZSJdfX1dKTs="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5808.f4800fa9246f404621ee.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.317Z","timestamp":1785136429317,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5808.f4800fa9246f404621ee.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2fe65\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1fa72543feb3159fd746581278e5f18f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":196197,"size_decoded":57470,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"a42e731f659fd23cc846fd90733fa22d","sha1":"a69e6df547aeb0964b5451ccfff0fec9703fbc6a","sha256":"fd721044f40446ca3ab1b478372b4b3034a3345ec03c626e1fe2f2b651cacdf0","sha512":"0364a69a0cf76f3925709f12c0a99bdbc8ad070fc9be0d8000eb0a227f26f4281051036b7118c8f8a747e61921f63669c785bb607f506ef1a1e602e472fb9dad","ssdeep":"3072:TTXg/EZYyk/ubQwm+HxiXEPx7CfJ3pVgk822xZgN9u7lUbjAvDWnSO8IMiL5K:TmEZYT/ubQwm+HxiXyx7CfJ3pVgk822F","tlshash":"71143a507318a44c59cb51aaca3a0956e39e629cf485407cf9fcddfc21e9d89e13e738","first_seen":"2026-07-24T11:36:48.024996Z","last_seen":"2026-07-28T06:17:53.588069Z","times_seen":101,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODA4LDQxMzI4LDY0NjQ0LDk0NTYwXSx7OTE0NDg3KGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPXt9Lmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciBuPWFyZ3VtZW50c1t0XTtpZihuKXt2YXIgbz10eXBlb2YgbjtpZigic3RyaW5nIj09PW98fCJudW1iZXIiPT09byllLnB1c2gobik7ZWxzZSBpZihBcnJheS5pc0FycmF5KG4pJiZuLmxlbmd0aCl7dmFyIHM9aS5hcHBseShudWxsLG4pO3MmJmUucHVzaChzKX1lbHNlIGlmKCJvYmplY3QiPT09bylmb3IodmFyIGwgaW4gbilhLmNhbGwobixsKSYmbltsXSYmZS5wdXNoKGwpfX1yZXR1cm4gZS5qb2luKCIgIil9ZS5leHBvcnRzPyhpLmRlZmF1bHQ9aSxlLmV4cG9ydHM9aSk6dm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gaX0uYXBwbHkodCxbXSkpfHwoZS5leHBvcnRzPW4pfSgpfSw4NjQ3MzYoZSl7ZS5leHBvcnRzPXtjb250ZXh0QWN0aW9uczoiY29udGV4dEFjdGlvbnMtdUJKaGpVVjgiLGhpZGVJZk5vSG92ZXI6ImhpZGVJZk5vSG92ZXItdUJKaGpVVjgiLHNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZDoic29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4In19LDkwNDQzNChlKXtlLmV4cG9ydHM9e2Zvb3RlcjoiZm9vdGVyLVlCSk16QV9sIn19LDU0MDU5NShlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLWhEdElveGpVIixncm91cDoiZ3JvdXAtaER0SW94alUiLG1lbnU6Im1lbnUtaER0SW94alUiLGJldGFCYWRnZToiYmV0YUJhZGdlLWhEdElveGpVIixuZXdCYWRnZToibmV3QmFkZ2UtaER0SW94alUiLGxhYmVsOiJsYWJlbC1oRHRJb3hqVSIsY29udGFpbmVyOiJjb250YWluZXItaER0SW94alUiLG5ld1ZpZXc6Im5ld1ZpZXctaER0SW94alUiLGRlc2t0b3A6ImRlc2t0b3AtaER0SW94alUifX0sNzExMjgzKGUpe2UuZXhwb3J0cz17Y3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbjoiY3VzdG9tVHJhZGluZ1ZpZXdTdHlsZUJ1dHRvbi1FMnY3V2J1biIsd2l0aG91dEljb246IndpdGhvdXRJY29uLUUydjdXYnVuIn19LDg4OTgwOShlKXtlLmV4cG9ydHM9e2Ryb3Bkb3duOiJkcm9wZG93bi1NYndCTVdEeSIsbmV3VmlldzoibmV3Vmlldy1NYndCTVdEeSIsc21hbGxXaWR0aFdyYXBwZXI6InNtYWxsV2lkdGhXcmFwcGVyLU1id0JNV0R5IixtZW51OiJtZW51LU1id0JNV0R5IixsYWJlbDoibGFiZWwtTWJ3Qk1XRHkiLHNtYWxsV2lkdGhUaXRsZToic21hbGxXaWR0aFRpdGxlLU1id0JNV0R5IixzbWFsbFdpZHRoTWVudUl0ZW06InNtYWxsV2lkdGhNZW51SXRlbS1NYndCTVdEeSJ9fSw3MTk5KGUpe2UuZXhwb3J0cz17c21hbGxUYWJsZXRTZWN0aW9uVGl0bGU6InNtYWxsVGFibGV0U2VjdGlvblRpdGxlLW91SkpzVlU2In19LDI1MTcyMyhlKXtlLmV4cG9ydHM9e3ZhbHVlOiJ2YWx1ZS1kcjN2R2luVCIsc2VsZWN0ZWQ6InNlbGVjdGVkLWRyM3ZHaW5UIn19LDk3MzY5KGUpe2UuZXhwb3J0cz17c21hbGxXaWR0aE1lbnVJdGVtOiJzbWFsbFdpZHRoTWVudUl0ZW0tcldCY2Qxak0iLG1lbnVJdGVtOiJtZW51SXRlbS1yV0JjZDFqTSIscmVtb3ZlOiJyZW1vdmUtcldCY2Qxak0iLHNpZ25hbDoic2lnbmFsLXJXQmNkMWpNIiwiaGlnaGxpZ2h0LWFuaW1hdGlvbiI6ImhpZ2hsaWdodC1hbmltYXRpb24tcldCY2Qxak0ifX0sNjU3ODA5KGUpe2UuZXhwb3J0cz17c2VjdGlvbjoic2VjdGlvbi1DcVBRQmc0WiIsYWRkQ3VzdG9tSW50ZXJ2YWw6ImFkZEN1c3RvbUludGVydmFsLUNxUFFCZzRaIixhZGRDdXN0b21JbnRlcnZhbERlc2t0b3A6ImFkZEN1c3RvbUludGVydmFsRGVza3RvcC1DcVBRQmc0WiJ9fSw0NTAyNzEoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1VOWIwVEFzNCIsbWVudUJ0bjoibWVudUJ0bi1VOWIwVEFzNCIsZHJvcGRvd246ImRyb3Bkb3duLVU5YjBUQXM0IixuZXdWaWV3OiJuZXdWaWV3LVU5YjBUQXM0IixkZXNrdG9wOiJkZXNrdG9wLVU5YjBUQXM0IixtZW51Q29udGVudDoibWVudUNvbnRlbnQtVTliMFRBczQiLGdyb3VwOiJncm91cC1VOWIwVEFzNCJ9fSw5OTAwMTQoZSl7ZS5leHBvcnRzPXtyb3c6InJvdy1YNlMwM09WaiIscm93SW5uZXI6InJvd0lubmVyLVg2UzAzT1ZqIixzbWFsbFJvdzoic21hbGxSb3ctWDZTMDNPVmoiLHJvd0xhYmVsOiJyb3dMYWJlbC1YNlMwM09WaiIsc21hbGxSb3dMYWJlbDoic21hbGxSb3dMYWJlbC1YNlMwM09WaiIscm93QnV0dG9uczoicm93QnV0dG9ucy1YNlMwM09WaiIsbGF5b3V0QnV0dG9uV3JhcDoibGF5b3V0QnV0dG9uV3JhcC1YNlMwM09WaiIsYWNjZXNzaWJsZToiYWNjZXNzaWJsZS1YNlMwM09WaiIsc21hbGxXaWR0aDoic21hbGxXaWR0aC1YNlMwM09WaiIsbGF5b3V0QnV0dG9uOiJsYXlvdXRCdXR0b24tWDZTMDNPVmoiLGhvdmVyZWQ6ImhvdmVyZWQtWDZTMDNPVmoiLGlzQWN0aXZlOiJpc0FjdGl2ZS1YNlMwM09WaiIsc21hbGxXaWR0aExheW91dEJ1dHRvbjoic21hbGxXaWR0aExheW91dEJ1dHRvbi1YNlMwM09WaiIsbGF5b3V0QnV0dG9uczoibGF5b3V0QnV0dG9ucy1YNlMwM09WaiJ9fSw0NTY1MjUoZSl7ZS5leHBvcnRzPXt0b2dnbGVyOiJ0b2dnbGVyLXA1R2kyaEkxIixob3ZlcmVkOiJob3ZlcmVkLXA1R2kyaEkxIixsYWJlbDoibGFiZWwtcDVHaTJoSTEiLGNlbnRlcmVkOiJjZW50ZXJlZC1wNUdpMmhJMSIsY2hlY2tlZDoiY2hlY2tlZC1wNUdpMmhJMSIsc3dpdGNoZXJMYWJlbDoic3dpdGNoZXJMYWJlbC1wNUdpMmhJMSJ9fSw0NTI2MTcoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1QVkx4S2hJSSIsZHJvcGRvd246ImRyb3Bkb3duLVBWTHhLaElJIixsYXlvdXRUeXBlOiJsYXlvdXRUeXBlLVBWTHhLaElJIix0aXRsZToidGl0bGUtUFZMeEtoSUkiLHN5bmNDaGFydHM6InN5bmNDaGFydHMtUFZMeEtoSUkiLG1vYmlsZToibW9iaWxlLVBWTHhLaElJIix0YWJsZXRXcmFwcGVyOiJ0YWJsZXRXcmFwcGVyLVBWTHhLaElJIiwKaWNvbjoiaWNvbi1QVkx4S2hJSSIsc3luY0xpc3RXcmFwcGVyOiJzeW5jTGlzdFdyYXBwZXItUFZMeEtoSUkiLHN3aXRjaGVyOiJzd2l0Y2hlci1QVkx4S2hJSSIsc3dpdGNoTGFiZWxXcmFwOiJzd2l0Y2hMYWJlbFdyYXAtUFZMeEtoSUkiLHN3aXRjaExhYmVsOiJzd2l0Y2hMYWJlbC1QVkx4S2hJSSIsaWNvbldyYXA6Imljb25XcmFwLVBWTHhLaElJIixpbmZvSWNvbjoiaW5mb0ljb24tUFZMeEtoSUkiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLVBWTHhLaElJIn19LDg1NTEwNyhlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLXdvSzNWeG1tIn19LDQzNTQ0NyhlKXtlLmV4cG9ydHM9e2Z1bGw6ImZ1bGwtdV9SQXBuaU4iLGxhc3Q6Imxhc3QtdV9SQXBuaU4iLG1lZGl1bToibWVkaXVtLXVfUkFwbmlOIn19LDExNDMwNyhlKXtlLmV4cG9ydHM9e3BvcHVwSXRlbVJvd1RhYmxldFNtYWxsOiJwb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbC1FWEdfMGhhSiIsbGF5b3V0SXRlbToibGF5b3V0SXRlbS1FWEdfMGhhSiIsbGF5b3V0TWV0YToibGF5b3V0TWV0YS1FWEdfMGhhSiIsdG9vbGJveDoidG9vbGJveC1FWEdfMGhhSiIsdG9vbGJveFNtYWxsOiJ0b29sYm94U21hbGwtRVhHXzBoYUoiLGxheW91dFRpdGxlOiJsYXlvdXRUaXRsZS1FWEdfMGhhSiIsbGF5b3V0SXRlbVdyYXA6ImxheW91dEl0ZW1XcmFwLUVYR18waGFKIixsYXlvdXRJdGVtV3JhcFNtYWxsOiJsYXlvdXRJdGVtV3JhcFNtYWxsLUVYR18waGFKIixsYXlvdXRUaXRsZVNtYWxsOiJsYXlvdXRUaXRsZVNtYWxsLUVYR18waGFKIixlbGxpcHNpczoiZWxsaXBzaXMtRVhHXzBoYUoifX0sNzYxMTc1KGUpe2UuZXhwb3J0cz17c2hhcmluZ0xhYmVsV3JhcDoic2hhcmluZ0xhYmVsV3JhcC1fVUNsUVR0NiIsdGl0bGVTaGFyaW5nTGFiZWw6InRpdGxlU2hhcmluZ0xhYmVsLV9VQ2xRVHQ2IixpY29uV3JhcDoiaWNvbldyYXAtX1VDbFFUdDYiLGluZm9JY29uOiJpbmZvSWNvbi1fVUNsUVR0NiIsYWNjZXNzaWJsZUxhYmVsOiJhY2Nlc3NpYmxlTGFiZWwtX1VDbFFUdDYiLGhpbnQ6ImhpbnQtX1VDbFFUdDYifX0sNDY1MDY0KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24td19nREtuN08iLGlzRGlzYWJsZWQ6ImlzRGlzYWJsZWQtd19nREtuN08ifX0sNDcwOTAxKGUpe2UuZXhwb3J0cz17bWVudUJ0bldyYXA6Im1lbnVCdG5XcmFwLXphcExoMHJSIixtZW51OiJtZW51LXphcExoMHJSIixuZXdNZW51V3JhcHBlcjoibmV3TWVudVdyYXBwZXItemFwTGgwclIiLGRlc2t0b3A6ImRlc2t0b3AtemFwTGgwclIiLG9wZW5lZDoib3BlbmVkLXphcExoMHJSIixob3ZlcjoiaG92ZXItemFwTGgwclIiLGNsaWNrZWQ6ImNsaWNrZWQtemFwTGgwclIiLGF1dG9TYXZlV3JhcHBlcjoiYXV0b1NhdmVXcmFwcGVyLXphcExoMHJSIixzaGFyaW5nV3JhcHBlcjoic2hhcmluZ1dyYXBwZXItemFwTGgwclIiLGJ1dHRvbjoiYnV0dG9uLXphcExoMHJSIixidXR0b25TbWFsbFBhZGRpbmc6ImJ1dHRvblNtYWxsUGFkZGluZy16YXBMaDByUiIsaGludFBsYWNlSG9sZGVyOiJoaW50UGxhY2VIb2xkZXItemFwTGgwclIiLHNtYWxsSGludFBsYWNlSG9sZGVyOiJzbWFsbEhpbnRQbGFjZUhvbGRlci16YXBMaDByUiIscG9wdXBJdGVtUm93VGFibGV0U21hbGw6InBvcHVwSXRlbVJvd1RhYmxldFNtYWxsLXphcExoMHJSIixzaG9ydGN1dDoic2hvcnRjdXQtemFwTGgwclIiLHRvb2xUaXRsZToidG9vbFRpdGxlLXphcExoMHJSIix0b29sVGl0bGVNb2JpbGU6InRvb2xUaXRsZU1vYmlsZS16YXBMaDByUiIsdGV4dFdyYXA6InRleHRXcmFwLXphcExoMHJSIix0ZXh0OiJ0ZXh0LXphcExoMHJSIix3aXRoSWNvbjoid2l0aEljb24temFwTGgwclIiLHN3aXRjaGVyTGFiZWw6InN3aXRjaGVyTGFiZWwtemFwTGgwclIiLGVsbGlwc2lzOiJlbGxpcHNpcy16YXBMaDByUiJ9fSwxMTc3MjkoZSl7ZS5leHBvcnRzPXtuZXdWaWV3OiJuZXdWaWV3LXA1QW5HMEdPIixkZXNrdG9wOiJkZXNrdG9wLXA1QW5HMEdPIn19LDk4ODQxNihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLW80MHQ5TDVuIixzbWFsbExlZnRQYWRkaW5nOiJzbWFsbExlZnRQYWRkaW5nLW80MHQ5TDVuIix0ZXh0OiJ0ZXh0LW80MHQ5TDVuIixzZWFyY2hCdXR0b246InNlYXJjaEJ1dHRvbi1vNDB0OUw1biIsbWVudU9wZW5lZDoibWVudU9wZW5lZC1vNDB0OUw1biIsdXBwZXJjYXNlOiJ1cHBlcmNhc2UtbzQwdDlMNW4ifX0sODg3MDE4KGUpe2UuZXhwb3J0cz17ZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLWhWUzNJOXJzIn19LDc3MTk4MyhlKXtlLmV4cG9ydHM9e3dyYXA6IndyYXAtckJ0RWZaUUkiLHRpdGxlV3JhcDoidGl0bGVXcmFwLXJCdEVmWlFJIixpbmRpY2F0b3JzOiJpbmRpY2F0b3JzLXJCdEVmWlFJIix0aXRsZToidGl0bGUtckJ0RWZaUUkiLGljb246Imljb24tckJ0RWZaUUkiLHRleHQ6InRleHQtckJ0RWZaUUkiLHRpdGxlVGFibGV0U21hbGw6InRpdGxlVGFibGV0U21hbGwtckJ0RWZaUUkiLGxhYmVsUm93OiJsYWJlbFJvdy1yQnRFZlpRSSIsbGFiZWw6ImxhYmVsLXJCdEVmWlFJIn19LDc4Mzc4MShlKXtlLmV4cG9ydHM9e21lbnU6Im1lbnUtc1dQMlhXQTAiLG5ld1ZpZXc6Im5ld1ZpZXctc1dQMlhXQTAiLGRlc2t0b3A6ImRlc2t0b3Atc1dQMlhXQTAiLG1lbnVTbWFsbFRhYmxldDoibWVudVNtYWxsVGFibGV0LXNXUDJYV0EwIixtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsOiJtZW51SXRlbUhlYWRlclRhYmxldFNtYWxsLXNXUDJYV0EwIixtZW51SXRlbUhlYWRlcjoibWVudUl0ZW1IZWFkZXItc1dQMlhXQTAifX0sMjU3NjkxKGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC1ISjdTM1A0OSIsZnVsbDoiZnVsbC1ISjdTM1A0OSIsZmlyc3Q6ImZpcnN0LUhKN1MzUDQ5IixsYXN0OiJsYXN0LUhKN1MzUDQ5IixtZWRpdW06Im1lZGl1bS1ISjdTM1A0OSIsYnV0dG9uV2l0aEZhdm9yaXRlczoiYnV0dG9uV2l0aEZhdm9yaXRlcy1ISjdTM1A0OSJ9fSw1NzA2ODMoZSl7ZS5leHBvcnRzPXtpY29uOiJpY29uLW9ORGlRQ21OIn19LDE4OTUzMChlKXtlLmV4cG9ydHM9e3N1bW1hcnk6InN1bW1hcnktRTZ0eklRa1IiLApob3ZlcmVkOiJob3ZlcmVkLUU2dHpJUWtSIixjYXJldDoiY2FyZXQtRTZ0eklRa1IifX0sNjI1MTU2KGUpe2UuZXhwb3J0cz17Y29weUxpbms6ImNvcHlMaW5rLWUzQlptWlhIIixjb3B5TGlua01vYmlsZToiY29weUxpbmtNb2JpbGUtZTNCWm1aWEgiLGFjY2Vzc2libGVMYWJlbDoiYWNjZXNzaWJsZUxhYmVsLWUzQlptWlhIIn19LDc1ODg4MihlKXtlLmV4cG9ydHM9e2l0ZW06Iml0ZW0tUEJ0cnpaQ2EiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtUEJ0cnpaQ2EiLHJvdW5kOiJyb3VuZC1QQnRyelpDYSIsYWN0aXZlOiJhY3RpdmUtUEJ0cnpaQ2EifX0sMzYzODA4KGUpe2UuZXhwb3J0cz17YWNjZXNzaWJsZToiYWNjZXNzaWJsZS1tRUdaQmZ1TCJ9fSw1ODcwOTQoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1yMHBvUnYwUiIsYWN0aXZlOiJhY3RpdmUtcjBwb1J2MFIifX0sNTczNDUwKGUpe2UuZXhwb3J0cz17dGl0bGU6InRpdGxlLXRzVG9ic3lwIn19LDk0MTkxOChlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUk4ckFuWFRSIix3aXRoVGV4dDoid2l0aFRleHQtSThyQW5YVFIiLHdpdGhvdXRUZXh0OiJ3aXRob3V0VGV4dC1JOHJBblhUUiJ9fSw2NjE1MChlKXtlLmV4cG9ydHM9e3NwaW5uZXJXcmFwOiJzcGlubmVyV3JhcC1aWnR1RklQcCJ9fSw1MDY4MzgoZSl7ZS5leHBvcnRzPXt3cmFwOiJ3cmFwLVVmREd5aDVLIn19LDE2NTQxMihlKXtlLmV4cG9ydHM9e2xhYmVsUm93OiJsYWJlbFJvdy1fdVhqU1NRNSIsdG9vbGJveDoidG9vbGJveC1fdVhqU1NRNSIsZGVzY3JpcHRpb246ImRlc2NyaXB0aW9uLV91WGpTU1E1IixkZXNjcmlwdGlvblRhYmxldFNtYWxsOiJkZXNjcmlwdGlvblRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtOiJpdGVtLV91WGpTU1E1Iix0aXRsZUl0ZW06InRpdGxlSXRlbS1fdVhqU1NRNSIscmVtb3ZlOiJyZW1vdmUtX3VYalNTUTUiLGFjdGl2ZToiYWN0aXZlLV91WGpTU1E1Iix0aXRsZUl0ZW1UYWJsZXRTbWFsbDoidGl0bGVJdGVtVGFibGV0U21hbGwtX3VYalNTUTUiLGl0ZW1UYWJsZXRTbWFsbDoiaXRlbVRhYmxldFNtYWxsLV91WGpTU1E1IixpdGVtTGFiZWxUYWJsZXRTbWFsbDoiaXRlbUxhYmVsVGFibGV0U21hbGwtX3VYalNTUTUiLHdyYXA6IndyYXAtX3VYalNTUTUiLGhvdmVyZWQ6ImhvdmVyZWQtX3VYalNTUTUifX0sMTc2NDMyKGUpe2UuZXhwb3J0cz17c3RhdGVUaXRsZToic3RhdGVUaXRsZS1ya3ZrRll6MiIsaGlkZGVuOiJoaWRkZW4tcmt2a0ZZejIiLGxvYWRlcjoibG9hZGVyLXJrdmtGWXoyIn19LDQ0NDU1MChlKXtlLmV4cG9ydHM9e2NvbnRhaW5lcjoiY29udGFpbmVyLUpRWjBIS0Q0IixidXR0b246ImJ1dHRvbi1KUVowSEtENCIsdmFsdWU6InZhbHVlLUpRWjBIS0Q0IixhY3Rpb246ImFjdGlvbi1KUVowSEtENCIsaWNvbjoiaWNvbi1KUVowSEtENCJ9fSw1NDEyMTIoZSl7ZS5leHBvcnRzPXttZW51OiJtZW51LVR6ODRvUGVRIn19LDk5NTg1MShlKXtlLmV4cG9ydHM9e2Vtb2ppV3JhcDoiZW1vamlXcmFwLVIyQ1RwbUhyIixlbW9qaToiZW1vamktUjJDVHBtSHIiLHRvb2x0aXBFbW9qaToidG9vbHRpcEVtb2ppLVIyQ1RwbUhyIix0b29sdGlwRW1vamlXcmFwOiJ0b29sdGlwRW1vamlXcmFwLVIyQ1RwbUhyIn19LDg0NDg3MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTZWN0aW9uTGlzdEl0ZW06KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkzNTUzNSksbz1uKDE0NzkwMSkscz1uKDM0NTExNik7ZnVuY3Rpb24gbChlKXtjb25zdHtpZDp0LHRpdGxlOm4sY2hpbGRyZW46bCxpdGVtUm9sZTpyLGFyaWFMYWJlbDpkLHJpZ2h0U2xvdDp1LHJpZ2h0U2xvdEFyaWFMYWJlbGxlZGJ5OmMsZGF0YVFhSWQ6aCxvbkNsaWNrOnYsb25LZXlEb3duOm0saXNXcmFwcGVkOnAsLi4uZn09ZSxnPSgwLHMuZmlsdGVyQ2hlY2tlZERhdGFQcm9wcykoZiksYj0oMCxhLnVzZUlkKSgpLHc9KDAsYS51c2VJZCkoKSxDPXZvaWQgMCE9PW47cmV0dXJuIGEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsQyYmYS5jcmVhdGVFbGVtZW50KGkuVGl0bGVMaXN0SXRlbSx7ZGF0YVFhSWQ6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi10aXRsZWAsaCksaWQ6dCx0aXRsZTpuLHJvbGU6cixyaWdodFNsb3Q6dSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpjLGFyaWFMYWJlbDpkLHZhcmlhbnQ6InNlY29uZGFyeSIsYXJpYUNvbnRyb2xzOnZvaWQgMCE9PXA/dzp2b2lkIDAsdGl0bGVJZDpiLHdyYXBwZWQ6cCxvbkNsaWNrOnYsb25LZXlEb3duOm0sLi4uZ30pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLCJhcmlhLWxhYmVsbGVkYnkiOmIsaWQ6dywiZGF0YS1xYS1pZCI6KDAsby5jb25jYXRJZk5vdE51bGwpKGAke28uVUlfTElCX0RBVEFfUUFfSURfUFJFRklYfWxpc3Qtc2VjdGlvbi1jb250ZW50YCxoKX0sIXAmJmwpKX19LDQyMjc3NyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VIb3Jpem9udGFsTWVudUtleWJvYXJkTmF2aWdhdGlvbjooKT0+ZH0pO3ZhciBhPW4oOTg4MDY4KSxpPW4oNDQ1NDkzKSxvPW4oODA3ODczKSxzPW4oMjg0NjkwKTtjb25zdCBsPWBbJHthLkRBVEFfSVNfQ09OVEVYVF9BQ1RJT059XWAscj1vLkNPTlRFWFRfQUNUSU9OX0ZPQ1VTQUJMRV9UQUdTLm1hcCgoZT0+YCR7bH0gJHtlfWApKS5qb2luKCIsIiksZD0oKT0+e2NvbnN0e2lzUnRsOmV9PSgwLGkudXNlUG9wb3ZlckNvbnRleHQpKCk7cmV0dXJuKDAscy5nZXRMaW5lYXJLZXlib2FyZE5hdmlnYXRpb24pKHIrYCxbJHthLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTn1dYCx7aG9yaXpvbnRhbDohMCxpc1J0bDplLGFsbG93TmVzdGVkRm9jdXNhYmxlOiEwfSl9fSw4MDc4NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q09OVEVYVF9BQ1RJT05fRk9DVVNBQkxFX1RBR1M6KCk9PmMsQ29udGV4dEFjdGlvbjooKT0+dn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oMjk2Nzg2KSxsPW4oOTg4MDY4KSxyPW4oODY0NzM2KSxkPW4ubihyKTtjb25zdCB1PXsKW2wuREFUQV9JU19DT05URVhUX0FDVElPTl06ITB9LGM9WyJhW2hyZWZdIiwiYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIiwiaW5wdXQ6bm90KDpkaXNhYmxlZCkiLCdbcm9sZT0iYnV0dG9uIl0nXSxoPWMuam9pbigiLCIpO2Z1bmN0aW9uIHYoZSl7Y29uc3R7Y2hpbGRyZW46dCxkYXRhUWFJZDpuLHByZXZlbnRDbGlja1Byb3BhZ2F0aW9uOmk9ITB9PWUse2lkOmwsaGlkZUNvbnRleHRBY3Rpb25zSWZOb0hvdmVyOnIsZm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpjLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6dn09KDAscy51c2VDb250ZXh0QWN0aW9uKSgpLG09KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGEudXNlRWZmZWN0KSgoKCk9Pntjb25zdCBlPW0uY3VycmVudDtpZighZSlyZXR1cm47Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoaCk7cmV0dXJuIHQ/ZnVuY3Rpb24oZSx0KXtjb25zdCBuPSgpPT57dCgoZT0+ZSsxKSl9LGE9KCk9Pnt0KChlPT5lLTEpKX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsYSksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLGEpfX0odCx2KTp2b2lkIDB9KSxbdCx2XSksYS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Li4udSxpZDpsLHJlZjptLG9uQ2xpY2s6ZT0+e2kmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzTmFtZTpvKCkoZCgpLmNvbnRleHRBY3Rpb25zLHImJmQoKS5oaWRlSWZOb0hvdmVyLGM+MCYmZCgpLnNvbWVDb250ZXh0QWN0aW9uRm9jdXNlZCksImRhdGEtcWEtaWQiOm59LHQpfX0sMjk2Nzg2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZUNvbnRleHRBY3Rpb246KCk9PnMsdXNlV3JhcHBlZEludG9Db250ZXh0QWN0aW9uc0NvbnRleHQ6KCk9Pm99KTt2YXIgYT1uKDc3OTQ3NCk7Y29uc3QgaT0oMCxhLmNyZWF0ZUNvbnRleHQpKHtzZXRJZHM6KCk9Pnt9LGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3ZlcjohMSxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOjAsc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjooKT0+e319KTtmdW5jdGlvbiBvKGUsdCxuKXtjb25zdFtvLHNdPSgwLGEudXNlU3RhdGUpKDApLGw9KDAsYS51c2VNZW1vKSgoKCk9Pih7Zm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvLHNldEZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6cyxzZXRJZHM6dCxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6ISFufSkpLFtvLHMsdCxuXSk7cmV0dXJuKDAsYS51c2VNZW1vKSgoKCk9PmU/YS5jcmVhdGVFbGVtZW50KGkuUHJvdmlkZXIse3ZhbHVlOmx9LGUpOnZvaWQgMCksW2UsbF0pfWZ1bmN0aW9uIHMoKXtjb25zdHtzZXRJZHM6ZSxoaWRlQ29udGV4dEFjdGlvbnNJZk5vSG92ZXI6dCxmb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm4sc2V0Rm9jdXNlZENvbnRleHRBY3Rpb25zQ291bnRlcjpvfT0oMCxhLnVzZUNvbnRleHQpKGkpLHM9KDAsYS51c2VJZCkoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCgpPT4oZSgoZT0+Wy4uLmUsc10pKSwoKT0+e2UoKGU9PmUuZmlsdGVyKChlPT5lIT09cykpKSl9KSksW2Usc10pLHtpZDpzLGhpZGVDb250ZXh0QWN0aW9uc0lmTm9Ib3Zlcjp0LGZvY3VzZWRDb250ZXh0QWN0aW9uc0NvdW50ZXI6bixzZXRGb2N1c2VkQ29udGV4dEFjdGlvbnNDb3VudGVyOm99fX0sMzkxOTE0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NlY3Rpb25Qb3BvdmVySXRlbTooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDQ1NDkzKSxvPW4oODQ0ODcxKSxzPW4oOTg4MDY4KSxsPW4oNDIyNzc3KTtmdW5jdGlvbiByKGUpe2NvbnN0e2lkOnQsdGl0bGU6bixjaGlsZHJlbjpyLGl0ZW1Sb2xlOmQsd3JhcHBhYmxlOnUsZGVmYXVsdFdyYXBwZWQ6YyxvbldyYXBwZWRDaGFuZ2VkOmgsYXJpYUxhYmVsOnYscmlnaHRTbG90Om0scmlnaHRTbG90QXJpYUxhYmVsbGVkYnk6cCxkYXRhUWFJZDpmfT1lLFtnLGJdPSgwLGEudXNlU3RhdGUpKGM/PyExKSx7b25LZXlEb3duOnd9PSgwLGwudXNlSG9yaXpvbnRhbE1lbnVLZXlib2FyZE5hdmlnYXRpb24pKCksQz1ufHx2b2lkIDAse29uUG9wb3ZlckNvbnRlbnRSZXNpemU6X309KDAsaS51c2VQb3BvdmVyQ29udGV4dCkoKTsoMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Xz8uKCl9KSxbXyxnXSk7Y29uc3QgeT0oMCxhLnVzZUNhbGxiYWNrKSgoKCk9PntiKChlPT57Y29uc3QgdD0hZTtyZXR1cm4gaD8uKHQpLHR9KSl9KSxbaF0pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudChvLlNlY3Rpb25MaXN0SXRlbSx7aWQ6dCx0aXRsZTpDLGNoaWxkcmVuOnIsaXRlbVJvbGU6ZCxhcmlhTGFiZWw6dixyaWdodFNsb3Q6bSxyaWdodFNsb3RBcmlhTGFiZWxsZWRieTpwLGRhdGFRYUlkOmYsaXNXcmFwcGVkOnU/Zzp2b2lkIDAsb25DbGljazp1P3k6dm9pZCAwLG9uS2V5RG93bjp3LFtzLkRBVEFfSVNfUE9QT1ZFUl9JVEVNX0JVVFRPTl06dXx8bT8idHJ1ZSI6dm9pZCAwfSkpfX0sOTIwNjMxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dEZXJpdmF0aXZlc0RpYWxvZzooKT0+aX0pO3ZhciBhPW4oODkwODM1KTtmdW5jdGlvbiBpKGUpe2EuY3VycmVudExheW91dC52YWx1ZSgpPy5zaG93QW5hbHlzaXNWaWV3KCJkZXJpdmF0aXZlcyIsZSl9fSw5MTYxMjEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0U3R1ZHlQYWNrYWdlTmFtZTooKT0+b30pO3ZhciBhPW4oNzkxNDI3KSxpPW4oNjMyNDQ0KTtmdW5jdGlvbiBvKGUsdCl7aWYodD8uaXNDaGFydFBhdHRlcm4pcmV0dXJuInR2LWNoYXJ0X3BhdHRlcm5zIjtpZih0Py5pc0F1dG8pcmV0dXJuImF1dG8tc3RhbmRhcmQiO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4oMCxpLmlzUGluZUlkU3RyaW5nKShlKX0oZSkpcmV0dXJuIGEuU3R1ZHlNZXRhSW5mby5nZXRQYWNrYWdlTmFtZShlKTtjb25zdCBuPSgwLGkuZXh0cmFjdFBpbmVJZCkoZSk7aWYobiYmKDAsCmkuaXNDdXN0b21QaW5lSWQpKG4pKXJldHVybiJTY3JpcHQkVVNFUiI7aWYobiYmKDAsaS5pc1B1Ymxpc2hlZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRQVUIiO2lmKG4mJigwLGkuaXNDYW5kbGVTdGlja0lkKShuKSlyZXR1cm4iY2FuZGxlc3RpY2stcGF0dGVybnMiO2lmKG4mJigwLGkuaXNTdGFuZGFyZFBpbmVJZCkobikpcmV0dXJuIlNjcmlwdCRTVEQiO2NvbnN0W29dPWUuc3BsaXQoIkAiKTtpZihvLmluY2x1ZGVzKCJfIikpe2NvbnN0IGU9IlNjcmlwdCQiLFt0XT1vLnNwbGl0KCJfIik7cmV0dXJuIHQuaW5jbHVkZXMoZSk/dDplK3R9cmV0dXJuIG99fSw4NDE2NTUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3ltYm9sU2VhcmNoRGlhbG9nRm9vdGVyOigpPT5sfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big5MDQ0MzQpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY2hpbGRyZW46bn09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bygpKHMuZm9vdGVyLHQpfSxuKX19LDMzMDcyMShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRSZXN0cmljdGVkVG9vbFNldDooKT0+RWl9KTt2YXIgYT1uKDkzMDIzMSksaT1uKDc3OTQ3NCksbz1uKDIyMTg5Nikscz1uKDkxNDQ4NyksbD1uLm4ocykscj1uKDI3MzMxMCksZD1uKDczMjczMSksdT1uKDE4NTI3MSksYz1uKDIyNTI5OCksaD1uKDc5ODM4KSx2PW4oMjY3MDI4KSxtPW4oNzcxMjg1KSxwPW4oODY0NjgxKSxmPW4oMjQ2NzI3KTtjbGFzcyBnIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSxvbkNsaWNrQXJnOnR9PXRoaXMucHJvcHM7ZSYmZSh0KX19cmVuZGVyKCl7Y29uc3R7Y2xhc3NOYW1lOmUsaWNvbjp0LGhpbnQ6bix0ZXh0OmEsaXNEaXNhYmxlZDpvLGlzQWN0aXZlOnMsb25DbGljazpsLG9uQ2xpY2tBcmc6ciwuLi5kfT10aGlzLnByb3BzO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHsuLi5kLGljb246dCx0ZXh0OmEsdG9vbHRpcDpuLGlzRGlzYWJsZWQ6byxpc0FjdGl2ZTpzLGlzR3JvdXBlZDohMCxvbkNsaWNrOnRoaXMuX2hhbmRsZUNsaWNrLGNsYXNzTmFtZTplfSl9fXZhciBiPW4oNjE4NjcyKSx3PW4oNDA2MTEwKSxDPW4oNjA5NTI4KSxfPW4oMzkxNTA0KSx5PW4oNTY5NjUyKSxTPW4oNzAxNTA2KSx4PW4oMTI4OTk4KSxFPW4oODMzOTAzKSxNPW4oMjM1NzI0KSxrPW4oOTgzNjE2KSxJPW4oNjgyMzgxKTtmdW5jdGlvbiBUKGUpe2NvbnN0e29yaWVudGF0aW9uOnQsb25LZXlEb3duOm4sLi4uYX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5hLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLW9yaWVudGF0aW9uIjp0LG9uS2V5RG93bjooMCxFLmNyZWF0ZVNhZmVNdWx0aWNhc3RFdmVudEhhbmRsZXIpKChmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2lmKCEoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbj0oMCxNLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCJ2ZXJ0aWNhbCIhPT10JiYzOCE9PW4mJjQwIT09bilyZXR1cm47aWYoInZlcnRpY2FsIj09PXQmJjM3IT09biYmMzkhPT1uKXJldHVybjtjb25zdCBhPShpPWUuY3VycmVudFRhcmdldCxBcnJheS5mcm9tKGkucXVlcnlTZWxlY3RvckFsbCgnW3JvbGU9InJhZGlvIl06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxJLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShpKSkpLnNvcnQoay5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTt2YXIgaTtpZigwPT09YS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89YS5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO2lmKC0xPT09bylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9KCk9Pntjb25zdCBlPShvK2EubGVuZ3RoLTEpJWEubGVuZ3RoO2Fbb10uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDpzZWNvbmRhcnktZWxlbWVudCIpKSxhW2VdLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3ZpbmctdGFiaW5kZXg6bWFpbi1lbGVtZW50IikpLGFbZV0uZm9jdXMoKX0sbD0oKT0+e2NvbnN0IGU9KG8rYS5sZW5ndGgrMSklYS5sZW5ndGg7YVtvXS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicm92aW5nLXRhYmluZGV4OnNlY29uZGFyeS1lbGVtZW50IikpLGFbZV0uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdmluZy10YWJpbmRleDptYWluLWVsZW1lbnQiKSksYVtlXS5mb2N1cygpfTtzd2l0Y2gobil7Y2FzZSAzODoidmVydGljYWwiIT09dCYmcygpO2JyZWFrO2Nhc2UgNDA6InZlcnRpY2FsIiE9PXQmJmwoKTticmVhaztjYXNlIDM3OiJ2ZXJ0aWNhbCI9PT10JiZzKCk7YnJlYWs7Y2FzZSAzOToidmVydGljYWwiPT09dCYmbCgpfX0pLG4pfSl9dmFyIEE9big4NTAxMDgpLEg9big2MTkxMDUpLFY9big2Mzg4NzIpLFI9bigzMTMxMTApLEY9big5Nzk3NDIpLEw9bigxMDMxNjApLFo9big1OTA0ODYpLE49bigyMzQ2MzYpLHo9big3MDM4MTQpLEI9big1NDA1OTUpO2Z1bmN0aW9uIE8oZSl7Y29uc3R7aWQ6dCxpY29uOm4sbmFtZTphLGlzQmV0YVN0eWxlOm8saXNOZXdTdHlsZTpzLGlzU2VsZWN0ZWQ6bCxpc0Rpc2FibGVkOnIsaXNGYXZvcml0ZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxvbkNsaWNrOmMsb25DbGlja0Zhdm9yaXRlOnYsLi4ubX09ZSxwPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLGY9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5jKHQpKSxbYyx0XSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi5tLHJvbGU6InJvdyIsYXJpYUxldmVsOjEsc2l6ZToibGFyZ2UiLGFyaWFTZWxlY3RlZDpsLHNlbGVjdGVkOmwsZGlzYWJsZWQ6cixhcmlhTGFiZWw6YSxvbkNsaWNrOmYsCmxlZnRTbG90Om4/aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzpufSk6bnVsbCxyaWdodFNsb3Q6W3UmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWQscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFkLG9uQ2xpY2s6cH0pKV0sdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6dT8yOjMsY2xhc3NOYW1lOkIubGFiZWx9LGEsbyYmaS5jcmVhdGVFbGVtZW50KFouQmFkZ2Use2NsYXNzTmFtZTpCLmJldGFCYWRnZSxzaXplOk4uQmFkZ2VTaXplLlhTbWFsbH0sIkJFVEEiKSxzJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksImRhdGEtdmFsdWUiOmguU1RZTEVfU0hPUlRfTkFNRVNbdF0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixkYXRhUWFJZDoiY2hhcnQtc3R5bGUtbWVudS1pdGVtIn0pfXZhciBEPW4oMjE2MDgzKTtjb25zdCBXPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBQKGUpe3JldHVybiFjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudmFsdWUoKT8uaW5jbHVkZXMoZSl9Y29uc3QgVT0iSVRFTVNfRElWSURFUiIsaj1bWzAsMSw5LDE5LDIxXSxbMiwxNCwxNV0sWzMsMTYsMTBdLFsxMywxMl0sWzE3LDE4LDIwXSxbOCw0LDcsNSw2LDExXV0sSz1uZXcgU2V0KFtdKSxRPW5ldyBTZXQoW10pO2NsYXNzIHEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUNoYW5nZVN0eWxlPWU9Pntjb25zdHtmYXZvcml0ZXM6dCxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTpuLGFjdGl2ZVN0eWxlOmF9PXRoaXMuc3RhdGU7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlU3R5bGU6ZSxsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp0LmluY2x1ZGVzKGEpP246YX0pfSx0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZT1lPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dDtlIT09dC5hY3RpdmVDaGFydFN0eWxlLnZhbHVlKCkmJnQuc2V0Q2hhcnRTdHlsZVRvV2lkZ2V0KGUpfSx0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlPWU9Pnt0aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpP3RoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpOnRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlKGUpfSx0aGlzLl9ib3VuZEZvcmNlVXBkYXRlPSgpPT57dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9oYW5kbGVRdWlja0NsaWNrPWU9Pnt0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZShlKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOmF9PXQsaT1uLmFjdGl2ZUNoYXJ0U3R5bGUudmFsdWUoKSxzPWEuZ2V0KCksbD1uZXcgU2V0KCgwLFMuYWxsQ2hhcnRTdHlsZXMpKCkpO3RoaXMuc3RhdGU9e2FjdGl2ZVN0eWxlOmksZmF2b3JpdGVzOnMsc3R5bGVzOmoucmVkdWNlKCgoZSx0KT0+e2NvbnN0IG49dC5maWx0ZXIoKGU9PmwuaGFzKGUpKSk7cmV0dXJuIG4ubGVuZ3RoJiYoZS5sZW5ndGgmJm4udW5zaGlmdChVKSxlLnB1c2goLi4ubikpLGV9KSxbXSl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6dH09dGhpcy5jb250ZXh0O2UuYWN0aXZlQ2hhcnRTdHlsZS5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VTZXR0aW5ncyksYy5saW5raW5nLnN1cHBvcnRlZENoYXJ0U3R5bGVzLnN1YnNjcmliZSh0aGlzLl9ib3VuZEZvcmNlVXBkYXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplLGZhdm9yaXRlQ2hhcnRTdHlsZXNTZXJ2aWNlOnR9PXRoaXMuY29udGV4dDtlLmFjdGl2ZUNoYXJ0U3R5bGUudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlU3R5bGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZVNldHRpbmdzKSxjLmxpbmtpbmcuc3VwcG9ydGVkQ2hhcnRTdHlsZXMudW5zdWJzY3JpYmUodGhpcy5fYm91bmRGb3JjZVVwZGF0ZSl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGRpc3BsYXlNb2RlOnQ9ImZ1bGwiLGlkOm99PXRoaXMucHJvcHMse2FjdGl2ZVN0eWxlOnMsZmF2b3JpdGVzOmQsc3R5bGVzOmMsbGFzdFNlbGVjdGVkTm90RmF2b3JpdGU6Zn09dGhpcy5zdGF0ZSxiPSJzbWFsbCIhPT10JiZlJiYwIT09ZC5sZW5ndGgsXz1bLi4uZF07Xy5pbmNsdWRlcyhzKT92b2lkIDAhPT1mJiZfLnB1c2goZik6Xy5wdXNoKHMpO2NvbnN0IHk9YiYmXy5sZW5ndGg+MTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHcuTWF0Y2hNZWRpYSx7cnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwoZT0+e2NvbnN0IHQ9Yy5tYXAoKCh0LG4pPT50PT09VT90aGlzLl9yZW5kZXJEaXZpZGVyKGBzZXBhcmF0b3ItJHtufWApOnRoaXMuX3JlbmRlclBvcHVwTWVudUl0ZW0odCx0PT09cyxlKSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7aWQ6b30seSYmaS5jcmVhdGVFbGVtZW50KFQse29yaWVudGF0aW9uOiJob3Jpem9udGFsIixjbGFzc05hbWU6Qi5ncm91cH0sXy5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoZyx7cm9sZToicmFkaW8iLGNsYXNzTmFtZTpCLmJ1dHRvbixpY29uOnYuU0VSSUVTX0lDT05TW2VdLCJhcmlhLWNoZWNrZWQiOmImJnM9PT1lLGlzQWN0aXZlOmImJnM9PT1lLGlzRGlzYWJsZWQ6UChlKSxrZXk6dCxoaW50OigwLAp4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksb25DbGljazpiP3RoaXMuX2hhbmRsZVF1aWNrQ2xpY2s6dm9pZCAwLG9uQ2xpY2tBcmc6ZSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pKSkpLGkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHthcnJvdzpCb29sZWFuKHkpLGNvbnRlbnQ6eT92b2lkIDA6aS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtpY29uOnYuU0VSSUVTX0lDT05TW3NdfSkpLHRvb2x0aXA6eT91LnQobnVsbCx2b2lkIDAsbig4MzM5MzQpKTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkocyksY2xhc3NOYW1lOkIubWVudSxpc0RyYXdlcjplLG9uQ2xpY2s6dGhpcy5fdHJhY2tDbGljayxlbmFibGVTY3JvbGxDb21wZW5zYXRpb246KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpLG1lbnVSb2xlOiJ0cmVlZ3JpZCJ9LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShCLmNvbnRhaW5lciwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkIubmV3VmlldywhZSYmQi5kZXNrdG9wKX0sdCkpKX0pKX1fcmVuZGVyRGl2aWRlcihlKXtyZXR1cm4oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIik/aS5jcmVhdGVFbGVtZW50KGQuRGl2aWRlckxpc3RJdGVtLHtrZXk6ZSxyb2xlOiJzZXBhcmF0b3IifSk6aS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtrZXk6ZX0pfV9yZW5kZXJQb3B1cE1lbnVJdGVtKGUsdCxuKXtjb25zdHtpc0Zhdm9yaXRpbmdBbGxvd2VkOm99PXRoaXMucHJvcHMscz10aGlzLl9pc1N0eWxlRmF2b3JpdGVkKGUpO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoTyx7a2V5OmBjaGFydC10eXBlLSR7ZX1gLGlkOmUsbmFtZTooMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSksaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0Rpc2FibGVkOlAoZSksaXNTZWxlY3RlZDp0LGlzRmF2b3JpdGU6cyxpc0JldGFTdHlsZTpRLmhhcyhlKSxpc05ld1N0eWxlOksuaGFzKGUpLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxvbkNsaWNrOnRoaXMuX2hhbmRsZVNlbGVjdFN0eWxlLG9uQ2xpY2tGYXZvcml0ZTp0aGlzLl9oYW5kbGVDbGlja0Zhdm9yaXRlLCJhcmlhLXNlbGVjdGVkIjp0fSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6YGNoYXJ0LXR5cGUtJHtlfWAscm9sZToicm93Iix0aGVtZTpuP18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsaWNvbjp2LlNFUklFU19JQ09OU1tlXSxpc0FjdGl2ZTp0LCJhcmlhLXNlbGVjdGVkIjp0LGlzRGlzYWJsZWQ6UChlKSxsYWJlbDppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpCLmxhYmVsfSwoMCx4LmdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZSkoZSl8fCIiLFEuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoWi5CYWRnZSx7Y2xhc3NOYW1lOkIuYmV0YUJhZGdlLHNpemU6Ti5CYWRnZVNpemUuWFNtYWxsfSwiQkVUQSIpLEsuaGFzKGUpJiZpLmNyZWF0ZUVsZW1lbnQoei5CYWRnZU5ldyx7Y2xhc3NOYW1lOkIubmV3QmFkZ2V9KSksb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RTdHlsZSxvbkNsaWNrQXJnOmUsc2hvd1Rvb2xib3hPbkhvdmVyOiFzLHNob3dUb29sYm94T25Gb2N1czohMCx0b29sYm94Om8mJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7aXNBY3RpdmU6dCxpc0ZpbGxlZDpzLG9uQ2xpY2s6KCk9PnRoaXMuX2hhbmRsZUNsaWNrRmF2b3JpdGUoZSl9KSwiZGF0YS12YWx1ZSI6aC5TVFlMRV9TSE9SVF9OQU1FU1tlXX0pfV9oYW5kbGVDaGFuZ2VTZXR0aW5ncyhlKXt0aGlzLnNldFN0YXRlKHtsYXN0U2VsZWN0ZWROb3RGYXZvcml0ZTp2b2lkIDAsZmF2b3JpdGVzOmV9KX1faXNTdHlsZUZhdm9yaXRlZChlKXtyZXR1cm4tMSE9PXRoaXMuc3RhdGUuZmF2b3JpdGVzLmluZGV4T2YoZSl9X2hhbmRsZUFkZEZhdm9yaXRlKGUpe2NvbnN0e2Zhdm9yaXRlczp0fT10aGlzLnN0YXRlLHtmYXZvcml0ZUNoYXJ0U3R5bGVzU2VydmljZTpufT10aGlzLmNvbnRleHQ7bi5zZXQoWy4uLnQsZV0pfV9oYW5kbGVSZW1vdmVGYXZvcml0ZShlKXtjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZSx7ZmF2b3JpdGVDaGFydFN0eWxlc1NlcnZpY2U6bn09dGhpcy5jb250ZXh0O24uc2V0KHQuZmlsdGVyKCh0PT50IT09ZSkpKX1fdHJhY2tDbGljaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY2hhcnQgc3R5bGUiKX19cS5jb250ZXh0VHlwZT1XO3ZhciAkPW4oMTg2MDk3KSxYPW4oMzg2OTMxKSxHPW4oODQ4OTg4KSxKPW4oNzY1Njk1KTtjb25zdCBZPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBlZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzQWN0aXZlOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwiY29tcGFyZSIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiY29tcGFyZSIpLHRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8uc2hvdyh7c2hvdWxkUmV0dXJuRm9jdXM6KDAsRy5pc0tleWJvYXJkQ2xpY2spKGUpfSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWR9KSx0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMX0sCnRoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmdldENvbXBhcmVEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fY29tcGFyZURpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX2NvbXBhcmVEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc0FjdGl2ZTplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpKLGlzT3BlbmVkOmUsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjb2xsYXBzZVdoZW46WyJmdWxsIiwibWVkaXVtIiwic21hbGwiXSx0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2NvbXBhcmVfc3ltYm9sc190b29sdGlwIn0sbig4NzM4MjApKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KX19ZWUuY29udGV4dFR5cGU9WTt2YXIgdGU9big2ODg2MzIpLG5lPW4oMTM4NjM4KSxhZT1uKDE1MzczNCksaWU9big4NjExODgpLG9lPW4oMzQ1MTUxKSxzZT1uKDYwNTI1NyksbGU9big2ODU5NzkpLHJlPW4oNDEzNDEpLGRlPW4oNjMyNDQ0KTtjb25zdCB1ZT0oMCxuKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiRmF2b3JpdGVzSW5mbyIpO2Z1bmN0aW9uIGNlKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8iKTtjb25zdCB0PVtdLG49bmV3IE1hcCxhPW5ldyBNYXAsaT1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImphdmEiOmkuc2V0KGUuc3R1ZHlJZCxlKTticmVhaztjYXNlInBpbmUiOigwLGRlLmlzUHVibGlzaGVkUGluZUlkKShlLnBpbmVJZCk/bi5zZXQoZS5waW5lSWQsZSk6YS5zZXQoZS5waW5lSWQsZSk7YnJlYWs7ZGVmYXVsdDooMCxuZS5hc3NlcnQpKCExLGB1bmtub3duIGZhdm9yaXRlIHR5cGUgJHtKU09OLnN0cmluZ2lmeShlKX1gKX19KSksMCE9PWkuc2l6ZSYmdC5wdXNoKCgwLHNlLnN0dWR5TWV0YUluZm9SZXBvc2l0b3J5KSgpLmZpbmRBbGxKYXZhU3R1ZGllcygpLnRoZW4oKGU9Pntjb25zdCB0PW5ldyBNYXA7Zm9yKGNvbnN0IG4gb2YgZSkhbi5pc19oaWRkZW5fc3R1ZHkmJmkuaGFzKG4uaWQpJiZ0LnNldChuLmlkLHtuYW1lOm4uZGVzY3JpcHRpb24sbG9jYWxpemVkTmFtZTpuLmRlc2NyaXB0aW9uX2xvY2FsaXplZCxleHRyYTpuLmV4dHJhLHN0dWR5TWFya2V0U2hpdHR5T2JqZWN0Om59KTtyZXR1cm4gdH0pKS50aGVuKChlPT57Y29uc3QgdD1oZShpLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUuc3R1ZHlJZCkpO3VlLmxvZ1dhcm4oYENhbm5vdCBmaW5kIGphdmEgc2NyaXB0czogJHtKU09OLnN0cmluZ2lmeShlKX1gKX1yZXR1cm4gdC5pdGVtc30pKSksdC5wdXNoKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IE1hcDtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxlLmluZm8oZSkucHJvbWlzZSgpKS50aGVuKChlPT57aWYodm9pZCAwIT09ZSlmb3IoY29uc3QgbiBvZiBlKXQuc2V0KG4uc2NyaXB0SWRQYXJ0LHtuYW1lOm4uc2NyaXB0TmFtZSxhZ3JlZUNvdW50Om4uYWdyZWVDb3VudCxhdXRob3JVc2VybmFtZTpuLmF1dGhvci51c2VybmFtZSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDpufSk7cmV0dXJuIHR9KSl9KEFycmF5LmZyb20obi5rZXlzKCkpKS50aGVuKChlPT57Y29uc3QgdD1oZShuLGUpO2lmKDAhPT10Lm5vdEZvdW5kSXRlbXMubGVuZ3RoKXtjb25zdCBlPXQubm90Rm91bmRJdGVtcy5tYXAoKGU9PmUucGluZUlkKSk7dWUubG9nV2FybihgQ2Fubm90IGZpbmQgcHViIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLHQucHVzaChmdW5jdGlvbihlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIG5ldyBQcm9taXNlKChuPT57KGZ1bmN0aW9uKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO3JldHVybiBQcm9taXNlLnJlc29sdmUoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4oMCxkZS5pc1N0YW5kYXJkUGluZUlkKShlKXx8KDAsZGUuaXNDdXN0b21QaW5lSWQpKGUpKSl9KGUpKX0pKGUpLnRoZW4oKGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG4odCk7KDAscmUucmVxdWVzdEluZm9Gb3JTY3JpcHRzKShlKS50aGVuKChhPT57Y29uc3QgaT1uZXcgU2V0KGUpO2Zvcihjb25zdCBlIG9mIGEpaS5oYXMoZS5zY3JpcHRJZFBhcnQpJiZ0LnNldChlLnNjcmlwdElkUGFydCx7bmFtZTplLnNjcmlwdE5hbWUsZXh0cmE6ZS5leHRyYSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDplfSk7bih0KX0pKX0pKX0pKX0oQXJyYXkuZnJvbShhLmtleXMoKSkpLnRoZW4oKGU9Pntjb25zdCB0PWhlKGEsZSk7aWYoMCE9PXQubm90Rm91bmRJdGVtcy5sZW5ndGgpe2NvbnN0IGU9dC5ub3RGb3VuZEl0ZW1zLm1hcCgoZT0+ZS5waW5lSWQpKTt1ZS5sb2dXYXJuKGBDYW5ub3QgZmluZCBwaW5lIHNjcmlwdHM6ICR7SlNPTi5zdHJpbmdpZnkoZSl9YCl9cmV0dXJuIHQuaXRlbXN9KSkpLFByb21pc2UuYWxsKHQpLnRoZW4oKGU9Pih1ZS5sb2dOb3JtYWwoIlJlcXVlc3RpbmcgZmF2b3JpdGVzIGluZm8gZmluaXNoZWQiKSxlLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSkpKSl9ZnVuY3Rpb24gaGUoZSx0KXtjb25zdCBuPXtpdGVtczpbXSxub3RGb3VuZEl0ZW1zOltdfTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2NvbnN0IGk9dC5nZXQoYSk7dm9pZCAwIT09aT9uLml0ZW1zLnB1c2goe2l0ZW06ZSxpbmZvOml9KTpuLm5vdEZvdW5kSXRlbXMucHVzaChlKX0pKSxufQp2YXIgdmU9bigzNjgxMTApLG1lPW4oNjc4Mjg1KSxwZT1uKDE5OTE3MiksZmU9big2NDgwMDkpLGdlPW4oMTc5NzcxKSxiZT1uKDgwMDkxNCksd2U9big5MTYxMjEpLENlPW4oNjU1NTg0KSxfZT1uKDYyMTkyNik7ZnVuY3Rpb24geWUoZSx0LG4peyFmdW5jdGlvbihlLHQsbil7aWYoInR2LXZvbHVtZWJ5cHJpY2UiPT09ZSl7bGV0IGU9IlRWX1ZPTFVNRUJZUFJJQ0UiLGE9InZvbHVtZVByb2ZpbGUiO2NvbnN0W2ldPXQuc3BsaXQoIkAiKTtyZXR1cm5bIlRQT1BlcmlvZGljIiwiVFBPU2Vzc2lvbnMiXS5pbmNsdWRlcyhpKSYmKGU9IlRQT19QRVJJT0RJQyIsYT0iVFBPUGVyaW9kaWMiKSx2b2lkKDAsQ2UucnVuT3JHb1BybykobixlLHtmZWF0dXJlOmF9KX0idHYtY2hhcnRwYXR0ZXJucyIhPT1lPyJ0di1jaGFydF9wYXR0ZXJucyIhPT1lPygwLF9lLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKG4se3NvdXJjZToic3R1ZHktbWFya2V0LWFwcGx5LXN0dWR5IixmZWF0dXJlOiJpbmRpY2F0b3JzIn0pOigwLENlLnJ1bk9yR29Qcm8pKG4sIkNIQVJUX1BBVFRFUk5TIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KTooMCxDZS5ydW5PckdvUHJvKShuLCJUVl9QUk9TVFVESUVTIix7ZmVhdHVyZToiY2hhcnRQYXR0ZXJucyJ9KX0oKDAsd2UuZ2V0U3R1ZHlQYWNrYWdlTmFtZSkoZSx0KSxlLG4pfXZhciBTZT1uKDMxMzgyMikseGU9bigyNTYzMTQpO2Z1bmN0aW9uIEVlKGUpe2xldCB0PXUudChlLnNjcmlwdE5hbWV8fCIiLHtjb250ZXh0OiJzdHVkeSJ9LG4oODg0NjkzKSk7Y29uc3QgYT1lLmV4dHJhLmZpbmFuY2lhbFBlcmlvZDtyZXR1cm4gYSYmISgwLHhlLmlzTm9BZ2dyZWdhdGVkRmluYW5jaWFsUGVyaW9kKShhKSYmKHQrPWAgwrcgJHsoMCx4ZS5maW5hbmNpYWxQZXJpb2RUb1N0cmluZykoYSl9YCksdH1uKDExMzc4NCk7dmFyIE1lPW4oODQ2NzQ5KSxrZT1uKDg4OTgwOSk7Y29uc3QgSWU9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbIi8iXSx0ZXh0OiJ7MH0ifSksVGU9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEFlIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9wcm9taXNlPW51bGwsdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lcj1pLmNyZWF0ZVJlZigpLHRoaXMuX2Zhdm9yaXRlRnVuZGFtZW50YWxzTW9kZWw9U2UuRmF2b3JpdGVGdW5kYW1lbnRhbHMuZ2V0SW5zdGFuY2UoKSx0aGlzLl9zZXRBY3RpdmVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ZX0pfSx0aGlzLl9yZW5kZXJGYXZvcml0ZXNMaXN0T3JFbXB0eVN0YXRlPShlLHQsYSk9Pntjb25zdCBvPXRoaXMuX3JlbmRlckZhdm9yaXRlc0NvbnRlbnQoZSx0LGEpO2lmKCF0KXJldHVybiBvO2lmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IHM9dS50KG51bGwse2NvbnRleHQ6ImluZGljYXRvcnNfbWVudSJ9LG4oNjI5Mzg0KSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChiZS5TZWN0aW9uTGlzdEl0ZW0se2tleToiZmF2b3JpdGUtaW5kaWNhdG9ycy1zZWN0aW9uIix0aXRsZTpzLGFyaWFMYWJlbDpzLGdyb3VwUm9sZToiZ3JvdXAifSxvKX0sdGhpcy5fcmVuZGVyRmF2b3JpdGVzQ29udGVudD0oZSx0LGEpPT57aWYoYSlyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGZlLlRvb2xXaWRnZXRNZW51U3Bpbm5lcixudWxsKTtpZih0aGlzLnN0YXRlLmluZm9zLmxlbmd0aD4wKXJldHVybiB0aGlzLnN0YXRlLmluZm9zLm1hcCgobj0+dGhpcy5fcmVuZGVyRmF2b3JpdGVJdGVtKG4sZSx0KSkpO2lmKG51bGwhPT10aGlzLl9wcm9taXNlKXtjb25zdCBlPXUudChudWxsLHtjb250ZXh0OiJpbmRpY2F0b3JzX21lbnUifSxuKDQzNDA3NikpO3JldHVybiB0P2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtkaXNhYmxlZDohMCx0aXRsZTplfSk6aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2lzRGlzYWJsZWQ6ITAsbGFiZWw6ZX0pfXJldHVybiBudWxsfSx0aGlzLl9yZW5kZXJGYXZvcml0ZUl0ZW09KGUsdCxuKT0+e2NvbnN0IGE9ImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxvPUhlKGUpLHM9aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmwoKSghdCYma2UubGFiZWwsdCYma2Uuc21hbGxXaWR0aExhYmVsLCJhcHBseS1vdmVyZmxvdy10b29sdGlwIil9LG8pO3JldHVybiBuP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHtrZXk6YSxyb2xlOiJtZW51aXRlbSIsb25DbGljazooKT0+dGhpcy5faGFuZGxlU2VsZWN0SW5kaWNhdG9yKGUpLHRpdGxlOm8sYXJpYUxhYmVsOm8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohdH0pOmkuY3JlYXRlRWxlbWVudChBLkFjY2Vzc2libGVNZW51SXRlbSx7cm9sZToibWVudWl0ZW0iLGNsYXNzTmFtZTpsKCkodCYma2Uuc21hbGxXaWR0aE1lbnVJdGVtKSx0aGVtZTp0P18ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTp2b2lkIDAsa2V5OmEsb25DbGljazp0aGlzLl9oYW5kbGVTZWxlY3RJbmRpY2F0b3Isb25DbGlja0FyZzplLGxhYmVsOnN9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e3N0dWR5TWFya2V0OnR9PXRoaXMucHJvcHM7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6ITB9LCgoKT0+e3QudmlzaWJsZSgpLnZhbHVlKCk/dC5oaWRlKCk6dC5zaG93KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0pKSx0aGlzLl90cmFja0NsaWNrKCl9LHRoaXMuX2hhbmRsZVNlbGVjdEluZGljYXRvcj1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJGYXZvcml0ZSBpbmRpY2F0b3IgZnJvbSB0b29sYmFyIik7eWUoImphdmEiPT09ZS5pdGVtLnR5cGU/ZS5pdGVtLnN0dWR5SWQ6ZS5pdGVtLnBpbmVJZCxlLmluZm8uZXh0cmEsKGFzeW5jKCk9PntlPSgwLG5lLmVuc3VyZURlZmluZWQpKGUpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQKO2lmKCJqYXZhIj09PWUuaXRlbS50eXBlKXtjb25zdCB0PSgwLHZlLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkoZS5pdGVtLnN0dWR5SWQpO2lmKG51bGwhPT10KXJldHVybiBhd2FpdCgwLHZlLmluaXRMaW5lVG9vbCkodCksdm9pZCBtZS50b29sLnNldFZhbHVlKHQpfXQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5pbnNlcnRTdHVkeShlLml0ZW0sW10se2V2ZW50U291cmNlOiJ0b29sYmFyX2Zhdm9yaXRlcyJ9KX0pKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVJbmRpY2F0b3JzQ2hhbmdlPSgpPT57Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6ZX09dGhpcy5jb250ZXh0LHQ9Wy4uLigwLG5lLmVuc3VyZURlZmluZWQpKGUpLmZhdm9yaXRlcygpXTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZXM6dH0pLHRoaXMuX2NsZWFyQ2FjaGUoKX0sdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2U9KCk9Pntjb25zdCBlPW5ldyBTZXQodGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzKCl8fFtdKTt0aGlzLnNldFN0YXRlKHtmYXZvcml0ZUZ1bmRhbWVudGFsczplfSksdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVNb3VzZUVudGVyPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlV3JhcENsaWNrPSgpPT57dGhpcy5fcHJlZmV0Y2hGYXZvcml0ZXMoKX0sdGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0PSgpPT57dGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9jbGVhckNhY2hlPSgpPT57dGhpcy5fcHJvbWlzZT1udWxsLHRoaXMuc2V0U3RhdGUoe2luZm9zOltdfSl9LHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQ9ZT0+e2NvbnN0e2Zhdm9yaXRlU2NyaXB0c01vZGVsOnR9PXRoaXMuY29udGV4dDt2b2lkIDAhPT10JiZ0LmlzRmF2KGUuc2NyaXB0SWRQYXJ0KSYmdGhpcy5fY2xlYXJDYWNoZSgpfSx0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaz0oKT0+e3RoaXMuX3RyYWNrQ2xpY2soKSx0aGlzLl90cmFja0Zhdm9yaXRlQWN0aW9uKCJTZWxlY3QgZmF2b3JpdGUgaW5kaWNhdG9ycyBkcm9wZG93biIpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2Zhdm9yaXRlU2NyaXB0c01vZGVsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6YX09dCxzPXZvaWQgMCE9PWE/YS5mYXZvcml0ZXMoKTpbXTt0aGlzLnN0YXRlPXtpc0FjdGl2ZTohMSxpc0xvYWRpbmc6ITEsZmF2b3JpdGVzOnMsZmF2b3JpdGVGdW5kYW1lbnRhbHM6bmV3IFNldCh0aGlzLl9mYXZvcml0ZUZ1bmRhbWVudGFsc01vZGVsPy5mYXZvcml0ZXMoKSksaW5mb3M6W119fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl9zZXRBY3RpdmVTdGF0ZSksdm9pZCAwIT09dCYmKHQuZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlSW5kaWNhdG9yc0NoYW5nZSksbi5hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUZhdm9yaXRlRnVuZGFtZW50YWxzQ2hhbmdlKSxnZS5vbigiVFZTY3JpcHRSZW5hbWVkIix0aGlzLl9oYW5kbGVTY3JpcHRSZW5hbWVkLG51bGwpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7c3R1ZHlNYXJrZXQ6ZX09dGhpcy5wcm9wcyx7ZmF2b3JpdGVTY3JpcHRzTW9kZWw6dCxjaGFydFdpZGdldENvbGxlY3Rpb246bn09dGhpcy5jb250ZXh0O2UudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3NldEFjdGl2ZVN0YXRlKSx2b2lkIDAhPT10JiYodC5mYXZvcml0ZXNDaGFuZ2VkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVGYXZvcml0ZUluZGljYXRvcnNDaGFuZ2UpLG4uYWN0aXZlQ2hhcnRXaWRnZXQudW5zdWJzY3JpYmUodGhpcy5faGFuZGxlQ2hhbmdlQWN0aXZlV2lkZ2V0KSksdGhpcy5fZmF2b3JpdGVGdW5kYW1lbnRhbHNNb2RlbD8uZmF2b3JpdGVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlRmF2b3JpdGVGdW5kYW1lbnRhbHNDaGFuZ2UpLGdlLnVuc3Vic2NyaWJlKCJUVlNjcmlwdFJlbmFtZWQiLHRoaXMuX2hhbmRsZVNjcmlwdFJlbmFtZWQsbnVsbCksdGhpcy5fcHJvbWlzZT1udWxsfXJlbmRlcigpe2NvbnN0e2lzQWN0aXZlOmUsZmF2b3JpdGVzOnQsZmF2b3JpdGVGdW5kYW1lbnRhbHM6byxpc0xvYWRpbmc6c309dGhpcy5zdGF0ZSx7Y2xhc3NOYW1lOnIsZGlzcGxheU1vZGU6ZCxpZDpjfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aH09dGhpcy5jb250ZXh0LHY9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDpjLG9uTW91c2VFbnRlcjp0aGlzLl9oYW5kbGVNb3VzZUVudGVyLG9uQ2xpY2s6dGhpcy5faGFuZGxlV3JhcENsaWNrfSxpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2Rpc3BsYXlNb2RlOmQsY2xhc3NOYW1lOnIsaWNvbjpNZSxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdGV4dDp1LnQobnVsbCx2b2lkIDAsbig4NDgzOTQpKSwiZGF0YS1yb2xlIjoiYnV0dG9uIiwiZGF0YS1uYW1lIjoib3Blbi1pbmRpY2F0b3JzLWRpYWxvZyIsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbigxNzQ0ODIpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6SWUsY29sbGFwc2VXaGVuOigwLAphLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9yc19pY29uX29ubHkiKT9bImZ1bGwiXTp2b2lkIDB9KSxCb29sZWFuKHQubGVuZ3RoPjB8fG8/LnNpemUpJiZpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOiIobWF4LXdpZHRoOiA0NDBweCkifSwoZT0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2tleTpoLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkuaWQoKSxhcnJvdzohMCxjbG9zZU9uQ2xpY2tPdXRzaWRlOiEwLGlzRHJhd2VyOmUsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIscmVmOnRoaXMuX21lbnUsbWVudVJlZmVyZW5jZTp0aGlzLl9tZW51SXRlbXNDb250YWluZXIsb25DbGljazp0aGlzLl9oYW5kbGVGYXZvcml0ZU1lbnVDbGljaywiZGF0YS1uYW1lIjoic2hvdy1mYXZvcml0ZS1pbmRpY2F0b3JzIix0b29sdGlwOnUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2Zhdm9yaXRlX2luZGljYXRvcnNfdG9vbHRpcCJ9LG4oMTMzOTcpKSxtZW51Um9sZToibWVudSIsbWVudUNsYXNzTmFtZTprZS5tZW51LGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjp2fSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpsKCkoa2UuZHJvcGRvd24sZSYma2Uuc21hbGxXaWR0aFdyYXBwZXIsdiYma2UubmV3Vmlldyl9LCF2JiZpLmNyZWF0ZUVsZW1lbnQocGUuVG9vbFdpZGdldE1lbnVTdW1tYXJ5LHtjbGFzc05hbWU6ZSYma2Uuc21hbGxXaWR0aFRpdGxlfSx1LnQobnVsbCx7Y29udGV4dDoiaW5kaWNhdG9yc19tZW51In0sbig2MjkzODQpKSksdGhpcy5fcmVuZGVyRmF2b3JpdGVzTGlzdE9yRW1wdHlTdGF0ZShlLHYscykpKSkpKSl9X3ByZWZldGNoRmF2b3JpdGVzKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtpZihudWxsIT09dGhpcy5fcHJvbWlzZXx8IXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybjtpZighZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpLmhhc01vZGVsKCkpcmV0dXJuO3RoaXMuc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pO2NvbnN0IHQ9dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscyxuPXRoaXMuX3Byb21pc2U9UHJvbWlzZS5hbGwoW2NlKHRoaXMuc3RhdGUuZmF2b3JpdGVzKSx0P1Byb21pc2UucmVzb2x2ZSgoMCxyZS5yZXF1ZXN0RnVuZGFtZW50YWxTY3JpcHRzKSgpKTp2b2lkIDBdKS50aGVuKChlPT57aWYobiE9PXRoaXMuX3Byb21pc2UpcmV0dXJuO2NvbnN0W3QsYV09ZTtsZXQgaT1bLi4udF07aWYoYSl7Y29uc3QgZT1hLmZpbHRlcigoZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZUZ1bmRhbWVudGFscz8uaGFzKGUuc2NyaXB0SWRQYXJ0KSkpLm1hcCh0aGlzLl9tYXBGdW5kYW1lbnRhbFRvRmF2b3JpdGVJdGVtSW5mbyk7aS5wdXNoKC4uLmUpfWk9Wy4uLmldLnNvcnQoKChlLHQpPT5IZShlKS5sb2NhbGVDb21wYXJlKEhlKHQpKSkpLHRoaXMuc2V0U3RhdGUoe2luZm9zOmksaXNMb2FkaW5nOiExfSwoKCk9Pnt0aGlzLl9tZW51LmN1cnJlbnQ/LnVwZGF0ZSgpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lci5jdXJyZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQmJigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkodGhpcy5fbWVudUl0ZW1zQ29udGFpbmVyLmN1cnJlbnQpfSkpfSkpfV90cmFja0NsaWNrKCl7KDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJpbmRpY2F0b3JzIix2b2lkIDAsITApfV90cmFja0Zhdm9yaXRlQWN0aW9uKGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIixlKX1fbWFwRnVuZGFtZW50YWxUb0Zhdm9yaXRlSXRlbUluZm8oZSl7cmV0dXJue2l0ZW06e3R5cGU6InBpbmUiLHBpbmVJZDplLnNjcmlwdElkUGFydH0saW5mbzp7bmFtZTplLnNjcmlwdE5hbWUsbG9jYWxpemVkTmFtZTpFZShlKSxzdHVkeU1hcmtldFNoaXR0eU9iamVjdDp2b2lkIDB9fX19ZnVuY3Rpb24gSGUoZSl7cmV0dXJuIGUuaW5mby5sb2NhbGl6ZWROYW1lfHx1LnQoZS5pbmZvLm5hbWUse2NvbnRleHQ6InN0dWR5In0sbig4ODQ2OTMpKX1BZS5jb250ZXh0VHlwZT1UZTt2YXIgVmU9big0NjUxMzcpLFJlPW4oMjU0NjczKSxGZT1uKDI1MTcyMyk7ZnVuY3Rpb24gTGUoZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShGZS52YWx1ZSx7W0ZlLnNlbGVjdGVkXTplLmlzU2VsZWN0ZWR9KX0sZS52YWx1ZSxlLm1ldHJpYyl9dmFyIFplPW4oOTQ4MzgwKSxOZT1uKDYzMjk5MiksemU9bigyNzYwMTkpLEJlPW4oMjY0MzE4KSxPZT1uKDE4MjMwOCk7ZnVuY3Rpb24gRGUoZSl7Y29uc3RbdCxuXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQmUuQ2xpY2thYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6dCx0YWJJbmRleDpufSl9dmFyIFdlPW4oNDYyNzA0KTtmdW5jdGlvbiBQZShlKXtjb25zdHtpbnRlcnZhbDp0LGhpbnQ6YSxhcmlhTGV2ZWw6byxpc1NlbGVjdGVkOnMsaXNEaXNhYmxlZDpsLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6Yyxpc1NpZ25hbGluZzpoLG9uQ2xpY2s6dixvbkNsaWNrUmVtb3ZlOm0sb25DbGlja0Zhdm9yaXRlOnAsc2Nyb2xsQ29udGFpbmVyUmVmOmZ9PWUsZz0oMCxpLnVzZUNhbGxiYWNrKSgoZT0+bSh0LGUpKSxbbSx0XSksYj0oMCxpLnVzZUNhbGxiYWNrKSgoKCk9PnAodCkpLFtwLHRdKSx3PSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dih0KSksW3YsdF0pLEM9My0oKGQ/MTowKSsoYz8xOjApKSxfPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57aWYoaCl7Y29uc3QgZT1fLmN1cnJlbnQ7aWYoZSYmZi5jdXJyZW50KXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1mLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KG4udG9wPnQudG9wfHxuLmJvdHRvbTx0LmJvdHRvbSkmJmUuc2Nyb2xsSW50b1ZpZXcoKX19fSksW2gsZl0pLAppLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7cm9sZToicm93IixhcmlhTGV2ZWw6byxhcmlhU2VsZWN0ZWQ6cyxzZWxlY3RlZDpzLGRpc2FibGVkOmwsb25DbGljazp3LHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhYylyZXR1cm4gbnVsbDtyZXR1cm5bZCYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpnLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbnRlcnZhbHMgbWVudSBpdGVtIn0sbig0NDAyNTEpKSxpY29uOldlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pKSxjJiZpLmNyZWF0ZUVsZW1lbnQoTC5Db250ZXh0QWN0aW9uLHtrZXk6ImZhdm9yaXRlIixoaWRlSWZOb0hvdmVyOiFyLHJvbGU6ImdyaWRjZWxsIn0saS5jcmVhdGVFbGVtZW50KEYuRmF2b3JpdGVJY29uQnV0dG9uLHtpc0Zhdm9yaXRlOiEhcixvbkNsaWNrOmJ9KSldfSgpLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjpDfSxhKSxhcmlhTGFiZWw6YSwiZGF0YS12YWx1ZSI6dCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGxpc3RJdGVtUmVmOl8sZGF0YVFhSWQ6ImludGVydmFsLW1lbnUtaXRlbSJ9KX12YXIgVWU9big2ODk4OTQpLGplPW4oMzYzMjY5KSxLZT1uKDkxNzgxNyksUWU9big5NzM2OSk7ZnVuY3Rpb24gcWUoZSl7Y29uc3R7cm9sZTp0LGludGVydmFsOm4saGludDphLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLGlzRmF2b3JpdGU6cixpc1JlbW92YWJsZTpkLGlzRmF2b3JpdGluZ0FsbG93ZWQ6dSxpc1NpZ25hbGluZzpjLG9uQ2xpY2s6aCxvbkNsaWNrUmVtb3ZlOnYsb25DbGlja0Zhdm9yaXRlOm0saXNTbWFsbFRhYmxldDpwLHNjcm9sbENvbnRhaW5lclJlZjpmLC4uLmd9PWUsW2Isd109KDAsVWUudXNlSG92ZXJEZXByZWNhdGVkKSgpLEM9aS51c2VDYWxsYmFjaygoZT0+dihuLGUpKSxbdixuXSkseT1pLnVzZUNhbGxiYWNrKCgoKT0+bShuKSksW20sbl0pLFM9KDAsaS51c2VSZWYpKG51bGwpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntpZihjKXtjb25zdCBlPVMuY3VycmVudDtpZihlJiZmLmN1cnJlbnQpe2NvbnN0IHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsobi50b3A+dC50b3B8fG4uYm90dG9tPHQuYm90dG9tKSYmZS5zY3JvbGxJbnRvVmlldygpfX19KSxbYyxmXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi53LHJlZjpTfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0sey4uLmcscm9sZTp0LGNsYXNzTmFtZTpsKCkoUWUubWVudUl0ZW0scCYmUWUuc21hbGxXaWR0aE1lbnVJdGVtLGMmJlFlLnNpZ25hbCksdGhlbWU6cD9fLm11bHRpbGluZUxhYmVsV2l0aEljb25BbmRUb29sYm94VGhlbWU6dm9pZCAwLGlzQWN0aXZlOm8saXNEaXNhYmxlZDpzLG9uQ2xpY2s6aCxvbkNsaWNrQXJnOm4sdG9vbGJveDpmdW5jdGlvbigpe2NvbnN0IGU9aS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixpc0FjdGl2ZTpvLGhpZGRlbjohamUudG91Y2gmJiFiLG9uQ2xpY2s6QyxjbGFzc05hbWU6UWUucmVtb3ZlLGRhdGFRYUlkOiJyZW1vdmUtaW50ZXJ2YWwtYnV0dG9uIn0pLHQ9aS5jcmVhdGVFbGVtZW50KEguTWVudUZhdm9yaXRlQnV0dG9uLHtrZXk6ImZhdm9yaXRlIixpc0FjdGl2ZTpvLGlzRmlsbGVkOnIsb25DbGljazp5fSk7cmV0dXJuW2QmJmUsdSYmdF19KCksc2hvd1Rvb2xib3hPbkhvdmVyOiFyLHNob3dUb29sYm94T25Gb2N1czohMCxsYWJlbDphLGRhdGFRYUlkOiJpbnRlcnZhbC1tZW51LWl0ZW0ifSkpfXZhciAkZT1uKDM1OTg0NiksWGU9big3NjI4NTEpLEdlPW4oNzc4MDc3KSxKZT1uKDM2MzgwOCk7ZnVuY3Rpb24gWWUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsLi4ubn09ZSxbYSxvXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoR2UuQ29sbGFwc2libGVTZWN0aW9uLHsuLi5uLHJlZjphLHRhYkluZGV4Om8sImRhdGEtcm9sZSI6Im1lbnVpdGVtIixjbGFzc05hbWU6bCgpKEplLmFjY2Vzc2libGUsdCksb25LZXlEb3duOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsTS5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxhLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5jdXJyZW50LmNsaWNrKCkpfX0pfXZhciBldD1uKDcxOTkpO2Z1bmN0aW9uIHR0KGUpe2NvbnN0e2NoaWxkcmVuOnQsdGl0bGU6bixjbGFzc05hbWU6YX09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6YX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZXQuc21hbGxUYWJsZXRTZWN0aW9uVGl0bGV9LG4pLHQpfXZhciBudD1uKDY1NzgwOSksYXQ9bigyNjYxMDApO2Z1bmN0aW9uIGl0KGUpe2NvbnN0e2ludGVydmFsczp0LGlzQ3VzdG9tSW50ZXJ2YWxzRW5hYmxlZDphLGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxhY3RpdmVJbnRlcnZhbDpzLGxhc3RBZGRlZEludGVydmFsOnIsbWVudVZpZXdTdGF0ZTpjLGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmgsc2Nyb2xsQ29udGFpbmVyUmVmOnYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6bSxvblNlbGVjdEludGVydmFsOnAsb25SZW1vdmVJbnRlcnZhbDpmLG9uQ2xpY2tGYXZvcml0ZTpnLG9uU2VjdGlvblN0YXRlQ2hhbmdlOncsaXNJbnRlcnZhbEZhdm9yaXRlOkMsaXNJbnRlcnZhbERlZmF1bHQ6Xyxpc1NtYWxsVGFibGV0Onksdmlld01vZGU6U309ZSx4PSgwLCRlLnNvcnRSZXNvbHV0aW9uc0J5Q2F0ZWdvcmllcykodCksRT1hPzE6MCxNPXgubGVuZ3RoK0U7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsZnVuY3Rpb24oKXtpZighYSlyZXR1cm5bXTtjb25zdCBlPXUudChudWxsLHsKY29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW50ZXJ2YWxzIG1lbnUgaXRlbSJ9LG4oNTcyMjM5KSk7aWYoImxlZ2FjeSI9PT1TKXJldHVybltpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IiwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyIsImFyaWEtbGV2ZWwiOjEsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtc2V0c2l6ZSI6TSxjbGFzc05hbWU6bCgpKG50LmFkZEN1c3RvbUludGVydmFsLCF5JiZudC5hZGRDdXN0b21JbnRlcnZhbERlc2t0b3ApLG9uQ2xpY2s6bSxsYWJlbDooMCxYZS5hcHBlbmRFbGxpcHNpcykoZSksaWNvbjphdCxkb250Q2xvc2VQb3B1cDohMCxkYXRhUWFJZDoiYWRkLWN1c3RvbS1pbnRlcnZhbC1idXR0b24ifSksaygiY3VzdG9tLWludGVydmFsLXNlcGFyYXRvciIpXTtyZXR1cm5baS5jcmVhdGVFbGVtZW50KFIuTWVudUl0ZW0se2tleToiYWRkLWRpYWxvZyIscm9sZToicm93IixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsYXJpYUxhYmVsOmUsYXJpYUxldmVsOjEsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LCgwLFhlLmFwcGVuZEVsbGlwc2lzKShlKSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KFYuU3ZnSWNvbkxpc3RJdGVtUGFydCx7aWNvblN2ZzphdH0pLG9uQ2xpY2s6bSxkb250Q2xvc2VQb3B1cDohMCwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJhZGQtY3VzdG9tLWludGVydmFsLWJ1dHRvbiJ9KSxrKCJjdXN0b20taW50ZXJ2YWwtZGl2aWRlciIpXX0oKSxmdW5jdGlvbigpe2NvbnN0IGU9MT09PXgubGVuZ3RoLHQ9eC5tYXAoKCh0LG4pPT5mdW5jdGlvbihlKXtjb25zdHtncm91cDp0LGlzU2luZ2xlOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPVtdLHU9bj8xOjIsbT10Lml0ZW1zLm1hcCgoKGUsbik9PmZ1bmN0aW9uKGUpe2NvbnN0e2ludGVydmFsOnQsYXJpYUxldmVsOm4sYXJpYVBvc0luU2V0OmEsYXJpYVNldFNpemU6bH09ZSxkPXQ9PT1zO2lmKCJsZWdhY3kiPT09UylyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHFlLHtrZXk6dCxyb2xlOiJyb3ciLCJhcmlhLWxldmVsIjpuLCJhcmlhLXBvc2luc2V0IjphLCJhcmlhLXNldHNpemUiOmwsImFyaWEtc2VsZWN0ZWQiOmQsaXNTbWFsbFRhYmxldDp5LGludGVydmFsOnQsaGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzQWN0aXZlOmQsb25DbGljazpwLG9uQ2xpY2tSZW1vdmU6ZixvbkNsaWNrRmF2b3JpdGU6ZyxzY3JvbGxDb250YWluZXJSZWY6diwiZGF0YS12YWx1ZSI6dH0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoUGUse2tleTp0LGludGVydmFsOnQsYXJpYUxldmVsOm4saGludDooMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKSh0KS5oaW50LGlzU2lnbmFsaW5nOnI9PT10LGlzRmF2b3JpdGluZ0FsbG93ZWQ6byxpc0Rpc2FibGVkOiEoMCxWZS5pc0F2YWlsYWJsZSkodCksaXNGYXZvcml0ZTpDKHQpLGlzUmVtb3ZhYmxlOiFfKHQpLGlzU2VsZWN0ZWQ6ZCxvbkNsaWNrOnAsb25DbGlja1JlbW92ZTpmLG9uQ2xpY2tGYXZvcml0ZTpnLHNjcm9sbENvbnRhaW5lclJlZjp2fSl9KHtpbnRlcnZhbDplLGFyaWFMZXZlbDp1LGFyaWFQb3NJblNldDpuKzEsYXJpYVNldFNpemU6dC5pdGVtcy5sZW5ndGh9KSkpO2lmKG4pZC5wdXNoKC4uLm0pO2Vsc2UgaWYoImxlZ2FjeSI9PT1TJiZ5KWQucHVzaChpLmNyZWF0ZUVsZW1lbnQodHQse2tleTp0LmlkLHRpdGxlOnQubmFtZX0sbSkpO2Vsc2UgaWYoImxlZ2FjeSI9PT1TKXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107ZC5wdXNoKGkuY3JlYXRlRWxlbWVudChZZSx7a2V5OnQuaWQscm9sZToicm93IiwiYXJpYS1wb3NpbnNldCI6YSwiYXJpYS1zZXRzaXplIjpsLCJhcmlhLWxldmVsIjoxLGNsYXNzTmFtZTpudC5zZWN0aW9uLHN1bW1hcnk6dC5uYW1lLG9wZW46IWNbdC5pZF0sb25TdGF0ZUNoYW5nZTp3KHQuaWQpfSxtKSl9ZWxzZXtpZighaC5pc0FsbG93ZWQodC5pZCkpcmV0dXJuW107Y29uc3QgZT10LmlkLG49IXksYT1jW2VdPz8hMSxvPW4/KCk9PncoZSkoYSk6dm9pZCAwO2QucHVzaChpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHtrZXk6ZSx0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sdC5uYW1lKSxhcmlhTGFiZWw6dC5uYW1lLGlzV3JhcHBlZDpuP2E6dm9pZCAwLG9uQ2xpY2s6bj9vOnZvaWQgMCxpdGVtUm9sZToicm93IiwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGdyb3VwUm9sZToicm93Z3JvdXAiLGFyaWFMZXZlbDoxfSxtKSl9KCF0Lm1heU9taXRTZXBhcmF0b3J8fHQuaXRlbXMubGVuZ3RoPjEpJiYoZC51bnNoaWZ0KGsoYGJlZ2luLSR7dC5uYW1lfWApKSxkLnB1c2goayhgZW5kLSR7dC5uYW1lfWApKSk7cmV0dXJuIGR9KHtncm91cDp0LGlzU2luZ2xlOmUsYXJpYVBvc0luU2V0Om4rMStFLGFyaWFTZXRTaXplOk19KSkpLG49W10uY29uY2F0KC4uLnQpO3JldHVybigwLCRlLmNvbGxhcHNlU2VwYXJhdG9ycykobil9KCkpO2Z1bmN0aW9uIGsoZSl7cmV0dXJuImxlZ2FjeSI9PT1TP2kuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KTppLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciIsa2V5OmV9KX19dmFyIG90PW4oNDUwMjcxKTtjb25zdCBzdD17dGltZUludGVydmFsOnUudChudWxsLHZvaWQgMCxuKDY5NDYzNykpfSxsdD0oMCxvZS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsiLCJdLHRleHQ6dS50KG51bGwsdm9pZCAwLG4oNTQ4NjkwKSl9KSxydD0oMCx5LnJlZ2lzdHJ5Q29udGV4dFR5cGUpKCksZHQ9bmV3IFplLkRlbGVnYXRlLHV0PWkubGF6eSgoYXN5bmMoKT0+KHsKZGVmYXVsdDooYXdhaXQgUHJvbWlzZS5hbGwoW24uZSg2NDM2MSksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg4NTc5KSxuLmUoMTAzODUpLG4uZSg1MjA2NSksbi5lKDY2MDUpLG4uZSg3NDM4MSksbi5lKDU3MzAwKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDI3MzM3KSxuLmUoNDkxNDkpLG4uZSgzOTYwOSksbi5lKDY4MzA0KSxuLmUoNTE2ODYpXSkudGhlbihuLmJpbmQobiwyNTAwMjUpKSkuVG9vbFdpZGdldEludGVydmFsc0FkZERpYWxvZ30pKSk7Y2xhc3MgY3QgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2RlZmF1bHRJbnRlcnZhbHM9W10sdGhpcy5fbWVudT1pLmNyZWF0ZVJlZigpLHRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2RyYXdlckNvbnRhaW5lclJlZj1pLmNyZWF0ZVJlZigpLHRoaXMuX2hhbmRsZUNoYW5nZUludGVydmFsPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSx7YWN0aXZlSW50ZXJ2YWw6dCxsYXN0Tm90UXVpY2tlZDpufT10aGlzLnN0YXRlLGE9dGhpcy5fZ2V0UXVpY2tzKCk7dGhpcy5zZXRTdGF0ZSh7YWN0aXZlSW50ZXJ2YWw6KDAsVmUubm9ybWFsaXplSW50ZXJ2YWxTdHJpbmcpKGUpLGxhc3ROb3RRdWlja2VkOnZvaWQgMD09PXR8fGEuaW5jbHVkZXModCk/bjp0fSl9LHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zPWU9Pnt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5faXNJbnRlcnZhbERlZmF1bHQ9ZT0+dGhpcy5fZGVmYXVsdEludGVydmFscy5pbmNsdWRlcyhlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGU9ZT0+dGhpcy5zdGF0ZS5mYXZvcml0ZXMuaW5jbHVkZXMoZSksdGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWw9KGUsdCxuKT0+e2NvbnN0IGE9Yy5saW5raW5nLmludGVydmFsLnZhbHVlKCk7dm9pZCAwPT09ZXx8UmUuSW50ZXJ2YWwuaXNFcXVhbChlLGEpfHxjLmxpbmtpbmcuc2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSxuPz8iSGVhZGVyIHRvb2xiYXIiKSxlJiYoMCxYLnRyYWNrRXZlbnQpKCJHVUkiLCJUaW1lIEludGVydmFsIixlKX0sdGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZT1lPT57ZT0oMCxuZS5lbnN1cmVEZWZpbmVkKShlKSx0aGlzLl9pc0ludGVydmFsRmF2b3JpdGUoZSk/dGhpcy5faGFuZGxlUmVtb3ZlRmF2b3JpdGUoZSk6dGhpcy5faGFuZGxlQWRkRmF2b3JpdGUoZSl9LHRoaXMuX2hhbmRsZUFkZEZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldChbLi4udCxlXSl9LHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlPWU9Pntjb25zdHtmYXZvcml0ZXM6dH09dGhpcy5zdGF0ZTt0aGlzLmNvbnRleHQuZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlLnNldCh0LmZpbHRlcigodD0+dCE9PWUpKSl9LHRoaXMuX2hhbmRsZUFkZEludGVydmFsPShlLHQpPT57Y29uc3R7aW50ZXJ2YWxTZXJ2aWNlOm4saW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6YX09dGhpcy5jb250ZXh0LHttZW51Vmlld1N0YXRlOml9PXRoaXMuc3RhdGUsbz1uLmFkZChlLHQpO2lmKG8pe3RoaXMuc2V0U3RhdGUoe2xhc3RBZGRlZEludGVydmFsOm99KTtjb25zdCBlPVJlLkludGVydmFsLnBhcnNlRXh0KG8pO2lmKGUuaW50ZXJ2YWwuaXNNaW51dGVIb3VycygpKXJldHVybiB2b2lkIGEuc2V0KHsuLi5pLFtSZS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnNdOiExfSk7Y29uc3QgdD1lLmd1aVJlc29sdXRpb25LaW5kO2lmKHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5EYXlzfHx0PT09UmUuUmVzb2x1dGlvbktpbmQuV2Vla3N8fHQ9PT1SZS5SZXNvbHV0aW9uS2luZC5Nb250aHMpcmV0dXJuIHZvaWQgYS5zZXQoey4uLmksW1JlLlJlc29sdXRpb25LaW5kLkRheXNdOiExfSk7YS5zZXQoey4uLmksW3RdOiExfSl9fSx0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbD0oZSx0KT0+e2NvbnN0e2ludGVydmFsU2VydmljZTpufT10aGlzLmNvbnRleHQsYT10aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYuY3VycmVudDtpZihlKXtpZih0JiYoMCxHLmlzS2V5Ym9hcmRDbGljaykodCkmJmEpe2NvbnN0IHQ9KDAsaWUucXVlcnlNZW51RWxlbWVudHMpKGEpLG49dC5maW5kSW5kZXgoKHQ9PnQubWF0Y2hlcyhgW2RhdGEtdmFsdWU9IiR7ZX0iXWApKSk7aWYoLTEhPT1uKXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoYSl9fW4ucmVtb3ZlKGUpLHRoaXMuX2hhbmRsZVJlbW92ZUZhdm9yaXRlKGUpfX0sdGhpcy5fZ2V0SGFuZGxlU2VjdGlvblN0YXRlQ2hhbmdlPWU9PnQ9Pntjb25zdHttZW51Vmlld1N0YXRlOm59PXRoaXMuc3RhdGUse2ludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOmF9PXRoaXMuY29udGV4dDthLnNldCh7Li4ubixbZV06IXR9KX0sdGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMH0pfSx0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nPSgpPT57dGhpcy5zZXRTdGF0ZSh7aXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDohMX0pfSx0aGlzLl9oYW5kbGVHbG9iYWxDbG9zZT0oKT0+e2NvbnN0e2lzRmFrZTplfT10aGlzLnByb3BzLHtpc0FkZEludGVydmFsRGlhbG9nT3BlbmVkOnR9PXRoaXMuc3RhdGU7ZXx8dHx8ZHQuZmlyZSgpfSx0aGlzLl9oYW5kZVF1aWNrQ2xpY2s9ZT0+e3RoaXMuX2hhbmRsZVNlbGVjdEludGVydmFsKGUsdm9pZCAwLCJGYXZvcml0ZXMiKSx0aGlzLl90cmFja0NsaWNrKCl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7CmNoYXJ0QXBpSW5zdGFuY2U6by5hbnkuaXNSZXF1aXJlZCxmYXZvcml0ZUludGVydmFsc1NlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxpbnRlcnZhbHNNZW51Vmlld1N0YXRlU2VydmljZTpvLmFueS5pc1JlcXVpcmVkfSk7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOm4saW50ZXJ2YWxTZXJ2aWNlOnMsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bH09dDt0aGlzLl9jdXN0b21JbnRlcnZhbHM9KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIik7Y29uc3Qgcj1jLmxpbmtpbmcuaW50ZXJ2YWwudmFsdWUoKSxkPXImJigwLFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKShyKSx1PW4uZ2V0KCksaD1zLmdldEN1c3RvbUludGVydmFscygpLHY9bC5nZXQoKTt0aGlzLl91cGRhdGVEZWZhdWx0SW50ZXJ2YWxzKCksdGhpcy5zdGF0ZT17YWN0aXZlSW50ZXJ2YWw6ZCxmYXZvcml0ZXM6dSxjdXN0b21zOmgsbWVudVZpZXdTdGF0ZTp2LGlzQWRkSW50ZXJ2YWxEaWFsb2dPcGVuZWQ6ITF9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZmF2b3JpdGVJbnRlcnZhbHNTZXJ2aWNlOmUsaW50ZXJ2YWxTZXJ2aWNlOnQsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6bn09dGhpcy5jb250ZXh0O2UuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKSx0LmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlQ2hhbmdlQ3VzdG9tcyksYy5saW5raW5nLmludGVydmFsLnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnNlY29uZHMuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcudGlja3Muc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2Uuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUNoYW5nZVN1cHBvcnRlZFJlc29sdXRpb25zKSxjLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUdsb2JhbENsb3NlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2NvbnN0e2Zhdm9yaXRlSW50ZXJ2YWxzU2VydmljZTplLGludGVydmFsU2VydmljZTp0LGludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm59PXRoaXMuY29udGV4dDtlLmdldE9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVDaGFuZ2VGYXZvcml0ZXMpLG4uZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZU1lbnVWaWV3U3RhdGUpLHQuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZUNoYW5nZUN1c3RvbXMpLGMubGlua2luZy5pbnRlcnZhbC51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VJbnRlcnZhbCksYy5saW5raW5nLmludHJhZGF5LnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcuc2Vjb25kcy51bnN1YnNjcmliZSh0aGlzLl9iaW5kZWRGb3JjZVVwZGF0ZSksYy5saW5raW5nLnRpY2tzLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSxjLmxpbmtpbmcucmFuZ2UudW5zdWJzY3JpYmUodGhpcy5fYmluZGVkRm9yY2VVcGRhdGUpLGMubGlua2luZy5zdXBwb3J0ZWRSZXNvbHV0aW9ucy51bnN1YnNjcmliZSh0aGlzLl9oYW5kbGVDaGFuZ2VTdXBwb3J0ZWRSZXNvbHV0aW9ucyksYy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnVuc3Vic2NyaWJlKHRoaXMuX2JpbmRlZEZvcmNlVXBkYXRlKSx6ZS5nbG9iYWxDbG9zZURlbGVnYXRlLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlR2xvYmFsQ2xvc2UpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwmJnNldFRpbWVvdXQoKCgpPT50aGlzLnNldFN0YXRlKHtsYXN0QWRkZWRJbnRlcnZhbDp2b2lkIDB9KSksMTYwMCl9cmVuZGVyKCl7Y29uc3R7aXNTaG93blF1aWNrczplLGlkOnR9PXRoaXMucHJvcHMse2FjdGl2ZUludGVydmFsOm4sY3VzdG9tczpvLGxhc3ROb3RRdWlja2VkOnMsaXNBZGRJbnRlcnZhbERpYWxvZ09wZW5lZDpyfT10aGlzLnN0YXRlLGQ9dGhpcy5fZ2V0UXVpY2tzKCksdT0oMCxWZS5zb3J0UmVzb2x1dGlvbnMpKFsuLi5kXSk7dm9pZCAwIT09biYmdS5pbmNsdWRlcyhuKT92b2lkIDAhPT1zJiZ1LnB1c2gocyk6dm9pZCAwIT09biYmdS5wdXNoKG4pO2NvbnN0IGM9KCEoIWV8fDA9PT1kLmxlbmd0aCl8fHZvaWQgMCkmJnUubGVuZ3RoPjEsaD17fSx2PSgwLFZlLm1lcmdlUmVzb2x1dGlvbnMpKHRoaXMuX2RlZmF1bHRJbnRlcnZhbHMsbyksZj12b2lkIDAhPT1uP3YuY29uY2F0KG4pOnY7KHZvaWQgMCE9PXM/Zi5jb25jYXQocyk6ZikuZmlsdGVyKFZlLmlzQXZhaWxhYmxlKS5mb3JFYWNoKChlPT5oW2VdPSEwKSk7Y29uc3QgYj12b2lkIDAhPT1uPygwLFZlLmdldFRyYW5zbGF0ZWRSZXNvbHV0aW9uTW9kZWwpKG4pOm51bGw7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0fSxjJiZpLmNyZWF0ZUVsZW1lbnQoVCx7Y2xhc3NOYW1lOm90Lmdyb3VwLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIn0sdS5tYXAoKChlLHQpPT57Y29uc3QgYT0oMCxWZS5nZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsKShlKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGcse2tleTp0LHJvbGU6InJhZGlvIixjbGFzc05hbWU6b3QuYnV0dG9uLHRleHQ6aS5jcmVhdGVFbGVtZW50KExlLHsKdmFsdWU6YS5tYXlPbWl0TXVsdGlwbGllcj92b2lkIDA6YS5tdWx0aXBsaWVyLG1ldHJpYzphLnNob3J0S2luZH0pLGhpbnQ6YS5oaW50LCJhcmlhLWNoZWNrZWQiOm49PT1lLGlzQWN0aXZlOm49PT1lLGlzRGlzYWJsZWQ6IWhbZV0sb25DbGljazp0aGlzLl9oYW5kZVF1aWNrQ2xpY2ssb25DbGlja0FyZzplLCJkYXRhLXZhbHVlIjplfSl9KSkpLGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKGU9PmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KE5lLkNsb3NlRGVsZWdhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpkdH0saS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se2Fycm93OkJvb2xlYW4oYyksY2xvc2VPbkNsaWNrT3V0c2lkZTohcixjb250ZW50OmN8fG51bGw9PT1iP3ZvaWQgMDppLmNyZWF0ZUVsZW1lbnQocC5Ub29sV2lkZ2V0Um93V3JhcCx7Y2xhc3NOYW1lOm90Lm1lbnVDb250ZW50fSxpLmNyZWF0ZUVsZW1lbnQoTGUse3ZhbHVlOmIubWF5T21pdE11bHRpcGxpZXI/dm9pZCAwOmIubXVsdGlwbGllcixtZXRyaWM6Yi5zaG9ydEtpbmR9KSksaG90S2V5OmM/bHQ6dm9pZCAwLGNsYXNzTmFtZTpvdC5tZW51QnRuLHJlZjp0aGlzLl9tZW51LGlzRHJhd2VyOmUsb25DbGljazp0aGlzLl90cmFja0NsaWNrLHRvb2x0aXA6Y3x8bnVsbD09PWI/c3QudGltZUludGVydmFsOmIuaGludCxtZW51UmVmZXJlbmNlOnRoaXMuX21lbnVJdGVtc0NvbnRhaW5lclJlZixtZW51Um9sZToidHJlZWdyaWQiLGRyYXdlclJlZmVyZW5jZTp0aGlzLl9kcmF3ZXJDb250YWluZXJSZWYsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG90LmRyb3Bkb3duLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSYmb3QubmV3VmlldywhZSYmb3QuZGVza3RvcCl9LGkuY3JlYXRlRWxlbWVudChpdCx7aW50ZXJ2YWxzOnYsaXNDdXN0b21JbnRlcnZhbHNFbmFibGVkOnRoaXMuX2N1c3RvbUludGVydmFscyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnRoaXMucHJvcHMuaXNGYXZvcml0aW5nQWxsb3dlZCxhY3RpdmVJbnRlcnZhbDp0aGlzLnN0YXRlLmFjdGl2ZUludGVydmFsLGxhc3RBZGRlZEludGVydmFsOnRoaXMuc3RhdGUubGFzdEFkZGVkSW50ZXJ2YWwsbWVudVZpZXdTdGF0ZTp0aGlzLnN0YXRlLm1lbnVWaWV3U3RhdGUsaW50ZXJ2YWxzTWVudVZpZXdTdGF0ZVNlcnZpY2U6dGhpcy5jb250ZXh0LmludGVydmFsc01lbnVWaWV3U3RhdGVTZXJ2aWNlLHNjcm9sbENvbnRhaW5lclJlZjplP3RoaXMuX2RyYXdlckNvbnRhaW5lclJlZjp0aGlzLl9tZW51SXRlbXNDb250YWluZXJSZWYsb25PcGVuQWRkSW50ZXJ2YWxEaWFsb2c6dGhpcy5faGFuZGxlT3BlbkFkZEludGVydmFsRGlhbG9nLG9uU2VsZWN0SW50ZXJ2YWw6dGhpcy5faGFuZGxlU2VsZWN0SW50ZXJ2YWwsb25SZW1vdmVJbnRlcnZhbDp0aGlzLl9oYW5kbGVSZW1vdmVJbnRlcnZhbCxvbkNsaWNrRmF2b3JpdGU6dGhpcy5faGFuZGxlQ2xpY2tGYXZvcml0ZSxvblNlY3Rpb25TdGF0ZUNoYW5nZTp0aGlzLl9nZXRIYW5kbGVTZWN0aW9uU3RhdGVDaGFuZ2UsaXNJbnRlcnZhbEZhdm9yaXRlOnRoaXMuX2lzSW50ZXJ2YWxGYXZvcml0ZSxpc0ludGVydmFsRGVmYXVsdDp0aGlzLl9pc0ludGVydmFsRGVmYXVsdCxpc1NtYWxsVGFibGV0OmUsdmlld01vZGU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpPyJuZXciOiJsZWdhY3kifSkpKSksciYmaS5jcmVhdGVFbGVtZW50KGkuU3VzcGVuc2Use2ZhbGxiYWNrOm51bGx9LGkuY3JlYXRlRWxlbWVudCh1dCx7b25BZGQ6dGhpcy5faGFuZGxlQWRkSW50ZXJ2YWwsb25DbG9zZTp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLG9uVW5tb3VudDp0aGlzLl9oYW5kbGVDbG9zZUFkZEludGVydmFsRGlhbG9nLGludGVydmFsU2VydmljZTp0aGlzLmNvbnRleHQuaW50ZXJ2YWxTZXJ2aWNlLGlzU21hbGxUYWJsZXQ6ZX0pKSkpKSl9X3VwZGF0ZURlZmF1bHRJbnRlcnZhbHMoKXt0aGlzLl9kZWZhdWx0SW50ZXJ2YWxzPXRoaXMuY29udGV4dC5jaGFydEFwaUluc3RhbmNlLmRlZmF1bHRSZXNvbHV0aW9ucygpLmZpbHRlcihWZS5pc0ludGVydmFsRW5hYmxlZCkubWFwKFZlLm5vcm1hbGl6ZUludGVydmFsU3RyaW5nKX1faGFuZGxlQ2hhbmdlRmF2b3JpdGVzKGUpe3RoaXMuc2V0U3RhdGUoe2xhc3ROb3RRdWlja2VkOnZvaWQgMCxmYXZvcml0ZXM6ZX0pfV9oYW5kbGVDaGFuZ2VDdXN0b21zKGUpe3RoaXMuc2V0U3RhdGUoe2N1c3RvbXM6ZX0pfV9oYW5kbGVDaGFuZ2VNZW51Vmlld1N0YXRlKGUpe3RoaXMuc2V0U3RhdGUoe21lbnVWaWV3U3RhdGU6ZX0sKCgpPT57dGhpcy5fbWVudS5jdXJyZW50JiZ0aGlzLl9tZW51LmN1cnJlbnQudXBkYXRlKCl9KSl9X2dldFF1aWNrcyhlKXtyZXR1cm4gdGhpcy5wcm9wcy5pc1Nob3duUXVpY2tzJiYic21hbGwiIT09dGhpcy5wcm9wcy5kaXNwbGF5TW9kZT92b2lkIDA9PT1lP3RoaXMuc3RhdGUuZmF2b3JpdGVzOmU6W119X3RyYWNrQ2xpY2soKXsoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImludGVydmFsIil9fWN0LmNvbnRleHRUeXBlPXJ0O3ZhciBodD1uKDk2NzA1KSx2dD1uKDg1NTEwNyksbXQ9bigzNDY1NTEpO2NvbnN0IHB0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBmdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5faGFuZGxlQ2xpY2s9KCk9Pntjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZSx3aW5kb3dNZXNzYWdlU2VydmljZTp0LGlzRnVuZGFtZW50YWw6bn09dGhpcy5jb250ZXh0LGE9ZS5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpCjtjb25zdCBpPWZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx0PUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUuaGFzaC5zbGljZSgxKSkpO3JldHVybiBkZWxldGUgdC5zaG93X3BvcHVwX2J1dHRvbixlLmhhc2g9YCMke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0KSl9YCxlLnRvU3RyaW5nKCl9KCk7YS53aXRoTW9kZWwobnVsbCwoKCk9Pnt0LnBvc3QocGFyZW50LCJvcGVuQ2hhcnRJblBvcHVwIix7c3ltYm9sOmEubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCksaW50ZXJ2YWw6YS5tb2RlbCgpLm1haW5TZXJpZXMoKS5pbnRlcnZhbCgpLGZ1bmRhbWVudGFsOm4sdXJsOml9KX0pKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtpc0Z1bmRhbWVudGFsOm8uYW55LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkLHdpbmRvd01lc3NhZ2VTZXJ2aWNlOm8uYW55LmlzUmVxdWlyZWR9KX1yZW5kZXIoKXtjb25zdHtjbGFzc05hbWU6ZX09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGh0LlRvb2xiYXJJY29uQnV0dG9uLHtjbGFzc05hbWU6bCgpKGUsdnQuYnV0dG9uKSxpY29uOm10LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3NTYwMDkpKX0pfX1mdC5jb250ZXh0VHlwZT1wdDt2YXIgZ3Q9big5NDY5NDIpO2NvbnN0IGJ0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyB3dCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fdXBkYXRlU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOmV9KX0sdGhpcy5faGFuZGxlQ2xpY2s9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQsbj10LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiQ2hhcnQgSGVhZGVyIFRvb2xiYXIiLCJjaGFydCBwcm9wZXJ0aWVzIiksKDAsRC50cmFja0J1dHRvbkNsaWNrKSgidG9wIHRvb2xiYXIiLCJjaGFydCBzZXR0aW5ncyIpLG4uc2hvd0dlbmVyYWxDaGFydFByb3BlcnRpZXModm9pZCAwLHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzT3BlbmVkOiExfSx0aGlzLl9wcm9wZXJ0aWVzRGlhbG9nUmVuZGVyZXI9dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5nZXRDaGFydFByb3BlcnRpZXNEaWFsb2dSZW5kZXJlcigpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fcHJvcGVydGllc0RpYWxvZ1JlbmRlcmVyPy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Byb3BlcnRpZXNEaWFsb2dSZW5kZXJlcj8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1yZW5kZXIoKXtjb25zdHtpc09wZW5lZDplfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpndCxpc09wZW5lZDplLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig3MzA1ODYpKX0pfX13dC5jb250ZXh0VHlwZT1idDt2YXIgQ3Q9bigzMTg5NzQpLF90PW4oNzM3MTE2KSx5dD1uKDcyNzA5KSxTdD1uKDkwNjY4MykseHQ9big2NjY0NDEpO2NvbnN0IEV0PSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBNdCBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT1udWxsLHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9yZXF1ZXN0UmVjZW50TGF5b3V0cz0oKT0+e2lmKHRoaXMuX3JlY2VudExheW91dHNBYm9ydENvbnRyb2xsZXI/LmFib3J0KCksIXRoaXMuc3RhdGUuaXNBdXRoZW50aWNhdGVkKXJldHVybjtjb25zdHtsb2FkQ2hhcnRTZXJ2aWNlOmV9PXRoaXMuY29udGV4dDt0aGlzLl9yZWNlbnRMYXlvdXRzQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsZS5nZXRSZWNlbnRDaGFydHModGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlci5zaWduYWwpfSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSgodD0+KHsuLi50LC4uLmV9KSkpfSx0aGlzLl9oYW5kbGVFeHBvcnREYXRhPSgpPT57e2NvbnN0IGU9dGhpcy5fZXhwb3J0RGlhbG9nUHJvbWlzZT0oMCxfdC5sb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGUpKCkudGhlbigodD0+e3RoaXMuX2V4cG9ydERpYWxvZ1Byb21pc2U9PT1lJiZ0LnNob3dDaGFydEV4cG9ydERpYWxvZ09yTm90aWZpY2F0aW9uKHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24sKCgpPT50aGlzLl90cmFja0V2ZW50KCJFeHBvcnQgY2hhcnQgZGF0YSIpKSl9KSl9fSx0aGlzLl9vblNhdmVEaWFsb2dWaXNpYmxlQ2hhbmdlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmVEaWFsb2dPcGVuZWQ6ZX0pfSx0aGlzLl9zeW5jU3RhdGU9ZT0+e3RoaXMuc2V0U3RhdGUoZSl9LHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcz1lPT57dGhpcy5zdGF0ZS53YXNDaGFuZ2VzIT09ZSYmdGhpcy5zZXRTdGF0ZSh7d2FzQ2hhbmdlczplfSl9LHRoaXMuX29uQ2hhbmdlQXV0b1NhdmVFbmFibGVkPWU9Pnt0aGlzLnNldFN0YXRlKHtpc0F1dG9TYXZlRW5hYmxlZDplfSl9LHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lzU2hhcmluZ0VuYWJsZWQ6ZX0pfSx0aGlzLl9vbkNoYW5nZVRpdGxlPWU9Pnt0aGlzLnNldFN0YXRlKHt0aXRsZTplfSl9LHRoaXMuX29uQ2hhbmdlSWQ9ZT0+e3RoaXMuc2V0U3RhdGUoe2lkOmV9KX0sdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkPSgpPT57dGhpcy5zZXRTdGF0ZSh7CmlzUHJvY2Vzc2luZzohMH0pfSx0aGlzLl9vbkNoYXJ0U2F2ZWQ9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc1Byb2Nlc3Npbmc6ITF9KX0sdGhpcy5faGFuZGxlQXV0b1NhdmVFbmFibGVkPWU9PnsoMCxYLnRyYWNrRXZlbnQpKCJBdXRvc2F2ZSIsZT8iT24iOiJPZmYiKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5zZXRBdXRvU2F2ZUVuYWJsZWQoZSl9LHRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkPWU9PntpZih0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZSl7Y29uc3QgdD1lPyJvbiI6Im9mZiI7KDAsWC50cmFja0V2ZW50KSgiR1VJIixgVHVybiBzaGFyaW5nIGNoYXJ0ICR7dH1gKSx0aGlzLmNvbnRleHQuc2hhcmluZ0NoYXJ0U2VydmljZS5zZXRTaGFyaW5nRW5hYmxlZChlKX19LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydE9yU2hvd1RpdGxlRGlhbG9nKCksdGhpcy5fdHJhY2tFdmVudCgiU2F2ZSBjbGljayIpfSx0aGlzLl9oYW5kbGVPcGVuTWVudT0oKT0+e3RoaXMuX3JlcXVlc3RSZWNlbnRMYXlvdXRzKCl9LHRoaXMuX2hhbmRsZUNsaWNrU2F2ZUZyb21NZW51PSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2Uuc2F2ZUNoYXJ0T3JTaG93VGl0bGVEaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJTYXZlIEZyb20gTWVudSIpfSx0aGlzLl9oYW5kbGVDbGlja0Nsb25lPSgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY2xvbmVDaGFydCgpfSx0aGlzLl9oYW5kbGVDbGlja1NhdmVBcz0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnNhdmVDaGFydEFzKCksdGhpcy5fdHJhY2tFdmVudCgiTWFrZSBhIGNvcHkiKX0sdGhpcy5faGFuZGxlQ2xpY2tOZXc9KCk9Pnt3aW5kb3cucnVuT3JTaWduSW4oKCgpPT57dGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuY3JlYXRlRW1wdHlDaGFydCgpfSkse3NvdXJjZToiY3JlYXRlX2VtcHR5X2NoYXJ0In0pLHRoaXMuX3RyYWNrRXZlbnQoIk5ldyBjaGFydCBsYXlvdXQiKX0sdGhpcy5faGFuZGxlQ2xpY2tMb2FkPSgpPT57dGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2Uuc2hvd0xvYWREaWFsb2coKSx0aGlzLl90cmFja0V2ZW50KCJMb2FkIGNoYXJ0IGxheW91dCIpfSx0aGlzLl9oYW5kbGVIb3RrZXk9KCk9Pnt0aGlzLmNvbnRleHQubG9hZENoYXJ0U2VydmljZS5zaG93TG9hZERpYWxvZygpfSx0aGlzLl9oYW5kbGVDbGlja1JlbmFtZT0oKT0+e3RoaXMuY29udGV4dC5zYXZlQ2hhcnRTZXJ2aWNlLnJlbmFtZUNoYXJ0KCksdGhpcy5fdHJhY2tFdmVudCgiUmVuYW1lIil9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOm8uYW55LmlzUmVxdWlyZWQsY2hhcnRDaGFuZ2VzV2F0Y2hlcjpvLmFueS5pc1JlcXVpcmVkLHNhdmVDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZCxzaGFyaW5nQ2hhcnRTZXJ2aWNlOigwLEN0LmlzU3ltcGhvbnlFbWJlZCkoKT9vLmFueTpvLmFueS5pc1JlcXVpcmVkLGxvYWRDaGFydFNlcnZpY2U6by5hbnkuaXNSZXF1aXJlZH0pO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpuLGNoYXJ0Q2hhbmdlc1dhdGNoZXI6YSxzYXZlQ2hhcnRTZXJ2aWNlOmksc2hhcmluZ0NoYXJ0U2VydmljZTpzLGxvYWRDaGFydFNlcnZpY2U6bH09dDt0aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGU9bC5zdGF0ZSgpLHRoaXMuc3RhdGU9e2lzQXV0aGVudGljYXRlZDp3aW5kb3cuaXNfYXV0aGVudGljYXRlZCxpc1Byb2Nlc3Npbmc6ITEsaWQ6bi5tZXRhSW5mby5pZC52YWx1ZSgpLHRpdGxlOm4ubWV0YUluZm8ubmFtZS52YWx1ZSgpLHdhc0NoYW5nZXM6YS5oYXNDaGFuZ2VzKCksaXNBdXRvU2F2ZUVuYWJsZWQ6aS5hdXRvU2F2ZUVuYWJsZWQoKS52YWx1ZSgpLGlzU2hhcmluZ0VuYWJsZWQ6ISFzJiZzLnNoYXJpbmdFbmFibGVkKCkudmFsdWUoKSxyZWNlbnRMYXlvdXRzOltdLGljb25Ib3ZlcmVkOiExLGlzU2F2ZURpYWxvZ09wZW5lZDohMSwuLi50aGlzLl9sb2FkQ2hhcnRTZXJ2aWNlU3RhdGUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXtjb25zdHtjaGFydFNhdmVyOmUsaXNGYWtlOnQsc3RhdGVTeW5jRW1pdHRlcjphfT10aGlzLnByb3BzLHtjaGFydFdpZGdldENvbGxlY3Rpb246aSxjaGFydENoYW5nZXNXYXRjaGVyOm8sc2F2ZUNoYXJ0U2VydmljZTpzLHNoYXJpbmdDaGFydFNlcnZpY2U6bCxsb2FkQ2hhcnRTZXJ2aWNlOnJ9PXRoaXMuY29udGV4dDt0P2Eub24oImNoYW5nZSIsdGhpcy5fc3luY1N0YXRlKTooby5nZXRPbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcykscy5hdXRvU2F2ZUVuYWJsZWQoKS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VBdXRvU2F2ZUVuYWJsZWQpLGw/LnNoYXJpbmdFbmFibGVkKCkuc3Vic2NyaWJlKHRoaXMuX29uQ2hhbmdlU2hhcmluZ0VuYWJsZWQpLGkubWV0YUluZm8ubmFtZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksaS5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VJZCksdGhpcy5faG90a2V5cz0oMCx5dC5jcmVhdGVHcm91cCkoe2Rlc2M6IlNhdmUvTG9hZCJ9KSx0aGlzLl9ob3RrZXlzLmFkZCh7ZGVzYzp1LnQobnVsbCx2b2lkIDAsbigyNDI5MTMpKSxoYW5kbGVyOnRoaXMuX2hhbmRsZUhvdGtleSxob3RrZXk6MTkwfSksZS5jaGFydFNhdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydFNhdmVkKSxlLmNoYXJ0QWJvdXRUb0JlU2F2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0QWJvdXRUb0JlU2F2ZWQpLHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5jb250ZXh0LnNhdmVDaGFydFNlcnZpY2UuZ2V0Q3JlYXRlQ29udHJvbGxlcigpLnZpc2libGUoKS5zdWJzY3JpYmUodGhpcy5fb25TYXZlRGlhbG9nVmlzaWJsZUNoYW5nZSksdGhpcy5fbG9hZENoYXJ0U2VydmljZVN0YXRlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSksCnh0LnNob3dGYXZvcml0ZUxheW91dHMmJnIucmVmcmVzaENoYXJ0TGlzdCgpKX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXt0aGlzLnByb3BzLmlzRmFrZXx8dCE9PXRoaXMuc3RhdGUmJnRoaXMucHJvcHMuc3RhdGVTeW5jRW1pdHRlci5lbWl0KCJjaGFuZ2UiLHRoaXMuc3RhdGUpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRTYXZlcjplLGlzRmFrZTp0LHN0YXRlU3luY0VtaXR0ZXI6bn09dGhpcy5wcm9wcyx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmEsY2hhcnRDaGFuZ2VzV2F0Y2hlcjppLHNhdmVDaGFydFNlcnZpY2U6byxzaGFyaW5nQ2hhcnRTZXJ2aWNlOnN9PXRoaXMuY29udGV4dDt0P24ub2ZmKCJjaGFuZ2UiLHRoaXMuX3N5bmNTdGF0ZSk6KGkuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlSGFzQ2hhbmdlcyksby5hdXRvU2F2ZUVuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUF1dG9TYXZlRW5hYmxlZCkscz8uc2hhcmluZ0VuYWJsZWQoKS51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZVNoYXJpbmdFbmFibGVkKSxhLm1ldGFJbmZvLm5hbWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2VUaXRsZSksYS5tZXRhSW5mby5pZC51bnN1YnNjcmliZSh0aGlzLl9vbkNoYW5nZUlkKSwoMCxuZS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ob3RrZXlzKS5kZXN0cm95KCksZS5jaGFydFNhdmVkKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0U2F2ZWQpLGUuY2hhcnRBYm91dFRvQmVTYXZlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFydEFib3V0VG9CZVNhdmVkKSx3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTG9naW5TdGF0ZUNoYW5nZSksdGhpcy5fcmVjZW50TGF5b3V0c0Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLmNvbnRleHQuc2F2ZUNoYXJ0U2VydmljZS5nZXRDcmVhdGVDb250cm9sbGVyKCkudmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX29uU2F2ZURpYWxvZ1Zpc2libGVDaGFuZ2UpLHRoaXMuX2xvYWRDaGFydFNlcnZpY2VTdGF0ZS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSkpfXJlbmRlcigpe2NvbnN0e2lzUmVhZE9ubHk6ZSxkaXNwbGF5TW9kZTp0LGlkOm4saXNGYWtlOm99PXRoaXMucHJvcHMse2lzUHJvY2Vzc2luZzpzLGlzQXV0aGVudGljYXRlZDpsLHRpdGxlOnIsaWQ6ZCx3YXNDaGFuZ2VzOnUsaXNBdXRvU2F2ZUVuYWJsZWQ6Yyxpc1NoYXJpbmdFbmFibGVkOmgsaXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAscmVjZW50czpmfT10aGlzLnN0YXRlLGc9e2Rpc3BsYXlNb2RlOnQsaXNSZWFkT25seTplLGlzQXV0aGVudGljYXRlZDpsLGlzUHJvY2Vzc2luZzpzLHdhc0NoYW5nZXM6dSx0aXRsZTpyLGlkOm4saXNTYXZlRGlhbG9nT3BlbmVkOnYsZmF2b3JpdGVzOm0sY2hhcnRMaXN0OnAsY2hhcnRJZDpudWxsIT09ZD9kOnZvaWQgMCxkYXRhTmFtZVNhdmVNZW51Om8/dm9pZCAwOiJzYXZlLWxvYWQtbWVudSIsb25DbG9uZUNoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrQ2xvbmUsb25TYXZlQ2hhcnQ6dGhpcy5faGFuZGxlQ2xpY2tTYXZlLG9uU2F2ZUNoYXJ0RnJvbU1lbnU6dGhpcy5faGFuZGxlQ2xpY2tTYXZlRnJvbU1lbnUsb25SZW5hbWVDaGFydDp0aGlzLl9oYW5kbGVDbGlja1JlbmFtZSxvblNhdmVBc0NoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrU2F2ZUFzLG9uTG9hZENoYXJ0OnRoaXMuX2hhbmRsZUNsaWNrTG9hZCxpc05ld1ZpZXc6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpfTtyZXR1cm4gZy5vbk5ld0NoYXJ0PXRoaXMuX2hhbmRsZUNsaWNrTmV3LGcub25FeHBvcnREYXRhPXRoaXMuX2hhbmRsZUV4cG9ydERhdGEsZy5vbkF1dG9TYXZlQ2hhbmdlZD10aGlzLl9oYW5kbGVBdXRvU2F2ZUVuYWJsZWQsZy5vblNoYXJpbmdDaGFuZ2VkPXRoaXMuX2hhbmRsZVNoYXJpbmdFbmFibGVkLGcuaXNBdXRvU2F2ZUVuYWJsZWQ9YyxnLmlzU2hhcmluZ0VuYWJsZWQ9aCxnLnJlY2VudEl0ZW1zPWYsZy5vbk9wZW5NZW51PXRoaXMuX2hhbmRsZU9wZW5NZW51LGcuYXV0b1NhdmVJZD1vP3ZvaWQgMDoiY2hhcnQtYXV0by1zYXZlIixpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHtydWxlOkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGx9LChlPT5pLmNyZWF0ZUVsZW1lbnQoU3QuVG9vbFdpZGdldFNhdmVMb2FkVmlldyx7Li4uZyxpc1RhYmxldFNtYWxsOmV9KSkpfV9vbkxvZ2luU3RhdGVDaGFuZ2UoKXtjb25zdCBlPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3RoaXMuc2V0U3RhdGUoe2lzQXV0aGVudGljYXRlZDplfSkseHQuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdGhpcy5jb250ZXh0LmxvYWRDaGFydFNlcnZpY2UucmVmcmVzaENoYXJ0TGlzdCgpfV90cmFja0V2ZW50KGUpeygwLFgudHJhY2tFdmVudCkoIkdVSSIsIk1hbmFnZSBjaGFydCBsYXlvdXQiLGUpfX1NdC5jb250ZXh0VHlwZT1FdDt2YXIga3Q9big2NTkzNjUpLEl0PW4oMzMyMzcxKSxUdD1uKDk5NTcxOSksQXQ9bigxMTczMTMpLEh0PW4oOTcxNjU5KTtmdW5jdGlvbiBWdChlKXtjb25zdFt0LG5dPSgwLGkudXNlU3RhdGUpKCExKSxhPSgwLEh0LnVzZUlzTW91bnRlZCkoKSxvPSgwLGkudXNlQ2FsbGJhY2spKChhc3luYygpPT57bighMCksYXdhaXQgZS5zZXJ2ZXJTbmFwc2hvdCgpLGEuY3VycmVudCYmbighMSl9KSxbZS5zZXJ2ZXJTbmFwc2hvdF0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgUnQ9big3OTU5ODYpLEZ0PW4oMTE3NzI5KSxMdD1uLm4oRnQpO2NvbnN0IFp0PSgwLGt0LmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKT9pLmNyZWF0ZUVsZW1lbnQoVnQsey4uLmUsaWNvbjpSdAp9KTppLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQoVHQuVG9vbFdpZGdldEJ1dHRvbix7dGFnOiJkaXYiLGlkOmUuaWQsY2xhc3NOYW1lOmUuY2xhc3NOYW1lLGljb246UnR9KSxkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic25hcHNob3QiKX0sdG9vbHRpcDplLnRvb2x0aXAsZW5hYmxlU2Nyb2xsQ29tcGVuc2F0aW9uOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKSxtZW51Um9sZToidHJlZWdyaWQifSwoKHtpc0RyYXdlcjp0fSk9PmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKSgoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJkx0KCkubmV3VmlldywhdCYmTHQoKS5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KEl0LlRvb2xXaWRnZXRTY3JlZW5zaG90Q29udGVudCx7Li4uZX0pKSkpfSkpO3ZhciBOdD1uKDU1NzA2NSksenQ9bigzODcyMzEpLEJ0PW4oMjQzOTM4KSxPdD1uKDg0MTY1NSksRHQ9big2MTQzODApLFd0PW4oODUxNDU4KSxQdD1uKDQ0NDU1MCk7ZnVuY3Rpb24gVXQoZSl7Y29uc3R7aWQ6dCxjbGFzc05hbWU6bix0b29sdGlwOmEsdmFsdWU6byxvbkNsaWNrOnMsYWN0aW9uOmR9PWUsW3UsY109KDAsT2UudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxbaCx2XT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKGQucmVmZXJlbmNlPz9udWxsKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKFB0LmNvbnRhaW5lcixuKX0saS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtpZDp0LHJlZjp1LHRhYkluZGV4OmMsY2xhc3NOYW1lOmwoKShQdC5idXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksdGl0bGU6YSxvbkNsaWNrOmZ1bmN0aW9uKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLHMoZSl9fSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6UHQudmFsdWV9LG8pKSxpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse2lkOmQuaWQscmVmOmgsdGFiSW5kZXg6dixjbGFzc05hbWU6bCgpKFB0LmFjdGlvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSx0aXRsZTpkLnRvb2x0aXAsb25DbGljazpmdW5jdGlvbihlKXtpZihlLmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxkLm9uQ2xpY2soZSl9fSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6UHQuaWNvbixpY29uOmQuaWNvbn0pKSl9dmFyIGp0PW4oMzIwNTUpLEt0PW4oNjQzOTAzKSxRdD1uKDQ5MDIwNCkscXQ9big3ODQ1MTMpLCR0PW4oMjE0MzIpLFh0PW4oOTcxMTgzKSxHdD1uKDI3MzUwOSksSnQ9big2MTU1NDcpLFl0PW4oNDExOTkyKSxlbj1uKDE1OTUxMyksdG49bigyNTg0OSksbm49bigxNTY4MjkpO2NvbnN0IGFuPSgwLGkuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1mdW5jdGlvbihlKXtjb25zdHtzeW1ib2w6dCxwcm92aWRlckxhYmVsOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoe30pLHM9KDAsdG4udXNlRGlhbG9nQWN0aW9ucykoKTtyZXR1cm4oMCxpLnVzZUVmZmVjdCkoKCgpPT57Y29uc3QgZT1uZXcgSnQuRGV0YWlsc0RhdGFQcm92aWRlcih7c3ltYm9sOnQscXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXJJbnN0YW5jZTooMCxlbi5nZXRRdW90ZVNlc3Npb25JbnN0YW5jZSkoKSxsYWJlbDpufSk7cmV0dXJuIGUuc2V0SGFuZGxlcigoZnVuY3Rpb24odCl7aWYodCl7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBvKHt9KSx2b2lkIGUuZGVzdHJveSgpO2lmKHQuYm9uZHNDb21wbGV0ZSYmdC5jb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMmJnQudmFsdWVzLmFnZ3JlZ2F0ZWQuYm9uZHMubGVuZ3RoPjAmJigwLG5uLmlzWWllbGQpKHt0eXBlc3BlY3M6dC52YWx1ZXMucXVvdGVzLnR5cGVzcGVjc30pKTtvKCh0PT4oey4uLnQsaGFzWWllbGRDdXJ2ZTplfSkpKX1pZih0LmZ1dHVyZXNDb21wbGV0ZSl7Y29uc3QgZT1Cb29sZWFuKHQudmFsdWVzLmFnZ3JlZ2F0ZWQuZnV0dXJlcyYmdC52YWx1ZXMuYWdncmVnYXRlZC5mdXR1cmVzLmxlbmd0aD4wKTtvKCh0PT4oey4uLnQsaGFzQ29udHJhY3RzOmUsaGFzRm9yd2FyZEN1cnZlOmV9KSkpfWlmKHQuY3J5cHRvRGVyaXZhdGl2ZUNvbXBsZXRlKXtjb25zdCBlPUJvb2xlYW4odC52YWx1ZXMuYWdncmVnYXRlZC5jcnlwdG9fZGVyaXZhdGl2ZV9kYXRhJiYhMCk7bygodD0+KHsuLi50LGhhc0Rlcml2YXRpdmVzOmV9KSkpfWlmKHQuY29tcGxldGUpe2NvbnN0IGU9dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxsaXN0ZWRFeGNoYW5nZTplLmxpc3RlZF9leGNoYW5nZSx0eXBlOmUudHlwZSxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3MsaGFzRmluYW5jaWFsczooMCxZdC5oYXNGaW5hbmNpYWxzQnlBdmFpbGFiaWxpdHlGbGFncykoe2ZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5OmUuZmluYW5jaWFsc19hdmFpbGFiaWxpdHksZGl2aWRlbmRzX2F2YWlsYWJpbGl0eTplLmRpdmlkZW5kc19hdmFpbGFiaWxpdHksZWFybmluZ3NfYXZhaWxhYmlsaXR5OmUuZWFybmluZ3NfYXZhaWxhYmlsaXR5fSxlLnR5cGUsZS50eXBlc3BlY3MpfSkpKX1pZih0LmNvbXBsZXRlJiZ0LmNvbXBsZXRlU2NyZWVuZXIpe2NvbnN0IGU9dC52YWx1ZXMuc2NyZWVuZXI/LlsiUmVjb21tZW5kLkFsbCJdLG49dC52YWx1ZXMucXVvdGVzO28oKHQ9Pih7Li4udCxoYXNUZWNobmljYWxzOkJvb2xlYW4obnVsbCE9ZSYmbi5kZXNjcmlwdGlvbiYmbi5saXN0ZWRfZXhjaGFuZ2UmJm4udHlwZSl9KSkpfQp0LmZ1dHVyZXNDb21wbGV0ZSYmdC5ib25kc0NvbXBsZXRlJiZ0LmNyeXB0b0Rlcml2YXRpdmVDb21wbGV0ZSYmdC5jb21wbGV0ZSYmdC5jb21wbGV0ZVNjcmVlbmVyJiZlLmRlc3Ryb3koKX19KSksKCk9PntlLmRlc3Ryb3koKX19KSxbdF0pLHsuLi5hLC4uLnN9fSh7c3ltYm9sOmUuc3ltYm9sLHByb3ZpZGVyTGFiZWw6ZS5wcm92aWRlckxhYmVsfSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChHdC5Db250ZW50TWVudSx7Li4uZSxyZWY6dCxkYXRhOm59KX0pKTt2YXIgb249bigxMzk2NDIpLHNuPW4oNjA0OTEyKSxsbj1uKDk4ODQxNik7Y29uc3Qgcm49KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxsbiksZG49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpLHVuPSEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKTtjbGFzcyBjbiBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQ9ITEsdGhpcy5fb25Db250ZW50TWVudUNsb3NlPSgpPT57dGhpcy5faXNDb250ZW50TWVudU9wZW5lZEJ5S2V5Ym9hcmQmJm51bGwhPT10aGlzLl9tZW51UmVmLmN1cnJlbnQmJnRoaXMuX21lbnVSZWYuY3VycmVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYuY3VycmVudD8uZm9jdXMoKSx0aGlzLnNldFN0YXRlKHtpc0NvbnRlbnRNZW51T3BlbmVkOiExfSl9LHRoaXMuX3RvZ2dsZUNvbnRlbnRNZW51PWU9Pntjb25zdCB0PSF0aGlzLnN0YXRlLmlzQ29udGVudE1lbnVPcGVuZWQ7dCYmKHRoaXMuX2lzQ29udGVudE1lbnVPcGVuZWRCeUtleWJvYXJkPSgwLEcuaXNLZXlib2FyZENsaWNrKShlKSksdGhpcy5zZXRTdGF0ZSh7aXNDb250ZW50TWVudU9wZW5lZDp0fSl9LHRoaXMuX29wZW5TeW1ib2xTZWFyY2hEaWFsb2c9YXN5bmMgZT0+e2lmKCgwLE0ubW9kaWZpZXJzRnJvbUV2ZW50KShlKT09PU0uTW9kaWZpZXJzLkFsdClyZXR1cm4gdm9pZCgwLE50LmdldENsaXBib2FyZCkoKS53cml0ZVRleHQodGhpcy5zdGF0ZS5zeW1ib2wpO2lmKHRoaXMuc3RhdGUuaXNTU09wZW5lZClyZXR1cm47Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnR9PXRoaXMuY29udGV4dCxvPXQ/LmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tb2RlbCgpLHM9bz8ubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSxsPSJvcHRpb24iPT09cz8udHlwZTt0cnl7KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiU1MiLCJtYWluIHNlYXJjaCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwic3ltYm9sIHNlYXJjaCIpO2xldCB0PXRoaXMuX2lzU3ByZWFkKHRoaXMuc3RhdGUuc3ltYm9sKT90aGlzLnN0YXRlLnN5bWJvbDp0aGlzLnN0YXRlLnNob3J0TmFtZTtpZigoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzeW1ib2xfc2VhcmNoX29wdGlvbl9jaGFpbl9zZWxlY3RvciIpJiZsKXtjb25zdCBlPWF3YWl0KDAsUXQucmVzb2x2ZVVuZGVybHlpbmdTeW1ib2wpKHRoaXMuc3RhdGUuc3ltYm9sKTtlJiYodD17dHlwZToib3B0aW9uIix2YWx1ZTp0aGlzLnN0YXRlLnN5bWJvbCx1bmRlcmx5aW5nOmV9KX1hd2FpdChuZXcgRHQuU3ltYm9sU2VhcmNoVUkpLnNob3coe3RyYWNrUmVzdWx0c09wdGlvbnM6e3RyYWNrUmVzdWx0czohKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksZW1wdHlTZWFyY2hUeXBlOiJlbXB0eV9yZXN1bHRfX3N1cGVyY2hhcnRzIn0sb25DbG9zZTooKT0+e3RoaXMuc2V0U3RhdGUoe2lzU1NPcGVuZWQ6ITF9KX0sb25PcGVuOigpPT57dGhpcy5zZXRTdGF0ZSh7aXNTU09wZW5lZDohMH0pfSxzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSksZGVmYXVsdFZhbHVlOnQsc2hvd1NwcmVhZEFjdGlvbnM6KDAsQnQuY2FuU2hvd1NwcmVhZEFjdGlvbnMpKCkmJnRoaXMucHJvcHMuaXNBY3Rpb25zVmlzaWJsZSxzb3VyY2U6InNlYXJjaEJhciIsZW5hYmxlT3B0aW9uc0NoYWluOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN5bWJvbF9zZWFyY2hfb3B0aW9uX2NoYWluX3NlbGVjdG9yIiksc2VhcmNoVHlwZToic3VwZXJjaGFydHMiLGZvb3RlcjpqZS5tb2JpbGV0b3VjaD92b2lkIDA6aS5jcmVhdGVFbGVtZW50KE90LlN5bWJvbFNlYXJjaERpYWxvZ0Zvb3RlcixudWxsLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpP3UudChudWxsLHZvaWQgMCxuKDM5MDE5OCkpOnUudChudWxsLHZvaWQgMCxuKDk2NzI1NykpKX0pfWNhdGNoKGUpe319LHRoaXMuX2lzU3ByZWFkPWU9Pntjb25zdCB0PSgwLFd0LnRva2VuaXplKShlKTtyZXR1cm4oMCxXdC5pc1NwcmVhZCkodCl9LHRoaXMuX29uU3ltYm9sSW5mb1Jlc29sdmVkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7dGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KX0sdGhpcy5fb25BY3R1YWxDb250ZW50Q2hhbmdlZD0oKT0+e3RoaXMuc2V0U3RhdGUoe2FjdHVhbENvbnRlbnRJZDpxdC5hY3R1YWxDb250ZW50LnZhbHVlKCl9KX0sdGhpcy5fb25TeW1ib2xDaGFuZ2VkPSgpPT57Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7ZT09PXRoaXMuc3RhdGUuc3ltYm9sP3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpobigpfSk6dGhpcy5fdXBkYXRlUXVvdGVzKGUpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17c3ltYm9sOmMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSxzaG9ydE5hbWU6aG4oKSxhY3R1YWxDb250ZW50SWQ6dW4/cXQuYWN0dWFsQ29udGVudC52YWx1ZSgpOm51bGwsaXNTU09wZW5lZDohMSxpc0NvbnRlbnRNZW51T3BlbmVkOiExfX1jb21wb25lbnREaWRNb3VudCgpewppZihjLmxpbmtpbmcucHJvU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbENoYW5nZWQpLHVuJiZxdC5hY3R1YWxDb250ZW50LnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZSYmZS53aXRoTW9kZWwobnVsbCwoKCk9PntlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQsITEpfSkpfUR0LlN5bWJvbFNlYXJjaFVJLnByZWxvYWQoKSx0aGlzLl91cGRhdGVRdW90ZXMoYy5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe2lmKGMubGlua2luZy5wcm9TeW1ib2wudW5zdWJzY3JpYmUodGhpcy5fb25TeW1ib2xDaGFuZ2VkKSx1biYmcXQuYWN0dWFsQ29udGVudC51bnN1YnNjcmliZSh0aGlzLl9vbkFjdHVhbENvbnRlbnRDaGFuZ2VkKSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2Vfc3ltYm9sX25hbWVfZm9yX2hlYWRlcl90b29sYmFyIikpe2NvbnN0IGU9Yy5saW5raW5nLmdldENoYXJ0V2lkZ2V0KCk7ZT8uaGFzTW9kZWwoKSYmZS5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlKG51bGwsdGhpcy5fb25TeW1ib2xJbmZvUmVzb2x2ZWQpfX1yZW5kZXIoKXtjb25zdHtpZDplLGNsYXNzTmFtZTp0LGlzRmFrZTpvfT10aGlzLnByb3BzO2lmKCF1bilyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWQ6ZSxjbGFzc05hbWU6bCgpKHQsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSYmbG4udXBwZXJjYXNlLGxuLnNtYWxsTGVmdFBhZGRpbmcpLHRoZW1lOnJuLGljb246c24saXNPcGVuZWQ6dGhpcy5zdGF0ZS5pc1NTT3BlbmVkLHRleHQ6dGhpcy5zdGF0ZS5zaG9ydE5hbWUsb25DbGljazp0aGlzLl9vcGVuU3ltYm9sU2VhcmNoRGlhbG9nLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InN5bWJvbF9zZWFyY2gifSxuKDYwNDAxKSl9KTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246c309dGhpcy5jb250ZXh0LHI9cz8uYWN0aXZlQ2hhcnRXaWRnZXQsZD1yPy52YWx1ZSgpLm9wdGlvbnMoKS5zaG93RmluYW5jaWFsc0VuYWJsZWQ7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KFV0LHtpZDplLGNsYXNzTmFtZTpsKCkobG4uc2VhcmNoQnV0dG9uLHRoaXMuc3RhdGUuaXNDb250ZW50TWVudU9wZW5lZCYmbG4ubWVudU9wZW5lZCksdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNjA0MDEpKSxhY3Rpb246e2lkOm8/dm9pZCAwOiJoZWFkZXItdG9vbGJhci1zd2l0Y2gtZGF0YS10eXBlIixpY29uOnRoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkPyR0LkNPTlRFTlRfQlVUVE9OX0lDT05TW3RoaXMuc3RhdGUuYWN0dWFsQ29udGVudElkXT8/b246b24sb25DbGljazp0aGlzLl90b2dnbGVDb250ZW50TWVudSxyZWZlcmVuY2U6dGhpcy5fY29udGVudE1lbnVCdXR0b25SZWYsdG9vbHRpcDp1LnQobnVsbCx7Y29udGV4dDoic3ltYm9sX3NlYXJjaCJ9LG4oNDc1MDI4KSl9LG9uQ2xpY2s6dGhpcy5fb3BlblN5bWJvbFNlYXJjaERpYWxvZyx2YWx1ZTp0aGlzLnN0YXRlLnNob3J0TmFtZX0pLCFvJiZpLmNyZWF0ZUVsZW1lbnQoYW4se3N5bWJvbDp0aGlzLnN0YXRlLnN5bWJvbCxwcm92aWRlckxhYmVsOlh0LkxhYmVsUHJvZHVjdC5TeW1ib2xTZWFyY2hCdXR0b24sdHJhY2tpbmdEYXRhOntzb3VyY2U6ImNoYXJ0X3Rvb2xiYXIiLHByaW1hcnlfbWVudToiQ29udGVudE1lbnUifSxwbGFjZW1lbnRSdWxlczpbe2FuY2hvclBvaW50Ont4OjAseToxfSxjb250ZW50UG9pbnQ6e3g6MCx5OjB9LG9mZnNldDp7eDoyLHk6NX0sb3ZlcmZsb3dIb3Jpem9udGFsOiJzbGlkZSIsb3ZlcmZsb3dWZXJ0aWNhbDoiY3JvcFNsaWRlIn1dLHNob3dGaW5hbmNpYWxzOmQsb25DbG9zZTp0aGlzLl9vbkNvbnRlbnRNZW51Q2xvc2UsYW5jaG9yZWQ6e3R5cGU6ImVsZW1lbnQiLGF0OnRoaXMuX2NvbnRlbnRNZW51QnV0dG9uUmVmfSxpc09wZW46dGhpcy5zdGF0ZS5pc0NvbnRlbnRNZW51T3BlbmVkLGFjdHVhbENvbnRlbnRJZDp0aGlzLnN0YXRlLmFjdHVhbENvbnRlbnRJZCxyZWY6dGhpcy5fbWVudVJlZixzaG93Q2hhcnQ6ITB9KSl9YXN5bmMgX3VwZGF0ZVF1b3RlcyhlKXtpZighZSlyZXR1cm47Y29uc3QgdD1hd2FpdCgwLGp0LnNuYXBzaG90ZXIpKCkuZ2V0U25hcHNob3QoZSxuZXcgU2V0KFsic2hvcnRfbmFtZSJdKSk7aWYoZT09PWMubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKSlpZigiZXJyb3IiPT09dC5zdGF0dXMpdGhpcy5zZXRTdGF0ZSh7c3ltYm9sOmUsc2hvcnROYW1lOmhuKCl9KTtlbHNle2NvbnN0e3ZhbHVlczpufT10O3RoaXMuc2V0U3RhdGUoe3N5bWJvbDplLHNob3J0TmFtZTpuLnNob3J0X25hbWV8fGhuKCl9KX19fWZ1bmN0aW9uIGhuKCl7Y29uc3QgZT1jLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCk7cmV0dXJuKDAsS3Quc2FmZVNob3J0TmFtZSkoZSl9Y24uY29udGV4dFR5cGU9ZG47dmFyIHZuPW4oOTcxNTQ1KSxtbj1uKDg4NzAxOCk7ZnVuY3Rpb24gcG4oZSl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOmwoKShtbi5kZXNjcmlwdGlvbixlLmNsYXNzTmFtZSl9LGUuY2hpbGRyZW4pfXZhciBmbj1uKDUxMDU5OCksZ249bigxNjU0MTIpO2NvbnN0IGJuPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7bGFiZWxSb3c6Z24ubGFiZWxSb3csdG9vbGJveDpnbi50b29sYm94LGl0ZW06Z24udGl0bGVJdGVtfSksd249KDAsenQubWVyZ2VUaGVtZXMpKGFlLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHtsYWJlbFJvdzpnbi5sYWJlbFJvdyx0b29sYm94OmduLnRvb2xib3gsCml0ZW06Z24udGl0bGVJdGVtVGFibGV0U21hbGx9KSxDbj0oMCx6dC5tZXJnZVRoZW1lcykoYWUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse2l0ZW06Z24uaXRlbX0pLF9uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7aXRlbTpnbi5pdGVtVGFibGV0U21hbGx9KTtmdW5jdGlvbiB5bihlKXtjb25zdHtyb2xlOnQsY2xhc3NOYW1lOm4saXRlbTphLGRlc2NyaXB0aW9uOm8sZmF2b3JpdGU6cyxpc0Zhdm9yaXRpbmdBbGxvd2VkOnIsaXNUYWJsZXRTbWFsbDpkLG9uQXBwbHk6dSxvblJlbW92ZTpjLG9uRmF2b3I6aCxpc0FjdGl2ZTp2LGRlc2NyaXB0aW9uRGF0YU5hbWU6bSwuLi5wfT1lLGY9cCxbZyxiXT0oMCxVZS51c2VIb3ZlckRlcHJlY2F0ZWQpKCksdz1kP3duOmJuLEM9ZD9fbjpDbixfPSgwLGkudXNlQ2FsbGJhY2spKCgoKT0+dShhKSksW3UsYV0pLHk9KDAsaS51c2VDYWxsYmFjaykoKGU9PmMoYSxlKSksW2MsYV0pLFM9KDAsaS51c2VDYWxsYmFjaykoKCgpPT57aCYmaChhKX0pLFtoLGFdKTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5iLC4uLmYsY2xhc3NOYW1lOmwoKShuLGduLndyYXApfSxpLmNyZWF0ZUVsZW1lbnQoQS5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6dCx0aGVtZTp3LGxhYmVsOmkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OmEubmFtZX0pLGxhYmVsUm93Q2xhc3NOYW1lOmwoKShkJiZnbi5pdGVtTGFiZWxUYWJsZXRTbWFsbCksc2hvd1Rvb2xib3hPbkhvdmVyOiFzJiYhZyxzaG93VG9vbGJveE9uRm9jdXM6ITAsb25DbGljazpfLGlzQWN0aXZlOnYsdG9vbGJveDppLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLCFhLmlzRGVmYXVsdCYmaS5jcmVhdGVFbGVtZW50KEtlLk1lbnVSZW1vdmVCdXR0b24se2tleToicmVtb3ZlIixoaWRkZW46IWplLnRvdWNoJiYhZyxvbkNsaWNrOnksY2xhc3NOYW1lOmwoKShnbi5yZW1vdmUsdiYmZ24uYWN0aXZlKX0pLEJvb2xlYW4oaCkmJnImJmkuY3JlYXRlRWxlbWVudChILk1lbnVGYXZvcml0ZUJ1dHRvbix7a2V5OiJmYXZvcml0ZSIsaXNGaWxsZWQ6Qm9vbGVhbihzKSxvbkNsaWNrOlN9KSl9KSxvJiZpLmNyZWF0ZUVsZW1lbnQoYWUuUG9wdXBNZW51SXRlbSx7dGhlbWU6QyxsYWJlbDppLmNyZWF0ZUVsZW1lbnQocG4se2NsYXNzTmFtZTpsKCkoZ24uZGVzY3JpcHRpb24sZCYmZ24uZGVzY3JpcHRpb25UYWJsZXRTbWFsbCl9LG8pLG9uQ2xpY2s6Xyxpc0FjdGl2ZTp2LCJkYXRhLW5hbWUiOm19KSl9dmFyIFNuPW4oODI0NTkwKTtmdW5jdGlvbiB4bihlKXtjb25zdHtpdGVtOnQsb25GYXZvcjpvLG9uQXBwbHk6cyxvblJlbW92ZTpsLGlzUmVtb3ZhYmxlOnIsaXNGYXZvcmFibGU6ZCxpc0Zhdm9yaXRlOmMsaXNUYWJsZXRTbWFsbDpoLC4uLnZ9PWUsbT10Lm1ldGFfaW5mbyxwPW0/KDAsU24uZ2V0U3R1ZHlUZW1wbGF0ZURlc2NTdHJpbmcpKG0uaW5kaWNhdG9ycyk6dm9pZCAwLGY9KHI/MTowKSsoZD8xOjApLGc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5vPy4odCkpLFtvLHRdKSxiPSgwLGkudXNlQ2FsbGJhY2spKChlPT5sPy4odCxlKSksW2wsdF0pLHc9KDAsaS51c2VDYWxsYmFjaykoKCgpPT5zKHQpKSxbcyx0XSk7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChSLk1lbnVJdGVtLHsuLi52LHJvbGU6InJvdyIsb25DbGljazp3LGFyaWFMZXZlbDoyLHJpZ2h0U2xvdDpmdW5jdGlvbigpe2lmKCFkJiYhcilyZXR1cm4gbnVsbDtyZXR1cm5bciYmaS5jcmVhdGVFbGVtZW50KEwuQ29udGV4dEFjdGlvbix7a2V5OiJyZW1vdmUiLGhpZGVJZk5vSG92ZXI6ITAscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRGUse3JvbGU6ImJ1dHRvbiIsb25DbGljazpiLHRpdGxlOnUudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGVzIG1lbnUgaXRlbSJ9LG4oMzkzMjczKSksaWNvbjpXZSxkYXRhUWFJZDoicmVtb3ZlLWluZGljYXRvci10ZW1wbGF0ZS1idXR0b24ifSkpLGQmJmkuY3JlYXRlRWxlbWVudChMLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IWMscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoRi5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6ISFjLG9uQ2xpY2s6Z30pKV19KCksYXJpYUxhYmVsOnQubmFtZSxkZXNjcmlwdGlvbjpwLGVsbGlwc2lzOiExLHRpdGxlOmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjozLWZ9LGkuY3JlYXRlRWxlbWVudChmbi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOnQubmFtZX0pOmkuY3JlYXRlRWxlbWVudCh5bix7Li4uZSxyb2xlOiJyb3ciLGlzRmF2b3JpdGluZ0FsbG93ZWQ6ZCxmYXZvcml0ZTpjLGRlc2NyaXB0aW9uOnAsaXRlbTp7Li4udCxpc0RlZmF1bHQ6dC5pc19kZWZhdWx0fSwiZGF0YS1uYW1lIjp0Lm5hbWUsImRhdGEtaWQiOnQuaWR9KX12YXIgRW49big3NzE5ODMpO2NvbnN0IE1uPSgwLHp0Lm1lcmdlVGhlbWVzKShhZS5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSxFbik7ZnVuY3Rpb24ga24oZSl7Y29uc3R7b25DbGljazp0LGlzVGFibGV0U21hbGw6bixjbGFzc05hbWU6byxpY29uOnMsdGl0bGU6ZCwuLi51fT1lO3JldHVybigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoUi5NZW51SXRlbSx7Li4udSxyb2xlOiJyb3ciLG9uQ2xpY2s6KCk9PnQoKSxsZWZ0U2xvdDpzP2kuY3JlYXRlRWxlbWVudChWLlN2Z0ljb25MaXN0SXRlbVBhcnQse2ljb25Tdmc6c30pOm51bGwsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiZ3JpZGNlbGwiLCJhcmlhLWNvbHNwYW4iOjN9LGQpLGFyaWFMYWJlbDpkLGFyaWFMZXZlbDoxLAoiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGRhdGFRYUlkOiJpbmRpY2F0b3JzLWFjdGlvbi1tZW51LWl0ZW0ifSk6aS5jcmVhdGVFbGVtZW50KEEuQWNjZXNzaWJsZU1lbnVJdGVtLHsuLi51LHJvbGU6InJvdyIsdGhlbWU6TW4sY2xhc3NOYW1lOmwoKShvLEVuLndyYXApLGxhYmVsOmkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOkVuLnRpdGxlV3JhcH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKEVuLnRpdGxlLG4mJkVuLnRpdGxlVGFibGV0U21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoci5JY29uLHtjbGFzc05hbWU6RW4uaWNvbixpY29uOnN9KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpFbi50ZXh0fSxkKSkpLG9uQ2xpY2s6dH0pfXZhciBJbj1uKDM0MjI2MSksVG49big2ODEyMjQpO2NvbnN0IEFuPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgSG49big5OTU1NDkpLFZuPW4oNzYxOTcxKSxSbj1uKDc4Mzc4MSk7ZnVuY3Rpb24gRm4oZSl7Y29uc3R7dGVtcGxhdGVzOnQscmVjZW50czpvLG9uVGVtcGxhdGVTYXZlOnMsb25UZW1wbGF0ZVJlbW92ZTpyLG9uVGVtcGxhdGVTZWxlY3Q6ZCxvblRlbXBsYXRlRmF2b3JpdGU6Yyxpc1RhYmxldFNtYWxsOmgsaXNMb2FkaW5nOnYsb25PcGVuVGVtcGxhdGVzRGlhbG9nOm19PWUscD0oMCxpLnVzZU1lbW8pKCgoKT0+dC5maWx0ZXIoKGU9PmUuaXNfZGVmYXVsdCkpKSxbdF0pLGY9KDAsaS51c2VNZW1vKSgoKCk9PnQuZmlsdGVyKChlPT4hZS5pc19kZWZhdWx0KSkpLFt0XSksZz0oMCxpLnVzZUNvbnRleHQpKEFuKSxiPSgwLGkudXNlQ29udGV4dCkoVG4uTWVudUNvbnRleHQpLHc9KDAsSW4udXNlRm9yY2VVcGRhdGUpKCk7KDAsaS51c2VFZmZlY3QpKCgoKT0+e2lmKG51bGwhPT1nKXtjb25zdCBlPXt9O3JldHVybiBnLmdldE9uQ2hhbmdlKCkuc3Vic2NyaWJlKGUsKCgpPT57dygpLGImJmIudXBkYXRlKCl9KSksKCk9PmcuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZUFsbChlKX1yZXR1cm4oKT0+e319KSxbXSk7Y29uc3QgQz0oZSx0KT0+aS5jcmVhdGVFbGVtZW50KHhuLHtrZXk6ZS5uYW1lLGl0ZW06ZSxpc0Zhdm9yYWJsZTpCb29sZWFuKGMpLGlzUmVtb3ZhYmxlOiFlLmlzX2RlZmF1bHQsaXNGYXZvcml0ZTpudWxsIT09ZS5mYXZvcml0ZV9kYXRlLG9uQXBwbHk6ZT0+ZChlLGZ1bmN0aW9uKGUpe2lmKCJyZWNlbnQiPT09ZSlyZXR1cm4idGVtcGxhdGVzX3JlY2VudCI7cmV0dXJufSh0KSksb25GYXZvcjpjLG9uUmVtb3ZlOnIsaXNUYWJsZXRTbWFsbDpoLCJkYXRhLWdyb3VwLW5hbWUiOnQsImRhdGEtaXMtZGVmYXVsdCI6ZS5pc19kZWZhdWx0fSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToidHJlZWdyaWQiLGNsYXNzTmFtZTpsKCkoUm4ubWVudSwoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIikmJlJuLm5ld1ZpZXcsaCYmUm4ubWVudVNtYWxsVGFibGV0LCFoJiZSbi5kZXNrdG9wKX0saS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOnMsaXNUYWJsZXRTbWFsbDpoLGljb246SG4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2luZGljYXRvcnNfYWN0aW9uX21lbnUifSxuKDI0NDA4MCkpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSx2JiZpLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCxudWxsLGkuY3JlYXRlRWxlbWVudChMbixudWxsKSxpLmNyZWF0ZUVsZW1lbnQoZmUuVG9vbFdpZGdldE1lbnVTcGlubmVyLG51bGwpKSwhdiYmKCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKT9pLmNyZWF0ZUVsZW1lbnQoem4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6QyxzdGF0ZTpoP3ZvaWQgMDpnfSk6aD9pLmNyZWF0ZUVsZW1lbnQoWm4se2RlZmF1bHRzOnAsY3VzdG9tczpmLHJlY2VudHM6byxyZW5kZXI6Q30pOmkuY3JlYXRlRWxlbWVudChObix7ZGVmYXVsdHM6cCxjdXN0b21zOmYscmVjZW50czpvLHJlbmRlcjpDLHN0YXRlOmd9KSksaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoTG4sbnVsbCksaS5jcmVhdGVFbGVtZW50KGtuLHtvbkNsaWNrOm0saXNUYWJsZXRTbWFsbDpoLGljb246Vm4sdGl0bGU6KDAsWGUuYXBwZW5kRWxsaXBzaXMpKHUudChudWxsLHZvaWQgMCxuKDgwNjYzNikpKSwiYXJpYS1oYXNwb3B1cCI6ImRpYWxvZyJ9KSkpfWZ1bmN0aW9uIExuKCl7cmV0dXJuKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2hvd19uZXdfbWVudV9pdGVtc19pbl9jaGFydF9tZW51cyIpP2kuY3JlYXRlRWxlbWVudChkLkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIn0pOmkuY3JlYXRlRWxlbWVudChiLlBvcHVwTWVudVNlcGFyYXRvcixudWxsKX1mdW5jdGlvbiBabihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyVGFibGV0U21hbGx9LHUudChudWxsLHZvaWQgMCxuKDM1ODI5MSkpKSxvLm1hcCgoZT0+cyhlLCJyZWNlbnQiKSkpKSl9ZnVuY3Rpb24gTm4oZSl7Y29uc3R7ZGVmYXVsdHM6dCxjdXN0b21zOmEscmVjZW50czpvLHJlbmRlcjpzLHN0YXRlOmx9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoYi5Qb3B1cE1lbnVTZXBhcmF0b3IsbnVsbCksaS5jcmVhdGVFbGVtZW50KHBlLlRvb2xXaWRnZXRNZW51U3VtbWFyeSx7Y2xhc3NOYW1lOlJuLm1lbnVJdGVtSGVhZGVyCn0sdS50KG51bGwsdm9pZCAwLG4oMzU4MjkxKSkpLG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKX1mdW5jdGlvbiB6bihlKXtjb25zdHtkZWZhdWx0czp0LGN1c3RvbXM6YSxyZWNlbnRzOm8scmVuZGVyOnMsc3RhdGU6bH09ZSxyPShhLmxlbmd0aD4wJiZ0Lmxlbmd0aCx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNTE4MjQ5KSkpO3UudChudWxsLHtjb250ZXh0OiJoZWFkZXIgdG9vbGJhciBpbmRpY2F0b3IgdGVtcGxhdGUgc2VjdGlvbiBpdGVtIn0sbigzMjU5MTApKSx1LnQobnVsbCx7Y29udGV4dDoiaGVhZGVyIHRvb2xiYXIgaW5kaWNhdG9yIHRlbXBsYXRlIHNlY3Rpb24gaXRlbSJ9LG4oNDI3NDQyKSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsby5sZW5ndGg+MCYmaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoZC5EaXZpZGVyTGlzdEl0ZW0se3JvbGU6InNlcGFyYXRvciJ9KSxpLmNyZWF0ZUVsZW1lbnQoYmUuU2VjdGlvbkxpc3RJdGVtLHt0aXRsZTppLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsImFyaWEtY29sc3BhbiI6M30sciksYXJpYUxhYmVsOnIsZ3JvdXBSb2xlOiJyb3dncm91cCIsYXJpYUxldmVsOjF9LG8ubWFwKChlPT5zKGUsInJlY2VudCIpKSkpKSl9dmFyIEJuPW4oMjMyMzY0KSxPbj1uKDQzMDgxNCk7Y2xhc3MgRG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pc0Zhdm9yaXRlRW5hYmxlZD0oMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJpdGVtc19mYXZvcml0aW5nIiksdGhpcy5oYW5kbGVGYXZvclRlbXBsYXRlPWU9PntpZighdGhpcy5faXNGYXZvcml0ZUVuYWJsZWQpcmV0dXJuO2NvbnN0e2lkOnQsaXNfZGVmYXVsdDpuLGZhdm9yaXRlX2RhdGU6YX09ZTtudWxsIT09YT90aGlzLl9yZW1vdmVGYXZvcml0ZVRlbXBsYXRlKHQsbik6dGhpcy5fYWRkRmF2b3JpdGVUZW1wbGF0ZSh0LG4pfSx0aGlzLmhhbmRsZURyb3Bkb3duT3Blbj0oKT0+e3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYodGhpcy5fc2V0U3RhdGUoe2lzTG9hZGluZzohMH0pLHRoaXMuX3N0dWR5VGVtcGxhdGVzLmludmFsaWRhdGUoKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKCgpPT50aGlzLl9zZXRTdGF0ZSh7aXNMb2FkaW5nOiExfSkpKSl9LHRoaXMuaGFuZGxlQXBwbHlUZW1wbGF0ZT0oZSx0KT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLmFwcGx5VGVtcGxhdGUoZS5uYW1lLHQpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZSYmdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlLmFkZChlLmlkKX0sdGhpcy5oYW5kbGVSZW1vdmVUZW1wbGF0ZT0oZSx0LG4pPT57dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZGVsZXRlU3R1ZHlUZW1wbGF0ZShlLm5hbWUsdCxuKX0sdGhpcy5oYW5kbGVTYXZlVGVtcGxhdGU9ZT0+e3RoaXMuX3N0dWR5VGVtcGxhdGVzLnNob3dTYXZlQXNEaWFsb2coZSl9LHRoaXMuX3N0dWR5VGVtcGxhdGVzPWUsdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPXQ7Y29uc3Qgbj10aGlzLl9yZWNlbnRTdHVkeVRlbXBsYXRlc1NlcnZpY2U/LmdldCgpfHxbXSxpPXRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKTt0aGlzLl9zdGF0ZT1uZXcgQm4uV2F0Y2hlZFZhbHVlKHtpc0xvYWRpbmc6ITEsc3R1ZHlUZW1wbGF0ZXNMaXN0OmkscmVjZW50czpufSksdGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UpLHRoaXMuX3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZT8uZ2V0T25DaGFuZ2UoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZWNlbnRzQ2hhbmdlKSx0aGlzLl9zdHVkeVRlbXBsYXRlcy5yZWZyZXNoU3R1ZHlUZW1wbGF0ZUxpc3QoKX1kZXN0cm95KCl7dGhpcy5fc3R1ZHlUZW1wbGF0ZXMuZ2V0T25DaGFuZ2UoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVRlbXBsYXRlc0NoYW5nZSksdGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXRPbkNoYW5nZSgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5faGFuZGxlUmVjZW50c0NoYW5nZSl9c3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUucmVhZG9ubHkoKX1nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9Pm51bGwhPT1lLmZhdm9yaXRlX2RhdGUpKS5zb3J0KCgoZSx0KT0+bnVsbCE9PWUuZmF2b3JpdGVfZGF0ZSYmbnVsbCE9PXQuZmF2b3JpdGVfZGF0ZSYmZS5mYXZvcml0ZV9kYXRlPnQuZmF2b3JpdGVfZGF0ZT8xOi0xKSl9Z2V0VmFsaWRSZWNlbnRzKGUpe2NvbnN0IHQ9ZS5yZWR1Y2UoKChlLHQpPT4oZVt0LmlkXT10LGUpKSx7fSk7cmV0dXJuIHRoaXMuX3N0YXRlLnZhbHVlKCkucmVjZW50cy5tYXAoKGU9PnRbZV0pKS5maWx0ZXIoKGU9PnZvaWQgMCE9PWUpKX1fc2V0U3RhdGUoZSl7dGhpcy5fc3RhdGUuc2V0VmFsdWUoey4uLnRoaXMuX3N0YXRlLnZhbHVlKCksLi4uZX0pfV9oYW5kbGVUZW1wbGF0ZXNDaGFuZ2UoKXt0aGlzLl9zZXRTdGF0ZSh7c3R1ZHlUZW1wbGF0ZXNMaXN0OnRoaXMuX3N0dWR5VGVtcGxhdGVzLmxpc3QoKX0pfV9oYW5kbGVSZWNlbnRzQ2hhbmdlKCl7dGhpcy5fc2V0U3RhdGUoe3JlY2VudHM6dGhpcy5fcmVjZW50U3R1ZHlUZW1wbGF0ZXNTZXJ2aWNlPy5nZXQoKXx8W119KX1fcmVtb3ZlRmF2b3JpdGVUZW1wbGF0ZShlLHQpe2NvbnN0IG49dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxudWxsLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZuKGUsITEpfV9hZGRGYXZvcml0ZVRlbXBsYXRlKGUsdCl7CmNvbnN0IG49dGhpcy5nZXRTb3J0ZWRGYXZvcml0ZXNTdHVkeVRlbXBsYXRlcyh0aGlzLl9zdGF0ZS52YWx1ZSgpLnN0dWR5VGVtcGxhdGVzTGlzdCksYT1uLmxlbmd0aD9uW24ubGVuZ3RoLTFdLmZhdm9yaXRlX2RhdGU6MCxpPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkP0RhdGUubm93KCk6YSsxLG89dD9Pbi5iYWNrZW5kLmZhdm9yU3RhbmRhcmRTdHVkeVRlbXBsYXRlOk9uLmJhY2tlbmQuZmF2b3JTdHVkeVRlbXBsYXRlO3RoaXMuX3JlcGxhY2VPbGRGYXZvcml0ZVN0dWR5VGVtcGxhdGUoZSxpLHQpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZvKGUsITApfV9yZXBsYWNlT2xkRmF2b3JpdGVTdHVkeVRlbXBsYXRlKGUsdCxuKXtjb25zdCBhPXRoaXMuX3N0YXRlLnZhbHVlKCkuc3R1ZHlUZW1wbGF0ZXNMaXN0Lm1hcCgoYT0+YS5pZD09PWUmJmEuaXNfZGVmYXVsdD09PW4/ey4uLmEsZmF2b3JpdGVfZGF0ZTp0fTphKSk7dGhpcy5fc2V0U3RhdGUoe3N0dWR5VGVtcGxhdGVzTGlzdDphfSl9fXZhciBXbj1uKDYyNzA0NSk7dmFyIFBuPW4oMTU5ODc3KSxVbj1uKDI1NzY5MSk7Y29uc3Qgam49KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEtuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT1lPT57dGhpcy5zZXRTdGF0ZSh7Li4uZSxpc0FjdGl2ZTp0aGlzLnN0YXRlLmlzQWN0aXZlfSl9LHRoaXMuX2hhbmRsZUFwcGx5VGVtcGxhdGU9KGUsdCk9Pnt0aGlzLl9oYW5kbGVDbG9zZSgpLHRoaXMuX21vZGVsLmhhbmRsZUFwcGx5VGVtcGxhdGUoZSx0KX0sdGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGU9KGUsdCxuKT0+e3RoaXMuX2hhbmRsZUNsb3NlKCksdGhpcy5fbW9kZWwuaGFuZGxlUmVtb3ZlVGVtcGxhdGUoZSx0LG4pfSx0aGlzLl9oYW5kbGVDbG9zZT0oKT0+e3RoaXMuX2hhbmRsZVRvZ2dsZURyb3Bkb3duKCExKX0sdGhpcy5faGFuZGxlVG9nZ2xlRHJvcGRvd249ZT0+e2NvbnN0e2lzQWN0aXZlOnR9PXRoaXMuc3RhdGUsbj0iYm9vbGVhbiI9PXR5cGVvZiBlP2U6IXQ7dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6bn0pfSx0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nPSgpPT57KGFzeW5jIGZ1bmN0aW9uKGUpeyhhd2FpdCBQcm9taXNlLmFsbChbbi5lKDUxMzE0KSxuLmUoMjkyOTYpLG4uZSg1MjM5Niksbi5lKDYwMDYyKSxuLmUoMjAzNTQpLG4uZSgxMzQ5Miksbi5lKDM3NzQ2KSxuLmUoODM0ODgpLG4uZSg5NTA0KSxuLmUoNzI2NjYpLG4uZSg5ODA4NCksbi5lKDEwMzg1KSxuLmUoNTIwNjUpLG4uZSg0NzYzMiksbi5lKDY2MDUpLG4uZSg5MTg1NSksbi5lKDMyMTc2KSxuLmUoNDI3MjEpLG4uZSg0NzIwMSksbi5lKDkxNjcwKSxuLmUoNTUzOSksbi5lKDIzNzIpLG4uZSgzOTYwOSksbi5lKDQyMjg4KSxuLmUoOTMyNzcpLG4uZSgyOTc2NSldKS50aGVuKG4uYmluZChuLDMzMDM2OSkpKS5JbmRpY2F0b3JUZW1wbGF0ZXNEaWFsb2dSZW5kZXJlci5nZXRJbnN0YW5jZSgpLnNob3coe21vZGVsOmV9KX0pKHRoaXMuX21vZGVsKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtzdHVkeVRlbXBsYXRlczpvLmFueS5pc1JlcXVpcmVkLHRlbXBsYXRlc01lbnVWaWV3U3RhdGVTZXJ2aWNlOm8uYW55LHJlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTpvLmFueX0pO2NvbnN0e3JlY2VudFN0dWR5VGVtcGxhdGVzU2VydmljZTphLHN0dWR5VGVtcGxhdGVzOml9PXQ7dGhpcy5fbW9kZWw9bmV3IERuKGksYSksdGhpcy5zdGF0ZT17Li4udGhpcy5fbW9kZWwuc3RhdGUoKS52YWx1ZSgpLGlzQWN0aXZlOiExfX1jb21wb25lbnREaWRNb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21vZGVsLnN0YXRlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX21vZGVsLmRlc3Ryb3koKX1yZW5kZXIoKXtjb25zdHtzdHVkeVRlbXBsYXRlc0xpc3Q6ZX09dGhpcy5zdGF0ZSx7aXNTaG93blF1aWNrczp0LGNsYXNzTmFtZTpuLGRpc3BsYXlNb2RlOmEsaWQ6b309dGhpcy5wcm9wcyxzPXRoaXMuX21vZGVsLmdldFNvcnRlZEZhdm9yaXRlc1N0dWR5VGVtcGxhdGVzKGUpLGw9dGhpcy5fbW9kZWwuZ2V0VmFsaWRSZWNlbnRzKGUpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoQW4uUHJvdmlkZXIse3ZhbHVlOnRoaXMuY29udGV4dC50ZW1wbGF0ZXNNZW51Vmlld1N0YXRlU2VydmljZXx8bnVsbH0saS5jcmVhdGVFbGVtZW50KFFuLHtpZDpvLGNsYXNzTmFtZTpuLG1vZGU6YSx0ZW1wbGF0ZXM6ZSxmYXZvcml0ZXM6cyxyZWNlbnRzOmwsb25NZW51T3Blbjp0aGlzLl9tb2RlbC5oYW5kbGVEcm9wZG93bk9wZW4sb25UZW1wbGF0ZUZhdm9yaXRlOnQ/dGhpcy5fbW9kZWwuaGFuZGxlRmF2b3JUZW1wbGF0ZTp2b2lkIDAsb25UZW1wbGF0ZVNlbGVjdDp0aGlzLl9oYW5kbGVBcHBseVRlbXBsYXRlLG9uVGVtcGxhdGVSZW1vdmU6dGhpcy5faGFuZGxlUmVtb3ZlVGVtcGxhdGUsb25UZW1wbGF0ZVNhdmU6dGhpcy5fbW9kZWwuaGFuZGxlU2F2ZVRlbXBsYXRlLG9uT3BlblRlbXBsYXRlc0RpYWxvZzp0aGlzLl9oYW5kbGVPcGVuVGVtcGxhdGVzRGlhbG9nfSkpfX1mdW5jdGlvbiBRbihlKXtjb25zdHtpZDp0LGNsYXNzTmFtZTpvLG1vZGU6cyx0ZW1wbGF0ZXM6cixmYXZvcml0ZXM6ZCxyZWNlbnRzOmMsaXNNZW51T3BlbjpoLG9uVGVtcGxhdGVTZWxlY3Q6dixvblRlbXBsYXRlU2F2ZTpmLG9uVGVtcGxhdGVGYXZvcml0ZTpnLG9uVGVtcGxhdGVSZW1vdmU6Yixvbk9wZW5UZW1wbGF0ZXNEaWFsb2c6X309ZSx5PSgwLGkudXNlUmVmKShudWxsKSxTPSgwLGkudXNlUmVmKShudWxsKSx4PWwoKShvLFVuLndyYXAse1tVbi5mdWxsXToiZnVsbCI9PT1zLFtVbi5tZWRpdW1dOiJtZWRpdW0iPT09c30pLEU9InNtYWxsIiE9PXMmJmcmJmQubGVuZ3RoPjA7cmV0dXJuIGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDp0LGNsYXNzTmFtZTp4fSxpLmNyZWF0ZUVsZW1lbnQody5NYXRjaE1lZGlhLHsKcnVsZTpDLkRpYWxvZ0JyZWFrcG9pbnRzLlRhYmxldFNtYWxsfSwodD0+aS5jcmVhdGVFbGVtZW50KG0uVG9vbGJhck1lbnVCdXR0b24se3JlZjp5LG1lbnVSZWZlcmVuY2U6Uyxvbk9wZW46ZS5vbk1lbnVPcGVuLGlzRHJhd2VyOnQsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsYXJyb3c6ITEsY29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHt0YWc6ImRpdiIsY2xhc3NOYW1lOmwoKShFJiZVbi5idXR0b25XaXRoRmF2b3JpdGVzKSxkaXNwbGF5TW9kZTpzLGlzT3BlbmVkOmgsaWNvbjpQbixmb3JjZUludGVyYWN0aXZlOiEwLGNvbGxhcHNlV2hlbjpbImZ1bGwiLCJtZWRpdW0iLCJzbWFsbCJdfSksb25DbGljazprLHRvb2x0aXA6dS50KG51bGwsdm9pZCAwLG4oNjE2OSkpLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X25ld19tZW51X2l0ZW1zX2luX2NoYXJ0X21lbnVzIiksbWVudURhdGFOYW1lOiJpbmRpY2F0b3ItdGVtcGxhdGVzLW1lbnUifSxpLmNyZWF0ZUVsZW1lbnQoRm4se29uVGVtcGxhdGVTYXZlOmYsb25UZW1wbGF0ZVNlbGVjdDp2LG9uVGVtcGxhdGVSZW1vdmU6TSxvblRlbXBsYXRlRmF2b3JpdGU6Zyx0ZW1wbGF0ZXM6cixyZWNlbnRzOmMsaXNUYWJsZXRTbWFsbDp0LG9uT3BlblRlbXBsYXRlc0RpYWxvZzpffSkpKSksRSYmaS5jcmVhdGVFbGVtZW50KHFuLHtmYXZvcml0ZXM6ZCxvblRlbXBsYXRlU2VsZWN0OmZ1bmN0aW9uKGUpe3YoZSwidGVtcGxhdGVzX2Zhdm9yaXRlcyIpLGsoKX19KSk7ZnVuY3Rpb24gTShlLHQpe2lmKHQmJigwLEcuaXNLZXlib2FyZENsaWNrKSh0KSYmUy5jdXJyZW50KXtjb25zdCB0PSgwLGllLnF1ZXJ5TWVudUVsZW1lbnRzKShTLmN1cnJlbnQpLG49dC5maW5kSW5kZXgoKHQ9Pm51bGwhPT10LmNsb3Nlc3QoYFtkYXRhLWlkPSIke2UuaWR9Il1gKSkpO2IoZSxudWxsLCgoKT0+e2lmKC0xIT09biYmUy5jdXJyZW50KXtjb25zdCBlPXRbbisxXT8/dFtuLTFdO2U/ZS5mb2N1cygpOigwLGllLmZvY3VzRmlyc3RNZW51SXRlbSkoUy5jdXJyZW50KSx5LmN1cnJlbnQ/LnVwZGF0ZSgpfX0pKX1lbHNlIGIoZSl9ZnVuY3Rpb24gaygpeygwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwiaW5kaWNhdG9yIHRlbXBsYXRlcyIpfX1mdW5jdGlvbiBxbihlKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxlLmZhdm9yaXRlcy5tYXAoKCh0LG4sYSk9PmkuY3JlYXRlRWxlbWVudChXbi5GYXZvcml0ZUl0ZW0se2tleTp0Lm5hbWUsaXRlbTp0LG9uQXBwbHk6ZS5vblRlbXBsYXRlU2VsZWN0LGNsYXNzTmFtZTpsKCkoe1tVbi5maXJzdF06MD09PW4sW1VuLmxhc3RdOm49PT1hLmxlbmd0aC0xfSl9KSkpKX1Lbi5jb250ZXh0VHlwZT1qbjtuKDgyOTE4MCk7dmFyICRuPW4oMTc1Mzk1KSxYbj1uKDQ5OTcyNCksR249big3NjIwMiksSm49big1NzA2ODMpO2NvbnN0IFluPXt1bmRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWiJdLHRleHQ6InswfSArIHsxfSJ9KSxyZWRvSG90S2V5OigwLG9lLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLE0uaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoTS5Nb2RpZmllcnMuTW9kLCExKSwiWSJdLHRleHQ6InswfSArIHsxfSJ9KX0sZWE9KDAsenQubWVyZ2VUaGVtZXMpKGYuREVGQVVMVF9UT09MQkFSX0JVVFRPTl9USEVNRSxKbiksdGE9KDAseS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIG5hIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9iYXRjaGVkPW51bGwsdGhpcy5faGFuZGxlQ2xpY2tVbmRvPSgpPT57KDAsWC50cmFja0V2ZW50KSgiR1VJIiwiVW5kbyIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidW5kbyIpO2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQ7ZS51bmRvSGlzdG9yeS51bmRvKCl9LHRoaXMuX2hhbmRsZUNsaWNrUmVkbz0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIlJlZG8iKSwoMCxELnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsInJlZG8iKTtjb25zdHtjaGFydFdpZGdldENvbGxlY3Rpb246ZX09dGhpcy5jb250ZXh0O2UudW5kb0hpc3RvcnkucmVkbygpfSwoMCx5LnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpfWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25DaGFuZ2VTdGFjayksZS51bmRvSGlzdG9yeS51bmRvU3RhY2soKS5vbkNoYW5nZSgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhbmdlU3RhY2spfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLnVuZG9IaXN0b3J5LnJlZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSxlLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLm9uQ2hhbmdlKCkudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYW5nZVN0YWNrKSx0aGlzLl9iYXRjaGVkPW51bGx9cmVuZGVyKCl7Y29uc3R7aWQ6ZX09dGhpcy5wcm9wcyx7aXNFbmFibGVkUmVkbzp0LGlzRW5hYmxlZFVuZG86YSxyZWRvU3RhY2s6byx1bmRvU3RhY2s6c309dGhpcy5zdGF0ZTtsZXQgbCxyLGQsYztyZXR1cm4gYSYmKGw9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7cmVwbGFjZTp7aGludDpzfSxjb250ZXh0OiJ1bmRvIGNvbW1hbmQgdGV4dCJ9LG4oNzMxNjQ5KSkpLHI9WW4udW5kb0hvdEtleSksdCYmKGQ9KDAsJG4uY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKSh1LnQobnVsbCx7CnJlcGxhY2U6e2hpbnQ6b30sY29udGV4dDoidW5kbyBjb21tYW5kIHRleHQifSxuKDQ1MzI2MykpKSxjPVluLnJlZG9Ib3RLZXkpLGkuY3JlYXRlRWxlbWVudChwLlRvb2xXaWRnZXRSb3dXcmFwLHtpZDplfSxpLmNyZWF0ZUVsZW1lbnQoZi5Ub29sYmFyQnV0dG9uLHtpY29uOlhuLGlzRGlzYWJsZWQ6IWEsb25DbGljazp0aGlzLl9oYW5kbGVDbGlja1VuZG8sdGhlbWU6ZWEsdG9vbHRpcDpsLCJkYXRhLXRvb2x0aXAtaG90a2V5IjpyfSksaS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhckJ1dHRvbix7aWNvbjpHbixpc0Rpc2FibGVkOiF0LG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2tSZWRvLHRoZW1lOmVhLHRvb2x0aXA6ZCwiZGF0YS10b29sdGlwLWhvdGtleSI6Y30pKX1fb25DaGFuZ2VTdGFjaygpe251bGw9PT10aGlzLl9iYXRjaGVkJiYodGhpcy5fYmF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2lmKG51bGw9PT10aGlzLl9iYXRjaGVkKXJldHVybjt0aGlzLl9iYXRjaGVkPW51bGw7Y29uc3QgZT10aGlzLl9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpO3RoaXMuc2V0U3RhdGUoZSl9KSkpfV9nZXRTdGF0ZUZyb21VbmRvSGlzdG9yeSgpe2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjplfT10aGlzLmNvbnRleHQsdD1lLnVuZG9IaXN0b3J5LnVuZG9TdGFjaygpLG49ZS51bmRvSGlzdG9yeS5yZWRvU3RhY2soKSxhPW4uaGVhZCgpLGk9dC5oZWFkKCk7cmV0dXJue2lzRW5hYmxlZFJlZG86IW4uaXNFbXB0eSgpLGlzRW5hYmxlZFVuZG86IXQuaXNFbXB0eSgpLHJlZG9TdGFjazphP2EudGV4dCgpLnRyYW5zbGF0ZWRUZXh0KCk6IiIsdW5kb1N0YWNrOmk/aS50ZXh0KCkudHJhbnNsYXRlZFRleHQoKToiIn19fW5hLmNvbnRleHRUeXBlPXRhO3ZhciBhYT1uKDM0NDc4NSksaWE9big0Mjk0NjUpLG9hPW4oOTkwMDE0KTtmdW5jdGlvbiBzYShlKXtjb25zdHt0aXRsZTp0LGNoaWxkcmVuOm4saXNTbWFsbFdpZHRoOmEsc2VwYXJhdG9yOm8sY2xhc3NOYW1lOnN9PWU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JvdXAiLGNsYXNzTmFtZTpsKCkocyxvYS5yb3csYSYmb2Euc21hbGxSb3cpfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dJbm5lcn0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLnJvd0xhYmVsLGEmJm9hLnNtYWxsUm93TGFiZWwpfSx0KSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvYS5yb3dCdXR0b25zLCJkYXRhLXJvbGUiOiJyb3cifSxuKSksbyl9ZnVuY3Rpb24gbGEoZSl7Y29uc3R7aXNBY3RpdmU6dCxpY29uOm4saXNTbWFsbFdpZHRoOmEsY2xhc3NOYW1lOm8sbGF5b3V0OnMsb25DbGljazpkLGlzRmlyc3RJdGVtSW5Sb3c6dSwuLi5jfT1lLGg9YyxbdixtXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIse3JvbGU6Im1lbnVpdGVtcmFkaW8iLGNsYXNzTmFtZTpsKCkobyxvYS5sYXlvdXRCdXR0b25XcmFwLGEmJm9hLnNtYWxsV2lkdGgsb2EuYWNjZXNzaWJsZSksdHlwZToiYnV0dG9uIiwiYXJpYS1jaGVja2VkIjp0LCJhcmlhLWxhYmVsIjpzLCJkYXRhLXJvbGUiOnU/Im1lbnVpdGVtIjp2b2lkIDAscmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOmZ1bmN0aW9uKCl7ZChzKX0sLi4uaH0saS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6bCgpKG9hLmxheW91dEJ1dHRvbix0JiZvYS5pc0FjdGl2ZSxhJiZvYS5zbWFsbFdpZHRoTGF5b3V0QnV0dG9uKX0saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7aWNvbjpufSkpKX12YXIgcmE9bigyOTc4NDkpLGRhPW4oNjE1NDI0KSx1YT1uKDY3Mjg4NiksY2E9bigzNzYxNjMpLGhhPW4oNDU3OTg5KSx2YT1uKDY3MDI2NCksbWE9big1OTU2MjUpLHBhPW4oMjIxMTU4KSxmYT1uKDU5NDg0NiksZ2E9big5NDUyMzgpLGJhPW4oNDA4OTY0KSx3YT1uKDEyNDg1KSxDYT1uKDQ2NzE0NSksX2E9bigxMjYxNjYpLHlhPW4oMjczNzc1KSxTYT1uKDc2MzU1NSkseGE9big5MDYwNTApLEVhPW4oNzg5MTA4KSxNYT1uKDcyMDI5Myksa2E9big2NTYzMDQpLElhPW4oMTkxNTY1KSxUYT1uKDIyMzIyNyksQWE9big2NjMyMjIpLEhhPW4oNDIyNTk4KSxWYT1uKDc2NTU3MiksUmE9big5NzQ1NiksRmE9big2NDc2OTIpLExhPW4oNTYzNDg3KSxaYT1uKDczNzAxNyksTmE9big4NjA4NTIpLHphPW4oOTIwNTIpLEJhPW4oMTAwNDYzKSxPYT1uKDUyNzcyMyksRGE9big4MjY3MTkpLFdhPW4oOTk4Mjg2KSxQYT1uKDU2Mjk5NCksVWE9bigxNjQ0NSksamE9big4NjY4MjYpLEthPW4oNTc1MTAwKSxRYT1uKDg4MDg5MykscWE9big1MTM5MTIpLCRhPW4oOTQ0NTgpLFhhPW4oODY4NzY2KSxHYT1uKDU3NDE1OSksSmE9big2OTc3NTMpLFlhPW4oMzk2NzUwKTtjb25zdCBlaT17czpyYSwiMmgiOmRhLCIydiI6dWEsIjNoIjpjYSwiM3YiOmhhLCIzcyI6dmEsIjNyIjptYSwiMi0xIjpwYSwiMS0yIjpmYSw0OmdhLCI0diI6YmEsIjRoIjp3YSwiNHMiOkNhLCI0cy1sIjpfYSwiMS0zIjp5YSwiMy0xIjpTYSwiMi0yLWwiOnhhLCIyLTItciI6RWEsIjItMiI6TWEsIjEtNCI6a2EsIjVoIjpJYSwiNXYiOlRhLCI1cyI6QWEsIjVzLWwiOkhhLCIyLTMiOlZhLCIzLTIiOlJhLCI0LTEiOkZhLCIyLTMtbCI6TGEsIjItMy1yIjpaYSw2Ok5hLCI2aCI6emEsIjZ2IjpHYSwiNmMiOkJhLCIyLTQiOk9hLCI0LTIiOkRhLCI0LTMiOldhLCI3aCI6SmEsIjdzIjpuKDc0MjUwOSksODpQYSwiOGMiOlVhLCI4aCI6SmEsIjh2IjpHYSwiOXMiOmphLCI1LTQiOkthLCI5aCI6SmEsIjl2IjpHYSwiMTBjNSI6UWEsIjEwaCI6SmEsIjEwdiI6R2EsIjEyYzYiOnFhLCIxMmM0IjokYSwiMTJoIjpKYSwiMTRjNyI6WWEsIjE2YzgiOllhLCIxNmM0IjpYYX07dmFyIHRpPW4oMjU1MzI5KSxuaT1uKDM3NDMwNCksYWk9big0NTY1MjUpO2NvbnN0IGlpPSgwLHp0Lm1lcmdlVGhlbWVzKShuaS5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWUse2xhYmVsOmFpLnN3aXRjaGVyTGFiZWx9KQo7Y2xhc3Mgb2kgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fb25DaGFuZ2U9KCk9Pnt0aGlzLnNldFN0YXRlKHtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX0pfSx0aGlzLl9oYW5kbGVDbGljaz0oKT0+e2NvbnN0e29uQ2xpY2s6ZSx3YXRjaGVkVmFsdWU6dH09dGhpcy5wcm9wcztlKHQpfSx0aGlzLnN0YXRlPXtpc0NoZWNrZWQ6dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudmFsdWUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLnByb3BzLndhdGNoZWRWYWx1ZS5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5wcm9wcy53YXRjaGVkVmFsdWUudW5zdWJzY3JpYmUodGhpcy5fb25DaGFuZ2UpfXJlbmRlcigpe2NvbnN0e3JvbGU6ZSxsYWJlbDp0LHZhbHVlOm4sY2xhc3NOYW1lOmF9PXRoaXMucHJvcHMse2lzQ2hlY2tlZDpvfT10aGlzLnN0YXRlO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQodGkuTWVudUl0ZW1Td2l0Y2hlcix7cm9sZTplLHRoZW1lOmlpLGxhYmVsOnQsY2hlY2tlZDpvLHZhbHVlOm4sb25DaGFuZ2U6dGhpcy5faGFuZGxlQ2xpY2ssY2xhc3NOYW1lOmF9KX19dmFyIHNpPW4oOTA4MDM0KSxsaT1uKDUyNzIxOSkscmk9big0NTI2MTcpO2xldCBkaT1be2xheW91dHM6WyJzIl0sdGl0bGU6IjEifSx7bGF5b3V0czpbIjJoIiwiMnYiXSx0aXRsZToiMiJ9LHtsYXlvdXRzOlsiM2giLCIzdiIsIjNzIiwiM3IiLCIyLTEiLCIxLTIiXSx0aXRsZToiMyJ9LHtsYXlvdXRzOlsiNCIsIjR2IiwiNGgiLCI0cyIsIjRzLWwiLCIxLTMiLCIzLTEiLCIyLTItbCIsIjItMi1yIiwiMi0yIl0sdGl0bGU6IjQifSx7bGF5b3V0czpbIjEtNCIsIjVoIiwiNXYiLCI1cyIsIjVzLWwiLCIyLTMiLCIzLTIiLCI0LTEiLCIyLTMtbCIsIjItMy1yIl0sdGl0bGU6IjUifSx7bGF5b3V0czpbIjYiLCI2aCIsIjZ2IiwiNmMiLCIyLTQiLCI0LTIiXSx0aXRsZToiNiJ9LHtsYXlvdXRzOlsiNC0zIiwiN2giLCI3cyJdLHRpdGxlOiI3In0se2xheW91dHM6WyI4IiwiOGMiLCI4aCIsIjh2Il0sdGl0bGU6IjgifV07ZGk9Wy4uLmRpLHtsYXlvdXRzOlsiOXMiLCI1LTQiLCI5aCIsIjl2Il0sdGl0bGU6IjkifSx7bGF5b3V0czpbIjEwYzUiLCIxMGgiLCIxMHYiXSx0aXRsZToiMTAifSx7bGF5b3V0czpbIjEyYzYiLCIxMmM0IiwiMTJoIl0sdGl0bGU6IjEyIn0se2xheW91dHM6WyIxNGM3Il0sdGl0bGU6IjE0In0se2xheW91dHM6WyIxNmM4IiwiMTZjNCJdLHRpdGxlOiIxNiJ9XTtjb25zdCB1aT17bGF5b3V0VHlwZTp1LnQobnVsbCx2b2lkIDAsbig5Mjc3MDUpKSxzeW5jR3JvdXBUaXRsZTp1LnQobnVsbCx2b2lkIDAsbig3Mzk5MzYpKSxzeW5jQ3Jvc3NoYWlyTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNzM3MjE1KSksc3luY0Nyb3NzaGFpckhpbnQ6dS50KG51bGwsdm9pZCAwLG4oMTI0NzgpKSxzeW5jSW50ZXJ2YWxMYWJlbDp1LnQobnVsbCx2b2lkIDAsbigxMjc1NjkpKSxzeW5jSW50ZXJ2YWxIaW50OnUudChudWxsLHZvaWQgMCxuKDQwNTk0NikpLHN5bmNEYXRlUmFuZ2VMYWJlbDp1LnQobnVsbCx2b2lkIDAsbig0Mjc0OTQpKSxzeW5jRGF0ZVJhbmdlSGludDp1LnQobnVsbCx2b2lkIDAsbigxMDQ1NTkpKSxzeW5jU3ltYm9sTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oNjEzMTYzKSksc3luY1N5bWJvbEhpbnQ6dS50KG51bGwsdm9pZCAwLG4oNDgyMjI1KSksc3luY1RyYWNrTGFiZWw6dS50KG51bGwsdm9pZCAwLG4oODYyMTE5KSksc3luY1RyYWNrSGludDp1LnQobnVsbCx2b2lkIDAsbig1MjAzODcpKX07ZnVuY3Rpb24gY2koZSl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOnQsaXNTbWFsbFdpZHRoOm59PWUsW2Esb109KDAsaS51c2VTdGF0ZSkoInMiKSxbcyxyXT0oMCxzaS51c2VSb3dzTmF2aWdhdGlvbikoITApO3JldHVybigwLGkudXNlRWZmZWN0KSgoKCk9PntmdW5jdGlvbiBlKGUpe28oZXx8dC5sYXlvdXQudmFsdWUoKSl9cmV0dXJuIHQubGF5b3V0LnN1YnNjcmliZShlLHtjYWxsV2l0aExhc3Q6ITB9KSwoKT0+dC5sYXlvdXQudW5zdWJzY3JpYmUoZSl9KSxbdF0pLGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnJpLmRyb3Bkb3dufSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpzLHJvbGU6Im1lbnUiLG9uS2V5RG93bjpyLCJkYXRhLW5hbWUiOiJsYXlvdXRzLWxpc3QifSxuJiZpLmNyZWF0ZUVsZW1lbnQoaWEuVG9vbFRpdGxlLHt0ZXh0OnVpLmxheW91dFR5cGV9KSxkaS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoc2Ese2tleTplLnRpdGxlLGlzU21hbGxXaWR0aDpuLHRpdGxlOmUudGl0bGUsc2VwYXJhdG9yOnQhPT1kaS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLG51bGwpfSxlLmxheW91dHMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGxhLHtrZXk6ZSxsYXlvdXQ6ZSxpY29uOmVpW2VdLG9uQ2xpY2s6dSxpc0FjdGl2ZTplPT09YSxpc1NtYWxsV2lkdGg6bixpc0ZpcnN0SXRlbUluUm93OjA9PT10LCJkYXRhLXFhLWlkIjpgbGF5b3V0cy1saXN0LWl0ZW0tJHtlfWB9KSkpKSkpKSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsbiYmaS5jcmVhdGVFbGVtZW50KGIuUG9wdXBNZW51U2VwYXJhdG9yLHtzaXplOiJub3JtYWwifSkpLGkuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGkuY3JlYXRlRWxlbWVudChpYS5Ub29sVGl0bGUse3RleHQ6dWkuc3luY0dyb3VwVGl0bGUsY2xhc3NOYW1lOmwoKShyaS5zeW5jQ2hhcnRzLG4mJnJpLm1vYmlsZSl9KSxmdW5jdGlvbigpe2NvbnN0IGU9bCgpKHJpLnN3aXRjaGVyLG4mJnJpLm1vYmlsZSk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cm9sZToiZ3JpZCIsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjohMCxjbGFzc05hbWU6cmkuc3luY0xpc3RXcmFwcGVyfSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jU3ltYm9sTGFiZWwsCmhpbnQ6dWkuc3luY1N5bWJvbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNTeW1ib2xMYWJlbCIsd2F0Y2hlZFZhbHVlOnQubG9jay5zeW1ib2wsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jSW50ZXJ2YWxMYWJlbCxoaW50OnVpLnN5bmNJbnRlcnZhbEhpbnQsaXNTbWFsbFdpZHRoOm59KSxvbkNsaWNrOmQsdmFsdWU6InN5bmNJbnRlcnZhbExhYmVsIix3YXRjaGVkVmFsdWU6dC5sb2NrLmludGVydmFsLGNsYXNzTmFtZTplfSksaS5jcmVhdGVFbGVtZW50KG9pLHtyb2xlOiJyb3ciLGxhYmVsOmkuY3JlYXRlRWxlbWVudChoaSx7dGl0bGU6dWkuc3luY0Nyb3NzaGFpckxhYmVsLGhpbnQ6dWkuc3luY0Nyb3NzaGFpckhpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLmNyb3NzaGFpcix2YWx1ZToic3luY0Nyb3NzaGFpckxhYmVsIixvbkNsaWNrOmQsY2xhc3NOYW1lOmV9KSxpLmNyZWF0ZUVsZW1lbnQob2kse3JvbGU6InJvdyIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KGhpLHt0aXRsZTp1aS5zeW5jVHJhY2tMYWJlbCxoaW50OnVpLnN5bmNUcmFja0hpbnQsaXNTbWFsbFdpZHRoOm59KSx3YXRjaGVkVmFsdWU6dC5sb2NrLnRyYWNrVGltZSx2YWx1ZToic3luY1RyYWNrTGFiZWwiLG9uQ2xpY2s6ZCxjbGFzc05hbWU6ZX0pLGkuY3JlYXRlRWxlbWVudChvaSx7cm9sZToicm93IixsYWJlbDppLmNyZWF0ZUVsZW1lbnQoaGkse3RpdGxlOnVpLnN5bmNEYXRlUmFuZ2VMYWJlbCxoaW50OnVpLnN5bmNEYXRlUmFuZ2VIaW50LGlzU21hbGxXaWR0aDpufSksb25DbGljazpkLHZhbHVlOiJzeW5jRGF0ZVJhbmdlTGFiZWwiLHdhdGNoZWRWYWx1ZTp0LmxvY2suZGF0ZVJhbmdlLGNsYXNzTmFtZTplfSkpfSgpKSk7ZnVuY3Rpb24gZChlKXtjb25zdCB0PSFlLnZhbHVlKCk7ZS5zZXRWYWx1ZSh0KX1mdW5jdGlvbiB1KGUpeygwLHplLmdsb2JhbENsb3NlTWVudSkoKSx0LmxheW91dC52YWx1ZSgpPT09ZT90LnJldmVydFRvSW5saW5lKCk6dC5zZXRDaGFydExheW91dFdpdGhVbmRvKGUpfX1mdW5jdGlvbiBoaShlKXtjb25zdHt0aXRsZTp0LGhpbnQ6bixpc1NtYWxsV2lkdGg6YX09ZSxbbyxzXT0oMCxPZS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyaS5zd2l0Y2hMYWJlbFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6InJvd2hlYWRlciIsY2xhc3NOYW1lOnJpLnN3aXRjaExhYmVsfSx0KSwhYSYmaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7cm9sZToiY2VsbCIsY2xhc3NOYW1lOmwoKShyaS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHJpLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6biwiYXJpYS1sYWJlbCI6bixvbkZvY3VzOigpPT4oMCxhYS5zaG93T25FbGVtZW50KSgoMCxuZS5lbnN1cmVOb3ROdWxsKShvLmN1cnJlbnQpKSxvbkJsdXI6KCk9PigwLGFhLmhpZGUpKCksdGFiSW5kZXg6cyxyZWY6b30saS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmluZm9JY29uLGljb246bGl9KSkpfWNvbnN0IHZpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBtaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fb25VcGRhdGVMYXlvdXQ9ZT0+e2NvbnN0e2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjp0fT10aGlzLmNvbnRleHQ7dGhpcy5zZXRTdGF0ZSh7Y3VycmVudElkOmV8fHQubGF5b3V0LnZhbHVlKCl9KX0sdGhpcy5faGFuZGxlT3BlbkxheW91dD0oKT0+eygwLFgudHJhY2tFdmVudCkoIkdVSSIsIkNoYXJ0IEhlYWRlciBUb29sYmFyIiwic2VsZWN0IGxheW91dCIpLCgwLEQudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwibGF5b3V0IHR5cGUiKX0sKDAseS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246by5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2N1cnJlbnRJZDoicyJ9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC5zdWJzY3JpYmUodGhpcy5fb25VcGRhdGVMYXlvdXQse2NhbGxXaXRoTGFzdDohMH0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dDtlLmxheW91dC51bnN1YnNjcmliZSh0aGlzLl9vblVwZGF0ZUxheW91dCl9cmVuZGVyKCl7Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xhc3NOYW1lOnQsaWQ6YX09dGhpcy5wcm9wcyx7Y3VycmVudElkOm99PXRoaXMuc3RhdGU7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCh3Lk1hdGNoTWVkaWEse3J1bGU6Qy5EaWFsb2dCcmVha3BvaW50cy5UYWJsZXRTbWFsbH0sKHM9PmkuY3JlYXRlRWxlbWVudChtLlRvb2xiYXJNZW51QnV0dG9uLHtpZDphLGFycm93OiExLGNvbnRlbnQ6aS5jcmVhdGVFbGVtZW50KHIuSWNvbix7Y2xhc3NOYW1lOnJpLmljb24saWNvbjplaVtvXX0pLGNsYXNzTmFtZTpsKCkodCxyaS5idXR0b24pLGlzRHJhd2VyOnMsZHJhd2VyUG9zaXRpb246IkJvdHRvbSIsb25PcGVuOnRoaXMuX2hhbmRsZU9wZW5MYXlvdXQsdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAsbig5NzQyMTQpKSwiZGF0YS1xYS1pZCI6InN0cmluZyI9PXR5cGVvZiBhPyJsYXlvdXRzLW1lbnUtYnV0dG9uIjp2b2lkIDB9LGkuY3JlYXRlRWxlbWVudChjaSx7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmUsaXNTbWFsbFdpZHRoOnN9KSkpKX19bWkuY29udGV4dFR5cGU9dmk7Y29uc3QgcGk9ZT0+e2lmKChlPT4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI9PT1lPy5uYW1lc3BhY2VVUkkpKGUpJiYidHJ1ZSIhPT1lLmRhdGFzZXQuaW50ZXJuYWxBbGxvd0tleWJvYXJkTmF2aWdhdGlvbil7ZS50YWJJbmRleD0tMSxlLmFyaWFEaXNhYmxlZD0idHJ1ZSIKO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKXBpKGUuY2hpbGRyZW4uaXRlbSh0KSl9fTtjbGFzcyBmaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fd3JhcHBlckVsZW1lbnQ9bnVsbCx0aGlzLl9yZXNpemVPYnNlcnZlcj1udWxsLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCx0aGlzLl91cGRhdGU9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuX3NldFJlZj1lPT57dGhpcy5fd3JhcHBlckVsZW1lbnQ9ZX0sdGhpcy5faGFuZGxlTWVhc3VyZT0oW2VdKT0+e3RoaXMucHJvcHMud2lkdGguc2V0VmFsdWUoZS5jb250ZW50UmVjdC53aWR0aCl9LHRoaXMuX2hhbmRsZU11dGF0aW9uPShbZV0pPT57ImNoaWxkTGlzdCI9PT1lLnR5cGUmJnBpKHRoaXMucHJvcHMuZWxlbWVudCl9fWNvbXBvbmVudERpZE1vdW50KCl7Y29uc3R7ZWxlbWVudDplLGlzRmFrZTp0LHdpZHRoOm59PXRoaXMucHJvcHM7IXQmJnRoaXMuX3dyYXBwZXJFbGVtZW50Pyh0aGlzLl9yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlTWVhc3VyZSksdGhpcy5fbXV0YXRpb25PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcih0aGlzLl9oYW5kbGVNdXRhdGlvbiksdGhpcy5fd3JhcHBlckVsZW1lbnQuYXBwZW5kQ2hpbGQoZSksdGhpcy5fcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKGUse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSkpOm4uc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXtjb25zdHt3aWR0aDplLGlzRmFrZTp0fT10aGlzLnByb3BzO3QmJmUudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlKSx0aGlzLl9yZXNpemVPYnNlcnZlciYmdGhpcy5fd3JhcHBlckVsZW1lbnQmJnRoaXMuX3Jlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLl93cmFwcGVyRWxlbWVudCksdGhpcy5fbXV0YXRpb25PYnNlcnZlciYmKHRoaXMuX211dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX211dGF0aW9uT2JzZXJ2ZXI9bnVsbCl9cmVuZGVyKCl7Y29uc3R7aXNGYWtlOmU9ITEsd2lkdGg6dH09dGhpcy5wcm9wcztyZXR1cm4gaS5jcmVhdGVFbGVtZW50KHAuVG9vbFdpZGdldFJvd1dyYXAse3JlZjp0aGlzLl9zZXRSZWYsc3R5bGU6ZT97d2lkdGg6dC52YWx1ZSgpfTp2b2lkIDAsImRhdGEtaXMtY3VzdG9tLWhlYWRlci1lbGVtZW50IjohMH0pfX1mdW5jdGlvbiBnaShlKXtjb25zdHtkaXNwbGF5TW9kZTp0LHBhcmFtczpufT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sYmFyTWVudUJ1dHRvbix7Y29udGVudDppLmNyZWF0ZUVsZW1lbnQodm4uVG9vbFdpZGdldENvbGxhcHNpYmxlQnV0dG9uLHtjb2xsYXBzZVdoZW46dm9pZCAwIT09bi5pY29uP3ZvaWQgMDpbXSxkaXNwbGF5TW9kZTp0LGljb246bi5pY29uLHRleHQ6bi50aXRsZSwiZGF0YS1uYW1lIjoiZHJvcGRvd24iLCJkYXRhLWlzLWN1c3RvbS1oZWFkZXItZWxlbWVudCI6ITB9KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkMuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsdG9vbHRpcDpuLnRvb2x0aXB9LG4uaXRlbXMubWFwKCgoZSx0KT0+aS5jcmVhdGVFbGVtZW50KGFlLlBvcHVwTWVudUl0ZW0se2tleTp0LGxhYmVsOmUudGl0bGUsaWNvbjplLmljb24sb25DbGljazooKT0+ZS5vblNlbGVjdCgpLCJkYXRhLW5hbWUiOiJkcm9wZG93bi1pdGVtIn0pKSkpfXZhciBiaT1uKDcxMTI4Myk7ZnVuY3Rpb24gd2koZSl7Y29uc3R7Y2xhc3NOYW1lOnQsdGl0bGU6biwuLi5hfT1lO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoJC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24sey4uLmEsY2xhc3NOYW1lOmwoKSh0LGJpLmN1c3RvbVRyYWRpbmdWaWV3U3R5bGVCdXR0b24sYmkud2l0aG91dEljb24pLGNvbGxhcHNlV2hlbjpbXSwiZGF0YS1uYW1lIjoiY3VzdG9tLXRyYWRpbmd2aWV3LXN0eWxlZC1idXR0b24iLHRvb2x0aXA6bn0pfXZhciBDaT1uKDYwOTUzNCk7Y29uc3QgX2k9KDAsb2UuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsTS5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShNLk1vZGlmaWVycy5Nb2QsITEpLCJLIl0sdGV4dDoiezB9ICsgezF9In0pLHlpPSgwLHkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBTaSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUpLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX3VwZGF0ZVN0YXRlPWU9Pnt0aGlzLnNldFN0YXRlKHtpc09wZW5lZDplfSl9LHRoaXMuX2hhbmRsZUNsaWNrPWU9Pntjb25zdHtvcGVuR2xvYmFsU2VhcmNoOnR9PXRoaXMuY29udGV4dDt0KHtzaG91bGRSZXR1cm5Gb2N1czooMCxHLmlzS2V5Ym9hcmRDbGljaykoZSl9KS50aGVuKChlPT57dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpLHRoaXMuX2RpYWxvZz1lLGUudmlzaWJsZSgpLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9KSl9LCgwLHkudmFsaWRhdGVSZWdpc3RyeSkodCx7b3Blbkdsb2JhbFNlYXJjaDpvLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNPcGVuZWQ6ITF9fWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fZGlhbG9nPy52aXNpYmxlKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlU3RhdGUpfXJlbmRlcigpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoaHQuVG9vbGJhckljb25CdXR0b24sey4uLnRoaXMucHJvcHMsaWNvbjpDaSxpc09wZW5lZDp0aGlzLnN0YXRlLmlzT3BlbmVkLG9uQ2xpY2s6dGhpcy5faGFuZGxlQ2xpY2ssImRhdGEtdG9vbHRpcC1ob3RrZXkiOl9pLHRvb2x0aXA6dS50KG51bGwse2NvbnRleHQ6InRvb2xiYXJfcXVpY2tfc2VhcmNoX3Rvb2x0aXAifSxuKDkwOTg0NykpfSl9fVNpLmNvbnRleHRUeXBlPXlpO3ZhciB4aT1uKDU2OTM5OCk7ZnVuY3Rpb24gRWkoKXtsZXQgZTtyZXR1cm4gZT0oMCwKYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2xheW91dHRvZ2dsZSIpP21pOnZvaWQgMCx7QmFyczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfY2hhcnRfdHlwZSIpP3E6dm9pZCAwLENvbXBhcmU6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2NvbXBhcmUiKT9lZTp2b2lkIDAsQ3VzdG9tOmZpLEN1c3RvbVRyYWRpbmdWaWV3U3R5bGVkQnV0dG9uOndpLEZ1bGxzY3JlZW46KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Z1bGxzY3JlZW5fYnV0dG9uIikmJihDdC5DaGVja01vYmlsZS5hbnkoKSYmISgwLHhpLmlzRmVhdHVyZUVuYWJsZWQpKCJoaWRlX2Z1bGxzY3JlZW5fbW9kZV9vbl9tb2JpbGUiKXx8IUN0LkNoZWNrTW9iaWxlLmFueSgpKT90ZS5Ub29sV2lkZ2V0RnVsbHNjcmVlbjp2b2lkIDAsSW5kaWNhdG9yczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfaW5kaWNhdG9ycyIpP0FlOnZvaWQgMCxJbnRlcnZhbHM6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3Jlc29sdXRpb25zIik/Y3Q6dm9pZCAwLE9wZW5Qb3B1cDpmdCxQcm9wZXJ0aWVzOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zZXR0aW5ncyIpJiYoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2NoYXJ0X3Byb3BlcnR5X3BhZ2UiKT93dDp2b2lkIDAsU2F2ZUxvYWQ6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NhdmVsb2FkIik/TXQ6dm9pZCAwLFNjcmVlbnNob3Q6KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3NjcmVlbnNob3QiKT9adDp2b2lkIDAsU3ltYm9sU2VhcmNoOigwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIik/Y246dm9pZCAwLFRlbXBsYXRlczooMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV90ZW1wbGF0ZXMiKT9Lbjp2b2lkIDAsRHJvcGRvd246Z2ksVW5kb1JlZG86KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3VuZG9fcmVkbyIpP25hOnZvaWQgMCxMYXlvdXQ6ZSxRdWlja1NlYXJjaDpDdC5DaGVja01vYmlsZS5hbnkoKXx8KDAsQXQuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKXx8KDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iil8fCEoMCxhLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoZWFkZXJfcXVpY2tfc2VhcmNoIik/dm9pZCAwOlNpfX19LDY4ODYzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0RnVsbHNjcmVlbjooKT0+Z30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjIxODk2KSxvPW4oOTE0NDg3KSxzPW4ubihvKSxsPW4oMTg1MjcxKSxyPW4oOTY3MDUpLGQ9big1Njk2NTIpLHU9bigzNDUxNTEpLGM9bigyMzU3MjQpLGg9bigyMTYwODMpLHY9big0MzQwMzcpLG09bigxNzU0NjcpO2NvbnN0IHA9KDAsdS5ob3RLZXlTZXJpYWxpemUpKHtrZXlzOlsoMCxjLmh1bWFuUmVhZGFibGVNb2RpZmllcnMpKGMuTW9kaWZpZXJzLlNoaWZ0LCExKSwiRiJdLHRleHQ6InswfSArIHsxfSJ9KSxmPSgwLGQucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtjbGFzcyBnIGV4dGVuZHMgYS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl91cGRhdGVTdGF0ZT0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzRnVsbHNjcmVlbjp0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS52YWx1ZSgpfSl9LHRoaXMuX2hhbmRsZUNsaWNrPSgpPT57Y29uc3R7Y2hhcnRXaWRnZXRDb2xsZWN0aW9uOmV9PXRoaXMuY29udGV4dCx7Y2xpY2tBcmVhOnR9PXRoaXMucHJvcHM7ZS5mdWxsc2NyZWVuKCkudmFsdWUoKT9lLmV4aXRGdWxsc2NyZWVuKCk6ZS5zdGFydEZ1bGxzY3JlZW4oKSx0JiYoMCxoLnRyYWNrQnV0dG9uQ2xpY2spKHQsImZ1bGxzY3JlZW4gbW9kZSIpfSwoMCxkLnZhbGlkYXRlUmVnaXN0cnkpKHQse2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjppLmFueS5pc1JlcXVpcmVkfSksdGhpcy5zdGF0ZT17aXNGdWxsc2NyZWVuOnRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uZnVsbHNjcmVlbigpLnZhbHVlKCl9LHRoaXMuX3N1YnNjcmliZSgpfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTplLGlkOnQsaXNBY3RpdmU6aX09dGhpcy5wcm9wcyx7aXNGdWxsc2NyZWVuOm99PXRoaXMuc3RhdGU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChyLlRvb2xiYXJJY29uQnV0dG9uLHtpZDp0LGljb246bz9tOnYsb25DbGljazp0aGlzLl9oYW5kbGVDbGljayxjbGFzc05hbWU6cygpKGUpLHRvb2x0aXA6bC50KG51bGwsdm9pZCAwLG4oNTIyOTExKSksImRhdGEtdG9vbHRpcC1ob3RrZXkiOnAsaXNBY3RpdmU6aX0pfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5jb250ZXh0LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5mdWxsc2NyZWVuKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN0YXRlKX1fdW5zdWJzY3JpYmUoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmZ1bGxzY3JlZW4oKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVTdGF0ZSl9fWcuY29udGV4dFR5cGU9Zn0sMzU5ODQ2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2NvbGxhcHNlU2VwYXJhdG9yczooKT0+dSxzb3J0UmVzb2x1dGlvbnNCeUNhdGVnb3JpZXM6KCk9PnJ9KTt2YXIgYT1uKDE4NTI3MSksaT1uKDI1NDY3Myksbz1uKDYxODY3Mikscz1uKDczMjczMSk7Y29uc3QgbD17W2kuUmVzb2x1dGlvbktpbmQuVGlja3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig4NzAzMDEpKSxbaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oNzUyNzAwKSksW2kuUmVzb2x1dGlvbktpbmQuTWludXRlc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDIzMDkwOSkpLFtpLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUiCn0sbigxMjY5MTcpKSxbaS5SZXNvbHV0aW9uS2luZC5EYXlzXTphLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfZ3JvdXBfbmFtZSJ9LG4oMjAyODkxKSksW2kuUmVzb2x1dGlvbktpbmQuV2Vla3NdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbig0MzM5OTQpKSxbaS5SZXNvbHV0aW9uS2luZC5Nb250aHNdOmEudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9ncm91cF9uYW1lIn0sbigzNDQ3NDcpKSxbaS5SZXNvbHV0aW9uS2luZC5SYW5nZV06YS50KG51bGwse2NvbnRleHQ6ImludGVydmFsX2dyb3VwX25hbWUifSxuKDI4ODAzNCkpLFtpLlJlc29sdXRpb25LaW5kLkludmFsaWRdOiIifTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9ZChpLlJlc29sdXRpb25LaW5kLlRpY2tzKSxuPWQoaS5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKSxhPWQoaS5SZXNvbHV0aW9uS2luZC5NaW51dGVzKSxvPWQoaS5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHM9ZChpLlJlc29sdXRpb25LaW5kLkRheXMpLGw9ZChpLlJlc29sdXRpb25LaW5kLlJhbmdlKTtlLmZvckVhY2goKGU9Pntjb25zdCByPWkuSW50ZXJ2YWwucGFyc2UoZSk7ci5pc01pbnV0ZUhvdXJzKCk/by5pdGVtcy5wdXNoKGUpOnIuaXNNaW51dGVzKCk/KDAsaS5pc0hvdXIpKE51bWJlcihyLm11bHRpcGxpZXIoKSkpP28uaXRlbXMucHVzaChlKTphLml0ZW1zLnB1c2goZSk6ci5pc1NlY29uZHMoKT9uLml0ZW1zLnB1c2goZSk6ci5pc0RXTSgpP3MuaXRlbXMucHVzaChlKTpyLmlzUmFuZ2UoKT9sLml0ZW1zLnB1c2goZSk6ci5pc1RpY2tzKCkmJnQuaXRlbXMucHVzaChlKX0pKTtyZXR1cm5bdCxuLGEsbyxzLGxdLmZpbHRlcigoZT0+MCE9PWUuaXRlbXMubGVuZ3RoKSl9ZnVuY3Rpb24gZChlLHQ9ITEpe3JldHVybntpZDplLG5hbWU6bFtlXSxpdGVtczpbXSxtYXlPbWl0U2VwYXJhdG9yOnR9fWZ1bmN0aW9uIHUoZSl7bGV0IHQ9ITE7cmV0dXJuIGUuZmlsdGVyKCgoZSxuLGEpPT57bGV0IGk9ITA7Y29uc3QgbD1lLnR5cGU9PT1vLlBvcHVwTWVudVNlcGFyYXRvcnx8ZS50eXBlPT09cy5EaXZpZGVyTGlzdEl0ZW07cmV0dXJuIGwmJigwIT09biYmbiE9PWEubGVuZ3RoLTF8fChpPSExKSx0JiYoaT0hMSkpLHQ9bCxpfSkpfX0sOTA2NjgzKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRTYXZlTG9hZFZpZXc6KCk9Pk1lfSk7dmFyIGE9bigxODUyNzEpLGk9big3Nzk0NzQpLG89big5MTQ0ODcpLHM9bi5uKG8pLGw9big1NTcwNjUpLHI9big5MzAyMzEpLGQ9bigyMzU3MjQpLHU9bigzMTg5NzQpLGM9bigxNTM3MzQpLGg9big4NTAxMDgpLHY9big2MTg2NzIpLG09big4NjQ2ODEpLHA9bigxODYwOTcpLGY9big3NzEyODUpLGc9bigzODcyMzEpLGI9big1MTA1OTgpLHc9big3MzI3MzEpLEM9bigzMTMxMTApLF89big3MjM5ODYpLHk9big4MDA5MTQpLFM9big2Mzg4NzIpLHg9bigyNTUzMjkpLEU9KG4oODI5MTgwKSxuKDIyMTg5NikpLE09big1Njk2NTIpLGs9big2MjcwNDUpLEk9big1NTgwNzUpO2NvbnN0IFQ9KDAsTS5yZWdpc3RyeUNvbnRleHRUeXBlKSgpO2NsYXNzIEEgZXh0ZW5kcyBpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpLHRoaXMuX2hhbmRsZUFjdGl2ZT1lPT57dGhpcy5zZXRTdGF0ZSh7aXNBY3RpdmU6dGhpcy5wcm9wcy5pdGVtLmlkPT09ZX0pfSx0aGlzLl9oYW5kbGVBcHBseT0oKT0+e3RoaXMucHJvcHMuaXRlbS5vcGVuQWN0aW9uKCExKX0sKDAsTS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246RS5hbnkuaXNSZXF1aXJlZH0pLHRoaXMuc3RhdGU9e2lzQWN0aXZlOmUuaXRlbS5hY3RpdmUoKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5tZXRhSW5mby5pZC5zdWJzY3JpYmUodGhpcy5faGFuZGxlQWN0aXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24/Lm1ldGFJbmZvLmlkLnVuc3Vic2NyaWJlKHRoaXMuX2hhbmRsZUFjdGl2ZSl9cmVuZGVyKCl7Y29uc3R7aXNBY3RpdmU6ZX09dGhpcy5zdGF0ZSx7aXRlbTp0LGNsYXNzTmFtZTpufT10aGlzLnByb3BzLGE9dC51cmw/KDAsSS5nZW5lcmF0ZUNoYXJ0VXJsKSh7Y2hhcnRJZDp0LnVybH0pOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGsuRmF2b3JpdGVJdGVtLHtpdGVtOnQsaXNBY3RpdmU6ZSx0YXJnZXQ6Il9zZWxmIixocmVmOmEsb25BcHBseTp0aGlzLl9oYW5kbGVBcHBseSxjbGFzc05hbWU6bn0pfX1BLmNvbnRleHRUeXBlPVQ7dmFyIEg9big0MzU0NDcpO2Z1bmN0aW9uIFYoZSl7Y29uc3R7ZmF2b3JpdGVzOnQsZGlzcGxheU1vZGU6bn09ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCx0Lm1hcCgoKGUsdCxhKT0+aS5jcmVhdGVFbGVtZW50KEEse2tleTplLmlkLGl0ZW06ZSxjbGFzc05hbWU6cygpKHtbSC5mdWxsXToiZnVsbCI9PT1uLFtILm1lZGl1bV06Im1lZGl1bSI9PT1uLFtILmZpcnN0XTowPT09dCxbSC5sYXN0XTp0PT09YS5sZW5ndGgtMX0pfSkpKSl9dmFyIFI9bigzNDUxNTEpLEY9bigyNzMzMTApLEw9big5OTU3MTkpLFo9bigzNzQzMDQpLE49bigzOTE1MDQpLHo9big3NjI4NTEpLEI9big2NDkxNjYpLE89bigxNzY0MzIpO2Z1bmN0aW9uIEQoZSl7Y29uc3R7aXNWaXNpYmxlOnQsaXNMb2FkaW5nOm4sbGFiZWw6YSxjbGFzc05hbWU6b309ZTtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShPLnN0YXRlVGl0bGUsIXQmJiFuJiZPLmhpZGRlbixvKX0sbj9pLmNyZWF0ZUVsZW1lbnQoQi5Mb2FkZXIse2NsYXNzTmFtZTpPLmxvYWRlcixzaXplOiJzbWFsbCIsc3RhdGljUG9zaXRpb246ITB9KTphKX12YXIgVz1uKDY2NjQ0MSksUD1uKDk3OTc0MiksVT1uKDEwMzE2MCksaj1uKDYxOTEwNSksSz1uKDExNDMwNyk7Y29uc3QgUT0oMCxnLm1lcmdlVGhlbWVzKShjLkRFRkFVTFRfUE9QVVBfTUVOVV9JVEVNX1RIRU1FLHt0b29sYm94OksudG9vbGJveH0pLHE9KDAsCmcubWVyZ2VUaGVtZXMpKGMuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUse3Rvb2xib3g6Sy50b29sYm94U21hbGx9KTtmdW5jdGlvbiAkKGUpe2NvbnN0e2xheW91dDp0LGNoYXJ0SWQ6bixmYXZvcml0ZXM6YSxpc1RhYmxldFNtYWxsOm8saXNOZXdWaWV3Omx9PWUscj1OdW1iZXIodC5pZCk9PT1uLHU9Qm9vbGVhbihhPy5bdC5pZF0pLGM9YC9jaGFydC8ke3QudXJsfSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH1gLHY9Qm9vbGVhbihXLnNob3dGYXZvcml0ZUxheW91dHMmJmEpLG09dj8xOjA7cmV0dXJuIGw/aS5jcmVhdGVFbGVtZW50KEMuTWVudUl0ZW0se2tleTp0LmlkLHJvbGU6InJvdyIsdGl0bGU6aS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKSghbyYmSy5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyLW19LGkuY3JlYXRlRWxlbWVudChiLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6dC5uYW1lfSkpLGRlc2NyaXB0aW9uOmAke3Quc3ltYm9sfSwgJHt0LmludGVydmFsfWAsImRhdGEtcm9sZSI6Im1lbnVpdGVtIixlbGxpcHNpczohbyxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1yZWNlbnQiLG9uQ2xpY2s6ZT0+ZihyLGUpLHNlbGVjdGVkOnIsaHJlZjpyP3ZvaWQgMDpjLHJpZ2h0U2xvdDp2P2kuY3JlYXRlRWxlbWVudChVLkNvbnRleHRBY3Rpb24se2tleToiZmF2b3JpdGUiLGhpZGVJZk5vSG92ZXI6IXUscm9sZToiZ3JpZGNlbGwifSxpLmNyZWF0ZUVsZW1lbnQoUC5GYXZvcml0ZUljb25CdXR0b24se2lzRmF2b3JpdGU6dSxvbkNsaWNrOnB9KSk6dm9pZCAwfSk6aS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6dC5pZCxyb2xlOiJyb3ciLGNsYXNzTmFtZTpzKCkoSy5sYXlvdXRJdGVtV3JhcCxvJiZLLmxheW91dEl0ZW1XcmFwU21hbGwsciYmSy5hY3RpdmUpLGlzQWN0aXZlOnIsbGFiZWxSb3dDbGFzc05hbWU6cygpKEsubGFiZWxSb3csbyYmSy5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksbGluazpyP3ZvaWQgMDpjLG9uQ2xpY2s6ZixvbkNsaWNrQXJnOnIsbGFiZWw6aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Sy5sYXlvdXRJdGVtfSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoSy5sYXlvdXRUaXRsZSxvJiZLLmxheW91dFRpdGxlU21hbGwpfSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnQubmFtZX0pKSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpLLmxheW91dE1ldGF9LHQuc3ltYm9sLCIsICIsdC5pbnRlcnZhbCkpLHRvb2xib3g6dj9pLmNyZWF0ZUVsZW1lbnQoai5NZW51RmF2b3JpdGVCdXR0b24se2lzQWN0aXZlOnIsaXNGaWxsZWQ6dSxvbkNsaWNrOnB9KTp2b2lkIDAsdGhlbWU6bz9xOlEsc2hvd1Rvb2xib3hPbkZvY3VzOiEwLHNob3dUb29sYm94T25Ib3ZlcjohdX0pO2Z1bmN0aW9uIHAoZSl7ZT8ucHJldmVudERlZmF1bHQoKSx0LmZhdm9yaXRlQWN0aW9uKCl9ZnVuY3Rpb24gZihlLG4pe3J8fCgwLGQubW9kaWZpZXJzRnJvbUV2ZW50KShuKSE9PWQuTW9kaWZpZXJzLk5vbmV8fCJidXR0b24iaW4gbiYmMT09PW4uYnV0dG9ufHwobi5wcmV2ZW50RGVmYXVsdCgpLHQub3BlbkFjdGlvbighMSkpfX12YXIgWD1uKDEzODYzOCksRz1uKDExNzMxMyksSj1uKDE4MjMwOCksWT1uKDEzODk5NCksZWU9bigzNDQ3ODUpLHRlPW4oMzcyMjM4KSxuZT1uKDc2MTE3NSk7ZnVuY3Rpb24gYWUoe2lzVGFibGV0U21hbGw6ZSxpc05ld1ZpZXc6dH0pe2NvbnN0W28sbF09KDAsSi51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLHI9YS50KG51bGwsdm9pZCAwLG4oNjY2OTQ0KSk7cmV0dXJuIHQ/aS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQsbnVsbCxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSksIWUmJiEoMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJmkuY3JlYXRlRWxlbWVudCgic3BhbiIse3JvbGU6ImdyaWRjZWxsIixjbGFzc05hbWU6bmUuaGludH0saS5jcmVhdGVFbGVtZW50KFkuSWNvblF1ZXN0aW9uSW5mb3JtYXRpb24se2ljb246ImluZm8iLGFyaWFMYWJlbDpyLHRvb2x0aXA6cixyZWY6byx0YWJJbmRleDpsfSkpKTppLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpuZS5zaGFyaW5nTGFiZWxXcmFwfSxpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJyb3doZWFkZXIiLGNsYXNzTmFtZTpuZS50aXRsZVNoYXJpbmdMYWJlbH0sYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNzQ1Njc2KSkpLCFlJiYhKDAsRy5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpJiZpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtyb2xlOiJncmlkY2VsbCIsY2xhc3NOYW1lOnMoKShuZS5pY29uV3JhcCwiYXBwbHktY29tbW9uLXRvb2x0aXAiLG5lLmFjY2Vzc2libGVMYWJlbCksdGl0bGU6ciwiYXJpYS1sYWJlbCI6cixvbkZvY3VzOigpPT4oMCxlZS5zaG93T25FbGVtZW50KSgoMCxYLmVuc3VyZU5vdE51bGwpKG8uY3VycmVudCkpLG9uQmx1cjooKT0+KDAsZWUuaGlkZSkoKSx0YWJJbmRleDpsLHJlZjpvfSxpLmNyZWF0ZUVsZW1lbnQoRi5JY29uLHtjbGFzc05hbWU6bmUuaW5mb0ljb24saWNvbjp0ZX0pKSl9dmFyIGllPW4oMjE2MDgzKSxvZT1uKDQyOTQ2NSksc2U9bigyNjE5MzYpLGxlPW4oMjE1MjkyKSxyZT1uKDExMjY2NSksZGU9big1ODM4NDIpLHVlPW4oNzgzMjU0KSxjZT1uKDYyNTE1Nik7Y29uc3QgaGU9KDAsaS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdHtyb2xlOmEsaXNTbWFsbDpvLG9uQ2xpY2s6bH09ZSxbcix1XT0oMCxKLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnIscm9sZTphLGNsYXNzTmFtZTpzKCkoY2UuY29weUxpbmssbyYmY2UuY29weUxpbmtNb2JpbGUsY2UuYWNjZXNzaWJsZUxhYmVsKSxvbkNsaWNrOmwsCnRhYkluZGV4OnUsb25LZXlEb3duOmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IT09ZS5jdXJyZW50VGFyZ2V0KXJldHVybjtjb25zdCB0PSgwLGQuaGFzaEZyb21FdmVudCkoZSk7MTMhPT10JiYzMiE9PXR8fChlLnByZXZlbnREZWZhdWx0KCksci5jdXJyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnIuY3VycmVudC5jbGljaygpKX0sImRhdGEtcm9sZSI6Im1lbnVpdGVtIn0sdWUudChudWxsLHZvaWQgMCxuKDYwODk5MikpKX0pKTt2YXIgdmU9bigzNDc5NzMpLG1lPW4oNzYxOTcxKSxwZT1uKDE0ODM4NyksZmU9big0NzA5MDEpLGdlPW4oNDY1MDY0KSxiZT1uKDczNTQ2Mik7Y29uc3Qgd2U9KDAsci5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IiksQ2U9KCgwLHIuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNhdmVfc2hvcnRjdXQiKSwoMCxnLm1lcmdlVGhlbWVzKShMLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGdlKSksX2U9KDAsZy5tZXJnZVRoZW1lcykoYy5ERUZBVUxUX1BPUFVQX01FTlVfSVRFTV9USEVNRSx7c2hvcnRjdXQ6ZmUuc2hvcnRjdXQsd2l0aEljb246ZmUud2l0aEljb259KSx5ZT1hLnQobnVsbCx2b2lkIDAsbig2MTgwMzkpKSxTZT1hLnQobnVsbCx2b2lkIDAsbig5MzkwNzQpKSx4ZT1bXSxFZT0oMCxSLmhvdEtleVNlcmlhbGl6ZSkoe2tleXM6WygwLGQuaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoZC5Nb2RpZmllcnMuTW9kLCExKSwiUyJdLHRleHQ6InswfSArIHsxfSJ9KTtjbGFzcyBNZSBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9jb3B5RWxSZWY9aS5jcmVhdGVSZWYoKSx0aGlzLl9tZW51UmVmPWkuY3JlYXRlUmVmKCksdGhpcy5faGFuZGxlQ29weUxpbmtDbGljaz0oKT0+e2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLmhyZWY7cmV0dXJuKDAsbC5nZXRDbGlwYm9hcmQpKCkud3JpdGVUZXh0KGUpLnRoZW4oKCgpPT57dGhpcy5fY29weUVsUmVmLmN1cnJlbnQmJigoMCxzZS5zaG93VG9vbHRpcCkodGhpcy5fY29weUVsUmVmLmN1cnJlbnQse2luaXRpYWxEZWxheTowLGxlYXZlT25Nb3VzZU91dDohMH0pLCgwLHNlLmRlYm91bmNlSGlkZVRvb2x0aXApKCkpfSkpfSx0aGlzLl9oYW5kbGVDbG9uZUNsaWNrPSgpPT57dGhpcy5wcm9wcy5vbkNsb25lQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsImNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuX2hhbmRsZVNhdmVDbGljaz0oKT0+e3RoaXMucHJvcHMub25TYXZlQ2hhcnQ/LigpLHRoaXMuX3RyYWNrQ2xpY2soKX0sdGhpcy5faGFuZGxlU2F2ZUFzQ2xpY2s9KCk9Pnt0aGlzLnByb3BzLm9uU2F2ZUFzQ2hhcnQ/LigpLCgwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJtYW5hZ2UgbGF5b3V0IiwibWFrZSBhIGNvcHkiLHZvaWQgMCwhMCl9LHRoaXMuc3RhdGU9e2lzU2F2aW5nOiExfX1jb21wb25lbnREaWRVcGRhdGUoZSx0KXtlLmlzUHJvY2Vzc2luZyYmIXRoaXMucHJvcHMuaXNQcm9jZXNzaW5nJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9dm9pZCAwLHRoaXMuc2V0U3RhdGUoe2lzU2F2aW5nOiExfSkpLCghZS5yZWNlbnRJdGVtcz8ubGVuZ3RoJiZ0aGlzLnByb3BzLnJlY2VudEl0ZW1zPy5sZW5ndGh8fGUuaXNTaGFyaW5nRW5hYmxlZCE9PXRoaXMucHJvcHMuaXNTaGFyaW5nRW5hYmxlZCkmJnRoaXMuX21lbnVSZWYuY3VycmVudD8udXBkYXRlKCksIWUuaXNQcm9jZXNzaW5nJiZ0aGlzLnByb3BzLmlzUHJvY2Vzc2luZyYmKHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLnNldFN0YXRlKHtpc1NhdmluZzohMH0pfSksMWUzKSl9Y29tcG9uZW50V2lsbFVubW91bnQoKXt0aGlzLl90aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9cmVuZGVyKCl7Y29uc3R7aWQ6ZSxpc1JlYWRPbmx5OnQsZGlzcGxheU1vZGU6byxpc1Byb2Nlc3Npbmc6bCx0aXRsZTpyLHdhc0NoYW5nZXM6ZCxoaWRlTWVudTp1LGlzVGFibGV0U21hbGw6Yyxvbk9wZW5NZW51OmgsZGF0YU5hbWVTYXZlTWVudTp2LGlzU2F2ZURpYWxvZ09wZW5lZDpnLGNoYXJ0TGlzdDp3LGZhdm9yaXRlczpDLGlzTmV3VmlldzpffT10aGlzLnByb3BzLHk9IXQmJiF1O2xldCBTPVtdO1cuc2hvd0Zhdm9yaXRlTGF5b3V0cyYmdyYmQyYmKFM9dy5maWx0ZXIoKGU9PkNbZS5pZF0pKS5zb3J0KCgoZSx0KT0+ZS5uYW1lLmxvY2FsZUNvbXBhcmUodC5uYW1lKSkpKTtjb25zdCB4PSEoZHx8IXJ8fHRoaXMuc3RhdGUuaXNTYXZpbmcpLEU9aS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ZmUudGV4dFdyYXB9LGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpmZS50ZXh0fSxpLmNyZWF0ZUVsZW1lbnQoYi5MZWFkaW5nRW1vamlUZXh0LHt0ZXh0OnJ8fGEudChudWxsLHZvaWQgMCxuKDYxMjY1NSkpfSkpLGkuY3JlYXRlRWxlbWVudChELHtpc0xvYWRpbmc6dGhpcy5zdGF0ZS5pc1NhdmluZyxpc1Zpc2libGU6ZCxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoic2F2ZV9idXR0b24ifSxuKDQ3Mzc4MikpfSkpO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQobS5Ub29sV2lkZ2V0Um93V3JhcCxudWxsLHQ/aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsZGlzcGxheU1vZGU6byxpY29uOmkuY3JlYXRlRWxlbWVudChGLkljb24se2ljb246dmV9KSxpc0Rpc2FibGVkOmwsb25DbGljazp0aGlzLl9oYW5kbGVDbG9uZUNsaWNrLHRleHQ6YS50KG51bGwsdm9pZCAwLG4oMTI5MjE0KSksY29sbGFwc2VXaGVuOnhlLHRvb2x0aXA6eWV9KSk6aS5jcmVhdGVFbGVtZW50KG0uVG9vbFdpZGdldFJvd1dyYXAsbnVsbCxpLmNyZWF0ZUVsZW1lbnQocC5Ub29sYmFyQ29sbGFwc2libGVCdXR0b24se2lkOmUsImRhdGEtcWEtaWQiOmUsY2xhc3NOYW1lOnMoKShmZS5idXR0b24seSYmZmUuYnV0dG9uU21hbGxQYWRkaW5nKSxkaXNwbGF5TW9kZTpvLCJhcmlhLWRpc2FibGVkIjohIXh8fHZvaWQgMCxpc0Rpc2FibGVkOmwsCm9uQ2xpY2s6eD92b2lkIDA6dGhpcy5faGFuZGxlU2F2ZUNsaWNrLHRleHQ6RSx0aGVtZTpDZSxjb2xsYXBzZVdoZW46eGUsaXNPcGVuZWQ6Zyx0b29sdGlwOng/YS50KG51bGwsdm9pZCAwLG4oMzkzOSkpOmEudChudWxsLHZvaWQgMCxuKDgyMDMpKSwiZGF0YS10b29sdGlwLWhvdGtleSI6d2V8fHg/IiI6RWV9KSx5JiZpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmZS5tZW51QnRuV3JhcH0saS5jcmVhdGVFbGVtZW50KGYuVG9vbGJhck1lbnVCdXR0b24seyJkYXRhLW5hbWUiOnYsYXJyb3c6ITAscmVmOnRoaXMuX21lbnVSZWYsaXNEcmF3ZXI6YyxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixvbkNsaWNrOnRoaXMuX3RyYWNrQ2xpY2ssb25PcGVuOmgsdG9vbHRpcDphLnQobnVsbCx2b2lkIDAsbigyMzY2NjApKSxtZW51Q2xhc3NOYW1lOmZlLm1lbnUsbWVudVJvbGU6ImdyaWQiLGVuYWJsZVNjcm9sbENvbXBlbnNhdGlvbjpffSxpLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpzKCkoIWMmJmZlLmRlc2t0b3AsXyYmZmUubmV3TWVudVdyYXBwZXIpfSx0aGlzLl9yZW5kZXJNZW51SXRlbXMoQm9vbGVhbihjKSxfKSkpKSxTLmxlbmd0aD4wJiZpLmNyZWF0ZUVsZW1lbnQoVix7ZGlzcGxheU1vZGU6byxmYXZvcml0ZXM6U30pKSl9X3JlbmRlclNlcGFyYXRvcihlLHQpe3JldHVybiB0P2kuY3JlYXRlRWxlbWVudCh3LkRpdmlkZXJMaXN0SXRlbSx7cm9sZToic2VwYXJhdG9yIixrZXk6ZX0pOmkuY3JlYXRlRWxlbWVudCh2LlBvcHVwTWVudVNlcGFyYXRvcix7a2V5OmV9KX1fcmVuZGVyT3ZlcmZsb3dUaXRsZShlLHQpe3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKCF0JiZmZS5lbGxpcHNpcywiYXBwbHktb3ZlcmZsb3ctdG9vbHRpcCIpLHJvbGU6ImdyaWRjZWxsIiwiYXJpYS1jb2xzcGFuIjoyfSxlKX1fcmVuZGVyQWN0aW9uSXRlbShlLHQsbyl7Y29uc3QgbD10P04ubXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTpfZSxyPWUud2l0aEVsbGlwc2lzPygwLHouYXBwZW5kRWxsaXBzaXMpKGUubGFiZWwpOmUubGFiZWw7aWYoIW8pe2NvbnN0IG89ZS5ob3RrZXk/MTkwPT09ZS5ob3RrZXk/YS50KG51bGwse2NvbnRleHQ6ImhvdGtleSJ9LG4oOTEwNDc2KSk6KDAsZC5odW1hblJlYWRhYmxlSGFzaCkoZS5ob3RrZXkpOnZvaWQgMDtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KGguQWNjZXNzaWJsZU1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93Iixpc0Rpc2FibGVkOmUuaXNEaXNhYmxlZCxpY29uOmUuaWNvbixsYWJlbDpyLG9uQ2xpY2s6ZS5vbkNsaWNrLGxhYmVsUm93Q2xhc3NOYW1lOnMoKSh0JiZmZS5wb3B1cEl0ZW1Sb3dUYWJsZXRTbWFsbCksdGhlbWU6bCxzaG9ydGN1dDpvLCJkYXRhLW5hbWUiOmUuZGF0YVFhSWQsImFyaWEtaGFzcG9wdXAiOmUuYXJpYUhhc3BvcHVwLGRvbnRDbG9zZVBvcHVwOmUuZG9udENsb3NlUG9wdXAscmVmZXJlbmNlOmUucmVmfSl9cmV0dXJuIGkuY3JlYXRlRWxlbWVudChDLk1lbnVJdGVtLHtrZXk6ZS5rZXkscm9sZToicm93IixkaXNhYmxlZDplLmlzRGlzYWJsZWQsYXJpYUhhc3BvcHVwOmUuYXJpYUhhc3BvcHVwLGxlZnRTbG90OmUuaWNvbj9pLmNyZWF0ZUVsZW1lbnQoUy5TdmdJY29uTGlzdEl0ZW1QYXJ0LHtpY29uU3ZnOmUuaWNvbn0pOnZvaWQgMCxvbkNsaWNrOmUub25DbGljayx0aXRsZTp0aGlzLl9yZW5kZXJPdmVyZmxvd1RpdGxlKHIsdCksYXJpYUxhYmVsOmUubGFiZWwsaG90a2V5OmUuaG90a2V5LCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IXQsZGF0YVFhSWQ6ZS5kYXRhUWFJZCxkb250Q2xvc2VQb3B1cDplLmRvbnRDbG9zZVBvcHVwLGxpc3RJdGVtUmVmOmUucmVmfSl9X3JlbmRlck1lbnVJdGVtcyhlLHQpe2NvbnN0e3dhc0NoYW5nZXM6byxpc1Byb2Nlc3Npbmc6bCxjaGFydElkOnIsb25TYXZlQ2hhcnRGcm9tTWVudTpjLG9uUmVuYW1lQ2hhcnQ6aCxvbkxvYWRDaGFydDp2LG9uTmV3Q2hhcnQ6bSxpc0F1dG9TYXZlRW5hYmxlZDpwLGF1dG9TYXZlSWQ6ZixzaGFyaW5nSWQ6YixvbkF1dG9TYXZlQ2hhbmdlZDp3LGlzU2hhcmluZ0VuYWJsZWQ6QyxvblNoYXJpbmdDaGFuZ2VkOlMscmVjZW50SXRlbXM6RSxvbkV4cG9ydERhdGE6TSxpc0F1dGhlbnRpY2F0ZWQ6ayxmYXZvcml0ZXM6SX09dGhpcy5wcm9wcyxUPWU/Wi5tZW51SXRlbVN3aXRjaGVyTW9iaWxlVGhlbWU6YmUsQT1bXSxIPWsmJkUmJkUubGVuZ3RoPjA/dD9baS5jcmVhdGVFbGVtZW50KHkuU2VjdGlvbkxpc3RJdGVtLHtrZXk6InJlY2VudGx5LXVzZWQiLHRpdGxlOnRoaXMuX3JlbmRlck92ZXJmbG93VGl0bGUoYS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oNjIzMjQ0KSksZSksYXJpYUxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpLGdyb3VwUm9sZToicm93Z3JvdXAiLGl0ZW1Sb2xlOiJyb3cifSxFLm1hcCgobj0+aS5jcmVhdGVFbGVtZW50KCQse2tleTpuLmlkLGxheW91dDpuLGNoYXJ0SWQ6cixmYXZvcml0ZXM6SSxpc1RhYmxldFNtYWxsOmUsaXNOZXdWaWV3OnR9KSkpKV06W2kuY3JlYXRlRWxlbWVudChvZS5Ub29sVGl0bGUse2tleToicmVjZW50bHktdXNlZCIsY2xhc3NOYW1lOnMoKShmZS50b29sVGl0bGUsZSYmZmUudG9vbFRpdGxlTW9iaWxlKSx0ZXh0OmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYyMzI0NCkpfSksLi4uRS5tYXAoKG49PmkuY3JlYXRlRWxlbWVudCgkLHtrZXk6bi5pZCxsYXlvdXQ6bixjaGFydElkOnIsZmF2b3JpdGVzOkksaXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSkpKV06bnVsbDtBLnB1c2godGhpcy5fcmVuZGVyQWN0aW9uSXRlbSh7a2V5OiJzYXZlIixpc0Rpc2FibGVkOkJvb2xlYW4obHx8IW8mJnIpLGxhYmVsOlNlLG9uQ2xpY2s6Yyxob3RrZXk6ZT92b2lkIDA6ZC5Nb2RpZmllcnMuTW9kKzgzLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNhdmUiLHdpdGhFbGxpcHNpczohMX0sZSx0KSk7ewpjb25zdCBvPXIsbD0oKT0+dm9pZCAwIT09cCYmdm9pZCAwIT09dyYmbz90P2kuY3JlYXRlRWxlbWVudChfLk1lbnVTd2l0Y2hlckl0ZW0se2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLHZhbHVlOnAsb25DbGljazooKT0+dyghcCksdGl0bGU6dGhpcy5fcmVuZGVyT3ZlcmZsb3dUaXRsZShhLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLGUpLGFyaWFMYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig0Nzk3MSkpLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsZWxsaXBzaXM6IWUsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tYXV0by1zYXZlIn0pOmkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse2tleToiYXV0by1zYXZlIixyb2xlOiJyb3ciLGNoZWNrZWQ6cCxvbkNoYW5nZTp3LGNsYXNzTmFtZTpzKCkoIWUmJmZlLmF1dG9TYXZlV3JhcHBlciksaWQ6Zix0aGVtZTpULGxhYmVsOmEudChudWxsLHZvaWQgMCxuKDU1NjM5OSkpLHZhbHVlOiJhdXRvU2F2ZVN3aXRjaGVyIn0pOm51bGw7QS5wdXNoKGwoKSl9aWYodm9pZCAwIT09cil7aWYodm9pZCAwIT09QyYmdm9pZCAwIT09UyYmISgwLHUuaXNTeW1waG9ueUVtYmVkKSgpKXtjb25zdCBvPWkuY3JlYXRlRWxlbWVudChhZSx7aXNUYWJsZXRTbWFsbDplLGlzTmV3Vmlldzp0fSk7aWYodClBLnB1c2goaS5jcmVhdGVFbGVtZW50KF8uTWVudVN3aXRjaGVySXRlbSx7a2V5OiJzaGFyaW5nIixyb2xlOiJyb3ciLHZhbHVlOkMsb25DbGljazooKT0+UyghQyksdGl0bGU6byxhcmlhTGFiZWw6YS50KG51bGwse2NvbnRleHQ6Im1lbnVfaXRlbSJ9LG4oMjI0ODkpKSwiZGF0YS1yb2xlIjoibWVudWl0ZW0iLGVsbGlwc2lzOiFlLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLXNoYXJpbmcifSkpLEMmJkEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImNvcHktbGluayIsaWNvbjpwZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1OTA4ODQpKSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2ssZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY29weS1saW5rIix3aXRoRWxsaXBzaXM6ITAsZG9udENsb3NlUG9wdXA6ITAscmVmOnRoaXMuX2NvcHlFbFJlZn0sZSx0KSk7ZWxzZXtjb25zdCB0PSgwLGcubWVyZ2VUaGVtZXMpKFQse2xhYmVsOmZlLnN3aXRjaGVyTGFiZWx9KTtBLnB1c2goaS5jcmVhdGVFbGVtZW50KGkuRnJhZ21lbnQse2tleToic2hhcmluZyJ9LGkuY3JlYXRlRWxlbWVudCh4Lk1lbnVJdGVtU3dpdGNoZXIse3JvbGU6InJvdyIsY2hlY2tlZDpDLG9uQ2hhbmdlOlMsY2xhc3NOYW1lOnMoKSghZSYmZmUuc2hhcmluZ1dyYXBwZXIpLGlkOmIsdGhlbWU6dCxsYWJlbDpvLHZhbHVlOiJzaGFyaW5nU3dpdGNoZXIifSksQyYmaS5jcmVhdGVFbGVtZW50KGhlLHtyb2xlOiJyb3ciLGlzU21hbGw6ZSxvbkNsaWNrOnRoaXMuX2hhbmRsZUNvcHlMaW5rQ2xpY2sscmVmOnRoaXMuX2NvcHlFbFJlZn0pKSl9fUEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InNhdmUtYXMiLGljb246dmUsbGFiZWw6eWUsb25DbGljazp0aGlzLl9oYW5kbGVTYXZlQXNDbGljayxkYXRhUWFJZDoic2F2ZS1sb2FkLW1lbnUtaXRlbS1jbG9uZSIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSx0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6InJlbmFtZSIsaWNvbjpsZSxsYWJlbDphLnQobnVsbCx7Y29udGV4dDoibWVudV9pdGVtIn0sbig1NjU0NTEpKSxvbkNsaWNrOmgsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tcmVuYW1lIixhcmlhSGFzcG9wdXA6ImRpYWxvZyIsd2l0aEVsbGlwc2lzOiEwfSxlLHQpKX1yZXR1cm4oMCxHLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil8fEEucHVzaCh0aGlzLl9yZW5kZXJBY3Rpb25JdGVtKHtrZXk6ImV4cG9ydC1jaGFydC1kYXRhIixpY29uOnJlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJleHBvcnQgY2hhcnQncyBkYXRhIn0sbig3NjM5MzQpKSxvbkNsaWNrOk0sYXJpYUhhc3BvcHVwOiJkaWFsb2ciLGRhdGFRYUlkOiJzYXZlLWxvYWQtbWVudS1pdGVtLWRvd25sb2FkIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoIm5ldy1jaGFydC1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToibmV3LWNoYXJ0IixpY29uOmRlLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDkzODQ5NykpLG9uQ2xpY2s6bSxhcmlhSGFzcG9wdXA6ImRpYWxvZyIsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tY3JlYXRlIix3aXRoRWxsaXBzaXM6ITB9LGUsdCkpLEgmJkEucHVzaCh0aGlzLl9yZW5kZXJTZXBhcmF0b3IoInJlY2VudC1sYXlvdXRzIix0KSwuLi5IKSxBLnB1c2godGhpcy5fcmVuZGVyU2VwYXJhdG9yKCJhbGwtbGF5b3V0cy1zZXBhcmF0b3IiLHQpLHRoaXMuX3JlbmRlckFjdGlvbkl0ZW0oe2tleToiYWxsLWxheW91dHMiLGxhYmVsOmEudChudWxsLHtjb250ZXh0OiJtZW51X2l0ZW0ifSxuKDYxMzUxNikpLG9uQ2xpY2s6dixpY29uOm1lLGhvdGtleTplP3ZvaWQgMDoxOTAsZGF0YVFhSWQ6InNhdmUtbG9hZC1tZW51LWl0ZW0tbG9hZCIsYXJpYUhhc3BvcHVwOiJkaWFsb2ciLHdpdGhFbGxpcHNpczohMH0sZSx0KSksQX1fdHJhY2tDbGljaygpeygwLGllLnRyYWNrQnV0dG9uQ2xpY2spKCJ0b3AgdG9vbGJhciIsIm1hbmFnZSBsYXlvdXRzIil9fX0sNjY2NDQxKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dGYXZvcml0ZUxheW91dHM6KCk9PmF9KTtjb25zdCBhPSgwLG4oNTY5Mzk4KS5pc0ZlYXR1cmVFbmFibGVkKSgic2hvd19mYXZvcml0ZV9sYXlvdXRzIil9LDkyOTY0OShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlSWNvbkJ1dHRvbjooKT0+b30pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNDA4NDEpO2NvbnN0IG89KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4ub309ZQo7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRJY29uQnV0dG9uLHsiYXJpYS1sYWJlbCI6biwuLi5vLHRhZzoiYnV0dG9uIixyZWY6dCwiZGF0YS10b29sdGlwIjpuLCJkYXRhLXRvb2x0aXAtc2hvdy1vbi1mb2N1cyI6InRydWUifSl9KSl9LDkzNDkyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtBY2Nlc3NpYmxlTWVudUJ1dHRvbjooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMjk2NDQ5KSxzPW4oODYxMTg4KTtjb25zdCBsPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLHRhZzpsLGJ1dHRvblJlZjpyLHJlZmVyZW5jZTpkLC4uLnV9PWUsYz0oMCxpLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKGQ/P251bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0TWVudSx7ImFyaWEtbGFiZWwiOm4sLi4udSxyZWY6dCx0YWc6bD8/ImJ1dHRvbiIscmVmZXJlbmNlOnI/P2MsImRhdGEtdG9vbHRpcCI6bixvbk1lbnVLZXlEb3duOnMuaGFuZGxlQWNjZXNzaWJsZU1lbnVLZXlEb3duLG9uTWVudUZvY3VzOmU9PigwLHMuaGFuZGxlQWNjZXNzaWJsZU1lbnVGb2N1cykoZSxyPz9jKX0pfSkpfSw3NzgwNzcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q29sbGFwc2libGVTZWN0aW9uOigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9big3MDg4NDIpLGw9bigxODk1MzApO2NvbnN0IHI9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHtvcGVuOm4sc3VtbWFyeTppLGNoaWxkcmVuOnIsb25TdGF0ZUNoYW5nZTpkLHRhYkluZGV4OnUsY2xhc3NOYW1lOmMsLi4uaH09ZTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmgsY2xhc3NOYW1lOm8oKShjLGwuc3VtbWFyeSksb25DbGljazpmdW5jdGlvbigpe2QmJmQoIW4pfSwiZGF0YS1vcGVuIjpuLCJhcmlhLWV4cGFuZGVkIjpuLHJlZjp0LHRhYkluZGV4OnV9LGksYS5jcmVhdGVFbGVtZW50KHMuVG9vbFdpZGdldENhcmV0LHtjbGFzc05hbWU6bC5jYXJldCxkcm9wcGVkOkJvb2xlYW4obil9KSksbiYmcil9KSl9LDYyNzA0NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUl0ZW06KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDIzNTcyNCksbD1uKDE4MjMwOCkscj1uKDI0OWUzKSxkPW4oNTEwNTk4KSx1PW4oNzU4ODgyKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGNoaWxkcmVuOm4saXRlbTppLG9uQXBwbHk6Yyxpc0FjdGl2ZTpoLGhyZWY6dix0YXJnZXQ6bX09ZSxwPWkubmFtZT8udHJpbSgpPz8iICIsW2YsZ109KDAsbC51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGI9dj8iYSI6Yz8iYnV0dG9uIjoiZGl2Iix3PWkudG9vbHRpcD8/cCxDPSgwLHIuZ2V0TGVhZGluZ0Vtb2ppSHRtbCkodyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiLHtyZWY6Zix0eXBlOmMmJiF2PyJidXR0b24iOnZvaWQgMCxjbGFzc05hbWU6bygpKHQsdS5pdGVtLHUuYWNjZXNzaWJsZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiLCJjb21tb24tdG9vbHRpcC1odG1sIiksb25DbGljazpmdW5jdGlvbihlKXtpZihlLnN0b3BQcm9wYWdhdGlvbigpLGMmJnYpe2lmKCgwLHMubW9kaWZpZXJzRnJvbUV2ZW50KShlKSE9PXMuTW9kaWZpZXJzLk5vbmV8fDE9PT1lLmJ1dHRvbilyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpfWM/LihpKX0sb25LZXlEb3duOiJhIj09PWI/ZnVuY3Rpb24oZSl7MzI9PT0oMCxzLmhhc2hGcm9tRXZlbnQpKGUpJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGYuY3VycmVudD8uY2xpY2soKSl9OnZvaWQgMCwiZGF0YS10b29sdGlwIjpDLCJhcmlhLWxhYmVsIjp3LHRhYkluZGV4OmcsaHJlZjoiYSI9PT1iP3Y6dm9pZCAwLHRhcmdldDoiYSI9PT1iP206dm9pZCAwfSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkodS5yb3VuZCxoJiZ1LmFjdGl2ZSl9LG58fGEuY3JlYXRlRWxlbWVudChkLkxlYWRpbmdFbW9qaVRleHQse3RleHQ6cCxmaXJzdFNlZ21lbnRPbmx5OiEwfSkpKX19LDkxNzgxNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51UmVtb3ZlQnV0dG9uOigpPT5jfSk7dmFyIGE9big3Nzk0NzQpLGk9big5MTQ0ODcpLG89bi5uKGkpLHM9bigxODUyNzEpLGw9bigxODIzMDgpLHI9big1NDU0MjIpLGQ9big0NjI3MDQpLHU9big1ODcwOTQpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7b25DbGljazp0LGlzQWN0aXZlOmksb25LZXlEb3duOmMsLi4uaH09ZSxbdixtXT0oMCxsLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnYsdGFiSW5kZXg6bSxvbkNsaWNrOnQsb25LZXlEb3duOmMsY2xhc3NOYW1lOm8oKSh1LmJ1dHRvbixpJiZ1LmFjdGl2ZSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwiYXJpYS1sYWJlbCI6cy50KG51bGwsdm9pZCAwLG4oOTExMjYpKSwiZGF0YS10b29sdGlwIjpzLnQobnVsbCx2b2lkIDAsbig5MTEyNikpLHR5cGU6ImJ1dHRvbiJ9LGEuY3JlYXRlRWxlbWVudChyLlJlbW92ZUJ1dHRvbix7Li4uaCxpc0FjdGl2ZTppLHRpdGxlOiIiLGljb246ZH0pKX19LDQyOTQ2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sVGl0bGU6KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDU3MzQ1MCk7ZnVuY3Rpb24gbChlKXtjb25zdHtjbGFzc05hbWU6dCx0ZXh0Om4saWQ6aSxyb2xlOmwsYXJpYUhpZGRlbjpyfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkocy50aXRsZSx0KSxpZDppLHJvbGU6bCwiYXJpYS1oaWRkZW4iOnJ9LG4pfX0sOTcxNTQ1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1Rvb2xXaWRnZXRDb2xsYXBzaWJsZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oOTk1NzE5KSxsPW4oOTQxOTE4KQo7Y29uc3Qgcj1bIm1lZGl1bSIsInNtYWxsIl0sZD0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e3RleHQ6bixjbGFzc05hbWU6aSxkaXNwbGF5TW9kZTpkLGNvbGxhcHNlV2hlbjp1PXIsLi4uY309ZSxoPSF1LmluY2x1ZGVzKGQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQocy5Ub29sV2lkZ2V0QnV0dG9uLHsuLi5jLHJlZjp0LHRleHQ6aD9uOnZvaWQgMCxjbGFzc05hbWU6bygpKGksbC5idXR0b24saD9sLndpdGhUZXh0Omwud2l0aG91dFRleHQpfSl9KSl9LDY0ODAwOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0TWVudVNwaW5uZXI6KCk9PnJ9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDkxNDQ4Nyksbz1uLm4oaSkscz1uKDY0OTE2NiksbD1uKDY2MTUwKTtmdW5jdGlvbiByKGUpe2NvbnN0e2NsYXNzTmFtZTp0fT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpvKCkobC5zcGlubmVyV3JhcCx0KX0sYS5jcmVhdGVFbGVtZW50KHMuTG9hZGVyLG51bGwpKX19LDg2NDY4MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0Um93V3JhcDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oOTE0NDg3KSxvPW4ubihpKSxzPW4oNTA2ODM4KTtjb25zdCBsPWEuZm9yd2FyZFJlZigoKGUsdCk9Pntjb25zdHtjaGlsZHJlbjpuLGNsYXNzTmFtZTppLC4uLmx9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm8oKShpLHMud3JhcCkscmVmOnQsLi4ubH0sbil9KSl9LDI0NjcyNyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX1RPT0xCQVJfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xiYXJCdXR0b246KCk9Pmx9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDk5NTcxOSksbz1uKDE4MjMwOCk7Y29uc3Qgcz1pLkRFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FLGw9KDAsYS5mb3J3YXJkUmVmKSgoZnVuY3Rpb24oZSx0KXtjb25zdHt0b29sdGlwOm4sLi4uc309ZSxbbCxyXT0oMCxvLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkodCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24seyJhcmlhLWxhYmVsIjpuLC4uLnMsdGFnOiJidXR0b24iLHJlZjpsLHRhYkluZGV4OnIsImRhdGEtdG9vbHRpcCI6bn0pfSkpfSwxODYwOTcoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckNvbGxhcHNpYmxlQnV0dG9uOigpPT5zfSk7dmFyIGE9big3Nzk0NzQpLGk9bigxODIzMDgpLG89big5NzE1NDUpO2Z1bmN0aW9uIHMoZSl7Y29uc3R7dG9vbHRpcDp0LC4uLm59PWUsW3MsbF09KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5Ub29sV2lkZ2V0Q29sbGFwc2libGVCdXR0b24seyJhcmlhLWxhYmVsIjp0LC4uLm4sdGFnOiJidXR0b24iLHRhYkluZGV4OmwscmVmOnMsImRhdGEtdG9vbHRpcCI6dH0pfX0sOTY3MDUoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7VG9vbGJhckljb25CdXR0b246KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksaT1uKDE4MjMwOCksbz1uKDkyOTY0OSk7Y29uc3Qgcz0oMCxhLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0W24sc109KDAsaS51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKHQpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoby5BY2Nlc3NpYmxlSWNvbkJ1dHRvbix7Li4uZSxyZWY6bix0YWJJbmRleDpzfSl9KSl9LDc3MTI4NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sYmFyTWVudUJ1dHRvbjooKT0+cn0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oNzg3ODk1KSxvPW4oMTgyMzA4KSxzPW4oNDUwMTQwKSxsPW4oOTM0OTI5KTtjb25zdCByPSgwLGEuZm9yd2FyZFJlZikoKGZ1bmN0aW9uKGUsdCl7Y29uc3R7dG9vbHRpcDpuLG1lbnVSZWZlcmVuY2U6cj1udWxsLC4uLmR9PWUsW3UsY109KDAsby51c2VSb3ZpbmdUYWJpbmRleEVsZW1lbnQpKG51bGwpLGg9KDAsaS51c2VGdW5jdGlvbmFsUmVmT2JqZWN0KShyKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGwuQWNjZXNzaWJsZU1lbnVCdXR0b24seyJhcmlhLWxhYmVsIjpuLCJhcmlhLWhhc3BvcHVwIjoibWVudSIsLi4ucy5Nb3VzZUNsaWNrQXV0b0JsdXJIYW5kbGVyLmF0dHJpYnV0ZXMoKSwuLi5kLHJlZjp0LHRhZzoiYnV0dG9uIixidXR0b25SZWY6dSx0YWJJbmRleDpjLG1lbnVSZWZlcmVuY2U6aCx0b29sdGlwOm59KX0pKX0sNzM3MTE2KGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBQcm9taXNlLmFsbChbbi5lKDczNzApLG4uZSg4NDMwNiksbi5lKDI5Mjk2KSxuLmUoNTIzOTYpLG4uZSg2MDA2Miksbi5lKDIwMzU0KSxuLmUoMTM0OTIpLG4uZSgzNzc0Niksbi5lKDgxMDcyKSxuLmUoMjM2MjQpLG4uZSg5NDIzMiksbi5lKDE5NTk1KSxuLmUoMTk3ODcpLG4uZSg1NzMwMCksbi5lKDEyMDUxKSxuLmUoNDA4NjcpLG4uZSg1MDgwMCksbi5lKDQ3MzE2KSxuLmUoMzk2MDkpLG4uZSg3MTc1MyldKS50aGVuKG4uYmluZChuLDE2NDk1NykpfW4uZCh0LHtsb2FkQ2hhcnRFeHBvcnREaWFsb2dNb2R1bGU6KCk9PmF9KX0sMjczNTA5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRlbnRNZW51OigpPT5nfSk7dmFyIGE9big3ODMyNTQpLGk9big3Nzk0NzQpLG89bigyMDgwODApLHM9bigzOTE5MTQpLGw9big5NzI3MzQpLHI9big3MzI3MzEpLGQ9bigyNzMzMTApLHU9big3ODQ1MTMpLGM9bigyMTQzMiksaD1uKDU1MzY2OSksdj1uKDEzNjYzKTtjb25zdCBtPWkuY3JlYXRlQ29udGV4dChudWxsKTt2YXIgcD1uKDk1NTU4OSksZj1uKDU0MTIxMik7Y29uc3QgZz0oMCxpLmZvcndhcmRSZWYpKChmdW5jdGlvbihlLHQpe2NvbnN0e2RhdGE6cyxzeW1ib2w6aCxpc09wZW46dixvbkNsb3NlOmcsYW5jaG9yZWQ6dyx0cmFja2luZ0RhdGE6QyxwbGFjZW1lbnRSdWxlczpfLGFjdHVhbENvbnRlbnRJZDp5LHNob3dGaW5hbmNpYWxzOlM9ITEsc2hvd0NoYXJ0Ong9ITF9PWUsRT0oMCxjLnVzZU1lbnVHcm91cHMpKHtkYXRhOnMsc2hvd0ZpbmFuY2lhbHM6U30pCjtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KG0uUHJvdmlkZXIse3ZhbHVlOntzeW1ib2w6aCxzeW1ib2xUeXBlOnMudHlwZSx0cmFja2luZ0RhdGE6QyxvblNlbGVjdDpnfX0saS5jcmVhdGVFbGVtZW50KG8uUG9wb3ZlcktleWJvYXJkTmF2aWdhdG9yLHtpc09wZW46dixwbGFjZW1lbnRSdWxlczpfLG9uQ2xvc2U6ZyxhbmNob3JlZDp3LHdpZHRoOlt7Ynk6ImNsYXNzIixjbGFzc05hbWU6Zi5tZW51fSx7Ynk6ImNvbnRlbnQifV19LGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImNvbnRlbnRzIn0scmVmOnR9LHgmJmkuY3JlYXRlRWxlbWVudChpLkZyYWdtZW50LG51bGwsaS5jcmVhdGVFbGVtZW50KGwuUG9wb3Zlckl0ZW0se3RpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDY4MTkyMSkpLHNlbGVjdGVkOiEoeSYmYy5DT05URU5UX0JVVFRPTl9JQ09OU1t5XSksbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpwfSksb25DbGljazooKT0+e2coKSx1LmFjdHVhbENvbnRlbnQuc2V0VmFsdWUobnVsbCl9fSksQm9vbGVhbihFLmxlbmd0aCkmJmkuY3JlYXRlRWxlbWVudChyLkRpdmlkZXJMaXN0SXRlbSxudWxsKSksRS5tYXAoKChlLHQpPT5pLmNyZWF0ZUVsZW1lbnQoaS5GcmFnbWVudCx7a2V5OmUuYW5hbHl0aWNzU3ViTWVudX0saS5jcmVhdGVFbGVtZW50KGIsey4uLmV9KSx0IT09RS5sZW5ndGgtMSYmaS5jcmVhdGVFbGVtZW50KHIuRGl2aWRlckxpc3RJdGVtLG51bGwpKSkpKSkpfSkpO2Z1bmN0aW9uIGIoZSl7Y29uc3R7c3ltYm9sOnQsc3ltYm9sVHlwZTpuLHRyYWNraW5nRGF0YTphLG9uU2VsZWN0Om99PSgwLHYudXNlRW5zdXJlZENvbnRleHQpKG0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQocy5TZWN0aW9uUG9wb3Zlckl0ZW0se3RpdGxlOmUudGl0bGV9LGUuaXRlbXMubWFwKChzPT5pLmNyZWF0ZUVsZW1lbnQobC5Qb3BvdmVySXRlbSx7a2V5OnMuaWQsdGl0bGU6cy50aXRsZSxzZWxlY3RlZDpzLmlzU2VsZWN0ZWQsbGVmdFNsb3Q6aS5jcmVhdGVFbGVtZW50KGQuSWNvbix7aWNvbjpzLmljb259KSxvbkNsaWNrOigpPT57cy5pc1NlbGVjdGVkfHwoKDAsaC50cmFja01ldHJpY3NNZW51QWN0aW9uKSh7Li4uYSxzeW1ib2xfdHlwZTpuPz9udWxsLHN5bWJvbDp0LHN1Yl9tZW51OmUuYW5hbHl0aWNzU3ViTWVudSxtZW51X2l0ZW06cy5hbmFseXRpY3NOYW1lfSksbygpLHMub25DbGljaygpKX19KSkpKX19LDIxNDMyKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NPTlRFTlRfQlVUVE9OX0lDT05TOigpPT5MLHVzZU1lbnVHcm91cHM6KCk9Plp9KTt2YXIgYT1uKDc4MzI1NCksaT1uKDEzODYzOCksbz1uKDg4OTM5Nykscz1uKDc4NDUxMyksbD1uKDgzMzQwOSkscj1uKDE5OTc0KSxkPW4oOTIwNjMxKSx1PW4oMzE1ODUwKSxjPW4oNjMxMjU0KSxoPW4oMTA2OTAwKSx2PW4oODk4Mzc3KSxtPW4oOTAyODI5KSxwPW4oMjc1ODM1KSxmPW4oMzkxMTgyKSxnPW4oNTA2NzY3KSxiPW4oOTU3ODQ2KSx3PW4oMjM2NDI5KSxDPW4oNTUxMjgyKSxfPW4oMjA1NDcyKSx5PW4oOTIwODgpLFM9big1MTQxNDIpLHg9bigyOTIzNjApLEU9big5ODc5OTIpLE09big5MDc5MTEpLGs9bigxNTkyNDUpLEk9big3OTE2OTMpLFQ9big3MjcyNjkpLEE9big2MDQ5MDEpLEg9big2MjcwNDEpLFY9big2NjQ0ODEpLFI9bigzMTA5MjcpLEY9big3NTUyOTQpO2NvbnN0IEw9e2ZpbmFuY2lhbHM6dyxkb2N1bWVudHM6QyxuZXdzOl8saWRlYXM6VixzZWFzb25hbHM6eSxhbmFseXNpczpTLHRlY2huaWNhbHM6eCxmb3JlY2FzdDpSLCJmb3J3YXJkLWN1cnZlIjpFLGNvbnRyYWN0czpNLCJ5aWVsZC1jdXJ2ZSI6aywiZWNvbm9teS1pbmRpY2F0b3JzIjpJLG9wdGlvbnM6VCxib25kczpBLGV0ZnM6SCxjb21tdW5pdHk6Rn07ZnVuY3Rpb24gWihlKXtjb25zdHtkYXRhOnQsc2hvd0ZpbmFuY2lhbHM6d309ZSxDPSgwLGgudXNlV2F0Y2hlZFZhbHVlUmVhZG9ubHkpKHt3YXRjaGVkVmFsdWU6cy5hY3R1YWxDb250ZW50fSk7cmV0dXJuW3t0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5OTU2MDIpKSxhbmFseXRpY3NTdWJNZW51OiJGdW5kYW1lbnRhbHMiLGl0ZW1zOk4oW3tpZDoiZmluYW5jaWFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzgwMTU4KSksYW5hbHl0aWNzTmFtZToiRmluYW5jaWFscyIsaWNvbjp2LG9uQ2xpY2s6KCk9PigwLG8uc2hvd0ZpbmFuY2lhbHNEaWFsb2cpKCksaGlkZGVuOiEodyYmdC5oYXNGaW5hbmNpYWxzKSxpc1NlbGVjdGVkOiJmaW5hbmNpYWxzIj09PUN9LHtpZDoiZG9jdW1lbnRzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3ODc0NDIpKSxhbmFseXRpY3NOYW1lOiJEb2N1bWVudHMiLGljb246dC5kb2N1bWVudHNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZG9jdW1lbnRzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZG9jdW1lbnRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImRvY3VtZW50cyI9PT1DfSx7aWQ6ImFuYWx5c2lzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig5MjE2NDIpKSxhbmFseXRpY3NOYW1lOiJQcm9maWxlIixpY29uOnQuYW5hbHlzaXNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuYW5hbHlzaXNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5hbmFseXNpc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJhbmFseXNpcyI9PT1DfSx7aWQ6ImRlcml2YXRpdmVzIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1NTgwNjcpKSxhbmFseXRpY3NOYW1lOiJEZXJpdmF0aXZlcyIsaWNvbjpnLG9uQ2xpY2s6KCk9PigwLGQuc2hvd0Rlcml2YXRpdmVzRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNEZXJpdmF0aXZlcyxpc1NlbGVjdGVkOiJkZXJpdmF0aXZlcyI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwsewpjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDMzNDQxNSkpLGFuYWx5dGljc1N1Yk1lbnU6IkFuYWx5c2lzIixpdGVtczpOKFt7aWQ6InRlY2huaWNhbHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDEyMTI3MCkpLGFuYWx5dGljc05hbWU6IlRlY2huaWNhbHMiLGljb246YixvbkNsaWNrOigpPT4oMCxsLnNob3dUZWNobmljYWxzRGlhbG9nKSh7c25hcHNob3Q6dC5saXN0ZWRFeGNoYW5nZSYmdC50eXBlP3tsaXN0ZWRfZXhjaGFuZ2U6dC5saXN0ZWRFeGNoYW5nZSx0eXBlOnQudHlwZSx0eXBlc3BlY3M6dC50eXBlc3BlY3MscHJpY2VzY2FsZTp0LnByaWNlc2NhbGV9OnZvaWQgMCxzaG91bGRGb3JjZUZvY3VzOiExfSksaGlkZGVuOiF0Lmhhc1RlY2huaWNhbHMsaXNTZWxlY3RlZDoidGVjaG5pY2FscyI9PT1DfSx7aWQ6InNlYXNvbmFscyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oMzc4NzUwKSksYW5hbHl0aWNzTmFtZToiU2Vhc29uYWxzIixpY29uOnQuc2Vhc29uYWxzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnNlYXNvbmFsc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LnNlYXNvbmFsc0FjdGlvbj8uaXNEaXNhYmxlZCgpPz8hMCxpc1NlbGVjdGVkOiJzZWFzb25hbHMiPT09Q30se2lkOiJmb3J3YXJkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2Njg2ODApKSxhbmFseXRpY3NOYW1lOiJGb3J3YXJkIGN1cnZlIixpY29uOmYsb25DbGljazooKT0+KDAsci5zaG93Rm9yd2FyZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNGb3J3YXJkQ3VydmUsaXNTZWxlY3RlZDoiZm9yd2FyZC1jdXJ2ZSI9PT1DfSx7aWQ6InlpZWxkLWN1cnZlIix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig2MTYxODApKSxhbmFseXRpY3NOYW1lOiJZaWVsZCBjdXJ2ZSIsaWNvbjptLG9uQ2xpY2s6KCk9PigwLGMuc2hvd0JvbmRZaWVsZEN1cnZlRGlhbG9nKSgpLGhpZGRlbjohdC5oYXNZaWVsZEN1cnZlLGlzU2VsZWN0ZWQ6InlpZWxkLWN1cnZlIj09PUN9LHtpZDoibmV3cyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oODQzNTIwKSksYW5hbHl0aWNzTmFtZToiTmV3cyIsaWNvbjp0Lm5ld3NBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQubmV3c0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0Lm5ld3NBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoibmV3cyI9PT1DfSx7aWQ6ImZvcmVjYXN0Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig1MzQwMjcpKSxhbmFseXRpY3NOYW1lOiJGb3JlY2FzdCIsaWNvbjp0LmZvcmVjYXN0QWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmZvcmVjYXN0QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZm9yZWNhc3RBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZm9yZWNhc3QiPT09Q30se2lkOiJlY29ub215LWluZGljYXRvcnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDM4ODc4NikpLGFuYWx5dGljc05hbWU6IkVjb25vbXkgaW5kaWNhdG9ycyIsaWNvbjp0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmVjb25vbXlJbmRpY2F0b3JzQWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuZWNvbm9teUluZGljYXRvcnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZWNvbm9teS1pbmRpY2F0b3JzIj09PUN9LHtpZDoiY29tbXVuaXR5Iix0aXRsZTphLnQobnVsbCx7Y29udGV4dDoiY29udGVudF9tZW51In0sbig3MTM5MDUpKSxhbmFseXRpY3NOYW1lOiJDb21tdW5pdHkiLGljb246dC5jb21tdW5pdHlBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuY29tbXVuaXR5QWN0aW9uKS5leGVjdXRlKCksaGlkZGVuOnQuY29tbXVuaXR5QWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImNvbW11bml0eSI9PT1DfV0pfSx7dGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjEyNTUpKSxhbmFseXRpY3NTdWJNZW51OiJJbnN0cnVtZW50cyIsaXRlbXM6Tihbe2lkOiJjb250cmFjdHMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDI0NTE0NykpLGFuYWx5dGljc05hbWU6IkNvbnRyYWN0cyIsaWNvbjpwLG9uQ2xpY2s6KCk9PigwLHUuc2hvd0NvbnRyYWN0c0RpYWxvZykoKSxoaWRkZW46IXQuaGFzQ29udHJhY3RzLGlzU2VsZWN0ZWQ6ImNvbnRyYWN0cyI9PT1DfSx7aWQ6Im9wdGlvbnMiLHRpdGxlOmEudChudWxsLHtjb250ZXh0OiJjb250ZW50X21lbnUifSxuKDk1NDExMSkpLGFuYWx5dGljc05hbWU6Ik9wdGlvbnMiLGljb246dC5vcHRpb25zQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0Lm9wdGlvbnNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5vcHRpb25zQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6Im9wdGlvbnMiPT09Q30se2lkOiJib25kcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oNjAyMTEzKSksYW5hbHl0aWNzTmFtZToiQm9uZHMiLGljb246dC5zdG9ja0JvbmRzQWN0aW9uPy5nZXRTdGF0ZSgpLmljb24sb25DbGljazooKT0+KDAsaS5lbnN1cmVOb3ROdWxsKSh0LnN0b2NrQm9uZHNBY3Rpb24pLmV4ZWN1dGUoKSxoaWRkZW46dC5zdG9ja0JvbmRzQWN0aW9uPy5pc0Rpc2FibGVkKCk/PyEwLGlzU2VsZWN0ZWQ6ImJvbmRzIj09PUN9LHtpZDoiZXRmcyIsdGl0bGU6YS50KG51bGwse2NvbnRleHQ6ImNvbnRlbnRfbWVudSJ9LG4oOTI3ODkpKSxhbmFseXRpY3NOYW1lOiJFVEZzIiwKaWNvbjp0LmV0ZnNBY3Rpb24/LmdldFN0YXRlKCkuaWNvbixvbkNsaWNrOigpPT4oMCxpLmVuc3VyZU5vdE51bGwpKHQuZXRmc0FjdGlvbikuZXhlY3V0ZSgpLGhpZGRlbjp0LmV0ZnNBY3Rpb24/LmlzRGlzYWJsZWQoKT8/ITAsaXNTZWxlY3RlZDoiZXRmcyI9PT1DfV0pfV0uZmlsdGVyKChlPT5lLml0ZW1zLmxlbmd0aCkpfWZ1bmN0aW9uIE4oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hZS5oaWRkZW58fGUuaXNTZWxlY3RlZCkpfX0sMzE1ODUwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3Nob3dDb250cmFjdHNEaWFsb2c6KCk9Pml9KTt2YXIgYT1uKDg5MDgzNSk7ZnVuY3Rpb24gaShlKXthLmN1cnJlbnRMYXlvdXQudmFsdWUoKT8uc2hvd0FuYWx5c2lzVmlldygiY29udHJhY3RzIixlKX19LDQ5MDIwNChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtyZXNvbHZlVW5kZXJseWluZ1N5bWJvbDooKT0+aX0pO3ZhciBhPW4oMzIwNTUpO2FzeW5jIGZ1bmN0aW9uIGkoZSl7Y29uc3QgdD1hd2FpdCgwLGEuc25hcHNob3RlcikoKS5nZXRTbmFwc2hvdChlLG5ldyBTZXQoWyJ1bmRlcmx5aW5nLXN5bWJvbCJdKSk7aWYoImVycm9yIj09PXQuc3RhdHVzKXJldHVybiBudWxsO2NvbnN0IG49dC52YWx1ZXNbInVuZGVybHlpbmctc3ltYm9sIl07cmV0dXJuIG58fG51bGx9fSw1MTA1OTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7TGVhZGluZ0Vtb2ppVGV4dDooKT0+bH0pO3ZhciBhPW4oNzc5NDc0KSxpPW4oMjQ5ZTMpLG89big0Mjg5MjQpLHM9big5OTU4NTEpO2Z1bmN0aW9uIGwoZSl7Y29uc3R7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omw9ITEsc3BhY2VBZnRlckVtb2ppOnI9ITB9PWUse2xlYWRpbmdFbW9qaTpkLHByb2Nlc3NlZFRleHQ6dX09KDAsYS51c2VNZW1vKSgoKCk9PigwLGkucHJvY2Vzc1RleHRXaXRoTGVhZGluZ0Vtb2ppKSh7dGV4dDp0LHRleHRSZW5kZXI6bixmaXJzdFNlZ21lbnRPbmx5Omx9KSksW3QsbixsXSk7cmV0dXJuIGQ/YS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cy5lbW9qaVdyYXB9LCLCoCIsYS5jcmVhdGVFbGVtZW50KG8uRW1vamlJdGVtLHtjbGFzc05hbWU6cy5lbW9qaSxlbW9qaTpkfSkpLCIiIT09dSYmYS5jcmVhdGVFbGVtZW50KGEuRnJhZ21lbnQsbnVsbCxyJiZhLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLCLCoCIpLHUpKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLHUpfX0sMjQ5ZTMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Z2V0TGVhZGluZ0Vtb2ppSHRtbDooKT0+Yyxwcm9jZXNzVGV4dFdpdGhMZWFkaW5nRW1vamk6KCk9PnV9KTt2YXIgYT1uKDY0MTU5MyksaT1uKDkzMDIzMSksbz1uKDMxNTE1NCkscz1uKDQyNzc3MyksbD1uKDMzMzMxMikscj1uKDk5NTg1MSk7Y29uc3QgZD0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhZHZhbmNlZF9lbW9qaV9pbl90aXRsZXMiKTtmdW5jdGlvbiB1KGUpe2NvbnN0e3RleHQ6dCx0ZXh0UmVuZGVyOm49ZT0+ZSxmaXJzdFNlZ21lbnRPbmx5Omk9ITF9PWUsbD0oMCxhLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKSh0KSxyPW51bGwhPT1sJiYoMCxvLmlzU3VwcG9ydGVkRW1vamkpKGwpP2w6cy5FTVBUWV9FTU9KSSx1PWk/bHx8IiI6dDtpZighZHx8cj09PXMuRU1QVFlfRU1PSkkpcmV0dXJue2xlYWRpbmdFbW9qaToiIixwcm9jZXNzZWRUZXh0Om4odSl9O3JldHVybntsZWFkaW5nRW1vamk6cixwcm9jZXNzZWRUZXh0Om4odS5yZXBsYWNlKHIsIiIpKX19ZnVuY3Rpb24gYyhlKXtjb25zdHtwcm9jZXNzZWRUZXh0OnQsbGVhZGluZ0Vtb2ppOm59PXUoe3RleHQ6ZX0pLGk9KDAsYS5odG1sRXNjYXBlKSh0KTtpZighbilyZXR1cm4gaTtyZXR1cm5gJHtmdW5jdGlvbihlKXtjb25zdCB0PSgwLGwuZ2V0VHdlbW9qaVVybCkoZSwicG5nIik7cmV0dXJuYDxzcGFuIGNsYXNzPSR7ci50b29sdGlwRW1vamlXcmFwfT4mbmJzcDxpbWcgY2xhc3M9JHtyLnRvb2x0aXBFbW9qaX0gc3JjPSR7dH0gZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGFsdD0iIiBkcmFnZ2FibGU9ImZhbHNlIi8+PC9zcGFuPmB9KG4pfSZuYnNwOyR7aX1gfX0sOTk0MTc4KGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGE9big5NjcxMjEpO2Z1bmN0aW9uIGkoKXt9ZnVuY3Rpb24gbygpe31vLnJlc2V0V2FybmluZ0NhY2hlPWksZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbixpLG8scyl7aWYocyE9PWEpe3ZhciBsPW5ldyBFcnJvcigiQ2FsbGluZyBQcm9wVHlwZXMgdmFsaWRhdG9ycyBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBgcHJvcC10eXBlc2AgcGFja2FnZS4gVXNlIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygpIHRvIGNhbGwgdGhlbS4gUmVhZCBtb3JlIGF0IGh0dHA6Ly9mYi5tZS91c2UtY2hlY2stcHJvcC10eXBlcyIpO3Rocm93IGwubmFtZT0iSW52YXJpYW50IFZpb2xhdGlvbiIsbH19ZnVuY3Rpb24gdCgpe3JldHVybiBlfWUuaXNSZXF1aXJlZD1lO3ZhciBuPXthcnJheTplLGJvb2w6ZSxmdW5jOmUsbnVtYmVyOmUsb2JqZWN0OmUsc3RyaW5nOmUsc3ltYm9sOmUsYW55OmUsYXJyYXlPZjp0LGVsZW1lbnQ6ZSxlbGVtZW50VHlwZTplLGluc3RhbmNlT2Y6dCxub2RlOmUsb2JqZWN0T2Y6dCxvbmVPZjp0LG9uZU9mVHlwZTp0LHNoYXBlOnQsZXhhY3Q6dCxjaGVja1Byb3BUeXBlczpvLHJlc2V0V2FybmluZ0NhY2hlOml9O3JldHVybiBuLlByb3BUeXBlcz1uLG59fSwyMjE4OTYoZSx0LG4pe2UuZXhwb3J0cz1uKDk5NDE3OCkoKX0sOTY3MTIxKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9IlNFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEIn0sMTI5MzY1KGUsdCxuKXsidXNlIHN0cmljdCI7IWZ1bmN0aW9uIGUoKXsKaWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9big1MzIzODcpfSwxMjI3NDkoZSx0KXsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLG89U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxzPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5wcm92aWRlciIpLHI9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGQ9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksaD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3I7dmFyIG09e2lzTW91bnRlZDpmdW5jdGlvbigpe3JldHVybiExfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24oKXt9LGVucXVldWVTZXRTdGF0ZTpmdW5jdGlvbigpe319LHA9T2JqZWN0LmFzc2lnbixmPXt9O2Z1bmN0aW9uIGcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1mdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9Zix0aGlzLnVwZGF0ZXI9bnx8bX1nLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LGcucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcigic2V0U3RhdGUoLi4uKTogdGFrZXMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcyB0byB1cGRhdGUgb3IgYSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMuIik7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0sZy5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LGIucHJvdG90eXBlPWcucHJvdG90eXBlO3ZhciBDPXcucHJvdG90eXBlPW5ldyBiO0MuY29uc3RydWN0b3I9dyxwKEMsZy5wcm90b3R5cGUpLEMuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIF89QXJyYXkuaXNBcnJheSx5PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksUz17Y3VycmVudDpudWxsfSx4PXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gRShlLHQsYSl7dmFyIGksbz17fSxzPW51bGwsbD1udWxsO2lmKG51bGwhPXQpZm9yKGkgaW4gdm9pZCAwIT09dC5yZWYmJihsPXQucmVmKSx2b2lkIDAhPT10LmtleSYmKHM9IiIrdC5rZXkpLHQpeS5jYWxsKHQsaSkmJiF4Lmhhc093blByb3BlcnR5KGkpJiYob1tpXT10W2ldKTt2YXIgcj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXIpby5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxyKXtmb3IodmFyIGQ9QXJyYXkociksdT0wO3U8cjt1KyspZFt1XT1hcmd1bWVudHNbdSsyXTtvLmNoaWxkcmVuPWR9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKGkgaW4gcj1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW2ldJiYob1tpXT1yW2ldKTtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5OnMscmVmOmwscHJvcHM6byxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBNKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1ufXZhciBrPS9cLysvZztmdW5jdGlvbiBJKGUsdCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/ZnVuY3Rpb24oZSl7dmFyIHQ9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrZS5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSkpfSgiIitlLmtleSk6dC50b1N0cmluZygzNil9ZnVuY3Rpb24gVChlLHQsaSxvLHMpe3ZhciBsPXR5cGVvZiBlOyJ1bmRlZmluZWQiIT09bCYmImJvb2xlYW4iIT09bHx8KGU9bnVsbCk7dmFyIHI9ITE7aWYobnVsbD09PWUpcj0hMDtlbHNlIHN3aXRjaChsKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOnI9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIG46Y2FzZSBhOnI9ITB9fWlmKHIpcmV0dXJuIHM9cyhyPWUpLGU9IiI9PT1vPyIuIitJKHIsMCk6byxfKHMpPyhpPSIiLG51bGwhPWUmJihpPWUucmVwbGFjZShrLCIkJi8iKSsiLyIpLFQocyx0LGksIiIsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpKTpudWxsIT1zJiYoTShzKSYmKHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUudHlwZSxrZXk6dCxyZWY6ZS5yZWYscHJvcHM6ZS5wcm9wcyxfb3duZXI6ZS5fb3duZXJ9fShzLGkrKCFzLmtleXx8ciYmci5rZXk9PT1zLmtleT8iIjooIiIrcy5rZXkpLnJlcGxhY2UoaywiJCYvIikrIi8iKStlKSksdC5wdXNoKHMpKSwxO2lmKHI9MCxvPSIiPT09bz8iLiI6bysiOiIsXyhlKSlmb3IodmFyIGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9bytJKGw9ZVtkXSxkKTtyKz1UKGwsdCxpLHUscyl9ZWxzZSBpZih1PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKGU9diYmZVt2XXx8ZVsiQEBpdGVyYXRvciJdKT9lOm51bGx9KGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KWZvcihlPXUuY2FsbChlKSwKZD0wOyEobD1lLm5leHQoKSkuZG9uZTspcis9VChsPWwudmFsdWUsdCxpLHU9bytJKGwsZCsrKSxzKTtlbHNlIGlmKCJvYmplY3QiPT09bCl0aHJvdyB0PVN0cmluZyhlKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKygiW29iamVjdCBPYmplY3RdIj09PXQ/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMoZSkuam9pbigiLCAiKSsifSI6dCkrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKTtyZXR1cm4gcn1mdW5jdGlvbiBBKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBhPVtdLGk9MDtyZXR1cm4gVChlLGEsIiIsIiIsKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNhbGwobixlLGkrKyl9KSksYX1mdW5jdGlvbiBIKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD1lLl9yZXN1bHQ7KHQ9dCgpKS50aGVuKChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswIT09ZS5fc3RhdHVzJiYtMSE9PWUuX3N0YXR1c3x8KGUuX3N0YXR1cz0yLGUuX3Jlc3VsdD10KX0pKSwtMT09PWUuX3N0YXR1cyYmKGUuX3N0YXR1cz0wLGUuX3Jlc3VsdD10KX1pZigxPT09ZS5fc3RhdHVzKXJldHVybiBlLl9yZXN1bHQuZGVmYXVsdDt0aHJvdyBlLl9yZXN1bHR9dmFyIFY9e2N1cnJlbnQ6bnVsbH0sUj17dHJhbnNpdGlvbjpudWxsfSxGPXtSZWFjdEN1cnJlbnREaXNwYXRjaGVyOlYsUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6UixSZWFjdEN1cnJlbnRPd25lcjpTfTt0LkNoaWxkcmVuPXttYXA6QSxmb3JFYWNoOmZ1bmN0aW9uKGUsdCxuKXtBKGUsKGZ1bmN0aW9uKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4gQShlLChmdW5jdGlvbigpe3QrK30pKSx0fSx0b0FycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBBKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighTShlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSx0LkNvbXBvbmVudD1nLHQuRnJhZ21lbnQ9aSx0LlByb2ZpbGVyPXMsdC5QdXJlQ29tcG9uZW50PXcsdC5TdHJpY3RNb2RlPW8sdC5TdXNwZW5zZT11LHQuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ9Rix0LmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQsYSl7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIGk9cCh7fSxlLnByb3BzKSxvPWUua2V5LHM9ZS5yZWYsbD1lLl9vd25lcjtpZihudWxsIT10KXtpZih2b2lkIDAhPT10LnJlZiYmKHM9dC5yZWYsbD1TLmN1cnJlbnQpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciByPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKGQgaW4gdCl5LmNhbGwodCxkKSYmIXguaGFzT3duUHJvcGVydHkoZCkmJihpW2RdPXZvaWQgMD09PXRbZF0mJnZvaWQgMCE9PXI/cltkXTp0W2RdKX12YXIgZD1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWQpaS5jaGlsZHJlbj1hO2Vsc2UgaWYoMTxkKXtyPUFycmF5KGQpO2Zvcih2YXIgdT0wO3U8ZDt1Kyspclt1XT1hcmd1bWVudHNbdSsyXTtpLmNoaWxkcmVuPXJ9cmV0dXJueyQkdHlwZW9mOm4sdHlwZTplLnR5cGUsa2V5Om8scmVmOnMscHJvcHM6aSxfb3duZXI6bH19LHQuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6cixfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6bCxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LHQuY3JlYXRlRWxlbWVudD1FLHQuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgdD1FLmJpbmQobnVsbCxlKTtyZXR1cm4gdC50eXBlPWUsdH0sdC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sdC5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpkLHJlbmRlcjplfX0sdC5pc1ZhbGlkRWxlbWVudD1NLHQubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6aCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0Okh9fSx0Lm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6Yyx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LHQuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PVIudHJhbnNpdGlvbjtSLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1IudHJhbnNpdGlvbj10fX0sdC51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBWLmN1cnJlbnQudXNlQ29udGV4dChlKX0sdC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSx0LnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFYuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKGUpfSx0LnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBWLmN1cnJlbnQudXNlRWZmZWN0KGUsdCl9LHQudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gVi5jdXJyZW50LnVzZUlkKCl9LHQudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihlLHQsbil7CnJldHVybiBWLmN1cnJlbnQudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFYuY3VycmVudC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sdC51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZUxheW91dEVmZmVjdChlLHQpfSx0LnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVi5jdXJyZW50LnVzZU1lbW8oZSx0KX0sdC51c2VSZWR1Y2VyPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZHVjZXIoZSx0LG4pfSx0LnVzZVJlZj1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVJlZihlKX0sdC51c2VTdGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN0YXRlKGUpfSx0LnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gVi5jdXJyZW50LnVzZVN5bmNFeHRlcm5hbFN0b3JlKGUsdCxuKX0sdC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIFYuY3VycmVudC51c2VUcmFuc2l0aW9uKCl9LHQudmVyc2lvbj0iMTguMi4wIn0sNzc5NDc0KGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMTIyNzQ5KX0sMjY3MDI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse1NFUklFU19JQ09OUzooKT0+eH0pO3ZhciBhPW4oNzIyNzYzKSxpPW4oOTE3Njk2KSxvPW4oNzczMjY1KSxzPW4oNDU1NjM4KSxsPW4oNjU5NTA1KSxyPW4oNjQ3NjMwKSxkPW4oMTkyNDgyKSx1PW4oOTg3MDIxKSxjPW4oOTU5MjMpLGg9big4Njc1NDUpLHY9big1MjI5NDYpLG09bigyMTYzMzUpLHA9bigzNzYxNiksZj1uKDUwMDUwNyksZz1uKDM4MTkyMyksYj1uKDQyMDM0MCksdz1uKDk2NTYzNSksQz1uKDI0MzQwMiksXz1uKDg0MjA1MSkseT1uKDIxNTQ4MCksUz1uKDQ0MzE2Nyk7Y29uc3QgeD17MzpoLDE2OnYsMDptLDE6cCw4OmYsOTpnLDI6YiwxNDp3LDE1OkMsMTA6XywxMjp5LDEzOlN9O3hbNF09YSx4WzZdPWkseFs3XT1vLHhbNV09cyx4WzE5XT1sLHhbMTFdPXIseFsxN109ZCx4WzE4XT11LHhbMjBdPWN9LDgyNDU5MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRTdHVkeVRlbXBsYXRlRGVzY1N0cmluZzooKT0+YX0pO24oOTQzOTUpO2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uZXcgTWFwO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFtuLGFdPXQuZ2V0KGUuaWQpfHxbZS5kZXNjcmlwdGlvbiwwXTt0LnNldChlLmlkLFtuLGErMV0pfSkpLEFycmF5LmZyb20odC52YWx1ZXMoKSkubWFwKCgoW2UsdF0pPT5gJHtlfSR7dD4xP2AgeCAke3R9YDoiIn1gKSkuam9pbigiLCAiKX19LDMxMzgyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtGYXZvcml0ZUZ1bmRhbWVudGFsczooKT0+cn0pO3ZhciBhPW4oOTMwNTY2KSxpPW4oMTUyNjk5KSxvPW4oOTQ4MzgwKTtjb25zdCBzPSJmdW5kYW1lbnRhbHMuZmF2b3JpdGVzIjtsZXQgbD1udWxsO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9mYXZvcml0ZXM9W10sdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSxpLlRWWFdpbmRvd0V2ZW50cy5vbigiRnVuZEZhdm9yaXRlc0NoYW5nZWQiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO3RoaXMuX2xvYWRGcm9tU3RhdGUodHx8W10pfSkpLGEub25TeW5jLnN1YnNjcmliZSh0aGlzLHRoaXMuX2xvYWRGYXZzKSx0aGlzLl9sb2FkRmF2cygpfWlzRmF2KGUpe3JldHVybi0xIT09dGhpcy5fZmluZEZhdkluZGV4KGUpfXRvZ2dsZUZhdm9yaXRlKGUpe3RoaXMuaXNGYXYoZSk/dGhpcy5yZW1vdmVGYXZvcml0ZShlKTp0aGlzLmFkZEZhdm9yaXRlKGUpfXRvZ2dsZUZhdm9yaXRlQXJyYXkoZSl7Y29uc3QgdD1lLnNvbWUoKGU9PnRoaXMuaXNGYXYoZSkpKTtlLmZvckVhY2goKGU9PntpZih0KXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJnRoaXMuX2Zhdm9yaXRlcy5zcGxpY2UodCwxKX1lbHNlIHRoaXMuX2Zhdm9yaXRlcy5wdXNoKGUpfSkpLHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWQuZmlyZSgpLHRoaXMuX3NhdmVGYXZzKCl9YWRkRmF2b3JpdGUoZSl7dGhpcy5fZmF2b3JpdGVzLnB1c2goZSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCksdGhpcy5fc2F2ZUZhdnMoKX1yZW1vdmVGYXZvcml0ZShlKXtjb25zdCB0PXRoaXMuX2ZpbmRGYXZJbmRleChlKTstMSE9PXQmJih0aGlzLl9mYXZvcml0ZXMuc3BsaWNlKHQsMSksdGhpcy5fZmF2b3JpdGVzQ2hhbmdlZC5maXJlKCkpLHRoaXMuX3NhdmVGYXZzKCl9ZmF2b3JpdGVzKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc31mYXZvcml0ZXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2Zhdm9yaXRlc0NoYW5nZWR9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIG51bGw9PT1sJiYobD1uZXcgciksbH1fbG9hZEZhdnMoKXtjb25zdCBlPWEuZ2V0SlNPTihzLFtdKTt0aGlzLl9sb2FkRnJvbVN0YXRlKGUpfV9zYXZlRmF2cygpe2Euc2V0SlNPTihzLHRoaXMuX2Zhdm9yaXRlcyx7Zm9yY2VGbHVzaDohMH0pLGkuVFZYV2luZG93RXZlbnRzLmVtaXQoIkZ1bmRGYXZvcml0ZXNDaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh0aGlzLl9mYXZvcml0ZXMpKX1fbG9hZEZyb21TdGF0ZShlKXt0aGlzLl9mYXZvcml0ZXM9ZSx0aGlzLl9mYXZvcml0ZXNDaGFuZ2VkLmZpcmUoKX1fZmluZEZhdkluZGV4KGUpe3JldHVybiB0aGlzLl9mYXZvcml0ZXMuaW5kZXhPZihlKX19fSw2ODU5NzkoZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYSxpLG89big0ODI1MDQpLHtjbG9uZTpzfT1uKDYwMTg0MSksbD0oYT17fSxpPW5ldyBTZXQse3N1Z2dlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbj1vLmFqYXgoe3VybDp0fHwiL3B1YnNjcmlwdHMtc3VnZ2VzdC1qc29uLyIsdHlwZToiR0VUIixkYXRhOntzZWFyY2g6ZX0sZGF0YVR5cGU6Impzb24ifSk7cmV0dXJuIG4uZG9uZSgoZnVuY3Rpb24oZSl7CmlmKGUmJmUucmVzdWx0cylmb3IodmFyIHQ9MDt0PGUucmVzdWx0cy5sZW5ndGg7dCsrKWFbZS5yZXN1bHRzW3RdLnNjcmlwdElkUGFydF18fChhW2UucmVzdWx0c1t0XS5zY3JpcHRJZFBhcnRdPXMoZS5yZXN1bHRzW3RdKSl9KSksbn0saW5mbzpmdW5jdGlvbihlLHQ9ITEpe2Zvcih2YXIgbj1vLkRlZmVycmVkKCksbD1bXSxyPVtdLGQ9MDtkPGUubGVuZ3RoO2QrKyl7dmFyIHU9ZVtkXSxjPXR8fCFpLmhhcyh1KTthW3VdP2wucHVzaChzKGFbdV0pKTpyLmxlbmd0aDwzZTMmJmMmJnIucHVzaCh1KX1pZighci5sZW5ndGgpcmV0dXJuIG4ucmVzb2x2ZShsKS5wcm9taXNlKCk7dmFyIGg9e3NjcmlwdElkUGFydDpyLmpvaW4oIiwiKSxzaG93X2hpZGRlbjp0fTtyZXR1cm4gby5hamF4KHt1cmw6Ii9wdWJzY3JpcHRzLWdldC8iLHR5cGU6IlBPU1QiLGRhdGE6aCxkYXRhVHlwZToianNvbiJ9KS5kb25lKChmdW5jdGlvbihlKXtlPWV8fFtdO3ZhciB0PW5ldyBTZXQocik7Zm9yKHZhciBvIGluIGUpe3ZhciBkPWVbb107YVtkLnNjcmlwdElkUGFydF09cyhkKSxsLnB1c2goZCksdC5oYXMoZC5zY3JpcHRJZFBhcnQpJiZ0LmRlbGV0ZShkLnNjcmlwdElkUGFydCl9dC5mb3JFYWNoKChmdW5jdGlvbihlKXtpLmFkZChlKX0pKSxuLnJlc29sdmUobCl9KSkuZmFpbCgoZnVuY3Rpb24oKXtuLnJlamVjdCgpfSkpLG59LGludmFsaWRhdGVDYWNoZTpmdW5jdGlvbihlKXtlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2RlbGV0ZSBhW2VdfSkpfSxjbGVhbkNhY2hlOmZ1bmN0aW9uKCl7YT1bXX19KTtlLmV4cG9ydHM9bH0sNjA0OTEyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zLjUgOGE0LjUgNC41IDAgMSAxIDkgMCA0LjUgNC41IDAgMCAxLTkgMFpNOCAyYTYgNiAwIDEgMCAzLjY1IDEwLjc2bDMuNTggMy41OCAxLjA2LTEuMDYtMy41Ny0zLjU3QTYgNiAwIDAgMCA4IDJaIi8+PC9zdmc+J30sNTIyOTQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMiA1aDF2MWgtMXptLTEgMlY2aDF2MXptLTEgMVY3aDF2MXptLTEgMVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAwaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xLTFoMXYxaC0xem0tMS0xaDF2MWgtMXptLTEtMWgxdjFoLTF6bS0xIDBWN2gxdjF6TTkgOVY4aDF2MXptLTEgMVY5aDF2MXptLTEgMXYtMWgxdjF6bS0xIDF2LTFoMXYxem0tMSAxdi0xaDF2MXptMCAwdjFINHYtMXoiLz48cGF0aCBkPSJNMjMuMzQgMTAuMzcgMTUuNSAxNy43bC01LTUtNS4xNSA0LjY3LS42OC0uNzQgNS44Ni01LjMyIDUgNSA3LjE0LTYuNjd6TTYgMjFINXYxaDF6bTEtMXYxSDZ2LTF6bTEtMUg3djFoMXptMS0xdjFIOHYtMXoiLz48cGF0aCBkPSJNMTAgMTdIOXYxaDF6bTEgMGgtMXYtMWgxem0xIDFoLTF2LTFoMXptMSAxdi0xaC0xdjF6bTEgMWgtMXYtMWgxem0xIDF2LTFoLTF2MXptMSAwdjFoLTF2LTF6bTEtMXYxaC0xdi0xem0xLTF2MWgtMXYtMXptMS0xaC0xdjFoMXptMS0xdjFoLTF2LTF6bTEtMWgtMXYxaDF6bTEtMXYxaC0xdi0xem0xLTFoLTF2MWgxem0wIDBoMXYtMWgtMXoiLz48L3N2Zz4nfSw3NjE5NzEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTUgNy41QzUgNi42NyA1LjY3IDYgNi41IDZoNC4ybDIgMmg4LjhjLjgzIDAgMS41LjY3IDEuNSAxLjV2MTBjMCAuODMtLjY3IDEuNS0xLjUgMS41aC0xNUExLjUgMS41IDAgMCAxIDUgMTkuNXYtMTJaTTYuNSA3YS41LjUgMCAwIDAtLjUuNVYxMWgxNlY5LjVhLjUuNSAwIDAgMC0uNS0uNWgtOS4ybC0yLTJINi41Wk0yMiAxMkg2djcuNWMwIC4yOC4yMi41LjUuNWgxNWEuNS41IDAgMCAwIC41LS41VjEyWiIvPjwvc3ZnPid9LDI2NjEwMChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMuOSAxNC4xVjIyaDEuMnYtNy45SDIzdi0xLjJoLTcuOVY1aC0xLjJ2Ny45SDZ2MS4yaDcuOVoiLz48L3N2Zz4nfSw2MDk1MzQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDR2NGgyYTEgMSAwIDAgMSAuODMgMS41NWwtNCA2QTEgMSAwIDAgMSAxNCAxNXYtNGgtMmExIDEgMCAwIDEtLjgzLTEuNTVsNC02QTEgMSAwIDAgMSAxNyA0bS0yIDExIDQtNmgtM1Y0bC00IDZoM3oiLz48cGF0aCBkPSJNNSAxMy41YTcuNSA3LjUgMCAwIDEgNi03LjM1djEuMDJBNi41IDYuNSAwIDEgMCAxOC45OCAxM2gxbC4wMi41YTcuNDcgNy40NyAwIDAgMS0xLjg1IDQuOTRMMjMgMjMuMjlsLS43MS43LTQuODUtNC44NEE3LjUgNy41IDAgMCAxIDUgMTMuNSIvPjwvc3ZnPid9LDE1OTg3NyhlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOCA3aDNhMSAxIDAgMCAxIDEgMXYzYTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xVjhhMSAxIDAgMCAxIDEtMXpNNiA4YzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg4YTIgMiAwIDAgMS0yLTJWOHptMTEtMWgzYTEgMSAwIDAgMSAxIDF2M2ExIDEgMCAwIDEtMSAxaC0zYTEgMSAwIDAgMS0xLTFWOGExIDEgMCAwIDEgMS0xem0tMiAxYzAtMS4xLjktMiAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMmgtM2EyIDIgMCAwIDEtMi0yVjh6bS00IDhIOGExIDEgMCAwIDAtMSAxdjNhMSAxIDAgMCAwIDEgMWgzYTEgMSAwIDAgMCAxLTF2LTNhMSAxIDAgMCAwLTEtMXptLTMtMWEyIDIgMCAwIDAtMiAydjNjMCAxLjEuOSAyIDIgMmgzYTIgMiAwIDAgMCAyLTJ2LTNhMiAyIDAgMCAwLTItMkg4em05IDFoM2ExIDEgMCAwIDEgMSAxdjNhMSAxIDAgMCAxLTEgMWgtM2ExIDEgMCAwIDEtMS0xdi0zYTEgMSAwIDAgMSAxLTF6bS0yIDFjMC0xLjEuOS0yIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyaC0zYTIgMiAwIDAgMS0yLTJ2LTN6Ii8+PC9zdmc+J30sNDM0MDM3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE4LjVBMi41IDIuNSAwIDAgMCA5LjUgMjFIMTJ2MUg5LjVBMy41IDMuNSAwIDAgMSA2IDE4LjVWMTZoMXptMTUgMGEzLjUgMy41IDAgMCAxLTMuNSAzLjVIMTZ2LTFoMi41YTIuNSAyLjUgMCAwIDAgMi41LTIuNVYxNmgxek0xMiA3SDkuNUEyLjUgMi41IDAgMCAwIDcgOS41VjEySDZWOS41QTMuNSAzLjUgMCAwIDEgOS41IDZIMTJ6bTYuNS0xQTMuNSAzLjUgMCAwIDEgMjIgOS41VjEyaC0xVjkuNUEyLjUgMi41IDAgMCAwIDE4LjUgN0gxNlY2eiIvPjwvc3ZnPid9LDE3NTQ2NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOC41IDE3YTIuNSAyLjUgMCAwIDEgMi41IDIuNVYyMmgtMXYtMi41QTEuNSAxLjUgMCAwIDAgOC41IDE4SDZ2LTF6TTIyIDE4aC0yLjVhMS41IDEuNSAwIDAgMC0xLjUgMS41VjIyaC0xdi0yLjVhMi41IDIuNSAwIDAgMSAyLjUtMi41SDIyek0xMSA4LjVBMi41IDIuNSAwIDAgMSA4LjUgMTFINnYtMWgyLjVBMS41IDEuNSAwIDAgMCAxMCA4LjVWNmgxem03IDBhMS41IDEuNSAwIDAgMCAxLjUgMS41SDIydjFoLTIuNUEyLjUgMi41IDAgMCAxIDE3IDguNVY2aDF6Ii8+PC9zdmc+J30sNzU1Mjk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDEwYTMgMyAwIDAgMSAzIDNIOWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMkgxYTMgMyAwIDAgMSAzLTN6bTcgMGEzIDMgMCAwIDEgMyAzaC0xYTIgMiAwIDAgMC0yLTJoLTR2LTF6TTUuODU3IDQuMDA1YTIuMyAyLjMgMCAwIDEgMi4xMzggMi4xMzhDOCA2LjIyIDggNi4zMTUgOCA2LjVzMCAuMjgtLjAwNS4zNTdsLS4wMjQuMjEyYTIuMyAyLjMgMCAwIDEtMi4xMTQgMS45MjZMNS41IDlsLS4zNTctLjAwNUEyLjMgMi4zIDAgMCAxIDMuMDI5IDcuMDdsLS4wMjQtLjIxMkMzIDYuNzggMyA2LjY4NSAzIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzUuMjIgNCA1LjMxNSA0IDUuNSA0cy4yOCAwIC4zNTcuMDA1bTcgMGEyLjMgMi4zIDAgMCAxIDIuMTM4IDIuMTM4QzE1IDYuMjIgMTUgNi4zMTUgMTUgNi41czAgLjI4LS4wMDUuMzU3bC0uMDI0LjIxMmEyLjMgMi4zIDAgMCAxLTIuMTE0IDEuOTI2TDEyLjUgOWwtLjM1Ny0uMDA1YTIuMyAyLjMgMCAwIDEtMi4xMTQtMS45MjZsLS4wMjQtLjIxMkMxMCA2Ljc4IDEwIDYuNjg1IDEwIDYuNXMwLS4yOC4wMDUtLjM1N2EyLjMgMi4zIDAgMCAxIDIuMTM4LTIuMTM4QzEyLjIyIDQgMTIuMzE1IDQgMTIuNSA0cy4yOCAwIC4zNTcuMDA1bS03LjY0Ni45OThBMS4zIDEuMyAwIDAgMCA0LjAwMyA2LjIxIDYgNiAwIDAgMCA0IDYuNWMwIC4yMDEgMCAuMjUzLjAwMy4yOUExLjMgMS4zIDAgMCAwIDUuMjEgNy45OTZDNS4yNDcgOCA1LjI5OCA4IDUuNSA4cy4yNTMgMCAuMjktLjAwM0ExLjMgMS4zIDAgMCAwIDYuOTk2IDYuNzlDNyA2Ljc1MyA3IDYuNzAxIDcgNi41czAtLjI1My0uMDAzLS4yODlBMS4zIDEuMyAwIDAgMCA1Ljc5IDUuMDAzIDYgNiAwIDAgMCA1LjUgNWE2IDYgMCAwIDAtLjI5LjAwM203IDBhMS4zIDEuMyAwIDAgMC0xLjIwOCAxLjIwOEE2IDYgMCAwIDAgMTEgNi41YzAgLjIwMSAwIC4yNTMuMDAzLjI5YTEuMyAxLjMgMCAwIDAgMS4yMDggMS4yMDdjLjAzNi4wMDMuMDg3LjAwMy4yODkuMDAzcy4yNTMgMCAuMjktLjAwM2ExLjMgMS4zIDAgMCAwIDEuMjA3LTEuMjA4QzE0IDYuNzUzIDE0IDYuNzAxIDE0IDYuNXMwLS4yNTMtLjAwMy0uMjg5YTEuMyAxLjMgMCAwIDAtMS4yMDgtMS4yMDhBNiA2IDAgMCAwIDEyLjUgNWMtLjIwMiAwLS4yNTMgMC0uMjkuMDAzIi8+PC9zdmc+J30sMjc1ODM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMjIgMjRINlY0aDE2ek03IDIzaDE0VjVIN3ptMTItNS4zMzVMMTUuODYzIDIxbC0yLjEyOS0xLjUzMS41NzktLjgxNiAxLjQxOCAxLjAwOEwxOC4yNTQgMTd6TTE1IDE0SDl2LTFoNnptNC0zSDl2LTFoMTB6bTAtM0g5VjdoMTB6Ii8+PC9zdmc+J30sNTA2NzY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi41IDdhMi41IDIuNSAwIDEgMS0yLjQ1IDNIMTguNWEuNS41IDAgMCAwLS41LjV2N2EuNS41IDAgMCAwIC41LjVoMS41NWEyLjUwMSAyLjUwMSAwIDEgMSAwIDFIMTguNWExLjUgMS41IDAgMCAxLTEuNS0xLjV2LTNoLTIuMDIzQTUuOTk5IDUuOTk5IDAgMCAxIDMgMTRhNiA2IDAgMCAxIDExLjk3OC0uNUgxN3YtM0ExLjUgMS41IDAgMCAxIDE4LjUgOWgxLjU1YTIuNSAyLjUgMCAwIDEgMi40NS0ybTAgMTBhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTNNOSA5YTUgNSAwIDEgMCAwIDEwQTUgNSAwIDAgMCA5IDltLjUgMi4wMTNhMS43IDEuNyAwIDAgMSAxLjUgMS42ODhoLTFhLjcuNyAwIDAgMC0uNy0uN2gtLjU1YS43NS43NSAwIDAgMCAwIDEuNTAxaC41YTEuNzQ5IDEuNzQ5IDAgMCAxIC4yNSAzLjQ3OFYxOGgtMXYtMS4wMTJBMS42OSAxLjY5IDAgMCAxIDcgMTUuMzExaDFjMCAuMzguMzA5LjY5LjY5LjY5aC41NmEuNzUuNzUgMCAwIDAgMC0xLjQ5OWgtLjVhMS43NSAxLjc1IDAgMCAxLS4yNS0zLjQ4MlYxMGgxek0yMi41IDhhMS41IDEuNSAwIDEgMCAwIDMgMS41IDEuNSAwIDAgMCAwLTMiLz48L3N2Zz4nfSwxMTI2NjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcgMTd2NC41YS41LjUgMCAwIDAgLjUuNWgxNGEuNS41IDAgMCAwIC41LS41VjE3aDF2NC41YTEuNSAxLjUgMCAwIDEtMS41IDEuNWgtMTRBMS41IDEuNSAwIDAgMSA2IDIxLjVWMTd6bTgtMTF2MTEuMjkzbDMuMTQ2LTMuMTQ2LjcwNy43MDctNC4zNTMgNC4zNTMtNC4zNTMtNC4zNTMuNzA3LS43MDdMMTQgMTcuMjkzVjZ6Ii8+PC9zdmc+J30sODk4Mzc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMiA3djE1SDV2LTZoNHYtNmg1djNoM1Y3ek02IDIxaDN2LTRINnptNC0xMHYxMGgzVjExem00IDEwaDN2LTdoLTN6bTQgMGgzVjhoLTN6Ii8+PC9zdmc+J30sMzEwOTI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCAxNUg5di0yaDF6bTYuMDAxLTZoLTFWNi42NDhsLTUuMzI0IDQuOTU2LS4zMzQtLjI1LTMuMzE3LTIuNDc3TDIuNjgyIDEyIDIgMTEuMjdsMy45NTYtMy42OTQgMy42NSAyLjcyN0wxNC4yMyA2SDEyVjVoNC4wMDF6TTEwIDhIOVY2aDF6bTAtNEg5VjJoMXoiLz48L3N2Zz4nfSw2NjQ0ODEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgMmMzLjI5NSAwIDYgMi41NzUgNiA1Ljc5MiAwIDEuNzUzLS43MjMgMy4zNC0yIDQuNDA4VjE0aC0xLjk5djJINy4wMDZ2LTJINS4wMDR2LTEuNzY1QzMuNzggMTEuMTQ4IDMgOS40OTQgMyA3Ljc5MiAzLjAwMSA0LjU3NSA1LjcwNSAyIDkgMm0tLjk5NCAxM2gyLjAwNHYtMUg4LjAwNnptLTIuMDAyLTN2MUgxMnYtMXpNOSAzQzYuMjIgMyA0LjAwMSA1LjE2MyA0LjAwMSA3Ljc5MmMwIDEuMTc4LjQ1NSAyLjMzNSAxLjE5MiAzLjIwOGgzLjMxNVY4SDYuMDA0VjdoNi4wMDh2MUg5LjUwOHYzaDMuM0MxMy41NyAxMC4xNTYgMTQgOS4wMzQgMTQgNy43OTIgMTQgNS4xNjMgMTEuNzggMyA5IDMiLz48L3N2Zz4nfSwxNDgzODcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTkuNTU0IDEyLjUwNy0zLjMyMyAzLjMyNGE0LjIgNC4yIDAgMCAwIDUuOTQgNS45NGwzLjMyMy0zLjMyNC43MDcuNzA3LTMuMzI0IDMuMzIzYTUuMiA1LjIgMCAwIDEtNy4zNTMtNy4zNTNMOC44NDcgMTEuOHptNy43NTQtMS4xMDctNS45MDcgNS45MDctLjcwNy0uNzA3IDUuOTA3LTUuOTA3em0tMi4xODQtNS44NzZhNS4xOTkgNS4xOTkgMCAxIDEgNy4zNTMgNy4zNTNMMTkuMTU1IDE2LjJsLS43MDgtLjcwNyAzLjMyMy0zLjMyNGE0LjE5OSA0LjE5OSAwIDEgMC01LjkzOS01LjkzOGwtMy4zMjMgMy4zMjItLjcwNy0uNzA3eiIvPjwvc3ZnPid9LDEzOTY0MihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE3IDguMiA5IDE2IDEgOC4yIDMuNjY3IDNoMTAuNjY2ek0yLjIyNiA4IDkgMTQuNjAyIDE1Ljc3MyA4bC0yLjA1LTRINC4yNzd6TTkuNSA3SDExdjNIOS41djJoLTF2LTJIN1Y3aDEuNVY1aDF6Ii8+PC9zdmc+J30sOTU1NTg5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yNSAxMy4xODIgMTQgMjUgMyAxMy4xODIgNi42NjcgNWgxNC42NjZ6bS0yMC44MTctLjE5N0wxNCAyMy41MzFsOS44MTYtMTAuNTQ2TDIwLjY4NiA2SDcuMzE0ek0xNC41IDEwSDE2djZoLTEuNXYyaC0xdi0ySDEydi02aDEuNVY4aDF6TTEzIDE1aDJ2LTRoLTJ6Ii8+PC9zdmc+J30sMzkxMTgyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDIwaDE1djFIOHY0SDdWM2gxek0yMi4wMDUgNWMwIDQuOTAzLS44MyA4LjE1LTIuMjM1IDEwLjE4MkMxOC4zNCAxNy4yNDkgMTYuMzU3IDE4IDE0LjI0MSAxOGMtMS40NTYgMC0yLjk2Mi0uMzgtNC4yMzktMS4xMzZsLjUxLS44NjFjMS4xMTIuNjU4IDIuNDQuOTk3IDMuNzMuOTk3IDEuODQ3IDAgMy40OTUtLjYzNiA0LjcwNi0yLjM4NyAxLjIzNi0xLjc4NiAyLjA1Ny00Ljc5IDIuMDU3LTkuNjEzeiIvPjwvc3ZnPid9LDkwMjgyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAyNkg0VjJoMXpNMjMgOC41MDFsLTMuMzI4IDMuMDAxLS4zMzUtLjM3MS0uMzM1LS4zNzJMMjAuOTUyIDlIMjAuNWMtMy45MzggMC03LjQxMyAxLjk4LTkuNDg1IDQuOTk4IDIuMDcyIDMuMDE5IDUuNTQ1IDUgOS40ODMgNS4wMDFoLjQ1MkwxOSAxNy4yNDJsLjY3LS43NDIgMy4zMjggMy0zLjMyOCAzLjAwMi0uNjctLjc0NEwyMC45NSAyMGgtLjQ1MmExMi40OCAxMi40OCAwIDAgMS0xMC4wNTYtNS4wNzhBMTEuNDUgMTEuNDUgMCAwIDAgOSAyMC41VjIzSDh2LTIuNDk5YzAtNi45MDMgNS41OTctMTIuNSAxMi41LTEyLjVoLjQ1MmwtMS45NS0xLjc1OC42Ny0uNzQzek04Ljk5OCA3LjUwMmMwIDEuNjM1LjM0NCAzLjE4OS45NTkgNC41OTdxLS4zNTUuNDUyLS42NjcuOTM2YTEyLjQ1IDEyLjQ1IDAgMCAxLTEuMjkyLTUuNTMzdi0yLjVoLjVsLjUtLjAwMXoiLz48L3N2Zz4nfSw4Njc1NDUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjUuMzUgNS4zNS05LjUgOS41LS4zNS4zNi0uMzUtLjM2LTQuNjUtNC42NC04LjE1IDguMTQtLjctLjcgOC41LTguNS4zNS0uMzYuMzUuMzYgNC42NSA0LjY0IDkuMTUtOS4xNC43LjdaTTIgMjFoMXYxSDJ2LTFabTItMUgzdjFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDFWOWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxSDZ2MUg1djFINHYxWm0xIDB2MUg0di0xaDFabTEgMEg1di0xaDF2MVptMSAwdjFINnYtMWgxWm0wLTFINnYtMWgxdjFabTEgMEg3djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYxaC0xdjFoLTF2MWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYtMWgtMXYxSDl2MUg4djFIN3YxaDF2MVptMSAwdjFIOHYtMWgxWm0wLTFIOHYtMWgxdjFabTEgMEg5djFoMXYxaDF2LTFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2LTFoLTF2MUg5djFoMXYxWm0xIDB2MWgtMXYtMWgxWm0wLTF2LTFoLTF2MWgxWm0wIDB2MWgxdjFoMXYtMWgtMXYtMWgtMVptNiAydi0xaDF2MWgtMVptMiAwdjFoLTF2LTFoMVptMC0xaC0xdi0xaDF2MVptMSAwaC0xdjFoMXYxaDF2LTFoMXYxaDF2LTFoLTF2LTFoMXYtMWgtMXYtMWgxdi0xaC0xdi0xaDF2LTFoLTF2MWgtMXYxaC0xdjFoLTF2MWgxdjFabTEgMGgtMXYxaDF2LTFabTAtMWgxdjFoLTF2LTFabTAtMWgxdi0xaC0xdjFabTAgMHYxaC0xdi0xaDFabS00IDN2MWgtMXYtMWgxWiIvPjwvc3ZnPid9LDIxNjMzNShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTkgNmgtMXY3aC0zdjFoM3Y4aDF2LTNoM3YtMWgtM1Y2Wk0xMSA3aC0xdjEzSDd2MWgzdjJoMVYxMGgzVjloLTNWN1oiLz48L3N2Zz4nfSw4NDIwNTEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMC40OSA3LjU1LS40Mi43LTIuMSAzLjUuODYuNSAxLjY4LTIuOCAxLjggMi44Mi44NC0uNTQtMi4yMy0zLjUtLjQzLS42OFptMTIuMzIgNC43Mi0uODQtLjU0IDIuNjEtNCAuODQuNTQtMi42MSA0Wm0tNS4zIDYuMyAxLjItMS44NC44NC41NC0xLjYzIDIuNS0uNDMuNjUtLjQxLS42NS0xLjYtMi41Ljg1LS41NCAxLjE3IDEuODVaTTQuOTYgMTYuNzVsLjg2LjUyLTIuNCA0LS44Ni0uNTIgMi40LTRaTTMgMTR2MWgxdi0xSDNabTIgMGgxdjFINXYtMVptMiAwdjFoMXYtMUg3Wm0yIDBoMXYxSDl2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFabTIgMHYxaDF2LTFoLTFabTIgMGgxdjFoLTF2LTFaIi8+PC9zdmc+J30sMzc2MTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE3IDExdjZoM3YtNmgtM3ptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2N2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtN2EuNS41IDAgMCAxIC41LS41eiIvPjxwYXRoIGQ9Ik0xOCA3aDF2My41aC0xem0wIDEwLjVoMVYyMWgtMXoiLz48cGF0aCBkPSJNOSA4djEyaDNWOEg5em0tLjUtMWg0YS41LjUgMCAwIDEgLjUuNXYxM2EuNS41IDAgMCAxLS41LjVoLTRhLjUuNSAwIDAgMS0uNS0uNXYtMTNhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTAgNGgxdjMuNWgtMXptMCAxNi41aDFWMjRoLTF6Ii8+PC9zdmc+J30sNjQ3NjMwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEwLjUgOXYxMk03IDE4LjVoMy41TTE0IDkuNWgtMy41TTE5LjUgM3YxMk0xNiA2LjVoMy41TTIzIDE0LjVoLTMuNU0xOC41IDE5LjVoMmExIDEgMCAxIDAgMC0yaC0yVjIydi0yLjV6TTIxLjUgMjJMMjAgMTkuNSIvPjwvZz48L3N2Zz4nfSw5OTU1NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48ZyBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTExIDIwLjVINy41YTUgNSAwIDEgMSAuNDItOS45OCA3LjUgNy41IDAgMCAxIDE0LjU3IDIuMSA0IDQgMCAwIDEtMSA3Ljg3N0gxOCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTQuNSAyNFYxMi41TTExIDE2bDMuNS0zLjVMMTggMTYiLz48L2c+PC9zdmc+J30sNDQzMTY3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDd2MTRoNVY3aC01Wm00IDFoLTN2MTJoM1Y4Wk0xOSAxNXY2aDV2LTZoLTVabTQgMWgtM3Y0aDN2LTRaTTUgMTJoNXY5SDV2LTlabTEgMWgzdjdINnYtN1oiLz48L3N2Zz4nfSw3NjU2OTUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNmE4LjUgOC41IDAgMSAwIDAgMTcgOC41IDguNSAwIDAgMCAwLTE3ek00IDE0LjVhOS41IDkuNSAwIDEgMSAxOSAwIDkuNSA5LjUgMCAwIDEtMTkgMHoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDE0aDR2LTRoMXY0aDR2MWgtNHY0aC0xdi00SDl2LTF6Ii8+PC9zdmc+J30sNTAwNTA3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik05IDh2MTJoM1Y4SDl6bS0xLS41MDJDOCA3LjIyMyA4LjIxNSA3IDguNDk4IDdoNC4wMDRjLjI3NSAwIC40OTguMjIuNDk4LjQ5OHYxMy4wMDRhLjQ5My40OTMgMCAwIDEtLjQ5OC40OThIOC40OThBLjQ5Ni40OTYgMCAwIDEgOCAyMC41MDJWNy40OTh6Ii8+PHBhdGggZD0iTTEwIDRoMXYzLjVoLTF6Ii8+PHBhdGggZD0iTTE3IDZ2NmgzVjZoLTN6bS0xLS41YzAtLjI3Ni4yMTUtLjUuNDk4LS41aDQuMDA0Yy4yNzUgMCAuNDk4LjIzLjQ5OC41djdjMCAuMjc2LS4yMTUuNS0uNDk4LjVoLTQuMDA0YS41MDMuNTAzIDAgMCAxLS40OTgtLjV2LTd6Ii8+PHBhdGggZD0iTTE4IDJoMXYzLjVoLTF6Ii8+PC9zdmc+J30sMjE1NDgwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuNSA3SDd2MTRoNVY3SDcuNXpNOCAyMFY4aDN2MTJIOHptNy41LTExSDE1djEwaDVWOWgtNC41em0uNSA5di04aDN2OGgtM3oiLz48L3N2Zz4nfSwzODE5MjMoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNyAxMXY2aDN2LTZoLTN6bS0uNS0xaDRhLjUuNSAwIDAgMSAuNS41djdhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTdhLjUuNSAwIDAgMSAuNS0uNXoiLz48cGF0aCBkPSJNMTggN2gxdjMuNWgtMXptMCAxMC41aDFWMjFoLTF6Ii8+PHBhdGggZD0iTTkgOHYxMWgzVjhIOXptLS41LTFoNGEuNS41IDAgMCAxIC41LjV2MTJhLjUuNSAwIDAgMS0uNS41aC00YS41LjUgMCAwIDEtLjUtLjV2LTEyYS41LjUgMCAwIDEgLjUtLjV6Ii8+PHBhdGggZD0iTTEwIDRoMXY1aC0xem0wIDE0aDF2NWgtMXpNOC41IDlIMTB2MUg4LjV6TTExIDloMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExem0tMSAxaDF2MWgtMXptLTEuNSAxSDEwdjFIOC41em0yLjUgMGgxLjV2MUgxMXptLTEgMWgxdjFoLTF6bS0xLjUgMUgxMHYxSDguNXptMi41IDBoMS41djFIMTF6bS0xIDFoMXYxaC0xem0tMS41IDFIMTB2MUg4LjV6bTIuNSAwaDEuNXYxSDExeiIvPjwvc3ZnPid9LDg0Njc0OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02IDEybDQuOC00LjhhMSAxIDAgMCAxIDEuNCAwbDIuNyAyLjdhMSAxIDAgMCAwIDEuMy4xTDIzIDUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE5IDEyYTEgMSAwIDAgMC0xIDF2NGgtM3YtMWExIDEgMCAwIDAtMS0xaC0zYTEgMSAwIDAgMC0xIDF2Mkg3YTEgMSAwIDAgMC0xIDF2NGgxN1YxM2ExIDEgMCAwIDAtMS0xaC0zem0wIDEwaDN2LTloLTN2OXptLTEgMHYtNGgtM3Y0aDN6bS00LTQuNVYyMmgtM3YtNmgzdjEuNXpNMTAgMjJ2LTNIN3YzaDN6Ii8+PC9zdmc+J30sMTEzNzg0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIwIDE3bC01IDVNMTUgMTdsNSA1TTkgMTEuNWg3TTE3LjUgOGEyLjUgMi41IDAgMCAwLTUgMHYxMWEyLjUgMi41IDAgMCAxLTUgMCIvPjwvc3ZnPid9LDQ1NTYzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgNWgzdjEyaDVWOGgzdjEzaDFWN2gtNXY5aC0zVjRoLTV2MThIN3YtNUg2djZoNXoiLz48L3N2Zz4nfSw1OTQ4NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwyNzM3NzUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINlY5SDFabTYgN2g1VjlIN3Y3Wm02IDBoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC01djdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjU2MzA0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMWgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY4SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDRWOUgxWm00IDdoNFY5SDV2N1ptNSAwaDRWOWgtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC0zdjdaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sODgwODkzKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINHYtN0gyWm0zIDdoM3YtN0g1djdabTQgMGgzdi03SDl2N1ptNCAwaDN2LTdoLTN2N1ptNCAwaC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtMnY3Wm0yLThWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxN3Y3aDJabS0zLTdoLTN2N2gzVjJabS00IDBIOXY3aDNWMlpNOCAySDV2N2gzVjJaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sOTQ0NTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg3djNIMnYxaDV2M0gydjFoNXYzSDJ2MWg1djNIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNOCAxNHYzaDV2LTNIOFptNiAwdjNoMy41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtNVptNS0xaC01di0zaDV2M1ptLTYgMEg4di0zaDV2M1pNOCA5aDVWNkg4djNabTYgMGg1VjZoLTV2M1ptLTEtNEg4VjJoNXYzWm0xIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTRabTAtMTNWMmgzLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtNVoiLz48L3N2Zz4nfSw1MTM5MTIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMiAzLjVDMiAyLjY3IDIuNjcgMiAzLjUgMkg0djdIMlYzLjVaTTIgMTB2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDR2LTdIMlptMyA3aDJ2LTdINXY3Wm0zIDBoMnYtN0g4djdabTMgMGgydi03aC0ydjdabTMgMGgydi03aC0ydjdabTMgMGguNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTBoLTJ2N1ptMi04VjMuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTd2N2gyWm0tMy03aC0ydjdoMlYyWm0tMyAwaC0ydjdoMlYyWm0tMyAwSDh2N2gyVjJaTTcgMkg1djdoMlYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDg2ODc2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUgMkMyLjY3IDIgMiAyLjY3IDIgMy41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTNIMnYtMWgzdi0zSDJWOWgzVjZIMlY1aDNWMkgzLjVaTTYgMTR2M2g0di0zSDZabTQtMUg2di0zaDR2M1ptMSAxdjNoNHYtM2gtNFptNC0xaC00di0zaDR2M1ptMSAxdjNoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxNGgtM1ptMy0xaC0zdi0zaDN2M1ptLTgtNGg0VjZoLTR2M1ptNS0zdjNoM1Y2aC0zWk02IDloNFY2SDZ2M1ptMC00aDRWMkg2djNabTEwIDEzSDMuNUEyLjUgMi41IDAgMCAxIDEgMTUuNXYtMTJBMi41IDIuNSAwIDAgMSAzLjUgMWgxNEEyLjUgMi41IDAgMCAxIDIwIDMuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVIMTZabTAtMTNWMmgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjVWNWgtM1ptLTEtM2gtNHYzaDRWMloiLz48L3N2Zz4nfSwyMjExNTgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDkwNjA1MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjUgMUMxLjY3IDEgMSAxLjY3IDEgMi41djEyYzAgLjgzLjY3IDEuNSAxLjUgMS41SDVWMXpNMTAgMTZINlYxaDR2MTVtMSAwaDUuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtN3ptNy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTF2N3pNMCAyLjVBMi41IDIuNSAwIDAgMSAyLjUgMGgxNEEyLjUgMi41IDAgMCAxIDE5IDIuNXYxMmEyLjUgMi41IDAgMCAxLTIuNSAyLjVoLTE0QTIuNSAyLjUgMCAwIDEgMCAxNC41eiIvPjwvc3ZnPid9LDc4OTEwOChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjhoN3pNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg4Vjl6bTEuNS05QTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MjAyOTMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djNoMTdWOUgxWm0xNy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wm0wIDVIMXYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzWk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDU2MzQ4NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxSDZ2MTVoNFYxbTEgMHY0aDdWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNXptNyA1aC03djVoN3ptMCA2aC03djRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXpNMi41IDFINXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyQzEgMS42NyAxLjY3IDEgMi41IDFtMC0xQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3MzcwMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTYuNSAxSDE0djE1aDIuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNU05IDFoNHYxNUg5VjFNOCAxSDIuNUMxLjY3IDEgMSAxLjY3IDEgMi41VjVoN3pNMSA2djVoN1Y2em0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDh2LTR6TTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMHoiLz48L3N2Zz4nfSw3NjU1NzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1ptNS04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDUyNzcyMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0xMSAyaDYuNWMuODMgMCAxLjUuNjcgMS41IDEuNVY5aC04VjJabS0xIDBIMy41QzIuNjcgMiAyIDIuNjcgMiAzLjVWOWg4VjJabS04IDh2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDV2LTdIMlptNCA3aDR2LTdINnY3Wm01IDBoNHYtN2gtNHY3Wm01IDBoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMGgtM3Y3WiIvPjwvc3ZnPid9LDYxNTQyNChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2MTVaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjcyODg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOUgxWm0xLjUtOUEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDc2MzU1NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDApIiB2ZXJzaW9uPSIxLjEiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFoMTRjLjgzIDAgMS41LjY3IDEuNSAxLjVWOEgxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg2VjlIMVptNiA3aDVWOUg3djdabTYgMGgzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTV2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5NzQ1NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDd2N0gyVjMuNVpNMiAxMHY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjEwaC04djdoLTF2LTdIMlptMTctMVYzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE0djdoNVptLTYtN0g4djdoNVYyWk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDM3NjE2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk03IDE2aDVWMUg3djE1Wm02LTE1djE1aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1OTU2MjUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2N0gxVjIuNVpNMSA5djUuNWMwIC44My42NyAxLjUgMS41IDEuNUg5VjlIMVptOSA3aDYuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYxNVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw2NzAyNjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVY5aC04djdabTgtOFYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjdoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0NTc5ODkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjVIMVYyLjVaTTEgNnY1aDE3VjZIMVptMTcgNkgxdjIuNWMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTJaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sNjQ3NjkyKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjhIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw4MjY3MTkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTUgMWgxLjVjLjgzIDAgMS41LjY3IDEuNSAxLjV2NWgtM3ptLTEgMGgtNHY2LjVoNHpNOSAxSDV2Ni41aDR6TTQgMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXY1aDN6TTEgOC41djZjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY4LjVIMW05IDcuNWg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41di02aC04ek0wIDIuNUEyLjUgMi41IDAgMCAxIDIuNSAwaDE0QTIuNSAyLjUgMCAwIDEgMTkgMi41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAwIDE0LjV6Ii8+PC9zdmc+J30sOTk4Mjg2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAxNyIgd2lkdGg9IjE5IiBoZWlnaHQ9IjE3Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE0IDFoLTR2N2g0em0xIDhoLTJ2N2gzLjVjLjgzIDAgMS41LS42NyAxLjUtMS41Vjl6bS0zIDdWOUg3djd6TTUgOWgxdjdIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41VjloNG0xMy0xVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N3pNMSA4aDNWMUgyLjVDMS42NyAxIDEgMS42NyAxIDIuNXptNCAwaDRWMUg1ek0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDB6Ii8+PC9zdmc+J30sOTQ1MjM4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg5djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOVY5SDFabTkgN2g2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTh2N1ptOC04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2N2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNDg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djE1SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXYtMTJaTTUgMTZoNFYxSDV2MTVabTUtMTV2MTVoNFYxaC00Wm01IDB2MTVoMS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE1Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDEyNjE2NihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDExdjRIMlYzLjVaTTIgN3Y1aDlWN0gyWm0wIDZ2Mi41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDExdi00SDJabTEwIDRoNS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEydjE1Wk0zLjUgMUEyLjUgMi41IDAgMCAwIDEgMy41djEyQTIuNSAyLjUgMCAwIDAgMy41IDE4aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNy41IDFoLTE0WiIvPjwvc3ZnPid9LDQ2NzE0NShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw0MDg5NjQoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxaDE0Yy44MyAwIDEuNS42NyAxLjUgMS41VjRIMVYyLjVaTTEgNXYzaDE3VjVIMVptMTcgNEgxdjNoMTdWOVptMCA0SDF2MS41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDE0Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM1pNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw1NzUxMDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5IDE3IiB3aWR0aD0iMTkiIGhlaWdodD0iMTciPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNyAxSDR2N2gzem0xIDB2N2gzVjF6bTQgMHY3aDNWMXptMCA4aC0ydjdoNFY5em0zIDBoM3Y1LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41SDE1em0xLTh2N2gyVjIuNWMwLS44My0uNjctMS41LTEuNS0xLjV6TTggOUg1djdoNFY5ek0yLjUgMUgzdjdIMVYyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMU0xIDloM3Y3SDIuNUExLjUgMS41IDAgMCAxIDEgMTQuNXptMS41LTlBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjwvc3ZnPid9LDE5MTU2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOSAzLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDE3djE1aC41Yy44MyAwIDEuNS0uNjcgMS41LTEuNXYtMTJabS0xNyAxMmMwIC44My42NyAxLjUgMS41IDEuNUg0VjJoLS41QzIuNjcgMiAyIDIuNjcgMiAzLjV2MTJaTTEuMDEgMy4yNEEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEybC4wMS0uMjZaTTUgMTdoM1YySDV2MTVabTExIDBoLTNWMmgzdjE1Wk0xMiAydjE1SDlWMmgzWiIvPjwvc3ZnPid9LDQyMjU5OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsLTEsMCwwKSIgdmVyc2lvbj0iMS4xIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2MTVIMi41QTEuNSAxLjUgMCAwIDEgMSAxNC41di0xMlpNMTAgMTZoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDY2MzIyMihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYxNUgyLjVBMS41IDEuNSAwIDAgMSAxIDE0LjV2LTEyWk0xMCAxNmg2LjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjEzaC04djNabTgtNFY5aC04djNoOFptMC00VjVoLTh2M2g4Wm0wLTRWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxMHYzaDhaTTIuNSAwQTIuNSAyLjUgMCAwIDAgMCAyLjV2MTJBMi41IDIuNSAwIDAgMCAyLjUgMTdoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE2LjUgMGgtMTRaIi8+PC9zdmc+J30sMjIzMjI3KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDMuNUEyLjUgMi41IDAgMCAxIDMuNSAxaDE0QTIuNSAyLjUgMCAwIDEgMjAgMy41djEyYTIuNSAyLjUgMCAwIDEtMi41IDIuNWgtMTRBMi41IDIuNSAwIDAgMSAxIDE1LjV2LTEyWk0zLjUgMmgxNGMuODMgMCAxLjUuNjcgMS41IDEuNVY0SDJ2LS41QzIgMi42NyAyLjY3IDIgMy41IDJaTTIgNXYyaDE3VjVIMlptMTcgM0gydjNoMTdWOFptMCA0SDJ2MmgxN3YtMlptMCAzSDJ2LjVjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41VjE1WiIvPjwvc3ZnPid9LDg2MDg1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFINnY3SDFWMi41Wk0xIDl2NS41YzAgLjgzLjY3IDEuNSAxLjUgMS41SDZWOUgxWm02IDdoNVY5SDd2N1ptNiAwaDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWOWgtNXY3Wm01LThWMi41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxM3Y3aDVabS02LTdIN3Y3aDVWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxMDA0NjMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xIDIuNUMxIDEuNjcgMS42NyAxIDIuNSAxSDl2NEgxVjIuNVpNMSA2djVoOFY2SDFabTAgNnYyLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtNEgxWm05IDRoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxMmgtOHY0Wm04LTVWNmgtOHY1aDhabTAtNlYyLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41SDEwdjRoOFpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSw5MjA1MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yIDMuNUMyIDIuNjcgMi42NyAyIDMuNSAySDR2MTVoLS41QTEuNSAxLjUgMCAwIDEgMiAxNS41di0xMlpNNSAxN2gyVjJINXYxNVpNOCAydjE1aDJWMkg4Wm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoMlYyaC0yWm0zIDB2MTVoLjVjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVIMTdaTTMuNSAxQTIuNSAyLjUgMCAwIDAgMSAzLjV2MTJBMi41IDIuNSAwIDAgMCAzLjUgMThoMTRhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xMkEyLjUgMi41IDAgMCAwIDE3LjUgMWgtMTRaIi8+PC9zdmc+J30sNTYyOTk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMSAyLjVDMSAxLjY3IDEuNjcgMSAyLjUgMUg0djdIMVYyLjVaTTEgOXY1LjVjMCAuODMuNjcgMS41IDEuNSAxLjVINFY5SDFabTQgN2g0VjlINXY3Wm01IDBoNFY5aC00djdabTUgMGgxLjVjLjgzIDAgMS41LS42NyAxLjUtMS41VjloLTN2N1ptMy04VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTV2N2gzWm0tNC03aC00djdoNFYxWk05IDFINXY3aDRWMVpNMi41IDBBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAwaC0xNFoiLz48L3N2Zz4nfSwxNjQ0NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSItMSAtMSAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEgMi41QzEgMS42NyAxLjY3IDEgMi41IDFIOXYzSDFWMi41Wk0xIDV2M2g4VjVIMVptMCA0djNoOFY5SDFabTAgNHYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjVIOXYtM0gxWm05IDNoNi41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVYxM2gtOHYzWm04LTRWOWgtOHYzaDhabTAtNFY1aC04djNoOFptMC00VjIuNWMwLS44My0uNjctMS41LTEuNS0xLjVIMTB2M2g4Wk0yLjUgMEEyLjUgMi41IDAgMCAwIDAgMi41djEyQTIuNSAyLjUgMCAwIDAgMi41IDE3aDE0YTIuNSAyLjUgMCAwIDAgMi41LTIuNXYtMTJBMi41IDIuNSAwIDAgMCAxNi41IDBoLTE0WiIvPjwvc3ZnPid9LDg2NjgyNihlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMy41IDFBMi41IDIuNSAwIDAgMCAxIDMuNXYxMkEyLjUgMi41IDAgMCAwIDMuNSAxOGgxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTcuNSAxaC0xNFpNNyAySDMuNUMyLjY3IDIgMiAyLjY3IDIgMy41VjZoNVYyWm0xIDB2NGg1VjJIOFptMCA1aDV2NUg4VjdabS0xIDVWN0gydjVoNVptLTUgMWg1djRIMy41QTEuNSAxLjUgMCAwIDEgMiAxNS41VjEzWm02IDBoNXY0SDh2LTRabTYgMHY0aDMuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTNoLTVabTUtMVY3aC01djVoNVpNMTQgMnY0aDVWMy41YzAtLjgzLS42Ny0xLjUtMS41LTEuNUgxNFoiLz48L3N2Zz4nfSwzOTY3NTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDE5IiB3aWR0aD0iMjEiIGhlaWdodD0iMTkiIGZpbGw9Im5vbmUiPjxyZWN0IHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHJ4PSIyIiB4PSIxLjUiIHk9IjEuNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE5IDEwSDJWOWgxN3YxWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTQgMTdWMmgxdjE1SDRaIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyAxN1YyaDF2MTVIN1oiIG9wYWNpdHk9Ii44NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEwIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDE3VjJoMXYxNWgtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDE4VjJoMXYxNmgtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDY5Nzc1MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE2IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgcng9IjIiIHg9IjEuNSIgeT0iMS41Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNCAxN1YyaDF2MTVINFoiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik03IDE3VjJoMXYxNUg3WiIgb3BhY2l0eT0iLjg1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjY1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTMgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTYgMTdWMmgxdjE1aC0xWiIgb3BhY2l0eT0iLjA1Ii8+PC9zdmc+J30sNTc0MTU5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjE5IiBmaWxsPSJub25lIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHN0cm9rZT0iY3VycmVudENvbG9yIiByeD0iMiIgeD0iMS41IiB5PSIxLjUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xLjUgNGgxOHYxaC0xOFY0WiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIgN2gxOHYxSDJWN1oiIG9wYWNpdHk9Ii42NSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxMGgxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4yNSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEuNSAxM2gxOHYxaC0xOHYtMVoiIG9wYWNpdHk9Ii4wNSIvPjwvc3ZnPid9LDc0MjUwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTkgMTciIHdpZHRoPSIxOSIgaGVpZ2h0PSIxNyIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNi41IDFoLTE0QzEuNjcgMSAxIDEuNjcgMSAyLjV2MTJjMCAuODMuNjcgMS41IDEuNSAxLjVoMTRjLjgzIDAgMS41LS42NyAxLjUtMS41di0xMmMwLS44My0uNjctMS41LTEuNS0xLjVtLTE0LTFBMi41IDIuNSAwIDAgMCAwIDIuNXYxMkEyLjUgMi41IDAgMCAwIDIuNSAxN2gxNGEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTEyQTIuNSAyLjUgMCAwIDAgMTYuNSAweiIvPjxwYXRoIGQ9Ik05IDNoOXYxSDl6Ii8+PHBhdGggZD0iTTkgMTdWMWgxdjE2eiIvPjxwYXRoIGQ9Ik05IDZoOXYxSDl6IiBvcGFjaXR5PSIuNjUiLz48cGF0aCBkPSJNOSA5aDl2MUg5eiIgb3BhY2l0eT0iLjI1Ii8+PHBhdGggZD0iTTkgMTJoOXYxSDl6IiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4nfSwyOTc4NDkoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iLTEgLTEgMjEgMTkiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMi41IDFDMS42NyAxIDEgMS42NyAxIDIuNXYxMmMwIC44My42NyAxLjUgMS41IDEuNWgxNGMuODMgMCAxLjUtLjY3IDEuNS0xLjV2LTEyYzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtMTRaTTAgMi41QTIuNSAyLjUgMCAwIDEgMi41IDBoMTRBMi41IDIuNSAwIDAgMSAxOSAyLjV2MTJhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNEEyLjUgMi41IDAgMCAxIDAgMTQuNXYtMTJaIi8+PC9zdmc+J30sOTY1NjM1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xOC40MyAxNS45MSA2Ljk2LTguNi0uNzgtLjYyLTYuOTYgOC42YTIuNDkgMi40OSAwIDAgMC0yLjYzLjJsLTIuMjEtMi4wMkEyLjUgMi41IDAgMCAwIDEwLjUgMTBhMi41IDIuNSAwIDEgMCAxLjczIDQuM2wyLjEyIDEuOTJhMi41IDIuNSAwIDEgMCA0LjA4LS4zMVpNMTAuNSAxNGExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM1ptNy41IDMuNWExLjUgMS41IDAgMSAxLTMgMCAxLjUgMS41IDAgMCAxIDMgMFoiLz48cGF0aCBkPSJNOC4zNyAxMy44Yy4xNy4zLjQuNTQuNjguNzRsLTUuNjcgNi43OC0uNzYtLjY0IDUuNzUtNi44OFoiLz48L3N2Zz4nfSw0MjAzNDAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTI1LjM5IDcuMzEtOC44MyAxMC45Mi02LjAyLTUuNDctNy4xNiA4LjU2LS43Ni0uNjQgNy44Mi05LjM2IDYgNS40NUwyNC42MSA2LjdsLjc4LjYyWiIvPjwvc3ZnPid9LDc3MzI2NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggMjRoM1YxMmgtM3YxMnptLTEtMTNoNXYxNGgtNVYxMXptLTQtOHY3aDNWM2gtM3ptLTEtMWg1djloLTVWMnpNOCAxOWgzdi03SDh2N3ptLTEtOGg1djlIN3YtOXoiLz48L3N2Zz4nfSwzNDY1NTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIxIDIxIiB3aWR0aD0iMjEiIGhlaWdodD0iMjEiPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTguNSAxMXY1LjVhMiAyIDAgMCAxLTIgMmgtMTNhMiAyIDAgMCAxLTItMnYtMTNhMiAyIDAgMCAxIDItMkg5Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE4IDJsLTguNSA4LjVtNC05aDV2NSIvPjwvZz48L3N2Zz4nfSw5MTc2OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE0LjUgMTZhMi41IDIuNSAwIDEgMSAwLTUgMi41IDIuNSAwIDAgMSAwIDV6bTAtMWExLjUgMS41IDAgMSAwIDAtMyAxLjUgMS41IDAgMCAwIDAgM3ptMCA3YTIuNSAyLjUgMCAxIDEgMC01IDIuNSAyLjUgMCAwIDEgMCA1em0wLTFhMS41IDEuNSAwIDEgMCAwLTMgMS41IDEuNSAwIDAgMCAwIDN6bTMuMjkzLTE1LjVsNC43MDcgNC43MDcuNzA3LS43MDdMMTguNSA0Ljc5M3oiLz48cGF0aCBkPSJNMTguNSAxMC4yMDdMMjMuMjA3IDUuNWwtLjcwNy0uNzA3TDE3Ljc5MyA5LjV6bS0uNzA3IDEuMjkzbDQuNzA3IDQuNzA3LjcwNy0uNzA3LTQuNzA3LTQuNzA3eiIvPjxwYXRoIGQ9Ik0xOC41IDE2LjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDctNC43MDcgNC43MDd6TTUuNzkzIDE3LjVsNC43MDcgNC43MDcuNzA3LS43MDdMNi41IDE2Ljc5M3oiLz48cGF0aCBkPSJNNi41IDIyLjIwN2w0LjcwNy00LjcwNy0uNzA3LS43MDdMNS43OTMgMjEuNXpNNS43OTMgNS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSA0Ljc5M3oiLz48cGF0aCBkPSJNNi41IDEwLjIwN0wxMS4yMDcgNS41bC0uNzA3LS43MDdMNS43OTMgOS41ek01Ljc5MyAxMS41bDQuNzA3IDQuNzA3LjcwNy0uNzA3TDYuNSAxMC43OTN6Ii8+PHBhdGggZD0iTTYuNSAxNi4yMDdsNC43MDctNC43MDctLjcwNy0uNzA3TDUuNzkzIDE1LjV6Ii8+PC9zdmc+J30sNzYyMDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4LjI5MyAxM2wtMi42NDcgMi42NDYuNzA3LjcwOCAzLjg1NC0zLjg1NC0zLjg1NC0zLjg1NC0uNzA3LjcwOEwxOC4yOTMgMTJIMTIuNUE1LjUgNS41IDAgMCAwIDcgMTcuNVYxOWgxdi0xLjVhNC41IDQuNSAwIDAgMSA0LjUtNC41aDUuNzkzeiIvPjwvc3ZnPid9LDcyMjc2MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTggNXY1aDNWNWgtM3ptLTEtMWg1djdoLTVWNHptLTQgMTNoM3YtNWgtM3Y1em0tMS02aDV2N2gtNXYtN3pNOCAyNGgzdi01SDh2NXptLTEtNmg1djdIN3YtN3oiLz48L3N2Zz4nfSwyNDM0MDIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTE5IDVoNXYxaC00djEzaC02di03aC00djEySDV2LTFoNFYxMWg2djdoNFY1WiIvPjwvc3ZnPid9LDk1OTIzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYgNWg2djRoNHY0aDd2NWgtNXY0SDZWNVptMSAxaDR2M0g3VjZabTAgNHYzaDh2LTNIN1ptMTUgNHYzSDd2LTNoMTVabS01IDd2LTNIN3YzaDEwWiIvPjwvc3ZnPid9LDk4NzAyMShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEgOWg4djRoNHY1aC00djRINlY1aDV2NFptLTEtM0g3djNoM1Y2Wm04IDEydjNoLTN2LTNoM1ptMS00djNoM3YtM2gtM1ptLTEtMXYtM2gtM3YzaDNabS0zIDFoM3YzaC0zdi0zWm0tMSAwdjNoLTN2LTNoM1ptMCA0djNoLTN2LTNoM1ptMC01aC0zdi0zaDN2M1ptLTQgOHYtM0g3djNoM1ptMC00SDd2LTNoM3YzWm0wLTd2M0g3di0zaDNaIi8+PC9zdmc+J30sNDk5NzI0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjcwNyAxM2wyLjY0NyAyLjY0Ni0uNzA3LjcwOEw2Ljc5MiAxMi41bDMuODUzLTMuODU0LjcwOC43MDhMOC43MDcgMTJIMTQuNWE1LjUgNS41IDAgMCAxIDUuNSA1LjVWMTloLTF2LTEuNWE0LjUgNC41IDAgMCAwLTQuNS00LjVIOC43MDd6Ii8+PC9zdmc+J30sNjU5NTA1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE4IDRoMXYzaDMuNWMuMjggMCAuNS4yMi41LjV2MTNhLjUuNSAwIDAgMS0uNS41SDE5djNoLTF2LTNoLTMuNWEuNS41IDAgMCAxLS41LS41di0xM2MwLS4yOC4yMi0uNS41LS41SDE4VjRabS0zIDE2aDdWOGgtN3YxMlpNMTAgN0g5djNINy41YS41LjUgMCAwIDAtLjUuNXY4YzAgLjI4LjIyLjUuNS41SDl2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di04YS41LjUgMCAwIDAtLjUtLjVIMTBWN1ptLTEgNEg4djdoM3YtN0g5WiIvPjwvc3ZnPid9LDE5MjQ4MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05IDRIOHYzSDYuNWEuNS41IDAgMCAwLS41LjV2MTJhLjUuNSAwIDAgMCAuNS41SDh2M2gxdi0zaDEuNWEuNS41IDAgMCAwIC41LS41di0xMmEuNS41IDAgMCAwLS41LS41SDlWNFpNNyA4djExaDNWOEg3Wm03LTFoOXYxaC05VjdabTkgNGgtOXYxaDl2LTFabS05IDRoOXYxaC05di0xWm05IDRoLTl2MWg5di0xWiIvPjwvc3ZnPid9LDM3MjIzOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxN0E4IDggMCAxIDAgOSAxYTggOCAwIDAgMCAwIDE2Wk04IDZhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwWm0xIDJjLjQ5IDAgMSAuNTkgMSAxdjMuMDFjMCAuNDItLjUxLjk5LTEgLjk5cy0xLS41Ny0xLS45OVY5YzAtLjQxLjUxLTEgMS0xWiIvPjwvc3ZnPid9LDU4Mzg0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjkgMTQuMVYyMmgxLjJ2LTcuOUgyM3YtMS4yaC03LjlWNWgtMS4ydjcuOUg2djEuMmg3Ljl6Ii8+PC9zdmc+J30sNjA0OTAxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTQuNS04YTIgMiAwIDAgMSAyIDJoLTFhMSAxIDAgMCAwLTEtMUg4LjI1YS43NS43NSAwIDAgMCAwIDEuNWgxLjVhMS43NSAxLjc1IDAgMSAxIDAgMy41SDkuNXYxaC0xdi0xYTIgMiAwIDAgMS0yLTJoMWExIDEgMCAwIDAgMSAxaDEuMjVhLjc1Ljc1IDAgMCAwIDAtMS41aC0xLjVhMS43NSAxLjc1IDAgMSAxIDAtMy41aC4yNVY1aDF6Ii8+PC9zdmc+J30sOTA3OTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNUg0VjNoMTB6bS05LTFoOFY0SDV6bTctMy4yOS0yLjMzIDIuM0w4IDExLjZsLjY1LS43Ny45Ni44MUwxMS4zIDEwek05IDlINlY4aDN6bTMtMkg2VjZoNnoiLz48L3N2Zz4nfSw1NTEyODIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDYuNVYxNUg0VjNoNi41ek01IDE0aDhWNi45MUwxMC4wOSA0SDV6bTQtM0g2di0xaDN6bTMtMkg2VjhoNnoiLz48L3N2Zz4nfSw2MjcwNDEoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMS4wNSA2LjE3IDEuMDcgMUE2IDYgMCAwIDEgMTQgMTEuNTVWMTRhMiAyIDAgMCAxLTEuOCAxLjk5TDEyIDE2SDZsLS4yLS4wMUEyIDIgMCAwIDEgNCAxNHYtMi40NkE2IDYgMCAwIDEgNS42NiA3LjRsLjIyLS4yMiAxLjA3LTEuMDFMNiAzaDZ6TTYuNTcgNy45QTUgNSAwIDAgMCA1IDExLjU0VjE0YTEgMSAwIDAgMCAxIDFoNmExIDEgMCAwIDAgMS0xdi0yLjQ2YTUgNSAwIDAgMC0xLjU3LTMuNjNMMTAuNDggN0g3LjUyek03Ljk0IDZoMi4xMmwuNi0ySDcuMzR6Ii8+PC9zdmc+J30sMjM2NDI5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNCAxNEg0VjloM1Y3aDNWNGg0em0tOS0xaDJ2LTNINXptMyAwaDJWOEg4em0zIDBoMlY1aC0yeiIvPjwvc3ZnPid9LDUxNDE0MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNi41IDRjLjg5IDAgMS43Mi4xOCAyLjM1LjUuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi41OGwuMTYtLjA5QzEwLjc4IDguMTggMTEuNiA4IDEyLjUgOHMxLjcyLjE4IDIuMzUuNWMuNi4yOSAxLjE1LjggMS4xNSAxLjV2Mi4xYzAgLjctLjU5IDEuMTctMS4xNyAxLjQ0LS42Mi4zLTEuNDUuNDYtMi4zMy40NnMtMS43MS0uMTctMi4zMy0uNDZDOS41OSAxMy4yNyA5IDEyLjggOSAxMi4xdi0uNjRsLS4xNy4wOGMtLjYyLjMtMS40NS40Ni0yLjMzLjQ2cy0xLjcxLS4xNy0yLjMzLS40NkMzLjU4IDExLjI3IDMgMTAuOCAzIDEwLjFWNmMwLS43LjU2LTEuMjEgMS4xNi0xLjVDNC43OCA0LjE3IDUuNiA0IDYuNSA0bTMuNSA4LjFjMCAuMDguMDkuMy41OS41My40Ni4yMiAxLjE0LjM3IDEuOTEuMzdzMS40NS0uMTUgMS45MS0uMzdjLjUtLjIzLjU5LS40NS41OS0uNTN2LS42OGwtLjE1LjA5Yy0uNjMuMzEtMS40Ni40OS0yLjM1LjQ5cy0xLjcyLS4xOC0yLjM0LS41bC0uMTYtLjA4ek0xMi41IDljLS43NyAwLTEuNDQuMTYtMS45LjM5LS40OS4yNC0uNi40OS0uNi42MXMuMTEuMzcuNi42MWMuNDYuMjMgMS4xMy4zOSAxLjkuMzlzMS40NC0uMTYgMS45LS4zOWMuNDgtLjI0LjYtLjQ4LjYtLjZWMTBjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCAxMi41IDltLTMuNjcuNTRjLS42Mi4zLTEuNDUuNDYtMi4zMy40NkE2IDYgMCAwIDEgNCA5LjQ2di42NGMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY0ek00IDguMWMwIC4wOC4wOS4zLjU5LjUzLjQ2LjIyIDEuMTQuMzcgMS45MS4zN3MxLjQ1LS4xNSAxLjkxLS4zN2MuNS0uMjMuNTktLjQ1LjU5LS41M3YtLjY4bC0uMTUuMDlDOC4yMiA3LjgyIDcuMzkgOCA2LjUgOHMtMS43Mi0uMTgtMi4zNC0uNUw0IDcuNDN6TTYuNSA1Yy0uNzcgMC0xLjQ0LjE2LTEuOS4zOS0uNDkuMjQtLjYuNDktLjYuNjFzLjExLjM3LjYuNjFjLjQ2LjIzIDEuMTMuMzkgMS45LjM5czEuNDQtLjE2IDEuOS0uMzljLjQ4LS4yNC42LS40OC42LS42VjZjMC0uMTItLjExLS4zNy0uNi0uNjFBNC40IDQuNCAwIDAgMCA2LjUgNSIvPjwvc3ZnPid9LDIwNTQ3MihlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTQgOWgydjRhMiAyIDAgMCAxLTIgMkg1bC0uMi0uMDFBMiAyIDAgMCAxIDMgMTMuMkwzIDEzVjNoMTF6TTQgMTNhMSAxIDAgMCAwIDEgMWg4VjRINHptMTAgMWExIDEgMCAwIDAgMS0xdi0zaC0xem0tMi0ySDV2LTFoN3pNOCA5SDVWNmgzem00IDBIOVY4aDN6TTYgOGgxVjdINnptNi0xSDlWNmgzeiIvPjwvc3ZnPid9LDcyNzI2OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSA4aDUuNDNsMi43LTQuOTguODkuNDgtNS4wMyA5LjI0YS41LjUgMCAwIDEtLjQ0LjI2SDV2M0g0VjJoMXptMCA0aDMuMjVsMS42My0zSDV6bTExLTNoLTMuODdsLjU3LTFIMTZ6Ii8+PC9zdmc+J30sOTIwODgoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Im0xMy4wNCA2LjQ0LjIuNGMuNDYuOTQuNTggMiAuMzYgMyAuNjUtLjEgMS4yNSAwIDEuOS4yMWwuNS4xNi0uMTguNDhhNC40IDQuNCAwIDAgMS0yLjMgMi40NXEuMzIuNDUuNTIuODZsLjI0LjQzLS40NC4yNHEtLjYzLjM0LTEuMy4zM2MtLjguMDEtMS42LS4zLTIuMi0uODNMMTAgMTVsLS45My0uMzcuMzEtLjc2YTMuMSAzLjEgMCAwIDEtMi45Ny0xLjgxbC0uMTktLjQ2LjQ2LS4ycS40LS4xNy44OC0uMzFhNCA0IDAgMCAxLS4xNy0zLjMybC4xNi0uNDUuNDUuMTRjLjY1LjIgMS4yNC40OCAxLjcuOTlhNSA1IDAgMCAxIDIuMi0yLjAybC40OC0uMjMuNDQtLjJ6bS0uODguOThhNCA0IDAgMCAwLTEuODggMi4xbC0uMDUuMTQtLjQ1IDEuMTUtLjQ4LTEuMTNhMiAyIDAgMCAwLTEuMS0xLjA5Yy0uMjIuOTUtLjAzIDEuODIuNiAyLjUzbC43NC44M2gtMS4xcS0uNDIuMDItLjgzLjE3Yy41NS42NSAxLjU2LjkzIDIuNDIuNjRsLjM3LS4xMy4yMS4zM2EyLjMgMi4zIDAgMCAwIDIuMjcgMS4wMSAyIDIgMCAwIDAtLjU2LS42MmwtMS4wMS0uNjUgMS4xNy0uMjVjLjgtLjE4IDEuNjctLjc3IDIuMTYtMS42YTMgMyAwIDAgMC0xLjYxLjE2bC0xLjEuNDMuNDYtMS4wOC4wNS0uMTNjLjM5LS45NC4zNi0yLS4wOC0yLjkxek04IDQuMDRxLjkxLjEzIDEuNjEuNjdsMS40Mi0xLjQyLjcuNy0xLjQyIDEuNDMtLjcyLjcyYTIuNSAyLjUgMCAxIDAtMy41IDMuNDNsLTEuMDUgMS4xLS42Ni42Ni0uNDguNDgtLjctLjdMNC43IDkuNnEtLjUyLS43LS42Ni0xLjZIMlY3aDIuMDRxLjEzLS44NC42LTEuNTFsLTEuNS0xLjUuNy0uNyAxLjQ4IDEuNDdBMy41IDMuNSAwIDAgMSA3IDQuMDRWMmgxeiIvPjwvc3ZnPid9LDI5MjM2MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAzYTcuMDIgNy4wMiAwIDAgMSA2LjUyIDkuNmwtLjE1LjQtMi4zNi0uNTQuMjItLjk4IDEuNS4zNWE2IDYgMCAwIDAtLjE3LTQuMDdsLTEuMTguNjgtLjUtLjg3IDEuMjItLjdhNiA2IDAgMCAwLTQuNi0yLjg1VjUuNWgtMVY0LjAyYTYgNiAwIDAgMC00LjYgMi44NWwxLjIyLjctLjUuODctMS4xOC0uNjhhNiA2IDAgMCAwLS4xNyA0LjA3bDEuNS0uMzUuMTIuNDkuMTEuNDktMS45NS40NC0uNDIuMS0uMTUtLjRBNy4wNiA3LjA2IDAgMCAxIDkgM20zIDMuNTctMi4xIDNBMSAxIDAgMCAxIDkgMTFhMSAxIDAgMSAxIC4wOC0ybDIuMS0zeiIvPjwvc3ZnPid9LDc5MTY5MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNSAxNEg0di0zaDF6bTMgMEg3VjloMXptMyAwaC0xdi0zaDF6bTMgMGgtMVY5aDF6bTEtOS4xOEwxMC4zOCA4IDYuOTkgNS42IDMuNjIgOC4wMyAzIDcuMmw0LTIuODQgMy4zOSAyLjQyTDE0LjQ1IDR6Ii8+PC9zdmc+J30sOTg3OTkyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDEyaDExdjFINXYzSDRWMmgxem05LThjMCAyLjc2LS41MSA0LjUzLTEuNDQgNS42MS0uOTQgMS4xLTIuMjMgMS4zOC0zLjUgMS4zOC0uODggMC0yLjA3LS4yLTMuMDYtLjc2bC41LS44N2MuOC40NSAxLjguNjMgMi41Ny42MyAxLjEzIDAgMi4wNi0uMjQgMi43My0xLjAzLjctLjggMS4yLTIuMjggMS4yLTQuOTZ6Ii8+PC9zdmc+J30sMTU5MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik01IDE2SDRWMmgxek0xNSA1LjVsLTIuNjYgMi40OS0uNjgtLjczTDEyLjkgNi4xQTcgNyAwIDAgMCA4LjI3IDlhNyA3IDAgMCAwIDQuNjQgMi45MWwtMS4yNS0xLjE3LjY4LS43M0wxNSAxMi41IDEyLjM0IDE1bC0uNjgtLjc0IDEuNC0xLjMyYTggOCAwIDAgMS01LjM0LTNBNyA3IDAgMCAwIDcgMTMuMDJWMTRINnYtLjk3YzAtNC4xMSAzLjA5LTcuNSA3LjA2LTcuOTdsLTEuNC0xLjMyLjY4LS43NHpNNyA0di45NnEwIDEuMS4zMSAyLjEtLjM5LjQyLS43My45YTggOCAwIDAgMS0uNTgtM1Y0eiIvPjwvc3ZnPid9LDI2MDYwMyhlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtkZWZhdWx0OigpPT5hfSk7Y29uc3QgYT1mdW5jdGlvbigpe3ZhciBlPXtiYXNlOiJodHRwczovL3R3ZW1vamkubWF4Y2RuLmNvbS92LzEzLjAuMS8iLGV4dDoiLnBuZyIsc2l6ZToiNzJ4NzIiLGNsYXNzTmFtZToiZW1vamkiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlP3BhcnNlSW50KGUsMTYpOmU7aWYodDw2NTUzNilyZXR1cm4gbCh0KTtyZXR1cm4gbCg1NTI5NisoKHQtPTY1NTM2KT4+MTApLDU2MzIwKygxMDIzJnQpKX0sdG9Db2RlUG9pbnQ6Z30sb25lcnJvcjpmdW5jdGlvbigpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChyKHRoaXMuYWx0LCExKSx0aGlzKX0scGFyc2U6ZnVuY3Rpb24odCxuKXtuJiYiZnVuY3Rpb24iIT10eXBlb2Ygbnx8KG49e2NhbGxiYWNrOm59KTtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3Y6aCkodCx7Y2FsbGJhY2s6bi5jYWxsYmFja3x8ZCxhdHRyaWJ1dGVzOiJmdW5jdGlvbiI9PXR5cGVvZiBuLmF0dHJpYnV0ZXM/bi5hdHRyaWJ1dGVzOnAsYmFzZToic3RyaW5nIj09dHlwZW9mIG4uYmFzZT9uLmJhc2U6ZS5iYXNlLApleHQ6bi5leHR8fGUuZXh0LHNpemU6bi5mb2xkZXJ8fChhPW4uc2l6ZXx8ZS5zaXplLCJudW1iZXIiPT10eXBlb2YgYT9hKyJ4IithOmEpLGNsYXNzTmFtZTpuLmNsYXNzTmFtZXx8ZS5jbGFzc05hbWUsb25lcnJvcjpuLm9uZXJyb3J8fGUub25lcnJvcn0pO3ZhciBhfSxyZXBsYWNlOmYsdGVzdDpmdW5jdGlvbihlKXtuLmxhc3RJbmRleD0wO3ZhciB0PW4udGVzdChlKTtyZXR1cm4gbi5sYXN0SW5kZXg9MCx0fX0sdD17IiYiOiImYW1wOyIsIjwiOiImbHQ7IiwiPiI6IiZndDsiLCInIjoiJiMzOTsiLCciJzoiJnF1b3Q7Igp9LG49Lyg/Olx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmMtXHVkZmZmXXxcdWQ4M2RcdWRjNjhcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY4XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OFx1ZDgzY1x1ZGZmZlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmItXHVkZmZlXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmJcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZjLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZiXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYy1cdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmY1x1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OFx1ZDgzY1tcdWRmZmJcdWRmZmQtXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjlcdWQ4M2NbXHVkZmZiXHVkZmZkLVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYlx1ZGZmY1x1ZGZmZVx1ZGZmZl18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZlXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY4XHVkODNjW1x1ZGZmYi1cdWRmZmRcdWRmZmZdfFx1ZDgzZFx1ZGM2OVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZFx1ZGM2OVx1ZDgzY1tcdWRmZmItXHVkZmZkXHVkZmZmXXxcdWQ4M2RcdWRjNjlcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2RcdWRjNjhcdWQ4M2NbXHVkZmZiLVx1ZGZmZV18XHVkODNkXHVkYzY5XHVkODNjXHVkZmZmXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNkXHVkYzY5XHVkODNjW1x1ZGZmYi1cdWRmZmVdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmYlx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmNcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHVkODNjXHVkZmZkXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZVx1ZGRkMVx1ZDgzY1x1ZGZmZVx1MjAwZFx1ZDgzZVx1ZGQxZFx1MjAwZFx1ZDgzZVx1ZGRkMVx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2VcdWRkZDFcdWQ4M2NcdWRmZmZcdTIwMGRcdWQ4M2VcdWRkMWRcdTIwMGRcdWQ4M2VcdWRkZDFcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNlXHVkZGQxXHUyMDBkXHVkODNlXHVkZDFkXHUyMDBkXHVkODNlXHVkZGQxfFx1ZDgzZFx1ZGM2Ylx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWQ4M2RcdWRjNmNcdWQ4M2NbXHVkZmZiLVx1ZGZmZl18XHVkODNkXHVkYzZkXHVkODNjW1x1ZGZmYi1cdWRmZmZdfFx1ZDgzZFtcdWRjNmItXHVkYzZkXSl8KD86XHVkODNkW1x1ZGM2OFx1ZGM2OV18XHVkODNlXHVkZGQxKSg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXSk/XHUyMDBkKD86XHUyNjk1XHVmZTBmfFx1MjY5Nlx1ZmUwZnxcdTI3MDhcdWZlMGZ8XHVkODNjW1x1ZGYzZVx1ZGY3M1x1ZGY3Y1x1ZGY4NFx1ZGY5M1x1ZGZhNFx1ZGZhOFx1ZGZlYlx1ZGZlZF18XHVkODNkW1x1ZGNiYlx1ZGNiY1x1ZGQyN1x1ZGQyY1x1ZGU4MFx1ZGU5Ml18XHVkODNlW1x1ZGRhZi1cdWRkYjNcdWRkYmNcdWRkYmRdKXwoPzpcdWQ4M2NbXHVkZmNiXHVkZmNjXXxcdWQ4M2RbXHVkZDc0XHVkZDc1XXxcdTI2ZjkpKCg/Olx1ZDgzY1tcdWRmZmItXHVkZmZmXXxcdWZlMGYpXHUyMDBkW1x1MjY0MFx1MjY0Ml1cdWZlMGYpfCg/Olx1ZDgzY1tcdWRmYzNcdWRmYzRcdWRmY2FdfFx1ZDgzZFtcdWRjNmVcdWRjNzBcdWRjNzFcdWRjNzNcdWRjNzdcdWRjODFcdWRjODJcdWRjODZcdWRjODdcdWRlNDUtXHVkZTQ3XHVkZTRiXHVkZTRkXHVkZTRlXHVkZWEzXHVkZWI0LVx1ZGViNl18XHVkODNlW1x1ZGQyNlx1ZGQzNVx1ZGQzNy1cdWRkMzlcdWRkM2RcdWRkM2VcdWRkYjhcdWRkYjlcdWRkY2QtXHVkZGNmXHVkZGQ2LVx1ZGRkZF0pKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT9cdTIwMGRbXHUyNjQwXHUyNjQyXVx1ZmUwZnwoPzpcdWQ4M2RcdWRjNjhcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RcdWRjNjh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY4XHUyMDBkXHVkODNkXHVkYzY2XHUyMDBkXHVkODNkXHVkYzY2fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2N1x1MjAwZFx1ZDgzZFtcdWRjNjZcdWRjNjddfFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2OVx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RcdWRjOGJcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY4XHUyMDBkXHUyNzY0XHVmZTBmXHUyMDBkXHVkODNkXHVkYzY4fFx1ZDgzZFx1ZGM2OFx1MjAwZFx1ZDgzZFx1ZGM2Nlx1MjAwZFx1ZDgzZFx1ZGM2NnxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjdcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjhcdTIwMGRcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RbXHVkYzY2XHVkYzY3XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdTI3NjRcdWZlMGZcdTIwMGRcdWQ4M2RbXHVkYzY4XHVkYzY5XXxcdWQ4M2RcdWRjNjlcdTIwMGRcdWQ4M2RcdWRjNjZcdTIwMGRcdWQ4M2RcdWRjNjZ8XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY3XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmfFx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1ZDgzY1x1ZGYwOHxcdWQ4M2NcdWRmZjRcdTIwMGRcdTI2MjBcdWZlMGZ8XHVkODNkXHVkYzE1XHUyMDBkXHVkODNlXHVkZGJhfFx1ZDgzZFx1ZGMzYlx1MjAwZFx1Mjc0NFx1ZmUwZnxcdWQ4M2RcdWRjNDFcdTIwMGRcdWQ4M2RcdWRkZTh8XHVkODNkXHVkYzY4XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzY5XHUyMDBkXHVkODNkW1x1ZGM2Nlx1ZGM2N118XHVkODNkXHVkYzZmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZFx1ZGM2Zlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2VcdWRkM2NcdTIwMGRcdTI2NDBcdWZlMGZ8XHVkODNlXHVkZDNjXHUyMDBkXHUyNjQyXHVmZTBmfFx1ZDgzZVx1ZGRkZVx1MjAwZFx1MjY0MFx1ZmUwZnxcdWQ4M2VcdWRkZGVcdTIwMGRcdTI2NDJcdWZlMGZ8XHVkODNlXHVkZGRmXHUyMDBkXHUyNjQwXHVmZTBmfFx1ZDgzZVx1ZGRkZlx1MjAwZFx1MjY0Mlx1ZmUwZnxcdWQ4M2RcdWRjMDhcdTIwMGRcdTJiMWIpfFsjKjAtOV1cdWZlMGY/XHUyMGUzfCg/OlvCqcKuXHUyMTIyXHUyNjVmXVx1ZmUwZil8KD86XHVkODNjW1x1ZGMwNFx1ZGQ3MFx1ZGQ3MVx1ZGQ3ZVx1ZGQ3Zlx1ZGUwMlx1ZGUxYVx1ZGUyZlx1ZGUzN1x1ZGYyMVx1ZGYyNC1cdWRmMmNcdWRmMzZcdWRmN2RcdWRmOTZcdWRmOTdcdWRmOTktXHVkZjliXHVkZjllXHVkZjlmXHVkZmNkXHVkZmNlXHVkZmQ0LVx1ZGZkZlx1ZGZmM1x1ZGZmNVx1ZGZmN118XHVkODNkW1x1ZGMzZlx1ZGM0MVx1ZGNmZFx1ZGQ0OVx1ZGQ0YVx1ZGQ2Zlx1ZGQ3MFx1ZGQ3M1x1ZGQ3Ni1cdWRkNzlcdWRkODdcdWRkOGEtXHVkZDhkXHVkZGE1XHVkZGE4XHVkZGIxXHVkZGIyXHVkZGJjXHVkZGMyLVx1ZGRjNFx1ZGRkMS1cdWRkZDNcdWRkZGMtXHVkZGRlXHVkZGUxXHVkZGUzXHVkZGU4XHVkZGVmXHVkZGYzXHVkZGZhXHVkZWNiXHVkZWNkLVx1ZGVjZlx1ZGVlMC1cdWRlZTVcdWRlZTlcdWRlZjBcdWRlZjNdfFtcdTIwM2NcdTIwNDlcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMWE5XHUyMWFhXHUyMzFhXHUyMzFiXHUyMzI4XHUyM2NmXHUyM2VkLVx1MjNlZlx1MjNmMVx1MjNmMlx1MjNmOC1cdTIzZmFcdTI0YzJcdTI1YWFcdTI1YWJcdTI1YjZcdTI1YzBcdTI1ZmItXHUyNWZlXHUyNjAwLVx1MjYwNFx1MjYwZVx1MjYxMVx1MjYxNFx1MjYxNVx1MjYxOFx1MjYyMFx1MjYyMlx1MjYyM1x1MjYyNlx1MjYyYVx1MjYyZVx1MjYyZlx1MjYzOC1cdTI2M2FcdTI2NDBcdTI2NDJcdTI2NDgtXHUyNjUzXHUyNjYwXHUyNjYzXHUyNjY1XHUyNjY2XHUyNjY4XHUyNjdiXHUyNjdmXHUyNjkyLVx1MjY5N1x1MjY5OVx1MjY5Ylx1MjY5Y1x1MjZhMFx1MjZhMVx1MjZhN1x1MjZhYVx1MjZhYlx1MjZiMFx1MjZiMVx1MjZiZFx1MjZiZVx1MjZjNFx1MjZjNVx1MjZjOFx1MjZjZlx1MjZkMVx1MjZkM1x1MjZkNFx1MjZlOVx1MjZlYVx1MjZmMC1cdTI2ZjVcdTI2ZjhcdTI2ZmFcdTI2ZmRcdTI3MDJcdTI3MDhcdTI3MDlcdTI3MGZcdTI3MTJcdTI3MTRcdTI3MTZcdTI3MWRcdTI3MjFcdTI3MzNcdTI3MzRcdTI3NDRcdTI3NDdcdTI3NTdcdTI3NjNcdTI3NjRcdTI3YTFcdTI5MzRcdTI5MzVcdTJiMDUtXHUyYjA3XHUyYjFiXHUyYjFjXHUyYjUwXHUyYjU1XHUzMDMwXHUzMDNkXHUzMjk3XHUzMjk5XSkoPzpcdWZlMGZ8KD8hXHVmZTBlKSl8KD86KD86XHVkODNjW1x1ZGZjYlx1ZGZjY118XHVkODNkW1x1ZGQ3NFx1ZGQ3NVx1ZGQ5MF18W1x1MjYxZFx1MjZmN1x1MjZmOVx1MjcwY1x1MjcwZF0pKD86XHVmZTBmfCg/IVx1ZmUwZSkpfCg/Olx1ZDgzY1tcdWRmODVcdWRmYzItXHVkZmM0XHVkZmM3XHVkZmNhXXxcdWQ4M2RbXHVkYzQyXHVkYzQzXHVkYzQ2LVx1ZGM1MFx1ZGM2Ni1cdWRjNjlcdWRjNmVcdWRjNzAtXHVkYzc4XHVkYzdjXHVkYzgxLVx1ZGM4M1x1ZGM4NS1cdWRjODdcdWRjYWFcdWRkN2FcdWRkOTVcdWRkOTZcdWRlNDUtXHVkZTQ3XHVkZTRiLVx1ZGU0Zlx1ZGVhM1x1ZGViNC1cdWRlYjZcdWRlYzBcdWRlY2NdfFx1ZDgzZVtcdWRkMGNcdWRkMGZcdWRkMTgtXHVkZDFjXHVkZDFlXHVkZDFmXHVkZDI2XHVkZDMwLVx1ZGQzOVx1ZGQzZFx1ZGQzZVx1ZGQ3N1x1ZGRiNVx1ZGRiNlx1ZGRiOFx1ZGRiOVx1ZGRiYlx1ZGRjZC1cdWRkY2ZcdWRkZDEtXHVkZGRkXXxbXHUyNzBhXHUyNzBiXSkpKD86XHVkODNjW1x1ZGZmYi1cdWRmZmZdKT98KD86XHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmfFx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM3M1x1ZGI0MFx1ZGM2M1x1ZGI0MFx1ZGM3NFx1ZGI0MFx1ZGM3ZnxcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNzdcdWRiNDBcdWRjNmNcdWRiNDBcdWRjNzNcdWRiNDBcdWRjN2Z8XHVkODNjXHVkZGU2XHVkODNjW1x1ZGRlOC1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjJcdWRkZjRcdWRkZjYtXHVkZGZhXHVkZGZjXHVkZGZkXHVkZGZmXXxcdWQ4M2NcdWRkZTdcdWQ4M2NbXHVkZGU2XHVkZGU3XHVkZGU5LVx1ZGRlZlx1ZGRmMS1cdWRkZjRcdWRkZjYtXHVkZGY5XHVkZGZiXHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZThcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGU5XHVkZGViLVx1ZGRlZVx1ZGRmMC1cdWRkZjVcdWRkZjdcdWRkZmEtXHVkZGZmXXxcdWQ4M2NcdWRkZTlcdWQ4M2NbXHVkZGVhXHVkZGVjXHVkZGVmXHVkZGYwXHVkZGYyXHVkZGY0XHVkZGZmXXxcdWQ4M2NcdWRkZWFcdWQ4M2NbXHVkZGU2XHVkZGU4XHVkZGVhXHVkZGVjXHVkZGVkXHVkZGY3LVx1ZGRmYV18XHVkODNjXHVkZGViXHVkODNjW1x1ZGRlZS1cdWRkZjBcdWRkZjJcdWRkZjRcdWRkZjddfFx1ZDgzY1x1ZGRlY1x1ZDgzY1tcdWRkZTZcdWRkZTdcdWRkZTktXHVkZGVlXHVkZGYxLVx1ZGRmM1x1ZGRmNS1cdWRkZmFcdWRkZmNcdWRkZmVdfFx1ZDgzY1x1ZGRlZFx1ZDgzY1tcdWRkZjBcdWRkZjJcdWRkZjNcdWRkZjdcdWRkZjlcdWRkZmFdfFx1ZDgzY1x1ZGRlZVx1ZDgzY1tcdWRkZTgtXHVkZGVhXHVkZGYxLVx1ZGRmNFx1ZGRmNi1cdWRkZjldfFx1ZDgzY1x1ZGRlZlx1ZDgzY1tcdWRkZWFcdWRkZjJcdWRkZjRcdWRkZjVdfFx1ZDgzY1x1ZGRmMFx1ZDgzY1tcdWRkZWFcdWRkZWMtXHVkZGVlXHVkZGYyXHVkZGYzXHVkZGY1XHVkZGY3XHVkZGZjXHVkZGZlXHVkZGZmXXxcdWQ4M2NcdWRkZjFcdWQ4M2NbXHVkZGU2LVx1ZGRlOFx1ZGRlZVx1ZGRmMFx1ZGRmNy1cdWRkZmJcdWRkZmVdfFx1ZDgzY1x1ZGRmMlx1ZDgzY1tcdWRkZTZcdWRkZTgtXHVkZGVkXHVkZGYwLVx1ZGRmZl18XHVkODNjXHVkZGYzXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYS1cdWRkZWNcdWRkZWVcdWRkZjFcdWRkZjRcdWRkZjVcdWRkZjdcdWRkZmFcdWRkZmZdfFx1ZDgzY1x1ZGRmNFx1ZDgzY1x1ZGRmMnxcdWQ4M2NcdWRkZjVcdWQ4M2NbXHVkZGU2XHVkZGVhLVx1ZGRlZFx1ZGRmMC1cdWRkZjNcdWRkZjctXHVkZGY5XHVkZGZjXHVkZGZlXXxcdWQ4M2NcdWRkZjZcdWQ4M2NcdWRkZTZ8XHVkODNjXHVkZGY3XHVkODNjW1x1ZGRlYVx1ZGRmNFx1ZGRmOFx1ZGRmYVx1ZGRmY118XHVkODNjXHVkZGY4XHVkODNjW1x1ZGRlNi1cdWRkZWFcdWRkZWMtXHVkZGY0XHVkZGY3LVx1ZGRmOVx1ZGRmYlx1ZGRmZC1cdWRkZmZdfFx1ZDgzY1x1ZGRmOVx1ZDgzY1tcdWRkZTZcdWRkZThcdWRkZTlcdWRkZWItXHVkZGVkXHVkZGVmLVx1ZGRmNFx1ZGRmN1x1ZGRmOVx1ZGRmYlx1ZGRmY1x1ZGRmZl18XHVkODNjXHVkZGZhXHVkODNjW1x1ZGRlNlx1ZGRlY1x1ZGRmMlx1ZGRmM1x1ZGRmOFx1ZGRmZVx1ZGRmZl18XHVkODNjXHVkZGZiXHVkODNjW1x1ZGRlNlx1ZGRlOFx1ZGRlYVx1ZGRlY1x1ZGRlZVx1ZGRmM1x1ZGRmYV18XHVkODNjXHVkZGZjXHVkODNjW1x1ZGRlYlx1ZGRmOF18XHVkODNjXHVkZGZkXHVkODNjXHVkZGYwfFx1ZDgzY1x1ZGRmZVx1ZDgzY1tcdWRkZWFcdWRkZjldfFx1ZDgzY1x1ZGRmZlx1ZDgzY1tcdWRkZTZcdWRkZjJcdWRkZmNdfFx1ZDgzY1tcdWRjY2ZcdWRkOGVcdWRkOTEtXHVkZDlhXHVkZGU2LVx1ZGRmZlx1ZGUwMVx1ZGUzMi1cdWRlMzZcdWRlMzgtXHVkZTNhXHVkZTUwXHVkZTUxXHVkZjAwLVx1ZGYyMFx1ZGYyZC1cdWRmMzVcdWRmMzctXHVkZjdjXHVkZjdlLVx1ZGY4NFx1ZGY4Ni1cdWRmOTNcdWRmYTAtXHVkZmMxXHVkZmM1XHVkZmM2XHVkZmM4XHVkZmM5XHVkZmNmLVx1ZGZkM1x1ZGZlMC1cdWRmZjBcdWRmZjRcdWRmZjgtXHVkZmZmXXxcdWQ4M2RbXHVkYzAwLVx1ZGMzZVx1ZGM0MFx1ZGM0NFx1ZGM0NVx1ZGM1MS1cdWRjNjVcdWRjNmFcdWRjNmZcdWRjNzktXHVkYzdiXHVkYzdkLVx1ZGM4MFx1ZGM4NFx1ZGM4OC1cdWRjYTlcdWRjYWItXHVkY2ZjXHVkY2ZmLVx1ZGQzZFx1ZGQ0Yi1cdWRkNGVcdWRkNTAtXHVkZDY3XHVkZGE0XHVkZGZiLVx1ZGU0NFx1ZGU0OC1cdWRlNGFcdWRlODAtXHVkZWEyXHVkZWE0LVx1ZGViM1x1ZGViNy1cdWRlYmZcdWRlYzEtXHVkZWM1XHVkZWQwLVx1ZGVkMlx1ZGVkNS1cdWRlZDdcdWRlZWJcdWRlZWNcdWRlZjQtXHVkZWZjXHVkZmUwLVx1ZGZlYl18XHVkODNlW1x1ZGQwZFx1ZGQwZVx1ZGQxMC1cdWRkMTdcdWRkMWRcdWRkMjAtXHVkZDI1XHVkZDI3LVx1ZGQyZlx1ZGQzYVx1ZGQzY1x1ZGQzZi1cdWRkNDVcdWRkNDctXHVkZDc2XHVkZDc4XHVkZDdhLVx1ZGRiNFx1ZGRiN1x1ZGRiYVx1ZGRiYy1cdWRkY2JcdWRkZDBcdWRkZGUtXHVkZGZmXHVkZTcwLVx1ZGU3NFx1ZGU3OC1cdWRlN2FcdWRlODAtXHVkZTg2XHVkZTkwLVx1ZGVhOFx1ZGViMC1cdWRlYjZcdWRlYzAtXHVkZWMyXHVkZWQwLVx1ZGVkNl18W1x1MjNlOS1cdTIzZWNcdTIzZjBcdTIzZjNcdTI2N2VcdTI2Y2VcdTI3MDVcdTI3MjhcdTI3NGNcdTI3NGVcdTI3NTMtXHUyNzU1XHUyNzk1LVx1Mjc5N1x1MjdiMFx1MjdiZlx1ZTUwYV0pfFx1ZmUwZi9nLGE9L1x1RkUwRi9nLGk9U3RyaW5nLmZyb21DaGFyQ29kZSg4MjA1KSxvPS9bJjw+JyJdL2cscz0vXig/OmlmcmFtZXxub2ZyYW1lc3xub3NjcmlwdHxzY3JpcHR8c2VsZWN0fHN0eWxlfHRleHRhcmVhKSQvLGw9U3RyaW5nLmZyb21DaGFyQ29kZQo7cmV0dXJuIGU7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0P2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuIiIuY29uY2F0KHQuYmFzZSx0LnNpemUsIi8iLGUsdC5leHQpfWZ1bmN0aW9uIHUoZSx0KXtmb3IodmFyIG4sYSxpPWUuY2hpbGROb2RlcyxvPWkubGVuZ3RoO28tLTspMz09PShhPShuPWlbb10pLm5vZGVUeXBlKT90LnB1c2gobik6MSE9PWF8fCJvd25lclNWR0VsZW1lbnQiaW4gbnx8cy50ZXN0KG4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fHUobix0KTtyZXR1cm4gdH1mdW5jdGlvbiBjKGUpe3JldHVybiBnKGUuaW5kZXhPZihpKTwwP2UucmVwbGFjZShhLCIiKTplKX1mdW5jdGlvbiBoKGUsdCl7Zm9yKHZhciBhLGksbyxzLGwsZCxoLHYsbSxwLGYsZyxiLHc9dShlLFtdKSxDPXcubGVuZ3RoO0MtLTspe2ZvcihvPSExLHM9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGQ9KGw9d1tDXSkubm9kZVZhbHVlLHY9MDtoPW4uZXhlYyhkKTspe2lmKChtPWguaW5kZXgpIT09diYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodixtKSwhMCkpLGc9YyhmPWhbMF0pLHY9bStmLmxlbmd0aCxiPXQuY2FsbGJhY2soZyx0KSxnJiZiKXtmb3IoaSBpbihwPW5ldyBJbWFnZSkub25lcnJvcj10Lm9uZXJyb3IscC5zZXRBdHRyaWJ1dGUoImRyYWdnYWJsZSIsImZhbHNlIiksYT10LmF0dHJpYnV0ZXMoZixnKSlhLmhhc093blByb3BlcnR5KGkpJiYwIT09aS5pbmRleE9mKCJvbiIpJiYhcC5oYXNBdHRyaWJ1dGUoaSkmJnAuc2V0QXR0cmlidXRlKGksYVtpXSk7cC5jbGFzc05hbWU9dC5jbGFzc05hbWUscC5hbHQ9ZixwLnNyYz1iLG89ITAscy5hcHBlbmRDaGlsZChwKX1wfHxzLmFwcGVuZENoaWxkKHIoZiwhMSkpLHA9bnVsbH1vJiYodjxkLmxlbmd0aCYmcy5hcHBlbmRDaGlsZChyKGQuc2xpY2UodiksITApKSxsLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHMsbCkpfXJldHVybiBlfWZ1bmN0aW9uIHYoZSx0KXtyZXR1cm4gZihlLChmdW5jdGlvbihlKXt2YXIgbixhLGk9ZSxzPWMoZSksbD10LmNhbGxiYWNrKHMsdCk7aWYocyYmbCl7Zm9yKGEgaW4gaT0iPGltZyAiLmNvbmNhdCgnY2xhc3M9IicsdC5jbGFzc05hbWUsJyIgJywnZHJhZ2dhYmxlPSJmYWxzZSIgJywnYWx0PSInLGUsJyInLCcgc3JjPSInLGwsJyInKSxuPXQuYXR0cmlidXRlcyhlLHMpKW4uaGFzT3duUHJvcGVydHkoYSkmJjAhPT1hLmluZGV4T2YoIm9uIikmJi0xPT09aS5pbmRleE9mKCIgIithKyI9IikmJihpPWkuY29uY2F0KCIgIixhLCc9IicsblthXS5yZXBsYWNlKG8sbSksJyInKSk7aT1pLmNvbmNhdCgiLz4iKX1yZXR1cm4gaX0pKX1mdW5jdGlvbiBtKGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIHAoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBmKGUsdCl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKG4sdCl9ZnVuY3Rpb24gZyhlLHQpe2Zvcih2YXIgbj1bXSxhPTAsaT0wLG89MDtvPGUubGVuZ3RoOylhPWUuY2hhckNvZGVBdChvKyspLGk/KG4ucHVzaCgoNjU1MzYrKGktNTUyOTY8PDEwKSsoYS01NjMyMCkpLnRvU3RyaW5nKDE2KSksaT0wKTo1NTI5Njw9YSYmYTw9NTYzMTk/aT1hOm4ucHVzaChhLnRvU3RyaW5nKDE2KSk7cmV0dXJuIG4uam9pbih0fHwiLSIpfX0oKX0sODU2NzcwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse25hbm9pZDooKT0+YX0pO2xldCBhPShlPTIxKT0+Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSkucmVkdWNlKCgoZSx0KT0+ZSs9KHQmPTYzKTwzNj90LnRvU3RyaW5nKDM2KTp0PDYyPyh0LTI2KS50b1N0cmluZygzNikudG9VcHBlckNhc2UoKTp0PjYyPyItIjoiXyIpLCIiKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/wow.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.844Z","timestamp":1785136421844,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/wow.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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 200 \r\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 3377\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":15547,"size_decoded":3776,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"ea81e4551d35835e87309a679fa22df4","sha1":"6ecb988432bae56dd5a710cc32fa03847670a98f","sha256":"f11c99e3d36695925003b17b9faaecf2339bd1a9b045bad6da6bd4a7f562557a","sha512":"6e00b8f29a9a090c781a838f0e64c8f98d48c0c691eeb37c9628155ca5c7a2b8ddb9732bc5c96239e8ed0790681ff79f97f93a494d839bd2d45c2ff228f2f3c8","ssdeep":"192:+HctamoFfk612qOfHUhafkasjlfri6mTOvN8HzIqfe2omJ0yaMRaUQPyPCrGJ0ID:cRZmU+GeKrAq6aItnefKh","tlshash":"ca62cc883eeb20609717717e8f4f8105b638154b1159dd08beac4be45fa053897fafb8","first_seen":"2023-03-07T12:11:47Z","last_seen":"2026-08-02T21:40:37.189985Z","times_seen":753,"resource_available":true,"data":"KGZ1bmN0aW9uKCkgewogIHZhciBNdXRhdGlvbk9ic2VydmVyLCBVdGlsLCBXZWFrTWFwLCBnZXRDb21wdXRlZFN0eWxlLCBnZXRDb21wdXRlZFN0eWxlUlgsCiAgICBiaW5kID0gZnVuY3Rpb24oZm4sIG1lKXsgcmV0dXJuIGZ1bmN0aW9uKCl7IHJldHVybiBmbi5hcHBseShtZSwgYXJndW1lbnRzKTsgfTsgfSwKICAgIGluZGV4T2YgPSBbXS5pbmRleE9mIHx8IGZ1bmN0aW9uKGl0ZW0pIHsgZm9yICh2YXIgaSA9IDAsIGwgPSB0aGlzLmxlbmd0aDsgaSA8IGw7IGkrKykgeyBpZiAoaSBpbiB0aGlzICYmIHRoaXNbaV0gPT09IGl0ZW0pIHJldHVybiBpOyB9IHJldHVybiAtMTsgfTsKCiAgVXRpbCA9IChmdW5jdGlvbigpIHsKICAgIGZ1bmN0aW9uIFV0aWwoKSB7fQoKICAgIFV0aWwucHJvdG90eXBlLmV4dGVuZCA9IGZ1bmN0aW9uKGN1c3RvbSwgZGVmYXVsdHMpIHsKICAgICAgdmFyIGtleSwgdmFsdWU7CiAgICAgIGZvciAoa2V5IGluIGRlZmF1bHRzKSB7CiAgICAgICAgdmFsdWUgPSBkZWZhdWx0c1trZXldOwogICAgICAgIGlmIChjdXN0b21ba2V5XSA9PSBudWxsKSB7CiAgICAgICAgICBjdXN0b21ba2V5XSA9IHZhbHVlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gY3VzdG9tOwogICAgfTsKCiAgICBVdGlsLnByb3RvdHlwZS5pc01vYmlsZSA9IGZ1bmN0aW9uKGFnZW50KSB7CiAgICAgIHJldHVybiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QoYWdlbnQpOwogICAgfTsKCiAgICBVdGlsLnByb3RvdHlwZS5jcmVhdGVFdmVudCA9IGZ1bmN0aW9uKGV2ZW50LCBidWJibGUsIGNhbmNlbCwgZGV0YWlsKSB7CiAgICAgIHZhciBjdXN0b21FdmVudDsKICAgICAgaWYgKGJ1YmJsZSA9PSBudWxsKSB7CiAgICAgICAgYnViYmxlID0gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGNhbmNlbCA9PSBudWxsKSB7CiAgICAgICAgY2FuY2VsID0gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGRldGFpbCA9PSBudWxsKSB7CiAgICAgICAgZGV0YWlsID0gbnVsbDsKICAgICAgfQogICAgICBpZiAoZG9jdW1lbnQuY3JlYXRlRXZlbnQgIT0gbnVsbCkgewogICAgICAgIGN1c3RvbUV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50Jyk7CiAgICAgICAgY3VzdG9tRXZlbnQuaW5pdEN1c3RvbUV2ZW50KGV2ZW50LCBidWJibGUsIGNhbmNlbCwgZGV0YWlsKTsKICAgICAgfSBlbHNlIGlmIChkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCAhPSBudWxsKSB7CiAgICAgICAgY3VzdG9tRXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpOwogICAgICAgIGN1c3RvbUV2ZW50LmV2ZW50VHlwZSA9IGV2ZW50OwogICAgICB9IGVsc2UgewogICAgICAgIGN1c3RvbUV2ZW50LmV2ZW50TmFtZSA9IGV2ZW50OwogICAgICB9CiAgICAgIHJldHVybiBjdXN0b21FdmVudDsKICAgIH07CgogICAgVXRpbC5wcm90b3R5cGUuZW1pdEV2ZW50ID0gZnVuY3Rpb24oZWxlbSwgZXZlbnQpIHsKICAgICAgaWYgKGVsZW0uZGlzcGF0Y2hFdmVudCAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGVsZW0uZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW4gKGVsZW0gIT0gbnVsbCkpIHsKICAgICAgICByZXR1cm4gZWxlbVtldmVudF0oKTsKICAgICAgfSBlbHNlIGlmICgoIm9uIiArIGV2ZW50KSBpbiAoZWxlbSAhPSBudWxsKSkgewogICAgICAgIHJldHVybiBlbGVtWyJvbiIgKyBldmVudF0oKTsKICAgICAgfQogICAgfTsKCiAgICBVdGlsLnByb3RvdHlwZS5hZGRFdmVudCA9IGZ1bmN0aW9uKGVsZW0sIGV2ZW50LCBmbikgewogICAgICBpZiAoZWxlbS5hZGRFdmVudExpc3RlbmVyICE9IG51bGwpIHsKICAgICAgICByZXR1cm4gZWxlbS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmbiwgZmFsc2UpOwogICAgICB9IGVsc2UgaWYgKGVsZW0uYXR0YWNoRXZlbnQgIT0gbnVsbCkgewogICAgICAgIHJldHVybiBlbGVtLmF0dGFjaEV2ZW50KCJvbiIgKyBldmVudCwgZm4pOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBlbGVtW2V2ZW50XSA9IGZuOwogICAgICB9CiAgICB9OwoKICAgIFV0aWwucHJvdG90eXBlLnJlbW92ZUV2ZW50ID0gZnVuY3Rpb24oZWxlbSwgZXZlbnQsIGZuKSB7CiAgICAgIGlmIChlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIgIT0gbnVsbCkgewogICAgICAgIHJldHVybiBlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGZuLCBmYWxzZSk7CiAgICAgIH0gZWxzZSBpZiAoZWxlbS5kZXRhY2hFdmVudCAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGVsZW0uZGV0YWNoRXZlbnQoIm9uIiArIGV2ZW50LCBmbik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGRlbGV0ZSBlbGVtW2V2ZW50XTsKICAgICAgfQogICAgfTsKCiAgICBVdGlsLnByb3RvdHlwZS5pbm5lckhlaWdodCA9IGZ1bmN0aW9uKCkgewogICAgICBpZiAoJ2lubmVySGVpZ2h0JyBpbiB3aW5kb3cpIHsKICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0OwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OwogICAgICB9CiAgICB9OwoKICAgIHJldHVybiBVdGlsOwoKICB9KSgpOwoKICBXZWFrTWFwID0gdGhpcy5XZWFrTWFwIHx8IHRoaXMuTW96V2Vha01hcCB8fCAoV2Vha01hcCA9IChmdW5jdGlvbigpIHsKICAgIGZ1bmN0aW9uIFdlYWtNYXAoKSB7CiAgICAgIHRoaXMua2V5cyA9IFtdOwogICAgICB0aGlzLnZhbHVlcyA9IFtdOwogICAgfQoKICAgIFdlYWtNYXAucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uKGtleSkgewogICAgICB2YXIgaSwgaXRlbSwgaiwgbGVuLCByZWY7CiAgICAgIHJlZiA9IHRoaXMua2V5czsKICAgICAgZm9yIChpID0gaiA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGogPCBsZW47IGkgPSArK2opIHsKICAgICAgICBpdGVtID0gcmVmW2ldOwogICAgICAgIGlmIChpdGVtID09PSBrZXkpIHsKICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpXTsKICAgICAgICB9CiAgICAgIH0KICAgIH07CgogICAgV2Vha01hcC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogICAgICB2YXIgaSwgaXRlbSwgaiwgbGVuLCByZWY7CiAgICAgIHJlZiA9IHRoaXMua2V5czsKICAgICAgZm9yIChpID0gaiA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGogPCBsZW47IGkgPSArK2opIHsKICAgICAgICBpdGVtID0gcmVmW2ldOwogICAgICAgIGlmIChpdGVtID09PSBrZXkpIHsKICAgICAgICAgIHRoaXMudmFsdWVzW2ldID0gdmFsdWU7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9CiAgICAgIHRoaXMua2V5cy5wdXNoKGtleSk7CiAgICAgIHJldHVybiB0aGlzLnZhbHVlcy5wdXNoKHZhbHVlKTsKICAgIH07CgogICAgcmV0dXJuIFdlYWtNYXA7CgogIH0pKCkpOwoKICBNdXRhdGlvbk9ic2VydmVyID0gdGhpcy5NdXRhdGlvbk9ic2VydmVyIHx8IHRoaXMuV2Via2l0TXV0YXRpb25PYnNlcnZlciB8fCB0aGlzLk1vek11dGF0aW9uT2JzZXJ2ZXIgfHwgKE11dGF0aW9uT2JzZXJ2ZXIgPSAoZnVuY3Rpb24oKSB7CiAgICBmdW5jdGlvbiBNdXRhdGlvbk9ic2VydmVyKCkgewogICAgICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICJ1bmRlZmluZWQiICYmIGNvbnNvbGUgIT09IG51bGwpIHsKICAgICAgICBjb25zb2xlLndhcm4oJ011dGF0aW9uT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXIuJyk7CiAgICAgIH0KICAgICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAidW5kZWZpbmVkIiAmJiBjb25zb2xlICE9PSBudWxsKSB7CiAgICAgICAgY29uc29sZS53YXJuKCdXT1cuanMgY2Fubm90IGRldGVjdCBkb20gbXV0YXRpb25zLCBwbGVhc2UgY2FsbCAuc3luYygpIGFmdGVyIGxvYWRpbmcgbmV3IGNvbnRlbnQuJyk7CiAgICAgIH0KICAgIH0KCiAgICBNdXRhdGlvbk9ic2VydmVyLm5vdFN1cHBvcnRlZCA9IHRydWU7CgogICAgTXV0YXRpb25PYnNlcnZlci5wcm90b3R5cGUub2JzZXJ2ZSA9IGZ1bmN0aW9uKCkge307CgogICAgcmV0dXJuIE11dGF0aW9uT2JzZXJ2ZXI7CgogIH0pKCkpOwoKICBnZXRDb21wdXRlZFN0eWxlID0gdGhpcy5nZXRDb21wdXRlZFN0eWxlIHx8IGZ1bmN0aW9uKGVsLCBwc2V1ZG8pIHsKICAgIHRoaXMuZ2V0UHJvcGVydHlWYWx1ZSA9IGZ1bmN0aW9uKHByb3ApIHsKICAgICAgdmFyIHJlZjsKICAgICAgaWYgKHByb3AgPT09ICdmbG9hdCcpIHsKICAgICAgICBwcm9wID0gJ3N0eWxlRmxvYXQnOwogICAgICB9CiAgICAgIGlmIChnZXRDb21wdXRlZFN0eWxlUlgudGVzdChwcm9wKSkgewogICAgICAgIHByb3AucmVwbGFjZShnZXRDb21wdXRlZFN0eWxlUlgsIGZ1bmN0aW9uKF8sIF9jaGFyKSB7CiAgICAgICAgICByZXR1cm4gX2NoYXIudG9VcHBlckNhc2UoKTsKICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gKChyZWYgPSBlbC5jdXJyZW50U3R5bGUpICE9IG51bGwgPyByZWZbcHJvcF0gOiB2b2lkIDApIHx8IG51bGw7CiAgICB9OwogICAgcmV0dXJuIHRoaXM7CiAgfTsKCiAgZ2V0Q29tcHV0ZWRTdHlsZVJYID0gLyhcLShbYS16XSl7MX0pL2c7CgogIHRoaXMuV09XID0gKGZ1bmN0aW9uKCkgewogICAgV09XLnByb3RvdHlwZS5kZWZhdWx0cyA9IHsKICAgICAgYm94Q2xhc3M6ICd3b3cnLAogICAgICBhbmltYXRlQ2xhc3M6ICdhbmltYXRlZCcsCiAgICAgIG9mZnNldDogMCwKICAgICAgbW9iaWxlOiB0cnVlLAogICAgICBsaXZlOiB0cnVlLAogICAgICBjYWxsYmFjazogbnVsbCwKICAgICAgc2Nyb2xsQ29udGFpbmVyOiBudWxsCiAgICB9OwoKICAgIGZ1bmN0aW9uIFdPVyhvcHRpb25zKSB7CiAgICAgIGlmIChvcHRpb25zID09IG51bGwpIHsKICAgICAgICBvcHRpb25zID0ge307CiAgICAgIH0KICAgICAgdGhpcy5zY3JvbGxDYWxsYmFjayA9IGJpbmQodGhpcy5zY3JvbGxDYWxsYmFjaywgdGhpcyk7CiAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IGJpbmQodGhpcy5zY3JvbGxIYW5kbGVyLCB0aGlzKTsKICAgICAgdGhpcy5yZXNldEFuaW1hdGlvbiA9IGJpbmQodGhpcy5yZXNldEFuaW1hdGlvbiwgdGhpcyk7CiAgICAgIHRoaXMuc3RhcnQgPSBiaW5kKHRoaXMuc3RhcnQsIHRoaXMpOwogICAgICB0aGlzLnNjcm9sbGVkID0gdHJ1ZTsKICAgICAgdGhpcy5jb25maWcgPSB0aGlzLnV0aWwoKS5leHRlbmQob3B0aW9ucywgdGhpcy5kZWZhdWx0cyk7CiAgICAgIGlmIChvcHRpb25zLnNjcm9sbENvbnRhaW5lciAhPSBudWxsKSB7CiAgICAgICAgdGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihvcHRpb25zLnNjcm9sbENvbnRhaW5lcik7CiAgICAgIH0KICAgICAgdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUgPSBuZXcgV2Vha01hcCgpOwogICAgICB0aGlzLndvd0V2ZW50ID0gdGhpcy51dGlsKCkuY3JlYXRlRXZlbnQodGhpcy5jb25maWcuYm94Q2xhc3MpOwogICAgfQoKICAgIFdPVy5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgcmVmOwogICAgICB0aGlzLmVsZW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwogICAgICBpZiAoKHJlZiA9IGRvY3VtZW50LnJlYWR5U3RhdGUpID09PSAiaW50ZXJhY3RpdmUiIHx8IHJlZiA9PT0gImNvbXBsZXRlIikgewogICAgICAgIHRoaXMuc3RhcnQoKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnV0aWwoKS5hZGRFdmVudChkb2N1bWVudCwgJ0RPTUNvbnRlbnRMb2FkZWQnLCB0aGlzLnN0YXJ0KTsKICAgICAgfQogICAgICByZXR1cm4gdGhpcy5maW5pc2hlZCA9IFtdOwogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLnN0YXJ0ID0gZnVuY3Rpb24oKSB7CiAgICAgIHZhciBib3gsIGosIGxlbiwgcmVmOwogICAgICB0aGlzLnN0b3BwZWQgPSBmYWxzZTsKICAgICAgdGhpcy5ib3hlcyA9IChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgaiwgbGVuLCByZWYsIHJlc3VsdHM7CiAgICAgICAgcmVmID0gdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi4iICsgdGhpcy5jb25maWcuYm94Q2xhc3MpOwogICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgICBmb3IgKGogPSAwLCBsZW4gPSByZWYubGVuZ3RoOyBqIDwgbGVuOyBqKyspIHsKICAgICAgICAgIGJveCA9IHJlZltqXTsKICAgICAgICAgIHJlc3VsdHMucHVzaChib3gpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0czsKICAgICAgfSkuY2FsbCh0aGlzKTsKICAgICAgdGhpcy5hbGwgPSAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGosIGxlbiwgcmVmLCByZXN1bHRzOwogICAgICAgIHJlZiA9IHRoaXMuYm94ZXM7CiAgICAgICAgcmVzdWx0cyA9IFtdOwogICAgICAgIGZvciAoaiA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGogPCBsZW47IGorKykgewogICAgICAgICAgYm94ID0gcmVmW2pdOwogICAgICAgICAgcmVzdWx0cy5wdXNoKGJveCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXN1bHRzOwogICAgICB9KS5jYWxsKHRoaXMpOwogICAgICBpZiAodGhpcy5ib3hlcy5sZW5ndGgpIHsKICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7CiAgICAgICAgICB0aGlzLnJlc2V0U3R5bGUoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmVmID0gdGhpcy5ib3hlczsKICAgICAgICAgIGZvciAoaiA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGogPCBsZW47IGorKykgewogICAgICAgICAgICBib3ggPSByZWZbal07CiAgICAgICAgICAgIHRoaXMuYXBwbHlTdHlsZShib3gsIHRydWUpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkgewogICAgICAgIHRoaXMudXRpbCgpLmFkZEV2ZW50KHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciB8fCB3aW5kb3csICdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpOwogICAgICAgIHRoaXMudXRpbCgpLmFkZEV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScsIHRoaXMuc2Nyb2xsSGFuZGxlcik7CiAgICAgICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKHRoaXMuc2Nyb2xsQ2FsbGJhY2ssIDUwKTsKICAgICAgfQogICAgICBpZiAodGhpcy5jb25maWcubGl2ZSkgewogICAgICAgIHJldHVybiBuZXcgTXV0YXRpb25PYnNlcnZlcigoZnVuY3Rpb24oX3RoaXMpIHsKICAgICAgICAgIHJldHVybiBmdW5jdGlvbihyZWNvcmRzKSB7CiAgICAgICAgICAgIHZhciBrLCBsZW4xLCBub2RlLCByZWNvcmQsIHJlc3VsdHM7CiAgICAgICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgICAgICAgZm9yIChrID0gMCwgbGVuMSA9IHJlY29yZHMubGVuZ3RoOyBrIDwgbGVuMTsgaysrKSB7CiAgICAgICAgICAgICAgcmVjb3JkID0gcmVjb3Jkc1trXTsKICAgICAgICAgICAgICByZXN1bHRzLnB1c2goKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGwsIGxlbjIsIHJlZjEsIHJlc3VsdHMxOwogICAgICAgICAgICAgICAgcmVmMSA9IHJlY29yZC5hZGRlZE5vZGVzIHx8IFtdOwogICAgICAgICAgICAgICAgcmVzdWx0czEgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAobCA9IDAsIGxlbjIgPSByZWYxLmxlbmd0aDsgbCA8IGxlbjI7IGwrKykgewogICAgICAgICAgICAgICAgICBub2RlID0gcmVmMVtsXTsKICAgICAgICAgICAgICAgICAgcmVzdWx0czEucHVzaCh0aGlzLmRvU3luYyhub2RlKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0czE7CiAgICAgICAgICAgICAgfSkuY2FsbChfdGhpcykpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiByZXN1bHRzOwogICAgICAgICAgfTsKICAgICAgICB9KSh0aGlzKSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7CiAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsCiAgICAgICAgICBzdWJ0cmVlOiB0cnVlCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH07CgogICAgV09XLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CiAgICAgIHRoaXMuc3RvcHBlZCA9IHRydWU7CiAgICAgIHRoaXMudXRpbCgpLnJlbW92ZUV2ZW50KHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciB8fCB3aW5kb3csICdzY3JvbGwnLCB0aGlzLnNjcm9sbEhhbmRsZXIpOwogICAgICB0aGlzLnV0aWwoKS5yZW1vdmVFdmVudCh3aW5kb3csICdyZXNpemUnLCB0aGlzLnNjcm9sbEhhbmRsZXIpOwogICAgICBpZiAodGhpcy5pbnRlcnZhbCAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7CiAgICAgIH0KICAgIH07CgogICAgV09XLnByb3RvdHlwZS5zeW5jID0gZnVuY3Rpb24oZWxlbWVudCkgewogICAgICBpZiAoTXV0YXRpb25PYnNlcnZlci5ub3RTdXBwb3J0ZWQpIHsKICAgICAgICByZXR1cm4gdGhpcy5kb1N5bmModGhpcy5lbGVtZW50KTsKICAgICAgfQogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLmRvU3luYyA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgdmFyIGJveCwgaiwgbGVuLCByZWYsIHJlc3VsdHM7CiAgICAgIGlmIChlbGVtZW50ID09IG51bGwpIHsKICAgICAgICBlbGVtZW50ID0gdGhpcy5lbGVtZW50OwogICAgICB9CiAgICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9PSAxKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGUgfHwgZWxlbWVudDsKICAgICAgcmVmID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIiArIHRoaXMuY29uZmlnLmJveENsYXNzKTsKICAgICAgcmVzdWx0cyA9IFtdOwogICAgICBmb3IgKGogPSAwLCBsZW4gPSByZWYubGVuZ3RoOyBqIDwgbGVuOyBqKyspIHsKICAgICAgICBib3ggPSByZWZbal07CiAgICAgICAgaWYgKGluZGV4T2YuY2FsbCh0aGlzLmFsbCwgYm94KSA8IDApIHsKICAgICAgICAgIHRoaXMuYm94ZXMucHVzaChib3gpOwogICAgICAgICAgdGhpcy5hbGwucHVzaChib3gpOwogICAgICAgICAgaWYgKHRoaXMuc3RvcHBlZCB8fCB0aGlzLmRpc2FibGVkKCkpIHsKICAgICAgICAgICAgdGhpcy5yZXNldFN0eWxlKCk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLmFwcGx5U3R5bGUoYm94LCB0cnVlKTsKICAgICAgICAgIH0KICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlzLnNjcm9sbGVkID0gdHJ1ZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJlc3VsdHMucHVzaCh2b2lkIDApOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5zaG93ID0gZnVuY3Rpb24oYm94KSB7CiAgICAgIHRoaXMuYXBwbHlTdHlsZShib3gpOwogICAgICBib3guY2xhc3NOYW1lID0gYm94LmNsYXNzTmFtZSArICIgIiArIHRoaXMuY29uZmlnLmFuaW1hdGVDbGFzczsKICAgICAgaWYgKHRoaXMuY29uZmlnLmNhbGxiYWNrICE9IG51bGwpIHsKICAgICAgICB0aGlzLmNvbmZpZy5jYWxsYmFjayhib3gpOwogICAgICB9CiAgICAgIHRoaXMudXRpbCgpLmVtaXRFdmVudChib3gsIHRoaXMud293RXZlbnQpOwogICAgICB0aGlzLnV0aWwoKS5hZGRFdmVudChib3gsICdhbmltYXRpb25lbmQnLCB0aGlzLnJlc2V0QW5pbWF0aW9uKTsKICAgICAgdGhpcy51dGlsKCkuYWRkRXZlbnQoYm94LCAnb2FuaW1hdGlvbmVuZCcsIHRoaXMucmVzZXRBbmltYXRpb24pOwogICAgICB0aGlzLnV0aWwoKS5hZGRFdmVudChib3gsICd3ZWJraXRBbmltYXRpb25FbmQnLCB0aGlzLnJlc2V0QW5pbWF0aW9uKTsKICAgICAgdGhpcy51dGlsKCkuYWRkRXZlbnQoYm94LCAnTVNBbmltYXRpb25FbmQnLCB0aGlzLnJlc2V0QW5pbWF0aW9uKTsKICAgICAgcmV0dXJuIGJveDsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5hcHBseVN0eWxlID0gZnVuY3Rpb24oYm94LCBoaWRkZW4pIHsKICAgICAgdmFyIGRlbGF5LCBkdXJhdGlvbiwgaXRlcmF0aW9uOwogICAgICBkdXJhdGlvbiA9IGJveC5nZXRBdHRyaWJ1dGUoJ2RhdGEtd293LWR1cmF0aW9uJyk7CiAgICAgIGRlbGF5ID0gYm94LmdldEF0dHJpYnV0ZSgnZGF0YS13b3ctZGVsYXknKTsKICAgICAgaXRlcmF0aW9uID0gYm94LmdldEF0dHJpYnV0ZSgnZGF0YS13b3ctaXRlcmF0aW9uJyk7CiAgICAgIHJldHVybiB0aGlzLmFuaW1hdGUoKGZ1bmN0aW9uKF90aGlzKSB7CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgcmV0dXJuIF90aGlzLmN1c3RvbVN0eWxlKGJveCwgaGlkZGVuLCBkdXJhdGlvbiwgZGVsYXksIGl0ZXJhdGlvbik7CiAgICAgICAgfTsKICAgICAgfSkodGhpcykpOwogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLmFuaW1hdGUgPSAoZnVuY3Rpb24oKSB7CiAgICAgIGlmICgncmVxdWVzdEFuaW1hdGlvbkZyYW1lJyBpbiB3aW5kb3cpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24oY2FsbGJhY2spIHsKICAgICAgICAgIHJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNhbGxiYWNrKTsKICAgICAgICB9OwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBmdW5jdGlvbihjYWxsYmFjaykgewogICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgfTsKICAgICAgfQogICAgfSkoKTsKCiAgICBXT1cucHJvdG90eXBlLnJlc2V0U3R5bGUgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIGJveCwgaiwgbGVuLCByZWYsIHJlc3VsdHM7CiAgICAgIHJlZiA9IHRoaXMuYm94ZXM7CiAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgZm9yIChqID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgaiA8IGxlbjsgaisrKSB7CiAgICAgICAgYm94ID0gcmVmW2pdOwogICAgICAgIHJlc3VsdHMucHVzaChib3guc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJyk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgICB9OwoKICAgIFdPVy5wcm90b3R5cGUucmVzZXRBbmltYXRpb24gPSBmdW5jdGlvbihldmVudCkgewogICAgICB2YXIgdGFyZ2V0OwogICAgICBpZiAoZXZlbnQudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2FuaW1hdGlvbmVuZCcpID49IDApIHsKICAgICAgICB0YXJnZXQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudDsKICAgICAgICByZXR1cm4gdGFyZ2V0LmNsYXNzTmFtZSA9IHRhcmdldC5jbGFzc05hbWUucmVwbGFjZSh0aGlzLmNvbmZpZy5hbmltYXRlQ2xhc3MsICcnKS50cmltKCk7CiAgICAgIH0KICAgIH07CgogICAgV09XLnByb3RvdHlwZS5jdXN0b21TdHlsZSA9IGZ1bmN0aW9uKGJveCwgaGlkZGVuLCBkdXJhdGlvbiwgZGVsYXksIGl0ZXJhdGlvbikgewogICAgICBpZiAoaGlkZGVuKSB7CiAgICAgICAgdGhpcy5jYWNoZUFuaW1hdGlvbk5hbWUoYm94KTsKICAgICAgfQogICAgICBib3guc3R5bGUudmlzaWJpbGl0eSA9IGhpZGRlbiA/ICdoaWRkZW4nIDogJ3Zpc2libGUnOwogICAgICBpZiAoZHVyYXRpb24pIHsKICAgICAgICB0aGlzLnZlbmRvclNldChib3guc3R5bGUsIHsKICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiBkdXJhdGlvbgogICAgICAgIH0pOwogICAgICB9CiAgICAgIGlmIChkZWxheSkgewogICAgICAgIHRoaXMudmVuZG9yU2V0KGJveC5zdHlsZSwgewogICAgICAgICAgYW5pbWF0aW9uRGVsYXk6IGRlbGF5CiAgICAgICAgfSk7CiAgICAgIH0KICAgICAgaWYgKGl0ZXJhdGlvbikgewogICAgICAgIHRoaXMudmVuZG9yU2V0KGJveC5zdHlsZSwgewogICAgICAgICAgYW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6IGl0ZXJhdGlvbgogICAgICAgIH0pOwogICAgICB9CiAgICAgIHRoaXMudmVuZG9yU2V0KGJveC5zdHlsZSwgewogICAgICAgIGFuaW1hdGlvbk5hbWU6IGhpZGRlbiA/ICdub25lJyA6IHRoaXMuY2FjaGVkQW5pbWF0aW9uTmFtZShib3gpCiAgICAgIH0pOwogICAgICByZXR1cm4gYm94OwogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLnZlbmRvcnMgPSBbIm1veiIsICJ3ZWJraXQiXTsKCiAgICBXT1cucHJvdG90eXBlLnZlbmRvclNldCA9IGZ1bmN0aW9uKGVsZW0sIHByb3BlcnRpZXMpIHsKICAgICAgdmFyIG5hbWUsIHJlc3VsdHMsIHZhbHVlLCB2ZW5kb3I7CiAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgZm9yIChuYW1lIGluIHByb3BlcnRpZXMpIHsKICAgICAgICB2YWx1ZSA9IHByb3BlcnRpZXNbbmFtZV07CiAgICAgICAgZWxlbVsiIiArIG5hbWVdID0gdmFsdWU7CiAgICAgICAgcmVzdWx0cy5wdXNoKChmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciBqLCBsZW4sIHJlZiwgcmVzdWx0czE7CiAgICAgICAgICByZWYgPSB0aGlzLnZlbmRvcnM7CiAgICAgICAgICByZXN1bHRzMSA9IFtdOwogICAgICAgICAgZm9yIChqID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgaiA8IGxlbjsgaisrKSB7CiAgICAgICAgICAgIHZlbmRvciA9IHJlZltqXTsKICAgICAgICAgICAgcmVzdWx0czEucHVzaChlbGVtWyIiICsgdmVuZG9yICsgKG5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkpICsgKG5hbWUuc3Vic3RyKDEpKV0gPSB2YWx1ZSk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcmVzdWx0czE7CiAgICAgICAgfSkuY2FsbCh0aGlzKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgICB9OwoKICAgIFdPVy5wcm90b3R5cGUudmVuZG9yQ1NTID0gZnVuY3Rpb24oZWxlbSwgcHJvcGVydHkpIHsKICAgICAgdmFyIGosIGxlbiwgcmVmLCByZXN1bHQsIHN0eWxlLCB2ZW5kb3I7CiAgICAgIHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKTsKICAgICAgcmVzdWx0ID0gc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eSk7CiAgICAgIHJlZiA9IHRoaXMudmVuZG9yczsKICAgICAgZm9yIChqID0gMCwgbGVuID0gcmVmLmxlbmd0aDsgaiA8IGxlbjsgaisrKSB7CiAgICAgICAgdmVuZG9yID0gcmVmW2pdOwogICAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCItIiArIHZlbmRvciArICItIiArIHByb3BlcnR5KTsKICAgICAgfQogICAgICByZXR1cm4gcmVzdWx0OwogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLmFuaW1hdGlvbk5hbWUgPSBmdW5jdGlvbihib3gpIHsKICAgICAgdmFyIGFuaW1hdGlvbk5hbWU7CiAgICAgIHRyeSB7CiAgICAgICAgYW5pbWF0aW9uTmFtZSA9IHRoaXMudmVuZG9yQ1NTKGJveCwgJ2FuaW1hdGlvbi1uYW1lJykuY3NzVGV4dDsKICAgICAgfSBjYXRjaCAoX2Vycm9yKSB7CiAgICAgICAgYW5pbWF0aW9uTmFtZSA9IGdldENvbXB1dGVkU3R5bGUoYm94KS5nZXRQcm9wZXJ0eVZhbHVlKCdhbmltYXRpb24tbmFtZScpOwogICAgICB9CiAgICAgIGlmIChhbmltYXRpb25OYW1lID09PSAnbm9uZScpIHsKICAgICAgICByZXR1cm4gJyc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGFuaW1hdGlvbk5hbWU7CiAgICAgIH0KICAgIH07CgogICAgV09XLnByb3RvdHlwZS5jYWNoZUFuaW1hdGlvbk5hbWUgPSBmdW5jdGlvbihib3gpIHsKICAgICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChib3gsIHRoaXMuYW5pbWF0aW9uTmFtZShib3gpKTsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5jYWNoZWRBbmltYXRpb25OYW1lID0gZnVuY3Rpb24oYm94KSB7CiAgICAgIHJldHVybiB0aGlzLmFuaW1hdGlvbk5hbWVDYWNoZS5nZXQoYm94KTsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5zY3JvbGxIYW5kbGVyID0gZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiB0aGlzLnNjcm9sbGVkID0gdHJ1ZTsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5zY3JvbGxDYWxsYmFjayA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgYm94OwogICAgICBpZiAodGhpcy5zY3JvbGxlZCkgewogICAgICAgIHRoaXMuc2Nyb2xsZWQgPSBmYWxzZTsKICAgICAgICB0aGlzLmJveGVzID0gKGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGosIGxlbiwgcmVmLCByZXN1bHRzOwogICAgICAgICAgcmVmID0gdGhpcy5ib3hlczsKICAgICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgICAgIGZvciAoaiA9IDAsIGxlbiA9IHJlZi5sZW5ndGg7IGogPCBsZW47IGorKykgewogICAgICAgICAgICBib3ggPSByZWZbal07CiAgICAgICAgICAgIGlmICghKGJveCkpIHsKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUoYm94KSkgewogICAgICAgICAgICAgIHRoaXMuc2hvdyhib3gpOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlc3VsdHMucHVzaChib3gpOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgICAgICAgfSkuY2FsbCh0aGlzKTsKICAgICAgICBpZiAoISh0aGlzLmJveGVzLmxlbmd0aCB8fCB0aGlzLmNvbmZpZy5saXZlKSkgewogICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcCgpOwogICAgICAgIH0KICAgICAgfQogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLm9mZnNldFRvcCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgdmFyIHRvcDsKICAgICAgd2hpbGUgKGVsZW1lbnQub2Zmc2V0VG9wID09PSB2b2lkIDApIHsKICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlOwogICAgICB9CiAgICAgIHRvcCA9IGVsZW1lbnQub2Zmc2V0VG9wOwogICAgICB3aGlsZSAoZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50KSB7CiAgICAgICAgdG9wICs9IGVsZW1lbnQub2Zmc2V0VG9wOwogICAgICB9CiAgICAgIHJldHVybiB0b3A7CiAgICB9OwoKICAgIFdPVy5wcm90b3R5cGUuaXNWaXNpYmxlID0gZnVuY3Rpb24oYm94KSB7CiAgICAgIHZhciBib3R0b20sIG9mZnNldCwgdG9wLCB2aWV3Qm90dG9tLCB2aWV3VG9wOwogICAgICBvZmZzZXQgPSBib3guZ2V0QXR0cmlidXRlKCdkYXRhLXdvdy1vZmZzZXQnKSB8fCB0aGlzLmNvbmZpZy5vZmZzZXQ7CiAgICAgIHZpZXdUb3AgPSAodGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyICYmIHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3ApIHx8IHdpbmRvdy5wYWdlWU9mZnNldDsKICAgICAgdmlld0JvdHRvbSA9IHZpZXdUb3AgKyBNYXRoLm1pbih0aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0LCB0aGlzLnV0aWwoKS5pbm5lckhlaWdodCgpKSAtIG9mZnNldDsKICAgICAgdG9wID0gdGhpcy5vZmZzZXRUb3AoYm94KTsKICAgICAgYm90dG9tID0gdG9wICsgYm94LmNsaWVudEhlaWdodDsKICAgICAgcmV0dXJuIHRvcCA8PSB2aWV3Qm90dG9tICYmIGJvdHRvbSA+PSB2aWV3VG9wOwogICAgfTsKCiAgICBXT1cucHJvdG90eXBlLnV0aWwgPSBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuX3V0aWwgIT0gbnVsbCA/IHRoaXMuX3V0aWwgOiB0aGlzLl91dGlsID0gbmV3IFV0aWwoKTsKICAgIH07CgogICAgV09XLnByb3RvdHlwZS5kaXNhYmxlZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gIXRoaXMuY29uZmlnLm1vYmlsZSAmJiB0aGlzLnV0aWwoKS5pc01vYmlsZShuYXZpZ2F0b3IudXNlckFnZW50KTsKICAgIH07CgogICAgcmV0dXJuIFdPVzsKCiAgfSkoKTsKCn0pLmNhbGwodGhpcyk7Cg=="}},"time_used":539,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":539,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/calculator.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.849Z","timestamp":1785136421849,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/calculator.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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 200 \r\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 502\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":3045,"size_decoded":900,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"ffbcfaba5e2e1c42e300f0c8e2b409d7","sha1":"4ec29be891527ebdae23f1143db01a6614cfdb31","sha256":"1e8a113515bcc3f1250d81b2d6c6853b16f054a5d0e331a640166d8b219bffd6","sha512":"0af9d371832abd0f4668fad09bb32ba19d03dccdfc8d84c93a69329d27cfd918c239bd2485b0fa42e06d6e8dd3a6c644a9a1bc0ce97059ac94cdef95e0f9a2a6","ssdeep":"","tlshash":"1351751eaf8c21c45099a063950691f0653de57f8874ede27cc7ca28ecc81e7b5e9e89","first_seen":"2025-12-03T04:46:43.719699Z","last_seen":"2026-07-29T06:14:00.415998Z","times_seen":10,"resource_available":true,"data":"JChmdW5jdGlvbigpewoKCWNhbGMoKTsKCgkkKCcjY2FsY19wbGFuJykub24oJ2NoYW5nZScsIGNhbGMpOwoJJCgnI2ludl9hbW91bnQnKS5iaW5kKCdjaGFuZ2Uga2V5dXAnLCBjYWxjKS5vbigna2V5cHJlc3MnLCBpc051bWJlcktleSk7Cgp9KTsKCmZ1bmN0aW9uIGlzTnVtYmVyS2V5KGV2dCkgewoJdmFyIGNoYXJDb2RlID0gKGV2dC53aGljaCkgPyBldnQud2hpY2ggOiBldmVudC5rZXlDb2RlOwoJaWYgKGNoYXJDb2RlID4gMzEgJiYgKGNoYXJDb2RlIDwgNDUgfHwgY2hhckNvZGUgPiA1NykpCgkJcmV0dXJuIGZhbHNlOwoJcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGNhbGMoKSB7CgoJdmFyIHBsYW4gPSAkKCcjY2FsY19wbGFuJykudmFsKCk7Cgl2YXIgYW1vdW50ID0gJCgnI2ludl9hbW91bnQnKS52YWwoKTsKCXZhciBwZXJjZW50OwoKCXN3aXRjaCAocGxhbikgewoJCWNhc2UgJzEnOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDwxMCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ+MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PD0yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDE2MDsKCQkJCQlicmVhazsJCgoJCQkgICBkZWZhdWx0OgoJCQkJCXBlcmNlbnQgPSAwOwoJCQl9CgkJCWJyZWFrOwoJCWNhc2UgJzInOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDwxMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PjIwMDAwKToKCQkJCQlwZXJjZW50ID0gMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgKGFtb3VudDw9MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAxNTA7CgkJCQkJYnJlYWs7CQoJCQkJCQoJCQkJCgoJCgkJCQkJCgkJCSAgIGRlZmF1bHQ6CgkJCQkJcGVyY2VudCA9IDA7CgkJCX0KCQkJYnJlYWs7CgkJY2FzZSAnMyc6CgkJCXN3aXRjaCAodHJ1ZSkgewoJCQkJY2FzZSAoYW1vdW50PDMwMCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ+MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PD0yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDE3NTsKCQkJCQlicmVhazsJCgkJCQkKCQkJCQkKCQkJICAgZGVmYXVsdDoKCQkJCQlwZXJjZW50ID0gMDsKCQkJfQoJCQlicmVhazsKCQkJCgkJCWNhc2UgJzQnOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDwyMCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ+MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PD0yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDI1MDsKCQkJCQlicmVhazsJCgkJCQkJCgkJCSAgIGRlZmF1bHQ6CgkJCQkJcGVyY2VudCA9IDA7CgkJCX0KCQkJYnJlYWs7CgkJCQoJCQkKCQkJCgkJCWNhc2UgJzUnOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDw1MDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PjIwMDAwKToKCQkJCQlwZXJjZW50ID0gMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgKGFtb3VudDw9MjAwMDApOgoJCQkJCXBlcmNlbnQgPSA0MDA7CgkJCQkJYnJlYWs7CQoJCQkJCgkJCQkJCgkJCSAgIGRlZmF1bHQ6CgkJCQkJcGVyY2VudCA9IDA7CgkJCX0KCQkJYnJlYWs7CgkJCQoJCQkKCQkJY2FzZSAnNic6CgkJCXN3aXRjaCAodHJ1ZSkgewoJCQkJY2FzZSAoYW1vdW50PDEwKToKCQkJCQlwZXJjZW50ID0gMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgKGFtb3VudD4yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ8PTIwMDAwKToKCQkJCQlwZXJjZW50ID0gMTAyOwoJCQkJCWJyZWFrOwkKCQkJCQoJCQkJCQoJCQkgICBkZWZhdWx0OgoJCQkJCXBlcmNlbnQgPSAwOwoJCQl9CgkJCWJyZWFrOwoJCQkKCQkJCgkJCWNhc2UgJzcnOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDw1MCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ+MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PD0yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDExNTsKCQkJCQlicmVhazsJCgkJCQkKCQkJCQkKCQkJICAgZGVmYXVsdDoKCQkJCQlwZXJjZW50ID0gMDsKCQkJfQoJCQlicmVhazsKCQkJCgkJCQoJCQljYXNlICc4JzoKCQkJc3dpdGNoICh0cnVlKSB7CgkJCQljYXNlIChhbW91bnQ8MTAwKToKCQkJCQlwZXJjZW50ID0gMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgKGFtb3VudD4yMDAwMCk6CgkJCQkJcGVyY2VudCA9IDA7CgkJCQkJYnJlYWs7CgkJCQljYXNlIChhbW91bnQ8PTIwMDAwKToKCQkJCQlwZXJjZW50ID0gMTQwOwoJCQkJCWJyZWFrOwkKCQkJCQoJCQkJCQoJCQkgICBkZWZhdWx0OgoJCQkJCXBlcmNlbnQgPSAwOwoJCQl9CgkJCWJyZWFrOwoJCQkKCQkJCgkJCWNhc2UgJzknOgoJCQlzd2l0Y2ggKHRydWUpIHsKCQkJCWNhc2UgKGFtb3VudDwyMDApOgoJCQkJCXBlcmNlbnQgPSAwOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAoYW1vdW50PjIwMDAwKToKCQkJCQlwZXJjZW50ID0gMDsKCQkJCQlicmVhazsKCQkJCWNhc2UgKGFtb3VudDw9MjAwMDApOgoJCQkJCXBlcmNlbnQgPSAxODA7CgkJCQkJYnJlYWs7CQoJCQkJCgkJCQkJCgkJCSAgIGRlZmF1bHQ6CgkJCQkJcGVyY2VudCA9IDA7CgkJCX0KCQkJYnJlYWs7Cgl9CgokKCcjYXNzaWduX3BlcicpLnRleHQocGVyY2VudCsnJScpOwoJdmFyIHRvdGFsID0gYW1vdW50KnBlcmNlbnQvMTAwOwoJJCgnI3RvdGFsX3JldHVybicpLnRleHQoJyQnK3RvdGFsLnRvRml4ZWQoMikpOwoJCglpZih0b3RhbCA8PSAwKXsKCQkkKCcjbmV0X3Byb2ZpdCcpLnRleHQoJzAuMDAnKTsKCX1lbHNlewoJCSQoJyNuZXRfcHJvZml0JykudGV4dCgnJCcrKHRvdGFsLWFtb3VudCkudG9GaXhlZCgyKSk7Cgl9CgkKCQoJCgp9"}},"time_used":534,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":534,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/menu.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.292Z","timestamp":1785136427292,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/menu.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-length: 179165\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":179165,"size_decoded":179508,"mime_type":"image/png","magic":"PNG image data, 1920 x 85, 8-bit/color RGB, non-interlaced","md5":"c67c70869ece9ccac13f8f0664ad588b","sha1":"244722ed8c653e35f5f718b14f9f944fb9072b46","sha256":"df209ec32a2b986333e819a8be5c0f30ae10582d6ce6823ab98e3649fc2d7dde","sha512":"84632863bf85da93987aba98fe0cb37a2796b2670d8ee85f0624ac016b734340a3c24e56de454824ef4adbc84e77db72d1b0304a022060e25df2d5c8db0172e4","ssdeep":"3072:vPQ9C0YNZm+5YVH+Wqj935KWSs/GF+p+g1FaymLBF8vfGkL91lPtLqr:vI9Czm+5YVeWqZ3JSssy+gCbWuI1lPt+","tlshash":"f9042264fa4c7f9c8a7b4d70c108bc58f7a5a0fa0261ac3d1c75b9894daed4769234e3","first_seen":"2026-07-27T04:30:37.013333Z","last_seen":"2026-07-29T06:14:00.376632Z","times_seen":6,"resource_available":false,"data":"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"}},"time_used":537,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":181,"receive":356,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/31837.d368caa64d494a4087cc.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.705Z","timestamp":1785136427705,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/31837.d368caa64d494a4087cc.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-5656\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f4527af3242f7316ac70412781608e2e\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":22102,"size_decoded":4305,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (22102), with no line terminators","md5":"723a7e925325b3ef2a66b0c084a39bdd","sha1":"6a1663dea4b2b18ff687ee9767a12412fb13768d","sha256":"8eb306a311580ce73c3d612ed0ae486994b351a828db7b8fb04c56c89824ba82","sha512":"c0282c69a16641bab7619996a69102f8dc69001ea8a81a80217b27e27aedc0c796accdbf3990fcb955facdc82faa2cb8b455065be32e8d0c3ca62c73e94d5c22","ssdeep":"192:9n/er85dIvw/pxhIJmhxiDmCtskjYzbgwH:1mQz3vgwH","tlshash":"65a236ebed91d7aeeb075f39035a9d2877519dc28a103f5ab221d0c106e2af5607f603","first_seen":"2026-03-24T10:46:27.371959Z","last_seen":"2026-08-11T04:45:48.7961Z","times_seen":1345,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"time_used":73,"timings":{"blocked":-1,"dns":30,"connect":2,"send":0,"wait":9,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/6636.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.694Z","timestamp":1785136428694,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/6636.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1745\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 23 Dec 2025 07:43:14 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:13:57 GMT\r\ncache-control: public, max-age=86400\r\netag: \"9354a310aca2467883088a4c17693018\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86392\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: gDsdiLBr9AG291597xNh4a-A45NHC1-AaH9RRi5XHyPWvnJIkXt25A==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":1745,"size_decoded":2317,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"9354a310aca2467883088a4c17693018","sha1":"8b68d24379142124633ae339e148c3db3baa73e8","sha256":"66498e82dee76d44bd12f5517f74785af51b6c23c7895fe18684ac914abf33c1","sha512":"597efe5d74e6c66063f06724931aec73e4edb064bc939ed48618af592bd8b602694ad04a1534c816ce8c334d6711affc474f99f45f0338919a7a5413eea29966","ssdeep":"","tlshash":"6f31c5d01452a47bb1030b9196bfc6b14e7024f800ced7bc946a48d273399ba78960a4","first_seen":"2025-12-23T14:18:57.776197Z","last_seen":"2026-08-11T04:47:30.039422Z","times_seen":1598,"resource_available":false,"data":"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"}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/13502.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.699Z","timestamp":1785136428699,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/13502.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 847\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 24 Jul 2023 06:55:18 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:09:42 GMT\r\netag: \"0c8f6da4c5d03b754a4df9ebea16f241\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11047\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 7Na5qS_h9w5YSJCSzUfjkMXsjPNlbOB0kLtAUIHmg4QY1hGdZAfZNQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":847,"size_decoded":1380,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0c8f6da4c5d03b754a4df9ebea16f241","sha1":"a2c42f2f1e6e5a38f636ea4760069a0fab9bcb49","sha256":"9688dadf1285bb7105ace26c57f29a17b5c95f3fa993efd9c303809f7435e631","sha512":"df1fba179044b01e8c56a3b117cee577072dadfdd2c89a9efa25c5ee9d39dc42b0fffbccfd3704cbae11461ed7c23178e8ee27b0781f975bc7f6c1503d020ae8","ssdeep":"","tlshash":"5a01d675ad492970991ada2f098702fecb73027e138880347e33b5c0bd7c0a23873883","first_seen":"2023-11-19T03:02:16Z","last_seen":"2026-08-11T04:47:30.075755Z","times_seen":1274,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADFklEQVR4XuWYbXXkMAxFH4RCCIRCMISFEAgLYSEUQiAUwkJYCIZQBt2qZ5xxnxJbnsQfc3LPuX8cSZYTZ5IJ0IaXL5cvP41K7NPzDr2wR5VaT4FcaW7+bGWO4XDQjdbWYQA8dGOt9ehAi61e6oRG/IOe3KLkOeRxODZHVRboSVPOknSQGbpuykWSavABPdmeteB59pReT8W6eHeLr4mDnnfL006CZfE+BDfEQ/fBHj4JC3RR9jUEd0Dm5n7YJQSXkvslPnx2TyS3S4ufDhN0kUMFG5C7YC/30DycHHv0yr9B12ylCQ+dWFyEmKDr9NDDACfFFm0jjPnKnMRBJwT9GmUj98PUS4cEHBxbAueO5iap7Trdw7Jw7ohu3socFGuF8/b8HRIqw/PGKjhgN3AHyz3vQnBDuIfNdb1HB1gLE3Qe2wvuIyhrzgb9ioMScF5s77fGGbqn4AofUAEJHHReaY3acE8/ekv9+lvgnNL8FnBfwe+nwbJxQPwrBw1wXvA1DuqM3Ibcn7jIQR4sWcAf6LzgSDjo/tY+eaBkAZwTtP54toR7XNfJA1dTDVxNNXA11cDVVANXUw1cTTWwHjDAOUEXxYwC97iukwdKFiH/6zlvLTwQDrq/tc9lY1D0ctAA5wWnKKY3yVfhK/8ZsgckcNB5pTVqwz2p3vhAcI5iUnBe7FN8EDn6SSx1G5XUqQH3EfzxSUzggNLGP6BzWReCG8I97K6LA5LBO3DenvMtvjY8b6witY3dPSwL547o96ewLTgwtgTOHc1dHHRw0K9RNjx0jRF0yMAJsdM9zETqtuplFg+dVFRggwm6Tg89jHBirDzujvAGXbOVZnJbt/fb3RZ7f3iC0xppJFfw6E44Ew/dX+zDF2yBLsZOt9ge5HaquITgR7G84voQ3JDcDhVP26WWkyC6W3xNJuh5tzxt8QHrSRBrwfPsefriAwv0ZClnSTrIDF035SJJNbHce1tKnkMeh2NzNGGCnry38kRojodupLUeA+CgG6utw4BYXkyO2mWrP8I7dPOPKrWengV6YXtKbJMr/R/9MHMSOJNdKwAAAABJRU5ErkJggg=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/62600.6106356cb816fb74b17b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.208Z","timestamp":1785136429208,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/62600.6106356cb816fb74b17b.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-146d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:35\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8f9607e6cffc72e1a6ad089f1620e227\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5229,"size_decoded":2117,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5229), with no line terminators","md5":"d7ea1ec834cf91a040325bf4ce34f925","sha1":"0e34981976b5428933d87649f4e113d7b409a3b9","sha256":"fcd588160da6452887ebf4d1c522d196ea1fac8d17a58ed47e62f1f0d21b1e2d","sha512":"28eac8fd6dae3ee056842ef33367e88045ddcc76dca080bb2bd1525ba419a0b977c2a9355af008ed3a33c42e7e53add886ed268cd67340b988a14b8e4f33f9ea","ssdeep":"96:DxvxrXUfOCYwE/U8BfOfqFmn6w67T+Di1FuxgZcipAR/kESRLUUBNbkuuVIlkK/:XUo/vyqFmn6w67Cm10xgWKAR/kESRLUE","tlshash":"51b1eeb5f3c041bef413c71fb398bed803a79955ab2e9df8e025ba151a86fd52111388","first_seen":"2026-06-17T17:50:59.584306Z","last_seen":"2026-07-28T06:17:53.579026Z","times_seen":442,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLV8xLXp4Um46dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLV8yLXp4Um46dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC16eFJuOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tXzEtenhSbjp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tXzItenhSbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0ud3JhcHBlci1qV21NbTJWQXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MjE1cHg7cGFkZGluZy1pbmxpbmUtZW5kOjE1cHg7cG9zaXRpb246cmVsYXRpdmV9LnRpbWV6b25lLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nLXRvcDo0cHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJX0ubGFyZ2VQYWRkaW5nLWpXbU1tMlZBe3BhZGRpbmctdG9wOjhweH0uc2Vzc2lvbkRheVdyYXBwZXItaldtTW0yVkF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubm93V3JhcHBlci1qV21NbTJWQXtib3R0b206MDtpbnNldC1pbmxpbmUtZW5kOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjMwcHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubm93V3JhcHBlci1qV21NbTJWQSAubm93LWpXbU1tMlZBe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Ym90dG9tOi0xcHg7b3V0bGluZToxcHggdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkgc29saWQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDt3aWR0aDoxcHh9LnNlc3Npb25EYXktaldtTW0yVkF7YWxpZ24taXRlbXM6YmFzZWxpbmU7ZGlzcGxheTpmbGV4fS5zZXNzaW9uRGF5LWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Zm9udC1zaXplOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjNweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6MzBweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBLC5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1dyYXBwZXItaldtTW0yVkF7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrV3JhcHBlci1qV21NbTJWQXtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOjNweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2Vzc2lvbkRheVNlZ21lbnRzLWpXbU1tMlZBe2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo3cHg7bWFyZ2luOjIwcHggMCAycHh9LnNlc3Npb25EYXktaldtTW0yVkE6Zmlyc3QtY2hpbGQgLnNlc3Npb25EYXlTZWdtZW50cy1qV21NbTJWQXttYXJnaW4tdG9wOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQXtjb250ZW50OiIiO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC50aW1lTWFya1NlZ21lbnQtaldtTW0yVkEgLnRpbWVNYXJrLWpXbU1tMlZBOmZpcnN0LWNoaWxke3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQXtwYWRkaW5nOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6Zmlyc3QtY2hpbGQ6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmtTZWdtZW50LWpXbU1tMlZBLnRpbWVNYXJrU2VnbWVudEFsaWduQnlFbmRzLWpXbU1tMlZBIC50aW1lTWFyay1qV21NbTJWQTpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9LnNlc3Npb25EYXktaldtTW0yVkEgLnRpbWVNYXJrU2VnbWVudC1qV21NbTJWQS50aW1lTWFya1NlZ21lbnRBbGlnbkJ5RW5kcy1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkE6bGFzdC1jaGlsZDpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uc2Vzc2lvbkRheS1qV21NbTJWQSAudGltZU1hcmstaldtTW0yVkF7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMXB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10aW1lLW1hcmspO2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBe2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2hlaWdodDoxMDAlO29wYWNpdHk6LjM7cGFkZGluZzowIDJweDtwb3NpdGlvbjphYnNvbHV0ZX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQTpmaXJzdC1jaGlsZHtwYWRkaW5nLWlubGluZS1zdGFydDowfS5zZXNzaW9uRGF5LWpXbU1tMlZBIC5zZWdtZW50LWpXbU1tMlZBOmxhc3QtY2hpbGR7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnNlc3Npb25EYXktaldtTW0yVkEgLnNlZ21lbnQtaldtTW0yVkE6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpmbGV4O2ZsZXg6MTtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MXB4O3otaW5kZXg6MH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zbWFsbC1qV21NbTJWQXttYXJnaW4taW5saW5lLXN0YXJ0Oi0xcHg7cGFkZGluZzowO3otaW5kZXg6MX0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQTpiZWZvcmV7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6MDtib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweH0uc2Vzc2lvbkRheS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQS5zdGFydC1qV21NbTJWQS5lbmQtaldtTW0yVkE6YmVmb3Jle2JvcmRlci1yYWRpdXM6NHB4fS5zZXNzaW9uRGF5LWpXbU1tMlZBLmFjdGl2ZS1qV21NbTJWQSAuc2VnbWVudC1qV21NbTJWQXtvcGFjaXR5OjF9LnNlc3Npb25EYXktaldtTW0yVkEuYWN0aXZlLWpXbU1tMlZBIC53ZWVrRGF5LWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpfS5ncmVlbi1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0uZ3JlZW4taldtTW0yVkE6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5vcmFuZ2UtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm9yYW5nZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJsdWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1ib2xkKX0uYmx1ZS1qV21NbTJWQTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0ucHVycGxlLWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0uZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ub3JtYWwpfS5ncmF5LWpXbU1tMlZBOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0udG9vbHRpcC1qV21NbTJWQXt3aGl0ZS1zcGFjZTpub3JtYWx9LnRvb2x0aXAtaldtTW0yVkEgLnRpbWUtaldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlKTttYXJnaW4taW5saW5lLXN0YXJ0OjVweH0udG9vbHRpcC1qV21NbTJWQSAuZ3JlZW4taldtTW0yVkF7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuZ3JheS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKX0udG9vbHRpcC1qV21NbTJWQSAub3JhbmdlLWpXbU1tMlZBe2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKX0udG9vbHRpcC1qV21NbTJWQSAuYmx1ZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTMwMCl9LnRvb2x0aXAtaldtTW0yVkEgLnB1cnBsZS1qV21NbTJWQXtjb2xvcjp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/50035.0227c09e8de3b4008395.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.830Z","timestamp":1785136429830,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/50035.0227c09e8de3b4008395.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 49\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b74-31\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:24 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: faeded37bee2372702b7f8df96f1887d\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.412Z","timestamp":1785136428412,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-14e9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b451f957f489c79a9375d168a9dd8ae2\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-08-11T04:47:30.201628Z","times_seen":1946,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.184Z","timestamp":1785136429184,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 63d904e61c8f1e902f0c21118326949d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-08-11T10:15:18.39512Z","times_seen":2536,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/6605.1e8942319b485afc1f75.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.808Z","timestamp":1785136429808,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/6605.1e8942319b485afc1f75.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-1c7\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: be1b33c5e76acb0b156b8fdd17a03bbc\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.715Z","timestamp":1785136427715,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 86\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b73-56\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 1b471fea9ee86a302bfdbeb81daf5ae3\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-08-11T04:47:30.188719Z","times_seen":2343,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":43,"timings":{"blocked":-1,"dns":4,"connect":2,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/chart.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.788Z","timestamp":1785136427788,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/chart.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=8F%2FXeAkpMKQZvSVw0btztxE9KlSyEh6h1pjQj4tQZzAEcuZlKapCXg11HlGc07t3%2FdXzfh9RYUsxFB1sNRcANRzdDhbc0Oh5d1x1rGLAPrVedIRzYfR1I4mY9siONZ96Uw%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-aef7\"\r\ncf-ray: a219d7f1bb3c0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":44791,"size_decoded":9792,"mime_type":"application/javascript","magic":"Unicode text, UTF-8 text","md5":"f05c104126dd6bf06a55052a815fca5b","sha1":"8c1e733f7dc7baa1b4841f748b466adddab8a4c3","sha256":"301224630d15f9ae721c965cebe73941eb513199989ade99094e34801ed70597","sha512":"cb094f5eb223da7ee00a5e697d0441edfe65e1470e8e5177f2c9b8b47e6ed6c5bded070c62d652e49d96dc4ad02526921e01721913df285c6d25ef7bf290eecc","ssdeep":"768:IAsWbGkw1msuAqxdcLB+xoc6s5z9DLVXz9GIydcEOpFI6NZWFcF/bHQ9SJaEI:acoc6s5z9DL6Sk","tlshash":"2613a84a97bf1536e023312d6f4f2748a660542b0d4aeeac3d2c63e05fa453a15bdfb4","first_seen":"2023-04-07T16:36:34Z","last_seen":"2026-08-10T18:26:39.722013Z","times_seen":106,"resource_available":false,"data":"CgogICAgZnVuY3Rpb24gQ2hhcnQocGFyZW50LCBzZXJ2ZXJUaW1lKSB7CiAgICAgICAgdGhpcy5jYW5kbGVzID0gW107CiAgICAgICAgdGhpcy5vcmRlcnMgPSBbXTsKICAgICAgICB0aGlzLnRvT3JkZXJzQ2xvc2VkID0gW107CiAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWQgPSB7fTsKICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDsKICAgICAgICB0aGlzLnByaWNlUHkgPSAwOwogICAgICAgIHRoaXMucHJpY2VPZmZzZXQgPSAwOwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGggPSA5OwogICAgICAgIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSA9IDM7CiAgICAgICAgdGhpcy5jYW5kbGVzT2Zmc2V0ID0gMDsKICAgICAgICB0aGlzLnNwZWVkID0gMDsKICAgICAgICB0aGlzLmJsdXIgPSAxMDsKICAgICAgICB0aGlzLmJsdXJQbHVzID0gdHJ1ZTsKICAgICAgICB0aGlzLmxXaGVlbCA9IHNlcnZlclRpbWUubm93KCk7CiAgICAgICAgdGhpcy50b0NsaWNrID0gW107CiAgICAgICAgdGhpcy5jbGljayA9IFtdOwogICAgICAgIHRoaXMuc2VydmVyVGltZSA9IHNlcnZlclRpbWU7CiAgICAgICAgdGhpcy5ub3cgPSBzZXJ2ZXJUaW1lLm5vdygpOwogICAgICAgIHRoaXMubGFzdERyYWcgPSBEYXRlLm5vdygpOwogICAgfQogICAgLy9DaGFydC5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24gKCkgewogICAgLy8gICAgaWYodGhpcy5iZ0NhbnZhcykgewogICAgLy8gICAgICAgIHRoaXMucGFyZW50LnJlbW92ZUNoaWxkKHRoaXMuYmdDYW52YXMpOwogICAgLy8gICAgICAgIHRoaXMuYmdDYW52YXMucmVtb3ZlKCk7CiAgICAvLyAgICB9CiAgICAvLyAgICBpZih0aGlzLm1haW5DYW52YXMpIHsKICAgIC8vICAgICAgICB0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLm1haW5DYW52YXMpOwogICAgLy8gICAgICAgIHRoaXMubWFpbkNhbnZhcy5yZW1vdmUoKTsKICAgIC8vICAgIH0KICAgIC8vICAgIGlmKHRoaXMuZnJvbnRDYW52YXMpIHsKICAgIC8vICAgICAgICB0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLmZyb250Q2FudmFzKTsKICAgIC8vICAgICAgICB0aGlzLmZyb250Q2FudmFzLnJlbW92ZSgpOwogICAgLy8gICAgfQogICAgLy99OwogICAgQ2hhcnQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5iZ0NhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogICAgICAgIHRoaXMubWFpbkNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwogICAgICAgIHRoaXMuZnJvbnRDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKICAgICAgICB0aGlzLmJnQ2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1iZyc7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1tYWluJzsKICAgICAgICB0aGlzLmZyb250Q2FudmFzLmNsYXNzTmFtZSA9ICdjdC1jaGFydCBjdC1jaGFydC1mcm9udCc7CiAgICAgICAgdGhpcy5wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5iZ0NhbnZhcyk7CiAgICAgICAgdGhpcy5wYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5tYWluQ2FudmFzKTsKICAgICAgICB0aGlzLnBhcmVudC5hcHBlbmRDaGlsZCh0aGlzLmZyb250Q2FudmFzKTsKICAgICAgICB0aGlzLm1haW5DYW52YXMuc3R5bGUuekluZGV4ID0gMTAwOwoKICAgICAgICB0aGlzLmJnQ2FudmFzLndpZHRoID0gdGhpcy5wYXJlbnQuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLndpZHRoID0gdGhpcy5wYXJlbnQuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5mcm9udENhbnZhcy53aWR0aCA9IHRoaXMucGFyZW50LmNsaWVudFdpZHRoOwoKICAgICAgICB0aGlzLmJnQ2FudmFzLmhlaWdodCA9IHRoaXMucGFyZW50LmNsaWVudEhlaWdodDsKICAgICAgICB0aGlzLm1haW5DYW52YXMuaGVpZ2h0ID0gdGhpcy5wYXJlbnQuY2xpZW50SGVpZ2h0OwogICAgICAgIHRoaXMuZnJvbnRDYW52YXMuaGVpZ2h0ID0gdGhpcy5wYXJlbnQuY2xpZW50SGVpZ2h0OwoKCiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4ID0gdGhpcy5tYWluQ2FudmFzLmdldENvbnRleHQoIjJkIik7CgogICAgICAgIHRoaXMuY2FuZGxlc1BlclBhZ2UgPSBNYXRoLmNlaWwodGhpcy5tYWluQ2FudmFzLmNsaWVudFdpZHRoIC8gKHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIgKyB0aGlzLmNhbmRsZVdpZHRoKSk7CiAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnBhcmVudC5jbGllbnRIZWlnaHQ7CiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMucGFyZW50LmNsaWVudFdpZHRoOwoKICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UgPSBuZXcgUHJpY2VMaW5lKHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcyk7CiAgICAgICAgdGhpcy5tb3VzZVBvc1RpbWUgPSBuZXcgVGltZUxpbmUodGhpcy5tYWluQ2FudmFzQ3R4LCB0aGlzKTsKICAgICAgICB2YXIgJHRoaXMgPSB0aGlzOwogICAgICAgIHRoaXMub2Zmc2V0ID0gMDsKCgogICAgICAgIHRoaXMuY2xpZW50V2lkdGggPSB0aGlzLm1haW5DYW52YXMuY2xpZW50V2lkdGg7CiAgICAgICAgdGhpcy5jbGllbnRIZWlnaHQgPSB0aGlzLm1haW5DYW52YXMuY2xpZW50SGVpZ2h0OwoKICAgICAgICB0aGlzLmNvbmZpZyA9IHsKICAgICAgICAgICAgY2hhcnQ6IHsKICAgICAgICAgICAgICAgIGJnOiAnIzFGMjMyRScsCiAgICAgICAgICAgICAgICBsaW5lYXI6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMwMkI2RjInLAogICAgICAgICAgICAgICAgICAgIGJnOiBbJyMxRDUwNkInLCcjMUYyODM0J10sCiAgICAgICAgICAgICAgICAgICAgcG9pbnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgYmc6ICcjRkZGRkZGJywKICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93OiAnIzU1NkU3OCcKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRpbWVMaW5lOiB7CiAgICAgICAgICAgICAgICBiZzogJyMxRjIzMkUnLAogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzcyOEM5NicsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM3MjhCOTYnLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICIxMnB4IEFyaWFsIiwKICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICdISDptbTpzcycKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHByaWNlTGluZTogewogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzcyOEM5NicsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM3MjhDOTYnLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICcxNXB4IEFyaWFsJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjdXJyZW50VGltZTogewogICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzNCNDM1OScsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgdGV4dDogewogICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ0hIOm1tOnNzJywKICAgICAgICAgICAgICAgICAgICBiZzogJyMzQjQzNTknLAogICAgICAgICAgICAgICAgICAgIGZvbnQ6ICIxMnB4IEFyaWFsIiwKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGN0Y3RjgnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGN1cnJlbnRQcmljZTogewogICAgICAgICAgICAgICAgYmc6ICcjRjc0QTVDJywKICAgICAgICAgICAgICAgIGxpbmU6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGNzRBNUMnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRleHQ6IHsKICAgICAgICAgICAgICAgICAgICBmb250OiAiMTJweCBBcmlhbCIsCiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBtb3VzZVBvczogewogICAgICAgICAgICAgICAgYmc6ICcjM0I0MzU5JwogICAgICAgICAgICB9LAogICAgICAgICAgICBjbG9jazogewogICAgICAgICAgICAgICAgY29sb3I6ICcjN0Y5Q0E3JywKICAgICAgICAgICAgICAgIGZvbnQ6ICIyMHB4IEFyaWFsIiwKICAgICAgICAgICAgICAgIGZvcm1hdDogJ21tOnNzJwogICAgICAgICAgICB9LAogICAgICAgICAgICBvcmRlcjogewogICAgICAgICAgICAgICAgY2FsbDogewogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnIzZDQTkyNCcKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBwdXQ6IHsKICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNGNzRBNUMnCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXSwKICAgICAgICAgICAgICAgIGZvbnQ6ICcxMnB4IEFyaWFsJywKICAgICAgICAgICAgICAgIHByaWNlOiB7CiAgICAgICAgICAgICAgICAgICAgZm9udDonYm9sZCAxMnB4IEFyaWFsJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHRpbWU6IHsKICAgICAgICAgICAgICAgICAgICBmb250OiAnMTJweCBBcmlhbCcsCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAnSEg6bW06c3MnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGltYWdlRGVkOiB7CiAgICAgICAgICAgICAgICB0ZXh0OiAnVGltZSBleHBpcmF0aW9uJywKICAgICAgICAgICAgICAgIHRleHRQb3NYOiAtMTAsCiAgICAgICAgICAgICAgICB0ZXh0UG9zWTogMTcsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNBNjM5NDciLAogICAgICAgICAgICAgICAgZm9udDogIjE1cHggQXJpYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGltYWdlRW5kOiB7CiAgICAgICAgICAgICAgICB0ZXh0OiAnVGltZSBleHBpcmF0aW9uJywKICAgICAgICAgICAgICAgIHRleHRQb3NYOiAtMTAsCiAgICAgICAgICAgICAgICB0ZXh0UG9zWTogMTcsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNBNjM5NDciLAogICAgICAgICAgICAgICAgZm9udDogIjEzcHggQXJpYWwiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVuZExpbmU6IHsKICAgICAgICAgICAgICAgIGxpbmVTdHlsZTogIiM5OTBGMTQiLAogICAgICAgICAgICAgICAgbGluZURhc2g6IFs0LCAxXQogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgdGhpcy5pbWFnZURlZCA9IG5ldyBJbWFnZSgpOwogICAgICAgIHRoaXMuaW1hZ2VFbmQgPSBuZXcgSW1hZ2UoKTsKICAgICAgICB7CiAgICAgICAgICAgIHZhciBidWZDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKICAgICAgICAgICAgYnVmQ2FudmFzLmhlaWdodCA9IDIwMDsKCiAgICAgICAgICAgIHZhciBidWYgPSBidWZDYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKCiAgICAgICAgICAgIGJ1Zi5zYXZlKCk7CiAgICAgICAgICAgIGJ1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKICAgICAgICAgICAgYnVmLmZvbnQgPSB0aGlzLmNvbmZpZy5pbWFnZURlZC5mb250OwogICAgICAgICAgICBidWYuZmlsbFN0eWxlID0gdGhpcy5jb25maWcuaW1hZ2VEZWQuY29sb3I7CiAgICAgICAgICAgIGJ1Zi50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgICAgICBidWYuZmlsbFRleHQodGhpcy5jb25maWcuaW1hZ2VEZWQudGV4dCwgdGhpcy5jb25maWcuaW1hZ2VEZWQudGV4dFBvc1gsIHRoaXMuY29uZmlnLmltYWdlRGVkLnRleHRQb3NZKTsKICAgICAgICAgICAgdGhpcy5pbWFnZURlZC5zcmMgPSBidWZDYW52YXMudG9EYXRhVVJMKCk7CiAgICAgICAgICAgIGJ1Zi5yZXN0b3JlKCk7CgoKICAgICAgICAgICAgYnVmLnNhdmUoKTsKICAgICAgICAgICAgLy9idWYucm90YXRlKC0zICogTWF0aC5QSSAvIDIpOwogICAgICAgICAgICBidWYuY2xlYXJSZWN0KC0xLCAtMSwgYnVmQ2FudmFzLmhlaWdodCArIDIsIGJ1ZkNhbnZhcy53aWR0aCArIDIpOwogICAgICAgICAgICBidWYucmVzdG9yZSgpOwoKCiAgICAgICAgICAgIGJ1Zi5zYXZlKCk7CiAgICAgICAgICAgIGJ1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKCiAgICAgICAgICAgIC8vYnVmLmNsZWFyUmVjdCgwLCAwLCBidWZDYW52YXMud2lkdGgsIGJ1ZkNhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAvL2J1Zi5jbGVhclJlY3QoLTIwMCwgLTIwMCwgMzAwLCAzMDApOwogICAgICAgICAgICAvL2J1Zi5yb3RhdGUoMyAqIE1hdGguUEkgLyAyKTsKCiAgICAgICAgICAgIGJ1Zi5mb250ID0gdGhpcy5jb25maWcuaW1hZ2VFbmQuZm9udDsKCiAgICAgICAgICAgIGJ1Zi5maWxsU3R5bGUgPSB0aGlzLmNvbmZpZy5pbWFnZUVuZC5jb2xvcjsKICAgICAgICAgICAgYnVmLnRleHRBbGlnbiA9ICJyaWdodCI7CiAgICAgICAgICAgIGJ1Zi5maWxsVGV4dCh0aGlzLmNvbmZpZy5pbWFnZUVuZC50ZXh0LCB0aGlzLmNvbmZpZy5pbWFnZUVuZC50ZXh0UG9zWCwgdGhpcy5jb25maWcuaW1hZ2VFbmQudGV4dFBvc1kpOwogICAgICAgICAgICB0aGlzLmltYWdlRW5kLnNyYyA9IGJ1ZkNhbnZhcy50b0RhdGFVUkwoKTsKICAgICAgICAgICAgYnVmLnJlc3RvcmUoKTsKICAgICAgICAgICAgYnVmQ2FudmFzLnJlbW92ZSgpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5lbmRMaW5lID0gbmV3IEVuZExpbmUodGhpcy5tYWluQ2FudmFzQ3R4LCB0aGlzLCB7CiAgICAgICAgICAgIGxpbmVTdHlsZTogdGhpcy5jb25maWcuZW5kTGluZS5saW5lU3R5bGUsCiAgICAgICAgICAgIGxpbmVEYXNoOiB0aGlzLmNvbmZpZy5lbmRMaW5lLmxpbmVEYXNoLAogICAgICAgICAgICBsaW5lTmFtZTogdGhpcy5pbWFnZUVuZCwKICAgICAgICAgICAgZGlzcGxheVRpbWU6IGZhbHNlCiAgICAgICAgfSk7CgoKICAgICAgICB0aGlzLnNjcm9sbE9uID0gZmFsc2U7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzLm9ubW91c2Vkb3duID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgdmFyIGV2dCA9IGUgfHwgZXZlbnQ7CiAgICAgICAgICAgICR0aGlzLmRyYWdnaW5nID0gdHJ1ZTsKICAgICAgICAgICAgJHRoaXMubGFzdFggPSBldnQub2Zmc2V0WDsKICAgICAgICAgICAgJHRoaXMub2Zmc2V0ID0gMDsKICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVGltZSA9ICR0aGlzLm5vdzsKICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVG8gPSAwOwogICAgICAgICAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikgewogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5lbXB0eSkgeyAgLy8gQ2hyb21lCiAgICAgICAgICAgICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMpIHsgIC8vIEZpcmVmb3gKICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQuc2VsZWN0aW9uKSB7ICAvLyBJRT8KICAgICAgICAgICAgICAgIGRvY3VtZW50LnNlbGVjdGlvbi5lbXB0eSgpOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgdGhpcy5tYWluQ2FudmFzLm9uY2xpY2sgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAkdGhpcy5zY3JvbGxPbiA9IHRydWU7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJHRoaXMuY2xpY2subGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBvYiA9ICR0aGlzLmNsaWNrW2ldOwogICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICBvYi54cyA8PSBlLm9mZnNldFggJiYgZS5vZmZzZXRYIDw9IG9iLnhlCiAgICAgICAgICAgICAgICAgICAgICAgICYmIG9iLnlzIDw9IGUub2Zmc2V0WSAmJiBlLm9mZnNldFkgPD0gb2IueWUKICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgIG9iLmZuKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0aGlzLm1haW5DYW52YXMub25tb3VzZW1vdmUgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB2YXIgZXZ0ID0gZSB8fCBldmVudDsKICAgICAgICAgICAgJHRoaXMubW91c2VYID0gZXZ0Lm9mZnNldFg7CiAgICAgICAgICAgICR0aGlzLm1vdXNlWSA9IGV2dC5vZmZzZXRZOwogICAgICAgICAgICAkdGhpcy5sYXN0RHJhZyA9ICR0aGlzLm5vdzsKICAgICAgICAgICAgaWYgKCR0aGlzLmRyYWdnaW5nKSB7CiAgICAgICAgICAgICAgICB2YXIgZGVsdGEgPSBldnQub2Zmc2V0WCAtICR0aGlzLmxhc3RYOwogICAgICAgICAgICAgICAgJHRoaXMubGFzdFggPSBldnQub2Zmc2V0WDsKICAgICAgICAgICAgICAgICR0aGlzLnNjcm9sbFgoZGVsdGEpOwogICAgICAgICAgICAgICAgJHRoaXMudHJhbnNsYXRlVG8gKz0gZGVsdGE7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICB0aGlzLm1haW5DYW52YXMub25tb3VzZXVwID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoJHRoaXMuZHJhZ2dpbmcpIHsKICAgICAgICAgICAgICAgICR0aGlzLnNwZWVkID0gTWF0aC5yb3VuZCgxMDAwICogJHRoaXMudHJhbnNsYXRlVG8gLyBNYXRoLnBvdygkdGhpcy5ub3cgLSAkdGhpcy50cmFuc2xhdGVUaW1lLCAyKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsKICAgICAgICB9OwogICAgICAgIHRoaXMubWFpbkNhbnZhcy5vbm1vdXNlbGVhdmUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICR0aGlzLmRyYWdnaW5nID0gZmFsc2U7CiAgICAgICAgICAgICR0aGlzLnNjcm9sbE9uID0gZmFsc2U7CiAgICAgICAgfTsKCgogICAgICAgIHZhciBvbldoZWVsID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZSA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICBpZiAoISR0aGlzLnNjcm9sbE9uKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIGRlbHRhID0gZS5kZWx0YVkgfHwgZS5kZXRhaWwgfHwgZS53aGVlbERlbHRhOwogICAgICAgICAgICB2YXIgbW92ID0gMTsKICAgICAgICAgICAgaWYgKCR0aGlzLm5vdyAtICR0aGlzLmxXaGVlbCA8IDEwMDApIHsKICAgICAgICAgICAgICAgIG1vdiA9IE1hdGgucm91bmQoMTAwMCAvICgkdGhpcy5ub3cgLSAkdGhpcy5sV2hlZWwpKTsKICAgICAgICAgICAgICAgIGlmIChtb3YgPiA1KSB7CiAgICAgICAgICAgICAgICAgICAgbW92ID0gNTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAkdGhpcy5sV2hlZWwgPSAkdGhpcy5ub3c7CiAgICAgICAgICAgIGlmIChkZWx0YSA+IDApIHsKICAgICAgICAgICAgICAgICR0aGlzLmNhbmRsZVdpZHRoVG8gLT0gbW92OwogICAgICAgICAgICAgICAgaWYgKCR0aGlzLmNhbmRsZVdpZHRoVG8gPD0gMCkgewogICAgICAgICAgICAgICAgICAgICR0aGlzLmNhbmRsZVdpZHRoVG8gPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGRlbHRhIDwgMCkgewogICAgICAgICAgICAgICAgJHRoaXMuY2FuZGxlV2lkdGhUbyArPSBtb3Y7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHRoaXMuY2FuZGxlc0ZyZWVTcGFjZVRvID0gTWF0aC5yb3VuZCgkdGhpcy5jYW5kbGVXaWR0aFRvIC8gMyk7CiAgICAgICAgICAgIGlmICgkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPCAxKSB7CiAgICAgICAgICAgICAgICAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPiAzKSB7CiAgICAgICAgICAgICAgICAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQgPyBlLnByZXZlbnREZWZhdWx0KCkgOiAoZS5yZXR1cm5WYWx1ZSA9IGZhbHNlKTsKICAgICAgICB9OwoKICAgICAgICBpZiAodGhpcy5tYWluQ2FudmFzLmFkZEV2ZW50TGlzdGVuZXIpIHsKICAgICAgICAgICAgaWYgKCdvbndoZWVsJyBpbiBkb2N1bWVudCkgewogICAgICAgICAgICAgICAgLy8gSUU5KywgRkYxNyssIENoMzErCiAgICAgICAgICAgICAgICB0aGlzLm1haW5DYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLCBvbldoZWVsKTsKICAgICAgICAgICAgfSBlbHNlIGlmICgnb25tb3VzZXdoZWVsJyBpbiBkb2N1bWVudCkgewogICAgICAgICAgICAgICAgLy8gw7PDscOyw6DDsMOlw6LDuMOow6kgw6LDoMOww6jDoMOtw7Igw7HDrsOhw7vDssOow78KICAgICAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIiwgb25XaGVlbCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBGaXJlZm94IDwgMTcKICAgICAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJNb3pNb3VzZVBpeGVsU2Nyb2xsIiwgb25XaGVlbCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgeyAvLyBJRTgtCiAgICAgICAgICAgIHRoaXMubWFpbkNhbnZhcy5hdHRhY2hFdmVudCgib25tb3VzZXdoZWVsIiwgb25XaGVlbCk7CiAgICAgICAgfQogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5zY3JvbGxYID0gZnVuY3Rpb24gKGRlbHRhKSB7CiAgICAgICAgdmFyICR0aGlzID0gdGhpczsKICAgICAgICAkdGhpcy5vZmZzZXQgKz0gZGVsdGE7CiAgICAgICAgaWYgKE1hdGguYWJzKCR0aGlzLm9mZnNldCkgPj0gJHRoaXMuY2FuZGxlV2lkdGggKyAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMikgewogICAgICAgICAgICB2YXIgbW92Q2FuZGxlID0gTWF0aC5mbG9vcigkdGhpcy5vZmZzZXQgLyAoJHRoaXMuY2FuZGxlV2lkdGggKyAkdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMikpOwogICAgICAgICAgICBpZiAoJHRoaXMuY2FuZGxlc09mZnNldCArIG1vdkNhbmRsZSA8IDIpIHsKICAgICAgICAgICAgICAgICR0aGlzLm9mZnNldCAtPSBkZWx0YTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJHRoaXMuY2FuZGxlc09mZnNldCArIG1vdkNhbmRsZSA+PSAkdGhpcy5jYW5kbGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgJHRoaXMub2Zmc2V0IC09IGRlbHRhOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkdGhpcy5jYW5kbGVzT2Zmc2V0ICs9IG1vdkNhbmRsZTsKICAgICAgICAgICAgJHRoaXMub2Zmc2V0IC09IG1vdkNhbmRsZSAqICgkdGhpcy5jYW5kbGVXaWR0aCArICR0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyKTsKICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiAodGltZSkgewogICAgICAgIGlmICghdGhpcy5jYW5kbGVzU2hvdyB8fCB0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICB2YXIgc3MgPSAwOwogICAgICAgIHZhciBzID0gdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggLyAyOwogICAgICAgIHZhciBzbCA9IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC0gMTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNhbmRsZSA9IHRoaXMuY2FuZGxlc1Nob3dbTWF0aC5yb3VuZChzKV07CiAgICAgICAgICAgIGlmICghY2FuZGxlICYmIE1hdGgucm91bmQocykgPT09IDEpIHsKICAgICAgICAgICAgICAgIHMgPSAwOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNhbmRsZS50aW1lSWQgKyAxMDAwID4gdGltZSAmJiB0aW1lID49IGNhbmRsZS50aW1lSWQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBjYW5kbGUucG9zWDsKICAgICAgICAgICAgfSBlbHNlIGlmICh0aW1lIDwgY2FuZGxlLnRpbWVJZCkgewogICAgICAgICAgICAgICAgc2wgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgKHNsIC0gc3MpIC8gMjsKICAgICAgICAgICAgfSBlbHNlIGlmICh0aW1lID4gY2FuZGxlLnRpbWVJZCkgewogICAgICAgICAgICAgICAgc3MgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgKHNsIC0gc3MpIC8gMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgbGMgPSB0aGlzLmNhbmRsZXNTaG93W3RoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC0gMV07CiAgICAgICAgaWYgKGxjLnRpbWVJZCA8IHRpbWUpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFBvc1ggKyAodGhpcy5jYW5kbGVXaWR0aCArIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIpIC8gMTAwMCAqICh0aW1lIC0gdGhpcy5ub3cpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gMDsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZ2V0WSA9IGZ1bmN0aW9uIChwcmljZSkgewogICAgICAgIHJldHVybiB0aGlzLmhlaWdodCAtIChwcmljZSAqIHRoaXMucHJpY2VQeSAtIHRoaXMucHJpY2VPZmZzZXQpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5nZXRQcmljZSA9IGZ1bmN0aW9uICh5KSB7CiAgICAgICAgcmV0dXJuICh0aGlzLmhlaWdodCAtIHkgKyB0aGlzLnByaWNlT2Zmc2V0KSAvIHRoaXMucHJpY2VQeTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZ2V0VGltZSA9IGZ1bmN0aW9uICh4KSB7CiAgICAgICAgaWYgKCF0aGlzLmNhbmRsZXNTaG93IHx8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoID09IDApIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubm93OwogICAgICAgIH0KICAgICAgICB2YXIgem9uZSA9IHRoaXMuY2FuZGxlV2lkdGggLyAyICsgdGhpcy5jYW5kbGVzRnJlZVNwYWNlOwogICAgICAgIHZhciBzcyA9IDA7CiAgICAgICAgdmFyIHMgPSBNYXRoLnJvdW5kKHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoIC8gMik7CiAgICAgICAgdmFyIHNsID0gdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggLSAxOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgY2FuZGxlID0gdGhpcy5jYW5kbGVzU2hvd1tNYXRoLnJvdW5kKHMpXTsKICAgICAgICAgICAgaWYgKCFjYW5kbGUgJiYgTWF0aC5yb3VuZChzKSA9PT0gMSkgewogICAgICAgICAgICAgICAgcyA9IDA7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY2FuZGxlLnBvc1ggKyB6b25lID49IHggJiYgeCA+PSBjYW5kbGUucG9zWCAtIHpvbmUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBjYW5kbGUudGltZUlkOwogICAgICAgICAgICB9IGVsc2UgaWYgKHggPCBjYW5kbGUucG9zWCkgewogICAgICAgICAgICAgICAgc2wgPSBzOwogICAgICAgICAgICAgICAgcyA9IHNzICsgTWF0aC5yb3VuZCgoc2wgLSBzcykgLyAyKTsKICAgICAgICAgICAgfSBlbHNlIGlmICh4ID4gY2FuZGxlLnBvc1gpIHsKICAgICAgICAgICAgICAgIHNzID0gczsKICAgICAgICAgICAgICAgIHMgPSBzcyArIE1hdGgucm91bmQoKHNsIC0gc3MpIC8gMik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdmFyIGxjID0gdGhpcy5jYW5kbGVzU2hvd1t0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCAtIDFdOwogICAgICAgIGlmIChsYy5wb3NYIDwgeCkgewogICAgICAgICAgICAvL3ZhciBkZCA9IHggLSAobGMucG9zWCArIHRoaXMuY2FuZGxlV2lkdGggKyB0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyKTsKICAgICAgICAgICAgdmFyIGRkID0geCAtIHRoaXMubGFzdFBvc1g7CiAgICAgICAgICAgIHJldHVybiB0aGlzLm5vdyArIDEwMDAgKiBkZCAvICh0aGlzLmNhbmRsZVdpZHRoICsgdGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMik7CiAgICAgICAgfQogICAgfTsKCiAgICBDaGFydC5wcm90b3R5cGUuYW5pbWF0ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB0aGlzLm5vdyA9IHRoaXMuc2VydmVyVGltZS5ub3coKTsKCiAgICAgICAgaWYgKCF0aGlzLm1haW5DYW52YXNDdHgpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5wcmVwYXJlZE9yZGVyLnN5bWJvbCA9PT0gIlRSQURFX09GRiIpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jYW5kbGVzRnJlZVNwYWNlICs9ICh0aGlzLmNhbmRsZXNGcmVlU3BhY2VUbyAtIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSkgLyA1OwogICAgICAgIHRoaXMuY2FuZGxlV2lkdGggKz0gKHRoaXMuY2FuZGxlV2lkdGhUbyAtIHRoaXMuY2FuZGxlV2lkdGgpIC8gNTsKICAgICAgICB0aGlzLmNhbmRsZXNQZXJQYWdlID0gTWF0aC5jZWlsKHRoaXMuY2xpZW50V2lkdGggLyAodGhpcy5jYW5kbGVzRnJlZVNwYWNlICogMiArIHRoaXMuY2FuZGxlV2lkdGgpKTsKCiAgICAgICAgLy90aGlzLnRpbWVQeCA9IHRoaXMubWFpbkNhbnZhcy5jbGllbnRXaWR0aCAvIHRoaXMudGltZVdpZHRoOwogICAgICAgIHZhciBjYW5kbGUgPSB0aGlzLmNhbmRsZXNbMF07CiAgICAgICAgdmFyIHRpbWVSUiA9IE1hdGguZmxvb3IodGhpcy5ub3cgLyAxMDAwKSAqIDEwMDA7CiAgICAgICAgaWYgKGNhbmRsZSAmJiBjYW5kbGUudGltZUlkIDwgdGltZVJSKSB7CiAgICAgICAgICAgIHZhciBjYW5kbGUyID0gbmV3IENhbmRsZSh0aW1lUlIsIGNhbmRsZS5jbG9zZSwgY2FuZGxlLmNsb3NlLCBjYW5kbGUuY2xvc2UsIGNhbmRsZS5jbG9zZSwgdHJ1ZSk7CiAgICAgICAgICAgIGNhbmRsZTIuY2xvc2VUbyA9IGNhbmRsZTIuY2xvc2U7CiAgICAgICAgICAgIGNhbmRsZTIub3BlblRvID0gY2FuZGxlMi5vcGVuOwogICAgICAgICAgICBjYW5kbGUyLm1pblRvID0gY2FuZGxlMi5taW47CiAgICAgICAgICAgIGNhbmRsZTIubWF4VG8gPSBjYW5kbGUyLm1heDsKICAgICAgICAgICAgY2FuZGxlMi5hbmltYXRpb24gPSAxMjA7CiAgICAgICAgICAgIHRoaXMuYWRkQ2FuZGxlcyhjYW5kbGUyKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7CgogICAgICAgIHRoaXMuZHJhd1ByaWNlcygpOwogICAgICAgIHRoaXMuZHJhd1RpbWVzKCk7CiAgICAgICAgdGhpcy5kcmF3Q2FuZGxlcygpOwoKICAgICAgICBpZiAodGhpcy5wcmVwYXJlZE9yZGVyICYmIHRoaXMucHJlcGFyZWRPcmRlci50aW1lRnJhbWUgJiYgKCF0aGlzLnByZXBhcmVkT3JkZXIub3B0aW9uRW5kIHx8IHRoaXMubm93ID49IHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQpKSB7CiAgICAgICAgICAgIC8vaWYoIXRoaXMub3B0aW9uRW5kKSB7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgPSB0aGlzLm5vdyArIHRoaXMucHJlcGFyZWRPcmRlci50aW1lRnJhbWU7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgPSBNYXRoLnJvdW5kKHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25PZmYgLyAxMDAwKSAqIDEwMDA7CiAgICAgICAgICAgIHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQgPSBNYXRoLnJvdW5kKHRoaXMubm93ICsgdGhpcy5wcmVwYXJlZE9yZGVyLnRpbWVGcmFtZSAtIHRoaXMucHJlcGFyZWRPcmRlci50aW1lT2ZmKTsKICAgICAgICAgICAgdGhpcy5wcmVwYXJlZE9yZGVyLm9wdGlvbkVuZCA9IE1hdGgucm91bmQodGhpcy5wcmVwYXJlZE9yZGVyLm9wdGlvbkVuZCAvIDEwMDApICogMTAwMDsKICAgICAgICB9CgogICAgICAgIHRoaXMuZW5kTGluZS5kcmF3KHRoaXMucHJlcGFyZWRPcmRlci5vcHRpb25FbmQpOwoKICAgICAgICB2YXIgdGV4dCA9IG1vbWVudCh0aGlzLnByZXBhcmVkT3JkZXIub3B0aW9uRW5kIC0gRGF0ZS5ub3coKSkudXRjKCkuZm9ybWF0KHRoaXMuY29uZmlnLmNsb2NrLmZvcm1hdCk7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LmZvbnQgPSB0aGlzLmNvbmZpZy5jbG9jay5mb250OwogICAgICAgIHZhciB3MSA9IHRoaXMubWFpbkNhbnZhc0N0eC5tZWFzdXJlVGV4dCh0ZXh0KS53aWR0aDsKICAgICAgICB0aGlzLm1haW5DYW52YXNDdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcuY2hhcnQuYmc7CgogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5maWxsUmVjdCh0aGlzLndpZHRoIC8gMiAtIDIgLSB3MSAvIDIsIDAsIHcxLCAzMCk7CgogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5iZWdpblBhdGgoKTsKICAgICAgICB0aGlzLm1haW5DYW52YXNDdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcuY2xvY2suY29sb3I7CiAgICAgICAgdGhpcy5tYWluQ2FudmFzQ3R4LnRleHRBbGlnbiA9ICJjZW50ZXIiOwogICAgICAgIHRoaXMubWFpbkNhbnZhc0N0eC5maWxsVGV4dCh0ZXh0LCB0aGlzLndpZHRoIC8gMiAtIDIsIDMwKTsKCiAgICAgICAgdmFyIG9yZGVyQnVmID0gW107CiAgICAgICAgdmFyIG9yZGVyID0gdGhpcy5vcmRlcnMucG9wKCk7CiAgICAgICAgdmFyIGNsb3NlZE9yZCA9IFtdOwogICAgICAgIHdoaWxlIChvcmRlcikgewogICAgICAgICAgICBpZiAodGhpcy5ub3cgPCBvcmRlci5lbmRUaW1lKSB7CiAgICAgICAgICAgICAgICBvcmRlckJ1Zi51bnNoaWZ0KG9yZGVyKTsKICAgICAgICAgICAgICAgIHZhciBjb2xvcjsKICAgICAgICAgICAgICAgIGlmIChvcmRlci5jYWxsKSB7CiAgICAgICAgICAgICAgICAgICAgY29sb3IgPSB0aGlzLmNvbmZpZy5vcmRlci5jYWxsLmNvbG9yOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb2xvciA9IHRoaXMuY29uZmlnLm9yZGVyLnB1dC5jb2xvcjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG5ldyBFbmRMaW5lKHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcywgewogICAgICAgICAgICAgICAgICAgIGxpbmVTdHlsZTogY29sb3IsCiAgICAgICAgICAgICAgICAgICAgYmdTdHlsZTogdGhpcy5jb25maWcudGltZUxpbmUuYmcsCiAgICAgICAgICAgICAgICAgICAgbGluZURhc2g6IHRoaXMuY29uZmlnLm9yZGVyLmxpbmVEYXNoLAogICAgICAgICAgICAgICAgfSkuZHJhdyhvcmRlci5lbmRUaW1lLCBvcmRlci5vcGVuUHJpY2UudG9GaXhlZCg1KSwgb3JkZXIuY2FsbCwgb3JkZXIuc3RhcnRUaW1lLCBvcmRlci5lbmRUaW1lLCBvcmRlci5hbW91bnQudG9GaXhlZCgyKSArICcgJyArIG9yZGVyLmN1cnJlbmN5KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNsb3NlZE9yZC5wdXNoKG9yZGVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBvcmRlciA9IHRoaXMub3JkZXJzLnBvcCgpOwogICAgICAgIH0KICAgICAgICBpZiAoY2xvc2VkT3JkLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdmFyIGNwID0gdGhpcy5jYW5kbGVzWzBdOwogICAgICAgICAgICBvcmRlciA9IGNsb3NlZE9yZC5wb3AoKTsKICAgICAgICAgICAgdmFyIHdpbiA9IDA7CiAgICAgICAgICAgIHdoaWxlIChvcmRlcikgewogICAgICAgICAgICAgICAgaWYgKG9yZGVyLmNhbGwgJiYgb3JkZXIub3BlblByaWNlIDwgY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICB3aW4gKz0gOTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIW9yZGVyLmNhbGwgJiYgb3JkZXIub3BlblByaWNlID4gY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICB3aW4gKz0gOTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3JkZXIub3BlblByaWNlID09PSBjcC5jbG9zZSkgewogICAgICAgICAgICAgICAgICAgIHdpbiArPSAwOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB3aW4gLT0gMTA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBvcmRlciA9IGNsb3NlZE9yZC5wb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhcnQtaG9sZGVyIik7CgogICAgICAgICAgICB2YXIgZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2luX2FtdCIpOwogICAgICAgICAgICBlMi5pbm5lckhUTUwgPSB3aW47CgogICAgICAgICAgICBpZiAod2luID49IDApIHsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSArPSAnIGRlYWwtZmluaXNoZWQnOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lICs9ICcgZGVhbC1maW5pc2hlZCBsb29zZSc7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIG9yZGVyID0gdGhpcy50b09yZGVyc0Nsb3NlZC5wb3AoKTsKICAgICAgICB3aGlsZSAob3JkZXIpIHsKICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXIuZW5kVGltZV0uY291bnQrKzsKICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXIuZW5kVGltZV0uYW1vdW50ICs9IG9yZGVyLnByb2ZpdDsKICAgICAgICAgICAgb3JkZXIgPSB0aGlzLnRvT3JkZXJzQ2xvc2VkLnBvcCgpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBvcmRlcklkIGluIHRoaXMub3JkZXJzQ2xvc2VkKSB7CiAgICAgICAgICAgIGlmICh0aGlzLm9yZGVyc0Nsb3NlZC5oYXNPd25Qcm9wZXJ0eShvcmRlcklkKSkgewogICAgICAgICAgICAgICAgdGhpcy5vcmRlcnNDbG9zZWRbb3JkZXJJZF0uZHJhdygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0aGlzLm9yZGVycyA9IG9yZGVyQnVmOwoKICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UuZHJhdyhjYW5kbGUuY2xvc2UsIHRoaXMuZ2V0WShjYW5kbGUuY2xvc2UpLCB0aGlzLmNvbmZpZy5jdXJyZW50UHJpY2UuYmcpOwoKICAgICAgICBpZiAodGhpcy5tb3VzZVkgPiAxMCAmJiB0aGlzLm1vdXNlWSA8IHRoaXMuaGVpZ2h0IC0gMTAgJiYgdGhpcy5tb3VzZVggPiAxMCAmJiB0aGlzLm1vdXNlWCA8IHRoaXMud2lkdGggLSAxMCkgewogICAgICAgICAgICB0aGlzLm1vdXNlUG9zUHJpY2UuZHJhdyh0aGlzLmdldFByaWNlKHRoaXMubW91c2VZKSwgdGhpcy5tb3VzZVksIHRoaXMuY29uZmlnLm1vdXNlUG9zLmJnKTsKICAgICAgICAgICAgdGhpcy5tb3VzZVBvc1RpbWUuZHJhdyh0aGlzLmdldFRpbWUodGhpcy5tb3VzZVgpKTsKICAgICAgICB9CiAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nICYmIE1hdGguYWJzKHRoaXMuc3BlZWQpID4gMikgewogICAgICAgICAgICB0aGlzLnNwZWVkIC09IHRoaXMuc3BlZWQgLyAyMDsKICAgICAgICAgICAgdGhpcy5zY3JvbGxYKHRoaXMuc3BlZWQpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jbGljayA9IHRoaXMudG9DbGljazsKICAgICAgICB0aGlzLnRvQ2xpY2sgPSBbXTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUuZHJhd1ByaWNlcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgY3R4ID0gdGhpcy5tYWluQ2FudmFzQ3R4OwogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgdmFyIHN0ZXAgPSA3NTsKICAgICAgICBjdHguZm9udCA9IHRoaXMuY29uZmlnLnByaWNlTGluZS50ZXh0LmZvbnQ7CiAgICAgICAgZm9yICh2YXIgcHkgPSBzdGVwOyBweSA8IHRoaXMuaGVpZ2h0OyBweSArPSBzdGVwKSB7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgY3R4Lm1vdmVUbygwLCBweSk7CiAgICAgICAgICAgIGN0eC5saW5lVG8odGhpcy53aWR0aCwgcHkpOwogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmNvbmZpZy5wcmljZUxpbmUubGluZS5jb2xvcjsKICAgICAgICAgICAgY3R4LmxpbmVXaWR0aCA9IDE7CiAgICAgICAgICAgIGN0eC5zZXRMaW5lRGFzaCh0aGlzLmNvbmZpZy5wcmljZUxpbmUubGluZS5saW5lRGFzaCk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gdGhpcy5jb25maWcucHJpY2VMaW5lLnRleHQuY29sb3I7CiAgICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgICAgICBjdHguZmlsbFRleHQodGhpcy5nZXRQcmljZShweSkudG9GaXhlZCg1KSwgdGhpcy53aWR0aCAtIDEwLCBweSAtIDUpOwogICAgICAgIH0KICAgICAgICBjdHgucmVzdG9yZSgpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5kcmF3VGltZXMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGN0eCA9IHRoaXMubWFpbkNhbnZhc0N0eDsKICAgICAgICB2YXIgc3RlcCA9IDc1OwogICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLmJnOwogICAgICAgIGN0eC5tb3ZlVG8oMCwgdGhpcy5oZWlnaHQpOwogICAgICAgIGN0eC5saW5lVG8oMCwgdGhpcy5oZWlnaHQgLSAyMCk7CiAgICAgICAgY3R4LmxpbmVUbyh0aGlzLndpZHRoLCB0aGlzLmhlaWdodCAtIDIwKTsKICAgICAgICBjdHgubGluZVRvKHRoaXMud2lkdGgsIHRoaXMuaGVpZ2h0KTsKICAgICAgICBjdHgubGluZVRvKDAsIHRoaXMuaGVpZ2h0KTsKICAgICAgICBjdHguZmlsbCgpOwoKICAgICAgICBmb3IgKHZhciBweCA9IHN0ZXA7IHB4IDwgdGhpcy53aWR0aDsgcHggKz0gc3RlcCkgewogICAgICAgICAgICBjdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICAgIGN0eC5tb3ZlVG8ocHgsIDIwKTsKICAgICAgICAgICAgY3R4LmxpbmVUbyhweCwgdGhpcy5oZWlnaHQgLSAyMCk7CiAgICAgICAgICAgIGN0eC5zdHJva2VTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLmxpbmUuY29sb3I7CiAgICAgICAgICAgIGN0eC5saW5lV2lkdGggPSAxOwogICAgICAgICAgICBjdHguc2V0TGluZURhc2godGhpcy5jb25maWcudGltZUxpbmUubGluZS5saW5lRGFzaCk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguZm9udCA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLnRleHQuZm9udDsKICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHRoaXMuY29uZmlnLnRpbWVMaW5lLnRleHQuY29sb3I7CiAgICAgICAgICAgIGN0eC50ZXh0QWxpZ24gPSAiY2VudGVyIjsKICAgICAgICAgICAgY3R4LmZpbGxUZXh0KG1vbWVudCh0aGlzLmdldFRpbWUocHgpKS51dGMoKS5mb3JtYXQodGhpcy5jb25maWcudGltZUxpbmUudGV4dC5mb3JtYXQpLCBweCwgdGhpcy5oZWlnaHQgLSA1KTsKICAgICAgICB9CiAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgIH07CgogICAgQ2hhcnQucHJvdG90eXBlLmRyYXdDYW5kbGVzID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICghdGhpcy5tYWluQ2FudmFzQ3R4KSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgLy92YXIgY2FuZGxlcyA9IHRoaXMuY2FuZGxlczsKICAgICAgICB0aGlzLmNhbmRsZXNTaG93ID0gW107CiAgICAgICAgZm9yICh2YXIgY2kgPSB0aGlzLmNhbmRsZXNPZmZzZXQ7IGNpID49IHRoaXMuY2FuZGxlc09mZnNldCAtIHRoaXMuY2FuZGxlc1BlclBhZ2UgJiYgY2kgPj0gMDsgY2ktLSkgewogICAgICAgICAgICB2YXIgY2FuZGxlMiA9IHRoaXMuY2FuZGxlc1tjaV07CiAgICAgICAgICAgIGlmIChjYW5kbGUyKSB7CiAgICAgICAgICAgICAgICB0aGlzLmNhbmRsZXNTaG93LnB1c2goY2FuZGxlMikKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuY2FuZGxlc1Nob3cucHVzaCh0aGlzLmNhbmRsZXNbdGhpcy5jYW5kbGVzLmxlbmd0aCAtIDFdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5jYW5kbGVzU2hvdy5sZW5ndGggPT0gMCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgbWluUHJpY2UgPSB0aGlzLmNhbmRsZXNTaG93WzBdLm1pbjsKICAgICAgICB2YXIgbWF4UHJpY2UgPSB0aGlzLmNhbmRsZXNTaG93WzBdLm1heDsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuY2FuZGxlc1Nob3cubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGNhbmRsZSA9IHRoaXMuY2FuZGxlc1Nob3dbaV07CiAgICAgICAgICAgIGNhbmRsZS5kcmF3KHRoaXMubWFpbkNhbnZhc0N0eCwgdGhpcywgaSwgdGhpcy5jYW5kbGVzU2hvdy5sZW5ndGgpOwogICAgICAgICAgICBpZiAobWluUHJpY2UgPiBjYW5kbGUubWluKSB7CiAgICAgICAgICAgICAgICBtaW5QcmljZSA9IGNhbmRsZS5taW47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1heFByaWNlIDwgY2FuZGxlLm1heCkgewogICAgICAgICAgICAgICAgbWF4UHJpY2UgPSBjYW5kbGUubWF4OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZhciBsQ2FuZGxlID0gdGhpcy5jYW5kbGVzU2hvd1t0aGlzLmNhbmRsZXNTaG93Lmxlbmd0aCAtIDFdOwogICAgICAgIGlmICh0aGlzLmxhc3REcmFnICsgMjAwMCA8IHRoaXMubm93CiAgICAgICAgICAgICAgICAmJiBsQ2FuZGxlLnBvc1ggPiB0aGlzLndpZHRoICogMC43NSkgewogICAgICAgICAgICBpZiAodGhpcy5jYW5kbGVzT2Zmc2V0IDwgdGhpcy53aWR0aCAvICh0aGlzLmNhbmRsZXNGcmVlU3BhY2UgKiAyICsgdGhpcy5jYW5kbGVXaWR0aCkpIHsKICAgICAgICAgICAgICAgIHRoaXMubGFzdERyYWcgPSB0aGlzLm5vdzsKICAgICAgICAgICAgICAgIHRoaXMuc3BlZWQgLT0gTWF0aC5hYnMobENhbmRsZS5wb3NYIC0gdGhpcy53aWR0aCAqIDAuNSkgLyAodGhpcy5jYW5kbGVXaWR0aCArIHRoaXMuY2FuZGxlc0ZyZWVTcGFjZSAqIDIpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm93IC0gdGhpcy5sYXN0RHJhdyA+IDEwMDApIHsKICAgICAgICAgICAgICAgIHRoaXMubGFzdERyYWcgPSB0aGlzLm5vdzsKICAgICAgICAgICAgICAgIHRoaXMuY2FuZGxlc09mZnNldCA9IDU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhpcy5sYXN0RHJhdyA9IHRoaXMubm93OwoKICAgICAgICB2YXIgZGlmID0gbWF4UHJpY2UgLSBtaW5QcmljZTsKICAgICAgICBpZiAoZGlmID09IDApIHsKICAgICAgICAgICAgdmFyIHNwbGl0ID0gbWF4UHJpY2UudG9TdHJpbmcoKS5zcGxpdCgnLicpOwogICAgICAgICAgICBpZiAoc3BsaXQubGVuZ3RoID09IDIpIHsKICAgICAgICAgICAgICAgIGRpZiA9IE1hdGgucG93KDAuMSwgc3BsaXRbMV0ubGVuZ3RoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRpZiA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgbWF4UHJpY2UgPSBtYXhQcmljZSArIGRpZiAqIDAuMjsKICAgICAgICBtaW5QcmljZSA9IG1pblByaWNlIC0gZGlmICogMC4xNTsKICAgICAgICBpZiAodGhpcy5taW5QcmljZSAmJiB0aGlzLm1heFByaWNlKSB7CiAgICAgICAgICAgIHRoaXMubWluUHJpY2UgLT0gKHRoaXMubWluUHJpY2UgLSBtaW5QcmljZSkgLyA1OwogICAgICAgICAgICB0aGlzLm1heFByaWNlIC09ICh0aGlzLm1heFByaWNlIC0gbWF4UHJpY2UpIC8gNTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aGlzLm1pblByaWNlID0gbWluUHJpY2U7CiAgICAgICAgICAgIHRoaXMubWF4UHJpY2UgPSBtYXhQcmljZTsKICAgICAgICB9CiAgICAgICAgZGlmID0gdGhpcy5tYXhQcmljZSAtIHRoaXMubWluUHJpY2U7CgoKICAgICAgICB0aGlzLnByaWNlUHkgPSB0aGlzLmNsaWVudEhlaWdodCAvIGRpZjsKICAgICAgICB0aGlzLnByaWNlT2Zmc2V0ID0gdGhpcy5taW5QcmljZSAqIHRoaXMucHJpY2VQeTsKICAgIH07CiAgICBDaGFydC5wcm90b3R5cGUucmVnQ2xpY2sgPSBmdW5jdGlvbiAoY2xpY2tNZSkgewogICAgICAgIHRoaXMudG9DbGljay5wdXNoKGNsaWNrTWUpOwogICAgfTsKICAgIENoYXJ0LnByb3RvdHlwZS5vblRpY2sgPSBmdW5jdGlvbiAodGljaykgewogICAgICAgIHZhciBjYW5kbGUgPSB0aGlzLmNhbmRsZXNbMF07CiAgICAgICAgaWYgKGNhbmRsZSAmJiBjYW5kbGUudGltZUlkID09IE1hdGguZmxvb3IodGljay50aW1lSWQgLyAxMDAwKSAqIDEwMDApIHsKICAgICAgICAgICAgaWYgKGNhbmRsZS5mYWtlKSB7CiAgICAgICAgICAgICAgICBjYW5kbGUuZmFrZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgY2FuZGxlLm9wZW4gPSB0aWNrLmF2ZzsKICAgICAgICAgICAgICAgIGNhbmRsZS5vcGVuVG8gPSB0aWNrLmF2ZzsKICAgICAgICAgICAgICAgIGNhbmRsZS5taW5UbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLm1heFRvID0gdGljay5hdmc7CiAgICAgICAgICAgICAgICBjYW5kbGUuY2xvc2VUbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLmFuaW1hdGlvbiA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2FuZGxlLmFuaW1hdGlvbiA9IDE7CiAgICAgICAgICAgIGNhbmRsZS5jbG9zZVRvID0gdGljay5hdmc7CiAgICAgICAgICAgIGlmIChjYW5kbGUubWF4IDwgdGljay5hdmcpIHsKICAgICAgICAgICAgICAgIGNhbmRsZS5tYXhUbyA9IHRpY2suYXZnOwogICAgICAgICAgICAgICAgY2FuZGxlLm1heCA9IHRpY2suYXZnOwogICAgICAgICAgICB9IGVsc2UgaWYgKGNhbmRsZS5taW4gPiB0aWNrLmF2ZykgewogICAgICAgICAgICAgICAgY2FuZGxlLm1pblRvID0gdGljay5hdmc7CiAgICAgICAgICAgICAgICBjYW5kbGUubWluID0gdGljay5hdmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLl9hZGRDYW5kbGUgPSBmdW5jdGlvbiAoY2FuZGxlKSB7CiAgICAgICAgdmFyIGNuOwogICAgICAgIGlmIChjYW5kbGUgaW5zdGFuY2VvZiBDYW5kbGUpIHsKICAgICAgICAgICAgY24gPSBjYW5kbGU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY24gPSBuZXcgQ2FuZGxlKGNhbmRsZS50aW1lSWQsIGNhbmRsZS5vcGVuLCBjYW5kbGUuY2xvc2UsIGNhbmRsZS5taW4sIGNhbmRsZS5tYXgpOwogICAgICAgIH0KICAgICAgICBpZiAodGhpcy5jYW5kbGVzLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIHRoaXMuY2FuZGxlcy5wdXNoKGNuKTsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuZGxlc1swXS50aW1lSWQgPCBjbi50aW1lSWQpIHsKICAgICAgICAgICAgdGhpcy5jYW5kbGVzLnVuc2hpZnQoY24pOwogICAgICAgICAgICB0aGlzLmNhbmRsZXNPZmZzZXQrKzsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuZGxlc1t0aGlzLmNhbmRsZXMubGVuZ3RoIC0gMV0udGltZUlkID4gY24udGltZUlkKSB7CiAgICAgICAgICAgIHRoaXMuY2FuZGxlcy5wdXNoKGNuKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDMwOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhbmRsZXNbaV0gJiYgdGhpcy5jYW5kbGVzW2ldLnRpbWVJZCA9PSBjbi50aW1lSWQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgb2xkID0gdGhpcy5jYW5kbGVzW2ldOwoKICAgICAgICAgICAgICAgICAgICBjbi5hbmltYXRpb24gPSAyMDA7CiAgICAgICAgICAgICAgICAgICAgY24ubWluVG8gPSBjbi5taW47CiAgICAgICAgICAgICAgICAgICAgY24ubWF4VG8gPSBjbi5tYXg7CiAgICAgICAgICAgICAgICAgICAgY24ub3BlblRvID0gY24ub3BlbjsKICAgICAgICAgICAgICAgICAgICBjbi5jbG9zZVRvID0gY24uY2xvc2U7CiAgICAgICAgICAgICAgICAgICAgY24uY2xvc2UgPSBvbGQuY2xvc2U7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYW5kbGVzW2ldID0gY247CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgQ2hhcnQucHJvdG90eXBlLmFkZENhbmRsZXMgPSBmdW5jdGlvbiAoY2FuZGxlcykgewogICAgICAgIHZhciAkdGhpcyA9IHRoaXM7CiAgICAgICAgaWYgKGNhbmRsZXMgaW5zdGFuY2VvZiBBcnJheSkgewogICAgICAgICAgICBjYW5kbGVzLmZvckVhY2goZnVuY3Rpb24gKGNhbmRsZSkgewogICAgICAgICAgICAgICAgJHRoaXMuX2FkZENhbmRsZShjYW5kbGUpOwogICAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdGhpcy5fYWRkQ2FuZGxlKGNhbmRsZXMpOwogICAgICAgIH0KICAgIH07CgoKICAgIGZ1bmN0aW9uIFRpbWVMaW5lKGN0eCwgY2hhcnQpIHsKICAgICAgICB0aGlzLmN0eCA9IGN0eDsKICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnQ7CiAgICB9CiAgICBUaW1lTGluZS5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uICh0aW1lKSB7CiAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50VGltZS5saW5lLmNvbG9yOwogICAgICAgIHRoaXMuY3R4LmxpbmVXaWR0aCA9IDE7CgogICAgICAgIHRoaXMuY3R4Lm1vdmVUbyh0aGlzLmNoYXJ0Lm1vdXNlWCwgMCk7CiAgICAgICAgdGhpcy5jdHgubGluZVRvKHRoaXMuY2hhcnQubW91c2VYLCB0aGlzLmNoYXJ0LmhlaWdodCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CgogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHZhciBwYWdnaW5nID0gMTA7CiAgICAgICAgdmFyIGhlaWdodCA9IDIwOwoKICAgICAgICB2YXIgdGV4dCA9IG1vbWVudCh0aW1lKS51dGMoKS5mb3JtYXQodGhpcy5jaGFydC5jb25maWcuY3VycmVudFRpbWUudGV4dC5mb3JtYXQpOwogICAgICAgIHZhciB3MSA9IHRoaXMuY3R4Lm1lYXN1cmVUZXh0KHRleHQpLndpZHRoOwogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY2hhcnQuY29uZmlnLmN1cnJlbnRUaW1lLnRleHQuYmc7CiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QodGhpcy5jaGFydC5tb3VzZVggLSB3MSAvIDIgLSBwYWdnaW5nLCB0aGlzLmNoYXJ0LmhlaWdodCAtIGhlaWdodCwgdzEgKyBwYWdnaW5nICsgcGFnZ2luZywgaGVpZ2h0KTsKCiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gdGhpcy5jaGFydC5jb25maWcuY3VycmVudFRpbWUudGV4dC5jb2xvcjsKCgogICAgICAgIHRoaXMuY3R4LmZvbnQgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50VGltZS50ZXh0LmZvbnQ7CiAgICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gImNlbnRlciI7CiAgICAgICAgdGhpcy5jdHguZmlsbFRleHQodGV4dCwgdGhpcy5jaGFydC5tb3VzZVgsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gNSk7CiAgICB9OwoKICAgIGZ1bmN0aW9uIFByaWNlTGluZShjdHgsIGNoYXJ0KSB7CiAgICAgICAgdGhpcy5jdHggPSBjdHg7CiAgICAgICAgdGhpcy5jaGFydCA9IGNoYXJ0OwogICAgfQoKICAgIFByaWNlTGluZS5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uIChwcmljZSwgYXZnUHgsIGJnQ29sb3IpIHsKICAgICAgICAvL3ZhciBhdmdQeCA9IHRoaXMuY2hhcnQuZ2V0WShwcmljZSk7CiAgICAgICAgLy92YXIgYXZnUHggPSB0aGlzLmNoYXJ0Lm1vdXNlWTsKICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IGJnQ29sb3I7CiAgICAgICAgdGhpcy5jdHgubGluZVdpZHRoID0gMTsKICAgICAgICB0aGlzLmN0eC5tb3ZlVG8oMCwgYXZnUHgpOwogICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0aGlzLmNoYXJ0LndpZHRoIC0gMTAsIGF2Z1B4KTsKICAgICAgICB0aGlzLmN0eC5zdHJva2UoKTsKCiAgICAgICAgdGhpcy5jdHgubW92ZVRvKHRoaXMuY2hhcnQud2lkdGggLSA5MCwgYXZnUHgpOwovLyAgICAgICAgdGhpcy5jdHgubGluZVRvKHRoaXMuY2hhcnQud2lkdGggLSA4NSwgYXZnUHggKyA1KTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDg1LCBhdmdQeCArIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDEwLCBhdmdQeCArIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDEwLCBhdmdQeCAtIDEyKTsKICAgICAgICB0aGlzLmN0eC5saW5lVG8odGhpcy5jaGFydC53aWR0aCAtIDg1LCBhdmdQeCAtIDEyKTsKLy8gICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0aGlzLmNoYXJ0LndpZHRoIC0gODUsIGF2Z1B4IC0gNSk7CiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gYmdDb2xvcjsKICAgICAgICB0aGlzLmN0eC5maWxsKCk7CgogICAgICAgIHRoaXMuY3R4LmZvbnQgPSB0aGlzLmNoYXJ0LmNvbmZpZy5jdXJyZW50UHJpY2UudGV4dC5mb250OwogICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY2hhcnQuY29uZmlnLmN1cnJlbnRQcmljZS50ZXh0LmNvbG9yOwogICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgICB0aGlzLmN0eC5maWxsVGV4dChwcmljZS50b0ZpeGVkKDUpLCB0aGlzLmNoYXJ0LndpZHRoIC0gODAsIGF2Z1B4ICsgNCk7CiAgICB9OwogICAgZnVuY3Rpb24gRW5kTGluZShjdHgsIGNoYXJ0LCBjb25maWcpIHsKICAgICAgICB0aGlzLmN0eCA9IGN0eDsKICAgICAgICB0aGlzLmNoYXJ0ID0gY2hhcnQ7CiAgICAgICAgaWYgKGNvbmZpZykgewogICAgICAgICAgICBpZiAoY29uZmlnLmJnU3R5bGUpIHsKCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvbmZpZy5iZ1N0eWxlKSB7CiAgICAgICAgICAgICAgICB0aGlzLmJnU3R5bGUgPSBjb25maWcuYmdTdHlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29uZmlnLmxpbmVEYXNoKSB7CiAgICAgICAgICAgICAgICB0aGlzLmxpbmVEYXNoID0gY29uZmlnLmxpbmVEYXNoCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvbmZpZy5saW5lU3R5bGUpIHsKICAgICAgICAgICAgICAgIHRoaXMubGluZVN0eWxlID0gY29uZmlnLmxpbmVTdHlsZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29uZmlnLmxpbmVOYW1lKSB7CiAgICAgICAgICAgICAgICB0aGlzLmxpbmVOYW1lID0gY29uZmlnLmxpbmVOYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjb25maWcuZGlzcGxheVRpbWUpIHsKICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVRpbWUgPSBjb25maWcuZGlzcGxheVRpbWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBFbmRMaW5lLnByb3RvdHlwZS5kcmF3ID0gZnVuY3Rpb24gKHRpbWUsIHByaWNlLCBjYWxsLCBzdGFydFRpbWUsIGVuZFRpbWUsIGFtb3VudCkgewogICAgICAgIHRoaXMuY3R4LnNhdmUoKTsKICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICB2YXIgdGltZVRvQ2xvc2UgPSB0aW1lOwogICAgICAgIHZhciB0VmFsMiA9IHRoaXMuY2hhcnQuZ2V0WCh0aW1lKTsKICAgICAgICB0aGlzLmN0eC5tb3ZlVG8odFZhbDIsIDApOwogICAgICAgIHRoaXMuY3R4LmxpbmVUbyh0VmFsMiwgdGhpcy5jaGFydC5oZWlnaHQgLSAyMCk7CiAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICB0aGlzLmN0eC5saW5lV2lkdGggPSAxOwogICAgICAgIGlmICh0aGlzLmxpbmVEYXNoKSB7CiAgICAgICAgICAgIHRoaXMuY3R4LnNldExpbmVEYXNoKHRoaXMubGluZURhc2gpOwogICAgICAgIH0KCiAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CiAgICAgICAgaWYgKHRoaXMubGluZU5hbWUpIHsKICAgICAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKHRoaXMubGluZU5hbWUsIHRWYWwyIC0gMjUsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gMTQ1KTsKICAgICAgICB9CgogICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgIHZhciBudW1iZXIgPSB0aW1lVG9DbG9zZSAtIHRoaXMuY2hhcnQubm93OwogICAgICAgIGlmIChudW1iZXIgPCAwKSB7CiAgICAgICAgICAgIG51bWJlciA9IDA7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7CiAgICAgICAgaWYgKHByaWNlKSB7CiAgICAgICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICB0aGlzLmN0eC5mb250ID0gdGhpcy5jaGFydC5jb25maWcub3JkZXIudGltZS5mb250OwogICAgICAgICAgICB2YXIgY2xvc2VUZXh0ID0gbW9tZW50KHRpbWUpLnV0YygpLmZvcm1hdCh0aGlzLmNoYXJ0LmNvbmZpZy5vcmRlci50aW1lLmZvcm1hdCk7CiAgICAgICAgICAgIHZhciB3MiA9IHRoaXMuY3R4Lm1lYXN1cmVUZXh0KGNsb3NlVGV4dCk7CiAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuYmdTdHlsZTsKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QodFZhbDIgLSB3Mi53aWR0aCAvIDIsIHRoaXMuY2hhcnQuaGVpZ2h0IC0gMjAsIHcyLndpZHRoLCAyMCk7CgogICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gdGhpcy5saW5lU3R5bGU7CiAgICAgICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJjZW50ZXIiOwoKICAgICAgICAgICAgdGhpcy5jdHguZmlsbFRleHQoY2xvc2VUZXh0LCB0VmFsMiwgdGhpcy5jaGFydC5oZWlnaHQgLSA1KTsKCgogICAgICAgICAgICB2YXIgc3RhcnRUWCA9IHRoaXMuY2hhcnQuZ2V0WChzdGFydFRpbWUpOwogICAgICAgICAgICB2YXIgZW5kVFggPSB0aGlzLmNoYXJ0LmdldFgoZW5kVGltZSk7CiAgICAgICAgICAgIHZhciBwcmljZVkgPSB0aGlzLmNoYXJ0LmdldFkocHJpY2UpOwoKICAgICAgICAgICAgLy9jdHguYXJjKHN0YXJ0VFgsIHByaWNlWSwgNCwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTsKICAgICAgICAgICAgdGhpcy5jdHguYXJjKGVuZFRYLCBwcmljZVksIDQsIDAsIDIgKiBNYXRoLlBJLCBmYWxzZSk7CiAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7CiAgICAgICAgICAgIHRoaXMuY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICB0aGlzLmN0eC5tb3ZlVG8oc3RhcnRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgaWYgKGNhbGwpIHsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYICsgMTUsIHByaWNlWSAtIDE1KTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYICsgMzAsIHByaWNlWSk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5saW5lVG8oc3RhcnRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxDb2xvciA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbCgpOwogICAgICAgICAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5mb250ID0gdGhpcy5jaGFydC5jb25maWcub3JkZXIucHJpY2UuZm9udDsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMubGluZVN0eWxlOwogICAgICAgICAgICAgICAgdGhpcy5jdHgudGV4dEFsaWduID0gImxlZnQiOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbFRleHQocHJpY2UsIHN0YXJ0VFggKyAzMCwgcHJpY2VZIC0gNSk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsVGV4dChhbW91bnQsIHN0YXJ0VFggKyAzMCwgcHJpY2VZICsgMTUpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHN0YXJ0VFggKyAxNSwgcHJpY2VZICsgMTUpOwogICAgICAgICAgICAgICAgdGhpcy5jdHgubGluZVRvKHN0YXJ0VFggKyAzMCwgcHJpY2VZKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhzdGFydFRYLCBwcmljZVkpOwogICAgICAgICAgICAgICAgdGhpcy5jdHguZmlsbENvbG9yID0gdGhpcy5saW5lU3R5bGU7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZvbnQgPXRoaXMuY2hhcnQuY29uZmlnLm9yZGVyLnByaWNlLmZvbnQ7CiAgICAgICAgICAgICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxUZXh0KHByaWNlLCBzdGFydFRYICsgMzAsIHByaWNlWSArIDE1KTsKICAgICAgICAgICAgICAgIHRoaXMuY3R4LmZpbGxUZXh0KGFtb3VudCwgc3RhcnRUWCArIDMwLCBwcmljZVkgLSA1KTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgdGhpcy5jdHguc3Ryb2tlU3R5bGUgPSB0aGlzLmxpbmVTdHlsZTsKICAgICAgICAgICAgdGhpcy5jdHgubGluZVdpZHRoID0gMjsKICAgICAgICAgICAgdGhpcy5jdHgubW92ZVRvKHN0YXJ0VFgsIHByaWNlWSk7CiAgICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhlbmRUWCwgcHJpY2VZKTsKICAgICAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBDYW5kbGUodGltZUlkLCBvcGVuLCBjbG9zZSwgbWluLCBtYXgsIGZha2UpIHsKICAgICAgICB0aGlzLnRpbWVJZCA9IHRpbWVJZDsKICAgICAgICB0aGlzLm9wZW4gPSBvcGVuOwogICAgICAgIHRoaXMuY2xvc2UgPSBjbG9zZTsKICAgICAgICB0aGlzLm1pbiA9IG1pbjsKICAgICAgICB0aGlzLm1heCA9IG1heDsKICAgICAgICB0aGlzLnBvcyA9IDA7CiAgICAgICAgdGhpcy5hbmltYXRpb24gPSAwOwogICAgICAgIHRoaXMuZmFrZSA9IGZha2U7CiAgICB9CiAgICBDYW5kbGUucHJvdG90eXBlLmRyYXcgPSBmdW5jdGlvbiAoY3R4LCBjaGFydCwgbnIsIHRvdGFsKSB7CiAgICAgICAgdmFyIG9mZnNldCA9IG5yICogKGNoYXJ0LmNhbmRsZVdpZHRoICsgMiAqIGNoYXJ0LmNhbmRsZXNGcmVlU3BhY2UpICsgY2hhcnQub2Zmc2V0OwogICAgICAgIGlmICh0aGlzLmFuaW1hdGlvbiA9PSAwKSB7CiAgICAgICAgICAgIHRoaXMuY2xvc2VUbyA9IHRoaXMuY2xvc2U7CiAgICAgICAgICAgIHRoaXMubWluVG8gPSB0aGlzLm1pbjsKICAgICAgICAgICAgdGhpcy5tYXhUbyA9IHRoaXMubWF4OwogICAgICAgICAgICB0aGlzLmNsb3NlID0gdGhpcy5vcGVuOwogICAgICAgICAgICB0aGlzLm1pbiA9IHRoaXMub3BlbjsKICAgICAgICAgICAgdGhpcy5tYXggPSB0aGlzLm9wZW47CiAgICAgICAgICAgIHRoaXMuZmlyc3QgPSBmYWxzZTsKICAgICAgICB9CiAgICAgICAgaWYgKHRoaXMuYW5pbWF0aW9uID09IDEyMCkgewogICAgICAgICAgICB0aGlzLmNsb3NlID0gdGhpcy5jbG9zZVRvOwogICAgICAgICAgICB0aGlzLm1pbiA9IHRoaXMubWluVG87CiAgICAgICAgICAgIHRoaXMubWF4ID0gdGhpcy5tYXhUbzsKICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYW5pbWF0aW9uIDwgMTIwKSB7CiAgICAgICAgICAgIHRoaXMuY2xvc2UgKz0gKHRoaXMuY2xvc2VUbyAtIHRoaXMuY2xvc2UpIC8gNTsKICAgICAgICAgICAgdGhpcy5taW4gKz0gKHRoaXMubWluVG8gLSB0aGlzLm1pbikgLyA1OwogICAgICAgICAgICB0aGlzLm1heCArPSAodGhpcy5tYXhUbyAtIHRoaXMubWF4KSAvIDU7CiAgICAgICAgfQogICAgICAgIHRoaXMuYW5pbWF0aW9uKys7CiAgICAgICAgdGhpcy5wb3NYID0gb2Zmc2V0IC0gY2hhcnQuY2FuZGxlV2lkdGggLSBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMjsKICAgICAgICB2YXIgZCA9IGNoYXJ0Lm5vdzsKICAgICAgICB2YXIgbWlsaSA9IGQgLSB0aGlzLnRpbWVJZDsKICAgICAgICBpZiAobnIgPT0gdG90YWwgLSAxKSB7CiAgICAgICAgICAgIHZhciB3VG90YWwgPSAoY2hhcnQuY2FuZGxlV2lkdGggKyBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMikgKiAwLjAwMSAqIG1pbGk7CiAgICAgICAgICAgIGNoYXJ0Lmxhc3RQb3NYID0gb2Zmc2V0ICsgd1RvdGFsIC0gY2hhcnQuY2FuZGxlV2lkdGggLSBjaGFydC5jYW5kbGVzRnJlZVNwYWNlICogMjsKICAgICAgICAgICAgOwogICAgICAgIH0KICAgICAgICB0aGlzLmRyYXdMaW5lKGN0eCwgY2hhcnQsIG9mZnNldCwgbnIsIHRvdGFsKTsKICAgIH07CiAgICBDYW5kbGUucHJvdG90eXBlLmRyYXdMaW5lID0gZnVuY3Rpb24gKGN0eCwgY2hhcnQsIG9mZnNldCwgbnIsIHRvdGFsKSB7CiAgICAgICAgaWYgKG5yID09IDApIHsKICAgICAgICAgICAgY3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICBjdHguc3Ryb2tlU3R5bGUgPSBjaGFydC5jb25maWcuY2hhcnQubGluZWFyLmNvbG9yOwogICAgICAgICAgICBjdHgubGluZVdpZHRoID0gNDsKICAgICAgICAgICAgY3R4Lm1vdmVUbyh0aGlzLnBvc1gsIGNoYXJ0LmdldFkodGhpcy5vcGVuKSk7CiAgICAgICAgfQogICAgICAgIGlmIChuciA8PSB0b3RhbCAtIDEpIHsKICAgICAgICAgICAgY3R4LmxpbmVUbyh0aGlzLnBvc1gsIGNoYXJ0LmdldFkodGhpcy5vcGVuKSk7CiAgICAgICAgfQogICAgICAgIGlmIChuciA9PSB0b3RhbCAtIDEpIHsKICAgICAgICAgICAgY3R4LmxpbmVUbyhjaGFydC5sYXN0UG9zWCwgY2hhcnQuZ2V0WSh0aGlzLmNsb3NlKSk7CiAgICAgICAgICAgIGN0eC5zdHJva2UoKTsKCiAgICAgICAgICAgIHZhciBncmQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgY2hhcnQuaGVpZ2h0IC0gMjApOwoKICAgICAgICAgICAgZm9yKHZhciBpPTA7aTxjaGFydC5jb25maWcuY2hhcnQubGluZWFyLmJnLmxlbmd0aDtpKyspIHsKICAgICAgICAgICAgICAgIGdyZC5hZGRDb2xvclN0b3AoaSwgY2hhcnQuY29uZmlnLmNoYXJ0LmxpbmVhci5iZ1tpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGdyZDsKICAgICAgICAgICAgY3R4LmxpbmVUbyhjaGFydC5sYXN0UG9zWCwgY2hhcnQuaGVpZ2h0IC0gMjApOwogICAgICAgICAgICBjdHgubGluZVRvKDAsIGNoYXJ0LmhlaWdodCAtIDIwKTsKICAgICAgICAgICAgY3R4LnNhdmUoKTsKICAgICAgICAgICAgY3R4LmZpbGwoKTsKICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTsKCiAgICAgICAgICAgIGN0eC5zYXZlKCk7CiAgICAgICAgICAgIGN0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgY3R4LnNoYWRvd0NvbG9yID0gY2hhcnQuY29uZmlnLmNoYXJ0LmxpbmVhci5wb2ludC5zaGFkb3c7CiAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBjaGFydC5jb25maWcuY2hhcnQubGluZWFyLnBvaW50LmJnOwogICAgICAgICAgICBpZiAoY2hhcnQuYmx1clBsdXMpIHsKICAgICAgICAgICAgICAgIGNoYXJ0LmJsdXIgKz0gNDAgLyA2MDsKICAgICAgICAgICAgICAgIGlmIChjaGFydC5ibHVyID4gMjApIHsKICAgICAgICAgICAgICAgICAgICBjaGFydC5ibHVyUGx1cyA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY2hhcnQuYmx1ciAtPSA0MCAvIDYwOwogICAgICAgICAgICAgICAgaWYgKGNoYXJ0LmJsdXIgPCAxKSB7CiAgICAgICAgICAgICAgICAgICAgY2hhcnQuYmx1clBsdXMgPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGN0eC5hcmMoY2hhcnQubGFzdFBvc1gsIGNoYXJ0LmdldFkodGhpcy5jbG9zZSksIGNoYXJ0LmJsdXIgLyA4ICsgMSwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTsKICAgICAgICAgICAgY3R4LnNoYWRvd0JsdXIgPSBjaGFydC5ibHVyOwogICAgICAgICAgICBjdHguZmlsbCgpOwoKICAgICAgICAgICAgY3R4LnJlc3RvcmUoKTsKICAgICAgICB9CiAgICB9OwoKICAgIGZ1bmN0aW9uIFRpY2sodGltZSwgcHJpY2UpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBwcmljZTogcHJpY2UsCiAgICAgICAgICAgIHRpbWU6IHRpbWUKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiByZXF1ZXN0QW5pbSBzaGltIGxheWVyIGJ5IFBhdWwgSXJpc2gKICAgICAqIEZpbmRzIHRoZSBmaXJzdCBBUEkgdGhhdCB3b3JrcyB0byBvcHRpbWl6ZSB0aGUgYW5pbWF0aW9uIGxvb3AsCiAgICAgKiBvdGhlcndpc2UgZGVmYXVsdHMgdG8gc2V0VGltZW91dCgpLgogICAgICovCiAgICB3aW5kb3cucmVxdWVzdEFuaW1GcmFtZSA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIHdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CiAgICAgICAgICAgICAgICB3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChjYWxsYmFjaykgewogICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApOwogICAgICAgICAgICAgICAgfTsKICAgIH0pKCk7CgogICAgY2ggPSB7CiAgICAgICAgbGluazogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgdmFyIGNoYXJ0OwogICAgICAgICAgICB2YXIgYW5pbWF0ZVN0b3AgPSBmYWxzZTsKICAgICAgICAgICAgdmFyIHNlcnZlclRpbWUgPSB7CiAgICAgICAgICAgICAgICBub3c6IERhdGUubm93CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBwcmVwYXJlZE9yZGVyID0gewogICAgICAgICAgICAgICAgc3ltYm9sOiAnRVVSL1VTRCcsCiAgICAgICAgICAgICAgICBvcHRpb25PZmY6IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApICogMTAwMCArIDEwMDAwLAogICAgICAgICAgICAgICAgb3B0aW9uRW5kOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAgKyAxMDAwMCwKICAgICAgICAgICAgICAgIHRpbWVGcmFtZTogMTAwMDAsCiAgICAgICAgICAgICAgICB0aW1lT2ZmOiAwCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjaGFydCA9IG5ldyBDaGFydChlbGVtZW50LCBzZXJ2ZXJUaW1lKTsKICAgICAgICAgICAgY2hhcnQucHJlcGFyZWRPcmRlciA9IHByZXBhcmVkT3JkZXI7CiAgICAgICAgICAgIHZhciBzeW1ib2wgPSBwcmVwYXJlZE9yZGVyLnN5bWJvbDsKICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICBjaGFydC5pbml0KCk7CgogICAgICAgICAgICB2YXIgcHAgPSAxMDkuNzc7CiAgICAgICAgICAgIHZhciBjYW5kbGVzQWRkID0gW3t0aW1lSWQ6IE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDApICogMTAwMCwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcH1dOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBjcCA9IGNhbmRsZXNBZGRbaV07CiAgICAgICAgICAgICAgICBwcCA9IGNwLmNsb3NlICsgTWF0aC5yb3VuZCgoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2hhcnQuYWRkQ2FuZGxlcyhjYW5kbGVzQWRkKTsKCgogICAgICAgICAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoc3RvbXApIHsKICAgICAgICAgICAgICAgIHZhciBjcCA9IGNoYXJ0LmNhbmRsZXNbMF07CiAgICAgICAgICAgICAgICB2YXIgbVAgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1QX0NBTEwgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1QX1BVVCA9IDA7CiAgICAgICAgICAgICAgICB2YXIgbWMgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1DX0NBTEwgPSAwOwogICAgICAgICAgICAgICAgdmFyIG1DX1BVVCA9IDA7CiAgICAgICAgICAgICAgICB2YXIgbWFya2FQaXpkZWMgPSAwOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNoYXJ0Lm9yZGVycy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIHZhciBvID0gY2hhcnQub3JkZXJzW2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChvLmNhbGwgJiYgby5lbmRUaW1lID4gRGF0ZS5ub3coKSkgewogICAgICAgICAgICAgICAgICAgICAgICBtYysrOwogICAgICAgICAgICAgICAgICAgICAgICBtUF9DQUxMICs9IG8ub3BlblByaWNlOwogICAgICAgICAgICAgICAgICAgICAgICBtQ19DQUxMKys7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghby5jYWxsICYmIG8uZW5kVGltZSA+IERhdGUubm93KCkgJiYgY3AuY2xvc2UgPiBvLm9wZW5QcmljZSkgewogICAgICAgICAgICAgICAgICAgICAgICBtYy0tCiAgICAgICAgICAgICAgICAgICAgICAgIG1QX1BVVCArPSBvLm9wZW5QcmljZTsKICAgICAgICAgICAgICAgICAgICAgICAgbUNfUFVUKys7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG1jID4gMCkgewogICAgICAgICAgICAgICAgICAgIG1QID0gbVBfQ0FMTCAvIG1DX0NBTEw7CiAgICAgICAgICAgICAgICAgICAgaWYgKG1QID4gY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2FQaXpkZWMgPSAxOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWMgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgbVAgPSBtUF9QVVQgLyBtQ19QVVQ7CiAgICAgICAgICAgICAgICAgICAgaWYgKG1QIDwgY3AuY2xvc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2FQaXpkZWMgPSAtMTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgcHAgPSBjcC5jbG9zZSArIE1hdGgucm91bmQoKE1hdGgucmFuZG9tKCkgLSAwLjUgKyBtYXJrYVBpemRlYyAqIDAuMSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICBjaGFydC5vblRpY2soe3RpbWVJZDogRGF0ZS5ub3coKSwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcCwgYXZnOiBwcH0pOwoKCiAgICAgICAgICAgIH0sIDUwMCk7CgogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnRuX2NhbGwiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgY2hhcnQub3JkZXJzLnB1c2goewogICAgICAgICAgICAgICAgICAgIGlkOiAxLAogICAgICAgICAgICAgICAgICAgIHN0YXR1czogIlNUQVJURUQiLAogICAgICAgICAgICAgICAgICAgIGFtb3VudDogMTAsCiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHByZXBhcmVkT3JkZXIub3B0aW9uRW5kLAogICAgICAgICAgICAgICAgICAgIG9wZW5QcmljZTogY2hhcnQuY2FuZGxlc1swXS5jbG9zZSwKICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHByZXBhcmVkT3JkZXIuc3ltYm9sLAogICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKICAgICAgICAgICAgICAgICAgICBjYWxsOiB0cnVlCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ0bl9wdXQiKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgY2hhcnQub3JkZXJzLnB1c2goewogICAgICAgICAgICAgICAgICAgIGlkOiAxLAogICAgICAgICAgICAgICAgICAgIHN0YXR1czogIlNUQVJURUQiLAogICAgICAgICAgICAgICAgICAgIGFtb3VudDogMTAsCiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAgIGVuZFRpbWU6IHByZXBhcmVkT3JkZXIub3B0aW9uRW5kLAogICAgICAgICAgICAgICAgICAgIG9wZW5QcmljZTogY2hhcnQuY2FuZGxlc1swXS5jbG9zZSwKICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHByZXBhcmVkT3JkZXIuc3ltYm9sLAogICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNEJywKICAgICAgICAgICAgICAgICAgICBjYWxsOiBmYWxzZQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIikub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCgogICAgICAgICAgICAgICAgdmFyIHBwID0gMTA5Ljc3OwogICAgICAgICAgICAgICAgdmFyIGNhbmRsZXNBZGQgPSBbewogICAgICAgICAgICAgICAgICAgIHRpbWVJZDogTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMTAwMCkgKiAxMDAwLAogICAgICAgICAgICAgICAgICAgIGNsb3NlOiBwcCwKICAgICAgICAgICAgICAgICAgICBvcGVuOiBwcCwKICAgICAgICAgICAgICAgICAgICBtaW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1heDogcHAKICAgICAgICAgICAgICAgIH1dOwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8PSAyMDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNwID0gY2FuZGxlc0FkZFtpXTsKICAgICAgICAgICAgICAgICAgICBwcCA9IGNwLmNsb3NlICsgTWF0aC5yb3VuZCgoTWF0aC5yYW5kb20oKSAtIDAuNSkgKiA0KSAvIDEwMDA7CiAgICAgICAgICAgICAgICAgICAgY2FuZGxlc0FkZC5wdXNoKHt0aW1lSWQ6IGNwLnRpbWVJZCAtIDUwMCwgY2xvc2U6IHBwLCBvcGVuOiBwcCwgbWluOiBwcCwgbWF4OiBwcH0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlcyA9IFtdOwogICAgICAgICAgICAgICAgY2hhcnQuYWRkQ2FuZGxlcyhjYW5kbGVzQWRkKTsKICAgICAgICAgICAgICAgIHZhciBlMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJFVVJVU0QiKTsKICAgICAgICAgICAgICAgIHZhciBlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJHQVpQUk9NIik7CiAgICAgICAgICAgICAgICB2YXIgZTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQXBwbGUiKTsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSA9IGUxLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMi5jbGFzc05hbWUgPSBlMi5jbGFzc05hbWUucmVwbGFjZSgndWktc3RhdGUtYWN0aXZlJywgJycpOwogICAgICAgICAgICAgICAgZTMuY2xhc3NOYW1lID0gZTMuY2xhc3NOYW1lICs9ICcgdWktc3RhdGUtYWN0aXZlJzsKICAgICAgICAgICAgICAgIGNoYXJ0LmNhbmRsZVdpZHRoVG8gPSA5OwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc0ZyZWVTcGFjZVRvID0gMzsKICAgICAgICAgICAgICAgIGNoYXJ0LmNhbmRsZXNPZmZzZXQgPSAxMDsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkdBWlBST00iKS5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewoKCiAgICAgICAgICAgICAgICB2YXIgcHAgPSAxNDguNzA7CiAgICAgICAgICAgICAgICB2YXIgY2FuZGxlc0FkZCA9IFt7CiAgICAgICAgICAgICAgICAgICAgdGltZUlkOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAsCiAgICAgICAgICAgICAgICAgICAgY2xvc2U6IHBwLAogICAgICAgICAgICAgICAgICAgIG9wZW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1pbjogcHAsCiAgICAgICAgICAgICAgICAgICAgbWF4OiBwcAogICAgICAgICAgICAgICAgfV07CiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY3AgPSBjYW5kbGVzQWRkW2ldOwogICAgICAgICAgICAgICAgICAgIHBwID0gY3AuY2xvc2UgKyBNYXRoLnJvdW5kKChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDQpIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzID0gW107CiAgICAgICAgICAgICAgICBjaGFydC5hZGRDYW5kbGVzKGNhbmRsZXNBZGQpOwogICAgICAgICAgICAgICAgdmFyIGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpOwogICAgICAgICAgICAgICAgdmFyIGUyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIik7CiAgICAgICAgICAgICAgICB2YXIgZTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR0FaUFJPTSIpOwogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lID0gZTEuY2xhc3NOYW1lLnJlcGxhY2UoJ3VpLXN0YXRlLWFjdGl2ZScsICcnKTsKICAgICAgICAgICAgICAgIGUyLmNsYXNzTmFtZSA9IGUyLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMy5jbGFzc05hbWUgPSBlMy5jbGFzc05hbWUgKz0gJyB1aS1zdGF0ZS1hY3RpdmUnOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CgoKICAgICAgICAgICAgICAgIHZhciBwcCA9IDEuMTQ7CiAgICAgICAgICAgICAgICB2YXIgY2FuZGxlc0FkZCA9IFt7CiAgICAgICAgICAgICAgICAgICAgdGltZUlkOiBNYXRoLnJvdW5kKERhdGUubm93KCkgLyAxMDAwKSAqIDEwMDAsCiAgICAgICAgICAgICAgICAgICAgY2xvc2U6IHBwLAogICAgICAgICAgICAgICAgICAgIG9wZW46IHBwLAogICAgICAgICAgICAgICAgICAgIG1pbjogcHAsCiAgICAgICAgICAgICAgICAgICAgbWF4OiBwcAogICAgICAgICAgICAgICAgfV07CiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IDIwOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICB2YXIgY3AgPSBjYW5kbGVzQWRkW2ldOwogICAgICAgICAgICAgICAgICAgIHBwID0gY3AuY2xvc2UgKyBNYXRoLnJvdW5kKChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIDQpIC8gMTAwMDsKICAgICAgICAgICAgICAgICAgICBjYW5kbGVzQWRkLnB1c2goe3RpbWVJZDogY3AudGltZUlkIC0gNTAwLCBjbG9zZTogcHAsIG9wZW46IHBwLCBtaW46IHBwLCBtYXg6IHBwfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzID0gW107CiAgICAgICAgICAgICAgICBjaGFydC5hZGRDYW5kbGVzKGNhbmRsZXNBZGQpOwogICAgICAgICAgICAgICAgdmFyIGUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFwcGxlIik7CiAgICAgICAgICAgICAgICB2YXIgZTIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR0FaUFJPTSIpOwogICAgICAgICAgICAgICAgdmFyIGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkVVUlVTRCIpOwogICAgICAgICAgICAgICAgZTEuY2xhc3NOYW1lID0gZTEuY2xhc3NOYW1lLnJlcGxhY2UoJ3VpLXN0YXRlLWFjdGl2ZScsICcnKTsKICAgICAgICAgICAgICAgIGUyLmNsYXNzTmFtZSA9IGUyLmNsYXNzTmFtZS5yZXBsYWNlKCd1aS1zdGF0ZS1hY3RpdmUnLCAnJyk7CiAgICAgICAgICAgICAgICBlMy5jbGFzc05hbWUgPSBlMy5jbGFzc05hbWUgKz0gJyB1aS1zdGF0ZS1hY3RpdmUnOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlV2lkdGhUbyA9IDk7CiAgICAgICAgICAgICAgICBjaGFydC5jYW5kbGVzRnJlZVNwYWNlVG8gPSAzOwogICAgICAgICAgICAgICAgY2hhcnQuY2FuZGxlc09mZnNldCA9IDEwOwogICAgICAgICAgICB9OwogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1jaGFydCIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhcnQtaG9sZGVyIik7CiAgICAgICAgICAgICAgICBlMS5jbGFzc05hbWUgPSBlMS5jbGFzc05hbWUucmVwbGFjZSgnZGVhbC1maW5pc2hlZCcsICcnKTsKICAgICAgICAgICAgICAgIGUxLmNsYXNzTmFtZSA9IGUxLmNsYXNzTmFtZS5yZXBsYWNlKCdsb29zZScsICcnKTsKICAgICAgICAgICAgICAgIGNoYXJ0Lm9yZGVycyA9IFtdOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdmFyIGFuaW1hdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoYW5pbWF0ZVN0b3ApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjaGFydC5hbmltYXRlKCk7CiAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbUZyYW1lKGFuaW1hdGUpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBhbmltYXRlKCk7CiAgICAgICAgfQogICAgfTsKICAgIChmdW5jdGlvbiAoKSB7CiAgICAgICAgY2gubGluayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhcnQtbScpKTsKICAgIH0pKCk7Cg=="}},"time_used":96,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.468Z","timestamp":1785136428468,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_screener_v1_widget.3c6dcb48241b38ad20cd.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-9324c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:53:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: dfe5c009e76b7e7a8248185458c72b2d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":602700,"size_decoded":163680,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (6334)","md5":"b07d7762afc64303abb48d31f9b49b37","sha1":"1c890e25377b837bc68ec086492e285e65d16c18","sha256":"1eb5c13d7babdf9d1b73d7ad5a55022781e5d3f382adc1ee187565d64a40827f","sha512":"a8f88cc675c375635ddd8bede571efff87e5328f1d0d90c979d7b07ebc0ae4eb81802b64a9d6eff50ce17142110fbbb224ff8fc3c4c22a1338431110a908c8b5","ssdeep":"12288:N5WOCvvhWwgPkUciIrBbM37JDMclwUYGZTw7yhLrLl1wrFh:N5WOitgPkDiIrBbM37JDMclwUYGZTw7N","tlshash":"8dd43a71a1a5293011f6c2dad8b66406623d2647f80604adfe7d8cdf168ee45f13bf3a","first_seen":"2026-07-25T03:24:57.336653Z","last_seen":"2026-07-28T04:58:42.134177Z","times_seen":291,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw0NjQ4Miw2NDAxOSw4MDkzOSw4NTYwNyw4NjkxNCw5MTI5Ml0sezg0ODUyNyhlKXtlLmV4cG9ydHM9e319LDE5NjIxKGUpe2UuZXhwb3J0cz17bGlzdDoibGlzdC1HTlc2QnZHbyIsaXRlbToiaXRlbS1HTlc2QnZHbyJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMjQ0NTI1KGUpe2UuZXhwb3J0cz17bG9hZGVyOiJsb2FkZXItTWdmOEVGd0siLHN0YXRpYzoic3RhdGljLU1nZjhFRndLIixpdGVtOiJpdGVtLU1nZjhFRndLIiwidHYtYnV0dG9uLWxvYWRlciI6InR2LWJ1dHRvbi1sb2FkZXItTWdmOEVGd0siLG1lZGl1bToibWVkaXVtLU1nZjhFRndLIixzbWFsbDoic21hbGwtTWdmOEVGd0siLGJsYWNrOiJibGFjay1NZ2Y4RUZ3SyIsd2hpdGU6IndoaXRlLU1nZjhFRndLIixncmF5OiJncmF5LU1nZjhFRndLIixwcmltYXJ5OiJwcmltYXJ5LU1nZjhFRndLIn19LDg0NTU3NyhlKXtlLmV4cG9ydHM9eyJ0di1zcGlubmVyX19jb250YWluZXItcm90YXRlIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSCIsInR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtcnRsIjoidHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1ydGwtajRKbHJZVkgifX0sNjI1NzA5KGUpe2UuZXhwb3J0cz17c21hbGw6InNtYWxsLXRXRElDVGF5IixtZWRpdW06Im1lZGl1bS10V0RJQ1RheSIsbGFyZ2U6ImxhcmdlLXRXRElDVGF5Iixzd2l0Y2hWaWV3OiJzd2l0Y2hWaWV3LXRXRElDVGF5IixjaGVja2VkOiJjaGVja2VkLXRXRElDVGF5IixkaXNhYmxlZDoiZGlzYWJsZWQtdFdESUNUYXkiLHRyYWNrOiJ0cmFjay10V0RJQ1RheSIsdGh1bWI6InRodW1iLXRXRElDVGF5In19LDY4NzU0NyhlKXtlLmV4cG9ydHM9e3N3aXRjaGVyOiJzd2l0Y2hlci1sM0R0S0xzTCIsaW5wdXQ6ImlucHV0LWwzRHRLTHNMIix0aHVtYldyYXBwZXI6InRodW1iV3JhcHBlci1sM0R0S0xzTCIsZGlzYWJsZWQ6ImRpc2FibGVkLWwzRHRLTHNMIixjaGVja2VkOiJjaGVja2VkLWwzRHRLTHNMIn19LDE3MjM3MShlKXtlLmV4cG9ydHM9e319LDc5MDUwMShlKXtlLmV4cG9ydHM9e319LDE2NzU1OShlKXtlLmV4cG9ydHM9e319LDQ4OTc1MihlKXtlLmV4cG9ydHM9e319LDQ1NTU3KGUpe2UuZXhwb3J0cz17fX0sNTUwNzA1KGUpe2UuZXhwb3J0cz17fX0sNTkzMjYzKGUpe2UuZXhwb3J0cz17fX0sOTIyMjA2KGUpe2UuZXhwb3J0cz17fX0sNTUxMjE1KGUpe2UuZXhwb3J0cz17ImZsaWNrLXRoZW1lLWRhcmsiOiJmbGljay10aGVtZS1kYXJrLXpQaVY2U1k0IixmbGljazoiZmxpY2stelBpVjZTWTQifX0sNDQ2OTU2KGUpe2UuZXhwb3J0cz17InR2LXB1bHNlLWFuaW1hdGlvbi1idXR0b24iOiJ0di1wdWxzZS1hbmltYXRpb24tYnV0dG9uLUFSZGJNMHlEIn19LDk1MjY4NihlKXtlLmV4cG9ydHM9e319LDk3NTI0NChlKXtlLmV4cG9ydHM9e319LDExMjYxMyhlKXtlLmV4cG9ydHM9e319LDgwNDYxOShlKXtlLmV4cG9ydHM9e319LDE1Mzc3KGUpe2UuZXhwb3J0cz17bW9kZVRpdGxlOiJtb2RlVGl0bGUtanNUM1M0TUEiLG1vZGVUaXRsZUFjdGl2ZToibW9kZVRpdGxlQWN0aXZlLWpzVDNTNE1BIixzd2l0Y2hlckNvbnRhaW5lcjoic3dpdGNoZXJDb250YWluZXItanNUM1M0TUEifX0sMzUxODI3KGUpe2UuZXhwb3J0cz17bGluazoibGluay1VSVFwTExOcyJ9fSw0NTAyOTUoZSl7ZS5leHBvcnRzPXt9fSw0NDM2MjAoZSl7ZS5leHBvcnRzPXt9fSw2NjIzOTIoZSl7ZS5leHBvcnRzPXt9fSwxMTQwNjgoZSl7ZS5leHBvcnRzPXsiY29tbW9uLXRvb2x0aXAiOiJjb21tb24tdG9vbHRpcC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1oaWRkZW4iOiJjb21tb24tdG9vbHRpcC0taGlkZGVuLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiOiJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiOiJjb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC1mYXJ0aGVyIjoiY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keSI6ImNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiOiJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiOiJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlLUVKQkQ5NnpYIiwKImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX3dpZGUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93IjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdy1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIjoiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXIiOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0IjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0LUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iOiJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iOiJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduLUVKQkQ5NnpYIn19LDg1NzAxOShlKXtlLmV4cG9ydHM9e319LDI2MjMxOShlKXtlLmV4cG9ydHM9e319LDk1MDc3MShlKXtlLmV4cG9ydHM9e319LDgzMjIyNihlKXtlLmV4cG9ydHM9e319LDIwMjgxNShlKXtlLmV4cG9ydHM9e319LDM3NjQ1MChlKXtlLmV4cG9ydHM9e319LDYzODI4MihlKXtlLmV4cG9ydHM9e319LDg1NTc0MihlKXtlLmV4cG9ydHM9e319LDYyNTQxMShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItUFE1T18xTTciLHRvdWNoOiJ0b3VjaC1QUTVPXzFNNyJ9fSwyODY4MjAoZSl7ZS5leHBvcnRzPXt9fSwxMzMyNDMoZSl7ZS5leHBvcnRzPXt9fSwxMjE2NDUoZSl7ZS5leHBvcnRzPXtjb250YWluZXI6ImNvbnRhaW5lci1IVEJKbzliYSIsdG9wOiJ0b3AtSFRCSm85YmEifX0sNTcyMjQ5KGUpe2UuZXhwb3J0cz17d3JhcDoid3JhcC15emo3bHZLbiIsbGlzdDoibGlzdC15emo3bHZLbiIsaXRlbToiaXRlbS15emo3bHZLbiIsc2VsZWN0ZWQ6InNlbGVjdGVkLXl6ajdsdktuIixibHVpc2hJdGVtOiJibHVpc2hJdGVtLXl6ajdsdktuIixub1BhZGRpbmc6Im5vUGFkZGluZy15emo3bHZLbiJ9fSw2ODAyNShlKXtlLmV4cG9ydHM9e2VsZW1lbnRXcmFwOiJlbGVtZW50V3JhcC1MZVp3R2lCNiIsaXRlbXNXcmFwOiJpdGVtc1dyYXAtTGVad0dpQjYiLGl0ZW06Iml0ZW0tTGVad0dpQjYiLGFjdGl2ZToiYWN0aXZlLUxlWndHaUI2IixpdGVtQ29udGVudDoiaXRlbUNvbnRlbnQtTGVad0dpQjYiLGRyb3Bkb3duSXRlbToiZHJvcGRvd25JdGVtLUxlWndHaUI2Iixkcm9wZG93bkljb246ImRyb3Bkb3duSWNvbi1MZVp3R2lCNiIsZHJvcGRvd25MaXN0SXRlbToiZHJvcGRvd25MaXN0SXRlbS1MZVp3R2lCNiJ9fSw5MzAyMzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW5hYmxlOigpPT5jLGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmF9KTt2YXIgaT1vKDYzNTE4KTtjb25zdCBuPW5ldyBNYXAscj1uZXcgTWFwLHM9bmV3IFNldDtmdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gdDtjb25zdCBvPXIuZ2V0KGUpO3JldHVybiEhbyYmby5zb21lKGEpfWZ1bmN0aW9uIGwoZSx0KXtuLnNldChTdHJpbmcoZSksQm9vbGVhbih0KSl9ZnVuY3Rpb24gYyhlKXtsKGUsITApfSFmdW5jdGlvbigpe2Zvcihjb25zdFtlLHRdb2YgT2JqZWN0LmVudHJpZXMoaSkpaWYocy5hZGQoZSksInN1YnNldHMiaW4gdClmb3IoY29uc3QgbyBvZiB0LnN1YnNldHMpe3MuYWRkKG8pO2xldCB0PXIuZ2V0KG8pO3ZvaWQgMD09PXQmJih0PVtdLHIuc2V0KG8sdCkpLHQucHVzaChlKX19KCksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzJiZBcnJheS5pc0FycmF5KF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2woZSwhMSl9KSksIm9iamVjdCI9PXR5cGVvZiBfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzKSYmX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLmZvckVhY2goYyl9LDM4NDAxNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmZXRjaDooKT0+cn0pO3ZhciBpPW8oMjIxMDYxKTtvKDMwMDI4Nik7Y29uc3Qgbj0oMCxpLmdldExvZ2dlcikoIkZldGNoIik7ZnVuY3Rpb24gcihlLHQsbz17fSl7e2NvbnN0e2xvZ09uRXJyb3JTdGF0dXM6aT0hMCxsb2dCb2R5T25FcnJvcjpyPSExfT1vO3Q9dHx8e30sZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKS5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW59KGUpJiYodC5oZWFkZXJzP3QuaGVhZGVycyBpbnN0YW5jZW9mIEhlYWRlcnN8fCh0LmhlYWRlcnM9bmV3IEhlYWRlcnModC5oZWFkZXJzKSk6dC5oZWFkZXJzPW5ldyBIZWFkZXJzLHdpbmRvdy5sb2NhbGUmJnQuaGVhZGVycy5zZXQoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpLHQuaGVhZGVycy5zZXQoIlgtUmVxdWVzdGVkLVdpdGgiLCJYTUxIdHRwUmVxdWVzdCIpKSx2b2lkIDA9PT10LmNyZWRlbnRpYWxzJiYodC5jcmVkZW50aWFscz0ic2FtZS1vcmlnaW4iKTtjb25zdCBzPXdpbmRvdy5mZXRjaChlLHQpO3JldHVybiBzLnRoZW4oKG89PntpZighby5vayYmaSl7bGV0IGk9IiI7dC5tZXRob2QmJihpKz1gJHt0Lm1ldGhvZC50b1VwcGVyQ2FzZSgpfSBgKSxpKz1lLGkrPWAuIFN0YXR1cyAke28uc3RhdHVzfWAsby5zdGF0dXNUZXh0JiYoaSs9YC4gJHtvLnN0YXR1c1RleHR9YCksCm8uaGVhZGVycy52aWEmJihpKz1gLiBWaWE6ICR7by5oZWFkZXJzLnZpYX1gKSxyJiYic3RyaW5nIj09dHlwZW9mIHQuYm9keSYmKGkrPWAuIEJvZHk6ICR7dC5ib2R5LnNsaWNlKDAsMTAyNCl9YCksbi5sb2dFcnJvcihpKX1yZXR1cm4gb30pLChvPT57aWYobyYmIkFib3J0RXJyb3IiPT09by5uYW1lKXJldHVybjtsZXQgaT0iIjt0Lm1ldGhvZCYmKGkrPWAke3QubWV0aG9kLnRvVXBwZXJDYXNlKCl9IGApLGkrPWUsbmF2aWdhdG9yLm9uTGluZT9pKz1gLiAke1N0cmluZyhvKX1gOmkrPSIuIFVzZXIgaXMgb2ZmbGluZS4iLG4ubG9nRXJyb3IoaSl9KSksc319fSwxNzk3NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW1pdDooKT0+YyxzdWJzY3JpYmU6KCk9PmwsdW5zdWJzY3JpYmU6KCk9PmF9KTt2YXIgaT1vKDk0ODM4MCk7Y29uc3Qgbj17fSxyPVtdLHM9e307ZnVuY3Rpb24gYShlLHQsbyl7bltlXS51bnN1YnNjcmliZShvLHQpfWZ1bmN0aW9uIGwoZSx0LG8scil7bi5oYXNPd25Qcm9wZXJ0eShlKXx8KG5bZV09bmV3IGkuRGVsZWdhdGUpLHNbZV0/dC5jYWxsKG8pOm5bZV0uc3Vic2NyaWJlKG8sdCxyKX1mdW5jdGlvbiBjKGUsLi4udCl7Y29uc3Qgbz1bZV0uY29uY2F0KHQpO3IuZm9yRWFjaCgoZT0+e2UuYXBwbHkobnVsbCxvKX0pKSxuLmhhc093blByb3BlcnR5KGUpJiZuW2VdLmZpcmUuYXBwbHkobltlXSx0KX19LDkzMjM2NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVkxvY2FsU3RvcmFnZTooKT0+cn0pO2NvbnN0IGk9KDAsbygyMjEwNjEpLmdldExvZ2dlcikoIlRWTG9jYWxTdG9yYWdlIik7dmFyIG49ZnVuY3Rpb24oKXt0cnl7dGhpcy5pc0F2YWlsYWJsZT0hMCx0aGlzLmxvY2FsU3RvcmFnZT13aW5kb3cubG9jYWxTdG9yYWdlLHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oInR2bG9jYWxzdG9yYWdlLmF2YWlsYWJsZSIsInRydWUiKX1jYXRjaChlKXtkZWxldGUgdGhpcy5pc0F2YWlsYWJsZSxkZWxldGUgdGhpcy5sb2NhbFN0b3JhZ2V9dGhpcy5fdXBkYXRlTGVuZ3RoKCk7dHJ5e3RoaXMuX3JlcG9ydCgpfWNhdGNoKGUpe319O24ucHJvdG90eXBlLl9yZXBvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXZhaWxhYmxlKXtjb25zdCBlPTEwLHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZSsrKXtjb25zdCBvPXRoaXMua2V5KGUpO3QucHVzaCh7a2V5Om8sbGVuZ3RoOlN0cmluZyh0aGlzLmdldEl0ZW0obykpLmxlbmd0aH0pfXQuc29ydCgoKGUsdCk9PnQubGVuZ3RoLWUubGVuZ3RoKSk7Y29uc3Qgbz10LnNsaWNlKDAsZSk7dC5zb3J0KCgoZSx0KT0+dC5rZXkubGVuZ3RoLWUua2V5Lmxlbmd0aCkpO2NvbnN0IG49dC5zbGljZSgwLGUpO2kubG9nTm9ybWFsKGBUb3RhbCBhbW91bnQgb2Yga2V5cyBpbiBMb2NhbCBTdG9yYWdlOiAke3RoaXMubGVuZ3RofWApLGkubG9nTm9ybWFsKGBUb3AgJHtlfSBrZXlzIHdpdGggbG9uZ2VzdCB2YWx1ZXM6ICR7SlNPTi5zdHJpbmdpZnkobyl9YCksaS5sb2dOb3JtYWwoYFRvcCAke2V9IGxvbmdlc3Qga2V5IG5hbWVzOiAke0pTT04uc3RyaW5naWZ5KG4pfWApO3RyeXtuYXZpZ2F0b3Iuc3RvcmFnZS5lc3RpbWF0ZSgpLnRoZW4oKGU9PntpLmxvZ05vcm1hbChgU3RvcmFnZSBlc3RpbWF0ZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKX0pKX1jYXRjaChlKXt9fX0sbi5wcm90b3R5cGUubGVuZ3RoPTAsbi5wcm90b3R5cGUuaXNBdmFpbGFibGU9ITEsbi5wcm90b3R5cGUubG9jYWxTdG9yYWdlPXsidHZsb2NhbHN0b3JhZ2UuYXZhaWxhYmxlIjoiZmFsc2UifSxuLnByb3RvdHlwZS5fdXBkYXRlTGVuZ3RoPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0F2YWlsYWJsZSl0aGlzLmxlbmd0aD10aGlzLmxvY2FsU3RvcmFnZS5sZW5ndGg7ZWxzZXt2YXIgZSx0PTA7Zm9yKGUgaW4gdGhpcy5sb2NhbFN0b3JhZ2UpdGhpcy5sb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoZSkmJnQrKzt0aGlzLmxlbmd0aD10fX0sbi5wcm90b3R5cGUua2V5PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLmtleShlKTpPYmplY3Qua2V5cyh0aGlzLmxvY2FsU3RvcmFnZSlbZV19LG4ucHJvdG90eXBlLmdldEl0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTp2b2lkIDA9PT10aGlzLmxvY2FsU3RvcmFnZVtlXT9udWxsOnRoaXMubG9jYWxTdG9yYWdlW2VdfSxuLnByb3RvdHlwZS5zZXRJdGVtPWZ1bmN0aW9uKGUsdCl7dGhpcy5pc0F2YWlsYWJsZT90aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKGUsdCk6dGhpcy5sb2NhbFN0b3JhZ2VbZV09dCx0aGlzLl91cGRhdGVMZW5ndGgoKX0sbi5wcm90b3R5cGUucmVtb3ZlSXRlbT1mdW5jdGlvbihlKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSk6ZGVsZXRlIHRoaXMubG9jYWxTdG9yYWdlW2VdLHRoaXMuX3VwZGF0ZUxlbmd0aCgpfSxuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuaXNBdmFpbGFibGU/dGhpcy5sb2NhbFN0b3JhZ2UuY2xlYXIoKTp0aGlzLmxvY2FsU3RvcmFnZT17fSx0aGlzLl91cGRhdGVMZW5ndGgoKX07Y29uc3Qgcj1uZXcgbjt3aW5kb3cuVFZMb2NhbFN0b3JhZ2U9cn0sODY1NTYwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RWQXBwQ29udGV4dDooKT0+YyxUVkFwcENvbnRleHRQcm92aWRlcjooKT0+bH0pO3ZhciBpPW8oNzc5NDc0KSxuPW8oMTE1MjkzKSxyPW8oOTk5NTEpLHM9bygxMTczMTMpO2NvbnN0IGE9e2lPczoib2xkIixhbmRyb2lkOiJuZXciLG9sZDoib2xkIixuZXc6Im5ldyIsYW55OiJhbnkifTtmdW5jdGlvbiBsKGUpe2NvbnN0W3RdPSgwLGkudXNlU3RhdGUpKHtpc09uTW9iaWxlQXBwUGFnZTplPT4oMCxzLmlzT25Nb2JpbGVBcHBQYWdlKShhW2VdKSxpc1J0bDooMCxuLmlzUnRsKSgpLGxvY2FsZTp3aW5kb3cubG9jYWxlLHJlbmRlck1vZGU6ZS5yZW5kZXJNb2RlPz8ibGVnYWN5In0pO3JldHVybiBpLmNyZWF0ZUVsZW1lbnQoci5BcHBDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp0Cn0sZS5jaGlsZHJlbil9Y29uc3QgYz1yLkFwcENvbnRleHR9LDU3MTMwMChlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7Y3JlYXRlUmVhY3RSb290OigpPT5hfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9bygzMzYzMzQpLHM9byg4NjU1NjApO2Z1bmN0aW9uIGEoZSx0LG89ImxlZ2FjeSIpe2NvbnN0IGE9aS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sZSk7aWYoIm1vZGVybiI9PT1vKXtjb25zdCBlPSgwLHIuY3JlYXRlUm9vdCkodCk7cmV0dXJuIGUucmVuZGVyKGEpLHtyZW5kZXIodCl7ZS5yZW5kZXIoaS5jcmVhdGVFbGVtZW50KHMuVFZBcHBDb250ZXh0UHJvdmlkZXIse3JlbmRlck1vZGU6b30sdCkpfSx1bm1vdW50KCl7ZS51bm1vdW50KCl9fX1yZXR1cm4gbi5yZW5kZXIoYSx0KSx7cmVuZGVyKGUpe24ucmVuZGVyKGkuY3JlYXRlRWxlbWVudChzLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOm99LGUpLHQpfSx1bm1vdW50KCl7bi51bm1vdW50Q29tcG9uZW50QXROb2RlKHQpfX19fSw5MDk3OTgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Zmx1c2hEZWxlZ2F0ZTooKT0+aX0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSl9LDg1NjE5NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG91bGRBZmZlY3RVc2VyOigpPT5sfSk7dmFyIGk9bygxMDA1OTUpLG49by5uKGkpLHI9byg5MzIzNjUpO2NvbnN0IHM9ImZlYXR1cmV0b2dnbGVfc2VlZCI7ZnVuY3Rpb24gYShlKXt0cnl7Y29uc3QgdD1uKCkoZStmdW5jdGlvbigpe2lmKHdpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pZClyZXR1cm4gd2luZG93LnVzZXIuaWQ7Y29uc3QgZT1yLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocyk7aWYobnVsbCE9PWUpcmV0dXJuIGU7Y29uc3QgdD1NYXRoLmZsb29yKDFlNipNYXRoLnJhbmRvbSgpKTtyZXR1cm4gci5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHMsYCR7dH1gKSx0fSgpKSxvPW5ldyBEYXRhVmlldyh0KTtyZXR1cm4gby5nZXRVaW50MzIoMCwhMCkvNDI5NDk2NzI5Nn1jYXRjaChlKXtyZXR1cm4uNX19ZnVuY3Rpb24gbChlLHQpe3JldHVybiBhKGUpPD10fX0sMTU2ODUwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RlbGVtZXRyeTooKT0+aH0pO3ZhciBpPW8oOTQ4MzgwKSxuPW8oMjIxMDYxKSxyPW8oMzg0MDE3KSxzPW8oMzc3MjI2KSxhPW8oMTE3MzEzKTtvKDMwMDI4Nik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIkNvbW1vbi5UZWxlbWV0cnkiKSxjPXtkZWZhdWx0OjE1ZTMsc2l0ZTozZTV9LGQ9WyJiZWZvcmVfd2Vic29ja2V0X2Nvbm5lY3Rpb25fdGltZV9mcmFtZSIsIndlYnNvY2tldF9jb25uZWN0aW9uX3RpbWVfZnJhbWUiLCJmaXJzdF9zZXJpZXNfZnVsbF90aW1lX2ZyYW1lIiwicGFnZV9mdWxsX2xvYWRfdGltZV9mcmFtZSIsInBhZ2VfbG9hZF90aW1lX2ZyYW1lIl07Y29uc3QgaD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJlcG9ydFNlbnQ9bmV3IGkuRGVsZWdhdGUsdGhpcy50aW1lQ291bnRlcnM9e3Nlcmllczp7bWFya3M6W119LHN0dWR5Ont9LHBpbmU6e319LHRoaXMuX3RpbWVvdXRJZHM9e30sdGhpcy5fY29tbW9uQWRkaXRpb25hbERhdGE9e2NsdXN0ZXI6bnVsbCx1c2VySWQ6IjAifSx0aGlzLl9yZXBvcnRTdGFzaD17fX1zZXRTZXNzaW9uSW5mbyhlKXtjb25zdCB0PXRoaXMuX3BhcnNlQ2x1c3RlcihlKTtudWxsIT09dCYmKHRoaXMuX2NvbW1vbkFkZGl0aW9uYWxEYXRhLmNsdXN0ZXI9dCl9c2VuZFJlcG9ydChlLHQsbyl7aWYoIXRoaXMuX2lzQWJsZVRvU2VuZFJlcG9ydCh0KSlyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRTdWJzZXJ2aWNlVHlwZShlKSxuPXRoaXMuX2dldEhvc3QoZSxpKTtpZihudWxsIT09bil7aWYobz12b2lkIDA9PT1vP3tjb3VudDoxfTpvLHRoaXMuX2FkZFJlcG9ydFRvU3Rhc2gobyx0LG4pLCF0aGlzLl90aW1lb3V0SWRzW2VdKXtjb25zdCB0PWNbZV0/P2MuZGVmYXVsdDt0aGlzLl90aW1lb3V0SWRzW2VdPXNldFRpbWVvdXQodGhpcy5fc2VuZFRlbGVtZXRyeVRvU2VydmljZS5iaW5kKHRoaXMsZSxuKSx0KX19ZWxzZSBsLmxvZ0Vycm9yKGBVbmFibGUgdG8gZ2V0IGhvc3QgZm9yIGNvdW50ZXI6ICR7dH0sIG1ldHJpYyB0eXBlOiAke2V9LCBzZXJpdmNlIHR5cGU6ICR7aX1gKX1zZW5kQ2hhcnRSZXBvcnQoZSx0LG89ITApe3RoaXMuX3NlbmRTZXJ2aWNlU3BlY2lmaWVkUmVwb3J0KCJjaGFydHMiLGUsdCxvKX1zZW5kTGluZVRvb2xzU3RvcmFnZVJlcG9ydChlLHQsbz0hMCl7dGhpcy5fc2VuZFNlcnZpY2VTcGVjaWZpZWRSZXBvcnQoImxpbmVfdG9vbHNfc3RvcmFnZSIsZSx0LG8pfV9zZW5kU2VydmljZVNwZWNpZmllZFJlcG9ydChlLHQsbyxpPSEwKXt0aGlzLl91cGRhdGVVc2VySW5mbygpLG89dm9pZCAwPT09bz97Y291bnQ6MX06byxpJiYobz10aGlzLl9hcHBlbmRDb21tb25BZGRpdGlvbmFsSW5mbyhvLFsiY2x1c3RlciIsInVzZXJJZCJdKSksdGhpcy5zZW5kUmVwb3J0KGUsdCxvKX1fdXBkYXRlVXNlckluZm8oKXtjb25zdCBlPSJ1c2VyImluIHdpbmRvdyYmImlkImluIHdpbmRvdy51c2VyP3dpbmRvdy51c2VyLmlkOiIwIjt0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YS51c2VySWQ9U3RyaW5nKGUpfV9pc0FibGVUb1NlbmRSZXBvcnQoZSl7Y29uc3QgdD13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLG89ZC5pbmNsdWRlcyhlKSxpPUJvb2xlYW4od2luZG93LlRyYWRpbmdWaWV3Py5vbkNoYXJ0UGFnZXx8KDAscy5vbldpZGdldCkoKSk7cmV0dXJuIHQmJighb3x8aSl9X3NlbmRUZWxlbWV0cnlUb1NlcnZpY2UoZSx0KXtpZih0aGlzLl9yZXBvcnRTdGFzaC5oYXNPd25Qcm9wZXJ0eSh0KSl7Y29uc3QgZT10aGlzLl9jcm9wUGFyYW1zKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxvPXRoaXMuX3JlbmFtZUFsbFBhcmFtcyhlKSxpPXtldmVudDoicmVwb3J0X3N0YXNoIixwYXJhbXM6dGhpcy5fY2xlYW5BbGxQYXJhbXMobyl9CjtsLmxvZ0RlYnVnKGBSZXBvcnQgdG8gaG9zdDogJHt0fTsgc3Rhc2g6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5fcmVwb3J0U3Rhc2hbdF0pfWApLHRoaXMucmVwb3J0U2VudC5maXJlKHRoaXMuX3JlcG9ydFN0YXNoW3RdKSxkZWxldGUgdGhpcy5fcmVwb3J0U3Rhc2hbdF0sKDAsci5mZXRjaCkoYCR7dH0vcmVwb3J0YCx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSl9dGhpcy5fdGltZW91dElkc1tlXT1udWxsfV9nZXRIb3N0KGUsdCl7Y29uc3Qgbz13aW5kb3cuVEVMRU1FVFJZX0hPU1RTLGk9b1tlXSYmb1tlXVt0XTtyZXR1cm4gQm9vbGVhbihpKT9pOm51bGx9X2dldFN1YnNlcnZpY2VUeXBlKGUpe2lmKCFbImNoYXJ0cyIsInNpdGUiXS5pbmNsdWRlcyhlKSlyZXR1cm4iYWxsIjtsZXQgdD0iZnJlZSI7Y29uc3Qgbz13aW5kb3cudXNlci5pc19wcm87cmV0dXJuImNoYXJ0cyI9PT1lJiYoMCxhLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/dD1vPyJpb3NfcHJvIjoiaW9zX2ZyZWUiOiJjaGFydHMiPT09ZSYmKDAsYS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpP3Q9bz8iYW5kcm9pZF9wcm8iOiJhbmRyb2lkX2ZyZWUiOigwLHMub25XaWRnZXQpKCk/dD0id2lkZ2V0IjpvJiYodD0icHJvIiksdH1fcGFyc2VDbHVzdGVyKGUpe2xldCB0O3RyeXt0PUpTT04ucGFyc2UoZSkuc2Vzc2lvbl9pZH1jYXRjaChlKXtyZXR1cm4gbC5sb2dFcnJvcigiQ291bGQgbm90IHBhcnNlIGNsdXN0ZXIgaWQgKHNlc3Npb24gaWQpIiksbnVsbH1jb25zdCBvPS8oLipAKSguKikvZ2kuZXhlYyh0KTtyZXR1cm4gbnVsbCE9PW8mJm8ubGVuZ3RoPj0zP29bMl06bnVsbH1fYXBwZW5kQ29tbW9uQWRkaXRpb25hbEluZm8oZSx0KXtyZXR1cm4gdC5mb3JFYWNoKCh0PT57dCBpbiB0aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YSYmKGUuYWRkaXRpb25hbD1lLmFkZGl0aW9uYWx8fHt9LGUuYWRkaXRpb25hbFt0XT10aGlzLl9jb21tb25BZGRpdGlvbmFsRGF0YVt0XSl9KSksZX1fY3JvcFBhcmFtcyhlKXtmb3IoY29uc3QgdCBpbiBlKWUuaGFzT3duUHJvcGVydHkodCkmJmVbdF0ubGVuZ3RoPjFlMyYmKGUudG9vX211Y2hfbWV0cmljc19mcmFtZT1lLnRvb19tdWNoX21ldHJpY3NfZnJhbWU/P1tdLGUudG9vX211Y2hfbWV0cmljc19mcmFtZS5wdXNoKHt2YWx1ZTplW3RdLmxlbmd0aCxhZGRpdGlvbmFsOntldmVudDp0fX0pLGRlbGV0ZSBlW3RdKTtyZXR1cm4gZX1fcmVuYW1lQWxsUGFyYW1zKGUpe2NvbnN0IHQ9e307Zm9yKGNvbnN0IG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1bXSxlW29dLmZvckVhY2goKGU9Pnt0W29dLnB1c2godGhpcy5fcmVuYW1lRW50cnlQYXJhbXMoZSkpfSkpKTtyZXR1cm4gdH1fcmVuYW1lRW50cnlQYXJhbXMoZSl7Y29uc3QgdD17Y291bnQ6ImMiLHZhbHVlOiJ2Iix0ZXh0OiJ0IixhZGRpdGlvbmFsOiJhIn07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKG8saSk9PihvW3RbaV1dPWVbaV0sbykpLHt9KX1fY2xlYW5BbGxQYXJhbXMoZSl7Y29uc3QgdD17fTtmb3IoY29uc3QgbyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobykpe3Rbb109W107Y29uc3QgaT17YzowfTtlW29dLmZvckVhY2goKGU9Pntjb25zdCBuPXRoaXMuX2NsZWFuRW50cnlQYXJhbXMoZSkscj1PYmplY3Qua2V5cyhuKS5sZW5ndGg7MT09PXImJnZvaWQgMCE9PW4uYz9pLmMrPW4uYzpyPjAmJnRbb10ucHVzaChuKX0pKSxpLmM+MCYmdFtvXS5wdXNoKGkpLDA9PT10W29dLmxlbmd0aCYmZGVsZXRlIHRbb119cmV0dXJuIHR9X2NsZWFuRW50cnlQYXJhbXMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKS5yZWR1Y2UoKCh0LG8pPT4iYyIhPT1vJiYidCIhPT1vfHxlW29dPyh0W29dPWVbb10sdCk6dCkse30pO3JldHVybiJjImluIHR8fCJ2ImluIHR8fCJ0ImluIHQ/dDp7fX1fYWRkUmVwb3J0VG9TdGFzaChlLHQsbyl7byBpbiB0aGlzLl9yZXBvcnRTdGFzaHx8KHRoaXMuX3JlcG9ydFN0YXNoW29dPXt9KSx0IGluIHRoaXMuX3JlcG9ydFN0YXNoW29dfHwodGhpcy5fcmVwb3J0U3Rhc2hbb11bdF09W10pLE9iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiZ0aGlzLl9yZXBvcnRTdGFzaFtvXVt0XS5wdXNoKGUpfX19LDczMjA0MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO2Z1bmN0aW9uIG4oZSx0PXdpbmRvdyl7Y29uc3Qgbz0idGhlbWUtIitlLGk9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIEFycmF5LmZyb20oaSkpZS5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmZSE9PW8mJmkucmVtb3ZlKGUpO2kuYWRkKG8pLHQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9ZX1vLmQodCx7YXBwbHlUaGVtZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2UuVGhlbWVDbGFzc1ByZWZpeD0idGhlbWUtIn0oaXx8KGk9e30pKX0sMjQ3OTAxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse1N0ZFRoZW1lOigpPT5pfSksZnVuY3Rpb24oZSl7ZS5MaWdodD0ibGlnaHQiLGUuRGFyaz0iZGFyayJ9KGl8fChpPXt9KSl9LDIwMDY2NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUaGVtZTooKT0+cyx3YXRjaGVkVGhlbWU6KCk9PnJ9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDczMjA0MCk7Y29uc3Qgcj1uZXcgaS5XYXRjaGVkVmFsdWU7ZnVuY3Rpb24gcyhlKXtyLnNldFZhbHVlKGUpfXIuc3Vic2NyaWJlKChlPT57KDAsbi5hcHBseVRoZW1lKShlLHdpbmRvdyl9KSl9LDM4NjkzMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0V2ZW50OigpPT5hfSk7dmFyIGk9bygyMjEwNjEpLG49byg5MzAyMzEpO28oMTc5NzcxKTtjb25zdCByPSgwLGkuZ2V0TG9nZ2VyKSgiQ29tbW9uLlRyYWNrRXZlbnQiKTtsZXQgcz0hMTtjb25zdCBhPShlLHQsbyk9PntpZihzKXJldHVybjtsZXQgaT0oZT9lKyI6IjoiIikrdDtvJiYoaSs9IiAiK28pLHIubG9nTm9ybWFsKGkpLCgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpfHwhd2luZG93Ll9VTklUX1RFU1RTJiZ3aW5kb3cuZ3RhZyYmd2luZG93Lmd0YWcoImV2ZW50Iix0LHsKZXZlbnRfY2F0ZWdvcnk6ZSxldmVudF9sYWJlbDpvfSl9O3ZhciBsLGMsZDshZnVuY3Rpb24oZSl7ZS5HVUk9IkdVSSJ9KGx8fChsPXt9KSksZnVuY3Rpb24oZSl7ZS5DaGFydEhlYWRlclRvb2xiYXI9IkNoYXJ0IEhlYWRlciBUb29sYmFyIixlLkNoYXJ0Qm90dG9tVG9vbGJhcj0iQ2hhcnQgQm90dG9tIFRvb2xiYXIiLGUuQ2hhcnRMZWZ0VG9vbGJhcj0iQ2hhcnQgTGVmdCBUb29sYmFyIixlLlRpbWVJbnRlcnZhbD0iVGltZSBJbnRlcnZhbCIsZS5Mb2FkQ2hhcnRMYXlvdXQ9IkxvYWQgY2hhcnQgbGF5b3V0In0oY3x8KGM9e30pKSxmdW5jdGlvbihlKXtlLlJhbmdlPSJyYW5nZSIsZS5Hb1RvPSJnbyB0byIsZS5DaGFydFByb3BlcnRpZXM9ImNoYXJ0IHByb3BlcnRpZXMiLGUuQ29tcGFyZT0iY29tcGFyZSIsZS5TZWxlY3RMYXlvdXQ9InNlbGVjdCBsYXlvdXQiLGUuTWFnbmV0TW9kZT0ibWFnbmV0IG1vZGUiLGUuTWFnbmV0U25hcHM9Im1hZ25ldCBzbmFwcyIsZS5EcmF3aW5nTW9kZT0iZHJhd2luZyBtb2RlIixlLkxvY2tBbGxEcmF3aW5nPSJsb2NrIGFsbCBkcmF3aW5nIixlLlJlbW92ZURyYXdpbmc9InJlbW92ZSBkcmF3aW5nIixlLlJlbW92ZUluZGljYXRvcj0icmVtb3ZlIGluZGljYXRvciIsZS5SZW1vdmVBbGw9InJlbW92ZSBhbGwiLGUuSGlkZURyYXdpbmdzPSJoaWRlIGRyYXdpbmdzIixlLkhpZGVJbmRpY2F0b3JzPSJoaWRlIGluZGljYXRvcnMiLGUuSGlkZVBvc2l0aW9ucz0iaGlkZSBwb3NpdGlvbnMiLGUuSGlkZUFsbD0iaGlkZSBhbGwiLGUuU3luYz0ic3luYyIsZS5TeW5jTW9kZT0ic3luYyBtb2RlIixlLlN3aXRjaENoYXJ0TGF5b3V0PSJTd2l0Y2ggY2hhcnQgbGF5b3V0IixlLkRlbGV0ZUNoYXJ0TGF5b3V0PSJEZWxldGUgY2hhcnQgbGF5b3V0IixlLkxvYWRDaGFydExheW91dD0iTG9hZCBjaGFydCBsYXlvdXQiLGUuQWRkVG9GYXZvcml0ZXM9IkFkZCB0byBmYXZvcml0ZXMiLGUuU29ydD0iU29ydCJ9KGR8fChkPXt9KSl9LDE1MjY5OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtUVlhXaW5kb3dFdmVudHM6KCk9PnN9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDkzMjM2NSk7Y29uc3Qgcj0oMCxpLmdldExvZ2dlcikoIlhXaW5kb3dFdmVudHMiKTt2YXIgczshZnVuY3Rpb24oZSl7Y29uc3QgdD0idHZ4d2V2ZW50cy4iLG89e307bGV0IGk7d2luZG93LkJyb2FkY2FzdENoYW5uZWw/KGk9bmV3IEJyb2FkY2FzdENoYW5uZWwoInR2eHdldmVudHMiKSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtjb25zdHtkYXRhOntldmVudDp0LHZhbHVlOml9fT1lO29bdF0mJm9bdF0uZm9yRWFjaCgoZT0+e2UoaSl9KSl9KSksZnVuY3Rpb24oKXtjb25zdCBlPVtdLG89cGVyZm9ybWFuY2Uubm93KCk7Zm9yKGxldCBvPTA7bzxuLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtvKyspe2NvbnN0IGk9bi5UVkxvY2FsU3RvcmFnZS5rZXkobyk7aS5zdGFydHNXaXRoKHQpJiZlLnB1c2goaSl9Y29uc3QgaT1uLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDtmb3IoY29uc3QgdCBvZiBlKW4uVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KTtjb25zdCBzPXBlcmZvcm1hbmNlLm5vdygpLW87ci5sb2dOb3JtYWwoYFRvdGFsIGtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2Ugb24gb3BlcmF0aW9uIHN0YXJ0OiAke2l9YCksci5sb2dOb3JtYWwoYEtleXMgYW1vdW50IGluIGxvY2FsIHN0b3JhZ2UgdG8gYmUgZGVsZXRlZDogJHtlLmxlbmd0aH1gKSxyLmxvZ05vcm1hbChgS2V5cyB0byBiZSBkZWxldGVkIGZyb20gbG9jYWwgc3RvcmFnZTogJHtKU09OLnN0cmluZ2lmeShlKX1gKSxyLmxvZ05vcm1hbChgUmVtb3Zpbmcga2V5cyBmcm9tIGxvY2FsIHN0b3JhZ2UgdG9vayAke3N9IG1zYCl9KCkpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIiwoZnVuY3Rpb24oZSl7Y29uc3R7bmV3VmFsdWU6aSxrZXk6cn09ZTtpZihudWxsPT09aXx8IXJ8fCFyLnN0YXJ0c1dpdGgodCkpcmV0dXJuO2NvbnN0IHM9ci5zdWJzdHJpbmcoMTEpO29bc10mJm9bc10uZm9yRWFjaCgodD0+e3QoZS5uZXdWYWx1ZSl9KSk7bi5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHIpfSkpLGUub249ZnVuY3Rpb24oZSx0KXtvW2VdfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxlLm9mZj1mdW5jdGlvbihlLHQpe2lmKCFvW2VdKXJldHVybjtjb25zdCBpPW9bZV0uaW5kZXhPZih0KTstMSE9PWkmJigxPT09b1tlXS5sZW5ndGg/ZGVsZXRlIG9bZV06b1tlXS5zcGxpY2UoaSwxKSl9LGUuZW1pdD1mdW5jdGlvbihlLG89RGF0ZS5ub3coKSl7dHJ5e2k/aS5wb3N0TWVzc2FnZSh7ZXZlbnQ6ZSx2YWx1ZTpvfSk6bi5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKHQrZSxvLnRvU3RyaW5nKCkpfWNhdGNoKGUpe3IubG9nRXJyb3IoZS5tZXNzYWdlKX19fShzfHwocz17fSkpfSw3MDA4MDkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVDRU1CRVI6KCk9PmcsRklSU1RfREFZX09GX1dFRUs6KCk9Pl8sRlJJREFZOigpPT5oLEpBTlVBUlk6KCk9Pm0sTEFTVF9EQVlfT0ZfV0VFSzooKT0+cCxNT05EQVk6KCk9PmEsU0FUVVJEQVk6KCk9PnUsU1VOREFZOigpPT5zLFRIVVJTREFZOigpPT5kLFRVRVNEQVk6KCk9PmwsV0VETkVTREFZOigpPT5jLGFkZF9kYXRlOigpPT5JLGFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdDooKT0+TSxhZGRfbWludXRlczooKT0+UixjYWxfdG9fdXRjOigpPT5WLGNsb25lOigpPT5MLGRheXNfcGVyX3llYXI6KCk9PkQsZ2V0X2NhbDooKT0+JCxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PlcsZ2V0X2NhbF91dGM6KCk9PnEsZ2V0X2RheV9vZl9tb250aDooKT0+QyxnZXRfZGF5X29mX3dlZWs6KCk9PmssZ2V0X2RheV9vZl95ZWFyOigpPT5ULGdldF9taW51dGVzX2Zyb21fbWlkbmlnaHQ6KCk9PkUsZ2V0X21pbnV0ZXNfd2l0aF9ob3VyczooKT0+eCxnZXRfbW9udGg6KCk9PmIsZ2V0X3RpbWV6b25lOigpPT5ILGdldF95ZWFyOigpPT55LGlzX2xlYXBfeWVhcjooKT0+TyxtaW51dGVzUGVyRGF5OigpPT52LG1pbnV0ZXNQZXJXZWVrOigpPT5mLHNldF9obXM6KCk9PkEsCnNldF9zZWNvbmRzOigpPT5GLHRpbWVfc2Vjb25kczooKT0+Tix0aW1lX3NlY29uZHNfZGlmZjooKT0+UCx1dGNfdG9fY2FsOigpPT5CfSk7dmFyIGk9byg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlUmJih0PVUuaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBvPXQ7aWYoIW8udGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07by50aW1lX3V0Yz1yfXRoaXMudHo9b31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxvPXRoaXMudHoub2Zmc2V0LGk9eih0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPW9baV0tb1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQsbyl7Y29uc3QgaT16KGUsbyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgcz0xLGE9MixsPTMsYz00LGQ9NSxoPTYsdT03LF89cyxwPXUsbT0wLGc9MTEsdj0xNDQwLGY9MTAwODA7ZnVuY3Rpb24geShlKXtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUuZ2V0VVRDTW9udGgoKX1mdW5jdGlvbiBTKGUpe3JldHVybiBlLmdldFVUQ0hvdXJzKCl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZS5nZXRVVENNaW51dGVzKCl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gZS5nZXRVVENEYXkoKSsxfWZ1bmN0aW9uIFQoZSl7Y29uc3QgdD1lLmdldFVUQ01vbnRoKCk7bGV0IG89blt0XTtyZXR1cm4gdD5tKzEmJk8oZS5nZXRVVENGdWxsWWVhcigpKSYmKG8rPTEpLG8rZS5nZXRVVENEYXRlKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gNjAqUyhlKSt3KGUpfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIEUoZSl9ZnVuY3Rpb24gQShlLHQsbyxpLG4scil7ZS5zZXRVVENIb3Vycyh0KSxlLnNldFVUQ01pbnV0ZXMobyksZS5zZXRVVENTZWNvbmRzKGkpLGUuc2V0VVRDTWlsbGlzZWNvbmRzKG4pLHZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mobyk7ZS5zZXRUaW1lKG8raSl9KGUscil9ZnVuY3Rpb24gTShlLHQsbyl7Y29uc3QgaT1lLm9mZnNldF91dGModC5nZXRUaW1lKCkpLG49TCh0KTtJKG4sbyk7Y29uc3Qgcj1lLm9mZnNldF91dGMobi5nZXRUaW1lKCkpO3JldHVybiBuLnNldFRpbWUobi5nZXRUaW1lKCkraS1yKSxufWZ1bmN0aW9uIEkoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrODY0ZTUqdCl9ZnVuY3Rpb24gUihlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSs2MCp0KjFlMyl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IG89ODY0MDAsaT10JW88MD8tMTowLG49TWF0aC50cnVuYyh0L28pK2kscj10LW4qbyxzPU1hdGgudHJ1bmMoci8zNjAwKSxhPU1hdGgudHJ1bmMociUzNjAwLzYwKTtBKGUscyxhLHItMzYwMCpzLTYwKmEsMCksSShlLG4pfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIG5ldyBEYXRlKGUuZ2V0VGltZSgpKX1mdW5jdGlvbiBEKGUpe3JldHVybiBPKGUpPzM2NjozNjV9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiBOKGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuIEcoZSktRyh0KX1mdW5jdGlvbiBCKGUsdCl7cmV0dXJuIG5ldyBEYXRlKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz1lLm9mZnNldF91dGModCk7cmV0dXJuIHQrb30oZSx0KSl9ZnVuY3Rpb24gJChlLHQsbyxpLG4scixzKXtjb25zdCBhPW5ldyBEYXRlKERhdGUuVVRDKHQsbyxpLG58fDAscnx8MCxzfHwwKSksbD1lLm9mZnNldF91dGMoK2EpO3JldHVybiBuZXcgRGF0ZShhLnZhbHVlT2YoKS1sKX1mdW5jdGlvbiBXKGUsdCl7cmV0dXJuIG5ldyBEYXRlKHQrZS5vZmZzZXRfdXRjKHQpKX1mdW5jdGlvbiBxKGUsdCxvLGk9MCxuPTAscj0wKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoZSx0LG8saSxuLHIpKX1mdW5jdGlvbiBWKGUsdCxvKXtsZXQgaT10LmdldFRpbWUoKTtvJiYoaSs9ZS5jb3JyZWN0aW9uX2xvYyhpKSk7cmV0dXJuIGktZS5vZmZzZXRfbG9jKGkpfWZ1bmN0aW9uIEgoZSl7cmV0dXJuIG5ldyByKGUpfWxldCBVO2Z1bmN0aW9uIHooZSx0KXtjb25zdCBvPWUubGVuZ3RoO2lmKDA9PT1vKXJldHVybi0xO2lmKGlzTmFOKHQpKXRocm93IEVycm9yKCJLZXkgaXMgTmFOIik7bGV0IGk9MCxuPW8tMSxyPWooKGkrbikvMik7Zm9yKDs7KXtpZihlW3JdPnQpe2lmKG49ci0xLG48aSlyZXR1cm4gcn1lbHNlIGlmKGk9cisxLG48aSlyZXR1cm4gcjxvLTE/cisxOi0xO3I9aigoaStuKS8yKX19ZnVuY3Rpb24gaihlKXtyZXR1cm4gTWF0aC50cnVuYyhlKX1mdW5jdGlvbiBHKGUpe3JldHVybiBlPDA/aihlLzFlMyktKGUlMWUzIT0wPzE6MCk6aihlLzFlMyl9fSw3NzkzODkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWN0aW9uR3JvdXA6KCk9Pm59KTt2YXIgaT1vKDk5MjgwMyk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2FjdGlvbnM9bmV3IE1hcCx0aGlzLl9tYW5hZ2VyPWUsCnRoaXMub3JkZXI9dD8ub3JkZXI/PzAsdGhpcy5tb2RhbD0hKCF0fHwhdC5tb2RhbCksdCYmKHRoaXMuZGVzYz10LmRlc2MpLHQmJnQuaXNEaXNhYmxlZD8iZnVuY3Rpb24iPT10eXBlb2YgdC5pc0Rpc2FibGVkP3RoaXMuaXNEaXNhYmxlZD10LmlzRGlzYWJsZWQ6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMDp0aGlzLmlzRGlzYWJsZWQ9KCk9PiExLHRoaXMuX21hbmFnZXIucmVnaXN0ZXJHcm91cCh0aGlzKX1hZGQoZSl7bGV0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO3R8fCh0PVtdLHRoaXMuX2FjdGlvbnMuc2V0KGUuaG90a2V5LHQpKTtjb25zdCBvPW5ldyBpLkFjdGlvbih0aGlzLGUpO3JldHVybiB0LnB1c2gobyksb31yZW1vdmUoZSl7Y29uc3QgdD10aGlzLl9hY3Rpb25zLmdldChlLmhvdGtleSk7aWYoIXQpcmV0dXJuO2NvbnN0IG89dC5maW5kSW5kZXgoKHQ9PnQ9PT1lKSk7bz49MCYmKDE9PT10Lmxlbmd0aD90aGlzLl9hY3Rpb25zLmRlbGV0ZShlLmhvdGtleSk6dC5zcGxpY2UobywxKSl9aGFuZGxlSG90a2V5KGUsdCl7Y29uc3Qgbz10aGlzLl9hY3Rpb25zLmdldChlKTtpZighbylyZXR1cm4hMTtmb3IoY29uc3QgaSBvZiBvKWlmKCghaS5lbGVtZW50fHx0LnRhcmdldCYmaS5lbGVtZW50LmNvbnRhaW5zKHQudGFyZ2V0KSkmJiFpLmlzRGlzYWJsZWQodCkpcmV0dXJuIHQucmVwZWF0JiYhaS5pc1JlcGVhdEFjY2VwdGVkfHwoaS5oYW5kbGVyKHQpLHRoaXMuX2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKSksdC5wcmV2ZW50RGVmYXVsdCgpLCEwO3JldHVybiExfXByb21vdGUoKXt0aGlzLl9tYW5hZ2VyLnByb21vdGVHcm91cCh0aGlzKX1kZXN0cm95KCl7Zm9yKGNvbnN0WyxlXW9mIHRoaXMuX2FjdGlvbnMpZm9yKGNvbnN0IHQgb2YgZSl0LmRlc3Ryb3koKTt0aGlzLl9hY3Rpb25zLmNsZWFyKCksdGhpcy5fbWFuYWdlci51bnJlZ2lzdGVyR3JvdXAodGhpcyl9c3RhdGljIHNldE1hdGNoZWRIb3RrZXlIYW5kbGVyKGUpe24uX21hdGNoZWRIb3RrZXlIYW5kbGVyPWV9X2NhbGxNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlciYmbi5fbWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl9fX0sMjkxMzQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0FjdGlvbk1hbmFnZXI6KCk9Pmx9KTt2YXIgaT1vKDIzMjM2NCksbj1vKDIzNTcyNCkscj1vKDcyMTM2OSkscz1vKDY5NjIwOCk7Y2xhc3MgYSBleHRlbmRzIGkuV2F0Y2hlZFZhbHVle3NldFZhbHVlKGUsdCl7Y29uc3Qgbz10aGlzLnZhbHVlKCk7KHR8fHZvaWQgMD09PW98fG8uY29kZSE9PWUuY29kZXx8by5tb2RpZmllcnMhPT1lLm1vZGlmaWVycykmJnN1cGVyLnNldFZhbHVlKGUpfX1jbGFzcyBse2NvbnN0cnVjdG9yKCl7dGhpcy5fZ3JvdXBzPVtdLHRoaXMuX3ByZXNzZWRLZXlzPW5ldyBpLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGU9bmV3IGEobmV3IHMuS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDApKSx0aGlzLl9rZXlEb3duTGlzdGVuZXI9ZT0+e2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxuLmhhc2hGcm9tRXZlbnQpKGUpO2lmKHRoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHQpLHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5zZXRWYWx1ZShuZXcgcy5LZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLGUuY29kZSkpLCEoMCxyLmlzTmF0aXZlVUlJbnRlcmFjdGlvbikodCxlLnRhcmdldCkpZm9yKGxldCBvPXRoaXMuX2dyb3Vwcy5sZW5ndGg7by0tID4wOyl7Y29uc3QgaT10aGlzLl9ncm91cHNbb107aWYoIWkuaXNEaXNhYmxlZCgpKXtpZihpLmhhbmRsZUhvdGtleSh0LGUpKXJldHVybjtpZihpLm1vZGFsKXJldHVybn19fSx0aGlzLl9rZXlVcExpc3RlbmVyPWU9Pntjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksIiIpKX0sdGhpcy5fYmx1ckV2ZW50PSgpPT57dGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBzLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwLCIiKSl9LHRoaXMuX21vdXNlRXZlbnQ9ZT0+e2NvbnN0IHQ9KDAsbi5tb2RpZmllcnNGcm9tRXZlbnQpKGUpLG89MjU1Jih0aGlzLl9wcmVzc2VkS2V5cy52YWx1ZSgpPz8wKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0fG8pfX1saXN0ZW4oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9dW5saXN0ZW4oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlEb3duTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX2tleVVwTGlzdGVuZXIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fYmx1ckV2ZW50KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fbW91c2VFdmVudCl9cmVnaXN0ZXJHcm91cChlKXt0aGlzLl9ncm91cHMucHVzaChlKSx0aGlzLnNvcnRHcm91cHMoKX11bnJlZ2lzdGVyR3JvdXAoZSl7Zm9yKGxldCB0PXRoaXMuX2dyb3Vwcy5sZW5ndGg7dC0tOyl0aGlzLl9ncm91cHNbdF09PT1lJiZ0aGlzLl9ncm91cHMuc3BsaWNlKHQsMSl9cHJvbW90ZUdyb3VwKGUpe2NvbnN0IHQ9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCksbz1jKGUsdCk7bGV0IGk9dGhpcy5fZ3JvdXBzLmZpbmRJbmRleCgoZT0+YyhlLHQpPT09bykpLG49MAo7Zm9yKDtpPHRoaXMuX2dyb3Vwcy5sZW5ndGgmJmModGhpcy5fZ3JvdXBzW2ldLHQpPT09bzspe2NvbnN0IHI9dGhpcy5fZ3JvdXBzW2ldO3I9PT1lP249MTpjKHIsdCk9PT1vJiYodGhpcy5fZ3JvdXBzW2ktbl09ciksaSsrfXRoaXMuX2dyb3Vwc1tpLW5dPWV9cHJlc3NlZEtleXMoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZEtleXMucmVhZG9ubHkoKX1rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKXtyZXR1cm4gdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnJlYWRvbmx5KCl9c29ydEdyb3Vwcygpe2NvbnN0IGU9dGhpcy5fZ2V0TW9kYWxPcmRlckVwb2NoKCk7dGhpcy5fZ3JvdXBzLnNvcnQoKCh0LG8pPT5jKG8sZSktYyh0LGUpKSl9X2dldE1pbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2dyb3Vwcy5yZWR1Y2UoKChlLHQpPT5NYXRoLm1pbihlLHQub3JkZXIpKSwwKX1fZ2V0TW9kYWxPcmRlckVwb2NoKCl7cmV0dXJuLTIqKE1hdGguYWJzKHRoaXMuX2dldE1pbk9yZGVyKCkpLTEpfX1mdW5jdGlvbiBjKGUsdCl7cmV0dXJuIGUub3JkZXIrKGUubW9kYWw/dDowKX19LDk5MjgwMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBY3Rpb246KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fZ3JvdXA9ZTtjb25zdHtob3RrZXk6byxoYW5kbGVyOmksZGVzYzpuLGlzRGlzYWJsZWQ6cixlbGVtZW50OnM9bnVsbCxpc1JlcGVhdEFjY2VwdGVkOmE9ITF9PXQ7dGhpcy5ob3RrZXk9byx0aGlzLmhhbmRsZXI9aSx0aGlzLmRlc2M9bix0aGlzLmVsZW1lbnQ9cyx0aGlzLmlzUmVwZWF0QWNjZXB0ZWQ9YSx0aGlzLmlzRGlzYWJsZWQ9cj8iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOigpPT4hMDooKT0+ITF9ZGVzdHJveSgpe3RoaXMuX2dyb3VwJiYodGhpcy5fZ3JvdXAucmVtb3ZlKHRoaXMpLHRoaXMuX2dyb3VwPW51bGwpfX19LDcyNzA5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZUdyb3VwOigpPT5zfSk7dmFyIGk9bygyOTEzNDEpLG49byg3NzkzODkpO2NvbnN0IHI9bmV3IGkuQWN0aW9uTWFuYWdlcjtyLnByZXNzZWRLZXlzKCksci5rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUoKTtmdW5jdGlvbiBzKGUpe3JldHVybiBuZXcgbi5BY3Rpb25Hcm91cChyLGUpfX0sMjM1NzI0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01vZGlmaWVyczooKT0+cyxoYXNoRnJvbUV2ZW50OigpPT5sLGhvdGtleUhhc2hUb0FyaWFLZXlzaG9ydGN1dHM6KCk9PnAsaHVtYW5SZWFkYWJsZUhhc2g6KCk9PnUsaHVtYW5SZWFkYWJsZU1vZGlmaWVyczooKT0+Yyxpc01hY0tleWJvYXJkOigpPT5yLG1vZGlmaWVyc0Zyb21FdmVudDooKT0+YX0pO3ZhciBpLG49byg3Mzg0NTgpOyFmdW5jdGlvbihlKXtlW2UuS2V5Q29kZT0yNTVdPSJLZXlDb2RlIixlW2UuQ29udHJvbD0yNTZdPSJDb250cm9sIixlW2UuQWx0PTUxMl09IkFsdCIsZVtlLlNoaWZ0PTEwMjRdPSJTaGlmdCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShpfHwoaT17fSkpO2NvbnN0IHI9bi5pc01hY3x8bi5pc0lPUzt2YXIgcztmdW5jdGlvbiBhKGUpe2xldCB0PTA7cmV0dXJuIGUuc2hpZnRLZXkmJih0Kz0xMDI0KSxlLmFsdEtleSYmKHQrPTUxMiksZS5jdHJsS2V5JiYodCs9MjU2KSxlLm1ldGFLZXkmJih0Kz0yMDQ4KSx0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGEoZSl8ZS5rZXlDb2RlfSFmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLkFsdD01MTJdPSJBbHQiLGVbZS5TaGlmdD0xMDI0XT0iU2hpZnQiLGVbZS5Nb2Q9cj8yMDQ4OjI1Nl09Ik1vZCIsZVtlLkNvbnRyb2w9MjU2XT0iQ29udHJvbCIsZVtlLk1ldGE9MjA0OF09Ik1ldGEifShzfHwocz17fSkpO2Z1bmN0aW9uIGMoZSx0PSFyKXtsZXQgbz0iIjtyZXR1cm4gMjU2JmUmJihvKz1fKHI/Il4iOiJDdHJsIix0KSksNTEyJmUmJihvKz1fKHI/IuKMpSI6IkFsdCIsdCkpLDEwMjQmZSYmKG8rPV8ocj8i4oenIjoiU2hpZnQiLHQpKSwyMDQ4JmUmJihvKz1fKHI/IuKMmCI6IldpbiIsdCkpLG99Y29uc3QgZD17OToi4oelIiwxMzoi4oa1IiwyNzoiRXNjIiw4OnI/IuKMqyI6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IuKGkCIsMzg6IuKGkSIsMzk6IuKGkiIsNDA6IuKGkyIsNDU6IklucyIsNDY6IkRlbCIsMTg4OiIsIiwxOTA6IkRvdCIsMTkxOiIvIn0saD17OToiVGFiIiwxMzoiRW50ZXIiLDI3OiJFc2MiLDg6IkJhY2tzcGFjZSIsMzI6IlNwYWNlIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zIiw0NjoiRGVsIiwxODg6IiwiLDE5MDoiLiIsMTkxOiIvIn07Zm9yKGxldCBlPTE7ZTw9MTY7ZSsrKWRbZSsxMTFdPWBGJHtlfWAsaFtlKzExMV09YEYke2V9YDtmdW5jdGlvbiB1KGUpe2xldCB0PWMoZSk7Y29uc3Qgbz0yNTUmZTtyZXR1cm4gdCs9byBpbiBkP2Rbb106U3RyaW5nLmZyb21DaGFyQ29kZShvKSx0fWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm5gJHtlfSR7dD8iICsgIjpyPyIgIjoiIn1gfWZ1bmN0aW9uIHAoZSl7Y29uc3QgdD1bXTsyNTYmZSYmdC5wdXNoKCJDdHJsIiksNTEyJmUmJnQucHVzaCgiQWx0IiksMTAyNCZlJiZ0LnB1c2goIlNoaWZ0IiksMjA0OCZlJiZ0LnB1c2goIk1ldGEiKTtjb25zdCBvPTI1NSZlO3JldHVybiBvIGluIGQ/dC5wdXNoKGRbb10pOnQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKSx0LmpvaW4oIisiKX19LDY5NjIwOChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtLZXlib2FyZFByZXNzZWRLZXlzU3RhdGU6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7Y2xhc3Mgbntjb25zdHJ1Y3RvcihlLHQpe3RoaXMubW9kaWZpZXJzPWUsdGhpcy5jb2RlPXR9YWx0T3JPcHRpb25Db2RlKCl7cmV0dXJuIkFsdExlZnQiPT09dGhpcy5jb2RlfHwiQWx0UmlnaHQiPT09dGhpcy5jb2RlfWNvbnRyb2xPck1ldGFDb2RlKCl7CnJldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNzIxMzY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzTmF0aXZlVUlJbnRlcmFjdGlvbjooKT0+cixpc1RleHRFZGl0aW5nRmllbGQ6KCk9Pm59KTt2YXIgaT1vKDIzNTcyNCk7ZnVuY3Rpb24gbihlKXtpZigiSU5QVVQiPT09ZS50YWdOYW1lKXtjb25zdCB0PWUudHlwZTtyZXR1cm4idGV4dCI9PT10fHwiZW1haWwiPT09dHx8Im51bWJlciI9PT10fHwicGFzc3dvcmQiPT09dHx8InNlYXJjaCI9PT10fHwidGVsIj09PXR8fCJ1cmwiPT09dH1yZXR1cm4iVEVYVEFSRUEiPT09ZS50YWdOYW1lfHxlLmlzQ29udGVudEVkaXRhYmxlfWZ1bmN0aW9uIHIoZSx0KXtpZighdClyZXR1cm4hMTtjb25zdCBvPTI1NSZlO2lmKDI3PT09b3x8bz4+PjQ9PTcpcmV0dXJuITE7c3dpdGNoKGVebyl7Y2FzZSBpLk1vZGlmaWVycy5BbHQ6cmV0dXJuKDM4PT09b3x8NDA9PT1vKSYmIlNFTEVDVCI9PT10LnRhZ05hbWV8fG4odCk7Y2FzZSBpLk1vZGlmaWVycy5BbHQraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2Q6aWYoNjc9PT1vfHwhaS5pc01hY0tleWJvYXJkJiY0NT09PW8pe2NvbnN0IGU9dC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCk7aWYoZSYmIWUuaXNDb2xsYXBzZWQpcmV0dXJuITB9cmV0dXJuIG4odCk7Y2FzZSBpLk1vZGlmaWVycy5Nb2QraS5Nb2RpZmllcnMuU2hpZnQ6cmV0dXJuIG8+PTMzJiZvPD00MCYmbih0KTtjYXNlIGkuTW9kaWZpZXJzLlNoaWZ0OmNhc2UgMDpyZXR1cm4gOT09PW8/ISghdC5vd25lckRvY3VtZW50fHx0PT09dC5vd25lckRvY3VtZW50LmJvZHl8fHQ9PT10Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTooIWZ1bmN0aW9uKGUpe2lmKCJCVVRUT04iPT09ZS50YWdOYW1lKXJldHVybiEwO2lmKCJJTlBVVCI9PT1lLnRhZ05hbWUpe2NvbnN0IHQ9ZS50eXBlO2lmKCJzdWJtaXQiPT09dHx8ImJ1dHRvbiI9PT10fHwicmVzZXQiPT09dHx8ImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KXJldHVybiEwfXJldHVybiExfSh0KXx8MTM9PT1vfHwzMj09PW98fDk9PT1vKSYmKCJmb3JtImluIHR8fHQuaXNDb250ZW50RWRpdGFibGUpfXJldHVybiExfX0sODY4MTEwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2FuY2hvcnM6KCk9PnIsbWFrZUFuY2hvcmFibGU6KCk9PnN9KTt2YXIgaSxuPW8oNzc5NDc0KTshZnVuY3Rpb24oZSl7ZS5Ub3A9InRvcCIsZS5Cb3R0b209ImJvdHRvbSIsZS5Ub3BSaWdodD0idG9wUmlnaHQifShpfHwoaT17fSkpO2NvbnN0IHI9e2JvdHRvbTp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9LHRhcmdldEF0dGFjaG1lbnQ6e2hvcml6b250YWw6ImxlZnQiLHZlcnRpY2FsOiJib3R0b20ifX0sdG9wOnthdHRhY2htZW50Ontob3Jpem9udGFsOiJsZWZ0Iix2ZXJ0aWNhbDoiYm90dG9tIn0sdGFyZ2V0QXR0YWNobWVudDp7aG9yaXpvbnRhbDoibGVmdCIsdmVydGljYWw6InRvcCJ9fSx0b3BSaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJib3R0b20ifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6InRvcCJ9fSxib3R0b21SaWdodDp7YXR0YWNobWVudDp7aG9yaXpvbnRhbDoicmlnaHQiLHZlcnRpY2FsOiJ0b3AifSx0YXJnZXRBdHRhY2htZW50Ontob3Jpem9udGFsOiJyaWdodCIsdmVydGljYWw6ImJvdHRvbSJ9fX07ZnVuY3Rpb24gcyhlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdHthbmNob3I6dD0iYm90dG9tIn09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMsYXR0YWNobWVudDpyW3RdLmF0dGFjaG1lbnQsdGFyZ2V0QXR0YWNobWVudDpyW3RdLnRhcmdldEF0dGFjaG1lbnR9KX19KS5kaXNwbGF5TmFtZT0iQW5jaG9yYWJsZSBDb21wb25lbnQiLHR9fSwzODQzNzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFrZUF0dGFjaGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDEyOTM2NSk7ZnVuY3Rpb24gcihlKXt2YXIgdDtyZXR1cm4odD1jbGFzcyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZT1lPT57dGhpcy5faW5zdGFuY2U9ZX0sdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHM9KCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLnNldFN0YXRlKHRoaXMuX2NhbGNQcm9wcyh0aGlzLnByb3BzKSkpKX0sdGhpcy5zdGF0ZT10aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpfWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5faW5zdGFuY2VFbGVtPW4uZmluZERPTU5vZGUodGhpcy5faW5zdGFuY2UpLHRoaXMucHJvcHMuYXR0YWNoT25jZXx8dGhpcy5fc3Vic2NyaWJlKCksdGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpfWNvbXBvbmVudERpZFVwZGF0ZShlKXtlLmNoaWxkcmVuPT09dGhpcy5wcm9wcy5jaGlsZHJlbiYmZS50b3A9PT10aGlzLnByb3BzLnRvcCYmZS5sZWZ0PT09dGhpcy5wcm9wcy5sZWZ0JiZlLndpZHRoPT09dGhpcy5wcm9wcy53aWR0aHx8dGhpcy5zZXRTdGF0ZSh0aGlzLl9nZXRTdGF0ZUZyb21Qcm9wcygpLCgoKT0+dGhpcy5zZXRTdGF0ZSh0aGlzLl9jYWxjUHJvcHModGhpcy5wcm9wcykpKSl9cmVuZGVyKCl7cmV0dXJuIGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6IjEwMCUiLHRvcDowLGxlZnQ6MH19LGkuY3JlYXRlRWxlbWVudChlLHsuLi50aGlzLnByb3BzLHJlZjp0aGlzLl9nZXRDb21wb25lbnRJbnN0YW5jZSx0b3A6dGhpcy5zdGF0ZS50b3AsCmJvdHRvbTp2b2lkIDAhPT10aGlzLnN0YXRlLmJvdHRvbT90aGlzLnN0YXRlLmJvdHRvbToiYXV0byIscmlnaHQ6dm9pZCAwIT09dGhpcy5zdGF0ZS5yaWdodD90aGlzLnN0YXRlLnJpZ2h0OiJhdXRvIixsZWZ0OnRoaXMuc3RhdGUubGVmdCx3aWR0aDp0aGlzLnN0YXRlLndpZHRoLG1heFdpZHRoOnRoaXMuc3RhdGUubWF4V2lkdGh9LHRoaXMucHJvcHMuY2hpbGRyZW4pKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic3JpYmUoKX1fZ2V0U3RhdGVGcm9tUHJvcHMoKXtyZXR1cm57Ym90dG9tOnRoaXMucHJvcHMuYm90dG9tLGxlZnQ6dGhpcy5wcm9wcy5sZWZ0LHJpZ2h0OnRoaXMucHJvcHMucmlnaHQsdG9wOnZvaWQgMCE9PXRoaXMucHJvcHMudG9wP3RoaXMucHJvcHMudG9wOi0xZTQsd2lkdGg6dGhpcy5wcm9wcy5pbmhlcml0V2lkdGhGcm9tVGFyZ2V0P3RoaXMucHJvcHMudGFyZ2V0JiZ0aGlzLnByb3BzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDp0aGlzLnByb3BzLndpZHRoLG1heFdpZHRoOnRoaXMucHJvcHMuaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldCYmdGhpcy5wcm9wcy50YXJnZXQmJnRoaXMucHJvcHMudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofX1fY2FsY1Byb3BzKGUpe2lmKGUudGFyZ2V0JiZlLmF0dGFjaG1lbnQmJmUudGFyZ2V0QXR0YWNobWVudCl7Y29uc3QgdD10aGlzLl9jYWxjVGFyZ2V0UHJvcHMoZS50YXJnZXQsZS5hdHRhY2htZW50LGUudGFyZ2V0QXR0YWNobWVudCk7aWYobnVsbD09PXQpcmV0dXJue307Y29uc3R7d2lkdGg6byxpbmhlcml0V2lkdGhGcm9tVGFyZ2V0Omk9ITAsaW5oZXJpdE1heFdpZHRoRnJvbVRhcmdldDpuPSExfT10aGlzLnByb3BzLHI9e3dpZHRoOmk/dC53aWR0aDpvLG1heFdpZHRoOm4/dC53aWR0aDp2b2lkIDB9O3N3aXRjaChlLmF0dGFjaG1lbnQudmVydGljYWwpe2Nhc2UiYm90dG9tIjpjYXNlIm1pZGRsZSI6ci50b3A9dC55O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQudmVydGljYWxdPXQueX1zd2l0Y2goZS5hdHRhY2htZW50Lmhvcml6b250YWwpe2Nhc2UicmlnaHQiOmNhc2UiY2VudGVyIjpyLmxlZnQ9dC54O2JyZWFrO2RlZmF1bHQ6cltlLmF0dGFjaG1lbnQuaG9yaXpvbnRhbF09dC54fXJldHVybiByfXJldHVybnt9fV9jYWxjVGFyZ2V0UHJvcHMoZSx0LG8pe2NvbnN0IGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXRoaXMuX2luc3RhbmNlRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPSJwYXJlbnQiPT09dGhpcy5wcm9wcy5yb290P3RoaXMuX2dldENvb3Jkc1JlbFRvUGFyZW50RWwoZSxpKTp0aGlzLl9nZXRDb29yZHNSZWxUb0RvY3VtZW50KGkpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fZ2V0RGltZW5zaW9ucyhuKSxhPXRoaXMuX2dldERpbWVuc2lvbnMoaSkud2lkdGg7bGV0IGw9MCxjPTA7c3dpdGNoKHQudmVydGljYWwpe2Nhc2UidG9wIjpjPXJbby52ZXJ0aWNhbF07YnJlYWs7Y2FzZSJib3R0b20iOmM9cltvLnZlcnRpY2FsXS1zLmhlaWdodDticmVhaztjYXNlIm1pZGRsZSI6Yz1yW28udmVydGljYWxdLXMuaGVpZ2h0LzJ9c3dpdGNoKHQuaG9yaXpvbnRhbCl7Y2FzZSJsZWZ0IjpsPXJbby5ob3Jpem9udGFsXTticmVhaztjYXNlInJpZ2h0IjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoO2JyZWFrO2Nhc2UiY2VudGVyIjpsPXJbby5ob3Jpem9udGFsXS1zLndpZHRoLzJ9cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRZJiYoYys9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WSksIm51bWJlciI9PXR5cGVvZiB0aGlzLnByb3BzLmF0dGFjaG1lbnRPZmZzZXRYJiYobCs9dGhpcy5wcm9wcy5hdHRhY2htZW50T2Zmc2V0WCkse3g6bCx5OmMsd2lkdGg6YX19X2dldENvb3Jkc1JlbFRvRG9jdW1lbnQoZSl7Y29uc3QgdD1wYWdlWU9mZnNldCxvPXBhZ2VYT2Zmc2V0LGk9ZS50b3ArdCxuPWUuYm90dG9tK3Qscj1lLmxlZnQrbztyZXR1cm57dG9wOmksYm90dG9tOm4sbGVmdDpyLHJpZ2h0OmUucmlnaHQrbyxtaWRkbGU6KGkrZS5oZWlnaHQpLzIsY2VudGVyOnIrZS53aWR0aC8yfX1fZ2V0Q29vcmRzUmVsVG9QYXJlbnRFbChlLHQpe2NvbnN0IG89ZS5vZmZzZXRQYXJlbnQ7aWYobnVsbD09PW8pcmV0dXJuIG51bGw7Y29uc3QgaT1vLnNjcm9sbFRvcCxuPW8uc2Nyb2xsTGVmdCxyPWUub2Zmc2V0VG9wK2kscz1lLm9mZnNldExlZnQrbixhPXQud2lkdGgrcztyZXR1cm57dG9wOnIsYm90dG9tOnQuaGVpZ2h0K3IsbGVmdDpzLHJpZ2h0OmEsbWlkZGxlOihyK3QuaGVpZ2h0KS8yLGNlbnRlcjoocyt0LndpZHRoKS8yfX1fZ2V0RGltZW5zaW9ucyhlKXtyZXR1cm57aGVpZ2h0OmUuaGVpZ2h0LHdpZHRoOmUud2lkdGh9fV9zdWJzY3JpYmUoKXsiZG9jdW1lbnQiPT09dGhpcy5wcm9wcy5yb290JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMsITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Rocm90dGxlQ2FsY1Byb3BzKSl9X3Vuc3Vic3JpYmUoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl90aHJvdHRsZUNhbGNQcm9wcywhMCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fdGhyb3R0bGVDYWxjUHJvcHMpfX0pLmRpc3BsYXlOYW1lPSJBdHRhY2hhYmxlIENvbXBvbmVudCIsdH19LDM0Mjc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RvQW5pbWF0ZTooKT0+cn0pO2NvbnN0IGk9e2Zyb206MCxkdXJhdGlvbjoyNTAsZWFzaW5nOm8oMjE4ODE0KS5lYXNpbmdGdW5jLmVhc2VPdXRDdWJpY307Y2xhc3Mgbntjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2luZz0hMCx0aGlzLl9jb21wbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz17Li4uaSwuLi5lfTtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGU9Pnt0aGlzLl9hbmltYXRpb24odCx0aGlzLl9vcHRpb25zLmZyb20sZSl9KSl9c3RvcCgpewp0aGlzLl9kb2luZz0hMX1jb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fY29tcGxldGVkfV9hbmltYXRpb24oZSx0LG8pe2lmKCF0aGlzLl9kb2luZylyZXR1cm4gdm9pZCB0aGlzLl9maW5pc2hBbmltYXRpb24oKTtjb25zdCBpPShvPSFvfHxvPDFlMTI/cGVyZm9ybWFuY2Uubm93KCk6byktZSxuPWk+PXRoaXMuX29wdGlvbnMuZHVyYXRpb258fHQ9PT10aGlzLl9vcHRpb25zLnRvLHI9KHM9dGhpcy5fb3B0aW9ucy5mcm9tLGE9dGhpcy5fb3B0aW9ucy50byxsPXRoaXMuX29wdGlvbnMuZWFzaW5nKGkvdGhpcy5fb3B0aW9ucy5kdXJhdGlvbikscyooMS1sKSthKmwpO3ZhciBzLGEsbDtjb25zdCBjPW4/dGhpcy5fb3B0aW9ucy50bzpyLGQ9Yy10O3RoaXMuX29wdGlvbnMub25TdGVwKGQsYyksbj90aGlzLl9maW5pc2hBbmltYXRpb24oKTp3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0PT57dGhpcy5fYW5pbWF0aW9uKGUsYyx0KX0pKX1fZmluaXNoQW5pbWF0aW9uKCl7dGhpcy5fb3B0aW9ucy5vbkNvbXBsZXRlJiZ0aGlzLl9vcHRpb25zLm9uQ29tcGxldGUoKSx0aGlzLl9jb21wbGV0ZWQ9ITB9fWZ1bmN0aW9uIHIoZSl7cmV0dXJuIG5ldyBuKGUpfX0sNzgwMzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RyYWdnYWJsZTooKT0+cn0pO3ZhciBpPW8oMTM4NjM4KSxuPW8oMzE0NzIwKTtvKDg0ODUyNyk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9oZWxwZXI9bnVsbCx0aGlzLl9oYW5kbGVEcmFnU3RhcnQ9ZT0+e2lmKG51bGwhPT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc291cmNlO3QuY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7Y29uc3RbbyxpXT1bKDAsbi5vdXRlcldpZHRoKSh0KSwoMCxuLm91dGVySGVpZ2h0KSh0KV07dGhpcy5faGVscGVyPXtzdGFydFRvcDpwYXJzZUZsb2F0KHQuc3R5bGUudG9wKXx8MCxzdGFydExlZnQ6cGFyc2VGbG9hdCh0LnN0eWxlLmxlZnQpfHwwLG5leHRUb3A6bnVsbCxuZXh0TGVmdDpudWxsLHJhZjpudWxsLHNpemU6W28saV0sY29udGFpbm1lbnQ6dGhpcy5fY29udGFpbm1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9bcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyTGVmdFdpZHRoKStwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5wYWRkaW5nTGVmdCkscGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkuYm9yZGVyVG9wV2lkdGgpK3BhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdUb3ApLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldFdpZHRoLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLmJvcmRlclJpZ2h0V2lkdGgpLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5fY29udGFpbm1lbnQpLnBhZGRpbmdSaWdodCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5MZWZ0KS1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHQpLm1hcmdpblJpZ2h0KS1vLHRoaXMuX2NvbnRhaW5tZW50Lm9mZnNldEhlaWdodC1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRhaW5tZW50KS5ib3JkZXJCb3R0b21XaWR0aCktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9jb250YWlubWVudCkucGFkZGluZ0JvdHRvbSktcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5tYXJnaW5Ub3ApLXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodCkubWFyZ2luQm90dG9tKS1pXToid2luZG93Ij09PXRoaXMuX2NvbnRhaW5tZW50P1t3aW5kb3cuc2Nyb2xsWCx3aW5kb3cuc2Nyb2xsWSx3aW5kb3cuc2Nyb2xsWCtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0V2lkdGgtbyx3aW5kb3cuc2Nyb2xsWStkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LWldOm51bGx9LHRoaXMuX3N0YXJ0Py4oKX0sdGhpcy5faGFuZGxlRHJhZ01vdmU9ZT0+e2lmKG51bGw9PT10aGlzLl9oZWxwZXIpcmV0dXJuO2NvbnN0e2N1cnJlbnQ6dCxpbml0aWFsOm99PWUuZGV0YWlsLGk9dGhpcy5fc291cmNlLG49dGhpcy5faGVscGVyLm5leHRUb3Ascj10aGlzLl9oZWxwZXIubmV4dExlZnQscz0ieSI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihzKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydFRvcDtpc0Zpbml0ZShlKSYmKHRoaXMuX2hlbHBlci5uZXh0VG9wPXQuY2xpZW50WS1vLmNsaWVudFkrZSl9Y29uc3QgYT0ieCI9PT10aGlzLl9heGlzfHwhMT09PXRoaXMuX2F4aXN8fDAhPT10Lm1vdmVtZW50WTtpZihhKXtjb25zdCBlPXRoaXMuX2hlbHBlci5zdGFydExlZnQ7aXNGaW5pdGUoZSkmJih0aGlzLl9oZWxwZXIubmV4dExlZnQ9dC5jbGllbnRYLW8uY2xpZW50WCtlKX1pZihudWxsIT09dGhpcy5faGVscGVyLmNvbnRhaW5tZW50KXtjb25zdFtlLHQsbyxpXT10aGlzLl9oZWxwZXIuY29udGFpbm1lbnQ7cyYmdGhpcy5faGVscGVyLm5leHRUb3AmJih0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1pbih0aGlzLl9oZWxwZXIubmV4dFRvcCxpKSx0aGlzLl9oZWxwZXIubmV4dFRvcD1NYXRoLm1heCh0aGlzLl9oZWxwZXIubmV4dFRvcCx0KSksYSYmdGhpcy5faGVscGVyLm5leHRMZWZ0JiYodGhpcy5faGVscGVyLm5leHRMZWZ0PU1hdGgubWluKHRoaXMuX2hlbHBlci5uZXh0TGVmdCxvKSx0aGlzLl9oZWxwZXIubmV4dExlZnQ9TWF0aC5tYXgodGhpcy5faGVscGVyLm5leHRMZWZ0LGUpKX1udWxsIT09dGhpcy5faGVscGVyLnJhZnx8bj09PXRoaXMuX2hlbHBlci5uZXh0VG9wJiZyPT09dGhpcy5faGVscGVyLm5leHRMZWZ0fHwodGhpcy5faGVscGVyLnJhZj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bnVsbCE9PXRoaXMuX2hlbHBlciYmKG51bGwhPT10aGlzLl9oZWxwZXIubmV4dFRvcCYmKGkuc3R5bGUudG9wPXRoaXMuX2hlbHBlci5uZXh0VG9wKyJweCIsdGhpcy5faGVscGVyLm5leHRUb3A9bnVsbCksCm51bGwhPT10aGlzLl9oZWxwZXIubmV4dExlZnQmJihpLnN0eWxlLmxlZnQ9dGhpcy5faGVscGVyLm5leHRMZWZ0KyJweCIsdGhpcy5faGVscGVyLm5leHRMZWZ0PW51bGwpLHRoaXMuX2hlbHBlci5yYWY9bnVsbCl9KSkpLHRoaXMuX2RyYWc/LigpfSx0aGlzLl9oYW5kbGVEcmFnU3RvcD1lPT57aWYobnVsbD09PXRoaXMuX2hlbHBlcilyZXR1cm47dGhpcy5fc291cmNlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLHRoaXMuX2hlbHBlcj1udWxsLHRoaXMuX3N0b3A/LigpfTtjb25zdCB0PXRoaXMuX3NvdXJjZT1lLnNvdXJjZTt0LmNsYXNzTGlzdC5hZGQoInVpLWRyYWdnYWJsZSIpO2NvbnN0IG89dGhpcy5faGFuZGxlPShlLmhhbmRsZT90LnF1ZXJ5U2VsZWN0b3IoZS5oYW5kbGUpOm51bGwpPz90O28uY2xhc3NMaXN0LmFkZCgidWktZHJhZ2dhYmxlLWhhbmRsZSIpLHRoaXMuX3N0YXJ0PWUuc3RhcnQsdGhpcy5fc3RvcD1lLnN0b3AsdGhpcy5fZHJhZz1lLmRyYWcsdGhpcy5fYmFja2VuZD1uZXcgcyh7aGFuZGxlOm8sb25EcmFnU3RhcnQ6dGhpcy5faGFuZGxlRHJhZ1N0YXJ0LG9uRHJhZ01vdmU6dGhpcy5faGFuZGxlRHJhZ01vdmUsb25EcmFnU3RvcDp0aGlzLl9oYW5kbGVEcmFnU3RvcH0pLHRoaXMuX2F4aXM9ZS5heGlzPz8hMSx0aGlzLl9jb250YWlubWVudD1lLmNvbnRhaW5tZW50fWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgidWktZHJhZ2dhYmxlLWRyYWdnaW5nIik7dGhpcy5faGFuZGxlLmNsYXNzTGlzdC5yZW1vdmUoInVpLWRyYWdnYWJsZS1oYW5kbGUiKSx0aGlzLl9iYWNrZW5kLmRlc3Ryb3koKSxudWxsIT09dGhpcy5faGVscGVyJiYodGhpcy5faGVscGVyLnJhZiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faGVscGVyLnJhZiksdGhpcy5faGVscGVyPW51bGwpfX1jbGFzcyBze2NvbnN0cnVjdG9yKGUpe3RoaXMuX3BvaW50ZXJTdGFydGVkPSExLHRoaXMuX2luaXRpYWw9bnVsbCx0aGlzLl9oYW5kbGVQb2ludGVyRG93bj1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWx8fDAhPT1lLmJ1dHRvbilyZXR1cm47aWYoIShlLnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQmJnRoaXMuX2hhbmRsZS5jb250YWlucyhlLnRhcmdldCkpKXJldHVybjtpZih0aGlzLl9pbml0aWFsPWUsIXRoaXMuX2Rpc3RhbmNlJiYodGhpcy5fcG9pbnRlclN0YXJ0KCksIXRoaXMuX3BvaW50ZXJTdGFydGVkKSlyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHQ9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLl9oYW5kbGVQb2ludGVyTW92ZSksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksdC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9zdHBvaW50ZXJjYXB0dXJlIix0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmUpfSx0aGlzLl9oYW5kbGVMb3N0UG9pbnRlckNhcHR1cmU9ZT0+e3RoaXMuX2dldEV2ZW50VGFyZ2V0KCk9PT1lLnRhcmdldCYmdGhpcy5faGFuZGxlUG9pbnRlclVwKGUpfSx0aGlzLl9oYW5kbGVQb2ludGVyTW92ZT1lPT57aWYobnVsbCE9PXRoaXMuX2luaXRpYWwmJnRoaXMuX2luaXRpYWwucG9pbnRlcklkPT09ZS5wb2ludGVySWQpaWYodGhpcy5fcG9pbnRlclN0YXJ0ZWQpdGhpcy5fcG9pbnRlckRyYWcoZSk7ZWxzZSBpZih0aGlzLl9wb2ludGVyRGlzdGFuY2VNZXQoZSkpe2lmKHRoaXMuX3BvaW50ZXJTdGFydCgpLHRoaXMuX3BvaW50ZXJTdGFydGVkKXJldHVybiB2b2lkIHRoaXMuX3BvaW50ZXJEcmFnKGUpO3RoaXMuX2hhbmRsZVBvaW50ZXJVcChlKX19LHRoaXMuX2hhbmRsZVBvaW50ZXJVcD1lPT57aWYobnVsbD09PXRoaXMuX2luaXRpYWx8fHRoaXMuX2luaXRpYWwucG9pbnRlcklkIT09ZS5wb2ludGVySWQpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PXRoaXMuX2dldEV2ZW50VGFyZ2V0KCk7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvc3Rwb2ludGVyY2FwdHVyZSIsdGhpcy5faGFuZGxlUG9pbnRlclVwKSx0aGlzLl9wb2ludGVyU3RhcnRlZCYmKHRoaXMuX3BvaW50ZXJTdGFydGVkPSExLHQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHRoaXMuX2luaXRpYWwucG9pbnRlcklkKSx0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RvcCIsZSkpKSx0aGlzLl9pbml0aWFsPW51bGx9O2NvbnN0IHQ9dGhpcy5faGFuZGxlPWUuaGFuZGxlO3RoaXMuX29uRHJhZ1N0YXJ0PWUub25EcmFnU3RhcnQsdGhpcy5fb25EcmFnTW92ZT1lLm9uRHJhZ01vdmUsdGhpcy5fb25EcmFnU3RvcD1lLm9uRHJhZ1N0b3AsdGhpcy5fZGlzdGFuY2U9ZS5kaXN0YW5jZT8/MCx0aGlzLl9yb290RWxlbWVudD1lLnJvb3RFbGVtZW50LHQuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMuX2hhbmRsZVBvaW50ZXJEb3duKX1kZXN0cm95KCl7Y29uc3QgZT10aGlzLl9oYW5kbGU7ZS5zdHlsZS50b3VjaEFjdGlvbj0iIixlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLl9oYW5kbGVQb2ludGVyRG93biksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5faGFuZGxlUG9pbnRlck1vdmUpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLl9oYW5kbGVQb2ludGVyVXApLAplLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb3N0cG9pbnRlcmNhcHR1cmUiLHRoaXMuX2hhbmRsZVBvaW50ZXJVcCksbnVsbCE9PXRoaXMuX2luaXRpYWwmJihlLnJlbGVhc2VQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCksdGhpcy5faW5pdGlhbD1udWxsKSx0aGlzLl9wb2ludGVyU3RhcnRlZD0hMX1fcG9pbnRlclN0YXJ0KCl7aWYoIXRoaXMuX2luaXRpYWwpcmV0dXJuO2NvbnN0IGU9dGhpcy5fZ2V0RXZlbnRUYXJnZXQoKTt0aGlzLl9kaXNwYXRjaEV2ZW50KHRoaXMuX2NyZWF0ZUV2ZW50KCJwb2ludGVyLWRyYWctc3RhcnQiLHRoaXMuX2luaXRpYWwpKT8odGhpcy5fcG9pbnRlclN0YXJ0ZWQ9ITAsZS5zZXRQb2ludGVyQ2FwdHVyZSh0aGlzLl9pbml0aWFsLnBvaW50ZXJJZCkpOnRoaXMuX2luaXRpYWw9bnVsbH1fcG9pbnRlckRyYWcoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2Rpc3BhdGNoRXZlbnQodGhpcy5fY3JlYXRlRXZlbnQoInBvaW50ZXItZHJhZy1tb3ZlIixlKSl9X3BvaW50ZXJEaXN0YW5jZU1ldChlKXtyZXR1cm4hdGhpcy5faW5pdGlhbHx8IXRoaXMuX2Rpc3RhbmNlfHxNYXRoLm1heChNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFgtZS5jbGllbnRYKSxNYXRoLmFicyh0aGlzLl9pbml0aWFsLmNsaWVudFktZS5jbGllbnRZKSk+PXRoaXMuX2Rpc3RhbmNlfV9nZXRFdmVudFRhcmdldCgpe3JldHVybiB0aGlzLl9yb290RWxlbWVudD8/dGhpcy5faGFuZGxlfV9kaXNwYXRjaEV2ZW50KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UicG9pbnRlci1kcmFnLXN0YXJ0Ijp0aGlzLl9vbkRyYWdTdGFydChlKTticmVhaztjYXNlInBvaW50ZXItZHJhZy1tb3ZlIjp0aGlzLl9vbkRyYWdNb3ZlKGUpO2JyZWFrO2Nhc2UicG9pbnRlci1kcmFnLXN0b3AiOnRoaXMuX29uRHJhZ1N0b3AoZSl9cmV0dXJuIWUuZGVmYXVsdFByZXZlbnRlZH1fY3JlYXRlRXZlbnQoZSx0KXtyZXR1cm4oMCxpLmFzc2VydCkobnVsbCE9PXRoaXMuX2luaXRpYWwpLG5ldyBDdXN0b21FdmVudChlLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsZGV0YWlsOntiYWNrZW5kOnRoaXMsaW5pdGlhbDp0aGlzLl9pbml0aWFsLGN1cnJlbnQ6dH19KX19fSw0MDYxMTAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TWF0Y2hNZWRpYTooKT0+bn0pO3ZhciBpPW8oNzc5NDc0KTtjbGFzcyBuIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZUNoYW5nZT0oKT0+e3RoaXMuZm9yY2VVcGRhdGUoKX0sdGhpcy5zdGF0ZT17cXVlcnk6d2luZG93Lm1hdGNoTWVkaWEodGhpcy5wcm9wcy5ydWxlKX19Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9Y29tcG9uZW50RGlkVXBkYXRlKGUsdCl7dGhpcy5zdGF0ZS5xdWVyeSE9PXQucXVlcnkmJih0aGlzLl91bnN1YnNjcmliZSh0LnF1ZXJ5KSx0aGlzLl9zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSkpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fdW5zdWJzY3JpYmUodGhpcy5zdGF0ZS5xdWVyeSl9cmVuZGVyKCl7cmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW4odGhpcy5zdGF0ZS5xdWVyeS5tYXRjaGVzKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucnVsZSE9PXQucXVlcnkubWVkaWE/e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKGUucnVsZSl9Om51bGx9X3N1YnNjcmliZShlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5faGFuZGxlQ2hhbmdlKX1fdW5zdWJzY3JpYmUoZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9fX0sNzc4NDU4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2JyZWFrcG9pbnRzOigpPT5pLG1vYmlsZUZpcnN0QnJlYWtwb2ludHM6KCk9Pm4sbW9iaWxlRmlyc3RMZWdhY3lCcmVha3BvaW50czooKT0+cn0pO2NvbnN0IGk9e2Rlc2t0b3A6MS8wLGRlc2t0b3BIZDoxOTE5LHBob25lOjc2NywicGhvbmUtdmVydGljYWwiOjQ3OSx0YWJsZXQ6MTAxOX0sbj17YmFzZTowLCJtZWRpYS1tZi1waG9uZS12ZXJ0aWNhbCI6MzIwLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOjU2OCwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjo3NjgsIm1lZGlhLW1mLXRhYmxldC1sYW5kc2NhcGUiOjEwMjQsIm1lZGlhLW1mLWxhcHRvcCI6MTI4MCwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOjE0NDAsIm1lZGlhLW1mLWRlc2t0b3AtbGFyZ2UiOjE5MjAsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOjI1NjB9LHI9eyJtZWRpYS1tZi1sZWdhY3ktcGhvbmUtdmVydGljYWwiOjMzMCwibWVkaWEtbWYtbGVnYWN5LXBob25lIjo0ODAsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6MTAyMCwibWVkaWEtbWYtbGVnYWN5LWRlc2t0b3AtbWVkaXVtIjoxNDgwLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6MTUzMX19LDI3NjAxOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnbG9iYWxDbG9zZURlbGVnYXRlOigpPT5pLGdsb2JhbENsb3NlTWVudTooKT0+bn0pO2NvbnN0IGk9bmV3KG8oOTQ4MzgwKS5EZWxlZ2F0ZSk7ZnVuY3Rpb24gbigpe2kuZmlyZSgpfX0sNjA5NTI4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5ufSk7dmFyIGk9byg5MjQ1MDcpO2NvbnN0IG49e1NtYWxsSGVpZ2h0OmlbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6aVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6aVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSw5OTU2NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cmVsZWFzZU1vZGFsU2Nyb2xsTG9jazooKT0+cyxyZXF1ZXN0TW9kYWxTY3JvbGxMb2NrOigpPT5yfSk7Y29uc3QgaT0ibW9kYWwtc2Nyb2xsLWxvY2stcmVxdWVzdCIsbj0ibW9kYWwtc2Nyb2xsLWxvY2stcmVsZWFzZSIKO2Z1bmN0aW9uIHIoZSl7ZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChpKSl9ZnVuY3Rpb24gcyhlKXtlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG4pKX19LDY1OTg3OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHttYWtlT3ZlcmxhcGFibGU6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDU4NTQ4KTtmdW5jdGlvbiByKGUsdCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgaS5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2lzT3BlbmVkOm8scm9vdDpyfT10aGlzLnByb3BzO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IHM9aS5jcmVhdGVFbGVtZW50KGUsey4uLnRoaXMucHJvcHMscmVmOnRoaXMucHJvcHMuY29tcG9uZW50UmVmLHpJbmRleDoxNTB9KTtyZXR1cm4icGFyZW50Ij09PXI/czppLmNyZWF0ZUVsZW1lbnQobi5Qb3J0YWwse3Nob3VsZFRyYXBGb2N1czp0fSxzKX19fX0sNTU4MDMwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1RvdWNoU2Nyb2xsQ29udGFpbmVyOigpPT5jfSk7dmFyIGk9byg3Nzk0NzQpLG49byg4NTMzMzYpLHI9bygxMzg2MzgpLHM9byg3Mzg0NTgpO2NvbnN0IGE9Q1NTLnN1cHBvcnRzKCJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwibm9uZSIpO2xldCBsPTA7Y29uc3QgYz0oMCxpLmZvcndhcmRSZWYpKCgoZSx0KT0+e2NvbnN0e2NoaWxkcmVuOm8sLi4ucn09ZSxjPSgwLGkudXNlUmVmKShudWxsKTtyZXR1cm4oMCxpLnVzZUltcGVyYXRpdmVIYW5kbGUpKHQsKCgpPT5jLmN1cnJlbnQpKSwoMCxpLnVzZUxheW91dEVmZmVjdCkoKCgpPT57aWYocy5pc0lPUylyZXR1cm4gbCsrLG51bGwhPT1jLmN1cnJlbnQmJihhPzE9PT1sJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9Im5vbmUiKTooMCxuLmRpc2FibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQse2FsbG93VG91Y2hNb3ZlOmQoYyl9KSksKCk9PntsLS0sbnVsbCE9PWMuY3VycmVudCYmKGE/MD09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIik6KDAsbi5lbmFibGVCb2R5U2Nyb2xsKShjLmN1cnJlbnQpKX19KSxbXSksaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6YywuLi5yfSxvKX0pKTtmdW5jdGlvbiBkKGUpe3JldHVybiB0PT57Y29uc3Qgbz0oMCxyLmVuc3VyZU5vdE51bGwpKGUuY3VycmVudCksaT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3JldHVybiFvLmNvbnRhaW5zKHQpfHxudWxsIT09aSYmby5jb250YWlucyhpKSYmaS5jb250YWlucyh0KX19fSw5OTk1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtBcHBDb250ZXh0OigpPT5pfSk7Y29uc3QgaT0oMCxvKDc3OTQ3NCkuY3JlYXRlQ29udGV4dCkoe2lzT25Nb2JpbGVBcHBQYWdlOigpPT4hMSxpc1J0bDohMSxsb2NhbGU6ImVuIixyZW5kZXJNb2RlOiJsZWdhY3kifSl9LDE1NDYyMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtwcmVzZXREZWZhdWx0OigpPT5pLHByZXNldFBsYXRmb3JtOigpPT5ufSk7Y29uc3QgaT17ZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6ITB9LG49e2VuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzOiExfX0sMjE4ODE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NvbG9yOigpPT5yLGR1cjooKT0+aSxlYXNpbmdGdW5jOigpPT5ufSk7Y29uc3QgaT0zNTAsbj17bGluZWFyOmU9PmUsZWFzZUluUXVhZDplPT5lKmUsZWFzZU91dFF1YWQ6ZT0+ZSooMi1lKSxlYXNlSW5PdXRRdWFkOmU9PmU8LjU/MiplKmU6KDQtMiplKSplLTEsZWFzZUluQ3ViaWM6ZT0+ZSplKmUsZWFzZU91dEN1YmljOmU9Pi0tZSplKmUrMSxlYXNlSW5PdXRDdWJpYzplPT5lPC41PzQqZSplKmU6KGUtMSkqKDIqZS0yKSooMiplLTIpKzEsZWFzZUluUXVhcnQ6ZT0+ZSplKmUqZSxlYXNlT3V0UXVhcnQ6ZT0+MS0gLS1lKmUqZSplLGVhc2VJbk91dFF1YXJ0OmU9PmU8LjU/OCplKmUqZSplOjEtOCotLWUqZSplKmUsZWFzZUluUXVpbnQ6ZT0+ZSplKmUqZSplLGVhc2VPdXRRdWludDplPT4xKy0tZSplKmUqZSplLGVhc2VJbk91dFF1aW50OmU9PmU8LjU/MTYqZSplKmUqZSplOjErMTYqLS1lKmUqZSplKmV9O2NvbnN0IHI9e2JsYWNrNzA6IiM0QTRBNEEiLGJsYWNrODA6IiM1MzUzNTMifX0sNzg3ODk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3VzZUZ1bmN0aW9uYWxSZWZPYmplY3Q6KCk9PnJ9KTt2YXIgaT1vKDc3OTQ3NCksbj1vKDYxNjMxMSk7ZnVuY3Rpb24gcihlKXtjb25zdCB0PSgwLGkudXNlTWVtbykoKCgpPT5mdW5jdGlvbihlKXtjb25zdCB0PW89PntlKG8pLHQuY3VycmVudD1vfTtyZXR1cm4gdC5jdXJyZW50PW51bGwsdH0oKGU9PnthLmN1cnJlbnQoZSl9KSkpLFtdKSxvPSgwLGkudXNlUmVmKShudWxsKSxyPXQ9PntpZihudWxsPT09dClyZXR1cm4gcyhvLmN1cnJlbnQsdCksdm9pZChvLmN1cnJlbnQ9bnVsbCk7by5jdXJyZW50IT09ZSYmKG8uY3VycmVudD1lLHMoby5jdXJyZW50LHQpKX0sYT0oMCxpLnVzZVJlZikocik7cmV0dXJuIGEuY3VycmVudD1yLCgwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57aWYobnVsbCE9PXQuY3VycmVudClyZXR1cm4gYS5jdXJyZW50KHQuY3VycmVudCksKCk9PmEuY3VycmVudChudWxsKX0pLFtlXSksdH1mdW5jdGlvbiBzKGUsdCl7bnVsbCE9PWUmJigiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUuY3VycmVudD10KX19LDcxOTQyNShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VSZXNpemVPYnNlcnZlcjooKT0+c30pO3ZhciBpPW8oNzc5NDc0KSxuPW8oNjE2MzExKSxyPW8oNzg3ODk1KTtmdW5jdGlvbiBzKGUsdD1bXSl7Y29uc3R7Y2FsbGJhY2s6byxyZWY6cz1udWxsfT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZT97Y2FsbGJhY2s6ZX06ZX0oZSksYT0oMCxpLnVzZVJlZikobnVsbCksbD0oMCxpLnVzZVJlZikobyk7bC5jdXJyZW50PW87Y29uc3QgYz0oMCxyLnVzZUZ1bmN0aW9uYWxSZWZPYmplY3QpKHMpLGQ9KDAsaS51c2VDYWxsYmFjaykoKGU9PntjKGUpLG51bGwhPT1hLmN1cnJlbnQmJihhLmN1cnJlbnQuZGlzY29ubmVjdCgpLApudWxsIT09ZSYmYS5jdXJyZW50Lm9ic2VydmUoZSkpfSksW2MsYV0pO3JldHVybigwLG4udXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT4oYS5jdXJyZW50PW5ldyBSZXNpemVPYnNlcnZlcigoKGUsdCk9PntsLmN1cnJlbnQoZSx0KX0pKSxjLmN1cnJlbnQmJmQoYy5jdXJyZW50KSwoKT0+e2EuY3VycmVudD8uZGlzY29ubmVjdCgpfSkpLFtjLC4uLnRdKSxkfX0sNjQ5MTY2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xvYWRlcjooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9bygyNDQ1MjUpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsc2l6ZTpvPSJtZWRpdW0iLHN0YXRpY1Bvc2l0aW9uOmksY29sb3I6cj0iYmxhY2sifT1lLGE9cygpKGwoKS5pdGVtLGwoKVtyXSxsKClbb10pO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGwoKS5sb2FkZXIsaSYmbCgpLnN0YXRpYyx0KX0sbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pLG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSkpfSFmdW5jdGlvbihlKXtlLk1lZGl1bT0ibWVkaXVtIixlLlNtYWxsPSJzbWFsbCJ9KGl8fChpPXt9KSl9LDU4NTQ4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1BvcnRhbDooKT0+YyxQb3J0YWxDb250ZXh0OigpPT5kfSk7dmFyIGk9byg3Nzk0NzQpLG49bygxMjkzNjUpLHI9byg4NTY3NzApLHM9byg5MDM0MiksYT1vKDU3MDE5MyksbD1vKDYwNzgzMik7Y2xhc3MgYyBleHRlbmRzIGkuUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdXVpZD0oMCxyLm5hbm9pZCkoKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX21hbmFnZXIoKS5yZW1vdmVXaW5kb3codGhpcy5fdXVpZCl9cmVuZGVyKCl7Y29uc3QgZT10aGlzLl9tYW5hZ2VyKCkuZW5zdXJlV2luZG93KHRoaXMuX3V1aWQsdGhpcy5wcm9wcy5sYXllck9wdGlvbnMpO2Uuc3R5bGUudG9wPXRoaXMucHJvcHMudG9wfHwiIixlLnN0eWxlLmJvdHRvbT10aGlzLnByb3BzLmJvdHRvbXx8IiIsZS5zdHlsZS5sZWZ0PXRoaXMucHJvcHMubGVmdHx8IiIsZS5zdHlsZS5yaWdodD10aGlzLnByb3BzLnJpZ2h0fHwiIixlLnN0eWxlLnBvaW50ZXJFdmVudHM9dGhpcy5wcm9wcy5wb2ludGVyRXZlbnRzfHwiIjtjb25zdCB0PXRoaXMucHJvcHMuY2xhc3NOYW1lO3JldHVybiB0JiYoInN0cmluZyI9PXR5cGVvZiB0P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTGlzdC5hZGQoLi4udCkpLHRoaXMucHJvcHMuc2hvdWxkVHJhcEZvY3VzJiYhZS5oYXNBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUoYS5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLCJ0cnVlIiksdGhpcy5wcm9wc1siYXJpYS1oaWRkZW4iXSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLG4uY3JlYXRlUG9ydGFsKGkuY3JlYXRlRWxlbWVudChkLlByb3ZpZGVyLHt2YWx1ZTp0aGlzfSx0aGlzLnByb3BzLmNoaWxkcmVuKSxlKX1tb3ZlVG9Ub3AoKXt0aGlzLl9tYW5hZ2VyKCkubW92ZVRvVG9wKHRoaXMuX3V1aWQpfV9tYW5hZ2VyKCl7cmV0dXJuIG51bGw9PT10aGlzLmNvbnRleHQ/KDAscy5nZXRSb290T3ZlcmxhcE1hbmFnZXIpKCk6dGhpcy5jb250ZXh0fX1jLmNvbnRleHRUeXBlPWwuU2xvdENvbnRleHQ7Y29uc3QgZD1pLmNyZWF0ZUNvbnRleHQobnVsbCl9LDYwNzgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTbG90OigpPT5uLFNsb3RDb250ZXh0OigpPT5yfSk7dmFyIGk9byg3Nzk0NzQpO2NsYXNzIG4gZXh0ZW5kcyBpLkNvbXBvbmVudHtzaG91bGRDb21wb25lbnRVcGRhdGUoKXtyZXR1cm4hMX1yZW5kZXIoKXtyZXR1cm4gaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTp7cG9zaXRpb246ImZpeGVkIix6SW5kZXg6MTUwLGxlZnQ6MCx0b3A6MH0scmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSl9fWNvbnN0IHI9aS5jcmVhdGVDb250ZXh0KG51bGwpfSw1Njc0NzkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7REVGQVVMVF9TSVpFOigpPT5pLHNwaW5uZXJTaXplTWFwOigpPT5ufSk7Y29uc3QgaT0ibGFyZ2UiLG49e21pbmk6InhzbWFsbCIseHhzbWFsbDoieHhzbWFsbCIseHNtYWxsOiJ4c21hbGwiLHNtYWxsOiJzbWFsbCIsbWVkaXVtOiJtZWRpdW0iLGxhcmdlOiJsYXJnZSJ9fSwzMDgyMTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBpLG49byg3Nzk0NzQpLHI9byg5MTQ0ODcpLHM9by5uKHIpLGE9byg2MjU3MDkpLGw9by5uKGEpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpvLGRpc2FibGVkOml9PWU7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkobCgpLnN3aXRjaFZpZXcsbCgpW3RdLGkmJmwoKS5kaXNhYmxlZCxvJiZsKCkuY2hlY2tlZCl9LG4uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpsKCkudHJhY2t9KSxuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6bCgpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShpfHwoaT17fSkpfSwxMjgzMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgaSxuPW8oNzc5NDc0KSxyPW8oOTE0NDg3KSxzPW8ubihyKSxhPW8oMzA5OTIwKSxsPW8oMzA4MjE2KSxjPW8oMjM1NzI0KSxkPW8oNjg3NTQ3KSxoPW8ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsCm4udXNlQ29udGV4dCkoYS5DdXN0b21CZWhhdmlvdXJDb250ZXh0KSx7c2l6ZTpvLGludGVudDppPSJkZWZhdWx0IixjaGVja2VkOnIsY2xhc3NOYW1lOmQsZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXM6dT10LmVuYWJsZUFjdGl2ZVN0YXRlU3R5bGVzLGRpc2FibGVkOl8sb25DaGFuZ2U6cCx0aXRsZTptLGlkOmcsbmFtZTp2LHZhbHVlOmYsdGFiSW5kZXg6eSxyb2xlOmI9InN3aXRjaCIsYXJpYURpc2FibGVkOlMscmVmZXJlbmNlOncsYXJpYUxhYmVsbGVkQnk6QyxhcmlhTGFiZWw6aywuLi5UfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpKGQsaCgpLnN3aXRjaGVyKX0sbi5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLlQsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTpzKCkoaCgpLmlucHV0LHUmJmgoKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJmgoKS5jaGVja2VkLF8mJmgoKS5kaXNhYmxlZCkscm9sZTpiLCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnAsZGlzYWJsZWQ6XywiYXJpYS1kaXNhYmxlZCI6Uyx0YWJJbmRleDp5LHRpdGxlOm0saWQ6ZyxuYW1lOnYsdmFsdWU6ZixyZWY6dywiYXJpYS1sYWJlbCI6aywiYXJpYS1sYWJlbGxlZGJ5IjpDfSksbi5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOnMoKShoKCkudGh1bWJXcmFwcGVyLGgoKVtpXSl9LG4uY3JlYXRlRWxlbWVudChsLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm8sZGlzYWJsZWQ6X30pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGl8fChpPXt9KSl9LDU3MDE5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtGT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFOigpPT5pfSk7Y29uc3QgaT0iZGF0YS1mb2N1cy10cmFwIn0sNjgyMzgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyOigpPT5kLGdldEFjdGl2ZUVsZW1lbnRTZWxlY3RvcnM6KCk9PmMsaXNIVE1MT3JTVkdFbGVtZW50OigpPT5oLGlzSW5lcnRSb290OigpPT5hLGlzVmlzaWJpbGl0eVZpc2libGU6KCk9PnJ9KTtjb25zdCBpPVsiYnV0dG9uIiwiZmllbGRzZXQiLCJvcHRncm91cCIsIm9wdGlvbiIsInNlbGVjdCIsInRleHRhcmVhIiwiaW5wdXQiXSxuPVsiYnV0dG9uIiwiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCJhdWRpb1tjb250cm9sc10iLCJ2aWRlb1tjb250cm9sc10iLCdbdGFiaW5kZXg9IjAiXScsJ1tjb250ZW50ZWRpdGFibGU9InRydWUiXSddLm1hcCgoZT0+aS5pbmNsdWRlcyhlKT9gJHtlfTpub3QoOmRpc2FibGVkKWA6ZSkpLm1hcCgoZT0+YCR7ZX06bm90KFt0YWJpbmRleD0iLTEiXSlgKSkuam9pbigiLCIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuInZpc2libGUiPT09Z2V0Q29tcHV0ZWRTdHlsZShlKS52aXNpYmlsaXR5fWZ1bmN0aW9uIHMoZSx0KXtpZihlLm1hdGNoZXMoIltpbmVydF0sW2luZXJ0XSAqIikpcmV0dXJuITA7bGV0IG89ZTtmb3IoO28hPT10JiZudWxsIT09bzspe2lmKGwobykpcmV0dXJuITA7bz1vLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5tYXRjaGVzKCJbaW5lcnRdIil8fGwoZSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ibm9uZSI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLmRpc3BsYXl9ZnVuY3Rpb24gYygpe3JldHVybiBufWZ1bmN0aW9uIGQoZSl7cmV0dXJuIHQ9PnIodCkmJiFzKHQsZSl9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fHxlIGluc3RhbmNlb2YgU1ZHRWxlbWVudH19LDk2NDU5NChlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQ9PntlLmZvckVhY2goKGU9PnsiZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOm51bGwhPWUmJihlLmN1cnJlbnQ9dCl9KSl9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIGkoW2VdKX1vLmQodCx7aXNvbW9ycGhpY1JlZjooKT0+bixtZXJnZVJlZnM6KCk9Pml9KX0sNzE4NTUzKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse091dHNpZGVFdmVudDooKT0+bn0pO3ZhciBpPW8oMjM2NzY1KTtmdW5jdGlvbiBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsLi4ub309ZTtyZXR1cm4gdCgoMCxpLnVzZU91dHNpZGVFdmVudCkobykpfX0sOTAzNDIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7T3ZlcmxhcE1hbmFnZXI6KCk9PnMsZ2V0Um9vdE92ZXJsYXBNYW5hZ2VyOigpPT5sfSk7dmFyIGk9bygxMzg2MzgpLG49byg1NzAxOTMpO2NsYXNzIHJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zdG9yYWdlPVtdfWFkZChlKXt0aGlzLl9zdG9yYWdlLnB1c2goZSl9cmVtb3ZlKGUpe3RoaXMuX3N0b3JhZ2U9dGhpcy5fc3RvcmFnZS5maWx0ZXIoKHQ9PmUhPT10KSl9aGFzKGUpe3JldHVybiB0aGlzLl9zdG9yYWdlLmluY2x1ZGVzKGUpfWdldEl0ZW1zKCl7cmV0dXJuIHRoaXMuX3N0b3JhZ2V9fWNsYXNzIHN7Y29uc3RydWN0b3IoZT1kb2N1bWVudCl7dGhpcy5fc3RvcmFnZT1uZXcgcix0aGlzLl93aW5kb3dzPW5ldyBNYXAsdGhpcy5faW5kZXg9MCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX2NvbnRhaW5lcj1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKX1zZXRDb250YWluZXIoZSl7Y29uc3QgdD10aGlzLl9jb250YWluZXIsbz1udWxsPT09ZT90aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk6ZTshZnVuY3Rpb24oZSx0KXtBcnJheS5mcm9tKGUuY2hpbGROb2RlcykuZm9yRWFjaCgoZT0+e2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdC5hcHBlbmRDaGlsZChlKX0pKX0odCxvKSx0aGlzLl9jb250YWluZXI9b31yZWdpc3RlcldpbmRvdyhlKXt0aGlzLl9zdG9yYWdlLmhhcyhlKXx8dGhpcy5fc3RvcmFnZS5hZGQoZSl9ZW5zdXJlV2luZG93KGUsdD17cG9zaXRpb246ImZpeGVkIixkaXJlY3Rpb246Im5vcm1hbCJ9KXtjb25zdCBvPXRoaXMuX3dpbmRvd3MuZ2V0KGUpCjtpZih2b2lkIDAhPT1vKXJldHVybiBvO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3QgaT10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihpLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24saS5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxpLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChpKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShpLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaSk7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsaSksKyt0aGlzLl9pbmRleCxpfXVucmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5yZW1vdmUoZSk7Y29uc3QgdD10aGlzLl93aW5kb3dzLmdldChlKTt2b2lkIDAhPT10JiYobnVsbCE9PXQucGFyZW50RWxlbWVudCYmdC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHQpLHRoaXMuX3dpbmRvd3MuZGVsZXRlKGUpKX1nZXRaaW5kZXgoZSl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTtyZXR1cm4gcGFyc2VJbnQodC5zdHlsZS56SW5kZXh8fCIwIil9bW92ZUxhc3RXaW5kb3dUb1RvcCgpe2NvbnN0IGU9dGhpcy5fc3RvcmFnZS5nZXRJdGVtcygpLHQ9ZVtlLmxlbmd0aC0xXTt0JiZ0aGlzLm1vdmVUb1RvcCh0KX1tb3ZlVG9Ub3AoZSl7aWYodGhpcy5nZXRaaW5kZXgoZSkhPT10aGlzLl9pbmRleCl7Y29uc3QgdD10aGlzLmVuc3VyZVdpbmRvdyhlKTt0aGlzLl93aW5kb3dzLmZvckVhY2goKChlLG8pPT57ZS5oYXNBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFKSYmZS5zZXRBdHRyaWJ1dGUobi5GT0NVU19UUkFQX0RBVEFfQVRUUklCVVRFLGU9PT10PyJ0cnVlIjoiZmFsc2UiKX0pKSx0LnN0eWxlLnpJbmRleD0oKyt0aGlzLl9pbmRleCkudG9TdHJpbmcoKX19cmVtb3ZlV2luZG93KGUpe3RoaXMudW5yZWdpc3RlcldpbmRvdyhlKX19Y29uc3QgYT1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGU9ZG9jdW1lbnQpe2NvbnN0IHQ9ZS5nZXRFbGVtZW50QnlJZCgib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiKTtpZihudWxsIT09dClyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKGEuZ2V0KHQpKTt7Y29uc3QgdD1uZXcgcyhlKSxvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHQuc3R5bGUuekluZGV4PTE1MC4udG9TdHJpbmcoKSx0LnN0eWxlLnRvcD0iMHB4Iix0LnN0eWxlLmxlZnQ9IjBweCIsdC5pZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHQuZGF0YXNldC5xYUlkPSJvdmVybGFwLW1hbmFnZXItcm9vdCIsdH0oZSk7cmV0dXJuIGEuc2V0KG8sdCksdC5zZXRDb250YWluZXIobyksZS5ib2R5LmFwcGVuZENoaWxkKG8pLHR9fXZhciBjOyFmdW5jdGlvbihlKXtlW2UuQmFzZVppbmRleD0xNTBdPSJCYXNlWmluZGV4In0oY3x8KGM9e30pKX0sOTM0MDgxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX1BPU1RFUlM6KCk9Pml9KTtjb25zdCBpPVt7bmFtZToibmVvbiIscG9zdGVyOm8ucCsibmVvbi5mZjkzMzEwZTc5NWQ1NGE1ZDM5Yi53ZWJwIn0se25hbWU6Im1hcnMiLHBvc3RlcjpvLnArIm1hcnMuY2I2YTM3MWZhNzgyMzY2MzQzYmUud2VicCJ9LHtuYW1lOiJzbm93Iixwb3N0ZXI6by5wKyJzbm93LjhmNWVjOWNkODRhNzUyZjQ2YjY4LndlYnAifV19LDg0MjEwMihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtpc1Nob3dQcm9tb1ZpZGVvOigpPT5zfSk7dmFyIGk9byg4MDk0MzYpO2NvbnN0IG49aVsibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSJdLHI9aVsibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIl07ZnVuY3Rpb24gcygpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEobikubWF0Y2hlcyx0PXdpbmRvdy5tYXRjaE1lZGlhKHIpLm1hdGNoZXMsbz13aW5kb3cuaW5uZXJXaWR0aCxpPXdpbmRvdy5pbm5lckhlaWdodDtyZXR1cm4hIWV8fCEhdCYmaT49b319LDk3ODU0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse29uZVRhcFNpZ25Nb2RhbERlbGVnYXRlOigpPT5pfSk7Y29uc3QgaT1uZXcobyg5NDgzODApLkRlbGVnYXRlKX0sNjEzODcwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2lzU2lnbk1vZGFsT3BlbjooKT0+ZCxzaG93U2lnbk1vZGFsOigpPT5jfSk7dmFyIGk9byg4NDIxMDIpLG49byg5Nzg1NCkscj1vKDcxOTE5NCkscz1vKDc1NjI3MSksYT1vKDkzNDA4MSk7bGV0IGw9KCk9PiExO2FzeW5jIGZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxpLmlzU2hvd1Byb21vVmlkZW8pKCksbj1PYmplY3QuYXNzaWduKHt9LGUse2lzU2hvd1ZpZGVvOnR9KTtpZih3aW5kb3cuVFZEJiZ3aW5kb3cuVFZELnNpZ25JbilyZXR1cm4gd2luZG93LlRWRC5zaWduSW4obik7e3QmJmZ1bmN0aW9uKCl7Y29uc3R7cG9zdGVyOmV9PWEuU1RPUllfUE9TVEVSU1soMCxyLnBpY2tTdG9yeUluZGV4KShzLlNUT1JZX05BTUVTKV0sdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7dC5yZWw9InByZWxvYWQiLHQuYXM9ImltYWdlIix0LmhyZWY9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfSgpCjtjb25zdCBlPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODU1MzcpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoOTQ5NDgpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSgyNDU4MSksby5lKDExMjE4KSxvLmUoODU3OSksby5lKDcyNjY2KSxvLmUoNzA4MTUpLG8uZSg3NDM4MSksby5lKDE1NTI2KSxvLmUoOTM0MTYpLG8uZSgzNzc2Nyksby5lKDMyNjMyKSxvLmUoMzUxOTgpLG8uZSg0NjU5MSksby5lKDk0MDU0KSxvLmUoNTA2MjIpLG8uZSgzODg2OCksby5lKDU5MzUwKSxvLmUoMjA5ODYpLG8uZSgzMjM4Nyksby5lKDQ0NzgwKSxvLmUoNzU5MzApLG8uZSg4NTk3NCldKS50aGVuKG8uYmluZChvLDczMDg0MSkpO3JldHVybiBsPWUuaXNTaWduTW9kYWxPcGVuLGUuc2hvd1NpZ25Nb2RhbChuKX19ZnVuY3Rpb24gZCgpe3JldHVybiBsKCl9bi5vbmVUYXBTaWduTW9kYWxEZWxlZ2F0ZS5zdWJzY3JpYmUobnVsbCxjKX0sNzE5MTk0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BpY2tTdG9yeUluZGV4OigpPT5yfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNpZ25pbi1wcm9tby1zdG9yeSI7ZnVuY3Rpb24gcihlKXtjb25zdCB0PWZ1bmN0aW9uKCl7dHJ5e2NvbnN0IGU9aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LnRpbWVzdGFtcD90Om51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fSgpLG89bnVsbCE9PXQ/ZS5pbmRleE9mKHQubmFtZSk6LTE7aWYobnVsbCE9PXQmJi0xIT09byYmRGF0ZS5ub3coKS10LnRpbWVzdGFtcDw4NjRlNSlyZXR1cm4gbztjb25zdCByPWZ1bmN0aW9uKGUsdCl7aWYoZTw9MXx8dDwwKXJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZSk7cmV0dXJuKHQrMStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtMSkpKSVlfShlLmxlbmd0aCxvKTtyZXR1cm4gaS5UVkxvY2FsU3RvcmFnZS5zZXRJdGVtKG4sSlNPTi5zdHJpbmdpZnkoe25hbWU6ZVtyXSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pKSxyfX0sNzU2MjcxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1NUT1JZX05BTUVTOigpPT5pfSk7Y29uc3QgaT1bIm5lb24iLCJtYXJzIiwic25vdyJdfSwyMjI0MjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWdncmVnYXRlRXJyb3I6KCk9PlMsQXBpRXJyb3I6KCk9PnksU01TX0JBTk5FRF9TVEFUVVM6KCk9PnIsYWNjdW11bGF0ZUVycm9yczooKT0+YSxjaGVja1Bob25lQ29kZTooKT0+dSxjb250aW51ZVBhcnRpYWxBdXRoOigpPT5FLGZpcnN0TG9naW5EYXRhOigpPT5kLGZpcnN0TG9naW5EYXRhVXJsOigpPT5zLGdlbmVyYXRlU2lnbmluQ2hhbGxlbmdlOigpPT54LGdldEFwaUVycm9yTWVzc2FnZTooKT0+YixyZWNvdmVyUGFzc3dvcmQ6KCk9PkMscmVjb3ZlclBhc3N3b3JkVXJsOigpPT53LHJlY292ZXJ5UGFzc3dvcmQ6KCk9Pl8scmVzZW5kTGluazooKT0+aCxzZWNvbmRGYWN0b3JTaWduaW46KCk9PkEsc2lnbmluOigpPT5nLHNpZ25pblVybDooKT0+cCxzaWdudXA6KCk9PmYsc2lnbnVwVXJsOigpPT52LHNvY2lhbEF1dGg6KCk9PlR9KTt2YXIgaT1vKDM4NDAxNyksbj1vKDE4NTI3MSk7Y29uc3Qgcj00MDMscz0iL2FjY291bnRzL2ZpcnN0X2xvZ2luX2RhdGEvIjtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLm1hcCgoZT0+bmV3IHkoZVsxXS5qb2luKCJcbiIpLHQsZVswXSkpKX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuKDAsaS5mZXRjaCkoZSx7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsbW9kZToic2FtZS1vcmlnaW4iLGJvZHk6dH0pfWFzeW5jIGZ1bmN0aW9uIGMoZSl7dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaHt0aHJvdyBuZXcgeShuLnQobnVsbCx7Y29udGV4dDoiYXBpIGVycm9yIn0sbyg2ODM2MjcpKSxlLnN0YXR1cywic2VydmVyX2Vycm9yIil9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGwocyxlKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKCh0PT57dGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9ZnVuY3Rpb24gaCgpe3JldHVybiBsKCIvYXBpL3YxL3VzZXJzL2Fub24vY2hhbmdlLWVtYWlsL3Jlc2VuZC8iKS50aGVuKChlPT5lLm9rP2MoZSk6YyhlKS50aGVuKChlPT57dGhyb3cgRXJyb3IoZS5lcnJvcil9KSkpKX1mdW5jdGlvbiB1KGUpe3JldHVybiBsKCIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvY2hlY2tfcGhvbmVfY29kZS8iLGUpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKGU9Pnt0aHJvdyBFcnJvcihlLmVycm9yKX0pKSkpfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIGwoIi9hcGkvdjEvcmVjb3Zlcl9wYXNzd29yZC8iLGUpLnRoZW4oKGU9PmUpKX1jb25zdCBwPSIvYWNjb3VudHMvc2lnbmluLyI7ZnVuY3Rpb24gbShlKXtyZXR1cm4gYyhlKS50aGVuKCh0PT57aWYoImVycm9ycyJpbiB0JiZPYmplY3Qua2V5cyh0LmVycm9ycykubGVuZ3RoKXRocm93IG5ldyBTKGEodC5lcnJvcnMsZS5zdGF0dXMpKTtpZigiZXJyb3IiaW4gdCYmIiIhPT10LmVycm9yfHwiY29kZSJpbiB0fHwhZS5vayl0aHJvdyBuZXcgeSh0LmVycm9yfHx0LmRldGFpbCxlLnN0YXR1cyx0LmNvZGUsdC5jb25maXJtX2F1dGhfZGF0YSx0LnR3b19mYWN0b3JfdHlwZXMsZnVuY3Rpb24oZSl7aWYoZS5zaWduYXR1cmUpcmV0dXJue3NpZ25hdHVyZTplLnNpZ25hdHVyZSxlbWFpbDplLmVtYWlsfHwiIixwaG9uZTplLnBob25lfHwiIixzb2NpYWxzOltdfTtyZXR1cm59KHQpKTtyZXR1cm4gdH0pKX1mdW5jdGlvbiBnKGUpe3JldHVybiBsKHAsZSkudGhlbihtKX1jb25zdCB2PSIvYWNjb3VudHMvc2lnbnVwLyI7ZnVuY3Rpb24gZihlKXtyZXR1cm4gbCh2LGUpLnRoZW4oKGU9PmMoZSkudGhlbigodD0+ewppZigiZXJyb3JzImluIHQmJiIiIT09dC5lcnJvcnMpdGhyb3cgbmV3IFMoYSh0LmVycm9ycyxlLnN0YXR1cykpfSkpKSl9Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCxvLGksbixyKXtzdXBlcihlKSx0aGlzLnR5cGU9byx0aGlzLnN0YXR1cz10LHRoaXMuc2Vjb25kRmFjdG9yVHlwZXM9bix0aGlzLnNvY2lhbENvbmZpcm1EYXRhPWksdGhpcy5yZXNldFBhc3N3b3JkRGF0YT1yfX1mdW5jdGlvbiBiKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiB5JiZ2b2lkIDAhPT1lLnN0YXR1cz9gJHtlLm1lc3NhZ2V8fHR8fG4udChudWxsLHtjb250ZXh0OiJhcGkgZXJyb3IifSxvKDY4MzYyNykpfSAoJHtlLnN0YXR1c30pYDplIGluc3RhbmNlb2YgRXJyb3ImJmUubWVzc2FnZT9lLm1lc3NhZ2U6dHx8bi50KG51bGwse2NvbnRleHQ6ImFwaSBlcnJvciJ9LG8oNjgzNjI3KSl9Y2xhc3MgUyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUubWFwKChlPT5lLm1lc3NhZ2UpKS5qb2luKCJcbiIpKSx0aGlzLmVycm9ycz1bXSx0aGlzLmVycm9ycz1lfX1jb25zdCB3PSIvYXBpL3YxL3JlY292ZXJfcGFzc3dvcmQvc2VhcmNoLyI7ZnVuY3Rpb24gQyhlKXtyZXR1cm4gbCh3LGUpLnRoZW4obSl9Y29uc3Qgaz17QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIn07ZnVuY3Rpb24gVChlLHQpe2NvbnN0IG89bmV3IFVSTCh3aW5kb3cub3JpZ2luKyIvYWNjb3VudHMvY29tcGxldGUvYW5kcm9pZC1qd3QvIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKChbZSx0XSk9PnQmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZChlLHQpKSksKDAsaS5mZXRjaCkoby5ocmVmLHttZXRob2Q6IlBPU1QiLGJvZHk6ZSxoZWFkZXJzOmt9KS50aGVuKG0pfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBvPW5ldyBVUkwod2luZG93Lm9yaWdpbitgL2FjY291bnRzL2NvbXBsZXRlLyR7ZX0vYCksbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJwYXJ0aWFsX3Rva2VuIix0KSwoMCxpLmZldGNoKShvLmhyZWYse21ldGhvZDoiUE9TVCIsYm9keTpuLGhlYWRlcnM6a30pLnRoZW4obSl9ZnVuY3Rpb24geChlKXtyZXR1cm4gbChgL2FjY291bnRzL3R3by1mYWN0b3Ivc2lnbmluLyR7ZX0vZ2VuZXJhdGUtY2hhbGxlbmdlL2ApLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKCh7ZGV0YWlsOmV9KT0+e3Rocm93IEVycm9yKGUpfSkpKSl9ZnVuY3Rpb24gQShlLHQpe3JldHVybiBsKGAvYWNjb3VudHMvdHdvLWZhY3Rvci9zaWduaW4vJHtlfS9gLHQpLnRoZW4oKGU9PmUub2s/YyhlKTpjKGUpLnRoZW4oKHQ9PntpZigicmVxdWlyZV9wYXJhbWV0ZXJzIj09PXQuY29kZSl0aHJvdyBuZXcgUyhhKHQuZXJyb3JzLGUuc3RhdHVzKSk7dGhyb3cgbmV3IHkodC5kZXRhaWwsZS5zdGF0dXMsdC5jb2RlKX0pKSkpfX0sOTczMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3RyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lOigpPT5ufSk7dmFyIGk9bygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1yLmdldChlKTtyZXR1cm4gdm9pZCAwIT09dD90KCk6ZX0KY29uc3Qgcj1uZXcgTWFwKFtbIkFmcmljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MDM0NCkpXSxbIkFtZXJpY2FzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkxNDY0KSldLFsiQXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4OTE4MikpXSxbIkV1cm9wZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1MjM2NykpXSxbIlBhY2lmaWMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5OTA1NzUpKV0sWyJNaWRkbGUgRWFzdCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY4NTc1MSkpXSxbIkFmZ2hhbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzMTAxKSldLFsiw4VsYW5kIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDY1NTQpKV0sWyJBbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA2NTU0KSldLFsiQWxiYW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI4MDAyNSkpXSxbIkFsZ2VyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyOTYxODEpKV0sWyJBbWVyaWNhbiBTYW1vYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDU1MykpXSxbIkFuZG9ycmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjUyMTMpKV0sWyJBbmdvbGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NzcyMCkpXSxbIkFuZ3VpbGxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODU0OTAyKSldLFsiQW50YXJjdGljYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5NzU3MCkpXSxbIkFudGlndWEgYW5kIEJhcmJ1ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NDU4OSkpXSxbIkFyZ2VudGluYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1NzU4NykpXSxbIkFybWVuaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3Nzk5NTIpKV0sWyJBcnViYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDExNDc1NikpXSxbIkF1c3RyYWxpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3OTIzMykpXSxbIkF1c3RyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMzgyNzgpKV0sWyJBemVyYmFpamFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDY4MTcpKV0sWyJCYWhhbWFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM1MjU5KSldLFsiQmFocmFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU3ODY2NSkpXSxbIkJhbmdsYWRlc2giLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTIwMTUpKV0sWyJCYXJiYWRvcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgyOTM4NykpXSxbIkJlbGFydXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MjM1NTIpKV0sWyJCZWxnaXVtIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMzMjQpKV0sWyJCZWxpemUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODc3MDEpKV0sWyJCZW5pbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODg0OCkpXSxbIkJlcm11ZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTQ3MzcpKV0sWyJCaHV0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODQ0NDIpKV0sWyJCb2xpdmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTMxMzA0KSldLFsiQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTcyMzUpKV0sWyJCb3NuaWEgYW5kIEhlcnplZ292aW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjkxKSldLFsiQm90c3dhbmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjUzNzgpKV0sWyJCb3V2ZXQgSXNsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzMwNzYzKSldLFsiQnJhemlsIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldLFsiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzQ0MjQ2KSldLFsiQnJpdGlzaCBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM0MCkpXSxbIkJydW5laSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM5MTkwNikpXSxbIkJ1bGdhcmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldLFsiQnVya2luYSBGYXNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk4Mjk3KSldLFsiQnVydW5kaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODIyKSldLFsiQ2FibyBWZXJkZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYwMTA5NykpXSxbIkNhbWJvZGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTU1NDg5KSldLFsiQ2FtZXJvb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzcwMjgpKV0sWyJDYW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNTE4OSkpXSxbIkNheW1hbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQxMDI2KSldLFsiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzc0NzgpKV0sWyJDaGFkIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDgzNTUpKV0sWyJDaGlsZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXSxbIkNoaW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldLFsiQ2hyaXN0bWFzIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk1NjQ2NCkpXSxbIkNvY29zIChLZWVsaW5nKSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzI1NzMyKSldLFsiQ29sb21iaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzU4NjcpKV0sWyJDb21vcm9zIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDg0MTM2KSldLFsiQ29uZ28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NjQ4NTgpKV0sWyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MTU1OCkpXSxbIkNvb2sgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcwODg1OSkpXSxbIkN1cmFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODk0MTcpKV0sWyJDb3N0YSBSaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjY4ODQ0KSldLFsiQ8O0dGUgZCdJdm9pcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0OTg3NjIpKV0sWyJDcm9hdGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA3NCkpXSxbIkN1YmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3NjkxNDApKV0sWyJDdXJhw6dhbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk0NTE3MSkpXSxbIkN5cHJ1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYzNDczNykpXSxbIkN6ZWNoaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyNjE5OTApKV0sWyJDemVjaCBSZXB1YmxpYyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEyOTgwOCkpXSxbIkRlbm1hcmsiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTI1MDEpKV0sWyJEamlib3V0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDUwNzc5OCkpXSxbIkRvbWluaWNhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk0MzI2KSldLFsiRG9taW5pY2FuIFJlcHVibGljIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODE4NjA0KSldLFsiRWN1YWRvciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQxMzM5NykpXSxbIkVneXB0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzM3NDM3KSldLFsiRWwgU2FsdmFkb3IiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4ODA4NzIpKV0sWyJFcXVhdG9yaWFsIEd1aW5lYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc0NjUyNCkpXSxbIkVyaXRyZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzA4NzMpKV0sWyJFc3RvbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQxMjApKV0sWyJGYWxrbGFuZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTkzNDc1KSldLFsiRXN3YXRpbmkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTgzMDMpKV0sWyJFdGhpb3BpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTkxKSldLFsiRXVyb3BlYW4gVW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1MzUxNDYpKV0sWyJGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcykiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MDc3MjMpKV0sWyJGYXJvZSBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDUyNDg3KSldLFsiRmlqaSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MjQwOSkpXSxbIkZpbmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV0sWyJGcmFuY2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMzYyMzgpKV0sWyJGcmVuY2ggR3VpYW5hIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc2MDc5KSldLFsiRnJlbmNoIFBvbHluZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg2MzgyNSkpXSxbIkZyZW5jaCBTb3V0aGVybiBUZXJyaXRvcmllcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMyODYwNykpXSxbIkdhYm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY3NjkwKSldLFsiR2FtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzA4Nzg1KSldLFsiR2VvcmdpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTk1MSkpXSxbIkdlcm1hbnkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV0sWyJHaGFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODY3OSkpXSxbIkdpYnJhbHRhciIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc3MTAxNykpXSxbIkdyZWVjZSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5MzI4OSkpXSxbIkdyZWVubGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxODM5OSkpXSxbIkdyZW5hZGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzIwODYpKV0sWyJHdWFkZWxvdXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTY0ODc3KSldLFsiR3VhbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU0NDMyNSkpXSxbIkd1YXRlbWFsYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3NzQ4NykpXSxbIkd1ZXJuc2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA4OTE2KSldLFsiR3VpbmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDM2NDU1KSldLFsiR3VpbmVhLUJpc3NhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwODIyOSkpXSxbIkd1eWFuYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0MjExNikpXSxbIkhhaXRpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODk0NzA5KSldLFsiSGVhcmQgSXNsYW5kIGFuZCBNY0RvbmFsZCBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM2MTIzKSldLFsiSG9seSBTZWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMjc0OSkpXSxbIkhvbmR1cmFzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjAyODE2KSldLFsiSG9uZyBLb25nIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldLFsiSHVuZ2FyeSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2MTM2NikpXSxbIkljZWxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV0sWyJJbmRpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXSxbIkluZG9uZXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwMjk3NSkpXSxbIklyYXEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzNzE3NDYpKV0sWyJJcmVsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzExNTI3KSldLFsiSXNsZSBvZiBNYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDc4MjUpKV0sWyJJc3JhZWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMzNTQpKV0sWyJJdGFseSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg5ODE2MykpXSxbIkphbWFpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjM1KSldLFsiSmFwYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV0sWyJKZXJzZXkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMTg1OTgpKV0sWyJKb3JkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1ODMwMDkpKV0sWyJLYXpha2hzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc3NTYwKSldLFsiS2VueWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTQ5NjYpKV0sWyJLaXJpYmF0aSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0NjI5MykpXSxbIktvc292byIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3Njg2KSldLFsiS3V3YWl0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzk1MTMwKSldLFsiS3lyZ3l6c3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ1ODY2MCkpXSxbIkxhb3MiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTExODApKV0sWyJMYXR2aWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODI3NzMpKV0sWyJMZWJhbm9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTQ1NjEzKSldLFsiTGVzb3RobyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY1MzM5NSkpXSxbIkxpYmVyaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NjIxKSldLFsiTGlieWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NTUzNTIpKV0sWyJMaWVjaHRlbnN0ZWluIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg2NjY3KSldLFsiTGl0aHVhbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODkyMTAwKSldLFsiTHV4ZW1ib3VyZyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk3NTQ0NykpXSxbIk1hY2F1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTMyMjY5KSldLFsiTWFjYW8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMDcwNjIpKV0sWyJNYWNlZG9uaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTkxMDgpKV0sWyJNYWRhZ2FzY2FyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjYwMTg4KSldLFsiTWFsYXdpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjQ1OTQ4KSldLFsiTWFsYXlzaWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2Mjc5NjcpKV0sWyJNYWxkaXZlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMzMTYxNSkpXSxbIk1hbGkiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2MjM0NjUpKV0sWyJNYWx0YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU2MzIzNykpXSxbIk1hcnNoYWxsIElzbGFuZHMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0Nzc4NDMpKV0sWyJNYXJ0aW5pcXVlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTM1MTUyKSldLFsiTWF1cml0YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY2Nzk5NikpXSxbIk1hdXJpdGl1cyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE1MDA1NCkpXSxbIk1heW90dGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0ODMxNDkpKV0sWyJNZXhpY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NjU3MDApKV0sWyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI5MTA5OCkpXSxbIk1vbGRvdmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMjEzMzYpKV0sWyJNb25hY28iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyMDg5MDQpKV0sWyJNb25nb2xpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkxMzcwOSkpXSxbIk1vbnRlbmVncm8iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzkzNjUpKV0sWyJNb250c2VycmF0IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzMzMjYyKSldLFsiTW9yb2NjbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyMTQzMykpXSxbIk1vemFtYmlxdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxMDAwMjYpKV0sWyJNeWFubWFyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjM5NDMpKV0sWyJOYW1pYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTcwNjE4KSldLFsiTmF1cnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NzM0MzcpKV0sWyJOZXBhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ3MTI4OCkpXSxbIk5ldGhlcmxhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjE2ODYyKSldLFsiTmV3IENhbGVkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTU4OCkpXSxbIk5ldyBaZWFsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIxNikpXSxbIk5pY2FyYWd1YSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYyMzQ0MCkpXSxbIk5pZ2VyIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTkyMTg5KSldLFsiTmlnZXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0OTg2OCkpXSxbIk5pdWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MDc0NzApKV0sWyJOb3Jmb2xrIElzbGFuZCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDk2NzQxMikpXSxbIk5vcnRoIE1hY2Vkb25pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcyOTc4MikpXSxbIk5vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMjU1NykpXSxbIk5vcndheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NTUyMykpXSxbIk9tYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbygyODUyOTMpKV0sWyJQYWtpc3RhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg0NDQzNikpXSxbIlBhbGF1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzk4NDc2KSldLFsiUGFsZXN0aW5lLCBTdGF0ZSBvZiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY5ODA4MykpXSxbIlBhbmFtYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwMDcyOSkpXSxbIlBhcHVhIE5ldyBHdWluZWEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjU2OTcpKV0sWyJQYXJhZ3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQyMDEzNSkpXSxbIlBlcnUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NTExMTEpKV0sWyJQaGlsaXBwaW5lcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDYxMzY0NykpXSxbIlBpdGNhaXJuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzg0MzgyKSldLFsiUG9sYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldLFsiUG9ydHVnYWwiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzOTg5NCkpXSxbIlB1ZXJ0byBSaWNvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODQzMzI3KSldLFsiUWF0YXIiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV0sWyJSw6l1bmlvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg3MjY4MCkpXSxbIkxhIFJldW5pb24iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4NzI2ODApKV0sWyJSb21hbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTA1OTQ1KSldLFsiUnVzc2lhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTM0ODgzKSldLFsiUnVzc2lhbiBGZWRlcmF0aW9uIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzkwNTk4KSldLFsiU0lOVCBNQUFSVEVOIChEVVRDSCBQQVJUKSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NTAyMSkpXSxbIlJ3YW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc1ODI5NykpXSxbIlNhaW50IEJhcnRow6lsZW15IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTk5NDgzKSldLFsiU2FpbnQgSGVsZW5hLCBBc2NlbnNpb24gYW5kIFRyaXN0YW4gZGEgQ3VuaGEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTU4MzUpKV0sWyJTYWludCBLaXR0cyBhbmQgTmV2aXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1NzY5NzUpKV0sWyJTYWludCBMdWNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI1ODMxMSkpXSxbIlNhaW50IE1hcnRpbiAoRnJlbmNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDI1MDY0KSldLFsiU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc5NzAzNSkpXSxbIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjIyNjEzKSldLFsiU2Ftb2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTg5NjMpKV0sWyJTYW4gTWFyaW5vIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTk5NzYyKSldLFsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjc5MzgyKSldLFsiU2F1ZGkgQXJhYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldLFsiU2VuZWdhbCIsKCk9PmkudChudWxsLHZvaWQgMCxvKDIyNDI4OSkpXSxbIlNlcmJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDcxODUyOSkpXSxbIlNleWNoZWxsZXMiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0MjA4MjEpKV0sWyJTaWVycmEgTGVvbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygxNjQ5OTIpKV0sWyJTaW5nYXBvcmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV0sWyJTaW50IE1hYXJ0ZW4gKER1dGNoIHBhcnQpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2NDApKV0sWyJTbG92YWtpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI2MzQzMikpXSxbIlNsb3ZlbmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzIxODIxKSldLFsiU29sb21vbiBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMTgxNzgpKV0sWyJTb21hbGlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjAwNTcpKV0sWyJTb3V0aCBBZnJpY2EiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTAwODIpKV0sWyJTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ0Nzg1NCkpXSxbIlNvdXRoIEtvcmVhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTg3NzUyKSldLFsiU291dGggU3VkYW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg0NTcxODYpKV0sWyJTcGFpbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXSxbIlNyaSBMYW5rYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDgwNDc2NikpXSxbIlN1ZGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTc0NDA0KSldLFsiU3VyaW5hbWUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MTg4MzcpKV0sWyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTczOTE1KSldLFsiU3dlZGVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldLFsiU3dpdHplcmxhbmQiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3MzM5NzEpKV0sWyJTeXJpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3NDQ4NSkpXSxbIlRhaXdhbiIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI3MzE1NykpXSxbIlRhamlraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5Njg0NTgpKV0sWyJUYW56YW5pYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQ5ODE4MykpXSxbIlRoYWlsYW5kIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNTUzMDQ0KSldLFsiVGltb3ItTGVzdGUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg4MDMwNTEpKV0sWyJUb2dvIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODMyNDQ4KSldLFsiVG9rZWxhdSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDEwNDE3NykpXSxbIlRvbmdhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjUwNTU1KSldLFsiVHJpbmlkYWQgYW5kIFRvYmFnbyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMxNDg3KSldLFsiVHVuaXNpYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDY3NzU5KSldLFsiVHVya2V5IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjMxODEwKSldLFsiVHVya21lbmlzdGFuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM1NjgzKSldLFsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTcwNjI0KSldLFsiVHV2YWx1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDMwMTM0KSldLFsiVS5TLiBWaXJnaW4gSXNsYW5kcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDQzMTM3NykpXSxbIlVBRSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDE2MzExMCkpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlVnYW5kYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDU4ODY5MykpXSxbIlVrcmFpbmUiLCgpPT5pLnQobnVsbCx2b2lkIDAsbygzMTc0NzUpKV0sWyJVbml0ZWQgQXJhYiBFbWlyYXRlcyIsKCk9PmkudChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXSxbIlVuaXRlZCBLaW5nZG9tIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMjgyNzMpKV0sWyJVbml0ZWQgU3RhdGVzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oOTY3OTQxKSldLFsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNzM2Nzk5KSldLFsiVXJ1Z3VheSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDkyODU1MykpXSxbIlVTQSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDMwMTExNykpXSxbIlV6YmVraXN0YW4iLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg3ODM5NzApKV0sWyJWYW51YXR1IiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDE2MjU3KSldLFsiVmVuZXp1ZWxhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldLFsiVmlldG5hbSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg1MjIxKSldLFsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDIzMjA2KSldLFsiVmlyZ2luIElzbGFuZHMgKFUuUy4pIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oMzAxMjI5KSldLFsiV2FsbGlzIGFuZCBGdXR1bmEiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg1OTA1MDUpKV0sWyJXZXN0ZXJuIFNhaGFyYSIsKCk9PmkudChudWxsLHZvaWQgMCxvKDg4MTI3NykpXSxbIlllbWVuIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oNDA5Mzg0KSldLFsiWmFtYmlhIiwoKT0+aS50KG51bGwsdm9pZCAwLG8oODY3MzkzKSldLFsiWmltYmFid2UiLCgpPT5pLnQobnVsbCx2b2lkIDAsbyg5NTkxNTUpKV1dKQp9LDE1OTUxMyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRRdW90ZVNlc3Npb25JbnN0YW5jZTooKT0+YX0pO3ZhciBpPW8oOTI3NTkzKSxuPW8oNzU1NjI3KSxyPW8oMTUwMTUwKTtjb25zdCBzPXt9O2Z1bmN0aW9uIGEoZT0iZnVsbCIpe3JldHVybiBzW2VdfHxmdW5jdGlvbihlPSJmdWxsIix0KXtzW2VdPXR9KGUsbmV3IGkuUXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXIoe25hbWU6ZSxhcGk6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsZmllbGRzOmxbZV0sZXh0ZW5zaW9uczp7Zm9ybWF0dGVyOmU9Pm5ldyBjKGUpLmZvcm1hdHRlcixzbmFwc2hvdDplPT5uZXcgZChlKS5zbmFwc2hvdH19KSksc1tlXX1jb25zdCBsPXtzaW1wbGU6WyJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsImxvZ28iLCJjaCIsImNocCIsImN1cnJlbmN5LWxvZ29pZCIsImN1cnJlbmN5X2NvZGUiLCJjdXJyZW5jeV9pZCIsImJhc2VfY3VycmVuY3lfaWQiLCJjdXJyZW50X3Nlc3Npb24iLCJkZXNjcmlwdGlvbiIsImV4Y2hhbmdlIiwiZm9ybWF0IiwiZnJhY3Rpb25hbCIsImlzX3RyYWRhYmxlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxpc3RlZF9leGNoYW5nZSIsImxvZ29pZCIsImxwIiwibHBfdGltZSIsIm1pbm1vdiIsIm1pbm1vdmUyIiwib3JpZ2luYWxfbmFtZSIsInByaWNlc2NhbGUiLCJwcm9fbmFtZSIsInNob3J0X25hbWUiLCJ0eXBlIiwidHlwZXNwZWNzIiwidXBkYXRlX21vZGUiLCJ2b2x1bWUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJ2YWx1ZV91bml0X2lkIiwidW5pdF9pZCIsIm1lYXN1cmUiXX07bC5zaW1wbGVEZXRhaWxlZD1bLi4ubC5zaW1wbGUsImFzayIsImJpZCIsImZ1bmRhbWVudGFscyIsImhpZ2hfcHJpY2UiLCJpc190cmFkYWJsZSIsImxvd19wcmljZSIsIm9wZW5fcHJpY2UiLCJwcmV2X2Nsb3NlX3ByaWNlIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwic3RhdHVzIiwiYmFzaWNfZXBzX25ldF9pbmNvbWUiLCJiZXRhXzFfeWVhciIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJpbmR1c3RyeSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJzZWN0b3IiLCJ2b2x1bWUiLCJkaXZpZGVuZHNfeWllbGQiLCJ0aW1lem9uZSJdLGwuZnVsbD1bXSxsLndhdGNobGlzdD1bLi4ubC5zaW1wbGUsInJjaHAiLCJuY2hwIiwicnRjIiwiY291bnRyeV9jb2RlIiwicHJvdmlkZXJfaWQiLCJkaXZpZGVuZHNfYXZhaWxhYmlsaXR5IiwiZmluYW5jaWFsc19hdmFpbGFiaWxpdHkiLCJlYXJuaW5nc19hdmFpbGFiaWxpdHkiXSxsLnBvcnRmb2xpbz1bInByb19uYW1lIiwic2hvcnRfbmFtZSIsImV4Y2hhbmdlIiwibGlzdGVkX2V4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJsb2NhbF9kZXNjcmlwdGlvbiIsImxhbmd1YWdlIiwic2VjdG9yIiwidHlwZSIsInR5cGVzcGVjcyIsImluZHVzdHJ5IiwiY3VycmVuY3lfY29kZSIsImN1cnJlbmN5X2lkIiwiY2giLCJjaHAiLCJsb2dvIiwibG9nb2lkIiwiY3VycmVuY3ktbG9nb2lkIiwiYmFzZS1jdXJyZW5jeS1sb2dvaWQiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwibHAiLCJmcmFjdGlvbmFsIiwibWlubW92IiwibWlubW92ZTIiLCJwcmljZXNjYWxlIiwidm9sdW1lIiwiYXZlcmFnZV92b2x1bWUiLCJtYXJrZXRfY2FwX2NhbGMiLCJtYXJrZXRfY2FwX2Jhc2ljIiwidG90YWxfcmV2ZW51ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJwcmljZV9lYXJuaW5nc190dG0iLCJiZXRhXzFfeWVhciIsImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV9meSIsImRpdmlkZW5kc195aWVsZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJyYXRlc19tYyIsInJhdGVzX2Z5IiwicmF0ZXNfdHRtIiwiZm9ybWF0IiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5ub3Rlcz1bInNob3J0X25hbWUiLCJwcm9fbmFtZSIsImxvZ29pZCIsImN1cnJlbmN5LWxvZ29pZCIsImJhc2UtY3VycmVuY3ktbG9nb2lkIiwibG9nbyIsInN5bWJvbC1wcmltYXJ5bmFtZSIsInR5cGUiLCJ0eXBlc3BlY3MiXSxsLmVzdGltYXRlcz1bImZ1bmRhbWVudGFsX2RhdGEiLCJ0eXBlIiwidHlwZXNwZWNzIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfc3ltYm9sX2N1cnJlbmN5X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2FsaWduZWRfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9jYWxlbmRhcl9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxsLmVjb25vbWljPVsicmVmZXJlbmNlLWxhc3QtcGVyaW9kIiwibHAiLCJjdXJyZW5jeV9jb2RlIiwidmFsdWVfdW5pdF9pZCIsInVuaXRfaWQiLCJtZWFzdXJlIl0sbC5vcHRpb25zPVsiYXNrIiwiYmlkIiwibHAiLCJ2b2x1bWUiLCJjaCIsImNocCJdO2NsYXNzIGN7Y29uc3RydWN0b3IoZSl7dGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGU9e30sdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnM9e30sdGhpcy5mb3JtYXR0ZXI9KGUsdCk9PntpZih0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXSlyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvckZvcm1hdHRlcnNbZV07ZnVuY3Rpb24gbyhlKXtjb25zdCBvPXQmJiFlLmZyYWN0aW9uYWw/MTplLm1pbm1vdjtyZXR1cm4gbmV3IG4uUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZS5wcmljZXNjYWxlLG1pbk1vdmU6byxmcmFjdGlvbmFsOmUuZnJhY3Rpb25hbCxtaW5Nb3ZlMjplLm1pbm1vdmUyfSl9Y29uc3QgaT1uZXcgUHJvbWlzZSgoKHQsaSk9PntpZih0aGlzLl9mb3JtYXR0ZXJWYWx1ZXNDYWNoZVtlXSl0KG8odGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV0pKTtlbHNle2NvbnN0IG49KDAsci5ndWlkKSgpO3RoaXMuX211bHRpcGxleGVyLnN1YnNjcmliZShuLFtlXSwocj0+eyJlcnJvciI9PT1yLnN0YXR1cyYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsCmkoIlF1b3RlcyBzbmFwc2hvdCBpcyBub3QgcmVjZWl2ZWQiKSksZnVuY3Rpb24oZSl7cmV0dXJuIGUmJm51bGwhPWUucHJpY2VzY2FsZSYmbnVsbCE9ZS5taW5tb3Z9KHIudmFsdWVzKSYmKHRoaXMuX3dhaXRpbmdGb3JGb3JtYXR0ZXJzW2VdPW51bGwsdGhpcy5fZm9ybWF0dGVyVmFsdWVzQ2FjaGVbZV09ci52YWx1ZXMsdChvKHIudmFsdWVzKSksdGhpcy5fbXVsdGlwbGV4ZXIudW5zdWJzY3JpYmUobixlKSl9KSl9fSkpO3JldHVybiB0aGlzLl93YWl0aW5nRm9yRm9ybWF0dGVyc1tlXT1pLGl9LHRoaXMuX211bHRpcGxleGVyPWV9fWNsYXNzIGR7Y29uc3RydWN0b3IoZSl7dGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZT17fSx0aGlzLl93YWl0aW5nRm9yU25hcHNob3Q9e30sdGhpcy5zbmFwc2hvdD1lPT57aWYodGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdKXJldHVybiB0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV07Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQsbyk9PntpZih0aGlzLl9zbmFwc2hvdFZhbHVlc0NhY2hlW2VdKXQodGhpcy5fc25hcHNob3RWYWx1ZXNDYWNoZVtlXSk7ZWxzZXtjb25zdCBpPSgwLHIuZ3VpZCkoKTt0aGlzLl9tdWx0aXBsZXhlci5zdWJzY3JpYmUoaSxbZV0sKG49PnsiZXJyb3IiPT09bi5zdGF0dXMmJih0aGlzLl93YWl0aW5nRm9yU25hcHNob3RbZV09bnVsbCxvKCJRdW90ZXMgc25hcHNob3QgaXMgbm90IHJlY2VpdmVkIikpO2NvbnN0IHI9bi52YWx1ZXM7ciYmci5taW5tb3YmJnIucHJpY2VzY2FsZSYmci5kZXNjcmlwdGlvbiYmKHRoaXMuX3dhaXRpbmdGb3JTbmFwc2hvdFtlXT1udWxsLHRoaXMuX3NuYXBzaG90VmFsdWVzQ2FjaGVbZV09cix0KHIpLHRoaXMuX211bHRpcGxleGVyLnVuc3Vic2NyaWJlKGksZSkpfSkpfX0pKTtyZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclNuYXBzaG90W2VdPXQsdH0sdGhpcy5fbXVsdGlwbGV4ZXI9ZX19InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2U9YSl9LDk3MTA1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtHUk9VUF9QQVRIX1BBVFRFUk46KCk9Pm4sTk9URVNfUEFUSF9QQVRURVJOOigpPT5pLFVOQVRURU5ERURfUEFUSF9QQVRURVJOOigpPT5yLHBhdGhUb0dyb3VwOigpPT5zfSk7Y29uc3QgaT0iL25vdGVzLyIsbj0iL25vdGVzL2dyb3Vwcy86c3ltYm9sLyIscj0iL25vdGVzL3VuYXR0ZW5kZWQvIjtmdW5jdGlvbiBzKGUpe3JldHVybiBlP24ucmVwbGFjZSgiOnN5bWJvbCIsZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpyfX0sODI3MDEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7YXZhaWxhYmxlT2ZmZXJzOigpPT5ufSk7dmFyIGk9bygzODQwMTcpO2NvbnN0IG49bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faXNJbnZhbGlkPSEwLHRoaXMuX29mZmVycz17fX1ydW5PclVwZGF0ZShlKXt0aGlzLl9pc0ludmFsaWQ/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2s/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKCgpPT50aGlzLl91cGRhdGVPZmZlcnMoKS50aGVuKGUpKSk6c2V0VGltZW91dCgoKCk9PnRoaXMuX3VwZGF0ZU9mZmVycygpLnRoZW4oZSkpLDApOmUodGhpcy5fb2ZmZXJzKX1nZXREYXRhKCl7cmV0dXJuIHRoaXMuX29mZmVyc31pbnZhbGlkYXRlKGUpe3RoaXMuX2lzSW52YWxpZD0hMCx3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9LHRoaXMucnVuT3JVcGRhdGUoZT8/KCgpPT57fSkpfXNldEluaXRpYWwoZSl7dGhpcy5faXNJbnZhbGlkPSExLHRoaXMuX29mZmVycz1lLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzfWVuc3VyZU9mZmVycygpe3JldHVybiBuZXcgUHJvbWlzZSgoZT0+dGhpcy5ydW5PclVwZGF0ZShlKSkpfXdpdGhBdmFpbGFibGVPZmZlcnMoZSl7cmV0dXJuIGFzeW5jKC4uLnQpPT4oYXdhaXQgdGhpcy5lbnN1cmVPZmZlcnMoKSxlKC4uLnQpKX1hc3luYyBfdXBkYXRlT2ZmZXJzKCl7cmV0dXJuIHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnN8fCh3aW5kb3cudXNlci5hdmFpbGFibGVfb2ZmZXJzPXt9KSx0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlP3RoaXMuX3VwZGF0ZU9mZmVyc1Byb21pc2U6dGhpcy5faXNJbnZhbGlkPyh0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlPSgwLGkuZmV0Y2gpKCIvYXBpL3YxL29mZmVycy8iLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUifSkudGhlbigoYXN5bmMgZT0+e2NvbnN0IHQ9YXdhaXQgZS5qc29uKCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl91cGRhdGVPZmZlcnNQcm9taXNlLHRoaXMuX2lzSW52YWxpZD0hMSx0aGlzLl9vZmZlcnM9T2JqZWN0LmVudHJpZXModCkucmVkdWNlKCgoZSxbdCxvXSk9PihvJiYoZVt0XT1vKSxlKSkse30pLHdpbmRvdy51c2VyLmF2YWlsYWJsZV9vZmZlcnM9dGhpcy5fb2ZmZXJzLHR9KSkuY2F0Y2goKCgpPT4oe30pKSksdGhpcy5fdXBkYXRlT2ZmZXJzUHJvbWlzZSk6dGhpcy5fb2ZmZXJzfX19LDc3NDUwNyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtVc2VyU3RhdHVzOigpPT5pfSk7dmFyIGksbj1vKDg2NDAzNCkscj1vKDYzODU3MSk7IWZ1bmN0aW9uKGUpe2UuTm9uUHJvPSJub25fcHJvIixlLlBybz0icHJvIn0oaXx8KGk9e30pKTsoMCxyLm1lbW9pemUpKCgoKT0+d2luZG93LnVzZXIuaXNfdHJpYWwmJndpbmRvdy51c2VyLnByb19wbGFuP3dpbmRvdy51c2VyLmlzX2V4cGVydHx8d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzIT09aS5Qcm8/bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOOm4uTU9OVEhMWV9TVUJTQ1JJUFRJT05fREFZU19MRU46bi5XRUVLTFlfU1VCU0NSSVBUSU9OX0RBWVNfTEVOKSl9LDk2MDIyOShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRTY3JlZW5lckNvdW50cmllc01hcDooKT0+c30pO3ZhciBpPW8oMTM3ODc5KSxuPW8oMzg5OTk0KTtsZXQgcj1udWxsO2Z1bmN0aW9uIHMoKXtpZihyKXJldHVybiByO3I9e307Zm9yKGNvbnN0IGUgb2YgbilpZihpLmNvdW50cmllcy5oYXNPd25Qcm9wZXJ0eShlKSl7CmNvbnN0IHQ9ZSxvPWkuY291bnRyaWVzW3RdLG49by5zY3JlZW5lck5hbWUscz1vLmV4Y2hhbmdlc1N0b2Nrc3x8W107clt0XT17Li4ubyxzY3JlZW5lck5hbWU6bixleGNoYW5nZXNTdG9ja3M6cyxncm91cDpvLmdyb3VwfX1yZXR1cm4gcn19LDIxNDA2MChlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpPW8oNDgyNTA0KTtjb25zdCBuPW8oMjIxMDYxKS5nZXRMb2dnZXIoIkNvbW1vblVJLkNyZWF0ZVRWQmxvY2tQbHVnaW4iKTtlLmV4cG9ydHMuY3JlYXRlVHZCbG9ja1dpdGhJbnN0YW5jZT1mdW5jdGlvbihlLHQpe2lmKGUmJnQpcmV0dXJuIGU9ZS50b1N0cmluZygpLGZ1bmN0aW9uKHIscyxhKXt2YXIgbCxjLGQ7cmV0dXJuImdldCI9PT1yP2w9czooYz1zLCJvYmplY3QiPT10eXBlb2YgciYmdm9pZCAwPT09cz8oYz1yLHI9ImluaXQiKToic3RyaW5nIiE9dHlwZW9mIHImJihyPSJpbml0IikpLCJnZXRJbnN0YW5jZSI9PT1yP2kodGhpcykuZXEoMCkuZGF0YShlKToiZGVzdHJveSI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/dm9pZCgiZnVuY3Rpb24iPT10eXBlb2YgZC5kZXN0cm95PyhvKGQsImRlc3Ryb3kiLGMpLGkodGhpcykuZXEoMCkucmVtb3ZlRGF0YShlKSk6bi5sb2dFcnJvcigiW0Jsb2NrIFBsdWdpbl0gIitlKyIgZG9lcyBub3Qgc3VwcG9ydCBkZXN0cm95IGNvbW1hbmQiKSk6dm9pZCBjb25zb2xlLndhcm4oIltCbG9jayBQbHVnaW5dIFRyeWluZyB0byBleGVjdXRlIGRlc3Ryb3kgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6ImdldCI9PT1yPyhkPWkodGhpcykuZXEoMCkuZGF0YShlKSk/ImZ1bmN0aW9uIj09dHlwZW9mIGRbbF0/byhkLGwsYSk6ZFtsXTp2b2lkIGNvbnNvbGUud2FybigiW0Jsb2NrIFBsdWdpbl0gVHJ5aW5nIHRvIGdldCBwcm9wIG9yIGV4ZWN1dGUgbWV0aG9kIG9mICIrZSsiIGJ1dCBpdCBoYXMgbm90IGJlZW4gaW5pdGVkIik6aSh0aGlzKS5lYWNoKChmdW5jdGlvbigpe3ZhciBzPWkodGhpcyksYT1zLmRhdGEoZSk7dm9pZCAwPT09YSYmKGE9dm9pZCAwPT09Yz90KHMpOnQocyxjKSxzLmRhdGEoZSxhKSksImluaXQiIT09ciYmKCJmdW5jdGlvbiI9PXR5cGVvZiBhW3JdP28oYSxyLGMpOm4ubG9nRXJyb3IoIltCbG9jayBQbHVnaW5dICIrZSsiIGRvZXMgbm90IHN1cHBvcnQgY29tbWFuZCAiK3IpKX0pKX07ZnVuY3Rpb24gbyhlLHQsbyl7cmV0dXJuIHZvaWQgMD09PW8/ZVt0XSgpOmVbdF0obyl9fX0sMjE1NTM5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RlZmF1bHQ6KCk9Pmh9KTt2YXIgaT1vKDIxNDA2MCksbj0obygyNjIzMTkpLG8oNDgyNTA0KSkscj1vKDQ5MTg2KSx7bWVyZ2U6c309byg2MDE4NDEpO2NvbnN0IGE9bygyMjEwNjEpLmdldExvZ2dlcigiVWkuVHZDb250cm9sQ2hlY2tib3giKSxsPXtsYWJlbFdyYXBwZXI6J3t7I2hhc0xhYmVsfX08bGFiZWw+e3sjbGFiZWxMZWZ0fX08c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwge3sjbGFiZWxBZGRDbGFzc319e3tsYWJlbEFkZENsYXNzfX17ey9sYWJlbEFkZENsYXNzfX0iPnt7bGFiZWxMZWZ0fX08L3NwYW4+e3svbGFiZWxMZWZ0fX17ez4gaW5wdXRXcmFwcGVyIH19e3sjbGFiZWxSaWdodH19PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIHt7I2xhYmVsQWRkQ2xhc3N9fXt7bGFiZWxBZGRDbGFzc319e3svbGFiZWxBZGRDbGFzc319Ij57e2xhYmVsUmlnaHR9fTwvc3Bhbj57ey9sYWJlbFJpZ2h0fX08L2xhYmVsPnt7L2hhc0xhYmVsfX17e15oYXNMYWJlbH19e3s+IGlucHV0V3JhcHBlciB9fXt7L2hhc0xhYmVsfX0nLGlucHV0V3JhcHBlcjonPHt7IHRhZyB9fSBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX17eyNkaXNhYmxlZH19IGktZGlzYWJsZWR7ey9kaXNhYmxlZH19Ij57e15oYXNDaGVja2JveH19e3s+IGNoZWNrYm94IH19e3svaGFzQ2hlY2tib3h9fXt7PiBib3ggfX08L3t7IHRhZyB9fT4nLGNoZWNrYm94Oic8aW5wdXR7eyNpZH19IGlkPSJ7eyBpZCB9fSJ7ey9pZH19IGNsYXNzPSJ7ez4gY2hlY2tib3hDbGFzcyB9fSIgdHlwZT0iY2hlY2tib3gie3sjbmFtZX19IG5hbWU9Int7IG5hbWUgfX0ie3svbmFtZX19e3sjY2hlY2tlZH19IGNoZWNrZWR7ey9jaGVja2VkfX17eyNkaXNhYmxlZH19IGRpc2FibGVke3svZGlzYWJsZWR9fT4nLGNoZWNrYm94Q2xhc3M6Int7IGN1c3RvbUNsYXNzIH19X19pbnB1dCIsYm94Oic8c3BhbiBjbGFzcz0ie3sgY3VzdG9tQ2xhc3MgfX1fX2JveCB7eyNib3hBZGRDbGFzc319e3tib3hBZGRDbGFzc319e3svYm94QWRkQ2xhc3N9fSI+JytvKDQ4ODg3NSkrIjwvc3Bhbj4ifSxjPSJpLWluaXRlZCI7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih7Y3VzdG9tQ2xhc3M6ZT0idHYtY29udHJvbC1jaGVja2JveCIsJGNoZWNrYm94OnQsdGFnOm8saWQ6aSxuYW1lOnIsY2hlY2tlZDpzLGRpc2FibGVkOmwsbGFiZWxMZWZ0OmQsbGFiZWxSaWdodDpoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSl7dGhpcy4kZWw9bnVsbCx2b2lkIDA9PT1vJiYobz1kfHxoPyJzcGFuIjoibGFiZWwiKTtjb25zdCBwPXQgaW5zdGFuY2VvZiBuJiYhIXQubGVuZ3RoO2lmKHApe2lmKCF0LmlzKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpKXJldHVybiB2b2lkIGEubG9nRXJyb3IoImAkY2hlY2tib3hgIG5lZWQgdG8gYmUgaW5wdXRbdHlwZT1jaGVja2JveF0iKTtpZih0Lmhhc0NsYXNzKGMpKXJldHVybjt0aGlzLl9zZXRJbnB1dElkKHQsaSksdGhpcy5fc2V0SW5wdXRDbGFzcyh0LGUpLHRoaXMuX3NldElucHV0TmFtZSh0LHIpLHRoaXMuX3NldElucHV0Q2hlY2tlZCh0LHMpLHRoaXMuX3NldElucHV0RGlzYWJsZWQodCxsKSxzPSEhdC5wcm9wKCJjaGVja2VkIiksbD0hIXQuYXR0cigiZGlzYWJsZWQiKX10aGlzLiRlbD10aGlzLnJlbmRlcih7JGNoZWNrYm94OnQsaGFzQ2hlY2tib3g6cCxjdXN0b21DbGFzczplLHRhZzpvLGlkOmksbmFtZTpyLGNoZWNrZWQ6cyxkaXNhYmxlZDpsLGxhYmVsTGVmdDpkLGxhYmVsUmlnaHQ6aCxoYXNMYWJlbDpkfHxoLGxhYmVsQWRkQ2xhc3M6dSxib3hBZGRDbGFzczpffSksCnRoaXMuJGNoZWNrYm94PXA/dDp0aGlzLiRlbC5maW5kKCJpbnB1dFt0eXBlPWNoZWNrYm94XSIpfV9zZXRJbnB1dElkKGUsdCl7dm9pZCAwIT09dCYmZS5hdHRyKCJpZCIsdCl9X3NldElucHV0Q2xhc3MoZSx0KXtjb25zdCBvPXIucmVuZGVyKGwuY2hlY2tib3hDbGFzcyx7Y3VzdG9tQ2xhc3M6dH0pO2UuYWRkQ2xhc3Mobyl9X3NldElucHV0TmFtZShlLHQpe3ZvaWQgMCE9PXQmJmUuYXR0cigibmFtZSIsdCl9X3NldElucHV0Q2hlY2tlZChlLHQpe3ZvaWQgMCE9PXQmJmUucHJvcCgiY2hlY2tlZCIsISF0KX1fc2V0SW5wdXREaXNhYmxlZChlLHQpe3ZvaWQgMCE9PXQmJih0P2Uuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsImRpc2FibGVkIik6ZS5yZW1vdmVBdHRyKCJkaXNhYmxlZCIpKX1yZW5kZXIoZSl7Y29uc3QgdD1lLiRjaGVja2JveCxvPW4oci5yZW5kZXIobC5sYWJlbFdyYXBwZXIsZSxsKSk7aWYoZS5oYXNDaGVja2JveCl7by5pbnNlcnRCZWZvcmUodCk7by5maW5kKCIuIitlLmN1c3RvbUNsYXNzKS5hbmRTZWxmKCkuZmlsdGVyKCIuIitlLmN1c3RvbUNsYXNzKS5lcSgwKS5wcmVwZW5kKHQuZGV0YWNoKCkpLHQuYWRkQ2xhc3MoYyl9cmV0dXJuIG99c2V0IGNoZWNrZWQoZSl7dGhpcy5fc2V0SW5wdXRDaGVja2VkKHRoaXMuJGNoZWNrYm94LCEhZSl9Z2V0IGNoZWNrZWQoKXtyZXR1cm4hIXRoaXMuJGNoZWNrYm94LnByb3AoImNoZWNrZWQiKX19bi5mbi50dkNvbnRyb2xDaGVja2JveD0oMCxpLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLWNoZWNrYm94IiwoZnVuY3Rpb24oZSx0PXt9KXtyZXR1cm4gbmV3IGQocyh0LHskY2hlY2tib3g6ZX0pKX0pKTtjb25zdCBoPWR9LDU1MDY4MihlLHQsbyl7InVzZSBzdHJpY3QiO28ucih0KSxvLmQodCx7RHJvcGRvd25WaWV3OigpPT5sfSk7byg5ODY3MDUpLG8oMzc2NDUwKTt2YXIgaT1vKDkzMDIzMSksbj1vKDIxNDA2MCkscj1vKDE4OTMpLHM9bygzMzczNjIpLGE9byg0ODI1MDQpO2NsYXNzIGx7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLiRlbD1lLHRoaXMuJHdyYXA9dC4kd3JhcHx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2J1dHRvbiIpLHRoaXMuJGJvZHk9dC4kYm9keXx8ZS5maW5kKCIudHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkiKSx0aGlzLm5vdENsb3NlV2l0aEN0cmw9ISF0Lm5vdENsb3NlV2l0aEN0cmwmJnQubm90Q2xvc2VXaXRoQ3RybCx0aGlzLmNsb3NlV2l0aEVzYz12b2lkIDA9PT10LmNsb3NlV2l0aEVzY3x8dC5jbG9zZVdpdGhFc2MsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLmF0dHIoInRhYkluZGV4IiwwKSwoZS5kYXRhKCJzY3JvbGwiKXx8dC5zY3JvbGwpJiYodGhpcy4kc2Nyb2xsPXRoaXMuJGJvZHkuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiKSx0aGlzLiRpblNjcm9sbD10aGlzLiRzY3JvbGwuZmluZCgiLnR2LWRyb3Bkb3duLWJlaGF2aW9yX19pbnNjcm9sbCIpLHRoaXMuc2Nyb2xsPW5ldyByLlNpZGViYXJDdXN0b21TY3JvbGwodGhpcy4kc2Nyb2xsWzBdLHRoaXMuJGluU2Nyb2xsWzBdLHtzaG93VG9wU2hhZG93OiExLHNob3dCb3R0b21TaGFkb3c6ITF9KSx0aGlzLiRzY3JvbGxCYXI9YSh0aGlzLnNjcm9sbC5nZXRTY3JvbGxCYXIoKSksdGhpcy4kc2Nyb2xsQmFyJiZ0aGlzLiRzY3JvbGxCYXIub24oIm1vdXNlZG93bi50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vZmZDbGlja091dHNpZGUoKSxhKGRvY3VtZW50KS5vbigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIsKCgpPT57dGhpcy5vbkNsaWNrT3V0c2lkZSgpLGEoZG9jdW1lbnQpLm9mZigibW91c2V1cC50di1kcm9wZG93bi12aWV3LXNjcm9sbCIpfSkpfSkpKSwoZS5kYXRhKCJhZGFwdEJvZHkiKXx8dC5hZGFwdEJvZHkpJiYodGhpcy5fYWRhcHRCb2R5PSEwKSwoZS5kYXRhKCJhZGFwdE9ubHlJblNjcm9sbEhlaWdodCIpfHx0LmFkYXB0T25seUluU2Nyb2xsSGVpZ2h0KSYmKHRoaXMuX2FkYXB0T25seUluU2Nyb2xsSGVpZ2h0PSEwKSx0aGlzLl9maXRTY3JlZW49ZS5kYXRhKCJmaXRTY3JlZW4iKXx8dC5maXRTY3JlZW4sdGhpcy5fbWF4SGVpZ2h0PWUuZGF0YSgibWF4SGVpZ2h0Iil8fHQubWF4SGVpZ2h0LHRoaXMuX2Ryb3Bkb3duV2lkdGg9ZS5kYXRhKCJkcm9wZG93bldpZHRoIil8fHQuZHJvcGRvd25XaWR0aCx0aGlzLl9ib3VuZGluZ0VsZW1lbnQ9dC5ib3VuZGluZ0VsZW1lbnQsdGhpcy4kd3JhcC5hZGQoZS5maW5kKCIuanMtZHJvcGRvd24tdG9nZ2xlIikpLm9uKCJjbGljayIsKGU9PnthKGUuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoImpzLXByZXZlbnQtZHJvcGRvd24iKXx8dGhpcy50b2dnbGUoKX0pKSx0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZT1bXSwoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZzLkVtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXIuZ2V0SW5zdGFuY2UoKS5zdGFydExpc3RlbmluZygpfXRvZ2dsZSgpe3RoaXMub3BlbmVkP3RoaXMuY2xvc2UoITApOnRoaXMub3BlbigpfW9wZW4oKXt0aGlzLm9wZW5lZHx8dGhpcy5kaXNhYmxlZHx8dGhpcy5yZWFkb25seXx8KHRoaXMuJGVsLnRyaWdnZXIoImJlZm9yZU9wZW5NZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKS5hZGRDbGFzcygiaS1vcGVuZWQiKSx0aGlzLiR3cmFwLmFkZENsYXNzKCJpLWRyb3BwZWQiKSx0aGlzLiRlbC5hZGRDbGFzcygiaS1vcGVuZWQiKSwiaG9yeiI9PT10aGlzLl9maXRTY3JlZW4mJnRoaXMuZml0SG9yaXpvbnRhbGx5KCksdGhpcy5fYWRhcHRCb2R5JiZ0aGlzLmFkYXB0Qm9keSgpLHRoaXMub25DbGlja091dHNpZGUoKSx0aGlzLiRlbC50cmlnZ2VyKCJ1cGRhdGVTY3JvbGwiKSx0aGlzLiRlbC50cmlnZ2VyKCJhZnRlck9wZW5NZW51IiksdGhpcy5vcGVuZWQ9ITAsdGhpcy5jbG9zZVdpdGhFc2MmJnRoaXMuJGVsLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsyNz09PWUua2V5Q29kZSYmdGhpcy5jbG9zZSghMCl9KSkpfW9uQ2xpY2tPdXRzaWRlKCl7CnNldFRpbWVvdXQoKCgpPT57dGhpcy4kYm9keS5vbigiY2xpY2tvdXRzaWRlIiwoZT0+e3RoaXMuX2NoZWNrSWdub3JlQ2xpY2tPdXRzaWRlLmxlbmd0aCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc29tZSgodD0+dChlKSkpfHx0aGlzLmNsb3NlKCEwKX0pKX0pLDApfW9mZkNsaWNrT3V0c2lkZSgpe3RoaXMuJGJvZHkub2ZmKCJjbGlja291dHNpZGUiKX1zZXRDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt0aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5wdXNoKGUpfWRyb3BDaGVja0lnbm9yZUNsaWNrT3V0c2lkZShlKXt2YXIgdD10aGlzLl9jaGVja0lnbm9yZUNsaWNrT3V0c2lkZS5pbmRleE9mKGUpOy0xIT09dCYmdGhpcy5fY2hlY2tJZ25vcmVDbGlja091dHNpZGUuc3BsaWNlKHQsMSl9Y2xvc2UoZT0hMSl7IXRoaXMub3BlbmVkfHx0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwhZSYmdGhpcy5ub3RDbG9zZVdpdGhDdHJsJiYod2luZG93LmV2ZW50LmN0cmxLZXl8fHdpbmRvdy5ldmVudC5tZXRhS2V5KXx8KHRoaXMub2ZmQ2xpY2tPdXRzaWRlKCksdGhpcy4kd3JhcC5yZW1vdmVDbGFzcygiaS1kcm9wcGVkIiksdGhpcy4kZWwudHJpZ2dlcigiYmVmb3JlQ2xvc2VNZW51IiksdGhpcy4kYm9keS5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKS5hZGRDbGFzcygiaS1oaWRkZW4iKSx0aGlzLiRlbC5yZW1vdmVDbGFzcygiaS1vcGVuZWQiKSx0aGlzLmNsb3NlV2l0aEVzYyYmdGhpcy4kZWwub2ZmKCJrZXlwcmVzcyBrZXl1cCIpLHRoaXMub3BlbmVkPSExLHRoaXMuJGVsLnRyaWdnZXIoImFmdGVyQ2xvc2VNZW51IikpfWlzT3BlbmVkKCl7cmV0dXJuIHRoaXMub3BlbmVkfXVwZGF0ZVNjcm9sbCgpe3RoaXMuc2Nyb2xsJiYodGhpcy5zY3JvbGwudXBkYXRlU2Nyb2xsQmFyKCksdGhpcy5zY3JvbGwuc2Nyb2xsVG9TdGFydCgpKX1lbmFibGUoKXt0aGlzLiR3cmFwLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy5kaXNhYmxlZD0hMX1kaXNhYmxlKCl7dGhpcy4kd3JhcC5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuZGlzYWJsZWQ9ITB9c2V0UmVhZG9ubHkoZSl7dGhpcy5yZWFkb25seT1lfWFkYXB0Qm9keSgpe2NvbnN0IGU9dGhpcy4kYm9keSx0PXRoaXMuJHdyYXAuZ2V0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dGhpcy5fYm91bmRpbmdFbGVtZW50P3RoaXMuX2JvdW5kaW5nRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTp7dG9wOjAsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpKXtjb25zdCBlPXMuRW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlci5nZXRJbnN0YW5jZSgpLmRhdGEoKTtlJiYoby50b3A9TWF0aC5tYXgoby50b3AsZS50b3AtMzIpLG8uaGVpZ2h0PU1hdGgubWluKG8uaGVpZ2h0LGUuaGVpZ2h0KSxvLmJvdHRvbT1NYXRoLm1pbihvLmJvdHRvbSxlLmJvdHRvbSkpfWNvbnN0IG49cGFyc2VGbG9hdChlLmNzcygicGFkZGluZy10b3AiKSkscj1wYXJzZUZsb2F0KGUuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKSxhPXRoaXMuJGluU2Nyb2xsLm91dGVySGVpZ2h0KCEwKStuK3I7aWYodGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLnNjcm9sbFRvU3RhcnQoKSx0aGlzLl9hZGFwdE9ubHlJblNjcm9sbEhlaWdodCl7Y29uc3QgaT1lLmZpbmQoIi5qcy1kcm9wZG93bi1kdW1teSIpLG49aT9wYXJzZUZsb2F0KGkuY3NzKCJwYWRkaW5nLWJvdHRvbSIpKStwYXJzZUZsb2F0KGkuY3NzKCJtYXJnaW4tYm90dG9tIikpOjAscz10LnRvcCt0LmhlaWdodCtuO3JldHVybiB2b2lkIHRoaXMuJGVsLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIikuY3NzKCJtYXhIZWlnaHQiLG8uYm90dG9tLXItcy0yNSl9Y29uc3QgbD10aGlzLl9tYXhIZWlnaHR8fGEsYz10LnRvcCtsKzI1PD1vLmJvdHRvbSxkPW8udG9wKzE1K2w8PXQuYm90dG9tO2xldCBoLHU9dGhpcy5fbWF4SGVpZ2h0fHwiYXV0byI7aWYoYyloPS1uO2Vsc2UgaWYoZCloPS1sK3QuaGVpZ2h0K3I7ZWxzZXtoPS10LnRvcCtvLnRvcCsxNSsyNStuK3I7Y29uc3QgZT1vLmhlaWdodC0xNS0yNS1yO2w+ZSYmKHU9ZSl9ZS5jc3MoInRvcCIsaCksZS5oZWlnaHQodSksdGhpcy5fZHJvcGRvd25XaWR0aCYmZS53aWR0aCh0aGlzLl9kcm9wZG93bldpZHRoKX1maXRIb3Jpem9udGFsbHkoKXt0aGlzLiRib2R5LmNzcygibWFyZ2luTGVmdCIsMCk7Y29uc3QgZT1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9cGFyc2VGbG9hdChhKGRvY3VtZW50LmJvZHkpLmNzcygicGFkZGluZ1JpZ2h0IikpLG89dGhpcy4kYm9keS5vZmZzZXQoKTtvLnJpZ2h0PW8ubGVmdCt0aGlzLiRib2R5Lm91dGVyV2lkdGgoKTtjb25zdCBpPU1hdGgubWF4KE1hdGgubWluKDAsZS5yaWdodC10LW8ucmlnaHQpLGUubGVmdC1vLmxlZnQpO2kmJnRoaXMuJGJvZHkuY3NzKCJtYXJnaW5MZWZ0IixpKX1kZXN0cm95KCl7dGhpcy5zY3JvbGwmJnRoaXMuc2Nyb2xsLmRlc3Ryb3koKSx0aGlzLm9mZkNsaWNrT3V0c2lkZSgpLHRoaXMuJGVsLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUiKS5vZmYoImNsaWNrIiksdGhpcy4kd3JhcC5vZmYoImNsaWNrIil9fWEuZm4udHZEcm9wZG93bj0oMCxuLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1kcm9wZG93biIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBsKGUsdCl9KSl9LDkyNjk5NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzaG93U3VwcG9ydERpYWxvZzooKT0+bn0pO28oMzAwMjg2KTt2YXIgaT1vKDgyNzAxKTthc3luYyBmdW5jdGlvbiBuKGUpewpjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjY5NzMpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSg0NjkwNyksby5lKDIwMzU0KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0OTQ4KSxvLmUoMjM2MjQpLG8uZSgzNjIyMiksby5lKDk0MjMyKSxvLmUoODM0ODgpLG8uZSgxOTU5NSksby5lKDE5Nzg3KSxvLmUoNjc3OTkpLG8uZSgxMTQ2MSksby5lKDk2NTg3KSxvLmUoMTEyMTgpLG8uZSg4NjQyMyksby5lKDM3NTEzKSxvLmUoODU3OSksby5lKDk1MDQpLG8uZSg0MDgzNSksby5lKDcyNjY2KSxvLmUoOTM0MjEpLG8uZSg0OTU4OCksby5lKDQ3NjMyKSxvLmUoNzQzODEpLG8uZSgxNTUyNiksby5lKDcxNDE0KSxvLmUoNjE4MjEpLG8uZSg1NDY4MSksby5lKDY2MjcwKSxvLmUoMzE4MzcpLG8uZSg5NzQ0KSxvLmUoMjA5NzEpLG8uZSg0OTUxOCksby5lKDM3NzY3KSxvLmUoMTk1MTMpLG8uZSgzMjYzMiksby5lKDM1MTk4KSxvLmUoNDY1OTEpLG8uZSg5NDA1NCksby5lKDE1MDkpLG8uZSg3NjY1KSxvLmUoODA3MzEpLG8uZSg1NDMxMCksby5lKDM2MzU2KSxvLmUoNzg0NzEpLG8uZSgyNTY5OCksby5lKDMzMzY4KSxvLmUoOTUxNTgpLG8uZSgzMjM4Nyksby5lKDc1MDQpLG8uZSg0NDc4MCksby5lKDcwNzEyKSxvLmUoODc4NTgpLG8uZSg1OTYxOSksby5lKDk5ODI3KSxvLmUoODE4NjgpLG8uZSgyMzM2NCksby5lKDIzNzQzKSxvLmUoNDIyODgpLG8uZSg3NzU3OCksby5lKDQ4ODU0KSxvLmUoMTk0NjMpLG8uZSg4NjA4KV0pLnRoZW4oby5iaW5kKG8sOTEyMjk5KSk7YXdhaXQgaS5hdmFpbGFibGVPZmZlcnMuZW5zdXJlT2ZmZXJzKCksbmV3IHQuU3VwcG9ydERpYWxvZyhlKS5vcGVuKCl9fSw5ODM2MTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7bWFwS2V5Q29kZVRvRGlyZWN0aW9uOigpPT5jLG5hdmlnYXRpb25PcmRlckNvbXBhcmF0b3I6KCk9PnMscXVlcnlGb2N1c2FibGVFbGVtZW50czooKT0+bCxxdWVyeVRhYmJhYmxlRWxlbWVudHM6KCk9PmF9KTt2YXIgaSxuPW8oOTY5MTY4KSxyPW8oNjgyMzgxKTtmdW5jdGlvbiBzKGUsdCl7cmV0dXJuIGU9PT10PzA6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMToxfWZ1bmN0aW9uIGEoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b246bm90KDpkaXNhYmxlZCk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFt0YWJpbmRleD0iLTEiXSksIFt0YWJpbmRleF06bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pOm5vdChbdGFiaW5kZXg9Ii0xIl0pJykpLmZpbHRlcigoMCxyLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShlKSl9ZnVuY3Rpb24gbChlKXtyZXR1cm4gQXJyYXkuZnJvbShlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbjpub3QoOmRpc2FibGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKTpub3QoW2FyaWEtZGlzYWJsZWQ9IiJdKSwgW3RhYmluZGV4XTpub3QoW2Rpc2FibGVkXSk6bm90KFthcmlhLWRpc2FibGVkPSJ0cnVlIiBpXSk6bm90KFthcmlhLWRpc2FibGVkPSIiXSknKSkuZmlsdGVyKCgwLHIuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9KDAsbi5pc1J0bCkoKTtzd2l0Y2goZSl7Y2FzZSAzODpyZXR1cm4iYmxvY2tQcmV2IjtjYXNlIDQwOnJldHVybiJibG9ja05leHQiO2Nhc2UgMzc6cmV0dXJuIHQ/ImlubGluZU5leHQiOiJpbmxpbmVQcmV2IjtjYXNlIDM5OnJldHVybiB0PyJpbmxpbmVQcmV2IjoiaW5saW5lTmV4dCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19IWZ1bmN0aW9uKGUpe2UuQmxvY2tQcmV2PSJibG9ja1ByZXYiLGUuQmxvY2tOZXh0PSJibG9ja05leHQiLGUuSW5saW5lUHJldj0iaW5saW5lUHJldiIsZS5JbmxpbmVOZXh0PSJpbmxpbmVOZXh0In0oaXx8KGk9e30pKX0sMzg5ODQ0KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbigpPzA6cigpPzQ1Ok1hdGgubWluKE1hdGgubWF4KGUsNDUpLDQ1MCl9by5kKHQse2dldFdpZGdldEJhclBhZGRpbmc6KCk9Pml9KTtjb25zdCBuPSgpPT4hd2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDc2OHB4KSIpLm1hdGNoZXMscj0oKT0+IXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMjgwcHgpIikubWF0Y2hlc30sNzEyMTM0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0xJU1RfQ09MT1JTOigpPT51LExpc3RDb2xvcjooKT0+aSxjaGFuZ2VEZXNjcmlwdGlvbjooKT0+QyxjcmVhdGVDcm9zc1RhYlN5bmNNaWRkbGV3YXJlOigpPT5NLGdldENvbW1hbmRzOigpPT5MLGdldExpc3RCeUNvbG9yOigpPT5SLGdldFN5bWJvbENvbG9yOigpPT5JLGdldFN5bWJvbHNCeUNvbG9yOigpPT5GLGdldFRpbWVzdGFtcDooKT0+RCxpc0xpc3RDb2xvcjooKT0+XyxtYXJrTWFueTooKT0+ZixyZWR1Y2VyOigpPT5BLHJlbW92ZTooKT0+UyxyZW5hbWU6KCk9PncscmVuYW1lU2VwYXJhdG9yOigpPT5rLHJlc2V0OigpPT5iLHNldHVwOigpPT55LHNoaWZ0Q29tbWFuZDooKT0+VCx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooKT0+eH0pO3ZhciBpLG49bygxMzA2OTkpLHI9bygzMjcyMzkpLHM9bygxMzg2MzgpLGE9byg0MzMyMCksbD1vKDI5NTIzNSksYz1vKDYxMjQ0NiksZD1vKDkwMTAyMiksaD1vKDk3MzUyNCk7IWZ1bmN0aW9uKGUpe2UuUmVkPSJyZWQiLGUuQmx1ZT0iYmx1ZSIsZS5HcmVlbj0iZ3JlZW4iLGUuT3JhbmdlPSJvcmFuZ2UiLGUuUHVycGxlPSJwdXJwbGUiLGUuQ3lhbj0iY3lhbiIsZS5QaW5rPSJwaW5rIn0oaXx8KGk9e30pKTtjb25zdCB1PVtpLlJlZCxpLkJsdWUsaS5HcmVlbixpLk9yYW5nZSxpLlB1cnBsZSxpLkN5YW4saS5QaW5rXTtmdW5jdGlvbiBfKGUpe3JldHVybiBuZXcgU2V0KHUpLmhhcyhlKX1jb25zdCBwPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtmdW5jdGlvbiBtKGUsdCl7CmNvbnN0e2xpc3RzOm99PWUsaT1vLmJ5Q29sb3JbdF07aSYmMD09PWkuc3ltYm9scy5sZW5ndGgmJihvLmNvbG9ycz1vLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IHY9KDAsbi5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAscmVkdWNlcnM6e3NldHVwOihlLHQpPT57Y29uc3R7bGlzdHM6byx0aW1lc3RhbXA6aX09dC5wYXlsb2FkLG49e2xpc3RzOntjb2xvcnM6W10sYnlDb2xvcjp7fSxieVN5bWJvbDp7fX0sY29tbWFuZHM6W10sdGltZXN0YW1wOm51bGx9O24udGltZXN0YW1wPWk7Zm9yKGNvbnN0IGUgb2YgZnVuY3Rpb24oZSx0KXtyZXR1cm5bLi4uZV0uc29ydCgoKGUsbyk9PnQuaW5kZXhPZihlLmNvbG9yKS10LmluZGV4T2Yoby5jb2xvcikpKX0obyx1KSl7Y29uc3QgdD1lLnN5bWJvbHMuZmlsdGVyKCh0PT52b2lkIDA9PT1uLmxpc3RzLmJ5U3ltYm9sW3RdJiYoZyh0KXx8KG4ubGlzdHMuYnlTeW1ib2xbdF09ZS5jb2xvciksITApKSk7bi5saXN0cy5ieUNvbG9yW2UuY29sb3JdPXtjb2xvcjplLmNvbG9yLG5hbWU6ZS5uYW1lLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sc2hhcmVkOmUuc2hhcmVkLHN5bWJvbHM6dCxwZXJzaXN0ZWRTdGF0ZTplLnBlcnNpc3RlZFN0YXRlfSx0Lmxlbmd0aD4wJiZuLmxpc3RzLmNvbG9ycy5wdXNoKGUuY29sb3IpfXJldHVybiBufSxyZW1vdmU6KGUsdCk9Pntjb25zdHtjb2xvcjpvLHN5bWJvbHM6aSxzaWxlbnQ6bn09dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUsZD1hLmJ5Q29sb3Jbb107aWYodm9pZCAwPT09ZHx8MD09PWQuc3ltYm9scy5sZW5ndGgpcmV0dXJuO2NvbnN0IGg9bmV3IFNldChpKSx1PWQuc3ltYm9scy5maWx0ZXIoKGU9PiFoLmhhcyhlKSkpO2lmKCEoMCxjLmVxdWFsQXJyYXlzKSh1LGQuc3ltYm9scykpe2Quc3ltYm9scz11O2Zvcihjb25zdCBlIG9mIGgpZGVsZXRlIGEuYnlTeW1ib2xbZV07bnx8bC5wdXNoKHt0eXBlOiJyZW1vdmUiLGNvbG9yOm8sc3ltYm9sczpbLi4uaF0scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSksbShlLG8pfX0sbWFya01hbnk6KGUsdCk9Pntjb25zdHtjb2xvcjpvLGJlZm9yZTppLHNpbGVudDpufT10LnBheWxvYWQse2xpc3RzOmEsY29tbWFuZHM6bH09ZSx7dW5pcXVlOmQsZXhjbHVzaW9uczp1fT1mdW5jdGlvbihlLHQpe2NvbnN0e2NvbG9yOm8sc3ltYm9sczppLHNlcGFyYXRvcnM6bn09dC5wYXlsb2FkLHtsaXN0czpyfT1lLGE9e30sbD1uZXcgU2V0LGM9ZT0+ZyhlKT8oKDAscy5hc3NlcnQpKG51bGwhPT1vKSxvKTpyLmJ5U3ltYm9sW2VdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KytlKXtjb25zdCB0PWlbZV07aWYobC5oYXModCl8fGcodCkmJiFuKWNvbnRpbnVlO2wuYWRkKHQpO2NvbnN0IG89Yyh0KTt2b2lkIDAhPT1vJiYoYVtvXT1hW29dPz9uZXcgU2V0KS5hZGQodCl9cmV0dXJue2V4Y2x1c2lvbnM6YSx1bmlxdWU6bH19KGUsdCk7aWYoMD09PWQuc2l6ZSlyZXR1cm47Y29uc3QgXz1mdW5jdGlvbihlLHQsbyxpKXtjb25zdHtjb2xvcjpuLGJlZm9yZTpyfT10LnBheWxvYWQse2xpc3RzOnN9PWU7bGV0IGE7aWYobnVsbCE9PW4mJnZvaWQgMCE9PXImJm8uaGFzKHIpKXtjb25zdCBlPXMuYnlDb2xvcltuXTtpZih2b2lkIDAhPT1lKXthPWk7Zm9yKGxldCB0PWUuc3ltYm9scy5pbmRleE9mKHIpO3Q+PTA7LS10KWlmKCFvLmhhcyhlLnN5bWJvbHNbdF0pKXthPWUuc3ltYm9sc1t0XTticmVha319fXJldHVybiBhfShlLHQsZCxoLkxJU1RfU1RBUlQpO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT11W29dJiYxPT09T2JqZWN0LmtleXModSkubGVuZ3RoKXtjb25zdCB0PWEuYnlDb2xvcltvXTsoMCxzLmFzc2VydCkodm9pZCAwIT09dCk7Y29uc3QgcD10LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKSx2PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAsaSxfKTtpZih2b2lkIDA9PT12P3AucHVzaCguLi5kKTpwLnNwbGljZSh2LDAsLi4uZCksKDAsYy5lcXVhbEFycmF5cykocCx0LnN5bWJvbHMpKXJldHVybjt7Y29uc3QgaT11W29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1pKSx0LnN5bWJvbHM9cDtmb3IoY29uc3QgZSBvZiBpKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byk7cmV0dXJuIG0oZSxvKSx2b2lkKG58fGwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi50LnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX19Zm9yKGNvbnN0IHQgaW4gdSl7aWYoIXUuaGFzT3duUHJvcGVydHkodCkpY29udGludWU7Y29uc3Qgbz11W3RdOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1vKTtjb25zdCBpPWEuYnlDb2xvclt0XTsoMCxzLmFzc2VydCkodm9pZCAwIT09aSksaS5zeW1ib2xzPWkuc3ltYm9scy5maWx0ZXIoKGU9PiFvLmhhcyhlKXx8KGRlbGV0ZSBhLmJ5U3ltYm9sW2VdLCExKSkpLG0oZSx0KX1pZihudWxsPT09bylyZXR1cm4gdm9pZChufHxsLnB1c2goe3R5cGU6InJlc2V0IixzeW1ib2xzOlsuLi5kXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSk7Y29uc3QgcD1hLmJ5Q29sb3Jbb107aWYoYS5jb2xvcnMuaW5jbHVkZXMobykpeygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1wKTtjb25zdCB0PSgwLGguZ2V0VGFyZ2V0SW5kZXgpKHAuc3ltYm9scyxpLF8pO3ZvaWQgMD09PXQ/KHAuc3ltYm9scy5wdXNoKC4uLmQpLG58fCh2b2lkIDA9PT11W29dP2wucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pOmwucHVzaCh7dHlwZToicmVwbGFjZSIsY29sb3I6byxzeW1ib2xzOlsuLi5wLnN5bWJvbHNdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLApyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi5kKSxufHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOm8sc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltvXT17Y29sb3I6byxzeW1ib2xzOlsuLi5kXSxuYW1lOm51bGwsZGVzY3JpcHRpb246bnVsbCxzaGFyZWQ6ITEscGVyc2lzdGVkU3RhdGU6bnVsbH06cC5zeW1ib2xzPVsuLi5kXSxhLmNvbG9ycy5wdXNoKG8pLG58fGwucHVzaCh7dHlwZToiYXBwZW5kIixjb2xvcjpvLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pO2Zvcihjb25zdCBlIG9mIGQpZyhlKXx8KGEuYnlTeW1ib2xbZV09byl9LHJlbmFtZVNlcGFyYXRvcjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sc2VwYXJhdG9yOmksbmFtZTpuLHNpbGVudDphfT10LnBheWxvYWQ7aWYoaT09PW58fCFnKGkpfHwhZyhuKSlyZXR1cm47Y29uc3QgbD1lLmxpc3RzLmJ5Q29sb3Jbb107KDAscy5hc3NlcnQpKHZvaWQgMCE9PWwpO2NvbnN0IGM9bC5zeW1ib2xzLmluZGV4T2YoaSk7LTEhPT1jJiYtMT09PWwuc3ltYm9scy5pbmRleE9mKG4pJiYobC5zeW1ib2xzLnNwbGljZShjLDEsbiksYXx8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUtc2VwYXJhdG9yIixjb2xvcjpvLHNlcGFyYXRvcjppLG5hbWU6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlbmFtZTooZSx0KT0+e2NvbnN0e25hbWU6byxjb2xvcjppLHNpbGVudDpufT10LnBheWxvYWQsYT1lLmxpc3RzLmJ5Q29sb3JbaV07KDAscy5hc3NlcnQpKHZvaWQgMCE9PWEpLGEubmFtZSE9PW8mJihhLm5hbWU9byxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6InJlbmFtZSIsY29sb3I6aSxuYW1lOm8scHJldkxpc3RzOigwLHMuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxjaGFuZ2VEZXNjcmlwdGlvbjooZSx0KT0+e2NvbnN0e2NvbG9yOm8sZGVzY3JpcHRpb246aSxzaWxlbnQ6bn09dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW29dOygwLHMuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLmRlc2NyaXB0aW9uIT09aSYmKGEuZGVzY3JpcHRpb249aSxufHxlLmNvbW1hbmRzLnB1c2goe3R5cGU6ImNoYW5nZS1kZXNjcmlwdGlvbiIsY29sb3I6byxkZXNjcmlwdGlvbjppLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0scmVzZXQ6KGUsdCk9Pntjb25zdHtzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czppfT1lO2Zvcihjb25zdCBlIG9mIHUpe2NvbnN0IHQ9aS5ieUNvbG9yW2VdO3ZvaWQgMCE9PXQmJih0LnN5bWJvbHM9W10pfWkuY29sb3JzPVtdLGkuYnlTeW1ib2w9e30sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZXNldC1hbGwiLHByZXZMaXN0czooMCxzLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pfSxzaGFyZTooZSx0KT0+e2NvbnN0e2xpc3RzOm8sY29tbWFuZHM6aX09ZSx7c2hhcmVkOm4sY29sb3I6YSxzaWxlbnQ6bH09dC5wYXlsb2FkLGM9by5ieUNvbG9yW2FdO3ZvaWQgMCE9PWMmJmMuc2hhcmVkIT09biYmKGMuc2hhcmVkPW4sbHx8aS5wdXNoKHt0eXBlOiJzaGFyZSIsY29sb3I6YSxzaGFyZWQ6bixwcmV2TGlzdHM6KDAscy5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHVwZGF0ZVBlcnNpc3RlZFN0YXRlOihlLHQpPT57Y29uc3R7bGlzdHM6b309ZTtmb3IoY29uc3QgZSBvZiB1KXtjb25zdCBpPW8uYnlDb2xvcltlXSxuPXQucGF5bG9hZFtlXTt2b2lkIDAhPT1pJiZpLnBlcnNpc3RlZFN0YXRlJiZuJiYoaS5wZXJzaXN0ZWRTdGF0ZT17Li4uaS5wZXJzaXN0ZWRTdGF0ZSwuLi5ufSl9fSxzaGlmdENvbW1hbmQ6KGUsdCk9Pntjb25zdHtjb3VudDpvfT10LnBheWxvYWQ7ZS5jb21tYW5kcy5zcGxpY2UoMCxvKX19fSkse21hcmtNYW55OmYsc2V0dXA6eSxyZXNldDpiLHJlbW92ZTpTLHJlbmFtZTp3LGNoYW5nZURlc2NyaXB0aW9uOkMscmVuYW1lU2VwYXJhdG9yOmssc2hpZnRDb21tYW5kOlQsc2hhcmU6RSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTp4fT12LmFjdGlvbnMse3JlZHVjZXI6QX09djtmdW5jdGlvbiBNKGUsdCxvPXYpe3JldHVybigwLGEuY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZSkoe2lkOmUsY2hhbm5lbDp0LGV2ZW50OiJtYXJrZWQtbGlzdC1jcm9zcy10YWItc3luYyIsZmlsdGVyOmU9PmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQuYWN0aW9ucy5tYXJrTWFueS5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbmFtZS5tYXRjaChlKXx8dC5hY3Rpb25zLmNoYW5nZURlc2NyaXB0aW9uLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVtb3ZlLm1hdGNoKGUpfHx0LmFjdGlvbnMuc2V0dXAubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWVTZXBhcmF0b3IubWF0Y2goZSl8fHQuYWN0aW9ucy5yZXNldC5tYXRjaChlKXx8dC5hY3Rpb25zLnNoYXJlLm1hdGNoKGUpfHx0LmFjdGlvbnMudXBkYXRlUGVyc2lzdGVkU3RhdGUubWF0Y2goZSl9KGUsbyl9KX1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUubGlzdHMuYnlTeW1ib2xbbC5xdWFsaWZpZWQuY2FzdCh0KV0/P251bGx9ZnVuY3Rpb24gUihlLHQpe3JldHVybiBlLmxpc3RzLmJ5Q29sb3JbdF0/P251bGx9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBSKGUsdCk/LnN5bWJvbHM/P251bGx9ZnVuY3Rpb24gTChlKXtyZXR1cm4gZS5jb21tYW5kc31mdW5jdGlvbiBEKGUpe3JldHVybiBlLnRpbWVzdGFtcH19LDUxODc1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtlLnByZXZlbnREZWZhdWx0KCl9by5kKHQse3ByZXZlbnREZWZhdWx0OigpPT5pLHByZXZlbnREZWZhdWx0Rm9yQ29udGV4dE1lbnU6KCk9PnJ9KQo7Y29uc3Qgbj1bImlucHV0Om5vdChbdHlwZV0pIiwnaW5wdXRbdHlwZT0idGV4dCJdJywnaW5wdXRbdHlwZT0iZW1haWwiXScsJ2lucHV0W3R5cGU9InBhc3N3b3JkIl0nLCdpbnB1dFt0eXBlPSJzZWFyY2giXScsJ2lucHV0W3R5cGU9Im51bWJlciJdJywnaW5wdXRbdHlwZT0idXJsIl0nLCJ0ZXh0YXJlYSIsImFbaHJlZl0iLCcqW2NvbnRlbnRlZGl0YWJsZT0idHJ1ZSJdJywiW2RhdGEtYWxsb3ctY29udGV4dC1tZW51XSJdO2Z1bmN0aW9uIHIoZSl7Y29uc3QgdD1lLnRhcmdldDt0JiYhdC5jbG9zZXN0KG4uam9pbigiLCAiKSkmJmUucHJldmVudERlZmF1bHQoKX19LDYxNjMxMShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt1c2VJc29tb3JwaGljTGF5b3V0RWZmZWN0OigpPT5ufSk7dmFyIGk9byg3Nzk0NzQpO2Z1bmN0aW9uIG4oZSx0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3c/aS51c2VFZmZlY3Q6aS51c2VMYXlvdXRFZmZlY3QpKGUsdCl9fSw3NjI4NTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlKyLigKYifW8uZCh0LHthcHBlbmRFbGxpcHNpczooKT0+aX0pfSwxMzg2MzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJBc3NlcnRpb24gZmFpbGVkIisodD9gOiAke3R9YDoiIikpfWZ1bmN0aW9uIG4oZSx0KXtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcihgJHt0Pz8iVmFsdWUifSBpcyB1bmRlZmluZWRgKTtyZXR1cm4gZX1mdW5jdGlvbiByKGUsdCl7aWYobnVsbD09PWUpdGhyb3cgbmV3IEVycm9yKGAke3Q/PyJWYWx1ZSJ9IGlzIG51bGxgKTtyZXR1cm4gZX1mdW5jdGlvbiBzKGUsdCl7cmV0dXJuIHIobihlLHQpLHQpfW8uZCh0LHthc3NlcnQ6KCk9PmksZW5zdXJlOigpPT5zLGVuc3VyZURlZmluZWQ6KCk9Pm4sZW5zdXJlTm90TnVsbDooKT0+cn0pfSwyMTQ5ODcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PW51bGw7cmV0dXJuKG8sLi4uaSk9Pih0Py5hYm9ydCgpLHQ9bmV3IEFib3J0Q29udHJvbGxlcixvPy5hYm9ydGVkP3QuYWJvcnQoKTpvPy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCgpPT50Py5hYm9ydCgpKSx7b25jZTohMH0pLGUodC5zaWduYWwsLi4uaSkpfWZ1bmN0aW9uIG4oZSl7aWYoIWwoZSkpdGhyb3cgZX1mdW5jdGlvbiByKGUpe2lmKGwoZSkpdGhyb3cgZX1mdW5jdGlvbiBzKGUpe3JldHVybiBlPy5hYm9ydGVkP1Byb21pc2UucmVqZWN0KGEoKSk6bmV3IFByb21pc2UoKCh0LG8pPT57ZT8uYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgoKT0+byhhKCkpKSx7b25jZTohMH0pfSkpfWZ1bmN0aW9uIGEoKXtyZXR1cm4gbmV3IERPTUV4Y2VwdGlvbigiQWJvcnRlZCIsIkFib3J0RXJyb3IiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRXJyb3ImJiJBYm9ydEVycm9yIj09PWUubmFtZXx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmIm5hbWUiaW4gZSYmIkFib3J0RXJyb3IiPT09ZS5uYW1lfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gUHJvbWlzZS5yYWNlKFtzKGUpLHRdKX1hc3luYyBmdW5jdGlvbiBkKGUsdCl7bGV0IG87dHJ5e2F3YWl0IGMoZSxuZXcgUHJvbWlzZSgoZT0+e289c2V0VGltZW91dChlLHQpfSkpKX1maW5hbGx5e2NsZWFyVGltZW91dChvKX19by5kKHQse2NyZWF0ZUFib3J0RXJyb3I6KCk9PmEsZGVsYXk6KCk9PmQsaXNBYm9ydEVycm9yOigpPT5sLHJlc3BlY3RBYm9ydDooKT0+YyxyZXNwZWN0TGF0ZXN0OigpPT5pLHJldGhyb3dBYm9ydEVycm9yOigpPT5yLHNraXBBYm9ydEVycm9yOigpPT5ufSl9LDk2NDQ4NihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtkZWVwRXh0ZW5kOigpPT5ufSk7Y29uc3QgaT1uZXcgU2V0KFsiX19wcm90b19fIiwicHJvdG90eXBlIiwiY29uc3RydWN0b3IiXSk7ZnVuY3Rpb24gbihlLC4uLnQpe3JldHVybiBlJiYib2JqZWN0Ij09dHlwZW9mIGU/KDA9PT10Lmxlbmd0aHx8dC5mb3JFYWNoKCh0PT57bnVsbCE9dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChvPT57aWYoZnVuY3Rpb24oZSl7cmV0dXJuIGkuaGFzKGUpfShvKSlyZXR1cm47Y29uc3Qgcz1lW29dLGE9dFtvXTtpZihhPT09ZSlyZXR1cm47Y29uc3QgbD1BcnJheS5pc0FycmF5KGEpO2lmKGEmJihyKGEpfHxsKSl7bGV0IHQ7dD1sP3MmJkFycmF5LmlzQXJyYXkocyk/czpbXTpzJiZyKHMpP3M6e30sZVtvXT1uKHQsYSl9ZWxzZSB2b2lkIDAhPT1hJiYoZVtvXT1hKX0pKX0pKSxlKTplfWZ1bmN0aW9uIHIoZSl7aWYoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKXJldHVybiExO2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2lmKCF0KXJldHVybiEwO2NvbnN0IG89T2JqZWN0Lmhhc093blByb3BlcnR5LnRvU3RyaW5nLGk9dC5oYXNPd25Qcm9wZXJ0eSgiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgaSYmby5jYWxsKGkpPT09by5jYWxsKE9iamVjdCl9fSw2Mzg1NzEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgbz1uZXcgTWFwO3JldHVybiBmdW5jdGlvbiguLi5pKXtjb25zdCBuPSIiKyh0P3QuYXBwbHkobnVsbCxpKTppWzBdKTtpZighby5oYXMobikpe2NvbnN0IHQ9ZS5hcHBseSh0aGlzLGkpO3JldHVybiBvLnNldChuLHQpLHR9cmV0dXJuIG8uZ2V0KG4pfX1vLmQodCx7bWVtb2l6ZTooKT0+aX0pfSw1NDA1NzgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1stL1xcXiQqKz8uKCl8W1xde31dL2csIlxcJCYiKX1vLmQodCx7cmVnRXhwRXNjYXBlOigpPT5pfSl9LDExNTI5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtmb3JjZUxUUlN0cjooKT0+aCxnZXRMVFJTY3JvbGxMZWZ0OigpPT51LGlzUnRsOigpPT5zLHNldERvY3VtZW50RGlyR2V0dGVyOigpPT5yLHN0cmlwTFRSTWFya3M6KCk9PmR9KTt2YXIgaT1vKDMyMDQwMyk7bGV0IG49KCk9Pm51bGwKO2Z1bmN0aW9uIHIoZSl7bj1lfWNvbnN0IHM9KCk9PiJydGwiPT09ZnVuY3Rpb24oKXtjb25zdCBlPW4oKTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoIkRvY3VtZW50IGRpcmVjdGlvbiBnZXR0ZXIgaXMgbm90IHNldCwgY2FsbCBzZXREb2N1bWVudERpckdldHRlciB0byBzZXQgaXQiKTtyZXR1cm4gZX0oKSxhPSLigKoiLGw9IuKArCIsYz1uZXcgUmVnRXhwKCLigI584oCPfOKAqnzigKt84oCsIiwiZyIpO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIiIhPT1lJiZzKCkmJm51bGwhPWU/ZS5yZXBsYWNlKGMsIiIpOmV9ZnVuY3Rpb24gaChlKXtyZXR1cm4iIiE9PWUmJnMoKSYmbnVsbCE9ZT9hK2UrbDplfWZ1bmN0aW9uIHUoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9dmFyIF87IWZ1bmN0aW9uKGUpe2UuTFRSPSJsdHIiLGUuUlRMPSJydGwiLGUuVU5LTk9XTj0iIn0oX3x8KF89e30pKX0sNTM1MzAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TWluVGlja0RhdGE6KCk9PmwsbWFrZVZhcmlhYmxlTWluVGlja0RhdGE6KCk9PmR9KTt2YXIgaT1vKDcxMjc0NSksbj1vKDYwMTg0MSkscj1vKDUzNDQ0MCkscz1vKDY0MDc0NCk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gZT8oMCxpLkJpZykoZS5taW5Nb3ZlKS5kaXYoZS5wcmljZVNjYWxlKS50b051bWJlcigpOk5hTn1mdW5jdGlvbiBsKGUpe2NvbnN0e21pblRpY2s6dCxwcmljZTpvLHZhcmlhYmxlTWluVGlja0RhdGE6aSxzaG91bGRDaGVja0ZvckVxdWFsaXR5OnJ9PWUscz0oMCxuLmlzTnVtYmVyKSh0KT9jKHQpOnQ7cmV0dXJuIHZvaWQgMD09PWk/czpmdW5jdGlvbihlLHQsbz0hMSl7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspe2lmKGU8dFtpXS5wcmljZSlyZXR1cm4gdFtpXS5taW5UaWNrO2lmKG8mJmU9PT10W2ldLnByaWNlKXJldHVybiB0W2ldLm1pblRpY2t9cmV0dXJuIHRbdC5sZW5ndGgtMV0ubWluVGlja30obyxpLHIpfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxyLm51bU9mRGVjaW1hbFBsYWNlcykoZSksbz1NYXRoLnBvdygxMCx0KTtyZXR1cm57cHJpY2VTY2FsZTpvLG1pbk1vdmU6KDAsaS5CaWcpKGUpLm11bChvKS50b051bWJlcigpfX1mdW5jdGlvbiBkKGUsdCl7Y29uc3Qgbz1be21pblRpY2s6KDAsbi5pc051bWJlcikoZSk/YyhlKTplLHByaWNlOjEvMCxtYXhJbmRleDoxLzB9XTt0cnl7Y29uc3QgZT10LnNwbGl0KCIgIikubWFwKCgoZSx0KT0+KDAscy5pc0V2ZW4pKHQpP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc0Zpbml0ZSh0KSlyZXR1cm4gYyh0KTt7Y29uc3QgdD1lLnNwbGl0KCIvIik7aWYodC5sZW5ndGg8Mnx8dC5sZW5ndGg+Myl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbWludGljazogJHtlfWApO2NvbnN0IG89TnVtYmVyKHRbMV0pLGk9TnVtYmVyKHRbMF0pO2lmKCFOdW1iZXIuaXNGaW5pdGUobyl8fCFOdW1iZXIuaXNGaW5pdGUoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCBuPTM9PT10Lmxlbmd0aD9OdW1iZXIodFsyXSk6dm9pZCAwO2lmKHZvaWQgMCE9PW4mJiFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG1pbnRpY2s6ICR7ZX1gKTtjb25zdCByPXtwcmljZVNjYWxlOm8sbWluTW92ZTppfTtyZXR1cm4gdm9pZCAwIT09biYmKHIubWluTW92ZTI9bikscn19KGUpOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9TnVtYmVyKGUpO2lmKE51bWJlci5pc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgcHJpY2UgbGltaXQ6ICR7ZX1gKTtyZXR1cm4gdH0oZSkpKTtpZigoMCxzLmlzRXZlbikoZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiVGhlbWUgbXVzdCBub3QgYmUgZXZlbnQgbnVtYmVyIG9mIGVsZW1lbnRzIik7Y29uc3Qgbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrPTIpe2NvbnN0IG49ZVt0KzFdPz8xLzAscj1vW28ubGVuZ3RoLTFdPy5wcmljZT8/MCxzPW9bby5sZW5ndGgtMV0/Lm1heEluZGV4Pz8wLGw9bj09PTEvMD8xLzA6bmV3IGkuQmlnKG4pLm1pbnVzKHIpLmRpdihhKGVbdF0pKS5wbHVzKHMpLnRvTnVtYmVyKCk7by5wdXNoKHttaW5UaWNrOmVbdF0scHJpY2U6bixtYXhJbmRleDpsfSl9cmV0dXJuIG99Y2F0Y2h7cmV0dXJuIG99fX0sNDkxMTY1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2RhdGVGb3JtYXRGdW5jdGlvbnM6KCk9PmYsZ2V0RGF0ZUZvcm1hdFdpdGhXZWVrZGF5OigpPT55fSk7dmFyIGk9byg3ODMyNTQpLG49byg4MjI0MzEpLHI9byg4NTYzMjQpO2NvbnN0IHM9ezE6KCk9PmkudChudWxsLHZvaWQgMCxvKDY1NzM3NCkpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDYxNzM0MSkpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDEwMzMwNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDUyNjc4NSkpLDU6KCk9PmkudChudWxsLHtjb250ZXh0OiJzaG9ydCJ9LG8oNzM0NzUwKSksNjooKT0+aS50KG51bGwsdm9pZCAwLG8oODc3NDUpKSw3OigpPT5pLnQobnVsbCx2b2lkIDAsbygxODM5NTkpKSw4OigpPT5pLnQobnVsbCx2b2lkIDAsbyg5Mzc2MikpLDk6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3ODQ2OSkpLDEwOigpPT5pLnQobnVsbCx2b2lkIDAsbyg3MjgzMzcpKSwxMTooKT0+aS50KG51bGwsdm9pZCAwLG8oNjQ2NTQ1KSksMTI6KCk9PmkudChudWxsLHZvaWQgMCxvKDc2OTAzNikpfSxhPXsxOigpPT5pLnQobnVsbCx2b2lkIDAsbyg4OTc2NykpLDI6KCk9PmkudChudWxsLHZvaWQgMCxvKDk0ODkyMykpLDM6KCk9PmkudChudWxsLHZvaWQgMCxvKDM2NzkzNSkpLDQ6KCk9PmkudChudWxsLHZvaWQgMCxvKDE3NTUwNykpfSxsPShlLHQpPT4odD9lLmdldE1vbnRoKCk6ZS5nZXRVVENNb250aCgpKSsxLGM9KGUsdCk9PnQ/ZS5nZXREYXRlKCk6ZS5nZXRVVENEYXRlKCksZD0oZSx0KT0+dD9lLmdldEZ1bGxZZWFyKCk6ZS5nZXRVVENGdWxsWWVhcigpLGg9KGUsdCk9PmUudG9Mb2NhbGVEYXRlU3RyaW5nKCgwLHIuZ2V0TGFuZ3VhZ2UpKCk/KDAsci5tYXBMYW5ndWFnZUNvZGUpKCgwLApyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLHU9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxfPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMikscD0oZSx0KT0+c1tsKGUsdCldKCksbT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGQoZSx0KSUxMDAsMiksdj0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoZChlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHt1KGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7dShlLHQpfSAke3YoZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7XyhlLHQpfSAke3AoZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHtwKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7XyhlLHQpfSwgJHt2KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHtwKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKShjKGUsdCksMCkpKGUsdCl9LCAke3YoZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke3AoZSx0KX0gJHt2KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7cChlLHQpfSAke18oZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtfKGUsdCl9ICR7cChlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt2KGUsdCl9LSR7bShlLHQpfS0ke18oZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHttKGUsdCl9LSR7XyhlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke20oZSx0KX0vJHtfKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3YoZSx0KX0vJHttKGUsdCl9LyR7XyhlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtfKGUsdCl9LSR7bShlLHQpfS0ke3YoZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke18oZSx0KX0tJHttKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke20oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHttKGUsdCl9LyR7dihlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7bShlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke20oZSx0KX0vJHtfKGUsdCl9LyR7dihlLHQpfWB9O2Z1bmN0aW9uIHkoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8obyxpKT0+YCR7ZltlXShvLGkpfSAoJHtoKG8sdCl9KWA6KG8saSk9PmAke2gobyx0KX0gJHtmW2VdKG8saSl9YH1PYmplY3Qua2V5cyhmKX0sODIyNDMxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse251bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvOigpPT5ufSk7dmFyIGk9byg2MDE4NDEpO2Z1bmN0aW9uIG4oZSx0KXtpZighKDAsaS5pc051bWJlcikoZSkpcmV0dXJuIm4vYSI7aWYoISgwLGkuaXNJbnRlZ2VyKSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKHQ8MHx8dD4yNCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGxlbmd0aCIpO2lmKDA9PT10KXJldHVybiBlLnRvU3RyaW5nKCk7cmV0dXJuKCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIrZS50b1N0cmluZygpKS5zbGljZSgtdCl9fSw4NTYzMjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TGFuZ3VhZ2U6KCk9PnIsbWFwTGFuZ3VhZ2VDb2RlOigpPT5sLHJlZ2lzdGVyTGFuZ3VhZ2VDb2RlTWFwcGVyOigpPT5hLHJlZ2lzdGVyTGFuZ3VhZ2VHZXR0ZXI6KCk9Pm59KTtsZXQgaT1udWxsO2Z1bmN0aW9uIG4oZSl7aT1lfWZ1bmN0aW9uIHIoKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoIkxhbmd1YWdlIGdldHRlciBub3QgcmVnaXN0ZXJlZC4gQ2FsbCByZWdpc3Rlckxhbmd1YWdlR2V0dGVyKCkgZmlyc3QuIik7cmV0dXJuIGkoKX1sZXQgcz1lPT5lO2Z1bmN0aW9uIGEoZSl7cz1lfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIHMoZSl9fSw5NzM1MjQoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7TElTVF9TVEFSVDooKT0+aSxnZXRUYXJnZXRJbmRleDooKT0+bn0pO2NvbnN0IGk9U3ltYm9sKCk7ZnVuY3Rpb24gbihlLHQsbyl7Y29uc3Qgbj12b2lkIDA9PT1vP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpvPT09aT8wOmUuaW5kZXhPZihvKSsxO3JldHVybi0xIT09bj9uOnZvaWQgMH19LDQzMzIwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdHtpZDp0LGV2ZW50Om8sY2hhbm5lbDppLGZpbHRlcjpufT1lO3JldHVybiBlPT4oaS5vbihvLChvPT57Y29uc3R7YWN0aW9uOmksZW1pdHRlcjpyfT1KU09OLnBhcnNlKG8pO3IhPT10JiZuKGkpJiZlLmRpc3BhdGNoKHsuLi5pLHBheWxvYWQ6ey4uLmkucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IHM9ZShyKTtyZXR1cm4gbihyKSYmKHIucGF5bG9hZC5zaWxlbnR8fGkuZW1pdChvLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLHN9KX1vLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+aX0pfSwyOTUyMzUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cXVhbGlmaWVkOigpPT5pfSk7Y29uc3QgaT17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKGkuY2FzdCl9fSw2MTI0NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IG89MDtvPGUubGVuZ3RoOysrbylpZihlW29dIT09dFtvXSlyZXR1cm4hMTtyZXR1cm4hMH1vLmQodCx7ZXF1YWxBcnJheXM6KCk9Pml9KX0sODUyOTgwKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQsbyxpLG4pewpjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpzLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgYz10JiYoaSYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJm8/Yz1vOihzfHwhbiYmcikmJnQmJnQudGlja2VyJiYoYz10LnRpY2tlciksbCYmYyYmKGM9Yy50b1VwcGVyQ2FzZSgpKSxjfW8uZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5pfSl9LDMwOTA1MihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtRVU9URV9GSUVMRFM6KCk9Pm4sUVVPVEVfRklFTERTX0NBQ0hFOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpCjtjb25zdCBuPW5ldyBTZXQoWyJwcm9fbmFtZSIsImJhc2VfbmFtZSIsImxvZ28iLCJsb2dvaWQiLCJjdXJyZW5jeS1sb2dvaWQiLCJiYXNlLWN1cnJlbmN5LWxvZ29pZCIsInNvdXJjZS1sb2dvaWQiLCJzaG9ydF9uYW1lIiwid2ViX3NpdGVfdXJsIiwicHJvX3Blcm0iLCJ0aW1lem9uZSIsImN1cnJlbnRfc2Vzc2lvbiIsInNlc3Npb25faG9saWRheXMiLCJsYXN0X3ByaWNlIiwibHBfdGltZSIsInN1YnNlc3Npb25zIiwicHJldl9jbG9zZV9wcmljZSIsIm9wZW5fcHJpY2UiLCJoaWdoX3ByaWNlIiwibG93X3ByaWNlIiwicHJpY2VfNTJfd2Vla19oaWdoIiwicHJpY2VfNTJfd2Vla19sb3ciLCJhc2siLCJhc2tfc2l6ZSIsImJpZCIsImJpZF9zaXplIiwicmNoIiwicmNocCIsInJ0YyIsInJ0Y190aW1lIiwibmNoIiwibmNocCIsIm50YyIsIm50Y190aW1lIiwiZGF0YV9mcmVxdWVuY3kiLCJyZWZlcmVuY2UtbGFzdC1wZXJpb2Qtc3RhcnQiLCJidXNpbmVzc19kZXNjcmlwdGlvbiIsIndlYl9zaXRlX3VybCIsImZpZ2kiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJyb290IiwiZGVzY3JpcHRpb24iLCJleGNoYW5nZSIsImxpc3RlZF9leGNoYW5nZSIsInR5cGUiLCJjb3VudHJ5X2NvZGUiLCJwcm92aWRlcl9pZCIsImlzX3RyYWRhYmxlIiwic2VjdG9yIiwidHlwZXNwZWNzIiwidmlzaWJsZS1wbG90cy1zZXQiLCJpbmR1c3RyeSIsImN1cnJlbmN5X2lkIiwibGFzdF9wcmljZSIsImZyYWN0aW9uYWwiLCJtaW5tb3YiLCJtaW5tb3ZlMiIsInByaWNlc2NhbGUiLCJ2YXJpYWJsZV90aWNrX3NpemUiLCJjaGFuZ2UiLCJjaGFuZ2VfcGVyY2VudCIsInZvbHVtZSIsImF2ZXJhZ2Vfdm9sdW1lIiwibWFya2V0X2NhcF9iYXNpYyIsIm1hcmtldF9jYXBfY2FsYyIsInRvdGFsX3JldmVudWUiLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwicHJpY2VfZWFybmluZ3NfdHRtIiwiYmV0YV8xX3llYXIiLCJkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnkiLCJkaXZpZGVuZHNfeWllbGQiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcHVibGljYXRpb25fdHlwZV9uZXh0X2ZxIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2ZxIiwiZm9yZWNhc3RfcmF3IiwibGFzdF9yZWxlYXNlX2RhdGUiLCJuZXh0X3JlbGVhc2VfZGF0ZSIsInJlZmVyZW5jZV9sYXN0X3BlcmlvZCIsImZ1bmRhbWVudGFsX2N1cnJlbmN5X2NvZGUiLCJudW1iZXJfb2ZfZW1wbG95ZWVzIiwid2ViX3NpdGVfdXJsIiwiYnVzaW5lc3NfZGVzY3JpcHRpb24iLCJmb3VuZGVkIiwiY2VvIiwiZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwiZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bSIsImRpdmlkZW5kc195aWVsZF9jdXJyZW50IiwiZGl2aWRlbmRfZXhfZGF0ZV91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF91cGNvbWluZyIsImRpdmlkZW5kX2Ftb3VudF9yZWNlbnQiLCJkaXZpZGVuZF9leF9kYXRlX3JlY2VudCIsImRpdmlkZW5kX2Ftb3VudF9oIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3VwY29taW5nIiwiZGl2aWRlbmRfcGF5bWVudF9kYXRlX3JlY2VudCIsInRvdGFsX3JldmVudWVfZnFfaCIsInRvdGFsX3JldmVudWVfZnlfaCIsIm5ldF9pbmNvbWVfZnlfaCIsIm5ldF9pbmNvbWVfZnFfaCIsInRvdGFsX2Fzc2V0c19meV9oIiwidG90YWxfYXNzZXRzX2ZxX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19meV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZxX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2Z5X2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnFfaCIsImZpc2NhbF9wZXJpb2RfZnlfaCIsImZpc2NhbF9wZXJpb2RfZnFfaCIsImZpc2NhbF9wZXJpb2RfZmhfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9mcV9oIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZxX2giLCJlYXJuaW5nc19maXNjYWxfcGVyaW9kX2ZxX2giLCJuZXh0X2Vhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnEiLCJpc19uZXh0X2Vhcm5pbmdzX3JlbGVhc2VfZGF0ZV9lc3RpbWF0ZWQiLCJzeW1ib2wtcHJpbWFyeW5hbWUiLCJjdXJyZW5jeV9jb2RlIiwicmF0ZXNfbWMiLCJyYXRlc19meSIsInJhdGVzX3R0bSIsIm1lYXN1cmUiLCJ2YWx1ZV91bml0X2lkIiwidmFsdWUtdW5pdC1pZCIsInVwZGF0ZV9tb2RlIiwibGFuZ3VhZ2UiLCJsb2NhbF9kZXNjcmlwdGlvbiIsInNob3J0X2Rlc2NyaXB0aW9uIiwic291cmNlIiwic291cmNlMiIsImZvcm1hdCIsInJlY29tbWVuZGF0aW9uX21hcmsiLCJsYXN0X3JlcG9ydF9mcmVxdWVuY3kiLCJwcmljZV90YXJnZXRfZXN0aW1hdGVzX251bSIsInByaWNlX3RhcmdldF9hdmVyYWdlIiwidXBkYXRlX21vZGVfc2Vjb25kcyIsInJlY29tbWVuZGF0aW9uX3RvdGFsIiwicmVjb21tZW5kYXRpb25fYnV5IiwicmVjb21tZW5kYXRpb25fb3ZlciIsInJlY29tbWVuZGF0aW9uX2hvbGQiLCJyZWNvbW1lbmRhdGlvbl91bmRlciIsInJlY29tbWVuZGF0aW9uX3NlbGwiLCJyZWNvbW1lbmRhdGlvbl90b3RhbCIsInByaWNlX3RhcmdldF9oaWdoIiwicHJpY2VfdGFyZ2V0X2xvdyIsInJhdGVzX3B0IiwicmF0ZXNfcHQiLCJ0b3RhbF9yZXZlbnVlX2Z5X2giLCJ0b3RhbF9yZXZlbnVlX2ZxX2giLCJ0b3RhbF9yZXZlbnVlX2ZoX2giLCJuZXRfcmV2ZW51ZV9meV9oIiwibmV0X3JldmVudWVfZnFfaCIsIm5ldF9yZXZlbnVlX2ZoX2giLCJuZXRfaW5jb21lX2Z5X2giLCJuZXRfaW5jb21lX2ZxX2giLCJuZXRfaW5jb21lX2ZoX2giLCJ0b3RhbF9hc3NldHNfZnlfaCIsInRvdGFsX2Fzc2V0c19mcV9oIiwidG90YWxfYXNzZXRzX2ZoX2giLCJ0b3RhbF9saWFiaWxpdGllc19meV9oIiwidG90YWxfbGlhYmlsaXRpZXNfZnFfaCIsInRvdGFsX2xpYWJpbGl0aWVzX2ZoX2giLCJjYXNoX2Zfb3BlcmF0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX29wZXJhdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfaW52ZXN0aW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX2ZoX2giLCJjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19mcV9oIiwiY2FzaF9mX2ZpbmFuY2luZ19hY3Rpdml0aWVzX2ZoX2giLCJmaXNjYWxfcGVyaW9kX2Z5IiwiZmlzY2FsX3BlcmlvZF9mcSIsImZpc2NhbF9wZXJpb2RfZmgiLCJlYXJuaW5nc19yZWxlYXNlX2RhdGVfZnFfaCIsImVhcm5pbmdzX3JlbGVhc2VfZGF0ZV9meV9oIiwiZWFybmluZ3NfcmVsZWFzZV9kYXRlX2ZoX2giLCJlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlX2Z5IiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGVfZmgiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImVhcm5pbmdzX3JlbGVhc2VfdGltZSIsImlzX25leHRfZWFybmluZ3NfcmVsZWFzZV9kYXRlX2VzdGltYXRlZCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnkiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9maCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZmhfaCIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcV9oIiwiZWFybmluZ3NfcGVyX3NoYXJlX2Z5X2giLCJlYXJuaW5nc19wZXJfc2hhcmVfZmhfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnFfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZnlfaCIsImVhcm5pbmdzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9mcSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9meSIsIm5leHRfZWFybmluZ3NfZmlzY2FsX3BlcmlvZF9maCIsInJldmVudWVfZnFfaCIsInJldmVudWVfZnlfaCIsInJldmVudWVfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfZnFfaCIsInJldmVudWVfZm9yZWNhc3RfZnlfaCIsInJldmVudWVfZm9yZWNhc3RfZmhfaCIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9mcSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9meSIsInJldmVudWVfZm9yZWNhc3RfbmV4dF9maCIsInJldmVudWVfc2VnX2J5X2J1c2luZXNzX2giLCJyZXZlbnVlX3NlZ19ieV9yZWdpb25faCIsInRvdGFsX3JldmVudWVfZnkiLCJ0b3RhbF9yZXZlbnVlX2ZxIiwidG90YWxfcmV2ZW51ZV9maCIsImdyb3NzX3Byb2ZpdF9meSIsImdyb3NzX3Byb2ZpdF9mcSIsImdyb3NzX3Byb2ZpdF9maCIsImViaXRkYV9meSIsImViaXRfZnkiLCJuZXRfaW5jb21lX2Z5IiwibmV0X2luY29tZV9mcSIsIm5ldF9pbmNvbWVfZmgiLCJ0b3RhbF9kZWJ0X2Z5X2giLCJ0b3RhbF9kZWJ0X2ZxX2giLCJ0b3RhbF9kZWJ0X2ZoX2giLCJmcmVlX2Nhc2hfZmxvd19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZnFfaCIsImZyZWVfY2FzaF9mbG93X2ZoX2giLCJjYXNoX25fZXF1aXZhbGVudHNfZnlfaCIsImNhc2hfbl9lcXVpdmFsZW50c19mcV9oIiwiY2FzaF9uX2VxdWl2YWxlbnRzX2ZoX2giLCJ0b3RhbF9jdXJyZW50X2Fzc2V0c19meSIsInRvdGFsX2N1cnJlbnRfYXNzZXRzX2ZxIiwidG90YWxfY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9jdXJyZW50X2xpYWJpbGl0aWVzX2Z5IiwidG90YWxfY3VycmVudF9saWFiaWxpdGllc19mcSIsInRvdGFsX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnkiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZnEiLCJ0b3RhbF9ub25fY3VycmVudF9hc3NldHNfZmgiLCJ0b3RhbF9ub25fY3VycmVudF9saWFiaWxpdGllc19meSIsInRvdGFsX25vbl9jdXJyZW50X2xpYWJpbGl0aWVzX2ZxIiwidG90YWxfbm9uX2N1cnJlbnRfbGlhYmlsaXRpZXNfZmgiLCJsb2Fuc19uZXRfZnkiLCJsb2Fuc19uZXRfZnlfaCIsImxvYW5zX25ldF9mcV9oIiwibG9hbnNfbmV0X2ZoX2giLCJ0b3RhbF9kZXBvc2l0c19meSIsInRvdGFsX2RlcG9zaXRzX2Z5X2giLCJ0b3RhbF9kZXBvc2l0c19mcV9oIiwidG90YWxfZGVwb3NpdHNfZmhfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2Z5IiwibG9hbl9sb3NzX2FsbG93YW5jZXNfZnlfaCIsImxvYW5fbG9zc19hbGxvd2FuY2VzX2ZxX2giLCJsb2FuX2xvc3NfYWxsb3dhbmNlc19maF9oIiwicmVzZXJ2ZV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJyZXNlcnZlX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInJlc2VydmVfdG9fdG90YWxfY2FwaXRhbF9maF9oIiwidW5lYXJuZWRfcHJlbWl1bV90b190b3RhbF9jYXBpdGFsX2Z5X2giLCJ1bmVhcm5lZF9wcmVtaXVtX3RvX3RvdGFsX2NhcGl0YWxfZnFfaCIsInVuZWFybmVkX3ByZW1pdW1fdG9fdG90YWxfY2FwaXRhbF9maF9oIiwiaW5zdXJhbmNlX3Jlc2VydmVzX2Z5X2giLCJpbnN1cmFuY2VfcmVzZXJ2ZXNfZnFfaCIsImluc3VyYW5jZV9yZXNlcnZlc19maF9oIiwicG9saWN5X2NsYWltc19meV9oIiwicG9saWN5X2NsYWltc19mcV9oIiwicG9saWN5X2NsYWltc19maF9oIiwicHJlbWl1bXNfZWFybmVkX2Z5X2giLCJwcmVtaXVtc19lYXJuZWRfZnFfaCIsInByZW1pdW1zX2Vhcm5lZF9maF9oIiwicHJpY2VfZWFybmluZ3NfZnFfaCIsInByaWNlX2Vhcm5pbmdzX2Z5X2giLCJwcmljZV9lYXJuaW5nc19maF9oIiwicHJpY2Vfc2FsZXNfZnFfaCIsInByaWNlX3NhbGVzX2Z5X2giLCJwcmljZV9zYWxlc19maF9oIiwiZGlsdXRlZF9uZXRfaW5jb21lX3R0bSIsInRvdGFsX3JldmVudWVfdHRtIiwibmV0X3JldmVudWVfdHRtIiwicHJpY2VfZWFybmluZ3NfY3VycmVudCIsInByaWNlX3NhbGVzX2N1cnJlbnQiLCJpc2luLWRpc3BsYXllZCIsImN1c2lwIiwiY2ZpX2NvZGUiLCJpbnRlcmVzdF9pbmNvbWVfZnlfaCIsImludGVyZXN0X2luY29tZV9mcV9oIiwiaW50ZXJlc3RfaW5jb21lX2ZoX2giLCJub25faW50ZXJlc3RfaW5jb21lX2Z5X2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZxX2giLCJub25faW50ZXJlc3RfaW5jb21lX2ZoX2giLCJ3ZWJzaXRlIiwiZG9jIiwiZXhwbG9yZXIiLCJzb3VyY2VzIiwiY29udHJhY3RzIiwiY3J5cHRvX2NvbW1vbl9jYXRlZ29yaWVzIiwiY3J5cHRvX2Fzc2V0IiwiY29tbXVuaXR5IiwiZGl2aWRlbmRzX2F2YWlsYWJpbGl0eSIsImVhcm5pbmdzX2F2YWlsYWJpbGl0eSIsImZpbmFuY2lhbHNfYXZhaWxhYmlsaXR5IiwiZG9jdW1lbnRzIiwiZXRmX2Fzc2V0X3R5cGVfZXhwb3N1cmUiLCJldGZfcmVnaW9uX2V4cG9zdXJlIiwidG9wX2hvbGRpbmdzIiwidW5pdC1pZCIsIm9wdGlvbnMtaW5mbyIsIm9wdGlvbi10eXBlIiwiaW50ZXJlc3RfaW5jb21lX2Z5IiwiaW50ZXJlc3RfaW5jb21lX2ZxIiwiaW50ZXJlc3RfaW5jb21lX2ZoIiwibm9uX2ludGVyZXN0X2luY29tZV9meSIsIm5vbl9pbnRlcmVzdF9pbmNvbWVfZnEiLCJub25faW50ZXJlc3RfaW5jb21lX2ZoIiwiaW50ZXJlc3RfZXhwZW5zZV9meSIsImludGVyZXN0X2V4cGVuc2VfZnEiLCJpbnRlcmVzdF9leHBlbnNlX2ZoIiwibG9hbl9sb3NzX3Byb3Zpc2lvbl9meSIsImxvYW5fbG9zc19wcm92aXNpb25fZnEiLCJsb2FuX2xvc3NfcHJvdmlzaW9uX2ZoIiwibm9uX2ludGVyZXN0X2V4cGVuc2VfZnkiLCJub25faW50ZXJlc3RfZXhwZW5zZV9mcSIsIm5vbl9pbnRlcmVzdF9leHBlbnNlX2ZoIiwibm9uX29wZXJfaW5jb21lX2Z5Iiwibm9uX29wZXJfaW5jb21lX2ZxIiwibm9uX29wZXJfaW5jb21lX2ZoIiwidW51c3VhbF9leHBlbnNlX2luY19meSIsInVudXN1YWxfZXhwZW5zZV9pbmNfZnEiLCJ1bnVzdWFsX2V4cGVuc2VfaW5jX2ZoIiwicHJldGF4X2luY29tZV9meSIsInByZXRheF9pbmNvbWVfZnEiLCJwcmV0YXhfaW5jb21lX2ZoIiwiaW5jb21lX3RheF9meSIsImluY29tZV90YXhfZnEiLCJpbmNvbWVfdGF4X2ZoIiwiYWZ0ZXJfdGF4X290aGVyX2luY29tZV9meSIsImFmdGVyX3RheF9vdGhlcl9pbmNvbWVfZnEiLCJhZnRlcl90YXhfb3RoZXJfaW5jb21lX2ZoIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2Z5IiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZxIiwidG90YWxfbm9uX29wZXJfaW5jb21lX2ZoIiwib3Blcl9pbmNvbWVfZnkiLCJvcGVyX2luY29tZV9mcSIsIm9wZXJfaW5jb21lX2ZoIiwib3BlcmF0aW5nX2V4cGVuc2VzX2Z5Iiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZxIiwib3BlcmF0aW5nX2V4cGVuc2VzX2ZoIiwiY29zdF9vZl9nb29kc19meSIsImNvc3Rfb2ZfZ29vZHNfZnEiLCJjb3N0X29mX2dvb2RzX2ZoIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2Z5IiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZxIiwiZXF1aXR5X2luX2Vhcm5pbmdzX2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2Z5IiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZxIiwibWlub3JpdHlfaW50ZXJlc3RfZXhwX2ZoIiwiZGlzY29udGludWVkX29wZXJhdGlvbnNfZnkiLCJkaXNjb250aW51ZWRfb3BlcmF0aW9uc19mcSIsImRpc2NvbnRpbnVlZF9vcGVyYXRpb25zX2ZoIiwiZnJvbnRfY29udHJhY3QiLCJtaW5fY29udHJhY3QiLCJwb2ludHZhbHVlIiwidW5pdF9pZCIsImV4cGlyYXRpb24iLCJhdW0iLCJhc3NldF9jbGFzcyIsImZvY3VzIiwiZXhwZW5zZV9yYXRpbyIsImxhdW5jaF9kYXRlIiwiaXNzdWVyIiwiYnJhbmQiLCJob21lcGFnZSIsImluZGV4X3RyYWNrZWQiLCJhY3RpdmVseV9tYW5hZ2VkIiwiZnVuZF92aWV3X21vZGVzIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19meV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19mcV9oIiwiY29tbW9uX2VxdWl0eV90aWVyMV9yYXRpb19maF9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19meV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19mcV9oIiwidGllcjFfY2FwaXRhbF9yYXRpb19maF9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19meV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19mcV9oIiwidG90YWxfY2FwaXRhbF9yYXRpb19maF9oIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZoIiwicHJlZmVycmVkX3N0b2NrX2NhcnJ5aW5nX3ZhbHVlX2ZxIiwidG90YWxfZGVidF9mcSIsIm1pbm9yaXR5X2ludGVyZXN0X2ZoIiwibWlub3JpdHlfaW50ZXJlc3RfZnEiLCJjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnEiLCJjYXNoX25fZHVlX2ZfYmFua3NfZmgiLCJjYXNoX25fZHVlX2ZfYmFua3NfZnEiLCJlbnRlcnByaXNlX3ZhbHVlX2N1cnJlbnQiLCJldGZfaG9sZGluZ3NfY291bnQiLCJjb250cmFjdC1kZXNjcmlwdGlvbiIsInJlZmVyZW5jZS1sYXN0LXBlcmlvZCIsImFsbF90aW1lX2hpZ2giLCJhbGxfdGltZV9oaWdoX2RheSIsImFsbF90aW1lX2xvdyIsImFsbF90aW1lX2xvd19kYXkiLCJvdXRzdGFuZGluZ19hbW91bnQiLCJub21pbmFsX3ZhbHVlIiwiZGVub21fbWluIiwiY3VycmVudF9jb3Vwb24iLCJjb3Vwb25fdHlwZV9nZW5lcmFsIiwiY291cG9uX2ZyZXF1ZW5jeSIsInlpZWxkX3RvX21hdHVyaXR5IiwibWF0dXJpdHktZGF0ZSIsImRheXNfdG9fbWF0dXJpdHkiLCJib25kX2lzc3VlciIsImlzc3VlX2RhdGUiLCJib25kX2lzc3Vlcl9zdG9ja19zeW1ib2wiLCJ0b3RhbF9pc3N1ZWRfYW1vdW50IiwicGFpZF9hbW91bnQiLCJib25kX3NucF9yYXRpbmdfbHRfaCIsInBsYWNlbWVudF90eXBlIiwiZHVyYXRpb25fdHlwZSIsIm1hdHVyaXR5X3R5cGUiLCJvZmZlcl90eXBlIiwicmVkZW1wdGlvbl90eXBlIiwiY29udmVyc2lvbl9vcHRpb24iLCJzaW5raW5nX2Z1bmQiLCJvd25lcnNoaXBfZm9ybSIsImRhaWx5LXN1bW1hcnktYXN0IiwiaXNzdWVfc3RhdHVzIiwiY291cG9uX2giLCJzaW5raW5nX2Z1bmRfbmV4dF9kYXRlIiwic2lua2luZ19mdW5kX21pbl9hbW91bnRfbmV4dCIsImNhbGxfbmV4dF9kYXRlIiwicmVkZW1wdGlvbnNfaCIsImNhbGxfbm90aWNlX2RheXMiLCJwdXRfbmV4dF9kYXRlIiwicHV0X25vdGljZV9kYXlzX21pbiIsInNlbmlvcml0eV9sZXZlbCIsImluZmxhdGlvbl9wcm90ZWN0aW9uIiwicGxlZGdlX3N0YXR1cyIsImJvbmRfaXNzdWVyX2NvdW50cnlfb2ZfcmlzayIsImJvbmRfaXNzdWVyX2NyX3BhcmVudCIsImNyZWRpdF9lbmhhbmNlbWVudF90eXBlIiwiY3JlZGl0X2VuaGFuY2VtZW50X3N0YXR1cyIsInVzZV9vZl9wcm9jZWVkcyIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfbHRfaCIsImJvbmRfaXNzdWVyX3NucF9yYXRpbmdfc3RfaCIsImJvbmRfYWdlbnRzX3RyIiwiZmlyc3RfYmFyX3RpbWVfMWQiLCJmaW5hbmNpYWwtaW5kaWNhdG9yLWlkIiwiZXhjaGFuZ2UtaW5mbyIsInVuZGVybHlpbmctc3ltYm9sIiwic3RyaWtlIiwibG90c2l6ZSIsIm9wdGlvbi1zdHlsZSIsImhhc19ib25kcyIsIm9wZW5fdGltZSIsImhhc19ib25kcyIsImRleF9idXlzXzE1bSIsImRleF9zZWxsc18xNW0iLCJkZXhfYnV5X3ZvbHVtZV8xNW0iLCJkZXhfc2VsbF92b2x1bWVfMTVtIiwiZGV4X2J1eWVyc18xNW0iLCJkZXhfc2VsbGVyc18xNW0iLCJkZXhfYnV5c18xaCIsImRleF9zZWxsc18xaCIsImRleF9idXlfdm9sdW1lXzFoIiwiZGV4X3NlbGxfdm9sdW1lXzFoIiwiZGV4X2J1eWVyc18xaCIsImRleF9zZWxsZXJzXzFoIiwiZGV4X2J1eXNfNGgiLCJkZXhfc2VsbHNfNGgiLCJkZXhfYnV5X3ZvbHVtZV80aCIsImRleF9zZWxsX3ZvbHVtZV80aCIsImRleF9idXllcnNfNGgiLCJkZXhfc2VsbGVyc180aCIsImRleF9idXlzXzEyaCIsImRleF9zZWxsc18xMmgiLCJkZXhfYnV5X3ZvbHVtZV8xMmgiLCJkZXhfc2VsbF92b2x1bWVfMTJoIiwiZGV4X2J1eWVyc18xMmgiLCJkZXhfc2VsbGVyc18xMmgiLCJkZXhfYnV5c18yNGgiLCJkZXhfc2VsbHNfMjRoIiwiZGV4X2J1eV92b2x1bWVfMjRoIiwiZGV4X3NlbGxfdm9sdW1lXzI0aCIsImRleF9idXllcnNfMjRoIiwiZGV4X3NlbGxlcnNfMjRoIiwiZGV4X2NvbnZlcnRlZF9zeW1ib2wiLCJkZXhfdHJhZGluZ192b2x1bWVfMjRoIiwiZGV4X2NyZWF0ZWRfdGltZSIsImRleF9jdXJyZW5jeSIsImRleF9jdXJyZW5jeV9sb2dvaWQiLCJibG9ja2NoYWluX2FkZHJlc3Nlc191cmxzIiwiYmxvY2tjaGFpbl9hZGRyZXNzZXMiLCJiYXNlX2N1cnJlbmN5IiwiaXBvX29mZmVyX3N0YXR1cyIsImhhc19pcG9fZGV0YWlsc192aXNpYmxlIiwiaXBvX3ByaWNlX3JhbmdlX3VzZF9tYXgiLCJpcG9fcHJpY2VfcmFuZ2VfdXNkX21pbiIsImlwb19vZmZlcl9wcmljZV91c2QiLCJpcG9fb2ZmZXJlZF9zaGFyZXMiLCJpcG9fZGVhbF9hbW91bnRfdXNkIiwiaXBvX2Fubm91bmNlbWVudF9kYXRlIiwiaXBvX29mZmVyX2RhdGUiLCJhdmFpbGFibGVfZGF0YV9yYW5nZV9iZWdpbl9kYXRlIiwiYXZhaWxhYmxlX2RhdGFfcmFuZ2VfZW5kX2RhdGUiLCJoYXNfZXRmX293bmVyc2hpcCIsInN5bWJvbF9wcmltYXJ5X2xpc3RpbmciLCJtZXRyaWNfeXRtIiwibWV0cmljcyIsImVwc19lc3RpbWF0ZXNfZnlfaCIsImVwc19lc3RpbWF0ZXNfZnFfaCIsImVwc19lc3RpbWF0ZXNfZmhfaCIsInJldmVudWVfZXN0aW1hdGVzX2Z5X2giLCJyZXZlbnVlX2VzdGltYXRlc19mcV9oIiwicmV2ZW51ZV9lc3RpbWF0ZXNfZmhfaCIsImRwc19lc3RpbWF0ZXNfZnlfaCIsImRwc19lc3RpbWF0ZXNfZnFfaCIsImRwc19lc3RpbWF0ZXNfZmhfaCIsImNvc3Rfb2ZfZ29vZHNfZXN0aW1hdGVzX2Z5X2giLCJjb3N0X29mX2dvb2RzX2VzdGltYXRlc19mcV9oIiwiY29zdF9vZl9nb29kc19lc3RpbWF0ZXNfZmhfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnlfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZnFfaCIsImdyb3NzX3Byb2ZpdF9lc3RpbWF0ZXNfZmhfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnlfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZnFfaCIsInNlbGxfZ2VuX2FkbWluX2V4cF90b3RhbF9lc3RpbWF0ZXNfZmhfaCIsInJlc2VhcmNoX2FuZF9kZXZfZXN0aW1hdGVzX2Z5X2giLCJyZXNlYXJjaF9hbmRfZGV2X2VzdGltYXRlc19mcV9oIiwicmVzZWFyY2hfYW5kX2Rldl9lc3RpbWF0ZXNfZmhfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnlfaCIsImViaXRkYV9lc3RpbWF0ZXNfZnFfaCIsImViaXRkYV9lc3RpbWF0ZXNfZmhfaCIsImViaXRfZXN0aW1hdGVzX2Z5X2giLCJlYml0X2VzdGltYXRlc19mcV9oIiwiZWJpdF9lc3RpbWF0ZXNfZmhfaCIsIm5ldF9pbmNvbWVfZXN0aW1hdGVzX2Z5X2giLCJuZXRfaW5jb21lX2VzdGltYXRlc19mcV9oIiwibmV0X2luY29tZV9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnlfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZnFfaCIsInRvdGFsX2Fzc2V0c19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnlfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZnFfaCIsImNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9lc3RpbWF0ZXNfZmhfaCIsInRvdGFsX2RlYnRfZXN0aW1hdGVzX2Z5X2giLCJ0b3RhbF9kZWJ0X2VzdGltYXRlc19mcV9oIiwidG90YWxfZGVidF9lc3RpbWF0ZXNfZmhfaCIsImJvb2tfdmFsdWVfcGVyX3NoYXJlX2VzdGltYXRlc19meV9oIiwiYm9va192YWx1ZV9wZXJfc2hhcmVfZXN0aW1hdGVzX2ZxX2giLCJib29rX3ZhbHVlX3Blcl9zaGFyZV9lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9pbnZlc3RpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImNhcGl0YWxfZXhwZW5kaXR1cmVzX2VzdGltYXRlc19meV9oIiwiY2FwaXRhbF9leHBlbmRpdHVyZXNfZXN0aW1hdGVzX2ZxX2giLCJjYXBpdGFsX2V4cGVuZGl0dXJlc19lc3RpbWF0ZXNfZmhfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnlfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZnFfaCIsImNhc2hfZl9maW5hbmNpbmdfYWN0aXZpdGllc19lc3RpbWF0ZXNfZmhfaCIsImZyZWVfY2FzaF9mbG93X2VzdGltYXRlc19meV9oIiwiZnJlZV9jYXNoX2Zsb3dfZXN0aW1hdGVzX2ZxX2giLCJmcmVlX2Nhc2hfZmxvd19lc3RpbWF0ZXNfZmhfaCIsImVzdGltYXRlc19maXNjYWxfcGVyaW9kX2Z5X2giLCJlc3RpbWF0ZXNfZmlzY2FsX3BlcmlvZF9mcV9oIiwiZXN0aW1hdGVzX2Zpc2NhbF9wZXJpb2RfZmhfaCIsImZvcmVjYXN0X2F2YWlsYWJpbGl0eSJdKSxyPW5ldyBjbGFzc3sKY29uc3RydWN0b3IoZSl7dGhpcy5fY2FjaGU9bmV3IE1hcCx0aGlzLl90aW1lcz1uZXcgTWFwLHRoaXMuX2ZpZWxkcz1bLi4uZS5maWVsZHNdfXVwZGF0ZShlLHQsbyl7Y29uc3Qgbj0oMCxpLmVuc3VyZURlZmluZWQpKGUuc3ltYm9sbmFtZSkscj1EYXRlLm5vdygpO2lmKHRoaXMuX2NhY2hlLmhhcyhuKXx8dGhpcy5fY2FjaGUuc2V0KG4se3N5bWJvbG5hbWU6bixzdGF0dXM6ZS5zdGF0dXMsdmFsdWVzOnt9fSksdGhpcy5fdGltZXMuaGFzKG4pfHx0aGlzLl90aW1lcy5zZXQobixuZXcgTWFwKSwiZXJyb3IiPT09ZS5zdGF0dXMpcmV0dXJuO2NvbnN0IHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl9jYWNoZS5nZXQobikpLGE9KDAsaS5lbnN1cmVEZWZpbmVkKSh0aGlzLl90aW1lcy5nZXQobikpO3Muc3RhdHVzPWUuc3RhdHVzO2Zvcihjb25zdCBpIG9mIHRoaXMuX2ZpZWxkcyl0LmhhcyhpKSYmKG98fHZvaWQgMCE9PWUudmFsdWVzW2ldKSYmKHMudmFsdWVzW2ldPWUudmFsdWVzW2ldLGEuc2V0KGkscikpfWdldChlKXtyZXR1cm4gdGhpcy5fY2FjaGUuZ2V0KGUpPz9udWxsfWdldFRpbWVzKGUpe3JldHVybiB0aGlzLl90aW1lcy5nZXQoZSk/P251bGx9ZmllbGRzKCl7cmV0dXJuIHRoaXMuX2ZpZWxkc319KHtmaWVsZHM6bn0pfSw5Mjc1OTMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7UXVvdGVTZXNzaW9uTXVsdGlwbGV4ZXI6KCk9Pmd9KTt2YXIgaT1vKDU4NzE2OCksbj1vKDU0Nzg1MSkscj1vKDM1MjgzNykscz1vKDEzODYzOCksYT1vKDIyMTA2MSksbD1vKDk0ODM4MCksYz1vKDk2NDQ4NiksZD1vKDE1MDE1MCksaD1vKDMwOTA1MiksdT1vKDM2Nzk0Nik7bGV0IF89ITE7dmFyIHA9byg5NzA3NzQpO2NvbnN0IG09KDAsYS5nZXRMb2dnZXIpKCJXZWJjaGFydENsaWVudC5RdW90ZVNlc3Npb25NdWx0aXBsZXhlciIpO2NsYXNzIGd7Y29uc3RydWN0b3IoZSl7dGhpcy5vbkNvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5vbkRpc2Nvbm5lY3Q9bmV3IGwuRGVsZWdhdGUsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX3N1YnNjcmlwdGlvbnM9e30sdGhpcy5fc3ltYm9sX2RhdGE9e30sdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scz0oMCxuLmRlZmF1bHQpKHRoaXMuX3VwZGF0ZUZhc3RTeW1ib2xzLDI1MCksdGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YT17fSx0aGlzLl9leHRlbnNpb25zPXt9LHRoaXMub3B0aW9ucz17dGhyb3R0bGVUaW1lb3V0OjEyNSwuLi5lfSx0aGlzLl9zZXNzaW9uPW5ldyBwLlF1b3RlU2Vzc2lvbihlLmFwaSxbIm11bHRpcGxleGVyIixlLm5hbWUsKDAsZC5yYW5kb21IYXNoKSgpXS5maWx0ZXIoQm9vbGVhbikuam9pbigiXyIpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uZm9ybWF0dGVyJiYodGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXI9dGhpcy5vcHRpb25zLmV4dGVuc2lvbnMuZm9ybWF0dGVyKHRoaXMpKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz8uc25hcHNob3QmJih0aGlzLl9leHRlbnNpb25zLnNuYXBzaG90PXRoaXMub3B0aW9ucy5leHRlbnNpb25zLnNuYXBzaG90KHRoaXMpKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fc2Vzc2lvbi5kZXN0cm95KCksdGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKX1pbnRlcm5hbHMoKXtyZXR1cm57c2Vzc2lvbjooKT0+dGhpcy5fc2Vzc2lvbixzdWJzY3JpcHRpb25zOigpPT50aGlzLl9zdWJzY3JpcHRpb25zLGRhdGE6KCk9PnRoaXMuX3N5bWJvbF9kYXRhfX1jb25uZWN0KCl7dGhpcy5fc2Vzc2lvbi5jb25uZWN0KHRoaXMucXVvdGVIYW5kbGVyLmJpbmQodGhpcykpfXF1b3RlSGFuZGxlcihlKXtjb25zdHttZXRob2Q6dCxwYXJhbXM6b309ZTtzd2l0Y2godCl7Y2FzZSJjb25uZWN0ZWQiOnRoaXMuX2Nvbm5lY3RlZHx8KHRoaXMuX2Nvbm5lY3RlZD0hMCx0aGlzLm9uQ29ubmVjdGVkKCkpO2JyZWFrO2Nhc2UicXVvdGVfbGlzdF9maWVsZHMiOmJyZWFrO2Nhc2UicXVvdGVfc3ltYm9sX2RhdGEiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEob1swXSk7YnJlYWs7Y2FzZSJxdW90ZV9jb21wbGV0ZWQiOnRoaXMuX2Nvbm5lY3RlZCYmdGhpcy5vblN5bWJvbERhdGEoe3N5bWJvbG5hbWU6b1swXSxjb21wbGV0ZTpwZXJmb3JtYW5jZS5ub3coKSx2YWx1ZXM6e319KTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fY29ubmVjdGVkJiYodGhpcy5fY29ubmVjdGVkPSExLHRoaXMub25EaXNjb25uZWN0LmZpcmUoKSl9fW9uQ29ubmVjdGVkKCl7dGhpcy5zZXRGaWVsZHMoKTtjb25zdCBlPU9iamVjdC5rZXlzKHRoaXMuX3N5bWJvbF9kYXRhKTtlLmxlbmd0aCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVBZGRTeW1ib2xzKGUpLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSksdGhpcy5vbkNvbm5lY3QuZmlyZSgpfXNldEZpZWxkcygpe2NvbnN0e2ZpZWxkczplfT10aGlzLm9wdGlvbnM7ZSYmZS5sZW5ndGgmJnRoaXMuX3Nlc3Npb24ucXVvdGVTZXRGaWVsZHMoZSl9b25TeW1ib2xEYXRhKGUpe3RyeXtlLnN0YXR1cyYmaC5RVU9URV9GSUVMRFNfQ0FDSEUudXBkYXRlKGUsaC5RVU9URV9GSUVMRFMsITEpfWNhdGNoKGUpe31jb25zdCB0PWUuc3ltYm9sbmFtZTtsZXQgbz10aGlzLl90aHJvdHRsZWRTeW1ib2xEYXRhW3RdO18mJihkZWxldGUgZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZSx2b2lkIDAhPT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlJiYoZS52YWx1ZXMucHJldl9jbG9zZV9wcmljZT1lLnZhbHVlcy5yZWd1bGFyX2Nsb3NlKSksb3x8KG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVt0XT17Zm5EaXNwYXRjaDooMCxpLmRlZmF1bHQpKHRoaXMuZGlzcGF0Y2hTeW1ib2xEYXRhLmJpbmQodGhpcyksdGhpcy5vcHRpb25zLnRocm90dGxlVGltZW91dCl9KSxvLmNhY2hlPygwLGMuZGVlcEV4dGVuZCkoby5jYWNoZSxlKTpvLmNhY2hlPWUsby5mbkRpc3BhdGNoKHQpfWRpc3BhdGNoU3ltYm9sRGF0YShlKXtjb25zdCB0PXRoaXMuX3N5bWJvbF9kYXRhW2VdLG89dGhpcy5fdGhyb3R0bGVkU3ltYm9sRGF0YVtlXS5jYWNoZQo7aWYoZGVsZXRlIHRoaXMuX3Rocm90dGxlZFN5bWJvbERhdGFbZV0uY2FjaGUsdGhpcy5fc3ltYm9sX2RhdGFbZV0peygwLGMuZGVlcEV4dGVuZCkodCxvKSx0LnZhbHVlcyYmdGhpcy5fcGFyc2VVcGRhdGVNb2RlKHQudmFsdWVzKTtmb3IoY29uc3QgaSBpbiB0aGlzLl9zdWJzY3JpcHRpb25zKXtjb25zdCBuPXRoaXMuX3N1YnNjcmlwdGlvbnNbaV07aWYobi5oYXMoZSkpe1suLi4oMCxzLmVuc3VyZURlZmluZWQpKG4uZ2V0KGUpKV0uZm9yRWFjaCgoZT0+e2UodCxvKX0pKX19fX1zdWJzY3JpYmUoZSx0LG8pe3RoaXMuX3N1YnNjcmlwdGlvbnNbZV09dGhpcy5fc3Vic2NyaXB0aW9uc1tlXXx8bmV3IE1hcDtjb25zdCBpPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV07dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3Qgbj1bXTt0LmZvckVhY2goKGU9Pnt0aGlzLl9zeW1ib2xfZGF0YVtlXT9pJiZpLmhhcyhlKXx8dGhpcy5fc3ltYm9sX2RhdGFbZV0uc3Vic2NyaWJlcnNfY291bnQrKzoodGhpcy5fc3ltYm9sX2RhdGFbZV09e3N1YnNjcmliZXJzX2NvdW50OjF9LG4ucHVzaChlKSksaS5oYXMoZSl8fGkuc2V0KGUsW10pO2NvbnN0IHQ9KDAscy5lbnN1cmVEZWZpbmVkKShpLmdldChlKSk7dC5wdXNoKG8pLHQuZmFzdD0hMCx0aGlzLl9zeW1ib2xfZGF0YVtlXSYmdGhpcy5fc3ltYm9sX2RhdGFbZV0udmFsdWVzJiZvKHRoaXMuX3N5bWJvbF9kYXRhW2VdLHRoaXMuX3N5bWJvbF9kYXRhW2VdKX0pKSxuLmxlbmd0aCYmdGhpcy5fY29ubmVjdGVkJiYodGhpcy5fc2Vzc2lvbi5xdW90ZUFkZFN5bWJvbHMobiksdGhpcy5fZGVsYXlVcGRhdGVGYXN0U3ltYm9scygpKX11bnN1YnNjcmliZShlLHQsbyl7dD1BcnJheS5pc0FycmF5KHQpP1suLi50XTpbdF07Y29uc3QgaT10aGlzLl9zdWJzY3JpcHRpb25zW2VdLG49W107Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2NvbnN0IGE9dFtyXTtpZihpJiZpLmhhcyhhKSl7aWYobyl7Y29uc3QgZT0oMCxzLmVuc3VyZURlZmluZWQpKGkuZ2V0KGEpKSx0PWUuaW5kZXhPZihvKTt+dCYmZS5zcGxpY2UodCwxKSxlLmxlbmd0aHx8aS5kZWxldGUoYSl9ZWxzZSBpLmRlbGV0ZShhKTswPT09aS5zaXplJiZkZWxldGUgdGhpcy5fc3Vic2NyaXB0aW9uc1tlXSx0aGlzLl9zeW1ib2xfZGF0YS5oYXNPd25Qcm9wZXJ0eShhKSYmKGkuaGFzKGEpfHx0aGlzLl9zeW1ib2xfZGF0YVthXS5zdWJzY3JpYmVyc19jb3VudC0tLHRoaXMuX3N5bWJvbF9kYXRhW2FdLnN1YnNjcmliZXJzX2NvdW50fHwoZGVsZXRlIHRoaXMuX3N5bWJvbF9kYXRhW2FdLG4ucHVzaChhKSkpfWVsc2UgbS5sb2dXYXJuKGBDaGVjayB5b3VyIHN1Yi91bnN1YiBsb29rcyBpdCBpcyBsZWFraW5nIChjbGllbnRfaWQ9JHtlfSwgc3ltYm9sPSR7YX0pYCl9bi5sZW5ndGgmJnRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX3Nlc3Npb24ucXVvdGVSZW1vdmVTeW1ib2xzKG4pLHRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKSl9c2V0RmFzdFN5bWJvbHMoZSx0KXtpZih0aGlzLl9zdWJzY3JpcHRpb25zW2VdKXtjb25zdCBvPXRoaXMuX3N1YnNjcmlwdGlvbnNbZV0saT1BcnJheS5mcm9tKG8ua2V5cygpKTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3Qgbj1pW2VdOygwLHMuZW5zdXJlRGVmaW5lZCkoby5nZXQobikpLmZhc3Q9LTEhPT10LmluZGV4T2Yobil9fXRoaXMuX2RlbGF5VXBkYXRlRmFzdFN5bWJvbHMoKX1zbmFwc2hvdChlKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fZXh0ZW5zaW9ucy5zbmFwc2hvdD9Qcm9taXNlLnJlamVjdCgiTm8gZm9ybWF0dGVyIGV4dGVuc2lvbiBwcm92aWRlZCIpOnRoaXMuX2V4dGVuc2lvbnMuc25hcHNob3QoZSl9Zm9ybWF0dGVyKGUsdCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX2V4dGVuc2lvbnMuZm9ybWF0dGVyP1Byb21pc2UucmVqZWN0KCJObyBmb3JtYXR0ZXIgZXh0ZW5zaW9uIHByb3ZpZGVkIik6dGhpcy5fZXh0ZW5zaW9ucy5mb3JtYXR0ZXIoZSx0KX1fdXBkYXRlRmFzdFN5bWJvbHMoKXtpZighdGhpcy5fY29ubmVjdGVkKXJldHVybjtjb25zdCBlPXRoaXMuX2Zhc3RTeW1ib2xzKCk7MD09PWUubGVuZ3RoP3RoaXMuX3Nlc3Npb24ucXVvdGVIaWJlcm5hdGVBbGwoKTp0aGlzLl9zZXNzaW9uLnF1b3RlRmFzdFN5bWJvbHMoZSl9X2Zhc3RTeW1ib2xzKCl7bGV0IGU9W107Zm9yKGNvbnN0IHQgaW4gdGhpcy5fc3Vic2NyaXB0aW9ucyl7Y29uc3Qgbz10aGlzLl9zdWJzY3JpcHRpb25zW3RdLGk9QXJyYXkuZnJvbShvLmtleXMoKSk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDsrK3Qpe2NvbnN0IG49aVt0XTsoMCxzLmVuc3VyZURlZmluZWQpKG8uZ2V0KG4pKS5mYXN0JiZlLnB1c2gobil9fXJldHVybiBlPSgwLHIuZGVmYXVsdCkoZSksZX1fcGFyc2VVcGRhdGVNb2RlKGUpeygwLHUubm9ybWFsaXplVXBkYXRlTW9kZSkoZSl9fX0sOTcwNzc0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse1F1b3RlU2Vzc2lvbjooKT0+bn0pO3ZhciBpPW8oMTUwMTUwKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdD0oMCxpLnJhbmRvbUhhc2gpKCkpe3RoaXMuX3Nlc3Npb25zdGFydGVkPSExLHRoaXMuX2dsb2JhbEhhbmRsZXI9bnVsbCx0aGlzLl9jaGFydEFwaT1lLHRoaXMuX3Nlc3Npb25pZD0icXNfIit0fWRlc3Ryb3koKXt0aGlzLl9zZXNzaW9uc3RhcnRlZCYmKHRoaXMuX2NoYXJ0QXBpLnF1b3RlRGVsZXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSExKX1jb25uZWN0ZWQoKXtyZXR1cm4gdGhpcy5fY2hhcnRBcGkuY29ubmVjdGVkKCl9Y29ubmVjdChlKXt0aGlzLl9nbG9iYWxIYW5kbGVyPWUsdGhpcy5fY2hhcnRBcGkuY3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQsdGhpcyksdGhpcy5fY2hhcnRBcGkuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXt0aGlzLl9jaGFydEFwaS5kaXNjb25uZWN0KCl9cXVvdGVBZGRTeW1ib2xzKGUpe3RoaXMuX2NoYXJ0QXBpLnF1b3RlQWRkU3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVSZW1vdmVTeW1ib2xzKGUpewp0aGlzLl9jaGFydEFwaS5xdW90ZVJlbW92ZVN5bWJvbHModGhpcy5fc2Vzc2lvbmlkLGUpfXF1b3RlRmFzdFN5bWJvbHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVGYXN0U3ltYm9scyh0aGlzLl9zZXNzaW9uaWQsZSl9cXVvdGVTZXRGaWVsZHMoZSl7dGhpcy5fY2hhcnRBcGkucXVvdGVTZXRGaWVsZHModGhpcy5fc2Vzc2lvbmlkLGUpfW9uTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UiY29ubmVjdGVkIjp0aGlzLl9zZXNzaW9uc3RhcnRlZHx8KHRoaXMuX2NoYXJ0QXBpLnF1b3RlQ3JlYXRlU2Vzc2lvbih0aGlzLl9zZXNzaW9uaWQpLHRoaXMuX3Nlc3Npb25zdGFydGVkPSEwKTticmVhaztjYXNlImRpc2Nvbm5lY3RlZCI6dGhpcy5fc2Vzc2lvbnN0YXJ0ZWQ9ITF9dGhpcy5fZ2xvYmFsSGFuZGxlcj8uKGUpfXF1b3RlSGliZXJuYXRlQWxsKCl7dGhpcy5fY2hhcnRBcGkucXVvdGVIaWJlcm5hdGVBbGwodGhpcy5fc2Vzc2lvbmlkKX19fSwzNjc5NDYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLm1hdGNoKC8oZGVsYXllZF9zdHJlYW1pbmcpXyhcZCspLyk7cmV0dXJuIG51bGw9PT10P251bGw6e21vZGU6dFsxXSxpbnRlcnZhbDpwYXJzZUludCh0WzJdKX19ZnVuY3Rpb24gbihlKXtjb25zdCB0PWkoZS51cGRhdGVfbW9kZSk7cmV0dXJuIG51bGw9PT10fHwoZS51cGRhdGVfbW9kZT10Lm1vZGUsZS51cGRhdGVfbW9kZV9zZWNvbmRzPXQuaW50ZXJ2YWwpLGV9by5kKHQse25vcm1hbGl6ZVVwZGF0ZU1vZGU6KCk9Pm4scGFyc2VVcGRhdGVNb2RlOigpPT5pfSl9LDM1NjM4MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRUb29sdGlwRGF0YTooKT0+bixzZXRUb29sdGlwRGF0YTooKT0+cn0pO2NvbnN0IGk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IG89aS5nZXQoZSk7cmV0dXJuIG8gaW5zdGFuY2VvZiBGdW5jdGlvbj9vKHQpOm8mJm9bdF19ZnVuY3Rpb24gcihlLHQsbyl7aWYobyBpbnN0YW5jZW9mIEZ1bmN0aW9uKXJldHVybiB2b2lkIGkuc2V0KGUsbyk7Y29uc3Qgbj1pLmdldChlKSxyPXZvaWQgMD09PW58fG4gaW5zdGFuY2VvZiBGdW5jdGlvbj97fTpuO3JbdF09byxpLnNldChlLHIpfX0sNDkwMzc4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERhdGFGcm9tVGFyZ2V0OigpPT5wLGdldFRvb2x0aXA6KCk9Pm0saGlkZVRvb2x0aXA6KCk9PmYsc2V0U3R5bGU6KCk9Pmcsc2hvd1Rvb2x0aXA6KCk9PnZ9KTt2YXIgaSxuPW8oMTM4NjM4KSxyPW8oNDQzNTU3KSxzPW8oOTY5MTY4KSxhPShvKDgyOTE4MCksbyg1MTg3NSkpLGw9byg2NDA3NDQpLGM9bygzMTg5NzQpLGQ9byg2ODY2NTApLGg9bygzNTYzODApLHU9bygzNDUxNTEpLF89bygxMTQwNjgpO2Z1bmN0aW9uIHAoZSl7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxoLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsaC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn0oZSksbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9e2g6by5oZWlnaHQsdzpvLndpZHRoLHg6by5sZWZ0LHk6by50b3B9LG49ZS5nZXRBdHRyaWJ1dGUoImRhdGEtY29sb3ItdGhlbWUiKXx8IiIscj1lLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtaHRtbCIpLHM9cGFyc2VJbnQoZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1kZWxheSIpfHwiIiksYT1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlYm91bmNlIil8fCIiKTtsZXQgbD17dHlwZToibm9uZSJ9O3JldHVybiB0JiYobD17dHlwZTpyPyJodG1sIjoidGV4dCIsZGF0YTp0fSkse2Fib3ZlOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1hYm92ZSIpLGJlbG93OmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1iZWxvdyIpLG90bDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtb3RsIiksb3RyOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdHIiKSx2ZXJ0aWNhbDplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiKSxob3RrZXk6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdG9vbHRpcC1ob3RrZXkiKSxuYXJyb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW5hcnJvdyIpLHdpZGU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLXdpZGUiKSxjb2xvclRoZW1lOm4sdG9vbHRpcERlbGF5OnMsdG9vbHRpcERlYm91bmNlOmEscmVjdDppLGNvbnRlbnQ6bCx0YXJnZXQ6ZX19ZnVuY3Rpb24gbShlKXtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPUUodCkse2NvbnRlbnQ6aX09ZTtzd2l0Y2goaS50eXBlKXtjYXNlImVsZW1lbnQiOm8uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoaS5kYXRhKTticmVhaztjYXNlImh0bWwiOm8uaW5uZXJIVE1MPWkuZGF0YTticmVhaztjYXNlInRleHQiOmlmKGUuaG90a2V5KXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkoVCkuY2xvbmVOb2RlKCEwKTtlLmlubmVyVGV4dD1pLmRhdGEsby5hcHBlbmRDaGlsZChlKX1lbHNlIG8uaW5uZXJUZXh0PWkuZGF0YX1pZihlLmhvdGtleSl7Y29uc3QgdD0ibm9uZSIhPT1pLnR5cGUscj0oMCxuLmVuc3VyZU5vdE51bGwpKGspLmNsb25lTm9kZSghMCkscz0oMCx1LmhvdEtleURlc2VyaWFsaXplKShlLmhvdGtleSksYT1zLmtleXMubWFwKChlPT5gPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24iXX0iPiR7ZX08L3NwYW4+YCkpO3IuaW5uZXJIVE1MPWZ1bmN0aW9uKGUsdCl7Y29uc3Qgbz0ve1xkfXx7aG90a2V5X1xkfS9naTtyZXR1cm4gZS5yZXBsYWNlKG8sKGU9Pntjb25zdCBvPU51bWJlcihlLm1hdGNoKC9cZC8pKQo7cmV0dXJuIHRbb119KSl9KHMudGV4dCxhKS5yZXBsYWNlKC9cc1wrXHMvZyxgPHNwYW4gY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbiJdfSI+Kzwvc3Bhbj5gKSxvLmNsYXNzTGlzdC5hZGQoX1siY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5Il0pLHQmJnIuY2xhc3NMaXN0LmFkZChfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIl0pLG8uYXBwZW5kQ2hpbGQocil9cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGEucHJldmVudERlZmF1bHQpLHR9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IG89dC5yZWN0O2lmKCFvKXJldHVybjsoMCxkLnNldFRvb2x0aXBDb2xvclRoZW1lKShlLHQuY29sb3JUaGVtZXx8ImRlZmF1bHQiKTtjb25zdCBpPUUoZSksbj1lLnF1ZXJ5U2VsZWN0b3IoYC4ke19bImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19YCk7dC5hZGRDbGFzcyYmZS5jbGFzc0xpc3QuYWRkKHQuYWRkQ2xhc3MpLHQuYWRkQm9keUNsYXNzJiZpLmNsYXNzTGlzdC5hZGQodC5hZGRCb2R5Q2xhc3MpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSJdLEJvb2xlYW4odC53aWRlKSksaS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nIl0sQm9vbGVhbih0Lm5vUGFkZGluZykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfbmFycm93Il0sQm9vbGVhbih0Lm5hcnJvdykpLGkuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyJdLCEwKSxpLnN0eWxlLmxlZnQ9eSgwKSxpLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCsoQm9vbGVhbih0Lm5vUGFkZGluZyk/MDoyKSk7Y29uc3Qgcj1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoLGE9Yy5DaGVja01vYmlsZS5pT1MoKXx8Yy5DaGVja01vYmlsZS5BbmRyb2lkKCl8fCgwLGMuc3VwcG9ydFRvdWNoKSgpJiYoMCxjLmlzTWFjKSgpP3dpbmRvdy5pbm5lckhlaWdodDpkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxoPXQudmVydGljYWwsdT10LmV4dGVuZE1hcmdpbnx8aCYmby53PDIwfHwhaCYmby5oPDIwO2UuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tZmFydGhlciJdLHUpLGUuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcC0tdmVydGljYWwiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwiXSwhaCk7Y29uc3QgcD1mdW5jdGlvbihlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlciJdfWApfShlKSxtPWUub2Zmc2V0SGVpZ2h0O2lmKGgpe2NvbnN0IGM9MTAsZD1hLTEwLGg9MTIsdT1jK2gsZz1kLWgsdj0oMCxsLmNsYW1wKShvLnkrby5oLzIsdSxnKS1tLzIsZj12K207ZS5zdHlsZS5sZWZ0PXkoby54K28udyksZS5zdHlsZS50b3A9eSh2KSx2PGM/aS5zdHlsZS50b3A9bi5zdHlsZS50b3A9eShjLXYpOmY+ZCYmKGkuc3R5bGUudG9wPW4uc3R5bGUudG9wPXkoZC1mKSk7Y29uc3R7cmlnaHQ6Yn09KGUucXVlcnlTZWxlY3RvcigiOmxhc3QtY2hpbGQiKXx8aSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUz1iKzEwPnI7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxTKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhUyk7bGV0IHc9Uz8iYWZ0ZXIiOiJiZWZvcmUiOygwLHMuaXNSdGwpKCk/KHc9dC5vdHI/ImFmdGVyIjp3LHc9dC5vdGw/ImJlZm9yZSI6dyk6KHc9dC5vdHI/ImJlZm9yZSI6dyx3PXQub3RsPyJhZnRlciI6dykscC5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUiXSwiYmVmb3JlIj09PXcpLHAuY2xhc3NMaXN0LnRvZ2dsZShfWyJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXIiXSwiYWZ0ZXIiPT09dyksImFmdGVyIj09PXcmJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9eShyLW8ueCkpfWVsc2V7Y29uc3Qgcz1vLngtKGkub2Zmc2V0V2lkdGgtby53KS8yLGw9ci1lLm9mZnNldFdpZHRoLTIwPD0wPyhyLWUub2Zmc2V0V2lkdGgpLzI6MTAsYz1yLWwtZS5vZmZzZXRXaWR0aCxkPU1hdGgubWF4KGwsTWF0aC5taW4ocyxjKSk7ZS5zdHlsZS5sZWZ0PXkoZCk7Y29uc3QgaD1jPHM7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQiXSxoKSxlLmNsYXNzTGlzdC50b2dnbGUoX1siY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwiXSwhaCk7Y29uc3QgdT1mdW5jdGlvbihlLHQsbyxpKXtpZihlLmFib3ZlKXJldHVybiB4KHQsaSk/ImFib3ZlIjoiYmVsb3ciO2lmKGUuYmVsb3cpcmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gby55K28uaCt0KzEwPGV9KHQsbyxpKT8iYmVsb3ciOiJhYm92ZSI7cmV0dXJuIHgobyxpKT8iYWJvdmUiOiJiZWxvdyJ9KHQsYSxtLG8pOyJhYm92ZSI9PT11P2Uuc3R5bGUuYm90dG9tPXkoYS1vLnkpOmUuc3R5bGUudG9wPXkoby55K28uaCkscC5jbGFzc0xpc3QuYWRkKCJhYm92ZSI9PT11P19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZSJdOl9bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdyJdKTtjb25zdHtsZWZ0Omd9PWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bGV0IHY9TWF0aC50cnVuYyhvLngrby53LzItKGcraS5jbGllbnRXaWR0aC8yKSk7ZS5zdHlsZS5sZWZ0PXkoZCt2KSxlLnN0eWxlLndpZHRoPXkoaS5jbGllbnRXaWR0aCtuLmNsaWVudFdpZHRoKSx2PWg/TWF0aC5tYXgoMCx2KTpNYXRoLm1pbigwLHYpLG4uc3R5bGUubGVmdD15KC12KSxpLnN0eWxlLmxlZnQ9eSgtdil9fWZ1bmN0aW9uIHYoZSl7ZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMSl9ZnVuY3Rpb24gZihlKXsKZS5jbGFzc0xpc3QudG9nZ2xlKF9bImNvbW1vbi10b29sdGlwLS1oaWRkZW4iXSwhMCl9ZnVuY3Rpb24geShlKXtyZXR1cm5gJHtNYXRoLmZsb29yKGUpfXB4YH0hZnVuY3Rpb24oZSl7ZVtlLlZpZXdwb3J0UGFkZGluZz0xMF09IlZpZXdwb3J0UGFkZGluZyJ9KGl8fChpPXt9KSk7Y29uc3QgYj1gXG5cdDxkaXYgaWQ9ImNvbW1vbi10b29sdGlwLXdyYXBwZXIiIGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwIl19Ij5cblx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19IiA+XG5cdFx0XHQ8ZGl2IGNsYXNzPSIke19bImNvbW1vbi10b29sdGlwX19ib2R5Il19IGpzLXRvb2x0aXAtYm9keSI+PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9fYnV0dG9uLWNvbnRhaW5lciJdfSI+PC9kaXY+XG5cdDwvZGl2PlxuYCxTPWBcblx0PGRpdiBjbGFzcz0iJHtfWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrIl19Ij48L2Rpdj5cbmAsdz1gXG5cdDxkaXYgY2xhc3M9IiR7X1siY29tbW9uLXRvb2x0aXBfX2hvdGtleS10ZXh0Il19Ij48L2Rpdj5cbmAsQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKGIpLGs9KDAsci5wYXJzZUh0bWxFbGVtZW50KShTKSxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkodyk7ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKGAuJHtfWyJjb21tb24tdG9vbHRpcF9fYm9keSJdfWApfWZ1bmN0aW9uIHgoZSx0KXtyZXR1cm4gMTArZTx0Lnl9fSwzNDUxNTEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7aG90S2V5RGVzZXJpYWxpemU6KCk9PnIsaG90S2V5U2VyaWFsaXplOigpPT5ufSk7dmFyIGk9byg2NDE1OTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuKDAsaS5odG1sRXNjYXBlKShKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gcihlKXtyZXR1cm4gSlNPTi5wYXJzZSgoMCxpLmRlY29kZUhUTUxFbnRpdGllcykoZSkpfX0sMTY3ODk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2VtcHR5OigpPT5zLHNldFRvb2x0aXA6KCk9PmF9KTtjb25zdCBpPSJ0b29sdGlwLXJvb3QtZWxlbWVudCI7bGV0IG47ZnVuY3Rpb24gcigpe2NvbnN0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSk7ZT9uPWU6KG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pZD1pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobikpfWZ1bmN0aW9uIHMoKXtuJiYobi5pbm5lckhUTUw9IiIpfWZ1bmN0aW9uIGEoZSl7cygpLG58fHIoKSxuLmFwcGVuZENoaWxkKGUpfSJpbnRlcmFjdGl2ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlP3IoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX0sNjU4OTk1KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2NsZWFyU2NoZWR1bGU6KCk9PnMsc2NoZWR1bGVIaWRlOigpPT5sLHNjaGVkdWxlUmVtb3ZlOigpPT5hLHNjaGVkdWxlUmVuZGVyOigpPT5jfSk7bGV0IGk9MCxuPTAscj0wO2Z1bmN0aW9uIHMoKXtjbGVhclRpbWVvdXQoaSksY2xlYXJUaW1lb3V0KG4pLGNsZWFyVGltZW91dChyKX1mdW5jdGlvbiBhKGUsdCl7cj1zZXRUaW1lb3V0KGUsdCl9ZnVuY3Rpb24gbChlLHQpe249c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGMoZSx0KXtpPXNldFRpbWVvdXQoZSx0KX19LDY4NjY1MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzZXRUb29sdGlwQ29sb3JUaGVtZTooKT0+cn0pO2NvbnN0IGk9e2RlZmF1bHQ6IiIsd2hpdGU6InRoZW1lLXdoaXRlIixjaGFydDoidGhlbWUtY2hhcnQiLG5ld3M6InRoZW1lLW5ld3MiLCJyb3VuZC1zaGFkb3ciOiJ0aGVtZS1yb3VuZC1zaGFkb3cifSxuPU9iamVjdC5rZXlzKGkpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBvPW4uaW5jbHVkZXModCk/aVt0XToiIjtlLmNsYXNzTGlzdC5yZW1vdmUoLi4ubi5tYXAoKGU9PmlbZV0pKS5maWx0ZXIoKGU9PiEhZSkpKSxvJiYhZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmUuY2xhc3NMaXN0LmFkZChvKX19LDM0NDc4NShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtoaWRlOigpPT52LHNob3dPbkVsZW1lbnQ6KCk9Pl99KTt2YXIgaT1vKDM2MzI2OSksbj1vKDEzODYzOCkscj1vKDcyNzA5KSxzPW8oNjU4OTk1KSxhPW8oMTY3ODk2KSxsPW8oNDkwMzc4KTtsZXQgYz0hMSxkPW51bGwsaD1udWxsO2kubW9iaWxldG91Y2h8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLG0sITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oZSl7Y29uc3QgdD1lLnRhcmdldDtpZighKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jbG9zZXN0KCdbZGF0YS10b29sdGlwLXNob3ctb24tZm9jdXM9InRydWUiXScpJiZ0Lm1hdGNoZXMoIjpmb2N1cy12aXNpYmxlIikpKXJldHVybjttKGUsITApfSkse2NhcHR1cmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1mb2N1cyIsKGZ1bmN0aW9uKGUpe2UudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJm0oZSwhMCl9KSx7Y2FwdHVyZTohMH0pKTtjb25zdCB1PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKGQmJmQub3B0aW9ucy50YXJnZXQpe2xldCBlO2U9ImlzQ29ubmVjdGVkImluIGQub3B0aW9ucy50YXJnZXQ/ZC5vcHRpb25zLnRhcmdldC5pc0Nvbm5lY3RlZDpkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGQub3B0aW9ucy50YXJnZXQpLGV8fHYoKX19KSksXz0oZSx0PXt9KT0+e2NvbnN0e2NvbnRlbnQ6bywuLi5pfT1iKHQpLG49bC5nZXREYXRhRnJvbVRhcmdldChlKSxyPU9iamVjdC5hc3NpZ24obixpKTtyZXR1cm4ibm9uZSIhPT1vLnR5cGUmJihyLmNvbnRlbnQ9byksISgibm9uZSI9PT1yLmNvbnRlbnQudHlwZSYmIXIuaG90a2V5KSYmKHIudGFyZ2V0PWUscChyKSwhMCl9LHA9ZT0+e2NvbnN0IHQ9YihlKSxvPWwuZ2V0VG9vbHRpcCh0KTtpZihkPXtvcHRpb25zOnQsZWxlbWVudDpvfSwoMCxhLnNldFRvb2x0aXApKG8pLCgwLHMuY2xlYXJTY2hlZHVsZSkoKSwKIWMpcmV0dXJuIGwuaGlkZVRvb2x0aXAobyksdm9pZCgwLHMuc2NoZWR1bGVSZW5kZXIpKCgoKT0+ZihvKSksZnVuY3Rpb24oZSl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLnRvb2x0aXBEZWxheXx8aXNOYU4oZS50b29sdGlwRGVsYXkpPzUwMDplLnRvb2x0aXBEZWxheX0odCkpO2NvbnN0e3Rvb2x0aXBEZWJvdW5jZTppfT1lOyJudW1iZXIiIT10eXBlb2YgaXx8aXNOYU4oaSk/ZihvKTooMCxzLnNjaGVkdWxlUmVuZGVyKSgoKCk9PmYobykpLGkpfTtmdW5jdGlvbiBtKGUsdCl7aWYoInNvdXJjZUNhcGFiaWxpdGllcyJpbiBlJiZlLnNvdXJjZUNhcGFiaWxpdGllcz8uZmlyZXNUb3VjaEV2ZW50cylyZXR1cm47Y29uc3Qgbz1mdW5jdGlvbihlLHQsbyl7Y29uc3QgaT1bXTtmb3IoO2UmJmUhPT10OyllLmNsYXNzTGlzdCYmZS5jbGFzc0xpc3QuY29udGFpbnMobykmJmkucHVzaChlKSxlPWUucGFyZW50RWxlbWVudHx8eShlLnBhcmVudE5vZGUpO3JldHVybiBpfShlLnRhcmdldCxlLmN1cnJlbnRUYXJnZXQsImFwcGx5LWNvbW1vbi10b29sdGlwIik7Zm9yKGNvbnN0IGkgb2Ygbyl7aWYoZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpaWYoImJ1dHRvbnMiaW4gZSl7aWYoMSZlLmJ1dHRvbnMpY29udGludWV9ZWxzZSBpZigxPT09ZS53aGljaCljb250aW51ZTtjb25zdCBvPSgpPT5fKGkpO2lmKG8oKSl7Y29uc3QgZT1lPT5uKG51bGwsITApLG49KHIscz0hMSk9PntpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbW1vbi10b29sdGlwLXVwZGF0ZSIsbyksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixuKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsbiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLHtjYXB0dXJlOiEwfSksdCYmKGkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsbiksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhY3RpdmUtZGVzY2VuZGFudC1ibHVyIixuKSksaCYmKGguZGVzdHJveSgpLGg9bnVsbCksdihzKX07aS5hZGRFdmVudExpc3RlbmVyKCJjb21tb24tdG9vbHRpcC11cGRhdGUiLG8pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsbiksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG4pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSx7Y2FwdHVyZTohMH0pLHQmJihpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLG4pLGkuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsbikpLG51bGw9PT1oJiYoaD0oMCxyLmNyZWF0ZUdyb3VwKSh7ZGVzYzoiVG9vbHRpcCJ9KSxoLmFkZCh7ZGVzYzoiSGlkZSIsaG90a2V5OjI3LGhhbmRsZXI6bn0pKTticmVha319fWZ1bmN0aW9uIGcoKXsoMCxhLmVtcHR5KSgpLGM9ITEsZD1udWxsfWNvbnN0IHY9KGUsdCk9PntpZigoMCxzLmNsZWFyU2NoZWR1bGUpKCksKDAsbi5lbnN1cmVOb3ROdWxsKSh1KS5kaXNjb25uZWN0KCksIWQpcmV0dXJuO2lmKCFlJiYhYylyZXR1cm47Y29uc3R7ZWxlbWVudDpvLG9wdGlvbnM6aX09ZCxyPSgpPT57by5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixyKSxsLmhpZGVUb29sdGlwKG8pLGU/ZygpOigwLHMuc2NoZWR1bGVSZW1vdmUpKCgoKT0+e2coKX0pLDI1MCksdD8uKCl9O2kudG9vbHRpcEhpZGVEZWxheT8oMCxzLnNjaGVkdWxlSGlkZSkoKCgpPT57by5xdWVyeVNlbGVjdG9yKCI6aG92ZXIiKT9vLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHIpOnIoKX0pLGkudG9vbHRpcEhpZGVEZWxheSk6cigpfTtmdW5jdGlvbiBmKGUpe2NvbnN0e29wdGlvbnM6dH09KDAsbi5lbnN1cmVOb3ROdWxsKShkKTtpZihsLnNldFN0eWxlKGUsdCksbC5zaG93VG9vbHRpcChlKSwoMCxuLmVuc3VyZU5vdE51bGwpKHUpLm9ic2VydmUoZG9jdW1lbnQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSksYz0hMCx0LmZvcmNlSGlkZU9uTW92ZSl7Y29uc3QgZT0oKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKSx2KCl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixlKX19ZnVuY3Rpb24geShlKXtyZXR1cm4gZSYmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9lOm51bGwpfWZ1bmN0aW9uIGIoZSl7aWYoZnVuY3Rpb24oZSl7cmV0dXJuImNvbnRlbnQiaW4gZX0oZSkpcmV0dXJuIGU7Y29uc3R7aW5uZXI6dCxodG1sOm8sdGV4dDppLC4uLm59PWU7bGV0IHI9e3R5cGU6Im5vbmUifTtyZXR1cm4gdCYmKHI9e3R5cGU6ImVsZW1lbnQiLGRhdGE6dH0pLGkmJihyPXt0eXBlOm8/Imh0bWwiOiJ0ZXh0IixkYXRhOml9KSx7Y29udGVudDpyLC4uLm59fX0sNzAzMDQxKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse01hcmtldERpYWxvZ0NvbnRleHQ6KCk9PnIsTWFya2V0RGlhbG9nTW9kZTooKT0+aX0pO3ZhciBpLG49byg3Nzk0NzQpOyFmdW5jdGlvbihlKXtlLlNpbmdsZT0ic2luZ2xlIixlLk11bHRpPSJtdWx0aSJ9KGl8fChpPXt9KSk7Y29uc3Qgcj0oMCxuLmNyZWF0ZUNvbnRleHQpKG51bGwpfSwyNDk0NjkoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7ZW50aXJlV29ybGRNYXJrZXRzUHJlc2V0OigpPT5hLGdldE1hcmtldEdyb3VwTmFtZU1hcDooKT0+cixpc01hcmtldHNQcmVzZXQ6KCk9Pmx9KTt2YXIgaT1vKDE4NTI3MSksbj1vKDE5NjIwMSk7Y29uc3Qgcj0oKT0+KHtbbi5NYXJrZXRHcm91cC5DdXN0b21dOiIiLFtuLk1hcmtldEdyb3VwLkVudGlyZVdvcmxkXToiIixbbi5NYXJrZXRHcm91cC5Ob3J0aEFtZXJpY2FdOmkudChudWxsLHZvaWQgMCxvKDY4OTcxNikpLFtuLk1hcmtldEdyb3VwLkV1cm9wZV06aS50KG51bGwsdm9pZCAwLG8oOTUyMzY3KSksW24uTWFya2V0R3JvdXAuTWlkZGxlRWFzdEFmcmljYV06aS50KG51bGwsdm9pZCAwLG8oNjAzMDY1KSksW24uTWFya2V0R3JvdXAuTWV4aWNvU291dGhBbWVyaWNhXTppLnQobnVsbCx2b2lkIDAsbyg1OTgyNDcpKSwKW24uTWFya2V0R3JvdXAuQXNpYVBhY2lmaWNdOmkudChudWxsLHZvaWQgMCxvKDc2NDE3MSkpLFtuLk1hcmtldEdyb3VwLldvcmxkd2lkZV06aS50KG51bGwsdm9pZCAwLG8oNjQzMDc1KSksW24uTWFya2V0R3JvdXAuRzIwXTppLnQobnVsbCx2b2lkIDAsbyg5Nzg1NjEpKX0pO3ZhciBzOyFmdW5jdGlvbihlKXtlLkVudGlyZVdvcmxkPSJlbnRpcmVfd29ybGQiLGUuRzIwPSJnMjAifShzfHwocz17fSkpO2NvbnN0IGE9ZT0+KHt2YWx1ZToiZW50aXJlX3dvcmxkIixuYW1lOmkudChudWxsLHZvaWQgMCxvKDkxNTEyNCkpLGRlc2M6IiIsZ3JvdXA6bi5NYXJrZXRHcm91cC5DdXN0b20sY291bnRyaWVzOmU/P1tdfSk7ZnVuY3Rpb24gbChlKXtyZXR1cm4gZS5ncm91cD09PW4uTWFya2V0R3JvdXAuQ3VzdG9tJiZlLmhhc093blByb3BlcnR5KCJjb3VudHJpZXMiKX19LDE5NjIwMShlLHQsbyl7InVzZSBzdHJpY3QiO3ZhciBpO28uZCh0LHtNYXJrZXRHcm91cDooKT0+aX0pLGZ1bmN0aW9uKGUpe2UuQ3VzdG9tPSJDdXN0b20iLGUuRW50aXJlV29ybGQ9IkVudGlyZSBXb3JsZCIsZS5Ob3J0aEFtZXJpY2E9Ik5vcnRoIEFtZXJpY2EiLGUuRXVyb3BlPSJFdXJvcGUiLGUuTWlkZGxlRWFzdEFmcmljYT0iTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGUuTWV4aWNvU291dGhBbWVyaWNhPSJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGUuQXNpYVBhY2lmaWM9IkFzaWEgLyBQYWNpZmljIixlLldvcmxkd2lkZT0iV29ybGR3aWRlIixlLkcyMD0iRzIwIn0oaXx8KGk9e30pKX0sOTk4NjYxKGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtjb25zdCB0PW5ldyBNYXA7cmV0dXJuIGUuZm9yRWFjaCgoZT0+e3QuaGFzKGUuZ3JvdXApP3QuZ2V0KGUuZ3JvdXApLnB1c2goZSk6dC5zZXQoZS5ncm91cCxbZV0pfSkpLHR9ZnVuY3Rpb24gbihlLHQpe3JldHVybiB0Lm1hcCgodD0+ZS5maW5kKChlPT5lLnZhbHVlPT09dCkpKSkuZmlsdGVyKChlPT5Cb29sZWFuKGUpKSl9ZnVuY3Rpb24gcihlLHQ9Mil7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2lmKDE9PT10KXJldHVybltlXTtjb25zdCBvPU1hdGguZmxvb3IoZS5sZW5ndGgvMikrZS5sZW5ndGglMjtyZXR1cm5bZS5zbGljZSgwLG8pLGUuc2xpY2UobyldLmZpbHRlcigoZT0+ZS5sZW5ndGg+MCkpfW8uZCh0LHtjcmVhdGVHcm91cENvbHVtbnM6KCk9PnIsZ2V0TWFya2V0c0J5TmFtZXM6KCk9Pm4sc3BsaXRNYXJrZXRzQnlHcm91cDooKT0+aX0pfSwxODk4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7U3Bpbm5lcjooKT0+cn0pO28oODQ1NTc3KTt2YXIgaT1vKDQ0MzU1Nyksbj1vKDU2NzQ3OSk7Y2xhc3Mgcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9zaG93bj0hMSx0aGlzLl9lbD0oMCxpLnBhcnNlSHRtbEVsZW1lbnQpKGZ1bmN0aW9uKGU9IiIpe3JldHVybmA8ZGl2IGNsYXNzPSJ0di1zcGlubmVyICR7ZX0iIHJvbGU9InByb2dyZXNzYmFyIj48L2Rpdj5gfSgpKSx0aGlzLnNldFNpemUobi5zcGlubmVyU2l6ZU1hcFtlfHxuLkRFRkFVTFRfU0laRV0pfXNwaW4oZSl7cmV0dXJuIHRoaXMuX2VsLmNsYXNzTGlzdC5hZGQoInR2LXNwaW5uZXItLXNob3duIiksdm9pZCAwPT09dGhpcy5fY29udGFpbmVyJiYodGhpcy5fY29udGFpbmVyPWUsdm9pZCAwIT09ZSYmZS5hcHBlbmRDaGlsZCh0aGlzLl9lbCkpLHRoaXMuX3Nob3duPSEwLHRoaXN9c3RvcChlKXtyZXR1cm4gZSYmdm9pZCAwIT09dGhpcy5fY29udGFpbmVyJiZ0aGlzLl9jb250YWluZXIucmVtb3ZlQ2hpbGQodGhpcy5fZWwpLHRoaXMuX2VsJiZ0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zcGlubmVyLS1zaG93biIpLHRoaXMuX3Nob3duPSExLHRoaXN9c2V0U3R5bGUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pntjb25zdCBvPWVbdF07dm9pZCAwIT09byYmdGhpcy5fZWwuc3R5bGUuc2V0UHJvcGVydHkodCxvKX0pKSx0aGlzfXN0eWxlKCl7cmV0dXJuIHRoaXMuX2VsLnN0eWxlfXNldFNpemUoZSl7Y29uc3QgdD12b2lkIDAhPT1lP2B0di1zcGlubmVyLS1zaXplXyR7ZX1gOiIiO3JldHVybiB0aGlzLl9lbC5jbGFzc05hbWU9YHR2LXNwaW5uZXIgJHt0fSAke3RoaXMuX3Nob3duPyJ0di1zcGlubmVyLS1zaG93biI6IiJ9YCx0aGlzfWdldEVsKCl7cmV0dXJuIHRoaXMuX2VsfWRlc3Ryb3koKXt0aGlzLnN0b3AoKSxkZWxldGUgdGhpcy5fZWwsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcn19fSwyMDI0NjAoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7QWJzdHJhY3RJbmRpY2F0b3I6KCk9PmF9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDE1MDE1MCkscj1vKDE1OTUxMyk7bygzNDQ3ODUpO2NvbnN0IHM9KDAsaS5nZXRMb2dnZXIpKCJHVUkuQmxvY2tzLkFic3RyYWN0SW5kaWNhdG9yIik7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9jbGFzc1N1ZmZpeD0iIix0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXg9ImFic3RyYWN0LWluZGljYXRvciIsdGhpcy5fc2hvcnRNb2RlPSExLHRoaXMuX3Nob3dUb29sdGlwPSEwLHRoaXMuX3N1YnNjcmliZWQ9ITEsdGhpcy5fdG9vbHRpcFR5cGU9ImN1c3RvbSIsdGhpcy5fbGFzdFRvb2x0aXBUZXh0PSIiLHRoaXMuX3F1b3RlU2Vzc2lvbj1lLnF1b3RlU2Vzc2lvbn1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLl92YWx1ZX1nZXRUb29sdGlwVGV4dCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldExhYmVsKCl7cmV0dXJuIHRoaXMuX2xhYmVsTWFwW3RoaXMuX3ZhbHVlXXx8IiJ9Z2V0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbH11cGRhdGUoZSx0KXt0aGlzLl91cGRhdGVWYWx1ZShlLHQpLHRoaXMuX3JlbmRlcigpfXNldFRvb2x0aXBFbmFibGVkKGU9ITEpe3RoaXMuX3Nob3dUb29sdGlwIT09ZSYmKHRoaXMuX3Nob3dUb29sdGlwPWUsdGhpcy5fcmVuZGVyVG9vbHRpcCgpKX1lbmFibGVTaG9ydE1vZGUoKXshMCE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMCx0aGlzLl9yZW5kZXIoKSl9ZGlzYWJsZVNob3J0TW9kZSgpeyExIT09dGhpcy5fc2hvcnRNb2RlJiYodGhpcy5fc2hvcnRNb2RlPSExLAp0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKGUpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09ZSYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPWUsdGhpcy5fcmVuZGVyKCkpfV9pbml0KGUpe3RoaXMuX2VsPWUuZWw/ZS5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPWUuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPWUuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPWUubGFiZWxNYXAsdGhpcy5fc2hvd1Rvb2x0aXA9ZS5zaG93VG9vbHRpcCx0aGlzLl9jbGFzc1N1ZmZpeD1lLmNsYXNzU3VmZml4LHRoaXMuX3N5bWJvbE5hbWU9ZS5zeW1ib2wsdGhpcy5fc2Vzc2lvblN0YXR1c0ljb249ZS5zZXNzaW9uU3RhdHVzSWNvbix0aGlzLl9vblZhbHVlQ2hhbmdlPWUub25WYWx1ZUNoYW5nZSxlLnRvb2x0aXBUeXBlJiYodGhpcy5fdG9vbHRpcFR5cGU9ZS50b29sdGlwVHlwZSksdGhpcy5fcXVvdGVTZXNzaW9uR1VJRD0oMCxuLmd1aWQpKCksITA9PT1lLnNob3J0JiZ0aGlzLmVuYWJsZVNob3J0TW9kZSgpLGUuZGF0YSYmdGhpcy5fdXBkYXRlVmFsdWUoZS5kYXRhKX1fY2xlYXJDbGFzc2VzKCl7T2JqZWN0LnZhbHVlcyh0aGlzLl9jbGFzc01hcCkubWFwKChlPT57dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZShgJHtlfWApLHRoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7ZX0ke3RoaXMuX2NsYXNzU3VmZml4fWApfSkpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJDbGFzc2VzKCksdGhpcy5fcmVuZGVyVG9vbHRpcCgpLHRoaXMuX3JlbmRlckxhYmVsKCl9X3JlbmRlckxhYmVsKCl7dGhpcy5fZWwudGV4dENvbnRlbnQ9dGhpcy5nZXRMYWJlbCgpfV91cGRhdGVWYWx1ZShlLHQpe2NvbnN0IG89dGhpcy5fZ2V0VmFsdWVGcm9tRGF0YShlKTsodHx8byE9PXRoaXMuX3ZhbHVlKSYmKHRoaXMuX3ZhbHVlPW8sdGhpcy5fb25WYWx1ZUNoYW5nZT8uKHRoaXMuX3ZhbHVlKSl9X3JlbmRlckNsYXNzZXMoKXtjb25zdCBlPXRoaXMuX2VsLmNsYXNzTGlzdDtlLmFkZCh0aGlzLl9jb21wb25lbnRDbGFzcyx0aGlzLl9jb21wb25lbnRDbGFzcyt0aGlzLl9jbGFzc1N1ZmZpeCk7Y29uc3QgdD10aGlzLl9jbGFzc01hcFt0aGlzLl92YWx1ZV07Zm9yKGNvbnN0IG8gaW4gdGhpcy5fY2xhc3NNYXApe2NvbnN0IGk9dGhpcy5fY2xhc3NNYXBbb107aSYmKGk9PT10PyhlLmFkZChpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLmFkZChpKyJfX3dpdGhJY29uIikpOihlLnJlbW92ZShpLGkrdGhpcy5fY2xhc3NTdWZmaXgpLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uJiZlLnJlbW92ZShpKyJfX3dpdGhJY29uIikpKX0hdCYmdGhpcy5fdmFsdWUmJnMubG9nV2Fybihgbm8gY2xhc3NOYW1lIGZvciBzdGF0dXMgJHt0aGlzLl92YWx1ZX1gKX1fcmVuZGVyVG9vbHRpcCgpe2NvbnN0IGU9dGhpcy5fc2hvd1Rvb2x0aXA/dGhpcy5nZXRUb29sdGlwVGV4dCgpOiIiO2UhPT10aGlzLl9sYXN0VG9vbHRpcFRleHQmJih0aGlzLl9sYXN0VG9vbHRpcFRleHQ9ZSx0aGlzLl9lbC5zZXRBdHRyaWJ1dGUoInRpdGxlIixlKSwiY3VzdG9tIj09PXRoaXMuX3Rvb2x0aXBUeXBlJiZ0aGlzLl9lbC5jbGFzc0xpc3QudG9nZ2xlKCJhcHBseS1jb21tb24tdG9vbHRpcCIsdGhpcy5fc2hvd1Rvb2x0aXApKX1fZ2V0UXVvdGVTZXNzaW9uSWQoKXtyZXR1cm5gJHt0aGlzLl9xdW90ZVNlc3Npb25QcmVmaXh9LiR7dGhpcy5fcXVvdGVTZXNzaW9uR1VJRH1gfX19LDMwNjkwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0RhdGFNb2RlSW5kaWNhdG9yOigpPT5jfSk7dmFyIGksbj1vKDE4NTI3MSkscj0obyg4MjkxODApLG8oNDUwMjk1KSxvKDIwMjQ2MCkpOyFmdW5jdGlvbihlKXtlLkRlbGF5ZWQ9ImRlbGF5ZWQiLGUuRGVsYXllZFN0cmVhbWluZz0iZGVsYXllZF9zdHJlYW1pbmciLGUuRW5kT2ZEYXk9ImVuZG9mZGF5IixlLlNuYXBzaG90PSJzbmFwc2hvdCIsZS5SZWFsdGltZT0icmVhbHRpbWUiLGUuQ29ubmVjdGluZz0iY29ubmVjdGluZyIsZS5Mb2FkaW5nPSJsb2FkaW5nIixlLkludmFsaWQ9ImludmFsaWQiLGUuRm9yYmlkZGVuPSJmb3JiaWRkZW4iLGUuU3RyZWFtaW5nPSJzdHJlYW1pbmcifShpfHwoaT17fSkpO2NvbnN0IHM9e2Nvbm5lY3Rpbmc6InR2LWRhdGEtbW9kZS0tY29ubmVjdGluZyIsZGVsYXllZDoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixkZWxheWVkX3N0cmVhbWluZzoidHYtZGF0YS1tb2RlLS1kZWxheWVkIixlbmRvZmRheToidHYtZGF0YS1tb2RlLS1lbmRvZmRheSIsZm9yYmlkZGVuOiJ0di1kYXRhLW1vZGUtLWZvcmJpZGRlbiIscmVhbHRpbWU6InR2LWRhdGEtbW9kZS0tcmVhbHRpbWUiLHNuYXBzaG90OiJ0di1kYXRhLW1vZGUtLXNuYXBzaG90Iixsb2FkaW5nOiJ0di1kYXRhLW1vZGUtLWxvYWRpbmciLHJlcGxheToidHYtZGF0YS1tb2RlLS1yZXBsYXkifTtmdW5jdGlvbiBhKCl7cmV0dXJue2Nvbm5lY3Rpbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9jb25uZWN0aW5nX2xldHRlciJ9LG8oODU5OTk0KSksZGVsYXllZDpuLnQobnVsbCx7CmNvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LG8oODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6bi50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxvKDM5NDUwMSkpLGVuZG9mZGF5Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxvKDU3MDkzOSkpLGZvcmJpZGRlbjpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxvKDM5NDkyMSkpLHJlYWx0aW1lOm4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0sbyg4NjY0NCkpLHNuYXBzaG90Om4udChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0sbygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTpuLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxvKDc1NjQ1NykpfX1jb25zdCBsPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgYyBleHRlbmRzIHIuQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KGUpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9c2V0TW9kZShlLHQpe3RoaXMudXBkYXRlKHt2YWx1ZXM6e3VwZGF0ZV9tb2RlOmUsdXBkYXRlX21vZGVfc2Vjb25kczp0fX0pfWhpZGUoKXt0aGlzLl9lbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfXNob3coKXt0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfWdldFRvb2x0aXBUZXh0KCl7bGV0IGU9IiI7Y29uc3QgdD10aGlzLmdldFZhbHVlKCk7aWYoIiI9PT10KXJldHVybiBlO3N3aXRjaCh0KXtjYXNlImRlbGF5ZWQiOmU9bi50KG51bGwsdm9pZCAwLG8oNzkwNTI0KSk7YnJlYWs7Y2FzZSJkZWxheWVkX3N0cmVhbWluZyI6ZT1uLnQobnVsbCx2b2lkIDAsbyg4MTQ2MSkpO2JyZWFrO2RlZmF1bHQ6ZT10aGlzLl9sYWJlbE1hcFt0XXx8ZX1yZXR1cm5bImRlbGF5ZWQiLCJkZWxheWVkX3N0cmVhbWluZyJdLmluY2x1ZGVzKHQpJiYoZT1lLmZvcm1hdCh7bnVtYmVyOlN0cmluZyhNYXRoLnJvdW5kKHRoaXMuX21vZGVJbnRlcnZhbC82MCkpfSkpLGV9X2luaXQoZT17fSl7Y29uc3QgdD1PYmplY3QuYXNzaWduKHt9LHtjbGFzc01hcDpzLGNsYXNzU3VmZml4OiIiLGRhdGE6e3ZhbHVlczp7dXBkYXRlX21vZGU6ImNvbm5lY3RpbmcifX0sbGFiZWxNYXA6e2Nvbm5lY3Rpbmc6bi50KG51bGwsdm9pZCAwLG8oMTk0MTk0KSksZGVsYXllZDpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxkZWxheWVkX3N0cmVhbWluZzpuLnQobnVsbCx2b2lkIDAsbygyMjk1MjUpKSxlbmRvZmRheTpuLnQobnVsbCx2b2lkIDAsbyg2MDE3NjQpKSxmb3JiaWRkZW46bi50KG51bGwsdm9pZCAwLG8oMzI4MzEzKSkscmVhbHRpbWU6bi50KG51bGwsdm9pZCAwLG8oODgzOTI4KSksc25hcHNob3Q6bi50KG51bGwsdm9pZCAwLG8oNTYyMzk1KSksbG9hZGluZzoiIixyZXBsYXk6bi50KG51bGwsdm9pZCAwLG8oOTc3MjcpKX0sbW9kZUludGVydmFsOjYwMCxzaG9ydDohMSxzaG9ydExhYmVsTWFwOmEoKSxzaG93VG9vbHRpcDohMCx0b29sdGlwVHlwZToiY3VzdG9tIn0sZSk7dGhpcy5fbW9kZUludGVydmFsPXQubW9kZUludGVydmFsfHw2MDAsdGhpcy5fc2hvcnRMYWJlbE1hcD10LnNob3J0TGFiZWxNYXB8fGEoKSxzdXBlci5faW5pdCh0KSx0aGlzLl9yZW5kZXIoKX1fZ2V0VmFsdWVGcm9tRGF0YShlKXtsZXQgdDtyZXR1cm4gdD12b2lkIDAhPT1lLnZhbHVlcyYmdm9pZCAwIT09ZS52YWx1ZXMudXBkYXRlX21vZGU/ZS52YWx1ZXMudXBkYXRlX21vZGU6dGhpcy5nZXRWYWx1ZSgpLGxbdF18fHR9X3VwZGF0ZVZhbHVlKGUsdCl7dm9pZCAwIT09ZS52YWx1ZXMmJnZvaWQgMCE9PWUudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMmJih0aGlzLl9tb2RlSW50ZXJ2YWw9ZS52YWx1ZXMudXBkYXRlX21vZGVfc2Vjb25kcyksc3VwZXIuX3VwZGF0ZVZhbHVlKGUsdCl9fX0sNjQ3NjE0KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2ZsYWdVcmw6KCk9PmwsZ2V0TW9ja2VkRmxhZzooKT0+Y30pO3ZhciBpPW8oODEwNDEpLG49byg4NjIyMTMpLHI9byg3MTcxNDEpLHM9byg0NTgwNTkpO2NvbnN0IGE9e2VybDoiRVUiLHVrOiJHQiIsYml0Y29pbjoiQlRDIn07ZnVuY3Rpb24gbChlLHQsbz1uLkxvZ29TaXplLk1lZGl1bSl7cmV0dXJuIGU/KGUudG9Mb3dlckNhc2UoKWluIGEmJihlPWFbZV0pLCgwLG4uZ2V0TG9nb1VybFJlc29sdmVyKSgpLmdldENvdW50cnlGbGFnVXJsKGUudG9VcHBlckNhc2UoKSxvKSk6Yyh0KX1mdW5jdGlvbiBjKGUpe3JldHVybiBlPT09aS5TdGRUaGVtZS5EYXJrP3I6c319LDEzNzg3OShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjb3VudHJpZXM6KCk9PnIsZ2V0Q291bnRyeTooKT0+c30pO2NvbnN0IGk9L15bYS16XXsyfSQvO3ZhciBuPW8oMjU1NTE2KTtjb25zdCByPW4scz1lPT57cmV0dXJuIHQ9ZSxpLnRlc3QodCkmJm5bZV18fG51bGw7dmFyIHR9fSwxNjAyOTYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLnIodCksby5kKHQse2Vudmlyb25tZW50OigpPT5uLGlzRGVidWc6KCk9PmEsaXNMb2NhbDooKT0+cixpc1Byb2Q6KCk9PnN9KTtjb25zdCBpPW5ldyBTZXQoWyJiYXR0bGUiLCJzdGFnaW5nIiwidGVzdCIsImxvY2FsIl0pO2Z1bmN0aW9uIG4oKXtjb25zdCBlPXNlbGYuZW52aXJvbm1lbnQ7cmV0dXJuIGZ1bmN0aW9uKGUpe2kuaGFzKGUpfHxjb25zb2xlLndhcm4oIkludmFsaWQgZW52aXJvbm1lbnQgIitlKX0oZSksZX1mdW5jdGlvbiByKCl7cmV0dXJuImxvY2FsIj09PW4oKX1mdW5jdGlvbiBzKCl7cmV0dXJuImJhdHRsZSI9PT1uKCl9ZnVuY3Rpb24gYSgpe3JldHVybiFzKCl9fSw3Mzc4NjMoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuCjtvLmQodCx7UHJvZHVjdEZlYXR1cmVzRW51bTooKT0+bixVTkxJTUlURURfRkVBVFVSRV9MSU1JVDooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuRElTQUJMRV9PTl9UUklBTD0iZGlzYWJsZV9vbl90cmlhbCIsZS5ESVNBQkxFX09OX0xJVEVfUExBTj0iZGlzYWJsZV9vbl9saXRlX3BsYW4iLGUuQ1VTVE9NX0lOVEVSVkFMUz0iQ1VTVE9NX0lOVEVSVkFMUyIsZS5DSEFSVF9TVE9SQUdFPSJDSEFSVF9TVE9SQUdFIixlLk1VTFRJUExFX0NIQVJUUz0iTVVMVElQTEVfQ0hBUlRTIixlLk1VTFRJUExFX1dBVENITElTVFM9Ik1VTFRJUExFX1dBVENITElTVFMiLGUuSU1QT1JUX1dBVENITElTVFM9IklNUE9SVF9XQVRDSExJU1RTIixlLkVYUE9SVF9XQVRDSExJU1RTPSJFWFBPUlRfV0FUQ0hMSVNUUyIsZS5XQVRDSExJU1RfU1lNQk9MUz0iV0FUQ0hMSVNUX1NZTUJPTFMiLGUuSU5ESUNBVE9SU19PTl9DSEFSVD0iSU5ESUNBVE9SU19PTl9DSEFSVCIsZS5TVFVEWV9PTl9TVFVEWT0iU1RVRFlfT05fU1RVRFkiLGUuVElDS19CWV9USUNLX1BVU0hfREFUQT0iVElDS19CWV9USUNLX1BVU0hfREFUQSIsZS5TRVJWRVJfU0lERV9BTEVSVFM9IlNFUlZFUl9TSURFX0FMRVJUUyIsZS5TRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMPSJTRVJWRVJfU0lERV9BTEVSVFNfVEVDSE5JQ0FMIixlLlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1Q9IlNFUlZFUl9TSURFX0FMRVJUU19XQVRDSExJU1QiLGUuQUxFUlRTX01VTFRJQ09ORElUSU9OUz0iQUxFUlRTX01VTFRJQ09ORElUSU9OUyIsZS5BTEVSVFNfT05fRUFSTklOR1M9IkFMRVJUU19PTl9FQVJOSU5HUyIsZS5BTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUz0iQUxFUlRTX09OX0ZVTkRBTUVOVEFMX01FVFJJQ1MiLGUuUFVCTElTSF9JTlZJVEVfT05MWV9TQ1JJUFRTPSJQVUJMSVNIX0lOVklURV9PTkxZX1NDUklQVFMiLGUuUFVCTElTSF9QUk9URUNURURfU0NSSVBUUz0iUFVCTElTSF9QUk9URUNURURfU0NSSVBUUyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIPSJTQ1JFRU5FUl9ORVdfQVVUT19SRUZSRVNIIixlLlNDUkVFTkVSX0lOVEVSVkFMUz0iU0NSRUVORVJfSU5URVJWQUxTIixlLlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEE9IlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiLGUuU0NSRUVORVJfTkVXX1NIT1dfUkVTVFJJQ1RFRF9EQVRBPSJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiLGUuUElORV9TQ1JFRU5FUj0iUElORV9TQ1JFRU5FUiIsZS5TSU1VTFRBTkVPVVNfQ09OTkVDVElPTlM9IlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyIsZS5CQUNLRU5EX0NPTk5FQ1RJT05TPSJCQUNLRU5EX0NPTk5FQ1RJT05TIixlLlNUVURZX1RFTVBMQVRFUz0iU1RVRFlfVEVNUExBVEVTIixlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuSURDX0FWQUlMQUJMRV9ERUxBWT0iSURDX0FWQUlMQUJMRV9ERUxBWSIsZS5TVEFUVVM9IlNUQVRVUyIsZS5BTEVSVFNfTk9fRVhQSVJBVElPTj0iQUxFUlRTX05PX0VYUElSQVRJT04iLGUuTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFM9Ik1VTFRJRkxBR0dFRF9TWU1CT0xTX0xJU1RTIixlLkJBUl9SRVBMQVlfSU5UUkFEQVk9IkJBUl9SRVBMQVlfSU5UUkFEQVkiLGUuQkFSX1JFUExBWV8xUz0iQkFSX1JFUExBWV8xUyIsZS5CQVJfUkVQTEFZXzFUPSJCQVJfUkVQTEFZXzFUIixlLlRWX1ZPTFVNRUJZUFJJQ0U9IlRWX1ZPTFVNRUJZUFJJQ0UiLGUuQUxFUlRTX1dFQkhPT0s9IkFMRVJUU19XRUJIT09LIixlLk1BUktFVF9EQVRBX0xJTUlUUz0iTUFSS0VUX0RBVEFfTElNSVRTIixlLkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlk9IkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiLGUuRVhQT1JUX0NIQVJUX0RBVEE9IkVYUE9SVF9DSEFSVF9EQVRBIixlLkVYUE9SVF9GSU5BTkNJQUxTX0RBVEE9IkVYUE9SVF9GSU5BTkNJQUxTX0RBVEEiLGUuQUxFUlRTX09OX1NFQ09ORFM9IkFMRVJUU19PTl9TRUNPTkRTIixlLlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUz0iUEVSTUFORU5UX1NUUkVBTV9SRUNPUkRTIixlLklERUFfU09DSUFMX0xJTktTPSJJREVBX1NPQ0lBTF9MSU5LUyIsZS5FWFRFTkRFRF9TT0NJQUxfTElOS1M9IkVYVEVOREVEX1NPQ0lBTF9MSU5LUyIsZS5ERUVQX0hJU1RPUllfQkFDS1RFU1Q9IkRFRVBfSElTVE9SWV9CQUNLVEVTVCIsZS5CQUNLVEVTVElOR19FWFBPUlRfWExTWD0iQkFDS1RFU1RJTkdfRVhQT1JUX1hMU1giLGUuQkFDS1RFU1RJTkdfRVhQT1JUX0NTVj0iQkFDS1RFU1RJTkdfRVhQT1JUX0NTViIsZS5GVU5EQU1FTlRBTFNfRk9SRUNBU1Q9IkZVTkRBTUVOVEFMU19GT1JFQ0FTVCIsZS5CQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTPSJCQUNLVEVTVElOR19FWFRFTkRFRF9NRVRSSUNTIixlLkJBUl9ERVRBTElaQVRJT049IkJBUl9ERVRBTElaQVRJT04iLGUuU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlM9IlNDUklQVF9FWEVDVVRJT05fT05fSElTVE9SWV9CQVJTIixlLkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORD0iQkFDS1RFU1RJTkdfQ0hBUlRfRVhQQU5EIixlLkhJU1RPUklDQUxfQkFSUz0iSElTVE9SSUNBTF9CQVJTIixlLktBR0lfUkVOS089IktBR0lfUkVOS08iLGUuSU5UUkFEQVlfU1BSRUFEPSJJTlRSQURBWV9TUFJFQUQiLGUuU0VDT05EU19JTlRFUlZBTFM9IlNFQ09ORFNfSU5URVJWQUxTIixlLk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTPSJNVUxUSUNPTE9SX0ZMQUdHRURfU1lNQk9MUyIsZS5JTlRSQURBWV9FWENIQU5HRT0iSU5UUkFEQVlfRVhDSEFOR0UiLGUuQ1VTVE9NX0NIQVRTPSJDVVNUT01fQ0hBVFMiLGUuVk9MVU1FX1BST0ZJTEU9IlZPTFVNRV9QUk9GSUxFIixlLlZPTFVNRV9DQU5ETEVTPSJWT0xVTUVfQ0FORExFUyIsZS5UUE9fUEVSSU9ESUM9IlRQT19QRVJJT0RJQyIsZS5UUE9fQ0hBUlRfU1RZTEU9IlRQT19DSEFSVF9TVFlMRSIsCmUuUFJJTUlUSVZFX0FMRVJUUz0iUFJJTUlUSVZFX0FMRVJUUyIsZS5DT01QTEVYX0FMRVJUUz0iQ09NUExFWF9BTEVSVFMiLGUuVFZfUFJPU1RVRElFUz0iVFZfUFJPU1RVRElFUyIsZS5DSEFSVF9QQVRURVJOUz0iQ0hBUlRfUEFUVEVSTlMiLGUuU01TXzJGQV9WRVJJRklDQVRJT049IlNNU18yRkFfVkVSSUZJQ0FUSU9OIixlLlNPQ0lBTF9BQ1RJVklUWT0iU09DSUFMX0FDVElWSVRZIixlLlRJQ0tfSU5URVJWQUxTPSJUSUNLX0lOVEVSVkFMUyIsZS5DVVNUT01fRk9STVVMQVM9IkNVU1RPTV9GT1JNVUxBUyIsZS5DVVNUT01fUkFOR0VfQkFSUz0iQ1VTVE9NX1JBTkdFX0JBUlMiLGUuQlVZX1BST19EQVRBPSJCVVlfUFJPX0RBVEEiLGUuRkFTVEVTVF9EQVRBX0ZMT1c9IkZBU1RFU1RfREFUQV9GTE9XIixlLkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQ9IkZJUlNUX1BSSU9SSVRZX1NVUFBPUlQiLGUuRlVOREFNRU5UQUxTX09OX0NIQVJUPSJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiLGUuRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0U9IkZVTkRBTUVOVEFMX0dSQVBIU19MQVJHRV9USU1FX1JBTkdFIixlLlZJREVPX0lERUFTX0xFTkdUSD0iVklERU9fSURFQVNfTEVOR1RIIixlLlZPTFVNRV9GT09UUFJJTlQ9IlZPTFVNRV9GT09UUFJJTlQiLGUuU0VTU0lPTl9WT0xVTUVfUFJPRklMRT0iU0VTU0lPTl9WT0xVTUVfUFJPRklMRSIsZS5DSEFUX0FTU0lTVEFOVD0iQ0hBVF9BU1NJU1RBTlQiLGUuUEVSU09OQUxfU1VQUE9SVD0iUEVSU09OQUxfU1VQUE9SVCIsZS5TSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQT0iU0hPV19CT05EU19SRVNUUklDVEVEX0RBVEEiLGUuU0hPV19FVEZfSE9MRElOR1NfREFUQT0iU0hPV19FVEZfSE9MRElOR1NfREFUQSIsZS5DUkVBVEVfTU9SRV9QT1JURk9MSU9TPSJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIixlLlBPUlRGT0xJT19UUkFOU0FDVElPTlM9IlBPUlRGT0xJT19UUkFOU0FDVElPTlMiLGUuUE9SVEZPTElPX0hPTERJTkdTPSJQT1JURk9MSU9fSE9MRElOR1MiLGUuUE9SVEZPTElPX0RBVEFfTElNSVQ9IlBPUlRGT0xJT19EQVRBX0xJTUlUIixlLlNPQ0lBTF9UUlVTVEVEX1VTRVI9IlNPQ0lBTF9UUlVTVEVEX1VTRVIiLGUuQUNDRVNTX0FDUk9TU19ERVZJQ0VTPSJBQ0NFU1NfQUNST1NTX0RFVklDRVMiLGUuRk9MTE9XRVJTX09OTFlfTUlORFM9IkZPTExPV0VSU19PTkxZX01JTkRTIixlLkZPUkVDQVNUX0VTVElNQVRFX0RBVEE9IkZPUkVDQVNUX0VTVElNQVRFX0RBVEEiLGUuRFJBV0lOR1M9IkRSQVdJTkdTIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLkNBTl9FRElUX1BVQkxJQ19DSEFUUz0iQ0FOX0VESVRfUFVCTElDX0NIQVRTIixlLk5PX1NQT05TT1JFRF9BRFM9Ik5PX1NQT05TT1JFRF9BRFMiLGUuQUxFUlRTX05PX0VYUElSQVRJT049IkFMRVJUU19OT19FWFBJUkFUSU9OIixlLkFMRVJUU19XRUJIT09LPSJBTEVSVFNfV0VCSE9PSyIsZS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0g9IlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsZS5TQ1JFRU5FUl9JTlRFUlZBTFM9IlNDUkVFTkVSX0lOVEVSVkFMUyIsZS5TT0NJQUxfQUNUSVZJVFk9IlNPQ0lBTF9BQ1RJVklUWSJ9KG58fChuPXt9KSk7Y29uc3Qgcj05OTk5OX0sMjI1Mjk4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2xpbmtpbmc6KCk9PlR9KTt2YXIgaT1vKDU0Nzg1MSksbj1vKDEzODYzOCkscj1vKDIyMTA2MSkscz0obyg5MzAyMzEpLG8oMjMyMzY0KSksYT1vKDI1NDY3MyksbD1vKDEyODk5OCksYz1vKDk1MjkwMCksZD1vKDI0MTk1Nik7dmFyIGg9byg5MzA1NjYpLHU9byg2MzE2MzQpLF89byg3OTgzOCkscD1vKDc3ODk0NiksbT1vKDc3NDUwNyksZz1vKDM2MjIzOSk7dmFyIHY9bygzODMzNTEpLGY9byg3MDE1MDYpLHk9byg2ODI3NzkpLGI9bygyMDkzOSk7Y29uc3QgUz0oMCxyLmdldExvZ2dlcikoIkxpbmtpbmciKTt2YXIgdyxDOyFmdW5jdGlvbihlKXtlW2UuTm90Qm91bmQ9MF09Ik5vdEJvdW5kIixlW2UuQm91bmRUb1dpZGdldD0xXT0iQm91bmRUb1dpZGdldCIsZVtlLkJvdW5kVG9Nb2RlbD0yXT0iQm91bmRUb01vZGVsIn0od3x8KHc9e30pKSxmdW5jdGlvbihlKXtlW2UuU3ltYm9sPTBdPSJTeW1ib2wiLGVbZS5SZXNvbHV0aW9uPTFdPSJSZXNvbHV0aW9uIn0oQ3x8KEM9e30pKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCxvKXt0aGlzLndhdGNoZWRTeW1ib2xzPW5ldyBzLldhdGNoZWRWYWx1ZShbXSksdGhpcy53YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnNlcmllc1Nob3J0U3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLnByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5lbnN1cmVkUHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRlcnZhbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFNlY29uZHM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFRpY2tzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkUmFuZ2U9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5zeW1ib2xOYW1lc0xpc3Q9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTAsdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PW51bGwsdGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZFN5bWJvbExpc3RlbmVyLmJpbmQodGhpcyksCnRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQ9dGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuPXtjYW5jZWxsZWQ6ITF9LHRoaXMuX211dGVkPSExLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldD0oKT0+e2NvbnN0IGU9dGhpcy5fY2hhcnRUb0JpbmQoKTtlIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmKG51bGw9PT1lP3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCk6dGhpcy5iaW5kVG9DaGFydFdpZGdldChlKSl9LHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzPSgpPT57dGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPy4oKTtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpLHQ9W10sbz1bXTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPWkuc3ltYm9sV1YoKS5zcGF3bigpLG49aS5yZXNvbHV0aW9uV1YoKS5zcGF3bigpO2Uuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSxuLnN1YnNjcmliZSh0aGlzLl91cGRhdGVJbnRlcnZhbEJ5UHJvcGVydHkuYmluZCh0aGlzLGkpKSx0LnB1c2goZSksby5wdXNoKG4pfXRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz0oKT0+e3QuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxvLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksdGhpcy5fZGVzdHJveVN5bWJvbEludGVydmFsUHJvcGVydHlTdWJzY3JpcHRpb25zPXZvaWQgMH07Y29uc3QgaT10aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2woaSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woaSk7Y29uc3Qgcj10aGlzLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpO2UubGVuZ3RoPjEmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHIpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwociksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCl9LHRoaXMuX2dyb3VwSW5kZXg9ZTtjb25zdCBpPShlLHQpPT57ZS5zdWJzY3JpYmUoKGU9PntvKCk9PT10aGlzJiZ0LnNldFZhbHVlKGUpfSkse2NhbGxXaXRoTGFzdDohMH0pfTtpKHRoaXMud2F0Y2hlZFN5bWJvbHMsdC53YXRjaGVkU3ltYm9scyksaSh0aGlzLndhdGNoZWRTeW1ib2wsdC53YXRjaGVkU3ltYm9sKSxpKHRoaXMuc2VyaWVzU2hvcnRTeW1ib2wsdC5zZXJpZXNTaG9ydFN5bWJvbCksaSh0aGlzLnByb1N5bWJvbCx0LnByb1N5bWJvbCksaSh0aGlzLmVuc3VyZWRQcm9TeW1ib2wsdC5lbnN1cmVkUHJvU3ltYm9sKSxpKHRoaXMud2F0Y2hlZEludGVydmFsLHQud2F0Y2hlZEludGVydmFsKSxpKHRoaXMud2F0Y2hlZEludHJhZGF5LHQud2F0Y2hlZEludHJhZGF5KSxpKHRoaXMud2F0Y2hlZFNlY29uZHMsdC53YXRjaGVkU2Vjb25kcyksaSh0aGlzLndhdGNoZWRUaWNrcyx0LndhdGNoZWRUaWNrcyksaSh0aGlzLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix0LndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbiksaSh0aGlzLndhdGNoZWRSYW5nZSx0LndhdGNoZWRSYW5nZSksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyx0LndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucyksaSh0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyx0LndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyksaSh0aGlzLnN5bWJvbE5hbWVzTGlzdCx0LnN5bWJvbE5hbWVzTGlzdCksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSgoZT0+e3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuaGFzTW9kZWwoKSYmdGhpcy5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8dGhpcy5wcm9TeW1ib2wuc2V0VmFsdWUoZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSl9bXV0ZShlKXt0aGlzLl9tdXRlZD1lfWJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnNwYXduKCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzPWUubGlua2luZ0dyb3Vwc0NoYXJ0cyh0aGlzLl9ncm91cEluZGV4KS5zcGF3bigpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cy5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpLHRoaXMuX3VwZGF0ZUFsbEdyb3VwQ2hhcnRXaWRnZXRzKCk7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PSgwLGMuY29tYmluZSkoKCgpPT5lLmdldEFsbCgpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSYmZS5oYXNNb2RlbCgpKSkubWFwKChlPT4oMCxkLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbCgpKSxlLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbFJlc29sdmVkKCkpLm93bmVyc2hpcCgpKSkpLGUuY2hhcnRNb2RlbHMoKS53ZWFrUmVmZXJlbmNlKCksZS5sYXlvdXQud2Vha1JlZmVyZW5jZSgpKTtyZXR1cm4oMCxjLmFjY3VtdWxhdGUpKChlPT5lKSx0Lm93bmVyc2hpcCgpKX0oZSk7dC5zdWJzY3JpYmUoKGU9Pnt0aGlzLndhdGNoZWRTeW1ib2xzLnNldFZhbHVlKGUpfSkpLHRoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUodC52YWx1ZSgpKX11bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7dGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249bnVsbCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD8uZGVzdHJveSgpLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PW51bGwsCnRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz8uZGVzdHJveSgpLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCl9YmluZFRvQ2hhcnRXaWRnZXQoZSl7aWYodGhpcy51bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0PWUsZS5oYXNNb2RlbCgpKXJldHVybiB2b2lkIHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQoZS5tb2RlbCgpKTtlLm1vZGVsQ3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ2hhcnRNb2RlbENyZWF0ZWQsITApLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTE7Y29uc3QgdD1lLm1haW5TZXJpZXNQcm9wZXJ0aWVzKCkuY2hpbGRzKCk7dGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHQuaW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpfXVuYmluZEZyb21DaGFydFdpZGdldCgpe2NvbnN0IGU9dGhpcy5fYm91bmRDaGFydFdpZGdldDtpZihudWxsIT09ZSl7c3dpdGNoKHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlKXtjYXNlIDE6ZS5tb2RlbENyZWF0ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKTticmVhaztjYXNlIDI6dGhpcy53YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PXRoaXMubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdC5zeW1ib2xFcnJvcigpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy53YXRjaGVkSW50ZXJ2YWwudW5zdWJzY3JpYmUodGhpcy5fd2F0Y2hlZEludGVydmFsTGlzdGVuZXJCb3VuZCksZGVsZXRlIHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2t9ZS5saW5raW5nR3JvdXBJbmRleCgpLnVuc3Vic2NyaWJlKHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1udWxsLHRoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTB9fWJvdW5kQ2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldH1tYWluU2VyaWVzKCl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTtyZXR1cm4gdGhpcy5fYm91bmRDaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKX1fd2F0Y2hlZFN5bWJvbExpc3RlbmVyKGUpe3RoaXMuX25lZWRBcHBseVN5bWJvbChlKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbChlKX1fdXBkYXRlU3ltYm9sQnlQcm9wZXJ0eShlLHQpe2NvbnN0IG89dGhpcy5fc3ltYm9sTG9jaygpO28mJnRoaXMuX25lZWRBcHBseVN5bWJvbCh0KSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cFN5bWJvbCh0KSwob3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRTeW1ib2wuc2V0VmFsdWUodCl9X3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyKGUpe2NvbnN0IHQ9YS5JbnRlcnZhbC5ub3JtYWxpemUoZSk7dCYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbCh0KX1fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5KGUsdCl7Y29uc3Qgbz10aGlzLl9pbnRlcnZhbExvY2soKSxpPWEuSW50ZXJ2YWwubm9ybWFsaXplKHQpO28mJmkmJnRoaXMuX25lZWRBcHBseUludGVydmFsKGkpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwoaSksKG98fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoaT8/dCl9X3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKXt0aGlzLnNlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkuZ2V0U3ltYm9sKCEwKSk7Y29uc3QgZT10aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCk7aWYoZSl7Y29uc3QgdD1lLnByb19uYW1lfHwhMTt0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0fHx0aGlzLndhdGNoZWRTeW1ib2wudmFsdWUoKSksdGhpcy5lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKHRoaXMucHJvU3ltYm9sLnZhbHVlKCkpLGUuYWxpYXNlcyYmdGhpcy5zeW1ib2xOYW1lc0xpc3Quc2V0VmFsdWUoZS5hbGlhc2VzKTtsZXQgbz0oMCxmLmFsbENoYXJ0U3R5bGVzKSgpOygoMCxsLmlzQ2xvc2VCYXNlZFN5bWJvbCkoZSl8fHRoaXMubWFpblNlcmllcygpLmludGVydmFsT2JqKCkudmFsdWUoKS5pczFUaWNrKCkpJiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc1NpbmdsZVZhbHVlQmFzZWRTdHlsZSkoZSkpKSksImhsYyI9PT1lLnZpc2libGVfcGxvdHNfc2V0JiYobz1vLmZpbHRlcigoZT0+KDAsbC5pc0hMQ0Jhc2VkU3R5bGUpKGUpfHwoMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSx0aGlzLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShvKSx0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghIWUuaGFzX2ludHJhZGF5KSx0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCEhZS5oYXNfc2Vjb25kcyksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSYmISFlWyJpcy10aWNrYmFycy1hdmFpbGFibGUiXSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoISgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKSk7Y29uc3QgaT1lLmRhdGFfZnJlcXVlbmN5P2UuZGF0YV9mcmVxdWVuY3k6dm9pZCAwO3RoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGkpfWVsc2UgdGhpcy53YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoITEpLAp0aGlzLndhdGNoZWRTZWNvbmRzLnNldFZhbHVlKCExKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoITEpLHRoaXMubWFpblNlcmllcygpLmlzRmFpbGVkKCkmJnRoaXMuZW5zdXJlZFByb1N5bWJvbC5zZXRWYWx1ZSh0aGlzLnByb1N5bWJvbC52YWx1ZSgpKX1fb25DaGFydE1vZGVsQ3JlYXRlZChlKXtpZighdGhpcy5fYm91bmRDaGFydFdpZGdldCl0aHJvdyBuZXcgRXJyb3IoIkNoYXJ0V2lkZ2V0IGlzIHVuZGVmaW5lZCIpO3RoaXMuX2NoYXJ0V2lkZ2V0QmluZGluZ1N0YXRlPTIsdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQuc3ltYm9sV1YoKS52YWx1ZSgpKSx0aGlzLndhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRTeW1ib2xMaXN0ZW5lckJvdW5kKTtjb25zdCB0PWUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKTt0LnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdC5zeW1ib2xFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLGUubWFpblNlcmllcygpLm9uSW50ZXJ2YWxDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbyksdGhpcy5fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpLHRoaXMud2F0Y2hlZEludGVydmFsLnNldFZhbHVlKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkSW50ZXJ2YWwuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVhZE9ubHkoKSYmKHRoaXMud2F0Y2hlZFN5bWJvbC53cml0ZUxvY2s9ITApfV9jaGFydFRvQmluZCgpe2NvbnN0IGU9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uO3JldHVybiBudWxsPT09ZT9udWxsOmUuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P2UuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTpudWxsIT09dGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4P3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ6ZS5nZXRBbGwoKS5maW5kKChlPT5lLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKT09PXRoaXMuX2dyb3VwSW5kZXgpKT8/bnVsbH1fc3ltYm9sTG9jaygpe3JldHVybiEhdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5sb2NrLnN5bWJvbC52YWx1ZSgpfV9pbnRlcnZhbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfV9jaGFydHNGb3JMb2NrKGUpe3JldHVybigwPT09ZT90aGlzLl9zeW1ib2xMb2NrKCk6dGhpcy5faW50ZXJ2YWxMb2NrKCkpPygwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzKS52YWx1ZSgpOnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ/W3RoaXMuX2JvdW5kQ2hhcnRXaWRnZXRdOltdfV9zZXRHcm91cFN5bWJvbChlKXt0aGlzLm11dGUoITApLHRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW4uY2FuY2VsbGVkPSEwO2NvbnN0IHQ9dGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfTsoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbikuc2V0U3ltYm9sKGUsdGhpcy5fZ3JvdXBJbmRleCwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpKS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJiF0LmNhbmNlbGxlZCl7Y29uc3QgdD10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpO3Quc3ltYm9sU2FtZUFzQ3VycmVudChlKXx8KHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbCgpKSx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZSh0LnByb1N5bWJvbCgpKSl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseVN5bWJvbChlKXtjb25zdCB0PXRoaXMuX2NoYXJ0c0ZvckxvY2soMCksbz10LmZpbmQoKHQ9PnQuaGFzTW9kZWwoKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkmJnQubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sU2FtZUFzUmVzb2x2ZWQoZSkpKTtpZihvKXtjb25zdCBlPW8ubW9kZWwoKS5tYWluU2VyaWVzKCk7aWYodC5ldmVyeSgodD0+ZS5zeW1ib2xTYW1lQXNSZXNvbHZlZCh0LnN5bWJvbFdWKCkudmFsdWUoKSkpKSlyZXR1cm4hMX1yZXR1cm4gdC5zb21lKCh0PT50LnN5bWJvbFdWKCkudmFsdWUoKSE9PWUpKX1fc2V0R3JvdXBJbnRlcnZhbChlKXt0aGlzLm11dGUoITApLCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRSZXNvbHV0aW9uKGUsdGhpcy5fZ3JvdXBJbmRleCkuZmluYWxseSgoKCk9PntpZih0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQucmVzb2x1dGlvbldWKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwodCxlKXx8dGhpcy53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUodCl9fSkpLHRoaXMubXV0ZSghMSl9X25lZWRBcHBseUludGVydmFsKGUpe3JldHVybiB0aGlzLl9jaGFydHNGb3JMb2NrKDEpLnNvbWUoKHQ9PiFhLkludGVydmFsLmlzRXF1YWwodC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpLGUpKSl9fWNvbnN0IFQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fd2F0Y2hlZFN5bWJvbHM9bmV3IHMuV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl93YXRjaGVkU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fcHJvU3ltYm9sPW5ldyBzLldhdGNoZWRWYWx1ZSwKdGhpcy5fZW5zdXJlZFByb1N5bWJvbD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludGVydmFsPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkSW50cmFkYXk9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTZWNvbmRzPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkVGlja3M9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbj1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFJhbmdlPW5ldyBzLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IHMuV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcz1uZXcgcy5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3N5bWJvbE5hbWVzTGlzdD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fb25TeW1ib2xMaW5rQm91bmQ9dGhpcy5fb25TeW1ib2xMaW5rLmJpbmQodGhpcyksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlbGZFbWl0PSExLHRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2w9ITEsdGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTAsdGhpcy5fbGlua2luZ0dyb3Vwcz1uZXcgTWFwLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cD1uZXcgcy5XYXRjaGVkVmFsdWUsdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl91cGRhdGVMaW5raW5nR3JvdXBzPSgpPT57KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLmFsbExpbmtpbmdHcm91cHMoKS52YWx1ZSgpLmZvckVhY2goKGU9PnRoaXMuX2xpbmtpbmdHcm91cChlKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCkpKX0sdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChudWxsKSk7Y29uc3QgZT0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT50KCkuc2V0VmFsdWUoZSkpLHtjYWxsV2l0aExhc3Q6ITB9KX07ZSh0aGlzLl93YXRjaGVkU3ltYm9scywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2xzKSksZSh0aGlzLl93YXRjaGVkU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN5bWJvbCkpLGUodGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zZXJpZXNTaG9ydFN5bWJvbCkpLGUodGhpcy5fcHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkucHJvU3ltYm9sKSksZSh0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuZW5zdXJlZFByb1N5bWJvbCkpLGUodGhpcy5fd2F0Y2hlZEludGVydmFsLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludGVydmFsKSksZSh0aGlzLl93YXRjaGVkSW50cmFkYXksKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkSW50cmFkYXkpKSxlKHRoaXMuX3dhdGNoZWRTZWNvbmRzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFNlY29uZHMpKSxlKHRoaXMuX3dhdGNoZWRUaWNrcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRUaWNrcykpLGUodGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uKSksZSh0aGlzLl93YXRjaGVkUmFuZ2UsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkUmFuZ2UpKSxlKHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucykpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzKSksZSh0aGlzLl9zeW1ib2xOYW1lc0xpc3QsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS5zeW1ib2xOYW1lc0xpc3QpKTtjb25zdCB0PWU9Pnt0aGlzLl93YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLl9zZXJpZXNTaG9ydFN5bWJvbC5zZXRWYWx1ZShlLnNlcmllc1Nob3J0U3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Byb1N5bWJvbC5zZXRWYWx1ZShlLnByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnNldFZhbHVlKGUuZW5zdXJlZFByb1N5bWJvbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSksdGhpcy5fd2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKGUud2F0Y2hlZEludHJhZGF5LnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTZWNvbmRzLnNldFZhbHVlKGUud2F0Y2hlZFNlY29uZHMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFRpY2tzLnNldFZhbHVlKGUud2F0Y2hlZFRpY2tzLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi5zZXRWYWx1ZShlLndhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbi52YWx1ZSgpKSx0aGlzLl93YXRjaGVkUmFuZ2Uuc2V0VmFsdWUoZS53YXRjaGVkUmFuZ2UudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy5zZXRWYWx1ZShlLndhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcy52YWx1ZSgpKSwKdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnNldFZhbHVlKGUuc3ltYm9sTmFtZXNMaXN0LnZhbHVlKCkpfTt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc3Vic2NyaWJlKHQpLHQodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkpLCgwLGIuc2V0TXV0ZUxpbmtpbmdHcm91cCkoKChlLHQpPT57ImFsbCI9PT1lP3RoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS5tdXRlKHQpKSk6dGhpcy5fbGlua2luZ0dyb3VwKGUpLm11dGUodCl9KSl9Z2V0IHN5bWJvbHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbHN9Z2V0IHN5bWJvbCgpe3JldHVybiB0aGlzLl93YXRjaGVkU3ltYm9sfWdldCBwcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJvU3ltYm9sLnJlYWRvbmx5KCl9c3ltYm9sU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1nZXQgZW5zdXJlZFByb1N5bWJvbCgpe3JldHVybiB0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLnJlYWRvbmx5KCl9Z2V0IHN5bWJvbE5hbWVzTGlzdCgpe3JldHVybiB0aGlzLl9zeW1ib2xOYW1lc0xpc3QucmVhZG9ubHkoKX1nZXQgc2VyaWVzU2hvcnRTeW1ib2woKXtyZXR1cm4gdGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wucmVhZG9ubHkoKX1nZXQgaW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludGVydmFsfWludGVydmFsU3luY0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5pbnRlcnZhbC52YWx1ZSgpfWdldCBpbnRyYWRheSgpe3JldHVybiB0aGlzLl93YXRjaGVkSW50cmFkYXkucmVhZG9ubHkoKX1nZXQgc2Vjb25kcygpe3JldHVybiB0aGlzLl93YXRjaGVkU2Vjb25kcy5yZWFkb25seSgpfWdldCB0aWNrcygpe3JldHVybiB0aGlzLl93YXRjaGVkVGlja3MucmVhZG9ubHkoKX1nZXQgcmFuZ2UoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFJhbmdlLnJlYWRvbmx5KCl9Z2V0IHN1cHBvcnRlZFJlc29sdXRpb25zKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9ucy5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRDaGFydFN0eWxlcygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMucmVhZG9ubHkoKX1nZXQgcHJldmVudEZlZWRCeVN5bWJvbCgpe3JldHVybiB0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sfWdldCBkYXRhRnJlcXVlbmN5UmVzb2x1dGlvbigpe3JldHVybiB0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24ucmVhZG9ubHkoKX1hY3RpdmVMaW5raW5nR3JvdXAoKXtyZXR1cm4gdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnJlYWRvbmx5KCl9Z2V0Q2hhcnRXaWRnZXQoKXtyZXR1cm4gdGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpLmJvdW5kQ2hhcnRXaWRnZXQoKX1iaW5kVG9DaGFydFdpZGdldENvbGxlY3Rpb24oZSl7dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPy5vbkFib3V0VG9CZURlc3Ryb3llZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm9uQWJvdXRUb0JlRGVzdHJveWVkLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24pLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMoKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1lLmFjdGl2ZUxpbmtpbmdHcm91cCgpLnNwYXduKCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXguc3Vic2NyaWJlKChlPT57dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnNldFZhbHVlKHRoaXMuX2xpbmtpbmdHcm91cChlKSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fbGlua2luZ0dyb3Vwcy5mb3JFYWNoKCh0PT50LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbihlKSkpfWJpbmRUb1NlYXJjaENoYXJ0cyhlKXt0aGlzLnVuYmluZEZyb21TZWFyY2hDaGFydHMoKSx0aGlzLl9zZWFyY2hDaGFydHM9ZSxlLm9uU2VhcmNoQnlTeW1ib2wuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksZS5sb2FkaW5nU3ltYm9sLnN1YnNjcmliZSgoZT0+eyExPT09ZSYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wKX0pKSx0aGlzLl93YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCl9dW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpe3RoaXMuX3NlYXJjaENoYXJ0cyYmKHRoaXMuX3NlYXJjaENoYXJ0cy5vblNlYXJjaEJ5U3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZWFyY2hCeVN5bWJvbCksdGhpcy5fd2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl9vblN5bWJvbExpbmtCb3VuZCksdGhpcy5fc2VhcmNoQ2hhcnRzPW51bGwpfXNldFByZXZlbnRGZWVkQnlTeW1ib2woZSl7dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbD1lfXNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLHQsbyxpLG4pe2NvbnN0IHI9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTt2YXIgcyxhLGwsYzsoci53YXRjaGVkU3ltYm9sLnZhbHVlKCkhPT1lfHxvKSYmKFMubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgc3ltYm9sIHRvICR7ZX0sIGluaXRpYXRvcjogJHt0fWApLHIud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLG8pLGl8fG51bGw9PT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb258fChzPXIubWFpblNlcmllcygpLGE9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmxheW91dC52YWx1ZSgpLGw9dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLm1ldGFJbmZvLnVpZC52YWx1ZSgpfHwiIixjPXQsCndpbmRvdy51c2VyLmRvX25vdF90cmFja3x8cy5zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKS5zdWJzY3JpYmUoKGU9PntpZihlKXJldHVybjtjb25zdCB0PXMuc3ltYm9sSW5mbygpO3QmJigwLGcuZ2V0VHJhY2tlcikoKS50aGVuKChlPT57bnVsbCE9PWUmJmUudHJhY2tDaGFydFN5bWJvbHMoe3N5bWJvbE5hbWU6dC5wcm9fbmFtZSxzeW1ib2xUeXBlOnQudHlwZSxyZXNvbHV0aW9uOnMuaW50ZXJ2YWwoKSxsYXlvdXRUeXBlOmEsY2hhcnRJZDpsLGNoYXJ0U3R5bGVzOl8uU1RZTEVfU0hPUlRfTkFNRVNbcy5zdHlsZSgpXSxvcGVuU291cmNlOmMscGxhdGZvcm06KDAscC5nZXRQbGF0Zm9ybSkoKSxpc0V4cGVydDp3aW5kb3cudXNlci5kZWNsYXJlZF9zdGF0dXM9PT1tLlVzZXJTdGF0dXMuUHJvfSl9KSl9KSx7b25jZTohMH0pKSl9c2V0SW50ZXJ2YWxBbmRMb2dJbml0aWF0b3IoZSx0LG8saSl7Y29uc3Qgbj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbChuLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpLGUpfHwoUy5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBpbnRlcnZhbCB0byAke2V9LCBpbml0aWF0b3I6ICR7dH1gKSxvfHwoMCx2LnRyYWNrSW50ZXJ2YWxDaGFuZ2luZykoZSx0KSxuLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlKSl9X29uU2VhcmNoQnlTeW1ib2woZSl7aWYoIWUucmVzb2x2ZWRfc3ltYm9sKXRocm93IG5ldyBFcnJvcigibm8gcmVzb2x2ZWRfc3ltYm9sIik7dGhpcy5fc2VsZkVtaXQ9ITAsdGhpcy5fd2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZShlLnJlc29sdmVkX3N5bWJvbCksdGhpcy5fc2VsZkVtaXQ9ITF9X29uU3ltYm9sTGluayhlKXtpZighdGhpcy5fc2VsZkVtaXQpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgUy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9dGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbHx8dGhpcy5fbG9hZFNlYXJjaENoYXJ0cyhlKX19X2xvYWRTZWFyY2hDaGFydHMoZSl7aWYoIXRoaXMuX3NlYXJjaENoYXJ0cyl7Y29uc3QgZT0iTm8gc2VhcmNoIGNoYXJ0cyBkZWZpbmVkIjt0aHJvdyBTLmxvZ0Vycm9yKGUpLG5ldyBFcnJvcihlKX1pZih0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKXJldHVybiB2b2lkKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKSk7Y29uc3QgdD1lPT50aGlzLl9zZWFyY2hDaGFydHM/KCEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPW51bGwsdGhpcy5fc2VhcmNoQ2hhcnRzLmZlZWRCeVN5bWJvbC5jYWxsKHRoaXMuX3NlYXJjaENoYXJ0cyxlKSk6KCk9Pnt9OyEwPT09dGhpcy5fc2VhcmNoQ2hhcnRzLmxvYWRpbmdTeW1ib2wudmFsdWUoKT90aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD0oMCxpLmRlZmF1bHQpKHQsMmUzKSx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkKGUpKTp0aGlzLl9zZWFyY2hDaGFydHMuZmVlZEJ5U3ltYm9sKGUpfV9saW5raW5nR3JvdXAoZSl7bGV0IHQ9dGhpcy5fbGlua2luZ0dyb3Vwcy5nZXQoZSk7aWYodm9pZCAwPT09dCl7Y29uc3Qgbz17d2F0Y2hlZFN5bWJvbHM6dGhpcy5fd2F0Y2hlZFN5bWJvbHMsd2F0Y2hlZFN5bWJvbDp0aGlzLl93YXRjaGVkU3ltYm9sLHNlcmllc1Nob3J0U3ltYm9sOnRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLHByb1N5bWJvbDp0aGlzLl9wcm9TeW1ib2wsZW5zdXJlZFByb1N5bWJvbDp0aGlzLl9lbnN1cmVkUHJvU3ltYm9sLHdhdGNoZWRJbnRlcnZhbDp0aGlzLl93YXRjaGVkSW50ZXJ2YWwsd2F0Y2hlZEludHJhZGF5OnRoaXMuX3dhdGNoZWRJbnRyYWRheSx3YXRjaGVkU2Vjb25kczp0aGlzLl93YXRjaGVkU2Vjb25kcyx3YXRjaGVkVGlja3M6dGhpcy5fd2F0Y2hlZFRpY2tzLHdhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbjp0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sd2F0Y2hlZFJhbmdlOnRoaXMuX3dhdGNoZWRSYW5nZSx3YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM6dGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLHdhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsc3ltYm9sTmFtZXNMaXN0OnRoaXMuX3N5bWJvbE5hbWVzTGlzdH07dD1uZXcgayhlLG8sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKSkpLHRoaXMuX2xpbmtpbmdHcm91cHMuc2V0KGUsdCksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiZ0LmJpbmRUb0NoYXJ0V2lkZ2V0Q29sbGVjdGlvbih0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pfXJldHVybiB0fV91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCl7bnVsbCE9PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbiYmKHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpKSksCnRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hbGxMaW5raW5nR3JvdXBzKCkudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwpfX07e2NvbnN0IGU9KDAsdS5nZXRGcmVzaEluaXREYXRhKSgpLnN5bWJvbEluZm8sdD1lP2UucHJvX3N5bWJvbDpoLmdldFZhbHVlKCJlZGl0Y2hhcnQubW9kZWwuc3ltYm9sIiwoMCx5LmdldERlZmF1bHRTeW1ib2wpKCkpO1Quc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKHQsImluaXRpYWwgZGF0YSIsITEsITApfXdpbmRvdy5UcmFkaW5nVmlld0FwaXx8KHdpbmRvdy5UcmFkaW5nVmlld0FwaT17bGlua2luZzpUfSl9LDIwOTM5KGUsdCxvKXsidXNlIHN0cmljdCI7bGV0IGk7ZnVuY3Rpb24gbihlKXtpPWV9by5kKHQse3NldE11dGVMaW5raW5nR3JvdXA6KCk9Pm59KX0sNDU5NDg4KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3Bvc2l0aW9uOigpPT5yfSk7dmFyIGk9bygxMzg2MzgpO2Z1bmN0aW9uIG4oZSl7aWYoIWUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpcmV0dXJue3RvcDowLGxlZnQ6MH07Y29uc3QgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89KDAsaS5lbnN1cmVOb3ROdWxsKShlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpO3JldHVybnt0b3A6dC50b3Arby5wYWdlWU9mZnNldCxsZWZ0OnQubGVmdCtvLnBhZ2VYT2Zmc2V0fX1mdW5jdGlvbiByKGUpe2NvbnN0IHQ9Z2V0Q29tcHV0ZWRTdHlsZShlKTtsZXQgbyxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT10LnBvc2l0aW9uKW89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle289bihlKTtjb25zdCB0PWUub3duZXJEb2N1bWVudDtsZXQgcj1lLm9mZnNldFBhcmVudHx8dC5kb2N1bWVudEVsZW1lbnQ7Zm9yKDtyJiYocj09PXQuYm9keXx8cj09PXQuZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1nZXRDb21wdXRlZFN0eWxlKHIpLnBvc2l0aW9uOylyPXIucGFyZW50RWxlbWVudDtyJiZyIT09ZSYmMT09PXIubm9kZVR5cGUmJihpPW4ociksaS50b3ArPXBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShyKS5ib3JkZXJUb3BXaWR0aCksaS5sZWZ0Kz1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUocikuYm9yZGVyTGVmdFdpZHRoKSl9cmV0dXJue3RvcDpvLnRvcC1pLnRvcC1wYXJzZUZsb2F0KHQubWFyZ2luVG9wKSxsZWZ0Om8ubGVmdC1pLmxlZnQtcGFyc2VGbG9hdCh0Lm1hcmdpbkxlZnQpfX19LDM2MjIzOShlLHQsbyl7InVzZSBzdHJpY3QiO2FzeW5jIGZ1bmN0aW9uIGkoKXtpZighd2luZG93LnVzZXJ8fHdpbmRvdy51c2VyLmRvX25vdF90cmFjaylyZXR1cm4gbnVsbDtjb25zdHtnZXRUcmFja2VySW5zdGFuY2U6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW28uZSg3MDY0NCksby5lKDY2Mzk5KV0pLnRoZW4oby5iaW5kKG8sMTU4MzMyKSk7cmV0dXJuIGUoKX1vLmQodCx7Z2V0VHJhY2tlcjooKT0+aX0pfSwzNTUxMjMoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIGk9byg5MzIzNjUpO2NvbnN0IG49InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxvKDE2MDI5NikuaXNQcm9kKSgpP251bGw6aS5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKG4pO2xldCBzPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09cyYmKCFOdW1iZXIuaXNGaW5pdGUocyl8fHM8MHx8cz4xKSYmKHM9bnVsbCxpLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obikpO2NvbnN0IGE9cz8/LjF9LDM4MzM1MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHt0cmFja0ludGVydmFsQ2hhbmdpbmc6KCk9PnN9KTt2YXIgaT1vKDg1NjE5Niksbj1vKDM2MjIzOSkscj1vKDM1NTEyMyk7ZnVuY3Rpb24gcyhlLHQpe3dpbmRvdy51c2VyLmRvX25vdF90cmFja3x8KDAsaS5zaG91bGRBZmZlY3RVc2VyKSgiSW50ZXJ2YWxDaGFuZ2luZyIsci5zcGFyc2VVc2Vyc1RyYWNraW5nQ29lZmZpY2llbnQpJiYoMCxuLmdldFRyYWNrZXIpKCkudGhlbigobz0+e251bGwhPT1vJiZvLnRyYWNrQ2hhcnRJbnRlcnZhbENoYW5naW5nKGUsdCl9KSl9fSwxNTI3MTcoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3luY1VzZXJDb252ZXJzaW9uRGF0YTooKT0+dSxzeW5jVXNlckRhdGE6KCk9Pmh9KTt2YXIgaT1vKDIyMTA2MSksbj1vKDM4NjkzMSkscj1vKDgyNzAxKSxzPW8oMzg0MDE3KSxhPW8oNTI0MDY5KTtjb25zdCBsPSgwLGkuZ2V0TG9nZ2VyKSgiVXNlci5TeW5jIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm5gJHtlfV8ke3dpbmRvdy51c2VyJiZ3aW5kb3cudXNlci51c2VybmFtZXx8IiJ9YH1mdW5jdGlvbiBkKGUpe2NvbnN0e3NvdXJjZTp0LGlzQXV0aGVudGljYXRlZDpvLHByb1BsYW46aSxvZmZlcnM6cyxmaXJlTG9naW5DaGFuZ2U6YT0hMH09ZTtpIT09d2luZG93LnVzZXIucHJvX3BsYW4mJih3aW5kb3cudXNlci5wcm9fcGxhbj1pLHdpbmRvdy51c2VyLmlzX3Bybz1Cb29sZWFuKGkpLCgwLG4udHJhY2tFdmVudCkoIlN5bmMgVXNlciBEYXRhIiwiRGlmZmVyZW50IFBybyBQbGFuIixjKHQpKSksbyE9PXdpbmRvdy5pc19hdXRoZW50aWNhdGVkJiYod2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ9byxhJiZ3aW5kb3cubG9naW5TdGF0ZUNoYW5nZS5maXJlKCksKDAsbi50cmFja0V2ZW50KSgiU3luYyBVc2VyIERhdGEiLCJEaWZmZXJlbnQgQXV0aCIsYyh0KSkpLHMmJnIuYXZhaWxhYmxlT2ZmZXJzLnNldEluaXRpYWwocyl9YXN5bmMgZnVuY3Rpb24gaChlKXt0cnl7ZCh7c291cmNlOmUsaXNBdXRoZW50aWNhdGVkOiEwLHByb1BsYW46KGF3YWl0KDAsYS5nZXRQcm9QbGFuRGV0YWlsc0ZvclVzZXIpKCkpLnByb19wbGFufSl9Y2F0Y2godCl7IWZ1bmN0aW9uKGUsdCl7NDAzPT09dC5zdGF0dXMmJlsibm90X2F1dGhlbnRpY2F0ZWQiLCJsb2dpbl9yZXF1aXJlZCJdLmluY2x1ZGVzKHQudHlwZXx8IiIpP2Qoe3NvdXJjZTplLGlzQXV0aGVudGljYXRlZDohMSxwcm9QbGFuOnZvaWQgMH0pOmwubG9nRXJyb3IodC5tZXNzYWdlKX0oZSx0KX19CmFzeW5jIGZ1bmN0aW9uIHUoZSx0PSEwKXtjb25zdCBvPW5ldyBVUkwoIi9wcmljaW5nLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbiksaT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2kuaGFzKCJfdGVzdF9jb3VudHJ5IikmJm8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiX3Rlc3RfY291bnRyeSIsaS5nZXQoIl90ZXN0X2NvdW50cnkiKT8/IiIpLG8uc2VhcmNoUGFyYW1zLmFwcGVuZCgiY29tcG9uZW50LWRhdGEtb25seSIsIjEiKTtjb25zdCBuPWF3YWl0KDAscy5mZXRjaCkoby5ocmVmKSxyPWF3YWl0IG4uanNvbigpO3JldHVybiBkKHtzb3VyY2U6ZSxpc0F1dGhlbnRpY2F0ZWQ6ci5pc19hdXRoZW50aWNhdGVkLHByb1BsYW46ci51c2VyLnByb19wbGFuLGZpcmVMb2dpbkNoYW5nZTp0LG9mZmVyczpyLnVzZXIuYXZhaWxhYmxlX29mZmVyc30pLHJ9fSw4MTA0MShlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTdGRUaGVtZTooKT0+aS5TdGRUaGVtZX0pO3ZhciBpPW8oMjQ3OTAxKX0sMjM0OTY0KGUsdCxvKXsidXNlIHN0cmljdCI7YXN5bmMgZnVuY3Rpb24gaShlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5yZW5hbWVNb2R1bGUsdCl9YXN5bmMgZnVuY3Rpb24gbihlLHQpe2NvbnN0IGk9YXdhaXQgUHJvbWlzZS5hbGwoW28uZSgyODgzMSksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoMjAzNTQpLG8uZSgxMzQ5Miksby5lKDM3NzQ2KSxvLmUoMTIzODUpLG8uZSg4MTA3Miksby5lKDk0MjMyKSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDg1NzkpLG8uZSgxNzA4Nyksby5lKDU3MzAwKSxvLmUoMTIwNTEpLG8uZSg4OTU1OCksby5lKDEwMzY2KSxvLmUoNDA5MTQpLG8uZSg5MDk2MCksby5lKDg3NzQwKSxvLmUoNzg4OTkpLG8uZSg2NzIxMiksby5lKDgwOTE1KSxvLmUoMTUzNCksby5lKDI4MTc2KSxvLmUoMzk2MDkpLG8uZSg1NTIyOSksby5lKDY1MTAwKSxvLmUoNDI3MDYpXSkudGhlbihvLmJpbmQobyw1MDYyNzUpKTtyZXR1cm4gaS5zaG93U2ltcGxlRGlhbG9nKGUsaS5jb25maXJtTW9kdWxlLHQpfWFzeW5jIGZ1bmN0aW9uIHIoZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoMjg4MzEpLG8uZSg4NDMwNiksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMzg1KSxvLmUoODEwNzIpLG8uZSg5NDIzMiksby5lKDE5NTk1KSxvLmUoMTk3ODcpLG8uZSg4NTc5KSxvLmUoMTcwODcpLG8uZSg1NzMwMCksby5lKDEyMDUxKSxvLmUoODk1NTgpLG8uZSgxMDM2Niksby5lKDQwOTE0KSxvLmUoOTA5NjApLG8uZSg4Nzc0MCksby5lKDc4ODk5KSxvLmUoNjcyMTIpLG8uZSg4MDkxNSksby5lKDE1MzQpLG8uZSgyODE3Niksby5lKDM5NjA5KSxvLmUoNTUyMjkpLG8uZSg2NTEwMCksby5lKDQyNzA2KV0pLnRoZW4oby5iaW5kKG8sNTA2Mjc1KSk7cmV0dXJuIGkuc2hvd1NpbXBsZURpYWxvZyhlLGkud2FybmluZ01vZHVsZSx0KX1vLmQodCx7c2hvd0NvbmZpcm06KCk9Pm4sc2hvd1JlbmFtZTooKT0+aSxzaG93V2FybmluZzooKT0+cn0pfSw2NTQ2MzYoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7cnVuT3JTaWduSW46KCk9PnJ9KTt2YXIgaT1vKDkzMDIzMSk7byg2MjE5MjYpO2NvbnN0IG49KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0Iik7ZnVuY3Rpb24gcihlLHQpe24/ZSgpOndpbmRvdy5ydW5PclNpZ25JbihlLHQpfX0sODMyMzkyKGUsdCxvKXsidXNlIHN0cmljdCI7byg3OTUzODMpLG8oNDgyNTA0KTt2YXIgaT1vKDM0NDc4NSksbj1vKDkzMDU2Nikscj0obyg4MjkxODApLG8oODA0NjE5KSxvKDEzODYzOCkpLHM9byg3NDgwMDIpLGE9byg2NTM4MTcpLGw9byg3NDI1NzcpLGM9byg1Mjg4NjQpO3ZhciBkLGgsdT1vKDYwMTU4NyksXz1vKDE4NTI3MSk7IWZ1bmN0aW9uKGUpe2UuQm9uZHM9ImJvbmRzIixlLkNmZD0iY2ZkIixlLkNvbnRpbnVvdXNGdXR1cmVzPSJjb250aW51b3VzX2Z1dHVyZXMiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ3J5cHRvQnlTeW1ib2w9ImNyeXB0b19ieV9zeW1ib2wiLGUuQ3J5cHRvTWt0PSJjcnlwdG9fbWt0IixlLkNyeXB0b01rdEJ5U3ltYm9sPSJjcnlwdG9fbWt0X2J5X3N5bWJvbCIsZS5DdXJyZW5jeT0iY3VycmVuY3kiLGUuRm9yZXg9ImZvcmV4IixlLkZ1dHVyZXM9ImZ1dHVyZXMiLGUuSW5kdXN0cnk9ImluZHVzdHJ5IixlLlBvc3RNYXJrZXQ9InBvc3RfbWFya2V0IixlLlByZU1hcmtldD0icHJlX21hcmtldCIsZS5TZWN0b3I9InNlY3RvciIsZS5TdG9jaz0ic3RvY2siLGUuU3RvY2tDb21wYWN0PSJzdG9ja19jb21wYWN0In0oZHx8KGQ9e30pKSxmdW5jdGlvbihlKXtlLkJhc2VDdXJyZW5jeUxvZ29JZD0iYmFzZV9jdXJyZW5jeV9sb2dvaWQiLGUuQ2hhbmdlPSJjaGFuZ2UiLGUuQ291bnRyeT0iY291bnRyeSIsZS5DdXJyZW5jeUxvZ29JZD0iY3VycmVuY3lfbG9nb2lkIixlLkRlc2NyaXB0aW9uPSJkZXNjcmlwdGlvbiIsZS5JbmR1c3RyeT0iaW5kdXN0cnkiLGUuTG9nb0lkPSJsb2dvaWQiLGUuTmFtZT0ibmFtZSIsZS5QZXJmb3JtYW5jZTFNPSJQZXJmLjFNIixlLlBlcmZvcm1hbmNlM009IlBlcmYuM00iLGUuUGVyZm9ybWFuY2U2TT0iUGVyZi42TSIsCmUuUGVyZm9ybWFuY2VXPSJQZXJmLlciLGUuUGVyZm9ybWFuY2VZPSJQZXJmLlkiLGUuUGVyZm9ybWFuY2VZVEQ9IlBlcmYuWVREIixlLlNlY3Rvcj0ic2VjdG9yIn0oaHx8KGg9e30pKTtjb25zdCBwPVt7aWQ6Im92ZXJ2aWV3Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1NjgzNDYpKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazp7c3RvY2s6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsaC5TZWN0b3IsImRlc2NyaXB0aW9uIiwidHlwZSJdLF9zZWN0b3I6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiUmVjb21tZW5kLkFsbCIsInZvbHVtZSIsIlZhbHVlLlRyYWRlZCIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtIiwibnVtYmVyX29mX2VtcGxveWVlcyIsImluZHVzdHJ5IiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiYmlkIiwiYXNrIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93Iiwidm9sdW1lIiwiMjRoX3ZvbHw1IiwiMjRoX3ZvbF9jaGFuZ2V8NSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwiY2xvc2UiLCJ0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmciLCJ0b3RhbF9zaGFyZXNfZGlsdXRlZCIsInRvdGFsX3ZhbHVlX3RyYWRlZCIsImNoYW5nZSJdLGNyeXB0b19ta3RfYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsInZvbHVtZSIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJleHBpcmF0aW9uIiwiY2xvc2UiLCJjaGFuZ2UiLCJjaGFuZ2VfYWJzIiwiaGlnaCIsImxvdyIsIlJlY29tbWVuZC5BbGwiLCJkZXNjcmlwdGlvbiJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyJdLGluZHVzdHJ5OlsiZGVzY3JpcHRpb24iLCJtYXJrZXRfY2FwX2Jhc2ljIiwiZGl2aWRlbmRfeWllbGRfcmVjZW50IiwiY2hhbmdlIiwidm9sdW1lIixoLlNlY3RvciwiZWxlbWVudHMiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJjbG9zZSIsImNoYW5nZSIsImNoYW5nZV9hYnMiLCJoaWdoIiwibG93IiwiUmVjb21tZW5kLkFsbCIsImRlc2NyaXB0aW9uIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiY291cG9uIiwibWF0dXJpdHlfZGF0ZSIsImNsb3NlIiwiY2hhbmdlIiwiY2hhbmdlX2FicyIsImhpZ2giLCJsb3ciLCJSZWNvbW1lbmQuQWxsIiwiZGVzY3JpcHRpb24iXSxwcmVfbWFya2V0OltoLkxvZ29JZCxoLk5hbWUsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2VfYWJzIiwicHJlbWFya2V0X2NoYW5nZSIsInByZW1hcmtldF92b2x1bWUiLCJwcmVtYXJrZXRfZ2FwIiwiY2xvc2UiLCJjaGFuZ2UiLCJ2b2x1bWUiLCJtYXJrZXRfY2FwX2Jhc2ljIl0scG9zdF9tYXJrZXQ6W2guTG9nb0lkLGguTmFtZSwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlX2FicyIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJjbG9zZSIsImNoYW5nZSIsInZvbHVtZSIsIm1hcmtldF9jYXBfYmFzaWMiXX0sY29udGVudDpbXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5Gb3JleCxkLkZ1dHVyZXMsZC5Db250aW51b3VzRnV0dXJlcyxkLkNmZCxkLkNyeXB0byxkLkNyeXB0b01rdCxkLkNyeXB0b01rdEJ5U3ltYm9sLGQuQ3J5cHRvQnlTeW1ib2wsZC5TZWN0b3IsZC5JbmR1c3RyeSxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoicGVyZm9ybWFuY2UiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExMTM0MSkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6e3N0b2NrOltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImNoYW5nZS4xIiwiY2hhbmdlLjUiLCJjaGFuZ2UuMTUiLCJjaGFuZ2UuNjAiLCJjaGFuZ2UuMjQwIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsImJldGFfMV95ZWFyIiwiVm9sYXRpbGl0eS5EIl0sCmZ1dHVyZXM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNvbnRpbnVvdXNfZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiUGVyZi41WSIsIlBlcmYuQWxsIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlBlcmYuNVkiLCJQZXJmLkFsbCIsIlZvbGF0aWxpdHkuRCJdLGNyeXB0b19ta3Q6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguU2VjdG9yLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX21rdF9ieV9zeW1ib2w6W2guQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdLGNmZDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sc2VjdG9yOlsiZGVzY3JpcHRpb24iLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIl0saW5kdXN0cnk6WyJkZXNjcmlwdGlvbiIsImNoYW5nZSIsImNoYW5nZS4xVyIsImNoYW5nZS4xTSIsIlBlcmYuM00iLCJQZXJmLjZNIiwiUGVyZi5ZVEQiLCJQZXJmLlkiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjaGFuZ2UiLCJjaGFuZ2UuMVciLCJjaGFuZ2UuMU0iLCJQZXJmLjNNIiwiUGVyZi42TSIsIlBlcmYuWVREIiwiUGVyZi5ZIiwiVm9sYXRpbGl0eS5EIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiZGVzY3JpcHRpb24iLCJ0eXBlIiwiY2hhbmdlIiwiY2hhbmdlLjFXIiwiY2hhbmdlLjFNIiwiUGVyZi4zTSIsIlBlcmYuNk0iLCJQZXJmLllURCIsIlBlcmYuWSIsIlZvbGF0aWxpdHkuRCJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvQnlTeW1ib2wsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLlNlY3RvcixkLkluZHVzdHJ5LGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJleHRlbmRlZF9ob3VycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzIxNDQxKSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInByZW1hcmtldF9jbG9zZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfZ2FwIiwicHJlbWFya2V0X3ZvbHVtZSIsImNsb3NlIiwiY2hhbmdlIiwidm9sdW1lIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF92b2x1bWUiLCJSZWNvbW1lbmQuQWxsIiwibWFya2V0X2NhcF9iYXNpYyJdLHNjcmVlbmVyczpbZC5TdG9ja10sc2hvd09uV2lkZ2V0OiExfSx7aWQ6InZhbHVhdGlvbiIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzk2MjU2KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJwcmljZV9lYXJuaW5nc190dG0iLCJwcmljZV9yZXZlbnVlX3R0bSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJsYXN0X2FubnVhbF9lcHMiLCJlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG0iLCJlbnRlcnByaXNlX3ZhbHVlX2ZxIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6ImRpdmlkZW5kcyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjU5MjY3KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjbG9zZSIsImRpdmlkZW5kX3lpZWxkX3JlY2VudCIsImRpdmlkZW5kc19wYWlkIiwiZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX2Z5Il0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im1hcmdpbnMiLHRpdGxlOl8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lciJ9LG8oMjA1OSkpLApjb250ZW50OltoLkxvZ29JZCxoLk5hbWUsImRlc2NyaXB0aW9uIiwidHlwZSIsImdyb3NzX21hcmdpbiIsIm9wZXJhdGluZ19tYXJnaW4iLCJwcmVfdGF4X21hcmdpbiIsImFmdGVyX3RheF9tYXJnaW4iXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiaW5jb21lX3N0YXRlbWVudCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODQ3NTQ0KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJiYXNpY19lcHNfbmV0X2luY29tZSIsImVhcm5pbmdzX3Blcl9zaGFyZV9iYXNpY190dG0iLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF90dG0iLCJlYml0ZGEiLCJncm9zc19wcm9maXRfZnEiLCJncm9zc19wcm9maXQiLCJ0b3RhbF9yZXZlbnVlIiwibGFzdF9hbm51YWxfZXBzIiwibGFzdF9hbm51YWxfcmV2ZW51ZSIsIm5ldF9pbmNvbWUiXSxzY3JlZW5lcnM6W2QuU3RvY2ssZC5TdG9ja0NvbXBhY3QsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9LHtpZDoiYmFsYW5jZV9zaGVldCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQ0MTU1KSksY29udGVudDpbaC5Mb2dvSWQsaC5OYW1lLCJkZXNjcmlwdGlvbiIsInR5cGUiLCJjdXJyZW50X3JhdGlvIiwiZGVidF90b19lcXVpdHkiLCJuZXRfZGVidCIsInF1aWNrX3JhdGlvIiwidG90YWxfYXNzZXRzIiwidG90YWxfZGVidCIsInRvdGFsX2N1cnJlbnRfYXNzZXRzIl0sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuUHJlTWFya2V0LGQuUG9zdE1hcmtldF0sc2hvd09uV2lkZ2V0OiEwfSx7aWQ6Im9zY2lsbGF0b3JzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNTkxNTApKSxzY3JlZW5lclR5cGVDb250ZW50OntzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGZvcmV4OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxmdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvOltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0OltoLkJhc2VDdXJyZW5jeUxvZ29JZCxoLlNlY3RvciwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsImV4Y2hhbmdlIiwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjZmQ6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk90aGVyIiwiQURYIiwiQU8iLCJBVFIiLCJDQ0kyMCIsIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIiwiTW9tIiwiUlNJIiwiU3RvY2guSyIsIlN0b2NoLkQiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuT3RoZXIiLCJBRFgiLCJBTyIsIkFUUiIsIkNDSTIwIiwiTUFDRC5tYWNkIiwiTUFDRC5zaWduYWwiLCJNb20iLCJSU0kiLCJTdG9jaC5LIiwiU3RvY2guRCIsImRlc2NyaXB0aW9uIiwidHlwZSJdLGJvbmRzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5PdGhlciIsIkFEWCIsIkFPIiwiQVRSIiwiQ0NJMjAiLCJNQUNELm1hY2QiLCJNQUNELnNpZ25hbCIsIk1vbSIsIlJTSSIsIlN0b2NoLksiLCJTdG9jaC5EIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl19LGNvbnRlbnQ6W10sc2NyZWVuZXJzOltkLlN0b2NrLGQuU3RvY2tDb21wYWN0LGQuRm9yZXgsZC5GdXR1cmVzLGQuQ29udGludW91c0Z1dHVyZXMsZC5DZmQsZC5DcnlwdG8sZC5DcnlwdG9Na3QsZC5DcnlwdG9Na3RCeVN5bWJvbCxkLkNyeXB0b0J5U3ltYm9sLGQuQ3VycmVuY3ksZC5Cb25kcyxkLlByZU1hcmtldCxkLlBvc3RNYXJrZXRdLHNob3dPbldpZGdldDohMH0se2lkOiJtb3ZpbmdfYXZlcmFnZXMiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDExNTI3NCkpLHNjcmVlbmVyVHlwZUNvbnRlbnQ6ewpzdG9jazpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZm9yZXg6W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sZnV0dXJlczpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY29udGludW91c19mdXR1cmVzOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG86W2guQmFzZUN1cnJlbmN5TG9nb0lkLGguQ3VycmVuY3lMb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY3J5cHRvX21rdDpbaC5CYXNlQ3VycmVuY3lMb2dvSWQsaC5TZWN0b3IsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fbWt0X2J5X3N5bWJvbDpbaC5DdXJyZW5jeUxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjcnlwdG9fYnlfc3ltYm9sOltoLkN1cnJlbmN5TG9nb0lkLGguTmFtZSwiZXhjaGFuZ2UiLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sY2ZkOltoLkxvZ29JZCxoLk5hbWUsIlJlY29tbWVuZC5NQSIsImNsb3NlIiwiU01BMjAiLCJTTUE1MCIsIlNNQTIwMCIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLCJkZXNjcmlwdGlvbiIsInR5cGUiXSxjdXJyZW5jeTpbaC5Mb2dvSWQsaC5OYW1lLCJSZWNvbW1lbmQuTUEiLCJjbG9zZSIsIlNNQTIwIiwiU01BNTAiLCJTTUEyMDAiLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiZGVzY3JpcHRpb24iLCJ0eXBlIl0sYm9uZHM6W2guTG9nb0lkLGguTmFtZSwiUmVjb21tZW5kLk1BIiwiY2xvc2UiLCJTTUEyMCIsIlNNQTUwIiwiU01BMjAwIiwiQkIudXBwZXIiLCJCQi5sb3dlciIsImRlc2NyaXB0aW9uIiwidHlwZSJdfSxjb250ZW50OltdLHNjcmVlbmVyczpbZC5TdG9jayxkLlN0b2NrQ29tcGFjdCxkLkZvcmV4LGQuRnV0dXJlcyxkLkNvbnRpbnVvdXNGdXR1cmVzLGQuQ2ZkLGQuQ3J5cHRvLGQuQ3J5cHRvTWt0LGQuQ3J5cHRvTWt0QnlTeW1ib2wsZC5DcnlwdG9CeVN5bWJvbCxkLkN1cnJlbmN5LGQuQm9uZHMsZC5QcmVNYXJrZXQsZC5Qb3N0TWFya2V0XSxzaG93T25XaWRnZXQ6ITB9XSxtPVtoLkxvZ29JZCwibmFtZSIsIm1hcmtldF9jYXBfYmFzaWMiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9mcSIsImVwc19zdXJwcmlzZV9mcSIsImVwc19zdXJwcmlzZV9wZXJjZW50X2ZxIiwicmV2ZW51ZV9mb3JlY2FzdF9uZXh0X2ZxIiwicmV2ZW51ZV9mcSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2NhbGVuZGFyX2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSIsImRlc2NyaXB0aW9uIiwidHlwZSJdO2Z1bmN0aW9uIGcoZSl7Y29uc3QgdD17c2NyZWVuZXJUeXBlOmQuU3RvY2ssbWFya2V0czpbInN0b2NrIl0saXNDb21wYWN0OiExLHN1YnR5cGU6IiIsaXNPbldpZGdldDohMX07bGV0IG89cDtjb25zdCBpPU9iamVjdC5hc3NpZ24odCxlKSx7c2NyZWVuZXJUeXBlOm4saXNDb21wYWN0OnMsc3VidHlwZTphLGlzT25XaWRnZXQ6bH09aSx7bWFya2V0czpjfT1pO3JldHVybiBvPW8uZmlsdGVyKChlPT57aWYobj09PWQuU3RvY2spe2NvbnN0IHQ9cz9gJHtufV9jb21wYWN0YDpuO3JldHVybiBlLnNjcmVlbmVycy5pbmNsdWRlcyh0KX1yZXR1cm4gZS5zY3JlZW5lcnMuaW5jbHVkZXMobil9KSksbCYmKG89by5maWx0ZXIoKGU9PiEwPT09ZS5zaG93T25XaWRnZXQpKSksby5mb3JFYWNoKChlPT57aWYodm9pZCAwIT09ZS5zY3JlZW5lclR5cGVDb250ZW50KXtjb25zdCBvPWUuc2NyZWVuZXJUeXBlQ29udGVudFsoMCxyLmVuc3VyZURlZmluZWQpKG4pXXx8ZS5zY3JlZW5lclR5cGVDb250ZW50LnN0b2NrO2lmKHQ9byxBcnJheS5pc0FycmF5KHQpKWUuY29udGVudD0oMCxyLmVuc3VyZURlZmluZWQpKG8pO2Vsc2V7Y29uc3QgdD1PYmplY3Qua2V5cyhvKSxpPWMucmVkdWNlKCgoZSx0KT0+KGUucHVzaChgJHsoMCxyLmVuc3VyZURlZmluZWQpKHQpfV8keygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKGAkeygwLHIuZW5zdXJlRGVmaW5lZCkoYSl9YCksZS5wdXNoKCgwLHIuZW5zdXJlRGVmaW5lZCkodCkpLGUpKSxbXSksbj1mdW5jdGlvbihlLHQpe2Zvcihjb25zdCBvIG9mIGUpaWYodC5pbmNsdWRlcyhvKSlyZXR1cm4gbztyZXR1cm4ic3RvY2sifShbLi4ubmV3IFNldChpKV0sdCk7ZS5jb250ZW50PW9bbl19fXZhciB0O2wmJihlLmNvbnRlbnQ9ZS5jb250ZW50LmZpbHRlcigoZT0+ImRlc2NyaXB0aW9uIiE9PWUpKSl9KSksb312YXIgdixmLHksYj1vKDk3MzA0MSk7IWZ1bmN0aW9uKGUpe2UuQW1lcmljYT0iYW1lcmljYSIsZS5BcmdlbnRpbmE9ImFyZ2VudGluYSIsZS5BdXN0cmFsaWE9ImF1c3RyYWxpYSIsZS5BdXN0cmlhPSJhdXN0cmlhIixlLkJhaHJhaW49ImJhaHJhaW4iLGUuQmFuZ2xhZGVzaD0iYmFuZ2xhZGVzaCIsZS5CZWxnaXVtPSJiZWxnaXVtIixlLkJ1bGdhcmlhPSJidWxnYXJpYSIsCmUuQnJhemlsPSJicmF6aWwiLGUuQ2FuYWRhPSJjYW5hZGEiLGUuQ2hpbGU9ImNoaWxlIixlLkNoaW5hPSJjaGluYSIsZS5Db2xvbWJpYT0iY29sb21iaWEiLGUuQ3JvYXRpYT0iY3JvYXRpYSIsZS5DeXBydXM9ImN5cHJ1cyIsZS5DemVjaD0iY3plY2giLGUuRGVubWFyaz0iZGVubWFyayIsZS5FZ3lwdD0iZWd5cHQiLGUuRXN0b25pYT0iZXN0b25pYSIsZS5GaW5sYW5kPSJmaW5sYW5kIixlLkZyYW5jZT0iZnJhbmNlIixlLkdlcm1hbnk9Imdlcm1hbnkiLGUuR3JlZWNlPSJncmVlY2UiLGUuSG9uZ0tvbmc9Imhvbmdrb25nIixlLkh1bmdhcnk9Imh1bmdhcnkiLGUuSWNlbGFuZD0iaWNlbGFuZCIsZS5JbmRpYT0iaW5kaWEiLGUuSW5kb25lc2lhPSJpbmRvbmVzaWEiLGUuSXJlbGFuZD0iaXJlbGFuZCIsZS5Jc3JhZWw9ImlzcmFlbCIsZS5JdGFseT0iaXRhbHkiLGUuSmFwYW49ImphcGFuIixlLktlbnlhPSJrZW55YSIsZS5LdXdhaXQ9Imt1d2FpdCIsZS5MYXR2aWE9ImxhdHZpYSIsZS5MaXRodWFuaWE9ImxpdGh1YW5pYSIsZS5MdXhlbWJvdXJnPSJsdXhlbWJvdXJnIixlLk1hbGF5c2lhPSJtYWxheXNpYSIsZS5NZXhpY289Im1leGljbyIsZS5Nb3JvY2NvPSJtb3JvY2NvIixlLk5ldGhlcmxhbmRzPSJuZXRoZXJsYW5kcyIsZS5OZXdaZWFsYW5kPSJuZXd6ZWFsYW5kIixlLk5pZ2VyaWE9Im5pZ2VyaWEiLGUuTm9yd2F5PSJub3J3YXkiLGUuUGFraXN0YW49InBha2lzdGFuIixlLlBlcnU9InBlcnUiLGUuUGhpbGlwcGluZXM9InBoaWxpcHBpbmVzIixlLlBvbGFuZD0icG9sYW5kIixlLlBvcnR1Z2FsPSJwb3J0dWdhbCIsZS5RYXRhcj0icWF0YXIiLGUuUm9tYW5pYT0icm9tYW5pYSIsZS5SdXNzaWE9InJ1c3NpYSIsZS5TYXVkaUFyYWJpYT0ia3NhIixlLlNlcmJpYT0ic2VyYmlhIixlLlNpbmdhcG9yZT0ic2luZ2Fwb3JlIixlLlNsb3Zha2lhPSJzbG92YWtpYSIsZS5TbG92ZW5pYT0ic2xvdmVuaWEiLGUuU291dGhBZnJpY2E9InJzYSIsZS5Tb3V0aEtvcmVhPSJrb3JlYSIsZS5TcGFpbj0ic3BhaW4iLGUuU3JpTGFua2E9InNyaWxhbmthIixlLlN3ZWRlbj0ic3dlZGVuIixlLlN3aXR6ZXJsYW5kPSJzd2l0emVybGFuZCIsZS5UYWl3YW49InRhaXdhbiIsZS5UaGFpbGFuZD0idGhhaWxhbmQiLGUuVHVuaXNpYT0idHVuaXNpYSIsZS5UdXJrZXk9InR1cmtleSIsZS5VQUU9InVhZSIsZS5VSz0idWsiLGUuVmVuZXp1ZWxhPSJ2ZW5lenVlbGEiLGUuVmlldG5hbT0idmlldG5hbSJ9KHZ8fCh2PXt9KSksZnVuY3Rpb24oZSl7ZS5Gb3JleD0iZm9yZXgiLGUuQ3J5cHRvPSJjcnlwdG8iLGUuQ29pbj0iY29pbiIsZS5DRkQ9ImNmZCIsZS5Cb25kcz0iYm9uZHMiLGUuQm9uZD0iYm9uZCIsZS5GdXR1cmVzPSJmdXR1cmVzIixlLk9wdGlvbnM9Im9wdGlvbnMifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2UuR2xvYmFsPSJnbG9iYWwifSh5fHwoeT17fSkpO3YuQmVsZ2l1bSx2LkN5cHJ1cyx2LkRlbm1hcmssdi5Fc3RvbmlhLHYuRmlubGFuZCx2LkZyYW5jZSx2Lkdlcm1hbnksdi5HcmVlY2Usdi5IdW5nYXJ5LHYuSWNlbGFuZCx2Lkl0YWx5LHYuTGF0dmlhLHYuTGl0aHVhbmlhLHYuTHV4ZW1ib3VyZyx2Lk5ldGhlcmxhbmRzLHYuTm9yd2F5LHYuUG9sYW5kLHYuUG9ydHVnYWwsdi5Sb21hbmlhLHYuUnVzc2lhLHYuU2VyYmlhLHYuU2xvdmFraWEsdi5TcGFpbix2LlN3ZWRlbix2LlN3aXR6ZXJsYW5kLHYuVHVya2V5LHYuVUssdi5CZWxnaXVtLHYuQ3lwcnVzLHYuRGVubWFyayx2LkVzdG9uaWEsdi5GaW5sYW5kLHYuRnJhbmNlLHYuR2VybWFueSx2LkdyZWVjZSx2Lkh1bmdhcnksdi5JdGFseSx2LkxhdHZpYSx2LkxpdGh1YW5pYSx2Lkx1eGVtYm91cmcsdi5OZXRoZXJsYW5kcyx2LlBvbGFuZCx2LlBvcnR1Z2FsLHYuUm9tYW5pYSx2LlNsb3Zha2lhLHYuU3BhaW4sdi5Td2VkZW47dmFyIFM9byg5NjAyMjkpO2xldCB3PW51bGw7Y29uc3QgQz12LkFtZXJpY2E7ZnVuY3Rpb24gayhlKXtjb25zdCB0PWV8fHdpbmRvdy5sb2NhbGU7cmV0dXJuIHQmJih3fHwodz1PYmplY3QuZW50cmllcygoMCxTLmdldFNjcmVlbmVyQ291bnRyaWVzTWFwKSgpKS5yZWR1Y2UoKChlLFt0LG9dKT0+by5zY3JlZW5lck5hbWU/KGVbby50dkxvY2FsZXx8dF09by5zY3JlZW5lck5hbWUsZSk6ZSkse30pLHcpKVt0XXx8Q31jb25zdCBUPW8oMjU1NTE2KSxFPW8oMzg5OTk0KSx4PXt9LEE9bmV3IE1hcChbWyJ1YWUiLCgpPT5vLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKV1dKTtmb3IoY29uc3QgZSBvZiBFKXtjb25zdCB0PVRbZV07aWYodCYmdC5zY3JlZW5lck5hbWUpe2NvbnN0IG89QS5oYXModC5zY3JlZW5lck5hbWUpP0EuZ2V0KHQuc2NyZWVuZXJOYW1lKTooKT0+KDAsYi50cmllc1RyYW5zbGF0ZUNvdW50cmllTmFtZSkodC50aXRsZSk7eFt0LnNjcmVlbmVyTmFtZV09e2ZsYWc6ZSxnZXQgdGl0bGUoKXtyZXR1cm4gbygpfSxzdG9ja3M6dC5leGNoYW5nZXNTdG9ja3N8fFtdLHRpbWV6b25lOnQuc2NyZWVuZXJUaW1lem9uZSxncm91cDp0Lmdyb3VwLGNvdW50cnk6ZX19fWNvbnN0IE09byg4MTkyOTApLEk9e2ZvcmV4OntpY29uOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItbWFya2V0LXNlbGVjdF9faXRlbS1mb3JleCI+JHtvKDU2NzI0NSl9PC9zcGFuPmAsZ2V0IHRpdGxlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1NTA5MykpfSxzdG9ja3M6W119fSxSPXtjcnlwdG86e2ljb246YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19pdGVtLWJpdGNvaW4iPiR7TX08L3NwYW4+YCxnZXQgdGl0bGUoKXtyZXR1cm4gby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg0MDA0KSl9LHN0b2NrczpbXX19O2Z1bmN0aW9uIEYoZSl7cmV0dXJuInN0b2NrIj09PWU/eDoiZm9yZXgiPT09ZT9JOiJjcnlwdG8iPT09ZT9SOnh9Y29uc3QgTD17YW1lcmljYTp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMl0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSwKYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV82MGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwLDc1LDEwMF0scHJlbWFya2V0X3ZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scG9zdG1hcmtldF92b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTddLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwXSxjbG9zZTpbMTAsMjAsNTAsMTAwXSxoaWdoOlsxMCwyMCw1MCwxMDBdLGxvdzpbMTAsMjAsNTAsMTAwXSxnYXA6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLHByaWNlX2Vhcm5pbmdzX3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxwcmljZV9lYXJuaW5nc190b19ncm93dGhfdHRtOlswLDEsMiwzXSxwcmljZV9zYWxlc19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSxyZXR1cm5fb25fYXNzZXRzOlstNTAsLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMCw1MF0scmV0dXJuX29uX2VxdWl0eTpbLTUwLC0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzAsNTBdLGRlYnRfdG9fZXF1aXR5OlsuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxjdXJyZW50X3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTBdLHByaWNlX2Jvb2tfZnE6WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2Jvb2tfcmF0aW86WzAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLHByaWNlX2ZyZWVfY2FzaF9mbG93X3R0bTpbMCw1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwLDYwLDcwLDgwLDkwLDEwMF0sYmV0YV8xX3llYXI6Wy0yLC0xLjUsLTEsLS41LDAsLjUsMSwxLjUsMl0sb3BlcmF0aW5nX21hcmdpbjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTBdLGNoYW5nZV9mcm9tX29wZW46Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sZ29vZHdpbGw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbmV0X2RlYnQ6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfZGVidDpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN10scmV0dXJuX29uX2ludmVzdGVkX2NhcGl0YWw6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGFmdGVyX3RheF9tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLHByZV90YXhfbWFyZ2luOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxncm9zc19tYXJnaW46Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGRpdmlkZW5kc19wYWlkOlstMmUxMSwtMWUxMCwtMmU5LC0zZTgsLTVlNywwXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6WzAsNSwxMCwxNSwyMCwyNSw1MCwxMDBdLGJhc2ljX2Vwc19uZXRfaW5jb21lOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGdyb3NzX3Byb2ZpdDpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxncm9zc19wcm9maXRfZnE6Wy0yZTExLC0xZTEwLC0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMV0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGZsb2F0X3NoYXJlc19vdXRzdGFuZGluZzpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6WzVlNywzZTgsMmU5LDFlMTAsMmUxMV0sdG90YWxfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExLDVlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2Z5Ols1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX2xpYWJpbGl0aWVzX2ZxOls1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sCmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbLTVlMywtMWUzLDAsMWUzLDVlM10sZW50ZXJwcmlzZV92YWx1ZV9mcTpbLTJlMTEsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxlcHNfc3VycHJpc2VfZnE6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGVwc19zdXJwcmlzZV9wZXJjZW50X2ZxOlstMzAsLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwLDMwXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTMsNWUzLDFlNF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSwxZTZdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sbGFzdF9hbm51YWxfcmV2ZW51ZTpbNWU3LDNlOCwyZTksMWUxMCwyZTExXSxDQ0kyMDpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMF0sQ2hhaWtpbk1vbmV5RmxvdzpbLTEsLS45LC0uOCwtLjcsLS42LC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwuMSwuMiwuMywuNCwuNSwuNiwuNywuOCwuOSwxXSxNb25leUZsb3c6WzAsNSwxMCwxNSwyNSw1MCwxMDBdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3LDFlOCw1ZTgsNzVlN119LHVrOnthdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZThdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGN1cnJlbnRfcmF0aW86WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw3NSwxMDBdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU2LDFlNyw1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMV0sZGl2aWRlbmRzX3BhaWQ6Wy0yZTExLC0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXX0saW5kaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlMywxZTQsMmU0XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzLDFlNCwyZTRdLHF1aWNrX3JhdGlvOlswLDUsMTAsMTUsMjAsMjUsMzAsMzUsNDAsNDUsNTAsMTAwLDUwMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xMCwwLDEwLDIwLDUwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsM2U4LDVlOF0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTEwLC0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sZ3Jvc3NfcHJvZml0OlstMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTUsMmU1XX0sc3BhaW46e21hcmtldF9jYXBfYmFzaWM6WzFlNywzZTcsNWU3LDFlOCwzZTgsNWU4LDFlOSwxZTEwLDVlMTBdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTBdLGNoYW5nZTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDE1ZTldLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjBdLE1vbTpbLTE1LC0xMCwtNSwwLDUsMTAsMTVdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLHJldmVudWVfcGVyX2VtcGxveWVlOlsxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC0xZTgsLTVlNywwXSxncm9zc19wcm9maXQ6Wy0yZTksLTNlOCwtNWU3LDVlNywzZTgsMmU5LDFlMTAsMmUxMF0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdfSxydXNzaWE6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlNyw1ZTgsMWU5XSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTE1LC0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLGNsb3NlOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10saGlnaDpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDJlMyw1ZTNdLApsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxnYXA6Wy0xMCwtNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNSwxMF0scXVpY2tfcmF0aW86WzAsMSwyLDMsNCw1LDEwLDE1LDIwXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06WzAsNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MF0sY2hhbmdlX2Zyb21fb3BlbjpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwLDUwXSxnb29kd2lsbDpbMWU3LDVlNywzZTgsMmU5LDFlMTAsMWUxMV0scmV2ZW51ZV9wZXJfZW1wbG95ZWU6WzFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDNlN10sZGl2aWRlbmRzX3BhaWQ6Wy0xNWUxMCwtNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTFlOCwtNWU3LDBdLGdyb3NzX3Byb2ZpdDpbLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMF0sbnVtYmVyX29mX2VtcGxveWVlczpbMTAwLDUwMCwxZTMsMWU0LDFlNSw1ZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwLDUwLDEwMCw1MDAsMWUzXX0sYXVzdHJhbGlhOnttYXJrZXRfY2FwX2Jhc2ljOls1ZTcsM2U4LDJlOSwxZTEwLDVlMTAsMWUxMSwxNWUxMF0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTpbLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwXSxlYml0ZGE6WzVlNSwxZTYsNWU2LDFlNyw1ZTcsMWU4LDVlOCwxZTksMmU5LDVlOSwxZTEwLDJlMTBdLGRpdmlkZW5kc19wYWlkOlstNWU5LC0yZTksLTNlOCwtNWU3LDBdfSxicmF6aWw6e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyXSx2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNSwyMCw1MF0sb3BlbjpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTNdLGxvdzpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2VfZnJvbV9vcGVuOlstMjAsLTEwLDAsMTAsMjBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjBdLGdvb2R3aWxsOls1ZTcsM2U4LDJlOSwxZTEwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy0xZTEwLC0yZTksLTNlOCwtMWU4LC01ZTcsMF0sbmV0X2luY29tZTpbLTJlMTAsLTFlMTAsLTJlOSwtM2U4LC01ZTcsNWU3LDNlOCwyZTksMWUxMCwyZTEwXSxncm9zc19wcm9maXQ6Wy0xZTgsLTVlNyw1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19mdW5kYW1lbnRhbDpbNWU3LDNlOCwyZTksNWU5LDFlMTBdLHRvdGFsX2N1cnJlbnRfYXNzZXRzOls1ZTcsM2U4LDJlOSwxZTEwLDFlMTFdLHRvdGFsX3JldmVudWU6WzAsNWU3LDNlOCwyZTksMWUxMCwyZTExXSxwcmljZV9yZXZlbnVlX3R0bTpbMCw1LDEwLDUwLDEwMCwxZTNdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCwxZTVdLGxhc3RfYW5udWFsX2VwczpbLTEwMCwtNTAsLTIwLC0xMCwwLDEwLDIwXX0samFwYW46e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTIsNWUxMl0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCw1LDEwLDE1LDIwLDUwXSxjaGFuZ2U6Wy0zMCwtMjAsLTEwLDAsMTAsMjAsMzBdLG9wZW46WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxjbG9zZTpbMTAsMjAsNTAsMTAwLDIwMCw1MDAsMWUzLDFlNCwxZTVdLGhpZ2g6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxsb3c6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywxZTQsMWU1XSxnYXA6Wy0yMCwtMTAsMCwxMCwyMF0sZWJpdGRhOls1ZTUsMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDJlOSw1ZTksMWUxMCwyNWU5LDVlMTAsMWUxMSwyZTExLDVlMTFdLGNoYW5nZV9mcm9tX29wZW46Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCw1LDEwLDE1LDIwLDMwXSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsNWU3XX0sbmV3emVhbGFuZDp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTddLGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN10scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLDEsMiwzLDQsNSwxMCwxNV0sb3BlbjpbNSwxMCwyMCw1MF0sY2xvc2U6WzUsMTAsMjAsNTBdLGhpZ2g6WzUsMTAsMjAsNTBdLGxvdzpbNSwxMCwyMCw1MF0sY3VycmVudF9yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxxdWlja19yYXRpbzpbMCw1LDEwLDE1LDIwLDI1XSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOlstMTAsLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDUsMTBdLGViaXRkYTpbNWU1LDFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSwyZTksNWU5LDFlMTAsMmUxMF0sY2hhbmdlX2Zyb21fb3BlbjpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSwKIlZvbGF0aWxpdHkuVyI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5NIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5LkQiOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDJdLE1vbTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGdvb2R3aWxsOlsyNWU2LDVlNywxZTgsMjVlNyw1ZTgsMmU5XSxyZXZlbnVlX3Blcl9lbXBsb3llZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sZGl2aWRlbmRzX3BhaWQ6Wy01ZTksLTJlOSwtM2U4LC01ZTcsMF0sYmFzaWNfZXBzX25ldF9pbmNvbWU6Wy01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1XSxuZXRfaW5jb21lOlstNWUxMCwtMWUxMCwtMmU5LC0zZTgsLTVlNyw1ZTcsM2U4LDJlOSw1ZTldLGdyb3NzX3Byb2ZpdDpbMCwyNWU2LDVlNywyNWU3LDVlOCwyZTksMWUxMF0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOls1ZTcsM2U4LDJlOSwxZTEwXSx0b3RhbF9jdXJyZW50X2Fzc2V0czpbNWU3LDNlOCwyZTksMWUxMF0sdG90YWxfcmV2ZW51ZTpbMCw1ZTcsM2U4LDJlOSwxZTEwLDI1ZTldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3R0bTpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLGVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZxOlstNSwtNCwtMywtMiwtMSwwLDEsMiwzLDQsNV0scHJpY2VfcmV2ZW51ZV90dG06WzAsNSwxMCw1MCwxMDBdLG51bWJlcl9vZl9lbXBsb3llZXM6WzEwMCw1MDAsMWUzLDFlNCw1ZTRdLGxhc3RfYW5udWFsX2VwczpbLTUsLTQsLTMsLTIsLTEsMCwxLDIsMyw0LDVdLCJWYWx1ZS5UcmFkZWQiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTddfSx0dXJrZXk6e21hcmtldF9jYXBfYmFzaWM6WzVlNiwxZTcsNWU3LDNlOCwyZTksMWUxMCwzZTEwLDVlMTBdLHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMCwxLDIsMyw0LDUsMTAsMTVdLGNoYW5nZTpbLTIwLC0xNSwtMTAsLTUsMCw1LDEwLDE1LDIwXSxnYXA6Wy0yMCwtMTAsLTUsMCw1LDEwLDIwXSwiVm9sYXRpbGl0eS5XIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdLCJWb2xhdGlsaXR5Lk0iOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuRCI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVmFsdWUuVHJhZGVkIjpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LHN3aXR6ZXJsYW5kOnt2b2x1bWU6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsMjVlNCw1ZTUsNzVlNCwxZTYsMmU2LDVlNl0sY2hhbmdlOlstMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjBdfSxob25na29uZzp7bWFya2V0X2NhcF9iYXNpYzpbNWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTEsMmUxMSwyNWUxMCw1ZTExLDc1ZTEwLDFlMTJdLHZvbHVtZTpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywxZTgsMjVlN10sYXZlcmFnZV92b2x1bWVfMTBkX2NhbGM6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDJlNyw1ZTcsMWU4LDI1ZTddfSx0YWl3YW46e2NoYW5nZTpbLTEwLC05LC04LC03LC02LC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTBdLCJWb2xhdGlsaXR5LlciOlswLDEsMiwzLDQsNSwxMCwxNSwyMCwzMF0sIlZvbGF0aWxpdHkuTSI6WzAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSwiVm9sYXRpbGl0eS5EIjpbMCwxLDIsMyw0LDUsMTAsMTUsMjAsMzBdfSxuZXRoZXJsYW5kczp7fSxiZWxnaXVtOnt9LHBvcnR1Z2FsOnt9LGZyYW5jZTp7fSxtZXhpY286e21hcmtldF9jYXBfYmFzaWM6WzFlNyw1ZTcsM2U4LDJlOSwxZTEwLDJlMTEsNWUxMSwxZTEyLDJlMTJdLGNoYW5nZTpbLTMwLC0yMCwtMTUsLTEwLC01LC00LC0zLC0yLC0xLDAsMSwyLDMsNCw1LDEwLDE1LDIwLDMwXSxvcGVuOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sY2xvc2U6WzEwLDIwLDUwLDEwMCwyMDAsNTAwLDFlMywyZTMsNWUzXSxoaWdoOlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM10sbG93OlsxMCwyMCw1MCwxMDAsMjAwLDUwMCwxZTMsMmUzLDVlM119LGNhbmFkYTp7dm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGNvbG9tYmlhOnt9LHVhZTp7fSxuaWdlcmlhOnt9LHNpbmdhcG9yZTp7fSxnZXJtYW55Ont2b2x1bWU6WzVlNCwxZTUsNWU1LDc1ZTQsMWU2LDJlNiw1ZTYsMWU3LDI1ZTZdfSxwYWtpc3Rhbjp7fSxwZXJ1Ont9LHBvbGFuZDp7dm9sdW1lOls1ZTQsMWU1LDJlNSw1ZTUsNzVlNCwxZTYsMmU2XX0saXRhbHk6e30sYXJnZW50aW5hOnt2b2x1bWU6WzVlNCwxZTUsMmU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlN119LGlzcmFlbDp7fSxpcmVsYW5kOnt9LGVneXB0Ont9LHNyaWxhbmthOnt9LHNlcmJpYTp7fSxjaGlsZTp7fSxjaGluYTp7fSxtYWxheXNpYTp7fSxtb3JvY2NvOnt9LGtzYTp7fSxiYWhyYWluOnt9LHFhdGFyOnt9LGluZG9uZXNpYTp7fSxmaW5sYW5kOnt9LGljZWxhbmQ6e30sZGVubWFyazp7fSxyb21hbmlhOnt9LGh1bmdhcnk6e30sc3dlZGVuOnt9LHNsb3Zha2lhOnt9LGxpdGh1YW5pYTp7fSxsdXhlbWJvdXJnOnt9LGVzdG9uaWE6e30sbGF0dmlhOnt9LHZpZXRuYW06e30scnNhOnt9LHRoYWlsYW5kOnt9LHR1bmlzaWE6e30sa29yZWE6e30sa2VueWE6e30sa3V3YWl0Ont9LG5vcndheTp7fSxwaGlsaXBwaW5lczp7fSxncmVlY2U6e30sdmVuZXp1ZWxhOnt9LGN5cHJ1czp7fSxiYW5nbGFkZXNoOnt9LGF1c3RyaWE6e30sY3plY2g6e319LEQ9e2ZvcmV4OntjaGFuZ2VfYWJzOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSxjaGFuZ2U6Wy01LC0xLC0uNSwtLjQsLS4zLC0uMiwtLjEsMCwtLjEsLjIsLjMsLjQsLjUsMSw1XSxiaWQ6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSwKYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy01LC0yLjUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDIuNSw1XSwiUGVyZi5XIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuMU0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4zTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjZNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLllURCI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJWb2xhdGlsaXR5LlciOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5Lk0iOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLCJWb2xhdGlsaXR5LkQiOlswLDUsMTAsMTUsMjAsMzAsNTAsNzBdLEFEWDpbMTAsMjAsMzAsNDAsNTAsNjAsNzAsODAsOTBdLEFUUjpbLjI1LC41LC43NSwxLDEuNSwyLDIuNSwzLDMuNSw0LDQuNSw1XSxNb206Wy0zMCwtMjAsLTE1LC0xMCwtNSwwLDUsMTAsMTUsMjAsMzBdLENDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19LE89e2NyeXB0bzp7bWFya2V0X2NhcF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLG1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOlsxZTQsMWU1LDVlNSwxZTYsMWU3LDNlOCwyZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzpbMWU2LDVlNiwxZTcsNWU3LDFlOCw1ZTgsMWU5LDVlOSwxZTEwLDVlMTAsMWUxMV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6WzFlNiw1ZTYsMWU3LDVlNywxZTgsNWU4LDFlOSw1ZTksMWUxMCw1ZTEwLDFlMTFdLHRvdGFsX3ZhbHVlX3RyYWRlZDpbMWU0LDFlNSw1ZTUsMWU2LDFlNywzZTgsMmU5LDFlMTAsNWUxMF0sdm9sdW1lOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlNywzZTgsNWU4LDJlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC41LDEsMS41LDIsMi41LDVdLGNoYW5nZV9hYnM6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLGNoYW5nZTpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sYmlkOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sYXNrOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10sb3BlbjpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNsb3NlOls1LDEwLDIwLDUwLDEwMCw1MDAsMWUzLDVlM10saGlnaDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGxvdzpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGNoYW5nZV9mcm9tX29wZW46Wy0xMCwtNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDUsMTBdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sQ0NJMjA6Wy0xMDAsLTUwLC0yMCwtMTAsMCwxMCwyMCw1MCwxMDBdLCIyNGhfdm9sfDUiOls1ZTQsMWU1LDVlNSw3NWU0LDFlNiwyZTYsNWU2LDFlNywyZTcsNWU3XX19LE49e2NmZDp7dm9sdW1lOlsxZTMsNWUzLDFlNCw1ZTQsMWU1XSxhdmVyYWdlX3ZvbHVtZV8xMGRfY2FsYzpbNWUzLDFlNCw1ZTQsMWU1LDFlNiwxZTcsMWU4LDFlOV0scmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOlswLC4xLC4yLC4zLC40LC41LC42LC43LC44LC45LDFdLGNoYW5nZV9hYnM6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLGNoYW5nZTpbLTUsLTEsLS41LC0uNCwtLjMsLS4yLC0uMSwwLC0uMSwuMiwuMywuNCwuNSwxLDVdLGJpZDpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGFzazpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLG9wZW46WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjbG9zZTpbNSwxMCwyMCw1MCwxMDAsNTAwLDFlMyw1ZTNdLGhpZ2g6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxsb3c6WzUsMTAsMjAsNTAsMTAwLDUwMCwxZTMsNWUzXSxjaGFuZ2VfZnJvbV9vcGVuOlstNSwtNCwtMywtMiwtMSwtLjUsMCwuNSwxLDIsMyw0LDVdLCJQZXJmLlciOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi4xTSI6Wy01MCwtMjAsLTEwLDAsMTAsMjAsNTBdLCJQZXJmLjNNIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuNk0iOlstNTAsLTIwLC0xMCwwLDEwLDIwLDUwXSwiUGVyZi5ZIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlBlcmYuWVREIjpbLTUwLC0yMCwtMTAsMCwxMCwyMCw1MF0sIlZvbGF0aWxpdHkuVyI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuTSI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sIlZvbGF0aWxpdHkuRCI6WzAsNSwxMCwxNSwyMCwzMCw1MCw3MF0sQURYOlsxMCwyMCwzMCw0MCw1MCw2MCw3MCw4MCw5MF0sQVRSOlsuMjUsLjUsLjc1LDEsMS41LDIsMi41LDMsMy41LDQsNC41LDVdLE1vbTpbLTMwLC0yMCwtMTUsLTEwLC01LDAsNSwxMCwxNSwyMCwzMF0sCkNDSTIwOlstMTAwLC01MCwtMjAsLTEwLDAsMTAsMjAsNTAsMTAwXX19O2Z1bmN0aW9uIFAoZSl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOmNhc2UiZnV0dXJlcyI6cmV0dXJuIEw7Y2FzZSJmb3JleCI6cmV0dXJuIEQ7Y2FzZSJjcnlwdG8iOmNhc2UiY3J5cHRvX21rdCI6cmV0dXJuIE87Y2FzZSJjZmQiOnJldHVybiBOfXJldHVybiBMfWNvbnN0IEI9e2FtZXJpY2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LGVhcm5pbmdzX3RoaXNfd2Vlazp7Z2V0IGVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlKCl7cmV0dXJuIG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzQ4MykpfX19LHVrOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGluZGlhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjJ9fX0sc3BhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjF9fX0scnVzc2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6bnVsbH0sdG9wX2xvc2Vyczp7Y2xvc2U6bnVsbH0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGF1c3RyYWxpYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9fSxicmF6aWw6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0samFwYW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV3emVhbGFuZDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSx0dXJrZXk6e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjJ9fX0sc3dpdHplcmxhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxob25na29uZzp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSx0YWl3YW46e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbmV0aGVybGFuZHM6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sYmVsZ2l1bTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxwb3J0dWdhbDp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxmcmFuY2U6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sbWV4aWNvOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGNhbmFkYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19fSxzaW5nYXBvcmU6e3RvcF9nYWluZXJzOntjbG9zZTpbMiwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMiwxZTRdfX0sZ2VybWFueTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsxLDFlNF19fSxwb2xhbmQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfSx1bnVzdWFsX3ZvbHVtZTp7cmVsYXRpdmVfdm9sdW1lXzEwZF9jYWxjOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6LjV9fX0saXNyYWVsOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGl0YWx5Ont0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX0sdW51c3VhbF92b2x1bWU6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOi41fX19LGFyZ2VudGluYTp7dG9wX2dhaW5lcnM6e2Nsb3NlOlsyLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsyLDFlNF19LHVudXN1YWxfdm9sdW1lOntyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTouMn19fSxmb3JleDp7dG9wX2dhaW5lcnM6e2Nsb3NlOm51bGx9LHRvcF9sb3NlcnM6e2Nsb3NlOm51bGx9LG1vc3RfY2FwaXRhbGl6ZWQ6bnVsbCxlYXJuaW5nc190aGlzX3dlZWs6bnVsbCx2b2x1bWVfbGVhZGVyczpudWxsLG1vc3Rfdm9sYXRpbGU6eyJWb2xhdGlsaXR5LkQiOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MX19LHVudXN1YWxfdm9sdW1lOm51bGwsaGlnaF9kaXZpZGVuZDpudWxsfSxjcnlwdG86e3RvcF9nYWluZXJzOntjbG9zZTpudWxsfSx0b3BfbG9zZXJzOntjbG9zZTpudWxsfSxtb3N0X2NhcGl0YWxpemVkOm51bGwsCmVhcm5pbmdzX3RoaXNfd2VlazpudWxsLHZvbHVtZV9sZWFkZXJzOm51bGwsbW9zdF92b2xhdGlsZTp7IlZvbGF0aWxpdHkuRCI6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZToxfX0sdW51c3VhbF92b2x1bWU6bnVsbCxoaWdoX2RpdmlkZW5kOm51bGx9LGNoaW5hOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzIsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzIsMWU0XX19LGNoaWxlOnt0b3BfZ2FpbmVyczp7Y2xvc2U6WzEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6WzEsMWU0XX19LGJhaHJhaW46e3RvcF9nYWluZXJzOntjbG9zZTpbLjAxLDFlNF19LHRvcF9sb3NlcnM6e2Nsb3NlOlsuMDEsMWU0XX19LG1hbGF5c2lhOnt0b3BfZ2FpbmVyczp7Y2xvc2U6Wy4wMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbLjAxLDFlNF19fSxzZXJiaWE6e3RvcF9nYWluZXJzOntjbG9zZTpbLjEsMWU0XX0sdG9wX2xvc2Vyczp7Y2xvc2U6Wy4xLDFlNF19fSxrc2E6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX0sZWd5cHQ6e3RvcF9nYWluZXJzOntjbG9zZTpbMSwxZTRdfSx0b3BfbG9zZXJzOntjbG9zZTpbMSwxZTRdfX19O2Z1bmN0aW9uICQoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZS5jb25jYXQoZnVuY3Rpb24oZSl7cmV0dXJuIHhbZV0mJnhbZV0uc3RvY2tzfHxbXX0odCkpKSxbXSl9Y29uc3QgVz1bInVrIiwibHV4ZW1ib3VyZyIsIm5vcndheSIsInNsb3Zha2lhIiwic3dlZGVuIiwicGhpbGlwcGluZXMiLCJrb3JlYSJdO2NvbnN0IHE9e2luZGlhOlsiTlNFIl19O2Z1bmN0aW9uIFYoKXtyZXR1cm4gcX12YXIgSD1vKDYwMTg0MSksVT1vKDcwMDgwOSksej1vKDM2Nzk0Niksaj1vKDc1NTYyNyksRz1vKDk4NDM3NiksWD1vKDEyNTIxOCksSz1vKDgyMjQzMSk7dmFyIFk9byg1NDY0ODUpO2NvbnN0IEo9bmV3IFJlZ0V4cCgvMCskLyk7Y2xhc3MgWiBleHRlbmRzIGouUHJpY2VGb3JtYXR0ZXJ7Y29uc3RydWN0b3IoZT17fSl7aWYodm9pZCAwIT09ZS5mcmFjdGlvbmFsKXRocm93IG5ldyBFcnJvcigiRnJhY3Rpb25hbCBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGlzIGZvcm1hdHRlciIpO3N1cGVyKGUpfWZvcm1hdChlLHQ9e30pe2NvbnN0e3NpZ25Qb3NpdGl2ZTpvLHRhaWxTaXplOmksaWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0Om59PXQscj1lLnRvU3RyaW5nKCkscz0oMCxZLmdldE51bWJlckZvcm1hdCkodGhpcy5faWdub3JlTG9jYWxlTnVtYmVyRm9ybWF0fHxuKTtpZigtMSE9PXIuaW5kZXhPZigiZS0iKSl7Y29uc3QgZT1yLnNwbGl0KCJlLSIpLHQ9TnVtYmVyKGVbMF0pLG89TnVtYmVyKGVbMV0pO3JldHVybiB0aGlzLl9mcmFjdGlvbmFsTGVuZ3RoJiZvPnRoaXMuX2ZyYWN0aW9uYWxMZW5ndGgrMT9gMCR7cy5kZWNpbWFsU2lnbn0wMGA6YCR7dDwwPyLiiJIiOiIifTAke3MuZGVjaW1hbFNpZ259JHsiMCIucmVwZWF0KG8tMSl9JHtNYXRoLmFicyhNYXRoLnJvdW5kKHQpKX1gfXtsZXQgdD1zdXBlci5mb3JtYXQoZSx7c2lnblBvc2l0aXZlOm8sdGFpbFNpemU6aSxpZ25vcmVMb2NhbGVOdW1iZXJGb3JtYXQ6bn0pO3QuaW5jbHVkZXMoImUiKXx8KHQ9dC5yZXBsYWNlKEosIiIpKTtjb25zdFtyLGFdPXQuc3BsaXQocy5kZWNpbWFsU2lnbik7cmV0dXJuIGEmJmEubGVuZ3RoPj0yP3Q6YCR7cn0ke3MuZGVjaW1hbFNpZ259JHsoKGF8fCIiKSsiMDAiKS5zdWJzdHJpbmcoMCwyKX1gfX19dmFyIFE9bygzMDY5MCksZWU9byg1MjgzOTYpO2NvbnN0IHRlPXtTVFJPTkdfQlVZOntrZXk6IlN0cm9uZyBCdXkiLGdldCB0aXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg0ODk4NjkpKX0sZ2V0IHNob3J0VGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDg5ODY5KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zdHJvbmctYnV5In0sQlVZOntrZXk6IkJ1eSIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDU2NTk2MikpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoiZmlyc3RfbGV0dGVyX29mX0J1eSJ9LG8oNDEzNTM3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1idXkifSxTVFJPTkdfU0VMTDp7a2V5OiJTdHJvbmcgU2VsbCIsZ2V0IHRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJzY3JlZW5lcl9yYXRpbmcifSxvKDY5MTU0MykpfSxnZXQgc2hvcnRUaXRsZSgpe3JldHVybiBfLnQobnVsbCx7Y29udGV4dDoic2NyZWVuZXJfcmF0aW5nIn0sbyg2OTE1NDMpKX0sY3NzQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwtLXN0cm9uZy1zZWxsIn0sU0VMTDp7a2V5OiJTZWxsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oMjU3NjQzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfU2VsbCJ9LG8oOTkxNjk3KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1zZWxsIn0sTkVVVFJBTDp7a2V5OiJOZXV0cmFsIixnZXQgdGl0bGUoKXtyZXR1cm4gXy50KG51bGwse2NvbnRleHQ6InNjcmVlbmVyX3JhdGluZyJ9LG8oNDU5NDYzKSl9LGdldCBzaG9ydFRpdGxlKCl7cmV0dXJuIF8udChudWxsLHtjb250ZXh0OiJmaXJzdF9sZXR0ZXJfb2ZfTmV1dHJhbCJ9LG8oMjE3Nzg4KSl9LGNzc0NsYXNzOiJ0di1zY3JlZW5lci10YWJsZV9fc2lnbmFsLS1uZXV0cmFsIn19LG9lPShlLHQ9ITEsbz0hMSk9Pntjb25zdCBpPXQ/IiI6IiBpLWhpZGRlbiIKO3JldHVybiBvP2A8c3BhbiB0aXRsZT0iJHtlLnRpdGxlfSIgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWwgYXBwbHktY29tbW9uLXRvb2x0aXAgJHtlLmNzc0NsYXNzfSR7aX0iPiR7ZS5zaG9ydFRpdGxlfTwvc3Bhbj5gOmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NpZ25hbCAke2UuY3NzQ2xhc3N9JHtpfSI+JHtlLnRpdGxlfTwvc3Bhbj5gfSxpZT17Y29tcHV0ZU1BU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJTSVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU8MzAmJnQ8ZSYmKG89dGUuQlVZKSxlPjcwJiZ0PmUmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVTdG9jaFNpZ25hbDooZSx0LG8saSk9PntsZXQgbj10ZS5ORVVUUkFMO3JldHVybiBlPDIwJiZ0PDIwJiZlPnQmJm88aSYmKG49dGUuQlVZKSxlPjgwJiZ0PjgwJiZlPHQmJm8+aSYmKG49dGUuU0VMTCksbn0sY29tcHV0ZUNDSTIwU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTwtMTAwJiZlPnQmJihvPXRlLkJVWSksZT4xMDAmJmU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUFEWFNpZ25hbDooZSx0LG8saSxuKT0+e2xldCByPXRlLk5FVVRSQUw7cmV0dXJuIGU+MjAmJmk8biYmdD5vJiYocj10ZS5CVVkpLGU+MjAmJmk+biYmdDxvJiYocj10ZS5TRUxMKSxyfSxjb21wdXRlQU9TaWduYWw6KGUsdCxvKT0+e2xldCBpPXRlLk5FVVRSQUw7cmV0dXJuKGU+MCYmdDwwfHxlPjAmJnQ+MCYmZT50JiZvPnQpJiYoaT10ZS5CVVkpLChlPDAmJnQ+MHx8ZTwwJiZ0PDAmJmU8dCYmbzx0KSYmKGk9dGUuU0VMTCksaX0sY29tcHV0ZU1vbVNpZ25hbDooZSx0KT0+e2xldCBvPXRlLk5FVVRSQUw7cmV0dXJuIGU+dCYmKG89dGUuQlVZKSxlPHQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVNQUNEU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZT50JiYobz10ZS5CVVkpLGU8dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZUJCQnV5U2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLG99LGNvbXB1dGVCQlNlbGxTaWduYWw6KGUsdCk9PntsZXQgbz10ZS5ORVVUUkFMO3JldHVybiBlPnQmJihvPXRlLlNFTEwpLG99LGNvbXB1dGVQU0FSU2lnbmFsOihlLHQpPT57bGV0IG89dGUuTkVVVFJBTDtyZXR1cm4gZTx0JiYobz10ZS5CVVkpLGU+dCYmKG89dGUuU0VMTCksb30sY29tcHV0ZVJlY29tbWVuZFNpZ25hbDplPT57bGV0IHQ7cmV0dXJuIGU+PS0xJiZlPC0uNSYmKHQ9dGUuU1RST05HX1NFTEwpLGU+PS0uNSYmZTwtLjEmJih0PXRlLlNFTEwpLGU+PS0uMSYmZTw9LjEmJih0PXRlLk5FVVRSQUwpLGU+LjEmJmU8PS41JiYodD10ZS5CVVkpLGU+LjUmJmU8PTEmJih0PXRlLlNUUk9OR19CVVkpLHR9LGNvbXB1dGVTaW1wbGVTaWduYWw6ZT0+e2xldCB0PXRlLk5FVVRSQUw7cmV0dXJuLTE9PT1lJiYodD10ZS5TRUxMKSwxPT09ZSYmKHQ9dGUuQlVZKSx0fX0sbmU9e3Byb2Nlc3NNQVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTUFTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzUlNJU2lnbmFsOihlLHQsbyxpKT0+e2lmKG51bGw9PT10KXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVJTSVNpZ25hbCh0LG8pO3JldHVybmAke2V9ICR7b2UobixpLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NTdG9jaFNpZ25hbDooZSx0LG8saSxuLHIpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IHM9aWUuY29tcHV0ZVN0b2NoU2lnbmFsKHQsbyxpLG4pO3JldHVybmAke2V9ICR7b2UocyxyLmRpc3BsYXlTaWduYWwsITApfWB9LHByb2Nlc3NDQ0kyMFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQ0NJMjBTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQURYU2lnbmFsOihlLHQsbyxpLG4scixzKT0+e2lmKG51bGw9PT10fHxudWxsPT09b3x8bnVsbD09PWkpcmV0dXJuIGU7Y29uc3QgYT1pZS5jb21wdXRlQURYU2lnbmFsKHQsbyxpLG4scik7cmV0dXJuYCR7ZX0gJHtvZShhLHMuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0FPU2lnbmFsOihlLHQsbyxpLG4pPT57aWYobnVsbD09PXR8fG51bGw9PT1vfHxudWxsPT09aSlyZXR1cm4gZTtjb25zdCByPWllLmNvbXB1dGVBT1NpZ25hbCh0LG8saSk7cmV0dXJuYCR7ZX0gJHtvZShyLG4uZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01vbVNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlTW9tU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc01BQ0RTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZU1BQ0RTaWduYWwodCxvKTtyZXR1cm5gJHtlfSAke29lKG4saS5kaXNwbGF5U2lnbmFsLCEwKX1gfSxwcm9jZXNzQkJCdXlTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZUJCQnV5U2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc0JCU2VsbFNpZ25hbDooZSx0LG8saSk9PntpZihudWxsPT09dHx8bnVsbD09PW8pcmV0dXJuIGU7Y29uc3Qgbj1pZS5jb21wdXRlQkJTZWxsU2lnbmFsKHQsbyk7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1BTQVJTaWduYWw6KGUsdCxvLGkpPT57aWYobnVsbD09PXR8fG51bGw9PT1vKXJldHVybiBlO2NvbnN0IG49aWUuY29tcHV0ZVBTQVJTaWduYWwodCxvKQo7cmV0dXJuYCR7ZX0gJHtvZShuLGkuZGlzcGxheVNpZ25hbCwhMCl9YH0scHJvY2Vzc1JlY29tbWVuZFNpZ25hbDplPT57aWYobnVsbD09PWV8fCEoMCxILmlzTnVtYmVyKShlKSlyZXR1cm4gZTtjb25zdCB0PWllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwoZSk7cmV0dXJuIHZvaWQgMD09PXQ/ZTpgJHtvZSh0LCEwKX1gfSxwcm9jZXNzU2ltcGxlU2lnbmFsOihlLHQsbyk9PntpZihudWxsPT09dHx8IiZtZGFzaDsiPT09ZSlyZXR1cm4gZTtjb25zdCBpPWllLmNvbXB1dGVTaW1wbGVTaWduYWwodCk7cmV0dXJuYCR7ZX0gJHtvZShpLG8uZGlzcGxheVNpZ25hbCwhMCl9YH19LHJlPWU9PntsZXQgdCxvO3JldHVybiBlPT09dGUuU1RST05HX1NFTEwudGl0bGUmJih0PVstMSwtLjVdLG89LS41KSxlPT09dGUuU0VMTC50aXRsZSYmKHQ9Wy0uNSwtLjFdLG89LS4xKSxlPT09dGUuTkVVVFJBTC50aXRsZSYmKHQ9Wy0uMSwuMV0pLGU9PT10ZS5CVVkudGl0bGUmJih0PVsuMSwuNV0sbz0uMSksZT09PXRlLlNUUk9OR19CVVkudGl0bGUmJih0PVsuNSwxXSxvPS41KSx7cmlnaHQ6dCxub3RFcXVhbDpvfX0sc2U9KGUsdCk9PntpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBvPWUubWFwKChlPT5yZShlKSkpLGk9W10sbj1bXTtmb3IoY29uc3QgZSBvZiBvKXtpZih2b2lkIDAhPT1lLm5vdEVxdWFsKXtvLmZpbHRlcigodD0+dC5ub3RFcXVhbCE9PWUubm90RXF1YWwmJih0LmVxdWFsPT09ZS5ub3RFcXVhbHx8dC5yaWdodCYmKHQucmlnaHRbMF09PT1lLm5vdEVxdWFsfHx0LnJpZ2h0WzFdPT09ZS5ub3RFcXVhbCkpKSkubGVuZ3RofHxpLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6ZS5ub3RFcXVhbH0pfWUucmlnaHQmJm4ucHVzaCh7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmUucmlnaHR9KSx2b2lkIDAhPT1lLmVxdWFsJiZuLnB1c2goe2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDplLmVxdWFsfSl9cmV0dXJue2ZpbHRlcjppLGZpbHRlcjJBbmRQYXJ0Om4sZmlsdGVyMkZsYWc6ITB9fWNvbnN0IG89cmUoZSk7aWYoMD09PW8uZXF1YWwpcmV0dXJue2xlZnQ6dCxvcGVyYXRpb246ImVxdWFsIixyaWdodDowfTtjb25zdCBpPVt7bGVmdDp0LG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0Om8ucmlnaHR9XTtyZXR1cm4gdm9pZCAwIT09by5ub3RFcXVhbCYmaS5wdXNoKHtsZWZ0OnQsb3BlcmF0aW9uOiJuZXF1YWwiLHJpZ2h0Om8ubm90RXF1YWx9KSxpfTt2YXIgYWU9byg0NDM1NTcpO2NvbnN0IGxlPVt7aWQ6IjFtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZToxfSx7aWQ6IjVtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDo1LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDU8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTo1fSx7aWQ6IjE1bSIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gbWludXRlcyIsY291bnQ6MTUscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxNSl9fSxvKDcwNDk1OCkpLHNob3J0VGl0bGU6YDE1PHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oNjE4NCkpfTwvc3VwPmAsdmFsdWU6MTV9LHtpZDoiMzBtIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtaW51dGVzIixjb3VudDozMCxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDMwKX19LG8oNzA0OTU4KSksc2hvcnRUaXRsZTpgMzA8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbyg2MTg0KSl9PC9zdXA+YCx2YWx1ZTozMH0se2lkOiIxaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZTo2MH0se2lkOiIyaCIsdGl0bGU6Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaG91cnMiLGNvdW50OjIscmVwbGFjZTp7bnVtYmVyOlN0cmluZygyKX19LG8oODI0MjE4KSksc2hvcnRUaXRsZTpgMjxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDI0MDczKSl9PC9zdXA+YCx2YWx1ZToxMjB9LHtpZDoiNGgiLHRpdGxlOl8udChudWxsLHtwbHVyYWw6IntudW1iZXJ9IGhvdXJzIixjb3VudDo0LHJlcGxhY2U6e251bWJlcjpTdHJpbmcoNCl9fSxvKDgyNDIxOCkpLHNob3J0VGl0bGU6YDQ8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygyNDA3MykpfTwvc3VwPmAsdmFsdWU6MjQwfSx7aWQ6IjFEIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBkYXlzIixjb3VudDoxLHJlcGxhY2U6e251bWJlcjpTdHJpbmcoMSl9fSxvKDI0NTI2MikpLHNob3J0VGl0bGU6YDE8c3VwIGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19pbnRlcnZhbC1zdXAiPiR7Xy50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0sbygxOTE0MzIpKX08L3N1cD5gLHZhbHVlOm51bGx9LHtpZDoiMVciLAp0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSB3ZWVrcyIsY291bnQ6MSxyZXBsYWNlOntudW1iZXI6U3RyaW5nKDEpfX0sbyg4MzI3MTcpKSxzaG9ydFRpdGxlOmAxPHN1cCBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9faW50ZXJ2YWwtc3VwIj4ke18udChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LG8oMzIzNTcwKSl9PC9zdXA+YCx2YWx1ZToiMVcifSx7aWQ6IjFNIix0aXRsZTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtb250aHMiLGNvdW50OjEscmVwbGFjZTp7bnVtYmVyOlN0cmluZygxKX19LG8oNzIwODkzKSksc2hvcnRUaXRsZTpgMTxzdXAgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXN1cCI+JHtfLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxvKDg4OTEwKSl9PC9zdXA+YCx2YWx1ZToiMU0ifV0sY2U9IjFEIjtmdW5jdGlvbiBkZShlKXtyZXR1cm4gbGUuZmluZCgodD0+dC5pZD09PWUpKX1mdW5jdGlvbiBoZShlLHQpe2lmKGU9ZnVuY3Rpb24oZSl7aWYoSXRbZV0mJkl0W2VdLmFsaWFzKXJldHVybiBJdFtlXS5hbGlhcztyZXR1cm4gZX0oZSksLyhjaGFuZ2V8Y2hhbmdlX2FicykuXGR7MSwzfS8udGVzdChlKXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWxGcm9tRmllbGROYW1lKXJldHVybiBlLnJlcGxhY2UoIi4iLCJ8Iik7aWYoIXR8fHQ9PT1jZXx8SXRbZV0mJkl0W2VdLnVzZURlZmF1bHRUaW1lSW50ZXJ2YWwpcmV0dXJuIGU7Y29uc3Qgbz1kZSh0KTtpZihvKXtjb25zdCB0PW8udmFsdWV8fCIiO2lmKEl0W2VdJiZJdFtlXS5jdXN0b21SZXNvbHV0aW9ucyl7Y29uc3Qgbz1JdFtlXS5jdXN0b21SZXNvbHV0aW9ucztpZih0JiYtMSE9PW8uaW5kZXhPZih0LnRvU3RyaW5nKCkpKXJldHVybmAke2V9fCR7dH1gfX1yZXR1cm4gZX12YXIgdWUsX2U9byg0OTExNjUpLHBlPW8oMTY4ODI0KTtmdW5jdGlvbiBtZShlKXtyZXR1cm4gZSYmKDAsSC5pc051bWJlcikoZSk/X2UuZGF0ZUZvcm1hdEZ1bmN0aW9uc1sieXl5eS1NTS1kZCJdKCgwLHBlLmdldERhdGVGcm9tWVlZWU1NREQpKGUpLCEwKToi4oCUIn0hZnVuY3Rpb24oZSl7ZS5TdG9jaz0ic3RvY2siLGUuQ29tbW9uPSJjb21tb24iLGUuRHI9ImRyIixlLlByZWZlcnJlZD0icHJlZmVycmVkIixlLkNsb3NlZGVuZD0iY2xvc2VkZW5kIixlLkV0Zj0iZXRmIixlLkV0bj0iZXRuIixlLk11dHVhbD0ibXV0dWFsIixlLlJlaXQ9InJlaXQiLGUuVHJ1c3Q9InRydXN0IixlLlVuaXQ9InVuaXQiLGUuRnVuZD0iZnVuZCIsZS5TdHJ1Y3R1cmVkPSJzdHJ1Y3R1cmVkIixlLlNwb3Q9InNwb3QiLGUuRnV0dXJlcz0iZnV0dXJlcyIsZS5QZXJwZXR1YWw9InBlcnBldHVhbCJ9KHVlfHwodWU9e30pKTtjb25zdCBnZT17Y29tbW9uOlsiY29tbW9uIiwiZm9yZWlnbi1pc3N1ZXIiXSxzdG9jazpbImNvbW1vbiJdLGRyOlsiIiwiZm9yZWlnbi1pc3N1ZXIiXSxwcmVmZXJyZWQ6WyJwcmVmZXJyZWQiXSxmdW5kOlsiZnVuZCJdLHN0cnVjdHVyZWQ6WyIiXSxzcG90Olsic3BvdCJdLGZ1dHVyZXM6WyJmdXR1cmVzIl19LHZlPXtjbG9zZWRlbmQ6WyJjbG9zZWRlbmQiXSxldGY6WyJldGYiLCJldGYsb2RkIiwiZXRmLG90YyIsImV0ZixjZmQiXSxldG46WyJldG4iXSxtdXR1YWw6WyJtdXR1YWwiXSxyZWl0OlsicmVpdCIsInJlaXQsY2ZkIiwidHJ1c3QscmVpdCJdLHRydXN0OlsidHJ1c3QiXSx1bml0OlsidW5pdCJdfSxmZT17cGVycGV0dWFsOlsicGVycGV0dWFsIl19O2Z1bmN0aW9uIHllKGUpe2xldCB0PVtdLG89W107aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgaSBvZiBlKXtjb25zdFtlLG5dPVNlKGkpO3Q9Wy4uLnQsLi4uZV0sbz1bLi4ubywuLi5uXX1lbHNlW3Qsb109U2UoZSk7cmV0dXJuIG89Wy4uLm5ldyBTZXQobyldLHQubGVuZ3RoJiZvLmxlbmd0aD9bd2UoInR5cGUiLHQpLHdlKCJzdWJ0eXBlIixvKV06dC5sZW5ndGg/W3dlKCJ0eXBlIix0KV06W3dlKCJzdWJ0eXBlIixvKV19ZnVuY3Rpb24gYmUoZSl7Y29uc3QgdD1bXSxvPVtdLmNvbmNhdChlKTtmb3IoY29uc3QgZSBvZiBvKUNlKGUpJiZ0LnB1c2goe2xlZnQ6InR5cGUiLG9wZXJhdGlvbjoiaW5fcmFuZ2UiLHJpZ2h0OmdlW2VdfSksa2UoZSkmJnQucHVzaCh7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246ImhhcyIscmlnaHQ6ZmVbZV19KTtyZXR1cm57ZmlsdGVyMkZsYWc6ITAsZmlsdGVyMkFuZFBhcnQ6dCxmaWx0ZXI6W119fWZ1bmN0aW9uIFNlKGUpe2xldCB0PVtdLG89W107cmV0dXJuImV0biI9PT1lP1tbInN0cnVjdHVyZWQiXSxbImV0biJdXTooIWZ1bmN0aW9uKGUpe3JldHVybiBlIGluIHZlfShlKT8hZnVuY3Rpb24oZSl7cmV0dXJuImNvbW1vbiI9PT1lfHwicHJlZmVycmVkIj09PWV8fCJzdG9jayI9PT1lfShlKT9DZShlKT8odD1bZV0sbz1nZVtlXSk6dD1bZV06KHQucHVzaCgic3RvY2siKSxvPWdlW2VdKToodC5wdXNoKCJmdW5kIiksbz12ZVtlXSksW3Qsb10pfWZ1bmN0aW9uIHdlKGUsdCl7Y29uc3Qgbz1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm5+ZS5pbmRleE9mKHQpfHxlLnB1c2godCksZX0pLFtdKX0odCksaT0xPT09by5sZW5ndGg7cmV0dXJue2xlZnQ6ZSxvcGVyYXRpb246aT8iZXF1YWwiOiJpbl9yYW5nZSIscmlnaHQ6aT9vWzBdOm99fWZ1bmN0aW9uIENlKGUpe3JldHVybiBlIGluIGdlfWZ1bmN0aW9uIGtlKGUpe3JldHVybiBlIGluIGZlfXZhciBUZT1vKDM4MDIwNyk7Y29uc3QgRWU9e25hbWU6W18udChudWxsLHZvaWQgMCxvKDgyODQyMCkpLF8udChudWxsLHZvaWQgMCxvKDgyODQyMCkpXSxkZXNjcmlwdGlvbjpbXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSksXy50KG51bGwsdm9pZCAwLG8oMzk3OTg3KSldLGNvdW50cnk6W18udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MzYyNykpXSx0eXBlOltfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKSxfLnQobnVsbCx2b2lkIDAsbygyODcyNDQpKV0sCmFmdGVyX3RheF9tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDE3NTE0MCkpLF8udChudWxsLHZvaWQgMCxvKDE3ODExNCkpXSxhdmVyYWdlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oMjk3OTMwKSksXy50KG51bGwsdm9pZCAwLG8oMjUyNzc4KSldLGF2ZXJhZ2Vfdm9sdW1lXzMwZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg1NjY0MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTU2MzIpKV0sYXZlcmFnZV92b2x1bWVfNjBkX2NhbGM6W18udChudWxsLHZvaWQgMCxvKDk3NzA2MikpLF8udChudWxsLHZvaWQgMCxvKDI2OTE4MSkpXSxhdmVyYWdlX3ZvbHVtZV85MGRfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oNTcyNTg0KSksXy50KG51bGwsdm9pZCAwLG8oNzk3NjA0KSldLGJhc2ljX2Vwc19uZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbyg3MTYxMSkpLF8udChudWxsLHZvaWQgMCxvKDMyNzE0OSkpXSxiZXRhXzFfeWVhcjpbXy50KG51bGwsdm9pZCAwLG8oMTg2NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMTgxMjI4KSldLGJldGFfM195ZWFyOltfLnQobnVsbCx2b2lkIDAsbyg4OTcwMDcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjcwNDApKV0sYmV0YV81X3llYXI6W18udChudWxsLHZvaWQgMCxvKDEyODc5MSkpLF8udChudWxsLHZvaWQgMCxvKDMwMzU3NSkpXSxjYW5kbGVzdGljazpbXy50KG51bGwse2NvbnRleHQ6ImNhbmRsZXN0aWNrX3BhdHRlcm4ifSxvKDc1NDkyNSkpLF8udChudWxsLHtjb250ZXh0OiJjYW5kbGVzdGlja19wYXR0ZXJuIn0sbyg3NTQ5MjUpKV0sY3VycmVudF9yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDYwMTM5KSksXy50KG51bGwsdm9pZCAwLG8oMjQzNTA3KSldLGRlYnRfdG9fYXNzZXRzOltfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDczNjIpKV0sZGVidF90b19lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDMwNjk2NikpLF8udChudWxsLHZvaWQgMCxvKDIzNzI0MSkpXSxkaXZpZGVuZHNfcGFpZDpbXy50KG51bGwsdm9pZCAwLG8oNTUwMjE2KSksXy50KG51bGwsdm9pZCAwLG8oMTg4MzYyKSldLGRpdmlkZW5kc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDI5MjIyMCkpLF8udChudWxsLHZvaWQgMCxvKDExMTgyOSkpXSxkaXZpZGVuZHNfeWllbGQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkaXZpZGVuZF95aWVsZF9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDk3NjYwNykpLF8udChudWxsLHZvaWQgMCxvKDQzODgxMCkpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6W18udChudWxsLHZvaWQgMCxvKDI3NDcyOSkpLF8udChudWxsLHZvaWQgMCxvKDExNTMwNCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfYmFzaWNfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMDM3OTEpKSxfLnQobnVsbCx2b2lkIDAsbygyNTU4NTcpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKSxfLnQobnVsbCx2b2lkIDAsbyg5ODY1MTYpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMjU5MCkpLF8udChudWxsLHZvaWQgMCxvKDIwNTU0OCkpXSxlYXJuaW5nc19wZXJfc2hhcmVfZnE6W18udChudWxsLHZvaWQgMCxvKDkzMTA5MykpLF8udChudWxsLHZvaWQgMCxvKDkzMTA5MykpXSxlYXJuaW5nc19yZWxlYXNlX2RhdGU6W18udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpLF8udChudWxsLHZvaWQgMCxvKDUwMjEyOSkpXSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpbXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSksXy50KG51bGwsdm9pZCAwLG8oNzcwNDI0KSldLGViaXRkYTpbXy50KG51bGwsdm9pZCAwLG8oNTQwOTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTk3KSldLGVudGVycHJpc2VfdmFsdWVfZWJpdGRhX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oMTExMTI1KSksXy50KG51bGwsdm9pZCAwLG8oNzc2NDY0KSldLGVudGVycHJpc2VfdmFsdWVfZnE6W18udChudWxsLHZvaWQgMCxvKDUzMTI4OCkpLF8udChudWxsLHZvaWQgMCxvKDI2MzIzMCkpXSxleGNoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSksXy50KG51bGwsdm9pZCAwLG8oODI2NjA3KSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSksXy50KG51bGwsdm9pZCAwLG8oNTMxMTczKSldLGZyZWVfY2FzaF9mbG93X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDkyNDU1MykpLF8udChudWxsLHZvaWQgMCxvKDkyNDU1MykpXSxncm9zc19tYXJnaW46W18udChudWxsLHZvaWQgMCxvKDY2MTg5MykpLF8udChudWxsLHZvaWQgMCxvKDM3ODM5OSkpXSxncm9zc19wcm9maXQ6W18udChudWxsLHZvaWQgMCxvKDg3MDI2MikpLF8udChudWxsLHZvaWQgMCxvKDg3MDI2MikpXSxncm9zc19wcm9maXRfZnE6W18udChudWxsLHZvaWQgMCxvKDQyNjY1MikpLF8udChudWxsLHZvaWQgMCxvKDQyNjY1MikpXSxpbmRleDpbXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSksXy50KG51bGwsdm9pZCAwLG8oMTIyOTAwKSldLGluZHVzdHJ5OltfLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLF8udChudWxsLHZvaWQgMCxvKDg3NzYxKSldLGxhc3RfYW5udWFsX2VwczpbXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSksXy50KG51bGwsdm9pZCAwLG8oMTEyMjc4KSldLGxhc3RfYW5udWFsX3JldmVudWU6W18udChudWxsLHZvaWQgMCxvKDI4NTMzMykpLF8udChudWxsLHZvaWQgMCxvKDgzMTc4MSkpXSxsb25nX3Rlcm1fY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSksXy50KG51bGwsdm9pZCAwLG8oNTQ4MzUyKSldLG1hcmtldF9jYXBfYmFzaWM6W18udChudWxsLHZvaWQgMCxvKDI3ODYxNCkpLF8udChudWxsLHZvaWQgMCxvKDI2NTYyKSldLG1hcmtldF9jYXBfY2FsYzpbXy50KG51bGwsdm9pZCAwLG8oMjc4NjE0KSksXy50KG51bGwsdm9pZCAwLG8oMjY1NjIpKV0sCm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjOltfLnQobnVsbCx2b2lkIDAsbyg2ODczMzIpKSxfLnQobnVsbCx2b2lkIDAsbygyMTQyNzkpKV0sbmV0X2RlYnQ6W18udChudWxsLHZvaWQgMCxvKDUyNjY5OCkpLF8udChudWxsLHZvaWQgMCxvKDg0NTQ5NikpXSxuZXRfaW5jb21lOltfLnQobnVsbCx2b2lkIDAsbygxMzE2MzMpKSxfLnQobnVsbCx2b2lkIDAsbygxODI0MzcpKV0sbnVtYmVyX29mX2VtcGxveWVlczpbXy50KG51bGwsdm9pZCAwLG8oMTY0MDQyKSksXy50KG51bGwsdm9pZCAwLG8oNjc3ODEzKSldLG51bWJlcl9vZl9zaGFyZWhvbGRlcnM6W18udChudWxsLHZvaWQgMCxvKDU3OTQwMykpLF8udChudWxsLHZvaWQgMCxvKDE2MTE1MikpXSxvcGVuX3ByaWNlOltfLnQobnVsbCx2b2lkIDAsbygzMjEwMjkpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxvcGVyYXRpbmdfbWFyZ2luOltfLnQobnVsbCx2b2lkIDAsbyg4MDA0MzMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzI5OSkpXSxwcmVfdGF4X21hcmdpbjpbXy50KG51bGwsdm9pZCAwLG8oODI2MTE1KSksXy50KG51bGwsdm9pZCAwLG8oNDIzMDUpKV0scHJlZmVycmVkX2RpdmlkZW5kczpbXy50KG51bGwsdm9pZCAwLG8oNDkzMjAwKSksXy50KG51bGwsdm9pZCAwLG8oOTIyNzE0KSldLHByZXZfY2xvc2VfcHJpY2U6W18udChudWxsLHZvaWQgMCxvKDM2NjI0OCkpLF8udChudWxsLHZvaWQgMCxvKDgzMjEyMykpXSxwcmljZV81Ml93ZWVrX2hpZ2g6W18udChudWxsLHZvaWQgMCxvKDE5MzI1OSkpLF8udChudWxsLHZvaWQgMCxvKDkwMDM3NSkpXSxwcmljZV81Ml93ZWVrX2xvdzpbXy50KG51bGwsdm9pZCAwLG8oNjY5MzA4KSksXy50KG51bGwsdm9pZCAwLG8oOTYyNjU0KSldLHByaWNlX2Jvb2tfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDE3MTM5MSkpLF8udChudWxsLHZvaWQgMCxvKDYyMjE1KSldLHByaWNlX2Vhcm5pbmdzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTE3NzE1KSksXy50KG51bGwsdm9pZCAwLG8oMjEzMjQ4KSldLHByaWNlX3BlcmNlbnRfY2hhbmdlXzFfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oOTg0MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjc0MjgpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNF93ZWVrOltfLnQobnVsbCx2b2lkIDAsbyg2MzYzNTEpKSxfLnQobnVsbCx2b2lkIDAsbygzOTA2NTIpKV0scHJpY2VfcGVyY2VudF9jaGFuZ2VfNTJfd2VlazpbXy50KG51bGwsdm9pZCAwLG8oODM0MTIxKSksXy50KG51bGwsdm9pZCAwLG8oMjM2Nzk4KSldLHByaWNlX3JldmVudWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygzMTMyNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2MzE0MTApKV0scHJpY2Vfc2FsZXNfcmF0aW86W18udChudWxsLHZvaWQgMCxvKDgxOTM3MSkpLF8udChudWxsLHZvaWQgMCxvKDI3OTAxMCkpXSxxdWlja19yYXRpbzpbXy50KG51bGwsdm9pZCAwLG8oNDAzMTMxKSksXy50KG51bGwsdm9pZCAwLG8oNTkyOTgxKSldLHJldHVybl9vZl9pbnZlc3RlZF9jYXBpdGFsX3BlcmNlbnRfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxNzg1MTMpKSxfLnQobnVsbCx2b2lkIDAsbygzODk1MjUpKV0scmV0dXJuX29uX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oMTg1MTAzKSksXy50KG51bGwsdm9pZCAwLG8oNTg5OTY0KSldLHJldHVybl9vbl9lcXVpdHk6W18udChudWxsLHZvaWQgMCxvKDExOTUyMykpLF8udChudWxsLHZvaWQgMCxvKDE3MDk1MikpXSxyZXR1cm5fb25faW52ZXN0ZWRfY2FwaXRhbDpbXy50KG51bGwsdm9pZCAwLG8oODA5NzI2KSksXy50KG51bGwsdm9pZCAwLG8oMzg5NTI1KSldLHJldmVudWVfcGVyX2VtcGxveWVlOltfLnQobnVsbCx2b2lkIDAsbyg5NDIwMjUpKSxfLnQobnVsbCx2b2lkIDAsbyg3OTM3NTApKV0sc2VjdG9yOltfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxfLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKV0sc3VibWFya2V0OltfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKSxfLnQobnVsbCx2b2lkIDAsbygzNzA2ODcpKV0saXNfcHJpbWFyeTpbXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSksXy50KG51bGwsdm9pZCAwLG8oODE4MjczKSldLGFjdGl2ZV9zeW1ib2w6W18udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpLF8udChudWxsLHZvaWQgMCxvKDQ0OTA2MCkpXSxlcHNfc3VycHJpc2VfZnE6W18udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpLF8udChudWxsLHZvaWQgMCxvKDI2OTk1NSkpXSxlcHNfc3VycHJpc2VfcGVyY2VudF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSksXy50KG51bGwsdm9pZCAwLG8oNTI0ODE3KSldLHRvdGFsX2Fzc2V0czpbXy50KG51bGwsdm9pZCAwLG8oNDAyMikpLF8udChudWxsLHZvaWQgMCxvKDY2Mzg2MCkpXSx0b3RhbF9jYXBpdGFsOltfLnQobnVsbCx2b2lkIDAsbyg4MTIzMzUpKSxfLnQobnVsbCx2b2lkIDAsbygxNDk1MDMpKV0sdG90YWxfY3VycmVudF9hc3NldHM6W18udChudWxsLHZvaWQgMCxvKDU3OTEwOSkpLF8udChudWxsLHZvaWQgMCxvKDg4NDEyMykpXSx0b3RhbF9kZWJ0OltfLnQobnVsbCx2b2lkIDAsbyg1Njg5MzQpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTUyMTApKV0sdG90YWxfcmV2ZW51ZTpbXy50KG51bGwsdm9pZCAwLG8oNDM2NDc0KSksXy50KG51bGwsdm9pZCAwLG8oNTY4MDkxKSldLHRvdGFsX2xpYWJpbGl0aWVzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDY5MjApKSxfLnQobnVsbCx2b2lkIDAsbyg4Mjk2NTYpKV0sdG90YWxfbGlhYmlsaXRpZXNfZnE6W18udChudWxsLHZvaWQgMCxvKDMzNDE3MSkpLF8udChudWxsLHZvaWQgMCxvKDE5NDA5MSkpXSx0b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmdfZnVuZGFtZW50YWw6W18udChudWxsLHZvaWQgMCxvKDU0MzA5NSkpLF8udChudWxsLHZvaWQgMCxvKDM3OTkzMikpXSx2b2x1bWU6W18udChudWxsLHZvaWQgMCxvKDI0NzA2MikpLF8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oNTk2MTY4KSldLHJlbGF0aXZlX3ZvbHVtZTpbXy50KG51bGwsdm9pZCAwLG8oNzgzMTkzKSksXy50KG51bGwsdm9pZCAwLG8oMjUwNjU0KSldLApyZWxhdGl2ZV92b2x1bWVfYXRfdGltZTpbXy50KG51bGwsdm9pZCAwLG8oMTkzMDY2KSksXy50KG51bGwsdm9pZCAwLG8oNjk5MDkwKSldLGNoYW5nZV9hYnM6W18udChudWxsLHZvaWQgMCxvKDY3MzQ4NykpLF8udChudWxsLHZvaWQgMCxvKDIwNTgzNCkpXSxjaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDk2OTQ3MikpLF8udChudWxsLHZvaWQgMCxvKDIxMDgxNSkpXSwiY2hhbmdlLjEiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDE1NzUxKSl9KV0sImNoYW5nZV9hYnMuMSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg0MTU3NTEpKX0pXSwiY2hhbmdlLjUiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oODAxNDgwKSl9KV0sImNoYW5nZV9hYnMuNSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MDE0ODApKX0pXSwiY2hhbmdlLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNzkwOTQ5KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oNjAyNjAxKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2VfYWJzLjE1IjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDE3MzI0MCkpfSldLCJjaGFuZ2UuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZV9hYnMuNjAiOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oMjg5NDY0KSl9KV0sImNoYW5nZS4yNDAiOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNTUyNzQzKSl9KV0sImNoYW5nZV9hYnMuMjQwIjpbXy50KG51bGwsdm9pZCAwLG8oNjU3MTE0KSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSksXy50KG51bGwsdm9pZCAwLG8oMjk1NjIwKSkuZm9ybWF0KHtyZXNvbHV0aW9uOl8udChudWxsLHZvaWQgMCxvKDU1Mjc0MykpfSldLCJjaGFuZ2UuMVciOltfLnQobnVsbCx2b2lkIDAsbyg3OTA5NDkpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MDI2MDEpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZV9hYnMuMVciOltfLnQobnVsbCx2b2lkIDAsbyg2NTcxMTQpKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyOTU2MjApKS5mb3JtYXQoe3Jlc29sdXRpb246Xy50KG51bGwsdm9pZCAwLG8oNDkyMTM1KSl9KV0sImNoYW5nZS4xTSI6W18udChudWxsLHZvaWQgMCxvKDc5MDk0OSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDYwMjYwMSkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSwiY2hhbmdlX2Ficy4xTSI6W18udChudWxsLHZvaWQgMCxvKDY1NzExNCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pLF8udChudWxsLHZvaWQgMCxvKDI5NTYyMCkpLmZvcm1hdCh7cmVzb2x1dGlvbjpfLnQobnVsbCx2b2lkIDAsbyg4MzI3MzMpKX0pXSxjdXJyZW5jeTpbXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSksXy50KG51bGwsdm9pZCAwLG8oMTkwNjk2KSldLHByZV9jaGFuZ2U6W18udChudWxsLHZvaWQgMCxvKDMyNTcxMykpLF8udChudWxsLHZvaWQgMCxvKDIwODg0NikpXSxwb3N0X2NoYW5nZTpbXy50KG51bGwsdm9pZCAwLG8oMzk5OTY4KSksXy50KG51bGwsdm9pZCAwLG8oNjczNzAzKSldLGJpZDpbXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSksXy50KG51bGwsdm9pZCAwLG8oNDI5NTA4KSldLGFzazpbXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSksXy50KG51bGwsdm9pZCAwLG8oNjcyNzEwKSldLGNsb3NlOltfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKSxfLnQobnVsbCx2b2lkIDAsbyg4MjA4NjYpKV0sb3BlbjpbXy50KG51bGwsdm9pZCAwLG8oOTc3ODEpKSxfLnQobnVsbCx2b2lkIDAsbyg5Nzc4MSkpXSxoaWdoOltfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKSxfLnQobnVsbCx2b2lkIDAsbyg4NDU1NjMpKV0sCmxvdzpbXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSksXy50KG51bGwsdm9pZCAwLG8oODg4Njc4KSldLGdhcDpbXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSksXy50KG51bGwsdm9pZCAwLG8oOTMwMDY5KSldLHByaWNlX2Vhcm5pbmdzX3RvX2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQyNDU0NSkpLF8udChudWxsLHZvaWQgMCxvKDEyMTk2OSkpXSxwcmljZV9zYWxlczpbXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSksXy50KG51bGwsdm9pZCAwLG8oMjYzMzM1KSldLHByaWNlX2Jvb2tfZnE6W18udChudWxsLHZvaWQgMCxvKDc5NzQ1MCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTQ1OSkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd190dG06W18udChudWxsLHZvaWQgMCxvKDMwNjM1NikpLF8udChudWxsLHZvaWQgMCxvKDgxNjk0NCkpXSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6W18udChudWxsLHZvaWQgMCxvKDE4ODU3NykpLF8udChudWxsLHZvaWQgMCxvKDcyMzA4OCkpXSxmcmVlX2Nhc2hfZmxvdzpbXy50KG51bGwsdm9pZCAwLG8oMTY3Njg4KSksXy50KG51bGwsdm9pZCAwLG8oMTQ0NjMpKV0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nOltfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKSxfLnQobnVsbCx2b2lkIDAsbyg2MDUxNTkpKV0sdG90YWxfc2hhcmVzX2RpbHV0ZWQ6W18udChudWxsLHZvaWQgMCxvKDU0MzUzMikpLF8udChudWxsLHZvaWQgMCxvKDU0MzUzMikpXSx0b3RhbF92YWx1ZV90cmFkZWQ6W18udChudWxsLHZvaWQgMCxvKDUwOTY3OSkpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3MSkpXSxjaGFuZ2VfZnJvbV9vcGVuOltfLnQobnVsbCx2b2lkIDAsbyg5MzYwMzQpKSxfLnQobnVsbCx2b2lkIDAsbyg4NTM4OTUpKV0sY2hhbmdlX2Zyb21fb3Blbl9hYnM6W18udChudWxsLHZvaWQgMCxvKDM4Mjc1MSkpLF8udChudWxsLHZvaWQgMCxvKDYzMzQ1NCkpXSwiUGVyZi5XIjpbXy50KG51bGwsdm9pZCAwLG8oODQ2NjE0KSksXy50KG51bGwsdm9pZCAwLG8oNzgxOTkzKSldLCJQZXJmLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oODIyODc1KSksXy50KG51bGwsdm9pZCAwLG8oNDY3OTgyKSldLCJQZXJmLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oNjY0MjQyKSksXy50KG51bGwsdm9pZCAwLG8oNzc5MDgzKSldLCJQZXJmLjZNIjpbXy50KG51bGwsdm9pZCAwLG8oOTYwNjYzKSksXy50KG51bGwsdm9pZCAwLG8oNzY4Nzg2KSldLCJQZXJmLlkiOltfLnQobnVsbCx2b2lkIDAsbygxMjk4MDkpKSxfLnQobnVsbCx2b2lkIDAsbygxODM1NjQpKV0sIlBlcmYuWVREIjpbXy50KG51bGwsdm9pZCAwLG8oODUzMTAwKSksXy50KG51bGwsdm9pZCAwLG8oNjQ3NDcxKSldLCJQZXJmLjVZIjpbXy50KG51bGwsdm9pZCAwLG8oOTM1ODE5KSksXy50KG51bGwsdm9pZCAwLG8oNDkwNTc3KSldLCJQZXJmLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDQ4NjMwMikpLF8udChudWxsLHZvaWQgMCxvKDgxNTQpKV0sIlZvbGF0aWxpdHkuVyI6W18udChudWxsLHZvaWQgMCxvKDE2MjI2NSkpLF8udChudWxsLHZvaWQgMCxvKDExMTU0OCkpXSwiVm9sYXRpbGl0eS5NIjpbXy50KG51bGwsdm9pZCAwLG8oNTYzMzYzKSksXy50KG51bGwsdm9pZCAwLG8oOTI5NTk0KSldLCJWb2xhdGlsaXR5LkQiOltfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygzMzgzOTIpKV0sUlNJOltfLnQobnVsbCx2b2lkIDAsbyg4MTM0MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0OTY2NzQpKV0sUlNJNzpbXy50KG51bGwsdm9pZCAwLG8oNDIzNDYpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg2NTkpKV0sQURYOltfLnQobnVsbCx2b2lkIDAsbyg1NzgxOTgpKSxfLnQobnVsbCx2b2lkIDAsbyg4MDMwMjQpKV0sIkFEWCtESSI6W18udChudWxsLHZvaWQgMCxvKDc2NzgyNSkpLF8udChudWxsLHtjb250ZXh0OiJQb3NpdGl2ZV9EaXJlY3Rpb25hbF9JbmRpY2F0b3Jfc2hvcnRfdGl0bGUifSxvKDgxOTA0MikpXSwiQURYLURJIjpbXy50KG51bGwsdm9pZCAwLG8oMTc0MzA5KSksXy50KG51bGwse2NvbnRleHQ6Ik5lZ2F0aXZlX0RpcmVjdGlvbmFsX0luZGljYXRvcl9zaG9ydF90aXRsZSJ9LG8oMjc0ODc0KSldLEFUUjpbXy50KG51bGwsdm9pZCAwLG8oMzE1NDYyKSksXy50KG51bGwsdm9pZCAwLG8oOTYwMDY5KSldLE1vbTpbXy50KG51bGwsdm9pZCAwLG8oNTMxNTAyKSksXy50KG51bGwsdm9pZCAwLG8oNDI1MzAxKSldLCJIaWdoLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDU3OCkpXSwiTG93LkFsbCI6W18udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpLF8udChudWxsLHZvaWQgMCxvKDI1MzQ3MSkpXSwiSGlnaC42TSI6W18udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpLF8udChudWxsLHZvaWQgMCxvKDk3ODc2MCkpXSwiTG93LjZNIjpbXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSksXy50KG51bGwsdm9pZCAwLG8oNjAzNTA5KSldLCJIaWdoLjNNIjpbXy50KG51bGwsdm9pZCAwLG8oOTkwNzcpKSxfLnQobnVsbCx2b2lkIDAsbyg5OTA3NykpXSwiTG93LjNNIjpbXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSksXy50KG51bGwsdm9pZCAwLG8oODg2OTE4KSldLCJIaWdoLjFNIjpbXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSksXy50KG51bGwsdm9pZCAwLG8oMTYxNTgzKSldLCJMb3cuMU0iOltfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKSxfLnQobnVsbCx2b2lkIDAsbygyMDA5MjApKV0sRU1BNTpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjUifSksXy50KG51bGwsdm9pZCAwLG8oNTExODQ0KSldLEVNQTEwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMTAifSksXy50KG51bGwsdm9pZCAwLG8oMTA3OTA1KSldLEVNQTIwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAifSksXy50KG51bGwsdm9pZCAwLG8oMTQzNjMpKV0sRU1BMzA6W18udChudWxsLHZvaWQgMCxvKDYzNDUwNikpLmZvcm1hdCh7bnVtYmVyOiIzMCIKfSksXy50KG51bGwsdm9pZCAwLG8oOTU0ODU5KSldLEVNQTUwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiNTAifSksXy50KG51bGwsdm9pZCAwLG8oNTM4MDE4KSldLEVNQTEwMDpbXy50KG51bGwsdm9pZCAwLG8oNjM0NTA2KSkuZm9ybWF0KHtudW1iZXI6IjEwMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NDk2NDQpKV0sRU1BMjAwOltfLnQobnVsbCx2b2lkIDAsbyg2MzQ1MDYpKS5mb3JtYXQoe251bWJlcjoiMjAwIn0pLF8udChudWxsLHZvaWQgMCxvKDYwNTQzOCkpXSxTTUE1OltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiNSJ9KSxfLnQobnVsbCx2b2lkIDAsbyg2NTk1NjApKV0sU01BMTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIxMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygxMzQwODUpKV0sU01BMjA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMCJ9KSxfLnQobnVsbCx2b2lkIDAsbygzOTgwMzkpKV0sU01BMzA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIzMCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1NDMpKV0sU01BNTA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiI1MCJ9KSxfLnQobnVsbCx2b2lkIDAsbyg1NTY0ODYpKV0sU01BMTAwOltfLnQobnVsbCx2b2lkIDAsbyg0ODY1NzIpKS5mb3JtYXQoe251bWJlcjoiMTAwIn0pLF8udChudWxsLHZvaWQgMCxvKDMyODc4NCkpXSxTTUEyMDA6W18udChudWxsLHZvaWQgMCxvKDQ4NjU3MikpLmZvcm1hdCh7bnVtYmVyOiIyMDAifSksXy50KG51bGwsdm9pZCAwLG8oNjgwNzQpKV0sIlN0b2NoLksiOltfLnQobnVsbCx2b2lkIDAsbygyMjA3MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1NTc4MDApKV0sIlN0b2NoLkQiOltfLnQobnVsbCx2b2lkIDAsbygzMTc4MzIpKSxfLnQobnVsbCx2b2lkIDAsbyg0MDYyOTgpKV0sIk1BQ0QubWFjZCI6W18udChudWxsLHZvaWQgMCxvKDI0NzU2MCkpLF8udChudWxsLHZvaWQgMCxvKDk0MDk0MykpXSwiTUFDRC5zaWduYWwiOltfLnQobnVsbCx2b2lkIDAsbyg5NTA2NjIpKSxfLnQobnVsbCx2b2lkIDAsbygzMjc5MTEpKV0sIkFyb29uLlVwIjpbXy50KG51bGwsdm9pZCAwLG8oNDczODUpKSxfLnQobnVsbCx2b2lkIDAsbygxNTgzOTYpKV0sIkFyb29uLkRvd24iOltfLnQobnVsbCx2b2lkIDAsbygyMTM3MDMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjU3NjUpKV0sIkJCLnVwcGVyIjpbXy50KG51bGwsdm9pZCAwLG8oOTk1NjMxKSksXy50KG51bGwsdm9pZCAwLG8oOTEzOTkyKSldLCJCQi5sb3dlciI6W18udChudWxsLHZvaWQgMCxvKDE5NjY5MSkpLF8udChudWxsLHZvaWQgMCxvKDQzMDUzMCkpXSxnb29kd2lsbDpbXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSksXy50KG51bGwsdm9pZCAwLG8oNzczOTI2KSldLGRlYnRfdG9fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbygzMTUwOTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNTk2NSkpXSxDQ0kyMDpbXy50KG51bGwsdm9pZCAwLG8oNjE3NDI3KSksXy50KG51bGwsdm9pZCAwLG8oNzUzMTYpKV0sIkRvbmNoQ2gyMC5VcHBlciI6W18udChudWxsLHZvaWQgMCxvKDM3ODAyNCkpLF8udChudWxsLHZvaWQgMCxvKDYxNzQ2OCkpXSwiRG9uY2hDaDIwLkxvd2VyIjpbXy50KG51bGwsdm9pZCAwLG8oNjA4NjU2KSksXy50KG51bGwsdm9pZCAwLG8oMzUxOTYzKSldLEh1bGxNQTk6W18udChudWxsLHZvaWQgMCxvKDc2MDcxOSkpLF8udChudWxsLHZvaWQgMCxvKDczOTIwMykpXSxBTzpbXy50KG51bGwsdm9pZCAwLG8oMzQ0NTUyKSksXy50KG51bGwsdm9pZCAwLG8oNzk5NTUzKSldLCJQaXZvdC5NLkNsYXNzaWMuUzMiOltfLnQobnVsbCx2b2lkIDAsbygxMzA0NjcpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjA4NTMpKV0sIlBpdm90Lk0uQ2xhc3NpYy5TMiI6W18udChudWxsLHZvaWQgMCxvKDUxOTAyNykpLF8udChudWxsLHZvaWQgMCxvKDQ0MTg0MSkpXSwiUGl2b3QuTS5DbGFzc2ljLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oNDk1MzE3KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uQ2xhc3NpYy5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg1NjU1MjYpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6W18udChudWxsLHZvaWQgMCxvKDYyMjgzNCkpLF8udChudWxsLHZvaWQgMCxvKDEyMzgwNSkpXSwiUGl2b3QuTS5DbGFzc2ljLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oNTE3MzAwKSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNsYXNzaWMuUjMiOltfLnQobnVsbCx2b2lkIDAsbyg3NzE1NikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6W18udChudWxsLHZvaWQgMCxvKDcxMjU3NikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiOltfLnQobnVsbCx2b2lkIDAsbygyMDI1ODcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uRmlib25hY2NpLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMzg5Nzc4KSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDg4NTYzNCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5GaWJvbmFjY2kuUjEiOltfLnQobnVsbCx2b2lkIDAsbygzNzQ0MDYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uRmlib25hY2NpLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oMTg3MjE1KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6W18udChudWxsLHZvaWQgMCxvKDU4MTAxMikpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyI6W18udChudWxsLHZvaWQgMCxvKDk0Mjk3NykpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwKIlBpdm90Lk0uQ2FtYXJpbGxhLlMyIjpbXy50KG51bGwsdm9pZCAwLG8oNzU1Nzg2KSksXy50KG51bGwsdm9pZCAwLG8oNDQxODQxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5TMSI6W18udChudWxsLHZvaWQgMCxvKDczNjM3MSkpLF8udChudWxsLHZvaWQgMCxvKDIyODI5KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOltfLnQobnVsbCx2b2lkIDAsbyg4NzQ0NjkpKSxfLnQobnVsbCx2b2lkIDAsbyg3MzY2MjcpKV0sIlBpdm90Lk0uQ2FtYXJpbGxhLlIxIjpbXy50KG51bGwsdm9pZCAwLG8oOTM5ODg3KSksXy50KG51bGwsdm9pZCAwLG8oMTIzODA1KSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMiI6W18udChudWxsLHZvaWQgMCxvKDc1NDk0KSksXy50KG51bGwsdm9pZCAwLG8oNTk0NDAxKSldLCJQaXZvdC5NLkNhbWFyaWxsYS5SMyI6W18udChudWxsLHZvaWQgMCxvKDE0NjQ5MykpLF8udChudWxsLHZvaWQgMCxvKDEzNDEzKSldLCJQaXZvdC5NLldvb2RpZS5TMyI6W18udChudWxsLHZvaWQgMCxvKDMxOTEwNikpLF8udChudWxsLHZvaWQgMCxvKDg2MDg1MykpXSwiUGl2b3QuTS5Xb29kaWUuUzIiOltfLnQobnVsbCx2b2lkIDAsbyg5MzgzNjEpKSxfLnQobnVsbCx2b2lkIDAsbyg0NDE4NDEpKV0sIlBpdm90Lk0uV29vZGllLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oMTI1NTUyKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uV29vZGllLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDE1OTA5MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5Xb29kaWUuUjEiOltfLnQobnVsbCx2b2lkIDAsbygyNjg3MTYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIlBpdm90Lk0uV29vZGllLlIyIjpbXy50KG51bGwsdm9pZCAwLG8oODE1MjUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTQ0MDEpKV0sIlBpdm90Lk0uV29vZGllLlIzIjpbXy50KG51bGwsdm9pZCAwLG8oODk0MzM0KSksXy50KG51bGwsdm9pZCAwLG8oMTM0MTMpKV0sIlBpdm90Lk0uRGVtYXJrLlMxIjpbXy50KG51bGwsdm9pZCAwLG8oODgxNzIwKSksXy50KG51bGwsdm9pZCAwLG8oMjI4MjkpKV0sIlBpdm90Lk0uRGVtYXJrLk1pZGRsZSI6W18udChudWxsLHZvaWQgMCxvKDQ5MTU0MCkpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSwiUGl2b3QuTS5EZW1hcmsuUjEiOltfLnQobnVsbCx2b2lkIDAsbyg5NDEyMjQpKSxfLnQobnVsbCx2b2lkIDAsbygxMjM4MDUpKV0sIktsdENobmwudXBwZXIiOltfLnQobnVsbCx2b2lkIDAsbygzMDU4ODUpKSxfLnQobnVsbCx2b2lkIDAsbygyNDA3MTUpKV0sIktsdENobmwubG93ZXIiOltfLnQobnVsbCx2b2lkIDAsbyg2Nzk1NDYpKSxfLnQobnVsbCx2b2lkIDAsbygyNTc3NjApKV0sIlAuU0FSIjpbXy50KG51bGwsdm9pZCAwLG8oOTQxMDI4KSksXy50KG51bGwsdm9pZCAwLG8oMTE0MDk5KSldLCJWYWx1ZS5UcmFkZWQiOltfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKSxfLnQobnVsbCx2b2lkIDAsbyg2OTAyMDYpKV0sTW9uZXlGbG93OltfLnQobnVsbCx2b2lkIDAsbygxNzgwOTYpKSxfLnQobnVsbCx7Y29udGV4dDoiTW9uZXlfRmxvd19zaG9ydF90aXRsZSJ9LG8oOTQ5NzA0KSldLENoYWlraW5Nb25leUZsb3c6W18udChudWxsLHZvaWQgMCxvKDI1ODE0MykpLF8udChudWxsLHtjb250ZXh0OiJDaGFpa2luX01vbmV5X0Zsb3dfc2hvcnRfdGl0bGUifSxvKDE2MDU2MikpXSwiUmVjb21tZW5kLkFsbCI6W18udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpLF8udChudWxsLHZvaWQgMCxvKDU2OTU5NSkpXSwiUmVjb21tZW5kLk1BIjpbXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSksXy50KG51bGwsdm9pZCAwLG8oMjAwNDUyKSldLCJSZWNvbW1lbmQuT3RoZXIiOltfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKSxfLnQobnVsbCx2b2lkIDAsbyg1NDA0NDApKV0sIlN0b2NoLlJTSS5LIjpbXy50KG51bGwsdm9pZCAwLG8oNTg1Njg5KSksXy50KG51bGwsdm9pZCAwLG8oNzAwNjA4KSldLCJTdG9jaC5SU0kuRCI6W18udChudWxsLHZvaWQgMCxvKDExMzczMSkpLF8udChudWxsLHZvaWQgMCxvKDYzOTU5NSkpXSwiVy5SIjpbXy50KG51bGwsdm9pZCAwLG8oMjYwOTEwKSksXy50KG51bGwsdm9pZCAwLG8oNTM5MjM4KSldLFJPQzpbXy50KG51bGwsdm9pZCAwLG8oODAyMDg4KSksXy50KG51bGwsdm9pZCAwLG8oODQ4MTU0KSldLEJCUG93ZXI6W18udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oMjQ4Nzg1KSksXy50KG51bGwsdm9pZCAwLG8oOTQ5ODI1KSldLFVPOltfLnQobnVsbCx2b2lkIDAsbyg5OTk5NjEpKSxfLnQobnVsbCx2b2lkIDAsbyg4OTU3NzQpKV0sIkljaGltb2t1LkNMaW5lIjpbXy50KG51bGwsdm9pZCAwLG8oOTI2NCkpLF8udChudWxsLHZvaWQgMCxvKDcwMjk0NikpXSwiSWNoaW1va3UuQkxpbmUiOltfLnQobnVsbCx2b2lkIDAsbyg0OTA3MjgpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTI5MzQpKV0sIkljaGltb2t1LkxlYWQxIjpbXy50KG51bGwsdm9pZCAwLG8oMjk3MzEwKSksXy50KG51bGwsdm9pZCAwLG8oMzEwMTc3KSldLCJJY2hpbW9rdS5MZWFkMiI6W18udChudWxsLHZvaWQgMCxvKDcwNjU2MikpLF8udChudWxsLHZvaWQgMCxvKDgzOTU4MSkpXSxWV0FQOltfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDg2ODQxOSkpLF8udChudWxsLHZvaWQgMCxvKDI1MTE2NykpXSxWV01BOltfLnQobnVsbCx2b2lkIDAsbyg1NDMzOTEpKSxfLnQobnVsbCx2b2lkIDAsbygzMzk0MDcpKV0sQURSOltfLnQobnVsbCx2b2lkIDAsbygzMjMzOTIpKSxfLnQobnVsbCx2b2lkIDAsbygxNTA0NzQpKV0sIjI0aF92b2x8NSI6W18udChudWxsLHZvaWQgMCxvKDU1NzkzMykpLF8udChudWxsLHZvaWQgMCxvKDIzNDA3NykpXSwiMjRoX3ZvbF9jaGFuZ2V8NSI6W18udChudWxsLHZvaWQgMCxvKDcxMTE4OCkpLF8udChudWxsLHZvaWQgMCxvKDM1MjQ1NykpXSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpLF8udChudWxsLHZvaWQgMCxvKDgwMzI4MSkpXSwKdG90YWxfcmV2ZW51ZV9xb3FfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKSxfLnQobnVsbCx2b2lkIDAsbyg0ODI1NTMpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKSxfLnQobnVsbCx2b2lkIDAsbygxMjgzNzYpKV0sdG90YWxfcmV2ZW51ZV95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSksXy50KG51bGwsdm9pZCAwLG8oNzQwOTI4KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKSxfLnQobnVsbCx2b2lkIDAsbygxMDc5MDQpKV0sZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpLF8udChudWxsLHZvaWQgMCxvKDE5MTU3NCkpXSxncm9zc19wcm9maXRfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSksXy50KG51bGwsdm9pZCAwLG8oMzU2MTI1KSldLGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSksXy50KG51bGwsdm9pZCAwLG8oNzYxMzA1KSldLGViaXRkYV95b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mzk3MDUpKV0sZWJpdGRhX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc0NjIzKSksXy50KG51bGwsdm9pZCAwLG8oNzQ2MjMpKV0sZWJpdGRhX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4NjI5MikpLF8udChudWxsLHZvaWQgMCxvKDk4NjI5MikpXSxlYml0ZGFfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpLF8udChudWxsLHZvaWQgMCxvKDgzNDY2OCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDg1MzM0NikpLF8udChudWxsLHZvaWQgMCxvKDg1MzM0NikpXSxuZXRfaW5jb21lX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpLF8udChudWxsLHZvaWQgMCxvKDE0ODU3MCkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpLF8udChudWxsLHZvaWQgMCxvKDk4MzY3MSkpXSxuZXRfaW5jb21lX3lveV9ncm93dGhfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3ODkwNykpLF8udChudWxsLHZvaWQgMCxvKDc4OTA3KSldLGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDI2NTA2KSksXy50KG51bGwsdm9pZCAwLG8oMjY1MDYpKV0sZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oMzQ0MzYpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNikpXSxmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKSxfLnQobnVsbCx2b2lkIDAsbyg2MDc1NjApKV0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDc4NTcxKSksXy50KG51bGwsdm9pZCAwLG8oNzg1NzEpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTpbXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSksXy50KG51bGwsdm9pZCAwLG8oODIyNzgyKSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk2NjI1NikpLF8udChudWxsLHZvaWQgMCxvKDk2NjI1NikpXSxlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKSxfLnQobnVsbCx2b2lkIDAsbyg1Mjg5NzIpKV0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG06W18udChudWxsLHZvaWQgMCxvKDQwNjg2MykpLF8udChudWxsLHZvaWQgMCxvKDQwNjg2MykpXSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfeW95X2dyb3d0aF9meTpbXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSksXy50KG51bGwsdm9pZCAwLG8oNTU3OTQxKSldLHRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKSxfLnQobnVsbCx2b2lkIDAsbyg1NDgzNDIpKV0sdG90YWxfYXNzZXRzX3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDk3MzYwKSksXy50KG51bGwsdm9pZCAwLG8oOTczNjApKV0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDQwMzY0NykpLF8udChudWxsLHZvaWQgMCxvKDQwMzY0NykpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpLF8udChudWxsLHZvaWQgMCxvKDY3NTEwOCkpXSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6W18udChudWxsLHZvaWQgMCxvKDc5MzAzNikpLF8udChudWxsLHZvaWQgMCxvKDc5MzAzNikpXSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6W18udChudWxsLHZvaWQgMCxvKDYyMzgzNykpLF8udChudWxsLHZvaWQgMCxvKDYyMzgzNykpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fZnk6W18udChudWxsLHZvaWQgMCxvKDk5MjQ3MCkpLF8udChudWxsLHZvaWQgMCxvKDkzMDc1NCkpXSxzZWxsX2dlbl9hZG1pbl9leHBfb3RoZXJfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1OTM4MTIpKSxfLnQobnVsbCx2b2lkIDAsbygyNDI1MzMpKV0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTpbXy50KG51bGwsdm9pZCAwLG8oODcwMzE2KSksXy50KG51bGwsdm9pZCAwLG8oMzM0MTAyKSldLHJlc2VhcmNoX2FuZF9kZXZfcmF0aW9fdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3MDEwMzUpKSxfLnQobnVsbCx2b2lkIDAsbyg1MDIwODgpKV0sZ3Jvc3NfcHJvZml0X21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSksXy50KG51bGwsdm9pZCAwLG8oOTAwOTQ1KSldLG9wZXJfaW5jb21lX21hcmdpbl9meTpbXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSksXy50KG51bGwsdm9pZCAwLG8oNDM1MDcwKSldLApuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDA3MTEpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKSxfLnQobnVsbCx2b2lkIDAsbyg3NjUwMTcpKV0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5OltfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKSxfLnQobnVsbCx2b2lkIDAsbyg0NzY4MzcpKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3ODg4MzgpKSxfLnQobnVsbCx2b2lkIDAsbygyNDczNjApKV0sY2FzaF9uX3Nob3J0X3Rlcm1faW52ZXN0X2Z5OltfLnQobnVsbCx2b2lkIDAsbygyNTQ5NDcpKSxfLnQobnVsbCx2b2lkIDAsbyg5MTUxNTQpKV0sY2VudHJhbGl6YXRpb246W18udChudWxsLHZvaWQgMCxvKDYxMTExOCkpLF8udChudWxsLHZvaWQgMCxvKDYxMTExOCkpXSxmaXNjYWxfcGVyaW9kX2VuZF9meTpbXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSksXy50KG51bGwsdm9pZCAwLG8oMzE0NTIxKSldLGZpc2NhbF9wZXJpb2RfZnE6W18udChudWxsLHZvaWQgMCxvKDk1MDgwMikpLF8udChudWxsLHZvaWQgMCxvKDk1MDgwMikpXSxmaXNjYWxfcGVyaW9kX2VuZF9mcTpbXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSksXy50KG51bGwsdm9pZCAwLG8oNTMwNDQ0KSldLGVudGVycHJpc2VfdmFsdWVfY3VycmVudDpbXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSksXy50KG51bGwsdm9pZCAwLG8oNjczMTYxKSldLHByaWNlX2Vhcm5pbmdzX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDU1NzMzNikpLF8udChudWxsLHZvaWQgMCxvKDU1NzMzNikpXSxwcmljZV9zYWxlc19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKSxfLnQobnVsbCx2b2lkIDAsbyg3ODI2MTQpKV0scHJpY2VfYm9va19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKSxfLnQobnVsbCx2b2lkIDAsbyg1OTAyMDUpKV0scHJpY2VfY2FzaF9mbG93X2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpLF8udChudWxsLHZvaWQgMCxvKDMzMjIxNCkpXSxwcmljZV9mcmVlX2Nhc2hfZmxvd19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKSxfLnQobnVsbCx2b2lkIDAsbyg4NjQ2NDgpKV0sdG90YWxfcmV2ZW51ZV90dG06W18udChudWxsLHZvaWQgMCxvKDMwMjE2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzAyMTY1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV2ZW51ZV9wZXJfc2hhcmVfdHRtOltfLnQobnVsbCx2b2lkIDAsbygxMzI1NDgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDEzMjU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGdyb3NzX3Byb2ZpdF90dG06W18udChudWxsLHZvaWQgMCxvKDM5NzYwMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzk3NjAyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sb3Blcl9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg4NTAyMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDg1MDIxMSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLG5ldF9pbmNvbWVfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg1MTA3MjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDUxMDcyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3Mjg1NDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDcyODU0NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZ19jdXJyZW50OltfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKSxfLnQobnVsbCx2b2lkIDAsbygzMzYzMDMpKV0sZmxvYXRfc2hhcmVzX291dHN0YW5kaW5nX2N1cnJlbnQ6W18udChudWxsLHZvaWQgMCxvKDk4MTY0MykpLF8udChudWxsLHZvaWQgMCxvKDk4MTY0MykpXSx0b3RhbF9hc3NldHNfZnE6W18udChudWxsLHZvaWQgMCxvKDQxNDI1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNDE0MjU4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjk4NTc2KSl9KV0sdG90YWxfZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3MzMyNikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSksXy50KG51bGwsdm9pZCAwLG8oNzMzMjYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pXSx0b3RhbF9kZWJ0X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0Njk1NTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ2OTU1OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGJvb2tfcGVyX3NoYXJlX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyNDUzMTcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDI0NTMxNykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGN1cnJlbnRfcmF0aW9fZnE6W18udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7CnBlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ5OTI2NSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGFzc2V0X3R1cm5vdmVyX2ZxOltfLnQobnVsbCx2b2lkIDAsbyg3NDgyOTApKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyOTg1NzYpKX0pLF8udChudWxsLHZvaWQgMCxvKDc0ODI5MCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDI5ODU3NikpfSldLGNhc2hfZl9vcGVyYXRpbmdfYWN0aXZpdGllc190dG06W18udChudWxsLHZvaWQgMCxvKDM1Nzc3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMzU3Nzc0KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sY2FzaF9mX2ludmVzdGluZ19hY3Rpdml0aWVzX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjM4NDk4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2Mzg0OTgpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXNoX2ZfZmluYW5jaW5nX2FjdGl2aXRpZXNfdHRtOltfLnQobnVsbCx2b2lkIDAsbyg3Njk4NzQpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDc2OTg3NCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLGZyZWVfY2FzaF9mbG93X3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNjIyNTU5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MjI1NTkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxjYXBpdGFsX2V4cGVuZGl0dXJlc190dG06W18udChudWxsLHZvaWQgMCxvKDUzNTEzMikpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNTM1MTMyKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sZ3Jvc3NfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oOTY2NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg5NjY1MDUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxvcGVyYXRpbmdfbWFyZ2luX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDcyNjY5KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NzI2NjkpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxwcmVfdGF4X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDY1Njk3MSkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oNjU2OTcxKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0sbmV0X21hcmdpbl90dG06W18udChudWxsLHZvaWQgMCxvKDg5MDU0OCkpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oODkwNTQ4KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scmV0dXJuX29uX2Fzc2V0c19mcTpbXy50KG51bGwsdm9pZCAwLG8oODE4MTExKSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg4MTgxMTEpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXR1cm5fb25fZXF1aXR5X2ZxOltfLnQobnVsbCx2b2lkIDAsbyg0ODEwODcpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pLF8udChudWxsLHZvaWQgMCxvKDQ4MTA4NykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSldLHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsX2ZxOltfLnQobnVsbCx2b2lkIDAsbygyMzE3MykpLmZvcm1hdCh7cGVyaW9kOl8udChudWxsLHZvaWQgMCxvKDg0NzE0MSkpfSksXy50KG51bGwsdm9pZCAwLG8oMjMxNzMpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbyg4NDcxNDEpKX0pXSxyZXZlbnVlX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oNjMwNjc2KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbyg2MzA2NzYpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxuZXRfaW5jb21lX3Blcl9lbXBsb3llZV9meTpbXy50KG51bGwsdm9pZCAwLG8oMjM3NTg1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oMjg3OTE4KSl9KSxfLnQobnVsbCx2b2lkIDAsbygyMzc1ODUpKS5mb3JtYXQoe3BlcmlvZDpfLnQobnVsbCx2b2lkIDAsbygyODc5MTgpKX0pXSxkaXZpZGVuZF9hbW91bnRfcmVjZW50OltfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKSxfLnQobnVsbCx2b2lkIDAsbyg3OTIyNjApKV0sZGl2aWRlbmRfYW1vdW50X3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKSxfLnQobnVsbCx2b2lkIDAsbyg5NDI1MDQpKV0sZXhfZGl2aWRlbmRfZGF0ZV9yZWNlbnQ6W18udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpLF8udChudWxsLHZvaWQgMCxvKDU2NDA4OSkpXSxleF9kaXZpZGVuZF9kYXRlX3VwY29taW5nOltfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKSxfLnQobnVsbCx2b2lkIDAsbyg3NTAwNTMpKV0sZGl2aWRlbmRfcGF5b3V0X3JhdGlvX3R0bTpbXy50KG51bGwsdm9pZCAwLG8oNDU3NTA1KSkuZm9ybWF0KHtwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KSxfLnQobnVsbCx2b2lkIDAsbyg0NTc1MDUpKS5mb3JtYXQoewpwZXJpb2Q6Xy50KG51bGwsdm9pZCAwLG8oODQ3MTQxKSl9KV0scHJpY2VfdGFyZ2V0X2F2ZXJhZ2U6W18udChudWxsLHZvaWQgMCxvKDgxODAwMikpLF8udChudWxsLHZvaWQgMCxvKDgxODAwMikpXX07bGV0IHhlPW51bGw7Y29uc3QgQWU9KCk9PnhlO3ZhciBNZT1vKDc0NDI0MCksSWU9byg3MDI5NjcpLFJlPW8oNzY5OTM5KSxGZT1vKDQ5NTM5NiksTGU9byg2ODMzODMpLERlPW8oMjg3ODMyKSxPZT1vKDIzMTc3MCksTmU9byg2NDQ5MDUpLFBlPW8oNjM1MjcwKSxCZT1vKDM4NjcyNiksJGU9bygxMjM3MjkpLFdlPW8oNzI1NjAyKSxxZT1vKDEyOTc5NCksVmU9bygyMTcpLEhlPW8oMjY3NTg3KSxVZT1vKDkzMzEzOCksemU9bygyODU5OTMpLGplPW8oNzg2NTc4KSxHZT1vKDY3Nzc3KSxYZT1vKDM5OTQ5NCksS2U9byg0MTQ3OTYpLFllPW8oMTMwNjg2KSxKZT1vKDEyMDAzNyksWmU9bygyMjAzNDEpLFFlPW8oMjIzNDgzKSxldD1vKDgzNTE3NCksdHQ9byg4NzQ5NzMpO2NvbnN0IG90PVt7a2V5OiJDYW5kbGUuM0JsYWNrQ3Jvd3MiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODkwMzg3KSksc3ZnOk1lfSx7a2V5OiJDYW5kbGUuM1doaXRlU29sZGllcnMiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjc3MDk3KSksc3ZnOkllfSx7a2V5OiJDYW5kbGUuQWJhbmRvbmVkQmFieS5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE1Njk2OSkpLHN2ZzpSZX0se2tleToiQ2FuZGxlLkFiYW5kb25lZEJhYnkuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3NjQxMzYpKSxzdmc6RmV9LHtrZXk6IkNhbmRsZS5Eb2ppIixuYW1lOl8udChudWxsLHtjb250ZXh0OiJzdHVkeSJ9LG8oOTMwMDk4KSksc3ZnOkxlfSx7a2V5OiJDYW5kbGUuRG9qaS5EcmFnb25mbHkiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzc1NDQpKSxzdmc6RGV9LHtrZXk6IkNhbmRsZS5Eb2ppLkdyYXZlc3RvbmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTIzNzM2KSksc3ZnOk9lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYyODk2KSksc3ZnOk5lfSx7a2V5OiJDYW5kbGUuRW5ndWxmaW5nLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzM5NTI3KSksc3ZnOlBlfSx7a2V5OiJDYW5kbGUuRXZlbmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ5NjcwKSksc3ZnOkJlfSx7a2V5OiJDYW5kbGUuSGFtbWVyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDg2NTkwNykpLHN2ZzokZX0se2tleToiQ2FuZGxlLkhhbmdpbmdNYW4iLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMzQ4MzMwKSksc3ZnOldlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJlYXJpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDUwOTA3KSksc3ZnOnFlfSx7a2V5OiJDYW5kbGUuSGFyYW1pLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNDYzODk2KSksc3ZnOlZlfSx7a2V5OiJDYW5kbGUuSW52ZXJ0ZWRIYW1tZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMjcyMTYxKSksc3ZnOkhlfSx7a2V5OiJDYW5kbGUuS2lja2luZy5CZWFyaXNoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDQ1NzY5NCkpLHN2ZzpVZX0se2tleToiQ2FuZGxlLktpY2tpbmcuQnVsbGlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg2MTg0OTIpKSxzdmc6emV9LHtrZXk6IkNhbmRsZS5Mb25nU2hhZG93Lkxvd2VyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc0ODAxNCkpLHN2ZzpqZX0se2tleToiQ2FuZGxlLkxvbmdTaGFkb3cuVXBwZXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODEwODE3KSksc3ZnOkdlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuQmxhY2siLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTM1NzgzKSksc3ZnOlhlfSx7a2V5OiJDYW5kbGUuTWFydWJvenUuV2hpdGUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oOTUyNTY1KSksc3ZnOktlfSx7a2V5OiJDYW5kbGUuTW9ybmluZ1N0YXIiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNzE0NDYzKSksc3ZnOlllfSx7a2V5OiJDYW5kbGUuU2hvb3RpbmdTdGFyIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDc3ODA0KSksc3ZnOkplfSx7a2V5OiJDYW5kbGUuU3Bpbm5pbmdUb3AuQmxhY2siLG5hbWU6Xy50KG51bGwse2NvbnRleHQ6InN0dWR5In0sbyg3NjMyMjYpKSxzdmc6WmV9LHtrZXk6IkNhbmRsZS5TcGlubmluZ1RvcC5XaGl0ZSIsbmFtZTpfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDMzMzkxNCkpLHN2ZzpRZX0se2tleToiQ2FuZGxlLlRyaVN0YXIuQmVhcmlzaCIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygyOTExNzMpKSxzdmc6ZXR9LHtrZXk6IkNhbmRsZS5UcmlTdGFyLkJ1bGxpc2giLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oODY3MjY4KSksc3ZnOnR0fV0uc29ydCgoKGUsdCk9PmUubmFtZS5sb2NhbGVDb21wYXJlKHQubmFtZSkpKSxpdD1uZXcgWih7cHJpY2VTY2FsZToxZTgsbWluTW92ZToxfSksbnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MTAwLG1pbk1vdmU6MSxmcmFjdGlvbmFsOiExfSkscnQ9bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MSxtaW5Nb3ZlOjEsZnJhY3Rpb25hbDohMX0pLHN0PW5ldyBHLlZvbHVtZUZvcm1hdHRlcixhdD1uZXcgWC5QZXJjZW50YWdlRm9ybWF0dGVyLGx0PW5ldyBYLlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6MX0pLGN0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9mb3JtYXRTdHI9ZXx8IiV5LSVtLSVkIn1mb3JtYXQoZSl7Y29uc3QgdD1uZXcgRGF0ZSgxZTMqZSk7cmV0dXJuIHRoaXMuX2Zvcm1hdFN0ci5yZXBsYWNlKCIleSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENGdWxsWWVhcigpLDQpKS5yZXBsYWNlKCIlbSIsKDAsSy5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykodC5nZXRVVENNb250aCgpKzEsMikpLnJlcGxhY2UoIiVkIiwoMCxLLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh0LmdldFVUQ0RhdGUoKSwyKSl9Cn0sZHQ9W3RlLlNUUk9OR19CVVkudGl0bGUsdGUuQlVZLnRpdGxlLHRlLk5FVVRSQUwudGl0bGUsdGUuU0VMTC50aXRsZSx0ZS5TVFJPTkdfU0VMTC50aXRsZV0saHQ9e0FueTpfLnQobnVsbCx2b2lkIDAsbyg5MjE4NDcpKSxFeG90aWM6Xy50KG51bGwsdm9pZCAwLG8oNTgwODMyKSksTWFqb3I6Xy50KG51bGwsdm9pZCAwLG8oNDQ3NzUzKSksTWlub3I6Xy50KG51bGwsdm9pZCAwLG8oMjA2OTgzKSksQWZyaWNhOl8udChudWxsLHZvaWQgMCxvKDY1MDM0NCkpLEFtZXJpY2FzOl8udChudWxsLHZvaWQgMCxvKDk5MTQ2NCkpLEFzaWE6Xy50KG51bGwsdm9pZCAwLG8oNjg5MTgyKSksRXVyb3BlOl8udChudWxsLHZvaWQgMCxvKDk1MjM2NykpLFBhY2lmaWM6Xy50KG51bGwsdm9pZCAwLG8oOTkwNTc1KSksIk1pZGRsZSBFYXN0IjpfLnQobnVsbCx2b2lkIDAsbyg2ODU3NTEpKX0sdXQ9W3trZXk6InRvZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDYxNDQ1MCkpfSx7a2V5OiJ0b21vcnJvdyIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg5NDA0ODMpKX0se2tleToieWVzdGVyZGF5IixuYW1lOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7a2V5OiJuZXh0X2ZpdmUiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oNTYxMTYxKSl9LHtrZXk6InByZXZfZml2ZSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbygxMzcyMCkpfSx7a2V5OiJ0aGlzX3dlZWsiLG5hbWU6Xy50KG51bGwsdm9pZCAwLG8oMTI3NDgzKSl9LHtrZXk6Im5leHRfd2VlayIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg0ODU0NTQpKX0se2tleToicHJldl93ZWVrIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDU2NDU2MSkpfSx7a2V5OiJ0aGlzX21vbnRoIixuYW1lOl8udChudWxsLHZvaWQgMCxvKDE3MDgwOSkpfV0sX3Q9WyJ0b2RheSIsInllc3RlcmRheSIsInByZXZfZml2ZSIsInByZXZfd2VlayIsInRoaXNfd2VlayIsInRoaXNfbW9udGgiXSxwdD1bInRvZGF5IiwidG9tb3Jyb3ciLCJuZXh0X2ZpdmUiLCJuZXh0X3dlZWsiLCJ0aGlzX3dlZWsiLCJ0aGlzX21vbnRoIl0sbXQ9ZT0+bnVsbD09ZXx8IiI9PT1lLnRvU3RyaW5nKCkudHJpbSgpLGd0PWU9PnQ9Pntjb25zdCBvPWJ0KHQsdXQpO2lmKG8pe2NvbnN0IHQ9U3Qobyk7aWYodClyZXR1cm4oKGUsdCxvPSJlYXJuaW5nc19yZWxlYXNlX2RhdGUsZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiKT0+W3tsZWZ0Om8sb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6W2UvMWUzLHQvMWUzXX0se2xlZnQ6byxvcGVyYXRpb246Im5lcXVhbCIscmlnaHQ6dC8xZTN9XSkodFswXSx0WzFdLGUpfXJldHVybiExfSx2dD0oZSx0KT0+T2JqZWN0LmtleXModCkuZmluZCgobz0+dFtvXT09PWUpKXx8ZSxmdD0oZSx0LG8saSk9Pntjb25zdCBuPWkuZmlsdGVyKCh0PT50W2VdPT09bykpO3JldHVybiBuLmxlbmd0aD4wP25bMF1bdF06IiJ9LHl0PShlLHQpPT5mdCgia2V5IiwibmFtZSIsZSx0KSxidD0oZSx0KT0+ZnQoIm5hbWUiLCJrZXkiLGUsdCksU3Q9ZT0+e2NvbnN0IHQ9VS5nZXRfdGltZXpvbmUoQWUoKSksbz0oKCk9Pntjb25zdCBlPVUuZ2V0X3RpbWV6b25lKEFlKCkpLHQ9bmV3IERhdGUsbz1VLnV0Y190b19jYWwoZSx0LmdldFRpbWUoKSk7cmV0dXJuIFUuZ2V0X2NhbChlLG8uZ2V0VVRDRnVsbFllYXIoKSxvLmdldFVUQ01vbnRoKCksby5nZXRVVENEYXRlKCkpfSkoKTtsZXQgaSxuO2lmKCJ0b2RheSI9PT1lKWk9by5nZXRUaW1lKCksbj1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpO2Vsc2UgaWYoInRvbW9ycm93Ij09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDIpLmdldFRpbWUoKTtlbHNlIGlmKCJ5ZXN0ZXJkYXkiPT09ZSl7Y29uc3QgZT02ZTQ7aT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sLTEpLmdldFRpbWUoKSxuPW8uZ2V0VGltZSgpLWV9ZWxzZSBpZigibmV4dF9maXZlIj09PWUpaT1VLmFkZF9kYXlzX2NvbnNpZGVyaW5nX2RzdCh0LG8sMSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDUpLmdldFRpbWUoKTtlbHNlIGlmKCJwcmV2X2ZpdmUiPT09ZSlpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtNSkuZ2V0VGltZSgpLG49by5nZXRUaW1lKCk7ZWxzZSBpZigidGhpc193ZWVrIj09PWUpe2NvbnN0IGU9KG8uZ2V0RGF5KCkrNiklNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoIm5leHRfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTctNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInByZXZfd2VlayI9PT1lKXtjb25zdCBlPShvLmdldERheSgpKzYpJTcrNztpPVUuYWRkX2RheXNfY29uc2lkZXJpbmdfZHN0KHQsbywtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDctZSkuZ2V0VGltZSgpfWVsc2UgaWYoInRoaXNfbW9udGgiPT09ZSl7Y29uc3QgZT1vLmdldERhdGUoKSxyPW5ldyBEYXRlKG8uZ2V0RnVsbFllYXIoKSxvLmdldE1vbnRoKCksMCkuZ2V0RGF0ZSgpO2k9VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLDEtZSkuZ2V0VGltZSgpLG49VS5hZGRfZGF5c19jb25zaWRlcmluZ19kc3QodCxvLHItZSkuZ2V0VGltZSgpfXJldHVybiEoIWl8fCFuKSYmW2ksbl19LHd0PXtkcjpbXy50KG51bGwsdm9pZCAwLG8oNzE0NzQ1KSksXy50KG51bGwsdm9pZCAwLG8oMjg3OTk4KSkse25vd3JhcDohMH1dLGV0ZjpbXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSksXy50KG51bGwsdm9pZCAwLG8oNjk0MDcyKSldLGNvbW1vbjpbXy50KG51bGwsdm9pZCAwLG8oOTgxMjgzKSksIiJdLApwcmVmZXJyZWQ6W18udChudWxsLHZvaWQgMCxvKDI3NTY2MikpLF8udChudWxsLHZvaWQgMCxvKDczNjYyNykpXSxjbG9zZWRlbmQ6W18udChudWxsLHZvaWQgMCxvKDYzNjAwMSkpLF8udChudWxsLHZvaWQgMCxvKDc5Njg5MSkpXSxldG46W18udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpLF8udChudWxsLHZvaWQgMCxvKDk3MjI0MCkpXSxyZWl0OltfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKSxfLnQobnVsbCx2b2lkIDAsbyg4MTAyMDIpKV0sdW5pdDpbXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSksXy50KG51bGwsdm9pZCAwLG8oNjIwMjExKSldLG11dHVhbDpbXy50KG51bGwsdm9pZCAwLG8oOTQwOTg2KSksXy50KG51bGwsdm9pZCAwLG8oNTE4MDQxKSldLHRydXN0OltfLnQobnVsbCx2b2lkIDAsbyg3MjE1MjIpKSxfLnQobnVsbCx2b2lkIDAsbygzNDQzNzUpKV0sc3RydWN0dXJlZDpbXy50KG51bGwsdm9pZCAwLG8oMjU1NjIyKSksXy50KG51bGwsdm9pZCAwLG8oMzAwMjc1KSldLHNwb3Q6W18udChudWxsLHZvaWQgMCxvKDI4MzQxNikpLCIiXSxmdXR1cmVzOltfLnQobnVsbCx2b2lkIDAsbyg5NDM5MDMpKSwiIl0scGVycGV0dWFsOltfLnQobnVsbCx2b2lkIDAsbyg1NTY4NzYpKSwiIl19LEN0PVsiZHIiLCJldGYiLCJjb21tb24iLCJwcmVmZXJyZWQiLCJjbG9zZWRlbmQiLCJldG4iLCJyZWl0IiwidW5pdCIsIm11dHVhbCIsInRydXN0Iiwic3RydWN0dXJlZCJdLGt0PVsic3BvdCIsImZ1dHVyZXMiLCJwZXJwZXR1YWwiXSxUdD1lPT5bIm9wZW4iLCJoaWdoIiwibG93IiwiY2xvc2UiXS5maWx0ZXIoKHQ9PnQhPT1lKSksRXQ9ZT0+WyJTTUE1IiwiU01BMTAiLCJTTUEyMCIsIlNNQTMwIiwiU01BNTAiLCJTTUExMDAiLCJTTUEyMDAiLCJFTUE1IiwiRU1BMTAiLCJFTUEyMCIsIkVNQTMwIiwiRU1BNTAiLCJFTUExMDAiLCJFTUEyMDAiXS5maWx0ZXIoKHQ9PnQhPT1lKSkseHQ9ZT0+WyJJY2hpbW9rdS5CTGluZSIsIkljaGltb2t1LkNMaW5lIiwiSWNoaW1va3UuTGVhZDEiLCJJY2hpbW9rdS5MZWFkMiJdLmZpbHRlcigodD0+dCE9PWUpKSxBdD1bImNyb3NzZXMiLCJjcm9zc2VzX2Fib3ZlIiwiY3Jvc3Nlc19iZWxvdyJdO2Z1bmN0aW9uIE10KGUsLi4udCl7Y29uc3Qgbz10W3QubGVuZ3RoLTFdO2lmKG8uc2VhcmNoVmFsdWUpe2NvbnN0IHQ9KDAsYWUucGFyc2VIdG1sKShlKS5jaGlsZE5vZGVzO2xldCBpPSIiO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2xhc3NMaXN0JiYodFtlXS5jbGFzc0xpc3QuY29udGFpbnMoInR2LXNjcmVlbmVyX19zeW1ib2wiKSYmKHRbZV0uaW5uZXJIVE1MPVJ0KHRbZV0udGV4dENvbnRlbnQudHJpbSgpLG8uc2VhcmNoVmFsdWUpKSxpKz10W2VdLm91dGVySFRNTCk7cmV0dXJuIGkrIiAifXJldHVybiBlfWNvbnN0IEl0PXtuYW1lOntmaXhlZDohMCxjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjEsaW5wbGFjZUVkaXRvckxlZnRPZmZzZXQ6MTAsZmlsdGVyVGl0bGU6RWUudHlwZVswXSxyYW5nZVRpdGxlczp3dCxhZGRpdGlvbmFsQ29sdW1uczpbImRlc2NyaXB0aW9uIiwibmFtZSIsInR5cGUiLCJzdWJ0eXBlIiwidXBkYXRlX21vZGUiXSxhZGRpdGlvbmFsRm9ybWF0dGVyOihlLHQsbyxpLG4scj0iIik9Pntjb25zdCBzPSgoZSx0KT0+SXQudHlwZS5kaXNhYmxlZHx8IUl0LnR5cGUuY2hlY2tlZD8iIjpgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyX190eXBlIiB0aXRsZT0iJHtJdC50eXBlLm11dGF0ZURpc3BsYXlWYWx1ZShlLHQpfSI+PHN1cD4ke0l0LnR5cGUubXV0YXRlRGlzcGxheVZhbHVlKGUsdCwhMCl9PC9zdXA+PC9zcGFuPmApKG8saSk7cmV0dXJuKChlLHQsbyxpLG4pPT57Y29uc3Qgcj1uZXcgUS5EYXRhTW9kZUluZGljYXRvcih7Y2xhc3NTdWZmaXg6Ii0tZm9yLXNjcmVlbmVyIixzaG9ydDohMH0pO2lmKG51bGwhPT1uJiYic3RyaW5nIj09dHlwZW9mIG4pe2NvbnN0IGU9KDAsei5wYXJzZVVwZGF0ZU1vZGUpKG4pO251bGw9PT1lP3Iuc2V0TW9kZShuKTpyLnNldE1vZGUoZS5tb2RlLGUuaW50ZXJ2YWwpfWlmKEl0LmRlc2NyaXB0aW9uLmRpc2FibGVkfHwhSXQuZGVzY3JpcHRpb24uY2hlY2tlZClyZXR1cm4gci5nZXRFbGVtZW50KCkub3V0ZXJIVE1MO2NvbnN0IHM9e2Rlc2NyaXB0aW9uOmUscHJvX25hbWU6aSxzaG9ydF9uYW1lOm99O2xldCBhPWU/KDAsZWUuZ2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uKShzKS50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk6IiI7SXQubmFtZS5zZWFyY2hWYWx1ZSYmKGE9UnQoYSxJdC5uYW1lLnNlYXJjaFZhbHVlKSk7Y29uc3QgbD0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWR8fEl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fZGVzY3JpcHRpb24iPiR7YX0gJHt0fTwvc3Bhbj5gOiIiO3JldHVybmAke3IuZ2V0RWxlbWVudCgpLm91dGVySFRNTH0ke2x9YH0pKGUscyx0LHIsbil9LG11dGF0ZURpc3BsYXlWYWx1ZTpNdCx0b29sdGlwOihlLHQpPT5JdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/dDplLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6Q3QsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9Pkl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uKGUpLHNlYXJjaDohMH0sZGVzY3JpcHRpb246e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITB9LGxvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGN1cnJlbmN5X2xvZ29pZDp7aGlkZGVuQ29sdW1uOiExLGhpZGVTZXR1cENvbHVtbjohMCxza2lwRmllbGQ6ITB9LGJhc2VfY3VycmVuY3lfbG9nb2lkOntoaWRkZW5Db2x1bW46ITEsaGlkZVNldHVwQ29sdW1uOiEwLHNraXBGaWVsZDohMH0sZXhjaGFuZ2U6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+IkFNRVgiPT09ZT8iTllTRSBBUkNBIjplLHJhbmdlVGl0bGVzOntBTUVYOlsiTllTRSBBUkNBIiwiTllTRSBBUkNBIix7bm93cmFwOiEwfV19fSxjZW50cmFsaXphdGlvbjp7CmNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITAscmFuZ2VUaXRsZXM6e2NleDpbIkNFWCIsIkNFWCJdLGRleDpbIkRFWCIsIkRFWCJdfX0sc3VibWFya2V0Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHNlY3Rvcjp7Y2F0ZWdvcnk6MSxmaWx0ZXJDb25kaXRpb246InNlbGVjdCIsc291cmNlUmFuZ2U6WyJNYWpvciIsIk1pbm9yIiwiRXhvdGljIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1NdChlLHQpO3JldHVybigwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShvKX19LGluZGV4Ontjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjEsaGlkZVNldHVwQ29sdW1uOiEwLGdyb3VwRmlsdGVyOiEwLGN1c3RvbUZpbHRlckNvbmRpdGlvbjplPT57Y29uc3QgdD1JdC5pbmRleC5zb3VyY2VSYW5nZT9JdC5pbmRleC5zb3VyY2VSYW5nZS5maW5kKCh0PT50Lm5hbWU9PT1lKSk6bnVsbDtyZXR1cm4hIXQmJnt0eXBlOiJpbmRleCIsdmFsdWVzOlt0LmlkXX19fSxpbmR1c3RyeTp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeToxfSxjb3VudHJ5Ontjb250cm9sOiJzZWxlY3QiLGNhdGVnb3J5OjF9LHR5cGU6e2hpZGRlbkNvbHVtbjohMCxoaWRlU2V0dXBDb2x1bW46ITAsZmlsdGVyQ29uZGl0aW9uOiJzZWxlY3QiLGNhdGVnb3J5OjEscmFuZ2VUaXRsZXM6d3Qsc29ydGFibGVDb2x1bW46ITEscmVzZXR0YWJsZUZpbHRlcjohMSx1c2VEZWZhdWx0UmFuZ2U6ITAsZGVmYXVsdFJhbmdlOkN0LGFkZGl0aW9uYWxDb2x1bW5zOlsic3VidHlwZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTooZSx0LG89ITEpPT50JiZ3dFt0XT93dFt0XVtvPzE6MF06d3RbZV0/d3RbZV1bbz8xOjBdOiIiLGN1c3RvbUZpbHRlckNvbmRpdGlvbjp5ZX0sbWFya2V0X2NhcF9iYXNpYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxtYXJrZXRfY2FwX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sbWFya2V0X2NhcF9kaWx1dGVkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sdm9sdW1lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LGF2ZXJhZ2Vfdm9sdW1lXzEwZF9jYWxjOnt0aXRsZTpFZS5hdmVyYWdlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLmF2ZXJhZ2Vfdm9sdW1lWzFdLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLHVzZURlZmF1bHRUaW1lSW50ZXJ2YWw6ITB9LGF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbDohMH0sYXZlcmFnZV92b2x1bWVfOTBkX2NhbGM6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSx1c2VEZWZhdWx0VGltZUludGVydmFsOiEwfSxyZWxhdGl2ZV92b2x1bWVfMTBkX2NhbGM6e3RpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZVsxXSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSwicmVsYXRpdmVfdm9sdW1lX2ludHJhZGF5LjUiOnt0aXRsZTpFZS5yZWxhdGl2ZV92b2x1bWVfYXRfdGltZVswXSxzaG9ydFRpdGxlOkVlLnJlbGF0aXZlX3ZvbHVtZV9hdF90aW1lWzFdLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjEsdXNlRGVmYXVsdFRpbWVJbnRlcnZhbEZyb21GaWVsZE5hbWU6ITB9LGNoYW5nZTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xNSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2UuNjAiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6e3N0b2NrOlsiY2hhbmdlIiwicHJlbWFya2V0X2NoYW5nZSIsInBvc3RtYXJrZXRfY2hhbmdlIl0sZGVmYXVsdDpbXX0sZm9ybWF0dGVyOmF0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MywKaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOntzdG9jazpbImNoYW5nZSIsInByZW1hcmtldF9jaGFuZ2UiLCJwb3N0bWFya2V0X2NoYW5nZSJdLGRlZmF1bHQ6W119LGZvcm1hdHRlcjphdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZS4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczp7c3RvY2s6WyJjaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2UiXSxkZWZhdWx0OltdfSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LGNoYW5nZV9hYnM6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjEiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy41Ijp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMTUiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiY2hhbmdlX2Ficy42MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjI0MCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJjaGFuZ2VfYWJzLjFXIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sImNoYW5nZV9hYnMuMU0iOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxiaWQ6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjEsbXV0YXRlRGlzcGxheVZhbHVlOmU9PmA8c3Bhbj4ke2V9PC9zcGFuPmB9LGFzazp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0sb3Blbjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJvcGVuIikuY29uY2F0KCJwcmVtYXJrZXRfb3BlbiIsInBvc3RtYXJrZXRfb3BlbiIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgib3BlbiIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgib3BlbiIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxjbG9zZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksY29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJjbG9zZSIpLmNvbmNhdCgicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJjbG9zZSIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiY2xvc2UiKS5jb25jYXQoRXQoKSwiQkIudXBwZXIiLCJCQi5sb3dlciIsIkh1bGxNQTkiLHh0KCkpfSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MSxtdXRhdGVEaXNwbGF5VmFsdWU6ZT0+YDxzcGFuPiR7ZX08L3NwYW4+YH0saGlnaDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6e3N0b2NrOlR0KCJoaWdoIikuY29uY2F0KCJwcmVtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfaGlnaCIsInByZW1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfY2xvc2UiLEV0KCksIkh1bGxNQTkiLCJCQi51cHBlciIsIkJCLmxvd2VyIix4dCgpKSxmb3JleDpUdCgiaGlnaCIpLmNvbmNhdCgiYmlkIiwiYXNrIixFdCgpLCJIdWxsTUE5IiwiQkIudXBwZXIiLCJCQi5sb3dlciIseHQoKSksZGVmYXVsdDpUdCgiaGlnaCIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOnsKc3RvY2s6VHQoImxvdyIpLmNvbmNhdCgicHJlbWFya2V0X2xvdyIsInBvc3RtYXJrZXRfbG93IiwicHJlbWFya2V0X2Nsb3NlIiwicG9zdG1hcmtldF9jbG9zZSIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGZvcmV4OlR0KCJsb3ciKS5jb25jYXQoImJpZCIsImFzayIsRXQoKSwiSHVsbE1BOSIsIkJCLnVwcGVyIiwiQkIubG93ZXIiLHh0KCkpLGRlZmF1bHQ6VHQoImxvdyIpLmNvbmNhdChFdCgpLCJCQi51cHBlciIsIkJCLmxvd2VyIiwiSHVsbE1BOSIseHQoKSl9LGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeToxfSxnYXA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmljZV9lYXJuaW5nc190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LHByaWNlX3NhbGVzX3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fYXNzZXRzOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxyZXR1cm5fb25fZXF1aXR5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxkZWJ0X3RvX2VxdWl0eTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeToyfSxjdXJyZW50X3JhdGlvOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxxdWlja19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfYm9va19yYXRpbzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0scHJpY2VfZnJlZV9jYXNoX2Zsb3dfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxiZXRhXzFfeWVhcjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxvcGVyYXRpbmdfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2Jhc2ljX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWJpdGRhOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNoYW5nZV9mcm9tX29wZW46e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjaGFuZ2VfZnJvbV9vcGVuX2Ficzp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuVyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4xTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi4zTSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi42TSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSwiUGVyZi5ZIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJQZXJmLllURCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsCmZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuNVkiOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0sIlBlcmYuQWxsIjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LCJWb2xhdGlsaXR5LlciOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5Lk0iOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LCJWb2xhdGlsaXR5LkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjN9LFJTSTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSU0kiLCJSU0lbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JTSVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUlNJU2lnbmFsfSxSU0k3Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJTSTciLCJSU0k3WzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NSU0lTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVJTSVNpZ25hbH0sQURYOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkFEWCIsIkFEWCtESSIsIkFEWC1ESSIsIkFEWCtESVsxXSIsIkFEWC1ESVsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzQURYU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVBRFhTaWduYWx9LCJBRFgrREkiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIkFEWC1ESSJdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6M30sIkFEWC1ESSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlsiQURYK0RJIl0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeTozfSxBVFI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSxNb206e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiTW9tIiwiTW9tWzFdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNb21TaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1vbVNpZ25hbH0sIkhpZ2guQWxsIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy5BbGwiOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LHByaWNlXzUyX3dlZWtfaGlnaDp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30scHJpY2VfNTJfd2Vla19sb3c6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30saXNfcHJpbWFyeTp7dGl0bGU6RWUuaXNfcHJpbWFyeVswXSxjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sY2F0ZWdvcnk6MX0sYWN0aXZlX3N5bWJvbDp7aGlkZVNldHVwQ29sdW1uOiEwLGNvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxjYXRlZ29yeToxfSwiSGlnaC42TSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWxlc3MiLHZhbHVlOiJoaWdoIn0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJMb3cuNk0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0sZm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJIaWdoLjNNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkxvdy4zTSI6e2NvbnRyb2w6InRvZ2dsZSIsZmlsdGVyOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkhpZ2guMU0iOntjb250cm9sOiJ0b2dnbGUiLGZpbHRlcjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiTG93LjFNIjp7Y29udHJvbDoidG9nZ2xlIixmaWx0ZXI6e29wZXJhdG9yOiJlZ3JlYXRlciIsdmFsdWU6ImxvdyJ9LApmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sRU1BNTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTUiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUExMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUExMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTIwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkVNQTIwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMzA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJFTUEzMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMzAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxFTUE1MDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTUwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUE1MCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LEVNQTEwMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIkVNQTEwMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiRU1BMTAwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sRU1BMjAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiRU1BMjAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJFTUEyMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUE1Ontjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BNSIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTEwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTEwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMjA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMCIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU01BMjAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEzMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoIlNNQTMwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUEzMCIsImNsb3NlIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlTUFTaWduYWx9LFNNQTUwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BNTAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTUwIiwiY2xvc2UiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc01BU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQVNpZ25hbH0sU01BMTAwOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgiU01BMTAwIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJTTUExMDAiLCJjbG9zZSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSxTTUEyMDA6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJTTUEyMDAiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlNNQTIwMCIsImNsb3NlIl0sCm11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzTUFTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZU1BU2lnbmFsfSwiU3RvY2guSyI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guRCJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiU3RvY2guSyIsIlN0b2NoLkQiLCJTdG9jaC5LWzFdIiwiU3RvY2guRFsxXSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU3RvY2hTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVN0b2NoU2lnbmFsfSwiU3RvY2guRCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiU3RvY2guSyJdKSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sIk1BQ0QubWFjZCI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiTUFDRC5zaWduYWwiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIk1BQ0QubWFjZCIsIk1BQ0Quc2lnbmFsIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NNQUNEU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVNQUNEU2lnbmFsfSwiTUFDRC5zaWduYWwiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIk1BQ0QubWFjZCJdKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sIkFyb29uLlVwIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5Eb3duIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJBcm9vbi5Eb3duIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6WyJBcm9vbi5VcCJdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSwiQkIudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLmxvd2VyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIudXBwZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCU2VsbFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQkJTZWxsU2lnbmFsfSwiQkIubG93ZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIkJCLnVwcGVyIiwiS2x0Q2hubC51cHBlciIsIktsdENobmwubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbImNsb3NlIiwiQkIubG93ZXIiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0JCQnV5U2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVCQkJ1eVNpZ25hbH0sIktsdENobmwudXBwZXIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChbIktsdENobmwubG93ZXIiLCJCQi51cHBlciIsIkJCLmxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiS2x0Q2hubC5sb3dlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiS2x0Q2hubC51cHBlciIsIkJCLnVwcGVyIiwiQkIubG93ZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJQLlNBUiI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlAuU0FSIiwib3BlbiJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUFNBUlNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUFNBUlNpZ25hbH0sIlZhbHVlLlRyYWRlZCI6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MSxyYW5nZTpbTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJ8fE1hdGgucG93KDIsNTMpLTFdLHZhbHVlczpbNWU0LDFlNSw1ZTUsNzVlNCwxZTYsMmU2LDVlNiwxZTcsMmU3LDVlN119LE1vbmV5Rmxvdzp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LENoYWlraW5Nb25leUZsb3c6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozfSxnb29kd2lsbDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxuZXRfZGVidDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9kZWJ0Ontjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldmVudWVfcGVyX2VtcGxveWVlOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHJldHVybl9vbl9pbnZlc3RlZF9jYXBpdGFsOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sYWZ0ZXJfdGF4X21hcmdpbjp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHByZV90YXhfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfbWFyZ2luOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCwKY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxvcGVyX2luY29tZV9tYXJnaW5fZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxuZXRfaW5jb21lX2JlZl9kaXNjX29wZXJfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfbWFyZ2luX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHNlbGxfZ2VuX2FkbWluX2V4cF9vdGhlcl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0sc2VsbF9nZW5fYWRtaW5fZXhwX290aGVyX3JhdGlvX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb19meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6Mn0scmVzZWFyY2hfYW5kX2Rldl9yYXRpb190dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kc19wYWlkOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGRpdmlkZW5kX3lpZWxkX3JlY2VudDp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGJhc2ljX2Vwc19uZXRfaW5jb21lOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxuZXRfaW5jb21lOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGdyb3NzX3Byb2ZpdDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxncm9zc19wcm9maXRfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sbnVtYmVyX29mX3NoYXJlaG9sZGVyczp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxmbG9hdF9zaGFyZXNfb3V0c3RhbmRpbmc6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfc2hhcmVzX291dHN0YW5kaW5nX2Z1bmRhbWVudGFsOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3NoYXJlc19vdXRzdGFuZGluZzp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF9zaGFyZXNfZGlsdXRlZDp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSx0b3RhbF92YWx1ZV90cmFkZWQ6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX2N1cnJlbnRfYXNzZXRzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LHRvdGFsX3JldmVudWU6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnk6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sdG90YWxfbGlhYmlsaXRpZXNfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sZGl2aWRlbmRzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyfSxlbnRlcnByaXNlX3ZhbHVlX2ViaXRkYV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVudGVycHJpc2VfdmFsdWVfZnE6e2NvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0scHJpY2VfcmV2ZW51ZV90dG06e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjIKfSxudW1iZXJfb2ZfZW1wbG95ZWVzOntjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGxhc3RfYW5udWFsX2Vwczp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sbGFzdF9hbm51YWxfcmV2ZW51ZTp7Y29udHJvbDoicmFuZ2UiLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxDQ0kyMDp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIkNDSTIwIiwiQ0NJMjBbMV0iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc0NDSTIwU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVDQ0kyMFNpZ25hbH0sIkRvbmNoQ2gyMC5VcHBlciI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KFsiRG9uY2hDaDIwLkxvd2VyIl0pLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiRG9uY2hDaDIwLkxvd2VyIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoWyJEb25jaENoMjAuVXBwZXIiXSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LEh1bGxNQTk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KEV0KCJIdWxsTUE5IikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuSHVsbE1BOSJdLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzU2ltcGxlU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVTaW1wbGVTaWduYWx9LEFPOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiQU8iLCJBT1sxXSIsIkFPWzJdIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NBT1NpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlQU9TaWduYWx9LCJQaXZvdC5NLkNsYXNzaWMuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlIzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uQ2xhc3NpYy5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNsYXNzaWMuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DbGFzc2ljLlMzIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5SMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkZpYm9uYWNjaS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkNhbWFyaWxsYS5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUjMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5DYW1hcmlsbGEuUzMiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5Xb29kaWUuTWlkZGxlIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIxIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIyIjp7Zm9ybWF0dGVyOm50LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsYWxpZ246InJpZ2h0In0sIlBpdm90Lk0uV29vZGllLlIzIjp7CmZvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMSI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMiI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLldvb2RpZS5TMyI6e2Zvcm1hdHRlcjpudCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGFsaWduOiJyaWdodCJ9LCJQaXZvdC5NLkRlbWFyay5NaWRkbGUiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUjEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSwiUGl2b3QuTS5EZW1hcmsuUzEiOntmb3JtYXR0ZXI6bnQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxhbGlnbjoicmlnaHQifSxjYW5kbGVzdGljazp7YWxpYXM6Im5hbWUiLGNvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6Myxzb3J0YWJsZUNvbHVtbjohMSxhZGRpdGlvbmFsQ29sdW1uczpvdC5tYXAoKGU9PmUua2V5KSksbXV0YXRlRGlzcGxheVZhbHVlOihlLC4uLnQpPT57Y29uc3Qgbz1bXTtmb3IobGV0IGU9MDtlPG90Lmxlbmd0aDsrK2UpdFtlXSYmby5wdXNoKG90W2VdKTtyZXR1cm4gby5sZW5ndGg/by5tYXAoKGU9PmA8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3BhdHRlcm5faWNvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBjb21tb24tdG9vbHRpcC1iZWxvdyBjb21tb24tdG9vbHRpcC1odG1sIiBkYXRhLWNvbG9yLXRoZW1lPSJyb3VuZC1zaGFkb3ciIHRpdGxlPSc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fcGF0dGVybl90b29sdGlwX2NvbnRhaW5lciI+JHtlLnN2Z308ZGl2PiR7ZS5uYW1lfTwvZGl2PjwvZGl2Pic+JHtlLnN2Z308L3NwYW4+YCkpLmpvaW4oIiAiKTonPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19wYXR0ZXJuX2VtcHR5Ij7igJQ8L3NwYW4+J30scmFuZ2U6b3QubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTpvdCxjdXN0b21GaWx0ZXJDb25kaXRpb246ZT0+e0FycmF5LmlzQXJyYXkoZSl8fChlPVtlXSk7cmV0dXJue2xlZnQ6ZS5tYXAoKGU9PmJ0KGUsb3QpKSkuam9pbigiLCIpLG9wZXJhdGlvbjoiZXF1YWwiLHJpZ2h0OjF9fX0sdXBkYXRlX21vZGU6e2hpZGRlbkNvbHVtbjohMSxoaWRlU2V0dXBDb2x1bW46ITAsc2tpcEZpZWxkOiEwfSxwcmVtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjU3MTMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIwODg0NikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfYWJzOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1OTc3NjMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ2NTU3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZV9hYnMiXSxmb3JtYXR0ZXI6aXQsZm9yZXhGb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY5NjkpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY0MjMyOCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwcmVtYXJrZXRfY2hhbmdlX2Zyb21fb3Blbl9hYnM6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUwODI3NikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDk5NDk1KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjppdCxmb3JleEZvcm1hdHRlcjppdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzODY0NzQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM4NjQ3NCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHByZW1hcmtldF9nYXA6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUxMTMxMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTExMzEzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOlsiZ2FwIl0sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeTozLGhpZ2hsaWdodENoYW5nZTohMH0scHJlbWFya2V0X2hpZ2g6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0NTgxMikpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjQ1ODEyKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNDI1MjAwKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0MjUyMDApKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwcmVtYXJrZXRfb3Blbjp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksCnNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjE2NzY0KSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scHJlbWFya2V0X3ZvbHVtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTcxNDE1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNzE0MTUpKSxjb250cm9sOiJyYW5nZSIsZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfY2hhbmdlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzOTk5NjgpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MzcwMykpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbImNoYW5nZSJdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MyxoaWdobGlnaHRDaGFuZ2U6ITB9LHBvc3RtYXJrZXRfY2hhbmdlX2Ficzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzAwNjU1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTI3MjIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6WyJjaGFuZ2VfYWJzIl0sZm9ybWF0dGVyOml0LGZvcmV4Rm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxwb3N0bWFya2V0X2Nsb3NlOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3ODgwMDIpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc4ODAwMikpLGNvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjF9LHBvc3RtYXJrZXRfaGlnaDp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQyMjk5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3NDIyOTkpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X2xvdzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTM2OTAyKSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMzY5MDIpKSxjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxwb3N0bWFya2V0X29wZW46e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NzMzMykpLHNob3J0VGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzk3MzMzKSksY29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0scG9zdG1hcmtldF92b2x1bWU6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5OTI2KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg3OTkyNikpLGNvbnRyb2w6InJhbmdlIixmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6MX0sZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LGVhcm5pbmdzX3Blcl9zaGFyZV9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxmaWx0ZXJGb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6Mn0sZWFybmluZ3NfcmVsZWFzZV9kYXRlOntjb250cm9sOiJzZWxlY3QiLGlzU2luZ2xlOiEwLGNhdGVnb3J5OjIsc29ydGFibGU6ITEsdXNlRGVmYXVsdFJhbmdlOiEwLGRlZmF1bHRSYW5nZTp1dC5maWx0ZXIoKGU9Pi0xIT09X3QuaW5kZXhPZihlLmtleSkpKS5tYXAoKGU9PmUubmFtZSkpLHNvdXJjZVJhbmdlOnV0LGN1c3RvbUZpbHRlckNvbmRpdGlvbjpndCgiZWFybmluZ3NfcmVsZWFzZV9kYXRlIiksZm9ybWF0dGVyOmN0fSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTp7Y29udHJvbDoic2VsZWN0Iixpc1NpbmdsZTohMCxjYXRlZ29yeToyLHNvcnRhYmxlOiExLHVzZURlZmF1bHRSYW5nZTohMCxkZWZhdWx0UmFuZ2U6dXQuZmlsdGVyKChlPT4tMSE9PXB0LmluZGV4T2YoZS5rZXkpKSkubWFwKChlPT5lLm5hbWUpKSxzb3VyY2VSYW5nZTp1dCxjdXN0b21GaWx0ZXJDb25kaXRpb246Z3QoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksZm9ybWF0dGVyOmN0fSwiUmVjb21tZW5kLkFsbCI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5BbGwiKX0sIlJlY29tbWVuZC5NQSI6e2NvbnRyb2w6InNlbGVjdCIsY2F0ZWdvcnk6MyxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1JlY29tbWVuZFNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlUmVjb21tZW5kU2lnbmFsLHVzZURlZmF1bHRSYW5nZTohMCxzb3J0YWJsZTohMSxzb3J0U2VsZWN0ZWRGaXJzdDohMSxkZWZhdWx0UmFuZ2U6ZHQsY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5NQSIpfSwiUmVjb21tZW5kLk90aGVyIjp7Y29udHJvbDoic2VsZWN0IixjYXRlZ29yeTozLG11dGF0ZURpc3BsYXlWYWx1ZTpuZS5wcm9jZXNzUmVjb21tZW5kU2lnbmFsLHNpZ25hbENvbXB1dGF0aW9uOmllLmNvbXB1dGVSZWNvbW1lbmRTaWduYWwsdXNlRGVmYXVsdFJhbmdlOiEwLHNvcnRhYmxlOiExLHNvcnRTZWxlY3RlZEZpcnN0OiExLGRlZmF1bHRSYW5nZTpkdCwKY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmU9PnNlKGUsIlJlY29tbWVuZC5PdGhlciIpfSwiU3RvY2guUlNJLksiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5EIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5TdG9jaC5SU0kiXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSwiU3RvY2guUlNJLkQiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbIlN0b2NoLlJTSS5LIl0sZm9ybWF0dGVyOm50LGNhdGVnb3J5OjN9LCJXLlIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLldSIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sUk9DOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsY2F0ZWdvcnk6M30sQkJQb3dlcjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5CQlBvd2VyIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sVU86e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpudCxjYXRlZ29yeTozLGRpc3BsYXlTaWduYWw6ITAsYWRkaXRpb25hbENvbHVtbnM6WyJSZWMuVU8iXSxtdXRhdGVEaXNwbGF5VmFsdWU6bmUucHJvY2Vzc1NpbXBsZVNpZ25hbCxzaWduYWxDb21wdXRhdGlvbjppZS5jb21wdXRlU2ltcGxlU2lnbmFsfSxWV0FQOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdChFdCgpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6M30sVldNQTp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoRXQoKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjMsZGlzcGxheVNpZ25hbDohMCxhZGRpdGlvbmFsQ29sdW1uczpbIlJlYy5WV01BIl0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sQURSOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuQ0xpbmUiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuQ0xpbmUiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LCJJY2hpbW9rdS5CTGluZSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOlR0KCkuY29uY2F0KHh0KCJJY2hpbW9rdS5CTGluZSIpKSxmb3JtYXR0ZXI6aXQsY2F0ZWdvcnk6MyxkaXNwbGF5U2lnbmFsOiEwLGFkZGl0aW9uYWxDb2x1bW5zOlsiUmVjLkljaGltb2t1Il0sbXV0YXRlRGlzcGxheVZhbHVlOm5lLnByb2Nlc3NTaW1wbGVTaWduYWwsc2lnbmFsQ29tcHV0YXRpb246aWUuY29tcHV0ZVNpbXBsZVNpZ25hbH0sIkljaGltb2t1LkxlYWQxIjp7Y29udHJvbDoiY29uZGl0aW9uIixjb25kaXRpb25GaWVsZHM6VHQoKS5jb25jYXQoeHQoIkljaGltb2t1LkxlYWQxIikpLGZvcm1hdHRlcjppdCxjYXRlZ29yeTozfSwiSWNoaW1va3UuTGVhZDIiOntjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpUdCgpLmNvbmNhdCh4dCgiSWNoaW1va3UuTGVhZDIiKSksZm9ybWF0dGVyOml0LGNhdGVnb3J5OjN9LGVsZW1lbnRzOntoaWRkZW5PcGVyYXRvcnM6QXQsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTA1ODM1KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5MDU4MzUpKSxjb250cm9sOiJjb25kaXRpb24iLGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6cnQsY2F0ZWdvcnk6MX0sYmFzaWNfZWxlbWVudHM6e2hpZGRlbk9wZXJhdG9yczpBdCx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLGNvbnRyb2w6ImNvbmRpdGlvbiIsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpydCxjYXRlZ29yeToxfSxkcHNfY29tbW9uX3N0b2NrX3ByaW1faXNzdWVfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6bnQsZmlsdGVyRm9ybWF0dGVyOnJ0LGNhdGVnb3J5OjJ9LCIyNGhfdm9sfDUiOntjYXRlZ29yeToxLGZvcm1hdHRlcjpzdCxjb250cm9sOiJyYW5nZSIsdGl0bGU6RWVbIjI0aF92b2x8NSJdWzBdLHNob3J0VGl0bGU6RWVbIjI0aF92b2x8NSJdWzFdfSwiMjRoX3ZvbF9jaGFuZ2V8NSI6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsY2F0ZWdvcnk6MSxoaWdobGlnaHRDaGFuZ2U6ITB9LGN1cnJlbmN5Ontjb250cm9sOiJzZWxlY3QiLGRlZmF1bHRSYW5nZTpbIlVTRCIsIlVTRFQiLCJVU0RDIiwiQlVTRCIsIkJUQyIsIkVUSCIsIkRBSSIsIkJOQiIsIldCVEMiLCJXRVRIIl0sZGlzYWJsZWQ6ITAsY2F0ZWdvcnk6MSxoaWRlU2V0dXBDb2x1bW46ITB9LHRvdGFsX3JldmVudWVfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX3JldmVudWVfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsCmNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxncm9zc19wcm9maXRfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxlYml0ZGFfcW9xX2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGViaXRkYV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWJpdGRhX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV9xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sbmV0X2luY29tZV95b3lfZ3Jvd3RoX3R0bTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxmcmVlX2Nhc2hfZmxvd19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwCn0sZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF9meTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LGVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfdHRtOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sZHBzX2NvbW1vbl9zdG9ja19wcmltX2lzc3VlX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9hc3NldHNfeW95X2dyb3d0aF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LHRvdGFsX2Fzc2V0c19xb3FfZ3Jvd3RoX2ZxOntjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOmF0LGZpbHRlckZvcm1hdHRlcjpsdCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sdG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSx0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6YXQsZmlsdGVyRm9ybWF0dGVyOmx0LGNhdGVnb3J5OjIsaGlnaGxpZ2h0Q2hhbmdlOiEwfSxjYXNoX25fZXF1aXZhbGVudHNfZnE6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn0sY2FzaF9uX2VxdWl2YWxlbnRzX2Z5Ontjb250cm9sOiJjb25kaXRpb24iLGhpZGRlbk9wZXJhdG9yczpBdCxjb25kaXRpb25GaWVsZHM6W10sZm9ybWF0dGVyOnN0LGNhdGVnb3J5OjJ9LGNhc2hfbl9zaG9ydF90ZXJtX2ludmVzdF9mcTp7Y29udHJvbDoiY29uZGl0aW9uIixoaWRkZW5PcGVyYXRvcnM6QXQsY29uZGl0aW9uRmllbGRzOltdLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToyfSxjYXNoX25fc2hvcnRfdGVybV9pbnZlc3RfZnk6e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSxmb3JtYXR0ZXI6c3QsY2F0ZWdvcnk6Mn19O2Z1bmN0aW9uIFJ0KGUsdCl7dD10LnJlcGxhY2UoLyhccyspLywiKDxbXj5dKz4pKiQxKDxbXj5dKz4pKiIpO2NvbnN0IG89bmV3IFJlZ0V4cCgiKCIrdCsiKSIsImdpIik7cmV0dXJuIGUucmVwbGFjZShvLCI8bWFyaz4kMTwvbWFyaz4iKX1mdW5jdGlvbiBGdChlLHQpe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXtjb25zdCBpPWVbb107aS5sZWZ0JiZJdFtpLmxlZnRdJiYoaS5sZWZ0PWhlKGkubGVmdCx0KSl9fWZ1bmN0aW9uIEx0KGUsdCxvLGkpe2lmKEFycmF5LmlzQXJyYXkodCkmJjA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG49byYmb1tlXT9vW2VdOnQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLmN1c3RvbUZpbHRlckNvbmRpdGlvbil7Y29uc3QgdD1JdFtlXS5jdXN0b21GaWx0ZXJDb25kaXRpb24obik7aWYodClyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT9GdCh0LGkpOigiY2FuZGxlc3RpY2siPT09ZSYmKHQubGVmdD10LmxlZnQuc3BsaXQoIiwiKS5tYXAoKGU9PmhlKGUsaSkpKS5qb2luKCIsIikpLHQubGVmdCYmSXRbdC5sZWZ0XSYmKHQubGVmdD1oZSh0LmxlZnQsaSkpKSx0LmZpbHRlck9SJiYoRnQodC5maWx0ZXIsaSksRnQodC5maWx0ZXJPUixpKSksdC5maWx0ZXIyRmxhZyYmKEZ0KHQuZmlsdGVyLGkpLEZ0KHQuZmlsdGVyMkFuZFBhcnQsaSkpLHR9aWYoImZ1bmN0aW9uIj09dHlwZW9mIEl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKXtjb25zdCB0PUl0W2VdLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlKG4pO3QmJihuPXQpfWNvbnN0IHI9QXJyYXkuaXNBcnJheShuKTtpZihuJiYib2JqZWN0Ij09dHlwZW9mIG4mJiFyKXtjb25zdCB0PXtsZWZ0OmUsb3BlcmF0aW9uOm4ub3BlcmF0b3J9O3JldHVybiBuLnZhbHVlJiYodC5yaWdodD1uLnZhbHVlKSx0fXJldHVybntsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOnI/ImluX3JhbmdlIjoiZXF1YWwiLHJpZ2h0OnI/bi5zbGljZSgpOm59fWZ1bmN0aW9uIER0KGUsdCxvLGkpe2lmKG10KHQpJiZtdChvKSl0aHJvdyBuZXcgRXJyb3IoIkVtcHR5IHZhbHVlIik7bGV0IG4scj17fTtzd2l0Y2goSXRbZV0uY29udHJvbCl7Y2FzZSJyYW5nZSI6aWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiYhQXJyYXkuaXNBcnJheSh0KSl7cj17bGVmdDplLG9wZXJhdGlvbjp0Lm9wZXJhdG9yfSx0LnZhbHVlJiYoci5yaWdodD10LnZhbHVlKTticmVha30KdmFyIHM9bz9BcnJheS5pc0FycmF5KG9bZV0pJiZvW2VdLnNsaWNlKCl8fFtdOnQuc2xpY2UoKTtyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJpbl9yYW5nZSIscmlnaHQ6c30sMj09PXMubGVuZ3RoJiYoMCxILmlzTnVtYmVyKShzWzBdKSYmKDAsSC5pc051bWJlcikoc1sxXSkmJigtMWUxMDA9PStzWzBdP3I9e2xlZnQ6aGUoZSxpKSxvcGVyYXRpb246ImVsZXNzIixyaWdodDpzWzFdfToxZTEwMD09K3NbMV0mJihyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOiJlZ3JlYXRlciIscmlnaHQ6c1swXX0pKTticmVhaztjYXNlImNvbmRpdGlvbiI6aWYobXQodC5vcGVyYXRvcikpdGhyb3cgbmV3IEVycm9yKCJFbXB0eSB2YWx1ZSBvcGVyYXRvciIpO2lmKG10KHQudmFsdWUpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgdmFsdWUiKTtuPW8mJm9bZV0udmFsdWU/b1tlXS52YWx1ZTp0LnZhbHVlLEl0W25dJiYobj1oZShuLGkpKSxyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjp0Lm9wZXJhdG9yLHJpZ2h0Om59O2JyZWFrO2Nhc2UidG9nZ2xlIjpyPXtsZWZ0OmhlKGUsaSksb3BlcmF0aW9uOm8mJm9bZV0ub3BlcmF0b3I/b1tlXS5vcGVyYXRvcjpJdFtlXS5maWx0ZXIub3BlcmF0b3IscmlnaHQ6byYmb1tlXS52YWx1ZT9vW2VdLnZhbHVlOkl0W2VdLmZpbHRlci52YWx1ZX07YnJlYWs7Y2FzZSJzZWxlY3QiOnI9THQoZSx0LG8saSk7YnJlYWs7ZGVmYXVsdDoic2VsZWN0Ij09PUl0W2VdLmZpbHRlckNvbmRpdGlvbiYmKHI9THQoZSx0LG8saSkpfXJldHVybiByfWZ1bmN0aW9uIE90KGUsdCl7IWZ1bmN0aW9uKGUsdCl7Zm9yKGNvbnN0IG8gaW4gZSllW29dLmRpc2FibGVkPTI9PT1lW29dLmNhdGVnb3J5fHx0LmluY2x1ZGVzKG8pfShlLCh0fHxbXSkuY29uY2F0KCJ0eXBlIiwiaW5kdXN0cnkiLCJtYXJrZXRfY2FwX2Jhc2ljIiwiYmV0YV8xX3llYXIiLCJWYWx1ZS5UcmFkZWQiLCJNb25leUZsb3ciLCJDaGFpa2luTW9uZXlGbG93IiwiZWxlbWVudHMiLCJiYXNpY19lbGVtZW50cyIsInByZW1hcmtldF9jaGFuZ2UiLCJwcmVtYXJrZXRfY2hhbmdlX2FicyIsInByZW1hcmtldF9jaGFuZ2VfZnJvbV9vcGVuIiwicHJlbWFya2V0X2NoYW5nZV9mcm9tX29wZW5fYWJzIiwicHJlbWFya2V0X2Nsb3NlIiwicHJlbWFya2V0X2dhcCIsInByZW1hcmtldF9oaWdoIiwicHJlbWFya2V0X2xvdyIsInByZW1hcmtldF9vcGVuIiwicHJlbWFya2V0X3ZvbHVtZSIsInBvc3RtYXJrZXRfY2hhbmdlIiwicG9zdG1hcmtldF9jaGFuZ2VfYWJzIiwicG9zdG1hcmtldF9jbG9zZSIsInBvc3RtYXJrZXRfaGlnaCIsInBvc3RtYXJrZXRfbG93IiwicG9zdG1hcmtldF9vcGVuIiwicG9zdG1hcmtldF92b2x1bWUiKSl9ZnVuY3Rpb24gTnQoKXtmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyhFZSkpZSBpbiBJdCYmKEl0W2VdLnRpdGxlPUl0W2VdLnRpdGxlfHxFZVtlXVswXSxJdFtlXS5zaG9ydFRpdGxlPUl0W2VdLnNob3J0VGl0bGV8fEVlW2VdWzFdKX1mdW5jdGlvbiBQdChlLHQpe2lmKGRlbGV0ZSBJdC5uYW1lLmNvbnRyb2wsTnQoKSwiZm9yZXgiPT09ZSYmKEl0LmNvdW50cnkudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjI0ODIxKSksSXQuY291bnRyeS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDIyNDgyMSkpLGRlbGV0ZSBJdC5zZWN0b3IuY29udHJvbCxJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODYyOTQ5KSksSXQuc2VjdG9yLnJlc2V0dGFibGVGaWx0ZXI9ITEsSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlPWU9PiEhZSYmKEFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKGU9PnZ0KGUsaHQpKSk6dnQoZSxodCkpKSwic3RvY2siPT09ZSl7SXQuc2VjdG9yLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDI3ODcyOSkpLEl0LnR5cGUuY3VzdG9tRmlsdGVyQ29uZGl0aW9uPXllLEl0LnR5cGUuZGVmYXVsdFJhbmdlPUN0LEl0Lm5hbWUuZGVmYXVsdFJhbmdlPUN0LEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwLGRlbGV0ZSBJdC5zZWN0b3IubXV0YXRlRmlsdGVyQ29uZGl0aW9uVmFsdWU7Zm9yKGNvbnN0IGUgaW4gSXQpSXRbZV0uZGlzYWJsZWQ9ITF9WyJzdG9jayIsImNyeXB0byJdLmluY2x1ZGVzKGUpJiYoSXQubmFtZS5jb250cm9sPSJzZWxlY3QiKSwiY3J5cHRvIj09PWUmJihJdC5zZWN0b3IudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNTQ1OCkpLEl0LnNlY3Rvci5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDU0NTgpKSxJdC5zZWN0b3IuY29udHJvbD0ic2VsZWN0IixJdC5zZWN0b3IucmVzZXR0YWJsZUZpbHRlcj0hMCxkZWxldGUgSXQuc2VjdG9yLm11dGF0ZUZpbHRlckNvbmRpdGlvblZhbHVlLEl0Lm5hbWUuYWRkaXRpb25hbENvbHVtbnMucHVzaCgiZXhjaGFuZ2UiKSxJdC50eXBlLmRlZmF1bHRSYW5nZT1rdCxJdC5uYW1lLmRlZmF1bHRSYW5nZT1rdCxJdC50eXBlLmN1c3RvbUZpbHRlckNvbmRpdGlvbj1iZSksImNyeXB0byIhPT1lJiYoSXQubmFtZS5hZGRpdGlvbmFsQ29sdW1ucz1JdC5uYW1lLmFkZGl0aW9uYWxDb2x1bW5zLmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUpKSksImNyeXB0b19ta3QiPT09ZSYmKEl0LnNlY3Rvci50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSxJdC5zZWN0b3Iuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3MzQ5OTMpKSksWyJjcnlwdG8iLCJjcnlwdG9fbWt0Il0uaW5jbHVkZXMoZSkmJihJdC50b3RhbF9zaGFyZXNfb3V0c3RhbmRpbmcudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM1OTYxKSksSXQudG90YWxfc2hhcmVzX291dHN0YW5kaW5nLnNob3J0VGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODEzMDc3KSkpLCJzZWN0b3IiPT09ZSYmKEl0LmRlc2NyaXB0aW9uLmhpZGRlbkNvbHVtbj0hMSwKSXQuZGVzY3JpcHRpb24udGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oMjc4NzI5KSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbygyNzg3MjkpKSxJdC5kZXNjcmlwdGlvbi5tdXRhdGVEaXNwbGF5VmFsdWU9TXQpLCJpbmR1c3RyeSI9PT1lJiYoSXQuZGVzY3JpcHRpb24uaGlkZGVuQ29sdW1uPSExLEl0LmRlc2NyaXB0aW9uLnRpdGxlPV8udChudWxsLHZvaWQgMCxvKDg3NzYxKSksSXQuZGVzY3JpcHRpb24uc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4Nzc2MSkpLEl0LmRlc2NyaXB0aW9uLm11dGF0ZURpc3BsYXlWYWx1ZT1NdCxJdC5lbGVtZW50cy50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg1MjIwMTQpKSxJdC5lbGVtZW50cy5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDUyMjAxNCkpLEl0LnNlY3Rvci5jb250cm9sPSJzZWxlY3QiLEl0LnNlY3Rvci5yZXNldHRhYmxlRmlsdGVyPSEwKSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModCkmJihJdC5zZWN0b3IuaGlkZGVuQ29sdW1uPSEwKSwiYm9uZHMiPT09ZSYmKEl0LmNsb3NlLnRpdGxlPV8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpLEl0LmNsb3NlLnNob3J0VGl0bGU9Xy50KG51bGwse2NvbnRleHQ6IkJvbmRzIn0sbyg3NTQ2KSksSXQuY291cG9uPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyMjU3MDYpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDIyNTcwNikpLGFsaWduOiJyaWdodCIsZm9ybWF0dGVyOmF0fSxJdC5tYXR1cml0eV9kYXRlPXt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNzc5ODQpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI3Nzk4NCkpLGFsaWduOiJyaWdodCIsbXV0YXRlRGlzcGxheVZhbHVlOm1lfSksImNvbnRpbnVvdXNfZnV0dXJlcyI9PT1lJiYoSXQuZXhwaXJhdGlvbj17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMzY1NTg5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygzNjU1ODkpKSxhbGlnbjoicmlnaHQiLG11dGF0ZURpc3BsYXlWYWx1ZTptZX0pLGZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic3RvY2siOlsiYmlkIiwiYXNrIiwiY3VycmVuY3kiLCJjZW50cmFsaXphdGlvbiJdLmZvckVhY2goKGU9Pnt0W2VdLmRpc2FibGVkPSEwfSkpO2JyZWFrO2Nhc2UiZm9yZXgiOk90KHQsWyJleGNoYW5nZSIsInZvbHVtZSIsInJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsInJlbGF0aXZlX3ZvbHVtZV9pbnRyYWRheS41IiwiYXZlcmFnZV92b2x1bWVfMTBkX2NhbGMiLCJhdmVyYWdlX3ZvbHVtZV8zMGRfY2FsYyIsImF2ZXJhZ2Vfdm9sdW1lXzYwZF9jYWxjIiwiYXZlcmFnZV92b2x1bWVfOTBkX2NhbGMiLCJjdXJyZW5jeSIsImNlbnRyYWxpemF0aW9uIl0pO2JyZWFrO2Nhc2UiZnV0dXJlcyI6Y2FzZSJjZmQiOk90KHQsWyJiaWQiLCJhc2siLCJjZW50cmFsaXphdGlvbiJdKTticmVhaztjYXNlImNyeXB0byI6T3QodCxbImNvdW50cnkiLCJzZWN0b3IiXSl9fShlLEl0KTtbIm1hcmtldF9jYXBfY2FsYyIsIm1hcmtldF9jYXBfZGlsdXRlZF9jYWxjIiwidG90YWxfc2hhcmVzX291dHN0YW5kaW5nIiwidG90YWxfc2hhcmVzX2RpbHV0ZWQiLCJ0b3RhbF92YWx1ZV90cmFkZWQiLCIyNGhfdm9sfDUiLCIyNGhfdm9sX2NoYW5nZXw1Il0uZm9yRWFjaCgodD0+e0l0W3RdLmRpc2FibGVkPSFbImNyeXB0byIsImNyeXB0b19ta3QiXS5pbmNsdWRlcyhlKX0pKTtbImVsZW1lbnRzIiwiYmFzaWNfZWxlbWVudHMiXS5mb3JFYWNoKCh0PT57SXRbdF0uZGlzYWJsZWQ9IVsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhlKX0pKX1OdCgpO2NvbnN0IEJ0PVt7a2V5OiItMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg3MDA1MDgpKX0se2tleToiMSIsbmFtZTpfLnQobnVsbCx2b2lkIDAsbyg1NzI5NjIpKX1dLCR0PVt7a2V5OiItMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNTk4NTg1KSsiPC9kaXY+In0se2tleToiMSIsbmFtZTonPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX21hcmtldC1pY29uIj4nK28oNjkzMjM2KSsiPC9kaXY+In1dO2Z1bmN0aW9uIFd0KCl7Y29uc3QgZT0oZSx0LG8saSk9Pntjb25zdCBuPWJ0KGUsdXQpfHxudWxsLHI9bj9TdChuKTpudWxsO3JldHVybiByJiZyWzBdPD0xZTMqdCYmMWUzKnQ8PXJbMV0/aTpvfTtJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfdGltZT17aXNTaW5nbGU6ITAsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODYyMTE5KSksdG9vbHRpcDoodCxvLGkpPT57Y29uc3Qgbj1JdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZSxyPWUobix0LG8saSk7cmV0dXJuIHI/eXQoKHM9cikudG9TdHJpbmcoKSxCdCl8fHM6dm9pZCAwO3ZhciBzfSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg2MjExOSkpLGRpc2FibGVIZWFkZXJDb250cm9sOiEwLGFsaWduOiJjZW50ZXIiLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19yZWxlYXNlX3RpbWUiLCJlYXJuaW5nc19yZWxlYXNlX25leHRfdGltZSJdLG11dGF0ZURpc3BsYXlWYWx1ZToodCxvLGksbik9Pntjb25zdCByPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHM9ZShyLG8saSxuKTtyZXR1cm4gcz95dCgoYT1zKS50b1N0cmluZygpLCR0KXx8YTpxdDt2YXIgYX0sY2F0ZWdvcnk6Mn0sSXQuY2xvc2UudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oODM0OTApKSxJdC5jbG9zZS5zaG9ydFRpdGxlPV8udChudWxsLHZvaWQgMCxvKDgzNDkwKSksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGU9T2JqZWN0LmFzc2lnbihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSx7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTA3NzI5KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1MDc3MjkpKSxub0FueTohMCxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSIsImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIl0sCmRlZmF1bHRSYW5nZTp1dC5tYXAoKGU9PmUubmFtZSkpLHJlc2V0dGFibGVGaWx0ZXI6ITEsbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyxpKT0+e2lmKCFvJiZ0KXJldHVybiBjdC5mb3JtYXQodCk7aWYoaS52YWx1ZSl7Y29uc3QgZT1idChpLnZhbHVlLHV0KTtpZihlKXtjb25zdCBpPVN0KGUpO2lmKGkpe2lmKHQmJlZ0KHQsaSkpcmV0dXJuIGN0LmZvcm1hdCh0KTtpZihvJiZWdChvLGkpKXJldHVybiBjdC5mb3JtYXQobyl9fX1yZXR1cm4gZX0sY3VzdG9tRmlsdGVyQ29uZGl0aW9uOmd0KCl9KSxJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfY2FsZW5kYXJfZGF0ZT17dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU2ODc0KSksc2hvcnRUaXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTY4NzQpKSxmb3JtYXR0ZXI6Y3QsY2F0ZWdvcnk6MSxhZGRpdGlvbmFsQ29sdW1uczpbImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiwiZWFybmluZ3NfcmVsZWFzZV9jYWxlbmRhcl9kYXRlIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIGV9cmV0dXJuIG8/Y3QuZm9ybWF0KG8pOnF0fX0sZGVsZXRlIEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmNvbnRyb2wsSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEudGl0bGU9Xy50KG51bGwsdm9pZCAwLG8oNzg5MTU1KSksSXQuZWFybmluZ3NfcGVyX3NoYXJlX2ZvcmVjYXN0X25leHRfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg3ODkxNTUpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5kaXNhYmxlSGVhZGVyQ29udHJvbD0hMCxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5hbGlnbj0icmlnaHQiLEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mb3JlY2FzdF9uZXh0X2ZxLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJlYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfZnEiXSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZm9yZWNhc3RfbmV4dF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KGUsdCxvKT0+e2NvbnN0IGk9YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKGkpe2NvbnN0IG89U3QoaSk7aWYobyYmVnQodCxvKSlyZXR1cm4gZX1yZXR1cm4gbz9udC5mb3JtYXQobyk6cXR9LEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcS50aXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEuc2hvcnRUaXRsZT1fLnQobnVsbCx2b2lkIDAsbyg4NTc4OTgpKSxJdC5lcHNfc3VycHJpc2VfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMF0sc2hvcnRUaXRsZTpFZS5lcHNfc3VycHJpc2VfZnFbMV0sZm9ybWF0dGVyOm50LGZpbHRlckZvcm1hdHRlcjpydCxjYXRlZ29yeToyLGhpZ2hsaWdodENoYW5nZTohMH0sSXQuZXBzX3N1cnByaXNlX3BlcmNlbnRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpFZS5lcHNfc3VycHJpc2VfcGVyY2VudF9mcVswXSxzaG9ydFRpdGxlOkVlLmVwc19zdXJwcmlzZV9wZXJjZW50X2ZxWzFdLGZvcm1hdHRlcjphdCxmaWx0ZXJGb3JtYXR0ZXI6bHQsY2F0ZWdvcnk6MixoaWdobGlnaHRDaGFuZ2U6ITB9LEl0LnJldmVudWVfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg1ODgzNzMpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU4ODM3MykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxfSxJdC5yZXZlbnVlX2ZvcmVjYXN0X25leHRfZnE9e2NvbnRyb2w6ImNvbmRpdGlvbiIsaGlkZGVuT3BlcmF0b3JzOkF0LGNvbmRpdGlvbkZpZWxkczpbXSx0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg0NTk1ODcpKSxzaG9ydFRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1OTU4NykpLGZvcm1hdHRlcjpzdCxjYXRlZ29yeToxLGFkZGl0aW9uYWxDb2x1bW5zOlsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiLCJyZXZlbnVlX2ZvcmVjYXN0X2ZxIl0sbXV0YXRlRGlzcGxheVZhbHVlOihlLHQsbyk9Pntjb25zdCBpPWJ0KEl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnZhbHVlLHV0KTtpZihpKXtjb25zdCBvPVN0KGkpO2lmKG8mJlZ0KHQsbykpcmV0dXJuIjAiPT09ZT9xdDplfXJldHVybiBvP3N0LmZvcm1hdChvKTpxdH19LFV0KCl9Y29uc3QgcXQ9JzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+JztmdW5jdGlvbiBWdChlLHQpe3JldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IG89dFswXSxpPXRbMV07cmV0dXJuIG88PWUmJmU8PWl9KDFlMyplLHQpfWNvbnN0IEh0PWU9PntlLmFkZGl0aW9uYWxDb2x1bW5zPVsiZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUiXSxlLm11dGF0ZURpc3BsYXlWYWx1ZT0oZSx0KT0+e2NvbnN0IG89YnQoSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUudmFsdWUsdXQpO2lmKG8pe2NvbnN0IGU9U3Qobyk7aWYoZSYmVnQodCxlKSlyZXR1cm4gcXR9cmV0dXJuIGV9fTtmdW5jdGlvbiBVdCgpe0h0KEl0LmVhcm5pbmdzX3Blcl9zaGFyZV9mcSksSHQoSXQuZXBzX3N1cnByaXNlX2ZxKSxIdChJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcSksSHQoSXQucmV2ZW51ZV9mcSl9ZnVuY3Rpb24genQoZSx0PSJzdG9jayIsbz0hMCl7aWYoIWUpcmV0dXJuIG51bGw7aWYoWyJjcnlwdG9fbWt0Il0uaW5jbHVkZXModCkmJmUuY3J5cHRvRm9ybWF0dGVyKXJldHVybiBlLmNyeXB0b0Zvcm1hdHRlcjtpZihbImZvcmV4IiwiY3J5cHRvIiwiY3J5cHRvX21rdCIsImNmZCIsImZ1dHVyZXMiXS5pbmNsdWRlcyh0KSl7CmlmKGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXIpcmV0dXJuIGUuZm9yZXhGaWx0ZXJGb3JtYXR0ZXI7aWYoZS5mb3JleEZvcm1hdHRlcilyZXR1cm4gZS5mb3JleEZvcm1hdHRlcn1yZXR1cm4gbyYmZS5maWx0ZXJGb3JtYXR0ZXI/ZS5maWx0ZXJGb3JtYXR0ZXI6ZS5mb3JtYXR0ZXI/ZS5mb3JtYXR0ZXI6bnVsbH1jb25zdCBqdD17fTtmdW5jdGlvbiBHdChlLHQsbyxpKXtjb25zdCBuPWUrIjsiK3QrIjsiK28rIjsiK2k7cmV0dXJuIGp0W25dfHwoanRbbl09bmV3IGouUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6ZSxtaW5Nb3ZlOnQsZnJhY3Rpb25hbDpvLG1pbk1vdmUyOml9KSksanRbbl19ZnVuY3Rpb24gWHQoZSl7cmV0dXJuIEl0W2VdJiYhSXRbZV0uZml4ZWQmJiFJdFtlXS5kaXNhYmxlZCYmIUl0W2VdLmhpZGVTZXR1cENvbHVtbn1mdW5jdGlvbiBLdChlKXtyZXR1cm4gZS5maWx0ZXJUaXRsZXx8ZS50aXRsZX1mdW5jdGlvbiBZdChlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZBcnJheS5pc0FycmF5KHQpP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgbz1bLi4uZSwuLi50XTtyZXR1cm5bTWF0aC5taW4oLi4ubyksTWF0aC5tYXgoLi4ubyldfShlLHQpOiJzdHJpbmciIT10eXBlb2YgZT9mdW5jdGlvbihlLHQpe3JldHVybiBlLm9wZXJhdG9yIT09dC5vcGVyYXRvcj9udWxsOiJncmVhdGVyIj09PXQub3BlcmF0b3I/e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5taW4odC52YWx1ZSxlLnZhbHVlKX06e29wZXJhdG9yOmUub3BlcmF0b3IsdmFsdWU6TWF0aC5tYXgoZS52YWx1ZSx0LnZhbHVlKX19KGUsdCk6ZT09PXQ/ZTpudWxsfWNvbnN0IEp0PXtmb3JleDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oNDA3NDM4KSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbyg0Mjg5NzgpKX0sZGVmYXVsdDp7dG9wX2dhaW5lcnM6Xy50KG51bGwsdm9pZCAwLG8oODE0MDIxKSksdG9wX2xvc2VyczpfLnQobnVsbCx2b2lkIDAsbygzODQ1NDApKX19LFp0PVt7aWQ6ImdlbmVyYWwiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDkxMDgyMSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e319fSx7aWQ6Im1vc3RfY2FwaXRhbGl6ZWQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU1NDE1MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InZvbHVtZV9sZWFkZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxNTUyODApKSxhZGp1c3RGaWx0ZXI6e3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InZvbHVtZSIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoidG9wX2dhaW5lcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2dhaW5lcnMsYWRqdXN0RmlsdGVyOntjaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJjaGFuZ2UiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntjaGFuZ2U6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InRvcF9sb3NlcnMiLHRpdGxlOkp0LmRlZmF1bHQudG9wX2xvc2VycyxhZGp1c3RGaWx0ZXI6e2NoYW5nZTpbMF19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6ImNoYW5nZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Y2hhbmdlOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhdGgiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDI0MTMxNykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLkFsbCI6e29wZXJhdG9yOiJlbGVzcyIsdmFsdWU6ImhpZ2gifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImF0bCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjI1NDg4KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7Ikxvdy5BbGwiOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6ImhpZ2hfZGl2aWRlbmQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDg4NTkzKSksY29udGVudDp7c29ydF9maWVsZDoiZGl2aWRlbmRfeWllbGRfcmVjZW50Iixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7ZGl2aWRlbmRfeWllbGRfcmVjZW50OntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6MH0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJhYm92ZV81MndrX2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ1NzE5NSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e3ByaWNlXzUyX3dlZWtfaGlnaDp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYmVsb3dfNTJ3a19sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgzODY5MCkpLApjb250ZW50Ontzb3J0X2ZpZWxkOiJuYW1lIixzb3J0X2RpcmVjdGlvbjoiYXNjIixmaWx0ZXJzOntwcmljZV81Ml93ZWVrX2xvdzp7b3BlcmF0b3I6ImVncmVhdGVyIix2YWx1ZToibG93In0saXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJtb250aGx5X2hpZ2giLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc1OTg0MSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJIaWdoLjFNIjp7b3BlcmF0b3I6ImVsZXNzIix2YWx1ZToiaGlnaCJ9LGlzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoibW9udGhseV9sb3ciLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk5NjU3MikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6eyJMb3cuMU0iOntvcGVyYXRvcjoiZWdyZWF0ZXIiLHZhbHVlOiJsb3cifSxpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im1vc3Rfdm9sYXRpbGUiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDY1NjYwMykpLGFkanVzdEZpbHRlcjp7IlZvbGF0aWxpdHkuRCI6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJWb2xhdGlsaXR5LkQiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6InVudXN1YWxfdm9sdW1lIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygyNTAwNzIpKSxhZGp1c3RGaWx0ZXI6e3JlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LHJlbGF0aXZlX3ZvbHVtZV8xMGRfY2FsYzpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcmJvdWdodCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMjIyNTk3KSksY29udGVudDp7c29ydF9maWVsZDoibmFtZSIsc29ydF9kaXJlY3Rpb246ImFzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0sUlNJOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6NzB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoib3ZlcnNvbGQiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDgxMTIwMykpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFJTSTp7b3BlcmF0b3I6Imxlc3MiLHZhbHVlOjMwfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fSx7aWQ6Im91dHBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDM3NjUzMikpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoibGVzcyIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJ1bmRlcnBlcmZvcm1pbmdfU01BNTAiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc0MjMzOCkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im5hbWUiLHNvcnRfZGlyZWN0aW9uOiJhc2MiLGZpbHRlcnM6e2lzX3ByaW1hcnk6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9LFNNQTUwOntvcGVyYXRvcjoiZ3JlYXRlciIsdmFsdWU6ImNsb3NlIn0sYWN0aXZlX3N5bWJvbDp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH19fX0se2lkOiJlYXJuaW5nc190aGlzX3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDEzNDA1OSkpLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfYmFzaWMiLHNvcnRfZGlyZWN0aW9uOiJkZXNjIixmaWx0ZXJzOntpc19wcmltYXJ5OntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZTpudWxsLGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoicHJlX21hcmtldF9nYWluZXJzIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjk2NDgpKSxhZGp1c3RGaWx0ZXI6e3ByZW1hcmtldF9jaGFuZ2U6WzFdfSxjb250ZW50Ontzb3J0X2ZpZWxkOiJwcmVtYXJrZXRfY2hhbmdlIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scHJlbWFya2V0X2NoYW5nZTp7b3BlcmF0b3I6ImdyZWF0ZXIiLHZhbHVlOjB9LGFjdGl2ZV9zeW1ib2w6e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9fX19LHtpZDoiYWZ0ZXJfaG91cnNfZ2FpbmVycyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNTMyMDI4KSksYWRqdXN0RmlsdGVyOntwb3N0bWFya2V0X3ZvbHVtZTpbMV19LGNvbnRlbnQ6e3NvcnRfZmllbGQ6InBvc3RtYXJrZXRfdm9sdW1lIixzb3J0X2RpcmVjdGlvbjoiZGVzYyIsZmlsdGVyczp7aXNfcHJpbWFyeTp7b3BlcmF0b3I6ImVxdWFsIix2YWx1ZTohMH0scG9zdG1hcmtldF92b2x1bWU6e29wZXJhdG9yOiJncmVhdGVyIix2YWx1ZTowfSxhY3RpdmVfc3ltYm9sOntvcGVyYXRvcjoiZXF1YWwiLHZhbHVlOiEwfX19fV07ZnVuY3Rpb24gUXQoZSl7WnQuZm9yRWFjaCgodD0+e2lmKHQuZGlzYWJsZWQ9ITEsCnQuaWQgaW4gQi5hbWVyaWNhKWZvcihjb25zdCBlIGluIEIuYW1lcmljYVt0LmlkXSl0LmNvbnRlbnQuZmlsdGVyc1tlXT1CLmFtZXJpY2FbdC5pZF1bZV07KHQ9PntbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoZVswXSl8fGUuaW5jbHVkZXMoImJyYXppbCIpP2RlbGV0ZSB0LmNvbnRlbnQuZmlsdGVycy5uYW1lOnQuY29udGVudC5maWx0ZXJzLm5hbWU9WyJjb21tb24iLCJkciIsImV0ZiJdLDE9PT1lLmxlbmd0aCYmImFtZXJpY2EiPT09ZVswXT90LmNvbnRlbnQuZmlsdGVycy5leGNoYW5nZT1bIk5ZU0UiLCJOQVNEQVEiLCJBTUVYIl06ZGVsZXRlIHQuY29udGVudC5maWx0ZXJzLmV4Y2hhbmdlLCJnZW5lcmFsIj09PXQuaWQmJigiY3J5cHRvIj09PWVbMF0mJih0LmNvbnRlbnQuc29ydF9maWVsZD0iMjRoX3ZvbHw1Iix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImRlc2MiKSwiZm9yZXgiPT09ZVswXSYmKHQuY29udGVudC5zb3J0X2ZpZWxkPSJuYW1lIix0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb249ImFzYyIpKTtjb25zdCBvPVtdO2Zvcihjb25zdCByIG9mIGUpe2NvbnN0IGU9QltyXTtpZihlJiZ0LmlkIGluIGUpaWYodC5kaXNhYmxlZHx8bnVsbCE9PWVbdC5pZF0pe2NvbnN0IHI9ZVt0LmlkXTtmb3IoY29uc3QgZSBpbiByKXtjb25zdCBzPXJbZV07aWYobnVsbD09PXN8fChpPXQuY29udGVudC5maWx0ZXJzW2VdLG49cyxPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaSkhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobikpKWRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSk7ZWxzZSBpZighby5pbmNsdWRlcyhlKSYmZSBpbiB0LmNvbnRlbnQuZmlsdGVycyl7Y29uc3QgaT1ZdCh0LmNvbnRlbnQuZmlsdGVyc1tlXSxzKTtpP3QuY29udGVudC5maWx0ZXJzW2VdPWk6KGRlbGV0ZSB0LmNvbnRlbnQuZmlsdGVyc1tlXSxvLnB1c2goZSkpfWVsc2UgdC5jb250ZW50LmZpbHRlcnNbZV09c319ZWxzZSB0LmRpc2FibGVkPSEwfXZhciBpLG47ImZvcmV4Ij09PWVbMF0/SnQuZm9yZXhbdC5pZF0mJih0LnRpdGxlPUp0LmZvcmV4W3QuaWRdKTpKdC5kZWZhdWx0W3QuaWRdJiYodC50aXRsZT1KdC5kZWZhdWx0W3QuaWRdKX0pKHQpLCJnZW5lcmFsIj09PXQuaWQmJih0LmRpc2FibGVkPSJmb3JleCIhPT1lWzBdJiYiY3J5cHRvIiE9PWVbMF0pLFsicHJlX21hcmtldF9nYWluZXJzIiwiYWZ0ZXJfaG91cnNfZ2FpbmVycyJdLmluY2x1ZGVzKHQuaWQpJiYodC5kaXNhYmxlZD0hMCl9KSl9Y29uc3QgZW89SlNPTi5wYXJzZSgnWyJCQUhSQUlOIiwiQkVMRVgiLCJCTVYiLCJCU1NFIiwiQlZMIiwiQlZNVCIsIkRGTSIsIkRTRUJEIiwiRVVST05FWFRfQU1TIiwiRVVST05FWFRfQlJVIiwiRVVST05FWFRfTElTIiwiRVVST05FWFRfUEFSIiwiRVVST05FWFRBTVMiLCJFVVJPTkVYVEJSVSIsIkVVUk9ORVhUTElTIiwiRVVST05FWFRQQVIiLCJFVVJPTkVYVERVQiIsIk9TRSIsIk9TTCIsIkZTRSIsIkhLRVgiLCJIT1NFIiwiSUNFU0ciLCJJQ0VBQlVEIiwiSUNFVVNDQSIsIklDRUVOREVYIiwiSlNFIiwiTFVYU0UiLCJNT0VYIiwiTVlYIiwiTkFHIiwiTkFTREFRRFVCQUkiLCJOU0UiLCJOU0VORyIsIk5TRUtFIiwiTkdNIiwiTlpYIiwiUFNFIiwiUFNYIiwiU0FQU0UiLCJTRVQiLCJTR1giLCJTWlNFIiwiU0hGRSIsIlRBREFXVUwiLCJUU0UiLCJUV1NFIiwiRlRTRVNUIiwiTE1FIiwiUVNFIiwiTFNFIiwiTFNJTiJdJyk7Y29uc3QgdG89WyJhcnRlY2hlY29tIiwiY2luY29kaWFzIiwiY29wZWVzIiwiZWxjb25maWRlbmNpYWwiLCJlbGVzcGFub2xjb20iLCJlbG5hY2lvbmFsRCIsImVscGFpc2ZpbmFuY2llcm8iLCJlbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXBlIiwiZmluYW56YXNEIiwibGFpbmZvcm1hY2lvbmNvbSJdLG9vPVsiYm92ZXNwYSIsImZvcmJlc2NvbWJyIiwiZ2VuaWFsaW52ZXN0aW1lbnRvcyIsIm1hcmNvcG9sb2NvbWJyIiwibW9uZXl0aW1lc2NvbWJyIiwiTm90aWNpYXNhZ3JpY29sYUQiLCJwb2RlcjM2MCIsInNldWRpbmhlaXJvIiwic3BhY2Vtb25leWNvbWJyIiwidHJhZGVyc2NsdWJicmFzaWwiLCJ0cmFkZXJzY2x1YmJyYXNpbEQiLCJ2b2Nlc2FhYnJpbGNvbWJyIiwieHBpY29tYnIiXTtjb25zdCBpbz0iYW1lcmljYSI7ZnVuY3Rpb24gbm8oZSx0KXtjb25zdCBvPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZW8uc2xpY2UoKTtyZXR1cm4gZSYmb28uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1GQk9WRVNQQSIpLDEpLCJhbWJpdG8iPT09ZSYmdC5zcGxpY2UodC5pbmRleE9mKCJCQ0JBIiksMSksImhlZ25hcm5vIj09PWUmJnQuc3BsaWNlKHQuaW5kZXhPZigiT1NMIiksMSksZSYmdG8uaW5jbHVkZXMoZSkmJnQuc3BsaWNlKHQuaW5kZXhPZigiQk1FIiksMSksZSYmWyJyaXlhZGhjYXBpdGFsRCIsInJpeWFkaGNhcGl0YWxSVCJdLmluY2x1ZGVzKGUpJiYodC5zcGxpY2UodC5pbmRleE9mKCJUQURBV1VMIiksMSksdC5zcGxpY2UodC5pbmRleE9mKCJERk0iKSwxKSksIk5HWCI9PT1lJiZ0LnNwbGljZSh0LmluZGV4T2YoIk5TRU5HIiksMSksdH0odCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZpbHRlcigodD0+e2lmKFsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0KSlyZXR1cm4hMDtjb25zdCBpPWVbdF07cmV0dXJuISFpJiYoaS5zdG9ja3M9aS5zdG9ja3MuZmlsdGVyKChlPT4tMT09PW8uaW5kZXhPZihlKSkpLDAhPT1pLnN0b2Nrcy5sZW5ndGgpfSkpLm1hcCgodD0+KHtjb250ZW50OmVbdF0/ZVt0XS50aXRsZSsoZVt0XS5zdG9ja3MubGVuZ3RoP2AgKCR7cm8odCxlKX0pYDoiIik6dCx2YWx1ZTp0fSkpKS5zb3J0KCgoZSx0KT0+ZS52YWx1ZT09PWlvPy0xOnQudmFsdWU9PT1pb3x8KGU/LmNvbnRlbnQ/PyIiKT4odD8uY29udGVudD8/IiIpPzE6LTEpKX1mdW5jdGlvbiBybyhlLHQpe2xldCBvPVsuLi50W2VdLnN0b2Nrc107Y29uc3QgaT1WKClbZV07cmV0dXJuIGkmJihvPW8uZmlsdGVyKChlPT4haS5pbmNsdWRlcyhlKSkpKSxvLmpvaW4oIiwgIil9dmFyIHNvPW8oOTAyMTAwKSxhbz1vKDQwMDE4MSk7Y29uc3QgbG89ewpob3N0OiJfdW5rbm93biIscGF0aDoiIn07ZnVuY3Rpb24gY28oZSl7aWYoZSl0cnl7Y29uc3QgdD1uZXcgVVJMKGUpO3JldHVybntob3N0OnQuaG9zdG5hbWV8fHQuaG9zdHx8Il91bmtub3duIixwYXRoOnQucGF0aG5hbWV9fWNhdGNoe3JldHVybn19ZnVuY3Rpb24gaG8oKXtyZXR1cm4gY28oZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdy5pbml0RGF0YT8uaGFzaFNldHRpbmdzPy5bInBhZ2UtdXJpIl07aWYoZSlyZXR1cm4iaHR0cHM6Ly8iK2V9KCkpfHxjbyhkb2N1bWVudC5yZWZlcnJlcil8fGNvKGxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucz8uWzBdKXx8bG99dmFyIHVvPW8oMzg5Mjk4KSxfbz1vKDkzMDIzMSkscG89KG8oODU1NzQyKSxvKDY2MjM5MiksbygxMzMyNDMpLG8oMjg2ODIwKSxvKDIzMjM2NCkpLG1vPShvKDM2NDgzOCksbyg4MTU3MjgpLG8oMTIxNjM0KSxvKDcxMTk3OSksbyg5ODY3MDUpLG8oMjAyODE1KSxvKDk1MDc3MSksbyg2MzgyODIpLG8oMTEyNjEzKSxvKDk3NTI0NCksbyg5NTI2ODYpLG8oNDQ2OTU2KSxvKDQ1NTU3KSxvKDc5MDUwMSksbyg1NTEyMTUpLG8oMTY3NTU5KSxvKDkyMjIwNiksbyg0ODk3NTIpLG8oODU3MDE5KSxvKDIxODgxNCkpLGdvPW8oNjQ3NjE0KTtvKDQ0MzYyMCk7dmFyIHZvPW8oNTQ3ODUxKSxmbz1vKDc3ODQ1OCkseW89byg4NTU5ODkpO2Z1bmN0aW9uIGJvKGUsdCxvKXtjb25zdCBpPVtbIiYiLCImYW1wOyJdLFsiPCIsIiZsdDsiXSxbIj4iLCImZ3Q7Il0sWyciJywiJnF1b3Q7Il0sWyInIiwiJiMwMzk7Il0sWyInIiwiJiMzOTsiXV07dCYmaS5mb3JFYWNoKChlPT5lLnJldmVyc2UoKSkpO2xldCBuPWU7aWYoIWV8fCFlLnJlcGxhY2UpcmV0dXJuIG47Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3RbdCxpXT1lO28mJi0xIT09by5pbmRleE9mKHQpfHwobj1uLnJlcGxhY2UobmV3IFJlZ0V4cCh0LCJnIiksaSkpfXJldHVybiBufW8oNTUwNjgyKSxvKDIxNTUzOSk7dmFyIFNvPW8oNzgzMjU0KSx3bz1vKDM2MzI2OSksQ289KG8oODMyMjI2KSxvKDIxNDA2MCkpLGtvPW8oNDgyNTA0KSxUbz1vKDQ5MTg2KSxFbz1vKDMwNzUwNCk7Y29uc3QgeG89e3dyYXA6JzxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvciB7eyBjbGFzcyB9fXt7IyB0b3VjaCB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tdG91Y2h7ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fXt7IyByZWFkb25seSB9fSB0di1jb250cm9sLXNlbGVjdF9fd3JhcC0tcmVhZG9ubHl7ey8gcmVhZG9ubHl9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9se3teIHRvdWNoIH19IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b257ey8gdG91Y2ggfX17eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyIj48L3NwYW4+PC9zcGFuPnt7XiB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fZHJvcGRvd24gdHYtZHJvcGRvd24tYmVoYXZpb3JfX2JvZHkge3sgZHJvcGRvd25fY2xhc3MgfX0gaS1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fc2Nyb2xsIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPjxzcGFuIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPnt7PiByb3V0ZSB9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPnt7LyB0b3VjaCB9fTxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fY2FyZXQganMtZHJvcGRvd24tdG9nZ2xlIj48L3NwYW4+PC9zcGFuPicscm91dGU6Int7IyBpdGVtcyB9fXt7IyBvcHRpb24gfX17ez4gb3B0aW9uIH19e3svIG9wdGlvbiB9fXt7XiBvcHRpb24gfX17eyMgb3B0Z3JvdXAgfX17ez4gb3B0Z3JvdXAgfX17ey8gb3B0Z3JvdXAgfX17ey8gb3B0aW9uIH19e3svIGl0ZW1zIH19IixvcHRncm91cDone3sjIGxhYmVsIH19PHNwYW4gY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRncm91cC1sYWJlbCI+e3sgbGFiZWwgfX08L3NwYW4+e3svIGxhYmVsIH19e3s+IHJvdXRlIH19e3sjIHNlcGFyYXRvciB9fTxociBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGdyb3VwLXNlcGFyYXRvciI+e3svIHNlcGFyYXRvciB9fScsb3B0aW9uOmA8c3BhbiBkYXRhLWlkPSJ7eyBpZCB9fSIgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIHR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb257eyMgZGlzYWJsZWQgfX0gaS1kaXNhYmxlZHt7LyBkaXNhYmxlZCB9fSI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIj5cblx0XHRcdHt7IyBtdWx0aXBsZSB9fVxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveCI+XG5cdFx0XHRcdFx0PGlucHV0IGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19pbnB1dCIgdHlwZT0iY2hlY2tib3giIHt7IyBzZWxlY3RlZCB9fSBjaGVja2Vke3svIHNlbGVjdGVkIH19PlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19ib3giPiR7byg0ODg4NzUpfTwvc3Bhbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPnt7IGxhYmVsIH19PC9zcGFuPlxuXHRcdFx0e3svIG11bHRpcGxlIH19XG5cdFx0XHR7e14gbXVsdGlwbGUgfX1cblx0XHRcdFx0e3sgbGFiZWwgfX1cblx0XHRcdHt7LyBtdWx0aXBsZSB9fVxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvc3Bhbj5gfTtjbGFzcyBBb3tjb25zdHJ1Y3RvcihlPXt9KXt0aGlzLl9vcHRpb25zPU9iamVjdC5hc3NpZ24oe25vQW5pbWF0aW9uOiEwfSxlKSx0aGlzLnRvdWNoPXdvLm1vYmlsZXRvdWNoLHRoaXMuJHNlbGVjdD10aGlzLl9vcHRpb25zLiRzZWxlY3QsdGhpcy5fc2VsZWN0RWxlbWVudD10aGlzLiRzZWxlY3RbMF0sCnRoaXMubXVsdGlwbGU9Qm9vbGVhbih0aGlzLiRzZWxlY3QuYXR0cigibXVsdGlwbGUiKSksdGhpcy5fbWluRGlzcGxheUNvdW50PXRoaXMuX29wdGlvbnMubWluRGlzcGxheUNvdW50fHwxLHRoaXMuX2VtcHR5U3RyaW5nPXRoaXMuX29wdGlvbnMuZW1wdHlTdHJpbmd8fFNvLnQobnVsbCx7Y29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDMzMzM1KSksdGhpcy5fZGVmYXVsdFBsYWNlSG9kZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0UGxhY2VIb2Rlcnx8ITEsdGhpcy5kaXNhYmxlZD1Cb29sZWFuKHRoaXMuJHNlbGVjdC5pcygiOmRpc2FibGVkIikpLHRoaXMucmVhZG9ubHk9dGhpcy5fb3B0aW9ucy5yZWFkb25seSx0aGlzLm9wdGlvbnM9W10sdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLml0ZW1zPXRoaXMuX3BhcnNlRG9tSXRlbXModGhpcy4kc2VsZWN0KSx0aGlzLl9yZW5kZXIoKSxlLmluaXRpYWxWYWx1ZSYmdGhpcy52YWwoZS5pbml0aWFsVmFsdWUpLHRoaXMuJGVsLmluc2VydEJlZm9yZSh0aGlzLiRzZWxlY3QpLHRoaXMuJHNlbGVjdC5kZXRhY2goKS5hZGRDbGFzcygiaS1pbml0ZWQiKS5hcHBlbmRUbyh0aGlzLiRlbCl9dmFsKGUpe3RoaXMubXVsdGlwbGU/dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMoZSk6dGhpcy5fc2V0U2luZ2xlVmFsdWUodGhpcy5fZmluZE9wdGlvbihlKSl9ZW5hYmxlKCl7dGhpcy5kaXNhYmxlZD0hMSx0aGlzLiRlbC5hZGQodGhpcy4kZHJvcGRvd24pLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdGhpcy50b3VjaHx8KHRoaXMuJGVsLnR2RHJvcGRvd24oImVuYWJsZSIpLHRoaXMuJGNvbnRyb2wuYXR0cigidGFiaW5kZXgiLHRoaXMuJHNlbGVjdC5hdHRyKCJ0YWJpbmRleCIpfHwwKSl9ZGlzYWJsZSgpe3RoaXMuZGlzYWJsZWQ9ITAsdGhpcy4kZWwuYWRkKHRoaXMuJGRyb3Bkb3duKS5hZGRDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudG91Y2h8fCh0aGlzLiRlbC50dkRyb3Bkb3duKCJkaXNhYmxlIiksdGhpcy4kY29udHJvbC5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpKX1zZXRSZWFkb25seShlKXt0aGlzLnJlYWRvbmx5PWUsdGhpcy4kZWwudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X193cmFwLS1yZWFkb25seSIsZSksdGhpcy4kY29udHJvbElubmVyLnRvZ2dsZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdF9fY29udHJvbC1pbm5lci0tcmVhZG9ubHkiLGUpLHRoaXMuJGVsLnR2RHJvcGRvd24oInNldFJlYWRvbmx5IixlKX10b2dnbGUoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKTp0aGlzLiRlbC50dkRyb3Bkb3duKCJ0b2dnbGUiKSl9b3Blbigpe3RoaXMuZGlzYWJsZWR8fHRoaXMucmVhZG9ubHl8fCh0aGlzLnRvdWNoP3RoaXMuJHNlbGVjdC5jbGljaygpOnRoaXMuJGVsLnR2RHJvcGRvd24oIm9wZW4iKSl9Y2xvc2UoKXt0aGlzLmRpc2FibGVkfHx0aGlzLnJlYWRvbmx5fHwodGhpcy50b3VjaD90aGlzLiRzZWxlY3QuY2xpY2soKToodGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLiRlbC50dkRyb3Bkb3duKCJjbG9zZSIpKSl9ZGVzdHJveSgpe3RoaXMuJHNlbGVjdC5vZmYoImNoYW5nZSIpLHRoaXMuJGRyb3Bkb3duJiZ0aGlzLiRkcm9wZG93bi5vZmYoImNsaWNrIiksdGhpcy4kc2VsZWN0LnJlbW92ZUNsYXNzKCJpLWluaXRlZCIpLmluc2VydEJlZm9yZSh0aGlzLiRlbCksdGhpcy4kZWwudHZEcm9wZG93bigiZGVzdHJveSIpLHRoaXMuJGVsLnJlbW92ZSgpfXVwZGF0ZUl0ZW1zKCl7dGhpcy5vcHRpb25zPVtdLHRoaXMuaXRlbXM9dGhpcy5fcGFyc2VEb21JdGVtcyh0aGlzLiRzZWxlY3QpO2NvbnN0IGU9dGhpcy5fcmVuZGVyRHJvcGRvd24oKTtpZighdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd24uZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKS5yZW1vdmUoKTtjb25zdCB0PXRoaXMuJGRyb3Bkb3duLmZpbmQoIi50di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiKTt0aGlzLiRvcHRpb25zPWUuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3Qgbz1rbyh0aGlzLiRvcHRpb25zW2VdKSxpPW8uZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbaV0mJih0aGlzLm9wdGlvbnNbaV0uJGVsPW8sdC5hcHBlbmQobykpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6dGhpcy5fdXBkYXRlU2luZ2xlVmlldyh0aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgpfV9mb2N1c09wdGlvbihlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS4kZWw7aWYodGhpcy5fZm9jdXNlZE9wdGlvbj1lLCF0aGlzLnRvdWNoKXtpZih0aGlzLl9jbGVhckZvY3VzKCksdC5hZGRDbGFzcygiaS1hY3RpdmUiKSwhdGhpcy5kcm9wZG93blNjcm9sbHx8IXRoaXMub3BlbmVkKXJldHVybjtjb25zdCBlPXRoaXMuZHJvcGRvd25TY3JvbGwuY3VycmVudFBvc2l0aW9uKCksbz10Lm91dGVySGVpZ2h0KCksaT10LnBvc2l0aW9uKCkudG9wLG49LWUrdGhpcy5kcm9wZG93blNjcm9sbC5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCk8aStvO2k8LWU/dGhpcy5kcm9wZG93blNjcm9sbC5zY3JvbGxUbyhpKTpuJiZ0aGlzLmRyb3Bkb3duU2Nyb2xsLnNjcm9sbFRvKGkrbyl9fV9zZXRTaW5nbGVWYWx1ZShlKXtjb25zdCB0PXRoaXMub3B0aW9uc1tlXS52YWx1ZTsodGhpcy4kc2VsZWN0LnZhbCgpJiZ0aGlzLiRzZWxlY3QudmFsKCkudG9TdHJpbmcoKSkhPT10LnRvU3RyaW5nKCkmJnRoaXMuJHNlbGVjdC52YWwodCkudHJpZ2dlcigiY2hhbmdlIil9X3VwZGF0ZVNpbmdsZVZpZXcoZSl7Y29uc3QgdD10aGlzLm9wdGlvbnNbZV07dCYmKHRoaXMuX2ZvY3VzT3B0aW9uKGUpLHRoaXMuX3NlbGVjdEVsZW1lbnQuc2VsZWN0ZWRJbmRleD1lLHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHQubGFiZWwpLAp0aGlzLiRjb250cm9sSW5uZXIudG9nZ2xlQ2xhc3MoInR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sLWlubmVyLS1vcHRpb24tZGlzYWJsZWQiLHQuZGlzYWJsZWQpKX1fdG9nZ2xlT3B0aW9uKGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zW2VdLnZhbHVlLG89dGhpcy4kc2VsZWN0LnZhbCgpfHxbXSxpPW8uaW5kZXhPZih0KTtpZigtMSE9PWkpby5zcGxpY2UoaSwxKTtlbHNlIGlmKG8ubGVuZ3RoKXtjb25zdCBlPXRoaXMub3B0aW9uc1t0aGlzLl9maW5kT3B0aW9uKHQpXS5pZCxpPW8uZmluZCgodD0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24odCldLmlkPmUpKTtvLnNwbGljZShpP28uaW5kZXhPZihpKTowLDAsdCl9ZWxzZSBvLnB1c2godCk7dGhpcy5fc2V0TXVsdGlwbGVWYWx1ZXMobyl9X3VwZGF0ZUNoZWNrQm94ZXMoKXtjb25zdCBlPXRoaXMuJHNlbGVjdC52YWwoKXx8W107Zm9yKGxldCB0PTA7dDx0aGlzLml0ZW1zLmxlbmd0aDt0Kyspe2NvbnN0IG89dGhpcy5pdGVtc1t0XTtvLiRlbC5maW5kKCIudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQiKS5wcm9wKCJjaGVja2VkIiwtMSE9PWUuaW5kZXhPZihvLnZhbHVlKSl9fV91cGRhdGVTZWxlY3RCb3hUaXRsZSgpe2NvbnN0IGU9dGhpcy4kc2VsZWN0LnZhbCgpfHxbXTtpZihlLmxlbmd0aCYmIXRoaXMuX2RlZmF1bHRQbGFjZUhvZGVyKWlmKGUubGVuZ3RoPT09dGhpcy5pdGVtcy5sZW5ndGgpdGhpcy4kY29udHJvbElubmVyLnRleHQoU28udChudWxsLHtjb250ZXh0OiJjb21ib2JveF9pbnB1dCJ9LG8oMzYyMDA0KSkpO2Vsc2UgaWYoZS5sZW5ndGg+dGhpcy5fbWluRGlzcGxheUNvdW50KXRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KFNvLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBpdGVtcyIsY291bnQ6ZS5sZW5ndGgsY29udGV4dDoiY29tYm9ib3hfaW5wdXQifSxvKDk4Mzc2NCkpLmZvcm1hdChlLmxlbmd0aCkpO2Vsc2V7Y29uc3QgdD1lLm1hcCgoZT0+dGhpcy5vcHRpb25zW3RoaXMuX2ZpbmRPcHRpb24oZSldLmxhYmVsKSk7dGhpcy4kY29udHJvbElubmVyLnRleHQodC5qb2luKCIsICIpKX1lbHNlIHRoaXMuJGNvbnRyb2xJbm5lci50ZXh0KHRoaXMuX2VtcHR5U3RyaW5nKX1fc2V0TXVsdGlwbGVWYWx1ZXMoZSl7dGhpcy4kc2VsZWN0LmZpbmQoIm9wdGlvbiIpLnByb3AoInNlbGVjdGVkIiwhMSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG89ZVt0XTt0aGlzLiRzZWxlY3QuZmluZChgb3B0aW9uW3ZhbHVlPSIke299Il1gKS5wcm9wKCJzZWxlY3RlZCIsITApfXRoaXMuJHNlbGVjdC50cmlnZ2VyKCJjaGFuZ2UiKX1fY2xlYXJGb2N1cygpe3RoaXMuJG9wdGlvbnMucmVtb3ZlQ2xhc3MoImktYWN0aXZlIil9X2ZpbmRPcHRpb24oZSl7Y29uc3QgdD1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMpO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKWlmKHRoaXMub3B0aW9uc1t0W29dXS52YWx1ZS50b1N0cmluZygpPT09ZS50b1N0cmluZygpKXJldHVybiB0aGlzLm9wdGlvbnNbdFtvXV0uaWR9X3BhcnNlRG9tSXRlbXMoZSl7Y29uc3QgdD1lLmNoaWxkcmVuKCksbz1bXTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT1rbyh0W2VdKTtsZXQgbjsib3B0Z3JvdXAiPT09aS5wcm9wKCJ0YWdOYW1lIikudG9Mb3dlckNhc2UoKT9uPXtvcHRncm91cDohMCxzZXBhcmF0b3I6Qm9vbGVhbih0aGlzLl9vcHRpb25zLnNob3dPcHRncm91cFNlcGFyYXRvcnMpLGxhYmVsOmkuYXR0cigibGFiZWwiKSxpdGVtczp0aGlzLl9wYXJzZURvbUl0ZW1zKGkpfToib3B0aW9uIj09PWkucHJvcCgidGFnTmFtZSIpLnRvTG93ZXJDYXNlKCkmJihuPXtpZDppWzBdLmluZGV4LG9wdGlvbjohMCxsYWJlbDppLnRleHQoKS5yZXBsYWNlKC9cLy9nLCLigIskJuKAiyIpLHZhbHVlOmkuYXR0cigidmFsdWUiKSxkaXNhYmxlZDppLmlzKCI6ZGlzYWJsZWQiKX0sdGhpcy5vcHRpb25zW24uaWRdPW4pLG8ucHVzaChuKX1yZXR1cm4gb31fcmVuZGVyKCl7aWYodGhpcy4kZWw9dGhpcy5fcmVuZGVyRHJvcGRvd24oKSx0aGlzLiRjb250cm9sPXRoaXMuJGVsLmZpbmQoIi50di1jb250cm9sLXNlbGVjdF9fY29udHJvbCIpLHRoaXMuJGNvbnRyb2xJbm5lcj10aGlzLiRlbC5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wtaW5uZXIiKSwhdGhpcy50b3VjaCl7dGhpcy4kZHJvcGRvd249dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19kcm9wZG93biIpLHRoaXMuJG9wdGlvbnM9dGhpcy4kZWwuZmluZCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMuJG9wdGlvbnMubGVuZ3RoO2UrKyl7Y29uc3QgdD1rbyh0aGlzLiRvcHRpb25zW2VdKSxvPXQuZGF0YSgiaWQiKTt0aGlzLm9wdGlvbnNbb10mJih0aGlzLm9wdGlvbnNbb10uJGVsPXQpfX10aGlzLm11bHRpcGxlPyh0aGlzLl91cGRhdGVTZWxlY3RCb3hUaXRsZSgpLHRoaXMuX3VwZGF0ZUNoZWNrQm94ZXMoKSk6KC0xPT09dGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4JiYodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4PTApLHRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSksdGhpcy4kc2VsZWN0Lm9uKCJjaGFuZ2UiLChlPT57dGhpcy5tdWx0aXBsZT8odGhpcy5fdXBkYXRlU2VsZWN0Qm94VGl0bGUoKSx0aGlzLl91cGRhdGVDaGVja0JveGVzKCkpOnRoaXMuX3VwZGF0ZVNpbmdsZVZpZXcodGhpcy5fZmluZE9wdGlvbih0aGlzLiRzZWxlY3QudmFsKCkpKX0pKSx0aGlzLnRvdWNofHwodGhpcy4kZWwudHZEcm9wZG93bih7c2Nyb2xsOiEwLGFkYXB0Qm9keTohMCxib3VuZGluZ0VsZW1lbnQ6dGhpcy5fb3B0aW9ucy5ib3VuZGluZ0VsZW1lbnQsbWF4SGVpZ2h0OnRoaXMuX29wdGlvbnMubWF4SGVpZ2h0LGRyb3Bkb3duV2lkdGg6dGhpcy5fb3B0aW9ucy5kcm9wZG93bldpZHRoLG5vQW5pbWF0aW9uOnRoaXMuX29wdGlvbnMubm9BbmltYXRpb24sY2xvc2VXaXRoRXNjOnRoaXMuX29wdGlvbnMuY2xvc2VXaXRoRXNjfSksCnRoaXMuZHJvcGRvd25TY3JvbGw9dGhpcy4kZWwudHZEcm9wZG93bigiZ2V0Iiwic2Nyb2xsIiksdGhpcy4kZHJvcGRvd24ub24oImNsaWNrIiwiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24iLChlPT57Y29uc3QgdD1wYXJzZUludChrbyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImlkIikpO3RoaXMub3B0aW9uc1t0XSYmIXRoaXMub3B0aW9uc1t0XS5kaXNhYmxlZCYmKHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHQpOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0KSx0aGlzLmNsb3NlKCkpKX0pKSx0aGlzLiRlbC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3RoaXMub3BlbmVkPSEwfSkpLHRoaXMuJGVsLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57dGhpcy5vcGVuZWQ9ITEsdGhpcy5maWx0ZXJRdWVyeT1bXSx0aGlzLm11bHRpcGxlfHx0aGlzLl9mb2N1c2VkT3B0aW9uLnRvU3RyaW5nKCk9PT10aGlzLl9zZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXgudG9TdHJpbmcoKXx8dGhpcy5fZm9jdXNPcHRpb24odGhpcy5fc2VsZWN0RWxlbWVudC5zZWxlY3RlZEluZGV4KSx0aGlzLm11bHRpcGxlJiZ0aGlzLl9jbGVhckZvY3VzKCl9KSksdGhpcy4kZWwub24oImNsaWNrIiwoKCk9Pnt0aGlzLiRjb250cm9sLmZvY3VzKCl9KSksdGhpcy4kZWwub24oImtleWRvd24iLChlPT57dGhpcy5fZmlsdGVyKGUpfSkpLHRoaXMuZGlzYWJsZWQ/dGhpcy5kaXNhYmxlKCk6dGhpcy5lbmFibGUoKSl9X3JlbmRlckRyb3Bkb3duKCl7cmV0dXJuIGtvKFRvLnJlbmRlcih4by53cmFwLHtpdGVtczp0aGlzLml0ZW1zLGNsYXNzOnRoaXMuJHNlbGVjdC5hdHRyKCJjbGFzcyIpLHRvdWNoOnRoaXMudG91Y2gsbXVsdGlwbGU6dGhpcy5tdWx0aXBsZSxkaXNhYmxlZDp0aGlzLmRpc2FibGVkLHJlYWRvbmx5OnRoaXMucmVhZG9ubHksZHJvcGRvd25fY2xhc3M6dGhpcy5fb3B0aW9ucy5hZGREcm9wZG93bkNsYXNzfSx4bykpLnJlbW92ZUNsYXNzKCJ0di1jb250cm9sLXNlbGVjdCIpfV9maWx0ZXIoZSl7aWYoOT09PWUud2hpY2gpcmV0dXJuIHZvaWQgdGhpcy5jbG9zZSgpO2lmKDEzPT09ZS53aGljaCYmIXRoaXMub3BlbmVkKXJldHVybjtpZigoNDA9PT1lLndoaWNofHwzMj09PWUud2hpY2gpJiYhdGhpcy5vcGVuZWQpcmV0dXJuIHRoaXMub3BlbigpLHZvaWQgZS5wcmV2ZW50RGVmYXVsdCgpO2UucHJldmVudERlZmF1bHQoKSx0aGlzLm9wZW5lZHx8dGhpcy5vcGVuKCk7Y29uc3QgdD1TdHJpbmcuZnJvbUNoYXJDb2RlKGUud2hpY2gpLnRvTG93ZXJDYXNlKCk7aWYodCYmLTE9PT1bOSwxMywyNywzOCw0MF0uaW5kZXhPZihlLndoaWNoKSl7dGhpcy5maWx0ZXJRdWVyeS5wdXNoKHQpO2NvbnN0IGU9dGhpcy5maWx0ZXJRdWVyeS5qb2luKCIiKTtsZXQgbztjb25zdCBpPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucyk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspaWYoMD09PXRoaXMub3B0aW9uc1tpW3RdXS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSkmJiF0aGlzLm9wdGlvbnNbaVt0XV0uZGlzYWJsZWQpe289dGhpcy5vcHRpb25zW2lbdF1dLmlkO2JyZWFrfXZvaWQgMCE9PW8mJnRoaXMuX2ZvY3VzT3B0aW9uKG8pLHRoaXMuY2xlYXJGaWx0ZXImJmNsZWFyVGltZW91dCh0aGlzLmNsZWFyRmlsdGVyKSx0aGlzLmNsZWFyRmlsdGVyPXNldFRpbWVvdXQoKCgpPT57dGhpcy5maWx0ZXJRdWVyeT1bXX0pLDUwMCl9MzIhPT1lLndoaWNoJiYxMyE9PWUud2hpY2h8fCF0aGlzLm9wZW5lZHx8KHRoaXMubXVsdGlwbGU/dGhpcy5fdG9nZ2xlT3B0aW9uKHRoaXMuX2ZvY3VzZWRPcHRpb24pOih0aGlzLl9zZXRTaW5nbGVWYWx1ZSh0aGlzLl9mb2N1c2VkT3B0aW9uKSx0aGlzLmNsb3NlKCksdGhpcy4kZWwub25lKCJrZXl1cCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKSkpO2NvbnN0IG89ZT0+e2xldCB0O2lmKHRoaXMub3B0aW9uc1t0aGlzLl9mb2N1c2VkT3B0aW9uXSl7Y29uc3Qgbz10aGlzLm9wdGlvbnNbdGhpcy5fZm9jdXNlZE9wdGlvbl0uJGVsW2VdKHRoaXMuJGRyb3Bkb3duLCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbjpub3QoLmktZGlzYWJsZWQpIik7dD1vLmxlbmd0aD9vLmRhdGEoImlkIik6dGhpcy5fZm9jdXNlZE9wdGlvbn1lbHNlIHQ9dGhpcy4kb3B0aW9ucy5maXJzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb246bm90KC5pLWRpc2FibGVkKSIpLmRhdGEoImlkIik7cmV0dXJuIHR9OzQwPT09ZS53aGljaCYmKHRoaXMuZmlsdGVyUXVlcnk9W10sdGhpcy5fZm9jdXNPcHRpb24obygibmV4dFVudGlsIikpKSwzOD09PWUud2hpY2gmJih0aGlzLmZpbHRlclF1ZXJ5PVtdLHRoaXMuX2ZvY3VzT3B0aW9uKG8oInByZXZVbnRpbCIpKSksMjc9PT1lLndoaWNoJiZ0aGlzLmNsb3NlKCl9fWZ1bmN0aW9uIE1vKGUpeyhhc3luYyBmdW5jdGlvbihlKXtyZXR1cm4oYXdhaXQgUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDU0NjgxKSxvLmUoMzE4MzcpLG8uZSgyMDk3MSksby5lKDQ5NTE4KSxvLmUoNzUzMDQpLG8uZSgzODAwMiksby5lKDcwMzY0KSxvLmUoODkxOTUpLG8uZSg3NTA0KSxvLmUoNDY2MDApLG8uZSgxMDcwNCldKS50aGVuKG8uYmluZChvLDIzNTcyKSkpLmNyZWF0ZURpYWxvZyh7d2lkdGg6NDAwLGRlc3Ryb3lPbkNsb3NlOiEwLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MTYwMCkpLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzIzNjMpKSxjb250ZW50V3JhcFRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0di1kaWFsb2dfX3NlY3Rpb24gdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPjxkaXYgY2xhc3M9InR2LXRleHQiPjxwPjwvcD48L2Rpdj48L2Rpdj4nLGFjdGlvbnNXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLWFjdGlvbnMgdHYtZGlhbG9nX19zZWN0aW9uLS1uby1ib3JkZXIiPicsYWN0aW9uczpbe25hbWU6Im9rIix0eXBlOiJwcmltYXJ5Iix0ZXh0Ol8udChudWxsLHZvaWQgMCxvKDIwODA3OCkpLG1ldGhvZDoiY2xvc2UiLGtleTpbMTMsMzJdfV0sLi4uZX0pCn0pKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9a28uZm4udHZDb250cm9sU2VsZWN0PSgwLENvLmNyZWF0ZVR2QmxvY2tXaXRoSW5zdGFuY2UpKCJ0di1jb250cm9sLXNlbGVjdCIsKGZ1bmN0aW9uKGUsdD17fSl7cmV0dXJuIG5ldyBBbyhFby5leHRlbmQodCx7JHNlbGVjdDplfSkpfSkpO28oNTUwNzA1KTt2YXIgSW89byg3NzA3NTUpLFJvPW8oMjM0OTY0KSxGbz1vKDQ5ODY1MSk7ZnVuY3Rpb24gTG8oZSl7aWYoISgwLEZvLmlzSURDRXhjaGFuZ2UpKGUpKXJldHVybiExO2U9RG8oZSk7Y29uc3QgdD13aW5kb3cucHJvLG89dC5nZXRQcm9kdWN0KGUpO3JldHVybiB2b2lkIDAhPT1vLmlkY19zZXJ2aWNlX2NvZGVzX2RlbGF5JiYoKCFBcnJheS5pc0FycmF5KG8uaW5jbHVkZWRfZXhjaGFuZ2VzKXx8IW8uaW5jbHVkZWRfZXhjaGFuZ2VzLnNvbWUoKGU9PnQuaGFzUGFja2FnZShEbyhlKSkpKSkmJiFmdW5jdGlvbihlKXtjb25zdCB0PXdpbmRvdy5wcm87cmV0dXJuIHQuaGFzUGFja2FnZShlKXx8dC5oYXNQYWNrYWdlKGUrIl9kbHkiKX0oZSkpfWZ1bmN0aW9uIERvKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpP2U6ImV4Y2hhbmdlLXswfSIuZm9ybWF0KGUudG9Mb3dlckNhc2UoKSl9dmFyIE9vPW8oMjU1NTE2KTtjb25zdCBObz1KU09OLnBhcnNlKCd7Ik5BU0RBUSI6ImV4Y2hhbmdlLW5hc2RhcSIsIk5ZU0UiOiJleGNoYW5nZS1ueXNlIiwiTllTRSBBUkNBIjoiZXhjaGFuZ2UtYW1leCIsIkFNRVgiOiJleGNoYW5nZS1hbWV4IiwiT1RDIjoiZXhjaGFuZ2Utb3RjIiwiREZNIjoiZXhjaGFuZ2UtZGZtIiwiQkNCQSI6ImV4Y2hhbmdlLWJjYmEiLCJBU1giOiJleGNoYW5nZS1hc3giLCJFVVJPTkVYVCI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQlJVIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiRVVST05FWFRQQVIiOiJleGNoYW5nZS1ldXJvbmV4dF9zdG9ja3MiLCJFVVJPTkVYVExJUyI6ImV4Y2hhbmdlLWV1cm9uZXh0X3N0b2NrcyIsIkVVUk9ORVhUQU1TIjoiZXhjaGFuZ2UtZXVyb25leHRfc3RvY2tzIiwiQkFIUkFJTiI6ImV4Y2hhbmdlLWJhaHJhaW4iLCJCTUZCT1ZFU1BBIjoiZXhjaGFuZ2UtYm92ZXNwYV9zdG9ja3MiLCJUU1giOiJleGNoYW5nZS10c3giLCJUU1hWIjoiZXhjaGFuZ2UtdHN4diIsIkNTRSI6ImV4Y2hhbmdlLWNzZSIsIlNJWCI6ImV4Y2hhbmdlLXNpeCIsIkJDUyI6ImV4Y2hhbmdlLWJjcyIsIlNTRSI6ImV4Y2hhbmdlLXNzZSIsIlNaU0UiOiJleGNoYW5nZS1zenNlIiwiQlZDIjoiZXhjaGFuZ2UtYnZjIiwiRldCIjoiZXhjaGFuZ2UtZndiIiwiU1dCIjoiZXhjaGFuZ2Utc3diIiwiWEVUUiI6ImV4Y2hhbmdlLXhldHIiLCJPTVhDT1AiOiJleGNoYW5nZS1vbXhjb3AiLCJPTVhUU0UiOiJleGNoYW5nZS1vbXh0c2UiLCJFR1giOiJleGNoYW5nZS1lZ3giLCJCTUUiOiJleGNoYW5nZS1ibWUiLCJPTVhIRVgiOiJleGNoYW5nZS1vbXhoZXgiLCJIS0VYIjoiZXhjaGFuZ2UtaGtleCIsIklEWCI6ImV4Y2hhbmdlLWlkeCIsIlRBU0UiOiJleGNoYW5nZS10YXNlIiwiQlNFIjoiZXhjaGFuZ2UtYnNlIiwiTlNFIjoiZXhjaGFuZ2UtbnNlIiwiT01YSUNFIjoiZXhjaGFuZ2Utb214aWNlIiwiTUlMIjoiZXhjaGFuZ2UtbWlsIiwiTUlMU0VERVgiOiJleGNoYW5nZS1taWwiLCJGU0UiOiJleGNoYW5nZS1mc2UiLCJOQUciOiJleGNoYW5nZS1uYWciLCJTQVBTRSI6ImV4Y2hhbmdlLXNhcHNlIiwiVFNFIjoiZXhjaGFuZ2Utb214dHNlIiwiS1JYIjoiZXhjaGFuZ2Uta3J4X3N0b2NrcyIsIk9NWFZTRSI6ImV4Y2hhbmdlLW9teHZzZSIsIk9NWFJTRSI6ImV4Y2hhbmdlLW9teHJzZSIsIkJNViI6ImV4Y2hhbmdlLWJtdiIsIk1ZWCI6ImV4Y2hhbmdlLW15eCIsIk5TRU5HIjoiZXhjaGFuZ2UtbnNlbmciLCJOWlgiOiJleGNoYW5nZS1uengiLCJCVkwiOiJleGNoYW5nZS1idmwiLCJHUFciOiJleGNoYW5nZS1ncHciLCJRU0UiOiJleGNoYW5nZS1xc2UiLCJCRUxFWCI6ImV4Y2hhbmdlLWJlbGV4IiwiTEpTRSI6ImV4Y2hhbmdlLWxqc2UiLCJNT0VYIjoiZXhjaGFuZ2UtbW9leF9zdG9ja3MiLCJUQURBV1VMIjoiZXhjaGFuZ2UtdGFkYXd1bCIsIk9NWFNUTyI6ImV4Y2hhbmdlLW9teHN0byIsIlNHWCI6ImV4Y2hhbmdlLXNneF9zdG9ja3MiLCJTRVQiOiJleGNoYW5nZS1zZXQiLCJCSVNUIjoiZXhjaGFuZ2UtYmlzdCIsIlRXU0UiOiJleGNoYW5nZS10d3NlIiwiTFNFIjoiZXhjaGFuZ2UtbHNlIiwiTFNJTiI6ImV4Y2hhbmdlLWxzaW4iLCJIT1NFIjoiZXhjaGFuZ2UtaG9zZV9zdG9ja3MiLCJKU0UiOiJleGNoYW5nZS1qc2Vfc3RvY2tzIiwiT1NFIjoiZXhjaGFuZ2Utb3NsIiwiWlNFIjoiZXhjaGFuZ2UtenNlIn0nKSxQbz1bXTtmb3IoY29uc3QgZSBpbiBPbylPby5oYXNPd25Qcm9wZXJ0eShlKSYmT29bZV0uaGFzT3duUHJvcGVydHkoImV4Y2hhbmdlc1N0b2NrcyIpJiZPb1tlXS5leGNoYW5nZXNTdG9ja3MuZm9yRWFjaCgoZT0+e1BvLnB1c2goZSl9KSk7ZnVuY3Rpb24gQm8oZSl7cmV0dXJuIE5vW2VdfHxudWxsfWZ1bmN0aW9uICRvKGUpe3JldHVyblsiQVNYIiwiQVRIRVgiXS5pbmNsdWRlcyhlKX12YXIgV287IWZ1bmN0aW9uKGUpe2VbZS5Ob25lPTBdPSJOb25lIixlW2UuV2lkZ2V0PTFdPSJXaWRnZXQiLGVbZS5TaXRlPTJdPSJTaXRlIn0oV298fChXbz17fSkpO3ZhciBxbz1vKDc2Mjg1MSksVm89bygxNTI3MTcpLEhvPW8oNDc5MzQpO2Z1bmN0aW9uIFVvKGUsdCxvKXtyZXR1cm4gdC52YWx1ZXx8KDAsSG8uZW5hYmxlZCkoZSxvKX1mdW5jdGlvbiB6byhlLHQsbyl7c3dpdGNoKGUpe2Nhc2UiU0NSRUVORVJfSU5URVJWQUxTIjpyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBvPSgwLEhvLmdldENvbmZpZykoIlNDUkVFTkVSX0lOVEVSVkFMUyIsdCk7cmV0dXJuISghb3x8IW8uaW50ZXJ2YWwpJiZvLmludGVydmFsLmluY2x1ZGVzKGUuaW50ZXJ2YWwpfSh0LG8pO2Nhc2UiU0NSRUVORVJfQVVUT19SRUZSRVNIIjpyZXR1cm4gVW8oIlNDUkVFTkVSX0FVVE9fUkVGUkVTSCIsdCxvKTtjYXNlIkFMRVJUU19OT19FWFBJUkFUSU9OIjoKcmV0dXJuIFVvKCJBTEVSVFNfTk9fRVhQSVJBVElPTiIsdCxvKTtkZWZhdWx0OnJldHVybigwLEhvLmVuYWJsZWQpKGUsbyl9fXZhciBqbz1vKDYxMzg3MCk7YXN5bmMgZnVuY3Rpb24gR28oZSx0LG8saT17fSxuKXtjb25zdCByPXdpbmRvdy5pc19hdXRoZW50aWNhdGVkO3dpbmRvdy5pc19hdXRoZW50aWNhdGVkJiZ3aW5kb3cudXNlci5pc19wcm8mJmF3YWl0KDAsVm8uc3luY1VzZXJEYXRhKSgiZ29wcm8iKSxyPT09d2luZG93LmlzX2F1dGhlbnRpY2F0ZWQ/ZnVuY3Rpb24oZSx0LG8saSxuKXt6byh0LGkpP2UoKTooMCxJby5vcGVuUGF5d2FsbCkoey4uLm8scnVuT3JHb3Byb1dpdGhGZWF0dXJlQ2hlY2tPcHRpb25zOntmZWF0dXJlQ2hlY2s6KCk9PnpvKHQsaSksc2lnbkluU3VjY2VzczplfX0sbil9KGUsdCxvLGksbik6KDAsam8uc2hvd1NpZ25Nb2RhbCkoe3NvdXJjZTpvLmdvcHJvU291cmNlLGZlYXR1cmU6by5mZWF0dXJlLHNpZ25pblN1Y2Nlc3M6ZX0pfXZhciBYbz1vKDczNzg2MyksS289byg5NjkxNjgpLFlvPW8oMjExMzYwKTtjbGFzcyBKb3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfdGltZWZyYW1lIix0aGlzLnNvdXJjZT0idGltZWZyYW1lX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9ZX19Y2xhc3MgWm97Y29uc3RydWN0b3IoZSx0KXt0aGlzLmV2ZW50PSJjaGFuZ2VfY29sdW1uc2V0Iix0aGlzLnNvdXJjZT0iY29sdW1zZXRfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3cpKHQpLHRoaXMuc291cmNlPWV9fWNsYXNzIFFve2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2Zhdm9yaXRlX2NvbHVtbnNldHMiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfc3Rhcl9idXR0b24iLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0Q29sdW1uU2V0TmFtZUZvclNub3dQbG93KSh0KSx0aGlzLnN0YXRlPWV9fWNsYXNzIGVpe2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLHRoaXMuc291cmNlPSJjb2x1bW5zZXRfcGVuX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyB0aXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfZmlsdGVyc2V0Iix0aGlzLnNvdXJjZT0iZmlsdGVyc2V0X3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9KDAsWW8uZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93KShlKX19Y2xhc3Mgb2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsdGhpcy5zb3VyY2U9ImZpbHRlcnNldF9wZW5fYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJ0b29sYmFyIix0aGlzLnN0YXRlPSIiLHRoaXMudmFsdWU9IiJ9fXZhciBpaT1vKDQ1MDY2NCk7Y2xhc3Mgbml7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNoYW5nZV9jb2x1bW5zIix0aGlzLnNvdXJjZT0iY29sdW1uX3NlbGVjdG9yIix0aGlzLmxvY2F0aW9uPSJoZWFkZXJfZmllbGRzX3BvcHVwIj09PWU/ImhlYWRlciI6InRvb2xiYXIiLHRoaXMuc3RhdGU9dD8iYWRkZWQiOiJyZW1vdmVkIix0aGlzLnZhbHVlPW99fWNsYXNzIHJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImNvbHVtbl9tb3ZlIix0aGlzLnNvdXJjZT0iY29sdW1uX2hlYWRlciIsdGhpcy5sb2NhdGlvbj0iaGVhZGVyIix0aGlzLnN0YXRlPWlpLlVzZXJBY3Rpb25TdGF0ZS5EcmFnLHRoaXMudmFsdWU9ZX19Y2xhc3Mgc2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJyZWZyZXNoX3NjcmVlbmVyX2RhdGEiLHRoaXMuc291cmNlPSJyZWZyZXNoX2J1dHRvbiIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPSIifX1jbGFzcyBhaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjaGFuZ2VfcmVmcmVzaF9pbnRlcnZhbCIsdGhpcy5zb3VyY2U9InJlZnJlc2hfaW50ZXJ2YWxfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT0oMCxZby5nZXRTbm93UGxvd1JlZnJlc2hJbnRlcnZhbCkoZSl9fXZhciBsaT1vKDQ4MjUwNCk7Y29uc3QgY2k9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuUG9wdXBzIik7Y2xhc3MgZGl7Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuX21vZGVsPWUsdGhpcy5fdmlldz10LHRoaXMuX2JyaWRnZT1vLHRoaXMuX21hcmtldHM9bnVsbCx0aGlzLl9tb2RlbC5maWVsZFNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiKSkpLHRoaXMuX21vZGVsLmZpbHRlclNldFNhdmVkLnN1YnNjcmliZShudWxsLCgoKT0+dGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikpKSx0aGlzLl9maWVsZHNQb3B1cENhY2hlPXt9fXNob3dQcm9tcHREaWFsb2coZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGk9PnsoMCxSby5zaG93UmVuYW1lKSh7dGl0bGU6ZS50aXRsZSx0ZXh0OmUubGFiZWwsaW5pdFZhbHVlOnQsbWFpbkJ1dHRvblRleHQ6Xy50KG51bGwsdm9pZCAwLG8oNjEyNjU1KSksbWF4TGVuZ3RoOjEyOCxvblJlbmFtZTooe25ld1ZhbHVlOmUsZGlhbG9nQ2xvc2U6dH0pPT57aShlKSx0KCl9LG9uQ2xvc2U6aX0pfSkpfXNob3dNYWludGVuYW5jZURpYWxvZygpe01vKHt0eXBlOiJtb2RhbCIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oMTU0NjQpKSxjb250ZW50Ol8udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfSl9c2hvd0NvbmZpcm1EaWFsb2coZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57KDAsUm8uc2hvd0NvbmZpcm0pKHt0ZXh0OmUsCm9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOmV9KT0+e3QoITApLGUoKX0sb25DbG9zZTooKT0+dCghMSl9KX0pKX1zaG93Tm90aWNlKGUsdCl7TW8oe2NvbnRlbnQ6ZSx0aXRsZTp0fSl9c2V0RmllbGRzUG9wdXAoZSx0LGkpe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBuPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1maWVsZHMtcG9wdXAgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pO2kmJnIuYWRkQ2xhc3MoaSk7Y29uc3Qgcz1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19zZWFyY2gtd3JhcCI+JykuYXBwZW5kVG8ociksYT1saShgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDg3MTExMCkpfSIgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9fc2VhcmNoLWlucHV0Ij5gKS5hcHBlbmRUbyhzKSxsPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhyKSxjPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKTsiaGVhZGVyX2ZpZWxkcy1idXR0b24iPT09ZS5hdHRyKCJkYXRhLW5hbWUiKSYmYy5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkc19wb3B1cCJ9KTtjb25zdCBkPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItZmllbGRzLXBvcHVwX19pdGVtLS1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PicpLmFwcGVuZFRvKHIpO2Eub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCB0PWEudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7dD9jLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLmVhY2goKGZ1bmN0aW9uKCl7Y29uc3QgZT1saSh0aGlzKTtlLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCF+ZS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpKX0pKTpjLmZpbmQoIi5qcy1maWVsZHMtaXRlbSIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCEhYy5maW5kKCIuanMtZmllbGRzLWl0ZW06bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxuLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpLG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PnthLnZhbCgiIiksYy5maW5kKCIuanMtZmllbGRzLWl0ZW0iKS5yZW1vdmVDbGFzcygianMtaGlkZGVuIiksZC5hZGRDbGFzcygianMtaGlkZGVuIiksdGhpcy5yZXNldEZpZWxkc1BvcHVwKGMpLGwuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS1lLm91dGVySGVpZ2h0KCktcy5vdXRlckhlaWdodCgpLTIwKX0pKS5vbigiYWZ0ZXJPcGVuTWVudSIsKCgpPT57YS5mb2N1cygpfSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pLHNldFRpbWVvdXQoKCgpPT50aGlzLnJlc2V0RmllbGRzUG9wdXAoYykpLDApfXJlc2V0RmllbGRzUG9wdXAoZSl7ZS5lbXB0eSgpO2NvbnN0IHQ9ZT0+e2lmKGUgaW4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZSl7Y29uc3QgdD10aGlzLl9maWVsZHNQb3B1cENhY2hlW2VdO3JldHVybiB0LmNoZWNrYm94LnByb3AoImNoZWNrZWQiLEl0W2VdLmNoZWNrZWQpLHQuaXRlbX1jb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+Jyk7bGkoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbSBqcy1maWVsZHMtaXRlbSI+XG5cdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpZWxkLWNoZWNrYm94IiR7SXRbZV0uY2hlY2tlZD8iIGNoZWNrZWQiOiIifT5cblx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIj4keygwLFRlLnRyaWVzVHJhbnNsYXRlU2NyZWVuZXJEYXRhKShJdFtlXS50aXRsZSl9PC9zcGFuPlxuXHRcdFx0PC9sYWJlbD5gKS5hcHBlbmRUbyh0KTtjb25zdCBvPXQuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94IikudHZDb250cm9sQ2hlY2tib3goKTtyZXR1cm4gdGhpcy5fZmllbGRzUG9wdXBDYWNoZVtlXT17aXRlbTp0LGNoZWNrYm94Om99LHR9LG89dGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZmlsdGVyKFh0KS5zb3J0KCgoZSx0KT0+SXRbZV0udGl0bGUubG9jYWxlQ29tcGFyZShJdFt0XS50aXRsZSx2b2lkIDAse2lnbm9yZVB1bmN0dWF0aW9uOiEwLG51bWVyaWM6ITB9KSkpLGk9by5maWx0ZXIoKGU9Pkl0W2VdLmNoZWNrZWQpKSxuPW8uZmlsdGVyKChlPT4hSXRbZV0uY2hlY2tlZCkpO2kuY29uY2F0KG4pLmZvckVhY2goKG89PnsiaXNfcHJpbWFyeSIhPT1vJiZ0KG8pLmFwcGVuZFRvKGUpfSkpLGUuZmluZCgiLmpzLWZpZWxkLWNoZWNrYm94Iikub2ZmKCJjaGFuZ2UiKSxlLmZpbmQoIi5qcy1maWVsZC1jaGVja2JveCIpLm9uKCJjaGFuZ2UiLCh0PT57Y29uc3Qgbz1saSh0LmN1cnJlbnRUYXJnZXQpLGk9by5hdHRyKCJuYW1lIik7SXRbaV0uY2hlY2tlZD1vLnByb3AoImNoZWNrZWQiKTtjb25zdCBuPWUuYXR0cigiZGF0YS1uYW1lIikscj1JdFtpXS5jaGVja2VkOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBuaShuLHIsaSkpO2NvbnN0IHM9SXRbaV0uY2hlY2tlZD90aGlzLl92aWV3Ll90YWJsZS5maWVsZHNPcmRlci5jb25jYXQoaSk6dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09aSkpO3RoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSwKdGhpcy5fbW9kZWwuZmllbGRTZXRDaGFuZ2VkLmZpcmUocy5maWx0ZXIoKGU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbikpKSx0aGlzLl9tb2RlbC51cGRhdGUoKSx0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIsdGhpcy5fbW9kZWwuaXNGaWVsZFNldENoYW5nZWQoKSl9KSl9c2V0UG9wdXAoZSx0LG8pe2UuYWRkQ2xhc3MoInR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24iKTtjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSIke3R8fCIifSI+YCk7aS5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1zY3JlZW5lci1wb3B1cCBpLWhpZGRlbiI+JykuYXBwZW5kVG8oaSk7byYmbi5hZGRDbGFzcyhvKTtjb25zdCByPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIGpzLWNvbnRhaW5lciI+JykuYXBwZW5kVG8obik7cmV0dXJuIGxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ociksaS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e3IuY3NzKCJtYXhIZWlnaHQiLGxpKHdpbmRvdykuaGVpZ2h0KCktZS5vZmZzZXQoKS50b3ArbGkod2luZG93KS5zY3JvbGxUb3AoKS00NSl9KSkudHZEcm9wZG93bih7c2Nyb2xsOiEwLG5vQW5pbWF0aW9uOiEwfSl9c2V0RmllbGRTZXRzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIik7dC50dkRyb3Bkb3duKCJkaXNhYmxlIik7Y29uc3QgaT10LmZpbmQoIi5qcy1jb250ZW50Iik7aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG89bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksby5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpO2NvbnN0IG49by5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX21vZGVsLmFwcGx5RmllbGRTZXQobiksdGhpcy5fdmlldy5hZGp1c3RUb29sYmFyV2lkdGgoKSx0LnR2RHJvcGRvd24oImNsb3NlIiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfc2VsZWN0b3IiLG4pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQoaS5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpKSxyPXRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCk9PT1uLmlkO3RoaXMuc2hvd0NvbmZpcm1EaWFsb2coXy50KG51bGwsdm9pZCAwLG8oOTg1MjU5KSkuZm9ybWF0KHtuYW1lOm4udGl0bGV9KSkudGhlbigoZT0+e2UmJnRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWVsZCBzZXQiKS50aGVuKCgoKT0+e3RoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobi5pZCksciYmdGhpcy5fbW9kZWwuYXBwbHlGaWVsZFNldCh0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzWzBdLmlkLG51bGwsITApLHRoaXMuX3ZpZXcuYWRqdXN0VG9vbGJhcldpZHRoKCl9KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1zdGFyIiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KSxvPXQucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKTt0LnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tZmF2b3JpdGUiKSx0aGlzLl9tb2RlbC5hZGRGYXZvcml0ZUZpZWxkU2V0KG8pLGUuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFFvKCJhZGRlZCIsbykpfSkpLm9uKCJjbGljayIsIi5qcy1zZXQtc3Rhci1hY3RpdmUiLChlPT57Y29uc3QgdD1saShlLmN1cnJlbnRUYXJnZXQpLG89dC5wYXJlbnQoKS5hdHRyKCJkYXRhLXNldCIpO3QucGFyZW50KCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1mYXZvcml0ZSIpLHRoaXMuX21vZGVsLnJlbW92ZUZhdm9yaXRlRmllbGRTZXQobyksZS5zdG9wUHJvcGFnYXRpb24oKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgUW8oInJlbW92ZWQiLG8pKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LXJlbmFtZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSxuPXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChpKTt0aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDY3MTIzKSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oMjQ5OTc4KSl9LG4udGl0bGUpLnRoZW4oKGU9PntlJiZlIT09bi50aXRsZSYmKHRoaXMuX21vZGVsLnNhdmVGaWVsZFNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpZWxkIHNldCIpLHRoaXMuX3ZpZXcuJGZpZWxkU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUganMtbm8tcG9pbnRlci1ldmVudHMiKSx0aGlzLl9tb2RlbC5jdXJyZW50RmllbGRTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWVsZFNldHNCdXR0b24udGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZWkpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKX0pKS5vbigiY2xpY2siLCIuanMtc2F2ZSIsKGU9Pnt0aGlzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCkudGhlbigoZT0+ewpjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlLmlkKTt0aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuX21vZGVsLnNldHRpbmdLZXkrIi5maWVsZFNldElkIixlLmlkLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodC50aXRsZSk7Y29uc3Qgbz10aGlzLiRmYXZvcml0ZXNCYXImJnRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKGAuanMtZmF2b3JpdGUtaXRlbVtkYXRhLXNldD0ke2UuaWR9XWApfHxsaSgpO28uc2l6ZSgpJiZvLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19mYXZvcml0ZXMtaXRlbS0tYWN0aXZlIil9KSkuY2F0Y2goKGU9PntlJiZjaS5sb2dFcnJvcihlKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIil9KSksdGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3QudHZEcm9wZG93bigiZW5hYmxlIil9KSwhMCksdC5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+dGhpcy5zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoaSkpKX1zZXRGaWVsZFNldHNQb3B1cENvbnRlbnQoZSl7ZS5lbXB0eSgpLHRoaXMuX2JyaWRnZS5vbldpZGdldHx8bGkoYDxkaXYgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tc2F2ZSBqcy1zYXZlIj4keygwLHFvLmFwcGVuZEVsbGlwc2lzKShfLnQobnVsbCx2b2lkIDAsbygzMDM2ODQpKSl9PC9kaXY+YCkucHJlcGVuZChsaShvKDYyNjIxOCkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixzdHlsZToidG9wOiAtMnB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7In0pKS5hcHBlbmRUbyhlKTtjb25zdCB0PWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0cyI+PC9kaXY+JykuYXBwZW5kVG8oZSk7dGhpcy5fbW9kZWwuc2V0dGluZ3MuZmllbGRTZXRzLmZvckVhY2goKGU9Pntjb25zdCBpPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7ZS5pZH0iICBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1wcmVzZXQganMtc2V0IiB0aXRsZT0iJHtibyhlLnRpdGxlKX0iPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJqcy1maWVsZC1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1kZWxldGUganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tcmVuYW1lIGpzLXNldC1yZW5hbWUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDkyNDgyMykpfSI+XG5cdFx0XHRcdFx0XHQke28oMjQ5NDg5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXItYWN0aXZlIGpzLXNldC1zdGFyLWFjdGl2ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNjk0MjA5KSl9Ij5cblx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tc3RhciBqcy1zZXQtc3RhciIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTk1MjkpKX0iPlxuXHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+YCkuYXBwZW5kVG8odCk7aS5maW5kKCIuanMtZmllbGQtc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZS5pZCkpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWVsZFNldHMuZm9yRWFjaCgodD0+e2xpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1zZXQ9IiR7dC5pZH0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2V0Ij5cblx0XHRcdFx0XHQke3QudGl0bGV9XG5cdFx0XHRcdFx0JHt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/IiI6YDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1zdGFyLWFjdGl2ZSBqcy1zZXQtc3Rhci1hY3RpdmUiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDY5NDIwOSkpfSI+XG5cdFx0XHRcdFx0XHRcdCR7byg4MDEzMjcpfVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLXN0YXIganMtc2V0LXN0YXIiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDk5NTI5KSl9Ij5cblx0XHRcdFx0XHRcdFx0JHtvKDQyNzA5KX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5gfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLmZpbmQoIi5qcy1zZXQiKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWZhdm9yaXRlIiwtMSE9PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodC5pZCkpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCl9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpfWNvbmZpcm1BbmRTYXZlQ3VycmVudEZpZWxkU2V0KCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKHRoaXMuX21vZGVsLmN1cnJlbnRGaWVsZFNldElkKCkpLHQ9dGhpcy5fdmlldy5fdGFibGUuZmllbGRzT3JkZXIuc2xpY2UoMCk7aWYoIUl0LnR5cGUuZGlzYWJsZWQmJkl0LnR5cGUuY2hlY2tlZCl7Y29uc3QgZT10LmluZGV4T2YoIm5hbWUiKTstMSE9PWUmJnQuc3BsaWNlKGUrMSwwLCJ0eXBlIil9aWYoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkKXtjb25zdCBlPXQuaW5kZXhPZigibmFtZSIpOy0xIT09ZSYmdC5zcGxpY2UoZSsxLDAsImRlc2NyaXB0aW9uIil9Y29uc3QgaT1KU09OLnN0cmluZ2lmeSh0KSxuPWUmJiF0aGlzLl9tb2RlbC5kZWZhdWx0RmllbGRTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDMwMzY4NCkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDI0OTk3OCkpfSxlJiZlLnRpdGxlfHwiIikudGhlbigobz0+e2lmKHZvaWQgMD09PW8pcmV0dXJuIHZvaWQgcigpO2NvbnN0IHM9e3RpdGxlOmJvKG8pLGNvbnRlbnQ6aX07bGV0IGE9IkNyZWF0ZSBmaWVsZCBzZXQiO24mJmUudGl0bGU9PT1vJiYocy5pZD1lLmlkLGE9IlVwZGF0ZSBmaWVsZCBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmllbGRTZXQocyxhKS50aGVuKHQscil9KSkpLHtzb3VyY2U6InNhdmUgY29sdW1uc2V0In0pKSl9c2V0RmlsdGVyU2V0c1BvcHVwKGUpe2NvbnN0IHQ9dGhpcy5zZXRQb3B1cChlLCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24td3JhcCIsInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIpO3QudHZEcm9wZG93bigiZGlzYWJsZSIpO2NvbnN0IGk9dC5maW5kKCIuanMtY29udGVudCIpLG49dGhpcy5fYnJpZGdlLiRib2R5O2Z1bmN0aW9uIHIoZSl7aWYoKDAsS28uaXNSdGwpKCkpZS50b2dnbGVDbGFzcygidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IiwhMCk7ZWxzZXtjb25zdCBvPXQud2lkdGgoKSxpPW4uZmluZCgiLnR2LXNjcmVlbmVyLXRvb2xiYXIiKS53aWR0aCgpLHI9dC5wb3NpdGlvbigpLmxlZnQscz1pLShvK3IpO2UudG9nZ2xlQ2xhc3MoInR2LWRyb3Bkb3duX19ib2R5LS1wb3NpdGlvbl9yaWdodCIscj5zKX19aS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IG49bGkoZS5jdXJyZW50VGFyZ2V0KTtpLmZpbmQoIi5qcy1pdGVtLWFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIGpzLWl0ZW0tYWN0aXZlIiksbi5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSBqcy1pdGVtLWFjdGl2ZSIpLHRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24udG9nZ2xlQ2xhc3MoImktZGlzYWJsZWQiLCEwKSxuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fbW9kZWwuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbyg5NjMzMTgpKSkudGhlbigodD0+e3Q/dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKGUsKHQ9Pnt0JiZjaS5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9aGkobi5hdHRyKCJkYXRhLXNldCIpKTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0ICIrZSksdGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyB0aShlKSl9KSksc2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksMjAwKX0pKS5vbigiY2xpY2siLCIuanMtc2V0LWRlbGV0ZSIsKGU9Pntjb25zdCBpPWxpKGUuY3VycmVudFRhcmdldCksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkucGFyZW50KCkuYXR0cigiZGF0YS1zZXQiKSkscj10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU2V0SWQoKT09PW4uaWQ7dGhpcy5zaG93Q29uZmlybURpYWxvZyhfLnQobnVsbCx2b2lkIDAsbygyNzcwMTEpKS5mb3JtYXQoe25hbWU6bi50aXRsZX0pKS50aGVuKChlPT57ZSYmdGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCxkZWxldGU6MX0sIkRlbGV0ZSBmaWx0ZXIgc2V0IikudGhlbigoKCk9PntpZihyKXtjb25zdCBlPXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKGU9PiEwIT09ZS5kaXNhYmxlZCkpfHx0aGlzLl9tb2RlbC5kZWZhdWx0RmlsdGVyU2V0c1swXTt0aGlzLl9tb2RlbC5hcHBseUZpbHRlclNldChlLmlkKX19KSl9KSksdC50dkRyb3Bkb3duKCJjbG9zZSIpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNsaWNrIiwiLmpzLXNldC1yZW5hbWUiLChlPT57Y29uc3QgaT1saShlLmN1cnJlbnRUYXJnZXQpLnBhcmVudCgpLmF0dHIoImRhdGEtc2V0Iiksbj10aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGkpO3RoaXMuc2hvd1Byb21wdERpYWxvZyh7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQxMjU3KSksbGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oODkwOTkpKX0sbi50aXRsZSkudGhlbigoZT0+e2UmJmUhPT1uLnRpdGxlJiYodGhpcy5fbW9kZWwuc2F2ZUZpbHRlclNldCh7aWQ6bi5pZCx0aXRsZTplfSwiUmVuYW1lIGZpbHRlciBzZXQiKSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFjdGl2ZSBqcy1uby1wb2ludGVyLWV2ZW50cyIpLHRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpPT1uLmlkJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dChlKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgb2kpKX0pKSx0LnR2RHJvcGRvd24oImNsb3NlIiksZS5zdG9wUHJvcGFnYXRpb24oKQp9KSkub24oImNsaWNrIiwiLmpzLXNhdmUiLChlPT57dGhpcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKS50aGVuKChlPT57dm9pZCAwIT09ZS5pZD8odGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGUuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLl9tb2RlbC5nZXRGaWx0ZXJTZXRCeUlkKGUuaWQpLnRpdGxlKSk6Y2kubG9nRXJyb3IoIlVuYWJsZSB0byBnZXQgaWQgb2YgY3JlYXRlZCBzZXQiKX0pKS5jYXRjaCgoZT0+e2UmJmNpLmxvZ0Vycm9yKGUpfSkpLHQudHZEcm9wZG93bigiY2xvc2UiKX0pKSx0aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50PWksdGhpcy5fYnJpZGdlLndpZHRoPyhyKGkucGFyZW50KCkucGFyZW50KCkpLHRoaXMuX2JyaWRnZS53aWR0aC5zdWJzY3JpYmUoKCgpPT57cihpLnBhcmVudCgpLnBhcmVudCgpKX0pKSk6bGkod2luZG93KS5vbigicmVzaXplIiwoKCk9PntyKGkucGFyZW50KCkucGFyZW50KCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnR2RHJvcGRvd24oImVuYWJsZSIpfSksITApLHQub24oImJlZm9yZU9wZW5NZW51IiwoKCk9Pnt0aGlzLnNldEZpbHRlclNldHNQb3B1cENvbnRlbnQoKX0pKX1zZXRGaWx0ZXJTZXRzUG9wdXBDb250ZW50KCl7Y29uc3QgZT10aGlzLiRmaWx0ZXJTZXRzUG9wdXBDb250ZW50O2UuZW1wdHkoKSx0aGlzLl9icmlkZ2Uub25XaWRnZXR8fGxpKGA8ZGl2IGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0gdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNhdmUgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXNwYWNlLWxlZnQganMtc2F2ZSI+JHsoMCxxby5hcHBlbmRFbGxpcHNpcykoXy50KG51bGwsdm9pZCAwLG8oMzk0MTMxKSkpfTwvZGl2PmApLnByZXBlbmQobGkobyg2MjYyMTgpKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24iLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIsc3R5bGU6InRvcDogLTJweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyJ9KSkuYXBwZW5kVG8oZSk7Y29uc3QgdD1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLXByZXNldHMiPjwvZGl2PicpLmFwcGVuZFRvKGUpO3RoaXMuX21vZGVsLnNldHRpbmdzLmZpbHRlclNldHMuZm9yRWFjaCgoZT0+e2NvbnN0IGk9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdiBkYXRhLXNldD0iJHtlLmlkfSIgY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSB0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tcHJlc2V0IHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9ImpzLWZpbHRlci1zZXQtbmFtZSI+PC9zcGFuPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS1yZW5hbWUganMtc2V0LXJlbmFtZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oOTI0ODIzKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygyNDk0ODkpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tZGVsZXRlIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLWRlbGV0ZS0tcmlnaHQganMtc2V0LWRlbGV0ZSIgdGl0bGU9IiR7Xy50KG51bGwsdm9pZCAwLG8oNDMxNDQxKSl9Ij5cblx0XHRcdFx0XHRcdCR7bygxOTk3ODUpfVxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKTtpLmZpbmQoIi5qcy1maWx0ZXItc2V0LW5hbWUiKS50ZXh0KGhpKGUudGl0bGUpKSxpLmFwcGVuZFRvKHQpfSkpLHRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZvckVhY2goKHQ9Pnt0LmRpc2FibGVkfHxsaShgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0iPlxuXHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke3QuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1zcGFjZS1sZWZ0IGpzLXNldCI+XG5cdFx0XHRcdFx0JHt0LnRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpfSkpLGUuZmluZChgW2RhdGEtc2V0PSIke3RoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpfSJdYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19pdGVtLS1hY3RpdmUganMtaXRlbS1hY3RpdmUiKX1jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWx0ZXJTZXQoKXtjb25zdCBlPXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCkpLHQ9SlNPTi5zdHJpbmdpZnkodGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclN0YXRlKCkpLGk9ZSYmIXRoaXMuX21vZGVsLmRlZmF1bHRGaWx0ZXJTZXRzLmZpbmQoKHQ9PnQuaWQ9PT1lLmlkKSk7cmV0dXJuIG5ldyBQcm9taXNlKCgobixyKT0+cnVuT3JTaWduSW4oKCgpPT50aGlzLnNob3dQcm9tcHREaWFsb2coe3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDM5NDEzMSkpLGxhYmVsOl8udChudWxsLHZvaWQgMCxvKDg5MDk5KSl9LGUudGl0bGUpLnRoZW4oKG89PntpZih2b2lkIDA9PT1vKXJldHVybiB2b2lkIHIoKTtjb25zdCBzPXt0aXRsZTpibyhvKSxjb250ZW50OnR9O2xldCBhPSJDcmVhdGUgZmlsdGVyIHNldCI7aSYmZS50aXRsZT09PW8mJihzLmlkPWUuaWQsYT0iVXBkYXRlIGZpbHRlciBzZXQiKSx0aGlzLl9tb2RlbC5zYXZlRmlsdGVyU2V0KHMsYSkudGhlbihuLHIpfSkpKSx7c291cmNlOiJzYXZlIHNjcmVlbiJ9KSkpfXNldEhpZGRlbkZhdm9yaXRlc1BvcHVwKGUsdCxvLGkpewplLmFkZENsYXNzKCJ0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uIik7Y29uc3Qgbj1saSgnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUtd3JhcCI+Jyk7bi5pbnNlcnRBZnRlcihlKS5hcHBlbmQoZSk7Y29uc3Qgcj1saSgnPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2JvZHkgdHYtZHJvcGRvd25fX2JvZHktLW92ZXItdHJpZ2dlciB0di1kcm9wZG93bi1iZWhhdmlvcl9fYm9keSB0di1kcm9wZG93bl9fYm9keS0tcG9zaXRpb25fcmlnaHQgaS1oaWRkZW4iPicpLmFwcGVuZFRvKG4pLHM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhyKSxhPWxpKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8ocyk7YS5vbigiY2xpY2siLCIuanMtc2V0IiwoZT0+e2NvbnN0IHQ9bGkoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO2kodCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpLG4udHZEcm9wZG93bigiY2xvc2UiKX0pKTtjb25zdCBsPSgpPT57YS5lbXB0eSgpLHQoKS5mb3JFYWNoKChlPT57bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0XHQ8ZGl2IGRhdGEtc2V0PSIke2UuaWR9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIHR2LXNjcmVlbmVyLXBvcHVwX19pdGVtIGpzLXNldCI+XG5cdFx0XHRcdFx0XHQke2JvKGUudGl0bGUpfVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIsbyhlLmlkKSkuYXBwZW5kVG8oYSl9KSksbi50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKX07cmV0dXJuIG4ub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntsKCkscy5jc3MoIm1heEhlaWdodCIsbGkod2luZG93KS5oZWlnaHQoKS1lLm9mZnNldCgpLnRvcCtsaSh3aW5kb3cpLnNjcm9sbFRvcCgpLTQ1KX0pKS5vbigicmVzZXRDb250ZW50IiwoKCk9PmwoKSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9Pm4udHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCxub0FuaW1hdGlvbjohMH0pfXNldFNlbGVjdFBvcHVwKGUsdCl7Y29uc3R7d3JhcENsYXNzOm8sYnV0dG9uQ2xhc3M6aSxkcm9wZG93bkNsYXNzOm59PWUse2J1dHRvblRpdGxlOnJ9PXQscz1saShgPGRpdiBjbGFzcz0iJHtvfSB0di1kcm9wZG93biB0di1kcm9wZG93bi0taW5saW5lIHR2LWRyb3Bkb3duLWJlaGF2aW9yIj5gKSxhPWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bl9fYnV0dG9uIHR2LWRyb3Bkb3duLWJlaGF2aW9yX19idXR0b24gJHtpfSIgdGl0bGU9IiR7cn0iPmApLmFwcGVuZFRvKHMpLGw9bGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5IHR2LWRyb3Bkb3duX19ib2R5LS1vdmVyLXRyaWdnZXIgdHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IGktaGlkZGVuICR7bn0iPmApLmFwcGVuZFRvKHMpLGM9bGkoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwganMtY29udGFpbmVyIj4nKS5hcHBlbmRUbyhsKSxkPWxpKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwganMtY29udGVudCI+JykuYXBwZW5kVG8oYyk7cmV0dXJuIHMub24oImJlZm9yZU9wZW5NZW51IiwoKCk9PntjLmNzcygibWF4SGVpZ2h0IixsaSh3aW5kb3cpLmhlaWdodCgpLWEub2Zmc2V0KCkudG9wK2xpKHdpbmRvdykuc2Nyb2xsVG9wKCktNDUpfSkpLm9uKCJmb3JjZUNsb3NlIiwoKCk9PnMudHZEcm9wZG93bigiY2xvc2UiKSkpLnR2RHJvcGRvd24oe3Njcm9sbDohMCwkd3JhcDphLCRib2R5Omwsbm9BbmltYXRpb246ITB9KSx7JHdyYXA6cywkYnV0dG9uOmEsJGRyb3Bkb3duQm9keTpsLCRkcm9wZG93bkNvbnRlbnQ6ZH19c2V0TWFya2V0c0xpc3QoZSl7dGhpcy5fbWFya2V0cz1lfXVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKXtpZighdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwfHwhdGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmxlbmd0aClyZXR1cm47dGhpcy4kZmlsdGVyUmVmcmVzaEludGVydmFsc1BvcHVwLmVtcHR5KCk7Y29uc3QgZT10aGlzLl92aWV3LnJlZnJlc2hJbnRlcnZhbHM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ZVt0XTtsZXQgbj1udWxsO2lmKC0xPT09aSluPV8udChudWxsLHZvaWQgMCxvKDk5ODYxNikpO2Vsc2V7Y29uc3QgZT1pLzYwfDA7bj0xPT09ZT9fLnQobnVsbCx2b2lkIDAsbyg4Njk3NTYpKTplPDE/dGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD9fLnQobnVsbCx2b2lkIDAsbyg4OTg5ODcpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBzZWNvbmRzIixjb3VudDppfSxvKDYzMTQ0NykpLmZvcm1hdChpKTpfLnQobnVsbCx7cGx1cmFsOiJSZWZyZXNoIGV2ZXJ5IHswfSBtaW51dGVzIixjb3VudDplfSxvKDU1NDcyMikpLmZvcm1hdChlKX0KbGkoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGxhYmVsIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtaW50ZXJ2YWwiPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLXJhZGlvIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaW50ZXJ2YWwiIHZhbHVlPSIke2l9IiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19faW5wdXQiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtcmFkaW9fX2JveCI+PC9zcGFuPlxuXHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz0idHYtY29udHJvbC1yYWRpb19fbGFiZWwgdHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWwtbGFiZWwiPiR7bn08L3NwYW4+XG5cdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyh0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXApfX1zZXRSZWZyZXNoSW50ZXJ2YWxzUG9wdXAoZSl7Y29uc3QgdD10aGlzLnNldFBvcHVwKGUsInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiwidHYtc2NyZWVuZXItcG9wdXBfX3JlZnJlc2gtaW50ZXJ2YWxzIik7ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKSxlLm9uKCJjbGljayIsKCgpPT5ydW5PclNpZ25JbigoKCk9Pnt9KSx7c291cmNlOiJTY3JlZW5lciByZWZyZXNoIG1vZGUgYnV0dG9uIn0pKSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKCgpPT57ZS50b2dnbGVDbGFzcygianMtcHJldmVudC1kcm9wZG93biIsIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKX0pKTtjb25zdCBvPXQuZmluZCgiLmpzLWNvbnRlbnQiKTt0aGlzLiRmaWx0ZXJSZWZyZXNoSW50ZXJ2YWxzUG9wdXA9byx0aGlzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKSx0Lm9uKCJiZWZvcmVPcGVuTWVudSIsKCgpPT57by5maW5kKGBpbnB1dFt2YWx1ZT0ke3RoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbH1dYCkucHJvcCgiY2hlY2tlZCIsITApfSkpLG8ub24oImNsaWNrIiwiLmpzLWludGVydmFsIiwoZT0+e2UucHJldmVudERlZmF1bHQoKTtjb25zdCBpPStsaShlLmN1cnJlbnRUYXJnZXQpLmZpbmQoImlucHV0IikudmFsKCk7c2V0VGltZW91dCgoKCk9PnQudHZEcm9wZG93bigiY2xvc2UiKSksbW8uZHVyLzIpLGkhPT10aGlzLl9tb2RlbC5yZWZyZXNoSW50ZXJ2YWwmJih0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoPyhvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pKTpHbygoKCk9PntvLmZpbmQoYGlucHV0W3ZhbHVlPSR7aX1dYCkucHJvcCgiY2hlY2tlZCIsITApLHRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbD1pfSksWG8uUHJvZHVjdEZlYXR1cmVzRW51bS5TQ1JFRU5FUl9BVVRPX1JFRlJFU0gse2ZlYXR1cmU6InNjcmVlbmVyQXV0b1JlZnJlc2gifSx7dmFsdWU6LTE9PT1pfSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGFpKGkpKSl9KSl9c2V0U2VsZWN0SW50ZXJ2YWxDb250ZW50KGUsdCxvPSgpPT57fSl7dC5lbXB0eSgpO2NvbnN0IGk9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkO2Zvcihjb25zdCBlIG9mIGxlKWxpKGA8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSI+XG5cdFx0XHRcdDxkaXYgZGF0YS1pbnRlcnZhbD0iJHtlLmlkfSIgdGl0bGU9IiR7ZS50aXRsZX0iIGNsYXNzPSJ0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAgdHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0ganMtc2VsZWN0LWludGVydmFsICR7ZS5pZD09PWk/InR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIjoiIn0iPlxuXHRcdFx0XHRcdCR7ZS5zaG9ydFRpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKHQpO2Uub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Qub24oImNsaWNrIiwiLmpzLXNlbGVjdC1pbnRlcnZhbCIsKGk9PntpLnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgbj10aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQ7bGV0IHI9ZGUobGkoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJpbnRlcnZhbCIpKTtpZighcnx8bj09PXIuaWQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24udmFsdWUoKTtHbygoKCk9PntzIT09V28uTm9uZSYmIjFkIiE9PXIuaWQ/KCgwLElvLm9wZW5QYXl3YWxsKSh7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHNFb2QifSkscj1kZSgiMWQiKSk6KHQuZmluZCgiLnR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksdC5maW5kKGBbZGF0YS1pbnRlcnZhbD0nJHtyLmlkfSddYCkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19zZWxlY3QtaW50ZXJ2YWwtYWN0aXZlIiksbyhyKSl9KSxYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUyx7ZmVhdHVyZToic2NyZWVuZXJJbnRlcnZhbHMifSx7aW50ZXJ2YWw6ci5pZH0pLHNldFRpbWVvdXQoKCgpPT57ZS50dkRyb3Bkb3duKCJjbG9zZSIpLHQub2ZmKCJjbGljayIpfSksbW8uZHVyLzIpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBKbyhyLmlkKSl9KSl9KSl9fWZ1bmN0aW9uIGhpKGUpe3JldHVybiBibyhlLCEwKX12YXIgdWk9byg1ODcxNjgpLF9pPW8oMTY3NTAyKTtvKDE3MjM3MSksbyg1OTMyNjMpO2NsYXNzIHBpe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0ib3Blbl9maWx0ZXJzX2RpYWxvZyIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy52YWx1ZT0iIix0aGlzLnNvdXJjZT1lLHRoaXMuc3RhdGU9dD4wPyJ3aXRoX2NvdW50ZXIiOiJ3aXRob3V0X2NvdW50ZXIifX1jbGFzcyBtaXtjb25zdHJ1Y3RvcihlKXsKdGhpcy5ldmVudD0iY2hhbmdlX2ZpbHRlcl9kaWFsb2dfdGFiIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ190YWJfYnV0dG9uIix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnZhbHVlPSIiLHRoaXMuc3RhdGU9ZX19Y2xhc3MgZ2l7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9pbnB1dF9jbGljayIsdGhpcy5zb3VyY2U9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX2lucHV0Iix0aGlzLmxvY2F0aW9uPSJmaWx0ZXJfZGlhbG9nIix0aGlzLnN0YXRlPSJ1c2VyX2NsaWNrZWQiLHRoaXMudmFsdWU9IiJ9fWNsYXNzIHZpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImZpbHRlcl9kaWFsb2dfc2VhcmNoX25vX3Rlcm1zX2ZvdW5kIix0aGlzLnNvdXJjZT0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXQiLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9ImVtcHR5X3NlYXJjaF9yZXN1bHQiLHRoaXMudmFsdWU9IiIsdGhpcy52YWx1ZT1lfX1jbGFzcyBmaXtjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJmaWx0ZXJfZGlhbG9nX2FwcGxpZWRfZmlsdGVycyIsdGhpcy5zb3VyY2U9InVua25vd24iLHRoaXMubG9jYXRpb249ImZpbHRlcl9kaWFsb2ciLHRoaXMuc3RhdGU9aWkuVXNlckFjdGlvblN0YXRlLkFwcGx5RmlsdGVycyx0aGlzLnZhbHVlPWV9fWNsYXNzIHlpe2NvbnN0cnVjdG9yKGUsdCxvLGkpe3RoaXMuZXZlbnQ9ImZpbHRlcl91c2UiLHRoaXMudmFsdWU9ZSx0aGlzLnN0YXRlPXQsdGhpcy5zb3VyY2U9byx0aGlzLmxvY2F0aW9uPWl9fWNsYXNzIGJpe2NvbnN0cnVjdG9yKGUpe3RoaXMuZXZlbnQ9ImFwcGx5X2ZsYWdnZWRfZmlsdGVyIix0aGlzLnNvdXJjZT0iZmxhZ2dlZF9tYXJrZXIiLHRoaXMubG9jYXRpb249ImhlYWRlciIsdGhpcy5zdGF0ZT0iZW5hYmxlZCIsdGhpcy52YWx1ZT1lfX12YXIgU2k9byg0ODI1MDQpO2NvbnN0IHdpPXtmaWx0ZXJzU2VhcmNoOmA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2gganMtc2NyZWVuZXItc2VhcmNoIj5cblx0XHQ8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR2LXNjcmVlbmVyLXNlYXJjaF9faW5wdXQganMtc2VhcmNoLWlucHV0IiBwbGFjZWhvbGRlcj0iJHtfLnQobnVsbCx2b2lkIDAsbyg1OTg3KSl9Ij5cblx0XHQke28oNzU1MDQxKX1cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zZWFyY2hfX3Jlc2V0IGpzLXNlYXJjaC1yZXNldCI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc2VhcmNoX19yZXNldC1pY29uIj4ke28oMTQ3MDc4KX08L3NwYW4+XG5cdFx0XHQke18udChudWxsLHZvaWQgMCxvKDgyNjMxNCkpfVxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5gLGZpbHRlcnNCb2R5Oic8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2cganMtc2NyZWVuZXItZGlhbG9nIj5cblx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAganMtZmlsdGVycy13cmFwIj48L2Rpdj5cblx0PC9kaXY+J307dmFyIENpPVtfLnQobnVsbCx2b2lkIDAsbygyMzM2OTApKSxfLnQobnVsbCx2b2lkIDAsbyg5OTQwMjUpKSxfLnQobnVsbCx2b2lkIDAsbygzNjkzMjUpKSxfLnQobnVsbCx7Y29udGV4dDoic3R1ZHkifSxvKDQ3NzQ3NSkpXTtjbGFzcyBraXtjb25zdHJ1Y3RvcihlLHQsbyl7dGhpcy5fbW9kZWw9ZSx0aGlzLl92aWV3PXQsdGhpcy5fYnJpZGdlPW8sdGhpcy5fZGlhbG9nVGl0bGU9InNjcmVlbmVyX2ZpbHRlcnMiLHRoaXMuX2NhdGVnb3JpZXM9bnVsbH1zaG93RmlsdGVyc0RpYWxvZyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg4NzIzOCksby5lKDMxODM3KSxvLmUoMjA5NzEpLG8uZSg4OTE5NSksby5lKDM3MzkwKSxvLmUoNjQ5OTcpXSkudGhlbihvLmJpbmQobyw2ODY5NzUpKS50aGVuKCgoe2NyZWF0ZVRhYmJlZERpYWxvZzp0fSk9Pnt0aGlzLl9jYXRlZ29yaWVzPXRoaXMuX2dldENhdGVnb3JpZXMoKTtjb25zdCBvPXRoaXMuX2NhdGVnb3JpZXMubWFwKChlPT4oe25hbWU6Q2lbZV19KSkpLHtkaWFsb2c6aSx0YWJzOm59PXQoe3RhYnM6byxhZGRpdGlvbmFsSGVhZGVyQ29udGVudDp3aS5maWx0ZXJzU2VhcmNoLHdpZHRoOk1hdGgubWluKDE0MDAsTWF0aC5tYXgoNjQ2LFNpKHdpbmRvdykud2lkdGgoKS0yMDApKSxoZWlnaHQ6TWF0aC5tYXgoNDUwLFNpKHdpbmRvdykuaGVpZ2h0KCktMjAwKSxjb250ZW50QWRkQ2xhc3M6ImpzLWRpYWxvZy1jb250ZW50IixkcmFnZ2FibGU6ITEsZG9Ob3RDcmVhdGVQYWdlczohMCxkZXN0cm95T25DbG9zZTohMH0pLHI9aS4kY29udGVudC5maW5kKCIuanMtZGlhbG9nLWNvbnRlbnQiKSxzPWkuJGNvbnRlbnQuZmluZCgiLmpzLXNjcmVlbmVyLXNlYXJjaCIpO3RoaXMuJGZpZWxkU2VhcmNoSW5wdXQ9cy5maW5kKCIuanMtc2VhcmNoLWlucHV0IiksdGhpcy4kZmllbGRTZWFyY2hJbnB1dC5vbigiaW5wdXQiLCgwLHVpLmRlZmF1bHQpKChlPT57dGhpcy5fdmlldy51cGRhdGVGaWx0ZXJTZWFyY2goKSxpLnVwZGF0ZVNjcm9sbCgpfSksMTAwLHtsZWFkaW5nOiExLHRyYWlsaW5nOiEwfSkpLHRoaXMuJGZpZWxkU2VhcmNoSW5wdXQub24oImNsaWNrIiwoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgZ2kpfSkpO3MuZmluZCgiLmpzLXNlYXJjaC1yZXNldCIpLm9uKCJjbGljayIsKGU9PnRoaXMuX3ZpZXcucmVzZXRBbGxGaWx0ZXJzKCkpKTtjb25zdCBhPSgpPT57Y29uc3QgZT10aGlzLiRmaWx0ZXJzUG9wdXAuZ2V0KDApLmNsaWVudFdpZHRoPj0xMjkyO2UmJiF0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIik/dGhpcy5fJGZpbHRlcnNXcmFwLmFkZENsYXNzKCJqcy0yY29sIHR2LXNjcmVlbmVyLWRpYWxvZ19fd3JhcC0tMmNvbCIpOiFlJiZ0aGlzLl8kZmlsdGVyc1dyYXAuaXMoIi5qcy0yY29sIikmJnRoaXMuXyRmaWx0ZXJzV3JhcC5yZW1vdmVDbGFzcygianMtMmNvbCB0di1zY3JlZW5lci1kaWFsb2dfX3dyYXAtLTJjb2wiKX07dGhpcy4kZmlsdGVyc1BvcHVwPVNpKHdpLmZpbHRlcnNCb2R5KSwKdGhpcy5fJGZpbHRlcnNXcmFwPXRoaXMuJGZpbHRlcnNQb3B1cC5maW5kKCIuanMtZmlsdGVycy13cmFwIik7Y29uc3QgbD1bXTt0aGlzLl92aWV3LnNvcnRlZEZpZWxkcy5mb3JFYWNoKChlPT57SXRbZV0mJiFJdFtlXS5kaXNhYmxlZCYmSXRbZV0uY29udHJvbCYmbC5wdXNoKHRoaXMuX3ZpZXcuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLl8kZmlsdGVyc1dyYXApKX0pKSxQcm9taXNlLmFsbChsKS50aGVuKCgoKT0+dGhpcy5fJGZpbHRlcnNXcmFwLmZpbmQoIi5qcy13cmFwIikuZWFjaCgoKGUsdCk9Pnt0aGlzLl92aWV3LmluaXRGaWx0ZXJIYW5kbGVycyhTaSh0KSl9KSkpKSx0aGlzLiRmaWx0ZXJzUG9wdXAuYXBwZW5kVG8ociksZSYmdGhpcy5fbW9kZWwuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5zZXR0aW5nS2V5KyIuZmlsdGVycy50YWIiLDApLG4udGFiQ2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e3RoaXMuZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSksaS5zY3JvbGxUb1N0YXJ0KCksMCE9PWUmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBtaShlKSl9KSksdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5hZGRDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxpLm9uKCJzY3JvbGwiLCgoKT0+e2kuJGNvbnRlbnQuZmluZCgiLmpzLWRyb3Bkb3duLXRvZ2dsZS5pLW9wZW5lZCIpLnRyaWdnZXIoInJlc2V0UG9zaXRpb24iLG51bGwsci5wYXJlbnQoKSl9KSk7Y29uc3QgYz10aGlzLl9nZXRBY3RpdmVGaWx0ZXJzKCExKS5zb3J0KCk7aS5vbigiZGVzdHJveSIsKGU9Pntjb25zdCB0PXRoaXMuX2dldEFjdGl2ZUZpbHRlcnMoITEpLnNvcnQoKTtmb3IoY29uc3QgZSBpbiBJdCkiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlJiYobXQoSXRbZV0udmFsdWUudmFsdWUpfHxtdChJdFtlXS52YWx1ZS5vcGVyYXRvcikpJiYoSXRbZV0udmFsdWU9bnVsbCk7U2koIi50di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRmaWVsZFNlYXJjaElucHV0LnZhbCgiIiksdGhpcy4kZmlsdGVyc1BvcHVwLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLiRmaWx0ZXJzUG9wdXAsdGhpcy5fdmlldy4kZmlsdGVyc0J1dHRvbi5yZW1vdmVDbGFzcygianMtbm8tcG9pbnRlci1ldmVudHMiKSxkZWxldGUgdGhpcy5fZGlhbG9nLFNpKHdpbmRvdykub2ZmKCJyZXNpemUiLGEpLCgwLF9pLmRlZmF1bHQpKGMsdCl8fCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBmaSh0LmpvaW4oIiwgIikpKX0pKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGZpbHRlcnMgZGlhbG9nIiksaS5vcGVuKCksU2kod2luZG93KS5vbigicmVzaXplIixhKSxhKCksdGhpcy4kZGlhbG9nQ29udGFpbmVyPWkuJGNvbnRlbnQsdGhpcy5fZGlhbG9nPWl9KSl9ZmlsdGVyc0RpYWxvZ1RhYkNoYW5nZWQoZSl7Y29uc3QgdD10aGlzLl9jYXRlZ29yaWVzLm1hcCgoZT0+InR2LXNjcmVlbmVyLWRpYWxvZy0tY2F0IitlKSkuam9pbigiICIpO3RoaXMuJGZpbHRlcnNQb3B1cC5yZW1vdmVDbGFzcyh0KS5hZGRDbGFzcygidHYtc2NyZWVuZXItZGlhbG9nLS1jYXQiK3RoaXMuX2NhdGVnb3JpZXNbZV0pLnNjcm9sbFRvcCgwKX1kZXN0cm95KCl7dGhpcy5fZGlhbG9nJiYodGhpcy5fZGlhbG9nLmNsb3NlKCksZGVsZXRlIHRoaXMuX2RpYWxvZyl9X2dldENhdGVnb3JpZXMoKXtjb25zdCBlPVswXTtyZXR1cm4gdGhpcy5fdmlldy5zb3J0ZWRGaWVsZHMuZm9yRWFjaCgodD0+e0l0W3RdJiYhSXRbdF0uZGlzYWJsZWQmJkl0W3RdLmNvbnRyb2wmJihlLmluY2x1ZGVzKEl0W3RdLmNhdGVnb3J5KXx8ZS5wdXNoKEl0W3RdLmNhdGVnb3J5KSl9KSksZS5zb3J0KCl9X2dldERlZmF1bHRGaWx0ZXJzRm9yQ3VycmVudEZpbHRlclNldCgpe2NvbnN0e2RlZmF1bHRGaWx0ZXJTZXRzOmV9PXRoaXMuX21vZGVsLHQ9dGhpcy5fbW9kZWwuY3VycmVudEZpbHRlclNldElkKCk7cmV0dXJuIE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKChlPT5lLmlkPT09dCkpWzBdLmNvbnRlbnQuZmlsdGVyc31fZmllbGRWYWx1ZUlzRXF1YWxUb0RlZmF1bHRGaWx0ZXIoZSl7Y29uc3QgdD10aGlzLl9nZXREZWZhdWx0RmlsdGVyc0ZvckN1cnJlbnRGaWx0ZXJTZXQoKVtlXSxvPUl0W2VdLnZhbHVlO3N3aXRjaChJdFtlXS5jb250cm9sKXtjYXNlImNvbmRpdGlvbiI6cmV0dXJuIG8ub3BlcmF0b3I9PT10Lm9wZXJhdG9yJiZvLnZhbHVlLnRvU3RyaW5nKCk9PT10LnZhbHVlLnRvU3RyaW5nKCk7Y2FzZSJyYW5nZSI6Y2FzZSJzZWxlY3QiOnJldHVybiBvLnNvcnQoKS50b1N0cmluZygpPT09dC5zb3J0KCkudG9TdHJpbmcoKTtkZWZhdWx0OnJldHVybiBJdFtlXS52YWx1ZT09PW99fV9nZXRBY3RpdmVGaWx0ZXJzKGU9ITApe2NvbnN0IHQ9W107Zm9yKGNvbnN0IG8gaW4gSXQpaWYoSXRbb10udmFsdWUpe2lmKCJjb25kaXRpb24iPT09SXRbb10uY29udHJvbCYmKG10KEl0W29dLnZhbHVlLm9wZXJhdG9yKXx8bXQoSXRbb10udmFsdWUudmFsdWUpKSljb250aW51ZTtlP3QucHVzaChLdChJdFtvXSkpOnQucHVzaChvKX1yZXR1cm4gdH19dmFyIFRpPW8oMTg5ODYzKSxFaT1vKDY0MTU5Myk7Y2xhc3MgeGl7Y29uc3RydWN0b3IoKXt0aGlzLl9oYW5kbGVycz1bXX1yZWdpc3RlckhhbmRsZXJzKGUpe3RoaXMuX2hhbmRsZXJzLnB1c2goZSl9YmVmb3JlQXBwZW5kU3ltYm9sKGUsdCl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgobz0+e28uYmVmb3JlQXBwZW5kU3ltYm9sJiZvLmJlZm9yZUFwcGVuZFN5bWJvbChlLHQpfSkpfWJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSl7cmV0dXJuIHRoaXMuX2hhbmRsZXJzLnJlZHVjZSgoKHQsbyk9Pm8uYmVmb3JlQXBwZW5kQ29udGV4dE1lbnVJdGVtcz90LmNvbmNhdChvLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXMoZSkpOnQpLFtdKX1hZnRlclN5bWJvbENvbmZpcm0oZSx0KXt0aGlzLl9oYW5kbGVycy5mb3JFYWNoKChvPT57by5hZnRlclN5bWJvbENvbmZpcm0mJm8uYWZ0ZXJTeW1ib2xDb25maXJtKGUsdCl9KSl9CmJlZm9yZUFwcGVuZFN5bWJvbHNIZWFkZXIoZSl7dGhpcy5faGFuZGxlcnMuZm9yRWFjaCgodD0+e3QuYmVmb3JlQXBwZW5kU3ltYm9sc0hlYWRlciYmdC5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGUpfSkpfX12YXIgQWk9byg4MzQxODgpLE1pPW8oMTc5NzcxKSxJaT1vKDIxNDk4Nyk7Y2xhc3MgUml7Y29uc3RydWN0b3IoKXt0aGlzLl9yZXRyaWVzPTUsdGhpcy5fY2FjaGU9bnVsbCx0aGlzLl90cnlMb2FkPShlLHQpPT57dGhpcy5fcmV0cmllcz10aGlzLl9yZXRyaWVzLTE7dGhpcy5fc3RhcnRMb2FkaW5nKGUpLnRoZW4odCwwIT09dGhpcy5fcmV0cmllcz9vPT57KDAsSWkuaXNBYm9ydEVycm9yKShvKXx8c2V0VGltZW91dCgoKCk9PnRoaXMuX3RyeUxvYWQoZSx0KSksM2UzKX06dm9pZCAwKX19bG9hZChlKXtyZXR1cm4gdGhpcy5fY2FjaGV8fCh0aGlzLl9jYWNoZT1uZXcgUHJvbWlzZSh0aGlzLl90cnlMb2FkLmJpbmQodGhpcyxlPz9udWxsKSkpLHRoaXMuX2NhY2hlfX1jbGFzcyBGaSBleHRlbmRzIFJpe19zdGFydExvYWRpbmcoKXtyZXR1cm4gUHJvbWlzZS5hbGwoW28uZSg3MjE0MSksby5lKDg1NjUyKV0pLnRoZW4oby5iaW5kKG8sNjAwNzc5KSkudGhlbigoZT0+ZS5IYW1tZXJKUykpfX12YXIgTGk9byg3Nzk0NzQpLERpPW8oMTI5MzY1KSxPaT1vKDkxNDQ4NyksTmk9by5uKE9pKSxQaT1vKDMwOTkyMCksQmk9bygxNTQ2MjMpLCRpPW8oMTI4MzIpLFdpPW8oMTUzNzcpO2Z1bmN0aW9uIHFpKGUpe2NvbnN0IHQ9T2JqZWN0LmtleXMoZS5tb2Rlcyksbz1PYmplY3QudmFsdWVzKGUubW9kZXMpLFtpLG5dPUxpLnVzZVN0YXRlKHRbMF0pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KFBpLkN1c3RvbUJlaGF2aW91ckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOndpbmRvdy5UcmFkaW5nVmlldy5vbkNoYXJ0UGFnZT9CaS5wcmVzZXRQbGF0Zm9ybTpCaS5wcmVzZXREZWZhdWx0fSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFswXSx0aXRsZTpvWzBdfSksTGkuY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpXaS5zd2l0Y2hlckNvbnRhaW5lcn0sTGkuY3JlYXRlRWxlbWVudCgkaS5Td2l0Y2gse29uQ2hhbmdlOmZ1bmN0aW9uKG8pe2NvbnN0IGk9by5jdXJyZW50VGFyZ2V0LmNoZWNrZWQ/dFsxXTp0WzBdO24oaSksZS5vbkNoYW5nZShpKX0sY2hlY2tlZDppPT09dFsxXX0pKSxMaS5jcmVhdGVFbGVtZW50KFZpLHtpc0FjdGl2ZTppPT09dFsxXSx0aXRsZTpvWzFdfSkpfWZ1bmN0aW9uIFZpKGUpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOk5pKCkoV2kubW9kZVRpdGxlLGUuaXNBY3RpdmUmJldpLm1vZGVUaXRsZUFjdGl2ZSl9LGUudGl0bGUpfXZhciBIaT1vKDY4MDI1KSxVaT1vKDU3MjI0OSksemk9byg3MTk0MjUpO2Z1bmN0aW9uIGppKGUpe2NvbnN0e2NoaWxkcmVuOnQsb25SZXNpemU6b309ZTtyZXR1cm4gdCgoMCx6aS51c2VSZXNpemVPYnNlcnZlcikob3x8KCgpPT57fSksW251bGw9PT1vXSkpfXZhciBHaT1vKDk2NDU5NCksWGk9bygxOTYyMSk7Y2xhc3MgS2kgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsb25DbGljazp0aGlzLnByb3BzLm9uQ2xpY2sscmVmOnRoaXMucHJvcHMucmVmZXJlbmNlfSx0aGlzLnByb3BzLmNoaWxkcmVuKX19Y2xhc3MgWWkgZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuX2hhbmRsZVJlc2l6ZT0oW2VdKT0+e3RoaXMucHJvcHMub25NZWFzdXJlPy4oZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpfX1yZW5kZXIoKXtjb25zdHt0aGVtZTplPVhpfT10aGlzLnByb3BzLHQ9TmkoKShlLmxpc3Qse1t0aGlzLnByb3BzLmNsYXNzTmFtZV06Qm9vbGVhbih0aGlzLnByb3BzLmNsYXNzTmFtZSl9KSx7Zm9udFNpemU6bz0xM309dGhpcy5wcm9wcyxpPXtib3R0b206dGhpcy5wcm9wcy5ib3R0b20sZm9udFNpemU6byxsZWZ0OnRoaXMucHJvcHMubGVmdCxoZWlnaHQ6dGhpcy5wcm9wcy5oZWlnaHR8fCJhdXRvIixyaWdodDp0aGlzLnByb3BzLnJpZ2h0LHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLHpJbmRleDp0aGlzLnByb3BzLnpJbmRleH07cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoamkse29uUmVzaXplOkJvb2xlYW4odGhpcy5wcm9wcy5vbk1lYXN1cmUpP3RoaXMuX2hhbmRsZVJlc2l6ZTpudWxsfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnQsc3R5bGU6aSxyZWY6KDAsR2kubWVyZ2VSZWZzKShbdGhpcy5wcm9wcy5yZWZlcmVuY2UsZV0pfSx0aGlzLl93cmFwSXRlbXModGhpcy5wcm9wcy5pdGVtcyx0aGlzLnByb3BzLnNlbGVjdGVkKSkpKX1jb21wb25lbnREaWRNb3VudCgpe2lmKHZvaWQgMCE9PXRoaXMucHJvcHMuc2VsZWN0ZWQmJnRoaXMucHJvcHMuc2hvdWxkU2Nyb2xsSWZOb3RWaXNpYmxlKXtjb25zdCBlPXRoaXMuX2l0ZW1zW3RoaXMucHJvcHMuc2VsZWN0ZWRdO2UmJnRoaXMuX3Njcm9sbFRvSXRlbShlKX19Y29tcG9uZW50RGlkVXBkYXRlKCl7aWYodm9pZCAwIT09dGhpcy5wcm9wcy5zZWxlY3RlZCYmdGhpcy5wcm9wcy5zaG91bGRTY3JvbGxJZk5vdFZpc2libGUpe2NvbnN0IGU9dGhpcy5faXRlbXNbdGhpcy5wcm9wcy5zZWxlY3RlZF07ZSYmdGhpcy5fc2Nyb2xsVG9JdGVtKGUpfX1fd3JhcEl0ZW1zKGU9W10sdCl7dGhpcy5faXRlbXM9W107Y29uc3R7aXRlbVdyYXA6bz1LaSx0aGVtZTppPVhpfT10aGlzLnByb3BzLG49bztyZXR1cm4gZS5tYXAoKChlLG8pPT57Y29uc3Qgcj1OaSgpKGkuaXRlbSx7W3RoaXMucHJvcHMuaXRlbXNDbGFzc05hbWVdOkJvb2xlYW4odGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZSksW3RoaXMucHJvcHMuc2VsZWN0ZWRDbGFzc05hbWVdOnQ9PT1vfSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQobix7cmVmZXJlbmNlOnQ9Pnt0JiZ0aGlzLl9pdGVtcy5wdXNoKHtlbGVtOnQsaW5kZXg6bywKdmFsdWU6ZX0pfSxrZXk6byxvbkNsaWNrOigpPT50aGlzLl9vblNlbGVjdChvKSxjbGFzc05hbWU6cn0sZS5lbGVtKX0pKX1fb25TZWxlY3QoZSl7dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlLHRoaXMuX2l0ZW1zW2VdLnZhbHVlKX1fc2Nyb2xsVG9JdGVtKGUpe2UuZWxlbS5zY3JvbGxJbnRvVmlldyh7YmxvY2s6ImNlbnRlciJ9KX19WWkuZGVmYXVsdFByb3BzPXtzaG91bGRTY3JvbGxJZk5vdFZpc2libGU6ITB9O3ZhciBKaT1vKDM4NDM3MCksWmk9byg2NTk4NzgpO2NsYXNzIFFpIGV4dGVuZHMgTGkuUHVyZUNvbXBvbmVudHtyZW5kZXIoKXtjb25zdCBlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDp0aGlzLnByb3BzLnRvcCx3aWR0aDp0aGlzLnByb3BzLndpZHRoLGhlaWdodDp0aGlzLnByb3BzLmhlaWdodCxib3R0b206dGhpcy5wcm9wcy5ib3R0b20scmlnaHQ6dGhpcy5wcm9wcy5yaWdodCxsZWZ0OnRoaXMucHJvcHMubGVmdCx6SW5kZXg6dGhpcy5wcm9wcy56SW5kZXh9O3JldHVybiBMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWUsc3R5bGU6ZSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9LHRoaXMucHJvcHMuY2hpbGRyZW4pfX1RaS5kaXNwbGF5TmFtZT0iRHJvcGRvd24gQ29udGFpbmVyIjtjb25zdCBlbj0oMCxaaS5tYWtlT3ZlcmxhcGFibGUpKCgwLEppLm1ha2VBdHRhY2hhYmxlKShRaSkpO3ZhciB0bixvbj1vKDEyMTY0NSk7IWZ1bmN0aW9uKGUpe2UuVG9wPSJ0b3AiLGUuQm90dG9tPSJib3R0b20ifSh0bnx8KHRuPXt9KSk7Y2xhc3Mgbm4gZXh0ZW5kcyBMaS5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9jb250YWluZXI9bnVsbCx0aGlzLl9zZXRDb250YWluZXJSZWY9ZT0+eyJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmdGhpcy5wcm9wcy5yZWZlcmVuY2UoZSksIm9iamVjdCI9PXR5cGVvZiB0aGlzLnByb3BzLnJlZmVyZW5jZSYmKHRoaXMucHJvcHMucmVmZXJlbmNlLmN1cnJlbnQ9ZSksdGhpcy5fY29udGFpbmVyPWV9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfWNvbXBvbmVudERpZFVwZGF0ZShlKXt0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZSE9PWUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlJiZ0aGlzLl9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKHRoaXMucHJvcHMub25Ecm9wZG93bldoZWVsTm9QYXNzaXZlKX1yZW5kZXIoKXtjb25zdHtzaGFkb3c6ZT0iYm90dG9tIixjaGlsZHJlbjp0LGNsYXNzTmFtZTpvfT10aGlzLnByb3BzLGk9TmkoKShvbi5jb250YWluZXIsb25bZV0sbyksbj17bWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0fTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7cmVmOnRoaXMuX3NldENvbnRhaW5lclJlZixzdHlsZTpuLGNsYXNzTmFtZTppLG9uVG91Y2hTdGFydDp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaFN0YXJ0LG9uVG91Y2hNb3ZlOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoTW92ZSxvblRvdWNoRW5kOnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoRW5kLG9uV2hlZWw6dGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWx9LHQpfV91cGRhdGVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpe2UmJnRoaXMuX3JlbW92ZVBhc3NpdmVMaXN0ZW5lck9uV2hlZWwoZSksdGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUmJnRoaXMuX2FkZFBhc3NpdmVMaXN0ZW5lck9uV2hlZWwodGhpcy5wcm9wcy5vbkRyb3Bkb3duV2hlZWxOb1Bhc3NpdmUpfV9hZGRQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSx7cGFzc2l2ZTohMX0pfV9yZW1vdmVQYXNzaXZlTGlzdGVuZXJPbldoZWVsKGUpeygwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fY29udGFpbmVyKS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsZSl9fXZhciBybj1vKDg2ODExMCk7Y29uc3Qgc249KGFuPVlpLChsbj1jbGFzcyBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5faXRlbXM9dGhpcy5wcm9wcy5pdGVtc31jb21wb25lbnREaWRVcGRhdGUoZSl7aWYoZS5jb21tYW5kIT09dGhpcy5wcm9wcy5jb21tYW5kJiZ0aGlzLnByb3BzLmNvbW1hbmQpc3dpdGNoKHRoaXMucHJvcHMuY29tbWFuZC5uYW1lKXtjYXNlIm5leHQiOnRoaXMuX25leHQoKTticmVhaztjYXNlInByZXYiOnRoaXMuX3ByZXYoKX1lLml0ZW1zIT09dGhpcy5wcm9wcy5pdGVtcyYmKHRoaXMuX2l0ZW1zPXRoaXMucHJvcHMuaXRlbXMpfXJlbmRlcigpe3JldHVybiBMaS5jcmVhdGVFbGVtZW50KGFuLHsuLi50aGlzLnByb3BzfSx0aGlzLnByb3BzLmNoaWxkcmVuKX1fbmV4dCgpe2NvbnN0e3NlbGVjdGVkOmU9LTF9PXRoaXMucHJvcHMsdD1lKzE7dGhpcy5faXRlbXMubGVuZ3RoLTE+PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKDApfV9wcmV2KCl7Y29uc3R7c2VsZWN0ZWQ6ZT0tMX09dGhpcy5wcm9wcyx0PWUtMSxvPXRoaXMuX2l0ZW1zLmxlbmd0aC0xOzA8PXQ/dGhpcy5fbmF2aWdhdGVUbyh0KTp0aGlzLl9uYXZpZ2F0ZVRvKG8pfV9uYXZpZ2F0ZVRvKGUpe3RoaXMucHJvcHMub25OYXZpZ2F0ZSYmdGhpcy5wcm9wcy5vbk5hdmlnYXRlKGUsdGhpcy5faXRlbXNbZV0pfX0pLmRpc3BsYXlOYW1lPSJOYXZpZ2F0ZWFibGUgQ29tcG9uZW50Iixsbik7dmFyIGFuLGxuO2NvbnN0IGNuPSgwLHJuLm1ha2VBbmNob3JhYmxlKShlbiksZG49ewp0b3A6InRvcCIsYm90dG9tOiJib3R0b20iLHRvcFJpZ2h0OiJ0b3AifTtjbGFzcyBobiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7YW5jaG9yOmU9ImJvdHRvbSIsZm9udFNpemU6dD0xNCxyb290Om89InBhcmVudCJ9PXRoaXMucHJvcHMsaT1OaSgpKFVpLmxpc3QsVWlbZV0pLHtkcm9wZG93bkNsYXNzTmFtZTpuLGhlaWdodDpyLC4uLnN9PXRoaXMucHJvcHM7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoY24sey4uLnMsY2xhc3NOYW1lOm4scm9vdDpvfSxMaS5jcmVhdGVFbGVtZW50KG5uLHtjbGFzc05hbWU6dGhpcy5wcm9wcy5kcm9wZG93bkNvbnRhaW5lckNsYXNzTmFtZSxzaGFkb3c6ZG5bZV0sbWF4SGVpZ2h0OnRoaXMucHJvcHMubWF4SGVpZ2h0LG9uRHJvcGRvd25Ub3VjaFN0YXJ0OnRoaXMucHJvcHMub25Ecm9wZG93blRvdWNoU3RhcnQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hTdGFydDp2b2lkIDAsb25Ecm9wZG93blRvdWNoTW92ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25Ub3VjaE1vdmU/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hNb3ZlOnZvaWQgMCxvbkRyb3Bkb3duVG91Y2hFbmQ6dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ/dGhpcy5wcm9wcy5vbkRyb3Bkb3duVG91Y2hFbmQ6dm9pZCAwLG9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp0aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZT90aGlzLnByb3BzLm9uRHJvcGRvd25XaGVlbE5vUGFzc2l2ZTp2b2lkIDB9LExpLmNyZWF0ZUVsZW1lbnQoc24sey4uLnMsd2lkdGg6dGhpcy5wcm9wcy53aWR0aCxoZWlnaHQ6cixjbGFzc05hbWU6dGhpcy5wcm9wcy5jbGFzc05hbWV8fGksaXRlbXNDbGFzc05hbWU6dGhpcy5wcm9wcy5pdGVtc0NsYXNzTmFtZXx8VWkuaXRlbSxzZWxlY3RlZENsYXNzTmFtZTp0aGlzLnByb3BzLnNlbGVjdGVkQ2xhc3NOYW1lfHxVaS5zZWxlY3RlZCxmb250U2l6ZTp0LHJlZmVyZW5jZTp0aGlzLnByb3BzLnJlZmVyZW5jZX0pKSl9fXZhciB1bj1vKDI3MzMxMCksX249byg3MTg1NTMpO2Z1bmN0aW9uIHBuKGUpe2NvbnN0e2NoaWxkcmVuOnQsY2xhc3NOYW1lOm8sb25SZXNpemU6aSxvbkNsaWNrOm59PWUscj0oMCx6aS51c2VSZXNpemVPYnNlcnZlcikoKChbZV0pPT57aShlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9KSk7cmV0dXJuIExpLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpyLGNsYXNzTmFtZTpvLG9uQ2xpY2s6bn0sdCl9dmFyIG1uPW8oOTg3MDc2KTtjbGFzcyBnbiBleHRlbmRzIExpLlB1cmVDb21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5fZ2V0RHJvcGRvd25IZWlnaHQ9KCk9PntpZighdGhpcy5fZHJvcGRvd25QYXJlbnQpcmV0dXJuO2NvbnN0IGU9d2luZG93LmlubmVySGVpZ2h0LXRoaXMuX2Ryb3Bkb3duUGFyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbS0yMDtyZXR1cm4gZSYmZTw1MD92b2lkIDA6ZX0sdGhpcy5fZ2V0Rmlyc3RIaWRkZW5JdGVtSW5kZXg9KCk9PntsZXQgZTtpZih0aGlzLnN0YXRlLmF2YWlsYWJsZVdpZHRoJiYhdGhpcy5faXRlbVNpemVzLmluY2x1ZGVzKG51bGwpKXtsZXQgdD0wO2ZvcihlPTA7ZTx0aGlzLnByb3BzLml0ZW1zLmxlbmd0aDtlKyspe2NvbnN0IG89dCsodGhpcy5faXRlbVNpemVzW2VdfHwwKTtpZighKChlPT09dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGgtMT9vOm8rNDEpPHRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGgpKWJyZWFrO3Q9b319ZWxzZSBlPXRoaXMuc3RhdGUuYXZhaWxhYmxlV2lkdGg/dGhpcy5wcm9wcy5pdGVtcy5sZW5ndGg6MDtyZXR1cm4gZX0sdGhpcy5fb25FbGVtZW50UmVzaXplPShbZV0pPT57dGhpcy5zZXRTdGF0ZSh7YXZhaWxhYmxlV2lkdGg6ZS5jb250ZW50UmVjdC53aWR0aCxpc09wZW5lZDohMX0pfSx0aGlzLl9vblNlbGVjdD1lPT57dGhpcy5wcm9wcy5vblNlbGVjdCYmdGhpcy5wcm9wcy5vblNlbGVjdChlKSx0aGlzLnNldFN0YXRlKHthY3RpdmVJdGVtOmUsaXNPcGVuZWQ6ITF9KX0sdGhpcy5fb25Ecm9wZG93blNlbGVjdD0oZSx0KT0+e3RoaXMucHJvcHMub25TZWxlY3QmJnRoaXMucHJvcHMub25TZWxlY3QodC5hY3R1YWxJbmRleCksdGhpcy5zZXRTdGF0ZSh7YWN0aXZlSXRlbTp0LmFjdHVhbEluZGV4LGlzT3BlbmVkOiExfSl9LHRoaXMuX29uT3V0c2lkZUNsaWNrPWU9Pnt0aGlzLnN0YXRlLmlzT3BlbmVkJiYodGhpcy5zdGF0ZS5pc09wZW5lZCYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKSx0aGlzLnNldFN0YXRlKHtpc09wZW5lZDohMX0pKX0sdGhpcy5fb25Ecm9wZG93bkl0ZW1DbGljaz0oKT0+e3RoaXMuc2V0U3RhdGUoe2lzT3BlbmVkOiF0aGlzLnN0YXRlLmlzT3BlbmVkfSl9LHRoaXMuX29uSXRlbVJlc2l6ZT0oZSx0KT0+e3RoaXMuX2l0ZW1TaXplc1tlXT10LndpZHRoLHRoaXMuX2l0ZW1TaXplcy5pbmNsdWRlcyhudWxsKXx8dGhpcy5mb3JjZVVwZGF0ZSgpfSx0aGlzLl9pdGVtU2l6ZXM9dGhpcy5wcm9wcy5pdGVtcy5tYXAoKGU9Pm51bGwpKSx0aGlzLnN0YXRlPXthdmFpbGFibGVXaWR0aDowLGFjdGl2ZUl0ZW06dGhpcy5wcm9wcy5hY3RpdmVJdGVtfHwwLGlzT3BlbmVkOiExfX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX2dldEZpcnN0SGlkZGVuSXRlbUluZGV4KCksdD10aGlzLnByb3BzLml0ZW1zLnNsaWNlKDAsZSksbz10aGlzLnByb3BzLml0ZW1zLnNsaWNlKGUpLGk9dC5tYXAoKChlLHQpPT57Y29uc3Qgbz10aGlzLnN0YXRlLmFjdGl2ZUl0ZW09PT10LGk9TmkoKShIaS5pdGVtQ29udGVudCx7W0hpLmFjdGl2ZV06b30pO3JldHVybiBMaS5jcmVhdGVFbGVtZW50KHBuLHtrZXk6ZS50aXRsZSxjbGFzc05hbWU6TmkoKShIaS5pdGVtLHtbSGkuYWN0aXZlXTpvfSksb25DbGljazp0aGlzLl9vblNlbGVjdC5iaW5kKHRoaXMsdCksb25SZXNpemU6dGhpcy5fb25JdGVtUmVzaXplLmJpbmQodGhpcyx0KX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOml9LGUudGl0bGUpKX0pKSxuPW8ubWFwKCgoZSxvKT0+KHtlbGVtOmUudGl0bGUsCmFjdHVhbEluZGV4Om8rdC5sZW5ndGh9KSkpLHI9dGhpcy5zdGF0ZS5hY3RpdmVJdGVtLWUscz1yPj0wLGE9TGkuY3JlYXRlRWxlbWVudChfbi5PdXRzaWRlRXZlbnQse2hhbmRsZXI6dGhpcy5fb25PdXRzaWRlQ2xpY2ssY2xpY2s6ITB9LChlPT5MaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6ZT0+ZSYmKHRoaXMuX2Ryb3Bkb3duUGFyZW50PURpLmZpbmRET01Ob2RlKGUpKX0sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbSx7W0hpLmFjdGl2ZV06c30pLHJlZjplLG9uQ2xpY2s6dGhpcy5fb25Ecm9wZG93bkl0ZW1DbGlja30sTGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuaXRlbUNvbnRlbnQsSGkuZHJvcGRvd25JdGVtLHtbSGkuYWN0aXZlXTpzfSl9LExpLmNyZWF0ZUVsZW1lbnQodW4uSWNvbix7Y2xhc3NOYW1lOk5pKCkoSGkuZHJvcGRvd25JY29uLHtbSGkuYWN0aXZlXTp0aGlzLnN0YXRlLmlzT3BlbmVkfSksaWNvbjptbn0pLExpLmNyZWF0ZUVsZW1lbnQoaG4se2lzT3BlbmVkOnRoaXMuc3RhdGUuaXNPcGVuZWQsaXRlbXM6bixzZWxlY3RlZDpzP3I6dm9pZCAwLG9uU2VsZWN0OnRoaXMuX29uRHJvcGRvd25TZWxlY3QsdG9wOjI3LHJpZ2h0OjAsaXRlbXNDbGFzc05hbWU6TmkoKShVaS5ibHVpc2hJdGVtLEhpLmRyb3Bkb3duTGlzdEl0ZW0pLHNlbGVjdGVkQ2xhc3NOYW1lOnRoaXMucHJvcHMuc2VsZWN0ZWRJdGVtQ2xhc3NOYW1lLG1heEhlaWdodDp0aGlzLl9nZXREcm9wZG93bkhlaWdodCgpfSkpKSkpKTtyZXR1cm4gTGkuY3JlYXRlRWxlbWVudChqaSx7b25SZXNpemU6dGhpcy5fb25FbGVtZW50UmVzaXplfSwoZT0+TGkuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOk5pKCkoSGkuZWxlbWVudFdyYXAsdGhpcy5wcm9wcy5jbGFzc05hbWUpLHJlZjplfSxMaS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6SGkuaXRlbXNXcmFwfSxpLG8ubGVuZ3RoP2E6dm9pZCAwKSkpKX19ZnVuY3Rpb24gdm4oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChnbix7Li4udH0pLGUpfXZhciBmbj1vKDY1NDYzNikseW49byg2NjcxMzIpO2NsYXNzIGJue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ldmVudD0iY2hhbmdlX2ZvcmV4X2dyb3VwIix0aGlzLnNvdXJjZT0iZm9yZXhfZ3JvdXBfc2VsZWN0b3IiLHRoaXMubG9jYXRpb249InRvb2xiYXIiLHRoaXMuc3RhdGU9ZSx0aGlzLnZhbHVlPXR9fXZhciBTbj1vKDM4OTg0NCk7ZnVuY3Rpb24gd24oZSl7cmV0dXJuIFByb21pc2UuYWxsKFtvLmUoOTIyOTMpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjM4NSksby5lKDk0OTQ4KSxvLmUoMTAzODUpLG8uZSg1MjA2NSksby5lKDY2MDUpLG8uZSgzMjc0OCksby5lKDMyMTc2KSxvLmUoODg2NDEpLG8uZSg1NjIxMyksby5lKDUwMDM1KSxvLmUoNjQ1KSxvLmUoNTEzMTUpLG8uZSgyODQxMyksby5lKDM5NjA5KSxvLmUoNzI2NzQpLG8uZSg2NzMwMyldKS50aGVuKG8uYmluZChvLDYzODgyMikpLnRoZW4oKHQ9PnQuc2hvd1NjcmVlbmVyTWFya2V0RGlhbG9nKGUpKSl9Y29uc3QgQ249bmV3IFNldChbImRwc19jb21tb25fc3RvY2tfcHJpbV9pc3N1ZV95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfcW9xX2dyb3d0aF9mcSIsImVhcm5pbmdzX3Blcl9zaGFyZV9kaWx1dGVkX3lveV9ncm93dGhfZnEiLCJlYXJuaW5nc19wZXJfc2hhcmVfZGlsdXRlZF95b3lfZ3Jvd3RoX2Z5IiwiZWFybmluZ3NfcGVyX3NoYXJlX2RpbHV0ZWRfeW95X2dyb3d0aF90dG0iLCJlYml0ZGFfcW9xX2dyb3d0aF9mcSIsImViaXRkYV95b3lfZ3Jvd3RoX2ZxIiwiZWJpdGRhX3lveV9ncm93dGhfZnkiLCJlYml0ZGFfeW95X2dyb3d0aF90dG0iLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fZnkiLCJmcmVlX2Nhc2hfZmxvd19tYXJnaW5fdHRtIiwiZnJlZV9jYXNoX2Zsb3dfcW9xX2dyb3d0aF9mcSIsImZyZWVfY2FzaF9mbG93X3lveV9ncm93dGhfZnEiLCJmcmVlX2Nhc2hfZmxvd195b3lfZ3Jvd3RoX2Z5IiwiZnJlZV9jYXNoX2Zsb3dfeW95X2dyb3d0aF90dG0iLCJncm9zc19wcm9maXRfbWFyZ2luX2Z5IiwiZ3Jvc3NfcHJvZml0X3FvcV9ncm93dGhfZnEiLCJncm9zc19wcm9maXRfeW95X2dyb3d0aF9mcSIsImdyb3NzX3Byb2ZpdF95b3lfZ3Jvd3RoX2Z5IiwiZ3Jvc3NfcHJvZml0X3lveV9ncm93dGhfdHRtIiwibmV0X2luY29tZV9iZWZfZGlzY19vcGVyX21hcmdpbl9meSIsIm5ldF9pbmNvbWVfcW9xX2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9mcSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF9meSIsIm5ldF9pbmNvbWVfeW95X2dyb3d0aF90dG0iLCJvcGVyX2luY29tZV9tYXJnaW5fZnkiLCJ0b3RhbF9hc3NldHNfcW9xX2dyb3d0aF9mcSIsInRvdGFsX2Fzc2V0c195b3lfZ3Jvd3RoX2ZxIiwidG90YWxfYXNzZXRzX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9kZWJ0X3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnEiLCJ0b3RhbF9kZWJ0X3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3FvcV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnEiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfZnkiLCJ0b3RhbF9yZXZlbnVlX3lveV9ncm93dGhfdHRtIl0pO2Z1bmN0aW9uIGtuKGUsdCl7cmV0dXJuISF0LnRpdGxlJiYodC50aXRsZS50b0xvd2VyQ2FzZSgpIT09dC5zaG9ydFRpdGxlPy50b0xvd2VyQ2FzZSgpfHxmdW5jdGlvbihlKXtyZXR1cm4gQ24uaGFzKGUpfShlKSl9Y29uc3QgVG49KEVuPUYoInN0b2NrIiksT2JqZWN0LmVudHJpZXMoRW4pLm1hcCgoKFtlLHRdKT0+e2NvbnN0IG89dC5ncm91cDtyZXR1cm57ZmxhZzp0LmZsYWcsZ2V0IG5hbWUoKXtyZXR1cm4gdC50aXRsZX0sZGVzYzp0LnN0b2Nrcy5qb2luKCIsICIpLGNvdW50cnk6dC5jb3VudHJ5LGdyb3VwOm8sdmFsdWU6ZX19KSkpO3ZhciBFbjtjb25zdCB4bj1Ubi5maW5kKChlPT4iYW1lcmljYSI9PT1lLnZhbHVlKSkKO3ZhciBBbj1vKDY4NDYxMCk7ZnVuY3Rpb24gTW4oZSx0KXtjb25zdCBvPXNldEludGVydmFsKCgoKT0+e2NvbnN0IGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKTtpZihpKXtjbGVhckludGVydmFsKG8pO25ldyBSZXNpemVPYnNlcnZlcih0KS5vYnNlcnZlKGkpLHQoKX19KSwyMCl9dmFyIEluLFJuPW8oODA5NDM2KSxGbj1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuQUJTT0xVVEU9ImFic29sdXRlIixlLlNUSUNLWT0ic3RpY2t5IixlLkJPVFRPTT0iYm90dG9tIn0oSW58fChJbj17fSkpO2NvbnN0IExuPXBhcnNlSW50KFJuWyJzaXplLXN0aWNreS1zeW1ib2wtaGVhZGVyLWhlaWdodCJdKTtmdW5jdGlvbiBEbihlKXtjb25zdHskdG9vbGJhcjp0fT1lLG89dC5vdXRlckhlaWdodCgpLGk9ZS50YWJsZS4kc3RpY2t5SGVhZGVyLG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmpzLXN0aWNreS1zeW1ib2wtaGVhZGVyLWNvbnRhaW5lciIpPzY0K0xuOjY0O2Z1bmN0aW9uIHIodCl7Y29uc3Qgcj10fHxGbihkb2N1bWVudCkuc2Nyb2xsVG9wKCkse2lzU3RpY2t5OnMsdXBwZXJTY3JvbGxMaW1pdDphLGJvdHRvbVNjcm9sbExpbWl0Omx9PWZ1bmN0aW9uKHQpe2NvbnN0IHI9ZS50YWJsZS5fJGVtcHR5TWVzc2FnZT9lLnRhYmxlLl8kZW1wdHlNZXNzYWdlLm91dGVySGVpZ2h0KCk6MCxzPWUuJGNvbnRlbnQub2Zmc2V0KCkudG9wK2UuJGNvbnRlbnQub3V0ZXJIZWlnaHQoKSxhPXJ8fDQ4LGw9ZS4kY29udGVudC5vZmZzZXQoKS50b3Atbi1vLGM9cy1hLW4tby1pLm91dGVySGVpZ2h0KCk7cmV0dXJue2lzU3RpY2t5OnQ+PWwmJnQ8PWMsYm90dG9tU2Nyb2xsTGltaXQ6Yyx1cHBlclNjcm9sbExpbWl0Omx9fShyKTtpZihzKXJldHVybiJzdGlja3kiO3JldHVybiBNYXRoLmFicyhsLWEpPDIwfHxyPGE/ImFic29sdXRlIjoiYm90dG9tIn1mdW5jdGlvbiBzKCl7Y29uc3Qgbz1yKCksbj0oMCxLby5pc1J0bCkoKT9lLiRjb250ZW50Lm9mZnNldCgpLmxlZnQtRm4od2luZG93KS5zY3JvbGxMZWZ0KCk6ZS4kY29udGVudC5vZmZzZXQoKS5sZWZ0LHM9ZS4kY29udGVudC53aWR0aCgpLGE9Rm4oZS50YWJsZS5fdGFibGUpLndpZHRoKCksbD1mdW5jdGlvbih0KXtjb25zdCBvPWZvLmJyZWFrcG9pbnRzLnRhYmxldCxpPXIoKTtpZihGbih3aW5kb3cpLndpZHRoKCk+bylyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDoiIn06e2xlZnQ6dCxyaWdodDoiIn07Y29uc3Qgbj1lLiRjb250ZW50LnNjcm9sbExlZnQoKTtpZigoMCxLby5pc1J0bCkoKSl7Y29uc3QgdD1lLl9nZXRSZXNpemVyQnJpZGdlV2lkdGgoKTtyZXR1cm4iYWJzb2x1dGUiPT09aT97bGVmdDoiIixyaWdodDpufTp7bGVmdDoiIixyaWdodDp0K259fXJldHVybntsZWZ0OnQtbixyaWdodDoiIn19KG4pLGM9e2xlZnQ6bix3aWR0aDpzfSxkPXsuLi5sLHdpZHRoOmF9O2lmKHQuY3NzKHtsZWZ0OiIiLHJpZ2h0OiIifSksaS5jc3Moe2xlZnQ6IiIscmlnaHQ6IiJ9KSwiYWJzb2x1dGUiPT09bylyZXR1cm4gdC5jc3Moe3dpZHRoOnN9KSx2b2lkIGkuY3NzKGQpO3QuY3NzKGMpLGkuY3NzKGQpfWZ1bmN0aW9uIGEoZSl7dC5jc3Moe3RvcDplfSk7Y29uc3Qgbj1lK287aS5jc3Moe3RvcDpufSl9Y29uc3QgbD1mdW5jdGlvbigpe2xldCBlPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxsPXIoZSk7cmV0dXJuKCk9Pntjb25zdCBjPUZuKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxoPXIoYyk7aWYoImJvdHRvbSI9PT1oKXtkKGgpO3JldHVybiBhKGUrbi1jKSx2b2lkKGw9ImJvdHRvbSIpfWlmKGwhPT1oKXtpZihkKGgpLCJhYnNvbHV0ZSI9PT1oKXJldHVybiB0LmNzcyh7dG9wOjB9KSxpLmNzcyh7dG9wOm99KSxzKCksdm9pZChsPSJhYnNvbHV0ZSIpOyJzdGlja3kiPT09aCYmKHMoKSxhKG4pLGU9YyxsPSJzdGlja3kiKX19fSgpO2Z1bmN0aW9uIGMoKXtzKCksbCgpfWZ1bmN0aW9uIGQoZSl7Y29uc3Qgbz0iYWJzb2x1dGUiPT09ZTt0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1tYXJrZXRzX2Fic29sdXRlIixvKSxpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXItLW1hcmtldHNfYWJzb2x1dGUiLG8pLHQudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHNfc3RpY2t5IiwhbyksaS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLGkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tbWFya2V0c19zdGlja3kiLCFvKX1jb25zdCBoPWZ1bmN0aW9uKCl7bGV0IGU7cmV0dXJuKCk9PntjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGMsMCl9fSgpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKGZ1bmN0aW9uKCl7bCgpLCgwLEtvLmlzUnRsKSgpJiZzKCl9KSx7cGFzc2l2ZTohMH0pLGUuJGNvbnRlbnRbMF0uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixoKSxNbigiLndpZGdldGJhci13cmFwIixzKSxNbigiLnR2LXNjcmVlbmVyLXRhYmxlIixzKSxkKHIoKSksYygpfWZ1bmN0aW9uIE9uKGUpe2NvbnN0eyRiZWZvcmU6dD1udWxsLCRhcHBlbmRUbzpvPW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbCxiZWZvcmVNYWtpbmdTZWxlY3RQb3B1cDpuPSgpPT57fSxtYWtlU2VsZWN0UG9wdXA6cixhZnRlck1ha2luZ1NlbGVjdFBvcHVwOnM9KCk9Pnt9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6YT0oKT0+e319PWUsbD17JGRyb3Bkb3duQ29udGFpbmVyOml9O24oKTtjb25zdHskd3JhcDpjLCRidXR0b246ZCwkZHJvcGRvd25Db250ZW50Omh9PXIobCk7cmV0dXJuIHMoYyxkLGgpLCh0fHxvKSYmKHQ/Yy5pbnNlcnRCZWZvcmUodCk6Yy5hcHBlbmRUbyhvKSxhKGMsZCxoKSksZH1jb25zdCBObj1uZXcgcG8uV2F0Y2hlZFZhbHVlKCExKTt2YXIgUG49byg5NzEwNTEpO2xldCBCbj1udWxsO2Z1bmN0aW9uICRuKGUsdCl7aWYoQm4mJk5uLnVuc3Vic2NyaWJlKEJuKSxCbj0oKT0+ewpjb25zdCBvPXdpbmRvdz8ud2lkZ2V0YmFyPy5sYXlvdXQ/LmdldFdpZGdldEJ5VHlwZSgiZGV0YWlsIik/LndpZGdldE9iamVjdDtvLm5hdmlnYXRlKGUsdCl9LE5uLnZhbHVlKCkpcmV0dXJuIEJuKCksdm9pZChCbj1udWxsKTtObi5zdWJzY3JpYmUoQm4se29uY2U6ITB9KX1mdW5jdGlvbiBXbihlPW51bGwsdCl7Y29uc3QgaT0oMCxQbi5wYXRoVG9Hcm91cCkoZT8/IiIpKyI/bmV3PSIrcGVyZm9ybWFuY2Uubm93KCk7dCYmYXN5bmMgZnVuY3Rpb24oZSl7UHJvbWlzZS5hbGwoW28uZSgyMTg3MCksby5lKDg0MzA2KSxvLmUoMjkyOTYpLG8uZSg1MjM5Niksby5lKDYwMDYyKSxvLmUoNDY5MDcpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgyMzYyNCksby5lKDMyODE2KSxvLmUoMTk1OTUpLG8uZSgxOTc4Nyksby5lKDE3MDg3KSxvLmUoNzI2NjYpLG8uZSgxMDM4NSksby5lKDUyMDY1KSxvLmUoNjYwNSksby5lKDc0MzgxKSxvLmUoMTQ2MjUpLG8uZSg2NTcpLG8uZSg2MTgyMSksby5lKDY2MjcwKSxvLmUoNTUwMTEpLG8uZSg3MTkwMSksby5lKDgwNzMxKSxvLmUoNjg5NjQpLG8uZSgyOTEzMyksby5lKDE5ODMzKSxvLmUoMzIzODcpLG8uZSgzMDY5OSksby5lKDQ0NzgwKSxvLmUoODIyMzcpLG8uZSg0ODg1NCksby5lKDk0MTgyKSxvLmUoMTE0MzUpXSkudGhlbihvLmJpbmQobyw5OTUyMTMpKS50aGVuKCh0PT57dC5yZW5kZXJOb3Rlc0RpYWxvZyhlKX0pKX0oaSksJG4oaSl9dmFyIHFuLFZuPW8oMzQ0MTAzKTshZnVuY3Rpb24oZSl7ZVtlLkhlYWRlcj0wXT0iSGVhZGVyIixlW2UuVGFibGU9MV09IlRhYmxlIn0ocW58fChxbj17fSkpO2NvbnN0IEhuPXtbcW4uSGVhZGVyXTp7ZGVzY3JpcHRpb246Ik9wZW4gaGVhZGVyIGNvbnRleHQgbWVudSIscHJlcGVuZDohMX0sW3FuLlRhYmxlXTp7ZGVzY3JpcHRpb246Ik9wZW4gY29udGV4dCBtZW51IixwcmVwZW5kOiEwfX07ZnVuY3Rpb24gVW4oZSx0LGkpe3JldHVybiBhc3luYyBmdW5jdGlvbigpe2NvbnN0W3tBY3Rpb246ZX0se0FkZFRvV2F0Y2hsaXN0QWN0aW9uOnR9XT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDUwOTA0KSksby5lKDE3ODcpLnRoZW4oby5iaW5kKG8sMjczMjg1KSldKTtyZXR1cm57ZGVmYXVsdDplLGFkZFRvV2F0Y2hsaXN0OnR9fSgpLnRoZW4oKG89PnQoZSxvKSkpLnRoZW4oKHQ9Pntjb25zdCBvPU9iamVjdC52YWx1ZXModCk7cmV0dXJuIEhuW2ldLnByZXBlbmQ/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5fbGlmZWN5Y2xlLmJlZm9yZUFwcGVuZENvbnRleHRNZW51SXRlbXModC5sZW5ndGg+MD8iYm90dG9tIjp2b2lkIDApLmNvbmNhdCh0KX0oZS52aWV3LG8pOm99KSl9ZnVuY3Rpb24gem4oZSx0LGkpe2NvbnN0e3ZpZXc6bixlOnJ9PWU7cmV0dXJuIFVuKGUsdCxpKS50aGVuKChlPT57cmV0dXJuIHQ9ZSxpPXIsby5lKDQzOTgwKS50aGVuKG8uYmluZChvLDI1MDQzOSkpLnRoZW4oKCh7Q29udGV4dE1lbnVNYW5hZ2VyOmV9KT0+ZS5zaG93TWVudSh0LGkpKSk7dmFyIHQsaX0pKS50aGVuKCgoKT0+e2NvbnN0IGU9SG5baV0uZGVzY3JpcHRpb247bi5fbW9kZWwudHJhY2tFdmVudChlKX0pKX12YXIgam4sR249byg4MTEzMTIpLFhuPW8oNjIxOTI2KSxLbj1vKDU3NjEwMyksWW49byg3NjU2OTUpLEpuPW8oNzU2Mjg4KSxabj1vKDQ4MjUwNCk7ZnVuY3Rpb24gUW4oZSx0KXtjb25zdHt2aWV3Om99PWUsaT1vLl9icmlkZ2Usbj10LmRlZmF1bHQscj1vLl9zZWxlY3RhYmxlTGlzdD9vLl9zZWxlY3RhYmxlTGlzdC5nZXRTZWxlY3RlZEtleXMoKS5sZW5ndGg6MSxzPXsuLi5lLHNlbGVjdGVkU3ltYm9sc0NvdW50OnJ9O2lmKCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpKXJldHVybnsuLi50cihzLG4pfTtpZigoMCxBbi5pc1NjcmVlbmVyUGFnZSkoaSl8fCgwLEFuLmlzTWFya2V0UGFnZSkoaSkpe3JldHVybnsuLi4wPT09cj90cihzLG4pOnt9LC4uLmVyKHMsdC5hZGRUb1dhdGNobGlzdCl9fXJldHVybnsuLi5lcihzLHQuYWRkVG9XYXRjaGxpc3QpLC4uLm9yKHMsbiksLi4uaXIocyxuKX19ZnVuY3Rpb24gZXIoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2xOYW1lOnJ9fSxvKDIyNDA1NikpLGw9W25dKTooYT1fLnQobnVsbCx2b2lkIDAsbyg4MTU3MTIpKSxsPWkuX3NlbGVjdGFibGVMaXN0P2kuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpLnNsaWNlKDApOltdKTtyZXR1cm57YWRkVG9XYXRjaExpc3RBY3Rpb246bmV3IHQoe2xhYmVsOmEsZGlzYWJsZWQ6ITAsb25FeGVjdXRlOigpPT57KDAsWG4ucnVuT3JTaWduaW5XaXRoRmVhdHVyZSkoKCgpPT57Y29uc3QgZT1pLl9nZXRXYXRjaGxpc3QoKTtlJiYoZS5hZGRTeW1ib2xzKGwpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uQWRkVG9XYXRjaGxpc3QsInJvdyIsITApKSl9KSx7ZmVhdHVyZToid2F0Y2hMaXN0Iixzb3VyY2U6ImFkZCBzeW1ib2wgdG8gd2F0Y2hsaXN0In0pfSxpY29uOkpufSl9fWZ1bmN0aW9uIHRyKGUsdCl7Y29uc3R7dmlldzppfT1lO3JldHVyblsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKT9mdW5jdGlvbihlLHQpe2NvbnN0e2U6aX09ZSxuPVpuKGkudGFyZ2V0KS5jbG9zZXN0KCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciKS5maW5kKCIudHYtc2NyZWVuZXJfX3N5bWJvbCIpO3JldHVybntvcGVuU3ltYm9sUGFnZUFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sT3ZlcnZpZXciLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bi50ZXh0KCl9fSxvKDcwNjQwMCkpLG9uRXhlY3V0ZTooKT0+e3dpbmRvdy5vcGVuKG4uYXR0cigiaHJlZiIpLCJfYmxhbmsiKSwoMCwKWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudChqbi5PcGVuU3ltYm9sUGFnZSwicm93IiwhMCkpfX19KX19KGUsdCk6ZnVuY3Rpb24oZSx0KXtjb25zdHt2aWV3Omksc2hvcnROYW1lOm4sc3ltYm9sOnJ9PWU7cmV0dXJue29wZW5DaGFydEFjdGlvbjpuZXcgdCh7YWN0aW9uSWQ6IldhdGNobGlzdC5PcGVuU3ltYm9sQ2hhcnQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6bn19LG8oOTM2MTM1KSksb25FeGVjdXRlOigpPT57Y29uc3R7YXBwbHlTeW1ib2w6ZX09aS5fYnJpZGdlO2UmJihlKHIsITApLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoam4uT3BlbkNoYXJ0LCJyb3ciLCEwKSkpfX19KX19KGUsdCl9ZnVuY3Rpb24gb3IoZSx0KXtjb25zdHt2aWV3Omksc3ltYm9sOm4sc2hvcnROYW1lOnIsc2VsZWN0ZWRTeW1ib2xzQ291bnQ6c309ZTtsZXQgYSxsOzA9PT1zPyhhPV8udChudWxsLHtyZXBsYWNlOntzeW1ib2w6cn19LG8oNTYwNDcwKSksbD1bbl0pOihhPV8udChudWxsLHZvaWQgMCxvKDcyMDU0NikpLGw9aS5fc2VsZWN0YWJsZUxpc3QuZ2V0U2VsZWN0ZWRLZXlzKCkpO3JldHVybntjb21wYXJlQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiV2F0Y2hsaXN0LkFkZFN5bWJvbFRvQ29tcGFyZSIsb3B0aW9uczp7bGFiZWw6YSxvbkV4ZWN1dGU6YXN5bmMoKT0+e2Zvcihjb25zdCBlIG9mIGwpYXdhaXQoaS5fYnJpZGdlLmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5hZGRDb21wYXJlQXNPdmVybGF5KGUsZmFsc2UpKX0saWNvbjpZbn19KX19ZnVuY3Rpb24gaXIoZSx0KXtjb25zdHtzeW1ib2w6aSxzaG9ydE5hbWU6bixzZWxlY3RlZFN5bWJvbHNDb3VudDpyfT1lO2lmKHI+MClyZXR1cm57fTtyZXR1cm57YWRkVG9UZXh0Tm90ZXNBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJOb3RlLkNyZWF0ZSIsb3B0aW9uczp7aWNvbjpLbixsYWJlbDpfLnQobnVsbCx7cmVwbGFjZTp7c3ltYm9sOm59fSxvKDIzOTA3NykpLG9uRXhlY3V0ZTooKT0+eygwLGZuLnJ1bk9yU2lnbkluKSgoKCk9PnsoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KGpuLkFkZFRleHROb3RlLCJyb3ciLCEwKSksd2luZG93LndpZGdldGJhcj8uc2V0UGFnZSgiYmFzZSIpLFduKGkpfSkse3NvdXJjZToiQWRkIHRleHQgbm90ZSBpbiBzY3JlZW5lciJ9KX19fSl9fSFmdW5jdGlvbihlKXtlLkFkZFRvV2F0Y2hsaXN0PSJhZGRfdG9fd2F0Y2hsaXN0IixlLk9wZW5DaGFydD0ib3Blbl9jaGFydCIsZS5BZGRUb0NvbXBhcmU9ImFkZF90b19jb21wYXJlIixlLkFkZFRleHROb3RlPSJhZGRfdGV4dF9ub3RlIixlLk9wZW5TeW1ib2xQYWdlPSJvcGVuX3N5bWJvbF9wYWdlIn0oam58fChqbj17fSkpO3ZhciBucj1vKDk0ODM4MCkscnI9byg4MTA0MSksc3I9bygyMDA2NjYpLGFyPW8oODg0Nzk4KSxscj1vKDE1MjE4Mik7ZnVuY3Rpb24gY3IoZSl7Y29uc3R7c3ltYm9sSHRtbDp0LGxvZ29Vcmw6byxzeW1ib2xGaXJzdExldHRlcjppLHNpemU6bj0ieHNtYWxsIn09ZTtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6dCxsb2dvSHRtbDooMCxhci5nZXRDaXJjbGVMb2dvSHRtbCkoe2xvZ29Vcmw6byxzaXplOm4scGxhY2Vob2xkZXJMZXR0ZXI6aSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRhYmxlX19sb2dvLWNvbnRhaW5lciJ9KX0pfWZ1bmN0aW9uIGRyKGUpe2NvbnN0e2xvZ29IdG1sOnQ9IiIsc3ltYm9sSHRtbDpvPSIiLHdyYXBIdG1sQ2xhc3M6aT0iIn09ZTtyZXR1cm5gXG5cdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3N5bWJvbC1jb250YWluZXIgJHtpfSI+XG5cdFx0XHQ8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIj48L2Rpdj5cblx0XHRcdCR7dH1cblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19zeW1ib2wtY29udGFpbmVyLWRlc2NyaXB0aW9uIj5cblx0XHRcdFx0JHtvfVxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdGB9dmFyIGhyPW8oODYyMjEzKTtjb25zdCB1cj0oMCxoci5nZXRMb2dvVXJsUmVzb2x2ZXIpKCk7ZnVuY3Rpb24gX3IoZSl7aWYoZSYmIm51bGwiIT09ZSlyZXR1cm4gdXIuZ2V0U3ltYm9sTG9nb1VybChlLGhyLkxvZ29TaXplLk1lZGl1bSl9ZnVuY3Rpb24gcHIoZSl7Y29uc3R7ZmllbGRzT3JkZXI6dCxwcm9TeW1ib2w6byxyb3dEYXRhOmksc3ltYm9sSHRtbDpufT1lLHI9dC5pbmRleE9mKGguTG9nb0lkKTtpZigtMSE9PXIpe2NvbnN0IGU9aVtyXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9Y29uc3Qgcz10LmluZGV4T2YoaC5CYXNlQ3VycmVuY3lMb2dvSWQpLGE9LTEhPT1zLGw9dC5pbmRleE9mKGguQ3VycmVuY3lMb2dvSWQpLGM9LTEhPT1sO2lmKGEmJmMpe2NvbnN0IGU9aVtzXSx0PWlbbF07cmV0dXJuIGZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gZHIoe3N5bWJvbEh0bWw6ZSxsb2dvSHRtbDooMCxsci5nZXRDaXJjbGVMb2dvUGFpckh0bWwpKHtwcmltYXJ5TG9nb1VybDp0LHNlY29uZGFyeUxvZ29Vcmw6byxzaXplOiJ4c21hbGwiLGNsYXNzTmFtZToidHYtc2NyZWVuZXItdGFibGVfX2xvZ28tY29udGFpbmVyIn0pfSl9KG4sX3IoZSksX3IodCkpfWlmKGEpe2NvbnN0IGU9aVtzXTtyZXR1cm4gY3Ioe3N5bWJvbEh0bWw6bixzeW1ib2xGaXJzdExldHRlcjptcihvKSxsb2dvVXJsOl9yKGUpfSl9aWYoYyl7Y29uc3QgZT1pW2xdO3JldHVybiBjcih7c3ltYm9sSHRtbDpuLHN5bWJvbEZpcnN0TGV0dGVyOm1yKG8pLGxvZ29Vcmw6X3IoZSl9KX1yZXR1cm4gZHIoe3N5bWJvbEh0bWw6bn0pfWZ1bmN0aW9uIG1yKGUpe3JldHVybigwLFZuLnNob3J0TmFtZSkoZSlbMF19ZnVuY3Rpb24gZ3IoZSx0LG8pe3JldHVybiBlLmdldChoZSh0LG8pKX12YXIgdnI7IWZ1bmN0aW9uKGUpe2UuQm9vbD0iYm9vbCIsCmUuRnVuZGFtZW50YWxQcmljZT0iZnVuZGFtZW50YWxfcHJpY2UiLGUuTnVtYmVyPSJudW1iZXIiLGUuUGVyY2VudD0icGVyY2VudCIsZS5QcmljZT0icHJpY2UiLGUuVGV4dD0idGV4dCIsZS5UaW1lPSJ0aW1lIn0odnJ8fCh2cj17fSkpO2NvbnN0IGZyPVsiJm1kYXNoOyIsJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY29sb3Itbm9ybWFsIj7igJQ8L3NwYW4+J107ZnVuY3Rpb24geXIoZSx0LG8saSxuKXtpZighU3IoKSYmIW4pcmV0dXJuIiI7Y29uc3Qgcj0hZSYmbz09PXZyLlByaWNlfHwhdCYmbz09PXZyLkZ1bmRhbWVudGFsUHJpY2V8fGZyLmluY2x1ZGVzKGkpLHM9IVt2ci5QcmljZSx2ci5GdW5kYW1lbnRhbFByaWNlXS5pbmNsdWRlcyhvKTtpZihyfHxzKXJldHVybiIiO2xldCBhO3JldHVybiBhPW89PT12ci5QcmljZT9lOnQsYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC1jdXJyZW5jeS12YWx1ZSI+JHthfTwvc3Bhbj5gfWNvbnN0IGJyPSJzY3JlZW5lci5zaG93Q3VycmVuY3lMYWJlbCI7ZnVuY3Rpb24gU3IoKXtyZXR1cm4gbi5nZXRCb29sKGJyLCEwKX12YXIgd3I9bygxNDA4OTUpLENyPW8oNDg3NzUwKSxrcj1vKDg0MTg3NyksVHI9byg4MjMzNTgpLEVyPW8oNDgyNTA0KSx4cj1vKDQ4MjUwNCk7Y2xhc3MgQXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fc2V0T3B0aW9ucyhlKSx0aGlzLl9maWVsZHM9e30sdGhpcy5fZmllbGRzT3JkZXI9QXJyYXkuaXNBcnJheShlLmZpZWxkc09yZGVyKSYmZS5maWVsZHNPcmRlcnx8W10sdGhpcy5maWVsZHNPcmRlckNoYW5nZT1uZXcgbnIuRGVsZWdhdGUsdGhpcy5fY29sdW1uc01hcD1uZXcgTWFwLHRoaXMuYWZ0ZXJGaXhDb2xzPW5ldyBuci5EZWxlZ2F0ZSx0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucz1bXSx0aGlzLl9oaWRkZW5Db2x1bW5zPTAsdGhpcy5fdGhyb3R0bGVGaXhDb2xzPSgwLHVpLmRlZmF1bHQpKCgoKT0+eyJtaW5pbWl6ZWQiIT09KHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGU/dGhpcy5fbW9kZWwuX2JyaWRnZS5ib3R0b21Ub29sYmFyTW9kZS52YWx1ZSgpOiJub3JtYWwiKSYmKHRoaXMuX3VuaGlkZUNvbHVtbnMoKSx0aGlzLl91bmhpZGVDZWxscygpLHRoaXMuX2ZpeENvbHMoKSl9KSwxMCksdGhpcy5kcmFnU3RhcnRlZD1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExLHRoaXMuX3VwZGF0ZUVtcHR5TWVzc2FnZUljb249dGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbi5iaW5kKHRoaXMpLHNyLndhdGNoZWRUaGVtZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbil9X3NldE9wdGlvbnMoZSl7dGhpcy5fb3B0aW9ucz1lfHx7fSx0aGlzLl9tb2RlbD10aGlzLl9vcHRpb25zLm1vZGVsLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fb3B0aW9ucy5kZWZhdWx0Rm9ybWF0dGVyfHwoZT0+ZS52YWx1ZSksdGhpcy5fbnVsbEZvcm1hdHRlcj10aGlzLl9vcHRpb25zLm51bGxGb3JtYXR0ZXJ8fCgoKT0+IiZtZGFzaDsiKSx0aGlzLl93aWR0aENoYW5nZT10aGlzLl9vcHRpb25zLndpZHRoQ2hhbmdlLHRoaXMuX3Zpc2liaWxpdHlDaGFuZ2U9dGhpcy5fb3B0aW9ucy52aXNpYmlsaXR5Q2hhbmdlLHRoaXMuX25vRGF0YVN0cmluZz10aGlzLl9vcHRpb25zLm5vRGF0YVN0cmluZyx0aGlzLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0PXRoaXMuX29wdGlvbnMuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldCx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPWUuZGlzYWJsZVN0aWNreUhlYWRlcn11cGRhdGVTb3J0RmllbGQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7ZSYmdCYmby5zaXplKCkmJih0aGlzLiR0aGVhZFJvdy5maW5kKCIudHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MsLnR2LXNjcmVlbmVyLXRhYmxlX19zb3J0LS1hc2MiKS5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWRlc2MgdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLWFzYyIpLG8uZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5lbXB0eSgpLmFkZENsYXNzKGB0di1zY3JlZW5lci10YWJsZV9fc29ydC0tJHt0fWApLmFwcGVuZCgiYXNjIj09PXQ/a3I6VHIpKX1oaWdobGlnaHRDZWxsKGUsdCxvKXtjb25zdCBpPXRoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3IoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRbZGF0YS1maWVsZC1rZXk9IiR7dH0iXWApO2lmKGkpe2kuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWhpZ2hsaWdodGVkIik7Y29uc3QgZT1pLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTtpZihlKXtjb25zdCB0PW8/InR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciO2UuY2xhc3NMaXN0LmFkZCh0KX19fWZsaWNrUm93KGUpe3RoaXMuJHRib2R5WzBdLnF1ZXJ5U2VsZWN0b3JBbGwoYHRyW2RhdGEtc3ltYm9sPSIke2V9Il0gdGRgKS5mb3JFYWNoKChlPT57Y29uc3QgdD1lLnF1ZXJ5U2VsZWN0b3IoInNwYW4iKTt0JiZ0LmNsYXNzTGlzdC5yZW1vdmUoInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1ncm93aW5nIiwidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWZhbGxpbmciKX0pKX1fY3JlYXRlVGFibGUoKXtpZih0aGlzLl90YWJsZSlyZXR1cm47Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpLHQ9WyJ0di1kYXRhLXRhYmxlIl07dGhpcy5fb3B0aW9ucy5hZGRUYWJsZUNsYXNzZXMmJnQucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRhYmxlQ2xhc3NlcyksZS5jbGFzc0xpc3QuYWRkKC4uLnQpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY29sZ3JvdXAiKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoZWFkIiksbj1bInR2LWRhdGEtdGFibGVfX3RoZWFkIl07dGhpcy5fb3B0aW9ucy5hZGRUaGVhZENsYXNzZXMmJm4ucHVzaCguLi50aGlzLl9vcHRpb25zLmFkZFRoZWFkQ2xhc3NlcyksaS5jbGFzc0xpc3QuYWRkKC4uLm4pCjtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIikscz1bInR2LWRhdGEtdGFibGVfX3RoZWFkLXJvdyJdO3RoaXMuX29wdGlvbnMuYWRkVGhlYWRSb3dDbGFzc2VzJiZzLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRUaGVhZFJvd0NsYXNzZXMpLHIuY2xhc3NMaXN0LmFkZCguLi5zKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iik7YS5jbGFzc0xpc3QuYWRkKCJ0di1kYXRhLXRhYmxlX190Ym9keSIpLGUuYXBwZW5kQ2hpbGQobyksZS5hcHBlbmRDaGlsZChpKSxpLmFwcGVuZENoaWxkKHIpLGUuYXBwZW5kQ2hpbGQoYSksdGhpcy5fdGFibGU9ZSx0aGlzLl9jb2xncm91cD1vLHRoaXMuX3RoZWFkUm93PXIsdGhpcy5fdGJvZHk9YSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoKCk9PnRoaXMuX3Rocm90dGxlRml4Q29scygpKSksdGhpcy5fd2lkdGhDaGFuZ2Uuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl90aHJvdHRsZUZpeENvbHMoKSkpLHRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUmJnRoaXMuX21vZGVsLl9icmlkZ2UuYm90dG9tVG9vbGJhck1vZGUuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdGhyb3R0bGVGaXhDb2xzKCkpKSx0aGlzLl92aXNpYmlsaXR5Q2hhbmdlJiZ0aGlzLl92aXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZSgoZT0+e2UmJnRoaXMuX3Rocm90dGxlRml4Q29scygpfSkpfV9jcmVhdGVTdGlja3lXcmFwcGVyKCl7aWYodGhpcy5fc3RpY2t5V3JhcHBlcilyZXR1cm47Y29uc3QgZT1bInR2LWRhdGEtdGFibGUtc3RpY2t5LXdyYXBwZXIiXTt0aGlzLl9vcHRpb25zLmFkZFN0aWNreUhlYWRlcldyYXBwZXJDbGFzc2VzJiZlLnB1c2goLi4udGhpcy5fb3B0aW9ucy5hZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3Nlcyk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoLi4uZSk7Y29uc3Qgbz10aGlzLl90YWJsZS5jbG9uZU5vZGUoITApO3QuYXBwZW5kKG8pLHRoaXMuX3N0aWNreVdyYXBwZXI9dH1fY3JlYXRlSGVhZGVyKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7dGhpcy5fZGlzYWJsZVN0aWNreUhlYWRlcnx8dGhpcy5fY3JlYXRlU3RpY2t5V3JhcHBlcigpO2ZvcihsZXQgaT0wO2k8dGhpcy5fY29sdW1uc09yZGVyLmxlbmd0aDsrK2kpe2NvbnN0IG49dGhpcy5fY29sdW1uc09yZGVyW2ldO2lmKCF0aGlzLl9maWVsZHNbbl0pY29udGludWU7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0aCIpO3Iuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkIixuKTtjb25zdCBzPVsidHYtZGF0YS10YWJsZV9fdGgiLCJ0di1kYXRhLXRhYmxlX19jZWxsIiwianMtdHYtZGF0YS10YWJsZS10aCIsYGpzLXR2LWRhdGEtdGFibGUtdGgtJHt0aGlzLl9lc2Mobil9YF07aWYodGhpcy5fb3B0aW9ucy5hZGRUaENsYXNzZXMpe2NvbnN0IGU9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkVGhDbGFzc2VzKG4sdGhpcy5fZmllbGRzW25dKTp0aGlzLl9vcHRpb25zLmFkZFRoQ2xhc3NlcztzLnB1c2goLi4uZSl9ci5jbGFzc0xpc3QuYWRkKC4uLihvPXMsby5maWx0ZXIoQm9vbGVhbikpKTtjb25zdCBhPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLnRpdGxlRm9ybWF0dGVyP3RoaXMuX29wdGlvbnMudGl0bGVGb3JtYXR0ZXIobix0aGlzLl9maWVsZHNbbl0pOnRoaXMuX2ZpZWxkc1tuXSYmKHRoaXMuX2ZpZWxkc1tuXS5jb250ZW50fHx0aGlzLl9maWVsZHNbbl0udGl0bGUpfHxuO2EgaW5zdGFuY2VvZiBFcj9yLmFwcGVuZChhWzBdKTpyLmlubmVySHRtbD1hLHRoaXMuX3NldERyYWdnYWJsZShyKSx0LmFwcGVuZChyKTtjb25zdCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNvbCIpO2wuY2xhc3NMaXN0LmFkZCgianMtdHYtZGF0YS10YWJsZS1jb2wiLGBqcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhuKX1gKSxlLmFwcGVuZChsKX12YXIgbztNcih0aGlzLl9jb2xncm91cCksTXIodGhpcy5fdGhlYWRSb3cpO2NvbnN0IGk9dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXT90aGlzLl9maWVsZHNbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlOnZvaWQgMDtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXRoaXMuX2NvbGdyb3VwLmFwcGVuZChlKSx0aGlzLl90aGVhZFJvdy5hcHBlbmQodCksdGhpcy5fc2V0U2VhcmNoSW5wdXQodGhpcy5fdGhlYWRSb3csaSk7ZWxzZXtjb25zdCBvPXRoaXMuX3N0aWNreVdyYXBwZXIucXVlcnlTZWxlY3RvcigidGFibGUiKSxuPW8ucXVlcnlTZWxlY3RvcigiY29sZ3JvdXAiKSxyPW8ucXVlcnlTZWxlY3RvcigidGhlYWQgdHIiKTtNcihuKSxNcihyKTtjb25zdCBzPWUuY2xvbmVOb2RlKCEwKTtuLmFwcGVuZChlKSx0aGlzLl9jb2xncm91cC5hcHBlbmQocyk7Y29uc3QgYT10LmNsb25lTm9kZSghMCk7ci5hcHBlbmQodCksdGhpcy5fdGhlYWRSb3cuYXBwZW5kKGEpLHRoaXMuX3RoZWFkUm93U3RpY2t5PXIsby5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZS0tZml4ZWQiKSx4cih0aGlzLl90aGVhZFJvdykuZmluZCgiLmpzLXRhYmxlLXNvcnQiKS5yZW1vdmUoKSx0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLl90aGVhZFJvd1N0aWNreSxpKX19X3NldERyYWdnYWJsZShlKXtjb25zdCB0PXhyKGUpO2lmKHQuaXMoIi5qcy1kcmFnZ2FibGUiKSlyZXR1cm47Y29uc3QgaT14cih0aGlzLl90aGVhZFJvdyk7bGV0IG49ITE7dC5hZGRDbGFzcygianMtZHJhZ2dhYmxlIikub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+e2lmKHQuZGF0YSgiZmllbGQiKT09PXRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCksdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbGVmdDowfSk7Y29uc3Qgcj10Lm9mZnNldCgpLmxlZnQ7bGV0IHM9cgo7Y29uc3QgYT1lLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCxsPWU9Pntjb25zdCBjPShlLnBhZ2VYfHxlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWCktYTtpZighbil7aWYoTWF0aC5hYnMoYyk8MTApcmV0dXJuO28uZSg0Mzk4MCkudGhlbihvLmJpbmQobywyNTA0MzkpKS50aGVuKCgoe0NvbnRleHRNZW51TWFuYWdlcjplfSk9PntudWxsIT09ZS5nZXRTaG93bigpJiYobj0hMSx0LmNzcygibGVmdCIsImF1dG8iKSx4cih3aW5kb3cpLm9mZigibW91c2Vtb3ZlIHRvdWNobW92ZSIsbCksdGhpcy5fb25EcmFnU3RvcCh0KSl9KSksdGhpcy5fb25EcmFnU3RhcnQodCksdC5vbmUoImNsaWNrIiwoZT0+e24mJmUuc3RvcFByb3BhZ2F0aW9uKCl9KSl9bj0hMDtjb25zdCBkPWkub2Zmc2V0KCkubGVmdCxoPWkub3V0ZXJXaWR0aCgpLHU9dC5vdXRlcldpZHRoKCksXz1NYXRoLm1heChkLE1hdGgubWluKGQraC11LHIrYykpLHA9Xyt1LzI7bGV0IG09eHIoKSxnPSExO2NvbnN0IHY9dC5wcmV2KCk7aWYodi5zaXplKCkmJigoMCxLby5pc1J0bCkoKT9wPnYub2Zmc2V0KCkubGVmdCt2Lm91dGVyV2lkdGgoKS8yOl88PWR8fHA8di5vZmZzZXQoKS5sZWZ0K3Yub3V0ZXJXaWR0aCgpLzIpKW09djtlbHNle2NvbnN0IGU9dC5uZXh0KCk7aWYoZS5zaXplKCkmJiFlLmlzKCIuaS1oaWRkZW4iKSl7KF8rdT49ZCtofHwoKDAsS28uaXNSdGwpKCk/cDxlLm9mZnNldCgpLmxlZnQrZS5vdXRlcldpZHRoKCkvMjpwPmUub2Zmc2V0KCkubGVmdCtlLm91dGVyV2lkdGgoKS8yKSkmJihtPWUsZz0hMCl9fWNvbnN0IGY9bS5kYXRhKCJmaWVsZCIpO2lmKG0uc2l6ZSgpJiYibmFtZSIhPT1mKXtjb25zdCBlPXQuZGF0YSgiZmllbGQiKSxvPXhyKHRoaXMuX2NvbGdyb3VwKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCksaT14cih0aGlzLl9jb2xncm91cCkuZmluZChgLmpzLXR2LWRhdGEtdGFibGUtY29sLSR7dGhpcy5fZXNjKGYpfWApO2xldCBuPXhyKCkscj14cigpO3RoaXMuX3N0aWNreVdyYXBwZXImJihuPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhlKX1gKSxyPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLWNvbC0ke3RoaXMuX2VzYyhmKX1gKSksZz8oby5pbnNlcnRBZnRlcihpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QWZ0ZXIocikpOihvLmluc2VydEJlZm9yZShpKSxuLnNpemUoKSYmci5zaXplKCkmJm4uaW5zZXJ0QmVmb3JlKHIpKTtsZXQgYT14cigpLGw9eHIoKTt0aGlzLl9zdGlja3lXcmFwcGVyJiYoYT14cih0aGlzLl9zdGlja3lXcmFwcGVyKS5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKSxsPXhyKHRoaXMuX3N0aWNreVdyYXBwZXIpLmZpbmQoYC5qcy10di1kYXRhLXRhYmxlLXRoLSR7dGhpcy5fZXNjKGYpfWApKSxnPyh0Lmluc2VydEFmdGVyKG0pLHM9dC5vZmZzZXQoKS5sZWZ0LW1bMF0ub2Zmc2V0V2lkdGgsYS5zaXplKCkmJmwuc2l6ZSgpJiZhLmluc2VydEFmdGVyKGwpKToodC5pbnNlcnRCZWZvcmUobSkscz10Lm9mZnNldCgpLmxlZnQrbVswXS5vZmZzZXRXaWR0aCxhLnNpemUoKSYmbC5zaXplKCkmJmEuaW5zZXJ0QmVmb3JlKGwpKSx0aGlzLl9zd2FwQ29scyhlLGYpfXQuY3NzKCJsZWZ0IixfLXMpfTt4cih3aW5kb3cpLm9uKCJtb3VzZW1vdmUgdG91Y2htb3ZlIixsKS5vbmUoIm1vdXNldXAgdG91Y2hlbmQiLChlPT57c2V0VGltZW91dCgoKCk9PntuPSExfSksMCksdC5jc3MoImxlZnQiLCJhdXRvIikseHIod2luZG93KS5vZmYoIm1vdXNlbW92ZSB0b3VjaG1vdmUiLGwpLG4mJnRoaXMuX29uRHJhZ1N0b3AodCl9KSl9KSl9X3NldFNlYXJjaElucHV0KGUsdCl7Y29uc3Qgbz1lLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtcXVlcnkiKTtpZighbylyZXR1cm47Y29uc3QgaT1vLnF1ZXJ5U2VsZWN0b3IoIi5qcy1zZWFyY2gtaW5wdXQiKSxuPW8ucXVlcnlTZWxlY3RvcigiLmpzLWlucHV0LXJlc2V0Iik7KDAsQW4uaXNTY3JlZW5lclBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZpLmZvY3VzKCk7Y29uc3Qgcj1Cb29sZWFuKHQpO24uY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCFyKSxyJiYoaS52YWx1ZT10KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PntuLmNsYXNzTGlzdC50b2dnbGUoImktaGlkZGVuIiwwPT09aS52YWx1ZS5sZW5ndGgpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fZmllbGRzW3RoaXMuX21vZGVsLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZT1pLnZhbHVlLHRoaXMuX21vZGVsLmxvYWRpbmd8fHRoaXMuX21vZGVsLnVwZGF0ZSgpfSksNDAwKTtpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKCk9PnMoKSkpfV9vbkRyYWdTdGFydChlKXt0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMCk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LmFkZCguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcykpfV9zd2FwQ29scyhlLHQpe2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSksaT10aGlzLl9jb2x1bW5zT3JkZXIuaW5kZXhPZih0KTt0aGlzLl9jb2x1bW5zT3JkZXJbb109dGhpcy5fY29sdW1uc09yZGVyLnNwbGljZShpLDEsdGhpcy5fY29sdW1uc09yZGVyW29dKVswXSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZWQ9ITA7Y29uc3Qgbj1NYXRoLm1pbihvLGkpLHI9TWF0aC5tYXgobyxpKSxzPXRoaXMuX3Rib2R5LmNoaWxkcmVuO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7ZSsrKXsKY29uc3QgdD1zW2VdLmNoaWxkcmVuLG89dFtuXTt0W3JdLmFmdGVyKG8pfWNvbnN0IGE9dGhpcy5fZmllbGRzT3JkZXIuaW5kZXhPZihlKSxsPXRoaXMuX2ZpZWxkc09yZGVyLmluZGV4T2YodCk7dGhpcy5fZmllbGRzT3JkZXJbYV09dGhpcy5fZmllbGRzT3JkZXIuc3BsaWNlKGwsMSx0aGlzLl9maWVsZHNPcmRlclthXSlbMF19X29uRHJhZ1N0b3AoZSl7dGhpcy5kcmFnU3RhcnRlZC5zZXRWYWx1ZSghMSk7Y29uc3QgdD1lLmRhdGEoImZpZWxkIiksbz10aGlzLl9nZXRDb2xCeUZpZWxkKHQpO28mJih0aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nVGhDbGFzc2VzJiZlWzBdLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ1RoQ2xhc3NlcyksdGhpcy5fb3B0aW9ucy5hZGREcmFnZ2luZ0NvbENsYXNzZXMmJm8uY2xhc3NMaXN0LnJlbW92ZSguLi50aGlzLl9vcHRpb25zLmFkZERyYWdnaW5nQ29sQ2xhc3NlcyksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkJiYodGhpcy5maWVsZHNPcmRlckNoYW5nZS5maXJlKCksdGhpcy5fZmllbGRzT3JkZXJDaGFuZ2VkPSExLHRoaXMuX21vZGVsLnRyYWNrRXZlbnQoYERyYWcgYW5kIGRyb3AgJHsiYmlnIj09PXRoaXMuX29wdGlvbnMudGFibGVfc3R5bGU/InF1b3RlcyI6Im5vbi1xdW90ZXMifSBjb2x1bW5gKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgcmkodCkpKSx0aGlzLl9maXhDb2xzKCkpfV9nZXRDb2xCeUZpZWxkKGUpe3JldHVybiB0aGlzLl9jb2xncm91cC5xdWVyeVNlbGVjdG9yKGAuanMtdHYtZGF0YS10YWJsZS1jb2wtJHt0aGlzLl9lc2MoZSl9YCl9X2ZpeENvbHMoKXtjb25zdCBlPUFycmF5LmZyb20odGhpcy5fdGhlYWRSb3cuY2hpbGRyZW4pO2lmKDA9PT1lLmxlbmd0aClyZXR1cm47dGhpcy5fdGFibGUuY2xhc3NMaXN0LnJlbW92ZSgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIik7Y29uc3QgdD10aGlzLl90YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCJjb2wiKTtsZXQgbz1lLm1hcCgoZT0+TWF0aC5mbG9vcihlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSkpO2NvbnN0IGk9ImJpZyI9PT10aGlzLl9vcHRpb25zLnRhYmxlX3N0eWxlLG49d2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMudGFibGV0LHI9dGhpcy5fdGFibGUucGFyZW50Tm9kZS5vZmZzZXRXaWR0aDtsZXQgcz1JcihvKTtpZihpJiZuJiZzPnIpe2Rve3M+ciYmKG8ucG9wKCksdGhpcy5faGlkZUNvbHVtbigpKSxzPUlyKG8pfXdoaWxlKHM+cik7Y29uc3QgZT1NYXRoLmZsb29yKChyLXMpL28ubGVuZ3RoKTtvPW8ubWFwKCh0PT50K2UpKTtjb25zdCB0PW8ubGVuZ3RoLTEsaT1vW3RdLG49ci1JcihvKTtvW3RdPWkrbn1pZih0LmZvckVhY2goKChlLHQpPT57Y29uc3QgaT1vW3RdO2k/ZS5zdHlsZS53aWR0aD1gJHtpfXB4YDplLmNsYXNzTGlzdC5hZGQoImktaGlkZGVuIil9KSksdGhpcy5fc3RpY2t5V3JhcHBlcil7Y29uc3QgZT10aGlzLl9zdGlja3lXcmFwcGVyLHQ9ZS5xdWVyeVNlbGVjdG9yKCJjb2xncm91cCIpLGk9ZS5xdWVyeVNlbGVjdG9yKCJ0YWJsZSIpLG49dGhpcy5fY29sZ3JvdXAuY2xvbmVOb2RlKCEwKTt0LnJlcGxhY2VXaXRoKG4pLGkuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5fc3RpY2t5V3JhcHBlci5zdHlsZS53aWR0aD1mdW5jdGlvbihlLHQpe2lmKCEoKDAsQW4uaXNNYXJrZXRQYWdlKShlLl9tb2RlbC5fYnJpZGdlKSYmd2luZG93LmlubmVyV2lkdGg+Zm8uYnJlYWtwb2ludHMucGhvbmUpKXJldHVybjtyZXR1cm4gZS5fc3RpY2t5V3JhcHBlci5xdWVyeVNlbGVjdG9yQWxsKCJ0aCIpLmZvckVhY2goKChlLG8pPT57dFtvXT9lLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIik6ZS5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpfSkpLGAke0ZuKGUuX3RhYmxlKS53aWR0aCgpfXB4YH0odGhpcyxvKXx8YCR7c31weGB9dGhpcy5fdGFibGUuY2xhc3NMaXN0LmFkZCgidHYtc2NyZWVuZXItdGFibGUtLWZpeGVkIiksdGhpcy5hZnRlckZpeENvbHMuZmlyZSgpfV9oaWRlQ29sdW1uKCl7Y29uc3QgZT10aGlzLl90aGVhZFJvdy5jaGlsZHJlbjtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3Qgbz1lW3RdO2lmKCFvLmNsYXNzTGlzdC5jb250YWlucygiaS1oaWRkZW4iKSl7by5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpO2JyZWFrfX10aGlzLl9oaWRkZW5Db2x1bW5zKyt9X3VuaGlkZUNvbHVtbnMoKXtjb25zdCBlPXRoaXMuX3RhYmxlLnF1ZXJ5U2VsZWN0b3JBbGwoImNvbCIpLHQ9dGhpcy5fdGhlYWRSb3cucXVlcnlTZWxlY3RvckFsbCgidGgiKTtlLmZvckVhY2goKChlLG8pPT57ZS5zdHlsZS53aWR0aD0iIixlLmNsYXNzTGlzdC5yZW1vdmUoImktaGlkZGVuIiksdFtvXS5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpfSkpLHRoaXMuX2hpZGRlbkNvbHVtbnM9MH1fdW5oaWRlQ2VsbHMoKXtpZighdGhpcy5fdGJvZHkpcmV0dXJuO3RoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoInRkLmktaGlkZGVuIikuZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX0pKX10b2dnbGVTaWduYWxzKGUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzW2VdO3QuZGlzcGxheVNpZ25hbD0hdC5kaXNwbGF5U2lnbmFsO2NvbnN0IG89dGhpcy5fY29sdW1uc09yZGVyLmluZGV4T2YoZSk7aWYoLTE9PT1vKXJldHVybjtjb25zdCBpPXRoaXMuX3Rib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoYC50di1kYXRhLXRhYmxlX19yb3cgLnR2LWRhdGEtdGFibGVfX2NlbGw6bnRoLWNoaWxkKCR7bysxfSkgLnR2LXNjcmVlbmVyLXRhYmxlX19zaWduYWxgKTswIT09aS5sZW5ndGgmJihpLmZvckVhY2goKGU9PmUuY2xhc3NMaXN0LnRvZ2dsZSgiaS1oaWRkZW4iLCF0LmRpc3BsYXlTaWduYWwpKSksdGhpcy5fZml4Q29scygpKX1nZXQgJGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx4cih0aGlzLl90YWJsZSl9Z2V0ICR0Ym9keSgpe3JldHVybiB0aGlzLl9jcmVhdGVUYWJsZSgpLHhyKHRoaXMuX3Rib2R5KX1nZXQgJHN0aWNreUhlYWRlcigpewpyZXR1cm4gdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVTdGlja3lXcmFwcGVyKCkseHIodGhpcy5fc3RpY2t5V3JhcHBlcil9Z2V0ICR0aGVhZFJvdygpe3JldHVybiB0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyP3hyKHRoaXMuX3RoZWFkUm93KTp4cih0aGlzLl90aGVhZFJvd1N0aWNreSl9Z2V0IGFkZGl0aW9uYWxDb2x1bW5zKCl7cmV0dXJuIHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zfWdldCBmaWVsZHNPcmRlcigpe3JldHVybiB0aGlzLl9maWVsZHNPcmRlcn1nZXQgY29sdW1uc09yZGVyKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnNPcmRlcn1zZXRDb2x1bW5zTWFwKGUpe3RoaXMuX2NvbHVtbnNNYXA9ZX1zZXRGaWVsZHMoZSl7dGhpcy5fZmllbGRzT3JkZXI9W10sdGhpcy5fY29sdW1uc09yZGVyPVtdO2Zvcihjb25zdFt0LG9db2YgT2JqZWN0LmVudHJpZXMoZSkpdGhpcy5fZmllbGRzT3JkZXIucHVzaCh0KSxvLnNraXBGaWVsZHx8dGhpcy5fY29sdW1uc09yZGVyLnB1c2godCk7dGhpcy5fZmllbGRzPXt9LHRoaXMuX2FkZGl0aW9uYWxDb2x1bW5zPVtdLHRoaXMuX2ZpZWxkc09yZGVyLmZvckVhY2goKHQ9Pnt0aGlzLl9maWVsZHNbdF09ZVt0XSxlW3RdJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zJiZlW3RdLmFkZGl0aW9uYWxDb2x1bW5zLmZvckVhY2goKGU9Pnt0aGlzLl9hZGRpdGlvbmFsQ29sdW1ucy5pbmNsdWRlcyhlKXx8dGhpcy5fYWRkaXRpb25hbENvbHVtbnMucHVzaChlKX0pKX0pKSx0aGlzLmZpZWxkc09yZGVyQ2hhbmdlLmZpcmUoKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZT0hMH11cGRhdGUoZSl7dGhpcy5fZmllbGRzT3JkZXJDaGFuZ2UmJih0aGlzLl91bmhpZGVDb2x1bW5zKCksdGhpcy5fY3JlYXRlVGFibGUoKSx0aGlzLl9jcmVhdGVIZWFkZXIoKSksdGhpcy5jbGVhckRhdGEoKSx0aGlzLmFwcGVuZChlKSx0aGlzLl9maWVsZHNPcmRlckNoYW5nZSYmKHRoaXMuX2ZpZWxkc09yZGVyQ2hhbmdlPSExKSx0aGlzLl9maXhDb2xzKCl9X3VwZGF0ZUVtcHR5TWVzc2FnZUljb24oKXtpZighdGhpcy5fJGVtcHR5TWVzc2FnZSlyZXR1cm47Y29uc3QgZT1mdW5jdGlvbigpe2NvbnN0IGU9c3Iud2F0Y2hlZFRoZW1lLnZhbHVlKCk7cmV0dXJuIGV8fChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJodG1sIik/LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpP3JyLlN0ZFRoZW1lLkRhcms6cnIuU3RkVGhlbWUuTGlnaHQpfSgpLHQ9dGhpcy5fJGVtcHR5TWVzc2FnZS5maW5kKCJpIiksbz1lPT09cnIuU3RkVGhlbWUuTGlnaHQ/Q3I6d3I7dC5odG1sKG8pfV9zZXRFbXB0eU1lc3NhZ2UoKXtsZXQgZSx0PSIiOygwLEFuLmlzU2NyZWVuZXJQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKT90PSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LS1maXhlZCI6KCgwLEFuLmlzQ2hhcnRQYWdlKSh0aGlzLl9tb2RlbC5fYnJpZGdlKXx8KDAsQW4uaXNFeHRlcm5hbFdpZGdldCkodGhpcy5fbW9kZWwuX2JyaWRnZSkpJiYodD0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LXJlc3VsdC0tcmVsYXRpdmUiKSxlPXRoaXMuX2lzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ/Xy50KG51bGwsdm9pZCAwLG8oNjc2NDQyKSkuZm9ybWF0KHtvcGVuTGluazonPGEgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fZW1wdHktcmVzdWx0LWxpbmsiPicsY2xvc2VMaW5rOiI8L2E+In0pOnRoaXMuX25vRGF0YVN0cmluZ3x8Xy50KG51bGwsdm9pZCAwLG8oNDE3NzcpKSx0aGlzLl8kZW1wdHlNZXNzYWdlPXhyKGBcblx0XHRcdDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19lbXB0eS1yZXN1bHQgJHt0fSI+XG5cdFx0XHRcdDxpIGNsYXNzPSJqcy1uby1yZXN1bHRzLWljb24iPjwvaT5cblx0XHRcdFx0PGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX2VtcHR5LWRlc2NyaXB0aW9uIj4ke2V9PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRgKS5pbnNlcnRBZnRlcih0aGlzLl90YWJsZSksdGhpcy5fdXBkYXRlRW1wdHlNZXNzYWdlSWNvbigpLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSk/dGhpcy5fZml4Q29scygpOnRoaXMuX21vZGVsLl92aWV3LmZpeFN0YW5kYWxvbmVXaWR0aCgpfWFwcGVuZChlKXt0aGlzLl8kZW1wdHlNZXNzYWdlJiZ0aGlzLl8kZW1wdHlNZXNzYWdlLnJlbW92ZSgpO2NvbnN0IHQ9Z3IodGhpcy5fY29sdW1uc01hcCwiY3VycmVuY3kiLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksbz1ncih0aGlzLl9jb2x1bW5zTWFwLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIix0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLGk9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCByPWVbbl07aWYoIUFycmF5LmlzQXJyYXkoci5kKSljb250aW51ZTtjb25zdCBzPXIuZFt0XSxhPXIuZFtvXSxsPVsidHYtZGF0YS10YWJsZV9fcm93Il07aWYodGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0NsYXNzZXM/dGhpcy5fb3B0aW9ucy5hZGRSb3dDbGFzc2VzKHIpOnRoaXMuX29wdGlvbnMuYWRkUm93Q2xhc3NlcztsLnB1c2goLi4uZSl9Y29uc3QgYz1bXTtpZih0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZFJvd0F0dHJzP3RoaXMuX29wdGlvbnMuYWRkUm93QXR0cnMocik6dGhpcy5fb3B0aW9ucy5hZGRSb3dBdHRycztmb3IoY29uc3RbdCxvXW9mIE9iamVjdC5lbnRyaWVzKGUpKWMucHVzaChbdCxvXSl9Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7bGV0IF89dGhpcy5faGlkZGVuQ29sdW1ucztmb3IobGV0IGU9dGhpcy5fZmllbGRzT3JkZXIubGVuZ3RoLTE7ZT49MDstLWUpe2NvbnN0IHQ9dGhpcy5fZmllbGRzT3JkZXJbZV0sbz10aGlzLl9maWVsZHNbdF0KO2lmKCFvfHxvLnNraXBGaWVsZCljb250aW51ZTtjb25zdCBpPWdyKHRoaXMuX2NvbHVtbnNNYXAsdCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpLG49by5hZGRpdGlvbmFsQ29sdW1ucz9vLmFkZGl0aW9uYWxDb2x1bW5zLm1hcCgoZT0+UnIoci5kLGdyKHRoaXMuX2NvbHVtbnNNYXAsZSx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpKSkpOltdO2xldCBsPSIiO2NvbnN0IGM9WyJ0di1kYXRhLXRhYmxlX19jZWxsIl07bGV0IHA7aWYoby50b29sdGlwJiYoImZ1bmN0aW9uIj09dHlwZW9mIG8udG9vbHRpcD9sPW8udG9vbHRpcCguLi5uLG8pOiJzdHJpbmciPT10eXBlb2Ygby50b29sdGlwJiYobD1vLnRvb2x0aXApLGMucHVzaCgiYXBwbHktY29tbW9uLXRvb2x0aXAiKSksInByaWNlIj09PW8udHlwZSYmbi5sZW5ndGg+PTQpe2NvbnN0IGU9bi5zbGljZSgtNCk7ZVsyXT0idHJ1ZSI9PT1lWzJdLHA9R3QoLi4uZSl9ZWxzZSBwPXp0KG8sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSwhMSk7Im5hbWUiPT09dCYmbi5wdXNoKHIucyk7Y29uc3QgbT1ScihyLmQsaSk7bGV0IGc9bnVsbD09PW0/dGhpcy5fbnVsbEZvcm1hdHRlcigpOnAmJnAuZm9ybWF0KG0pfHx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyKHt2YWx1ZTptLGZpZWxkS2V5OnQsZmllbGQ6byxyb3dEYXRhOnIsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIsdGl0bGU6bCxjb2x1bW5zTWFwOnRoaXMuX2NvbHVtbnNNYXB9KTtpZih0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzKXtjb25zdCBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmFkZENlbGxDbGFzc2VzP3RoaXMuX29wdGlvbnMuYWRkQ2VsbENsYXNzZXMoe3ZhbHVlOm0sZmllbGRLZXk6dCxmaWVsZDpvfSk6dGhpcy5fb3B0aW9ucy5hZGRDZWxsQ2xhc3NlcztjLnB1c2goLi4uZSl9Y29uc3Qgdj1vLmFkZGl0aW9uYWxGb3JtYXR0ZXI/by5hZGRpdGlvbmFsRm9ybWF0dGVyKC4uLm4pOiIiO28ubXV0YXRlRGlzcGxheVZhbHVlJiYoZz1vLm11dGF0ZURpc3BsYXlWYWx1ZShnLC4uLm4sbykpLHRoaXMuX21vZGVsLmhhc01hcmtlZFN5bWJvbHMoKSYmYy5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aC1tYXJrZXIiKSxfPjAmJihjLnB1c2goImktaGlkZGVuIiksXy0tKTtsZXQgZj1nK3YreXIocyxhLG8udHlwZSxnLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fbW9kZWwuX2JyaWRnZSkpOyh0PT09aC5OYW1lfHx0PT09aC5TZWN0b3ImJnRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdCkmJihmPXByKHtzeW1ib2xIdG1sOmYsZmllbGRzT3JkZXI6dGhpcy5fZmllbGRzT3JkZXIscm93RGF0YTpyLmQscHJvU3ltYm9sOnIuc30pKTtjb25zdCB5PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7eS5jbGFzc0xpc3QuYWRkKC4uLmMpLHkudGl0bGU9bCYmIm5hbWUiIT09dD9sOiIiLHkuc2V0QXR0cmlidXRlKCJkYXRhLWZpZWxkLWtleSIsdCkseS5pbm5lckhUTUw9Zix1LnByZXBlbmQoeSl9Y29uc3QgcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3AuY2xhc3NMaXN0LmFkZCguLi5sKSxjLmZvckVhY2goKGU9PnAuc2V0QXR0cmlidXRlKC4uLmUpKSkscC5hcHBlbmQodSksdGhpcy5fb3B0aW9ucy5vblJvd0J1aWxkJiZ0aGlzLl9vcHRpb25zLm9uUm93QnVpbGQocCxyKSxpLmFwcGVuZENoaWxkKHApfXRoaXMuX3Rib2R5LmFwcGVuZENoaWxkKGkpLDA9PT10aGlzLl90Ym9keS5xdWVyeVNlbGVjdG9yQWxsKCJ0ciIpLmxlbmd0aCYmdGhpcy5fc2V0RW1wdHlNZXNzYWdlKCksdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSYmdGhpcy5fb3B0aW9ucy5vblVwZGF0ZSgpfWNsZWFyRGF0YShlKXtpZih0aGlzLl90Ym9keSlpZihlKXtjb25zdCB0PXRoaXMuX3Rib2R5LmNoaWxkcmVuLG89dC5sZW5ndGg7Zm9yKGxldCBpPWU7aTxvO2krKyl7Y29uc3Qgbz10W2VdO3RoaXMuX3Rib2R5LnJlbW92ZUNoaWxkKG8pfX1lbHNlIHRoaXMuX3Rib2R5LmlubmVySFRNTD0iIn1zZXRUaENvbnRlbnQoZSx0KXtjb25zdCBvPXRoaXMuZ2V0VGgoZSk7by5zaXplKCkmJihvLmVtcHR5KCksdCBpbnN0YW5jZW9mIEVyP28uYXBwZW5kKHQpOm8uaHRtbCh0KSwibmFtZSI9PT1lJiZ0aGlzLl9zZXRTZWFyY2hJbnB1dCh0aGlzLiR0aGVhZFJvd1swXSx0aGlzLl9maWVsZHNbZV0uc2VhcmNoVmFsdWUpKX1zZXRDb2x1bW5UaXRsZShlLHQpe2NvbnN0IG89dGhpcy5nZXRUaChlKTtvLnNpemUoKSYmby5maW5kKCIuanMtaGVhZC10aXRsZSIpLnRleHQodCl9c2V0U2VhcmNoVGV4dChlKXtjb25zdCB0PXRoaXMuZ2V0VGgodGhpcy5fbW9kZWwuc2VhcmNoRmllbGQpO3Quc2l6ZSgpJiZ0LmZpbmQoIi5qcy1maWVsZC10b3RhbCIpLnRleHQoZSl9Z2V0VGgoZSl7Y29uc3QgdD10aGlzLiR0aGVhZFJvdztyZXR1cm4gdCYmdC5maW5kKGAuanMtdHYtZGF0YS10YWJsZS10aC0ke3RoaXMuX2VzYyhlKX1gKXx8eHIoKX1fZXNjKGUpe3JldHVybiBlLnJlcGxhY2UoL1tcLnxdL2csIl8iKX19ZnVuY3Rpb24gTXIoZSl7Y29uc3QgdD1lLmNoaWxkcmVuOzAhPT10Lmxlbmd0aCYmQXJyYXkuZnJvbSh0KS5mb3JFYWNoKCh0PT5lLnJlbW92ZUNoaWxkKHQpKSl9ZnVuY3Rpb24gSXIoZSl7cmV0dXJuIGUucmVkdWNlKCgoZSx0KT0+ZSt0KSl9ZnVuY3Rpb24gUnIoZSx0KXtyZXR1cm4gZVt0XX12YXIgRnI9bygzMDk4MzYpLExyPW8oOTExMzI3KTtjb25zdCBEcj17YW1lcmljYToidXNhIixldXJvbmV4dDoiZXVyb3BlIixob25na29uZzoiaG9uZy1rb25nIixuZXd6ZWFsYW5kOiJuZXctemVhbGFuZCIsdWs6InVuaXRlZC1raW5nZG9tIixyc2E6InNvdXRoLWFmcmljYSIsc3JpbGFua2E6InNyaS1sYW5rYSJ9O2Z1bmN0aW9uIE9yKGUsdCxvPSJzZWN0b3IiKXtyZXR1cm4gZSYmdD8oRHJbdF0mJih0PURyW3RdKSxgL21hcmtldHMvc3RvY2tzLSR7dH0vc2VjdG9yYW5kaW5kdXN0cnktJHtvfS8keyhpPWUsCmkucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCItIikucmVwbGFjZSgvLSsvZywiLSIpLnJlcGxhY2UoL14tfC0kL2csIiIpKS50b0xvd2VyQ2FzZSgpfS9gKToiL21hcmtldHMvc3RvY2tzLXVzYS9zZWN0b3JhbmRpbmR1c3RyeS1zZWN0b3IvIjt2YXIgaX1mdW5jdGlvbiBOcihlKXtjb25zdCB0PWUuX21vZGVsLG89ZS5fYnJpZGdlLGk9e3NjcmVlbmVyVHlwZTpXcih0KSxtYXJrZXQ6dC5tYXJrZXRzWzBdLHV0bTp0LnV0bSxsYXJnZUNoYXJ0VXJsOnQubGFyZ2VDaGFydFVybCx0YWJsZVN0eWxlOm8udGFibGVfc3R5bGUsc2NyZWVuZXJQbGFjZW1lbnQ6KDAsQW4uZ2V0U2NyZWVuZXJQYWdlKShvKSxvcGVuQ2hhcnRPblNhbWVUYWI6by5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiLGJyaWRnZUJhc2VVcmw6by5iYXNlVXJsLHNlbGVjdGVkSW50ZXJ2YWxJZDp0LnNlbGVjdGVkSW50ZXJ2YWxJZH07cmV0dXJuIGU9PmZ1bmN0aW9uKGUpe3N3aXRjaChlLmZpZWxkS2V5KXtjYXNlIGguTmFtZTpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCx0aXRsZTpvLHNjcmVlbmVyUGxhY2VtZW50Omksb3BlbkNoYXJ0T25TYW1lVGFiOm59PWU7aWYoImNoYXJ0IiE9PWkpe2NvbnN0IGk9cXIoZSk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHsoMCxFaS5odG1sRXNjYXBlKShvKX0iIGhyZWY9IiR7KDAsRWkuaHRtbEVzY2FwZSkoaSl9IiAke24/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PiR7dH08L2E+YH1yZXR1cm5gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCB0di1zY3JlZW5lcl9fc3ltYm9sLS10ZXh0IGFwcGx5LWNvbW1vbi10b29sdGlwIiB0aXRsZT0iJHtvfSI+JHt0fTwvZGl2PmB9KGUpO2Nhc2UgaC5EZXNjcmlwdGlvbjpyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3R7dmFsdWU6dCxzY3JlZW5lclR5cGU6byxtYXJrZXQ6aX09ZTtpZihbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXMobykpe2NvbnN0IGU9UHIodCk7cmV0dXJuYDxhIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgaHJlZj0iJHtPcih0LGksbyl9Ij5cblx0XHRcdFx0XHRcdCR7ZX1cblx0XHRcdFx0XHQ8L2E+YH1yZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5TZWN0b3I6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnIsdXRtOnMsb3BlbkNoYXJ0T25TYW1lVGFiOmF9PWU7aWYoaT09PWQuQ3J5cHRvTWt0KXtjb25zdCBvPXFyKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgaHJlZj0iJHsoMCxFaS5odG1sRXNjYXBlKSgoMCxGci5hZGRVdG1Ub1VybCkobyxzKSl9IiAke2E/IiI6J3RhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIid9PlxuXHRcdFx0XHRcdFx0JHt0fVxuXHRcdFx0XHRcdDwvYT5gfWlmKCJiaWciPT09cilyZXR1cm4gJHIodCxuLG8pO3JldHVybiB0fShlKTtjYXNlIGguSW5kdXN0cnk6cmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0e3ZhbHVlOnQsZmllbGRLZXk6byxzY3JlZW5lclR5cGU6aSxtYXJrZXQ6bix0YWJsZVN0eWxlOnJ9PWU7aWYoImJpZyI9PT1yJiZpIT09ZC5DcnlwdG9Na3QpcmV0dXJuICRyKHQsbixvKTtyZXR1cm4gQnIodCl9KGUpO2Nhc2UgaC5Db3VudHJ5OnJldHVybigwLGIudHJpZXNUcmFuc2xhdGVDb3VudHJpZU5hbWUpKGUudmFsdWUpO2RlZmF1bHQ6cmV0dXJuIGUudmFsdWV9fSh7Li4uZSwuLi5pfSl9ZnVuY3Rpb24gUHIoZSl7cmV0dXJuKDAsVGUudHJpZXNUcmFuc2xhdGVTY3JlZW5lckRhdGEpKGUpfWZ1bmN0aW9uIEJyKGUpe2NvbnN0IHQ9UHIoZSk7cmV0dXJuYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tZml4LXdpZHRoIiB0aXRsZT0iJHt0fSI+JHt0fTwvc3Bhbj5gfWZ1bmN0aW9uICRyKGUsdCxvKXtjb25zdCBpPVByKGUpO3JldHVybmA8YSBjbGFzcz0idHYtc2NyZWVuZXJfX3N5bWJvbCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGhyZWY9IiR7T3IoZSx0LG8pfSI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lcl9fc3ltYm9sLS1zZWNvbmRhcnkiPiR7aX08L3NwYW4+XG5cdFx0XHQ8L2E+YH1mdW5jdGlvbiBXcihlKXtyZXR1cm4gZS5zY3JlZW5lcl90eXBlfWZ1bmN0aW9uIHFyKGUpe2NvbnN0e3Jvd0RhdGE6dCxzY3JlZW5lclR5cGU6byxzY3JlZW5lclBsYWNlbWVudDppLHV0bTpuLGxhcmdlQ2hhcnRVcmw6cixjb2x1bW5zTWFwOnMsc2VsZWN0ZWRJbnRlcnZhbElkOmF9PWU7aWYobz09PWQuQ3J5cHRvTWt0KXtjb25zdCBlPXtwcm9OYW1lOnQucyx0eXBlOiJjcnlwdG8ifTtyZXR1cm4id2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGUpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShlKX1jb25zdCBsPWdyKHMsImV4Y2hhbmdlIixhKTtsZXQgYztsJiYoYz10LmRbbF0pO2NvbnN0IGg9e3Byb05hbWU6dC5zLGV4Y2hhbmdlOmMsdHlwZTpvfTtyZXR1cm4gbz09PWQuQ29udGludW91c0Z1dHVyZXM/KDAsTHIubWFrZVN5bWJvbENoYXJ0VXJsKShoKToid2lkZ2V0Ij09PWkmJnI/KDAsTHIubWFrZVRlbXBsYXRlU3ltYm9sVXJsKShyLGgpOigwLExyLm1ha2VTeW1ib2xQYWdlVXJsKShoLG4pfXZhciBWcixIcj1vKDIyNTI5OCk7ZnVuY3Rpb24gVXIoZSl7Y29uc3QgdD1lLl9maWVsZHNfb3JkZXIsaT1lLl9kaXNhYmxlU3RpY2t5SGVhZGVyLG49ZS5fbGlmZWN5Y2xlLHI9ZS53aWR0aENoYW5nZSxzPWUuX21vZGVsLGE9cy5zY3JlZW5lcl90eXBlLGw9ZS5fYnJpZGdlLGM9bC50YWJsZV9zdHlsZSx1PWwuaGlkZV9jb250cm9scyxwPWwudmlzaWJsZSxtPSgwLEFuLmdldFNjcmVlbmVyUGFnZSkobCksZz1JdC5kZXNjcmlwdGlvbix2PXttb2RlbDpzLGZpZWxkc09yZGVyOnQsdGl0bGVGb3JtYXR0ZXI6KHQsbyk9Pntjb25zdCBpPWUuX2dldFRoQ29udGVudCh0LG8pCjtyZXR1cm4gdD09PWguTmFtZSYmbi5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKGkuZ2V0KDApKSxpfSxkZWZhdWx0Rm9ybWF0dGVyOk5yKGUpLGFkZFRoZWFkQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX190aGVhZCIsaT8idHYtc2NyZWVuZXItdGFibGVfX3RoZWFkLS1zdGlja3kiOiJ0di1zY3JlZW5lci10YWJsZV9fdGhlYWQtLXJlZ3VsYXIiXSxhZGRUaENsYXNzZXM6WyJ0di1kYXRhLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX19zb3J0YWJsZSIsInR2LXNjcmVlbmVyLXRhYmxlX190aCIsYz9gdHYtc2NyZWVuZXItdGFibGVfX3RoLS0ke2N9YDoiIiwid2lkZ2V0Ij09PW0mJnU/InR2LXNjcmVlbmVyLXRhYmxlX190aC0tbm8tdG9vbGJhciI6IiJdLGFkZENlbGxDbGFzc2VzOmU9Pntjb25zdHt2YWx1ZTp0LGZpZWxkS2V5Om8sZmllbGQ6aX09ZSxuPVsidHYtc2NyZWVuZXItdGFibGVfX2NlbGwiXTtyZXR1cm4gbi5wdXNoKC4uLmZ1bmN0aW9uKGUpe2NvbnN0IHQ9W107ZS5hbGlnbj09PVZyLlJpZ2h0fHxlLmFsaWduPT09VnIuQ2VudGVyfHxlLmNvbnRyb2wmJiJzZWxlY3QiIT09ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1sZWZ0Iik7ZS5hbGlnbiE9PVZyLkNlbnRlcnx8ZS5jb250cm9sfHx0LnB1c2goInR2LXNjcmVlbmVyLXRhYmxlX19jZWxsLS1jZW50ZXIiKTtyZXR1cm4gdH0oaSkpLGkuaGlnaGxpZ2h0Q2hhbmdlJiZ0JiZuLnB1c2godD49MD8idHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLXVwIjoidHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLWRvd24iKSxvIT09aC5OYW1lfHwhZy5kaXNhYmxlZCYmZy5jaGVja2VkfHxuLnB1c2goIndpZGdldCI9PT1tPyJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2lkZ2V0LXdpdGhvdXQtZGVzY3JpcHRpb24iOiJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0td2l0aG91dC1kZXNjcmlwdGlvbiIpLGMmJm4ucHVzaChgdHYtc2NyZWVuZXItdGFibGVfX2NlbGwtLSR7Y31gKSwid2lkZ2V0Ij09PW0mJm4ucHVzaCguLi5mdW5jdGlvbihlLHQpe2NvbnN0IG89W107ZSYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tbm8tdG9vbGJhciIpO3Q9PT1kLkNyeXB0b01rdCYmby5wdXNoKCJ0di1zY3JlZW5lci10YWJsZV9fY2VsbC0tY3J5cHRvX21rdCIpO3JldHVybiBvfSh1LGEpKSxufSx3aWR0aENoYW5nZTpyLHZpc2liaWxpdHlDaGFuZ2U6cCx0YWJsZV9zdHlsZTpjLG5vRGF0YVN0cmluZzplLl9ub0RhdGFTdHJpbmcsaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldDplLl9pc1VuYXZhaWxhYmxlV2lkZ2V0TWFya2V0LGRpc2FibGVTdGlja3lIZWFkZXI6aSxvblJvd0J1aWxkOih0LG8pPT57Y29uc3QgaT1lLl9zZWxlY3RhYmxlTGlzdDsiY2hhcnQiPT09bSYmSHIubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKT09PW8ucyYmaSYmKGUuX3NldEFjdGl2ZUVsZW0odCksaS5mb2N1c0l0ZW0odCkpLG4uYmVmb3JlQXBwZW5kU3ltYm9sKG8ucyx0KX0sb25VcGRhdGU6KCk9Pntjb25zdCB0PWUuX3NlbGVjdGFibGVMaXN0O3QmJnQucmVzdG9yZSgpfX0sZj17Li4udixzb3J0YWJsZTohMCxhZGRUYWJsZUNsYXNzZXM6WyJ0di1zY3JlZW5lci10YWJsZSJdLGFkZFRoZWFkUm93Q2xhc3NlczpbInR2LWRhdGEtdGFibGVfX3N0cm9rZSIsInR2LXNjcmVlbmVyLXRhYmxlX19oZWFkIl0sYWRkUm93Q2xhc3NlczooKT0+WyJ0di1kYXRhLXRhYmxlX19zdHJva2UiLCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdyJdLGFkZFJvd0F0dHJzOmU9Pih7ImRhdGEtc3ltYm9sIjplLnN9KSxhZGRTdGlja3lIZWFkZXJXcmFwcGVyQ2xhc3NlczpbInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlciJdLGFkZERyYWdnaW5nVGhDbGFzc2VzOlsidHYtc2NyZWVuZXItdGFibGVfX3RoLS1kcmFnZ2luZyJdLGFkZERyYWdnaW5nQ29sQ2xhc3NlczpbInR2LXNjcmVlbmVyLXRhYmxlX19jb2wtLWRyYWdnaW5nIl19LHk9bmV3IEFyKGYpO3JldHVybiB5LnNldEZpZWxkcyh7bmFtZTp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oODI4NDIwKSl9fSkseX0hZnVuY3Rpb24oZSl7ZS5DZW50ZXI9ImNlbnRlciIsZS5SaWdodD0icmlnaHQifShWcnx8KFZyPXt9KSk7dmFyIHpyLGpyPW8oNDgyNTA0KTtmdW5jdGlvbiBHcihlKXtjb25zdHt2aWV3OnR9PWU7cmV0dXJuIHQuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP1Byb21pc2UucmVzb2x2ZSgpOnpuKGUsWHIscW4uSGVhZGVyKX1mdW5jdGlvbiBYcihlLHQpe2NvbnN0e2ZpZWxkS2V5Om99PWUsaT10LmRlZmF1bHQsbj1JdFtvXSxyPXsuLi5lLGZpZWxkOm59O3JldHVybnsuLi5LcihyLGkpLC4uLllyKHIsaSksLi4uSnIocixpKSwuLi5acihyLGkpfX1mdW5jdGlvbiBLcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpyfT1lO2lmKCJuYW1lIiE9PXIpcmV0dXJue307Y29uc3Qgcz1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuRGVzY3JpcHRpb24iLG9wdGlvbnM6e2xhYmVsOiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9fLnQobnVsbCx2b2lkIDAsbyg3MjEwMDEpKTpfLnQobnVsbCx2b2lkIDAsbyg4MjU5MikpLGRpc2FibGVkOkl0LmRlc2NyaXB0aW9uLmRpc2FibGVkLG9uRXhlY3V0ZTooKT0+e2NvbnN0IGU9IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ7SXQuZGVzY3JpcHRpb24uY2hlY2tlZD1lLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLGkuJGZpZWxkU2V0c0J1dHRvbi50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIixpLl9tb2RlbC5pc0ZpZWxkU2V0Q2hhbmdlZCgpKSwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgR24uRGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50KHpyLlRvZ2dsZURlc2NyaXB0aW9uLCJoZWFkZXIiLGUpKX19fSksYT1uZXcgdCh7YWN0aW9uSWQ6IlNjcmVlbmVyLlRvZ2dsZVZpc2liaWxpdHkuU3ltYm9sVHlwZSIsb3B0aW9uczp7CmxhYmVsOiFJdC50eXBlLmRpc2FibGVkJiZJdC50eXBlLmNoZWNrZWQ/Xy50KG51bGwsdm9pZCAwLG8oOTI2ODI1KSk6Xy50KG51bGwsdm9pZCAwLG8oNjAzNTA3KSksZGlzYWJsZWQ6SXQudHlwZS5kaXNhYmxlZCxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFJdC50eXBlLmNoZWNrZWQ7SXQudHlwZS5jaGVja2VkPWUsaS50YWJsZS51cGRhdGUoaS5fZGF0YSksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU3ltYm9sVHlwZSwiaGVhZGVyIixlKSl9fX0pLGw9IVsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyhpLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxjPW5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuVG9nZ2xlVmlzaWJpbGl0eS5DdXJyZW5jeSIsb3B0aW9uczp7bGFiZWw6U3IoKT9fLnQobnVsbCx2b2lkIDAsbygxMjI3NjQpKTpfLnQobnVsbCx2b2lkIDAsbyg2Nzc0MjYpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPSFTcigpO3ZhciB0O3Q9ZSxuLnNldFZhbHVlKGJyLHQpLGkudGFibGUudXBkYXRlKGkuX2RhdGEpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2hvd0N1cnJlbmN5LCJoZWFkZXIiLGUpKX19fSk7cmV0dXJuey4uLmw/e3RvZ2dsZUN1cnJlbmN5RGlzcGxheUFjdGlvbjpjfTpudWxsLHRvZ2dsZURlc2NyaXB0aW9uQWN0aW9uOnMsdG9nZ2xlU3ltYm9sVHlwZUFjdGlvbjphfX1mdW5jdGlvbiBZcihlLHQpe2NvbnN0e3ZpZXc6aSxmaWVsZEtleTpuLGZpZWxkOnJ9PWU7aWYoIm5hbWUiPT09bilyZXR1cm57fTtyZXR1cm57cmVtb3ZlQ29sdW1uQWN0aW9uOm5ldyB0KHthY3Rpb25JZDoiU2NyZWVuZXIuQ29sdW1uLlJlbW92ZSIsb3B0aW9uczp7bGFiZWw6Xy50KG51bGwsdm9pZCAwLG8oNTkxMjI3KSksb25FeGVjdXRlOigpPT57ci5jaGVja2VkPSExO2NvbnN0IGU9aS5fdGFibGUuZmllbGRzT3JkZXIuZmlsdGVyKChlPT5lIT09bikpO2kuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5maXJlKGUuZmlsdGVyKChlPT5JdFtlXSYmITAhPT1JdFtlXS5kaXNhYmxlZCYmITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSksaS5fbW9kZWwudXBkYXRlKCksaS4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLGkuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuUmVtb3ZlQ29sdW1uLCJoZWFkZXIiLG4pKX19fSl9fWZ1bmN0aW9uIEpyKGUsdCl7Y29uc3R7dmlldzppLGZpZWxkS2V5Om4sZmllbGQ6cixlOnN9PWUsYT1zLmN1cnJlbnRUYXJnZXR8fHMudGFyZ2V0LGw9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuUmVzZXQiLG9wdGlvbnM6e2xhYmVsOl8udChudWxsLHZvaWQgMCxvKDMxMTczNykpLG9uRXhlY3V0ZTooKT0+e2kucmVzZXRGaWx0ZXIobiksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5SZXNldEZpbHRlciwiaGVhZGVyIixuKSl9fX0pLGM9bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5GaWx0ZXIuQ2hhbmdlIixvcHRpb25zOntsYWJlbDpfLnQobnVsbCx2b2lkIDAsbyg2ODEwNDMpKSxvbkV4ZWN1dGU6KCk9Pntjb25zdCBlPWpyKGEpLmNsb3Nlc3QoInRoIik7aS5zaG93SW5wbGFjZUVkaXRvcihuLGUpLHMuc3RvcFByb3BhZ2F0aW9uKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEduLkRpc3BhdGNoQ29udGV4dE1lbnVBY3Rpb25FdmVudCh6ci5DaGFuZ2VGaWx0ZXIsImhlYWRlciIsbikpfX19KTtpZihyLmNvbnRyb2wpe2kuZmllbGRWYWx1ZVN0cmluZyhuKXx8bC51cGRhdGUoe2Rpc2FibGVkOiEwfSl9ZWxzZSBsLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KSxjLnVwZGF0ZSh7ZGlzYWJsZWQ6ITB9KTtyZXR1cm57cmVzZXRGaWx0ZXJBY3Rpb246bCxjaGFuZ2VGaWx0ZXJBY3Rpb246Y319ZnVuY3Rpb24gWnIoZSx0KXtjb25zdHt2aWV3OmksZmllbGRLZXk6bixmaWVsZDpyfT1lO2lmKCFyLmhhc093blByb3BlcnR5KCJkaXNwbGF5U2lnbmFsIikpcmV0dXJue307Y29uc3R7ZGlzcGxheVNpZ25hbDpzfT1yO3JldHVybnt0b2dnbGVTaWduYWxBY3Rpb246bmV3IHQoe2FjdGlvbklkOiJTY3JlZW5lci5Ub2dnbGVWaXNpYmlsaXR5LlJhdGluZyIsb3B0aW9uczp7bGFiZWw6cz9fLnQobnVsbCx2b2lkIDAsbyg3NTcyMzEpKTpfLnQobnVsbCx2b2lkIDAsbygyNzM2ODEpKSxvbkV4ZWN1dGU6KCk9PntpLl90YWJsZS50b2dnbGVTaWduYWxzKG4pLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBHbi5EaXNwYXRjaENvbnRleHRNZW51QWN0aW9uRXZlbnQoenIuVG9nZ2xlU2lnbmFsLCJoZWFkZXIiLCFzKSl9fX0pfX0hZnVuY3Rpb24oZSl7ZS5BY3RpdmVPbmx5PSJhY3RpdmVfb25seSIsZS5Ub2dnbGVEZXNjcmlwdGlvbj0ic2hvd19kZXNjcmlwdGlvbiIsZS5Ub2dnbGVTeW1ib2xUeXBlPSJzaG93X3N5bWJvbF90eXBlIixlLlRvZ2dsZVByaW1hcnlPbmx5PSJzaG93X3ByaW1hcnlfb25seSIsZS5SZW1vdmVDb2x1bW49InJlbW92ZV9jb2x1bW4iLGUuUmVzZXRGaWx0ZXI9InJlc2V0X2ZpbHRlciIsZS5DaGFuZ2VGaWx0ZXI9ImNoYW5nZV9maWx0ZXIiLGUuVG9nZ2xlU2lnbmFsPSJzaG93X3JhdGluZyIsZS5Ub2dnbGVTaG93Q3VycmVuY3k9InRvZ2dsZV9zaG93X2N1cnJlbmN5In0oenJ8fCh6cj17fSkpO3ZhciBRcj1vKDcwMzA0MSksZXM9bygzODI3NDUpO2NvbnN0IHRzPSJzY3JlZW5lci1tYXJrZXQtc2VsZWN0LW1vZGUiO3ZhciBvcz1vKDI0OTQ2OSksaXM9byg5OTg2NjEpLG5zPW8oOTIxNzA4KSxycz1vKDQ4MjUwNCk7Y29uc3Qgc3M9bygyMjUyOTgpLmxpbmtpbmc7byg1NTA2ODIpCjtjb25zdHtEZWxlZ2F0ZTphc309byg5NDgzODApLGxzPW8oMjIxMDYxKS5nZXRMb2dnZXIoIlNjcmVlbmVyLlZpZXciKSx7b3BlcmF0b3JzOmNzLGZpZWxkczpkc309byg2NDEzMDQpLGhzPV8udChudWxsLHtjb250ZXh0OiJmb3JleF9zY3JlZW5lcl9wYWlyc19zZWxlY3QifSxvKDE4NTQ5OSkpLHVzPV8udChudWxsLHZvaWQgMCxvKDIzMzY5MCkpLF9zPV8udChudWxsLHZvaWQgMCxvKDkyMTg0NykpLHBzPW8oODQxODc3KSxtcz1vKDgyMzM1OCksZ3M9Wy0xLDEwLDYwXSx2cz1bLTEsMTBdLGZzPXtib25kczp7eWllbGRzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzUxMDMzKSkscHJpY2VzOl8udChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNjQxNTk4KSl9LGNyeXB0b19ta3Q6e1VTRDoiVVNEIixCVEM6IkJUQyJ9fSx5cz1gPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1xdWVyeSBqcy1zZWFyY2gtcXVlcnkgJHtJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZHx8IUl0LmRlc2NyaXB0aW9uLmNoZWNrZWQ/InR2LXNjcmVlbmVyLXRhYmxlX19zZWFyY2gtcXVlcnktLXdpdGhvdXQtZGVzY3JpcHRpb24iOiIifSI+XG5cdFx0PGlucHV0XG5cdFx0XHR0eXBlPSJ0ZXh0IlxuXHRcdFx0YXV0b2NvbXBsZXRlPSJvZmYiXG5cdFx0XHRjbGFzcz0idHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pbnB1dCBqcy1zZWFyY2gtaW5wdXQiXG5cdFx0Lz5cblx0XHQ8c3BhbiBjbGFzcz0idHYtc2VhcmNoLWJhcl9fc2VhcmNoLWljb24gdHYtc2NyZWVuZXItdGFibGVfX3NlYXJjaC1pY29uIj4ke28oMjYxMTc4KX08L3NwYW4+XG5cdFx0PHNwYW4gY2xhc3M9InR2LXNlYXJjaC1iYXJfX2lucHV0LXJlc2V0IHR2LXNjcmVlbmVyLXRhYmxlX19pbnB1dC1yZXNldCBpLWhpZGRlbiBqcy1pbnB1dC1yZXNldCI+JHtvKDIwNzc0Nil9PC9zcGFuPlxuXHQ8L2Rpdj5gO2NsYXNzIGJze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYnJpZGdlPWUsdGhpcy5fbW9kZWw9dCx0aGlzLl9vbldpZGdldD1lLm9uV2lkZ2V0LHRoaXMuX2FjdGl2ZUVsZW09bnVsbCx0aGlzLl9jaGFuZ2VTeW1ib2w9KDAsdm8uZGVmYXVsdCkodGhpcy5fY2hhbmdlU3ltYm9sLDUwMCksdGhpcy5fbGlmZWN5Y2xlPW5ldyB4aSx0aGlzLnNvcnRlZEZpZWxkcz1PYmplY3Qua2V5cyhJdCkuZmlsdGVyKChlPT5Cb29sZWFuKEt0KEl0W2VdKSkpKSx0aGlzLl9wb3B1cHM9bmV3IGRpKHQsdGhpcyxlKSx0aGlzLl9kaWFsb2c9bmV3IGtpKHQsdGhpcyxlKSx0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyPXRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyLHRoaXMuX3BlcmlvZFBpY2tlcj1lLnBlcmlvZF9waWNrZXIsdGhpcy5fbm9EYXRhU3RyaW5nPWUubm9fZGF0YV9zdHJpbmcsdGhpcy5faXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldD1lLmlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQsdGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucz1be2lkOiJ5ZXN0ZXJkYXkiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDk2NTU3MykpfSx7aWQ6InRvZGF5Iix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg2MTQ0NTApKX0se2lkOiJ0b21vcnJvdyIsdGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oOTQwNDgzKSl9LHtpZDoidGhpc193ZWVrIix0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygxMjc0ODMpKX0se2lkOiJuZXh0X3dlZWsiLHRpdGxlOl8udChudWxsLHZvaWQgMCxvKDQ4NTQ1NCkpfV07Y29uc3QgaT0idW5kZWZpbmVkIj09PXRoaXMuX21vZGVsLnNldHRpbmdLZXk/dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZTp0aGlzLl9tb2RlbC5zZXR0aW5nS2V5O3RoaXMuX2ZpZWxkc19vcmRlcj10aGlzLl9tb2RlbC5zZXR0aW5nc1NhdmVyLmdldEpTT04oaSsiLmZpZWxkc19vcmRlciIsW10pLHRoaXMuX2RhdGE9W10sdGhpcy5fbGFzdFNldElkPW51bGwsdGhpcy53aWR0aENoYW5nZT1uZXcgYXMsdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+e3RoaXMud2lkdGhDaGFuZ2UuZmlyZSgpfSkpLHRoaXMuXyRncm91cFNlbGVjdD1udWxsLHRoaXMuX3ByZXZlbnRIaWdobGlnaHRDaGFuZ2VzPSExLHRoaXMuX3RhYmxlPVVyKHRoaXMpLHRoaXMuX21vZGVsLmZpZWxkU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoZT0+e2NvbnN0IHQ9e307ZS5mb3JFYWNoKChlPT57dFtlXT1JdFtlXX0pKSx0aGlzLl90YWJsZS5zZXRGaWVsZHModCl9KSksdGhpcy5fbW9kZWwuZmlsdGVyU2V0Q2hhbmdlZC5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKX0pKSx0aGlzLl90YWJsZS5maWVsZHNPcmRlckNoYW5nZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLl9tb2RlbC5maWVsZHNPcmRlci5zZXRWYWx1ZSh0aGlzLl90YWJsZS5maWVsZHNPcmRlciksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmllbGRTZXRDaGFuZ2VkKCkpLHRoaXMuX21vZGVsLnNldHRpbmdzU2F2ZXIuc2V0SlNPTihpKyIuZmllbGRzX29yZGVyIix0aGlzLl90YWJsZS5maWVsZHNPcmRlcix7Zm9yY2VGbHVzaDohMH0pfSkpO2xldCBuPTAscj0hMTt0aGlzLl9tb2RlbC5sb2FkaW5nU3RhcnQuc3Vic2NyaWJlKG51bGwsKGU9PntlPyhyPSEwLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYobj1ycyhkb2N1bWVudCkuc2Nyb2xsVG9wKCkpLHRoaXMuX3Nob3dTcGlubmVyKHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4pKToobj0wLHRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2h8fHRoaXMuX3Nob3dTcGlubmVyKCkpfSkpLHRoaXMuX21vZGVsLmxvYWRpbmdTdGFydC5zdWJzY3JpYmUobnVsbCwoKCk9PnRoaXMucmVzZXRSZWZyZXNoQ291bnRlcighMCkpKSx0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57CnImJnRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiYwIT09biYmcnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpIT09bj8ocj0hMSxycyhkb2N1bWVudCkuc2Nyb2xsVG9wKG4pLG49MCk6dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJnRoaXMuX2lzU2Nyb2xsQm90dG9tKCkmJnJzKGRvY3VtZW50KS5zY3JvbGxUb3AocnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLzIpLHRoaXMuX2hpZGVTcGlubmVyKCksdGhpcy5yZXNldFJlZnJlc2hDb3VudGVyKCl9KSksdGhpcy5fbW9kZWwuZW9kUmVzdHJpY3Rpb24uc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbigpKSx7Y2FsbFdpdGhMYXN0OiEwfSksd2luZG93LmxvZ2luU3RhdGVDaGFuZ2UmJndpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZShudWxsLCgoKT0+e2lmKHRoaXMucmVzZXRSZWZyZXNoQ291bnRlcigpLCJmb3JleCI9PT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKXtjb25zdCBlPXRoaXMuX21vZGVsLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KGUpJiZlWzBdPT09Xy50KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDplLHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbiYmKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbi5lbXB0eSgpLHRoaXMudXBkYXRlR3JvdXBzQnV0dG9uKHRoaXMuXyRncm91cFNlbGVjdEJ1dHRvbixlKSl9fSkpLHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLCgoKT0+e3JzKCIuanMtZHJvcGRvd24tdG9nZ2xlLmktb3BlbmVkIikudHJpZ2dlcigicmVzZXRQb3NpdGlvbiIpfSkpO2NvbnN0IHM9KDAsdm8uZGVmYXVsdCkoKCgpPT57dGhpcy5fdGVtcEJ1c3k9ITF9KSwyNTApLGE9KCk9Pnt0aGlzLl90ZW1wQnVzeXx8KHRoaXMuX3RlbXBCdXN5PSEwKSxzKCl9O3RoaXMuX2JyaWRnZS5zdGFuZGFsb25lJiZycyh3aW5kb3cpLm9uKCJzY3JvbGwiLGEpLHJzKHdpbmRvdykub24oInJlc2l6ZSIsYSksdGhpcy53aWR0aENoYW5nZS5zdWJzY3JpYmUodGhpcyxhKSx0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZXx8dGhpcy5fbW9kZWwubG9hZGluZ0NvbXBsZXRlLnN1YnNjcmliZShudWxsLCgoKT0+e3RoaXMuaXNFbmRSZWFjaGVkKCk/KHRoaXMuJGNvbnRlbnQuYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsLXRoaXMuX2NvbnRlbnRQYWRkaW5nKSk6KHRoaXMuJGNvbnRlbnQucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUtLWZ1bGx5LWxvYWRlZCIpLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcygibWFyZ2luLWJvdHRvbSIsIiIpKX0pKSxUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmTWkuc3Vic2NyaWJlKCJzY3JlZW5lci5zZWxlY3RlZF90eXBlX29uX2NoYXJ0IiwoZT0+e3RoaXMuX21vZGVsLmNoYW5nZVNjcmVlbmVyVHlwZShlKS50aGVuKCgoKT0+e3RoaXMuX2xhc3RTZXRJZD1udWxsLHRoaXMuX3BvcHVwcy5zZXRNYXJrZXRzTGlzdChGKHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpKSwiZm9yZXgiPT09dGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZT90aGlzLl8kZ3JvdXBTZWxlY3QucmVtb3ZlQ2xhc3MoImktaGlkZGVuIik6dGhpcy5fJGdyb3VwU2VsZWN0LmFkZENsYXNzKCJpLWhpZGRlbiIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHRoaXMuX21vZGVsLnNlbGVjdGVkSW50ZXJ2YWxJZCksdGhpcy5fcG9wdXBzLnVwZGF0ZVJlZnJlc2hJbnRlcnZhbHNQb3B1cENvbnRlbnQoKX0pKS50aGVuKCgoKT0+dGhpcy51cGRhdGVNYXJrZXRCdXR0b24oKSkpLmNhdGNoKChlPT57ZSYmbHMubG9nRXJyb3IoZSl9KSl9KSl9Z2V0U2VsZWN0ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGFibGVMaXN0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmdldFNlbGVjdGVkS2V5cygpOltdfWdldEZvY3VzZWRTeW1ib2woKXtpZih0aGlzLl9zZWxlY3RhYmxlTGlzdClyZXR1cm4gdGhpcy5fc2VsZWN0YWJsZUxpc3QuZ2V0Rm9jdXNlZEtleSgpfXJlZ2lzdGVySG9va3NIYW5kbGVycyhlKXt0aGlzLl9saWZlY3ljbGUucmVnaXN0ZXJIYW5kbGVycyhlKX1faXNTY3JvbGxCb3R0b20oKXtyZXR1cm4gcnMod2luZG93KS5zY3JvbGxUb3AoKStycyh3aW5kb3cpLmhlaWdodCgpPT09cnMoZG9jdW1lbnQpLmhlaWdodCgpfV9pbml0U2VsZWN0YWJsZUxpc3QoKXt0aGlzLl9zZWxlY3RhYmxlTGlzdD0oMCx5by5jcmVhdGVTZWxlY3RhYmxlTGlzdCkoe2xpc3Q6dGhpcy4kY29udGVudC5nZXQoMCksbGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLHNlbGVjdGVkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLXNlbGVjdGVkIixmb2N1c2VkTGlzdEl0ZW1DbGFzczoidHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ctLWZvY3VzZWQiLG9uTmF2aWdhdGU6dGhpcy5fb25TeW1ib2xzTmF2aWdhdGUuYmluZCh0aGlzKSxvbkNvbmZpcm06dGhpcy5fb25TeW1ib2xDb25maXJtLmJpbmQodGhpcyksZ2V0Tm9kZUtleTplPT5lLmRhdGFzZXQuc3ltYm9sfSl9X2dldFRoQ29udGVudChlLHQpe3R8fCh0PUl0W2VdKTtjb25zdCBpPWtuKGUsdCk/cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHt0LnRpdGxlfSIgZGF0YS1maWVsZD0iJHtlfSI+YCk6cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLXdyYXAganMtaGVhZC13cmFwIiBkYXRhLWZpZWxkPSIke2V9Ij5gKTt0LmRpc2FibGVIZWFkZXJDb250cm9sJiZpLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9faGVhZC13cmFwLS1kaXNhYmxlLWludGVyYWN0aW9uIikKO2NvbnN0IG49cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQganMtaGVhZC1sZWZ0Ij48L2Rpdj4nKS5hcHBlbmRUbyhpKSxyPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS10ZXh0Ij48L2Rpdj4nKS5hcHBlbmRUbyhuKSxzPXJzKGA8ZGl2IGNsYXNzPSJqcy1oZWFkLXRpdGxlIj4ke3Quc2hvcnRUaXRsZXx8dC50aXRsZX08L2Rpdj5gKS5hcHBlbmRUbyhyKTtlPT09dGhpcy5fbW9kZWwuc2VhcmNoRmllbGQmJm4uYWRkQ2xhc3MoIUl0LmRlc2NyaXB0aW9uLmRpc2FibGVkJiZJdC5kZXNjcmlwdGlvbi5jaGVja2VkPyJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1uYW1lLWNvbCI6dGhpcy5fb25XaWRnZXQ/InR2LXNjcmVlbmVyLXRhYmxlX19oZWFkLWxlZnQtLXdpZGdldC1uYW1lLWNvbC13aXRob3V0LWRlc2NyaXB0aW9uIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tbmFtZS1jb2wtd2l0aG91dC1kZXNjcmlwdGlvbiIpO2NvbnN0IGE9cnMoYDxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci10YWJsZV9fc29ydCBqcy10YWJsZS1zb3J0ICR7dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpPT09ZT9gdHYtc2NyZWVuZXItdGFibGVfX3NvcnQtLSR7dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKX1gOiIifSI+JHsiYXNjIj09PXRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnZhbHVlKCk/cHM6bXN9PC9zcGFuPmApO2lmKGU9PT10aGlzLl9tb2RlbC5zZWFyY2hGaWVsZCl7bGV0IGU7ZT10aGlzLl90b3RhbENvdW50P3RoaXMuX2JyaWRnZS5oaWRlX2xvYWRfbW9yZSYmdGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZSYmdGhpcy5fdG90YWxDb3VudD49dGhpcy5fYnJpZGdlLnBhZ2Vfc2l6ZT9fLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl9icmlkZ2UucGFnZV9zaXplfSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX2JyaWRnZS5wYWdlX3NpemV9KTpfLnQobnVsbCx7cGx1cmFsOiJ7bnVtYmVyfSBtYXRjaGVzIixjb3VudDp0aGlzLl90b3RhbENvdW50fSxvKDU0MDU2NSkpLmZvcm1hdCh7bnVtYmVyOnRoaXMuX3RvdGFsQ291bnR9KTpfLnQobnVsbCx2b2lkIDAsbygyMjgyOTEpKSxycyhgPGRpdiBjbGFzcz0ianMtZmllbGQtdG90YWwgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlLS10b3RhbCI+JHtlfTwvZGl2PmApLmFwcGVuZFRvKG4pLHRoaXMuX29uV2lkZ2V0fHxycyh5cykuYXBwZW5kVG8obil9bGV0IGw9ITE7aWYodC5jb250cm9sJiYhdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpe2NvbnN0IHQ9cnMoYDxpIGRhdGEtZmllbGQ9IiR7ZX0iIGNsYXNzPSJqcy1maWx0ZXItYnV0dG9uIHR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uIj4ke28oNjA4MDY1KX08L2k+YCk7dC5hcHBlbmRUbyhpKTtpZih0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSkpe3QuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLXRhYmxlX19maWx0ZXItYnV0dG9uLS1hY3RpdmUiKTtjb25zdCBvPXJzKGA8c3BhbiBjbGFzcz0ianMtZmllbGQtdmFsdWUgdHYtc2NyZWVuZXItdGFibGVfX2ZpZWxkLXZhbHVlIGFwcGx5LW92ZXJmbG93LXRvb2x0aXAkeyJuYW1lIj09PWU/IiB0di1zY3JlZW5lci10YWJsZV9fZmllbGQtdmFsdWUtLW5hbWUiOiIifSI+JHt0aGlzLmZpZWxkVmFsdWVTdHJpbmcoZSl9PC9zcGFuPmApO24uYXBwZW5kKG8pLGw9ITB9fXJldHVybiBhLmFwcGVuZFRvKGkpLHMuYWRkQ2xhc3MobD8idHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdHdvLWxpbmVzIjoidHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGl0bGUtdGhyZWUtbGluZXMiKSxpfV91cGRhdGVUYWJsZVNvcnRGaWVsZCgpe2NvbnN0IGU9dGhpcy5fbW9kZWwuX3NvcnRGaWVsZC52YWx1ZSgpLHQ9dGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24udmFsdWUoKTt0aGlzLl90YWJsZS51cGRhdGVTb3J0RmllbGQoZSx0KX1zZXRGaWVsZEFjdGl2ZShlLHQsbyl7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJihvfHwobz10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cC5maW5kKGAuanMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX1gKSksbyYmby5zaXplKCkmJm8udG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiLHQpKX1fcmVzZXRTZWFyY2hDb3VudCgpe2NvbnN0IGU9dGhpcy5fZ2V0VGhDb250ZW50KHRoaXMuX21vZGVsLnNlYXJjaEZpZWxkKS5maW5kKCIuanMtZmllbGQtdG90YWwiKS50ZXh0KCk7dGhpcy5fdGFibGUuc2V0U2VhcmNoVGV4dChlKX1fcmVzZXRGaWVsZChlKXt0aGlzLnNldEZpZWxkQWN0aXZlKGUsdGhpcy5fbW9kZWwuZmllbGRBY3RpdmUoZSkpO2NvbnN0IHQ9dGhpcy5fZ2V0VGhDb250ZW50KGUpO2lmKCJuYW1lIj09PWUmJnRoaXMuX2xpZmVjeWNsZS5iZWZvcmVBcHBlbmRTeW1ib2xzSGVhZGVyKHQuZ2V0KDApKSx0aGlzLl90YWJsZS5zZXRUaENvbnRlbnQoZSx0KSwhdGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAmJnRoaXMuJGlucGxhY2VFZGl0b3ImJmU9PT10aGlzLl9pbnBsYWNlRWRpdG9yRmllbGQpe2NvbnN0IHQ9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKSxvPXRoaXMuJGlucGxhY2VFZGl0b3IuZmluZCgiLmpzLXJlc2V0IiksaT10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy13cmFwIik7dD8oby5yZW1vdmVDbGFzcygiaS1oaWRkZW4iKSxpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSx0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpKTooby5hZGRDbGFzcygiaS1oaWRkZW4iKSxpLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZmlsdGVyLXdpdGhvdXQtcmVzZXQiKSwKdGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSl9fV9zZXR1cFN0aWNreUhlYWRlcigpe2lmKHRoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXIpcmV0dXJuO2NvbnN0IGU9dGhpcy5fdGFibGUuJHN0aWNreUhlYWRlcjtlLmluc2VydEJlZm9yZSh0aGlzLiRjb250ZW50KTtjb25zdCB0PXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItc3RpY2t5LWhlYWRlci13cmFwcGVyX19yaWdodC1zdWJzdHJhdGUiPjwvc3Bhbj4nKS5wcmVwZW5kVG8odGhpcy4kY29udGVudCk7bGV0IG49TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpO2lmKG5ldyBSZXNpemVPYnNlcnZlcigoKCk9PnRoaXMub25SZXNpemVUb29sYmFyKCkpKS5vYnNlcnZlKHRoaXMuJHRvb2xiYXJbMF0pLCgwLEFuLmlzTWFya2V0UGFnZSkodGhpcy5fYnJpZGdlKSlEbih0aGlzKTtlbHNlIGlmKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lKXtjb25zdCBvPTE0ODtsZXQgaTt0aGlzLiR0b29sYmFyLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1zdGFuZGFsb25lX3N0aWNreSIsITApLmNzcyh7dG9wOm99KSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSxlLmNzcyh7dG9wOm59KTtjb25zdCByPShpLHIpPT57cnx8KHI9cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpKSx0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHsicGFkZGluZy10b3AiOm59KSx0aGlzLiR0b29sYmFyLmNzcyh7dG9wOmk/MDpvLXJ9KSxlLmNzcyh7dG9wOm59KSx0LmNzcyh7dG9wOmk/bjowfSl9LHM9ZT0+cnMoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLSh0aGlzLiRjb250ZW50Lm9mZnNldCgpLnRvcC1lKT4wO3JzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9PntuPU1hdGgucm91bmQodGhpcy4kdG9vbGJhci5vdXRlckhlaWdodCgpKTtjb25zdCBvPXJzKGRvY3VtZW50KS5zY3JvbGxUb3AoKSxhPXJzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7bGV0IGw7dGhpcy5fb25XaWRnZXR8fChsPXMobikscihsLG8pLHRoaXMuXyRtYWluQ29udGFpbmVyLmNzcygidG9wIiwtbykpLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLGwpO2NvbnN0IGM9KDAsS28uaXNSdGwpKCk/ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aC10aGlzLiRjb250ZW50WzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0Oi1hO2UuY3NzKHtbKDAsS28uaXNSdGwpKCk/InJpZ2h0IjoibGVmdCJdOmw/YzoiYXV0byJ9KSx0LnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX3JpZ2h0LXN1YnN0cmF0ZS0tc3RhbmRhbG9uZV9zdGlja3kiLGwpLGkhPT1sJiZ0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksaT1sLHRoaXMuJGJvdHRvbUxvYWRpbmdTY3JlZW4uY3NzKHtsZWZ0OmF9KX0pKSxycyh3aW5kb3cpLm9uKCJyZXNpemUiLCgoKT0+e3RoaXMuZml4U3RhbmRhbG9uZVdpZHRoKCksbj1NYXRoLnJvdW5kKHRoaXMuJHRvb2xiYXIub3V0ZXJIZWlnaHQoKSk7Y29uc3QgZT1zKG4pO3IoZSksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX0pKSx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLmFmdGVyRml4Q29scy5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLmZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl9KSl9ZWxzZXt0aGlzLl9icmlkZ2UuJGJvZHkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pO2xldCBvPSExLG49ITE7dGhpcy5vblJlc2l6ZVRvb2xiYXIoKTtjb25zdCByPSgpPT57Y29uc3Qgbz1NYXRoLnJvdW5kKGUub3V0ZXJIZWlnaHQoKSk7dC5jc3Moe3RvcDotb30pLHRoaXMuJGNvbnRlbnQuY3NzKHt0b3A6b30pLHRoaXMuX3RhYmxlLiRlbGVtZW50LmNzcyh7dG9wOi1vLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KX07KFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlfHx0aGlzLl9vbldpZGdldCkmJnIoKSx0aGlzLiRjb250ZW50Lm9uKCJzY3JvbGwiLCgoKT0+eygwLGkuaGlkZSkoKSxBaS5Qb3B1cENvbG9yU2VsZWN0b3IuaGlkZSgpLCgwLEtvLmlzUnRsKSgpP2UuY3NzKCJyaWdodCIsLSh0aGlzLiRjb250ZW50WzBdLnNjcm9sbFdpZHRoLXRoaXMuJGNvbnRlbnRbMF0uY2xpZW50V2lkdGgtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkodGhpcy4kY29udGVudFswXSkpKTplLmNzcygibGVmdCIsLXRoaXMuJGNvbnRlbnQuc2Nyb2xsTGVmdCgpKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJmUuY3NzKHt0b3A6MH0pfSkpLFRyYWRpbmdWaWV3Lm9uQ2hhcnRQYWdlJiZycyhkb2N1bWVudCkub24oInNjcm9sbCIsKCgpPT57d2luZG93LmlubmVyV2lkdGg8PWZvLmJyZWFrcG9pbnRzLnRhYmxldCYmKG89dGhpcy4kY29udGVudC5nZXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPDApLGUudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlci0tc3RhbmRhbG9uZV9zdGlja3kiLG8pLG4hPT1vJiZlLmNzcyh7bGVmdDpvPy10aGlzLiRjb250ZW50LnNjcm9sbExlZnQoKTowfSksbj1vfSkpfXRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzfHwodGhpcy4kaGVhZGVyRmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1zdGlja3ktaGVhZGVyLXdyYXBwZXJfX2ZpZWxkcy1idXR0b24gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzkwNjUpKX0iPlxuXHRcdFx0XHQke28oODkzMjUxKX1cblx0XHRcdDwvZGl2PmApLmFwcGVuZFRvKGUpLHRoaXMuJGhlYWRlckZpZWxkc0J1dHRvbi5hdHRyKHsiZGF0YS1uYW1lIjoiaGVhZGVyX2ZpZWxkcy1idXR0b24ifSksCnRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRoZWFkZXJGaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXN0aWNreS1oZWFkZXItd3JhcHBlcl9fZmllbGRzLWJ1dHRvbi13cmFwIiwidHYtZHJvcGRvd25fX2JvZHktLXBvc2l0aW9uX3JpZ2h0IikpLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnNob3coKX0pLCEwKX1fc2hvd1NwaW5uZXIoZT10aGlzLiRsb2FkaW5nU2NyZWVuKXtlLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lcnx8KHRoaXMuX3NwaW5uZXJUaW1lb3V0SWQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9zcGlubmVyPShuZXcgVGkuU3Bpbm5lcikuc3BpbihlLmdldCgwKSl9KSwxMDApKX1faGlkZVNwaW5uZXIoKXt0aGlzLiRsb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuLmFkZENsYXNzKCJqcy1oaWRkZW4iKSxjbGVhclRpbWVvdXQodGhpcy5fc3Bpbm5lclRpbWVvdXRJZCksdGhpcy5fc3Bpbm5lciYmKHRoaXMuX3NwaW5uZXIuc3RvcCgpLGRlbGV0ZSB0aGlzLl9zcGlubmVyKX1fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCl7cmV0dXJuIHdpbmRvdy53aWRnZXRiYXI/KDAsU24uZ2V0V2lkZ2V0QmFyUGFkZGluZykod2luZG93LndpZGdldGJhci5yZXNpemVyQnJpZGdlLndpZHRoLnZhbHVlKCkpOjB9Zml4U3RhbmRhbG9uZVdpZHRoKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe3RoaXMuX2JyaWRnZS4kYm9keS5jc3MoeyJwYWRkaW5nLXJpZ2h0IjoiIiwicGFkZGluZy1sZWZ0IjoiIn0pO2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy4kdG9vbGJhci53aWR0aChycyh3aW5kb3cpLndpZHRoKCktZSksdGhpcy5fJG1haW5IZWFkZXIuY3NzKHtbdF06ZX0pLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLl90YWJsZSYmdGhpcy5fdGFibGUuXyRlbXB0eU1lc3NhZ2UmJiEoMCxBbi5pc01hcmtldFBhZ2UpKHRoaXMuX21vZGVsLl9icmlkZ2UpJiZ0aGlzLl90YWJsZS5fJGVtcHR5TWVzc2FnZS5jc3Moe3dpZHRoOmBjYWxjKDEwMCUgLSAke2V9cHhgfSksdGhpcy53aWR0aENoYW5nZS5maXJlKCl9fWZpeFN0YW5kYWxvbmVIb3Jpem9udGFsU2Nyb2xsKCl7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IGU9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksdD10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpKygoMCxLby5pc1J0bCkoKT8wOmUpLG89cnMod2luZG93KS53aWR0aCgpPHQsaT0oMCxLby5pc1J0bCkoKT8icGFkZGluZy1sZWZ0IjoicGFkZGluZy1yaWdodCI7dGhpcy5fYnJpZGdlLiRib2R5LmNzcyh7W2ldOm8/dDoiIn0pLHRoaXMuJHRvb2xiYXIud2lkdGgocnMod2luZG93KS53aWR0aCgpLWUpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX19cHJlcGFyZUxheW91dCgpe3RoaXMuX2JyaWRnZS4kYm9keS5hZGRDbGFzcygidHYtc2NyZWVuZXIiKyh0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLS1zdGFuZGFsb25lIjoiIikpLHRoaXMuJGxvYWRpbmdTY3JlZW49cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbiR7dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJiF0aGlzLl9icmlkZ2UudGFibGVfbG9hZGluZ19zY3JlZW4/IiB0di1zY3JlZW5lcl9fbG9hZGluZy1zY3JlZW4tLXN0YW5kYWxvbmUiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyJHt0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT8iIHR2LXNjcmVlbmVyLXRvb2xiYXItLXN0YW5kYWxvbmUiOiIifSAke3RoaXMuX2Rpc2FibGVTdGlja3lIZWFkZXI/InR2LXNjcmVlbmVyLXRvb2xiYXItLW1hcmtldHMiOiIifSI+YCkuYXBwZW5kVG8odGhpcy5fYnJpZGdlLiRib2R5KSx0aGlzLiR0b29sYmFyLm9uKCJjb250ZXh0bWVudSIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX0pKSxycygiLnR2LXNjcmVlbmVyX19jb250ZW50LXBhbmUiKS5yZW1vdmUoKSx0aGlzLiRjb250ZW50PXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIiB0YWJpbmRleD0iMTAwIj4nKS5kYXRhKHtsb2NhbFNjcm9sbDohdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmV9KS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuJGNvbnRlbnQub24oImNvbnRleHRtZW51IiwoZnVuY3Rpb24oZSl7ZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0di1zY3JlZW5lcl9fY29udGVudC1wYW5lIikmJmUucHJldmVudERlZmF1bHQoKX0pKSx0aGlzLiRib3R0b21Mb2FkaW5nU2NyZWVuPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lcl9fYm90dG9tLWxvYWRpbmctc2NyZWVuIj4nKS5hcHBlbmRUbyh0aGlzLl9icmlkZ2UuJGJvZHkpLHRoaXMuXyRtYWluQ29udGFpbmVyPXJzKCIudHYtc2NyZWVuZXJfX3N0YW5kYWxvbmUtbWFpbi1jb250YWluZXIiKSx0aGlzLl8kbWFpbkhlYWRlcj10aGlzLl8kbWFpbkNvbnRhaW5lci5maW5kKCIudHYtaGVhZGVyIiksdGhpcy5fb25XaWRnZXR8fCh0aGlzLiRyZWZyZXNoQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1yZWZyZXNoIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzNzM3MjIpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5OTcwKSkuYXR0cih7CmNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tc3RhbmRhbG9uZS1yZWZyZXNoIix3aWR0aDoiMTgiLGhlaWdodDoiMTgifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJHJlZnJlc2hDb3VudGVyPXJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fcmVmcmVzaC1jb3VudGVyIj4nKS50ZXh0KCIwMDowMCIpLmFwcGVuZFRvKHRoaXMuJHJlZnJlc2hCdXR0b24pLHRoaXMuJHJlZnJlc2hJbnRlcnZhbEJ1dHRvbj1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uIHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg3ODI2MzQpKX0iPjwvZGl2PmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1yZWZyZXNoLWludGVydmFsIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDg5MzI1MSkpLmF0dHIoe3dpZHRoOjMsaGVpZ2h0OjEzLGNsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiIsc3R5bGU6InRvcDogLTFweCJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhcikpO2NvbnN0IGU9dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSx0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFuaW1hdGVkXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtb3B0aW9ucyB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd25cblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0td2l0aC1zdGF0ZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCBqcy1maWVsZC1zZXRzIiB0aXRsZT0iICR7Xy50KG51bGwsdm9pZCAwLG8oMzMyNjA5KSl9Ij5cblx0XHRcdFx0JHt0P3QudGl0bGU6IiJ9XG5cdFx0XHQ8L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmllbGQtc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmllbGQtc2V0IjplfSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksdGhpcy4kZmllbGRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1vcHRpb25zXG5cdFx0XHR0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNxdWFyZSBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZFxuXHRcdFx0dHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1zcGFjZV9yaWdodCIgdGl0bGU9IiAke18udChudWxsLHZvaWQgMCxvKDU3OTA2NSkpfSI+YCkuYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLWZpZWxkcyIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KS5hcHBlbmQocnMobyg3OTAwODApKS5hdHRyKHtjbGFzczoidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLWljb24ifSkpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZhdm9yaXRlc0Jhcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKSx0aGlzLiRwZXJpb2RQaWNrZXI9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX3BlcmlvZC1waWNrZXIiPicpLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpO2NvbnN0IGk9ZnNbdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZV07aSYmKHRoaXMuX2NyZWF0ZVN3aXRjaChpKSx0aGlzLiR0b29sYmFyLmFkZENsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyLS1vbmUtbGluZSIpKTtjb25zdCBuPXRoaXMuX21vZGVsLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHI9dGhpcy5fbW9kZWwuZ2V0RmlsdGVyU2V0QnlJZChuKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uPXJzKGA8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLW9wdGlvbnNcblx0XHRcdHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGVcblx0XHRcdGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGpzLWZpbHRlci1zZXRzIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg1NzAzNDMpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItc2V0cyIsImRhdGEtcm9sZSI6ImJ1dHRvbiIsImRhdGEtZmlsdGVyLXNldCI6bn0pLmFwcGVuZFRvKHRoaXMuJHRvb2xiYXIpLHRoaXMuJGZpbHRlclNldHNCdXR0b25UaXRsZT1ycyhgPHNwYW4+JHtyP3IudGl0bGU6IiJ9PC9zcGFuPmApLmFwcGVuZFRvKHRoaXMuJGZpbHRlclNldHNCdXR0b24pLHRoaXMuJGZpbHRlcnNCdXR0b249cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLW9wdGlvbnMgdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1maWx0ZXJzIGFwcGx5LWNvbW1vbi10b29sdGlwIGktZGlzYWJsZWQgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDEwMzQ4NikpfSI+JHtfLnQobnVsbCx2b2lkIDAsbygxNDE3MjcpKX08L2Rpdj5gKS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZmlsdGVyIiwiZGF0YS1yb2xlIjoiYnV0dG9uIn0pLmFwcGVuZChycyhvKDYwODA2NSkpLmF0dHIoe2NsYXNzOiJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24taWNvbi0tZmlsdGVycyJ9KSkuYXBwZW5kVG8odGhpcy4kdG9vbGJhciksCnRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0aGlzLiRmaWx0ZXJzQnV0dG9uLnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIil9KSwhMCk7Y29uc3Qgcz1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmlsdGVyLWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5zaG93QWN0aXZlRmlsdGVycygpLCgwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBwaSgiZmlsdGVyX2NvdW50ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtpZih0aGlzLiRmaWx0ZXJDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygxNTc1MzgpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1maWx0ZXItY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8ocyksdGhpcy5fdGFibGUuJGVsZW1lbnQuYXBwZW5kVG8odGhpcy4kY29udGVudCksdGhpcy5pbml0SGFuZGxlcnMoKSx0aGlzLl9icmlkZ2Uuc2VsZWN0aW9uX2Rpc2FibGVkfHx0aGlzLl9pbml0U2VsZWN0YWJsZUxpc3QoKSx0aGlzLl9vbldpZGdldCYmdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMmJih0aGlzLl9jb250ZW50UGFkZGluZz10aGlzLiRjb250ZW50LmlubmVySGVpZ2h0KCktdGhpcy4kY29udGVudC5oZWlnaHQoKSx0aGlzLiRjb250ZW50LmNzcygiaGVpZ2h0IixgY2FsYygxMDAlIC0gJHt0aGlzLl9jb250ZW50UGFkZGluZ31weClgKSx0aGlzLiR0b29sYmFyLmhpZGUoKSksdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpW3RoaXMuJHJlZnJlc2hCdXR0b24sdGhpcy4kcmVmcmVzaEludGVydmFsQnV0dG9uLHRoaXMuJGZpZWxkU2V0c0J1dHRvbix0aGlzLiRmaWVsZHNCdXR0b24sdGhpcy4kZmlsdGVyU2V0c0J1dHRvbix0aGlzLiRmaWx0ZXJzQnV0dG9uLHRoaXMuJGZpbHRlckNvdW50XS5mb3JFYWNoKChlPT57ZSYmZS5oaWRlKCl9KSksdGhpcy5fb25XaWRnZXQmJih0aGlzLl9icmlkZ2UuJGJvZHkuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLS1oaWRkZW4tdG9vbGJhciIpLHRoaXMuJGxvYWRpbmdTY3JlZW4uYWRkQ2xhc3MoInR2LXNjcmVlbmVyX19sb2FkaW5nLXNjcmVlbi0taGlkZGVuLXRvb2xiYXIiKSk7ZWxzZXt0aGlzLl9vbldpZGdldHx8KHRoaXMuXyRzZWxlY3RJbnRlcnZhbEJ1dHRvbj10aGlzLmFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOnRoaXMuJGZpbHRlclNldHNCdXR0b259KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItdGltZS1pbnRlcnZhbCIsImRhdGEtcm9sZSI6ImJ1dHRvbiJ9KSk7Y29uc3QgZT10aGlzLmFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTp0aGlzLiRmaWx0ZXJTZXRzQnV0dG9ufSksdD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fbWFya2V0LWNvdW50LXdyYXAiPicpLm9uKCJjbGljayIsKCgpPT57dGhpcy5fc2hvd01hcmtldHNEaWFsb2coKX0pKTt0aGlzLiRtYXJrZXRDb3VudD1ycyhgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ZpbHRlci1jb3VudCB0di1zY3JlZW5lci10b29sYmFyX19maWx0ZXItY291bnQtLW1hcmtldC1jb3VudCBqcy1oaWRkZW4gYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtdmVydGljYWwgY29tbW9uLXRvb2x0aXAtb3RsIiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbygzOTQwMzkpKX0iPmApLmF0dHIoeyJkYXRhLW5hbWUiOiJzY3JlZW5lci1tYXJrZXQtY291bnQiLCJkYXRhLXJvbGUiOiJidXR0b24ifSkuYXBwZW5kVG8odCkscnMoZSkuYWZ0ZXIodCksdGhpcy5fJGdyb3VwU2VsZWN0QnV0dG9uPXRoaXMuYWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6dGhpcy4kZmlsdGVyU2V0c0J1dHRvbn0pLHRoaXMuX3BvcHVwcy5zZXRGaWVsZHNQb3B1cCh0aGlzLiRmaWVsZHNCdXR0b24sInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi13cmFwIiksdGhpcy5fcG9wdXBzLnNldEZpZWxkU2V0c1BvcHVwKHRoaXMuJGZpZWxkU2V0c0J1dHRvbiksdGhpcy5fcG9wdXBzLnNldEZpbHRlclNldHNQb3B1cCh0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uKSx0aGlzLl9vbldpZGdldHx8dGhpcy5fcG9wdXBzLnNldFJlZnJlc2hJbnRlcnZhbHNQb3B1cCh0aGlzLiRyZWZyZXNoSW50ZXJ2YWxCdXR0b24pfXZhciBhOyhhPXRoaXMuX21vZGVsLnRpbWV6b25lKSYmYSE9PXhlJiYoeGU9YSksdGhpcy5fcGVyaW9kUGlja2VyPyhXdCgpLHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9InRvZGF5Iix0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZCh0aGlzLl9zZWxlY3RlZFBlcmlvZElkKSx0aGlzLnVwZGF0ZVBlcmlvZFBpY2tlcigpLHRoaXMuJGZhdm9yaXRlc0Jhci5oaWRlKCksSXQuZWFybmluZ3NfcmVsZWFzZV9uZXh0X2RhdGUub25GaWx0ZXJDaGFuZ2U9ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kKCh0PT50LnRpdGxlPT09ZSkpO3RoaXMuY2hhbmdlRWFybmluZ3NQZXJpb2QodD90LmlkOiIiLCEwKX0pOnRoaXMuJHBlcmlvZFBpY2tlci5oaWRlKCksdGhpcy5fc2hvd1NwaW5uZXIoKSx0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5vblJlc2l6ZVRvb2xiYXIoKX1vblJlc2l6ZVRvb2xiYXIoKXtpZih0aGlzLl9kaXNhYmxlU3RpY2t5SGVhZGVyKXJldHVybjtpZih0aGlzLl90YWJsZS4kc3RpY2t5SGVhZGVyLnBvc2l0aW9uKCkudG9wPDApcmV0dXJuO2NvbnN0IGU9TWF0aC5yb3VuZCh0aGlzLiR0b29sYmFyLm91dGVySGVpZ2h0KCkpOygwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzP3RoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6MH0pOnRoaXMuX3RhYmxlLiRzdGlja3lIZWFkZXIuY3NzKHt0b3A6ZX0pfQpzaG93TWFpbnRlbmFuY2UoKXt0aGlzLl9icmlkZ2UuJGJvZHkuaHRtbChgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXJfX21haW50ZW5hbmNlIj4ke18udChudWxsLHZvaWQgMCxvKDMzMjg1NSkpfTwvZGl2PmApfWluaXRIYW5kbGVycygpe3RoaXMuJHRvb2xiYXIub24oImhvdmVyIix0aGlzLmFkanVzdFRvb2xiYXJXaWR0aC5iaW5kKHRoaXMpKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oInRyYW5zaXRpb25lbmQiLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMuYmluZCh0aGlzKSk7Y29uc3QgZT1lPT57Y29uc3QgdD1lLmRhdGEoImZpZWxkIik7aWYoITE9PT1JdFt0XS5zb3J0YWJsZUNvbHVtbilyZXR1cm47Y29uc3Qgbz10aGlzLl9tb2RlbC5fc29ydEZpZWxkLnZhbHVlKCksaT10aGlzLl9tb2RlbC5fc29ydERpcmVjdGlvbi52YWx1ZSgpO0l0W3RdLmRpc2FibGVIZWFkZXJDb250cm9sfHwobz09PXQmJnRoaXMuX21vZGVsLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKCJhc2MiPT09aT8iZGVzYyI6ImFzYyIpLHRoaXMuX21vZGVsLl9zb3J0RmllbGQuc2V0VmFsdWUodCksdGhpcy5fbW9kZWwudXBkYXRlKCkpfTtpZih3by5tb2JpbGV0b3VjaCl7KG5ldyBGaSkubG9hZCgpLnRoZW4oKHQ9Pntjb25zdCBvPW5ldyB0KHJzKCIudHYtc2NyZWVuZXIiKVswXSx7dG91Y2hBY3Rpb246ImF1dG8ifSk7by5nZXQoInByZXNzIikuc2V0KHt0aW1lOjUwMH0pLG8ub24oInByZXNzIiwoZT0+e2NvbnN0IHQ9cnMoZS50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtpZih0Lmxlbmd0aCl7R3Ioe3ZpZXc6dGhpcyxmaWVsZEtleTpycyh0KS5kYXRhKCJmaWVsZCIpLGU6ZS5zcmNFdmVudH0pfWUucHJldmVudERlZmF1bHQoKX0pKSxvLm9uKCJ0YXAiLCh0PT57aWYocnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1zZWFyY2gtaW5wdXQiKS5sZW5ndGgpcmV0dXJuO2NvbnN0IG89cnModC50YXJnZXQpLmNsb3Nlc3QoIi5qcy1oZWFkLXdyYXAiKTtvLmxlbmd0aCYmZShvKX0pKX0pKX1lbHNlIHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaGVhZC13cmFwIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KTtlKG8pLHQuc3RvcFByb3BhZ2F0aW9uKCl9KSkub24oImNvbnRleHRtZW51IiwiLmpzLWhlYWQtd3JhcCIsKGU9PntHcih7dmlldzp0aGlzLGZpZWxkS2V5OnJzKGUuY3VycmVudFRhcmdldCkuZGF0YSgiZmllbGQiKSxlfSksZS5wcmV2ZW50RGVmYXVsdCgpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtZmlsdGVyLWJ1dHRvbiIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuY2xvc2VzdCgidGgiKSxvPXQuZGF0YSgiZmllbGQiKTt0aGlzLnNob3dJbnBsYWNlRWRpdG9yKG8sdCksZS5zdG9wUHJvcGFnYXRpb24oKX0pKTtycygiLnR2LXNjcmVlbmVyIikub24oImNsaWNrIiwiLmpzLXNlYXJjaC1pbnB1dCIsKGU9PntlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHJzKCIudHYtc2NyZWVuZXIiKS5vbigiY2xpY2siLCIuanMtaW5wdXQtcmVzZXQiLChlPT57cnMoZS5jdXJyZW50VGFyZ2V0KS5hZGRDbGFzcygiaS1oaWRkZW4iKSxycygiLnR2LXNjcmVlbmVyIikuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksSXRbdGhpcy5fbW9kZWwuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlPSIiLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGUuc3RvcFByb3BhZ2F0aW9uKCl9KSkscnMoIi50di1zY3JlZW5lciIpLm9uKCJjbGljayIsIi5qcy1maWx0ZXItYnV0dG9uIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5jbG9zZXN0KCJ0aCIpLG89dC5kYXRhKCJmaWVsZCIpO3RoaXMuc2hvd0lucGxhY2VFZGl0b3Iobyx0KSxlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHRoaXMuX2JyaWRnZS50YWJsZV9jb250ZXh0X21lbnVfZGlzYWJsZWR8fHRoaXMuX2luaXRUYWJsZUNvbnRleHRNZW51KCksdGhpcy4kY29udGVudC5vbigic2Nyb2xsdG9lbmQiLChlPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5fbW9kZWwudXBkYXRlKG51bGwsITApfSkpLHRoaXMuJHJlZnJlc2hCdXR0b24mJnRoaXMuJHJlZnJlc2hCdXR0b24uY2xpY2soKGU9PnsoMCxmbi5ydW5PclNpZ25JbikoKCgpPT57dGhpcy5fbW9kZWwubG9hZGluZ3x8dGhpcy5yZWZyZXNoKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHNpKX0pLHtzb3VyY2U6IlNjcmVlbmVyIHJlZnJlc2ggYnV0dG9uIn0pfSkpLHRoaXMuJGZpbHRlcnNCdXR0b24uY2xpY2soKCgpPT57dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHBpKCJmaWx0ZXJfYnV0dG9uIix0aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCkpKX0pKSxzcy5wcm9TeW1ib2wuc3Vic2NyaWJlKChlPT57Y29uc3QgdD10aGlzLiRjb250ZW50LmZpbmQoYFtkYXRhLXN5bWJvbD0iJHtlfSJdYCkuZ2V0KDApO3RoaXMuX3NldEFjdGl2ZUVsZW0odCksdGhpcy5fc2VsZWN0YWJsZUxpc3QmJih0P3RoaXMuX3NlbGVjdGFibGVMaXN0LmZvY3VzSXRlbSh0KTp0aGlzLl9zZWxlY3RhYmxlTGlzdC5jbGVhcigpKX0pKSx0aGlzLiRmaWVsZFNldHNCdXR0b24ub24oImNsaWNrIiwoKCk9Pnt0aGlzLl9sYXN0U2V0SWQ9bnVsbH0pKSx0aGlzLiR0b29sYmFyLm9uKCJjbGljayIsIi5qcy1mYXZvcml0ZS1pdGVtIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5hdHRyKCJkYXRhLXNldCIpO3RoaXMuX2xhc3RTZXRJZCE9PXQmJih0aGlzLl9tb2RlbC5wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCksdGhpcy51cGRhdGVTZXRJZCh0LCExLHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKSksKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IFpvKCJjb2x1bW5zZXRfZmF2b3JpdGVzX3BpY2tlciIsdCkpfSkpLHRoaXMuJHRvb2xiYXIub24oImNsaWNrIiwiLmpzLXBlcmlvZC1waWNrZXItaXRlbSIsKGU9Pntjb25zdCB0PXJzKGUuY3VycmVudFRhcmdldCkuYXR0cigiZGF0YS1wZXJpb2QiKTt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSkpLApycyh3aW5kb3cpLnJlc2l6ZSgoZT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLndpZHRoJiZ0aGlzLl9icmlkZ2Uud2lkdGguc3Vic2NyaWJlKCgoKT0+dGhpcy51cGRhdGVUb29sYmFyQnV0dG9ucygpKSksdGhpcy5fYnJpZGdlLnZpc2libGUmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+e2UmJih0aGlzLnVwZGF0ZVRvb2xiYXJCdXR0b25zKCksdGhpcy5hZGp1c3RUb29sYmFyV2lkdGgoKSl9KSksdGhpcy51cGRhdGVGYXZvcml0ZXNUb29sYmFyKCl9X2luaXRUYWJsZUNvbnRleHRNZW51KCl7dGhpcy4kY29udGVudC5vbigiY29udGV4dG1lbnUiLCIudHYtc2NyZWVuZXItdGFibGVfX3Jlc3VsdC1yb3ciLChlPT57Y29uc3QgdD1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoInN5bWJvbCIpO3RoaXMuX3NlbGVjdGFibGVMaXN0JiZ0aGlzLl9zZWxlY3RhYmxlTGlzdC5mb2N1c0l0ZW0oZS5jdXJyZW50VGFyZ2V0KSxmdW5jdGlvbihlKXtjb25zdCB0PSgwLFZuLnRpY2tlcikoZS5zeW1ib2wpO3puKHsuLi5lLHNob3J0TmFtZTp0fSxRbixxbi5UYWJsZSl9KHt2aWV3OnRoaXMsc3ltYm9sOnQsZX0pLGUucHJldmVudERlZmF1bHQoKX0pKX1fb25TeW1ib2xzTmF2aWdhdGUoZSl7Y29uc3QgdD1lLmN1cnNvcjtpZih0KXtpZihUcmFkaW5nVmlldy5vbkNoYXJ0UGFnZSYmdGhpcy5fc2V0QWN0aXZlRWxlbSh0KSxbInNlY3RvciIsImluZHVzdHJ5Il0uaW5jbHVkZXModGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkpcmV0dXJuO2NvbnN0IGU9dC5kYXRhc2V0LnN5bWJvbDt0aGlzLl9jaGFuZ2VTeW1ib2woZSl9fV9jaGFuZ2VTeW1ib2woZSl7Y29uc3QgdD1zcy5wcmV2ZW50RmVlZEJ5U3ltYm9sO3NzLnNldFByZXZlbnRGZWVkQnlTeW1ib2woITApLHNzLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcihlLCJzY3JlZW5lciIpLHNzLnNldFByZXZlbnRGZWVkQnlTeW1ib2wodCksdGhpcy5fbW9kZWwudHJhY2tFdmVudCgiQ2hhbmdlIHN5bWJvbCBmcm9tIHRhYmxlIil9X3NldEFjdGl2ZUVsZW0oZSl7dGhpcy5fYWN0aXZlRWxlbSYmdGhpcy5fYWN0aXZlRWxlbS5jbGFzc0xpc3QucmVtb3ZlKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksZT8oZS5jbGFzc0xpc3QuYWRkKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tYWN0aXZlIiksdGhpcy5fYWN0aXZlRWxlbT1lKTp0aGlzLl9hY3RpdmVFbGVtPW51bGx9X29uU3ltYm9sQ29uZmlybShlKXtlLml0ZW1zLmZvckVhY2goKHQ9Pntjb25zdCBvPXQuZGF0YXNldC5zeW1ib2w7byYmdGhpcy5fbGlmZWN5Y2xlLmFmdGVyU3ltYm9sQ29uZmlybShvLGUuYWN0aW9uKX0pKX1jaGFuZ2VFYXJuaW5nc1BlcmlvZChlLHQ9ITEpe2lmKHRoaXMuX3NlbGVjdGVkUGVyaW9kSWQ9PT1lKXJldHVybjt0aGlzLl9zZWxlY3RlZFBlcmlvZElkPWUsdGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0Q29udGVudChtKTsidG9tb3Jyb3ciPT09ZXx8Im5leHRfd2VlayI9PT1lPyhJdC5lYXJuaW5nc19wZXJfc2hhcmVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCxJdC5lcHNfc3VycHJpc2VfcGVyY2VudF9mcS5tdXRhdGVEaXNwbGF5VmFsdWU9KCk9PnF0LEl0LnJldmVudWVfZnEubXV0YXRlRGlzcGxheVZhbHVlPSgpPT5xdCk6VXQoKSx0fHx0aGlzLl9zZXROZXdFYXJuaW5nc1BlcmlvZChlLCgoKT0+e3RoaXMuX3Jlc2V0RmllbGQoImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlIiksdGhpcy5fbW9kZWwucHJldmVudFByZXZTY2FuUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpfV9zZXROZXdFYXJuaW5nc1BlcmlvZChlLHQ9KCk9Pnt9KXtjb25zdCBvPUl0LmVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLnNvdXJjZVJhbmdlLmZpbmQoKHQ9PnQua2V5PT09ZSkpO28mJihJdC5lYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZS52YWx1ZT1vLm5hbWUsdCgpKX1nZXQgdG90YWxDb3VudCgpe3JldHVybiB0aGlzLl90b3RhbENvdW50fWdldCBpdGVtc0NvdW50KCl7cmV0dXJuIHRoaXMuX2l0ZW1zQ291bnR9c2V0IGl0ZW1zQ291bnQoZSl7dGhpcy5faXRlbXNDb3VudD0rZX1zZXQgbGFzdFNldElkKGUpe3RoaXMuX2xhc3RTZXRJZD1lfWdldCBwb3B1cHMoKXtyZXR1cm4gdGhpcy5fcG9wdXBzfWlzRW5kUmVhY2hlZCgpe3JldHVybiAwPT09dGhpcy5fZGF0YS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgdGhpcy5fdG90YWxDb3VudCYmdGhpcy5fZGF0YS5sZW5ndGg+PXRoaXMuX3RvdGFsQ291bnR9ZGlzcGxheShlLHQsbyl7aWYodGhpcy5faGlkZVNwaW5uZXIoKSx0aGlzLl9zZXRGaWx0ZXJzQ291bnQoKSx0aGlzLl9zZXRNYXJrZXRzQ291bnQoKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXVuc2F2ZWQiLHRoaXMuX21vZGVsLmlzRmlsdGVyU2V0Q2hhbmdlZCgpKSwhZXx8ZS5lcnJvcnx8IWUuZGF0YSYmIWUuc3ltYm9scykiYWJvcnQiIT09byYmKHRoaXMucmVzZXRJdGVtcygpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKFtdKSx0aGlzLl9yZXNldEZpZWxkKCJuYW1lIiksImVycm9yIj09PW8/bHMubG9nRXJyb3IoZS5yZXNwb25zZVRleHR8fG8pOmUmJmUuZXJyb3ImJmxzLmxvZ0Vycm9yKGUuZXJyb3IpKTtlbHNle2xldCBvPWUuZGF0YXx8ZS5zeW1ib2xzO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7KytlKW9bZV0uZiYmKG9bZV0uZD1vW2VdLmYpO2lmKHZvaWQgMD09PXRoaXMuX3RvdGFsQ291bnQpdGhpcy5fYnJpZGdlLnRhYmxlX3N0eWxlfHx0aGlzLmZpeFN0YW5kYWxvbmVXaWR0aCgpLHRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pLHRoaXMuX2RhdGE9bztlbHNle2NvbnN0IGU9dGhpcy5fZ2V0SW52YWxpZGF0ZWRGcm9tKG8pOzA9PT1lPyh0aGlzLl9kYXRhPW8sCnRoaXMuX3RhYmxlLnNldENvbHVtbnNNYXAodCksdGhpcy5fdGFibGUudXBkYXRlKG8pKTooZT4wPyhvPW8uc2xpY2UoZSksdGhpcy5fZGF0YT10aGlzLl9kYXRhLnNsaWNlKDAsZSksdGhpcy5fdGFibGUuY2xlYXJEYXRhKGUpKTpvPW8uc2xpY2UodGhpcy5fZGF0YS5sZW5ndGgpLHRoaXMuX2RhdGE9dGhpcy5fZGF0YS5jb25jYXQobyksdGhpcy5fdGFibGUuc2V0Q29sdW1uc01hcCh0KSx0aGlzLl90YWJsZS5hcHBlbmQobykpfXNldFRpbWVvdXQoKCgpPT50aGlzLmhpZ2hsaWdodENoYW5nZXMoKSksMCksdGhpcy5fdG90YWxDb3VudD1lLnRvdGFsQ291bnQsdGhpcy5fcmVzZXRTZWFyY2hDb3VudCgpLHRoaXMuX21vZGVsLl9pbml0aWFsU29ydEZpZWxkJiYodGhpcy5fbW9kZWwuX3NvcnRGaWVsZC5zZXRWYWx1ZSh0aGlzLl9tb2RlbC5faW5pdGlhbFNvcnRGaWVsZCwhMCksdGhpcy5fbW9kZWwuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUodGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RGlyZWN0aW9uLCEwKSxkZWxldGUgdGhpcy5fbW9kZWwuX2luaXRpYWxTb3J0RmllbGQsZGVsZXRlIHRoaXMuX21vZGVsLl9pbml0aWFsU29ydERpcmVjdGlvbil9fV9nZXRJbnZhbGlkYXRlZEZyb20oZSl7Zm9yKGxldCB0PTA7dDx0aGlzLl9kYXRhLmxlbmd0aDsrK3Qpe2lmKCFlW3RdfHx0aGlzLl9kYXRhW3RdLnMhPT1lW3RdLnN8fCFlW3RdLmQpcmV0dXJuIHQ7Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhW3RdLmQubGVuZ3RoOysrbylpZih0aGlzLl9kYXRhW3RdLmRbb10hPT1lW3RdLmRbb10pcmV0dXJuIHR9cmV0dXJuLTF9Z2V0IHRhYmxlKCl7cmV0dXJuIHRoaXMuX3RhYmxlfXJlc2V0SXRlbXMoKXtkZWxldGUgdGhpcy5fdG90YWxDb3VudCx0aGlzLl9kYXRhPVtdfV9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jdXJyZW50RmlsdGVyU3RhdGUoKTtyZXR1cm4gZS5maWx0ZXJzJiZPYmplY3Qua2V5cyhlLmZpbHRlcnMpLmxlbmd0aHx8MH1fc2V0RmlsdGVyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9nZXRGaWx0ZXJzQ291bnRlclZhbHVlKCk7dGhpcy4kZmlsdGVyQ291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFlKX1fc2V0TWFya2V0c0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5tYXJrZXRzLmxlbmd0aDt0aGlzLiRtYXJrZXRDb3VudCYmdGhpcy4kbWFya2V0Q291bnQudGV4dChgJHtlfWApLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLDE9PT1lfHx0aGlzLl9tb2RlbC5pc0VudGlyZVdvcmxkKX1fY29uY2F0RmllbGRWYWx1ZXMoZSx0KXt2YXIgbz1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT57by5wdXNoKHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoZSx0KSl9KSksby5qb2luKCIsICIpfV9nZXRGaWVsZFZhbHVlRnJvbVJhbmdlVGl0bGVzKGUsdCxvPSExKXtyZXR1cm4gSXRbdF0ucmFuZ2VUaXRsZXMmJkl0W3RdLnJhbmdlVGl0bGVzW2VdP0l0W3RdLnJhbmdlVGl0bGVzW2VdW28/MTowXToic3RyaW5nIiE9dHlwZW9mIGU/IiI6ZX1maWVsZFZhbHVlU3RyaW5nKGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7aWYobXQodCl8fCExPT09dClyZXR1cm4iIjtpZigic2VsZWN0Ij09PUl0W2VdLmNvbnRyb2wpe2NvbnN0IGk9Xy50KG51bGwse3BsdXJhbDoie251bWJlcn0gaXRlbXMiLGNvdW50OnQubGVuZ3RoLGNvbnRleHQ6ImNvbWJvYm94X2lucHV0In0sbyg5ODM3NjQpKS5mb3JtYXQoe251bWJlcjp0Lmxlbmd0aH0pO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2A8c3BhbiB0aXRsZT0iJHt0aGlzLl9jb25jYXRGaWVsZFZhbHVlcyh0LGUpfSIgY2xhc3M9ImFwcGx5LWNvbW1vbi10b29sdGlwIj4ke2l9PC9zcGFuPmA6dGhpcy5fZ2V0RmllbGRWYWx1ZUZyb21SYW5nZVRpdGxlcyh0LGUsImRyIj09PXQmJiJuYW1lIj09PWUpfXJldHVybiJyYW5nZSI9PT1JdFtlXS5jb250cm9sP0FycmF5LmlzQXJyYXkodCk/dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSkrIiDigJMgIit0aGlzLl9yYW5nZVJpZ2h0VmFsdWUoZSk6IiI6InRvZ2dsZSI9PT1JdFtlXS5jb250cm9sPy0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKToiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fG10KHQub3BlcmF0b3IpfHxtdCh0LnZhbHVlKT8iIjoiaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5lcXVhbCsiICIrdC52YWx1ZVswXTotMWUxMDA9PT10LnZhbHVlWzBdfHx0aGlzLl9pc0xlc3NUaGVuTWluKHQudmFsdWVbMF0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVsxXToxZTEwMD09PXQudmFsdWVbMV18fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgodC52YWx1ZVsxXSxlKT9jcy5ncmVhdGVyKyIgIit0LnZhbHVlWzBdOnRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpKyIg4oCTICIrdGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpOiJub3RfaW5fcmFuZ2UiPT09dC5vcGVyYXRvcj90LnZhbHVlWzBdPT09dC52YWx1ZVsxXT9jcy5uZXF1YWwrIiAiK3QudmFsdWVbMF06LTFlMTAwPT09dC52YWx1ZVswXXx8dGhpcy5faXNMZXNzVGhlbk1pbih0LnZhbHVlWzBdLGUpP2NzLmdyZWF0ZXIrIiAiK3QudmFsdWVbMV06MWUxMDA9PT10LnZhbHVlWzFdfHx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHQudmFsdWVbMV0sZSk/Y3MubGVzcysiICIrdC52YWx1ZVswXTpgJHtjcy5ub3RfaW5fcmFuZ2V9ICR7dGhpcy5fcmFuZ2VMZWZ0VmFsdWUoZSl9IOKAkyAke3RoaXMuX3JhbmdlUmlnaHRWYWx1ZShlKX1gOmNzW3Qub3BlcmF0b3JdKyIgIisoIm51bWJlciI9PXR5cGVvZiB0LnZhbHVlP3QudmFsdWU6SXRbdC52YWx1ZV0udGl0bGUpfXVwZGF0ZVRvb2xiYXJCdXR0b25zKCl7dGhpcy5fYnJpZGdlLnBlcmlvZF9waWNrZXI/dGhpcy51cGRhdGVQZXJpb2RQaWNrZXIoKTp0aGlzLl9icmlkZ2Uub3JpZ2luYWxTdGFuZGFsb25lJiZ0aGlzLnVwZGF0ZU9sZEZhdm9yaXRlc1Rvb2xiYXIoKX11cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCl7CnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAmJnRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAuaGlkZSgpLHRoaXMuJGZhdm9yaXRlc0Jhci5maW5kKCIuanMtZmF2b3JpdGUtaXRlbSIpLnJlbW92ZSgpO2xldCBlPTA7dGhpcy5oaWRkZW5GYXZvcml0ZXM9W107Y29uc3QgdD10aGlzLiRmYXZvcml0ZXNCYXIud2lkdGgoKSxpPSJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlfHx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scz80MDoxNjAsbj1lPT5lPT09dGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKTtpZih0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cyl7bGV0IG89bnVsbDtmb3IobGV0IHI9MDtyPHRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aDsrK3Ipe2NvbnN0IHM9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbcl0sYT10aGlzLl9tb2RlbC5nZXRGaWVsZFNldEJ5SWQocyk7aWYoIWEpcmV0dXJuO2NvbnN0IGw9cnMoYDxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLXRvb2xiYXJfX2Zhdm9yaXRlcy1pdGVtIGpzLWZhdm9yaXRlLWl0ZW0iIGRhdGEtc2V0PSIke2EuaWR9Ij5cblx0XHRcdFx0XHQkeygwLEVpLmh0bWxFc2NhcGUpKGEudGl0bGUpfVxuXHRcdFx0XHQ8L2Rpdj5gKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0tLWFjdGl2ZSIsbihhLmlkKSk7bz9sLmluc2VydEFmdGVyKG8pOmwucHJlcGVuZFRvKHRoaXMuJGZhdm9yaXRlc0Jhcik7bGV0IGM9bC5vdXRlcldpZHRoKCk7bFswXS5zY3JvbGxXaWR0aD5jJiZsLmFkZENsYXNzKCJhcHBseS1jb21tb24tdG9vbHRpcCIpLmF0dHIoInRpdGxlIixhLnRpdGxlKSxjKz05LGUrPWMsZStpPnQ/KGUtPWMsbC5yZW1vdmUoKSx0aGlzLmhpZGRlbkZhdm9yaXRlcy5wdXNoKHtpZDphLmlkLHRpdGxlOmEudGl0bGV9KSk6bz1sfX1pZih0aGlzLmhpZGRlbkZhdm9yaXRlcy5sZW5ndGgpe2lmKHRoaXMuaGlkZGVuRmF2b3JpdGVzLmxlbmd0aD09PXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmxlbmd0aCYmdGhpcy4kaGlkZGVuRmF2b3JpdGVzQnV0dG9uV3JhcClyZXR1cm4gdm9pZCB0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwLmhpZGUoKTtpZih0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwKXRoaXMuJGhpZGRlbkZhdm9yaXRlc0J1dHRvbldyYXAudHJpZ2dlcigicmVzZXRDb250ZW50Iikuc2hvdygpO2Vsc2V7Y29uc3QgZT1ycyhgPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLWl0ZW0gdHYtc2NyZWVuZXItdG9vbGJhcl9fZmF2b3JpdGVzLW1vcmUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQiIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDI2MDYwNSkpfSI+YCkuYXBwZW5kVG8odGhpcy4kZmF2b3JpdGVzQmFyKTt0aGlzLiRoaWRkZW5GYXZvcml0ZXNCdXR0b25XcmFwPXRoaXMuX3BvcHVwcy5zZXRIaWRkZW5GYXZvcml0ZXNQb3B1cChlLCgoKT0+dGhpcy5oaWRkZW5GYXZvcml0ZXMpLG4sKGU9PnRoaXMudXBkYXRlU2V0SWQoZSwhMSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scykpKX19fXVwZGF0ZVNldElkKGUsdCxvKXt0aGlzLl9sYXN0U2V0SWQ9ZSx0aGlzLl9tb2RlbC5hcHBseUZpZWxkU2V0KGUsdCxvKX11cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCl7aWYoIXRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzKXJldHVybjtjb25zdCBlPXtpdGVtczp0aGlzLl9tb2RlbC5mYXZvcml0ZUZpZWxkU2V0cy5tYXAoKGU9Pih7dGl0bGU6dGhpcy5fbW9kZWwuZ2V0RmllbGRTZXRCeUlkKGUpLnRpdGxlfSkpKSxhY3RpdmVJdGVtOnRoaXMuX21vZGVsLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YodGhpcy5fbW9kZWwuY3VycmVudEZpZWxkU2V0SWQoKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fbW9kZWwuZmF2b3JpdGVGaWVsZFNldHNbZV07dGhpcy5fbGFzdFNldElkIT09dCYmKHRoaXMuX21vZGVsLnByZXZlbnRQcmV2U2NhblJlcXVlc3QoKSx0aGlzLnVwZGF0ZVNldElkKHQsITEsdGhpcy5fYnJpZGdlLmhpZGVfY29udHJvbHMpKX0sY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10b29sYmFyX19uby1zY3JvbGwtY2hvaWNlci1yZWFjdC1yb290IixzZWxlY3RlZEl0ZW1DbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QtZHJvcGRvd24taXRlbS0tc2VsZWN0ZWQifTt2bih0aGlzLiRmYXZvcml0ZXNCYXIuZ2V0KDApLGUpfXVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKXt0aGlzLl9vbldpZGdldHx8KHRoaXMuX2JyaWRnZS5vcmlnaW5hbFN0YW5kYWxvbmU/dGhpcy51cGRhdGVPbGRGYXZvcml0ZXNUb29sYmFyKCk6dGhpcy51cGRhdGVOZXdGYXZvcml0ZXNUb29sYmFyKCkpfXVwZGF0ZVBlcmlvZFBpY2tlcigpe2NvbnN0IGU9e2l0ZW1zOnRoaXMuX3BlcmlvZFBpY2tlckJ1dHRvbnMubWFwKChlPT4oe3RpdGxlOmUudGl0bGV9KSkpLGFjdGl2ZUl0ZW06dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9ucy5maW5kSW5kZXgoKGU9PmUuaWQ9PT10aGlzLl9zZWxlY3RlZFBlcmlvZElkKSksb25TZWxlY3Q6ZT0+e2NvbnN0IHQ9dGhpcy5fcGVyaW9kUGlja2VyQnV0dG9uc1tlXS5pZDt0aGlzLmNoYW5nZUVhcm5pbmdzUGVyaW9kKHQpfSxjbGFzc05hbWU6InR2LXNjcmVlbmVyLXRvb2xiYXJfX25vLXNjcm9sbC1jaG9pY2VyLXJlYWN0LXJvb3QiLHNlbGVjdGVkSXRlbUNsYXNzTmFtZToidHYtc2NyZWVuZXItdG9vbGJhcl9fbm8tc2Nyb2xsLWNob2ljZXItcmVhY3Qtcm9vdC1kcm9wZG93bi1pdGVtLS1zZWxlY3RlZCJ9O3ZuKHRoaXMuJHBlcmlvZFBpY2tlci5nZXQoMCksZSl9X2dldFdhdGNobGlzdCgpe2lmKHdpbmRvdy53aWRnZXRiYXIpe2NvbnN0IHQ9d2luZG93LndpZGdldGJhci5zZXRQYWdlKCJiYXNlIik7bGV0IG87Zm9yKHZhciBlPTA7ZTx0LndpZGdldHMubGVuZ3RoO2UrKylpZigid2F0Y2hsaXN0Ij09PXQud2lkZ2V0c1tlXS50eXBlKXtvPXQud2lkZ2V0c1tlXS53aWRnZXRPYmplY3QKO2JyZWFrfXJldHVybiBvfXJldHVybiBudWxsfWFkanVzdFRvb2xiYXJXaWR0aChlKXtjb25zdCB0PXRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihlJiYibW91c2VlbnRlciI9PT1lLnR5cGUpdGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpO2Vsc2V7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLCJhdXRvIik7Y29uc3QgZT10aGlzLiRmaWVsZFNldHNCdXR0b25bMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy4kZmllbGRTZXRzQnV0dG9uLmNzcygid2lkdGgiLHQud2lkdGgpLHRoaXMuJGZpZWxkU2V0c0J1dHRvblswXS5vZmZzZXRXaWR0aCx0aGlzLiRmaWVsZFNldHNCdXR0b24uY3NzKCJ3aWR0aCIsZS53aWR0aCl9fWluaXRGaWx0ZXJIYW5kbGVycyhlKXtjb25zdCB0PWZ1bmN0aW9uKCl7Y29uc3QgZT17fSx0PWlpLlVzZXJBY3Rpb25TdGF0ZS5UeXBlO3JldHVybihvLGksbixyKT0+e2xldCBzPW47ZS5oYXNPd25Qcm9wZXJ0eShvKSYmKGVbb10uc3RhdGU9PT10JiYocz10KSxjbGVhclRpbWVvdXQoZVtvXS5zZW5kZXIpLG49PT1paS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2smJiExPT09aSl8fChlW29dPXtzdGF0ZTpzLHNlbmRlcjpzZXRUaW1lb3V0KCgoKT0+KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHlpKGkudG9TdHJpbmcoKSxuLG8scikpKSwxZTQpfSl9fSgpLG89KGUsdCk9PnQucmVkdWNlKCgodCxvKT0+KG89PT1lJiYoby09MSksdCs9TWF0aC5mbG9vcihvL2UvKDEvNCkpKSksIiIpO2Uub2ZmKCJjaGFuZ2Uub3AiKS5vbigiY2hhbmdlLm9wIiwic2VsZWN0LmpzLWZpbHRlci1vcGVyYXRvciIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlfHwoSXRbbl0udmFsdWU9e30pLEl0W25dLnZhbHVlLm9wZXJhdG9yPWkudmFsKCksdGhpcy5fcmVzZXRGaWVsZChuKSx0aGlzLl9tb2RlbC51cGRhdGUoKTtjb25zdHtvcGVyYXRvcjpyfT1JdFtuXS52YWx1ZSxzPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjt0KG4scixpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2sscyl9KSksZS5vZmYoImNoYW5nZS5vcC12YWwiKS5vbigiY2hhbmdlLm9wLXZhbCIsInNlbGVjdC5qcy1maWx0ZXItb3BlcmF0b3ItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCkse3ZhbHVlOm59PW8udGFyZ2V0LHI9aS5hdHRyKCJuYW1lIik7SXRbcl0udmFsdWV8fChJdFtyXS52YWx1ZT17fSksSXRbcl0udmFsdWUudmFsdWU9aS52YWwoKSx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpO2xldHtvcGVyYXRvcjpzfT1JdFtyXS52YWx1ZTtjb25zdCBhPWUuaGFzQ2xhc3MoInR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkIik/ImZpbHRlcl9kaWFsb2ciOiJjb2x1bW5zIjsiIiE9PW4mJihzKz0iLiIrbiksdChyLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpLGUub2ZmKCJ1cGRhdGUub3AtYXJiLXZhbCIpLm9uKCJ1cGRhdGUub3AtYXJiLXZhbCIsImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUiLChvPT57Y29uc3QgaT1ycyhvLnRhcmdldCksbj1pLmF0dHIoIm5hbWUiKTtJdFtuXS52YWx1ZXx8KEl0W25dLnZhbHVlPXt9KTtsZXQgcj0raS52YWwoKTtpc0Zpbml0ZShyKSYmIW10KGkudmFsKCkpfHwocj1udWxsKSxJdFtuXS52YWx1ZS52YWx1ZT1yLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3R7b3BlcmF0b3I6c309SXRbbl0udmFsdWUsYT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLHMsaWkuVXNlckFjdGlvblN0YXRlLkNsaWNrLGEpfSkpO2NvbnN0IGk9ZS5maW5kKCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1sZWZ0Iiksbj1lLmZpbmQoImlucHV0LmpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLXJpZ2h0Iikscj1lPT57Y29uc3QgdD1ycyhlLnRhcmdldCkuYXR0cigibmFtZSIpO0l0W3RdLnZhbHVlfHwoSXRbdF0udmFsdWU9e30pO2xldCBvPStpLnZhbCgpOyghaXNGaW5pdGUobyl8fG10KGkudmFsKCkpfHx0aGlzLl9pc0xlc3NUaGVuTWluKG8sdCl8fHRoaXMuX2lzR3JlYXRlclRoZW5NYXgobyx0KSkmJihvPS0xZTEwMCk7bGV0IHI9K24udmFsKCk7aWYoKCFpc0Zpbml0ZShyKXx8bXQobi52YWwoKSl8fHRoaXMuX2lzTGVzc1RoZW5NaW4ocix0KXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChyLHQpKSYmKHI9MWUxMDApLG8+cil7Y29uc3QgZT1vO289cixyPWV9SXRbdF0udmFsdWUudmFsdWU9W28scl0sLTFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMF0mJjFlMTAwPT09SXRbdF0udmFsdWUudmFsdWVbMV0mJihJdFt0XS52YWx1ZS52YWx1ZT0iIiksdGhpcy5fcmVzZXRGaWVsZCh0KSx0aGlzLl9tb2RlbC51cGRhdGUoKX07ZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIikub24oInVwZGF0ZS5vcC1iZXR3ZWVuLWxlZnQtdmFsIiwiaW5wdXQuanMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tbGVmdCIsciksZS5vZmYoInVwZGF0ZS5vcC1iZXR3ZWVuLXJpZ2h0LXZhbCIpLm9uKCJ1cGRhdGUub3AtYmV0d2Vlbi1yaWdodC12YWwiLCJpbnB1dC5qcy1maWx0ZXItb3BlcmF0b3ItYmV0d2Vlbi1yaWdodCIsciksZS5vZmYoImNoYW5nZS50b2dnbGUtdmFsIikub24oImNoYW5nZS50b2dnbGUtdmFsIiwiaW5wdXQuanMtZmlsdGVyLXRvZ2dsZSIsKG89Pntjb25zdCBpPXJzKG8udGFyZ2V0KSxuPWkuYXR0cigibmFtZSIpO0l0W25dLnZhbHVlPWkucHJvcCgiY2hlY2tlZCIpLHRoaXMuX3Jlc2V0RmllbGQobiksdGhpcy5fbW9kZWwudXBkYXRlKCk7Y29uc3Qgcj1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyI7dChuLGkucHJvcCgiY2hlY2tlZCIpLGlpLlVzZXJBY3Rpb25TdGF0ZS5DbGljayxyKQp9KSksZS5vZmYoImNsaWNrLnJlc2V0Iikub24oImNsaWNrLnJlc2V0IiwiLmpzLXJlc2V0IiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO3RoaXMucmVzZXRGaWx0ZXIodCl9KSk7bGV0IHM9IiI7ZS5vZmYoImtleWRvd24uZmlsdGVySW5wdXQiKS5vbigia2V5ZG93bi5maWx0ZXJJbnB1dCIsImlucHV0Om5vdCguanMtc2VhcmNoLWlucHV0KTpub3QoLmpzLWZpbHRlci1vcGVyYXRvci1hcmItdmFsdWUpIiwoZT0+e2NvbnN0IHQ9cnMoZS5jdXJyZW50VGFyZ2V0KTtzPXQudmFsKCl9KSksZS5vZmYoImtleXVwLmZpbHRlcklucHV0Iikub24oImtleXVwLmZpbHRlcklucHV0IiwiaW5wdXQ6bm90KC5qcy1zZWFyY2gtaW5wdXQpOm5vdCguanMtZmlsdGVyLW9wZXJhdG9yLWFyYi12YWx1ZSkiLChpPT57Y29uc3Qgbj1ycyhpLmN1cnJlbnRUYXJnZXQpLHI9bi5kYXRhKCJmaWVsZCIpLGE9bi5kYXRhKCJib3VuZCIpO2lmKHZvaWQgMD09PXJ8fHZvaWQgMD09PWF8fHM9PT1uLnZhbCgpKXJldHVybjtjb25zdCBsPVt0aGlzLnBhcnNlUmFuZ2VWYWx1ZShyLG4udmFsKCksYSksSXRbcl0udmFsdWU/SXRbcl0udmFsdWVbMS1hXTpJdFtyXS5yYW5nZVsxLWFdXS5zb3J0KHRoaXMuX21vZGVsLm51bWVyaWNTb3J0ZXIpLGM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhyLGwpO2lmKGUuZmluZChgLnR2LXNsaWRlcltkYXRhLWZpZWxkPSIke3J9Il1gKS5zbGlkZXIoInZhbHVlcyIsYyksSXRbcl0udmFsdWU9bCx0aGlzLl9yZXNldEZpZWxkKHIpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsbj1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxjKTt0KHIsbixpaS5Vc2VyQWN0aW9uU3RhdGUuVHlwZSxpKX19KSk7ZS5maW5kKCIudHYtc2xpZGVyIikub2ZmKCJzbGlkZWNoYW5nZSIpLm9uKCJzbGlkZWNoYW5nZSIsKChlLHQpPT57Y29uc3Qgbz1ycyhlLmN1cnJlbnRUYXJnZXQpLmRhdGEoImZpZWxkIik7SXRbb10udmFsdWVzPzA9PT10LnZhbHVlc1swXSYmdC52YWx1ZXNbMV09PT1JdFtvXS52YWx1ZXMubGVuZ3RoKzE/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT1bMD09PXQudmFsdWVzWzBdPy0xZTEwMDpwYXJzZUludChJdFtvXS52YWx1ZXNbdC52YWx1ZXNbMF0tMV0sMTApLHQudmFsdWVzWzFdPT09SXRbb10udmFsdWVzLmxlbmd0aCsxPzFlMTAwOnBhcnNlSW50KEl0W29dLnZhbHVlc1t0LnZhbHVlc1sxXS0xXSwxMCldOnQudmFsdWVzWzBdPT09SXRbb10ucmFuZ2VbMF0mJnQudmFsdWVzWzFdPT09SXRbb10ucmFuZ2VbMV0/SXRbb10udmFsdWU9bnVsbDpJdFtvXS52YWx1ZT10LnZhbHVlcyx0aGlzLl9yZXNldEZpZWxkKG8pLHRoaXMuX21vZGVsLnVwZGF0ZSgpfSkpLm9mZigic2xpZGUiKS5vbigic2xpZGUiLCgoZSx0KT0+e2NvbnN0IG89cnMoZS5jdXJyZW50VGFyZ2V0KSxpPW8uZGF0YSgiZmllbGQiKTtsZXQgbj10LnZhbHVlc1swXSxyPXQudmFsdWVzWzFdO2lmKG49PT1yKXJldHVybiExO0l0W2ldLnZhbHVlcyYmKG49MD09PXQudmFsdWVzWzBdP3RoaXMuX3JhbmdlTWluVmFsdWUoaSk6enQoSXRbaV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2ldLnZhbHVlc1t0LnZhbHVlc1swXS0xXSkscj10LnZhbHVlc1sxXT09PUl0W2ldLnZhbHVlcy5sZW5ndGgrMT90aGlzLl9yYW5nZU1heFZhbHVlKGkpOnp0KEl0W2ldLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtpXS52YWx1ZXNbdC52YWx1ZXNbMV0tMV0pKSx0LnZhbHVlPT09dC52YWx1ZXNbMF0/by5maW5kKCIudHYtc2xpZGVyX19sYWJlbC0tbGVmdCIpLnZhbChuKToodC52YWx1ZT09PXQudmFsdWVzWzFdfHxvLmZpbmQoIi50di1zbGlkZXJfX2xhYmVsLS1sZWZ0IikudmFsKG4pLG8uZmluZCgiLnR2LXNsaWRlcl9fbGFiZWwtLXJpZ2h0IikudmFsKHIpKX0pKS5vbigic2xpZGVjaGFuZ2UiLCgoaSxuKT0+e2NvbnN0IHI9cnMoaS5jdXJyZW50VGFyZ2V0KS5kYXRhKCJmaWVsZCIpO2lmKEl0W3JdLnZhbHVlcyl7Y29uc3QgaT1lLmhhc0NsYXNzKCJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZCIpPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIscz1vKEl0W3JdLnZhbHVlcy5sZW5ndGgrMSxuLnZhbHVlcyk7dChyLHMsaWkuVXNlckFjdGlvblN0YXRlLlNsaWRlLGkpfX0pKX1wYXJzZVJhbmdlVmFsdWUoZSx0LG8pe2lmKC0xIT09dC5pbmRleE9mKCI8IikpcmV0dXJuIEl0W2VdLnJhbmdlWzBdO2lmKC0xIT09dC5pbmRleE9mKCI+IikpcmV0dXJuIEl0W2VdLnJhbmdlWzFdO3Q9dC5yZXBsYWNlKC8lL2csIiIpO2xldCBpPXp0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLnBhcnNlKHQpO2lmKCFpLnJlcylyZXR1cm4gSXRbZV0ucmFuZ2Vbb107Y29uc3Qgbj1pLnZhbHVlfHwwPT09aS52YWx1ZT9pLnZhbHVlOmkucHJpY2U7cmV0dXJuIGk9TWF0aC5taW4oSXRbZV0ucmFuZ2VbMV0sTWF0aC5tYXgoSXRbZV0ucmFuZ2VbMF0sbikpLGl9YXBwcm94aW1hdGVTbGlkZXJWYWx1ZXMoZSx0KXtjb25zdCBvPVswLDBdLGk9W10uY29uY2F0KC0xZTEwMCxJdFtlXS52YWx1ZXMsMWUxMDApO2ZvcihsZXQgZT0wO2U8MjtlKyspZm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspTWF0aC5hYnModFtlXS1pW25dKTxNYXRoLmFicyh0W2VdLWlbb1tlXV0pJiYob1tlXT1uKTtyZXR1cm4gb311cGRhdGVGaWx0ZXJTZWFyY2goKXtjb25zdCBlPXRoaXMuX2RpYWxvZy4kZmllbGRTZWFyY2hJbnB1dC52YWwoKS50cmltKCkucmVwbGFjZSgvXixccyp8XHMqLCQvLCIiKS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccyosXHMqLyk7dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlci1maWVsZCIpLnJlbW92ZUNsYXNzKCJqcy1mb3VuZCIpO2NvbnN0IHQ9dGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXAuZmluZCgiLmpzLWZpbHRlcnMtd3JhcCIpLmdldCgwKTtlLmZvckVhY2goKGU9PnsKbGV0IG89ITE7Zm9yKGNvbnN0IGkgaW4gSXQpe2NvbnN0IG49QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoYC5qcy1maWx0ZXItZmllbGQtJHtpLnJlcGxhY2UoL1xXL2csIiIpfTpub3QoLmpzLWZvdW5kKWApKSxyPUt0KEl0W2ldKSxzPS0xIT09aS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSl8fEJvb2xlYW4ocikmJi0xIT09ci50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSk7cyYmKG89ITApLG4uZm9yRWFjaCgoZT0+e2UuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhcyksZS5jbGFzc0xpc3QudG9nZ2xlKCJqcy1mb3VuZCIscyl9KSl9b3x8MD09PWUubGVuZ3RofHwoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgdmkoZSkpfSkpfXNob3dBY3RpdmVGaWx0ZXJzKCl7aWYodGhpcy5fZGlhbG9nLiRmaWx0ZXJzUG9wdXApcmV0dXJuO2NvbnN0IGU9dGhpcy5fZGlhbG9nLl9nZXRBY3RpdmVGaWx0ZXJzKCk7dGhpcy5fZGlhbG9nLnNob3dGaWx0ZXJzRGlhbG9nKCEwKS50aGVuKCgoKT0+e3RoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLmZpbmQoIi5qcy1zZWFyY2gtaW5wdXQiKS52YWwoZS5qb2luKCIsICIpKSx0aGlzLnVwZGF0ZUZpbHRlclNlYXJjaCgpfSkpfXJlc2V0QWxsRmlsdGVycygpe3RoaXMuX3Jlc2V0QWxsRmlsdGVycz0hMDtmb3IoY29uc3QgZSBpbiBJdCl0aGlzLl9pc0ZpbHRlclZhbHVlRW1wdHkoZSl8fHRoaXMucmVzZXRGaWx0ZXIoZSk7dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIuZmluZCgiLmpzLXNlYXJjaC1pbnB1dCIpLnZhbCgiIiksdGhpcy51cGRhdGVGaWx0ZXJTZWFyY2goKSx0aGlzLl9yZXNldEFsbEZpbHRlcnM9ITF9cmVzZXRGaWx0ZXIoZSl7aWYoIUl0W2VdLnZhbHVlfHwhMT09PUl0W2VdLnJlc2V0dGFibGVGaWx0ZXIpcmV0dXJuO0l0W2VdLnZhbHVlPW51bGw7Y29uc3QgdD10aGlzLl9kaWFsb2cuJGZpbHRlcnNQb3B1cHx8dGhpcy4kaW5wbGFjZUVkaXRvcjtpZih0KWlmKCJzZWxlY3QiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYC5qcy1maWx0ZXItZmllbGQtJHtlLnJlcGxhY2UoL1xXL2csIiIpfWApLnRyaWdnZXIoInJlc2V0Iik7ZWxzZSBpZigiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpdC5maW5kKGBbbmFtZT0iJHtlfSJdYCkudmFsKCIiKS50cmlnZ2VyKCJjaGFuZ2UiKTtlbHNlIGlmKCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCl0LmZpbmQoYFtuYW1lPSIke2V9Il1gKS5wcm9wKCJjaGVja2VkIiwhMSk7ZWxzZSBpZigicmFuZ2UiPT09SXRbZV0uY29udHJvbCl7bGV0IG89SXRbZV0ucmFuZ2U7SXRbZV0udmFsdWVzJiYobz1bMCxJdFtlXS52YWx1ZXMubGVuZ3RoKzFdKSx0LmZpbmQoYC51aS1zbGlkZXJbZGF0YS1maWVsZD0iJHtlfSJdYCkuc2xpZGVyKCJ2YWx1ZXMiLG8pLnRyaWdnZXIoInNsaWRlIix7dmFsdWVzOm99KX10aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpfV9yYW5nZUxlZnRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0xlc3NUaGVuTWluKHRbMF0sZSk/dGhpcy5fcmFuZ2VNaW5WYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFswXSl9X3JhbmdlUmlnaHRWYWx1ZShlKXtsZXQgdD1JdFtlXS52YWx1ZTtyZXR1cm4iaW5fcmFuZ2UiIT09dC5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT10Lm9wZXJhdG9yfHwodD10LnZhbHVlKSx0aGlzLl9pc0dyZWF0ZXJUaGVuTWF4KHRbMV0sZSk/dGhpcy5fcmFuZ2VNYXhWYWx1ZShlKTp6dChJdFtlXSx0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKS5mb3JtYXQodFsxXSl9X2lzR3JlYXRlclRoZW5NYXgoZSx0KXtyZXR1cm4gSXRbdF0ucmFuZ2UmJmU+PUl0W3RdLnJhbmdlWzFdfV9pc0xlc3NUaGVuTWluKGUsdCl7cmV0dXJuIEl0W3RdLnJhbmdlJiZlPD1JdFt0XS5yYW5nZVswXX1fcmFuZ2VNaW5WYWx1ZShlKXtyZXR1cm4iPCIrenQoSXRbZV0sdGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSkuZm9ybWF0KEl0W2VdLnZhbHVlc1swXSl9X3JhbmdlTWF4VmFsdWUoZSl7cmV0dXJuIj4iK3p0KEl0W2VdLHRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpLmZvcm1hdChJdFtlXS52YWx1ZXNbSXRbZV0udmFsdWVzLmxlbmd0aC0xXSl9X2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKGUpe2lmKCFlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLnNpemUoKSlyZXR1cm4gZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIiksdm9pZCBlLmZpbmQoIi5qcy1pdGVtLXdyYXAtYW55IC50di1jb250cm9sLXNlbGVjdF9fb3B0aW9uLXdyYXAiKS5hZGRDbGFzcygiaS1hY3RpdmUiKTtlLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKGZ1bmN0aW9uKCl7ZS5maW5kKCIudHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIikscnModGhpcykuY2xvc2VzdCgiLnR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCIpLmFkZENsYXNzKCJpLWFjdGl2ZSIpfSkpfV9jbG9zZURyb3Bkb3duKGUpe2UudHZEcm9wZG93bigiY2xvc2UiKSx0aGlzLiRpbnBsYWNlRWRpdG9yJiZ0aGlzLiRpbnBsYWNlRWRpdG9yLmZvY3VzKCl9X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXMoZSx0LG8saSxuKXtjb25zdCByPShJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5zbGljZSgpLnNvcnQoKCh0LG8pPT57aWYoITEhPT1JdFtlXS5zb3J0U2VsZWN0ZWRGaXJzdCl7Y29uc3QgaT1JdFtlXS52YWx1ZT09PXR8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZih0KSxuPUl0W2VdLnZhbHVlPT09b3x8QXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSkmJn5JdFtlXS52YWx1ZS5pbmRleE9mKG8pO2lmKGkmJiFuKXJldHVybi0xCjtpZihuJiYhaSlyZXR1cm4gMX1yZXR1cm4hMT09PUl0W2VdLnNvcnRhYmxlPzA6dD5vPzE6LTF9KSk7Zm9yKGxldCBzPW51bGw9PT1vPzA6LTE7czxyLmxlbmd0aDsrK3Mpe2xldCBhPS0xPT09cz9fczpyW3NdO2NvbnN0IGw9cnMoYDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHthfSIgY2xhc3M9ImpzLWZpbHRlci1jaGVja2JveCR7LTE9PT1zPyItYW55IjoiIn0iJHtJdFtlXS52YWx1ZT09PWF8fEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpJiZ+SXRbZV0udmFsdWUuaW5kZXhPZihhKT8iY2hlY2tlZCI6IiJ9PmApOy0xPT09cyYmKG89bCksLTE9PT1zJiZuJiYoYT1uKTtjb25zdCBjPUl0W2VdLnJhbmdlVGl0bGVzLGQ9YyYmY1thXSYmY1thXVsyXSxoPXRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMoYSxlKTtsZXQgdTt1PWQmJiEwPT09ZC5ub3dyYXA/YDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwIj4ke2h9PC9zcGFuPmA6ImNvdW50cnkiPT09ZT8oMCxiLnRyaWVzVHJhbnNsYXRlQ291bnRyaWVOYW1lKShoKTooMCxUZS50cmllc1RyYW5zbGF0ZVNjcmVlbmVyRGF0YSkoaCk7Y29uc3QgXz1ycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd24tYmVoYXZpb3JfX2l0ZW0ganMtaXRlbS13cmFwJHstMT09PXM/Ii1hbnkiOiIifSI+YCkuYXBwZW5kVG8odCk7cnMoYDxsYWJlbCBkYXRhLWZpZWxkPSIke2V9IiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7aX1fX2Ryb3Bkb3duLWNoZWNrYm94LWl0ZW0iPmApLmFwcGVuZChsKS5hcHBlbmQoYDxzcGFuIGNsYXNzPSJ0di1jb250cm9sLWNoZWNrYm94X19sYWJlbCI+JHt1fTwvc3Bhbj5gKS5hcHBlbmRUbyhfKSxsLnR2Q29udHJvbENoZWNrYm94KCl9cmV0dXJuIG99X2NyZWF0ZU11bHRpU2VsZWN0SXRlbXNFbGVtZW50KGUsdCxvLGksbj0hMSxyPSgpPT57fSxzPSExLGEpe2NvbnN0IGw9e2NoYW5nZWQ6ITEscmVzZXRPcHRpb25zOm51bGx9O2xldCBjPXJzKCksZD1ycygpO2NvbnN0IGg9ImZvcmV4LWdyb3VwIj09PW8uYXR0cigiZGF0YS1zZWxlY3QtbmFtZSIpLHU9bz0+e2NvbnN0IGk9IXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIikuc2l6ZSgpO3M/YyYmYy5wcm9wKCJjaGVja2VkIiwhMCk6ZC5wcm9wKCJjaGVja2VkIixpKSxuJiZ0aGlzLl9oaWdobGlnaHRBY3RpdmVJdGVtcyh0KSxvfHx0aGlzLl9yZXNldEZpZWxkKGUpLHRoaXMuX21vZGVsLnVwZGF0ZSgpLGwuY2hhbmdlZD0hbyxyKHQsaSl9O2xldCBfPXJzKCk7cmV0dXJuIGwucmVzZXRPcHRpb25zPW89Pnt0LmVtcHR5KCksZD10aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zKGUsdCxzP251bGw6ZCxpLGEpLCEwIT09byYmKHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoITApKSxfPXJzKCl9LGwucmVzZXRPcHRpb25zKCksdC5vbigiY2hhbmdlIiwiLmpzLWZpbHRlci1jaGVja2JveCIsKGk9Pntjb25zdCByPXJzKGkudGFyZ2V0KSxhPXIuYXR0cigibmFtZSIpO2lmKG4mJkl0W2VdLnZhbHVlPT09YSlyZXR1cm4gci5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2M9cnMoKSxyLnByb3AoImNoZWNrZWQiKT8oSXRbZV0udmFsdWU/bj8odC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94Iikubm90KHIpLnByb3AoImNoZWNrZWQiLCExKSxJdFtlXS52YWx1ZT1hKTooQXJyYXkuaXNBcnJheShJdFtlXS52YWx1ZSl8fChJdFtlXS52YWx1ZT1bSXRbZV0udmFsdWVdKSxJdFtlXS52YWx1ZS5wdXNoKGEpKTpJdFtlXS52YWx1ZT1hLGgmJigwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBibigiYWRkZWQiLGEpKSk6KEFycmF5LmlzQXJyYXkoSXRbZV0udmFsdWUpPyhJdFtlXS52YWx1ZS5zcGxpY2UoSXRbZV0udmFsdWUuaW5kZXhPZihhKSwxKSwxPT09SXRbZV0udmFsdWUubGVuZ3RoP0l0W2VdLnZhbHVlPUl0W2VdLnZhbHVlWzBdOkl0W2VdLnZhbHVlLmxlbmd0aHx8KHM/KGM9cixJdFtlXS52YWx1ZT1hKTpJdFtlXS52YWx1ZT1udWxsKSk6cz8oYz1yLEl0W2VdLnZhbHVlPWEpOkl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJyZW1vdmVkIixhKSkpLHRoaXMuX3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpLHUoKSxuJiZ0aGlzLl9jbG9zZURyb3Bkb3duKG8pfSkpLHN8fHQub24oImNsaWNrIHRvdWNoZW5kIiwiLmpzLWZpbHRlci1jaGVja2JveC1hbnkiLChpPT57Y29uc3Qgcj1ycyhpLnRhcmdldCkuYXR0cigibmFtZSIpO2kucHJldmVudERlZmF1bHQoKSxzZXRUaW1lb3V0KCgoKT0+e2lmKCFJdFtlXS52YWx1ZSlyZXR1cm4gZC5wcm9wKCJjaGVja2VkIiwhMCksdm9pZCB0aGlzLl9jbG9zZURyb3Bkb3duKG8pO2QucHJvcCgiY2hlY2tlZCIpPyhfLnByb3AoImNoZWNrZWQiLCEwKSxJdFtlXS52YWx1ZT1fLnRvQXJyYXkoKS5tYXAoKGU9PmUubmFtZSkpLEl0W2VdLnZhbHVlLmxlbmd0aD8xPT09SXRbZV0udmFsdWUubGVuZ3RoJiYoSXRbZV0udmFsdWU9SXRbZV0udmFsdWVbMF0pOkl0W2VdLnZhbHVlPW51bGwpOihfPXQuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkIiksdC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94IikucHJvcCgiY2hlY2tlZCIsITEpLEl0W2VdLnZhbHVlPW51bGwsaCYmKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IGJuKCJhZGRlZCIscikpKSx0aGlzLl90cnlFeGVjdXRlRmlsdGVyQ2hhbmdlSGFuZGxlcihlKSx1KCksbiYmdGhpcy5fY2xvc2VEcm9wZG93bihvKX0pLDApfSkpLGx9X3RyeUV4ZWN1dGVGaWx0ZXJDaGFuZ2VIYW5kbGVyKGUpe0l0W2VdLm9uRmlsdGVyQ2hhbmdlJiZJdFtlXS5vbkZpbHRlckNoYW5nZShJdFtlXS52YWx1ZSl9X2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsdCxpLG4scj0hMSl7CmNvbnN0IHM9cnMoYDxkaXYgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jb250YWluZXIganMtZmlsdGVyLWZpZWxkLSR7ZS5yZXBsYWNlKC9cVy9nLCIiKX0ganMtZHJvcGRvd24tdG9nZ2xlIj5gKS5hcHBlbmRUbyh0KSxhPXJzKGA8aSBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWRyb3Bkb3duLXRvZ2dsZSI+YCkuYXBwZW5kKHJzKG8oODE1NjgzKSkuYXR0cih7d2lkdGg6MTIsaGVpZ2h0Ojd9KSksbD1ycyhgPHNwYW4gY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1jYXB0aW9uICR7bn1fX3NlbGVjdGJveC1jYXB0aW9uLS10ZXh0LW92ZXJmbG93Ij5cblx0XHRcdDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbi1sYWJlbCBqcy1sYWJlbCI+PC9zcGFuPlxuXHRcdDwvc3Bhbj5gKS5hcHBlbmQoYSkuYXBwZW5kVG8ocyksYz1sLmZpbmQoIi5qcy1sYWJlbCIpLGQ9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKTtsZXQgaD1ycygpO2lmKChJdFtlXS51c2VEZWZhdWx0UmFuZ2U/SXRbZV0uZGVmYXVsdFJhbmdlOkl0W2VdLnJhbmdlKS5sZW5ndGg+PTE2KXtjb25zdCBlPXJzKGA8ZGl2IGNsYXNzPSIke259X19zZWFyY2gtd3JhcCI+YCkuYXBwZW5kVG8oZCk7aD1ycyhgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSIke18udChudWxsLHZvaWQgMCxvKDM1MjEyNykpfSIgY2xhc3M9IiR7bn1fX3NlYXJjaC1pbnB1dCI+YCkuYXBwZW5kVG8oZSk7Y29uc3QgdD1ycyhgPGRpdiBjbGFzcz0idHYtY29udHJvbC1zZWxlY3RfX29wdGlvbi13cmFwICR7bn1fX3NlYXJjaC1uby1tYXRjaGVzIGpzLWhpZGRlbiI+Tm8gbWF0Y2hlczwvZGl2PmApLmFwcGVuZFRvKGQpO2gub24oImNoYW5nZSBpbnB1dCIsKGU9Pntjb25zdCBvPWgudmFsKCkudHJpbSgpLnRvTG93ZXJDYXNlKCk7bz9wLmZpbmQoIi5qcy1pdGVtLXdyYXAiKS5lYWNoKChmdW5jdGlvbigpe2NvbnN0IGU9cnModGhpcyk7ZS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhfmUudGV4dCgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihvKSl9KSk6cC5maW5kKCIuanMtaXRlbS13cmFwIikucmVtb3ZlQ2xhc3MoImpzLWhpZGRlbiIpLHAuZmluZCgiLmpzLWl0ZW0td3JhcC1hbnkiKS50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhIXAuZmluZCgiLmpzLWl0ZW0td3JhcC5qcy1oaWRkZW4iKS5zaXplKCkpLHQudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsISFwLmZpbmQoIi5qcy1pdGVtLXdyYXA6bm90KC5qcy1oaWRkZW4pIikuc2l6ZSgpKSxzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpfSkpfWNvbnN0IHU9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19zY3JvbGwiPicpLmFwcGVuZFRvKGQpLHA9cnMoJzxkaXYgY2xhc3M9InR2LXNjcmVlbmVyLWZpZWxkcy1wb3B1cF9faXRlbXMtd3JhcCB0di1kcm9wZG93bi1iZWhhdmlvcl9faW5zY3JvbGwiPicpLmFwcGVuZFRvKHUpLG09dGhpcy5fY3JlYXRlTXVsdGlTZWxlY3RJdGVtc0VsZW1lbnQoZSxwLHMsbixyLCgoKT0+e2MuZW1wdHkoKSxwLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCwgLmpzLWZpbHRlci1jaGVja2JveC1hbnk6Y2hlY2tlZCIpLmVhY2goKCh0LG8pPT57Yy5hcHBlbmQocnMoJzxzcGFuIGNsYXNzPSJ0di1zY3JlZW5lci1kaWFsb2dfX2ZpbHRlci1maWVsZC1jb250ZW50LXZhbHVlIj4nKS50ZXh0KHRoaXMuX2dldEZpZWxkVmFsdWVGcm9tUmFuZ2VUaXRsZXMocnMobykuYXR0cigibmFtZSIpLGUpKSl9KSkscy5mb2N1cygpfSksSXRbZV0ubm9BbnkpLGc9ZT0+e2lmKCEwIT09ZSYmIXMuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCB0PXMuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKHQuc2l6ZSgpJiYocy5vZmZzZXQoKS50b3Arcy5oZWlnaHQoKTx0Lm9mZnNldCgpLnRvcHx8cy5vZmZzZXQoKS50b3A+dC5vZmZzZXQoKS50b3ArdC5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgcy50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IG89aS5vZmZzZXQoKSxuPXMub2Zmc2V0KCk7bGV0IHI9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2guc2l6ZSgpJiYoci09NDUpO2NvbnN0IGE9TWF0aC5tYXgoaS5oZWlnaHQoKS0obi50b3Atby50b3ApLDYwKTtpZih1LmNzcygibWF4SGVpZ2h0IixNYXRoLm1pbihhLHIpKSx0aGlzLl9zZXREcm9wZG93blBvc2l0aW9uKGQscyxpKSxkLnBhcmVudCgpLmlzKGkpKXtjb25zdCBlPXMudHZEcm9wZG93bigiZ2V0SW5zdGFuY2UiKS5zY3JvbGw7ZS51cGRhdGVTY3JvbGxCYXIoKSxlLnVwZGF0ZVNjcm9sbCgpfWVsc2UgZC5hcHBlbmRUbyhpKX07bGV0IHY7cy50dkRyb3Bkb3duKHskd3JhcDpsLCRib2R5OmQsc2Nyb2xsOiEwLGNsb3NlV2l0aEVzYzohMCxub0FuaW1hdGlvbjohMH0pLm9uKCJyZXNldFBvc2l0aW9uIixnKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e20uY2hhbmdlZCYmKG0ucmVzZXRPcHRpb25zKCEwKSxtLmNoYW5nZWQ9ITEpLGcoITApLHImJihwLmZpbmQoIi50di1jb250cm9sLWNoZWNrYm94X19ib3gsIC5qcy1maWx0ZXItY2hlY2tib3gsIC5qcy1maWx0ZXItY2hlY2tib3gtYW55IikuaGlkZSgpLHRoaXMuX2hpZ2hsaWdodEFjdGl2ZUl0ZW1zKHApLHAuZmluZCgiLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsIikuY3NzKCJtYXJnaW4tcmlnaHQiLDApKSxhLmFkZENsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCl9KSkub24oImFmdGVyT3Blbk1lbnUiLCgoKT0+e3Y9cC5maW5kKCIuanMtZmlsdGVyLWNoZWNrYm94OmNoZWNrZWQiKSxoLnNpemUoKSYmc2V0VGltZW91dCgoKCk9PntoLmZvY3VzKCkub24oImZvY3Vzb3V0IiwoZnVuY3Rpb24oKXtoLmZvY3VzKCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtoLmZvY3VzKCl9KSwxMCl9KSksaC5hZGQoIi50di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fZHJvcGRvd24tY2hlY2tib3gtaXRlbSIpLm9uKCJrZXlwcmVzcyBrZXl1cCIsKGU9PnsKMjc9PT1lLmtleUNvZGUmJnRoaXMuX2Nsb3NlRHJvcGRvd24ocyl9KSl9KSwwKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnthLnJlbW92ZUNsYXNzKGAke259X19zZWxlY3Rib3gtZHJvcGRvd24tdG9nZ2xlLS1vcGVuYCksaC5vZmYoImZvY3Vzb3V0IGtleXByZXNzIGtleXVwIil9KSkub24oImFmdGVyQ2xvc2VNZW51IiwoKCk9PntzLnR2RHJvcGRvd24oInVwZGF0ZVNjcm9sbCIpLGQuZGV0YWNoKCk7Y29uc3QgdD1wLmZpbmQoIi5qcy1maWx0ZXItY2hlY2tib3g6Y2hlY2tlZCIpLG89InR2LXNjcmVlbmVyLWRpYWxvZyI9PT1uPyJmaWx0ZXJfZGlhbG9nIjoiY29sdW1ucyIsaT1BcnJheS5mcm9tKHQpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpO2khPT1BcnJheS5mcm9tKHYpLm1hcCgoZT0+ZS5uYW1lKSkuam9pbigiLCIpJiYoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgeWkoaSxpaS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssZSxvKSl9KSkub24oInJlc2V0IixtLnJlc2V0T3B0aW9ucykub24oIm1vdXNlZG93bm91dHNpZGUiLCgoKT0+e3MudHZEcm9wZG93bigiY2xvc2UiKX0pKSxkLm9uKCJtb3VzZWRvd24gdG91Y2hzdGFydCIsKGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpKX1fYXBwbHlTZWxlY3Rib3goZSx0LGk9e30pe2NvbnN0IG49aS5jbGFzc1ByZWZpeHx8InR2LXNjcmVlbmVyLWRpYWxvZyIscj1ycyhgPGxhYmVsIGNsYXNzPSIke259X19zZWxlY3Rib3gtY29udGFpbmVyIGpzLWRyb3Bkb3duLXRvZ2dsZSI+YCk7aS5hZGRDbGFzcyYmci5hZGRDbGFzcyhpLmFkZENsYXNzKSxyLmluc2VydEFmdGVyKGUpLGUuYXBwZW5kVG8ocik7Y29uc3Qgcz1ycyhgPGkgY2xhc3M9IiR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUiPmApLmFwcGVuZChycyhvKDgxNTY4MykpLmF0dHIoe3dpZHRoOjEyLGhlaWdodDo3fSkpLGE9cnMoYDxzcGFuIGNsYXNzPSIke259X19zZWxlY3Rib3gtY2FwdGlvbiI+XG5cdFx0XHQ8c3BhbiBjbGFzcz0iJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tbGFiZWwganMtbGFiZWwiPjwvc3Bhbj5cblx0XHQ8L3NwYW4+YCkuYXBwZW5kKHMpLmFwcGVuZFRvKHIpLGw9cnMoJzxkaXYgY2xhc3M9InR2LWRyb3Bkb3duX19ib2R5IHR2LWRyb3Bkb3duLWJlaGF2aW9yX19ib2R5Ij4nKSxjPXJzKCc8ZGl2IGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9fc2Nyb2xsIj4nKS5hcHBlbmRUbyhsKSxkPXJzKCc8ZGl2IGNsYXNzPSJ0di1zY3JlZW5lci1maWVsZHMtcG9wdXBfX2l0ZW1zLXdyYXAgdHYtZHJvcGRvd24tYmVoYXZpb3JfX2luc2Nyb2xsIj4nKS5hcHBlbmRUbyhjKSxoPSgpPT57bC5maW5kKCIuanMtb3B0aW9uLXNlbGVjdGVkIikucmVtb3ZlQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpO2NvbnN0IHQ9bC5maW5kKGBbZGF0YS12YWx1ZT0iJHtlLnZhbCgpfSJdYCksbz0hdC5kYXRhKCJ2YWx1ZSIpO3QuYWRkQ2xhc3MoImktYWN0aXZlIGpzLW9wdGlvbi1zZWxlY3RlZCIpLnRvZ2dsZUNsYXNzKGAke259X19zZWxlY3Rib3gtb3B0aW9uLS1uby12YWx1ZWAsbyksYS5maW5kKCIuanMtbGFiZWwiKS50b2dnbGVDbGFzcyhgJHtufV9fc2VsZWN0Ym94LWNhcHRpb24tLW5vLXZhbHVlYCxvKS50ZXh0KHQudGV4dCgpKX0sdT0oKT0+e2QuZW1wdHkoKTtjb25zdCB0PWUuZ2V0KDApLmNoaWxkTm9kZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDsrK2UpcnMoYDxzcGFuIGRhdGEtdmFsdWU9IiR7dFtlXS52YWx1ZX0iIGNsYXNzPSJ0di1kcm9wZG93bi1iZWhhdmlvcl9faXRlbSB0di1jb250cm9sLXNlbGVjdF9fb3B0aW9uIGpzLW9wdGlvbiI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCAke259X19zZWxlY3Rib3gtb3B0aW9uLXdyYXAiPiR7dFtlXS50ZXh0Q29udGVudH08L3NwYW4+XG5cdFx0XHRcdDwvc3Bhbj5gKS5hcHBlbmRUbyhkKTtoKCl9O3UoKSxlLm9uKCJjaGFuZ2UiLGgpO2NvbnN0IF89ZT0+e2lmKCEwIT09ZSYmIXIuaXMoIi5pLW9wZW5lZCIpKXJldHVybjtjb25zdCBvPXIuY2xvc2VzdCgiLmktc2Nyb2xsYWJsZSIpO2lmKG8uc2l6ZSgpJiYoci5vZmZzZXQoKS50b3Arci5oZWlnaHQoKTxvLm9mZnNldCgpLnRvcHx8ci5vZmZzZXQoKS50b3A+by5vZmZzZXQoKS50b3Arby5oZWlnaHQoKSkpcmV0dXJuIHZvaWQgci50dkRyb3Bkb3duKCJjbG9zZSIpO2NvbnN0IGk9dC5vZmZzZXQoKSxuPXIub2Zmc2V0KCkscz1NYXRoLm1heCh0LmhlaWdodCgpLShuLnRvcC1pLnRvcCksNjApLGE9cnMod2luZG93KS5oZWlnaHQoKS1uLnRvcCtycyh3aW5kb3cpLnNjcm9sbFRvcCgpLTM1O2MuY3NzKCJtYXhIZWlnaHQiLE1hdGgubWluKHMsYSkpLHRoaXMuX3NldERyb3Bkb3duUG9zaXRpb24obCxyLHQpLGwuYXBwZW5kVG8odCl9O3JldHVybiByLm9uKCJyZXNldFBvc2l0aW9uIixfKS5vbigiYmVmb3JlT3Blbk1lbnUiLCgoKT0+e18oITApLHMuYWRkQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKX0pKS5vbigiYmVmb3JlQ2xvc2VNZW51IiwoKCk9PnMucmVtb3ZlQ2xhc3MoYCR7bn1fX3NlbGVjdGJveC1kcm9wZG93bi10b2dnbGUtLW9wZW5gKSkpLm9uKCJhZnRlckNsb3NlTWVudSIsKCgpPT57ci50dkRyb3Bkb3duKCJ1cGRhdGVTY3JvbGwiKSxsLmRldGFjaCgpfSkpLnR2RHJvcGRvd24oeyR3cmFwOmEsJGJvZHk6bCxzY3JvbGw6ITAsY2xvc2VXaXRoRXNjOiEwLG5vQW5pbWF0aW9uOiEwfSksZC5vbigiY2xpY2siLCIuanMtb3B0aW9uIiwodD0+e2NvbnN0IG89cnModC5jdXJyZW50VGFyZ2V0KS5kYXRhKCJ2YWx1ZSIpO2UudmFsKCkhPT1vJiYoZS52YWwobyksZS50cmlnZ2VyKCJjaGFuZ2UiKSksci50dkRyb3Bkb3duKCJjbG9zZSIpfSkpLGwub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IiwoZT0+ZS5zdG9wUHJvcGFnYXRpb24oKSkpLGUub24oInJlc2V0Iix1KSxyfV9zZXREcm9wZG93blBvc2l0aW9uKGUsdCxvKXtjb25zdCBpPW8ub2Zmc2V0KCksbj10Lm9mZnNldCgpO2UuY3NzKCJ0b3AiLG4udG9wLWkudG9wLTE1KSwoMCwKS28uaXNSdGwpKCk/ZS5jc3MoInJpZ2h0IixvWzBdLnNjcm9sbFdpZHRoLShuLmxlZnQrdC53aWR0aCgpKStpLmxlZnQtKDAsS28uZ2V0TFRSU2Nyb2xsTGVmdCkob1swXSkpOmUuY3NzKCJsZWZ0IixuLmxlZnQtaS5sZWZ0KX1faXNGaWx0ZXJWYWx1ZUVtcHR5KGUpe2NvbnN0IHQ9SXRbZV0udmFsdWU7cmV0dXJuIHQmJiJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbD8iIj09PXQudmFsdWV8fG51bGw9PXQudmFsdWU6ISh0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoKSYmKCJvYmplY3QiIT10eXBlb2YgdHx8T2JqZWN0LmtleXModCkuZmluZCgoZT0+ISF0W2VdKSkpKX1hZGRGaWVsZEZpbHRlcihlLHQsaT0idHYtc2NyZWVuZXItZGlhbG9nIixuKXtjb25zdCByPXJzKCc8ZGl2IGNsYXNzPSInK2krIl9fZmlsdGVyLWZpZWxkIGpzLWZpbHRlci1maWVsZCBqcy1maWx0ZXItZmllbGQtIitlLnJlcGxhY2UoL1xXL2csIiIpKyIgIitpKyJfX2ZpbHRlci1maWVsZC0tY2F0IitJdFtlXS5jYXRlZ29yeSsnIGpzLXdyYXAiPicpLHM9IXRoaXMuX2lzRmlsdGVyVmFsdWVFbXB0eShlKTtpZihzKXtjb25zdCBlPXQuZmluZCgiLnR2LXNjcmVlbmVyLWRpYWxvZ19fZmlsdGVyLWZpZWxkLS1hY3RpdmUiKTtlLmxlbmd0aD4wP3IuaW5zZXJ0QWZ0ZXIoZS5sYXN0KCkpOnQucHJlcGVuZChyKX1lbHNlIHIuYXBwZW5kVG8odCk7biYmKHM/dC5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKTooci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX2ZpbHRlci13aXRob3V0LXJlc2V0IiksdC5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3JfX3dpdGhvdXQtcmVzZXQiKSkpO2xldCBhPUl0W2VdLmZpbHRlclRpdGxlfHxJdFtlXS50aXRsZTsidG9nZ2xlIj09PUl0W2VdLmNvbnRyb2wmJiJpc19wcmltYXJ5IiE9PWUmJiJhY3RpdmVfc3ltYm9sIiE9PWUmJihhPV8udChudWxsLHZvaWQgMCxvKDE1OTkxMCkpLmZvcm1hdCh7dGl0bGU6YX0pKSxycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLXRpdGxlIGpzLWZpbHRlci1maWVsZC10aXRsZS0ke2UucmVwbGFjZSgvXFcvZywiIil9Ij4ke2F9PC9kaXY+YCkuYXBwZW5kVG8ociksdGhpcy5zZXRGaWVsZEFjdGl2ZShlLHMscik7Y29uc3QgbD1ycyhgPGRpdiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLSR7SXRbZV0uY29udHJvbH0ganMtZmlsdGVyLWZpZWxkLV9jb250ZW50Ij5gKS5hcHBlbmRUbyhyKTtyZXR1cm4gcnMoYDxkaXYgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1yZXNldCAke3N8fCFuPyIiOiJpLWhpZGRlbiAifWFwcGx5LWNvbW1vbi10b29sdGlwIGpzLXJlc2V0IiBkYXRhLWZpZWxkPSIke2V9IiB0aXRsZT0iJHtfLnQobnVsbCx2b2lkIDAsbyg0MjU2NTApKX0iPmApLmFwcGVuZChycyhvKDE0NzA3OCkpKS5hcHBlbmRUbyhyKSxuZXcgUHJvbWlzZSgodD0+e3NldFRpbWVvdXQoKCgpPT57aWYoInNlbGVjdCI9PT1JdFtlXS5jb250cm9sKXRoaXMuX2NyZWF0ZU11bHRpc2VsZWN0RmlsdGVyKGUsbCxuP3RoaXMuX2JyaWRnZS4kYm9keTp0aGlzLl9kaWFsb2cuJGRpYWxvZ0NvbnRhaW5lcixpLEl0W2VdLmlzU2luZ2xlKTtlbHNlIGlmKCJyYW5nZSI9PT1JdFtlXS5jb250cm9sKXtjb25zdCB0PXtyYW5nZTohMH07bGV0IG89SXRbZV0ucmFuZ2VbMF0saT1JdFtlXS5yYW5nZVsxXTtJdFtlXS52YWx1ZXM/KHQubWluPTAsdC5tYXg9SXRbZV0udmFsdWVzLmxlbmd0aCsxLEl0W2VdLnZhbHVlJiZBcnJheS5pc0FycmF5KEl0W2VdLnZhbHVlKT8odC52YWx1ZXM9dGhpcy5hcHByb3hpbWF0ZVNsaWRlclZhbHVlcyhlLEl0W2VdLnZhbHVlKSxvPXRoaXMuX3JhbmdlTGVmdFZhbHVlKGUpLGk9dGhpcy5fcmFuZ2VSaWdodFZhbHVlKGUpKToodC52YWx1ZXM9WzAsSXRbZV0udmFsdWVzLmxlbmd0aCsxXSxvPXRoaXMuX3JhbmdlTWluVmFsdWUoZSksaT10aGlzLl9yYW5nZU1heFZhbHVlKGUpKSk6KHQubWluPUl0W2VdLnJhbmdlWzBdLHQubWF4PUl0W2VdLnJhbmdlWzFdLHQudmFsdWVzPUl0W2VdLnZhbHVlfHxbSXRbZV0ucmFuZ2VbMF0sSXRbZV0ucmFuZ2VbMV1dKSxycyhgPGRpdiBjbGFzcz0idHYtc2xpZGVyIiBkYXRhLWZpZWxkPSIke2V9Ij5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9InR2LXNsaWRlcl9fbGFiZWxzIj5cblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9InRleHQiIGRhdGEtZmllbGQ9IiR7ZX0iIGRhdGEtYm91bmQ9IjAiIGNsYXNzPSJ0di1zbGlkZXJfX2xhYmVsIHR2LXNsaWRlcl9fbGFiZWwtLWxlZnQiIHZhbHVlPSIke299Ii8+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJ0ZXh0IiBkYXRhLWZpZWxkPSIke2V9IiBkYXRhLWJvdW5kPSIxIiBjbGFzcz0idHYtc2xpZGVyX19sYWJlbCB0di1zbGlkZXJfX2xhYmVsLS1yaWdodCIgdmFsdWU9IiR7aX0iLz5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PmApLnNsaWRlcih0KS5hcHBlbmRUbyhsKX1lbHNlIGlmKCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCl7Y29uc3QgdD1ycyhgPHNlbGVjdCBuYW1lPSIke2V9IiBjbGFzcz0ianMtZmlsdGVyLW9wZXJhdG9yIGpzLWhpZGRlbiI+YCkuYXBwZW5kVG8obCk7bGV0IHIscz0hMDtmb3IoY29uc3QgbyBpbiBjcylJdFtlXS5oaWRkZW5PcGVyYXRvcnMmJi0xIT09SXRbZV0uaGlkZGVuT3BlcmF0b3JzLmluZGV4T2Yobyl8fChzJiYhSXRbZV0udmFsdWUmJihzPSExLEl0W2VdLnZhbHVlPXtvcGVyYXRvcjpvfSkscnMoYDxvcHRpb24gdmFsdWU9IiR7b30iJHtvPT09KEl0W2VdLnZhbHVlJiZJdFtlXS52YWx1ZS5vcGVyYXRvcik/IiBzZWxlY3RlZCI6IiJ9PiR7Y3Nbb119PC9vcHRpb24+YCkuYXBwZW5kVG8odCkpO3RoaXMuX2FwcGx5U2VsZWN0Ym94KHQsbj90aGlzLl9icmlkZ2UuJGJvZHk6dGhpcy5fZGlhbG9nLiRkaWFsb2dDb250YWluZXIse2NsYXNzUHJlZml4OmksYWRkQ2xhc3M6YCR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1sZWZ0YH0pLApyPUl0W2VdLmNvbmRpdGlvbkZpZWxkcz9BcnJheS5pc0FycmF5KEl0W2VdLmNvbmRpdGlvbkZpZWxkcyk/SXRbZV0uY29uZGl0aW9uRmllbGRzOkl0W2VdLmNvbmRpdGlvbkZpZWxkc1t0aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlXXx8SXRbZV0uY29uZGl0aW9uRmllbGRzLmRlZmF1bHR8fGRzOmRzO2NvbnN0IGE9cnMoYDxzZWxlY3QgbmFtZT0iJHtlfSIgY2xhc3M9ImpzLWZpbHRlci1vcGVyYXRvci12YWx1ZSBqcy1oaWRkZW4iPmApLmFwcGVuZFRvKGwpO2xldCBjO2lmKHJzKGA8b3B0aW9uIHZhbHVlPSIiPiR7Xy50KG51bGwsdm9pZCAwLG8oMzEwODY5KSl9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSksMD09PXIubGVuZ3RoKWM9cnMoYDxsYWJlbCBjbGFzcz0iJHtpfV9fc2VsZWN0Ym94LWNvbnRhaW5lciBqcy1kcm9wZG93bi10b2dnbGUgJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLW1pZGRsZSBqcy1oaWRkZW4iIHRhYmluZGV4PSIwIj5cblx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLWxhYmVsIGpzLWxhYmVsICR7aX1fX3NlbGVjdGJveC1jYXB0aW9uLS1uby12YWx1ZSI+JHtfLnQobnVsbCx2b2lkIDAsbygzMTA4NjkpKX08L3NwYW4+XG5cdFx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpO2Vsc2V7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDsrK3Qpe2NvbnN0IG89clt0XTtycyhgPG9wdGlvbiB2YWx1ZT0iJHtvfSIke289PT0oSXRbZV0udmFsdWUmJkl0W2VdLnZhbHVlLm9wZXJhdG9yJiZJdFtlXS52YWx1ZS52YWx1ZSk/IiBzZWxlY3RlZCI6IiJ9PiR7SXRbb10udGl0bGV9PC9vcHRpb24+YCkuYXBwZW5kVG8oYSl9Yz10aGlzLl9hcHBseVNlbGVjdGJveChhLG4/dGhpcy5fYnJpZGdlLiRib2R5OnRoaXMuX2RpYWxvZy4kZGlhbG9nQ29udGFpbmVyLHtjbGFzc1ByZWZpeDppLGFkZENsYXNzOmAke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tbWlkZGxlIGpzLWhpZGRlbmB9KX1jb25zdCBkPXJzKGA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1maWVsZC1jb250ZW50LS1yaWdodCAke2l9X19maWx0ZXItZmllbGQtdGV4dCBqcy1maWx0ZXItb3BlcmF0b3ItYXJiLXZhbHVlIj5gKS5hcHBlbmRUbyhsKTtJdFtlXS52YWx1ZSYmIm51bWJlciI9PXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmZC52YWwoYCR7SXRbZV0udmFsdWUudmFsdWV9YCk7Y29uc3QgaD1lPT57ZS5jdHJsS2V5fHxlLm1ldGFLZXl8fCFlLmNoYXJDb2RlfHwhZS53aGljaHx8ZS53aGljaDwzMnx8L1tcZC4tXS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUuY2hhckNvZGUpKXx8ZS5wcmV2ZW50RGVmYXVsdCgpfSx1PWU9Pntjb25zdCB0PXt2YWx1ZTplLnZhbCgpfTtyZXR1cm4gZS5vbigia2V5cHJlc3MiLGgpLm9uKCJjaGFuZ2UgaW5wdXQiLCgwLHZvLmRlZmF1bHQpKChvPT57ZS52YWwoKSE9PXQudmFsdWUmJihlLnRyaWdnZXIoInVwZGF0ZSIsbyksdC52YWx1ZT1lLnZhbCgpKX0pLDUwMCkpLHR9LHA9cnMoYDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSIke2V9IiBjbGFzcz0iJHtpfV9fZmlsdGVyLWZpZWxkLWNvbnRlbnQtLXJpZ2h0ICR7aX1fX2ZpbHRlci1iZXR3ZWVuLWlucHV0IGpzLWZpbHRlci1vcGVyYXRvci1iZXR3ZWVuLWxlZnQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8cC52YWwoYCR7LTFlMTAwPT09SXRbZV0udmFsdWUudmFsdWVbMF18fHRoaXMuX2lzTGVzc1RoZW5NaW4oSXRbZV0udmFsdWUudmFsdWVbMF0sZSk/IiI6SXRbZV0udmFsdWUudmFsdWVbMF19YCk7Y29uc3QgbT11KHApLGc9cnMoYDxzcGFuIGNsYXNzPSIke2l9X19maWx0ZXItYmV0d2Vlbi1zZXBhcmF0b3IganMtaGlkZGVuIj7igJQ8L3NwYW4+YCkuYXBwZW5kVG8obCksdj1ycyhgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9IiR7ZX0iIGNsYXNzPSIke2l9X19maWx0ZXItZmllbGQtY29udGVudC0tcmlnaHQgJHtpfV9fZmlsdGVyLWJldHdlZW4taW5wdXQganMtZmlsdGVyLW9wZXJhdG9yLWJldHdlZW4tcmlnaHQganMtaGlkZGVuIj5gKS5hcHBlbmRUbyhsKTshSXRbZV0udmFsdWV8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvciYmIm5vdF9pbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8di52YWwoYCR7MWUxMDA9PT1JdFtlXS52YWx1ZS52YWx1ZVsxXXx8dGhpcy5faXNHcmVhdGVyVGhlbk1heChJdFtlXS52YWx1ZS52YWx1ZVsxXSxlKT8iIjpJdFtlXS52YWx1ZS52YWx1ZVsxXX1gKTtjb25zdCBmPXUodikseT11KGQpLGI9KCk9Pntjb25zdCBlPXQudmFsKCksbz1lJiYiaW5fcmFuZ2UiIT09ZSYmIm5vdF9pbl9yYW5nZSIhPT1lO2MudG9nZ2xlQ2xhc3MoImpzLWhpZGRlbiIsIW8pLG98fCh5LnZhbHVlPSIiLGQudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfSxTPWU9Pntjb25zdCBvPXQudmFsKCksaT1vJiYiaW5fcmFuZ2UiIT09byYmIm5vdF9pbl9yYW5nZSIhPT1vJiYhYS52YWwoKTtkLnRvZ2dsZUNsYXNzKCJqcy1oaWRkZW4iLCFpKSxpJiYhMCE9PWUmJiF0aGlzLl9yZXNldEFsbEZpbHRlcnMmJnNldFRpbWVvdXQoKCgpPT57ZC5mb2N1cygpfSksNTApfSx3PWU9Pntjb25zdCBvPSJpbl9yYW5nZSI9PT10LnZhbCgpfHwibm90X2luX3JhbmdlIj09PXQudmFsKCk7cC50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksZy50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksdi50b2dnbGVDbGFzcygianMtaGlkZGVuIiwhbyksbyYmITAhPT1lJiYhdGhpcy5fcmVzZXRBbGxGaWx0ZXJzJiZzZXRUaW1lb3V0KCgoKT0+e3AuZm9jdXMoKX0pLDUwKSxvfHwhMD09PWV8fChtLnZhbHVlPSIiLGYudmFsdWU9IiIscC52YWwoIiIpLHYudmFsKCIiKSxhLnZhbCgiIikudHJpZ2dlcigiY2hhbmdlIikpfTsiaW5fcmFuZ2UiPT09dC52YWwoKXx8Im5vdF9pbl9yYW5nZSI9PT10LnZhbCgpP3coITApOmIoKSxTKCEwKSwKdC5vbigiY2hhbmdlIixiKS5vbigiY2hhbmdlIixTKS5vbigiY2hhbmdlIix3KSxhLm9uKCJjaGFuZ2UiLFMpfWVsc2UgaWYoInRvZ2dsZSI9PT1JdFtlXS5jb250cm9sKXtycyhgPGxhYmVsIGNsYXNzPSIke2l9X19maWx0ZXItdG9nZ2xlIj5cblx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iJHtlfSIgY2xhc3M9IiR7aX1fX2ZpbHRlci1kcm9wZG93bi1pdGVtLWlucHV0IHR2LXNjcmVlbmVyLWZpbHRlci1yb2xsdXBfX2l0ZW0taW5wdXQganMtZmlsdGVyLXRvZ2dsZSIgJHtJdFtlXS52YWx1ZT8iY2hlY2tlZCI6IiJ9PlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9IiR7aX1fX2ZpbHRlci10b2dnbGUtY2hlY2tib3gtdGl0bGUgdHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwiPlxuXHRcdFx0XHRcdFx0XHQkey0xIT09ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImhpZ2giKT9fLnQobnVsbCx2b2lkIDAsbygzMDU0MDYpKTpfLnQobnVsbCx2b2lkIDAsbyg1MzgyNTQpKX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L2xhYmVsPmApLmFwcGVuZFRvKGwpLmZpbmQoIi5qcy1maWx0ZXItdG9nZ2xlIikudHZDb250cm9sQ2hlY2tib3goKX10KCl9KSxuPzA6bW8uZHVyLzMuNSl9KSl9c2hvd0lucGxhY2VFZGl0b3IoZSx0KXtpZighSXRbZV0pcmV0dXJuO3RoaXMuX2lucGxhY2VFZGl0b3JGaWVsZD1lLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQ9dCx0aGlzLiRpbnBsYWNlRWRpdG9yfHwodGhpcy4kaW5wbGFjZUVkaXRvcj1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3IgdHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiI+Jykub24oIm1vdXNlZG93bm91dHNpZGUiLChlPT57Y29uc3QgdD1JdFt0aGlzLl9pbnBsYWNlRWRpdG9yRmllbGRdOyJjb25kaXRpb24iPT09dC5jb250cm9sJiZ0LnZhbHVlJiYobXQodC52YWx1ZS52YWx1ZSl8fG10KHQudmFsdWUub3BlcmF0b3IpKSYmKHRoaXMuJGlucGxhY2VFZGl0b3IuaGFzQ2xhc3MoImpzLWhpZGRlbiIpfHwodC52YWx1ZT1udWxsKSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1kcm9wZG93bi10b2dnbGUuaS1vcGVuZWQiKTtvLnNpemUoKT9vLm9uZSgiYWZ0ZXJDbG9zZU1lbnUiLCgoKT0+e3RoaXMuJGlucGxhY2VFZGl0b3IuYWRkQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS1oaWRkZW4ganMtaGlkZGVuIil9KSk6dGhpcy4kaW5wbGFjZUVkaXRvci5hZGRDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLWhpZGRlbiBqcy1oaWRkZW4iKX0pKS5vbigia2V5cHJlc3Mga2V5dXAiLChlPT57MjchPT1lLmtleUNvZGV8fHJzKCIudHYtZHJvcGRvd25fX2JvZHkuaS1vcGVuZWQiKS5sZW5ndGh8fHRoaXMuJGlucGxhY2VFZGl0b3IudHJpZ2dlcigibW91c2Vkb3dub3V0c2lkZSIpfSkpLmF0dHIoInRhYkluZGV4IiwiMCIpLmFwcGVuZFRvKHRoaXMuX2JyaWRnZS4kYm9keSksdGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUmJih0aGlzLiRpbnBsYWNlRWRpdG9yLmFkZENsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0tc3RhbmRhbG9uZSIpLHJzKGRvY3VtZW50KS5vbigic2Nyb2xsIiwoKCk9Pnt0aGlzLiRpbnBsYWNlRWRpdG9yLmlzKCIuanMtaGlkZGVuIil8fHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHRoaXMuJGlucGxhY2VFZGl0b3JUYXJnZXQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApfSkpKSksdGhpcy4kaW5wbGFjZUVkaXRvci5lbXB0eSgpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvcl9fd2l0aG91dC1yZXNldCIpLnJlbW92ZUNsYXNzKCJqcy1oaWRkZW4iKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItaW5wbGFjZS1lZGl0b3ItLXNsaW0iLCJ0b2dnbGUiPT09SXRbZV0uY29udHJvbCkudG9nZ2xlQ2xhc3MoInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yLS13aWRlIiwiY29uZGl0aW9uIj09PUl0W2VdLmNvbnRyb2wpLHRoaXMuYWRkRmllbGRGaWx0ZXIoZSx0aGlzLiRpbnBsYWNlRWRpdG9yLCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvciIsITApLnRoZW4oKCgpPT57dGhpcy5pbml0RmlsdGVySGFuZGxlcnModGhpcy4kaW5wbGFjZUVkaXRvcil9KSk7Y29uc3Qgbz10aGlzLiRpbnBsYWNlRWRpdG9yLmZpbmQoIi5qcy1yZXNldCIpLGk9SXRbZV0uaW5wbGFjZUVkaXRvckxlZnRPZmZzZXR8fDAsbj10aGlzLl9nZXRJbnBsYWNlRWRpdG9yQm91bmQoKSxyPXQucG9zaXRpb24oKS5sZWZ0O2lmKHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJ0b3AiLHQub2Zmc2V0KCkudG9wLXRoaXMuX2JyaWRnZS4kYm9keS5vZmZzZXQoKS50b3ApLCgwLEtvLmlzUnRsKSgpKXtjb25zdCBlPXIrdC53aWR0aCgpLHM9aStNYXRoLm1pbih0aGlzLiRjb250ZW50LndpZHRoKCktZSxuKS1vLndpZHRoKCk7dGhpcy4kaW5wbGFjZUVkaXRvci5jc3MoInJpZ2h0IixNYXRoLm1heChzLDApKX1lbHNlIHRoaXMuJGlucGxhY2VFZGl0b3IuY3NzKCJsZWZ0IixNYXRoLm1heChpK01hdGgubWluKHIsbiktby53aWR0aCgpLDApKTt0aGlzLiRpbnBsYWNlRWRpdG9yLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1pbnBsYWNlLWVkaXRvci0taGlkZGVuIikuZm9jdXMoKSx0aGlzLl9tb2RlbC50cmFja0V2ZW50KCJPcGVuIGlucGxhY2UgZWRpdG9yIil9X2dldElucGxhY2VFZGl0b3JCb3VuZCgpe2xldCBlPXRoaXMuX2JyaWRnZS4kYm9keS53aWR0aCgpLXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCk7aWYodGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2NvbnN0IHQ9dGhpcy5fZ2V0UmVzaXplckJyaWRnZVdpZHRoKCksbz10aGlzLl90YWJsZS4kZWxlbWVudC53aWR0aCgpK3Q7cnMod2luZG93KS53aWR0aCgpPG8mJihlPSgwLApLby5pc1J0bCkoKT9ycyh3aW5kb3cpLndpZHRoKCktdC10aGlzLiRpbnBsYWNlRWRpdG9yLm91dGVyV2lkdGgoKS1ycyhkb2N1bWVudCkuc2Nyb2xsTGVmdCgpOnJzKHdpbmRvdykud2lkdGgoKS10LXRoaXMuJGlucGxhY2VFZGl0b3Iub3V0ZXJXaWR0aCgpK3JzKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkpfXJldHVybiBlfXNldEZpbHRlclNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpbHRlclNldEJ5SWQoZSk7dGhpcy4kZmlsdGVyU2V0c0J1dHRvbi5yZW1vdmVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS11bnNhdmVkIikuYXR0cigiZGF0YS1maWx0ZXItc2V0IixlKSx0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0LnRpdGxlKSx0aGlzLl9wb3B1cHMuJGZpbHRlclNldHNQb3B1cCYmKHRoaXMuX3BvcHVwcy4kZmlsdGVyU2V0c1BvcHVwLmZpbmQoIi50di1zY3JlZW5lci1wb3B1cF9faXRlbSIpLnJlbW92ZUNsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9faXRlbS0tYWN0aXZlIiksdGhpcy5fcG9wdXBzLiRmaWx0ZXJTZXRzUG9wdXAuZmluZChgW2RhdGEtc2V0PSIke2V9Il1gKS5hZGRDbGFzcygidHYtc2NyZWVuZXItcG9wdXBfX2l0ZW0tLWFjdGl2ZSIpKX1zZXRGaWVsZFNldChlKXtjb25zdCB0PXRoaXMuX21vZGVsLmdldEZpZWxkU2V0QnlJZChlKTt0aGlzLiRmaWVsZFNldHNCdXR0b24ucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tdW5zYXZlZCIpLnRleHQodC50aXRsZSkuYXR0cigiZGF0YS1maWVsZC1zZXQiLGUpfXVwZGF0ZUludGVydmFsQnV0dG9uKGU9dGhpcy5fJHNlbGVjdEludGVydmFsQnV0dG9uLHQ9dGhpcy5fbW9kZWwuc2VsZWN0ZWRJbnRlcnZhbElkKXtpZighZSlyZXR1cm47Y29uc3Qgbz1kZSh0KTtvJiZlLmh0bWwoby5zaG9ydFRpdGxlKTtjb25zdCBpPXRoaXMuX21vZGVsLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCk7ZS50b2dnbGVDbGFzcygiaS1oaWRkZW4iLGk9PT1Xby5XaWRnZXQpfWFkZEludGVydmFsU2VsZWN0KHskYmVmb3JlOmU9bnVsbCwkYXBwZW5kVG86dD1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9KXtyZXR1cm4gT24oeyRiZWZvcmU6ZSwkYXBwZW5kVG86dCwkZHJvcGRvd25Db250YWluZXI6aSxtYWtlU2VsZWN0UG9wdXA6ZT0+e2NvbnN0IHQ9T2JqZWN0LmFzc2lnbih7YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzY1MykpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2ludGVydmFsLXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIGktZGlzYWJsZWQifSx0KX0sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDooZSx0LG8pPT57dGhpcy5fcG9wdXBzLnNldFNlbGVjdEludGVydmFsQ29udGVudChlLG8sKGU9Pnt0aGlzLl9tb2RlbC5zZXRTZWxlY3RlZEludGVydmFsSWQoZS5pZCksdGhpcy51cGRhdGVJbnRlcnZhbEJ1dHRvbih0LGUuaWQpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKSx0aGlzLnByZXZlbnRIaWdobGlnaHRDaGFuZ2VzKCksdGhpcy5yZWZyZXNoKCl9KSl9LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6KGUsdCk9Pnt0aGlzLl9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMudXBkYXRlSW50ZXJ2YWxCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEludGVydmFsSWQpfSksITApfX0pfXVwZGF0ZUdyb3Vwc0J1dHRvbihlLHQpe3Quc29ydCgoKGUsdCk9Pkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKGUpPkl0LnNlY3Rvci5zb3VyY2VSYW5nZS5pbmRleE9mKHQpPzE6LTEpKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyl7Y29uc3Qgbj10W2ldPT09X3M/aHM6YCR7dFtpXX0ke2k9PT10Lmxlbmd0aC0xPyIgIitfLnQobnVsbCx2b2lkIDAsbyg0MDY2NzcpKToiIn1gO2UuYXBwZW5kKHJzKCc8c3BhbiBjbGFzcz0idHYtc2NyZWVuZXItZGlhbG9nX19maWx0ZXItZmllbGQtY29udGVudC12YWx1ZSI+JykudGV4dChuKSl9ZS5hdHRyKCJkYXRhLWdyb3VwcyIsdCl9YWRkR3JvdXBTZWxlY3QoeyRiZWZvcmU6ZT1udWxsLCRhcHBlbmRUbzp0PW51bGwsJGRyb3Bkb3duQ29udGFpbmVyOmk9bnVsbH0pe3JldHVybiBPbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLGJlZm9yZU1ha2luZ1NlbGVjdFBvcHVwOigpPT57aWYoImZvcmV4Ij09PXRoaXMuX21vZGVsLnNjcmVlbmVyX3R5cGUpe2NvbnN0IGU9dGhpcy5fbW9kZWwuc2VsZWN0ZWRHcm91cHM7LTE9PT1lLmluZGV4T2YoX3MpJiYoSXQuc2VjdG9yLnZhbHVlPWUpfX0sbWFrZVNlbGVjdFBvcHVwOmU9Pntjb25zdCB0PXt3cmFwQ2xhc3M6IiIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXNwYWNlX3JpZ2h0IHR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbi0tYXJyb3ctZG93biB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtc3RhdGUgYXBwbHktY29tbW9uLXRvb2x0aXAgY29tbW9uLXRvb2x0aXAtZml4ZWQgaS1kaXNhYmxlZCJ9OyJmb3JleCIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlJiYodC53cmFwQ2xhc3MrPSIgaS1oaWRkZW4iKTtjb25zdCBpPU9iamVjdC5hc3NpZ24oe2J1dHRvblRpdGxlOl8udChudWxsLHZvaWQgMCxvKDc5MDY1NikpfSxlKTtyZXR1cm4gdGhpcy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHQsaSl9LGFmdGVyTWFraW5nU2VsZWN0UG9wdXA6KGUsdCxvKT0+e3Qub24oImNsaWNrIiwoKCk9PntvLm9mZigiY2hhbmdlIGNsaWNrIHRvdWNoZW5kIiksZS5hdHRyKHsiZGF0YS1zZWxlY3QtbmFtZSI6ImZvcmV4LWdyb3VwIn0pLAp0aGlzLl9jcmVhdGVNdWx0aVNlbGVjdEl0ZW1zRWxlbWVudCgic2VjdG9yIixvLGUsInR2LXNjcmVlbmVyLWlucGxhY2UtZWRpdG9yIiwhMSwoZT0+e3QuZW1wdHkoKTtjb25zdCBvPVtdO2UuZmluZCgiLmpzLWZpbHRlci1jaGVja2JveDpjaGVja2VkLCAuanMtZmlsdGVyLWNoZWNrYm94LWFueTpjaGVja2VkIikuZWFjaCgoKGUsdCk9Pntjb25zdCBpPXJzKHQpLmF0dHIoIm5hbWUiKTtvLnB1c2goaSl9KSksdGhpcy5fbW9kZWwuc2V0U2VsZWN0ZWRHcm91cHMobyk7Y29uc3QgaT1vLm1hcCgoZT0+aHRbZV18fGUpKTt0aGlzLnVwZGF0ZUdyb3Vwc0J1dHRvbih0LGkpLHRoaXMudXBkYXRlVG9vbGJhckJ1dHRvbnMoKX0pLCExLHVzKX0pKX0sYWZ0ZXJTZWxlY3RQb3B1cEFwcGVuZDooZSx0KT0+e3RoaXMuXyRncm91cFNlbGVjdD1lLHRoaXMuX21vZGVsLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt0LnJlbW92ZUNsYXNzKCJpLWRpc2FibGVkIiksdC5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItZm9yZXgtcGFpcnMiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksdGhpcy51cGRhdGVHcm91cHNCdXR0b24odCx0aGlzLl9tb2RlbC5zZWxlY3RlZEdyb3Vwcyl9KSwhMCl9fSl9dXBkYXRlTWFya2V0QnV0dG9uKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFya2V0cyxvPXJzKCIuanMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiIpO2xldCBpLG4scjtpZigxPT09dC5sZW5ndGgpe2NvbnN0IGU9dFswXSxvPUYodGhpcy5fbW9kZWwuc2NyZWVuZXJfdHlwZSk7aT10WzBdLG49b1tlXS5mbGFnP2A8aW1nIGFsdD0iJHtzPW9bZV0uZmxhZ30iIGNyb3Nzb3JpZ2luIHNyYz0iJHsoMCxnby5mbGFnVXJsKShzKX0iIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS0ke3N9Ij5gOm9bZV0uaWNvbixyPW9bZV0udGl0bGV9ZWxzZSBpPSJnbG9iYWwiLHI9Imdsb2JhbCIsbj1ycygnXG5cdFx0XHRcdDxpIGFsdD0iZ2xvYmUiIGNsYXNzPSJ0di1mbGFnLWNvdW50cnkgdHYtZmxhZy1jb3VudHJ5LS1nbG9iZSI+XG5cdFx0XHRcdDwvaT5cblx0XHRcdCcpLmh0bWwobnMpO3ZhciBzO28uYXR0cih7ImRhdGEtbmFtZSI6InNjcmVlbmVyLW1hcmtldHMiLCJkYXRhLXJvbGUiOiJidXR0b24iLCJkYXRhLW1hcmtldCI6aX0pLG8uaHRtbChuKSxvLnBhcmVudCgpLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0LS1oaWRkZW4iLCJzdG9jayIhPT10aGlzLl9tb2RlbC5zY3JlZW5lcl90eXBlKSxlJiZlLmFwcGVuZChgPHNwYW4gY2xhc3M9InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3RfX2J1dHRvbi10aXRsZSI+XG5cdFx0XHRcdCR7cn1cblx0XHRcdDwvc3Bhbj48c3BhbiBjbGFzcz0idHYtY2FyZXQiPmApfV9zaG93TWFya2V0c0RpYWxvZygpe3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfWFkZE1hcmtldFNlbGVjdCh7JGJlZm9yZTplPW51bGwsJGFwcGVuZFRvOnQ9bnVsbCwkZHJvcGRvd25Db250YWluZXI6aT1udWxsLGNhcHRpb246cj0hMSxjbGFzc1N1ZmZpeDpzPW51bGx9KXtpZih0aGlzLl9vbldpZGdldClyZXR1cm47Y29uc3QgYT1Pbih7JGJlZm9yZTplLCRhcHBlbmRUbzp0LCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDooKT0+e2NvbnN0IGU9e3dyYXBDbGFzczpzPyJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0IHR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiK3M6InR2LXNjcmVlbmVyLW1hcmtldC1zZWxlY3QiLGJ1dHRvbkNsYXNzOiJ0di1zY3JlZW5lci1tYXJrZXQtc2VsZWN0X19idXR0b24ganMtc2NyZWVuZXItbWFya2V0LWJ1dHRvbiBhcHBseS1jb21tb24tdG9vbHRpcCBjb21tb24tdG9vbHRpcC1maXhlZCJ9LHt3cmFwQ2xhc3M6dCxidXR0b25DbGFzczppfT1lLG49cnMoYDxkaXYgY2xhc3M9IiR7dH0gdHYtZHJvcGRvd24gdHYtZHJvcGRvd24tLWlubGluZSB0di1kcm9wZG93bi1iZWhhdmlvciI+YCk7cmV0dXJueyR3cmFwOm4sJGJ1dHRvbjpycyhgPGRpdiBjbGFzcz0idHYtZHJvcGRvd25fX2J1dHRvbiB0di1kcm9wZG93bi1iZWhhdmlvcl9fYnV0dG9uICR7aX0iIHRpdGxlPSIke18udChudWxsLHZvaWQgMCxvKDU1MzE2NCkpfSI+YCkuYXBwZW5kVG8obil9fX0pO3JldHVybiB0aGlzLmdldFNjcmVlbmVyTWFya2V0RGlhbG9nT3B0aW9ucz0oKT0+KHt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbyg5ODQ3OTApKSxpbml0aWFsU2VsZWN0ZWRNYXJrZXRzOnRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/WygwLG9zLmVudGlyZVdvcmxkTWFya2V0c1ByZXNldCkoKV06KDAsaXMuZ2V0TWFya2V0c0J5TmFtZXMpKFRuLHRoaXMuX21vZGVsLm1hcmtldHMpLGF1dG9mb2N1czohMCxpbml0aWFsTW9kZTooMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpP24uZ2V0VmFsdWUodHMsUXIuTWFya2V0RGlhbG9nTW9kZS5TaW5nbGUpOlFyLk1hcmtldERpYWxvZ01vZGUuU2luZ2xlLGRlZmF1bHRNYXJrZXQ6eG4sb25TZWxlY3RDb21wbGV0ZTplPT57dmFyIHQ7dD1lLm1vZGUsbi5zZXRWYWx1ZSh0cyx0KTtjb25zdCBvPWUubWFya2V0cy5tYXAoKGU9PmUudmFsdWUpKTt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITApLHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ9MT09PW8ubGVuZ3RoJiYiZW50aXJlX3dvcmxkIj09PW9bMF0sdGhpcy5fbW9kZWwuc2V0TWFya2V0KHRoaXMuX21vZGVsLmlzRW50aXJlV29ybGQ/W106bykudGhlbigoKCk9Pnt0aGlzLiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSksdGhpcy4kZmlsdGVyc0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpCn0pKS5jYXRjaCgoZT0+e2UmJmxzLmxvZ0Vycm9yKGUpfSkpfSxvbkNsb3NlOigpPT57KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IHluLkNoYW5nZU1hcmtldEV2ZW50KHRoaXMuX21vZGVsLm1hcmtldHMuam9pbigiLCIpKSl9fSksYS5vbigiY2xpY2siLCgoKT0+e3duKHRoaXMuZ2V0U2NyZWVuZXJNYXJrZXREaWFsb2dPcHRpb25zKCkpfSkpLHRoaXMudXBkYXRlTWFya2V0QnV0dG9uKHImJmF8fG51bGwpLGF9cmVmcmVzaCgpe2RvY3VtZW50LmhpZGRlbnx8dGhpcy5fdGVtcEJ1c3l8fCh0aGlzLl9kYXRhJiYodGhpcy5fcHJldkRhdGE9dGhpcy5fZGF0YS5zbGljZSgpKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX21vZGVsLnVwZGF0ZShudWxsLCExLCExLCExLCEwKSl9Z2V0IHJlZnJlc2hJbnRlcnZhbHMoKXtyZXR1cm4gdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaD92czpnc31yZXNldFJlZnJlc2hDb3VudGVyKGUpe2lmKGNsZWFySW50ZXJ2YWwodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkKSwhMD09PWUpcmV0dXJuO2xldCB0PXRoaXMuX21vZGVsLnJlZnJlc2hJbnRlcnZhbDtjb25zdCBvPS0xPT09dHx8IXVzZXIuaXNfcHJvJiYhdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaDtpZih0aGlzLiRyZWZyZXNoQnV0dG9uJiZ0aGlzLiRyZWZyZXNoQnV0dG9uLnRvZ2dsZUNsYXNzKCJ0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLXdpdGgtY291bnRlciIsIW8mJiF0aGlzLl9tb2RlbC5pc0Zhc3RSZWZyZXNoKS50b2dnbGVDbGFzcygidHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS1hY3RpdmUiLCFvKSxvKXJldHVybjtjb25zdCBpPSgpPT57aWYoIXRoaXMuX21vZGVsLmlzRmFzdFJlZnJlc2gpe2NvbnN0IGU9dC82MHwwLG89dCU2MDt0aGlzLiRyZWZyZXNoQ291bnRlci50ZXh0KGAke2AwMCR7ZX1gLnNsaWNlKC0yKX06JHtgMDAke299YC5zbGljZSgtMil9YCl9dDw9MD90aGlzLnJlZnJlc2goKTotLXR9O2koKSx0Pj0wJiYodGhpcy5fcmVmcmVzaENvdW50ZXJJbnRlcnZhbElkPXNldEludGVydmFsKGksMWUzKSl9cHJldmVudEhpZ2hsaWdodENoYW5nZXMoKXt0aGlzLl9wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcz0hMH1oaWdobGlnaHRDaGFuZ2VzKCl7aWYodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXMpcmV0dXJuIHZvaWQodGhpcy5fcHJldmVudEhpZ2hsaWdodENoYW5nZXM9ITEpO2lmKCF0aGlzLl9wcmV2RGF0YXx8IXRoaXMuX2RhdGF8fHRoaXMuX21vZGVsLm1hcmtldENoYW5nZVByb2Nlc3MpcmV0dXJuO2NvbnN0IGU9e307Zm9yKGxldCB0PTA7dDwodGhpcy5fcHJldkRhdGF8fFtdKS5sZW5ndGg7Kyt0KWVbdGhpcy5fcHJldkRhdGFbdF0uc109dGhpcy5fcHJldkRhdGFbdF0uZDtpZihkZWxldGUgdGhpcy5fcHJldkRhdGEsdGhpcy5fbW9kZWwuaXNGYXN0UmVmcmVzaCl7Y29uc3QgdD1bImJpZCIsImFzayIsImNsb3NlIl07Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtjb25zdCBzPSgpPT57dGhpcy5fdGFibGUuZmxpY2tSb3coaSl9O2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXRbZV0scz10aGlzLl90YWJsZS5maWVsZHNPcmRlci5pbmRleE9mKG8pO2lmKG5bc10hPT1yW3NdKXtjb25zdCBlPW5bc10+cltzXTt0aGlzLl90YWJsZS5oaWdobGlnaHRDZWxsKGksbyxlKX19c2V0VGltZW91dChzLDFlMyl9cmV0dXJufWNvbnN0IHQ9W107Zm9yKGxldCBvPTA7bzx0aGlzLl9kYXRhLmxlbmd0aDsrK28pe2NvbnN0IGk9dGhpcy5fZGF0YVtvXS5zLG49dGhpcy5fZGF0YVtvXS5kLHI9ZVtpXTtpZighciljb250aW51ZTtsZXQgcz0hMTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSlpZihuW2VdIT09cltlXSl7cz0hMDticmVha31zJiZ0LnB1c2goaSl9dC5sZW5ndGgmJnRoaXMuX3RhYmxlLiR0Ym9keS5maW5kKGB0cltkYXRhLXN5bWJvbD0iJHt0LmpvaW4oJyJdLHRyW2RhdGEtc3ltYm9sPSInKX0iXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci10YWJsZV9fcmVzdWx0LXJvdy0tZmxpY2siKX1fY3JlYXRlU3dpdGNoKGUpe3RoaXMuJHN3aXRjaD1ycygnPGRpdiBjbGFzcz0idHYtc2NyZWVuZXItdG9vbGJhcl9fc3dpdGNoIj4nKS5hcHBlbmRUbyh0aGlzLiR0b29sYmFyKTtjb25zdCB0PXttb2RlczplLG9uQ2hhbmdlOmU9PnRoaXMuX21vZGVsLmFwcGx5U3dpdGNoKGUpfTshZnVuY3Rpb24oZSx0KXtEaS5yZW5kZXIoTGkuY3JlYXRlRWxlbWVudChxaSx7Li4udH0pLGUpfSh0aGlzLiRzd2l0Y2hbMF0sdCl9Z2V0IGNvbmRpdGlvbk9wZXJhdG9ycygpe3JldHVybiBjc319dmFyIFNzPW8oMjAzNjgxKSx3cz1vKDM4NjkzMSksQ3M9bygxNTI2OTkpLGtzPW8oNTY5Mzk4KTtjb25zdCBUcz0oKT0+d2luZG93LlNDUkVFTkVSX0hPU1R8fCJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjt2YXIgRXM9bygxNTY4NTApO2NsYXNzIHhze2NvbnN0cnVjdG9yKCl7dGhpcy5fbG9jYWxTZXR0aW5ncz17fX1nZXRWYWx1ZShlLHQpe3JldHVybiB0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpP3RoaXMuX2xvY2FsU2V0dGluZ3NbZV06dH1zZXRWYWx1ZShlLHQpe3RoaXMuX2xvY2FsU2V0dGluZ3NbZV09dH1nZXRJbnQoZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfWdldEJvb2woZSx0KXtyZXR1cm4gdGhpcy5nZXRWYWx1ZShlLHQpfXNldEludChlLHQpe3RoaXMuc2V0VmFsdWUoZSx0KX1nZXRKU09OKGUsdCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoZSx0KX1zZXRKU09OKGUsdCl7dGhpcy5zZXRWYWx1ZShlLHQpfXJlbW92ZShlKXt0aGlzLl9sb2NhbFNldHRpbmdzLmhhc093blByb3BlcnR5KGUpJiZkZWxldGUgdGhpcy5fbG9jYWxTZXR0aW5nc1tlXX19dmFyIEFzPW8oMjMyOTQ4KSxNcz1vKDMwNTQ2Nik7ZnVuY3Rpb24gSXMoZSl7Y29uc3R7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OmksY29udGVudDpufT1lCjtyZXR1cm4gdD09PUxzLlNZTUJPTD9fLnQobnVsbCx2b2lkIDAsbyg3MDk0OTcpKTppJiZ0PT09THMuTUFSS0VUP18udChudWxsLHZvaWQgMCxvKDkzOTEzNikpOmk/Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSkrYCAoJHtufSlgOm59ZnVuY3Rpb24gUnMoZSl7Y29uc3R7aXNHbG9iYWw6dCxmaW5hbmNpYWxDdXJyZW5jeTppLHN5bWJvbEN1cnJlbmNpZXM6bn09ZTtsZXQgcj1bXTt0JiZyLnB1c2goe3ZhbHVlOkxzLk1BUktFVCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oOTM5MTM2KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMzg3MzUyKSl9KTtjb25zdCBzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/e3ZhbHVlOkxzLkdMT0JBTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6RHMuVVNELGRlc2NyaXB0aW9uOl8udChudWxsLHZvaWQgMCxvKDYwNTY3NCkpfTp7dmFsdWU6dCxpc01hcmtldEN1cnJlbmN5OiEwLGNvbnRlbnQ6dCxkZXNjcmlwdGlvbjpfLnQobnVsbCx2b2lkIDAsbygzODczNTIpKX19KHQsaSk7ci5wdXNoKHMpO2NvbnN0IGE9T2JqZWN0LmtleXMoRHMpLmZpbHRlcigoZT0+ZSE9PWkpKSxsPWEubWFwKChlPT4oe3ZhbHVlOmUsaXNNYXJrZXRDdXJyZW5jeTohMSxjb250ZW50OmUsZGVzY3JpcHRpb246dm9pZCAwfSkpKTtyPVsuLi5yLC4uLmxdO3JldHVybiAxPT09bi5sZW5ndGgmJltpLC4uLmFdLmluY2x1ZGVzKG5bMF0pfHxyLnVuc2hpZnQoe3ZhbHVlOkxzLlNZTUJPTCxpc01hcmtldEN1cnJlbmN5OiExLGNvbnRlbnQ6Xy50KG51bGwsdm9pZCAwLG8oNzA5NDk3KSksZGVzY3JpcHRpb246Xy50KG51bGwsdm9pZCAwLG8oMTk0NjAwKSl9KSx7ZGVmYXVsdEN1cnJlbmN5OnMsY3VycmVuY2llczpyfX1jbGFzcyBGc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmV2ZW50PSJjb252ZXJ0X2N1cnJlbmN5Iix0aGlzLnNvdXJjZT0iY29udmVydF9jdXJyZW5jeV9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fXZhciBMcyxEcyxPcz1vKDQ4MjUwNCk7IWZ1bmN0aW9uKGUpe2UuTUFSS0VUPSJtYXJrZXQiLGUuU1lNQk9MPSJzeW1ib2wiLGUuR0xPQkFMPSJnbG9iYWwifShMc3x8KExzPXt9KSksZnVuY3Rpb24oZSl7ZS5VU0Q9IlVTRCJ9KERzfHwoRHM9e30pKTtjbGFzcyBOc3tjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5jcmVhdGVDdXJyZW5jeVNlbGVjdD0oKT0+KHtzZWxlY3RCdXR0b246dGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0KHskYmVmb3JlOnRoaXMuX3ZpZXcuJGZpbHRlclNldHNCdXR0b24ucGFyZW50KCl9KS5hdHRyKHsiZGF0YS1uYW1lIjoic2NyZWVuZXItcHJpY2UtY3VycmVuY3kiLCJkYXRhLXJvbGUiOiJidXR0b24ifSksY3VycmVuY3lTZWxlY3Q6dGhpc30pLHRoaXMuZ2V0UHJpY2VDb252ZXJzaW9uT2JqZWN0PSgpPT57Y29uc3R7dmFsdWU6ZSxpc01hcmtldEN1cnJlbmN5OnR9PXRoaXMuZ2V0Q3VycmVudEN1cnJlbmN5KCk7cmV0dXJuIGU9PT1Mcy5TWU1CT0w/e3RvX3N5bWJvbDohMH06dD97dG9fc3ltYm9sOiExfTplPT09THMuR0xPQkFMP251bGw6e3RvX3N5bWJvbDohMSx0b19jdXJyZW5jeTplfX0sdGhpcy5faW5pdEN1cnJlbmN5U2VsZWN0PWU9Pntjb25zdHskYmVmb3JlOnQ9bnVsbCwkYXBwZW5kVG86bz1udWxsLCRkcm9wZG93bkNvbnRhaW5lcjppPW51bGx9PWU7aWYoISh0fHxvKSl0aHJvdyBuZXcgRXJyb3IoIlByb3ZpZGUgYXQgbGVhc3Qgb25lIG9mICRiZWZvcmUgb3IgJGFwcGVuZFRvIGZvciBTZWNyZWVuZXJDdXJyZW5jeVNlbGVjdCIpO3JldHVybiBPbih7JGJlZm9yZTp0LCRhcHBlbmRUbzpvLCRkcm9wZG93bkNvbnRhaW5lcjppLG1ha2VTZWxlY3RQb3B1cDp0aGlzLl9jcmVhdGVTZWxlY3RCdXR0b24sYWZ0ZXJNYWtpbmdTZWxlY3RQb3B1cDp0aGlzLl9zZXRTZWxlY3RDb250ZW50LGFmdGVyU2VsZWN0UG9wdXBBcHBlbmQ6dGhpcy5fb25Mb2FkfSl9LHRoaXMuX2NyZWF0ZVNlbGVjdEJ1dHRvbj1lPT57Y29uc3QgdD17YnV0dG9uVGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNjEzMTQpKSwuLi5lfTtyZXR1cm4gdGhpcy5fdmlldy5fcG9wdXBzLnNldFNlbGVjdFBvcHVwKHt3cmFwQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2N1cnJlbmN5LXNlbGVjdCIsYnV0dG9uQ2xhc3M6InR2LXNjcmVlbmVyLXRvb2xiYXJfX2J1dHRvbiB0di1zY3JlZW5lci10b29sYmFyX19idXR0b24tLWFycm93LWRvd24gdHYtc2NyZWVuZXItdG9vbGJhcl9fYnV0dG9uLS13aXRoLXN0YXRlIGFwcGx5LWNvbW1vbi10b29sdGlwIGNvbW1vbi10b29sdGlwLWZpeGVkIn0sdCl9LHRoaXMuX3NldFNlbGVjdENvbnRlbnQ9KGUsdCxvKT0+e28uZW1wdHkoKTtmb3IoY29uc3QgZSBvZiB0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzKXtjb25zdHt2YWx1ZTp0LGNvbnRlbnQ6aSxkZXNjcmlwdGlvbjpufT1lLHI9SXMoZSk7T3MoYDxkaXYgY2xhc3M9InR2LWRyb3Bkb3duLWJlaGF2aW9yX19pdGVtIj5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGRhdGEtY3VycmVuY3k9IiR7dH0iXG5cdFx0XHRcdFx0dGl0bGU9IiR7bnx8aX0iXG5cdFx0XHRcdFx0Y2xhc3M9InR2LWNvbnRyb2wtc2VsZWN0X19vcHRpb24td3JhcCB0di1zY3JlZW5lci1wb3B1cF9faXRlbSBqcy1jdXJyZW5jeS1zZWxlY3QgJHt0PT09dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlPyJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiOiIifSJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdCR7cn1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5gKS5hcHBlbmRUbyhvKX1lLm9uKCJhZnRlck9wZW5NZW51IiwoKCk9PntvLm9uKCJjbGljayIsIi5qcy1jdXJyZW5jeS1zZWxlY3QiLCh0PT57dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fY3VycmVudEN1cnJlbmN5LnZhbHVlLG49dC5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuY3VycmVuY3kKO24mJm4hPT1pJiYoby5maW5kKCIudHYtc2NyZWVuZXItcG9wdXBfX2N1cnJlbmN5LXNlbGVjdC0tYWN0aXZlIikucmVtb3ZlQ2xhc3MoInR2LXNjcmVlbmVyLXBvcHVwX19jdXJyZW5jeS1zZWxlY3QtLWFjdGl2ZSIpLG8uZmluZChgW2RhdGEtY3VycmVuY3k9JyR7bn0nXWApLmFkZENsYXNzKCJ0di1zY3JlZW5lci1wb3B1cF9fY3VycmVuY3ktc2VsZWN0LS1hY3RpdmUiKSx0aGlzLl9oYW5kbGVTZWxlY3Qobiksc2V0VGltZW91dCgoKCk9PntlLnR2RHJvcGRvd24oImNsb3NlIiksby5vZmYoImNsaWNrIil9KSxtby5kdXIvMikpfSkpfSkpfSx0aGlzLl9oYW5kbGVTZWxlY3Q9ZT0+e3RoaXMuX2N1cnJlbnRDdXJyZW5jeT10aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzLmZpbHRlcigodD0+dC52YWx1ZT09PWUpKVswXSxmdW5jdGlvbihlKXtpZihlLmlzTWFya2V0Q3VycmVuY3kpcmV0dXJuIHZvaWQoMCxZby5zZW5kU25vd1Bsb3dEYXRhKShuZXcgRnMoIm1hcmtldF9jdXJyZW5jeSIpKTtpZihlLnZhbHVlPT09THMuU1lNQk9MKXJldHVybiB2b2lkKDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJzeW1ib2xfY3VycmVuY3kiKSk7KDAsWW8uc2VuZFNub3dQbG93RGF0YSkobmV3IEZzKCJ1c2QiKSl9KHRoaXMuX2N1cnJlbnRDdXJyZW5jeSksdGhpcy5fdXBkYXRlU2VsZWN0QnV0dG9uKCksdGhpcy5fdmlldy5wcmV2ZW50SGlnaGxpZ2h0Q2hhbmdlcygpLHRoaXMuX3ZpZXcucmVmcmVzaCgpfSx0aGlzLl9vbkxvYWQ9KGUsdCk9Pnt0aGlzLl92aWV3Ll9tb2RlbC5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dC5yZW1vdmVDbGFzcygiaS1kaXNhYmxlZCIpLHRoaXMuX3VwZGF0ZVNlbGVjdEJ1dHRvbigpfSksITApfSx0aGlzLl91cGRhdGVTZWxlY3RCdXR0b249KCk9Pntjb25zdHtjb250ZW50OmV9PXRoaXMuX2N1cnJlbnRDdXJyZW5jeSx0PV8udChudWxsLHZvaWQgMCxvKDM0MTI0NCkpK2A6ICR7ZX1gO3RoaXMuX3ZpZXcuXyRjdXJyZW5jeVNlbGVjdEJ1dHRvbi5odG1sKHQpfSx0aGlzLl9hdmFpbGFibGVDdXJyZW5jaWVzPWUsdGhpcy5fY3VycmVudEN1cnJlbmN5PXQsdGhpcy5fdmlldz1pfWdldEN1cnJlbnRDdXJyZW5jeSgpe3JldHVybiB0aGlzLl9jdXJyZW50Q3VycmVuY3l9fWZ1bmN0aW9uIFBzKGUsdCxvKXtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24mJihvLl8kY3VycmVuY3lTZWxlY3RCdXR0b24ucGFyZW50KCkucmVtb3ZlKCksby5fbW9kZWwuX2N1cnJlbmN5U2VsZWN0PXZvaWQgMCk7Y29uc3QgaT1vLl9icmlkZ2U7aWYoIWV8fCgwLEFuLmlzRXh0ZXJuYWxXaWRnZXQpKGkpfHxpLmhpZGVfY29udHJvbHMpcmV0dXJuO2NvbnN0IG49ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZS5fbW9kZWwubWFya2V0cykmJmUuX21vZGVsLm1hcmtldHMubGVuZ3RoPjF9KG8pLHtkZWZhdWx0Q3VycmVuY3k6cixjdXJyZW5jaWVzOnN9PVJzKHtpc0dsb2JhbDpuLGZpbmFuY2lhbEN1cnJlbmN5OmUsc3ltYm9sQ3VycmVuY2llczp0fSk7aWYoMT09PXMubGVuZ3RoKXJldHVybjtjb25zdCBhPW5ldyBOcyhzLHIsbykse3NlbGVjdEJ1dHRvbjpsLGN1cnJlbmN5U2VsZWN0OmN9PWEuY3JlYXRlQ3VycmVuY3lTZWxlY3QoKTtvLl8kY3VycmVuY3lTZWxlY3RCdXR0b249bCxvLl9tb2RlbC5fY3VycmVuY3lTZWxlY3Q9Y312YXIgQnM9byg5MjY5OTUpLCRzPW8oMzUxODI3KTtjb25zdCBXcz17c3RvY2s6e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDU2MzUzMCkpLGNvbnRlbnRUZXh0Ol8udChudWxsLHZvaWQgMCxvKDMyNzMwNSkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDUzMjEwOSkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvc2NyZWVuZXIvIiwiX2JsYW5rIil9LGNsb3NlQWN0aW9uOnt0aXRsZTpfLnQobnVsbCx2b2lkIDAsbygzMjI5ODYpKSxoYW5kbGVyOigpPT4oMCxCcy5zaG93U3VwcG9ydERpYWxvZykoe3NvbHV0aW9uSWQ6NDMwMDA3MTg4NjZ9KX19LGNyeXB0bzp7dGl0bGU6Xy50KG51bGwsdm9pZCAwLG8oNzQ4NTQ0KSksY29udGVudFRleHQ6Xy50KG51bGwse3JlcGxhY2U6e2NyeXB0b0NvaW5zU2NyZWVuZXJMaW5rU3RhcnQ6YDxhIGhyZWY9Ii9jcnlwdG8tY29pbnMtc2NyZWVuZXIvP2Zyb209b2xkLWNyeXB0by1wYWlycyIgY2xhc3M9IiR7JHMubGlua30iIHRhcmdldD0iX2JsYW5rIj5gLGNleFNjcmVlbmVyTGlua1N0YXJ0OmA8YSBocmVmPSIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiIGNsYXNzPSIkeyRzLmxpbmt9IiB0YXJnZXQ9Il9ibGFuayI+YCxkZXhTY3JlZW5lckxpbmtTdGFydDpgPGEgaHJlZj0iL2RleC1zY3JlZW5lci8/ZnJvbT1vbGQtY3J5cHRvLXBhaXJzIiBjbGFzcz0iJHskcy5saW5rfSIgdGFyZ2V0PSJfYmxhbmsiPmAsbGlua0VuZDoiPC9hPiJ9fSxvKDUyOTE2MCkpLGNvbmZpcm1BY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDI5MjAzOCkpLGhhbmRsZXI6KCk9PndpbmRvdy5vcGVuKCIvY2V4LXNjcmVlbmVyLz9mcm9tPW9sZC1jcnlwdG8tcGFpcnMiLCJfYmxhbmsiKX0sY2xvc2VBY3Rpb246e3RpdGxlOl8udChudWxsLHZvaWQgMCxvKDcyNDkxMikpLGhhbmRsZXI6KCk9Pnt9fX19O3ZhciBxcz1vKDc0Njk0OSksVnM9byg0ODI1MDQpO28oNzExOTc5KTtjb25zdCBIcz1vKDIyNTI5OCkubGlua2luZyx7RGVsZWdhdGU6VXN9PW8oOTQ4MzgwKSx6cz1vKDE2MDI5NiksanM9bygyMjEwNjEpLmdldExvZ2dlcigiU2NyZWVuZXIuV2lkZ2V0IiksR3M9d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgWHM9MTUwO2NvbnN0IEtzPWU9Pkl0W2VdJiYhMCE9PUl0W2VdLmRpc2FibGVkJiYhMCE9PUl0W2VdLmhpZGRlbkNvbHVtbixZcz17Zm9yZXg6InNjcmVlbmVyLWZvcmV4IixjcnlwdG86InNjcmVlbmVyLWNyeXB0byIsc3RvY2s6InNjcmVlbmVyIn0sSnM9WyJwcmljZXNjYWxlIiwibWlubW92IiwiZnJhY3Rpb25hbCIsIm1pbm1vdmUyIl07dmFyIFpzPW8oNDgyNTA0KTsoMCxfby5lbmFibGUpKCJ3aWRnZXQiKTtjb25zdCBRcz0oMCwKc28uZXh0cmFjdFdpZGdldFNldHRpbmdzKSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMpLGVhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNqcy1zY3JlZW5lci1jb250YWluZXIiKSx0YT1Rcy5sb2NhbGV8fCJlbiI7IWZ1bmN0aW9uKGUsdCxvLGk9e30pe2lmKG51bGw9PT1lLnBhcmVudEVsZW1lbnQpcmV0dXJuIGNvbnNvbGUud2FybigiQ2FuIG5vdCB3cmFwICdlbFdpZGdldENvbnRhaW5lcicgYmVjYXVzZSBpdCBoYXMgbm8gcGFyZW50RWxlbWVudCIpLGU7bGV0IG49bnVsbCxkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2NvbnN0IGg9bnVsbCE9PWQ7aWYoaCl7ZD0oMCxyLmVuc3VyZU5vdE51bGwpKGQpLG49KDAsci5lbnN1cmVOb3ROdWxsKShkLnBhcmVudEVsZW1lbnQpO2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpO251bGw9PT1lJiYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19oZWFkZXIiKSxlLmNsYXNzTGlzdC5hZGQoImpzLWVtYmVkLXdpZGdldC1oZWFkIiksbi5pbnNlcnRCZWZvcmUoZSxkKSl9ZWxzZSBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uY2xhc3NMaXN0LmFkZCgidHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiKSxuLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2hlYWRlciBqcy1lbWJlZC13aWRnZXQtaGVhZCI+PC9kaXY+PGRpdiBjbGFzcz0idHYtZW1iZWQtd2lkZ2V0LXdyYXBwZXJfX2JvZHkganMtZW1iZWQtd2lkZ2V0LWJvZHkiPjwvZGl2PicsZD1uLnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtYm9keSIpO2lmKGkub3ZlcmZsb3dBdXRvJiZkLmNsYXNzTGlzdC5hZGQoInR2LWVtYmVkLXdpZGdldC13cmFwcGVyX19ib2R5LS1vdmVyZmxvd19hdXRvIiksaS5zaG93Qm9yZGVyT25UcmFuc3BhcmVudCYmZC5jbGFzc0xpc3QuYWRkKCJ0di1lbWJlZC13aWRnZXQtd3JhcHBlcl9fYm9keS0tYm9yZGVyLW9uLXRyYW5zcGFyZW50IiksIWkuaXNXaGl0ZUxhYmVsKXshYXN5bmMgZnVuY3Rpb24oZSx0LG8saSxuPXt9KXtjb25zdCBkPW4uaXNTaGVyaWZmRGlzYWJsZWQ/W106YXdhaXQoMCxzLmdldFdpZGdldFNoZXJpZmZBY3Rpb25zKSgpLGg9ZC5pbmNsdWRlcyhjLktub3duQWN0aW9uLkxhcmdlVHJhZGVMb2dvKSx1PWZ1bmN0aW9uKGUpe3JldHVyblsiY3J5cHRvLWNvaW5zLWhlYXRtYXAiLCJmb3JleC1jcm9zcy1yYXRlcyIsIm1hcmtldC1vdmVydmlldyIsInN5bWJvbC1vdmVydmlldyIsIm1hcmtldC1xdW90ZXMiLCJzdG9jay1oZWF0bWFwIiwic2NyZWVuZXIiLCJmb3JleC1oZWF0LW1hcCIsImNyeXB0by1ta3Qtc2NyZWVuZXIiLCJldmVudHMiLCJob3RsaXN0cyJdLmluY2x1ZGVzKGUpfSh0KSxfPWgmJnU/ImxhcmdlX3RyYWRlIjp2b2lkIDAscD1hd2FpdCgwLGwuZ2V0Q3VzdG9tZXJDb3B5cmlnaHREYXRhKShuLmN1c3RvbWVyLG4ubG9jYWxlLCgwLGwuYWRkVXRtQ2FtcGFpZ25Tb3VyY2UpKHsuLi5pfSwibG9nbyIpLF8pLG09Xz8/bi5jb3B5cmlnaHRPcHRpb25zPy5tb2RlPz8ic21hbGxfb2xkIjsoMCxyLmVuc3VyZU5vdE51bGwpKGUpLmFwcGVuZENoaWxkKCgwLGEuY3JlYXRlQ29weXJpZ2h0TGFiZWwpKHtzaGVyaWZmT3B0aW9uczpkLHNuYXBUb0VkZ2U6bywuLi5uLmNvcHlyaWdodE9wdGlvbnMsLi4ucCxtb2RlOm19KSl9KGQsdCwhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiaXMtdHJhbnNwYXJlbnQiKXx8Qm9vbGVhbihpLnNob3dCb3JkZXJPblRyYW5zcGFyZW50KSxvLGkpfWh8fChlLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG4sZSksZC5hcHBlbmRDaGlsZChlKSl9KGVhLCJzY3JlZW5lciIsKDAsdS5maWx0ZXJVdG1JbmZvKShRcykse2lzV2hpdGVMYWJlbDpRcy53aGl0ZWxhYmVsLGxvY2FsZTp0YSxvdmVyZmxvd0F1dG86ITB9KTtjb25zdCBvYT1acygiI2pzLXNjcmVlbmVyLWNvbnRhaW5lciIpLGlhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5qcy1lbWJlZC13aWRnZXQtaGVhZCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuanMtZW1iZWQtd2lkZ2V0LWJvZHkiKS5zdHlsZS5oZWlnaHQ9YGNhbGMoMTAwJSAtICR7aWF9cHgpYCxRcy5pc1RyYW5zcGFyZW50JiZvYS5hZGRDbGFzcygidHYtd2lkZ2V0LXNjcmVlbmVyX19jb250YWluZXItLXRyYW5zcGFyZW50Iik7Y29uc3QgbmE9ZnVuY3Rpb24oZSl7Y29uc3QgdD1ubyhGKCJzdG9jayIpLGUpLG89bm8oRigiZm9yZXgiKSxlKSxpPW5vKEYoImNyeXB0byIpLGUpO3JldHVybiB0LmNvbmNhdChvKS5jb25jYXQoaSl9KHdpbmRvdy5UcmFkaW5nVmlldy53aWRnZXRDdXN0b21lcikubWFwKChlPT5lLnZhbHVlKSkscmE9WyJtb3JvY2NvIl0sc2E9W107aWYoUXMucGVybWlzc2lvbk92ZXJyaWRlcz8ubWFya2V0Py5pbmNsdWRlcygidWsiKXx8c2EucHVzaCgidWsiKSxRcy5tYXJrZXQpe2NvbnN0IGU9IW5hLmluY2x1ZGVzKFFzLm1hcmtldCksdD1yYS5pbmNsdWRlcyhRcy5tYXJrZXQpLG89c2EuaW5jbHVkZXMoUXMubWFya2V0KTsoZSYmIXR8fG8pJiYoUXMubWFya2V0PW5hWzBdKX12YXIgYWE7UXMuc2NyZWVuZXJfdHlwZXx8KFFzLnNjcmVlbmVyX3R5cGU9dm9pZCAwPT09KGFhPVFzLm1hcmtldCk/ZC5TdG9jazpbImZvcmV4IiwiY3J5cHRvIl0uaW5jbHVkZXMoYWEpP2FhOmQuU3RvY2spO2NvbnN0IGxhPVFzLnNjcmVlbmVyX3R5cGU9PT1kLkNyeXB0b01rdD8iY3J5cHRvbWt0c2NyZWVuZXIiOiJmb3JleHNjcmVlbmVyIixjYT1Rcy5zY3JlZW5lcl90eXBlPT09ZC5DcnlwdG9Na3Q/ImNyeXB0by1ta3Qtc2NyZWVuZXIiOiJzY3JlZW5lciI7IWFzeW5jIGZ1bmN0aW9uKGUpe2F3YWl0IG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsMCkpKSwoYXdhaXQoMCwKYW8uZ2V0VHJhY2tlcikoKSk/LnRyYWNrU2VsZkRlc2MoImlnbHU6Y29tLnRyYWRpbmd2aWV3L3dpZGdldHNfd2l0aG91dF93ZWJzb2NrZXQvanNvbnNjaGVtYS8xLTAtMCIsey4uLmhvKCksd2lkZ2V0X2lkOmUsZXZlbnRfbmFtZToicGFnZV92aWV3In0pfShsYSk7dHJ5eygwLHVvLnRyYWNrV2lkZ2V0TG9hZE1ldGFJbmZvKSh7d2lkZ2V0X2lkOmNhLHN5bWJvbHM6SlNPTi5zdHJpbmdpZnkoW1FzLm1hcmtldF0pLGN1c3RvbWVyOlFzLmN1c3RvbWVyfSl9Y2F0Y2h7fWNvbnN0IGRhPXskYm9keTpvYSxzdGFuZGFsb25lOiExLG9uV2lkZ2V0OiEwLHdpZGdldFNldHRpbmdzOlFzLGhpZGVfY29udHJvbHM6IVFzLnNob3dUb29sYmFyLG1hcmtlZF9zeW1ib2xzX2Rpc2FibGVkOiEwLHRhYmxlX2NvbnRleHRfbWVudV9kaXNhYmxlZDohMSxvcGVuX2NoYXJ0X29uX3NhbWVfdGFiOiExLHNlbGVjdGlvbl9kaXNhYmxlZDohMCxkaXNhYmxlU3RpY2t5SGVhZGVyOiExLGlzVW5hdmFpbGFibGVXaWRnZXRNYXJrZXQ6ISghUXMubWFya2V0fHwhZnVuY3Rpb24oZSl7cmV0dXJuIFcuaW5jbHVkZXMoZSl9KFFzLm1hcmtldCkpfTtWKClbUXMubWFya2V0XSYmKGRhLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzPVYoKVtRcy5tYXJrZXRdKSxuZXcgY2xhc3N7Y29uc3RydWN0b3IoZSl7aWYodGhpcy5fYnJpZGdlPWUsdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbCwhKCIkYm9keSJpbiBlKSYmImNvbnRhaW5lciJpbiBlJiYodGhpcy5fYnJpZGdlLiRib2R5PVZzKGUuY29udGFpbmVyKSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwiYmlnIj09PXRoaXMuX2JyaWRnZS50YWJsZV9zdHlsZT90aGlzLnNldHRpbmdzU2F2ZXI9bmV3IHhzOnRoaXMuc2V0dGluZ3NTYXZlcj1uLHRoaXMuX2JyaWRnZS5wYWdlX3NpemUmJihYcz10aGlzLl9icmlkZ2UucGFnZV9zaXplKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2xldCB0O2lmKGUud2lkZ2V0U2V0dGluZ3MubGFyZ2VDaGFydFVybCl7dD1lLndpZGdldFNldHRpbmdzLmxhcmdlQ2hhcnRVcmw7dC5tYXRjaCgvXmh0dHBzPzpcL1wvLyl8fCh0PSJodHRwOi8vIit0KX1pZih0aGlzLmxhcmdlQ2hhcnRVcmw9dCx0aGlzLnV0bT0oMCx1LmZpbHRlclV0bUluZm8pKGUud2lkZ2V0U2V0dGluZ3MpLHRoaXMuc2NyZWVuZXJfdHlwZT1lLndpZGdldFNldHRpbmdzLnNjcmVlbmVyX3R5cGUsImNyeXB0b19ta3QiPT09dGhpcy5zY3JlZW5lcl90eXBlKXtjb25zdCB0PSJCVEMiPT09ZS53aWRnZXRTZXR0aW5ncy5kaXNwbGF5Q3VycmVuY3k/IkJUQyI6IlVTRCI7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6Im5hbWUiLG9wZXJhdGlvbjoibWF0Y2giLHJpZ2h0OnQrIiQifSxadC51bnNoaWZ0KHtpZDoiY3J5cHRvX21rdCIsdGl0bGU6ImNyeXB0b19ta3QiLGNvbnRlbnQ6e3NvcnRfZmllbGQ6Im1hcmtldF9jYXBfY2FsYyIsc29ydF9kaXJlY3Rpb246ImRlc2MiLGZpbHRlcnM6e3NlY3Rvcjp7b3BlcmF0b3I6Im5lbXB0eSJ9fX19KX19ZWxzZSB0aGlzLl9icmlkZ2Uuc3RhbmRhbG9uZT90aGlzLnNjcmVlbmVyX3R5cGU9ZS5zY3JlZW5lcl90eXBlfHwic3RvY2siOnRoaXMuc2NyZWVuZXJfdHlwZT1kLkNyeXB0bzt0aGlzLnNldHRpbmdLZXk9WXNbdGhpcy5zY3JlZW5lcl90eXBlXXx8WXMuc3RvY2ssdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiZ0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7R3N9LiR7dGhpcy5zZXR0aW5nS2V5fS5tYXJrZXRgLGUud2lkZ2V0U2V0dGluZ3MubWFya2V0LHtmb3JjZUZsdXNoOiEwfSksdGhpcy5kZWZhdWx0RmllbGRTZXRzPWcoe3NjcmVlbmVyVHlwZTp0aGlzLnNjcmVlbmVyX3R5cGUsbWFya2V0czp0aGlzLm1hcmtldHMsaXNDb21wYWN0OnRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSxzdWJ0eXBlOnRoaXMuX3NjcmVlbmVyU3VidHlwZSgpLGlzT25XaWRnZXQ6dGhpcy5fYnJpZGdlLm9uV2lkZ2V0fSksdGhpcy5fYnJpZGdlLm9uV2lkZ2V0JiYodGhpcy5fd2lkZ2V0SW5pdENvbHVtbj1lLndpZGdldFNldHRpbmdzLmRlZmF1bHRDb2x1bW58fHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCx0aGlzLl93aWRnZXRJbml0U2NyZWVuPWUud2lkZ2V0U2V0dGluZ3MuZGVmYXVsdFNjcmVlbnx8WnRbMF0uaWQpLFB0KHRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLl9zY3JlZW5lclN1YnR5cGUoKSksImZvcmV4Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSYmUXQoWyJmb3JleCJdKSx0aGlzLl9icmlkZ2UuZ2V0Q3VycmVudEZpbHRlclNldElkPSgpPT50aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpLHRoaXMuX2JyaWRnZS5hcHBseVN5bWJvbD0oZSx0PSExKT0+e2lmKCEwPT09dHx8dGhpcy5fYnJpZGdlLnN0YW5kYWxvbmUpe2xldCB0PSIiO2NvbnN0IG89KDAsTXMuZ2V0U2hvcnROYW1lQW5kUHJvTmFtZSkoZSk7dD10aGlzLl9icmlkZ2Uub25XaWRnZXQmJnRoaXMubGFyZ2VDaGFydFVybD8oMCxMci5tYWtlVGVtcGxhdGVTeW1ib2xVcmwpKHRoaXMubGFyZ2VDaGFydFVybCxvKTooMCxMci5tYWtlU3ltYm9sQ2hhcnRVcmwpKG8sdGhpcy51dG0pLHdpbmRvdy5vcGVuKHQpfWVsc2UgSHMuc2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsInNjcmVlbmVyIil9LHRoaXMuX2JyaWRnZS5hcHBseUZpbHRlclNldD0oZSx0KT0+e2NvbnN0IG89ISgwLF9pLmRlZmF1bHQpKHQuc29ydCgpLHRoaXMubWFya2V0cy5zb3J0KCkpLGk9b3x8ZSE9PXRoaXMuY3VycmVudEZpbHRlclNldElkKCk7bGV0IG49bz90aGlzLnNldE1hcmtldCh0KS50aGVuKCgoKT0+dGhpcy5fdmlldy51cGRhdGVNYXJrZXRCdXR0b24oKSkpOlByb21pc2UucmVzb2x2ZSgpO3JldHVybiBpJiYobj1uLnRoZW4oKCgpPT50aGlzLmFwcGx5RmlsdGVyU2V0KGUpKSkpLG59LHRoaXMuZGlzYWJsZWQ9bmV3IHBvLldhdGNoZWRWYWx1ZSx0aGlzLmZpZWxkc09yZGVyPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydEZpZWxkPW5ldyBwby5XYXRjaGVkVmFsdWUsdGhpcy5fc29ydERpcmVjdGlvbj1uZXcgcG8uV2F0Y2hlZFZhbHVlLHRoaXMuZW9kUmVzdHJpY3Rpb249bmV3IHBvLldhdGNoZWRWYWx1ZShXby5Ob25lKSwKdGhpcy5fb3B0aW9ucz17fSx0aGlzLl9pbml0aWFsU29ydEZpZWxkPWUuc29ydF9maWVsZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLCJtYXJrZXRfY2FwX2Jhc2ljIiksdGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb249ZS5zb3J0X2RpcmVjdGlvbnx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZGlyZWN0aW9uIiwiZGVzYyIpLHRoaXMudXBkYXRlPSgwLHZvLmRlZmF1bHQpKHRoaXMudXBkYXRlSW1wbC5iaW5kKHRoaXMpLDEwMCksdGhpcy5fc29ydEZpZWxkLnN1YnNjcmliZSgoZT0+e3RoaXMuX3ZpZXcuX3VwZGF0ZVRhYmxlU29ydEZpZWxkKCksdGhpcy5zYXZlRmlsdGVyc1NldHRpbmdzKCksZGVsZXRlIHRoaXMuX2luaXRpYWxTb3J0RmllbGR9KSksdGhpcy5fc29ydERpcmVjdGlvbi5zdWJzY3JpYmUoKGU9Pnt0aGlzLl92aWV3Ll91cGRhdGVUYWJsZVNvcnRGaWVsZCgpLHRoaXMuc2F2ZUZpbHRlcnNTZXR0aW5ncygpLGRlbGV0ZSB0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbn0pKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMSx0aGlzLl9icmlkZ2UudmlzaWJsZSYmKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlLnN1YnNjcmliZSgoZT0+eyF0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbCYmZSYmKHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl9icmlkZ2UuZGlzYWJsZVN0aWNreUhlYWRlcj90aGlzLnVwZGF0ZUltcGwoKTp0aGlzLnVwZGF0ZUltcGwodGhpcy5fdmlldy5fc2V0dXBTdGlja3lIZWFkZXIuYmluZCh0aGlzLl92aWV3KSksdGhpcy5pc1NjcmVlbmVyV2lkZ2V0VXBkYXRlZEltcGw9ITApfSkpLHRoaXMuc2NhblJlcXVlc3Q9bnVsbCx0aGlzLmxvYWRpbmdTdGFydD1uZXcgVXMsdGhpcy5sb2FkaW5nQ29tcGxldGU9bmV3IFVzLHRoaXMuZmllbGRTZXRDaGFuZ2VkPW5ldyBVcyx0aGlzLmZpZWxkU2V0U2F2ZWQ9bmV3IFVzLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXRTYXZlZD1uZXcgVXMsdGhpcy5maWx0ZXJTZXREZWxldGVkPW5ldyBVcyx0aGlzLm1heFNhZmVJbnRlZ2VyPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfHxNYXRoLnBvdygyLDUzKS0xLHRoaXMubWluU2FmZUludGVnZXI9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVJ8fC0oTWF0aC5wb3coMiw1MyktMSksdGhpcy5fdGlja2Vycz1bXSwiY29udGludW91c19mdXR1cmVzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKHRoaXMuX2JyaWRnZS5vcGVuX2NoYXJ0X29uX3NhbWVfdGFiPSExKSx0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9sc3x8dGhpcy5faW5pdFhXaW5kb3dIYW5kbGVycygpLHRoaXMuX3ZpZXc9bmV3IGJzKGUsdGhpcyk7Y29uc3QgdD1bdGhpcy5faW5pdE1hcmtlZFN5bWJvbHModGhpcy5fdmlldyldO3ZhciBpOyF0aGlzLl9icmlkZ2UuX29uV2lkZ2V0JiZ3aW5kb3cucHJvJiZ0LnB1c2god2luZG93LnByby5lbnN1cmVWYWxpZFNob3BDb25mKCkpLFByb21pc2UuYWxsKHQpLnRoZW4oKCgpPT57aWYoKDAsa3MuaXNGZWF0dXJlRW5hYmxlZCkoInNjcmVlbmVyLW1haW50ZW5hbmNlIikpcmV0dXJuIHZvaWQgdGhpcy5fdmlldy5zaG93TWFpbnRlbmFuY2UoKTt0aGlzLl92aWV3LnByZXBhcmVMYXlvdXQoKTtjb25zdCBlPSgpPT57dGhpcy5fY2hlY2tDdXJyZW50U2V0cygpLHRoaXMuX3ZpZXcuX3NlbGVjdGVkUGVyaW9kSWQmJiJ0b2RheSI9PT10aGlzLl92aWV3Ll9zZWxlY3RlZFBlcmlvZElkPyh0aGlzLmFwcGx5RmllbGRTZXRDb250ZW50KG0pLHRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZSgibmFtZSIpLHRoaXMuX3NvcnREaXJlY3Rpb24uc2V0VmFsdWUoImFzYyIpKTp0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5fd2lkZ2V0SW5pdENvbHVtbnx8dGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuX3dpZGdldEluaXRTY3JlZW58fHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSkmJnRoaXMuX2JyaWRnZS52aXNpYmxlJiYhdGhpcy5fYnJpZGdlLnZpc2libGUudmFsdWUoKXx8KHRoaXMuX2JyaWRnZS5kaXNhYmxlU3RpY2t5SGVhZGVyP3RoaXMudXBkYXRlSW1wbCgpOnRoaXMudXBkYXRlSW1wbCh0aGlzLl92aWV3Ll9zZXR1cFN0aWNreUhlYWRlci5iaW5kKHRoaXMuX3ZpZXcpKSx0aGlzLmlzU2NyZWVuZXJXaWRnZXRVcGRhdGVkSW1wbD0hMCl9O2lmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKSxlKCk7ZWxzZXtjb25zdCB0PVt0aGlzLmdldE1ldGFJbmZvKCksdGhpcy5nZXRVc2VyU2V0dGluZ3MoKV07UHJvbWlzZS5hbGwodCkudGhlbihlKX13aW5kb3cubG9naW5TdGF0ZUNoYW5nZSYmd2luZG93LmxvZ2luU3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKG51bGwsKGU9PnRoaXMub25Mb2dpblN0YXRlQ2hhbmdlKGUpKSksenMuaXNQcm9kKCl8fCh3aW5kb3cuX2V4cG9zZWRfc2NyZWVuZXJXaWRnZXQ9dGhpcyksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZkZWxldGUgdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfSkpLCgwLFlvLmluaXRTY3JlZW5lckluc3RhbmNlKSh0aGlzKSxlLnN0YW5kYWxvbmUmJlsic3RvY2siLCJjcnlwdG8iXS5pbmNsdWRlcyhlLnNjcmVlbmVyX3R5cGUpJiYhZS5wZXJpb2RfcGlja2VyJiYoaT17bm90aWZpY2F0aW9uRGF0YTpXc1tlLnNjcmVlbmVyX3R5cGVdfSxQcm9taXNlLmFsbChbby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMTM0OTIpLG8uZSgzNzc0Niksby5lKDEyMDUxKSxvLmUoNjg5NDIpLG8uZSgzOTYwOSksby5lKDUyNDUzKV0pLnRoZW4oby5iaW5kKG8sNzMwMjU3KSkudGhlbigoZT0+ZS5zaG93U2NyZWVuZXJOZXdTdGFuZGFsb25lRGlhbG9nKGkpKSkpfWFzeW5jIF9pbml0TWFya2VkU3ltYm9scyhlKXsKaWYoIXRoaXMuaGFzTWFya2VkU3ltYm9scygpKXJldHVybjtjb25zdCB0PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobywyMzUxODYpKSxpPWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQyNjkpLG8uZSgyOTI5Niksby5lKDUyMzk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDEzNDkyKSxvLmUoMzc3NDYpLG8uZSgxMjA1MSksby5lKDg5MDQ0KSxvLmUoNzg0MDQpLG8uZSgzOTYwOSksby5lKDE0ODg5KSxvLmUoODU0MzQpLG8uZSgyODUxKSxvLmUoNDM5ODApLG8uZSgzNDcpXSkudGhlbihvLmJpbmQobyw1NjI4ODUpKTt0aGlzLm1hcmthYmxlU3ltYm9scz1uZXcgdC5NYXJrYWJsZVN5bWJvbHMoe3N5bWJvbHNWaWV3OmUsbWFya2VyQ29udGFpbmVyU2VsZWN0b3I6Ii50di1zY3JlZW5lci10YWJsZV9fc3ltYm9sLWFkZGl0aW9uIixhY3RpdmVNYXJrZXJDbGFzczoidHYtc2NyZWVuZXItdGFibGVfX21hcmtlci0tYWN0aXZlIixhZGRpdGlvbmFsTWFya2VyQ2xhc3M6InR2LXNjcmVlbmVyLXRhYmxlX19tYXJrZXIifSk7dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlcj1uZXcgaS5NYXJrZWRTeW1ib2xzRmlsdGVyKHtzeW1ib2xzVmlldzplLGNvbnRhaW5lclNlbGVjdG9yOiIudHYtc2NyZWVuZXItdGFibGVfX2hlYWQtbGVmdC0tdGV4dCIsY2xhc3NOYW1lOiJ0di1zY3JlZW5lci10YWJsZV9faGVhZC1sZWZ0LS1tYXJrZXIiLGRpc2FibGVTYXZlU3RhdGU6dGhpcy5fYnJpZGdlLmRpc2FibGVTYXZlTWFya2VkU3ltYm9sc0ZpbHRlcn0pO2NvbnN0IG49dGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5nZXRTdHJlYW0oKTt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCksdGhpcy5fbWFya2VkU3ltYm9sc0ZpbHRlci5pc0FjdGl2ZSgpJiYodGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhPW51bGwpO2xldCByPSEwO24ub24oaS5GaWx0ZXJFdmVudHMuSW5pdCwoKCk9Pnt0aGlzLl90aWNrZXJzPXRoaXMuX2luaXRUaWNrZXJzfHx0aGlzLl9tYXJrZWRTeW1ib2xzRmlsdGVyLmdldFN5bWJvbHNGb3JTY2FuKCkscj0hMX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkZpbHRlckJ5TWFya2VkU3ltYm9scywoZT0+e2lmKCFyKXtjb25zdCBlPXRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuX2NvbG9yTWFuYWdlci5nZXRDb2xvcigpOygwLFlvLnNlbmRTbm93UGxvd0RhdGEpKG5ldyBiaShlKSl9dGhpcy5fdGlja2Vycz1lLHRoaXMuX3ByZXZTY2FuRGF0YT1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT1udWxsLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSwoMCxBbi5pc1NjcmVlbmVyUGFnZSkodGhpcy5fYnJpZGdlKSYmcnx8dGhpcy51cGRhdGUoKX0pKSxuLm9uKGkuRmlsdGVyRXZlbnRzLkRpc2FibGUsKCgpPT57dGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2Vyc3x8W10sdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlKCl9KSl9X2luaXRYV2luZG93SGFuZGxlcnMoKXt0aGlzLl9icmlkZ2Uub25XaWRnZXR8fCh0aGlzLl9yZWdpc3RlclhXaW5kb3dIYW5kbGVyKCJzY3JlZW5lci5tYXJrZXQtY2hhbmdlZCIsKCgpPT57UXQodGhpcy5tYXJrZXRzKTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuZ2V0VXNlclNldHRpbmdzKCkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuX3ZpZXcudXBkYXRlTWFya2V0QnV0dG9uKCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IiwoZT0+e2NvbnN0IHQ9ZS5zZXRJZDt0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT57dCYmdD09PXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSYmdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRleHQodGhpcy5nZXRGaWVsZFNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnNhdmUtZmlsdGVyLXNldCIsKGU9Pntjb25zdCB0PWUuc2V0SWQ7dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+e3QmJnQ9PT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpJiZ0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uVGl0bGUudGV4dCh0aGlzLmdldEZpbHRlclNldEJ5SWQodCkudGl0bGUpfSkpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLmFkZC1maWVsZC1zZXQtdG8tZmF2b3JpdGVzIiwoKCk9Pnt0aGlzLmdldFVzZXJTZXR0aW5ncygpfSkpLHRoaXMuX3JlZ2lzdGVyWFdpbmRvd0hhbmRsZXIoInNjcmVlbmVyLnJlbW92ZS1maWVsZC1zZXQtZnJvbS1mYXZvcml0ZXMiLCgoKT0+e3RoaXMuZ2V0VXNlclNldHRpbmdzKCl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmllbGQtc2V0IiwoZT0+e3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZS5zZXRJZCxlLmluaXRpYWwsITEpLHRoaXMuX3ZpZXcubGFzdFNldElkPWUuc2V0SWR9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsKGU9Pnt0aGlzLmFwcGx5RmlsdGVyU2V0KGUuc2V0SWQsZS5kb05vdFVwZGF0ZSwhMSl9KSksdGhpcy5fcmVnaXN0ZXJYV2luZG93SGFuZGxlcigic2NyZWVuZXIuY2hhbmdlLXNlbGVjdGVkLWludGVydmFsLWlkIiwoZT0+ewp0aGlzLl92aWV3LnVwZGF0ZUludGVydmFsQnV0dG9uKG51bGwsZS5pZCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMudXBkYXRlSW1wbCgpfSkpKX1fcmVnaXN0ZXJYV2luZG93SGFuZGxlcihlLHQpe0NzLlRWWFdpbmRvd0V2ZW50cy5vbihlLChlPT57Y29uc3Qgbz1KU09OLnBhcnNlKGUpO3RoaXMuc2V0dGluZ0tleT09PW8uc2V0dGluZ0tleSYmdChvKX0pKX1fc2VuZFhXaW5kb3dFdmVudChlLHQpe3RoaXMuX2JyaWRnZS5vbldpZGdldHx8ImJpZyI9PT10aGlzLl9icmlkZ2UudGFibGVfc3R5bGV8fENzLlRWWFdpbmRvd0V2ZW50cy5lbWl0KGUsdCl9X2NoZWNrQ3VycmVudFNldHMoKXtjb25zdCBlPXRoaXMuY3VycmVudEZpZWxkU2V0SWQoKTtlJiYhdGhpcy5nZXRGaWVsZFNldEJ5SWQoZSkmJnRoaXMuc2V0dGluZ3NTYXZlci5yZW1vdmUodGhpcy5zZXR0aW5nS2V5KyIuZmllbGRTZXRJZCIpO2NvbnN0IHQ9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTt0JiYhdGhpcy5nZXRGaWx0ZXJTZXRCeUlkKHQpJiZ0aGlzLnNldHRpbmdzU2F2ZXIucmVtb3ZlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIil9aXNTZXJ2ZXJSZW5kZXIoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX21ldGFpbmZvJiZ3aW5kb3cuaW5pdERhdGEuc2NyZWVuZXJfZGF0YSYmdGhpcy5fYnJpZGdlLnNlcnZlcl9kYXRhfXVwZGF0ZU1ldGFJbmZvKGUpe0l0LmluZGV4LmRpc2FibGVkPSEwLEl0LnN1Ym1hcmtldC5kaXNhYmxlZD0hMCwiY3J5cHRvIj09PXRoaXMuc2NyZWVuZXJfdHlwZSYmKEl0LmN1cnJlbmN5LnVzZURlZmF1bHRSYW5nZT0hMCxJdC5jdXJyZW5jeS5kaXNhYmxlZD0hMSk7Y29uc3QgdD1uZXcgU2V0LG89dGhpcy5tYXJrZXRzfHxbdGhpcy5tYXJrZXRdO0l0LmlzX3ByaW1hcnkuZGlzYWJsZWQ9WyJjcnlwdG8iLCJmb3JleCJdLmluY2x1ZGVzKG9bMF0pLGUuZmllbGRzLmZvckVhY2goKGU9PntpZigiY3VycmVuY3kiPT09ZS5uJiZlLnIuZm9yRWFjaCgoZT0+dC5hZGQoZSkpKSxlLm4gaW4gSXQpe2lmKEl0W2Uubl0udHlwZT1lLnQsImluZGV4Ij09PWUubilyZXR1cm4gSXQuaW5kZXguZGlzYWJsZWQ9ITEsSXQuaW5kZXguc291cmNlUmFuZ2U9ZS5yLHZvaWQoSXQuaW5kZXgucmFuZ2U9SXQuaW5kZXguc291cmNlUmFuZ2U/SXQuaW5kZXguc291cmNlUmFuZ2UubWFwKChlPT5lLm5hbWUpKTpbXSk7aWYoInN1Ym1hcmtldCI9PT1lLm4mJmUuci5sZW5ndGg+PTEmJihlLnI9ZS5yLmZpbHRlcigoZT0+IiIhPT1lKSksZS5yLmxlbmd0aD4wJiYoSXQuc3VibWFya2V0LmRpc2FibGVkPSExKSksIUl0W2Uubl0ucmFuZ2UmJkl0W2Uubl0udXNlRGVmYXVsdFJhbmdlP0l0W2Uubl0ucmFuZ2U9SXRbZS5uXS5kZWZhdWx0UmFuZ2U6SXRbZS5uXS51c2VEZWZhdWx0UmFuZ2V8fChJdFtlLm5dLnJhbmdlPWUuciksImV4Y2hhbmdlIj09PWUubiYmdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzJiZ0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMubGVuZ3RoJiYoSXRbZS5uXS5yYW5nZT10aGlzLl9nZXRGaWx0ZXJlZEV4Y2hhbmdlc0ZvcldpZGdldChJdFtlLm5dLnJhbmdlKSksZnVuY3Rpb24oZSx0KXtjb25zdCBvPVAoZS5zY3JlZW5lcl90eXBlKSxpPVAoZC5TdG9jaykuYW1lcmljYTtsZXQgbixyPVtdO2Zvcihjb25zdCBsIG9mIGUubWFya2V0cylvW2xdJiYobj1vW2xdW3RdfHxpW3RdLG4mJkFycmF5LmlzQXJyYXkobikmJihzPXIsYT1uLHI9Wy4uLm5ldyBTZXQoWy4uLnMsLi4uYV0pXS5zb3J0KCgoZSx0KT0+ZS10KSkpKTt2YXIgcyxhO0l0W3RdLnZhbHVlcz1ufSh0aGlzLGUubiksITE9PT1JdFtlLm5dLnNvcnRhYmxlKXJldHVybjtlLnQ9PT12ci5QcmljZSYmKEl0W2Uubl0uYWRkaXRpb25hbENvbHVtbnM/SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1JdFtlLm5dLmFkZGl0aW9uYWxDb2x1bW5zLmNvbmNhdChKcyk6SXRbZS5uXS5hZGRpdGlvbmFsQ29sdW1ucz1KcyksZS50PT09dnIuVGV4dCYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5zb3J0KCkpLG89ZSxbdnIuTnVtYmVyLHZyLkZ1bmRhbWVudGFsUHJpY2VdLmluY2x1ZGVzKG8udCkmJkl0W2Uubl0ucmFuZ2UmJiFJdFtlLm5dLnVzZURlZmF1bHRSYW5nZSYmKEl0W2Uubl0ucmFuZ2U9SXRbZS5uXS5yYW5nZS5tYXAoKGU9Pk1hdGgubWluKE1hdGgubWF4KGUsdGhpcy5taW5TYWZlSW50ZWdlciksdGhpcy5tYXhTYWZlSW50ZWdlcikpKS5zb3J0KHRoaXMubnVtZXJpY1NvcnRlcikpLEl0W2Uubl0udmFsdWVzJiYhSXRbZS5uXS5yYW5nZSYmKEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0pLEl0W2Uubl0udmFsdWVzJiZJdFtlLm5dLnJhbmdlJiYoSXRbZS5uXS5yYW5nZVswXT5JdFtlLm5dLnZhbHVlc1swXSYmKEl0W2Uubl0ucmFuZ2VbMF09SXRbZS5uXS52YWx1ZXNbMF0pLEl0W2Uubl0ucmFuZ2VbMV08SXRbZS5uXS52YWx1ZXNbSXRbZS5uXS52YWx1ZXMubGVuZ3RoLTFdJiYoSXRbZS5uXS5yYW5nZVsxXT1JdFtlLm5dLnZhbHVlc1tJdFtlLm5dLnZhbHVlcy5sZW5ndGgtMV0pKSwicmFuZ2UiIT09SXRbZS5uXS5jb250cm9sfHxJdFtlLm5dLnZhbHVlc3x8SXRbZS5uXS5yYW5nZXx8KEl0W2Uubl0ucmFuZ2U9W3RoaXMubWluU2FmZUludGVnZXIsdGhpcy5tYXhTYWZlSW50ZWdlcl0sSXRbZS5uXS52YWx1ZXM9W3RoaXMubWluU2FmZUludGVnZXIsMCx0aGlzLm1heFNhZmVJbnRlZ2VyXSl9ZWxzZSBpZigtMSE9PWUubi5pbmRleE9mKCJ8Iikpe2NvbnN0IHQ9ZS5uLnNwbGl0KCJ8Iik7SXRbdFswXV18fChJdFt0WzBdXT17fSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnN8fChJdFt0WzBdXS5jdXN0b21SZXNvbHV0aW9ucz1bXSksSXRbdFswXV0uY3VzdG9tUmVzb2x1dGlvbnMucHVzaCh0WzFdKX12YXIgb30pKSxQcyhlLmZpbmFuY2lhbF9jdXJyZW5jeSxbLi4udF0sdGhpcy5fdmlldyksUXQodGhpcy5tYXJrZXRzKSx0aGlzLmRlZmF1bHRGaWx0ZXJTZXRzPVp0fWdldE1ldGFJbmZvKCl7CmlmKHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSlyZXR1cm4gdGhpcy51cGRhdGVNZXRhSW5mbyhKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tZXRhaW5mbykpLFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGU9dGhpcy5fZ2V0U2NhblVybCgibWV0YWluZm8iKSx0PXQ9Pih7dHlwZToiUE9TVCIsdXJsOmUsZGF0YTpKU09OLnN0cmluZ2lmeSh7bWFya2V0czp0aGlzLm1hcmtldHN9KSxiZWZvcmVTZW5kOigpPT57bnVsbCE9PXRoaXMuX3BlbmRpbmdQcm9taXNlJiZ0aGlzLl9wZW5kaW5nUHJvbWlzZS5hYm9ydCgpfSxzdWNjZXNzOmU9Pnt0aGlzLnVwZGF0ZU1ldGFJbmZvKGUpLHQoKX0sZGF0YVR5cGU6Impzb24iLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fSk7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5sb2FkaW5nU3RhcnQuZmlyZSgpLHRoaXMuX3BlbmRpbmdQcm9taXNlPVZzLmFqYXgodChlKSkuZmFpbCgoZT0+eyJhYm9ydCIhPT1lLnN0YXR1c1RleHQmJmpzLmxvZ0Vycm9yKCJGYWlsZWQgdG8gbG9hZCBzY3JlZW5lciBtZXRhaW5mbyIpfSkpLmFsd2F5cygoKCk9Pnt0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCksdGhpcy5fcGVuZGluZ1Byb21pc2U9bnVsbH0pKX0pKX1maWVsZEFjdGl2ZShlKXtyZXR1cm4hKCFJdFtlXXx8IUl0W2VdLnZhbHVlfHwiY29uZGl0aW9uIiE9PUl0W2VdLmNvbnRyb2x8fCJpbl9yYW5nZSIhPT1JdFtlXS52YWx1ZS5vcGVyYXRvcnx8MiE9PUl0W2VdLnZhbHVlLnZhbHVlLmxlbmd0aCl8fCEoIUl0W2VdfHwhSXRbZV0udmFsdWV8fCJjb25kaXRpb24iPT09SXRbZV0uY29udHJvbCYmKCFJdFtlXS52YWx1ZS5vcGVyYXRvcnx8Im51bWJlciIhPXR5cGVvZiBJdFtlXS52YWx1ZS52YWx1ZSYmIUl0W2VdLnZhbHVlLnZhbHVlKXx8InJhbmdlIj09PUl0W2VdLmNvbnRyb2wmJkl0W2VdLnZhbHVlWzBdPT09SXRbZV0ucmFuZ2VbMF0mJkl0W2VdLnZhbHVlWzFdPT09SXRbZV0ucmFuZ2VbMV0pfXBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKGUpe2xldCB0PXtydXNzaWE6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduLWlzc3VlciJ9XSxicmF6aWw6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJvZGQifV0sdGhhaWxhbmQ6W3tsZWZ0OiJ0eXBlc3BlY3MiLG9wZXJhdGlvbjoiaGFzX25vbmVfb2YiLHJpZ2h0OiJmb3JlaWduIn1dLHVrOlt7bGVmdDoidHlwZXNwZWNzIixvcGVyYXRpb246Imhhc19ub25lX29mIixyaWdodDoiY2RpIn0se2xlZnQ6ImV4Y2hhbmdlIixvcGVyYXRpb246ImVxdWFsIixyaWdodDoiTFNFIn1dfVt0aGlzLm1hcmtldHNbMF1dO2lmKFsic2VjdG9yIiwiaW5kdXN0cnkiXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpJiZ0JiYodD10LmZpbHRlcigoZT0+ImV4Y2hhbmdlIiE9PWUubGVmdCkpKSwhdHx8MD09PXQubGVuZ3RoKXJldHVybiBlO2NvbnN0IG89KDAsU3MuZGVmYXVsdCkoZSk7aWYoIWUuZmlsdGVyKXJldHVybiBvLmZpbHRlcj1bLi4udF0sbztmb3IoY29uc3QgZSBvZiB0KXswPT09by5maWx0ZXIuZmlsdGVyKCh0PT4oMCxfaS5kZWZhdWx0KSh0LGUpKSkubGVuZ3RoJiZvLmZpbHRlci5wdXNoKGUpfXJldHVybiBvfWdldFNjYW5uZXJQYXJhbXMoZSl7bGV0IHQ9bnVsbCxvPW51bGwsaT1udWxsLG49e307aWYoZSl7Y29uc3Qgcj10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7dD1yLmNvbnRlbnQuc29ydF9maWVsZCxvPXIuY29udGVudC5maWx0ZXJzfHx7fSxpPU9iamVjdC5rZXlzKHIuY29udGVudC5maWx0ZXJzfHx7fSksbj1yLmNvbnRlbnQub3B0aW9uc31lbHNlIGk9T2JqZWN0LmtleXMoSXQpLmZpbHRlcigoZT0+dGhpcy5maWVsZEFjdGl2ZShlKSkpLG49dGhpcy5fb3B0aW9uczt0fHwodD10aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCk7Y29uc3Qgcj17ZmlsdGVyOltdLF9ncm91cHM6W10sb3B0aW9uczpufTtmb3IobGV0IGU9MDtlPGkubGVuZ3RoOysrZSl7Y29uc3QgdD1pW2VdO2lmKCJjb25kaXRpb24iPT09SXRbdF0uY29udHJvbCYmIUl0W3RdLnZhbHVlKWNvbnRpbnVlO2lmKCJuYW1lIj09PXQmJkFycmF5LmlzQXJyYXkoSXRbdF0udmFsdWUpKXtsZXQgZT0hMTtjb25zdCBvPUl0W3RdLnZhbHVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7Kyt0KWlmKCJuZXF1YWwiPT09b1t0XS5vcGVyYXRvcil7ZT0hMDticmVha31pZihlKWNvbnRpbnVlfWNvbnN0IG49SXRbdF0uZ3JvdXBGaWx0ZXI/ci5fZ3JvdXBzOnIuZmlsdGVyO2xldCBzPUR0KHQsSXRbdF0udmFsdWUsbyx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCk7aWYocy5maWx0ZXIyRmxhZyYmKHMuZmlsdGVyMkFuZFBhcnQubGVuZ3RoJiYoci5maWx0ZXIyfHwoci5maWx0ZXIyPXtvcGVyYXRvcjoiYW5kIixvcGVyYW5kczpbXX0pLHIuZmlsdGVyMi5vcGVyYW5kcy5wdXNoKHtvcGVyYXRpb246e29wZXJhdG9yOiJvciIsb3BlcmFuZHM6cy5maWx0ZXIyQW5kUGFydC5tYXAoKGU9Pih7ZXhwcmVzc2lvbjplfSkpKX19KSkscz1zLmZpbHRlciksQXJyYXkuaXNBcnJheShzKSlmb3IobGV0IGU9MDtlPHMubGVuZ3RoOysrZSluLnB1c2goc1tlXSk7ZWxzZSBuLnB1c2gocyl9aWYodGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoKSx0aGlzLmVvZFJlc3RyaWN0aW9uLnZhbHVlKCkhPT1Xby5Ob25lJiYoci5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiIpLHIubWFya2V0cz10aGlzLm1hcmtldHMsKDAsQW4uaXNNYXJrZXRQYWdlKSh0aGlzLl9icmlkZ2UpKXJldHVybiB0aGlzLnBhdGNoRmlsdGVyc0Zvck1hcmtldFBhZ2VzKHIpO2NvbnN0IHM9ci5maWx0ZXIuZmlsdGVyKChlPT4iaXNfcHJpbWFyeSI9PT1lLmxlZnQpKTtyZXR1cm4gcyYmITE9PT1zLmxlZnQmJihyLmZpbHRlcj1yLmZpbHRlci5maWx0ZXIoKGU9PiJpc19wcmltYXJ5IiE9PWUubGVmdCkpKSxyfXVwZGF0ZUltcGwoZSx0LG8saT0hMCxuPSExLHI9ITEpewppZih0JiZ0aGlzLl92aWV3LmlzRW5kUmVhY2hlZCgpKXJldHVybjtpZih0aGlzLl92aWV3LnRhYmxlLmRyYWdTdGFydGVkLnZhbHVlKCkpcmV0dXJuO2lmKCgwLGtzLmlzRmVhdHVyZUVuYWJsZWQpKCJzY3JlZW5lci1tYWludGVuYW5jZSIpKXJldHVybiB2b2lkIHRoaXMuX3ZpZXcuX3BvcHVwcy5zaG93TWFpbnRlbmFuY2VEaWFsb2coKTtjb25zdCBzPXRoaXMuZ2VuZXJhdGVTY2FuUmVxdWVzdCgpLGE9WzAsWHNdO3MucmFuZ2U9YS5zbGljZSgpLGk/KHQmJnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPyhhWzBdPXRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlWzFdLGFbMV09YVswXStYcyxzLnJhbmdlWzFdPWFbMV0pOnRoaXMuX3ZpZXcucmVzZXRJdGVtcygpLHRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlPWEpOnRoaXMuX2N1cnJlbnRJdGVtc1JhbmdlP3MucmFuZ2VbMV09dGhpcy5fY3VycmVudEl0ZW1zUmFuZ2VbMV06dGhpcy5fdmlldy5yZXNldEl0ZW1zKCksIXQmJnRoaXMuX3ByZXZSZXF1ZXN0JiYoMCxfaS5kZWZhdWx0KShzLHRoaXMuX3ByZXZSZXF1ZXN0KT8iZnVuY3Rpb24iPT10eXBlb2YgZSYmITA9PT1vJiZlKCk6KHRoaXMuX3ByZXZSZXF1ZXN0PSgwLEguY2xvbmUpKHMpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKCksdGhpcy5zY2FuKHMsdCxuLHIpKX1fZ2V0U3ltYm9scygpe2xldCBlO3N3aXRjaCh0aGlzLnNjcmVlbmVyX3R5cGUpe2Nhc2UiZm9yZXgiOmU9WyJmb3JleCJdO2JyZWFrO2Nhc2Uic2VjdG9yIjplPVsic2VjdG9yIl07YnJlYWs7Y2FzZSJpbmR1c3RyeSI6ZT1bImluZHVzdHJ5Il07YnJlYWs7Y2FzZSJjb250aW51b3VzX2Z1dHVyZXMiOmU9WyJmdXR1cmVzIl07YnJlYWs7ZGVmYXVsdDplPXRoaXMuX2JyaWRnZS50eXBlc3x8W119cmV0dXJue3F1ZXJ5Ont0eXBlczplfSx0aWNrZXJzOnRoaXMuX3RpY2tlcnN9fWdlbmVyYXRlU2NhblJlcXVlc3QoKXtjb25zdCBlPU9iamVjdC5hc3NpZ24oe30sdGhpcy5nZXRTY2FubmVyUGFyYW1zKCkpO2lmKGUuc3ltYm9scz10aGlzLl9nZXRTeW1ib2xzKCksZS5jb2x1bW5zPXRoaXMuZ2V0UmVxdWVzdENvbHVtbnMoKSxlLnNvcnQ9e3NvcnRCeTpoZSh0aGlzLl9zb3J0RmllbGQudmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnRGaWVsZCx0aGlzLnNlbGVjdGVkSW50ZXJ2YWxJZCksc29ydE9yZGVyOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb259LGUucHJlc2V0PXRoaXMucHJlc2V0LHdpbmRvdy5sYW5ndWFnZSYmKGUub3B0aW9uc3x8KGUub3B0aW9ucz17fSksZS5vcHRpb25zLmxhbmc9d2luZG93Lmxhbmd1YWdlKSx0aGlzLl9icmlkZ2Uub25XaWRnZXQmJiJmb3JleCIhPT10aGlzLm1hcmtldHNbMF0pe2NvbnN0IHQ9Rih0aGlzLnNjcmVlbmVyX3R5cGUpW3RoaXMubWFya2V0c1swXV07dCYmdC5zdG9ja3MmJnQuc3RvY2tzLmxlbmd0aCYmKGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXM9dC5zdG9ja3MubWFwKChlPT4iTllTRSBBUkNBIj09PWU/IkFNRVgiOmUpKSx0aGlzLl9icmlkZ2UudW5hdmFpbGFibGVXaWRnZXRFeGNoYW5nZXMmJnRoaXMuX2JyaWRnZS51bmF2YWlsYWJsZVdpZGdldEV4Y2hhbmdlcy5sZW5ndGgmJihlLnN5bWJvbHMucXVlcnkuZXhjaGFuZ2VzPXRoaXMuX2dldEZpbHRlcmVkRXhjaGFuZ2VzRm9yV2lkZ2V0KGUuc3ltYm9scy5xdWVyeS5leGNoYW5nZXMpKSl9aWYoZS5fZ3JvdXBzLmxlbmd0aD4wJiYoZS5zeW1ib2xzLmdyb3Vwcz1lLl9ncm91cHMpLGRlbGV0ZSBlLl9ncm91cHMsInByZWRlZmluZWRfZmlsdGVyIj09PXRoaXMuY3VycmVudEZpbHRlclNldElkKCkpe2NvbnN0IHQ9dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKCJwcmVkZWZpbmVkX2ZpbHRlciIpO2lmKGUuc3ltYm9sc3x8KGUuc3ltYm9scz17fSksKDAsSC5tZXJnZSkoZS5zeW1ib2xzLHQuc3ltYm9scyksdC5jb250ZW50JiZ0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3RbbyxpXW9mIE9iamVjdC5lbnRyaWVzKHQuY29udGVudC5maWx0ZXJzKSlpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7Kyt0KXtjb25zdCBuPWlbdF07bi5vcGVyYXRvciYmIm5lcXVhbCI9PT1uLm9wZXJhdG9yJiZlLmZpbHRlci5wdXNoKHtsZWZ0Om8sb3BlcmF0aW9uOm4ub3BlcmF0b3IscmlnaHQ6bi52YWx1ZX0pfWVsc2V7bGV0IHQ9e307dm9pZCAwIT09aS5vcGVyYXRvciYmdm9pZCAwIT09aS52YWx1ZT90PXtsZWZ0Om8sb3BlcmF0aW9uOmkub3BlcmF0b3IscmlnaHQ6aS52YWx1ZX06dm9pZCAwIT09aSYmdm9pZCAwIT09aS5vcGVyYXRvcj8odD17bGVmdDpvLG9wZXJhdGlvbjppLm9wZXJhdG9yfSxpLnJpZ2h0JiZ2b2lkIDAhPT1pLnJpZ2h0JiYodC5yaWdodD1pLnJpZ2h0KSk6dm9pZCAwIT09aSYmKHQ9e2xlZnQ6byxvcGVyYXRpb246ImVxdWFsIixyaWdodDppfSksImVhcm5pbmdzX3JlbGVhc2VfbmV4dF9kYXRlLGVhcm5pbmdzX3JlbGVhc2VfZGF0ZSI9PT10LmxlZnQmJih0LmxlZnQ9ImVhcm5pbmdzX3JlbGVhc2VfZGF0ZSxlYXJuaW5nc19yZWxlYXNlX25leHRfZGF0ZSIpO2UuZmlsdGVyLnNvbWUoKGU9PigwLF9pLmRlZmF1bHQpKHQsZSl8fGUubGVmdD09PXQubGVmdCYmZS5vcGVyYXRpb249PT10Lm9wZXJhdGlvbikpfHxlLmZpbHRlci5wdXNoKHQpfX1mb3IobGV0IHQ9MDt0PGUuY29sdW1ucy5sZW5ndGg7Kyt0KWUuY29sdW1uc1t0XT1oZShlLmNvbHVtbnNbdF0sdGhpcy5zZWxlY3RlZEludGVydmFsSWQpO2lmKEl0W3RoaXMuc2VhcmNoRmllbGRdLnNlYXJjaFZhbHVlKXtjb25zdCB0PXtsZWZ0OiFJdC5kZXNjcmlwdGlvbi5kaXNhYmxlZCYmSXQuZGVzY3JpcHRpb24uY2hlY2tlZD9gJHt0aGlzLnNlYXJjaEZpZWxkfSxkZXNjcmlwdGlvbmA6dGhpcy5zZWFyY2hGaWVsZCxvcGVyYXRpb246Im1hdGNoIixyaWdodDpJdFt0aGlzLnNlYXJjaEZpZWxkXS5zZWFyY2hWYWx1ZX07ZS5maWx0ZXIucHVzaCh0KX1pZih0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gmJmUuZmlsdGVyLnB1c2goe2xlZnQ6dGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLmZpZWxkLApvcGVyYXRpb246Im1hdGNoIixyaWdodDp0aGlzLl9icmlkZ2Uuc2NyZWVuZXJfZmllbGRfbWF0Y2gucGF0dGVybn0pLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyJiYodGhpcy5fYnJpZGdlLmhpZGRlbl9maWx0ZXIuZmlsdGVyJiYoZS5maWx0ZXI9ZS5maWx0ZXIuY29uY2F0KHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLmZpbHRlcikpLHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMmJihlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbihlLm9wdGlvbnN8fHt9LHRoaXMuX2JyaWRnZS5oaWRkZW5fZmlsdGVyLm9wdGlvbnMpKSksdGhpcy5zd2l0Y2hGaWx0ZXImJmUuZmlsdGVyLnB1c2godGhpcy5zd2l0Y2hGaWx0ZXIpLHRoaXMuX2N1cnJlbmN5U2VsZWN0KXtjb25zdCB0PXRoaXMuX2N1cnJlbmN5U2VsZWN0LmdldFByaWNlQ29udmVyc2lvbk9iamVjdCgpO3QmJihlLnByaWNlX2NvbnZlcnNpb249dCl9cmV0dXJuIHRoaXMuZW9kUmVzdHJpY3Rpb24udmFsdWUoKSE9PVdvLk5vbmU/ZS5vcHRpb25zLmRhdGFfcmVzdHJpY3Rpb25zPSJQUkVWX0JBUiI6ZGVsZXRlIGUub3B0aW9ucy5kYXRhX3Jlc3RyaWN0aW9ucyxlfWdldFJlcXVlc3RDb2x1bW5zKCl7Y29uc3QgZT1bZC5TdG9jayxkLlNlY3RvcixkLkluZHVzdHJ5XS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpP1siY3VycmVuY3kiLCJmdW5kYW1lbnRhbF9jdXJyZW5jeV9jb2RlIl06W107cmV0dXJuIEFycmF5LmZyb20obmV3IFNldChbLi4udGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLC4uLnRoaXMuX3ZpZXcudGFibGUuYWRkaXRpb25hbENvbHVtbnMsLi4uZV0pKX1zY2FuKGUsdCxvLGk9ITEpe2lmKCFpJiZ0aGlzLl9icmlkZ2UudmlzaWJsZSYmITAhPT10aGlzLl9icmlkZ2UudmlzaWJsZS52YWx1ZSgpKXJldHVybjtjb25zdCBuPUpTT04uc3RyaW5naWZ5KGUpO3RoaXMubG9hZGluZz0hMCx0aGlzLmxvYWRpbmdTdGFydC5maXJlKHQmJiFvKTtjb25zdCByPURhdGUubm93KCkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUubWFwKCgoZSx0KT0+W2UsdF0pKTtyZXR1cm4gbmV3IE1hcCh0KX0oZS5jb2x1bW5zKTtpZih0aGlzLl9icmlkZ2UuaXNVbmF2YWlsYWJsZVdpZGdldE1hcmtldClyZXR1cm4gdm9pZCB0aGlzLl92aWV3LmRpc3BsYXkoe2RhdGE6W119LHMpO2NvbnN0IGE9KHQsbyk9Pnt0aGlzLmxvYWRpbmc9ITE7Y29uc3QgaT1EYXRlLm5vdygpLXIsbj1KU09OLnBhcnNlKHQpO3RoaXMuX3Nob3VsZFJlcmVuZGVyKHQsZSkmJih0aGlzLl92aWV3LmRpc3BsYXkobixzLG8pLHRoaXMuX3ByZXZTY2FuRGF0YT10LHRoaXMuX3ByZXZSZXF1ZXN0RGF0YT0oMCxILmNsb25lKShlKSksdGhpcy5pc1NlcnZlclJlbmRlcigpJiZuLnJlcXVlc3QmJihuLnJlcXVlc3Quc3ltYm9scyYmbi5yZXF1ZXN0LnN5bWJvbHMudGlja2VycyYmKHRoaXMuX2luaXRUaWNrZXJzPW4ucmVxdWVzdC5zeW1ib2xzLnRpY2tlcnMsdGhpcy5fdGlja2Vycz10aGlzLl9pbml0VGlja2VycyksdGhpcy5fb3B0aW9ucz1uLnJlcXVlc3Qub3B0aW9ucyksdGhpcy5sb2FkaW5nQ29tcGxldGUuZmlyZSgpO2lmKG51bGwhPT1sb2NhdGlvbi5wYXRobmFtZS5tYXRjaCgvZWFybmluZ3NcL3swLDF9JC9pKSYmIXRoaXMuaXNTZXJ2ZXJSZW5kZXIoKSl7Y29uc3QgZT0iZXJyb3IiPT09bz8iZXJyb3IiOiJvayIsdD12b2lkIDAhPT1uLnN0YXR1cyYmMCE9PW4uc3RhdHVzP24uc3RhdHVzOiJlcnJvciI9PT1lPzQwMDoyMDA7RXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsImVhcm5pbmdzX2h0dHBfc3RhdHVzIix7dmFsdWU6dCxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfcmVzcG9uc2VfdGltZV9mcmFtZSIse3ZhbHVlOmksYWRkaXRpb25hbDp7c291cmNlOiJTY3JlZW5lcldpZGdldCJ9fSksRXMudGVsZW1ldHJ5LnNlbmRSZXBvcnQoImNhbGVuZGFycyIsYGVhcm5pbmdzXyR7ZX1gKX19LGw9KGUsdCk9Pntjb25zdCBvPURhdGUubm93KCktcjt0aGlzLmxvYWRpbmc9ITEsdGhpcy5fdmlldy5kaXNwbGF5KGUscyx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS5maXJlKCk7aWYobnVsbCE9PWxvY2F0aW9uLnBhdGhuYW1lLm1hdGNoKC9lYXJuaW5nc1wvezAsMX0kL2kpJiYhdGhpcy5pc1NlcnZlclJlbmRlcigpKXtjb25zdCBpPSJlcnJvciI9PT10PyJlcnJvciI6Im9rIixuPXZvaWQgMCE9PWUuc3RhdHVzJiYwIT09ZS5zdGF0dXM/ZS5zdGF0dXM6ImVycm9yIj09PWk/NDAwOjIwMDtFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIiwiZWFybmluZ3NfaHR0cF9zdGF0dXMiLHt2YWx1ZTpuLGFkZGl0aW9uYWw6e3NvdXJjZToiU2NyZWVuZXJXaWRnZXQifX0pLEVzLnRlbGVtZXRyeS5zZW5kUmVwb3J0KCJjYWxlbmRhcnMiLCJlYXJuaW5nc19yZXNwb25zZV90aW1lX2ZyYW1lIix7dmFsdWU6byxhZGRpdGlvbmFsOntzb3VyY2U6IlNjcmVlbmVyV2lkZ2V0In19KSxFcy50ZWxlbWV0cnkuc2VuZFJlcG9ydCgiY2FsZW5kYXJzIixgZWFybmluZ3NfJHtpfWApfX07dGhpcy5pc1NlcnZlclJlbmRlcigpP2Eod2luZG93LmluaXREYXRhLnNjcmVlbmVyX2RhdGEpOnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXImJnRoaXMuX21hcmtlZFN5bWJvbHNGaWx0ZXIuaXNBY3RpdmUoKSYmIXRoaXMuX3RpY2tlcnMubGVuZ3RoP3RoaXMuX3ZpZXcuZGlzcGxheSh7ZGF0YTpbXX0scyk6KHRoaXMuc2NhblJlcXVlc3QmJjQhPT10aGlzLnNjYW5SZXF1ZXN0LnJlYWR5U3RhdGUmJnRoaXMuc2NhblJlcXVlc3QuYWJvcnQoKSx0aGlzLnNjYW5SZXF1ZXN0PXRoaXMuX3NlbmRTY2FuUmVxdWVzdChuLGEpLHRoaXMuc2NhblJlcXVlc3QuZmFpbChsKSx0aGlzLnRyYWNrRXZlbnQoIlNjYW4gcmVxdWVzdCIpLHdpbmRvdy5pbml0RGF0YS5maWx0ZXJfaWQmJmRlbGV0ZSB3aW5kb3cuaW5pdERhdGEuZmlsdGVyX2lkKX1wcmV2ZW50UHJldlNjYW5SZXF1ZXN0KCl7dGhpcy5sb2FkaW5nJiZ0aGlzLnNjYW5SZXF1ZXN0JiYodGhpcy5zY2FuUmVxdWVzdC5hYm9ydCgpLAp0aGlzLnNjYW5SZXF1ZXN0PW51bGwpfV9zaG91bGRSZXJlbmRlcihlLHQpe3JldHVybiF0aGlzLl9pc1ByZXZTY2FuRGF0YUVxdWFsKGUpfHwhdGhpcy5faXNQcmV2UmVxdWVzdERhdGFFcXVhbCh0KX1faXNQcmV2U2NhbkRhdGFFcXVhbChlKXtyZXR1cm4gdGhpcy5fcHJldlNjYW5EYXRhPT09ZX1faXNQcmV2UmVxdWVzdERhdGFFcXVhbChlKXtyZXR1cm4oMCxfaS5kZWZhdWx0KShlLHRoaXMuX3ByZXZSZXF1ZXN0RGF0YSl9aXNGaWVsZFNldENoYW5nZWQoKXtpZih0aGlzLl9icmlkZ2Uub25XaWRnZXQpcmV0dXJuITE7Y29uc3QgZT10aGlzLmN1cnJlbnRGaWVsZFNldElkKCksdD1lJiZ0aGlzLmdldEZpZWxkU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10LmNvbnRlbnQuc2xpY2UoKS5maWx0ZXIoS3MpLGk9dGhpcy5maWVsZHNPcmRlci52YWx1ZSgpLnNsaWNlKCkuZmlsdGVyKEtzKSxuPSFJdC50eXBlLmRpc2FibGVkJiYtMSE9PXQuY29udGVudC5pbmRleE9mKCJ0eXBlIikhPT1JdC50eXBlLmNoZWNrZWQscj0hSXQuZGVzY3JpcHRpb24uZGlzYWJsZWQmJi0xIT09dC5jb250ZW50LmluZGV4T2YoImRlc2NyaXB0aW9uIikhPT1JdC5kZXNjcmlwdGlvbi5jaGVja2VkO3JldHVybiBvLmpvaW4oKSE9PWkuam9pbigpfHxufHxyfWFwcGx5RmllbGRTZXRDb250ZW50KGUpe2Zvcihjb25zdCB0IGluIEl0KUl0W3RdLmNoZWNrZWQ9LTEhPT1lLmluZGV4T2YodCk7dGhpcy5maWVsZFNldENoYW5nZWQuZmlyZShlLmZpbHRlcigoZT0+ITAhPT1JdFtlXS5oaWRkZW5Db2x1bW4pKSl9YXBwbHlGaWVsZFNldEltcGwoZSx0LG89ITApe2NvbnN0IGk9dGhpcy5nZXRGaWVsZFNldEJ5SWQoZSksbj1pLmNvbnRlbnQuZmlsdGVyKChlPT5JdFtlXSYmIUl0W2VdLmRpc2FibGVkKSk7aWYodGhpcy5hcHBseUZpZWxkU2V0Q29udGVudChuKSx0fHx0aGlzLnVwZGF0ZSgpLHRoaXMuX3ZpZXcuc2V0RmllbGRTZXQoZSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLGkuaWQse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSwhdCl7Y29uc3QgdD10aGlzLmRlZmF1bHRGaWVsZFNldHMuZmluZCgodD0+dC5pZD09PWUpKT9lOiJjdXN0b20iO3RoaXMudHJhY2tFdmVudChgQXBwbHkgZmllbGQgc2V0ICR7dH1gKX1vJiZ0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hcHBseS1maWVsZC1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLGluaXRpYWw6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX1hcHBseUZpZWxkU2V0KGUsdCxpKXt0fHxpfHwhdGhpcy5pc0ZpZWxkU2V0Q2hhbmdlZCgpP3RoaXMuYXBwbHlGaWVsZFNldEltcGwoZSx0KTpuZXcgUHJvbWlzZSgoZT0+e3RoaXMuX2JyaWRnZS5vbldpZGdldD9lKCk6dGhpcy5fdmlldy5fcG9wdXBzLnNob3dDb25maXJtRGlhbG9nKG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxNzM1MCkpKS50aGVuKCh0PT57dD90aGlzLl92aWV3LnBvcHVwcy5jb25maXJtQW5kU2F2ZUN1cnJlbnRGaWVsZFNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSl9KSkudGhlbigoKCk9Pnt0aGlzLmFwcGx5RmllbGRTZXRJbXBsKGUsdCl9KSl9aXNGaWx0ZXJTZXRDaGFuZ2VkKCl7aWYodGhpcy5fYnJpZGdlLm9uV2lkZ2V0KXJldHVybiExO2NvbnN0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKSx0PWUmJnRoaXMuZ2V0RmlsdGVyU2V0QnlJZChlKTtpZighZXx8IXQpcmV0dXJuITA7Y29uc3Qgbz10aGlzLm1hcmtldHN8fFt0aGlzLm1hcmtldF07WyJmb3JleCIsImNyeXB0byJdLmluY2x1ZGVzKG9bMF0pJiZkZWxldGUgdC5jb250ZW50LmZpbHRlcnMuaXNfcHJpbWFyeTtjb25zdCBpPXRoaXMuY3VycmVudEZpbHRlclN0YXRlKCksbj17fTtpZih0LmNvbnRlbnQuZmlsdGVycylmb3IoY29uc3QgZSBvZiBPYmplY3Qua2V5cyh0LmNvbnRlbnQuZmlsdGVycykpe2NvbnN0IG89dC5jb250ZW50LmZpbHRlcnNbZV0saT1tdChvLm9wZXJhdG9yKSxyPW10KG8udmFsdWUpOyhpJiZyfHwhaSYmIXIpJiYobltlXT1vKX1pZih0LmNvbnRlbnQub3B0aW9ucyYmaS5vcHRpb25zKXtpZihpLm9wdGlvbnMuYWN0aXZlX3N5bWJvbHNfb25seSE9PXQuY29udGVudC5vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkpcmV0dXJuITB9Y29uc3Qgcj1pLmZpbHRlcnMscz1PYmplY3Qua2V5cyhuKS5jb25jYXQoT2JqZWN0LmtleXMocikpLmZpbHRlcigoKGUsdCxvKT0+by5pbmRleE9mKGUpPT09dCkpO2ZvcihsZXQgZT0wO2U8cy5sZW5ndGg7KytlKXtjb25zdCB0PXNbZV07aWYoIW4uaGFzT3duUHJvcGVydHkodCl8fCFyLmhhc093blByb3BlcnR5KHQpKXJldHVybiEwO2lmKEFycmF5LmlzQXJyYXkoblt0XSleQXJyYXkuaXNBcnJheShyW3RdKSlyZXR1cm4hMDtpZihBcnJheS5pc0FycmF5KG5bdF0pJiZBcnJheS5pc0FycmF5KHJbdF0pJiZuW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCkhPT1yW3RdLnNvcnQodGhpcy5udW1lcmljU29ydGVyKS5qb2luKCl8fCFBcnJheS5pc0FycmF5KG5bdF0pJiYhKDAsX2kuZGVmYXVsdCkoblt0XSxyW3RdKSlyZXR1cm4hMH1yZXR1cm4hISh0LmNvbnRlbnQuc29ydF9kaXJlY3Rpb24mJnQuY29udGVudC5zb3J0X2RpcmVjdGlvbiE9PWkuc29ydF9kaXJlY3Rpb258fHQuY29udGVudC5zb3J0X2ZpZWxkJiZ0LmNvbnRlbnQuc29ydF9maWVsZCE9PWkuc29ydF9maWVsZCl9Y3VycmVudEZpbHRlclN0YXRlKCl7Y29uc3QgZT17fTtmb3IoY29uc3QgdCBpbiBJdCl7Y29uc3Qgbz1JdFt0XS52YWx1ZTtpZihbImlzX3ByaW1hcnkiLCJhY3RpdmVfc3ltYm9sIl0uaW5jbHVkZXModCkpe2lmKCFvKWNvbnRpbnVlO2VbdF09e29wZXJhdG9yOiJlcXVhbCIsdmFsdWU6ITB9Cn1lbHNlIEl0W3RdLmNvbnRyb2wmJm8mJigib2JqZWN0Ij09dHlwZW9mIG8/ImNvbmRpdGlvbiI9PT1JdFt0XS5jb250cm9sP210KG8ub3BlcmF0b3IpfHxtdChvLnZhbHVlKXx8KGVbdF09byk6T2JqZWN0LmtleXMobykuc29tZSgoZT0+ISFvW2VdKSkmJihlW3RdPW8pOmVbdF09byl9cmV0dXJue2ZpbHRlcnM6ZSxzb3J0X2ZpZWxkOnRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkLHNvcnRfZGlyZWN0aW9uOnRoaXMuX3NvcnREaXJlY3Rpb24udmFsdWUoKXx8dGhpcy5faW5pdGlhbFNvcnREaXJlY3Rpb24sb3B0aW9uczp0aGlzLl9vcHRpb25zfX1zYXZlRmllbGRTZXQoZSx0KXtyZXR1cm4gdGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWVsZFNldCIsZS5zY3JlZW5lcl90eXBlPXRoaXMuc2NyZWVuZXJfdHlwZSx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT57dGhpcy5fdmlldy4kZmllbGRTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMSk7Y29uc3Qgbz10JiZ0LmlkJiZgJHt0LmlkfWA7cmV0dXJuIGUuZGVsZXRlfHx0aGlzLmZpZWxkU2V0U2F2ZWQuZmlyZSgpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLnNhdmUtZmllbGQtc2V0IixKU09OLnN0cmluZ2lmeSh7c2V0SWQ6ZS5kZWxldGU/IiI6byxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKSx0aGlzLmFwcGx5RmllbGRTZXRJbXBsKG8pLHR9KSl9c2F2ZUZpbHRlclNldChlLHQpe3JldHVybiB0aGlzLl92aWV3LiRmaWx0ZXJTZXRzQnV0dG9uLnRvZ2dsZUNsYXNzKCJpLWRpc2FibGVkIiwhMCksZS50eXBlPSJmaWx0ZXJTZXQiLGUuc2NyZWVuZXJfdHlwZT10aGlzLnNjcmVlbmVyX3R5cGUsZS5tYXJrZXRzPXRoaXMubWFya2V0cyx0aGlzLnNhdmVTZXQoZSx0KS50aGVuKCh0PT4odGhpcy5fdmlldy4kZmlsdGVyU2V0c0J1dHRvbi50b2dnbGVDbGFzcygiaS1kaXNhYmxlZCIsITEpLGUuc2V0SWQ9dCYmdC5pZCYmYCR7dC5pZH1gLHRoaXMuYXBwbHlGaWx0ZXJTZXQodC5pZCksZS5kZWxldGU/dGhpcy5maWx0ZXJTZXREZWxldGVkLmZpcmUoZS5zZXRJZCk6dGhpcy5maWx0ZXJTZXRTYXZlZC5maXJlKGUuc2V0SWQsZS5tYXJrZXRzLCEhZS5jb250ZW50KSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5zYXZlLWZpbHRlci1zZXQiLEpTT04uc3RyaW5naWZ5KHtzZXRJZDplLmRlbGV0ZT8iIjplLnNldElkLHNldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5fSkpLHQpKSl9c2F2ZVNldChlLHQpe3JldHVybiBQcm9taXNlLnJlc29sdmUoe3R5cGU6IlBPU1QiLHVybDoiL3NjcmVlbmVyL3NhdmUvIixkYXRhOmV9KS50aGVuKFZzLmFqYXgpLnRoZW4oKGU9PihlLmVycm9yP2pzLmxvZ0Vycm9yKGUuZXJyb3IpOnQmJnRoaXMudHJhY2tFdmVudCh0KSx0aGlzLmdldFVzZXJTZXR0aW5ncygpLnRoZW4oKCgpPT5lKSkpKSl9X2lzRXhjaGFuZ2VSZWxldmFudChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlLmV2ZXJ5KCh0PT5lLnJhbmdlLmluY2x1ZGVzKHQpKSk6ZS5yYW5nZS5pbmNsdWRlcyhlLnZhbHVlKX1faXNTdWJtYXJrZXRSZWxldmFudChlKXtyZXR1cm4oQXJyYXkuaXNBcnJheShlLnZhbHVlKT9lLnZhbHVlOltlLnZhbHVlXSkuZXZlcnkoKHQ9PmUucmFuZ2UuaW5jbHVkZXModCkpKX1hcHBseUZpbHRlclNldChlLHQsbz0hMCl7Y29uc3QgaT10aGlzLmdldEZpbHRlclNldEJ5SWQoZSk7aWYoaSl7aS5jb250ZW50LnNvcnRfZmllbGQmJnRoaXMuX3NvcnRGaWVsZC5zZXRWYWx1ZShpLmNvbnRlbnQuc29ydF9maWVsZCksaS5jb250ZW50LnNvcnRfZGlyZWN0aW9uJiZ0aGlzLl9zb3J0RGlyZWN0aW9uLnNldFZhbHVlKGkuY29udGVudC5zb3J0X2RpcmVjdGlvbiksdGhpcy5fb3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LGkuY29udGVudC5vcHRpb25zKTtmb3IoY29uc3QgZSBpbiBJdClpLmNvbnRlbnQuZmlsdGVycyYmZSBpbiBpLmNvbnRlbnQuZmlsdGVycz8oImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZBcnJheS5pc0FycmF5KGkuY29udGVudC5maWx0ZXJzW2VdKSYmMj09PWkuY29udGVudC5maWx0ZXJzW2VdLmxlbmd0aCYmKGkuY29udGVudC5maWx0ZXJzW2VdPXtvcGVyYXRvcjoiaW5fcmFuZ2UiLHZhbHVlOmkuY29udGVudC5maWx0ZXJzW2VdfSksSXRbZV0udmFsdWU9KDAsSC5jbG9uZSkoaS5jb250ZW50LmZpbHRlcnNbZV0pLCJzdWJtYXJrZXQiIT09ZXx8IUl0W2VdLmRpc2FibGVkJiZ0aGlzLl9pc1N1Ym1hcmtldFJlbGV2YW50KEl0W2VdKXx8KEl0W2VdLnZhbHVlPW51bGwpLCJpc19wcmltYXJ5Ij09PWUmJkl0W2VdLmRpc2FibGVkJiYoSXRbZV0udmFsdWU9bnVsbCksImNvbmRpdGlvbiI9PT1JdFtlXS5jb250cm9sJiZJdFtlXS52YWx1ZSYmKG10KEl0W2VdLnZhbHVlLnZhbHVlKXx8bXQoSXRbZV0udmFsdWUub3BlcmF0b3IpKSYmKEl0W2VdLnZhbHVlPW51bGwpLCJleGNoYW5nZSIhPT1lfHx0aGlzLl9pc0V4Y2hhbmdlUmVsZXZhbnQoSXRbZV0pfHwoSXRbZV0udmFsdWU9bnVsbCkpOiExIT09SXRbZV0ucmVzZXR0YWJsZUZpbHRlciYmKEl0W2VdLnZhbHVlPW51bGwpLHRoaXMuX3ZpZXcuX3Jlc2V0RmllbGQoZSwhMSwhMCk7dGhpcy5fb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgiYWN0aXZlX3N5bWJvbHNfb25seSIpJiYoITA9PT10aGlzLl9vcHRpb25zLmFjdGl2ZV9zeW1ib2xzX29ubHkmJihJdC5hY3RpdmVfc3ltYm9sLnZhbHVlPSEwKSxkZWxldGUgdGhpcy5fb3B0aW9ucy5hY3RpdmVfc3ltYm9sc19vbmx5KSx0aGlzLnNhdmVGaWx0ZXJzU2V0dGluZ3MoKSwhMD09PXQ/KHRoaXMuX3ZpZXcuc2V0RmlsdGVyU2V0KGUpLHRoaXMuZmlsdGVyU2V0Q2hhbmdlZC5maXJlKGUpKTp0aGlzLnVwZGF0ZUltcGwoKCgpPT57dGhpcy5fdmlldy5zZXRGaWx0ZXJTZXQoZSksdGhpcy5maWx0ZXJTZXRDaGFuZ2VkLmZpcmUoZSl9KSxudWxsLCEwKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIuZmlsdGVyU2V0SWQiLGkuaWQsewpmb3JjZUZsdXNoOiEwfSksdGhpcy50cmFja0V2ZW50KCJBcHBseSBmaWx0ZXIgc2V0IiksbyYmdGhpcy5fc2VuZFhXaW5kb3dFdmVudCgic2NyZWVuZXIuYXBwbHktZmlsdGVyLXNldCIsSlNPTi5zdHJpbmdpZnkoe3NldElkOmUsZG9Ob3RVcGRhdGU6dCxzZXR0aW5nS2V5OnRoaXMuc2V0dGluZ0tleX0pKX19c2F2ZUZpbHRlcnNTZXR0aW5ncygpe3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSh0aGlzLnNldHRpbmdLZXkrIi5zb3J0X2RpcmVjdGlvbiIsdGhpcy5fc29ydERpcmVjdGlvbi52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydERpcmVjdGlvbiksdGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLnNvcnRfZmllbGQiLHRoaXMuX3NvcnRGaWVsZC52YWx1ZSgpfHx0aGlzLl9pbml0aWFsU29ydEZpZWxkKX1nZXRVc2VyU2V0dGluZ3MoKXtjb25zdCBlPXtmaWx0ZXJTZXRzOltdLGZpZWxkU2V0czpbXX07cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT90aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuZGVmYXVsdEZpZWxkU2V0cy5tYXAoKGU9PmUuaWQpKTp0aGlzLmZhdm9yaXRlRmllbGRTZXRzPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRKU09OKHRoaXMuc2V0dGluZ0tleSsiLmZhdm9yaXRlRmllbGRTZXRzIix0aGlzLmRlZmF1bHRGaWVsZFNldHMubWFwKChlPT5lLmlkKSkpLHdpbmRvdy5pc19hdXRoZW50aWNhdGVkP25ldyBQcm9taXNlKCh0PT57VnMuZ2V0KCIvc2NyZWVuZXIvc2V0dGluZ3MvIix7c2NyZWVuZXJfdHlwZTp0aGlzLnNjcmVlbmVyX3R5cGV9KS5kb25lKChvPT57KG89b3x8ZSkuZmlsdGVyU2V0cz1vLmZpbHRlclNldHMubWFwKChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUuY29udGVudCk7dmFyIG87cmV0dXJuIHQuZmlsdGVycz0obz10LmZpbHRlcnMsT2JqZWN0LmtleXMobykuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9b1tlXTsibWFya2V0X2NhcF9iYXNpYyI9PT1lJiYibmVtcHR5Ij09PXQub3BlcmF0aW9uJiZkZWxldGUgb1tlXX0pKSxvKSx7aWQ6ZS5pZCsiIix0aXRsZTplLnRpdGxlLGNvbnRlbnQ6dH19KSksby5maWVsZFNldHM9by5maWVsZFNldHMubWFwKChlPT4oe2lkOmUuaWQrIiIsdGl0bGU6ZS50aXRsZSxjb250ZW50OkpTT04ucGFyc2UoZS5jb250ZW50KX0pKSksdGhpcy5zZXR0aW5ncz1vLHQoKX0pKX0pKToodGhpcy5zZXR0aW5ncz1lLFByb21pc2UucmVzb2x2ZSgpKX1nZXRGaWVsZFNldEJ5SWQoZSl7Y29uc3QgdD10PT50LmlkPT1lLG89dGhpcy5kZWZhdWx0RmllbGRTZXRzLmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmllbGRTZXRzLmZpbmQodCk6bnVsbCk7cmV0dXJuIG8/T2JqZWN0LmFzc2lnbih7fSxvLHt0aXRsZTpibyhvLnRpdGxlLCEwKX0pOm51bGx9Z2V0RmlsdGVyU2V0QnlJZChlKXtpZigicHJlZGVmaW5lZF9maWx0ZXIiPT09ZSlyZXR1cm4gdGhpcy5fYnJpZGdlLnByZWRlZmluZWRfZmlsdGVyO2NvbnN0IHQ9dD0+dC5pZD09ZSxvPVp0LmZpbmQodCl8fCh0aGlzLnNldHRpbmdzP3RoaXMuc2V0dGluZ3MuZmlsdGVyU2V0cy5maW5kKHQpOm51bGwpO3JldHVybiBvP09iamVjdC5hc3NpZ24oe30sbyx7dGl0bGU6Ym8oby50aXRsZSwhMCl9KTpudWxsfWFkZEZhdm9yaXRlRmllbGRTZXQoZSl7LTE9PT10aGlzLmZhdm9yaXRlRmllbGRTZXRzLmluZGV4T2YoZSkmJnRoaXMuZmF2b3JpdGVGaWVsZFNldHMucHVzaChlKSx0aGlzLnNldHRpbmdzU2F2ZXIuc2V0SlNPTih0aGlzLnNldHRpbmdLZXkrIi5mYXZvcml0ZUZpZWxkU2V0cyIsdGhpcy5mYXZvcml0ZUZpZWxkU2V0cyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3ZpZXcudXBkYXRlRmF2b3JpdGVzVG9vbGJhcigpLHRoaXMudHJhY2tFdmVudCgiQWRkIGZpZWxkIHNldCB0byBmYXZvcml0ZXMiKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5hZGQtZmllbGQtc2V0LXRvLWZhdm9yaXRlcyIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGRhdGU6RGF0ZS5ub3coKX0pKX1yZW1vdmVGYXZvcml0ZUZpZWxkU2V0KGUpe3RoaXMuZmF2b3JpdGVGaWVsZFNldHM9dGhpcy5mYXZvcml0ZUZpZWxkU2V0cy5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5zZXR0aW5nc1NhdmVyLnNldEpTT04odGhpcy5zZXR0aW5nS2V5KyIuZmF2b3JpdGVGaWVsZFNldHMiLHRoaXMuZmF2b3JpdGVGaWVsZFNldHMse2ZvcmNlRmx1c2g6ITB9KSx0aGlzLl92aWV3LnVwZGF0ZUZhdm9yaXRlc1Rvb2xiYXIoKSx0aGlzLl9zZW5kWFdpbmRvd0V2ZW50KCJzY3JlZW5lci5yZW1vdmUtZmllbGQtc2V0LWZyb20tZmF2b3JpdGVzIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWN1cnJlbnRGaWVsZFNldElkKCl7cmV0dXJuIHRoaXMuaXNTZXJ2ZXJSZW5kZXIoKT93aW5kb3cuaW5pdERhdGEuZmllbGRzZXRfaWQ6dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpZWxkU2V0SWQiLHRoaXMuZGVmYXVsdEZpZWxkU2V0c1swXS5pZCl9Y3VycmVudEZpbHRlclNldElkKCl7Y29uc3QgZT1adC5maW5kKChlPT5lLmhhc093blByb3BlcnR5KCJkaXNhYmxlZCIpJiYhZS5kaXNhYmxlZCkpfHxadFswXTtyZXR1cm4gd2luZG93LmluaXREYXRhLmZpbHRlcl9pZHx8dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKHRoaXMuc2V0dGluZ0tleSsiLmZpbHRlclNldElkIixlLmlkKX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm57cmVxdWVzdFBhcmFtczp0aGlzLl9wcmV2UmVxdWVzdHx8Im5vbmUiLGZpZWxkU2V0OnRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSxmaWx0ZXJTZXQ6dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKX19dHJhY2tFdmVudChlKXsoMCx3cy50cmFja0V2ZW50KSgiU2NyZWVuZXIiLGUsdGhpcy5tYXJrZXRzLmpvaW4oIiwiKSsiICIrKHRoaXMuX2JyaWRnZS5zdGFuZGFsb25lPyJzdGFuZGFsb25lIjoib24gY2hhcnQiKSl9bnVtZXJpY1NvcnRlcihlLHQpe3JldHVybiBlPnQ/MTotMX1pbnZhbGlkYXRlUmVxdWVzdCgpewpkZWxldGUgdGhpcy5fcHJldlJlcXVlc3R9Z2V0IHNlbGVjdGVkSW50ZXJ2YWxJZCgpe2lmKCF0aGlzLl9icmlkZ2UuaGlkZV9jb250cm9scyl7aWYodGhpcy5lb2RSZXN0cmljdGlvbi52YWx1ZSgpIT09V28uTm9uZSlyZXR1cm4iMUQiO2NvbnN0IGU9dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke3RoaXMuc2V0dGluZ0tleX0uaW50ZXJ2YWwtaWRgLGNlKTtyZXR1cm4odGhpcy5fYnJpZGdlLm9uV2lkZ2V0fHwoMCxIby5lbmFibGVkKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykmJi0xIT09KDAsSG8uZ2V0Q29uZmlnKShYby5Qcm9kdWN0RmVhdHVyZXNFbnVtLlNDUkVFTkVSX0lOVEVSVkFMUykuaW50ZXJ2YWwuaW5kZXhPZihlKSkmJmRlKGUpP2U6Y2V9fXNldFNlbGVjdGVkSW50ZXJ2YWxJZChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUoYCR7dGhpcy5zZXR0aW5nS2V5fS5pbnRlcnZhbC1pZGAsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLmNoYW5nZS1zZWxlY3RlZC1pbnRlcnZhbC1pZCIsSlNPTi5zdHJpbmdpZnkoe3NldHRpbmdLZXk6dGhpcy5zZXR0aW5nS2V5LGlkOmV9KSk7Y29uc3QgdD1kZShlKTt0JiZ0aGlzLnRyYWNrRXZlbnQoYEFwcGx5IHRpbWVmcmFtZSAke3QuaWR9YCl9Z2V0IHNlbGVjdGVkR3JvdXBzKCl7cmV0dXJuIEpTT04ucGFyc2UodGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS5zY3JlZW5lci1mb3JleC5ncm91cHNgLCdbIk1ham9yIiwiTWlub3IiXScpKS5tYXAoKGU9Pmh0W2VdfHxlKSl9c2V0U2VsZWN0ZWRHcm91cHMoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhodCksbz1lLm1hcCgoZT0+dC5maW5kKCh0PT5odFt0XT09PWUpKXx8ZSkpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uc2NyZWVuZXItZm9yZXguZ3JvdXBzYCxKU09OLnN0cmluZ2lmeShvKSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNlbGVjdGVkIGdyb3VwcyIpfXNldCBtYXJrZXRzKGUpe2NvbnN0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPUpTT04uc3RyaW5naWZ5KHQpO3RoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZShgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9Lm1hcmtldGAsbyx7Zm9yY2VGbHVzaDohMH0pLHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIG1hcmtldCIpLHRoaXMuX3NlbmRYV2luZG93RXZlbnQoInNjcmVlbmVyLm1hcmtldC1jaGFuZ2VkIixKU09OLnN0cmluZ2lmeSh7c2V0dGluZ0tleTp0aGlzLnNldHRpbmdLZXksZGF0ZTpEYXRlLm5vdygpfSkpfWdldCBwcmVzZXQoKXtyZXR1cm4gd2luZG93LmluaXREYXRhLnNjcmVlbmVyX3ByZXNldH1nZXQgbWFya2V0cygpe2NvbnN0IGU9ZnVuY3Rpb24oZSx0PSJzdG9jayIpe3JldHVybiJmb3JleCI9PT10PyJmb3JleCI6ImNyeXB0byI9PT10PyJjcnlwdG8iOmsoZSl9KEdzLHRoaXMuc2NyZWVuZXJfdHlwZSksdD1PYmplY3Qua2V5cyhQKHRoaXMuc2NyZWVuZXJfdHlwZSkpLG89dGhpcy5zZXR0aW5nc1NhdmVyLmdldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0ubWFya2V0YCxKU09OLnN0cmluZ2lmeShbZV0pKTtsZXQgaTtpZih0aGlzLnNldHRpbmdzU2F2ZXIuZ2V0Qm9vbChgJHtHc30uJHt0aGlzLnNldHRpbmdLZXl9LmlzLWVudGlyZS13b3JsZGAsITEpKWk9dDtlbHNlIHRyeXtpPUpTT04ucGFyc2UobyksQXJyYXkuaXNBcnJheShpKSYmIWkuc29tZSgoZT0+IXQuaW5jbHVkZXMoZSkpKXx8KGk9W2VdKX1jYXRjaChuKXtpPW4gaW5zdGFuY2VvZiBTeW50YXhFcnJvciYmdC5pbmNsdWRlcyhvKT9bb106W2VdfWlmKHdpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXQpcmV0dXJuW3dpbmRvdy5pbml0RGF0YS5zY3JlZW5lcl9tYXJrZXRdO2lmKCEoMCxlcy5pc0dsb2JhbFNjcmVlbmVyQXZhaWxhYmxlKSgpJiZpLmxlbmd0aD4xKXJldHVybiBpPVtlXSxpO3JldHVybiBpLmV2ZXJ5KChlPT50LmluY2x1ZGVzKGUpKSk/aTpbZV19c2V0IGlzRW50aXJlV29ybGQoZSl7dGhpcy5zZXR0aW5nc1NhdmVyLnNldFZhbHVlKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCxlLHtmb3JjZUZsdXNoOiEwfSl9Z2V0IGlzRW50aXJlV29ybGQoKXtjb25zdCBlPXRoaXMuc2V0dGluZ3NTYXZlci5nZXRCb29sKGAke0dzfS4ke3RoaXMuc2V0dGluZ0tleX0uaXMtZW50aXJlLXdvcmxkYCwhMSk7cmV0dXJuISghKDAsZXMuaXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZSkoKSYmdGhpcy5tYXJrZXRzLmxlbmd0aD4xKSYmZX1nZXQgdGltZXpvbmUoKXtyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1GKCJzdG9jayIpW2VdO3JldHVybiB0P3QudGltZXpvbmU6bnVsbH0odGhpcy5tYXJrZXRzWzBdKX1fdmVyaWZ5QWxsU2V0c0NoYW5nZXMoZSl7cmV0dXJuKCEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWVsZFNldENoYW5nZWQoKT90aGlzLl92aWV3LnBvcHVwcy5zaG93Q29uZmlybURpYWxvZyhvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTczNTApKSkudGhlbigodD0+e3Q/dGhpcy5fdmlldy5wb3B1cHMuY29uZmlybUFuZFNhdmVDdXJyZW50RmllbGRTZXQoKS50aGVuKGUsKHQ9Pnt0JiZqcy5sb2dFcnJvcih0KSxlKCl9KSk6ZSgpfSkpOmUoKX0pKSkudGhlbigoKCk9PiEwPT09ZT9Qcm9taXNlLnJlc29sdmUoKTpuZXcgUHJvbWlzZSgoKGUsdCk9Pnt0aGlzLl9icmlkZ2Uub25XaWRnZXQ/ZSgpOnRoaXMuaXNGaWx0ZXJTZXRDaGFuZ2VkKCk/dGhpcy5fdmlldy5wb3B1cHMuc2hvd0NvbmZpcm1EaWFsb2coby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjcwNjQ0KSkpLnRoZW4oKHQ9Pnt0P3RoaXMuX3ZpZXcucG9wdXBzLmNvbmZpcm1BbmRTYXZlQ3VycmVudEZpbHRlclNldCgpLnRoZW4oZSwodD0+e3QmJmpzLmxvZ0Vycm9yKHQpLGUoKX0pKTplKCl9KSk6ZSgpfSkpKSl9c2V0TWFya2V0KGUsdCxvKXtjb25zdCBpPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0KO3JldHVybiEwIT09dCYmKDAsX2kuZGVmYXVsdCkoaSx0aGlzLm1hcmtldHMpP1Byb21pc2UucmVqZWN0KCk6KHRoaXMubWFya2V0cz1pLHRoaXMuX3ZlcmlmeUFsbFNldHNDaGFuZ2VzKG8pLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9Pnt0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLG1hcmtldHM6dGhpcy5tYXJrZXRzLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KTtsZXQgZT10aGlzLmN1cnJlbnRGaWx0ZXJTZXRJZCgpO2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpO2lmKHQmJnQuZGlzYWJsZWQpe2NvbnN0IHQ9dGhpcy5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKChlPT4hZS5kaXNhYmxlZCkpO2U9dD90LmlkOiIifXRoaXMuYXBwbHlGaWVsZFNldCh0aGlzLmN1cnJlbnRGaWVsZFNldElkKCksITApLHRoaXMuYXBwbHlGaWx0ZXJTZXQoZSwhMCksdGhpcy5pbnZhbGlkYXRlUmVxdWVzdCgpLHRoaXMuX3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCksdGhpcy51cGRhdGUoKX0pKSl9X3VwZGF0ZUVvZFJlc3RyaWN0aW9uKCl7Y29uc3QgZT17bWFya2V0czp0aGlzLm1hcmtldHMsaXNQcm86KDAsQXMuaXNQcm8pKHdpbmRvdy51c2VyKSxpc0Fub255bW91czohd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsc2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxvbldpZGdldDooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpfTt0aGlzLmVvZFJlc3RyaWN0aW9uLnNldFZhbHVlKGZ1bmN0aW9uKGUpe2NvbnN0e3NjcmVlbmVyVHlwZTp0LG1hcmtldHM6byxvbldpZGdldDppLGlzUHJvOm4saXNBbm9ueW1vdXM6cn09ZTtpZihvLmxlbmd0aD4xKXJldHVybiBXby5Ob25lO2lmKCJzdG9jayIhPT10KXJldHVybiBXby5Ob25lO2NvbnN0IHM9JChvKTtpZihpKXJldHVybiBzLmV2ZXJ5KCRvKT9Xby5Ob25lOldvLldpZGdldDtpZihuKXJldHVybiBXby5Ob25lO2NvbnN0IGE9cy5tYXAoQm8pO3JldHVybiBhLnNvbWUoKGU9PigwLEZvLmlzSURDRXhjaGFuZ2UpKGUsITApKSkmJihyfHxhLnNvbWUoKGU9PiEhZSYmTG8oZSkpKSk/V28uU2l0ZTpXby5Ob25lfShlKSl9Y2hhbmdlU2NyZWVuZXJUeXBlKGUpe3JldHVybiBlPT09dGhpcy5zY3JlZW5lcl90eXBlP1Byb21pc2UucmVqZWN0KCk6KHRoaXMudHJhY2tFdmVudCgiQ2hhbmdlIHNjcmVlbmVyIHR5cGUiKSx0aGlzLl92ZXJpZnlBbGxTZXRzQ2hhbmdlcygpLnRoZW4oKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMCksdGhpcy5tYXJrZXRDaGFuZ2VQcm9jZXNzPSEwLHRoaXMuc2NyZWVuZXJfdHlwZT1lLHRoaXMuc2V0dGluZ3NTYXZlci5zZXRWYWx1ZSgic2NyZWVuZXIuc2VsZWN0ZWRfdHlwZV9vbl9jaGFydCIsZSx7Zm9yY2VGbHVzaDohMH0pLHRoaXMuc2V0dGluZ0tleT1Zc1t0aGlzLnNjcmVlbmVyX3R5cGVdfHxZcy5zdG9jayx0aGlzLmRlZmF1bHRGaWVsZFNldHM9Zyh7c2NyZWVuZXJUeXBlOnRoaXMuc2NyZWVuZXJfdHlwZSxtYXJrZXRzOnRoaXMubWFya2V0cyxpc0NvbXBhY3Q6dGhpcy5pc1NlcnZlclJlbmRlcigpLHN1YnR5cGU6IiIsaXNPbldpZGdldDp0aGlzLl9icmlkZ2Uub25XaWRnZXR9KSxQdCh0aGlzLnNjcmVlbmVyX3R5cGUpLFF0KHRoaXMubWFya2V0cyk7Y29uc3QgdD10aGlzLnNlbGVjdGVkR3JvdXBzO0l0LnNlY3Rvci52YWx1ZT1BcnJheS5pc0FycmF5KHQpJiZ0WzBdPT09by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTIxODQ3KSk/bnVsbDp0fSkpLnRoZW4oKCgpPT50aGlzLmxvYWRpbmdTdGFydC5maXJlKCkpKS50aGVuKCgoKT0+dGhpcy5nZXRNZXRhSW5mbygpKSkudGhlbigoKCk9PnRoaXMuZ2V0VXNlclNldHRpbmdzKCkpKS50aGVuKCgoKT0+e3RoaXMuX2NoZWNrQ3VycmVudFNldHMoKSx0aGlzLmFwcGx5RmllbGRTZXQodGhpcy5jdXJyZW50RmllbGRTZXRJZCgpLCEwKSx0aGlzLmFwcGx5RmlsdGVyU2V0KHRoaXMuY3VycmVudEZpbHRlclNldElkKCksITApfSkpLnRoZW4oKCgpPT57bGV0IGU9dGhpcy5jdXJyZW50RmlsdGVyU2V0SWQoKTtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgodD0+dC5pZD09PWUpKTtpZih0JiZ0LmRpc2FibGVkKXtjb25zdCB0PXRoaXMuZGVmYXVsdEZpbHRlclNldHMuZmluZCgoZT0+IWUuZGlzYWJsZWQpKTtlPXQ/dC5pZDoiIn10aGlzLmFwcGx5RmlsdGVyU2V0KGUsITApLHRoaXMuaW52YWxpZGF0ZVJlcXVlc3QoKSx0aGlzLl91cGRhdGVFb2RSZXN0cmljdGlvbigpLHRoaXMudXBkYXRlSW1wbCh2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCEwKSx0aGlzLm1hcmtldENoYW5nZVByb2Nlc3M9ITEsdGhpcy5sb2FkaW5nQ29tcGxldGUuc3Vic2NyaWJlKG51bGwsKCgpPT57dGhpcy5kaXNhYmxlZC5zZXRWYWx1ZSghMSl9KSwhMCl9KSkpfWJhY2tlbmRVcmwoZSl7cmV0dXJuIGZ1bmN0aW9uKGUsdD1lKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmxlbmd0aD4xP2Ake1RzKCl9L2dsb2JhbC9gOmAke1RzKCl9LyR7dFswXX0vYDpgJHtUcygpfS8ke3R9L2B9KHRoaXMubWFya2V0cyxlKX1vbkxvZ2luU3RhdGVDaGFuZ2UoZSl7ZXx8dGhpcy5nZXRVc2VyU2V0dGluZ3MoKS50aGVuKCgoKT0+dGhpcy5hcHBseUZpZWxkU2V0KHRoaXMuY3VycmVudEZpZWxkU2V0SWQoKSwhMCkpKS50aGVuKCgoKT0+dGhpcy5zZXRNYXJrZXQodGhpcy5tYXJrZXRzLCEwLCEwKSkpLnRoZW4oKCgpPT50aGlzLl92aWV3LnVwZGF0ZU1hcmtldEJ1dHRvbigpKSl9c2hvd05vdGljZUlmTm9GaWx0ZXJzKGUpe2xldCB0O2lmKGUpe2NvbnN0IG89dGhpcy5nZXRGaWx0ZXJTZXRCeUlkKGUpO3Q9byYmby5jb250ZW50fWVsc2UgdD10aGlzLmN1cnJlbnRGaWx0ZXJTdGF0ZSgpCjtyZXR1cm4oIXR8fCFPYmplY3Qua2V5cyh0LmZpbHRlcnN8fHt9KS5sZW5ndGgpJiYodGhpcy5fdmlldy5wb3B1cHMuc2hvd05vdGljZShvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjA4MikpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxOTQ3NCkpKSwhMCl9YmluZFNjcm9sbFRvQm90dG9tKGUpe2NvbnN0IHQ9KCk9Pnt0aGlzLmxvYWRpbmd8fHRoaXMudXBkYXRlKG51bGwsITApfSxvPSgpPT57VnMod2luZG93KS5iaW5kKCJzY3JvbGx0byIse3RvOiJib3R0b20iLHRvbGVyYW5jZTplfSx0KSx0aGlzLmxvYWRpbmdDb21wbGV0ZS51bnN1YnNjcmliZShudWxsLG8pfTt0aGlzLmxvYWRpbmdDb21wbGV0ZS5zdWJzY3JpYmUobnVsbCxvKX1nZXQgaXNGYXN0UmVmcmVzaCgpe3JldHVyblsiZm9yZXgiLCJjcnlwdG8iXS5pbmNsdWRlcyh0aGlzLnNjcmVlbmVyX3R5cGUpfWdldCByZWZyZXNoSW50ZXJ2YWwoKXtpZih0aGlzLmlzRmFzdFJlZnJlc2gmJiF0aGlzLl9icmlkZ2Uub25XaWRnZXQpe2lmKHRoaXMuX2JyaWRnZS5oaWRlX2NvbnRyb2xzKXJldHVybiAxMDtpZighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnNldHRpbmdzU2F2ZXIuZ2V0SW50KHRoaXMuc2V0dGluZ0tleSsiLnJlZnJlc2hJbnRlcnZhbCIsLTEpfHwtMTtyZXR1cm4gMT09PWU/MTA6ZX1yZXR1cm4gd2luZG93LnVzZXImJndpbmRvdy51c2VyLmlzX3BybyYmdGhpcy5zZXR0aW5nc1NhdmVyLmdldEludCh0aGlzLnNldHRpbmdLZXkrIi5yZWZyZXNoSW50ZXJ2YWwiLC0xKXx8LTF9c2V0IHJlZnJlc2hJbnRlcnZhbChlKXt0aGlzLnNldHRpbmdzU2F2ZXIuc2V0VmFsdWUodGhpcy5zZXR0aW5nS2V5KyIucmVmcmVzaEludGVydmFsIixlLHtmb3JjZUZsdXNoOiEwfSksdGhpcy5fdmlldy5yZXNldFJlZnJlc2hDb3VudGVyKCksLTEhPT1lJiZ0aGlzLnRyYWNrRXZlbnQoIlNldCByZWZyZXNoIGludGVydmFsIil9Z2V0IHZpZXcoKXtyZXR1cm4gdGhpcy5fdmlld31nZXQgc2VhcmNoRmllbGQoKXtyZXR1cm4ic2VjdG9yIj09PXRoaXMuc2NyZWVuZXJfdHlwZXx8ImluZHVzdHJ5Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8iZGVzY3JpcHRpb24iOiJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZT8ic2VjdG9yIjoibmFtZSJ9Z2V0IHNjcmVlbmVyVHlwZSgpe3JldHVybiB0aGlzLnNjcmVlbmVyX3R5cGV9Z2V0IHNjcmVlbmVyQnJpZGdlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZX1hcHBseVN3aXRjaChlKXtpZihkZWxldGUgdGhpcy5fYnJpZGdlLnNjcmVlbmVyX2ZpZWxkX21hdGNoLCJjcnlwdG9fbWt0Ij09PXRoaXMuc2NyZWVuZXJfdHlwZSl0aGlzLnN3aXRjaEZpbHRlcj17bGVmdDoibmFtZSIsb3BlcmF0aW9uOiJtYXRjaCIscmlnaHQ6ZSsiJCJ9O2Vsc2UgaWYoImJvbmRzIj09PXRoaXMuc2NyZWVuZXJfdHlwZSl7dGhpcy5zd2l0Y2hGaWx0ZXI9e2xlZnQ6ImRlc2NyaXB0aW9uIixvcGVyYXRpb246InlpZWxkcyI9PT1lPyJtYXRjaCI6Im5tYXRjaCIscmlnaHQ6IllJRUxEJCJ9O2NvbnN0IHQ9InlpZWxkcyI9PT1lP28uaTE4bmV4dChudWxsLHtjb250ZXh0OiJCb25kcyJ9LG8oNzU0NikpOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgyMDg2NikpO0l0LmNsb3NlLnRpdGxlPXQsSXQuY2xvc2Uuc2hvcnRUaXRsZT10LHRoaXMuX3ZpZXcudGFibGUuc2V0Q29sdW1uVGl0bGUoImNsb3NlIix0KX10aGlzLnVwZGF0ZSgpfWhhc01hcmtlZFN5bWJvbHMoKXtyZXR1cm4oMCxfby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibWFya2VkX3N5bWJvbHMiKSYmIXRoaXMuX2JyaWRnZS5tYXJrZWRfc3ltYm9sc19kaXNhYmxlZH1fc2NyZWVuZXJTdWJ0eXBlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZS5zY3JlZW5lcl9zdWJ0eXBlfHwiIn1fYnVpbGRSZXF1ZXN0RGF0YShlKXtpZigiZ2xvYmFsIj09PXRoaXMubWFya2V0c1swXSl7Y29uc3QgdD1KU09OLnBhcnNlKGUpO3JldHVybiBkZWxldGUgdC5tYXJrZXRzLEpTT04uc3RyaW5naWZ5KHQpfXJldHVybiBlfV9zZW5kU2NhblJlcXVlc3QoZSx0KXtjb25zdCBvPXt0eXBlOiJQT1NUIix1cmw6dGhpcy5fZ2V0U2NhblVybCgic2NhbiIpLGRhdGE6dGhpcy5fYnVpbGRSZXF1ZXN0RGF0YShlKSxzdWNjZXNzOnQsZGF0YVR5cGU6InRleHQiLHhockZpZWxkczp7d2l0aENyZWRlbnRpYWxzOiFCb29sZWFuKHRoaXMuX2JyaWRnZS5vbldpZGdldCl9fTtyZXR1cm4gVnMuYWpheChvKX1fZ2V0RmlsdGVyZWRFeGNoYW5nZXNGb3JXaWRnZXQoZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hdGhpcy5fYnJpZGdlLnVuYXZhaWxhYmxlV2lkZ2V0RXhjaGFuZ2VzLmluY2x1ZGVzKGUpKSl9X2dldFNjYW5VcmwoZSl7Y29uc3QgdD1uZXcgVVJMKHRoaXMuYmFja2VuZFVybCgpK2UpLG89d2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcud2lkZ2V0Q3VzdG9tZXJ8fCIiO3JldHVybiBvJiZxc1tvXT90LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHFzW29dKTooMCxBbi5pc0V4dGVybmFsV2lkZ2V0KSh0aGlzLl9icmlkZ2UpJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLCJ3aWRnZXRfdXNlcl90b2tlbiIpLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgibGFiZWwtcHJvZHVjdCIsKDAsQW4uaXNDaGFydFBhZ2UpKHRoaXMuX2JyaWRnZSk/YHVuZGVyY2hhcnQtc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9YDpgc2NyZWVuZXItJHt0aGlzLnNjcmVlbmVyX3R5cGV9LW9sZGApLHQudG9TdHJpbmcoKX19KGRhKX0sMTg5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtTaWRlYmFyQ3VzdG9tU2Nyb2xsOigpPT51fSk7dmFyIGk9bygzNjMyNjkpLG49byg5NDgzODApLHI9byg0NTk0ODgpLHM9bygzMTQ3MjApLGE9bygzNDI3OCksbD1vKDc4MDM3NCk7Y29uc3QgYz1bKCk9Pm5hdmlnYXRvci51c2VyQWdlbnQuaW5jbHVkZXMoIldpbiIpJiZuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJDaHJvbWUiKT8xL3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjEsKCk9PjE2LChlPSgpPT4wKT0+LjgqKGUoKT8/MCldO28oMTEyNjEzKTt2YXIgZD1vKDYyNTQxMSkKO2NvbnN0IGg9e2hlYWRlckhlaWdodDowLGFkZGl0aW9uYWxDbGFzczoiIixhbHdheXNWaXNpYmxlOiExLHNob3dCb3R0b21TaGFkb3c6ITAsc2Nyb2xsTWFyZ2luVG9wOjEsYnViYmxlU2Nyb2xsRXZlbnQ6ITF9O2NsYXNzIHV7Y29uc3RydWN0b3IoZSx0LG89e30pe2lmKHRoaXMuc2Nyb2xsZWQ9bmV3IG4uRGVsZWdhdGUsdGhpcy5zY3JvbGx0b2VuZD1uZXcgbi5EZWxlZ2F0ZSx0aGlzLnNjcm9sbHRvc3RhcnQ9bmV3IG4uRGVsZWdhdGUsdGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzPVtdLHRoaXMuX3Njcm9sbFRhcmdldFRvcD0wLHRoaXMuX3Njcm9sbFNwZWVkPTQwLHRoaXMuX3NoYWRvd09mZnNldD0xMCx0aGlzLl9zaGFkb3dUb3A9bnVsbCx0aGlzLl9zaGFkb3dCb3R0b209bnVsbCx0aGlzLl9kcmFnSW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ2dhYmxlPW51bGwsdGhpcy5fYXRTdGFydD0hMSx0aGlzLl9hdEVuZD0hMSx0aGlzLl9zdGlja3lCb3R0b209bnVsbCx0aGlzLl9hbmltYXRpb249bnVsbCx0aGlzLl9zYXZlZD1udWxsLHRoaXMuX29wdGlvbnM9ey4uLmgsLi4ub30sdGhpcy5fd3JhcHBlcj1lLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZChkLndyYXBwZXIpLHRoaXMuX2NvbnRlbnQ9dCx0aGlzLl9oZWFkZXJIZWlnaHQ9dGhpcy5fb3B0aW9ucy5oZWFkZXJIZWlnaHQsdGhpcy5fc2Nyb2xsTWFyZ2luVG9wPXRoaXMuX29wdGlvbnMuc2Nyb2xsTWFyZ2luVG9wLHRoaXMuX3Njcm9sbEJhcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsYmFyIiwic2Itc2Nyb2xsYmFyLWJvZHkiKSx0aGlzLl9vcHRpb25zLmFkZGl0aW9uYWxDbGFzcyYmdGhpcy5fc2Nyb2xsQmFyLmNsYXNzTGlzdC5hZGQodGhpcy5fb3B0aW9ucy5hZGRpdGlvbmFsQ2xhc3MpLHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUtYWx3YXlzIix0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGUpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5jbGFzc0xpc3QuYWRkKCJzYi1zY3JvbGxiYXItd3JhcCIpLHRoaXMuX3RvdWNoPWkudG91Y2gsdGhpcy5fdG91Y2gpcmV0dXJuIHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5hZGQoZC50b3VjaCksdm9pZCB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKCgpPT50aGlzLl9vblNjcm9sbCgpKSk7dGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIix0aGlzLl91bnN1YnNjcmliZT0oKCk9Pntjb25zdCBlPSgpPT57dGhpcy5fZHJhZ2dpbmd8fCh0aGlzLl9vcHRpb25zLmFsd2F5c1Zpc2libGV8fHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKSx0aGlzLl9vblNjcm9sbCgpKX0sdD0oKT0+e3RoaXMuX2RyYWdnaW5nfHwodGhpcy5fb3B0aW9ucy5hbHdheXNWaXNpYmxlfHx0aGlzLl9zY3JvbGxCYXIuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksdGhpcy5fb25TY3JvbGwoKSl9LG89ZT0+e2NvbnN0IHQ9ZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudD9lLnRhcmdldDpudWxsO2lmKCghISF0Py5jbG9zZXN0KCIuaWdub3JlLWhvcml6b250YWwtc2Nyb2xsIil8fGUuZGVsdGFZKSYmIWUuZGVmYXVsdFByZXZlbnRlZCl7Y29uc3QgdD1mdW5jdGlvbihlLHQ9KCk9Pih7fSkpe3JldHVybnt4OmUuZGVsdGFYKmNbZS5kZWx0YU1vZGVdKCgoKT0+dCgpLndpZHRoKSkseTplLmRlbHRhWSpjW2UuZGVsdGFNb2RlXSgoKCk9PnQoKS5oZWlnaHQpKX19KGUsKCgpPT4oe2hlaWdodDp0aGlzLl93cmFwcGVyLmNsaWVudEhlaWdodH0pKSkueTt0aGlzLnNjcm9sbCgtdCwxKXx8KGUuc3RvcFByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpKX19O3JldHVybiB0aGlzLl93cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyksKCk9Pnt0aGlzLl93cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGUpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdCksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbyl9fSkoKSwhMSE9PXRoaXMuX29wdGlvbnMuc2hvd1RvcFNoYWRvdyYmKHRoaXMuX3NoYWRvd1RvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9zaGFkb3dUb3AuY2xhc3NMaXN0LmFkZCgic2ItaW5uZXItc2hhZG93IiwidG9wIiwiaS1pbnZpc2libGUiKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd1RvcCkpLCExIT09dGhpcy5fb3B0aW9ucy5zaG93Qm90dG9tU2hhZG93JiYodGhpcy5fc2hhZG93Qm90dG9tPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX3NoYWRvd0JvdHRvbS5jbGFzc0xpc3QuYWRkKCJzYi1pbm5lci1zaGFkb3ciKSx0aGlzLl93cmFwcGVyLmFwcGVuZENoaWxkKHRoaXMuX3NoYWRvd0JvdHRvbSkpLHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMuX3dyYXBwZXIuYXBwZW5kQ2hpbGQodGhpcy5fc2Nyb2xsQmFyV3JhcHBlciksdGhpcy5fc2Nyb2xsQmFyV3JhcHBlci5hcHBlbmRDaGlsZCh0aGlzLl9zY3JvbGxCYXIpLHRoaXMuX29uU2Nyb2xsKCl9aXNUb3VjaCgpe3JldHVybiB0aGlzLl90b3VjaH1nZXRTY3JvbGxCYXIoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsQmFyfWluaXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5fZHJhZ0luaXRpYWxpemVkfHwodGhpcy5fZHJhZ2dhYmxlPW5ldyBsLkRyYWdnYWJsZSh7YXhpczoieSIsCnNvdXJjZTp0aGlzLl9zY3JvbGxCYXIsY29udGFpbm1lbnQ6dGhpcy5fc2Nyb2xsQmFyV3JhcHBlcixzdGFydDooKT0+e3RoaXMuX2RyYWdnaW5nPSEwfSxzdG9wOigpPT57dGhpcy5fZHJhZ2dpbmc9ITF9LGRyYWc6KCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbCgpfX0pLHRoaXMuX2RyYWdJbml0aWFsaXplZD0hMCksdGhpc311cGRhdGVTY3JvbGwoKXtpZih0aGlzLl90b3VjaClyZXR1cm4gdGhpcztjb25zdCBlPU1hdGguY2VpbCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9zY3JvbGxCYXIpLnRvcC10aGlzLl9zY3JvbGxNYXJnaW5Ub3AtdGhpcy5faGVhZGVySGVpZ2h0KSx0PXRoaXMuZ2V0Q29udGFpbmVySGVpZ2h0V2l0aG91dEhlYWRlcigpLG89KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksaT1vLXQtMTtyZXR1cm4gdDw9MHx8KHRoaXMuX3Njcm9sbFRhcmdldFRvcD1pPD0wP3RoaXMuX2hlYWRlckhlaWdodDpNYXRoLm1pbigtZSpvL3QrdGhpcy5faGVhZGVySGVpZ2h0LHRoaXMuX2hlYWRlckhlaWdodCksZSsoMCxzLmNvbnRlbnRIZWlnaHQpKHRoaXMuX3Njcm9sbEJhcikrMj49dD90aGlzLnNjcm9sbFRvRW5kKCk6KHRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXRoaXMuX3Njcm9sbFRhcmdldFRvcCsicHgiLHRoaXMuX29uU2Nyb2xsKCkpKSx0aGlzfWdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKXtyZXR1cm4gdGhpcy5fd3JhcHBlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQtdGhpcy5faGVhZGVySGVpZ2h0fWdldENvbnRhaW5lckhlaWdodCgpe3JldHVybiB0aGlzLl93cmFwcGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH1nZXRDb250ZW50SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0fXVwZGF0ZVNjcm9sbEJhcigpe2lmKHRoaXMuX3RvdWNoKXJldHVybiB0aGlzO2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9dGhpcy5nZXRDb250ZW50SGVpZ2h0KCksbz10aGlzLmdldENvbnRhaW5lckhlaWdodCgpLGk9dGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCksbj0xK3RoaXMuX2hlYWRlckhlaWdodCxzPWktMixhPShNYXRoLmFicyhlKS10aGlzLl9oZWFkZXJIZWlnaHQpKnMvdCxsPW8qby90O3JldHVybiB0aGlzLmlzQ29udGVudFNob3J0KCk/KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QuYWRkKCJqcy1oaWRkZW4iKSx0aGlzLl93cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoInNiLXNjcm9sbC1hY3RpdmUiKSk6KHRoaXMuX3Njcm9sbEJhci5jbGFzc0xpc3QucmVtb3ZlKCJqcy1oaWRkZW4iKSx0aGlzLl9zY3JvbGxCYXIuc3R5bGUuaGVpZ2h0PWwrInB4Iix0aGlzLl9zY3JvbGxCYXIuc3R5bGUudG9wPW4rYSsicHgiLHRoaXMuX3dyYXBwZXIuY2xhc3NMaXN0LmFkZCgic2Itc2Nyb2xsLWFjdGl2ZSIpLHRoaXMuaW5pdERyYWdnYWJsZSgpKSx0aGlzfXNjcm9sbChlLHQpe2NvbnN0IG89KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLGk9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktdGhpcy5nZXRDb250YWluZXJIZWlnaHRXaXRob3V0SGVhZGVyKCktMSxuPXR8fHRoaXMuX3Njcm9sbFNwZWVkO3JldHVybiBpPD0wfHwodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC1pK3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsbytlKm4pKSx0aGlzLnNldENvbnRlbnRUb3AodGhpcy5fc2Nyb2xsVGFyZ2V0VG9wKSx0aGlzLl9vblNjcm9sbCgpKX1hbmltYXRlVG8oZSl7aWYodGhpcy5fdG91Y2gpcmV0dXJuIHRoaXM7Y29uc3QgdD0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KS10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKS0xO2lmKHQ8PTApcmV0dXJuITA7dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wPU1hdGgubWF4KC10K3RoaXMuX2hlYWRlckhlaWdodCxNYXRoLm1pbih0aGlzLl9oZWFkZXJIZWlnaHQsLWUpKSx0aGlzLl9hbmltYXRpb24mJnRoaXMuX2FuaW1hdGlvbi5zdG9wKCksdGhpcy5fYW5pbWF0aW9uPSgwLGEuZG9BbmltYXRlKSh7ZHVyYXRpb246NTAwLGZyb206cGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2NvbnRlbnQpLnRvcCksdG86dGhpcy5fc2Nyb2xsVGFyZ2V0VG9wLG9uU3RlcDooZSx0KT0+e3RoaXMuX2NvbnRlbnQuc3R5bGUudG9wPXQrInB4In0sb25Db21wbGV0ZTooKT0+e3RoaXMuX29uU2Nyb2xsKCl9fSl9cmVzaXplKCl7Y29uc3QgZT0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSx0PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpOyF0aGlzLl9vcHRpb25zLnZBbGlnbkJvdHRvbSYmZTx0P3RoaXMuYXRTdGFydCgpfHx0aGlzLnNjcm9sbFRvU3RhcnQoKTp0aGlzLmF0RW5kKCk/dGhpcy5zY3JvbGxUb0VuZCgpOiJudW1iZXIiPT10eXBlb2YgdGhpcy5fc3RpY2t5Qm90dG9tJiZ0aGlzLnNldENvbnRlbnRUb3AoTWF0aC5taW4oMCx0aGlzLl9zdGlja3lCb3R0b20rKDAscy5vdXRlckhlaWdodCkodGhpcy5fd3JhcHBlciktKDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCkpKX1yZXNpemVIZWFkZXIoZSl7Y29uc3QgdD1lLXRoaXMuX2hlYWRlckhlaWdodDt0aGlzLl9oZWFkZXJIZWlnaHQ9ZSx0aGlzLl9zY3JvbGxUYXJnZXRUb3ArPXQsdGhpcy5fc2hhZG93VG9wJiYodGhpcy5fc2hhZG93VG9wLnN0eWxlLnRvcD10aGlzLl9oZWFkZXJIZWlnaHQtdGhpcy5fc2hhZG93T2Zmc2V0KyJweCIpLHRoaXMucmVzaXplKCl9c2Nyb2xsVG8oZSx0KXtjb25zdCBvPXtwb3NpdGlvbjoidmlzaWJsZSIsYXJlYUhlaWdodDplIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KDAscy5jb250ZW50SGVpZ2h0KShlKTowLC4uLnR9O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKGU9by5vZmZzZXRUb3B8fCgwLHIucG9zaXRpb24pKGUpLnRvcCk7Y29uc3QgaT0oMCwKci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLG49dGhpcy5fY29udGVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsYT10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKTtpZihuLWEtMTw9MClyZXR1cm4hMDtjb25zdCBsPS0xKihpLXRoaXMuX2hlYWRlckhlaWdodCksYz1sK2E7bGV0IGQ9MDtpZigidmlzaWJsZSI9PT1vLnBvc2l0aW9uKXtpZihlPmwmJmUrby5hcmVhSGVpZ2h0PGMpcmV0dXJuITE7ZD1lK28uYXJlYUhlaWdodD5jP2MtZS1vLmFyZWFIZWlnaHQ6bC1lfWVsc2UidG9wIj09PW8ucG9zaXRpb24mJihkPWwtZSk7cmV0dXJuIHRoaXMuc2Nyb2xsKGQsMSksdGhpcy5fb25TY3JvbGwoKSwhMX1zY3JvbGxUb0VuZCgpe2NvbnN0IGU9KDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wLHQ9KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCksbz0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSxpPXQ+bz9lKyhvLSh0K2UpKSsxOjE7cmV0dXJuIHRoaXMuc2V0Q29udGVudFRvcChpKSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9c2Nyb2xsVG9TdGFydCgpe3JldHVybiB0aGlzLnNldENvbnRlbnRUb3AodGhpcy5faGVhZGVySGVpZ2h0KSx0aGlzLl9vblNjcm9sbCgpLHRoaXN9Y3VycmVudFBvc2l0aW9uKCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKX1hdFN0YXJ0KCl7cmV0dXJuIE1hdGgucm91bmQoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKT49dGhpcy5faGVhZGVySGVpZ2h0fWF0RW5kKGUpeyJudW1iZXIiPT10eXBlb2YgZSYmaXNGaW5pdGUoZSl8fChlPTApO2NvbnN0IHQ9TWF0aC5yb3VuZCgoMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3ApLG89TWF0aC5mbG9vcigoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KSksaT1NYXRoLmZsb29yKCgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX3dyYXBwZXIpKTtyZXR1cm4gby1NYXRoLmFicyh0KS0xPD1pK2V9Y2hlY2tDb250ZW50VmlzaWJpbGl0eSgpe3RoaXMuX29uQ29udGVudFZpc2libGUoKX1zdWJzY3JpYmVUb0NvbnRlbnRWaXNpYmxlKGUsdCxvKXt0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MucHVzaCh7aWQ6ZSxlbGVtZW50OnQsY2FsbGJhY2s6b30pfXRyaWdnZXJWaXNpYmlsaXR5Q2FsbGJhY2tzKGUpe3RoaXMuX29uQ29udGVudFZpc2libGUoZSl9c2F2ZSgpe3JldHVybiB0aGlzLl9zYXZlZD17dG9wOigwLHIucG9zaXRpb24pKHRoaXMuX2NvbnRlbnQpLnRvcCxoZWlnaHQ6KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCl9LHRoaXN9cmVzdG9yZSgpe2lmKHRoaXMuX3NhdmVkKXtpZih0aGlzLl9zYXZlZC50b3A9PT0oMCxyLnBvc2l0aW9uKSh0aGlzLl9jb250ZW50KS50b3AmJnRoaXMuX3NhdmVkLmhlaWdodD09PSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpKXJldHVybiB0aGlzLl9zYXZlZD1udWxsLHRoaXM7dGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zYXZlZC50b3AtPSgwLHMub3V0ZXJIZWlnaHQpKHRoaXMuX2NvbnRlbnQpLXRoaXMuX3NhdmVkLmhlaWdodCx0aGlzLl9zYXZlZC50b3A+dGhpcy5faGVhZGVySGVpZ2h0JiYodGhpcy5fc2F2ZWQudG9wPXRoaXMuX2hlYWRlckhlaWdodCkpLHRoaXMuc2V0Q29udGVudFRvcCh0aGlzLl9zYXZlZC50b3ApLHRoaXMuX3NhdmVkPW51bGwsdGhpcy5fb25TY3JvbGwoITApfXJldHVybiB0aGlzfXNldENvbnRlbnRUb3AoZSl7cmV0dXJuIHRoaXMuX3RvdWNoP3RoaXMuX29wdGlvbnMudkFsaWduQm90dG9tJiYoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl9jb250ZW50KTwoMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKT8odGhpcy5fd3JhcHBlci5zdHlsZS5vdmVyZmxvd1k9InZpc2libGUiLHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLl9jb250ZW50LnN0eWxlLmJvdHRvbT0iMHB4Iik6KHRoaXMuX2NvbnRlbnQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0aGlzLl9jb250ZW50LnN0eWxlLnBvc2l0aW9uPSJhdXRvIix0aGlzLl93cmFwcGVyLnN0eWxlLm92ZXJmbG93WT0iYXV0byIsdGhpcy5fd3JhcHBlci5zY3JvbGxUb3A9LWUpOnRoaXMuX2NvbnRlbnQuc3R5bGUudG9wPWUrInB4Iix0aGlzfWlzQ29udGVudFNob3J0KCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudEhlaWdodCgpPD10aGlzLmdldENvbnRhaW5lckhlaWdodFdpdGhvdXRIZWFkZXIoKX1kZXN0cm95KCl7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uc3RvcCgpLHRoaXMuX3Njcm9sbEJhcldyYXBwZXImJnRoaXMuX3Njcm9sbEJhcldyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2hhZG93Qm90dG9tJiZ0aGlzLl9zaGFkb3dCb3R0b20ucmVtb3ZlKCksdGhpcy5fc2hhZG93VG9wJiZ0aGlzLl9zaGFkb3dUb3AucmVtb3ZlKCksdGhpcy5fZHJhZ2dhYmxlJiYodGhpcy5fZHJhZ2dhYmxlLmRlc3Ryb3koKSx0aGlzLl9kcmFnZ2FibGU9bnVsbCksdGhpcy5fY29udGVudC5zdHlsZS5jc3NUZXh0PSIiLHRoaXMuX3dyYXBwZXIuc3R5bGUuY3NzVGV4dD0iIix0aGlzLl91bnN1YnNjcmliZT8uKCl9X29uU2Nyb2xsKGUpe3RoaXMuX3RvdWNofHwodGhpcy5fY29udGVudC5zdHlsZS5ib3R0b209ImF1dG8iKSx0aGlzLnNjcm9sbGVkLmZpcmUoKSx0aGlzLl9kcmFnZ2luZyYmITAhPT1lfHx0aGlzLnVwZGF0ZVNjcm9sbEJhcigpO2NvbnN0IHQ9dGhpcy5hdFN0YXJ0KCksbz10aGlzLmF0RW5kKCk7cmV0dXJuIHRoaXMuX3NoYWRvd1RvcCYmdGhpcy5fc2hhZG93VG9wLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIXQpLHRoaXMuX3NoYWRvd0JvdHRvbSYmdGhpcy5fc2hhZG93Qm90dG9tLmNsYXNzTGlzdC50b2dnbGUoImktaW52aXNpYmxlIiwhIW8pLHRoaXMuX29uQ29udGVudFZpc2libGUoKSwhdGhpcy5fYXRTdGFydCYmdD8odGhpcy5fYXRTdGFydD0hMCx0aGlzLnNjcm9sbHRvc3RhcnQuZmlyZSgpKTp0aGlzLl9hdFN0YXJ0JiYhdCYmKHRoaXMuX2F0U3RhcnQ9ITEpLAohdGhpcy5fYXRFbmQmJm8/KHRoaXMuX2F0RW5kPSEwLHRoaXMuc2Nyb2xsdG9lbmQuZmlyZSgpKTp0aGlzLl9hdEVuZCYmIW8mJih0aGlzLl9hdEVuZD0hMSksdGhpcy5fb3B0aW9ucy52QWxpZ25Cb3R0b20mJih0aGlzLl9zdGlja3lCb3R0b209KDAscy5vdXRlckhlaWdodCkodGhpcy5fY29udGVudCktTWF0aC5hYnMoKDAsci5wb3NpdGlvbikodGhpcy5fY29udGVudCkudG9wKS0oMCxzLm91dGVySGVpZ2h0KSh0aGlzLl93cmFwcGVyKSksKHRoaXMuX2F0U3RhcnR8fHRoaXMuX2F0RW5kKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vcHRpb25zLmJ1YmJsZVNjcm9sbEV2ZW50P0Jvb2xlYW4odGhpcy5fb3B0aW9ucy5idWJibGVTY3JvbGxFdmVudCgpKTpCb29sZWFuKHRoaXMuX29wdGlvbnMuYnViYmxlU2Nyb2xsRXZlbnQpKX1fY29udGVudElzVmlzaWJsZShlKXtyZXR1cm4oMCxyLnBvc2l0aW9uKShlLmVsZW1lbnQpLnRvcD4tMSp0aGlzLmN1cnJlbnRQb3NpdGlvbigpfV9vbkNvbnRlbnRWaXNpYmxlKGUpe2lmKCF0aGlzLnZpc2liaWxpdHlDYWxsYmFja3MubGVuZ3RoKXJldHVybjtjb25zdCB0PWV8fHRoaXMuX2NvbnRlbnRJc1Zpc2libGUuYmluZCh0aGlzKSxvPVtdLGk9dGhpcy52aXNpYmlsaXR5Q2FsbGJhY2tzLmZpbHRlcigoKGUsaSk9PntpZighdGhpcy5fY29udGVudC5jb250YWlucyhlLmVsZW1lbnQpKXJldHVybiExO2NvbnN0IG49dChlKTtyZXR1cm4gbiYmby5wdXNoKGkpLCFufSkpO28uZm9yRWFjaCgodD0+e3RoaXMudmlzaWJpbGl0eUNhbGxiYWNrc1t0XS5jYWxsYmFjayghIWUpfSkpLHRoaXMudmlzaWJpbGl0eUNhbGxiYWNrcz1pfX19LDcwMTUwNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHthbGxDaGFydFN0eWxlczooKT0+cn0pO3ZhciBpPW8oOTMwMjMxKTtjb25zdCBuPSgwLG8oMzE4OTc0KS5vbldpZGdldCkoKTtmdW5jdGlvbiByKCl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT1bMCwxLDksMTMsMiwxNCwxNSwzLDE2LDEwXTtyZXR1cm4gZS5wdXNoKDEyKSxufHxlLnB1c2goMTcpLG58fGUucHVzaCgxOCksbnx8ZS5wdXNoKDIwKSxufHxlLnB1c2goMTkpLGV9KCkuY29uY2F0KGZ1bmN0aW9uKCl7Y29uc3QgZT1bOF07cmV0dXJuKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiamFwYW5lc2VfY2hhcnRfc3R5bGVzIikmJihlLnB1c2goNCw3LDUsNiksZS5wdXNoKDExKSksZX0oKSl9fSwzMTQ5MTQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaT1vKDg1Mjk4MCksbj1vKDkzMDIzMSk7Y29uc3Qgcj0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIikscz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIik7aS5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OnMsdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuOyFmdW5jdGlvbihlKXtlW2UuT2ZmbGluZT0wXT0iT2ZmbGluZSIsZVtlLlJlc29sdmluZz0xXT0iUmVzb2x2aW5nIixlW2UuTG9hZGluZz0yXT0iTG9hZGluZyIsZVtlLlJlYWR5PTNdPSJSZWFkeSIsZVtlLkludmFsaWRTeW1ib2w9NF09IkludmFsaWRTeW1ib2wiLGVbZS5TbmFwc2hvdD01XT0iU25hcHNob3QiLGVbZS5FT0Q9Nl09IkVPRCIsZVtlLlB1bHNlPTddPSJQdWxzZSIsZVtlLkRlbGF5ZWQ9OF09IkRlbGF5ZWQiLGVbZS5EZWxheWVkU3RlYW1pbmc9OV09IkRlbGF5ZWRTdGVhbWluZyIsZVtlLk5vQmFycz0xMF09Ik5vQmFycyIsZVtlLlJlcGxheT0xMV09IlJlcGxheSIsZVtlLkVycm9yPTEyXT0iRXJyb3IiLGVbZS5DYWxjdWxhdGlvbkVycm9yPTEzXT0iQ2FsY3VsYXRpb25FcnJvciIsZVtlLlVuc3VwcG9ydGVkUmVzb2x1dGlvbj0xNF09IlVuc3VwcG9ydGVkUmVzb2x1dGlvbiJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLk1hcmtlcnM9MF09Ik1hcmtlcnMiLGVbZS5TdGVwbGluZT0xXT0iU3RlcGxpbmUiLGVbZS5TaW1wbGU9Ml09IlNpbXBsZSJ9KG58fChuPXt9KSl9LDEyODk5OChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtjcmVhdGVTZXJpZXNGb3JtYXR0ZXI6KCk9PmgsaXNDbG9zZUJhc2VkU3ltYm9sOigpPT5fLGlzSExDQmFzZWRTdHlsZTooKT0+ZCxpc1JlZ3VsYXJTZXNzaW9uSWQ6KCk9PnUsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PmN9KTtvKDE4NTI3MSk7dmFyIGk9byg5MzAyMzEpLG49KG8oOTMwNTY2KSxvKDMxODk3NCksbygxNTY4MjkpKSxyPShvKDc5ODM4KSxvKDc1NTYyNykpLHM9byg5ODQzNzYpLGE9bygxMjUyMTgpO28oMzE0OTE0KTsoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLCgwLGkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGw7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShsfHwobD17fSkpO2Z1bmN0aW9uIGMoZSl7c3dpdGNoKGUpe2Nhc2UgMzpjYXNlIDEwOmNhc2UgMjpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxMzpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBkKGUpe3N3aXRjaChlKXtjYXNlIDE2OgpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGgoZSx0LG89ITEpe2NvbnN0e3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsbm9FeHBvbmVudGlhbEZvcm06aH09ZnVuY3Rpb24oZSx0PSJkZWZhdWx0IixvPSExKXtsZXQgaSxuLHIscyxhPTEwMCxsPTE7aWYoImRlZmF1bHQiPT09dCludWxsIT1lJiYoKHtwcmljZXNjYWxlOmEsbWlubW92OmwsbWlubW92ZTI6bixmcmFjdGlvbmFsOml9PWUpLHI9ZS52YXJpYWJsZV90aWNrX3NpemV8fHZvaWQgMCk7ZWxzZXtsZXQgZT10LnNwbGl0KCIsIik7MyE9PWUubGVuZ3RoJiYoZT1bIjEwMCIsIjEiLCJmYWxzZSJdKSxhPXBhcnNlSW50KGVbMF0pLGw9cGFyc2VJbnQoZVsxXSksaT0idHJ1ZSI9PT1lWzJdLHM9ITB9cmV0dXJuIG8mJihsPTEpLHtwcmljZVNjYWxlOmEsbWluTW92ZTpsLGZyYWN0aW9uYWw6aSxtaW5Nb3ZlMjpuLHZhcmlhYmxlTWluVGljazpyLGlnbm9yZU1pbk1vdmU6byxub0V4cG9uZW50aWFsRm9ybTpzfX0oZSx0LG8pO2lmKG51bGwhPWUpe2NvbnN0IHI9ZS5mb3JtYXQ7aWYoImRlZmF1bHQiPT09dCYmInZvbHVtZSI9PT1yKXJldHVybiBuZXcgcy5Wb2x1bWVGb3JtYXR0ZXIoe3ByZWNpc2lvbjoyfSk7aWYoInBlcmNlbnQiPT09cilyZXR1cm4gbmV3IGEuUGVyY2VudGFnZUZvcm1hdHRlcih7cHJpY2VTY2FsZTppLG1pbk1vdmU6bixmcmFjdGlvbmFsOmwsbWluTW92ZTI6Yyx2YXJpYWJsZU1pblRpY2s6ZCxpZ25vcmVNaW5Nb3ZlOm99KX1yZXR1cm4gbmV3IHIuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6aSxtaW5Nb3ZlOm4sZnJhY3Rpb25hbDpsLG1pbk1vdmUyOmMsdmFyaWFibGVNaW5UaWNrOmQsaWdub3JlTWluTW92ZTpvLG5vRXhwb25lbnRpYWxGb3JtOmh9KX1mdW5jdGlvbiB1KGUsdCl7d2luZG93O3JldHVyblsic3RvY2siLCJmdW5kIiwiaW5kZXgiLCJkciJdLmluY2x1ZGVzKHQudHlwZSkmJiJyZWd1bGFyIj09PWV8fCgwLG4uaXNGdXR1cmVzKSh0LnR5cGUpJiYidXNfcmVndWxhciI9PT1lfWZ1bmN0aW9uIF8oZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9fSw3Nzc2NjEoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7c3R1ZHlUcG9QcmVyaW9kaWNJZDooKT0+aSxzdHVkeVRwb1Nlc3Npb25zSWQ6KCk9Pm59KTtjb25zdCBpPSJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIixuPSJUUE9TZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNzI4NDM2KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pml9KTtjb25zdCBpPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtzdHVkeVZiUFNlc3Npb25zSWQ6KCk9Pml9KTtjb25zdCBpPSJWYlBTZXNzaW9uc0B0di12b2x1bWVieXByaWNlIn0sNjQxMzA0KGUsdCxvKXsidXNlIHN0cmljdCI7dC5vcGVyYXRvcnM9e2xlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTc3NTA2KSksZWxlc3M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjA0ODA0KSksZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODY1MDUpKSxlZ3JlYXRlcjpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODc0NzkpKSxjcm9zc2VzOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk1NDgzOSkpLGNyb3NzZXNfYWJvdmU6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY3NjEzKSksY3Jvc3Nlc19iZWxvdzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjM2NjYpKSxpbl9yYW5nZTpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjU2NjApKSxub3RfaW5fcmFuZ2U6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTcyNTQzKSksZXF1YWw6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQwMjM5KSksbmVxdWFsOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM0OTg4OSkpfX0sMzgyNzQ1KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuaXNfYXV0aGVudGljYXRlZH1vLmQodCx7aXNHbG9iYWxTY3JlZW5lckF2YWlsYWJsZTooKT0+aX0pfSw2ODQ2MTAoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaTtmdW5jdGlvbiBuKGUpe3JldHVybntzdGFuZGFsb25lOkJvb2xlYW4oZS5zdGFuZGFsb25lKSxvcmlnaW5hbFN0YW5kYWxvbmU6Qm9vbGVhbihlLm9yaWdpbmFsU3RhbmRhbG9uZSksb25XaWRnZXQ6Qm9vbGVhbihlLm9uV2lkZ2V0KX19ZnVuY3Rpb24gcihlKXtjb25zdCB0PW4oZSk7cmV0dXJuIHQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIHMoZSl7Y29uc3QgdD1uKGUpO3JldHVybiB0LnN0YW5kYWxvbmUmJiF0Lm9yaWdpbmFsU3RhbmRhbG9uZSYmIXQub25XaWRnZXR9ZnVuY3Rpb24gYShlKXtjb25zdCB0PW4oZSk7cmV0dXJuIXQuc3RhbmRhbG9uZSYmdC5vcmlnaW5hbFN0YW5kYWxvbmUmJiF0Lm9uV2lkZ2V0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG4oZSkub25XaWRnZXR9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcihlKT8ic2NyZWVuZXIiOnMoZSk/Im1hcmtldCI6YShlKT8iY2hhcnQiOiJ3aWRnZXQifW8uZCh0LHtnZXRTY3JlZW5lclBhZ2U6KCk9PmMsaXNDaGFydFBhZ2U6KCk9PmEsaXNFeHRlcm5hbFdpZGdldDooKT0+bCxpc01hcmtldFBhZ2U6KCk9PnMsaXNTY3JlZW5lclBhZ2U6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlNjcmVlbmVyPSJzY3JlZW5lciIsZS5NYXJrZXQ9Im1hcmtldCIsZS5DaGFydD0iY2hhcnQiLGUuV2lkZ2V0PSJ3aWRnZXQifShpfHwoaT17fSkpfSw0NTA2NjQoZSx0LG8peyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7by5kKHQse1VzZXJBY3Rpb25TdGF0ZTooKT0+cn0pLGZ1bmN0aW9uKGUpe2UuQXBwbHlGbGFnZ2VkRmlsdGVyPSJhcHBseV9mbGFnZ2VkX2ZpbHRlciIsZS5DaGFuZ2VDb2x1bW5TZXQ9ImNoYW5nZV9jb2x1bW5zZXQiLGUuQ2hhbmdlQ29sdW1ucz0iY2hhbmdlX2NvbHVtbnMiLGUuQ2hhbmdlRmF2b3JpdGVDb2x1bW5TZXRzPSJjaGFuZ2VfZmF2b3JpdGVfY29sdW1uc2V0cyIsCmUuQ2hhbmdlRmlsdGVyRGlhbG9nVGFiPSJjaGFuZ2VfZmlsdGVyX2RpYWxvZ190YWIiLGUuQ2hhbmdlRmlsdGVyU2V0PSJjaGFuZ2VfZmlsdGVyc2V0IixlLkNoYW5nZUZvcmV4R3JvdXA9ImNoYW5nZV9mb3JleF9ncm91cCIsZS5DaGFuZ2VNYXJrZXQ9ImNoYW5nZV9tYXJrZXQiLGUuQ2hhbmdlTWFya2V0U2VsZWN0aW9uTW9kZT0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsZS5DaGFuZ2VSZWZyZXNoSW50ZXJ2YWw9ImNoYW5nZV9yZWZyZXNoX2ludGVydmFsIixlLkNoYW5nZVRpbWVmcmFtZT0iY2hhbmdlX3RpbWVmcmFtZSIsZS5Db2x1bW5Nb3ZlPSJjb2x1bW5fbW92ZSIsZS5GaWx0ZXJEaWFsb2dBcHBsaWVkRmlsdGVycz0iZmlsdGVyX2RpYWxvZ19hcHBsaWVkX2ZpbHRlcnMiLGUuRmlsdGVyRGlhbG9nU2VhcmNoSW5wdXRDbGljaz0iZmlsdGVyX2RpYWxvZ19zZWFyY2hfaW5wdXRfY2xpY2siLGUuRmlsdGVyRGlhbG9nU2VhcmNoTm9UZXJtc0ZvdW5kPSJmaWx0ZXJfZGlhbG9nX3NlYXJjaF9ub190ZXJtc19mb3VuZCIsZS5GaWx0ZXJVc2U9ImZpbHRlcl91c2UiLGUuRmxhZ0NsaWNrPSJmbGFnX2NsaWNrIixlLkNvbnRleHRNZW51QWN0aW9uPSJjb250ZXh0X21lbnVfYWN0aW9uIixlLk9wZW5Db250ZXh0TWVudT0ib3Blbl9jb250ZXh0X21lbnUiLGUuT3BlbkZpbHRlcnNEaWFsb2c9Im9wZW5fZmlsdGVyc19kaWFsb2ciLGUuUmVmcmVzaFNjcmVlbmVyRGF0YT0icmVmcmVzaF9zY3JlZW5lcl9kYXRhIixlLlJlbmFtZUN1c3RvbUNvbHVtblNldD0icmVuYW1lX2N1c3RvbV9jb2x1bW5zZXQiLGUuUmVuYW1lQ3VzdG9tRmlsdGVyc2V0PSJyZW5hbWVfY3VzdG9tX2ZpbHRlcnNldCIsZS5Db252ZXJ0Q3VycmVuY3k9ImNvbnZlcnRfY3VycmVuY3kifShpfHwoaT17fSkpLGZ1bmN0aW9uKGUpe2UuVG9vbGJhcj0idG9vbGJhciIsZS5IZWFkZXI9ImhlYWRlciIsZS5GaWx0ZXJEaWFsb2c9ImZpbHRlcl9kaWFsb2ciLGUuQ29sdW1ucz0iY29sdW1ucyIsZS5Sb3c9InJvdyIsZS5NYXJrZXRzRGlhbG9nPSJtYXJrZXRfZGlhbG9nIixlLlVua25vd249IiJ9KG58fChuPXt9KSksZnVuY3Rpb24oZSl7ZS5DbGljaz0iY2xpY2tlZCIsZS5BcHBseUZpbHRlcnM9ImZpbHRlcnNfYXBwbGllZCIsZS5UeXBlPSJ0eXBlZCIsZS5TbGlkZT0ic2xpZGVkIixlLkRyYWc9ImRyYWcifShyfHwocj17fSkpfSw4MTEzMTIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RGlzcGF0Y2hDb250ZXh0TWVudUFjdGlvbkV2ZW50OigpPT5ufSk7dmFyIGk9byg0NTA2NjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0LG8pe3RoaXMuZXZlbnQ9ImNvbnRleHRfbWVudV9hY3Rpb24iLHRoaXMuc3RhdGU9aS5Vc2VyQWN0aW9uU3RhdGUuQ2xpY2ssdGhpcy5zb3VyY2U9ZSx0aGlzLnZhbHVlPW8udG9TdHJpbmcoKSx0aGlzLmxvY2F0aW9uPXR9fX0sNjY3MTMyKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse0NoYW5nZU1hcmtldEV2ZW50OigpPT5pLENoYW5nZU1hcmtldFNlbGVjdGlvbk1vZGVFdmVudDooKT0+bn0pO2NsYXNzIGl7Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldCIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3RvciIsdGhpcy5sb2NhdGlvbj0idG9vbGJhciIsdGhpcy5zdGF0ZT0iIix0aGlzLnZhbHVlPWV9fWNsYXNzIG57Y29uc3RydWN0b3IoZSl7dGhpcy5ldmVudD0iY2hhbmdlX21hcmtldF9zZWxlY3Rpb25fbW9kZSIsdGhpcy5zb3VyY2U9Im1hcmtldF9zZWxlY3Rpb25fbW9kZV9zd2l0Y2giLHRoaXMubG9jYXRpb249Im1hcmtldF9kaWFsb2ciLHRoaXMuc3RhdGU9IiIsdGhpcy52YWx1ZT1lfX19LDIxMTM2MChlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtnZXRDb2x1bW5TZXROYW1lRm9yU25vd1Bsb3c6KCk9PmMsZ2V0RmlsdGVyU2V0TmFtZUZvclNub3dQbG93OigpPT5kLGdldFNub3dQbG93UmVmcmVzaEludGVydmFsOigpPT5sLGluaXRTY3JlZW5lckluc3RhbmNlOigpPT5zLHNlbmRTbm93UGxvd0RhdGE6KCk9PmF9KTt2YXIgaT1vKDM2MjIzOSksbj1vKDY4NDYxMCk7bGV0IHI7ZnVuY3Rpb24gcyhlKXtyPWV9ZnVuY3Rpb24gYShlKXtsZXQgdD0iIixvPSIiO3ImJih0PSgwLG4uZ2V0U2NyZWVuZXJQYWdlKShyLnNjcmVlbmVyQnJpZGdlKSxvPXIuc2NyZWVuZXJUeXBlKTsoIXJ8fCEoMCxuLmlzRXh0ZXJuYWxXaWRnZXQpKHIuc2NyZWVuZXJCcmlkZ2UpKSYmKDAsaS5nZXRUcmFja2VyKSgpLnRoZW4oKGk9PntpJiZpLnRyYWNrU2NyZWVuZXJIaWdoTGV2ZWwoZSxvLHQpfSkpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIDE9PT1lPyJhdXRvIjotMT09PWU/Im1hbnVhbCI6YCR7ZX1gfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHIuZGVmYXVsdEZpZWxkU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9ZnVuY3Rpb24gZChlKXtyZXR1cm4gci5kZWZhdWx0RmlsdGVyU2V0cy5maW5kKCh0PT50LmlkPT09ZSkpP2U6ImN1c3RvbSJ9fSw5NjkxNjgoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7Z2V0TFRSU2Nyb2xsTGVmdDooKT0+aS5nZXRMVFJTY3JvbGxMZWZ0LGlzUnRsOigpPT5pLmlzUnRsfSk7byg2MTAyNjgpO3ZhciBpPW8oMTE1MjkzKX0sNjgyNzc5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldERlZmF1bHRTeW1ib2w6KCk9PnJ9KTt2YXIgaT1vKDgzOTQyNik7Y29uc3Qgbj1KU09OLnBhcnNlKCd7ImVuIjoiTkFTREFROkFBUEwiLCJiciI6IkJNRkJPVkVTUEE6SUJPViIsImVzIjoiQk1FOlNBTiIsImZyIjoiVFZDOkNBQzQwIiwiaWQiOiJGWF9JREM6VVNESURSIiwiaW4iOiJOU0U6TklGVFkiLCJpdCI6Ik1JTDpKVVZFIiwiamEiOiJGWDpKUE4yMjUiLCJrciI6IkZYX0lEQzpVU0RLUlciLCJwbCI6IkZYX0lEQzpVU0RQTE4iLCJydSI6IlJVUzpVU0RSVUJfVE9NIiwidHIiOiJGWDpVU0RUUlkiLCJ1ayI6IkxTRTpMQU5EIn0nKSxyPSgwLGkuZGVmYXVsdCkoKGZ1bmN0aW9uKCl7cmV0dXJuIG5bd2luZG93LmxvY2FsZXx8ImVuIl18fCJOQVNEQVE6QUFQTCJ9KSl9LDI0MTkzNyhlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0KXsKY29uc3Qgbz10fHx3aW5kb3cubG9jYWxlfHwiZW4iO2xldCBpPWVbb10/ZVtvXTplLmVuO3JldHVybiBpPSJ0cmFkaW5ndmlldy5jb20iPT09aT8id3d3LnRyYWRpbmd2aWV3LmNvbSI6aSxpP2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIraToiIn1vLmQodCx7ZGV0ZXJtaW5lQmFzZVVybDooKT0+aX0pfSw0Mzg1MzkoZSx0LG8peyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKGUpe2NvbnN0e3JlbmRlckdvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nOnR9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoNTQ5OCksby5lKDI5Mjk2KSxvLmUoNTIzOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1MTg0KSxvLmUoNTYyNTIpLG8uZSgzOTA1KSxvLmUoNzQ4MzApLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoMTE3MjUpLG8uZSg1MTMwOSksby5lKDExMjU3KSxvLmUoMzIzODcpLG8uZSgxNzk5MSksby5lKDEyOTY1KSxvLmUoNjg3NDEpLG8uZSg4Mzc4MSksby5lKDUyODExKSxvLmUoNTM4ODEpXSkudGhlbihvLmJpbmQobyw0NzU4MDYpKTt0KGUpfW8uZCh0LHtzaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2c6KCk9Pml9KX0sOTk5NjQwKGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse3BheXdhbGxNb2JpbGVJbnRlcmNlcHRvcjooKT0+aX0pO2NvbnN0IGk9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5faGlkZGVuRmVhdHVyZXM9bmV3IFNldCx0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5oaWRlPWU9Pnt0aGlzLl9oaWRkZW5GZWF0dXJlcy5hZGQoZSl9LHRoaXMuaXNIaWRkZW5GZWF0dXJlPWU9PnRoaXMuX2hpZGRlbkZlYXR1cmVzLmhhcyhlKSx0aGlzLnN1YnNjcmliZT1lPT57dGhpcy5fbGlzdGVuZXJzLnB1c2goZSl9LHRoaXMuaW52b2tlPWU9Pnt0aGlzLl9saXN0ZW5lcnMuZm9yRWFjaCgodD0+dChlKSkpfX19fSw3NzA3NTUoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7b3BlblBheXdhbGw6KCk9PnN9KTt2YXIgaT1vKDkzMDIzMSksbj1vKDk5OTY0MCkscj1vKDQzODUzOSk7bygzMDAyODYpO2FzeW5jIGZ1bmN0aW9uIHMoZSx0PXt9KXtpZihuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pc0hpZGRlbkZlYXR1cmUoZS5mZWF0dXJlKSlyZXR1cm4gdm9pZCBuLnBheXdhbGxNb2JpbGVJbnRlcmNlcHRvci5pbnZva2UoZS5mZWF0dXJlKTtpZigoMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIikpcmV0dXJuKDAsci5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOmUuZmVhdHVyZX0pO2NvbnN0e3BheXdhbGxzOnN9PWF3YWl0IFByb21pc2UuYWxsKFtvLmUoODQ2OTMpLG8uZSg0OTY4NCksby5lKDI5Mjk2KSxvLmUoNjAwNjIpLG8uZSgyMDM1NCksby5lKDUxODQpLG8uZSgxMTIxOCksby5lKDcyNjY2KSxvLmUoMzI2MzIpLG8uZSg1MDYyMiksby5lKDMzMjIxKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoMzgyNjIpLG8uZSg4NzQ3NCksby5lKDMyMzg3KSxvLmUoNzU0ODkpLG8uZSg2ODc0MSksby5lKDcwNTkwKSxvLmUoODYwMDEpXSkudGhlbihvLmJpbmQobyw4MTc4MTYpKTtzLm9wZW4oZSx0KX19LDYyMTkyNihlLHQsbyl7InVzZSBzdHJpY3QiO28uZCh0LHtydW5PclNpZ25pbldpdGhGZWF0dXJlOigpPT5ufSk7bygzMDAyODYpO3ZhciBpPW8oMTE3MzEzKTtjb25zdCBuPWFzeW5jKGUsdCxuPXt9KT0+e3tpZih3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCBlKCk7aWYoKDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpKXJldHVybiB2b2lkIHdpbmRvdy5ydW5PclNpZ25JbihlLHtzb3VyY2U6dC5zb3VyY2UsZmVhdHVyZTp0LmZlYXR1cmV9KTtjb25zdHtyZWd3YWxsczpyfT1hd2FpdCBQcm9taXNlLmFsbChbby5lKDE3NjYyKSxvLmUoMjkyOTYpLG8uZSg2MDA2Miksby5lKDIwMzU0KSxvLmUoMjk1MzYpLG8uZSg1NjI1Miksby5lKDUwNjIyKSxvLmUoNTkzNTApLG8uZSgzMzIzKSxvLmUoNTgzODQpLG8uZSgzMjM4Nyksby5lKDcwNTkwKSxvLmUoMjI4NCldKS50aGVuKG8uYmluZChvLDIxNDY3KSk7ci5vcGVuKHsuLi50LG9uU2lnbmluU3VjY2VzczplfSxuKX19fSwzMzczNjIoZSx0LG8peyJ1c2Ugc3RyaWN0IjtvLmQodCx7RW1iZWRWaWV3cG9ydERpbWVuc2lvbnNQcm92aWRlcjooKT0+bn0pO3ZhciBpPW8oOTMwMjMxKTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7dGhpcy5fZGF0YT1udWxsLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfXN0YXJ0TGlzdGVuaW5nKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyfHwodGhpcy5fbWVzc2FnZVJlY2VpdmVyPWU9PntpZihlLmRhdGEpdHJ5e2NvbnN0IHQ9SlNPTi5wYXJzZShlLmRhdGEpOyJzZXQtZW1iZWQtcmVzaXplci1vdmVycmlkZXMiPT09dC5ldmVudCYmKHRoaXMuX2RhdGE9dC5lZGdlcyl9Y2F0Y2h7fX0sdGhpcy5fYWRkTWVzc2FnZUxpc3RlbmVyKCkpfWRlc3Ryb3koKXt0aGlzLl9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIHRoaXMuX2luc3RhbmNlfHwodGhpcy5faW5zdGFuY2U9bmV3IG4pLHRoaXMuX2luc3RhbmNlfV9hZGRNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpfV9yZW1vdmVNZXNzYWdlTGlzdGVuZXIoKXt0aGlzLl9tZXNzYWdlUmVjZWl2ZXImJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9tZXNzYWdlUmVjZWl2ZXIpLHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1udWxsfX0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbWJlZF9yZXNpemVyX292ZXJyaWRlcyIpJiZuLmdldEluc3RhbmNlKCkuc3RhcnRMaXN0ZW5pbmcoKX0sOTExMzI3KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFN5bWJvbFBhZ2VQYXRoOigpPT5kLG1ha2VTeW1ib2xDaGFydFVybDooKT0+ZixtYWtlU3ltYm9sUGFnZVVybDooKT0+diwKbWFrZVRlbXBsYXRlU3ltYm9sVXJsOigpPT5tfSk7byg5NjM5MDApO3ZhciBpPW8oMzA5ODM2KSxuPW8oMjQxOTM3KSxyPW8oNzMwNjQ1KSxzPW8oODUxNDU4KSxhPW8oMTU2ODI5KTtjb25zdCBsPW5ldyBTZXQoWyJTUDpTUFgiLCJDQk9FOlNQWCJdKTtmdW5jdGlvbiBjKGUpe2NvbnN0IHQ9ey4uLmV9O2lmKCJzcHJlYWQiPT09dC50eXBlfHwiZXhwcmVzc2lvbiI9PT10LnR5cGUpe2NvbnN0IGU9dC5zaG9ydE5hbWUmJmgodC5zaG9ydE5hbWUpLG89dC5wcm9OYW1lJiZoKHQucHJvTmFtZSk7dC50eXBlPXZvaWQgMCx0LnNob3J0TmFtZT1lLHQucHJvTmFtZT1vfXJldHVybiB0fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBvPWMoZSk7cmV0dXJuIF8ocChvLHQpLHUobykpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuKDAscy50b2tlbml6ZSkoZSkuZmluZCgoZT0+InN5bWJvbCI9PT1lLnR5cGUpKT8udmFsdWV9ZnVuY3Rpb24gdShlKXtjb25zdCB0PXtzaG9ydE5hbWU6ZS5zaG9ydE5hbWUsZXhjaGFuZ2U6ZS5leGNoYW5nZSxwcm9OYW1lOmUucHJvTmFtZSx0eXBlOmUudHlwZSx0eXBlc3BlY3M6ZS50eXBlc3BlY3Mscm9vdDplLnJvb3R9O3JldHVybiB0LnByb05hbWUmJnQucHJvTmFtZS5pbmNsdWRlcygiOiIpJiYoW3QuZXhjaGFuZ2UsdC5zaG9ydE5hbWVdPXQucHJvTmFtZS5zcGxpdCgiOiIpKSx0fWZ1bmN0aW9uIF8oZSx0KXtjb25zdCBvPWVuY29kZVVSSUNvbXBvbmVudCh0LnNob3J0TmFtZXx8IiIpLGk9ZW5jb2RlVVJJQ29tcG9uZW50KHQuZXhjaGFuZ2V8fCIiKSxuPWVuY29kZVVSSUNvbXBvbmVudCh0LnByb05hbWV8fCIiKSxyPWVuY29kZVVSSUNvbXBvbmVudCh0LnJvb3R8fCIiKTtyZXR1cm4gZS5yZXBsYWNlKCJ7dHZleGNoYW5nZX0iLGkpLnJlcGxhY2UoInt0dnN5bWJvbH0iLG8pLnJlcGxhY2UoInt0dnByb3N5bWJvbH0iLG4pLnJlcGxhY2UoInt0dnJvb3R9IixyKX1mdW5jdGlvbiBwKGUsdD0iIil7Y29uc3Qgbz11KGUpLHt0eXBlOmksdHlwZXNwZWNzOm4sc2hvcnROYW1lOnIscHJvTmFtZTpzLGV4Y2hhbmdlOmMscm9vdDpkfT1vO3JldHVybiB2b2lkIDA9PT1yJiZ2b2lkIDA9PT1zPyhjb25zb2xlLndhcm4oIlBhcmFtcyBtaXNzZWQiKSwiLyIpOnMmJmwuaGFzKHMpP2Avc3ltYm9scy97dHZzeW1ib2x9LyR7dH1gOml8fG4/ImNvbW1vZGl0eSI9PT1pJiZuJiZuLmluY2x1ZGVzKCJjZmQiKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjohZHx8IW58fCJmdXR1cmVzIiE9PWl8fG4uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSYmcj8uZW5kc1dpdGgoIjEhIil8fG4uaW5jbHVkZXMoImV4Y2hhbmdlLWNvbnRpbnVvdXMiKT9jJiYoImZvcmV4Ij09PWl8fG4mJigwLGEuaGFzQ3J5cHRvVHlwZXNwZWMpKG4pKT8iL3N5bWJvbHMve3R2c3ltYm9sfS8/ZXhjaGFuZ2U9e3R2ZXhjaGFuZ2V9IjpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2ZXhjaGFuZ2V9LXt0dnJvb3R9MSEvJHt0fT9jb250cmFjdD17dHZzeW1ib2x9YDpjP2Avc3ltYm9scy97dHZleGNoYW5nZX0te3R2c3ltYm9sfS8ke3R9YDpgL3N5bWJvbHMve3R2c3ltYm9sfS8ke3R9YH1mdW5jdGlvbiBtKGUsdCl7bGV0IG89ZTtpZighL3t0dnN5bWJvbH18e3R2ZXhjaGFuZ2V9fHt0dnByb3N5bWJvbH0vLnRlc3QoZSkpe2xldCBpPSJ0dnByb3N5bWJvbCI7dm9pZCAwPT09dC5wcm9OYW1lJiYoaT0idHZzeW1ib2wiKSxvPWAke2V9P3R2d2lkZ2V0c3ltYm9sPXske2l9fWB9Y29uc3QgaT1fKG8sdShjKHQpKSk7aWYoISgwLHIuaXNTYWZlVXJsKShpKSl0aHJvdyBuZXcgRXJyb3IoYFRoZSBzeW1ib2wgVVJMICR7aX0gaXMgbm90IGFsbG93ZWQuYCk7cmV0dXJuIGl9ZnVuY3Rpb24gZyhlLHQsbyxyKXtjb25zdCBzPSh3aW5kb3cubG9jYWxlX2RvbWFpbnM/KDAsbi5kZXRlcm1pbmVCYXNlVXJsKSh3aW5kb3cubG9jYWxlX2RvbWFpbnMscik6d2luZG93LmxvY2F0aW9uLm9yaWdpbikrXyhlLHUoYyh0KSkpO3JldHVybiBvPygwLGkuYWRkVXRtVG9VcmwpKHMsbyk6c31mdW5jdGlvbiB2KGUsdCxvLGkpe2NvbnN0IG49YyhlKTtyZXR1cm4gZyhwKG4saSksbix0LG8pfWZ1bmN0aW9uIGYoZSx0KXtyZXR1cm4gZygiL2NoYXJ0Lz9zeW1ib2w9e3R2cHJvc3ltYm9sfSIsZSx0KX19LDQ4MjUwNChlLHQsbyl7Y29uc3QgaT1vKDE5OTgyNyk7ZS5leHBvcnRzPWksaShkb2N1bWVudCkuYWpheFNlbmQoKChlLHQsbyk9PntvLmNyb3NzRG9tYWluJiYhby5mb3JjZUxhbmd1YWdlSGVhZGVyfHwod2luZG93LmxvY2FsZT90LnNldFJlcXVlc3RIZWFkZXIoIlgtTGFuZ3VhZ2UiLHdpbmRvdy5sb2NhbGUpOmNvbnNvbGUud2Fybigid2luZG93LmxvY2FsZSBpcyBub3QgZGVmaW5lZCIpKX0pKX0sNzc4OTQ2KGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldFBsYXRmb3JtOigpPT5zfSksZnVuY3Rpb24oZSl7ZS5EZXNrdG9wPSJkZXNrdG9wIixlLldlYj0id2ViIixlLklPUz0iaW9zIixlLkFuZHJvaWQ9ImFuZHJvaWQifShpfHwoaT17fSkpO3ZhciBuPW8oMTE3MzEzKSxyPW8oMzE4OTc0KTtmdW5jdGlvbiBzKCl7cmV0dXJuKDAsci5pc0Rlc2t0b3BBcHApKCk/ImRlc2t0b3AiOigwLG4uaXNPbk1vYmlsZUFwcFBhZ2UpKCJvbGQiKT8iaW9zIjooMCxuLmlzT25Nb2JpbGVBcHBQYWdlKSgibmV3Iik/ImFuZHJvaWQiOiJ3ZWIifX0sNTI0MDY5KGUsdCxvKXsidXNlIHN0cmljdCI7by5kKHQse2dldFByb1BsYW5EZXRhaWxzRm9yVXNlcjooKT0+YSxnZXRQcm9QbGFuV2VpZ2h0OigpPT5zfSk7byg0NzkzNCk7dmFyIGk9bygyMTIyMjkpLG49bygzODQwMTcpLHI9bygyMjI0MjMpO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIHdpbmRvdy5wcm8/ImZyZWUiPT09ZT8tMTp3aW5kb3cucHJvLmdldFByb2R1Y3QoKDAsaS5nZXRQcm9kdWN0Rm9yVHJpYWwpKGUpKS51cGdyYWRlX3dlaWdodDowfWFzeW5jIGZ1bmN0aW9uIGEoKXtjb25zdCBlPWF3YWl0KDAsbi5mZXRjaCkoIi9wcm8tcGxhbnMvcHJvZmlsZS8iKSx0PWF3YWl0IGUuanNvbigpCjtpZihlLm9rKXJldHVybiB0O2lmKDQwMz09PWUuc3RhdHVzKXtjb25zdCBvPXQ7dGhyb3cgbmV3IHIuQXBpRXJyb3Ioby5kZXRhaWwsZS5zdGF0dXMsby5jb2RlKX10aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBoYW5kbGUgdW5leHBlY3RlZCByZXNwb25zZTogJHtTdHJpbmcoZS50ZXh0KCkpfWApfX0sNTI4Mzk2KGUsdCxvKXsidXNlIHN0cmljdCI7by5yKHQpLG8uZCh0LHtnZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb246KCk9PnJ9KTt2YXIgaT1vKDE4NTI3MSk7ZnVuY3Rpb24gbihlKXtjb25zdCB0PWAjJHtlfS1zeW1ib2wtZGVzY3JpcHRpb25gLG49aS50KHQsdm9pZCAwLG8oMjU4NjY3KSk7cmV0dXJuIG49PT10P251bGw6bn1mdW5jdGlvbiByKGUpe2lmKHZvaWQgMCE9PWUucHJvX25hbWUpe2NvbnN0IHQ9bihlLnByb19uYW1lKTtpZihudWxsIT09dClyZXR1cm4gdDtpZih2b2lkIDAhPT1lLnNob3J0X25hbWUpe2NvbnN0IHQ9bihlLnNob3J0X25hbWUpO2lmKG51bGwhPT10KXJldHVybiB0fX1yZXR1cm4iZW4iIT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZXx8ImVuIj09PWUubGFuZ3VhZ2UmJnZvaWQgMCE9PWUubG9jYWxfZGVzY3JpcHRpb24mJmUubGFuZ3VhZ2U9PT13aW5kb3cubGFuZ3VhZ2U/ZS5sb2NhbF9kZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9ufHwiIn19LDczMDY0NShlLHQsbyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7Y29uc3QgdD1uZXcgVVJMKGUsZG9jdW1lbnQuYmFzZVVSSSk7cmV0dXJuIGEodCkmJnModCkmJnIodCl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PW5ldyBVUkwoZSxkb2N1bWVudC5iYXNlVVJJKTtyZXR1cm4gcyh0KSYmcih0KX1vLmQodCx7aXNJbnRlcm5hbEhvc3Q6KCk9PmwsaXNJbnRlcm5hbFVybDooKT0+aSxpc1NhZmVVcmw6KCk9Pm4saXNUdkxpbms6KCk9PmN9KTtjb25zdCByPWU9PiFlLnVzZXJuYW1lLHM9ZT0+Imh0dHA6Ij09PWUucHJvdG9jb2x8fCJodHRwczoiPT09ZS5wcm90b2NvbCxhPWU9PmUuaG9zdG5hbWU9PT1sb2NhdGlvbi5ob3N0bmFtZXx8IS9eXGQrXC5cZCtcLlxkK1wuXGQrJC8udGVzdChlLmhvc3RuYW1lKSYmbChlLmhvc3RuYW1lKTtmdW5jdGlvbiBsKGUsdD13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpe2NvbnN0IG89Ii4iPT09dC5zbGljZSgtMSk/MzoyLGk9dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLW8pLG49ZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIuIikuc2xpY2UoLWkubGVuZ3RoKTtyZXR1cm4gaS5qb2luKCIuIik9PT1uLmpvaW4oIi4iKX1mdW5jdGlvbiBjKGUpe3RyeXtyZXR1cm4gZS5zdGFydHNXaXRoKCIvIil8fGwobmV3IFVSTChlKS5ob3N0bmFtZSwidHJhZGluZ3ZpZXcuY29tIil9Y2F0Y2h7cmV0dXJuITF9fX0sMzA1NDY2KGUsdCxvKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtsZXQgdCxvO3JldHVybiBlLmluY2x1ZGVzKCI6Iik/KG89ZS5zcGxpdCgiOiIpWzFdLHQ9ZSk6bz1lLHtwcm9OYW1lOnQsc2hvcnROYW1lOm99fW8uZCh0LHtnZXRTaG9ydE5hbWVBbmRQcm9OYW1lOigpPT5pfSl9LDU3NjEwMyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNUg2LjVDNS42NyA1IDUgNS42NyA1IDYuNXYxNWMwIC44My42NyAxLjUgMS41IDEuNWgxNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVWMTZoMXY1LjVhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNUEyLjUgMi41IDAgMCAxIDQgMjEuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgNEgxNXYxWm03LjQxLS4zYTIgMiAwIDAgMC0yLjgyIDBsLS45NC45NS03LjUgNy41LTEgMS0uMTUuMTRWMTloNC43bC4xNS0uMTUgMS0xIDcuNS03LjUuOTQtLjk0YTIgMiAwIDAgMCAwLTIuODJMMjIuNDEgNC43Wm0tMi4xMi43MWExIDEgMCAwIDEgMS40MiAwbDEuODggMS44OGExIDEgMCAwIDEgMCAxLjQybC0uNTkuNTgtMS42NS0xLjY0TDE5LjcxIDZsLjU4LS41OVptLjM2IDIuOTRMMjIuMjkgMTBsLTYuNzkgNi44LTEuNjUtMS42NS0xLjY0LTEuNjVMMTkgNi43bDEuNjUgMS42NVptLTcuNSA3LjUgMS42NCAxLjY1LS41LjVIMTF2LTMuM2wuNS0uNSAxLjY1IDEuNjVaIi8+PC9zdmc+J30sNzU2Mjg4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMyAxM2gtMVY0SDZ2MTkuNDc2TDE0IDIwbDMuMDA4IDEuMzA3LS40Mi45MDdMMTQgMjEuMDkgNSAyNVYzaDE4em0wIDZoNHYxaC00djRoLTF2LTRoLTR2LTFoNHYtNGgxem0tNi0zSDl2LTFoOHptMi00SDl2LTFoMTB6bTAtNC4wMDVIOXYtMWgxMHoiLz48L3N2Zz4nfSw1ODA1OTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOCA1bDMuNSAzLjVMOCAxMiIvPjwvc3ZnPid9LDYyNjIxOChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjIgMTUiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxNSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIHN0cm9rZT0iIzc1NzU3NSIgZD0iTTYuMjUgNS44MTJMMTEgMTAuMDg3bDQuNzUtNC4yNzVNMTEgOS44NjhWLjMxNSIvPjxwYXRoIHN0cm9rZT0iI0FEQUVCMCIgZD0iTTIxIDEwdjRIMXYtNCIvPjwvZz48L3N2Zz4nfSw4OTk3MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04IC03KSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTcgMTFjMS4zOCAwIDIuNjMuNTYgMy41NCAxLjQ2TDE4IDE1aDZWOWwtMi4wNSAyLjA1QTYuOTc2IDYuOTc2IDAgMCAwIDE3IDljLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2aDIuMDJhNSA1IDAgMCAxIDQuOS00em02LjkyIDZIMjEuOWE1IDUgMCAwIDEtNC45IDRjLTEuMzggMC0yLjYzLS41Ni0zLjU0LTEuNDZMMTYgMTdoLTZ2NmwyLjA1LTIuMDVBNi45NzYgNi45NzYgMCAwIDAgMTcgMjNjMS41NSAwIDIuOTgtLjUxIDQuMTQtMS4zNmwxLjUtMS41QTYuODkgNi44OSAwIDAgMCAyMy45MiAxN3oiLz48L2c+PC9zdmc+J30sNzY1Njk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMy41IDZhOC41IDguNSAwIDEgMCAwIDE3IDguNSA4LjUgMCAwIDAgMC0xN3pNNCAxNC41YTkuNSA5LjUgMCAxIDEgMTkgMCA5LjUgOS41IDAgMCAxLTE5IDB6Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOSAxNGg0di00aDF2NGg0djFoLTR2NGgtMXYtNEg5di0xeiIvPjwvc3ZnPid9LDgxNTY4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIyOTkgMTMxIDEyIDciIHdpZHRoPSIxMiIgaGVpZ2h0PSI3Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMzAwIDEzMmw1IDUgNS01Ii8+PC9zdmc+J30sODAxMzI3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0Ij48cGF0aCBkPSJNMTAuODkzIDkuNTEybC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw0MjcwOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTQgMTQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCI+PHBhdGggZD0iTTkuOTAxIDkuNjM5Yy0uMTAyLS43OTcuMjE4LTEuNzc1Ljc3LTIuMzU2bDEuNDM4LTEuNTI3LTIuMDctLjM5NWMtLjc4NC0uMTQyLTEuNjE1LS43NDItMi4wMDgtMS40NDZMNy4wMDMgMi4wNiA1Ljk3IDMuOTE3Yy0uMzkxLjcwMi0xLjIyMiAxLjMwMS0yIDEuNDQzbC0yLjA4LjM5NiAxLjQ0IDEuNTI2Yy41NDcuNTc3Ljg2NiAxLjU0OS43NyAyLjM1M2wtLjI2MiAyLjA4NiAxLjkzLS44OTdhMi45NSAyLjk1IDAgMCAxIDEuMjMzLS4yNTRjLjQ0IDAgLjg3LjA4NSAxLjIzMy4yNTRsMS45My44OTctLjI2My0yLjA4MnptLjk5Mi0uMTI3bC40NTggMy42MjRjLjAxNC4xMDUtLjAwNi4xNi0uMDIuMTc2LS4wMjguMDMtLjEwOS4wMDUtLjE4Mi0uMDNMNy44MTIgMTEuNzNhMS45NzMgMS45NzMgMCAwIDAtLjgxMS0uMTZjLS4zMDIgMC0uNTkuMDU3LS44MS4xNmwtMy4zMzggMS41NTJjLS4xMTguMDU2LS4xNjQuMDUxLS4xODIuMDMtLjAxNC0uMDE2LS4wMzQtLjA3LS4wMi0uMTc4TDMuMTEgOS41MWMuMDYtLjUwMy0uMTYyLTEuMTgtLjUwNS0xLjU0TC4wODcgNS4zMDJjLS4wODUtLjA5MS0uMDktLjE0OC0uMDg2LS4xNTguMDAzLS4wMS4wNC0uMDUzLjE2LS4wNzdsMy42MjEtLjY4OWMuNDkxLS4wOSAxLjA2OS0uNTA2IDEuMzE1LS45NDhMNy4wMDQgMGwxLjkwMiAzLjQzYy4yNDYuNDQyLjgyNC44NTkgMS4zMTIuOTQ3bDMuNjE3LjY5Yy4xMjMuMDI0LjE2Mi4wNjguMTY0LjA3Ny4wMDMuMDEtLjAwMy4wNjYtLjA4OS4xNTdMMTEuNCA3Ljk3Yy0uMzQ4LjM2Ny0uNTcgMS4wNDUtLjUwNiAxLjU0M3oiLz48L3N2Zz4nfSw4MTkyOTAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTkuNSA4LjVjMS4xMDUgMCAyLS4zOTUgMi0xLjVzLS44OTUtMS41LTItMS41aC0zdjNoM3ptLjUgNGMxLjM4IDAgMi41LS42MiAyLjUtMnMtMS4xMi0yLTIuNS0ySDYuNXY0SDEweiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik05LjUgMy41VjVtMCA4djEuNW0tMi0xLjV2MS41bS0yLTJINm0tLjUtN0g2bTEuNS0yVjUiLz48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iOC41Ii8+PC9nPjwvc3ZnPid9LDQ4ODg3NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTEgOSIgd2lkdGg9IjExcHgiIGhlaWdodD0iOXB4Ij48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEgMy4yMmwzLjQxNSAzLjQ5NkwxMCAxIi8+PC9zdmc+J30sOTg3MDc2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNiA5IiB3aWR0aD0iNiIgaGVpZ2h0PSI5Ij48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEgMWwzLjUgMy41TDEgOCIvPjwvc3ZnPid9LDI0OTQ4OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjAgNjAiPjxwYXRoIGQ9Ik0wIDQ2bDM1LTM1IDE0IDE0LTM1IDM1SDB6TTM5IDdsNi02YzUtNSAxOSA5IDE0IDE0bC02IDZ6Ii8+PC9zdmc+J30sNTY3MjQ1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciI+PGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik01LjUgMTMuNXYtOWg0bS0yIDRINm0zLjUgMWwzIDRtMC00bC0zIDQiLz48L2c+PC9zdmc+J30sOTIxNzA4KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxNC41YzEuNjgtMS4yNiAzLjctMiA2LjUtMnM0LjkxLjc0IDYuNSAybS0xMy0xMWMxLjY4IDEuMjYgMy43IDIgNi41IDJzNC45MS0uNzQgNi41LTIiLz48Y2lyY2xlIHN0cm9rZT0iY3VycmVudENvbG9yIiBjeD0iOSIgY3k9IjkiIHI9IjguNSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA5YzAgMi40Mi0uNTUgNC41OC0xLjQgNi4xMi0uODcgMS41Ni0xLjk4IDIuMzgtMy4xIDIuMzhzLTIuMjMtLjgyLTMuMS0yLjM4Yy0uODUtMS41NC0xLjQtMy43LTEuNC02LjEycy41NS00LjU4IDEuNC02LjEyQzYuNzcgMS4zMiA3Ljg4LjUgOSAuNXMyLjIzLjgyIDMuMSAyLjM4Yy44NSAxLjU0IDEuNCAzLjcgMS40IDYuMTJ6Ii8+PC9zdmc+J30sMjA3NzQ2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjEyIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzlEQjJCRCI+PHBhdGggZD0iTTEgMGwxMiAxMk0xMyAwTDEgMTIiLz48L2c+PC9zdmc+J30sNjA4MDY1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOSAyMiIgd2lkdGg9IjE5IiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUgMXY5LjEzYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtMy0uMTJhNCA0IDAgMCAxIDAtNy43NVYxYTEgMSAwIDAgMSAyIDB6TTIgMTRhMiAyIDAgMSAxIDQgMCAyIDIgMCAwIDEtNCAwem0xMi05Ljg4VjFhMSAxIDAgMSAxIDIgMHYzLjEyYTQgNCAwIDAgMSAwIDcuNzVWMjFhMSAxIDAgMSAxLTIgMHYtOS4xM2E0IDQgMCAwIDEgMC03Ljc1ek0xNSAxMGEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6Ii8+PC9zdmc+J30sNjkzMjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48cGF0aCBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iTTguMzYgMy42MDhhNi4wMDIgNi4wMDIgMCAxIDAgMi43NTUgMTEuNjcyIDYuMDEgNi4wMSAwIDAgMCA0LjI3Ny00LjY0IDUgNSAwIDEgMS03LjAzLTcuMDN6Ii8+PC9zdmc+J30sMTQwODk1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiB3aWR0aD0iMTIwIiBoZWlnaHQ9IjEyMCI+PHBhdGggZmlsbD0iI0IyQjVCRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjMgMzlhMzYgMzYgMCAwIDEgNzIgMHYxMy4xNWwxNS4xIDguNDQgMi4xNiAxLjItMS42NCAxLjg2LTEyLjg1IDE0LjU5IDMuNzMgNC4wM0w5OC41NyA4NSA5NSA4MS4xM1YxMTdINzd2LTEySDY3djlINTBWOTVINDB2MjJIMjNWODEuMjhsLTMuOCAzLjYxLTIuNzYtMi45IDQuMDUtMy44NC0xMi43Ny0xNC41LTEuNjQtMS44NiAyLjE2LTEuMkwyMyA1Mi4zNFYzOVptNzIgMzYuMzMgMTAuOTgtMTIuNDZMOTUgNTYuNzN2MTguNlpNMjMgNTYuOTJ2MTguMDNMMTIuMzUgNjIuODcgMjMgNTYuOTJaTTU5IDdhMzIgMzIgMCAwIDAtMzIgMzJ2NzRoOVY5MWgxOHYxOWg5di05aDE4djEyaDEwVjM5QTMyIDMyIDAgMCAwIDU5IDdabS03IDM2YTMgMyAwIDEgMS02IDAgMyAzIDAgMCAxIDYgMFptMTkgM2EzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIi8+PC9zdmc+J30sNDg3NzUwKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTIwIDEyMCIgd2lkdGg9IjEyMCIgaGVpZ2h0PSIxMjAiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIzIDM5YTM2IDM2IDAgMCAxIDcyIDB2MTMuMTVsMTUuMSA4LjQ0IDIuMTYgMS4yLTEuNjQgMS44Ni0xMi44NSAxNC41OSAzLjczIDQuMDNMOTguNTcgODUgOTUgODEuMTNWMTE3SDc3di0xMkg2N3Y5SDUwVjk1SDQwdjIySDIzVjgxLjI4bC0zLjggMy42MS0yLjc2LTIuOSA0LjA1LTMuODQtMTIuNzctMTQuNS0xLjY0LTEuODYgMi4xNi0xLjJMMjMgNTIuMzRWMzlabTcyIDM2LjMzIDEwLjk4LTEyLjQ2TDk1IDU2LjczdjE4LjZaTTIzIDU2LjkydjE4LjAzTDEyLjM1IDYyLjg3IDIzIDU2LjkyWk01OSA3YTMyIDMyIDAgMCAwLTMyIDMydjc0aDlWOTFoMTh2MTloOXYtOWgxOHYxMmgxMFYzOUEzMiAzMiAwIDAgMCA1OSA3Wm0tNyAzNmEzIDMgMCAxIDEtNiAwIDMgMyAwIDAgMSA2IDBabTE5IDNhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDI2MTE3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjYiLz48cGF0aCBkPSJNMTAgMTBsNCA0Ii8+PC9nPjwvc3ZnPid9LDE0NzA3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCI+PHBhdGggZD0iTTMuMDYgNi4yOTVDMi4zNyA3LjM5NyAyIDguNjcgMiAxMGMwIDMuODY2IDMuMTM0IDcgNyA3czctMy4xMzQgNy03LTMuMTM0LTctNy03VjJjNC40MTggMCA4IDMuNTgyIDggOHMtMy41ODIgOC04IDgtOC0zLjU4Mi04LThjMC0xLjU1Ni40NDQtMy4wMDcgMS4yMTItNC4yMzZsLjg0OC41M3ptMCAwQzIuMzcgNy4zOTcgMiA4LjY3IDIgMTBjMCAzLjg2NiAzLjEzNCA3IDcgN3M3LTMuMTM0IDctNy0zLjEzNC03LTctN1YyYzQuNDE4IDAgOCAzLjU4MiA4IDhzLTMuNTgyIDgtOCA4LTgtMy41ODItOC04YzAtMS41NTYuNDQ0LTMuMDA3IDEuMjEyLTQuMjM2bC44NDguNTN6TTYgMi41TDkgMHY1TDYgMi41eiIvPjwvc3ZnPid9LDc2OTkzOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTMuNSAxMC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTQuNSA4LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE0IDhoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSA2LjV2OW0tNy0xMWg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSw0OTUzOTYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjZoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDIuNXYybTAgNnYyIi8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMyA0aDN2NkgzeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXY5bTQgNGg0bS0yLTJ2NCIvPjwvZz48L3N2Zz4nfSwyODc4MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDEwLjV2N20tMS03aDJtLTUgMXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L3N2Zz4nfSwyMzE3NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDIuNXY3bS0xIDBoMm0tNSAydi00bS0zIDd2LTRtLTMgNnYtNCIvPjwvc3ZnPid9LDY4MzM4MyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgNi41djdtLTItNGg0Ii8+PC9zdmc+J30sNjQ0OTA1KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNSA0aDN2MTJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNi41IDE3LjV2LTE1Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDcuNWgydjRoLTJ6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYybTAgNHYybS00IDJ2LTRtLTMgNXYtNG0tMyA1di00Ii8+PC9nPjwvc3ZnPid9LDYzNTI3MChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDhoM3Y2SDl6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDYuNXY5Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNC41IDQuNWgydjExaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTUuNSAyLjV2Mm0tOSA0di00bS0zIDN2LTRtMTIgMTJ2MiIvPjwvZz48L3N2Zz4nfSwzODY3MjYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNi41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSA0LjV2Mm0wIDV2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE2IDVoM3Y2aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTcuNSAzLjV2OSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTExIDNoM3YyaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTIuNSAyLjV2M20tOCAxMXYtNG0tMiA2di00Ii8+PC9nPjwvc3ZnPid9LDEyMzcyOShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOS41djhtLTQtOHYtNG04IDR2LTRtLTExIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMCA5aDN2NGgtM3oiLz48L2c+PC9zdmc+J30sNzI1NjAyKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA0LjV2MTBtLTQtM3YtNG0tMyA3di00Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgNGgzdjNoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNS41IDExLjV2LTQiLz48L2c+PC9zdmc+J30sMTI5Nzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA1LjVoMnY3aC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAzLjV2Mm0wIDd2MiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDVoM3YzaC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSAzLjV2Ni4wN20tOSAzLjkzdi00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMTcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTAgN2gzdjhoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDUuNXYxMSIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTUuNSA3LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTYuNSA1LjV2Mm0wIDN2Mm0tOS0ydi00bS0zIDJ2LTRtLTMgMnYtNCIvPjwvZz48L3N2Zz4nfSwyNjc1ODcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSA2LjV2N20tNCAwdi00bTggNHYtNG0tMTEgMnYtNCIvPjxwYXRoIGQ9Ik0xMC41IDEzLjVoMnYzaC0yeiIvPjwvZz48L3N2Zz4nfSw5MzMxMzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgOWgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDkuNXYtMm0wLTV2Mm01IDN2N20wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTAuNSA0LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDE3LjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTIuNSAxMi41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sMjg1OTkzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDdoM3Y0aC0zeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTEuNSAxNy41di0ybTAtNXYybTUtN3Y3bTAtM3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMC41IDEyLjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNy41IDEzLjV2LTJtMC01djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTYuNSA4LjVoMnYzaC0yeiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMy41IDkuNXYtMm0wLTV2MiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMi41IDQuNWgydjNoLTJ6Ii8+PC9nPjwvc3ZnPid9LDc4NjU3OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSA5LjV2OG0tNC05di00bS0zIDJ2LTQiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDdoM3Y1SDh6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjV2NCIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNMTMuNSA3LjVoMnY0aC0yeiIvPjwvZz48L3N2Zz4nfSw2Nzc3NyhlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMS41djJtLTQgMnYtNG0tMyA2di00Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik04LjUgNy41aDJ2NGgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xMyA3aDN2NWgtM3oiLz48L2c+PC9zdmc+J30sMzk5NDk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTEzIDRoM3YxMmgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEwLjUgMTEuNXYtNG0tMyAydi00bS0zIDJ2LTQiLz48L2c+PC9zdmc+J30sNDE0Nzk2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTMuNSA0LjVoMnYxMWgtMnoiLz48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAxMi41di00bS0zIDZ2LTRtLTMgNnYtNCIvPjwvZz48L3N2Zz4nfSwxMzA2ODYoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNNC41IDIuNXYxMSIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMgNGgzdjhIM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgNC41djJtMCA3djIiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEzLjUgNi41aDJ2N2gtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTkuNSAxMi41djUiLz48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik04IDE0aDN2Mkg4eiIvPjwvZz48L3N2Zz4nfSwxMjAwMzcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMC41IDkuNWgydjNoLTJ6Ii8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTExLjUgOC41di02bS00IDEzdi00bTggNHYtNG0tMTEgNnYtNCIvPjwvZz48L3N2Zz4nfSwyMjAzNDEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMC41IDMuNXYxMyIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkgOGgzdjRIOXoiLz48L2c+PC9zdmc+J30sMjIzNDgzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iY3VycmVudENvbG9yIj48cGF0aCBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNMTAuNSAzLjV2NW0wIDN2NSIvPjxwYXRoIGQ9Ik05LjUgOC41aDJ2M2gtMnoiLz48L2c+PC9zdmc+J30sNzQ0MjQwKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE1IDEyaDN2NGgtM3oiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE2LjUgMTAuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTEgOGgzdjRoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMi41IDYuNXY3Ii8+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNyA0aDN2NEg3eiIvPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBkPSJNOC41IDIuNXY3bS00IDF2LTRtLTIgNnYtNCIvPjwvZz48L3N2Zz4nfSw3MDI5NjcoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTUgNGgzdjJoLTN6Ii8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xMS41IDExLjV2LTJtMC03djJtNS0ydjUiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTEwLjUgNC41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTcuNSAxNC41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik02LjUgNy41aDJ2NWgtMnoiLz48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTMuNSAxNy41di0ybTAtN3YyIi8+PHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Ik0yLjUgMTAuNWgydjVoLTJ6Ii8+PC9nPjwvc3ZnPid9LDgzNTE3NChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+PHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTE0LjUgOC41aDRtLTItMnY0bS03LTZoNG0tMi0ydjRtLTYgMmg0bS0yLTJ2NG0tMyA1di00bS0yIDZ2LTQiLz48L3N2Zz4nfSw4NzQ5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxwYXRoIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIGQ9Ik0xNC41IDExLjVoNG0tMi0ydjRtLTcgMmg0bS0yLTJ2NG0tNi02aDRtLTItMnY0bS0zLTV2LTRtLTIgMnYtNCIvPjwvc3ZnPid9LDc5MDA4MChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE0IDEyIiB3aWR0aD0iMTQiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yLjcxIDEuMjlIMS4zdjkuNDJIMi43VjEuM3pNMS4zIDBDLjU4IDAgMCAuNTggMCAxLjI5djkuNDJDMCAxMS40Mi41OCAxMiAxLjI5IDEySDIuN0MzLjQyIDEyIDQgMTEuNDIgNCAxMC43MVYxLjNDNCAuNTggMy40MiAwIDIuNzEgMEgxLjN6TTcuNyAxLjI5SDYuM3Y5LjQySDcuN1YxLjN6TTYuMyAwQzUuNTggMCA1IC41OCA1IDEuMjl2OS40MmMwIC43MS41OCAxLjI5IDEuMjkgMS4yOUg3LjdDOC40MiAxMiA5IDExLjQyIDkgMTAuNzFWMS4zQzkgLjU4IDguNDIgMCA3LjcxIDBINi4zem01IDEuMjloMS40MnY5LjQySDExLjNWMS4zem0tMS4yOSAwQzEwIC41OCAxMC41OCAwIDExLjI5IDBoMS40MkMxMy40MiAwIDE0IC41OCAxNCAxLjI5djkuNDJjMCAuNzEtLjU4IDEuMjktMS4yOSAxLjI5SDExLjNjLS43MSAwLTEuMjktLjU4LTEuMjktMS4yOVYxLjN6Ii8+PC9zdmc+J30sNzU1MDQxKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4Ij48cGF0aCBmaWxsPSIjQURBRUIwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi41IDExaC0uNzlsLS4yOC0uMjdBNi40NyA2LjQ3IDAgMCAwIDEzIDYuNSA2LjUgNi41IDAgMSAwIDYuNSAxM2MxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDE3LjQ5IDE2bC00Ljk5LTV6bS02IDBDNC4wMSAxMSAyIDguOTkgMiA2LjVTNC4wMSAyIDYuNSAyIDExIDQuMDEgMTEgNi41IDguOTkgMTEgNi41IDExeiIvPjwvc3ZnPid9LDE5OTc4NShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAgMTAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNzU4Njk2IiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xLjEyNSA5LjExTDkuMTMgMS4xMDRNMS4xMjUgMS4xMDVMOS4xMyA5LjExIi8+PC9nPjwvc3ZnPid9LDgyMzM1OChlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOCAzIiB3aWR0aD0iOCIgaGVpZ2h0PSIzIj48cGF0aCBkPSJNMCAwIEw0IDMgTDggMCBaIi8+PC9zdmc+J30sODQxODc3KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4IDMiIHdpZHRoPSI4IiBoZWlnaHQ9IjMiPjxwYXRoIGQ9Ik0wIDMgTDQgMCBMOCAzIFoiLz48L3N2Zz4nfSw1OTg1ODUoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDIwIDIwIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSI+PGNpcmNsZSBjeD0iOC41IiBjeT0iOC41IiByPSIzIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzLjUgOC41aDNNLjUgOC41aDNNOC41IDMuNXYtM00xMyA0bDItMk0yIDE1bDItMiIvPjxwYXRoIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiIGQ9Ik0yIDJsMiAyIi8+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgZD0iTTEzIDEzbDIgMk04LjUgMTYuNXYtMyIvPjwvZz48L3N2Zz4nfSw4OTMyNTEoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDYgMjYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEzIiBmaWxsPSJjdXJyZW50Q29sb3IiPjxjaXJjbGUgY3g9IjMiIGN5PSIzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjEzIiByPSIzIi8+PGNpcmNsZSBjeD0iMyIgY3k9IjIzIiByPSIzIi8+PC9zdmc+J30sNzE3MTQxKGUsdCxvKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW8ucCsibW9jay1kYXJrLjE2YjVmM2E0MzFmNTAyYjAzYWUzLnN2ZyJ9LDQ1ODA1OShlLHQsbyl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1vLnArIm1vY2stbGlnaHQuZDIwMTMxMzAxN2ViMmMxYjk4OWYuc3ZnIn0sMjIxMDYxKGUsdCxvKXsidXNlIHN0cmljdCI7dmFyIGk7by5kKHQse2dldExvZ2dlcjooKT0+bSxnZXRSYXdMb2dIaXN0b3J5OigpPT51LHNlcmlhbGl6ZUxvZ0hpc3RvcnlFbnRyeTooKT0+X30pLGZ1bmN0aW9uKGUpe2VbZS5FUlJPUj0xXT0iRVJST1IiLGVbZS5XQVJOSU5HPTJdPSJXQVJOSU5HIixlW2UuSU5GTz0zXT0iSU5GTyIsZVtlLk5PUk1BTD00XT0iTk9STUFMIixlW2UuREVCVUc9NV09IkRFQlVHIn0oaXx8KGk9e30pKTtsZXQgbj0wO2NvbnN0IHI9W107bGV0IHM9bnVsbCxhPW51bGwsbD1udWxsLGM9bnVsbCxkPWkuV0FSTklORyxoPSExO2Z1bmN0aW9uIHUoZSx0KXtsZXQgbz1yLnJlZHVjZSgoKGUsdCk9PmUuY29uY2F0KHQpKSxbXSk7cmV0dXJuIG8uc29ydCgoKGUsdCk9PmUuaWQtdC5pZCkpLHZvaWQgMCE9PXQmJihvPW8uZmlsdGVyKChlPT5lLnN1YlN5c3RlbUlkPT09dCkpKSwibnVtYmVyIj09dHlwZW9mIGUmJihvPW8uc2xpY2UoLWUpKSxvfWZ1bmN0aW9uIF8oZSl7cmV0dXJuIG5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpKyI6IitlLnN1YlN5c3RlbUlkKyI6IitlLm1lc3NhZ2UucmVwbGFjZSgvIi9nLCInIil9ZnVuY3Rpb24gcChlLHQsbyxyLHUpe2lmKHQ9PT1hJiZyLmlkPT09bClyZXR1cm47Y29uc3QgXz1uZXcgRGF0ZTtpZihlPD1pLk5PUk1BTCYmZnVuY3Rpb24oZSx0LG8saSxyLHMpeyJmdW5jdGlvbiI9PXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUmJih0PXN0cnVjdHVyZWRDbG9uZSh0KSksdD10LnNsaWNlKDAscz8/MWUzKTtjb25zdCBhPXtpZDpuLAptZXNzYWdlOnQsc3ViU3lzdGVtSWQ6aSx0aW1lc3RhbXA6TnVtYmVyKGUpfTtuKz0xLG8ucHVzaChhKSx2b2lkIDAhPT1yJiZvLmxlbmd0aD5yJiZvLnNwbGljZSgwLDEpfShfLHQsbyxyLmlkLHIubWF4Q291bnQsdSksZTw9ZCYmKCFyLmhpZ2hSYXRlfHxoKSYmKCFzfHxyLmlkLm1hdGNoKHMpKSl7Y29uc3Qgbz1fLnRvSVNPU3RyaW5nKCkrIjoiK3IuaWQrIjoiK3Q7c3dpdGNoKGUpe2Nhc2UgaS5ERUJVRzpjb25zb2xlLmRlYnVnKG8pO2JyZWFrO2Nhc2UgaS5JTkZPOmNhc2UgaS5OT1JNQUw6ci5jb2xvcj9jb25zb2xlLmxvZygiJWMiK28sImNvbG9yOiAiK3IuY29sb3IpOmNvbnNvbGUubG9nKG8pO2JyZWFrO2Nhc2UgaS5XQVJOSU5HOmNvbnNvbGUud2FybihvKTticmVhaztjYXNlIGkuRVJST1I6Y29uc29sZS5lcnJvcihvKX1hPXQsbD1yLmlkLG51bGwhPT1jJiZjbGVhclRpbWVvdXQoYyksYz1zZXRUaW1lb3V0KCgoKT0+e2E9bnVsbCxsPW51bGwsYz1udWxsfSksMWUzKX19ZnVuY3Rpb24gbShlLHQ9e30pe2NvbnN0IG89W107ci5wdXNoKG8pO2NvbnN0IG49T2JqZWN0LmFzc2lnbih0LHtpZDplfSk7ZnVuY3Rpb24gcyhlKXtyZXR1cm4odCxpKT0+cChlLFN0cmluZyh0KSxvLG4saSl9cmV0dXJue2xvZ0RlYnVnOnMoaS5ERUJVRyksbG9nRXJyb3I6cyhpLkVSUk9SKSxsb2dJbmZvOnMoaS5JTkZPKSxsb2dOb3JtYWw6cyhpLk5PUk1BTCksbG9nV2FybjpzKGkuV0FSTklORyl9fX0sODA5NDM2KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZHVyIjoiMzUwbXMiLCJkdXItZmFzdCI6IjYwbXMiLCJlYXNlLWluLWxpa2UiOiJjdWJpYy1iZXppZXIoMC4zMywgMCwgMC4xMSwgMSkiLCJlYXNlLW91dC1saWtlIjoiY3ViaWMtYmV6aWVyKDAuODksIDAsIDAuNjcsIDEpIiwic2l6ZS1mZWVkLWl0ZW0td2lkdGgiOiI0ODBweCIsInNpemUtZmVlZC1oaWRlbnQiOiIyMHB4Iiwic2l6ZS1mZWVkLXZpZGVudCI6IjIwcHgiLCJzaXplLWJhc2UtaW5kZW50IjoiNHB4Iiwic2l6ZS1sYXlvdXQtc21hbGwtaG9yenBhZGRpbmciOiIxMnB4Iiwic2l6ZS1sYXlvdXQtaG9yenBhZGRpbmciOiIyMHB4Iiwic2l6ZS1kcmF3aW5ncy10b29sYmFyLWl0ZW0taGVpZ2h0IjoiMzhweCIsInNpemUtaGVhZGVyLWxpbmtpbmRlbnQiOiIxNXB4Iiwic2l6ZS1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtbmF2LWhlYWRlci1oZWlnaHQiOiI1OHB4Iiwic2l6ZS1zdGlja3ktc3ltYm9sLWhlYWRlci1oZWlnaHQiOiI2NHB4Iiwic2l6ZS1kaWFsb2ctZml4ZWQtaGVhZGVyLWhlaWdodCI6IjcycHgiLCJzaXplLXNpdGUtd2lkZ2V0LXBhZGRpbmciOiIyMHB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nLXRhYmxldCI6IjEycHgiLCJzaXplLWNvbGxhcHNlLXRhYnMtaGVpZ2h0IjoiNTZweCIsInNpemUtbm8tc2Nyb2xsLWNob2ljZXItaGVpZ2h0IjoiNTZweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLWluZGVudCI6IjRweCIsInNpemUtbWFpbi1jaGFydC1hcmVhLXJhZGl1cyI6IjAiLCJzaXplLXNlYXJjaGJhci1oZWlnaHQiOiI4MHB4Iiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0LXRhYmxldCI6IjU0cHgiLCJzaXplLXNlYXJjaGJhci1idG4td2lkdGgtdGFibGV0IjoiNjZweCIsInNpemUtY29udGVudC10b3AtdmluZGVudCI6IjQ4cHgiLCJzaXplLWxheW91dC13aWR0aCI6IjEwMjBweCIsInNpemUtbGF5b3V0LXdpZHRoLXdpZGUiOiIxNTIwcHgiLCJzaXplLWNoZWNrYm94LXNpZGUiOiIxOHB4Iiwic2l6ZS1jaGVja2JveC1jbGljay1leHBhbmQiOiIxMHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0teHNtYWxsIjoiMTlweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXNtYWxsIjoiMjdweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQiOiIzNHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LWhlaWdodC0tbGFyZ2UiOiI0OHB4Iiwic2l6ZS1jb250cm9sLWlucHV0LXBhZGRpbmctaG9yeiI6IjEycHgiLCJzaXplLXRhYnMtaG9yei1pbmRlbnQiOiIxNnB4Iiwic2l6ZS1hdmF0YXItYm9yZGVyLXJhZGl1cyI6IjNweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nIjoiMjVweCIsInNpemUtY2hhcnQtdmlldy1zcGFjaW5nLXRhYmxldCI6IjIwcHgiLCJyYWRpdXMtZW1iZWQtd2lkZ2V0LXdyYXBwZXIiOiIzcHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMTZweC1saW5lLWhlaWdodCI6IjI0cHgiLCJ0eXBvZ3JhcGh5LXBsYXRmb3JtLXJlZ3VsYXItMThweC1saW5lLWhlaWdodCI6IjI4cHgiLCJtZWRpYS1ub3RlYm9vayI6ImFsbCBhbmQgKG1heC13aWR0aDogMTUzMHB4KSIsIm1lZGlhLXRhYmxldCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTAxOXB4KSIsIm1lZGlhLXBob25lIjoiYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkiLCJtZWRpYS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1heC13aWR0aDogNDc5cHgpIiwibWVkaWEtZXh0cmVtZS10aGluIjoiYWxsIGFuZCAobWF4LXdpZHRoOiAzMjlweCkiLCJtZWRpYS1zaG93LWRyYXdlciI6ImFsbCBhbmQgKG1heC13aWR0aDogNTY3cHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMzBweCkiLCJtZWRpYS1tZi1sZWdhY3ktcGhvbmUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1ub3RlYm9vayI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyMHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wLW1lZGl1bSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSIsIm1lZGlhLW1mLWxlZ2FjeS1kZXNrdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNTMxcHgpIiwibWVkaWEtbWYtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtaW4td2lkdGg6IDMyMHB4KSIsIm1lZGlhLW1mLXBob25lLWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogNTY4cHgpIiwibWVkaWEtbWYtdGFibGV0LXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkiLCJtZWRpYS1tZi10YWJsZXQtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIiwibWVkaWEtbWYtbGFwdG9wIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0NDBweCkiLCJtZWRpYS1tZi1kZXNrdG9wLWxhcmdlIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMjU2MHB4KSIsImNvbnRhaW5lci10YWJsZXQiOiIobWF4LXdpZHRoOiAxMDE5cHgpIiwiY29udGFpbmVyLXBob25lIjoiKG1heC13aWR0aDogNzY3cHgpIiwiY29udGFpbmVyLXBob25lLXZlcnRpY2FsIjoiKG1heC13aWR0aDogNDc5cHgpIiwiY29udGFpbmVyLW1mLXBob25lLXZlcnRpY2FsIjoiKG1pbi13aWR0aDogMzAwcHgpIiwiY29udGFpbmVyLW1mLXBob25lLWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDU0OHB4KSIsImNvbnRhaW5lci1tZi10YWJsZXQtdmVydGljYWwiOiIobWluLXdpZHRoOiA3MDJweCkiLCJjb250YWluZXItbWYtdGFibGV0LWxhbmRzY2FwZSI6IihtaW4td2lkdGg6IDk1OHB4KSIsImNvbnRhaW5lci1tZi1sYXB0b3AiOiIobWluLXdpZHRoOiAxMjE0cHgpIiwiY29udGFpbmVyLW1mLWRlc2t0b3AtbWVkaXVtIjoiKG1pbi13aWR0aDogMTM3NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWxhcmdlIjoiKG1pbi13aWR0aDogMTg1NHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLWV4dHJhLWxhcmdlIjoiKG1pbi13aWR0aDogMjQ5NHB4KSIsIm1lZGlhLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSBhbmQgKG1heC13aWR0aDogMTQzOXB4KSIsIm1lZGlhLWxhcHRvcC1hbmQtZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkiLCJtZWRpYS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAzNzVweCkgYW5kIChtYXgtZGV2aWNlLWhlaWdodDogODEycHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtYXgtaGVpZ2h0OiA0NDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsIm1lZGlhLXdpZGdldGJhci1icmVha3BvaW50IjoiYWxsIGFuZCAobWF4LXdpZHRoOiAxMDY0cHgpIiwiei1pbmRleC1jb250ZW50LXBhZ2UiOjEsInotaW5kZXgtY2hhcnQtbGVnZW5kIjo2LCJ6LWluZGV4LWNoYXJ0LXJpZ2h0LWNvcm5lci1jb250cm9scyI6Nywiei1pbmRleC1sb2FkaW5nLXNjcmVlbiI6OCwiei1pbmRleC1kcm9wZG93biI6OTksInotaW5kZXgtdG9vbGJhci1wb3B1cC1tZW51IjoxMDAsInotaW5kZXgtdG9vbHRpcCI6MTAwMCwiei1pbmRleC11c2VyLWxpbmstcG9wdXAiOjkwMCwiei1pbmRleC1zdGlja3ktc2VhcmNoLWJhciI6MTAxLCJ6LWluZGV4LXJlc2l6YWJsZS1kcmF3ZXIiOjgwMCwiei1pbmRleC1mdWxsc2NyZWVuIjoxMDIsImRpc2FibGVkLXN0YXRlLW9wYWNpdHkiOjAuNSwic2l6ZS1nYXAtbWluaW11bSI6IjIwcHgiLCJzaXplLWdhcC1tZWRpdW0iOiI0MHB4Iiwic2l6ZS1nYXAtbWF4aW11bSI6IjEwMHB4In0nKQp9LDI1NTUxNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7InVzIjp7InRpdGxlIjoiVVNBIiwic2NyZWVuZXJOYW1lIjoiYW1lcmljYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL05ld19Zb3JrIiwiZGVmYXVsdEV4Y2hhbmdlIjoiVVMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkFNRVgiLCJOQVNEQVEiLCJOWVNFIiwiT1RDIiwiVVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5BU0RBUSIsIk5ZU0UiLCJOWVNFIEFSQ0EiLCJPVEMiXSwiZ3JvdXAiOiJOb3J0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJ1c2EvIn0sImFlIjp7InRpdGxlIjoiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiLCJzY3JlZW5lck5hbWUiOiJ1YWUiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9EdWJhaSIsImRlZmF1bHRFeGNoYW5nZSI6IkFEWCIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiREZNIiwiQURYIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJERk0iLCJBRFgiLCJOQVNEQVFEVUJBSSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJ1YWUvIn0sImFyIjp7InRpdGxlIjoiQXJnZW50aW5hIiwic2NyZWVuZXJOYW1lIjoiYXJnZW50aW5hIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvQXJnZW50aW5hL0J1ZW5vc19BaXJlcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkNCQSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiQllNQSIsIkJDQkEiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQkNCQSIsImdyb3VwIjoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIiwibWFya2V0Um91dGUiOiJhcmdlbnRpbmEvIn0sImF0Ijp7InRpdGxlIjoiQXVzdHJpYSIsInNjcmVlbmVyTmFtZSI6ImF1c3RyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1ZpZW5uYSIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiVklFIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJWSUUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiVklFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyaWEvIn0sImF1Ijp7InRpdGxlIjoiQXVzdHJhbGlhIiwic2NyZWVuZXJOYW1lIjoiYXVzdHJhbGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkF1c3RyYWxpYS9TeWRuZXkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQVNYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImF1c3RyYWxpYS8ifSwiYmQiOnsidGl0bGUiOiJCYW5nbGFkZXNoIiwic2NyZWVuZXJOYW1lIjoiYmFuZ2xhZGVzaCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0RoYWthIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkRTRUJEIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRFNFQkQiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiYmFuZ2xhZGVzaC8ifSwiYmUiOnsidGl0bGUiOiJCZWxnaXVtIiwic2NyZWVuZXJOYW1lIjoiYmVsZ2l1bSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJ1c3NlbHMiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0JSVSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRCUlUiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfQlJVIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImJlbGdpdW0vIn0sImJoIjp7InRpdGxlIjoiQmFocmFpbiIsInNjcmVlbmVyTmFtZSI6ImJhaHJhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9CYWhyYWluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJBSFJBSU4iXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoiYmFocmFpbi8ifSwiYnIiOnsidGl0bGUiOiJCcmF6aWwiLCJzY3JlZW5lck5hbWUiOiJicmF6aWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9TYW9fUGF1bG8iLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1GQk9WRVNQQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiYnJhemlsLyJ9LCJiZyI6eyJ0aXRsZSI6IkJ1bGdhcmlhIiwic2NyZWVuZXJOYW1lIjoiYnVsZ2FyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1NvZmlhIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJTRVNPRiJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiYnVsZ2FyaWEvIn0sImNhIjp7InRpdGxlIjoiQ2FuYWRhIiwic2NyZWVuZXJOYW1lIjoiY2FuYWRhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvVG9yb250byIsImV4Y2hhbmdlc1N0b2NrcyI6WyJUU1giLCJUU1hWIiwiQ1NFIiwiTkVPIl0sImdyb3VwIjoiTm9ydGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2FuYWRhLyJ9LCJjaCI6eyJ0aXRsZSI6IlN3aXR6ZXJsYW5kIiwic2NyZWVuZXJOYW1lIjoic3dpdHplcmxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1p1cmljaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJTSVgiLCJCWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic3dpdHplcmxhbmQvIn0sImNsIjp7InRpdGxlIjoiQ2hpbGUiLCJzY3JlZW5lck5hbWUiOiJjaGlsZSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL1NhbnRpYWdvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJDUyJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoiY2hpbGUvIn0sImNuIjp7InRpdGxlIjoiTWFpbmxhbmQgQ2hpbmEiLCJ0dkxvY2FsZSI6InpoX0NOIiwic2NyZWVuZXJOYW1lIjoiY2hpbmEiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9Ib25nX0tvbmciLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlNTRSIsIlNaU0UiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNTRSIsIlNaU0UiLCJTSEZFIiwiWkNFIiwiQ0ZGRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiY2hpbmEvIn0sImNvIjp7InRpdGxlIjoiQ29sb21iaWEiLCJzY3JlZW5lck5hbWUiOiJjb2xvbWJpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0JvZ290YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkMiXSwiZ3JvdXAiOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLCJtYXJrZXRSb3V0ZSI6ImNvbG9tYmlhLyJ9LCJociI6eyJ0aXRsZSI6IkNyb2F0aWEiLCJzY3JlZW5lck5hbWUiOiJjcm9hdGlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9aYWdyZWIiLCJleGNoYW5nZXNTdG9ja3MiOlsiWlNFIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiWlNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IlpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjcm9hdGlhLyJ9LCJjeSI6eyJ0aXRsZSI6IkN5cHJ1cyIsInNjcmVlbmVyTmFtZSI6ImN5cHJ1cyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQ3lwcnVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRUNZIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFQ1kiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImN5cHJ1cy8ifSwiY3oiOnsidGl0bGUiOiJDemVjaCBSZXB1YmxpYyIsInNjcmVlbmVyTmFtZSI6ImN6ZWNoIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9DemVjaCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0VDWiJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTRUNaIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJjemVjaC8ifSwiZGUiOnsidGl0bGUiOiJHZXJtYW55IiwidHZMb2NhbGUiOiJkZV9ERSIsInNjcmVlbmVyTmFtZSI6Imdlcm1hbnkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0JlcmxpbiIsImRlZmF1bHRFeGNoYW5nZSI6IlhFVFIiLCJleGNoYW5nZXNTdG9ja3MiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIiwiR0VUVEVYIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRldCIiwiU1dCIiwiWEVUUiIsIkRVUyIsIkhBTSIsIkhBTiIsIk1VTiIsIlRSQURFR0FURSIsIkxTIiwiTFNYIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJnZXJtYW55LyJ9LCJkayI6eyJ0aXRsZSI6IkRlbm1hcmsiLCJzY3JlZW5lck5hbWUiOiJkZW5tYXJrIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Db3BlbmhhZ2VuIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWENPUCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZGVubWFyay8ifSwiZWUiOnsidGl0bGUiOiJFc3RvbmlhIiwic2NyZWVuZXJOYW1lIjoiZXN0b25pYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvVGFsbGlubiIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhUU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImVzdG9uaWEvIn0sImVnIjp7InRpdGxlIjoiRWd5cHQiLCJzY3JlZW5lck5hbWUiOiJlZ3lwdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvQ2Fpcm8iLCJleGNoYW5nZXNTdG9ja3MiOlsiRUdYIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6ImVneXB0LyJ9LCJlcyI6eyJ0aXRsZSI6IlNwYWluIiwic2NyZWVuZXJOYW1lIjoic3BhaW4iLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL01hZHJpZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCTUUiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InNwYWluLyJ9LCJldSI6eyJ0aXRsZSI6IkV1cm9wZWFuIFVuaW9uIiwic2NyZWVuZXJOYW1lIjoiZXVyb25leHQiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1BhcmlzIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6W10sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVCIsIkVVUk9ORVhUQ09NTSJdLCJncm91cCI6IkV1cm9wZSJ9LCJmaSI6eyJ0aXRsZSI6IkZpbmxhbmQiLCJzY3JlZW5lck5hbWUiOiJmaW5sYW5kIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9IZWxzaW5raSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhIRVgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImZpbmxhbmQvIn0sImZyIjp7InRpdGxlIjoiRnJhbmNlIiwic2NyZWVuZXJOYW1lIjoiZnJhbmNlIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9QYXJpcyIsImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiRVVST05FWFRfUEFSIl0sImV4Y2hhbmdlc1N0b2NrcyI6WyJFVVJPTkVYVFBBUiJdLCJkZWZhdWx0RXhjaGFuZ2UiOiJFVVJPTkVYVF9QQVIiLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZnJhbmNlLyJ9LCJnZSI6eyJ0aXRsZSI6Ikdlb3JnaWEifSwiZ3IiOnsidGl0bGUiOiJHcmVlY2UiLCJzY3JlZW5lck5hbWUiOiJncmVlY2UiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0F0aGVucyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJBVEhFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoiZ3JlZWNlLyJ9LCJoayI6eyJ0aXRsZSI6IkhvbmcgS29uZywgQ2hpbmEiLCJzY3JlZW5lck5hbWUiOiJob25na29uZyIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvbmdfS29uZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJIS0VYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6Imhvbmcta29uZy8ifSwiaHUiOnsidGl0bGUiOiJIdW5nYXJ5Iiwic2NyZWVuZXJOYW1lIjoiaHVuZ2FyeSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnVkYXBlc3QiLCJleGNoYW5nZXNTdG9ja3MiOlsiQkVUIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQkVUIl0sImRlZmF1bHRFeGNoYW5nZSI6IkJFVCIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJodW5nYXJ5LyJ9LCJpZCI6eyJ0aXRsZSI6IkluZG9uZXNpYSIsInNjcmVlbmVyTmFtZSI6ImluZG9uZXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0pha2FydGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiSURYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZG9uZXNpYS8ifSwiaWUiOnsidGl0bGUiOiJJcmVsYW5kIiwic2NyZWVuZXJOYW1lIjoiaXJlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvRHVibGluIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhURFVCIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpcmVsYW5kLyJ9LCJpbCI6eyJ0aXRsZSI6IklzcmFlbCIsInR2TG9jYWxlIjoiaGVfSUwiLCJzY3JlZW5lck5hbWUiOiJpc3JhZWwiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9KZXJ1c2FsZW0iLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJpc3JhZWwvIn0sImluIjp7InRpdGxlIjoiSW5kaWEiLCJzY3JlZW5lck5hbWUiOiJpbmRpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0tvbGthdGEiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlNFIiwiTlNFIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImluZGlhLyJ9LCJpciI6eyJ0aXRsZSI6IklyYW4ifSwiaXMiOnsidGl0bGUiOiJJY2VsYW5kIiwic2NyZWVuZXJOYW1lIjoiaWNlbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBdGxhbnRpYy9SZXlramF2aWsiLCJleGNoYW5nZXNTdG9ja3MiOlsiT01YSUNFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJpY2VsYW5kLyJ9LCJpdCI6eyJ0aXRsZSI6Ikl0YWx5Iiwic2NyZWVuZXJOYW1lIjoiaXRhbHkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL1JvbWUiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk1JTCIsIkVVUk9UTFgiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIk1JTCIsIkVVUk9UTFgiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Iml0YWx5LyJ9LCJqcCI6eyJ0aXRsZSI6IkphcGFuIiwidHZMb2NhbGUiOiJqYSIsInNjcmVlbmVyTmFtZSI6ImphcGFuIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvVG9reW8iLCJkZWZhdWx0RXhjaGFuZ2UiOiJUU0UiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk5BRyIsIlRTRSJdLCJleGNoYW5nZXNTdG9ja3MiOlsiVFNFIiwiTkFHIiwiRlNFIiwiU0FQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoiamFwYW4vIn0sImtlIjp7InRpdGxlIjoiS2VueWEiLCJzY3JlZW5lck5hbWUiOiJrZW55YSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvTmFpcm9iaSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOU0VLRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrZW55YS8ifSwia3AiOnsidGl0bGUiOiJOb3J0aCBLb3JlYSJ9LCJrciI6eyJ0aXRsZSI6IlNvdXRoIEtvcmVhIiwidHZMb2NhbGUiOiJrciIsInNjcmVlbmVyTmFtZSI6ImtvcmVhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2VvdWwiLCJleGNoYW5nZXNTdG9ja3MiOlsiS1JYIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6ImtvcmVhLyJ9LCJrdyI6eyJ0aXRsZSI6Ikt1d2FpdCIsInNjcmVlbmVyTmFtZSI6Imt1d2FpdCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0t1d2FpdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJLU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoia3V3YWl0LyJ9LCJsayI6eyJ0aXRsZSI6IlNyaSBMYW5rYSIsInNjcmVlbmVyTmFtZSI6InNyaWxhbmthIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvQ29sb21ibyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJDU0VMSyJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzcmktbGFua2EvIn0sImx0Ijp7InRpdGxlIjoiTGl0aHVhbmlhIiwic2NyZWVuZXJOYW1lIjoibGl0aHVhbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9WaWxuaXVzIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk9NWFZTRSJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoibGl0aHVhbmlhLyJ9LCJsdiI6eyJ0aXRsZSI6IkxhdHZpYSIsInNjcmVlbmVyTmFtZSI6ImxhdHZpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvUmlnYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJPTVhSU0UiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6ImxhdHZpYS8ifSwibHUiOnsidGl0bGUiOiJMdXhlbWJvdXJnIiwic2NyZWVuZXJOYW1lIjoibHV4ZW1ib3VyZyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTHV4ZW1ib3VyZyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMVVhTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxVWFNFIl0sImRlZmF1bHRFeGNoYW5nZSI6IkxVWFNFIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Imx1eGVtYm91cmcvIn0sIm14Ijp7InRpdGxlIjoiTWV4aWNvIiwic2NyZWVuZXJOYW1lIjoibWV4aWNvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFtZXJpY2EvTWV4aWNvX0NpdHkiLCJleGNoYW5nZXNTdG9ja3MiOlsiQk1WIiwiQklWQSJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoibWV4aWNvLyJ9LCJtYSI6eyJ0aXRsZSI6Ik1vcm9jY28iLCJzY3JlZW5lck5hbWUiOiJtb3JvY2NvIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9Nb3JvY2NvIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkNTRU1BIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiQ1NFTUEiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoibW9yb2Njby8ifSwibXkiOnsidGl0bGUiOiJNYWxheXNpYSIsInR2TG9jYWxlIjoibXNfTVkiLCJzY3JlZW5lck5hbWUiOiJtYWxheXNpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL1NpbmdhcG9yZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJNWVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibWFsYXlzaWEvIn0sIm5nIjp7InRpdGxlIjoiTmlnZXJpYSIsInNjcmVlbmVyTmFtZSI6Im5pZ2VyaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiQWZyaWNhL0xhZ29zIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIk5TRU5HIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6Im5pZ2VyaWEvIn0sIm5sIjp7InRpdGxlIjoiTmV0aGVybGFuZHMiLCJzY3JlZW5lck5hbWUiOiJuZXRoZXJsYW5kcyIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQW1zdGVyZGFtIiwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJFVVJPTkVYVF9BTVMiXSwiZXhjaGFuZ2VzU3RvY2tzIjpbIkVVUk9ORVhUQU1TIl0sImRlZmF1bHRFeGNoYW5nZSI6IkVVUk9ORVhUX0FNUyIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJuZXRoZXJsYW5kcy8ifSwibm8iOnsidGl0bGUiOiJOb3J3YXkiLCJzY3JlZW5lck5hbWUiOiJub3J3YXkiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL09zbG8iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIk9TTCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRPU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiT1NMIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6Im5vcndheS8ifSwibnoiOnsidGl0bGUiOiJOZXcgWmVhbGFuZCIsInNjcmVlbmVyTmFtZSI6Im5ld3plYWxhbmQiLCJzY3JlZW5lclRpbWV6b25lIjoiUGFjaWZpYy9BdWNrbGFuZCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJOWlgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoibmV3LXplYWxhbmQvIn0sInBlIjp7InRpdGxlIjoiUGVydSIsInNjcmVlbmVyTmFtZSI6InBlcnUiLCJzY3JlZW5lclRpbWV6b25lIjoiQW1lcmljYS9MaW1hIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkJWTCJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoicGVydS8ifSwicGgiOnsidGl0bGUiOiJQaGlsaXBwaW5lcyIsInNjcmVlbmVyTmFtZSI6InBoaWxpcHBpbmVzIiwic2NyZWVuZXJUaW1lem9uZSI6IlBoaWxpcHBpbmVzL01hbmlsYSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJQU0UiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoicGhpbGlwcGluZXMvIn0sInBrIjp7InRpdGxlIjoiUGFraXN0YW4iLCJzY3JlZW5lck5hbWUiOiJwYWtpc3RhbiIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0thcmFjaGkiLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIlBTWCJdLCJleGNoYW5nZXNTdG9ja3MiOlsiUFNYIl0sImRlZmF1bHRFeGNoYW5nZSI6IlBTWCIsImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InBha2lzdGFuLyJ9LCJwbCI6eyJ0aXRsZSI6IlBvbGFuZCIsInNjcmVlbmVyTmFtZSI6InBvbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvV2Fyc2F3IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkdQVyIsIk5FV0NPTk5FQ1QiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvbGFuZC8ifSwicHQiOnsidGl0bGUiOiJQb3J0dWdhbCIsInNjcmVlbmVyTmFtZSI6InBvcnR1Z2FsIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9MaXNib24iLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkVVUk9ORVhUX0xJUyJdLCJleGNoYW5nZXNTdG9ja3MiOlsiRVVST05FWFRMSVMiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiRVVST05FWFRfTElTIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InBvcnR1Z2FsLyJ9LCJxYSI6eyJ0aXRsZSI6IlFhdGFyIiwic2NyZWVuZXJOYW1lIjoicWF0YXIiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9RYXRhciIsImV4Y2hhbmdlc1N0b2NrcyI6WyJRU0UiXSwiZ3JvdXAiOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsIm1hcmtldFJvdXRlIjoicWF0YXIvIn0sInJvIjp7InRpdGxlIjoiUm9tYW5pYSIsInNjcmVlbmVyTmFtZSI6InJvbWFuaWEiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0J1Y2hhcmVzdCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVkIiXSwiZXhjaGFuZ2VzRm9ySG90bGlzdCI6WyJCVkIiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiQlZCIiwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InJvbWFuaWEvIn0sInJzIjp7InRpdGxlIjoiU2VyYmlhIiwic2NyZWVuZXJOYW1lIjoic2VyYmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9CZWxncmFkZSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCRUxFWCJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoic2VyYmlhLyJ9LCJydSI6eyJ0aXRsZSI6IlJ1c3NpYSIsInNjcmVlbmVyTmFtZSI6InJ1c3NpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvTW9zY293IiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlJVUyJdLCJncm91cCI6IkV1cm9wZSIsIm1hcmtldFJvdXRlIjoicnVzc2lhLyJ9LCJzYSI6eyJ0aXRsZSI6IlNhdWRpIEFyYWJpYSIsInR2TG9jYWxlIjoiYXJfQUUiLCJzY3JlZW5lck5hbWUiOiJrc2EiLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9SaXlhZGgiLCJleGNoYW5nZXNTdG9ja3MiOlsiVEFEQVdVTCJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJrc2EvIn0sInNlIjp7InRpdGxlIjoiU3dlZGVuIiwic2NyZWVuZXJOYW1lIjoic3dlZGVuIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9TdG9ja2hvbG0iLCJleGNoYW5nZXNTdG9ja3MiOlsiTkdNIiwiT01YU1RPIl0sImV4Y2hhbmdlc0ZvckhvdGxpc3QiOlsiTkdNIiwiT01YU1RPIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzd2VkZW4vIn0sInNnIjp7InRpdGxlIjoiU2luZ2Fwb3JlIiwic2NyZWVuZXJOYW1lIjoic2luZ2Fwb3JlIiwic2NyZWVuZXJUaW1lem9uZSI6IkFzaWEvU2luZ2Fwb3JlIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIlNHWCJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJzaW5nYXBvcmUvIn0sInNrIjp7InRpdGxlIjoiU2xvdmFraWEiLCJzY3JlZW5lck5hbWUiOiJzbG92YWtpYSIsInNjcmVlbmVyVGltZXpvbmUiOiJFdXJvcGUvQnJhdGlzbGF2YSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCU1NFIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92YWtpYS8ifSwic2kiOnsidGl0bGUiOiJTbG92ZW5pYSIsInNjcmVlbmVyTmFtZSI6InNsb3ZlbmlhIiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9ManVibGphbmEiLCJleGNoYW5nZXNTdG9ja3MiOlsiTEpTRSJdLCJleGNoYW5nZXNGb3JIb3RsaXN0IjpbIkxKU0UiXSwiZGVmYXVsdEV4Y2hhbmdlIjoiTEpTRSIsImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJzbG92ZW5pYS8ifSwidGgiOnsidGl0bGUiOiJUaGFpbGFuZCIsInR2TG9jYWxlIjoidGhfVEgiLCJzY3JlZW5lck5hbWUiOiJ0aGFpbGFuZCIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0Jhbmdrb2siLCJleGNoYW5nZXNTdG9ja3MiOlsiU0VUIl0sImdyb3VwIjoiQXNpYSAvIFBhY2lmaWMiLCJtYXJrZXRSb3V0ZSI6InRoYWlsYW5kLyJ9LCJ0biI6eyJ0aXRsZSI6IlR1bmlzaWEiLCJzY3JlZW5lck5hbWUiOiJ0dW5pc2lhIiwic2NyZWVuZXJUaW1lem9uZSI6IkFmcmljYS9UdW5pcyIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCVk1UIl0sImdyb3VwIjoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLCJtYXJrZXRSb3V0ZSI6InR1bmlzaWEvIn0sInRyIjp7InRpdGxlIjoiVHVya2V5Iiwic2NyZWVuZXJOYW1lIjoidHVya2V5Iiwic2NyZWVuZXJUaW1lem9uZSI6IkV1cm9wZS9Jc3RhbmJ1bCIsImV4Y2hhbmdlc1N0b2NrcyI6WyJCSVNUIl0sImdyb3VwIjoiRXVyb3BlIiwibWFya2V0Um91dGUiOiJ0dXJrZXkvIn0sInR3Ijp7InRpdGxlIjoiVGFpd2FuLCBDaGluYSIsInR2TG9jYWxlIjoiemhfVFciLCJzY3JlZW5lck5hbWUiOiJ0YWl3YW4iLCJzY3JlZW5lclRpbWV6b25lIjoiQXNpYS9UYWlwZWkiLCJleGNoYW5nZXNTdG9ja3MiOlsiVFdTRSIsIlRQRVgiXSwiZ3JvdXAiOiJBc2lhIC8gUGFjaWZpYyIsIm1hcmtldFJvdXRlIjoidGFpd2FuLyJ9LCJnYiI6eyJ0aXRsZSI6IlVuaXRlZCBLaW5nZG9tIiwic2NyZWVuZXJOYW1lIjoidWsiLCJzY3JlZW5lclRpbWV6b25lIjoiRXVyb3BlL0xvbmRvbiIsImRlZmF1bHRFeGNoYW5nZSI6IkxTRSIsImV4Y2hhbmdlc1N0b2NrcyI6WyJMU0UiLCJMU0lOIiwiQVFVSVMiXSwiZ3JvdXAiOiJFdXJvcGUiLCJtYXJrZXRSb3V0ZSI6InVuaXRlZC1raW5nZG9tLyJ9LCJ2ZSI6eyJ0aXRsZSI6IlZlbmV6dWVsYSIsInNjcmVlbmVyTmFtZSI6InZlbmV6dWVsYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBbWVyaWNhL0NhcmFjYXMiLCJleGNoYW5nZXNTdG9ja3MiOlsiQlZDViJdLCJncm91cCI6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsIm1hcmtldFJvdXRlIjoidmVuZXp1ZWxhLyJ9LCJ2biI6eyJ0aXRsZSI6IlZpZXRuYW0iLCJ0dkxvY2FsZSI6InZpX1ZOIiwic2NyZWVuZXJOYW1lIjoidmlldG5hbSIsInNjcmVlbmVyVGltZXpvbmUiOiJBc2lhL0hvX0NoaV9NaW5oIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkhPU0UiLCJITlgiLCJVUENPTSJdLCJncm91cCI6IkFzaWEgLyBQYWNpZmljIiwibWFya2V0Um91dGUiOiJ2aWV0bmFtLyJ9LCJ6YSI6eyJ0aXRsZSI6IlNvdXRoIEFmcmljYSIsInNjcmVlbmVyTmFtZSI6InJzYSIsInNjcmVlbmVyVGltZXpvbmUiOiJBZnJpY2EvSm9oYW5uZXNidXJnIiwiZXhjaGFuZ2VzU3RvY2tzIjpbIkpTRSJdLCJncm91cCI6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIiwibWFya2V0Um91dGUiOiJzb3V0aC1hZnJpY2EvIn0sInd3Ijp7InRpdGxlIjoiV29ybGR3aWRlIiwic2NyZWVuZXJOYW1lIjoiZ2xvYmFsIiwiZXhjaGFuZ2VzU3RvY2tzIjpbXX19JykKfSwxMjc3MTEoZSl7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNtZSI6eyJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo5OTk5OX19LCJib3Zlc3BhIjp7IklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjk5OTk5fX0sInFlY29tcWEiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fSwic2FudGFuZGVyY29tYXIiOnsiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6OTk5OTl9fX0nKX0sNTAyNTg3KGUpeyJ1c2Ugc3RyaWN0Igo7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3siZnJlZSI6eyJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjF9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjF9LCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0IjoyfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0IjoxfSwiSElTVE9SSUNBTF9CQVJTIjp7ImxpbWl0Ijo1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjF9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NTAsImxpbWl0IjozLCJjb21wbGV4X2xpbWl0IjowLCJwcmltaXRpdmVfbGltaXQiOjN9LCJTQ1JFRU5FUl9JTlRFUlZBTFMiOnsiaW50ZXJ2YWwiOlsiMUQiLCIxVyIsIjFNIl19LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjF9LCJTSU1VTFRBTkVPVVNfQ09OTkVDVElPTlMiOnsibGltaXQiOjF9LCJCQUNLRU5EX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoyfSwiSURFQV9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJUd2l0dGVyIiwiWW91dHViZSJdfSwiTVVMVElDT0xPUl9GTEFHR0VEX1NZTUJPTFMiOnsibGltaXQiOjF9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MzB9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjIwfSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6MX0sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjIwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjIwfX0sInBybyI6eyJEUkFXSU5HUyI6e30sIkJBQ0tURVNUSU5HX0NIQVJUX0VYUEFORCI6e30sIkJBQ0tURVNUSU5HX0VYVEVOREVEX01FVFJJQ1MiOnt9LCJCQUNLVEVTVElOR19FWFBPUlRfWExTWCI6e30sIkJBQ0tURVNUSU5HX0VYUE9SVF9DU1YiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6NSwiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBFUlNPTkFMX1NVUFBPUlQiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkNIQVJUX1NUT1JBR0UiOnsibGltaXQiOjV9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjJ9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjIsInByaW1pdGl2ZV9saW1pdCI6Mn0sIkNVU1RPTV9JTlRFUlZBTFMiOnt9LCJNVUxUSVBMRV9XQVRDSExJU1RTIjp7fSwiSU1QT1JUX1dBVENITElTVFMiOnt9LCJFWFBPUlRfV0FUQ0hMSVNUUyI6e30sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjV9LCJGVU5EQU1FTlRBTFNfRk9SRUNBU1QiOnt9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjR9LCJUVl9QUk9TVFVESUVTIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LWNoYXJ0cGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MTB9LCJUVl9WT0xVTUVCWVBSSUNFIjp7InN0dWR5X3BhY2thZ2VzIjpbInR2LXZvbHVtZWJ5cHJpY2UiXX0sIlNUVURZX09OX1NUVURZIjp7ImxpbWl0Ijo4MDAsImNoaWxkX2xpbWl0IjoxfSwiVElDS19CWV9USUNLX1BVU0hfREFUQSI6e30sIlNFUlZFUl9TSURFX0FMRVJUUyI6eyJvdmVyYWxsX2xpbWl0IjoyMDAwLCJsaW1pdCI6MjAsImNvbXBsZXhfbGltaXQiOjIwLCJwcmltaXRpdmVfbGltaXQiOjIwfSwiU0NSRUVORVJfQVVUT19SRUZSRVNIIjp7fSwiU0NSRUVORVJfTkVXX0FVVE9fUkVGUkVTSCI6e30sIlNDUkVFTkVSX05FV19FWFBPUlRfQ1NWX0RBVEEiOnt9LCJTQ1JFRU5FUl9ORVdfU0hPV19SRVNUUklDVEVEX0RBVEEiOnt9LCJTSE9XX0JPTkRTX1JFU1RSSUNURURfREFUQSI6e30sIlBPUlRGT0xJT19EQVRBX0xJTUlUIjp7fSwiQ1JFQVRFX01PUkVfUE9SVEZPTElPUyI6eyJsaW1pdCI6M30sIlBPUlRGT0xJT19UUkFOU0FDVElPTlMiOnsibGltaXQiOjUwMDB9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjUwfSwiU0NSRUVORVJfSU5URVJWQUxTIjp7ImludGVydmFsIjpbIjFtIiwiNW0iLCIxNW0iLCIzMG0iLCIxaCIsIjJoIiwiNGgiLCIxRCIsIjFXIiwiMU0iXX0sIk5PX1NQT05TT1JFRF9BRFMiOnsiZGlzYWJsZV9vbl9saXRlX3BsYW4iOiJleGNsdWRlX21vYmlsZSJ9LCJTVFVEWV9URU1QTEFURVMiOnsibGltaXQiOjk5OTk5fSwiU0lNVUxUQU5FT1VTX0NPTk5FQ1RJT05TIjp7ImxpbWl0IjoxfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MTB9LCJJRENfQVZBSUxBQkxFX0RFTEFZIjp7fSwiU1RBVFVTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJCQVJfUkVQTEFZX0lOVFJBREFZIjp7ImxpbWl0IjoxfSwiTVVMVElGTEFHR0VEX1NZTUJPTFNfTElTVFMiOnt9LCJTSE9XUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQUxFUlRTX1dFQkhPT0siOnt9LCJBTEVSVFNfT05fRUFSTklOR1MiOnt9LCJBTEVSVFNfT05fRlVOREFNRU5UQUxfTUVUUklDUyI6e30sIkRFRVBfRlVOREFNRU5UQUxTX0hJU1RPUlkiOnt9LCJQVUJMSVNIX1BST1RFQ1RFRF9TQ1JJUFRTIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJJREVBX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIlR3aXR0ZXIiLCJZb3V0dWJlIl19LCJFWFRFTkRFRF9TT0NJQUxfTElOS1MiOnsic29jaWFscyI6WyJGYWNlYm9vayIsIkluc3RhZ3JhbSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiTVVMVElfTU9OSVRPUiI6e30sIk1VTFRJQ09MT1JfRkxBR0dFRF9TWU1CT0xTIjp7ImxpbWl0Ijo3fSwiSU5UUkFEQVlfRVhDSEFOR0UiOnt9LCJWT0xVTUVfUFJPRklMRSI6e30sIlNUUkVBTVNfQUNDRVNTIjp7ImZvbGxvd2VycyI6MTB9LCJTTVNfMkZBX1ZFUklGSUNBVElPTiI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU09DSUFMX0FDVElWSVRZIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJXQVRDSExJU1RfU1lNQk9MUyI6eyJsaW1pdCI6MTAwMH0sIkZJRUxEU19QRVJNSVNTSU9OUyI6eyJpdGVtcyI6WyJyZWZib25kcyJdfSwiQ1VTVE9NX1JBTkdFX0JBUlMiOnt9LCJGQVNURVNUX0RBVEFfRkxPVyI6e30sIlNFU1NJT05fVk9MVU1FX1BST0ZJTEUiOnt9LCJTSE9XX0VURl9IT0xESU5HU19EQVRBIjp7fX0sInByb19yZWFsdGltZSI6eyJleHRlbmRzIjoicHJvIiwiQ0hBUlRfU1RPUkFHRSI6eyJsaW1pdCI6MTB9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjR9LCJNQVJLRVRfREFUQV9MSU1JVFMiOnsibGltaXQiOjQsInByaW1pdGl2ZV9saW1pdCI6NH0sIklORElDQVRPUlNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxTX09OX0NIQVJUIjp7ImxpbWl0Ijo3fSwiVFZfUFJPU1RVRElFUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1wcm9zdHVkaWVzIiwidHYtY2hhcnRwYXR0ZXJucyJdfSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjl9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjEwMCwiY29tcGxleF9saW1pdCI6MTAwLCJwcmltaXRpdmVfbGltaXQiOjEwMH0sIkFMRVJUU19NVUxUSUNPTkRJVElPTlMiOnsiY29uZGl0aW9uX2xpbWl0Ijo1fSwiQ0hBVF9BU1NJU1RBTlQiOnsibGltaXQiOjUsImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDQU5fRURJVF9QVUJMSUNfQ0hBVFMiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjIwfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJDVVNUT01fRk9STVVMQVMiOnt9LCJJTlRSQURBWV9FWE9USUNfQ0hBUlRTIjp7fSwiS0FHSV9SRU5LTyI6e30sIklOVFJBREFZX1NQUkVBRCI6e30sIkNVU1RPTV9DSEFUUyI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjR9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjc1fX0sInByb19wcmVtaXVtIjp7ImV4dGVuZHMiOiJwcm9fcmVhbHRpbWUiLCJCQVJfREVUQUxJWkFUSU9OIjp7fSwiU0NSSVBUX0VYRUNVVElPTl9PTl9ISVNUT1JZX0JBUlMiOnt9LCJDSEFSVF9TVE9SQUdFIjp7ImxpbWl0Ijo5OTk5OX0sIk1VTFRJUExFX0NIQVJUUyI6eyJsaW1pdCI6OH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6NiwicHJpbWl0aXZlX2xpbWl0Ijo2fSwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjEwfSwiRlVOREFNRU5UQUxfR1JBUEhTX0xBUkdFX1RJTUVfUkFOR0UiOnt9LCJDSEFUX0FTU0lTVEFOVCI6eyJsaW1pdCI6OTk5OTksImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJDSEFSVF9QQVRURVJOUyI6eyJzdHVkeV9wYWNrYWdlcyI6WyJ0di1jaGFydHBhdHRlcm5zIiwidHYtY2hhcnRfcGF0dGVybnMiXX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6MjB9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6MjR9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6MjAwMCwibGltaXQiOjQwMCwiY29tcGxleF9saW1pdCI6NDAwLCJwcmltaXRpdmVfbGltaXQiOjQwMCwid2F0Y2hsaXN0X2xpbWl0IjoyLCJvdmVyYWxsX3dhdGNobGlzdF9saW1pdCI6NX0sIlNJTVVMVEFORU9VU19DT05ORUNUSU9OUyI6eyJsaW1pdCI6Mn0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjUwfSwiSURFQV9TSUdOQVRVUkUiOnsiZGlzYWJsZV9vbl90cmlhbCI6dHJ1ZX0sIlBST0ZJTEVfV0VCU0lURV9GSUVMRCI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6NH0sIkJBUl9SRVBMQVlfMVMiOnt9LCJBTEVSVFNfTk9fRVhQSVJBVElPTiI6e30sIlBVQkxJU0hfSU5WSVRFX09OTFlfU0NSSVBUUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiRVhQT1JUX0NIQVJUX0RBVEEiOnt9LCJERUVQX0hJU1RPUllfQkFDS1RFU1QiOnt9LCJBTEVSVFNfT05fU0VDT05EUyI6e30sIlBFUk1BTkVOVF9TVFJFQU1fUkVDT1JEUyI6e30sIkVYVEVOREVEX1NPQ0lBTF9MSU5LUyI6eyJzb2NpYWxzIjpbIkZhY2Vib29rIiwiSW5zdGFncmFtIiwiV2Vic2l0ZSJdLCJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfSwiU0VDT05EU19JTlRFUlZBTFMiOnt9LCJUUE9fUEVSSU9ESUMiOnsic3R1ZHlfcGFja2FnZXMiOlsidHYtdm9sdW1lYnlwcmljZSJdfSwiVFBPX0NIQVJUX1NUWUxFIjp7fSwiVk9MVU1FX0NBTkRMRVMiOnt9LCJWSURFT19JREVBU19MRU5HVEgiOnsibGltaXQiOjYwfSwiVk9MVU1FX0ZPT1RQUklOVCI6e30sIlBJTkVfU0NSRUVORVIiOnt9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo1fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxMDB9LCJTT0NJQUxfVFJVU1RFRF9VU0VSIjp7ImRpc2FibGVfb25fdHJpYWwiOnRydWV9LCJGT0xMT1dFUlNfT05MWV9NSU5EUyI6eyJkaXNhYmxlX29uX3RyaWFsIjp0cnVlfX0sInByb19leHBlcnQiOnsiZXh0ZW5kcyI6InByb19wcmVtaXVtIiwiSU5ESUNBVE9SU19PTl9DSEFSVCI6eyJsaW1pdCI6MzB9LCJGVU5EQU1FTlRBTFNfT05fQ0hBUlQiOnsibGltaXQiOjE1fSwiU1RVRFlfT05fU1RVRFkiOnsibGltaXQiOjgwMCwiY2hpbGRfbGltaXQiOjI5fSwiTVVMVElQTEVfQ0hBUlRTIjp7ImxpbWl0IjoxMH0sIk1BUktFVF9EQVRBX0xJTUlUUyI6eyJsaW1pdCI6MTIsInByaW1pdGl2ZV9saW1pdCI6MTJ9LCJISVNUT1JJQ0FMX0JBUlMiOnsibGltaXQiOjI1fSwiU0VSVkVSX1NJREVfQUxFUlRTIjp7Im92ZXJhbGxfbGltaXQiOjIwMDAsImxpbWl0Ijo2MDAsImNvbXBsZXhfbGltaXQiOjYwMCwicHJpbWl0aXZlX2xpbWl0Ijo2MDAsIndhdGNobGlzdF9saW1pdCI6MTAsIm92ZXJhbGxfd2F0Y2hsaXN0X2xpbWl0IjoyMH0sIkJBQ0tFTkRfQ09OTkVDVElPTlMiOnsibGltaXQiOjgwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6Nn0sIkJBUl9SRVBMQVlfMVMiOnt9LCJCQVJfUkVQTEFZXzFUIjp7fSwiRVhQT1JUX0ZJTkFOQ0lBTFNfREFUQSI6e30sIlRJQ0tfSU5URVJWQUxTIjp7fSwiRklSU1RfUFJJT1JJVFlfU1VQUE9SVCI6e30sIkJVWV9QUk9fREFUQSI6e30sIkNSRUFURV9NT1JFX1BPUlRGT0xJT1MiOnsibGltaXQiOjZ9LCJQT1JURk9MSU9fSE9MRElOR1MiOnsibGltaXQiOjEyNX19LCJwcm9fcHJlbWl1bV9leHBlcnQiOnsiZXh0ZW5kcyI6InByb19leHBlcnQiLCJJTkRJQ0FUT1JTX09OX0NIQVJUIjp7ImxpbWl0Ijo1MH0sIkZVTkRBTUVOVEFMU19PTl9DSEFSVCI6eyJsaW1pdCI6MjV9LCJTVFVEWV9PTl9TVFVEWSI6eyJsaW1pdCI6ODAwLCJjaGlsZF9saW1pdCI6NDl9LCJNVUxUSVBMRV9DSEFSVFMiOnsibGltaXQiOjE2fSwiTUFSS0VUX0RBVEFfTElNSVRTIjp7ImxpbWl0Ijo5OTk5OSwicHJpbWl0aXZlX2xpbWl0IjoyNX0sIkhJU1RPUklDQUxfQkFSUyI6eyJsaW1pdCI6NDB9LCJTRVJWRVJfU0lERV9BTEVSVFMiOnsib3ZlcmFsbF9saW1pdCI6NDAwMCwibGltaXQiOjEwMDAsImNvbXBsZXhfbGltaXQiOjEwMDAsInByaW1pdGl2ZV9saW1pdCI6MTAwMCwid2F0Y2hsaXN0X2xpbWl0IjoxNSwib3ZlcmFsbF93YXRjaGxpc3RfbGltaXQiOjMwfSwiQkFDS0VORF9DT05ORUNUSU9OUyI6eyJsaW1pdCI6MjAwfSwiQkFSX1JFUExBWV9JTlRSQURBWSI6eyJsaW1pdCI6MTB9LCJDUkVBVEVfTU9SRV9QT1JURk9MSU9TIjp7ImxpbWl0Ijo3fSwiUE9SVEZPTElPX0hPTERJTkdTIjp7ImxpbWl0IjoxNTB9fX0nKQp9LDM4OTk5NChlKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ1sidXMiLCJhZSIsImFyIiwiYXQiLCJhdSIsImJkIiwiYmUiLCJiZyIsImJoIiwiYnIiLCJjYSIsImNoIiwiY2wiLCJjbiIsImNvIiwiaHIiLCJjeSIsImN6IiwiZGUiLCJkayIsImVlIiwiZWciLCJlcyIsImZpIiwiZnIiLCJnciIsImhrIiwiaHUiLCJpZCIsImllIiwiaWwiLCJpbiIsImlzIiwiaXQiLCJqcCIsImtlIiwia3IiLCJrdyIsImxrIiwibHQiLCJsdiIsImx1IiwibXgiLCJtYSIsIm15IiwibmciLCJubCIsIm5vIiwibnoiLCJwZSIsInBoIiwicGsiLCJwbCIsInB0IiwicWEiLCJycyIsInJ1Iiwicm8iLCJzYSIsInNlIiwic2ciLCJzaSIsInNrIiwidGgiLCJ0biIsInRyIiwidHciLCJnYiIsInZlIiwidm4iLCJ6YSJdJyl9fSxlPT57ZS5PKDAsWzQ2MDI0LDg0MzA2LDQ2OTA3LDk0MjMyLDMyODE2LDE3MDg3LDQzMzI1LDM5MDUsMzU3OTQsMTU5MzIsNTQ2ODEsNTE1MDgsNDk1MTgsMzI2MzIsMTU2MzQsNzUzMDQsNTIwOTUsMzgwMDIsNDQwMzEsNDM3OTIsNzAzNjQsOTQ4OCwzNzg2Nyw2MjY4MSwzMDIwMCwzMTM5NiwzMjM4NywxMzE0OCw0OTI2NSw3NTA0LDk5ODI3LDM2MTY2LDc2NTc3LDY1ODYyLDgwMjA3LDEyMTgxLDYxNDk1LDMwMjg4XSwoKCk9PntyZXR1cm4gdD04MzIzOTIsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/si.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.050Z","timestamp":1785136422050,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/si.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 1298\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":1298,"size_decoded":1639,"mime_type":"image/png","magic":"PNG image data, 19 x 26, 8-bit/color RGBA, non-interlaced","md5":"a76dc9240fc513b598e7f0e048a0c5a8","sha1":"a39d3abac1e5d9748dd9b1a3875d731b1209d4e2","sha256":"4045b98dbd8d35d1773e0314ebb4790129208090ffcff89179f6f7c3046ab746","sha512":"c765da9c4715ad80531d9f9799c7aa4ed22ba7c13f43de091b8461a6ebae68e42c44bfdd97358d0614d20b986c98d43c6f84b8f4989099e437ffccdf6f331c71","ssdeep":"","tlshash":"f321c8b1f68def38d4f206a3d8c312b4916b835d0a0df3cdad6b802304e0e29a289407","first_seen":"2025-12-03T04:46:43.721268Z","last_seen":"2026-07-29T06:14:00.351513Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAABMAAAAaCAYAAABVX2cEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABLRJREFUeNp0VUtvHEUQrn7My/uyvbaxHQej4AgljnOOEIhTJCRygQNHOPALOHLnwg2Ja/5DbggJcUEIIQERDqAEybKzsfx27OzO7s6jX3w9uzG2HFqarZ6erq/6+6qql33+1Zf0criRicm5O7AfMsa8fcs5JzD3nzcw/w32AeyPsAM6N+T5Fzi0YG7i+cAY/Z7RpoF5D+sKzgHmk0KId7iUCmsF3tcR+PkrwSog5z4xxnxc5HmSD/PvOGc/yzA81aWqW2vvREl8L4rjT4WU0wC8D58fzoExnKii2ED0u6oo7vXTtFvm+QPGxLdhFPztrB3iW6TKchNBDsM4er/WaNyNomibc/4IOP50Vo6UYhF+rumieHeQpkvdk9NvrDFf1xutTSkkcUSTQlDpaGOQ9n/JhoMeGHzBm823oyTxsjxEsFRaawjobevcapbnk/20v6u0/jUkth2Xiia4JBYIcsqQLTXhiEeltuuDfn9TBkENEqwh1ra1ADNZTlaIlmV0LcuyOM+yHVmqLduoqf3XmiQaNRLOkYGHSQOSe4qCdPCsoHwrj/MF6LfCnZtyxpK0/QzKCa7BB8JDQbJJpoLnsyE9WV2kdK5F8aCgbCKi5mGXbrzoUftIiUEocUBDZV6EUhtO2pB8fHWK6v3czBx08+Sk1yu5Gx4tzxWd1SXan2+RasZEISdKQhrCRLdeBxOet456vdpxrwf2Ofbpfj0h/ujmIm0ttMqhNSfhsNxxUXjYub2sO7euVsLH3YwmCk0JrH9/ivWt28vWxeFJkJW7ubWHncWp4i+wkEUoqNtKup03ZjrNZvxT2oh1OlUnw/kSI0vM2lHCoZvjnIzghO9y7835h/3ZYSNt1Z/B/xRkiU19f/+6MPaKLNRKqPSE5cwMQSmPJTk4ehzugbyaNAKNC80mstLBTygpMhWGHRPwXanj4DPFaJUa8RXmnKy2O18t8PZgYeATRMwnp1BIjyUlJfVqicFW5hhp7DxG6f8jlTEfOc6uWwlHgSWwEnAQGhNkiA0LcpgzfHMA9cNTNRzv0BC/xJWXg26gNIaTNF5nYyoeVGsQVJrE3gmx45TsVI3M4jTSGVT0vZa+Db0OrsTEsES6UoVUNagbdxZkTyJi6ZDE1gHxP58SO+iSazfIri2TXZknN10nQneAIAICCGDOMOl7E1VLLXI0Utk3Pehw6CO2j0g82SF2BLDJOrlmQm5pGh0NDa0Hwd4cVnsnVly8ghidZcyLTxO4J2N0KfdzJKIOEhx9WmCjr2B/oxm/n42vIMYu3mheOWSO4oDM1RniS204on8X22QXZqEXLpg+9lUn8nUzfl5xOVanYsiew01hZ6FTu0bci95EITcmyeoAwZBpO2bC/ufaPg9Y1Ria22ev0lGEZHns6+KyLOPBzy2xC5s8YGlQY66qG+drqRi3lrh8Kv/mT1a/FMn4GoMtPdU5Mmsol/ZM1QlVEN+vl0dNjv+u4rNT+n2+YAvQLCWZedTV3AxZ5ntVjqrUuAuijJ/cA/yBZ7/i4gsQSy7jo/R7VhJZjWtISHBJozM+3L3AdfzYh/qdXubGsCYAiwrUjM/qGwNfmfvvX/rc8H9EKTw38Kz/K8AArD9hHi4EfnkAAAAASUVORK5CYII="}},"time_used":1939,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1939,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/95244.9da889c136d2506a3d81.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.754Z","timestamp":1785136427754,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/95244.9da889c136d2506a3d81.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-93db\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: afdd4951808eb093ae000acda9bc1cc2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":37851,"size_decoded":12352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3061)","md5":"b0a9dc3ad75e03716e75c6158c6665eb","sha1":"cc52478acf48fcf65d13e1af2f686a604445c191","sha256":"4c5253886cb97a3488ee3431d937a5bb8ba43a1d9e958f64a58c74058ee89d79","sha512":"40b53df94ba71d18618cbe094f77f3272fb81b6d85327e7180dc360e098dd978c5a43d011cd4d7d200c9e4960019921ca1ae6049edfcd9c72b60d66665a07806","ssdeep":"768:CY0sz5iGWN4Y9mdwv5ltpbE6n6GVfW5tXlGh2rIT1E1ab2IX73BMuLXggXUDvHLA:ZiwihpQehg5tXlGAS1E1yVzPIpsh","tlshash":"c203e775f2b2707122aa4093c8bb015387ae05fb5045112cf76dd5de2b6dc59fa3ab38","first_seen":"2026-07-23T13:54:09.077158Z","last_seen":"2026-07-28T06:17:53.340954Z","times_seen":309,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTUyNDRdLHs3NjI4NTEoZSx0LHMpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUrIuKApiJ9cy5kKHQse2FwcGVuZEVsbGlwc2lzOigpPT5ufSl9LDk1MjkwMChlLHQscyl7cy5kKHQse2FjY3VtdWxhdGU6KCk9PmEsYWNjdW11bGF0ZURlZmVycmVkOigpPT5sLGNvbWJpbmU6KCk9Pm8sY29tYmluZVdpdGhGaWx0ZXJlZFVwZGF0ZTooKT0+cn0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCwuLi5zKXtsZXQgaT1udWxsO2NvbnN0IHI9KC4uLnQpPT5lKC4uLnQubWFwKChlPT5lLnZhbHVlKCkpKSxpPy52YWx1ZSgpKSxvPWk9bmV3IG4uV2F0Y2hlZFZhbHVlKHIoLi4ucykpLGE9KCk9Pntjb25zdCBlPXMubWFwKCgoZSx0KT0+ZS52YWx1ZSgpKSk7dCguLi5lKSYmby5zZXRWYWx1ZShyKC4uLnMpKX0sbD1zLm1hcCgoZT0+ZS5zcGF3bigpKSk7Zm9yKGNvbnN0IGUgb2YgbCllLnN1YnNjcmliZShhKTtyZXR1cm4gby5yZWFkb25seSgpLnNwYXduKCgoKT0+e2wuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxzLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSl9KSl9ZnVuY3Rpb24gcihlLHQsLi4ucyl7cmV0dXJuIGkoZSx0LC4uLnMpfWZ1bmN0aW9uIG8oZSwuLi50KXtyZXR1cm4gaShlLCgoKT0+ITApLC4uLnQpfWZ1bmN0aW9uIGEoZSx0LC4uLnMpe2xldCBpPW51bGw7Y29uc3Qgcj1vKCgoLi4uZSk9PihlLnNwbGljZSgtMSksZSkpLC4uLnMpLGE9dC5zcGF3bigpLGw9KHQsLi4ucyk9Pntjb25zdCBuPXQubWFwKChlPT5lLnZhbHVlKCkpKTtyZXR1cm4gZShuLC4uLnMsaT8udmFsdWUoKSl9LHU9aT1uZXcgbi5XYXRjaGVkVmFsdWUobChhLnZhbHVlKCksLi4uci52YWx1ZSgpKSk7bGV0IGM9W107Y29uc3QgaD0oKT0+e3Uuc2V0VmFsdWUobChjLC4uLnIudmFsdWUoKSkpfSxkPWU9PntjLmZvckVhY2goKGU9PmUuZGVzb3koKSkpLGM9ZS5tYXAoKGU9PmUuc3Bhd24oKSkpLGMuZm9yRWFjaCgoZT0+ZS5zdWJzY3JpYmUoaCkpKSxoKCl9O2QoYS52YWx1ZSgpKSxhLnN1YnNjcmliZShkKSxyLnN1YnNjcmliZShoKTtyZXR1cm4gdS5yZWFkb25seSgpLnNwYXduKCgoKT0+e2MuZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxhLmRlc3Ryb3koKSxyLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX1mdW5jdGlvbiBsKGUsdCwuLi5zKXtsZXQgaT1udWxsLHI9bnVsbDtjb25zdCBhPW8oKCguLi5lKT0+KGUuc3BsaWNlKC0xKSxlKSksLi4ucyksbD10LnNwYXduKCksdT0odCwuLi5zKT0+e2NvbnN0IG49dC5tYXAoKGU9PmUudmFsdWUoKSkpO3JldHVybiBlKG4sLi4ucyxpPy52YWx1ZSgpKX0sYz1pPW5ldyBuLldhdGNoZWRWYWx1ZSh1KGwudmFsdWUoKSwuLi5hLnZhbHVlKCkpKTtsZXQgaD1bXTtjb25zdCBkPWU9PnNldFRpbWVvdXQoZSwwKSx5PSgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLHI9ZCgoKCk9Pntjb25zdCBlPXUoaCwuLi5hLnZhbHVlKCkpO3I9ZCgoKCk9PntjLnNldFZhbHVlKGUpfSkpfSkpfSxiPWU9PntoLmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSksaD1lLm1hcCgoZT0+ZS5zcGF3bigpKSksaC5mb3JFYWNoKChlPT5lLnN1YnNjcmliZSh5KSkpLHkoKX07YihsLnZhbHVlKCkpLGwuc3Vic2NyaWJlKGIpLGEuc3Vic2NyaWJlKHkpO3JldHVybiBjLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT57ciYmY2xlYXJUaW1lb3V0KHIpLGguZm9yRWFjaCgoZT0+ZS5kZXN0cm95KCkpKSxsLmRlc3Ryb3koKSxhLmRlc3Ryb3koKSx0LnJlbGVhc2UoKX0pKX19LDI0MTk1NihlLHQscyl7cy5kKHQse2NyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbjooKT0+aX0pO3ZhciBuPXMoMjMyMzY0KTtmdW5jdGlvbiBpKGUsdCl7Y29uc3Qgcz1uZXcgbi5XYXRjaGVkVmFsdWUoZSgpKSxpPXt9O3Quc3Vic2NyaWJlKGksKCgpPT57cy5zZXRWYWx1ZShlKHMudmFsdWUoKSkpfSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LnVuc3Vic2NyaWJlQWxsKGkpKSl9fSw4NTI5ODAoZSx0LHMpe2Z1bmN0aW9uIG4oZSx0LHMsbixpKXtjb25zdHtwYXlBdHRlbnRpb25Ub1RpY2tlck5vdFN5bWJvbDpyLHVzZVRpY2tlck9uU3ltYm9sSW5mb1VwZGF0ZTpvLGNoYXJ0aW5nTGlicmFyeVNpbmdsZVN5bWJvbFJlcXVlc3Q6YSx1cHBlcmNhc2VJbnN0cnVtZW50TmFtZXM6bH09ZTtsZXQgdT10JiYobiYmdC5wcm9fbmFtZXx8dC5mdWxsX25hbWV8fHQubmFtZSk7cmV0dXJuIGEmJnM/dT1zOihvfHwhaSYmcikmJnQmJnQudGlja2VyJiYodT10LnRpY2tlciksbCYmdSYmKHU9dS50b1VwcGVyQ2FzZSgpKSx1fXMuZCh0LHtleHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvOigpPT5ufSl9LDU5NjcwNihlLHQscyl7cy5kKHQse2lzQ0ZEU3ltYm9sOigpPT5uLGlzQ3J5cHRvU3ltYm9sOigpPT5yLGlzSGlwM1N5bWJvbDooKT0+byxpc1N0b2NrU3ltYm9sOigpPT5pfSk7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBCb29sZWFuKHQ/LmluY2x1ZGVzKCJjZmQiKSkmJlsiY29tbW9kaXR5IiwiZnV0dXJlcyIsImluZGV4Iiwic3RvY2siLCJmdW5kIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gaShlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ2b2lkIDAhPT10JiYhdC5pbmNsdWRlcygiY2ZkIikmJiF0LmluY2x1ZGVzKCJuZGYiKX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJjcnlwdG8iKX1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT1lJiZlLmluY2x1ZGVzKCJoaXAzIil9fSwyMjUyOTgoZSx0LHMpe3MuZCh0LHtsaW5raW5nOigpPT5XfSk7dmFyIG49cyg1NDc4NTEpLGk9cygxMzg2MzgpLHI9cygyMjEwNjEpLG89KHMoOTMwMjMxKSxzKDIzMjM2NCkpLGE9cygyNTQ2NzMpLGw9cygxMjg5OTgpLHU9cyg5NTI5MDApLGM9cygyNDE5NTYpO3ZhciBoPXMoOTMwNTY2KSxkPXMoNjMxNjM0KSx5PXMoNzk4MzgpLGI9cyg3Nzg5NDYpLG09cyg3NzQ1MDcpLHA9cygzNjIyMzkpCjt2YXIgUz1zKDM4MzM1MSksXz1zKDcwMTUwNiksZz1zKDY4Mjc3OSksdj1zKDIwOTM5KTtjb25zdCB3PSgwLHIuZ2V0TG9nZ2VyKSgiTGlua2luZyIpO3ZhciBmLEM7IWZ1bmN0aW9uKGUpe2VbZS5Ob3RCb3VuZD0wXT0iTm90Qm91bmQiLGVbZS5Cb3VuZFRvV2lkZ2V0PTFdPSJCb3VuZFRvV2lkZ2V0IixlW2UuQm91bmRUb01vZGVsPTJdPSJCb3VuZFRvTW9kZWwifShmfHwoZj17fSkpLGZ1bmN0aW9uKGUpe2VbZS5TeW1ib2w9MF09IlN5bWJvbCIsZVtlLlJlc29sdXRpb249MV09IlJlc29sdXRpb24ifShDfHwoQz17fSkpO2NsYXNzIGt7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMud2F0Y2hlZFN5bWJvbHM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLndhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuc2VyaWVzU2hvcnRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMucHJvU3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLmVuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZEludGVydmFsPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRJbnRyYWRheT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkVGlja3M9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLndhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnM9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLnN5bWJvbE5hbWVzTGlzdD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uPW51bGwsdGhpcy5fY2hhcnRXaWRnZXRCaW5kaW5nU3RhdGU9MCx0aGlzLl9hY3RpdmVDaGFydFdpZGdldD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cz1udWxsLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZD10aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXIuYmluZCh0aGlzKSx0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kPXRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyLmJpbmQodGhpcyksdGhpcy5fc2V0R3JvdXBTeW1ib2xDYW5jZWxsYXRpb25Ub2tlbj17Y2FuY2VsbGVkOiExfSx0aGlzLl9tdXRlZD0hMSx0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQ9KCk9Pntjb25zdCBlPXRoaXMuX2NoYXJ0VG9CaW5kKCk7ZSE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJihudWxsPT09ZT90aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpOnRoaXMuYmluZFRvQ2hhcnRXaWRnZXQoZSkpfSx0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cz0oKT0+e3RoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz8uKCk7Y29uc3QgZT0oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKSx0PVtdLHM9W107Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLnN5bWJvbFdWKCkuc3Bhd24oKSxpPW4ucmVzb2x1dGlvbldWKCkuc3Bhd24oKTtlLnN1YnNjcmliZSh0aGlzLl91cGRhdGVTeW1ib2xCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksaS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlSW50ZXJ2YWxCeVByb3BlcnR5LmJpbmQodGhpcyxuKSksdC5wdXNoKGUpLHMucHVzaChpKX10aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM9KCk9Pnt0LmZvckVhY2goKGU9PmUuZGVzdHJveSgpKSkscy5mb3JFYWNoKChlPT5lLmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lTeW1ib2xJbnRlcnZhbFByb3BlcnR5U3Vic2NyaXB0aW9ucz12b2lkIDB9O2NvbnN0IG49dGhpcy53YXRjaGVkU3ltYm9sLnZhbHVlKCk7ZS5sZW5ndGg+MSYmdGhpcy5fbmVlZEFwcGx5U3ltYm9sKG4pJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwU3ltYm9sKG4pO2NvbnN0IHI9dGhpcy53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKTtlLmxlbmd0aD4xJiZ0aGlzLl9uZWVkQXBwbHlJbnRlcnZhbChyKSYmIXRoaXMuX211dGVkJiZ0aGlzLl9zZXRHcm91cEludGVydmFsKHIpLHRoaXMudXBkYXRlQm91bmRDaGFydFdpZGdldCgpfSx0aGlzLl9ncm91cEluZGV4PWU7Y29uc3Qgbj0oZSx0KT0+e2Uuc3Vic2NyaWJlKChlPT57cygpPT09dGhpcyYmdC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX07bih0aGlzLndhdGNoZWRTeW1ib2xzLHQud2F0Y2hlZFN5bWJvbHMpLG4odGhpcy53YXRjaGVkU3ltYm9sLHQud2F0Y2hlZFN5bWJvbCksbih0aGlzLnNlcmllc1Nob3J0U3ltYm9sLHQuc2VyaWVzU2hvcnRTeW1ib2wpLG4odGhpcy5wcm9TeW1ib2wsdC5wcm9TeW1ib2wpLG4odGhpcy5lbnN1cmVkUHJvU3ltYm9sLHQuZW5zdXJlZFByb1N5bWJvbCksbih0aGlzLndhdGNoZWRJbnRlcnZhbCx0LndhdGNoZWRJbnRlcnZhbCksbih0aGlzLndhdGNoZWRJbnRyYWRheSx0LndhdGNoZWRJbnRyYWRheSksbih0aGlzLndhdGNoZWRTZWNvbmRzLHQud2F0Y2hlZFNlY29uZHMpLG4odGhpcy53YXRjaGVkVGlja3MsdC53YXRjaGVkVGlja3MpLG4odGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sdC53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pLG4odGhpcy53YXRjaGVkUmFuZ2UsdC53YXRjaGVkUmFuZ2UpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsdC53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMpLG4odGhpcy53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsdC53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpLG4odGhpcy5zeW1ib2xOYW1lc0xpc3QsdC5zeW1ib2xOYW1lc0xpc3QpLHRoaXMud2F0Y2hlZFN5bWJvbC5zdWJzY3JpYmUoKGU9PnsKdGhpcy5fYm91bmRDaGFydFdpZGdldCYmdGhpcy5fYm91bmRDaGFydFdpZGdldC5oYXNNb2RlbCgpJiZ0aGlzLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHx0aGlzLnByb1N5bWJvbC5zZXRWYWx1ZShlKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1tdXRlKGUpe3RoaXMuX211dGVkPWV9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0PWUuYWN0aXZlQ2hhcnRXaWRnZXQuc3Bhd24oKSx0aGlzLl9hY3RpdmVDaGFydFdpZGdldC5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9ZS5saW5raW5nR3JvdXBzQ2hhcnRzKHRoaXMuX2dyb3VwSW5kZXgpLnNwYXduKCksdGhpcy5fbGlua2luZ0dyb3VwQ2hhcnRzLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGxHcm91cENoYXJ0V2lkZ2V0cyksdGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KCksdGhpcy5fdXBkYXRlQWxsR3JvdXBDaGFydFdpZGdldHMoKTtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KDAsdS5jb21iaW5lKSgoKCk9PmUuZ2V0QWxsKCkuZmlsdGVyKChlPT5lLmlzVmlzaWJsZSgpJiZlLmhhc01vZGVsKCkpKS5tYXAoKGU9PigwLGMuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PmUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sKCkpLGUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sUmVzb2x2ZWQoKSkub3duZXJzaGlwKCkpKSksZS5jaGFydE1vZGVscygpLndlYWtSZWZlcmVuY2UoKSxlLmxheW91dC53ZWFrUmVmZXJlbmNlKCkpO3JldHVybigwLHUuYWNjdW11bGF0ZSkoKGU9PmUpLHQub3duZXJzaGlwKCkpfShlKTt0LnN1YnNjcmliZSgoZT0+e3RoaXMud2F0Y2hlZFN5bWJvbHMuc2V0VmFsdWUoZSl9KSksdGhpcy53YXRjaGVkU3ltYm9scy5zZXRWYWx1ZSh0LnZhbHVlKCkpfXVuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXt0aGlzLnVuYmluZEZyb21DaGFydFdpZGdldCgpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX2FjdGl2ZUNoYXJ0V2lkZ2V0Py5kZXN0cm95KCksdGhpcy5fYWN0aXZlQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM/LmRlc3Ryb3koKSx0aGlzLl9saW5raW5nR3JvdXBDaGFydHM9bnVsbCx0aGlzLl9kZXN0cm95U3ltYm9sSW50ZXJ2YWxQcm9wZXJ0eVN1YnNjcmlwdGlvbnM/LigpfWJpbmRUb0NoYXJ0V2lkZ2V0KGUpe2lmKHRoaXMudW5iaW5kRnJvbUNoYXJ0V2lkZ2V0KCksdGhpcy5fYm91bmRDaGFydFdpZGdldD1lLGUuaGFzTW9kZWwoKSlyZXR1cm4gdm9pZCB0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkKGUubW9kZWwoKSk7ZS5tb2RlbENyZWF0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkNoYXJ0TW9kZWxDcmVhdGVkLCEwKSx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0xO2NvbnN0IHQ9ZS5tYWluU2VyaWVzUHJvcGVydGllcygpLmNoaWxkcygpO3RoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0LnN5bWJvbC52YWx1ZSgpKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0LmludGVydmFsLnZhbHVlKCkpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS5zdWJzY3JpYmUodGhpcy51cGRhdGVCb3VuZENoYXJ0V2lkZ2V0KX11bmJpbmRGcm9tQ2hhcnRXaWRnZXQoKXtjb25zdCBlPXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ7aWYobnVsbCE9PWUpe3N3aXRjaCh0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZSl7Y2FzZSAxOmUubW9kZWxDcmVhdGVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7YnJlYWs7Y2FzZSAyOnRoaXMud2F0Y2hlZFN5bWJvbC51bnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD10aGlzLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHQuc3ltYm9sRXJyb3IoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMud2F0Y2hlZEludGVydmFsLnVuc3Vic2NyaWJlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbExpc3RlbmVyQm91bmQpLGRlbGV0ZSB0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrfWUubGlua2luZ0dyb3VwSW5kZXgoKS51bnN1YnNjcmliZSh0aGlzLnVwZGF0ZUJvdW5kQ2hhcnRXaWRnZXQpLHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQ9bnVsbCx0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0wfX1ib3VuZENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXR9bWFpblNlcmllcygpe2lmKCF0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KXRocm93IG5ldyBFcnJvcigiQ2hhcnRXaWRnZXQgaXMgdW5kZWZpbmVkIik7cmV0dXJuIHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCl9X3dhdGNoZWRTeW1ib2xMaXN0ZW5lcihlKXt0aGlzLl9uZWVkQXBwbHlTeW1ib2woZSkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2woZSl9X3VwZGF0ZVN5bWJvbEJ5UHJvcGVydHkoZSx0KXtjb25zdCBzPXRoaXMuX3N5bWJvbExvY2soKTtzJiZ0aGlzLl9uZWVkQXBwbHlTeW1ib2wodCkmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBTeW1ib2wodCksKHN8fGU9PT10aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KSYmdGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQpfV93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lcihlKXtjb25zdCB0PWEuSW50ZXJ2YWwubm9ybWFsaXplKGUpO3QmJnRoaXMuX25lZWRBcHBseUludGVydmFsKHQpJiYhdGhpcy5fbXV0ZWQmJnRoaXMuX3NldEdyb3VwSW50ZXJ2YWwodCl9X3VwZGF0ZUludGVydmFsQnlQcm9wZXJ0eShlLHQpewpjb25zdCBzPXRoaXMuX2ludGVydmFsTG9jaygpLG49YS5JbnRlcnZhbC5ub3JtYWxpemUodCk7cyYmbiYmdGhpcy5fbmVlZEFwcGx5SW50ZXJ2YWwobikmJiF0aGlzLl9tdXRlZCYmdGhpcy5fc2V0R3JvdXBJbnRlcnZhbChuKSwoc3x8ZT09PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpJiZ0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShuPz90KX1fdXBkYXRlU2VyaWVzU3ltYm9sSW5mbygpe3RoaXMuc2VyaWVzU2hvcnRTeW1ib2wuc2V0VmFsdWUoKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0KS5nZXRTeW1ib2woITApKTtjb25zdCBlPXRoaXMubWFpblNlcmllcygpLnN5bWJvbEluZm8oKTtpZihlKXtjb25zdCB0PWUucHJvX25hbWV8fCExO3RoaXMucHJvU3ltYm9sLnNldFZhbHVlKHR8fHRoaXMud2F0Y2hlZFN5bWJvbC52YWx1ZSgpKSx0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSksZS5hbGlhc2VzJiZ0aGlzLnN5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLmFsaWFzZXMpO2xldCBzPSgwLF8uYWxsQ2hhcnRTdHlsZXMpKCk7KCgwLGwuaXNDbG9zZUJhc2VkU3ltYm9sKShlKXx8dGhpcy5tYWluU2VyaWVzKCkuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzMVRpY2soKSkmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzU2luZ2xlVmFsdWVCYXNlZFN0eWxlKShlKSkpKSwiaGxjIj09PWUudmlzaWJsZV9wbG90c19zZXQmJihzPXMuZmlsdGVyKChlPT4oMCxsLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLGwuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpKSkpLHRoaXMud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKHMpLHRoaXMud2F0Y2hlZEludHJhZGF5LnNldFZhbHVlKCEhZS5oYXNfaW50cmFkYXkpLHRoaXMud2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoISFlLmhhc19zZWNvbmRzKSx0aGlzLndhdGNoZWRUaWNrcy5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpJiYhIWVbImlzLXRpY2tiYXJzLWF2YWlsYWJsZSJdKSx0aGlzLndhdGNoZWRSYW5nZS5zZXRWYWx1ZSghKDAsbC5pc0Nsb3NlQmFzZWRTeW1ib2wpKGUpKTtjb25zdCBuPWUuZGF0YV9mcmVxdWVuY3k/ZS5kYXRhX2ZyZXF1ZW5jeTp2b2lkIDA7dGhpcy53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24uc2V0VmFsdWUobil9ZWxzZSB0aGlzLndhdGNoZWRJbnRyYWRheS5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkU2Vjb25kcy5zZXRWYWx1ZSghMSksdGhpcy53YXRjaGVkVGlja3Muc2V0VmFsdWUoITEpLHRoaXMud2F0Y2hlZFJhbmdlLnNldFZhbHVlKCExKSx0aGlzLm1haW5TZXJpZXMoKS5pc0ZhaWxlZCgpJiZ0aGlzLmVuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUodGhpcy5wcm9TeW1ib2wudmFsdWUoKSl9X29uQ2hhcnRNb2RlbENyZWF0ZWQoZSl7aWYoIXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpdGhyb3cgbmV3IEVycm9yKCJDaGFydFdpZGdldCBpcyB1bmRlZmluZWQiKTt0aGlzLl9jaGFydFdpZGdldEJpbmRpbmdTdGF0ZT0yLHRoaXMud2F0Y2hlZFN5bWJvbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnN5bWJvbFdWKCkudmFsdWUoKSksdGhpcy53YXRjaGVkU3ltYm9sLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkU3ltYm9sTGlzdGVuZXJCb3VuZCk7Y29uc3QgdD1lLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCk7dC5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHQuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVTZXJpZXNTeW1ib2xJbmZvKSxlLm1haW5TZXJpZXMoKS5vbkludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8pLHRoaXMuX3VwZGF0ZVNlcmllc1N5bWJvbEluZm8oKSx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlc29sdXRpb25XVigpLnZhbHVlKCkpLHRoaXMud2F0Y2hlZEludGVydmFsLnN1YnNjcmliZSh0aGlzLl93YXRjaGVkSW50ZXJ2YWxMaXN0ZW5lckJvdW5kKSx0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0LnJlYWRPbmx5KCkmJih0aGlzLndhdGNoZWRTeW1ib2wud3JpdGVMb2NrPSEwKX1fY2hhcnRUb0JpbmQoKXtjb25zdCBlPXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbjtyZXR1cm4gbnVsbD09PWU/bnVsbDplLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD9lLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCk6bnVsbCE9PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQmJnRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubGlua2luZ0dyb3VwSW5kZXgoKS52YWx1ZSgpPT09dGhpcy5fZ3JvdXBJbmRleD90aGlzLl9ib3VuZENoYXJ0V2lkZ2V0OmUuZ2V0QWxsKCkuZmluZCgoZT0+ZS5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCk9PT10aGlzLl9ncm91cEluZGV4KSk/P251bGx9X3N5bWJvbExvY2soKXtyZXR1cm4hIXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ubG9jay5zeW1ib2wudmFsdWUoKX1faW50ZXJ2YWxMb2NrKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1fY2hhcnRzRm9yTG9jayhlKXtyZXR1cm4oMD09PWU/dGhpcy5fc3ltYm9sTG9jaygpOnRoaXMuX2ludGVydmFsTG9jaygpKT8oMCxpLmVuc3VyZU5vdE51bGwpKHRoaXMuX2xpbmtpbmdHcm91cENoYXJ0cykudmFsdWUoKTp0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0P1t0aGlzLl9ib3VuZENoYXJ0V2lkZ2V0XTpbXX1fc2V0R3JvdXBTeW1ib2woZSl7dGhpcy5tdXRlKCEwKSx0aGlzLl9zZXRHcm91cFN5bWJvbENhbmNlbGxhdGlvblRva2VuLmNhbmNlbGxlZD0hMDtjb25zdCB0PXRoaXMuX3NldEdyb3VwU3ltYm9sQ2FuY2VsbGF0aW9uVG9rZW49e2NhbmNlbGxlZDohMX07KDAsCmkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5zZXRTeW1ib2woZSx0aGlzLl9ncm91cEluZGV4LCgwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fYm91bmRDaGFydFdpZGdldCkpLmZpbmFsbHkoKCgpPT57aWYodGhpcy5fYm91bmRDaGFydFdpZGdldCYmIXQuY2FuY2VsbGVkKXtjb25zdCB0PXRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQubW9kZWwoKS5tYWluU2VyaWVzKCk7dC5zeW1ib2xTYW1lQXNDdXJyZW50KGUpfHwodGhpcy53YXRjaGVkU3ltYm9sLnNldFZhbHVlKHQuc3ltYm9sKCkpLHRoaXMucHJvU3ltYm9sLnNldFZhbHVlKHQucHJvU3ltYm9sKCkpKX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5U3ltYm9sKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRzRm9yTG9jaygwKSxzPXQuZmluZCgodD0+dC5oYXNNb2RlbCgpJiZ0Lm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKSYmdC5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKSkpO2lmKHMpe2NvbnN0IGU9cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtpZih0LmV2ZXJ5KCh0PT5lLnN5bWJvbFNhbWVBc1Jlc29sdmVkKHQuc3ltYm9sV1YoKS52YWx1ZSgpKSkpKXJldHVybiExfXJldHVybiB0LnNvbWUoKHQ9PnQuc3ltYm9sV1YoKS52YWx1ZSgpIT09ZSkpfV9zZXRHcm91cEludGVydmFsKGUpe3RoaXMubXV0ZSghMCksKDAsaS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24pLnNldFJlc29sdXRpb24oZSx0aGlzLl9ncm91cEluZGV4KS5maW5hbGx5KCgoKT0+e2lmKHRoaXMuX2JvdW5kQ2hhcnRXaWRnZXQpe2NvbnN0IHQ9dGhpcy5fYm91bmRDaGFydFdpZGdldC5yZXNvbHV0aW9uV1YoKS52YWx1ZSgpO2EuSW50ZXJ2YWwuaXNFcXVhbCh0LGUpfHx0aGlzLndhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZSh0KX19KSksdGhpcy5tdXRlKCExKX1fbmVlZEFwcGx5SW50ZXJ2YWwoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0c0ZvckxvY2soMSkuc29tZSgodD0+IWEuSW50ZXJ2YWwuaXNFcXVhbCh0LnJlc29sdXRpb25XVigpLnZhbHVlKCksZSkpKX19Y29uc3QgVz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl93YXRjaGVkU3ltYm9scz1uZXcgby5XYXRjaGVkVmFsdWUoW10pLHRoaXMuX3dhdGNoZWRTeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl9wcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2w9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRJbnRlcnZhbD1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZEludHJhZGF5PW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU2Vjb25kcz1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFRpY2tzPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb249bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX3dhdGNoZWRSYW5nZT1uZXcgby5XYXRjaGVkVmFsdWUsdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zPW5ldyBvLldhdGNoZWRWYWx1ZSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXM9bmV3IG8uV2F0Y2hlZFZhbHVlKFtdKSx0aGlzLl9zeW1ib2xOYW1lc0xpc3Q9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsLHRoaXMuX29uU3ltYm9sTGlua0JvdW5kPXRoaXMuX29uU3ltYm9sTGluay5iaW5kKHRoaXMpLHRoaXMuX3NlYXJjaENoYXJ0cz1udWxsLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9bnVsbCx0aGlzLl9zZWxmRW1pdD0hMSx0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPSExLHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcj0wLHRoaXMuX2xpbmtpbmdHcm91cHM9bmV3IE1hcCx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXA9bmV3IG8uV2F0Y2hlZFZhbHVlLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PW51bGwsdGhpcy5fdXBkYXRlTGlua2luZ0dyb3Vwcz0oKT0+eygwLGkuZW5zdXJlTm90TnVsbCkodGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uKS5hbGxMaW5raW5nR3JvdXBzKCkudmFsdWUoKS5mb3JFYWNoKChlPT50aGlzLl9saW5raW5nR3JvdXAoZSkpKSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUudXBkYXRlQm91bmRDaGFydFdpZGdldCgpKSl9LHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5zZXRWYWx1ZSh0aGlzLl9saW5raW5nR3JvdXAobnVsbCkpO2NvbnN0IGU9KGUsdCk9PntlLnN1YnNjcmliZSgoZT0+dCgpLnNldFZhbHVlKGUpKSx7Y2FsbFdpdGhMYXN0OiEwfSl9O2UodGhpcy5fd2F0Y2hlZFN5bWJvbHMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3ltYm9scykpLGUodGhpcy5fd2F0Y2hlZFN5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTeW1ib2wpKSxlKHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkuc2VyaWVzU2hvcnRTeW1ib2wpKSxlKHRoaXMuX3Byb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnByb1N5bWJvbCkpLGUodGhpcy5fZW5zdXJlZFByb1N5bWJvbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLmVuc3VyZWRQcm9TeW1ib2wpKSxlKHRoaXMuX3dhdGNoZWRJbnRlcnZhbCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRJbnRlcnZhbCkpLGUodGhpcy5fd2F0Y2hlZEludHJhZGF5LCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZEludHJhZGF5KSksZSh0aGlzLl93YXRjaGVkU2Vjb25kcywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRTZWNvbmRzKSksCmUodGhpcy5fd2F0Y2hlZFRpY2tzLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFRpY2tzKSksZSh0aGlzLl93YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24sKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkRGF0YUZyZXF1ZW5jeVJlc29sdXRpb24pKSxlKHRoaXMuX3dhdGNoZWRSYW5nZSwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLndhdGNoZWRSYW5nZSkpLGUodGhpcy5fd2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zLCgoKT0+dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnZhbHVlKCkud2F0Y2hlZFN1cHBvcnRlZFJlc29sdXRpb25zKSksZSh0aGlzLl93YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMsKCgpPT50aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAudmFsdWUoKS53YXRjaGVkU3VwcG9ydGVkQ2hhcnRTdHlsZXMpKSxlKHRoaXMuX3N5bWJvbE5hbWVzTGlzdCwoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpLnN5bWJvbE5hbWVzTGlzdCkpO2NvbnN0IHQ9ZT0+e3RoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS53YXRjaGVkU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnNldFZhbHVlKGUuc2VyaWVzU2hvcnRTeW1ib2wudmFsdWUoKSksdGhpcy5fcHJvU3ltYm9sLnNldFZhbHVlKGUucHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wuc2V0VmFsdWUoZS5lbnN1cmVkUHJvU3ltYm9sLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRJbnRlcnZhbC5zZXRWYWx1ZShlLndhdGNoZWRJbnRlcnZhbC52YWx1ZSgpKSx0aGlzLl93YXRjaGVkSW50cmFkYXkuc2V0VmFsdWUoZS53YXRjaGVkSW50cmFkYXkudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFNlY29uZHMuc2V0VmFsdWUoZS53YXRjaGVkU2Vjb25kcy52YWx1ZSgpKSx0aGlzLl93YXRjaGVkVGlja3Muc2V0VmFsdWUoZS53YXRjaGVkVGlja3MudmFsdWUoKSksdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnNldFZhbHVlKGUud2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCkpLHRoaXMuX3dhdGNoZWRSYW5nZS5zZXRWYWx1ZShlLndhdGNoZWRSYW5nZS52YWx1ZSgpKSx0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMuc2V0VmFsdWUoZS53YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKSksdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnNldFZhbHVlKGUud2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnZhbHVlKCkpLHRoaXMuX3N5bWJvbE5hbWVzTGlzdC5zZXRWYWx1ZShlLnN5bWJvbE5hbWVzTGlzdC52YWx1ZSgpKX07dGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwLnN1YnNjcmliZSh0KSx0KHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSwoMCx2LnNldE11dGVMaW5raW5nR3JvdXApKCgoZSx0KT0+eyJhbGwiPT09ZT90aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKGU9PmUubXV0ZSh0KSkpOnRoaXMuX2xpbmtpbmdHcm91cChlKS5tdXRlKHQpfSkpfWdldCBzeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRTeW1ib2xzfWdldCBzeW1ib2woKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN5bWJvbH1nZXQgcHJvU3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Byb1N5bWJvbC5yZWFkb25seSgpfXN5bWJvbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suc3ltYm9sLnZhbHVlKCl9Z2V0IGVuc3VyZWRQcm9TeW1ib2woKXtyZXR1cm4gdGhpcy5fZW5zdXJlZFByb1N5bWJvbC5yZWFkb25seSgpfWdldCBzeW1ib2xOYW1lc0xpc3QoKXtyZXR1cm4gdGhpcy5fc3ltYm9sTmFtZXNMaXN0LnJlYWRvbmx5KCl9Z2V0IHNlcmllc1Nob3J0U3ltYm9sKCl7cmV0dXJuIHRoaXMuX3Nlcmllc1Nob3J0U3ltYm9sLnJlYWRvbmx5KCl9Z2V0IGludGVydmFsKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRJbnRlcnZhbH1pbnRlcnZhbFN5bmNFbmFibGVkKCl7cmV0dXJuISF0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24/LmxvY2suaW50ZXJ2YWwudmFsdWUoKX1nZXQgaW50cmFkYXkoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZEludHJhZGF5LnJlYWRvbmx5KCl9Z2V0IHNlY29uZHMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFNlY29uZHMucmVhZG9ubHkoKX1nZXQgdGlja3MoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFRpY2tzLnJlYWRvbmx5KCl9Z2V0IHJhbmdlKCl7cmV0dXJuIHRoaXMuX3dhdGNoZWRSYW5nZS5yZWFkb25seSgpfWdldCBzdXBwb3J0ZWRSZXNvbHV0aW9ucygpe3JldHVybiB0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMucmVhZG9ubHkoKX1nZXQgc3VwcG9ydGVkQ2hhcnRTdHlsZXMoKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzLnJlYWRvbmx5KCl9Z2V0IHByZXZlbnRGZWVkQnlTeW1ib2woKXtyZXR1cm4gdGhpcy5fcHJldmVudEZlZWRCeVN5bWJvbH1nZXQgZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24oKXtyZXR1cm4gdGhpcy5fd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnJlYWRvbmx5KCl9YWN0aXZlTGlua2luZ0dyb3VwKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC5yZWFkb25seSgpfWdldENoYXJ0V2lkZ2V0KCl7cmV0dXJuIHRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKS5ib3VuZENoYXJ0V2lkZ2V0KCl9YmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpe3RoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj8ub25BYm91dFRvQmVEZXN0cm95ZWQudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fdW5iaW5kRnJvbUNoYXJ0V2lkZ2V0Q29sbGVjdGlvbigpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1lLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5vbkFib3V0VG9CZURlc3Ryb3llZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKSwKdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFsbExpbmtpbmdHcm91cHMoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcyksdGhpcy5fdXBkYXRlTGlua2luZ0dyb3VwcygpLHRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cEluZGV4PWUuYWN0aXZlTGlua2luZ0dyb3VwKCkuc3Bhd24oKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleC5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXAuc2V0VmFsdWUodGhpcy5fbGlua2luZ0dyb3VwKGUpKX0pLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9saW5raW5nR3JvdXBzLmZvckVhY2goKHQ9PnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKGUpKSl9YmluZFRvU2VhcmNoQ2hhcnRzKGUpe3RoaXMudW5iaW5kRnJvbVNlYXJjaENoYXJ0cygpLHRoaXMuX3NlYXJjaENoYXJ0cz1lLGUub25TZWFyY2hCeVN5bWJvbC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSxlLmxvYWRpbmdTeW1ib2wuc3Vic2NyaWJlKChlPT57ITE9PT1lJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPTApfSkpLHRoaXMuX3dhdGNoZWRTeW1ib2wuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKX11bmJpbmRGcm9tU2VhcmNoQ2hhcnRzKCl7dGhpcy5fc2VhcmNoQ2hhcnRzJiYodGhpcy5fc2VhcmNoQ2hhcnRzLm9uU2VhcmNoQnlTeW1ib2wudW5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlYXJjaEJ5U3ltYm9sKSx0aGlzLl93YXRjaGVkU3ltYm9sLnVuc3Vic2NyaWJlKHRoaXMuX29uU3ltYm9sTGlua0JvdW5kKSx0aGlzLl9zZWFyY2hDaGFydHM9bnVsbCl9c2V0UHJldmVudEZlZWRCeVN5bWJvbChlKXt0aGlzLl9wcmV2ZW50RmVlZEJ5U3ltYm9sPWV9c2V0U3ltYm9sQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4saSl7Y29uc3Qgcj12b2lkIDAhPT1pP3RoaXMuX2xpbmtpbmdHcm91cChpLmxpbmtpbmdHcm91cEluZGV4KCkudmFsdWUoKSk6dGhpcy5hY3RpdmVMaW5raW5nR3JvdXAoKS52YWx1ZSgpO3ZhciBvLGEsbCx1OyhyLndhdGNoZWRTeW1ib2wudmFsdWUoKSE9PWV8fHMpJiYody5sb2dJbmZvKGBDaGFuZ2UgbGlua2luZyBzeW1ib2wgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksci53YXRjaGVkU3ltYm9sLnNldFZhbHVlKGUscyksbnx8bnVsbD09PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbnx8KG89ci5tYWluU2VyaWVzKCksYT10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubGF5b3V0LnZhbHVlKCksbD10aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24ubWV0YUluZm8udWlkLnZhbHVlKCl8fCIiLHU9dCx3aW5kb3cudXNlci5kb19ub3RfdHJhY2t8fG8uc3ltYm9sUmVzb2x2aW5nQWN0aXZlKCkuc3Vic2NyaWJlKChlPT57aWYoZSlyZXR1cm47Y29uc3QgdD1vLnN5bWJvbEluZm8oKTt0JiYoMCxwLmdldFRyYWNrZXIpKCkudGhlbigoZT0+e251bGwhPT1lJiZlLnRyYWNrQ2hhcnRTeW1ib2xzKHtzeW1ib2xOYW1lOnQucHJvX25hbWUsc3ltYm9sVHlwZTp0LnR5cGUscmVzb2x1dGlvbjpvLmludGVydmFsKCksbGF5b3V0VHlwZTphLGNoYXJ0SWQ6bCxjaGFydFN0eWxlczp5LlNUWUxFX1NIT1JUX05BTUVTW28uc3R5bGUoKV0sb3BlblNvdXJjZTp1LHBsYXRmb3JtOigwLGIuZ2V0UGxhdGZvcm0pKCksaXNFeHBlcnQ6d2luZG93LnVzZXIuZGVjbGFyZWRfc3RhdHVzPT09bS5Vc2VyU3RhdHVzLlByb30pfSkpfSkse29uY2U6ITB9KSkpfXNldEludGVydmFsQW5kTG9nSW5pdGlhdG9yKGUsdCxzLG4pe2NvbnN0IGk9dm9pZCAwIT09bj90aGlzLl9saW5raW5nR3JvdXAobi5saW5raW5nR3JvdXBJbmRleCgpLnZhbHVlKCkpOnRoaXMuYWN0aXZlTGlua2luZ0dyb3VwKCkudmFsdWUoKTthLkludGVydmFsLmlzRXF1YWwoaS53YXRjaGVkSW50ZXJ2YWwudmFsdWUoKSxlKXx8KHcubG9nSW5mbyhgQ2hhbmdlIGxpbmtpbmcgaW50ZXJ2YWwgdG8gJHtlfSwgaW5pdGlhdG9yOiAke3R9YCksc3x8KDAsUy50cmFja0ludGVydmFsQ2hhbmdpbmcpKGUsdCksaS53YXRjaGVkSW50ZXJ2YWwuc2V0VmFsdWUoZSkpfV9vblNlYXJjaEJ5U3ltYm9sKGUpe2lmKCFlLnJlc29sdmVkX3N5bWJvbCl0aHJvdyBuZXcgRXJyb3IoIm5vIHJlc29sdmVkX3N5bWJvbCIpO3RoaXMuX3NlbGZFbWl0PSEwLHRoaXMuX3dhdGNoZWRTeW1ib2wuc2V0VmFsdWUoZS5yZXNvbHZlZF9zeW1ib2wpLHRoaXMuX3NlbGZFbWl0PSExfV9vblN5bWJvbExpbmsoZSl7aWYoIXRoaXMuX3NlbGZFbWl0KXtpZighdGhpcy5fc2VhcmNoQ2hhcnRzKXtjb25zdCBlPSJObyBzZWFyY2ggY2hhcnRzIGRlZmluZWQiO3Rocm93IHcubG9nRXJyb3IoZSksbmV3IEVycm9yKGUpfXRoaXMuX3ByZXZlbnRGZWVkQnlTeW1ib2x8fHRoaXMuX2xvYWRTZWFyY2hDaGFydHMoZSl9fV9sb2FkU2VhcmNoQ2hhcnRzKGUpe2lmKCF0aGlzLl9zZWFyY2hDaGFydHMpe2NvbnN0IGU9Ik5vIHNlYXJjaCBjaGFydHMgZGVmaW5lZCI7dGhyb3cgdy5sb2dFcnJvcihlKSxuZXcgRXJyb3IoZSl9aWYodGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZClyZXR1cm4gdm9pZCh0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXI8MTAwJiYodGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyKyssdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSkpO2NvbnN0IHQ9ZT0+dGhpcy5fc2VhcmNoQ2hhcnRzPyghMD09PXRoaXMuX3NlYXJjaENoYXJ0cy5sb2FkaW5nU3ltYm9sLnZhbHVlKCk/dGhpcy5fZmVlZEJ5U3ltYm9sRGVib3VuY2VDb3VudGVyPDEwMCYmKHRoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcisrLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQ9KDAsbi5kZWZhdWx0KSh0LDJlMyksdGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZChlKSk6dGhpcy5fc2VhcmNoQ2hhcnRzTG9hZERlYm91bmNlZD1udWxsLHRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2wuY2FsbCh0aGlzLl9zZWFyY2hDaGFydHMsZSkpOigpPT57fQo7ITA9PT10aGlzLl9zZWFyY2hDaGFydHMubG9hZGluZ1N5bWJvbC52YWx1ZSgpP3RoaXMuX2ZlZWRCeVN5bWJvbERlYm91bmNlQ291bnRlcjwxMDAmJih0aGlzLl9mZWVkQnlTeW1ib2xEZWJvdW5jZUNvdW50ZXIrKyx0aGlzLl9zZWFyY2hDaGFydHNMb2FkRGVib3VuY2VkPSgwLG4uZGVmYXVsdCkodCwyZTMpLHRoaXMuX3NlYXJjaENoYXJ0c0xvYWREZWJvdW5jZWQoZSkpOnRoaXMuX3NlYXJjaENoYXJ0cy5mZWVkQnlTeW1ib2woZSl9X2xpbmtpbmdHcm91cChlKXtsZXQgdD10aGlzLl9saW5raW5nR3JvdXBzLmdldChlKTtpZih2b2lkIDA9PT10KXtjb25zdCBzPXt3YXRjaGVkU3ltYm9sczp0aGlzLl93YXRjaGVkU3ltYm9scyx3YXRjaGVkU3ltYm9sOnRoaXMuX3dhdGNoZWRTeW1ib2wsc2VyaWVzU2hvcnRTeW1ib2w6dGhpcy5fc2VyaWVzU2hvcnRTeW1ib2wscHJvU3ltYm9sOnRoaXMuX3Byb1N5bWJvbCxlbnN1cmVkUHJvU3ltYm9sOnRoaXMuX2Vuc3VyZWRQcm9TeW1ib2wsd2F0Y2hlZEludGVydmFsOnRoaXMuX3dhdGNoZWRJbnRlcnZhbCx3YXRjaGVkSW50cmFkYXk6dGhpcy5fd2F0Y2hlZEludHJhZGF5LHdhdGNoZWRTZWNvbmRzOnRoaXMuX3dhdGNoZWRTZWNvbmRzLHdhdGNoZWRUaWNrczp0aGlzLl93YXRjaGVkVGlja3Msd2F0Y2hlZERhdGFGcmVxdWVuY3lSZXNvbHV0aW9uOnRoaXMuX3dhdGNoZWREYXRhRnJlcXVlbmN5UmVzb2x1dGlvbix3YXRjaGVkUmFuZ2U6dGhpcy5fd2F0Y2hlZFJhbmdlLHdhdGNoZWRTdXBwb3J0ZWRSZXNvbHV0aW9uczp0aGlzLl93YXRjaGVkU3VwcG9ydGVkUmVzb2x1dGlvbnMsd2F0Y2hlZFN1cHBvcnRlZENoYXJ0U3R5bGVzOnRoaXMuX3dhdGNoZWRTdXBwb3J0ZWRDaGFydFN0eWxlcyxzeW1ib2xOYW1lc0xpc3Q6dGhpcy5fc3ltYm9sTmFtZXNMaXN0fTt0PW5ldyBrKGUscywoKCk9PnRoaXMuX2FjdGl2ZUxpbmtpbmdHcm91cC52YWx1ZSgpKSksdGhpcy5fbGlua2luZ0dyb3Vwcy5zZXQoZSx0KSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24mJnQuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbil9cmV0dXJuIHR9X3VuYmluZEZyb21DaGFydFdpZGdldENvbGxlY3Rpb24oKXtudWxsIT09dGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uJiYodGhpcy5fYWN0aXZlTGlua2luZ0dyb3VwSW5kZXg/LmRlc3Ryb3koKSx0aGlzLl9hY3RpdmVMaW5raW5nR3JvdXBJbmRleD1udWxsLHRoaXMuX2xpbmtpbmdHcm91cHMuZm9yRWFjaCgoZT0+ZS51bmJpbmRGcm9tQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKCkpKSx0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb24uYWxsTGlua2luZ0dyb3VwcygpLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUxpbmtpbmdHcm91cHMpLHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1udWxsKX19O3tjb25zdCBlPSgwLGQuZ2V0RnJlc2hJbml0RGF0YSkoKS5zeW1ib2xJbmZvLHQ9ZT9lLnByb19zeW1ib2w6aC5nZXRWYWx1ZSgiZWRpdGNoYXJ0Lm1vZGVsLnN5bWJvbCIsKDAsZy5nZXREZWZhdWx0U3ltYm9sKSgpKTtXLnNldFN5bWJvbEFuZExvZ0luaXRpYXRvcih0LCJpbml0aWFsIGRhdGEiLCExLCEwKX13aW5kb3cuVHJhZGluZ1ZpZXdBcGl8fCh3aW5kb3cuVHJhZGluZ1ZpZXdBcGk9e2xpbmtpbmc6V30pfSwyMDkzOShlLHQscyl7bGV0IG47ZnVuY3Rpb24gaShlLHQpe24/LihlLHQpfWZ1bmN0aW9uIHIoZSl7bj1lfXMuZCh0LHttdXRlTGlua2luZ0dyb3VwOigpPT5pLHNldE11dGVMaW5raW5nR3JvdXA6KCk9PnJ9KX0sMzU1MTIzKGUsdCxzKXtzLmQodCx7c3BhcnNlVXNlcnNUcmFja2luZ0NvZWZmaWNpZW50OigpPT5hfSk7dmFyIG49cyg5MzIzNjUpO2NvbnN0IGk9InNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCIscj0oMCxzKDE2MDI5NikuaXNQcm9kKSgpP251bGw6bi5UVkxvY2FsU3RvcmFnZS5nZXRJdGVtKGkpO2xldCBvPW51bGwhPT1yP3BhcnNlRmxvYXQocik6bnVsbDtudWxsIT09byYmKCFOdW1iZXIuaXNGaW5pdGUobyl8fG88MHx8bz4xKSYmKG89bnVsbCxuLlRWTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaSkpO2NvbnN0IGE9bz8/LjF9LDM4MzM1MShlLHQscyl7cy5kKHQse3RyYWNrSW50ZXJ2YWxDaGFuZ2luZzooKT0+b30pO3ZhciBuPXMoODU2MTk2KSxpPXMoMzYyMjM5KSxyPXMoMzU1MTIzKTtmdW5jdGlvbiBvKGUsdCl7d2luZG93LnVzZXIuZG9fbm90X3RyYWNrfHwoMCxuLnNob3VsZEFmZmVjdFVzZXIpKCJJbnRlcnZhbENoYW5naW5nIixyLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLGkuZ2V0VHJhY2tlcikoKS50aGVuKChzPT57bnVsbCE9PXMmJnMudHJhY2tDaGFydEludGVydmFsQ2hhbmdpbmcoZSx0KX0pKX19LDcwMTUwNihlLHQscyl7cy5kKHQse2FsbENoYXJ0U3R5bGVzOigpPT5yfSk7dmFyIG49cyg5MzAyMzEpO2NvbnN0IGk9KDAscygzMTg5NzQpLm9uV2lkZ2V0KSgpO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPVswLDEsOSwxMywyLDE0LDE1LDMsMTYsMTBdO3JldHVybiBlLnB1c2goMTIpLGl8fGUucHVzaCgxNyksaXx8ZS5wdXNoKDE4KSxpfHxlLnB1c2goMjApLGl8fGUucHVzaCgxOSksZX0oKS5jb25jYXQoZnVuY3Rpb24oKXtjb25zdCBlPVs4XTtyZXR1cm4oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJqYXBhbmVzZV9jaGFydF9zdHlsZXMiKSYmKGUucHVzaCg0LDcsNSw2KSxlLnB1c2goMTEpKSxlfSgpKX19LDMxNDkxNChlLHQscyl7cy5kKHQse2V4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm86KCk9PnV9KTt2YXIgbj1zKDg1Mjk4MCksaT1zKDkzMDIzMSk7Y29uc3Qgcj0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJwYXlfYXR0ZW50aW9uX3RvX3RpY2tlcl9ub3Rfc3ltYm9sIiksbz0oMCxpLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJjaGFydGluZ19saWJyYXJ5X3NpbmdsZV9zeW1ib2xfcmVxdWVzdCIpLGE9KDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX3RpY2tlcl9vbl9zeW1ib2xfaW5mb191cGRhdGUiKSxsPSgwLAppLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cHBlcmNhc2VfaW5zdHJ1bWVudF9uYW1lcyIpLHU9bi5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvLmJpbmQobnVsbCx7cGF5QXR0ZW50aW9uVG9UaWNrZXJOb3RTeW1ib2w6cixjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0Om8sdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOmEsdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOmx9KX0sNTgwMzcoZSx0LHMpe3ZhciBuLGk7IWZ1bmN0aW9uKGUpe2VbZS5PZmZsaW5lPTBdPSJPZmZsaW5lIixlW2UuUmVzb2x2aW5nPTFdPSJSZXNvbHZpbmciLGVbZS5Mb2FkaW5nPTJdPSJMb2FkaW5nIixlW2UuUmVhZHk9M109IlJlYWR5IixlW2UuSW52YWxpZFN5bWJvbD00XT0iSW52YWxpZFN5bWJvbCIsZVtlLlNuYXBzaG90PTVdPSJTbmFwc2hvdCIsZVtlLkVPRD02XT0iRU9EIixlW2UuUHVsc2U9N109IlB1bHNlIixlW2UuRGVsYXllZD04XT0iRGVsYXllZCIsZVtlLkRlbGF5ZWRTdGVhbWluZz05XT0iRGVsYXllZFN0ZWFtaW5nIixlW2UuTm9CYXJzPTEwXT0iTm9CYXJzIixlW2UuUmVwbGF5PTExXT0iUmVwbGF5IixlW2UuRXJyb3I9MTJdPSJFcnJvciIsZVtlLkNhbGN1bGF0aW9uRXJyb3I9MTNdPSJDYWxjdWxhdGlvbkVycm9yIixlW2UuVW5zdXBwb3J0ZWRSZXNvbHV0aW9uPTE0XT0iVW5zdXBwb3J0ZWRSZXNvbHV0aW9uIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuTWFya2Vycz0wXT0iTWFya2VycyIsZVtlLlN0ZXBsaW5lPTFdPSJTdGVwbGluZSIsZVtlLlNpbXBsZT0yXT0iU2ltcGxlIn0oaXx8KGk9e30pKX0sNzk4MzgoZSx0LHMpe3MuZCh0LHtTRVJJRVNfU1RBVFVTX1RFWFQ6KCk9PkMsU1RZTEVfU0hPUlRfTkFNRVM6KCk9PmssU1lNQk9MX1NUUklOR19EQVRBOigpPT5WLGNoYXJ0U3R5bGVzV2l0aEF0dGFjaGVkU3R1ZGllczooKT0+TCxpc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4OigpPT5XLHNlcmllc0xvYWRpbmdTdGF0dXNlczooKT0+ZixzZXJpZXNSZWFkeVN0YXR1c2VzOigpPT53fSk7cyg1ODAzNyk7dmFyIG49cyg3Mjg0MzYpLGk9cyg3Nzc2NjEpLHI9cyg1NTAzOTMpO2NvbnN0IG89MCxhPTEsbD0yLHU9MyxjPTQsaD01LGQ9Nix5PTcsYj04LG09OSxwPTEwLFM9MTEsXz0xMixnPTEzLHY9MTQsdz1uZXcgU2V0KFszLDYsNyw4LDksMTFdKSxmPW5ldyBTZXQoWzEsMl0pLEM9e1tvXToiY29ubmVjdGluZyIsW2FdOiJsb2FkaW5nIixbbF06ImxvYWRpbmciLFt1XToicmVhbHRpbWUiLFtjXToiaW52YWxpZCIsW2hdOiJzbmFwc2hvdCIsW2RdOiJlbmRvZmRheSIsW3ldOiJlbmRvZmRheSIsW2JdOiJkZWxheWVkIixbbV06ImRlbGF5ZWRfc3RyZWFtaW5nIixbcF06ImZvcmJpZGRlbiIsW1NdOiJyZXBsYXkiLFtfXToiZXJyb3IiLFtnXToiY2FsY3VsYXRpb25fZXJyb3IiLFt2XToidW5zdXBwb3J0ZWRfcmVzb2x1dGlvbiJ9LGs9ezA6ImJhciIsMToiY2FuZGxlIiw5OiJob2xsb3dDYW5kbGUiLDI6ImxpbmUiLDE0OiJsaW5lV2l0aE1hcmtlcnMiLDE1OiJzdGVwbGluZSIsMzoiYXJlYSIsMTY6ImhsY0FyZWEiLDQ6InJlbmtvIiw3OiJwYiIsNToia2FnaSIsNjoicG5mIiw4OiJoYSIsMTA6ImJhc2VsaW5lIiwxMToicmFuZ2UiLDEyOiJoaWxvIiwxMzoiY29sdW1uIiwxNzoidm9sRm9vdHByaW50IiwxODoidHBvIiwxOToidm9sQ2FuZGxlcyIsMjA6InN2cCIsMjE6ImhsY0JhcnMifTtmdW5jdGlvbiBXKGUpe3JldHVybiJ2YXJpYW50cyJpbiBlfWNvbnN0IEk9W3t0eXBlOmkuc3R1ZHlUcG9QcmVyaW9kaWNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LHt0eXBlOmkuc3R1ZHlUcG9TZXNzaW9uc0lkLGJhc2ljU3R1ZHlWZXJzaW9uOjEwNH1dLFY9ezQ6e3R5cGU6IkJhclNldFJlbmtvQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw3Ont0eXBlOiJCYXJTZXRQcmljZUJyZWFrQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjM0fSw1Ont0eXBlOiJCYXJTZXRLYWdpQHR2LXByb3N0dWRpZXMiLGJhc2ljU3R1ZHlWZXJzaW9uOjczfSw2Ont0eXBlOiJCYXJTZXRQbkZAdHYtcHJvc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzN9LDg6e3R5cGU6IkJhclNldEhlaWtlbkFzaGlAdHYtYmFzaWNzdHVkaWVzIixiYXNpY1N0dWR5VmVyc2lvbjo2MH0sMTE6e3R5cGU6IkJhclNldFJhbmdlQHR2LWJhc2ljc3R1ZGllcyIsYmFzaWNTdHVkeVZlcnNpb246NzJ9LDE3Ont0eXBlOm4uc3R1ZHlWb2xGb290cHJpbnRJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMDR9LDE4Ont2YXJpYW50czpJLHNlbGVjdG9yOmU9Pntjb25zdCB0PWU7cmV0dXJuIkRheSI9PT10LnBlcmlvZCYmMT09PXQucGVyaW9kc051bT9JWzFdOklbMF19fSwyMDp7dHlwZTpyLnN0dWR5VmJQU2Vzc2lvbnNJZCxiYXNpY1N0dWR5VmVyc2lvbjoxMjZ9fSxMPS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKT9bMTcsMTgsMjBdOm51bGx9LDEyODk5OChlLHQscyl7aWYocy5kKHQse2FjdHVhbFN5bWJvbDooKT0+d2UsY2hhcnRTdHlsZVN0dWR5SWQ6KCk9PiQsY3JlYXRlU2VyaWVzRm9ybWF0dGVyOigpPT5ZLGRpc3BsYXllZFN5bWJvbEV4Y2hhbmdlOigpPT52ZSxkaXNwbGF5ZWRTeW1ib2xOYW1lOigpPT5nZSxleHRyYWN0TGluZVRvb2xTeW1ib2xGcm9tU3ltYm9sSW5mbzooKT0+YmUsZ2V0Q2hhcnRTdHlsZUJ5UmVzb2x1dGlvbjooKT0+cSxnZXREZWZhdWx0U3R5bGU6KCk9Pk8sZ2V0TGFzdFVzZWRNZXRyaWM6KCk9PlUsZ2V0TGFzdFVzZWRSYXdEYXRhU3R5bGU6KCk9PlAsZ2V0TGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PkEsZ2V0TGFzdFVzZWRTdHlsZTooKT0+TSxnZXRTZXJpZXNEaXNwbGF5RXJyb3JXVjooKT0+eGUsZ2V0U2VyaWVzUHJpY2VGb3JtYXR0aW5nU3RhdGU6KCk9PnosZ2V0U291cmNlRm9yRWNvbm9teVN5bWJvbDooKT0+U2UsZ2V0U3ltYm9sRGVsYXlTZWNvbmRzOigpPT5EZSxnZXRTeW1ib2xMaXN0ZWRFeGNoYW5nZTooKT0+UmUsZ2V0U3ltYm9sVHJhZGVkRXhjaGFuZ2U6KCk9PlRlLGdldFRyYW5zbGF0ZWRDaGFydFN0eWxlTmFtZTooKT0+aywKaGFzVm9sdW1lOigpPT5MZSxpc0Nsb3NlQmFzZWRTeW1ib2w6KCk9PldlLGlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5OigpPT5aLGlzQ29udmVydGVkVG9PdGhlck1ldHJpYzooKT0+b2UsaXNDb252ZXJ0ZWRUb090aGVyVW5pdDooKT0+cmUsaXNFY29ub21pY1N5bWJvbDooKT0+QmUsaXNGdXR1cmVDb250aW51b3VzU3ltYm9sV2l0aEJhY2thanVzdG1lbnQ6KCk9PkZlLGlzRnV0dXJlc0NvbnRyYWN0U3ltYm9sOigpPT5FZSxpc0hMQ0Jhc2VkU3R5bGU6KCk9PkYsaXNNZWFzdXJlVW5pdFN5bWJvbDooKT0+SWUsaXNNZXRyaWNBY3RpdmU6KCk9PmFlLGlzUHJpY2VTb3VyY2VTdHlsZTooKT0+SCxpc1JhbmdlQmFzZWRTdHlsZTooKT0+SSxpc1JhbmdlU3R5bGU6KCk9PkwsaXNSYXdEYXRhU3R5bGU6KCk9PkUsaXNSZWd1bGFyU2Vzc2lvbklkOigpPT5DZSxpc1JlcXVpcmluZ1Jlc3RhcnRTZXJpZXNTdHlsZXM6KCk9PlcsaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGU6KCk9PlQsaXNTcHJlYWRTeW1ib2xXaXRoTWFueUxlZ3M6KCk9PkdlLGlzU3RvY2syNGhTZXNzaW9uSWQ6KCk9PmtlLGlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXk6KCk9PkcsaXNUaW1lQmFzZWRTdHlsZTooKT0+Qixpc1ZhbGlkU3R5bGU6KCk9PlIsbWVhc3VyZVVuaXRJZDooKT0+VmUscHJlcGFyZVByaWNlQXhpc1Byb3BlcnRpZXM6KCk9PmoscHJvU3ltYm9sOigpPT5mZSxzZXRMYXN0VXNlZE1ldHJpYzooKT0+TixzZXRMYXN0VXNlZFJhd0RhdGFTdHlsZTooKT0+RCxzZXRMYXN0VXNlZFN0eWxlOigpPT54LHN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0OigpPT5WLHN5bWJvbEJhc2VDdXJyZW5jeTooKT0+USxzeW1ib2xDdXJyZW5jeTooKT0+WCxzeW1ib2xDdXJyZW5jeUNvbnZlcnRpYmxlOigpPT5LLHN5bWJvbEhhc0Vjb25vbWljRXZlbnRzOigpPT55ZSxzeW1ib2xIYXNFbGVjdHJvbmljU2Vzc2lvbjooKT0+aGUsc3ltYm9sSGFzTmlnaHRNYXJrZXQ6KCk9PmNlLHN5bWJvbEhhc1ByZU9yUG9zdE1hcmtldDooKT0+dWUsc3ltYm9sSGFzU2V2ZXJhbFNlc3Npb25zOigpPT5kZSxzeW1ib2xNZXRyaWM6KCk9Pm5lLHN5bWJvbE9yaWdpbmFsQ3VycmVuY3k6KCk9Pkosc3ltYm9sT3JpZ2luYWxNZXRyaWM6KCk9PmllLHN5bWJvbE9yaWdpbmFsVW5pdDooKT0+c2Usc3ltYm9sVGl0bGU6KCk9Pl9lLHN5bWJvbFRpdGxlU2VwYXJhdG9yOigpPT5wZSxzeW1ib2xUb1NhdmVJblN0YXRlOigpPT5tZSxzeW1ib2xVbml0OigpPT50ZSxzeW1ib2xVbml0Q29udmVydGlibGVHcm91cHNJZkV4aXN0OigpPT5sZX0pLC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbj1zKDk1MjkwMCk7aWYoL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciBpPXMoMjU0NjczKTt2YXIgcj1zKDE4NTI3MSksbz1zKDkzMDIzMSksYT1zKDkzMDU2NiksbD1zKDMxODk3NCksdT1zKDE1NjgyOSksYz1zKDc5ODM4KSxoPXMoNzU1NjI3KSxkPXMoOTg0Mzc2KSx5PXMoMTI1MjE4KTtpZigvXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaikpdmFyIGI9cyg1OTY3MDYpO2lmKC9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSl2YXIgbT1zKDI0MTk1Nik7dmFyIHA9cygzMTQ5MTQpO2NvbnN0IFM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXBwZXJjYXNlX2luc3RydW1lbnRfbmFtZXMiKSxfPSgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfb2JqZWN0X3RyZWVfYW5kX3ByaWNlX3NjYWxlX2V4Y2hhbmdlX2xhYmVsIik7dmFyIGc7IWZ1bmN0aW9uKGUpe2UuTGFzdFVzZWRTdHlsZUtleT0iY2hhcnQubGFzdFVzZWRTdHlsZSIsZS5MYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZT0iY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiLGUuTGFzdFVzZWRSYXdEYXRhU3R5bGU9ImNoYXJ0LnJhd0RhdGFTdHlsZSIsZS5MYXN0VXNlZE1ldHJpYz0iY2hhcnQubGFzdFVzZWRNZXRyaWMifShnfHwoZz17fSkpO2NvbnN0IHY9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1s0LDUsNiw3LDhdOm51bGwsdz0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzQsNSw2LDcsMTFdOm51bGwsZj0vXig3OTc5NXw5NDM4OSkkLy50ZXN0KHMuaik/WzAsMSw5LDE5LDIsMTQsMTUsMywxNiwyMSwxMCw4LDEyLDEzLDE4LDE3LDIwXTpudWxsLEM9L14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopP1syLDE0LDE1LDEwLDMsMTMsMThdOm51bGw7ZnVuY3Rpb24gayhlKXtyZXR1cm57MDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk0MTYyOSkpLDE6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxMTg0OTEpKSwyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoMjEwNDk5KSksMTQ6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygxODYxNDcpKSwxNTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDkxNjE0OCkpLDM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg3OTYwOTMpKSwxNjpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDk2Nzg0MSkpLDk6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scygzMzE4MjQpKSwxMDpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDUyNTMzMSkpLDEyOnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoOTUyODEwKSksMTM6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2MTczNDApKSw0OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoNDYxNzM4KSksNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDMwNzQzNikpLDU6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg0MTM0MykpLDY6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4NjcwMjEpKSwxMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDE4ODM1MikpLDg6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg4MzU1NDMpKSwxNzpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDIwMTA3MykpLAoxODpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDExNzk4NCkpLDE5OnIudChudWxsLHtjb250ZXh0OiJDaGFydCBzdHlsZSJ9LHMoODkyMzc1KSksMjA6ci50KG51bGwse2NvbnRleHQ6IkNoYXJ0IHN0eWxlIn0scyg2ODc5NTEpKSwyMTpyLnQobnVsbCx7Y29udGV4dDoiQ2hhcnQgc3R5bGUifSxzKDY4MzAwKSl9W2VdfWZ1bmN0aW9uIFcoZSl7cmV0dXJuLTEhPT12LmluZGV4T2YoZSl9ZnVuY3Rpb24gSShlKXtyZXR1cm4tMSE9PXcuaW5kZXhPZihlKX1mdW5jdGlvbiBWKGUsdCl7cmV0dXJuIUwoZSkmJiFMKHQpJiYhKGU9PT10fHwhVyhlKSYmIVcodCkpfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIDExPT09ZX1mdW5jdGlvbiBCKGUpe3JldHVybi0xIT09Zi5pbmRleE9mKGUpfWZ1bmN0aW9uIEcoZSl7cmV0dXJuIDE3IT09ZSYmMTghPT1lJiYyMCE9PWUmJkIoZSl9ZnVuY3Rpb24gUihlKXtyZXR1cm4gSShlKXx8QihlKX1mdW5jdGlvbiBUKGUpe3N3aXRjaChlKXtjYXNlIDM6Y2FzZSAxMDpjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTM6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gRihlKXtzd2l0Y2goZSl7Y2FzZSAxNjpjYXNlIDIxOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEUoZSl7cmV0dXJuIWMuU1lNQk9MX1NUUklOR19EQVRBW2VdfWZ1bmN0aW9uIHgoZSx0KXtSKGUpJiYoMTEhPT1lJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFN0eWxlIixlKSxFKGUpJiZEKGUpLFdlKHQpJiZUKGUpJiZhLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFNpbmdsZVZhbHVlQmFzZWRTdHlsZSIsZSkpfWZ1bmN0aW9uIEQoZSl7YS5zZXRWYWx1ZSgiY2hhcnQucmF3RGF0YVN0eWxlIixlKX1mdW5jdGlvbiBNKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTdHlsZSIpO3JldHVybiB2b2lkIDA9PT1lPzE6ZX1mdW5jdGlvbiBBKCl7Y29uc3QgZT1hLmdldEludCgiY2hhcnQubGFzdFVzZWRTaW5nbGVWYWx1ZUJhc2VkU3R5bGUiKTtyZXR1cm4gdm9pZCAwPT09ZT8xNDplfWZ1bmN0aW9uIFAoKXtyZXR1cm4gYS5nZXRJbnQoImNoYXJ0LnJhd0RhdGFTdHlsZSIsMSl9ZnVuY3Rpb24gTihlKXthLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIsZSl9ZnVuY3Rpb24gVSgpe3JldHVybiBhLmdldFZhbHVlKCJjaGFydC5sYXN0VXNlZE1ldHJpYyIpPz9udWxsfWZ1bmN0aW9uIE8oZSl7cmV0dXJuIGU/MTE6MX1mdW5jdGlvbiBxKGUsdCl7Y29uc3Qgcz1MKHQpLG49aS5JbnRlcnZhbC5pc1JhbmdlKGUpO3JldHVybiFzJiZuP08oITApOnMmJiFuP08oITEpOnR9ZnVuY3Rpb24gJChlLHQscyl7Y29uc3Qgbj1jLlNZTUJPTF9TVFJJTkdfREFUQVtlXTtpZih2b2lkIDA9PT1uKXJldHVybiBudWxsO2NvbnN0IGk9KDAsYy5pc0NoYXJ0U3R5bGVTdHVkeUluZm9Db21wbGV4KShuKT9uLnNlbGVjdG9yKHM/P3t9KTpuO3JldHVybiB0P2Ake2kudHlwZX0tJHtpLmJhc2ljU3R1ZHlWZXJzaW9ufWA6aS50eXBlfWZ1bmN0aW9uIGooZSl7Y29uc3QgdD1lLnByaWNlQXhpc1Byb3BlcnRpZXMscz10LmxvY2tTY2FsZS52YWx1ZSgpLG49Nj09PWUuc3R5bGUudmFsdWUoKTsobnx8cykmJih0LmxvZy5zZXRWYWx1ZSghMSksdC5wZXJjZW50YWdlLnNldFZhbHVlKCExKSksdC5sb2dEaXNhYmxlZC5zZXRWYWx1ZSghKCFuJiYhcykpLHQucGVyY2VudGFnZURpc2FibGVkLnNldFZhbHVlKCEoIW4mJiFzKSl9ZnVuY3Rpb24gSChlKXtyZXR1cm4gQy5pbmNsdWRlcyhlKX1mdW5jdGlvbiB6KGUsdD0iZGVmYXVsdCIscz0hMSl7bGV0IG4saSxyLG8sYT0xMDAsbD0xO2lmKCJkZWZhdWx0Ij09PXQpbnVsbCE9ZSYmKCh7cHJpY2VzY2FsZTphLG1pbm1vdjpsLG1pbm1vdmUyOmksZnJhY3Rpb25hbDpufT1lKSxyPWUudmFyaWFibGVfdGlja19zaXplfHx2b2lkIDApO2Vsc2V7bGV0IGU9dC5zcGxpdCgiLCIpOzMhPT1lLmxlbmd0aCYmKGU9WyIxMDAiLCIxIiwiZmFsc2UiXSksYT1wYXJzZUludChlWzBdKSxsPXBhcnNlSW50KGVbMV0pLG49InRydWUiPT09ZVsyXSxvPSEwfXJldHVybiBzJiYobD0xKSx7cHJpY2VTY2FsZTphLG1pbk1vdmU6bCxmcmFjdGlvbmFsOm4sbWluTW92ZTI6aSx2YXJpYWJsZU1pblRpY2s6cixpZ25vcmVNaW5Nb3ZlOnMsbm9FeHBvbmVudGlhbEZvcm06b319ZnVuY3Rpb24gWShlLHQscz0hMSl7Y29uc3R7cHJpY2VTY2FsZTpuLG1pbk1vdmU6aSxmcmFjdGlvbmFsOnIsbWluTW92ZTI6byx2YXJpYWJsZU1pblRpY2s6YSxub0V4cG9uZW50aWFsRm9ybTpsfT16KGUsdCxzKTtpZihudWxsIT1lKXtjb25zdCBsPWUuZm9ybWF0O2lmKCJkZWZhdWx0Ij09PXQmJiJ2b2x1bWUiPT09bClyZXR1cm4gbmV3IGQuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pO2lmKCJwZXJjZW50Ij09PWwpcmV0dXJuIG5ldyB5LlBlcmNlbnRhZ2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6bixtaW5Nb3ZlOmksZnJhY3Rpb25hbDpyLG1pbk1vdmUyOm8sdmFyaWFibGVNaW5UaWNrOmEsaWdub3JlTWluTW92ZTpzfSl9cmV0dXJuIG5ldyBoLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOm4sbWluTW92ZTppLGZyYWN0aW9uYWw6cixtaW5Nb3ZlMjpvLHZhcmlhYmxlTWluVGljazphLGlnbm9yZU1pbk1vdmU6cyxub0V4cG9uZW50aWFsRm9ybTpsfSl9ZnVuY3Rpb24gSyhlKXtyZXR1cm4gbnVsbCE9PWUmJiEoMCx1LmlzU3ByZWFkKShlLnR5cGUpfWZ1bmN0aW9uIFgoZSx0LHMpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IG49IXR8fHM/ZS5jdXJyZW5jeV9pZDplLmN1cnJlbmN5X2NvZGU7cmV0dXJuIHZvaWQgMD09PW58fCIiPT09bnx8InBjdCI9PT1uP251bGw6bn1mdW5jdGlvbiBKKGUsdCl7Y29uc3Qgcz10P2Uub3JpZ2luYWxfY3VycmVuY3lfY29kZTplLm9yaWdpbmFsX2N1cnJlbmN5X2lkO3JldHVybiJwY3QiPT09cz9udWxsOnM/P1goZSx0KX1mdW5jdGlvbiBRKGUpe3JldHVybiBlLmJhc2VfY3VycmVuY3lfaWR8fG51bGx9ZnVuY3Rpb24gWihlKXtpZihudWxsPT09ZXx8IUsoZSkpcmV0dXJuITE7Y29uc3QgdD1KKGUpCjtyZXR1cm4gbnVsbCE9PXQmJnQhPT1YKGUpfWZ1bmN0aW9uIGVlKGUsdCl7cmV0dXJuIHQmJm51bGwhPT1lJiYhKDAsdS5pc1NwcmVhZCkoZS50eXBlKX1mdW5jdGlvbiB0ZShlLHQpe2lmKG51bGw9PT1lfHwhdClyZXR1cm4gbnVsbDtjb25zdCBzPWUudW5pdF9pZDtyZXR1cm4gdm9pZCAwPT09c3x8IiI9PT1zP251bGw6c31mdW5jdGlvbiBzZShlLHQpe3JldHVybiB0P2Uub3JpZ2luYWxfdW5pdF9pZHx8dGUoZSx0KTpudWxsfWZ1bmN0aW9uIG5lKGUsdCl7cmV0dXJuIHQmJmUubWV0cmljcz8uY3VycmVudHx8bnVsbH1mdW5jdGlvbiBpZShlLHQpe3JldHVybiB0P2UubWV0cmljcz8uZGVmYXVsdHx8bmUoZSx0KTpudWxsfWZ1bmN0aW9uIHJlKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IWVlKGUsdCkpJiYodm9pZCAwIT09ZS5vcmlnaW5hbF91bml0X2lkJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1lLnVuaXRfaWQpfWZ1bmN0aW9uIG9lKGUsdCl7cmV0dXJuIShudWxsPT09ZXx8IXQpJiYodm9pZCAwIT09ZT8ubWV0cmljcz8uZGVmYXVsdCYmZT8ubWV0cmljcz8uZGVmYXVsdCE9PWU/Lm1ldHJpY3M/LmN1cnJlbnQpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiBCb29sZWFuKGU/Lm1ldHJpY3M/LmN1cnJlbnQmJiJwcmljZSIhPT1lLm1ldHJpY3MuY3VycmVudCl9ZnVuY3Rpb24gbGUoZSx0KXtyZXR1cm4gbnVsbCE9PWUmJmVlKGUsdCk/ZS51bml0X2NvbnZlcnNpb25fdHlwZXN8fG51bGw6W119ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIG51bGwhPT1lJiZ2b2lkIDAhPT1lLnN1YnNlc3Npb25zJiZlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJwcmVtYXJrZXQiPT09ZS5pZHx8InBvc3RtYXJrZXQiPT09ZS5pZCkpfWZ1bmN0aW9uIGNlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4iMjRoIj09PWUuaWQpKX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gbnVsbCE9PWUmJnZvaWQgMCE9PWUuc3Vic2Vzc2lvbnMmJihlLnN1YnNlc3Npb25zLnNvbWUoKGU9PiJyZWd1bGFyIj09PWUuaWQpKSYmZS5zdWJzZXNzaW9ucy5zb21lKChlPT4idXNfcmVndWxhciI9PT1lLmlkKSkpfWZ1bmN0aW9uIGRlKGUpe3JldHVybiBudWxsIT09ZSYmdm9pZCAwIT09ZS5zdWJzZXNzaW9ucyYmZS5zdWJzZXNzaW9ucy5maWx0ZXIoKGU9PiFlLnByaXZhdGUpKS5sZW5ndGg+MX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gbnVsbCE9PWUmJigoMCx1LmlzRm9yZXhTeW1ib2wpKGUudHlwZSl8fCgwLGIuaXNDRkRTeW1ib2wpKGUudHlwZSxlLnR5cGVzcGVjcyl8fCgwLHUuaGFzQ3J5cHRvVHlwZXNwZWMpKGUudHlwZXNwZWNzfHxbXSkpfWZ1bmN0aW9uIGJlKGUsdCl7cmV0dXJuKDAscC5leHRyYWN0U3ltYm9sTmFtZUZyb21TeW1ib2xJbmZvKShlLG51bGwsITAsITApfHx0fWZ1bmN0aW9uIG1lKGUsdCl7cmV0dXJuIGU/ZS50aWNrZXI/P2UucHJvX25hbWU/P3Q6dH1jb25zdCBwZT0iwrciO2Z1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIEJlKGUpP2Uuc291cmNlMj8uZGVzY3JpcHRpb24/P251bGw6bnVsbH1mdW5jdGlvbiBfZShlLHQpe2NvbnN0IHM9UmUoZSk7cmV0dXJuIHR8fF8/ZS5uYW1lOmAke2UubmFtZX0gJHtwZX0gJHtzfWB9ZnVuY3Rpb24gZ2UoZSl7bGV0IHQ9ZSYmKGZ1bmN0aW9uKGUpe3JldHVybigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZlLmZyb250X2NvbnRyYWN0fHxudWxsfShlKXx8ZS5uYW1lKXx8IiI7cmV0dXJuIHQubGVuZ3RoPjQwJiYodD10LnN1YnN0cmluZygwLDM3KSsiLi4uIiksdC50cmltKCl9ZnVuY3Rpb24gdmUoZSl7Y29uc3QgdD1lP2UuZXhjaGFuZ2U6IiI7cmV0dXJuIFM/dC50b1VwcGVyQ2FzZSgpOnR9ZnVuY3Rpb24gd2UoZSx0KXtyZXR1cm4gbnVsbCE9PWU/ZS5mdWxsX25hbWU6dH1mdW5jdGlvbiBmZShlLHQpe3JldHVybiBlPy5wcm9fbmFtZT8/dH1mdW5jdGlvbiBDZShlLHQpe3dpbmRvdztyZXR1cm5bInN0b2NrIiwiZnVuZCIsImluZGV4IiwiZHIiXS5pbmNsdWRlcyh0LnR5cGUpJiYicmVndWxhciI9PT1lfHwoMCx1LmlzRnV0dXJlcykodC50eXBlKSYmInVzX3JlZ3VsYXIiPT09ZX1mdW5jdGlvbiBrZShlKXtyZXR1cm4iMjRoIj09PWV9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuImMiPT09ZT8udmlzaWJsZV9wbG90c19zZXR9ZnVuY3Rpb24gSWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoInVuaXQiPT09ZS5tZWFzdXJlJiZudWxsIT09VmUoZSkpfWZ1bmN0aW9uIFZlKGUpe3JldHVybiBlPy52YWx1ZV91bml0X2lkPz9udWxsfWZ1bmN0aW9uIExlKGUpe3JldHVybiJvaGxjdiI9PT1lLnZpc2libGVfcGxvdHNfc2V0fWZ1bmN0aW9uIEJlKGUpe3JldHVybiBudWxsIT09ZSYmKDAsdS5pc0Vjb25vbWljU3ltYm9sKShlLnR5cGUpfWZ1bmN0aW9uIEdlKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNTcHJlYWQpKGUudHlwZSl9KGUpJiYoZT8ubGVncz8/W10pLmxlbmd0aD4xfWZ1bmN0aW9uIFJlKGUpe2NvbnN0IHQ9U2UoZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQ7cmV0dXJuKDAsbC5vbldpZGdldCkoKXx8KDAsdS5pc0ZvcmV4U3ltYm9sKShlLnR5cGUpP2UuZXhjaGFuZ2U6ZS5leGNoYW5nZV9saXN0ZWRfbmFtZT8/ZS5leGNoYW5nZX1mdW5jdGlvbiBUZShlKXtyZXR1cm4gZS5leGNoYW5nZX1mdW5jdGlvbiBGZShlKXtyZXR1cm4gbnVsbCE9PWUmJigwLHUuaXNGdXR1cmVzKShlLnR5cGUpJiZCb29sZWFuKGUuaGFzX2JhY2thZGp1c3RtZW50JiZlLnR5cGVzcGVjcz8uaW5jbHVkZXMoImNvbnRpbnVvdXMiKSl9ZnVuY3Rpb24gRWUoZSl7cmV0dXJuIG51bGwhPT1lJiYoMCx1LmlzRnV0dXJlcykoZS50eXBlKSYmIUJvb2xlYW4oZS50eXBlc3BlY3M/LmluY2x1ZGVzKCJjb250aW51b3VzIikpfWZ1bmN0aW9uIHhlKGUpe3JldHVybigwLG4uY29tYmluZSkoKCh0LHMsbik9Pntzd2l0Y2godCl7Y2FzZSA0Ontjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCkKO3JldHVybiBudWxsIT09dCYmKCJyZXNvbHV0aW9uX25vdF9lbnRpdGxlZCI9PT10fHwiY3VzdG9tX3Jlc29sdXRpb24iPT09dHx8InNlY29uZHNfbm90X2VudGl0bGVkIj09PXR8fCJ0aWNrc19ub3RfZW50aXRsZWQiPT09dHx8dC5zdGFydHNXaXRoKCJzdHVkeV9ub3RfYXV0aDoiKSk/bnVsbDp7dHlwZToiaW52YWxpZF9zeW1ib2wifX1jYXNlIDEzOntjb25zdCB0PWUuc2VyaWVzRXJyb3JNZXNzYWdlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6ImNhbGN1bGF0aW9uc19lcnJvciIsZXJyb3JNZXNzYWdlOnR9fWNhc2UgMTQ6e2NvbnN0IHQ9ZS51bnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSgpLnZhbHVlKCk7cmV0dXJuIG51bGw9PT10P251bGw6e3R5cGU6InVuc3VwcG9ydGVkX3Jlc29sdXRpb24iLHJlYXNvbjp0LnJlYXNvbn19Y2FzZSAxOmNhc2UgMjpyZXR1cm4gbnVsbDtkZWZhdWx0OmlmKHMpcmV0dXJuIG4/e3R5cGU6Imlwb19wcmljZWQifTp7dHlwZToibm9fZGF0YSJ9fXJldHVybiBudWxsfSksZS5zdGF0dXNXVigpLndlYWtSZWZlcmVuY2UoKSwoMCxtLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKHQ9PnZvaWQgMCE9PXQmJighZS5iYXJzKCkuc2l6ZSgpJiYhZS5uc0JhcnMoKS5zaXplKCkmJiFlLmlzSW5SZXBsYXkoKS52YWx1ZSgpKSksZS5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKSkub3duZXJzaGlwKCksKDAsbi5jb21iaW5lKSgoKGUsdCk9PnQ/InByaWNlZCI9PT1lPy5pcG9fb2ZmZXJfc3RhdHVzOm51bGwpLGUucXVvdGVzUHJvdmlkZXIoKS5xdW90ZXMoKS53ZWFrUmVmZXJlbmNlKCksZS5xdW90ZXNQcm92aWRlcigpLmNvbXBsZXRlZCgpLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpfWZ1bmN0aW9uIERlKGUpe3JldHVybiBNYXRoLm1heCgwLGU/LmRlbGF5Pz8wKX19LDc3NzY2MShlLHQscyl7cy5kKHQse3N0dWR5VHBvUHJlcmlvZGljSWQ6KCk9Pm4sc3R1ZHlUcG9TZXNzaW9uc0lkOigpPT5pfSk7Y29uc3Qgbj0iVFBPUGVyaW9kaWNAdHYtdm9sdW1lYnlwcmljZSIsaT0iVFBPU2Vzc2lvbnNAdHYtdm9sdW1lYnlwcmljZSJ9LDcyODQzNihlLHQscyl7cy5kKHQse3N0dWR5Vm9sRm9vdHByaW50SWQ6KCk9Pm59KTtjb25zdCBuPSJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSJ9LDU1MDM5MyhlLHQscyl7cy5kKHQse3N0dWR5VmJQU2Vzc2lvbnNJZDooKT0+bn0pO2NvbnN0IG49IlZiUFNlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UifSw3Nzg5NDYoZSx0LHMpe3ZhciBuO3MuZCh0LHtnZXRQbGF0Zm9ybTooKT0+b30pLGZ1bmN0aW9uKGUpe2UuRGVza3RvcD0iZGVza3RvcCIsZS5XZWI9IndlYiIsZS5JT1M9ImlvcyIsZS5BbmRyb2lkPSJhbmRyb2lkIn0obnx8KG49e30pKTt2YXIgaT1zKDExNzMxMykscj1zKDMxODk3NCk7ZnVuY3Rpb24gbygpe3JldHVybigwLHIuaXNEZXNrdG9wQXBwKSgpPyJkZXNrdG9wIjooMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgib2xkIik/ImlvcyI6KDAsaS5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpPyJhbmRyb2lkIjoid2ViIn19fV0pOw=="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:48.223Z","timestamp":1785136428223,"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":"*.google-analytics.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:33 GMT","end":"Mon, 21 Sep 2026 08:37:32 GMT"},"fingerprint":{"sha1":"85:82:80:E9:F0:BC:08:B5:D8:5D:91:B4:E5:D3:DB:B1:A7:2F:E3:F3","sha256":"E3:94:E9:DA:2C:F1:36:09:33:63:D3:69:08:E7:E6:91:8D:F3:61:7F:0F:D0:5F:8E:B6:E9:D7:F3:DD:10:3C:DC"}}},"request":{"raw":"GET /gtag/js?id=G-V84XP8WGXY HTTP/1.1\r\nHost: www.googletagmanager.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\ncontent-type: application/javascript; charset=UTF-8\r\naccess-control-allow-origin: *\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control\r\ncontent-encoding: zstd\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 07:13:48 GMT\r\nexpires: Mon, 27 Jul 2026 07:13:48 GMT\r\ncache-control: private, max-age=900\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\nserver: Google Tag Manager\r\ncontent-length: 166346\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]}],"data":{"size":488553,"size_decoded":166950,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"2ca987f27dbee6434faaa87c0bb3775e","sha1":"1514e49aadd900d255d2b68832184a9475dbbd4c","sha256":"9ecf53ae7638eb4eae44692512062b0efde9485d80d3c4e073b71d8449325bed","sha512":"d1370434890d0efd043b9d565d6ce4a6f3b6f3fe8cd770692c994332b0792a035e68789e2d02c8f2387d5cc9003c3d1f5437f9566096b888338511cf11387ea2","ssdeep":"6144:/yH5RU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/85C1WLP69VwqxVZOvg","tlshash":"17a4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T07:02:55.664103Z","last_seen":"2026-07-27T14:57:18.250575Z","times_seen":250,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hFSThJT2Mwd1lRZ09tc2t2dWx4S3FSQVJJZEFMMlBZWmFzNEo1RE8vLzVIc2p6aTJxK1ZKU0NtVXAzTTJJUTZkWWFBckRPIiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTsKfSxoYT1jYSh0aGlzKSxpYT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCIsa2E9e30sbGE9e30sbmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXt2YXIgZD1sYVtiXTtpZihkPT1udWxsKXJldHVybiBhW2JdO3ZhciBlPWFbZF07cmV0dXJuIGUhPT12b2lkIDA/ZTphW2JdfX0sb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpYTp7dmFyIGQ9YS5zcGxpdCgiLiIpLGU9ZC5sZW5ndGg9PT0xLGY9ZFswXSxnOyFlJiZmIGluIGthP2c9a2E6Zz1oYTtmb3IodmFyIGg9MDtoPGQubGVuZ3RoLTE7aCsrKXt2YXIgbD1kW2hdO2lmKCEobCBpbiBnKSlicmVhayBhO2c9Z1tsXX12YXIgbj1kW2QubGVuZ3RoLTFdLHA9aWEmJmM9PT0iZXM2Ij9nW25dOm51bGwscT1iKHApO2lmKHEhPW51bGwpaWYoZSliYShrYSxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pO2Vsc2UgaWYocSE9PXApe2lmKGxhW25dPT09dm9pZCAwKXt2YXIgcj0KTWF0aC5yYW5kb20oKSoxRTk+Pj4wO2xhW25dPWlhP2hhLlN5bWJvbChuKToiJGpzY3AkIityKyIkIitufWJhKGcsbGFbbl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpxfSl9fX0scGE7aWYoaWEmJnR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpcGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHJhO2E6e3ZhciB0YT17YTohMH0sdWE9e307dHJ5e3VhLl9fcHJvdG9fXz10YTtyYT11YS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXJhPSExfXBhPXJhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYX06bnVsbH0KdmFyIHZhPXBhLHdhPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9YWEoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYodmEpdmEoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLkZ0PWIucHJvdG90eXBlfSx4YT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sbT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6eGEoYSl9Owp0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSx5YT1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTtyZXR1cm4gY30sdz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEFycmF5P2E6eWEobShhKSl9LEFhPWZ1bmN0aW9uKGEpe3JldHVybiB6YShhLGEpfSx6YT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9LEJhPWlhJiZ0eXBlb2YgbmEoT2JqZWN0LCJhc3NpZ24iKT09ImZ1bmN0aW9uIj9uYShPYmplY3QsImFzc2lnbiIpOmZ1bmN0aW9uKGEsYil7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBudWxsaXNoIGFyZyIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTsKaWYoZClmb3IodmFyIGUgaW4gZClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O29hKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmF9LCJlczYiKTt2YXIgQ2E9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRvciByZXN1bHQgIithKyIgaXMgbm90IGFuIG9iamVjdCIpO30sRGE9ZnVuY3Rpb24oKXt0aGlzLmZhPSExO3RoaXMuUj1udWxsO3RoaXMuamE9dm9pZCAwO3RoaXMuSD0xO3RoaXMuTj10aGlzLlo9MDt0aGlzLkxhPXRoaXMuSz1udWxsfSxFYT1mdW5jdGlvbihhKXtpZihhLmZhKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTthLmZhPSEwfTtEYS5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7dGhpcy5qYT1hfTsKdmFyIEdhPWZ1bmN0aW9uKGEsYil7YS5LPXthbzpiLGlzRXhjZXB0aW9uOiEwfTthLkg9YS5afHxhLk59O0RhLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O0RhLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmphfTtEYS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGEpe3RoaXMuSz17cmV0dXJuOmF9O3RoaXMuSD10aGlzLk59O0RhLnByb3RvdHlwZVsicmV0dXJuIl09RGEucHJvdG90eXBlLnJldHVybjtEYS5wcm90b3R5cGUuQWo9ZnVuY3Rpb24oYSl7dGhpcy5LPXtuZDphfTt0aGlzLkg9dGhpcy5OfTtEYS5wcm90b3R5cGUuanVtcFRocm91Z2hGaW5hbGx5QmxvY2tzPURhLnByb3RvdHlwZS5BajtEYS5wcm90b3R5cGUuYWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9YjtyZXR1cm57dmFsdWU6YX19O0RhLnByb3RvdHlwZS55aWVsZD1EYS5wcm90b3R5cGUuYWM7CkRhLnByb3RvdHlwZS54cz1mdW5jdGlvbihhLGIpe3ZhciBjPW0oYSksZD1jLm5leHQoKTtDYShkKTtpZihkLmRvbmUpdGhpcy5qYT1kLnZhbHVlLHRoaXMuSD1iO2Vsc2UgcmV0dXJuIHRoaXMuUj1jLHRoaXMuYWMoZC52YWx1ZSxiKX07RGEucHJvdG90eXBlLnlpZWxkQWxsPURhLnByb3RvdHlwZS54cztEYS5wcm90b3R5cGUubmQ9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O0RhLnByb3RvdHlwZS5qdW1wVG89RGEucHJvdG90eXBlLm5kO0RhLnByb3RvdHlwZS5Eaj1mdW5jdGlvbigpe3RoaXMuSD0wfTtEYS5wcm90b3R5cGUuanVtcFRvRW5kPURhLnByb3RvdHlwZS5EajtEYS5wcm90b3R5cGUuTmo9ZnVuY3Rpb24oYSxiKXt0aGlzLlo9YTtiIT12b2lkIDAmJih0aGlzLk49Yil9O0RhLnByb3RvdHlwZS5zZXRDYXRjaEZpbmFsbHlCbG9ja3M9RGEucHJvdG90eXBlLk5qO0RhLnByb3RvdHlwZS52Zz1mdW5jdGlvbihhKXt0aGlzLlo9MDt0aGlzLk49YXx8MH07CkRhLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLnZnO0RhLnByb3RvdHlwZS5Jaj1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuWj1ifHwwfTtEYS5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1EYS5wcm90b3R5cGUuSWo7RGEucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfHwwO3ZhciBiPXRoaXMuSy5hbzt0aGlzLks9bnVsbDtyZXR1cm4gYn07RGEucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1EYS5wcm90b3R5cGUuUGg7RGEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuTGFbY109dGhpcy5LOnRoaXMuTGE9W3RoaXMuS107dGhpcy5aPWF8fDA7dGhpcy5OPWJ8fDB9O0RhLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1EYS5wcm90b3R5cGUua2Q7CkRhLnByb3RvdHlwZS5oZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTGEuc3BsaWNlKGJ8fDApWzBdLGQ9dGhpcy5LPXRoaXMuS3x8YztkP2QuaXNFeGNlcHRpb24/dGhpcy5IPXRoaXMuWnx8dGhpcy5OOmQubmQhPXZvaWQgMCYmdGhpcy5OPGQubmQ/KHRoaXMuSD1kLm5kLHRoaXMuSz1udWxsKTp0aGlzLkg9dGhpcy5OOnRoaXMuSD1hfTtEYS5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLmhlO0RhLnByb3RvdHlwZS5mZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEhhKGEpfTtEYS5wcm90b3R5cGUuZm9ySW49RGEucHJvdG90eXBlLmZlO3ZhciBIYT1mdW5jdGlvbihhKXt0aGlzLks9YTt0aGlzLkg9W107Zm9yKHZhciBiIGluIGEpdGhpcy5ILnB1c2goYik7dGhpcy5ILnJldmVyc2UoKX07SGEucHJvdG90eXBlLmhvPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLkgubGVuZ3RoPjA7KXt2YXIgYT10aGlzLkgucG9wKCk7aWYoYSBpbiB0aGlzLkspcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpIYS5wcm90b3R5cGUuZ2V0TmV4dD1IYS5wcm90b3R5cGUuaG87CnZhciBJYT1mdW5jdGlvbihhKXt0aGlzLkg9bmV3IERhO3RoaXMuSz1hfSxMYT1mdW5jdGlvbihhLGIpe0VhKGEuSCk7dmFyIGM9YS5ILlI7aWYoYylyZXR1cm4gSmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5ILnJldHVybik7YS5ILnJldHVybihiKTtyZXR1cm4gS2EoYSl9LEphPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5ILlIsYyk7Q2EoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5ILmZhPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5ILlI9bnVsbCxHYShhLkgsZyksS2EoYSl9YS5ILlI9bnVsbDtkLmNhbGwoYS5ILGYpO3JldHVybiBLYShhKX0sS2E9ZnVuY3Rpb24oYSl7Zm9yKDthLkguSDspdHJ5e3ZhciBiPWEuSyhhLkgpO2lmKGIpcmV0dXJuIGEuSC5mYT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChkKXthLkguamE9dm9pZCAwLEdhKGEuSCwKZCl9YS5ILmZhPSExO2lmKGEuSC5LKXt2YXIgYz1hLkguSzthLkguSz1udWxsO2lmKGMuaXNFeGNlcHRpb24pdGhyb3cgYy5hbztyZXR1cm57dmFsdWU6Yy5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX0sTWE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe3ZhciBjO0VhKGEuSCk7YS5ILlI/Yz1KYShhLGEuSC5SLm5leHQsYixhLkgueWEpOihhLkgueWEoYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7dmFyIGM7RWEoYS5IKTthLkguUj9jPUphKGEsYS5ILlJbInRocm93Il0sYixhLkgueWEpOihHYShhLkgsYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBMYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LE5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hKG5ldyBJYShiKSk7dmEmJmEucHJvdG90eXBlJiZ2YShjLAphLnByb3RvdHlwZSk7cmV0dXJuIGN9LE9hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9LFFhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgUmE9dGhpc3x8c2VsZixTYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5GdD1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EubnY9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTt2YXIgVGE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmRhdGE9Yn07dmFyIFVhPWZ1bmN0aW9uKCl7dGhpcy5tYXA9e307dGhpcy5IPXt9fTtVYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcFsiZHVzdC4iK2FdfTtVYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9ImR1c3QuIithO3RoaXMuSC5oYXNPd25Qcm9wZXJ0eShjKXx8KHRoaXMubWFwW2NdPWIpfTtVYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eSgiZHVzdC4iK2EpfTtVYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPSJkdXN0LiIrYTt0aGlzLkguaGFzT3duUHJvcGVydHkoYil8fGRlbGV0ZSB0aGlzLm1hcFtiXX07CnZhciBWYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYS5tYXApaWYoYS5tYXAuaGFzT3duUHJvcGVydHkoZCkpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO3N3aXRjaChiKXtjYXNlIDE6Yy5wdXNoKGUpO2JyZWFrO2Nhc2UgMjpjLnB1c2goYS5tYXBbZF0pO2JyZWFrO2Nhc2UgMzpjLnB1c2goW2UsYS5tYXBbZF1dKX19cmV0dXJuIGN9O1VhLnByb3RvdHlwZS5GYT1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLDEpfTtVYS5wcm90b3R5cGUuaGM9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcywyKX07VWEucHJvdG90eXBlLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsMyl9O3ZhciBXYT1mdW5jdGlvbigpe307V2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7fTt2YXIgWGE9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9O3RoaXMucHJlZml4PSJndG0uIn07az1YYS5wcm90b3R5cGU7ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnZhbHVlW3RoaXMucHJlZml4K1N0cmluZyhhKV09Yn07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVbdGhpcy5wcmVmaXgrU3RyaW5nKGEpXX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWUuaGFzT3duUHJvcGVydHkodGhpcy5wcmVmaXgrU3RyaW5nKGEpKX07ay5kZWxldGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5wcmVmaXgrU3RyaW5nKGEpO3JldHVybiB0aGlzLnZhbHVlLmhhc093blByb3BlcnR5KGIpPyhkZWxldGUgdGhpcy52YWx1ZVtiXSwhMCk6ITF9O2suY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9fTsKay52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbiBjKCl7dmFyIGQsZSxmO3JldHVybiBOYShjLGZ1bmN0aW9uKGcpe3N3aXRjaChnLkgpe2Nhc2UgMTpnLnZnKDIpLGU9Zy5mZShhLnZhbHVlKTtjYXNlIDQ6aWYoKGQ9ZS5obygpKT09bnVsbCl7Zy5uZCgyKTticmVha31pZighYS52YWx1ZS5oYXNPd25Qcm9wZXJ0eShkKSl7Zy5uZCg0KTticmVha31mPVFhO3JldHVybiBnLmFjKGEudmFsdWVbZF0sOCk7Y2FzZSA4OmYoZy5qYSk7Zy5uZCg0KTticmVhaztjYXNlIDI6Zy5rZCgpLGcuaGUoMCl9fSl9KCl9O2hhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFhhLnByb3RvdHlwZSx7c2l6ZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLmxlbmd0aH19fSk7CmZ1bmN0aW9uIFlhKCl7dHJ5e2lmKE1hcClyZXR1cm4gbmV3IE1hcH1jYXRjaChhKXt9cmV0dXJuIG5ldyBYYX07dmFyIFphPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZXM9W119O1phLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZXMuaW5kZXhPZihhKT09PS0xJiZ0aGlzLnZhbHVlcy5wdXNoKGEpfTtaYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnZhbHVlcy5pbmRleE9mKGEpPi0xfTt2YXIgJGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmZhPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLlI9dGhpcy5LPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuTj1mdW5jdGlvbihkLGUsZil7cmV0dXJuIGQuYXBwbHkoZSxmKX07dGhpcy5IPVlhKCk7dmFyIGM7YTp7dHJ5e2lmKFNldCl7Yz1uZXcgU2V0O2JyZWFrIGF9fWNhdGNoKGQpe31jPW5ldyBaYX10aGlzLlo9Y307JGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2FiKHRoaXMsYSxiLCExKX07JGEucHJvdG90eXBlLlFoPWZ1bmN0aW9uKGEsYil7YWIodGhpcyxhLGIsITApfTt2YXIgYWI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5IYnx8YS5aLmhhcyhiKXx8KGQmJmEuWi5hZGQoYiksYS5ILnNldChiLGMpKX07az0kYS5wcm90b3R5cGU7Cmsuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLkguaGFzKGEpJiZ0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaGFzKGEpP3RoaXMucGFyZW50LnNldChhLGIpOnRoaXMuWi5oYXMoYSl8fHRoaXMuSC5zZXQoYSxiKSl9O2suZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkguaGFzKGEpP3RoaXMuSC5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLkguaGFzKGEpfHwhKCF0aGlzLnBhcmVudHx8IXRoaXMucGFyZW50LmhhcyhhKSl9O2sud2I9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgJGEodGhpcy5mYSx0aGlzKTt0aGlzLksmJmEuUWIodGhpcy5LKTthLnNkKHRoaXMuTik7YS51ZSh0aGlzLlIpO3JldHVybiBhfTtrLmplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmF9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5LPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTsKay5zZD1mdW5jdGlvbihhKXt0aGlzLk49YX07ay5Qaj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk59O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkhiPSEwfTtrLnVlPWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLnhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUn07dmFyIGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtkPUVycm9yLmNhbGwodGhpcyxhLm1lc3NhZ2UpO3RoaXMubWVzc2FnZT1kLm1lc3NhZ2U7InN0YWNrImluIGQmJih0aGlzLnN0YWNrPWQuc3RhY2spO3RoaXMudm89YTt0aGlzLlNuPWM9PT12b2lkIDA/ITE6Yzt0aGlzLks9W107dGhpcy5IPWJ9O3dhKGJiLEVycm9yKTt2YXIgY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBiYj9hOm5ldyBiYihhLHZvaWQgMCwhMCl9O3ZhciBkYj1ZYSgpO2Z1bmN0aW9uIGViKGEsYil7Zm9yKHZhciBjLGQ9bShiKSxlPWQubmV4dCgpOyFlLmRvbmUmJiEoYz1mYihhLGUudmFsdWUpLGMgaW5zdGFuY2VvZiBUYSk7ZT1kLm5leHQoKSk7cmV0dXJuIGN9ZnVuY3Rpb24gZmIoYSxiKXt0cnl7dmFyIGM9YlswXSxkPWIuc2xpY2UoMSksZT1TdHJpbmcoYyksZj1kYi5oYXMoZSk/ZGIuZ2V0KGUpOmEuZ2V0KGUpO2lmKCFmfHx0eXBlb2YgZi5pbnZva2UhPT0iZnVuY3Rpb24iKXRocm93IGNiKEVycm9yKCJBdHRlbXB0aW5nIHRvIGV4ZWN1dGUgbm9uLWZ1bmN0aW9uICIrYlswXSsiLiIpKTtyZXR1cm4gZi5hcHBseShhLGQpfWNhdGNoKGgpe3ZhciBnPWEuZm8oKTtnJiZnKGgsYi5jb250ZXh0P3tpZDpiWzBdLGxpbmU6Yi5jb250ZXh0LmxpbmV9Om51bGwpO3Rocm93IGg7fX07dmFyIGdiPWZ1bmN0aW9uKCl7dGhpcy5LPW5ldyBXYTt0aGlzLkg9bmV3ICRhKHRoaXMuSyl9O2s9Z2IucHJvdG90eXBlO2suamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTtrLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07ay5zZD1mdW5jdGlvbihhKXt0aGlzLkguc2QoYSl9O2suZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yayhbYV0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpfTtrLnJrPWZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9bShPYS5hcHBseSgwLGFyZ3VtZW50cykpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWE9ZmIodGhpcy5ILGMudmFsdWUpO3JldHVybiBhfTtrLkpxPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKSxjPXRoaXMuSC53YigpO2MudWUoYSk7Zm9yKHZhciBkLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlkPWZiKGMsZi52YWx1ZSk7cmV0dXJuIGR9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07dmFyIGhiPWZ1bmN0aW9uKGEsYil7dGhpcy5SPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLk49dGhpcy5IPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuSz1mdW5jdGlvbihjLGQsZSl7cmV0dXJuIGMuYXBwbHkoZCxlKX07dGhpcy52YWx1ZXM9bmV3IFVhfTtoYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7amIodGhpcyxhLGIsITEpfTtoYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oYSxiKXtqYih0aGlzLGEsYiwhMCl9O3ZhciBqYj1mdW5jdGlvbihhLGIsYyxkKXtpZighYS5IYilpZihkKXt2YXIgZT1hLnZhbHVlcztlLnNldChiLGMpO2UuSFsiZHVzdC4iK2JdPSEwfWVsc2UgYS52YWx1ZXMuc2V0KGIsYyl9O2s9aGIucHJvdG90eXBlO2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLnZhbHVlcy5oYXMoYSkmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5oYXMoYSk/dGhpcy5wYXJlbnQuc2V0KGEsYik6dGhpcy52YWx1ZXMuc2V0KGEsYikpfTsKay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhhKT90aGlzLnZhbHVlcy5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLnZhbHVlcy5oYXMoYSl8fCEoIXRoaXMucGFyZW50fHwhdGhpcy5wYXJlbnQuaGFzKGEpKX07ay53Yj1mdW5jdGlvbigpe3ZhciBhPW5ldyBoYih0aGlzLlIsdGhpcyk7dGhpcy5IJiZhLlFiKHRoaXMuSCk7YS5zZCh0aGlzLkspO2EudWUodGhpcy5OKTtyZXR1cm4gYX07ay5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IfTtrLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSz1hfTtrLlBqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS307ay5aYT1mdW5jdGlvbigpe3RoaXMuSGI9ITB9O2sudWU9ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2sueGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTt2YXIga2I9ZnVuY3Rpb24oKXt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhfTtrPWtiLnByb3RvdHlwZTtrLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5nZXQoYSl9O2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5OYXx8dGhpcy5sYS5zZXQoYSxiKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuaGFzKGEpfTtrLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5GYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLkZhKCl9O2suaGM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5oYygpfTtrLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuZmMoKX07ay5aYT1mdW5jdGlvbigpe3RoaXMuTmE9ITB9O2suSGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OYX07ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGE9bWIsYj17fSxjPTA7YzxhLmxlbmd0aDsrK2MpYlthW2NdXT1jO3JldHVybiBifWZ1bmN0aW9uIG5iKCl7dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjthKz1hLnRvTG93ZXJDYXNlKCkrIjAxMjM0NTY3ODktXyI7cmV0dXJuIGErIi4ifXZhciBtYixvYjtmdW5jdGlvbiBwYihhKXttYj1tYnx8bmIoKTtvYj1vYnx8bGIoKTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7Yys9Myl7dmFyIGQ9YysxPGEubGVuZ3RoLGU9YysyPGEubGVuZ3RoLGY9YS5jaGFyQ29kZUF0KGMpLGc9ZD9hLmNoYXJDb2RlQXQoYysxKTowLGg9ZT9hLmNoYXJDb2RlQXQoYysyKTowLGw9Zj4+MixuPShmJjMpPDw0fGc+PjQscD0oZyYxNSk8PDJ8aD4+NixxPWgmNjM7ZXx8KHE9NjQsZHx8KHA9NjQpKTtiLnB1c2gobWJbbF0sbWJbbl0sbWJbcF0sbWJbcV0pfXJldHVybiBiLmpvaW4oIiIpfQpmdW5jdGlvbiBxYihhKXtmdW5jdGlvbiBiKGwpe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBuPWEuY2hhckF0KGQrKykscD1vYltuXTtpZihwIT1udWxsKXJldHVybiBwO2lmKCEvXltcc1x4YTBdKiQvLnRlc3QobikpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrbik7fXJldHVybiBsfW1iPW1ifHxuYigpO29iPW9ifHxsYigpO2Zvcih2YXIgYz0iIixkPTA7Oyl7dmFyIGU9YigtMSksZj1iKDApLGc9Yig2NCksaD1iKDY0KTtpZihoPT09NjQmJmU9PT0tMSlyZXR1cm4gYztjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDJ8Zj4+NCk7ZyE9PTY0JiYoYys9U3RyaW5nLmZyb21DaGFyQ29kZShmPDw0JjI0MHxnPj4yKSxoIT09NjQmJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGc8PDYmMTkyfGgpKSl9fTt2YXIgcmI9e307ZnVuY3Rpb24gc2IoYSxiKXt2YXIgYz1yYlthXTtjfHwoYz1yYlthXT1bXSk7Y1tiXT0hMH1mdW5jdGlvbiB0Yigpe2RlbGV0ZSByYi5HQTRfRVZFTlR9ZnVuY3Rpb24gdWIoKXt2YXIgYT12Yi5ILnNsaWNlKCk7cmIuR1RBR19FVkVOVF9GRUFUVVJFX0NIQU5ORUw9YX1mdW5jdGlvbiB3YihhKXtmb3IodmFyIGI9W10sYz0wLGQ9MDtkPGEubGVuZ3RoO2QrKylkJTg9PT0wJiZkPjAmJihiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSksYz0wKSxhW2RdJiYoY3w9MTw8ZCU4KTtjPjAmJmIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKTtyZXR1cm4gcGIoYi5qb2luKCIiKSkucmVwbGFjZSgvXC4rJC8sIiIpfTtmdW5jdGlvbiB4Yigpe31mdW5jdGlvbiB5YihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIHpiKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIEFiKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiYhaXNOYU4oYSl9ZnVuY3Rpb24gQmIoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19ZnVuY3Rpb24gQ2IoYSxiKXtpZihhJiZBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmIoYVtjXSkpcmV0dXJuIGFbY119ZnVuY3Rpb24gRGIoYSxiKXtpZighQWIoYSl8fCFBYihiKXx8YT5iKWE9MCxiPTIxNDc0ODM2NDc7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooYi1hKzEpK2EpfQpmdW5jdGlvbiBFYihhLGIpe2Zvcih2YXIgYz1uZXcgRmIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWMuc2V0KGFbZF0sITApO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGMuZ2V0KGJbZV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEdiKGEsYil7Zm9yKHZhciBjIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYykmJmIoYyxhW2NdKX1mdW5jdGlvbiBIYihhKXtyZXR1cm4hIWEmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBBcmd1bWVudHNdInx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImNhbGxlZSIpKX1mdW5jdGlvbiBJYihhKXtyZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIoYSkpfHwwfWZ1bmN0aW9uIEpiKGEpe3JldHVybiJmYWxzZSI9PT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKT8hMTohIWF9CmZ1bmN0aW9uIEtiKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKFN0cmluZyhhW2NdKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGIoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik6IiJ9ZnVuY3Rpb24gTWIoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSl9ZnVuY3Rpb24gTmIoKXtyZXR1cm4gTWIoKS5nZXRUaW1lKCl9dmFyIEZiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9Imd0bS4iO3RoaXMudmFsdWVzPXt9fTtGYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV09Yn07RmIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV19O0ZiLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoYSkhPT12b2lkIDB9OwpmdW5jdGlvbiBPYihhLGIsYyl7cmV0dXJuIGEmJmEuaGFzT3duUHJvcGVydHkoYik/YVtiXTpjfWZ1bmN0aW9uIFBiKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPXZvaWQgMDt0cnl7YygpfWNhdGNoKGQpe319fX1mdW5jdGlvbiBRYihhLGIpe2Zvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHkoYykmJihhW2NdPWJbY10pfWZ1bmN0aW9uIFJiKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyljLnB1c2goYVtkXSksYy5wdXNoLmFwcGx5KGMsYlthW2RdXXx8W10pO3JldHVybiBjfWZ1bmN0aW9uIFNiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoMCxiLmxlbmd0aCk9PT1ifWZ1bmN0aW9uIFRiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoYS5sZW5ndGgtYi5sZW5ndGgsYS5sZW5ndGgpPT09Yn0KZnVuY3Rpb24gVWIoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPWEsZT0wO2U8Yi5sZW5ndGgtMTtlKyspe2lmKCFkLmhhc093blByb3BlcnR5KGJbZV0pKXJldHVybjtkPWRbYltlXV07aWYoYy5pbmRleE9mKGQpPj0wKXJldHVybn1yZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYz17fSxkPWMsZT1hLnNwbGl0KCIuIiksZj0wO2Y8ZS5sZW5ndGgtMTtmKyspZD1kW2VbZl1dPXt9O2RbZVtlLmxlbmd0aC0xXV09YjtyZXR1cm4gY312YXIgV2I9L15cd3sxLDl9JC87ZnVuY3Rpb24gWWIoYSxiKXthPWF8fHt9O2I9Ynx8IiwiO3ZhciBjPVtdO0diKGEsZnVuY3Rpb24oZCxlKXtXYi50ZXN0KGQpJiZlJiZjLnB1c2goZCl9KTtyZXR1cm4gYy5qb2luKGIpfQpmdW5jdGlvbiBaYihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hLmNoYXJDb2RlQXQoYyk7ZDwxMjg/Yi5wdXNoKGQpOmQ8MjA0OD9iLnB1c2goMTkyfGQ+PjYsMTI4fGQmNjMpOmQ8NTUyOTZ8fGQ+PTU3MzQ0P2IucHVzaCgyMjR8ZD4+MTIsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpOihkPTY1NTM2KygoZCYxMDIzKTw8MTB8YS5jaGFyQ29kZUF0KCsrYykmMTAyMyksYi5wdXNoKDI0MHxkPj4xOCwxMjh8ZD4+MTImNjMsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9ZnVuY3Rpb24gJGIoYSl7aWYoIWEpcmV0dXJuIGE7dmFyIGI9YTt0cnl7Yj1kZWNvZGVVUklDb21wb25lbnQoYSl9Y2F0Y2goZCl7fXZhciBjPWIuc3BsaXQoIiwiKTtyZXR1cm4gYy5sZW5ndGg9PT0yJiZjWzBdPT09Y1sxXT9jWzBdOmF9CmZ1bmN0aW9uIGFjKGEsYixjKXtmdW5jdGlvbiBkKG4pe3ZhciBwPW4uc3BsaXQoIj0iKVswXTtpZihhLmluZGV4T2YocCk8MClyZXR1cm4gbjtpZihjIT09dm9pZCAwKXJldHVybiBwKyI9IitjfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uc3BsaXQoIiYiKS5tYXAoZCkuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiBwIT09dm9pZCAwfSkuam9pbigiJiIpfXZhciBmPWIuaHJlZi5zcGxpdCgvWz8jXS8pWzBdLGc9Yi5zZWFyY2gsaD1iLmhhc2g7Z1swXT09PSI/IiYmKGc9Zy5zdWJzdHJpbmcoMSkpO2hbMF09PT0iIyImJihoPWguc3Vic3RyaW5nKDEpKTtnPWUoZyk7aD1lKGgpO2chPT0iIiYmKGc9Ij8iK2cpO2ghPT0iIiYmKGg9IiMiK2gpO3ZhciBsPSIiK2YrZytoO2xbbC5sZW5ndGgtMV09PT0iLyImJihsPWwuc3Vic3RyaW5nKDAsbC5sZW5ndGgtMSkpO3JldHVybiBsfQpmdW5jdGlvbiBiYyhhKXtmb3IodmFyIGI9MDtiPDM7KytiKXRyeXt2YXIgYz1kZWNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvXCsvZywiICIpO2lmKGM9PT1hKWJyZWFrO2E9Y31jYXRjaChkKXtyZXR1cm4iIn1yZXR1cm4gYX1mdW5jdGlvbiBjYygpe3ZhciBhPUEsYjthOnt2YXIgYz1hLmNyeXB0b3x8YS5tc0NyeXB0bztpZihjJiZjLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoMjUpO2MuZ2V0UmFuZG9tVmFsdWVzKGQpO2I9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx3KGQpKSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKTticmVhayBhfWNhdGNoKGUpe31iPXZvaWQgMH1yZXR1cm4gYn07LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGRjPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLGVjO2Z1bmN0aW9uIGZjKCl7dmFyIGE9bnVsbDtpZighZGMpcmV0dXJuIGE7dHJ5e3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybiBjfTthPWRjLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYyl7fXJldHVybiBhfWZ1bmN0aW9uIGhjKCl7ZWM9PT12b2lkIDAmJihlYz1mYygpKTtyZXR1cm4gZWN9O3ZhciBpYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07aWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07ZnVuY3Rpb24gamMoYSl7dmFyIGI9YSxjPWhjKCksZD1jP2MuY3JlYXRlU2NyaXB0VVJMKGIpOmI7cmV0dXJuIG5ldyBpYyhkKX1mdW5jdGlvbiBrYyhhKXtpZihhIGluc3RhbmNlb2YgaWMpcmV0dXJuIGEuSDt0aHJvdyBFcnJvcigiIik7fTt2YXIgbGM9QWEoWyIiXSksbWM9emEoWyJceDAwIl0sWyJcXDAiXSksbmM9emEoWyJcbiJdLFsiXFxuIl0pLG9jPXphKFsiXHgwMCJdLFsiXFx1MDAwMCJdKTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gYS50b1N0cmluZygpLmluZGV4T2YoImAiKT09PS0xfXBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKGxjKX0pfHxwYyhmdW5jdGlvbihhKXtyZXR1cm4gYShtYyl9KXx8cGMoZnVuY3Rpb24oYSl7cmV0dXJuIGEobmMpfSl8fHBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKG9jKX0pO3ZhciBxYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07cWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSH07dmFyIHJjPWZ1bmN0aW9uKGEpe3RoaXMuSnM9YX07ZnVuY3Rpb24gc2MoYSl7cmV0dXJuIG5ldyByYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgdGM9W3NjKCJkYXRhIiksc2MoImh0dHAiKSxzYygiaHR0cHMiKSxzYygibWFpbHRvIiksc2MoImZ0cCIpLG5ldyByYyhmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldO2Z1bmN0aW9uIHVjKGEpe3ZhciBiO2I9Yj09PXZvaWQgMD90YzpiO2lmKGEgaW5zdGFuY2VvZiBxYylyZXR1cm4gYTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgcmMmJmQuSnMoYSkpcmV0dXJuIG5ldyBxYyhhKX19dmFyIHZjPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7CmZ1bmN0aW9uIHdjKGEpe3ZhciBiO2lmKGEgaW5zdGFuY2VvZiBxYylpZihhIGluc3RhbmNlb2YgcWMpYj1hLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7ZWxzZSBiPXZjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGJ9O2Z1bmN0aW9uIHhjKGEsYil7dmFyIGM9d2MoYik7YyE9PXZvaWQgMCYmKGEuYWN0aW9uPWMpfTtmdW5jdGlvbiB5YyhhLGIpe3Rocm93IEVycm9yKGI9PT12b2lkIDA/InVuZXhwZWN0ZWQgdmFsdWUgIithKyIhIjpiKTt9O3ZhciB6Yz1mdW5jdGlvbihhKXt0aGlzLkg9YX07emMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07dmFyIEJjPWZ1bmN0aW9uKCl7dGhpcy5IPUFjWzBdLnRvTG93ZXJDYXNlKCl9O0JjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O2Z1bmN0aW9uIENjKGEsYil7dmFyIGM9W25ldyBCY107aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCIiKTt2YXIgZD1jLm1hcChmdW5jdGlvbihmKXt2YXIgZztpZihmIGluc3RhbmNlb2YgQmMpZz1mLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGd9KSxlPWIudG9Mb3dlckNhc2UoKTtpZihkLmV2ZXJ5KGZ1bmN0aW9uKGYpe3JldHVybiBlLmluZGV4T2YoZikhPT0wfSkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiJytiKyciIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZShiLCJ0cnVlIil9O3ZhciBEYz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9OyJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwKIklOUFVUIl0pO2Z1bmN0aW9uIEVjKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTt2YXIgQT13aW5kb3csRmM9W10sR2M9d2luZG93Lmhpc3RvcnksQj1kb2N1bWVudCxIYz1uYXZpZ2F0b3I7ZnVuY3Rpb24gSWMoKXt2YXIgYTt0cnl7YT1IYy5zZXJ2aWNlV29ya2VyfWNhdGNoKGIpe3JldHVybn1yZXR1cm4gYX12YXIgSmM9Qi5jdXJyZW50U2NyaXB0LEtjPUpjJiZKYy5zcmM7ZnVuY3Rpb24gTWMoYSxiKXt2YXIgYz1BLGQ9Y1thXTtjW2FdPWQ9PT12b2lkIDA/YjpkO3JldHVybiBjW2FdfWZ1bmN0aW9uIE5jKGEpe3JldHVybihIYy51c2VyQWdlbnR8fCIiKS5pbmRleE9mKGEpIT09LTF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gTmMoIkZpcmVmb3giKXx8TmMoIkZ4aU9TIil9ZnVuY3Rpb24gUGMoKXtyZXR1cm4oTmMoIkdTQSIpfHxOYygiR29vZ2xlQXBwIikpJiYoTmMoImlQaG9uZSIpfHxOYygiaVBhZCIpKX1mdW5jdGlvbiBRYygpe3JldHVybiBOYygiRWRnLyIpfHxOYygiRWRnQS8iKXx8TmMoIkVkZ2lPUy8iKX0KdmFyIFJjPXthc3luYzoxLG5vbmNlOjEsb25lcnJvcjoxLG9ubG9hZDoxLHNyYzoxLHR5cGU6MX0sU2M9e2hlaWdodDoxLG9ubG9hZDoxLHNyYzoxLHN0eWxlOjEsd2lkdGg6MX07ZnVuY3Rpb24gVGMoYSxiLGMpe2ImJkdiKGIsZnVuY3Rpb24oZCxlKXtkPWQudG9Mb3dlckNhc2UoKTtjLmhhc093blByb3BlcnR5KGQpfHxhLnNldEF0dHJpYnV0ZShkLGUpfSl9CmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7dmFyIGY9Qi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtUYyhmLGQsUmMpO2YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtmLmFzeW5jPWQmJmQuYXN5bmM9PT0hMT8hMTohMDt2YXIgZztnPWpjKEVjKGEpKTtmLnNyYz1rYyhnKTt2YXIgaCxsPWYub3duZXJEb2N1bWVudDtsPWw9PT12b2lkIDA/ZG9jdW1lbnQ6bDt2YXIgbixwLHE9KHA9KG49bCkucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOnAuY2FsbChuLCJzY3JpcHRbbm9uY2VdIik7KGg9cT09bnVsbD8iIjpxLm5vbmNlfHxxLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiIpJiZmLnNldEF0dHJpYnV0ZSgibm9uY2UiLGgpO2ImJihmLm9ubG9hZD1iKTtjJiYoZi5vbmVycm9yPWMpO2U/ZS5hcHBlbmRDaGlsZChmKTpWYy5CcyhmKTtyZXR1cm4gZn0KZnVuY3Rpb24gV2MoKXtpZihLYyl7dmFyIGE9S2MudG9Mb3dlckNhc2UoKTtpZihhLmluZGV4T2YoImh0dHBzOi8vIik9PT0wKXJldHVybiAyO2lmKGEuaW5kZXhPZigiaHR0cDovLyIpPT09MClyZXR1cm4gM31yZXR1cm4gMX1mdW5jdGlvbiBYYyhhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPyEwOmY7dmFyIGc9ZSxoPSExO2d8fChnPUIuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaD0hMCk7VGMoZyxjLFNjKTtkJiZHYihkLGZ1bmN0aW9uKG4scCl7Zy5kYXRhc2V0W25dPXB9KTtmJiYoZy5oZWlnaHQ9IjAiLGcud2lkdGg9IjAiLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKTthIT09dm9pZCAwJiYoZy5zcmM9YSk7aWYoaCl7dmFyIGw9Qi5ib2R5JiZCLmJvZHkubGFzdENoaWxkfHxCLmJvZHl8fEIuaGVhZDtsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsbCl9YiYmKGcub25sb2FkPWIpO3JldHVybiBnfQpmdW5jdGlvbiBaYygpe3JldHVybiBWYy5Fci5hcHBseShWYyx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfWZ1bmN0aW9uICRjKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKGIsYywhIWQpfWZ1bmN0aW9uIGFkKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfWZ1bmN0aW9uIGJkKGEpe0Euc2V0VGltZW91dChhLDApfWZ1bmN0aW9uIGNkKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpLGQsZT0oZD1BKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdCh3KGMpKSk7RmMucHVzaChlKTtyZXR1cm4gZX0KZnVuY3Rpb24gZGQoYSl7dmFyIGI9QTt5YihiLnF1ZXVlTWljcm90YXNrKT9iLnF1ZXVlTWljcm90YXNrKGEpOnliKGIuUHJvbWlzZSkmJmIuUHJvbWlzZS5yZXNvbHZlP2IuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe2EoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk6YmQoYSl9ZnVuY3Rpb24gZWQoYSxiKXtyZXR1cm4gYSYmYiYmYS5hdHRyaWJ1dGVzJiZhLmF0dHJpYnV0ZXNbYl0/YS5hdHRyaWJ1dGVzW2JdLnZhbHVlOm51bGx9ZnVuY3Rpb24gZmQoYSl7dmFyIGI9YS5pbm5lclRleHR8fGEudGV4dENvbnRlbnR8fCIiO2ImJmIhPT0iICImJihiPWIucmVwbGFjZSgvXltcc1x4YTBdKy9nLCIiKSxiPWIucmVwbGFjZSgvW1xzXHhhMF0rJC9nLCIiKSk7YiYmKGI9Yi5yZXBsYWNlKC8oXHhhMCt8XHN7Mix9fFxufFxyXHQpL2csIiAiKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGdkKGEpe3ZhciBiPUIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1iLGQsZT1FYygiQTxkaXY+IithKyI8L2Rpdj4iKSxmPWhjKCksZz1mP2YuY3JlYXRlSFRNTChlKTplO2Q9bmV3IHpjKGcpO2lmKGMubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYy50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7dmFyIGg7aWYoZCBpbnN0YW5jZW9mIHpjKWg9ZC5IO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2MuaW5uZXJIVE1MPWg7Yj1iLmxhc3RDaGlsZDtmb3IodmFyIGw9W107YiYmYi5maXJzdENoaWxkOylsLnB1c2goYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpKTtyZXR1cm4gbH0KZnVuY3Rpb24gaGQoYSxiLGMpe2M9Y3x8MTAwO2Zvcih2YXIgZD17fSxlPTA7ZTxiLmxlbmd0aDtlKyspZFtiW2VdXT0hMDtmb3IodmFyIGY9YSxnPTA7ZiYmZzw9YztnKyspe2lmKGRbU3RyaW5nKGYudGFnTmFtZSkudG9Mb3dlckNhc2UoKV0pcmV0dXJuIGY7Zj1mLnBhcmVudEVsZW1lbnR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWQoYSxiLGMpe3ZhciBkO3RyeXtkPUhjLnNlbmRCZWFjb24mJkhjLnNlbmRCZWFjb24oYSl9Y2F0Y2goZSl7c2IoIlRBR0dJTkciLDE1KX1kP2I9PW51bGx8fGIoKTpaYyhhLGIsYyl9ZnVuY3Rpb24gamQoYSxiKXt0cnl7aWYoSGMuc2VuZEJlYWNvbiE9PXZvaWQgMClyZXR1cm4gSGMuc2VuZEJlYWNvbihhLGIpfWNhdGNoKGMpe3NiKCJUQUdHSU5HIiwxNSl9cmV0dXJuITF9ZnVuY3Rpb24ga2QoKXtyZXR1cm4gSGMuc2VuZEJlYWNvbiE9PXZvaWQgMH0KdmFyIGxkPXtjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixrZWVwYWxpdmU6ITAsbWV0aG9kOiJQT1NUIixtb2RlOiJuby1jb3JzIixyZWRpcmVjdDoiZm9sbG93In07CmZ1bmN0aW9uIG1kKGEsYixjLGQsZSl7aWYobmQoKSl7dmFyIGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxsZCk7YiYmKGYuYm9keT1iKTtjJiYoYy5hdHRyaWJ1dGlvblJlcG9ydGluZyYmKGYuYXR0cmlidXRpb25SZXBvcnRpbmc9Yy5hdHRyaWJ1dGlvblJlcG9ydGluZyksYy5icm93c2luZ1RvcGljcyE9PXZvaWQgMCYmKGYuYnJvd3NpbmdUb3BpY3M9Yy5icm93c2luZ1RvcGljcyksYy5jcmVkZW50aWFscyYmKGYuY3JlZGVudGlhbHM9Yy5jcmVkZW50aWFscyksYy5rZWVwYWxpdmUhPT12b2lkIDAmJihmLmtlZXBhbGl2ZT1jLmtlZXBhbGl2ZSksYy5tZXRob2QmJihmLm1ldGhvZD1jLm1ldGhvZCksYy5tb2RlJiYoZi5tb2RlPWMubW9kZSkpO3RyeXt2YXIgZz1BLmZldGNoKGEsZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKGwpe2wmJihsLm9rfHxsLnN0YXR1cz09PTApP2Q9PW51bGx8fGQoKTplPT1udWxsfHxlKCl9KS5jYXRjaChmdW5jdGlvbigpe2U9PQpudWxsfHxlKCl9KSwhMH1jYXRjaChsKXt9fWlmKChjPT1udWxsPzA6Yy5RZyl8fChjPT1udWxsPzA6Yy5jcmVkZW50aWFscykmJmMuY3JlZGVudGlhbHMhPT0iaW5jbHVkZSIpcmV0dXJuIGU9PW51bGx8fGUoKSwhMTtpZihiKXt2YXIgaD1qZChhLGIpO2g/ZD09bnVsbHx8ZCgpOmU9PW51bGx8fGUoKTtyZXR1cm4gaH1WYy53dChhLGQsZSk7cmV0dXJuITB9ZnVuY3Rpb24gbmQoKXtyZXR1cm4geWIoQS5mZXRjaCl9ZnVuY3Rpb24gb2QoYSxiKXt2YXIgYz1hW2JdO2MmJnR5cGVvZiBjLmFuaW1WYWw9PT0ic3RyaW5nIiYmKGM9Yy5hbmltVmFsKTtyZXR1cm4gY31mdW5jdGlvbiBwZCgpe3ZhciBhPUEucGVyZm9ybWFuY2U7aWYoYSYmeWIoYS5ub3cpKXJldHVybiBhLm5vdygpfQpmdW5jdGlvbiBxZCgpe3ZhciBhLGI9QS5wZXJmb3JtYW5jZTtpZihiJiZiLmdldEVudHJpZXNCeVR5cGUpdHJ5e3ZhciBjPWIuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2MmJmMubGVuZ3RoPjAmJihhPWNbMF0udHlwZSl9Y2F0Y2goZCl7cmV0dXJuImUifWlmKCFhKXJldHVybiJ1Ijtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJuIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJoIjtjYXNlICJyZWxvYWQiOnJldHVybiJyIjtjYXNlICJwcmVyZW5kZXIiOnJldHVybiJwIjtkZWZhdWx0OnJldHVybiJ4In19ZnVuY3Rpb24gcmQoKXtyZXR1cm4gQS5wZXJmb3JtYW5jZXx8dm9pZCAwfWZ1bmN0aW9uIHNkKCl7dmFyIGE9QS53ZWJQaXhlbHNNYW5hZ2VyO3JldHVybiBhP2EuY3JlYXRlU2hvcGlmeUV4dGVuZCE9PXZvaWQgMDohMX0KdmFyIFZjPXtFcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgSW1hZ2UoMSwxKTtUYyhlLGQse30pO2Uub25sb2FkPWZ1bmN0aW9uKCl7ZS5vbmxvYWQ9bnVsbDtiJiZiKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2Uub25lcnJvcj1udWxsO2MmJmMoKX07ZS5zcmM9YTtyZXR1cm4gZX0sQnM6ZnVuY3Rpb24oYSl7dmFyIGI9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF18fEIuYm9keXx8Qi5oZWFkO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKX0sd3Q6aWR9O2Z1bmN0aW9uIHRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdWQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKT09PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiB3ZChhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO3JldHVybiBTdHJpbmcoYykuaW5kZXhPZihTdHJpbmcoZCkpPi0xfWZ1bmN0aW9uIHhkKGEsYil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYSkpLGQ9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYikpO3JldHVybiBjLnN1YnN0cmluZygwLGQubGVuZ3RoKT09PWR9CmZ1bmN0aW9uIHlkKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYik7c3dpdGNoKGMpe2Nhc2UgInBhZ2VMb2NhdGlvbiI6dmFyIGU9QS5sb2NhdGlvbi5ocmVmO2QgaW5zdGFuY2VvZiBrYiYmZC5nZXQoInN0cmlwUHJvdG9jb2wiKSYmKGU9ZS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKSk7cmV0dXJuIGV9fTsvKgogalF1ZXJ5IChjKSAyMDA1LCAyMDEyIGpRdWVyeSBGb3VuZGF0aW9uLCBJbmMuIGpxdWVyeS5vcmcvbGljZW5zZS4KKi8KdmFyIHpkPS9cW29iamVjdCAoQm9vbGVhbnxOdW1iZXJ8U3RyaW5nfEZ1bmN0aW9ufEFycmF5fERhdGV8UmVnRXhwKVxdLyxBZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBTdHJpbmcoYSk7dmFyIGI9emQuZXhlYyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KGEpKSk7cmV0dXJuIGI/YlsxXS50b0xvd2VyQ2FzZSgpOiJvYmplY3QifSxCZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGEpLGIpfSxDZD1mdW5jdGlvbihhKXtpZighYXx8QWQoYSkhPSJvYmplY3QifHxhLm5vZGVUeXBlfHxhPT1hLndpbmRvdylyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUJkKGEsImNvbnN0cnVjdG9yIikmJiFCZChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWZvcih2YXIgYiBpbiBhKTtyZXR1cm4gYj09PXZvaWQgMHx8CkJkKGEsYil9LEVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8KEFkKGEpPT0iYXJyYXkiP1tdOnt9KSxkO2ZvcihkIGluIGEpaWYoQmQoYSxkKSl7dmFyIGU9YVtkXTtBZChlKT09ImFycmF5Ij8oQWQoY1tkXSkhPSJhcnJheSImJihjW2RdPVtdKSxjW2RdPUVkKGUsY1tkXSkpOkNkKGUpPyhDZChjW2RdKXx8KGNbZF09e30pLGNbZF09RWQoZSxjW2RdKSk6Y1tkXT1lfXJldHVybiBjfTtmdW5jdGlvbiBGZChhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIiYmYT49MCYmaXNGaW5pdGUoYSkmJmElMT09PTB8fHR5cGVvZiBhPT09InN0cmluZyImJmFbMF0hPT0iLSImJmE9PT0iIitwYXJzZUludChhKX07dmFyIEdkPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMubGE9bmV3IFVhO3RoaXMudmFsdWVzPVtdO3RoaXMuTmE9ITE7Zm9yKHZhciBiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKEZkKGIpP3RoaXMudmFsdWVzW051bWJlcihiKV09YVtOdW1iZXIoYildOnRoaXMubGEuc2V0KGIsYVtiXSkpfTtrPUdkLnByb3RvdHlwZTtrLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2lmKGEmJmEuaW5kZXhPZih0aGlzKT49MClyZXR1cm4iIjtmb3IodmFyIGI9W10sYz0wO2M8dGhpcy52YWx1ZXMubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy52YWx1ZXNbY107ZD09PW51bGx8fGQ9PT12b2lkIDA/Yi5wdXNoKCIiKTpkIGluc3RhbmNlb2YgR2Q/KGE9YXx8W10sYS5wdXNoKHRoaXMpLGIucHVzaChkLnRvU3RyaW5nKGEpKSxhLnBvcCgpKTpiLnB1c2goU3RyaW5nKGQpKX1yZXR1cm4gYi5qb2luKCIsIil9OwprLnNldD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLk5hKWlmKGE9PT0ibGVuZ3RoIil7aWYoIUZkKGIpKXRocm93IGNiKEVycm9yKCJSYW5nZUVycm9yOiBMZW5ndGggcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGludGVnZXIuIikpO3RoaXMudmFsdWVzLmxlbmd0aD1OdW1iZXIoYil9ZWxzZSBGZChhKT90aGlzLnZhbHVlc1tOdW1iZXIoYSldPWI6dGhpcy5sYS5zZXQoYSxiKX07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibGVuZ3RoIj90aGlzLmxlbmd0aCgpOkZkKGEpP3RoaXMudmFsdWVzW051bWJlcihhKV06dGhpcy5sYS5nZXQoYSl9O2subGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH07ay5GYT1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmxhLkZhKCksYj0wO2I8dGhpcy52YWx1ZXMubGVuZ3RoO2IrKyl0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYS5wdXNoKFN0cmluZyhiKSk7cmV0dXJuIGF9OwprLmhjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuaGMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2godGhpcy52YWx1ZXNbYl0pO3JldHVybiBhfTtrLmZjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuZmMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2goW1N0cmluZyhiKSx0aGlzLnZhbHVlc1tiXV0pO3JldHVybiBhfTtrLnJlbW92ZT1mdW5jdGlvbihhKXtGZChhKT9kZWxldGUgdGhpcy52YWx1ZXNbTnVtYmVyKGEpXTp0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMucG9wKCl9O2sucHVzaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSl9O2suc2hpZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMuc2hpZnQoKX07Cmsuc3BsaWNlPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpO3JldHVybiBiPT09dm9pZCAwJiZjLmxlbmd0aD09PTA/bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZShhKSk6bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZS5hcHBseSh0aGlzLnZhbHVlcyxbYSxifHwwXS5jb25jYXQodyhjKSkpKX07ay51bnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLnVuc2hpZnQuYXBwbHkodGhpcy52YWx1ZXMsdyhPYS5hcHBseSgwLGFyZ3VtZW50cykpKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEZkKGEpJiZ0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5sYS5oYXMoYSl9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLk5hPSEwO09iamVjdC5mcmVlemUodGhpcy52YWx1ZXMpfTtrLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9OwpmdW5jdGlvbiBIZChhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGgoKTtjKyspYS5oYXMoYykmJihiW2NdPWEuZ2V0KGMpKTtyZXR1cm4gYn07dmFyIElkPWZ1bmN0aW9uKGEsYil7dGhpcy5mdW5jdGlvbk5hbWU9YTt0aGlzLmllPWI7dGhpcy5sYT1uZXcgVWE7dGhpcy5OYT0hMX07az1JZC5wcm90b3R5cGU7ay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZ1bmN0aW9uTmFtZX07ay5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZnVuY3Rpb25OYW1lfTtrLmdldEtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdkKHRoaXMuRmEoKSl9O2suaW52b2tlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmllLmNhbGwuYXBwbHkodGhpcy5pZSxbbmV3IEpkKHRoaXMsYSldLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKX07ay5hcHBseT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmllLmFwcGx5KG5ldyBKZCh0aGlzLGEpLGIpfTtrLk5jPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTt0cnl7cmV0dXJuIHRoaXMuaW52b2tlLmFwcGx5KHRoaXMsW2FdLmNvbmNhdCh3KGIpKSl9Y2F0Y2goYyl7fX07CmsuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmdldChhKX07ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLk5hfHx0aGlzLmxhLnNldChhLGIpfTtrLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5oYXMoYSl9O2sucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuTmF8fHRoaXMubGEucmVtb3ZlKGEpfTtrLkZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuRmEoKX07ay5oYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmhjKCl9O2suZmM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5mYygpfTtrLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07ay5IYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hfTt2YXIgS2Q9ZnVuY3Rpb24oYSxiKXtJZC5jYWxsKHRoaXMsYSxiKX07d2EoS2QsSWQpO3ZhciBMZD1mdW5jdGlvbihhLGIpe0lkLmNhbGwodGhpcyxhLGIpfTt3YShMZCxJZCk7dmFyIEpkPWZ1bmN0aW9uKGEsYil7dGhpcy5pZT1hO3RoaXMuVD1ifTsKSmQucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuVDtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9mYihiLGEpOmF9O0pkLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWUuZ2V0TmFtZSgpfTtKZC5wcm90b3R5cGUuamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmplKCl9O3ZhciBNZD1mdW5jdGlvbigpe3RoaXMubWFwPW5ldyBNYXB9O01kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm1hcC5zZXQoYSxiKX07TWQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXAuZ2V0KGEpfTt2YXIgTmQ9ZnVuY3Rpb24oKXt0aGlzLmtleXM9W107dGhpcy52YWx1ZXM9W119O05kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmtleXMucHVzaChhKTt0aGlzLnZhbHVlcy5wdXNoKGIpfTtOZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMua2V5cy5pbmRleE9mKGEpO2lmKGI+LTEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfTtmdW5jdGlvbiBPZCgpe3RyeXtyZXR1cm4gTWFwP25ldyBNZDpuZXcgTmR9Y2F0Y2goYSl7cmV0dXJuIG5ldyBOZH19O3ZhciBQZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgUGQpcmV0dXJuIGE7dmFyIGI7YTppZihhPT12b2lkIDB8fEFycmF5LmlzQXJyYXkoYSl8fENkKGEpKWI9ITA7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOmNhc2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJmdW5jdGlvbiI6Yj0hMDticmVhayBhfWI9ITF9aWYoYil0aHJvdyBFcnJvcigiVHlwZSBvZiBnaXZlbiB2YWx1ZSBoYXMgYW4gZXF1aXZhbGVudCBQaXhpZSB0eXBlLiIpO3RoaXMudmFsdWU9YX07UGQucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O1BkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9O3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLnByb21pc2U9YTt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhO3RoaXMubGEuc2V0KCJ0aGVuIixSZCh0aGlzKSk7dGhpcy5sYS5zZXQoImNhdGNoIixSZCh0aGlzLCEwKSk7dGhpcy5sYS5zZXQoImZpbmFsbHkiLFJkKHRoaXMsITEsITApKX07az1TZC5wcm90b3R5cGU7ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuZ2V0KGEpfTtrLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTmF8fHRoaXMubGEuc2V0KGEsYil9O2suaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmhhcyhhKX07ay5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5OYXx8dGhpcy5sYS5yZW1vdmUoYSl9O2suRmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5GYSgpfTtrLmhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuaGMoKX07ay5mYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmZjKCl9Owp2YXIgUmQ9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oZCxlKXtiJiYoZT1kLGQ9dm9pZCAwKTtjJiYoZT1kKTtkIGluc3RhbmNlb2YgS2R8fChkPXZvaWQgMCk7ZSBpbnN0YW5jZW9mIEtkfHwoZT12b2lkIDApO3ZhciBmPXRoaXMuVC53YigpLGc9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYz8obC5pbnZva2UoZiksYS5wcm9taXNlKTpsLmludm9rZShmLG4pfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwIGluc3RhbmNlb2YgRXJyb3I/bmV3IFBkKHApOlN0cmluZyhwKSl9fX0saD1hLnByb21pc2UudGhlbihkJiZnKGQpLGUmJmcoZSkpO3JldHVybiBuZXcgU2QoaCl9KX07U2QucHJvdG90eXBlLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07U2QucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O2Z1bmN0aW9uIFRkKGEsYixjKXt2YXIgZD1PZCgpLGU9ZnVuY3Rpb24oZyxoKXtmb3IodmFyIGw9Zy5GYSgpLG49MDtuPGwubGVuZ3RoO24rKyloW2xbbl1dPWYoZy5nZXQobFtuXSkpfSxmPWZ1bmN0aW9uKGcpe2lmKGc9PT1udWxsfHxnPT09dm9pZCAwKXJldHVybiBnO3ZhciBoPWQuZ2V0KGcpO2lmKGgpcmV0dXJuIGg7aWYoZyBpbnN0YW5jZW9mIEdkKXt2YXIgbD1bXTtkLnNldChnLGwpO2Zvcih2YXIgbj1nLkZhKCkscD0wO3A8bi5sZW5ndGg7cCsrKWxbbltwXV09ZihnLmdldChuW3BdKSk7cmV0dXJuIGx9aWYoZyBpbnN0YW5jZW9mIFNkKXJldHVybiBnLnByb21pc2UudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gVGQodSxiLDEpfSxmdW5jdGlvbih1KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoVGQodSxiLDEpKX0pO2lmKGcgaW5zdGFuY2VvZiBrYil7dmFyIHE9e307ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9aWYoZyBpbnN0YW5jZW9mIEtkKXt2YXIgcj1mdW5jdGlvbigpe2Zvcih2YXIgdT0KW10sdj0wO3Y8YXJndW1lbnRzLmxlbmd0aDt2KyspdVt2XT1VZChhcmd1bWVudHNbdl0sYixjKTt2YXIgeD1uZXcgaGIoYj9iLmplKCk6bmV3IFdhKTtiJiZ4LnVlKGIueGIoKSk7cmV0dXJuIGYoZy5hcHBseSh4LHUpKX07ZC5zZXQoZyxyKTtlKGcscik7cmV0dXJuIHJ9dmFyIHQ9ITE7c3dpdGNoKGMpe2Nhc2UgMTp0PSEwO2JyZWFrO2Nhc2UgMjp0PSExO2JyZWFrO2Nhc2UgMzp0PSExO2JyZWFrO2RlZmF1bHQ6fWlmKGcgaW5zdGFuY2VvZiBQZCYmdClyZXR1cm4gZy5nZXRWYWx1ZSgpO3N3aXRjaCh0eXBlb2YgZyl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpjYXNlICJzdHJpbmciOmNhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGc7Y2FzZSAib2JqZWN0IjppZihnPT09Cm51bGwpcmV0dXJuIG51bGx9fTtyZXR1cm4gZihhKX0KZnVuY3Rpb24gVWQoYSxiLGMpe3ZhciBkPU9kKCksZT1mdW5jdGlvbihnLGgpe2Zvcih2YXIgbCBpbiBnKWcuaGFzT3duUHJvcGVydHkobCkmJmguc2V0KGwsZihnW2xdKSl9LGY9ZnVuY3Rpb24oZyl7dmFyIGg9ZC5nZXQoZyk7aWYoaClyZXR1cm4gaDtpZihBcnJheS5pc0FycmF5KGcpfHxIYihnKSl7dmFyIGw9bmV3IEdkO2Quc2V0KGcsbCk7Zm9yKHZhciBuIGluIGcpZy5oYXNPd25Qcm9wZXJ0eShuKSYmbC5zZXQobixmKGdbbl0pKTtyZXR1cm4gbH1pZihDZChnKSl7dmFyIHA9bmV3IGtiO2Quc2V0KGcscCk7ZShnLHApO3JldHVybiBwfWlmKHR5cGVvZiBnPT09ImZ1bmN0aW9uIil7dmFyIHE9bmV3IEtkKCIiLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PU9hLmFwcGx5KDAsYXJndW1lbnRzKSx2PVtdLHg9MDt4PHUubGVuZ3RoO3grKyl2W3hdPVRkKHRoaXMuZXZhbHVhdGUodVt4XSksYixjKTtyZXR1cm4gZih0aGlzLlQuUGooKShnLGcsdikpfSk7ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9dmFyIHI9dHlwZW9mIGc7aWYoZz09PW51bGx8fHI9PT0ic3RyaW5nInx8cj09PSJudW1iZXIifHxyPT09ImJvb2xlYW4iKXJldHVybiBnO3ZhciB0PSExO3N3aXRjaChjKXtjYXNlIDE6dD0hMDticmVhaztjYXNlIDI6dD0hMTticmVhaztkZWZhdWx0On1pZihnIT09dm9pZCAwJiZ0KXJldHVybiBuZXcgUGQoZyl9O3JldHVybiBmKGEpfTt2YXIgVmQ9e3N1cHBvcnRlZE1ldGhvZHM6ImNvbmNhdCBldmVyeSBmaWx0ZXIgZm9yRWFjaCBoYXNPd25Qcm9wZXJ0eSBpbmRleE9mIGpvaW4gbGFzdEluZGV4T2YgbWFwIHBvcCBwdXNoIHJlZHVjZSByZWR1Y2VSaWdodCByZXZlcnNlIHNoaWZ0IHNsaWNlIHNvbWUgc29ydCBzcGxpY2UgdW5zaGlmdCB0b1N0cmluZyIuc3BsaXQoIiAiKSxjb25jYXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPHRoaXMubGVuZ3RoKCk7YysrKWIucHVzaCh0aGlzLmdldChjKSk7Zm9yKHZhciBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKylpZihhcmd1bWVudHNbZF1pbnN0YW5jZW9mIEdkKWZvcih2YXIgZT1hcmd1bWVudHNbZF0sZj0wO2Y8ZS5sZW5ndGgoKTtmKyspYi5wdXNoKGUuZ2V0KGYpKTtlbHNlIGIucHVzaChhcmd1bWVudHNbZF0pO3JldHVybiBuZXcgR2QoYil9LGV2ZXJ5OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD0wO2Q8dGhpcy5sZW5ndGgoKSYmCmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJiFiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcykpcmV0dXJuITE7cmV0dXJuITB9LGZpbHRlcjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9W10sZT0wO2U8dGhpcy5sZW5ndGgoKSYmZTxjO2UrKyl0aGlzLmhhcyhlKSYmYi5pbnZva2UoYSx0aGlzLmdldChlKSxlLHRoaXMpJiZkLnB1c2godGhpcy5nZXQoZSkpO3JldHVybiBuZXcgR2QoZCl9LGZvckVhY2g6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dGhpcy5sZW5ndGgoKSxkPTA7ZDx0aGlzLmxlbmd0aCgpJiZkPGM7ZCsrKXRoaXMuaGFzKGQpJiZiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcyl9LGhhc093blByb3BlcnR5OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaGFzKGIpfSxpbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9Yz09PXZvaWQgMD8wOk51bWJlcihjKTtlPDAmJihlPU1hdGgubWF4KGQrZSwwKSk7Zm9yKHZhciBmPQplO2Y8ZDtmKyspaWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sam9pbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDx0aGlzLmxlbmd0aCgpO2QrKyljLnB1c2godGhpcy5nZXQoZCkpO3JldHVybiBjLmpvaW4oYil9LGxhc3RJbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9ZC0xO2MhPT12b2lkIDAmJihlPWM8MD9kK2M6TWF0aC5taW4oYyxlKSk7Zm9yKHZhciBmPWU7Zj49MDtmLS0paWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sbWFwOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD1bXSxlPTA7ZTx0aGlzLmxlbmd0aCgpJiZlPGM7ZSsrKXRoaXMuaGFzKGUpJiYoZFtlXT1iLmludm9rZShhLHRoaXMuZ2V0KGUpLGUsdGhpcykpO3JldHVybiBuZXcgR2QoZCl9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcCgpfSxwdXNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2guYXBwbHkodGhpcywKdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX0scmVkdWNlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGUsZj0wO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlIG9uIExpc3Qgd2l0aCBubyBlbGVtZW50cy4iKSk7Zm9yKHZhciBnPTA7ZzxkO2crKylpZih0aGlzLmhhcyhnKSl7ZT10aGlzLmdldChnKTtmPWcrMTticmVha31pZihnPT09ZCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBSZWR1Y2Ugb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aDxkO2grKyl0aGlzLmhhcyhoKSYmKGU9Yi5pbnZva2UoYSxlLHRoaXMuZ2V0KGgpLGgsdGhpcykpO3JldHVybiBlfSxyZWR1Y2VSaWdodDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5sZW5ndGgoKSxlLGY9ZC0xO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTsKZm9yKHZhciBnPTE7Zzw9ZDtnKyspaWYodGhpcy5oYXMoZC1nKSl7ZT10aGlzLmdldChkLWcpO2Y9ZC0oZysxKTticmVha31pZihnPmQpdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aD49MDtoLS0pdGhpcy5oYXMoaCkmJihlPWIuaW52b2tlKGEsZSx0aGlzLmdldChoKSxoLHRoaXMpKTtyZXR1cm4gZX0scmV2ZXJzZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1IZCh0aGlzKSxiPWEubGVuZ3RoLTEsYz0wO2I+PTA7Yi0tLGMrKylhLmhhc093blByb3BlcnR5KGIpP3RoaXMuc2V0KGMsYVtiXSk6dGhpcy5yZW1vdmUoYyk7cmV0dXJuIHRoaXN9LHNoaWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hpZnQoKX0sc2xpY2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMubGVuZ3RoKCk7Yj09PXZvaWQgMCYmKGI9MCk7Yj1iPDA/TWF0aC5tYXgoZCtiLDApOk1hdGgubWluKGIsZCk7Yz1jPT09CnZvaWQgMD9kOmM8MD9NYXRoLm1heChkK2MsMCk6TWF0aC5taW4oYyxkKTtjPU1hdGgubWF4KGIsYyk7Zm9yKHZhciBlPVtdLGY9YjtmPGM7ZisrKWUucHVzaCh0aGlzLmdldChmKSk7cmV0dXJuIG5ldyBHZChlKX0sc29tZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9MDtkPHRoaXMubGVuZ3RoKCkmJmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJmIuaW52b2tlKGEsdGhpcy5nZXQoZCksZCx0aGlzKSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydDpmdW5jdGlvbihhLGIpe3ZhciBjPUhkKHRoaXMpO2I9PT12b2lkIDA/Yy5zb3J0KCk6Yy5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIE51bWJlcihiLmludm9rZShhLGUsZikpfSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspYy5oYXNPd25Qcm9wZXJ0eShkKT90aGlzLnNldChkLGNbZF0pOnRoaXMucmVtb3ZlKGQpO3JldHVybiB0aGlzfSxzcGxpY2U6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnNwbGljZS5hcHBseSh0aGlzLApbYixjXS5jb25jYXQodyhPYS5hcHBseSgzLGFyZ3VtZW50cykpKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdW5zaGlmdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bnNoaWZ0LmFwcGx5KHRoaXMsdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX19O3ZhciBXZD17Y2hhckF0OjEsY29uY2F0OjEsaW5kZXhPZjoxLGxhc3RJbmRleE9mOjEsbWF0Y2g6MSxyZXBsYWNlOjEsc2VhcmNoOjEsc2xpY2U6MSxzcGxpdDoxLHN1YnN0cmluZzoxLHRvTG93ZXJDYXNlOjEsdG9Mb2NhbGVMb3dlckNhc2U6MSx0b1N0cmluZzoxLHRvVXBwZXJDYXNlOjEsdG9Mb2NhbGVVcHBlckNhc2U6MSx0cmltOjF9LFhkPW5ldyBUYSgiYnJlYWsiKSxZZD1uZXcgVGEoImNvbnRpbnVlIik7ZnVuY3Rpb24gWmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSt0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uICRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyk7aWYoIShmIGluc3RhbmNlb2YgR2QpKXRocm93IEVycm9yKCJFcnJvcjogTm9uLUxpc3QgYXJndW1lbnQgZ2l2ZW4gdG8gQXBwbHkgaW5zdHJ1Y3Rpb24uIik7aWYoZD09PW51bGx8fGQ9PT12b2lkIDApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogQ2FuJ3QgcmVhZCBwcm9wZXJ0eSAiK2UrIiBvZiAiK2QrIi4iKSk7dmFyIGc9dHlwZW9mIGQ9PT0ibnVtYmVyIjtpZih0eXBlb2YgZD09PSJib29sZWFuInx8Zyl7aWYoZT09PSJ0b1N0cmluZyIpe2lmKGcmJmYubGVuZ3RoKCkpe3ZhciBoPVRkKGYuZ2V0KDApKTt0cnl7cmV0dXJuIGQudG9TdHJpbmcoaCl9Y2F0Y2godSl7fX1yZXR1cm4gZC50b1N0cmluZygpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZCsiLiIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uLiIpKTt9aWYodHlwZW9mIGQ9PT0KInN0cmluZyIpe2lmKFdkLmhhc093blByb3BlcnR5KGUpKXt2YXIgbD1UZChmLHZvaWQgMCwxKTtyZXR1cm4gVWQoZFtlXS5hcHBseShkLGwpLHRoaXMuVCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKGQgaW5zdGFuY2VvZiBHZCl7aWYoZC5oYXMoZSkpe3ZhciBuPWQuZ2V0KFN0cmluZyhlKSk7aWYobiBpbnN0YW5jZW9mIEtkKXt2YXIgcD1IZChmKTtyZXR1cm4gbi5hcHBseSh0aGlzLlQscCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKFZkLnN1cHBvcnRlZE1ldGhvZHMuaW5kZXhPZihlKT49MCl7dmFyIHE9SGQoZik7cmV0dXJuIFZkW2VdLmNhbGwuYXBwbHkoVmRbZV0sW2QsdGhpcy5UXS5jb25jYXQodyhxKSkpfX1pZihkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkKXtpZihkLmhhcyhlKSl7dmFyIHI9ZC5nZXQoZSk7CmlmKHIgaW5zdGFuY2VvZiBLZCl7dmFyIHQ9SGQoZik7cmV0dXJuIHIuYXBwbHkodGhpcy5ULHQpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIikpO31pZihlPT09InRvU3RyaW5nIilyZXR1cm4gZCBpbnN0YW5jZW9mIEtkP2QuZ2V0TmFtZSgpOmQudG9TdHJpbmcoKTtpZihlPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gZC5oYXMoZi5nZXQoMCkpfWlmKGQgaW5zdGFuY2VvZiBQZCYmZT09PSJ0b1N0cmluZyIpcmV0dXJuIGQudG9TdHJpbmcoKTt0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBPYmplY3QgaGFzIG5vICciK2UrIicgcHJvcGVydHkuIikpO30KZnVuY3Rpb24gYmUoYSxiKXthPXRoaXMuZXZhbHVhdGUoYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigiSW52YWxpZCBrZXkgbmFtZSBnaXZlbiBmb3IgYXNzaWdubWVudC4iKTt2YXIgYz10aGlzLlQ7aWYoIWMuaGFzKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFzc2lnbiB0byB1bmRlZmluZWQgdmFsdWUgIitiKTt2YXIgZD10aGlzLmV2YWx1YXRlKGIpO2Muc2V0KGEsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gY2UoKXt2YXIgYT1PYS5hcHBseSgwLGFyZ3VtZW50cyksYj10aGlzLlQud2IoKSxjPWViKGIsYSk7aWYoYyBpbnN0YW5jZW9mIFRhKXJldHVybiBjfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIFhkfWZ1bmN0aW9uIGVlKGEpe2Zvcih2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShiW2NdKTtpZihkIGluc3RhbmNlb2YgVGEpcmV0dXJuIGR9fQpmdW5jdGlvbiBmZSgpe2Zvcih2YXIgYT10aGlzLlQsYj0wO2I8YXJndW1lbnRzLmxlbmd0aC0xO2IrPTIpe3ZhciBjPWFyZ3VtZW50c1tiXTtpZih0eXBlb2YgYz09PSJzdHJpbmciKXt2YXIgZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLlFoKGMsZCl9fX1mdW5jdGlvbiBnZSgpe3JldHVybiBZZH1mdW5jdGlvbiBoZShhLGIpe3JldHVybiBuZXcgVGEoYSx0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBpZShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2Q9bmV3IEdkO2Zvcih2YXIgZT10aGlzLmV2YWx1YXRlKGIpLGY9MDtmPGUubGVuZ3RoO2YrKylkLnB1c2goZVtmXSk7dmFyIGc9WzUxLGEsZF0uY29uY2F0KHcoYykpO3RoaXMuVC5hZGQoYSx0aGlzLmV2YWx1YXRlKGcpKX1mdW5jdGlvbiBqZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpL3RoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGtlKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYiksZT1jIGluc3RhbmNlb2YgUGQsZj1kIGluc3RhbmNlb2YgUGQ7cmV0dXJuIGV8fGY/ZSYmZj9jLmdldFZhbHVlKCk9PT1kLmdldFZhbHVlKCk6ITE6Yz09ZH1mdW5jdGlvbiBsZSgpe2Zvcih2YXIgYSxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylhPXRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKTtyZXR1cm4gYX1mdW5jdGlvbiBtZShhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGIoKTtlKyspe3ZhciBmPWEoYyhlKSksZz1lYihmLGQpO2lmKGcgaW5zdGFuY2VvZiBUYSl7aWYoZy50eXBlPT09ImJyZWFrIilicmVhaztpZihnLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gZ319fQpmdW5jdGlvbiBuZShhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilyZXR1cm4gbWUoYSxmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sZnVuY3Rpb24oZil7cmV0dXJuIGZ9LGMpO2lmKGIgaW5zdGFuY2VvZiBrYnx8YiBpbnN0YW5jZW9mIFNkfHxiIGluc3RhbmNlb2YgR2R8fGIgaW5zdGFuY2VvZiBLZCl7dmFyIGQ9Yi5GYSgpLGU9ZC5sZW5ndGg7cmV0dXJuIG1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24oZil7cmV0dXJuIGRbZl19LGMpfX1mdW5jdGlvbiBvZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXtnLnNldChkLGgpO3JldHVybiBnfSxlLGYpfQpmdW5jdGlvbiBwZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXt2YXIgbD1nLndiKCk7bC5RaChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIG5lKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLmFkZChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHJlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe2cuc2V0KGQsaCk7cmV0dXJuIGd9LGUsZil9CmZ1bmN0aW9uIHRlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLlFoKGQsaCk7cmV0dXJuIGx9LGUsZil9ZnVuY3Rpb24gdWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKSxnPXRoaXMuVDtyZXR1cm4gc2UoZnVuY3Rpb24oaCl7dmFyIGw9Zy53YigpO2wuYWRkKGQsaCk7cmV0dXJuIGx9LGUsZil9CmZ1bmN0aW9uIHNlKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RofSxmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0sYyk7aWYoYiBpbnN0YW5jZW9mIEdkKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RoKCl9LGZ1bmN0aW9uKGQpe3JldHVybiBiLmdldChkKX0sYyk7dGhyb3cgY2IoRXJyb3IoIlRoZSB2YWx1ZSBpcyBub3QgaXRlcmFibGUuIikpO30KZnVuY3Rpb24gdmUoYSxiLGMsZCl7ZnVuY3Rpb24gZShxLHIpe2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGgoKTt0Kyspe3ZhciB1PWYuZ2V0KHQpO3IuYWRkKHUscS5nZXQodSkpfX12YXIgZj10aGlzLmV2YWx1YXRlKGEpO2lmKCEoZiBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiVHlwZUVycm9yOiBOb24tTGlzdCBhcmd1bWVudCBnaXZlbiB0byBGb3JMZXQgaW5zdHJ1Y3Rpb24uIik7dmFyIGc9dGhpcy5ULGg9dGhpcy5ldmFsdWF0ZShkKSxsPWcud2IoKTtmb3IoZShnLGwpO2ZiKGwsYik7KXt2YXIgbj1lYihsLGgpO2lmKG4gaW5zdGFuY2VvZiBUYSl7aWYobi50eXBlPT09ImJyZWFrIilicmVhaztpZihuLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gbn12YXIgcD1nLndiKCk7ZShsLHApO2ZiKHAsYyk7bD1wfX0KZnVuY3Rpb24gd2UoYSxiKXt2YXIgYz1PYS5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzLlQsZT10aGlzLmV2YWx1YXRlKGIpO2lmKCEoZSBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiRXJyb3I6IG5vbi1MaXN0IHZhbHVlIGdpdmVuIGZvciBGbiBhcmd1bWVudCBuYW1lcy4iKTtyZXR1cm4gbmV3IEtkKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz1kLndiKCk7Zy54YigpPT09dm9pZCAwJiZnLnVlKHRoaXMuVC54YigpKTtmb3IodmFyIGg9W10sbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgbj10aGlzLmV2YWx1YXRlKGZbbF0pO2hbbF09bn1mb3IodmFyIHA9ZS5nZXQoImxlbmd0aCIpLHE9MDtxPHA7cSsrKXE8aC5sZW5ndGg/Zy5hZGQoZS5nZXQocSksaFtxXSk6Zy5hZGQoZS5nZXQocSksdm9pZCAwKTtnLmFkZCgiYXJndW1lbnRzIixuZXcgR2QoaCkpO3ZhciByPWViKGcsYyk7aWYociBpbnN0YW5jZW9mIFRhKXJldHVybiByLnR5cGU9PT0KInJldHVybiI/ci5kYXRhOnJ9fSgpKX1mdW5jdGlvbiB4ZShhKXt2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9dGhpcy5UO2lmKHllJiYhYy5oYXMoYikpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGIrIiBpcyBub3QgZGVmaW5lZC4iKTtyZXR1cm4gYy5nZXQoYil9CmZ1bmN0aW9uIHplKGEsYil7dmFyIGMsZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKTtpZihkPT09dm9pZCAwfHxkPT09bnVsbCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mICIrZCsiIChyZWFkaW5nICciK2UrIicpIikpO2lmKGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkfHxkIGluc3RhbmNlb2YgR2R8fGQgaW5zdGFuY2VvZiBLZCljPWQuZ2V0KGUpO2Vsc2UgaWYodHlwZW9mIGQ9PT0ic3RyaW5nIillPT09Imxlbmd0aCI/Yz1kLmxlbmd0aDpGZChlKSYmKGM9ZFtlXSk7ZWxzZSBpZihkIGluc3RhbmNlb2YgUGQpcmV0dXJuO3JldHVybiBjfWZ1bmN0aW9uIEFlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk+dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBCZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpPj10aGlzLmV2YWx1YXRlKGIpfQpmdW5jdGlvbiBDZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO2MgaW5zdGFuY2VvZiBQZCYmKGM9Yy5nZXRWYWx1ZSgpKTtkIGluc3RhbmNlb2YgUGQmJihkPWQuZ2V0VmFsdWUoKSk7cmV0dXJuIGM9PT1kfWZ1bmN0aW9uIERlKGEsYil7cmV0dXJuIUNlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIEVlKGEsYixjKXt2YXIgZD1bXTt0aGlzLmV2YWx1YXRlKGEpP2Q9dGhpcy5ldmFsdWF0ZShiKTpjJiYoZD10aGlzLmV2YWx1YXRlKGMpKTt2YXIgZT1lYih0aGlzLlQsZCk7aWYoZSBpbnN0YW5jZW9mIFRhKXJldHVybiBlfXZhciB5ZT0hMTsKZnVuY3Rpb24gRmUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKTx0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIEdlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk8PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gSGUoKXtmb3IodmFyIGE9bmV3IEdkLGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiXSk7YS5wdXNoKGMpfXJldHVybiBhfWZ1bmN0aW9uIEllKCl7Zm9yKHZhciBhPW5ldyBrYixiPTA7Yjxhcmd1bWVudHMubGVuZ3RoLTE7Yis9Mil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKSksZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLnNldChjLGQpfXJldHVybiBhfWZ1bmN0aW9uIEplKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkldGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gS2UoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSp0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIExlKGEpe3JldHVybi10aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE1lKGEpe3JldHVybiF0aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE5lKGEsYil7cmV0dXJuIWtlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIE9lKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gUGUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBRZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSk7dGhpcy5ldmFsdWF0ZShiKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKX1mdW5jdGlvbiBTZSgpe3JldHVybiBPYS5hcHBseSgwLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVGUoYSl7cmV0dXJuIG5ldyBUYSgicmV0dXJuIix0aGlzLmV2YWx1YXRlKGEpKX0KZnVuY3Rpb24gVWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZihkPT09bnVsbHx8ZD09PXZvaWQgMCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW4ndCBzZXQgcHJvcGVydHkgIitlKyIgb2YgIitkKyIuIikpOyhkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBHZHx8ZCBpbnN0YW5jZW9mIGtiKSYmZC5zZXQoU3RyaW5nKGUpLGYpO3JldHVybiBmfWZ1bmN0aW9uIFZlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSktdGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gV2UoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkoZikpdGhyb3cgRXJyb3IoIkVycm9yOiBNYWxmb3JtZWQgc3dpdGNoIGluc3RydWN0aW9uLiIpO2Zvcih2YXIgZyxoPSExLGw9MDtsPGUubGVuZ3RoO2wrKylpZihofHxkPT09dGhpcy5ldmFsdWF0ZShlW2xdKSlpZihnPXRoaXMuZXZhbHVhdGUoZltsXSksZyBpbnN0YW5jZW9mIFRhKXt2YXIgbj1nLnR5cGU7aWYobj09PSJicmVhayIpcmV0dXJuO2lmKG49PT0icmV0dXJuInx8bj09PSJjb250aW51ZSIpcmV0dXJuIGd9ZWxzZSBoPSEwO2lmKGYubGVuZ3RoPT09ZS5sZW5ndGgrMSYmKGc9dGhpcy5ldmFsdWF0ZShmW2YubGVuZ3RoLTFdKSxnIGluc3RhbmNlb2YgVGEmJihnLnR5cGU9PT0icmV0dXJuInx8Zy50eXBlPT09ImNvbnRpbnVlIikpKXJldHVybiBnfQpmdW5jdGlvbiBYZShhLGIsYyl7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk/dGhpcy5ldmFsdWF0ZShiKTp0aGlzLmV2YWx1YXRlKGMpfWZ1bmN0aW9uIFllKGEpe3ZhciBiPXRoaXMuZXZhbHVhdGUoYSk7cmV0dXJuIGIgaW5zdGFuY2VvZiBLZD8iZnVuY3Rpb24iOnR5cGVvZiBifWZ1bmN0aW9uIFplKCl7Zm9yKHZhciBhPXRoaXMuVCxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YXJndW1lbnRzW2JdO3R5cGVvZiBjIT09InN0cmluZyJ8fGEuYWRkKGMsdm9pZCAwKX19CmZ1bmN0aW9uICRlKGEsYixjLGQpe3ZhciBlPXRoaXMuZXZhbHVhdGUoZCk7aWYodGhpcy5ldmFsdWF0ZShjKSl7dmFyIGY9ZWIodGhpcy5ULGUpO2lmKGYgaW5zdGFuY2VvZiBUYSl7aWYoZi50eXBlPT09ImJyZWFrIilyZXR1cm47aWYoZi50eXBlPT09InJldHVybiIpcmV0dXJuIGZ9fWZvcig7dGhpcy5ldmFsdWF0ZShhKTspe3ZhciBnPWViKHRoaXMuVCxlKTtpZihnIGluc3RhbmNlb2YgVGEpe2lmKGcudHlwZT09PSJicmVhayIpYnJlYWs7aWYoZy50eXBlPT09InJldHVybiIpcmV0dXJuIGd9dGhpcy5ldmFsdWF0ZShiKX19ZnVuY3Rpb24gYWYoYSl7cmV0dXJufk51bWJlcih0aGlzLmV2YWx1YXRlKGEpKX1mdW5jdGlvbiBiZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk8PE51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBjZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk+Pk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX0KZnVuY3Rpb24gZGYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpPj4+TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGVmKGEsYil7cmV0dXJuIE51bWJlcih0aGlzLmV2YWx1YXRlKGEpKSZOdW1iZXIodGhpcy5ldmFsdWF0ZShiKSl9ZnVuY3Rpb24gZmYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpXk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBnZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSl8TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGhmKCl7fQpmdW5jdGlvbiBrZihhLGIsYyl7dHJ5e3ZhciBkPXRoaXMuZXZhbHVhdGUoYik7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfWNhdGNoKGgpe2lmKCEoaCBpbnN0YW5jZW9mIGJiJiZoLlNuKSl0aHJvdyBoO3ZhciBlPXRoaXMuVC53YigpO2EhPT0iIiYmKGggaW5zdGFuY2VvZiBiYiYmKGg9aC52byksZS5hZGQoYSxuZXcgUGQoaCkpKTt2YXIgZj10aGlzLmV2YWx1YXRlKGMpLGc9ZWIoZSxmKTtpZihnIGluc3RhbmNlb2YgVGEpcmV0dXJuIGd9fWZ1bmN0aW9uIGxmKGEsYil7dmFyIGMsZDt0cnl7ZD10aGlzLmV2YWx1YXRlKGEpfWNhdGNoKGYpe2lmKCEoZiBpbnN0YW5jZW9mIGJiJiZmLlNuKSl0aHJvdyBmO2M9Zn12YXIgZT10aGlzLmV2YWx1YXRlKGIpO2lmKGUgaW5zdGFuY2VvZiBUYSlyZXR1cm4gZTtpZihjKXRocm93IGM7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfTt2YXIgbmY9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IGdiO21mKHRoaXMpfTtuZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ILnJrKGEpfTt2YXIgbWY9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgTGQoU3RyaW5nKGMpLGQpO2UuWmEoKTt2YXIgZj1TdHJpbmcoYyk7YS5ILkguc2V0KGYsZSk7ZGIuc2V0KGYsZSl9O2IoIm1hcCIsSWUpO2IoImFuZCIsdGQpO2IoImNvbnRhaW5zIix3ZCk7YigiZXF1YWxzIix1ZCk7Yigib3IiLHZkKTtiKCJzdGFydHNXaXRoIix4ZCk7YigidmFyaWFibGUiLHlkKX07bmYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07dmFyIHBmPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3RoaXMuSD1uZXcgZ2I7b2YodGhpcyk7dGhpcy5LPSEwfTtwZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gcWYodGhpcy5ILnJrKGEpKX07dmFyIHJmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcWYoYS5ILkpxKGIsYykpfTtwZi5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07CnZhciBvZj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjLGQpe3ZhciBlPVN0cmluZyhjKSxmPW5ldyBMZChlLGQpO2YuWmEoKTthLkguSC5zZXQoZSxmKTtkYi5zZXQoZSxmKX07YigwLFpkKTtiKDEsJGQpO2IoMixhZSk7YigzLGJlKTtiKDU2LGVmKTtiKDU3LGJmKTtiKDU4LGFmKTtiKDU5LGdmKTtiKDYwLGNmKTtiKDYxLGRmKTtiKDYyLGZmKTtiKDUzLGNlKTtiKDQsZGUpO2IoNSxlZSk7Yig2OCxrZik7Yig1MixmZSk7Yig2LGdlKTtiKDQ5LGhlKTtiKDcsSGUpO2IoOCxJZSk7Yig5LGVlKTtiKDUwLGllKTtiKDEwLGplKTtiKDEyLGtlKTtiKDEzLGxlKTtiKDY3LGxmKTtiKDUxLHdlKTtiKDQ3LG9lKTtiKDU0LHBlKTtiKDU1LHFlKTtiKDYzLHZlKTtiKDY0LHJlKTtiKDY1LHRlKTtiKDY2LHVlKTtiKDE1LHhlKTtiKDE2LHplKTtiKDE3LHplKTtiKDE4LEFlKTtiKDE5LEJlKTtiKDIwLENlKTtiKDIxLERlKTtiKDIyLEVlKTtiKDIzLEZlKTtiKDI0LEdlKTtiKDI1LEplKTtiKDI2LApLZSk7YigyNyxMZSk7YigyOCxNZSk7YigyOSxOZSk7Yig0NSxPZSk7YigzMCxQZSk7YigzMixRZSk7YigzMyxRZSk7YigzNCxSZSk7YigzNSxSZSk7Yig0NixTZSk7YigzNixUZSk7Yig0MyxVZSk7YigzNyxWZSk7YigzOCxXZSk7YigzOSxYZSk7Yig0MCxZZSk7Yig0NCxoZik7Yig0MSxaZSk7Yig0MiwkZSl9O3BmLnByb3RvdHlwZS5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguamUoKX07cGYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07cGYucHJvdG90eXBlLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSC5zZChhKX07CmZ1bmN0aW9uIHFmKGEpe2lmKGEgaW5zdGFuY2VvZiBUYXx8YSBpbnN0YW5jZW9mIEtkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgUGR8fGE9PT1udWxsfHxhPT09dm9pZCAwfHx0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJudW1iZXIifHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYX07dmFyIHNmPWZ1bmN0aW9uKGEpe3RoaXMubWVzc2FnZT1hfTtmdW5jdGlvbiB0ZihhKXthLnF2PSEwO3JldHVybiBhfTt2YXIgdWY9dGYoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSx2Zj10ZihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLHdmPXRmKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO2Z1bmN0aW9uIHhmKGEpe3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIlthXTtyZXR1cm4gYj09PXZvaWQgMD9uZXcgc2YoIlZhbHVlICIrYSsiIGNhbiBub3QgYmUgZW5jb2RlZCBpbiB3ZWItc2FmZSBiYXNlNjQgZGljdGlvbmFyeS4iKTpifTtmdW5jdGlvbiB5ZihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiIxIjtjYXNlIDI6Y2FzZSA0OnJldHVybiIwIjtkZWZhdWx0OnJldHVybiItIn19O3ZhciB6Zj0vXlsxLTlhLXpBLVpfLV1bMS05YS1jXVsxLTlhLXZdXGQkLztmdW5jdGlvbiBBZihhLGIpe2Zvcih2YXIgYz0iIixkPSEwO2E+Nzspe3ZhciBlPWEmMzE7YT4+PTU7ZD9kPSExOmV8PTMyO2M9IiIreGYoZSkrY31hPDw9MjtkfHwoYXw9MzIpO3JldHVybiBjPSIiK3hmKGF8YikrY31mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPT09dm9pZCAwfHxiPT09MD8iIjoiIitBZihhLDEpK3hmKGIpfQpmdW5jdGlvbiBDZihhLGIpe3ZhciBjO3ZhciBkPWEuaGksZT1hLmJrO2Q9PT12b2lkIDA/Yz0iIjooZXx8KGU9MCksYz0iIitBZigxLDEpK3hmKGQ8PDJ8ZSkpO3ZhciBmPSI0IitjK0JmKDIsYS5xciksZyxoPWEuSW87Zz1oJiZ6Zi50ZXN0KGgpPyIiK0FmKDMsMikraDoiIjt2YXIgbDt2YXIgbj1hLmN0aWQ7aWYobiYmYil7dmFyIHA9QWYoNSwzKSxxPW4uc3BsaXQoIi0iKSxyPXFbMF0udG9VcHBlckNhc2UoKTtpZihyIT09IkdUTSImJnIhPT0iT1BUIilsPSIiO2Vsc2V7dmFyIHQ9cVsxXTtsPSIiK3AreGYoMSt0Lmxlbmd0aCkrKGEuTHN8fDApK3R9fWVsc2UgbD0iIjt2YXIgdT1hLmNhbm9uaWNhbElkLHY9YS5tYyx4PWEuenYseT1mK2crQmYoNCxhLkRvKStsK0JmKDYsYS5EdCkrKHU/IiIrQWYoNywzKSt4Zih1Lmxlbmd0aCkrdToiIikrKHY/IiIrQWYoOCwzKSt4Zih2Lmxlbmd0aCkrdjoiIikrKHg/IiIrQWYoOSwzKSt4Zih4Lmxlbmd0aCkreDoiIiksejt2YXIgQz1hLnpyO0M9CkM9PT12b2lkIDA/e306Qztmb3IodmFyIEQ9W10sST1tKE9iamVjdC5rZXlzKEMpKSxHPUkubmV4dCgpOyFHLmRvbmU7Rz1JLm5leHQoKSl7dmFyIE49Ry52YWx1ZTtEW051bWJlcihOKV09Q1tOXX1pZihELmxlbmd0aCl7dmFyIFM9QWYoMTAsMyksVztpZihELmxlbmd0aD09PTApVz14ZigwKTtlbHNle2Zvcih2YXIgZWE9W10samE9MCxmYT0hMSxzYT0wO3NhPEQubGVuZ3RoO3NhKyspe2ZhPSEwO3ZhciBkYT1zYSU2O0Rbc2FdJiYoamF8PTE8PGRhKTtkYT09PTUmJihlYS5wdXNoKHhmKGphKSksamE9MCxmYT0hMSl9ZmEmJmVhLnB1c2goeGYoamEpKTtXPWVhLmpvaW4oIiIpfXZhciBtYT1XO3o9IiIrUyt4ZihtYS5sZW5ndGgpK21hfWVsc2Ugej0iIjt2YXIgUGE9YS5VcyxGYT1hLm50O3JldHVybiB5K3orKFBhPyIiK0FmKDExLDMpK3hmKFBhLmxlbmd0aCkrUGE6IiIpKyhGYT8iIitBZigxMywzKSt4ZihGYS5sZW5ndGgpK0ZhOiIiKStCZigxNCxhLkV0KStCZigxNSxhLnJ2KStCZigxNiwKYS5Bdil9O2Z1bmN0aW9uIERmKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVmKGEsYil7Zm9yKHZhciBjPXFiKGIpLGQ9bmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgpLGU9MDtlPGMubGVuZ3RoO2UrKylkW2VdPWMuY2hhckNvZGVBdChlKTtpZihkLmxlbmd0aCE9PTMyKXRocm93IEVycm9yKCJLZXkgaXMgbm90IDMyIGJ5dGVzLiIpO3JldHVybiBGZihhLGQpfWZ1bmN0aW9uIEZmKGEsYil7aWYoYT09PSIiKXJldHVybiIiO3ZhciBjPVpiKGEpLGQ9Yi5zbGljZSgtMiksZT1bXS5jb25jYXQodyhkKSx3KGMpKS5tYXAoZnVuY3Rpb24oZyxoKXtyZXR1cm4gZ15iW2glYi5sZW5ndGhdfSksZj1uZXcgVWludDhBcnJheShbXS5jb25jYXQodyhlKSx3KGQpKSk7cmV0dXJuIHBiKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHcoZikpKS5yZXBsYWNlKC9cLiskLywiIil9O3ZhciBHZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYil7cmV0dXJue3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fX1yZXR1cm57Y3A6YSgiY29uc2VudCIpLFprOmEoImNvbnZlcnRfY2FzZV90byIpLGFsOmEoImNvbnZlcnRfZmFsc2VfdG8iKSxibDphKCJjb252ZXJ0X251bGxfdG8iKSxlcDphKCJjb252ZXJ0X3RvX2Jvb2xlYW4iKSxhaDphKCJjb252ZXJ0X3RvX251bWJlciIpLGZsOmEoImNvbnZlcnRfdHJ1ZV90byIpLGlsOmEoImNvbnZlcnRfdW5kZWZpbmVkX3RvIiksWXQ6YSgiZGVidWdfbW9kZV9tZXRhZGF0YSIpLFliOmEoImZ1bmN0aW9uIiksUm06YSgiaW5zdGFuY2VfbmFtZSIpLE5xOmEoImxpdmVfb25seSIpLE9xOmEoIm1hbHdhcmVfZGlzYWJsZWQiKSxNRVRBREFUQTphKCJtZXRhZGF0YSIpLFJxOmEoIm9yaWdpbmFsX2FjdGl2aXR5X2lkIiksVHU6YSgib3JpZ2luYWxfdmVuZG9yX3RlbXBsYXRlX2lkIiksU3U6YSgib25jZV9vbl9sb2FkIiksUXE6YSgib25jZV9wZXJfZXZlbnQiKSwKa246YSgib25jZV9wZXJfbG9hZCIpLFZ1OmEoInByaW9yaXR5X292ZXJyaWRlIiksWXU6YSgicmVzcGVjdGVkX2NvbnNlbnRfdHlwZXMiKSx0bjphKCJzZXR1cF90YWdzIikseWo6YSgidGFnX2lkIiksRG46YSgidGVhcmRvd25fdGFncyIpLHBsOmEoImRpc2FibGVkX2luX2dvb2dsZV9tb2RlIiksRnE6YSgiZ2VuZXJhdGVkX3RhZ2dpbmdfbWV0YWRhdGEiKX19KCk7ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz17fTtjW0dmLlliXT0iX18iK2E7Zm9yKHZhciBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbInZ0cF8iK2RdPWJbZF0pO3JldHVybiBjfTtmdW5jdGlvbiBJZihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjLGQ7cmV0dXJuKChjPWRhdGEpPT1udWxsPzA6KGQ9Yy5ibG9iKT09bnVsbD8wOmQuaGFzT3duUHJvcGVydHkoYSkpPyEhZGF0YS5ibG9iW2FdOmJ9ZnVuY3Rpb24gRShhKXt2YXIgYjtiPWI9PT12b2lkIDA/IiI6Yjt2YXIgYyxkO3JldHVybigoYz1kYXRhKT09bnVsbD8wOihkPWMuYmxvYik9PW51bGw/MDpkLmhhc093blByb3BlcnR5KGEpKT9TdHJpbmcoZGF0YS5ibG9iW2FdKTpifWZ1bmN0aW9uIEpmKGEpe3ZhciBiLGM7cmV0dXJuKChiPWRhdGEpPT1udWxsPzA6KGM9Yi5ibG9iKT09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihkYXRhLmJsb2JbYV0pOjB9ZnVuY3Rpb24gS2YoYSl7dmFyIGI7Yj1iPT09dm9pZCAwP1tdOmI7dmFyIGMsZCxlPShjPWRhdGEpPT1udWxsP3ZvaWQgMDooZD1jLmJsb2IpPT1udWxsP3ZvaWQgMDpkW2FdO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6Yn0KZnVuY3Rpb24gTGYoYSl7dmFyIGI7Yj1iPT09dm9pZCAwPyIiOmI7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP1N0cmluZyhjW2FdKTpifWZ1bmN0aW9uIE5mKGEsYil7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihjW2FdKTpifWZ1bmN0aW9uIE1mKGEpe3ZhciBiLGM7cmV0dXJuKGI9ZGF0YSk9PW51bGw/dm9pZCAwOihjPWIuYmxvYik9PW51bGw/dm9pZCAwOmNbYV19O3ZhciBPZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7ZD1FcnJvci5jYWxsKHRoaXMsYyk7dGhpcy5tZXNzYWdlPWQubWVzc2FnZTsic3RhY2siaW4gZCYmKHRoaXMuc3RhY2s9ZC5zdGFjayk7dGhpcy5wZXJtaXNzaW9uSWQ9YTt0aGlzLnBhcmFtZXRlcnM9Yjt0aGlzLm5hbWU9IlBlcm1pc3Npb25FcnJvciJ9O3dhKE9mLEVycm9yKTtPZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1lc3NhZ2V9O2Z1bmN0aW9uIFBmKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbnRleHQiLHt2YWx1ZTp7bGluZTpiWzBdfX0pO2Zvcih2YXIgYz0xO2M8YS5sZW5ndGg7YysrKVBmKGFbY10sYltjXSl9fTtmdW5jdGlvbiBRZigpe3JldHVybiBmdW5jdGlvbihhLGIpe3ZhciBjO3ZhciBkPVJmO2EgaW5zdGFuY2VvZiBiYj8oYS5IPWQsYz1hKTpjPW5ldyBiYihhLGQpO3ZhciBlPWM7YiYmZS5LLnB1c2goYik7dGhyb3cgZTt9fWZ1bmN0aW9uIFJmKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gYTthLnB1c2goe2lkOiJtYWluIixsaW5lOjB9KTtmb3IodmFyIGI9YS5sZW5ndGgtMTtiPjA7Yi0tKUFiKGFbYl0uaWQpJiZhLnNwbGljZShiKyssMSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz4wO2MtLSlhW2NdLmxpbmU9YVtjLTFdLmxpbmU7YS5zcGxpY2UoMCwxKTtyZXR1cm4gYX07dmFyIFNmPVJlZ0V4cCgiW14wLTlcXC4rLV0iLCJnIiksVGY9UmVnRXhwKCJbXjAtOVxcLCstXSIsImciKSxVZj1SZWdFeHAoIlteMC05Ky1dIiwiZyIpOwpmdW5jdGlvbiBWZihhLGIpe2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7dmFyIGM9U3RyaW5nKGEpLGQ7aWYoYj09PSJBVVRPTUFUSUMiKXt2YXIgZT0oYy5tYXRjaCgvXC4vZyl8fFtdKS5sZW5ndGgsZj0oYy5tYXRjaCgvLC9nKXx8W10pLmxlbmd0aCxnPSJOT05FIjtpZihlPjAmJmY+MCl7dmFyIGg9Yy5sYXN0SW5kZXhPZigiLiIpPmMubGFzdEluZGV4T2YoIiwiKTtoJiZlPT09MT9nPSJQRVJJT0QiOmh8fGYhPT0xfHwoZz0iQ09NTUEiKX1lbHNlIGU9PT0xP2c9KGMuc3BsaXQoIi4iKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJQRVJJT0QiOiJOT05FIjpmPT09MSYmKGc9KGMuc3BsaXQoIiwiKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJDT01NQSI6Ik5PTkUiKTtkPWd9ZWxzZSBkPWI9PT0iQ09NTUEiPyJDT01NQSI6IlBFUklPRCI7dmFyIGwsbjtkPT09IlBFUklPRCI/KGw9Ii4iLG49U2YpOmQ9PT0iQ09NTUEiPyhsPSIsIiwKbj1UZik6KGw9IiIsbj1VZik7dmFyIHA9Yy5yZXBsYWNlKG4sIiIpO2lmKGwhPT0iIiYmcC5zcGxpdChsKS5sZW5ndGg+MilyZXR1cm4gYTt2YXIgcT1wLnJlcGxhY2UoLywvZywiLiIpO2lmKHE9PT0iIilyZXR1cm4gYTt2YXIgcj1OdW1iZXIocSk7cmV0dXJuIGlzTmFOKHIpP2E6cn07dmFyIFdmPVtdLFhmPXt9O2Z1bmN0aW9uIFlmKGEpe3JldHVybiBXZlthXT09PXZvaWQgMD8hMTpXZlthXX07dmFyIFpmPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSwkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7KGQ9YS5IKVtiXSE9bnVsbHx8KGRbYl09W10pO2EuSFtiXS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkobnVsbCx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfSl9O2Z1bmN0aW9uIGFnKGEsYixjLGQpe2lmKGEpZm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPXZvaWQgMCxnPSJBIHBvbGljeSBmdW5jdGlvbiBkZW5pZWQgdGhlIHBlcm1pc3Npb24gcmVxdWVzdCI7dHJ5e2Y9YVtlXShiLGMsZCksZys9Ii4ifWNhdGNoKGgpe2c9dHlwZW9mIGg9PT0ic3RyaW5nIj9nKygiOiAiK2gpOmggaW5zdGFuY2VvZiBFcnJvcj9nKygiOiAiK2gubWVzc2FnZSk6ZysiLiJ9aWYoIWYpdGhyb3cgbmV3IE9mKGMsZCxnKTt9fQpmdW5jdGlvbiBiZyhhLGIpe3ZhciBjPWNnKGRnLkgsYixmdW5jdGlvbigpe3JldHVybnt9fSk7dHJ5e3JldHVybiBjKGEpLCEwfWNhdGNoKGQpe3JldHVybiExfX1mdW5jdGlvbiBjZyhhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKGQpe3ZhciBlPWEuSFtkXSxmPWEuSC5hbGw7aWYoZXx8Zil7dmFyIGc9Yy5hcHBseSh2b2lkIDAsW2RdLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKTthZyhlLGIsZCxnKTthZyhmLGIsZCxnKX19fX07dmFyIGdnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSz17fTt0aGlzLkg9bmV3IFpmO3ZhciBlPXt9LGY9e30sZz1jZyh0aGlzLkgsYSxmdW5jdGlvbihoKXtyZXR1cm4gaCYmZVtoXT9lW2hdLmFwcGx5KHZvaWQgMCxbaF0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpOnt9fSk7R2IoYixmdW5jdGlvbihoLGwpe2Z1bmN0aW9uIG4ocSl7dmFyIHI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKCFwW3FdKXRocm93IGVnKHEse30sIlRoZSByZXF1ZXN0ZWQgYWRkaXRpb25hbCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO2cuYXBwbHkobnVsbCxbcV0uY29uY2F0KHcocikpKX12YXIgcD17fTtHYihsLGZ1bmN0aW9uKHEscil7dmFyIHQ9ZmcocSxyLGMpO3BbcV09dC5hc3NlcnQ7ZVtxXXx8KGVbcV09dC5hYSk7dC5PbiYmIWZbcV0mJihmW3FdPXQuT24pfSk7ZC5LW2hdPWZ1bmN0aW9uKHEscil7dmFyIHQ9cFtxXTtpZighdCl0aHJvdyBlZyhxLAp7fSwiVGhlIHJlcXVlc3RlZCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO3ZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTt0LmFwcGx5KHZvaWQgMCx1KTtnLmFwcGx5KHZvaWQgMCx1KTt2YXIgdj1mW3FdO3YmJnYuYXBwbHkobnVsbCxbbl0uY29uY2F0KHcodS5zbGljZSgxKSkpKX19KX0saGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGRnLktbYV18fGZ1bmN0aW9uKCl7fX07CmZ1bmN0aW9uIGZnKGEsYixjKXt0cnl7dmFyIGQ9Y1siX18iK2FdO2lmKCFkKXRocm93IEVycm9yKCJObyBmdW5jdGlvbiBmb3VuZCBmb3IgcGVybWlzc2lvbjogIithKyIuIik7dmFyIGU9SGYoYSxiKTtlLnZ0cF9wZXJtaXNzaW9uTmFtZT1hO2UudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcj1lZztkZWxldGUgZVtHZi5ZYl07cmV0dXJuIGQoZSl9Y2F0Y2goZil7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihnKXt0aHJvdyBuZXcgT2YoZyx7fSwiUGVybWlzc2lvbiAiK2crIiBpcyB1bmtub3duLiIpO30sYWE6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgT2YoYSx7fSwiUGVybWlzc2lvbiAiK2ErIiBpcyB1bmtub3duLiIpO319fX1mdW5jdGlvbiBlZyhhLGIsYyl7cmV0dXJuIG5ldyBPZihhLGIsYyl9O3ZhciBpZz1FKDUpLGpnPUUoMjApLGtnPUUoMSksbGc9ITE7dmFyIG1nPXt9O21nLlBvPUlmKDI5KTttZy5Lcj1JZigyOCk7ZnVuY3Rpb24gbmcoYSl7dmFyIGI9MSxjLGQsZTtpZihhKWZvcihiPTAsZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKWU9YS5jaGFyQ29kZUF0KGQpLGI9KGI8PDYmMjY4NDM1NDU1KStlKyhlPDwxNCksYz1iJjI2NjMzODMwNCxiPWMhPT0wP2JeYz4+MjE6YjtyZXR1cm4gYn07dmFyIG9nPWZ1bmN0aW9uKGEpe3RoaXMuY2FjaGU9YX07b2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYj1uZyhhKSxjPXRoaXMuY2FjaGUuZ2V0KGIpO2lmKCFjKXJldHVybntwcm9taXNlOnZvaWQgMCxLajowfTtpZihEYXRlLm5vdygpPj1jLnRpbWVzdGFtcCs5RTUpcmV0dXJuIHRoaXMuY2FjaGUuZGVsZXRlKGIpLHtwcm9taXNlOnZvaWQgMCxLajozfTt2YXIgZD1jLnJlc29sdmVkVmFsdWU/MjoxO3JldHVybntwcm9taXNlOmMucmVzb2x2ZWRWYWx1ZT9Qcm9taXNlLnJlc29sdmUoYy5yZXNvbHZlZFZhbHVlKTpjLnByb21pc2UsS2o6ZH19O29nLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17cHJvbWlzZTpiLHJlc29sdmVkVmFsdWU6dm9pZCAwLHRpbWVzdGFtcDpEYXRlLm5vdygpfTt0aGlzLmNhY2hlLnNldChuZyhhKSxjKTtiLnRoZW4oZnVuY3Rpb24oZCl7Yy5yZXNvbHZlZFZhbHVlPWR9KX07ZnVuY3Rpb24gcGcoYSl7c3dpdGNoKGEpe2Nhc2UgMDpicmVhaztjYXNlIDk6cmV0dXJuImU0IjtjYXNlIDY6cmV0dXJuImU1IjtjYXNlIDE0OnJldHVybiJlNiI7ZGVmYXVsdDpyZXR1cm4iZTcifX07dmFyIEY9e0Q6e1hhOiJhZF9wZXJzb25hbGl6YXRpb24iLGthOiJhZF9zdG9yYWdlIixtYToiYWRfdXNlcl9kYXRhIixyYToiYW5hbHl0aWNzX3N0b3JhZ2UiLG5jOiJyZWdpb24iLHNhOiJjb25zZW50X3VwZGF0ZWQiLFlnOiJ3YWl0X2Zvcl91cGRhdGUiLGVoOiJlbmRwb2ludF90eXBlIixxcDoiYXBwX3JlbW92ZSIscnA6ImFwcF9zdG9yZV9yZWZ1bmQiLHRwOiJhcHBfc3RvcmVfc3Vic2NyaXB0aW9uX2NhbmNlbCIsdXA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY29udmVydCIsdnA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fcmVuZXciLHdwOiJjb25zZW50X3VwZGF0ZSIseHA6ImNvbnZlcnNpb24iLHZsOiJhZGRfcGF5bWVudF9pbmZvIix3bDoiYWRkX3NoaXBwaW5nX2luZm8iLHhlOiJhZGRfdG9fY2FydCIseWU6InJlbW92ZV9mcm9tX2NhcnQiLHhsOiJ2aWV3X2NhcnQiLEFkOiJiZWdpbl9jaGVja291dCIsZXU6ImdlbmVyYXRlX2xlYWQiLHplOiJzZWxlY3RfaXRlbSIsb2M6InZpZXdfaXRlbV9saXN0IiwKUWM6InNlbGVjdF9wcm9tb3Rpb24iLHFjOiJ2aWV3X3Byb21vdGlvbiIsSWI6InB1cmNoYXNlIixBZToicmVmdW5kIixyYzoidmlld19pdGVtIix5bDoiYWRkX3RvX3dpc2hsaXN0Iix5cDoiZXhjZXB0aW9uIix6cDoiZmlyc3Rfb3BlbiIsQXA6ImZpcnN0X3Zpc2l0Iix3YToiZ3RhZy5jb25maWciLEpiOiJndGFnLmdldCIsQnA6ImluX2FwcF9wdXJjaGFzZSIsc2M6InBhZ2VfdmlldyIsQ3A6InNjcmVlbl92aWV3IixEcDoic2Vzc2lvbl9zdGFydCIsRXA6InNvdXJjZV91cGRhdGUiLEZwOiJ0aW1pbmdfY29tcGxldGUiLEdwOiJ0cmFja19zb2NpYWwiLHlmOiJ1c2VyX2VuZ2FnZW1lbnQiLEhwOiJ1c2VyX2lkX3VwZGF0ZSIsZmg6ImJyYWlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLGdoOiJicmFpZF9zdG9yYWdlX3NvdXJjZSIsQmQ6ImdjbGlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLENkOiJnY2xpZF9zdG9yYWdlX3NvdXJjZSIsU2I6ImdjbGdiIixsYjoiZ2NsaWQiLHpsOiJnY2xpZF9sZW4iLApCZToiZ2NsZ3MiLENlOiJnY2xscCIsRGU6ImdjbHN0IixtYjoiYWRzX2RhdGFfcmVkYWN0aW9uIix6ZjoiZ2FkX3NvdXJjZSIsQWY6ImdhZF9zb3VyY2Vfc3JjIixEZDoiZ2NsaWRfdXJsIixBbDoiZ2Nsc3JjIixCZjoiZ2JyYWlkIixFZToid2JyYWlkIixSYzoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uX3NpZ25hbHMiLHJpOiJhbGxvd19jdXN0b21fc2NyaXB0cyIsaGg6ImFsbG93X2Rpc3BsYXlfZmVhdHVyZXMiLHNpOiJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyIsU2M6ImFsbG93X2dvb2dsZV9zaWduYWxzIix1aToiYWxsb3dfaW50ZXJlc3RfZ3JvdXBzIixJcDoiYXBwX2lkIixKcDoiYXBwX2luc3RhbGxlcl9pZCIsS3A6ImFwcF9uYW1lIixMcDoiYXBwX3ZlcnNpb24iLEVkOiJhdWlkIixmdToiYXV0b19kZXRlY3Rpb25fZW5hYmxlZCIsQmw6ImF1dG9fZXZlbnQiLENsOiJhd19yZW1hcmtldGluZyIsaWg6ImF3X3JlbWFya2V0aW5nX29ubHkiLENmOiJkaXNjb3VudCIsRGY6ImF3X2ZlZWRfY291bnRyeSIsCkVmOiJhd19mZWVkX2xhbmd1YWdlIixIYToiaXRlbXMiLEZmOiJhd19tZXJjaGFudF9pZCIsd2k6ImF3X2Jhc2tldF90eXBlIixHZjoiY2FtcGFpZ25fY29udGVudCIsSGY6ImNhbXBhaWduX2lkIixJZjoiY2FtcGFpZ25fbWVkaXVtIixKZjoiY2FtcGFpZ25fbmFtZSIsS2Y6ImNhbXBhaWduIixMZjoiY2FtcGFpZ25fc291cmNlIixNZjoiY2FtcGFpZ25fdGVybSIsS2I6ImNsaWVudF9pZCIsRGw6InJuZCIseGk6ImNvbnNlbnRfdXBkYXRlX3R5cGUiLE1wOiJjb250ZW50X2dyb3VwIixOcDoiY29udGVudF90eXBlIixGZDoiY29udmVyc2lvbl9jb29raWVfcHJlZml4Iix5aToiY29udmVyc2lvbl9pZCIsdWM6ImNvbnZlcnNpb25fbGlua2VyIixIZDoiY29udmVyc2lvbl9saW5rZXJfZGlzYWJsZWQiLEZlOiJjb252ZXJzaW9uX2FwaSIsemk6Il8mcmNiIixqaDoiY29va2llX2RlcHJlY2F0aW9uIixMYjoiY29va2llX2RvbWFpbiIsQ2I6ImNvb2tpZV9leHBpcmVzIixUYjoiY29va2llX2ZsYWdzIiwKSWQ6ImNvb2tpZV9uYW1lIix2YzoiY29va2llX3BhdGgiLG5iOiJjb29raWVfcHJlZml4IixKZDoiY29va2llX3VwZGF0ZSIsVGM6ImNvdW50cnkiLGViOiJjdXJyZW5jeSIsR2U6ImN1c3RvbWVyX2xpZmV0aW1lX3ZhbHVlIixraDoiY3VzdG9tZXJfdHlwZSIsSGU6ImN1c3RvbV9tYXAiLEFpOiJnY2xkY19saW5rX2RlY29yYXRpb25fc291cmNlIixCaToiZ2NsZGNfc3RvcmFnZV9zb3VyY2UiLE5mOiJnY2xkYyIsS2Q6ImRjbGlkIixFbDoiZGVidWdfbW9kZSIsT2E6ImRldmVsb3Blcl9pZCIsT3A6ImRpc2FibGVfbWVyY2hhbnRfcmVwb3J0ZWRfcHVyY2hhc2VzIixVYzoiZGNfY3VzdG9tX3BhcmFtcyIsUHA6ImRjX25hdHVyYWxfc2VhcmNoIixRcDoiZHluYW1pY19ldmVudF9zZXR0aW5ncyIsRmw6ImFmZmlsaWF0aW9uIixtaDoiY2hlY2tvdXRfb3B0aW9uIixDaToiY2hlY2tvdXRfc3RlcCIsR2w6ImNvdXBvbiIsT2Y6Iml0ZW1fbGlzdF9uYW1lIixEaToibGlzdF9uYW1lIixScDoicHJvbW90aW9ucyIsCkxkOiJzaGlwcGluZyIsSGw6InRheCIsbmg6ImVuZ2FnZW1lbnRfdGltZV9tc2VjIixvaDoiZW5oYW5jZWRfY2xpZW50X2lkIixTcDoiZW5oYW5jZWRfY29udmVyc2lvbnMiLGd1OiJlbmhhbmNlZF9jb252ZXJzaW9uc19hdXRvbWF0aWNfc2V0dGluZ3MiLEllOiJlc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZSIsUGY6ImV2ZW50X2NhbGxiYWNrIixUcDoiZXZlbnRfY2F0ZWdvcnkiLFZjOiJldmVudF9kZXZlbG9wZXJfaWRfc3RyaW5nIixNZDoiZXZlbnRfaWQiLEVpOiJfZXZlbnRfam9pbl9pZCIsVXA6ImV2ZW50X2xhYmVsIixVYjoiZXZlbnQiLElsOiJfJmFlIixGaToiZXZlbnRfc2V0dGluZ3MiLHBoOiJldmVudF90aW1lb3V0IixWcDoiZGVzY3JpcHRpb24iLFdwOiJmYXRhbCIsWHA6ImV4cGVyaW1lbnRzIixOZDoiZXh0X2NsaWVudF9pZCIsR2k6ImZpcmViYXNlX2lkIixRZjoiZmlyc3RfcGFydHlfY29sbGVjdGlvbiIsUmY6Il94XzIwIixWYjoiX3hfMTkiLFlwOiJmbGlnaHRfZXJyb3JfY29kZSIsClpwOiJmbGlnaHRfZXJyb3JfbWVzc2FnZSIsSGk6ImZsX2FjdGl2aXR5X2NhdGVnb3J5IixJaToiZmxfYWN0aXZpdHlfZ3JvdXAiLHFoOiJmbF9hZHZlcnRpc2VyX2lkIixKaToibWF0Y2hfaWQiLEpsOiJmbF9yYW5kb21fbnVtYmVyIixLbDoidHJhbiIsTGw6InUiLHJoOiJnYWNfZ2NsaWQiLEplOiJnYWNfd2JyYWlkIixNbDoiZ2FjX3dicmFpZF9tdWx0aXBsZV9jb252ZXJzaW9ucyIsYXE6ImdhX3Jlc3RyaWN0X2RvbWFpbiIsTmw6ImdhX3RlbXBfY2xpZW50X2lkIixicToiZ2FfdGVtcF9lY2lkIixLZToiZ2Rwcl9hcHBsaWVzIixzaDoiX2d0X21ldGFkYXRhIixPbDoiZ2VvX2dyYW51bGFyaXR5IixTZjoidmFsdWVfY2FsbGJhY2siLFRmOiJ2YWx1ZV9rZXkiLFRhOiJnb29nbGVfYW5hbHlzaXNfcGFyYW1zIixMZToiX2dvb2dsZV9uZyIsY3E6Il9vbm8iLFVmOiJnb29nbGVfc2lnbmFscyIsZnE6Imdvb2dsZV90bGQiLHRoOiJncHBfc2lkIix1aDoiZ3BwX3N0cmluZyIsT2Q6Imdyb3VwcyIsClBsOiJnc2FfZXhwZXJpbWVudF9pZCIsVmY6Imd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSIsUWw6Imd0bV91cCIsTWU6ImlmcmFtZV9zdGF0ZSIsV2Y6Imlnbm9yZV9yZWZlcnJlciIsUmw6ImludGVybmFsX3RyYWZmaWNfcmVzdWx0cyIsU2w6Il9pc19mcG0iLFljOiJpc19sZWdhY3lfY29udmVydGVkIixaYzoiaXNfbGVnYWN5X2xvYWRlZCIsS2k6ImlzX3Bhc3N0aHJvdWdoIixQZDoiX2xwcyIsdGI6Imxhbmd1YWdlIixMaToibGVnYWN5X2RldmVsb3Blcl9pZF9zdHJpbmciLERiOiJsaW5rZXIiLFhmOiJhY2NlcHRfaW5jb21pbmciLHdjOiJkZWNvcmF0ZV9mb3JtcyIsQWE6ImRvbWFpbnMiLGFkOiJ1cmxfcG9zaXRpb24iLFFkOiJtZXJjaGFudF9mZWVkX2xhYmVsIixSZDoibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSIsU2Q6Im1lcmNoYW50X2lkIixUbDoibWV0aG9kIixncToibmFtZSIsVWw6Im5hdmlnYXRpb25fdHlwZSIsTmU6Im5ld19jdXN0b21lciIsTWk6Im5vbl9pbnRlcmFjdGlvbiIsCmhxOiJvcHRpbWl6ZV9pZCIsVmw6InBhZ2VfaG9zdG5hbWUiLFlmOiJwYWdlX3BhdGgiLFVhOiJwYWdlX3JlZmVycmVyIixNYjoicGFnZV90aXRsZSIsaXE6InBhc3NlbmdlcnMiLFdsOiJwaG9uZV9jb252ZXJzaW9uX2NhbGxiYWNrIixqcToicGhvbmVfY29udmVyc2lvbl9jb3VudHJ5X2NvZGUiLFhsOiJwaG9uZV9jb252ZXJzaW9uX2Nzc19jbGFzcyIsa3E6InBob25lX2NvbnZlcnNpb25faWRzIixZbDoicGhvbmVfY29udmVyc2lvbl9udW1iZXIiLFpsOiJwaG9uZV9jb252ZXJzaW9uX29wdGlvbnMiLGxxOiJfcGxhdGludW1fcmVxdWVzdF9zdGF0dXMiLG1xOiJfcHJvdGVjdGVkX2F1ZGllbmNlX2VuYWJsZWQiLHdoOiJxdWFudGl0eSIseGg6InJlZGFjdF9kZXZpY2VfaW5mbyIsYW06InJlZmVycmFsX2V4Y2x1c2lvbl9kZWZpbml0aW9uIixodToiX3JlcXVlc3Rfc3RhcnRfdGltZSIsV2I6InJlc3RyaWN0ZWRfZGF0YV9wcm9jZXNzaW5nIixucToicmV0b2tlbiIsb3E6InNhbXBsZV9yYXRlIiwKTmk6InNjcmVlbl9uYW1lIixiZDoic2NyZWVuX3Jlc29sdXRpb24iLGJtOiJfc2NyaXB0X3NvdXJjZSIscHE6InNlYXJjaF90ZXJtIixUZDoic2VuZF9wYWdlX3ZpZXciLFhiOiJzZW5kX3RvIixPaToic2VydmVyX2NvbnRhaW5lcl8zcF9lbnJpY2htZW50IixkZDoic2VydmVyX2NvbnRhaW5lcl91cmwiLHFxOiJzZXNzaW9uX2F0dHJpYnV0ZXNfZW5jb2RlZCIseWg6InNlc3Npb25fZHVyYXRpb24iLHpoOiJzZXNzaW9uX2VuZ2FnZWQiLFBpOiJzZXNzaW9uX2VuZ2FnZWRfdGltZSIseGM6InNlc3Npb25faWQiLEFoOiJzZXNzaW9uX251bWJlciIsWmY6Il9zaGFyZWRfdXNlcl9pZCIsVWQ6ImRlbGl2ZXJ5X3Bvc3RhbF9jb2RlIixpdToiX3RhZ19maXJpbmdfZGVsYXkiLGp1OiJfdGFnX2ZpcmluZ190aW1lIixrdToidGVtcG9yYXJ5X2NsaWVudF9pZCIsUWk6InRlc3Rvbmx5IixycToiX3RpbWV6b25lIixQZToidG9wbW9zdF91cmwiLFFlOiJ0cmFja2luZ19pZCIsUmk6InRyYWZmaWNfdHlwZSIsClBhOiJ0cmFuc2FjdGlvbl9pZCIsZG06InRyYW5zYWN0aW9uX2lkX3NvdXJjZSIseWM6InRyYW5zcG9ydF91cmwiLHNxOiJ0cmlwX3R5cGUiLFZkOiJ1cGRhdGUiLHpjOiJ1cmxfcGFzc3Rocm91Z2giLGZtOiJ1cHRncyIsY2c6Il91c2VyX2FnZW50X2FyY2hpdGVjdHVyZSIsZGc6Il91c2VyX2FnZW50X2JpdG5lc3MiLGVnOiJfdXNlcl9hZ2VudF9mdWxsX3ZlcnNpb25fbGlzdCIsZmc6Il91c2VyX2FnZW50X21vYmlsZSIsZ2c6Il91c2VyX2FnZW50X21vZGVsIixoZzoiX3VzZXJfYWdlbnRfcGxhdGZvcm0iLGlnOiJfdXNlcl9hZ2VudF9wbGF0Zm9ybV92ZXJzaW9uIixqZzoiX3VzZXJfYWdlbnRfd293NjQiLEFjOiJ1c2VyX2RhdGEiLGdtOiJ1c2VyX2RhdGFfYXV0b19sYXRlbmN5IixobToidXNlcl9kYXRhX2F1dG9fbWV0YSIsaW06InVzZXJfZGF0YV9hdXRvX211bHRpIixqbToidXNlcl9kYXRhX2F1dG9fc2VsZWN0b3JzIixrbToidXNlcl9kYXRhX2F1dG9fc3RhdHVzIixCYzoidXNlcl9kYXRhX21vZGUiLApsbToidXNlcl9kYXRhX3NldHRpbmdzIixmYjoidXNlcl9pZCIsV2Q6InVzZXJfcHJvcGVydGllcyIsb206Il91c2VyX3JlZ2lvbiIsa2c6InVzX3ByaXZhY3lfc3RyaW5nIixRYToidmFsdWUiLHFtOiJ3YnJhaWRfbXVsdGlwbGVfY29udmVyc2lvbnMiLGVkOiJfZnBtX3BhcmFtZXRlcnMiLFdpOiJfaG9zdF9uYW1lIixWbToiX2luX3BhZ2VfY29tbWFuZCIsWWk6Il9pcF9vdmVycmlkZSIsWm06Il9pc19wYXNzdGhyb3VnaF9jaWQiLEpoOiJfbWVhc3VyZW1lbnRfdHlwZSIsZGU6Im5vbl9wZXJzb25hbGl6ZWRfYWRzIixvajoiX3NzdF9wYXJhbWV0ZXJzIixZcToic2d0bV9nZW9fdXNlcl9jb3VudHJ5IixHZDoiY29udmVyc2lvbl9sYWJlbCIsemE6InBhZ2VfbG9jYXRpb24iLFdjOiJfZXh0cmFjdGVkX2RhdGEiLFhjOiJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyIsT2U6InRjX3ByaXZhY3lfc3RyaW5nIn19O3ZhciBIPXtKOntTbzoiYWJvcnRfd2l0aG91dF9mYWlsIixraToiYWNjZXB0X2J5X2RlZmF1bHQiLEJrOiJhZGRfdGFnX3RpbWluZyIsRGs6ImFkc19jb25zZW50X2dyYW50ZWQiLHZkOiJhZHNfZXZlbnRfcGFnZV92aWV3Iix3ZDoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIixRdDoiYXV0b19ldmVudCIsS2s6ImJhdGNoX29uX25hdmlnYXRpb24iLFhnOiJiaXNjb3R0aV9qb2luX2lkIixQazoiY2xpZW50X2lkX3NvdXJjZSIsdWY6ImNvbnNlbnRfZXZlbnRfaWQiLHZmOiJjb25zZW50X3ByaW9yaXR5X2lkIixTdDoiY29uc2VudF9zdGF0ZSIsc2E6ImNvbnNlbnRfdXBkYXRlZCIsd2Y6ImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiLFR0OiJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIixHYToiY29va2llX29wdGlvbnMiLG9sOiJkY19yYW5kb20iLFp0OiJkZWR1cGVfaWQiLFBjOiJlbV9ldmVudCIsYnU6ImVuZHBvaW50X2Zvcl9kZWJ1ZyIsdGw6ImVuaGFuY2VkX2NsaWVudF9pZF9zb3VyY2UiLApwcDoiZW5oYW5jZWRfbWF0Y2hfcmVzdWx0IixybToiZXVpZF9sb2dnZWRfaW5fc3RhdGUiLGxnOiJldWlkX21vZGVfZW5hYmxlZCIsdHE6ImV2ZW50X3Byb3ZlbmFuY2UiLG11OiJldmVudF9zb3VyY2UiLEViOiJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiLHdtOiJldmVudF91c2FnZSIsQ2g6ImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyIscHU6ImFkZF9wYXJhbWV0ZXIiLFVpOiJjb3VudGluZ19tZXRob2QiLERoOiJzZW5kX2FzX2lmcmFtZSIscXU6InBhcmFtZXRlcl9vcmRlciIsRWg6InBhcnNlZF90YXJnZXQiLHN1OiJmb3JtX2V2ZW50X2NhbmNlbGVkIixBcToiZ2E0X2NvbGxlY3Rpb25fc3ViZG9tYWluIixWaToiZ2E0X3JlcXVlc3RfZmxhZ3MiLE5tOiJnYnJhaWRfY29va2llX21hcmtlZCIsUW06Imd0bV9leHRyYWN0ZWRfZGF0YSIsQ2M6ImhhbmRsZV9pbnRlcm5hbGx5Iix1dToiaGFzX2dhX2NvbnZlcnNpb25fY29uc2VudHMiLGRhOiJoaXRfdHlwZSIsRGM6ImhpdF90eXBlX292ZXJyaWRlIiwKSHE6Imlnbm9yZV9kdXBlX2NvbmZpZyIsT3U6ImlzX2NvbmZpZ19jb21tYW5kIixHaDoiaXNfY29uc2VudF91cGRhdGUiLG1nOiJpc19jb252ZXJzaW9uIixXbToiaXNfZWNvbW1lcmNlIixYbToiaXNfZWNfY21fc3BsaXQiLGFlOiJpc19leHRlcm5hbF9ldmVudCIsbmc6ImlzX2ZpcnN0X3Zpc2l0IixZbToiaXNfZmlyc3RfdmlzaXRfY29udmVyc2lvbiIsWmk6ImlzX2ZsX2ZhbGxiYWNrX2NvbnZlcnNpb25fZmxvd19hbGxvd2VkIixmZDoiaXNfZnBtX2VuY3J5cHRpb24iLGFqOiJpc19mcG1fc3BsaXQiLG9iOiJpc19nY3BfYnJvd3NlciIsYmo6ImlzX2dvb2dsZV9tZWFzdXJlbWVudF9hbGxvd2VkIixjajoiaXNfZ29vZ2xlX3NpZ25hbHNfZW5hYmxlZCIsYmU6ImlzX21lcmNoYW50X2NlbnRlciIsSGg6ImlzX25ld190b19zaXRlIixFYzoiaXNfcGVyc29uYWxpemF0aW9uIixkajoiaXNfc2VydmVyX3NpZGVfZGVzdGluYXRpb24iLFRlOiJpc19zZXNzaW9uX3N0YXJ0IixibjoiaXNfc2Vzc2lvbl9zdGFydF9jb252ZXJzaW9uIiwKUHU6ImlzX3NndG1fZ2FfYWRzX2NvbnZlcnNpb25fc3R1ZHlfY29udHJvbF9ncm91cCIsUXU6ImlzX3NndG1fcHJlaGl0IixkbjoiaXNfc2d0bV9zZXJ2aWNlX3dvcmtlciIsSWg6ImlzX3NwbGl0X2NvbnZlcnNpb24iLElxOiJpc19zeW4iLEZjOiJpc190ZXN0X2V2ZW50IixvZzoiam9pbl9pZCIsZWo6ImpvaW5fZWxhcHNlZCIscGc6ImpvaW5fdGltZXJfc2VjIixnbjoibG9jYWxfc3RvcmFnZV9hd19jb252ZXJzaW9uX2NvdW50ZXJzIixXZToidHVubmVsX3VwZGF0ZWQiLFV1OiJwcmVoaXRfZm9yX3JldHJ5IixXdToicHJvbWlzZXMiLFh1OiJyZWNvcmRfYXdfbGF0ZW5jeSIsWGU6InJlZGFjdF9hZHNfZGF0YSIsWWU6InJlZGFjdF9jbGlja19pZHMiLHBuOiJyZW1hcmtldGluZ19vbmx5Iixsajoic2VuZF9jY21fcGFyYWxsZWxfcGluZyIsaGQ6InNlbmRfZG91YmxlY2xpY2tfam9pbiIsTWg6InNlbmRfZnBtX2dlb19qb2luIixOaDoic2VuZF9mcG1fZ29vZ2xlX2pvaW4iLFp1OiJzZW5kX2NjbV9wYXJhbGxlbF90ZXN0X3BpbmciLApybjoic2VuZF9nb29nbGVfbWVhc3VyZW1lbnQiLHJnOiJzZW5kX3RsZF9qb2luIixzZzoic2VuZF90b19kZXN0aW5hdGlvbnMiLG1qOiJzZW5kX3RvX3RhcmdldHMiLHNuOiJzZW5kX3VzZXJfZGF0YV9oaXQiLHBqOiJzZXJ2aWNlX3dvcmtlcl9jb250ZXh0IixOYjoic291cmNlX2Nhbm9uaWNhbF9pZCIsSmE6InNwZWN1bGF0aXZlIix5bjoic3BlY3VsYXRpdmVfaW5fbWVzc2FnZSIsQW46InN1cHByZXNzX3NjcmlwdF9sb2FkIixCbjoic3luX29yX21vZCIsemo6InRyYW5zaWVudF9lY3NpZCIsdGc6InRyYW5zbWlzc2lvbl90eXBlIixZYToidXNlcl9kYXRhIixndjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljIixodjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciIsR246InVzZXJfZGF0YV9mcm9tX2NvZGUiLGlyOiJ1c2VyX2RhdGFfZnJvbV9tYW51YWwiLGp2OiJ1c2VyX2RhdGFfbW9kZSIsdWc6InVzZXJfaWRfdXBkYXRlZCJ9fTsKdmFyIHRnPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9MDtHYihhLGZ1bmN0aW9uKGUsZil7aWYoZiE9bnVsbCl7dmFyIGc9KCIiK2YpLnJlcGxhY2UoL34vZywifn4iKTtpZihxZy5oYXNPd25Qcm9wZXJ0eShlKSliW3FnW2VdXT1nO2Vsc2UgaWYocmcuaGFzT3duUHJvcGVydHkoZSkpe3ZhciBoPXJnW2VdO2IuaGFzT3duUHJvcGVydHkoaCl8fChiW2hdPWcpfWVsc2UgaWYoZT09PSJjYXRlZ29yeSIpZm9yKHZhciBsPWcuc3BsaXQoIi8iLDUpLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9YixxPXNnW25dLHI9bFtuXTtwLmhhc093blByb3BlcnR5KHEpfHwocFtxXT1yKX1lbHNlIGlmKGM8Mjcpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGUoYzwxMD80OCtjOjY1K2MtMTApO2JbImsiK3RdPSgiIitTdHJpbmcoZSkpLnJlcGxhY2UoL34vZywifn4iKTtiWyJ2Iit0XT1nO2MrK319fSk7dmFyIGQ9W107R2IoYixmdW5jdGlvbihlLGYpe2QucHVzaCgiIitlK2YpfSk7cmV0dXJuIGQuam9pbigifiIpfSwKcWc9e2l0ZW1faWQ6ImlkIixpdGVtX25hbWU6Im5tIixpdGVtX2JyYW5kOiJiciIsaXRlbV9jYXRlZ29yeToiY2EiLGl0ZW1fY2F0ZWdvcnkyOiJjMiIsaXRlbV9jYXRlZ29yeTM6ImMzIixpdGVtX2NhdGVnb3J5NDoiYzQiLGl0ZW1fY2F0ZWdvcnk1OiJjNSIsaXRlbV92YXJpYW50OiJ2YSIscHJpY2U6InByIixxdWFudGl0eToicXQiLGNvdXBvbjoiY3AiLGl0ZW1fbGlzdF9uYW1lOiJsbiIsaW5kZXg6ImxwIixpdGVtX2xpc3RfaWQ6ImxpIixkaXNjb3VudDoiZHMiLGFmZmlsaWF0aW9uOiJhZiIscHJvbW90aW9uX2lkOiJwaSIscHJvbW90aW9uX25hbWU6InBuIixjcmVhdGl2ZV9uYW1lOiJjbiIsY3JlYXRpdmVfc2xvdDoiY3MiLGxvY2F0aW9uX2lkOiJsbyJ9LHJnPXtpZDoiaWQiLG5hbWU6Im5tIixicmFuZDoiYnIiLHZhcmlhbnQ6InZhIixsaXN0X25hbWU6ImxuIixsaXN0X3Bvc2l0aW9uOiJscCIsbGlzdDoibG4iLHBvc2l0aW9uOiJscCIsY3JlYXRpdmU6ImNuIn0sc2c9WyJjYSIsCiJjMiIsImMzIiwiYzQiLCJjNSJdO3ZhciB1Zz1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSkpfSk7cmV0dXJuIGIuam9pbigiJiIpfSx2Zz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuYmFzZVVybD1iO3RoaXMuZW5kcG9pbnQ9Yzt0aGlzLmRlc3RpbmF0aW9uSWQ9Zjt0aGlzLmV2ZW50SWQ9Zzt0aGlzLnByaW9yaXR5SWQ9aDt0aGlzLkJhPWEuQmE7dGhpcy52ZT1hLnZlO3RoaXMuTGo9YS5Majt0aGlzLk49ZDt0aGlzLks9dWcoYS5CYSk7dGhpcy5IPXVnKGEuTGopO3RoaXMuUj10aGlzLkgubGVuZ3RoO2lmKGUmJnRoaXMuUj4xNjM4NCl0aHJvdyBFcnJvcigiRVZFTlRfVE9PX0xBUkdFIik7fTsKdmFyIHdnPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHM9W107dGhpcy5IPSIiO3RoaXMuQmE9e307dGhpcy5iYXNlVXJsPSIiO3RoaXMuTj0wO3RoaXMuSz0xO3RoaXMuZW5kcG9pbnQ9MH07d2cucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5SKGEpPyh0aGlzLmV2ZW50cy5wdXNoKGEpLHRoaXMuSD1hLkssdGhpcy5CYT1hLkJhLHRoaXMuYmFzZVVybD1hLmJhc2VVcmwsdGhpcy5OKz1hLlIsdGhpcy5LPWEuTix0aGlzLmVuZHBvaW50PWEuZW5kcG9pbnQsdGhpcy5kZXN0aW5hdGlvbklkPWEuZGVzdGluYXRpb25JZCx0aGlzLlo9YS5ldmVudElkLHRoaXMuZmE9YS5wcmlvcml0eUlkLCEwKTohMX07d2cucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aD90aGlzLmV2ZW50cy5sZW5ndGg+PTIwfHxhLlIrdGhpcy5OPj0xNjM4ND8hMTp0aGlzLmJhc2VVcmw9PT1hLmJhc2VVcmwmJnRoaXMuSz09PWEuTiYmdGhpcy5qYShhKTohMH07CndnLnByb3RvdHlwZS5qYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5IPT09YS5LfTt2YXIgSj17VTp7a3A6MSxtcDoyLEVuOjMsbm46NCxxbDo1LHJsOjYsRXE6NyxucDo4LERxOjksanA6MTAsaHA6MTEseG46MTIsdm46MTMsTms6MTQsVW86MTUsV286MTYsaG46MTcsc2w6MTgsZm46MTksbHA6MjAsUHE6MjEsYXA6MjIsVm86MjMsWG86MjQsbmw6MjUsTGs6MjYsZXI6MjcsSm06MjgsVW06MjksVG06MzAsU206MzEsTW06MzIsS206MzMsTG06MzQsR206MzUsRm06MzYsSG06MzcsSW06MzgsQnE6MzksQ3E6NDAsVXE6NDF9fTtKLlVbSi5VLmtwXT0iQ1JFQVRFX0VWRU5UX1NPVVJDRSI7Si5VW0ouVS5tcF09IkVESVRfRVZFTlQiO0ouVVtKLlUuRW5dPSJUUkFGRklDX1RZUEUiO0ouVVtKLlUubm5dPSJSRUZFUlJBTF9FWENMVVNJT04iO0ouVVtKLlUucWxdPSJFQ09NTUVSQ0VfRlJPTV9HVE1fVEFHIjtKLlVbSi5VLnJsXT0iRUNPTU1FUkNFX0ZST01fR1RNX1VBX1NDSEVNQSI7Si5VW0ouVS5FcV09IkdBX1NFTkQiO0ouVVtKLlUubnBdPSJFTV9GT1JNIjsKSi5VW0ouVS5EcV09IkdBX0dBTV9MSU5LIjtKLlVbSi5VLmpwXT0iQ1JFQVRFX0VWRU5UX0FVVE9fUEFHRV9QQVRIIjtKLlVbSi5VLmhwXT0iQ1JFQVRFRF9FVkVOVCI7Si5VW0ouVS54bl09IlNJREVMT0FERUQiO0ouVVtKLlUudm5dPSJTR1RNX0xFR0FDWV9DT05GSUdVUkFUSU9OIjtKLlVbSi5VLk5rXT0iQ0NEX0VNX0VWRU5UIjtKLlVbSi5VLlVvXT0iQVVUT19SRURBQ1RfRU1BSUwiO0ouVVtKLlUuV29dPSJBVVRPX1JFREFDVF9RVUVSWV9QQVJBTSI7Si5VW0ouVS5obl09Ik1VTFRJUExFX1BBR0VWSUVXX0ZST01fQ09ORklHIjtKLlVbSi5VLnNsXT0iRU1fRVZFTlRfU0VOVF9CRUZPUkVfQ09ORklHIjtKLlVbSi5VLmZuXT0iTE9BREVEX1ZJQV9DU1RfT1JfU0lERUxPQURJTkciO0ouVVtKLlUubHBdPSJERUNPREVEX1BBUkFNX01BVENIIjtKLlVbSi5VLlBxXT0iTk9OX0RFQ09ERURfUEFSQU1fTUFUQ0giO0ouVVtKLlUuYXBdPSJDQ0RfRVZFTlRfU0dUTSI7CkouVVtKLlUuVm9dPSJBVVRPX1JFREFDVF9FTUFJTF9TR1RNIjtKLlVbSi5VLlhvXT0iQVVUT19SRURBQ1RfUVVFUllfUEFSQU1fU0dUTSI7Si5VW0ouVS5ubF09IkRBSUxZX0xJTUlUX1JFQUNIRUQiO0ouVVtKLlUuTGtdPSJCVVJTVF9MSU1JVF9SRUFDSEVEIjtKLlVbSi5VLmVyXT0iU0hBUkVEX1VTRVJfSURfU0VUX0FGVEVSX1JFUVVFU1QiO0ouVVtKLlUuSm1dPSJHQTRfTVVMVElQTEVfU0VTU0lPTl9DT09LSUVTIjtKLlVbSi5VLlVtXT0iSU5WQUxJRF9HQTRfU0VTU0lPTl9DT1VOVCI7Si5VW0ouVS5UbV09IklOVkFMSURfR0E0X0xBU1RfRVZFTlRfVElNRVNUQU1QIjtKLlVbSi5VLlNtXT0iSU5WQUxJRF9HQTRfSk9JTl9USU1FUiI7Si5VW0ouVS5NbV09IkdBNF9TVEFMRV9TRVNTSU9OX0NPT0tJRV9TRUxFQ1RFRCI7Si5VW0ouVS5LbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzFfUkVBRCI7Si5VW0ouVS5MbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzJfUkVBRCI7CkouVVtKLlUuR21dPSJHQTRfRExfUEFSQU1fUkVDT1ZFUllfQVZBSUxBQkxFIjtKLlVbSi5VLkZtXT0iR0E0X0RMX1BBUkFNX1JFQ09WRVJZX0FQUExJRUQiO0ouVVtKLlUuSG1dPSJHQTRfR09PR0xFX01FQVNVUkVNRU5UX0FMTE9XRUQiO0ouVVtKLlUuSW1dPSJHQTRfR09PR0xFX1NJR05BTFNfRU5BQkxFRCI7Si5VW0ouVS5CcV09IkdBNF9GQUxMQkFDS19SRVFVRVNUIjtKLlVbSi5VLkNxXT0iR0FfQURTX0xJTktfQkVGT1JFX0NPTlZFUlNJT05fTUFSS0lORyI7Si5VW0ouVS5VcV09IlBMQVRJTlVNX0VMSUdJQkxFIjt2YXIgeGc9e30seWc9KHhnLnVhYT0hMCx4Zy51YWI9ITAseGcudWFmdmw9ITAseGcudWFtYj0hMCx4Zy51YW09ITAseGcudWFwPSEwLHhnLnVhcHY9ITAseGcudWF3PSEwLHhnKTsKdmFyIEJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ldmVudHM7aWYoYy5sZW5ndGg9PT0xKXJldHVybiB6ZyhjWzBdLGIpO3ZhciBkPVtdO2EuSCYmZC5wdXNoKGEuSCk7Zm9yKHZhciBlPXt9LGY9MDtmPGMubGVuZ3RoO2YrKylHYihjW2ZdLnZlLGZ1bmN0aW9uKHQsdSl7dSE9bnVsbCYmKGVbdF09ZVt0XXx8e30sZVt0XVtTdHJpbmcodSldPWVbdF1bU3RyaW5nKHUpXSsxfHwxKX0pO3ZhciBnPXt9O0diKGUsZnVuY3Rpb24odCx1KXt2YXIgdix4PS0xLHk9MDtHYih1LGZ1bmN0aW9uKHosQyl7eSs9Qzt2YXIgRD0oei5sZW5ndGgrdC5sZW5ndGgrMikqKEMtMSk7RD54JiYodj16LHg9RCl9KTt5PT09Yy5sZW5ndGgmJihnW3RdPXYpfSk7QWcoZyxkKTtiJiZkLnB1c2goIl9zPSIrYik7Zm9yKHZhciBoPWQuam9pbigiJiIpLGw9W10sbj17fSxwPTA7cDxjLmxlbmd0aDtuPXtmazp2b2lkIDB9LHArKyl7dmFyIHE9W107bi5maz17fTtHYihjW3BdLnZlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih1LAp2KXtnW3VdIT09IiIrdiYmKHQuZmtbdV09dil9fShuKSk7Y1twXS5IJiZxLnB1c2goY1twXS5IKTtBZyhuLmZrLHEpO2wucHVzaChxLmpvaW4oIiYiKSl9dmFyIHI9bC5qb2luKCJcclxuIik7cmV0dXJue3BhcmFtczpoLGJvZHk6cn19LHpnPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107YS5LJiZjLnB1c2goYS5LKTtiJiZjLnB1c2goIl9zPSIrYik7QWcoYS52ZSxjKTt2YXIgZD0hMTthLkgmJihjLnB1c2goYS5IKSxkPSEwKTt2YXIgZT1jLmpvaW4oIiYiKSxmPSIiLGc9ZS5sZW5ndGgrYS5iYXNlVXJsLmxlbmd0aCsxO2QmJmc+MjA0OCYmKGY9Yy5wb3AoKSxlPWMuam9pbigiJiIpKTtyZXR1cm57cGFyYW1zOmUsYm9keTpmfX0sQWc9ZnVuY3Rpb24oYSxiKXtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGQpKX0pfTsKdmFyIEVnPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWEsZT1iW2NdO2lmKCFDZy5leGVjKGUpKXRocm93IEVycm9yKCJJbnZhbGlkIGtleSB3aWxkY2FyZCIpO3ZhciBmPWUuaW5kZXhPZigiLioiKSxnPWYhPT0tMSYmZj09PWUubGVuZ3RoLTIsaD1nP2Uuc2xpY2UoMCxlLmxlbmd0aC0yKTplLGw7YTppZihkLmxlbmd0aD09PTApbD0hMTtlbHNle2Zvcih2YXIgbj1kLnNwbGl0KCIuIikscD0wO3A8bi5sZW5ndGg7cCsrKWlmKCFEZy5leGVjKG5bcF0pKXtsPSExO2JyZWFrIGF9bD0hMH1pZighbHx8aC5sZW5ndGg+ZC5sZW5ndGh8fCFnJiZkLmxlbmd0aCE9PWUubGVuZ3RoPzA6Zz9TYihkLGgpJiYoZD09PWh8fGQuY2hhckF0KGgubGVuZ3RoKT09PSIuIik6ZD09PWgpcmV0dXJuITB9cmV0dXJuITF9LERnPS9eW2EteiRfXVtcdy0kXSokL2ksQ2c9L14oPzpbYS16XyRdW2Etei1fJDAtOV0qXC4pKlthLXpfJF1bYS16LV8kMC05XSooPzpcLlwqKT8kL2k7CnZhciBGZz1bIm1hdGNoZXMiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJtc01hdGNoZXNTZWxlY3RvciIsIm9NYXRjaGVzU2VsZWN0b3IiXTtmdW5jdGlvbiBHZyhhLGIpe2lmKCFhKXJldHVybiExO3RyeXtmb3IodmFyIGM9MDtjPEZnLmxlbmd0aDtjKyspe3ZhciBkPUZnW2NdO2lmKGFbZF0hPW51bGwpcmV0dXJuIGFbZF0oYil9fWNhdGNoKGUpe31yZXR1cm4hMX1mdW5jdGlvbiBIZyhhLGIpe3ZhciBjPVN0cmluZyhhKSxkPVN0cmluZyhiKSxlPWMubGVuZ3RoLWQubGVuZ3RoO3JldHVybiBlPj0wJiZjLmluZGV4T2YoZCxlKT09PWV9ZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4gU3RyaW5nKGEpLnNwbGl0KCIsIikuaW5kZXhPZihTdHJpbmcoYikpPj0wfQpmdW5jdGlvbiBKZyhhLGIsYyxkKXt2YXIgZT1jPyJpIjp2b2lkIDA7dHJ5e3ZhciBmPVN0cmluZyhiKStTdHJpbmcoZSksZz1kPT1udWxsP3ZvaWQgMDpkLmdldChmKTtnfHwoZz1uZXcgUmVnRXhwKGIsZSksZD09bnVsbHx8ZC5zZXQoZixnKSk7cmV0dXJuIGcudGVzdChhKX1jYXRjaChoKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coYSxiKXtyZXR1cm4gU3RyaW5nKGEpLmluZGV4T2YoU3RyaW5nKGIpKT49MH1mdW5jdGlvbiBMZyhhLGIpe3JldHVybiBTdHJpbmcoYSk9PT1TdHJpbmcoYil9ZnVuY3Rpb24gTWcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPj1OdW1iZXIoYil9ZnVuY3Rpb24gTmcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPD1OdW1iZXIoYil9ZnVuY3Rpb24gT2coYSxiKXtyZXR1cm4gTnVtYmVyKGEpPk51bWJlcihiKX1mdW5jdGlvbiBQZyhhLGIpe3JldHVybiBOdW1iZXIoYSk8TnVtYmVyKGIpfQpmdW5jdGlvbiBRZyhhLGIpe3JldHVybiBTYihTdHJpbmcoYSksU3RyaW5nKGIpKX07ZnVuY3Rpb24gWGcoYSl7dmFyIGI9YS5zZWFyY2g7cmV0dXJuIGEucHJvdG9jb2wrIi8vIithLmhvc3RuYW1lK2EucGF0aG5hbWUrKGI/YisiJnJpY2hzc3Rzc2UiOiI/cmljaHNzdHNzZSIpfTt2YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlI9IiJ9LCRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5mYWxsYmFja191cmwsZD1iLmZhbGxiYWNrX3VybF9tZXRob2Q7aWYoYyYmZCl7dmFyIGU9e307WmcoYSwoZVtkXT1bY10sZS5vcHRpb25zPXt9LGUpKX19fSxhaD1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTt0eXBlb2YgZj09PSJzdHJpbmciJiZjKGYsYil9fSxaZz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPUNkKGIub3B0aW9ucyk/Yi5vcHRpb25zOnt9LGQ9bShPYmplY3Qua2V5cyhiKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1iW2ZdO3N3aXRjaChmKXtjYXNlICJzZW5kX3BpeGVsIjphaChnLGMsZnVuY3Rpb24oaCxsKXtyZXR1cm4gdm9pZCBhLksoaCxsKX0pO2JyZWFrO2Nhc2UgImZldGNoIjphaChnLApjLGZ1bmN0aW9uKGgsbCl7cmV0dXJuIHZvaWQgYS5IKGgsbCl9KX19fTt2YXIgYmg9L14oW2Etel1bYS16MC05XSopOighfFw/KShcKnxzdHJpbmd8Ym9vbGVhbnxudW1iZXJ8Rm58UGl4aWVNYXB8TGlzdHxPcGFxdWVWYWx1ZSkkL2ksY2g9e0ZuOiJmdW5jdGlvbiIsUGl4aWVNYXA6Ik9iamVjdCIsTGlzdDoiQXJyYXkifTsKZnVuY3Rpb24gZGgoYSxiKXtmb3IodmFyIGM9WyJpbnB1dDohKiJdLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9YmguZXhlYyhjW2RdKTtpZighZSl0aHJvdyBFcnJvcigiSW50ZXJuYWwgRXJyb3IgaW4gIithKTt2YXIgZj1lWzFdLGc9ZVsyXT09PSIhIixoPWVbM10sbD1iW2RdO2lmKGw9PW51bGwpe2lmKGcpdGhyb3cgRXJyb3IoIkVycm9yIGluICIrYSsiLiBSZXF1aXJlZCBhcmd1bWVudCAiK2YrIiBub3Qgc3VwcGxpZWQuIik7fWVsc2UgaWYoaCE9PSIqIil7dmFyIG49dHlwZW9mIGw7bCBpbnN0YW5jZW9mIEtkP249IkZuIjpsIGluc3RhbmNlb2YgR2Q/bj0iTGlzdCI6bCBpbnN0YW5jZW9mIGtiP249IlBpeGllTWFwIjpsIGluc3RhbmNlb2YgU2Q/bj0iUGl4aWVQcm9taXNlIjpsIGluc3RhbmNlb2YgUGQmJihuPSJPcGFxdWVWYWx1ZSIpO2lmKG4hPT1oKXRocm93IEVycm9yKCJFcnJvciBpbiAiK2ErIi4gQXJndW1lbnQgIitmKyIgaGFzIHR5cGUgIisoKGNoW25dfHxuKSsiLCB3aGljaCBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCB0eXBlICIpKwooKGNoW2hdfHxoKSsiLiIpKTt9fX1mdW5jdGlvbiBLKGEsYixjKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2cgaW5zdGFuY2VvZiBLZD9kLnB1c2goImZ1bmN0aW9uIik6ZyBpbnN0YW5jZW9mIEdkP2QucHVzaCgiQXJyYXkiKTpnIGluc3RhbmNlb2Yga2I/ZC5wdXNoKCJPYmplY3QiKTpnIGluc3RhbmNlb2YgU2Q/ZC5wdXNoKCJQcm9taXNlIik6ZyBpbnN0YW5jZW9mIFBkP2QucHVzaCgiT3BhcXVlVmFsdWUiKTpkLnB1c2godHlwZW9mIGcpfXJldHVybiBFcnJvcigiQXJndW1lbnQgZXJyb3IgaW4gIithKyIuIEV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIFsiKyhiLmpvaW4oIiwiKSsiXSwgYnV0IHJlY2VpdmVkIFsiKSsoZC5qb2luKCIsIikrIl0uIikpfWZ1bmN0aW9uIGVoKGEpe3JldHVybiBhIGluc3RhbmNlb2Yga2J9ZnVuY3Rpb24gZmgoYSl7cmV0dXJuIGVoKGEpfHxhPT09bnVsbHx8Z2goYSl9CmZ1bmN0aW9uIGhoKGEpe3JldHVybiBhIGluc3RhbmNlb2YgS2R9ZnVuY3Rpb24gaWgoYSl7cmV0dXJuIGhoKGEpfHxhPT09bnVsbHx8Z2goYSl9ZnVuY3Rpb24gamgoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBHZH1mdW5jdGlvbiBraChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFBkfWZ1bmN0aW9uIGxoKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIG1oKGEpe3JldHVybiBsaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIG5oKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn1mdW5jdGlvbiBvaChhKXtyZXR1cm4gbmgoYSl8fGdoKGEpfWZ1bmN0aW9uIHBoKGEpe3JldHVybiBuaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIHFoKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifWZ1bmN0aW9uIGdoKGEpe3JldHVybiBhPT09dm9pZCAwfTtmdW5jdGlvbiByaChhKXtyZXR1cm4iIithfQpmdW5jdGlvbiBzaChhLGIpe3ZhciBjPVtdO3JldHVybiBjfTtmdW5jdGlvbiB0aChhLGIpe3ZhciBjPW5ldyBLZChhLGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT10aGlzLmV2YWx1YXRlKGRbZV0pO3RyeXtyZXR1cm4gYi5hcHBseSh0aGlzLGQpfWNhdGNoKGcpe3Rocm93IGNiKGcpO319KTtjLlphKCk7cmV0dXJuIGN9CmZ1bmN0aW9uIHVoKGEsYil7dmFyIGM9bmV3IGtiLGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKXt2YXIgZT1iW2RdO3liKGUpP2Muc2V0KGQsdGgoYSsiXyIrZCxlKSk6Q2QoZSk/Yy5zZXQoZCx1aChhKyJfIitkLGUpKTooQWIoZSl8fHpiKGUpfHx0eXBlb2YgZT09PSJib29sZWFuIikmJmMuc2V0KGQsZSl9Yy5aYSgpO3JldHVybiBjfTtmdW5jdGlvbiB3aChhLGIpe2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydEFwaVN1YmplY3QiLApjKX07ZnVuY3Rpb24geGgoYSxiKXtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIFNkKXRocm93IEVycm9yKCJBcmd1bWVudCBhY3R1YWwgY2Fubm90IGhhdmUgdHlwZSBQcm9taXNlLiBBc3NlcnRpb25zIG9uIGFzeW5jaHJvbm91cyBjb2RlIGFyZW4ndCBzdXBwb3J0ZWQuIik7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydFRoYXRTdWJqZWN0IixjKX07ZnVuY3Rpb24geWgoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBiPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxjPVtdLGQ9dGhpcy5ULGU9MDtlPGIubGVuZ3RoOysrZSljLnB1c2goVGQoYltlXSxkKSk7cmV0dXJuIFVkKGEuYXBwbHkobnVsbCxjKSl9fWZ1bmN0aW9uIHpoKCl7Zm9yKHZhciBhPU1hdGgsYj1BaCxjPXt9LGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTthLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT15aChhW2VdLmJpbmQoYSkpKX1yZXR1cm4gY307ZnVuY3Rpb24gQmgoYSl7cmV0dXJuIGEhPW51bGwmJlNiKGEsIl9fY3Z0XyIpfTtmdW5jdGlvbiBDaChhKXt2YXIgYjtyZXR1cm4gYn07ZnVuY3Rpb24gRGgoYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3RyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhKX1jYXRjaChjKXt9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJKGEpfWNhdGNoKGIpe319O2Z1bmN0aW9uIEZoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9Y2F0Y2goYil7fX07ZnVuY3Rpb24gR2goYSxiKXt2YXIgYz0hMTt2YXIgZD1KU09OLnBhcnNlKGEpO2lmKCFkKXRocm93IEVycm9yKCJJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBzdHJpbmcgd2FzIGdpdmVuLiIpO2M9SGgoZCxiKTtyZXR1cm4gY30KdmFyIEloPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe2lmKGE9PT12b2lkIDApcmV0dXJuO2E9YVtiW2NdXX1yZXR1cm4gYX0sSmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByZUhpdDtpZihjKXt2YXIgZD1hWzBdO3N3aXRjaChkKXtjYXNlICJoaXREYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRIaXREYXRhKGFbMV0pLGEuc2xpY2UoMikpO2Nhc2UgIm1ldGFkYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRNZXRhZGF0YShhWzFdKSxhLnNsaWNlKDIpKTtjYXNlICJldmVudE5hbWUiOnJldHVybiBjLmdldEV2ZW50TmFtZSgpO2Nhc2UgImRlc3RpbmF0aW9uSWQiOnJldHVybiBjLmdldERlc3RpbmF0aW9uSWQoKTtkZWZhdWx0OnRocm93IEVycm9yKGQrIiBpcyBub3QgYSB2YWxpZCBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGZyb20gUHJlSGl0IGRhdGEuIik7fX19LApLaD1mdW5jdGlvbihhLGIpe2lmKGEpe2lmKGEuY29udGV4dFZhbHVlIT09dm9pZCAwKXt2YXIgYzthOnt2YXIgZD1hLmNvbnRleHRWYWx1ZSxlPWQua2V5UGFydHM7aWYoZSYmZS5sZW5ndGghPT0wKXt2YXIgZj1kLm5hbWVzcGFjZVR5cGU7c3dpdGNoKGYpe2Nhc2UgMTpjPUpoKGUsYik7YnJlYWsgYTtjYXNlIDI6dmFyIGc9Yi5tYWNybztjPWc/Z1tlWzBdXTp2b2lkIDA7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIE5hbWVzcGFjZSBUeXBlIHVzZWQ6ICIrZik7fX1jPXZvaWQgMH1yZXR1cm4gY31pZihhLmJvb2xlYW5FeHByZXNzaW9uVmFsdWUhPT12b2lkIDApcmV0dXJuIEhoKGEuYm9vbGVhbkV4cHJlc3Npb25WYWx1ZSxiKTtpZihhLmJvb2xlYW5WYWx1ZSE9PXZvaWQgMClyZXR1cm4hIWEuYm9vbGVhblZhbHVlO2lmKGEuc3RyaW5nVmFsdWUhPT12b2lkIDApcmV0dXJuIFN0cmluZyhhLnN0cmluZ1ZhbHVlKTtpZihhLmludGVnZXJWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuaW50ZWdlclZhbHVlKTsKaWYoYS5kb3VibGVWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuZG91YmxlVmFsdWUpO3Rocm93IEVycm9yKCJVbmtub3duIGZpZWxkIHVzZWQgZm9yIHZhcmlhYmxlIG9mIHR5cGUgRXhwcmVzc2lvblZhbHVlOiIrYSk7fX0sSGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmFyZ3M7aWYoIUFycmF5LmlzQXJyYXkoYyl8fGMubGVuZ3RoPT09MCl0aHJvdyBFcnJvcignSW52YWxpZCBib29sZWFuIGV4cHJlc3Npb24gZm9ybWF0LiBFeHBlY3RlZCAiYXJncyI6JytjKyIgcHJvcGVydHkgdG9cbiAgICAgICAgIGJlIG5vbi1lbXB0eSBhcnJheS4iKTt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4gS2goZyxiKX07c3dpdGNoKGEudHlwZSl7Y2FzZSAxOmZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGQoY1tlXSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSAyOmZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKCFkKGNbZl0pKXJldHVybiExO3JldHVybiBjLmxlbmd0aD4wO2Nhc2UgMzpyZXR1cm4hZChjWzBdKTsKY2FzZSA0OnJldHVybiBKZyhkKGNbMF0pLGQoY1sxXSksITEsYi5yZWdleENhY2hlKTtjYXNlIDU6cmV0dXJuIExnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA2OnJldHVybiBRZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgNzpyZXR1cm4gSGcoZChjWzBdKSxkKGNbMV0pKTtjYXNlIDg6cmV0dXJuIEtnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA5OnJldHVybiBQZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTA6cmV0dXJuIE5nKGQoY1swXSksZChjWzFdKSk7Y2FzZSAxMTpyZXR1cm4gT2coZChjWzBdKSxkKGNbMV0pKTtjYXNlIDEyOnJldHVybiBNZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTM6cmV0dXJuIElnKGQoY1swXSksU3RyaW5nKGQoY1sxXSkpKTtkZWZhdWx0OnRocm93IEVycm9yKCdJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBmb3JtYXQuIEV4cGVjdGVkICJ0eXBlIiBwcm9wZXJ0eSB0b2JlIGEgcG9zaXRpdmUgaW50ZWdlciB3aGljaCBpcyBsZXNzIHRoYW4gMTQuJyk7fX07CmZ1bmN0aW9uIExoKGEpe2lmKCFtaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7fTtmdW5jdGlvbiBNaChhKXt2YXIgYj1UZChhKTtyZXR1cm4gbmcoYj8iIitiOiIiKX07ZnVuY3Rpb24gTmgoYSxiKXtpZighcWgoYSl8fCFxaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsibnVtYmVyIiwibnVtYmVyIl0sYXJndW1lbnRzKTtyZXR1cm4gRGIoYSxiKX07ZnVuY3Rpb24gT2goKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX07ZnVuY3Rpb24gUGgoYSl7aWYoYT09PW51bGwpcmV0dXJuIm51bGwiO2lmKGEgaW5zdGFuY2VvZiBHZClyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBLZClyZXR1cm4iZnVuY3Rpb24iO2lmKGEgaW5zdGFuY2VvZiBQZCl7dmFyIGI9YS5nZXRWYWx1ZSgpO2lmKChiPT1udWxsP3ZvaWQgMDpiLmNvbnN0cnVjdG9yKT09PXZvaWQgMHx8Yi5jb25zdHJ1Y3Rvci5uYW1lPT09dm9pZCAwKXt2YXIgYz1TdHJpbmcoYik7cmV0dXJuIGMuc3Vic3RyaW5nKDgsYy5sZW5ndGgtMSl9cmV0dXJuIFN0cmluZyhiLmNvbnN0cnVjdG9yLm5hbWUpfXJldHVybiB0eXBlb2YgYX07ZnVuY3Rpb24gUWgoYSl7ZnVuY3Rpb24gYihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpeyhsZ3x8bWcuUG8pJiZhLmNhbGwodGhpcyxlLm1lc3NhZ2UpfX19cmV0dXJue3BhcnNlOmIoZnVuY3Rpb24oYyl7cmV0dXJuIFVkKEpTT04ucGFyc2UoYykpfSksc3RyaW5naWZ5OmIoZnVuY3Rpb24oYyl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFRkKGMpKX0pLHB1YmxpY05hbWU6IkpTT04ifX07ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIEliKFRkKGEsdGhpcy5UKSl9O2Z1bmN0aW9uIFNoKGEpe3JldHVybiBOdW1iZXIoVGQoYSx0aGlzLlQpKX07ZnVuY3Rpb24gVGgoYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEudG9TdHJpbmcoKX07ZnVuY3Rpb24gVWgoYSxiLGMpe3ZhciBkPW51bGwsZT0hMTtyZXR1cm4gZT9kOm51bGx9O3ZhciBBaD0iZmxvb3IgY2VpbCByb3VuZCBtYXggbWluIGFicyBwb3cgc3FydCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBWaCgpe3ZhciBhPXt9O3JldHVybntXcjpmdW5jdGlvbihiKXtyZXR1cm4gYS5oYXNPd25Qcm9wZXJ0eShiKT9hW2JdOnZvaWQgMH0sS286ZnVuY3Rpb24oYixjKXthW2JdPWN9LHJlc2V0OmZ1bmN0aW9uKCl7YT17fX19fWZ1bmN0aW9uIFdoKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEtkLnByb3RvdHlwZS5pbnZva2UuYXBwbHkoYSxbYl0uY29uY2F0KHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSkpfX0KZnVuY3Rpb24gWGgoYSxiKXtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7fQpmdW5jdGlvbiBZaChhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJQaXhpZU1hcCJdLGFyZ3VtZW50cyk7fTt2YXIgWmg9e307dmFyICRoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYjtpZihhIGluc3RhbmNlb2YgR2QpZm9yKHZhciBjPWEuRmEoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07YS5oYXMoZSkmJmIuc2V0KGUsYS5nZXQoZSkpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIEtkKWZvcih2YXIgZj1hLkZhKCksZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2Iuc2V0KGgsYS5nZXQoaCkpfWVsc2UgZm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYi5zZXQobCxhW2xdKTtyZXR1cm4gYn07ClpoLmtleXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5GYSgpKTtyZXR1cm4gbmV3IEdkfTsKWmgudmFsdWVzPWZ1bmN0aW9uKGEpe2RoKHRoaXMuZ2V0TmFtZSgpLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIEdkfHxhIGluc3RhbmNlb2YgS2R8fHR5cGVvZiBhPT09InN0cmluZyIpYT0kaChhKTtpZihhIGluc3RhbmNlb2Yga2J8fGEgaW5zdGFuY2VvZiBTZClyZXR1cm4gbmV3IEdkKGEuaGMoKSk7cmV0dXJuIG5ldyBHZH07ClpoLmVudHJpZXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5mYygpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbmV3IEdkKGIpfSkpO3JldHVybiBuZXcgR2R9OwpaaC5mcmVlemU9ZnVuY3Rpb24oYSl7KGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZCkmJmEuWmEoKTtyZXR1cm4gYX07WmguZGVsZXRlPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIGtiJiYhYS5IYigpKXJldHVybiBhLnJlbW92ZShiKSwhMDtyZXR1cm4hMX07ZnVuY3Rpb24gTChhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkPWEuVC54YigpO2lmKCFkKXRocm93IEVycm9yKCJNaXNzaW5nIHByb2dyYW0gc3RhdGUuIik7aWYoZC5pdCl7dHJ5e2QuUm4uYXBwbHkobnVsbCxbYl0uY29uY2F0KHcoYykpKX1jYXRjaChlKXt0aHJvdyBzYigiVEFHR0lORyIsMjEpLGU7fXJldHVybn1kLlJuLmFwcGx5KG51bGwsW2JdLmNvbmNhdCh3KGMpKSl9O3ZhciBhaT1mdW5jdGlvbigpe3RoaXMuSz17fTt0aGlzLkg9e307dGhpcy5OPSEwO307YWkucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGFpbnMoYSk/dGhpcy5LW2FdOnZvaWQgMDtyZXR1cm4gY307YWkucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLksuaGFzT3duUHJvcGVydHkoYSl9OwphaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZih0aGlzLkguaGFzT3duUHJvcGVydHkoYSkpdGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYWRkIGFuIEFQSSB3aXRoIGFuIGV4aXN0aW5nIHByaXZhdGUgQVBJIG5hbWU6ICIrYSsiLiIpO3RoaXMuS1thXT1jP3ZvaWQgMDp5YihiKT90aChhLGIpOnVoKGEsYil9O2Z1bmN0aW9uIGJpKGEsYil7dmFyIGM9dm9pZCAwO3JldHVybiBjfTtmdW5jdGlvbiBjaSgpe3ZhciBhPXt9OwpyZXR1cm4gYX07dmFyIGRpPXt9LGVpPShkaVtGLkQuc2FdPSJnY3UiLGRpW0YuRC5laF09ImVwdCIsZGlbRi5ELlNiXT0iZ2NsZ2IiLGRpW0YuRC5sYl09ImdjbGF3IixkaVtGLkQuemxdPSJnY2xpZF9sZW4iLGRpW0YuRC5CZV09ImdjbGdzIixkaVtGLkQuQ2VdPSJnY2xscCIsZGlbRi5ELkRlXT0iZ2Nsc3QiLGRpW0YuRC5FZF09ImF1aWQiLGRpW0YuRC5CbF09ImFlIixkaVtGLkQuQ2ZdPSJkc2NudCIsZGlbRi5ELkRmXT0iZmNudHIiLGRpW0YuRC5FZl09ImZsbmciLGRpW0YuRC5GZl09Im1pZCIsZGlbRi5ELndpXT0iYnR0eXBlIixkaVtGLkQuS2JdPSJnYWNpZCIsZGlbRi5ELkdkXT0ibGFiZWwiLGRpW0YuRC5GZV09ImNhcGkiLGRpW0YuRC5qaF09InBzY2RsIixkaVtGLkQuZWJdPSJjdXJyZW5jeV9jb2RlIixkaVtGLkQuR2VdPSJ2ZGx0diIsZGlbRi5ELmtoXT0iY2xvY3QiLGRpW0YuRC5FbF09Il9kYmciLGRpW0YuRC5JZV09Im9lZGVsZCIsZGlbRi5ELlZjXT0iZWRpZCIsZGlbRi5ELk1kXT0iZXZuaWQiLApkaVtGLkQuRWldPSJldmppZCIsZGlbRi5ELk5kXT0iZXhjaWQiLGRpW0YuRC5yaF09ImdhYyIsZGlbRi5ELkplXT0iZ2FjZ2IiLGRpW0YuRC5NbF09ImdhY21jb3YiLGRpW0YuRC5LZV09ImdkcHIiLGRpW0YuRC5YY109ImdkaWQiLGRpW0YuRC5MZV09Il9uZyIsZGlbRi5ELmNxXT0iX29ubyIsZGlbRi5ELnRoXT0iZ3BwX3NpZCIsZGlbRi5ELnVoXT0iZ3BwIixkaVtGLkQuUGxdPSJnc2FleHAiLGRpW0YuRC5WZl09Il90dSIsZGlbRi5ELk1lXT0iZnJtIixkaVtGLkQuS2ldPSJndG1fdXAiLGRpW0YuRC5QZF09ImxwcyIsZGlbRi5ELkxpXT0iZGlkIixkaVtGLkQuUWRdPSJmY250ciIsZGlbRi5ELlJkXT0iZmxuZyIsZGlbRi5ELlNkXT0ibWlkIixkaVtGLkQuTmVdPXZvaWQgMCxkaVtGLkQuTWJdPSJ0aWJhIixkaVtGLkQuV2JdPSJyZHAiLGRpW0YuRC54Y109ImVjc2lkIixkaVtGLkQuWmZdPSJnYV91aWQiLGRpW0YuRC5VZF09ImRlbG9wYyIsZGlbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IiwKZGlbRi5ELlBhXT0ib2lkIixkaVtGLkQuZG1dPSJvaWRzcmMiLGRpW0YuRC5mbV09InVwdGdzIixkaVtGLkQuY2ddPSJ1YWEiLGRpW0YuRC5kZ109InVhYiIsZGlbRi5ELmVnXT0idWFmdmwiLGRpW0YuRC5mZ109InVhbWIiLGRpW0YuRC5nZ109InVhbSIsZGlbRi5ELmhnXT0idWFwIixkaVtGLkQuaWddPSJ1YXB2IixkaVtGLkQuamddPSJ1YXciLGRpW0YuRC5nbV09ImVjX2xhdCIsZGlbRi5ELmhtXT0iZWNfbWV0YSIsZGlbRi5ELmltXT0iZWNfbSIsZGlbRi5ELmptXT0iZWNfc2VsIixkaVtGLkQua21dPSJlY19zIixkaVtGLkQuQmNdPSJlY19tb2RlIixkaVtGLkQuZmJdPSJ1c2VySWQiLGRpW0YuRC5rZ109InVzX3ByaXZhY3kiLGRpW0YuRC5RYV09InZhbHVlIixkaVtGLkQucW1dPSJtY292IixkaVtGLkQuV2ldPSJobiIsZGlbRi5ELlZtXT0iZ3RtX2VlIixkaVtGLkQuWWldPSJ1aXAiLGRpW0YuRC5KaF09Im10IixkaVtGLkQuZGVdPSJucGEiLGRpW0YuRC5ZcV09InNnX3VjIixkaVtGLkQueWldPQpudWxsLGRpW0YuRC5iZF09bnVsbCxkaVtGLkQudGJdPW51bGwsZGlbRi5ELkhhXT1udWxsLGRpW0YuRC56YV09bnVsbCxkaVtGLkQuVWFdPW51bGwsZGlbRi5ELlBlXT1udWxsLGRpW0YuRC5lZF09bnVsbCxkaVtGLkQuc2hdPW51bGwsZGlbRi5ELkJkXT1udWxsLGRpW0YuRC5DZF09bnVsbCxkaVtGLkQuZmhdPW51bGwsZGlbRi5ELmdoXT1udWxsLGRpW0YuRC5UYV09bnVsbCxkaVtGLkQuV2NdPW51bGwsZGkpO2Z1bmN0aW9uIGZpKGEsYil7aWYoYSl7dmFyIGM9YS5zcGxpdCgieCIpO2MubGVuZ3RoPT09MiYmKGdpKGIsInVfdyIsY1swXSksZ2koYiwidV9oIixjWzFdKSl9fWZ1bmN0aW9uIGhpKGEpe3ZhciBiPWlpO2I9Yj09PXZvaWQgMD9qaTpiO3JldHVybiBraShsaShhLGIpKX1mdW5jdGlvbiBraShhKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4hIWJ9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIigiK1ttaShiLnZhbHVlKSxtaShiLnF1YW50aXR5KSxtaShiLml0ZW1faWQpLG1pKGIuc3RhcnRfZGF0ZSksbWkoYi5lbmRfZGF0ZSldLmpvaW4oIioiKSsiKSJ9KS5qb2luKCIiKX0KZnVuY3Rpb24gbGkoYSxiKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hIWN9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJue2l0ZW1faWQ6YihjKSxxdWFudGl0eTpjLnF1YW50aXR5LHZhbHVlOmMucHJpY2Usc3RhcnRfZGF0ZTpjLnN0YXJ0X2RhdGUsZW5kX2RhdGU6Yy5lbmRfZGF0ZX19KX1mdW5jdGlvbiBqaShhKXtyZXR1cm5bYS5pdGVtX2lkLGEuaWQsYS5pdGVtX25hbWVdLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIhPW51bGx9KX1mdW5jdGlvbiBuaShhKXtpZihhJiZhLmxlbmd0aClyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGU/Yi5lc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZToiIn0pLmpvaW4oIiwiKX1mdW5jdGlvbiBnaShhLGIsYyl7Yz09PXZvaWQgMHx8Yz09PW51bGx8fGM9PT0iIiYmIXlnW2JdfHwoYVtiXT1jKX0KZnVuY3Rpb24gbWkoYSl7cmV0dXJuIHR5cGVvZiBhIT09Im51bWJlciImJnR5cGVvZiBhIT09InN0cmluZyI/IiI6YS50b1N0cmluZygpfTtmdW5jdGlvbiBvaSgpe3RoaXMuYmxvY2tTaXplPS0xfTtmdW5jdGlvbiBwaShhLGIpe3RoaXMuYmxvY2tTaXplPS0xO3RoaXMuYmxvY2tTaXplPTY0O3RoaXMuTj1SYS5VaW50OEFycmF5P25ldyBVaW50OEFycmF5KHRoaXMuYmxvY2tTaXplKTpBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5SPXRoaXMuSz0wO3RoaXMuSD1bXTt0aGlzLmZhPWE7dGhpcy5aPWI7dGhpcy5qYT1SYS5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KDY0KTpBcnJheSg2NCk7cWk9PT12b2lkIDAmJihSYS5JbnQzMkFycmF5P3FpPW5ldyBJbnQzMkFycmF5KHJpKTpxaT1yaSk7dGhpcy5yZXNldCgpfVNhKHBpLG9pKTtmb3IodmFyIHNpPVtdLHRpPTA7dGk8NjM7dGkrKylzaVt0aV09MDt2YXIgdWk9W10uY29uY2F0KDEyOCxzaSk7CnBpLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuUj10aGlzLks9MDt2YXIgYTtpZihSYS5JbnQzMkFycmF5KWE9bmV3IEludDMyQXJyYXkodGhpcy5aKTtlbHNle3ZhciBiPXRoaXMuWixjPWIubGVuZ3RoO2lmKGM+MCl7Zm9yKHZhciBkPUFycmF5KGMpLGU9MDtlPGM7ZSsrKWRbZV09YltlXTthPWR9ZWxzZSBhPVtdfXRoaXMuSD1hfTsKdmFyIHZpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLk4sYz1hLmphLGQ9MCxlPTA7ZTxiLmxlbmd0aDspY1tkKytdPWJbZV08PDI0fGJbZSsxXTw8MTZ8YltlKzJdPDw4fGJbZSszXSxlPWQqNDtmb3IodmFyIGY9MTY7Zjw2NDtmKyspe3ZhciBnPWNbZi0xNV18MCxoPWNbZi0yXXwwO2NbZl09KChjW2YtMTZdfDApKygoZz4+Pjd8Zzw8MjUpXihnPj4+MTh8Zzw8MTQpXmc+Pj4zKXwwKSsoKGNbZi03XXwwKSsoKGg+Pj4xN3xoPDwxNSleKGg+Pj4xOXxoPDwxMyleaD4+PjEwKXwwKXwwfWZvcih2YXIgbD1hLkhbMF18MCxuPWEuSFsxXXwwLHA9YS5IWzJdfDAscT1hLkhbM118MCxyPWEuSFs0XXwwLHQ9YS5IWzVdfDAsdT1hLkhbNl18MCx2PWEuSFs3XXwwLHg9MDt4PDY0O3grKyl7dmFyIHk9KChsPj4+MnxsPDwzMCleKGw+Pj4xM3xsPDwxOSleKGw+Pj4yMnxsPDwxMCkpKyhsJm5ebCZwXm4mcCl8MCx6PSh2Kygocj4+PjZ8cjw8MjYpXihyPj4+MTF8cjw8MjEpXihyPj4+MjV8cjw8NykpfAowKSsoKChyJnRefnImdSkrKHFpW3hdfDApfDApKyhjW3hdfDApfDApfDA7dj11O3U9dDt0PXI7cj1xK3p8MDtxPXA7cD1uO249bDtsPXoreXwwfWEuSFswXT1hLkhbMF0rbHwwO2EuSFsxXT1hLkhbMV0rbnwwO2EuSFsyXT1hLkhbMl0rcHwwO2EuSFszXT1hLkhbM10rcXwwO2EuSFs0XT1hLkhbNF0rcnwwO2EuSFs1XT1hLkhbNV0rdHwwO2EuSFs2XT1hLkhbNl0rdXwwO2EuSFs3XT1hLkhbN10rdnwwfTsKcGkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWEubGVuZ3RoKTt2YXIgYz0wLGQ9dGhpcy5LO2lmKHR5cGVvZiBhPT09InN0cmluZyIpZm9yKDtjPGI7KXRoaXMuTltkKytdPWEuY2hhckNvZGVBdChjKyspLGQ9PXRoaXMuYmxvY2tTaXplJiYodmkodGhpcyksZD0wKTtlbHNle3ZhciBlLGY9dHlwZW9mIGE7ZT1mIT0ib2JqZWN0Ij9mOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmY6Im51bGwiO2lmKGU9PSJhcnJheSJ8fGU9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKWZvcig7YzxiOyl7dmFyIGc9YVtjKytdO2lmKCEoIm51bWJlciI9PXR5cGVvZiBnJiYwPD1nJiYyNTU+PWcmJmc9PShnfDApKSl0aHJvdyBFcnJvcigibWVzc2FnZSBtdXN0IGJlIGEgYnl0ZSBhcnJheSIpO3RoaXMuTltkKytdPWc7ZD09dGhpcy5ibG9ja1NpemUmJih2aSh0aGlzKSxkPTApfWVsc2UgdGhyb3cgRXJyb3IoIm1lc3NhZ2UgbXVzdCBiZSBzdHJpbmcgb3IgYXJyYXkiKTsKfXRoaXMuSz1kO3RoaXMuUis9Yn07cGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5SKjg7dGhpcy5LPDU2P3RoaXMudXBkYXRlKHVpLDU2LXRoaXMuSyk6dGhpcy51cGRhdGUodWksdGhpcy5ibG9ja1NpemUtKHRoaXMuSy01NikpO2Zvcih2YXIgYz02MztjPj01NjtjLS0pdGhpcy5OW2NdPWImMjU1LGIvPTI1Njt2aSh0aGlzKTtmb3IodmFyIGQ9MCxlPTA7ZTx0aGlzLmZhO2UrKylmb3IodmFyIGY9MjQ7Zj49MDtmLT04KWFbZCsrXT10aGlzLkhbZV0+PmYmMjU1O3JldHVybiBhfTsKdmFyIHJpPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsCjQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxxaTtmdW5jdGlvbiB3aSgpe3BpLmNhbGwodGhpcyw4LHhpKX1TYSh3aSxwaSk7dmFyIHhpPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dmFyIHlpPS9eWzAtOUEtRmEtZl17NjR9JC87ZnVuY3Rpb24gemkoYSl7dHJ5e3JldHVybihuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKX1jYXRjaChiKXtyZXR1cm4gWmIoYSl9fWZ1bmN0aW9uIEFpKGEpe3ZhciBiPUE7aWYoYT09PSIifHxhPT09ImUwIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpO3ZhciBjO2lmKChjPWIuY3J5cHRvKT09bnVsbD8wOmMuc3VidGxlKXtpZih5aS50ZXN0KGEpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSk7dHJ5e3ZhciBkPXppKGEpO3JldHVybiBiLmNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBCaShlLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4iZTIifSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiZTIiKX19ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJlMSIpfQpmdW5jdGlvbiBDaShhKXt0cnl7dmFyIGI9bmV3IHdpO2IudXBkYXRlKHppKGEpKTtyZXR1cm4gYi5kaWdlc3QoKX1jYXRjaChjKXtyZXR1cm4iZTIifX1mdW5jdGlvbiBEaShhKXt2YXIgYj1BO2lmKGE9PT0iInx8YT09PSJlMCJ8fHlpLnRlc3QoYSkpcmV0dXJuIGE7dmFyIGM9Q2koYSk7aWYoYz09PSJlMiIpcmV0dXJuImUyIjt0cnl7cmV0dXJuIEJpKGMsYil9Y2F0Y2goZCl7cmV0dXJuImUyIn19ZnVuY3Rpb24gQmkoYSxiKXt2YXIgYz1BcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGEpKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZCl9KS5qb2luKCIiKTtyZXR1cm4gYi5idG9hKGMpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9O2Z1bmN0aW9uIEVpKCl7Zm9yKHZhciBhPSExLGI9ITEsYz0wO2E9PT1iOylpZihhPURiKDAsMSk9PT0wLGI9RGIoMCwxKT09PTAsYysrLGM+MzApcmV0dXJuO3JldHVybiBhfXZhciBHaT17c2s6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBGaS5zayhhLGIsYyl9fSxIaT1mdW5jdGlvbigpe3RoaXMuc3R1ZGllcz17fTt0aGlzLkg9RWl9OwpIaS5wcm90b3R5cGUuc2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc3R1ZGllc1tiXTtpZighKChjPT09dm9pZCAwP0RiKDAsOTk5OSk6YyUxRTQpPGQucHJvYmFiaWxpdHkqKGQuY29udHJvbElkMj80OjIpKjFFNCkpcmV0dXJuIGE7YTp7dmFyIGU9ZC5zdHVkeUlkLGY9ZC5leHBlcmltZW50SWQsZz1kLmNvbnRyb2xJZCxoPWQuY29udHJvbElkMjtpZighKChhLmV4cHx8e30pW2ZdfHwoYS5leHB8fHt9KVtnXXx8aCYmKGEuZXhwfHx7fSlbaF0pKXt2YXIgbD1jIT09dm9pZCAwP2MlMj09PTA6dGhpcy5IKCk7aWYobCE9PXZvaWQgMCl7dmFyIG49bD8wOjE7aWYoaCl7dmFyIHA9YyE9PXZvaWQgMD8oYz4+MSklMj09PTA6dGhpcy5IKCk7aWYocD09PXZvaWQgMClicmVhayBhO258PShwPzA6MSk8PDF9bj09PTA/SWkoYSxmLGUpOm49PT0xP0lpKGEsZyxlKTpuPT09MiYmSWkoYSxoLGUpfX19cmV0dXJuIGF9Owp2YXIgS2k9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdP0ppKGMsYil8fCEhKGEuZXhwfHx7fSlbYy5zdHVkaWVzW2JdLmV4cGVyaW1lbnRJZF06ITF9LExpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Rmk7cmV0dXJuIGMuc3R1ZGllc1tiXSYmYy5zdHVkaWVzW2JdLmNvbnRyb2xJZCYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkXTohMX0sTWk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdJiZjLnN0dWRpZXNbYl0uY29udHJvbElkMiYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkMl06ITF9LE5pPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuZXhwfHx7fSxkPW0oT2JqZWN0LmtleXMoYykubWFwKE51bWJlcikpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2lmKGNbZl09PT1iKXJldHVybiBmfX0sSmk9ZnVuY3Rpb24oYSwKYil7cmV0dXJuISFhLnN0dWRpZXNbYl0uYWN0aXZlfHxhLnN0dWRpZXNbYl0ucHJvYmFiaWxpdHk+LjV9LElpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmV4cHx8e307ZFtiXT1jO2EuZXhwPWR9LEZpPW5ldyBIaTt2YXIgaWo9ZnVuY3Rpb24oKXt0aGlzLkg9QS5nb29nbGVfdGFnX21hbmFnZXI9QS5nb29nbGVfdGFnX21hbmFnZXJ8fHt9fSxqajtmdW5jdGlvbiBraihhLGIpe2xqKCk7dmFyIGM9amo7cmV0dXJuIGMuSFthXT1jLkhbYV18fGIoKX1mdW5jdGlvbiBtaihhKXtsaigpO3JldHVybiBqai5IW2FdfWZ1bmN0aW9uIG5qKGEsYil7bGooKTtqai5IW2FdPWJ9ZnVuY3Rpb24gb2ooYSl7dmFyIGI9RSg1KTtsaigpO3ZhciBjPWpqO2MuSFtiXT1jLkhbYl18fGF9ZnVuY3Rpb24gcGooKXt2YXIgYT1FKDE5KTtsaigpO3ZhciBiPWpqO3JldHVybiBiLkhbYV09Yi5IW2FdfHx7fX1mdW5jdGlvbiBxaigpe3ZhciBhPUUoMTkpO2xqKCk7cmV0dXJuIGpqLkhbYV19ZnVuY3Rpb24gcmooKXtsaigpO3ZhciBhPWpqLGI9YS5ILnNlcXVlbmNlfHwxO2EuSC5zZXF1ZW5jZT1iKzE7cmV0dXJuIGJ9ZnVuY3Rpb24gbGooKXtqanx8KGpqPW5ldyBpail9O3ZhciBzaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgNDkxOnJldHVybiAxMjtjYXNlIDQ4MDpyZXR1cm4gMTE7Y2FzZSA0OTk6cmV0dXJuIDEwO2Nhc2UgNTAwOnJldHVybiA2O2Nhc2UgNDIxOnJldHVybiA5O2Nhc2UgNTYxOnJldHVybiAxNztjYXNlIDQ4MjpyZXR1cm4gMTU7Y2FzZSA1NzA6cmV0dXJuIDE5O2Nhc2UgNDk1OnJldHVybiAxMztjYXNlIDUxNDpyZXR1cm4gMTY7Y2FzZSA1NzM6cmV0dXJuIDE4O2Nhc2UgMjM1OnJldHVybiA4O2Nhc2UgNTM6cmV0dXJuIDE7Y2FzZSA1NDpyZXR1cm4gMjtjYXNlIDUyOnJldHVybiA0O2Nhc2UgNzU6cmV0dXJuIDN9fSx0aj1mdW5jdGlvbihhLGIpe2EuTltiXT0hMDt2YXIgYz1zaihiKTtjIT09dm9pZCAwJiYoV2ZbY109ITApfSxNPWZ1bmN0aW9uKGEpe3JldHVybiEhdWouTlthXX0sdWo9bmV3IGZ1bmN0aW9uKCl7dGhpcy5OPVtdO3RoaXMuSz1bXTt0aGlzLkg9W107CnRqKHRoaXMsMTMyKTt2YXIgYT1OZig2LDZFNCk7WGZbMV09YTt2YXIgYj1OZig3LDEpO1hmWzNdPWI7dmFyIGM9TmYoMzUsNTApO1hmWzJdPWM7dmFyIGQ9TmYoNjksMTc3NjQ0ODkyMCk7WGZbNF09ZDsKdGoodGhpcyw0MzUpO3RqKHRoaXMsMTQxKTsKfTt2YXIgdmo9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IFNldDt0aGlzLks9bmV3IFNldH0seGo9ZnVuY3Rpb24oYSl7dmFyIGI9d2ouSDthPWE9PT12b2lkIDA/W106YTt2YXIgYz1bXS5jb25jYXQodyhiLkgpKS5jb25jYXQoW10uY29uY2F0KHcoYi5LKSkpLmNvbmNhdChhKTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC1lfSk7cmV0dXJuIGN9LHlqPWZ1bmN0aW9uKCl7dmFyIGE9W10uY29uY2F0KHcod2ouSC5IKSk7YS5zb3J0KGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGItY30pO3JldHVybiBhfSx6aj1mdW5jdGlvbigpe3ZhciBhPXdqLkgsYj1FKDQ0KTthLkg9bmV3IFNldDtpZihiIT09IiIpZm9yKHZhciBjPW0oYi5zcGxpdCgifiIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9TnVtYmVyKGQudmFsdWUpO2lzTmFOKGUpfHxhLkguYWRkKGUpfX07dmFyIEFqPXt9LEJqPXtfX2NsOjEsX19lY2w6MSxfX2VobDoxLF9fZXZsOjEsX19mYWw6MSxfX2ZpbDoxLF9fZnNsOjEsX19obDoxLF9famVsOjEsX19sY2w6MSxfX3NkbDoxLF9fdGw6MSxfX3l0bDoxfSxDaj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHtfX3BhdXNlZDoxLF9fdGc6MX0sQmopLERqLEVqPSExO0RqPUVqO3ZhciBGaj0iIjtBai5xaj1Gajt2YXIgd2o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPW5ldyB2an07dmFyIEdqPS86WzAtOV0rJC8sSGo9L15cZCtcLmZsc1wuZG91YmxlY2xpY2tcLm5ldCQvO2Z1bmN0aW9uIElqKGEsYixjLGQpe3ZhciBlPUpqKGEsISFkLGIpLGYsZztyZXR1cm4gYz8oZz1lW2JdKSE9bnVsbD9nOltdOihmPWVbYl0pPT1udWxsP3ZvaWQgMDpmWzBdfWZ1bmN0aW9uIEpqKGEsYixjKXtmb3IodmFyIGQ9e30sZT1tKGEuc3BsaXQoIiYiKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPW0oZi52YWx1ZS5zcGxpdCgiPSIpKSxoPWcubmV4dCgpLnZhbHVlLGw9eWEoZyksbj1kZWNvZGVVUklDb21wb25lbnQoaC5yZXBsYWNlKC9cKy9nLCIgIikpO2lmKGM9PT12b2lkIDB8fG49PT1jKXt2YXIgcD1sLmpvaW4oIj0iKTtkW25dfHwoZFtuXT1bXSk7ZFtuXS5wdXNoKGI/cDpkZWNvZGVVUklDb21wb25lbnQocC5yZXBsYWNlKC9cKy9nLCIgIikpKX19cmV0dXJuIGR9CmZ1bmN0aW9uIEtqKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEpfWNhdGNoKGIpe319ZnVuY3Rpb24gTGooYSxiLGMsZCxlKXtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7aWYoYj09PSJwcm90b2NvbCJ8fGI9PT0icG9ydCIpYS5wcm90b2NvbD1NaihhLnByb3RvY29sKXx8TWooQS5sb2NhdGlvbi5wcm90b2NvbCk7Yj09PSJwb3J0Ij9hLnBvcnQ9U3RyaW5nKE51bWJlcihhLmhvc3RuYW1lP2EucG9ydDpBLmxvY2F0aW9uLnBvcnQpfHwoYS5wcm90b2NvbD09PSJodHRwIj84MDphLnByb3RvY29sPT09Imh0dHBzIj80NDM6IiIpKTpiPT09Imhvc3QiJiYoYS5ob3N0bmFtZT0oYS5ob3N0bmFtZXx8QS5sb2NhdGlvbi5ob3N0bmFtZSkucmVwbGFjZShHaiwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIE5qKGEsYixjLGQsZSl9CmZ1bmN0aW9uIE5qKGEsYixjLGQsZSl7dmFyIGYsZz1NaihhLnByb3RvY29sKTtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7c3dpdGNoKGIpe2Nhc2UgInVybF9ub19mcmFnbWVudCI6Zj1PaihhKTticmVhaztjYXNlICJwcm90b2NvbCI6Zj1nO2JyZWFrO2Nhc2UgImhvc3QiOmY9YS5ob3N0bmFtZS5yZXBsYWNlKEdqLCIiKS50b0xvd2VyQ2FzZSgpO2lmKGMpe3ZhciBoPS9ed3d3XGQqXC4vLmV4ZWMoZik7aCYmaFswXSYmKGY9Zi5zdWJzdHJpbmcoaFswXS5sZW5ndGgpKX1icmVhaztjYXNlICJwb3J0IjpmPVN0cmluZyhOdW1iZXIoYS5wb3J0KXx8KGc9PT0iaHR0cCI/ODA6Zz09PSJodHRwcyI/NDQzOiIiKSk7YnJlYWs7Y2FzZSAicGF0aCI6YS5wYXRobmFtZXx8YS5ob3N0bmFtZXx8c2IoIlRBR0dJTkciLDEpO2Y9YS5wYXRobmFtZS5zdWJzdHJpbmcoMCwxKT09PSIvIj9hLnBhdGhuYW1lOiIvIithLnBhdGhuYW1lO3ZhciBsPWYuc3BsaXQoIi8iKTsoZHx8W10pLmluZGV4T2YobFtsLmxlbmd0aC0KMV0pPj0wJiYobFtsLmxlbmd0aC0xXT0iIik7Zj1sLmpvaW4oIi8iKTticmVhaztjYXNlICJxdWVyeSI6Zj1hLnNlYXJjaC5yZXBsYWNlKCI/IiwiIik7ZSYmKGY9SWooZixlLCExKSk7YnJlYWs7Y2FzZSAiZXh0ZW5zaW9uIjp2YXIgbj1hLnBhdGhuYW1lLnNwbGl0KCIuIik7Zj1uLmxlbmd0aD4xP25bbi5sZW5ndGgtMV06IiI7Zj1mLnNwbGl0KCIvIilbMF07YnJlYWs7Y2FzZSAiZnJhZ21lbnQiOmY9YS5oYXNoLnJlcGxhY2UoIiMiLCIiKTticmVhaztkZWZhdWx0OmY9YSYmYS5ocmVmfXJldHVybiBmfWZ1bmN0aW9uIE1qKGEpe3JldHVybiBhP2EucmVwbGFjZSgiOiIsIiIpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gT2ooYSl7dmFyIGI9IiI7aWYoYSYmYS5ocmVmKXt2YXIgYz1hLmhyZWYuaW5kZXhPZigiIyIpO2I9YzwwP2EuaHJlZjphLmhyZWYuc3Vic3RyaW5nKDAsYyl9cmV0dXJuIGJ9dmFyIFBqPXt9LFFqPTA7CmZ1bmN0aW9uIFJqKGEpe3ZhciBiPVBqW2FdO2lmKCFiKXt2YXIgYz1CLmNyZWF0ZUVsZW1lbnQoImEiKTthJiYoYy5ocmVmPWEpO3ZhciBkPWMucGF0aG5hbWU7ZFswXSE9PSIvIiYmKGF8fHNiKCJUQUdHSU5HIiwxKSxkPSIvIitkKTt2YXIgZT1jLmhvc3RuYW1lLnJlcGxhY2UoR2osIiIpO2I9e2hyZWY6Yy5ocmVmLHByb3RvY29sOmMucHJvdG9jb2wsaG9zdDpjLmhvc3QsaG9zdG5hbWU6ZSxwYXRobmFtZTpkLHNlYXJjaDpjLnNlYXJjaCxoYXNoOmMuaGFzaCxwb3J0OmMucG9ydH07UWo8NSYmKFBqW2FdPWIsUWorKyl9cmV0dXJuIGJ9ZnVuY3Rpb24gU2ooYSxiLGMpe3ZhciBkPVJqKGEpO3JldHVybiBhYyhiLGQsYyl9CmZ1bmN0aW9uIFRqKGEpe3ZhciBiPVJqKEEubG9jYXRpb24uaHJlZiksYz1MaihiLCJob3N0IiwhMSk7aWYoYyYmYy5tYXRjaChIaikpe3ZhciBkPUxqKGIsInBhdGgiKTtpZihkKXt2YXIgZT1kLnNwbGl0KGErIj0iKTtpZihlLmxlbmd0aD4xKXJldHVybiBlWzFdLnNwbGl0KCI7IilbMF0uc3BsaXQoIj8iKVswXX19fTt2YXIgVWo9eyJodHRwczovL3d3dy5nb29nbGUuY29tIjoiL2ciLCJodHRwczovL3d3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSI6Ii9hcyIsImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iOiIvZ3MifSxWaj1bIi9hcy9kL2NjbS9jb252ZXJzaW9uIiwiL2cvZC9jY20vY29udmVyc2lvbiIsIi9ncy9jY20vY29udmVyc2lvbiIsIi9kL2NjbS9mb3JtLWRhdGEiXTtmdW5jdGlvbiBXaigpe3JldHVybiBJZig0Nyk/SmYoNTQpIT09MTohMX1mdW5jdGlvbiBYaigpe3ZhciBhPUUoMTgpLGI9YS5sZW5ndGg7cmV0dXJuIGFbYi0xXT09PSIvIj9hLnN1YnN0cmluZygwLGItMSk6YX0KZnVuY3Rpb24gWWooYSxiKXtpZihhKXt2YXIgYz0iIithO2MuaW5kZXhPZigiaHR0cDovLyIpIT09MCYmYy5pbmRleE9mKCJodHRwczovLyIpIT09MCYmKGM9Imh0dHBzOi8vIitjKTtjW2MubGVuZ3RoLTFdPT09Ii8iJiYoYz1jLnN1YnN0cmluZygwLGMubGVuZ3RoLTEpKTtyZXR1cm4gUmooIiIrYytiKS5ocmVmfX1mdW5jdGlvbiBaaihhKXtpZihhaygpKXJldHVybiBZaihhLCIvYW5hbHl0aWNzLmpzIil9ZnVuY3Rpb24gYmsoYSl7cmV0dXJuIGE9PT0yfHxhPT09M31mdW5jdGlvbiBjayhhKXtyZXR1cm4gTSg1ODgpJiZhPT09M31mdW5jdGlvbiBhaygpe3JldHVybiBXaigpfHxJZig1MCl9ZnVuY3Rpb24gZGsoKXtyZXR1cm4hIUFqLnFqJiZBai5xai5zcGxpdCgiQEAiKS5qb2luKCIiKSE9PSJTR1RNX1RPS0VOIn0KZnVuY3Rpb24gZWsoYSl7Zm9yKHZhciBiPW0oW0YuRC5kZCxGLkQueWNdKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9TyhhLGMudmFsdWUpO2lmKGQpcmV0dXJuIGR9fWZ1bmN0aW9uIGZrKGEsYixjKXtjPWM9PT12b2lkIDA/IiI6YztpZighV2ooKSlyZXR1cm4gYTt2YXIgZD1iP1VqW2FdfHwiIjoiIjtkPT09Ii9ncyImJihjPSIiKTtyZXR1cm4iIitYaigpK2QrY31mdW5jdGlvbiBnayhhKXtpZihXaigpKWZvcih2YXIgYj1tKFZqKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtpZihTYihhLCIiK1hqKCkrZCkpcmV0dXJuIjo6In19CmZ1bmN0aW9uIGhrKCl7dmFyIGE9QTtpZighYSlyZXR1cm4hMTt0cnl7aWYoYT09PWEudG9wKXJldHVybiExO3ZhciBiPWEubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGIuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIvIikhPT0tMSYmVGIoYiwiL3N3X2lmcmFtZS5odG1sIil9Y2F0Y2goYyl7cmV0dXJuITF9fTt2YXIgaWs9L2d0YWdbLlwvXWpzLyxqaz0vZ3RtWy5cL11qcy8sbGs9ZnVuY3Rpb24oYSl7dmFyIGI9a2s7aWYoKGEuc2NyaXB0Q29udGFpbmVySWR8fCIiKS5pbmRleE9mKCJHVE0tIik+PTApe3ZhciBjO2E6e3ZhciBkLGU9KGQ9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6ZC5zcmM7aWYoZSl7Zm9yKHZhciBmPUlmKDQ3KSxnPVJqKGUpLGg9Zj9nLnBhdGhuYW1lOiIiK2cuaG9zdG5hbWUrZy5wYXRobmFtZSxsPUIuc2NyaXB0cyxuPSIiLHA9MDtwPGwubGVuZ3RoOysrcCl7dmFyIHE9bFtwXTtpZighKHEuaW5uZXJIVE1MLmxlbmd0aD09PTB8fCFmJiZxLmlubmVySFRNTC5pbmRleE9mKGEuc2NyaXB0Q29udGFpbmVySWR8fCJTSE9VTERfTk9UX0JFX1NFVCIpPDB8fHEuaW5uZXJIVE1MLmluZGV4T2YoaCk8MCkpe2lmKHEuaW5uZXJIVE1MLmluZGV4T2YoIihmdW5jdGlvbih3LGQscyxsLGkpIik+PTApe2M9U3RyaW5nKHApO2JyZWFrIGF9bj1TdHJpbmcocCl9fWlmKG4pe2M9Cm47YnJlYWsgYX19Yz12b2lkIDB9dmFyIHI9YztpZihyKXJldHVybiBiLkg9ITAscn12YXIgdD1bXS5zbGljZS5jYWxsKEIuc2NyaXB0cyk7cmV0dXJuIGEuc2NyaXB0RWxlbWVudD9TdHJpbmcodC5pbmRleE9mKGEuc2NyaXB0RWxlbWVudCkpOiItMSJ9LG1rPWZ1bmN0aW9uKGEpe2lmKGtrLkgpcmV0dXJuIjEiO3ZhciBiLGM9KGI9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6Yi5zcmM7aWYoYyl7aWYoaWsudGVzdChjKSlyZXR1cm4iMyI7aWYoamsudGVzdChjKSlyZXR1cm4iMiJ9cmV0dXJuIjAifSxraz1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O2Z1bmN0aW9uIFAoYSl7c2IoIkdUTSIsYSl9O2Z1bmN0aW9uIG5rKGEpe3ZhciBiPW9rKCkuZGVzdGluYXRpb25BcnJheVthXSxjPW9rKCkuZGVzdGluYXRpb25bYV07cmV0dXJuIGImJmIubGVuZ3RoPjA/YlswXTpjfWZ1bmN0aW9uIHBrKGEsYil7dmFyIGM9b2soKTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO0NiKGMucGVuZGluZyxmdW5jdGlvbihkKXtyZXR1cm4gZC50YXJnZXQuY3RpZD09PWEuY3RpZCYmZC50YXJnZXQuaXNEZXN0aW5hdGlvbj09PWEuaXNEZXN0aW5hdGlvbn0pfHxjLnBlbmRpbmcucHVzaCh7dGFyZ2V0OmEsb25Mb2FkOmJ9KX1mdW5jdGlvbiBxaygpe3ZhciBhPUEuZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHk7QXJyYXkuaXNBcnJheShhKXx8KGE9W10pO2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYltkLnZhbHVlXT0hMDtyZXR1cm4gT2JqZWN0LmZyZWV6ZShiKX0KdmFyIHJrPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXI9e307dGhpcy5kZXN0aW5hdGlvbj17fTt0aGlzLmRlc3RpbmF0aW9uQXJyYXk9e307dGhpcy5jYW5vbmljYWw9e307dGhpcy5wZW5kaW5nPVtdO3RoaXMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz17fTt0aGlzLmluamVjdGVkRmlyc3RQYXJ0eUNvbnRhaW5lcnM9cWsoKX07CmZ1bmN0aW9uIG9rKCl7dmFyIGE9TWMoImdvb2dsZV90YWdfZGF0YSIse30pLGI9YS50aWRyO2ImJnR5cGVvZiBiPT09Im9iamVjdCJ8fChiPW5ldyByayxhLnRpZHI9Yik7dmFyIGM9YjtjLmNvbnRhaW5lcnx8KGMuY29udGFpbmVyPXt9KTtjLmRlc3RpbmF0aW9ufHwoYy5kZXN0aW5hdGlvbj17fSk7Yy5kZXN0aW5hdGlvbkFycmF5fHwoYy5kZXN0aW5hdGlvbkFycmF5PXt9KTtjLmNhbm9uaWNhbHx8KGMuY2Fub25pY2FsPXt9KTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO2MuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc3x8KGMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz1xaygpKTtyZXR1cm4gY307ZnVuY3Rpb24gc2soKXtyZXR1cm4gSWYoNykmJnRrKCkuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYT09PUUoNSl9KX1mdW5jdGlvbiB1aygpe3ZhciBhO3JldHVybihhPUtmKDU1KSkhPW51bGw/YTpbXX1mdW5jdGlvbiB2aygpe3JldHVybiBFKDYpfHwiXyIrRSg1KX1mdW5jdGlvbiB3aygpe3ZhciBhPUUoMTApO3JldHVybiBhP2Euc3BsaXQoInwiKTpbRSg1KV19ZnVuY3Rpb24gdGsoKXt2YXIgYT1LZig1OSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyJ9KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXhPZigiR1RNLSIpIT09MH0pOltdfWZ1bmN0aW9uIHhrKCl7dmFyIGE9eWsoemsoKSksYj1hJiZhLnBhcmVudDtpZihiKXJldHVybiB5ayhiKX0KZnVuY3Rpb24gQWsoKXt2YXIgYT15ayh6aygpKTtpZihhKXtmb3IoO2EucGFyZW50Oyl7dmFyIGI9eWsoYS5wYXJlbnQpO2lmKCFiKWJyZWFrO2E9Yn1yZXR1cm4gYX19ZnVuY3Rpb24geWsoYSl7dmFyIGI9b2soKTtyZXR1cm4gYS5pc0Rlc3RpbmF0aW9uP25rKGEuY3RpZCk6Yi5jb250YWluZXJbYS5jdGlkXX1mdW5jdGlvbiBCaygpe3ZhciBhPW9rKCk7aWYoYS5wZW5kaW5nKXtmb3IodmFyIGIsYz1bXSxkPSExLGU9d2soKSxmPXRrKCksZz17fSxoPTA7aDxhLnBlbmRpbmcubGVuZ3RoO2c9e1JnOnZvaWQgMH0saCsrKWcuUmc9YS5wZW5kaW5nW2hdLENiKGcuUmcudGFyZ2V0LmlzRGVzdGluYXRpb24/ZjplLGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj09PWwuUmcudGFyZ2V0LmN0aWR9fShnKSk/ZHx8KGI9Zy5SZy5vbkxvYWQsZD0hMCk6Yy5wdXNoKGcuUmcpO2EucGVuZGluZz1jO2lmKGIpdHJ5e2IodmsoKSl9Y2F0Y2gobCl7fX19CmZ1bmN0aW9uIENrKCl7Zm9yKHZhciBhPUUoNSksYj13aygpLGM9dGsoKSxkPXVrKCksZT1mdW5jdGlvbihxLHIpe3ZhciB0PXtjYW5vbmljYWxDb250YWluZXJJZDpFKDYpLHNjcmlwdENvbnRhaW5lcklkOmEsc3RhdGU6Mixjb250YWluZXJzOmIuc2xpY2UoKSxkZXN0aW5hdGlvbnM6Yy5zbGljZSgpfTtKYyYmKHQuc2NyaXB0RWxlbWVudD1KYyk7S2MmJih0LnNjcmlwdFNvdXJjZT1LYyk7eGsoKT09PXZvaWQgMCYmKHQuaHRtbExvYWRPcmRlcj1sayh0KSx0LmxvYWRTY3JpcHRUeXBlPW1rKHQpKTt2YXIgdSx2O3N3aXRjaChyKXtjYXNlIDA6dT1mdW5jdGlvbih6KXtmLmNvbnRhaW5lcltxXT16fTt2PWYuY29udGFpbmVyW3FdO2JyZWFrO2Nhc2UgMTp1PWZ1bmN0aW9uKHope2YuZGVzdGluYXRpb25BcnJheVtxXT1mLmRlc3RpbmF0aW9uQXJyYXlbcV18fFtdO2YuZGVzdGluYXRpb25BcnJheVtxXS51bnNoaWZ0KHopfTt2YXIgeCx5PSgoeD1mLmRlc3RpbmF0aW9uQXJyYXlbcV0pPT0KbnVsbD92b2lkIDA6eFswXSl8fGYuZGVzdGluYXRpb25bcV07IXl8fHkuc3RhdGUhPT0wJiZ5LnN0YXRlIT09MXx8KHY9eSk7YnJlYWs7Y2FzZSAyOnU9ZnVuY3Rpb24oeil7Zi5kZXN0aW5hdGlvbkFycmF5W3FdPWYuZGVzdGluYXRpb25BcnJheVtxXXx8W107Zi5kZXN0aW5hdGlvbkFycmF5W3FdLnB1c2goeil9LHY9dm9pZCAwfXUmJih2Pyh2LnN0YXRlPT09MCYmUCg5MyksbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx2LHQpKTp1KHQpKX0sZj1vaygpLGc9bShiKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSllKGgudmFsdWUsMCk7Zm9yKHZhciBsPW0oYyksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7ZC5pbmNsdWRlcyhwKT9lKHAsMSk6ZShwLDIpfWYuY2Fub25pY2FsW3ZrKCldPXt9O0JrKCl9ZnVuY3Rpb24gRGsoKXt2YXIgYT12aygpO3JldHVybiEhb2soKS5jYW5vbmljYWxbYV19CmZ1bmN0aW9uIEVrKGEpe3JldHVybiEhb2soKS5jb250YWluZXJbYV19ZnVuY3Rpb24gRmsoKXt2YXIgYT16aygpLGI9eWsoYSk7cmV0dXJuIGImJmIuY29udGV4dH1mdW5jdGlvbiBHayhhKXt2YXIgYj1uayhhKTtyZXR1cm4gYj9iLnN0YXRlIT09MDohMX1mdW5jdGlvbiB6aygpe3JldHVybntjdGlkOkUoNSksaXNEZXN0aW5hdGlvbjpJZig3KX19ZnVuY3Rpb24gSGsoYSxiLGMpe3ZhciBkPXprKCksZT1vaygpLmNvbnRhaW5lclthXTtlJiZlLnN0YXRlIT09M3x8KG9rKCkuY29udGFpbmVyW2FdPXtzdGF0ZToxLGNvbnRleHQ6YixwYXJlbnQ6ZH0scGsoe2N0aWQ6YSxpc0Rlc3RpbmF0aW9uOiExfSxjKSl9ZnVuY3Rpb24gSWsoYSxiLGMpe3ZhciBkPW9rKCksZT1uayhhKTtlP2Uuc3RhdGU9MTooZT17Y29udGV4dDpiLHN0YXRlOjEscGFyZW50OnprKCl9LGQuZGVzdGluYXRpb25BcnJheVthXT1bZV0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sYyl9CmZ1bmN0aW9uIEprKGEsYixjLGQpe3ZhciBlPW9rKCksZj1uayhhKTtmP2Yuc3RhdGU9MDooZj17c3RhdGU6MCx0cmFuc3BvcnRVcmw6Yixjb250ZXh0OmMscGFyZW50OnprKCl9LGUuZGVzdGluYXRpb25BcnJheVthXT1bZl0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sZCk7UCg5MSl9ZnVuY3Rpb24gS2soKXt2YXIgYT1vaygpLmNvbnRhaW5lcixiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSYmYVtiXS5zdGF0ZT09PTEpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTGsoKXt2YXIgYT17fTtHYihvaygpLmRlc3RpbmF0aW9uLGZ1bmN0aW9uKGIsYyl7KGM9PW51bGw/dm9pZCAwOmMuc3RhdGUpPT09MCYmKGFbYl09Yyl9KTtHYihvaygpLmRlc3RpbmF0aW9uQXJyYXksZnVuY3Rpb24oYixjKXt2YXIgZD1jWzBdOyhkPT1udWxsP3ZvaWQgMDpkLnN0YXRlKT09PTAmJihhW2JdPWQpfSk7cmV0dXJuIGF9CmZ1bmN0aW9uIE1rKGEpe3JldHVybiEhKGEmJmEucGFyZW50JiZhLmNvbnRleHQmJmEuY29udGV4dC5zb3VyY2U9PT0xJiZhLnBhcmVudC5jdGlkLmluZGV4T2YoIkdUTS0iKSE9PTApfWZ1bmN0aW9uIE5rKCl7Zm9yKHZhciBhPW9rKCksYj1tKHdrKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGEuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc1tjLnZhbHVlXSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIE9rPWZ1bmN0aW9uKCl7fTtPay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIn07dmFyIFBrPW5ldyBPazt2YXIgWGs9ZnVuY3Rpb24oKXt0aGlzLnN0b3JhZ2U9WWEoKX07WGsucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIpfTtYay5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KFN0cmluZyhhKSl9O3ZhciBZaztmdW5jdGlvbiBaayhhLGIpe1lrfHwoWWs9bmV3IFhrKTtZay5zZXQoYSxiKX1mdW5jdGlvbiAkayhhKXtZa3x8KFlrPW5ldyBYayk7cmV0dXJuIFlrLmdldChhKX1mdW5jdGlvbiBhbChhLGIpe1lrfHwoWWs9bmV3IFhrKTt2YXIgYz1ZaztjLnN0b3JhZ2UuaGFzKFN0cmluZyhhKSl8fGMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIoKSk7cmV0dXJuIGMuc3RvcmFnZS5nZXQoU3RyaW5nKGEpKX07ZnVuY3Rpb24gYmwoYSxiKXtmdW5jdGlvbiBjKGcpe3ZhciBoPVJqKGcpLGw9TGooaCwicHJvdG9jb2wiKSxuPUxqKGgsImhvc3QiLCEwKSxwPUxqKGgsInBvcnQiKSxxPUxqKGgsInBhdGgiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGw9PT12b2lkIDB8fGw9PT0iaHR0cCImJnA9PT0iODAifHxsPT09Imh0dHBzIiYmcD09PSI0NDMiKWw9IndlYiIscD0iZGVmYXVsdCI7cmV0dXJuW2wsbixwLHFdfWZvcih2YXIgZD1jKFN0cmluZyhhKSksZT1jKFN0cmluZyhiKSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKGRbZl0hPT1lW2ZdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGNsKGEpe3JldHVybiBkbChhKT8xOjB9CmZ1bmN0aW9uIGRsKGEpe3ZhciBiPWEuYXJnMCxjPWEuYXJnMTtpZihhLmFueV9vZiYmQXJyYXkuaXNBcnJheShjKSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPUVkKGEse30pO0VkKHthcmcxOmNbZF0sYW55X29mOnZvaWQgMH0sZSk7aWYoY2woZSkpcmV0dXJuITB9cmV0dXJuITF9c3dpdGNoKGFbImZ1bmN0aW9uIl0pe2Nhc2UgIl9jbiI6cmV0dXJuIEtnKGIsYyk7Y2FzZSAiX2NzcyI6cmV0dXJuIEdnKGIsYyk7Y2FzZSAiX2V3IjpyZXR1cm4gSGcoYixjKTtjYXNlICJfZXEiOnJldHVybiBMZyhiLGMpO2Nhc2UgIl9nZSI6cmV0dXJuIE1nKGIsYyk7Y2FzZSAiX2d0IjpyZXR1cm4gT2coYixjKTtjYXNlICJfbGMiOnJldHVybiBJZyhiLGMpO2Nhc2UgIl9sZSI6cmV0dXJuIE5nKGIsYyk7Y2FzZSAiX2x0IjpyZXR1cm4gUGcoYixjKTtjYXNlICJfcmUiOnJldHVybiBKZyhiLGMsYS5pZ25vcmVfY2FzZSxhbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSk7Y2FzZSAiX3N3IjpyZXR1cm4gUWcoYiwKYyk7Y2FzZSAiX3VtIjpyZXR1cm4gYmwoYixjKX1yZXR1cm4hMX07ZnVuY3Rpb24gZWwoYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZjtzd2l0Y2goYVswXSl7Y2FzZSAiZnVuY3Rpb25faWQiOnJldHVybiBhWzFdO2Nhc2UgImxpc3QiOmY9W107Zm9yKHZhciBnPTE7ZzxhLmxlbmd0aDtnKyspZi5wdXNoKGVsKGFbZ10sYixjLGQsZSkpO3JldHVybiBmO2Nhc2UgIm1hY3JvIjp2YXIgaD1kW2FbMV1dO3JldHVybiBoP2guZXZhbHVhdGUoYixlKTp2b2lkIDA7Y2FzZSAibWFwIjpmPXt9O2Zvcih2YXIgbD0xO2w8YS5sZW5ndGg7bCs9MilmW2VsKGFbbF0sYixjLGQsZSldPWVsKGFbbCsxXSxiLGMsZCxlKTtyZXR1cm4gZjtjYXNlICJ0ZW1wbGF0ZSI6Zj1bXTtmb3IodmFyIG49ITEscD0xO3A8YS5sZW5ndGg7cCsrKXt2YXIgcT1lbChhW3BdLGIsYyxkLGUpO2YucHVzaChxKX1yZXR1cm4gZi5qb2luKCIiKTtjYXNlICJlc2NhcGUiOmY9ZWwoYVsxXSxiLGMsZCxlKTtmPVN0cmluZyhmKTtmb3IodmFyIHk9Mjt5PGEubGVuZ3RoO3krKylVaVthW3ldXSYmKGY9VWlbYVt5XV0oZikpO3JldHVybiBmO2Nhc2UgInRhZyI6dmFyIHo9YVsxXTtpZighY1t6XSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgdGFnIHJlZmVyZW5jZSAiKwp6KyIuIik7cmV0dXJue2JvOmFbMl0saW5kZXg6en07Y2FzZSAiemIiOnZhciBDPXt9LEQ9KENbR2YuWWJdPWFbMV0sQy5hcmcwPWVsKGFbMl0sYixjLGQsZSksQy5hcmcxPWVsKGFbM10sYixjLGQsZSksQy5pZ25vcmVfY2FzZT1lbChhWzVdLGIsYyxkLGUpLEMpLEk9Y2woRCksRz0hIWFbNF07cmV0dXJuIEd8fEkhPT0yP0chPT0oST09PTEpOm51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBleHBhbmQgdW5rbm93biBWYWx1ZSB0eXBlOiAiK2FbMF0rIi4iKTt9fXJldHVybiBhfTtmdW5jdGlvbiBmbChhKXtyZXR1cm4gYSYmYS5pbmRleE9mKCJwZW5kaW5nOiIpPT09MD9nbChhLnN1YnN0cig4KSk6ITF9ZnVuY3Rpb24gZ2woYSl7aWYoYT09bnVsbHx8YS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciBiPU51bWJlcihhKSxjPU5iKCk7cmV0dXJuIGI8YyszRTUmJmI+Yy05RTV9O3ZhciBobD0hMSxpbD0hMSxqbD0hMSxrbD0wLGxsPSExLG1sPXZvaWQgMCxubD1bXTtmdW5jdGlvbiBvbChhKXtpZihrbD09PTApbGwmJm5sJiYobmwubGVuZ3RoPj0xMDAmJm5sLnNoaWZ0KCksbmwucHVzaChhKSk7ZWxzZSBpZihwbCgpKXt2YXIgYj1FKDQxKSxjPU1jKGIsW10pO2MubGVuZ3RoPj01MCYmYy5zaGlmdCgpO2MucHVzaChhKX19ZnVuY3Rpb24gcWwoKXtpbHx8KHJsKCksc2woa2wpKX1mdW5jdGlvbiBzbChhKXtpZighaWx8fGtsPT09MiYmYT09PTEpaWYoaWw9ITAsamwmJihhZChCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwpLGpsPSExKSxtbCE9PXZvaWQgMCYmKEEuY2xlYXJUaW1lb3V0KG1sKSxtbD12b2lkIDApLGtsPWEsYT09PTEpe3ZhciBiPW5sO25sPXZvaWQgMDtiPT1udWxsfHxiLmZvckVhY2goZnVuY3Rpb24oYyl7b2woYyl9KX19CmZ1bmN0aW9uIHJsKCl7dmFyIGE9Qi5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhZy1hc3Npc3RhbnQtcHJvZC1wcmVzZW50Iik7Z2woYSk/a2w9MTohZmwoYSl8fGhsfHxqbD9rbD0yOihqbD0hMCwkYyhCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwsITEpLG1sPUEuc2V0VGltZW91dChmdW5jdGlvbigpe2lsfHwocmwoKSxzbChrbCkpO2hsPSEwfSwyMDApKX1mdW5jdGlvbiBwbCgpe2lmKCFsbClyZXR1cm4hMTtzd2l0Y2goa2wpe2Nhc2UgMTpjYXNlIDA6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiB0bCgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KTtyZXR1cm4gYS5pY3M9YS5pY3N8fG5ldyB1bH12YXIgdWw9ZnVuY3Rpb24oKXt0aGlzLmVudHJpZXM9e307dGhpcy53YWl0UGVyaW9kVGltZWRPdXQ9dGhpcy53YXNTZXRMYXRlPXRoaXMuYWNjZXNzZWRBbnk9dGhpcy5hY2Nlc3NlZERlZmF1bHQ9dGhpcy51c2VkSW1wbGljaXQ9dGhpcy51c2VkVXBkYXRlPXRoaXMudXNlZERlZmF1bHQ9dGhpcy51c2VkRGVjbGFyZT10aGlzLmFjdGl2ZT0hMTt0aGlzLkg9W119Owp1bC5wcm90b3R5cGUuZGVmYXVsdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHwhdGhpcy5hY2Nlc3NlZERlZmF1bHQmJiF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWREZWZhdWx0PXRoaXMuYWN0aXZlPSEwO3NiKCJUQUdHSU5HIiwxOSk7Yj09bnVsbD9zYigiVEFHR0lORyIsMTgpOnZsKHRoaXMsYSxiPT09ImdyYW50ZWQiLGMsZCxlLGYsZyl9O3VsLnByb3RvdHlwZS53YWl0Rm9yVXBkYXRlPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl2bCh0aGlzLGFbZF0sdm9pZCAwLHZvaWQgMCwiIiwiIixiLGMpfTsKdmFyIHZsPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9YS5lbnRyaWVzLG49bFtiXXx8e30scD1uLnJlZ2lvbixxPWQmJnpiKGQpP2QudG9VcHBlckNhc2UoKTp2b2lkIDA7ZT1lLnRvVXBwZXJDYXNlKCk7Zj1mLnRvVXBwZXJDYXNlKCk7aWYoZT09PSIifHxxPT09Znx8KHE9PT1lP3AhPT1mOiFxJiYhcCkpe3ZhciByPSEhKGcmJmc+MCYmbi51cGRhdGU9PT12b2lkIDApLHQ9e3JlZ2lvbjpxLGRlY2xhcmVfcmVnaW9uOm4uZGVjbGFyZV9yZWdpb24saW1wbGljaXQ6bi5pbXBsaWNpdCxkZWZhdWx0OmMhPT12b2lkIDA/YzpuLmRlZmF1bHQsZGVjbGFyZTpuLmRlY2xhcmUsdXBkYXRlOm4udXBkYXRlLHF1aWV0OnJ9O2lmKGUhPT0iInx8bi5kZWZhdWx0IT09ITEpbFtiXT10O3ImJkEuc2V0VGltZW91dChmdW5jdGlvbigpe2xbYl09PT10JiZ0LnF1aWV0JiYoc2IoIlRBR0dJTkciLDIpLGEud2FpdFBlcmlvZFRpbWVkT3V0PSEwLGEuY2xlYXJUaW1lb3V0KGIsdm9pZCAwLGgpLAphLm5vdGlmeUxpc3RlbmVycygpKX0sZyl9fTtrPXVsLnByb3RvdHlwZTtrLmNsZWFyVGltZW91dD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W2FdLGU9Yy5kZWxlZ2F0ZWRDb25zZW50VHlwZXMsZjtmb3IoZiBpbiBlKWUuaGFzT3duUHJvcGVydHkoZikmJmVbZl09PT1hJiZkLnB1c2goZik7dmFyIGc9dGhpcy5lbnRyaWVzW2FdfHx7fSxoPXRoaXMuZ2V0Q29uc2VudFN0YXRlKGEsYyk7aWYoZy5xdWlldCl7Zy5xdWlldD0hMTtmb3IodmFyIGw9bShkKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl3bCh0aGlzLG4udmFsdWUpfWVsc2UgaWYoYiE9PXZvaWQgMCYmaCE9PWIpZm9yKHZhciBwPW0oZCkscT1wLm5leHQoKTshcS5kb25lO3E9cC5uZXh0KCkpd2wodGhpcyxxLnZhbHVlKX07CmsudXBkYXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHx0aGlzLnVzZWRVcGRhdGV8fCF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWRVcGRhdGU9dGhpcy5hY3RpdmU9ITA7aWYoYiE9bnVsbCl7dmFyIGQ9dGhpcy5nZXRDb25zZW50U3RhdGUoYSxjKSxlPXRoaXMuZW50cmllczsoZVthXT1lW2FdfHx7fSkudXBkYXRlPWI9PT0iZ3JhbnRlZCI7dGhpcy5jbGVhclRpbWVvdXQoYSxkLGMpfX07CmsuZGVjbGFyZT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudXNlZERlY2xhcmU9dGhpcy5hY3RpdmU9ITA7dmFyIGY9dGhpcy5lbnRyaWVzLGc9ZlthXXx8e30saD1nLmRlY2xhcmVfcmVnaW9uLGw9YyYmemIoYyk/Yy50b1VwcGVyQ2FzZSgpOnZvaWQgMDtkPWQudG9VcHBlckNhc2UoKTtlPWUudG9VcHBlckNhc2UoKTtpZihkPT09IiJ8fGw9PT1lfHwobD09PWQ/aCE9PWU6IWwmJiFoKSl7dmFyIG49e3JlZ2lvbjpnLnJlZ2lvbixkZWNsYXJlX3JlZ2lvbjpsLGRlY2xhcmU6Yj09PSJncmFudGVkIixpbXBsaWNpdDpnLmltcGxpY2l0LGRlZmF1bHQ6Zy5kZWZhdWx0LHVwZGF0ZTpnLnVwZGF0ZSxxdWlldDpnLnF1aWV0fTtpZihkIT09IiJ8fGcuZGVjbGFyZSE9PSExKWZbYV09bn19OwprLmltcGxpY2l0PWZ1bmN0aW9uKGEsYil7dGhpcy51c2VkSW1wbGljaXQ9ITA7dmFyIGM9dGhpcy5lbnRyaWVzLGQ9Y1thXT1jW2FdfHx7fTtkLmltcGxpY2l0IT09ITEmJihkLmltcGxpY2l0PWI9PT0iZ3JhbnRlZCIpfTsKay5nZXRDb25zZW50U3RhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmVudHJpZXMsZD1jW2FdfHx7fSxlPWQudXBkYXRlO2lmKGUhPT12b2lkIDApcmV0dXJuIGU/MToyO2lmKGIudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXt2YXIgZj1iLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2FdO2lmKGY9PT0zKXJldHVybiAxO2lmKGY9PT0yKXJldHVybiAyfWVsc2UgaWYoZT1kLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYj09bnVsbD8wOmIuZGVsZWdhdGVkQ29uc2VudFR5cGVzLmhhc093blByb3BlcnR5KGEpKXt2YXIgZz1iLmRlbGVnYXRlZENvbnNlbnRUeXBlc1thXSxoPWNbZ118fHt9O2U9aC51cGRhdGU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYi51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHMpe3ZhciBsPWIuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbZ107aWYobD09PTMpcmV0dXJuIDE7aWYobD09PTIpcmV0dXJuIDJ9ZWxzZSBpZihlPQpoLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjJ9ZT1kLmRlY2xhcmU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7ZT1kLmltcGxpY2l0O3JldHVybiBlIT09dm9pZCAwP2U/Mzo0OjB9O2suYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkgucHVzaCh7Y29uc2VudFR5cGVzOmEsaWU6Yn0pfTt2YXIgd2w9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGEuSC5sZW5ndGg7KytjKXt2YXIgZD1hLkhbY107QXJyYXkuaXNBcnJheShkLmNvbnNlbnRUeXBlcykmJmQuY29uc2VudFR5cGVzLmluZGV4T2YoYikhPT0tMSYmKGQueG89ITApfX07dWwucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5ILmxlbmd0aDsrK2Mpe3ZhciBkPXRoaXMuSFtjXTtpZihkLnhvKXtkLnhvPSExO3RyeXtkLmllKHtjb25zZW50RXZlbnRJZDphLGNvbnNlbnRQcmlvcml0eUlkOmJ9KX1jYXRjaChlKXt9fX19O3ZhciB4bD0hMSx5bD0hMSx6bD17fSxBbD17ZGVsZWdhdGVkQ29uc2VudFR5cGVzOnt9LGNvcmVQbGF0Zm9ybVNlcnZpY2VzOnt9LHVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlczohMSxzZWxlY3RlZEFsbENvcmVQbGF0Zm9ybVNlcnZpY2VzOiExLGNvbnRhaW5lclNjb3BlZERlZmF1bHRzOih6bC5hZF9zdG9yYWdlPTEsemwuYW5hbHl0aWNzX3N0b3JhZ2U9MSx6bC5hZF91c2VyX2RhdGE9MSx6bC5hZF9wZXJzb25hbGl6YXRpb249MSx6bCksdXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzOiExfTtmdW5jdGlvbiBCbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuKHpiKGEpP1thXTphKS5ldmVyeShmdW5jdGlvbihjKXtzd2l0Y2goYi5nZXRDb25zZW50U3RhdGUoYyxBbCkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOmNhc2UgNDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX0pfQpmdW5jdGlvbiBDbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuIGIuZ2V0Q29uc2VudFN0YXRlKGEsQWwpfWZ1bmN0aW9uIERsKGEpe3ZhciBiPXRsKCk7Yi5hY2Nlc3NlZEFueT0hMDtyZXR1cm4hKGIuZW50cmllc1thXXx8e30pLnF1aWV0fWZ1bmN0aW9uIEVsKCl7aWYoIVlmKDUpKXJldHVybiExO3ZhciBhPXRsKCk7YS5hY2Nlc3NlZEFueT0hMDtpZihhLmFjdGl2ZSlyZXR1cm4hMDtpZighQWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXJldHVybiExO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoQWwuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbYy52YWx1ZV0hPT0xKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEZsKGEsYil7dGwoKS5hZGRMaXN0ZW5lcihhLGIpfQpmdW5jdGlvbiBHbChhLGIpe3RsKCkubm90aWZ5TGlzdGVuZXJzKGEsYil9ZnVuY3Rpb24gSGwoYSxiKXtpZihiLmV2ZXJ5KERsKSlhKHt9KTtlbHNle3ZhciBjPSExO0ZsKGIsZnVuY3Rpb24oZCl7IWMmJmIuZXZlcnkoRGwpJiYoYz0hMCxhKGQpKX0pfX0KZnVuY3Rpb24gSWwoYSxiKXt2YXIgYz16YihiKT9bYl06YixkPXt9LGU9ZnVuY3Rpb24oKXtyZXR1cm4gYy5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIEJsKGgpJiYhZFtoXX0pfSxmPWUoKTtpZihmLmxlbmd0aCE9PWMubGVuZ3RoKXt2YXIgZz1mdW5jdGlvbihoKXtmb3IodmFyIGw9bShoKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlkW24udmFsdWVdPSEwfTtnKGYpO0ZsKGMsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbChxKXtxLmxlbmd0aCE9PTAmJihnKHEpLGguY29uc2VudFR5cGVzPXEsYShoKSl9dmFyIG49ZSgpO2lmKG4ubGVuZ3RoIT09MCl7dmFyIHA9T2JqZWN0LmtleXMoZCkubGVuZ3RoO24ubGVuZ3RoK3A+PWMubGVuZ3RoP2wobik6QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bChlKCkpfSw1MDApfX0pfX07dmFyIEpsPSExO2Z1bmN0aW9uIEtsKGEsYil7dmFyIGM9d2soKSxkPXRrKCk7RSgyNik7dmFyIGU9SWYoNDcpPzA6SWYoNTApPzE6MyxmPVhqKCk7aWYocGwoKSl7dmFyIGc9TGwoIklOSVQiKTtnLmNvbnRhaW5lckxvYWRTb3VyY2U9YSE9bnVsbD9hOjA7YiYmKGcucGFyZW50VGFyZ2V0UmVmZXJlbmNlPWIpO2cuYWxpYXNlcz1jO2cuZGVzdGluYXRpb25zPWQ7ZSE9PXZvaWQgMCYmKGcuZ3RnPXtzb3VyY2U6ZSxtUGF0aDpmIT1udWxsP2Y6IiJ9KTtvbChnKX19CmZ1bmN0aW9uIE1sKGEpe3ZhciBiLGMsZCxlO2I9YS50YXJnZXRJZDtjPWEucmVxdWVzdDtkPWEucWI7ZT1hLmlzQmF0Y2hlZDt2YXIgZjtpZihmPXBsKCkpe3ZhciBnO2E6c3dpdGNoKGMuZW5kcG9pbnQpe2Nhc2UgNjg6Y2FzZSA2OTpjYXNlIDE5OmNhc2UgNjI6Y2FzZSA0NzpnPSEwO2JyZWFrIGE7ZGVmYXVsdDpnPSExfWY9IWd9aWYoZil7dmFyIGg9TGwoIkdUQUdfSElUIix7ZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTtoLnRhcmdldD1iO2gudXJsPWMudXJsO2MucG9zdEJvZHkmJihoLnBvc3RCb2R5PWMucG9zdEJvZHkpO2gucGFyYW1ldGVyRW5jb2Rpbmc9Yy5wYXJhbWV0ZXJFbmNvZGluZztoLmVuZHBvaW50PWMuZW5kcG9pbnQ7ZSE9PXZvaWQgMCYmKGguaXNCYXRjaGVkPWUpO29sKGgpfX1mdW5jdGlvbiBObChhKXtwbCgpJiZNbChhKCkpfQpmdW5jdGlvbiBMbChhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2IuZ3JvdXBJZD1PbDt2YXIgYyxkPWIsZT1QbCxmPXtwdWJsaWNJZDpRbH07ZC5ldmVudElkIT1udWxsJiYoZi5ldmVudElkPWQuZXZlbnRJZCk7ZC5wcmlvcml0eUlkIT1udWxsJiYoZi5wcmlvcml0eUlkPWQucHJpb3JpdHlJZCk7ZC5ldmVudE5hbWUmJihmLmV2ZW50TmFtZT1kLmV2ZW50TmFtZSk7ZC5ncm91cElkJiYoZi5ncm91cElkPWQuZ3JvdXBJZCk7ZC50YWdOYW1lJiYoZi50YWdOYW1lPWQudGFnTmFtZSk7Yz17Y29udGFpbmVyUHJvZHVjdDoiR1RNIixrZXk6Zix2ZXJzaW9uOmUsbWVzc2FnZVR5cGU6YX07Yy5jb250YWluZXJQcm9kdWN0PUpsPyJPR1QiOiJHVE0iO2Mua2V5LnRhcmdldFJlZj1SbDtyZXR1cm4gY312YXIgUWw9IiIsUGw9IiIsUmw9e2N0aWQ6IiIsaXNEZXN0aW5hdGlvbjohMX0sT2w7CmZ1bmN0aW9uIFNsKGEpe3ZhciBiPUUoNSksYz1JZig0NSksZD1zaygpLGU9RSg2KSxmPUUoMSk7RSgyMyk7a2w9MDtsbD0hMDtybCgpO09sPWE7UWw9YjtQbD1mO0psPWM7Umw9e2N0aWQ6Yixpc0Rlc3RpbmF0aW9uOmQsY2Fub25pY2FsSWQ6ZX19O2Z1bmN0aW9uIFRsKGEsYixjLGQpe2lmKHBsKCkpe3ZhciBlPWIuTTtNbCh7dGFyZ2V0SWQ6ZHx8W2IudGFyZ2V0LmRlc3RpbmF0aW9uSWRdLHJlcXVlc3Q6e3VybDphLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6Y30scWI6e2V2ZW50SWQ6ZS5ldmVudElkLHByaW9yaXR5SWQ6ZS5wcmlvcml0eUlkfSxGajp7ZXZlbnRJZDpRKGIsSC5KLnVmKSxwcmlvcml0eUlkOlEoYixILkoudmYpfX0pfX07ZnVuY3Rpb24gVWwoYSxiLGMpe3ZhciBkPSJodHRwczovLyIrYStiO3JldHVybiBjP2Z1bmN0aW9uKCl7cmV0dXJuIFdqKCk/WGooKStjK2I6ZH06ZnVuY3Rpb24oKXtyZXR1cm4gZH19O3ZhciBWbD17fSxXbD0oVmxbMjJdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvYXMvZCIpLFZsWzYwXT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvZ3MiKSxWbFsyM109VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9jb252ZXJzaW9uIiwiL2cvZCIpLFZsKTt2YXIgWGw9e30sWWw9KFhsWzVdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iKSxYbFs2XT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iLCIvZ3MiKSxYbFs4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs2Nl09VWwoInd3dy5nb29nbGUuY29tIiwiL3BhZ2VhZC91Y29udmVyc2lvbiIpLFhsWzYzXT1VbCgid3d3Lmdvb2dsZWFkc2VydmljZXMuY29tIiwiL3BhZ2VhZC9jb252ZXJzaW9uIiksWGxbNjRdPVVsKCJwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSIsIi9wYWdlYWQvY29udmVyc2lvbiIsIi9ncyIpLFhsWzY1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs3NF09ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2FzL3AvYyJ9LFhsKTt2YXIgWmw9e30sJGw9KFpsWzQ1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvY2NtL2NvbGxlY3QiKSxabFs0Nl09VWwoInBhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tIiwiL2NjbS9jb2xsZWN0IiwiL2dzIiksWmxbNjldPVVsKCJhZC5kb3VibGVjbGljay5uZXQiLCIvY2NtL3MvY29sbGVjdCIpLFpsWzU4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkL3NldF9wYXJ0aXRpb25lZF9jb29raWUiKSxabFs1N109VWwoInd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSIsIi9wYWdlYWQvc2V0X3BhcnRpdGlvbmVkX2Nvb2tpZSIpLFpsKTt2YXIgYW09e30sYm09KGFtWzldPVVsKCJnb29nbGVhZHMuZy5kb3VibGVjbGljay5uZXQiLCIvcGFnZWFkL3ZpZXd0aHJvdWdoY29udmVyc2lvbiIpLGFtWzY4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcm1rdC9jb2xsZWN0IiksYW0pO3ZhciBjbT17fSxkbT0oY21bMTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVsyMV09VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9mb3JtLWRhdGEiLCIvZCIpLGNtWzcyXT1VbCgiZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVs3M109VWwoImdvb2dsZS5jb20iLCIvY2NtL2Zvcm0tZGF0YSIsIi9kIiksY20pO3ZhciBlbT17fSxmbT0oZW1bNTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi90cmF2ZWwvZmxpZ2h0cy9jbGljay9jb252ZXJzaW9uIiksZW0pO3ZhciBnbT17fSxobT0oZ21bMV09ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvYWN0aXZpdHk7In0sZ21bMl09ZnVuY3Rpb24oKXtyZXR1cm4oV2ooKT9YaigpOiJodHRwczovL2FkZS5nb29nbGVzeW5kaWNhdGlvbi5jb20iKSsiL2RkbS9hY3Rpdml0eSIrKE0oNDY3KT8iOyI6Ii8iKX0sZ21bM109ZnVuY3Rpb24oYSl7cmV0dXJuImh0dHBzOi8vIithLmxyKyIuZmxzLmRvdWJsZWNsaWNrLm5ldC9hY3Rpdml0eWk7In0sZ20pO2Z1bmN0aW9uIGltKGEpe3NiKCJIRUFMVEgiLGEpfTt2YXIgam09e2JhOntQdDoiYXdfdXNlcl9kYXRhX2NhY2hlIixvaToiY29va2llX2RlcHJlY2F0aW9uX2xhYmVsIixiaDoiZGlhZ25vc3RpY3NfcGFnZV9pZCIsb3A6ImVtZW1vIixkdToiZW1fcmVnaXN0cnkiLFNpOiJlYWIiLHJ1OiJmbF91c2VyX2RhdGFfY2FjaGUiLHR1OiJnYTRfdXNlcl9kYXRhX2NhY2hlIixMdToiaWRjX3B2X2NsYWltIixTZToiaXBfZ2VvX2RhdGFfY2FjaGUiLFhpOiJpcF9nZW9fZmV0Y2hfaW5fcHJvZ3Jlc3MiLGpuOiJuYl9kYXRhIixUcToicGFnZV9leHBlcmltZW50X2lkcyIsbG46InBsZCIsVmU6InB0X2RhdGEiLG1uOiJwdF9saXN0ZW5lcl9zZXQiLGtqOiJyZXRyeV9jb250YWluZXJzIixPaDoic2VydmljZV93b3JrZXJfZW5kcG9pbnQiLFpxOiJzaGFyZWRfdXNlcl9pZCIsYXI6InNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCIsc2o6InNoYXJlZF91c2VyX2lkX3NvdXJjZSIsYnY6ImF3aCIsaHI6InVuaXZlcnNhbF9jbGFpbV9yZWdpc3RyeSJ9fTt2YXIga209ZnVuY3Rpb24oYSl7cmV0dXJuIHRmKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBhKWlmKGI9PT1hW2NdJiYhL15bMC05XSskLy50ZXN0KGMpKXJldHVybiEwO3JldHVybiExfSl9KGptLmJhKTsKZnVuY3Rpb24gbG0oYSxiKXtiPWI9PT12b2lkIDA/ITE6YjtpZihrbShhKSl7dmFyIGMsZCxlPShkPShjPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSkueGNkKSE9bnVsbD9kOmMueGNkPXt9O2lmKGVbYV0pcmV0dXJuIGVbYV07aWYoYil7dmFyIGY9dm9pZCAwLGc9MSxoPXt9LGw9e3NldDpmdW5jdGlvbihuKXtmPW47bC5ub3RpZnkoKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHN1YnNjcmliZTpmdW5jdGlvbihuKXtoW1N0cmluZyhnKV09bjtyZXR1cm4gZysrfSx1bnN1YnNjcmliZTpmdW5jdGlvbihuKXt2YXIgcD1TdHJpbmcobik7cmV0dXJuIGguaGFzT3duUHJvcGVydHkocCk/KGRlbGV0ZSBoW3BdLCEwKTohMX0sbm90aWZ5OmZ1bmN0aW9uKCl7Zm9yKHZhciBuPW0oT2JqZWN0LmtleXMoaCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3RyeXtoW3FdKGEsZil9Y2F0Y2gocil7fX19fTtyZXR1cm4gZVthXT1sfX19CmZ1bmN0aW9uIG1tKGEsYil7dmFyIGM9bG0oYSwhMCk7YyYmYy5zZXQoYil9ZnVuY3Rpb24gbm0oYSl7dmFyIGI7cmV0dXJuKGI9bG0oYSkpPT1udWxsP3ZvaWQgMDpiLmdldCgpfWZ1bmN0aW9uIG9tKGEsYil7dmFyIGM9bG0oYSk7aWYoIWMpe2M9bG0oYSwhMCk7aWYoIWMpcmV0dXJuO2Muc2V0KGIpfXJldHVybiBjLmdldCgpfWZ1bmN0aW9uIHBtKGEsYil7aWYodHlwZW9mIGI9PT0iZnVuY3Rpb24iKXt2YXIgYztyZXR1cm4oYz1sbShhLCEwKSk9PW51bGw/dm9pZCAwOmMuc3Vic2NyaWJlKGIpfX1mdW5jdGlvbiBxbShhLGIpe3ZhciBjPWxtKGEpO3JldHVybiBjP2MudW5zdWJzY3JpYmUoYik6ITF9O3ZhciBzbT1mdW5jdGlvbigpe3RoaXMuSD17fTt0aGlzLks9ITF9O3NtLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5LfHwodGhpcy5IPXRtKCksdGhpcy5IWyIwIl0mJm9tKGptLmJhLlNlLEpTT04uc3RyaW5naWZ5KHRoaXMuSCkpKX07CnZhciB4bT1mdW5jdGlvbigpe3ZhciBhPXVtLGI9dm0sYz12b2lkIDAsZD1mdW5jdGlvbigpe2MhPT12b2lkIDAmJnFtKGptLmJhLlNlLGMpO3RyeXt2YXIgZj1ubShqbS5iYS5TZSk7Yi5IPUpTT04ucGFyc2UoZil9Y2F0Y2goZyl7UCgxMjMpLGltKDIpLGIuSD17fX1iLks9ITA7YSgpfSxlPW5tKGptLmJhLlNlKTtlP2QoZSk6KGM9cG0oam0uYmEuU2UsZCksd20oKSl9LHdtPWZ1bmN0aW9uKCl7aWYoIW5tKGptLmJhLlhpKSl7bW0oam0uYmEuWGksITApO3ZhciBhPWZ1bmN0aW9uKGIpe21tKGptLmJhLlNlLGJ8fCJ7fSIpO21tKGptLmJhLlhpLCExKX07dHJ5e0EuZmV0Y2goImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2NtL2dlbyIse21ldGhvZDoiR0VUIixjYWNoZToibm8tc3RvcmUiLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJvbWl0In0pLnRoZW4oZnVuY3Rpb24oYil7Yi5vaz9iLnRleHQoKS50aGVuKGZ1bmN0aW9uKGMpe2EoYyl9LGZ1bmN0aW9uKCl7YSgpfSk6YSgpfSxmdW5jdGlvbigpe2EoKX0pfWNhdGNoKGIpe2EoKX19fSwKdG09ZnVuY3Rpb24oKXt2YXIgYT1FKDIyKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UocWIoYSkpfWNhdGNoKGIpe3JldHVybiBQKDEyMyksaW0oMikse319fSx5bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIwIl18fCIifSx6bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIxIl18fCIifSxBbT1mdW5jdGlvbigpe3ZhciBhPXZtLGI9ITE7Yj0hIWEuSFsiMiJdO3JldHVybiBifSxCbT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyI2Il0hPT0hMX0sQ209ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSExO2I9ISFhLkhbIjkiXTtyZXR1cm4gYn0sRG09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyI0Il18fCIiOwpyZXR1cm4gYn0sRW09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyIzIl18fCIiO3JldHVybiBifSx2bT1uZXcgc207ZnVuY3Rpb24gRm0oYSl7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuImh0dHBzOi8vIisoRG0oKXx8Ind3dyIpKyIuZ29vZ2xlLWFuYWx5dGljcy5jb20vIithfWZ1bmN0aW9uIEdtKGEpe2E9YT09PXZvaWQgMD8iZy9jb2xsZWN0IjphO3ZhciBiPURtKCk7cmV0dXJuImh0dHBzOi8vIisoYj9iKyIuIjoiIikrImFuYWx5dGljcy5nb29nbGUuY29tLyIrYX12YXIgSG09e30sSW09KEhtWzE3XT1mdW5jdGlvbigpe3JldHVybiBXaigpJiYhRG0oKT9YaigpKyIvYWcvZy9jIjpHbSgpfSxIbVsxNl09ZnVuY3Rpb24oKXtyZXR1cm4gV2ooKSYmIURtKCk/WGooKSsiL2dhL2cvYyI6Rm0oKX0sSG1bNjddPWZ1bmN0aW9uKCl7dmFyIGE7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuIERtKCk/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIithfSxIbSk7ZnVuY3Rpb24gSm0oYSxiLGMpe3ZhciBkPVVsKGIsIi9tZWFzdXJlbWVudC9jb252ZXJzaW9uIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gRG0oKT9hKCJtZWFzdXJlbWVudC9jb252ZXJzaW9uIik6ZCgpfX12YXIgS209e30sTG09KEttWzU1XT1KbShGbSwicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvZ3MiKSxLbVs1NF09Sm0oR20sInd3dy5nb29nbGUuY29tIiwiL2ciKSxLbSk7dmFyIE1tPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sV2wsWWwsJGwsYm0sZG0sZm0saG0sTG0sSW0pO2Z1bmN0aW9uIE5tKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiW2RdIT1udWxsfSkubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkKyI9IitiW2RdfSkuam9pbigiJiIpO3JldHVybiBNbVthXSh2b2lkIDApKyI/IitjfTt2YXIgT209e30sUG09KE9tLnRkcD0xLE9tLmV4cD0xLE9tLmd0bT0xLE9tLnBpZD0xLE9tLmRsPTEsT20uc2VxPTEsT20udD0xLE9tLnY9MSxPbSksUm09ZnVuY3Rpb24oKXt2YXIgYT1RbTtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGEuSFtiXX0pfSxTbT1mdW5jdGlvbihhLGIsYyl7aWYoYS5IW2JdPT09dm9pZCAwfHwoYz09PXZvaWQgMD8wOmMpKWEuSFtiXT0hMH0sVG09ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1BtW2JdfHwoUW0uSFtiXT0hMSl9KX0sUW09bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuSz17fX07ZnVuY3Rpb24gVW0oYSxiLGMpe3ZhciBkPWM9PT12b2lkIDA/ITA6YyxlPVFtO2UuS1thXT1iOyhkPT09dm9pZCAwfHxkKSYmU20oZSxhKX1mdW5jdGlvbiBWbShhLGIpe1NtKFFtLGEsYj09PXZvaWQgMD8hMTpiKX07ZnVuY3Rpb24gV20oYSl7dmFyIGI9MDthLkdjLmZvckVhY2goZnVuY3Rpb24oYyl7Ynw9MTw8Y30pO3JldHVybiBifWZ1bmN0aW9uIFhtKCl7cmV0dXJue3RvdGFsOjAsamI6MCxHYzpuZXcgU2V0LGxmOnt9fX1mdW5jdGlvbiBZbShhLGIsYyxkKXt2YXIgZT1PYmplY3Qua2V5cyhhLm5mKS5zb3J0KGZ1bmN0aW9uKGYsZyl7cmV0dXJuIE51bWJlcihmKS1OdW1iZXIoZyl9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuW2YsYihhLm5mW2ZdKV19KS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGZbMV0hPT12b2lkIDB9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuam9pbihjKX0pLmpvaW4oZCk7cmV0dXJuIGU/ZTp2b2lkIDB9CmZ1bmN0aW9uIFptKGEsYil7dmFyIGMsZCxlO2M9Yz09PXZvaWQgMD8iXyI6YztkPWQ9PT12b2lkIDA/IjsiOmQ7ZT1lPT09dm9pZCAwPyJ+IjplO2Zvcih2YXIgZj1bXSxnPW0oT2JqZWN0LmtleXMoYS5sZikuc29ydCgpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPVltKGEubGZbbF0sYixjLGQpO2lmKG4pe3ZhciBwPXZvaWQgMDtmLnB1c2goIiIrKChwPWwpIT1udWxsP3A6IiIpK2Qrbil9fXJldHVybiBmLmxlbmd0aD9mLmpvaW4oZSk6dm9pZCAwfQpmdW5jdGlvbiAkbShhKXthLmpiPTA7YS5HYy5jbGVhcigpO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKGEubGYpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9YS5sZltjLnZhbHVlXTtkLmpiPTA7ZC5HYy5jbGVhcigpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGQubmYpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9ZC5uZltmLnZhbHVlXTtnLmpiPTA7Zy5HYy5jbGVhcigpfX19CmZ1bmN0aW9uIGFuKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPzE6ZDthLnRvdGFsKz1kO2EuamIrPWQ7dmFyIGYsZz1iPT09dm9pZCAwPyIiOmI7Zj1hLmxmW2ddfHwoYS5sZltnXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXQsbmY6e319KTtmLnRvdGFsKz1kO2YuamIrPWQ7dmFyIGgsbD1TdHJpbmcoYyk7aD1mLm5mW2xdfHwoZi5uZltsXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXR9KTtoLnRvdGFsKz1kO2guamIrPWQ7ZSE9PXZvaWQgMCYmKGEuR2MuYWRkKGUpLGYuR2MuYWRkKGUpLGguR2MuYWRkKGUpKX07dmFyIGJuPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCl9O2JuLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oYSxiKXthbih0aGlzLkgsYSxiKX07dmFyIGNuPW5ldyBibjtmdW5jdGlvbiBkbihhKXt2YXIgYj1TdHJpbmcoYVtHZi5ZYl18fCIiKS5yZXBsYWNlKC9fL2csIiIpO3JldHVybiBTYihiLCJjdnQiKT8iY3Z0IjpifXZhciBlbj1BLmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/Z3RtX2xhdGVuY3k9Iik+PTB8fEEubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIiZndG1fbGF0ZW5jeT0iKT49MDt2YXIgZ249ZnVuY3Rpb24oKXt2YXIgYT1mbjtyZXR1cm4gTSg2MDMpJiZJZig2NSwhMSkmJiFhLlp9LGZuPW5ldyBmdW5jdGlvbihhKXt0aGlzLlI9YSgpO3ZhciBiPUpmKDI3KTt0aGlzLk49ZW58fHRoaXMuUjxiO3ZhciBjPUpmKDQyKTt0aGlzLlo9ZW58fHRoaXMuUj49MS1jO3ZhciBkPU0oNjAzKSYmSWYoNjUsITEpO3RoaXMuSz10aGlzLlp8fGQ7dmFyIGU9SmYoMjcpLGY9SmYoNjMpO3RoaXMuSD1lbnx8Zj09PTF8fHRoaXMuUj49ZSYmdGhpcy5SPGUrZn0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKX0pO3ZhciBobj1mdW5jdGlvbigpe3RoaXMuSD17fX07aG4ucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYixjKXtpZihmbi5LKXt2YXIgZD1qbihiLGMpO2lmKGQpe3ZhciBlLGY9YjtmPT09NCYmKGY9NSk7dmFyIGc9dGhpcy5IW2ZdO2d8fChnPXRoaXMuSFtmXT17fSk7ZT1nO3ZhciBoPWVbZF07aHx8KGg9ZVtkXT1bXSk7aC5wdXNoKG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSkpO2NuLmluY3JlbWVudChhLmRlc3RpbmF0aW9uSWQsYS5lbmRwb2ludCk7YS5lbmRwb2ludCE9PTU2JiZhLmVuZHBvaW50IT09NjEmJlZtKCJtZGUiLCEwKX19fTsKdmFyIG1uPWZ1bmN0aW9uKGEsYil7dmFyIGM9a24sZD1qbihhLGIpO2lmKGQpe3ZhciBlPWxuKGMsYSk7aWYoZSl7dmFyIGY9ZVtkXTtmJiYoZVtkXT1mLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hZy5Fb30pKX19fSxsbj1mdW5jdGlvbihhLGIpe2I9PT00JiYoYj01KTtyZXR1cm4gYS5IW2JdfSxqbj1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYoYlswXT09PSIvIil7dmFyIGQ7Yz0oKGQ9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmQub3JpZ2luKStifXRyeXt2YXIgZT1uZXcgVVJMKGMpO3JldHVybiBhPT09Mj9lLm9yaWdpbjplLm9yaWdpbitlLnBhdGhuYW1lfWNhdGNoKGYpe319LGtuPW5ldyBobjsKZnVuY3Rpb24gbm4oYSl7c3dpdGNoKGEpe2Nhc2UgInNjcmlwdC1zcmMiOnJldHVybiA0O2Nhc2UgInNjcmlwdC1zcmMtZWxlbSI6cmV0dXJuIDU7Y2FzZSAiZnJhbWUtc3JjIjpyZXR1cm4gMjtjYXNlICJjb25uZWN0LXNyYyI6cmV0dXJuIDE7Y2FzZSAiaW1nLXNyYyI6cmV0dXJuIDN9fTtmdW5jdGlvbiBvbihhLGIsYyl7dmFyIGQsZT1hLkdvb2dsZWJRaENzTztlfHwoZT17fSxhLkdvb2dsZWJRaENzTz1lKTtkPWU7aWYoZFtiXSlyZXR1cm4hMTtkW2JdPVtdO2RbYl1bMF09YztyZXR1cm4hMH07dmFyIHBuLHFuO2E6e2Zvcih2YXIgcm49WyJDTE9TVVJFX0ZMQUdTIl0sc249UmEsdG49MDt0bjxybi5sZW5ndGg7dG4rKylpZihzbj1zbltyblt0bl1dLHNuPT1udWxsKXtxbj1udWxsO2JyZWFrIGF9cW49c259dmFyIHVuPXFuJiZxbls2MTA0MDEzMDFdO3BuPXVuIT1udWxsP3VuOiExO2Z1bmN0aW9uIHZuKCl7dmFyIGE9UmEubmF2aWdhdG9yO2lmKGEpe3ZhciBiPWEudXNlckFnZW50O2lmKGIpcmV0dXJuIGJ9cmV0dXJuIiJ9dmFyIHduLHhuPVJhLm5hdmlnYXRvcjt3bj14bj94bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geW4oYSl7aWYoIXBufHwhd24pcmV0dXJuITE7Zm9yKHZhciBiPTA7Yjx3bi5icmFuZHMubGVuZ3RoO2IrKyl7dmFyIGM9d24uYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gem4oYSl7cmV0dXJuIHZuKCkuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIEFuKCl7cmV0dXJuIHBuPyEhd24mJnduLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiBCbigpe3JldHVybiBBbigpPyExOnpuKCJPcGVyYSIpfWZ1bmN0aW9uIENuKCl7cmV0dXJuIHpuKCJGaXJlZm94Iil8fHpuKCJGeGlPUyIpfWZ1bmN0aW9uIERuKCl7cmV0dXJuIEFuKCk/eW4oIkNocm9taXVtIik6KHpuKCJDaHJvbWUiKXx8em4oIkNyaU9TIikpJiYhKEFuKCk/MDp6bigiRWRnZSIpKXx8em4oIlNpbGsiKX07ZnVuY3Rpb24gRW4oKXtyZXR1cm4gcG4/ISF3biYmISF3bi5wbGF0Zm9ybTohMX1mdW5jdGlvbiBGbigpe3JldHVybiB6bigiaVBob25lIikmJiF6bigiaVBvZCIpJiYhem4oImlQYWQiKX1mdW5jdGlvbiBHbigpe0ZuKCl8fHpuKCJpUGFkIil8fHpuKCJpUG9kIil9O3ZhciBIbj1mdW5jdGlvbihhKXtIblsiICJdKGEpO3JldHVybiBhfTtIblsiICJdPWZ1bmN0aW9uKCl7fTtCbigpO0FuKCl8fHpuKCJUcmlkZW50Iil8fHpuKCJNU0lFIik7em4oIkVkZ2UiKTshem4oIkdlY2tvIil8fHZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpfHx6bigiVHJpZGVudCIpfHx6bigiTVNJRSIpfHx6bigiRWRnZSIpO3ZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpJiZ6bigiTW9iaWxlIik7RW4oKXx8em4oIk1hY2ludG9zaCIpO0VuKCl8fHpuKCJXaW5kb3dzIik7KEVuKCk/d24ucGxhdGZvcm09PT0iTGludXgiOnpuKCJMaW51eCIpKXx8RW4oKXx8em4oIkNyT1MiKTtFbigpfHx6bigiQW5kcm9pZCIpO0ZuKCk7em4oImlQYWQiKTt6bigiaVBvZCIpO0duKCk7dm4oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImthaW9zIik7Q24oKTtGbigpfHx6bigiaVBvZCIpO3puKCJpUGFkIik7IXpuKCJBbmRyb2lkIil8fERuKCl8fENuKCl8fEJuKCl8fHpuKCJTaWxrIik7RG4oKTshem4oIlNhZmFyaSIpfHxEbigpfHwoQW4oKT8wOnpuKCJDb2FzdCIpKXx8Qm4oKXx8KEFuKCk/MDp6bigiRWRnZSIpKXx8KEFuKCk/eW4oIk1pY3Jvc29mdCBFZGdlIik6em4oIkVkZy8iKSl8fChBbigpP3luKCJPcGVyYSIpOnpuKCJPUFIiKSl8fENuKCl8fHpuKCJTaWxrIil8fHpuKCJBbmRyb2lkIil8fEduKCk7dmFyIEluPXt9LEpuPW51bGw7CmZ1bmN0aW9uIEtuKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZT4yNTUmJihiW2MrK109ZSYyNTUsZT4+PTgpO2JbYysrXT1lfXZhciBmPTQ7Zj09PXZvaWQgMCYmKGY9MCk7aWYoIUpuKXtKbj17fTtmb3IodmFyIGc9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksaD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxsPTA7bDw1O2wrKyl7dmFyIG49Zy5jb25jYXQoaFtsXS5zcGxpdCgiIikpO0luW2xdPW47Zm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07Sm5bcV09PT12b2lkIDAmJihKbltxXT1wKX19fWZvcih2YXIgcj1JbltmXSx0PUFycmF5KE1hdGguZmxvb3IoYi5sZW5ndGgvMykpLHU9cls2NF18fCIiLHY9MCx4PTA7djxiLmxlbmd0aC0yO3YrPTMpe3ZhciB5PWJbdl0sej1iW3YrMV0sQz1iW3YrMl0sCkQ9clt5Pj4yXSxJPXJbKHkmMyk8PDR8ej4+NF0sRz1yWyh6JjE1KTw8MnxDPj42XSxOPXJbQyY2M107dFt4KytdPSIiK0QrSStHK059dmFyIFM9MCxXPXU7c3dpdGNoKGIubGVuZ3RoLXYpe2Nhc2UgMjpTPWJbdisxXSxXPXJbKFMmMTUpPDwyXXx8dTtjYXNlIDE6dmFyIGVhPWJbdl07dFt4XT0iIityW2VhPj4yXStyWyhlYSYzKTw8NHxTPj40XStXK3V9cmV0dXJuIHQuam9pbigiIil9O3ZhciBMbj1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXCsvZywiICIpKX07dmFyIE1uPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gTm4oYSxiLGMsZCl7Zm9yKHZhciBlPWIsZj1jLmxlbmd0aDsoZT1hLmluZGV4T2YoYyxlKSk+PTAmJmU8ZDspe3ZhciBnPWEuY2hhckNvZGVBdChlLTEpO2lmKGc9PTM4fHxnPT02Myl7dmFyIGg9YS5jaGFyQ29kZUF0KGUrZik7aWYoIWh8fGg9PTYxfHxoPT0zOHx8aD09MzUpcmV0dXJuIGV9ZSs9ZisxfXJldHVybi0xfXZhciBPbj0vI3wkLzsKZnVuY3Rpb24gUG4oYSxiKXt2YXIgYz1hLnNlYXJjaChPbiksZD1ObihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gTG4oYS5zbGljZShkLGUhPT0tMT9lOjApKX12YXIgUW49L1s/Jl0oJHwjKS87CmZ1bmN0aW9uIFJuKGEsYixjKXtmb3IodmFyIGQsZT1hLnNlYXJjaChPbiksZj0wLGcsaD1bXTsoZz1ObihhLGYsYixlKSk+PTA7KWgucHVzaChhLnN1YnN0cmluZyhmLGcpKSxmPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZykrMXx8ZSxlKTtoLnB1c2goYS5zbGljZShmKSk7ZD1oLmpvaW4oIiIpLnJlcGxhY2UoUW4sIiQxIik7dmFyIGwsbj1jIT1udWxsPyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKToiIjt2YXIgcD1iK247aWYocCl7dmFyIHEscj1kLmluZGV4T2YoIiMiKTtyPDAmJihyPWQubGVuZ3RoKTt2YXIgdD1kLmluZGV4T2YoIj8iKSx1O3Q8MHx8dD5yPyh0PXIsdT0iIik6dT1kLnN1YnN0cmluZyh0KzEscik7cT1bZC5zbGljZSgwLHQpLHUsZC5zbGljZShyKV07dmFyIHY9cVsxXTtxWzFdPXA/dj92KyImIitwOnA6djtsPXFbMF0rKHFbMV0/Ij8iK3FbMV06IiIpK3FbMl19ZWxzZSBsPWQ7cmV0dXJuIGx9O2Z1bmN0aW9uIFNuKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9UG4oYywiZm10Iik7aWYoZCl7dmFyIG49UG4oYywicmFuZG9tIikscD1QbihjLCJsYWJlbCIpfHwiIjtpZighbilyZXR1cm47dmFyIHE9S24oTG4ocCkrIjoiK0xuKG4pKTtpZighb24oYSxxLGQpKXJldHVybn1sJiZOdW1iZXIobCkhPT00PyhjPVJuKGMsInJmbXQiLGwpLGM9Um4oYywiZm10Iiw0KSk6bHx8KGM9Um4oYywiZm10Iiw0KSk7VWMoYyxmdW5jdGlvbigpe2c9PW51bGx8fFRuKGcpO2g9PW51bGx8fFVuKGgsYyk7YS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzJiZkJiYoYS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzPW51bGwsZCgpKX0sZnVuY3Rpb24oKXtnPT1udWxsfHxUbihnKTtoPT1udWxsfHxVbihoLGMpO2U9PW51bGx8fGUoKX0sZixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXS5wYXJlbnRFbGVtZW50fHx2b2lkIDApO3JldHVybiBjfTtmdW5jdGlvbiBWbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwxLGJbMF0pO2lkLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gV24oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gamQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBYbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwzLGJbMF0pO1pjLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gWW4oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gbWQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBabihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSw1LGJbMF0pO1VjLmFwcGx5KG51bGwsdyhiKSl9CmZ1bmN0aW9uICRuKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTtiWzBdJiZrbi5yZWdpc3RlcihhLDIsYlswXSk7WGMuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBhbyhhKXt2YXIgYj1Tbi5hcHBseShudWxsLHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSk7YiYma24ucmVnaXN0ZXIoYSw0LGIpO3JldHVybiBifTt2YXIgYm89e01hOntSZTowLFVlOjEsTGg6Mn19O2JvLk1hW2JvLk1hLlJlXT0iRlVMTF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLlVlXT0iTElNSVRFRF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLkxoXT0iTk9fVFJBTlNNSVNTSU9OIjt2YXIgY289e2lhOntnZDowLGNiOjEseGQ6MixaYjozfX07Y28uaWFbY28uaWEuZ2RdPSJOT19RVUVVRSI7Y28uaWFbY28uaWEuY2JdPSJBRFMiO2NvLmlhW2NvLmlhLnhkXT0iQU5BTFlUSUNTIjtjby5pYVtjby5pYS5aYl09Ik1PTklUT1JJTkciO3ZhciBlbz1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuY29uc2VudFR5cGVzPWJ9O2VvLnByb3RvdHlwZS5pc0NvbnNlbnRHcmFudGVkPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuSCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnNlbnRUeXBlcy5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gQmwoYSl9KTtjYXNlIDE6cmV0dXJuIHRoaXMuY29uc2VudFR5cGVzLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIEJsKGEpfSk7ZGVmYXVsdDp5Yyh0aGlzLkgsImNvbnNlbnRzUmVxdWlyZWQgaGFkIGFuIHVua25vd24gdHlwZSIpfX07CnZhciBmbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLkg9KGFbY28uaWEuZ2RdPWJvLk1hLlJlLGFbY28uaWEuY2JdPWJvLk1hLlJlLGFbY28uaWEueGRdPWJvLk1hLlJlLGFbY28uaWEuWmJdPWJvLk1hLlJlLGEpO3ZhciBiPXt9O3RoaXMuSz0oYltjby5pYS5nZF09bmV3IGVvKDAsW10pLGJbY28uaWEuY2JdPW5ldyBlbygwLFsiYWRfc3RvcmFnZSJdKSxiW2NvLmlhLnhkXT1uZXcgZW8oMCxbImFuYWx5dGljc19zdG9yYWdlIl0pLGJbY28uaWEuWmJdPW5ldyBlbygxLFsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl0pLGIpfTt2YXIgaG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnR5cGU9YTt0aGlzLkg9W107RmwoZm8uS1thXS5jb25zZW50VHlwZXMsZnVuY3Rpb24oKXtnbyhiKXx8Yi5mbHVzaCgpfSl9O2hvLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT1tKHRoaXMuSCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe3ZhciBjPWIudmFsdWU7YygpfXRoaXMuSD1bXX07dmFyIGdvPWZ1bmN0aW9uKGEpe3JldHVybiBmby5IW2EudHlwZV09PT1iby5NYS5MaCYmIWZvLktbYS50eXBlXS5pc0NvbnNlbnRHcmFudGVkKCl9LGlvPWZ1bmN0aW9uKGEsYil7Z28oYSk/YS5ILnB1c2goYik6YigpfSxqbz1mdW5jdGlvbigpe3RoaXMuSD1uZXcgTWFwfSxsbz1mdW5jdGlvbihhKXt2YXIgYj1rbztiLkguaGFzKGEpfHxiLkguc2V0KGEsbmV3IGhvKGEpKTtyZXR1cm4gYi5ILmdldChhKX07am8ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ILmNsZWFyKCl9Owp2YXIga289bmV3IGpvO3ZhciBtbz1bImZpbiIsImZzIiwibWNjIiwibmNjIl0sbm89ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9Um0oKSxjPVFtLkssZD1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY1tlXSE9PXZvaWQgMCYmKGF8fCFtby5pbmNsdWRlcyhlKSl9KTtUbShkKTtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9Y1tlXTt0eXBlb2YgZj09PSJmdW5jdGlvbiImJihmPWYoKSk7cmV0dXJuIGY/IiYiK2UrIj0iK2Y6IiJ9KS5qb2luKCIiKSsiJno9MCJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPSJodHRwczovLyIrRSgyMSksYz0iL3RkP2lkPSIrRSg1KTtyZXR1cm4iIitmayhiKStjK2F9LHBvPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITE6YztpZigkaygyNikmJmZuLksmJkUoNSkmJihjfHwhZ24oKSkpe3ZhciBkPWxvKGNvLmlhLlpiKTtpZihnbyhkKSlhLkh8fChhLkg9ITAsaW8oZCxmdW5jdGlvbigpe3JldHVybiBwbyhhKX0pKTsKZWxzZXtiJiZVbSgiZmluIiwiMSIpO3ZhciBlPW5vKGIpLGY9b28oZSksZz17ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjYxfTtiP1luKGcsZix2b2lkIDAse1FnOiEwfSx2b2lkIDAsZnVuY3Rpb24oKXtaYyhmKyImaW1nPTEiKX0pOlhuKGcsZik7YS5IPSExO3FvKGUpfX19LHFvPWZ1bmN0aW9uKGEpe2lmKEtjJiYoU2IoS2MsImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tLyIpfHxJZig0NykpJiYhKGEuaW5kZXhPZigiJmNzcD0iKTwwJiZhLmluZGV4T2YoIiZtZGU9Iik8MCkpe3ZhciBiO2E6e3RyeXtpZihLYyl7Yj1uZXcgVVJMKEtjKTticmVhayBhfX1jYXRjaChjKXt9Yj12b2lkIDB9YiYmVWMoIiIrS2MrKEtjLmluZGV4T2YoIj8iKT49MD8iJiI6Ij8iKSsiaXNfdGQ9MSIrYSl9fSxybz1mdW5jdGlvbihhKXtSbSgpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIVBtW2JdfSkmJnBvKGEsITApfSxzbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSD0hMTsKJGMoQSwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7cm8oYSl9KX07ZnVuY3Rpb24gdG8oYSxiKXtwbyhzbyxhPT09dm9pZCAwPyExOmEsYj09PXZvaWQgMD8hMTpiKX07dmFyIHVvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIiwiYWRfdXNlcl9kYXRhIiwiYWRfcGVyc29uYWxpemF0aW9uIl0sdm89W0YuRC5kZCxGLkQueWMsRi5ELlFmLEYuRC5LYixGLkQueGMsRi5ELmZiLEYuRC5EYixGLkQubmIsRi5ELkxiLEYuRC52Y10seW89ZnVuY3Rpb24oKXt2YXIgYT13bzshYS5SJiZhLkgmJih1by5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBBbC5jb250YWluZXJTY29wZWREZWZhdWx0c1tiXSE9PTF9KXx8eG8oIm1iYyIpKTthLlI9ITB9LHhvPWZ1bmN0aW9uKGEpe2ZuLksmJihVbShhLCIxIiksdG8oKSl9LHpvPWZ1bmN0aW9uKGEsYil7dmFyIGM9d287aWYoIWMuTltiXSYmKGMuTltiXT0hMCxjLktbYl0pKWZvcih2YXIgZD1tKHZvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihPKGEsZS52YWx1ZSkpe3hvKCJlcmMiKTticmVha319LHdvPW5ldyBmdW5jdGlvbigpe3RoaXMuUj10aGlzLkg9ITE7dGhpcy5OPXt9O3RoaXMuSz17fX07dmFyIEFvPXt9LEJvPU9iamVjdC5mcmVlemUoKEFvW0YuRC5SY109MSxBb1tGLkQuaGhdPTEsQW9bRi5ELnNpXT0xLEFvW0YuRC5TY109MSxBb1tGLkQuSGFdPTEsQW9bRi5ELkxiXT0xLEFvW0YuRC5DYl09MSxBb1tGLkQuVGJdPTEsQW9bRi5ELklkXT0xLEFvW0YuRC52Y109MSxBb1tGLkQubmJdPTEsQW9bRi5ELkpkXT0xLEFvW0YuRC5IZV09MSxBb1tGLkQuT2FdPTEsQW9bRi5ELlFwXT0xLEFvW0YuRC5QZl09MSxBb1tGLkQuRmldPTEsQW9bRi5ELnBoXT0xLEFvW0YuRC5XY109MSxBb1tGLkQuUWZdPTEsQW9bRi5ELmFxXT0xLEFvW0YuRC5UYV09MSxBb1tGLkQuVWZdPTEsQW9bRi5ELmZxXT0xLEFvW0YuRC5PZF09MSxBb1tGLkQuUmxdPTEsQW9bRi5ELlljXT0xLEFvW0YuRC5aY109MSxBb1tGLkQuRGJdPTEsQW9bRi5ELmFtXT0xLEFvW0YuRC5XYl09MSxBb1tGLkQuVGRdPTEsQW9bRi5ELlhiXT0xLEFvW0YuRC5PaV09MSxBb1tGLkQuZGRdPTEsQW9bRi5ELnloXT0xLEFvW0YuRC5QaV09CjEsQW9bRi5ELlVkXT0xLEFvW0YuRC55Y109MSxBb1tGLkQuVmRdPTEsQW9bRi5ELmxtXT0xLEFvW0YuRC5XZF09MSxBb1tGLkQuZWRdPTEsQW9bRi5ELm9qXT0xLEFvKSk7T2JqZWN0LmZyZWV6ZShbRi5ELnphLEYuRC5VYSxGLkQuTWIsRi5ELnRiLEYuRC5OaSxGLkQuZmIsRi5ELkdpLEYuRC5NcF0pOwp2YXIgQ289e30sRG89T2JqZWN0LmZyZWV6ZSgoQ29bRi5ELnFwXT0xLENvW0YuRC5ycF09MSxDb1tGLkQudHBdPTEsQ29bRi5ELnVwXT0xLENvW0YuRC52cF09MSxDb1tGLkQuenBdPTEsQ29bRi5ELkFwXT0xLENvW0YuRC5CcF09MSxDb1tGLkQuRHBdPTEsQ29bRi5ELnlmXT0xLENvKSksRW89e30sRm89T2JqZWN0LmZyZWV6ZSgoRW9bRi5ELnZsXT0xLEVvW0YuRC53bF09MSxFb1tGLkQueGVdPTEsRW9bRi5ELnllXT0xLEVvW0YuRC54bF09MSxFb1tGLkQuQWRdPTEsRW9bRi5ELnplXT0xLEVvW0YuRC5vY109MSxFb1tGLkQuUWNdPTEsRW9bRi5ELnFjXT0xLEVvW0YuRC5JYl09MSxFb1tGLkQuQWVdPTEsRW9bRi5ELnJjXT0xLEVvW0YuRC55bF09MSxFbykpLEdvPU9iamVjdC5mcmVlemUoW0YuRC5SYyxGLkQuU2MsRi5ELkpkLEYuRC5RZixGLkQuV2YsRi5ELlRkLEYuRC5PaSxGLkQuVmRdKSxIbz1PYmplY3QuZnJlZXplKFtdLmNvbmNhdCh3KEdvKSkpLElvPU9iamVjdC5mcmVlemUoW0YuRC5DYiwKRi5ELnBoLEYuRC55aCxGLkQuUGksRi5ELm5oXSksSm89T2JqZWN0LmZyZWV6ZShbXS5jb25jYXQodyhJbykpKSxLbz17fSxMbz0oS29bRi5ELmthXT0iMSIsS29bRi5ELnJhXT0iMiIsS29bRi5ELm1hXT0iMyIsS29bRi5ELlhhXT0iNCIsS28pLE1vPXt9LE5vPU9iamVjdC5mcmVlemUoKE1vLnNlYXJjaD0icyIsTW8ueW91dHViZT0ieSIsTW8ucGxheXN0b3JlPSJwIixNby5zaG9wcGluZz0iaCIsTW8uYWRzPSJhIixNby5tYXBzPSJtIixNbykpO2Z1bmN0aW9uIE9vKGEpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD97fTphfWZ1bmN0aW9uIFBvKGEpe3JldHVybiBhPT09dm9pZCAwfHxhPT09bnVsbD8iIjp0eXBlb2YgYT09PSJvYmplY3QiP2EudG9TdHJpbmcoKTpTdHJpbmcoYSl9ZnVuY3Rpb24gUW8oYSl7aWYoYSE9PXZvaWQgMCYmYSE9PW51bGwpcmV0dXJuIFBvKGEpfTt2YXIgUm89W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV07ZnVuY3Rpb24gU28oYSl7Zm9yKHZhciBiPW0oYVtGLkQubmNdfHxbIiJdKSxjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyZWdpb246dm9pZCAwfSxjPWIubmV4dCgpKWQucmVnaW9uPWMudmFsdWUsR2IoYSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZixnKXtpZihmIT09Ri5ELm5jKXt2YXIgaD1QbyhnKSxsPWUucmVnaW9uLG49eW0oKSxwPXptKCk7eWw9ITA7eGwmJnNiKCJUQUdHSU5HIiwyMCk7dGwoKS5kZWNsYXJlKGYsaCxsLG4scCl9fX0oZCkpfQpmdW5jdGlvbiBUbyhhKXt5bygpO3ZhciBiPWFsKDE3LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxjPWFsKDE2LGZ1bmN0aW9uKCl7cmV0dXJuITF9KTshYiYmYyYmeG8oImNyYyIpO1prKDE3LCEwKTt2YXIgZD1hW0YuRC5ZZ107ZCYmUCg0MSk7dmFyIGU9YVtGLkQubmNdO2U/UCg0MCk6ZT1bIiJdO2Zvcih2YXIgZj1tKGUpLGc9Zi5uZXh0KCksaD17fTshZy5kb25lO2g9e0JvOnZvaWQgMH0sZz1mLm5leHQoKSloLkJvPWcudmFsdWUsR2IoYSxmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24obixwKXtpZihuIT09Ri5ELm5jJiZuIT09Ri5ELllnKXt2YXIgcT1RbyhwKSxyPWwuQm8sdD1OdW1iZXIoZCksdT15bSgpLHY9em0oKTt0PXQ9PT12b2lkIDA/MDp0O3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkuZGVmYXVsdChuLHEscix1LHYsdCxBbCl9fX0oaCkpfQpmdW5jdGlvbiBVbyhhKXtBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM9ITA7dmFyIGI9YVtGLkQubmNdO2lmKGIpe3ZhciBjPUFycmF5LmlzQXJyYXkoYik/YjpbYl07aWYoIWMuaW5jbHVkZXMoem0oKSkmJiFjLmluY2x1ZGVzKHltKCkpKXJldHVybn1HYihhLGZ1bmN0aW9uKGQsZSl7c3dpdGNoKGQpe2Nhc2UgImFkX3N0b3JhZ2UiOmNhc2UgImFuYWx5dGljc19zdG9yYWdlIjpjYXNlICJhZF91c2VyX2RhdGEiOmNhc2UgImFkX3BlcnNvbmFsaXphdGlvbiI6YnJlYWs7ZGVmYXVsdDpyZXR1cm59QWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzPSEwO0FsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2RdPWU9PT0iZ3JhbnRlZCI/MzoyfSl9CmZ1bmN0aW9uIFZvKGEsYil7eW8oKTtaaygxNiwhMCk7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPVBvKGQpO3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkudXBkYXRlKGMsZSxBbCl9KTtHbChiLmV2ZW50SWQsYi5wcmlvcml0eUlkKX1mdW5jdGlvbiBXbyhhKXthLmhhc093blByb3BlcnR5KCJhbGwiKSYmKEFsLnNlbGVjdGVkQWxsQ29yZVBsYXRmb3JtU2VydmljZXM9ITAsR2IoTm8sZnVuY3Rpb24oYil7QWwuY29yZVBsYXRmb3JtU2VydmljZXNbYl09YS5hbGw9PT0iZ3JhbnRlZCI7QWwudXNlZENvcmVQbGF0Zm9ybVNlcnZpY2VzPSEwfSkpO0diKGEsZnVuY3Rpb24oYixjKXtiIT09ImFsbCImJihBbC5jb3JlUGxhdGZvcm1TZXJ2aWNlc1tiXT1jPT09ImdyYW50ZWQiLEFsLnVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlcz0hMCl9KX0KZnVuY3Rpb24gWG8oYSl7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTtyZXR1cm4gYS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiBZbygpe3ZhciBhPVpvO0FycmF5LmlzQXJyYXkoYSl8fChhPVthXSk7cmV0dXJuIGEuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiAkbyhhLGIpe0ZsKGEsYil9ZnVuY3Rpb24gYXAoYSxiKXtJbChhLGIpfWZ1bmN0aW9uIGJwKGEsYil7SGwoYSxiKX1mdW5jdGlvbiBjcCgpe3ZhciBhPVtGLkQua2EsRi5ELlhhLEYuRC5tYV07dGwoKS53YWl0Rm9yVXBkYXRlKGEsNTAwLEFsKX1mdW5jdGlvbiBkcChhKXtmb3IodmFyIGI9bShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTt0bCgpLmNsZWFyVGltZW91dChkLHZvaWQgMCxBbCl9R2woKX0KZnVuY3Rpb24gZXAoYSl7Zm9yKHZhciBiPXt9LGM9bShhLnNwbGl0KCJ8IikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWJbZC52YWx1ZV09ITA7cmV0dXJuIGJ9O3ZhciBmcD1PYmplY3QuZnJlZXplKFtGLkQua2EsRi5ELm1hXSk7CnZhciBocD1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz1tKE9iamVjdC5rZXlzKGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtiW2dwW2VdfHxlXT1hW2VdfXJldHVybiBifSxpcD1mdW5jdGlvbihhKXtyZXR1cm4hIVEoYSxILkoudmQpJiZSKGEsRi5ELlBkKT09PSIxIiYmUihhLEYuRC5IZCkhPT0iMSImJlhvKGZwKX0sanA9ZnVuY3Rpb24oYSxiKXtpZighaXAoYSkpcmV0dXJuITE7dmFyIGM9UWMoKXx8T2MoKT81ODo1NyxkPU5tKGMsaHAoYikpO1RsKGQsYSxjKTtZbih7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKyImZm10PTgiLHZvaWQgMCx7UWc6ITAsbWV0aG9kOiJHRVQifSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtaYyhkKyImZm10PTMiKX0pO3JldHVybiEwfSxrcD17fSxncD0oa3AuZGw9InVybCIsa3AuZHI9CiJyZWYiLGtwLnVpZD0idXNlcklkIixrcCk7dmFyIGxwPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD1mdW5jdGlvbihlKXtiW2VdIT1udWxsJiZiW2VdIT09IiImJihjW2VdPWJbZV0pfTtNKDQ3NCkmJmQoIl9nc2lkIik7UihhLEYuRC5IZCkhPT0iMSImJihkKCJnY2xpZCIpLGQoImdjbHNyYyIpLGQoImF1aWQiKSxkKCJkY2xpZCIpKTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGgpcmV0dXJuIGQoImd0bSIpLGN9Owp2YXIgbXA9e30sbnA9KG1wW0YuRC5zYV09ImdjdSIsbXBbRi5ELlNiXT0iZ2NsZ2IiLG1wW0YuRC5sYl09ImdjbGF3IixtcFtGLkQuemZdPSJnYWRfc291cmNlIixtcFtGLkQuQWZdPSJnYWRfc291cmNlX3NyYyIsbXBbRi5ELkRkXT0iZ2NsaWQiLG1wW0YuRC5BbF09ImdjbHNyYyIsbXBbRi5ELkJmXT0iZ2JyYWlkIixtcFtGLkQuRWVdPSJ3YnJhaWQiLG1wW0YuRC5FZF09ImF1aWQiLG1wW0YuRC5CbF09ImFlIixtcFtGLkQuSGFdPW51bGwsbXBbRi5ELkRsXT0icm5kIixtcFtGLkQuSGRdPSJuY2wiLG1wW0YuRC5OZl09ImdjbGRjIixtcFtGLkQuS2RdPSJkY2xpZCIsbXBbRi5ELlZjXT0iZWRpZCIsbXBbRi5ELlViXT0iZW4iLG1wW0YuRC5LZV09ImdkcHIiLG1wW0YuRC5YY109ImdkaWQiLG1wW0YuRC5UYV09bnVsbCxtcFtGLkQuTGVdPSJfbmciLG1wW0YuRC50aF09ImdwcF9zaWQiLG1wW0YuRC51aF09ImdwcCIsbXBbRi5ELlZmXT0iX3R1IixtcFtGLkQuUWxdPSJndG1fdXAiLG1wW0YuRC5NZV09CiJmcm0iLG1wW0YuRC5QZF09ImxwcyIsbXBbRi5ELkxpXT0iZGlkIixtcFtGLkQuVWxdPSJuYXZ0IixtcFtGLkQuemFdPSJkbCIsbXBbRi5ELlVhXT0iZHIiLG1wW0YuRC5NYl09ImR0IixtcFtGLkQuYm1dPSJzY3JzcmMiLG1wW0YuRC5aZl09ImdhX3VpZCIsbXBbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IixtcFtGLkQuUWldPSJ0ZXN0b25seSIsbXBbRi5ELnJxXT0idV90eiIsbXBbRi5ELlBlXT0idG9wIixtcFtGLkQuUWVdPSJ0aWQiLG1wW0YuRC5mYl09InVpZCIsbXBbRi5ELmtnXT0idXNfcHJpdmFjeSIsbXBbRi5ELmVkXT1udWxsLG1wW0YuRC5kZV09Im5wYSIsbXApO2Z1bmN0aW9uIG9wKGEsYil7aWYoYiE9bnVsbCYmYiE9PSIiKXt2YXIgYz1iPT09ITA/IjEiOmI9PT0hMT8iMCI6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSk7aWYoU2IoYSwiXyYiKSlyZXR1cm57a2V5OmEuc3Vic3RyaW5nKDIpLHZhbHVlOmN9O3ZhciBkPW5wW2FdO2lmKGQhPT1udWxsKXJldHVybiBkP3trZXk6ZCx2YWx1ZTpjfTp7a2V5OkFiKGIpPyJlcG4uIithOiJlcC4iK2EsdmFsdWU6Y319fTtmdW5jdGlvbiBwcChhKXthPWE9PT12b2lkIDA/W106YTtyZXR1cm4geGooYSkuam9pbigifiIpfTtmdW5jdGlvbiBxcCgpe3ZhciBhPVtdLGI9TnVtYmVyKCcnKXx8MCxjPU51bWJlcignJyl8fDA7Y3x8KGM9Yi8xMDApO3ZhciBkPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7cmV0dXJuIHR9KCk7YS5wdXNoKHt1azoyMjgsc3R1ZHlJZDoyMjgsZXhwZXJpbWVudElkOjEwNTE3NzE1NCxjb250cm9sSWQ6MTA1MTc3MTU1LGNvbnRyb2xJZDI6MTA1MjU1MjQ1LHByb2JhYmlsaXR5OmMsYWN0aXZlOmQsWmU6MH0pO3ZhciBlPU51bWJlcignJyl8fAowLGY9TnVtYmVyKCcnKXx8MDtmfHwoZj1lLzEwMCk7dmFyIGc9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjIzNSxzdHVkeUlkOjIzNSxleHBlcmltZW50SWQ6MTA1MzU3MTUwLGNvbnRyb2xJZDoxMDUzNTcxNTEsY29udHJvbElkMjowLHByb2JhYmlsaXR5OmYsYWN0aXZlOmcsWmU6MX0pO3ZhciBoPU51bWJlcignJyl8fDAsbD1OdW1iZXIoJycpfHwKMDtsfHwobD1oLzEwMCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjI2NixzdHVkeUlkOjI2NixleHBlcmltZW50SWQ6MTE1NzE4NTI5LGNvbnRyb2xJZDoxMTU3MTg1MzAsY29udHJvbElkMjoxMTU3MTg1MzEscHJvYmFiaWxpdHk6bCxhY3RpdmU6bixaZTowfSk7dmFyIHA9TnVtYmVyKCcnKXx8MCxxPU51bWJlcignJyl8fAowO3F8fChxPXAvMTAwKTt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PSExO3JldHVybiB0fSgpO2EucHVzaCh7dWs6MjY3LHN0dWR5SWQ6MjY3LGV4cGVyaW1lbnRJZDoxMTU3MTg1MjYsY29udHJvbElkOjExNTcxODUyNyxjb250cm9sSWQyOjExNTcxODUyOCxwcm9iYWJpbGl0eTpxLGFjdGl2ZTpyLFplOjB9KTtyZXR1cm4gYX07dmFyIHJwPWZ1bmN0aW9uKCl7dGhpcy5LPXt9O3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5SPW5ldyBTZXR9LHhwPWZ1bmN0aW9uKGEsYil7dmFyIGM9YixkPWI9YS5OW2Muc3R1ZHlJZF0/bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLHthY3RpdmU6ITB9KTpjLGU9Rmk7ZC5jb250cm9sSWQyJiZkLnByb2JhYmlsaXR5PD0uMjV8fChkPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sZCx7Y29udHJvbElkMjowfSkpO2Uuc3R1ZGllc1tkLnN0dWR5SWRdPWQ7Yi5mb2N1c2VkJiYoYS5LW2Iuc3R1ZHlJZF09ITApO2lmKGIuWmU9PT0xKXt2YXIgZj1iLnN0dWR5SWQ7c3AoYSx0cCgpLGYpO3VwKGEsZik/dGoodWosZik6dnAoYSxmKT91ai5LW2ZdPSEwOndwKGEsZikmJih1ai5IW2ZdPSEwKX1lbHNlIGlmKGIuWmU9PT0wKXt2YXIgZz1iLnN0dWR5SWQ7c3AoYSxhLkgsZyk7dXAoYSxnKT90aih1aixnKTp2cChhLGcpP3VqLktbZ109ITA6d3AoYSxnKSYmCih1ai5IW2ddPSEwKX19LHNwPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPUZpO2lmKGUuc3R1ZGllc1tjXSl7dmFyIGY9ZS5zdHVkaWVzW2NdLGc9Zi5leHBlcmltZW50SWQsaD1mLnByb2JhYmlsaXR5O2lmKCEoYi5zdHVkaWVzfHx7fSlbY10pe3ZhciBsPWIuc3R1ZGllc3x8e307bFtjXT0hMDtiLnN0dWRpZXM9bDtpZighZS5zdHVkaWVzW2NdLmFjdGl2ZSlpZihlLnN0dWRpZXNbY10ucHJvYmFiaWxpdHk+LjUpSWkoYixnLGMpO2Vsc2UgaWYoIShoPD0wfHxoPjEpKXt2YXIgbj12b2lkIDA7aWYoZCl7dmFyIHA9Q2koZCsifiIrYyk7aWYocD09PSJlMiIpbj0tMTtlbHNle2Zvcih2YXIgcT1uZXcgVWludDhBcnJheShwKSxyPUJpZ0ludCgwKSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpcj1yPDxCaWdJbnQoOCl8QmlnSW50KHUudmFsdWUpO249TnVtYmVyKHIlQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSl9fUdpLnNrKGIsYyxuKX19fWlmKCFhLktbY10pe3ZhciB2PQpOaShiLGMpO3YmJndqLkguSy5hZGQodil9fSx0cD1mdW5jdGlvbigpe3JldHVybiBvbShqbS5iYS5UcSx7fSl9LHVwPWZ1bmN0aW9uKGEsYil7dmFyIGM9dHAoKTtyZXR1cm4gS2koYyxiKXx8S2koYS5ILGIpfSx2cD1mdW5jdGlvbihhLGIpe3ZhciBjPXRwKCk7cmV0dXJuIExpKGMsYil8fExpKGEuSCxiKX0sd3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz10cCgpO3JldHVybiBNaShjLGIpfHxNaShhLkgsYil9LHlwOwpmdW5jdGlvbiB6cCgpe2lmKCF5cCl7dmFyIGE9eXA9bmV3IHJwLGIsYyxkPSgoYj1BKT09bnVsbD92b2lkIDA6KGM9Yi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmMuaGFzaCl8fCIiO2lmKGRbMF09PT0iIyImJmRbMV09PT0iXyImJmRbMl09PT0idCImJmRbM109PT0iZSImJmRbNF09PT0iPSIpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO2lmKGUpZm9yKHZhciBmPW0oZS5zcGxpdCgifiIpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9TnVtYmVyKGcudmFsdWUpO2gmJihhLk5baF09ITAsdGoodWosaCkpfX1mb3IodmFyIGw9bShxcCgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl4cChhLG4udmFsdWUpO2Zvcih2YXIgcD1bXSxxPW0oTWYoNTYpfHxbXSkscj1xLm5leHQoKTshci5kb25lO3I9cS5uZXh0KCkpe3ZhciB0PXIudmFsdWUsdT17c3R1ZHlJZDp0WzFdLGFjdGl2ZTohIXRbMl0scHJvYmFiaWxpdHk6dFszXXx8MCxleHBlcmltZW50SWQ6dFs0XXx8CjAsY29udHJvbElkOnRbNV18fDAsY29udHJvbElkMjp0WzZdfHwwfSx2PTA7c3dpdGNoKHRbN10pe2Nhc2UgMjp2PTE7YnJlYWs7Y2FzZSAzOnY9MjticmVhaztjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDA6dj0wfXZhciB4O2E6c3dpdGNoKHUuc3R1ZHlJZCl7Y2FzZSA1Njc6Y2FzZSA0NjI6eD0hMDticmVhayBhO2RlZmF1bHQ6eD0hMX12YXIgeT1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHUse1plOnYsZm9jdXNlZDp4fSk7KHkuYWN0aXZlfHx5LnByb2JhYmlsaXR5Pi41JiZ5LmV4cGVyaW1lbnRJZHx8eS5leHBlcmltZW50SWQmJnkuY29udHJvbElkKSYmcC5wdXNoKHkpfWZvcih2YXIgej1tKHApLEM9ei5uZXh0KCk7IUMuZG9uZTtDPXoubmV4dCgpKXhwKGEsQy52YWx1ZSl9fQpmdW5jdGlvbiBBcChhLGIpe3pwKCk7dmFyIGM9eXA7c3AoYyx0cCgpLGEsYik7dXAoYyxhKT90aih1aixhKTp2cChjLGEpP3VqLktbYV09ITA6d3AoYyxhKSYmKHVqLkhbYV09ITApfWZ1bmN0aW9uIEJwKCl7enAoKTt2YXIgYT15cCxiPXVwKGEsNTY3KTtpZihhLktbNTY3XSl7dmFyIGMsZD10cCgpOyhjPU5pKGQsNTY3KXx8TmkoYS5ILDU2NykpJiZhLlIuYWRkKGMpfXJldHVybiBifWZ1bmN0aW9uIENwKGEpe3pwKCk7dmFyIGI9bmV3IFNldCh5cC5SKTtpZihhKWZvcih2YXIgYz1RKGEsSC5KLkNoKXx8W10sZD1tKGMpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWIuYWRkKGUudmFsdWUpO3JldHVybiBwcChbXS5jb25jYXQodyhiKSkpfTtmdW5jdGlvbiBEcChhKXt2YXIgYj1hLmxvY2F0aW9uLmhyZWY7aWYoYT09PWEudG9wKXJldHVybnt1cmw6YixJczohMH07dmFyIGM9ITEsZD1hLmRvY3VtZW50O2QmJmQucmVmZXJyZXImJihiPWQucmVmZXJyZXIsYS5wYXJlbnQ9PT1hLnRvcCYmKGM9ITApKTt2YXIgZT1hLmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztpZihlKXt2YXIgZj1lW2UubGVuZ3RoLTFdLGc7ZiYmKChnPWIpPT1udWxsP3ZvaWQgMDpnLmluZGV4T2YoZikpPT09LTEmJihjPSExLGI9Zil9cmV0dXJue3VybDpiLElzOmN9fWZ1bmN0aW9uIEVwKGEpe3RyeXt2YXIgYjtpZihiPSEhYSYmYS5sb2NhdGlvbi5ocmVmIT1udWxsKWE6e3RyeXtIbihhLmZvbyk7Yj0hMDticmVhayBhfWNhdGNoKGMpe31iPSExfXJldHVybiBifWNhdGNoKGMpe3JldHVybiExfX1mdW5jdGlvbiBGcCgpe2Zvcih2YXIgYT1BLGI9YTthJiZhIT09YS5wYXJlbnQ7KWE9YS5wYXJlbnQsRXAoYSkmJihiPWEpO3JldHVybiBifTt2YXIgR3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YS5wcm90b3R5cGU7dmFyIGQ9bmV3IGM7YS5hcHBseShkLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7cmV0dXJuIGR9LEhwPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPW51bGw7YygpfX19O2Z1bmN0aW9uIElwKGEsYil7aWYoYSlmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmYihhW2NdLGMsYSl9O2Z1bmN0aW9uIEpwKGEpe3ZhciBiPWEuc3BsaXQoL1s/I10vKSxjPS9bP10vLnRlc3QoYSk/Ij8iK2JbMV06IiI7cmV0dXJue3prOmJbMF0scGFyYW1zOmMsZnJhZ21lbnQ6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19ZnVuY3Rpb24gS3AoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gamMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIGpjKGMpfQpmdW5jdGlvbiBMcChhLGIsYyxkKXtmdW5jdGlvbiBlKGcsaCl7ZyE9bnVsbCYmKEFycmF5LmlzQXJyYXkoZyk/Zy5mb3JFYWNoKGZ1bmN0aW9uKGwpe3JldHVybiBlKGwsaCl9KTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfXZhciBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBlKGdbMV0sZ1swXSl9KTpkLmZvckVhY2goZSk7cmV0dXJuIGpjKGErYitjKX1mdW5jdGlvbiBNcChhLGIpe3ZhciBjPUpwKGtjKGEpLnRvU3RyaW5nKCkpLGQ9Yy56ay5zbGljZSgtMSk9PT0iLyI/IiI6Ii8iLGU9Yy56aytkK2VuY29kZVVSSUNvbXBvbmVudChiKTtyZXR1cm4gamMoZStjLnBhcmFtcytjLmZyYWdtZW50KX07dmFyIE5wPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEsZD0wO2Q8NTA7KytkKXt2YXIgZTt0cnl7ZT0hKCFjLmZyYW1lc3x8IWMuZnJhbWVzW2JdKX1jYXRjaChoKXtlPSExfWlmKGUpcmV0dXJuIGM7dmFyIGY7YTp7dHJ5e3ZhciBnPWMucGFyZW50O2lmKGcmJmchPT1jKXtmPWc7YnJlYWsgYX19Y2F0Y2goaCl7fWY9bnVsbH1pZighKGM9ZikpYnJlYWt9cmV0dXJuIG51bGx9LE9wPWZ1bmN0aW9uKGEpe3ZhciBiPUE7aWYoYi50b3A9PWIpcmV0dXJuIDA7aWYoYT09PXZvaWQgMD8wOmEpe3ZhciBjPWIubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zO2lmKGMpcmV0dXJuIGNbYy5sZW5ndGgtMV09PWIubG9jYXRpb24ub3JpZ2luPzE6Mn1yZXR1cm4gRXAoYi50b3ApPzE6Mn0sUHA9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiaW1nIil9O2Z1bmN0aW9uIFFwKGEpe2Zvcih2YXIgYj1bXSxjPUIuY29va2llLnNwbGl0KCI7IiksZD1uZXcgUmVnRXhwKCJeXFxzKiIrKGF8fCJfZ2FjIikrIl8oVUEtXFxkKy1cXGQrKT1cXHMqKC4rPylcXHMqJCIpLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXS5tYXRjaChkKTtmJiZiLnB1c2goe3VkOmZbMV0sdmFsdWU6ZlsyXSx0aW1lc3RhbXA6TnVtYmVyKGZbMl0uc3BsaXQoIi4iKVsxXSl8fDB9KX1iLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50aW1lc3RhbXAtZy50aW1lc3RhbXB9KTtyZXR1cm4gYn0KZnVuY3Rpb24gUnAoYSxiKXt2YXIgYz1RcChhKSxkPXt9O2lmKCFjfHwhYy5sZW5ndGgpcmV0dXJuIGQ7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0udmFsdWUuc3BsaXQoIi4iKTtpZighKGZbMF0hPT0iMSJ8fGImJmYubGVuZ3RoPDN8fCFiJiZmLmxlbmd0aCE9PTMpJiZOdW1iZXIoZlsxXSkpe2RbY1tlXS51ZF18fChkW2NbZV0udWRdPVtdKTt2YXIgZz17dmVyc2lvbjpmWzBdLHRpbWVzdGFtcDpOdW1iZXIoZlsxXSkqMUUzLGdjbGlkOmZbMl19O2ImJmYubGVuZ3RoPjMmJihnLmxhYmVscz1mLnNsaWNlKDMpKTtkW2NbZV0udWRdLnB1c2goZyl9fXJldHVybiBkfTtmdW5jdGlvbiBTcChhKXtyZXR1cm4gYS5vcmlnaW4hPT0ibnVsbCJ9O3ZhciBUcD17fSxVcD0oVHAuaz17bmE6L15bXHctXSskL30sVHAuYj17bmE6L15bXHctXSskLyxuazohMH0sVHAuaT17bmE6L15bMS05XVxkKiQvfSxUcC5oPXtuYTovXlxkKyQvfSxUcC50PXtuYTovXlsxLTldXGQqJC99LFRwLmQ9e25hOi9eW0EtWmEtejAtOV8tXSskL30sVHAuaj17bmE6L15cZCskL30sVHAudT17bmE6L15bMS05XVxkKiQvfSxUcC5sPXtuYTovXlswMV0kL30sVHAubz17bmE6L15bMS05XVxkKiQvfSxUcC5nPXtuYTovXlswMV0kL30sVHAucz17bmE6L14uKyQvfSxUcC5tPXtuYTovXlswMV0kL30sVHApO3ZhciBWcD17fSxacD0oVnBbNV09e2ppOnsyOldwfSxaajoiMiIsUmg6WyJrIiwiaSIsImIiLCJ1Il19LFZwWzRdPXtqaTp7MjpXcCxHQ0w6WHB9LFpqOiIyIixSaDpbImsiLCJpIiwiYiIsIm0iXX0sVnBbMl09e2ppOntHUzI6V3AsR1MxOllwfSxaajoiR1MyIixSaDoic29ndGpsaGQiLnNwbGl0KCIiKX0sVnApO2Z1bmN0aW9uICRwKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF07Yz09bnVsbHx8YyhlKTtpZihlKXt2YXIgZj1kLmppW2VdO2lmKGYpcmV0dXJuIGYoYSxiKX19fQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWEuc3BsaXQoIi4iKTtpZihjLmxlbmd0aD09PTMpe3ZhciBkPWNbMl07aWYoZC5pbmRleE9mKCIkIik9PT0tMSYmZC5pbmRleE9mKCIlMjQiKSE9PS0xKXRyeXtkPWRlY29kZVVSSUNvbXBvbmVudChkKX1jYXRjaCh0KXt9dmFyIGU9e30sZj1acFtiXTtpZihmKXtmb3IodmFyIGc9Zi5SaCxoPW0oZC5zcGxpdCgiJCIpKSxsPWgubmV4dCgpOyFsLmRvbmU7bD1oLm5leHQoKSl7dmFyIG49bC52YWx1ZSxwPW5bMF07aWYoZy5pbmRleE9mKHApIT09LTEpdHJ5e3ZhciBxPWRlY29kZVVSSUNvbXBvbmVudChuLnN1YnN0cmluZygxKSkscj1VcFtwXTtyJiYoci5uaz8oZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2gocSkpOmVbcF09cSl9Y2F0Y2godCl7fX1yZXR1cm4gZX19fWZ1bmN0aW9uIGFxKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXJldHVybltkLlpqLGN8fCIxIixicShhLGIpXS5qb2luKCIuIil9CmZ1bmN0aW9uIGJxKGEsYil7dmFyIGM9WnBbYl07aWYoYyl7Zm9yKHZhciBkPVtdLGU9bShjLlJoKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPVVwW2ddO2lmKGgpe3ZhciBsPWFbZ107aWYobCE9PXZvaWQgMClpZihoLm5rJiZBcnJheS5pc0FycmF5KGwpKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKWQucHVzaChlbmNvZGVVUklDb21wb25lbnQoIiIrZytwLnZhbHVlKSk7ZWxzZSBkLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCIiK2crbCkpfX1yZXR1cm4gZC5qb2luKCIkIil9fWZ1bmN0aW9uIFhwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKTtiLnNoaWZ0KCk7dmFyIGM9Yi5zaGlmdCgpLGQ9Yi5zaGlmdCgpLGU9e307cmV0dXJuIGUuaz1kLGUuaT1jLGUuYj1iLGV9CmZ1bmN0aW9uIFlwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKS5zbGljZSgyKTtpZighKGIubGVuZ3RoPDV8fGIubGVuZ3RoPjcpKXt2YXIgYz17fTtyZXR1cm4gYy5zPWJbMF0sYy5vPWJbMV0sYy5nPWJbMl0sYy50PWJbM10sYy5qPWJbNF0sYy5sPWJbNV0sYy5oPWJbNl0sY319O2Z1bmN0aW9uIGNxKGEsYixjLGQpe3ZhciBlO3JldHVybihlPWRxKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09YX0sYixjLGQpW2FdKSE9bnVsbD9lOltdfWZ1bmN0aW9uIGRxKGEsYixjLGQpe3ZhciBlO2lmKGVxKGQpKXtmb3IodmFyIGY9e30sZz1TdHJpbmcoYnx8ZnEoKSkuc3BsaXQoIjsiKSxoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBsPWdbaF0uc3BsaXQoIj0iKSxuPWxbMF0udHJpbSgpO2lmKG4mJmEobikpe3ZhciBwPWwuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtwJiZjJiYocD1kZWNvZGVVUklDb21wb25lbnQocCkpO3ZhciBxPXZvaWQgMCxyPXZvaWQgMDsoKHE9Zilbcj1uXXx8KHFbcl09W10pKS5wdXNoKHApfX1lPWZ9ZWxzZSBlPXt9O3JldHVybiBlfQpmdW5jdGlvbiBncShhLGIsYyxkLGUpe2lmKGVxKGUpKXt2YXIgZj1ocShhLGQsZSk7aWYoZi5sZW5ndGg9PT0xKXJldHVybiBmWzBdO2lmKGYubGVuZ3RoIT09MCl7Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLkpyfSxiKTtpZihmLmxlbmd0aD09PTEpcmV0dXJuIGZbMF07Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLldzfSxjKTtyZXR1cm4gZlswXX19fWZ1bmN0aW9uIGpxKGEsYixjLGQpe3ZhciBlPWZxKCksZj1BO1NwKGYpJiYoZi5kb2N1bWVudC5jb29raWU9YSk7dmFyIGc9ZnEoKTtyZXR1cm4gZSE9PWd8fGMhPT12b2lkIDAmJmNxKGIsZywhMSxkKS5pbmRleE9mKGMpPj0wfQpmdW5jdGlvbiBrcShhLGIsYyxkKXtmdW5jdGlvbiBlKHgseSx6KXtpZih6PT1udWxsKXJldHVybiBkZWxldGUgaFt5XSx4O2hbeV09ejtyZXR1cm4geCsiOyAiK3krIj0iK3p9ZnVuY3Rpb24gZih4LHkpe2lmKHk9PW51bGwpcmV0dXJuIHg7aFt5XT0hMDtyZXR1cm4geCsiOyAiK3l9aWYoIWVxKGMuTWMpKXJldHVybiAyO3ZhciBnO2I9PW51bGw/Zz1hKyI9ZGVsZXRlZDsgZXhwaXJlcz0iKyhuZXcgRGF0ZSgwKSkudG9VVENTdHJpbmcoKTooYy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSksYj1scShiKSxnPWErIj0iK2IpO3ZhciBoPXt9O2c9ZShnLCJwYXRoIixjLnBhdGgpO3ZhciBsO2MuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bD1jLmV4cGlyZXMudG9VVENTdHJpbmcoKTpjLmV4cGlyZXMhPW51bGwmJihsPSIiK2MuZXhwaXJlcyk7Zz1lKGcsImV4cGlyZXMiLGwpO2c9ZShnLCJtYXgtYWdlIixjLk9zKTtnPWUoZywic2FtZXNpdGUiLGMucnQpO2Muc2VjdXJlJiYKKGc9ZihnLCJzZWN1cmUiKSk7dmFyIG49Yy5kb21haW47aWYobiYmbi50b0xvd2VyQ2FzZSgpPT09ImF1dG8iKXtmb3IodmFyIHA9bXEoKSxxPXZvaWQgMCxyPSExLHQ9MDt0PHAubGVuZ3RoOysrdCl7dmFyIHU9cFt0XSE9PSJub25lIj9wW3RdOnZvaWQgMCx2PWUoZywiZG9tYWluIix1KTt2PWYodixjLmZsYWdzKTt0cnl7ZCYmZChhLGgpfWNhdGNoKHgpe3E9eDtjb250aW51ZX1yPSEwO2lmKCFucSh1LGMucGF0aCkmJmpxKHYsYSxiLGMuTWMpKXJldHVybiAwfWlmKHEmJiFyKXRocm93IHE7cmV0dXJuIDF9biYmbi50b0xvd2VyQ2FzZSgpIT09Im5vbmUiJiYoZz1lKGcsImRvbWFpbiIsbikpO2c9ZihnLGMuZmxhZ3MpO2QmJmQoYSxoKTtyZXR1cm4gbnEobixjLnBhdGgpPzE6anEoZyxhLGIsYy5NYyk/MDoxfWZ1bmN0aW9uIG9xKGEsYixjKXtjLnBhdGg9PW51bGwmJihjLnBhdGg9Ii8iKTtjLmRvbWFpbnx8KGMuZG9tYWluPSJhdXRvIik7cmV0dXJuIGtxKGEsYixjKX0KZnVuY3Rpb24gaXEoYSxiLGMpe2Zvcih2YXIgZD1bXSxlPVtdLGYsZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YihoKTtsPT09Yz9kLnB1c2goaCk6Zj09PXZvaWQgMHx8bDxmPyhlPVtoXSxmPWwpOmw9PT1mJiZlLnB1c2goaCl9cmV0dXJuIGQubGVuZ3RoPjA/ZDplfWZ1bmN0aW9uIGhxKGEsYixjKXtmb3IodmFyIGQ9W10sZT1jcShhLHZvaWQgMCx2b2lkIDAsYyksZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdLnNwbGl0KCIuIiksaD1nLnNoaWZ0KCk7aWYoIWJ8fCFofHxiLmluZGV4T2YoaCkhPT0tMSl7dmFyIGw9Zy5zaGlmdCgpO2lmKGwpe3ZhciBuPWwuc3BsaXQoIi0iKTtkLnB1c2goe0JyOmVbZl0sQ3I6Zy5qb2luKCIuIiksSnI6TnVtYmVyKG5bMF0pfHwxLFdzOk51bWJlcihuWzFdKXx8MX0pfX19cmV0dXJuIGR9ZnVuY3Rpb24gbHEoYSl7YSYmYS5sZW5ndGg+MTIwMCYmKGE9YS5zdWJzdHJpbmcoMCwxMjAwKSk7cmV0dXJuIGF9CnZhciBwcT0vXih3d3dcLik/Z29vZ2xlKFwuY29tPyk/KFwuW2Etel17Mn0pPyQvLHFxPS8oXnxcLilkb3VibGVjbGlja1wubmV0JC9pO2Z1bmN0aW9uIG5xKGEsYil7cmV0dXJuIGEhPT12b2lkIDAmJihxcS50ZXN0KEEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUpfHxiPT09Ii8iJiZwcS50ZXN0KGEpKX1mdW5jdGlvbiBycShhKXtpZighYSlyZXR1cm4gMTt2YXIgYj1hO1lmKDQpJiZhPT09Im5vbmUiJiYoYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTtiPWIuaW5kZXhPZigiLiIpPT09MD9iLnN1YnN0cmluZygxKTpiO3JldHVybiBiLnNwbGl0KCIuIikubGVuZ3RofWZ1bmN0aW9uIHNxKGEpe2lmKCFhfHxhPT09Ii8iKXJldHVybiAxO2FbMF0hPT0iLyImJihhPSIvIithKTthW2EubGVuZ3RoLTFdIT09Ii8iJiYoYSs9Ii8iKTtyZXR1cm4gYS5zcGxpdCgiLyIpLmxlbmd0aC0xfQpmdW5jdGlvbiB0cShhLGIpe3ZhciBjPSIiK3JxKGEpLGQ9c3EoYik7ZD4xJiYoYys9Ii0iK2QpO3JldHVybiBjfQp2YXIgZnE9ZnVuY3Rpb24oKXt2YXIgYT1BO3JldHVybiBTcChhKT9hLmRvY3VtZW50LmNvb2tpZToiIn0sZXE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJllmKDUpPyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gRGwoYikmJkJsKGIpfSk6ITB9LG1xPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT00KXt2YXIgYz1iW2IubGVuZ3RoLTFdO2lmKE51bWJlcihjKS50b1N0cmluZygpPT09YylyZXR1cm5bIm5vbmUiXX1mb3IodmFyIGQ9Yi5sZW5ndGgtMjtkPj0wO2QtLSlhLnB1c2goYi5zbGljZShkKS5qb2luKCIuIikpO3ZhciBlPUEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWU7cXEudGVzdChlKXx8cHEudGVzdChlKXx8YS5wdXNoKCJub25lIik7cmV0dXJuIGF9O2Z1bmN0aW9uIHVxKGEsYixjLGQpe3ZhciBlLGY9TnVtYmVyKGEucGQhPW51bGw/YS5wZDp2b2lkIDApO2YhPT0wJiYoZT1uZXcgRGF0ZSgoYnx8TmIoKSkrMUUzKihmfHw3Nzc2RTMpKSk7cmV0dXJue3BhdGg6YS5wYXRoLGRvbWFpbjphLmRvbWFpbixmbGFnczphLmZsYWdzLGVuY29kZTohIWMsZXhwaXJlczplLE1jOmR9fTt2YXIgdnE9bmV3IE1hcChbWzUsImFkX3N0b3JhZ2UiXSxbNCxbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXV0sWzIsImFuYWx5dGljc19zdG9yYWdlIl1dKTtmdW5jdGlvbiB3cShhLGIsYyl7aWYoWnBbYl0pe2Zvcih2YXIgZD1bXSxlPWNxKGEsdm9pZCAwLHZvaWQgMCx2cS5nZXQoYikpLGY9bShlKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9JHAoZy52YWx1ZSxiLGMpO2gmJmQucHVzaCh4cShoKSl9cmV0dXJuIGR9fQpmdW5jdGlvbiB5cShhKXt2YXIgYj16cTtpZihacFsyXSl7Zm9yKHZhciBjPXt9LGQ9ZHEoYSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSksZT1PYmplY3Qua2V5cyhkKS5zb3J0KCksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9bShkW2hdKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9JHAobi52YWx1ZSwyLGIpO3AmJihjW2hdfHwoY1toXT1bXSksY1toXS5wdXNoKHhxKHApKSl9cmV0dXJuIGN9fWZ1bmN0aW9uIEFxKGEsYixjLGQsZSl7ZD1kfHx7fTt2YXIgZj10cShkLmRvbWFpbixkLnBhdGgpLGc9YXEoYixjLGYpO2lmKCFnKXJldHVybiAxO3ZhciBoPXVxKGQsZSx2b2lkIDAsdnEuZ2V0KGMpKTtyZXR1cm4gb3EoYSxnLGgpfWZ1bmN0aW9uIEJxKGEsYil7dmFyIGM9Yi5uYTtyZXR1cm4gdHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoYSk6Yy50ZXN0KGEpfQpmdW5jdGlvbiB4cShhKXtmb3IodmFyIGI9bShPYmplY3Qua2V5cyhhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17QWc6dm9pZCAwfSxjPWIubmV4dCgpKXt2YXIgZT1jLnZhbHVlLGY9YVtlXTtkLkFnPVVwW2VdO2QuQWc/ZC5BZy5uaz9hW2VdPUFycmF5LmlzQXJyYXkoZik/Zi5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBCcShoLGcuQWcpfX0oZCkpOnZvaWQgMDp0eXBlb2YgZj09PSJzdHJpbmciJiZCcShmLGQuQWcpfHwoYVtlXT12b2lkIDApOmFbZV09dm9pZCAwfXJldHVybiBhfTt2YXIgQ3E7ZnVuY3Rpb24gRHEoKXtmdW5jdGlvbiBhKGcpe2MoZy50YXJnZXR8fGcuc3JjRWxlbWVudHx8e30pfWZ1bmN0aW9uIGIoZyl7ZChnLnRhcmdldHx8Zy5zcmNFbGVtZW50fHx7fSl9dmFyIGM9RXEsZD1GcSxlPUdxKCk7aWYoIWUuaW5pdCl7JGMoQiwibW91c2Vkb3duIixhKTskYyhCLCJrZXl1cCIsYSk7JGMoQiwic3VibWl0IixiKTt2YXIgZj1IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdDtIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbigpe2QodGhpcyk7Zi5jYWxsKHRoaXMpfTtlLmluaXQ9ITB9fWZ1bmN0aW9uIEhxKGEsYixjLGQsZSl7dmFyIGY9e2NhbGxiYWNrOmEsZG9tYWluczpiLGZyYWdtZW50OmM9PT0yLHBsYWNlbWVudDpjLGZvcm1zOmQsc2FtZUhvc3Q6ZX07R3EoKS5kZWNvcmF0b3JzLnB1c2goZil9CmZ1bmN0aW9uIElxKGEsYixjKXtmb3IodmFyIGQ9R3EoKS5kZWNvcmF0b3JzLGU9e30sZj0wO2Y8ZC5sZW5ndGg7KytmKXt2YXIgZz1kW2ZdLGg7aWYoaD0hY3x8Zy5mb3JtcylhOnt2YXIgbD1nLmRvbWFpbnMsbj1hLHA9ISFnLnNhbWVIb3N0O2lmKGwmJihwfHxuIT09Qi5sb2NhdGlvbi5ob3N0bmFtZSkpZm9yKHZhciBxPTA7cTxsLmxlbmd0aDtxKyspaWYobFtxXWluc3RhbmNlb2YgUmVnRXhwKXtpZihsW3FdLnRlc3Qobikpe2g9ITA7YnJlYWsgYX19ZWxzZSBpZihuLmluZGV4T2YobFtxXSk+PTB8fHAmJmxbcV0uaW5kZXhPZihuKT49MCl7aD0hMDticmVhayBhfWg9ITF9aWYoaCl7dmFyIHI9Zy5wbGFjZW1lbnQ7cj09PXZvaWQgMCYmKHI9Zy5mcmFnbWVudD8yOjEpO3I9PT1iJiZRYihlLGcuY2FsbGJhY2soKSl9fXJldHVybiBlfQpmdW5jdGlvbiBHcSgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSxiPWEuZ2w7YiYmYi5kZWNvcmF0b3JzfHwoYj17ZGVjb3JhdG9yczpbXX0sYS5nbD1iKTtyZXR1cm4gYn07dmFyIEpxPS8oLio/KVwqKC4qPylcKiguKikvLEtxPS9eaHR0cHM/OlwvXC8oW15cL10qPylcLj9jZG5cLmFtcHByb2plY3RcLm9yZ1wvPyguKikvLExxPS9eKD86d3d3XC58bVwufGFtcFwuKSsvLE1xPS8oW14/I10rKShcP1teI10qKT8oIy4qKT8vO2Z1bmN0aW9uIE5xKGEpe3ZhciBiPU1xLmV4ZWMoYSk7aWYoYilyZXR1cm57aGs6YlsxXSxxdWVyeTpiWzJdLGZyYWdtZW50OmJbM119fWZ1bmN0aW9uIE9xKGEpe3JldHVybiBuZXcgUmVnRXhwKCIoLio/KShefCYpIithKyI9KFteJl0qKSY/KC4qKSIpfQpmdW5jdGlvbiBQcShhLGIpe3ZhciBjPVtIYy51c2VyQWdlbnQsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpLEhjLnVzZXJMYW5ndWFnZXx8SGMubGFuZ3VhZ2UsTWF0aC5mbG9vcihOYigpLzYwLzFFMyktKGI9PT12b2lkIDA/MDpiKSxhXS5qb2luKCIqIiksZDtpZighKGQ9Q3EpKXtmb3IodmFyIGU9QXJyYXkoMjU2KSxmPTA7ZjwyNTY7ZisrKXtmb3IodmFyIGc9ZixoPTA7aDw4O2grKylnPWcmMT9nPj4+MV4zOTg4MjkyMzg0Omc+Pj4xO2VbZl09Z31kPWV9Q3E9ZDtmb3IodmFyIGw9NDI5NDk2NzI5NSxuPTA7bjxjLmxlbmd0aDtuKyspbD1sPj4+OF5DcVsobF5jLmNoYXJDb2RlQXQobikpJjI1NV07cmV0dXJuKChsXi0xKT4+PjApLnRvU3RyaW5nKDM2KX0KZnVuY3Rpb24gUXEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPVJqKEEubG9jYXRpb24uaHJlZiksZD1jLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZT1JaihkLCJfZ2wiLCExLCEwKXx8IiI7Yi5xdWVyeT1ScShlKXx8e307dmFyIGY9TGooYywiZnJhZ21lbnQiKSxnO3ZhciBoPS0xO2lmKFNiKGYsIl9nbD0iKSloPTQ7ZWxzZXt2YXIgbD1mLmluZGV4T2YoIiZfZ2w9Iik7bD4wJiYoaD1sKzMrMil9aWYoaDwwKWc9dm9pZCAwO2Vsc2V7dmFyIG49Zi5pbmRleE9mKCImIixoKTtnPW48MD9mLnN1YnN0cmluZyhoKTpmLnN1YnN0cmluZyhoLG4pfWIuZnJhZ21lbnQ9UnEoZ3x8IiIpfHx7fTthJiZTcShjLGQsZil9fWZ1bmN0aW9uIFRxKGEsYil7dmFyIGM9T3EoYSkuZXhlYyhiKSxkPWI7aWYoYyl7dmFyIGU9Y1syXSxmPWNbNF07ZD1jWzFdO2YmJihkPWQrZStmKX1yZXR1cm4gZH0KZnVuY3Rpb24gU3EoYSxiLGMpe2Z1bmN0aW9uIGQoZyxoKXt2YXIgbD1UcSgiX2dsIixnKTtsLmxlbmd0aCYmKGw9aCtsKTtyZXR1cm4gbH1pZihHYyYmR2MucmVwbGFjZVN0YXRlKXt2YXIgZT1PcSgiX2dsIik7aWYoZS50ZXN0KGIpfHxlLnRlc3QoYykpe3ZhciBmPUxqKGEsInBhdGgiKTtiPWQoYiwiPyIpO2M9ZChjLCIjIik7R2MucmVwbGFjZVN0YXRlKHt9LCIiLCIiK2YrYitjKX19fWZ1bmN0aW9uIFVxKGEsYil7dmFyIGM9UXEoISFiKSxkPUdxKCk7ZC5kYXRhfHwoZC5kYXRhPXtxdWVyeTp7fSxmcmFnbWVudDp7fX0sYyhkLmRhdGEpKTt2YXIgZT17fSxmPWQuZGF0YTtmJiYoUWIoZSxmLnF1ZXJ5KSxhJiZRYihlLGYuZnJhZ21lbnQpKTtyZXR1cm4gZX0KdmFyIFJxPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1WcShhLDMpO2lmKGIhPT12b2lkIDApe2Zvcih2YXIgYz17fSxkPWI/Yi5zcGxpdCgiKiIpOltdLGU9MDtlKzE8ZC5sZW5ndGg7ZSs9Mil7dmFyIGY9ZFtlXSxnPXFiKGRbZSsxXSk7Y1tmXT1nfXNiKCJUQUdHSU5HIiw2KTtyZXR1cm4gY319Y2F0Y2goaCl7c2IoIlRBR0dJTkciLDgpfX07ZnVuY3Rpb24gVnEoYSxiKXtpZihhKXt2YXIgYzthOntmb3IodmFyIGQ9YSxlPTA7ZTwzOysrZSl7dmFyIGY9SnEuZXhlYyhkKTtpZihmKXtjPWY7YnJlYWsgYX1kPUtqKGQpfHwiIn1jPXZvaWQgMH12YXIgZz1jO2lmKGcmJmdbMV09PT0iMSIpe3ZhciBoPWdbM10sbDthOntmb3IodmFyIG49Z1syXSxwPTA7cDxiOysrcClpZihuPT09UHEoaCxwKSl7bD0hMDticmVhayBhfWw9ITF9aWYobClyZXR1cm4gaDtzYigiVEFHR0lORyIsNyl9fX0KZnVuY3Rpb24gV3EoYSxiLGMsZCxlKXtmdW5jdGlvbiBmKHApe3A9VHEoYSxwKTt2YXIgcT1wLmNoYXJBdChwLmxlbmd0aC0xKTtwJiZxIT09IiYiJiYocCs9IiYiKTtyZXR1cm4gcCtufWQ9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO3ZhciBnPU5xKGMpO2lmKCFnKXJldHVybiIiO3ZhciBoPWcucXVlcnl8fCIiLGw9Zy5mcmFnbWVudHx8IiIsbj1hKyI9IitiO2Q/bC5zdWJzdHJpbmcoMSkubGVuZ3RoIT09MCYmZXx8KGw9IiMiK2YobC5zdWJzdHJpbmcoMSkpKTpoPSI/IitmKGguc3Vic3RyaW5nKDEpKTtyZXR1cm4iIitnLmhrK2grbH0KZnVuY3Rpb24gWHEoYSxiKXtmdW5jdGlvbiBjKG4scCxxKXt2YXIgcjthOntmb3IodmFyIHQgaW4gbilpZihuLmhhc093blByb3BlcnR5KHQpKXtyPSEwO2JyZWFrIGF9cj0hMX1pZihyKXt2YXIgdSx2PVtdLHg7Zm9yKHggaW4gbilpZihuLmhhc093blByb3BlcnR5KHgpKXt2YXIgeT1uW3hdO3khPT12b2lkIDAmJnk9PT15JiZ5IT09bnVsbCYmeS50b1N0cmluZygpIT09IltvYmplY3QgT2JqZWN0XSImJih2LnB1c2goeCksdi5wdXNoKHBiKFN0cmluZyh5KSkpKX12YXIgej12LmpvaW4oIioiKTt1PVsiMSIsUHEoeiksel0uam9pbigiKiIpO2Q/KFlmKDMpfHxZZigxKXx8IXApJiZZcSgiX2dsIix1LGEscCxxKTpacSgiX2dsIix1LGEscCxxKX19dmFyIGQ9KGEudGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk9PT0iRk9STSIsZT1JcShiLDEsZCksZj1JcShiLDIsZCksZz1JcShiLDQsZCksaD1JcShiLDMsZCk7YyhlLCExLCExKTtjKGYsITAsITEpO1lmKDEpJiZjKGcsITAsITApO2Zvcih2YXIgbCBpbiBoKWguaGFzT3duUHJvcGVydHkobCkmJgokcShsLGhbbF0sYSl9ZnVuY3Rpb24gJHEoYSxiLGMpe2MudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09ImEiP1pxKGEsYixjKTpjLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJmb3JtIiYmWXEoYSxiLGMpfWZ1bmN0aW9uIFpxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY7aWYoZj1jLmhyZWYpe3ZhciBnO2lmKCEoZz1kKSl7dmFyIGg9QS5sb2NhdGlvbi5ocmVmLGw9TnEoYy5ocmVmKSxuPU5xKGgpO2c9IShsJiZuJiZsLmhrPT09bi5oayYmbC5xdWVyeT09PW4ucXVlcnkmJmwuZnJhZ21lbnQpfWY9Z31pZihmKXt2YXIgcD1XcShhLGIsYy5ocmVmLGQsZSk7dmMudGVzdChwKSYmKGMuaHJlZj1wKX19CmZ1bmN0aW9uIFlxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7aWYoYyl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpfHwiIjtpZihmKXt2YXIgZz0oYy5tZXRob2R8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGchPT0iZ2V0Inx8ZCl7aWYoZz09PSJnZXQifHxnPT09InBvc3QiKXt2YXIgaD1XcShhLGIsZixkLGUpO3ZjLnRlc3QoaCkmJihjLmFjdGlvbj1oKX19ZWxzZXtmb3IodmFyIGw9Yy5jaGlsZE5vZGVzfHxbXSxuPSExLHA9MDtwPGwubGVuZ3RoO3ArKyl7dmFyIHE9bFtwXTtpZihxLm5hbWU9PT1hKXtxLnNldEF0dHJpYnV0ZSgidmFsdWUiLGIpO249ITA7YnJlYWt9fWlmKCFuKXt2YXIgcj1CLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ci5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKTtyLnNldEF0dHJpYnV0ZSgibmFtZSIsYSk7ci5zZXRBdHRyaWJ1dGUoInZhbHVlIixiKTtjLmFwcGVuZENoaWxkKHIpfX19fX0KZnVuY3Rpb24gRXEoYSl7dHJ5e3ZhciBiO2E6e2Zvcih2YXIgYz1hLGQ9MTAwO2MmJmQ+MDspe2lmKGMuaHJlZiYmYy5ub2RlTmFtZS5tYXRjaCgvXmEoPzpyZWEpPyQvaSkpe2I9YzticmVhayBhfWM9Yy5wYXJlbnROb2RlO2QtLX1iPW51bGx9dmFyIGU9YjtpZihlKXt2YXIgZj1lLnByb3RvY29sO2YhPT0iaHR0cDoiJiZmIT09Imh0dHBzOiJ8fFhxKGUsZS5ob3N0bmFtZSl9fWNhdGNoKGcpe319ZnVuY3Rpb24gRnEoYSl7dHJ5e3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKTtpZihiKXt2YXIgYz1MaihSaihiKSwiaG9zdCIpO1hxKGEsYyl9fWNhdGNoKGQpe319ZnVuY3Rpb24gYXIoYSxiLGMsZCl7RHEoKTt2YXIgZT1jPT09ImZyYWdtZW50Ij8yOjE7ZD0hIWQ7SHEoYSxiLGUsZCwhMSk7ZT09PTImJnNiKCJUQUdHSU5HIiwyMyk7ZCYmc2IoIlRBR0dJTkciLDI0KX0KZnVuY3Rpb24gYnIoYSxiKXtEcSgpO0hxKGEsW05qKEEubG9jYXRpb24sImhvc3QiLCEwKV0sYiwhMCwhMCl9ZnVuY3Rpb24gY3IoKXt2YXIgYT1CLmxvY2F0aW9uLmhvc3RuYW1lLGI9S3EuZXhlYyhCLnJlZmVycmVyKTtpZighYilyZXR1cm4hMTt2YXIgYz1iWzJdLGQ9YlsxXSxlPSIiO2lmKGMpe3ZhciBmPWMuc3BsaXQoIi8iKSxnPWZbMV07ZT1nPT09InMiP0tqKGZbMl0pfHwiIjpLaihnKXx8IiJ9ZWxzZSBpZihkKXtpZihkLmluZGV4T2YoInhuLS0iKT09PTApcmV0dXJuITE7ZT1kLnJlcGxhY2UoLy0vZywiLiIpLnJlcGxhY2UoL1wuXC4vZywiLSIpfXZhciBoPWEucmVwbGFjZShMcSwiIiksbD1lLnJlcGxhY2UoTHEsIiIpO3JldHVybiBoPT09bHx8VGIoaCwiLiIrbCl9ZnVuY3Rpb24gZHIoYSxiKXtyZXR1cm4gYT09PSExPyExOmF8fGJ8fGNyKCl9O3ZhciBlcj1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPTA7dGhpcy52YWx1ZT1hPT09dm9pZCAwPzA6YX07ZXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXw9MTw8YX07dmFyIGZyPWZ1bmN0aW9uKGEsYil7Yjw9MHx8KGEudmFsdWV8PTE8PGItMSl9O2VyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07ZXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe3RoaXMudmFsdWUmPX4oMTw8YSl9O2VyLnByb3RvdHlwZS5jbGVhckFsbD1mdW5jdGlvbigpe3RoaXMudmFsdWU9MH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZT09PWEudmFsdWV9O2Z1bmN0aW9uIGdyKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgVWludDhBcnJheShhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2hhckNvZGVBdCgwKX0pKX1jYXRjaChiKXt9fWZ1bmN0aW9uIGhyKGEsYil7dmFyIGM9MCxkPTAsZSxmPWI7ZG97aWYoZj49YS5sZW5ndGgpcmV0dXJuO2U9YVtmKytdO2N8PShlJjEyNyk8PGQ7ZCs9N313aGlsZShlJjEyOCk7cmV0dXJuW2MsZl19O2Z1bmN0aW9uIGlyKCl7dmFyIGE9U3RyaW5nLGI9QS5sb2NhdGlvbi5ob3N0bmFtZSxjPUEubG9jYXRpb24ucGF0aG5hbWUsZD1iPWJjKGIpO2Quc3BsaXQoIi4iKS5sZW5ndGg+MiYmKGQ9ZC5yZXBsYWNlKC9eKHd3d1swLTldKnx3ZWJ8ZnRwfHdhcHxob21lfG18d3xhbXB8bW9iaWxlKVwuLywiIikpO2I9ZDtjPWJjKGMpO3ZhciBlPWMuc3BsaXQoIjsiKVswXTtlPWUucmVwbGFjZSgvXC8oYXJ8c2xwfHdlYnxpbmRleCk/XC8/JC8sIiIpO3JldHVybiBhKG5nKCgiIitiK2UpLnRvTG93ZXJDYXNlKCkpKX07dmFyIGpyPVsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdO2Z1bmN0aW9uIGtyKGEsYil7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMiksMTA7aWYoYj09PW51bGx8fGI9PT12b2lkIDB8fGI9PT0iIilyZXR1cm4gc2IoIlRBR0dJTkciLDMzKSwxMTt2YXIgYz1scighMSk7aWYoYy5lcnJvciE9PTApcmV0dXJuIHNiKCJUQUdHSU5HIiwzNCksYy5lcnJvcjtpZighYy52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDM1KSwyO2MudmFsdWVbYV09Yjt2YXIgZD1tcihjKTtkIT09MCYmc2IoIlRBR0dJTkciLDM2KTtyZXR1cm4gZH0KZnVuY3Rpb24gbnIoYSl7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwyNykse2Vycm9yOjEwfTt2YXIgYj1scigpO2lmKGIuZXJyb3IhPT0wKXJldHVybiBzYigiVEFHR0lORyIsMjkpLGI7aWYoIWIudmFsdWUpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMCkse2Vycm9yOjJ9O2lmKCEoYSBpbiBiLnZhbHVlKSlyZXR1cm4gc2IoIlRBR0dJTkciLDMxKSx7dmFsdWU6dm9pZCAwLGVycm9yOjE1fTt2YXIgYz1iLnZhbHVlW2FdO3JldHVybiBjPT09bnVsbHx8Yz09PXZvaWQgMHx8Yz09PSIiPyhzYigiVEFHR0lORyIsMjgpLHt2YWx1ZTp2b2lkIDAsZXJyb3I6MTF9KTp7dmFsdWU6YyxlcnJvcjowfX0KZnVuY3Rpb24gb3IoYSl7aWYoYSl7dmFyIGI9bHIoITEpO2IuZXJyb3IhPT0wP3NiKCJUQUdHSU5HIiwzOCk6Yi52YWx1ZT9hIGluIGIudmFsdWU/KGRlbGV0ZSBiLnZhbHVlW2FdLG1yKGIpIT09MCYmc2IoIlRBR0dJTkciLDQxKSk6c2IoIlRBR0dJTkciLDQwKTpzYigiVEFHR0lORyIsMzkpfWVsc2Ugc2IoIlRBR0dJTkciLDM3KX0KZnVuY3Rpb24gbHIoYSl7YT1hPT09dm9pZCAwPyEwOmE7aWYoIUJsKGpyKSlyZXR1cm4gc2IoIlRBR0dJTkciLDQzKSx7ZXJyb3I6M307dHJ5e2lmKCFBLmxvY2FsU3RvcmFnZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQ0KSx7ZXJyb3I6MX19Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0NSkse2Vycm9yOjE0fX12YXIgYj17c2NoZW1hOiJnY2wiLHZlcnNpb246MX0sYz12b2lkIDA7dHJ5e2M9QS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX2djbF9scyIpfWNhdGNoKGYpe3JldHVybiBzYigiVEFHR0lORyIsNDYpLHtlcnJvcjoxM319dHJ5e2lmKGMpe3ZhciBkPUpTT04ucGFyc2UoYyk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0IiliPWQ7ZWxzZSByZXR1cm4gc2IoIlRBR0dJTkciLDQ3KSx7ZXJyb3I6MTJ9fX1jYXRjaChmKXtyZXR1cm4gc2IoIlRBR0dJTkciLDQ4KSx7ZXJyb3I6OH19aWYoYi5zY2hlbWEhPT0iZ2NsIilyZXR1cm4gc2IoIlRBR0dJTkciLDQ5KSx7ZXJyb3I6NH07CmlmKGIudmVyc2lvbiE9PTEpcmV0dXJuIHNiKCJUQUdHSU5HIiw1MCkse2Vycm9yOjV9O3RyeXt2YXIgZT1wcihiKTthJiZlJiZtcih7dmFsdWU6YixlcnJvcjowfSl9Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0OCkse2Vycm9yOjh9fXJldHVybnt2YWx1ZTpiLGVycm9yOjB9fQpmdW5jdGlvbiBwcihhKXtpZighYXx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZigiZXhwaXJlcyJpbiBhJiYidmFsdWUiaW4gYSl7dmFyIGI7dHlwZW9mIGEuZXhwaXJlcz09PSJudW1iZXIiP2I9YS5leHBpcmVzOmI9dHlwZW9mIGEuZXhwaXJlcz09PSJzdHJpbmciP051bWJlcihhLmV4cGlyZXMpOk5hTjtpZihpc05hTihiKXx8IShEYXRlLm5vdygpPD1iKSlyZXR1cm4gYS52YWx1ZT1udWxsLGEuZXJyb3I9OSxzYigiVEFHR0lORyIsNTQpLCEwfWVsc2V7Zm9yKHZhciBjPSExLGQ9bShPYmplY3Qua2V5cyhhKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYz1wcihhW2UudmFsdWVdKXx8YztyZXR1cm4gY31yZXR1cm4hMX0KZnVuY3Rpb24gbXIoYSl7aWYoYS5lcnJvcilyZXR1cm4gYS5lcnJvcjtpZighYS52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQyKSwyO3ZhciBiPWEudmFsdWUsYzt0cnl7Yz1KU09OLnN0cmluZ2lmeShiKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUyKSw2fXRyeXtBLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfZ2NsX2xzIixjKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUzKSw3fXJldHVybiAwfTt2YXIgcXI9e30scnI9KHFyLmdjbGlkPSEwLHFyLmRjbGlkPSEwLHFyLmdicmFpZD0hMCxxci53YnJhaWQ9ITAscXIpLHNyPS9eXHcrJC8sdHI9L15bXHctXSskLyx1cj17fSx2cj0odXIuYXc9IkZQR0NMQVciLHVyKSx3cj17fSx4cj0od3IuYWc9Il9hZyIsd3IuZ2I9Il9nYiIsd3IuYXc9Il9hdyIsd3IuZGM9Il9kYyIsd3IuZ2Y9Il9nZiIsd3IuaGE9Il9oYSIsd3IuZ3A9Il9ncCIsd3IuZ3M9Il9ncyIsd3IpLHlyPS9eKD86d3d3XC4pP2dvb2dsZSg/OlwuY29tPyk/KD86XC5bYS16XXsyfXQ/KT8kLyx6cj0vXnd3d1wuZ29vZ2xlYWRzZXJ2aWNlc1wuY29tJC87ZnVuY3Rpb24gQXIoKXtyZXR1cm5bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXX1mdW5jdGlvbiBCcihhKXtyZXR1cm4hWWYoNSl8fEJsKGEpfWZ1bmN0aW9uIENyKGEsYil7ZnVuY3Rpb24gYygpe3ZhciBkPUJyKGIpO2QmJmEoKTtyZXR1cm4gZH1IbChmdW5jdGlvbigpe2MoKXx8SWwoYyxiKX0sYil9CmZ1bmN0aW9uIERyKGEpe3JldHVybiBFcihhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2NsaWR9KX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gR3IoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSl9ZnVuY3Rpb24gR3IoYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1IcihhLnByZWZpeCksZD1JcigiZ2IiLGMpLGU9SXIoImFnIixjKTtpZighZXx8IWQpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uemc9bDtyZXR1cm4gbn19LGc9RXIoZCxiKS5tYXAoZigiZ2IiKSksaD1KcihlKS5tYXAoZigiYWciKSk7cmV0dXJuIGcuY29uY2F0KGgpLnNvcnQoZnVuY3Rpb24obCxuKXtyZXR1cm4gbi50aW1lc3RhbXAtbC50aW1lc3RhbXB9KX0KZnVuY3Rpb24gS3IoYSxiLGMsZCxlKXt2YXIgZj1DYihhLGZ1bmN0aW9uKGcpe3JldHVybiBnLmdjbGlkPT09Yn0pO2Y/KGYudGltZXN0YW1wPGMmJihmLnRpbWVzdGFtcD1jLGYub2Q9ZSksZi5sYWJlbHM9THIoZi5sYWJlbHN8fFtdLGR8fFtdKSk6YS5wdXNoKHt2ZXJzaW9uOiIyIixnY2xpZDpiLHRpbWVzdGFtcDpjLGxhYmVsczpkLG9kOmV9KX1mdW5jdGlvbiBNcihhKXtmb3IodmFyIGI9d3EoYSw1KXx8W10sYz1bXSxkPW0oYiksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1mLGg9TnIoZik7aCYmS3IoYyxnLmssaCxnLmJ8fFtdLGYudSl9cmV0dXJuIGMuc29ydChmdW5jdGlvbihsLG4pe3JldHVybiBuLnRpbWVzdGFtcC1sLnRpbWVzdGFtcH0pfQpmdW5jdGlvbiBFcihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPVtdO09yKGMsYSwxKTtpZihiKWlmKFRiKGEsIl9hdyIpKXt2YXIgZD1QcigpO2QmJihkLm9kPXZvaWQgMCxkLm9hPWQub2F8fFsyXSxRcihjLGQpKTtPcihjLCJnY2xfYXciLDIpfWVsc2UgVGIoYSwiX2diIikmJllmKDYpJiZPcihjLCJnY2xfZ2IiLDIpO2Muc29ydChmdW5jdGlvbihlLGYpe3JldHVybiBmLnRpbWVzdGFtcC1lLnRpbWVzdGFtcH0pO3JldHVybiBScihjKX1mdW5jdGlvbiBTcihhLGIpe2Zvcih2YXIgYz1bXSxkPW0oYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Yy5pbmNsdWRlcyhmKXx8Yy5wdXNoKGYpfWZvcih2YXIgZz1tKGIpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXt2YXIgbD1oLnZhbHVlO2MuaW5jbHVkZXMobCl8fGMucHVzaChsKX1yZXR1cm4gY30KZnVuY3Rpb24gUXIoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2Zvcih2YXIgZCxlLGY9bShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtpZihoLmdjbGlkPT09Yi5nY2xpZCl7ZD1oO2JyZWFrfWgucWEmJmIucWEmJmgucWEuZXF1YWxzKGIucWEpJiYoZT1oKX1pZihkKXt2YXIgbCxuLHA9KGw9ZC5xYSkhPW51bGw/bDpuZXcgZXIscT0obj1iLnFhKSE9bnVsbD9uOm5ldyBlcjtwLnZhbHVlfD1xLnZhbHVlO2QucWE9cDtkLnRpbWVzdGFtcDxiLnRpbWVzdGFtcCYmKGQudGltZXN0YW1wPWIudGltZXN0YW1wLGQub2Q9Yi5vZCk7ZC5sYWJlbHM9U3IoZC5sYWJlbHN8fFtdLGIubGFiZWxzfHxbXSk7ZC5vYT1TcihkLm9hfHxbXSxiLm9hfHxbXSl9ZWxzZSBjJiZlP25hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3QsZSxiKTphLnB1c2goYil9CmZ1bmN0aW9uIFRyKGEpe2lmKCFhKXJldHVybiBuZXcgZXI7dmFyIGI9bmV3IGVyO2lmKGE9PT0xKXJldHVybiBmcihiLDIpLGZyKGIsMyksYjtmcihiLGEpO3JldHVybiBifQpmdW5jdGlvbiBQcigpe3ZhciBhPW5yKCJnY2xpZCIpO2lmKCFhfHxhLmVycm9yfHwhYS52YWx1ZXx8dHlwZW9mIGEudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYj1hLnZhbHVlO3RyeXtpZighKCJ2YWx1ZSJpbiBiJiZiLnZhbHVlKXx8dHlwZW9mIGIudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYz1iLnZhbHVlLGQ9Yy52YWx1ZTtpZighZHx8IWQubWF0Y2godHIpKXJldHVybiBudWxsO3ZhciBlPWMubGlua0RlY29yYXRpb25Tb3VyY2UsZj1jLmxpbmtEZWNvcmF0aW9uU291cmNlcyxnPW5ldyBlcjt0eXBlb2YgZT09PSJudW1iZXIiP2c9VHIoZSk6dHlwZW9mIGY9PT0ibnVtYmVyIiYmKGcudmFsdWU9Zik7cmV0dXJue3ZlcnNpb246IiIsZ2NsaWQ6ZCx0aW1lc3RhbXA6TnVtYmVyKGMuY3JlYXRpb25UaW1lTXMpfHwwLGxhYmVsczpbXSxxYTpnLG9hOlsyXX19Y2F0Y2goaCl7cmV0dXJuIG51bGx9fQpmdW5jdGlvbiBVcihhKXt2YXIgYj1ucihhKTtpZihiLmVycm9yIT09MClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGIudmFsdWUucmVkdWNlKGZ1bmN0aW9uKGMsZCl7aWYoIWQudmFsdWV8fHR5cGVvZiBkLnZhbHVlIT09Im9iamVjdCIpcmV0dXJuIGM7dmFyIGU9ZC52YWx1ZSxmPWUudmFsdWU7aWYoIWZ8fCFmLm1hdGNoKHRyKSlyZXR1cm4gYzt2YXIgZz1uZXcgZXIsaD1lLmxpbmtEZWNvcmF0aW9uU291cmNlczt0eXBlb2YgaD09PSJudW1iZXIiJiYoZy52YWx1ZT1oKTt2YXIgbDtjLnB1c2goe3ZlcnNpb246IiIsZ2NsaWQ6Zix0aW1lc3RhbXA6TnVtYmVyKGUuY3JlYXRpb25UaW1lTXMpfHwwLGV4cGlyZXM6TnVtYmVyKGQuZXhwaXJlcyl8fDAsbGFiZWxzOihsPWUubGFiZWxzKSE9bnVsbD9sOltdLHFhOmcsb2E6WzJdfSk7cmV0dXJuIGN9LFtdKX1jYXRjaChjKXtyZXR1cm4gbnVsbH19CmZ1bmN0aW9uIE9yKGEsYixjKXtpZihjPT09MSlmb3IodmFyIGQ9Y3EoYixCLmNvb2tpZSx2b2lkIDAsQXIoKSksZT1tKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1WcihmLnZhbHVlLnNwbGl0KCIuIikpLGg9Zy5sZW5ndGg9PT0wP251bGw6e3ZlcnNpb246Z1swXSxnY2xpZDpnWzJdLHRpbWVzdGFtcDooTnVtYmVyKGdbMV0pfHwwKSoxRTMsbGFiZWxzOmcuc2xpY2UoMyl9O2ghPW51bGwmJihoLm9kPXZvaWQgMCxoLnFhPW5ldyBlcixoLm9hPVtjXSxRcihhLGgpKX1lbHNlIGlmKGM9PT0yKXt2YXIgbD1VcihiKTtpZihsKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3Eub2Q9dm9pZCAwO3Eub2E9cS5vYTtRcihhLHEpfX19CmZ1bmN0aW9uIFpyKGEpe3ZhciBiPUVyKGEpLGM9VXIoImdjbF9kYyIpO2lmKGMpZm9yKHZhciBkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Zi5vZD12b2lkIDA7Zi5vYT1mLm9hfHxbMl07UXIoYixmKX1iLnNvcnQoZnVuY3Rpb24oZyxoKXt2YXIgbD1nLm9hJiZnLm9hLmluY2x1ZGVzKDEpLG49aC5vYSYmaC5vYS5pbmNsdWRlcygxKTtyZXR1cm4gbCYmIW4/LTE6IWwmJm4/MTpoLnRpbWVzdGFtcC1nLnRpbWVzdGFtcH0pO3JldHVybiBScihiKX1mdW5jdGlvbiBKcihhKXtyZXR1cm4gTXIoYSkubWFwKGZ1bmN0aW9uKGIpe2IucWE9bmV3IGVyO2Iub2E9WzFdO3JldHVybiBifSl9CmZ1bmN0aW9uIExyKGEsYil7aWYoIWEubGVuZ3RoKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gYTt2YXIgYz17fTtyZXR1cm4gYS5jb25jYXQoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBjLmhhc093blByb3BlcnR5KGQpPyExOmNbZF09ITB9KX1mdW5jdGlvbiBIcihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaChzcik/YToiX2djbCJ9ZnVuY3Rpb24gJHIoYSxiKXtpZihhKXt2YXIgYz17dmFsdWU6YSxxYTpuZXcgZXJ9O2ZyKGMucWEsYik7cmV0dXJuIGN9fQpmdW5jdGlvbiBhcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpO2lmKGImJighZnx8IWUpKXt2YXIgZz1kLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Z8fChmPSRyKElqKGcsImdjbGlkIiwhMSksMykpO2V8fChlPUlqKGcsImdjbHNyYyIsITEpKX1yZXR1cm4gZiYmKGU9PT12b2lkIDB8fGU9PT0iYXcifHxlPT09ImF3LmRzInx8WWYoOCkmJmU9PT0iYXcuZHYiKT9bZl06W119CmZ1bmN0aW9uIGJzKGEsYil7dmFyIGM9UmooYSksZD1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xpZCIpLGU9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2Nsc3JjIiksZj1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJ3YnJhaWQiKTtmPSRiKGYpO3ZhciBnPUxqKGMsInF1ZXJ5IiwhMSx2b2lkIDAsImdicmFpZCIpLGg9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpLGw9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKTtpZihiJiYhKGQmJmUmJmYmJmcpKXt2YXIgbj1jLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Q9ZHx8SWoobiwiZ2NsaWQiLCExKTtlPWV8fElqKG4sImdjbHNyYyIsITEpO2Y9Znx8SWoobiwid2JyYWlkIiwhMSk7Zz1nfHxJaihuLCJnYnJhaWQiLCExKTtoPWh8fElqKG4sImdhZF9zb3VyY2UiLCExKX1yZXR1cm4gY3MoZCxlLGwsZixnLGgpfQpmdW5jdGlvbiBkcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpLGc9JHIoTGooZCwicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKSxjPzQ6Mik7aWYoYiYmKCFlfHwhZikpe3ZhciBoPWQuaGFzaC5yZXBsYWNlKCIjIiwiIik7Znx8KGY9JHIoSWooaCwiZ2NsaWQiLCExKSwzKSk7ZXx8KGU9SWooaCwiZ2Nsc3JjIiwhMSkpfXJldHVybiBmJiZlJiYoZT09PSJhdy5kcyJ8fGU9PT0iYXcuZHYifHxlPT09IjNwLmRzInx8ZT09PSJkcyIpP1tmXTpnP1tnXTpbXX1mdW5jdGlvbiBlcygpe3JldHVybiBicyhBLmxvY2F0aW9uLmhyZWYsITApfQpmdW5jdGlvbiBjcyhhLGIsYyxkLGUsZil7dmFyIGc9e30saD1mdW5jdGlvbihsLG4pe2dbbl18fChnW25dPVtdKTtnW25dLnB1c2gobCl9O2cuZ2NsaWQ9YTtnLmdjbHNyYz1iO2cuZGNsaWQ9YztpZihhIT09dm9pZCAwJiZhLm1hdGNoKHRyKSlzd2l0Y2goYil7Y2FzZSB2b2lkIDA6aChhLCJhdyIpO2JyZWFrO2Nhc2UgImF3LmRzIjpoKGEsImF3Iik7aChhLCJkYyIpO2JyZWFrO2Nhc2UgImF3LmR2IjpZZig4KSYmKGgoYSwiYXciKSxoKGEsImRjIikpO2JyZWFrO2Nhc2UgImRzIjpoKGEsImRjIik7YnJlYWs7Y2FzZSAiM3AuZHMiOmgoYSwiZGMiKTticmVhaztjYXNlICJnZiI6aChhLCJnZiIpO2JyZWFrO2Nhc2UgImhhIjpoKGEsImhhIil9YyYmaChjLCJkYyIpO2QhPT12b2lkIDAmJnRyLnRlc3QoZCkmJihnLndicmFpZD1kLGgoZCwiZ2IiKSk7ZSE9PXZvaWQgMCYmdHIudGVzdChlKSYmKGcuZ2JyYWlkPWUsaChlLCJhZyIpKTtmIT09dm9pZCAwJiZ0ci50ZXN0KGYpJiYoZy5nYWRfc291cmNlPQpmLGgoZiwiZ3MiKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZnMoKXtmb3IodmFyIGE9ZXMoKSxiPSEwLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoYVtkLnZhbHVlXSE9PXZvaWQgMCl7Yj0hMTticmVha31iJiYoYT1icyhBLmRvY3VtZW50LnJlZmVycmVyLCExKSxhLmdhZF9zb3VyY2U9dm9pZCAwKTtyZXR1cm4gYX1mdW5jdGlvbiBncyhhKXt2YXIgYj1mcygpO2hzKGIsITEsYSl9CmZ1bmN0aW9uIGlzKGEpe3ZhciBiPWFzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7Yi5sZW5ndGh8fChiPWFzKEEuZG9jdW1lbnQucmVmZXJyZXIsITEsITApKTthPWF8fHt9O2pzKGEpO2lmKGIubGVuZ3RoKXt2YXIgYz1iWzBdLGQ9TmIoKSxlPXVxKGEsZCwhMCksZj1BcigpLGc9ZnVuY3Rpb24oKXtCcihmKSYmZS5leHBpcmVzIT09dm9pZCAwJiZrcigiZ2NsaWQiLHt2YWx1ZTp7dmFsdWU6Yy52YWx1ZSxjcmVhdGlvblRpbWVNczpkLGxpbmtEZWNvcmF0aW9uU291cmNlczpjLnFhLmdldCgpfSxleHBpcmVzOk51bWJlcihlLmV4cGlyZXMpfSl9O0hsKGZ1bmN0aW9uKCl7ZygpO0JyKGYpfHxJbChnLGYpfSxmKX19CmZ1bmN0aW9uIGpzKGEpe3ZhciBiPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjtpZih5ci50ZXN0KGIpfHx6ci50ZXN0KGIpfHxrcygpKXt2YXIgYzthOntmb3IodmFyIGQ9UmooQS5sb2NhdGlvbi5ocmVmKSxlPUpqKExqKGQsInF1ZXJ5IikpLGY9bShPYmplY3Qua2V5cyhlKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7aWYoIXJyW2hdKXt2YXIgbD1lW2hdWzBdfHwiIixuO2lmKCFsfHxsLmxlbmd0aDw1MHx8bC5sZW5ndGg+MjAwKW49ITE7ZWxzZXt2YXIgcD1ncihsKSxxO2lmKHApYzp7dmFyIHI9cDtpZihyJiZyLmxlbmd0aCE9PTApe3ZhciB0PTA7dHJ5e2Zvcih2YXIgdT0xMDt0PHIubGVuZ3RoJiYhKHUtLTw9MCk7KXt2YXIgdj1ocihyLHQpO2lmKHY9PT12b2lkIDApYnJlYWs7dmFyIHg9bSh2KSx5PXgubmV4dCgpLnZhbHVlLHo9eC5uZXh0KCkudmFsdWUsQz15LEQ9eixJPUMmNztpZihDPj4zPT09MTYzODIpe2lmKEkhPT0KMClicmVhazt2YXIgRz1ocihyLEQpO2lmKEc9PT12b2lkIDApYnJlYWs7cT1tKEcpLm5leHQoKS52YWx1ZT09PTE7YnJlYWsgY312YXIgTjtkOnt2YXIgUz12b2lkIDAsVz1yLGVhPUQ7c3dpdGNoKEkpe2Nhc2UgMDpOPShTPWhyKFcsZWEpKT09bnVsbD92b2lkIDA6U1sxXTticmVhayBkO2Nhc2UgMTpOPWVhKzg7YnJlYWsgZDtjYXNlIDI6dmFyIGphPWhyKFcsZWEpO2lmKGphPT09dm9pZCAwKWJyZWFrO3ZhciBmYT1tKGphKSxzYT1mYS5uZXh0KCkudmFsdWU7Tj1mYS5uZXh0KCkudmFsdWUrc2E7YnJlYWsgZDtjYXNlIDU6Tj1lYSs0O2JyZWFrIGR9Tj12b2lkIDB9aWYoTj09PXZvaWQgMHx8Tj5yLmxlbmd0aHx8Tjw9dClicmVhazt0PU59fWNhdGNoKG1hKXt9fXE9ITF9ZWxzZSBxPSExO249cX1pZihuKXtjPWw7YnJlYWsgYX19fWM9dm9pZCAwfXZhciBkYT1jO2RhJiZscygiZ2NsX2F3IixkYSw3LGEpfX0KZnVuY3Rpb24gbHMoYSxiLGMsZCl7bXMoYSxbe3ZlcnNpb246IiIsZ2NsaWQ6Yix0aW1lc3RhbXA6TmIoKSxxYTpUcihjKX1dLGQpfQpmdW5jdGlvbiBtcyhhLGIsYyl7Yz1jfHx7fTt2YXIgZD1BcigpLGU9ZnVuY3Rpb24oKXtpZihCcihkKSYmYi5sZW5ndGg+MCl7dmFyIGY9VXIoYSl8fFtdO2IuZm9yRWFjaChmdW5jdGlvbihnKXt2YXIgaD11cShjLGcudGltZXN0YW1wLCEwKTtoLmV4cGlyZXMhPT12b2lkIDAmJlFyKGYse3ZlcnNpb246IiIsZ2NsaWQ6Zy5nY2xpZCx0aW1lc3RhbXA6Zy50aW1lc3RhbXAsZXhwaXJlczpOdW1iZXIoaC5leHBpcmVzKSxxYTpnLnFhLGxhYmVsczpnLmxhYmVsc30sITApfSk7Zi5sZW5ndGgmJmtyKGEsZi5tYXAoZnVuY3Rpb24oZyl7dmFyIGg9e3ZhbHVlOmcuZ2NsaWQsY3JlYXRpb25UaW1lTXM6Zy50aW1lc3RhbXAsbGlua0RlY29yYXRpb25Tb3VyY2VzOmcucWE/Zy5xYS5nZXQoKTowfSxsO2lmKChsPWcubGFiZWxzKT09bnVsbD8wOmwubGVuZ3RoKWgubGFiZWxzPWcubGFiZWxzO3JldHVybnt2YWx1ZTpoLGV4cGlyZXM6TnVtYmVyKGcuZXhwaXJlcyl9fSkpfX07SGwoZnVuY3Rpb24oKXtCcihkKT8KZSgpOklsKGUsZCl9LGQpfQpmdW5jdGlvbiBocyhhLGIsYyxkLGUpe2M9Y3x8e307ZT1lfHxbXTt2YXIgZj1IcihjLnByZWZpeCksZz1kfHxOYigpLGg9TWF0aC5yb3VuZChnLzFFMyksbD1BcigpLG49ITEscD0hMSxxPVlmKDkpLHI9ZnVuY3Rpb24oKXtpZihCcihsKSl7dmFyIHQ9dXEoYyxnLCEwKTt0Lk1jPWw7Zm9yKHZhciB1PWZ1bmN0aW9uKFcsZWEpe3ZhciBqYT1JcihXLGYpO2phJiYob3EoamEsZWEsdCksVyE9PSJnYiImJihuPSEwKSl9LHY9ZnVuY3Rpb24oVyl7dmFyIGVhPVsiR0NMIixoLFddO2UubGVuZ3RoPjAmJmVhLnB1c2goZS5qb2luKCIuIikpO3JldHVybiBlYS5qb2luKCIuIil9LHg9bShbImF3IiwiZGMiLCJnZiIsImhhIiwiZ3AiXSkseT14Lm5leHQoKTsheS5kb25lO3k9eC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7YVt6XSYmdSh6LHYoYVt6XVswXSkpfWlmKCghbnx8cSkmJmEuZ2Ipe3ZhciBDPWEuZ2JbMF0sRD1JcigiZ2IiLGYpOyFiJiZFcihEKS5zb21lKGZ1bmN0aW9uKFcpe3JldHVybiBXLmdjbGlkPT09QyYmClcubGFiZWxzJiZXLmxhYmVscy5sZW5ndGg+MH0pfHx1KCJnYiIsdihDKSl9fWlmKCFwJiZhLmdicmFpZCYmQnIoImFkX3N0b3JhZ2UiKSYmKHA9ITAsIW58fHEpKXt2YXIgST1hLmdicmFpZCxHPUlyKCJhZyIsZik7aWYoYnx8IUpyKEcpLnNvbWUoZnVuY3Rpb24oVyl7cmV0dXJuIFcuZ2NsaWQ9PT1JJiZXLmxhYmVscyYmVy5sYWJlbHMubGVuZ3RoPjB9KSl7dmFyIE49e30sUz0oTi5rPUksTi5pPSIiK2gsTi5iPWUsTik7QXEoRyxTLDUsYyxnKX19bnMoYSxmLGcsYyl9O0hsKGZ1bmN0aW9uKCl7cigpO0JyKGwpfHxJbChyLGwpfSxsKX0KZnVuY3Rpb24gbnMoYSxiLGMsZCl7aWYoYS5nYWRfc291cmNlIT09dm9pZCAwJiZCcigiYWRfc3RvcmFnZSIpKXt2YXIgZT1xZCgpO2lmKGUhPT0iciImJmUhPT0iaCIpe3ZhciBmPWEuZ2FkX3NvdXJjZSxnPUlyKCJncyIsYik7aWYoZyl7dmFyIGg9TWF0aC5mbG9vcigoTmIoKS0ocGQoKXx8MCkpLzFFMyksbCxuPWlyKCkscD17fTtsPShwLms9ZixwLmk9IiIraCxwLnU9bixwKTtBcShnLGwsNSxkLGMpfX19fWZ1bmN0aW9uIG9zKGEsYixjKXtmb3IodmFyIGQ9d3EoYixjKSxlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoTnIoZFtlXSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gcHMoYSl7dmFyIGI9cXMsYz1ycyhhLnByZWZpeCk7Q3IoZnVuY3Rpb24oKXtmb3IodmFyIGQ9SHIoYS5wcmVmaXgpLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPWNbZ107aWYoaCl7dmFyIGw9TWF0aC5taW4oc3MoaCksTmIoKSksbj11cShhLGwsITApO24uTWM9QXIoKTt2YXIgcD1JcihnLGQpO3AmJm9xKHAsaCxuKX19dmFyIHE9VXEoITApO2hzKGNzKHEuZ2NsaWQscS5nY2xzcmMpLCExLGEpfSxBcigpKX0KZnVuY3Rpb24gcnMoYSl7dmFyIGI9VXEoITApLGM9SHIoYSksZD17fSxlO2ZvcihlIGluIHhyKWlmKHhyLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1lLGc9SXIoZixjKTtpZihnIT09dm9pZCAwKXt2YXIgaD1iW2ddO2lmKGgpe3ZhciBsPXNzKGgpLG47YTp7Zm9yKHZhciBwPU1hdGgubWluKGwsTmIoKSl8fE5iKCkscT1jcShnLEIuY29va2llLHZvaWQgMCxBcigpKSxyPTA7cjxxLmxlbmd0aDsrK3IpaWYoc3MocVtyXSk+cCl7bj0hMDticmVhayBhfW49ITF9bnx8KGRbZl09aCl9fX1yZXR1cm4gZH0KZnVuY3Rpb24gdHMoYSl7dmFyIGI9WyJhZyJdLGM9VXEoITApLGQ9SHIoYS5wcmVmaXgpO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoZil7dmFyIGc9Y1tmXTtpZihnKXt2YXIgaD0kcChnLDUpO2lmKGgpe3ZhciBsPU5yKGgpO2x8fChsPU5iKCkpO2lmKG9zKGwsZiw1KSlicmVhaztoLmk9IiIrTWF0aC5yb3VuZChsLzFFMyk7QXEoZixoLDUsYSxsKX19fX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiBJcihhLGIpe3ZhciBjPXhyW2FdO2lmKGMhPT12b2lkIDApcmV0dXJuIGIrY31mdW5jdGlvbiBzcyhhKXtyZXR1cm4gVnIoYS5zcGxpdCgiLiIpKS5sZW5ndGghPT0wPyhOdW1iZXIoYS5zcGxpdCgiLiIpWzFdKXx8MCkqMUUzOjB9ZnVuY3Rpb24gTnIoYSl7cmV0dXJuIGE/KE51bWJlcihhLmkpfHwwKSoxRTM6MH0KZnVuY3Rpb24gVnIoYSl7cmV0dXJuIGEubGVuZ3RoPDN8fGFbMF0hPT0iR0NMIiYmYVswXSE9PSIxInx8IS9eXGQrJC8udGVzdChhWzFdKXx8IXRyLnRlc3QoYVsyXSk/W106YX1mdW5jdGlvbiB1cyhhLGIsYyxkKXt2YXIgZT1xcztpZihBcnJheS5pc0FycmF5KGEpJiZTcChBKSl7dmFyIGY9SHIoZCksZz1mdW5jdGlvbigpe2Zvcih2YXIgaD17fSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBuPUlyKGVbbF0sZik7aWYobil7dmFyIHA9Y3EobixCLmNvb2tpZSx2b2lkIDAsQXIoKSk7cC5sZW5ndGgmJihoW25dPXAuc29ydCgpW3AubGVuZ3RoLTFdKX19cmV0dXJuIGh9O0NyKGZ1bmN0aW9uKCl7YXIoZyxhLGIsYyl9LEFyKCkpfX0KZnVuY3Rpb24gdnMoYSxiLGMpe3ZhciBkPXFzO2lmKFlmKDEzKSYmQXJyYXkuaXNBcnJheShhKSYmU3AoQSkpe3ZhciBlPWZ1bmN0aW9uKCl7Zm9yKHZhciBmPXt9LGc9MDtnPGQubGVuZ3RoOysrZyl7dmFyIGg9dnJbZFtnXV07aWYoaCl7dmFyIGw9Y3EoaCxCLmNvb2tpZSx2b2lkIDAsQXIoKSk7aWYobC5sZW5ndGgpe2Zvcih2YXIgbj12b2lkIDAscD0wLHE9bShsKSxyPXEubmV4dCgpOyFyLmRvbmU7cj1xLm5leHQoKSl7dmFyIHQ9ci52YWx1ZSx1PSRwKHQsNCk7aWYodSYmKHUubT09PSIxInx8WWYoMTYpKSl7dmFyIHY9TnIodSk7dj49cCYmKHA9dixuPXQpfX1uJiYoZltoXT1uKX19fXJldHVybiBmfTtDcihmdW5jdGlvbigpe2FyKGUsYSxiLGMpfSxBcigpKX19CmZ1bmN0aW9uIHdzKGEsYixjLGQpe2lmKEFycmF5LmlzQXJyYXkoYSkmJlNwKEEpKXt2YXIgZT1bImFnIl0sZj1IcihkKSxnPWZ1bmN0aW9uKCl7Zm9yKHZhciBoPXt9LGw9MDtsPGUubGVuZ3RoOysrbCl7dmFyIG49SXIoZVtsXSxmKTtpZighbilyZXR1cm57fTt2YXIgcD13cShuLDUpO2lmKHAubGVuZ3RoKXt2YXIgcT1wLnNvcnQoZnVuY3Rpb24ocix0KXtyZXR1cm4gTnIodCktTnIocil9KVswXTtoW25dPWFxKHEsNSl9fXJldHVybiBofTtDcihmdW5jdGlvbigpe2FyKGcsYSxiLGMpfSxbImFkX3N0b3JhZ2UiXSl9fWZ1bmN0aW9uIFJyKGEpe3JldHVybiBhLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gdHIudGVzdChiLmdjbGlkKX0pfQpmdW5jdGlvbiB4cyhhLGIpe2lmKFNwKEEpKXtmb3IodmFyIGM9SHIoYi5wcmVmaXgpLGQ9e30sZT0wO2U8YS5sZW5ndGg7ZSsrKXhyW2FbZV1dJiYoZFthW2VdXT14clthW2VdXSk7Q3IoZnVuY3Rpb24oKXtHYihkLGZ1bmN0aW9uKGYsZyl7dmFyIGg9Y3EoYytnLEIuY29va2llLHZvaWQgMCxBcigpKTtoLnNvcnQoZnVuY3Rpb24odCx1KXtyZXR1cm4gc3ModSktc3ModCl9KTtpZihoLmxlbmd0aCl7dmFyIGw9aFswXSxuPXNzKGwpLHA9VnIobC5zcGxpdCgiLiIpKS5sZW5ndGghPT0wP2wuc3BsaXQoIi4iKS5zbGljZSgzKTpbXSxxPXt9LHI7cj1WcihsLnNwbGl0KCIuIikpLmxlbmd0aCE9PTA/bC5zcGxpdCgiLiIpWzJdOnZvaWQgMDtxW2ZdPVtyXTtocyhxLCEwLGIsbixwKX19KX0sQXIoKSl9fQpmdW5jdGlvbiB5cyhhKXt2YXIgYj1bImFnIl0sYz1bImdicmFpZCJdO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUhyKGEucHJlZml4KSxlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoIWYpYnJlYWs7dmFyIGc9d3EoZiw1KTtpZihnLmxlbmd0aCl7dmFyIGg9Zy5zb3J0KGZ1bmN0aW9uKHEscil7cmV0dXJuIE5yKHIpLU5yKHEpfSlbMF0sbD1OcihoKSxuPWguYixwPXt9O3BbY1tlXV09aC5rO2hzKHAsITAsYSxsLG4pfX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiB6cyhhLGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGFbYltjXV0pcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIEFzKGEpe2Z1bmN0aW9uIGIoaCxsLG4pe24mJihoW2xdPW4pfWlmKEVsKCkpe3ZhciBjPWVzKCksZDthLmluY2x1ZGVzKCJnYWRfc291cmNlIikmJihkPWMuZ2FkX3NvdXJjZSE9PXZvaWQgMD9jLmdhZF9zb3VyY2U6VXEoITEpLl9ncyk7aWYoenMoYyxhKXx8ZCl7dmFyIGU9e307YihlLCJnY2xpZCIsYy5nY2xpZCk7YihlLCJkY2xpZCIsYy5kY2xpZCk7YihlLCJnY2xzcmMiLGMuZ2Nsc3JjKTtiKGUsIndicmFpZCIsYy53YnJhaWQpO2IoZSwiZ2JyYWlkIixjLmdicmFpZCk7YnIoZnVuY3Rpb24oKXtyZXR1cm4gZX0sMyk7dmFyIGY9e30sZz0oZi5fdXA9IjEiLGYpO2IoZywiX2dzIixkKTticihmdW5jdGlvbigpe3JldHVybiBnfSwxKX19fWZ1bmN0aW9uIGtzKCl7dmFyIGE9UmooQS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gTGooYSwicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpfQpmdW5jdGlvbiBCcyhhKXtpZighWWYoMSkpcmV0dXJuIG51bGw7dmFyIGI9VXEoITApLmdhZF9zb3VyY2U7aWYoYiE9bnVsbClyZXR1cm4gQS5sb2NhdGlvbi5oYXNoPSIiLGI7aWYoWWYoMikpe2I9a3MoKTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPWVzKCk7aWYoenMoYyxhKSlyZXR1cm4iMCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ3MoYSl7dmFyIGI9QnMoYSk7YiE9bnVsbCYmYnIoZnVuY3Rpb24oKXt2YXIgYz17fTtyZXR1cm4gYy5nYWRfc291cmNlPWIsY30sNCl9CmZ1bmN0aW9uIERzKGEsYixjKXt2YXIgZD1bXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIGQ7Zm9yKHZhciBlPXt9LGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXSxoPWcuemc/Zy56ZzoiZ2NsIjtpZigoZy5sYWJlbHN8fFtdKS5pbmRleE9mKGMpPT09LTEpe2EucHVzaCgwKTt2YXIgbD0hMSxuPXZvaWQgMDtpZigobj1nLm9hKT09bnVsbD8wOm4uaW5jbHVkZXMoMikpbD0hMDt2YXIgcD12b2lkIDA7KChwPWcub2EpPT1udWxsPzA6cC5pbmNsdWRlcygxKSkmJiFlW2hdJiYobD0hMCxlW2hdPSEwKTtsJiZkLnB1c2goZyl9ZWxzZXthLnB1c2goMSk7dmFyIHE9dm9pZCAwO2lmKChxPWcub2EpPT1udWxsPzA6cS5pbmNsdWRlcygxKSllW2hdPSEwfX1yZXR1cm4gZH0KZnVuY3Rpb24gRXMoYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1bXTtjPWN8fHt9O2lmKCFCcihBcigpKSlyZXR1cm4gZjt2YXIgZz1FcihhLGUpLGg9RHMoZixnLGIpO2lmKGgubGVuZ3RoJiYhZCl7Zm9yKHZhciBsPVtdLG49ITEscD1tKGgpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlLHQ9cix1PXQudmVyc2lvbix2PXQuZ2NsaWQseD10LnRpbWVzdGFtcCx5PXQub2Esej0odC5sYWJlbHN8fFtdKS5jb25jYXQoW2JdKSxDPXZvaWQgMDtpZigoKEM9eSk9PW51bGw/MDpDLmluY2x1ZGVzKDEpKSYmIW4pe3ZhciBEPVt1LE1hdGgucm91bmQoeC8xRTMpLHZdLmNvbmNhdCh6KS5qb2luKCIuIiksST11cShjLHgsITApO0kuTWM9QXIoKTtvcShhLEQsSSk7bj0hMH12YXIgRz12b2lkIDA7ZSYmKChHPXkpPT1udWxsPzA6Ry5pbmNsdWRlcygyKSkmJmwucHVzaChuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHIse2xhYmVsczp6fSkpfWwubGVuZ3RoJiYKbXMoImdjbF9nYiIsbCxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gRnMoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2I9Ynx8e307dmFyIGU9R3IoYixjKSxmPURzKGQsZSxhKTtpZihmLmxlbmd0aCl7Zm9yKHZhciBnPVtdLGg9e30sbD1tKGYpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlLHE9SHIoYi5wcmVmaXgpLHI9SXIocC56ZyxxKTtpZighcilyZXR1cm4gZDt2YXIgdD1wLHU9dC52ZXJzaW9uLHY9dC5nY2xpZCx4PXQudGltZXN0YW1wLHk9dC5vYSx6PU1hdGgucm91bmQoeC8xRTMpLEM9THIodC5sYWJlbHN8fFtdLFthXSksRD12b2lkIDA7aWYoKEQ9eSk9PW51bGw/MDpELmluY2x1ZGVzKDEpKWlmKHAuemc9PT0iYWciJiYhaC5hZyl7dmFyIEk9e30sRz0oSS5rPXYsSS5pPSIiK3osSS5iPUMsSSk7QXEocixHLDUsYix4KTtoLmFnPSEwfWVsc2UgaWYocC56Zz09PSJnYiImJiFoLmdiKXt2YXIgTj1bdSx6LHZdLmNvbmNhdChDKS5qb2luKCIuIiksUz11cShiLHgsITApO1MuTWM9CkFyKCk7b3EocixOLFMpO2guZ2I9ITB9dmFyIFc9dm9pZCAwO2MmJigoVz15KT09bnVsbD8wOlcuaW5jbHVkZXMoMikpJiZnLnB1c2gobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxwLHtsYWJlbHM6Q30pKX1nLmxlbmd0aCYmbXMoImdjbF9nYiIsZyxiKX1yZXR1cm4gZH1mdW5jdGlvbiBHcyhhLGIpe3ZhciBjPUhyKGIpLGQ9SXIoYSxjKTtpZighZClyZXR1cm4gMDt2YXIgZTtlPWE9PT0iYWciP0pyKGQpOkVyKGQpO2Zvcih2YXIgZj0wLGc9MDtnPGUubGVuZ3RoO2crKylmPU1hdGgubWF4KGYsZVtnXS50aW1lc3RhbXApO3JldHVybiBmfWZ1bmN0aW9uIEhzKGEpe2Zvcih2YXIgYj0wLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZm9yKHZhciBlPWFbZC52YWx1ZV0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWI9TWF0aC5tYXgoYixOdW1iZXIoZVtmXS50aW1lc3RhbXApKTtyZXR1cm4gYn0KZnVuY3Rpb24gSXMoYSl7dmFyIGI9TWF0aC5tYXgoR3MoImF3IixhKSxIcyhCcihBcigpKT9ScCgpOnt9KSksYz1NYXRoLm1heChHcygiZ2IiLGEpLEhzKEJyKEFyKCkpP1JwKCJfZ2FjX2diIiwhMCk6e30pKTtjPU1hdGgubWF4KGMsR3MoImFnIixhKSk7cmV0dXJuIGM+Yn07dmFyIEpzPVJlZ0V4cCgiXlVBLVxcZCstXFxkKyUzQVtcXHctXSsoPzolMkNbXFx3LV0rKSooPzolM0JVQS1cXGQrLVxcZCslM0FbXFx3LV0rKD86JTJDW1xcdy1dKykqKSokIiksS3M9L15+P1tcdy1dKyg/Olwufj9bXHctXSspKiQvLExzPS9eXGQrXC5mbHNcLmRvdWJsZWNsaWNrXC5uZXQkLyxNcz0vO2dhYz0oW147P10rKS8sTnM9LztnYWNnYj0oW147P10rKS87CmZ1bmN0aW9uIE9zKGEsYil7aWYoTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpKXt2YXIgYz1CLmxvY2F0aW9uLmhyZWYubWF0Y2goYik7cmV0dXJuIGMmJmMubGVuZ3RoPT09MiYmY1sxXS5tYXRjaChKcyk/S2ooY1sxXSl8fCIiOiIifWZvcih2YXIgZD1bXSxlPW0oT2JqZWN0LmtleXMoYSkpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmb3IodmFyIGc9Zi52YWx1ZSxoPVtdLGw9YVtnXSxuPTA7bjxsLmxlbmd0aDtuKyspaC5wdXNoKGxbbl0uZ2NsaWQpO2QucHVzaChnKyI6IitoLmpvaW4oIiwiKSl9cmV0dXJuIGQubGVuZ3RoPjA/ZC5qb2luKCI7Iik6IiJ9CmZ1bmN0aW9uIFBzKGEsYixjKXtmb3IodmFyIGQ9QnIoQXIoKSk/UnAoIl9nYWNfZ2IiLCEwKTp7fSxlPVtdLGY9ITEsZz1tKE9iamVjdC5rZXlzKGQpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPUVzKCJfZ2FjX2diXyIrbCxhLGIsYyk7Zj1mfHxuLmxlbmd0aCE9PTAmJm4uc29tZShmdW5jdGlvbihwKXtyZXR1cm4gcD09PTF9KTtlLnB1c2gobCsiOiIrbi5qb2luKCIsIikpfXJldHVybntScjpmP2Uuam9pbigiOyIpOiIiLFFyOk9zKGQsTnMpfX1mdW5jdGlvbiBRcyhhKXt2YXIgYj1CLmxvY2F0aW9uLmhyZWYubWF0Y2gobmV3IFJlZ0V4cCgiOyIrYSsiPShbXjs/XSspIikpO3JldHVybiBiJiZiLmxlbmd0aD09PTImJmJbMV0ubWF0Y2goS3MpP2JbMV06dm9pZCAwfQpmdW5jdGlvbiBScyhhKXt2YXIgYj17fSxjLGQsZTtMcy50ZXN0KEIubG9jYXRpb24uaG9zdCkmJihjPVFzKCJnY2xncyIpLGQ9UXMoImdjbHN0IiksZT1RcygiZ2NsbHAiKSk7aWYoYyYmZCYmZSliLkVnPWMsYi5XaD1kLGIuVWg9ZTtlbHNle3ZhciBmPU5iKCksZz1NcigoYXx8Il9nY2wiKSsiX2dzIiksaD1nLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5nY2xpZH0pLGw9Zy5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIGYtcC50aW1lc3RhbXB9KSxuPWcubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm9kfSk7aC5sZW5ndGg+MCYmbC5sZW5ndGg+MCYmbi5sZW5ndGg+MCYmKGIuRWc9aC5qb2luKCIuIiksYi5XaD1sLmpvaW4oIi4iKSxiLlVoPW4uam9pbigiLiIpKX1yZXR1cm4gYn0KZnVuY3Rpb24gU3MoYSxiKXt2YXIgYz1hLnNwbGl0KCIuIiksZD1iP2Iuc3BsaXQoIi4iKTpbXSxlPWQubGVuZ3RoPT09Yy5sZW5ndGg/ZDp2b2lkIDA7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGYsZyl7dmFyIGg9e2djbGlkOmZ9O2lmKGUpe3ZhciBsPWVbZ10uc3BsaXQoIl8iKTtpZihsLmxlbmd0aD09PTIpe2gucWE9bmV3IGVyKE51bWJlcihsWzBdKSk7dmFyIG47dmFyIHA9TnVtYmVyKGxbMV0pO2lmKHA9PT0wKW49WzBdO2Vsc2V7dmFyIHE9W107cCYxJiZxLnB1c2goMSk7cCYyJiZxLnB1c2goMik7cCY0JiZxLnB1c2goMyk7cCY4JiZxLnB1c2goNCk7cCYxNiYmcS5wdXNoKDUpO249cX1oLm9hPW59fXJldHVybiBofSl9CmZ1bmN0aW9uIFRzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO2lmKExzLnRlc3QoQi5sb2NhdGlvbi5ob3N0KSl7dmFyIGU9UXMoYyk7aWYoZSl7aWYoWWYoMTcpKXt2YXIgZj1RcyhjKyJfc3JjIik7cmV0dXJuIFNzKGUsZil9aWYoZCl7dmFyIGc9bmV3IGVyO2ZyKGcsMik7ZnIoZywzKTtyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpnLG9hOlsxXX19KX1yZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpuZXcgZXIsb2E6WzFdfX0pfX1lbHNle2lmKGI9PT0iZ2NsaWQiKXtmb3IodmFyIGg9RXIoKGF8fCJfZ2NsIikrIl9hdyIsZCksbD1OdW1iZXIoWGZbNF09PT12b2lkIDA/MDpYZls0XSksbj1tKFVzKCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3EudGltZXN0YW1wPmwmJlFyKGgscSl9cmV0dXJuIGh9aWYoYj09PSJ3YnJhaWQiKXJldHVybiBFcigoYXx8CiJfZ2NsIikrIl9nYiIsZCk7aWYoYj09PSJicmFpZHMiKXJldHVybiBHcih7cHJlZml4OmF9LGQpfXJldHVybltdfWZ1bmN0aW9uIFVzKCl7cmV0dXJuKHdxKHZyLmF3LDQpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLm09PT0iMSJ9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJue2djbGlkOmEuayx0aW1lc3RhbXA6TnVtYmVyKGEuaSksdmVyc2lvbjoiIixvYTpbNV19fSl9ZnVuY3Rpb24gVnMoYSl7Zm9yKHZhciBiPTAsYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO2U+MCYmKGJ8PTE8PGUtMSl9cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBXcyhhKXtyZXR1cm4gTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpPyEoUXMoImdjbGF3Iil8fFFzKCJnYWMiKSk6SXMoYSl9CmZ1bmN0aW9uIFhzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlO2U9Yz9GcyhhLGIsZCk6RXMoKGImJmIucHJlZml4fHwiX2djbCIpKyJfZ2IiLGEsYix2b2lkIDAsZCk7cmV0dXJuIGUubGVuZ3RoPT09MHx8ZS5ldmVyeShmdW5jdGlvbihmKXtyZXR1cm4gZj09PTB9KT8iIjplLmpvaW4oIi4iKX07CnZhciBZcz1mdW5jdGlvbihhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1raigiYWRzX3BhZ2V2aWV3IixmdW5jdGlvbigpe3JldHVybnt9fSk7aWYoY1thXSlyZXR1cm4hMTtifHwoY1thXT0hMCk7cmV0dXJuITB9LFpzPWZ1bmN0aW9uKGEpe3JldHVybiBTaihhLCJnY2xpZCBkY2xpZCBnYnJhaWQgd2JyYWlkIGdjbGF3IGdjbGRjIGdjbGhhIGdjbGdmIGdjbGdiIF9nbCIuc3BsaXQoIiAiKSwiMCIpfSxhdD1mdW5jdGlvbigpe3ZhciBhPVJqKEEubG9jYXRpb24uaHJlZiksYj12b2lkIDAsYz12b2lkIDAsZD1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfc291cmNlIiksZT1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfY2FtcGFpZ25pZCIpLGYsZz1hLmhhc2gucmVwbGFjZSgiIyIsIiIpLm1hdGNoKCRzKTtmPWc/Z1sxXTp2b2lkIDA7ZCYmZj8oYj1kLGM9MSk6ZD8oYj1kLGM9Mik6ZiYmKGI9ZixjPTMpO3JldHVybntEZzpiLFNyOmMsVGg6ZX19LGJ0PWZ1bmN0aW9uKGEpe3ZhciBiPQpPcCghMSk9PT0xP0EudG9wLmxvY2F0aW9uLmhyZWY6QS5sb2NhdGlvbi5ocmVmO3JldHVybiBhKGIpfSxjdD1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZD1ScihkKTtmb3IodmFyIGU9W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKWUucHVzaChkW2ZdLmdjbGlkKTtlLmxlbmd0aCYmYi5wdXNoKGMrIjoiK2Uuam9pbigiLCIpKX0pO3JldHVybiBiLmpvaW4oIjsiKX0sZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWR0KGEpO2lmKGQpcmV0dXJuIGQ7dmFyIGU9SHIoYik7aWYoZT09PSJfZ2NsIil7dmFyIGY9IVhvKGZwKSYmYyxnPVtdO2E9PT0iYXciP2c9YXMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKTphPT09ImRjIiYmKGc9ZHMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKSk7aWYoZy5sZW5ndGg+MClyZXR1cm4gZj9be3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsZ2NsaWQ6IjAifV06Zy5tYXAoZnVuY3Rpb24obCl7cmV0dXJue3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsCmdjbGlkOmwudmFsdWUscWE6bC5xYSxvYTpbMV19fSl9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9hPT09ImF3Ij9FcihoLE0oNTYyKSk6WnIoaCk6W119LGR0PWZ1bmN0aW9uKGEpe3ZhciBiPVRqKCJnY2wiK2EpLGM9YT09PSJkYyJ8fGE9PT0iYXciP1RqKCJnY2wiK2ErIl9zcmMiKTp2b2lkIDA7aWYoYilyZXR1cm4gU3MoYixjKX0sZnQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT0iYXcifHxhPT09ImRjInx8YT09PSJnYiIpe3ZhciBkPVRqKCJnY2wiK2EpO2lmKGQpcmV0dXJuIGQuc3BsaXQoIi4iKX12YXIgZT1IcihiKTtpZihlPT09Il9nY2wiKXt2YXIgZj0hWG8oZnApJiZjLGc7Zz1lcygpW2FdfHxbXTtpZihnLmxlbmd0aD4wKXJldHVybiBmP1siMCJdOmd9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9EcihoKTpbXX0sZ3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSKGEsYil8fCFSKGEsYykpcmV0dXJuIiI7dmFyIGQ9UihhLGIpLnNwbGl0KCIuIiksZT1SKGEsYykuc3BsaXQoIi4iKTtyZXR1cm4gZC5sZW5ndGgmJgplLmxlbmd0aCYmZC5sZW5ndGg9PT1lLmxlbmd0aCYmZFswXSYmZVswXT9kLm1hcChmdW5jdGlvbihmLGcpe3JldHVybiBmKyJfIitlW2ddfSkuam9pbigiLiIpOiIifSwkcz0vXmdhZF9zb3VyY2VbXz1dKFxkKykkLztmdW5jdGlvbiBodChhLGIsYyl7dmFyIGQ9UihhLEYuRC5UYSk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0Iilmb3IodmFyIGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWUsaD1kW2ddO2lmKGghPT12b2lkIDApe2g9PT1udWxsJiYoaD0iIik7dmFyIGw9ImdhcC4iK2csbj1TdHJpbmcoaCk7Yz9jKGwsbik6YltsXT1ufX19O3ZhciBpdD0hMSxqdD1bXTtmdW5jdGlvbiBrdCgpe2lmKCFpdCl7aXQ9ITA7Zm9yKHZhciBhPWp0Lmxlbmd0aC0xO2E+PTA7YS0tKWp0W2FdKCk7anQ9W119fTtmdW5jdGlvbiBsdChhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtmdW5jdGlvbiBtdChhLGIsYyl7cmV0dXJuIHR5cGVvZiBhLmFkZEV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iPyhhLmFkZEV2ZW50TGlzdGVuZXIoYixjLCExKSwhMCk6ITF9ZnVuY3Rpb24gbnQoYSxiLGMpe3R5cGVvZiBhLnJlbW92ZUV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX07ZnVuY3Rpb24gb3QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7YS5nb29nbGVfaW1hZ2VfcmVxdWVzdHN8fChhLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cz1bXSk7dmFyIGU9UHAoYS5kb2N1bWVudCk7aWYoYyl7dmFyIGY9ZnVuY3Rpb24oKXtpZihjKXt2YXIgZz1hLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cyxoPURjKGcsZSk7aD49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGcsaCwxKX1udChlLCJsb2FkIixmKTtudChlLCJlcnJvciIsZil9O210KGUsImxvYWQiLGYpO210KGUsImVycm9yIixmKX1kJiYoZS5hdHRyaWJ1dGlvblNyYz0iIik7ZS5zcmM9YjthLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cy5wdXNoKGUpfQpmdW5jdGlvbiBwdChhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0iaHR0cHM6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvZ2VuXzIwND9pZD10Y2ZlIjtJcChhLGZ1bmN0aW9uKGQsZSl7aWYoZHx8ZD09PTApYys9IiYiK2UrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpfSk7cXQoYyxiKX0KZnVuY3Rpb24gcXQoYSxiKXt2YXIgYz13aW5kb3csZDtiPWI9PT12b2lkIDA/ITE6YjtkPWQ9PT12b2lkIDA/ITE6ZDtpZihjLmZldGNoKXt2YXIgZT17a2VlcGFsaXZlOiEwLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixyZWRpcmVjdDoiZm9sbG93IixtZXRob2Q6ImdldCIsbW9kZToibm8tY29ycyJ9O2QmJihlLm1vZGU9ImNvcnMiLCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU/ZS5hdHRyaWJ1dGlvblJlcG9ydGluZz17ZXZlbnRTb3VyY2VFbGlnaWJsZToidHJ1ZSIsdHJpZ2dlckVsaWdpYmxlOiJmYWxzZSJ9OmUuaGVhZGVycz17IkF0dHJpYnV0aW9uLVJlcG9ydGluZy1FbGlnaWJsZSI6ImV2ZW50LXNvdXJjZSJ9KTtjLmZldGNoKGEsZSl9ZWxzZSBvdChjLGEsYj09PXZvaWQgMD8hMTpiLGQ9PT12b2lkIDA/ITE6ZCl9O2Z1bmN0aW9uIHJ0KCl7dGhpcy5mYT10aGlzLmZhO3RoaXMuUj10aGlzLlJ9cnQucHJvdG90eXBlLmZhPSExO3J0LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5mYXx8KHRoaXMuZmE9ITAsdGhpcy5OKCkpfTtydC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O3J0LnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuZmE/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLlJ8fCh0aGlzLlI9W10pLGImJihhPWEuYmluZChiKSksdGhpcy5SLnB1c2goYSkpfTtydC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuUilmb3IoO3RoaXMuUi5sZW5ndGg7KXRoaXMuUi5zaGlmdCgpKCl9O2Z1bmN0aW9uIHN0KGEpe2EuYWRkdGxDb25zZW50PT09dm9pZCAwfHx2ZihhLmFkZHRsQ29uc2VudCl8fChhLmFkZHRsQ29uc2VudD12b2lkIDApO2EuZ2RwckFwcGxpZXM9PT12b2lkIDB8fHdmKGEuZ2RwckFwcGxpZXMpfHwoYS5nZHByQXBwbGllcz12b2lkIDApO3JldHVybiBhLnRjU3RyaW5nIT09dm9pZCAwJiYhdmYoYS50Y1N0cmluZyl8fGEubGlzdGVuZXJJZCE9PXZvaWQgMCYmIXVmKGEubGlzdGVuZXJJZCk/MjphLmNtcFN0YXR1cyYmYS5jbXBTdGF0dXMhPT0iZXJyb3IiPzA6M312YXIgdHQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtydC5jYWxsKHRoaXMpO3RoaXMuSD1udWxsO3RoaXMuamE9e307dGhpcy55YT0wO3RoaXMuWj1udWxsO3RoaXMuSz1hO3ZhciBjO3RoaXMudGltZW91dE1zPShjPWIudGltZW91dE1zKSE9bnVsbD9jOjUwMDt2YXIgZDt0aGlzLkVqPShkPWIuRWopIT1udWxsP2Q6ITF9O3dhKHR0LHJ0KTsKdHQucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmphPXt9O3RoaXMuWiYmKG50KHRoaXMuSywibWVzc2FnZSIsdGhpcy5aKSxkZWxldGUgdGhpcy5aKTtkZWxldGUgdGhpcy5qYTtkZWxldGUgdGhpcy5LO2RlbGV0ZSB0aGlzLkg7cnQucHJvdG90eXBlLk4uY2FsbCh0aGlzKX07dmFyIHZ0PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5LLl9fdGNmYXBpPT09ImZ1bmN0aW9uInx8dXQoYSkhPW51bGx9Owp0dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9e2ludGVybmFsQmxvY2tPbkVycm9yczp0aGlzLkVqfSxkPUhwKGZ1bmN0aW9uKCl7YShjKX0pLGU9MDt0aGlzLnRpbWVvdXRNcyE9PS0xJiYoZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSI7Yy5pbnRlcm5hbEVycm9yU3RhdGU9MTtkKCl9LHRoaXMudGltZW91dE1zKSk7dmFyIGY9ZnVuY3Rpb24oZyxoKXtjbGVhclRpbWVvdXQoZSk7Zz8oYz1nLGMuaW50ZXJuYWxFcnJvclN0YXRlPXN0KGMpLGMuaW50ZXJuYWxCbG9ja09uRXJyb3JzPWIuRWosaCYmYy5pbnRlcm5hbEVycm9yU3RhdGU9PT0wfHwoYy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsaHx8KGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpKSk6KGMudGNTdHJpbmc9InRjdW5hdmFpbGFibGUiLGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpO2EoYyl9O3RyeXt3dCh0aGlzLCJhZGRFdmVudExpc3RlbmVyIiwKZil9Y2F0Y2goZyl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsYy5pbnRlcm5hbEVycm9yU3RhdGU9MyxlJiYoY2xlYXJUaW1lb3V0KGUpLGU9MCksZCgpfX07dHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7YSYmYS5saXN0ZW5lcklkJiZ3dCh0aGlzLCJyZW1vdmVFdmVudExpc3RlbmVyIixudWxsLGEubGlzdGVuZXJJZCl9Owp2YXIgenQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2Q9ZD09PXZvaWQgMD8iNzU1IjpkO3ZhciBlO2E6e2lmKGEucHVibGlzaGVyJiZhLnB1Ymxpc2hlci5yZXN0cmljdGlvbnMpe3ZhciBmPWEucHVibGlzaGVyLnJlc3RyaWN0aW9uc1tiXTtpZihmIT09dm9pZCAwKXtlPWZbZD09PXZvaWQgMD8iNzU1IjpkXTticmVhayBhfX1lPXZvaWQgMH12YXIgZz1lO2lmKGc9PT0wKXJldHVybiExO3ZhciBoPWM7Yz09PTI/KGg9MCxnPT09MiYmKGg9MSkpOmM9PT0zJiYoaD0xLGc9PT0xJiYoaD0wKSk7dmFyIGw7aWYoaD09PTApaWYoYS5wdXJwb3NlJiZhLnZlbmRvcil7dmFyIG49eHQoYS52ZW5kb3IuY29uc2VudHMsZD09PXZvaWQgMD8iNzU1IjpkKTtsPW4mJmI9PT0iMSImJmEucHVycG9zZU9uZVRyZWF0bWVudCYmYS5wdWJsaXNoZXJDQz09PSJDSCI/ITA6biYmeHQoYS5wdXJwb3NlLmNvbnNlbnRzLGIpfWVsc2UgbD0hMDtlbHNlIGw9aD09PTE/YS5wdXJwb3NlJiZhLnZlbmRvcj94dChhLnB1cnBvc2UubGVnaXRpbWF0ZUludGVyZXN0cywKYikmJnh0KGEudmVuZG9yLmxlZ2l0aW1hdGVJbnRlcmVzdHMsZD09PXZvaWQgMD8iNzU1IjpkKTohMDohMDtyZXR1cm4gbH0seHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hKCFhfHwhYVtiXSl9LHd0PWZ1bmN0aW9uKGEsYixjLGQpe2N8fChjPWZ1bmN0aW9uKCl7fSk7dmFyIGU9YS5LO2lmKHR5cGVvZiBlLl9fdGNmYXBpPT09ImZ1bmN0aW9uIil7dmFyIGY9ZS5fX3RjZmFwaTtmKGIsMixjLGQpfWVsc2UgaWYodXQoYSkpe0F0KGEpO3ZhciBnPSsrYS55YTthLmphW2ddPWM7aWYoYS5IKXt2YXIgaD17fTthLkgucG9zdE1lc3NhZ2UoKGguX190Y2ZhcGlDYWxsPXtjb21tYW5kOmIsdmVyc2lvbjoyLGNhbGxJZDpnLHBhcmFtZXRlcjpkfSxoKSwiKiIpfX1lbHNlIGMoe30sITEpfSx1dD1mdW5jdGlvbihhKXtpZihhLkgpcmV0dXJuIGEuSDthLkg9TnAoYS5LLCJfX3RjZmFwaUxvY2F0b3IiKTtyZXR1cm4gYS5IfSxBdD1mdW5jdGlvbihhKXtpZighYS5aKXt2YXIgYj1mdW5jdGlvbihjKXtpZihjLnNvdXJjZT09PQphLkgpdHJ5e3ZhciBkO2Q9KHZmKGMuZGF0YSk/SlNPTi5wYXJzZShjLmRhdGEpOmMuZGF0YSkuX190Y2ZhcGlSZXR1cm47YS5qYVtkLmNhbGxJZF0oZC5yZXR1cm5WYWx1ZSxkLnN1Y2Nlc3MpfWNhdGNoKGUpe319O2EuWj1iO210KGEuSywibWVzc2FnZSIsYil9fSxCdD1mdW5jdGlvbihhKXtpZihhLmdkcHJBcHBsaWVzPT09ITEpcmV0dXJuITA7YS5pbnRlcm5hbEVycm9yU3RhdGU9PT12b2lkIDAmJihhLmludGVybmFsRXJyb3JTdGF0ZT1zdChhKSk7cmV0dXJuIGEuY21wU3RhdHVzPT09ImVycm9yInx8YS5pbnRlcm5hbEVycm9yU3RhdGUhPT0wP2EuaW50ZXJuYWxCbG9ja09uRXJyb3JzPyhwdCh7ZTpTdHJpbmcoYS5pbnRlcm5hbEVycm9yU3RhdGUpfSksITEpOiEwOmEuY21wU3RhdHVzIT09ImxvYWRlZCJ8fGEuZXZlbnRTdGF0dXMhPT0idGNsb2FkZWQiJiZhLmV2ZW50U3RhdHVzIT09InVzZXJhY3Rpb25jb21wbGV0ZSI/ITE6ITB9O3ZhciBDdD17MTowLDM6MCw0OjAsNzozLDk6MywxMDozfTtmdW5jdGlvbiBEdCgpe3JldHVybiBraigidGNmIixmdW5jdGlvbigpe3JldHVybnt9fSl9dmFyIEV0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dChBLHt0aW1lb3V0TXM6LTF9KX07CmZ1bmN0aW9uIEZ0KCl7dmFyIGE9RHQoKSxiPUV0KCk7dnQoYikmJiFHdCgpJiYhSHQoKSYmUCgxMjQpO2lmKCFhLmFjdGl2ZSYmdnQoYikpe0d0KCkmJihhLmFjdGl2ZT0hMCxhLnB1cnBvc2VzPXt9LGEuY21wSWQ9MCxhLnRjZlBvbGljeVZlcnNpb249MCx0bCgpLmFjdGl2ZT0hMCxhLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIik7Y3AoKTt0cnl7Yi5hZGRFdmVudExpc3RlbmVyKGZ1bmN0aW9uKGMpe2lmKGMuaW50ZXJuYWxFcnJvclN0YXRlIT09MClJdChhKSxkcChbRi5ELmthLEYuRC5YYSxGLkQubWFdKSx0bCgpLmFjdGl2ZT0hMDtlbHNlIGlmKGEuZ2RwckFwcGxpZXM9Yy5nZHByQXBwbGllcyxhLmNtcElkPWMuY21wSWQsYS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9Yy5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGUsSHQoKSYmKGEuYWN0aXZlPSEwKSwhSnQoYyl8fEd0KCl8fEh0KCkpe2EudGNmUG9saWN5VmVyc2lvbj1jLnRjZlBvbGljeVZlcnNpb247dmFyIGQ7aWYoYy5nZHByQXBwbGllcz09PQohMSl7dmFyIGU9e30sZjtmb3IoZiBpbiBDdClDdC5oYXNPd25Qcm9wZXJ0eShmKSYmKGVbZl09ITApO2Q9ZTtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyl9ZWxzZSBpZihKdChjKSl7dmFyIGc9e30saDtmb3IoaCBpbiBDdClpZihDdC5oYXNPd25Qcm9wZXJ0eShoKSlpZihoPT09IjEiKXt2YXIgbCxuPWMscD17VXI6ITB9O3A9cD09PXZvaWQgMD97fTpwO2w9QnQobik/bi5nZHByQXBwbGllcz09PSExPyEwOm4udGNTdHJpbmc9PT0idGN1bmF2YWlsYWJsZSI/IXAuaWRwY0FwcGxpZXM6KHAuaWRwY0FwcGxpZXN8fG4uZ2RwckFwcGxpZXMhPT12b2lkIDB8fHAuVXIpJiYocC5pZHBjQXBwbGllc3x8dmYobi50Y1N0cmluZykmJm4udGNTdHJpbmcubGVuZ3RoKT96dChuLCIxIiwwKTohMDohMTtnWyIxIl09bH1lbHNlIGdbaF09enQoYyxoLEN0W2hdKTtkPWd9aWYoZCl7YS50Y1N0cmluZz1jLnRjU3RyaW5nfHwidGNlbXB0eSI7YS5wdXJwb3Nlcz1kO3ZhciBxPXt9LHI9KHFbRi5ELmthXT0KYS5wdXJwb3Nlc1siMSJdPyJncmFudGVkIjoiZGVuaWVkIixxKTthLmdkcHJBcHBsaWVzIT09ITA/KGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pLHRsKCkuYWN0aXZlPSEwKToocltGLkQuWGFdPWEucHVycG9zZXNbIjMiXSYmYS5wdXJwb3Nlc1siNCJdPyJncmFudGVkIjoiZGVuaWVkIix0eXBlb2YgYS50Y2ZQb2xpY3lWZXJzaW9uPT09Im51bWJlciImJmEudGNmUG9saWN5VmVyc2lvbj49ND9yW0YuRC5tYV09YS5wdXJwb3Nlc1siMSJdJiZhLnB1cnBvc2VzWyI3Il0/ImdyYW50ZWQiOiJkZW5pZWQiOmRwKFtGLkQubWFdKSxWbyhyLHtldmVudElkOjB9LHtnZHByQXBwbGllczphP2EuZ2RwckFwcGxpZXM6dm9pZCAwLHRjU3RyaW5nOkt0KCl8fCIifSkpfX1lbHNlIGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pfSl9Y2F0Y2goYyl7SXQoYSksZHAoW0YuRC5rYSxGLkQuWGEsRi5ELm1hXSksdGwoKS5hY3RpdmU9ITB9fX0KZnVuY3Rpb24gSXQoYSl7YS50eXBlPSJlIjthLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIn1mdW5jdGlvbiBKdChhKXtyZXR1cm4gYS5ldmVudFN0YXR1cz09PSJ0Y2xvYWRlZCJ8fGEuZXZlbnRTdGF0dXM9PT0idXNlcmFjdGlvbmNvbXBsZXRlInx8YS5ldmVudFN0YXR1cz09PSJjbXB1aXNob3duIn1mdW5jdGlvbiBHdCgpe3JldHVybiBBLmd0YWdfZW5hYmxlX3RjZl9zdXBwb3J0PT09ITB9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gRHQoKS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9PT0hMH1mdW5jdGlvbiBLdCgpe3ZhciBhPUR0KCk7aWYoYS5hY3RpdmUpcmV0dXJuIGEudGNTdHJpbmd9ZnVuY3Rpb24gTHQoKXt2YXIgYT1EdCgpO2lmKGEuYWN0aXZlJiZhLmdkcHJBcHBsaWVzIT09dm9pZCAwKXJldHVybiBhLmdkcHJBcHBsaWVzPyIxIjoiMCJ9CmZ1bmN0aW9uIE10KGEpe2lmKCFDdC5oYXNPd25Qcm9wZXJ0eShTdHJpbmcoYSkpKXJldHVybiEwO3ZhciBiPUR0KCk7cmV0dXJuIGIuYWN0aXZlJiZiLnB1cnBvc2VzPyEhYi5wdXJwb3Nlc1tTdHJpbmcoYSldOiEwfTt2YXIgTnQ9W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV0sT3Q9e30sUHQ9KE90W0YuRC5rYV09MSxPdFtGLkQucmFdPTIsT3QpO2Z1bmN0aW9uIFF0KGEpe2lmKGE9PT12b2lkIDApcmV0dXJuIDA7c3dpdGNoKE8oYSxGLkQuUmMpKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICExOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDJ9fWZ1bmN0aW9uIFJ0KCl7cmV0dXJuKE0oMTgzKT9MZigxNikuc3BsaXQoIn4iKTpMZigxNykuc3BsaXQoIn4iKSkuaW5kZXhPZih6bSgpKSE9PS0xJiZIYy5nbG9iYWxQcml2YWN5Q29udHJvbD09PSEwfWZ1bmN0aW9uIFN0KGEpe2lmKFJ0KCkpcmV0dXJuITE7dmFyIGI9UXQoYSk7aWYoYj09PTMpcmV0dXJuITE7c3dpdGNoKENsKEYuRC5YYSkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2Nhc2UgNDpyZXR1cm4gYj09PTI7Y2FzZSAwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fQpmdW5jdGlvbiBUdCgpe3JldHVybiBFbCgpfHwhQmwoRi5ELmthKXx8IUJsKEYuRC5yYSl9ZnVuY3Rpb24gVXQoKXt2YXIgYT17fSxiO2ZvcihiIGluIFB0KVB0Lmhhc093blByb3BlcnR5KGIpJiYoYVtQdFtiXV09Q2woYikpO3JldHVybiJHMSIreWYoYVsxXXx8MCkreWYoYVsyXXx8MCl9dmFyIFZ0PXt9LFd0PShWdFtGLkQua2FdPTAsVnRbRi5ELnJhXT0xLFZ0W0YuRC5tYV09MixWdFtGLkQuWGFdPTMsVnQpO2Z1bmN0aW9uIFh0KGEpe3N3aXRjaChhKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICEwOnJldHVybiAzO2Nhc2UgITE6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19CmZ1bmN0aW9uIFl0KGEpe2Zvcih2YXIgYj0iMSIsYz0wO2M8TnQubGVuZ3RoO2MrKyl7dmFyIGQ9YixlLGY9TnRbY10sZz1BbC5kZWxlZ2F0ZWRDb25zZW50VHlwZXNbZl07ZT1nPT09dm9pZCAwPzA6V3QuaGFzT3duUHJvcGVydHkoZyk/MTJ8V3RbZ106ODt2YXIgaD10bCgpO2guYWNjZXNzZWRBbnk9ITA7dmFyIGw9aC5lbnRyaWVzW2ZdfHx7fTtlPWU8PDJ8WHQobC5pbXBsaWNpdCk7Yj1kKygiIisiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbZV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW1h0KGwuZGVjbGFyZSk8PDR8WHQobC5kZWZhdWx0KTw8MnxYdChsLnVwZGF0ZSldKX12YXIgbj1iLHA9KFJ0KCk/MTowKTw8MyxxPShFbCgpPzE6MCk8PDIscj1RdChhKTtiPW4rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW3B8CnF8cl07cmV0dXJuIGIrPSIiKyIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIltBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9zdG9yYWdlPDw0fEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFuYWx5dGljc19zdG9yYWdlPDwyfEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFkX3VzZXJfZGF0YV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iWyhBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM/MTowKTw8MnxBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9wZXJzb25hbGl6YXRpb25dfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIEJsKEYuRC5tYSk/ImEiOiItIn1mdW5jdGlvbiAkdCgpe3JldHVybiBCbSgpfHwoR3QoKXx8SHQoKSkmJkx0KCk9PT0iMSI/IjEiOiIwIn0KZnVuY3Rpb24gYXUoKXtyZXR1cm4oQm0oKT8hMDohKCFHdCgpJiYhSHQoKSkmJkx0KCk9PT0iMSIpfHwhQmwoRi5ELm1hKX0KZnVuY3Rpb24gYnUoKXt2YXIgYT0iMCIsYj0iMCIsYzt2YXIgZD1EdCgpO2M9ZC5hY3RpdmU/ZC5jbXBJZDp2b2lkIDA7dHlwZW9mIGM9PT0ibnVtYmVyIiYmYz49MCYmYzw9NDA5NSYmKGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2M+PjYmNjNdLGI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2MmNjNdKTt2YXIgZT0iMCIsZjt2YXIgZz1EdCgpO2Y9Zy5hY3RpdmU/Zy50Y2ZQb2xpY3lWZXJzaW9uOnZvaWQgMDt0eXBlb2YgZj09PSJudW1iZXIiJiZmPj0wJiZmPD02MyYmKGU9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2ZdKTt2YXIgaD0wO0JtKCkmJihofD0xKTtMdCgpPT09IjEiJiYoaHw9Mik7R3QoKSYmKGh8PTQpO3ZhciBsO3ZhciBuPUR0KCk7bD1uLmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZSE9PQp2b2lkIDA/bi5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU/IjEiOiIwIjp2b2lkIDA7bD09PSIxIiYmKGh8PTgpO3RsKCkud2FpdFBlcmlvZFRpbWVkT3V0JiYoaHw9MTYpO3JldHVybiIxIithK2IrZSsiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbaF19O3ZhciBjdT17VUE6MSxBVzoyLERDOjMsRzo0LEdGOjUsR1Q6MTIsR1RNOjE0LEhBOjYsTUM6N307CmZ1bmN0aW9uIGR1KGEpe2E9YT09PXZvaWQgMD97fTphO3ZhciBiPUUoNSkuc3BsaXQoIi0iKVswXS50b1VwcGVyQ2FzZSgpLGMsZD17Y3RpZDpFKDUpLERvOkpmKDE1KSxJbzpFKDE0KSxMczpJZig3KT8yOjEsRHQ6YS5wZixjYW5vbmljYWxJZDpFKDYpLG50OihjPUFrKCkpPT1udWxsP3ZvaWQgMDpjLmNhbm9uaWNhbENvbnRhaW5lcklkLEV0OmEuVGc9PT12b2lkIDA/dm9pZCAwOmEuVGc/MTA6MTJ9O2QuY2Fub25pY2FsSWQhPT1hLm1jJiYoZC5tYz1hLm1jKTt2YXIgZT14aygpO2QuVXM9ZT9lLmNhbm9uaWNhbENvbnRhaW5lcklkOnZvaWQgMDtJZig0NSk/KGQuaGk9Y3VbYl0sZC5oaXx8KGQuaGk9MCkpOmQuaGk9RGo/MTM6MTA7SWYoNDcpPyhkLmJrPTAsZC5xcj0yKTpJZig1MCk/ZC5iaz0xOmQuYms9Mzt2YXIgZj1hLGc9ezY6ITF9O0pmKDU0KT09PTI/Z1s3XT0hMDpKZig1NCk9PT0xJiYoZ1syXT0hMCk7aWYoS2Mpe3ZhciBoPUxqKFJqKEtjKSwiaG9zdCIpO2gmJihnWzhdPQpoLm1hdGNoKC9eKHd3d1wuKT9nb29nbGV0YWdtYW5hZ2VyXC5jb20kLyk9PT1udWxsKX12YXIgbDtnWzldPShsPWYuZWYpIT1udWxsP2w6ITE7dmFyIG49RmsoKSxwO2dbMTBdPShwPW49PW51bGw/dm9pZCAwOm4uZnJvbUNvbnRhaW5lckV4ZWN1dGlvbikhPW51bGw/cDohMTtkLnpyPWc7cmV0dXJuIENmKGQsYS5Qbil9Owp2YXIgZnU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9bShldShhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWUsZj1SKGEsZSksZz1RKGEsSC5KLlllKTtNKDU4OSkmJmcmJihlPT09Ri5ELnphfHxlPT09Ri5ELlVhfHxlPT09Ri5ELlBlKSYmdHlwZW9mIGY9PT0ic3RyaW5nIiYmKGY9WnMoZikpO3ZhciBoPW9wKGUsZik7aCYmKCFnfHxlIT09Ri5ELkRkJiZlIT09Ri5ELktkJiZlIT09Ri5ELkVlJiZlIT09Ri5ELkJmfHwoaC52YWx1ZT0iMCIpLE0oNTA0KSYmKGU9PT1GLkQuTWQ/aC5rZXk9ImV2bmlkIjplPT09Ri5ELk5kJiYoaC5rZXk9ImV4Y2lkIikpLGJbaC5rZXldPWgudmFsdWUpfWIuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxUZzphLk0uaXNHdG1FdmVudCxlZjpRKGEsSC5KLkNjKX0pO1R0KCkmJihiLmdjcz1iLmdjc3x8VXQoKSk7Yi5nY2Q9Yi5nY2R8fFl0KGEuTSk7YXUoKSYmKGIuZG1hX2Nwcz1adCgpKTtiLmRtYT0kdCgpO3Z0KEV0KCkpJiYKKGIudGNmZD1idSgpKTt2YXIgbD1DcChhKTtsJiYoYi50YWdfZXhwPWwpO2lmKFEoYSxILkouQmspKXtiLnRmdD1TdHJpbmcoTmIoKSk7dmFyIG49cGQoKTtuIT09dm9pZCAwJiYoYi50ZmQ9U3RyaW5nKE1hdGgucm91bmQobikpKX1iLmFwdmU9IjEiO2IuYXB2Zj1uZCgpPyJmIjoibmYiO2ZvLkhbY28uaWEuY2JdIT09Ym8uTWEuVWV8fGZvLktbY28uaWEuY2JdLmlzQ29uc2VudEdyYW50ZWQoKXx8KGIubGltaXRlZF9hZHM9IjEiKTt2YXIgcD1RKGEsSC5KLlhnKTtNKDQ3NCkmJnAhPW51bGwmJnAhPT0iIiYmKGIuX2dzaWQ9cCk7aHQoYSxiLGZ1bmN0aW9uKHEscil7YltxXT1lbmNvZGVVUklDb21wb25lbnQocil9KTtyZXR1cm4gYn07dmFyIGd1PWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5lbmRwb2ludD1hO3RoaXMuZmE9Yzt0aGlzLmphPWQ7dGhpcy5wYXJhbWV0ZXJFbmNvZGluZz1lO3RoaXMuWj1iLnNsaWNlKCl9O2d1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7cmV0dXJuIFhvKHRoaXMuWil9O2d1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtndS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhPU1tW3RoaXMuZW5kcG9pbnRdKHZvaWQgMCk7cmV0dXJuIFNiKGEsImh0dHBzOi8vIik/YS5zdWJzdHJpbmcoOCk6U2IoYSwiaHR0cDovLyIpP2Euc3Vic3RyaW5nKDcpOmF9O3ZhciBodT1mdW5jdGlvbihhLGIpe3RoaXMubWV0aG9kTmFtZT1hO3RoaXMuUj1ifTtodS5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNTdXBwb3J0ZWQoKSlpZigoYz09bnVsbD92b2lkIDA6Yy5ib2R5KT09PXZvaWQgMHx8dGhpcy5IKCkpdHJ5e3RoaXMuSyhhLGIsYyl9Y2F0Y2goZCl7YS5yZChkKX1lbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgZG9lcyBub3Qgc3VwcG9ydCBhIHJlcXVlc3QgYm9keS4iKTtlbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgaXMgbm90IHN1cHBvcnRlZC4iKX07dmFyIGl1PWZ1bmN0aW9uKCl7aHUuY2FsbCh0aGlzLCJJbWFnZVBpeGVsIiwzKX07d2EoaXUsaHUpO2l1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtpdS5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiExfTsKaXUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe1pjKGIsZnVuY3Rpb24oKXthLmpmKCl9LGZ1bmN0aW9uKCl7YS5vbkZhaWx1cmUodm9pZCAwKX0sYz09bnVsbD92b2lkIDA6Yy5hZil9O3ZhciBqdT1mdW5jdGlvbigpe2h1LmNhbGwodGhpcywiU2VuZEJlYWNvbiIsMSl9O3dhKGp1LGh1KTtqdS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2QoKX07anUucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07anUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe2pkKGIsYz09bnVsbD92b2lkIDA6Yy5ib2R5KT9hLmpmKCk6YS5yZCh2b2lkIDApfTt2YXIga3U9ZnVuY3Rpb24oKXtodS5jYWxsKHRoaXMsIkZldGNoIiwxKX07d2Eoa3UsaHUpO2t1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiB5YihBLmZldGNoKX07a3UucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Cmt1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtBLmZldGNoKGIsYz09bnVsbD92b2lkIDA6Yy5HYikudGhlbihmdW5jdGlvbihkKXtpZihkLm9rKWEucGUoZCk7ZWxzZSBpZihkLnN0YXR1cz09PTApYS5qZigpO2Vsc2UgYS5vbkZhaWx1cmUoIkZldGNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrZC5zdGF0dXMrIi4iKX0pLmNhdGNoKGZ1bmN0aW9uKGQpe2EucmQoZCl9KX07dmFyIGx1PW5ldyBpdSxtdT1uZXcganUsbnU9bmV3IGt1O3ZhciBvdT1mdW5jdGlvbigpe307b3UucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm5bXX07CnZhciBwdT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXTpiO2d1LmNhbGwodGhpcyxhLGIsMSwhMCwyKX07d2EocHUsZ3UpO3B1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe2lmKHRoaXMuWi5sZW5ndGgpe3ZhciBiPVEoYSxILkouRGspO2lmKGIhPT12b2lkIDApcmV0dXJuIGJ9cmV0dXJuIGd1LnByb3RvdHlwZS5LLmNhbGwodGhpcyxhKX07cHUucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdShhKTthLnRhcmdldC5kZXN0aW5hdGlvbklkJiYoYy50aWQ9YS50YXJnZXQuZGVzdGluYXRpb25JZCk7Yi5tZXRob2QgaW5zdGFuY2VvZiBrdT9jLmZtdD0iOCI6Yi5tZXRob2QgaW5zdGFuY2VvZiBqdT9jLmZtdD0iNSI6Yi5tZXRob2QgaW5zdGFuY2VvZiBpdSYmKGMuZm10PSIzIik7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS55YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTihhLGIpO3JldHVybiI/IitPYmplY3Qua2V5cyhjKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQrCiI9IitjW2RdfSkuam9pbigiJiIpfTtwdS5wcm90b3R5cGUuSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55YShhLGIpLGU9e307aWYoYi5tZXRob2QgaW5zdGFuY2VvZiBrdSl7ZS5HYj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGxkKTtpZih0aGlzLmVuZHBvaW50PT09NTh8fHRoaXMuZW5kcG9pbnQ9PT01NyllLkdiLm1ldGhvZD0iR0VUIjt0aGlzLmVuZHBvaW50IT09NDV8fHF1LksoYSl8fChlLkdiLmNyZWRlbnRpYWxzPSJvbWl0IixkKz0iJmdhcC51Y2ZiPTEiKX1jKGQsZSl9O3ZhciBxdT1uZXcgcHUoNDUpLHJ1PW5ldyBwdSg0NSxbXSksc3U9bmV3IHB1KDQ2LFtdKSx0dT1mdW5jdGlvbigpe3B1LmNhbGwodGhpcyw2OSl9O3dhKHR1LHB1KTt0dS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oYSl7dmFyIGI9TSg0NzQpJiYoISFSKGEsIl9nc2lkIil8fCEhUShhLEguSi5YZykpLGM9UihhLEYuRC5IZCkhPT0iMSImJighIVIoYSwiZ2NsaWQiKXx8CiEhUihhLCJkY2xpZCIpfHwhIVIoYSwiZ2Nsc3JjIil8fCEhUihhLCJhdWlkIikpO3JldHVybiBifHxjfTt0dS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1KGEpLGQ9bHAoYSxjKXx8e307T2JqZWN0LmtleXMoZCkubGVuZ3RoPjAmJihiLm1ldGhvZCBpbnN0YW5jZW9mIGt1P2QuZm10PSI4IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGp1P2QuZm10PSI1IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGl1JiYoZC5mbXQ9IjMiKSk7cmV0dXJuIGR9O3ZhciB1dT1uZXcgdHUsdnU9ZnVuY3Rpb24oKXtwdS5jYWxsKHRoaXMsNDUpfTt3YSh2dSxwdSk7dnUucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2cvZC9jY20vY29sbGVjdCJ9O3Z1LnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9cHUucHJvdG90eXBlLk4uY2FsbCh0aGlzLGEsYik7Y1siZ2FwLjFwZmIiXT0iMSI7cmV0dXJuIGN9O3ZhciB3dT1mdW5jdGlvbihhKXtwdS5jYWxsKHRoaXMsYSxbImFkX3N0b3JhZ2UiLAoiYWRfdXNlcl9kYXRhIl0pfTt3YSh3dSxwdSk7d3UucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1wdS5wcm90b3R5cGUuTi5jYWxsKHRoaXMsYSxiKTtyZXR1cm4gaHAoYyl9O3ZhciB4dT1uZXcgd3UoNTgpLHl1PW5ldyB3dSg1NyksenU9ZnVuY3Rpb24oKXt9O3dhKHp1LG91KTt6dS5wcm90b3R5cGUuSD1mdW5jdGlvbihhKXt2YXIgYj1xdS5LKGEpLGM9Yj9xdTpzdSxkPVt7ZW5kcG9pbnQ6YyxtZXRob2Q6bmQoKT9udTptdX0se2VuZHBvaW50OmMsbWV0aG9kOmx1fV07Yj9NKDUxNykmJklmKDQ3KSYmZC5wdXNoKHtlbmRwb2ludDpuZXcgdnUsbWV0aG9kOm51fSk6TSg2MDApJiZkLnB1c2goe2VuZHBvaW50OnJ1LG1ldGhvZDpudX0pO3JldHVybiBkfTt6dS5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSEhUShhLEguSi52ZCksZD1SKGEsRi5ELlBkKT09PSIxIixlPVIoYSxGLkQuSGQpPT09IjEiLGY9cXUuSyhhKSxnPWMmJmQmJiFlJiZmO2lmKGcpe3ZhciBoPQpRYygpfHxPYygpP3h1Onl1O2IucHVzaChbe2VuZHBvaW50OmgsbWV0aG9kOm51fSx7ZW5kcG9pbnQ6aCxtZXRob2Q6bHV9XSl9ZiYmKGd8fFEoYSxILkouaGQpKSYmYi5wdXNoKFt7ZW5kcG9pbnQ6dXUsbWV0aG9kOm5kKCk/bnU6bHV9XSk7cmV0dXJuIGJ9O3ZhciBBdT1uZXcgenU7dmFyIFQ9e1c6e0prOjEsbmo6MixGazozLG1sOjQsR2s6NSx5ZDo2LGtsOjcsTXE6OCxxbjo5LEhrOjEwLElrOjExLEZoOjEyLERtOjEzLEFtOjE0LENtOjE1LHptOjE2LEJtOjE3LHltOjE4LFRvOjE5LHhxOjIwLHlxOjIxLGZqOjIyLHVuOjI0LE9tOjI1LFNrOjI2LFRrOjI3LFJrOjI4LFVrOjI5LHJqOjMwLE9rOjMxLFpvOjMyfX07VC5XW1QuVy5Ka109IkFMTE9XX0lOVEVSRVNUX0dST1VQUyI7VC5XW1QuVy5ual09IlNFUlZFUl9DT05UQUlORVJfVVJMIjtULldbVC5XLkZrXT0iQURTX0RBVEFfUkVEQUNUSU9OIjtULldbVC5XLm1sXT0iQ1VTVE9NRVJfTElGRVRJTUVfVkFMVUUiO1QuV1tULlcuR2tdPSJBTExPV19DVVNUT01fU0NSSVBUUyI7VC5XW1QuVy55ZF09IkFOWV9DT09LSUVfUEFSQU1TIjtULldbVC5XLmtsXT0iQ09PS0lFX0VYUElSRVMiO1QuV1tULlcuTXFdPSJMRUdBQ1lfRU5IQU5DRURfQ09OVkVSU0lPTl9KU19WQVJJQUJMRSI7VC5XW1QuVy5xbl09IlJFU1RSSUNURURfREFUQV9QUk9DRVNTSU5HIjsKVC5XW1QuVy5Ia109IkFMTE9XX0RJU1BMQVlfRkVBVFVSRVMiO1QuV1tULlcuSWtdPSJBTExPV19HT09HTEVfU0lHTkFMUyI7VC5XW1QuVy5GaF09IkdFTkVSQVRFRF9UUkFOU0FDVElPTl9JRCI7VC5XW1QuVy5EbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOS05PV04iO1QuV1tULlcuQW1dPSJGTE9PRExJR0hUX0NPVU5USU5HX01FVEhPRF9TVEFOREFSRCI7VC5XW1QuVy5DbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOSVFVRSI7VC5XW1QuVy56bV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1BFUl9TRVNTSU9OIjtULldbVC5XLkJtXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfVFJBTlNBQ1RJT05TIjtULldbVC5XLnltXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfSVRFTVNfU09MRCI7VC5XW1QuVy5Ub109IkFEU19PR1RfVjFfVVNBR0UiO1QuV1tULlcueHFdPSJGT1JNX0lOVEVSQUNUSU9OX1BFUk1JU1NJT05fREVOSUVEIjsKVC5XW1QuVy55cV09IkZPUk1fU1VCTUlUX1BFUk1JU1NJT05fREVOSUVEIjtULldbVC5XLmZqXT0iTUlDUk9UQVNLX05PVF9TVVBQT1JURUQiO1QuV1tULlcudW5dPSJTRVRfRU5DUllQVEVEX0RBVEFfVE9fQ0FDSEUiO1QuV1tULlcuT21dPSJHRVRfRU5DUllQVEVEX0RBVEFfRlJPTV9DQUNIRSI7VC5XW1QuVy5Ta109IkNPTkZJR19ERVRFQ1RFRF9XSVRIX05PX1BBUkFNIjtULldbVC5XLlRrXT0iQ09ORklHX0RFVEVDVEVEX1dJVEhfUEFSQU0iO1QuV1tULlcuUmtdPSJDT05GSUdfQ09OU0VOVF9TRVRfQkVGT1JFIjtULldbVC5XLlVrXT0iQ09ORklHX1NFVF9VU0VEX0JFRk9SRSI7VC5XW1QuVy5yal09IlNIQURPV19ET01fQVVUT19QSUkiO1QuV1tULlcuT2tdPSJDQ0RfVVNFUl9EQVRBX1dFQl9PTl9DT05GSUciO1QuV1tULlcuWm9dPSJCTEVOREVEX1VTRVJfREFUQSI7dmFyIEJ1PXt9LEN1PShCdVtGLkQudWldPVQuVy5KayxCdVtGLkQuZGRdPVQuVy5uaixCdVtGLkQueWNdPVQuVy5uaixCdVtGLkQubWJdPVQuVy5GayxCdVtGLkQuR2VdPVQuVy5tbCxCdVtGLkQucmldPVQuVy5HayxCdVtGLkQuSmRdPVQuVy55ZCxCdVtGLkQubmJdPVQuVy55ZCxCdVtGLkQuTGJdPVQuVy55ZCxCdVtGLkQuSWRdPVQuVy55ZCxCdVtGLkQudmNdPVQuVy55ZCxCdVtGLkQuVGJdPVQuVy55ZCxCdVtGLkQuQ2JdPVQuVy5rbCxCdVtGLkQuV2JdPVQuVy5xbixCdVtGLkQuaGhdPVQuVy5IayxCdVtGLkQuU2NdPVQuVy5JayxCdSksRHU9e30sRXU9KER1LnVua25vd249VC5XLkRtLER1LnN0YW5kYXJkPVQuVy5BbSxEdS51bmlxdWU9VC5XLkNtLER1LnBlcl9zZXNzaW9uPVQuVy56bSxEdS50cmFuc2FjdGlvbnM9VC5XLkJtLER1Lml0ZW1zX3NvbGQ9VC5XLnltLER1KTt2YXIgRnU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3NiKCJHVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTCIsYik7YyYmKGEuSFtiXT0hMCl9LHZiPW5ldyBmdW5jdGlvbigpe3RoaXMuSD1bXX07ZnVuY3Rpb24gR3UoYSl7RnUodmIsYSwhMSl9ZnVuY3Rpb24gSHUoYSxiKXt2YXIgYz1iPT09dm9pZCAwPyExOmIsZD12YjtjPWM9PT12b2lkIDA/ITE6Yztmb3IodmFyIGU9T2JqZWN0LmtleXMoYSksZj1tKE9iamVjdC5rZXlzKEN1KSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5pbmNsdWRlcyhoKSYmRnUoZCxDdVtoXSxjKX19O2Z1bmN0aW9uIEl1KGEsYil7YT9hLnRoZW4oYik6Yih2b2lkIDApfWZ1bmN0aW9uIEp1KGEpe3JldHVybiBQcm9taXNlLmFsbFNldHRsZWQoYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3RhdHVzPT09ImZ1bGZpbGxlZCJ9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudmFsdWV9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGEsYjtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxyZXNvbHZlOmEscmVqZWN0OmJ9fTtmdW5jdGlvbiBMdShhLGIsYyxkLGUsZil7dmFyIGc9Yy5zbGljZSgpLGg7ZD09bnVsbHx8KGg9ZC51dik9PW51bGx8fGguY2FsbChkLGEsYixjLGUpO3ZhciBsPUt1KCksbj1sLnByb21pc2UscD1sLnJlc29sdmUscT1bXSxyPWZ1bmN0aW9uKCl7cChxKTt2YXIgdTtkPT1udWxsfHwodT1kLlJzKT09bnVsbHx8dS5jYWxsKGQsYSxiLGMsZSxxKX0sdD1mdW5jdGlvbigpe3ZhciB1PWcuc2hpZnQoKTt1P3UubWV0aG9kLmlzU3VwcG9ydGVkKCk/TXUoYSxiLHUuZW5kcG9pbnQsZCxxLHUubWV0aG9kLGUsZix0LHIpOnQoKTpyKCl9O3QoKTtyZXR1cm4gbn0KZnVuY3Rpb24gTXUoYSxiLGMsZCxlLGYsZyxoLGwsbil7dmFyIHA9Yy5SKGEpLHE9e3RrOmIsZW5kcG9pbnQ6Yyxpc1ByaW1hcnk6ZyxzYjp2b2lkIDAscGs6ZixqdDp7fX0scj0hMSx0PWZ1bmN0aW9uKHosQyl7aWYocilQKDE4Nyk7ZWxzZSBpZihyPSEwLCF1KXt2YXIgRD1DfHx7fSxJPUQuYm9keSxHPUQuR2IsTj1ELmFmO0M9T2JqZWN0LmZyZWV6ZShuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LEk/e2JvZHk6SX06e30sRz97R2I6R306e30sTj97YWY6Tn06e30pKTtpZihJJiYhZi5IKCkpeCgpLGwoKTtlbHNle3ZhciBTPU51KHopLFc9cFswXT09PSIvIj8iIitwK1M6Imh0dHBzOi8vIitwK1M7cS5zYj1XO3EuanQ9Qzt2YXIgZWE7ZD09bnVsbHx8KGVhPWQuU3MpPT1udWxsfHxlYS5jYWxsKGQsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHEpKTt2YXIgamE9e2Rlc3RpbmF0aW9uSWQ6YS50YXJnZXQuZGVzdGluYXRpb25JZCxlbmRwb2ludDpjLmVuZHBvaW50LApldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9O2YuUj09PXZvaWQgMHx8Yy5mYSE9PTImJihjLmZhIT09MXx8ZS5sZW5ndGgpfHxrbi5yZWdpc3RlcihqYSxmLlIsVyk7dmFyIGZhPWZ1bmN0aW9uKGRhLG1hKXt4KCk7aWYocS5zdGF0dXMhPT12b2lkIDApcmV0dXJuIFAoMTkyKSwhMTtxLnN0YXR1cz1kYTtlLnB1c2gocSk7dmFyIFBhO2Q9PW51bGx8fChQYT1kLnVvKT09bnVsbHx8UGEuY2FsbChkLGEsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxxKSxtYSk7cmV0dXJuITB9LHNhPXtGbzpqYSxyZDpmdW5jdGlvbigpe2ZhKDIpJiZsKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2ZhKDMpJiZsKCl9LHBlOmZ1bmN0aW9uKGRhKXtmYShkYS5zdGF0dXM9PT0wPzE6ZGEub2s/MDozLGRhKSYmbigpfSxqZjpmdW5jdGlvbigpe2ZhKDEpJiZuKCl9fTtPdShjLGEsVyxTLEkpO2Yuc2VuZFJlcXVlc3Qoc2EsVyxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LAp7fSxJJiZ7Ym9keTpJfSxHJiZ7R2I6R30sTiYme2FmOk59KSl9fX0sdT0hMSx2LHg9ZnVuY3Rpb24oKXt2IT09dm9pZCAwJiYoQS5jbGVhclRpbWVvdXQodiksdj12b2lkIDApfTtNKDU3NCkmJih2PUEuc2V0VGltZW91dChmdW5jdGlvbigpe3Y9dm9pZCAwO3U9ITA7aWYocS5zdGF0dXM9PT12b2lkIDApe3Euc3RhdHVzPTQ7cS5zYj09PXZvaWQgMCYmKHEuc2I9IltmYWlsZWQgdG8gYnVpbGRdICIrcCk7ZS5wdXNoKHEpO3ZhciB6O2Q9PW51bGx8fCh6PWQudW8pPT1udWxsfHx6LmNhbGwoZCxhLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30scSksdm9pZCAwKTtsKCl9fSw1RTMpKTt2YXIgeT17SWM6cCxtZXRob2Q6Zix5djplLGlzUHJpbWFyeTpnLEN0Omh9O3RyeXtjLkgoYSx5LHQpfWNhdGNoKHope3goKSxQKDE4OCksbCgpfX0KZnVuY3Rpb24gT3UoYSxiLGMsZCxlKXtpZihhLmphKXt2YXIgZj1iLnRhcmdldC5kZXN0aW5hdGlvbklkLGc9YS5lbmRwb2ludDtpZihnPT09NDV8fGc9PT00Nnx8Zz09PTY5fHxnPT09NTh8fGc9PT01Nyl7dmFyIGg9L1s/Jl10aWRzPShbXiZdKykvLmV4ZWMoZCk7Zj1oP2RlY29kZVVSSUNvbXBvbmVudChoWzFdKS5zcGxpdCgifiIpOltmXX1NbCh7dGFyZ2V0SWQ6ZixyZXF1ZXN0Om5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30se3VybDpjLHBhcmFtZXRlckVuY29kaW5nOmEucGFyYW1ldGVyRW5jb2RpbmcsZW5kcG9pbnQ6YS5lbmRwb2ludH0sZT97cG9zdEJvZHk6ZX06e30pLHFiOntldmVudElkOmIuTS5ldmVudElkLHByaW9yaXR5SWQ6Yi5NLnByaW9yaXR5SWR9LEZqOntldmVudElkOlEoYixILkoudWYpLHByaW9yaXR5SWQ6UShiLEguSi52Zil9fSl9fQpmdW5jdGlvbiBOdShhKXtyZXR1cm4gYSYmYSE9PSI/Ij9hWzBdIT09Ij8iPyI/Ii5jb25jYXQoYSk6YToiIn07ZnVuY3Rpb24gUHUoYSxiLGMsZCxlKXt2YXIgZjtlPT1udWxsfHwoZj1lLnZ2KT09bnVsbHx8Zi5jYWxsKGUsYSxiKTtpZighYy5sZW5ndGgpe3ZhciBnO2U9PW51bGx8fChnPWUuVHMpPT1udWxsfHxnLmNhbGwoZSxhLGIsW10pO3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfXZhciBoPVtdLGw9e3RrOmIsbWs6YyxqazpkfTtoLnB1c2goTHUoYSxiLGMsZSwhMCxsKSk7Zm9yKHZhciBuPW0oZCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpaC5wdXNoKEx1KGEsYixwLnZhbHVlLGUsITEsbCkpO3JldHVybiBKdShoKS50aGVuKGZ1bmN0aW9uKHEpe2Zvcih2YXIgcj1bXSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpci5wdXNoLmFwcGx5KHIsdyh1LnZhbHVlKSk7dmFyIHY7ZT09bnVsbHx8KHY9ZS5Ucyk9PW51bGx8fHYuY2FsbChlLGEsYixyKTtyZXR1cm4gcn0pfTtmdW5jdGlvbiBRdShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2I9PW51bGx8fChkPWIud3YpPT1udWxsfHxkLmNhbGwoYixhLGMpO2Zvcih2YXIgZT1bXSxmPW0oYyksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZS5wdXNoKFJ1KGEsZy52YWx1ZSkpO2Zvcih2YXIgaD1bXSxsPW0oZSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aC5wdXNoKFB1KGEscC50ayxwLm1rLHAuamssYikpfUp1KGgpLnRoZW4oZnVuY3Rpb24ocSl7Zm9yKHZhciByPVtdLHQ9bShxKSx1PXQubmV4dCgpOyF1LmRvbmU7dT10Lm5leHQoKSlyLnB1c2guYXBwbHkocix3KHUudmFsdWUpKTt2YXIgdjtiPT1udWxsfHwodj1iLlFzKT09bnVsbHx8di5jYWxsKGIsYSxjLHIpfSl9CmZ1bmN0aW9uIFJ1KGEsYil7dmFyIGM9ZnVuY3Rpb24oZil7cmV0dXJuIGYubWV0aG9kLmlzU3VwcG9ydGVkKCkmJmYuZW5kcG9pbnQuaXNTdXBwb3J0ZWQoYSkmJmYuZW5kcG9pbnQuSyhhKX0sZD0oYi5IKGEpfHxbXSkuZmlsdGVyKGMpLGU9W107ZC5sZW5ndGgmJihlPShiLksoYSl8fFtdKS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuZmlsdGVyKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLmxlbmd0aD4wfSkpO3JldHVybnt0azpiLG1rOmQsams6ZX19Owp2YXIgU3U9ZnVuY3Rpb24oYSxiKXtpZihNKDUxNykmJklmKDQ3KSYmYT09PTQ1KXJldHVybiBYaigpKyIvZy9kL2NjbS9jb2xsZWN0PyIrYi5zcGxpdCgiPyIpWzFdKyImZ2FwLjFwZmI9MSJ9LFd1PWZ1bmN0aW9uKCl7dmFyIGE9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGEubGVuZ3RoKXtmb3IodmFyIGI9e30sYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlLGY9VHUoZS5rZSwiYXB2YyIpLGc9VHUoZS5rZSwidGZ0IiksaD1UdShlLmtlLCJ0ZmQiKSxsPVR1KGUua2UsInRpZCIpLG49Tm0oZS5lbmRwb2ludCxlLmtlKSxwPWJbbl09YltuXXx8e3hrOltdLFpoOltdfTtwLlpoLnB1c2goZSk7bD8ocC54ay5wdXNoKGwpLHAudWR8fChwLnVkPWwpKTpwLnhrLnB1c2goIiIpO2Y9PT0iMSImJihwLlFuPSEwKTtpZihnfHxoKXAuTm49ITB9YS5sZW5ndGg9MDtmb3IodmFyIHE9bShPYmplY3Qua2V5cyhiKSkscj1xLm5leHQoKSx0PXt9OyFyLmRvbmU7dD0Ke3lrOnZvaWQgMH0scj1xLm5leHQoKSl7dmFyIHU9ci52YWx1ZSx2PWJbdV07dC55az12LnhrO3ZhciB4PXQueWsuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBmdW5jdGlvbihJLEcpe3JldHVybiBELnlrLmluZGV4T2YoSSk9PT1HfX0odCkpLmZpbHRlcihmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtpZihNKDQyNykpe3ZhciB5PVV1KHYseCk7UXUoeSx2b2lkIDAsQXUpfWVsc2V7dmFyIHo9dSsiJmFwdmM9Iisodi5Rbj8iMSI6IjAiKTt4Lmxlbmd0aCYmKHorPSImdGlkcz0iK3guam9pbigifiIpKTt2LnVkJiYoeis9IiZ0aWQ9Iit2LnVkKTtpZih2Lk5uKXt6Kz0iJnRmdD0iK1N0cmluZyhOYigpKTt2YXIgQz1wZCgpO0MhPT12b2lkIDAmJih6Kz0iJnRmZD0iK1N0cmluZyhNYXRoLnJvdW5kKEMpKSl9VnUodi5aaFswXS5ldmVudCx6LHYuWmhbMF0uZW5kcG9pbnQseC5sZW5ndGg/eDpbIiJdKX19fX0sVHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPT12b2lkIDApcmV0dXJuIGRlbGV0ZSBhW2JdLApjfSxWdT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxmPWZ1bmN0aW9uKGwsbil7dmFyIHA9YitYdShsKTtUbChwLGEsYyxkKTtyZXR1cm4gbihwKX07aWYobmQoKSl7dmFyIGc9ZnVuY3Rpb24oKXt9LGg9U3UoYyxiKTtoIT09dm9pZCAwJiYoZz1mdW5jdGlvbigpe1luKGUsaCtYdSg4KSx2b2lkIDAse1FnOiEwfSl9KTtmKDgsZnVuY3Rpb24obCl7WW4oZSxsLHZvaWQgMCx7UWc6ITB9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe1pjKGIrWHUoMyksZnVuY3Rpb24oKXt9LGcpfSl9KX1lbHNlIGYoNSxmdW5jdGlvbihsKXtyZXR1cm4gV24oZSxsKX0pfHxaYyhiK1h1KDMpKX0sVXU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlpoWzBdLGQ9eyJfJmFwdmMiOmEuUW4/IjEiOiIwIn07Yi5sZW5ndGg+MCYmKGRbIl8mdGlkcyJdPQpiLmpvaW4oIn4iKSk7aWYoYS5Obil7ZFsiXyZ0ZnQiXT1TdHJpbmcoTmIoKSk7dmFyIGU9cGQoKTtlIT09dm9pZCAwJiYoZFsiXyZ0ZmQiXT1TdHJpbmcoTWF0aC5yb3VuZChlKSkpfXJldHVybiBZdShjLmV2ZW50LGEudWR8fCIiLGQpfSxZdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxhLnRhcmdldCx7ZGVzdGluYXRpb25JZDpifSksZT1adShhLHt0YXJnZXQ6ZH0pO2J8fFUoZSxGLkQuUWUpO2Zvcih2YXIgZj1tKE9iamVjdC5rZXlzKGMpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtVKGUsaCxjW2hdKX1yZXR1cm4gZX0sWHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgODpjYXNlIDM6Y2FzZSA1OnJldHVybiImZm10PSIrYTtkZWZhdWx0OnJldHVybiIifX0sJHU9ZnVuY3Rpb24oYSxiKXthPVp1KGEpO1YoYSxILkouRGssWG8oZnApKTtUdCgpJiZVKGEsIl8mZ2NzIixVdCgpKTsKVShhLCJfJmdjZCIsWXQoYS5NKSk7dmFyIGM9WG8oZnApPzQ1OjQ2LGQ9ZnVuY3Rpb24oKXt2YXIgZj1iLnRpZDtpZihNKDQyNykpe3ZhciBnPVl1KGEsZixiKTtRdShnLHZvaWQgMCxBdSl9ZWxzZXt2YXIgaD1ObShjLGIpO1Z1KGEsaCxjLFtmXSl9fTtpZih5YihBLnF1ZXVlTWljcm90YXNrKSl7dmFyIGU9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGUubGVuZ3RoPT09MCl0cnl7QS5xdWV1ZU1pY3JvdGFzayhXdSl9Y2F0Y2goZil7R3UoVC5XLmZqKTtkKCk7cmV0dXJufWI9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxiKTtlLnB1c2goe2V2ZW50OmEsa2U6YixlbmRwb2ludDpjfSl9ZWxzZSBHdShULlcuZmopLGQoKX07dmFyIFg9e1Y6e01rOiJjYWxsX2NvbnZlcnNpb24iLHpkOiJjY21fY29udmVyc2lvbiIsUWs6ImNvbW1vbl9hdyIseGE6ImNvbnZlcnNpb24iLHdxOiJmbG9vZGxpZ2h0IixZZDoiZ2FfY29udmVyc2lvbiIsWmQ6ImdjcF9yZW1hcmtldGluZyIsS2E6InBhZ2VfdmlldyIsdWI6InJlbWFya2V0aW5nIixPYjoidXNlcl9kYXRhX2xlYWQiLEZiOiJ1c2VyX2RhdGFfd2ViIn19O2Z1bmN0aW9uIGJ2KGEsYil7YiYmR2IoYixmdW5jdGlvbihjLGQpe3R5cGVvZiBkIT09Im9iamVjdCImJmQhPT12b2lkIDAmJihhWyIxcC4iK2NdPVN0cmluZyhkKSl9KX07dmFyIG12PXtOZzoidmFsdWUiLHBiOiJjb252ZXJzaW9uQ291bnQiLE9nOjF9LG52PXtOZzoidGltZW91dHMiLHBiOiJ0aW1lb3V0cyIsT2c6MH0sb3Y9e05nOiJlb3BDb3VudCIscGI6ImVuZE9mUGFnZUNvdW50IixPZzowfSxwdj17Tmc6ImVycm9ycyIscGI6ImVycm9ycyIsT2c6MH0scXY9W212LG52LHB2LG92XTtmdW5jdGlvbiBydihhLGIpe2I9Yj09PXZvaWQgMD8xOmI7aWYoIXN2KGEpKXJldHVybnt9O3ZhciBjPXR2KHF2KSxkPWNbYS5wYl07aWYoZD09PXZvaWQgMHx8ZD09PS0xKXJldHVybiBjO3ZhciBlPXt9LGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLChlW2EucGJdPWQrYixlKSk7cmV0dXJuIHV2KGYpP2Y6Y30KZnVuY3Rpb24gdHYoYSl7dmFyIGI7YTp7dmFyIGM9bnIoImdjbF9jdHIiKTtpZihjLmVycm9yPT09MCYmYy52YWx1ZSYmdHlwZW9mIGMudmFsdWU9PT0ib2JqZWN0Iil7dmFyIGQ9Yy52YWx1ZTt0cnl7Yj0idmFsdWUiaW4gZCYmdHlwZW9mIGQudmFsdWU9PT0ib2JqZWN0Ij9kLnZhbHVlOnZvaWQgMDticmVhayBhfWNhdGNoKHApe319Yj12b2lkIDB9Zm9yKHZhciBlPWIsZj17fSxnPW0oYSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aWYoZSYmc3YobCkpe3ZhciBuPWVbbC5OZ107bj09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKG4pP2ZbbC5wYl09LTE6ZltsLnBiXT1OdW1iZXIobil9ZWxzZSBmW2wucGJdPS0xfXJldHVybiBmfQpmdW5jdGlvbiB1dihhLGIpe2I9Ynx8e307Zm9yKHZhciBjPU5iKCksZD11cShiLGMsITApLGU9e30sZj1tKHF2KSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZSxsPWFbaC5wYl07bCE9PXZvaWQgMCYmbCE9PS0xJiYoZVtoLk5nXT1sKX1lLmNyZWF0aW9uVGltZU1zPWM7cmV0dXJuIGtyKCJnY2xfY3RyIix7dmFsdWU6ZSxleHBpcmVzOk51bWJlcihkLmV4cGlyZXMpfSk9PT0wPyEwOiExfWZ1bmN0aW9uIHN2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuZnR8fFlmKGEuZnQpOiExfWZ1bmN0aW9uIHZ2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuQXN8fFlmKGEuQXMpOiExfTtmdW5jdGlvbiB3digpe2lmKHh2KCkpe3ZhciBhPW5yKCJsYXN0X2NvbnZzIik7aWYoYS5lcnJvcj09PTAmJmEudmFsdWUmJnR5cGVvZiBhLnZhbHVlPT09Im9iamVjdCIpe3ZhciBiPWEudmFsdWU7aWYoYi52YWx1ZSYmQXJyYXkuaXNBcnJheShiLnZhbHVlKSl7dmFyIGM9Yi52YWx1ZTtpZighKGMubGVuZ3RoPjEpKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2lmKHR5cGVvZiBnIT09Im9iamVjdCJ8fGc9PT1udWxsfHx0eXBlb2YgZy5yYW5kb20hPT0ibnVtYmVyInx8dHlwZW9mIGcubGFiZWwhPT0ic3RyaW5nInx8Zy5sYWJlbC5sZW5ndGg+MjAwKXJldHVybjtkLnB1c2goe3JhbmRvbTpnLnJhbmRvbSxsYWJlbDpnLmxhYmVsfSl9cmV0dXJuIGR9fX19fQpmdW5jdGlvbiB5dihhLGIpeyF4digpfHxhLmxlbmd0aD4xfHxhLmxlbmd0aD09PTEmJmFbMF0ubGFiZWwubGVuZ3RoPjIwMHx8KGI9Ynx8e30sa3IoImxhc3RfY29udnMiLHt2YWx1ZTphLGV4cGlyZXM6TnVtYmVyKHVxKGIpLmV4cGlyZXMpfSkpfWZ1bmN0aW9uIHh2KCl7cmV0dXJuIEJsKFsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdKSYmWWYoMTEpfTtmdW5jdGlvbiB6dihhKXt2YXIgYj1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7cmV0dXJuIGE/U3RyaW5nKGJebmcoYSkmMjE0NzQ4MzY0Nyk6U3RyaW5nKGIpfWZ1bmN0aW9uIEF2KGEpe3JldHVyblt6dihhKSxNYXRoLnJvdW5kKE5iKCkvMUUzKV0uam9pbigiLiIpfWZ1bmN0aW9uIEJ2KGEsYixjLGQsZSl7dmFyIGY9cnEoYiksZztyZXR1cm4oZz1ncShhLGYsc3EoYyksZCxlKSk9PW51bGw/dm9pZCAwOmcuQ3J9O3ZhciBDdj1bIjEiXSxEdj17fSxFdj17fTtmdW5jdGlvbiBGdihhKXtyZXR1cm4gRXZbR3YoYSldfWZ1bmN0aW9uIEh2KGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9R3YoYS5wcmVmaXgpO2lmKER2W2NdKUl2KGEpLEp2KGEpO2Vsc2UgaWYoS3YoYyxhLnBhdGgsYS5kb21haW4pKXt2YXIgZD1GdihhLnByZWZpeCl8fHtpZDp2b2lkIDAsa2M6dm9pZCAwfTtiJiZMdihhLGQpO0l2KGEpO0p2KGEpfWVsc2V7dmFyIGU9VGooImF1aWRkYyIpO2lmKGUpc2IoIlRBR0dJTkciLDE3KSxEdltjXT1lO2Vsc2UgaWYoYil7dmFyIGY9R3YoYS5wcmVmaXgpLGc9QXYoKTtNdihmLGcsYSk7S3YoYyxhLnBhdGgsYS5kb21haW4pO0l2KGEsITApO0p2KGEsITApfX19CmZ1bmN0aW9uIEl2KGEsYil7KGI9PT12b2lkIDA/MDpiKSYmc3YobXYpJiZvcigiZ2NsX2N0ciIpO2lmKHZ2KG12KSYmdHYoW212XSlbbXYucGJdPT09LTEpe2Zvcih2YXIgYz17fSxkPShjW212LnBiXT0wLGMpLGU9bShxdiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7ZyE9PW12JiZ2dihnKSYmKGRbZy5wYl09MCl9dXYoZCxhKX19ZnVuY3Rpb24gSnYoYSxiKXsoYj09PXZvaWQgMD8wOmIpJiZ4digpJiZvcigibGFzdF9jb252cyIpOyFCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSl8fCFZZigxMil8fHd2KCl8fHl2KFtdLGEpfQpmdW5jdGlvbiBMdihhLGIpe3ZhciBjPUd2KGEucHJlZml4KSxkPUR2W2NdO2lmKGQpe3ZhciBlPWQuc3BsaXQoIi4iKTtpZihlLmxlbmd0aD09PTIpe3ZhciBmPU51bWJlcihlWzFdKXx8MDtpZihmKXt2YXIgZz1kO1lmKDE5KSYmYi5maT9nPWQrIi4iKyhiLnNlc3Npb25JZHx8Ii0uLSIpKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSsiLiIrYi5maSsiLiIrKGIuTGM/Yi5MYzpNYXRoLmZsb29yKE5iKCkvMUUzKSk6Yi5zZXNzaW9uSWQmJihnPWQrIi4iK2Iuc2Vzc2lvbklkKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSk7TXYoYyxnLGEsZioxRTMpfX19fWZ1bmN0aW9uIE12KGEsYixjLGQpe3ZhciBlO2U9WyIxIix0cShjLmRvbWFpbixjLnBhdGgpLGJdLmpvaW4oIi4iKTt2YXIgZj11cShjLGQpO2YuTWM9TnYoKTtvcShhLGUsZil9CmZ1bmN0aW9uIEt2KGEsYixjKXt2YXIgZD1CdihhLGIsYyxDdixOdigpKTtpZighZClyZXR1cm4hMTtPdihhLGQpO3JldHVybiEwfWZ1bmN0aW9uIE92KGEsYil7dmFyIGM9Yi5zcGxpdCgiLiIpO2lmKGMubGVuZ3RoPT09MylFdlthXT17c2Vzc2lvbklkOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2Vsc2UgaWYoYy5sZW5ndGg+PTImJihEdlthXT1jWzBdKyIuIitjWzFdLGMuc2hpZnQoKSxjLnNoaWZ0KCksYy5sZW5ndGg+PTMpKXt2YXIgZD17c2Vzc2lvbklkOmNbMF09PT0iLSI/dm9pZCAwOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2lmKFlmKDE5KSYmYy5sZW5ndGg+PTYpe3ZhciBlPWNbM10rIi4iK2NbNF0sZj1OdW1iZXIoY1s1XSl8fDA7ZSYmZiE9PTAmJihkLmZpPWUsZC5MYz1mKX1FdlthXT1kfX1mdW5jdGlvbiBHdihhKXtyZXR1cm4oYXx8Il9nY2wiKSsiX2F1In0KZnVuY3Rpb24gUHYoYSl7ZnVuY3Rpb24gYigpe0JsKGMpJiZhKCl9dmFyIGM9TnYoKTtIbChmdW5jdGlvbigpe2IoKTtCbChjKXx8SWwoYixjKX0sYyl9ZnVuY3Rpb24gUXYoYSl7dmFyIGI9VXEoITApLGM9R3YoYS5wcmVmaXgpO1B2KGZ1bmN0aW9uKCl7dmFyIGQ9YltjXTtpZihkKXtPdihjLGQpO3ZhciBlPU51bWJlcihEdltjXS5zcGxpdCgiLiIpWzFdKSoxRTM7aWYoZSl7c2IoIlRBR0dJTkciLDE2KTt2YXIgZj11cShhLGUpO2YuTWM9TnYoKTt2YXIgZz1bIjEiLHRxKGEuZG9tYWluLGEucGF0aCksZF0uam9pbigiLiIpO29xKGMsZyxmKX19fSl9ZnVuY3Rpb24gUnYoYSxiLGMsZCxlKXtlPWV8fHt9O3ZhciBmPWZ1bmN0aW9uKCl7dmFyIGc9e30saD1CdihhLGUucGF0aCxlLmRvbWFpbixDdixOdigpKTtoJiYoZ1thXT1oKTtyZXR1cm4gZ307UHYoZnVuY3Rpb24oKXthcihmLGIsYyxkKX0pfQpmdW5jdGlvbiBOdigpe3JldHVyblsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdfTt2YXIgVnY9ImVtYWlsIGVtYWlsX2FkZHJlc3Mgc2hhMjU2X2VtYWlsX2FkZHJlc3MgcGhvbmVfbnVtYmVyIHNoYTI1Nl9waG9uZV9udW1iZXIgZmlyc3RfbmFtZSBsYXN0X25hbWUiLnNwbGl0KCIgIiksV3Y9ImZpcnN0X25hbWUgc2hhMjU2X2ZpcnN0X25hbWUgbGFzdF9uYW1lIHNoYTI1Nl9sYXN0X25hbWUgc3RyZWV0IHNoYTI1Nl9zdHJlZXQgY2l0eSByZWdpb24gY291bnRyeSBwb3N0YWxfY29kZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBYdihhLGIpe2lmKCFiLl90YWdfbWV0YWRhdGEpe2Zvcih2YXIgYz17fSxkPTAsZT0wO2U8YS5sZW5ndGg7ZSsrKWQrPVl2KGFbZV0sYixjKT8xOjA7ZD4wJiYoYi5fdGFnX21ldGFkYXRhPWMpfX0KZnVuY3Rpb24gWXYoYSxiLGMpe3ZhciBkPWJbYV07aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuITE7Y1thXT1BcnJheS5pc0FycmF5KGQpP2QubWFwKGZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImMifX0pOnttb2RlOiJjIn07cmV0dXJuITB9ZnVuY3Rpb24gWnYoYSl7aWYoTSg1MjMpJiZhKXtYdihWdixhKTtmb3IodmFyIGI9QmIoYS5hZGRyZXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107ZCYmWHYoV3YsZCl9dmFyIGU9YS5ob21lX2FkZHJlc3M7ZSYmWHYoV3YsZSl9fQpmdW5jdGlvbiAkdihhLGIsYyl7ZnVuY3Rpb24gZChmLGcpe2c9U3RyaW5nKGcpLnN1YnN0cmluZygwLDEwMCk7ZS5wdXNoKCIiK2YrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX1pZighYylyZXR1cm4iIjt2YXIgZT1bXTtkKCJpIixTdHJpbmcoYSkpO2QoImYiLGIpO2MubW9kZSYmZCgibSIsYy5tb2RlKTtjLmlzUHJlSGFzaGVkJiZkKCJwIiwiMSIpO2MucmF3TGVuZ3RoJiZkKCJyIixTdHJpbmcoYy5yYXdMZW5ndGgpKTtjLm5vcm1hbGl6ZWRMZW5ndGgmJmQoIm4iLFN0cmluZyhjLm5vcm1hbGl6ZWRMZW5ndGgpKTtjLmxvY2F0aW9uJiZkKCJsIixjLmxvY2F0aW9uKTtjLnNlbGVjdG9yJiZkKCJzIixjLnNlbGVjdG9yKTtyZXR1cm4gZS5qb2luKCIuIil9O3ZhciBhdz12b2lkIDA7ZnVuY3Rpb24gYncoKXtpZighYXcpe3ZhciBhPW9tKGptLmJhLm9wLG5ldyBNYXApO2F3PW5ldyBvZyhhKX1yZXR1cm4gYXd9Owp2YXIgY3c9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIGE7Zm9yKHZhciBiPXt9LGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZSE9PSJhZGRyZXNzIiYmZSE9PSJwaG9uZV9udW1iZXIiJiZlIT09InNoYTI1Nl9waG9uZV9udW1iZXIiJiYoYltlXT1hW2VdKX1yZXR1cm4gYn0sZnc9ZnVuY3Rpb24oYSl7dmFyIGI9TSg1MjMpLGM9WyJ0di4xIl0sZD1bInR2ZC4xIl0sZT1kdyhhKTtpZihlKXJldHVybiBjLnB1c2goZSkse2hhc1VwZDohMSxPbzpjLmpvaW4oIn4iKSxZbjpjLmpvaW4oIn4iKSxlbmNyeXB0aW9uS2V5U3RyaW5nOnZvaWQgMCxpaTp7fSxtZXRhZGF0YVBhcmFtOmI/ZC5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZj17fSxnPTA7dmFyIGg9MCxsPWV3KGEsZnVuY3Rpb24ocSxyLHQpe2grKzt2YXIgdT1xLnZhbHVlLHY7CmlmKHQpe3ZhciB4PXIrIl9fIitnKys7dj0iJHt1c2VyRGF0YS4iK3grInxzaGEyNTZ9IjtmW3hdPXV9ZWxzZSB2PWVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodSkpO3EuaW5kZXghPT12b2lkIDAmJihyKz1xLmluZGV4KTtjLnB1c2gocisiLiIrdik7aWYoYil7dmFyIHk9JHYoaCxyLHEubWV0YWRhdGEpO3kmJmQucHVzaCh5KX19KS5oYXNVcGQsbj1kLmpvaW4oIn4iKTt2YXIgcD1jLmpvaW4oIn4iKTtyZXR1cm57aGFzVXBkOmwsT286cCxpaTp7dXNlckRhdGE6Zn0sWW46InR2LjF+JHsiKyhwKyJ8IisoTSg1NTUpPyJlbmNyeXB0X3dpdGhfbWVtbyI6ImVuY3J5cHQiKSsifSIpLGVuY3J5cHRpb25LZXlTdHJpbmc6RSg0MyksbWV0YWRhdGFQYXJhbTpiP246dm9pZCAwfX0saHc9ZnVuY3Rpb24oYSl7aWYoIShhIT1udWxsJiZPYmplY3Qua2V5cyhhKS5sZW5ndGg+MCkpcmV0dXJuITE7CnZhciBiPWd3KGEpO3JldHVybiBldyhiLGZ1bmN0aW9uKCl7fSkuaGFzVXBkfSxldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306Yjtmb3IodmFyIGM9ITEsZD0hMSxlPW0oYSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZy52YWx1ZSl7dmFyIGg9aXdbZy5uYW1lXTtpZihoKXt2YXIgbD1qdyhnKTtsJiYoYz0hMCk7ZD0hMDtiKGcsaCxsKX19fXJldHVybntoYXNVcGQ6ZCxoYXNVcGRUb0hhc2g6Y319LGp3PWZ1bmN0aW9uKGEpe3ZhciBiPWt3KGEubmFtZSksYz0vXmVcZCskLy50ZXN0KGEudmFsdWUpLGQ7aWYoZD1iJiYhYyl7dmFyIGU9YS52YWx1ZTtkPSEobHcudGVzdChlKXx8eWkudGVzdChlKSl9cmV0dXJuIGR9LGt3PWZ1bmN0aW9uKGEpe3JldHVybiBtdy5pbmRleE9mKGEpIT09LTF9LHN3PWZ1bmN0aW9uKGEsYixjKXtpZih5YihBLlByb21pc2UpKXRyeXt2YXIgZD0hMTt2YXIgZT1ndyhhLGQpLGY9bncoZSkudGhlbihmdW5jdGlvbihoKXt2YXIgbD1oLnliLG49bC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIVNiKHEubmFtZSwicmF3Iil9KSxwPW93KHt5YjpufSk7cmV0dXJue3Jlc3VsdDp7cGFyYW06cC5wYXJhbSxoYXNVcGRUb0hhc2g6cC5oYXNVcGRUb0hhc2gsaGFzVXBkOnAuaGFzVXBkLGhhZEVycm9yOnAuaGFkRXJyb3IsbWV0YWRhdGFQYXJhbTpwLm1ldGFkYXRhUGFyYW19LHliOmx9fSk7cmV0dXJuIGYudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXN1bHR9KX1jYXRjaChoKXt9fSxxdz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9LG93PWZ1bmN0aW9uKGEpe3ZhciBiPU0oNTIzKSxjPWEueWIsZD1bInR2LjEiXSxlPVsidHZkLjEiXSxmPWR3KGMpO2lmKGYpcmV0dXJuIGQucHVzaChmKSx7cGFyYW06ZC5qb2luKCJ+IiksaGFzVXBkVG9IYXNoOiExLGhhc1VwZDohMSxoYWRFcnJvcjohMCxtZXRhZGF0YVBhcmFtOmI/ZS5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZz1jLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4hancocSl9KSxoPTAsbD1ldyhnLGZ1bmN0aW9uKHEscil7aCsrO3ZhciB0PXEudmFsdWUsdT1xLmluZGV4O3UhPT12b2lkIDAmJihyKz11KTtkLnB1c2gocisiLiIrdCk7aWYoYil7dmFyIHY9JHYoaCxyLHEubWV0YWRhdGEpO3YmJmUucHVzaCh2KX19KSxuPWwuaGFzVXBkVG9IYXNoLHA9bC5oYXNVcGQ7cmV0dXJue3BhcmFtOmVuY29kZVVSSUNvbXBvbmVudChkLmpvaW4oIn4iKSksCmhhc1VwZFRvSGFzaDpuLGhhc1VwZDpwLGhhZEVycm9yOiExLG1ldGFkYXRhUGFyYW06Yj9lLmpvaW4oIn4iKTp2b2lkIDB9fSxkdz1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTEmJmFbMF0ubmFtZT09PSJlcnJvcl9jb2RlIilyZXR1cm4gaXcuZXJyb3JfY29kZSsiLiIrYVswXS52YWx1ZX0scHc9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xJiZhWzBdLm5hbWU9PT0iZXJyb3JfY29kZSIpcmV0dXJuITE7Zm9yKHZhciBiPW0oYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWU7aWYoaXdbZC5uYW1lXSYmZC52YWx1ZSlyZXR1cm4hMH1yZXR1cm4hMX0sZ3c9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1bXTtpZihBLmxvY2F0aW9uLnByb3RvY29sIT09Imh0dHBzOiIpcmV0dXJuIGMucHVzaCh7bmFtZToiZXJyb3JfY29kZSIsdmFsdWU6ImUzIixpbmRleDp2b2lkIDB9KSxjO3ZhciBkPWMucHVzaCxlPWQuYXBwbHksZj1bXSwKZz1mLmNvbmNhdCxoLGw9YS5fdGFnX21ldGFkYXRhfHx7fTtoPVtdLmNvbmNhdCh3KHR3KHtuYW1lOiJlbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzcyxhYjpsLmVtYWlsLG1kOmwuc2hhMjU2X2VtYWlsX2FkZHJlc3N9LHV3KSksdyh0dyh7bmFtZToicGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyLGFiOmwucGhvbmVfbnVtYmVyLG1kOmwuc2hhMjU2X3Bob25lX251bWJlcn0sdncpKSk7dmFyIG49dyhoKSxwLHE9YS5fdGFnX21ldGFkYXRhfHx7fSxyPWEuaG9tZV9hZGRyZXNzfHx7fSx0PXIuX3RhZ19tZXRhZGF0YXx8e307cD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIscmF3OmEuZmlyc3RfbmFtZSxTYTphLnNoYTI1Nl9maXJzdF9uYW1lLGFiOnEuZmlyc3RfbmFtZSxtZDpxLnNoYTI1Nl9maXJzdF9uYW1lfSx3dyh4dykpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzphLmxhc3RfbmFtZSwKU2E6YS5zaGEyNTZfbGFzdF9uYW1lLGFiOnEubGFzdF9uYW1lLG1kOnEuc2hhMjU2X2xhc3RfbmFtZX0sd3coeHcpKSksdyh0dyh7bmFtZToic3RyZWV0IixyYXc6ci5zdHJlZXQsU2E6ci5zaGEyNTZfc3RyZWV0LGFiOnQuc3RyZWV0LG1kOnQuc2hhMjU2X3N0cmVldH0sd3coeXcpKSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnIuY2l0eSxhYjp0LmNpdHl9LHd3KHl3KSkpLHcodHcoe25hbWU6InBvc3RhbF9jb2RlIixyYXc6ci5wb3N0YWxfY29kZSxhYjp0LnBvc3RhbF9jb2RlfSx3dyh6dykpKSx3KHR3KHtuYW1lOiJyZWdpb24iLHJhdzpyLnJlZ2lvbixhYjp0LnJlZ2lvbn0sd3coeXcpKSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnIuY291bnRyeSxhYjp0LmNvdW50cnl9LHd3KHp3KSkpKTtmb3IodmFyIHU9dyhwKSx2PVtdLHg9QmIoYS5hZGRyZXNzfHx7fSkseT0wO3k8eC5sZW5ndGg7eSsrKXtmb3IodmFyIHo9eFt5XSxDPXouX3RhZ19tZXRhZGF0YXx8e30sRD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIsCnJhdzp6LmZpcnN0X25hbWUsU2E6ei5zaGEyNTZfZmlyc3RfbmFtZSxhYjpDLmZpcnN0X25hbWUsbWQ6Qy5zaGEyNTZfZmlyc3RfbmFtZX0seHcpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzp6Lmxhc3RfbmFtZSxTYTp6LnNoYTI1Nl9sYXN0X25hbWUsYWI6Qy5sYXN0X25hbWUsbWQ6Qy5zaGEyNTZfbGFzdF9uYW1lfSx4dykpLHcodHcoe25hbWU6InN0cmVldCIscmF3Onouc3RyZWV0LFNhOnouc2hhMjU2X3N0cmVldCxhYjpDLnN0cmVldCxtZDpDLnNoYTI1Nl9zdHJlZXR9LHl3KSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnouY2l0eSxhYjpDLmNpdHl9LHl3KSksdyh0dyh7bmFtZToicG9zdGFsX2NvZGUiLHJhdzp6LnBvc3RhbF9jb2RlLGFiOkMucG9zdGFsX2NvZGV9LHp3KSksdyh0dyh7bmFtZToicmVnaW9uIixyYXc6ei5yZWdpb24sYWI6Qy5yZWdpb259LHl3KSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnouY291bnRyeSxhYjpDLmNvdW50cnl9LHp3KSkpLEk9MDtJPApELmxlbmd0aDtJKyspRFtJXS5pbmRleD15O3YucHVzaC5hcHBseSh2LHcoRCkpfWUuY2FsbChkLGMsZy5jYWxsKGYsbix1LHcodikpKTtpZihiJiZCcCgpKXt2YXIgRz1jLnB1c2gsTj1HLmFwcGx5LFM9W107Uy5wdXNoLmFwcGx5KFMsW10uY29uY2F0KHcoQXcoe25hbWU6InJhd19lbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzc30pKSx3KEF3KHtuYW1lOiJyYXdfcGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyfSkpKSk7Zm9yKHZhciBXPUJiKGEuYWRkcmVzc3x8e30pLGVhPTA7ZWE8Vy5sZW5ndGg7ZWErKyl7dmFyIGphPVdbZWFdO1MucHVzaC5hcHBseShTLFtdLmNvbmNhdCh3KEF3KHtuYW1lOiJyYXdfZmlyc3RfbmFtZSIscmF3OmphLmZpcnN0X25hbWUsU2E6amEuc2hhMjU2X2ZpcnN0X25hbWV9LGVhKSksdyhBdyh7bmFtZToicmF3X2xhc3RfbmFtZSIscmF3OmphLmxhc3RfbmFtZSxTYTpqYS5zaGEyNTZfbGFzdF9uYW1lfSwKZWEpKSx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6amEuc3RyZWV0LFNhOmphLnNoYTI1Nl9zdHJlZXR9LGVhKSkpKX1pZihhLmZpcnN0X25hbWV8fGEuaG9tZV9hZGRyZXNzKXtTLnB1c2guYXBwbHkoUyxbXS5jb25jYXQodyhBdyh7bmFtZToicmF3X2ZpcnN0X25hbWUiLHJhdzphLmZpcnN0X25hbWUsU2E6YS5zaGEyNTZfZmlyc3RfbmFtZX0pKSx3KEF3KHtuYW1lOiJyYXdfbGFzdF9uYW1lIixyYXc6YS5sYXN0X25hbWUsU2E6YS5zaGEyNTZfbGFzdF9uYW1lfSkpKSk7dmFyIGZhPWEuaG9tZV9hZGRyZXNzfHx7fTtTLnB1c2guYXBwbHkoUyx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6ZmEuc3RyZWV0LFNhOmZhLnNoYTI1Nl9zdHJlZXR9KSkpfU4uY2FsbChHLGMsdyhTKSl9cmV0dXJuIGN9LHd3PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtQKDY0KTtyZXR1cm4gYShiKX19LEF3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107aWYoYS5TYSlyZXR1cm4gYztmb3IodmFyIGQ9CkJiKGEucmF3KSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPUJ3KGRbZV0pO2lmKGYmJiF5aS50ZXN0KGYpKWlmKC9eZVxkKyQvLnRlc3QoZikpYy5wdXNoKHtuYW1lOmEubmFtZSx2YWx1ZTpmLGluZGV4OmJ9KTtlbHNle3ZhciBnPWMsaD1nLnB1c2gsbD1hLm5hbWUsbjt2YXIgcD1BO3RyeXtuPUJpKEFycmF5LmZyb20oWmIoZikpLHApfWNhdGNoKHEpe249ImUwIn1oLmNhbGwoZyx7bmFtZTpsLHZhbHVlOm4saW5kZXg6Yn0pfX1yZXR1cm4gY30sdHc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPU0oNTIzKSxlPWEucmF3LGY9ZD9hLmFiOnZvaWQgMDtDdyhlLCExKTthLlNhJiYoZSYmUCg5MCksZT1hLlNhLGY9ZD9hLm1kOnZvaWQgMCxDdyhlLCEwKSk7Zm9yKHZhciBnPUJiKGUpLGg9QmIoZiksbD0wO2w8Zy5sZW5ndGg7KytsKXt2YXIgbjt2YXIgcD1hLm5hbWUscT1iLHI9aFtsXSx0PUJ3KGdbbF0pO2lmKHQhPT0iIilpZih5aS50ZXN0KHQpKXtyJiYoci5pc1ByZUhhc2hlZD0hMCk7CnZhciB1PXtuYW1lOnAsdmFsdWU6dCxpbmRleDp2b2lkIDB9O3ImJih1Lm1ldGFkYXRhPXIpO249dX1lbHNle3ZhciB2PXEodCkseD17bmFtZTpwLHZhbHVlOnYsaW5kZXg6dm9pZCAwfTtyJiYoeC5tZXRhZGF0YT1yLHYmJihyLnJhd0xlbmd0aD1TdHJpbmcodCkubGVuZ3RoLHIubm9ybWFsaXplZExlbmd0aD12Lmxlbmd0aCkpO249eH1lbHNlIG49dm9pZCAwO3ZhciB5PW47eSYmYy5wdXNoKHkpfXJldHVybiBjfSxDdz1mdW5jdGlvbihhLGIpe2lmKHpiKGEpfHxBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz1CYihhKSxkPTA7ZDxjLmxlbmd0aDsrK2Qpe3ZhciBlPUJ3KGNbZF0pLGY9eWkudGVzdChlKTtiJiYhZiYmUCg4OSk7IWImJmYmJlAoODgpfX0sRHc9ZnVuY3Rpb24oYSl7dmFyIGI9YT9ndyhhKTpbXTtyZXR1cm4gb3coe3liOmJ9KX0sRXc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEhPW51bGwmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wJiZ5YihBLlByb21pc2UpP2d3KGEpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudmFsdWUmJgprdyhiLm5hbWUpJiYheWkudGVzdChiLnZhbHVlKX0pOiExfSxCdz1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjp6YihhKT9MYihTdHJpbmcoYSkpOiJlMCJ9LHp3PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoRncsIiIpfSx4dz1mdW5jdGlvbihhKXtyZXR1cm4geXcoYS5yZXBsYWNlKC9ccy9nLCIiKSl9LHl3PWZ1bmN0aW9uKGEpe3JldHVybiBMYihhLnJlcGxhY2UoR3csIiIpLnRvTG93ZXJDYXNlKCkpfSx2dz1mdW5jdGlvbihhKXthPWEucmVwbGFjZSgvW1xzLSgpLy5dL2csIiIpO2EuY2hhckF0KDApIT09IisiJiYoYT0iKyIrYSk7cmV0dXJuKE0oNTk3KT9IdzpJdykudGVzdChhKT9hOiJlMCJ9LHV3PWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoPT09Mil7dmFyIGM9YlswXTsvXihnbWFpbHxnb29nbGVtYWlsKVwuLy50ZXN0KGJbMV0pJiYoYz1jLnJlcGxhY2UoL1wuL2csIiIpKTtjPWMrIkAiK2JbMV07aWYoSncudGVzdChjKSlyZXR1cm4gY31yZXR1cm4iZTAifSwKS3c9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24oYil7Yi52YWx1ZSYma3coYi5uYW1lKSYmKGIudmFsdWU9RGkoYi52YWx1ZSkpfSkse3liOmF9fWNhdGNoKGIpe3JldHVybnt5YjpbXX19fSxudz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiLnZhbHVlJiZrdyhiLm5hbWUpfSk/eWIoQS5Qcm9taXNlKT9Qcm9taXNlLmFsbChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi52YWx1ZSYma3coYi5uYW1lKT9BaShiLnZhbHVlKS50aGVuKGZ1bmN0aW9uKGMpe2IudmFsdWU9Y30pOlByb21pc2UucmVzb2x2ZSgpfSkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm57eWI6YX19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt5YjpbXX19KTp7dGhlbjpmdW5jdGlvbihiKXtiKHt5YjpbXX0pfX06UHJvbWlzZS5yZXNvbHZlKHt5YjphfSl9LEd3PS9bMC05YH4hQCMkJV4mKigpX1wtKz06Ozw+LC4/fC9cXFtcXV0vZyxKdz0vXlxTK0BcUytcLlxTKyQvLApJdz0vXlwrXGR7MTAsMTV9JC8sSHc9L15cK1xkezcsMTV9JC8sRnc9L1sufl0vZyxsdz0vXlswLTlBLVphLXpfLV17NDN9JC8sTHc9WyJyZW0iLCJycG4iLCJyZm4iLCJybG4iLCJyc2EiXSxNdz17fSxpdz0oTXcuZW1haWw9ImVtIixNdy5waG9uZV9udW1iZXI9InBuIixNdy5maXJzdF9uYW1lPSJmbiIsTXcubGFzdF9uYW1lPSJsbiIsTXcuc3RyZWV0PSJzYSIsTXcuY2l0eT0iY3QiLE13LnJlZ2lvbj0icmciLE13LmNvdW50cnk9ImNvIixNdy5wb3N0YWxfY29kZT0icGMiLE13LmVycm9yX2NvZGU9ImVjIixNdy5yYXdfZW1haWw9InJlbSIsTXcucmF3X3Bob25lX251bWJlcj0icnBuIixNdy5yYXdfZmlyc3RfbmFtZT0icmZuIixNdy5yYXdfbGFzdF9uYW1lPSJybG4iLE13LnJhd19zdHJlZXQ9InJzYSIsTXcpO3ZhciBtdz1PYmplY3QuZnJlZXplKFsiZW1haWwiLAoicGhvbmVfbnVtYmVyIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInN0cmVldCJdKTt2YXIgbXg9T2JqZWN0LmZyZWV6ZSh7YXR0cmlidXRpb25zcmM6IiJ9KSxueD1PYmplY3QuZnJlZXplKHtldmVudFNvdXJjZUVsaWdpYmxlOiExLHRyaWdnZXJFbGlnaWJsZTohMH0pO2Z1bmN0aW9uIG94KCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO3JldHVybiBhJiZ5YihhLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKX07dmFyIHB4PU9iamVjdC5mcmVlemUoe2NhY2hlOiJuby1zdG9yZSIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLG1ldGhvZDoiR0VUIixrZWVwYWxpdmU6ITAscmVkaXJlY3Q6ImZvbGxvdyJ9KTsKZnVuY3Rpb24gcXgoYSxiLGMsZCxlLGYpe2lmKCF5YihBLmZldGNoKSlyZXR1cm4gZj09bnVsbHx8Zih2b2lkIDAsdm9pZCAwKSwhMTt2YXIgZz1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHB4KTtiJiYoZy5ib2R5PWIsZy5tZXRob2Q9IlBPU1QiKTtuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGcsZCk7QS5mZXRjaChhLGcpLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5vayl7aWYoaC5ib2R5KXt2YXIgbD1oLmJvZHkuZ2V0UmVhZGVyKCksbj1uZXcgVGV4dERlY29kZXI7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe2Z1bmN0aW9uIHEoKXtsLnJlYWQoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciB0O3Q9ci5kb25lO3ZhciB1PW4uZGVjb2RlKHIudmFsdWUse3N0cmVhbTohdH0pO3U9Yy5SK3U7Zm9yKHZhciB2PXUuaW5kZXhPZigiXG5cbiIpO3YhPT0tMTspe3ZhciB4PVpnLHk7YTp7dmFyIHo9bSh1LnN1YnN0cmluZygwLHYpLnNwbGl0KCJcbiIpKSxDPQp6Lm5leHQoKS52YWx1ZSxEPXoubmV4dCgpLnZhbHVlO2lmKFNiKEMsImV2ZW50OiBtZXNzYWdlIikmJlNiKEQsImRhdGE6ICIpKXt2YXIgST1ELnN1YnN0cmluZyg2KTt0cnl7eT1KU09OLnBhcnNlKEkpO2JyZWFrIGF9Y2F0Y2goRyl7fX15PXZvaWQgMH14KGMseSk7dT11LnN1YnN0cmluZyh2KzIpO3Y9dS5pbmRleE9mKCJcblxuIil9Yy5SPXU7dD8oZT09bnVsbHx8ZShoKSxwKCkpOnEoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZT09bnVsbHx8ZShoKTtwKCl9KX1xKCl9KX1lPT1udWxsfHxlKGgpfWVsc2UgZj09bnVsbHx8ZihoLHZvaWQgMCl9KS5jYXRjaChmdW5jdGlvbihoKXtmPT1udWxsfHxmKHZvaWQgMCxoKX0pO3JldHVybiEwfTt2YXIgcng9ZnVuY3Rpb24oYSl7aHUuY2FsbCh0aGlzLCJGZXRjaFJpY2hSZXNwb25zZSIsMSk7dGhpcy5OPWF9O3dhKHJ4LGh1KTtyeC5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4geWIoQS5mZXRjaCl9O3J4LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3J4LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtxeChiLGM9PW51bGw/dm9pZCAwOmMuYm9keSx0aGlzLk4sYz09bnVsbD92b2lkIDA6Yy5HYixhLnBlLGZ1bmN0aW9uKGQsZSl7YS5vbkZhaWx1cmUoZSl9KX07dmFyIEN4PWZ1bmN0aW9uKCl7WWcuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt3YShDeCxZZyk7Q3gucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXtaYyhhLHZvaWQgMCwkZyh0aGlzLGIpLGIuYXR0cmlidXRpb25fcmVwb3J0aW5nJiZveCgpP214Ont9KX07Q3gucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmF0dHJpYnV0aW9uX3JlcG9ydGluZyYmb3goKT97YXR0cmlidXRpb25SZXBvcnRpbmc6bnh9Ont9LGQ9JGcodGhpcyxiKTtiLnByb2Nlc3NfcmVzcG9uc2U/cXgoYSx2b2lkIDAsdGhpcyxjLHZvaWQgMCxkKTptZChhLHZvaWQgMCxjLHZvaWQgMCxkKX07dmFyIFF4PWZ1bmN0aW9uKGEsYil7dGhpcy5IPWE7dGhpcy50aW1lb3V0TXM9Yjt0aGlzLlJiPXZvaWQgMH0sUng9ZnVuY3Rpb24oYSl7YS5SYnx8KGEuUmI9c2V0VGltZW91dChmdW5jdGlvbigpe2EuSCgpO2EuUmI9dm9pZCAwfSxhLnRpbWVvdXRNcykpfSxUbj1mdW5jdGlvbihhKXthLlJiJiYoY2xlYXJUaW1lb3V0KGEuUmIpLGEuUmI9dm9pZCAwKX07dmFyIFN4PWZ1bmN0aW9uKCl7dmFyIGE9TmYoNjYsMCk7dGhpcy5LPVtdO3RoaXMuUj1hO3RoaXMuSD1ZYSgpfSxVeD1mdW5jdGlvbihhKXt2YXIgYj1UeDtiLksucHVzaChhKTtiLk58fChiLk49ZnVuY3Rpb24oKXtmb3IodmFyIGM9bShiLkspLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO3RyeXtlKCl9Y2F0Y2gobCl7fX1mb3IodmFyIGY9bShiLkgudmFsdWVzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD12b2lkIDA7KGg9Zy52YWx1ZS53ZSk9PW51bGx8fFRuKGgpfWIuSC5jbGVhcigpfSwkYyhBLCJwYWdlaGlkZSIsYi5OKSl9LFZ4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goTW4pWzNdfHxudWxsLGM9KGI/ZGVjb2RlVVJJKGIpOmIpfHwiIixkPVBuKGEsImxhYmVsIil8fCIiLGU9UG4oYSwicmFuZG9tIil8fCIiO3JldHVybiBjKyI6IitMbihkKSsiOiIrTG4oZSl9LFd4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UeCwKZT1WeChhKTtpZighKGQuSC5oYXMoZSl8fGQuSC5zaXplPj1kLlIpKXt2YXIgZj17fTtiJiZiPjAmJmMmJihmLndlPW5ldyBReChjLGIpKTtkLkguc2V0KGUsZik7dmFyIGc7KGc9Zi53ZSk9PW51bGx8fFJ4KGcpfX0sVW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1WeChiKSxkLGU7KGQ9YS5ILmdldChjKSk9PW51bGx8fChlPWQud2UpPT1udWxsfHxUbihlKTthLkguZGVsZXRlKGMpfTtTeC5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguc2l6ZX07dmFyIGRnO2Z1bmN0aW9uIGh5KGEsYil7dmFyIGM7KGM9ZGcpPT1udWxsfHwkZihjLkgsYSxiKX07dmFyIGl5PUFhKFsiLyJdKSxqeT1mdW5jdGlvbihhKXt0aGlzLkg9YTt0aGlzLmZhaWx1cmVUeXBlPXZvaWQgMH07ankucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXt0cnl7dmFyIGQ9dGhpcy5ILmFjdGl2ZTtkPyhkLnBvc3RNZXNzYWdlKHt0eXBlOjEsY29tbWFuZDphfSksYih7ZGF0YToiIn0pKTpjKHtmYWlsdXJlVHlwZToxMyxkYXRhOiIifSl9Y2F0Y2goZSl7Yyh7ZmFpbHVyZVR5cGU6MTEsZGF0YTplLm1lc3NhZ2V9KX19O3ZhciBreT1mdW5jdGlvbihhLGIpe3RoaXMuZmFpbHVyZVR5cGU9YTt0aGlzLkg9Yn07a3kucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXtjKHtmYWlsdXJlVHlwZTp0aGlzLmZhaWx1cmVUeXBlLGRhdGE6ImYiK3RoaXMuZmFpbHVyZVR5cGUrKCJ0IisoKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5IKSl9KX07CnZhciBueT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuaW5pdFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5IPW5ldyBreSgxNSx0aGlzLmluaXRUaW1lKTt2YXIgYz1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LDIwKX0pLGQ9bHkoYSkudGhlbihmdW5jdGlvbihlKXtiLkg9bmV3IGp5KGUpO215KGIsZSl9KS5jYXRjaChmdW5jdGlvbigpe2IuSD1uZXcga3koNCxiLmluaXRUaW1lKX0pO3RoaXMuSz1Qcm9taXNlLnJhY2UoW2MsZF0pfSxteT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQpe2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoZC5zdGF0ZT09PSJyZWR1bmRhbnQiKXt2YXIgZT1iLmFjdGl2ZTtlJiZlLnN0YXRlIT09InJlZHVuZGFudCJ8fChhLkg9bmV3IGt5KDEwLGEuaW5pdFRpbWUpKX19KX07YyhiLmFjdGl2ZSk7YyhiLndhaXRpbmcpO2MoYi5pbnN0YWxsaW5nKTsKYi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsZnVuY3Rpb24oKXtjKGIuaW5zdGFsbGluZyl9KX07bnkucHJvdG90eXBlLmRlbGVnYXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSy50aGVuKGZ1bmN0aW9uKCl7ZC5ILmlvKGEsYixjKX0pfTtueS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gMn07CnZhciBseT1mdW5jdGlvbihhKXt2YXIgYixjPUxmKDExKTtjPUxmKDEwKTtiPWM7dmFyIGQ9e3Njb3BlOihUYihhLmhyZWYsIi8iKT9hLmhyZWYuc2xpY2UoMCwtMSk6YS5ocmVmKSsiL18vc2VydmljZV93b3JrZXIifTtiJiYoZC51cGRhdGVWaWFDYWNoZT0iYWxsIik7dmFyIGUsZj1veShhLGIpLGc9bmV3IE1hcChbWyJwYXRoIixhLnBhdGhuYW1lXV0pLGg9SnAoa2MoZikudG9TdHJpbmcoKSk7ZT1McChoLnprLGgucGFyYW1zLGguZnJhZ21lbnQsZyk7dmFyIGw9SWMoKSxuPWtjKGUpO3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLGQpfWNhdGNoKHApe3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLnRvU3RyaW5nKCksZCl9Y2F0Y2gocSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHEpfX19OwpmdW5jdGlvbiBveShhLGIpe2Zvcih2YXIgYz1LcChpeSksZD1hLnBhdGhuYW1lLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiBoLmxlbmd0aD4wfSksZT1bXS5jb25jYXQodyhkKSxbIl8iLCJzZXJ2aWNlX3dvcmtlciIsYiwic3cuanMiXSksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWM9TXAoYyxnLnZhbHVlKTtyZXR1cm4gY307ZnVuY3Rpb24gcHkoYSl7dmFyIGI9bm0oam0uYmEuT2gpLGM9Yj09bnVsbD92b2lkIDA6YlthXTtjfHxhIT09ImxpdGUifHwoYz1iPT1udWxsP3ZvaWQgMDpiLmZ1bGwpO3JldHVybiBjfXZhciBxeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cHkoImZ1bGwiKTtkP2QuZGVsZWdhdGUoYSxiLGMpOmMoe2ZhaWx1cmVUeXBlOjE2fSl9O2Z1bmN0aW9uIHJ5KGEsYixjLGQsZSl7cXkoe2NvbW1hbmRUeXBlOjAscGFyYW1zOnt1cmw6YSxtZXRob2Q6MSx0ZW1wbGF0ZXM6Yixib2R5OiIiLHByb2Nlc3NSZXNwb25zZTohMSxlbmNyeXB0aW9uS2V5U3RyaW5nOmUsc29SZWZlcnJlcjpBLmxvY2F0aW9uLmhyZWZ9fSxjLGZ1bmN0aW9uKGYpe2QoZi5mYWlsdXJlVHlwZSxmLmRhdGEpfSl9O3ZhciBEeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPTA7dGhpcy5LPSExO00oNDYyKSYmVW0oImZzIixmdW5jdGlvbigpe3JldHVybiBhLkg+MCYmYS5IPDU/U3RyaW5nKGEuSCk6dm9pZCAwfSwhMSl9LEV5O2Z1bmN0aW9uIEZ5KGEsYil7RXl8fChFeT1uZXcgRHkpO3ZhciBjPUV5O00oNDYyKSYmZm4uSyYmKGI9PT0iZ3RtLmZvcm1TdWJtaXQifHxiPT09ImZvcm1fc3VibWl0IiYmSWYoNDUpKSYmKGE9PT0xfHxjLkspJiYoYy5LPSEwLGMuSD1hLGEhPT01P1ZtKCJmcyIpOlFtLkguZnM9ITEpfTt2YXIgR3k9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5kYSk9PT1YLlYuS2Epe3ZhciBiPWZ1KGEpO2lmKCFNKDQyNykmJihqcChhLGIpfHxRKGEsSC5KLmhkKSkmJlhvKGZwKSl7dmFyIGM9bHAoYSxiKTtpZihjKXt2YXIgZD1ObSg2OSxjKTtUbChkLGEsNjkpO1luKHtkZXN0aW5hdGlvbklkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQsZW5kcG9pbnQ6NjksZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKX19dmFyIGU9eWIoYS5NLm9uU3VjY2Vzcyk/YS5NLm9uU3VjY2Vzczp4YjskdShhLGIpO2UoKX19O3ZhciBIeT17WDp7V3E6MCxFazoxLFpnOjIsWGs6MyxtaTo0LFZrOjUsV2s6NixZazo3LG5pOjgsdG06OSxzbToxMCxUaToxMSx2bToxMixCaDoxMyxFbToxNCxpajoxNSxTcToxNixqZDoxNyx1ajoxOCx2ajoxOSx3ajoyMCxDbjoyMSx4ajoyMn19O0h5LlhbSHkuWC5XcV09IlJFU0VSVkVEX1pFUk8iO0h5LlhbSHkuWC5Fa109IkFEU19DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLlpnXT0iQ09OVEFJTkVSX0VYRUNVVEVfU1RBUlQiO0h5LlhbSHkuWC5Ya109IkNPTlRBSU5FUl9TRVRVUF9FTkQiO0h5LlhbSHkuWC5taV09IkNPTlRBSU5FUl9TRVRVUF9TVEFSVCI7SHkuWFtIeS5YLlZrXT0iQ09OVEFJTkVSX0JMT0NLSU5HX0VORCI7SHkuWFtIeS5YLldrXT0iQ09OVEFJTkVSX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlguWWtdPSJDT05UQUlORVJfWUlFTERfRU5EIjtIeS5YW0h5LlgubmldPSJDT05UQUlORVJfWUlFTERfU1RBUlQiO0h5LlhbSHkuWC50bV09IkVWRU5UX0VYRUNVVEVfRU5EIjsKSHkuWFtIeS5YLnNtXT0iRVZFTlRfRVZBTFVBVElPTl9FTkQiO0h5LlhbSHkuWC5UaV09IkVWRU5UX0VWQUxVQVRJT05fU1RBUlQiO0h5LlhbSHkuWC52bV09IkVWRU5UX1NFVFVQX0VORCI7SHkuWFtIeS5YLkJoXT0iRVZFTlRfU0VUVVBfU1RBUlQiO0h5LlhbSHkuWC5FbV09IkdBNF9DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLmlqXT0iUEFHRV9MT0FEIjtIeS5YW0h5LlguU3FdPSJQQUdFVklFVyI7SHkuWFtIeS5YLmpkXT0iU05JUFBFVF9MT0FEIjtIeS5YW0h5LlgudWpdPSJUQUdfQ0FMTEJBQ0tfRVJST1IiO0h5LlhbSHkuWC52al09IlRBR19DQUxMQkFDS19GQUlMVVJFIjtIeS5YW0h5Llgud2pdPSJUQUdfQ0FMTEJBQ0tfU1VDQ0VTUyI7SHkuWFtIeS5YLkNuXT0iVEFHX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlgueGpdPSJUQUdfRVhFQ1VURV9TVEFSVCI7dmFyIEl5PXt9O0l5Llg9SHkuWDt2YXIgSnk9e1J1OiJMIixYcToiUyIsa3Y6IlkiLFJ0OiJCIixudToiRSIsTnU6IkkiLGZ2OiJUQyIsdnU6IkhUQyIsb3U6IkYiLE11OiJDIn0sS3k9e1hxOiJTIixsdToiViIsYXU6IkUiLGR2OiJ0YWcifSxMeT17fSxNeT0oTHlbSXkuWC52al09IjYiLEx5W0l5Llgud2pdPSI1IixMeVtJeS5YLnVqXT0iNyIsTHkpO2Z1bmN0aW9uIE55KGEpe3ZhciBiPUUoNSksYz1OdW1iZXIoYS5ldmVudElkKSxkPU51bWJlcihhLnRhZ0lkKTtyZXR1cm4oU2IoYiwiR1RNLSIpP2I6IkdUTS0iK2IpKyI6IisoQWIoYyk/YysiOiI6IiIpKyhBYihkKT9kKyI6IjoiIikrYS5zdGFnZX07ZnVuY3Rpb24gT3koKXt2YXIgYT1yZCgpO3JldHVybiEhKGEmJmEubWFyayBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZhLm1lYXN1cmUgaW5zdGFuY2VvZiBGdW5jdGlvbiYmYS5jbGVhck1lYXN1cmVzIGluc3RhbmNlb2YgRnVuY3Rpb24mJmEuY2xlYXJNYXJrcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKX07dmFyIFB5PWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSxReTtmdW5jdGlvbiBSeSgpe1F5fHwoUXk9bmV3IFB5KTtyZXR1cm4gUXl9ZnVuY3Rpb24gU3koYSl7dmFyIGI9UnkoKSxjPU55KGEpO3JldHVybiBiLkhbY119ZnVuY3Rpb24gVHkoYSxiKXt2YXIgYzthOnt2YXIgZD1SeSgpO2lmKE95KCkpe3ZhciBlPU55KGEpLGYsZztpZihmPShnPXJkKCkpPT1udWxsP3ZvaWQgMDpnLm1hcmsoZSxiKSl7Yz1kLkhbZV09ZjticmVhayBhfX1jPXZvaWQgMH1yZXR1cm4gY307ZnVuY3Rpb24gVXkoYSxiKXtpZihPeSgpKXthLmVudHJ5PU55KGEpO3ZhciBjPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSk7Yy5zdGFnZT1iO2RlbGV0ZSBjLnNlbnQ7dmFyIGQ9U3koYj09PUl5LlguamQ/e3N0YWdlOkl5LlguamR9OmMpLGU9U3koYSk7aWYoZCYmZSYmIShkLnN0YXJ0VGltZT5lLnN0YXJ0VGltZSkpe2Muc3RhZ2U9YisiOiIrYS5zdGFnZTt2YXIgZj1OeShjKSxnPXtzdGFydDpkLm5hbWUsZW5kOmUubmFtZX0saCxsO3JldHVybihsPShoPXJkKCkpPT1udWxsP3ZvaWQgMDpoLm1lYXN1cmUoZixnKSk9PW51bGw/dm9pZCAwOmwuZHVyYXRpb259fX07dmFyIFd5PWZ1bmN0aW9uKCl7dmFyIGE9NTtWeS5Sbz4wJiYoYT1WeS5Sbyk7dGhpcy5LPWE7dGhpcy5IPTA7dGhpcy5OPVtdfSxYeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPGEuSz8hMTpOYigpLWEuTlthLkglYS5LXTwxRTN9LFl5PWZ1bmN0aW9uKGEpe3ZhciBiPWEuSCsrJWEuSzthLk5bYl09TmIoKX07dmFyIFZ5PXtSbzpOZigzLDApfSwkeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy55YT1bXTt0aGlzLkg9dm9pZCAwO3RoaXMuWj17fTt0aGlzLks9dm9pZCAwO3RoaXMuamE9bmV3IFd5O3RoaXMuTGE9MUUzO3RoaXMuUj10aGlzLk49ITE7dGhpcy5mYT1EYigpO1p5KHRoaXMsZnVuY3Rpb24oKXt2YXIgYj1bWyJ2IiwiMyJdLFsidCIsInQiXSxbInBpZCIsU3RyaW5nKGEuZmEpXV0sYz1kdSgpO2MmJmIucHVzaChbImd0bSIsY10pO3JldHVybiBifSk7Y2QoZnVuY3Rpb24oKXthLmZhPURiKCl9LDg2NEU1KX0sWnk9ZnVuY3Rpb24oYSxiKXthLnlhLnB1c2goYil9LGF6PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkg7aWYoZD09PXZvaWQgMClpZihjKWQ9cmooKTtlbHNlIHJldHVybiIiO2Zvcih2YXIgZT1bZmsoImh0dHBzOi8vIitFKDIxKSksIi9hIiwiP2lkPSIrRSg1KV0sZj1tKGEueWEpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9Cmgoe2V2ZW50SWQ6ZCx0ZjohIWJ9KSxuPW0obCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpe3ZhciBxPW0ocC52YWx1ZSkscj1xLm5leHQoKS52YWx1ZSx0PXEubmV4dCgpLnZhbHVlO2UucHVzaCgiJiIrcisiPSIrdCl9ZS5wdXNoKCImej0wIik7cmV0dXJuIGUuam9pbigiIil9LGJ6PWZ1bmN0aW9uKGEpe2lmKCRrKDI2KSYmKGEuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCksYS5IIT09dm9pZCAwJiZhLlIpKXt2YXIgYj1sbyhjby5pYS5aYik7aWYoZ28oYikpYS5OfHwoYS5OPSEwLGlvKGIsZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBieihhKX0pKTtlbHNlIGlmKGEuWlthLkhdfHxYeShhLmphKXx8YS5MYS0tPD0wKVAoMSksYS5aW2EuSF09ITA7ZWxzZXtZeShhLmphKTt2YXIgYz1heihhLCEwKTtYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6YS5IfSxjKTthLlI9ITE7YS5OPSExfX19LGN6PWZ1bmN0aW9uKGEpe2EuS3x8KGEuSz0KQS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYnooYSl9LDUwMCkpfSxlej1mdW5jdGlvbihhKXt2YXIgYj1kejtiLlpbYV18fChhIT09Yi5IJiYoYnooYiksYi5IPWEpLGIuUj0hMCxjeihiKSxheihiKS5sZW5ndGg+PTIwMjImJmJ6KGIpKX0sZHo7ZnVuY3Rpb24gZnooYSl7Z3ooKTtaeShkeixhKX1mdW5jdGlvbiBoeigpe3ZhciBhO2E9YT09PXZvaWQgMD8hMTphO2d6KCk7dmFyIGI9YSxjPWR6O2I9Yj09PXZvaWQgMD8hMTpiO2lmKGZuLk4mJiRrKDI2KSl7dmFyIGQ9YXooYywhMCwhMCk7Yj9Wbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKTpYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKX19ZnVuY3Rpb24gZ3ooKXtkenx8KGR6PW5ldyAkeSl9O2Z1bmN0aW9uIGl6KCl7ZnVuY3Rpb24gYShjLGQpe3ZhciBlPXdiKHJiW2RdfHxbXSk7ZSYmYi5wdXNoKFtjLGVdKX12YXIgYj1bXTthKCJ1IiwiR1RNIik7YSgidXQiLCJUQUdHSU5HIik7YSgiaCIsIkhFQUxUSCIpO3JldHVybiBifTt2YXIgano9Imh0dHBzOi8vIitFKDIxKSxrej1mdW5jdGlvbigpe3RoaXMuTj0hMTt0aGlzLlI9W107dGhpcy5aPVtdO3RoaXMuSD17VEM6MCxIVEM6MH07dGhpcy5LPXt9fSxsej1mdW5jdGlvbihhLGIsYyxkKXthLktbYl18fChhLktbYl09e30pO2EuS1tiXVtjXT1kfSxvej1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiLGQ9bXooKTtBYihkKSYmKGEuSC5JPU1hdGguZmxvb3IoZCkpO2M9bnooYS5ILEp5KS50b1N0cmluZygpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGEuSykpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlLGg9YS5LW2ddLm5hbWUsbD0iIixuPW56KGEuS1tnXSxLeSk7biYmKGw9aCsiLiIrbi50b1N0cmluZygpLGIrPSJ+IitsKX12YXIgcD0ifkFXQ1QiK2EuUi5qb2luKCIuIikscT0ifkdBIithLlouam9pbigiLiIpLHI9IiZjY2lkPSIrdmsoKS50b1N0cmluZygpKyImY2lkPSIrRSg1KS50b1N0cmluZygpKyImbD0iK2MrYisoYS5SLmxlbmd0aD8KcDoiIikrKGEuWi5sZW5ndGg/cToiIik7aWYoTSgyMTQpKXt2YXIgdCx1PSh0PXJkKCkpPT1udWxsP3ZvaWQgMDp0LmdldEVudHJpZXNCeU5hbWUoS2MpLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gU3RyaW5nKHYuZHVyYXRpb24pfSkuam9pbigiLiIpO3UmJihyKz0iflNTIit1KX1yZXR1cm4gcn0scHo9ZnVuY3Rpb24oYSxiKXtpZighYi5zdGFnZXx8YS5OfHwhT3koKXx8U3koYikpcmV0dXJuITE7dmFyIGMsZD0oYz1yZCgpKT09bnVsbD92b2lkIDA6Yy50aW1lT3JpZ2luO2lmKCFBYihkKSlhLk49ITA7ZWxzZSBpZihBYigkaygyNSkpJiYhU3koe3N0YWdlOkl5LlguamR9KSYmIWEuTiYmT3koKSl0cnl7dmFyIGU9TnVtYmVyKCRrKDI1KSk7VHkoe3N0YWdlOkl5LlguamR9LHtzdGFydFRpbWU6TWF0aC5tYXgoZS1kLDApfSk7VHkoe3N0YWdlOkl5LlguaWp9LHtzdGFydFRpbWU6MH0pO3ZhciBmPVV5KHtzdGFnZTpJeS5YLmpkfSxJeS5YLmlqKTtmJiYoYS5ILkw9TWF0aC5mbG9vcihmKSl9Y2F0Y2goZyl7YS5OPQohMH1pZihhLk4pcmV0dXJuITE7dHJ5e2lmKCFUeShiKSlyZXR1cm4hMX1jYXRjaChnKXtyZXR1cm4gYS5OPSEwLCExfXJldHVybiEwfSxxej1mdW5jdGlvbihhLGIsYyl7aWYocHooYSxiKSl0cnl7dmFyIGQ9VXkoYixjKTtpZihkKXJldHVybiBNYXRoLmZsb29yKGQpfWNhdGNoKGUpe2EuTj0hMH19LHN6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKTtweihhLHtzdGFnZTpJeS5YLm1pfSl9LHR6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKSxiPXF6KGEse3N0YWdlOkl5LlguWGt9LEl5LlgubWkpO2IhPT12b2lkIDAmJihhLkguUz1iKX0sdXo9ZnVuY3Rpb24oKXt2YXIgYT1yeigpO3B6KGEse3N0YWdlOkl5Llgubml9KX0sdno9ZnVuY3Rpb24oYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlguQmgsZXZlbnRJZDphfSk7Yy5LW2FdJiZjLktbYV0ubmFtZXx8bHooYyxhLCJuYW1lIixTYihiLCJndG0uIik/YjoiKiIpfSx3ej1mdW5jdGlvbihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC52bSwKZXZlbnRJZDphfSxJeS5YLkJoKTtjIT09dm9pZCAwJiZseihiLGEsIlMiLGMpfSx5ej1mdW5jdGlvbihhLGIpe3ZhciBjPXJ6KCksZD1xeihjLHtzdGFnZTpJeS5YLnRtLGV2ZW50SWQ6YX0sSXkuWC5CaCk7ZCE9PXZvaWQgMCYmbHooYyxhLCJFIixkKTtpZihiPT09Imd0bS5sb2FkIil7dmFyIGU9cXooYyx7c3RhZ2U6SXkuWC5Xa30sSXkuWC5aZyk7ZSE9PXZvaWQgMCYmKGMuSC5FPWUpO2lvKGxvKGNvLmlhLlpiKSxmdW5jdGlvbigpe2lmKCFjLk4mJk95KCkmJkUoNSkpe3ZhciBmPXh6KCk7ZiE9PXZvaWQgMCYmKGMuSC5GPU1hdGguZmxvb3IoZikpO3RyeXtmb3IodmFyIGc9aXooe2V2ZW50SWQ6MCx0ZjohMX0pLGg9W10sbD1tKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1tKG4udmFsdWUpLHE9cC5uZXh0KCkudmFsdWUscj1wLm5leHQoKS52YWx1ZTtoLnB1c2goIiYiK3ErIj0iK3IpfXZhciB0PUNwKCksdT1bW2ZrKGp6KSwiL2E/dj0zJnQ9bCIsIiZwaWQ9IisKRGIoKS50b1N0cmluZygpLCImcnY9IitFKDE0KSx0PyImdGFnX2V4cD0iK3Q6IiIsaC5qb2luKCIiKV0uam9pbigiIiksIiZndG09IixkdSgpLG96KGMpXS5qb2luKCIiKTtpZih1Lmxlbmd0aD4yMDIyKXt2YXIgdj1NYXRoLm1heCh1Lmxhc3RJbmRleE9mKCIuVFMiLDIwMjIpLHUubGFzdEluZGV4T2YoIn4iLDIwMjIpKTt1PXUuc2xpY2UoMCx2KX1Ybih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2fSx1KX1jYXRjaCh4KXt9fX0pfX0seno7ZnVuY3Rpb24gcnooKXt6enx8KHp6PW5ldyBreik7cmV0dXJuIHp6fWZ1bmN0aW9uIG16KCl7dHJ5e3ZhciBhO3JldHVybigoYT1yZCgpKT09bnVsbD92b2lkIDA6YS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIilbMF0pLmRvbUludGVyYWN0aXZlfWNhdGNoKGIpe319CmZ1bmN0aW9uIG56KGEsYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYVtjXSE9PXZvaWQgMH0pLm1hcChmdW5jdGlvbihjKXtyZXR1cm4oIiIrKGM9PT0idGFnIj8iIjpjKSkuY29uY2F0KGFbY10udG9TdHJpbmcoKSl9KS5qb2luKCIuIil9ZnVuY3Rpb24gQXooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5LlguRW0sZXZlbnRJZDphfSxJeS5YLmpkKTtjIT09dm9pZCAwJiZiLloucHVzaChjKX1mdW5jdGlvbiBCeihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC5FayxldmVudElkOmF9LEl5LlguamQpO2MhPT12b2lkIDAmJmIuUi5wdXNoKGMpfWZ1bmN0aW9uIEN6KGEpe3ZhciBiPXJ6KCk7cHooYix7c3RhZ2U6SXkuWC5UaSxldmVudElkOmF9KX0KZnVuY3Rpb24gRHooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5Llguc20sZXZlbnRJZDphfSxJeS5YLlRpKTtjIT09dm9pZCAwJiZseihiLGEsIlYiLGMpfWZ1bmN0aW9uIHh6KCl7dHJ5e3ZhciBhLGI7cmV0dXJuKGI9KGE9cmQoKSk9PW51bGw/dm9pZCAwOmEuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWU9PT0iZmlyc3QtY29udGVudGZ1bC1wYWludCJ9KSk9PW51bGw/dm9pZCAwOmIuc3RhcnRUaW1lfWNhdGNoKGMpe319ZnVuY3Rpb24gRXooYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlgueGosZXZlbnRJZDphLmlkLHRhZ0lkOk51bWJlcihiW0dmLnlqXSl9KX0KZnVuY3Rpb24gRnooYSxiLGMpe3ZhciBkPXJ6KCksZT1kbihiKSxmPU51bWJlcihiW0dmLnlqXSksZz1xeihkLHtzdGFnZTpjLGV2ZW50SWQ6YS5pZCx0YWdJZDpmfSxJeS5YLnhqKTtpZihnIT09dm9pZCAwJiZkLktbYS5pZF0pe3ZhciBoPWQuS1thLmlkXS50YWd8fCIiLGwsbj0obD1NeVtjXSkhPW51bGw/bDoiMSIscD1uZXcgUmVnRXhwKCJUU1xcZCIrZSsiLlRJIitmKSxxPSJUUyIrbitlKyIuVEkiK2YrIi5URSIrZztoLnNlYXJjaChwKT49MD9uIT09IjEiJiZseihkLGEuaWQsInRhZyIsaC5yZXBsYWNlKHAscS5yZXBsYWNlKCIuVEUiK2csIiIpKSk6KGx6KGQsYS5pZCwidGFnIiwoaD9oKyIuIjoiIikrcSksZT09PSJodG1sIiYmKGQuSC5IVEMrPTEpLGQuSC5UQys9MSl9fTt2YXIgS3o9e2dqOnticDoiMSIsdXE6IjIiLFZxOiIzIn19Owp2YXIgTHo9e30sTXo9T2JqZWN0LmZyZWV6ZSgoTHpbRi5ELmZoXT0xLEx6W0YuRC5naF09MSxMeltGLkQuQmRdPTEsTHpbRi5ELkNkXT0xLEx6W0YuRC5SY109MSxMeltGLkQuc2ldPTEsTHpbRi5ELnVpXT0xLEx6W0YuRC5DbF09MSxMeltGLkQuaWhdPTEsTHpbRi5ELkNmXT0xLEx6W0YuRC5EZl09MSxMeltGLkQuRWZdPTEsTHpbRi5ELkhhXT0xLEx6W0YuRC5GZl09MSxMeltGLkQuRmRdPTEsTHpbRi5ELnVjXT0xLEx6W0YuRC5IZF09MSxMeltGLkQuTGJdPTEsTHpbRi5ELkNiXT0xLEx6W0YuRC5UYl09MSxMeltGLkQubmJdPTEsTHpbRi5ELmViXT0xLEx6W0YuRC5HZV09MSxMeltGLkQua2hdPTEsTHpbRi5ELk9hXT0xLEx6W0YuRC5PcF09MSxMeltGLkQuU3BdPTEsTHpbRi5ELkllXT0xLEx6W0YuRC5HaV09MSxMeltGLkQuUWZdPTEsTHpbRi5ELlRhXT0xLEx6W0YuRC5ZY109MSxMeltGLkQuWmNdPTEsTHpbRi5ELnRiXT0xLEx6W0YuRC5RZF09MSxMeltGLkQuUmRdPTEsTHpbRi5ELlNkXT0KMSxMeltGLkQuTmVdPTEsTHpbRi5ELnphXT0xLEx6W0YuRC5VYV09MSxMeltGLkQuV2xdPTEsTHpbRi5ELlhsXT0xLEx6W0YuRC5ZbF09MSxMeltGLkQuWmxdPTEsTHpbRi5ELldiXT0xLEx6W0YuRC5UZF09MSxMeltGLkQuWGJdPTEsTHpbRi5ELmRkXT0xLEx6W0YuRC5VZF09MSxMeltGLkQuUWVdPTEsTHpbRi5ELlBhXT0xLEx6W0YuRC55Y109MSxMeltGLkQuVmRdPTEsTHpbRi5ELnpjXT0xLEx6W0YuRC5BY109MSxMeltGLkQuZmJdPTEsTHpbRi5ELlFhXT0xLEx6KSksTno9e30sT3o9KE56W0YuRC5VY109MSxOeltGLkQuUHBdPTEsTnpbRi5ELkhlXT0xLE56W0YuRC5yaV09MSxOei5vcmVmPTEsTnopO3ZhciBQeixRejsKZnVuY3Rpb24gUnooYSxiKXt2YXIgYz1hW0dmLlliXSxkPWImJmIuZXZlbnQ7aWYoIWMpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBlPVF6W2NdLGY9e30sZztmb3IoZyBpbiBhKWEuaGFzT3duUHJvcGVydHkoZykmJihTYihnLCJ2dHBfIik/ZltlIT09dm9pZCAwP2c6Zy5zdWJzdHJpbmcoNCldPWFbZ106Zz09PUdmLkZxLnRvU3RyaW5nKCkmJihmW2UhPT12b2lkIDA/InZ0cF9ndG1HZW5lcmF0ZWRUYWdnaW5nTWV0YWRhdGEiOmddPWFbZ10pKTtJZig2MSkmJmUmJihmLnZ0cF9leHRyYUV4cGVyaW1lbnRJZHM9ITApO2UmJmQmJmQuY2FjaGVkTW9kZWxWYWx1ZXMmJihmLnZ0cF9ndG1DYWNoZWRWYWx1ZXM9ZC5jYWNoZWRNb2RlbFZhbHVlcyk7YiYmZSYmKGYudnRwX2d0bUVudGl0eUluZGV4PWIuaW5kZXgsZi52dHBfZ3RtRW50aXR5TmFtZT1iLm5hbWUpO3JldHVybiBlIT09dm9pZCAwP2UoZik6UHooYyxmLApiKX12YXIgVHo9ZnVuY3Rpb24oKXt2YXIgYT1TejtpZihNKDU4NSkmJmZuLkspe3ZhciBiPUUoNSkuaW5kZXhPZigiR1RNLSIpPT09MCYmSWYoNjIpLGMsZD0oKGM9RmsoKSk9PW51bGw/dm9pZCAwOmMuc291cmNlKT09PTE7YiYmIWR8fGEuSHx8KGEuSD0hMCxVbSgiYWJsIiwiMSIpLHRvKCkpfX0sU3o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPSExfTt2YXIgVXo9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5IPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5uYW1lPVN0cmluZyh0aGlzLkhbR2YuUm1dfHwiIil9OwpVei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXtpZighYlt0aGlzLmluZGV4XSYmIWEuaXNCbG9ja2VkKHRoaXMuSCkpe2JbdGhpcy5pbmRleF09ITA7dGhpcy5IW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO3ZhciBjPXRoaXMubmFtZSxkO3RyeXt2YXIgZT17fSxmO2ZvcihmIGluIHRoaXMuSCl0aGlzLkguaGFzT3duUHJvcGVydHkoZikmJihlW2ZdPWVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKSk7ZS52dHBfZ3RtRXZlbnRJZD1hLmlkO2EucHJpb3JpdHlJZCYmKGUudnRwX2d0bVByaW9yaXR5SWQ9YS5wcmlvcml0eUlkKTt2YXIgZz1kPVJ6KGUse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjIsbmFtZTpjfSk7ZVtHZi5aa10mJnR5cGVvZiBnPT09InN0cmluZyImJihnPWVbR2YuWmtdPT09MT9nLnRvTG93ZXJDYXNlKCk6Zy50b1VwcGVyQ2FzZSgpKTtlLmhhc093blByb3BlcnR5KEdmLmFoKSYmKGc9WWYoMTgpP2VbR2YuYWhdPT09MT8KVmYoZywiUEVSSU9EIik6ZVtHZi5haF09PT0yP1ZmKGcsIkNPTU1BIik6VmYoZywiQVVUT01BVElDIik6ZVtHZi5haF09PT0xP1ZmKGcsIlBFUklPRCIpOlZmKGcsIkNPTU1BIikpO2UuaGFzT3duUHJvcGVydHkoR2YuYmwpJiZnPT09bnVsbCYmKGc9ZVtHZi5ibF0pO2UuaGFzT3duUHJvcGVydHkoR2YuaWwpJiZnPT09dm9pZCAwJiYoZz1lW0dmLmlsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5lcCkmJihnPUpiKGcpKTtlLmhhc093blByb3BlcnR5KEdmLmZsKSYmZz09PSEwJiYoZz1lW0dmLmZsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5hbCkmJmc9PT0hMSYmKGc9ZVtHZi5hbF0pO2Q9Z31jYXRjaChoKXthLmxvZ01hY3JvRXJyb3ImJmEubG9nTWFjcm9FcnJvcihoLE51bWJlcih0aGlzLmluZGV4KSxjKSxkPSExfWJbdGhpcy5pbmRleF09ITE7cmV0dXJuIGR9fTtVei5wcm90b3R5cGUuRmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSx0aGlzLkgpfTt2YXIgVno9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSD1hO3RoaXMudGFncz1iO3RoaXMubWFjcm9zPWN9O1Z6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIpe3RyeXtmb3IodmFyIGM9e30sZD1tKE9iamVjdC5rZXlzKHRoaXMuSCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2NbZl09Zj09PSJmdW5jdGlvbiI/dGhpcy5IW2ZdOmVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKX1yZXR1cm4gY2woYyl9Y2F0Y2goZyl7SlNPTi5zdHJpbmdpZnkodGhpcy5IKX1yZXR1cm4gMn07VnoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5IKX07dmFyIFd6PWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD1iO3RoaXMuTj1bXTt0aGlzLlI9W107dGhpcy5LPVtdO3RoaXMuSD1bXTt0aGlzLm5hbWU9IiI7Zm9yKHZhciBjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPW0oZC52YWx1ZSksZj1lLm5leHQoKS52YWx1ZSxnPXlhKGUpLGg9ZixsPWc7aD09PSJpZiI/dGhpcy5OPWw6aD09PSJ1bmxlc3MiP3RoaXMuUj1sOmg9PT0iYWRkIj90aGlzLks9bDpoPT09ImJsb2NrIj90aGlzLkg9bDpoPT09InJ1bGVOYW1lIiYmKHRoaXMubmFtZT1sWzBdKX19OwpXei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Yeih0aGlzLGIpLGQ9W10sZT1bXTtjPyhkLnB1c2guYXBwbHkoZCx3KHRoaXMuSykpLGUucHVzaC5hcHBseShlLHcodGhpcy5IKSkpOmM9PT1udWxsJiZlLnB1c2guYXBwbHkoZSx3KHRoaXMuSCkpO3JldHVybntmaXJpbmdUYWdzOmQsYmxvY2tpbmdUYWdzOmV9fTsKdmFyIFh6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW0oYS5OKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9YihkLnZhbHVlKTtpZihlPT09MClyZXR1cm4hMTtpZihlPT09MilyZXR1cm4gbnVsbH1mb3IodmFyIGY9bShhLlIpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1iKGcudmFsdWUpO2lmKGg9PT0yKXJldHVybiBudWxsO2lmKGg9PT0xKXJldHVybiExfXJldHVybiEwfTtXei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBZej1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLklhPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5PPVN0cmluZyh0aGlzLklhW0dmLlliXSk7dGhpcy5uYW1lPVN0cmluZyh0aGlzLklhW0dmLlJtXXx8IiIpO3RoaXMudGFnSWQ9TnVtYmVyKHRoaXMuSWFbR2YueWpdKX07Cll6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7dmFyIGQsZT1jO2U9ZT09PXZvaWQgMD97fTplO3ZhciBmPXt9LGc7Zm9yKGcgaW4gdGhpcy5JYSl0aGlzLklhLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1lbCh0aGlzLklhW2ddLGEsdGhpcy50YWdzLHRoaXMubWFjcm9zLFtdKSk7ZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGYsZSk7ZC52dHBfZ3RtVGFnSWQ9dGhpcy50YWdJZDt0aGlzLklhW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO1J6KGQse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjEsbmFtZTp0aGlzLm5hbWV9KX07WXoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5JYSl9Owp2YXIgWno9ZnVuY3Rpb24oYSxiKXtpZihhLklhW0dmLnRuXSlyZXR1cm4gZWwoYS5JYVtHZi50bl0sYixhLnRhZ3MsYS5tYWNyb3MsW10pfSwkej1mdW5jdGlvbihhLGIpe2lmKGEuSWFbR2YuRG5dKXJldHVybiBlbChhLklhW0dmLkRuXSxiLGEudGFncyxhLm1hY3JvcyxbXSl9LGFBPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5JYVtHZi5jcF07aWYoYylyZXR1cm4gZWwoYyxiLGEudGFncyxhLm1hY3JvcyxbXSl9O1l6LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gZWwodGhpcy5JYVtHZi5NRVRBREFUQV0sYSx0aGlzLnRhZ3MsdGhpcy5tYWNyb3MsW10pfTtZei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBiQT1mdW5jdGlvbigpe3RoaXMubWFjcm9zPVtdO3RoaXMucnVsZXM9W107dGhpcy5wcmVkaWNhdGVzPVtdO3RoaXMudGFncz1bXTt0aGlzLnZrPVtdfTtiQS5wcm90b3R5cGUuZ2V0UnVsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydWxlc307dmFyIGNBPW5ldyBiQTtmdW5jdGlvbiBkQShhLGIsYyxkKXt2YXIgZT1XYygpLGY7aWYoZT09PTEpYTp7dmFyIGc9RSgzKTtnPWcudG9Mb3dlckNhc2UoKTtmb3IodmFyIGg9Imh0dHBzOi8vIitnLGw9Imh0dHA6Ly8iK2csbj0xLHA9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikscT0wO3E8cC5sZW5ndGgmJnE8MTAwO3ErKyl7dmFyIHI9cFtxXS5zcmM7aWYocil7cj1yLnRvTG93ZXJDYXNlKCk7aWYoci5pbmRleE9mKGwpPT09MCl7Zj0zO2JyZWFrIGF9bj09PTEmJnIuaW5kZXhPZihoKT09PTAmJihuPTIpfX1mPW59ZWxzZSBmPWU7cmV0dXJuKGY9PT0yfHxkfHwiaHR0cDoiIT09QS5sb2NhdGlvbi5wcm90b2NvbD9hOmIpK2N9O3ZhciBlQT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5LPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGEuSylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5LLGQpJiZjLnB1c2goZCsifiIrYS5LW2RdKTt2YXIgZT1bXSxmO2ZvcihmIGluIGEuSClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5ILGYpJiZlLnB1c2goZisifiIrYS5IW2ZdKTtiLnRmJiYoYS5LPXt9LGEuSD17fSk7dmFyIGc9W107Yy5sZW5ndGg+MCYmZy5wdXNoKFsiYmNzIixjLmpvaW4oIi4iKV0pO2UubGVuZ3RoPjAmJmcucHVzaChbImJldCIsZS5qb2luKCIuIildKTtyZXR1cm4gZ30pfSxmQTtmdW5jdGlvbiBnQSgpe2ZBfHwoZkE9bmV3IGVBKX07ZnVuY3Rpb24gaEEoYSxiLGMsZCxlKXtpZighRWsoYSkpe2QubG9hZEV4cGVyaW1lbnRzPXlqKCk7SGsoYSxkLGUpO3ZhciBmPWlBKGEpLGc9ZnVuY3Rpb24oKXtvaygpLmNvbnRhaW5lclthXSYmKG9rKCkuY29udGFpbmVyW2FdLnN0YXRlPTMpO2pBKCl9LGg9e2Rlc3RpbmF0aW9uSWQ6YSxlbmRwb2ludDowfTtpZihXaigpKXt2YXIgbD1YaigpLG49bCsiLyIra0EoZixhKTtabihoLG4sdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxuLGwrIi8iK2YsaCxnKX0pfWVsc2V7dmFyIHA9U2IoYSwiR1RNLSIpLHE9ZGsoKSxyPWM/Ii9ndGFnL2pzIjoiL2d0bS5qcyIsdD1tQShiLHIrZixhKTtpZighdCl7dmFyIHU9RSgzKStyO3EmJktjJiZwJiYodT1LYy5yZXBsYWNlKC9eKD86aHR0cHM/OlwvXC8pPy9pLCIiKS5zcGxpdCgvWz8jXS8pWzBdKTt0PWRBKCJodHRwczovLyIsImh0dHA6Ly8iLHUrZil9Wm4oaCx0LHZvaWQgMCxnKX19fQpmdW5jdGlvbiBqQSgpe0trKCl8fEdiKExrKCksZnVuY3Rpb24oYSxiKXtuQShhLGIudHJhbnNwb3J0VXJsLGIuY29udGV4dCk7UCg5Mil9KX1mdW5jdGlvbiBuQShhLGIsYyxkKXtpZighR2soYSkpaWYoYy5sb2FkRXhwZXJpbWVudHN8fChjLmxvYWRFeHBlcmltZW50cz15aigpKSxLaygpKUprKGEsYixjLGQpO2Vsc2V7SWsoYSxjLGQpO3ZhciBlPXtkZXN0aW5hdGlvbklkOmEsZW5kcG9pbnQ6MH07aWYoV2ooKSl7dmFyIGY9WGooKSxnPSJndGQiK2lBKGEsITApLGg9ZisiLyIra0EoZyxhKTtabihlLGgsdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxoLGYrIi8iK2csZSl9KX1lbHNle3ZhciBsPSIvZ3RhZy9kZXN0aW5hdGlvbiIraUEoYSwhMCksbj1tQShiLGwsYSk7bnx8KG49ZEEoImh0dHBzOi8vIiwiaHR0cDovLyIsRSgzKStsKSk7Wm4oZSxuKX19fQpmdW5jdGlvbiBsQShhLGIsYyxkLGUpe2lmKE0oNDEzKSl7Z0EoKTt2YXIgZj1mQTtpZihmbi5OKXt2YXIgZz1BLnBlcmZvcm1hbmNlLGg9LTE7aWYoZyYmZy5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbD1SaihiKS5ocmVmLG49Zy5nZXRFbnRyaWVzQnlOYW1lKGwpLnBvcCgpO2lmKCFuKWZvcih2YXIgcD1nLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscT0wO3E8cC5sZW5ndGg7cSsrKXt2YXIgcj1wW3FdO2lmKHIubmFtZSYmci5uYW1lLmluZGV4T2YoYikhPT0tMSl7bj1yO2JyZWFrfX1uJiZuLnJlc3BvbnNlU3RhdHVzIT09dm9pZCAwJiYoaD1uLnJlc3BvbnNlU3RhdHVzKX1mLktbYV09aH1QKDE5MCk7dmFyIHQ9bm0oam0uYmEua2opfHx7fTt0W2FdPSEwO21tKGptLmJhLmtqLHQpO3ZhciB1PWMrKGMuaW5kZXhPZigiPyIpPT09LTE/Ij9mPTEiOiImZj0xIik7ZT9abihkLHUsdm9pZCAwLGUpOlpuKGQsdSl9ZWxzZSBlJiZlKCl9CmZ1bmN0aW9uIGlBKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9Ij9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChhKSxkPUUoMTkpO2QhPT0iZGF0YUxheWVyIiYmKGMrPSImbD0iK2QpO3ZhciBlPVNiKGEsIkdUTS0iKTtpZighZXx8YiljKz0iJmN4PWMiO2UmJklmKDYyKSYmKGMrPSImZ29vZ2xlX29ubHk9dHJ1ZSIpO3ZhciBmPWMsZyxoPXtEbzpKZigxNSksSW86RSgxNCl9O2c9Q2YoaCk7Yz1mKygiJmd0bT0iK2cpO2RrKCkmJihjKz0iJnNpZ249IitBai5xaik7dmFyIGw9YyxuPUpmKDU0KTtpZihuPT09MSl7bCs9IiZmcHM9ZmMiO3ZhciBwPUUoNjApO3AmJihsKz0iJmdkZXY9IitwKX1lbHNlIG49PT0yJiYobCs9IiZmcHM9ZmUiKTtyZXR1cm4gbH0KZnVuY3Rpb24ga0EoYSxiKXtpZighTSg0MTMpfHwhWGooKSlyZXR1cm4gYTt2YXIgYz1FKDU4KTtpZighYylyZXR1cm4gUCgxODIpLGE7dHJ5e3ZhciBkPU5iKCksZT1FZihhLGMpLGY9TmIoKS1kO2dBKCk7dmFyIGc9ZkE7Zm4uTiYmKGcuSFtiXT1mKTtyZXR1cm4gZX1jYXRjaChoKXtyZXR1cm4gUCgxODMpLGF9fWZ1bmN0aW9uIG1BKGEsYixjKXtpZihhaygpJiZhKXt2YXIgZD1FKDU4KSxlPVhqKCk7aWYoZCYmZSl0cnl7dmFyIGY9TmIoKTtiPWUrIi8iK0VmKGIsZCk7dmFyIGc9TmIoKS1mO2dBKCk7dmFyIGg9ZkE7Zm4uTiYmKGguSFtjXT1nKX1jYXRjaChsKXtQKDE4Myl9cmV0dXJuIFlqKGEsYil9fTt2YXIgcEE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSz1uZXcgRmI7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLlI9e25hbWU6RSgxOSksc2V0OmZ1bmN0aW9uKGIsYyl7RWQoVmIoYixjKSxhLkgpO29BKGEpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0KGIsMil9LHJlc2V0OmZ1bmN0aW9uKCl7YS5LPW5ldyBGYjthLkg9e307b0EoYSl9fX07cEEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiBiIT0yP3RoaXMuSy5nZXQoYSk6cUEodGhpcyxhKX07dmFyIHFBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnNwbGl0KCIuIik7Yz1jfHxbXTtmb3IodmFyIGU9YS5ILGY9MDtmPGQubGVuZ3RoO2YrKyl7aWYoZT09PW51bGwpcmV0dXJuITE7aWYoZT09PXZvaWQgMClicmVhaztlPWVbZFtmXV07aWYoYy5pbmRleE9mKGUpIT09LTEpcmV0dXJufXJldHVybiBlfTsKcEEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTi5oYXNPd25Qcm9wZXJ0eShhKXx8KHRoaXMuSy5zZXQoYSxiKSxFZChWYihhLGIpLHRoaXMuSCksb0EodGhpcykpfTt2YXIgc0E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJndG0uYWxsb3dsaXN0IiwiZ3RtLmJsb2NrbGlzdCIsImd0bS53aGl0ZWxpc3QiLCJndG0uYmxhY2tsaXN0IiwidGFnVHlwZUJsYWNrbGlzdCJdLGI9ckEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9Yi5nZXQoZCwxKTtpZihBcnJheS5pc0FycmF5KGUpfHxDZChlKSllPUVkKGUsbnVsbCk7Yi5OW2RdPWV9fSxvQT1mdW5jdGlvbihhLGIpe0diKGEuTixmdW5jdGlvbihjLGQpe2EuSy5zZXQoYyxkKTtFZChWYihjKSxhLkgpO0VkKFZiKGMsZCksYS5IKTtiJiZkZWxldGUgYS5OW2NdfSl9LHJBPW5ldyBwQSx0QT1yQS5SO2Z1bmN0aW9uIHVBKGEsYil7cmV0dXJuIHJBLmdldChhLGIpfQpmdW5jdGlvbiB2QShhLGIpe3ZhciBjPWI9PT12b2lkIDA/MjpiLGQ9ckEsZSxmPShjPT09dm9pZCAwPzI6YykhPT0xP3FBKGQsYSk6ZC5LLmdldChhKTtBZChmKT09PSJhcnJheSJ8fEFkKGYpPT09Im9iamVjdCI/ZT1FZChmLG51bGwpOmU9ZjtyZXR1cm4gZX07dmFyIHdBPW5ldyBSZWdFeHAoL14oLipcLik/KGdvb2dsZXx5b3V0dWJlfGJsb2dnZXJ8d2l0aGdvb2dsZSkoXC5jb20/KT8oXC5bYS16XXsyfSk/XC4/JC8pLHhBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbIm5vbkdvb2dsZVBpeGVscyJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIiwiY3VzdG9tUGl4ZWxzIiwibm9uR29vZ2xlUGl4ZWxzIiwibm9uR29vZ2xlU2NyaXB0cyIsIm5vbkdvb2dsZUlmcmFtZXMiXSxjdXN0b21TY3JpcHRzOlsiaHRtbCIsImN1c3RvbVBpeGVscyIsIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlUGl4ZWxzOltdLG5vbkdvb2dsZVNjcmlwdHM6WyJub25Hb29nbGVQaXhlbHMiXSxub25Hb29nbGVJZnJhbWVzOlsibm9uR29vZ2xlUGl4ZWxzIl19LHlBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbImN1c3RvbVNjcmlwdHMiLAoiaHRtbCJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIl0sY3VzdG9tU2NyaXB0czpbImh0bWwiXSxub25Hb29nbGVQaXhlbHM6WyJjdXN0b21QaXhlbHMiLCJjdXN0b21TY3JpcHRzIiwiaHRtbCIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlU2NyaXB0czpbImN1c3RvbVNjcmlwdHMiLCJodG1sIl0sbm9uR29vZ2xlSWZyYW1lczpbImN1c3RvbVNjcmlwdHMiLCJodG1sIiwibm9uR29vZ2xlU2NyaXB0cyJdfSx6QT0iZ29vZ2xlIGN1c3RvbVBpeGVscyBjdXN0b21TY3JpcHRzIGh0bWwgbm9uR29vZ2xlUGl4ZWxzIG5vbkdvb2dsZVNjcmlwdHMgbm9uR29vZ2xlSWZyYW1lcyIuc3BsaXQoIiAiKTsKZnVuY3Rpb24gQUEoKXt2YXIgYT11QSgiZ3RtLmFsbG93bGlzdCIpfHx1QSgiZ3RtLndoaXRlbGlzdCIpO2EmJlAoOSk7SWYoNjIpJiYoYT12b2lkIDApO0JBKCkmJihJZig2Mik/UCgxMTYpOihQKDExNyksSWYoNDgpJiYoYT1bXSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdUTSBibG9ja2VkLiBTZWUgZ28vMTM2ODc3MjguIikpKSk7dmFyIGI9YSYmUmIoS2IoYSkseEEpLGM9dUEoImd0bS5ibG9ja2xpc3QiKXx8dUEoImd0bS5ibGFja2xpc3QiKTtjfHwoYz11QSgidGFnVHlwZUJsYWNrbGlzdCIpKSYmUCgzKTtjP1AoOCk6Yz1bXTtCQSgpJiYoYz1LYihjKSxjLnB1c2goIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJzYW5kYm94ZWRTY3JpcHRzIikpO0tiKGMpLmluZGV4T2YoImdvb2dsZSIpPj0wJiZQKDIpO3ZhciBkPWMmJlJiKEtiKGMpLHlBKSxlPXt9O3JldHVybiBmdW5jdGlvbihmKXt2YXIgZz1mJiYKZltHZi5ZYl07aWYoIWd8fHR5cGVvZiBnIT09InN0cmluZyIpcmV0dXJuITA7Zz1nLnJlcGxhY2UoL15fKi8sIiIpO2lmKGVbZ10hPT12b2lkIDApcmV0dXJuIGVbZ107dmFyIGg9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pW2ddfHxbXSxsPSEwO2EmJihsPWwmJkNBKGcsaCxiKSk7dmFyIG49ITE7YyYmKG49REEoZyxoLGQpKTt2YXIgcD0hbHx8bjshcCYmKGguaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpPT09LTF8fGImJmIuaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpIT09LTE/MDpFYihkLHpBKSkmJihwPSEwKTtyZXR1cm4gZVtnXT1wfX1mdW5jdGlvbiBDQShhLGIsYyl7aWYoYy5pbmRleE9mKGEpPDApaWYoYiYmYi5sZW5ndGg+MClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7aWYoYy5pbmRleE9mKGJbZF0pPDApcmV0dXJuIFAoMTEpLCExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9CmZ1bmN0aW9uIERBKGEsYixjKXt2YXIgZD1jLmluZGV4T2YoYSk+PTA7aWYoZClyZXR1cm4gZDt2YXIgZT1FYihjLGJ8fFtdKTtlJiZQKDEwKTtyZXR1cm4gZX1mdW5jdGlvbiBCQSgpe3JldHVybiB3QS50ZXN0KEEubG9jYXRpb24mJkEubG9jYXRpb24uaG9zdG5hbWUpfTtmdW5jdGlvbiBFQShhKXtmb3IodmFyIGI9W10sYz1bXSxkPUZBKGEpLGU9bShjQS5nZXRSdWxlcygpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zm9yKHZhciBnPWYudmFsdWUuZXZhbHVhdGUoYSxkKSxoPWcuZmlyaW5nVGFncyxsPWcuYmxvY2tpbmdUYWdzLG49MDtuPGgubGVuZ3RoO24rKyliW2hbbl1dPSEwO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKWNbbFtwXV09ITB9Zm9yKHZhciBxPVtdLHI9MDtyPGNBLnRhZ3MubGVuZ3RoO3IrKyliW3JdJiYhY1tyXSYmKHFbcl09ITApO3JldHVybiBxfWZ1bmN0aW9uIEZBKGEpe3ZhciBiPVtdO3JldHVybiBmdW5jdGlvbihjKXtiW2NdPT09dm9pZCAwJiYoYltjXT1jQS5wcmVkaWNhdGVzW2NdLmV2YWx1YXRlKGEsW10pKTtyZXR1cm4gYltjXX19O3ZhciBHQT1mdW5jdGlvbigpe3RoaXMuSz0wO3RoaXMuSD17fX07R0EucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0rK3RoaXMuSzt0aGlzLkhbYV09dGhpcy5IW2FdfHx7fTt0aGlzLkhbYV1bU3RyaW5nKGQpXT17bGlzdGVuZXI6YixyZjpjfTtyZXR1cm4gZH07R0EucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5IW2FdLGQ9U3RyaW5nKGIpO2lmKCFjfHwhY1tkXSlyZXR1cm4hMTtkZWxldGUgY1tkXTtyZXR1cm4hMH07dmFyIElBPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107R2IoSEEuSFthXSxmdW5jdGlvbihkLGUpe2MuaW5kZXhPZihlLmxpc3RlbmVyKTwwJiYoZS5yZj09PXZvaWQgMHx8Yi5pbmRleE9mKGUucmYpPj0wKSYmYy5wdXNoKGUubGlzdGVuZXIpfSk7cmV0dXJuIGN9O2Z1bmN0aW9uIEpBKGEsYixjKXtyZXR1cm57ZW50aXR5VHlwZTphLGluZGV4SW5PcmlnaW5Db250YWluZXI6YixuYW1lSW5PcmlnaW5Db250YWluZXI6YyxvcmlnaW5Db250YWluZXJJZDpFKDUpLG9yaWdpbkNJZDp2aygpfX07ZnVuY3Rpb24gS0EoYSxiKXtpZihkYXRhLmVudGl0aWVzKXt2YXIgYz1kYXRhLmVudGl0aWVzW2FdO2lmKGMpcmV0dXJuIGNbYl19fTt2YXIgTUE9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9ITE7dGhpcy5SPVtdO3RoaXMuZXZlbnREYXRhPXt0YWdzOltdfTt0aGlzLlo9ITE7dGhpcy5LPXRoaXMuTj0wO0xBKHRoaXMsYSxiKX0sTkE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoQ2ouaGFzT3duUHJvcGVydHkoYil8fGI9PT0iX196b25lIilyZXR1cm4tMTt2YXIgZT17fTtDZChkKSYmKGU9RWQoZCxlKSk7ZS5pZD1jO2Uuc3RhdHVzPSJ0aW1lb3V0IjtyZXR1cm4gYS5ldmVudERhdGEudGFncy5wdXNoKGUpLTF9LE9BPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZXZlbnREYXRhLnRhZ3NbYl07ZSYmKGUuc3RhdHVzPWMsZS5leGVjdXRpb25UaW1lPWQpfSxQQT1mdW5jdGlvbihhKXtpZighYS5IKXtmb3IodmFyIGI9YS5SLGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdKCk7YS5IPSEwO2EuUi5sZW5ndGg9MH19LExBPWZ1bmN0aW9uKGEsYixjKXtiIT09dm9pZCAwJiZhLndnKGIpO2MmJkEuc2V0VGltZW91dChmdW5jdGlvbigpe1BBKGEpfSwKTnVtYmVyKGMpKX07TUEucHJvdG90eXBlLndnPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1QYihmdW5jdGlvbigpe2JkKGZ1bmN0aW9uKCl7YShFKDUpLGIuZXZlbnREYXRhKX0pfSk7dGhpcy5IP2MoKTp0aGlzLlIucHVzaChjKX07dmFyIFFBPWZ1bmN0aW9uKGEpe2EuTisrO3JldHVybiBQYihmdW5jdGlvbigpe2EuSysrO2EuWiYmYS5LPj1hLk4mJlBBKGEpfSl9LFJBPWZ1bmN0aW9uKGEpe2EuWj0hMDthLks+PWEuTiYmUEEoYSl9O2Z1bmN0aW9uIFNBKCl7cmV0dXJuIEFbVEEoKV19CmZ1bmN0aW9uIFRBKCl7cmV0dXJuIEEuR29vZ2xlQW5hbHl0aWNzT2JqZWN0fHwiZ2EifXZhciBXQT1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9e319O2Z1bmN0aW9uIFhBKCl7YTp7dmFyIGE9RSg1KTt9fQpmdW5jdGlvbiBZQShhLGIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjPVNBKCksZD1jJiZjLmdldEJ5TmFtZSYmYy5nZXRCeU5hbWUoYSk7aWYoZCl7dmFyIGU9ZC5nZXQoInNlbmRIaXRUYXNrIik7ZC5zZXQoInNlbmRIaXRUYXNrIixmdW5jdGlvbihmKXt2YXIgZz1mLmdldCgiaGl0UGF5bG9hZCIpLGg9Zi5nZXQoImhpdENhbGxiYWNrIiksbD1nLmluZGV4T2YoIiZ0aWQ9IitiKTwwO2wmJihmLnNldCgiaGl0UGF5bG9hZCIsZy5yZXBsYWNlKC8mdGlkPVVBLVswLTldKy1bMC05XSsvLCImdGlkPSIrYiksITApLGYuc2V0KCJoaXRDYWxsYmFjayIsdm9pZCAwLCEwKSk7ZShmKTtsJiYoZi5zZXQoImhpdFBheWxvYWQiLGcsITApLGYuc2V0KCJoaXRDYWxsYmFjayIsaCwhMCksZi5zZXQoIl94XzE5Iix2b2lkIDAsITApLGUoZikpfSl9fX07dmFyIGFCPVsiZXMiLCIxIl0sYkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZXZlbnREYXRhPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYzt2YXIgZD1iLmV2ZW50SWQsZT1iLnRmO2lmKGEuZXZlbnREYXRhW2RdKXt2YXIgZj1bXTthLkhbZF18fGYucHVzaChhQik7Zi5wdXNoLmFwcGx5KGYsdyhhLmV2ZW50RGF0YVtkXSkpO2UmJihhLkhbZF09ITApO2M9Zn1lbHNlIGM9W107cmV0dXJuIGN9KX0sY0I7ZnVuY3Rpb24gZEIoYSxiKXt2YXIgYztpZigoYz1jQikhPW51bGwmJmZuLk4pe3ZhciBkPWMuZXZlbnREYXRhLGU7ZT1iLm1hdGNoKC9eKGd0bXxndGFnKVwuLyk/ZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIqIjtkW2FdPVtbImUiLGVdLFsiZWlkIixTdHJpbmcoYSldXTtneigpO2V6KGEpfX07dmFyIGVCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9e307dGhpcy5LPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbInRyIixmLmpvaW4oIi4iKV0pO3ZhciBnPWEuS1tjXXx8W107Zy5sZW5ndGgmJmUucHVzaChbInRpIixnLmpvaW4oIi4iKV0pO2QmJihkZWxldGUgYS5IW2NdLGRlbGV0ZSBhLktbY10pO3JldHVybiBlfSl9LGZCOwpmdW5jdGlvbiBnQihhLGIsYyl7ZkJ8fChmQj1uZXcgZUIpO3ZhciBkPWZCO2lmKGZuLk4mJmIpe3ZhciBlPWRuKGIpO2QuSFthXT1kLkhbYV18fFtdO2QuSFthXS5wdXNoKGMrZSk7dmFyIGY9YltHZi5ZYl07aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBnPShReltmXT8iMSI6IjIiKStlO2QuS1thXT1kLktbYV18fFtdO2QuS1thXS5wdXNoKGcpO2d6KCk7ZXooYSl9fTtmdW5jdGlvbiBoQihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aUIoKS5hZGRSZXN0cmljdGlvbigwLGEsYixjKX1mdW5jdGlvbiBqQigpe3ZhciBhPXZrKCk7cmV0dXJuIGlCKCkuZ2V0UmVzdHJpY3Rpb25zKDAsYSl9ZnVuY3Rpb24ga0IoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lCKCkuYWRkUmVzdHJpY3Rpb24oMSxhLGIsYyl9ZnVuY3Rpb24gbEIoKXt2YXIgYT12aygpO3JldHVybiBpQigpLmdldFJlc3RyaWN0aW9ucygxLGEpfXZhciBtQj1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9O3RoaXMuSD17fX0sbkI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRhaW5lcltiXTtjfHwoYz17X2VudGl0eTp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119LF9ldmVudDp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119fSxhLmNvbnRhaW5lcltiXT1jKTtyZXR1cm4gY307Cm1CLnByb3RvdHlwZS5hZGRSZXN0cmljdGlvbj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtpZighZHx8IXRoaXMuSFtiXSl7dmFyIGU9bkIodGhpcyxiKTthPT09MD9kP2UuX2VudGl0eS5leHRlcm5hbC5wdXNoKGMpOmUuX2VudGl0eS5pbnRlcm5hbC5wdXNoKGMpOmE9PT0xJiYoZD9lLl9ldmVudC5leHRlcm5hbC5wdXNoKGMpOmUuX2V2ZW50LmludGVybmFsLnB1c2goYykpfX07Cm1CLnByb3RvdHlwZS5nZXRSZXN0cmljdGlvbnM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uQih0aGlzLGIpO2lmKGE9PT0wKXt2YXIgZCxlO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZD1jLl9lbnRpdHkpPT1udWxsP3ZvaWQgMDpkLmludGVybmFsKXx8W10pLHcoKGM9PW51bGw/dm9pZCAwOihlPWMuX2VudGl0eSk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXSkpfWlmKGE9PT0xKXt2YXIgZixnO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZj1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmYuaW50ZXJuYWwpfHxbXSksdygoYz09bnVsbD92b2lkIDA6KGc9Yy5fZXZlbnQpPT1udWxsP3ZvaWQgMDpnLmV4dGVybmFsKXx8W10pKX1yZXR1cm5bXX07Cm1CLnByb3RvdHlwZS5nZXRFeHRlcm5hbFJlc3RyaWN0aW9ucz1mdW5jdGlvbihhLGIpe3ZhciBjPW5CKHRoaXMsYiksZCxlO3JldHVybiBhPT09MD8oYz09bnVsbD92b2lkIDA6KGQ9Yy5fZW50aXR5KT09bnVsbD92b2lkIDA6ZC5leHRlcm5hbCl8fFtdOihjPT1udWxsP3ZvaWQgMDooZT1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXX07bUIucHJvdG90eXBlLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPW5CKHRoaXMsYSk7Yi5fZXZlbnQmJihiLl9ldmVudC5leHRlcm5hbD1bXSk7Yi5fZW50aXR5JiYoYi5fZW50aXR5LmV4dGVybmFsPVtdKTt0aGlzLkhbYV09ITB9O2Z1bmN0aW9uIGlCKCl7cmV0dXJuIGtqKCJyIixmdW5jdGlvbigpe3JldHVybiBuZXcgbUJ9KX07ZnVuY3Rpb24gb0IoYSxiLGMsZCl7dmFyIGU9Y0EudGFnc1thXSxmPXBCKGEsYixjLGQpO2lmKCFmKXJldHVybiBudWxsO3ZhciBnPVp6KGUsYyk7aWYoZyYmZy5sZW5ndGgpe3ZhciBoPWdbMF07Zj1vQihoLmluZGV4LHtvblN1Y2Nlc3M6ZixvbkZhaWx1cmU6aC5ibz09PTE/Yi50ZXJtaW5hdGU6Zix0ZXJtaW5hdGU6Yi50ZXJtaW5hdGV9LGMsZCl9cmV0dXJuIGZ9CmZ1bmN0aW9uIHBCKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXtmdW5jdGlvbiB5KCl7aW0oMyk7dmFyIFM9TmIoKS1OO0pBKDEsYSxmLmdldE5hbWUoKSk7Z0IoYy5pZCxnLCI3Iik7T0EoYy5sZCxELCJleGNlcHRpb24iLFMpO2ZuLkgmJkZ6KGMsZyxJeS5YLnVqKTtJfHwoST0hMCxsKCkpfWlmKGYuSWFbR2YuT3FdKWwoKTtlbHNle3ZhciB6PWFBKGYsYyk7aWYoeiE9bnVsbClmb3IodmFyIEM9MDtDPHoubGVuZ3RoO0MrKylpZighWG8oeltDXSkpe2woKTtyZXR1cm59dmFyIEQ9TkEoYy5sZCxmLk8sZi50YWdJZCxmLmdldE1ldGFkYXRhKGMpKSxJPSExLEc9e3Z0cF9ndG1PblN1Y2Nlc3M6ZnVuY3Rpb24oKXtpZighSSl7ST0hMDt2YXIgUz1OYigpLU47Z0IoYy5pZCxnLCI1Iik7T0EoYy5sZCxELCJzdWNjZXNzIixTKTtmbi5IJiZGeihjLGcsSXkuWC53aik7aCgpfX0sdnRwX2d0bU9uRmFpbHVyZTpmdW5jdGlvbigpe2lmKCFJKXtJPSEwO3ZhciBTPU5iKCktTjtnQihjLmlkLGcsIjYiKTsKT0EoYy5sZCxELCJmYWlsdXJlIixTKTtmbi5IJiZGeihjLGcsSXkuWC52aik7bCgpfX19O0cudnRwX2d0bUV2ZW50SWQ9Yy5pZDtjLnByaW9yaXR5SWQmJihHLnZ0cF9ndG1Qcmlvcml0eUlkPWMucHJpb3JpdHlJZCk7Z0IoYy5pZCxnLCIxIik7Zm4uSCYmRXooYyxnKTt2YXIgTj1OYigpO3RyeXtmLmV2YWx1YXRlKGMsZCxHKX1jYXRjaChTKXt5KFMpfWZuLkgmJkZ6KGMsZyxJeS5YLkNuKX19dmFyIGY9Y0EudGFnc1thXSxnPWYuRmcoKSxoPWIub25TdWNjZXNzLGw9Yi5vbkZhaWx1cmUsbj1iLnRlcm1pbmF0ZTtpZihjLmlzQmxvY2tlZChnKSlyZXR1cm4gbnVsbDt2YXIgcD0keihmLGMpO2lmKHAmJnAubGVuZ3RoKXt2YXIgcT1wWzBdLHI9b0IocS5pbmRleCx7b25TdWNjZXNzOmgsb25GYWlsdXJlOmwsdGVybWluYXRlOm59LGMsZCk7aWYoIXIpcmV0dXJuIG51bGw7aD1yO2w9cS5ibz09PTI/bjpyfWlmKGYuSWFbR2Yua25dfHxmLklhW0dmLlFxXSl7dmFyIHQ9Zi5JYVtHZi5rbl0/CmNBLnZrOmMudmssdT1oLHY9bDtpZighdFthXSl7dmFyIHg9cUIoYSx0LFBiKGUpKTtoPXgub25TdWNjZXNzO2w9eC5vbkZhaWx1cmV9cmV0dXJuIGZ1bmN0aW9uKCl7dFthXSh1LHYpfX1yZXR1cm4gZX1mdW5jdGlvbiBxQihhLGIsYyl7dmFyIGQ9W10sZT1bXTtiW2FdPXJCKGQsZSxjKTtyZXR1cm57b25TdWNjZXNzOmZ1bmN0aW9uKCl7YlthXT1zQjtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2JbYV09dEI7Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXSgpfX19ZnVuY3Rpb24gckIoYSxiLGMpe3JldHVybiBmdW5jdGlvbihkLGUpe2EucHVzaChkKTtiLnB1c2goZSk7YygpfX1mdW5jdGlvbiBzQihhKXthKCl9ZnVuY3Rpb24gdEIoYSxiKXtiKCl9O3ZhciB3Qj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxjQS50YWdzLmxlbmd0aDtkKyspaWYoYVtkXSl7dmFyIGU9Y0EudGFnc1tkXTt2YXIgZj1RQShiLmxkKTt0cnl7dmFyIGc9b0IoZCx7b25TdWNjZXNzOmYsb25GYWlsdXJlOmYsdGVybWluYXRlOmZ9LGIsZCk7aWYoZyl7dmFyIGg9UXpbZS5PXTtjLnB1c2goe05vOmQscHJpb3JpdHlPdmVycmlkZTooaD9oLnByaW9yaXR5T3ZlcnJpZGV8fDA6MCl8fEtBKGUuTywxKXx8MCxleGVjdXRlOmd9KX1lbHNlIHVCKGQsYiksZigpfWNhdGNoKG4pe2YoKX19Yy5zb3J0KHZCKTtmb3IodmFyIGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLmV4ZWN1dGUoKTtyZXR1cm4gYy5sZW5ndGg+MH07CmZ1bmN0aW9uIHhCKGEsYil7aWYoIUhBKXJldHVybiExO3ZhciBjPWFbImd0bS50cmlnZ2VycyJdJiZTdHJpbmcoYVsiZ3RtLnRyaWdnZXJzIl0pLGQ9SUEoYS5ldmVudCxjP1N0cmluZyhjKS5zcGxpdCgiLCIpOltdKTtpZighZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPVFBKGIpO3RyeXtkW2VdKGEsZil9Y2F0Y2goZyl7ZigpfX1yZXR1cm4hMH1mdW5jdGlvbiB2QihhLGIpe3ZhciBjLGQ9Yi5wcmlvcml0eU92ZXJyaWRlLGU9YS5wcmlvcml0eU92ZXJyaWRlO2M9ZD5lPzE6ZDxlPy0xOjA7dmFyIGY7aWYoYyE9PTApZj1jO2Vsc2V7dmFyIGc9YS5ObyxoPWIuTm87Zj1nPmg/MTpnPGg/LTE6MH1yZXR1cm4gZn0KZnVuY3Rpb24gdUIoYSxiKXtpZihmbi5OKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZT1iLmlzQmxvY2tlZChjQS50YWdzW2RdLkZnKCkpPyIzIjoiNCIsZj1aeihjQS50YWdzW2RdLGIpO2YmJmYubGVuZ3RoJiZjKGZbMF0uaW5kZXgpO2dCKGIuaWQsY0EudGFnc1tkXS5GZygpLGUpO3ZhciBnPSR6KGNBLnRhZ3NbZF0sYik7ZyYmZy5sZW5ndGgmJmMoZ1swXS5pbmRleCl9O2MoYSl9fXZhciBIQTtmdW5jdGlvbiB5Qigpe0hBfHwoSEE9bmV3IEdBKTtyZXR1cm4gSEF9CmZ1bmN0aW9uIHpCKGEpe3ZhciBiPWFbImd0bS51bmlxdWVFdmVudElkIl0sYz1hWyJndG0ucHJpb3JpdHlJZCJdLGQ9YVsiZ3RtLnByaW9yaXR5UXVldWUiXSxlPWEuZXZlbnQ7Zm4uSCYmdnooYixlKTtpZihlPT09Imd0bS5qcyIpe2lmKCRrKDEzKSlyZXR1cm4hMTtaaygxMywhMCl9dmFyIGY9ITEsZz1sQigpLGg9RWQoYSxudWxsKTtpZighZy5ldmVyeShmdW5jdGlvbih1KXtyZXR1cm4gdSh7b3JpZ2luYWxFdmVudERhdGE6aH0pfSkpe2lmKGUhPT0iZ3RtLmpzIiYmZSE9PSJndG0uaW5pdCImJmUhPT0iZ3RtLmluaXRfY29uc2VudCIpcmV0dXJuITE7Zj0hMH1kQihiLGUpO3ZhciBsPWEuZXZlbnRDYWxsYmFjayxuPWEuZXZlbnRUaW1lb3V0LHA9e2lkOmIscHJpb3JpdHlJZDpjLHByaW9yaXR5UXVldWU6ZCxuYW1lOmUsaXNCbG9ja2VkOkFCKGgsZiksdms6W10sbG9nTWFjcm9FcnJvcjpmdW5jdGlvbih1LHYseCl7UCg2KTtpbSg0KTtKQSgyLHYseCl9LGNhY2hlZE1vZGVsVmFsdWVzOkJCKCksCmxkOm5ldyBNQShmdW5jdGlvbigpe2ZuLkgmJnl6KGIsZSk7RnkoNSxlKTtsJiZsLmFwcGx5KGwsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sbiksb3JpZ2luYWxFdmVudERhdGE6aH07Zm4uSCYmQ3oocC5pZCk7dmFyIHE9RUEocCk7Zm4uSCYmRHoocC5pZCk7RnkoMixlKTtjQS5nZXRSdWxlcygpO2YmJihxPUNCKHEpKTtmbi5IJiZ3eihiKTt2YXIgcj13QihxLHApO3ImJkZ5KDQsZSk7dmFyIHQ9eEIoYSxwLmxkKTtSQShwLmxkKTtlIT09Imd0bS5qcyImJmUhPT0iZ3RtLnN5bmMifHxYQSgpO3JldHVybiBEQihxLHIpfHx0fQpmdW5jdGlvbiBCQigpe3ZhciBhPXt9O2EuZXZlbnQ9dkEoImV2ZW50IiwxKTthLmVjb21tZXJjZT12QSgiZWNvbW1lcmNlIiwxKTthLmd0bT12QSgiZ3RtIik7YS5ldmVudE1vZGVsPXZBKCJldmVudE1vZGVsIik7cmV0dXJuIGF9CmZ1bmN0aW9uIEFCKGEsYil7dmFyIGM9QUEoKTtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9YyhkKTtpZihlKXJldHVybiEwO3ZhciBmPWQmJmRbR2YuWWJdO2lmKCFmfHx0eXBlb2YgZiE9PSJzdHJpbmciKXJldHVybiEwO2Y9Zi5yZXBsYWNlKC9eXyovLCIiKTt2YXIgZz1qQigpLGg9YTtiJiYoaD1FZChhLG51bGwpLGhbImd0bS51bmlxdWVFdmVudElkIl09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2Zvcih2YXIgbD0hMSxuPWFsKDI3LGZ1bmN0aW9uKCl7cmV0dXJue319KVtmXXx8W10scD1tKGcpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlO3RyeXtyKHtlbnRpdHlJZDpmLHNlY3VyaXR5R3JvdXBzOm4sb3JpZ2luYWxFdmVudERhdGE6aH0pfHwobD0hMCl9Y2F0Y2godCl7bD0hMH19cmV0dXJuIGx8fGV9fQpmdW5jdGlvbiBDQihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10pe3ZhciBkPWNBLnRhZ3NbY10uTztpZihCaltkXXx8Y0EudGFnc1tjXS5JYVtHZi5ScV0hPT12b2lkIDB8fEtBKGQsMikpYltjXT0hMH1yZXR1cm4gYn1mdW5jdGlvbiBEQihhLGIpe2lmKCFiKXJldHVybiBiO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmNBLnRhZ3NbY10mJiFDaltjQS50YWdzW2NdLk9dKXJldHVybiEwO3JldHVybiExfTt2YXIgRUI9TmYoNjEsMUUzKSxGQj1OZig2OCwyRTMpLFpvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl07ZnVuY3Rpb24gR0IoYSxiKXtpZihhKXt2YXIgYz1raigiZ3RoIixmdW5jdGlvbigpe3JldHVybnt9fSksZDthIT09Mnx8KChkPUhCKCkpPT1udWxsP3ZvaWQgMDpkLnN0YXR1cykhPT0zfHxiIT09dm9pZCAwJiZiPD1GQnx8KGE9MyxjLmRsPWI/TWF0aC5mbG9vcihiLzFFMyk6dm9pZCAwKTtjLnM9YTtJQihjKX19ZnVuY3Rpb24gSUIoYSl7aWYoYS5zKXt2YXIgYj1mdW5jdGlvbigpe3ZhciBjPXtzdGF0dXM6YS5zLGV4cGlyZXM6RGF0ZS5ub3coKSs4NjRFNX07YS5kbCE9PXZvaWQgMCYmKGMuZGVsYXk9YS5kbCk7a3IoImd0Z19sb2FkX3N0YXR1cyIsYyl9O2JwKGZ1bmN0aW9uKCl7aWYoWW8oKSliKCk7ZWxzZSBmb3IodmFyIGM9UGIoYiksZD1tKFpvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlJbChjLGUudmFsdWUpfSxabyl9fQpmdW5jdGlvbiBKQigpe3ZhciBhPUtCKCEwKTtyZXR1cm4gYT8oTEIoYS5zdGF0dXMsYS5kZWxheSksITEpOiEwfWZ1bmN0aW9uIEtCKGEpe2E9YT09PXZvaWQgMD8hMTphO2lmKGFrKCkpe3ZhciBiPW5yKCJndGdfbG9hZF9zdGF0dXMiKSxjPWIudmFsdWUsZD1hJiZBYihjPT1udWxsP3ZvaWQgMDpjLmV4cGlyZXMpJiYoYz09bnVsbD92b2lkIDA6Yy5leHBpcmVzKTxEYXRlLm5vdygpKzM2RTU7aWYoYi5lcnJvcj09PTAmJkFiKGM9PW51bGw/dm9pZCAwOmMuc3RhdHVzKSYmIWQpe3ZhciBlPXtzdGF0dXM6Yy5zdGF0dXN9OyhjPT1udWxsP3ZvaWQgMDpjLmRlbGF5KSE9PXZvaWQgMCYmKGUuZGVsYXk9Yy5kZWxheSk7cmV0dXJuIGV9cmV0dXJuIEhCKCl9fWZ1bmN0aW9uIExCKGEsYil7dmFyIGM9a2ooImd0aCIsZnVuY3Rpb24oKXtyZXR1cm57fX0pO2Mucz1hO2IhPT12b2lkIDAmJihjLmRsPWIpfQpmdW5jdGlvbiBIQigpe3ZhciBhPW1qKCJndGgiKTtpZihhIT1udWxsJiZhLnMpe3ZhciBiPXtzdGF0dXM6YS5zfTthLmRsIT09dm9pZCAwJiYoYi5kZWxheT1hLmRsKTtyZXR1cm4gYn19ZnVuY3Rpb24gTUIoKXt2YXIgYTsoKGE9SEIoKSk9PW51bGw/dm9pZCAwOmEuc3RhdHVzKT09PTEmJkdCKDMpfWZ1bmN0aW9uIE5CKCl7aWYoSkIoKSl7dmFyIGE9RGF0ZS5ub3coKTtuaigiZ3RoIix7bDpmdW5jdGlvbigpe0dCKDIsRGF0ZS5ub3coKS1hKX0sczoxfSk7dmFyIGI9RSg1KSxjPVNiKGIsIkdUTS0iKT8iL2d0bS5qcyI6Ii9ndGFnL2pzIixkPSJodHRwczovLyIrRSgzKStjKyI/aWQ9IitiKyImZ3RnX2hlYWx0aD0xIjtVYyhkLE1CLE1CKTtBLnNldFRpbWVvdXQoTUIsRUIpfX07ZnVuY3Rpb24gT0IoKXt5QigpLmFkZExpc3RlbmVyKCJndG0uaW5pdCIsZnVuY3Rpb24oYSxiKXtaaygyNiwhMCk7TSg1NTYpJiZhaygpJiYhSWYoNDUpJiYoZm8uSFtjby5pYS5aYl09Ym8uTWEuTGgpO2lmKGFrKCkpe3ZhciBjO2M9bG8oY28uaWEuWmIpO2dvKGMpP2lvKGMsTkIpOk5CKCl9dG8oITEsITApO2IoKX0pfTtmdW5jdGlvbiBQQigpe2lmKG1qKCJwc2NkbCIpIT09dm9pZCAwKW5tKGptLmJhLm9pKT09PXZvaWQgMCYmbW0oam0uYmEub2ksbWooInBzY2RsIikpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oYyl7bmooInBzY2RsIixjKTttbShqbS5iYS5vaSxjKX0sYj1mdW5jdGlvbigpe2EoImVycm9yIil9O3RyeXtIYy5jb29raWVEZXByZWNhdGlvbkxhYmVsPyhhKCJwZW5kaW5nIiksSGMuY29va2llRGVwcmVjYXRpb25MYWJlbC5nZXRWYWx1ZSgpLnRoZW4oYSkuY2F0Y2goYikpOmEoIm5vYXBpIil9Y2F0Y2goYyl7YihjKX19fTt2YXIgUkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucmVhZHk9ITE7dGhpcy5LPTA7dGhpcy5IPVtdO3ZhciBiPUE7aWYoQi5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlIiYmIUIuY3JlYXRlRXZlbnRPYmplY3R8fEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vblJlYWR5KCk7ZWxzZXskYyhCLCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTskYyhCLCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTtpZihCLmNyZWF0ZUV2ZW50T2JqZWN0JiZCLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCl7dmFyIGM9ITA7dHJ5e2M9IWIuZnJhbWVFbGVtZW50fWNhdGNoKGQpe31jJiZRQih0aGlzKX0kYyhiLCJsb2FkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KX19O1JCLnByb3RvdHlwZS5pc1JlYWR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZHl9OwpSQi5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbihhKXtpZighdGhpcy5yZWFkeSl7dmFyIGI9Qi5jcmVhdGVFdmVudE9iamVjdCxjPUIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIsZD1CLnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUiO2lmKCFhfHxhLnR5cGUhPT0icmVhZHlzdGF0ZWNoYW5nZSJ8fGN8fCFiJiZkKXt0aGlzLnJlYWR5PSEwO2Zvcih2YXIgZT0wO2U8dGhpcy5ILmxlbmd0aDtlKyspYmQodGhpcy5IW2VdKX10aGlzLkgucHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz0wO2c8Zi5sZW5ndGg7ZysrKWJkKGZbZ10pO3JldHVybiAwfX19Owp2YXIgUUI9ZnVuY3Rpb24oYSl7aWYoIWEucmVhZHkmJmEuSzwxNDApe2EuSysrO3RyeXt2YXIgYixjOyhjPShiPUIuZG9jdW1lbnRFbGVtZW50KS5kb1Njcm9sbCk9PW51bGx8fGMuY2FsbChiLCJsZWZ0Iik7YS5vblJlYWR5KCl9Y2F0Y2goZCl7QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgUUIoYSl9LDUwKX19fSxTQjtmdW5jdGlvbiBUQigpe1NCfHwoU0I9bmV3IFJCKX1mdW5jdGlvbiBVQigpe1RCKCk7dmFyIGE7cmV0dXJuKGE9U0IpPT1udWxsP3ZvaWQgMDphLmlzUmVhZHkoKX1mdW5jdGlvbiBWQihhKXtUQigpO3ZhciBiOyhiPVNCKSE9bnVsbCYmKGIucmVhZHk/YmQoYSk6Yi5ILnB1c2goYSkpfTt2YXIgWEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVdCLGU7aWYoKGU9ZC5IKT09bnVsbHx8IWUuT3Ipe3ZhciBmPU9iamVjdC5rZXlzKGIpLmxlbmd0aD4wPzI6MSxnLGgsbD0oYz09bnVsbD92b2lkIDA6KGg9Yy5vcmlnaW5hdGluZ0VudGl0eSk9PW51bGw/dm9pZCAwOmgub3JpZ2luQ29udGFpbmVySWQpfHwiIjtnPWw/U2IobCwiR1RNLSIpPzM6MjoxO2lmKCFhKWQuSD17dHlwZTpmLHNvdXJjZTpnLHBhcmFtczpifTtlbHNlIGlmKGQuSCl7UCgxODQpO3ZhciBuPSExO2QuSC5zb3VyY2U9PT1nfHxkLkguc291cmNlIT09MyYmZyE9PTN8fChVbSgiaWRjcyIsIjEiKSxuPSEwKTtkLkgudHlwZSE9PTImJmYhPT0yfHxQKDE4Nik7dmFyIHA7aWYocD1kLkgudHlwZT09PTImJmY9PT0yKWE6e3ZhciBxPWQuSC5wYXJhbXMscj1PYmplY3Qua2V5cyhxKSx0PU9iamVjdC5rZXlzKGIpO2lmKHIubGVuZ3RoIT09dC5sZW5ndGgpcD0hMDtlbHNle2Zvcih2YXIgdT1tKHIpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtpZighYi5oYXNPd25Qcm9wZXJ0eSh4KXx8cVt4XSE9PWJbeF0pe3A9ITA7YnJlYWsgYX19cD0hMX19cCYmKFVtKCJpZGNjIiwiMSIpLG49ITApO24mJih0bygpLGQuSC5Pcj0hMCl9fX0sV0I9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXZvaWQgMH07dmFyIFpCPWZ1bmN0aW9uKGEpe3ZhciBiPVlCOyghZm4uS3x8U2IoRSg1KSwiR1RNLSIpPzA6YT09PXZvaWQgMCkmJmIuSD09PTAmJihVbSgibWNjIiwiMSIpLGIuSD0xKX0sWUI9bmV3IGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9MDtVbSgibmNjIixmdW5jdGlvbigpe2lmKElmKDQ1KSYmYS5IIT09MilyZXR1cm4iMSJ9KX07dmFyICRCPS9eKD86QVd8REN8R3xHRnxHVHxIQXxNQ3xVQSkkLyxhQz0vXHMvOwpmdW5jdGlvbiBiQyhhLGIpe2lmKHpiKGEpKXthPUxiKGEpO3ZhciBjPWEuaW5kZXhPZigiLSIpO2lmKCEoYzwwKSl7dmFyIGQ9YS5zdWJzdHJpbmcoMCxjKTtpZigkQi50ZXN0KGQpKXt2YXIgZT1hLnN1YnN0cmluZyhjKzEpLGY7aWYoYil7dmFyIGc9ZnVuY3Rpb24obil7dmFyIHA9bi5pbmRleE9mKCIvIik7cmV0dXJuIHA8MD9bbl06W24uc3Vic3RyaW5nKDAscCksbi5zdWJzdHJpbmcocCsxKV19O2Y9ZyhlKTtpZihkPT09IkRDIiYmZi5sZW5ndGg9PT0yKXt2YXIgaD1nKGZbMV0pO2gubGVuZ3RoPT09MiYmKGZbMV09aFswXSxmLnB1c2goaFsxXSkpfX1lbHNle2Y9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgbD0wO2w8Zi5sZW5ndGg7bCsrKWlmKCFmW2xdfHxhQy50ZXN0KGZbbF0pJiYoZCE9PSJBVyJ8fGwhPT0xKSlyZXR1cm59cmV0dXJue2lkOmEscHJlZml4OmQsZGVzdGluYXRpb25JZDpkKyItIitmWzBdLGlkczpmLEpjOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWQhPT10aGlzLmRlc3RpbmF0aW9uSWR9fX19fX0KZnVuY3Rpb24gY0MoYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1iQyhhW2RdLGIpO2UmJihjW2UuaWRdPWUpfXZhciBmPVtdLGc7Zm9yKGcgaW4gYylpZihjLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1jW2ddO2gucHJlZml4PT09IkFXIiYmaC5pZHNbZENbMV1dJiZmLnB1c2goaC5kZXN0aW5hdGlvbklkKX1mb3IodmFyIGw9MDtsPGYubGVuZ3RoOysrbClkZWxldGUgY1tmW2xdXTtmb3IodmFyIG49W10scD1tKE9iamVjdC5rZXlzKGMpKSxxPXAubmV4dCgpOyFxLmRvbmU7cT1wLm5leHQoKSluLnB1c2goY1txLnZhbHVlXSk7cmV0dXJuIG59dmFyIGVDPXt9LGRDPShlQ1swXT0wLGVDWzFdPTEsZUNbMl09MixlQ1szXT0wLGVDWzRdPTEsZUNbNV09MCxlQ1s2XT0wLGVDWzddPTAsZUMpO3ZhciBmQz17aW5pdGlhbGl6ZWQ6MTEsY29tcGxldGU6MTIsaW50ZXJhY3RpdmU6MTN9LGdDPXt9LGhDPU9iamVjdC5mcmVlemUoKGdDW0YuRC5UZF09ITAsZ0MpKSxpQz1mdW5jdGlvbigpe3RoaXMuUj1OZigzNCw1MDApO3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5LPXZvaWQgMH0sakM9ZnVuY3Rpb24oYSxiLGMpe2lmKGMubGVuZ3RoJiZmbi5LKXt2YXIgZDsoZD1hLkgpW2JdIT1udWxsfHwoZFtiXT1bXSk7dmFyIGU7KGU9YS5OKVtiXSE9bnVsbHx8KGVbYl09W10pO3ZhciBmPWMuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiFhLk5bYl0uaW5jbHVkZXMoZyl9KTthLkhbYl0ucHVzaC5hcHBseShhLkhbYl0sdyhmKSk7YS5OW2JdLnB1c2guYXBwbHkoYS5OW2JdLHcoZikpOyFhLksmJmYubGVuZ3RoPjAmJihWbSgidGRjIiwhMCksYS5LPUEuc2V0VGltZW91dChmdW5jdGlvbigpe3RvKCk7YS5IPXt9O2EuSz12b2lkIDB9LGEuUikpfX07CmlDLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztVbSgidGRjIixmdW5jdGlvbigpe2EuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCk7dmFyIGI9W10sYztmb3IoYyBpbiBhLkgpYS5ILmhhc093blByb3BlcnR5KGMpJiZiLnB1c2goYysiKiIrYS5IW2NdLmpvaW4oIi4iKSk7cmV0dXJuIGIubGVuZ3RoP2Iuam9pbigiISIpOnZvaWQgMH0sITEpfTsKdmFyIGtDPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZDtmb3IoZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPSEwKTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT0hMCk7cmV0dXJuIGN9LGxDPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP3t9OmQ7ZT1lPT09dm9pZCAwPyIiOmU7aWYoYj09PWMpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24odCx1KXt2YXIgdjtBZCh1KT09PSJvYmplY3QiP3Y9dVt0XTpBZCh1KT09PSJhcnJheSImJih2PXVbdF0pO3JldHVybiB2PT09dm9pZCAwP2hDW3RdOnZ9LGc9a0MoYixjKSxoO2ZvcihoIGluIGcpaWYoZy5oYXNPd25Qcm9wZXJ0eShoKSYmaCE9PUYuRC5YYil7dmFyIGw9KGU/ZSsiLiI6IiIpK2gsbj1mKGgsYikscD1mKGgsYykscT1BZChuKT09PSJvYmplY3QifHxBZChuKT09PSJhcnJheSIscj1BZChwKT09PSJvYmplY3QifHxBZChwKT09PSJhcnJheSI7aWYocSYmcilsQyhhLG4scCxkLGwpOwplbHNlIGlmKHF8fHJ8fG4hPT1wKWRbbF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSxtQz1uZXcgaUM7dmFyIG5DPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSz1OYigpO3RoaXMuSD1iO3RoaXMuYXJncz1jO3RoaXMubWVzc2FnZUNvbnRleHQ9ZDt0aGlzLnR5cGU9YX0sb0M9ZnVuY3Rpb24oKXt0aGlzLldhPXt9O3RoaXMuaWI9e307dGhpcy5LPXt9O3RoaXMuTj1udWxsO3RoaXMuaGI9e307dGhpcy5IPSExO3RoaXMuc3RhdHVzPTF9O2Z1bmN0aW9uIHBDKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3FDKCJzZXQiLGEpOnFDKCJzZXQiLGEsYil9ZnVuY3Rpb24gckMoYSxiKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTE/cUMoImNvbmZpZyIsYSk6cUMoImNvbmZpZyIsYSxiKX1mdW5jdGlvbiBzQyhhLGIsYyl7Yz1jfHx7fTtjW0YuRC5YYl09YTtyZXR1cm4gcUMoImV2ZW50IixiLGMpfWZ1bmN0aW9uIHFDKCl7cmV0dXJuIGFyZ3VtZW50c307dmFyIHRDPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG4scCxxLHIpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9ZDt0aGlzLldhPWU7dGhpcy5oYj1mO3RoaXMuSGM9Zzt0aGlzLkJnPWg7dGhpcy5pYj1sO3RoaXMuZXZlbnRNZXRhZGF0YT1uO3RoaXMub25TdWNjZXNzPXA7dGhpcy5vbkZhaWx1cmU9cTt0aGlzLmlzR3RtRXZlbnQ9cn0sdUM9ZnVuY3Rpb24oYSl7dmFyIGI9e29uU3VjY2Vzczp4YixvbkZhaWx1cmU6eGJ9O2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjLGQsZSxmLGcsaCxsLG4scCxxLHIsdCx1LHYseCx5LHosQyxELEksRyxOLFMsVyxlYSxqYTtyZXR1cm4gbmV3IHRDKCh2PShjPWIpPT1udWxsP3ZvaWQgMDpjLmV2ZW50SWQpIT1udWxsP3Y6YS5ldmVudElkLCh4PShkPWIpPT1udWxsP3ZvaWQgMDpkLnByaW9yaXR5SWQpIT1udWxsP3g6YS5wcmlvcml0eUlkLCh5PShlPWIpPT1udWxsP3ZvaWQgMDplLnByaW9yaXR5UXVldWUpIT0KbnVsbD95OmEucHJpb3JpdHlRdWV1ZSwoej0oZj1iKT09bnVsbD92b2lkIDA6Zi5FYSkhPW51bGw/ejphLkVhLChDPShnPWIpPT1udWxsP3ZvaWQgMDpnLldhKSE9bnVsbD9DOmEuV2EsKEQ9KGg9Yik9PW51bGw/dm9pZCAwOmguaGIpIT1udWxsP0Q6YS5oYiwoST0obD1iKT09bnVsbD92b2lkIDA6bC5IYykhPW51bGw/STphLkhjLChHPShuPWIpPT1udWxsP3ZvaWQgMDpuLkJnKSE9bnVsbD9HOmEuQmcsKE49KHA9Yik9PW51bGw/dm9pZCAwOnAuaWIpIT1udWxsP046YS5pYiwoUz0ocT1iKT09bnVsbD92b2lkIDA6cS5ldmVudE1ldGFkYXRhKSE9bnVsbD9TOmEuZXZlbnRNZXRhZGF0YSwoVz0ocj1iKT09bnVsbD92b2lkIDA6ci5vblN1Y2Nlc3MpIT1udWxsP1c6YS5vblN1Y2Nlc3MsKGVhPSh0PWIpPT1udWxsP3ZvaWQgMDp0Lm9uRmFpbHVyZSkhPW51bGw/ZWE6YS5vbkZhaWx1cmUsKGphPSh1PWIpPT1udWxsP3ZvaWQgMDp1LmlzR3RtRXZlbnQpIT1udWxsP2phOmEuaXNHdG1FdmVudCl9LAp2Qz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO3N3aXRjaChiKXtjYXNlIDM6Yy5wdXNoKGEuRWEpO2MucHVzaChhLldhKTtjLnB1c2goYS5oYik7Yy5wdXNoKGEuSGMpO2MucHVzaChhLmliKTticmVhaztjYXNlIDI6Yy5wdXNoKGEuRWEpO2JyZWFrO2Nhc2UgMTpjLnB1c2goYS5XYSk7Yy5wdXNoKGEuaGIpO2MucHVzaChhLkhjKTtjLnB1c2goYS5pYik7YnJlYWs7Y2FzZSA0OmMucHVzaChhLkVhKSxjLnB1c2goYS5XYSksYy5wdXNoKGEuaGIpLGMucHVzaChhLkhjKX1yZXR1cm4gY30sTz1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9bSh2QyhhLGQ9PT12b2lkIDA/MzpkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZ1tiXSE9PXZvaWQgMClyZXR1cm4gZ1tiXX1yZXR1cm4gY30sd0M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9dkMoYSw0KSxkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZm9yKHZhciBmPU9iamVjdC5rZXlzKGUudmFsdWUpLApnPW0oZiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpYltoLnZhbHVlXT0xO3JldHVybiBPYmplY3Qua2V5cyhiKX07dEMucHJvdG90eXBlLmdldE1lcmdlZFZhbHVlcz1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPzM6Yjt2YXIgZD17fSxlPSExLGY9ZnVuY3Rpb24obil7Q2QobikmJkdiKG4sZnVuY3Rpb24ocCxxKXtlPSEwO2RbcF09cX0pfTtjJiZmKGMpO3ZhciBnPXZDKHRoaXMsYik7Zy5yZXZlcnNlKCk7Zm9yKHZhciBoPW0oZyksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpZihsLnZhbHVlW2FdKTtyZXR1cm4gZT9kOnZvaWQgMH07CnZhciB4Qz1mdW5jdGlvbihhKXtmb3IodmFyIGI9W0YuRC5LZixGLkQuR2YsRi5ELkhmLEYuRC5JZixGLkQuSmYsRi5ELkxmLEYuRC5NZl0sYz12QyhhLDMpLGQ9bShjKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7Zm9yKHZhciBmPWUudmFsdWUsZz17fSxoPSExLGw9bShiKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtmW3BdIT09dm9pZCAwJiYoZ1twXT1mW3BdLGg9ITApfXZhciBxPWg/Zzp2b2lkIDA7aWYocSlyZXR1cm4gcX1yZXR1cm57fX0seUM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9e307dGhpcy5XYT17fTt0aGlzLmhiPXt9O3RoaXMuSGM9e307dGhpcy5CZz17fTt0aGlzLmliPXt9O3RoaXMuZXZlbnRNZXRhZGF0YT17fTt0aGlzLmlzR3RtRXZlbnQ9ITE7dGhpcy5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt9O3RoaXMub25GYWlsdXJlPQpmdW5jdGlvbigpe319LHpDPWZ1bmN0aW9uKGEsYil7YS5FYT1iO3JldHVybiBhfSxBQz1mdW5jdGlvbihhLGIpe2EuV2E9YjtyZXR1cm4gYX0sQkM9ZnVuY3Rpb24oYSxiKXthLmhiPWI7cmV0dXJuIGF9LENDPWZ1bmN0aW9uKGEsYil7YS5IYz1iO3JldHVybiBhfSxEQz1mdW5jdGlvbihhLGIpe2EuQmc9YjtyZXR1cm4gYX0sRUM9ZnVuY3Rpb24oYSxiKXthLmliPWI7cmV0dXJuIGF9LEZDPWZ1bmN0aW9uKGEsYil7YS5ldmVudE1ldGFkYXRhPWJ8fHt9O3JldHVybiBhfSxHQz1mdW5jdGlvbihhLGIpe2Eub25TdWNjZXNzPWI7cmV0dXJuIGF9LEhDPWZ1bmN0aW9uKGEsYil7YS5vbkZhaWx1cmU9YjtyZXR1cm4gYX0sSUM9ZnVuY3Rpb24oYSxiKXthLmlzR3RtRXZlbnQ9YjtyZXR1cm4gYX0sSkM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyB0QyhhLmV2ZW50SWQsYS5wcmlvcml0eUlkLGEucHJpb3JpdHlRdWV1ZSxhLkVhLGEuV2EsYS5oYixhLkhjLGEuQmcsYS5pYixhLmV2ZW50TWV0YWRhdGEsCmEub25TdWNjZXNzLGEub25GYWlsdXJlLGEuaXNHdG1FdmVudCl9O2Z1bmN0aW9uIEtDKGEsYil7R2IoYSxmdW5jdGlvbihjKXt2YXIgZDtpZihkPWMuY2hhckF0KDApPT09Il8iKXt2YXIgZTthOnN3aXRjaChjKXtjYXNlIEYuRC5WYjpjYXNlIEYuRC5SZjpjYXNlIEYuRC5zaDplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWQ9IWV9ZCYmKGImJmIoYyksZGVsZXRlIGFbY10pfSl9O3ZhciBMQz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbImVwciIsZi5qb2luKCIuIildKTtkJiZkZWxldGUgYS5IW2NdO3JldHVybiBlfSl9LE5DPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NQztmbi5OJiZhIT09dm9pZCAwJiYoZC5IW2FdPWQuSFthXXx8W10sZC5IW2FdLnB1c2goYytiKSxneigpLGV6KGEpKX0sTUM7ZnVuY3Rpb24gT0MoKXtNQ3x8KE1DPW5ldyBMQyl9O3ZhciBQQz1mdW5jdGlvbigpe3RoaXMuZGVzdGluYXRpb25zPXt9O3RoaXMuSD17fTt0aGlzLmNvbW1hbmRzPVtdfSxRQz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmRlc3RpbmF0aW9uc1tiLmRlc3RpbmF0aW9uSWRdPWEuZGVzdGluYXRpb25zW2IuZGVzdGluYXRpb25JZF18fG5ldyBvQ30sUkM9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZC5IKXt2YXIgZT1RQyhhLGQuSCksZj1lLk47aWYoZil7dmFyIGc9RWQoYyxudWxsKSxoPUVkKGUuV2FbZC5ILmRlc3RpbmF0aW9uSWRdLG51bGwpLGw9RWQoZS5oYixudWxsKSxuPUVkKGUuaWIsbnVsbCkscD1FZChhLkgsbnVsbCkscT17fTtpZihmbi5OKXRyeXtxPUVkKHJBLkgsbnVsbCl9Y2F0Y2goeCl7UCg3Mil9dmFyIHI9ZC5ILnByZWZpeCx0PWZ1bmN0aW9uKHgpe3ZhciB5PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHkscix4KX0sdT1KQyhJQyhIQyhHQyhGQyhEQyhDQyhFQyhCQyhBQyh6QyhuZXcgeUMoZC5tZXNzYWdlQ29udGV4dC5ldmVudElkLApkLm1lc3NhZ2VDb250ZXh0LnByaW9yaXR5SWQsZC5tZXNzYWdlQ29udGV4dC5wcmlvcml0eVF1ZXVlKSxnKSxoKSxsKSxuKSxwKSxxKSxkLm1lc3NhZ2VDb250ZXh0LmV2ZW50TWV0YWRhdGEpLGZ1bmN0aW9uKCl7aWYodCl7dmFyIHg9dDt0PXZvaWQgMDt4KCIyIik7aWYoZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MpZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MoKX19KSxmdW5jdGlvbigpe2lmKHQpe3ZhciB4PXQ7dD12b2lkIDA7eCgiMyIpO2lmKGQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKWQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKCl9fSksISFkLm1lc3NhZ2VDb250ZXh0LmlzR3RtRXZlbnQpKSx2PWZ1bmN0aW9uKCl7dHJ5e3ZhciB4PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHgsciwiMSIpO3ZhciB5PWQuSC5pZCx6PW1DO2lmKGZuLksmJmI9PT1GLkQud2Epe3ZhciBDLEQ9KEM9YkMoeSkpPT1udWxsP3ZvaWQgMDpDLmlkcztpZighKEQmJkQubGVuZ3RoPgoxKSl7dmFyIEk9dS5FYVtGLkQuWGJdO2lmKCFJfHxJPT09eSl7dmFyIEcsTj1NYygiZ29vZ2xlX3RhZ19kYXRhIix7fSk7Ti50ZHx8KE4udGQ9e30pO0c9Ti50ZDt2YXIgUz1FZCh1LkhjLG51bGwpO0VkKHUuRWEsUyk7dmFyIFc9W10sZWE7Zm9yKGVhIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShlYSkmJmxDKHosR1tlYV0sUykubGVuZ3RoJiZXLnB1c2goZWEpO1cubGVuZ3RoJiYoakMoeix5LFcpLHNiKCJUQUdHSU5HIixmQ1tCLnJlYWR5U3RhdGVdfHwxNCkpO0dbeV09U319fWYoZC5ILmlkLGIsZC5LLHUpfWNhdGNoKGZhKXt2YXIgamE9ZC5tZXNzYWdlQ29udGV4dC5ldmVudElkO09DKCk7TkMoamEsciwiNCIpfX07Yj09PSJndGFnLmdldCI/digpOmlvKGUuUix2KX19fSxTQz1mdW5jdGlvbihhLGIpe2lmKGIudHlwZSE9PSJyZXF1aXJlIil7dmFyIGM9dm9pZCAwO2IudHlwZT09PSJldmVudCImJihjPWIuYXJnc1sxXSk7aWYoYi5IKWZvcih2YXIgZD1RQyhhLGIuSCkuS1tiLnR5cGVdfHwKW10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0oYyk7ZWxzZSBmb3IodmFyIGYgaW4gYS5kZXN0aW5hdGlvbnMpaWYoYS5kZXN0aW5hdGlvbnMuaGFzT3duUHJvcGVydHkoZikpe3ZhciBnPWEuZGVzdGluYXRpb25zW2ZdO2lmKGcmJmcuSylmb3IodmFyIGg9Zy5LW2IudHlwZV18fFtdLGw9MDtsPGgubGVuZ3RoO2wrKyloW2xdKGMpfX19O1BDLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1RQyh0aGlzLGEpO2Uuc3RhdHVzIT09MyYmKGUuTj1iLGUuc3RhdHVzPTMsZS5SPWxvKGMpLFRDKHRoaXMsYSxkfHx7fSksdGhpcy5mbHVzaCgpKX07ClBDLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT12b2lkIDAmJihRQyh0aGlzLGMpLnN0YXR1cz09PTEmJihRQyh0aGlzLGMpLnN0YXR1cz0yLHRoaXMucHVzaCgicmVxdWlyZSIsW3t9XSxjLHt9KSksUUModGhpcyxjKS5IJiYoZC5kZWZlcnJhYmxlPSExKSxkLmV2ZW50TWV0YWRhdGF8fChkLmV2ZW50TWV0YWRhdGE9e30pLGQuZXZlbnRNZXRhZGF0YVtILkouc2ddfHwoZC5ldmVudE1ldGFkYXRhW0guSi5zZ109W2MuZGVzdGluYXRpb25JZF0pLGQuZXZlbnRNZXRhZGF0YVtILkoubWpdfHwoZC5ldmVudE1ldGFkYXRhW0guSi5tal09W2MuaWRdKSk7dGhpcy5jb21tYW5kcy5wdXNoKG5ldyBuQyhhLGMsYixkKSk7ZC5kZWZlcnJhYmxlfHx0aGlzLmZsdXNoKCl9OwpQQy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMsYz1bXSxkPSExLGU9e307dGhpcy5jb21tYW5kcy5sZW5ndGg7ZT17Wm46dm9pZCAwfSl7dmFyIGY9dGhpcy5jb21tYW5kc1swXSxnPWYuSDtpZihmLm1lc3NhZ2VDb250ZXh0LmRlZmVycmFibGUpIWd8fFFDKHRoaXMsZykuSD8oZi5tZXNzYWdlQ29udGV4dC5kZWZlcnJhYmxlPSExLHRoaXMuY29tbWFuZHMucHVzaChmKSk6Yy5wdXNoKGYpLHRoaXMuY29tbWFuZHMuc2hpZnQoKTtlbHNle3N3aXRjaChmLnR5cGUpe2Nhc2UgInJlcXVpcmUiOmlmKFFDKHRoaXMsZykuc3RhdHVzIT09MyYmIWEpe3RoaXMuY29tbWFuZHMucHVzaC5hcHBseSh0aGlzLmNvbW1hbmRzLGMpO3JldHVybn1icmVhaztjYXNlICJzZXQiOnZhciBoPWYuYXJnc1swXTtLQyhoKTtVQyhoKTtHYihoLGZ1bmN0aW9uKHgseSl7RWQoVmIoeCx5KSxiLkgpfSk7SHUoaCwhMCk7YnJlYWs7Y2FzZSAiZXZlbnQiOmUuWm49Zi5hcmdzWzFdO3ZhciBsPQpWQyhmLmFyZ3NbMF0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fShlKSksbj1sW0YuRC5YYl07biYmbiE9PWcuaWR8fEh1KGwpO1JDKHRoaXMsZS5abixsLGYpO2JyZWFrO2Nhc2UgImdldCI6dmFyIHA9e30scT0ocFtGLkQuVGZdPWYuYXJnc1swXSxwW0YuRC5TZl09Zi5hcmdzWzFdLHApO1JDKHRoaXMsRi5ELkpiLHEsZik7YnJlYWs7Y2FzZSAiY29udGFpbmVyX2NvbmZpZyI6dmFyIHI9UUModGhpcyxnKSx0PVZDKGYuYXJnc1swXSxmdW5jdGlvbigpe30pO0h1KHQsITApO3IuSD0hMDtFZCh0LHIuaGIpO2Q9ITA7YnJlYWs7Y2FzZSAiZGVzdGluYXRpb25fY29uZmlnIjp2YXIgdT1RQyh0aGlzLGcpLHY9VkMoZi5hcmdzWzBdLGZ1bmN0aW9uKCl7fSk7SHUodiwhMCk7dS5XYVtnLmlkXXx8KHUuV2FbZy5pZF09e30pO3UuSD0hMDtFZCh2LHUuV2FbZy5pZF0pO2Q9ITA7YnJlYWs7Y2FzZSAicmVzZXRfY29udGFpbmVyX2NvbmZpZyI6UUModGhpcyxnKS5oYj17fTticmVhazsKY2FzZSAicmVzZXRfdGFyZ2V0X2NvbmZpZyI6UUModGhpcyxnKS5XYVtnLmlkXT17fX10aGlzLmNvbW1hbmRzLnNoaWZ0KCk7U0ModGhpcyxmKX19dGhpcy5jb21tYW5kcy5wdXNoLmFwcGx5KHRoaXMuY29tbWFuZHMsYyk7ZCYmdGhpcy5mbHVzaCgpfTt2YXIgVEM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUVkKGMsbnVsbCk7RWQoUUMoYSxiKS5pYixkKTtRQyhhLGIpLmliPWR9O2Z1bmN0aW9uIFZDKGEsYil7dmFyIGM9e307R2IoYSxmdW5jdGlvbihkLGUpe0VkKFZiKGQsZSksYyl9KTtLQyhjLGIpO1VDKGMpO3JldHVybiBjfQpmdW5jdGlvbiBVQyhhKXtpZihNKDYwMSkmJkJBKCkpe2Zvcih2YXIgYj0hMSxjPW0obmV3IFNldChbRi5ELnljLEYuRC5kZF0pKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTthW2VdIT09dm9pZCAwJiYoYj0hMCxkZWxldGUgYVtlXSl9YiYmIWFsKDM1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSYmKFprKDM1LCEwKSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdvb2dsZSBUYWcgTWFuYWdlcjogU2VydmVyLXNpZGUgR1RNIHBhcmFtZXRlcnMgKHRyYW5zcG9ydF91cmwvc2VydmVyX2NvbnRhaW5lcl91cmwpIGFyZSBub3QgcGVybWl0dGVkIG9uIHRoaXMgZG9tYWluIGFuZCBoYXZlIGJlZW4gaWdub3JlZC4iKSxQKDE5NykpfX07dmFyIFdDPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBQQzt0aGlzLks9ITF9O1dDLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMuSC5mbHVzaCgpfTt2YXIgWEM7ZnVuY3Rpb24gWUMoKXtYQ3x8KFhDPW5ldyBXQyk7cmV0dXJuIFhDfWZ1bmN0aW9uIFpDKGEsYixjLGQpe3ZhciBlPVlDKCksZj1iQyhjLGQuaXNHdG1FdmVudCk7ZiYmKGUuSyYmKGQuZGVmZXJyYWJsZT0hMCksZS5ILnB1c2goImV2ZW50IixbYixhXSxmLGQpKX1mdW5jdGlvbiAkQyhhLGIsYyxkKXt2YXIgZT1ZQygpLGY9YkMoYyxkLmlzR3RtRXZlbnQpO2YmJmUuSC5wdXNoKCJnZXQiLFthLGJdLGYsZCl9ZnVuY3Rpb24gYUQoYSxiLGMpe3ZhciBkPVlDKCksZT1iQyhhLGMuaXNHdG1FdmVudCk7ZSYmZC5ILnB1c2goImNvbnRhaW5lcl9jb25maWciLFtiXSxlLGMpfQpmdW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9WUMoKSxlPWJDKGEsYy5pc0d0bUV2ZW50KTtlJiZkLkgucHVzaCgiZGVzdGluYXRpb25fY29uZmlnIixbYl0sZSxjKX1mdW5jdGlvbiBjRChhKXt2YXIgYj1ZQygpLGM9YkMoYSwhMCk7YyYmYi5ILnB1c2goInJlc2V0X2NvbnRhaW5lcl9jb25maWciLFtdLGMse30pfWZ1bmN0aW9uIGREKGEpe3ZhciBiPVlDKCksYz1iQyhhLCEwKTtjJiZiLkgucHVzaCgicmVzZXRfdGFyZ2V0X2NvbmZpZyIsW10sYyx7fSl9ZnVuY3Rpb24gZUQoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5pYjp7fX1mdW5jdGlvbiBmRChhKXtyZXR1cm4gWUMoKS5ILkhbYV19ZnVuY3Rpb24gZ0QoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5IOiExfTtmdW5jdGlvbiBoRChhLGIpe2EuaGFzT3duUHJvcGVydHkoImd0bS51bmlxdWVFdmVudElkIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJndG0udW5pcXVlRXZlbnRJZCIse3ZhbHVlOnJqKCl9KTtiLmV2ZW50SWQ9YVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtiLnByaW9yaXR5SWQ9YVsiZ3RtLnByaW9yaXR5SWQiXTtyZXR1cm57ZXZlbnRJZDpiLmV2ZW50SWQscHJpb3JpdHlJZDpiLnByaW9yaXR5SWR9fWZ1bmN0aW9uIGlEKGEpe2Zvcih2YXIgYj1tKFtGLkQuZGQsRi5ELnljXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWUsZT1hJiZhW2RdfHxmRChkKTtpZihlKXJldHVybiBlfX1mdW5jdGlvbiBqRChhKXtyZXR1cm4hYS5pc0d0bUV2ZW50fHxhLmV2ZW50TWV0YWRhdGEmJmEuZXZlbnRNZXRhZGF0YVtILkouQ2NdJiZhLmV2ZW50TWV0YWRhdGFbSC5KLk5iXSE9PXZrKCk/ITE6ITB9O3ZhciBrRD1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O3ZhciBsRD1mdW5jdGlvbigpe3RoaXMubWVzc2FnZXM9W107dGhpcy5IPVtdfTtsRC5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5tZXNzYWdlcy5sZW5ndGgrMTthWyJndG0udW5pcXVlRXZlbnRJZCJdPWI7YVsiZ3RtLnByaW9yaXR5SWQiXT1kO3ZhciBlPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZXZlbnRJZDpiLHByaW9yaXR5SWQ6ZCxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOiEwfSk7aWYoTSg1OTUpKXt2YXIgZj1jLnByaW9yaXR5UXVldWU/W10uY29uY2F0KHcoYy5wcmlvcml0eVF1ZXVlKSxbZF0pOltkXTthWyJndG0ucHJpb3JpdHlRdWV1ZSJdPWY7ZS5wcmlvcml0eVF1ZXVlPWZ9dmFyIGc9e21lc3NhZ2U6YSxub3RCZWZvcmVFdmVudElkOmIscHJpb3JpdHlJZDpkLG1lc3NhZ2VDb250ZXh0OmV9O3RoaXMubWVzc2FnZXMucHVzaChnKTtmb3IodmFyIGg9MDtoPHRoaXMuSC5sZW5ndGg7aCsrKXRyeXt0aGlzLkhbaF0oZyl9Y2F0Y2gobCl7fX07CmxELnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSl7dGhpcy5ILnB1c2goYSl9O2xELnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9e30sYj0wO2I8dGhpcy5tZXNzYWdlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm1lc3NhZ2VzW2JdLGQ9YVtjLm5vdEJlZm9yZUV2ZW50SWRdO2R8fChkPVtdLGFbYy5ub3RCZWZvcmVFdmVudElkXT1kKTtkLnB1c2goYyl9cmV0dXJuIGF9O2xELnByb3RvdHlwZS5wcnVuZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1bXSxkPTA7ZDx0aGlzLm1lc3NhZ2VzLmxlbmd0aDtkKyspe3ZhciBlPXRoaXMubWVzc2FnZXNbZF07ZS5ub3RCZWZvcmVFdmVudElkPT09YT9iLnB1c2goZSk6Yy5wdXNoKGUpfXRoaXMubWVzc2FnZXM9YztyZXR1cm4gYn07CmZ1bmN0aW9uIG1EKGEsYixjKXtjLmV2ZW50TWV0YWRhdGE9Yy5ldmVudE1ldGFkYXRhfHx7fTtjLmV2ZW50TWV0YWRhdGFbSC5KLk5iXT1NKDU1MCk/dmsoKTpFKDYpO25EKCkuZW5xdWV1ZShhLGIsYyl9ZnVuY3Rpb24gbkQoKXtyZXR1cm4ga2ooIm1iIixmdW5jdGlvbigpe3JldHVybiBuZXcgbER9KX07dmFyIHBEPWZ1bmN0aW9uKGEsYil7dmFyIGM9b0Q7Yj1TdHJpbmcoYikuc3BsaXQoIiwiKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9Yy5OW2JbZF1dfHxbXTtjLk5bYltkXV09ZTtlLmluZGV4T2YoYSk8MCYmZS5wdXNoKGEpfX0scUQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9b0QsZD1bXSxlPVtdLGY9e30sZz0wO2c8YS5sZW5ndGg7Zj17bGs6dm9pZCAwLFFqOnZvaWQgMCxSajp2b2lkIDB9LGcrKyl7dmFyIGg9YVtnXTtpZihoLmluZGV4T2YoIi0iKT49MCl7aWYoZi5saz1iQyhoLGIpLGYubGspe3ZhciBsPXRrKCk7Q2IobCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIHgubGsuZGVzdGluYXRpb25JZD09PXl9fShmKSk/ZC5wdXNoKGgpOmUucHVzaChoKX19ZWxzZXtpZihNKDU1MCkpe3ZhciBuPWMuS1toXXx8W107Zi5Saj17fTtuLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIGZ1bmN0aW9uKHkpe3guUmpbeV09ITB9fShmKSk7Zm9yKHZhciBwPQp0aygpLHE9MDtxPHAubGVuZ3RoO3ErKylmLlJqW3BbcV1dJiZkLnB1c2gocFtxXSl9ZWxzZXt2YXIgcj1jLkhbaF18fFtdO2YuUWo9e307ci5mb3JFYWNoKGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbih5KXt4LlFqW3ldPSEwfX0oZikpO2Zvcih2YXIgdD13aygpLHU9MDt1PHQubGVuZ3RoO3UrKylpZihmLlFqW3RbdV1dKXtkPWQuY29uY2F0KHRrKCkpO2JyZWFrfX12YXIgdj1jLk5baF18fFtdO3YubGVuZ3RoJiYoZD1kLmNvbmNhdCh2KSl9fXJldHVybntlazpkLFBzOmV9fSxyRD1mdW5jdGlvbihhKXtHYihvRC5ILGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q+PTAmJmMuc3BsaWNlKGQsMSl9KX0sc0Q9ZnVuY3Rpb24oYSl7R2Iob0QuSyxmdW5jdGlvbihiLGMpe3ZhciBkPWMuaW5kZXhPZihhKTtkPj0wJiZjLnNwbGljZShkLDEpfSl9LHREPWZ1bmN0aW9uKGEpe0diKG9ELk4sZnVuY3Rpb24oYixjKXt2YXIgZD1jLmluZGV4T2YoYSk7ZD49MCYmYy5zcGxpY2UoZCwKMSl9KX0sb0Q9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLks9e319O2Z1bmN0aW9uIHVEKGEsYixjKXt2YXIgZD1FZChhLG51bGwpO2QuZXZlbnRJZD12b2lkIDA7ZC5pbmhlcml0UGFyZW50Q29uZmlnPXZvaWQgMDtPYmplY3Qua2V5cyhiKS5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBiW2ZdIT09dm9pZCAwfSkmJlAoMTM2KTt2YXIgZT1FZChiLG51bGwpO0VkKGMsZSk7bUQockMod2soKVswXSxlKSxhLmV2ZW50SWQsZCl9CmZ1bmN0aW9uIHZEKGEsYixjLGQpe3ZhciBlPXt9LGY9KGVbRi5ELlViXT1GLkQud2EsZVsiZ3RtLmNvbmZpZ0NvbnRhaW5lcklkIl09YS5pZCxlWyJndG0uY29uZmlnUGFyYW1ldGVycyJdPWIsZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1kLmV2ZW50SWQsZSk7Yy5wcmlvcml0eVF1ZXVlJiYoZlsiZ3RtLnByaW9yaXR5UXVldWUiXT1jLnByaW9yaXR5UXVldWUpO2MuZXZlbnRNZXRhZGF0YSYmKGZbImd0bS5ldmVudE1ldGFkYXRhIl09Yy5ldmVudE1ldGFkYXRhKTthLkpjKCkmJihmWyJndG0uY29uZmlnQ29udGFpbmVySWQiXT13aygpWzBdLGZbImd0bS5vcmlnaW5hbENvbmZpZ1RhcmdldElkIl09YS5pZCk7cmV0dXJuIGZ9ZnVuY3Rpb24gd0QoYSxiLGMpe2lmKElmKDExKSYmIWMmJiFhW0YuRC5WZF0pe3ZhciBkPWFsKDEwLGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtaaygxMCwhMCk7WEIoZCxhLGIpO2lmKGQpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIHhEKGEsYil7dmFyIGM9e30sZD0oYy5ldmVudD1hLGMpO2ImJihkLmV2ZW50TW9kZWw9RWQoYixudWxsKSxiW0YuRC5QZl0mJihkLmV2ZW50Q2FsbGJhY2s9YltGLkQuUGZdKSxiW0YuRC5waF0mJihkLmV2ZW50VGltZW91dD1iW0YuRC5waF0pKTtyZXR1cm4gZH0KZnVuY3Rpb24geUQoYSxiKXt2YXIgYz1hJiZhW0YuRC5YYl07Yz09PXZvaWQgMCYmKGM9dUEoRi5ELlhiLDIpLGM9PT12b2lkIDAmJihjPSJkZWZhdWx0IikpO2lmKHpiKGMpfHxBcnJheS5pc0FycmF5KGMpKXt2YXIgZDtkPWIuaXNHdG1FdmVudD96YihjKT9bY106YzpjLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpLnNwbGl0KCIsIik7dmFyIGU9cUQoZCxiLmlzR3RtRXZlbnQpLGY9ZS5layxnPWUuUHM7aWYoZy5sZW5ndGgpZm9yKHZhciBoPWlEKGEpLGw9MDtsPGcubGVuZ3RoO2wrKyl7dmFyIG49YkMoZ1tsXSxiLmlzR3RtRXZlbnQpO2lmKG4pe3ZhciBwPW4uZGVzdGluYXRpb25JZCxxPXZvaWQgMDsoKHE9bmsobi5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOnEuc3RhdGUpPT09MHx8bkEocCxoLHtzb3VyY2U6Myxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOmIuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbn0pfX12YXIgcj1mLmNvbmNhdChnKTtyZXR1cm57ZWs6Y0MoZixiLmlzR3RtRXZlbnQpLAptcjpjQyhyLGIuaXNHdG1FdmVudCl9fX07dmFyIHpEPXt9LEFEPSh6RC5jb25maWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRChhLGIpLGQ7YTp7aWYoIShhLmxlbmd0aDwyKSYmemIoYVsxXSkpe3ZhciBlPXt9O2lmKGEubGVuZ3RoPjIpe2lmKGFbMl0hPT12b2lkIDAmJiFDZChhWzJdKXx8YS5sZW5ndGg+Myl7ZD12b2lkIDA7YnJlYWsgYX1lPWFbMl19dmFyIGY9YkMoYVsxXSxiLmlzR3RtRXZlbnQpO2lmKGYpe2Q9e3RhcmdldDpmLHBhcmFtczplfTticmVhayBhfX1kPXZvaWQgMH12YXIgZz1kO2lmKGcpe3ZhciBoPWcudGFyZ2V0LGw9Zy5wYXJhbXMsbjthOntpZighSWYoNykpe3ZhciBwPXlrKHprKCkpO2lmKE1rKHApKXt2YXIgcT1wLnBhcmVudCxyPXEuaXNEZXN0aW5hdGlvbjtuPXtWczp5ayhxKSxNczpyfTticmVhayBhfX1uPXZvaWQgMH12YXIgdD1uLHU9dD09bnVsbD92b2lkIDA6dC5Wcyx2PXQ9PW51bGw/dm9pZCAwOnQuTXM7ZEIoYy5ldmVudElkLCJndGFnLmNvbmZpZyIpO3ZhciB4LHk9aC5kZXN0aW5hdGlvbklkOwppZihoLkpjKCk/dGsoKS5pbmRleE9mKHkpIT09LTE6d2soKS5pbmRleE9mKHkpIT09LTEpYTp7aWYodSYmKFAoMTI4KSx2JiZQKDEzMCksYi5pbmhlcml0UGFyZW50Q29uZmlnKSl7dmFyIHo7dmFyIEM9JGsoMTIpO2lmKEMpdUQoYixDLGwpLHo9ITE7ZWxzZXt2YXIgRD0kaygxMSk7IWxbRi5ELlZkXSYmKE0oNTUwKXx8SWYoMTEpKSYmRHx8WmsoMTEsRWQobCxudWxsKSk7ej0hMH16JiZ1LmNvbnRhaW5lcnMmJnUuY29udGFpbmVycy5qb2luKCIsIik7eD12b2lkIDA7YnJlYWsgYX12YXIgST0hSWYoNDUpLEc9IVNiKGguaWQsIkdUTS0iKTtJJiZHJiYoT2JqZWN0LmtleXMobCkubGVuZ3RoPT09MD9HdShULlcuU2spOkd1KFQuVy5UayksRWwoKSYmR3UoVC5XLlJrKSwkaygzMSkmJkd1KFQuVy5VaykpO3ZhciBOPVlCO2ZuLksmJihOLkg9PT0xJiYoUW0uSC5tY2M9ITEpLE4uSD0yKTtpZihNKDU1MCl8fCF3RChsLGIsaC5KYygpKSl7a0QuSHx8UCg0Myk7aWYoIU0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIFM9CmguaWQ7aWYoaC5KYygpKXREKFMpLHBEKFMsbFtGLkQuT2RdfHwiZGVmYXVsdCIpO2Vsc2V7ckQoUyk7dmFyIFc9bFtGLkQuT2RdfHwiZGVmYXVsdCIsZWE9b0Q7Vz1XLnRvU3RyaW5nKCkuc3BsaXQoIiwiKTtmb3IodmFyIGphPTA7amE8Vy5sZW5ndGg7amErKyl7dmFyIGZhPWVhLkhbV1tqYV1dfHxbXTtlYS5IW1dbamFdXT1mYTtmYS5pbmRleE9mKFMpPDAmJmZhLnB1c2goUyl9fX1kZWxldGUgbFtGLkQuT2RdfXZhciBzYT1iLmV2ZW50TWV0YWRhdGF8fHt9O3NhLmhhc093blByb3BlcnR5KEguSi5hZSl8fChzYVtILkouYWVdPSFiLmZyb21Db250YWluZXJFeGVjdXRpb24pO2IuZXZlbnRNZXRhZGF0YT1zYTtkZWxldGUgbFtGLkQuUGZdO2lmKE0oNTUwKSl7eD12RChoLGwsYixjKTticmVhayBhfXZhciBkYT0hIWxbRi5ELlZkXTtkZWxldGUgbFtGLkQuVmRdO3ZhciBtYT10aygpLFBhPWNELEZhPWFEO2guSmMoKSYmKG1hPVtoLmlkXSxQYT1kRCxGYT1iRCk7Zm9yKHZhciBxYT0wO3FhPAptYS5sZW5ndGg7cWErKyl7ZGF8fFBhKG1hW3FhXSk7dmFyIGliPWdEKG1hW3FhXSk7RmEobWFbcWFdLEVkKGwsbnVsbCksRWQoYixudWxsKSk7aWImJmRhfHxaQyhGLkQud2EsRWQobCxudWxsKSxtYVtxYV0sRWQoYixudWxsKSl9fXg9dm9pZCAwfWVsc2UgYTp7aWYoIWIuaW5oZXJpdFBhcmVudENvbmZpZyYmIWxbRi5ELlpjXSl7dmFyIFhiPWlEKGwpLExjPWguZGVzdGluYXRpb25JZDtpZihoLkpjKCkpbkEoTGMsWGIse3NvdXJjZToyLGZyb21Db250YWluZXJFeGVjdXRpb246Yi5mcm9tQ29udGFpbmVyRXhlY3V0aW9ufSk7ZWxzZSBpZih1IT09dm9pZCAwJiZ1LmNvbnRhaW5lcnMuaW5kZXhPZihMYykhPT0tMSl7dmFyIFFkPSRrKDExKSxZYz0kaygxMik7UWQ/dUQoYixsLFFkKTpZY3x8WmsoMTIsRWQobCxudWxsKSl9ZWxzZSBpZihoQShMYyxYYiwhMCx7c291cmNlOjIsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KSxNKDU1MCkpe3g9dkQoaCwKbCxiLGMpO2JyZWFrIGF9fXg9dm9pZCAwfXJldHVybiB4fX0sekQuY29uc2VudD1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09Myl7UCgzOSk7dmFyIGM9aEQoYSxiKSxkPWFbMV0sZT17fSxmPU9vKGFbMl0pLGc7Zm9yKGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO2VbZ109Zz09PUYuRC5ZZz9BcnJheS5pc0FycmF5KGgpP05hTjpOdW1iZXIoaCk6Zz09PUYuRC5uYz8oQXJyYXkuaXNBcnJheShoKT9oOltoXSkubWFwKFBvKTpRbyhoKX1iLmZyb21Db250YWluZXJFeGVjdXRpb258fChlW0YuRC5tYV0mJlAoMTM5KSxlW0YuRC5YYV0mJlAoMTQwKSk7ZD09PSJkZWZhdWx0Ij9UbyhlKTpkPT09InVwZGF0ZSI/Vm8oZSxjKTpkPT09ImRlY2xhcmUiJiZiLmZyb21Db250YWluZXJFeGVjdXRpb24mJlNvKGUpfX0sekQuY29udGFpbmVyX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9CmFbMl0sZD1iQyhhWzFdLCEwKTtkJiZhRChkLmRlc3RpbmF0aW9uSWQsYyxFZChiLG51bGwpKX19LHpELmRlc3RpbmF0aW9uX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9YVsyXSxkPWJDKGFbMV0sITApO2lmKGQpe2lmKE0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIGU9ZC5pZDtpZihkLkpjKCkpdEQoZSkscEQoZSxjW0YuRC5PZF18fCJkZWZhdWx0Iik7ZWxzZXtzRChlKTt2YXIgZj1jW0YuRC5PZF18fCJkZWZhdWx0IixnPW9EO2Y9U3RyaW5nKGYpLnNwbGl0KCIsIik7Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBsPWcuS1tmW2hdXXx8W107Zy5LW2ZbaF1dPWw7bC5pbmRleE9mKGUpPDAmJmwucHVzaChlKX19fWRlbGV0ZSBjW0YuRC5PZF19YkQoZC5pZCxjLEVkKGIsbnVsbCkpfX19LHpELmV2ZW50PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVsxXTtpZighKGEubGVuZ3RoPDIpJiYKemIoYykpe3ZhciBkPXZvaWQgMDtpZihhLmxlbmd0aD4yKXtpZighQ2QoYVsyXSkmJmFbMl0hPT12b2lkIDB8fGEubGVuZ3RoPjMpcmV0dXJuO2Q9YVsyXX12YXIgZT14RChjLGQpLGY9aEQoYSxiKSxnPWYuZXZlbnRJZCxoPWYucHJpb3JpdHlJZDtlWyJndG0udW5pcXVlRXZlbnRJZCJdPWc7aCYmKGVbImd0bS5wcmlvcml0eUlkIl09aCk7Yi5wcmlvcml0eVF1ZXVlJiYoZVsiZ3RtLnByaW9yaXR5UXVldWUiXT1iLnByaW9yaXR5UXVldWUpO2lmKGM9PT0ib3B0aW1pemUuY2FsbGJhY2siKXJldHVybiBlLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fSxlO3ZhciBsPXlEKGQsYik7aWYobCl7Zm9yKHZhciBuPWwuZWsscD1sLm1yLHE9cC5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWR9KSxyPXAubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmRlc3RpbmF0aW9uSWR9KSx0PW4ubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmlkfSksdT1tKHRrKCkpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtyLmluZGV4T2YoeCk8MCYmdC5wdXNoKHgpfWRCKGcsYyk7Zm9yKHZhciB5PW0odCksej15Lm5leHQoKTshei5kb25lO3o9eS5uZXh0KCkpe3ZhciBDPXoudmFsdWUsRD1FZChiLG51bGwpLEk9RWQoZCxudWxsKTtkZWxldGUgSVtGLkQuUGZdO3ZhciBHPUQuZXZlbnRNZXRhZGF0YXx8e307Ry5oYXNPd25Qcm9wZXJ0eShILkouYWUpfHwoR1tILkouYWVdPSFELmZyb21Db250YWluZXJFeGVjdXRpb24pO0dbSC5KLm1qXT1xLnNsaWNlKCk7R1tILkouc2ddPXIuc2xpY2UoKTtELmV2ZW50TWV0YWRhdGE9RztaQyhjLEksQyxEKX1lLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fTtxLmxlbmd0aD4wP2UuZXZlbnRNb2RlbFtGLkQuWGJdPXEuam9pbigiLCIpOmRlbGV0ZSBlLmV2ZW50TW9kZWxbRi5ELlhiXTtrRC5IfHxQKDQzKTtiLm5vR3RtRXZlbnQ9PT12b2lkIDAmJmIuZXZlbnRNZXRhZGF0YSYmYi5ldmVudE1ldGFkYXRhW0guSi5Cbl0mJihiLm5vR3RtRXZlbnQ9CiEwKTtlLmV2ZW50TW9kZWxbRi5ELlljXSYmKGIubm9HdG1FdmVudD0hMCk7cmV0dXJuIGIubm9HdG1FdmVudD92b2lkIDA6ZX19fSx6RC5nZXQ9ZnVuY3Rpb24oYSxiKXtQKDUzKTtpZihhLmxlbmd0aD09PTQmJnpiKGFbMV0pJiZ6YihhWzJdKSYmeWIoYVszXSkpe3ZhciBjPWJDKGFbMV0sYi5pc0d0bUV2ZW50KSxkPVN0cmluZyhhWzJdKSxlPWFbM107aWYoYyl7a0QuSHx8UCg0Myk7dmFyIGY9aUQoKTtpZihDYih0aygpLGZ1bmN0aW9uKGgpe3JldHVybiBjLmRlc3RpbmF0aW9uSWQ9PT1ofSkpe2hEKGEsYik7dmFyIGc9e307RWQoKGdbRi5ELlRmXT1kLGdbRi5ELlNmXT1lLGcpLG51bGwpOyRDKGQsZnVuY3Rpb24oaCl7YmQoZnVuY3Rpb24oKXtlKGgpfSl9LGMuaWQsYil9ZWxzZSBuQShjLmRlc3RpbmF0aW9uSWQsZix7c291cmNlOjQsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KX19fSx6RC5qcz1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEubGVuZ3RoPT09CjImJmFbMV0uZ2V0VGltZSl7a0QuSD0hMDt2YXIgZD1oRChhLGIpLGU9ZC5ldmVudElkLGY9ZC5wcmlvcml0eUlkLGc9e307Yz0oZy5ldmVudD0iZ3RtLmpzIixnWyJndG0uc3RhcnQiXT1hWzFdLmdldFRpbWUoKSxnWyJndG0udW5pcXVlRXZlbnRJZCJdPWUsZ1siZ3RtLnByaW9yaXR5SWQiXT1mLGcpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9LHpELnBvbGljeT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZ5YihhWzJdKSl7aWYoaHkoYVsxXSxhWzJdKSxQKDc0KSxhWzFdPT09ImFsbCIpe1AoNzUpO3ZhciBiPSExO3RyeXtiPWFbMl0oRSg1KSwidW5rbm93biIse30pfWNhdGNoKGMpe31ifHxQKDc2KX19ZWxzZSBQKDczKX0sekQucmVzZXRfdGFyZ2V0X2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTImJnpiKGFbMV0pKXt2YXIgYz1iQyhhWzFdLCEwKTtjJiZkRChjLmlkKX19LHpELnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXZvaWQgMDsKYS5sZW5ndGg9PT0yJiZDZChhWzFdKT9jPUVkKGFbMV0sbnVsbCk6YS5sZW5ndGg9PT0zJiZ6YihhWzFdKSYmKGM9e30sQ2QoYVsyXSl8fEFycmF5LmlzQXJyYXkoYVsyXSk/Y1thWzFdXT1FZChhWzJdLG51bGwpOmNbYVsxXV09YVsyXSk7aWYoYyl7WmsoMzEsITApO3ZhciBkPWhEKGEsYiksZT1kLmV2ZW50SWQsZj1kLnByaW9yaXR5SWQ7RWQoYyxudWxsKTtFKDUpO3ZhciBnPUVkKGMsbnVsbCk7WUMoKS5ILnB1c2goInNldCIsW2ddLHZvaWQgMCxiKTtjWyJndG0udW5pcXVlRXZlbnRJZCJdPWU7ZiYmKGNbImd0bS5wcmlvcml0eUlkIl09Zik7ZGVsZXRlIGMuZXZlbnQ7Yi5vdmVyd3JpdGVNb2RlbEZpZWxkcz0hMDtyZXR1cm4gY319LHpEKSxCRD17fSxDRD0oQkQucG9saWN5PSEwLEJEKTt2YXIgRUQ9ZnVuY3Rpb24oYSl7aWYoREQoYSkpcmV0dXJuIGE7dGhpcy52YWx1ZT1hfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBERD1mdW5jdGlvbihhKXtyZXR1cm4hYXx8QWQoYSkhPT0ib2JqZWN0Inx8Q2QoYSk/ITE6ImdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSJpbiBhfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPUVELnByb3RvdHlwZS5nZXRVbnRydXN0ZWRNZXNzYWdlVmFsdWU7dmFyIEZEPXtCYjoiMSIsZWU6IjIiLFhkOiIzIixjZToiNCIseGY6IjUiLHFnOiI2IixLaDoiNyIsdGo6IjgiLGxpOiI5IixqajoiMTAifTsKdmFyIEdEPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS50cmltKCkucmVwbGFjZUFsbCgvXHMrL2csIiIpLnJlcGxhY2VBbGwoLyhcZHsyLH0pXC4vZywiJDEiKS5yZXBsYWNlQWxsKC8tL2csIiIpLnJlcGxhY2VBbGwoL1woKFxkKylcKS9nLCIkMSIpO2lmKGImJmMubWF0Y2goL15cKz9cZHszLDR9JC8pKXJldHVybiBjO2MuY2hhckF0KDApIT09IisiJiYoYz0iKyIrYyk7aWYoYy5tYXRjaChuZXcgUmVnRXhwKCJeXFwrXFxkeyIrKE0oNTk3KT83OjEwKSsiLDE1fSQiKSkpcmV0dXJuIGN9fSxJRD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRyaW0oKTtpZihIRC50ZXN0KGIpKXJldHVybiBiLnRvTG93ZXJDYXNlKCkucmVwbGFjZUFsbCgvWy0gXSsvZywiIil9fSxNRD1mdW5jdGlvbihhKXt2YXIgYj1KRChLRCkoYSk7aWYoYiYmIUxEKGIpKXJldHVybiBifSxMRD1mdW5jdGlvbihhKXtpZighQS5sb2NhdGlvbilyZXR1cm4hMTt2YXIgYj1OaihBLmxvY2F0aW9uLCJob3N0IiwhMCksCmM7aWYoTSg2MDIpKWE6e2Zvcih2YXIgZD1iLnNwbGl0KCIuIiksZT1hLnRvTG93ZXJDYXNlKCksZj0wO2Y8ZC5sZW5ndGgtMTtmKyspe3ZhciBnPWQuc2xpY2UoZikuam9pbigiLiIpO2lmKGUubWF0Y2goIkAiK2crIiQiKSl7Yz0hMDticmVhayBhfX1jPSExfWVsc2UgYz1hLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihiKT49MDtyZXR1cm4gY30sSkQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubWF0Y2goYSk7cmV0dXJuIGM/Y1swXS50cmltKCkudG9Mb3dlckNhc2UoKTp2b2lkIDB9fSxLRD0vW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcLltBLVpdezIsfS9pLE5EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzKSskLyksSEQ9UmVnRXhwKCJeKD86W0EtWl17MSwyfVxcZFtBLVpcXGRdP1sgLV0/XFxkW0EtWl17Mn18W0EtWl1cXGRbQS1aXVsgLV0/XFxkW0EtWl1cXGR8XFxkezR9ID9bQS1aXXsyfXxbQS1aXVxcZHs0fVtBLVpdezN9fFxcZHs1fSg/Oi1cXGR7NH0pP3xcXGR7NX0tXFxkezN9fFxcZHs0fS1cXGR7M318XFxkezN9LVxcZHs0fXxcXGR7Mn0tXFxkezN9fFxcZHszfSA/XFxkezJ9fFxcZHs0LDd9KSQiLAoiaSIpLE9EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzfFxkKSskLyk7CnZhciBQRD1mdW5jdGlvbigpe3ZhciBhPVN0cmluZyhhbCgzMyxmdW5jdGlvbigpe3JldHVybiAwfSkpO2EuaW5kZXhPZigiLiIpIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIuIikrMykpO3ZhciBiPWFsKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTtyZXR1cm57dnQ6TnVtYmVyKGEpLHN0OmJ9fSxRRD1mdW5jdGlvbigpe3JldHVybiBhbCgzMixmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwfSl9LFNEPWZ1bmN0aW9uKGEpe3ZhciBiPXBkKCl8fDAsYz1bRkQuQmJdO00oNTY4KSYmYy5wdXNoKEZELmVlLEZELlhkLEZELmNlLEZELnhmLEZELnFnLEZELnRqLEZELmxpLEZELmpqKTtmb3IodmFyIGQ9UkQoYSxuZXcgU2V0KGMpKSxlPWFsKDMyLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSxmPW0oZCksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5zZXQoaC5EYSxoKX12YXIgbD0ocGQoKXx8MCktYixuPWFsKDMzLGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTsKWmsoMzMsbitsKTt2YXIgcD1hbCgzNCxmdW5jdGlvbigpe3JldHVybiAwfSk7WmsoMzQscCsxKX0sUkQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9TmYoMzYsMiksZD1bXSxlPVt7b286YSxkZXB0aDowfV07ZS5sZW5ndGg+MDspZm9yKHZhciBmPWUuc2hpZnQoKSxnPWYub28saD1mLmRlcHRoLGw9bShPYmplY3Qua2V5cyhnKSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aWYoIVRELmhhcyhwKSl7dmFyIHE9Z1twXTtpZihxKWlmKENkKHEpKWgrMTw9YyYmZS5wdXNoKHtvbzpxLGRlcHRoOmgrMX0pO2Vsc2V7Zm9yKHZhciByPW0oYiksdD1yLm5leHQoKTshdC5kb25lO3Q9ci5uZXh0KCkpe3ZhciB1PXQudmFsdWUsdj1VRFt1XTtpZih2JiZ2LktjLnRlc3QocCkpe3ZhciB4PXYubmEoU3RyaW5nKHEpKTtpZih4KXtkLnB1c2goe0NhOngsRGE6dX0pO2IuZGVsZXRlKHUpO2JyZWFrfX19aWYoYi5zaXplPT09MClyZXR1cm4gZH19fXJldHVybiBkfSxURD0KbmV3IFNldChbIml0ZW1zIiwiZWNvbW1lcmNlIl0pLFZEPVJlZ0V4cCgicGhvbmUiLCJpIiksV0Q9UmVnRXhwKCJmaXJzdF8/bmFtZSIsImkiKSxYRD1SZWdFeHAoImxhc3RfP25hbWUiLCJpIiksWUQ9UmVnRXhwKCJjb3VudHJ5IiwiaSIpLFpEPVJlZ0V4cCgicG9zdHx6aXAiLCJpIiksJEQ9UmVnRXhwKCJhZGRyZXNzfHN0cmVldCIsImkiKSxhRT1SZWdFeHAoImNpdHkiLCJpIiksYkU9UmVnRXhwKCJyZWdpb258c3RhdGV8cHJvdmluY2UiLCJpIiksY0U9e30sVUQ9KGNFW0ZELkJiXT17S2M6UmVnRXhwKCJlbWFpbCIsImkiKSxuYTpNRH0sY0VbRkQuZWVdPXtLYzpWRCxuYTpmdW5jdGlvbihhKXtyZXR1cm4gR0QoYSwhMSl9fSxjRVtGRC5YZF09e0tjOldELG5hOk5EfSxjRVtGRC5jZV09e0tjOlhELG5hOk5EfSxjRVtGRC50al09e0tjOiRELG5hOk9EfSxjRVtGRC5saV09e0tjOmFFLG5hOk5EfSxjRVtGRC5qal09e0tjOmJFLG5hOk5EfSxjRVtGRC5xZ109e0tjOlpELG5hOklEfSxjRVtGRC54Zl09CntLYzpZRCxuYTpORH0sY0UpO3ZhciBkRT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5sb2FkZWQ9ITE7dGhpcy5IPVtdO2lmKEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vbkxvYWQoKTtlbHNlICRjKEEsImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYS5vbkxvYWQoKX0pfTtkRS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7aWYoIXRoaXMubG9hZGVkKXt0aGlzLmxvYWRlZD0hMDtmb3IodmFyIGE9MDthPHRoaXMuSC5sZW5ndGg7YSsrKWJkKHRoaXMuSFthXSl9fTt2YXIgZkU9ZnVuY3Rpb24oYSl7dmFyIGI9ZUU7Yi5sb2FkZWQ/YmQoYSk6Yi5ILnB1c2goYSl9LGVFPW5ldyBkRTt2YXIgZ0U9ZnVuY3Rpb24oKXt0aGlzLlo9MDt0aGlzLks9e307dGhpcy5IPVtdO3RoaXMuTj1bXTt0aGlzLmZhPXRoaXMuUj10aGlzLmphPSExfSxpRT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aEU7YS5ldmVudENhbGxiYWNrPWI7YyYmKGEuZXZlbnRUaW1lb3V0PWMpO3JldHVybiBkLnB1c2goYSl9LGpFPWZ1bmN0aW9uKGEsYil7aWYoIUFiKGIpfHxiPDApYj0wO3ZhciBjPXFqKCksZD0wLGU9ITEsZj12b2lkIDA7Zj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlfHwoZT0hMCxhKCkpO2Y9dm9pZCAwfSxiKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1jP2Muc3Vic2NyaWJlcnM6MTsrK2Q9PT1nJiYoZiYmKEEuY2xlYXJUaW1lb3V0KGYpLGY9dm9pZCAwKSxlfHwoYSgpLGU9ITApKX19LGxFPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEuTi5sZW5ndGgpYj1hLk4uc2hpZnQoKTtlbHNlIGlmKGEuSC5sZW5ndGgpYj1hLkguc2hpZnQoKTtlbHNlIHJldHVybjt2YXIgYzt2YXIgZD1iO2lmKGEuamF8fAoha0UoZC5tZXNzYWdlKSljPWQ7ZWxzZXthLmphPSEwO3ZhciBlPWQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXSxmLGc7dHlwZW9mIGU9PT0ibnVtYmVyIj8oZj1lLTIsZz1lLTEpOihmPXJqKCksZz1yaigpLGQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1yaigpKTt2YXIgaD17fSxsPXttZXNzYWdlOihoLmV2ZW50PSJndG0uaW5pdF9jb25zZW50IixoWyJndG0udW5pcXVlRXZlbnRJZCJdPWYsaCksbWVzc2FnZUNvbnRleHQ6e2V2ZW50SWQ6Zn19LG49e30scD17bWVzc2FnZToobi5ldmVudD0iZ3RtLmluaXQiLG5bImd0bS51bmlxdWVFdmVudElkIl09ZyxuKSxtZXNzYWdlQ29udGV4dDp7ZXZlbnRJZDpnfX07YS5ILnVuc2hpZnQocCxkKTtjPWx9cmV0dXJuIGN9LG9FPWZ1bmN0aW9uKGEpe2EuZmF8fFAoMTk2KTtmb3IodmFyIGI9ITEsYzshYS5SJiYoYz1sRShhKSk7KXthLlI9ITA7dmFyIGQ9ckE7ZGVsZXRlIGQuSC5ldmVudE1vZGVsO29BKGQpO3ZhciBlPWMsZj0KZS5tZXNzYWdlLGc9ZS5tZXNzYWdlQ29udGV4dDtpZihmPT1udWxsKWEuUj0hMTtlbHNle2cuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbiYmc0EoKTt0cnl7aWYoeWIoZikpdHJ5e2YuY2FsbCh0QSl9Y2F0Y2goUyl7fWVsc2UgaWYoQXJyYXkuaXNBcnJheShmKSl7aWYoemIoZlswXSkpe3ZhciBoPWZbMF0uc3BsaXQoIi4iKSxsPWgucG9wKCksbj1mLnNsaWNlKDEpLHA9dUEoaC5qb2luKCIuIiksMik7aWYocCE9bnVsbCl0cnl7cFtsXS5hcHBseShwLG4pfWNhdGNoKFMpe319fWVsc2V7dmFyIHE9dm9pZCAwO2lmKEhiKGYpKWE6e2lmKGYubGVuZ3RoJiZ6YihmWzBdKSl7dmFyIHI9QURbZlswXV07aWYociYmKCFnLmZyb21Db250YWluZXJFeGVjdXRpb258fCFDRFtmWzBdXSkpe3E9cihmLGcpO2JyZWFrIGF9fXE9dm9pZCAwfWVsc2UgcT1mO2lmKHEpe3ZhciB0O2Zvcih2YXIgdT1xLHY9dS5fY2xlYXJ8fGcub3ZlcndyaXRlTW9kZWxGaWVsZHMseD1tKE9iamVjdC5rZXlzKHUpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT0KeC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7eiE9PSJfY2xlYXIiJiYodiYmckEuc2V0KHosdm9pZCAwKSxyQS5zZXQoeix1W3pdKSl9TSg1OTIpJiZTRCh1KTskaygyNSl8fFprKDI1LHVbImd0bS5zdGFydCJdKTt2YXIgQz11WyJndG0udW5pcXVlRXZlbnRJZCJdO3UuZXZlbnQ/KHR5cGVvZiBDIT09Im51bWJlciImJihDPXJqKCksdVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1DLHJBLnNldCgiZ3RtLnVuaXF1ZUV2ZW50SWQiLEMpKSx0PXpCKHUpKTp0PSExO2I9dHx8Yn19fWZpbmFsbHl7Zy5mcm9tQ29udGFpbmVyRXhlY3V0aW9uJiZvQShyQSwhMCk7dmFyIEQ9ZlsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtpZih0eXBlb2YgRD09PSJudW1iZXIiKXtmb3IodmFyIEk9YSxHPUkuS1tTdHJpbmcoRCldfHxbXSxOPTA7TjxHLmxlbmd0aDtOKyspSS5OLnB1c2gobUUoR1tOXSkpO0cubGVuZ3RoJiZJLk4uc29ydChuRSk7ZGVsZXRlIEkuS1tTdHJpbmcoRCldO0Q+YS5aJiYoYS5aPUQpfWEuUj0hMX19fXJldHVybiFifSwKcEU9ZnVuY3Rpb24oKXt2YXIgYT1oRTthLmZhJiZQKDE5NSk7YS5mYT0hMDtpZihmbi5IKXt2YXIgYj0hSWYoNTEpLGM9cnooKTtweihjLHtzdGFnZTpJeS5YLlpnfSk7aWYoYil7dmFyIGQ9cXooYyx7c3RhZ2U6SXkuWC5Za30sSXkuWC5uaSk7ZCE9PXZvaWQgMCYmKGMuSC5ZPWQpfXZhciBlPWEuSC5sZW5ndGg7cnooKS5ILkM9ZX1vRShhKTtpZihmbi5IKXt2YXIgZj1yeigpLGc9cXooZix7c3RhZ2U6SXkuWC5Wa30sSXkuWC5aZyk7ZyE9PXZvaWQgMCYmKGYuSC5CPWcpfXRyeXt2YXIgaD1BW0UoMTkpXSxsPUUoNSksbj1oLmhpZGU7aWYobiYmbltsXSE9PXZvaWQgMCYmbi5lbmQpe25bbF09ITE7dmFyIHA9ITAscTtmb3IocSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocSkmJm5bcV09PT0hMCl7cD0hMTticmVha31wJiYobi5lbmQoKSxuLmVuZD1udWxsKX19Y2F0Y2gocil7RSg1KX19LHFFPWZ1bmN0aW9uKGEsYil7aWYoYS5aPGIubm90QmVmb3JlRXZlbnRJZCl7dmFyIGM9U3RyaW5nKGIubm90QmVmb3JlRXZlbnRJZCk7CmEuS1tjXT1hLktbY118fFtdO2EuS1tjXS5wdXNoKGIpfWVsc2V7YS5OLnB1c2gobUUoYikpO2EuTi5zb3J0KG5FKTt2YXIgZD1mdW5jdGlvbigpe2EuUnx8b0UoYSl9O00oNTgwKT9kZChkKTpiZChkKX19OwpnRS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoaCl7dmFyIGw9e307aWYoREQoaCkpe3ZhciBuPWg7aD1ERChuKT9uLmdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSgpOnZvaWQgMDtsLmZyb21Db250YWluZXJFeGVjdXRpb249ITB9cmV0dXJue21lc3NhZ2U6aCxtZXNzYWdlQ29udGV4dDpsfX12YXIgYj10aGlzLGM9TWMoRSgxOSksW10pLGQ9cGooKTtkLnBydW5lZD09PSEwJiZQKDgzKTt0aGlzLks9bkQoKS5nZXQoKTtuRCgpLmxpc3RlbihmdW5jdGlvbihoKXtxRShiLGgpfSk7ZC5zdWJzY3JpYmVycz0oZC5zdWJzY3JpYmVyc3x8MCkrMTt2YXIgZT1jLnB1c2gsZj10aGlzO2MucHVzaD1mdW5jdGlvbigpe3ZhciBoO2xqKCk7aWYoamouSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPjApe2g9W107Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2xdPW5ldyBFRChhcmd1bWVudHNbbF0pfWVsc2UgaD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTsKdmFyIG49aC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEodCl9KTtmLkgucHVzaC5hcHBseShmLkgsbik7dmFyIHA9ZS5hcHBseShjLGgpLHE9TWF0aC5tYXgoMTAwLE5mKDEsMzAwKSk7aWYodGhpcy5sZW5ndGg+cSlmb3IoUCg0KSxkLnBydW5lZD0hMDt0aGlzLmxlbmd0aD5xOyl0aGlzLnNoaWZ0KCk7dmFyIHI9dHlwZW9mIHAhPT0iYm9vbGVhbiJ8fHA7cmV0dXJuIG9FKGYpJiZyfTt2YXIgZz1jLnNsaWNlKDApLm1hcChmdW5jdGlvbihoKXtyZXR1cm4gYShoKX0pO3RoaXMuSC5wdXNoLmFwcGx5KHRoaXMuSCxnKTtJZig1MSl8fChmbi5IJiZ1eigpLGJkKHJFKSk7VkIoZnVuY3Rpb24oKXtpZighZC5ndG1Eb20pe2QuZ3RtRG9tPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmRvbSIsaCkpfX0pO2ZFKGZ1bmN0aW9uKCl7aWYoIWQuZ3RtTG9hZCl7ZC5ndG1Mb2FkPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmxvYWQiLGgpKX19KX07CmdFLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEpe3JldHVybiBBW0UoMTkpXS5wdXNoKGEpfTt2YXIgaEU9bmV3IGdFO2Z1bmN0aW9uIG5FKGEsYil7dmFyIGM9YS5tZXNzYWdlQ29udGV4dCxkPWIubWVzc2FnZUNvbnRleHQ7aWYoYy5ldmVudElkIT09ZC5ldmVudElkKXJldHVybiBjLmV2ZW50SWQtZC5ldmVudElkO2lmKCFNKDU5NSkpcmV0dXJuIGMucHJpb3JpdHlJZC1kLnByaW9yaXR5SWQ7dmFyIGUsZixnO2E6e2Zvcih2YXIgaD0oZT1jLnByaW9yaXR5UXVldWUpIT1udWxsP2U6W2MucHJpb3JpdHlJZF0sbD0oZj1kLnByaW9yaXR5UXVldWUpIT1udWxsP2Y6W2QucHJpb3JpdHlJZF0sbj1NYXRoLm1pbihoLmxlbmd0aCxsLmxlbmd0aCkscD0wO3A8bjtwKyspaWYoaFtwXSE9PWxbcF0pe2c9aFtwXS1sW3BdO2JyZWFrIGF9Zz1oLmxlbmd0aC1sLmxlbmd0aH1yZXR1cm4gZ30KZnVuY3Rpb24ga0UoYSl7aWYoYT09bnVsbHx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZihhLmV2ZW50KXJldHVybiEwO2lmKEhiKGEpKXt2YXIgYj1hWzBdO2lmKGI9PT0iY29uZmlnInx8Yj09PSJldmVudCJ8fGI9PT0ianMifHxiPT09ImdldCIpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbUUoYSl7cmV0dXJue21lc3NhZ2U6YS5tZXNzYWdlLG1lc3NhZ2VDb250ZXh0OmEubWVzc2FnZUNvbnRleHR9fWZ1bmN0aW9uIHNFKGEsYixjKXtyZXR1cm4gaUUoYSxiLGMpfWZ1bmN0aW9uIHRFKGEsYil7cmV0dXJuIGpFKGEsYil9ZnVuY3Rpb24gckUoKXtwRSgpfWZ1bmN0aW9uIHVFKGEpe3JldHVybiBoRS5wdXNoKGEpfTt2YXIgdkU9ZnVuY3Rpb24oKXt9O3ZFLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGEsYj1SaihBLmxvY2F0aW9uLmhyZWYpOyhhPWIuaG9zdG5hbWUrYi5wYXRobmFtZSkmJlVtKCJkbCIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt2YXIgYzt2YXIgZD1FKDUpO2lmKGQpe3ZhciBlPUlmKDcpPzE6MCxmPUZrKCksZz1mJiZmLmZyb21Db250YWluZXJFeGVjdXRpb24/MTowLGg9ZiYmZi5zb3VyY2V8fDAsbD1FKDYpO2M9ZCsiOyIrbCsiOyIrZysiOyIraCsiOyIrZX1lbHNlIGM9dm9pZCAwO3ZhciBuPWM7biYmVW0oInRkcCIsbik7dmFyIHA9T3AoITApO3AhPT12b2lkIDAmJlVtKCJmcm0iLFN0cmluZyhwKSl9O3ZhciB3RT1uZXcgdkU7dmFyIHhFPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCk7dGhpcy5LPXZvaWQgMH0seUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWm0oYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5qYj4wP2I/Yy5qYisiXyIrV20oYyk6U3RyaW5nKGMuamIpOnZvaWQgMH0pfTsKeEUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHBsKCl8fGZuLkspVW0oImNzcCIsZnVuY3Rpb24oKXt2YXIgYj15RShhLkgsITApOyRtKGEuSCk7cmV0dXJuIGJ9LCExKSxVbSgibWRlIixmdW5jdGlvbigpe3ZhciBiPWNuLkgsYz15RShiLCExKTskbShiKTtyZXR1cm4gY30sITEpLEEuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGZ1bmN0aW9uKGIpe2lmKGIuZGlzcG9zaXRpb249PT0iZW5mb3JjZSIpe1AoMTc5KTt2YXIgYz1ubihiLmVmZmVjdGl2ZURpcmVjdGl2ZSk7aWYoYyl7dmFyIGQ7YTp7dmFyIGU9Yi5ibG9ja2VkVVJJLGY9a247aWYoZm4uSyYmZSl7dmFyIGc9am4oYyxlKTtpZihnKXt2YXIgaDtkPShoPWxuKGYsYykpPT1udWxsP3ZvaWQgMDpoW2ddO2JyZWFrIGF9fWQ9dm9pZCAwfXZhciBsPWQ7aWYobCl7dmFyIG47YTp7dHJ5e3ZhciBwPW5ldyBVUkwoYi5ibG9ja2VkVVJJKSxxPXAucGF0aG5hbWUuaW5kZXhPZigiOyIpOwpuPXE+PTA/cC5vcmlnaW4rcC5wYXRobmFtZS5zdWJzdHJpbmcoMCxxKTpwLm9yaWdpbitwLnBhdGhuYW1lO2JyZWFrIGF9Y2F0Y2goRCl7fW49dm9pZCAwfXZhciByPW47aWYocil7Zm9yKHZhciB0PW0obCksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB2PXUudmFsdWU7aWYoIXYuRW8pe3YuRW89ITA7dmFyIHg9e2V2ZW50SWQ6di5ldmVudElkLHByaW9yaXR5SWQ6di5wcmlvcml0eUlkfTtpZihwbCgpKXt2YXIgeT14LHo9e3R5cGU6MSxibG9ja2VkVXJsOnIsZW5kcG9pbnQ6di5lbmRwb2ludCx2aW9sYXRpb246Yi5lZmZlY3RpdmVEaXJlY3RpdmV9O2lmKHBsKCkpe3ZhciBDPUxsKCJUQUdfRElBR05PU1RJQ1MiLHtldmVudElkOnk9PW51bGw/dm9pZCAwOnkuZXZlbnRJZCxwcmlvcml0eUlkOnk9PW51bGw/dm9pZCAwOnkucHJpb3JpdHlJZH0pO0MudGFnRGlhZ25vc3RpY3M9ejtvbChDKX19ekUoYSx2LmRlc3RpbmF0aW9uSWQsdi5lbmRwb2ludCxjKX19bW4oYywKYi5ibG9ja2VkVVJJKX19fX19KX07dmFyIHpFPWZ1bmN0aW9uKGEsYixjLGQpe2FuKGEuSCxiLGMsMSxkKTtWbSgiY3NwIiwhMCk7Vm0oIm1kZSIsITApO2MhPT02MSYmYyE9PTU2JiZhLks9PT12b2lkIDAmJihhLks9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5ILmpiPjAmJnRvKCExKTthLks9dm9pZCAwfSw1MDApKX0sQUU9bmV3IHhFO3ZhciBCRT1mdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9MH07QkUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NFKHRoaXMpO0lmKDY1KSYmVW0oIm10YmwiLCIxIik7VW0oInYiLCIzIik7VW0oInQiLCJ0Iik7VW0oInBpZCIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKG5tKGptLmJhLmJoKSl9KTtVbSgiZ3RtIixmdW5jdGlvbigpe3JldHVybiBkdSgpfSk7VW0oInNlcSIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKCsrYS5zZXF1ZW5jZU51bWJlcil9KTtVbSgiZXhwIixmdW5jdGlvbigpe3JldHVybiBDcCgpfSl9O3ZhciBDRT1mdW5jdGlvbihhKXtpZihubShqbS5iYS5iaCk9PT12b2lkIDApe3ZhciBiPWZ1bmN0aW9uKCl7bW0oam0uYmEuYmgsRGIoKSk7YS5zZXF1ZW5jZU51bWJlcj0wfTtiKCk7Y2QoYiw4NjRFNSl9ZWxzZSBwbShqbS5iYS5iaCxmdW5jdGlvbigpe2Euc2VxdWVuY2VOdW1iZXI9MH0pO2Euc2VxdWVuY2VOdW1iZXI9MH0sREU9bmV3IEJFO2Z1bmN0aW9uIEVFKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBW2FdfX0KdmFyIEZFPXt9LEdFPShGRVsxNF09ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT1BLmNyeXB0byk9PW51bGw/dm9pZCAwOmEuZ2V0UmFuZG9tVmFsdWVzfSxGRVsxNV09ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybihhPUEuY3J5cHRvKT09bnVsbD92b2lkIDA6KGI9YS5zdWJ0bGUpPT1udWxsP3ZvaWQgMDpiLmRpZ2VzdH0sRkVbMV09RUUoImZldGNoIiksRkVbNl09RUUoIk1hcCIpLEZFWzJdPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tfSxGRVs4XT1mdW5jdGlvbigpe3JldHVybiBuYShPYmplY3QsImFzc2lnbiIpfSxGRVs5XT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllc30sRkVbMTBdPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllc30sRkVbNV09RUUoIlByb21pc2UiKSxGRVsxM109RUUoIlJlZ0V4cCIpLEZFWzNdPWZ1bmN0aW9uKCl7cmV0dXJuIEhjLnNlbmRCZWFjb259LEZFWzddPUVFKCJTZXQiKSxGRVsxMl09ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aH0sCkZFWzExXT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGh9LEZFWzRdPUVFKCJYTUxIdHRwUmVxdWVzdCIpLEZFKSxIRT17fSxJRT0oSEVbMTVdPSEwLEhFKTt2YXIgTkU9L14oaHR0cHM/Oik/XC9cLy87CgpmdW5jdGlvbiBoRigpe307ZnVuY3Rpb24gaUYoKXtJZig2MikmJihoeSgiZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuKChkPWMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmQud2FpdEZvclRhZ3MpIT09ITB9KSxoeSgiZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLndhaXRGb3JUYWdzKSE9PSEwfSksaHkoImRldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLmZpeE1pc3NpbmdBcGkpIT09ITB9KSl9O3ZhciBqRj1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O2pGLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O3ZhciBrRj1uZXcgakY7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtbMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtsdCh7R3U6MCxGdToxLEN1OjIseHU6MyxEdTo0LHl1OjUsRXU6NixBdTo3LEJ1Ojgsd3U6OSx6dToxMCxIdToxMX0pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGEpfSk7bHQoe0p1OjAsS3U6MSxJdToyfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBOdW1iZXIoYSl9KTt2YXIgbEY9ZnVuY3Rpb24oYSxiLGMsZCl7cnQuY2FsbCh0aGlzKTt0aGlzLmZlPWI7dGhpcy5rZD1jO3RoaXMuYWM9ZDt0aGlzLkxhPW5ldyBNYXA7dGhpcy5oZT0wO3RoaXMuamE9bmV3IE1hcDt0aGlzLnlhPW5ldyBNYXA7dGhpcy5aPXZvaWQgMDt0aGlzLks9YX07d2EobEYscnQpO2xGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDt0aGlzLkxhLmNsZWFyKCk7dGhpcy5qYS5jbGVhcigpO3RoaXMueWEuY2xlYXIoKTt0aGlzLlomJihudCh0aGlzLkssIm1lc3NhZ2UiLHRoaXMuWiksZGVsZXRlIHRoaXMuWik7ZGVsZXRlIHRoaXMuSztkZWxldGUgdGhpcy5hYztydC5wcm90b3R5cGUuTi5jYWxsKHRoaXMpfTsKdmFyIG1GPWZ1bmN0aW9uKGEpe2lmKGEuSClyZXR1cm4gYS5IO2Eua2QmJmEua2QoYS5LKT9hLkg9YS5LOmEuSD1OcChhLkssYS5mZSk7dmFyIGI7cmV0dXJuKGI9YS5IKSE9bnVsbD9iOm51bGx9LG9GPWZ1bmN0aW9uKGEsYixjKXtpZihtRihhKSlpZihhLkg9PT1hLkspe3ZhciBkPWEuTGEuZ2V0KGIpO2QmJmQoYS5ILGMpfWVsc2V7dmFyIGU9YS5qYS5nZXQoYik7aWYoZSYmZS5kayl7bkYoYSk7dmFyIGY9KythLmhlO2EueWEuc2V0KGYse3BlOmUucGUsSXI6ZS5ubyhjKSxwZXJzaXN0ZW50OmI9PT0iYWRkRXZlbnRMaXN0ZW5lciJ9KTthLkgucG9zdE1lc3NhZ2UoZS5kayhjLGYpLCIqIil9fX0sbkY9ZnVuY3Rpb24oYSl7YS5afHwoYS5aPWZ1bmN0aW9uKGIpe2lmKGIuc291cmNlPT09YS5IKXRyeXt2YXIgYztjPWEuYWM/YS5hYyhiKTp2b2lkIDA7aWYoYyl7dmFyIGQ9Yy5ZcyxlPWEueWEuZ2V0KGQpO2lmKGUpe2UucGVyc2lzdGVudHx8YS55YS5kZWxldGUoZCk7dmFyIGY7KGY9CmUucGUpPT1udWxsfHxmLmNhbGwoZSxlLklyLGMucGF5bG9hZCl9fX1jYXRjaChnKXt9fSxtdChhLkssIm1lc3NhZ2UiLGEuWikpfTt2YXIgcEY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxpc3RlbmVyLGQ9KDAsYS5fX2dwcCkoImFkZEV2ZW50TGlzdGVuZXIiLGMpO2QmJmMoZCwhMCl9LHFGPWZ1bmN0aW9uKGEsYil7KDAsYS5fX2dwcCkoInJlbW92ZUV2ZW50TGlzdGVuZXIiLGIubGlzdGVuZXIsYi5saXN0ZW5lcklkKX0sckY9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoiYWRkRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIn0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuO2EoYy5yZXR1cm5WYWx1ZSxjLnN1Y2Nlc3MpfX0sc0Y9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIiwKcGFyYW1ldGVyOmEubGlzdGVuZXJJZH0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuLGQ9Yy5yZXR1cm5WYWx1ZS5kYXRhO2E9PW51bGx8fGEoZCxjLnN1Y2Nlc3MpfX07ZnVuY3Rpb24gdEYoYSl7dmFyIGI9e307dmYoYS5kYXRhKT9iPUpTT04ucGFyc2UoYS5kYXRhKTpiPWEuZGF0YTtyZXR1cm57cGF5bG9hZDpiLFlzOmIuX19ncHBSZXR1cm4uY2FsbElkfX0KdmFyIHVGPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yz0oYj09PXZvaWQgMD97fTpiKS50aW1lb3V0TXM7cnQuY2FsbCh0aGlzKTt0aGlzLmNhbGxlcj1uZXcgbEYoYSwiX19ncHBMb2NhdG9yIixmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQuX19ncHA9PT0iZnVuY3Rpb24ifSx0Rik7dGhpcy5jYWxsZXIuTGEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixwRik7dGhpcy5jYWxsZXIuamEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixyRik7dGhpcy5jYWxsZXIuTGEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixxRik7dGhpcy5jYWxsZXIuamEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixzRik7dGhpcy50aW1lb3V0TXM9YyE9bnVsbD9jOjUwMH07d2EodUYscnQpO3VGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5jYWxsZXIuZGlzcG9zZSgpO3J0LnByb3RvdHlwZS5OLmNhbGwodGhpcyl9Owp1Ri5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9SHAoZnVuY3Rpb24oKXthKHZGLCEwKX0pLGQ9dGhpcy50aW1lb3V0TXM9PT0tMT92b2lkIDA6c2V0VGltZW91dChmdW5jdGlvbigpe2MoKX0sdGhpcy50aW1lb3V0TXMpO29GKHRoaXMuY2FsbGVyLCJhZGRFdmVudExpc3RlbmVyIix7bGlzdGVuZXI6ZnVuY3Rpb24oZSxmKXtjbGVhclRpbWVvdXQoZCk7dHJ5e3ZhciBnO3ZhciBoOygoaD1lLnBpbmdEYXRhKT09bnVsbD92b2lkIDA6aC5ncHBWZXJzaW9uKT09PXZvaWQgMHx8ZS5waW5nRGF0YS5ncHBWZXJzaW9uPT09IjEifHxlLnBpbmdEYXRhLmdwcFZlcnNpb249PT0iMS4wIj8oYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjEsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0lTX0RFUFJFQ0FURURfU1BFQyIsCmFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pOkFycmF5LmlzQXJyYXkoZS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMpP2c9ZTooYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjIsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0VYUEVDVEVEX0FQUExJQ0FUSU9OX1NFQ1RJT05fQVJSQVkiLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pO2EoZyxmKX1jYXRjaChsKXtpZihlPT1udWxsPzA6ZS5saXN0ZW5lcklkKXRyeXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS5saXN0ZW5lcklkKX1jYXRjaChuKXthKHdGLCEwKTtyZXR1cm59YSh4RiwhMCl9fX0pfTsKdUYucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7b0YodGhpcy5jYWxsZXIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLHtsaXN0ZW5lcjpmdW5jdGlvbigpe30sbGlzdGVuZXJJZDphfSl9Owp2YXIgeEY9e2V2ZW50TmFtZToic2lnbmFsU3RhdHVzIixkYXRhOiJyZWFkeSIscGluZ0RhdGE6e2ludGVybmFsRXJyb3JTdGF0ZToyLGdwcFN0cmluZzoiR1BQX0VSUk9SX1NUUklOR19VTkFWQUlMQUJMRSIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9LHZGPXtldmVudE5hbWU6InNpZ25hbFN0YXR1cyIsZGF0YToicmVhZHkiLHBpbmdEYXRhOntncHBTdHJpbmc6IkdQUF9FUlJPUl9TVFJJTkdfTElTVEVORVJfUkVHSVNUUkFUSU9OX1RJTUVPVVQiLGludGVybmFsRXJyb3JTdGF0ZToyLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfSxsaXN0ZW5lcklkOi0xfSx3Rj17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7Z3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX1JFTU9WRV9FVkVOVF9MSVNURU5FUl9FUlJPUiIsaW50ZXJuYWxFcnJvclN0YXRlOjIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9O2Z1bmN0aW9uIHlGKGEpe3ZhciBiO2lmKCEoYj1hLnBpbmdEYXRhLnNpZ25hbFN0YXR1cz09PSJyZWFkeSIpKXt2YXIgYz1hLnBpbmdEYXRhLmFwcGxpY2FibGVTZWN0aW9ucztiPSFjfHxjLmxlbmd0aD09PTEmJmNbMF09PT0tMX1pZihiKXtrRi5ncHBTdHJpbmc9YS5waW5nRGF0YS5ncHBTdHJpbmc7dmFyIGQ9YS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMuam9pbigiLCIpO2tGLkg9ZH19ZnVuY3Rpb24gekYoKXt0cnl7dmFyIGE9bmV3IHVGKEEse3RpbWVvdXRNczotMX0pO21GKGEuY2FsbGVyKSYmYS5hZGRFdmVudExpc3RlbmVyKHlGKX1jYXRjaChiKXt9fTtmdW5jdGlvbiBBRigpe3ZhciBhPVtbImN2IixFKDEpXSxbInJ2IixFKDE0KV0sWyJ0YyIsY0EudGFncy5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KS5sZW5ndGhdXSxiPUpmKDE1KTtiJiZhLnB1c2goWyJ4IixiXSk7dmFyIGM9Q3AoKTtjJiZhLnB1c2goWyJ0YWdfZXhwIixjXSk7cmV0dXJuIGF9O3ZhciBCRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O3RoaXMuSz17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1iLmV2ZW50SWQsZD1iLnRmLGU9W10sZj1hLkhbY118fFtdO2YubGVuZ3RoJiZlLnB1c2goWyJoZiIsZi5qb2luKCIuIildKTt2YXIgZz1hLktbY118fFtdO2cubGVuZ3RoJiZlLnB1c2goWyJodCIsZy5qb2luKCIuIildKTtkJiYoZGVsZXRlIGEuSFtjXSxkZWxldGUgYS5LW2NdKTtyZXR1cm4gZX0pfSxDRj1mdW5jdGlvbigpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKGIpe3N3aXRjaChiKXtjYXNlIDE6YXw9MTticmVhaztjYXNlIDI6YXw9MjticmVhaztjYXNlIDM6YXw9NH1yZXR1cm4gYX19LERGO3ZhciBFRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPSIiO2ZuLk4mJk0oNTE2KSYmZnooZnVuY3Rpb24oKXt2YXIgYj1bXTthLkgmJmIucHVzaChbInBzZCIsYS5IXSk7cmV0dXJuIGJ9KX0sRkY7ZnVuY3Rpb24gR0YoKXtyZXR1cm4hMX0KZnVuY3Rpb24gSEYoKXt2YXIgYT17fTtyZXR1cm4gZnVuY3Rpb24oYixjLGQpe319O2Z1bmN0aW9uIElGKCl7dmFyIGE9SkY7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1kJiZkLmV2ZW50O0tGKGMpO3ZhciBmPUJoKGIpP3ZvaWQgMDoxLGc9bmV3IGtiO0diKGMsZnVuY3Rpb24ocix0KXt2YXIgdT1VZCh0LHZvaWQgMCxmKTt1PT09dm9pZCAwJiZ0IT09dm9pZCAwJiZQKDQ0KTtnLnNldChyLHUpfSk7YS5RYihRZigpKTt2YXIgaD17Um46aGcoYiksZXZlbnRJZDplPT1udWxsP3ZvaWQgMDplLmlkLHByaW9yaXR5SWQ6ZSE9PXZvaWQgMD9lLnByaW9yaXR5SWQ6dm9pZCAwLHByaW9yaXR5UXVldWU6ZSE9PXZvaWQgMD9lLnByaW9yaXR5UXVldWU6dm9pZCAwLHdnOmUhPT12b2lkIDA/ZnVuY3Rpb24ocil7ZS5sZC53ZyhyKX06dm9pZCAwLFBiOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGxvZzpmdW5jdGlvbigpe30sTnI6e2luZGV4OmQ9PW51bGw/dm9pZCAwOmQuaW5kZXgsdHlwZTpkPT1udWxsP3ZvaWQgMDpkLnR5cGUsbmFtZTpkPT1udWxsP3ZvaWQgMDpkLm5hbWV9LAppdDohIUtBKGIsMyksb3JpZ2luYWxFdmVudERhdGE6ZT09bnVsbD92b2lkIDA6ZS5vcmlnaW5hbEV2ZW50RGF0YX07ZSYmZS5jYWNoZWRNb2RlbFZhbHVlcyYmKGguY2FjaGVkTW9kZWxWYWx1ZXM9e2d0bTplLmNhY2hlZE1vZGVsVmFsdWVzLmd0bSxlY29tbWVyY2U6ZS5jYWNoZWRNb2RlbFZhbHVlcy5lY29tbWVyY2V9KTtpZihHRigpKXt2YXIgbD1IRigpLG4scDtoLkFiPXt3azpbXSx5Zzp7fSxqYzpmdW5jdGlvbihyLHQsdSl7dD09PTEmJihuPXIpO3Q9PT03JiYocD11KTtsKHIsdCx1KX0sZWk6VmgoKX07aC5sb2c9ZnVuY3Rpb24ocil7dmFyIHQ9T2EuYXBwbHkoMSxhcmd1bWVudHMpO24mJmwobiw0LHtsZXZlbDpyLHNvdXJjZTpwLG1lc3NhZ2U6dH0pfX0KdmFyIHE9cmYoYSxoLFtiLGddKTthLlFiKCk7cSBpbnN0YW5jZW9mIFRhJiYocS50eXBlPT09InJldHVybiI/cT1xLmRhdGE6cT12b2lkIDApO3JldHVybiBUZChxLHZvaWQgMCxmKX19ZnVuY3Rpb24gS0YoYSl7dmFyIGI9YS5ndG1PblN1Y2Nlc3MsYz1hLmd0bU9uRmFpbHVyZTt5YihiKSYmKGEuZ3RtT25TdWNjZXNzPWZ1bmN0aW9uKCl7YmQoYil9KTt5YihjKSYmKGEuZ3RtT25GYWlsdXJlPWZ1bmN0aW9uKCl7YmQoYyl9KX07dmFyIE1GPWZ1bmN0aW9uKGEpe1YoYSxILkoudGcsY28uaWEuY2IpfTtmdW5jdGlvbiBORigpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApfTt2YXIgT0Y9W0YuRC56aV0ubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnNsaWNlKDIpfSk7dmFyIFBGPWZ1bmN0aW9uKGEpe1UoYSxGLkQuemksYWwoOCxORikpfTtmdW5jdGlvbiBRRihhKXt9UUYuUD0iaW50ZXJuYWwuYWRkQWRzQ2xpY2tJZHMiO2Z1bmN0aW9uIFJGKGEsYil7dmFyIGM9dGhpczt9UkYucHVibGljTmFtZT0iYWRkQ29uc2VudExpc3RlbmVyIjt2YXIgU0Y9ITE7ZnVuY3Rpb24gVEYoYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoU0YpdHJ5e2FbYl0oKX1jYXRjaChjKXtQKDc3KX1lbHNlIGFbYl0oKX1mdW5jdGlvbiBVRihhLGIsYyl7dmFyIGQ9dGhpcyxlO2lmKCFsaChhKXx8IWhoKGIpfHwhbWgoYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImZ1bmN0aW9uIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChkLCJsaXN0ZW5fZGF0YV9sYXllciIsYSl9XSk7ZT15QigpLmFkZExpc3RlbmVyKGEsVGQoYix2b2lkIDAsMSksYz09PW51bGw/dm9pZCAwOmMpO3JldHVybiBlfVVGLlA9ImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFZGKGEsYixjKXt9VkYucHVibGljTmFtZT0iYWRkRG9jdW1lbnRFdmVudExpc3RlbmVyIjtmdW5jdGlvbiBXRihhLGIsYyxkKXt9V0YucHVibGljTmFtZT0iYWRkRWxlbWVudEV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFhGKGEpe3JldHVybiBhLlQueGIoKX07ZnVuY3Rpb24gWUYoYSl7fVlGLnB1YmxpY05hbWU9ImFkZEV2ZW50Q2FsbGJhY2siOwp2YXIgWkY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YTpTdHJpbmcocmooKSl9LGJHPWZ1bmN0aW9uKGEsYil7JEYoYSwiaW5pdCIsITEpfHwoYUcoYSwiaW5pdCIsITApLGIoKSl9LCRGPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jRyhhKTtyZXR1cm4gT2IoZCxiLGMpfSxkRz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jRyhhKSxmPU9iKGUsYixkKSxnPWMoZik7cmV0dXJuIGVbYl09Z30sYUc9ZnVuY3Rpb24oYSxiLGMpe2NHKGEpW2JdPWN9LGNHPWZ1bmN0aW9uKGEpe3ZhciBiPWtqKCJhdXRvRXZlbnRzU2V0dGluZ3MiLGZ1bmN0aW9uKCl7cmV0dXJue319KTtiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSk7cmV0dXJuIGJbYV19LGVHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17ZXZlbnQ6YiwiZ3RtLmVsZW1lbnQiOmEsImd0bS5lbGVtZW50Q2xhc3NlcyI6b2QoYSwiY2xhc3NOYW1lIiksImd0bS5lbGVtZW50SWQiOmEuZm9yfHxlZChhLCJpZCIpfHwKIiIsImd0bS5lbGVtZW50VGFyZ2V0IjphLmZvcm1UYXJnZXR8fG9kKGEsInRhcmdldCIpfHwiIn07YyYmKGRbImd0bS50cmlnZ2VycyJdPWMuam9pbigiLCIpKTtkWyJndG0uZWxlbWVudFVybCJdPShhLmF0dHJpYnV0ZXMmJmEuYXR0cmlidXRlcy5mb3JtYWN0aW9uP2EuZm9ybUFjdGlvbjoiIil8fGEuYWN0aW9ufHxvZChhLCJocmVmIil8fGEuc3JjfHxhLmNvZGV8fGEuY29kZWJhc2V8fCIiO3JldHVybiBkfTt2YXIgaEc9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmVsZW1lbnRzKXJldHVybiAwO2Zvcih2YXIgZD1iLmRhdGFzZXRbY10sZT0wLGY9MTtlPGEuZWxlbWVudHMubGVuZ3RoO2UrKyl7dmFyIGc9YS5lbGVtZW50c1tlXSxoPWcudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCEoZkcuaW5kZXhPZihoKTwwfHxoPT09ImlucHV0IiYmZ0cuaW5kZXhPZihnLnR5cGUudG9Mb3dlckNhc2UoKSk+PTApKXtpZihnLmRhdGFzZXRbY109PT1kKXJldHVybiBmO2YrK319cmV0dXJuIDB9LGZHPVsiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSJdLGdHPVsiYnV0dG9uIiwiaGlkZGVuIiwiaW1hZ2UiLCJyZXNldCIsInN1Ym1pdCJdOwpmdW5jdGlvbiBpRyhhKXtpZihhLmZvcm0pe3ZhciBiO3JldHVybigoYj1hLmZvcm0pPT1udWxsPzA6Yi50YWdOYW1lKT9hLmZvcm06Qi5nZXRFbGVtZW50QnlJZChhLmZvcm0pfXJldHVybiBoZChhLFsiZm9ybSJdLDEwMCl9OwpmdW5jdGlvbiBtRyhhKXt9bUcuUD0iaW50ZXJuYWwuYWRkRm9ybUFiYW5kb25tZW50TGlzdGVuZXIiO2Z1bmN0aW9uIG5HKGEsYixjLGQpe30KbkcuUD0iaW50ZXJuYWwuYWRkRm9ybURhdGEiOwpmdW5jdGlvbiBzRyhhKXt9c0cuUD0iaW50ZXJuYWwuYWRkR2FTZW5kTGlzdGVuZXIiO2Z1bmN0aW9uIHRHKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuTnI7cmV0dXJuIEpBKGIudHlwZSxiLmluZGV4LGIubmFtZSl9ZnVuY3Rpb24gdUcoYSl7aWYoIWEpcmV0dXJue307dmFyIGI9e29yaWdpbmF0aW5nRW50aXR5OnRHKGEpfTthLnByaW9yaXR5UXVldWUmJihiLnByaW9yaXR5UXVldWU9YS5wcmlvcml0eVF1ZXVlKTtyZXR1cm4gYn07ZnVuY3Rpb24gQ0coYSl7dmFyIGI9bWooInpvbmVzIik7cmV0dXJuIGI/Yi5nZXRJc0FsbG93ZWRGbih3aygpLGEpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIERHKCl7dmFyIGE9bWooInpvbmVzIik7YSYmYS51bnJlZ2lzdGVyQ2hpbGQod2soKSl9CmZ1bmN0aW9uIEVHKCl7a0IodmsoKSxmdW5jdGlvbihhKXt2YXIgYj1hLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdLGM9bWooInpvbmVzIik7cmV0dXJuIGM/Yy5pc0FjdGl2ZSh3aygpLGIpOiEwfSk7aEIodmsoKSxmdW5jdGlvbihhKXt2YXIgYixjO2I9YS5lbnRpdHlJZDtjPWEuc2VjdXJpdHlHcm91cHM7cmV0dXJuIENHKE51bWJlcihhLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdKSkoYixjKX0pfTt2YXIgRkc9ZnVuY3Rpb24oYSxiKXt0aGlzLnRhZ0lkPWE7dGhpcy5jYW5vbmljYWxJZD1ifTsKZnVuY3Rpb24gR0coYSxiKXt2YXIgYz10aGlzO3JldHVybiBhfUdHLlA9ImludGVybmFsLmxvYWRHb29nbGVUYWciO2Z1bmN0aW9uIEhHKGEpe3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShiKTtpZihjIGluc3RhbmNlb2YgS2QpcmV0dXJuIG5ldyBLZCgiIixmdW5jdGlvbigpe3ZhciBkPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxlPXRoaXMsZj1FZChYRih0aGlzKSxudWxsKTtmLmV2ZW50SWQ9YS5ldmVudElkO2YucHJpb3JpdHlJZD1hLnByaW9yaXR5SWQ7Zi5vcmlnaW5hbEV2ZW50RGF0YT1hLm9yaWdpbmFsRXZlbnREYXRhO3ZhciBnPWQubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBlLmV2YWx1YXRlKGwpfSksaD10aGlzLlQud2IoKTtoLnVlKGYpO3JldHVybiBjLk5jLmFwcGx5KGMsW2hdLmNvbmNhdCh3KGcpKSl9KX0pfTtmdW5jdGlvbiBJRyhhLGIsYyl7dmFyIGQ9dGhpczt9SUcuUD0iaW50ZXJuYWwuYWRkR29vZ2xlVGFnUmVzdHJpY3Rpb24iOwpmdW5jdGlvbiBQRyhhLGIpe31QRy5QPSJpbnRlcm5hbC5hZGRIaXN0b3J5Q2hhbmdlTGlzdGVuZXIiO2Z1bmN0aW9uIFFHKGEsYixjKXt9UUcucHVibGljTmFtZT0iYWRkV2luZG93RXZlbnRMaXN0ZW5lciI7ZnVuY3Rpb24gUkcoYSxiKXtyZXR1cm4hMH1SRy5wdWJsaWNOYW1lPSJhbGlhc0luV2luZG93IjtmdW5jdGlvbiBTRyhhLGIsYyl7fVNHLlA9ImludGVybmFsLmFwcGVuZFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gVEcoYSl7dmFyIGI7cmV0dXJuIGJ9ClRHLnB1YmxpY05hbWU9ImNhbGxJbldpbmRvdyI7ZnVuY3Rpb24gVUcoYSl7fVVHLnB1YmxpY05hbWU9ImNhbGxMYXRlciI7ZnVuY3Rpb24gVkcoYSl7fVZHLlA9ImNhbGxPbkRvbVJlYWR5IjtmdW5jdGlvbiBXRyhhKXt9V0cuUD0iY2FsbE9uV2luZG93TG9hZCI7dmFyIFlHPWZ1bmN0aW9uKGEsYil7dmFyIGM9bm0oWEcpfHx7fSxkPWNbYV18fHt9O2lmKGRbYl0pcmV0dXJuITE7dmFyIGU9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxkKTtlW2JdPSEwO3ZhciBmPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyk7ZlthXT1lO21tKFhHLGYpO3JldHVybiEwfSxYRz1qbS5iYS5ocjtmdW5jdGlvbiBaRyhhLGIpe2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPVlHKGEsYik7cmV0dXJuIGN9WkcuUD0iaW50ZXJuYWwuY2xhaW1EZXN0aW5hdGlvbiI7ZnVuY3Rpb24gJEcoYSxiKXt2YXIgYztyZXR1cm4gY30kRy5QPSJpbnRlcm5hbC5jb21wdXRlR3RtUGFyYW1ldGVyIjtmdW5jdGlvbiBhSChhLGIpe3ZhciBjPXRoaXM7fWFILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZUZpcnN0VHJ5IjtmdW5jdGlvbiBiSChhLGIpe3ZhciBjPXRoaXM7fWJILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZVJldHJ5IjtmdW5jdGlvbiBjSChhKXt2YXIgYjtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyJdLGFyZ3VtZW50cyk7dmFyIGM9YTtpZigha20oYykpdGhyb3cgRXJyb3IoImNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTt2YXIgZD1ubShjKTtiPVVkKGQsdGhpcy5ULDEpO3JldHVybiBifWNILlA9ImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBkSChhLGIpe3ZhciBjO3ZhciBlPVVkKGMsdGhpcy5ULEJoKFhGKHRoaXMpLlBiKCkpPzI6MSk7ZT09PXZvaWQgMCYmYyE9PXZvaWQgMCYmUCg0NSk7cmV0dXJuIGV9ZEgucHVibGljTmFtZT0iY29weUZyb21EYXRhTGF5ZXIiOwpmdW5jdGlvbiBlSChhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9ZUguUD0iaW50ZXJuYWwuY29weUZyb21EYXRhTGF5ZXJDYWNoZSI7ZnVuY3Rpb24gZkgoYSl7dmFyIGI7cmV0dXJuIGJ9ZkgucHVibGljTmFtZT0iY29weUZyb21XaW5kb3ciO2Z1bmN0aW9uIGdIKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYix0aGlzLlQsMSl9Z0guUD0iaW50ZXJuYWwuY29weUtleUZyb21XaW5kb3ciO3ZhciBoSD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWNvLmlhLmNiJiZmby5IW2FdPT09Ym8uTWEuVWUmJiFYbyhGLkQua2EpfTt2YXIgaUg9ZnVuY3Rpb24oKXtyZXR1cm4iMCJ9LGpIPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuIiI7dmFyIGI9WyJnY2xpZCIsImRjbGlkIiwid2JyYWlkIiwiX2dsIl07TSgxMDIpJiZiLnB1c2goImdicmFpZCIpO3JldHVybiBTaihhLGIsIjAiKX07dmFyIGtIPXt9LGxIPXt9LG1IPXt9LG5IPXt9LG9IPXt9LHBIPXt9LHFIPXt9LHJIPXt9LHNIPXt9LHRIPXt9LHVIPXt9LHZIPXt9LHdIPXt9LHhIPXt9LHlIPXt9LHpIPXt9LEFIPXt9LEJIPXt9LENIPXt9LERIPXt9LEVIPXt9LEZIPXt9LEdIPXt9LEhIPXt9LElIPXt9LEpIPXt9LEtIPShKSFtGLkQuZmJdPShrSFsyXT1baEhdLGtIKSxKSFtGLkQuWmZdPShsSFsyXT1baEhdLGxIKSxKSFtGLkQuSmldPShtSFsyXT1baEhdLG1IKSxKSFtGLkQuZ21dPShuSFsyXT1baEhdLG5IKSxKSFtGLkQuaG1dPShvSFsyXT1baEhdLG9IKSxKSFtGLkQuaW1dPShwSFsyXT1baEhdLHBIKSxKSFtGLkQuam1dPShxSFsyXT1baEhdLHFIKSxKSFtGLkQua21dPShySFsyXT1baEhdLHJIKSxKSFtGLkQuQmNdPShzSFsyXT1baEhdLHNIKSxKSFtGLkQuY2ddPSh0SFsyXT1baEhdLHRIKSxKSFtGLkQuZGddPSh1SFsyXT1baEhdLHVIKSxKSFtGLkQuZWddPSh2SFsyXT1baEhdLHZIKSxKSFtGLkQuZmddPSh3SFsyXT0KW2hIXSx3SCksSkhbRi5ELmdnXT0oeEhbMl09W2hIXSx4SCksSkhbRi5ELmhnXT0oeUhbMl09W2hIXSx5SCksSkhbRi5ELmlnXT0oekhbMl09W2hIXSx6SCksSkhbRi5ELmpnXT0oQUhbMl09W2hIXSxBSCksSkhbRi5ELmxiXT0oQkhbMV09W2hIXSxCSCksSkhbRi5ELkRkXT0oQ0hbMV09W2hIXSxDSCksSkhbRi5ELktkXT0oREhbMV09W2hIXSxESCksSkhbRi5ELkVlXT0oRUhbMV09W2hIXSxFSCksSkhbRi5ELkJmXT0oRkhbMV09W2Z1bmN0aW9uKGEpe3JldHVybiBNKDEwMikmJmhIKGEpfV0sRkgpLEpIW0YuRC5VY109KEdIWzFdPVtoSF0sR0gpLEpIW0YuRC56YV09KEhIWzFdPVtoSF0sSEgpLEpIW0YuRC5VYV09KElIWzFdPVtoSF0sSUgpLEpIKSxMSD17fSxNSD0oTEhbRi5ELmxiXT1pSCxMSFtGLkQuRGRdPWlILExIW0YuRC5LZF09aUgsTEhbRi5ELkVlXT1pSCxMSFtGLkQuQmZdPWlILExIW0YuRC5VY109ZnVuY3Rpb24oYSl7aWYoIUNkKGEpKXJldHVybnt9O3ZhciBiPUVkKGEsCm51bGwpO2RlbGV0ZSBiLm1hdGNoX2lkO3JldHVybiBifSxMSFtGLkQuemFdPWpILExIW0YuRC5VYV09akgsTEgpLE5IPXt9LE9IPXt9LFBIPShPSFtILkouWWFdPShOSFsyXT1baEhdLE5IKSxPSCksUUg9e307dmFyIFJIPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSD1hO3RoaXMuTj1iO3RoaXMuUj1jO3RoaXMuWj1kfTtSSC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2NvLmlhLmdkOmE7aWYoIXRoaXMuTi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSkpcmV0dXJuIHRoaXMuUi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSk/dGhpcy5aKHRoaXMuSCk6dGhpcy5IfTtSSC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiBBZCh0aGlzLkgpPT09ImFycmF5Inx8Q2QodGhpcy5IKT9FZCh0aGlzLkgsbnVsbCk6dGhpcy5IfTsKdmFyIFNIPWZ1bmN0aW9uKCl7fSxUSD1mdW5jdGlvbihhLGIpe3RoaXMuY29uZGl0aW9ucz1hO3RoaXMuSD1ifSxVSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oKGQ9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZFsyXSl8fFtdLGYsZz0oKGY9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZlsxXSl8fFtdO3JldHVybiBuZXcgUkgoYyxlLGcsYS5IW2JdfHxTSCl9LFZILFdIO3ZhciBZSD1mdW5jdGlvbihhKXthLks9ITA7YS5IPSExO2lmKElmKDUyKSl7aWYoTSg1MTYpJiZYSCgpKXt2YXIgYjthLnNldHRpbmdzPShiPWRhdGEucHJvZHVjdFNldHRpbmdzKSE9bnVsbD9iOnt9O2EuSD0hMH1lbHNle3ZhciBjO2Euc2V0dGluZ3M9KGM9cHJvZHVjdFNldHRpbmdzKSE9bnVsbD9jOnt9fXByb2R1Y3RTZXR0aW5ncz12b2lkIDA7ZGF0YS5wcm9kdWN0U2V0dGluZ3M9dm9pZCAwO3ZhciBkOyhkPUZGKSE9bnVsbCYmZm4uTiYmTSg1MTYpJiYoZC5IPWEuSD8iMSI6IjAiKX19LCRIPWZ1bmN0aW9uKGEpe3ZhciBiPVpIO2IuS3x8WUgoYik7cmV0dXJuIGIuc2V0dGluZ3NbYV19LFpIPW5ldyBmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3M9e307dGhpcy5LPXRoaXMuSD0hMX07CmZ1bmN0aW9uIFhIKCl7aWYoIWRhdGEucHJvZHVjdFNldHRpbmdzJiYhcHJvZHVjdFNldHRpbmdzKXJldHVybiEwO2lmKCFkYXRhLnByb2R1Y3RTZXR0aW5nc3x8IXByb2R1Y3RTZXR0aW5nc3x8T2JqZWN0LmtleXMoZGF0YS5wcm9kdWN0U2V0dGluZ3MpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHByb2R1Y3RTZXR0aW5ncykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYSBpbiBwcm9kdWN0U2V0dGluZ3MpaWYoIWRhdGEucHJvZHVjdFNldHRpbmdzLmhhc093blByb3BlcnR5KGEpfHxkYXRhLnByb2R1Y3RTZXR0aW5nc1thXS5wcmVBdXRvUGlpIT09cHJvZHVjdFNldHRpbmdzW2FdLnByZUF1dG9QaWkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBhST1mdW5jdGlvbihhLGIsYyl7dGhpcy5ldmVudE5hbWU9Yjt0aGlzLk09Yzt0aGlzLkg9e307dGhpcy5pc0Fib3J0ZWQ9ITE7dGhpcy50YXJnZXQ9YTt0aGlzLm1ldGFkYXRhPXt9O2Zvcih2YXIgZD1jLmV2ZW50TWV0YWRhdGF8fHt9LGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Vih0aGlzLGcsZFtnXSl9fSxSPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYz1hLkhbYl0pPT1udWxsP3ZvaWQgMDooZD1jLmdldFZhbHVlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsUShhLEguSi50ZykpfSxldT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKX0sVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ILGU7Yz09PXZvaWQgMD9lPXZvaWQgMDooVkghPW51bGx8fChWSD1uZXcgVEgoS0gsTUgpKSxlPVVIKFZILGIsYykpO2RbYl09ZX07CmFJLnByb3RvdHlwZS5tZXJnZUhpdERhdGFGb3JLZXk9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7Yz0oZD10aGlzLkhbYV0pPT1udWxsP3ZvaWQgMDooZT1kLkspPT1udWxsP3ZvaWQgMDplLmNhbGwoZCk7aWYoIWMpcmV0dXJuIFUodGhpcyxhLGIpLCEwO2lmKCFDZChjKSlyZXR1cm4hMTtVKHRoaXMsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGMsYikpO3JldHVybiEwfTt2YXIgYkk9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjtmb3IodmFyIGM9bShPYmplY3Qua2V5cyhhLkgpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEuSFtlXSk9PW51bGw/dm9pZCAwOihoPShnPWYpLkspPT1udWxsP3ZvaWQgMDpoLmNhbGwoZyl9cmV0dXJuIGJ9OwphSS5wcm90b3R5cGUuY29weVRvSGl0RGF0YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Tyh0aGlzLk0sYSk7ZD09PXZvaWQgMCYmKGQ9Yik7aWYoemIoZCkmJmMhPT12b2lkIDApdHJ5e2Q9YyhkKX1jYXRjaChlKXt9ZCE9PXZvaWQgMCYmVSh0aGlzLGEsZCl9Owp2YXIgUT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWV0YWRhdGFbYl07aWYoYj09PUguSi50Zyl7dmFyIGQ7cmV0dXJuIGM9PW51bGw/dm9pZCAwOihkPWMuSyk9PW51bGw/dm9pZCAwOmQuY2FsbChjKX12YXIgZTtyZXR1cm4gYz09bnVsbD92b2lkIDA6KGU9Yy5nZXRWYWx1ZSk9PW51bGw/dm9pZCAwOmUuY2FsbChjLFEoYSxILkoudGcpKX0sVj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tZXRhZGF0YSxlO2M9PT12b2lkIDA/ZT1jOihXSCE9bnVsbHx8KFdIPW5ldyBUSChQSCxRSCkpLGU9VUgoV0gsYixjKSk7ZFtiXT1lfSxjST1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2Zvcih2YXIgYz1tKE9iamVjdC5rZXlzKGEubWV0YWRhdGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEubWV0YWRhdGFbZV0pPT1udWxsP3ZvaWQgMDooaD0oZz1mKS5LKT09bnVsbD92b2lkIDA6CmguY2FsbChnKX1yZXR1cm4gYn0sZEk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRIKGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO3JldHVybiBkJiZkW2JdIT09dm9pZCAwP2RbYl06Y30sWnU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9bmV3IGFJKChiPT1udWxsP3ZvaWQgMDpiLnRhcmdldCl8fGEudGFyZ2V0LChiPT1udWxsP3ZvaWQgMDpiLmV2ZW50TmFtZSl8fGEuZXZlbnROYW1lLChiPT1udWxsP3ZvaWQgMDpiLk0pfHxhLk0pLGQ9YkkoYSksZT1tKE9iamVjdC5rZXlzKGQpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtVKGMsZyxkW2ddKX1mb3IodmFyIGg9Y0koYSksbD1tKE9iamVjdC5rZXlzKGgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtWKGMscCxoW3BdKX1jLmlzQWJvcnRlZD1hLmlzQWJvcnRlZDtyZXR1cm4gY30sZUk9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLGM9Yi5ldmVudElkLGQ9Yi5wcmlvcml0eUlkOwpyZXR1cm4gZD9jKyJfIitkOlN0cmluZyhjKX07YUkucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbigpe3ZhciBhPW9tKGptLmJhLlNpLHt9KSxiPWVJKHRoaXMpLGM9dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZDthW2JdfHwoYVtiXT17fSk7YVtiXVtjXT12aygpO3ZhciBkPWptLmJhLlNpO2lmKGttKGQpKXt2YXIgZTsoZT1sbShkKSk9PW51bGx8fGUubm90aWZ5KCl9fTthSS5wcm90b3R5cGUuY2FuQmVBY2NlcHRlZD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5TaSk7aWYoIWIpcmV0dXJuITA7dmFyIGM9YltlSSh0aGlzKV07aWYoIWMpcmV0dXJuITA7dmFyIGQ9Y1thIT1udWxsP2E6dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZF07cmV0dXJuIGQ9PT12b2lkIDB8fGQ9PT12aygpfTtmdW5jdGlvbiBmSShhKXtyZXR1cm57Z2V0RGVzdGluYXRpb25JZDpmdW5jdGlvbigpe3JldHVybiBhLnRhcmdldC5kZXN0aW5hdGlvbklkfSxnZXRFdmVudE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5ldmVudE5hbWV9LHNldEV2ZW50TmFtZTpmdW5jdGlvbihiKXthLmV2ZW50TmFtZT1ifSxnZXRIaXREYXRhOmZ1bmN0aW9uKGIpe3JldHVybiBSKGEsYil9LHNldEhpdERhdGE6ZnVuY3Rpb24oYixjKXtVKGEsYixjKX0sc2V0SGl0RGF0YUlmTm90RGVmaW5lZDpmdW5jdGlvbihiLGMpe1IoYSxiKT09PXZvaWQgMCYmVShhLGIsYyl9LGNvcHlUb0hpdERhdGE6ZnVuY3Rpb24oYixjKXthLmNvcHlUb0hpdERhdGEoYixjKX0sZ2V0TWV0YWRhdGE6ZnVuY3Rpb24oYil7cmV0dXJuIFEoYSxiKX0sc2V0TWV0YWRhdGE6ZnVuY3Rpb24oYixjKXtWKGEsYixjKX0saXNBYm9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNBYm9ydGVkfSxhYm9ydDpmdW5jdGlvbigpe2EuaXNBYm9ydGVkPSEwfSwKZ2V0RnJvbUV2ZW50Q29udGV4dDpmdW5jdGlvbihiKXtyZXR1cm4gTyhhLk0sYil9LHJiOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEhpdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gZXUoYSl9LGdldE1lcmdlZFZhbHVlczpmdW5jdGlvbihiKXtyZXR1cm4gYS5NLmdldE1lcmdlZFZhbHVlcyhiLDMpfSxtZXJnZUhpdERhdGFGb3JLZXk6ZnVuY3Rpb24oYixjKXtyZXR1cm4gQ2QoYyk/YS5tZXJnZUhpdERhdGFGb3JLZXkoYixjKTohMX0sYWNjZXB0OmZ1bmN0aW9uKCl7YS5hY2NlcHQoKX0sY2FuQmVBY2NlcHRlZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5jYW5CZUFjY2VwdGVkKGIpfX19O2Z1bmN0aW9uIGdJKGEsYil7dmFyIGM7aWYoIWVoKGEpfHwhZmgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsIk9iamVjdHx1bmRlZmluZWQiXSxhcmd1bWVudHMpO3ZhciBkPVRkKGIpfHx7fSxlPVRkKGEsdGhpcy5ULDEpLnJiKCksZj1lLk07ZC5vbWl0RXZlbnRDb250ZXh0JiYoZj1KQyhuZXcgeUMoZS5NLmV2ZW50SWQsZS5NLnByaW9yaXR5SWQpKSk7dmFyIGc9bmV3IGFJKGUudGFyZ2V0LGUuZXZlbnROYW1lLGYpO2lmKCFkLm9taXRIaXREYXRhKWZvcih2YXIgaD1iSShlKSxsPW0oT2JqZWN0LmtleXMoaCkpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlO1UoZyxwLGhbcF0pfWlmKGQub21pdE1ldGFkYXRhKWcubWV0YWRhdGE9e307ZWxzZSBmb3IodmFyIHE9Y0koZSkscj1tKE9iamVjdC5rZXlzKHEpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD0Kci5uZXh0KCkpe3ZhciB1PXQudmFsdWU7VihnLHUscVt1XSl9Zy5pc0Fib3J0ZWQ9ZS5pc0Fib3J0ZWQ7Yz1VZChmSShnKSx0aGlzLlQsMSk7cmV0dXJuIGN9Z0kuUD0iaW50ZXJuYWwuY29weVByZUhpdCI7ZnVuY3Rpb24gaEkoYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjLHRoaXMuVCwyKX1oSS5wdWJsaWNOYW1lPSJjcmVhdGVBcmd1bWVudHNRdWV1ZSI7ZnVuY3Rpb24gaUkoYSl7cmV0dXJuIFVkKGZ1bmN0aW9uKGMpe3ZhciBkPVNBKCk7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKWQoZnVuY3Rpb24oKXtjKGZ1bmN0aW9uKGYsZyxoKXt2YXIgbD0KU0EoKSxuPWwmJmwuZ2V0QnlOYW1lJiZsLmdldEJ5TmFtZShmKTtyZXR1cm4obmV3IEEuZ2FwbHVnaW5zLkxpbmtlcihuKSkuZGVjb3JhdGUoZyxoKX0pfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGMpKXt2YXIgZT1TdHJpbmcoY1swXSkuc3BsaXQoIi4iKTtiW2UubGVuZ3RoPT09MT9lWzBdOmVbMV1dJiZkLmFwcGx5KG51bGwsYyl9ZWxzZSBpZihjPT09ImlzTG9hZGVkIilyZXR1cm4hIWQubG9hZGVkfSx0aGlzLlQsMSl9aUkuUD0iaW50ZXJuYWwuY3JlYXRlR2FDb21tYW5kUXVldWUiO2Z1bmN0aW9uIGpJKGEpe3JldHVybiBVZChmdW5jdGlvbigpe2lmKCF5YihlLnB1c2gpKXRocm93IEVycm9yKCJPYmplY3QgYXQgIithKyIgaW4gd2luZG93IGlzIG5vdCBhbiBhcnJheS4iKTtlLnB1c2guYXBwbHkoZSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfSx0aGlzLlQsCkJoKFhGKHRoaXMpLlBiKCkpPzI6MSl9akkucHVibGljTmFtZT0iY3JlYXRlUXVldWUiO2Z1bmN0aW9uIGtJKGEsYil7dmFyIGM9bnVsbDtpZighbGgoYSl8fCFtaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dHJ5e3ZhciBkPShifHwiIikuc3BsaXQoIiIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iaWciLmluZGV4T2YoZSk+PTB9KS5qb2luKCIiKTtjPW5ldyBQZChuZXcgUmVnRXhwKGEsZCkpfWNhdGNoKGUpe31yZXR1cm4gY31rSS5QPSJpbnRlcm5hbC5jcmVhdGVSZWdleCI7ZnVuY3Rpb24gbEkoYSl7fWxJLlA9ImludGVybmFsLmRlY2xhcmVDb25zZW50U3RhdGUiO2Z1bmN0aW9uIG1JKGEpe3ZhciBiPSIiO3JldHVybiBifW1JLlA9ImludGVybmFsLmRlY29kZVVybEh0bWxFbnRpdGllcyI7ZnVuY3Rpb24gbkkoYSxiLGMpe3ZhciBkO3JldHVybiBkfW5JLlA9ImludGVybmFsLmRlY29yYXRlVXJsV2l0aEdhQ29va2llcyI7ZnVuY3Rpb24gb0koKXt9b0kuUD0iaW50ZXJuYWwuZGVmZXJDdXN0b21FdmVudHMiO2Z1bmN0aW9uIHBJKGEsYil7dHJ5e3JldHVybiBhLmNsb3Nlc3QoYil9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtmdW5jdGlvbiBxSSgpe3ZhciBhPUEuc2NyZWVuO3JldHVybnt3aWR0aDphP2Eud2lkdGg6MCxoZWlnaHQ6YT9hLmhlaWdodDowfX0KZnVuY3Rpb24gckkoYSl7aWYoQi5oaWRkZW4pcmV0dXJuITA7dmFyIGI9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiLnRvcD09PWIuYm90dG9tfHxiLmxlZnQ9PT1iLnJpZ2h0fHwhQS5nZXRDb21wdXRlZFN0eWxlKXJldHVybiEwO3ZhciBjPUEuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpO2lmKGMudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcih2YXIgZD1hLGU9YztkOyl7aWYoZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO3ZhciBmPWUub3BhY2l0eSxnPWUuZmlsdGVyO2lmKGcpe3ZhciBoPWcuaW5kZXhPZigib3BhY2l0eSgiKTtoPj0wJiYoZz1nLnN1YnN0cmluZyhoKzgsZy5pbmRleE9mKCIpIixoKSksZy5jaGFyQXQoZy5sZW5ndGgtMSk9PT0iJSImJihnPWcuc3Vic3RyaW5nKDAsZy5sZW5ndGgtMSkpLGY9U3RyaW5nKE1hdGgubWluKE51bWJlcihnKSxOdW1iZXIoZikpKSl9aWYoZiE9PXZvaWQgMCYmTnVtYmVyKGYpPD0wKXJldHVybiEwOyhkPWQucGFyZW50RWxlbWVudCkmJgooZT1BLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSl9cmV0dXJuITF9CnZhciB0ST1mdW5jdGlvbihhKXt2YXIgYj1zSSgpLGM9Yi5oZWlnaHQsZD1iLndpZHRoLGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWUuYm90dG9tLWUudG9wLGc9ZS5yaWdodC1lLmxlZnQ7cmV0dXJuIGYmJmc/KDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS5sZWZ0LDApK01hdGgubWF4KGUucmlnaHQtZCwwKSkvZywxKSkqKDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS50b3AsMCkrTWF0aC5tYXgoZS5ib3R0b20tYywwKSkvZiwxKSk6MH0sc0k9ZnVuY3Rpb24oKXt2YXIgYT1CLmJvZHksYj1CLmRvY3VtZW50RWxlbWVudHx8YSYmYS5wYXJlbnRFbGVtZW50LGMsZDtpZihCLmNvbXBhdE1vZGUmJkIuY29tcGF0TW9kZSE9PSJCYWNrQ29tcGF0IiljPWI/Yi5jbGllbnRIZWlnaHQ6MCxkPWI/Yi5jbGllbnRXaWR0aDowO2Vsc2V7dmFyIGU9ZnVuY3Rpb24oZixnKXtyZXR1cm4gZiYmZz9NYXRoLm1pbihmLGcpOk1hdGgubWF4KGYsZyl9O2M9ZShiP2IuY2xpZW50SGVpZ2h0OjAsYT8KYS5jbGllbnRIZWlnaHQ6MCk7ZD1lKGI/Yi5jbGllbnRXaWR0aDowLGE/YS5jbGllbnRXaWR0aDowKX1yZXR1cm57d2lkdGg6ZCxoZWlnaHQ6Y319O3ZhciB2ST1mdW5jdGlvbihhKXtpZih1SSl7dmFyIGI9YWwoMjQsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGE+PTAmJmE8Yi5sZW5ndGgmJmJbYV0pe3ZhciBjOyhjPWJbYV0pPT1udWxsfHxjLmRpc2Nvbm5lY3QoKTtiW2FdPXZvaWQgMH19ZWxzZSBBLmNsZWFySW50ZXJ2YWwoYSl9LHlJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdPjE/Y1tkXT0xOmNbZF08MCYmKGNbZF09MCk7aWYodUkpe3ZhciBlPSExO2JkKGZ1bmN0aW9uKCl7ZXx8d0koYSxiLGMpKCl9KTtyZXR1cm4geEkoZnVuY3Rpb24oZil7ZT0hMDtmb3IodmFyIGc9e0hnOjB9O2cuSGc8Zi5sZW5ndGg7Zz17SGc6Zy5IZ30sZy5IZysrKWJkKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2EoZltoLkhnXSl9fShnKSl9LApiLGMpfXJldHVybiBjZCh3SShhLGIsYyksMUUzKX0sd0k9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoaCxsKXt2YXIgbj17dG9wOjAsYm90dG9tOjAscmlnaHQ6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0scD17Ym91bmRpbmdDbGllbnRSZWN0OmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaW50ZXJzZWN0aW9uUmF0aW86bCxpbnRlcnNlY3Rpb25SZWN0Om4saXNJbnRlcnNlY3Rpbmc6bD4wLHJvb3RCb3VuZHM6bix0YXJnZXQ6aCx0aW1lOk5iKCl9O2JkKGZ1bmN0aW9uKCl7YShwKX0pfWZvcih2YXIgZT1bXSxmPVtdLGc9MDtnPGIubGVuZ3RoO2crKyllLnB1c2goMCksZi5wdXNoKC0xKTtjLnNvcnQoZnVuY3Rpb24oaCxsKXtyZXR1cm4gaC1sfSk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBoPTA7aDxiLmxlbmd0aDtoKyspe3ZhciBsPXRJKGJbaF0pO2lmKGw+ZVtoXSlmb3IoO2ZbaF08Yy5sZW5ndGgtMSYmbD49Y1tmW2hdKzFdOylkKGJbaF0sbCksZltoXSsrO2Vsc2UgaWYobDwKZVtoXSlmb3IoO2ZbaF0+PTAmJmw8PWNbZltoXV07KWQoYltoXSxsKSxmW2hdLS07ZVtoXT1sfX19LHhJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9bmV3IEEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoYSx7dGhyZXNob2xkOmN9KSxlPTA7ZTxiLmxlbmd0aDtlKyspZC5vYnNlcnZlKGJbZV0pO2Zvcih2YXIgZj1hbCgyNCxmdW5jdGlvbigpe3JldHVybltdfSksZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKCFmW2ddKXJldHVybiBmW2ddPWQsZztyZXR1cm4gZi5wdXNoKGQpLTF9LHVJPSEoIUEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXJ8fCFBLkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOwp2YXIgSkk9ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hPT1udWxsP3ZvaWQgMDphLmluY2x1ZGVTZWxlY3RvcikhPW51bGw/YjohMCxkLGU9KGQ9YT09bnVsbD92b2lkIDA6YS5pbmNsdWRlVmlzaWJpbGl0eSkhPW51bGw/ZDohMCxmLGc9KGY9YT09bnVsbD92b2lkIDA6YS5zZWxlY3RNdWx0aXBsZUVsZW1lbnRzKSE9bnVsbD9mOiExLGg9KGE9PW51bGw/dm9pZCAwOmEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMpfHxbXSxsPShhPT1udWxsP3ZvaWQgMDphLmZpZWxkRmlsdGVycyl8fHtlbWFpbDohMCxwaG9uZTohMSxhZGRyZXNzOiExfSxuPWFsKDYsZnVuY3Rpb24oKXtyZXR1cm57fX0pLHA9ekkoe2luY2x1ZGVTZWxlY3RvcjpjLGluY2x1ZGVWaXNpYmlsaXR5OmUsZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM6aCxmaWVsZEZpbHRlcnM6bH0pLHE9bltwXTtpZihxJiZOYigpLXEudGltZXN0YW1wPDIwMCl7dmFyIHI9cS5yZXN1bHQsdDsoci5lbGVtZW50cy5zb21lKGZ1bmN0aW9uKHFhKXtyZXR1cm4gcWEuZGl9KXx8CigodD1yLmdpKT09bnVsbD8wOnQuZGkpKSYmR3UoVC5XLnJqKTtyZXR1cm4gcn12YXIgdT1BSSgpLHY9dS5zdGF0dXMseD1bXSx5LHosQz1bXTtpZihNKDU2OCkpe3ZhciBEPUJJKGwpLEk9Q0kodS5lbGVtZW50cyxEKSxHPURJKEkpLE49RUkoRyxoKSxTPUZJKE4pO3k9Uy5maWx0ZXIoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5EYT09PUZELkJifSlbMF07Zm9yKHZhciBXPVtdLGVhPXtJZzowfTtlYS5JZzxELmxlbmd0aDtlYT17SWc6ZWEuSWd9LGVhLklnKyspe3ZhciBqYT1OLmZpbHRlcihmdW5jdGlvbihxYSl7cmV0dXJuIGZ1bmN0aW9uKGliKXtyZXR1cm4gaWIuRGE9PT1EW3FhLklnXX19KGVhKSk7amEubGVuZ3RoPjEwJiYodj0iMyIsamE9amEuc2xpY2UoMCwxMCkpO1c9Vy5jb25jYXQoamEpfU49VzshZyYmUyYmKE49Uyk7Zm9yKHZhciBmYT0wO2ZhPE4ubGVuZ3RoO2ZhKyspe3ZhciBzYT1OW2ZhXTtzYS5EYSE9PUZELktoJiZDLnB1c2goR0koc2EsYyxlKSl9fWVsc2V7aWYobC5lbWFpbCl7dmFyIGRhPQpISSh1LmVsZW1lbnRzKTt4PUVJKGRhLGgpO3k9SUkoeCk7ZGEubGVuZ3RoPjEwJiYodj0iMyIpfSFnJiZ5JiYoeD1beV0pO2Zvcih2YXIgbWE9MDttYTx4Lmxlbmd0aDttYSsrKUMucHVzaChHSSh4W21hXSxjLGUpKTtDPUMuc2xpY2UoMCwxMCl9eSYmKHo9R0koeSxjLGUpKTt2YXIgUGE9e2VsZW1lbnRzOkMsZ2k6eixzdGF0dXM6dn07bltwXT17dGltZXN0YW1wOk5iKCkscmVzdWx0OlBhfTt2YXIgRmE7KFBhLmVsZW1lbnRzLnNvbWUoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5kaX0pfHwoKEZhPVBhLmdpKT09bnVsbD8wOkZhLmRpKSkmJkd1KFQuVy5yaik7cmV0dXJuIFBhfSxEST1mdW5jdGlvbihhKXt2YXIgYj1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELktofSksYz1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELlhkfSk7aWYoYS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5jZX0pLmxlbmd0aD09PTAmJmMubGVuZ3RoPT09CjApZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF0sZj1lLkNhLnNwbGl0KCIgIik7Zi5sZW5ndGg+MSYmYS5wdXNoKHtDYTpmWzBdLERhOkZELlhkLGVsZW1lbnQ6ZS5lbGVtZW50LE9jOmUuT2N9LHtDYTpmLnNsaWNlKDEpLmpvaW4oIiAiKSxEYTpGRC5jZSxlbGVtZW50OmUuZWxlbWVudCxPYzplLk9jfSl9Zm9yKHZhciBnLGg9MCxsLG49ZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5lZSYmdS5DYS5sZW5ndGg+PTMmJnUuQ2EubGVuZ3RoPD00fSxwPTA7cDxhLmxlbmd0aDtwKyspe3ZhciBxPWFbcF07aWYobihxKSYmZyYmcS5lbGVtZW50LnBhcmVudEVsZW1lbnQ9PT1nJiZoPDMpe2lmKGgrPTEsbCs9cS5DYSxoPT09Myl7dmFyIHI9cC1oKzE7aWYobD1LSVtGRC5lZV0ubmEobCkpYVtyXS5DYT1sfX1lbHNlIGlmKGg9MCxsPSIiLGc9dm9pZCAwLG4ocSkpe2grKztsPXEuQ2E7dmFyIHQ9dm9pZCAwO2c9KHQ9cS5lbGVtZW50LnBhcmVudEVsZW1lbnQpIT1udWxsPwp0OnZvaWQgMH19cmV0dXJuIGEuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiFuKHUpfSl9LE9JPWZ1bmN0aW9uKGEsYil7aWYoYS52YWx1ZSYmTEkuaW5kZXhPZigoYS50eXBlfHwidGV4dCIpLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBjPWEuYXV0b2NvbXBsZXRlO2lmKGMpZm9yKHZhciBkPWMuc3BsaXQoIiAiKSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPU1JKGEudmFsdWUsYixkW2VdKTtpZihmKXJldHVybiBmfXZhciBnLGg9W2EubmFtZSxhLmlkLChnPWEuYXJpYUxhYmVsKSE9bnVsbD9nOnZvaWQgMCxhLnBsYWNlaG9sZGVyXSxsPWEucGFyZW50RWxlbWVudDtsJiZsLnRhZ05hbWU9PT0iTEFCRUwiJiZoLnB1c2gobC5pbm5lclRleHQpO3ZhciBuPWEucHJldmlvdXNFbGVtZW50U2libGluZztuJiZuLnRhZ05hbWU9PT0iTEFCRUwiJiYhbi5odG1sRm9yJiZoLnB1c2gobi5pbm5lclRleHQpO2lmKGEuaWQpe3ZhciBwPVtdO3RyeXtwPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnbGFiZWxbZm9yPSInKwphLmlkKyciXScpfWNhdGNoKEQpe31mb3IodmFyIHE9MDtxPHAubGVuZ3RoO3ErKyloLnB1c2gocFtxXS5pbm5lclRleHQpfWg9aC5maWx0ZXIoZnVuY3Rpb24oRCl7cmV0dXJuIEQmJkQudHJpbSgpfSk7Zm9yKHZhciByLHQ9MCx1PTA7dTxoLmxlbmd0aDt1Kyspe3ZhciB2PU5JKGEsYixoW3VdKTtpZih2KXt2YXIgeD12LHk9eC5DYSx6PXguRGEsQz14LlhzO0M+dCYmKHQ9QyxyPXtDYTp5LERhOnp9KX19cmV0dXJuIHJ9fSxOST1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYoS0lbZV0ubmUpe3ZhciBmPUtJW2VdLm5lLmV4ZWMoYy50cmltKCkpO2lmKGYpe3ZhciBnPWEsaD1bXSxsPWcudmFsdWUudHJpbSgpO2wmJmgucHVzaChsKTtpZihnLnRhZ05hbWU9PT0iU0VMRUNUIil0cnl7dmFyIG49Zy5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9IicrZy52YWx1ZSsnIl0nKSxwPW4mJm4uaW5uZXJUZXh0LnRyaW0oKTtwJiZoLnB1c2gocCl9Y2F0Y2godSl7fWZvcih2YXIgcT0KaCxyPXZvaWQgMCx0PTA7dDxxLmxlbmd0aCYmIXI7dCsrKXI9S0lbZV0ubmEocVt0XSk7aWYocilyZXR1cm57RGE6ZSxDYTpyLFhzOmZbMF0ubGVuZ3RoL2MudHJpbSgpLmxlbmd0aH19fX19LE1JPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtpZihLSVtlXS5hdXRvY29tcGxldGUmJktJW2VdLmF1dG9jb21wbGV0ZS5pbmRleE9mKGMpPj0wKXt2YXIgZj1LSVtlXS5uYShhLnRyaW0oKSk7aWYoZilyZXR1cm57RGE6ZSxDYTpmfX19fSxCST1mdW5jdGlvbihhKXt2YXIgYj1bXTthLmVtYWlsJiZiLnB1c2goRkQuQmIpO2EucGhvbmUmJmIucHVzaChGRC5lZSk7YS5hZGRyZXNzJiZiLnB1c2goRkQuWGQsRkQuY2UsRkQueGYsRkQucWcsRkQuS2gpO3JldHVybiBifSxDST1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWFbZF0sZj1lLmVsZW1lbnQsZz1lLk9jLGg7YTp7dmFyIGw9ZixuPWIsCnA9bC5pbm5lckhUTUw7UEkuaW5kZXhPZihsLnRhZ05hbWUpPj0wJiYocD1sLnZhbHVlfHxwKTtpZihwKXt2YXIgcTtiOntmb3IodmFyIHI9cCx0PW4sdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgdj10W3VdO2lmKCFLSVt2XS5tZSl7dmFyIHg9S0lbdl0ubmEoci50cmltKCkpO2lmKHgpe3E9e0RhOnYsQ2E6eH07YnJlYWsgYn19fXE9dm9pZCAwfWlmKHEpe2g9cTticmVhayBhfWlmKFBJLmluZGV4T2YobC50YWdOYW1lKSE9PS0xKXtoPU9JKGwsbik7YnJlYWsgYX19aD12b2lkIDB9dmFyIHk9aDtpZih5KXt2YXIgej15O2MucHVzaCh7Q2E6ei5DYSxEYTp6LkRhLGVsZW1lbnQ6ZixPYzpnfSl9fXJldHVybiBjfSxGST1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhLmxlbmd0aD09PTApcmV0dXJuIGI7dmFyIGM9e30sZDtmb3IoZCBpbiBGRClpZihjPXtWZzpjLlZnfSxjLlZnPWQsRkQuaGFzT3duUHJvcGVydHkoYy5WZykpe3ZhciBlPWEuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZy5EYT09PQpGRFtmLlZnXX19KGMpKTtlLmxlbmd0aCE9PTAmJihGRFtjLlZnXT09PUZELkJiJiYoZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiFSSS50ZXN0KGYuQ2EpfSksZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiBmLmVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IklOUFVUIn0pLGU9UUkoZSxmdW5jdGlvbihmKXtyZXR1cm4hckkoZi5lbGVtZW50KX0pKSxiLnB1c2goZVswXSkpfXJldHVybiBifSxHST1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5lbGVtZW50LGU9YS5PYyxmPXtDYTphLkNhLHR5cGU6YS5EYSx0YWdOYW1lOmQudGFnTmFtZX07aWYoYil7dmFyIGcsaD1TSShkKTtpZihnPShlP2UrInwiK2g6aCkuc2xpY2UoMCxUSSkpZi5xdWVyeVNlbGVjdG9yPWd9YyYmKGYuaXNWaXNpYmxlPSFySShkKSk7ZSYmKGYuZGk9ITApO3JldHVybiBmfSx6ST1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtiPWEuaW5jbHVkZVNlbGVjdG9yO2M9YS5pbmNsdWRlVmlzaWJpbGl0eTtkPWEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM7CmU9YS5maWVsZEZpbHRlcnM7dmFyIGY9ISFiKyIuIishIWM7ZC5sZW5ndGgmJihmKz0iLiIrZC5qb2luKCIuIikpO3JldHVybiBmKz0iLiIrZS5lbWFpbCsiLiIrZS5waG9uZSsiLiIrZS5hZGRyZXNzfSxJST1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiO2I9UUkoYSxmdW5jdGlvbihjKXtyZXR1cm4hUkkudGVzdChjLkNhKX0pO2I9UUkoYixmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCJ9KTtiPVFJKGIsZnVuY3Rpb24oYyl7cmV0dXJuIXJJKGMuZWxlbWVudCl9KTtyZXR1cm4gYlswXX19LEVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXTtpZihnJiZwSShhW2RdLmVsZW1lbnQsZykpe2U9ITE7YnJlYWt9fWFbZF0uRGE9PT1GRC5CYiYmTSg2MDIpJiYoUkkudGVzdChhW2RdLkNhKXx8YVtkXS5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PQoiQSImJmFbZF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImhyZWYiKSYmYVtkXS5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaHJlZiIpLmluZGV4T2YoIm1haWx0bzoiKSE9PS0xP2U9ITE6YVtkXS5lbGVtZW50LmNsb3Nlc3QoImZvb3RlciIpIT09bnVsbCYmKGU9ITEpKTtlJiZjLnB1c2goYVtkXSl9cmV0dXJuIGN9LFFJPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg8PTEpcmV0dXJuIGE7dmFyIGM9YS5maWx0ZXIoYik7cmV0dXJuIGMubGVuZ3RoPT09MD9hOmN9LFNJPWZ1bmN0aW9uKGEpe2lmKGE9PT1CLmJvZHkpcmV0dXJuImJvZHkiO2lmKGEuaWQpcmV0dXJuIiMiK2EuaWQ7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGIpe3ZhciBjPVNJKGIpLGQ9VUkoYSxiKSxlPVZJKGEpKyI6bnRoLWNoaWxkKCIrZCsiKSI7cmV0dXJuIGM/YysiPiIrZTplfXZhciBmPWEucGFyZW50Tm9kZTtpZihmIGluc3RhbmNlb2YgU2hhZG93Um9vdCl7dmFyIGc9VUkoYSxmKTtyZXR1cm4gVkkoYSkrIjpudGgtY2hpbGQoIisKZysiKSJ9cmV0dXJuIGEudGFnTmFtZT9hLnRhZ05hbWUudG9Mb3dlckNhc2UoKToiIn0sVkk9ZnVuY3Rpb24oYSl7aWYoYS5jbGFzc0xpc3QmJmEuY2xhc3NMaXN0Lmxlbmd0aD4wKXt2YXIgYj1BcnJheS5mcm9tKGEuY2xhc3NMaXN0LGZ1bmN0aW9uKGMpe3JldHVybiBDU1MuZXNjYXBlKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmxlbmd0aD4wfSk7aWYoYi5sZW5ndGg+MClyZXR1cm4iLiIrYi5qb2luKCIuIil9cmV0dXJuIiJ9LFVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuY2hpbGRyZW4sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGNbZF09PT1hKXJldHVybiBkKzE7cmV0dXJuIDF9LEhJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmVsZW1lbnQsZj1kLk9jLGc9ZS50ZXh0Q29udGVudDtlLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCImJmUudmFsdWUmJihnPWUudmFsdWUpO2lmKGcpe3ZhciBoPQpnLm1hdGNoKEtEKTtpZihoKXt2YXIgbD1oWzBdO0xEKGwpfHxiLnB1c2goe2VsZW1lbnQ6ZSxDYTpsLERhOkZELkJiLE9jOmZ9KX19fXJldHVybiBifSxBST1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Qi5ib2R5O2lmKCFiKXJldHVybntlbGVtZW50czphLHN0YXR1czoiNCJ9O3ZhciBjPVdJKGIsMCwiIixhKTtyZXR1cm57ZWxlbWVudHM6YSxzdGF0dXM6Y319LFdJPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxmPWUubGVuZ3RoPjFFND8iMiI6IjEiLGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDFFNCk7ZysrKXt2YXIgaD1lW2ddO2lmKCEoWEkuaW5kZXhPZihoLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApJiZoLmNoaWxkcmVuIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24pe3ZhciBsPSExO2lmKE0oNTgyKSYmaC5zaGFkb3dSb290JiZiPDEpe3ZhciBuPVNJKGgpO1dJKGguc2hhZG93Um9vdCxiKzEsYz9jKyJ8IituOm4sZCk9PT0iMiImJgooZj0iMiIpO2w9ITB9dmFyIHA9ITE7aWYoIWwpZm9yKHZhciBxPTA7cTxNYXRoLm1pbihoLmNoaWxkRWxlbWVudENvdW50LDFFNCk7cSsrKWlmKCEoWUkuaW5kZXhPZihoLmNoaWxkcmVuW3FdLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApKXtwPSEwO2JyZWFrfSghcCYmIWx8fE0oNTY4KSYmUEkuaW5kZXhPZihoLnRhZ05hbWUpIT09LTEpJiZkLnB1c2goe2VsZW1lbnQ6aCxPYzpiPjA/Yzp2b2lkIDB9KX19cmV0dXJuIGZ9LFJJPS9zdXBwb3J0fG5vcmVwbHkvaSxYST0iU0NSSVBUIFNUWUxFIElNRyBTVkcgUEFUSCBCUiBOT1NDUklQVCBURVhUQVJFQSIuc3BsaXQoIiAiKSxZST1bIkJSIl0sVEk9TmYoNzAsNTApLFBJPVsiSU5QVVQiLCJTRUxFQ1QiXSxMST0idGV4dCB0ZWwgc2VhcmNoIG51bWJlciBoaWRkZW4gZW1haWwgc2VsZWN0LW9uZSIuc3BsaXQoIiAiKSxaST1SZWdFeHAoInBob25lfG1vYmlsZXxjb250YWN0Lj9udW1iZXJ8dGVsZWZvbm51bW1lcnx0ZWxlZm9ub3x0ZWxcdTAwZTlmb25vfHRlbGZpeGV8XHU5NmZiXHU4YTcxfHRlbGVmb25lfHRlbGVtb3ZlbHxcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDRcdTA0M2VcdTA0M2R8XHUwOTJlXHUwOTRiXHUwOTJjXHUwOTNlXHUwOTA3XHUwOTMyfFx1NzUzNVx1OGJkZHxcdTYyNGJcdTY3M2FcdTUzZjd8XHUwZDJlXHUwZDRhXHUwZDJjXHUwZDQ4XHUwZDMyXHUwZDRkXHUyMDBkfChefFstX10pdGVsWy1fXT8oXFxkKykqKFxcWy4qXFxdKSokfCg/Olx1YzgwNFx1ZDY1NHxcdWQ1NzhcdWI0ZGNcdWQzZjB8XHVkNzM0XHViMzAwXHVkM2YwfFx1ZDczNFx1YjMwMFx1YzgwNFx1ZDY1NCkoPzouP1x1YmM4OFx1ZDYzOCk/fChcXGJ8X3xcXCopdGVsZWZvbihcXGJ8X3xcXCopfHRlbGVwb258cG9uc2VsfChub21vcnxub1xcLj8pLj8oaHB8aGFuZHBob25lKSIsCiJpIiksJEk9UmVnRXhwKCJebmFtZXxmdWxsLj9uYW1lfHlvdXIuP25hbWV8Y3VzdG9tZXIuP25hbWV8YmlsbC4/bmFtZXxzaGlwLj9uYW1lfG5hbWUuKmZpcnN0LipsYXN0fGZpcnN0YW5kbGFzdG5hbWV8Y29udGFjdC4/KG5hbWV8cGVyc29uKXxub21icmUuKnkuKmFwZWxsaWRvc3xebm9tKD8hW2EtekEtWl0pfFx1MzA0YVx1NTQwZFx1NTI0ZHxcdTZjMGZcdTU0MGR8Xm5vbWV8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2NDZcdTA2MjdcdTA2NDUuKlx1MDYyZVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyZlx1MDZhZlx1MDZjY3xcdTU5ZDNcXHMqXHU1NDBkfFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQzZVx1MDQzNS4/XHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDNlfChcXGJ8X3xcXCopYWRbXHUwMTMxXT8gc295YWRbXHUwMTMxXT8oXFxifF98XFwqKXxcdWMxMzFcdWJhODV8bmFtYS4/KGxlbmdrYXB8cGVuZXJpbWF8a2FtdSkiLAoiaSIpLGFKPVJlZ0V4cCgiZmlyc3QuKm5hbWV8aW5pdGlhbHN8Zm5hbWV8Zmlyc3QkfGdpdmVuLipuYW1lfHZvcm5hbWV8bm9tYnJlfGZvcmVuYW1lfHByXHUwMGU5bm9tfHByZW5vbXxcdTU0MGR8bm9tZXxcdTA0MThcdTA0M2NcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1fFx1Yzc3NFx1Yjk4NHxcdTBkMmFcdTBkNDdcdTBkMzBcdTBkNGR8KFxcYnxffFxcKikoaXNpbXxhZHxhZChpfFx1MDEzMXxpbml6fFx1MDEzMW5cdTAxMzF6KT8pKFxcYnxffFxcKil8XHUwOTI4XHUwOTNlXHUwOTJlfG5hbWEgZGVwYW4iLCJpIiksYko9UmVnRXhwKCJsYXN0LipuYW1lfGxuYW1lfHN1cm5hbWUoPyFcXGQpfGxhc3QkfHNlY29uZG5hbWV8ZmFtaWx5LipuYW1lfG5hY2huYW1lfGFwZWxsaWRvcz98ZmFtaWxsZXxebm9tKD8hW2EtekEtWl0pfGNvZ25vbWV8XHU1OWQzfGFwZWxpZG9zfHN1cmVuYW1lfHNvYnJlbm9tZXxcdTA0MjRcdTA0MzBcdTA0M2NcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2MmVcdTA2MjdcdTA2NDZcdTA2NDhcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2N8XHUwOTA5XHUwOTJhXHUwOTI4XHUwOTNlXHUwOTJlfFx1MGQyZVx1MGQzMVx1MGQ0MVx1MGQyYVx1MGQ0N1x1MGQzMFx1MGQ0ZHwoXFxifF98XFwqKShzb3lpc2ltfHNveWFkKGl8XHUwMTMxfGluaXp8XHUwMTMxblx1MDEzMXopPykoXFxifF98XFwqKXxcXGJcdWMxMzEoPzpbXlx1YmE4NV18XFxiKXxuYW1hIGJlbGFrYW5nIiwKImkiKSxjSj1SZWdFeHAoImNvdW50cnl8Y291bnRyaWVzfHBhXHUwMGVkc3xwYWlzfChcXGJ8XylsYW5kKFxcYnxfKSg/IS4qKG1hcmsuKikpfChefFteKFx1NTE2NXxcdTUxZmEpXSlcdTU2ZmR8XHU1NmZkXHU1YmI2fFx1YWQ2ZFx1YWMwMHxcdWIwOThcdWI3N2N8KFxcYnxfKShcdTAwZmNsa2V8dWxjZXx1bGtlKShcXGJ8Xyl8XHUwNmE5XHUwNjM0XHUwNjQ4XHUwNjMxfG5lZ2FyYSIsImkiKSxkSj1SZWdFeHAoIihefFteLl0pemlwfHBvc3RhbHxwb3N0Lipjb2RlfHBjb2RlfHBpbi4/Y29kZXxwb3N0bGVpdHphaGx8XFxiY3BcXGJ8XFxiY2RwXFxifFxcYmNhcFxcYnxcdTkwZjVcdTRmYmZcdTc1NmFcdTUzZjd8Y29kaWdvfGNvZHBvc3xcXGJjZXBcXGJ8XHUwNDFmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5Lj9cdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDF8XHUwOTJhXHUwOTNmXHUwOTI4Lj9cdTA5MTVcdTA5NGJcdTA5MjF8XHUwZDJhXHUwZDNmXHUwZDI4XHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDRkfFx1OTBhZVx1NjUzZlx1N2YxNlx1NzgwMXxcdTkwYWVcdTdmMTZ8XHU5MGY1XHU5MDVlXHU1MzQwXHU4NjVmfChcXGJ8Xylwb3N0YSBrb2R1KFxcYnxfKXxcdWM2YjBcdWQzYjguP1x1YmM4OFx1ZDYzOHxrb2RlLj9wb3MiLAoiaSIpLGVKPXt9LEtJPShlSltGRC5CYl09e21lOiExLG5hOk1EfSxlSltGRC5lZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbInRlbCIsInRlbC1uYXRpb25hbCIsInRlbC1sb2NhbCJdLG5lOlpJLG5hOmZ1bmN0aW9uKGEpe3JldHVybiBHRChhLCEwKX19LGVKW0ZELktoXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsibmFtZSIsImNjLW5hbWUiXSxuZTokSSxuYTpORH0sZUpbRkQuWGRdPXttZTohMCxhdXRvY29tcGxldGU6WyJnaXZlbi1uYW1lIiwiY2MtZ2l2ZW4tbmFtZSJdLG5lOmFKLG5hOk5EfSxlSltGRC5jZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbImZhbWlseS1uYW1lIiwiY2MtZmFtaWx5LW5hbWUiXSxuZTpiSixuYTpORH0sZUpbRkQueGZdPXttZTohMCxhdXRvY29tcGxldGU6WyJjb3VudHJ5IiwiY291bnRyeS1uYW1lIl0sbmU6Y0osbmE6TkR9LGVKW0ZELnFnXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsicG9zdGFsLWNvZGUiXSxuZTpkSixuYTpJRH0sZUopO2Z1bmN0aW9uIGZKKGEpe3ZhciBiO0wodGhpcywiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iKTt2YXIgYz1UZChhKXx8e30sZD1KSSh7aW5jbHVkZVNlbGVjdG9yOiEhYy5pbmNsdWRlU2VsZWN0b3IsaW5jbHVkZVZpc2liaWxpdHk6ISFjLmluY2x1ZGVWaXNpYmlsaXR5LGV4Y2x1ZGVFbGVtZW50U2VsZWN0b3JzOmMuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMsZmllbGRGaWx0ZXJzOmMuZmllbGRGaWx0ZXJzLHNlbGVjdE11bHRpcGxlRWxlbWVudHM6ISFjLnNlbGVjdE11bHRpcGxlRWxlbWVudHN9KTtiPW5ldyBrYjt2YXIgZT1uZXcgR2Q7Yi5zZXQoImVsZW1lbnRzIixlKTtmb3IodmFyIGY9ZC5lbGVtZW50cyxnPTA7ZzxmLmxlbmd0aDtnKyspZS5wdXNoKGdKKGZbZ10pKTtkLmdpIT09dm9pZCAwJiZiLnNldCgicHJlZmVycmVkRW1haWxFbGVtZW50IiwKZ0ooZC5naSkpO2Iuc2V0KCJzdGF0dXMiLGQuc3RhdHVzKTtpZihjLnJlYWRGcm9tRGF0YUxheWVyKXtoSihlLGMpO3ZhciBoPVBEKCksbD1oLnN0O2Iuc2V0KCJkYXRhTGF5ZXJTZWFyY2hUaW1lIixoLnZ0KTtiLnNldCgiZGF0YUxheWVyU2VhcmNoQ291bnQiLGwpfXJldHVybiBifQp2YXIgaUo9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgRkQuQmI6cmV0dXJuImVtYWlsIjtjYXNlIEZELmVlOnJldHVybiJwaG9uZV9udW1iZXIiO2Nhc2UgRkQuWGQ6cmV0dXJuImZpcnN0X25hbWUiO2Nhc2UgRkQuY2U6cmV0dXJuImxhc3RfbmFtZSI7Y2FzZSBGRC50ajpyZXR1cm4ic3RyZWV0IjtjYXNlIEZELmxpOnJldHVybiJjaXR5IjtjYXNlIEZELmpqOnJldHVybiJyZWdpb24iO2Nhc2UgRkQucWc6cmV0dXJuInBvc3RhbF9jb2RlIjtjYXNlIEZELnhmOnJldHVybiJjb3VudHJ5In19LGpKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYixjPWlKKGEuRGEpO2MhPT12b2lkIDAmJmIuc2V0KCJ0eXBlIixjKTtiLnNldCgidXNlckRhdGEiLGEuQ2EpO2Iuc2V0KCJ0YWdOYW1lIiwiRExZUiIpO3JldHVybiBifSxoSj1mdW5jdGlvbihhLGIpe3ZhciBjPVFEKCk7aWYoTSg1NjgpKWZvcih2YXIgZD1uZXcgU2V0KGEuaGMoKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuZ2V0KCJ0eXBlIil9KSksCmU9bShjKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9bShmLnZhbHVlKSxoPWcubmV4dCgpLnZhbHVlLGw9Zy5uZXh0KCkudmFsdWUsbj1oLHA9bDtpZihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHMpYS5wdXNoKGpKKHApKTtlbHNle3ZhciBxPWlKKG4pO3EmJiFkLmhhcyhxKSYmYS5wdXNoKGpKKHApKX19ZWxzZSBjLmhhcyhGRC5CYikmJihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHN8fGEubGVuZ3RoKCk9PT0wKSYmYS5wdXNoKGpKKGMuZ2V0KEZELkJiKSkpfSxnSj1mdW5jdGlvbihhKXt2YXIgYj1uZXcga2I7Yi5zZXQoInVzZXJEYXRhIixhLkNhKTtiLnNldCgidGFnTmFtZSIsYS50YWdOYW1lKTthLnF1ZXJ5U2VsZWN0b3IhPT12b2lkIDAmJmIuc2V0KCJxdWVyeVNlbGVjdG9yIixhLnF1ZXJ5U2VsZWN0b3IpO2EuaXNWaXNpYmxlIT09dm9pZCAwJiZiLnNldCgiaXNWaXNpYmxlIixhLmlzVmlzaWJsZSk7aWYoTSg1NjgpKXt2YXIgYz1pSihhLnR5cGUpO2MhPT0Kdm9pZCAwJiZiLnNldCgidHlwZSIsYyl9ZWxzZSBzd2l0Y2goYS50eXBlKXtjYXNlIEZELkJiOmIuc2V0KCJ0eXBlIiwiZW1haWwiKX1yZXR1cm4gYn07ZkouUD0iaW50ZXJuYWwuZGV0ZWN0VXNlclByb3ZpZGVkRGF0YSI7CnZhciBrSj1mdW5jdGlvbihhKXt2YXIgYj1oZChhLFsiYnV0dG9uIiwiaW5wdXQiXSw1MCk7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9U3RyaW5nKGIudGFnTmFtZSkudG9Mb3dlckNhc2UoKTtpZihjPT09ImJ1dHRvbiIpcmV0dXJuIGI7aWYoYz09PSJpbnB1dCIpe3ZhciBkPWVkKGIsInR5cGUiKTtpZihkPT09ImJ1dHRvbiJ8fGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSJ8fGQ9PT0iZmlsZSJ8fGQ9PT0icmVzZXQiKXJldHVybiBifXJldHVybiBudWxsfSxsSj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy50YXJnZXQ7aWYoZCl7dmFyIGU9JEYoYSwiaW5kaXZpZHVhbEVsZW1lbnRJZHMiLFtdKTtpZihlLmxlbmd0aD4wKXt2YXIgZj1lRyhkLGIsZSk7dUUoZil9dmFyIGc9ITEsaD0kRihhLCJjb21tb25CdXR0b25JZHMiLFtdKTtpZihoLmxlbmd0aD4wKXt2YXIgbD1rSihkKTtpZihsKXt2YXIgbj1lRyhsLGIsaCk7dUUobik7Zz0hMH19dmFyIHA9JEYoYSwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLAp7fSkscTtmb3IocSBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkocSkpe3ZhciByPWc/cFtxXS5maWx0ZXIoZnVuY3Rpb24odil7cmV0dXJuIGguaW5kZXhPZih2KT09PS0xfSk6cFtxXTtpZihyLmxlbmd0aCE9PTApe3ZhciB0PXBJKGQscSk7aWYodCl7dmFyIHU9ZUcodCxiLHIpO3VFKHUpfX19fX07CmZ1bmN0aW9uIG1KKGEsYil7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgYz1hP1RkKGEpOnt9LGQ9SmIoYy5tYXRjaENvbW1vbkJ1dHRvbnMpLGU9ISFjLmNzc1NlbGVjdG9yLGY9WkYoYik7TCh0aGlzLCJkZXRlY3RfY2xpY2tfZXZlbnRzIixjLm1hdGNoQ29tbW9uQnV0dG9ucyxjLmNzc1NlbGVjdG9yKTt2YXIgZz1jLnVzZVYyRXZlbnROYW1lPyJndG0uY2xpY2stdjIiOiJndG0uY2xpY2siLGg9Yy51c2VWMkV2ZW50TmFtZT8iZWNsIjoiY2wiLGw9ZnVuY3Rpb24ocCl7cC5wdXNoKGYpO3JldHVybiBwfTtpZihlfHxkKXtpZihkJiZkRyhoLCJjb21tb25CdXR0b25JZHMiLGwsW10pLGUpe3ZhciBuPUxiKFN0cmluZyhjLmNzc1NlbGVjdG9yKSk7ZEcoaCwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLApmdW5jdGlvbihwKXtwLmhhc093blByb3BlcnR5KG4pfHwocFtuXT1bXSk7bChwW25dKTtyZXR1cm4gcH0se30pfX1lbHNlIGRHKGgsImluZGl2aWR1YWxFbGVtZW50SWRzIixsLFtdKTtiRyhoLGZ1bmN0aW9uKCl7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKHApe2xKKGgsZyxwKX0sITApfSk7cmV0dXJuIGZ9bUouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayI7CnZhciBuSj1mdW5jdGlvbigpe3RoaXMuSD1bXTt0aGlzLk49ISFBLk11dGF0aW9uT2JzZXJ2ZXJ9O25KLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5ILmxlbmd0aD09PTApe3ZhciBjPWZ1bmN0aW9uKCl7dmFyIGQ9Qi5ib2R5O2lmKGQpaWYoYi5OKShuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKS5vYnNlcnZlKGQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZWxzZXt2YXIgZT0hMTskYyhkLCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZXx8KGU9ITAsYmQoZnVuY3Rpb24oKXtlPSExO2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKX0pfX07Qi5ib2R5P2MoKTpiZChjKX10aGlzLkgucHVzaChhKX07bkoucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IKWZvcih2YXIgYj0wO2I8dGhpcy5ILmxlbmd0aDtiKyspdGhpcy5IW2JdPT09CmEmJnRoaXMuSC5zcGxpY2UoYiwxKX07dmFyIG9KPW5ldyBuSjsKZnVuY3Rpb24gdEooYSxiKXtyZXR1cm4gcH10Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVsZW1lbnRWaXNpYmlsaXR5IjtmdW5jdGlvbiB1Sigpe311Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVycm9yIjsKdmFyIHdKPWZ1bmN0aW9uKGEsYil7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPWJbY107ZSYmR2IoZCxmdW5jdGlvbihmLGcpe3ZKKGcsZSl9KX0pfSx6Sj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIitiO2lmKGNbaF0pY1toXS5wdXNoKGEpO2Vsc2V7dmFyIGw9W2FdO2NbaF09bDt2YXIgbj1kW2hdO258fChuPXt9LGRbaF09bik7ZS5wdXNoKGZ1bmN0aW9uKHApe3ZhciBxPXAudGFyZ2V0O2lmKHEpe3ZhciByPWlHKHEpO2lmKHIpe3ZhciB0PXhKKHIsImd0bUZvcm1JbnRlcmFjdElkIixmKSx1PXhKKHEsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiLGcpO2lmKHQhPT1udWxsJiZ1IT09bnVsbCl7dmFyIHY9blt0XTt2Pyh2LlJiJiYoQS5jbGVhclRpbWVvdXQodi5SYiksdi5kZi5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLWZvcm0taW50ZXJhY3QtZmllbGQtaWQiKSE9PXUmJnZKKHYsbCkpLHYuZGY9cSx5Sih2LGwsYikpOihuW3RdPXtmb3JtOnIsZGY6cSxzZXF1ZW5jZU51bWJlcjowLApSYjpudWxsfSx5SihuW3RdLGwsYikpfX19fSl9fSx2Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZm9ybSxkPWEuZGYsZT1lRyhjLCJndG0uZm9ybUludGVyYWN0IixiKSxmPWMuYWN0aW9uO2YmJmYudGFnTmFtZSYmKGY9Yy5jbG9uZU5vZGUoITEpLmFjdGlvbik7ZVsiZ3RtLmVsZW1lbnRVcmwiXT1mO2VbImd0bS5pbnRlcmFjdGVkRm9ybU5hbWUiXT1jLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2MuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUxlbmd0aCJdPWMubGVuZ3RoO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkIl09ZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl09ZC5pZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZE5hbWUiXT1kLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2QuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXT1oRyhjLGQsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiKTsKZVsiZ3RtLmludGVyYWN0ZWRGb3JtRmllbGRUeXBlIl09ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9bnVsbD9kLmdldEF0dHJpYnV0ZSgidHlwZSIpOnZvaWQgMDtlWyJndG0uaW50ZXJhY3RTZXF1ZW5jZU51bWJlciJdPWEuc2VxdWVuY2VOdW1iZXI7dUUoZSk7YS5zZXF1ZW5jZU51bWJlcisrO2EuUmI9bnVsbH0seUo9ZnVuY3Rpb24oYSxiLGMpe2M/YS5SYj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2SihhLGIpfSxjKTp2SihhLGIpfSx4Sj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7dHJ5e2lmKGQ9YS5kYXRhc2V0W2JdKXJldHVybiBkO2Q9U3RyaW5nKGMoKSk7YS5kYXRhc2V0W2JdPWR9Y2F0Y2goZSl7ZD1udWxsfXJldHVybiBkfTsKZnVuY3Rpb24gQUooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMiKX1dKTt2YXIgZD1aRihiKSxlPWEmJk51bWJlcihhLmdldCgiaW50ZXJ2YWwiKSk7ZT4wJiZpc0Zpbml0ZShlKXx8KGU9MCk7aWYoJEYoImZpbCIsImluaXQiLCExKSl7dmFyIGY9JEYoImZpbCIsInJlZyIpO2lmKGYpZihkLGUpO2Vsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciB0cmlnZ2VyOiAiK2QpO31lbHNle3ZhciBnPXt9LGg9W10sbD17fSxuPTAscD1mdW5jdGlvbigpe3JldHVybiBuKyt9LHE9MCxyPWZ1bmN0aW9uKCl7cmV0dXJuIHErK307JGMoQiwiY2hhbmdlIiwKZnVuY3Rpb24odCl7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspaFt1XSh0KX0pOyRjKEEsInBhZ2VoaWRlIixmdW5jdGlvbigpe3dKKGwsZyl9KTt6SihkLGUsZyxsLGgscCxyKTthRygiZmlsIiwicmVnIixmdW5jdGlvbih0LHUpe3pKKHQsdSxnLGwsaCxwLHIpfSk7YUcoImZpbCIsImluaXQiLCEwKX1yZXR1cm4gZH1BSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1JbnRlcmFjdGlvbiI7CnZhciBCSj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSRGKCJmc2wiLGM/Im52Lm13dCI6Im13dCIsMCksZztnPWM/JEYoImZzbCIsIm52LmlkcyIsW10pOiRGKCJmc2wiLCJpZHMiLFtdKTtpZighZy5sZW5ndGgpcmV0dXJuITA7dmFyIGg9ZUcoYSwiZ3RtLmZvcm1TdWJtaXQiLGcpLGw9YS5hY3Rpb247bCYmbC50YWdOYW1lJiYobD1hLmNsb25lTm9kZSghMSkuYWN0aW9uKTtQKDEyMSk7aWYobD09PSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHIvIilyZXR1cm4gUCgxMjIpLCEwO2hbImd0bS5lbGVtZW50VXJsIl09bDtoWyJndG0uZm9ybUNhbmNlbGVkIl09YzthLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsJiYoaFsiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdPWEuZ2V0QXR0cmlidXRlKCJuYW1lIikpO2UmJihoWyJndG0uZm9ybVN1Ym1pdEVsZW1lbnQiXT1lLGhbImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXT1lLnZhbHVlKTtpZihkJiZmKXtpZighc0UoaCxqRShiLApmKSxmKSlyZXR1cm4hMX1lbHNlIEZ5KDEsImd0bS5mb3JtU3VibWl0Iiksc0UoaCxmdW5jdGlvbigpe30sZnx8MkUzKTtyZXR1cm4hMH0sQ0o9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPWZ1bmN0aW9uKGMpe3JldHVybiBDYihhLGZ1bmN0aW9uKGQpe3JldHVybiBkLmZvcm09PT1jfSl9O3JldHVybntzdG9yZTpmdW5jdGlvbihjLGQpe3ZhciBlPWIoYyk7ZT9lLmJ1dHRvbj1kOmEucHVzaCh7Zm9ybTpjLGJ1dHRvbjpkfSl9LGdldDpmdW5jdGlvbihjKXt2YXIgZD1iKGMpO2lmKGQpcmV0dXJuIGQuYnV0dG9ufX19LERKPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiBiJiZiIT09Il9zZWxmIiYmYiE9PSJfcGFyZW50IiYmYiE9PSJfdG9wIj8hMTohMH0sRUo9ZnVuY3Rpb24oKXt2YXIgYT1DSigpLGI9SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKGQpe3ZhciBlPWhkKGQsWyJidXR0b24iLAoiaW5wdXQiXSwxMDApO2lmKGUmJihlLnR5cGU9PT0ic3VibWl0Inx8ZS50eXBlPT09ImltYWdlIikmJmUubmFtZSYmZWQoZSwidmFsdWUiKSl7dmFyIGY9aUcoZSk7ZiYmYS5zdG9yZShmLGUpfX19LCExKTskYyhCLCJzdWJtaXQiLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKCFkKXJldHVybiBjLnJldHVyblZhbHVlO3ZhciBlPWMuZGVmYXVsdFByZXZlbnRlZHx8Yy5yZXR1cm5WYWx1ZT09PSExLGY9REooZCkmJiFlLGc9YS5nZXQoZCksaD0hMDtpZihCSihkLGZ1bmN0aW9uKCl7aWYoaCl7dmFyIGw9bnVsbCxuPXt9O2cmJihsPUIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxsLnR5cGU9ImhpZGRlbiIsbC5uYW1lPWcubmFtZSxsLnZhbHVlPWcudmFsdWUsZC5hcHBlbmRDaGlsZChsKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybWFjdGlvbiIpJiYobi5hY3Rpb249ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLHhjKGQsZy5nZXRBdHRyaWJ1dGUoImZvcm1hY3Rpb24iKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtZW5jdHlwZSIpJiYKKG4uZW5jdHlwZT1kLmdldEF0dHJpYnV0ZSgiZW5jdHlwZSIpLGQuc2V0QXR0cmlidXRlKCJlbmN0eXBlIixnLmdldEF0dHJpYnV0ZSgiZm9ybWVuY3R5cGUiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtbWV0aG9kIikmJihuLm1ldGhvZD1kLmdldEF0dHJpYnV0ZSgibWV0aG9kIiksZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsZy5nZXRBdHRyaWJ1dGUoImZvcm1tZXRob2QiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtdmFsaWRhdGUiKSYmKG4udmFsaWRhdGU9ZC5nZXRBdHRyaWJ1dGUoInZhbGlkYXRlIiksZC5zZXRBdHRyaWJ1dGUoInZhbGlkYXRlIixnLmdldEF0dHJpYnV0ZSgiZm9ybXZhbGlkYXRlIikpKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybXRhcmdldCIpJiYobi50YXJnZXQ9ZC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpLGQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLGcuZ2V0QXR0cmlidXRlKCJmb3JtdGFyZ2V0IikpKSk7Yi5jYWxsKGQpO2wmJihkLnJlbW92ZUNoaWxkKGwpLG4uaGFzT3duUHJvcGVydHkoImFjdGlvbiIpJiYKeGMoZCxuLmFjdGlvbiksbi5oYXNPd25Qcm9wZXJ0eSgiZW5jdHlwZSIpJiZkLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsbi5lbmN0eXBlKSxuLmhhc093blByb3BlcnR5KCJtZXRob2QiKSYmZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsbi5tZXRob2QpLG4uaGFzT3duUHJvcGVydHkoInZhbGlkYXRlIikmJmQuc2V0QXR0cmlidXRlKCJ2YWxpZGF0ZSIsbi52YWxpZGF0ZSksbi5oYXNPd25Qcm9wZXJ0eSgidGFyZ2V0IikmJmQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLG4udGFyZ2V0KSl9fSxlLGYsZykpaD0hMTtlbHNlIHJldHVybiBlfHwoYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITEpLCExO3JldHVybiBjLnJldHVyblZhbHVlfSwhMSk7SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9ITA7QkooYyxmdW5jdGlvbigpe2QmJmIuY2FsbChjKX0sITEsREooYykpJiYoYi5jYWxsKGMpLGQ9CiExKX19OwpmdW5jdGlvbiBGSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgZD1hJiZhLmdldCgid2FpdEZvclRhZ3MiKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiLHt3YWl0Rm9yVGFnczohIWR9KX1dKTt2YXIgZT1hJiZhLmdldCgiY2hlY2tWYWxpZGF0aW9uIiksZj1aRihiKTtpZihkKXt2YXIgZz1OdW1iZXIoYS5nZXQoIndhaXRGb3JUYWdzVGltZW91dCIpKTtnPjAmJmlzRmluaXRlKGcpfHwoZz0yRTMpO3ZhciBoPWZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLm1heChnLG4pfTtkRygiZnNsIiwibXd0IixoLDApO2V8fGRHKCJmc2wiLCJudi5td3QiLGgsMCl9dmFyIGw9ZnVuY3Rpb24obil7bi5wdXNoKGYpOwpyZXR1cm4gbn07ZEcoImZzbCIsImlkcyIsbCxbXSk7ZXx8ZEcoImZzbCIsIm52LmlkcyIsbCxbXSk7JEYoImZzbCIsImluaXQiLCExKXx8KEVKKCksYUcoImZzbCIsImluaXQiLCEwKSk7cmV0dXJuIGZ9RkouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtU3VibWl0IjsKZnVuY3Rpb24gS0ooKXt2YXIgYT10aGlzO31LSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkdhU2VuZCI7CnZhciBNSj1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/e306YztkPWQ9PT12b2lkIDA/W106ZDt2YXIgZT0iIitiO2lmKGNbZV0pY1tlXS5wdXNoKGEpO2Vsc2V7dmFyIGY9W2FdO2NbZV09Zjt2YXIgZz1MSigiZ3RtLmhpc3RvcnlDaGFuZ2UtdjIiKSxoPS0xO2QucHVzaChmdW5jdGlvbihsKXtoPj0wJiZBLmNsZWFyVGltZW91dChoKTtiP2g9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyhsLGYpO2g9LTF9LGIpOmcobCxmKX0pfX0sTEo9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5ocmVmLGM9e3NvdXJjZTpudWxsLHN0YXRlOkEuaGlzdG9yeS5zdGF0ZXx8bnVsbCx1cmw6T2ooUmooYikpLGtiOkxqKFJqKGIpLCJmcmFnbWVudCIpfTtyZXR1cm4gZnVuY3Rpb24oZCxlKXt2YXIgZj1jLGc9e307Z1tmLnNvdXJjZV09ITA7Z1tkLnNvdXJjZV09ITA7aWYoIWcucG9wc3RhdGV8fCFnLmhhc2hjaGFuZ2V8fGYua2IhPT1kLmtiKXt2YXIgaD17ZXZlbnQ6YSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiOmQuc291cmNlLAoiZ3RtLm9sZFVybEZyYWdtZW50IjpjLmtiLCJndG0ubmV3VXJsRnJhZ21lbnQiOmQua2IsImd0bS5vbGRIaXN0b3J5U3RhdGUiOmMuc3RhdGUsImd0bS5uZXdIaXN0b3J5U3RhdGUiOmQuc3RhdGUsImd0bS5vbGRVcmwiOmMudXJsLCJndG0ubmV3VXJsIjpkLnVybH07ZSYmKGhbImd0bS50cmlnZ2VycyJdPWUuam9pbigiLCIpKTtjPWQ7dUUoaCl9fX0sTko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BLmhpc3RvcnksZD1jW2FdO2lmKHliKGQpKXRyeXtjW2FdPWZ1bmN0aW9uKGUsZixnKXtkLmFwcGx5KGMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpO3ZhciBoPUEubG9jYXRpb24uaHJlZjtiKHtzb3VyY2U6YSxzdGF0ZTplLHVybDpPaihSaihoKSksa2I6TGooUmooaCksImZyYWdtZW50Iil9KX19Y2F0Y2goZSl7fX0sUEo9ZnVuY3Rpb24oYSl7QS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJwb3BzdGF0ZSIsc3RhdGU6Yi5zdGF0ZSwKdXJsOk9qKFJqKGMpKSxrYjpMaihSaihjKSwiZnJhZ21lbnQiKX0pfSl9LFFKPWZ1bmN0aW9uKGEpe0EuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJoYXNoY2hhbmdlIixzdGF0ZTpudWxsLHVybDpPaihSaihjKSksa2I6TGooUmooYyksImZyYWdtZW50Iil9KX0pfSxPSj1mdW5jdGlvbihhKXt2YXIgYixjO3JldHVybigoYj1hLnRhcmdldCk9PW51bGw/dm9pZCAwOihjPWIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpjLmhyZWYpfHxBLmxvY2F0aW9uLmhyZWZ9OwpmdW5jdGlvbiBSSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiKX1dKTt2YXIgZD1hJiZhLmdldCgidXNlVjJFdmVudE5hbWUiKT8iZWhsIjoiaGwiLGU9TnVtYmVyKGEmJmEuZ2V0KCJpbnRlcnZhbCIpKTtlPjAmJmlzRmluaXRlKGUpfHwoZT0wKTt2YXIgZjtpZighJEYoZCwiaW5pdCIsITEpKXt2YXIgZz17fSxoPVtdLGw7ZD09PSJlaGwiPyhsPWZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8aC5sZW5ndGg7cSsrKWhbcV0ocCl9LGY9WkYoYiksTUooZixlLGcsaCksYUcoZCwicmVnIixmdW5jdGlvbihwLHEpe01KKHAscSxnLGgpfSkpOmw9TEooImd0bS5oaXN0b3J5Q2hhbmdlIik7ClFKKGwpO1BKKGwpO05KKCJwdXNoU3RhdGUiLGwpO05KKCJyZXBsYWNlU3RhdGUiLGwpO2FHKGQsImluaXQiLCEwKX1lbHNlIGlmKGQ9PT0iZWhsIil7dmFyIG49JEYoZCwicmVnIik7biYmKGY9WkYoYiksbihmLGUpKX1kPT09ImhsIiYmKGY9dm9pZCAwKTtyZXR1cm4gZn1SSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkhpc3RvcnlDaGFuZ2UiO3ZhciBTSj1bImh0dHA6Ly8iLCJodHRwczovLyIsImphdmFzY3JpcHQ6IiwiZmlsZTovLyJdOwp2YXIgVEo9ZnVuY3Rpb24oYSxiKXtpZihhLndoaWNoPT09Mnx8YS5jdHJsS2V5fHxhLnNoaWZ0S2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5KXJldHVybiExO3ZhciBjPW9kKGIsImhyZWYiKTtpZihjLmluZGV4T2YoIjoiKSE9PS0xJiYhU0ouc29tZShmdW5jdGlvbihoKXtyZXR1cm4gU2IoYyxoKX0pKXJldHVybiExO3ZhciBkPWMuaW5kZXhPZigiIyIpLGU9b2QoYiwidGFyZ2V0Iik7aWYoZSYmZSE9PSJfc2VsZiImJmUhPT0iX3BhcmVudCImJmUhPT0iX3RvcCJ8fGQ9PT0wKXJldHVybiExO2lmKGQ+MCl7dmFyIGY9T2ooUmooYykpLGc9T2ooUmooQS5sb2NhdGlvbi5ocmVmKSk7cmV0dXJuIGYhPT1nfXJldHVybiEwfSxVSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1MaihSaigoYi5hdHRyaWJ1dGVzJiZiLmF0dHJpYnV0ZXMuZm9ybWFjdGlvbj9iLmZvcm1BY3Rpb246IiIpfHxiLmFjdGlvbnx8b2QoYiwiaHJlZiIpfHxiLnNyY3x8Yi5jb2RlfHxiLmNvZGViYXNlfHwiIiksImhvc3QiKSwKZD0wO2Q8YS5sZW5ndGg7ZCsrKXRyeXtpZigobmV3IFJlZ0V4cChhW2RdKSkudGVzdChjKSlyZXR1cm4hMX1jYXRjaChlKXt9cmV0dXJuITB9LFZKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXt2YXIgZD1jLnRhcmdldDtpZihkJiZjLndoaWNoIT09MyYmIShjLkh8fGMudGltZVN0YW1wJiZjLnRpbWVTdGFtcD09PWIpKXtiPWMudGltZVN0YW1wO2Q9aGQoZCxbImEiLCJhcmVhIl0sMTAwKTtpZighZClyZXR1cm4gYy5yZXR1cm5WYWx1ZTt2YXIgZT1jLmRlZmF1bHRQcmV2ZW50ZWR8fGMucmV0dXJuVmFsdWU9PT0hMSxmPSRGKCJsY2wiLGU/Im52Lm13dCI6Im13dCIsMCksZztnPWU/JEYoImxjbCIsIm52LmlkcyIsW10pOiRGKCJsY2wiLCJpZHMiLFtdKTtmb3IodmFyIGg9W10sbD0wO2w8Zy5sZW5ndGg7bCsrKXt2YXIgbj1nW2xdLHA9JEYoImxjbCIsImFmZi5tYXAiLHt9KVtuXTtwJiYhVUoocCxkKXx8aC5wdXNoKG4pfWlmKGgubGVuZ3RoKXt2YXIgcT1USihjLGQpLHI9ZUcoZCwiZ3RtLmxpbmtDbGljayIsCmgpO3JbImd0bS5lbGVtZW50VGV4dCJdPWZkKGQpO3JbImd0bS53aWxsT3BlbkluTmV3V2luZG93Il09IXE7aWYocSYmIWUmJmYmJmQuaHJlZil7dmFyIHQ9ISFDYihTdHJpbmcob2QoZCwicmVsIil8fCIiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHkpe3JldHVybiB5LnRvTG93ZXJDYXNlKCk9PT0ibm9yZWZlcnJlciJ9KSx1PUFbKG9kKGQsInRhcmdldCIpfHwiX3NlbGYiKS5zdWJzdHJpbmcoMSldLHY9ITAseD10RShmdW5jdGlvbigpe3ZhciB5O2lmKHk9diYmdSl7dmFyIHo7YTppZih0KXt2YXIgQzt0cnl7Qz1uZXcgTW91c2VFdmVudChjLnR5cGUse2J1YmJsZXM6ITB9KX1jYXRjaChEKXtpZighQi5jcmVhdGVFdmVudCl7ej0hMTticmVhayBhfUM9Qi5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtDLmluaXRFdmVudChjLnR5cGUsITAsITApfUMuSD0hMDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KEMpO3o9ITB9ZWxzZSB6PSExO3k9IXp9eSYmKHUubG9jYXRpb24uaHJlZj1vZChkLAoiaHJlZiIpKX0sZik7aWYoaUUocix4LGYpKXY9ITE7ZWxzZSByZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITF9ZWxzZSBzRShyLGZ1bmN0aW9uKCl7fSxmfHwyRTMpO3JldHVybiEwfX19dmFyIGI9MDskYyhCLCJjbGljayIsYSwhMSk7JGMoQiwiYXV4Y2xpY2siLGEsITEpfTsKZnVuY3Rpb24gV0ooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7dmFyIGQ9VGQoYSk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiLGQpfV0pO3ZhciBlPWQmJiEhZC53YWl0Rm9yVGFncyxmPWQmJiEhZC5jaGVja1ZhbGlkYXRpb24sZz1kP2QuYWZmaWxpYXRlRG9tYWluczp2b2lkIDAsaD1aRihiKTtpZihlKXt2YXIgbD1OdW1iZXIoZC53YWl0Rm9yVGFnc1RpbWVvdXQpO2w+MCYmaXNGaW5pdGUobCl8fChsPTJFMyk7dmFyIG49ZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgubWF4KGwscSl9O2RHKCJsY2wiLCJtd3QiLG4sMCk7Znx8ZEcoImxjbCIsIm52Lm13dCIsbiwwKX12YXIgcD1mdW5jdGlvbihxKXtxLnB1c2goaCk7CnJldHVybiBxfTtkRygibGNsIiwiaWRzIixwLFtdKTtmfHxkRygibGNsIiwibnYuaWRzIixwLFtdKTtnJiZkRygibGNsIiwiYWZmLm1hcCIsZnVuY3Rpb24ocSl7cVtoXT1nO3JldHVybiBxfSx7fSk7JEYoImxjbCIsImluaXQiLCExKXx8KFZKKCksYUcoImxjbCIsImluaXQiLCEwKSk7cmV0dXJuIGh9V0ouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25MaW5rQ2xpY2siOwp2YXIgWEo9ZnVuY3Rpb24oYSl7cmV0dXJuICRGKCJzZGwiLGEse30pfSxZSj1mdW5jdGlvbihhLGIsYyl7aWYoYil7dmFyIGQ9QXJyYXkuaXNBcnJheShhKT9hOlthXTtkRygic2RsIixjLGZ1bmN0aW9uKGUpe2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1TdHJpbmcoZFtmXSk7ZS5oYXNPd25Qcm9wZXJ0eShnKXx8KGVbZ109W10pO2VbZ10ucHVzaChiKX1yZXR1cm4gZX0se30pfX0sYUs9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7WkooYSxiKTskSihjLCEwKX1yZXR1cm4gY30sYks9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7aD9nPUEuc2V0VGltZW91dChjLGUpOihnPTAsWkooYSxiKSwkSihkKSk7aD0hMX1mdW5jdGlvbiBkKCl7ZiYmYigpO2c/aD0hMDooZz1BLnNldFRpbWVvdXQoYyxlKSxhRygic2RsIiwicGVuZGluZyIsITApKX12YXIgZT0yNTAsZj0hMTtCLnNjcm9sbGluZ0VsZW1lbnQmJkIuZG9jdW1lbnRFbGVtZW50JiYoZT01MCxmPSEwKTt2YXIgZz0KMCxoPSExO3JldHVybiBkfSwkSj1mdW5jdGlvbihhLGIpeyRGKCJzZGwiLCJpbml0IiwhMSkmJiFjSygpJiYoYj9hZChBLCJzY3JvbGxlbmQiLGEpOmFkKEEsInNjcm9sbCIsYSksYWQoQSwicmVzaXplIixhKSxhRygic2RsIiwiaW5pdCIsITEpKX0sWko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKCksZD1jLmRlcHRoWCxlPWMuZGVwdGhZLGY9ZC9hLnNjcm9sbFdpZHRoKjEwMCxnPWUvYS5zY3JvbGxIZWlnaHQqMTAwO2RLKGQsImhvcml6LnBpeCIsIlBJWEVMUyIsImhvcml6b250YWwiKTtkSyhmLCJob3Jpei5wY3QiLCJQRVJDRU5UIiwiaG9yaXpvbnRhbCIpO2RLKGUsInZlcnQucGl4IiwiUElYRUxTIiwidmVydGljYWwiKTtkSyhnLCJ2ZXJ0LnBjdCIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbCIpO2FHKCJzZGwiLCJwZW5kaW5nIiwhMSl9LGRLPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVhKKGIpLGY9e30sZztmb3IoZyBpbiBlKWlmKGY9e3FmOmYucWZ9LGYucWY9ZyxlLmhhc093blByb3BlcnR5KGYucWYpKXt2YXIgaD0KTnVtYmVyKGYucWYpO2lmKCEoYTxoKSl7dmFyIGw9e307dUUoKGwuZXZlbnQ9Imd0bS5zY3JvbGxEZXB0aCIsbFsiZ3RtLnNjcm9sbFRocmVzaG9sZCJdPWgsbFsiZ3RtLnNjcm9sbFVuaXRzIl09Yy50b0xvd2VyQ2FzZSgpLGxbImd0bS5zY3JvbGxEaXJlY3Rpb24iXT1kLGxbImd0bS50cmlnZ2VycyJdPWVbZi5xZl0uam9pbigiLCIpLGwpKTtkRygic2RsIixiLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihwKXtkZWxldGUgcFtuLnFmXTtyZXR1cm4gcH19KGYpLHt9KX19fSxmSz1mdW5jdGlvbigpe3ZhciBhPWRHKCJzZGwiLCJzY3IiLGZ1bmN0aW9uKGMpe2N8fChjPUIuc2Nyb2xsaW5nRWxlbWVudHx8Qi5ib2R5JiZCLmJvZHkucGFyZW50Tm9kZSk7cmV0dXJuIGN9LG51bGwpLGI9ZEcoInNkbCIsImRlcHRoIixmdW5jdGlvbihjKXtjfHwoYz1lSyhhKSk7cmV0dXJuIGN9KTtyZXR1cm57c2Nyb2xsaW5nRWxlbWVudDphLHZyOmJ9fSxlSz1mdW5jdGlvbihhKXt2YXIgYj0wLGM9CjA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9c0koKSxlPWQuaGVpZ2h0O2I9TWF0aC5tYXgoYS5zY3JvbGxMZWZ0K2Qud2lkdGgsYik7Yz1NYXRoLm1heChhLnNjcm9sbFRvcCtlLGMpO3JldHVybntkZXB0aFg6YixkZXB0aFk6Y319fSxjSz1mdW5jdGlvbigpe3JldHVybiEhKE9iamVjdC5rZXlzKFhKKCJob3Jpei5waXgiKSkubGVuZ3RofHxPYmplY3Qua2V5cyhYSigiaG9yaXoucGN0IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGl4IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGN0IikpLmxlbmd0aCl9OwpmdW5jdGlvbiBnSyhhLGIpe3ZhciBjPXRoaXM7aWYoIWVoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3QiLCJhbnkiXSxhcmd1bWVudHMpO1RGKFtmdW5jdGlvbigpe0woYywiZGV0ZWN0X3Njcm9sbF9ldmVudHMiKX1dKTt2YXIgZD1mSygpLGU9ZC5zY3JvbGxpbmdFbGVtZW50LGY9ZC52cjtpZighZSlyZXR1cm47dmFyIGc9WkYoYiksaD1UZChhKTtzd2l0Y2goaC5ob3Jpem9udGFsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC5ob3Jpem9udGFsVGhyZXNob2xkcyxnLCJob3Jpei5waXgiKTticmVhaztjYXNlICJQRVJDRU5UIjpZSihoLmhvcml6b250YWxUaHJlc2hvbGRzLGcsImhvcml6LnBjdCIpfXN3aXRjaChoLnZlcnRpY2FsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsCmcsInZlcnQucGl4Iik7YnJlYWs7Y2FzZSAiUEVSQ0VOVCI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsZywidmVydC5wY3QiKX0kRigic2RsIiwiaW5pdCIsITEpPyRGKCJzZGwiLCJwZW5kaW5nIiwhMSl8fGJkKGZ1bmN0aW9uKCl7WkooZSxmKX0pOihhRygic2RsIiwiaW5pdCIsITApLGFHKCJzZGwiLCJwZW5kaW5nIiwhMCksYmQoZnVuY3Rpb24oKXtaSihlLGYpO2lmKGNLKCkpe3ZhciBsPWJLKGUsZik7Im9uc2Nyb2xsZW5kImluIEE/KGw9YUsoZSxmKSwkYyhBLCJzY3JvbGxlbmQiLGwpKTokYyhBLCJzY3JvbGwiLGwpOyRjKEEsInJlc2l6ZSIsbCl9ZWxzZSBhRygic2RsIiwiaW5pdCIsITEpfSkpO3JldHVybiBnfWdLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uU2Nyb2xsIjtmdW5jdGlvbiBoSyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihhLmxpbWl0JiZhLmdrPj1hLmxpbWl0KWEuYWkmJkEuY2xlYXJJbnRlcnZhbChhLmFpKTtlbHNle2EuZ2srKzt2YXIgYj1OYigpO3VFKHtldmVudDphLmV2ZW50TmFtZSwiZ3RtLnRpbWVySWQiOmEuYWksImd0bS50aW1lckV2ZW50TnVtYmVyIjphLmdrLCJndG0udGltZXJJbnRlcnZhbCI6YS5pbnRlcnZhbCwiZ3RtLnRpbWVyTGltaXQiOmEubGltaXQsImd0bS50aW1lclN0YXJ0VGltZSI6YS5NbywiZ3RtLnRpbWVyQ3VycmVudFRpbWUiOmIsImd0bS50aW1lckVsYXBzZWRUaW1lIjpiLWEuTW8sImd0bS50cmlnZ2VycyI6YS5MdH0pfX19CmZ1bmN0aW9uIGlLKGEsYil7CnJldHVybiBmfWlLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uVGltZXIiOwp2YXIgaks9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZz1hKCk7Zis9ZT8oTmIoKS1lKSpnLnBsYXliYWNrUmF0ZS8xRTM6MDtlPU5iKCl9dmFyIGU9MCxmPTA7cmV0dXJue2NyZWF0ZUV2ZW50OmZ1bmN0aW9uKGcsaCxsKXt2YXIgbj1hKCkscD1uLlduLHE9bD9NYXRoLnJvdW5kKGwpOmg/TWF0aC5yb3VuZChuLlduKmgpOk1hdGgucm91bmQobi5Hcikscj1oIT09dm9pZCAwP01hdGgucm91bmQoaCoxMDApOnA8PTA/MDpNYXRoLnJvdW5kKHEvcCoxMDApLHQ9Qi5oaWRkZW4/ITE6dEkoYyk+PS41O2QoKTt2YXIgdT12b2lkIDA7YiE9PXZvaWQgMCYmKHU9W2JdKTt2YXIgdj1lRyhjLCJndG0udmlkZW8iLHUpO3ZbImd0bS52aWRlb1Byb3ZpZGVyIl09InlvdXR1YmUiO3ZbImd0bS52aWRlb1N0YXR1cyJdPWc7dlsiZ3RtLnZpZGVvVXJsIl09bi51cmw7dlsiZ3RtLnZpZGVvVGl0bGUiXT1uLnRpdGxlO3ZbImd0bS52aWRlb0R1cmF0aW9uIl09TWF0aC5yb3VuZChwKTt2WyJndG0udmlkZW9DdXJyZW50VGltZSJdPQpNYXRoLnJvdW5kKHEpO3ZbImd0bS52aWRlb0VsYXBzZWRUaW1lIl09TWF0aC5yb3VuZChmKTt2WyJndG0udmlkZW9QZXJjZW50Il09cjt2WyJndG0udmlkZW9WaXNpYmxlIl09dDtyZXR1cm4gdn0sbXQ6ZnVuY3Rpb24oKXtlPU5iKCl9LEJqOmZ1bmN0aW9uKCl7ZCgpfX19O3ZhciBBYz1BYShbImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iXSksa0s9WyJ3d3cueW91dHViZS5jb20iLCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iXSxsSzsKdmFyIG1LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm1hcChmdW5jdGlvbihnKXtyZXR1cm57dGU6ZyxKbzpnLHdvOnZvaWQgMH19KTtpZighYi5sZW5ndGgpcmV0dXJuIGQ7dmFyIGU9Yi5tYXAoZnVuY3Rpb24oZyl7cmV0dXJue3RlOmcqYyxKbzp2b2lkIDAsd286Z319KTtpZighZC5sZW5ndGgpcmV0dXJuIGU7dmFyIGY9ZC5jb25jYXQoZSk7Zi5zb3J0KGZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcudGUtaC50ZX0pO3JldHVybiBmfSxuSz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/W106YTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWFbY108MHx8Yi5wdXNoKGFbY10pO2Iuc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBkLWV9KTtyZXR1cm4gYn0sb0s9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP1tdOmE7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPjEwMHx8YVtjXTwwfHwoYltjXT1hW2NdLzEwMCk7Yi5zb3J0KGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGQtCmV9KTtyZXR1cm4gYn0scEs9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2Z1bmN0aW9uIGUoKXt0PWpLKGZ1bmN0aW9uKCl7cmV0dXJue3VybDp4LHRpdGxlOnksV246dixHcjphLmdldEN1cnJlbnRUaW1lKCkscGxheWJhY2tSYXRlOnp9fSxiLnJmLGEuZ2V0SWZyYW1lKCkpO3Y9MDt5PXg9IiI7ej0xO3JldHVybiBmfWZ1bmN0aW9uIGYoRyl7c3dpdGNoKEcpe2Nhc2UgMTp2PU1hdGgucm91bmQoYS5nZXREdXJhdGlvbigpKTt4PWEuZ2V0VmlkZW9VcmwoKTtpZihhLmdldFZpZGVvRGF0YSl7dmFyIE49YS5nZXRWaWRlb0RhdGEoKTt5PU4/Ti50aXRsZToiIn16PWEuZ2V0UGxheWJhY2tSYXRlKCk7Yi55cj91RSh0LmNyZWF0ZUV2ZW50KCJzdGFydCIpKTp0LkJqKCk7dT1tSyhiLmV0LGIuY3QsYS5nZXREdXJhdGlvbigpKTtyZXR1cm4gZyhHKTtkZWZhdWx0OnJldHVybiBmfX1mdW5jdGlvbiBnKCl7Qz1hLmdldEN1cnJlbnRUaW1lKCk7RD1NYigpLmdldFRpbWUoKTt0Lm10KCk7cigpO3JldHVybiBofQpmdW5jdGlvbiBoKEcpe3ZhciBOO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIG4oRyk7Y2FzZSAyOk49InBhdXNlIjtjYXNlIDM6dmFyIFM9YS5nZXRDdXJyZW50VGltZSgpLUM7Tj1NYXRoLmFicygoTWIoKS5nZXRUaW1lKCktRCkvMUUzKnotUyk+MT8ic2VlayI6Tnx8ImJ1ZmZlcmluZyI7YS5nZXRDdXJyZW50VGltZSgpJiYoYi54cj91RSh0LmNyZWF0ZUV2ZW50KE4pKTp0LkJqKCkpO3EoKTtyZXR1cm4gbDtjYXNlIC0xOnJldHVybiBlKEcpO2RlZmF1bHQ6cmV0dXJuIGh9fWZ1bmN0aW9uIGwoRyl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gbihHKTtjYXNlIDE6cmV0dXJuIGcoRyk7Y2FzZSAtMTpyZXR1cm4gZShHKTtkZWZhdWx0OnJldHVybiBsfX1mdW5jdGlvbiBuKCl7Zm9yKDtkOyl7dmFyIEc9YztBLmNsZWFyVGltZW91dChkKTtHKCl9Yi53ciYmdUUodC5jcmVhdGVFdmVudCgiY29tcGxldGUiLDEpKTtyZXR1cm4gZSgtMSl9ZnVuY3Rpb24gcCgpe31mdW5jdGlvbiBxKCl7ZCYmCihBLmNsZWFyVGltZW91dChkKSxkPTAsYz1wKX1mdW5jdGlvbiByKCl7aWYodS5sZW5ndGgmJnohPT0wKXt2YXIgRz0tMSxOO2Rve049dVswXTtpZihOLnRlPmEuZ2V0RHVyYXRpb24oKSlyZXR1cm47Rz0oTi50ZS1hLmdldEN1cnJlbnRUaW1lKCkpL3o7aWYoRzwwJiYodS5zaGlmdCgpLHUubGVuZ3RoPT09MCkpcmV0dXJufXdoaWxlKEc8MCk7Yz1mdW5jdGlvbigpe2Q9MDtjPXA7dS5sZW5ndGg+MCYmdVswXS50ZT09PU4udGUmJih1LnNoaWZ0KCksdUUodC5jcmVhdGVFdmVudCgicHJvZ3Jlc3MiLE4ud28sTi5KbykpKTtyKCl9O2Q9QS5zZXRUaW1lb3V0KGMsRyoxRTMpfX12YXIgdCx1PVtdLHYseCx5LHosQyxELEk9ZSgtMSk7ZD0wO2M9cDtyZXR1cm57b25TdGF0ZUNoYW5nZTpmdW5jdGlvbihHKXtJPUkoRyl9LG9uUGxheWJhY2tSYXRlQ2hhbmdlOmZ1bmN0aW9uKEcpe0M9YS5nZXRDdXJyZW50VGltZSgpO0Q9TWIoKS5nZXRUaW1lKCk7dC5CaigpO3o9RztxKCk7cigpfX19LHJLPQpmdW5jdGlvbihhKXtiZChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGQ9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIiksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylxSyhkW2ZdLGEpfXZhciBjPUI7YigpO29KLksoYil9KX0scUs9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iK2IucmYpJiYoQ2MoYSwiZGF0YS1ndG0teXQtaW5zcGVjdGVkLSIrYi5yZiksc0soYSxiLmNvKSkpe2EuaWR8fChhLmlkPXRLKCkpO3ZhciBjPUEuWVQsZD1jLmdldChhLmlkKTtkfHwoZD1uZXcgYy5QbGF5ZXIoYS5pZCkpO3ZhciBlPXBLKGQsYiksZj17fSxnO2ZvcihnIGluIGUpZj17TWc6Zi5NZ30sZi5NZz1nLGUuaGFzT3duUHJvcGVydHkoZi5NZykmJmQuYWRkRXZlbnRMaXN0ZW5lcihmLk1nLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gZVtoLk1nXShsLmRhdGEpfX0oZikpfX0sc0s9ZnVuY3Rpb24oYSwKYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKHVLKGMsImVtYmVkLyIpKXtpZihjLmluZGV4T2YoImVuYWJsZWpzYXBpPTEiKT4wKXJldHVybiEwO2lmKGIpe3ZhciBkO3ZhciBlPWMuaW5kZXhPZigiPyIpIT09LTE/IiYiOiI/IjtjLmluZGV4T2YoIm9yaWdpbj0iKT4tMT9kPWMrZSsiZW5hYmxlanNhcGk9MSI6KGxLfHwobEs9Qi5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK0IubG9jYXRpb24uaG9zdG5hbWUsQi5sb2NhdGlvbi5wb3J0JiYobEsrPSI6IitCLmxvY2F0aW9uLnBvcnQpKSxkPWMrZSsiZW5hYmxlanNhcGk9MSZvcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQobEspKTt2YXIgZjtmPWpjKGQpO2Euc3JjPWtjKGYpLnRvU3RyaW5nKCk7cmV0dXJuITB9fXJldHVybiExfSx1Sz1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2Zvcih2YXIgYz0wO2M8a0subGVuZ3RoO2MrKylpZihhLmluZGV4T2YoIi8vIitrS1tjXSsiLyIrYik+PTApcmV0dXJuITA7cmV0dXJuITF9LAp0Sz1mdW5jdGlvbigpe3ZhciBhPSIiK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTkpO3JldHVybiBCLmdldEVsZW1lbnRCeUlkKGEpP3RLKCk6YX07CmZ1bmN0aW9uIHZLKGEsYil7dmFyIGM9dGhpczt2YXIgZD1mdW5jdGlvbigpe3JLKHEpfTtpZighZWgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiLHtmaXhNaXNzaW5nQXBpOiEhYS5nZXQoImZpeE1pc3NpbmdBcGkiKX0pfV0pO3ZhciBlPVpGKGIpLGY9ISFhLmdldCgiY2FwdHVyZVN0YXJ0IiksZz0hIWEuZ2V0KCJjYXB0dXJlQ29tcGxldGUiKSxoPSEhYS5nZXQoImNhcHR1cmVQYXVzZSIpLGw9b0soVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1BlcmNlbnQiKSkpLG49bksoVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1RpbWVJblNlY29uZHMiKSkpLHA9ISFhLmdldCgiZml4TWlzc2luZ0FwaSIpOwppZighKGZ8fGd8fGh8fGwubGVuZ3RofHxuLmxlbmd0aCkpcmV0dXJuO3ZhciBxPXt5cjpmLHdyOmcseHI6aCxjdDpsLGV0Om4sY286cCxyZjplfSxyPUEuWVQ7aWYocilyZXR1cm4gci5yZWFkeSYmci5yZWFkeShkKSxlO3ZhciB0PUEsdT10Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O3Qub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9ZnVuY3Rpb24oKXt1JiZ1KCk7ZCgpfTtiZChmdW5jdGlvbigpe2Zvcih2YXIgdj1CLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSx4PXYubGVuZ3RoLHk9MDt5PHg7eSsrKXt2YXIgej12W3ldLmdldEF0dHJpYnV0ZSgic3JjIik7aWYodUsoeiwiaWZyYW1lX2FwaSIpfHx1Syh6LCJwbGF5ZXJfYXBpIikpcmV0dXJuIGV9Zm9yKHZhciBDPUIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpLEQ9Qy5sZW5ndGgsST1hbCg1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxHPTA7RzxEO0crKylpZighSSYmc0soQ1tHXSxxLmNvKSlyZXR1cm4gVWMoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkiKSwKWmsoNSwhMCksZX0pO3JldHVybiBlfXZLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uWW91VHViZUFjdGl2aXR5IjtmdW5jdGlvbiB3SyhhLGIpe2lmKCFsaChhKXx8IWZoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3R8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTt2YXIgYz1iP1RkKGIpOnt9O2MucmVnZXhDYWNoZT1hbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KTtyZXR1cm4gR2goYSxjKX13Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIjtmdW5jdGlvbiB4SyhhKXt2YXIgYj0hMTtyZXR1cm4gYn14Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZU1hdGNoaW5nUnVsZXMiO3ZhciB5Sz1uZXcgTWFwKFtbImF3Iiw0XV0pO2Z1bmN0aW9uIHpLKGEpe3ZhciBiPXZyW2FdLGM9eUsuZ2V0KGEpO3JldHVybiBjPyh3cShiLGMpfHxbXSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5tPT09IjAifHxkLm09PT12b2lkIDB9KTohMX0KZnVuY3Rpb24gQUsoYSxiKXtpZihNKDQ5NSkpe2Zvcih2YXIgYz1uZXcgTWFwLGQ9bSh5SyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPW0oZS52YWx1ZSksZz1mLm5leHQoKS52YWx1ZSxoPWYubmV4dCgpLnZhbHVlLGw9ZyxuPWFbbF0scD1BcnJheS5pc0FycmF5KG4pP25bMF06bjtpZihwIT09dm9pZCAwKXt2YXIgcT17fSxyPShxLms9cCxxLmk9U3RyaW5nKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpKSxxLmI9W10scS5tPSIxIixxKSx0PWFxKHIsaCk7dCYmKHpLKGwpfHxjLnNldChsLHQpKX19aWYoYy5zaXplKXt2YXIgdSx2PVtdLHg9Yi5wYXRofHwiLyI7di5wdXNoKGVuY29kZVVSSUNvbXBvbmVudCgicCIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoeCkpO2IuQXImJnYucHVzaChlbmNvZGVVUklDb21wb25lbnQoImNlIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYi5BcikpKTt2YXIgeT1iLmRvbWFpbiYmYi5kb21haW4hPT0iYXV0byI/CmIuZG9tYWluOiJhdXRvOiIrQS5sb2NhdGlvbi5ob3N0bmFtZTt2LnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCJkIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh5KSk7Zm9yKHZhciB6PW0oYyksQz16Lm5leHQoKTshQy5kb25lO0M9ei5uZXh0KCkpe3ZhciBEPW0oQy52YWx1ZSksST1ELm5leHQoKS52YWx1ZSxHPUQubmV4dCgpLnZhbHVlO3YucHVzaChlbmNvZGVVUklDb21wb25lbnQoSSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChHKSl9dT0iXy9zZXRfY29va2llPyIrdi5qb2luKCImIik7dmFyIE4sUz1FKDU4KTtOPUVmKHUsUyk7dmFyIFc9WGooKSsiLyIrTjttZChXKX19fTtmdW5jdGlvbiBCSyhhKXtyZXR1cm4iQ1dWV2ViVmlld01lc3NhZ2UiaW4gYX1mdW5jdGlvbiBDSyhhKXt2YXIgYj1BLGM9Yi53ZWJraXQ7ZGVsZXRlIGIud2Via2l0O2EoYi53ZWJraXQpO2Iud2Via2l0PWN9ZnVuY3Rpb24gREsoYSxiKXt2YXIgYz17YWN0aW9uOiJnY2xfc2V0dXAifTtpZihCSyhhLm1lc3NhZ2VIYW5kbGVycykpcmV0dXJuIGEubWVzc2FnZUhhbmRsZXJzLkNXVldlYlZpZXdNZXNzYWdlLnBvc3RNZXNzYWdlKHtjb21tYW5kOmIscGF5bG9hZDpjfSksITA7dmFyIGQ9YS5tZXNzYWdlSGFuZGxlcnNbYl07cmV0dXJuIGQ/KGQucG9zdE1lc3NhZ2UoYyksITApOiExfTt2YXIgRUs9e30sRks9KEVLLmF3Yj17bm90Rm91bmQ6MTc4fSxFSy55dGI9e25vdEZvdW5kOjE5NH0sRUspO2Z1bmN0aW9uIEdLKGEpe3ZhciBiLGM9KGI9RktbYV0pPT1udWxsP3ZvaWQgMDpiLm5vdEZvdW5kO2MmJlAoYyl9CmZ1bmN0aW9uIEhLKGEpe2lmKCFubShqbS5iYS5qbikmJiJ3ZWJraXQiaW4gQSYmQS53ZWJraXQubWVzc2FnZUhhbmRsZXJzKXt2YXIgYj1mdW5jdGlvbigpe3RyeXtDSyhmdW5jdGlvbihjKXtpZihjKXt2YXIgZDtkPUJLKGMubWVzc2FnZUhhbmRsZXJzKXx8ImF3YiJpbiBjLm1lc3NhZ2VIYW5kbGVycz97Y29tbWFuZDoiYXdiIixzb3VyY2U6NX06KEJLKGMubWVzc2FnZUhhbmRsZXJzKXx8Inl0YiJpbiBjLm1lc3NhZ2VIYW5kbGVycykmJk0oNDk5KT97Y29tbWFuZDoieXRiIixzb3VyY2U6OH06dm9pZCAwO2QmJihtbShqbS5iYS5qbixmdW5jdGlvbihlKXt2YXIgZj1kLnNvdXJjZTtlLmdjbGlkJiZscygiZ2NsX2F3IixlLmdjbGlkLGYsYSk7ZS53YnJhaWQmJmxzKCJnY2xfZ2IiLGUud2JyYWlkLGYsYSl9KSxESyhjLGQuY29tbWFuZCl8fEdLKGQuY29tbWFuZCkpfX0pfWNhdGNoKGMpe1AoMTkzKX19O0hsKGZ1bmN0aW9uKCl7QnIoZnApP2IoKTpJbChiLGZwKX0sZnApfX07dmFyIElLPVsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly9tLnlvdXR1YmUuY29tIl07ZnVuY3Rpb24gSksoYSl7cmV0dXJuIGEuZGF0YS5hY3Rpb24hPT0iZ2NsX3RyYW5zZmVyIj8oUCgxNzMpLCEwKTphLmRhdGEuZ2FkU291cmNlP2EuZGF0YS5nY2xpZD8hMTooUCgxODEpLCEwKTooUCgxODApLCEwKX0KZnVuY3Rpb24gS0soYSxiKXtpZighYXx8TShhKSl7aWYobm0oam0uYmEuVmUpKXJldHVybiBQKDE3Niksam0uYmEuVmU7aWYobm0oam0uYmEubW4pKXJldHVybiBQKDE3MCksam0uYmEuVmU7dmFyIGM9RnAoKTtpZighYylQKDE3MSk7ZWxzZSBpZihjLm9wZW5lcil7dmFyIGQ9ZnVuY3Rpb24oZyl7aWYoIUlLLmluY2x1ZGVzKGcub3JpZ2luKSlQKDE3Mik7ZWxzZSBpZighSksoZykpe3ZhciBoPXtnYWRTb3VyY2U6Zy5kYXRhLmdhZFNvdXJjZX07aC5nY2xpZD1nLmRhdGEuZ2NsaWQ7bW0oam0uYmEuVmUsaCk7YiYmZy5kYXRhLmdjbGlkJiZscygiZ2NsX2F3IixTdHJpbmcoZy5kYXRhLmdjbGlkKSw2LGIpO3ZhciBsOyhsPWcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKT09bnVsbHx8bC5jYWxsKGcpO250KGMsIm1lc3NhZ2UiLGQpfX07aWYobXQoYywibWVzc2FnZSIsZCkpe21tKGptLmJhLm1uLCEwKTtmb3IodmFyIGU9bShJSyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpYy5vcGVuZXIucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZ2NsX3NldHVwIn0sCmYudmFsdWUpO1AoMTc0KTtyZXR1cm4gam0uYmEuVmV9UCgxNzUpfX19Owp2YXIgTEs9ZnVuY3Rpb24oYSl7dmFyIGI9e3ByZWZpeDpPKGEuTSxGLkQuRmQpfHxPKGEuTSxGLkQubmIpLGRvbWFpbjpPKGEuTSxGLkQuTGIpLHBkOk8oYS5NLEYuRC5DYiksZmxhZ3M6TyhhLk0sRi5ELlRiKX07YS5NLmlzR3RtRXZlbnQmJihiLnBhdGg9TyhhLk0sRi5ELnZjKSk7cmV0dXJuIGJ9LE1LPWZ1bmN0aW9uKGEsYil7aWYoIVEoYSxILkouV2UpKXt2YXIgYz1LSygxMTkpO2lmKGMpe3ZhciBkPW5tKGMpLGU9ZnVuY3Rpb24oZyl7VihhLEguSi5XZSwhMCk7dmFyIGg9UihhLEYuRC56ZiksbD1SKGEsRi5ELkFmKTtVKGEsRi5ELnpmLFN0cmluZyhnLmdhZFNvdXJjZSkpO1UoYSxGLkQuQWYsNik7VihhLEguSi5zYSk7VihhLEguSi51Zyk7VShhLEYuRC5zYSk7YigpO1UoYSxGLkQuemYsaCk7VShhLEYuRC5BZixsKTtWKGEsSC5KLldlLCExKX07aWYoZCllKGQpO2Vsc2V7dmFyIGY9dm9pZCAwO2Y9cG0oYyxmdW5jdGlvbihnLGgpe2UoaCk7cW0oYyxmKX0pfX19fSxQSz1mdW5jdGlvbihhKXt2YXIgYiwKYyxkLGU7Yj1hLlRuO2M9YS5tbztkPWEuUW87ZT1hLlVuO2lmKGIpe2lmKGRyKGNbRi5ELlhmXSwhIWNbRi5ELkFhXSkpe2lmKFdqKCkmJkJyKEFyKCkpKXtmb3IodmFyIGY9VXEoITApLGc9e30saD1tKE9iamVjdC5rZXlzKHZyKSksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpe3ZhciBuPWwudmFsdWUscD12cltuXSxxPWZbcF07aWYocSl7dmFyIHI9JHAocSw0KTtyJiYob3MoTWF0aC5taW4oTnIociksTmIoKSl8fE5iKCkscCw0KXx8KGdbbl09cSkpfX1mb3IodmFyIHQ9e30sdT1tKE9iamVjdC5rZXlzKGcpKSx2PXUubmV4dCgpOyF2LmRvbmU7dj11Lm5leHQoKSl7dmFyIHg9di52YWx1ZSx5PWdbeF07aWYoeSE9PXZvaWQgMCl7dmFyIHo9JHAoeSw0KTt6JiZ6Lm09PT0iMSImJih0W3hdPXouayl9fUFLKHQsZSl9cHMoZSk7dHMoZSk7UXYoZSl9aWYoT3AoKSE9PTIpe2dzKGUpO2lzKGUpO2lmKFlmKDE1KSl7dmFyIEM9ZSxEPWRzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7CkQubGVuZ3RofHwoRD1kcyhBLmRvY3VtZW50LnJlZmVycmVyLCExLCEwKSk7aWYoRC5sZW5ndGgpe0M9Q3x8e307dmFyIEk9RFswXTtJLnZhbHVlJiZtcygiZ2NsX2RjIixbe3ZlcnNpb246IiIsZ2NsaWQ6SS52YWx1ZSx0aW1lc3RhbXA6TmIoKSxxYTpJLnFhfV0sQyl9fUhLKGUpO0tLKHZvaWQgMCxlKX1lbHNlIGdzKGUpO2lmKFdqKCkmJkJyKEFyKCkpKXt2YXIgRz1mcygpO0FLKEcsZSl9eHMocXMsZSk7eXMoZSl9Y1tGLkQuQWFdJiYodnMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSksdXMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksd3MoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksUnYoR3YoZS5wcmVmaXgpLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSksUnYoIkZQQVUiLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSkpO2QmJkFzKE5LKTtDcyhPSyl9LHFzPVsiYXciLCJkYyIsCiJnYiJdLE9LPVsiYXciLCJkYyIsImdiIiwiYWciXSxOSz1bImF3IiwiZGMiLCJnYiIsImFnIiwiZ2FkX3NvdXJjZSJdO2Z1bmN0aW9uIFZLKCl7cmV0dXJuIE10KDcpJiZNdCg5KSYmTXQoMTApfTt2YXIgV0s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5vaiwoZFtiXT1jLGQpKX0sWEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kSShhLEYuRC5GaSxhLk0uaWJbRi5ELkZpXSk7aWYoYyYmY1tifHxhLmV2ZW50TmFtZV0hPT12b2lkIDApcmV0dXJuIGNbYnx8YS5ldmVudE5hbWVdfSxZSz1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLllhKTtpZihDZChiKSlyZXR1cm4gYn0sWks9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5iZSl8fCFlayhhLk0pKXJldHVybiAxO2lmKCFPKGEuTSxGLkQuZGQpKXt2YXIgYj1PKGEuTSxGLkQuUWYpO2lmKGIhPT0hMCYmYiE9PSJ0cnVlIilyZXR1cm4gMX12YXIgYz1PKGEuTSxGLkQuT2kpO3JldHVybiBjPT09ITF8fGM9PT0iZmFsc2UiPzM6Mn07CnZhciBhTD1mdW5jdGlvbihhLGIpe2EmJigkSygic2lkIixhLnRhcmdldElkLGIpLCRLKCJjYyIsYS5jbGllbnRDb3VudCxiKSwkSygidGwiLGEudG90YWxMaWZlTXMsYiksJEsoImhjIixhLmhlYXJ0YmVhdENvdW50LGIpLCRLKCJjbCIsYS5jbGllbnRMaWZlTXMsYikpfSwkSz1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmYy5wdXNoKGErIj0iK2IpfSxiTD1mdW5jdGlvbigpe3ZhciBhPUIucmVmZXJyZXI7aWYoYSl7dmFyIGI7cmV0dXJuIExqKFJqKGEpLCJob3N0Iik9PT0oKGI9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmIuaG9zdCk/MToyfXJldHVybiAwfSxkTD1mdW5jdGlvbigpe3RoaXMuamE9Y0w7dGhpcy5OPTA7dGhpcy55YT1OZig1Nyw1KTt0aGlzLlI9TmYoNTgsNTApO3RoaXMuZmE9RGIoKTt0aGlzLkxhPSJodHRwczovLyIrRSgyMSkrIi9hPyJ9O2RMLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjLGQpewp2YXIgZT1iTCgpLGYsZz1bXTtmPUE9PT1BLnRvcCYmZSE9PTAmJmI/KGI9PW51bGw/dm9pZCAwOmIuY2xpZW50Q291bnQpPjE/ZT09PTI/MToyOmU9PT0yPzA6Mzo0O2EmJiRLKCJzaSIsYS5KZyxnKTskSygibSIsMCxnKTskSygiaXNzIixmLGcpOyRLKCJpZiIsYyxnKTthTChiLGcpO2QmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGQuc3Vic3RyaW5nKDAsdGhpcy5SKSksZyk7dGhpcy5aKGcpO307ZEwucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXTskSygibSIsMSxmKTskSygicyIsYSxmKTskSygicG8iLGJMKCksZik7YiYmKCRLKCJzdCIsYi5zdGF0ZSxmKSwkSygic2kiLGIuSmcsZiksJEsoInNtIixiLlVnLGYpKTthTChjLGYpOyRLKCJjIixkLGYpO2UmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKDAsCnRoaXMuUikpLGYpO3RoaXMuWihmKTt9O2RMLnByb3RvdHlwZS5aPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphOyFmbi5OfHx0aGlzLk4+PXRoaXMueWF8fCgkSygicGlkIix0aGlzLmZhLGEpLCRLKCJiYyIsKyt0aGlzLk4sYSksYS51bnNoaWZ0KCJjdGlkPSIrRSg1KSsiJnQ9cyIpLHRoaXMuamEoIiIrdGhpcy5MYSthLmpvaW4oIiYiKSkpfTtmdW5jdGlvbiBlTChhKXtyZXR1cm4gYS5wZXJmb3JtYW5jZSYmYS5wZXJmb3JtYW5jZS5ub3coKXx8RGF0ZS5ub3coKX0KdmFyIGZMPWZ1bmN0aW9uKGEsYil7dmFyIGM9QSxkPU5mKDUzLDUwMCksZT1OZig1NCw1RTMpLGY9TmYoOCwyMCksZz1OZig1NSw1RTMpLGg7dmFyIGw9ZnVuY3Rpb24obixwLHEpe3E9cT09PXZvaWQgMD97cW86ZnVuY3Rpb24oKXt9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbigpe30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7fX06cTt0aGlzLklqPW47dGhpcy5IPXA7dGhpcy5OPXE7dGhpcy5mYT10aGlzLmphPXRoaXMuaGVhcnRiZWF0Q291bnQ9dGhpcy5Eaj0wO3RoaXMuZmU9ITE7dGhpcy5LPXt9O3RoaXMuaWQ9U3RyaW5nKE1hdGguZmxvb3IoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIqTWF0aC5yYW5kb20oKSkpO3RoaXMuc3RhdGU9MDt0aGlzLkpnPWVMKHRoaXMuSCk7dGhpcy5VZz1lTCh0aGlzLkgpO3RoaXMuWj0xMH07bC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuUigxKTsKdGhpcy5MYSgpfTtsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybntzdGF0ZTp0aGlzLnN0YXRlLEpnOk1hdGgucm91bmQoZUwodGhpcy5IKS10aGlzLkpnKSxVZzpNYXRoLnJvdW5kKGVMKHRoaXMuSCktdGhpcy5VZyl9fTtsLnByb3RvdHlwZS5SPWZ1bmN0aW9uKG4pe3RoaXMuc3RhdGUhPT1uJiYodGhpcy5zdGF0ZT1uLHRoaXMuVWc9ZUwodGhpcy5IKSl9O2wucHJvdG90eXBlLnZnPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLkRqKyspfTtsLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5oZWFydGJlYXRDb3VudCsrO3RoaXMueWEoe3R5cGU6MCxjbGllbnRJZDp0aGlzLmlkLHJlcXVlc3RJZDp0aGlzLnZnKCksbWF4RGVsYXk6dGhpcy5oZSgpfSxmdW5jdGlvbihwKXtpZihwLnR5cGU9PT0wKXt2YXIgcTtpZigoKHE9cC5mYWlsdXJlKT09bnVsbD92b2lkIDA6cS5mYWlsdXJlVHlwZSkhPW51bGwpaWYocC5zdGF0cyYmKG4uc3RhdHM9CnAuc3RhdHMpLG4uZmErKyxwLmlzRGVhZHx8bi5mYT5mKXt2YXIgcj1wLmlzRGVhZCYmcC5mYWlsdXJlLmZhaWx1cmVUeXBlO24uWj1yfHwxMDtuLlIoNCk7bi5BaigpO3ZhciB0LHU7KHU9KHQ9bi5OKS5wbyk9PW51bGx8fHUuY2FsbCh0LHtmYWlsdXJlVHlwZTpyfHwxMCxkYXRhOnAuZmFpbHVyZS5kYXRhfSl9ZWxzZSBuLlIoMyksbi5QaCgpO2Vsc2V7aWYobi5oZWFydGJlYXRDb3VudD5wLnN0YXRzLmhlYXJ0YmVhdENvdW50K2Ype24uaGVhcnRiZWF0Q291bnQ9cC5zdGF0cy5oZWFydGJlYXRDb3VudDt2YXIgdix4Oyh4PSh2PW4uTikub25GYWlsdXJlKT09bnVsbHx8eC5jYWxsKHYse2ZhaWx1cmVUeXBlOjEzfSl9bi5zdGF0cz1wLnN0YXRzO3ZhciB5PW4uc3RhdGU7bi5SKDIpO2lmKHkhPT0yKWlmKG4uZmUpe3ZhciB6LEM7KEM9KHo9bi5OKS5zbyk9PW51bGx8fEMuY2FsbCh6KX1lbHNle24uZmU9ITA7dmFyIEQsSTsoST0oRD1uLk4pLnFvKT09bnVsbHx8SS5jYWxsKEQpfW4uZmE9CjA7bi5OaigpO24uUGgoKX19fSl9O2wucHJvdG90eXBlLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0yP2U6ZH07bC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5MYSgpfSxNYXRoLm1heCgwLHRoaXMuaGUoKS0oZUwodGhpcy5IKS10aGlzLmphKSkpfTtsLnByb3RvdHlwZS5rcj1mdW5jdGlvbihuLHAscSl7dmFyIHI9dGhpczt0aGlzLnlhKHt0eXBlOjEsY2xpZW50SWQ6dGhpcy5pZCxyZXF1ZXN0SWQ6dGhpcy52ZygpLGNvbW1hbmQ6bn0sZnVuY3Rpb24odCl7aWYodC50eXBlPT09MSlpZih0LnJlc3VsdClwKHQucmVzdWx0KTtlbHNle3ZhciB1LHYseCx5PXtmYWlsdXJlVHlwZTooeD0odT10LmZhaWx1cmUpPT1udWxsP3ZvaWQgMDp1LmZhaWx1cmVUeXBlKSE9bnVsbD94OjEyLGRhdGE6KHY9dC5mYWlsdXJlKT09bnVsbD92b2lkIDA6di5kYXRhfSx6LEM7KEM9KHo9ci5OKS5vbkZhaWx1cmUpPT0KbnVsbHx8Qy5jYWxsKHoseSk7cSh5KX19KX07bC5wcm90b3R5cGUueWE9ZnVuY3Rpb24obixwKXt2YXIgcT10aGlzO2lmKHRoaXMuc3RhdGU9PT00KW4uZmFpbHVyZT17ZmFpbHVyZVR5cGU6dGhpcy5afSxwKG4pO2Vsc2V7dmFyIHI9dGhpcy5zdGF0ZSE9PTImJm4udHlwZSE9PTAsdD1uLnJlcXVlc3RJZCx1LHY9dGhpcy5ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeT1xLktbdF07eSYmKGltKDYpLHEua2QoeSw3KSl9LCh1PW4ubWF4RGVsYXkpIT1udWxsP3U6ZykseD17cmVxdWVzdDpuLEhvOnAsem86cixOczp2fTt0aGlzLktbdF09eDtyfHx0aGlzLnNlbmRSZXF1ZXN0KHgpfX07bC5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24obil7dGhpcy5qYT1lTCh0aGlzLkgpO24uem89ITE7dGhpcy5JaihuLnJlcXVlc3QpfTtsLnByb3RvdHlwZS5Oaj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT0KdGhpcy5LW3AudmFsdWVdO3Euem8mJnRoaXMuc2VuZFJlcXVlc3QocSl9fTtsLnByb3RvdHlwZS5Baj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXRoaXMua2QodGhpcy5LW3AudmFsdWVdLHRoaXMuWil9O2wucHJvdG90eXBlLmtkPWZ1bmN0aW9uKG4scCl7dGhpcy5hYyhuKTt2YXIgcT1uLnJlcXVlc3Q7cS5mYWlsdXJlPXtmYWlsdXJlVHlwZTpwfTtuLkhvKHEpfTtsLnByb3RvdHlwZS5hYz1mdW5jdGlvbihuKXtkZWxldGUgdGhpcy5LW24ucmVxdWVzdC5yZXF1ZXN0SWRdO3RoaXMuSC5jbGVhclRpbWVvdXQobi5Ocyl9O2wucHJvdG90eXBlLmtzPWZ1bmN0aW9uKG4pe3RoaXMuamE9ZUwodGhpcy5IKTt2YXIgcD10aGlzLktbbi5yZXF1ZXN0SWRdO2lmKHApdGhpcy5hYyhwKSxwLkhvKG4pO2Vsc2V7dmFyIHEscjsocj0ocT10aGlzLk4pLm9uRmFpbHVyZSk9PW51bGx8fHIuY2FsbChxLHtmYWlsdXJlVHlwZToxNH0pfX07Cmg9bmV3IGwoYSxjLGIpO3JldHVybiBofTsKdmFyIGdMPWZ1bmN0aW9uKCl7cmV0dXJuIGFsKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTH0pfSxjTD1mdW5jdGlvbihhKXtpbyhsbyhjby5pYS5aYiksZnVuY3Rpb24oKXtaYyhhKX0pfSxoTD1mdW5jdGlvbihhKXt2YXIgYj1hLnN1YnN0cmluZygwLGEuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIiKSk7cmV0dXJuIiYxcD0xIisoYj8iJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQoYik6IiIpfSxpTD1mdW5jdGlvbihhKXt2YXIgYj1BLmxvY2F0aW9uLm9yaWdpbjtpZighYilyZXR1cm4gbnVsbDsoTSg0MzIpP1dqKCk6V2ooKSYmIWEpJiYoYT0iIitiK1hqKCkrIi9fL3NlcnZpY2Vfd29ya2VyIik7dmFyIGM9YSxkLGU9TGYoMTEpO2U9TGYoMTApO2Q9ZTtjPyhjLmNoYXJBdChjLmxlbmd0aC0xKSE9PSIvIiYmCihjKz0iLyIpLGE9YytkKTphPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9zdGF0aWMvc2VydmljZV93b3JrZXIvIitkKyIvIjt2YXIgZjt0cnl7Zj1uZXcgVVJMKGEpfWNhdGNoKGcpe3JldHVybiBudWxsfXJldHVybiBmLnByb3RvY29sIT09Imh0dHBzOiI/bnVsbDpmfSxqTD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5PaCk7cmV0dXJuIGImJmJbYV19LGtMPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5LPWdMKCk7dGhpcy5aPXRoaXMuUj0hMTt0aGlzLmZhPW51bGw7dGhpcy5pbml0VGltZT1NYXRoLnJvdW5kKE5iKCkpO3RoaXMuSD0xNTt0aGlzLk49dGhpcy5GcihhKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmluaXRpYWxpemUoKX0sMUUzKTtiZChmdW5jdGlvbigpe2IuenMoYSl9KX07az1rTC5wcm90b3R5cGU7ay5kZWxlZ2F0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nZXRTdGF0ZSgpIT09Mj8odGhpcy5LLkgodGhpcy5ILHtzdGF0ZTp0aGlzLmdldFN0YXRlKCksCkpnOnRoaXMuaW5pdFRpbWUsVWc6TWF0aC5yb3VuZChOYigpKS10aGlzLmluaXRUaW1lfSx2b2lkIDAsYS5jb21tYW5kVHlwZSksYyh7ZmFpbHVyZVR5cGU6dGhpcy5IfSkpOnRoaXMuTi5rcihhLGIsYyl9O2suZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OLmdldFN0YXRlKCkuc3RhdGV9O2suenM9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5vcmlnaW4sYz10aGlzLGQ9WGMoKTt0cnl7dmFyIGU9ZC5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZj1hLnBhdGhuYW1lLGc9ZltmLmxlbmd0aC0xXT09PSIvIj9hLnRvU3RyaW5nKCk6YS50b1N0cmluZygpKyIvIixoPWEub3JpZ2luIT09Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIj9oTChmKToiIixsO00oMTMzKSYmKGw9e3NhbmRib3g6ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMifSk7WGMoZysic3dfaWZyYW1lLmh0bWw/b3JpZ2luPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKwpoLHZvaWQgMCxsLHZvaWQgMCxlKTt2YXIgbj1mdW5jdGlvbigpe2QuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MuZmE9ZS5jb250ZW50V2luZG93O2QuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihwKXtwLm9yaWdpbj09PWEub3JpZ2luJiZjLk4ua3MocC5kYXRhKX0pO2MuaW5pdGlhbGl6ZSgpfSl9O2QuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP24oKTpkLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtuKCl9KX1jYXRjaChwKXtkLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZCksdGhpcy5IPTExLHRoaXMuSy5LKHZvaWQgMCx2b2lkIDAsdGhpcy5ILHAudG9TdHJpbmcoKSl9fTtrLkZyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1mTChmdW5jdGlvbihkKXt2YXIgZTsoZT1iLmZhKT09Cm51bGx8fGUucG9zdE1lc3NhZ2UoZCxhLm9yaWdpbil9LHtxbzpmdW5jdGlvbigpe2IuUj0hMDtiLksuSyhjLmdldFN0YXRlKCksYy5zdGF0cyl9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbihkKXtiLlI/KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDEwLGIuSy5IKGIuSCxjLmdldFN0YXRlKCksYy5zdGF0cyx2b2lkIDAsZD09bnVsbD92b2lkIDA6ZC5kYXRhKSk6KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDQsYi5LLksoYy5nZXRTdGF0ZSgpLGMuc3RhdHMsYi5ILGQ9PW51bGw/dm9pZCAwOmQuZGF0YSkpfSxvbkZhaWx1cmU6ZnVuY3Rpb24oZCl7Yi5IPWQuZmFpbHVyZVR5cGU7Yi5LLkgoYi5ILGMuZ2V0U3RhdGUoKSxjLnN0YXRzLGQuY29tbWFuZCxkLmRhdGEpfX0pO3JldHVybiBjfTtrLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt0aGlzLlp8fHRoaXMuTi5pbml0KCk7dGhpcy5aPSEwfTsKdmFyIGxMPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2lmKChlPWpMKGEpKT09bnVsbHx8IWUuZGVsZWdhdGUpe3ZhciBmPUljKCk/MTY6NjtnTCgpLkgoZix2b2lkIDAsdm9pZCAwLGIuY29tbWFuZFR5cGUpO2Qoe2ZhaWx1cmVUeXBlOmZ9KTtyZXR1cm59akwoYSkuZGVsZWdhdGUoYixjLGQpO307CmZ1bmN0aW9uIG1MKGEsYixjLGQpe3ZhciBlPWlMKGEpO2lmKGU9PT1udWxsKXtkKCJfaXNfc3c9ZiIrKEljKCk/MTY6NikrInRlIik7cmV0dXJufXZhciBmPWI/MTowLGc9TWF0aC5yb3VuZChOYigpKSxoLGw9KGg9akwoZS5vcmlnaW4pKT09bnVsbD92b2lkIDA6aC5pbml0VGltZSxuPWw/Zy1sOnZvaWQgMCxwO00oNDMyKT9wPVdqKCk/dm9pZCAwOkEubG9jYXRpb24uaHJlZjpwPUEubG9jYXRpb24uaHJlZjtsTChlLm9yaWdpbix7Y29tbWFuZFR5cGU6MCxwYXJhbXM6e3VybDphLG1ldGhvZDpmLHRlbXBsYXRlczpjLGJvZHk6Ynx8IiIscHJvY2Vzc1Jlc3BvbnNlOiEwLHNpbmNlSW5pdDpuLGF0dHJpYnV0aW9uUmVwb3J0aW5nOiEwLHJlZmVyZXI6cCxzdHJpY3Q6TSg1ODQpfX0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKHEpe3ZhciByPSJfaXNfc3c9ZiIrcS5mYWlsdXJlVHlwZSx0LHU9KHQ9akwoZS5vcmlnaW4pKT09Cm51bGw/dm9pZCAwOnQuZ2V0U3RhdGUoKTt1IT09dm9pZCAwJiYocis9InMiK3UpO2Qobj9yKygidCIrbik6cisidGUiKX0pO307ZnVuY3Rpb24gbkwoYSl7aWYoSWYoNDcpJiZkSShhLCJjY2RfYWRkXzFwX2RhdGEiLCExKSYmV2ooKSl7dmFyIGI9YS5NO2lmKEljKCkmJmJnKCJpbnRlcm5hbF9zd19hbGxvd2VkIiwiIikpe3ZhciBjPWVrKGIpLGQ9V2ooKT9YaigpOnZvaWQgMCxlO2U9ZD97cGF0aDpkLGVvOiJmdWxsIn06Yz97cGF0aDpjLGVvOiJsaXRlIn06dm9pZCAwO2lmKGUpe3ZhciBmPWUuZW8sZz1uZXcgVVJMKGUucGF0aCxBLmxvY2F0aW9uLm9yaWdpbik7aWYoZy5vcmlnaW49PT1BLmxvY2F0aW9uLm9yaWdpbiYmcHkoZik9PT12b2lkIDApe3ZhciBoPW9tKGptLmJhLk9oLHt9KTtoW2ZdfHwoaFtmXT1uZXcgbnkoZykpfX19fX07ZnVuY3Rpb24gc0woKXt2YXIgYTthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTt2YXIgYjtyZXR1cm4hKChiPWEuZmVhdHVyZVBvbGljeSk9PW51bGx8fCFiLmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKSl9O2Z1bmN0aW9uIHdMKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlPUZwKCksZj1EcChlKTtpZihmLnVybClpZihkKXt2YXIgZz1jKGYudXJsKTtiIT09ZyYmVShhLEYuRC5QZSxnKX1lbHNle3ZhciBoPWYudXJsO2IhPT1oJiZVKGEsRi5ELlBlLGMoaCkpfX07CnZhciB4TD1mdW5jdGlvbihhKXtpZihhIT1udWxsKXt2YXIgYj1TdHJpbmcoYSkuc3Vic3RyaW5nKDAsNTEyKSxjPWIuaW5kZXhPZigiIyIpO3JldHVybiBjPT09LTE/YjpiLnN1YnN0cmluZygwLGMpfXJldHVybiIifSx5TD1mdW5jdGlvbigpe3ZhciBhPUIudGl0bGU7aWYoYT09PXZvaWQgMHx8YT09PSIiKXJldHVybiIiO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYj0yNTY7Yj4wJiZLaihhLnN1YnN0cmluZygwLGIpKT09PXZvaWQgMDspYi0tO3JldHVybiBLaihhLnN1YnN0cmluZygwLGIpKXx8IiJ9O2Z1bmN0aW9uIEFMKGEpe1YoYSxILkouSmEsITApO1YoYSxILkouRWIsTmIoKSk7VihhLEguSi55bixhLk0uZXZlbnRNZXRhZGF0YVtILkouSmFdKX07dmFyIFNMPWZ1bmN0aW9uKGEpe3ZhciBiPVhvKEYuRC5rYSk/bWooInBzY2RsIik6ImRlbmllZCI7YiE9bnVsbCYmVShhLEYuRC5qaCxiKX07dmFyIFRMPW5ldyBmdW5jdGlvbigpe3RoaXMuSD17fX07dmFyIFVMPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5NO2lmKGI9PT12b2lkIDA/MDpiKXt2YXIgZD1jLmdldE1lcmdlZFZhbHVlcyhGLkQuT2EpO1liKGQpJiZVKGEsRi5ELkxpLFliKGQpKX12YXIgZT1PbyhmRChGLkQuT2EpKSxmPWMuZ2V0TWVyZ2VkVmFsdWVzKEYuRC5PYSwxLGUpLGc9Yy5nZXRNZXJnZWRWYWx1ZXMoRi5ELk9hLDIpLGg9WWIobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxmLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sVEwuSCkpLCIuIiksbD1ZYihnLCIuIik7aCYmVShhLEYuRC5YYyxoKTtsJiZVKGEsRi5ELlZjLGwpfTt2YXIgVkw9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi50cSk7YiYmVShhLEYuRC5JbCxiKX07ZnVuY3Rpb24gV0woYSl7dmFyIGI9S0IoITEpO2lmKGIhPW51bGwmJmIuc3RhdHVzKXt2YXIgYz17Z3RiOmIuc3RhdHVzfTtiLmRlbGF5JiYoYy5ndGJkPWIuZGVsYXkpO2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxjKX19O3ZhciBYTD1mdW5jdGlvbihhKXt6bSgpPT09IlVTLUNPIiYmVShhLEYuRC5MZSwxKX07dmFyIFlMPXtSYTp7Q2s6MSx6bjoyLEhuOjMsSW46NCxKbjo1LHduOjZ9fTtZTC5SYVtZTC5SYS5Da109IkFET0JFX0NPTU1FUkNFIjtZTC5SYVtZTC5SYS56bl09IlNRVUFSRVNQQUNFIjtZTC5SYVtZTC5SYS5Ibl09IldPT19DT01NRVJDRSI7WUwuUmFbWUwuUmEuSW5dPSJXT09fQ09NTUVSQ0VfTEVHQUNZIjtZTC5SYVtZTC5SYS5Kbl09IldPUkRfUFJFU1MiO1lMLlJhW1lMLlJhLnduXT0iU0hPUElGWSI7ZnVuY3Rpb24gWkwoYSl7dmFyIGI9QTtyZXR1cm4gS2ooYi5lc2NhcGUoYi5hdG9iKGEpKSl9CmZ1bmN0aW9uICRMKCl7dHJ5e2lmKCFNKDQ5OCkmJiFNKDQyNSkpcmV0dXJuW107dmFyIGE9bm0oam0uYmEubG4pO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dmFyIGI9W10sYzthOnt0cnl7Yz0hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W2RhdGEtcmVxdWlyZW1vZHVsZV49Im1hZ2UvIl0nKTticmVhayBhfWNhdGNoKHkpe31jPSExfWMmJmIucHVzaChZTC5SYS5Dayk7dmFyIGQ7YTp7dHJ5e3ZhciBlPVpMKCJZWE56WlhSekxuTnhkV0Z5WlhOd1lXTmxMbU52YlM4PSIpO2Q9ZT8hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149Ii8vJytlKyciXScpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fWQ9ITF9ZCYmYi5wdXNoKFlMLlJhLnpuKTt2YXIgZjthOntpZihNKDQyNSkpdHJ5e3ZhciBnPVpMKCJjMmh2Y0dsbWVTNWpiMjA9IiksaD1aTCgiYzJodmNHbG1lV05rYmk1amIyMD0iKTtmPWcmJmg/ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJjZG4uJytnKyciXSxtZXRhW3Byb3BlcnR5PSJvZzppbWFnZSJdW2NvbnRlbnQqPSJjZG4uJysKKGcrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9ImNkbi4nKSsoZysnIl0sbGlua1tyZWw9InByZWNvbm5lY3QiXVtocmVmKj0iZm9udHMuJykrKGgrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9Iml0ZXJhYmxlLXNob3BpZnkiXSxsaW5rW3JlbD0icHJlY29ubmVjdCJdW2hyZWYqPSJ2LicpKyhnKyciXScpKTohMTticmVhayBhfWNhdGNoKHkpe31mPSExfWYmJmIucHVzaChZTC5SYS53bik7dmFyIGw7YTp7dHJ5e2w9ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJ3b29jb21tZXJjZSJdLGxpbmtbaHJlZio9Indvb2NvbW1lcmNlIl0sW2NsYXNzfD0id29vY29tbWVyY2UiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fWw9ITF9bCYmYi5wdXNoKFlMLlJhLkluKTt2YXIgbjthOnt0cnl7dmFyIHAscT0oKHA9Qi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOnAuaG9zdG5hbWUpfHwiIixyLHQ9KChyPUIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpyLm9yaWdpbil8fAoiIix1PVpMKCJMbmR2Y21Sd2NtVnpjeTVqYjIwPSIpLHY9WkwoIkx5OXpMbmN1YjNKbiIpO249dSYmdj9UYihxLHUpfHwhIUIucXVlcnlTZWxlY3RvcignW3NyY149IicrdCsnL3dwLWNvbnRlbnQiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb3JkUHJlc3MgIl0sbGlua1tyZWw9ImRucy1wcmVmZXRjaCJdW2hyZWY9IicrKHYrJyJdJykpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fW49ITF9biYmYi5wdXNoKFlMLlJhLkpuKTt2YXIgeDthOnt0cnl7eD0hIUIucXVlcnlTZWxlY3RvcignW2NsYXNzKj0id29vY29tbWVyY2UiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb29Db21tZXJjZSAiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fXg9ITF9eCYmYi5wdXNoKFlMLlJhLkhuKTtVQigpJiZtbShqbS5iYS5sbixiKTtyZXR1cm4gYn1jYXRjaCh5KXt9cmV0dXJuW119O2Z1bmN0aW9uIHdNKGEpe2lmKE0oNDI1KSYmUShhLEguSi5GYykpe3ZhciBiPU5mKDY3LDE1MDApLGM9YS5tZXJnZUhpdERhdGFGb3JLZXksZD1GLkQuVGEsZT17fTtjLmNhbGwoYSxkLGUpfX07dmFyIHhNPSJwbGF0Zm9ybSBwbGF0Zm9ybVZlcnNpb24gYXJjaGl0ZWN0dXJlIG1vZGVsIHVhRnVsbFZlcnNpb24gYml0bmVzcyBmdWxsVmVyc2lvbkxpc3Qgd293NjQiLnNwbGl0KCIgIik7ZnVuY3Rpb24geU0oYSl7dmFyIGI7cmV0dXJuKGI9YS5nb29nbGVfdGFnX2RhdGEpIT1udWxsP2I6YS5nb29nbGVfdGFnX2RhdGE9e319ZnVuY3Rpb24gek0oYSl7dmFyIGIsYztyZXR1cm4oYz0oYj1hLmdvb2dsZV90YWdfZGF0YSk9PW51bGw/dm9pZCAwOmIudWFjaF9wcm9taXNlKSE9bnVsbD9jOm51bGx9ZnVuY3Rpb24gQU0oYSl7dmFyIGIsYztyZXR1cm4gdHlwZW9mKChiPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6KGM9Yi51c2VyQWdlbnREYXRhKT09bnVsbD92b2lkIDA6Yy5nZXRIaWdoRW50cm9weVZhbHVlcyk9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBCTShhKXtpZighQU0oYSkpcmV0dXJuIG51bGw7dmFyIGI9eU0oYSk7aWYoYi51YWNoX3Byb21pc2UpcmV0dXJuIGIudWFjaF9wcm9taXNlO3ZhciBjPWEubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoeE0pLnRoZW4oZnVuY3Rpb24oZCl7Yi51YWNoIT1udWxsfHwoYi51YWNoPWQpO3JldHVybiBkfSk7cmV0dXJuIGIudWFjaF9wcm9taXNlPWN9Owp2YXIgQ009ZnVuY3Rpb24oKXt0aGlzLndpbmRvdz1BO3RoaXMuTj1OYn07Q00ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZihBTSh0aGlzLndpbmRvdykmJih0aGlzLlo9dGhpcy5OKCksIXpNKHRoaXMud2luZG93KSkpe3ZhciBhPUJNKHRoaXMud2luZG93KTthJiZhLnRoZW4oZnVuY3Rpb24oKXtQKDk1KX0pLmNhdGNoKGZ1bmN0aW9uKCl7UCg5Nil9KX19O0NNLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy53aW5kb3cuZ29vZ2xlX3RhZ19kYXRhLGI7aWYoYSE9bnVsbCYmYS51YWNoKXt2YXIgYz1hLnVhY2gsZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGMpO2MuZnVsbFZlcnNpb25MaXN0JiYoZC5mdWxsVmVyc2lvbkxpc3Q9Yy5mdWxsVmVyc2lvbkxpc3Quc2xpY2UoMCkpO2I9ZH1lbHNlIGI9bnVsbDtyZXR1cm4gYn07Q00ucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz10aGlzLGQ9ZnVuY3Rpb24oaCxsKXt0cnl7YShoLGwpfWNhdGNoKG4pe319LAplPXRoaXMuSCgpO2lmKGUpZChlKTtlbHNle3ZhciBmPXpNKHRoaXMud2luZG93KTtpZihmKXtiPU1hdGgubWluKE1hdGgubWF4KGlzRmluaXRlKGIpP2I6MCwwKSwxRTMpO3ZhciBnPXRoaXMud2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLktnfHwoZC5LZz0hMCxQKDEwNiksZChudWxsLEVycm9yKCJUaW1lb3V0IikpKX0sYik7Zi50aGVuKGZ1bmN0aW9uKGgpe2QuS2d8fChkLktnPSEwLFAoMTA0KSxjLndpbmRvdy5jbGVhclRpbWVvdXQoZyksZChoKSl9KS5jYXRjaChmdW5jdGlvbihoKXtkLktnfHwoZC5LZz0hMCxQKDEwNSksYy53aW5kb3cuY2xlYXJUaW1lb3V0KGcpLGQobnVsbCxoKSl9KX1lbHNlIGQobnVsbCl9fTtDTS5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlohPT12b2lkIDB9O3ZhciBETT1mdW5jdGlvbigpe3ZhciBhO2E9YT09PXZvaWQgMD9BOmE7cmV0dXJuIEFNKGEpfSxFTT1mdW5jdGlvbihhKXt2YXIgYj17fTtiW0YuRC5jZ109YS5hcmNoaXRlY3R1cmU7CmJbRi5ELmRnXT1hLmJpdG5lc3M7YS5mdWxsVmVyc2lvbkxpc3QmJihiW0YuRC5lZ109YS5mdWxsVmVyc2lvbkxpc3QubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoYy5icmFuZHx8IiIpKyI7IitlbmNvZGVVUklDb21wb25lbnQoYy52ZXJzaW9ufHwiIil9KS5qb2luKCJ8IikpO2JbRi5ELmZnXT1hLm1vYmlsZT8iMSI6IjAiO2JbRi5ELmdnXT1hLm1vZGVsO2JbRi5ELmhnXT1hLnBsYXRmb3JtO2JbRi5ELmlnXT1hLnBsYXRmb3JtVmVyc2lvbjtiW0YuRC5qZ109YS53b3c2ND8iMSI6IjAiO3JldHVybiBifSxGTT1uZXcgQ007dmFyIEdNPWZ1bmN0aW9uKGEpe2lmKCFETSgpKVAoODcpO2Vsc2UgaWYoRk0uSygpKXtQKDg1KTt2YXIgYj1GTS5IKCk7aWYoYil7aWYoYilmb3IodmFyIGM9RU0oYiksZD1tKE9iamVjdC5rZXlzKGMpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtVKGEsZixjW2ZdKX19ZWxzZSBQKDg2KX19O2Z1bmN0aW9uIEhNKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9UShhLEguSi5zZyksZD1kSShhLCJjdXN0b21fZXZlbnRfYWNjZXB0X3J1bGVzIiwhMSkmJiFiO2lmKGMpe3ZhciBlPWMuaW5kZXhPZihhLnRhcmdldC5kZXN0aW5hdGlvbklkKT49MCxmPSEwO1EoYSxILkouQ2MpJiYoZj1RKGEsSC5KLk5iKT09PXZrKCkpO2UmJmY/VihhLEguSi5raSwhMCk6KFYoYSxILkoua2ksITEpLGR8fChhLmlzQWJvcnRlZD0hMCkpO2lmKGEuY2FuQmVBY2NlcHRlZCgpKXt2YXIgZz11aygpLmluZGV4T2YoYS50YXJnZXQuZGVzdGluYXRpb25JZCk+PTAsaD0hMTtpZighZyl7dmFyIGwsbj0obD1uayhhLnRhcmdldC5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOmwuY2Fub25pY2FsQ29udGFpbmVySWQ7biYmKGg9dmsoKT09PW4pfWd8fGg/UShhLEguSi5raSkmJmEuYWNjZXB0KCk6YS5pc0Fib3J0ZWQ9ITB9ZWxzZSBhLmlzQWJvcnRlZD0hMH19O3ZhciBJTT1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpLGM9TyhhLk0sRi5ELlljKTtiJiYhYz8oYS5ldmVudE5hbWUhPT1GLkQud2EmJmEuZXZlbnROYW1lIT09Ri5ELnlmJiZQKDEzMSksYS5pc0Fib3J0ZWQ9ITApOiFiJiZjJiYoUCgxMzIpLGEuaXNBYm9ydGVkPSEwKX07dmFyIEpNPWZ1bmN0aW9uKGEpe2lmKGEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1JZigxMSksYz1RKGEsSC5KLkhxKTshKCFNKDU1MCkmJmJ8fGMpfHxhLnRhcmdldC5KYygpfHxZRygiaWRjX2NvbmZpZ19wdiIsYS50YXJnZXQuZGVzdGluYXRpb25JZCl8fChhLmlzQWJvcnRlZD0hMCl9fTt2YXIgTE09ZnVuY3Rpb24oYSxiKXtLTS5OKGEsYil9LE1NPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fTtNTS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuSFthXTtjfHwoYz10aGlzLkhbYV09W10pO2MucHVzaChiKX07TU0ucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5IW2EudGFyZ2V0LmRlc3RpbmF0aW9uSWRdO2lmKCFhLmlzQWJvcnRlZCYmYilmb3IodmFyIGM9ZkkoYSksZD0wO2Q8Yi5sZW5ndGg7KytkKXt0cnl7YltkXShjKX1jYXRjaChlKXthLmlzQWJvcnRlZD0hMH1pZihhLmlzQWJvcnRlZClicmVha319O3ZhciBLTT1uZXcgTU07dmFyIE5NPWZ1bmN0aW9uKGEpe0tNLksoYSk7fTt2YXIgT009ZnVuY3Rpb24oYSl7YSYmKEFwKDQ5NSxhKSxBcCg1NjcsYSksQXAoNDUwLGEpLEFwKDQ0MyxhKSxBcCg1ODcsYSksQXAoNTc2LGEpLEFwKDU3MCxhKSxBcCg1ODEsYSksQXAoNjAyLGEpKX0sUE09ZnVuY3Rpb24oYSl7aWYoUShhLEguSi53ZikmJlhvKGZwKSl7dmFyIGI9UShhLEguSi5HYSksYz1RKGEsSC5KLmRhKSE9PVguVi51YiYmUShhLEguSi5kYSkhPT1YLlYuT2ImJlEoYSxILkouZGEpIT09WC5WLkZiJiZhLmV2ZW50TmFtZSE9PUYuRC5KYjtIdihiLGMpO3ZhciBkPUR2W0d2KGIucHJlZml4KV07T00oZCk7VShhLEYuRC5FZCxkKX19O2Z1bmN0aW9uIFFNKCl7cmV0dXJuIGtqKCJkZWR1cGVfZ2NsaWQiLGZ1bmN0aW9uKCl7cmV0dXJuIEF2KCl9KX07dmFyIFJNPS9eKHd3d1wuKT9nb29nbGUoXC5jb20/KT8oXC5bYS16XXsyfXQ/KT8kLyxTTT0vXnd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSQvO2Z1bmN0aW9uIFRNKGEpe2F8fChhPVVNKCkpO3JldHVybiBhLk50PyExOmEubnN8fGEucXN8fGEudnN8fGEucnN8fGEuRGd8fGEuVGh8fGEuVHJ8fGEuVmg9PT0iYXcuZHMifHxNKDIzNSkmJmEuVmg9PT0iYXcuZHYifHxhLllyPyEwOiExfQpmdW5jdGlvbiBVTSgpe3ZhciBhPXt9LGI9VXEoITApO2EuTnQ9ISFiLl91cDt2YXIgYz1lcygpLGQ9YXQoKTthLm5zPWMuYXchPT12b2lkIDA7YS5xcz1jLmRjIT09dm9pZCAwO2EudnM9Yy53YnJhaWQhPT12b2lkIDA7YS5ycz1jLmdicmFpZCE9PXZvaWQgMDthLlZoPXR5cGVvZiBjLmdjbHNyYz09PSJzdHJpbmciP2MuZ2Nsc3JjOnZvaWQgMDthLkRnPWQuRGc7YS5UaD1kLlRoO3ZhciBlPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjthLllyPVJNLnRlc3QoZSk7YS5Ucj1TTS50ZXN0KGUpO3JldHVybiBhfTtmdW5jdGlvbiBWTSgpe3ZhciBhPUEuX191c3BhcGk7aWYoeWIoYSkpe3ZhciBiPSIiO3RyeXthKCJnZXRVU1BEYXRhIiwxLGZ1bmN0aW9uKGMsZCl7aWYoZCYmYyl7dmFyIGU9Yy51c3BTdHJpbmc7ZSYmUmVnRXhwKCJeW1xcZGEtekEtWi1dezEsMjB9JCIpLnRlc3QoZSkmJihiPWUpfX0pfWNhdGNoKGMpe31yZXR1cm4gYn19Owp2YXIgV009ZnVuY3Rpb24oYSl7dmFyIGI9WG8oZnApO1YoYSxILkouWWUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExJiYhYik7dmFyIGM9UShhLEguSi5kaiksZD1PKGEuTSxGLkQudWMpIT09ITEsZT1MSyhhKTtkfHxVKGEsRi5ELkhkLCIxIik7dmFyIGY9SHIoZS5wcmVmaXgpLGc9UShhLEguSi5zYSl8fFEoYSxILkoudWcpfHxRKGEsSC5KLldlKTtjfHxnfHxVKGEsIl8mYXB2YyIsIjAiKTthLk0uaXNHdG1FdmVudCYmVShhLEYuRC5JbCwiZyIpO1UoYSxGLkQuRWQpO1UoYSxGLkQuTWIpO2lmKGImJihVKGEsRi5ELk1iLHlMKCkpLGQpKXtIdihlKTt2YXIgaD1EdltHdihlLnByZWZpeCldO1UoYSxGLkQuRWQsaCk7T00oaCl9aWYoYS5ldmVudE5hbWU9PT1GLkQud2EmJiFnKXt2YXIgbD1PKGEuTSxGLkQuemMpLG49TyhhLk0sRi5ELkRiKXx8e307UEsoe1RuOmQsbW86bixRbzpsLFVuOmV9KTshYyYmWXMoZikmJihWKGEsSC5KLnZkLCEwKSxVKGEsIl8mYXB2YyIsCiIxIikpfWlmKGMpYS5pc0Fib3J0ZWQ9ITA7ZWxzZXthLnRhcmdldC5kZXN0aW5hdGlvbklkJiZVKGEsRi5ELlFlLGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO1UoYSxGLkQuVWIsYS5ldmVudE5hbWUpO2EuZXZlbnROYW1lPT09Ri5ELndhJiZVKGEsRi5ELlViLEYuRC5zYyk7aWYoUShhLEguSi5zYSkpVShhLEYuRC5VYixGLkQud3ApLFUoYSxGLkQuc2EsIjEiKTtlbHNlIGlmKFEoYSxILkoudWcpKVUoYSxGLkQuVWIsRi5ELkhwKTtlbHNlIGlmKFEoYSxILkouV2UpKVUoYSxGLkQuVWIsRi5ELkVwKTtlbHNle3ZhciBwPWVzKCk7VShhLEYuRC5EZCxwLmdjbGlkKTtVKGEsRi5ELktkLHAuZGNsaWQpO1UoYSxGLkQuQWwscC5nY2xzcmMpO2lmKCFSKGEsRi5ELkRkKSYmIVIoYSxGLkQuS2QpfHxNKDQyMSkpVShhLEYuRC5FZSxwLndicmFpZCksVShhLEYuRC5CZixwLmdicmFpZCk7dmFyIHE9TSg1ODkpLHI9ZnVuY3Rpb24oZmEpe3JldHVybiBmYS5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpfSwKdD0hIU8oYS5NLEYuRC56YSksdT1xP3Q/ZnVuY3Rpb24oZmEpe3JldHVybiB4TChyKGZhKSl9OmZ1bmN0aW9uKGZhKXtyZXR1cm4geEwoZmEucmVwbGFjZSgvIy4qJC8sIiIpKX06cix2PWJ0KHUpO1UoYSxGLkQuemEsdik7dmFyIHg9ISFPKGEuTSxGLkQuVWEpLHk9Qi5yZWZlcnJlcjtVKGEsRi5ELlVhLHE/eD9yKHkpOnkucmVwbGFjZSgvIy4qJC8sIiIpOkIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIik7d0woYSx2LHUsITApO2lmKEtjKXt2YXIgej1MaihSaihLYyksImhvc3QiKTt6JiZVKGEsRi5ELmJtLHopfWlmKCFRKGEsSC5KLldlKSl7dmFyIEM9YXQoKTtVKGEsRi5ELnpmLEMuRGcpO1UoYSxGLkQuQWYsQy5Tcil9dmFyIEQ9VU0oKTtUTShEKSYmVShhLEYuRC5QZCwiMSIpO1UoYSxGLkQuRGwsUU0oKSk7VXEoITEpLl91cD09PSIxIiYmVShhLEYuRC5RbCwiMSIpfXdvLkg9ITA7VShhLEYuRC5TYik7VShhLEYuRC5sYik7aWYoTSg0MjEpKXt2YXIgST1GcihlKTsKSS5sZW5ndGg+MCYmVShhLEYuRC5TYixJLmpvaW4oIi4iKSk7dmFyIEc9RHIoZisiX2F3Iik7Ry5sZW5ndGg+MCYmVShhLEYuRC5sYixHLmpvaW4oIi4iKSl9ZWxzZSBpZighUihhLEYuRC5EZCkmJiFSKGEsRi5ELktkKSYmV3MoZikpe3ZhciBOPUZyKGUpO04ubGVuZ3RoPjAmJlUoYSxGLkQuU2IsTi5qb2luKCIuIikpfWVsc2UgaWYoIVIoYSxGLkQuRWUpJiZiKXt2YXIgUz1EcihmKyJfYXciKTtTLmxlbmd0aD4wJiZVKGEsRi5ELmxiLFMuam9pbigiLiIpKX1VKGEsRi5ELlVsLHFkKCkpO2EuTS5pc0d0bUV2ZW50JiYoYS5NLkVhW0YuRC5SY109ZkQoRi5ELlJjKSk7U3QoYS5NKT9VKGEsRi5ELmRlLCExKTpVKGEsRi5ELmRlLCEwKTtWKGEsSC5KLkJrLCEwKTt2YXIgVz1WTSgpO1chPT12b2lkIDAmJlUoYSxGLkQua2csV3x8ImVycm9yIik7dmFyIGVhPUx0KCk7ZWEmJlUoYSxGLkQuS2UsZWEpO3ZhciBqYT1LdCgpO2phJiZVKGEsRi5ELk9lLGphKTtRKGEsSC5KLlBjKXx8VihhLEguSi5KYSwKITEpfX07CnZhciBYTT1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwP3t9OmM7aWYoYS5ldmVudE5hbWU9PT1GLkQuSmImJiFhLk0uaXNHdG1FdmVudCl7dmFyIGQ9TyhhLk0sRi5ELlNmKTtpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJiFRKGEsSC5KLnNhKSl7dmFyIGU9U3RyaW5nKE8oYS5NLEYuRC5UZikpLGY9ZTtjW2VdJiYoZj1jW2VdKTt2YXIgZz1SKGEsZil8fE8oYS5NLGUpO2lmKGIpe2lmKHR5cGVvZiBkPT09ImZ1bmN0aW9uIilpZihlPT09Ri5ELmxiJiZnIT09dm9pZCAwKXt2YXIgaD1nLnNwbGl0KCIuIik7aC5sZW5ndGg9PT0wP2Qodm9pZCAwKTpoLmxlbmd0aD09PTE/ZChoWzBdKTpkKGgpfWVsc2UgaWYoZT09PUYuRC5xcSYmTSgyNTgpKXt2YXIgbCxuPXt9O1hvKGZwKSYmKG4uYXVpZD1SKGEsRi5ELkVkKSk7dmFyIHA9VU0oKTtpZihUTShwKSluLmdhZF9zb3VyY2U9cC5EZyxuLmdhZF9jYW1wYWlnbmlkPXAuVGgsbi5zZXNzaW9uX3N0YXJ0X3RpbWVfdXNlYz0KKERhdGUubm93KCkqMUUzKS50b1N0cmluZygpLG4ubGFuZGluZ19wYWdlX3VybD1BLmxvY2F0aW9uLmhyZWYsbi5sYW5kaW5nX3BhZ2VfcmVmZXJyZXI9Qi5yZWZlcnJlcixuLmxhbmRpbmdfcGFnZV91c2VyX2FnZW50PUhjLnVzZXJBZ2VudDtlbHNle3ZhciBxPVEoYSxILkouR2EpO24uZ2FkX3NvdXJjZT1ScyhxLnByZWZpeCkuRWd9bD1idG9hKEpTT04uc3RyaW5naWZ5KG4pKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpO2QobCl9ZWxzZSBkKGcpfWVsc2UgZChnKX1hLmlzQWJvcnRlZD0hMH19O3ZhciBZTT1mdW5jdGlvbihhKXtpZihNKDQyNSkmJlEoYSxILkouRmMpKXtmb3IodmFyIGI9WyJfJmFwdmMiLCJ0aWRzIixGLkQuVGEsRi5ELlFpLEYuRC5VYixGLkQuUWUsRi5ELlZjLEYuRC5YY10sYz1tKGV1KGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlPT09Ri5ELnphKXt2YXIgZj1SKGEsZSk7ZiYmKGY9Zi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpKTtVKGEsZSxmKX1lbHNlIGIuaW5jbHVkZXMoZSl8fFUoYSxlKX1WKGEsSC5KLlhnKTtWKGEsSC5KLmhkKX19O2Z1bmN0aW9uIFpNKGEpe2lmKGZuLkspaWYod28uSD0hMCxhLmV2ZW50TmFtZT09PUYuRC53YSl6byhhLk0sYS50YXJnZXQuaWQpO2Vsc2V7UShhLEguSi5QYyl8fCh3by5LW2EudGFyZ2V0LmlkXT0hMCk7dmFyIGI9UShhLEguSi5OYik7WkIoYil9fTt2YXIgJE09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iPT09dm9pZCAwP3t9OmI7Yz1mLlNqPT09dm9pZCAwPyExOmYuU2o7ZD1mLk1qPT09dm9pZCAwPyExOmYuTWo7ZT1mLmtvPT09dm9pZCAwPyExOmYua287ZHx8KGEuTS5pc0d0bUV2ZW50P1EoYSxILkouZGEpIT09WC5WLnhhJiZhLmV2ZW50TmFtZSYmVShhLEYuRC5VYixhLmV2ZW50TmFtZSk6VShhLEYuRC5VYixhLmV2ZW50TmFtZSkpO0diKGEuTS5FYSxmdW5jdGlvbihnLGgpe016W2ddfHxjJiZCb1tnXXx8ZSYmT3pbZ118fFUoYSxnLGgpfSl9O3ZhciBhTj1mdW5jdGlvbihhKXtmb3IodmFyIGI9bShbRi5ELlBhLEYuRC5RYSxGLkQuZWIsRi5ELk5lLEYuRC5HZSxGLkQuVWQsRi5ELkllLEYuRC5UYyxGLkQuTGQsRi5ELmtoLEYuRC5GZixGLkQuRGYsRi5ELkVmLEYuRC5DZixGLkQud2ksRi5ELlNkLEYuRC5RZCxGLkQuUmQsRi5ELnRiXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5jb3B5VG9IaXREYXRhKGMudmFsdWUpfTtmdW5jdGlvbiBiTihhLGIpe3JldHVybiBrcigiZ3NpZF9kYyIse3ZhbHVlOntqb2luSWQ6YSxsYXN0Sm9pbmVkVGltZU1zOmJ9LGV4cGlyZXM6YiszRTV9KT09PTA/ITA6ITF9Owp2YXIgY049ZnVuY3Rpb24oYSl7aWYoWG8oZnApKXt2YXIgYjthOnt2YXIgYz1ucigiZ3NpZF9kYyIpO2lmKGMuZXJyb3I9PT0wJiZjLnZhbHVlJiZ0eXBlb2YgYy52YWx1ZT09PSJvYmplY3QiKXt2YXIgZD1jLnZhbHVlO2lmKGQudmFsdWUmJnR5cGVvZiBkLnZhbHVlPT09Im9iamVjdCIpe3ZhciBlPWQudmFsdWU7aWYoZS5qb2luSWQmJmUubGFzdEpvaW5lZFRpbWVNcyYmdHlwZW9mIGUuam9pbklkPT09InN0cmluZyImJnR5cGVvZiBlLmxhc3RKb2luZWRUaW1lTXM9PT0ibnVtYmVyIil7Yj1lO2JyZWFrIGF9fX1iPXZvaWQgMH12YXIgZj1iLGc9Zj09bnVsbD92b2lkIDA6Zi5qb2luSWQsaD1OYigpO2lmKCFmfHwhZ3x8Zi5sYXN0Sm9pbmVkVGltZU1zPGgtM0U1KXt2YXIgbD1jYygpO2c9bCYmYk4obCxOYigpKT9sOnZvaWQgMDtnJiZWKGEsSC5KLmhkLCEwKX1lbHNlIGcmJmYubGFzdEpvaW5lZFRpbWVNczxoLTZFNCYmYk4oZi5qb2luSWQsaCkmJlYoYSxILkouaGQsITApO2cmJk0oNDc0KSYmClYoYSxILkouWGcsZyl9fTt2YXIgZE49ZnVuY3Rpb24oYSl7VihhLEguSi53ZixPKGEuTSxGLkQudWMpIT09ITEpO1YoYSxILkouR2EsTEsoYSkpO1YoYSxILkouWGUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExKTtWKGEsSC5KLndkLFN0KGEuTSkpfTt2YXIgZU49e3pxOntVdDoiY2QiLGZwOiJjZSIsVnQ6ImNmIixXdDoiY3BmIixYdDoiY3UifX07dmFyIGZOPWZ1bmN0aW9uKGEpe3ZhciBiPWVOLnpxLmZwLGM9TyhhLk0sRi5ELkNiKTtSKGEsRi5ELmVkKXx8VShhLEYuRC5lZCx7fSk7UihhLEYuRC5lZClbYl09Y307ZnVuY3Rpb24gZ04oYSxiKXtiPWI9PT12b2lkIDA/ITA6Yjt2YXIgYz13YihyYi5HVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTHx8W10pO2MmJihVKGEsRi5ELlZmLGMpLGImJnViKCkpfTt2YXIgaE49ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLmdldE1lcmdlZFZhbHVlcyhGLkQuVGEpO2ImJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxiKX07dmFyIGlOPWZ1bmN0aW9uKGEpe3ZhciBiPU9wKCExKTtVKGEsRi5ELk1lLGIpfTt2YXIgak49ZnVuY3Rpb24oYSl7UShhLEguSi53ZCk/VShhLEYuRC5kZSwiMCIpOlUoYSxGLkQuZGUsIjEiKX07dmFyIGtOPWZ1bmN0aW9uKGEsYil7aWYoYj09PXZvaWQgMHx8Yil7dmFyIGM9Vk0oKTtjIT09dm9pZCAwJiZVKGEsRi5ELmtnLGN8fCJlcnJvciIpfXZhciBkPUx0KCk7ZCYmVShhLEYuRC5LZSxkKTt2YXIgZT1LdCgpO2UmJlUoYSxGLkQuT2UsZSl9O3ZhciBsTj1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5raiksYz1FKDUpO2ImJmJbY10mJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSx7cmV0cnk6IjEifSl9O3ZhciBtTj1mdW5jdGlvbihhKXtVcSghMSkuX3VwPT09IjEiJiZVKGEsRi5ELktpLCIxIil9Owp2YXIgbk49ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPT12b2lkIDApcmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZnVuY3Rpb24oKXtyZXR1cm57bW9kZToibSIsbG9jYXRpb246YixzZWxlY3RvcjpjfX0pOnttb2RlOiJtIixsb2NhdGlvbjpiLHNlbGVjdG9yOmN9fSxvTj1mdW5jdGlvbihhLGIsYyxkKXtpZighYylyZXR1cm4hMTtmb3IodmFyIGU9U3RyaW5nKGMudmFsdWUpLGYsZz12b2lkIDAsaD1lLnJlcGxhY2UoL1xbIj8nPy9nLCIuIikucmVwbGFjZSgvIj8nP1xdL2csIiIpLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSYmIVNiKHUsIiMiKSYmIVNiKHUsIi4iKX0pLGw9MDtsPGgubGVuZ3RoO2wrKyl7dmFyIG49aFtsXTtpZihTYihuLCJkYXRhTGF5ZXIuIikpZj11QShuLnN1YnN0cmluZygxMCkpLGc9bk4oZiwiZCIsbik7ZWxzZXt2YXIgcD1uLnNwbGl0KCIuIik7Zj1BW3Auc2hpZnQoKV07CmZvcih2YXIgcT0wO3E8cC5sZW5ndGg7cSsrKWY9ZiYmZltwW3FdXTtnPW5OKGYsImoiLG4pfWlmKGYhPT12b2lkIDApYnJlYWt9aWYoZj09PXZvaWQgMCl0cnl7dmFyIHI9Qi5xdWVyeVNlbGVjdG9yQWxsKGUpO2lmKHImJnIubGVuZ3RoPjApe2Y9W107Zm9yKHZhciB0PTA7dDxyLmxlbmd0aCYmdDwoYj09PSJlbWFpbCJ8fGI9PT0icGhvbmVfbnVtYmVyIj81OjEpO3QrKylmLnB1c2goZmQoclt0XSl8fExiKHJbdF0udmFsdWUpKTtmPWYubGVuZ3RoPT09MT9mWzBdOmY7Zz1uTihmLCJjIixlKX19Y2F0Y2godSl7UCgxNDkpfXJldHVybiBmPyhhW2JdPWYsZCYmZyYmKGRbYl09ZyksITApOiExfTsKdmFyIHBOPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImNjZF9hZGRfMXBfZGF0YSIsITEpJiZYbyhmcCkpe3ZhciBiPWEuTS5pYltGLkQubG1dO2lmKENkKGIpJiZiLmVuYWJsZV9jb2RlKXt2YXIgYz1PKGEuTSxGLkQuQWMpO2lmKGM9PT1udWxsKVYoYSxILkouR24sbnVsbCk7ZWxzZSBpZihiLmVuYWJsZV9jb2RlJiZDZChjKSYmKFp2KGMpLFYoYSxILkouR24sYykpLENkKGIuc2VsZWN0b3JzKSl7dmFyIGQ9SC5KLmlyLGU7dmFyIGY9Yi5zZWxlY3RvcnMsZz1NKDUyMyk7Zz1nPT09dm9pZCAwPyExOmc7aWYoZil7dmFyIGg9e30sbD0hMSxuPXt9O2w9b04oaCwiZW1haWwiLGYuZW1haWwsbil8fGw7bD1vTihoLCJwaG9uZV9udW1iZXIiLGYucGhvbmUsbil8fGw7aC5hZGRyZXNzPVtdO2Zvcih2YXIgcD1mLm5hbWVfYW5kX2FkZHJlc3N8fFtdLHE9MDtxPHAubGVuZ3RoO3ErKyl7dmFyIHI9e30sdD17fTtsPW9OKHIsImZpcnN0X25hbWUiLHBbcV0uZmlyc3RfbmFtZSx0KXx8bDtsPW9OKHIsCiJsYXN0X25hbWUiLHBbcV0ubGFzdF9uYW1lLHQpfHxsO2w9b04ociwic3RyZWV0IixwW3FdLnN0cmVldCx0KXx8bDtsPW9OKHIsImNpdHkiLHBbcV0uY2l0eSx0KXx8bDtsPW9OKHIsInJlZ2lvbiIscFtxXS5yZWdpb24sdCl8fGw7bD1vTihyLCJjb3VudHJ5IixwW3FdLmNvdW50cnksdCl8fGw7bD1vTihyLCJwb3N0YWxfY29kZSIscFtxXS5wb3N0YWxfY29kZSx0KXx8bDtoLmFkZHJlc3MucHVzaChyKTtnJiYoci5fdGFnX21ldGFkYXRhPXQpfWcmJihoLl90YWdfbWV0YWRhdGE9bik7ZT1sP2g6dm9pZCAwfWVsc2UgZT12b2lkIDA7VihhLGQsZSl9fX19O2Z1bmN0aW9uIEZPKGEsYixjLGQpe31GTy5QPSJpbnRlcm5hbC5leGVjdXRlRXZlbnRQcm9jZXNzb3IiO2Z1bmN0aW9uIEdPKGEpe3ZhciBiO3JldHVybiBVZChiLHRoaXMuVCwxKX1HTy5QPSJpbnRlcm5hbC5leGVjdXRlSmF2YXNjcmlwdFN0cmluZyI7ZnVuY3Rpb24gSE8oYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPUE7dHJ5e2I9S2ooYy5lc2NhcGUoYy5hdG9iKGEpKSl9Y2F0Y2goZCl7cmV0dXJufXJldHVybiBifTtmdW5jdGlvbiBJTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1JTy5QPSJpbnRlcm5hbC5nZW5lcmF0ZUNsaWVudElkIjtmdW5jdGlvbiBKTyhhKXt2YXIgYj17fTtyZXR1cm4gVWQoYil9Sk8uUD0iaW50ZXJuYWwuZ2V0QWRzQ29va2llV3JpdGluZ09wdGlvbnMiO2Z1bmN0aW9uIEtPKGEsYil7dmFyIGM9ITE7cmV0dXJuIGN9S08uUD0iaW50ZXJuYWwuZ2V0QWxsb3dBZFBlcnNvbmFsaXphdGlvbiI7ZnVuY3Rpb24gTE8oKXt2YXIgYTtyZXR1cm4gYX1MTy5QPSJpbnRlcm5hbC5nZXRBbmRSZXNldEV2ZW50VXNhZ2UiO2Z1bmN0aW9uIE1PKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM7cmV0dXJuIGN9TU8uUD0iaW50ZXJuYWwuZ2V0QXVpZCI7ZnVuY3Rpb24gTk8oKXt2YXIgYT1bXTtyZXR1cm4gVWQoYSl9Tk8uUD0iaW50ZXJuYWwuZ2V0Q29udGFpbmVySWRzIjtmdW5jdGlvbiBPTygpe3ZhciBhPW5ldyBrYjtMKHRoaXMsInJlYWRfY29udGFpbmVyX2RhdGEiKSxhLnNldCgiY29udGFpbmVySWQiLGlnKSxhLnNldCgidmVyc2lvbiIsa2cpLGEuc2V0KCJlbnZpcm9ubWVudE5hbWUiLGpnKSxhLnNldCgiZGVidWdNb2RlIixsZyksYS5zZXQoInByZXZpZXdNb2RlIixtZy5QbyksYS5zZXQoImVudmlyb25tZW50TW9kZSIsbWcuS3IpLGEuc2V0KCJmaXJzdFBhcnR5U2VydmluZyIsYWsoKSksYS5zZXQoImNvbnRhaW5lclVybCIsS2MpLGEuc2V0KCJpc0dvb2dsZU9ubHlNb2RlIixJZig2MikpLGEuWmEoKTtyZXR1cm4gYX1PTy5wdWJsaWNOYW1lPSJnZXRDb250YWluZXJWZXJzaW9uIjtmdW5jdGlvbiBQTyhhLGIpe2I9Yj09PXZvaWQgMD8hMDpiO3ZhciBjO3JldHVybiBjfVBPLnB1YmxpY05hbWU9ImdldENvb2tpZVZhbHVlcyI7ZnVuY3Rpb24gUU8oKXt2YXIgYT0iIjtyZXR1cm4gYX1RTy5QPSJpbnRlcm5hbC5nZXRDb3JlUGxhdGZvcm1TZXJ2aWNlc1BhcmFtIjtmdW5jdGlvbiBSTygpe3JldHVybiB5bSgpfVJPLlA9ImludGVybmFsLmdldENvdW50cnlDb2RlIjtmdW5jdGlvbiBTTygpe3ZhciBhPVtdO2E9dGsoKTtyZXR1cm4gVWQoYSl9U08uUD0iaW50ZXJuYWwuZ2V0RGVzdGluYXRpb25JZHMiO2Z1bmN0aW9uIFRPKGEpe3ZhciBiPW5ldyBrYjtyZXR1cm4gYn1UTy5QPSJpbnRlcm5hbC5nZXREZXZlbG9wZXJJZHMiO2Z1bmN0aW9uIFVPKGEpe3ZhciBiO3JldHVybiBifVVPLlA9ImludGVybmFsLmdldEVjc2lkQ29va2llVmFsdWUiO2Z1bmN0aW9uIFZPKGEsYil7dmFyIGM9bnVsbDtyZXR1cm4gY31WTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50QXR0cmlidXRlIjtmdW5jdGlvbiBXTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVdPLlA9ImludGVybmFsLmdldEVsZW1lbnRCeUlkIjtmdW5jdGlvbiBYTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1YTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50SW5uZXJUZXh0IjtmdW5jdGlvbiBZTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVlPLlA9ImludGVybmFsLmdldEVsZW1lbnRQYXJlbnQiO2Z1bmN0aW9uIFpPKGEpe3ZhciBiPW51bGw7cmV0dXJuIGJ9Wk8uUD0iaW50ZXJuYWwuZ2V0RWxlbWVudFByZXZpb3VzU2libGluZyI7ZnVuY3Rpb24gJE8oYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjKX0kTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50UHJvcGVydHkiO2Z1bmN0aW9uIGFQKGEpe3ZhciBiO3JldHVybiBifWFQLlA9ImludGVybmFsLmdldEVsZW1lbnRWYWx1ZSI7ZnVuY3Rpb24gYlAoYSl7dmFyIGI9MDtyZXR1cm4gYn1iUC5QPSJpbnRlcm5hbC5nZXRFbGVtZW50VmlzaWJpbGl0eVJhdGlvIjtmdW5jdGlvbiBjUChhKXt2YXIgYj1udWxsO3JldHVybiBifWNQLlA9ImludGVybmFsLmdldEVsZW1lbnRzQnlDc3NTZWxlY3RvciI7CmZ1bmN0aW9uIGRQKGEpe3ZhciBiO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZXZlbnRfZGF0YSIsYSk7dmFyIGM7YTp7dmFyIGQ9YSxlPVhGKHRoaXMpLm9yaWdpbmFsRXZlbnREYXRhO2lmKGUpe2Zvcih2YXIgZj1lLGc9e30saD17fSxsPXt9LG49W10scD1kLnNwbGl0KCJcXFxcIikscT0wO3E8cC5sZW5ndGg7cSsrKXtmb3IodmFyIHI9cFtxXS5zcGxpdCgiXFwuIiksdD0wO3Q8ci5sZW5ndGg7dCsrKXtmb3IodmFyIHU9clt0XS5zcGxpdCgiLiIpLHY9MDt2PHUubGVuZ3RoO3YrKyluLnB1c2godVt2XSksdiE9PXUubGVuZ3RoLTEmJm4ucHVzaChsKTt0IT09ci5sZW5ndGgtMSYmbi5wdXNoKGgpfXEhPT1wLmxlbmd0aC0xJiZuLnB1c2goZyl9Zm9yKHZhciB4PVtdLHk9IiIsej1tKG4pLEM9ei5uZXh0KCk7IUMuZG9uZTtDPQp6Lm5leHQoKSl7dmFyIEQ9Qy52YWx1ZTtEPT09bD8oeC5wdXNoKHkpLHk9IiIpOnk9RD09PWc/eSsiXFwiOkQ9PT1oP3krIi4iOnkrRH15JiZ4LnB1c2goeSk7Zm9yKHZhciBJPW0oeCksRz1JLm5leHQoKTshRy5kb25lO0c9SS5uZXh0KCkpe2lmKGY9PW51bGwpe2M9dm9pZCAwO2JyZWFrIGF9Zj1mW0cudmFsdWVdfWM9Zn1lbHNlIGM9dm9pZCAwfWI9VWQoYyx0aGlzLlQsMSk7cmV0dXJuIGJ9ZFAuUD0iaW50ZXJuYWwuZ2V0RXZlbnREYXRhIjtmdW5jdGlvbiBlUChhKXt2YXIgYj1udWxsO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZG9tX2VsZW1lbnRzIiwiY3NzIixhKTt0cnl7dmFyIGM9Qi5xdWVyeVNlbGVjdG9yKGEpO2MmJihiPW5ldyBQZChjKSl9Y2F0Y2goZCl7cmV0dXJuIG51bGx9cmV0dXJuIGJ9ZVAuUD0iaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciI7ZnVuY3Rpb24gZlAoKXt2YXIgYTtyZXR1cm4gYX1mUC5QPSJpbnRlcm5hbC5nZXRHc2FFeHBlcmltZW50SWQiO2Z1bmN0aW9uIGdQKCl7cmV0dXJuIG5ldyBQZChQayl9Z1AuUD0iaW50ZXJuYWwuZ2V0SHRtbElkIjtmdW5jdGlvbiBoUCgpe3ZhciBhO3JldHVybiBhfWhQLlA9ImludGVybmFsLmdldElmcmFtaW5nU3RhdGUiO2Z1bmN0aW9uIGlQKGEsYil7dmFyIGM9e307cmV0dXJuIFVkKGMpfWlQLlA9ImludGVybmFsLmdldExpbmtlclZhbHVlRnJvbUxvY2F0aW9uIjtmdW5jdGlvbiBqUCgpe3ZhciBhPW5ldyBrYjtyZXR1cm4gYX1qUC5QPSJpbnRlcm5hbC5nZXRQcml2YWN5U3RyaW5ncyI7ZnVuY3Rpb24ga1AoYSxiKXt2YXIgYztpZighbGgoYSl8fCFsaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nIl0sYXJndW1lbnRzKTt2YXIgZD0kSChhKXx8e307Yz1VZChkW2JdLHRoaXMuVCk7cmV0dXJuIGN9a1AuUD0iaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIjtmdW5jdGlvbiBsUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IXBoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJib29sZWFufHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7TCh0aGlzLCJnZXRfdXJsIiwicXVlcnkiLGEpO3ZhciBkPUxqKFJqKEEubG9jYXRpb24uaHJlZiksInF1ZXJ5IiksZT1JaihkLGEsYik7Yz1VZChlLHRoaXMuVCk7cmV0dXJuIGN9bFAucHVibGljTmFtZT0iZ2V0UXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBtUChhLGIpe3ZhciBjO3JldHVybiBjfW1QLnB1YmxpY05hbWU9ImdldFJlZmVycmVyUXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBuUChhKXt2YXIgYj0iIjtyZXR1cm4gYn1uUC5wdWJsaWNOYW1lPSJnZXRSZWZlcnJlclVybCI7ZnVuY3Rpb24gb1AoKXtyZXR1cm4gem0oKX1vUC5QPSJpbnRlcm5hbC5nZXRSZWdpb25Db2RlIjtmdW5jdGlvbiBwUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBkPWVEKGEpO2M9VWQoZFtiXSx0aGlzLlQpO3JldHVybiBjfXBQLlA9ImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gcVAoYSxiKXt2YXIgYz1udWxsOwpyZXR1cm4gY31xUC5QPSJpbnRlcm5hbC5nZXRTY29wZWRFbGVtZW50c0J5Q3NzU2VsZWN0b3IiO2Z1bmN0aW9uIHJQKCl7dmFyIGE9bmV3IGtiO2Euc2V0KCJ3aWR0aCIsMCk7YS5zZXQoImhlaWdodCIsMCk7cmV0dXJuIGF9clAuUD0iaW50ZXJuYWwuZ2V0U2NyZWVuRGltZW5zaW9ucyI7ZnVuY3Rpb24gc1AoKXt2YXIgYT0iIjtyZXR1cm4gYX1zUC5QPSJpbnRlcm5hbC5nZXRUb3BTYW1lRG9tYWluVXJsIjtmdW5jdGlvbiB0UCgpe3ZhciBhPSIiO3JldHVybiBhfXRQLlA9ImludGVybmFsLmdldFRvcFdpbmRvd1VybCI7ZnVuY3Rpb24gdVAoYSl7dmFyIGI9IiI7aWYoIW1oKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmd8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtMKHRoaXMsImdldF91cmwiLGEpO2I9TGooUmooQS5sb2NhdGlvbi5ocmVmKSxhKTtyZXR1cm4gYn11UC5wdWJsaWNOYW1lPSJnZXRVcmwiO2Z1bmN0aW9uIHZQKCl7TCh0aGlzLCJnZXRfdXNlcl9hZ2VudCIpO3JldHVybiBIYy51c2VyQWdlbnR9dlAucHVibGljTmFtZT0iZ2V0VXNlckFnZW50Ijt2UC5QPSJpbnRlcm5hbC5nZXRVc2VyQWdlbnQiO2Z1bmN0aW9uIHdQKCl7dmFyIGE7cmV0dXJuIGE/VWQoRU0oYSkpOmF9d1AuUD0iaW50ZXJuYWwuZ2V0VXNlckFnZW50Q2xpZW50SGludHMiO3ZhciB5UD1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50TmFtZT09PUYuRC5zYyYmRWwoKSYmYmsoWksoYSkpLGM9UShhLEguSi5kbiksZD1RKGEsSC5KLktrKSxlPVEoYSxILkoubWcpLGY9UShhLEguSi5UZSksZz1RKGEsSC5KLkZjKSxoPVEoYSxILkouaGQpLGw9UShhLEguSi5yZyksbj1RKGEsSC5KLk1oKSxwPVEoYSxILkouTmgpLHE9ISFZSyhhKXx8ISFRKGEsSC5KLnBwKTtyZXR1cm4hKCFuZCgpJiYha2QoKXx8ZXx8cXx8Znx8Z3x8aHx8bHx8cHx8bnx8Ynx8Y3x8IWQmJnhQKCkpfSx4UD1mdW5jdGlvbigpe3JldHVybiBhbCg5LGZ1bmN0aW9uKCl7cmV0dXJuITF9KX07ZnVuY3Rpb24gelAoKXt2YXIgYT1BO3JldHVybiBhLmdhR2xvYmFsPWEuZ2FHbG9iYWx8fHt9fWZ1bmN0aW9uIEFQKGEsYil7dmFyIGM9elAoKTtpZihjLnZpZD09PXZvaWQgMHx8YiYmIWMuZnJvbV9jb29raWUpYy52aWQ9YSxjLmZyb21fY29va2llPWJ9O3ZhciBCUD1bIkdBMSJdOwp2YXIgQ1A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVEoYSxILkouUGspO2lmKGQ9PT12b2lkIDB8fGM8PWQpVShhLEYuRC5LYixiKSxWKGEsSC5KLlBrLGMpfSxFUD1mdW5jdGlvbihhLGIpe3ZhciBjPVIoYSxGLkQuS2IpO2lmKE8oYS5NLEYuRC5aYykmJk8oYS5NLEYuRC5ZYyl8fGImJmM9PT1iKXJldHVybiBjO2lmKGMpe2M9IiIrYztpZighRFAoYyxhKSlyZXR1cm4gUCgzMSksYS5pc0Fib3J0ZWQ9ITAsIiI7QVAoYyxYbyhGLkQucmEpKTtyZXR1cm4gY31QKDMyKTthLmlzQWJvcnRlZD0hMDtyZXR1cm4iIn0sRlA9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYz1iLnByZWZpeCsiX2dhIixkPUJ2KGIucHJlZml4KyJfZ2EiLGIuZG9tYWluLGIucGF0aCxCUCxGLkQucmEpO2lmKCFkKXt2YXIgZT1TdHJpbmcoTyhhLk0sRi5ELklkLCIiKSk7ZSYmZSE9PWMmJihkPUJ2KGUsYi5kb21haW4sYi5wYXRoLEJQLEYuRC5yYSkpfXJldHVybiBkfSxEUD1mdW5jdGlvbihhLGIpe3ZhciBjOwp2YXIgZD1RKGIsSC5KLkdhKSxlPWQucHJlZml4KyJfZ2EiLGY9dXEoZCx2b2lkIDAsdm9pZCAwLEYuRC5yYSk7aWYoTyhiLk0sRi5ELkpkKT09PSExJiZGUChiKT09PWEpYz0hMDtlbHNle3ZhciBnO2c9W0JQWzBdLHRxKGQuZG9tYWluLGQucGF0aCksYV0uam9pbigiLiIpO2M9b3EoZSxnLGYpIT09MX1yZXR1cm4gY307CnZhciBHUD1mdW5jdGlvbihhKXt2YXIgYj0wLGM9MDtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtiPU5iKCl9LHN0b3A6ZnVuY3Rpb24oKXtjPXRoaXMuZ2V0KCl9LGdldDpmdW5jdGlvbigpe3ZhciBkPTA7YS5WaigpJiYoZD1OYigpLWIpO3JldHVybiBkK2N9fX0sSFA9ZnVuY3Rpb24oKXt0aGlzLkg9dm9pZCAwO3RoaXMuSz0wO3RoaXMuaXNBY3RpdmU9dGhpcy5pc1Zpc2libGU9dGhpcy5OPSExO3RoaXMuWj10aGlzLlI9dm9pZCAwfTtrPUhQLnByb3RvdHlwZTtrLktxPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYoIXRoaXMuSCl7dGhpcy5OPUIuaGFzRm9jdXMoKTt0aGlzLmlzVmlzaWJsZT0hQi5oaWRkZW47dGhpcy5pc0FjdGl2ZT0hMDt2YXIgYz1mdW5jdGlvbihlLGYsZyl7JGMoZSxmLGZ1bmN0aW9uKGgpe2IuSC5zdG9wKCk7ZyhoKTtiLlZqKCkmJmIuSC5zdGFydCgpfSl9LGQ9QTtjKGQsImZvY3VzIixmdW5jdGlvbigpe2IuTj0hMH0pO2MoZCwiYmx1ciIsZnVuY3Rpb24oKXtiLk49CiExfSk7YyhkLCJwYWdlc2hvdyIsZnVuY3Rpb24oZSl7Yi5pc0FjdGl2ZT0hMDtlLnBlcnNpc3RlZCYmUCg1Nik7Yi5aJiZiLlooKX0pO2MoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7Yi5pc0FjdGl2ZT0hMTtiLlImJmIuUigpfSk7YyhCLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2IuaXNWaXNpYmxlPSFCLmhpZGRlbn0pO2JrKFpLKGEpKSYmIU9jKCkmJmMoZCwiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe1prKDksITApfSk7dGhpcy5xayghMCk7dGhpcy5LPTB9fTtrLnFrPWZ1bmN0aW9uKGEpe2lmKChhPT09dm9pZCAwPzA6YSl8fHRoaXMuSCl0aGlzLksrPXRoaXMuWWgoKSx0aGlzLkg9R1AodGhpcyksdGhpcy5WaigpJiZ0aGlzLkguc3RhcnQoKX07ay5LdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLlloKCk7Yj4wJiZVKGEsRi5ELm5oLGIpfTtrLmxzPWZ1bmN0aW9uKGEpe1UoYSxGLkQubmgpO3RoaXMucWsoKTt0aGlzLks9MH07ay5Waj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4mJgp0aGlzLmlzVmlzaWJsZSYmdGhpcy5pc0FjdGl2ZX07ay5Ycj1mdW5jdGlvbigpe3JldHVybiB0aGlzLksrdGhpcy5ZaCgpfTtrLlloPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCYmdGhpcy5ILmdldCgpfHwwfTtrLmh0PWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLkNvPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfTt2YXIgSVA9ZnVuY3Rpb24oYSl7c2IoIkdBNF9FVkVOVCIsYSl9O3ZhciBKUD1mdW5jdGlvbihhKXt2YXIgYixjPVEoYSxILkoud20pO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspSVAoY1tkXSk7KGI9d2IocmIuR0E0X0VWRU5UfHxbXSkpJiZVKGEsIl9ldSIsYil9Owp2YXIgTVA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFJlZ0V4cCgiXiIrKCgoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpfHwiIikrIl9nYV9cXHcrJCIpKSxjPXlxKGZ1bmN0aW9uKHApe3JldHVybiBiLnRlc3QocCl9KSxkPXt9LGU7Zm9yKGUgaW4gYylpZihjLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1LUChjW2VdKTtpZihmKXt2YXIgZz1icShmLDIpO2lmKGcpe3ZhciBoPUxQKGcpO2lmKGgpe3ZhciBsPXZvaWQgMCxuPSgoKGw9YSk9PW51bGw/dm9pZCAwOmwucHJlZml4KXx8IiIpLmxlbmd0aCs0O2RbIkctIitlLnN1YnN0cmluZyhuKV09aH19fX1yZXR1cm4gZH0sTlA9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7YTp7dmFyIGM9KFNiKGEsInMiKSYmYS5pbmRleE9mKCIuIik9PT0tMT8iR1MyIjoiR1MxIikrIi4xLiIrYTt0cnl7Yj0kcChjLDIpO2JyZWFrIGF9Y2F0Y2goZCl7fWI9dm9pZCAwfXJldHVybiBifX0sS1A9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGghPT0wKXtmb3IodmFyIGIsCmM9LUluZmluaXR5LGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtpZihmLnQhPT12b2lkIDApe3ZhciBnPU51bWJlcihmLnQpOyFpc05hTihnKSYmZz5jJiYoYz1nLGI9Zil9fXJldHVybiBifX0senE9ZnVuY3Rpb24oYSl7YSYmKGE9PT0iR1MxIj9JUChKLlUuS20pOmE9PT0iR1MyIiYmSVAoSi5VLkxtKSl9LExQPWZ1bmN0aW9uKGEpe3ZhciBiPU5QKGEpO2lmKGIpe3ZhciBjPU51bWJlcihiLm8pLGQ9TnVtYmVyKGIudCksZT1OdW1iZXIoYi5qfHwwKTtjfHxJUChKLlUuVW0pO2R8fElQKEouVS5UbSk7aXNOYU4oZSkmJklQKEouVS5TbSk7aWYoYyYmZCYmIWlzTmFOKGUpKXt2YXIgZj1iLmgsZz1mJiZmIT09IjAiP1N0cmluZyhmKTp2b2lkIDAsaD1iLmQ/U3RyaW5nKGIuZCk6dm9pZCAwLGw9e307cmV0dXJuIGwucz1TdHJpbmcoYi5zKSxsLm89YyxsLmc9ISFOdW1iZXIoYi5nKSxsLnQ9ZCxsLmQ9aCxsLmo9ZSxsLmw9Yi5sPT09IjEiLApsLmg9ZyxsfX19Owp2YXIgUFA9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiBhO2lmKCFhKXJldHVybiBiO3ZhciBkPUxQKGEpO2lmKCFkKXJldHVybiBiO3ZhciBlLGY9SWIoKGU9TyhjLk0sRi5ELnloKSkhPW51bGw/ZTozMCksZz1RKGMsSC5KLkViKTtpZighKE1hdGguZmxvb3IoZy8xRTMpPmQudCtmKjYwKSlyZXR1cm4gYTt2YXIgaD1MUChiKTtpZighaClyZXR1cm4gYTtoLm89ZC5vKzE7dmFyIGw7cmV0dXJuKGw9T1AoaCkpIT1udWxsP2w6Yn0sUlA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1RKGIsSC5KLkdhKSxkPVFQKGIsYyksZT1OUChhKTtpZighZSlyZXR1cm4hMTt2YXIgZj11cShjfHx7fSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSk7b3EoZCx2b2lkIDAsZik7cmV0dXJuIEFxKGQsZSwyLGMpIT09MX0sU1A9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYzt2YXIgZD1RUChhLGIpLGU7Yjp7dmFyIGY9enEsZz1acFsyXTtpZihnKXt2YXIgaCxsPXJxKGIuZG9tYWluKSxuPXNxKGIucGF0aCksCnA9T2JqZWN0LmtleXMoZy5qaSkscT12cS5nZXQoMikscjtpZihoPShyPWdxKGQsbCxuLHAscSkpPT1udWxsP3ZvaWQgMDpyLkJyKXt2YXIgdD0kcChoLDIsZik7ZT10P3hxKHQpOnZvaWQgMDticmVhayBifX1lPXZvaWQgMH1pZihlKXt2YXIgdT13cShkLDIsenEpO2lmKHUmJnUubGVuZ3RoPjEpe0lQKEouVS5KbSk7dmFyIHY9S1AodSk7diYmdi50IT09ZS50JiYoSVAoSi5VLk1tKSxlPXYpfWM9YnEoZSwyKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfSxUUD1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLkViKSxjPXt9O2Mucz1SKGEsRi5ELnhjKTtjLm89UihhLEYuRC5BaCk7dmFyIGQ7ZD1SKGEsRi5ELnpoKTt2YXIgZT0oYy5nPWQsYy50PU1hdGguZmxvb3IoYi8xRTMpLGMuZD1RKGEsSC5KLm9nKSxjLmo9UShhLEguSi5wZyl8fDAsYy5sPSEhUShhLEguSi5ybSksYy5oPVIoYSxGLkQub2gpLGMpO3JldHVybiBPUChlKX0sT1A9ZnVuY3Rpb24oYSl7aWYoYS5zJiZhLm8pe3ZhciBiPQp7fSxjPShiLnM9YS5zLGIubz1TdHJpbmcoYS5vKSxiLmc9SWIoYS5nKT8iMSI6IjAiLGIudD1TdHJpbmcoYS50KSxiLmo9U3RyaW5nKGEuaiksYi5sPWEubD8iMSI6IjAiLGIuaD1hLmh8fCIwIixiLmQ9YS5kLGIpO3JldHVybiBicShjLDIpfX0sUVA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5wcmVmaXgrIl9nYV8iK2EudGFyZ2V0Lmlkc1tkQ1s2XV19Owp2YXIgVVA9ZnVuY3Rpb24oKXtyZXR1cm4gYWwoMixmdW5jdGlvbigpe3JldHVybiExfSl9LFZQPWZ1bmN0aW9uKGEpe3ZhciBiPU8oYS5NLEYuRC5EYiksYz1hLk0uaWJbRi5ELkRiXTtpZihjPT09YilyZXR1cm4gYzt2YXIgZD1FZChiLG51bGwpO2MmJmNbRi5ELkFhXSYmKGRbRi5ELkFhXT0oZFtGLkQuQWFdfHxbXSkuY29uY2F0KGNbRi5ELkFhXSkpO3JldHVybiBkfSxXUD1mdW5jdGlvbihhLGIpe3ZhciBjPVVxKCEwKTtyZXR1cm4gYy5fdXAhPT0iMSI/e306e2NsaWVudElkOmNbYV0semI6Y1tiXX19LFhQPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1VcSghMCksZT1kW2JdO2UmJihDUChhLGUsMiksRFAoZSxhKSk7dmFyIGY9ZFtjXTtmJiZSUChmLGEpO3JldHVybntjbGllbnRJZDplLHpiOmZ9fSxZUD1mdW5jdGlvbigpe3ZhciBhPU5qKEEubG9jYXRpb24sImhvc3QiKSxiPU5qKFJqKEIucmVmZXJyZXIpLCJob3N0Iik7cmV0dXJuIGEmJmI/YT09PWJ8fGEuaW5kZXhPZigiLiIrYik+PQowfHxiLmluZGV4T2YoIi4iK2EpPj0wPyEwOiExOiExfSxaUD1mdW5jdGlvbihhKXtpZighTyhhLk0sRi5ELnpjKSlyZXR1cm57fTt2YXIgYj1RKGEsSC5KLkdhKSxjPWIucHJlZml4KyJfZ2EiLGQ9UVAoYSxiKTticihmdW5jdGlvbigpe3ZhciBlO2lmKFhvKCJhbmFseXRpY3Nfc3RvcmFnZSIpKWU9e307ZWxzZXt2YXIgZj17X3VwOiIxIn0sZztnPVIoYSxGLkQuS2IpO2U9KGZbY109ZyxmW2RdPVRQKGEpLGYpfXJldHVybiBlfSwxKTtyZXR1cm4hWG8oImFuYWx5dGljc19zdG9yYWdlIikmJllQKCk/V1AoYyxkKTp7fX0sJFA9ZnVuY3Rpb24oYSl7dmFyIGI9VlAoYSl8fHt9LGM9UShhLEguSi5HYSksZD1jLnByZWZpeCsiX2dhIixlPVFQKGEsYyksZj17fTtkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pJiYoZj1YUChhLGQsZSksZi5jbGllbnRJZCYmZi56YiYmWmsoMiwhMCkpO2JbRi5ELkFhXSYmYXIoZnVuY3Rpb24oKXt2YXIgZz17fSxoPUZQKGEpO2gmJihnW2RdPWgpO3ZhciBsPVNQKGEpOwpsJiYoZ1tlXT1sKTt2YXIgbj1jcSgiRlBMQyIsdm9pZCAwLHZvaWQgMCxGLkQucmEpO24ubGVuZ3RoJiYoZy5fZnBsYz1uWzBdKTtyZXR1cm4gZ30sYltGLkQuQWFdLGJbRi5ELmFkXSwhIWJbRi5ELndjXSk7cmV0dXJuIGZ9O3ZhciBhUT1mdW5jdGlvbihhKXtpZighUShhLEguSi5iZSkmJmVrKGEuTSkpe3ZhciBiPVZQKGEpfHx7fSxjPShkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pP1VxKCEwKS5fZnBsYzp2b2lkIDApfHwoY3EoIkZQTEMiLHZvaWQgMCx2b2lkIDAsRi5ELnJhKS5sZW5ndGg+MD92b2lkIDA6IjAiKTtVKGEsIl9mcGxjIixjKX19O2Z1bmN0aW9uIGJRKGEpeyhiayhaSyhhKSl8fFdqKCkpJiZVKGEsRi5ELm9tLHptKCl8fHltKCkpOyFiayhaSyhhKSkmJldqKCkmJlUoYSxGLkQuWWksIjo6Iil9ZnVuY3Rpb24gY1EoYSl7V2ooKSYmKGJrKFpLKGEpKXx8RG0oKXx8VShhLEYuRC5TbCwhMCkpfTt2YXIgZVE9ZnVuY3Rpb24oYSxiKXtraigiZ3JsIixmdW5jdGlvbigpe3JldHVybiBkUSgpfSkoYil8fChQKDM1KSxhLmlzQWJvcnRlZD0hMCl9LGRRPWZ1bmN0aW9uKCl7dmFyIGE9TmIoKSxiPWErODY0RTUsYz0yMCxkPTVFMztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9TmIoKTtmPj1iJiYoYj1mKzg2NEU1LGQ9NUUzKTtjPU1hdGgubWluKGMrKGYtYSkvMUUzKjUsMjApO2E9Zjt2YXIgZz0hMTtkPDF8fGM8MXx8KGc9ITAsZC0tLGMtLSk7ZSYmKGUuSHI9ZCxlLnVyPWMpO3JldHVybiBnfX07CnZhciBmUT1mdW5jdGlvbihhKXt2YXIgYj1SKGEsRi5ELlVhKTtyZXR1cm4gTGooUmooYiksImhvc3QiLCEwKX0sZ1E9ZnVuY3Rpb24oYSl7aWYoTyhhLk0sRi5ELldmKSE9PXZvaWQgMClhLmNvcHlUb0hpdERhdGEoRi5ELldmKTtlbHNle3ZhciBiPU8oYS5NLEYuRC5hbSksYyxkO2E6e2lmKFVQKCkpe3ZhciBlPVZQKGEpfHx7fTtpZihlJiZlW0YuRC5BYV0pZm9yKHZhciBmPWZRKGEpLGc9ZVtGLkQuQWFdLGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdaW5zdGFuY2VvZiBSZWdFeHApe2lmKGdbaF0udGVzdChmKSl7ZD0hMDticmVhayBhfX1lbHNlIGlmKGYuaW5kZXhPZihnW2hdKT49MCl7ZD0hMDticmVhayBhfX1kPSExfWlmKCEoYz1kKSl7dmFyIGw7aWYobD1iKWE6e2Zvcih2YXIgbj1iLmluY2x1ZGVfY29uZGl0aW9uc3x8W10scD1mUShhKSxxPTA7cTxuLmxlbmd0aDtxKyspaWYobltxXS50ZXN0KHApKXtsPSEwO2JyZWFrIGF9bD0hMX1jPWx9YyYmKFUoYSxGLkQuV2YsIjEiKSwKSVAoSi5VLm5uKSl9fTtmdW5jdGlvbiBoUShhLGIsYyxkKXt2YXIgZTtpZigobmQoKXx8a2QoKSkmJlhqKCkmJlhqKCkhPT0iLyIpe3ZhciBmPVJqKGEpO2U9SWYoNTApJiZkJiZUYihmLnBhdGhuYW1lLCIvZy9jb2xsZWN0Iik/MjooZHx8IVdqKCl8fERtKCk/MDpUYihmLnBhdGhuYW1lLCIvZ2EvZy9jIil8fFRiKGYucGF0aG5hbWUsIi9hZy9nL2MiKSk/MTowfWVsc2UgZT0wO3N3aXRjaChlKXtjYXNlIDI6dmFyIGc7aWYoTSg1NDYpKXt2YXIgaD1UYihhLCIvZy9jb2xsZWN0Iik/YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xMCk6YSxsPWlRKCksbj1oK2wscD1qUSgiL2cvY29sbGVjdCIsYixjKTtnPXtJYzpuLGtmOiIiLGJvZHk6cH19ZWxzZSBnPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gZztjYXNlIDE6dmFyIHE7aWYoTSg1NDcpKXt2YXIgcj1pUSgpLHQ9YS5pbmRleE9mKHIpLHU9YS5zdWJzdHJpbmcoMCx0KStyLHY9alEoYS5zdWJzdHJpbmcodCtyLmxlbmd0aC0xKSxiLGMpO3E9e0ljOnUsa2Y6IiIsCmJvZHk6dn19ZWxzZSBxPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gcTtkZWZhdWx0OnJldHVybntJYzphLGtmOmIsYm9keTpjfX19ZnVuY3Rpb24gaVEoKXt2YXIgYT1YaigpO2lmKCFhKXJldHVybiIiO1NiKGEsIi8iKXx8KGE9Ii8iK2EpO1RiKGEsIi8iKXx8KGErPSIvIik7cmV0dXJuIGF9ZnVuY3Rpb24galEoYSxiLGMpe3ZhciBkPVthXTtiJiZkLnB1c2goIj8iLGIpO2MmJmQucHVzaCgiXHJcbiIsYyk7cmV0dXJuIGQuam9pbigiIil9Owp2YXIga1E9ZnVuY3Rpb24oYSxiKXtUdCgpJiYoYS5nY3M9VXQoKSxRKGIsSC5KLkdoKSYmKGEuZ2N1PSIxIikpO2EuZ2NkPVl0KGIuTSk7YS5ucGE9UShiLEguSi53ZCk/IjAiOiIxIjt6bSgpPT09IlVTLUNPIiYmKGEuX25nPSIxIil9LGxRPWZ1bmN0aW9uKGEpe2lmKFEoYSxILkouYmUpKXJldHVybnt1cmw6ZmsoImh0dHBzOi8vd3d3Lm1lcmNoYW50LWNlbnRlci1hbmFseXRpY3MuZ29vZyIsdm9pZCAwLCIiKSsiL21jL2NvbGxlY3QiLGVuZHBvaW50OjIwfTt2YXIgYj1ZaihlayhhLk0pLCIvZy9jb2xsZWN0Iik7aWYoYilyZXR1cm57dXJsOmIsZW5kcG9pbnQ6MTZ9O3ZhciBjO2M9UShhLEguSi5ybikmJiFRKGEsSC5KLkZjKT8xNzoxNjtyZXR1cm57dXJsOk1tW2NdKHZvaWQgMCksZW5kcG9pbnQ6Y319LG1RPXt9O21RW0YuRC5LYl09ImNpZCI7bVFbRi5ELnhpXT0iZ2N1dCI7bVFbRi5ELkZlXT0iYXJlIjttUVtGLkQuamhdPSJwc2NkbCI7bVFbRi5ELk5kXT0iZXhjaWQiO21RW0YuRC5HaV09CiJfZmlkIjttUVtGLkQuT2xdPSJfZ2VvIjttUVtGLkQuWGNdPSJnZGlkIjttUVtGLkQuTGVdPSJfbmciO21RW0YuRC5NZV09ImZybSI7bVFbRi5ELldmXT0iaXIiO21RW0YuRC5TbF09ImZwIjttUVtGLkQudGJdPSJ1bCI7bVFbRi5ELk1pXT0ibmkiO21RW0YuRC5tcV09InBhZSI7bVFbRi5ELnhoXT0iX3JkaSI7bVFbRi5ELmJkXT0ic3IiO21RW0YuRC5RaV09InRlc3Rvbmx5IjttUVtGLkQuUWVdPSJ0aWQiO21RW0YuRC5SaV09InR0IjttUVtGLkQuQmNdPSJlY19tb2RlIjttUVtGLkQuWm1dPSJndG1fdXAiO21RW0YuRC5jZ109InVhYSI7bVFbRi5ELmRnXT0idWFiIjttUVtGLkQuZWddPSJ1YWZ2bCI7bVFbRi5ELmZnXT0idWFtYiI7bVFbRi5ELmdnXT0idWFtIjsKbVFbRi5ELmhnXT0idWFwIjttUVtGLkQuaWddPSJ1YXB2IjttUVtGLkQuamddPSJ1YXciO21RW0YuRC5vbV09InVyIjttUVtGLkQuWWldPSJfdWlwIjttUVtGLkQubHFdPSJfcHJzIjttUVtGLkQuUGRdPSJscHMiO21RW0YuRC5CZV09ImdjbGdzIjttUVtGLkQuRGVdPSJnY2xzdCI7bVFbRi5ELkNlXT0iZ2NsbHAiO3ZhciBuUT17fTtuUVtGLkQuR2ZdPSJjYyI7blFbRi5ELkhmXT0iY2kiO25RW0YuRC5JZl09ImNtIjtuUVtGLkQuSmZdPSJjbiI7blFbRi5ELkxmXT0iY3MiO25RW0YuRC5NZl09ImNrIjtuUVtGLkQuZWJdPSJjdSI7blFbRi5ELlZmXT0iX3R1IjtuUVtGLkQuemFdPSJkbCI7blFbRi5ELllmXT0iZHAiO25RW0YuRC5VYV09ImRyIjtuUVtGLkQuTWJdPSJkdCI7blFbRi5ELnpoXT0ic2VnIjtuUVtGLkQueGNdPQoic2lkIjtuUVtGLkQuQWhdPSJzY3QiO25RW0YuRC5mYl09InVpZCI7dmFyIG9RPXt9O29RW0YuRC5uaF09Il9ldCI7b1FbRi5ELlZjXT0iZWRpZCI7b1FbRi5ELk1kXT0iZXZuaWQiO00oOTQpJiYob1EuX2V1PSJfZXUiKTt2YXIgcFE9e307cFFbRi5ELkdmXT0iY2MiO3BRW0YuRC5IZl09ImNpIjtwUVtGLkQuSWZdPSJjbSI7cFFbRi5ELkpmXT0iY24iO3BRW0YuRC5MZl09ImNzIjtwUVtGLkQuTWZdPSJjayI7dmFyIHFRPXt9LHJRPShxUVtGLkQuQWNdPTEscVEpLHNRPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGRhLG1hKXtpZihtYSE9PXZvaWQgMCYmIUJvLmhhc093blByb3BlcnR5KGRhKSl7bWE9PT1udWxsJiYobWE9IiIpO3ZhciBQYTt2YXIgRmE9bWE7ZGEhPT1GLkQub2g/UGE9ITE6UShhLEguSi5sZyl8fGJrKFpLKGEpKT8oZS5lY2lkPUZhLFBhPSEwKTpQYT12b2lkIDA7aWYoIVBhKXt2YXIgcWE9bWE7bWE9PT0hMCYmKHFhPSIxIik7bWE9PT0hMSYmKHFhPSIwIik7cWE9ClN0cmluZyhxYSk7dmFyIGliO2lmKGRhIT09Ri5ELk5kJiZkYSE9PUYuRC5NZHx8TSg1MDQpKWlmKG1RW2RhXSlpYj1tUVtkYV0sdltpYl09cWE7ZWxzZSBpZihuUVtkYV0paWI9blFbZGFdLGdbaWJdPXFhO2Vsc2UgaWYob1FbZGFdKWliPW9RW2RhXSxmW2liXT1xYTtlbHNlIGlmKFNiKGRhLCJfJiIpKWliPWRhLnN1YnN0cmluZygyKSx2W2liXT1xYTtlbHNlIGlmKGRhLmNoYXJBdCgwKT09PSJfIil2W2RhXT1xYTtlbHNle3ZhciBYYjtwUVtkYV0/WGI9ITA6ZGEhPT1GLkQuS2Y/WGI9ITE6KHR5cGVvZiBtYSE9PSJvYmplY3QiJiZ1KGRhLG1hKSxYYj0hMCk7WGJ8fHUoZGEsbWEpfWVsc2UgdShkYSxtYSl9fX12YXIgZT17fSxmPXt9LGc9e307ZS52PSIyIjtlLnRpZD1hLnRhcmdldC5kZXN0aW5hdGlvbklkO2UuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxlZjpRKGEsSC5KLkNjKX0pO2UuX3A9JGsoMjUpO2MmJihjLmhhc1VwZHx8Yy5oYWRFcnJvcikmJihlLmVtPWMucGFyYW0pO1EoYSwKSC5KLnJnKSYmKGUuX2dhej0xKTtrUShlLGEpO2F1KCkmJihlLmRtYV9jcHM9WnQoKSk7ZS5kbWE9JHQoKTt2dChFdCgpKSYmKGUudGNmZD1idSgpKTt2YXIgaD1DcChhKTtoJiYoZy50YWdfZXhwPWgpO3ZhciBsPVIoYSxGLkQuWGMpO2wmJihlLmdkaWQ9bCk7Zi5lbj1TdHJpbmcoYS5ldmVudE5hbWUpO2lmKFEoYSxILkoubmcpKXt2YXIgbj1RKGEsSC5KLlltKTtmLl9mdj1uPzI6MX1RKGEsSC5KLkhoKSYmKGYuX25zaT0xKTtpZihRKGEsSC5KLlRlKSl7dmFyIHA9UShhLEguSi5ibik7Zi5fc3M9cD8yOjF9UShhLEguSi5tZykmJihmLl9jPTEpO1EoYSxILkouYWUpJiYoZi5fZWU9MSk7aWYoUShhLEguSi5XbSkpe3ZhciBxPVIoYSxGLkQuSGEpfHxPKGEuTSxGLkQuSGEpO2lmKEFycmF5LmlzQXJyYXkocSkpZm9yKHZhciByPTA7cjxxLmxlbmd0aCYmcjwyMDA7cisrKWZbInByIisocisxKV09dGcocVtyXSl9dmFyIHQ9UihhLEYuRC5WYyk7dCYmKGYuZWRpZD10KTtodChhLGYpO2Zvcih2YXIgdT0KZnVuY3Rpb24oZGEsbWEpe2lmKHR5cGVvZiBtYSE9PSJvYmplY3QifHwhclFbZGFdKXt2YXIgUGE9ImVwLiIrZGEsRmE9ImVwbi4iK2RhO2RhPUFiKG1hKT9GYTpQYTt2YXIgcWE9QWIobWEpP1BhOkZhO2YuaGFzT3duUHJvcGVydHkocWEpJiZkZWxldGUgZltxYV07ZltkYV09U3RyaW5nKG1hKX19LHY9e30seD1tKGV1KGEpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT14Lm5leHQoKSl7dmFyIHo9eS52YWx1ZTtkKHosUihhLHopKX1mb3IodmFyIEM9bShPYmplY3Qua2V5cyh2KS5zb3J0KCkpLEQ9Qy5uZXh0KCk7IUQuZG9uZTtEPUMubmV4dCgpKXt2YXIgST1ELnZhbHVlO2VbSV09dltJXX0oZnVuY3Rpb24oZGEpe2JrKFpLKGEpKSYmdHlwZW9mIGRhPT09Im9iamVjdCImJkdiKGRhfHx7fSxmdW5jdGlvbihtYSxQYSl7dHlwZW9mIFBhIT09Im9iamVjdCImJihlWyJzc3QuIittYV09U3RyaW5nKFBhKSl9KX0pKFIoYSxGLkQub2opKTtidihlLFIoYSxGLkQuZWQpKTt2YXIgRz1SKGEsRi5ELldkKXx8Cnt9O0diKEcsZnVuY3Rpb24oZGEsbWEpe21hIT09dm9pZCAwJiYoKG1hPT09bnVsbCYmKG1hPSIiKSxkYSE9PUYuRC5mYnx8Zy51aWQpP2JbZGFdIT09bWEmJihmWyhBYihtYSk/InVwbi4iOiJ1cC4iKStTdHJpbmcoZGEpXT1TdHJpbmcobWEpLGJbZGFdPW1hKTpnLnVpZD1TdHJpbmcobWEpKX0pO2lmKFdqKCkmJiFEbSgpJiYhYmsoWksoYSkpKXt2YXIgTj1RKGEsSC5KLm9nKTtOP2UuX2dzaWQ9TjplLm5qaWQ9IjEifXZhciBTPVEoYSxILkouVmkpOyhTPT1udWxsP3ZvaWQgMDpTLnZhbHVlKT4wJiYoZS5nYWY9Uy5nZXQoKSk7dmFyIFc9UihhLEYuRC5XYyk7aWYoVylmb3IodmFyIGVhPW0oT2JqZWN0LmtleXMoVykpLGphPWVhLm5leHQoKTshamEuZG9uZTtqYT1lYS5uZXh0KCkpe3ZhciBmYT1qYS52YWx1ZTtmWyJleHQuIitmYV09V1tmYV18fCIifXZhciBzYT1sUShhKTt2Zy5jYWxsKHRoaXMse0JhOmUsdmU6ZyxMajpmfSxzYS51cmwsc2EuZW5kcG9pbnQsWksoYSksdm9pZCAwLAphLnRhcmdldC5kZXN0aW5hdGlvbklkLGEuTS5ldmVudElkLGEuTS5wcmlvcml0eUlkKX07d2Eoc1EsdmcpOwp2YXIgdFE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBsYWNlKC9cJFx7KFteXH1dKylcfS9nLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGJbZF18fGN9KX0sdVE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz0iIixkPWEucGF0aG5hbWUuaW5kZXhPZigiL2cvY29sbGVjdCIpO2Q+PTAmJihjPWEucGF0aG5hbWUuc3Vic3RyaW5nKDAsZCkpO2IudHJhbnNwb3J0X3VybD1hLnByb3RvY29sKyIvLyIrYS5ob3N0bmFtZStjO3ZhciBlO3RyeXtlPWVuY29kZVVSSUNvbXBvbmVudChjfHwiLyIpfWNhdGNoKGYpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KCIvIil9Yi5lbmNvZGVkX3BhdGg9ZTtyZXR1cm4gYn0sdlE9ZnVuY3Rpb24oYSxiKXtpZighTSg1NDYpKXJldHVybnt1cmw6YSxib2R5OmJ9O3ZhciBjPW0oYS5zcGxpdCgiPyIpKSxkPWMubmV4dCgpLnZhbHVlLGU9Yy5uZXh0KCkudmFsdWUsZj1oUShkLGV8fCIiLGJ8fCIiLCEwKSxnPWYuSWMsaD1mLmtmO2E9aCE9PSIiP2crIj8iK2g6ZztiPWYuYm9keTsKcmV0dXJue3VybDphLGJvZHk6Yn19LHhRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1SaihiKSxlPXVRKGQpLGY9dlEoWGcoZCksYyksZz1mdW5jdGlvbihoKXtxeChmLnVybCxmLmJvZHksbmV3IHdRKGUsaCkpJiZhJiZrbi5yZWdpc3RlcihhLDEsZi51cmwpfTshTSgxMzIpfHxOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpP2coKTptTChmLnVybCxmLmJvZHksZSxnKX0sd1E9ZnVuY3Rpb24oYSxiKXtDeC5jYWxsKHRoaXMpO3RoaXMudGVtcGxhdGVzPWE7dGhpcy5OPWJ9O3dhKHdRLEN4KTt3US5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXt2YXIgYj10UShhLHRoaXMudGVtcGxhdGVzKTtyZXR1cm4gdGhpcy5OP2IucmVwbGFjZSgiX2lzX3N3PTAiLHRoaXMuTik6Yn07d1EucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLlooYSk7Q3gucHJvdG90eXBlLksuY2FsbCh0aGlzLGMsYil9O3dRLnByb3RvdHlwZS5IPWZ1bmN0aW9uKGEsYil7dmFyIGM9CnRoaXMuWihhKTtDeC5wcm90b3R5cGUuSC5jYWxsKHRoaXMsYyxiKX07CnZhciB5UT1mdW5jdGlvbihhKXtyZXR1cm4hU2IoYSxGbSgpKSYmIVNiKGEsR20oKSl9LEFRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighbmQoKSlyZXR1cm4gelEoYSxiLGMsZCksITA7WW4oYyxiIT09IiI/YSsiPyIrYjphLGQsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxlfHx7fSx7UWc6ITB9KSx2b2lkIDAsZil8fHpRKGEsYixjLGQpO3JldHVybiEwfSx6UT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iIT09IiI/YSsiPyIrYjphO2Q/V24oYyxlLGQpOlZuKGMsZSl9LENRPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YixnPXBkKCk7ZyE9PXZvaWQgMCYmKGYrPSImdGZkPSIrTWF0aC5yb3VuZChnKSk7Yj1mO3ZhciBoPWErIj8iK2I7aWYoIWJrKGQpfHxjayhkKXx8eFAoKSl7dmFyIGw9aFEoYSxiLGMsYmsoZCkpO2E9bC5JYztiPWwua2Y7Yz1sLmJvZHk7QVEoYSxiLGUsYyx2b2lkIDAsQlEoYSxiLGUsYykpfHx6UShhLGIsZSxjKX1lbHNlIHhRKGUsaCxjKTsKYmsoZCkmJk0oNTY0KSYmbmQoKSYmVGIoYSwiL2cvY29sbGVjdCIpJiZBLmZldGNoKGEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMTApLHttZXRob2Q6IlBPU1QiLGJvZHk6IkNqQU9BVHdjQ0JnTyIsY3JlZGVudGlhbHM6Im9taXQifSl9LEJRPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCF5UShhKSl7dmFyIGU9TW1bNjddKHZvaWQgMCk7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZjt2YXIgZz1iLnJlcGxhY2UoL15cPy8sIiIpLGg9TnVtYmVyKElqKGcsImdhZiIsITEpKSxsPTA7TnVtYmVyLmlzSW50ZWdlcihoKSYmKGw9aCk7dmFyIG49bmV3IGVyKGwpO2ZyKG4sMSk7aWYobi52YWx1ZSE9PTApe3ZhciBwLHE9bi5nZXQoKSxyPVJlZ0V4cCgiKF58Wz8mXSlnYWY9W14mXSooJnwkKSIpO3A9ci50ZXN0KGcpP2cucmVwbGFjZShyLCIkMWdhZj0iK3ErIiQyIik6Zy5pbmRleE9mKCI/Iik+PTA/ZysiJmdhZj0iK3E6Z1swXT09PSIvInx8Zy5pbmRleE9mKCI6Ly8iKT49MD9nKyI/Z2FmPSIrCnE6Zy5sZW5ndGg+MD9nKyImZ2FmPSIrcToiZ2FmPSIrcTtmPWIuaW5kZXhPZigiPyIpPT09MD8iPyIrcDpwfWVsc2UgZj12b2lkIDA7QVEoZSxmfHxiLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZW5kcG9pbnQ6Njd9KSxkLGMuZW5kcG9pbnQ9PT0xNz92b2lkIDA6e2NyZWRlbnRpYWxzOiJvbWl0In0pfX19LERRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGgpe2QucHVzaChoKyI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS5CYVtoXSkpfTtkLnB1c2goInY9MiIpO2UoIl9nc2lkIik7ZSgiZ3RtIik7YS5CYS5fZ2VvJiZlKCJfZ2VvIik7dmFyIGY9Imh0dHBzOi8ve2dhNENvbGxlY3Rpb25TdWJkb21haW4ufWdvb2dsZS1hbmFseXRpY3MuY29tL2cvcy9jb2xsZWN0Ii5yZXBsYWNlKCJ7Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59IiwoYnx8Ind3dyIpKyIuIiksZz1kLmpvaW4oIiYiKTt6UShmLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwKIiIsZW5kcG9pbnQ6NjIsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9KTtNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZisiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjYyfSxxYjpjfSl9LEVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iaHR0cHM6Ly97Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59YW5hbHl0aWNzLmdvb2dsZS5jb20vZy9zL2NvbGxlY3QiLnJlcGxhY2UoIntnYTRDb2xsZWN0aW9uU3ViZG9tYWluLn0iLGI/YisiLiI6IiIpLGU9W10sZj1mdW5jdGlvbihoKXtlLnB1c2goaCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EuQmFbaF0pKX07ZigiX2dzaWQiKTtmKCJndG0iKTthLkJhLl9nZW8mJmYoIl9nZW8iKTt2YXIgZz1lLmpvaW4oIiYiKTt6UShkLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOCxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pOwpNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjE4fSxxYjpjfSl9LEZRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtjJiZiLnB1c2goInRhZ19leHA9IitjKTtiLnB1c2goIno9IitEYigpKTtpZighZSl7dmFyIGc9ZCYmU2IoZCwiZ29vZ2xlLiIpJiZkIT09Imdvb2dsZS5jb20iPyJodHRwczovL3d3dy4lL2Fkcy9nYS1hdWRpZW5jZXM/dj0xJnQ9c3Imc2xmX3JkPTEmX3I9NCYiLnJlcGxhY2UoIiUiLGQpOnZvaWQgMDtpZihnKXt2YXIgaD1nK2Iuam9pbigiJiIpO1huKHtkZXN0aW5hdGlvbklkOmEuZGVzdGluYXRpb25JZHx8IiIsZW5kcG9pbnQ6NDcsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9LGgpO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDpoLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6NDd9LHFiOmZ9KX19fSxHUT0KZnVuY3Rpb24oYSxiLGMsZCl7YyYmYi5wdXNoKCJ0YWdfZXhwPSIrYyk7elEoImh0dHBzOi8vc3RhdHMuZy5kb3VibGVjbGljay5uZXQvZy9jb2xsZWN0Iiwidj0yJiIrYi5qb2luKCImIikse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOSxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDoiaHR0cHM6Ly9zdGF0cy5nLmRvdWJsZWNsaWNrLm5ldC9nL2NvbGxlY3Q/dj0yJiIrYi5qb2luKCImIikscGFyYW1ldGVyRW5jb2Rpbmc6MixlbmRwb2ludDoxOX0scWI6ZH0pfSxIUT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGModil7cS5wdXNoKHYrIj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithLkJhW3ZdKSl9dmFyIGQ9Yi54dCxlPWIuQnQsZj1iLkF0LGc9Yi56dCxoPWIuWnIsbD1iLkNzLG49Yi5QcixwPWIuR3Q7aWYoZHx8ZXx8Znx8Zyl7dmFyIHE9CltdO2EuQmEuX25nJiZjKCJfbmciKTthLkJhLm5ncyYmYygibmdzIik7YS5CYS5pYnQmJmMoImlidCIpO2MoInRpZCIpO2MoImNpZCIpO2MoImd0bSIpO2Zvcih2YXIgcj1tKE9GKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl7dmFyIHU9dC52YWx1ZTthLkJhW3VdIT1udWxsJiZjKHUpfXEucHVzaCgiYWlwPTEiKTthLnZlLnVpZCYmcS5wdXNoKCJ1aWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS52ZS51aWQpKTtjKCJkbWEiKTthLkJhLmRtYV9jcHMhPW51bGwmJmMoImRtYV9jcHMiKTthLkJhLmdjcyE9bnVsbCYmYygiZ2NzIik7YygiZ2NkIik7YS5CYS5ucGEhPW51bGwmJmMoIm5wYSIpO2EuQmEuZnJtIT1udWxsJiZjKCJmcm0iKTtkJiZHUShhLHEuc2xpY2UoKSxwLGIucWIpO2UmJkZRKGEscS5zbGljZSgpLHAsaCxsLGIucWIpO2YmJkVRKGEsbixiLnFiKTtnJiZEUShhLG4sYi5xYil9fSxJUT1mdW5jdGlvbigpe3RoaXMuUj0xO3RoaXMuWj17fTt0aGlzLks9LTE7dGhpcy5IPQpuZXcgd2d9O0lRLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPW5ldyBzUShhLHRoaXMuWixiKSxlPXtldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9LGY9eVAoYSksZyxoO2YmJnRoaXMuSC5SKGQpfHx0aGlzLmZsdXNoKCk7dmFyIGw9ZiYmdGhpcy5ILmFkZChkKTtpZihsKXtpZih0aGlzLks8MCl7dmFyIG49QSxwPW4uc2V0VGltZW91dCxxO2JrKFpLKGEpKT9KUT8oSlE9ITEscT1LUSk6cT1MUTpxPTVFMzt0aGlzLks9cC5jYWxsKG4sZnVuY3Rpb24oKXtjLmZsdXNoKCl9LHEpfX1lbHNle3ZhciByPXpnKGQsdGhpcy5SKyspLHQ9ci5wYXJhbXMsdT1yLmJvZHk7Zz10O2g9dTtGeSgzLGEuZXZlbnROYW1lKTtDUShkLmJhc2VVcmwsdCx1LGQuTix7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmQuZW5kcG9pbnQsZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTsKdmFyIHY9UShhLEguSi5oZCkseD1RKGEsSC5KLnJnKSx5PVEoYSxILkouTmgpLHo9UShhLEguSi5NaCksQz1PKGEuTSxGLkQudWkpIT09ITEsRD1TdChhLk0pLEk9e3h0OnYsQnQ6eCxBdDp5LHp0OnosWnI6RW0oKSxtdjpDLGx2OkQsQ3M6QW0oKSxxYjplLE06YS5NLFByOkRtKCksR3Q6Q3AoYSl9O0hRKGQsSSl9Zm4uSCYmQXooYS5NLmV2ZW50SWQpO05sKGZ1bmN0aW9uKCl7aWYobCl7dmFyIEc9emcoZCksTj1HLmJvZHk7Zz1HLnBhcmFtcztoPU59cmV0dXJue3RhcmdldElkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQscmVxdWVzdDp7dXJsOmQuYmFzZVVybCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLHBvc3RCb2R5OmgsZW5kcG9pbnQ6ZC5lbmRwb2ludH0scWI6ZSxpc0JhdGNoZWQ6ITF9fSl9O0lRLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7WUsoYSkmJiF4UCgpP3RoaXMuZmEoYSk6dGhpcy5OKGEpfTtJUS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLkguZXZlbnRzLmxlbmd0aCl7dmFyIGE9CkJnKHRoaXMuSCx0aGlzLlIrKyk7Q1EodGhpcy5ILmJhc2VVcmwsYS5wYXJhbXMsYS5ib2R5LHRoaXMuSC5LLHtkZXN0aW5hdGlvbklkOnRoaXMuSC5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDp0aGlzLkguZW5kcG9pbnQsZXZlbnRJZDp0aGlzLkguWixwcmlvcml0eUlkOnRoaXMuSC5mYX0pO3RoaXMuSD1uZXcgd2c7dGhpcy5LPj0wJiYoQS5jbGVhclRpbWVvdXQodGhpcy5LKSx0aGlzLks9LTEpfX07SVEucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1ZSyhhKTtNKDU2OCkmJiFNKDU4NikmJlIoYSxGLkQuQmMpPT09ImEiJiYoYz1jdyhjKSk7aWYoRXcoYykpe3ZhciBkPXN3KGMpO2Q/ZC50aGVuKGZ1bmN0aW9uKGYpe2IuTihhLGYpfSxmdW5jdGlvbigpe2IuTihhKX0pOnRoaXMuTihhKX1lbHNle3ZhciBlPUR3KGMpO3RoaXMuTihhLGUpfX07dmFyIEtRPU5mKDI0LDUwMCksTFE9TmYoNTYsNUUzKSxKUT0hMDt2YXIgTVE9ZnVuY3Rpb24oYSl7dmFyIGI9U3QoYS5NKTtPKGEuTSxGLkQuV2IpPT09ITAmJihiPSExKTtWKGEsSC5KLndkLGIpfTsKdmFyIE5RPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz17fSk7aWYoYj09bnVsbClyZXR1cm4gYztpZih0eXBlb2YgYj09PSJvYmplY3QiKWZvcih2YXIgZD1tKE9iamVjdC5rZXlzKGIpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtOUShhKyIuIitmLGJbZl0sYyl9ZWxzZSBjW2FdPWI7cmV0dXJuIGN9LE9RPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7YltlXT0hIVhvKGUpfXJldHVybiBifSxRUT1mdW5jdGlvbihhLGIpe3ZhciBjPVBRLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hWG8oZSl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9T1EoYyk7JG8oYyxmdW5jdGlvbigpe2Zvcih2YXIgZT1PUShjKSxmPVtdLGc9bShjKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZTshZFtsXSYmZVtsXSYmZi5wdXNoKGwpO2VbbF0mJgooZFtsXT0hMCl9aWYoZi5sZW5ndGgpe1YoYixILkouR2gsITApO3ZhciBuPWYubWFwKGZ1bmN0aW9uKHApe3JldHVybiBMb1twXX0pLmpvaW4oIi4iKTtuJiZXSyhiLCJnY3V0IixuKTtNUShiKTthKGIpfX0pfX0sUlE9ZnVuY3Rpb24oYSl7UihhLEYuRC5XYykmJiFiayhaSyhhKSkmJlUoYSxGLkQuV2MpfSxTUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsIm5hdnQiLHFkKCkpfSxUUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsImxwYyIsaXIoKSl9LFVRPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9TyhhLk0sRi5ELldiKSxjO2I9PT0hMCYmKGM9IjEiKTtiPT09ITEmJihjPSIwIik7YyYmV0soYSwicmRwIixjKX19LFZRPWZ1bmN0aW9uKGEsYil7aWYoYmsoWksoYikpKXt2YXIgYz1RKGIsSC5KLm1nKTsoYi5ldmVudE5hbWU9PT0icGFnZV92aWV3Inx8YykmJlFRKGEsYil9fSxXUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkmJmEuZXZlbnROYW1lPT09Ri5ELnlmJiYKUShhLEguSi5HaCkpe3ZhciBiPVIoYSxGLkQueGkpO2ImJihXSyhhLCJnY3V0IixiKSxXSyhhLCJzeW4iLDEpKX19LFhRPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gV2ooKSYmU2IoYysiLyIsWGooKSsiLyIpPyI3IjoiMSI7aWYoVGIoYSwiLiIrYikpcmV0dXJuIjIiO2lmKFRiKGIsIi4iK2EpKXJldHVybiIzIjt2YXIgZD1hLnNwbGl0KCIuIiksZT1iLnNwbGl0KCIuIiksZj1mdW5jdGlvbihnKXtpZihkLmxlbmd0aDxnfHxlLmxlbmd0aDxnKXJldHVybiExO2Zvcih2YXIgaD0xO2g8PWc7aCsrKWlmKGRbZC5sZW5ndGgtaF0hPT1lW2UubGVuZ3RoLWhdKXJldHVybiExO3JldHVybiEwfTtyZXR1cm4gZigzKT8iNiI6ZigyKT8iNSI6IjQifSxZUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe3ZhciBiPWVrKGEuTSk7aWYoYil7dmFyIGM9WWooYiwiLyIpLGQ9UmooYyksZT1OaihkLCJob3N0IiksZj1OaihBLmxvY2F0aW9uLCJob3N0Iik7aWYoZSYmZil7dmFyIGc9TmooZCwKInBhdGgiKTthLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEse3NzdGQ6WFEoZSxmLGcpfSl9fX19LFpRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmVihhLEguSi5KYSwhMSl9LCRRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmKFEoYSxILkouSmEpJiZXSyhhLCJzcCIsMSksUShhLEguSi5JcSkmJldLKGEsInN5biIsMSksUShhLEguSi5QYykmJihXSyhhLCJlbV9ldmVudCIsMSksV0soYSwic3AiLDEpKSl9LGFSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9JGsoMjUpO2ImJldLKGEsInRmdCIsTnVtYmVyKGIpKX19LGJSPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7dmFyIGY9TlEoRi5ELkFjLGUpO0diKGYsZnVuY3Rpb24oZyxoKXtVKGEsZyxoKX0pfWlmKGJrKFpLKGEpKSl7dmFyIGM9ZEkoYSwiY2NkX2FkZF8xcF9kYXRhIiwhMSk/MTowO1dLKGEsInVkZSIsYyk7dmFyIGQ9TyhhLk0sRi5ELkFjKTtkIT09dm9pZCAwPyhadihkKSxiKGQpLFUoYSxGLkQuQmMsImMiKSk6CmIoUShhLEguSi5ZYSkpO1YoYSxILkouWWEpfX0sY1I9ZnVuY3Rpb24oYSl7aWYoYmsoWksoYSkpKXt2YXIgYj1WTSgpO2ImJldLKGEsInVzX3ByaXZhY3kiLGIpO3ZhciBjPUx0KCk7YyYmV0soYSwiZ2RwciIsYyk7dmFyIGQ9S3QoKTtkJiZXSyhhLCJnZHByX2NvbnNlbnQiLGQpO3ZhciBlPWtGLmdwcFN0cmluZztlJiZXSyhhLCJncHAiLGUpO3ZhciBmPWtGLkg7ZiYmV0soYSwiZ3BwX3NpZCIsZil9fSxkUj1mdW5jdGlvbihhKXtiayhaSyhhKSkmJkVsKCkmJk8oYS5NLEYuRC5tYikmJldLKGEsImFkciIsMSl9LGVSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9RG0oKTtiJiZXSyhhLCJnY3N1YiIsYil9fSxmUj1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe08oYS5NLEYuRC5TYyx2b2lkIDAsNCk9PT0hMSYmV0soYSwibmdzIiwxKTtBbSgpJiZXSyhhLCJnYV9yZCIsMSk7VksoKXx8V0soYSwibmdzdCIsMSk7dmFyIGI9RW0oKTtiJiZXSyhhLCJldGxkIixiKX19LGdSPQpmdW5jdGlvbihhKXt9LGhSPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmRWwoKSYmV0soYSwicm5kIixRTSgpKX0sUFE9W0YuRC5rYSxGLkQubWEsRi5ELlhhXTsKdmFyIGlSPWZ1bmN0aW9uKGEsYil7dmFyIGM7YTp7aWYoIVEoYSxILkouRmMpKXt2YXIgZD1UUChhKTtpZihkKXtpZihSUChkLGEpKXtjPWQ7YnJlYWsgYX1QKDI1KTthLmlzQWJvcnRlZD0hMH19Yz12b2lkIDB9dmFyIGU9YztyZXR1cm57Y2xpZW50SWQ6RVAoYSxiKSx6YjplfX0salI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1RbyhPKGEuTSxGLkQuS2IpKTtpZihPKGEuTSxGLkQuWmMpJiZPKGEuTSxGLkQuWWMpKWY/Q1AoYSxmLDEpOihQKDEyNyksYS5pc0Fib3J0ZWQ9ITApO2Vsc2V7dmFyIGc9Zj8xOjg7VihhLEguSi5IaCwhMSk7Znx8KGY9RlAoYSksZz0zKTtmfHwoZj1iLGc9NSk7aWYoIWYpe3ZhciBoPVhvKEYuRC5yYSksbD16UCgpO2Y9IWwuZnJvbV9jb29raWV8fGg/bC52aWQ6dm9pZCAwO2c9Nn1mP2Y9IiIrZjooZj1BdigpLGc9NyxWKGEsSC5KLm5nLCEwKSxWKGEsSC5KLkhoLCEwKSk7Q1AoYSxmLGcpfVIoYSxGLkQuS2IpO2lmKCFRKGEsSC5KLkZjKSl7dmFyIG49ClEoYSxILkouRWIpLHA9TWF0aC5mbG9vcihuLzFFMykscT12b2lkIDA7UShhLEguSi5IaCl8fChxPVNQKGEpfHxjKTt2YXIgcj1JYihPKGEuTSxGLkQueWgsMzApKTtyPU1hdGgubWluKDQ3NSxyKTtyPU1hdGgubWF4KDUscik7dmFyIHQ9SWIoTyhhLk0sRi5ELlBpLDFFNCkpLHU9TFAocSk7VihhLEguSi5uZywhMSk7VihhLEguSi5UZSwhMSk7VihhLEguSi5wZywwKTt1JiZ1LmomJlYoYSxILkoucGcsTWF0aC5tYXgoMCx1LmotTWF0aC5tYXgoMCxwLXUudCkpKTt2YXIgdj0hMTtpZighdSl7VihhLEguSi5uZywhMCk7dj0hMDt2YXIgeD17fTt1PSh4LnM9U3RyaW5nKHApLHgubz0xLHguZz0hMSx4LnQ9cCx4Lmw9ITEseC5oPXZvaWQgMCx4KX1wPnUudCtyKjYwJiYodj0hMCx1LnM9U3RyaW5nKHApLHUubysrLHUuZz0hMSx1Lmg9dm9pZCAwKTtpZih2KVYoYSxILkouVGUsITApLGQubHMoYSk7ZWxzZSBpZihkLlhyKCk+dHx8YS5ldmVudE5hbWU9PT1GLkQuc2MpdS5nPSEwO1EoYSxILkoubGcpPwpPKGEuTSxGLkQuZmIpP3UubD0hMDp1Lmw9ITE6dS5sPSExO3ZhciB5PXUuaDtpZihRKGEsSC5KLmxnKXx8YmsoWksoYSkpKXt2YXIgej1PKGEuTSxGLkQub2gpLEM9ej8xOjg7enx8KHo9eSxDPTQpO3p8fCh6PXp2KCksQz03KTt2YXIgRD16LnRvU3RyaW5nKCksST1DLEc9UShhLEguSi50bCk7aWYoRz09PXZvaWQgMHx8STw9RylVKGEsRi5ELm9oLEQpLFYoYSxILkoudGwsSSl9ZT8oYS5jb3B5VG9IaXREYXRhKEYuRC54Yyx1LnMpLGEuY29weVRvSGl0RGF0YShGLkQuQWgsdS5vKSxhLmNvcHlUb0hpdERhdGEoRi5ELnpoLHUuZz8xOjApKTooVShhLEYuRC54Yyx1LnMpLFUoYSxGLkQuQWgsdS5vKSxVKGEsRi5ELnpoLHUuZz8xOjApKTtWKGEsSC5KLnJtLHUubD8xOjApO1dqKCkmJlYoYSxILkoub2csdS5kfHxjYygpKX19Owp2YXIga1I9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI/IiksYz1iPT09LTE/YTphLnN1YnN0cmluZygwLGIpLGQ9S2ooYyk7ZCYmKGM9ZCk7cmV0dXJuIGI9PT0tMT9jOiIiK2MrYS5zdWJzdHJpbmcoYil9LGxSPWZ1bmN0aW9uKGEpe2lmKCFPKGEuTSxGLkQuWWMpfHwhTyhhLk0sRi5ELlpjKSl7dmFyIGI9YS5jb3B5VG9IaXREYXRhLGM9Ri5ELnphLGQ9IiIsZT1CLmxvY2F0aW9uO2lmKGUpe3ZhciBmPWUucGF0aG5hbWV8fCIiO2YuY2hhckF0KDApIT09Ii8iJiYoZj0iLyIrZik7dmFyIGc9ZS5zZWFyY2h8fCIiO2lmKGdbMF09PT0iPyIpZm9yKHZhciBoPWcuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksbD0wO2w8aC5sZW5ndGg7KytsKXt2YXIgbj1oW2xdLnNwbGl0KCI9Iik7biYmbi5sZW5ndGg9PT0yJiZuWzBdPT09IndicmFpZCImJihnPWcucmVwbGFjZSgvKFs/Jl0pd2JyYWlkPVteJl0rLywiJDF3YnJhaWQ9IiskYihuWzFdKSkpfWQ9ZS5wcm90b2NvbCsiLy8iK2UuaG9zdG5hbWUrCmYrZ31iLmNhbGwoYSxjLGQsa1IpO3ZhciBwPWEuY29weVRvSGl0RGF0YSxxPUYuRC5VYSxyPXVBKCJndG0uZ3RhZ1JlZmVycmVyLiIrYS50YXJnZXQuZGVzdGluYXRpb25JZCksdD1CLnJlZmVycmVyO3AuY2FsbChhLHEsKHI/IiIrcjp0KXx8dm9pZCAwLGtSKTthLmNvcHlUb0hpdERhdGEoRi5ELk1iLEIudGl0bGUpO2EuY29weVRvSGl0RGF0YShGLkQudGIsKEhjLmxhbmd1YWdlfHwiIikudG9Mb3dlckNhc2UoKSk7dmFyIHU9cUkoKTthLmNvcHlUb0hpdERhdGEoRi5ELmJkLHUud2lkdGgrIngiK3UuaGVpZ2h0KTthLmNvcHlUb0hpdERhdGEoRi5ELllmLHZvaWQgMCxrUik7VE0oKSYmYS5jb3B5VG9IaXREYXRhKEYuRC5QZCwiMSIpfX07dmFyIG5SPWZ1bmN0aW9uKGEpe3ZhciBiPXhDKGEuTSksYz1mdW5jdGlvbihkLGUpe21SW2RdJiZVKGEsZCxlKX07Q2QoYltGLkQuS2ZdKT9HYihiW0YuRC5LZl0sZnVuY3Rpb24oZCxlKXtjKChGLkQuS2YrIl8iK2QpLnRvTG93ZXJDYXNlKCksZSl9KTpHYihiLGMpfSxvUj17fSxtUj0ob1JbRi5ELkdmXT0xLG9SW0YuRC5IZl09MSxvUltGLkQuSWZdPTEsb1JbRi5ELkpmXT0xLG9SW0YuRC5MZl09MSxvUltGLkQuTWZdPTEsb1IpO3ZhciBwUj1mdW5jdGlvbihhKXtpZighYmsoWksoYSkpJiZRKGEsSC5KLm1nKSYmWG8oRi5ELmthKSYmZEkoYSwiZ2E0X2Fkc19saW5rZWQiLCExKSl7dmFyIGI9TEsoYSksYz1IcihiLnByZWZpeCksZD1ScyhjKTtVKGEsRi5ELkJlLGQuRWcpO1UoYSxGLkQuRGUsZC5XaCk7VShhLEYuRC5DZSxkLlVoKX19O3ZhciBxUj1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpO2ImJklQKEouVS54bik7UShhLEguSi5QYykmJklQKEouVS5Oayk7dmFyIGM9eWsoemsoKSk7KGJ8fE1rKGMpfHxjJiZjLnBhcmVudCYmYy5jb250ZXh0JiZjLmNvbnRleHQuc291cmNlPT09NSkmJklQKEouVS5mbik7UShhLEguSi5jaikmJklQKEouVS5JbSk7UShhLEguSi5iaikmJklQKEouVS5IbSl9O3ZhciByUj1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLlZpKXx8bmV3IGVyO1EoYSxILkouYmopJiZRKGEsSC5KLmNqKSYmZnIoYiwyKTtWKGEsSC5KLlZpLGIpfTtmdW5jdGlvbiBzUihhKXthLmNvcHlUb0hpdERhdGEoRi5ELmZiKTt2YXIgYj1PKGEuTSxGLkQuV2QpO2ImJihLQyhiLGZ1bmN0aW9uKCl7fSksVShhLEYuRC5XZCxiKSl9O3ZhciB1Uj1mdW5jdGlvbihhKXtpZih0Ui5Nci5yZXBsYWNlKC9ccysvZywiIikuc3BsaXQoIiwiKS5pbmRleE9mKGEuZXZlbnROYW1lKT49MClhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPVhLKGEpO2ImJmIuYmxhY2tsaXN0ZWQmJihhLmlzQWJvcnRlZD0hMCl9fSx0Uj17TXI6TGYoMzEpfTtmdW5jdGlvbiB2UihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4hIWMmJmMuY29udmVyc2lvbn07VihhLEguSi5tZyxiKFhLKGEpKSk7UShhLEguSi5uZykmJlYoYSxILkouWW0sYihYSyhhLCJmaXJzdF92aXNpdCIpKSk7UShhLEguSi5UZSkmJlYoYSxILkouYm4sYihYSyhhLCJzZXNzaW9uX3N0YXJ0IikpKX07dmFyIHdSPWZ1bmN0aW9uKGEpe0ZvLmhhc093blByb3BlcnR5KGEuZXZlbnROYW1lKSYmKFYoYSxILkouV20sITApLGEuY29weVRvSGl0RGF0YShGLkQuSGEpLGEuY29weVRvSGl0RGF0YShGLkQuZWIpKX07dmFyIHhSPWZ1bmN0aW9uKGEpe1EoYSxILkouYmUpP1YoYSxILkoubGcsITEpOmRJKGEsImNjZF9hZGRfZWNfc3RpdGNoaW5nIiwhMSkmJlYoYSxILkoubGcsITApfTt2YXIgeVI9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5wZyk7Yj1ifHwwO3ZhciBjPSEhUShhLEguSi5zYSksZD1iPT09MHx8YztWKGEsSC5KLmVqLGQpO2QmJlYoYSxILkoucGcsNjApfTt2YXIgQVI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9U3RyaW5nKHpSLmNvb2tpZSkuc3BsaXQoIjsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0uc3BsaXQoIj0iKSxmPWVbMF0udHJpbSgpO2lmKGYmJmEoZikpe3ZhciBnPWUuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtnJiYoZz1kZWNvZGVVUklDb21wb25lbnQoZykpO3ZhciBoPXZvaWQgMCxsPXZvaWQgMDsoKGg9YilbbD1mXXx8KGhbbF09W10pKS5wdXNoKGcpfX1yZXR1cm4gYn07dmFyIEJSPXdpbmRvdyx6Uj1kb2N1bWVudCxDUj1mdW5jdGlvbihhKXt2YXIgYj1CUi5fZ2FVc2VyUHJlZnM7aWYoYiYmYi5pb28mJmIuaW9vKCl8fHpSLmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhdGEtZ29vZ2xlLWFuYWx5dGljcy1vcHQtb3V0Iil8fGEmJkJSWyJnYS1kaXNhYmxlLSIrYV09PT0hMClyZXR1cm4hMDt0cnl7dmFyIGM9QlIuZXh0ZXJuYWw7aWYoYyYmYy5fZ2FVc2VyUHJlZnMmJmMuX2dhVXNlclByZWZzPT0ib28iKXJldHVybiEwfWNhdGNoKGYpe31mb3IodmFyIGQ9QVIoZnVuY3Rpb24oZil7cmV0dXJuIGY9PT0iQU1QX1RPS0VOIn0pLkFNUF9UT0tFTnx8W10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWlmKGRbZV09PSIkT1BUX09VVCIpcmV0dXJuITA7cmV0dXJuIHpSLmdldEVsZW1lbnRCeUlkKCJfX2dhT3B0T3V0RXh0ZW5zaW9uIik/ITA6ITF9O3ZhciBEUj1mdW5jdGlvbihhKXtpZihDUihhLnRhcmdldC5kZXN0aW5hdGlvbklkKSlQKDI4KSxhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPXhrKCk7aWYoYiYmQXJyYXkuaXNBcnJheShiLmRlc3RpbmF0aW9ucykpZm9yKHZhciBjPTA7YzxiLmRlc3RpbmF0aW9ucy5sZW5ndGg7YysrKWlmKENSKGIuZGVzdGluYXRpb25zW2NdKSl7UCgxMjUpO2EuaXNBYm9ydGVkPSEwO2JyZWFrfX19O3ZhciBFUj1mdW5jdGlvbihhKXt2YXIgYj1CLmxvY2F0aW9uLnByb3RvY29sO2IhPT0iaHR0cDoiJiZiIT09Imh0dHBzOiImJihQKDI5KSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBGUj1mdW5jdGlvbihhKXtIYyYmSGMubG9hZFB1cnBvc2U9PT0icHJldmlldyImJihQKDMwKSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBHUj1mdW5jdGlvbihhLGIpe2IuVGomJihWKGEsSC5KLnNhLCEwKSxiLlRqPSExLFdqKCkmJlYoYSxILkoub2csY2MoKSkpfTt2YXIgSFI9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjLGQpe0JvW2NdfHxkPT09dm9pZCAwfHxVKGEsYyxkKX1NKDU1MCkmJkdiKGEuTS5XYSxiKTtHYihhLk0uaGIsYik7R2IoYS5NLkVhLGIpfTt2YXIgSVI9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWU9PT1GLkQud2EmJihPKGEuTSxGLkQuVGQsITApPyhhLk0uRWFbRi5ELk9hXSYmKE0oNTUwKSYmKGEuTS5XYVtGLkQuT2FdPWEuTS5FYVtGLkQuT2FdKSxhLk0uaGJbRi5ELk9hXT1hLk0uRWFbRi5ELk9hXSxhLk0uRWFbRi5ELk9hXT12b2lkIDAsVShhLEYuRC5PYSkpLGEuZXZlbnROYW1lPUYuRC5zYyk6YS5pc0Fib3J0ZWQ9ITApfTsKdmFyIEpSPWZ1bmN0aW9uKGEpe2lmKE0oMTMyKSl7dmFyIGI9WksoYSk7aWYoYmsoYikpaWYoY2soYikpY2soWksoYSkpJiZhLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEseyIzcGQiOiIxIn0pO2Vsc2UgaWYoIShOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpKSYmWG8oRi5ELnJhKSl7VihhLEguSi5kbiwhMCk7YmsoWksoYSkpJiZXSyhhLCJzd19leHAiLDEpO2E6e2lmKCFNKDEzMil8fCFiayhaSyhhKSl8fGNrKFpLKGEpKSlicmVhayBhO2I6e3ZhciBjPXtvdDpZaihlayhhLk0pLCIvXy9zZXJ2aWNlX3dvcmtlciIpfSxkO2Q9KGM9PT12b2lkIDA/e306Yykub3Q7dmFyIGU9aUwoZCk7aWYoZT09PW51bGx8fCFiZygiaW50ZXJuYWxfc3dfYWxsb3dlZCIsIiIpfHxqTChlLm9yaWdpbikpYnJlYWsgYjsKaWYoIUljKCkpe2dMKCkuSyh2b2lkIDAsdm9pZCAwLDYpO2JyZWFrIGJ9dmFyIGY9bmV3IGtMKGUpO29tKGptLmJhLk9oLHt9KVtlLm9yaWdpbl09Zjt9fX19fTt2YXIgTFI9ZnVuY3Rpb24oYSl7YS5jb3B5VG9IaXREYXRhKEYuRC5PbCk7TyhhLk0sRi5ELnhoKSYmKFUoYSxGLkQueGgsITApLGJrKFpLKGEpKXx8S1IoYSkpfSxLUj1mdW5jdGlvbihhKXt2YXIgYj1GLkQuYmQsYztjfHwoYz1mdW5jdGlvbigpe30pO1IoYSxiKSE9PXZvaWQgMCYmVShhLGIsYyhSKGEsYikpKX07dmFyIE1SPSJnY2xpZCBkY2xpZCBnY2xzcmMgd2JyYWlkIGdicmFpZCBnYWRfc291cmNlIGdhZF9jYW1wYWlnbmlkIHV0bV9zb3VyY2UgdXRtX21lZGl1bSB1dG1fY2FtcGFpZ24gdXRtX3Rlcm0gdXRtX2NvbnRlbnQgdXRtX2lkIi5zcGxpdCgiICIpO2Z1bmN0aW9uIE5SKCl7dmFyIGE9Qi5sb2NhdGlvbixiLGM9YT09bnVsbD92b2lkIDA6KGI9YS5zZWFyY2gpPT1udWxsP3ZvaWQgMDpiLnJlcGxhY2UoIj8iLCIiKSxkO2lmKGMpe2Zvcih2YXIgZT1bXSxmPUpqKGMsITApLGc9bShNUiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWUsbj1mW2xdO2lmKG4pZm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07cSE9PXZvaWQgMCYmZS5wdXNoKHtuYW1lOmwsdmFsdWU6cX0pfX1kPWV9ZWxzZSBkPVtdO3JldHVybiBkfTt2YXIgT1I9ZnVuY3Rpb24oYSl7dmFyIGI9TSgyNjYpLGM9TSgyNjcpO2lmKGJ8fGMpe3ZhciBkPVIoYSxGLkQuemEpO2lmKGQmJmQuaW5kZXhPZigiPyIpPT09LTEpe3ZhciBlPU5SKCk7aWYoZS5sZW5ndGghPT0wJiYoYiYmSVAoSi5VLkdtKSxjKSl7SVAoSi5VLkZtKTt2YXIgZj1lLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5uYW1lKyI9IitnLnZhbHVlfSkuam9pbigiJiIpO1UoYSxGLkQuemEsZCsiPyIrZil9fX19O3ZhciBQUj1bRi5ELnJhLEYuRC5rYV0sUVI9W0YuRC5yYSxGLkQua2EsRi5ELm1hXTsKZnVuY3Rpb24gUlIoYSl7dmFyIGIsYz1NKDUwNikmJiFkSShhLCJjY2RfZ2FfYWRzX2lkc19vcHRfb3V0IiwhMSksZD0hIWRJKGEsImdvb2dsZV9uZyIsITEpLGU9WG8oYz9kP1FSOmZwOlBSKSxmO2Y9ZEkoYSxGLkQuVWYsTyhhLk0sRi5ELlVmKSl8fCEhZEkoYSwiZ29vZ2xlX25nIiwhMSk7Yj17aGY6YyxFczpkLEdvOmUsZmY6ZixMZzohIWRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSksYmk6QW0oKSxHajohVksoKSxGczpiayhaSyhhKSksRHM6ISFRKGEsSC5KLmJlKSxHczohIVEoYSxILkouVGUpLHVzOiEhTyhhLk0sRi5ELk5sKSxLczohIVEoYSxILkouZWopLHhnOk8oYS5NLEYuRC5TYyksbnI6TyhhLk0sRi5ELlNjLHZvaWQgMCw0KSxIczohIVEoYSxILkouRmMpfTtWKGEsSC5KLmNqLGIuZmYpO1YoYSxILkouYmosU1IoYikpO2IuaGYmJiFiLmZmJiZiLkxnJiZTUihiKSYmVShhLCJfJmlidCIsIjEiKTtTUihiKSYmYi5HbyYmKGIuaGY/Yi54ZyE9PSExfHxiLkxnOjEpJiZWKGEsCkguSi5ybiwhMCk7Yi5FcyYmIWIuYmkmJlUoYSxGLkQuTGUsMSk7KGIuaGY/Yi54ZzpiLm5yKT09PSExJiZVKGEsIl8mbmdzIiwiMSIpO1YoYSxILkouaGQsVFIoYikmJihiLkdzfHxiLnVzKSk7VihhLEguSi5yZyxUUihiKSYmYi5LcyYmIWIuYmkpfWZ1bmN0aW9uIFNSKGEpe3JldHVybiBhLmhmPyhhLkxnfHxhLmZmKSYmIWEuYmkmJiFhLkdqOmEuZmYmJmEueGchPT0hMSYmIWEuR2omJiFhLmJpfWZ1bmN0aW9uIFRSKGEpe2lmKGEuSHMpcmV0dXJuITE7aWYoYS5oZil7aWYoIWEuZmYmJiFhLkxnKXJldHVybiExfWVsc2UgaWYoIWEuZmYpcmV0dXJuITE7cmV0dXJuIGEuRnN8fGEuRHN8fGEuR2p8fChhLmhmP2EueGc9PT0hMSYmIWEuTGc6YS54Zz09PSExKXx8IWEuR28/ITE6ITB9O3ZhciBVUj1mdW5jdGlvbihhKXtzTCgpJiZVKGEsRi5ELkZlLCIxIil9O3ZhciBWUj1mdW5jdGlvbihhKXt2YXIgYj17cHJlZml4OlN0cmluZyhPKGEuTSxGLkQubmIsIiIpKSxwYXRoOlN0cmluZyhPKGEuTSxGLkQudmMsIi8iKSksZmxhZ3M6U3RyaW5nKE8oYS5NLEYuRC5UYiwiIikpLGRvbWFpbjpTdHJpbmcoTyhhLk0sRi5ELkxiLCJhdXRvIikpLHBkOk51bWJlcihPKGEuTSxGLkQuQ2IsNjMwNzJFMykpfTtWKGEsSC5KLkdhLGIpfTt2YXIgV1I9ZnVuY3Rpb24oYSl7aWYoTSg0MzUpfHxNKDU1Mykpe3ZhciBiPURtKCk7YiYmVihhLEguSi5BcSxiKX19O3ZhciBZUj1mdW5jdGlvbihhKXthLmNvcHlUb0hpdERhdGEoRi5ELlJpKTtmb3IodmFyIGI9TyhhLk0sRi5ELlJsKXx8W10sYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO2lmKGQucnVsZV9yZXN1bHQpe2EuY29weVRvSGl0RGF0YShGLkQuUmksZC50cmFmZmljX3R5cGUpO0lQKEouVS5Fbik7YnJlYWt9fX07dmFyIFpSPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSkmJmEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1PKGEuTSxGLkQudWMpIT09ITE7aWYoYil7dmFyIGM9TEsoYSk7Yy5wZCYmKGMucGQ9TWF0aC5taW4oYy5wZCw3Nzc2RTMpKTtQSyh7VG46YixtbzpPbyhPKGEuTSxGLkQuRGIpKSxRbzohIU8oYS5NLEYuRC56YyksVW46Y30pfX19O3ZhciAkUj1mdW5jdGlvbihhKXtWKGEsSC5KLk1oLCExKTtWKGEsSC5KLk5oLCExKTtpZighRG0oKSYmV2ooKSYmIWJrKFpLKGEpKSYmIVEoYSxILkouYmUpJiZRKGEsSC5KLmVqKSl7dmFyIGI9UShhLEguSi5yZyk7UShhLEguSi5vZykmJihiP1YoYSxILkouTmgsITApOlYoYSxILkouTWgsITApKX19O3ZhciBhUz1mdW5jdGlvbihhKXtPKGEuTSxGLkQuemMpJiYoWG8oRi5ELnJhKXx8TyhhLk0sRi5ELktiKXx8VShhLEYuRC5abSwhMCkpO3ZhciBiO3ZhciBjO2M9Yz09PXZvaWQgMD8zOmM7dmFyIGQ9QS5sb2NhdGlvbi5ocmVmO2lmKGQpe3ZhciBlPVJqKGQpLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZj1JaihlLCJfZ2wiLCExLCEwKXx8IiI7Yj1mP1ZxKGYsYykhPT12b2lkIDA6ITF9ZWxzZSBiPSExO2ImJmJrKFpLKGEpKSYmV0soYSwiZ2x2IiwxKTtpZihhLmV2ZW50TmFtZSE9PUYuRC53YSlyZXR1cm57fTtPKGEuTSxGLkQuemMpJiZBcyhbImF3IiwiZGMiXSk7Q3MoWyJhdyIsImRjIl0pO3ZhciBnPSRQKGEpLGg9WlAoYSk7cmV0dXJuIE9iamVjdC5rZXlzKGcpLmxlbmd0aD9nOmh9O3ZhciBiUz1mdW5jdGlvbihhKXt2YXIgYj0hMDtiPWI9PT12b2lkIDA/ITE6YjtpZihNKDQyNSkmJiEocGwoKXx8YiYmUShhLEguSi5kail8fGEuZXZlbnROYW1lIT09Ri5ELndhfHxRKGEsSC5KLkZjKSkpe3ZhciBjPXt9LGQ9e30sZT17ZXZlbnRNZXRhZGF0YTpuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGEuTS5ldmVudE1ldGFkYXRhLChjW0guSi5GY109ITAsYyksYj97fTooZFtILkouRGNdPVguVi5LYSxkKSksbm9HdG1FdmVudDohMH0sZj1zQyhhLnRhcmdldC5kZXN0aW5hdGlvbklkLCJzdHJ1Y3R1cmVkX2RhdGEiLGEuTS5FYSk7bUQoZixhLk0uZXZlbnRJZCxlKX19Owp2YXIgZFM9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGNTLnRlc3QoYSl8fERvLmhhc093blByb3BlcnR5KGEpfSxjUz0vXihffGdhX3xnb29nbGVffGd0YWdcLnxmaXJlYmFzZV8pLiokLyxlUz1mdW5jdGlvbihhKXt0aGlzLnlhPWE7dGhpcy5IPXRoaXMuemI9dGhpcy5jbGllbnRJZD12b2lkIDA7dGhpcy5qYT10aGlzLlI9ITE7dGhpcy5MYT0wO3RoaXMuTj0hMTt0aGlzLlo9e1RqOiExfTt0aGlzLmZhPW5ldyBJUTt0aGlzLks9bmV3IEhQfTtrPWVTLnByb3RvdHlwZTtrLlpzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGU9YkModGhpcy55YSk7aWYoZSlpZihjLmV2ZW50TWV0YWRhdGFbSC5KLmFlXSYmYS5jaGFyQXQoMCk9PT0iXyIpYy5vbkZhaWx1cmUoKTtlbHNle2EhPT1GLkQud2EmJmEhPT1GLkQuSmImJmRTKGEpJiZQKDU4KTt2YXIgZj1uZXcgYUkoZSxhLGMpO1YoZixILkouRWIsYik7dmFyIGc9W0YuRC5yYV0saD1iayhaSyhmKSk7VihmLEguSi5kaixoKTtpZihkSShmLEYuRC5VZiwKTyhmLk0sRi5ELlVmKSl8fGgpZy5wdXNoKEYuRC5rYSksZy5wdXNoKEYuRC5tYSk7Rk0uZmEoZnVuY3Rpb24oKXticChmdW5jdGlvbigpe2QuYnQoZil9LGcpfSl9ZWxzZSBjLm9uRmFpbHVyZSgpfTtrLmJ0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dHJ5e0hNKGEpO2lmKGEuaXNBYm9ydGVkKXt0YigpO3JldHVybn1KTShhKTtEUihhKTt1UihhKTtFUihhKTtGUihhKTtJTShhKTt2YXIgYz17fTtlUShhLGMpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5IPWE7dmFyIGQ9Yy51cjtjLkhyPT09MCYmSVAoSi5VLm5sKTtkPT09MCYmSVAoSi5VLkxrKTtaTShhKTtWKGEsSC5KLnRnLGNvLmlhLnhkKTtWUihhKTtIUihhKTt0aGlzLkxxKGEpO3RoaXMuSy5LdChhKTtVKGEsRi5ELnppLGFsKDgsTkYpKTt4UihhKTtwTihhKTtaUihhKTtNUShhKTt0aGlzLkFvKGFTKGEpKTtiUyhhKTt2YXIgZT1hLmV2ZW50TmFtZT09PUYuRC53YTtlJiYodGhpcy5OPQohMCk7SVIoYSk7ZSYmIWEuaXNBYm9ydGVkJiZ0aGlzLkxhKys+MCYmSVAoSi5VLmhuKTtVTChhKTtqUihhLHRoaXMuY2xpZW50SWQsdGhpcy56Yix0aGlzLkssIXRoaXMuamEpO25SKGEpO2xSKGEpO09SKGEpO1hMKGEpO0dSKGEsdGhpcy5aKTt5UihhKTt2UihhKTt3UihhKTtZUihhKTthUShhKTtnUShhKTt3TShhKTtoUihhKTtZUShhKTtnUihhKTtmUihhKTtlUihhKTtkUihhKTtjUihhKTthUihhKTskUShhKTtXUShhKTtVUShhKTtUUShhKTtTUShhKTtiUShhKTtjUShhKTtPKGEuTSxGLkQueGgpJiYhYmsoWksoYSkpfHxHTShhKTtVUihhKTtXUihhKTtpTihhKTtWTChhKTtTTChhKTtsTihhKTtoTihhKTtYTShhLCExKTtzUihhKTtSUihhKTskUihhKTtOTShhKTtyUihhKTtwUihhKTtiUihhKTtaUShhKTtSUShhKTtxUihhKTshdGhpcy5OJiZRKGEsSC5KLlBjKSYmSVAoSi5VLnNsKTtKUChhKTtpZihNKDU3NSkpe2lmKGEuaXNBYm9ydGVkKXtpZighUShhLEguSi5TbykpYS5NLm9uRmFpbHVyZSgpOwp0YigpO3JldHVybn1pZihRKGEsSC5KLkphKSl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufX1lbHNlIGlmKFEoYSxILkouSmEpfHxhLmlzQWJvcnRlZCl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufXRoaXMuQW8oaVIoYSx0aGlzLmNsaWVudElkKSk7dGhpcy5qYT0hMDt0aGlzLkh0KGEpO0pSKGEpO1ZRKGZ1bmN0aW9uKGYpe2IuTW4oZil9LGEpO3RoaXMuSy5xaygpO0xSKGEpO2dOKGEpO1dMKGEpO1lNKGEpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5NbihhKTthLk0ub25TdWNjZXNzKCl9Y2F0Y2goZil7YS5NLm9uRmFpbHVyZSgpfXRiKCl9O2suTW49ZnVuY3Rpb24oYSl7dGhpcy5mYS5hZGQoYSl9O2suQW89ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbGllbnRJZCxjPWEuemI7YiYmYyYmKHRoaXMuY2xpZW50SWQ9Yix0aGlzLnpiPWMpfTtrLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5mYS5mbHVzaCgpfTtrLkh0PWZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzO2lmKCF0aGlzLlIpe3ZhciBjPVhvKEYuRC5tYSksZD1YbyhGLkQucmEpOyRvKFtGLkQubWEsRi5ELnJhLEYuRC5rYV0sZnVuY3Rpb24oZSl7dmFyIGY7Zj0oZT09PXZvaWQgMD97fTplKS5jb25zZW50RXZlbnRJZDt2YXIgZz1YbyhGLkQubWEpLGg9WG8oRi5ELnJhKSxsPSExLG49e30scD17fTtpZihkIT09aCYmYi5IJiZiLnpiJiZiLmNsaWVudElkKXt2YXIgcT1iLmNsaWVudElkLHI7dmFyIHQ9TFAoYi56Yik7cj10P3QuaDp2b2lkIDA7aWYoaCl7dmFyIHU9RlAoYi5IKTtpZih1KXtiLmNsaWVudElkPXU7dmFyIHY9U1AoYi5IKTt2JiYoYi56Yj1QUCh2LGIuemIsYi5IKSl9ZWxzZSBEUChiLmNsaWVudElkLGIuSCksQVAoYi5jbGllbnRJZCwhMCk7UlAoYi56YixiLkgpO2w9ITA7bltGLkQuTmxdPXE7ciYmKG5bRi5ELmJxXT1yKX1lbHNlIGIuemI9dm9pZCAwLGIuY2xpZW50SWQ9dm9pZCAwLEEuZ2FHbG9iYWw9e319ZyYmIWMmJihsPSEwLHBbSC5KLkdoXT0hMCxuW0YuRC54aV09CkxvW0YuRC5tYV0pO2lmKGwpe3ZhciB4PXNDKGIueWEsRi5ELnlmLG4pO21EKHgsZiE9bnVsbD9mOmEuTS5ldmVudElkLHtldmVudE1ldGFkYXRhOnB9KX1kPWg7Yz1nO2IuWi5Uaj0hMH0pO3RoaXMuUj0hMH19O2suTHE9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWUhPT1GLkQuSmImJnRoaXMuSy5LcShhKX07dmFyIGdTPWZ1bmN0aW9uKGEpe2lmKCFmUyhhKSl7dmFyIGI9ITEsYz1mdW5jdGlvbigpeyFiJiZmUyhhKSYmKGI9ITAsYWQoQiwidmlzaWJpbGl0eWNoYW5nZSIsYyksYWQoQiwicHJlcmVuZGVyaW5nY2hhbmdlIixjKSxQKDU1KSl9OyRjKEIsInZpc2liaWxpdHljaGFuZ2UiLGMpOyRjKEIsInByZXJlbmRlcmluZ2NoYW5nZSIsYyk7UCg1NCl9fSxmUz1mdW5jdGlvbihhKXtpZigicHJlcmVuZGVyaW5nImluIEI/Qi5wcmVyZW5kZXJpbmc6Qi52aXNpYmlsaXR5U3RhdGU9PT0icHJlcmVuZGVyIilyZXR1cm4hMTthKCk7cmV0dXJuITB9O2Z1bmN0aW9uIGhTKGEpe2dTKGZ1bmN0aW9uKCl7dmFyIGI9YkMoYSk7aWYoYil7dmFyIGM9aVMoYiksZD1jby5pYS54ZCxlPVlDKCksZj1iQyhhLCEwKTtmJiZlLkgucmVnaXN0ZXIoZixjLGQsdm9pZCAwKX19KTt9ZnVuY3Rpb24gaVMoYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O3ZhciBjPW5ldyBlUyhhLmlkKSxkPWEucHJlZml4PT09Ik1DIjtiPWZ1bmN0aW9uKGUsZixnLGgpe2QmJihoLmV2ZW50TWV0YWRhdGFbSC5KLmJlXT0hMCk7Yy5acyhmLGcsaCl9O2pTKGEsYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGpTKGEsYil7dmFyIGM9Yi5LO2MuaHQoZnVuY3Rpb24oKXtaayg5LCEwKTtZQygpLmZsdXNoKCk7aWYoYy5ZaCgpPj0xRTMmJmtkKCkpe3ZhciBkPXt9LGU9e2V2ZW50SWQ6cmooKSxldmVudE1ldGFkYXRhOihkW0guSi5La109ITAsZCksZGVmZXJyYWJsZTohMH07WkMoRi5ELnlmLHt9LGEuaWQsZSl9Yi5mbHVzaCgpO2MuQ28oZnVuY3Rpb24oKXtaayg5LCExKTtjLkNvKCl9KX0pO312YXIga1M9Si5VLnFsLGxTPUouVS5ybDtmdW5jdGlvbiBtUyhhLGIpe3ZhciBjPXRrKCk7YyYmYy5pbmRleE9mKGIpPi0xJiYoYVtILkouQ2NdPSEwKX1mdW5jdGlvbiBvUyhhLGIsYyl7dmFyIGQ9dGhpczt9b1MuUD0iaW50ZXJuYWwuZ3RhZ0NvbmZpZyI7ZnVuY3Rpb24gcFMoYSxiLGMsZCl7dmFyIGU9dGhpczt9cFMuUD0iaW50ZXJuYWwuZ3RhZ0Rlc3RpbmF0aW9uQ29uZmlnIjsKZnVuY3Rpb24gclMoYSxiKXt9CnJTLnB1YmxpY05hbWU9Imd0YWdTZXQiO2Z1bmN0aW9uIHNTKCl7dmFyIGE9e307cmV0dXJuIGF9O2Z1bmN0aW9uIHRTKGEpe310Uy5QPSJpbnRlcm5hbC5pbml0aWFsaXplU2VydmljZVdvcmtlciI7ZnVuY3Rpb24gdVMoYSxiKXt9dVMucHVibGljTmFtZT0iaW5qZWN0SGlkZGVuSWZyYW1lIjtmdW5jdGlvbiB2UyhhLGIsYyxkLGUpe312Uy5QPSJpbnRlcm5hbC5pbmplY3RIdG1sIjt2YXIgQVM9e2RsOjEsaWQ6MX07CmZ1bmN0aW9uIEJTKGEsYixjLGQpe31CUy5wdWJsaWNOYW1lPSJpbmplY3RTY3JpcHQiO2Z1bmN0aW9uIENTKCl7dmFyIGE9dm0sYj0hMTtiPSEhYS5IWyI1Il07cmV0dXJuIGJ9Q1MuUD0iaW50ZXJuYWwuaXNBdXRvUGlpRWxpZ2libGUiO2Z1bmN0aW9uIERTKGEpe3ZhciBiPSEwO3JldHVybiBifURTLnB1YmxpY05hbWU9ImlzQ29uc2VudEdyYW50ZWQiO2Z1bmN0aW9uIEVTKGEpe3ZhciBiPSExO3JldHVybiBifUVTLlA9ImludGVybmFsLmlzRGVidWdNb2RlIjtmdW5jdGlvbiBGUyhhKXt2YXIgYj0hMTtyZXR1cm4gYn1GUy5QPSJpbnRlcm5hbC5pc0Rlc3RpbmF0aW9uSW5pdGlhbGl6ZWQiO2Z1bmN0aW9uIEdTKCl7cmV0dXJuIEJtKCl9R1MuUD0iaW50ZXJuYWwuaXNEbWFSZWdpb24iO2Z1bmN0aW9uIEhTKCl7cmV0dXJuIFVCKCl9SFMuUD0iaW50ZXJuYWwuaXNEb21SZWFkeSI7ZnVuY3Rpb24gSVMoYSl7dmFyIGI9ITE7cmV0dXJuIGJ9SVMuUD0iaW50ZXJuYWwuaXNFbnRpdHlJbmZyYXN0cnVjdHVyZSI7ZnVuY3Rpb24gSlMoYSl7dmFyIGI9ITE7aWYoIXFoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJudW1iZXIiXSxbYV0pO2I9TShhKTtyZXR1cm4gYn1KUy5QPSJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIjtmdW5jdGlvbiBLUygpe3ZhciBhPSExO3JldHVybiBhfUtTLlA9ImludGVybmFsLmlzRnBmZSI7ZnVuY3Rpb24gTFMoKXt2YXIgYT0hMTtyZXR1cm4gYX1MUy5QPSJpbnRlcm5hbC5pc0djcEJyb3dzZXIiO2Z1bmN0aW9uIE1TKCl7dmFyIGE9ITE7cmV0dXJuIGF9TVMuUD0iaW50ZXJuYWwuaXNMYW5kaW5nUGFnZSI7ZnVuY3Rpb24gTlMoKXt2YXIgYT0hMTtyZXR1cm4gYX1OUy5QPSJpbnRlcm5hbC5pc09ndCI7ZnVuY3Rpb24gT1MoKXt2YXIgYTtyZXR1cm4gYX1PUy5QPSJpbnRlcm5hbC5pc1NhZmFyaVBjbUVsaWdpYmxlQnJvd3NlciI7ZnVuY3Rpb24gUFMoKXt2YXIgYT1RaChmdW5jdGlvbihiKXtYRih0aGlzKS5sb2coImVycm9yIixiKX0pO2EucHVibGljTmFtZT0iSlNPTiI7cmV0dXJuIGF9O2Z1bmN0aW9uIFFTKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYil9UVMuUD0iaW50ZXJuYWwubGVnYWN5UGFyc2VVcmwiO2Z1bmN0aW9uIFJTKCl7cmV0dXJuITF9CnZhciBTUz17Z2V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj1udWxsO3JldHVybiBifSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuITF9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7fX07ZnVuY3Rpb24gVFMoKXt9VFMucHVibGljTmFtZT0ibG9nVG9Db25zb2xlIjtmdW5jdGlvbiBVUyhhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3QiXSxhcmd1bWVudHMpO3ZhciBjPWEsZD1UZChiLHRoaXMuVCksZT1ZQygpLGY9YkMoYywhMCk7ZiYmVEMoZS5ILGYsZCk7fVVTLlA9ImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIjtmdW5jdGlvbiBWUyhhLGIsYyl7Yz1jPT09dm9pZCAwPyEwOmM7dmFyIGQ9W107cmV0dXJuIFVkKGQpfVZTLlA9ImludGVybmFsLnBhcnNlQ29va2llVmFsdWVzRnJvbVN0cmluZyI7ZnVuY3Rpb24gV1MoYSl7dmFyIGI9dm9pZCAwO2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuO2EmJlNiKGEsIi8vIikmJihhPUIubG9jYXRpb24ucHJvdG9jb2wrYSk7aWYodHlwZW9mIFVSTD09PSJmdW5jdGlvbiIpe3ZhciBjO2E6e3ZhciBkO3RyeXtkPW5ldyBVUkwoYSl9Y2F0Y2goeCl7Yz12b2lkIDA7YnJlYWsgYX1mb3IodmFyIGU9e30sZj1BcnJheS5mcm9tKGQuc2VhcmNoUGFyYW1zKSxnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ11bMF0sbD1mW2ddWzFdO2UuaGFzT3duUHJvcGVydHkoaCk/dHlwZW9mIGVbaF09PT0ic3RyaW5nIj9lW2hdPVtlW2hdLGxdOmVbaF0ucHVzaChsKTplW2hdPWx9Yz17aHJlZjpkLmhyZWYsb3JpZ2luOmQub3JpZ2luLHByb3RvY29sOmQucHJvdG9jb2wsdXNlcm5hbWU6ZC51c2VybmFtZSxwYXNzd29yZDpkLnBhc3N3b3JkLGhvc3Q6ZC5ob3N0LGhvc3RuYW1lOmQuaG9zdG5hbWUsCnBvcnQ6ZC5wb3J0LHBhdGhuYW1lOmQucGF0aG5hbWUsc2VhcmNoOmQuc2VhcmNoLHNlYXJjaFBhcmFtczplLGhhc2g6ZC5oYXNofX1yZXR1cm4gVWQoYyl9dmFyIG47dHJ5e249UmooYSl9Y2F0Y2goeCl7cmV0dXJufWlmKCFuLnByb3RvY29sfHwhbi5ob3N0KXJldHVybjt2YXIgcD17fTtpZihuLnNlYXJjaClmb3IodmFyIHE9bi5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikscj0wO3I8cS5sZW5ndGg7cisrKXt2YXIgdD1xW3JdLnNwbGl0KCI9IiksdT10WzBdLHY9S2oodC5zcGxpY2UoMSkuam9pbigiPSIpKXx8IiI7dj12LnJlcGxhY2UoL1wrL2csIiAiKTtwLmhhc093blByb3BlcnR5KHUpP3R5cGVvZiBwW3VdPT09InN0cmluZyI/cFt1XT1bcFt1XSx2XTpwW3VdLnB1c2godik6cFt1XT12fW4uc2VhcmNoUGFyYW1zPXA7bi5vcmlnaW49bi5wcm90b2NvbCsiLy8iK24uaG9zdDtuLnVzZXJuYW1lPSIiO24ucGFzc3dvcmQ9IiI7Yj1VZChuKTsKcmV0dXJuIGJ9V1MucHVibGljTmFtZT0icGFyc2VVcmwiO2Z1bmN0aW9uIFhTKGEpe31YUy5QPSJpbnRlcm5hbC5wcm9jZXNzQXNOZXdFdmVudCI7ZnVuY3Rpb24gWVMoYSxiLGMpe3ZhciBkO3JldHVybiBkfVlTLlA9ImludGVybmFsLnB1c2hUb0RhdGFMYXllciI7ZnVuY3Rpb24gWlMoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9ITE7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO2Zvcih2YXIgZD1bdGhpcyxhXSxlPW0oYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZC5wdXNoKFRkKGYudmFsdWUsdGhpcy5ULDEpKTt0cnl7TC5hcHBseShudWxsLGQpLGM9ITB9Y2F0Y2goZyl7cmV0dXJuITF9cmV0dXJuIGN9WlMucHVibGljTmFtZT0icXVlcnlQZXJtaXNzaW9uIjtmdW5jdGlvbiAkUyhhKXt2YXIgYj10aGlzO30kUy5QPSJpbnRlcm5hbC5xdWV1ZUFkc1RyYW5zbWlzc2lvbiI7ZnVuY3Rpb24gYVQoYSl7dmFyIGI9dm9pZCAwO3JldHVybiBifWFULnB1YmxpY05hbWU9InJlYWRBbmFseXRpY3NTdG9yYWdlIjtmdW5jdGlvbiBiVCgpe3ZhciBhPSIiO3JldHVybiBhfWJULnB1YmxpY05hbWU9InJlYWRDaGFyYWN0ZXJTZXQiO2Z1bmN0aW9uIGNUKCl7cmV0dXJuIEUoMTkpfWNULlA9ImludGVybmFsLnJlYWREYXRhTGF5ZXJOYW1lIjtmdW5jdGlvbiBkVCgpe3ZhciBhPSIiO3JldHVybiBhfWRULnB1YmxpY05hbWU9InJlYWRUaXRsZSI7ZnVuY3Rpb24gZVQoYSxiKXt2YXIgYz10aGlzO2lmKCFsaChhKXx8IWhoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJmdW5jdGlvbiJdLGFyZ3VtZW50cyk7TE0oYSxmdW5jdGlvbihkKXtiLmludm9rZShjLlQsVWQoZCxjLlQsMSkpfSk7fWVULlA9ImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siO2Z1bmN0aW9uIGZUKGEsYil7aWYoIWxoKGEpfHwhZWgoYikmJiFnaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoQmgoWEYodGhpcykuUGIoKSkpcmV0dXJuITE7dmFyIGMsZCxlPWJDKGEsITApO2lmKCFlKXJldHVybiExO3N3aXRjaChlLnByZWZpeCl7Y2FzZSAiQVciOmM9dE47ZD1jby5pYS5jYjticmVhaztjYXNlICJEQyI6Yz1JTjtkPWNvLmlhLmNiO2JyZWFrO2Nhc2UgIkdGIjpjPU5OO2Q9Y28uaWEuZ2Q7YnJlYWs7Y2FzZSAiSEEiOmM9UE47ZD1jby5pYS5nZDticmVhaztjYXNlICJVQSI6Yz1mTztkPWNvLmlhLmdkO2JyZWFrO2Nhc2UgIk1DIjpjPWlTKGUpO2Q9Y28uaWEueGQ7YnJlYWs7Y2FzZSAiRyI6cmV0dXJuIGhTKGEpLCEwO2RlZmF1bHQ6cmV0dXJuITF9dmFyIGY9YSwKZz1jLGg9ZCxsPVRkKGIsdGhpcy5ULDEpLG49WUMoKSxwPWJDKGYsITApO3AmJm4uSC5yZWdpc3RlcihwLGcsaCxsKTtyZXR1cm4hMH1mVC5QPSJpbnRlcm5hbC5yZWdpc3RlckRlc3RpbmF0aW9uIjt2YXIgZ1Q9WyJldmVudCJdO2Z1bmN0aW9uIGhUKGEsYixjKXt9aFQuUD0iaW50ZXJuYWwucmVnaXN0ZXJHdGFnQ29tbWFuZExpc3RlbmVyIjtmdW5jdGlvbiBpVChhLGIpe3ZhciBjPSExO3JldHVybiBjfWlULlA9ImludGVybmFsLnJlbW92ZURhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIGpUKGEsYil7fQpqVC5QPSJpbnRlcm5hbC5yZW1vdmVGb3JtRGF0YSI7ZnVuY3Rpb24ga1QoKXt9a1QucHVibGljTmFtZT0icmVzZXREYXRhTGF5ZXIiO2Z1bmN0aW9uIGxUKGEsYixjKXt2YXIgZD12b2lkIDA7cmV0dXJuIGR9bFQuUD0iaW50ZXJuYWwuc2NydWJVcmxQYXJhbXMiO2Z1bmN0aW9uIG1UKGEpe31tVC5QPSJpbnRlcm5hbC5zZW5kQWRzSGl0IjtmdW5jdGlvbiBuVChhLGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fCFmaChkKXx8IWZoKGMpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJhbnkiLCJhbnkiLCJPYmplY3R8dW5kZWZpbmVkIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGU9Yz9UZChjLHRoaXMuVCwxKTp7fSxmPVRkKGEpLGc9QXJyYXkuaXNBcnJheShmKT9mOltmXTtiPVN0cmluZyhiKTt2YXIgaD1kP1RkKGQpOnt9LGw9WEYodGhpcyk7aC5vcmlnaW5hdGluZ0VudGl0eT10RyhsKTtsLnByaW9yaXR5UXVldWUmJihoLnByaW9yaXR5UXVldWU9bC5wcmlvcml0eVF1ZXVlKTtmb3IodmFyIG49MDtuPGcubGVuZ3RoO24rKyl7dmFyIHA9Z1tuXTtpZih0eXBlb2YgcD09PSJzdHJpbmciKXt2YXIgcT17fTtFZChlLHEpO3ZhciByPXt9O0VkKGgscik7dmFyIHQ9c0MocCxiLHEpO21EKHQsCmguZXZlbnRJZHx8bC5ldmVudElkLHIpfX19blQuUD0iaW50ZXJuYWwuc2VuZEd0YWdFdmVudCI7ZnVuY3Rpb24gb1QoYSxiLGMpe31vVC5wdWJsaWNOYW1lPSJzZW5kUGl4ZWwiO2Z1bmN0aW9uIHBUKGEsYil7fXBULlA9ImludGVybmFsLnNldEFuY2hvckhyZWYiO2Z1bmN0aW9uIHFUKGEpe31xVC5QPSJpbnRlcm5hbC5zZXRDb250YWluZXJDb25zZW50RGVmYXVsdHMiO2Z1bmN0aW9uIHJUKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY9ITE7CnJldHVybiBmfXJULnB1YmxpY05hbWU9InNldENvb2tpZSI7ZnVuY3Rpb24gc1QoYSl7fXNULlA9ImludGVybmFsLnNldENvcmVQbGF0Zm9ybVNlcnZpY2VzIjtmdW5jdGlvbiB0VChhLGIpe310VC5QPSJpbnRlcm5hbC5zZXREYXRhTGF5ZXJWYWx1ZSI7ZnVuY3Rpb24gdVQoYSl7fXVULnB1YmxpY05hbWU9InNldERlZmF1bHRDb25zZW50U3RhdGUiO2Z1bmN0aW9uIHZUKGEsYil7fXZULlA9ImludGVybmFsLnNldERlbGVnYXRlZENvbnNlbnRUeXBlIjtmdW5jdGlvbiB3VChhLGIpe313VC5QPSJpbnRlcm5hbC5zZXRGb3JtQWN0aW9uIjtmdW5jdGlvbiB4VChhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aWYoIWxoKGEpfHwhb2goYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSIsImJvb2xlYW58dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtpZigha20oYSkpdGhyb3cgRXJyb3IoInNldEluQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTsoY3x8bm0oYSk9PT12b2lkIDApJiZtbShhLFRkKGIsdGhpcy5ULDEpKTt9eFQuUD0iaW50ZXJuYWwuc2V0SW5Dcm9zc0NvbnRhaW5lckRhdGEiO2Z1bmN0aW9uIHlUKGEsYixjKXtyZXR1cm4hMX15VC5wdWJsaWNOYW1lPSJzZXRJbldpbmRvdyI7ZnVuY3Rpb24gelQoYSxiLGMpe316VC5QPSJpbnRlcm5hbC5zZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiO2Z1bmN0aW9uIEFUKGEsYixjKXtpZighbGgoYSl8fCFsaChiKXx8YXJndW1lbnRzLmxlbmd0aCE9PTMpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7Zm9yKHZhciBkPWIuc3BsaXQoIi4iKSxlPWVEKGEpLGY9MDtmPGQubGVuZ3RoLTE7ZisrKXtpZihlW2RbZl1dPT09dm9pZCAwKWVbZFtmXV09e307ZWxzZSBpZighQ2QoZVtkW2ZdXSkpdGhyb3cgRXJyb3IoInNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciBmYWlsZWQsIHBhdGggY29udGFpbnMgYSBub24tb2JqZWN0IHR5cGU6ICIrZFtmXSk7ZT1lW2RbZl1dfWVbZFtmXV09VGQoYyx0aGlzLlQsMSk7fUFULlA9ImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gQlQoYSxiKXt9CkJULlA9ImludGVybmFsLnNldFRyYW5zbWlzc2lvbk1vZGUiO2Z1bmN0aW9uIENUKGEsYixjLGQpe3ZhciBlPXRoaXM7fUNULnB1YmxpY05hbWU9InNoYTI1NiI7ZnVuY3Rpb24gRFQoYSxiLGMpe30KRFQuUD0iaW50ZXJuYWwuc29ydFJlbW90ZUNvbmZpZ1BhcmFtZXRlcnMiO2Z1bmN0aW9uIEVUKGEpe31FVC5QPSJpbnRlcm5hbC5zdG9yZUFkc0JyYWlkTGFiZWxzIjtmdW5jdGlvbiBGVChhLGIpe3ZhciBjPXZvaWQgMDtyZXR1cm4gY31GVC5QPSJpbnRlcm5hbC5zdWJzY3JpYmVUb0Nyb3NzQ29udGFpbmVyRGF0YSI7ZnVuY3Rpb24gR1QoYSl7fUdULlA9ImludGVybmFsLnRhc2tTZW5kQWRzSGl0cyI7dmFyIEhUPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBjPVhGKHRoaXMpLlBiKCksZD1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtkW2NdJiYoYj1kW2NdLmhhc093blByb3BlcnR5KCJndG0uIithKT9kW2NdWyJndG0uIithXTpudWxsKTtyZXR1cm4gYn0sc2V0SXRlbTpmdW5jdGlvbihhLGIpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYz1YRih0aGlzKS5QYigpLGQ9YWwoNyxmdW5jdGlvbigpe3JldHVybnt9fSk7ZFtjXT1kW2NdfHx7fTtkW2NdWyJndG0uIithXT1iO30sCnJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBiPVhGKHRoaXMpLlBiKCksYz1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtpZighY1tiXXx8IWNbYl0uaGFzT3duUHJvcGVydHkoImd0bS4iK2EpKXJldHVybjtkZWxldGUgY1tiXVsiZ3RtLiIrYV07fSxjbGVhcjpmdW5jdGlvbigpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYT1YRih0aGlzKS5QYigpO2RlbGV0ZSBhbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KVthXTt9LApwdWJsaWNOYW1lOiJ0ZW1wbGF0ZVN0b3JhZ2UifTtmdW5jdGlvbiBJVChhLGIpe3ZhciBjPSExO3JldHVybiBjfUlULlA9ImludGVybmFsLnRlc3RSZWdleCI7ZnVuY3Rpb24gSlQoYSl7dmFyIGI7cmV0dXJuIGJ9O2Z1bmN0aW9uIEtUKGEsYil7fUtULlA9ImludGVybmFsLnRyYWNrVXNhZ2UiO2Z1bmN0aW9uIExUKGEsYil7dmFyIGM7cmV0dXJuIGN9TFQuUD0iaW50ZXJuYWwudW5zdWJzY3JpYmVGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBNVChhKXt9TVQucHVibGljTmFtZT0idXBkYXRlQ29uc2VudFN0YXRlIjtmdW5jdGlvbiBOVChhKXt2YXIgYj0hMTtyZXR1cm4gYn1OVC5QPSJpbnRlcm5hbC51c2VyRGF0YU5lZWRzRW5jcnlwdGlvbiI7dmFyIE9UPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBhaX0sUVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGI7dmFyIGM9UFQuSDtpZihjLmNvbnRhaW5zKGEpKWI9Yy5nZXQoYSx0aGlzKTtlbHNle3ZhciBkO2lmKGQ9Yy5ILmhhc093blByb3BlcnR5KGEpKXt2YXIgZT10aGlzLlQueGIoKTtpZihlKXt2YXIgZj0hMSxnPWUuUGIoKTtpZihnKXtCaChnKXx8KGY9ITApO31kPWZ9ZWxzZSBkPSEwfWlmKGQpe3ZhciBoPWMuSC5oYXNPd25Qcm9wZXJ0eShhKT9jLkhbYV06dm9pZCAwO2I9aH1lbHNlIHRocm93IEVycm9yKGErIiBpcyBub3QgYSB2YWxpZCBBUEkgbmFtZS4iKTt9cmV0dXJuIGJ9fSxQVDtmdW5jdGlvbiBSVChhLGIsYyl7UFR8fChQVD1uZXcgT1QpO1BULkguYWRkKGEsYixjKX1mdW5jdGlvbiBTVChhLGIpe1BUfHwoUFQ9bmV3IE9UKTt2YXIgYz1QVC5IO2lmKGMuSC5oYXNPd25Qcm9wZXJ0eShhKSl0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhZGQgYSBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZihjLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBhbiBleGlzdGluZyBBUEkgbmFtZTogIithKyIuIik7Yy5IW2FdPXliKGIpP3RoKGEsYik6dWgoYSxiKX07ZnVuY3Rpb24gVFQoYSxiKXtmdW5jdGlvbiBjKGQpe2lmKCFlaChkKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0Il0sYXJndW1lbnRzKTt2YXIgZT1UZChkLHRoaXMuVCwxKS5yYigpO2EoZSl9Yy5QPSJpbnRlcm5hbC4iK2I7cmV0dXJuIGN9O2Z1bmN0aW9uIFVUKCl7dmFyIGE9ZnVuY3Rpb24oYyl7cmV0dXJuIHZvaWQgU1QoYy5QLGMpfSxiPWZ1bmN0aW9uKGMpe3JldHVybiB2b2lkIFJUKGMucHVibGljTmFtZSxjKX07YihSRik7YihZRik7YihSRyk7YihURyk7YihVRyk7YihkSCk7YihmSCk7YihoSSk7YihQUygpKTtiKGpJKTtiKE9PKTtiKFBPKTtiKGxQKTtiKG1QKTtiKG5QKTtiKHVQKTtiKHZQKTtiKHJTKTtiKHVTKTtiKEJTKTtiKERTKTtiKFRTKTtiKFdTKTtiKFpTKTtiKGFUKTtiKGJUKTtiKGRUKTtiKG9UKTtiKHJUKTtiKHVUKTtiKHlUKTtiKENUKTtiKEhUKTtiKE1UKTtSVCgiTWF0aCIsemgoKSk7UlQoIk9iamVjdCIsWmgpO1JUKCJUZXN0SGVscGVyIixjaSgpKTtSVCgiYXNzZXJ0QXBpIix3aCk7UlQoImFzc2VydFRoYXQiLHhoKTtSVCgiZGVjb2RlVXJpIixDaCk7UlQoImRlY29kZVVyaUNvbXBvbmVudCIsRGgpO1JUKCJlbmNvZGVVcmkiLEVoKTtSVCgiZW5jb2RlVXJpQ29tcG9uZW50IixGaCk7UlQoImZhaWwiLApMaCk7UlQoImdlbmVyYXRlUmFuZG9tIixOaCk7UlQoImdldFRpbWVzdGFtcCIsT2gpO1JUKCJnZXRUaW1lc3RhbXBNaWxsaXMiLE9oKTtSVCgiZ2V0VHlwZSIsUGgpO1JUKCJtYWtlSW50ZWdlciIsUmgpO1JUKCJtYWtlTnVtYmVyIixTaCk7UlQoIm1ha2VTdHJpbmciLFRoKTtSVCgibWFrZVRhYmxlTWFwIixVaCk7UlQoIm1vY2siLFhoKTtSVCgibW9ja09iamVjdCIsWWgpO1JUKCJmcm9tQmFzZTY0IixITywhKCJhdG9iImluIEEpKTtSVCgibG9jYWxTdG9yYWdlIixTUywhUlMoKSk7UlQoInRvQmFzZTY0IixKVCwhKCJidG9hImluIEEpKTthKFFGKTthKFVGKTthKG5HKTthKHNHKTthKElHKTthKFBHKTthKFNHKTthKFZHKTthKFdHKTthKFpHKTthKCRHKTthKGFIKTthKGJIKTthKGNIKTthKGVIKTthKGdIKTthKGdJKTthKGlJKTthKGtJKTthKGxJKTthKG1JKTthKG5JKTthKG9JKTthKGZKKTthKG1KKTthKHRKKTthKHVKKTthKEFKKTthKEZKKTthKEtKKTthKFJKKTthKFdKKTthKGdLKTsKYShpSyk7YSh2Syk7YSh3Syk7YSh4Syk7YShGTyk7YShHTyk7YShJTyk7YShKTyk7YShLTyk7YShMTyk7YShNTyk7YShOTyk7YShRTyk7YShSTyk7YShTTyk7YShUTyk7YShVTyk7YShWTyk7YShXTyk7YShYTyk7YShZTyk7YShaTyk7YSgkTyk7YShhUCk7YShiUCk7YShjUCk7YShkUCk7YShlUCk7YShmUCk7YShnUCk7YShoUCk7YShpUCk7YShqUCk7YShrUCk7YShvUCk7YShwUCk7YShxUCk7YShyUCk7YShzUCk7YSh0UCk7YSh3UCk7YShvUyk7YShwUyk7YSh0Uyk7YSh2Uyk7YShDUyk7YShFUyk7YShGUyk7YShHUyk7YShIUyk7YShJUyk7YShKUyk7YShLUyk7YShMUyk7YShNUyk7YShOUyk7YShPUyk7YShRUyk7YShHRyk7YShVUyk7YShWUyk7YShYUyk7YShZUyk7YSgkUyk7YShjVCk7YShlVCk7YShmVCk7YShoVCk7YShpVCk7YShqVCk7YShsVCk7YShtVCk7YShuVCk7YShwVCk7YShxVCk7YShzVCk7YSh0VCk7YSh2VCk7YSh3VCk7YSh4VCk7YSh6VCk7YShBVCk7YShCVCk7YShEVCk7CmEoRVQpO2EoRlQpO2EoR1QpO2EoSVQpO2EoS1QpO2EoTFQpO2EoTlQpO1NUKCJpbnRlcm5hbC5JZnJhbWluZ1N0YXRlU2NoZW1hIixzUygpKTtTVCgiaW50ZXJuYWwucXVpY2tIYXNoIixNaCk7YShUVChNRiwidGFza1NldEFkc1RyYW5zbWlzc2lvblR5cGUiKSksYShUVChQRiwidGFza1NldFVuaXZlcnNhbFBhcmFtcyIpKTtQVHx8KFBUPW5ldyBPVCk7cmV0dXJuIFFUKCl9O3ZhciBKRjtmdW5jdGlvbiBWVCgpe0pGLnNkKGZ1bmN0aW9uKGEsYixjKXtsaigpO3ZhciBkPWpqO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPWQuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFfHwwO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFKys7dHJ5e3JldHVybiBhLmFwcGx5KGIsYyl9ZmluYWxseXtsaigpLGpqLkguU0FOREJPWEVEX0pTX1NFTUFQSE9SRS0tfX0pfWZ1bmN0aW9uIFdUKGEpe2lmKGEmJmEubGVuZ3RoKWZvcih2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSksYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLnJlcGxhY2UoL15fKi8sIiIpO2JbZF09WyJzYW5kYm94ZWRTY3JpcHRzIl19fQpmdW5jdGlvbiBYVChhKXtpZihhKXt2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSk7R2IoYSxmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLnJlcGxhY2UoL15fKi8sIiIpO2JbZl09YltmXXx8W107YltmXS5wdXNoKGMpfX0pfX07ZnVuY3Rpb24gWlQoYSl7bUQocEMoImRldmVsb3Blcl9pZC4iK2EsITApLDAse30pfTtmdW5jdGlvbiAkVChhLGIpe3JldHVybiBFZChhLGJ8fG51bGwpfWZ1bmN0aW9uIFkoYSl7cmV0dXJuIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoYSl9ZnVuY3Rpb24gYVUoYSl7WmMoYSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBiVShhKXt2YXIgYj1bInZlaW50ZXJhY3RpdmUuY29tIiwidmUtaW50ZXJhY3RpdmUuY24iXTtpZighYSlyZXR1cm4hMTt2YXIgYz1MaihSaihhKSwiaG9zdCIpO2lmKCFjKXJldHVybiExO2Zvcih2YXIgZD0wO2ImJmQ8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdJiZiW2RdLnRvTG93ZXJDYXNlKCk7aWYoZSl7dmFyIGY9Yy5sZW5ndGgtZS5sZW5ndGg7Zj4wJiZlLmNoYXJBdCgwKSE9PSIuIiYmKGYtLSxlPSIuIitlKTtpZihmPj0wJiZjLmluZGV4T2YoZSxmKT09PWYpcmV0dXJuITB9fXJldHVybiExfQpmdW5jdGlvbiBjVShhLGIsYyl7Zm9yKHZhciBkPXt9LGU9ITEsZj0wO2EmJmY8YS5sZW5ndGg7ZisrKWFbZl0mJmFbZl0uaGFzT3duUHJvcGVydHkoYikmJmFbZl0uaGFzT3duUHJvcGVydHkoYykmJihkW2FbZl1bYl1dPWFbZl1bY10sZT0hMCk7cmV0dXJuIGU/ZDpudWxsfWZ1bmN0aW9uIGRVKGEsYil7dmFyIGM9e307aWYoYSlmb3IodmFyIGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT1hW2RdKTtpZihiKXt2YXIgZT1jVShiLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJWYWx1ZSIpO2UmJihjPSRUKGUsYykpfXJldHVybiBjfWZ1bmN0aW9uIGVVKGEsYixjKXtyZXR1cm4gYT09PXZvaWQgMHx8YT09PWM/YjphfWZ1bmN0aW9uIGZVKGEsYixjKXtyZXR1cm4gVWMoYSxiLGMsdm9pZCAwKX1mdW5jdGlvbiBnVShhLGIpe0FbYV09Yn1mdW5jdGlvbiBoVShhLGIsYyl7dmFyIGQ9QTtiJiYoZFthXT09PXZvaWQgMHx8YyYmIWRbYV0pJiYoZFthXT1iKTtyZXR1cm4gZFthXX12YXIgaVU9e30salU9WC5WO3ZhciBaPXtzZWN1cml0eUdyb3Vwczp7fX07CgpaLnNlY3VyaXR5R3JvdXBzLmFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPVsiZ29vZ2xlIl0sWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPWZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxaLl9fYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UuTz0iYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5pc1ZlbmRvclRlbXBsYXRlPSEwLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5wcmlvcml0eU92ZXJyaWRlPTAsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI1Il09ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI2Il09ITE7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9ldmVudF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2tleTpjfX0oZnVuY3Rpb24oYil7Wi5fX3JlYWRfZXZlbnRfZGF0YT1iO1ouX19yZWFkX2V2ZW50X2RhdGEuTz0icmVhZF9ldmVudF9kYXRhIjtaLl9fcmVhZF9ldmVudF9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5pc0luZnJhc3RydWN0dXJlPSExO1ouX19yZWFkX2V2ZW50X2RhdGFbIjUiXT0hMTtaLl9fcmVhZF9ldmVudF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9ldmVudERhdGFBY2Nlc3MsZD1iLnZ0cF9rZXlQYXR0ZXJuc3x8W10sZT1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihmLGcpe2lmKGchPW51bGwmJiF6YihnKSl0aHJvdyBlKGYse2tleTpnfSwiS2V5IG11c3QgYmUgYSBzdHJpbmcuIik7CmlmKGMhPT0iYW55Iil7dHJ5e2lmKGM9PT0ic3BlY2lmaWMiJiZnIT1udWxsJiZFZyhnLGQpKXJldHVybn1jYXRjaChoKXt0aHJvdyBlKGYse2tleTpnfSwiSW52YWxpZCBrZXkgZmlsdGVyLiIpO310aHJvdyBlKGYse2tleTpnfSwiUHJvaGliaXRlZCByZWFkIGZyb20gZXZlbnQgZGF0YS4iKTt9fSxhYTphfX0pfSgpOwoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczp7Zml4TWlzc2luZ0FwaTohIWMuZml4TWlzc2luZ0FwaX19fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzPWI7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cy5PPSJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50c1siNSJdPSExO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHNbIjYiXT0KITF9KShmdW5jdGlvbihiKXt2YXIgYz0hIWIudnRwX2FsbG93Rml4TWlzc2luZ0phdmFTY3JpcHRBcGksZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihlLGYpe2lmKCFjJiZmJiZmLmZpeE1pc3NpbmdBcGkpdGhyb3cgZChlLHt9LCJQcm9oaWJpdGVkIG9wdGlvbjogZml4TWlzc2luZ0FwaS4iKTt9LGFhOmF9fSl9KCk7CgoKCgoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1bImdvb2dsZSJdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3JldHVybnt9fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1iO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLk89ImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTphfX0pfSgpOwoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue29wdGlvbnM6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzLk89ImRldGVjdF9saW5rX2NsaWNrX2V2ZW50cyI7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWxsb3dXYWl0Rm9yVGFncyxkPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGUsCmYpe2lmKCFjJiZmJiZmLndhaXRGb3JUYWdzKXRocm93IGQoZSx7fSwiUHJvaGliaXRlZCBvcHRpb24gd2FpdEZvclRhZ3MuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczpjfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9YjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5PPSJkZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93V2FpdEZvclRhZ3MsZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7CnJldHVybnthc3NlcnQ6ZnVuY3Rpb24oZSxmKXtpZighYyYmZiYmZi53YWl0Rm9yVGFncyl0aHJvdyBkKGUse30sIlByb2hpYml0ZWQgb3B0aW9uIHdhaXRGb3JUYWdzLiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5yZWFkX2NvbnRhaW5lcl9kYXRhPVsiZ29vZ2xlIl0sWi5fX3JlYWRfY29udGFpbmVyX2RhdGE9ZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTpmdW5jdGlvbigpe3JldHVybnt9fX19LFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLk89InJlYWRfY29udGFpbmVyX2RhdGEiLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITAsWi5fX3JlYWRfY29udGFpbmVyX2RhdGEucHJpb3JpdHlPdmVycmlkZT0wLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX3JlYWRfY29udGFpbmVyX2RhdGFbIjUiXT0hMSxaLl9fcmVhZF9jb250YWluZXJfZGF0YVsiNiJdPSExOwpaLnNlY3VyaXR5R3JvdXBzLmxpc3Rlbl9kYXRhX2xheWVyPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2V2ZW50TmFtZTpjfX0oZnVuY3Rpb24oYil7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyPWI7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyLk89Imxpc3Rlbl9kYXRhX2xheWVyIjtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIucHJpb3JpdHlPdmVycmlkZT0wO1ouX19saXN0ZW5fZGF0YV9sYXllci5pc0luZnJhc3RydWN0dXJlPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNSJdPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWNjZXNzVHlwZSxkPWIudnRwX2FsbG93ZWRFdmVudHN8fFtdLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnKXtpZighemIoZykpdGhyb3cgZShmLHtldmVudE5hbWU6Z30sCiJFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcuIik7aWYoIShjPT09ImFueSJ8fGM9PT0ic3BlY2lmaWMiJiZkLmluZGV4T2YoZyk+PTApKXRocm93IGUoZix7ZXZlbnROYW1lOmd9LCJQcm9oaWJpdGVkIGxpc3RlbiBvbiBkYXRhIGxheWVyIGV2ZW50LiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2RhdGFTb3VyY2U6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPWI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuTz0iZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YVsiNSJdPSExO1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihkLAplKXtpZihlIT09ImF1dG8iJiZlIT09Im1hbnVhbCImJmUhPT0iY29kZSIpdGhyb3cgYyhkLHt9LCJVbmtub3duIHVzZXIgcHJvdmlkZWQgZGF0YSBzb3VyY2UuIik7aWYoYi52dHBfbGltaXREYXRhU291cmNlcylpZihlIT09ImF1dG8ifHxiLnZ0cF9hbGxvd0F1dG9EYXRhU291cmNlcyl7aWYoZT09PSJtYW51YWwiJiYhYi52dHBfYWxsb3dNYW51YWxEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgdmlhIG1hbnVhbGx5IHNwZWNpZmllZCBDU1Mgc2VsZWN0b3JzIGlzIG5vdCBhbGxvd2VkLiIpO2lmKGU9PT0iY29kZSImJiFiLnZ0cF9hbGxvd0NvZGVEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgZnJvbSBhbiBpbi1wYWdlIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkLiIpO31lbHNlIHRocm93IGMoZCx7fSwiQXV0b21hdGljIGRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgaXMgbm90IGFsbG93ZWQuIik7Cn0sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5nZXRfdXJsPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyxkKXtyZXR1cm57Y29tcG9uZW50OmMscXVlcnlLZXk6ZH19KGZ1bmN0aW9uKGIpe1ouX19nZXRfdXJsPWI7Wi5fX2dldF91cmwuTz0iZ2V0X3VybCI7Wi5fX2dldF91cmwuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZ2V0X3VybC5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2dldF91cmwuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZ2V0X3VybFsiNSJdPSExO1ouX19nZXRfdXJsWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF91cmxQYXJ0cz09PSJhbnkiP251bGw6W107YyYmKGIudnRwX3Byb3RvY29sJiZjLnB1c2goInByb3RvY29sIiksYi52dHBfaG9zdCYmYy5wdXNoKCJob3N0IiksYi52dHBfcG9ydCYmYy5wdXNoKCJwb3J0IiksYi52dHBfcGF0aCYmYy5wdXNoKCJwYXRoIiksYi52dHBfZXh0ZW5zaW9uJiZjLnB1c2goImV4dGVuc2lvbiIpLGIudnRwX3F1ZXJ5JiYKYy5wdXNoKCJxdWVyeSIpLGIudnRwX2ZyYWdtZW50JiZjLnB1c2goImZyYWdtZW50IikpO3ZhciBkPWMmJmIudnRwX3F1ZXJpZXNBbGxvd2VkIT09ImFueSI/Yi52dHBfcXVlcnlLZXlzfHxbXTpudWxsLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnLGgpe2lmKGcpe2lmKCF6YihnKSl0aHJvdyBlKGYse30sIlVSTCBjb21wb25lbnQgbXVzdCBiZSBhIHN0cmluZy4iKTtpZihjJiZjLmluZGV4T2YoZyk8MCl0aHJvdyBlKGYse30sIlByb2hpYml0ZWQgVVJMIGNvbXBvbmVudDogIitnKTtpZihnPT09InF1ZXJ5IiYmZCl7aWYoIWgpdGhyb3cgZShmLHt9LCJQcm9oaWJpdGVkIGZyb20gZ2V0dGluZyBlbnRpcmUgVVJMIHF1ZXJ5IHdoZW4gcXVlcnkga2V5cyBhcmUgc3BlY2lmaWVkLiIpO2lmKCF6YihoKSl0aHJvdyBlKGYse30sIlF1ZXJ5IGtleSBtdXN0IGJlIGEgc3RyaW5nLiIpO2lmKGQuaW5kZXhPZihoKTwwKXRocm93IGUoZix7fSwKIlByb2hpYml0ZWQgcXVlcnkga2V5OiAiK2gpO319ZWxzZSBpZihjKXRocm93IGUoZix7fSwiUHJvaGliaXRlZCBmcm9tIGdldHRpbmcgZW50aXJlIFVSTCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4iKTt9LGFhOmF9fSl9KCk7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9kb21fZWxlbWVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnt0eXBlOmMsdmFsdWU6ZH19KGZ1bmN0aW9uKGIpe1ouX19yZWFkX2RvbV9lbGVtZW50cz1iO1ouX19yZWFkX2RvbV9lbGVtZW50cy5PPSJyZWFkX2RvbV9lbGVtZW50cyI7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fcmVhZF9kb21fZWxlbWVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjUiXT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93ZWRFbGVtZW50SWRzfHwibm9uZSIsZD1iLnZ0cF9hbGxvd2VkQ3NzU2VsZWN0b3JzfHwibm9uZSIsZT1iLnZ0cF9lbGVtZW50SWRzfHxbXSxmPWIudnRwX2Nzc1NlbGVjdG9yc3x8W10sZz0KYi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oaCxsLG4pe3N3aXRjaChsKXtjYXNlICJpZCI6aWYoYz09PSJub25lIilicmVhaztpZihjPT09ImFueSJ8fGUuaW5kZXhPZihuKT4tMSlyZXR1cm47YnJlYWs7Y2FzZSAiY3NzIjppZihkPT09Im5vbmUiKWJyZWFrO2lmKGQ9PT0iYW55Inx8Zi5pbmRleE9mKG4pPi0xKXJldHVybjticmVhaztkZWZhdWx0OnRocm93IGcoaCx7fSwiVW5rbm93biBzZWxlY3RvciB0eXBlICIrbCsiLiIpO310aHJvdyBnKGgse30sIlByb2hpYml0ZWQgc2VsZWN0b3IgdmFsdWUgIituKyIgZm9yIHNlbGVjdG9yIHR5cGUgIitsKyIuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9jbGlja19ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnttYXRjaENvbW1vbkJ1dHRvbnM6Yyxjc3NTZWxlY3RvcjpkfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5PPSJkZXRlY3RfY2xpY2tfZXZlbnRzIjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9jbGlja19ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGQsZSxmKXtpZihlIT09dm9pZCAwJiZ0eXBlb2YgZSE9PQoiYm9vbGVhbiIpdGhyb3cgYyhkLHt9LCJtYXRjaENvbW1vbkJ1dHRvbnMgbXVzdCBiZSBhIGJvb2xlYW4uIik7aWYoZiE9PXZvaWQgMCYmdHlwZW9mIGYhPT0ic3RyaW5nIil0aHJvdyBjKGQse30sImNzc1NlbGVjdG9yIG11c3QgYmUgYSBzdHJpbmcuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9zY3JvbGxfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7cmV0dXJue319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cz1iO1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cy5PPSJkZXRlY3Rfc2Nyb2xsX2V2ZW50cyI7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6YX19KX0oKTsKCgoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57fX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cz1iO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMuTz0iZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzWyI2Il09ITF9KShmdW5jdGlvbigpe3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oKXt9LAphYTphfX0pfSgpOwpmdW5jdGlvbiBrVSgpe3ZhciBhPXt9LGI9e2RhdGFMYXllcjp0QSxjYWxsYmFjazpmdW5jdGlvbihjKXthLmhhc093blByb3BlcnR5KGMpJiZ5YihhW2NdKSYmYVtjXSgpO2RlbGV0ZSBhW2NdfSxib290c3RyYXA6MH07cmV0dXJuIGJ9CmZ1bmN0aW9uIGxVKCl7dmFyIGE9a1UoKTtvaihhKTtDaygpO2pBKCk7dmFyIGI9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pO1FiKGIsWi5zZWN1cml0eUdyb3Vwcyk7dmFyIGM9eWsoemsoKSksZCxlPWM9PW51bGw/dm9pZCAwOihkPWMuY29udGV4dCk9PW51bGw/dm9pZCAwOmQuc291cmNlO0tsKGUsYz09bnVsbD92b2lkIDA6Yy5wYXJlbnQpO2UhPT0yJiZlIT09NCYmZSE9PTN8fFAoMTQyKTtyZXR1cm4gYX1mdW5jdGlvbiBtVSgpe3ZhciBhPUUoNjApO2lmKGEpZm9yKHZhciBiPWEuc3BsaXQoIi4iKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1UTDtkJiYoZS5IW2RdPSEwKX19CmZ1bmN0aW9uIG5VKCl7enAoKTtsaigpO2Zvcih2YXIgYT1kYXRhLnJlc291cmNlfHx7fSxiPWNBLGM9YS5tYWNyb3N8fFtdLGQ9MDtkPGMubGVuZ3RoO2QrKyliLm1hY3Jvcy5wdXNoKG5ldyBVeihjW2RdLGQsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBlPWEudGFnc3x8W10sZj0wO2Y8ZS5sZW5ndGg7ZisrKWIudGFncy5wdXNoKG5ldyBZeihlW2ZdLGYsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBnPWEucHJlZGljYXRlc3x8W10saD0wO2g8Zy5sZW5ndGg7aCsrKWIucHJlZGljYXRlcy5wdXNoKG5ldyBWeihnW2hdLGIudGFncyxiLm1hY3JvcykpO2Zvcih2YXIgbD1hLnJ1bGVzfHxbXSxuPTA7bjxsLmxlbmd0aDtuKyspYi5ydWxlcy5wdXNoKG5ldyBXeihsW25dLG4pKTtRej1aO3ZhciBwPWRhdGEucGVybWlzc2lvbnN8fHt9LHE9WjtkZz1uZXcgZ2coRSg1KSxwLHEpO3ZhciByPWRhdGEuc2FuZGJveGVkX3NjcmlwdHMsdD1kYXRhLnNlY3VyaXR5X2dyb3Vwcyx1PWRhdGEucnVudGltZXx8CltdLHY9ZGF0YS5ydW50aW1lX2xpbmVzO0pGPW5ldyBwZjtWVCgpO1B6PUlGKCk7dmFyIHg9SkYseT1VVCgpLHo9bmV3IExkKCJyZXF1aXJlIix5KTt6LlphKCk7eC5ILkguc2V0KCJyZXF1aXJlIix6KTtkYi5zZXQoInJlcXVpcmUiLHopO2Zvcih2YXIgQz0wO0M8dS5sZW5ndGg7QysrKXt2YXIgRD11W0NdO2lmKCFBcnJheS5pc0FycmF5KEQpfHxELmxlbmd0aDwzKXtpZihELmxlbmd0aD09PTApY29udGludWU7YnJlYWt9diYmdltDXSYmdltDXS5sZW5ndGgmJlBmKEQsdltDXSk7dHJ5e0pGLmV4ZWN1dGUoRCl9Y2F0Y2gob1Upe319V1Qocik7WFQodCk7dmFyIEk9bFUoKTtpRigpO3ZtLmJpbmQoKTtpZighRGopZm9yKHZhciBHPUJtKCk/ZXAoTGYoNSkpOmVwKExmKDQpKSxOPW0oUm8pLFM9Ti5uZXh0KCk7IVMuZG9uZTtTPU4ubmV4dCgpKXt2YXIgVz1TLnZhbHVlLGVhPVcsamE9R1tXXT8iZ3JhbnRlZCI6ImRlbmllZCI7dGwoKS5pbXBsaWNpdChlYSxqYSl9aEUuYmluZCgpO1RCKCk7Ck9CKCk7Zm4uTiYmKGd6KCksZnooQUYpLGdBKCksY0I9bmV3IGJCLGZ6KGl6KSxPQygpLERGfHwoREY9bmV3IEJGKSxmQnx8KGZCPW5ldyBlQiksRkY9bmV3IEVGKTtpZihmbi5LKXtERS5iaW5kKCk7bUMuYmluZCgpO3dFLmJpbmQoKTt2YXIgZmE9QWsoKTtpZihmYSl7dmFyIHNhO2E6e3ZhciBkYSxtYT0oZGE9ZmEuc2NyaXB0RWxlbWVudCk9PW51bGw/dm9pZCAwOmRhLnNyYztpZihtYSl7dmFyIFBhO3RyeXt2YXIgRmE7UGE9KEZhPXJkKCkpPT1udWxsP3ZvaWQgMDpGYS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpfWNhdGNoKG9VKXt9aWYoUGEpe2Zvcih2YXIgcWE9LTEsaWI9bShQYSksWGI9aWIubmV4dCgpOyFYYi5kb25lO1hiPWliLm5leHQoKSl7dmFyIExjPVhiLnZhbHVlO2lmKExjLmluaXRpYXRvclR5cGU9PT0KInNjcmlwdCImJihxYSs9MSxMYy5uYW1lLnJlcGxhY2UoTkUsIiIpPT09bWEucmVwbGFjZShORSwiIikpKXtzYT1xYTticmVhayBhfX1QKDE0Nil9ZWxzZSBQKDE0NSl9c2E9dm9pZCAwfXZhciBRZD1zYTtRZCE9PXZvaWQgMCYmKGZhLmNhbm9uaWNhbENvbnRhaW5lcklkJiZVbSgicnRnIixTdHJpbmcoZmEuY2Fub25pY2FsQ29udGFpbmVySWQpKSxVbSgic2xvIixTdHJpbmcoUWQpKSxVbSgiaGxvIixmYS5odG1sTG9hZE9yZGVyfHwiLTEiKSxVbSgibHN0IixTdHJpbmcoZmEubG9hZFNjcmlwdFR5cGV8fCIwIikpKX1lbHNlIFAoMTQ0KTt2YXIgWWM7dmFyIERkPXhrKCk7aWYoRGQpaWYoRGQuY2Fub25pY2FsQ29udGFpbmVySWQpWWM9RGQuY2Fub25pY2FsQ29udGFpbmVySWQ7ZWxzZXt2YXIgamYsdmg9RGQuc2NyaXB0Q29udGFpbmVySWR8fCgoamY9RGQuZGVzdGluYXRpb25zKT09bnVsbD92b2lkIDA6amZbMF0pO1ljPXZoPyJfIit2aDp2b2lkIDB9ZWxzZSBZYz12b2lkIDA7dmFyIEpFPQpZYztKRSYmVW0oInBjaWQiLEpFKTtVbSgiYnQiLFN0cmluZyhJZig0Nyk/MjpJZig1MCk/MTowKSk7VW0oImN0IixTdHJpbmcoSWYoNDcpPzA6SWYoNTApPzE6MykpO0FFLmJpbmQoKTtmb3IodmFyIFdyPVtdLFhyPVtdLEtFPW0oT2JqZWN0LmtleXMoR0UpKSxZcj1LRS5uZXh0KCk7IVlyLmRvbmU7WXI9S0UubmV4dCgpKXt2YXIgcm09WXIudmFsdWU7aWYod2luZG93LmlzU2VjdXJlQ29udGV4dHx8IUlFW3JtXSl7dmFyIExFPUdFW3JtXSgpO2lmKHliKExFKSl7dmFyIE1FPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKExFKTtUYihNRSwieyBbbmF0aXZlIGNvZGVdIH0iKXx8VGIoTUUsIntcbiAgICBbbmF0aXZlIGNvZGVdXG59Iil8fFhyLnB1c2gocm0pfWVsc2UgV3IucHVzaChybSl9fVdyLmxlbmd0aD4wJiZVbSgianNtIixXci5qb2luKCJ+IikpO1hyLmxlbmd0aD4wJiZVbSgianNwIixYci5qb2luKCJ+IikpO0V5fHwoRXk9bmV3IER5KX1oRigpO2ltKDEpO0VHKCk7cmV0dXJuIEl9CmZ1bmN0aW9uIHVtKCl7dHJ5e2lmKCFoaygpJiYoSWYoNDcpfHwhTmsoKSkpe0lmKDY0KSYmd2ouSC5LLmFkZCgxMTg1MTc5MTcpO3pqKCk7Zm4uSCYmc3ooKTtXZls1XT0hMDt2YXIgYT1raigiZGVidWdHcm91cElkIixmdW5jdGlvbigpe3JldHVybiBTdHJpbmcoTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKSl9KTtTbChhKTtrdCgpO3pGKCk7RnQoKTtQQigpO2lmKERrKCkpe0UoNSk7REcoKTtpQigpLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zKHZrKCkpO31lbHNle0ZNLlIoKTtuVSgpLmJvb3RzdHJhcD1OYigpO0lmKDUxKSYmcEUoKTsKZm4uSCYmdHooKTt0eXBlb2YgQS5uYW1lPT09InN0cmluZyImJlNiKEEubmFtZSwid2ViLXBpeGVsLXNhbmRib3gtQ1VTVE9NIikmJnNkKCk/WlQoImRNRGcwWXoiKTpBLlNob3BpZnkmJihaVCgiZE4yWmtNaiIpLHNkKCkmJlpUKCJkTlRVMFl6IikpO21VKCl9fX1jYXRjaChiKXtpbSg1KSxoeigpfX0KKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtuPUIuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10YWctYXNzaXN0YW50LXByZXNlbnQiKTtnbChuKSYmKGw9aC54bSl9ZnVuY3Rpb24gYygpe2wmJktjP2cobCk6YSgpfWlmKCFBW0UoMzcpXSl7dmFyIGQ9ITE7aWYoQi5yZWZlcnJlcil7dmFyIGU9UmooQi5yZWZlcnJlcik7ZD1OaihlLCJob3N0Iik9PT1FKDM4KX1pZighZCl7dmFyIGY9Y3EoRSgzOSkpO2Q9ISghZi5sZW5ndGh8fCFmWzBdLmxlbmd0aCl9ZCYmKEFbRSgzNyldPSEwLFVjKEUoNDApKSl9dmFyIGc9ZnVuY3Rpb24odSl7dmFyIHY9IkdUTSIseD0iR1RNIjtJZig0NSkmJih2PSJPR1QiLHg9IkdUQUciKTt2YXIgeT1FKDIzKSx6PUFbeV07enx8KHo9W10sQVt5XT16LFVjKCJodHRwczovLyIrRSgzKSsiL2RlYnVnL2Jvb3RzdHJhcD9pZD0iK0UoNSkrIiZzcmM9Iit4KyImY29uZD0iK1N0cmluZyh1KSsiJmd0bT0iK2R1KCkpKTt2YXIgQz17bWVzc2FnZVR5cGU6IkNPTlRBSU5FUl9TVEFSVElORyIsCmRhdGE6e3NjcmlwdFNvdXJjZTpLYyxjb250YWluZXJQcm9kdWN0OnYsZGVidWc6ITEsaWQ6RSg1KSx0YXJnZXRSZWY6e2N0aWQ6RSg1KSxpc0Rlc3RpbmF0aW9uOnNrKCksY2Fub25pY2FsSWQ6RSg2KX0sYWxpYXNlczp3aygpLGRlc3RpbmF0aW9uczp0aygpfX0sRD1DLmRhdGE7RC5yZXN1bWU9ZnVuY3Rpb24oKXthKCl9O0QucmVzdW1lV2l0aE1lbW9zPWZ1bmN0aW9uKCl7c2woMSk7YSgpfTtJZigyKSYmKEMuZGF0YS5pbml0aWFsUHVibGlzaD0hMCk7ei5wdXNoKEMpfSxoPXtHcToxLFBtOjIsb246MyxqbDo0LHhtOjV9O2hbaC5HcV09IkdUTV9ERUJVR19MRUdBQ1lfUEFSQU0iO2hbaC5QbV09IkdUTV9ERUJVR19QQVJBTSI7aFtoLm9uXT0iUkVGRVJSRVIiO2hbaC5qbF09IkNPT0tJRSI7aFtoLnhtXT0iRVhURU5TSU9OX1BBUkFNIjt2YXIgbD12b2lkIDAsbj12b2lkIDAscD1MaihBLmxvY2F0aW9uLCJxdWVyeSIsITEsdm9pZCAwLCJndG1fZGVidWciKTtnbChwKSYmKGw9aC5QbSk7CmlmKCFsJiZCLnJlZmVycmVyKXt2YXIgcT1SaihCLnJlZmVycmVyKTtOaihxLCJob3N0Iik9PT1FKDI0KSYmKGw9aC5vbil9aWYoIWwpe3ZhciByPWNxKCJfX1RBR19BU1NJU1RBTlQiKTtyLmxlbmd0aCYmclswXS5sZW5ndGgmJihsPWguamwpfWx8fGIoKTtpZighbCYmZmwobikpe3ZhciB0PSExOyRjKEIsIlRBRGVidWdTaWduYWwiLGZ1bmN0aW9uKCl7dHx8KHQ9ITAsYigpLGMoKSl9LCExKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0fHwodD0hMCxiKCksYygpKX0sMjAwKX1lbHNlIGMoKX0pKGZ1bmN0aW9uKCl7IUlmKDQ3KXx8dG0oKVsiMCJdP3VtKCk6eG0oKX0pOwoKfSkoKQoK"}},"time_used":139,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":35,"receive":53,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5805.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.674Z","timestamp":1785136428674,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5805.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 685\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:08:31 GMT\r\nlast-modified: Wed, 27 Apr 2022 07:39:01 GMT\r\netag: \"b9913f5599faab08d2addf87011c61e0\"\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 14718\r\nx-amz-cf-id: cynKLDfH5WInZ3AUCPqBEz6yA69penoIZf7aeCR_AKuoclpg75TQ0Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":685,"size_decoded":1163,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"b9913f5599faab08d2addf87011c61e0","sha1":"d9ae6e6a8ca0e50e02a991d032d9b9a461079f95","sha256":"68ba1605b3a54d7f827c22cc7252f01c6bf9412cfa6573be2c91fcd4b9e908cd","sha512":"7baea45f411fc30232bd93d04b8cf34414d333096ec669558ee6dd4a4a725785786f488b387e6c38654ba4fd3aecfda5526de2d949851796582c75214a42150f","ssdeep":"","tlshash":"8d01d8fb0957c025408f01f8224f7372d160c4eec9c7e20d89d9f7301862ad24c4524d","first_seen":"2023-05-15T13:26:32Z","last_seen":"2026-08-11T04:47:30.137177Z","times_seen":1885,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACdElEQVR4Xu2bPU7DQBBGuRlrcwTugejgLCBElxZBAQeABiREDzX5awEJIpSAI2Elz9jZ3Zm1dw1Peo298+3MVImibG21xNTkB+MsX9hYnGV9cnAoqcyPFjauLe+LgonJT9locE1+xj46odJYy7Kf1mAjXcv+gsLLY5F9qsMLY5V9q8BLYpf9i2B4KnIOLxiampzHCYalKueyhkHa/sDn2nIuKxiiLeF7bTlfIywOIeH7EHLOWliobR08py3n/BUWhbAJntWW864xzrIHFmi7CZ7XdmTMJecu4WFtbWGdtpy7hAe1tYV12nLuJTykrSus15bz/+0F8KW2vjBH2/8FtLEAX6a7u5UsbYMvYPb0xLmsYVYIl8MPTb7PF1r6Mnt8rGSFcFT8AsWHWkpgVkijWwBzQhtkARKYFdqoFsCcNlRfgARmrfp+e7eYf3xUnktVXcDrYMCZrGHWqi9Hx9ZnXVVdgARmNeXyvUS1BUhglk0uz/na+QKYQ+vgOV9VFiCBWS65PO9j8VH4kA9d9YU5dBOfz8NKjZvZnvjLkARm+eSyzkXxt8G38wv2Yw2zVnWF9baKFyCBWZJc1tsqWoAEZmnkMsfGcgE+S/CFOdQX5mxybfg+LKCAWU1y/iU81OT79Q3vb4T1dfrCnCY5dwkP9lXOXTIx2RUP983Rdn7PuddgQd/kvL/Cor7IOWthYV/knI2wOHU5nxUMSVXOZQ2DUpVzOcGw1OQ8XjA0FTmHCIbHLvtXgZfEKvtWhxfGIvsMCi/vWvbXGmykbdlPJxR/YmRjwd3eOWEfUVBpVFneFy3fzc7ZvMA585NjZIz13+eLs6wPxRfcM7S6mfjOrgAAAABJRU5ErkJggg=="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/4705.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.683Z","timestamp":1785136428683,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4705.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2948\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:06 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:04 GMT\r\ncache-control: max-age=86400\r\netag: \"127a7bdf804468096a60ffca81bccfac\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86265\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 4iIGW01ijyyZ8izfL3DyZ9sp6GyXCHFNclW9MtHZX-EdZ-cW66CsAA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2948,"size_decoded":3474,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"127a7bdf804468096a60ffca81bccfac","sha1":"e4b6d66bacfd5a6f6a847874dff49589eebf3136","sha256":"9ac8b8dad05370893f13d3c4148618d073ed55945e225b8a4e0a819bd5979757","sha512":"23f48dd56b95cccf64e5919854e619e580087a74be3d1ec99287043483a3ffe0f209174b9b2b34b0436fa53fdc0f18fb21cabafae5c3ef0829aedd575e48c8e1","ssdeep":"","tlshash":"47512ce7227040bfdfb0f9f520588662a01673994013559fab737171da604fb818796b","first_seen":"2023-09-24T22:56:46Z","last_seen":"2026-07-31T06:34:35.50435Z","times_seen":1377,"resource_available":false,"data":"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"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/42212.4754c2804ab9a979776b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.243Z","timestamp":1785136429243,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/42212.4754c2804ab9a979776b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-8f61\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e1b295af01eb5ed2c30ec2f37b951482\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":36705,"size_decoded":14239,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"e76e3cc979825bc25c1aa111b75bd78b","sha1":"6113f71858e18e692dc20143a9c20e222a5cc559","sha256":"bddee1e8d256f7e1fad4922a61955b4edaf993c3c78d20ce8c5ebd04ad4a3c21","sha512":"0d629425dab529dffde41a65bf8dacd4d7bd38f868a631db502b2eac3cf58f53c08d489b94580f84b89263cda52fe48cb17f0d61d27f55132f6ee350a2b8d719","ssdeep":"768:XuCACOy5bi5yIx6nSiRUhAmhY1pQZ7U49dSH7Y9syV2zNRbMMUzGTvFr9t7bRkzm:vLbRIAS/AmY1pQakdSb0saNzkbPlgQHL","tlshash":"74f219e071d5b05163d740eb843f4402f1692e2578064961fa6d9cdebe6c889723bfbc","first_seen":"2026-07-23T14:00:31.440048Z","last_seen":"2026-07-28T06:17:53.389232Z","times_seen":122,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MjIxMl0sezkyNDUwNyhlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtbm9ybWFsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA3NjhweCkiLCJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCI6IihtYXgtaGVpZ2h0OiAzNjBweCkiLCJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSJ9fSwyNDQ1MjUoZSl7ZS5leHBvcnRzPXtsb2FkZXI6ImxvYWRlci1NZ2Y4RUZ3SyIsc3RhdGljOiJzdGF0aWMtTWdmOEVGd0siLGl0ZW06Iml0ZW0tTWdmOEVGd0siLCJ0di1idXR0b24tbG9hZGVyIjoidHYtYnV0dG9uLWxvYWRlci1NZ2Y4RUZ3SyIsbWVkaXVtOiJtZWRpdW0tTWdmOEVGd0siLHNtYWxsOiJzbWFsbC1NZ2Y4RUZ3SyIsYmxhY2s6ImJsYWNrLU1nZjhFRndLIix3aGl0ZToid2hpdGUtTWdmOEVGd0siLGdyYXk6ImdyYXktTWdmOEVGd0siLHByaW1hcnk6InByaW1hcnktTWdmOEVGd0sifX0sNDA2MTEwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hdGNoTWVkaWE6KCk9Pm99KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uUHVyZUNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLl9oYW5kbGVDaGFuZ2U9KCk9Pnt0aGlzLmZvcmNlVXBkYXRlKCl9LHRoaXMuc3RhdGU9e3F1ZXJ5OndpbmRvdy5tYXRjaE1lZGlhKHRoaXMucHJvcHMucnVsZSl9fWNvbXBvbmVudERpZE1vdW50KCl7dGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfWNvbXBvbmVudERpZFVwZGF0ZShlLHQpe3RoaXMuc3RhdGUucXVlcnkhPT10LnF1ZXJ5JiYodGhpcy5fdW5zdWJzY3JpYmUodC5xdWVyeSksdGhpcy5fc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpKX1jb21wb25lbnRXaWxsVW5tb3VudCgpe3RoaXMuX3Vuc3Vic2NyaWJlKHRoaXMuc3RhdGUucXVlcnkpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuKHRoaXMuc3RhdGUucXVlcnkubWF0Y2hlcyl9c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe3JldHVybiBlLnJ1bGUhPT10LnF1ZXJ5Lm1lZGlhP3txdWVyeTp3aW5kb3cubWF0Y2hNZWRpYShlLnJ1bGUpfTpudWxsfV9zdWJzY3JpYmUoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMuX2hhbmRsZUNoYW5nZSl9X3Vuc3Vic2NyaWJlKGUpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9oYW5kbGVDaGFuZ2UpfX19LDYwOTUyOChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtEaWFsb2dCcmVha3BvaW50czooKT0+b30pO3ZhciBuPXMoOTI0NTA3KTtjb25zdCBvPXtTbWFsbEhlaWdodDpuWyJzbWFsbC1oZWlnaHQtYnJlYWtwb2ludCJdLFRhYmxldFNtYWxsOm5bInRhYmxldC1zbWFsbC1icmVha3BvaW50Il0sVGFibGV0Tm9ybWFsOm5bInRhYmxldC1ub3JtYWwtYnJlYWtwb2ludCJdfX0sNjU5ODc4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse21ha2VPdmVybGFwYWJsZTooKT0+cn0pO3ZhciBuPXMoNzc5NDc0KSxvPXMoNTg1NDgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBuLlB1cmVDb21wb25lbnR7cmVuZGVyKCl7Y29uc3R7aXNPcGVuZWQ6cyxyb290OnJ9PXRoaXMucHJvcHM7aWYoIXMpcmV0dXJuIG51bGw7Y29uc3QgaT1uLmNyZWF0ZUVsZW1lbnQoZSx7Li4udGhpcy5wcm9wcyxyZWY6dGhpcy5wcm9wcy5jb21wb25lbnRSZWYsekluZGV4OjE1MH0pO3JldHVybiJwYXJlbnQiPT09cj9pOm4uY3JlYXRlRWxlbWVudChvLlBvcnRhbCx7c2hvdWxkVHJhcEZvY3VzOnR9LGkpfX19fSw1NTgwMzAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7VG91Y2hTY3JvbGxDb250YWluZXI6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDg1MzMzNikscj1zKDEzODYzOCksaT1zKDczODQ1OCk7Y29uc3QgYT1DU1Muc3VwcG9ydHMoIm92ZXJzY3JvbGwtYmVoYXZpb3IiLCJub25lIik7bGV0IGw9MDtjb25zdCBjPSgwLG4uZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7Y2hpbGRyZW46cywuLi5yfT1lLGM9KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlSW1wZXJhdGl2ZUhhbmRsZSkodCwoKCk9PmMuY3VycmVudCkpLCgwLG4udXNlTGF5b3V0RWZmZWN0KSgoKCk9PntpZihpLmlzSU9TKXJldHVybiBsKyssbnVsbCE9PWMuY3VycmVudCYmKGE/MT09PWwmJihkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSIpOigwLG8uZGlzYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCx7YWxsb3dUb3VjaE1vdmU6dShjKX0pKSwoKT0+e2wtLSxudWxsIT09Yy5jdXJyZW50JiYoYT8wPT09bCYmKGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiKTooMCxvLmVuYWJsZUJvZHlTY3JvbGwpKGMuY3VycmVudCkpfX0pLFtdKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjpjLC4uLnJ9LHMpfSkpO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHQ9Pntjb25zdCBzPSgwLHIuZW5zdXJlTm90TnVsbCkoZS5jdXJyZW50KSxuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIXMuY29udGFpbnModCl8fG51bGwhPT1uJiZzLmNvbnRhaW5zKG4pJiZuLmNvbnRhaW5zKHQpfX19LDY0OTE2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMb2FkZXI6KCk9PmN9KTt2YXIgbixvPXMoNzc5NDc0KSxyPXMoOTE0NDg3KSxpPXMubihyKSxhPXMoMjQ0NTI1KSxsPXMubihhKTtmdW5jdGlvbiBjKGUpe2NvbnN0e2NsYXNzTmFtZTp0LHNpemU6cz0ibWVkaXVtIixzdGF0aWNQb3NpdGlvbjpuLGNvbG9yOnI9ImJsYWNrIn09ZSxhPWkoKShsKCkuaXRlbSxsKClbcl0sbCgpW3NdKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShsKCkubG9hZGVyLG4mJmwoKS5zdGF0aWMsdCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTphfSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmF9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6YX0pKX0KIWZ1bmN0aW9uKGUpe2UuTWVkaXVtPSJtZWRpdW0iLGUuU21hbGw9InNtYWxsIn0obnx8KG49e30pKX0sNTg1NDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UG9ydGFsOigpPT5jLFBvcnRhbENvbnRleHQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEyOTM2NSkscj1zKDg1Njc3MCksaT1zKDkwMzQyKSxhPXMoNTcwMTkzKSxsPXMoNjA3ODMyKTtjbGFzcyBjIGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl91dWlkPSgwLHIubmFub2lkKSgpfWNvbXBvbmVudFdpbGxVbm1vdW50KCl7dGhpcy5fbWFuYWdlcigpLnJlbW92ZVdpbmRvdyh0aGlzLl91dWlkKX1yZW5kZXIoKXtjb25zdCBlPXRoaXMuX21hbmFnZXIoKS5lbnN1cmVXaW5kb3codGhpcy5fdXVpZCx0aGlzLnByb3BzLmxheWVyT3B0aW9ucyk7ZS5zdHlsZS50b3A9dGhpcy5wcm9wcy50b3B8fCIiLGUuc3R5bGUuYm90dG9tPXRoaXMucHJvcHMuYm90dG9tfHwiIixlLnN0eWxlLmxlZnQ9dGhpcy5wcm9wcy5sZWZ0fHwiIixlLnN0eWxlLnJpZ2h0PXRoaXMucHJvcHMucmlnaHR8fCIiLGUuc3R5bGUucG9pbnRlckV2ZW50cz10aGlzLnByb3BzLnBvaW50ZXJFdmVudHN8fCIiO2NvbnN0IHQ9dGhpcy5wcm9wcy5jbGFzc05hbWU7cmV0dXJuIHQmJigic3RyaW5nIj09dHlwZW9mIHQ/ZS5jbGFzc0xpc3QuYWRkKHQpOmUuY2xhc3NMaXN0LmFkZCguLi50KSksdGhpcy5wcm9wcy5zaG91bGRUcmFwRm9jdXMmJiFlLmhhc0F0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUpJiZlLnNldEF0dHJpYnV0ZShhLkZPQ1VTX1RSQVBfREFUQV9BVFRSSUJVVEUsInRydWUiKSx0aGlzLnByb3BzWyJhcmlhLWhpZGRlbiJdJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksby5jcmVhdGVQb3J0YWwobi5jcmVhdGVFbGVtZW50KHUuUHJvdmlkZXIse3ZhbHVlOnRoaXN9LHRoaXMucHJvcHMuY2hpbGRyZW4pLGUpfW1vdmVUb1RvcCgpe3RoaXMuX21hbmFnZXIoKS5tb3ZlVG9Ub3AodGhpcy5fdXVpZCl9X21hbmFnZXIoKXtyZXR1cm4gbnVsbD09PXRoaXMuY29udGV4dD8oMCxpLmdldFJvb3RPdmVybGFwTWFuYWdlcikoKTp0aGlzLmNvbnRleHR9fWMuY29udGV4dFR5cGU9bC5TbG90Q29udGV4dDtjb25zdCB1PW4uY3JlYXRlQ29udGV4dChudWxsKX0sNjA3ODMyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nsb3Q6KCk9Pm8sU2xvdENvbnRleHQ6KCk9PnJ9KTt2YXIgbj1zKDc3OTQ3NCk7Y2xhc3MgbyBleHRlbmRzIG4uQ29tcG9uZW50e3Nob3VsZENvbXBvbmVudFVwZGF0ZSgpe3JldHVybiExfXJlbmRlcigpe3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIse3N0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDoxNTAsbGVmdDowLHRvcDowfSxyZWY6dGhpcy5wcm9wcy5yZWZlcmVuY2V9KX19Y29uc3Qgcj1uLmNyZWF0ZUNvbnRleHQobnVsbCl9LDcxODU1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtPdXRzaWRlRXZlbnQ6KCk9Pm99KTt2YXIgbj1zKDIzNjc2NSk7ZnVuY3Rpb24gbyhlKXtjb25zdHtjaGlsZHJlbjp0LC4uLnN9PWU7cmV0dXJuIHQoKDAsbi51c2VPdXRzaWRlRXZlbnQpKHMpKX19LDkwMzQyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse092ZXJsYXBNYW5hZ2VyOigpPT5pLGdldFJvb3RPdmVybGFwTWFuYWdlcjooKT0+bH0pO3ZhciBuPXMoMTM4NjM4KSxvPXMoNTcwMTkzKTtjbGFzcyBye2NvbnN0cnVjdG9yKCl7dGhpcy5fc3RvcmFnZT1bXX1hZGQoZSl7dGhpcy5fc3RvcmFnZS5wdXNoKGUpfXJlbW92ZShlKXt0aGlzLl9zdG9yYWdlPXRoaXMuX3N0b3JhZ2UuZmlsdGVyKCh0PT5lIT09dCkpfWhhcyhlKXtyZXR1cm4gdGhpcy5fc3RvcmFnZS5pbmNsdWRlcyhlKX1nZXRJdGVtcygpe3JldHVybiB0aGlzLl9zdG9yYWdlfX1jbGFzcyBpe2NvbnN0cnVjdG9yKGU9ZG9jdW1lbnQpe3RoaXMuX3N0b3JhZ2U9bmV3IHIsdGhpcy5fd2luZG93cz1uZXcgTWFwLHRoaXMuX2luZGV4PTAsdGhpcy5fZG9jdW1lbnQ9ZSx0aGlzLl9jb250YWluZXI9ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCl9c2V0Q29udGFpbmVyKGUpe2NvbnN0IHQ9dGhpcy5fY29udGFpbmVyLHM9bnVsbD09PWU/dGhpcy5fZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7IWZ1bmN0aW9uKGUsdCl7QXJyYXkuZnJvbShlLmNoaWxkTm9kZXMpLmZvckVhY2goKGU9PntlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnQuYXBwZW5kQ2hpbGQoZSl9KSl9KHQscyksdGhpcy5fY29udGFpbmVyPXN9cmVnaXN0ZXJXaW5kb3coZSl7dGhpcy5fc3RvcmFnZS5oYXMoZSl8fHRoaXMuX3N0b3JhZ2UuYWRkKGUpfWVuc3VyZVdpbmRvdyhlLHQ9e3Bvc2l0aW9uOiJmaXhlZCIsZGlyZWN0aW9uOiJub3JtYWwifSl7Y29uc3Qgcz10aGlzLl93aW5kb3dzLmdldChlKTtpZih2b2lkIDAhPT1zKXJldHVybiBzO3RoaXMucmVnaXN0ZXJXaW5kb3coZSk7Y29uc3Qgbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihuLnN0eWxlLnBvc2l0aW9uPXQucG9zaXRpb24sbi5zdHlsZS56SW5kZXg9dGhpcy5faW5kZXgudG9TdHJpbmcoKSxuLmRhdGFzZXQuaWQ9ZSx2b2lkIDAhPT10LmluZGV4KXtjb25zdCBlPXRoaXMuX2NvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDtpZih0LmluZGV4Pj1lKXRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZChuKTtlbHNlIGlmKHQuaW5kZXg8PTApdGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTtlbHNle2NvbnN0IGU9dGhpcy5fY29udGFpbmVyLmNoaWxkTm9kZXNbdC5pbmRleF07dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLGUpfX1lbHNlInJldmVyc2UiPT09dC5kaXJlY3Rpb24/dGhpcy5fY29udGFpbmVyLmluc2VydEJlZm9yZShuLHRoaXMuX2NvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQobik7cmV0dXJuIHRoaXMuX3dpbmRvd3Muc2V0KGUsbiksKyt0aGlzLl9pbmRleCxufQp1bnJlZ2lzdGVyV2luZG93KGUpe3RoaXMuX3N0b3JhZ2UucmVtb3ZlKGUpO2NvbnN0IHQ9dGhpcy5fd2luZG93cy5nZXQoZSk7dm9pZCAwIT09dCYmKG51bGwhPT10LnBhcmVudEVsZW1lbnQmJnQucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0KSx0aGlzLl93aW5kb3dzLmRlbGV0ZShlKSl9Z2V0WmluZGV4KGUpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7cmV0dXJuIHBhcnNlSW50KHQuc3R5bGUuekluZGV4fHwiMCIpfW1vdmVMYXN0V2luZG93VG9Ub3AoKXtjb25zdCBlPXRoaXMuX3N0b3JhZ2UuZ2V0SXRlbXMoKSx0PWVbZS5sZW5ndGgtMV07dCYmdGhpcy5tb3ZlVG9Ub3AodCl9bW92ZVRvVG9wKGUpe2lmKHRoaXMuZ2V0WmluZGV4KGUpIT09dGhpcy5faW5kZXgpe2NvbnN0IHQ9dGhpcy5lbnN1cmVXaW5kb3coZSk7dGhpcy5fd2luZG93cy5mb3JFYWNoKCgoZSxzKT0+e2UuaGFzQXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSkmJmUuc2V0QXR0cmlidXRlKG8uRk9DVVNfVFJBUF9EQVRBX0FUVFJJQlVURSxlPT09dD8idHJ1ZSI6ImZhbHNlIil9KSksdC5zdHlsZS56SW5kZXg9KCsrdGhpcy5faW5kZXgpLnRvU3RyaW5nKCl9fXJlbW92ZVdpbmRvdyhlKXt0aGlzLnVucmVnaXN0ZXJXaW5kb3coZSl9fWNvbnN0IGE9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbChlPWRvY3VtZW50KXtjb25zdCB0PWUuZ2V0RWxlbWVudEJ5SWQoIm92ZXJsYXAtbWFuYWdlci1yb290Iik7aWYobnVsbCE9PXQpcmV0dXJuKDAsbi5lbnN1cmVEZWZpbmVkKShhLmdldCh0KSk7e2NvbnN0IHQ9bmV3IGkoZSkscz1mdW5jdGlvbihlKXtjb25zdCB0PWUuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0LnN0eWxlLnpJbmRleD0xNTAuLnRvU3RyaW5nKCksdC5zdHlsZS50b3A9IjBweCIsdC5zdHlsZS5sZWZ0PSIwcHgiLHQuaWQ9Im92ZXJsYXAtbWFuYWdlci1yb290Iix0LmRhdGFzZXQucWFJZD0ib3ZlcmxhcC1tYW5hZ2VyLXJvb3QiLHR9KGUpO3JldHVybiBhLnNldChzLHQpLHQuc2V0Q29udGFpbmVyKHMpLGUuYm9keS5hcHBlbmRDaGlsZChzKSx0fX12YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkJhc2VaaW5kZXg9MTUwXT0iQmFzZVppbmRleCJ9KGN8fChjPXt9KSl9LDQ5ODY1MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtpc0lEQ0V4Y2hhbmdlOigpPT5vfSk7dmFyIG49cygyMzI5NDgpO2Z1bmN0aW9uIG8oZSx0PSExKXtpZihlJiZlLnN0YXJ0c1dpdGgoImV4Y2hhbmdlLSIpKXJldHVybiBmdW5jdGlvbihlLHQ9ITEpe2NvbnN0IHM9d2luZG93LnBybz8uZ2V0UHJvZHVjdChlKTtyZXR1cm4hKHZvaWQgMD09PXN8fCEoMCxuLmlzUHJvZHVjdERlZmluZWQpKHMpfHwodD8hcy5pZGNfc2VydmljZV9jb2Rlc19kZWxheTohcy5pZGNfc2VydmljZV9jb2RlcykpfShlLHQpO2NvbnN0IHM9KGV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiB3aW5kb3cucHJvPy5nZXRJRENFeGNoYW5nZXModCk/LmluY2x1ZGVzKHMpPz8hMX19LDkzMTM1MihlLHQscyl7InVzZSBzdHJpY3QiO2lmKHMuZCh0LHtnZXRPd25TaGFyZWRMaXN0OigpPT5jLHNoYXJlQ3VzdG9tTGlzdDooKT0+bCxzaGFyZU1hcmtlZExpc3Q6KCk9PmF9KSwyMTE4IT1zLmopdmFyIG49cyg3MTIxMzQpO3ZhciBvPXMoMzg0MDE3KSxyPXMoMzA0Mzk5KSxpPXMoNzkwMDQxKTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvTWFya2VkU3ltYm9sTGlzdCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY3VzdG9tLyR7ZX0vc2hhcmUvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2hhcmVkOnR9KSxjcmVkZW50aWFsczoiaW5jbHVkZSIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oci5oYW5kbGVKU09OKS50aGVuKGkuY29udmVydFRvQ3VzdG9tU3ltYm9sTGlzdCl9ZnVuY3Rpb24gYyhlLHQpe3JldHVybigwLG4uaXNMaXN0Q29sb3IpKGUpPygwLG8uZmV0Y2gpKCgwLHIud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9YCkse21ldGhvZDoiR0VUIixjcmVkZW50aWFsczoiaW5jbHVkZSIsc2lnbmFsOnR9KS50aGVuKHIuaGFuZGxlSlNPTik6KDAsby5mZXRjaCkoKDAsci53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jdXN0b20vJHtlfWApLHttZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLHNpZ25hbDp0fSkudGhlbihyLmhhbmRsZUpTT04pfX0sOTE5OTg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2J1aWxkVW5pcXVlTmFtZTooKT0+UyxjYW5Vc2VNdWx0aXBsZUxpc3RzOigpPT5fLGNvbXBhcmVTeW1ib2xzOigpPT5QLGNvbnZlcnRUb1NlcGFyYXRvck5hbWU6KCk9PnYsY3JlYXRlU2F2ZVJlbmFtZURpYWxvZzooKT0+dyxmaW5kTmV4dEF2YWlsYWJsZVN5bWJvbDooKT0+RCxnZXRTeW1ib2xGcm9tTGlzdDooKT0+ayxnZXRUcmFuc2xhdGVkTGlzdFRpdGxlOigpPT5FLGhhc0R1cGxpY2F0ZXM6KCk9PkwsaXNFcXVhbFJlY29yZHM6KCk9Pk4saXNWYWxpZFNlcGFyYXRvckl0ZW06KCk9Pmcsc2VwYXJhdG9yVmFsVG9EaXNwbGF5VmFsOigpPT5iLHNob3dSZW1vdmVTZWxlY3RlZFN5bWJvbHNDb25maXJtOigpPT5SLHNob3dVbmZsYWdBbGxTeW1ib2xzQ29uZmlybTooKT0+QixzaG93VW5mbGFnU2VsZWN0ZWRTeW1ib2xzQ29uZmlybTooKT0+SSxzb3J0U3ltYm9sczooKT0+VCx0b1Bvc2l0aW9uUmVjb3JkOigpPT5PLHRyYWNrUmVtb3ZlRXZlbnQ6KCk9PkF9KQo7dmFyIG49cygxMzg2MzgpLG89cyg5MzAyMzEpLHI9cyg3ODMyNTQpLGk9cygyMzQ5NjQpLGE9cyg4Nzc0NDIpLGw9cyg3NDU2NTQpLGM9cyg1MjgzOTYpLHU9cyg2OTMyMTYpLGQ9cyg5Mjk0ODgpO2lmKDIxMTghPXMuail2YXIgbT1zKDkwMTAyMik7dmFyIGg9cygzODY5MzEpLHA9cyg2NDM5MDMpLHk9KHMoOTExMzI3KSxzKDQ0MzgyNykpLGY9cyg4MzE1MjcpO3MoMzIwNTUpO2Z1bmN0aW9uIGcoZSl7cmV0dXJuKDAsZC5pc1NlcGFyYXRvckl0ZW0pKGUpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIGUucmVwbGFjZShtLlNFUEFSQVRPUl9QUkVGSVgsIiIpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIG0uU0VQQVJBVE9SX1BSRUZJWCtlfWZ1bmN0aW9uIFMoZSx0LHM9ITApe2NvbnN0IG49bmV3IFNldChlKSxvPXM/IiAxIjoiIjtpZighbi5oYXModCtvKSlyZXR1cm4gdCtvO2xldCByPTIsaT0iIjtmb3IoO3I8PTJlMyYmKGk9YCR7dH0gJHtyfWAsbi5oYXMoaSkpOylyKz0xO3JldHVybiBpfWZ1bmN0aW9uIF8oKXtyZXR1cm4oMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJtdWx0aXBsZV93YXRjaGxpc3RzIikmJndpbmRvdy51c2VyJiZCb29sZWFuKHdpbmRvdy51c2VyLmlzX3Bybyl9ZnVuY3Rpb24gdyhlLHQsbixvLGEpe3JldHVybigpPT5uZXcgUHJvbWlzZSgoKGwsYyk9PnsoMCxpLnNob3dSZW5hbWUpKHt0aXRsZTplLGluaXRWYWx1ZTp0LHRleHQ6ci50KG51bGwse2NvbnRleHQ6ImlucHV0IGxhYmVsIn0scyg2NTE2MzgpKSxtYXhMZW5ndGg6MTI4LGVtb2ppUGlja2VyOiEwLG1haW5CdXR0b25UZXh0OmEsb25SZW5hbWU6KHtuZXdWYWx1ZTplLGRpYWxvZ0Nsb3NlOnR9KT0+e2woZSksdCgpLG8/LigpfX0sbil9KSl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5yZXBsYWNlKCLiiJIiLCItIil9ZnVuY3Rpb24gVChlLHQscyxvLHIpe2NvbnN0IGk9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXSxzPVtdO2UuZm9yRWFjaCgoKGUsdCk9PnsoMCxkLmlzU2VwYXJhdG9ySXRlbSkoZSkmJnMucHVzaCh0KX0pKTtsZXQgbj0wO3MuZm9yRWFjaCgocz0+e3QucHVzaCh7dmFsdWVzOmUuc2xpY2UobixzKSxzZXBhcmF0b3I6ZVtzXX0pLG49cysxfSkpO2NvbnN0IG89c1tzLmxlbmd0aC0xXSxyPWUuc2xpY2UobysxKTtyZXR1cm4gci5sZW5ndGg+MCYmdC5wdXNoKHt2YWx1ZXM6cixzZXBhcmF0b3I6bnVsbH0pLHR9KHQpO3JldHVybiBpLmZvckVhY2goKHQ9Pnt0LnZhbHVlcy5zb3J0KCgodCxpKT0+e2lmKCJmbGFnIj09PXMpe2NvbnN0IGU9KDAsZi5nZXRNYXJrZWRTeW1ib2xzTGlzdFNlcnZpY2VJbnN0YW5jZSkoKS5nZXRTeW1ib2xDb2xvcih0KSxzPSgwLGYuZ2V0TWFya2VkU3ltYm9sc0xpc3RTZXJ2aWNlSW5zdGFuY2UpKCkuZ2V0U3ltYm9sQ29sb3IoaSk7cmV0dXJuKDAseS5nZXRTb3J0QnlDb2xvckNvbXBhcmF0b3IpKG8pKGUscyl9Y29uc3QgZD1sLnF1b3RlU2Vzc2lvbkFkYXB0ZXJzLmdldChlKS5nZXRMYXN0U3ltYm9sRGF0YSh0KSxtPWwucXVvdGVTZXNzaW9uQWRhcHRlcnMuZ2V0KGUpLmdldExhc3RTeW1ib2xEYXRhKGkpLGg9KDAsdS5pc0V4dHJhSG91cnNTZXNzaW9uKShkPy52YWx1ZXMuY3VycmVudF9zZXNzaW9uKSxnPSgwLHUuaXNFeHRyYUhvdXJzU2Vzc2lvbikobT8udmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiksYj0oZSx0KT0+e2lmKCFlfHwiZmxhZyI9PT1zKXJldHVybjt2YXIgbjtyZXR1cm4iZXJyb3IiPT09ZS5zdGF0dXM/dm9pZCAwOnI9PT1hLlRpY2tlclR5cGUuRGVzY3JpcHRpb24mJiJzaG9ydF9uYW1lIj09PXM/KG49ZS52YWx1ZXMsKDAsYy5nZXRUcmFuc2xhdGVkU3ltYm9sRGVzY3JpcHRpb24pKG4pfHwoMCxwLnNhZmVTaG9ydE5hbWUpKHQpKToicmNocCI9PT1zPygwLHUuZ2V0RXh0cmFIb3Vyc0NoYW5nZVBlcmNlbnQpKGUudmFsdWVzKT8/dm9pZCAwOmUudmFsdWVzW3NdfSx2PWIoZCx0KSxTPWIobSxpKTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtjb25zdCBzPS0xPT09dD8tMS8wOjEvMDtyZXR1cm4obyxyLGksYSk9PntpZigicmNocCIhPT1lKXtpZih2b2lkIDA9PT1vJiZ2b2lkIDA9PT1yKXJldHVybiAwO2lmKHZvaWQgMD09PW8pcmV0dXJuLXQ7aWYodm9pZCAwPT09cilyZXR1cm4gdH1zd2l0Y2goZSl7Y2FzZSJzaG9ydF9uYW1lIjpyZXR1cm4gdCoobz09PXI/MDooMCxuLmVuc3VyZSkobyk8KDAsbi5lbnN1cmUpKHIpPy0xOjEpO2Nhc2UicmNocCI6cmV0dXJuIGkhPT1hP2k+YT8tMToxOihpfHwobz12b2lkIDApLGF8fChyPXZvaWQgMCkseChvLHIsdCxzKSk7Y2FzZSJsYXN0X3ByaWNlIjpjYXNlImNoYW5nZSI6Y2FzZSJjaGFuZ2VfcGVyY2VudCI6cmV0dXJuIHgobyxyLHQscyk7Y2FzZSJ2b2x1bWUiOntjb25zdCBlPSgwLG4uZW5zdXJlKShvKT49MWUxMDA/czpOdW1iZXIobyksaT0oMCxuLmVuc3VyZSkocik+PTFlMTAwP3M6TnVtYmVyKHIpO3JldHVybiB0KihlLWkpfWRlZmF1bHQ6cmV0dXJuKDAsbi5lbnN1cmUpKG8pPigwLG4uZW5zdXJlKShyKT8tMToxfX19KHMsbykodixTLGgsZyl9KSl9KSksZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoe3ZhbHVlczplLHNlcGFyYXRvcjpzfSk9Pnt0LnB1c2goLi4uZSksbnVsbCE9PXMmJnQucHVzaChzKX0pKSx0fShpKX1mdW5jdGlvbiB4KGUsdCxzLG4pe2xldCBvPXBhcnNlRmxvYXQoQyhTdHJpbmcoZSkpKSxyPXBhcnNlRmxvYXQoQyhTdHJpbmcodCkpKTtyZXR1cm4gbz1pc05hTihvKT9uOm8scj1pc05hTihyKT9uOnIscyooby1yKX1mdW5jdGlvbiBFKGUpe3JldHVybiJjb2xvcmVkIj09PWUudHlwZT9lLm5hbWV8fCgwLHkuZ2V0Q29sb3JlZExpc3RUaXRsZSkoZS5jb2xvcik6ZS5uYW1lfWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4gZT09PXR8fCgwLHAuc2FmZVNob3J0TmFtZSkoZSk9PT10fWZ1bmN0aW9uIE8oZSl7cmV0dXJue3N5bWJvbDplLnN5bWJvbCxzaWRlOmUuc2lkZSxxdHk6ZS5xdHksYXZnUHJpY2U6ZS5hdmdQcmljZX19ZnVuY3Rpb24gTihlLHQpewpyZXR1cm4gZT09PXR8fHZvaWQgMCE9PWUmJnZvaWQgMCE9PXQmJihlLnNpZGU9PT10LnNpZGUmJmUucXR5PT09dC5xdHkmJmUuYXZnUHJpY2U9PT10LmF2Z1ByaWNlJiZlLnN5bWJvbD09PXQuc3ltYm9sKX1mdW5jdGlvbiBMKGUpe2NvbnN0IHQ9bmV3IE1hcDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3Qgbz1lW3NdLnRvVXBwZXJDYXNlKCkscj0oMCxwLnNhZmVTaG9ydE5hbWUpKG8pO2lmKHQuaGFzKHIpKXtjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkodC5nZXQocikpO2lmKGUuaGFzKG8pfHxlLmhhcyhyKXx8bz09PXIpcmV0dXJuITA7ZS5hZGQobyksdC5zZXQocixlKX1lbHNlIHQuc2V0KHIsbmV3IFNldChbb10pKX1yZXR1cm4hMX1mdW5jdGlvbiBrKGUsdCl7aWYodC5pbmNsdWRlcyhlKSlyZXR1cm4gZX1mdW5jdGlvbiBEKGUsdCxzKXtjb25zdCBuPSJuZXh0Ij09PXM7Zm9yKGxldCBzPWU7bj9zPHQubGVuZ3RoOnM+PTA7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkmJnMhPT1lKXJldHVybiB0W3NdO2ZvcihsZXQgcz1uPzA6dC5sZW5ndGgtMTtuP3M8ZTpzPmU7bj9zKys6cy0tKWlmKCEoMCxkLmlzU2VwYXJhdG9ySXRlbSkodFtzXSkpcmV0dXJuIHRbc119ZnVuY3Rpb24gQShlKXtlPygwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIk11bHRpIHNlbGVjdCIsIlJlbW92ZSIpOigwLGgudHJhY2tFdmVudCkoIldhdGNobGlzdCIsIlJlbW92ZSIpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIHIudChudWxsLHtwbHVyYWw6IkRvaW5nIHRoaXMgd2lsbCByZW1vdmUge2NvdW50fSBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIixjb250ZXh0OiJzeW1ib2xzX2FuZF9kcmF3aW5nc19jb3VudCIsY291bnQ6ZSxyZXBsYWNlOntjb3VudDplLnRvU3RyaW5nKCl9fSxzKDE2OTgzKSl9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MzU3NTApKSx0ZXh0Ok0oZSksbWFpbkJ1dHRvblRleHQ6ci50KG51bGwse2NvbnRleHQ6ImFjdGlvbiJ9LHMoMTA4KSksbWFpbkJ1dHRvbkludGVudDoiZGFuZ2VyIixjYW5jZWxCdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDMwOTMzKSksb25Db25maXJtOih7ZGlhbG9nQ2xvc2U6ZX0pPT57dCgpLGUoKX0sb25DbG9zZTooKT0+e24/LmZvY3VzKCl9fSl9ZnVuY3Rpb24gSShlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg0MTcxOTEpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDQ5NTM2OSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9ZnVuY3Rpb24gQihlKXsoMCxpLnNob3dDb25maXJtKSh7dGl0bGU6ci50KG51bGwse2NvbnRleHQ6ImNvbmZpcm1fZGlhbG9nX3RpdGxlIn0scyg4MjY4NzMpKSx0ZXh0OnIudChudWxsLHZvaWQgMCxzKDk1ODk1MSkpLG1haW5CdXR0b25UZXh0OnIudChudWxsLHtjb250ZXh0OiJhY3Rpb24ifSxzKDgzNTkzNykpLG1haW5CdXR0b25JbnRlbnQ6ImRhbmdlciIsY2FuY2VsQnV0dG9uVGV4dDpyLnQobnVsbCx7Y29udGV4dDoiYWN0aW9uIn0scygzMDkzMykpLG9uQ29uZmlybTooe2RpYWxvZ0Nsb3NlOnR9KT0+e2UoKSx0KCl9fSl9fSw0MzIzNTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Uk9VVElORV9DQU5DRUxMRURfTUVTU0FHRTooKT0+YyxTeW1ib2xMaXN0U3luY2hyb25pemF0aW9uU2VydmljZTooKT0+dX0pO3ZhciBuPXMoNTA3Mjg1KSxvPXMoNjMyNjg2KSxyPXMoMjIxMDYxKTtzKDMwMDI4Nik7Y29uc3QgaT02ZTUsYT0zZTQsbD0zZTQsYz0iUk9VVElORV9DQU5DRUxMRUQiO2NsYXNzIHV7Y29uc3RydWN0b3IoZSl7dGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXRlPW51bGwsdGhpcy5fc3luYz1udWxsLHRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA9bnVsbCx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsLHRoaXMuX29uUHVzaFN0cmVhbUNoYW5nZT1lPT57d2luZG93LnVzZXImJndpbmRvdy51c2VyLnNlc3Npb25faGFzaCE9PWUuc2Vzc2lvbl9oYXNoP24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm93blB1c2hTdHJlYW0oKT8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiQ3Jvc3MgYnJvd3NlciBzeW5jIiksdGhpcy5zeW5jU3ltYm9scyhlKSk6dGhpcy5fbG9nZ2VyLmxvZ0RlYnVnKCJTeW5jIHNraXBwZWQ6IG9uIHNlY29uZGFyeSB0YWIiKTp0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogc2Vzc2lvbiBoYXNoIil9LHRoaXMuX29uUHVzaFN0cmVhbVN0YXR1cz1lPT57Y29uc3QgdD1EYXRlLm5vdygpO2lmKGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuT3BlbiYmdGhpcy5fcHJldkNvbm5lY3Rpb25TdGF0dXM9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXt0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1lO2NvbnN0IHM9bnVsbD09PXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA/MDp0LXRoaXMuX2Rpc2Nvbm5lY3RUaW1lc3RhbXA7aWYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1udWxsLCF3aW5kb3cuaXNfYXV0aGVudGljYXRlZClyZXR1cm4gdm9pZCB0aGlzLl9sb2dnZXIubG9nRGVidWcoIlN5bmMgc2tpcHBlZDogaXMgbm90IGF1dGhlbnRpY2F0ZWQiKTtpZighbi5wdXNoU3RyZWFtTXVsdGlwbGV4ZXIub3duUHVzaFN0cmVhbSgpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBvbiBzZWNvbmRhcnkgdGFiIik7aWYoczxpKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dEZWJ1ZygiU3luYyBza2lwcGVkOiBzaG9ydCBkaXNjb25uZWN0aW9uIikKO3RoaXMuX3JlY29ubmVjdFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pntjb25zdCBlPW51bGwhPT10aGlzLl9zdGF0ZT90aGlzLl9nZXRUaW1lc3RhbXAodGhpcy5fc3RhdGUpOm51bGw7bnVsbD09PWV8fGU8dD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiUmVjb25uZWN0IHN5bmMiKSx0aGlzLnN5bmNTeW1ib2xzKCkpOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIlJlY29ubmVjdCBzeW5jIGhhbmRsZWQgYnkgYW5vdGhlciB0YWIiKX0pLE1hdGgucmFuZG9tKCkqbCthKX1lbHNlIGU9PT1vLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkJiYodGhpcy5fZGlzY29ubmVjdFRpbWVzdGFtcD1EYXRlLm5vdygpLHRoaXMuX3ByZXZDb25uZWN0aW9uU3RhdHVzPWUsY2xlYXJUaW1lb3V0KHRoaXMuX3JlY29ubmVjdFRpbWVvdXQpKX07Y29uc3R7ZXZlbnQ6dCxzdGF0ZTpzLHN5bmNocm9uaXplOmMsZ2V0VGltZXN0YW1wOnUsbG9nZ2VyTmFtZTpkfT1lO3RoaXMuX2V2ZW50PXQsdGhpcy5fc3luY2hyb25pemU9Yyx0aGlzLl9zdGF0ZT1zLHRoaXMuX2dldFRpbWVzdGFtcD11LHRoaXMuX2xvZ2dlcj0oMCxyLmdldExvZ2dlcikoYCR7ZH0uU3ltYm9sTGlzdFN5bmNocm9uaXphdGlvblNlcnZpY2VgKSx0aGlzLmNvbm5lY3QoKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuX3N5bmM9bnVsbCx0aGlzLmNsb3NlQ29ubmVjdGlvbigpfXN5bmNTeW1ib2xzKGUpe2lmKG51bGw9PT10aGlzLl9zeW5jKXtjb25zdCB0PXRoaXMuX3N5bmM9dGhpcy5fc3luY2hyb25pemUoe2Fzc2VydDooKT0+e2lmKHRoaXMuX3N5bmMhPT10KXRocm93IG5ldyBFcnJvcihjKX0sY2FuY2VsOigpPT57dGhpcy5fc3luYz1udWxsfX0sZSkudGhlbigoKCk9Pnt0aGlzLl9zeW5jPW51bGx9KSwoZT0+e3Rocm93IHRoaXMuX3N5bmM9bnVsbCxlfSkpfXJldHVybiB0aGlzLl9zeW5jfWNvbm5lY3QoKXt0aGlzLl9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKX1jbG9zZUNvbm5lY3Rpb24oKXt0aGlzLl91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpfWlzRGVzdHJveWVkKCl7cmV0dXJuIHRoaXMuX2Rlc3Ryb3llZH1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZX1zZXRTdGF0ZShlKXt0aGlzLl9zdGF0ZT1lfV9zdWJzY3JpYmVPblB1c2hTdHJlYW0oKXtuLnB1c2hTdHJlYW1NdWx0aXBsZXhlci5vbih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9uUHJpdmF0ZVN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpfV91bnN1YnNjcmliZU9uUHVzaFN0cmVhbSgpe24ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZih0aGlzLl9ldmVudCx0aGlzLl9vblB1c2hTdHJlYW1DaGFuZ2UpLG4ucHVzaFN0cmVhbU11bHRpcGxleGVyLm9mZlN0YXR1cyh0aGlzLl9vblB1c2hTdHJlYW1TdGF0dXMpLGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9wcmV2Q29ubmVjdGlvblN0YXR1cz1udWxsfX19LDMxMzMwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtNQVhfV0FUQ0hMSVNUX0xFTkdUSDooKT0+YSxnZXRXYXRjaGxpc3RTeW1ib2xzTGltaXQ6KCk9Pmwsc2hvd01heExpbWl0RXJyb3I6KCk9PmN9KTt2YXIgbj1zKDU2OTM5OCksbz1zKDQ3OTM0KSxyPXMoMjM0OTY0KSxpPXMoNzgzMjU0KTtzKDMwMDI4Nik7Y29uc3QgYT0xZTM7ZnVuY3Rpb24gbCgpe3JldHVybigwLG4uaXNGZWF0dXJlRW5hYmxlZCkoIndhdGNobGlzdF9zeW1ib2xzX3RpZXJlZF9saW1pdHMiKT8oMCxvLmdldENvbmZpZykoIldBVENITElTVF9TWU1CT0xTIik/LmxpbWl0Pz9hOmF9ZnVuY3Rpb24gYyhlKXsoMCxyLnNob3dXYXJuaW5nKSh7dGl0bGU6aS50KG51bGwsdm9pZCAwLHMoNTY2OTQ4KSksdGV4dDppLnQobnVsbCx7cmVwbGFjZTp7bnVtYmVyOmEudG9TdHJpbmcoKX19LHMoMzI4ODI4KSl9LGUpfX0sOTEzNDEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse01hcmtlZFN5bWJvbHNMaXN0QXBpOigpPT5tfSk7dmFyIG49cygyMjEwNjEpLG89cygzODQwMTcpLHI9cyg1ODA1MjYpLGk9cyg2MjEyMCksYT1zKDk2MjA4MSksbD1zKDMwNDM5OSk7YXN5bmMgZnVuY3Rpb24gYyhlLHQpe2NvbnN0IHM9KDAsci5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUsdCk7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmRlbGV0ZShlKSwoMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoYC9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvJHtlfS9yZXBsYWNlLz91bnNhZmU9dHJ1ZWApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkocyksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9dmFyIHU9cyg5MzEzNTIpO2NvbnN0IGQ9KDAsbi5nZXRMb2dnZXIpKCJNYXJrZWRTeW1ib2xzLkFwaSIpO2NsYXNzIG17Z2V0TGlzdHMoKXtyZXR1cm4oMCxvLmZldGNoKSgoMCxsLndhdGNobGlzdFVybCkoIi9hcGkvdjEvc3ltYm9sc19saXN0L2NvbG9yZWQvIikse2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW1vdmVTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVtb3ZlIHN5bWJvbHMgZnJvbSAke2V9LWxpc3Q6ICR7dH1gKSxhc3luYyBmdW5jdGlvbihlLHQpe3JldHVybiBpLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZSk/YyhlLCgwLHIuZ2V0TG9jYWxMaXN0U3ltYm9scykoZSkpOigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKShgL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8ke2V9L3JlbW92ZS9gKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KHQpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpKX1hcHBlbmRTeW1ib2xzKGUsdCl7CnJldHVybiAwPT09dC5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIGFwcGVuZCBzeW1ib2xzIHRvICR7ZX0tbGlzdDogJHt0fWApLGFzeW5jIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkucGVuZGluZ09wZW5TZXBhcmF0b3JzLmhhcyhlKT9jKGUsKDAsci5nZXRMb2NhbExpc3RTeW1ib2xzKShlKSk6KDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vYXBwZW5kL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkodCksY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKGwuaGFuZGxlSlNPTil9KGUsdCkpfXJlcGxhY2VTeW1ib2xzKGUsdCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9Qcm9taXNlLnJlc29sdmUobnVsbCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVwbGFjZSBzeW1ib2xzIGluICR7ZX0tbGlzdDogJHt0fWApLGMoZSx0KSl9cmVzZXRTeW1ib2xzKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/UHJvbWlzZS5yZXNvbHZlKCk6KGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVzZXQgc3ltYm9sczogJHtlfWApLGZ1bmN0aW9uKGUpe3JldHVybigwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC9idWxrX3JlbW92ZS8iKSx7bWV0aG9kOiJQT1NUIixib2R5OkpTT04uc3RyaW5naWZ5KGUpLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlKSl9cmVzZXRBbGwoKXtyZXR1cm4gZC5sb2dOb3JtYWwoIlNlbmRpbmcgcmVxdWVzdCB0byByZXNldCBBTEwgc3ltYm9scyIpLCgwLG8uZmV0Y2gpKCgwLGwud2F0Y2hsaXN0VXJsKSgiL2FwaS92MS9zeW1ib2xzX2xpc3QvY29sb3JlZC8iKSx7bWV0aG9kOiJERUxFVEUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pLnRoZW4obC5oYW5kbGVKU09OKX1yZW5hbWVMaXN0KGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vcmVuYW1lL2ApLHttZXRob2Q6IlBPU1QiLGJvZHk6SlNPTi5zdHJpbmdpZnkoe25hbWU6dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXNoYXJlTGlzdChlLHQpe3JldHVybiBkLmxvZ05vcm1hbChgU2VuZGluZyByZXF1ZXN0IHRvIHNoYXJlICR7ZX0tbGlzdDogJHt0fWApLCgwLHUuc2hhcmVNYXJrZWRMaXN0KShlLHQpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gY2hhbmdlIGRlc2NyaXB0aW9uICR7ZX0tbGlzdDogJHt0fWApLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsby5mZXRjaCkoKDAsbC53YXRjaGxpc3RVcmwpKGAvYXBpL3YxL3N5bWJvbHNfbGlzdC9jb2xvcmVkLyR7ZX0vdXBkYXRlX21ldGEvYCkse21ldGhvZDoiUE9TVCIsYm9keTpKU09OLnN0cmluZ2lmeSh7ZGVzY3JpcHRpb246dH0pLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbihsLmhhbmRsZUpTT04pfShlLHQpfXJlbmFtZVNlcGFyYXRvcihlLHQscyl7cmV0dXJuIGQubG9nTm9ybWFsKGBTZW5kaW5nIHJlcXVlc3QgdG8gcmVuYW1lIHNlcGFyYXRvciAke2V9LWxpc3Q6ICR7dH0gdG8gJHtzfWApLGFzeW5jIGZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4oMCxhLmNvbW1vblJlbmFtZVNlcGFyYXRvcikoZSwiY29sb3JlZCIsdCxzKX0oZSx0LHMpfX19LDcxMjEzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtMSVNUX0NPTE9SUzooKT0+bSxMaXN0Q29sb3I6KCk9Pm4sY2hhbmdlRGVzY3JpcHRpb246KCk9PkMsY3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+TixnZXRDb21tYW5kczooKT0+QSxnZXRMaXN0QnlDb2xvcjooKT0+ayxnZXRTeW1ib2xDb2xvcjooKT0+TCxnZXRTeW1ib2xzQnlDb2xvcjooKT0+RCxnZXRUaW1lc3RhbXA6KCk9Pk0saXNMaXN0Q29sb3I6KCk9PmgsbWFya01hbnk6KCk9PmIscmVkdWNlcjooKT0+TyxyZW1vdmU6KCk9Pl8scmVuYW1lOigpPT53LHJlbmFtZVNlcGFyYXRvcjooKT0+VCxyZXNldDooKT0+UyxzZXR1cDooKT0+dixzaGFyZTooKT0+RSxzaGlmdENvbW1hbmQ6KCk9PngsdXBkYXRlUGVyc2lzdGVkU3RhdGU6KCk9PlB9KTt2YXIgbixvPXMoMTMwNjk5KSxyPXMoMzI3MjM5KSxpPXMoMTM4NjM4KSxhPXMoNDMzMjApLGw9cygyOTUyMzUpLGM9cyg2MTI0NDYpLHU9cyg5MDEwMjIpLGQ9cyg5NzM1MjQpOyFmdW5jdGlvbihlKXtlLlJlZD0icmVkIixlLkJsdWU9ImJsdWUiLGUuR3JlZW49ImdyZWVuIixlLk9yYW5nZT0ib3JhbmdlIixlLlB1cnBsZT0icHVycGxlIixlLkN5YW49ImN5YW4iLGUuUGluaz0icGluayJ9KG58fChuPXt9KSk7Y29uc3QgbT1bbi5SZWQsbi5CbHVlLG4uR3JlZW4sbi5PcmFuZ2Usbi5QdXJwbGUsbi5DeWFuLG4uUGlua107ZnVuY3Rpb24gaChlKXtyZXR1cm4gbmV3IFNldChtKS5oYXMoZSl9Y29uc3QgcD17bGlzdHM6e2NvbG9yczpbXSxieUNvbG9yOnt9LGJ5U3ltYm9sOnt9fSxjb21tYW5kczpbXSx0aW1lc3RhbXA6bnVsbH07ZnVuY3Rpb24geShlLHQpe2NvbnN0e2xpc3RzOnN9PWUsbj1zLmJ5Q29sb3JbdF07biYmMD09PW4uc3ltYm9scy5sZW5ndGgmJihzLmNvbG9ycz1zLmNvbG9ycy5maWx0ZXIoKGU9PmUhPT10KSkpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuKDAsdS5pc1NlcGFyYXRvckl0ZW0pKGUpfWNvbnN0IGc9KDAsby5jcmVhdGVTbGljZSkoe25hbWU6Im1hcmtlZC1saXN0cyIsaW5pdGlhbFN0YXRlOnAsCnJlZHVjZXJzOntzZXR1cDooZSx0KT0+e2NvbnN0e2xpc3RzOnMsdGltZXN0YW1wOm59PXQucGF5bG9hZCxvPXtsaXN0czp7Y29sb3JzOltdLGJ5Q29sb3I6e30sYnlTeW1ib2w6e319LGNvbW1hbmRzOltdLHRpbWVzdGFtcDpudWxsfTtvLnRpbWVzdGFtcD1uO2Zvcihjb25zdCBlIG9mIGZ1bmN0aW9uKGUsdCl7cmV0dXJuWy4uLmVdLnNvcnQoKChlLHMpPT50LmluZGV4T2YoZS5jb2xvciktdC5pbmRleE9mKHMuY29sb3IpKSl9KHMsbSkpe2NvbnN0IHQ9ZS5zeW1ib2xzLmZpbHRlcigodD0+dm9pZCAwPT09by5saXN0cy5ieVN5bWJvbFt0XSYmKGYodCl8fChvLmxpc3RzLmJ5U3ltYm9sW3RdPWUuY29sb3IpLCEwKSkpO28ubGlzdHMuYnlDb2xvcltlLmNvbG9yXT17Y29sb3I6ZS5jb2xvcixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLHNoYXJlZDplLnNoYXJlZCxzeW1ib2xzOnQscGVyc2lzdGVkU3RhdGU6ZS5wZXJzaXN0ZWRTdGF0ZX0sdC5sZW5ndGg+MCYmby5saXN0cy5jb2xvcnMucHVzaChlLmNvbG9yKX1yZXR1cm4gb30scmVtb3ZlOihlLHQpPT57Y29uc3R7Y29sb3I6cyxzeW1ib2xzOm4sc2lsZW50Om99PXQucGF5bG9hZCx7bGlzdHM6YSxjb21tYW5kczpsfT1lLHU9YS5ieUNvbG9yW3NdO2lmKHZvaWQgMD09PXV8fDA9PT11LnN5bWJvbHMubGVuZ3RoKXJldHVybjtjb25zdCBkPW5ldyBTZXQobiksbT11LnN5bWJvbHMuZmlsdGVyKChlPT4hZC5oYXMoZSkpKTtpZighKDAsYy5lcXVhbEFycmF5cykobSx1LnN5bWJvbHMpKXt1LnN5bWJvbHM9bTtmb3IoY29uc3QgZSBvZiBkKWRlbGV0ZSBhLmJ5U3ltYm9sW2VdO298fGwucHVzaCh7dHlwZToicmVtb3ZlIixjb2xvcjpzLHN5bWJvbHM6Wy4uLmRdLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pLHkoZSxzKX19LG1hcmtNYW55OihlLHQpPT57Y29uc3R7Y29sb3I6cyxiZWZvcmU6bixzaWxlbnQ6b309dC5wYXlsb2FkLHtsaXN0czphLGNvbW1hbmRzOmx9PWUse3VuaXF1ZTp1LGV4Y2x1c2lvbnM6bX09ZnVuY3Rpb24oZSx0KXtjb25zdHtjb2xvcjpzLHN5bWJvbHM6bixzZXBhcmF0b3JzOm99PXQucGF5bG9hZCx7bGlzdHM6cn09ZSxhPXt9LGw9bmV3IFNldCxjPWU9PmYoZSk/KCgwLGkuYXNzZXJ0KShudWxsIT09cykscyk6ci5ieVN5bWJvbFtlXTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoOysrZSl7Y29uc3QgdD1uW2VdO2lmKGwuaGFzKHQpfHxmKHQpJiYhbyljb250aW51ZTtsLmFkZCh0KTtjb25zdCBzPWModCk7dm9pZCAwIT09cyYmKGFbc109YVtzXT8/bmV3IFNldCkuYWRkKHQpfXJldHVybntleGNsdXNpb25zOmEsdW5pcXVlOmx9fShlLHQpO2lmKDA9PT11LnNpemUpcmV0dXJuO2NvbnN0IGg9ZnVuY3Rpb24oZSx0LHMsbil7Y29uc3R7Y29sb3I6byxiZWZvcmU6cn09dC5wYXlsb2FkLHtsaXN0czppfT1lO2xldCBhO2lmKG51bGwhPT1vJiZ2b2lkIDAhPT1yJiZzLmhhcyhyKSl7Y29uc3QgZT1pLmJ5Q29sb3Jbb107aWYodm9pZCAwIT09ZSl7YT1uO2ZvcihsZXQgdD1lLnN5bWJvbHMuaW5kZXhPZihyKTt0Pj0wOy0tdClpZighcy5oYXMoZS5zeW1ib2xzW3RdKSl7YT1lLnN5bWJvbHNbdF07YnJlYWt9fX1yZXR1cm4gYX0oZSx0LHUsZC5MSVNUX1NUQVJUKTtpZihudWxsIT09cyYmdm9pZCAwIT09bVtzXSYmMT09PU9iamVjdC5rZXlzKG0pLmxlbmd0aCl7Y29uc3QgdD1hLmJ5Q29sb3Jbc107KDAsaS5hc3NlcnQpKHZvaWQgMCE9PXQpO2NvbnN0IHA9dC5zeW1ib2xzLmZpbHRlcigoZT0+IXUuaGFzKGUpKSksZz0oMCxkLmdldFRhcmdldEluZGV4KShwLG4saCk7aWYodm9pZCAwPT09Zz9wLnB1c2goLi4udSk6cC5zcGxpY2UoZywwLC4uLnUpLCgwLGMuZXF1YWxBcnJheXMpKHAsdC5zeW1ib2xzKSlyZXR1cm47e2NvbnN0IG49bVtzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09biksdC5zeW1ib2xzPXA7Zm9yKGNvbnN0IGUgb2YgbilkZWxldGUgYS5ieVN5bWJvbFtlXTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpO3JldHVybiB5KGUscyksdm9pZChvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4udC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9fWZvcihjb25zdCB0IGluIG0pe2lmKCFtLmhhc093blByb3BlcnR5KHQpKWNvbnRpbnVlO2NvbnN0IHM9bVt0XTsoMCxpLmFzc2VydCkodm9pZCAwIT09cyk7Y29uc3Qgbj1hLmJ5Q29sb3JbdF07KDAsaS5hc3NlcnQpKHZvaWQgMCE9PW4pLG4uc3ltYm9scz1uLnN5bWJvbHMuZmlsdGVyKChlPT4hcy5oYXMoZSl8fChkZWxldGUgYS5ieVN5bWJvbFtlXSwhMSkpKSx5KGUsdCl9aWYobnVsbD09PXMpcmV0dXJuIHZvaWQob3x8bC5wdXNoKHt0eXBlOiJyZXNldCIsc3ltYm9sczpbLi4udV0scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpO2NvbnN0IHA9YS5ieUNvbG9yW3NdO2lmKGEuY29sb3JzLmluY2x1ZGVzKHMpKXsoMCxpLmFzc2VydCkodm9pZCAwIT09cCk7Y29uc3QgdD0oMCxkLmdldFRhcmdldEluZGV4KShwLnN5bWJvbHMsbixoKTt2b2lkIDA9PT10PyhwLnN5bWJvbHMucHVzaCguLi51KSxvfHwodm9pZCAwPT09bVtzXT9sLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTpsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSkpOihwLnN5bWJvbHMuc3BsaWNlKHQsMCwuLi51KSxvfHxsLnB1c2goe3R5cGU6InJlcGxhY2UiLGNvbG9yOnMsc3ltYm9sczpbLi4ucC5zeW1ib2xzXSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9ZWxzZSB2b2lkIDA9PT1wP2EuYnlDb2xvcltzXT17Y29sb3I6cywKc3ltYm9sczpbLi4udV0sbmFtZTpudWxsLGRlc2NyaXB0aW9uOm51bGwsc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9OnAuc3ltYm9scz1bLi4udV0sYS5jb2xvcnMucHVzaChzKSxvfHxsLnB1c2goe3R5cGU6ImFwcGVuZCIsY29sb3I6cyxzeW1ib2xzOlsuLi51XSxwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KTtmb3IoY29uc3QgZSBvZiB1KWYoZSl8fChhLmJ5U3ltYm9sW2VdPXMpfSxyZW5hbWVTZXBhcmF0b3I6KGUsdCk9Pntjb25zdHtjb2xvcjpzLHNlcGFyYXRvcjpuLG5hbWU6byxzaWxlbnQ6YX09dC5wYXlsb2FkO2lmKG49PT1vfHwhZihuKXx8IWYobykpcmV0dXJuO2NvbnN0IGw9ZS5saXN0cy5ieUNvbG9yW3NdOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1sKTtjb25zdCBjPWwuc3ltYm9scy5pbmRleE9mKG4pOy0xIT09YyYmLTE9PT1sLnN5bWJvbHMuaW5kZXhPZihvKSYmKGwuc3ltYm9scy5zcGxpY2UoYywxLG8pLGF8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVuYW1lLXNlcGFyYXRvciIsY29sb3I6cyxzZXBhcmF0b3I6bixuYW1lOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSxyZW5hbWU6KGUsdCk9Pntjb25zdHtuYW1lOnMsY29sb3I6bixzaWxlbnQ6b309dC5wYXlsb2FkLGE9ZS5saXN0cy5ieUNvbG9yW25dOygwLGkuYXNzZXJ0KSh2b2lkIDAhPT1hKSxhLm5hbWUhPT1zJiYoYS5uYW1lPXMsb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJyZW5hbWUiLGNvbG9yOm4sbmFtZTpzLHByZXZMaXN0czooMCxpLmVuc3VyZURlZmluZWQpKCgwLHIub3JpZ2luYWwpKGUpKS5saXN0c30pKX0sY2hhbmdlRGVzY3JpcHRpb246KGUsdCk9Pntjb25zdHtjb2xvcjpzLGRlc2NyaXB0aW9uOm4sc2lsZW50Om99PXQucGF5bG9hZCxhPWUubGlzdHMuYnlDb2xvcltzXTsoMCxpLmFzc2VydCkodm9pZCAwIT09YSksYS5kZXNjcmlwdGlvbiE9PW4mJihhLmRlc2NyaXB0aW9uPW4sb3x8ZS5jb21tYW5kcy5wdXNoKHt0eXBlOiJjaGFuZ2UtZGVzY3JpcHRpb24iLGNvbG9yOnMsZGVzY3JpcHRpb246bixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KSl9LHJlc2V0OihlLHQpPT57Y29uc3R7c2lsZW50OnN9PXQucGF5bG9hZCx7bGlzdHM6bn09ZTtmb3IoY29uc3QgZSBvZiBtKXtjb25zdCB0PW4uYnlDb2xvcltlXTt2b2lkIDAhPT10JiYodC5zeW1ib2xzPVtdKX1uLmNvbG9ycz1bXSxuLmJ5U3ltYm9sPXt9LHN8fGUuY29tbWFuZHMucHVzaCh7dHlwZToicmVzZXQtYWxsIixwcmV2TGlzdHM6KDAsaS5lbnN1cmVEZWZpbmVkKSgoMCxyLm9yaWdpbmFsKShlKSkubGlzdHN9KX0sc2hhcmU6KGUsdCk9Pntjb25zdHtsaXN0czpzLGNvbW1hbmRzOm59PWUse3NoYXJlZDpvLGNvbG9yOmEsc2lsZW50Omx9PXQucGF5bG9hZCxjPXMuYnlDb2xvclthXTt2b2lkIDAhPT1jJiZjLnNoYXJlZCE9PW8mJihjLnNoYXJlZD1vLGx8fG4ucHVzaCh7dHlwZToic2hhcmUiLGNvbG9yOmEsc2hhcmVkOm8scHJldkxpc3RzOigwLGkuZW5zdXJlRGVmaW5lZCkoKDAsci5vcmlnaW5hbCkoZSkpLmxpc3RzfSkpfSx1cGRhdGVQZXJzaXN0ZWRTdGF0ZTooZSx0KT0+e2NvbnN0e2xpc3RzOnN9PWU7Zm9yKGNvbnN0IGUgb2YgbSl7Y29uc3Qgbj1zLmJ5Q29sb3JbZV0sbz10LnBheWxvYWRbZV07dm9pZCAwIT09biYmbi5wZXJzaXN0ZWRTdGF0ZSYmbyYmKG4ucGVyc2lzdGVkU3RhdGU9ey4uLm4ucGVyc2lzdGVkU3RhdGUsLi4ub30pfX0sc2hpZnRDb21tYW5kOihlLHQpPT57Y29uc3R7Y291bnQ6c309dC5wYXlsb2FkO2UuY29tbWFuZHMuc3BsaWNlKDAscyl9fX0pLHttYXJrTWFueTpiLHNldHVwOnYscmVzZXQ6UyxyZW1vdmU6XyxyZW5hbWU6dyxjaGFuZ2VEZXNjcmlwdGlvbjpDLHJlbmFtZVNlcGFyYXRvcjpULHNoaWZ0Q29tbWFuZDp4LHNoYXJlOkUsdXBkYXRlUGVyc2lzdGVkU3RhdGU6UH09Zy5hY3Rpb25zLHtyZWR1Y2VyOk99PWc7ZnVuY3Rpb24gTihlLHQscz1nKXtyZXR1cm4oMCxhLmNyZWF0ZUNyb3NzVGFiU3luY01pZGRsZXdhcmUpKHtpZDplLGNoYW5uZWw6dCxldmVudDoibWFya2VkLWxpc3QtY3Jvc3MtdGFiLXN5bmMiLGZpbHRlcjplPT5mdW5jdGlvbihlLHQpe3JldHVybiB0LmFjdGlvbnMubWFya01hbnkubWF0Y2goZSl8fHQuYWN0aW9ucy5yZW5hbWUubWF0Y2goZSl8fHQuYWN0aW9ucy5jaGFuZ2VEZXNjcmlwdGlvbi5tYXRjaChlKXx8dC5hY3Rpb25zLnJlbW92ZS5tYXRjaChlKXx8dC5hY3Rpb25zLnNldHVwLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVuYW1lU2VwYXJhdG9yLm1hdGNoKGUpfHx0LmFjdGlvbnMucmVzZXQubWF0Y2goZSl8fHQuYWN0aW9ucy5zaGFyZS5tYXRjaChlKXx8dC5hY3Rpb25zLnVwZGF0ZVBlcnNpc3RlZFN0YXRlLm1hdGNoKGUpfShlLHMpfSl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiBlLmxpc3RzLmJ5U3ltYm9sW2wucXVhbGlmaWVkLmNhc3QodCldPz9udWxsfWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gZS5saXN0cy5ieUNvbG9yW3RdPz9udWxsfWZ1bmN0aW9uIEQoZSx0KXtyZXR1cm4gayhlLHQpPy5zeW1ib2xzPz9udWxsfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuY29tbWFuZHN9ZnVuY3Rpb24gTShlKXtyZXR1cm4gZS50aW1lc3RhbXB9fSw0OTI2NzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKC9cKy9nLCIgIikpLnJlcGxhY2UoLzxcLz9bXj5dKyg+fCQpL2csIiIpfWZ1bmN0aW9uIG8oZSl7Y29uc3QgdD0vKFteJj1dKyk9PyhbXiZdKikvZyxzPXt9O2lmKCFlKXJldHVybiBzO2xldCBvPXQuZXhlYyhlKTtmb3IoO287KXNbbihvWzFdKV09bihvWzJdKSxvPXQuZXhlYyhlKTtyZXR1cm4gc31mdW5jdGlvbiByKCl7cmV0dXJuIG8od2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSkpfWZ1bmN0aW9uIGkoKXtjb25zdCBlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCIjIilbMF0KO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSxlKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IHMgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1lW3NdKXtjb25zdCBuPWVbc10sbz0ib2JqZWN0Ij09dHlwZW9mIG4/SlNPTi5zdHJpbmdpZnkobik6U3RyaW5nKG4pO3QucHVzaCh7a2V5OnMscGFpcjplbmNvZGVVUklDb21wb25lbnQocykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChvKX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLmtleT50LmtleT8xOmUua2V5PHQua2V5Py0xOjApKS5tYXAoKGU9PmUucGFpcikpLmpvaW4oIiYiKX1zLmQodCx7Y3JlYXRlVXJsUGFyYW1zOigpPT5hLGdldFVybFBhcmFtczooKT0+cixyZW1vdmVIYXNoRnJvbVVybDooKT0+aX0pfSw5NzM1MjQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7TElTVF9TVEFSVDooKT0+bixnZXRUYXJnZXRJbmRleDooKT0+b30pO2NvbnN0IG49U3ltYm9sKCk7ZnVuY3Rpb24gbyhlLHQscyl7Y29uc3Qgbz12b2lkIDA9PT1zP3ZvaWQgMCE9PXQ/ZS5pbmRleE9mKHQpOnZvaWQgMDpzPT09bj8wOmUuaW5kZXhPZihzKSsxO3JldHVybi0xIT09bz9vOnZvaWQgMH19LDQzMzIwKGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtjb25zdHtpZDp0LGV2ZW50OnMsY2hhbm5lbDpuLGZpbHRlcjpvfT1lO3JldHVybiBlPT4obi5vbihzLChzPT57Y29uc3R7YWN0aW9uOm4sZW1pdHRlcjpyfT1KU09OLnBhcnNlKHMpO3IhPT10JiZvKG4pJiZlLmRpc3BhdGNoKHsuLi5uLHBheWxvYWQ6ey4uLm4ucGF5bG9hZCxzaWxlbnQ6ITB9fSl9KSksZT0+cj0+e2NvbnN0IGk9ZShyKTtyZXR1cm4gbyhyKSYmKHIucGF5bG9hZC5zaWxlbnR8fG4uZW1pdChzLEpTT04uc3RyaW5naWZ5KHthY3Rpb246cixlbWl0dGVyOnR9KSkpLGl9KX1zLmQodCx7Y3JlYXRlQ3Jvc3NUYWJTeW5jTWlkZGxld2FyZTooKT0+bn0pfSwyOTUyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cXVhbGlmaWVkOigpPT5ufSk7Y29uc3Qgbj17Y2FzdDplPT5lLGNhc3RNYW55OmU9PmUubWFwKG4uY2FzdCl9fSw2MTI0NDYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdIT09dFtzXSlyZXR1cm4hMTtyZXR1cm4hMH1zLmQodCx7ZXF1YWxBcnJheXM6KCk9Pm59KX0sMzA0Mzk5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhbmRsZUpTT046KCk9PnIsd2F0Y2hsaXN0VXJsOigpPT5pfSk7dmFyIG49cygzMTg5NzQpLG89cyg1NjkzOTgpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUub2s/MjA0PT09ZS5zdGF0dXM/UHJvbWlzZS5yZXNvbHZlKCk6ZS5qc29uKCk6ZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IHQ9bmV3IEVycm9yKGUuZGV0YWlsfHwibm90IG9rIik7dGhyb3cgZS5jb2RlJiYodC5uYW1lPWBBcGlFcnJvcjoke2UuY29kZX1gKSx0fSkpfWZ1bmN0aW9uIGkoZSl7Y29uc3QgdD13aW5kb3cuVFZfV0FUQ0hMSVNUU19VUkwrZTtpZighKDAsby5pc0ZlYXR1cmVFbmFibGVkKSgid2F0Y2hsaXN0X2FkZF9zb3VyY2VfcGFyYW0iKSlyZXR1cm4gdDtjb25zdCBzPSgwLG4uaXNEZXNrdG9wQXBwKSgpPyJ3ZWItdHZkIjoid2ViIjtyZXR1cm4gdCsoZS5pbmNsdWRlcygiPyIpPyImIjoiPyIpKyJzb3VyY2U9IitzfX0sNDM2Mzk0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1dhcm5pbmc6KCk9PmF9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDE4NTI3MSkscj1zKDcyNTg2MiksaT1zKDQ1OTg2Myk7ZnVuY3Rpb24gYShlKXtjb25zdHt0aXRsZTp0LGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxvbkNsb3NlOmM9KCk9Pnt9LGJhY2tkcm9wOnUsc2hvd0Nsb3NlQnV0dG9uOmQsZGF0YVFhSWQ6bX09ZSxoPSgwLGkuZ2V0Q29udGVudCkoZSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudChyLlNpbXBsZURpYWxvZyx7Li4uaCx0aXRsZTp0fHxvLnQobnVsbCx2b2lkIDAscyg5MzcwMTcpKSxvbkNsb3NlOmMsYmFja2Ryb3A6dSxhY3Rpb25zOmwoZSksZGF0YU5hbWU6Indhcm5pbmctZGlhbG9nIixkYXRhUWFJZDptLGNsb3NlT25PdXRzaWRlQ2xpY2s6YSxzaG93Q2xvc2VCdXR0b246ZH0pfWZ1bmN0aW9uIGwoZSl7Y29uc3R7YnV0dG9uVGV4dDp0LGludGVudEJ1dHRvbjpuLGFjdGlvbnM6cixvbkNvbmZpcm06aX09ZSxhPVt7bmFtZToib2siLHRpdGxlOnR8fG8udChudWxsLHZvaWQgMCxzKDIwODA3OCkpLGludGVudDpuLGhhbmRsZXI6KHtkaWFsb2dDbG9zZTplfSk9PntpPy4oKSxlKCl9fV07cmV0dXJuIHImJnIuZm9yRWFjaCgoZT0+YS5wdXNoKGUpKSksYX19LDU5NjA1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtzaG93U2ltcGxlRGlhbG9nSW5zdGFuY2U6KCk9PmN9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDEzODYzOCkscj1zKDYwNzgzMiksaT1zKDg2MzQ0KSxhPXMoNTcxMzAwKTtjb25zdCBsPW5ldyBpLkRpYWxvZ3NPcGVuZXJNYW5hZ2VyO2Z1bmN0aW9uIGMoZSx0LHMpe2NvbnN0e3RpdGxlOml9PWU7bGV0IGM9YCR7aX1fYDtpZihjKz0idGV4dCJpbiBlP2UudGV4dDoiaHRtbCJpbiBlP2UuaHRtbDplLmlkLGwuaXNPcGVuZWQoYykpcmV0dXJuKDAsby5lbnN1cmVEZWZpbmVkKShsLmdldERpYWxvZ1BheWxvYWQoYykpLmNsb3NlSGFuZGxlcjtjb25zdCB1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9KCk9PntlLm9uQ2xvc2U/LigpLG0udW5tb3VudCgpLGwuc2V0QXNDbG9zZWQoYyl9LG09KDAsYS5jcmVhdGVSZWFjdFJvb3QpKG4uY3JlYXRlRWxlbWVudChyLlNsb3RDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpzfHxudWxsfSxuLmNyZWF0ZUVsZW1lbnQodCx7Li4uZSxvbkNsb3NlOmR9KSksdSk7cmV0dXJuIGwuc2V0QXNPcGVuZWQoYyx7Y2xvc2VIYW5kbGVyOmR9KSxkfX0sODYzNDQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm4sZGlhbG9nc09wZW5lck1hbmFnZXI6KCk9Pm99KTtjbGFzcyBue2NvbnN0cnVjdG9yKCl7CnRoaXMuX3N0b3JhZ2U9bmV3IE1hcH1zZXRBc09wZW5lZChlLHQpe3RoaXMuX3N0b3JhZ2Uuc2V0KGUsdCl9c2V0QXNDbG9zZWQoZSl7dGhpcy5fc3RvcmFnZS5kZWxldGUoZSl9aXNPcGVuZWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuaGFzKGUpfWdldERpYWxvZ1BheWxvYWQoZSl7cmV0dXJuIHRoaXMuX3N0b3JhZ2UuZ2V0KGUpfX1jb25zdCBvPW5ldyBufSw4NTE0NTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZmFjdG9yT3V0QnJhY2VzOigpPT5oLGdldFRva2VuQXRQb3M6KCk9Pm0saXNCaW5hcnlPcGVyYXRvcjooKT0+dSxpc1NwcmVhZDooKT0+ZCxwYXJzZVRva2VuOigpPT55LHNob3J0TmFtZTooKT0+cCxzeW1ib2xUb2tlbkVzY2FwZVJlOigpPT5hLHRva2VuaXplOigpPT5jfSk7dmFyIG4sbz1zKDkwMTAyMikscj1zKDU2OTM5OCk7IWZ1bmN0aW9uKGUpe2UuU3ltYm9sPSJzeW1ib2wiLGUuSW5jb21wbGV0ZVN5bWJvbD0iaW5jb21wbGV0ZVN5bWJvbCIsZS5OdW1iZXI9Im51bWJlciIsZS5JbmNvbXBsZXRlTnVtYmVyPSJpbmNvbXBsZXRlTnVtYmVyIixlLlNlcGFyYXRvclByZWZpeD0ic2VwYXJhdG9yUHJlZml4IixlLk9wZW5CcmFjZT0ib3BlbkJyYWNlIixlLkNsb3NlQnJhY2U9ImNsb3NlQnJhY2UiLGUuUGx1cz0icGx1cyIsZS5NaW51cz0ibWludXMiLGUuTXVsdGlwbHk9Im11bHRpcGx5IixlLkRpdmlkZT0iZGl2aWRlIixlLlBvd2VyPSJwb3dlciIsZS5XaGl0ZXNwYWNlPSJ3aGl0ZXNwYWNlIixlLlVucGFyc2VkPSJ1bnBhcnNlZCJ9KG58fChuPXt9KSk7Y29uc3QgaT0vKD86W14tK1wvKl5cc10nfFthLXpBLVowLTlfXHUwMzcwLVx1MUZGRl9cdTJFODAtXHVGRkZGXSkoPzpbXi0rXC8qXlxzXSd8W2EtekEtWjAtOV9cdTAwMjBcdTAzNzAtXHUxRkZGX1x1MkU4MC1cdUZGRkZfIXw6LiZdKSp8Jy4rPycvLGE9L1srXC0vKl0vLGw9KGU9KDAsci5pc0ZlYXR1cmVFbmFibGVkKSgiYWxsb3dfdHJhaWxpbmdfd2hpdGVzcGFjZV9pbl9udW1iZXJfdG9rZW4iKSk9Pih7bnVtYmVyOmU/L1xkKyg/OlwuXGQqfCg/IVthLXpBLVowLTlfITouJl0pKSg/OlxzKig/PVxzKiQpKT98XC5cZCsoPzpccyooPz1ccyokKSk/LzovXGQrKD86XC5cZCp8KD8hW2EtekEtWjAtOV8hOi4mXSkpfFwuXGQrLyxpbmNvbXBsZXRlTnVtYmVyOi9cLi8sc3ltYm9sOmksaW5jb21wbGV0ZVN5bWJvbDovJ1teJ10qLyxzZXBhcmF0b3JQcmVmaXg6by5TRVBBUkFUT1JfUFJFRklYLG9wZW5CcmFjZToiKCIsY2xvc2VCcmFjZToiKSIscGx1czoiKyIsbWludXM6Ii0iLG11bHRpcGx5OiIqIixkaXZpZGU6Ii8iLHBvd2VyOiJeIix3aGl0ZXNwYWNlOi9bXDAtXHgyMFxzXSsvLHVucGFyc2VkOm51bGx9KTtmdW5jdGlvbiBjKGUsdD1sKCkpe2lmKCFlKXJldHVybltdO2NvbnN0IHM9W10sbj1PYmplY3Qua2V5cyh0KTtsZXQgbztjb25zdCByPSgoZT1sKCkpPT5uZXcgUmVnRXhwKE9iamVjdC52YWx1ZXMoZSkubWFwKChlPT57cmV0dXJuIG51bGw9PT1lPyIiOmAoJHsic3RyaW5nIj09dHlwZW9mIGU/KHQ9ZSx0LnJlcGxhY2UoL1tcXiQoKVtcXXt9Kis/fFxcXS9nLCJcXCQmIikpOmUuc291cmNlfSlgO3ZhciB0fSkpLmZpbHRlcigoZT0+IiIhPT1lKSkuY29uY2F0KCIuIikuam9pbigifCIpLCJnIikpKHQpO2Zvcig7bz1yLmV4ZWMoZSk7KXtsZXQgZT0hMTtmb3IobGV0IHQ9bi5sZW5ndGg7dC0tOylpZihvW3QrMV0pe25bdF0mJnMucHVzaCh7dmFsdWU6b1t0KzFdLHR5cGU6blt0XSxwcmVjZWRlbmNlOjAsb2Zmc2V0Om8uaW5kZXh9KSxlPSEwO2JyZWFrfWV8fHMucHVzaCh7dmFsdWU6b1swXSx0eXBlOiJ1bnBhcnNlZCIscHJlY2VkZW5jZTowLG9mZnNldDpvLmluZGV4fSl9cmV0dXJuIHN9ZnVuY3Rpb24gdShlKXtyZXR1cm4icGx1cyI9PT1lfHwibWludXMiPT09ZXx8Im11bHRpcGx5Ij09PWV8fCJkaXZpZGUiPT09ZXx8InBvd2VyIj09PWV9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5sZW5ndGg+MSYmZS5zb21lKChlPT51KGUudHlwZSkpKX1mdW5jdGlvbiBtKGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspe2NvbnN0IG49ZVtzXSxvPSJzeW1ib2wiPT09bi50eXBlfHwiaW5jb21wbGV0ZVN5bWJvbCI9PT1uLnR5cGV8fCJudW1iZXIiPT09bi50eXBlO2lmKG4ub2Zmc2V0PD10JiZ0PD1uLm9mZnNldCtuLnZhbHVlLmxlbmd0aCYmbylyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBoKGUpe2U9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtmb3IoY29uc3QgcyBvZiBlKSJ3aGl0ZXNwYWNlIiE9PXMudHlwZSYmdC5wdXNoKHMpO3JldHVybiB0fShlKTtjb25zdCB0PVtdLHM9W107bGV0IG47Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IHI9ZVtvXTtzd2l0Y2goci50eXBlKXtjYXNlInBsdXMiOmNhc2UibWludXMiOmNhc2UibXVsdGlwbHkiOmNhc2UiZGl2aWRlIjpjYXNlInBvd2VyIjpzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPnIucHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1yLnByZWNlZGVuY2UpO2JyZWFrO2Nhc2Uib3BlbkJyYWNlIjpuPXttaW5QcmVjZWRlbmNlOjEvMCxvcGVuQnJhY2VJbmRleDpvfSxzLnB1c2gobik7YnJlYWs7Y2FzZSJjbG9zZUJyYWNlIjp7aWYobj1zLnBvcCgpLCFuKWJyZWFrO2NvbnN0IHI9ZVtuLm9wZW5CcmFjZUluZGV4LTFdLGk9ZVtvKzFdLGE9ciYmKCJwbHVzIj09PXIudHlwZXx8Im11bHRpcGx5Ij09PXIudHlwZSk7KCF1KGk/LnR5cGUpfHxpPy5wcmVjZWRlbmNlPD1uLm1pblByZWNlZGVuY2UpJiYoIXUocj8udHlwZSl8fHI/LnByZWNlZGVuY2U8bj8ubWluUHJlY2VkZW5jZXx8cj8ucHJlY2VkZW5jZT09PW4/Lm1pblByZWNlZGVuY2UmJmEpJiYodC51bnNoaWZ0KG4ub3BlbkJyYWNlSW5kZXgpLHQucHVzaChvKSxzLmxlbmd0aCYmc1tzLmxlbmd0aC0xXS5taW5QcmVjZWRlbmNlPm4ubWluUHJlY2VkZW5jZSYmKHNbcy5sZW5ndGgtMV0ubWluUHJlY2VkZW5jZT1uLm1pblByZWNlZGVuY2UpKX19fWZvcihsZXQgcz10Lmxlbmd0aDtzLS07KWUuc3BsaWNlKHRbc10sMSk7cmV0dXJuIGV9ZnVuY3Rpb24gcChlKXsKcmV0dXJuIGgoYyhlKSkucmVkdWNlKCgoZSx0KT0+e2lmKCJzeW1ib2wiIT09dC50eXBlKXJldHVybiBlK3QudmFsdWU7Y29uc3RbLHNdPXkodCk7cmV0dXJuIHM/ZStzOmV9KSwiIil9ZnVuY3Rpb24geShlKXtjb25zdCB0PS9eJz8oPzooW0EtWjAtOV9dKyk6KT8oLio/KSc/JC9pLmV4ZWMoZS52YWx1ZSk7cmV0dXJuIG51bGw9PT10P1t2b2lkIDAsdm9pZCAwXTpbdFsxXSx0WzJdXX19LDY5MjI2NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtUb29sdGlwV2lkZ2V0OigpPT5kLFRvb2x0aXBXaXphcmQ6KCk9PnV9KTt2YXIgbj1zKDc3OTQ3NCksbz1zKDkxNDQ4Nykscj1zLm4obyksaT1zKDI3MzMxMCksYT1zKDU4NTQ4KSxsPXMoODA2NjkzKSxjPXMoOTIzNTEzKTtjbGFzcyB1IGV4dGVuZHMgbi5QdXJlQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e2NoaWxkcmVuOmUscG9wcGVyQ2hpbGRyZW5Qcm9wczp0LG9uQ2xvc2U6cyxyZWZlcmVuY2U6byxjb250YWluZXJDbGFzc05hbWU6aSxhcnJvd0NsYXNzTmFtZTpsLHJvbGU6dX09dGhpcy5wcm9wcztyZXR1cm4gbi5jcmVhdGVFbGVtZW50KGEuUG9ydGFsLG51bGwsbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6b30sbi5jcmVhdGVFbGVtZW50KGQse3JlZmVyZW5jZTp0LnJlZixzdHlsZTp0LnN0eWxlLGFycm93Q2xhc3NOYW1lOnIoKShjLmFycm93SG9sZGVyLHRoaXMuX2dldEFycm93RGlyZWN0aW9uQ2xhc3MoKSxsKSxhcnJvd1JlZmVyZW5jZTp0LmFycm93UHJvcHMucmVmLGFycm93U3R5bGU6dC5hcnJvd1Byb3BzLnN0eWxlLCJkYXRhLXBsYWNlbWVudCI6dC5wbGFjZW1lbnQsb25DbG9zZTpzLGNvbnRhaW5lckNsYXNzTmFtZTppLHJvbGU6dX0sZSkpKX1fZ2V0QXJyb3dEaXJlY3Rpb25DbGFzcygpe2NvbnN0e3BvcHBlckNoaWxkcmVuUHJvcHM6ZX09dGhpcy5wcm9wcztzd2l0Y2goZS5wbGFjZW1lbnQpe2Nhc2UibGVmdCI6Y2FzZSJsZWZ0LXN0YXJ0IjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hZnRlciJdLGNbImFycm93SG9sZGVyLS1hZnRlci1sdHItZml4Il0pO2Nhc2UidG9wIjpyZXR1cm4gcigpKGNbImFycm93SG9sZGVyLS1hYm92ZSJdLGNbImFycm93SG9sZGVyLS1hYm92ZS1maXgiXSk7Y2FzZSJib3R0b20iOmNhc2UiYm90dG9tLXN0YXJ0IjpjYXNlImJvdHRvbS1lbmQiOnJldHVybiBjWyJhcnJvd0hvbGRlci0tYmVsb3ciXTtkZWZhdWx0OnJldHVybiByKCkoY1siYXJyb3dIb2xkZXItLWJlZm9yZSJdLGNbImFycm93SG9sZGVyLS1iZWZvcmUtcnRsLWZpeCJdKX19fWZ1bmN0aW9uIGQoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsY29udGFpbmVyQ2xhc3NOYW1lOnMsY29udGVudENsYXNzTmFtZTpvLHJlZmVyZW5jZTphLHN0eWxlOnUsYXJyb3c6ZD0hMCxhcnJvd0NsYXNzTmFtZTptLGFycm93UmVmZXJlbmNlOmgsb25DbG9zZTpwLGFycm93U3R5bGU6eSxjaGlsZHJlbjpmLHJvbGU6ZywuLi5ifT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLmIsY2xhc3NOYW1lOnQscmVmOmEsc3R5bGU6dSwiZGF0YS1yb2xlIjpnfSxkJiZuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTptLHJlZjpoLHN0eWxlOnl9KSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoYy5jb250YWluZXIscyl9LG4uY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKShjLmNvbnRlbnQsbyl9LGYpLHAmJm4uY3JlYXRlRWxlbWVudChpLkljb24se2NsYXNzTmFtZTpjLmNsb3NlQnV0dG9uLGljb246bCxvbkNsaWNrOnB9KSkpfX0sMjQxOTM3KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe2NvbnN0IHM9dHx8d2luZG93LmxvY2FsZXx8ImVuIjtsZXQgbj1lW3NdP2Vbc106ZS5lbjtyZXR1cm4gbj0idHJhZGluZ3ZpZXcuY29tIj09PW4/Ind3dy50cmFkaW5ndmlldy5jb20iOm4sbj9kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK246IiJ9cy5kKHQse2RldGVybWluZUJhc2VVcmw6KCk9Pm59KX0sMzM3MzYyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0VtYmVkVmlld3BvcnREaW1lbnNpb25zUHJvdmlkZXI6KCk9Pm99KTt2YXIgbj1zKDkzMDIzMSk7Y2xhc3Mgb3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2RhdGE9bnVsbCx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH1zdGFydExpc3RlbmluZygpe3RoaXMuX21lc3NhZ2VSZWNlaXZlcnx8KHRoaXMuX21lc3NhZ2VSZWNlaXZlcj1lPT57aWYoZS5kYXRhKXRyeXtjb25zdCB0PUpTT04ucGFyc2UoZS5kYXRhKTsic2V0LWVtYmVkLXJlc2l6ZXItb3ZlcnJpZGVzIj09PXQuZXZlbnQmJih0aGlzLl9kYXRhPXQuZWRnZXMpfWNhdGNoe319LHRoaXMuX2FkZE1lc3NhZ2VMaXN0ZW5lcigpKX1kZXN0cm95KCl7dGhpcy5fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl9ZGF0YSgpe3JldHVybiB0aGlzLl9kYXRhfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0aGlzLl9pbnN0YW5jZXx8KHRoaXMuX2luc3RhbmNlPW5ldyBvKSx0aGlzLl9pbnN0YW5jZX1fYWRkTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKX1fcmVtb3ZlTWVzc2FnZUxpc3RlbmVyKCl7dGhpcy5fbWVzc2FnZVJlY2VpdmVyJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fbWVzc2FnZVJlY2VpdmVyKSx0aGlzLl9tZXNzYWdlUmVjZWl2ZXI9bnVsbH19KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZW1iZWRfcmVzaXplcl9vdmVycmlkZXMiKSYmby5nZXRJbnN0YW5jZSgpLnN0YXJ0TGlzdGVuaW5nKCl9LDk2MzkwMChlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBuOyFmdW5jdGlvbihlKXtlLkVtcHR5PSIiLGUuVGVjaG5pY2Fsc1BhdGg9InRlY2huaWNhbHMvIixlLkZpbmFuY2lhbHNPdmVydmlld1BhdGg9ImZpbmFuY2lhbHMtb3ZlcnZpZXcvIixlLlRpbWVsaW5lUGF0aD0iaGlzdG9yeS10aW1lbGluZS8iLGUuTmV3c1BhdGg9Im5ld3MvIixlLk9wdGlvbnNQYXRoPSJvcHRpb25zLyIsZS5Qcm9maWxlUGF0aD0icHJvZmlsZS8iLAplLkhvbGRpbmdzUGF0aD0iaG9sZGluZ3MvIn0obnx8KG49e30pKX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/3635.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.675Z","timestamp":1785136428675,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3635.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2898\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 16 Mar 2023 13:04:10 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 06:53:09 GMT\r\netag: \"0383d666db05fd337b9c48f5cca099b5\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 1240\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 8y4LeupwictyWIMU6I6bZbTZOfh-YgjPjLZB79GPasI8EMjDi4DMow==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2898,"size_decoded":3431,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0383d666db05fd337b9c48f5cca099b5","sha1":"8753fdae53ff0316cdae36277df48fd191899308","sha256":"6df892e8987e5a31eb490ccf4d625a34c1adc00f479831dbc70773ccc07a274f","sha512":"be5d557758477558c00b6e688553130f2422cc4537b70f7a97d3e9bcdd22573b9a0954c79c047d6c9196f2b351cd32bb750ef445bc40c7401bb91c589212baf3","ssdeep":"","tlshash":"15513b5a40a83888d7406ba7e170ce1ca3e38062ea8e6b07d5c3ba6699725102e534f7","first_seen":"2023-12-05T12:10:14Z","last_seen":"2026-08-11T04:47:30.086648Z","times_seen":1525,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":27,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/7278.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.690Z","timestamp":1785136428690,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/7278.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 832\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 09 Jul 2024 07:55:55 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:17:16 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ff1cba08edcc514d5676fdfe1fc32ccc\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 14676\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: wiHE_8hGMIH6nm4P4SspkPXOhfAqfvmTarIruI-fL6q5dhwmjFJfRg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":832,"size_decoded":1403,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ff1cba08edcc514d5676fdfe1fc32ccc","sha1":"ac95fa2487d2e18d3f2bd895b4a8be23399fd463","sha256":"5e7048442d6bae4b57dafd847ae3e424a8eb7ea4f2c3b0acc325339163f943b0","sha512":"f6ce372da2ac2a1692ec07cbe2f3c25ffd9399d0bf006015526a62d8e13b6d8e954de23201fb80bbfef8a688933c88ac360e108d8b35d66be9c517ee8c31dac6","ssdeep":"","tlshash":"5a01cad40ee95188ae5b4c13350141328b6328f952f7be6decbdf41d28c1f00360c791","first_seen":"2024-11-30T20:42:41.062812Z","last_seen":"2026-08-11T04:47:30.12439Z","times_seen":1308,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADB0lEQVR4Xu2aPXLUQBBGfQSOwFE4go/AjWRLWwVFshC4HMEBIIIIIjuhOABEEFAO1tJisPHYrJh989fSzox+vK/qJd6vZ7rHrrWk0sFBJqpqfVgd1zciq/oJ6yfHomwKY7CeLsp6yfVHC5uPLfcbBepPlo2mtizrp+wjO8vi5hEby+2zon7MvrLARoaW/SWFm49F9hkdbjhW2XcUuElXu/Dt6x+jvqvsfye4uNRYcF2pnKMXXFRiKriPRM7TCS4WMhfcNyTnEsOFXP74fs0ek8MefHIuEVzE5ZCcnqyNflxyPi8sdtkHrqH7atkwLoLruOScVtSlJQttdoG1UrvAWpvF7aU75zVgkU0prOurhE8fr4w6m5x3C3WHxQIqgTUxlMAaq4XnYYsRthiC+ZienoS/I1hjk3O3MEhDMJ/KEMxTzn0HQzQE8ykN/bdg3ibn3+kAmM1hCObp1vDqoSMD0s0uLq6NfC59MGt6edQegPlhzI3S6oNZKjqAd29/cd0WZnVdMKd7fnbF+B3MSfZRMEtFB+CDWUmNgnll6IaKecl+L543Rlb3fvjAI20X6puY2VCNTowaSS2zWxarQ+9v37c4c6E80WvevF7zYyvca6O6DHbBLPUegHo254LZjVJ2raEumKPeA/DBrKRGR6/58N79RavDvST7Mkd7HUDozktCjBpJPXO01wEwR0MwL6nxfen66r98/m1kdZMcgK9W3dExG6pRMEtdhK5UvQcQww3nZ/7fhK2mafzNxzD5AYzd/QHwBw/N20vhlfzlpbm5eT5ofPBAFN0Nztn9Afw/gMsjfjh3F+V62R7A/SGYoTm7Nfz+AP7B0Fzl3C0MzlXO3aIuDBiem2UReMWWBXOT8xoUxc/B3/9NZSF9r5iFc5FzemHx1OV8IrjIVOVcYrjQVOVcneBiU5Pz9IKLTkXOsRNcfOyy/yhwk7HKvqPDDcci+0wKNx9a9pcFdWnJRnIrev83NeoOi40l1/fK65AYjUaW+42W6nj1ks33V3unb6p0etiiXl7KxF+YoCfQVyFWbgAAAABJRU5ErkJggg=="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/78404.b5ecd6dc65f13def5eab.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.202Z","timestamp":1785136429202,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/78404.b5ecd6dc65f13def5eab.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-192\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 386a23a37dd9ef866b8ec6b4666fee6b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":402,"size_decoded":972,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (402), with no line terminators","md5":"1adcd7be7207d17f717ccc6eadb15c6d","sha1":"7c83ca692ff4bc9fc3a86f1a092266f0d48d8e77","sha256":"eea22714fdf62b6e84e4c6bf541cde06dc649c42a4e8ef4e618ba26446fd56fc","sha512":"dbe0864fd7c99e3526d69cd4162c10d36bc06090a2a4e50519e98b968eb75f82038172ebce2c56e9ca927f0ee45b4e6764a6c55b4bce29f953039423e1ea61a5","ssdeep":"","tlshash":"11e022e3c104147eb52fad5a46a360507391d8bd6529eff92183bafc9aca4e13233c56","first_seen":"2026-07-22T16:00:00.400221Z","last_seen":"2026-07-28T06:17:53.468765Z","times_seen":113,"resource_available":false,"data":"LndyYXBwZXIteWZOYmd0Z057YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47d2lkdGg6MTAwJX1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7LmJ1dHRvbnMteWZOYmd0Z057cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9fS5jb2xvclNlbGVjdEJ1dHRvbi15Zk5iZ3RnTntwYWRkaW5nOjZweH0uY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z046Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1zdGFydDotNnB4fUBtZWRpYSAobWF4LXdpZHRoOjQ0MHB4KXsuY29sb3JTZWxlY3RCdXR0b24teWZOYmd0Z057cGFkZGluZzo4cHh9LmNvbG9yU2VsZWN0QnV0dG9uLXlmTmJndGdOOmZpcnN0LWNoaWxke21hcmdpbi1pbmxpbmUtc3RhcnQ6LThweH19"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/about_image.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.051Z","timestamp":1785136422051,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/about_image.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 183148\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":183148,"size_decoded":183491,"mime_type":"image/png","magic":"PNG image data, 410 x 433, 8-bit/color RGBA, non-interlaced","md5":"73d9fe354f27b64db3928c6b48306cf2","sha1":"24403b7bbb59554b62e2f4040a331b35158dd78a","sha256":"77c604681ec283cfe32ca180f305642d39749ee94981267cfa82bf637d25fe33","sha512":"d1b83a2faa8152068d21128e406ca1a201301029b554c44db11d4b6eab30dc8fd3b8cd482655eb5dab31875984a2ecf11b80eb06dc729b6ddf48e0b2e0b203af","ssdeep":"3072:R3GnSZmJP8Es4v2v7HHmHIoRpO1jG4qzz0eKLvu83k+ztgF33AVuzkUO4s:R2xJP8T6OHboRM1DqXZKjugk+pgJ3AVf","tlshash":"fb0422fb9426068c47af6ef69cc6dffca2d85c5368291e08155332e61f5e90a45e0782","first_seen":"2026-07-27T04:30:36.882229Z","last_seen":"2026-07-27T11:13:26.107793Z","times_seen":5,"resource_available":false,"data":"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hQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUKFChQoVKlSoUOFPBKT0/wPPlk+4H5ptvQAAAABJRU5ErkJggg=="}},"time_used":3426,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1937,"receive":1489,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/st.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.064Z","timestamp":1785136422064,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/st.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 4249\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":4249,"size_decoded":4590,"mime_type":"image/png","magic":"PNG image data, 72 x 71, 8-bit/color RGBA, non-interlaced","md5":"4cf3da93f55091258ba16d1b973243b2","sha1":"77d6d1b7998ce8cc78c4bb6bb7b9b0adaf0c5931","sha256":"b193a2ededb95bf15fdef387788970d47265cb4fa93cf555875fa267ba5fc9c8","sha512":"53a9b6a7133f6c648056d8fdad8632ce8d72151a747174401fbbcbbec70c9675ecbdd0fe8befd613107136d76538c4c5ce7dc3bd008e147da6ee7f53180b1a62","ssdeep":"96:V0aBeT2UiHY5+zc2PDyVpEV6TG7Irw4dDkD7yltaNVwy7mGL5LQGhIs:+4eUC9rVL4lvwt3y7mO5c2Is","tlshash":"5e918e430245f40d5813c2e52de66fe1c8bf475e9b19804b4288d448b36afb29eec436","first_seen":"2025-12-03T04:46:43.788501Z","last_seen":"2026-07-29T06:14:00.396378Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":4305,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4305,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/withdraw.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.072Z","timestamp":1785136422072,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/withdraw.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 19053\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":19053,"size_decoded":19395,"mime_type":"image/png","magic":"PNG image data, 179 x 178, 8-bit/color RGBA, non-interlaced","md5":"86a6fa29912c81411ea7a93a5dd7ea3e","sha1":"ec455474133365815d34353d72b19f7c70e450c9","sha256":"e3ec4c70b3ed2d2e026fc9af98004d3845f0dce2a0372b72a33b68d4228474dc","sha512":"69ed9419ed9b7536c44e26a39b188f65a47587c5a1ec2f5f6f657f4f7903cb87b42f008c759a27e78325fced7af3b5731fe8467c5a207cecacefaaa8706a38c6","ssdeep":"384:ZC/EhumbKJw6g2xlzQBdsBRCfP4mA0xepdE:WE0mWG45QGokp6","tlshash":"cc82d01490d5d78a12bd8e21be044d29701d87f037cd1cb7dcb47baaf71eaa810a5b06","first_seen":"2025-12-03T04:46:43.73269Z","last_seen":"2026-07-29T06:14:00.397474Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAALMAAACyCAYAAAAJSP5WAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAASg9JREFUeNrsfQeAHdV19jfl9bK9F/VekBACCQkQCBeaDSY2BmNsx8blj7t/J7bjOP4dlyRO7LjHJWATJyHgBjYdTBUqoIYq6lppe3/9vXkz859zZ3a1u9qVtszbIvaKw7b35s3M/ebc75x7imSaJry//BvkYhiGjAt4KCQuEolEtr8PkPj6/F6IYUIJ+zNYv+h0tjw/rmu6rNPvsyQpkqT9vWFLz9/M3Jw1HTapwGzyQwrQx+h06j4NyNBX/tmrT9kJUTE9hgNaP4mXJEgykyREModkMUkBSZikjKTY/t5nA5yHZJqygKZkAVSzJUMSJem2JULSSnKS5ARJI0kLSTNJwgZ+KmcgvwDGNJjPHh4boAzYpSS1JKtJFpBUk5SP4disqd22BOzPOddIk9STHCXZS/K6LXUkXfYDkJ2esmkw9x0lJBU2eJeQrLG1bvkkeLBm2/KmHvZma+7tJLtJdtlgb7DBPQ3mN+CoIZlHcokN3stIKqfAect9AP5O+3cHSbaQbLMBfoikbRrMF/ZgXruMZB3JFTaIAxfAdS205f02z36Z5HmSV21wR6fBfOGMlSQbbbnENtQu1FFKcrMtdba2forkOVtjT4N5Cg42st5OcoNtwC1+A1KpWltusbn1ZpI/kTwxDeapM1aQfJ7krSSF0/atcC+usuUWmHgUuvTP9PXINJgn72A+fKe9xM6fxvAgw5Cq4DHulqrja5BRHkBE/TUs78g0mCfJWGsbP1eTzMK0y3HowVsu7O326MvgNubDm303gfpBpCUG9dFpME/c0rme5AMkN5Hk48yu2/Q4H6BNiUHtgWougarNI3C/C5r8IP3lUdtonHJDnqIgXm0bMnzj77J58TSQRwVqAWw3ZHMxaem/pZ+eJvlPWDue8jSYczfYT/x39g1n485vL5rTwxFwS7xSh2y7g/3Un7BXvGkwOzg4eOdWkmdJ/t7+eXrkXnH8G8kfSa6xFcc0mMc42J30I5LfkCyaxti4D7ZL2C/9j5P9/k9mMPtt4+4Re9mbHhPrKGDK8XtYG1HKNJiHP3jX6p9I7rGXu+kxOQYbhfeTfAVWpOE0mM8zriS5l+Tj09iZlMNrg/nnsGJepsE8xPgwyX22wXFhOQron2ZmhOim3iuGCE+2htTn3xQYb7fn6rbJxIUmi+X8FZsj+6YaUA3TJGAaZxKa6GdLDEvovy4lTTfbTWQzjaSZFuA2+W+E2x5QK/QKVVKgSKol9K8H2ObkzJbiZIafwAojYFoYfaODmXnY90nePPm1KwHPMMBJwDAYpHYeqtuFEn8IbkWBV1URUFwo9vpR5Q+jxBuGi27zwsJCXFKeB0lJIqnHkSUNnTEySJkpdOtd6NI70JQ+jU6jEzE9gihJ3NTEZ7olFzyyh5ZRC9yTDNic+vUlex4/BSvj5Q0J5otJfgwry2Pyal0BXF2Qspq8fJR6Q5ifV4jLS+Ygz+3DnHAh8umrTEpUkQhysgyvosJPoOavMv3OLQ99q3UzK+hH0kggQ19TRhwtmXp06p04njqM45kjaNTqETeiYhvaJbvhIoBLgiVOCmDz8vEXsDZY/g/J4TcamK+0gbxkctIGTqc2UeDx4MqKWQTcmbimch5KfUECJmtgF8Kql4A6dn7bQyu88pl9iRmeeQRTA2kjReBOCjDXpY/gUGo/TqaPoSXbTMBPCOqi0nsnCc++loQDlj5KsnPcn6gJqptxgw3k2slCH8T/SevJsomVpRXYWDEX11ctIg1cCp+tYVVZmeCHTCcNrgnNfSpzHNviL2F3fDvatVYw63aTxpYnh02/n+RjJC9cyJqZ7/S7SX6ACQ6a54eY2K+gBS6iBWWBAN4+YzFun3UxlhVUwKMo4m+TyvVExqGHRfYiTy3CIt9KRAo6sS+xE9sTm3E4eYC4d2evtp9AYHNWz3/ZgH5kvLjQeGpmVmt3k3wPVkrThHoefKRpC70+XFZWjffNXY2NlfMRUN2YyqMpcwpbYy/g1fgWnEqfADFxYTQq0oStKN02oO8fD0CPJ5j/kuQ/JtaQ0+FxuTAjkI/rZ8zHJxavR5W/gDSdggtpxPRubI49j02RZ1GXOUq8Oy2MUFVyTcTpxEneC2sr/IIA89vtZScwISDWNbhdbizMLxUg/quFl6PEEyIqcWEnpCT0CLYwqKPP41j6EJJkSLKbj0E9zu69FptePjvVwcxeiwcwATEWWlZj8oiVRZW4sXYhPkogrvTn4Y02EnoUmwnQz0efEN4Q9qR5ZZ/g1OMI6uOw3Hc7pqoByOGb9443kLO8sZFNoyJciJtmLsLfLLsas0PFeKMOvxLCxvwbsTxwMZ7pfhQvRZ9Gs9YEl+QhUHvGC86cm8mBY7z9/XrONLPn3i/k4thLTFMkSa4YV22cSQMuBTfULsBfLV6Hayvmw3WBceKxjgPJXXiy62FsJ0MxZaTgk/3CSBwnLf0irFS3EznRzKbpuMN9Jiw/8rgBmTc5DNLGS0or8aklV+CWmUtR7AlOI3eQsci3AjM8c3FxbBMe6fotjqaOkIb2il3FcQA0l0Vj1+wHbS49qWkGhwh+y+bK46ONeavZNPDexavx8UXrcWlx7TRiz0c95CCuCL8Fs70L8LuOXxP1eE4EO3kkz3gA+kaSr8HaKZzUYP40zlSnHBcghzwu/NPq6/Hu2StR4PZPI3UEo8o9E+8r+Thq3bPwcOeDiBkxAvq43EOOkOQt759OVjBz/Yr/i3FKq9H0LJaXlOFfL30bNlbOmypxwJNuhJV83FDwLlR5ZuA37f+JY+nDCMg5p2i8Q8WlDQ7AoW1vJ/c7eQuTY5KLxgfIGu5auAq/WP8uXFs5fxrIY9VqxJcvCazHp8q/hEv964SG7ps4kKPBNbK/attYkwbMefZTtirXV8+bIIak41/W3oAfr70Fq6f5saOjwj0DHy7/HK7Lu1nsmGbNbK4VxQaSv4bVJWDCwczH4HSn25HjgizMj11EYH6+/i/wmSVXIaB6ptGXI9pxe/EHcVPBreAI14yZyuXU8oE/QvK+sX6IE2DmXhtfzuXVmjY/Drvd+NkV78QH5l0qYg2mR+6GTw7gHUV34S8K3gOX5BZx1Tkcsk1R104kmCttehHOJZCzRhYlgQB+ceU78d45q6aRNk6DQfy2wvfgjqIPCj80Jwnk0rFC8sWx2Fxj9Wa8B5YTPGcjm82gOi8fPyNqcV3VZCuoY8JMtcLUonSiKZhG2kpSJcOJlyk9S5wza3FOkZBCq4mkeCC5ApDdYaiBMvrd5N+dfFP+zSKW+tftP0NKT4q4jhwN9j9zlf9fjDeYl8OqTp87jpzVUBQI4ntrbp50QDaix6DVPwG9bSuMRAOBOQZTTxO+rQ0cBnA0EkOsOwJFVqxtCAKzzKlWBGRXuAbeqnUIzr0Z7sKFkx7QG/NuQoY08/3tvyIOnYZbypm9wtr5OZIj4wVml00vSnIH5CzyfF78YO3NeMeMZZNqYvXOvUjt+DKy7a8SPulWKG7SvGofLcsZ1JLIIeRUrN5oAQK5kY5CT3Ui03kI8RPPIHbkYZS96d/hKVk+6QF9Xf5fIEGAfqjzf4WXQ5VyEqfGLeE+S/JXGGFA/2g5My8H78qd18KAz63iu2vehttnr5xcM5qNQzv2n8i2bYHkLSUpgaSSyaD46W56bHELkeh7QStkz5nvXX56SZheXgLFV4h0yy50bv+updEn+6CV5abC2/CWvLdB56xDM2d+aI7buGo8DEBOJ/96zpZv04RMZ/Wt1W8VXovJNoxkI7KkmSU1aGljMaHmyKSnSAzTDk8e0s07oMebpoRR6Ja8uKXwTqwNXomUmTODkHcHv4ERFgQaDZh5CchZGzKuUfGppevwicVXTMrJNPWMVfxFLLHOBOSYdM26FpsyXg6/EsSdxR/BIt9SUcQmRz7Zy2HtX+QMzNye96M5AzJpuWtqZuJjC9dOWj+yRHSCtTJMh/qv80rkCULxjGeB+rE/hAVqMd5TdDfCMq0sZgY52mbgOJ/KXIH5k7ky+pheFPp8+NrF12HOJM4KkXxFkEO1Nsc1xw4qeoBdwRriz+NdIXbsgJ5Hmvm2ovcJz43u1MPdf1TDyuh3HMzcV+/mXN1Wvhk/WPN2XF46y5EqQTkDsxqCUrjSMvQMfewXTpfqq75c8OdxvArHNOm60EZsCL2ZtHPOdgg5s7vcaTB/ZCQqf0T0Iqvhb1ZswC0zlk6J2Dc5fzFp6DJSzsmxgYK0MtML/4w3YaoOj+wjg/AOLPGtQFyP5SIoqcb2bjgGZvb9vR05qOesaRo21M7GbbNWwKO4psQEqvlLoZastXnz6N1Thp6Gr+pyuIuWYCqPIleZiOEoUAtsg9BRQLNng5NgS50CM1uVM5z3XOgIeFT89bJrsLKoeurMnuKFe8YtpJ0rYGqJUWhniZSyBsUdQP7KT+BCGPP8S3F1+DpoRooeb8d95vOGo52HA+aZtlZ2dLvHFJpJw4cWrcGG8tlTbvKUksvgrbkRLplvjAZVMs8WDC4KTbeqp1Cw5E54yi6MwCkOStqQdx3meRcjoSec1s6cV8o1N4rGCub3k8x1+uKzGc6krsIdcy6GV3GP8bGYoAlc9DF4iG64iS64TZ3WQwNuAjGLRzZpglkMuNBX6HfZGMK1G5C/5guTDJJju5flriq8Ne9muna3iN9wGNAcnHPXOenfeQ7APrLrndbKhmHA71LxqcVOZFJPjMl4NN6OP7XXI2Iug5xsIbqhW/TZtJ0UdFrpTB4yZNxKstwPLxJpZa9nPYJ7X8VNM5eIsrmTxFcz5iOsCq7FzsRWvBR7llYnt5Ozw7uBHEbBEXXR0YD5ejjcyFC44bJpbJizDLfOWoapOJJ6Ft9+/Rn89ODTdAfziHPQdXApMPo90joHYHOkFPsb+ys8SbK9YgTu3fuAbS/jiaWX47GbPzPpyueOdgSUMN6af4soA9aebRMFZhwcHKjDzZseGimYmadsJHE0TVenCS8OhvH++atQ6A6M4ZGYSCeeiboUbz97iGvQbVIU0hteK95CtIwwOTWGQE1fs/Q1lT0Dbl23XsOBh5IfRzraJiksR3+PmTevCqzFE90PiRrYsnNzxf1T3gKrBbIxEjBzTOIGx28RWfGXlS3EDdVjCe+YWG80V9L/1Pxr4Y0dR3vsFFTDfeacWMHKxBbdEuFYh06glnwMYsMCsmZpbS2RhjevDJ97892TVCuP/h5zIP+60NXYEd+Mjmy78EU7ODiajpsBHRgJmLkikaOpz1lDR0kgn4y+FfArU7ewt0mc9y0dj2CVvgkJpZsmTx0w+VYcczIWQyIah6TK1t8lGySyAd1LBqM7D/O7nwJq7sbUaGM+/DGXtPNF/tX4c+RxUbLAwSr+821sDhvM7AJZ57xW1rGsuALvmLF8yk4Sh4Cm9vwjjIanUUAcuJCD85EZVLPFkUJUT4jq9QOVnkTvNTPNqN/0Nfib96Bo7d9B8V84nZW5DcW60DVkDL4iWsO5JceUl2pjk+t9x4YD5kVOg5nLzBb7Q7hrHrviXFMTyJHDSO76fyJVioPx47LrnMt0nCY0LrnOEQFIICfaFdn/39ATzSi+8h/hyptzwQB6gW85lvlXYlP0OVG/zkFX3TpbQ/er9TzUXeaUb0fDuLgdzoL8ErxrxoopOTF65AiS278ggCy5QpBkd2+4zpiEHgiZjMj48afQ8udPINt19ALSzgouD24gSul3OiuFaz2vPourD/JC9i2vcVSjkZUfcntxy+wl8KlTTyubySakdn4ZesceAnKefdsc3KzhzlDuIBJ1L6H1hb8mLd1wwQB6qf9izHTNobvl6Ba3ZGvnvPOBudZpisG1k4s9fryjdrR+ZRMTttOXJea7++vQ23dCcucN6y5zLjZvZ7vs7WvZSm89zxuJWXtCQkN3vPx1mFocTiuUlJEl0UYtaXq/McJ5UIhmrQisBpxvk8xdfavOx5mZLztqiaiyjKVFpajwhcf4MI63SjaQOfwLaA1PCWox1ANlWuyXjBxDtBw2bJNQ5wnkrW36PSdqcwGCDIkxFHvkTqsuP7oP3g81fw7yV32aDMWx19U4kezAsx2HcSjRgqypj4q78sPglVUsCpbjqoK5qPYOPzOGvRqPdv0OUSPqJG9mzsxhFvuHArPPaYrBbSb8qhsfmn/pGAy/ifErZ5ueR+rQLwhj/nOuGV7JislozLqwN+PDnrQPh9MedCZ0uI005qkJLJajWEhSgrTozpcadCuBNLjqgZlOo/PV78JTuhz+2tHHOrMWfbhlD7517Em8Hm8VnziWDQzdTsZdHqrEV+Zeh41F84f1virPTMzxzBf9Cd2yo/U2WDs/RqINBmZ2ya131vADSgN+vLly4RiOMP5gNpLNSO3/rtCoGKInCv8pIOnIEEX4bSwPP2ovw7OJAL1ZsTZJeKfP7aZbTWxO0nCF0okPuI7jzWoz/PS+pKkM9vSLjG2dtGjXtm/DXbgIanB04bGPtx3Ap/b/BkmiCCWuoEPKCdgXa8Rf7XsA9y5/D9bmzxrW+y4JXI7tia1OTxM7KrjTb/NgnLncVt/OWbREMd5aM080Tp9KWjlz+B4Y3YdEgZehgMyA7DZkfLmpEnecmo1noz2cOoUVlaX4+lXrsTyf3p/sFJTlRa0Ud6cuxtcyC5EkYuKT9MGJCyFG8RYiXvccogf+xy5nMLLRlU3i28eeRppoRT6tLKZD//jpLnQF0K4lSOM/hYSuDet8lhNvLnNXiuIxDo6Vfb1u8iA8xNHIEP6A22ZdPKUs8Gz7dmin/wRJcQ/6MAlqQYuuRhr5y/pCfCdSiwzHYag0sekEEI9jQ/Vs/O36t+KGqnLIHKvBXbAQFzz6Z6l5+EpqERnGkjAQB31UaDVgnt61+6dIt7024mt4tv0QDsfbECTaYvDy4ogf0RI+Xtjtxe5oPV6NnBzW+eSphZjnWeg0mJm4zx4MzBxY5GikOD/JpX4/VhZWTykwZ47cR7y1ne6Oa1Ags5fCTbD8oV6Lnym0zFYFIQWIMqRSmFVQgi9tuAl3LlhBB4rg/csW49e33IBPXHwRCt3EF7keHVGO/0rPws+0WaTdjSHXc9kdgtZdh8i++0Zc8WhvvJFWFaugTi5EkRnUBvbHhl+8Zp43J/UCL4JVLq4fZ2aNvNpZbwCp+oJiBKaQbznbthl626uQpHNp5Sz2mHn4d2Om0LSqT4ZeEkSF24dfveXduGLGAqtITKIO84sKMb9mIVaWHMejR4+hg4xCEWVHFOMHmTm4QW1CtZQc0iDkEl7RQ79FeNEd8JRdMuzraOvMoJuYZCqHRUYzdCntRdqwX89GIPdKyZgZJ4OrGLMcftnVF8x5fVW2U8bfrTOmVsyyduL3QisP5cFw2T7j35jlOAHSyMgKY890mbj+ohW4YuYC6FoG9+5+Af918BVa5mWsq6lCdyaDtnTGArLtG+gyPPgfrRpf8RwkY3Ao7wYRmngLovv/G56SlUMaowNHkZxHVF1COodg5sJOhdLwDctSdxVKXWU4kT4GVfI65XdeYLOKfpqZywhUOMqXaXaWFVROGSDr3Qehd+y2g+jlQR9OH4Gwif7/AoqEP1ntCavVTcwNFwpgp/Qsnqk7gude20HrXR6erDsFt6oizq4ApQ+6SDs/rpfi4+YxkVKlD2bskvHHdCN+8knkxz8DNVQzrGt5c8UsfMfvQ5weIqU3Ys/Bh56us8AfwLVVw48l8RCA53kW4Ejq9R78OTF4k49TdZrkPi6DSjgYh8hO9qpQGIvypk4kWLbpORiJelGtc2jfiokTppfEh37x4UQk90fbLb5GD8I/XXkDfnzre3DNXDYOdcSSyUH0kIkmw4tGOp77HHtrrJ01Mrbixx4e9rWUxQ2ED7XA8KmWVnHyoecmScT9P7l0DebmFY5AuSmY5VsgIgYN53YDvTage8HLpHaNsxdsYE1ZNfHlqRG3bGY6oLduI3xm7KKIQ48o6eP4ABe9rLjwcPNR/ObUPnoYVNTmF+OjF63CH258Cx552/VYXVnBRUIsR20fMOsiVFQhDmmek7BJMn3mscdFlN3wNKeO8IuHEdx9GoZbIaE1hECUod+PVtL0UKY1qzvAZy66Ep9fvm5ECp93/+Z6FyBfyUfW1JycPrYs1Z4Z4bWvxlF0GAauLp03ZZqwG9HjMGInbHohYaSxIFxSrFvX8L5dj+L5jtP4YM1SLPSYCJHGvn7ebMwszMd7H30KO1pbrY2UEXM2lyhQrkWIkuQvOP/DydpY01Hw5AEE6joRm19KBmQBysvL6MGxdmZHutJ66SGdFy7CnfNW4NrK2XCPYm6DBOSgErK3tt1O8Wauq6H0BbPjzShDbg+kKdJrUu8+DDPVLkI7zwfkIBl9/kGiwBjQCUPHD4++gn8/vhvXFBXjq7PnY22BisVFhbh+9gzsbG8nGmzaS78kgpL8onD3uW8Ua2Y92YFkw5ZhgbmH+vAE+Pc3wtx+HFdcvRY/vOuzCAYCyGoj8/cy6DgcwSOPLVGf62sUKyWoS9fR8Rybvuq+YA7Z6HZmyaa5ctHSNi+vZGp0TuX2DN0HYOpxO8TznAs+aqUkZpCcNAP9JttHEx1WPehMJ0WE2pMNdQjRLf5NfpEAVqHbJXZEs71b9BJKpDTKkRIBSNJ5AQWkCcxY/L6RaVWiGLomw2XKCMteIpk07S51Qm61i/6VuCvJNtnm5GEr+tIMDmdzzFLjiWWuXO3PH9W7x3sL20y1wYifsD5bOnescop0aRX9fz068CItZrqtXfVsFutKq/H/Fl+FF1tO4FC8k8CTwTtLCug2K6Ji6IGubtF9Ci7b724qeLPagiI5g07TdV7rmyPo0p1HrI0XxTOieyrBCjzSHQ2SH/lcccB+iVpqEznTSTCHesDMd8YxS41vWqnXL7jZyMf4a3IzQ0t/su28bcz4zFiD+uj6/kJqxK/NKtQJf31GaPcaXwhriueQ8CJHBk6qnm5Gu3jn7xpO47FUN9neHHhkbVeHCMR3uE8jPexYNhk6USFOsVJCk6HN8sjninMDK9xVtEKpTia6ckJJXs+RHC2pY5Llu65sJvzK1GgHbGaiMLIxwoo6rOlL0lK5UurC3XKdCLzPkm6WiU683NmAf9jzJP5Ytx0HyAjkojC7OzvwpYP78PG9u3BaNaBUkqb2uthCw0fcxzFfiiNlKsOCBdsfZjZFh01iKo9CVxn8coDsBMeyT1gL5feA2dkKn6SlqgIFtLqO5qkb/4wSruUhBOdvr2NpZxm8FfFp6RjeJ9VBbJ3IHhyItuEr+57Fra/8Hj84sQPwhfGr0yfwrf070ZhO0ask6EE/UF6KW331+IR6BAlTHsEVS8ItJgzIYdgtub+7ozsaA9lP/7LQnbSpCntUkbM9COhOcqGU0VXAH3+aoRKH9bklGMRrJcUY1iQxC2WvxreVvSg00vixOQtJmiS4MtCyaexJtGNTRx2OcvqTzwWJjL+s7IZqZvEx7MNnfbsRMjKIkZYf9vol6WRHGvC4zu8GCPpUyPRZEj2kAjC6BlUmW8brZJzM6ObKI7nJWPaSGWE4Od1FfQ1ARwcnrsoOA5N9nYZh5df16kkn/NiuMAwlH7reOqJuDAkyM4qIG39Leh2rzQjulWrwvJmPjOrDzq4WvPeVp9AqDD4/vLyJlDyN2xMHcWPqhNjxi8A9Io+2aRAsFd9Zxl8spSGSSFvKQ7JiyBs6kzDoPMiupGujX2ZlojMqTrfF4PV56VqtJT5LgPJ7XCgIeMTO3PgwbRku2eV0TmBBD5gd36bjfDGnbw4f75+ePojnD5xGiDscZdKQWBgwPaU3hf9WHv4TT0afmY1D714GU5t53t2/waaGg+zdBNYsvGSJeEnbqsiQlj9F4iYNlE/nFDBoUdWD+LOxCI9hKVKc7zfSyTQ58MgH75E/02l77fVBQnciSWDO9N5vBnUyo6EtfzmMsOW94Mqr2zr9eNfX/xeKooifeURiSXzpzo1494Yl47YmSqIsjmL3GXdsBNReM9lZHYqLCsoc18x8tJoCH148GUEqzcsmRPVNKZ0GUgnIqSQkjcHds20sWYG353qoTAvQUNiNWDBq5sjuOQ9dtyIYNGdlq32yHEyk6ee9KMd2SbETWkevlcy6k+gbF2KaZ7vIJFpifF6/ZRqZliKIZHS0HGm0HgJRcleHy6Witiw8rk2R+Nzcks9pzexWnSaq4r4SgPI8/pzciHdfXIvfv9aIh/c2wONW6IHxn1moSdswkKVMigCeFACXUgRuLjUrLGfJjoiT+ly2DQTJGcta772Z5gDAW5/jgQOZFnL/hppDroCiKf2ZJ47ZRg9n5vekMwmsXVyL+ZWFGM/hklwIq/lTAMxCDSg5M+TcpI4/dPksvHi0FYlM9kxEpWRrYeKTppeEuKt4sgjIgoqkWXMnSB2lLFrCbc94mZMkjIfRKTnpS5DGPmWmiHzTsX7ZTOQFfRj/4fg996i5OnIux/WLy3H1/BI8TBqaN9ekgb4osw9wVFr0XS5kfUExgTKBW9YzBGwCNWvuDFGTTEZodXZ5GaKnNbE62XYaDdB6oheLYaXcS/SaoZZnpqSm/bDwawZ7mSjnbPfRluzPHPxYVjKpJI4zuDPLOiW6BtM6zvmiPrWsjkDAi3VLagkFyrgDWXK+6mlvbIbjzt1cWsZ85P+zfg6efb0FiaxBlrF0Tt6jk8We51VREnIjknahNU6X7bMzJEhDy1oGejIBbzaFalJSrLmb2qLQtOzAQrXiusoKAgj63WjtiiNKhtdAQDM+fR4FZYVhpDXiqR0xUXmgL1h77NXKogCBSUVzZwIJsgOUAdei6ybyQx4UhX3oiqXQEU2ddW8Z7F6iXGVFIWTp9c1tcRFzPNQU8PvjyTSWz6vC/KqiCVBHptMUQzyfjoNZ6A3iaslsJqe34+p5pXgLaegHdp4iMA/tgdBocvN8CtbNDiOfAJ0mVG0+EcXp7nTvQ6BxdJ/HhyU1Qcwt9pLm1nHgZDv2HGkW3FsisLOhqZM2qy0J4tLFlcKd1UQg3bK/gQBNILT37ln7K0R3Vswvw6zyfGQIzK8daxHHgyGhp70JP2Dzqguwcn45cVkJ9W18rHrSmEYvoFl7FoR8WLukiqiAF4mUhs1769HSlaAVSeo9Dm9OLZ1Thrm8u0hTuZvO+2Bd+znrbur0OZctrEFpfmBCoKzD8fbEGdlxMFsRLTjU3ZLzm/KJK+ciTKDSh9ju4lPRSWsVBdwIkabM0NrvoYkvIw1t9NlF44n1yyZKfVbxFp2s7bLKYqC8CtmqWcjWzIZWMQNmaQUKq8rg4XQkAmlhng8hH9EYrh1h6L1UxUumCGvvNGl2lUh9eWEQbvrc/pUwJVQUBYVWZ19vMR0rz0/mYdbozepnrVyc50eIVoEMHctPn1VW5BfX1HvuvEFF96A0zyvcbfwwVZWExQM11DagRiuPi96zbukMBH3jnzzB5Qai2S6nIyo1uY8R7uSjh65MysnUmEHHmplFuGV5FeLp7JBLKmu5jriG7pQuvmda0hLtTw3YxZfk38cylsOLQNBEy77OXFq4AVxAMA/ZojK0eAsR8+XBVVyCVimAiCcPJv3N5DICXOuCjpBOpdHSFoEqWcBppWPx8t+PE9NnNHfERS4dn0p7NIloMkPnIvVunSt0Yh3RBLoTaQHOeCqLtu4k+kYJcJYz+5RbuhNC4/H5N3fGev3Igykb1vAzKwqwdMbEdLlibp81M07z5kzP+px2+oS5IxMbN7n2X35ywzz87rV60oLEnZX+3ltR44J+100geKUuglLSyN1JHQ3dGfS1eYR2JG23tymOrqT1XNd1WY3NJdOClsSJpfT96U5DACXP50JDBOgMl0EOFUPXrA0c9pakU0nsPB1FezxL36dwujkCyTBEDlwPohicRxu6RCqS16WioT2GVIY0uXpmgl2KLDjy9tebUEIauiuWRnN7vF/MC9MNpib7jrWhm/7OG3unWrphmkPZLZKwBS6eW4kZZfkTA2bwBlNW+JsdHNEeMHc7baElslouSP5ZY3llHu5YVYMfPXuUDCXXoCsra7uWGBl1MY1AKdGSL521xDF/TmQMHGiO2++RzzLGGPT8gJ5o5+TUpOC6DCzu82d6AzB9Abs3nI4uAnFHkow1YnLukApV5x1Li3sLoxNW86mjpzqtXXk6BrsdB56+ShPe3JFAI4FYsl2TOOuBZa2tYf/xdnEsPidlEKOYf8NNgxR6ktcsqkVB0DshYGa6xU0vHc6zbe8Bc7PT/oYU8UjLzZX7m/OxK+bg/h2nEU1r8LmUQQHtEVpbGjIWwrRBr8rSOeMleAK8Nuh6A8wFhzXOrOMM8oAfCARs3mqINCWxMyk2dFLiq0ya3KNZ4BbVi2234EAE9gD4nOdOABZuSmnoiDn+I++clheGcdHc8glzraaMFJJGytrSdu6wnT1grnMWyzKOx9pERu9Yc8aGMxaVhfG+y2bgO08cEGAe1HonwGmGRXtcQ2QNMDA5NY5rKrPBNtRzmOEuaAa7BGWcFeVq0xK2B3n556XeRWCUXG6LV/sDlkomI8ggcGsp3opPwp1OQE1E6bOVQc9daFRZHjKslj+WvR98DVyjYyh2x1vYi4grL6gumTAwJ8w4gTlpNy5yDM7tPXfG0c6KElnwm1rqkNAz43JzGKAfuGwWKouCiKXONgaZDzO3rCKLP8+n9vMGnFn6TLHhUEJUpSLksdOMzgYMvzfkVjAj3wMPWXiDH8vSohVhD0qCquVl4C11IbqopMku/ozLi3BJEcrm1MKsrIXmD1m7k33PXWdwKqgqDgnfdlY3B91U4VFaEBBeFFNcyyDLOxubtLRcsqAK5QWBCQEyP2ytmQYkjLhIoXLK+GOq3NcATMChCqCs07rTSRjm6C53NNxkUWkI718zE998ZC/x1zPb6cJ1RZrx0hkhFAddSJG23HYiita4JiiF+ETDYveLyv1YUOojniphHxmDr7ckuZ1f79mwNmYj8pKakPBdnyZDcnsdGW6a3uupMO0YiKUVQcwr8Qq/9msNcRxtS5Imt40yeyOnJs+Di2uCgvPWFfqwiyiHThREZjpCAGY3nd/rIvCVoyjfj0Qyg637G0SEXI9hLR5COsNFtUWYX1soHmT2Mx9v7Ba9CHsebP6a5NIDYT9WzatyyDAf+Vxxdkmj1iB4syzydBzRzK0M5h7N3EXS6JyvWUJUy+BkrH101uMoBm9a3L6qFrPL8xBNZnvbVGtZUwCwjDQuG2xh0qqVpFX7+qY5Jc9Pv6/JdwvgM8hrCjz9PB7CM0O/ryQAFgZcohxtBR03nzR934fWFMeSMYPez4AJ0nGr6T3Me/UBO+4zC70IuGThGqwKKggX5iGVX2rFPTEtIjCXFQZI4/rFufPGSWVJiEB+5kAM+KDPhWp6mDlonynNjLI8m470Bwr7vWdVFGL5bKdyl0c+V1z8pT3b4rRzgDsaxXrAzCb8EQedGTA0A4e62ywjcJzGovKQ4M4mTXDP5wqNRD9zC+uefiPxTP90HateikFa27Q9CxCejb6uWhG0SX9OaYZY1lnLck3mdHZAtoTE1TFN+kxd8Gk+C14NeANEHqDTElxGU7I8Kxl6DW99o6AIBpcmIA3G55VMZ3t91EwfkgN86vx75sq8OljXIovX6Hp/ranb3GfFnArMG+couYEbJi2ZRicpBg+uq6v33c7ucvrEY1pqXG8Ua69bL6oSW9z76ruRF3ALjdgaywi/b2W+F50JDSfbU/3iOVgTMwD3EB1IZqwduIMtCaFJ5T7LNI/jnSkRqVfsd+E4HaczqYnP7ftgMMB3nI5hfqmfgKXjUJtVZ66vu4zfc4A+g58X1uR8rBjRCJfbBaOoTARBuZNJsbGy+0iL2C1s707iVHOkny+aNTD7p/cea0EqXSio0KGTHVZQVZ/PExrc68bqBdXjllEy2NCI0bYZbUTlHHUMnOoLZrY6nO2mKCt4vOEAPjh/DTzK+BUcWVKRh/dcMgNfrn9NbBOzB4CX+2OdaRzvSPe64AbOJ/+OgbmtTrN47yCRZwxApi37GhK9gULqIM5S/ry2OGmgo93iwWBNr57ls2bQm/SQxXp/FtSADETT7YVRXAal4RQUQ8exxi7iwF3ivIRfe+C58+ZKJIWt3fW9sSF9gSyScEl7zywvIL48sVVZu7Q2xPQIFJHC4NiqfQh9trO5ip2jJWbYiNre1oiIlh73G3brimpcRMZQvA93Zk3MHg12yw259S1ZfmZ+zVAOfQt01mvUc3j92QgUr1GGDhPlt7vtY/Xb5CAAG6FCGAVFAoouxXLJCRffObbtrdcoZ0fx2V4EdsktnqAtbHFZdA6HU68jmo2IAH0Hx0E+vDyAdzhWmpGXsqZYHPu7mkbx7rE9sfNLgmQM1gijMGMH7gzP0jZFlB2LeY4zY1cf82X9HO4a0cZEt3zbQ6b997xGN/vbFnaMs1FUDjMQgq5pghfzSnPOc6fXsNE48PPYR+0ibrRqfhV8bqe46sjniD0ZR9MHnK4/GO3ZJ5EHWISnHfU3079tbSdH9c6xjneurMaKmgLBWYd3o60HsDCgosCvWngaBHxs/LGHojTkEpp5ELevFRdBd7Y44ELYowjPyaB+X5KwTxGfKfXxF/doZ1N1IVNoRekVh70iGm9Qv7Zh7W0Whn3IC3osP3M/MBsoDPlFipSTszvSkTLiOJo6Qqu2o1qZASbcZn3JbMz2aMxy8nIfqtuPzy+9ZtyXtJmFAbybtPNr9V3C18uhn+Y5gMwAmFvsx8JSn3gd+4ZPdaX7aRHWfkUEvJXVQREbfYyMtr1NSeEJ6csS+D0LyfibX+JDjB4mPlZTJCNWip6XsROkIuzCCjqWi95wpD2Jg82Wb77nWNlMBr68MC6qXoAyJNARTWPn4RYRJdfXz8xjTlU+Fs4oEpp5N72mqTPWa+ixV2ZmZQEumT+xfLkxcwqt2RYCnaNlBrhDa2qgZmb3nLNdB+lmHu3uQEzLTMjNu5MMwYuqC8ja189565g2+NyyCMznHULeEOENFFU+o50NO3OjtsArdhKZx7K3otCv9tOoDBz2TvDmi89lxU7PL/ELIPfVqtbDQxqXPi/oVQT48+lzs8aZeGamHxVBGTUzy+EJhzGjNCQyqQf6mf0+F+ZWFSDkc5N29gpQs+Er8vwMa0t91dxKES89keNI+nXSzknhPnRwvGpjtx+YGXGvOYplks5UCi+3HJuQm1dOE8sRdbyZkDkH3+wJhGeXmjDwOHNZG8A9JcvPm9IsfstGG4NtsO1lBi2/ThWeFIjP5mPJ/Q8nduSsPFwrBJWPJaFPKTD7PHi3UAnnwyAQZIg/S309FfQa/nva3oVkjc2ei57yA/yg8S7iuqUzMdHjcGq/85l/Fmb1gTRDfJ5NqEOOWbB0U+87+ireXLVwQm7g+y+bKfzO2+o64ZYHLw7D3DdNQHqtMY6EZoHzUGt/P7MI2SSgnOhMCiAX+BWc7EyjI9E/b48/IqmZwq/Nmp6Pd7gtJe5DX+8Hg45phWj6oyo40ZEWdS36BhKxp6M5qmHnqQjK83zo6pJxqiWKvlGg7HPmlWfPsRYRdM+P7KGT7egJwOPPrSgKiaySiRytWqNozOOSHeXLTTZnxmBg5lynvbB6EjsG5hcaTqArk0S+ezQp7WOr11zgd+Ou1TOJO3cjy4DqzW42+2lJ/l1bLIPORFb8IBJQB/Ez8w7gHgI9AyqrDyjD0ed4jcSRW2NWMUY2AJVB/MxxOtau03HxPWtmRe4fZS12LOkAR1qTONmR4nB2KKECuDpbrOwX+87w57V1JdAZSVmfZx+LtTM/kMvnVKDCkcCi0c/F9sRmtGmt8DjbCH5Hj/E3kGbA/sNLDtNmdKVTeLhuzxjIytiMBd7ivrimQFj13KQmqbgRdQcQcYdIgpZ4Qki7/aKFMC/NyhDdxnoML6YYgwG554x5yeeHxzCth0AawhfdA3ZZlob4POszxeexui0uRzpUiJjkQkT1Com6fIi7/IhIHqTMM4H5PXHOXBtjIoFsmFnsim11mivz2NwXzAM1M+9wbHHaPcdZJ788sh3vnHkxLanqKAE9+uF3q/jQ+nnY0boXZiaNBV3HML/zJMpjrQhkSeNJKtp8eTieX4PDhTPp+0IoRhaeIUJYLRCfOx1TsjX5+R5DWcI5s6h7Po+BkFI5eMlErVfGwvr9qE53IKynBKXoJkDXewpxOFBGXwtEGW8XXRtnd1+xbIYjMznacSJzGCfTx52Ox2BGtQ19InUHQxa7506wd8s5qkEH7erEMQLPkvwKTMR4++wg9rVtwtytj2Fh9DQCWlLk5VmpGVZAvi6raA4U4+WqlXh47kYcLqiFi0CtGnp/f7StobmlwlCgNu3CLj1Ua7BdQMM2ClkrsxE3eBEY7rLqEtva6+u346bDz2Jp2yHkp6N2nobZ+zoOn+omDf1aqAZ/LF6Jzb4qzJ9dhUU1ExeIz2NbdBOiRsRp/zIv9cf72T6DvKjOphqOgZknsj0Vx4PHd2PJytGA2Ry1duAq/l1bNqH+n/8Bt2/fbHkECBwpohpQztY9ZfE23LHvj3jLsRdx/+Ib8cDC65AgrefJpgUdCLgVLK0IoMjnwrH2BI60JUU4aP/EaxM1+R4sLA8gls4Sx06gK5ntF9zEAA95VCyv9MPrUnCYDM6TZAT25dYmd69SfZgRqceHd96Pa+q2wm1oRJO80OjBG2zdCJI2vqZ9H67oOIQ/heaj9JYvO+BBGP39T+sJ7E3sstdoR7f+mEHU98PZIC/qsrmI6SSYE1oGf6x7Hd2Z0bQwGF09OJM+s+nX92D/Xe9Cx4vPCWDwUm0Mwd34ghkk3cSf/QSKj2//T3zl5R+hMNVF7/WKBJHZhV4RdJ/nJ1BXBlEYcPeLjWZty6lby+lvRX5VxCwvLrP6u/Svd8HpXj7U0t+LAi5cRK8Pe1WxvW1luUiC169q3oPv/PlbuOHYc3RuCvFjP60gQ28Acc2PGIOd7vnb21/Dhvu/idiOVx2gGKMD4o7EVjRqp53qXdJ7mSSbYCWUnBPMPF6B01vbNBFHulrxy8OOxjOdUyM3/vqXOPKFz0KPdEHJLzh7PoYqX8W5gATqqDeMq4+8iI8//X2E0jGkSUNLFifpCZ+wpnlAfYOeWow92JVtzjvQlpBkCWdyfiXL5cZb0fSLmDeESxr34msvfA9zOk+hi87FlAbJSxzCAOXXprwBtL3yKjZ/4L3o2LVj3OmFZmawOfocGaUpp42/g7YnA8MB8+tOezXYJRZJJfC/x/YIN93Ylrvzj87nnsaJb/y9MPiUULh/yrJVQQwGnYbOkjY5v/QsTwNrydfTLizYtwXv3XSPqDJ6LKLjVGdKBNYzxWA/syz3N9biGUP4kHkruymiiW1v3vLuG/cs0RNwmF7DBWm6kxodK0HHyoLjgGLuIGq6T+Pz236B6lgLrRSB/g+M7eDhzsi0ikNPmTC0/sEkkv1EdZKWPvraQWz55MeRbmnO6T0fOHbHt+FAao9NMBylGKyVjw4XzBEbzI6WNpeIq+7vaMR/HxutlhjeDdHaWnH6+/+CdGMTlLz8syqE6nELCK6wBG+FDE+hLPhzNmFlVVvB+gaaownENB0pt4w1e57G+kPPoxlBUavuz0e78VpTgrSPLGpe9PjpxO4caaFDbSnxmpdORNAQ5eIuiqWi7dcptFK1EXhfPB7FCyT7CNgia8TlhUKG5V37HsbS1kOIuAJ2F78+hmOKQWyCi+d7yiR4Sugc6Pssgzpjuw/pmlviKXSmMvD4VNS/uBn7/vWfx82LkSFtvCn6LKJ6xOlA/LSNzbMyP871KS/A2hFc4Jh2pknvTsbxm+N7ccfslch3+8egoYe+yW2PPITOF5+HK//sVi2syXyVEvLXKAjMYWVrwOhUke6U0XUgi9hhHckUATmZFulVYqtZdsGXTmPjzj9hx6zLEJXdcCWSop3CYA3c2X3GeIqmdCuWWhnMV25ljPN2NSlmYRyKNCni9Zc07MLGEy9Do4dfFyW/zH5AVui25V+qIrxEhitIS0oXGbXdbkSPkbG7Rxeg7sjy7qSV+CoJd2gWRx54ELPvuBP5F63MqV+Zx34y+vYld4lyAg5r5X0kLw6Kr3O86QDJs06CWUw0GWCvtpzE7+v24ANzL3Oep5FWbn/sYaIXGqSCAvQm8kkWrQgulFB9O4Gzin4wE/SfH4acgL+EALIgH02bFex6pEtoZJd6psJ+loBb3XIEK/Y8hRdrLoU/2S28DeY59JlrGAt13wngDRuv0oqrDj+HsmQnuuhh7wdkXk3yrfMPX5QloLaTkeuF6aLVJRxBeG4ewrO92PlgF9q4BJmrT2oYGZeRk6dx4ne/w4phgXn0I0NP3KbIs+jSO0WbNIfHn23X8YjAzBbjUyS3YbTNPgYZHM0VTSZxz6FX8abKBaNsSTz0k548eghRMnZkv/cMveBVl4DgLpZQc6cL3soUccwiuGd9mvj0EuhdndAP/o5U+hZUXeVHfZMb8ZeT/ZRTlrSbl7j+ouM78EpwJoGIaIHhHAtjvsfuwjItiuVEL5iqGOijle2GBBW3qii4JAvuaylVfhDu0ithJulhO/YMjOMPo3CxhpprPWh7UOuNz+D3ynT+WiqLli2boXV10ENROOp7fL6xN7EDu5KviFBPh7Uyk/7Hh6MYBhtPwopKuspRY9DlwZbTR/E/R3fi88uudvSxTR4/Dq21lcDs78eVWasVXUmaryJLQC6Bf82P4Cq/qre7VHzOdeh+8osItTyKRRu8aDmYQarL6G3aato9sktirdA6O5HgW2ek4Wj9MQKrL9WOqkyUKIbSD1fcLju8TEbBKhNanK5j0f+FZ8HdkFwWlZLmX4f2l2bD89oPMGe1C/W7XWg+kDnjt7a35yMn6oiOHEXhxbnJ0O7MtuHx7t8LrRyUQ04fnn2ML48WzByw/xDJpSSONb5gS1sjXfS9/S9hZXEVrq2YP0aHfk8xFwOp+lOEMZrEcLiPm44uNCQhvFghzpmCe97tcFVsPPMAcI0PpRzmkg/A3b4beUWNKKwlQHAl0D5VYNLEbatI4X9s42JkSyqhpmMwHfSfat4Aava9BN/JJFLc869P9WyJFoG8ZVykMQulYC08iz5OmtoK2uGM7Pq0gu75d6LsNL0/sQ3lC90E5v5ZcGynptvbkSDDOFfFBrZEn8Me4spe2fE+KeyU+B1P12jBzOM+kveQrHJUO6sEls4O3Hd4Oy4pqhllRF0fPxUvyFzdPho5W1mSjaQSm1GYvpkK1OLL+gO5rQUJQ4U7PBNZXwWkRAMChXJ/ssuVTXXODvHjXTdfDPfsuVYvEid944Te6NNdOHq/Jkx2pU9wMy8g7kIIF5y7cHkfIOs43dmOjjjpHV8ptPx5MCKvIlTUpylVn+ZaBre8SOUmyfh4+hCe7H7YiveWHG9auZvkfzBM+2OowVFJD5IsIXGsBqoIxCFj8H7izm+tWoA75lw8xqNZ/eWE5W6e/Wejt3sa3WItagE5k8EJBjL7on1eSMk08eCM5b4bIrWXS3l5VFkEL+VipGVF7FBKAxo+ivxDrQeQEesZ1S0gt8ejUBTOW9QhCzJtisq5fL1necUkKSeVWRN6DE90PYRTmZMIKmGngcwT9l/n0srn8jMPHPfAwYpHZ5Y9ohukKb+++ym81Hx87A+IywVXUbFQaWYfvswTmu02kW5lS4gm+tRDFpC7YqSZNSguNww1CF/jVngSxLkzMroasv0nvmc3j0AvKnnmaMiBID1YPitYus8sMTCTp/hayDBsfRmZ6Emcjhtoi8cJyC4Y3gK4u16Hu22HoCcdp/T+CbKwOsUpPj9cIce5LHYltuLFyDNEL/xOb133uON+PRwjejij1VbxjndV4RT4A6Qdf35oK6IOVEDy1c6CEqTJ6pt3KFuauWsrGXSKF9mWp9Hxyt9BS7QKIDBeQ8f/iLzdP4DXFUPjEQnd9QOqidoPR6C2Fr6y3EX+cXsJd2kZGazpfmYBB5x179ChR1RImRPo3vxpxFt2ivNnMuxt24fCbd+En/4W6VLRtC/VL72q5xK8ZSUIVFc7es6n0kfxQPuvRNMdt+R2WisnbaobPy91HcFB/4PkAyRzHZ9A1Y379m/FioIKfHrJlWMqH+WbMxe+mhmIvX4ALo/tnmOFTN92b9fRNk9CyRUy8lt+Bn/0WVrWF0Jq7YCvfRdcLg0d7R7sf6Ib2ZRBGrtPlFs2K3qMFC1bRnxVzhmYPVXVCCxehtju3f28Mcx/080mGv5ooOo2D/yJ51FzYB+SvpX0lEpwN++Ay+iALvmx77EYupv0fucPu/xA3tx5CM5wLAEfMb2bgPxL1GunEZJDueiWcMSmGHBKM/f4+H6dM42kevHF7Y/jkfr9Yyq26J0xE/lXbICZyfYDA+8mc57ftp9HcOAPaSSjtNwmjiDc9Fv4mzfBoL81HFOx5VcRdJzUILv6c0td0+GrrETlxjchl0MN56Hgyqsh+32WdpakXg8Q78IceCyO7T+NE1iJimidCLU+gmDjo5AzEdLIPrz6v1Gc2JygB0/q11VZ534pLhUVG66G4nemFbRBuviJzj/g1fgW+OkhygGQ+YA/tz0ZcFIz8/gZyV+S1Do+i5JVaf6LrzwiNlJWFFaNjnMSJyx++zvQ+tCDyHR0EDjyhX+YK3E2JZKIJXTsvCeO0y+nUbLUDV/QDz0qoet0HI3708jEDLj9AxJfRUs0oHLDlShZsxa5HgXXvAnhVavRtekFyLS6iEQAw4q16CLLruOpDFr2aqi42I1gCS05KRmxlgwa90URacnC45XRL0iNHupsRkfJypWovfEmx85zZ2wL/tT9GxF7kYOUKB6v2xQDuQAz13DmaJUf5uLMuQ3Y3vY2fOu1Z/Af69+FoDo650l49VqU3fZe1P3bt6HQ5KdkBY2RJBl9OjweCQZpuNaDWbQc1PrZdy63DE9QPqv6kJbMIFhdiaWf/hzGY3iqalD5lx9FbM8uIBGHEQigJUZATmrWFntQQrxZx+uPJPqdP9fm8Abks7wXejINVVWx6MMfQnDmTEfOsT59DP/d9h/ImBl4JE+uWjF9DSNoHjWax4m580u5mkgG9AOH9+DvdzyB0YYfyh4Pqj72KRRecy26WjrR0Bmz6yVLvVu83hBNfEiGO2CJj75n1+3AWhnZVFos8Su+8AUUrbwY4zWK3/YOVP3lR5Cm1aSxNYLudLZfCKkr0P/8+XuX/+w0cdE3JWti7p23Y+5d73fk3Fq1Jvyi5fvEk+vI4MsZkP9I8sCI5n0UH8Iuh78FkJMyRVbTdBn/tmcTvrn7mdFrt8oqzPnWd6EvXo6uCFn2drOcfs4J80ypALNvOh2shuvZaJLAYGLF334RCz7yMYzn4Aey9jNfQPCdd6ItmoZB2rWfd2LA+fdLB7Q5tpHJIJ3MYtZNN+KSb3wTqgNcOaJ34v72X2B/ak8udvl6Bmvjv8MIm60qX/3qV/EPO0cMGi7uzFmSl+UK0JyKtKnpOPwuF9aWjm5pdJeUomjtOqROHkfbwUM0uaTdeLNjqGIXIh5ZFrtk6UQGbuLTq7/xD1j2uc/T+8a/tJXs86FgzeWid3fblq1Ipy2PitQTP32W3SH1Vl5KEy0xyahd9IH347J/+RcEiLqMdaT0OP6n7Rd4MfpnUf9CRs68Ov9I8r8jNrv4wt33fHE0HzgHVgTT3FxdkaZnCcwK/nXt2/DRBZeP3lHZ2IjD9/0S+3/yE3SfPGXtPnKsvKr0amtOs9I1UzjSeRu5+s1vwbLPfgZVG68V3bMmcmTjMdQ99BD2fv97aN76isiYYOoscy8Ku8Ubx6UYGcPqysaaZuliLPnEJzHrXbfBnT/2Tqy6qQkgP9b1B7FyOlxfue/YTvI2WFVpxw3MPJiE3ZvLiWRAh70efHfN2/CX8y4dvY8nm0X30aOof/wRnH7yCXTs3YtMZydpYU3sRCoeL3xV1Si7fD1qb7oJpZdeCm9pGSbTSNSfRuPzz+HUI4+i7dVtSDQ3CSoh/OhuN7zFRShcsQq111+Pyo0bydhzxp9s0mr/m7Zf4eGuByxDWcpp8/h3kPx+VA6xMYK5yPYD3pJTQBs6ArS8fvPSG/HJxevHNjGkgbVoFFqkG/GGRmSTCavVb2ERfKWlcAWDUAMBTOYhzj8WFdFvmUi3IPyucBj+8nKxVe3mnEeHKnpnjCR+13Ef/tT1e/HQuOScApnDJj6JYez25QLMPFbDCkTKaWW+LAGa9zG+tvo6fGbplXDLCqZHbkdU78aDbffimehjRGVySi14cNz87bDqLY/OxnDgJLgswZfhYAuJwYZK4OX26V/a9id8Y9dTiE1Ar5Q30ujMtuK+1h/jqcgjoplOjoEcs70X+8eEEYdO5n4STiz7FM6qE+SslwPE17726lNoSkbx4YVrsaqoehp5Dg+ucH9Pyw/wWnInvJInV7t7vYsuyT+RPDxmfDh4Qv9K8sx43GwOTPrZ3i3461f+hCcbXp9Gn0ODG+jsS+zAD5u/hZ2JbfDJvlwDGbax9yNHVm8HT4pdKX9PwjlQM3MOaJcbfz51FK91NOI7l96Ed8xcRkaiZxqRo/WUGDG8EHkCv+34L1HrIqzk5SJwaODg4oe8Zd3pxMGcMAAHjveT/AQOZqWc07LXdUiyiU8uXYcPLbgMSyeoyuhUHs1aPf5AIH4h8oyohuqVfOMBZObJd5I8dO+chx05YC7WkF+S/Pt4TQQH95umjO/tfgGf2fIwHq0/MB4TccEMLqH1k+Z/xlPdjxClUMYLyDy+DStZ2jknQY5O9B9IOIbzneMCaN6CJsPw6ZMHsaejCbfNvggfWbQGi/PKp9E6xGjVGvBc9+N4OvIoOvR2BJQwZFGlY1yA/FMbzJgKYO4g+TQJ76O+aTzuDns6ZJcXzbEovv/aC9jSchIfWngZbpu1AmGXdxq9vcPEpsjTeLL7jziQ2iviK3JQ3+JcgyPhmNcmpwqYewzCu2G57daMG+1QXSJTZVvDCeztbMEfTu7Fl1dcg0uKZpAGf2NvtBxJ7sfjkT9gZ2wromTweSRvLkoCnGtwXO8nnTL4xhPMPE7aBuFvYZUqGJchtLSb25ZpePTEQexrb8GlZVX43LINWF5QCZ/iekOBuDlzCs9Hn8LL0efRRMYe9xYJ2DXgxhHIXMD+w7DS7zAVwcyDHcEfJPkNybjucLAmNqHgZLQTpxPd2NJcj9Vllfjc0quwPL8KQZf7ggZxY6YOLxKIt8VeRlO2QYSGemRvLkM3hxr7bAzU5fJD1HG6GG5j/CFY5QoKxvMuWiVlVaF/TsW60ZiI4sWGk7i8vAafWXIVLimuQUC9sEBdnzmBFyNPYWt8E9q0ZiulirTxOGyADLU6M5AP5PqD1HG8KOZLd8GKsht3N4Nkez14YttTSTxy8jCeOX0M8/IL8Z65K7GxYj5mh4qmpLFo0D+ObjuUPICtseexI7FNBAmxBlYk1elKnCMZh20gbx2XOc7Bpsn5xlW2a2bBRIPAtP/PhX+8qoyrKmfhA/MuxZVlsxEgChJQ3GOq4ZFrAKeNlIijYF/xjvgW0WtP40IssnsiqMTAwRU77753zsO7xusD1Qm4yOdhhfoxoFdP5N3uaYzDmSXcAfWJuqN47MQhVIaCWFs6AzfWLMYs0tbzwsUIuTwkE6u1M0YaSTOBDq0Fh9MHsCO2GYdTBxEzYjSRqog19k7IlJ41uCD4R23NPH7zOQGauWdwDAdve18z6bQe95zmQuJc04s09rKiMlxaUoury+ehOpCHEl8QfsWFUvrqlglGOeCipmmQjtUQ12NEGbpI6x7F8dQRHCHwNmin0WV0Cu3LO3bMhyfRrucfSD4Ou0efU1vVkx3MPDjL8vskN09WPspZ25wYIDr3cAtivw8FHh+q/CGsL5uFPFcAZQTqBfnFBGpFlErgkgZeRRGBT6zRGfBFnsAgx+bqbARZUxOUIWZEkTDi6Nba0aw1ioLddQTi01odOrLtyJpZAVyuU6FKbruY76QBMZ/Ir0g+iz5+5PEE80SvSZzlfbd98e8DJp7onfW0S1b8h8iAhVvUoGjS4miKxLC9vs5CO//ZbfFUj0LLvaqQIelGiTeAcm8IPtWLlcUlWFfth650Iqkn6QHRRH88liiBOJLtQgsBOEKGW9xIEHAz0EUjCEVwYE7rV+xQcdOuKzCJIlC4ueSPSb6CHOzsTRUw82gj+ZjtuuGSQWWYxIMLsYiG5vzY2U3tGVRcqy7LzTD1rCixT5DFSbPLahBESv1BfxLXphtQWtiFlG6r/J6K/3ZzNO4tzaWuuJKmV/b2659n2v8m4eBaxN+AVRxoQoc6SW4I50Bx4AnngXF866WYQkOULpCHbsmrGzLCHgit7ZP9cJlq7zulAd+Zff6PyaZ/zx5Pw4phf3kynMxkW9Z7fNH34QIbkvCaqL198Qb2LD2jeadM+OoPYPmQX54sJyRPwpvE29+ftClHBNNjsg0unsmVYP8GOd6evhDAzINrjf2b7eXYNY2fiUaJ2dPtnpucco2UeyfS0JtqYOZh9Ll5n50G9URwI9MyAxLqZmjKh+h77jq2ddI+c1Pglp6A5Yt+K6z6HG3TKBsnbQzpoNkQ+KDZ5LuJfr7XphiYBvPYBjuzOA72WyTXwupxkZhGXE4sVUZFOzo83zdPB94mSQRiQ2q3V0pMg9lZ6sHNDblR0EftJW86e9VJpZFS/oxm3x2IuD9FwD48le6vPEVvOpcC+0/bQGQ3Xss0Dsc8GmBKPzTbvO8gED85FS9AneIT0AQrLetaW1tzeGnVNC5HNHgHj/37vwDXRpam7oWoF8iEPG3L1bA2XfjrjGmcnnMcJGENzMFBOy6EC1IvsAl61hbW0O8m2Ugybxq3/cYuG8T/bdsfF8xQL9AJe94W7rnyJhvcXKX8jVpAg70R3CHsGVv2X4gXqV7gk7jVlntsYL+FZB3J0jcAgNkLsY1kk82JuY5254V8wSreGIML0nDp1Edt2rHcpiAbSGZfgDTiOVipS8yLj+AN4r58o4C5Z3Co6V5buGkiZ7ossLU1yyVT8J502lqXacQW2ztxyr7WN9R4o4G574ja3JGFW8AVwqorzbmJ3CCbOwEsJvFPsvNmd+QBmz7tsr9vtnlx9o1s2b6Rwdx3cARYvS3MMR+wQcwVmKpsYC8jqbUBPh6VBtM2PWJNy2GxnLhw2P65C1ZHpunGLtNgPu+I29JKstPW3Fygjksfcbu4oA1srp/HnWo5W7USVspXkf0gcMJeT/oJ77RyfEnGFs0GYsSmCd32V/68E7CqADXbv4vbGpffY0xPzdDj/wswAD0cyCReGoHGAAAAAElFTkSuQmCC"}},"time_used":4964,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4964,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/fonts/fontawesome-webfont3e6e3e6e3e6e3e6e.woff2","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.334Z","timestamp":1785136427334,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/fonts/fontawesome-webfont3e6e3e6e3e6e3e6e.woff2 HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/font-awesome.min.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.412Z","timestamp":1785136429412,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5355.2ea3c48a319ee0ff5b78.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-2d9a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d68e552ccea0ba3641e2e5804aa0ec47\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":11674,"size_decoded":5249,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"2f4dd7b3db38bcef031ce7e36c367340","sha1":"ba2336e05b407794de4dbb6a0e18264c84b3dd51","sha256":"189cf3f450f313efd6f7415f9a052d86c632ae8d97729c459900ef09bcf4f3d1","sha512":"54d54a86d025a62386536e78f7c145ea7bb17f681a93d55091bf41897ec295fd1bbee56de09aecad350c4ca9c7df4668ec0da1f0052fa86b161ea8e9bd958c33","ssdeep":"192:9cNibKfRXUfFYt6Vn3WQt9Oh+yxiJdljjRxU3zty6psROhf0qV+9TrS3ZfEI9n:9cNlfRXUfFBV3Xt9Oh+MiJdljjRxwtyK","tlshash":"83329682312a39aa59e5209424703947920c3c9a375f907cf3b8a9fe755cc5cb2b9b78","first_seen":"2026-07-24T11:36:47.84256Z","last_seen":"2026-07-28T06:17:53.455046Z","times_seen":81,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTM1NV0sezgyMTk5MSh0LGUsaSl7aS5kKGUse2JsZW5kQ29sb3JzOigpPT5vfSk7dmFyIGw9aSgxMzQ2Nyk7Y29uc3Qgbz0odCxlKT0+KDAsbC5yZ2JhVG9TdHJpbmcpKCgwLGwuYmxlbmRSZ2JhKSgoMCxsLnBhcnNlUmdiYSkodCksKDAsbC5wYXJzZVJnYmEpKGUpKSl9LDY4MjcyMCh0LGUsaSl7aS5kKGUse0xvbGxpcG9wVG9vbHRpcE1hbmFnZXI6KCk9PnN9KTt2YXIgbD1pKDE2NzUwMiksbz1pKDEzODYzOCk7Y2xhc3Mgc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2lzRGVzdHJveWVkPSExLHRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyPW51bGwsdGhpcy5fc2hvd1Rvb2x0aXBBYm9ydENvbnRyb2xsZXI9bnVsbCx0aGlzLl9hY3RpdmVMb2xsaXBvcD10LHRoaXMuX2NhcmRUeXBlPWUsdGhpcy5fYWN0aXZlTG9sbGlwb3Auc3Vic2NyaWJlKCh0PT57bnVsbD09PXQmJnRoaXMuX2Rlc3Ryb3lUb29sdGlwKCl9KSl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lUb29sdGlwKCksdGhpcy5fYWN0aXZlTG9sbGlwb3AucmVsZWFzZSgpLHRoaXMuX2lzRGVzdHJveWVkPSEwfXRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LGUsaSl7aWYodGhpcy5faXNDbGlja0luc2lkZVRvb2x0aXAoaSkpcmV0dXJuITE7aWYodm9pZCAwIT09aSl7Y29uc3Qgbz1lKHQsaSk7aWYobnVsbCE9PW8mJigwLGwuZGVmYXVsdCkobyx0aGlzLl9hY3RpdmVMb2xsaXBvcC52YWx1ZSgpKSlyZXR1cm4hMX1jb25zdCBvPSEhdGhpcy5fYWN0aXZlTG9sbGlwb3AudmFsdWUoKTtyZXR1cm4gdGhpcy5fYWN0aXZlTG9sbGlwb3Auc2V0VmFsdWUobnVsbCksb31hc3luYyBzaG93VG9vbHRpcCh0LGUsbCxzLG4pe2NvbnN0IGE9bmV3IEFib3J0Q29udHJvbGxlcjt0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj8uYWJvcnQoKSx0aGlzLl9zaG93VG9vbHRpcEFib3J0Q29udHJvbGxlcj1hO2NvbnN0IHI9YXdhaXQgbChhLnNpZ25hbCk7aWYobnVsbD09PXJ8fDA9PT1yLmxlbmd0aClyZXR1cm47Y29uc3R7c2hvd0xvbGxpcG9wVG9vbHRpcDpofT1hd2FpdCBQcm9taXNlLmFsbChbaS5lKDc3MjYzKSxpLmUoNjAwNjIpLGkuZSg0NjkwNyksaS5lKDEyMzg1KSxpLmUoODEwNzIpLGkuZSgyOTUzNiksaS5lKDUxODQpLGkuZSg1NjI1MiksaS5lKDE3MDg3KSxpLmUoMzI3NDgpLGkuZSg0MzY0NCksaS5lKDQ1MzY4KSxpLmUoMjAyNzEpLGkuZSg1MTg4MCksaS5lKDE4NDcyKSxpLmUoMjU4MDkpLGkuZSgxNzY5MyksaS5lKDUyOTIwKSxpLmUoODIyNzEpLGkuZSgzMTAwMSksaS5lKDY1NjEzKSxpLmUoNDgzMTIpLGkuZSgzMjM4NyksaS5lKDk3NjQ3KSxpLmUoNTc0ODUpLGkuZSg0MTY3MildKS50aGVuKGkuYmluZChpLDEzMDc1MikpLGQ9YXdhaXQgcygpO3RoaXMuX2lzRGVzdHJveWVkfHxhLnNpZ25hbC5hYm9ydGVkfHwoKDAsby5hc3NlcnQpKG51bGw9PT10aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlciwiTG9sbGlwb3AgdG9vbHRpcCByZW5kZXJlciBzaG91bGQgYmUgbnVsbCBiZWZvcmUgY3JlYXRpbmcgYSBuZXcgb25lIiksdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI9aCh7aXRlbXM6cixwb3NpdGlvbjplLGN1c3RvbUNsb3NlU3Vic2NyaXB0aW9uczpuLmN1c3RvbUNsb3NlU3Vic2NyaXB0aW9ucyxvbkNsb3NlOigpPT5uLm9uQ2xvc2UodCksb25DbGlja091dHNpZGU6ZT0+bi5vbkNsaWNrT3V0c2lkZSh0LGUpLG9uU2l6ZUNoYW5nZWQ6bi5vblNpemVDaGFuZ2VkLHNob3dTY3JvbGxGYWRlczohMCxjYXJkVHlwZTp0aGlzLl9jYXJkVHlwZSx0aGVtZTpkfSkpfV9pc0NsaWNrSW5zaWRlVG9vbHRpcCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2xvbGxpcG9wVG9vbHRpcFJlbmRlcmVyJiZ2b2lkIDAhPT10JiZ0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlci5pc0NsaWNrSW5zaWRlKHQpfV9kZXN0cm95VG9vbHRpcCgpe3RoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX3Nob3dUb29sdGlwQWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fbG9sbGlwb3BUb29sdGlwUmVuZGVyZXI/LmhpZGUoKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXBSZW5kZXJlcj1udWxsfX19LDE0Nzk5Mih0LGUsaSl7dmFyIGw7ZnVuY3Rpb24gbyh0LGUsaT0wKXtlLnNldFZhbHVlKHQudmFsdWUoKSk7Y29uc3QgbD17fTtyZXR1cm4gdC5zdWJzY3JpYmUobCwodD0+e2Uuc2V0VmFsdWUodC52YWx1ZSgpKX0pKSwxPT09aSYmZS5zdWJzY3JpYmUobCwoZT0+e3Quc2V0VmFsdWUoZS52YWx1ZSgpKX0pKSwoKT0+e3QudW5zdWJzY3JpYmVBbGwobCksMT09PWkmJmUudW5zdWJzY3JpYmVBbGwobCl9fWkuZChlLHtiaW5kUHJvcGVydGllczooKT0+b30pLGZ1bmN0aW9uKHQpe3RbdC5PbmVXYXlTcmNUb0RzdD0wXT0iT25lV2F5U3JjVG9Ec3QiLHRbdC5Ud29XYXlzPTFdPSJUd29XYXlzIn0obHx8KGw9e30pKX0sNDk0MDc5KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BQYW5lVmlldzooKT0+d30pLGZ1bmN0aW9uKHQpe3RbdC5TcGFjZUJldHdlZW5Sb3dzPTI1XT0iU3BhY2VCZXR3ZWVuUm93cyIsdFt0LlRvb2x0aXBUb3BNYXJnaW49MTVdPSJUb29sdGlwVG9wTWFyZ2luIix0W3QuU3BhY2VCZXR3ZWVuQ2FyZEFuZExvbGxpcG9wPThdPSJTcGFjZUJldHdlZW5DYXJkQW5kTG9sbGlwb3AifShsfHwobD17fSkpO3ZhciBvPWkoMTY3NTAyKSxzPWkoOTE4Nzc5KSxuPWkoMTM4NjM4KSxhPWkoNzM2NTMxKSxyPWkoNjAxODQxKSxoPWkoNDAyMDQ1KSxkPWkoNjYzNCkscD1pKDY4MjcyMCksYz1pKDc2MyksdT1pKDc4OTE5MCksXz1pKDYzNzEwNCkseT1pKDU0MDg0NSksYj1pKDgyMjcyNiksdj1pKDk3NjgxMyksQz1pKDkyNjE0OSk7Y2xhc3Mgd3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2ludmFsaWRhdGVkPSExLHRoaXMuX3JlbmRlcmVyPW5ldyB1LkNvbXBvc2l0ZVJlbmRlcmVyLHRoaXMuX3RleHRXaWR0aENhY2hlPW5ldyBiLlRleHRXaWR0aENhY2hlLAp0aGlzLl9zdHlsZXNDYWNoZT1udWxsLHRoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvPW5ldyBoLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZD10aGlzLl9yZWNyZWF0ZVN0eWxlcy5iaW5kKHRoaXMpLHRoaXMuX21vZGVsPXQsdGhpcy5fc291cmNlPWUsdGhpcy5fcmVjcmVhdGVTdHlsZXMoKSxDLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0LmJhY2tncm91bmRDb2xvcigpLnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0Lm1haW5TZXJpZXMoKS5vblN5bWJvbEludGVydmFsQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU3ltYm9sT3JJbnRlcnZhbENoYW5nZWQpLHRoaXMuX2xvbGxpcG9wVG9vbHRpcD1uZXcgcC5Mb2xsaXBvcFRvb2x0aXBNYW5hZ2VyKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3NvdXJjZS51cGRhdGVBbGxWaWV3c0FuZFJlcGFpbnQoKX0pKX1kZXN0cm95KCl7dGhpcy5fbW9kZWwuYmFja2dyb3VuZENvbG9yKCkudW5zdWJzY3JpYmUodGhpcy5fcmVjcmVhdGVTdHlsZXNCb3VuZCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksQy5DSEFSVF9GT05UX0ZBTUlMWV9XVi51bnN1YnNjcmliZSh0aGlzLl9yZWNyZWF0ZVN0eWxlc0JvdW5kKSx0aGlzLl9sb2xsaXBvcFRvb2x0aXAuZGVzdHJveSgpfXByb2Nlc3NDbGlja0luc2lkZSh0LGUsaSl7Y29uc3QgbD10aGlzLl9sb2xsaXBvcHNbaV07cmV0dXJuISghbHx8IWwudmlzaWJsZSkmJih0aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQsdGhpcy5fZ2V0TG9sbGlwb3BSZW5kZXJlckRhdGEobCksKDAscy5zaXplKSh7d2lkdGg6ZS5jbGllbnRXaWR0aCxoZWlnaHQ6ZS5jbGllbnRIZWlnaHR9KSx7cHJldmVudERlZmF1bHQ6KCk9Pnt9LHRhcmdldDplfSksITApfXByb2Nlc3NDbGlja091dHNpZGUodCxlKXtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnRyeVRvSGlkZVRvb2x0aXBCeUNsaWNrT3V0c2lkZSh0LHRoaXMuX2dldEFjdGl2ZUxvbGxpcG9wVG9vbHRpcEluZm8uYmluZCh0aGlzKSxlKX11cGRhdGUodCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9YWZ0ZXJVcGRhdGUodCxlLGksbCl7fWdldFN0eWxlKHQsZSl7bGV0IGk9ZTtpZih0LnN0YWNrJiYoaSs9Il9zdGFjazoiK3Quc3RhY2spLCJhY3RpdmUiPT09aSlyZXR1cm4gdGhpcy5fYWN0aXZlU3R5bGU7aWYoImhvdmVyZWQiPT09aSlyZXR1cm4gdGhpcy5faG92ZXJlZFN0eWxlO2lmKCJkZWZhdWx0Ij09PWkpcmV0dXJuIHRoaXMuX2RlZmF1bHRTdHlsZTtpZih0aGlzLl9zdHlsZXNDYWNoZXx8KHRoaXMuX3N0eWxlc0NhY2hlPXt9KSwhdGhpcy5fc3R5bGVzQ2FjaGVbaV0pe2NvbnN0IGw9KDAsci5jbG9uZSkoImFjdGl2ZSI9PT1lP3RoaXMuX2FjdGl2ZVN0eWxlOiJob3ZlcmVkIj09PWU/dGhpcy5faG92ZXJlZFN0eWxlOnRoaXMuX2RlZmF1bHRTdHlsZSk7dC5zdGFjayYmKGwubG9sbGlwb3AuaW5jSGVpZ2h0PTI1KnQuc3RhY2spLHRoaXMuX3N0eWxlc0NhY2hlW2ldPWx9cmV0dXJuIHRoaXMuX3N0eWxlc0NhY2hlW2ldfWhhc1Rvb2x0aXAodCl7cmV0dXJuITB9Y2xlYXJBY3RpdmVMb2xsaXBvcCgpe3RoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby5zZXRWYWx1ZShudWxsKX1hc3luYyBfc3BlY2lhbFRvb2x0aXBTdHlsZXModCl7fV9nZXRZKCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVzKCk7Zm9yKGxldCBpPWUubGVuZ3RoO2ktLTspe2NvbnN0IGw9ZVtpXTtsLmNvbnRhaW5zTWFpblNlcmllcygpJiYodCs9bC5oZWlnaHQoKSl9cmV0dXJuIHR9X3Nob3dCYXJMaW5lKHQpe3JldHVybiB0aGlzLmhhc1Rvb2x0aXAodCkmJih0LmhvdmVyZWR8fHRoaXMuX2lzTG9sbGlwb3BBY3RpdmUodCkpfV9nZXRMb2xsaXBvcFJlbmRlcmVyRGF0YSh0KXtjb25zdCBlPXRoaXMuX2dldExvbGxpcG9wU3RhdHVzKHQpLGk9dGhpcy5nZXRTdHlsZSh0LGUpO3JldHVybntpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleCxjZW50ZXJQb2ludDpuZXcgYS5Qb2ludCh0LmJhc2VQb2ludC54LHQuYmFzZVBvaW50LnktaS5sb2xsaXBvcC5ib3R0b20taS5sb2xsaXBvcC5oZWlnaHQvMi0oaS5sb2xsaXBvcC5pbmNIZWlnaHR8fDApKSxzdHlsZTppLHN0YXR1czplfX1fY3JlYXRlUmVuZGVyZXJzKHQpe2NvbnN0e21lZGlhU2l6ZTplfT10O2Zvcihjb25zdCBpIG9mIE9iamVjdC52YWx1ZXModGhpcy5fbG9sbGlwb3BzKSlpZih2b2lkIDAhPT1pJiZpLnZpc2libGUpe2NvbnN0IGw9dGhpcy5fZ2V0TG9sbGlwb3BTdGF0dXMoaSksbz10aGlzLmdldFN0eWxlKGksbCkscz17aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXgsY2VudGVyUG9pbnQ6bmV3IGEuUG9pbnQoaS5iYXNlUG9pbnQueCxpLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0LzItKG8ubG9sbGlwb3AuaW5jSGVpZ2h0fHwwKSksc3R5bGU6byxzdGF0dXM6bH0sbj17Y3Vyc29yVHlwZTp2LlBhbmVDdXJzb3JUeXBlLkRlZmF1bHQsYWN0aXZlSXRlbTp7aWQ6aS5pZCxpdGVtSW5kZXg6aS5pdGVtSW5kZXh9LGhpZGVDcm9zc2hhaXJMaW5lc09uSG92ZXI6ITAsY2xpY2tIYW5kbGVyOihpLGwpPT50aGlzLl9sb2xsaXBvcE1vdXNlQ2xpY2tIYW5kbGVyKHQscyxlLGkpLHRhcEhhbmRsZXI6KGksbCk9PnRoaXMuX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxzLGUsaSl9O2lmKHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9jcmVhdGVSZW5kZXJlckZvckxvbGxpcG9wKHMsbikpLHRoaXMuX3Nob3dCYXJMaW5lKGkpKXtjb25zdHtzdHJva2VTdHlsZTp0LGxpbmVTdHlsZTplLGxpbmVXaWR0aDpsfT1vLmJhckxpbmUscz17Y29sb3I6dCxsaW5lc3R5bGU6ZSxsaW5ld2lkdGg6bCwKeDppLmJhc2VQb2ludC54LHRvcDowLGJvdHRvbTppLmJhc2VQb2ludC55LW8ubG9sbGlwb3AuYm90dG9tLW8ubG9sbGlwb3AuaGVpZ2h0fSxuPW5ldyB5LlZlcnRpY2FsTGluZVJlbmRlcmVyO24uc2V0RGF0YShzKSx0aGlzLl9yZW5kZXJlci5pbnNlcnQobiwwKX19fV9yZWNyZWF0ZVN0eWxlcygpe3RoaXMuX3N0eWxlc0NhY2hlPW51bGx9X2NyZWF0ZVJlbmRlcmVyRm9yTG9sbGlwb3AodCxlKXtyZXR1cm4gbmV3IF8uTG9sbGlwb3BSZW5kZXJlcih0LG5ldyBjLkhpdFRlc3RSZXN1bHQoYy5IaXRUYXJnZXQuQ3VzdG9tLGUpLHRoaXMuX3RleHRXaWR0aENhY2hlKX1fb25TeW1ib2xPckludGVydmFsQ2hhbmdlZCgpe3RoaXMuX2xvbGxpcG9wcz17fSx0aGlzLl9sb2xsaXBvcHNDb3VudGVyPTAsdGhpcy5fcmVuZGVyZXIuY2xlYXIoKSx0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCl9YXN5bmMgX2xvbGxpcG9wTW91c2VDbGlja0hhbmRsZXIodCxlLGksbCl7bC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IHM9e2lkOmUuaWQsaXRlbUluZGV4OmUuaXRlbUluZGV4fTtpZigoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHMpKXJldHVybiB0aGlzLl9hY3RpdmVMb2xsaXBvcEluZm8uc2V0VmFsdWUobnVsbCksITE7dGhpcy5fYWN0aXZlTG9sbGlwb3BJbmZvLnNldFZhbHVlKHMpO2NvbnN0IHI9e3RhcmdldDpsLnRhcmdldCx0YXJnZXRTaXplOmkscG9pbnQ6bmV3IGEuUG9pbnQoZS5jZW50ZXJQb2ludC54LGUuY2VudGVyUG9pbnQueS1lLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLTgpLG1hcmdpblRvcDoxNX0saD0oMCxuLmVuc3VyZURlZmluZWQpKHRoaXMuX2xvbGxpcG9wc1tlLmlkXSksZD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKTtyZXR1cm4gdGhpcy5fbG9sbGlwb3BUb29sdGlwLnNob3dUb29sdGlwKHQsciwodD0+dGhpcy5fY3JlYXRlVG9vbHRpcENvbnRlbnQoaCx0KSksKCgpPT50aGlzLl9zcGVjaWFsVG9vbHRpcFN0eWxlcyhoKSkse29uQ2xvc2U6dGhpcy5wcm9jZXNzQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyksb25DbGlja091dHNpZGU6KHQsZSk9Pnt0aGlzLl9zb3VyY2Uub25DbGlja091dHNpZGU/Lih0LCgwLG4uZW5zdXJlRGVmaW5lZCkoZSkpfSxjdXN0b21DbG9zZVN1YnNjcmlwdGlvbnM6W2Qub25TY3JvbGwoKSxkLmJhclNwYWNpbmdDaGFuZ2VkKCksdGhpcy5fbW9kZWwubWFpblNlcmllcygpLm9uU3ltYm9sSW50ZXJ2YWxDaGFuZ2VkKCldLG9uU2l6ZUNoYW5nZWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3NvdXJjZSkpLm9uU2l6ZUNoYW5nZWQoKX0pLCEwfV9nZXRMb2xsaXBvcFN0YXR1cyh0KXtyZXR1cm4gdGhpcy5faXNMb2xsaXBvcEFjdGl2ZSh0KT8iYWN0aXZlIjp0LmhvdmVyZWQ/ImhvdmVyZWQiOiJkZWZhdWx0In1faXNMb2xsaXBvcEFjdGl2ZSh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpJiYoMCxvLmRlZmF1bHQpKHRoaXMuX2FjdGl2ZUxvbGxpcG9wSW5mby52YWx1ZSgpLHtpZDp0LmlkLGl0ZW1JbmRleDp0Lml0ZW1JbmRleH0pfV9nZXRBY3RpdmVMb2xsaXBvcFRvb2x0aXBJbmZvKHQsZSl7Y29uc3QgaT0oMCxkLmdldENsaWNrUG9zaXRpb24pKGUpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IGw9dGhpcy5yZW5kZXJlcih0KT8uaGl0VGVzdChuZXcgYS5Qb2ludChpLngsaS55KSx0KT8uZGF0YSgpPy5hY3RpdmVJdGVtPz9udWxsO3JldHVybiBudWxsPT09bD9udWxsOmx9fX0sNjM3MTA0KHQsZSxpKXt2YXIgbDtpLmQoZSx7TG9sbGlwb3BSZW5kZXJlcjooKT0+ZCxkcmF3TGFiZWw6KCk9PnB9KSxmdW5jdGlvbih0KXt0W3QuU2l6ZURlbHRhPTFdPSJTaXplRGVsdGEifShsfHwobD17fSkpO3ZhciBvPWkoNzY4MzA1KSxzPWkoNzM2NTMxKSxuPWkoMjYwNjkpLGE9aSg3ODY0MzYpLHI9aSgxNTEyMSksaD1pKDYwNDIxNCk7Y2xhc3MgZHtjb25zdHJ1Y3Rvcih0LGUsaSl7dGhpcy5fbWF0cml4PW5ldyBET01NYXRyaXhSZWFkT25seSx0aGlzLl9kYXRhPXQsdGhpcy5faGl0dGVzdD1lLHRoaXMuX3RleHRXaWR0aENhY2hlPWl9ZHJhdyh0LGUpe2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmx9PWUse2NlbnRlclBvaW50Om8sc3R5bGU6e2xvbGxpcG9wOm59fT10aGlzLl9kYXRhLGE9TWF0aC5yb3VuZChvLngqaSkscj1NYXRoLnJvdW5kKG8ueSpsKSxoPU1hdGgubWF4KDEsTWF0aC5mbG9vcihpKSklMi8yLGQ9TWF0aC5tYXgoMSxNYXRoLmZsb29yKGwpKSUyLzIscD1uZXcgcy5Qb2ludChhK2gsci1kKTt0aGlzLl9tYXRyaXg9KG5ldyBET01NYXRyaXhSZWFkT25seSkudHJhbnNsYXRlKGgsLWQpLnNjYWxlKGksbCkudHJhbnNsYXRlKC1uLndpZHRoLzIsLW4uaGVpZ2h0LzIpLnRyYW5zbGF0ZShvLngsby55KSx0aGlzLl9kcmF3TG9sbGlwb3AodCxwLGUpLHRoaXMuX2RyYXdMYWJlbCh0LHAsZSl9aGl0VGVzdCh0KXtjb25zdCBlPXRoaXMuX2hpdFRlc3RCb3goKTtyZXR1cm4oMCxvLnBvaW50SW5Cb3gpKHQsZSk/dGhpcy5faGl0dGVzdDpudWxsfV9oaXRUZXN0Qm94KCl7Y29uc3QgdD0oMCxoLmludGVyYWN0aW9uVG9sZXJhbmNlKSgpLmVzZCxlPXRoaXMuX2RhdGEuY2VudGVyUG9pbnQueS10aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLmhlaWdodC8yLXQsaT10aGlzLl9kYXRhLmNlbnRlclBvaW50LngtdGhpcy5fZGF0YS5zdHlsZS5sb2xsaXBvcC53aWR0aC8yLXQ7cmV0dXJuKDAscy5ib3gpKG5ldyBzLlBvaW50KGksZSksbmV3IHMuUG9pbnQoaSt0aGlzLl9kYXRhLnN0eWxlLmxvbGxpcG9wLndpZHRoKzIqdCxlK3RoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AuaGVpZ2h0KzIqdCkpfV9kcmF3TG9sbGlwb3AodCxlLGkpe2NvbnN0IGw9dGhpcy5fZGF0YS5zdHlsZSx7aG9yaXpvbnRhbFBpeGVsUmF0aW86b309aSxzPXRoaXMuX2ZpbGxSYWRpdXMobykKO2wubG9sbGlwb3AuZmlsbENpcmNsZSYmbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3ImJnRoaXMuX2RyYXdGaWxsZWRDaXJjbGUodCxlLHMsbC5sb2xsaXBvcC5iYWNrZ3JvdW5kQ29sb3IpO2NvbnN0IG49TWF0aC5yb3VuZChsLmxvbGxpcG9wLmxpbmVXaWR0aCpvKSxhPXMtTWF0aC5yb3VuZCgxKm8rbi8yKTtsLmxvbGxpcG9wLmZpbGxDaXJjbGUmJmwubG9sbGlwb3AuZmlsbFN0eWxlJiZ0aGlzLl9kcmF3RmlsbGVkQ2lyY2xlKHQsZSxhLGwubG9sbGlwb3AuZmlsbFN0eWxlKSx0aGlzLl9kcmF3Qm9yZGVyTGluZSh0LGUsbixhKX1fZHJhd0xhYmVsKHQsZSxpKXtjb25zdCBsPXRoaXMuX2RhdGEuc3R5bGUubG9sbGlwb3AudGV4dCxvPWwubGFiZWw7aWYoIiI9PT1vKXJldHVybjtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzpzLHZlcnRpY2FsUGl4ZWxSYXRpbzpufT1pO3QudGV4dEFsaWduPSJjZW50ZXIiLHQudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHQuZmlsbFN0eWxlPWwuc3Ryb2tlU3R5bGUsdC5mb250PWwuZm9udDtjb25zdCBhPXRoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsbyk7dC50cmFuc2xhdGUoZS54LGUueSthKm4pLCgwLHIuZHJhd1NjYWxlZCkodCxzLG4sKCgpPT57dC5maWxsVGV4dChvLDAsMCl9KSl9X2ZpbGxSYWRpdXModCl7Y29uc3QgZT10aGlzLl9kYXRhLnN0eWxlLGk9TWF0aC5tYXgoMSxNYXRoLmZsb29yKHQpKTtsZXQgbD1NYXRoLnJvdW5kKGUubG9sbGlwb3Aud2lkdGgqdCk7cmV0dXJuIGwlMiE9aSUyJiYobCs9MSksbC8yfV9kcmF3Qm9yZGVyTGluZSh0LGUsaSxsKXtjb25zdCBvPXRoaXMuX2RhdGEuc3R5bGU7dC5zdHJva2VTdHlsZT1vLmxvbGxpcG9wLnN0cm9rZVN0eWxlLHQubGluZVdpZHRoPWksKDAsYS5zZXRMaW5lU3R5bGUpKHQsbi5MSU5FU1RZTEVfU09MSUQpLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksbCksdC5zdHJva2UoKX1fZHJhd0ZpbGxlZENpcmNsZSh0LGUsaSxsKXt0LmZpbGxTdHlsZT1sLCgwLGEuY3JlYXRlQ2lyY2xlKSh0LGUueCxlLnksaSksdC5maWxsKCl9fWZ1bmN0aW9uIHAodCxlLGksbCl7dHJ5e3Quc2F2ZSgpLHQuZmlsbFN0eWxlPWwuZmlsbENvbG9yLHQuZmlsbChmdW5jdGlvbih0LGUpe2NvbnN0IGk9bmV3IFBhdGgyRDtyZXR1cm4gaS5hZGRQYXRoKHQsZSksaX0oZSxpKSxsLmZpbGxSdWxlKX1maW5hbGx5e3QucmVzdG9yZSgpfX19LDU0MDg0NSh0LGUsaSl7aS5kKGUse1ZlcnRpY2FsTGluZVJlbmRlcmVyOigpPT5yfSk7dmFyIGw9aSg3NjMpLG89aSg3ODY0MzYpLHM9aSg2MDQyMTQpLG49aSgxNTEyMSksYT1pKDkzNDMwNSk7Y2xhc3MgciBleHRlbmRzIGEuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9oaXRUZXN0PW5ldyBsLkhpdFRlc3RSZXN1bHQobC5IaXRUYXJnZXQuTW92ZVBvaW50KX1zZXREYXRhKHQpe3RoaXMuX2RhdGE9dH1zZXRIaXRUZXN0KHQpe3RoaXMuX2hpdFRlc3Q9dH1oaXRUZXN0KHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHxudWxsPT09dGhpcy5faGl0VGVzdClyZXR1cm4gbnVsbDtjb25zdCBlPSgwLHMuaW50ZXJhY3Rpb25Ub2xlcmFuY2UpKCkubGluZSxpPU1hdGguYWJzKHQueC10aGlzLl9kYXRhLngpPD1lK3RoaXMuX2RhdGEubGluZXdpZHRoLzIsbD12b2lkIDA9PT10aGlzLl9kYXRhLnRvcHx8dGhpcy5fZGF0YS50b3AtdC55PD1lLG89dm9pZCAwPT09dGhpcy5fZGF0YS5ib3R0b218fHQueS10aGlzLl9kYXRhLmJvdHRvbTw9ZTtyZXR1cm4gaSYmbCYmbz90aGlzLl9oaXRUZXN0Om51bGx9X2RyYXdJbXBsKHQpe2lmKG51bGw9PT10aGlzLl9kYXRhfHx0aGlzLl9kYXRhLmxpbmV3aWR0aDw9MClyZXR1cm47Y29uc3R7Y29udGV4dDplLGhvcml6b250YWxQaXhlbFJhdGlvOmksdmVydGljYWxQaXhlbFJhdGlvOmwsbWVkaWFTaXplOnN9PXQ7aWYodGhpcy5fZGF0YS54PC10aGlzLl9kYXRhLmxpbmV3aWR0aC8yfHx0aGlzLl9kYXRhLng+cy53aWR0aCt0aGlzLl9kYXRhLmxpbmV3aWR0aC8yKXJldHVybjtlLmxpbmVDYXA9ImJ1dHQiLGUuc3Ryb2tlU3R5bGU9dGhpcy5fZGF0YS5jb2xvcixlLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodGhpcy5fZGF0YS5saW5ld2lkdGgqaSkpLHZvaWQgMCE9PXRoaXMuX2RhdGEubGluZXN0eWxlJiYoMCxvLnNldExpbmVTdHlsZSkoZSx0aGlzLl9kYXRhLmxpbmVzdHlsZSk7Y29uc3QgYT12b2lkIDAhPT10aGlzLl9kYXRhLnRvcD9NYXRoLm1heCh0aGlzLl9kYXRhLnRvcCwwKTowLHI9dm9pZCAwIT09dGhpcy5fZGF0YS5ib3R0b20/TWF0aC5taW4odGhpcy5fZGF0YS5ib3R0b20scy5oZWlnaHQpOnMuaGVpZ2h0LGg9TWF0aC5yb3VuZCh0aGlzLl9kYXRhLngqaSksZD1NYXRoLmZsb29yKGEqbCkscD1NYXRoLmNlaWwocipsKSxjPXRoaXMuX2RhdGEuZXhjbHVkZUJvdW5kYXJpZXM7dm9pZCAwIT09YyYmKDAsbi5hZGRFeGNsdXNpb25BcmVhQnlTY29wZSkodCxjKSwoMCxvLmRyYXdWZXJ0aWNhbExpbmUpKGUsaCxkLHApfX19fV0pOw=="}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3-symbol-logo.tradingview.com/country/AU.svg","fqdn":"s3-symbol-logo.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.310Z","timestamp":1785136430310,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /country/AU.svg HTTP/1.1\r\nHost: s3-symbol-logo.tradingview.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\nOrigin: https://www.tradingview-widget.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.tradingview-widget.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/ddos.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.079Z","timestamp":1785136422079,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/ddos.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 9836\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":9836,"size_decoded":10177,"mime_type":"image/png","magic":"PNG image data, 178 x 127, 8-bit/color RGBA, non-interlaced","md5":"8f0b1e2d7213bcabce891129633ebf8e","sha1":"56efcfc0ee13b220db2a57300a9fe73b93e06d1e","sha256":"918dbf777034826e9bacc27e69d512846aefdcfcac80bee07ca1e6fa88508832","sha512":"61a4e38de5c7728bd7ed8cc8e7b8b362c84b9e96647c38aac633d2429bd8bd66316e5b6226bc1f31c315fa4c524096ef586a7db283d645193fe530748259425c","ssdeep":"192:1DYoPCHDYIjWZq4AOHwHg5oj6JfWnXrYL3GOFgZ/rdHPkiCI8lbTb:lnGYISZO/o+Y3GVrdlCI8h","tlshash":"ac12d0996f984df1d5f00eb2f6031ed5991a81cc6c2297b4ca0d5d4028fbc0799ee55f","first_seen":"2025-12-03T04:46:43.778253Z","last_seen":"2026-07-29T06:14:00.446985Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":5134,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5134,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/202.072e990c76641068d8e3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.283Z","timestamp":1785136429283,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/202.072e990c76641068d8e3.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-132\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b618c45456e0b9018da105504d2ed617\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":306,"size_decoded":944,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (306), with no line terminators","md5":"cb8fa6b3f87a2345533ef73d9ce94efb","sha1":"534e37132178ef4786a8b4671717bfd4ef5867cd","sha256":"33b229a3fbec03996ba88aa195ef07f83ff055cbdd2c760874be142bc7eabdaa","sha512":"65cdae9e4fe341fde4951075dcf1c7ff79f7904b1b0f1aba42cfc73327300fb696a189161e0fd149becaf22695a1d1e435c6e7b2cb662b2691265f303073bb95","ssdeep":"","tlshash":"58e0c21532d4253ad20f223a83f5c8fcf002dd13cc8ce6736c29d692d004fd62381928","first_seen":"2026-07-17T03:30:51.171265Z","last_seen":"2026-08-11T04:43:23.066267Z","times_seen":270,"resource_available":false,"data":"LnNlcGFyYXRvci13c055UDllMntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MXB4O21hcmdpbjo2cHggMH0uc21hbGwtd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo0cHg7bWFyZ2luLXRvcDo0cHh9Lm5vcm1hbC13c055UDllMnttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweH0ubGFyZ2Utd3NOeVA5ZTJ7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo4cHh9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/aboutusbg.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.295Z","timestamp":1785136427295,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/aboutusbg.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-length: 138452\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":138452,"size_decoded":138795,"mime_type":"image/png","magic":"PNG image data, 667 x 414, 8-bit/color RGBA, non-interlaced","md5":"7e6a465cd712753df12f701a33eaffa4","sha1":"2ee3b37cd0a19af627095c38e0831bdbe1797886","sha256":"932b21933bb18997afecd8fe717d7db2b2175e5a76fe87e1b379bfef94435512","sha512":"5334e7ee6fce3713a63596992f25719072b786f5ef6388cc05ecba02303e125ee70d83ec502f52943108a6b5a5a86f3f19beafe0770442946146d1e00bdde101","ssdeep":"3072:k9yuFzaiZozjc6e1OYg9aJN3bL829V3wuPv/QF60:k9RHAj5GJN3n8QVwuX/QFJ","tlshash":"68d3127b9941db3543a708f513efc885bc96060eb234155848bd8c8fa13fe8e2989d5b","first_seen":"2026-07-27T07:14:43.826044Z","last_seen":"2026-07-29T06:14:00.433995Z","times_seen":5,"resource_available":false,"data":"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"}},"time_used":2140,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2137,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/74.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.647Z","timestamp":1785136428647,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/74.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 4251\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:06 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:40:30 GMT\r\ncache-control: max-age=86400\r\netag: \"ae64499c8825452f6262177ee6dd525b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 84799\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Z0Jc9snD1YjQ04EtPjH5ERj0BY9gSdy6CPtI_VhqHOxEzCijduQ1WQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":4251,"size_decoded":4777,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ae64499c8825452f6262177ee6dd525b","sha1":"92a35e0817cefb5befbb18422fb4c9d220f6754c","sha256":"47fb417f6b72c4edc08dfb90a376b2c88b3b51992bf3c83dd14e011edba2f339","sha512":"1a776374f3c20d16bf0c84dbb28a6ca3d0a110ca928aa87f56d79d09b898091b84f4d3ea164a6c79db0c9fedeb66167bd83b854267c2870394f70dc536117441","ssdeep":"96:IqQDUBKTuBVrN2Dc4tR/HAwaHEIkVZdBrc2nPatF:IL4cTIB8c4n/HbIegdF","tlshash":"00918ede37594349986e152b32ca7f282c32b7db00753e35ad4946c327b4063e5d6714","first_seen":"2023-05-04T14:40:12Z","last_seen":"2026-08-11T04:47:30.042784Z","times_seen":15187,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/512.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.655Z","timestamp":1785136428655,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/512.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2552\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:14 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:24:43 GMT\r\ncache-control: max-age=86400\r\netag: \"51cec93b9021a4e88470ef0ff6a4ff76\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 13746\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Gpuzig3NiESX0SN2qBhPFfNnb5zDnV2NMah9Oww1j5Snih-J01EDPw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2552,"size_decoded":3078,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"51cec93b9021a4e88470ef0ff6a4ff76","sha1":"4dce5c11e1c9988f8c2985dfdd9eaf25057b9c64","sha256":"ee839df8763a293723c6b3727d4891d06fe4f151216b5e7b7b900bf8f03cecae","sha512":"7b04b9e4013baea8aaeeced565a4665138cdbd24609d34b618172d3ddac01cca48506257de05ec0e8c6c1b1d9569f53e17dbcaed45fd6ec4a60db57dc05c7b10","ssdeep":"","tlshash":"0c511a6873a9aae7f44fb03096f265114e20aeb007e24d82b63565b5ca1481282367bb","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-11T04:47:30.130759Z","times_seen":1634,"resource_available":false,"data":"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"}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67925.cdd77a6972787789a616.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.297Z","timestamp":1785136429297,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67925.cdd77a6972787789a616.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a4360b8-364\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:22:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: adb84913f758f536ed418b090c677181\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":868,"size_decoded":1139,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (868), with no line terminators","md5":"5edf808790562884db5fdf9a651e2c6b","sha1":"364ae71139050bae7ec40dc7bca05608a6e0a6c3","sha256":"7aa320556bada28195947d3777837009a4c4a5cbcd0ba6412ec4649351997aa3","sha512":"20ca4cbeb3d8d8ca78780490a1023af097a10fbdbeec82d3cc26bd10019f432db48b26cee41dddc68e04a24a4e81a2fd6be1f9910bbb710538b06279e2cea860","ssdeep":"","tlshash":"4511cc59940633ba6772951c2ec657c1ab217dac4873374cf8e1e09f40db785a0097c6","first_seen":"2026-06-30T21:57:43.476727Z","last_seen":"2026-07-28T06:17:53.599964Z","times_seen":228,"resource_available":false,"data":"LmJ1dHRvbi1HYXdwQjBwZnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tR2F3cEIwcGY6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tR2F3cEIwcGY6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1HYXdwQjBwZjphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYnV0dG9uLUdhd3BCMHBmOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUdhd3BCMHBmOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo0cHh9LmJ1dHRvbi1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LWludmVyc2UpfS5mYXZvcml0ZS1HYXdwQjBwZi5maWxsZWQtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5mYXZvcml0ZS1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/86997.d9a1b2aca00a6209fe61.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.303Z","timestamp":1785136429303,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/86997.d9a1b2aca00a6209fe61.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-229\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 37d191d1941ab8c967e24ba27b51922a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":553,"size_decoded":1085,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (553), with no line terminators","md5":"01a397ca6f9acffa389686fa8bb86be4","sha1":"06e6067f865293a83c510abc69e253c0868ca272","sha256":"cc0cb71fac3c2d852959883310750bfd8f5e3e8dcbcaab5d009c7ceaccf4f797","sha512":"b8c0bbfc3ea33cd0b2df4863ebbb4821e38a79be23bac72cf4442617ad69ba3c40c5d945c1504b74a56b3f05f88e8843c8b3f4a98be88430e925fa8b2b25e2fe","ssdeep":"","tlshash":"e7f04608a314687bf99f01b79f8136457800ca2fe44385aeee005e75d0c86d32394b96","first_seen":"2026-07-17T14:15:58.498815Z","last_seen":"2026-07-28T06:17:53.451679Z","times_seen":123,"resource_available":false,"data":"Lml0ZW0tZlNhVF9ERU17YWxpZ24taXRlbXM6ZmxleC1zdGFydDtmb250LXNpemU6MTZweDtwYWRkaW5nLWlubGluZS1lbmQ6MjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LmxhYmVsLWZTYVRfREVNe2xpbmUtaGVpZ2h0OjI0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubGFiZWxSb3ctZlNhVF9ERU17bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXRvcDoycHh9LnRvb2xib3gtZlNhVF9ERU17bWFyZ2luLXRvcDozcHh9LmJhZGdlTmV3LWFfU2FnWlFBey0tdWktbGliLWJhZGdlLWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tdWktbGliLWJhZGdlLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS53cmFwcGVyLUphN0lHRE9ne3BhZGRpbmc6MTBweCAyMHB4fS5sYWJlbFJvdy1KYTdJR0RPZ3tsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmc6MH0ubGFiZWwtSmE3SUdET2d7Zm9udC1zaXplOjE2cHh9LmxhYmVsSGludC1KYTdJR0RPZ3tsaW5lLWhlaWdodDoxN3B4fS5sYWJlbE9uLUphN0lHRE9nKy5sYWJlbEhpbnQtSmE3SUdET2d7bWFyZ2luLXRvcDowfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/js/tv.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.032Z","timestamp":1785136422032,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/tv.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Fri, 15 Nov 2024 10:27:59 GMT\r\naccept-ranges: bytes\r\netag: \"8021bfa4937db1:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 6041\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":20736,"size_decoded":6440,"mime_type":"application/javascript","magic":"data","md5":"5eece16d10d8932b75db9d137ab81107","sha1":"a2ccf44d9e18c8290d26dccd61cc203c68d8ebdb","sha256":"06756610e3b434008fdbe87b2084aaf772971dac01abd96bb3deb79f28338e66","sha512":"16166fe14664cd2e5875979199c780aa11b5126599786306171e7d988a20173a7aa5af8a5fa1e9961bb63b938e213b7026a58c135d073e6d5035cf78226bd930","ssdeep":"384:EqhCtUi8k0pwkp8EpXWpvS2rfVuj+kl2okhIuWea1pYp4t6YJCWm0yoGymbLP:EqZi8k0pwkp8EpXWpvS2rYjCokhfWeWq","tlshash":"3592d86db5807a3c02cb00ed306f330c753765a4e10159a4fa78abe59558e8ea277fbd","first_seen":"2024-11-12T20:11:40.89791Z","last_seen":"2026-08-10T18:29:58.625927Z","times_seen":44,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lmhvc3QmJiF3aW5kb3cuVHJhZGluZ1ZpZXcucmVvbG9hZFR2anMpcmV0dXJuO3ZhciBlPXsiY29sb3ItY29sZC1ncmF5LTMwMCI6IiNCMkI1QkUiLCJjb2xvci1icmFuZCI6IiMyOTYyRkYiLCJjb2xvci1icmFuZC1ob3ZlciI6IiMxRTUzRTUiLCJjb2xvci1icmFuZC1hY3RpdmUiOiIjMTg0OENDIn07Y29uc3QgdD1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTt2YXIgbyxpLHIsbixhLHMsZCxsPSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsYz17aG9zdDpudWxsPT13aW5kb3cubG9jYXRpb24uaG9zdC5tYXRjaCgvdHJhZGluZ3ZpZXdcLmNvbXxweXJyb3NpbnZlc3RtZW50XC5jb20vaSk/Imh0dHBzOi8vcy50cmFkaW5ndmlldy5jb20iOiJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20iLGlkZWFzSG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIixjaGF0SG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIix3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnZXRIb3N0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZVdpZGdldEhvc3Q/Yy53aWRnZXRIb3N0OmMuaG9zdH0sZW1iZWRTdHlsZXNGb3JDb3B5cmlnaHQ6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD0iLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge2ZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogIitsKyIgIWltcG9ydGFudDsgY29sb3I6ICIrZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdKyIgIWltcG9ydGFudDt9IC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge2NvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kLWhvdmVyIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTphY3RpdmUgLmJsdWUtdGV4dCB7Y29sb3I6ICIrZVsiY29sb3ItYnJhbmQtYWN0aXZlIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30iLHR9LGVtYmVkU3R5bGVzRm9yRnVsbEhlaWdodDpmdW5jdGlvbihlLHQsbyl7dmFyIGk9dD8iY2FsYygiK2UrIiAtIDMycHgpIjplLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrbyk7ci5wYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodD1pLHIuc3R5bGUuaGVpZ2h0PSIxMDAlIn0sZ0lkOmZ1bmN0aW9uKCl7cmV0dXJuInRyYWRpbmd2aWV3XyIrKDEwNDg1NzYqKDErTWF0aC5yYW5kb20oKSl8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0saXNQZXJzZW50SGVpZ2h0OmZ1bmN0aW9uKGUpe3JldHVybiIlIj09PWV9LGdldFN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goLyglfHB4fGVtfGV4KS8pO3JldHVybiB0P3RbMF06InB4In0saGFzQ29weXJpZ2h0OmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLG89dCYmdC5wYXJlbnRFbGVtZW50O3JldHVybiEhbyYmISFvLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Iil9LGNhbGN1bGF0ZVdpZGdldEhlaWdodDpmdW5jdGlvbihlLHQpe3ZhciBvPXBhcnNlSW50KGUpLGk9dGhpcy5nZXRTdWZmaXgoZSkscj10aGlzLmlzUGVyc2VudEhlaWdodChpKSxuPXQmJnRoaXMuaGFzQ29weXJpZ2h0KHQpO3JldHVybiByJiZ0JiYodGhpcy5lbWJlZFN0eWxlc0ZvckZ1bGxIZWlnaHQobytpLG4sdCksbik/MTAwK2k6bj8iY2FsYygiK28raSsiIC0gMzJweCkiOm8raX0sb25yZWFkeTpmdW5jdGlvbihlKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGUpfSxiaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxvLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrdCxvKX0sdW5iaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLCExKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIrdCxvKX0sY2xvbmVTaW1wbGVPYmplY3Q6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PWUuY29uc3RydWN0b3IoKTtmb3IodmFyIG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0saXNBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxnZW5lcmF0ZVV0bUZvclVybFBhcmFtczpmdW5jdGlvbihlKXt2YXIgdD17dXRtX3NvdXJjZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdXRtX21lZGl1bTpjLmhhc0NvcHlyaWdodChlLmNvbnRhaW5lcik/IndpZGdldF9uZXciOiJ3aWRnZXQifTtyZXR1cm4gZS50eXBlJiYodC51dG1fY2FtcGFpZ249ZS50eXBlLCJjaGFydCI9PT1lLnR5cGUmJih0LnV0bV90ZXJtPWUuc3ltYm9sKSksdH0sZ2V0UGFnZVVyaVN0cmluZzpmdW5jdGlvbigpe2NvbnN0IGU9bG9jYXRpb24uaHJlZixvPXRoaXMuaW52YWxpZFVybChlKTtyZXR1cm4gb3x8ZS5yZXBsYWNlKHQsIiIpfSxpbnZhbGlkVXJsOmZ1bmN0aW9uKGUpe3RyeXtjb25zdCBvPW5ldyBVUkwoZSk7cmV0dXJuIHQudGVzdChvLnByb3RvY29sKT9udWxsOiJfX05IVFRQX18ifWNhdGNoKGUpe3JldHVybiJfX0ZBSUxfXyJ9fSxnZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlfHxgJHt0LnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGB9LFdpZGdldEFic3RyYWN0OmZ1bmN0aW9uKCl7fSxNZWRpdW1XaWRnZXQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpO2NvbnN0IHQ9Yy5jYWxjdWxhdGVXaWRnZXRIZWlnaHQoZS5oZWlnaHR8fDQwMCxlLmNvbnRhaW5lcl9pZCk7bGV0IG87c3dpdGNoKGUuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6e2NvbnN0e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cixib3JkZXJVcENvbG9yOm4sYm9yZGVyRG93bkNvbG9yOmEsd2lja1VwQ29sb3I6cyx3aWNrRG93bkNvbG9yOmR9PWU7bz17Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyLGJvcmRlclVwQ29sb3I6bixib3JkZXJEb3duQ29sb3I6YSx3aWNrVXBDb2xvcjpzLHdpY2tEb3duQ29sb3I6ZH07YnJlYWt9Y2FzZSJiYXJzIjp7Y29uc3R7Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyfT1lO289e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cn07YnJlYWt9Y2FzZSJsaW5lIjp7Y29uc3R7Y2hhcnRUeXBlOnQsY29sb3I6aSxjb2xvckdyb3dpbmc6cixjb2xvckZhbGxpbmc6bixsaW5lV2lkdGg6YX09ZTtvPXtjaGFydFR5cGU6dCxjb2xvcjppLGNvbG9yR3Jvd2luZzpyLGNvbG9yRmFsbGluZzpuLGxpbmVXaWR0aDphfTticmVha31kZWZhdWx0Ontjb25zdHtjaGFydFR5cGU6dD0iYXJlYSIsbGluZUNvbG9yOmk9ZS50cmVuZExpbmVDb2xvcnx8IiIsbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphPWUudW5kZXJMaW5lQ29sb3J8fCIiLGJvdHRvbUNvbG9yOnM9ZS51bmRlckxpbmVCb3R0b21Db2xvcnx8IiIsbGluZVdpZHRoOmR9PWU7bz17Y2hhcnRUeXBlOnQsbGluZUNvbG9yOmksbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphLGJvdHRvbUNvbG9yOnMsbGluZVdpZHRoOmR9O2JyZWFrfX10aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZShlLndpZHRoKXx8IiIsaGVpZ2h0OmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodCl8fCIiLHN5bWJvbHM6ZS5zeW1ib2xzLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLHN5bWJvbHNfZGVzY3JpcHRpb246ZS5zeW1ib2xzX2Rlc2NyaXB0aW9ufHwiIixsYXJnZV9jaGFydF91cmw6ZS5sYXJnZV9jaGFydF91cmx8fCIiLGN1c3RvbWVyOmUuY3VzdG9tZXJ8fCIiLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcnx8IiIsZ3JpZExpbmVDb2xvcjplLmdyaWRMaW5lQ29sb3J8fCIiLGZvbnRDb2xvcjplLmZvbnRDb2xvcnx8IiIsZm9udFNpemU6ZS5mb250U2l6ZXx8IiIsd2lkZ2V0Rm9udENvbG9yOmUud2lkZ2V0Rm9udENvbG9yfHwiIix0aW1lQXhpc0JhY2tncm91bmRDb2xvcjplLnRpbWVBeGlzQmFja2dyb3VuZENvbG9yfHwiIixjaGFydE9ubHk6ISFlLmNoYXJ0T25seSxsb2NhbGU6ZS5sb2NhbGUsY29sb3JUaGVtZTplLmNvbG9yVGhlbWUsaXNUcmFuc3BhcmVudDplLmlzVHJhbnNwYXJlbnQsdXNlV2lkZ2V0SG9zdDpCb29sZWFuKGUudXNlV2lkZ2V0SG9zdCksc2hvd0Zsb2F0aW5nVG9vbHRpcDplLnNob3dGbG9hdGluZ1Rvb2x0aXAsdmFsdWVzVHJhY2tpbmc6ZS52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOmUuY2hhbmdlTW9kZSxkYXRlRm9ybWF0OmUuZGF0ZUZvcm1hdCx0aW1lSG91cnNGb3JtYXQ6ZS50aW1lSG91cnNGb3JtYXQsc2hvd1ZvbHVtZTplLnNob3dWb2x1bWUsc2hvd01BOmUuc2hvd01BLHZvbHVtZVVwQ29sb3I6ZS52b2x1bWVVcENvbG9yLHZvbHVtZURvd25Db2xvcjplLnZvbHVtZURvd25Db2xvcixtYUxpbmVDb2xvcjplLm1hTGluZUNvbG9yLG1hTGluZVdpZHRoOmUubWFMaW5lV2lkdGgsbWFMZW5ndGg6ZS5tYUxlbmd0aCxoaWRlRGF0ZVJhbmdlczplLmhpZGVEYXRlUmFuZ2VzLGhpZGVNYXJrZXRTdGF0dXM6ZS5oaWRlTWFya2V0U3RhdHVzLGhpZGVTeW1ib2xMb2dvOmUuaGlkZVN5bWJvbExvZ28sc2NhbGVQb3NpdGlvbjplLnNjYWxlUG9zaXRpb24sc2NhbGVNb2RlOmUuc2NhbGVNb2RlLGZvbnRGYW1pbHk6ZS5mb250RmFtaWx5LG5vVGltZVNjYWxlOmUubm9UaW1lU2NhbGUsLi4ub30sdGhpcy5jcmVhdGUoKX0sd2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9ZS5pZHx8Yy5nSWQoKTt2YXIgdD1jLmdldFVybFBhcmFtcygpLG89ZS50dndpZGdldHN5bWJvbHx8dC50dndpZGdldHN5bWJvbHx8dC5zeW1ib2x8fGUuc3ltYm9sfHwiTkFTREFROkFBUEwiLGk9ZS5sb2dvfHwiIjtpLnNyYyYmKGk9aS5zcmMpLGkmJmkucmVwbGFjZSgiLnBuZyIsIiIpO3ZhciByPWMuY2FsY3VsYXRlV2lkZ2V0SGVpZ2h0KGUuaGVpZ2h0fHw1MDAsZS5jb250YWluZXJfaWQpO3RoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8ODAwLGhlaWdodDpyLHN5bWJvbDpvLGludGVydmFsOmUuaW50ZXJ2YWx8fCIxIixyYW5nZTplLnJhbmdlfHwiIix0aW1lem9uZTplLnRpbWV6b25lfHwiIixhdXRvc2l6ZTplLmF1dG9zaXplLGhpZGVfdG9wX3Rvb2xiYXI6ZS5oaWRlX3RvcF90b29sYmFyLGhpZGVfc2lkZV90b29sYmFyOmUuaGlkZV9zaWRlX3Rvb2xiYXIsaGlkZV9sZWdlbmQ6ZS5oaWRlX2xlZ2VuZCxoaWRlX3ZvbHVtZTplLmhpZGVfdm9sdW1lLGFsbG93X3N5bWJvbF9jaGFuZ2U6ZS5hbGxvd19zeW1ib2xfY2hhbmdlLHNhdmVfaW1hZ2U6dm9pZCAwPT09ZS5zYXZlX2ltYWdlfHxlLnNhdmVfaW1hZ2UsY29udGFpbmVyOmUuY29udGFpbmVyX2lkfHwiIix3YXRjaGxpc3Q6ZS53YXRjaGxpc3R8fFtdLGNvbXBhcmVTeW1ib2xzOmUuY29tcGFyZVN5bWJvbHN8fFtdLGVkaXRhYmxld2F0Y2hsaXN0OiEhZS5lZGl0YWJsZXdhdGNobGlzdCxzdHVkaWVzOmUuc3R1ZGllc3x8W10sdGhlbWU6ZS50aGVtZXx8IiIsc3R5bGU6ZS5zdHlsZXx8IiIsZXh0ZW5kZWRfaG91cnM6dm9pZCAwPT09ZS5leHRlbmRlZF9ob3Vycz92b2lkIDA6K2UuZXh0ZW5kZWRfaG91cnMsZGV0YWlsczohIWUuZGV0YWlscyxjYWxlbmRhcjohIWUuY2FsZW5kYXIsaG90bGlzdDohIWUuaG90bGlzdCxoaWRlaWRlYXNidXR0b246ISFlLmhpZGVpZGVhc2J1dHRvbix3aWRnZXRiYXJfd2lkdGg6K2Uud2lkZ2V0YmFyX3dpZHRofHx2b2lkIDAsd2l0aGRhdGVyYW5nZXM6ZS53aXRoZGF0ZXJhbmdlc3x8IiIsY3VzdG9tZXI6ZS5jdXN0b21lcnx8aXx8IiIsdmVudWU6ZS52ZW51ZSxzeW1ib2xvZ3k6ZS5zeW1ib2xvZ3ksbG9nbzppLHNob3dfcG9wdXBfYnV0dG9uOiEhZS5zaG93X3BvcHVwX2J1dHRvbixwb3B1cF9oZWlnaHQ6ZS5wb3B1cF9oZWlnaHR8fCIiLHBvcHVwX3dpZHRoOmUucG9wdXBfd2lkdGh8fCIiLHN0dWRpZXNfb3ZlcnJpZGVzOmUuc3R1ZGllc19vdmVycmlkZXMsb3ZlcnJpZGVzOmUub3ZlcnJpZGVzLGVuYWJsZWRfZmVhdHVyZXM6ZS5lbmFibGVkX2ZlYXR1cmVzLGRpc2FibGVkX2ZlYXR1cmVzOmUuZGlzYWJsZWRfZmVhdHVyZXMscHVibGlzaF9zb3VyY2U6ZS5wdWJsaXNoX3NvdXJjZXx8IiIsd2hvdHJhZGVzOmUud2hvdHJhZGVzfHx2b2lkIDAsbG9jYWxlOmUubG9jYWxlLHJlZmVycmFsX2lkOmUucmVmZXJyYWxfaWQsbm9fcmVmZXJyYWxfaWQ6ZS5ub19yZWZlcnJhbF9pZCxmdW5kYW1lbnRhbDplLmZ1bmRhbWVudGFsLHBlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLGhpZGV2b2x1bWU6ZS5oaWRldm9sdW1lLHBhZGRpbmc6ZS5wYWRkaW5nLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLGhvcnp0b3VjaGRyYWc6ZS5ob3J6dG91Y2hkcmFnLHZlcnR0b3VjaGRyYWc6ZS52ZXJ0dG91Y2hkcmFnLHVzZVdpZGdldEhvc3Q6Qm9vbGVhbihlLnVzZVdpZGdldEhvc3QpLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcixncmlkQ29sb3I6ZS5ncmlkQ29sb3IsZG9Ob3RTdG9yZVNldHRpbmdzOmUuZG9Ob3RTdG9yZVNldHRpbmdzfSxlLmNtZSYmKHRoaXMub3B0aW9ucy5jdXN0b21lcj0iY21lIiksaXNGaW5pdGUoZS53aWRnZXRiYXJfd2lkdGgpJiZlLndpZGdldGJhcl93aWR0aD4wJiYodGhpcy5vcHRpb25zLndpZGdldGJhcl93aWR0aD1lLndpZGdldGJhcl93aWR0aCksdGhpcy5fcmVhZHlfaGFuZGxlcnM9W10sdGhpcy5jcmVhdGUoKX0sY2hhcnQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpLHRoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8NjQwLGhlaWdodDplLmhlaWdodHx8NTAwLGNvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIscmVhbHRpbWU6ZS5yZWFsdGltZSxjaGFydDplLmNoYXJ0LGxvY2FsZTplLmxvY2FsZSx0eXBlOiJjaGFydCIsYXV0b3NpemU6ZS5hdXRvc2l6ZSxtb2JpbGVTdGF0aWM6ZS5tb2JpbGVTdGF0aWN9LHRoaXMuX3JlYWR5X2hhbmRsZXJzPVtdLHRoaXMuY3JlYXRlKCl9LHN0cmVhbTpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sRXZlbnRzV2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9Yy5nSWQoKSx0aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6ZS53aWR0aHx8NDg2LGhlaWdodDplLmhlaWdodHx8NjcwLGN1cnJlbmN5OmUuY3VycmVuY3lGaWx0ZXJ8fCIiLGltcG9ydGFuY2U6ZS5pbXBvcnRhbmNlRmlsdGVyfHwiIix0eXBlOiJlY29ub21pYy1jYWxlbmRhciJ9LHRoaXMuY3JlYXRlKGUpfSxJZGVhc1N0cmVhbVdpZGdldDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgSWRlYXMgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sSWRlYVdpZGdldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiV2UncmUgc29ycnksIHRoZSBJZGVhIFByZXZpZXcgd2lkZ2V0IGlzIGRpc2NvbnRpbnVlZCIpfSxDaGF0V2lkZ2V0RW1iZWQ6ZnVuY3Rpb24oZSl7Y29uc29sZS53YXJuKCJXZSdyZSBzb3JyeSwgdGhlIENoYXQgd2lkZ2V0IGlzIGRpc2NvbnRpbnVlZCIpfX07Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGU9e3dpZGdldElkOiJ1bmtub3duIixmaXhTaXplOmZ1bmN0aW9uKGUpe3JldHVybi9eWzAtOV0rKFwufCxbMC05XSkqJC8udGVzdChlKT9lKyJweCI6ZX0sd2lkdGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9zaXplPyIxMDAlIjpjLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5maXhTaXplKHRoaXMub3B0aW9ucy53aWR0aCl9LGhlaWdodDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b3NpemU/IjEwMCUiOmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodGhpcy5vcHRpb25zLmhlaWdodCl9LGFkZFdyYXBwZXJGcmFtZTpmdW5jdGlvbihlKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LmlkPXRoaXMuaWQrIi13cmFwcGVyIix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOiByZWxhdGl2ZTtib3gtc2l6aW5nOiBjb250ZW50LWJveDttYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O3BhZGRpbmc6IDAgIWltcG9ydGFudDtmb250LWZhbWlseTogIitsKyI7Iix0LnN0eWxlLndpZHRoPWMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLndpZHRoLmNhbGwodGhpcyksdC5zdHlsZS5oZWlnaHQ9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuaGVpZ2h0LmNhbGwodGhpcyksdC5hcHBlbmRDaGlsZChlKSx0fX0sYy5FdmVudHNXaWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoiZXZlbnRzIixjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJlbmRlcigpO2goZSx0aGlzLm9wdGlvbnMpfSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgVVJMKGMuZ2V0SG9zdCh0aGlzLm9wdGlvbnMpKTtlLnBhdGhuYW1lPSIvZXZlbnRzd2lkZ2V0ZW1iZWQvIixjLmFkZFVybFBhcmFtcyhlLHtjdXJyZW5jeTp0aGlzLm9wdGlvbnMuY3VycmVuY3ksaW1wb3J0YW5jZTp0aGlzLm9wdGlvbnMuaW1wb3J0YW5jZX0pLHRoaXMub3B0aW9ucy50eXBlPSJldmVudHMiLGMuYWRkVXJsUGFyYW1zKGUsYy5nZW5lcmF0ZVV0bUZvclVybFBhcmFtcyh0aGlzLm9wdGlvbnMpKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiB0LnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHQubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIix0LndpZHRoPXRoaXMub3B0aW9ucy53aWR0aCx0aGlzLm9wdGlvbnMuaGVpZ2h0JiYodC5oZWlnaHQ9dGhpcy5vcHRpb25zLmhlaWdodCksdC5zZXRBdHRyaWJ1dGUoImZyYW1lQm9yZGVyIiwiMCIpLHQuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLHQuc3JjPWUsdH19LGMuTWVkaXVtV2lkZ2V0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InN5bWJvbC1vdmVydmlldyIsY3JlYXRlOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnJlbmRlcigpO2goZSx0aGlzLm9wdGlvbnMpfSxyZW5kZXI6ZnVuY3Rpb24oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0IHQgb2ZbInN5bWJvbHMiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yVGhlbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJncmlkTGluZUNvbG9yIiwiZm9udENvbG9yIiwid2lkZ2V0Rm9udENvbG9yIiwidW5kZXJMaW5lQ29sb3IiLCJ1bmRlckxpbmVCb3R0b21Db2xvciIsInRyZW5kTGluZUNvbG9yIiwiYWN0aXZlVGlja2VyQmFja2dyb3VuZENvbG9yIiwidGltZUF4aXNCYWNrZ3JvdW5kQ29sb3IiLCJzY2FsZVBvc2l0aW9uIiwic2NhbGVNb2RlIiwiY2hhcnRUeXBlIiwiY29sb3IiLCJjb2xvckdyb3dpbmciLCJjb2xvckZhbGxpbmciLCJsaW5lQ29sb3IiLCJsaW5lQ29sb3JHcm93aW5nIiwibGluZUNvbG9yRmFsbGluZyIsInRvcENvbG9yIiwiYm90dG9tQ29sb3IiLCJ1cENvbG9yIiwiZG93bkNvbG9yIiwiYm9yZGVyVXBDb2xvciIsImJvcmRlckRvd25Db2xvciIsIndpY2tVcENvbG9yIiwid2lja0Rvd25Db2xvciIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsIm5vVGltZVNjYWxlIiwidmFsdWVzVHJhY2tpbmciLCJjaGFuZ2VNb2RlIiwiZGF0ZUZvcm1hdCIsInRpbWVIb3Vyc0Zvcm1hdCIsImxpbmVXaWR0aCIsInZvbHVtZVVwQ29sb3IiLCJ2b2x1bWVEb3duQ29sb3IiLCJjaGFydE9ubHkiLCJpc1RyYW5zcGFyZW50Iiwic2hvd0Zsb2F0aW5nVG9vbHRpcCIsInNob3dWb2x1bWUiLCJzaG93TUEiLCJtYUxpbmVDb2xvciIsIm1hTGluZVdpZHRoIiwibWFMZW5ndGgiLCJoaWRlRGF0ZVJhbmdlcyIsImhpZGVNYXJrZXRTdGF0dXMiLCJoaWRlU3ltYm9sTG9nbyJdKXRoaXMub3B0aW9uc1t0XSYmKGVbdF09dGhpcy5vcHRpb25zW3RdKTtlWyJwYWdlLXVyaSJdPWMuZ2V0UGFnZVVyaVN0cmluZygpLHRoaXMub3B0aW9ucy50eXBlPSJzeW1ib2wtb3ZlcnZpZXciO2NvbnN0IHQ9Yy5nZW5lcmF0ZVV0bUZvclVybFBhcmFtcyh0aGlzLm9wdGlvbnMpO2Zvcih2YXIgbyBvZiBPYmplY3Qua2V5cyh0KSllW29dPXRbb107Y29uc3QgaT1uZXcgVVJMKCIvZW1iZWQtd2lkZ2V0L3N5bWJvbC1vdmVydmlldy8iLGMuZ2V0SG9zdCh0aGlzLm9wdGlvbnMpKTt0aGlzLm9wdGlvbnMuY3VzdG9tZXImJihpLnBhdGhuYW1lKz10aGlzLm9wdGlvbnMuY3VzdG9tZXIrIi8iKSx0aGlzLm9wdGlvbnMubG9jYWxlJiZpLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxvY2FsZSIsdGhpcy5vcHRpb25zLmxvY2FsZSksaS5oYXNoPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShlKSk7Y29uc3Qgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gci50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSxyLmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsci5pZD10aGlzLmlkLHIuc3R5bGUuY3NzVGV4dD0ibWFyZ2luOiAwICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50OyIsdGhpcy5vcHRpb25zLndpZHRoJiYoci5zdHlsZS53aWR0aD10aGlzLm9wdGlvbnMud2lkdGgpLHRoaXMub3B0aW9ucy5oZWlnaHQmJihyLnN0eWxlLmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KSxyLnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksci5zZXRBdHRyaWJ1dGUoImFsbG93VHJhbnNwYXJlbmN5IiwidHJ1ZSIpLHIuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLHIuc3JjPWkuaHJlZixyfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJhZGluZ3ZpZXdfd2lkZ2V0Iik7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfX0sYy53aWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoiYWR2YW5jZWQtY2hhcnQiLGNyZWF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy50eXBlPXRoaXMub3B0aW9ucy5mdW5kYW1lbnRhbD8iZnVuZGFtZW50YWwiOiJjaGFydCIsdGhpcy5pZnJhbWU9dGhpcy5yZW5kZXIoKTt2YXIgZT10aGlzO2xldCB0PXRoaXMuaWZyYW1lO3RoaXMub3B0aW9ucy5ub0xvZ29PdmVybGF5fHwodD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5hZGRXcmFwcGVyRnJhbWUuY2FsbCh0aGlzLHQpKSxoKHQsdGhpcy5vcHRpb25zKTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJhZGluZ3ZpZXctY29weXJpZ2h0Iik7byYmby5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQobyksdGhpcy5wb3N0TWVzc2FnZT1jLnBvc3RNZXNzYWdlV3JhcHBlcih0aGlzLmlmcmFtZS5jb250ZW50V2luZG93LHRoaXMuaWQpLGMuYmluZEV2ZW50KHRoaXMuaWZyYW1lLCJsb2FkIiwoZnVuY3Rpb24oKXtlLnBvc3RNZXNzYWdlLmdldCgid2lkZ2V0UmVhZHkiLHt9LChmdW5jdGlvbigpe3ZhciB0O2ZvcihlLl9yZWFkeT0hMCx0PWUuX3JlYWR5X2hhbmRsZXJzLmxlbmd0aDt0LS07KWUuX3JlYWR5X2hhbmRsZXJzW3RdLmNhbGwoZSl9KSl9KSksZS5wb3N0TWVzc2FnZS5vbigib3BlbkNoYXJ0SW5Qb3B1cCIsKGZ1bmN0aW9uKHQpe2Zvcih2YXIgbz1jLmNsb25lU2ltcGxlT2JqZWN0KGUub3B0aW9ucyksaT1bInN5bWJvbCIsImludGVydmFsIl0scj1pLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgbj1pW3JdLGE9dFtuXTthJiYob1tuXT1hKX1vLnNob3dfcG9wdXBfYnV0dG9uPSExO3ZhciBzPWUub3B0aW9ucy5wb3B1cF93aWR0aHx8OTAwLGQ9ZS5vcHRpb25zLnBvcHVwX2hlaWdodHx8NjAwLGw9KHNjcmVlbi53aWR0aC1zKS8yLGg9KHNjcmVlbi5oZWlnaHQtZCkvMixnPXdpbmRvdy5vcGVuKGUuZ2VuZXJhdGVVcmwobyksIl9ibGFuayIsInJlc2l6YWJsZT15ZXMsIHRvcD0iK2grIiwgbGVmdD0iK2wrIiwgd2lkdGg9IitzKyIsIGhlaWdodD0iK2QpO2cmJihnLm9wZW5lcj1udWxsKX0pKX0scmVhZHk6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZHk/ZS5jYWxsKHRoaXMpOnRoaXMuX3JlYWR5X2hhbmRsZXJzLnB1c2goZSl9LHJlbmRlcjpmdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIGUudGl0bGU9Yy5nZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZSh0aGlzLm9wdGlvbnMuaWZyYW1lVGl0bGUsdGhpcy53aWRnZXRJZCksZS5sYW5nPXRoaXMub3B0aW9ucy5pZnJhbWVMYW5nfHwiZW4iLGUuaWQ9dGhpcy5pZCxlLnN0eWxlLmNzc1RleHQ9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1hcmdpbjogMCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IixlLnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksZS5zZXRBdHRyaWJ1dGUoImFsbG93VHJhbnNwYXJlbmN5IiwidHJ1ZSIpLGUuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCJubyIpLGUuc2V0QXR0cmlidXRlKCJhbGxvd2Z1bGxzY3JlZW4iLCJ0cnVlIiksZS5zcmM9dGhpcy5nZW5lcmF0ZVVybCgpLGV9LGdlbmVyYXRlVXJsOmZ1bmN0aW9uKGUpe3ZhciB0O2Z1bmN0aW9uIG8oZSx0LG8pe2xldCBpPWcodCxvKTsib2JqZWN0Ij09dHlwZW9mIGkmJihpPUpTT04uc3RyaW5naWZ5KGkpKSx2b2lkIDAhPT1pJiYiIiE9PWkmJihhW2VdPWkpfWZ1bmN0aW9uIGkoZSx0LGkpe28oZSx2b2lkIDA9PT10P3ZvaWQgMDp0PyIxIjppKX10PSJjbWUiPT09KGU9ZXx8dGhpcy5vcHRpb25zKS5jdXN0b21lcj8iL2NtZXdpZGdldGVtYmVkLyI6ZS5jdXN0b21lcj8iLyIrZS5jdXN0b21lcisiL3dpZGdldGVtYmVkLyI6Ii93aWRnZXRlbWJlZC8iO3ZhciByPWMuZ2V0SG9zdChlKTtjb25zdCBuPW5ldyBVUkwocit0KTtuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImhpZGVpZGVhcyIsIjEiKSxuLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm92ZXJyaWRlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLm92ZXJyaWRlcyx7fSkpKSxuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImVuYWJsZWRfZmVhdHVyZXMiLEpTT04uc3RyaW5naWZ5KGcoZS5lbmFibGVkX2ZlYXR1cmVzLFtdKSkpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgiZGlzYWJsZWRfZmVhdHVyZXMiLEpTT04uc3RyaW5naWZ5KGcoZS5kaXNhYmxlZF9mZWF0dXJlcyxbXSkpKSxlLmxvY2FsZSYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsb2NhbGUiLGUubG9jYWxlKTtjb25zdCBhPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGEuc3ltYm9sPWUuc3ltYm9sLGEuZnJhbWVFbGVtZW50SWQ9dGhpcy5pZCxhLmludGVydmFsPWUuaW50ZXJ2YWwsbygicmFuZ2UiLGUucmFuZ2UpLGkoImhpZGVfdG9wX3Rvb2xiYXIiLGUuaGlkZV90b3BfdG9vbGJhciksaSgiaGlkZV9sZWdlbmQiLGUuaGlkZV9sZWdlbmQpLGkoImhpZGVfc2lkZV90b29sYmFyIixlLmhpZGVfc2lkZV90b29sYmFyLCIwIiksaSgiYWxsb3dfc3ltYm9sX2NoYW5nZSIsZS5hbGxvd19zeW1ib2xfY2hhbmdlLCIwIiksaSgic2F2ZV9pbWFnZSIsZS5zYXZlX2ltYWdlLCIwIiksaSgiZG9Ob3RTdG9yZVNldHRpbmdzIixlLmRvTm90U3RvcmVTZXR0aW5ncyksbygiYmFja2dyb3VuZENvbG9yIixlLmJhY2tncm91bmRDb2xvciksbygiZ3JpZENvbG9yIixlLmdyaWRDb2xvciksZS53YXRjaGxpc3QmJmUud2F0Y2hsaXN0Lmxlbmd0aCYmZS53YXRjaGxpc3Quam9pbiYmbygid2F0Y2hsaXN0IixlLndhdGNobGlzdC5qb2luKCIfIikpLGUuY29tcGFyZVN5bWJvbHMmJmUuY29tcGFyZVN5bWJvbHMubGVuZ3RoJiZvKCJjb21wYXJlU3ltYm9scyIsZS5jb21wYXJlU3ltYm9scyksaSgiZWRpdGFibGV3YXRjaGxpc3QiLGUuZWRpdGFibGV3YXRjaGxpc3QpLGkoImRldGFpbHMiLGUuZGV0YWlscyksaSgiY2FsZW5kYXIiLGUuY2FsZW5kYXIpLGkoImhvdGxpc3QiLGUuaG90bGlzdCksZS5zdHVkaWVzJiZjLmlzQXJyYXkoZS5zdHVkaWVzKSYmKCJzdHJpbmciPT10eXBlb2YgZS5zdHVkaWVzWzBdP28oInN0dWRpZXMiLGUuc3R1ZGllcy5qb2luKCIfIikpOm8oInN0dWRpZXMiLGUuc3R1ZGllcykpLGkoImhvcnp0b3VjaGRyYWciLGUuaG9yenRvdWNoZHJhZywiMCIpLGkoInZlcnR0b3VjaGRyYWciLGUudmVydHRvdWNoZHJhZywiMCIpLG8oIndpZGdldGJhcl93aWR0aCIsZS53aWRnZXRiYXJfd2lkdGgpLG8oInRoZW1lIixlLnRoZW1lKSxvKCJzdHlsZSIsZS5zdHlsZSksbygiZXh0ZW5kZWRfaG91cnMiLGUuZXh0ZW5kZWRfaG91cnMpLG8oInRpbWV6b25lIixlLnRpbWV6b25lKSxpKCJoaWRlaWRlYXNidXR0b24iLGUuaGlkZWlkZWFzYnV0dG9uKSxpKCJ3aXRoZGF0ZXJhbmdlcyIsZS53aXRoZGF0ZXJhbmdlcyksaSgiaGlkZV92b2x1bWUiLGUuaGlkZV92b2x1bWUpLG8oInBhZGRpbmciLGUucGFkZGluZyksaSgic2hvd19wb3B1cF9idXR0b24iLGUuc2hvd19wb3B1cF9idXR0b24pLG8oInBhZGRpbmciLGUucGFkZGluZyksbygic3R1ZGllc19vdmVycmlkZXMiLGUuc3R1ZGllc19vdmVycmlkZXMse30pLG8oInB1Ymxpc2hfc291cmNlIixlLnB1Ymxpc2hfc291cmNlKSxvKCJ2ZW51ZSIsZS52ZW51ZSksbygic3ltYm9sb2d5IixlLnN5bWJvbG9neSksbygid2hvdHJhZGVzIixlLndob3RyYWRlcyksbygicmVmZXJyYWxfaWQiLGUucmVmZXJyYWxfaWQpLGkoIm5vX3JlZmVycmFsX2lkIixlLm5vX3JlZmVycmFsX2lkKSxvKCJmdW5kYW1lbnRhbCIsZS5mdW5kYW1lbnRhbCksbygicGVyY2VudGFnZSIsZS5wZXJjZW50YWdlKSxvKCJ1dG1fc291cmNlIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpLG8oInV0bV9tZWRpdW0iLGMuaGFzQ29weXJpZ2h0KGUuY29udGFpbmVyKT8id2lkZ2V0X25ldyI6IndpZGdldCIpLG8oInV0bV9jYW1wYWlnbiIsZS50eXBlKSxyIT09Yy5ob3N0JiZvKCJzdXBwb3J0SG9zdCIsYy5ob3N0KSxlLnR5cGUmJiJjaGFydCI9PT1lLnR5cGUmJm8oInV0bV90ZXJtIixlLnN5bWJvbCksbygicGFnZS11cmkiLGMuZ2V0UGFnZVVyaVN0cmluZygpKSxgJHtufSMke2VuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShhKSl9YH0saW1hZ2U6ZnVuY3Rpb24oZSl7dGhpcy5wb3N0TWVzc2FnZS5nZXQoImltYWdlVVJMIix7fSwoZnVuY3Rpb24odCl7dmFyIG89Yy5ob3N0KyIveC8iK3QrIi8iO2Uobyl9KSl9LHN1YnNjcmliZVRvUXVvdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7dGhpcy5wb3N0TWVzc2FnZS5wb3N0KHQuY29udGVudFdpbmRvdywicXVvdGVTdWJzY3JpYmUiKSx0aGlzLnBvc3RNZXNzYWdlLm9uKCJxdW90ZVVwZGF0ZSIsZSl9LGdldFN5bWJvbEluZm86ZnVuY3Rpb24oZSl7dGhpcy5wb3N0TWVzc2FnZS5nZXQoInN5bWJvbEluZm8iLHt9LGUpfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9LHJlbG9hZDpmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO2UucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQodGhpcy5yZW5kZXIoKSxlKX19LGMuY2hhcnQucHJvdG90eXBlPXt3aWRnZXRJZDoicHVibGlzaGVkLWNoYXJ0IixjcmVhdGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMucmVuZGVyKCksdD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5hZGRXcmFwcGVyRnJhbWUuY2FsbCh0aGlzLGUpO3ZhciBvLGk9dGhpcztoKHQsdGhpcy5vcHRpb25zKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpLGMuYmluZEV2ZW50KG8sImxvYWQiLChmdW5jdGlvbigpe3ZhciBlO2ZvcihpLl9yZWFkeT0hMCxlPWkuX3JlYWR5X2hhbmRsZXJzLmxlbmd0aDtlLS07KWkuX3JlYWR5X2hhbmRsZXJzW2VdLmNhbGwoaSl9KSksYy5vbnJlYWR5KChmdW5jdGlvbigpe3ZhciBlPSExO2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3ImJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FbaHJlZiQ9Ii92LycraS5vcHRpb25zLmNoYXJ0KycvIl0nKSYmKGU9ITApLCFlKWZvcih2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpLHI9bmV3IFJlZ0V4cCgiL3YvIitpLm9wdGlvbnMuY2hhcnQrIi8kIiksbj1uZXcgUmVnRXhwKCIvY2hhcnQvKFswLTlhLXpBLVo6KyotLygpXSspLyIraS5vcHRpb25zLmNoYXJ0KSxhPTA7YTx0Lmxlbmd0aDthKyspaWYoci50ZXN0KHRbYV0uaHJlZil8fG4udGVzdCh0W2FdLmhyZWYpKXtlPSEwO2JyZWFrfWUmJihvLnNyYys9IiNub2xpbmtzIixvLm5hbWU9Im5vbGlua3MiKX0pKX0scmVhZHk6Yy53aWRnZXQucHJvdG90eXBlLnJlYWR5LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPW5ldyBVUkwoYCR7Yy5ob3N0fS9lbWJlZC8ke3RoaXMub3B0aW9ucy5jaGFydH1gKTtjLmFkZFVybFBhcmFtcyhlLHttZXRob2Q6InNjcmlwdCIsbG9jYWxlOnRoaXMub3B0aW9ucy5sb2NhbGV9LCEwKSx0aGlzLm9wdGlvbnMudHlwZT0iY2hhcnQiLGMuYWRkVXJsUGFyYW1zKGUsYy5nZW5lcmF0ZVV0bUZvclVybFBhcmFtcyh0aGlzLm9wdGlvbnMpKTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiB0LnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHQubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIix0LmlkPXRoaXMuaWQsdC5zdHlsZS5jc3NUZXh0PSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBtYXJnaW46IDAgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyIsdC5zZXRBdHRyaWJ1dGUoImZyYW1lQm9yZGVyIiwiMCIpLHQuc2V0QXR0cmlidXRlKCJhbGxvd1RyYW5zcGFyZW5jeSIsInRydWUiKSx0LnNldEF0dHJpYnV0ZSgic2Nyb2xsaW5nIiwibm8iKSx0LnNldEF0dHJpYnV0ZSgiYWxsb3dmdWxsc2NyZWVuIiwidHJ1ZSIpLHQuc3JjPWUuaHJlZix0fSx0b2dnbGVGdWxsc2NyZWVuOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO2RvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50PT09dD9kb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOnQucmVxdWVzdEZ1bGxzY3JlZW4oKX0sZ2V0U3ltYm9sSW5mbzpmdW5jdGlvbihlKXt0aGlzLnBvc3RNZXNzYWdlLmdldCgic3ltYm9sSW5mbyIse30sZSl9fSxjLnBvc3RNZXNzYWdlV3JhcHBlcj0oaT17fSxyPXt9LG49e30sYT0wLHM9MCxkPSJUcmFkaW5nVmlldyIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9SlNPTi5wYXJzZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybn1pZih0JiZ0LnByb3ZpZGVyJiZ0LnByb3ZpZGVyPT09ZClpZih0LnNvdXJjZT1lLnNvdXJjZSwiZ2V0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKGUpe3ZhciBpPXtpZDp0LmlkLHR5cGU6Im9uIixuYW1lOnQubmFtZSxjbGllbnRfaWQ6dC5jbGllbnRfaWQsZGF0YTplLHByb3ZpZGVyOmR9O28ucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX0pKX0pKX1lbHNlIGlmKCJvbiI9PT10LnR5cGUpaVt0LmNsaWVudF9pZF0mJmlbdC5jbGllbnRfaWRdW3QuaWRdJiYoaVt0LmNsaWVudF9pZF1bdC5pZF0uY2FsbCh0LHQuZGF0YSksZGVsZXRlIGlbdC5jbGllbnRfaWRdW3QuaWRdKTtlbHNlIGlmKCJwb3N0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKCl7fSkpfSkpfX0pKSxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdPXt9LG5bdF09ZSxvPWUse29uOmZ1bmN0aW9uKGUsdCxvKXtyW2VdJiZvfHwocltlXT1bXSkscltlXS5wdXNoKHQpfSxvZmY6ZnVuY3Rpb24oZSx0KXtpZighcltlXSlyZXR1cm4hMTt2YXIgbz1yW2VdLmluZGV4T2YodCk7bz4tMSYmcltlXS5zcGxpY2UobywxKX0sZ2V0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgcz17aWQ6YSsrLHR5cGU6ImdldCIsbmFtZTplLGNsaWVudF9pZDp0LGRhdGE6byxwcm92aWRlcjpkfTtpW3RdW3MuaWRdPXIsblt0XS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSxwb3N0OmZ1bmN0aW9uKGUsdCxvKXt2YXIgaT17aWQ6cysrLHR5cGU6InBvc3QiLG5hbWU6dCxkYXRhOm8scHJvdmlkZXI6ZH07ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucG9zdE1lc3NhZ2UmJmUucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX19fSksYy5nZXRVcmxQYXJhbXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9L1wrL2csdD0vKFteJj1dKyk9PyhbXiZdKikvZyxvPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGk9dC5leGVjKG8pLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LnJlcGxhY2UoZSwiICIpKX0sbj17fTtpOyluW3IoaVsxXSldPXIoaVsyXSksaT10LmV4ZWMobyk7cmV0dXJuIG59LGMuY3JlYXRlVXJsUGFyYW1zPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPWVbb10mJnQucHVzaChlbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7cmV0dXJuIHQuam9pbigiJiIpfSxjLmFkZFVybFBhcmFtcz1mdW5jdGlvbihlLHQsbyl7Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG8/dFtpXTpudWxsIT10W2ldKSYmZS5zZWFyY2hQYXJhbXMuc2V0KGksdFtpXSk7cmV0dXJuIGV9O3ZhciBoPWZ1bmN0aW9uKGUsdCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodC5jb250YWluZXIpO2lmKG8pe28uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoZSk7dmFyIGk9by5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTtpZihpKXtpLnN0eWxlLndpZHRoPW8ucXVlcnlTZWxlY3RvcigiaWZyYW1lIikuc3R5bGUud2lkdGg7dmFyIHI9aS5xdWVyeVNlbGVjdG9yKCJhIik7aWYocil7dmFyIG49ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihuKXRyeXtjb25zdCBlPW5ldyBVUkwobik7Yy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHQpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsZS50b1N0cmluZygpKX1jYXRjaChlKXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7bn0iYCl9fX19ZWxzZSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZG9jdW1lbnQuY3VycmVudFNjcmlwdC5uZXh0U2libGluZyk7Y29uc3QgYT1jLmVtYmVkU3R5bGVzRm9yQ29weXJpZ2h0KCkscz1mdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpO3JldHVybiBlJiYoZS5ub25jZXx8ZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpfSgpO3MmJmEuc2V0QXR0cmlidXRlKCJub25jZSIscyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX07ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBudWxsIT1lP2U6dH13aW5kb3cuVHJhZGluZ1ZpZXc/ZnVuY3Rpb24gZSh0LG8pe2Zvcih2YXIgaSBpbiBvKSJvYmplY3QiPT10eXBlb2Ygb1tpXSYmdC5oYXNPd25Qcm9wZXJ0eShpKT9lKHRbaV0sb1tpXSk6dFtpXT1vW2ldO3JldHVybiB0fSh3aW5kb3cuVHJhZGluZ1ZpZXcsYyk6d2luZG93LlRyYWRpbmdWaWV3PWN9KCk7"}},"time_used":1064,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1064,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/t6.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.067Z","timestamp":1785136422067,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/t6.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Mon, 07 Feb 2022 17:38:22 GMT\r\naccept-ranges: bytes\r\netag: \"03b6980491cd81:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 135426\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":135426,"size_decoded":135769,"mime_type":"image/png","magic":"PNG image data, 400 x 433, 8-bit/color RGBA, non-interlaced","md5":"8af991d448b9f492db046f0b707e6332","sha1":"cf5e4872851258083769f35d26e7f7301dfb80d6","sha256":"d464dfe4e566ec328a65f1bd35c8fec0fc77135c34558db7516398ca89df4bdb","sha512":"b27b349e0dc0b289f803638290205d12bed9b627c6568985549ca775036323d8f15527942a336bd5e318a6b8a80f88dbe832172679405a8d995b845d2a319c9d","ssdeep":"3072:M+jIpWGpi30donRV2G/rKp2hKFIblnEdYJ+YrR9VFH:M+jIpWGpi30dmBFblnEdYB/3","tlshash":"75d31268b68c7733f6541b0f2913420f33a825ea744ed602f6f50a166d382ac375f5ad","first_seen":"2024-10-05T01:17:38Z","last_seen":"2026-08-10T01:49:01.157522Z","times_seen":16,"resource_available":false,"data":"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"}},"time_used":4791,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4434,"receive":357,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.576Z","timestamp":1785136427576,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/81a298ddc7471070.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823944\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"81a298ddc7471070.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"19fc6352b3bef54383c8770d74131cfa\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/81a298ddc7471070.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wcw4z-1781312483461-776bf6c194f6\r\nx-xss-protection: 1; mode=block\r\npriority: u=4,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=MkXQNO2Jji2FyQRIHVDaQfeh44cY8p%2BHdCMp6yLoaS4g0u2bvcDjoE%2FbGUfYzRwAipkHORcWMDwxM94g%2B0qxNFD8Vwp%2BGvdD3CiQ0pgKG%2BCKHjWCLKDdsQj%2FpNE0\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f05f0c8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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"]},{"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"]}],"data":{"size":8114,"size_decoded":4396,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8114), with no line terminators","md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-11T04:47:30.109196Z","times_seen":1901,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk0OTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODk3OTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoOTQ5NCl9LDcxMjM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYW5kbGVJU1JFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49InUiPHR5cGVvZiB3aW5kb3c/ZS5yKDg5NzkxKS53b3JrQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBvKHtlcnJvcjplfSl7aWYobil7bGV0IHQ9bi5nZXRTdG9yZSgpO2lmKHQ/LmlzU3RhdGljR2VuZXJhdGlvbil0aHJvdyBlJiZjb25zb2xlLmVycm9yKGUpLGV9cmV0dXJuIG51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQwODQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVVudHJhY2tlZFBhdGhuYW1lIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoNzUyMDEpLG89ZS5yKDMxODk5KTtmdW5jdGlvbiB1KCl7cmV0dXJuIWZ1bmN0aW9uKCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHt3b3JrVW5pdEFzeW5jU3RvcmFnZTp0fT1lLnIoMTI5NjUpLHI9dC5nZXRTdG9yZSgpO2lmKCFyKXJldHVybiExO3N3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO3JldHVybiEhbiYmbi5zaXplPjB9fXJldHVybiExfSgpPygwLG4udXNlQ29udGV4dCkoby5QYXRobmFtZUNvbnRleHQpOm51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODMzOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2hhbmRsZUhhcmROYXZFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSx1c2VOYXZGYWlsdXJlSGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2Uucig3NTIwMSk7bGV0IHU9ZS5yKDg1NTk0KTtmdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJiJ1Ij50eXBlb2Ygd2luZG93KSYmISF3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwmJigwLHUuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PSgwLHUuY3JlYXRlSHJlZkZyb21VcmwpKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCkmJihjb25zb2xlLmVycm9yKCJFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiIsZSksd2luZG93LmxvY2F0aW9uLmhyZWY9d2luZG93Lm5leHQuX19wZW5kaW5nVXJsLnRvU3RyaW5nKCksITApfWZ1bmN0aW9uIGkoKXt9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQ4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0Vycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gX30sRXJyb3JCb3VuZGFyeUhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoODEyNTgpLGw9ZS5yKDk4MTM0KSxpPXUuXyhlLnIoNzUyMDEpKSxhPWUucig3NDA4NCkscz1lLnIoNDk4NDMpO2Uucig4MzM5OCk7bGV0IGQ9ZS5yKDcxMjM0KSxjPWUucigzNDY1KSxmPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxjLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgcCBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5yZXNldD0oKT0+e3RoaXMuc2V0U3RhdGUoe2Vycm9yOm51bGx9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIWY/KDAsbC5qc3hzKShsLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbC5qc3gpKGQuSGFuZGxlSVNSRXJyb3Ise2Vycm9yOnRoaXMuc3RhdGUuZXJyb3J9KSx0aGlzLnByb3BzLmVycm9yU3R5bGVzLHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLCgwLGwuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yLHJlc2V0OnRoaXMucmVzZXR9KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBfKHtlcnJvckNvbXBvbmVudDplLGVycm9yU3R5bGVzOnQsZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46bn0pe2xldCBvPSgwLGEudXNlVW50cmFja2VkUGF0aG5hbWUpKCk7cmV0dXJuIGU/KDAsbC5qc3gpKHAse3BhdGhuYW1lOm8sZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KTooMCxsLmpzeCkobC5GcmFnbWVudCx7Y2hpbGRyZW46bn0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3MjQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWRpcmVjdEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJlZGlyZWN0RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig0NDA2NiksbD1lLnIoOTgxMzQpLGk9dS5fKGUucig3NTIwMSkpLGE9ZS5yKDI4OTk1KSxzPWUucig0MTcyMSksZD1lLnIoOTA4NjIpO2Z1bmN0aW9uIGMoe3JlZGlyZWN0OmUscmVzZXQ6dCxyZWRpcmVjdFR5cGU6cn0pe2xldCBuPSgwLGEudXNlUm91dGVyKSgpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKT0+e2kuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntyPT09ZC5SZWRpcmVjdFR5cGUucHVzaD9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZiBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxkLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsbC5qc3gpKGMse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxhLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxsLmpzeCkoZix7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUwMDk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnJlc29sdmVkVGhlbmFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXt0aGVuOigpPT57fX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzYzNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e01ldGFkYXRhQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sT3V0bGV0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUm9vdExheW91dEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFZpZXdwb3J0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNTM0NTkpLGw9e1t1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1Lk9VVExFVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfX0saT1sW3UuTUVUQURBVEFfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0sYT1sW3UuVklFV1BPUlRfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0scz1sW3UuT1VUTEVUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGQ9bFt1LlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldfSw0NDkzNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSGVhZE1hbmFnZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODEyNTgpLl8oZS5yKDc1MjAxKSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMTYxNTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig5ODEzNCksbz1lLnIoNzEyMzQpLHU9e2ZvbnRGYW1pbHk6J3N5c3RlbS11aSwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSInLGhlaWdodDoiMTAwdmgiLHRleHRBbGlnbjoiY2VudGVyIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGw9e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyOHB4IixtYXJnaW46IjAgOHB4In0saT1mdW5jdGlvbih7ZXJyb3I6ZX0pe2xldCB0PWU/LmRpZ2VzdDtyZXR1cm4oMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7fSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoby5IYW5kbGVJU1JFcnJvcix7ZXJyb3I6ZX0pLCgwLG4uanN4KSgiZGl2Iix7c3R5bGU6dSxjaGlsZHJlbjooMCxuLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsbi5qc3hzKSgiaDIiLHtzdHlsZTpsLGNoaWxkcmVuOlsiQXBwbGljYXRpb24gZXJyb3I6IGEgIix0PyJzZXJ2ZXIiOiJjbGllbnQiLCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIiAoc2VlIHRoZSIsIiAiLHQ/InNlcnZlciBsb2dzIjoiYnJvd3NlciBjb25zb2xlIiwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS4iXX0pLHQ/KDAsbi5qc3gpKCJwIix7c3R5bGU6bCxjaGlsZHJlbjpgRGlnZXN0OiAke3R9YH0pOm51bGxdfSl9KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.583Z","timestamp":1785136427583,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4815a758657d4bae.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 3823943\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4815a758657d4bae.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"9b4f6d29f92ea43b7c7ef4770fbed76a\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4815a758657d4bae.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::98lrq-1781312483644-7e3fe14e464a\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=AIo0iey7kVhtOR03JG%2BKZ0qeNCxwcnzI7QLCjVqKSTyfY52Wxe4pTUf6niQZXT6mEMJNLcTKGEEBWX3ZOlTx5oSFKWRzdIneN3K77zkcWdbSlKlhRE9nq8p52D2E\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f06f128deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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"]},{"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":49883,"size_decoded":17716,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49883), with no line terminators","md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-11T04:47:30.060041Z","times_seen":1896,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkzMDYzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJSZWRpcmVjdFN0YXR1c0NvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO3ZhciByLG89KChyPXt9KVtyLlNlZU90aGVyPTMwM109IlNlZU90aGVyIixyW3IuVGVtcG9yYXJ5UmVkaXJlY3Q9MzA3XT0iVGVtcG9yYXJ5UmVkaXJlY3QiLHJbci5QZXJtYW5lbnRSZWRpcmVjdD0zMDhdPSJQZXJtYW5lbnRSZWRpcmVjdCIscik7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTA4NjIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHIsbz17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBhfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saXNSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIHUgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkobix1LHtlbnVtZXJhYmxlOiEwLGdldDpvW3VdfSk7bGV0IGk9ZS5yKDkzMDYzKSxhPSJORVhUX1JFRElSRUNUIjt2YXIgbD0oKHI9e30pLnB1c2g9InB1c2giLHIucmVwbGFjZT0icmVwbGFjZSIscik7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0IHQ9ZS5kaWdlc3Quc3BsaXQoIjsiKSxbbixyXT10LG89dC5zbGljZSgyLC0yKS5qb2luKCI7IiksdT1OdW1iZXIodC5hdCgtMikpO3JldHVybiBuPT09YSYmKCJyZXBsYWNlIj09PXJ8fCJwdXNoIj09PXIpJiYic3RyaW5nIj09dHlwZW9mIG8mJiFpc05hTih1KSYmdSBpbiBpLlJlZGlyZWN0U3RhdHVzQ29kZX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzNDY0MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gU30sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiB2fSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT1bdSxhLGwsYyxzXSx2PSJfcnNjIixoPSJ4LW5leHRqcy1zdGFsZS10aW1lIixfPSJ4LW5leHRqcy1wb3N0cG9uZWQiLGI9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixnPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLG09IngtbmV4dGpzLXByZXJlbmRlciIsRT0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsUz0ieC1uZXh0anMtcmVxdWVzdC1pZCIsUj0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixPPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMjc0NTQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e0RFRkFVTFRfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTk9UX0ZPVU5EX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBBR0VfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBsfSxjb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFNlZ21lbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHI9ITAsbz1bXSl7bGV0IGk7aWYocilpPXRbMV1bbl07ZWxzZXtsZXQgZT10WzFdO2k9ZS5jaGlsZHJlbj8/T2JqZWN0LnZhbHVlcyhlKVswXX1pZighaSlyZXR1cm4gbztsZXQgYT11KGlbMF0pO3JldHVybiFhfHxhLnN0YXJ0c1dpdGgoYyk/bzooby5wdXNoKGEpLGUoaSxuLCExLG8pKX19LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzUGFyYWxsZWxSb3V0ZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2VbMV06ZX1mdW5jdGlvbiBpKGUpe3JldHVybiIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIkAiKSYmIkBjaGlsZHJlbiIhPT1lfWZ1bmN0aW9uIGwoZSx0KXtpZihlLmluY2x1ZGVzKGMpKXtsZXQgZT1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4ie30iIT09ZT9jKyI/IitlOmN9cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG49ImNoaWxkcmVuIj09PXQ/ZVswXTplW2UubGVuZ3RoLTFdO3JldHVybiBuPT09Zj9udWxsOm59bGV0IGM9Il9fUEFHRV9fIixmPSJfX0RFRkFVTFRfXyIsZD0iL19ub3QtZm91bmQifSw3NTA1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17VW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2NsYXNzIHUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLm5hbWU9IlVucmVjb2duaXplZEFjdGlvbkVycm9yIn19ZnVuY3Rpb24gaShlKXtyZXR1cm4hIShlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUgaW5zdGFuY2VvZiB1KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzA4OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiYWN0aW9uQXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSgwLGUucig0OTIxMSkuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDIzNzA4LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlfX0pO2xldCByPWUucig5NzA4OCl9LDQxNzIxLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtnZXRSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scGVybWFuZW50UmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY30scmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1lLnIoOTMwNjMpLGk9ZS5yKDkwODYyKSxhPSJ1Ijx0eXBlb2Ygd2luZG93P2UucigyMzcwOCkuYWN0aW9uQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBsKGUsdCxuPXUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KXtsZXQgcj1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoaS5SRURJUkVDVF9FUlJPUl9DT0RFKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gci5kaWdlc3Q9YCR7aS5SRURJUkVDVF9FUlJPUl9DT0RFfTske3R9OyR7ZX07JHtufTtgLHJ9ZnVuY3Rpb24gcyhlLHQpe3Rocm93IGwoZSx0Pz89YT8uZ2V0U3RvcmUoKT8uaXNBY3Rpb24/aS5SZWRpcmVjdFR5cGUucHVzaDppLlJlZGlyZWN0VHlwZS5yZXBsYWNlLHUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KX1mdW5jdGlvbiBjKGUsdD1pLlJlZGlyZWN0VHlwZS5yZXBsYWNlKXt0aHJvdyBsKGUsdCx1LlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxpLmlzUmVkaXJlY3RFcnJvcikoZSk/ZS5kaWdlc3Quc3BsaXQoIjsiKS5zbGljZSgyLC0yKS5qb2luKCI7Iik6bnVsbH1mdW5jdGlvbiBkKGUpe2lmKCEoMCxpLmlzUmVkaXJlY3RFcnJvcikoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOb3QgYSByZWRpcmVjdCBlcnJvciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjYwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlLmRpZ2VzdC5zcGxpdCgiOyIsMilbMV19ZnVuY3Rpb24gcChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IikuYXQoLTIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNjg3MiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2xldCB1PWUucig4MTI1OCkuXyhlLnIoNzUyMDEpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDYzMTY1LChlLHQsbik9Pnt2YXIgcj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e249ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtuPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKG4pe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmciYmKHM9ITEsci5sZW5ndGg/bD1yLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKHI9bCxsPVtdOysrYzx0OylyJiZyW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1yPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKG49PT1pfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtyW2VdKG4sbi5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gbi5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfcmVhY3QtZG9tQDE5LjIuM19yZWFjdEAxOS4yLjNfX3JlYWN0QDE5LjIuMy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvIix0LmV4cG9ydHM9dSgyMjkpfSw4MjYzNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLG87dC5leHBvcnRzPShudWxsPT0ocj1lLmcucHJvY2Vzcyk/dm9pZCAwOnIuZW52KSYmIm9iamVjdCI9PXR5cGVvZihudWxsPT0obz1lLmcucHJvY2Vzcyk/dm9pZCAwOm8uZW52KT9lLmcucHJvY2VzczplLnIoNjMxNjUpfSw5OTI5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iik7ZnVuY3Rpb24gbyhlLHQsbil7dmFyIG89bnVsbDtpZih2b2lkIDAhPT1uJiYobz0iIituKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLCJrZXkiaW4gdClmb3IodmFyIHUgaW4gbj17fSx0KSJrZXkiIT09dSYmKG5bdV09dFt1XSk7ZWxzZSBuPXQ7cmV0dXJueyQkdHlwZW9mOnIsdHlwZTplLGtleTpvLHJlZjp2b2lkIDAhPT0odD1uLnJlZik/dDpudWxsLHByb3BzOm59fW4uRnJhZ21lbnQ9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxuLmpzeD1vLG4uanN4cz1vfSw5ODEzNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoOTkyOTMpfSw2MzQxNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUuaSg4MjYzNyksbz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxsPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikscz1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLGM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxkPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLGg9U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksXz1TeW1ib2wuaXRlcmF0b3IsYj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sZz1PYmplY3QuYXNzaWduLG09e307ZnVuY3Rpb24gRShlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gUihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSxFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sUy5wcm90b3R5cGU9RS5wcm90b3R5cGU7dmFyIE89Ui5wcm90b3R5cGU9bmV3IFM7Ty5jb25zdHJ1Y3Rvcj1SLGcoTyxFLnByb3RvdHlwZSksTy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgdz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFQoKXt9dmFyIGo9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbH0sQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGsoZSx0LG4pe3ZhciByPW4ucmVmO3JldHVybnskJHR5cGVvZjpvLHR5cGU6ZSxrZXk6dCxyZWY6dm9pZCAwIT09cj9yOm51bGwscHJvcHM6bn19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09b312YXIgTj0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3ZhciBuLHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KG49IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIituLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4hZnVuY3Rpb24gZSh0LG4scixpLGEpe3ZhciBsLHMsYyxmPXR5cGVvZiB0OygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYodD1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09dClkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmQ9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIG86Y2FzZSB1OmQ9ITA7YnJlYWs7Y2FzZSB5OnJldHVybiBlKChkPXQuX2luaXQpKHQuX3BheWxvYWQpLG4scixpLGEpfX1pZihkKXJldHVybiBhPWEodCksZD0iIj09PWk/Ii4iK1AodCwwKTppLHcoYSk/KHI9IiIsbnVsbCE9ZCYmKHI9ZC5yZXBsYWNlKE4sIiQmLyIpKyIvIiksZShhLG4sciwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1hJiYoQyhhKSYmKGw9YSxzPXIrKG51bGw9PWEua2V5fHx0JiZ0LmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShOLCIkJi8iKSsiLyIpK2QsYT1rKGwudHlwZSxzLGwucHJvcHMpKSxuLnB1c2goYSkpLDE7ZD0wO3ZhciBwPSIiPT09aT8iLiI6aSsiOiI7aWYodyh0KSlmb3IodmFyIHY9MDt2PHQubGVuZ3RoO3YrKylmPXArUChpPXRbdl0sdiksZCs9ZShpLG4scixmLGEpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mKHY9bnVsbD09PShjPXQpfHwib2JqZWN0IiE9dHlwZW9mIGM/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoYz1fJiZjW19dfHxjWyJAQGl0ZXJhdG9yIl0pP2M6bnVsbCkpZm9yKHQ9di5jYWxsKHQpLHY9MDshKGk9dC5uZXh0KCkpLmRvbmU7KWY9cCtQKGk9aS52YWx1ZSx2KyspLGQrPWUoaSxuLHIsZixhKTtlbHNlIGlmKCJvYmplY3QiPT09Zil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZShmdW5jdGlvbihlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCgic3RyaW5nIj09dHlwZW9mIGUuc3RhdHVzP2UudGhlbihULFQpOihlLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKHQpeyJwZW5kaW5nIj09PWUuc3RhdHVzJiYoZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10KX0sZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXQpfSkpLGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgZS5yZWFzb259fXRocm93IGV9KHQpLG4scixpLGEpO3Rocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KG49U3RyaW5nKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpuKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpfXJldHVybiBkfShlLHIsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gRChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbihmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PXQpfSxmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBNPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCByLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uICQoZSl7dmFyIHQ9ai5ULG49e307bi50eXBlcz1udWxsIT09dD90LnR5cGVzOm51bGwsai5UPW47dHJ5e3ZhciByPWUoKSxvPWouUztudWxsIT09byYmbyhuLHIpLCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4mJnIudGhlbihULE0pfWNhdGNoKGUpe00oZSl9ZmluYWxseXtudWxsIT09dCYmbnVsbCE9PW4udHlwZXMmJih0LnR5cGVzPW4udHlwZXMpLGouVD10fX1mdW5jdGlvbiBJKGUpe3ZhciB0PWouVDtpZihudWxsIT09dCl7dmFyIG49dC50eXBlcztudWxsPT09bj90LnR5cGVzPVtlXTotMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpfWVsc2UgJChJLmJpbmQobnVsbCxlKSl9bi5BY3Rpdml0eT12LG4uQ2hpbGRyZW49e21hcDp4LGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe3goZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geChlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PUUsbi5GcmFnbWVudD1pLG4uUHJvZmlsZXI9bCxuLlB1cmVDb21wb25lbnQ9UixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWQsbi5WaWV3VHJhbnNpdGlvbj1oLG4uX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWosbi5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VNZW1vQ2FjaGUoZSl9fSxuLmFkZFRyYW5zaXRpb25UeXBlPUksbi5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxuLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LG4uY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleTtpZihudWxsIT10KWZvcih1IGluIHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksdClBLmNhbGwodCx1KSYmImtleSIhPT11JiYiX19zZWxmIiE9PXUmJiJfX3NvdXJjZSIhPT11JiYoInJlZiIhPT11fHx2b2lkIDAhPT10LnJlZikmJihyW3VdPXRbdV0pO3ZhciB1PWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09dSlyLmNoaWxkcmVuPW47ZWxzZSBpZigxPHUpe2Zvcih2YXIgaT1BcnJheSh1KSxhPTA7YTx1O2ErKylpW2FdPWFyZ3VtZW50c1thKzJdO3IuY2hpbGRyZW49aX1yZXR1cm4gayhlLnR5cGUsbyxyKX0sbi5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0pLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6cyxfY29udGV4dDplfSxlfSxuLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89e30sdT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSx0KUEuY2FsbCh0LHIpJiYia2V5IiE9PXImJiJfX3NlbGYiIT09ciYmIl9fc291cmNlIiE9PXImJihvW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aSlvLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgYT1BcnJheShpKSxsPTA7bDxpO2wrKylhW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW9bcl0mJihvW3JdPWlbcl0pO3JldHVybiBrKGUsdSxvKX0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkR9fSxuLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LG4uc3RhcnRUcmFuc2l0aW9uPSQsbi51bnN0YWJsZV91c2VDYWNoZVJlZnJlc2g9ZnVuY3Rpb24oKXtyZXR1cm4gai5ILnVzZUNhY2hlUmVmcmVzaCgpfSxuLnVzZT1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZShlKX0sbi51c2VBY3Rpb25TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VBY3Rpb25TdGF0ZShlLHQsbil9LG4udXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUNhbGxiYWNrKGUsdCl9LG4udXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUNvbnRleHQoZSl9LG4udXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sbi51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VEZWZlcnJlZFZhbHVlKGUsdCl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VFZmZlY3QoZSx0KX0sbi51c2VFZmZlY3RFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUVmZmVjdEV2ZW50KGUpfSxuLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGouSC51c2VJZCgpfSxuLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LG4udXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sbi51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUxheW91dEVmZmVjdChlLHQpfSxuLnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZU1lbW8oZSx0KX0sbi51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VPcHRpbWlzdGljKGUsdCl9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VSZWR1Y2VyKGUsdCxuKX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQsbil9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBqLkgudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSw3NTIwMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNjM0MTcpfSw0NDA2NiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAsbj1uZXcgV2Vha01hcDtyZXR1cm4ocj1mdW5jdGlvbihlKXtyZXR1cm4gZT9uOnR9KShlKX1uLl89ZnVuY3Rpb24oZSx0KXtpZighdCYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciBuPXIodCk7aWYobiYmbi5oYXMoZSkpcmV0dXJuIG4uZ2V0KGUpO3ZhciBvPXtfX3Byb3RvX186bnVsbH0sdT1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBpIGluIGUpaWYoImRlZmF1bHQiIT09aSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkpe3ZhciBhPXU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8saSxhKTpvW2ldPWVbaV19cmV0dXJuIG8uZGVmYXVsdD1lLG4mJm4uc2V0KGUsbyksb319LDgxMjU4LChlLHQsbik9PnsidXNlIHN0cmljdCI7bi5fPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX19LDQ5MjExLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtiaW5kU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY3JlYXRlU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogQXN5bmNMb2NhbFN0b3JhZ2UgYWNjZXNzZWQgaW4gcnVudGltZSB3aGVyZSBpdCBpcyBub3QgYXZhaWxhYmxlIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1MDQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgaXtkaXNhYmxlKCl7dGhyb3cgdX1nZXRTdG9yZSgpe31ydW4oKXt0aHJvdyB1fWV4aXQoKXt0aHJvdyB1fWVudGVyV2l0aCgpe3Rocm93IHV9c3RhdGljIGJpbmQoZSl7cmV0dXJuIGV9fWxldCBhPSJ1Ij50eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcy5Bc3luY0xvY2FsU3RvcmFnZTtmdW5jdGlvbiBsKCl7cmV0dXJuIGE/bmV3IGE6bmV3IGl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gYT9hLmJpbmQoZSk6aS5iaW5kKGUpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYT9hLnNuYXBzaG90KCk6ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gZSguLi50KX19fSw1NjU0OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUucig3NTIwMSk7ZnVuY3Rpb24gbyhlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHUoKXt9dmFyIGk9e2Q6e2Y6dSxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iobyg1MjIpKX0sRDp1LEM6dSxMOnUsbTp1LFg6dSxTOnUsTTp1fSxwOjAsZmluZERPTU5vZGU6bnVsbH0sYT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm9wdGltaXN0aWNfa2V5Iikscz1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBjKGUsdCl7cmV0dXJuImZvbnQiPT09ZT8iIjoic3RyaW5nIj09dHlwZW9mIHQ/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwfW4uX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksbi5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighdHx8MSE9PXQubm9kZVR5cGUmJjkhPT10Lm5vZGVUeXBlJiYxMSE9PXQubm9kZVR5cGUpdGhyb3cgRXJyb3IobygyOTkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjphLGtleTpudWxsPT1yP251bGw6cj09PWw/bDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzp0LGltcGxlbWVudGF0aW9uOm59fShlLHQsbnVsbCxuKX0sbi5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5ULG49aS5wO3RyeXtpZihzLlQ9bnVsbCxpLnA9MixlKXJldHVybiBlKCl9ZmluYWxseXtzLlQ9dCxpLnA9bixpLmQuZigpfX0sbi5wcmVjb25uZWN0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PXR5cGVvZiBlJiYodD10PyJzdHJpbmciPT10eXBlb2YodD10LmNyb3NzT3JpZ2luKT8idXNlLWNyZWRlbnRpYWxzIj09PXQ/dDoiIjp2b2lkIDA6bnVsbCxpLmQuQyhlLHQpKX0sbi5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUmJmkuZC5EKGUpfSxuLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJnQmJiJzdHJpbmciPT10eXBlb2YgdC5hcyl7dmFyIG49dC5hcyxyPWMobix0LmNyb3NzT3JpZ2luKSxvPSJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwLHU9InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMDsic3R5bGUiPT09bj9pLmQuUyhlLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5Om8sZmV0Y2hQcmlvcml0eTp1fSk6InNjcmlwdCI9PT1uJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTpvLGZldGNoUHJpb3JpdHk6dSxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19LG4ucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtpZihudWxsPT10LmFzfHwic2NyaXB0Ij09PXQuYXMpe3ZhciBuPWModC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19ZWxzZSBudWxsPT10JiZpLmQuTShlKX0sbi5wcmVsb2FkPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciBuPXQuYXMscj1jKG4sdC5jcm9zc09yaWdpbik7aS5kLkwoZSxuLHtjcm9zc09yaWdpbjpyLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDAsdHlwZToic3RyaW5nIj09dHlwZW9mIHQudHlwZT90LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeToic3RyaW5nIj09dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k/dC5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU3JjU2V0P3QuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU2l6ZXM/dC5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYToic3RyaW5nIj09dHlwZW9mIHQubWVkaWE/dC5tZWRpYTp2b2lkIDB9KX19LG4ucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZih0KXt2YXIgbj1jKHQuYXMsdC5jcm9zc09yaWdpbik7aS5kLm0oZSx7YXM6InN0cmluZyI9PXR5cGVvZiB0LmFzJiYic2NyaXB0IiE9PXQuYXM/dC5hczp2b2lkIDAsY3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDB9KX1lbHNlIGkuZC5tKGUpfSxuLnJlcXVlc3RGb3JtUmVzZXQ9ZnVuY3Rpb24oZSl7aS5kLnIoZSl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sbi51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBzLkgudXNlRm9ybVN0YXRlKGUsdCxuKX0sbi51c2VGb3JtU3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIHMuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSwyOTA4MCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDU2NTQ5KX0sODg3NzQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldERlcGxveW1lbnRJZDpmdW5jdGlvbigpe3JldHVybiB1fSxnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KCl7cmV0dXJuITF9ZnVuY3Rpb24gaSgpe3JldHVybiIifX0sNDk3MDYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lLnIoMjkwODApLG89e3N0cmVhbTohMH0sdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkodCl7dmFyIG49ZS5yKHQpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRoZW58fCJmdWxmaWxsZWQiPT09bi5zdGF0dXM/bnVsbDoobi50aGVuKGZ1bmN0aW9uKGUpe24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX0sZnVuY3Rpb24oZSl7bi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lfSksbil9dmFyIGE9bmV3IFdlYWtTZXQsbD1uZXcgV2Vha1NldDtmdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGModCl7Zm9yKHZhciBuPXRbMV0scj1bXSxvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciB1PWUuTChuW29dKTtpZihsLmhhcyh1KXx8ci5wdXNoKHUpLCFhLmhhcyh1KSl7dmFyIGM9bC5hZGQuYmluZChsLHUpO3UudGhlbihjLHMpLGEuYWRkKHUpfX1yZXR1cm4gND09PXQubGVuZ3RoPzA9PT1yLmxlbmd0aD9pKHRbMF0pOlByb21pc2UuYWxsKHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaSh0WzBdKX0pOjA8ci5sZW5ndGg/UHJvbWlzZS5hbGwocik6bnVsbH1mdW5jdGlvbiBmKHQpe3ZhciBuPWUucih0WzBdKTtpZig0PT09dC5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4paWYoImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyluPW4udmFsdWU7ZWxzZSB0aHJvdyBuLnJlYXNvbjtyZXR1cm4iKiI9PT10WzJdP246IiI9PT10WzJdP24uX19lc01vZHVsZT9uLmRlZmF1bHQ6bjp1LmNhbGwobix0WzJdKT9uW3RbMl1dOnZvaWQgMH12YXIgZD1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxwPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3IsaD1TeW1ib2wuYXN5bmNJdGVyYXRvcixfPUFycmF5LmlzQXJyYXksYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZz1PYmplY3QucHJvdG90eXBlLG09bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRShlLHQsbil7bS5oYXMoZSl8fG0uc2V0KGUse2lkOnQsb3JpZ2luYWxCaW5kOmUuYmluZCxib3VuZDpufSl9ZnVuY3Rpb24gUyhlLHQsbil7dGhpcy5zdGF0dXM9ZSx0aGlzLnZhbHVlPXQsdGhpcy5yZWFzb249bn1mdW5jdGlvbiBSKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RChlKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TShlKX1zd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInBlbmRpbmciOmNhc2UiYmxvY2tlZCI6Y2FzZSJoYWx0ZWQiOnRocm93IGU7ZGVmYXVsdDp0aHJvdyBlLnJlYXNvbn19ZnVuY3Rpb24gTyhlLHQsbixyKXtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHU9dFtvXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KG4pOkwoZSx1LG4scil9fWZ1bmN0aW9uIHcoZSx0LG4pe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdOyJmdW5jdGlvbiI9PXR5cGVvZiBvP28obik6VShlLG8uaGFuZGxlcixuKX19ZnVuY3Rpb24gVChlLHQpe3ZhciBuPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09bilyZXR1cm4gbnVsbDtpZihuPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1uLnZhbHVlKSlmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09KHI9VChlLHIpKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCxuLHIpe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOk8oZSxuLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHU9bltvXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdSl7dmFyIGk9VCh0LHUpO2lmKG51bGwhPT1pKXN3aXRjaChMKGUsdSxpLnZhbHVlLHQpLG4uc3BsaWNlKG8sMSksby0tLG51bGwhPT1yJiYtMSE9PSh1PXIuaW5kZXhPZih1KSkmJnIuc3BsaWNlKHUsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpPKGUsbix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09ciYmdyhlLHIsdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChuW2VdKTtlbHNlIHQudmFsdWU9bjtpZih0LnJlYXNvbil7aWYocilmb3Iobj0wO248ci5sZW5ndGg7bisrKXQucmVhc29uLnB1c2gocltuXSl9ZWxzZSB0LnJlYXNvbj1yO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOnImJncoZSxyLHQucmVhc29uKX19ZnVuY3Rpb24gQShlLHQsbil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKG4pO2Vsc2V7dmFyIHI9dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLG51bGwhPT1yJiZ3KGUscixuKX19ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKG4/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBDKGUsdCxuLHIpe04oZSx0LChyPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrbisifSIpfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChuKTtlbHNle3ZhciByPXQudmFsdWUsbz10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9bix0LnJlYXNvbj1lLG51bGwhPT1yJiYoRCh0KSxqKGUsdCxyLG8pKX19ZnVuY3Rpb24gUChlLHQsbil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgcj10LnZhbHVlLG89dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1uLHQucmVhc29uPW51bGwsbnVsbCE9PXImJihNKHQpLGooZSx0LHIsbykpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgeD1udWxsO2Z1bmN0aW9uIEQoZSl7dmFyIHQ9eDt4PW51bGw7dmFyIG49ZS52YWx1ZSxyPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIG89SlNPTi5wYXJzZShuLHIuX2Zyb21KU09OKSx1PWUudmFsdWU7aWYobnVsbCE9PXUpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLG49MDtuPHUubGVuZ3RoO24rKyl7dmFyIGk9dVtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaT9pKG8pOkwocixpLG8sZSl9aWYobnVsbCE9PXgpe2lmKHguZXJyb3JlZCl0aHJvdyB4LnJlYXNvbjtpZigwPHguZGVwcyl7eC52YWx1ZT1vLHguY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9b31jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9ZmluYWxseXt4PXR9fWZ1bmN0aW9uIE0oZSl7dHJ5e3ZhciB0PWYoZS52YWx1ZSk7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10fWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH19ZnVuY3Rpb24gJChlLHQpe2UuX2Nsb3NlZD0hMCxlLl9jbG9zZWRSZWFzb249dCxlLl9jaHVua3MuZm9yRWFjaChmdW5jdGlvbihuKXsicGVuZGluZyI9PT1uLnN0YXR1cz9BKGUsbix0KToiZnVsZmlsbGVkIj09PW4uc3RhdHVzJiZudWxsIT09bi5yZWFzb24mJm4ucmVhc29uLmVycm9yKHQpfSl9ZnVuY3Rpb24gSShlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDplLF9pbml0OlJ9fWZ1bmN0aW9uIEgoZSx0KXt2YXIgbj1lLl9jaHVua3Mscj1uLmdldCh0KTtyZXR1cm4gcnx8KHI9ZS5fY2xvc2VkP25ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpLG4uc2V0KHQscikpLHJ9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5oYW5kbGVyLG89dC5wYXJlbnRPYmplY3QsaT10LmtleSxhPXQubWFwLGw9dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPGwubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiZuLiQkdHlwZW9mPT09eTspe3ZhciBjPW4uX3BheWxvYWQ7aWYoYz09PXIuY2h1bmspbj1yLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOm49Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPVQoYyx0KTtpZihudWxsIT09Zil7bj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6bC5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpVKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1sW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJnUuY2FsbChuLGQpKW49bltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJm4uJCR0eXBlb2Y9PT15Oyl7dmFyIHY9bi5fcGF5bG9hZDtpZih2PT09ci5jaHVuayluPXIudmFsdWU7ZWxzZXtzd2l0Y2godi5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodik7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odil9aWYoImZ1bGZpbGxlZCI9PT12LnN0YXR1cyl7bj12LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgaD1hKGUsbixvLGkpO2lmKCJfX3Byb3RvX18iIT09aSYmKG9baV09aCksIiI9PT1pJiZudWxsPT09ci52YWx1ZSYmKHIudmFsdWU9aCksb1swXT09PXAmJiJvYmplY3QiPT10eXBlb2Ygci52YWx1ZSYmbnVsbCE9PXIudmFsdWUmJnIudmFsdWUuJCR0eXBlb2Y9PT1wKXt2YXIgXz1yLnZhbHVlOyIzIj09PWkmJihfLnByb3BzPWgpfX1jYXRjaChuKXtVKGUsdC5oYW5kbGVyLG4pO3JldHVybn1yLmRlcHMtLSwwPT09ci5kZXBzJiZudWxsIT09KHQ9ci5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYobj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9ci52YWx1ZSx0LnJlYXNvbj1yLnJlYXNvbixudWxsIT09biYmTyhlLG4sci52YWx1ZSx0KSl9ZnVuY3Rpb24gVShlLHQsbil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1uLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkEoZSx0LG4pKX1mdW5jdGlvbiBGKGUsdCxuLHIsbyx1KXtyZXR1cm4geD8ocj14LHIuZGVwcysrKTpyPXg9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpyLHBhcmVudE9iamVjdDp0LGtleTpuLG1hcDpvLHBhdGg6dX0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uIFgoZSx0LG4scil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbz8iZnVsZmlsbGVkIj09PW8uc3RhdHVzP3QocixvLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQocixuLmNvbmNhdChlKSl9KTp0KHIsZSl9dmFyIHI9ZS5pZCxvPWUuYm91bmQ7cmV0dXJuIEUobixyLG8pLG59KHQsZS5fY2FsbFNlcnZlcik7dmFyIG89ZnVuY3Rpb24oZSx0KXt2YXIgbj0iIixyPWVbdF07aWYociluPXIubmFtZTtlbHNle3ZhciBvPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PW8mJihuPXQuc2xpY2UobysxKSxyPWVbdC5zbGljZSgwLG8pXSksIXIpdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiByLmFzeW5jP1tyLmlkLHIuY2h1bmtzLG4sMV06W3IuaWQsci5jaHVua3Msbl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSx1PWMobyk7aWYodSl0LmJvdW5kJiYodT1Qcm9taXNlLmFsbChbdSx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUodT1mKG8pLHQuaWQsdC5ib3VuZCksdTt1PVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZih4KXt2YXIgaT14O2kuZGVwcysrfWVsc2UgaT14PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiB1LnRoZW4oZnVuY3Rpb24oKXt2YXIgdT1mKG8pO2lmKHQuYm91bmQpe3ZhciBhPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7YS51bnNoaWZ0KG51bGwpLHU9dS5iaW5kLmFwcGx5KHUsYSl9RSh1LHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1yJiYobltyXT11KSwiIj09PXImJm51bGw9PT1pLnZhbHVlJiYoaS52YWx1ZT11KSxuWzBdPT09cCYmIm9iamVjdCI9PXR5cGVvZiBpLnZhbHVlJiZudWxsIT09aS52YWx1ZSYmaS52YWx1ZS4kJHR5cGVvZj09PXAmJihhPWkudmFsdWUsIjMiPT09cikmJihhLnByb3BzPXUpLGkuZGVwcy0tLDA9PT1pLmRlcHMmJm51bGwhPT0odT1pLmNodW5rKSYmImJsb2NrZWQiPT09dS5zdGF0dXMmJihhPXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1pLnZhbHVlLHUucmVhc29uPW51bGwsbnVsbCE9PWEmJk8oZSxhLGkudmFsdWUsdSkpfSxmdW5jdGlvbih0KXtpZighaS5lcnJvcmVkKXtpLmVycm9yZWQ9ITAsaS52YWx1ZT1udWxsLGkucmVhc29uPXQ7dmFyIG49aS5jaHVuaztudWxsIT09biYmImJsb2NrZWQiPT09bi5zdGF0dXMmJkEoZSxuLHQpfX0pLG51bGx9ZnVuY3Rpb24gVihlLHQsbixyLG8pe3ZhciB1PXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgodT1IKGUsdSkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RCh1KTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TSh1KX1zd2l0Y2godS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjp1PXUudmFsdWU7Zm9yKHZhciBpPTE7aTx0Lmxlbmd0aDtpKyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSYmdS4kJHR5cGVvZj09PXk7KXtzd2l0Y2goKHU9dS5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHUpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHUpfXN3aXRjaCh1LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnU9dS52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEYodSxuLHIsZSxvLHQuc2xpY2UoaS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX11PXVbdFtpXV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11JiZ1LiQkdHlwZW9mPT09eTspe3N3aXRjaCgodD11Ll9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7dT10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBvKGUsdSxuLHIpO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gRih1LG4scixlLG8sdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBxKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIFcoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gRyhlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWUuYXBwZW5kKHRbbl1bMF0sdFtuXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24gSihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24geigpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIFkoZSx0LG4scixvLHUsaSl7dmFyIGEsbD1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPW4sdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1yP3I6eix0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPW8sdGhpcy5fbm9uY2U9dSx0aGlzLl9jaHVua3M9bCx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9mcm9tSlNPTj1udWxsLHRoaXMuX2Nsb3NlZD0hMSx0aGlzLl9jbG9zZWRSZWFzb249bnVsbCx0aGlzLl90ZW1wUmVmcz1pLHRoaXMuX2Zyb21KU09OPShhPXRoaXMsZnVuY3Rpb24oZSx0KXtpZigiX19wcm90b19fIiE9PWUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49YSxyPXRoaXMsbz1lLHU9dDtpZigiJCI9PT11WzBdKXtpZigiJCI9PT11KXJldHVybiBudWxsIT09eCYmIjAiPT09byYmKHg9e3BhcmVudDp4LGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjAsZXJyb3JlZDohMX0pLHA7c3dpdGNoKHVbMV0pe2Nhc2UiJCI6cmV0dXJuIHUuc2xpY2UoMSk7Y2FzZSJMIjpyZXR1cm4gSShuPUgobixyPXBhcnNlSW50KHUuc2xpY2UoMiksMTYpKSk7Y2FzZSJAIjpyZXR1cm4gSChuLHI9cGFyc2VJbnQodS5zbGljZSgyKSwxNikpO2Nhc2UiUyI6cmV0dXJuIFN5bWJvbC5mb3IodS5zbGljZSgyKSk7Y2FzZSJoIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sWCk7Y2FzZSJUIjppZihyPSIkIit1LnNsaWNlKDIpLG51bGw9PShuPW4uX3RlbXBSZWZzKSl0aHJvdyBFcnJvcigiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuIik7cmV0dXJuIG4uZ2V0KHIpO2Nhc2UiUSI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLHEpO2Nhc2UiVyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEIpO2Nhc2UiQiI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLFcpO2Nhc2UiSyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEcpO2Nhc2UiWiI6cmV0dXJuIGVyKCk7Y2FzZSJpIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sSik7Y2FzZSJJIjpyZXR1cm4gMS8wO2Nhc2UiLSI6cmV0dXJuIiQtMCI9PT11Py0wOi0xLzA7Y2FzZSJOIjpyZXR1cm4gTmFOO2Nhc2UidSI6cmV0dXJuO2Nhc2UiRCI6cmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodS5zbGljZSgyKSkpO2Nhc2UibiI6cmV0dXJuIEJpZ0ludCh1LnNsaWNlKDIpKTtkZWZhdWx0OnJldHVybiBWKG4sdT11LnNsaWNlKDEpLHIsbyxLKX19cmV0dXJuIHV9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYodFswXT09PXApe2lmKGU9eyQkdHlwZW9mOnAsdHlwZTp0WzFdLGtleTp0WzJdLHJlZjpudWxsLHByb3BzOnRbM119LG51bGwhPT14KXtpZih4PSh0PXgpLnBhcmVudCx0LmVycm9yZWQpZT1JKGU9bmV3IFMoInJlamVjdGVkIixudWxsLHQucmVhc29uKSk7ZWxzZSBpZigwPHQuZGVwcyl7dmFyIGk9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCk7dC52YWx1ZT1lLHQuY2h1bms9aSxlPUkoaSl9fX1lbHNlIGU9dDtyZXR1cm4gZX1yZXR1cm4gdH19KX1mdW5jdGlvbiBRKGUsdCxuKXt2YXIgcj0oZT1lLl9jaHVua3MpLmdldCh0KTtyJiYicGVuZGluZyIhPT1yLnN0YXR1cz9yLnJlYXNvbi5lbnF1ZXVlVmFsdWUobik6KG49bmV3IFMoImZ1bGZpbGxlZCIsbixudWxsKSxlLnNldCh0LG4pKX1mdW5jdGlvbiBaKGUsdCxuLHIpe3ZhciBvPWUuX2NodW5rcyx1PW8uZ2V0KHQpO3U/InBlbmRpbmciPT09dS5zdGF0dXMmJih0PXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1uLHUucmVhc29uPXIsbnVsbCE9PXQmJk8oZSx0LHUudmFsdWUsdSkpOihlPW5ldyBTKCJmdWxmaWxsZWQiLG4sciksby5zZXQodCxlKSl9ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByPW51bGwsbz0hMTtuPW5ldyBSZWFkYWJsZVN0cmVhbSh7dHlwZTpuLHN0YXJ0OmZ1bmN0aW9uKGUpe3I9ZX19KTt2YXIgdT1udWxsO1ooZSx0LG4se2VucXVldWVWYWx1ZTpmdW5jdGlvbihlKXtudWxsPT09dT9yLmVucXVldWUoZSk6dS50aGVuKGZ1bmN0aW9uKCl7ci5lbnF1ZXVlKGUpfSl9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXtpZihudWxsPT09dSl7dmFyIG49bmV3IFMoInJlc29sdmVkX21vZGVsIix0LGUpO0QobiksImZ1bGZpbGxlZCI9PT1uLnN0YXR1cz9yLmVucXVldWUobi52YWx1ZSk6KG4udGhlbihmdW5jdGlvbihlKXtyZXR1cm4gci5lbnF1ZXVlKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gci5lcnJvcihlKX0pLHU9bil9ZWxzZXtuPXU7dmFyIG89bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCk7by50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiByLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiByLmVycm9yKGUpfSksdT1vLG4udGhlbihmdW5jdGlvbigpe3U9PT1vJiYodT1udWxsKSxOKGUsbyx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighbylpZihvPSEwLG51bGw9PT11KXIuY2xvc2UoKTtlbHNle3ZhciBlPXU7dT1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiByLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFvKWlmKG89ITAsbnVsbD09PXUpci5lcnJvcihlKTtlbHNle3ZhciB0PXU7dT1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiByLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGV0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LG4pe3ZhciByPVtdLG89ITEsdT0wLGk9e307aVtoXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PXIubGVuZ3RoKXtpZihvKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO3JbdF09bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9cmV0dXJuIHJbdCsrXX19KVtoXT1ldCxlfSxaKGUsdCxuP2lbaF0oKTppLHtlbnF1ZXVlVmFsdWU6ZnVuY3Rpb24odCl7aWYodT09PXIubGVuZ3RoKXJbdV09bmV3IFMoImZ1bGZpbGxlZCIse2RvbmU6ITEsdmFsdWU6dH0sbnVsbCk7ZWxzZXt2YXIgbj1yW3VdLG89bi52YWx1ZSxpPW4ucmVhc29uO24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9e2RvbmU6ITEsdmFsdWU6dH0sbi5yZWFzb249bnVsbCxudWxsIT09byYmaihlLG4sbyxpKX11Kyt9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXt1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMSk6QyhlLHJbdV0sdCwhMSksdSsrfSxjbG9zZTpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMCk6QyhlLHJbdV0sdCwhMCksdSsrO3U8ci5sZW5ndGg7KUMoZSxyW3UrK10sJyIkdW5kZWZpbmVkIicsITApfSxlcnJvcjpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGgmJihyW3VdPW5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpKTt1PHIubGVuZ3RoOylBKGUsclt1KytdLHQpfX0pfWZ1bmN0aW9uIGVyKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVvKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wO288bjtvKyspcis9ZVtvXS5ieXRlTGVuZ3RoO3I9bmV3IFVpbnQ4QXJyYXkocik7Zm9yKHZhciB1PW89MDt1PG47dSsrKXt2YXIgaT1lW3VdO3Iuc2V0KGksbyksbys9aS5ieXRlTGVuZ3RofXJldHVybiByLnNldCh0LG8pLHJ9ZnVuY3Rpb24gZXUoZSx0LG4scixvLHUpe1EoZSx0LG89bmV3IG8oKG49MD09PW4ubGVuZ3RoJiYwPT1yLmJ5dGVPZmZzZXQldT9yOmVvKG4scikpLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoL3UpKX1mdW5jdGlvbiBlaShlKXskKGUsRXJyb3IoIkNvbm5lY3Rpb24gY2xvc2VkLiIpKX1mdW5jdGlvbiBlYShlKXtyZXR1cm4gbmV3IFkobnVsbCxudWxsLG51bGwsZSYmZS5jYWxsU2VydmVyP2UuY2FsbFNlcnZlcjp2b2lkIDAsdm9pZCAwLHZvaWQgMCxlJiZlLnRlbXBvcmFyeVJlZmVyZW5jZXM/ZS50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCl9ZnVuY3Rpb24gZWwoZSx0LG4pe2Z1bmN0aW9uIHIodCl7JChlLHQpfXZhciB1PXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LGk9dC5nZXRSZWFkZXIoKTtpLnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoYSl7dmFyIGw9YS52YWx1ZTtpZihhLmRvbmUpcmV0dXJuIG4oKTt2YXIgcz0wLGY9dS5fcm93U3RhdGU7YT11Ll9yb3dJRDtmb3IodmFyIHA9dS5fcm93VGFnLHk9dS5fcm93TGVuZ3RoLHY9dS5fYnVmZmVyLGg9bC5sZW5ndGg7czxoOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPWxbcysrXSk/Zj0xOmE9YTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPWxbc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhwPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhwPWYsZj0zLHMrKyk6KHA9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPWxbcysrXSk/Zj00Onk9eTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPWwuaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cyt5KT5sLmxlbmd0aCYmKF89LTEpfXZhciBiPWwuYnl0ZU9mZnNldCtzO2lmKC0xPF8peT1uZXcgVWludDhBcnJheShsLmJ1ZmZlcixiLF8tcyksOTg9PT1wP1EoZSxhLF89PT1oP3k6eS5zbGljZSgpKTpmdW5jdGlvbihlLHQsbixyLHUsaSl7c3dpdGNoKHIpe2Nhc2UgNjU6UShlLG4sZW8odSxpKS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUsbix1LGksSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpRKGUsbiwwPT09dS5sZW5ndGg/aTplbyh1LGkpKTtyZXR1cm47Y2FzZSA4NTpldShlLG4sdSxpLFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUsbix1LGksSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxuLHUsaSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLG4sdSxpLEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUsbix1LGksVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxuLHUsaSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUsbix1LGksRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUsbix1LGksQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxuLHUsaSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLG4sdSxpLERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBhPSIiLGw9MDtsPHUubGVuZ3RoO2wrKylhKz10LmRlY29kZSh1W2xdLG8pO3N3aXRjaCh1PWErPXQuZGVjb2RlKGkpLHIpe2Nhc2UgNzM6dmFyIHM9ZSxmPW4scD11LHk9cy5fY2h1bmtzLHY9eS5nZXQoZik7cD1KU09OLnBhcnNlKHAscy5fZnJvbUpTT04pO3ZhciBoPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIG49ZVt0WzBdXTtpZihlPW4mJm5bdFsyXV0pbj1lLm5hbWU7ZWxzZXtpZighKGU9biYmblsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7bj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsbiwxXTpbZS5pZCxlLmNodW5rcyxuXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxwKTtpZihwPWMoaCkpe2lmKHYpe3ZhciBfPXY7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSx5LnNldChmLF8pO3AudGhlbihmdW5jdGlvbigpe3JldHVybiBQKHMsXyxoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEEocyxfLGUpfSl9ZWxzZSB2P1Aocyx2LGgpOih2PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGgsbnVsbCkseS5zZXQoZix2KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gobj11WzBdLGU9SlNPTi5wYXJzZSh1PXUuc2xpY2UoMSksZS5fZnJvbUpTT04pLHU9ZC5kLG4pe2Nhc2UiRCI6dS5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP3UuQyhlKTp1LkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOm49ZVswXSxyPWVbMV0sMz09PWUubGVuZ3RoP3UuTChuLHIsZVsyXSk6dS5MKG4scik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/dS5tKGUpOnUubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP3UuWChlKTp1LlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT91LlMoZSk6dS5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT91Lk0oZSk6dS5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTppPShyPWUuX2NodW5rcykuZ2V0KG4pLHU9SlNPTi5wYXJzZSh1KSwodD1lcigpKS5kaWdlc3Q9dS5kaWdlc3QsaT9BKGUsaSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksci5zZXQobixlKSk7YnJlYWs7Y2FzZSA4NDoocj0oZT1lLl9jaHVua3MpLmdldChuKSkmJiJwZW5kaW5nIiE9PXIuc3RhdHVzP3IucmVhc29uLmVucXVldWVWYWx1ZSh1KToodT1uZXcgUygiZnVsZmlsbGVkIix1LG51bGwpLGUuc2V0KG4sdSkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjplZShlLG4sdm9pZCAwKTticmVhaztjYXNlIDExNDplZShlLG4sImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLG4sITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsbiwhMCk7YnJlYWs7Y2FzZSA2Nzoobj1lLl9jaHVua3MuZ2V0KG4pKSYmImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyYmbi5yZWFzb24uY2xvc2UoIiI9PT11PyciJHVuZGVmaW5lZCInOnUpO2JyZWFrO2RlZmF1bHQ6KGk9KHI9ZS5fY2h1bmtzKS5nZXQobikpP04oZSxpLHUpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsdSxlKSxyLnNldChuLGUpKX19KGUsdSxhLHAsdix5KSxzPV8sMz09PWYmJnMrKyx5PWE9cD1mPTAsdi5sZW5ndGg9MDtlbHNle2w9bmV3IFVpbnQ4QXJyYXkobC5idWZmZXIsYixsLmJ5dGVMZW5ndGgtcyksOTg9PT1wPyh5LT1sLmJ5dGVMZW5ndGgsUShlLGEsbCkpOih2LnB1c2gobCkseS09bC5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIHUuX3Jvd1N0YXRlPWYsdS5fcm93SUQ9YSx1Ll9yb3dUYWc9cCx1Ll9yb3dMZW5ndGg9eSxpLnJlYWQoKS50aGVuKHQpLmNhdGNoKHIpfSkuY2F0Y2gocil9bi5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lYSh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VsKG4sZS5ib2R5LGVpLmJpbmQobnVsbCxuKSl9LGZ1bmN0aW9uKGUpeyQobixlKX0pLEgobiwwKX0sbi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWwodD1lYSh0KSxlLGVpLmJpbmQobnVsbCx0KSksSCh0LDApfSxuLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUsbil9cmV0dXJuIEUobixlLG51bGwpLG59LG4uY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LG4uZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt2YXIgbz1mdW5jdGlvbihlLHQsbixyLG8pe2Z1bmN0aW9uIHUoZSx0KXt0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKV0pO3ZhciBuPWwrKztyZXR1cm4gbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrbix0KSwiJCIrZStuLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBwOmlmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6Iikpe3ZhciBFLFMsUixPLHcsVD1mLmdldCh0aGlzKTtpZih2b2lkIDAhPT1UKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCJ9dGhyb3cgRXJyb3IoIlJlYWN0IEVsZW1lbnQgY2Fubm90IGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudCB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIik7Y2FzZSB5OlQ9dC5fcGF5bG9hZDt2YXIgaj10Ll9pbml0O251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt0cnl7dmFyIEE9aihUKSxrPWwrKyxDPWEoQSxrKTtyZXR1cm4gYy5hcHBlbmQoIiIrayxDKSwiJCIray50b1N0cmluZygxNil9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7cysrO3ZhciBOPWwrKztyZXR1cm4gVD1mdW5jdGlvbigpe3RyeXt2YXIgZT1hKHQsTiksbj1jO24uYXBwZW5kKCIiK04sZSkscy0tLDA9PT1zJiZyKG4pfWNhdGNoKGUpe28oZSl9fSxlLnRoZW4oVCxUKSwiJCIrTi50b1N0cmluZygxNil9cmV0dXJuIG8oZSksbnVsbH1maW5hbGx5e3MtLX19aWYoVD1mLmdldCh0KSwiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXtpZih2b2lkIDAhPT1UKWlmKGQhPT10KXJldHVybiBUO2Vsc2UgZD1udWxsO251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt2YXIgUD1sKys7cmV0dXJuIGU9IiRAIitQLnRvU3RyaW5nKDE2KSxmLnNldCh0LGUpLHQudGhlbihmdW5jdGlvbihlKXt0cnl7dmFyIHQ9Zi5nZXQoZSksbj12b2lkIDAhPT10P0pTT04uc3RyaW5naWZ5KHQpOmEoZSxQKTsoZT1jKS5hcHBlbmQoIiIrUCxuKSxzLS0sMD09PXMmJnIoZSl9Y2F0Y2goZSl7byhlKX19LG8pLGV9aWYodm9pZCAwIT09VClpZihkIT09dClyZXR1cm4gVDtlbHNlIGQ9bnVsbDtlbHNlIC0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSYmKGU9VCsiOiIrZSxmLnNldCh0LGUpLHZvaWQgMCE9PW4mJm4uc2V0KGUsdCkpO2lmKF8odCkpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEZvcm1EYXRhKXtudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKTt2YXIgeD1jLEQ9IiIrKGU9bCsrKSsiXyI7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlLHQpe3guYXBwZW5kKEQrdCxlKX0pLCIkSyIrZS50b1N0cmluZygxNil9aWYodCBpbnN0YW5jZW9mIE1hcClyZXR1cm4gZT1sKyssVD1hKEFycmF5LmZyb20odCksZSksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrZSxUKSwiJFEiK2UudG9TdHJpbmcoMTYpO2lmKHQgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIGU9bCsrLFQ9YShBcnJheS5mcm9tKHQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRXIitlLnRvU3RyaW5nKDE2KTtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGU9bmV3IEJsb2IoW3RdKSxUPWwrKyxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxjLmFwcGVuZCgiIitULGUpLCIkQSIrVC50b1N0cmluZygxNik7aWYodCBpbnN0YW5jZW9mIEludDhBcnJheSlyZXR1cm4gdSgiTyIsdCk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHUoIm8iLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlyZXR1cm4gdSgiVSIsdCk7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHUoIlMiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gdSgicyIsdCk7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHUoIkwiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSlyZXR1cm4gdSgibCIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlyZXR1cm4gdSgiRyIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSlyZXR1cm4gdSgiZyIsdCk7aWYodCBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXkpcmV0dXJuIHUoIk0iLHQpO2lmKHQgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlyZXR1cm4gdSgibSIsdCk7aWYodCBpbnN0YW5jZW9mIERhdGFWaWV3KXJldHVybiB1KCJWIix0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2IpcmV0dXJuIG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGU9bCsrLGMuYXBwZW5kKCIiK2UsdCksIiRCIitlLnRvU3RyaW5nKDE2KTtpZihlPW51bGw9PT0oRT10KXx8Im9iamVjdCIhPXR5cGVvZiBFP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKEU9diYmRVt2XXx8RVsiQEBpdGVyYXRvciJdKT9FOm51bGwpcmV0dXJuKFQ9ZS5jYWxsKHQpKT09PXQ/KGU9bCsrLFQ9YShBcnJheS5mcm9tKFQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRpIitlLnRvU3RyaW5nKDE2KSk6QXJyYXkuZnJvbShUKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUmVhZGFibGVTdHJlYW0mJnQgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3ZhciB0LG4sdSxhLGYsZCxwLHk9ZS5nZXRSZWFkZXIoe21vZGU6ImJ5b2IifSl9Y2F0Y2goYSl7cmV0dXJuIHQ9ZS5nZXRSZWFkZXIoKSxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxuPWMscysrLHU9bCsrLHQucmVhZCgpLnRoZW4oZnVuY3Rpb24gZShhKXtpZihhLmRvbmUpbi5hcHBlbmQoIiIrdSwiQyIpLDA9PS0tcyYmcihuKTtlbHNlIHRyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShhLnZhbHVlLGkpO24uYXBwZW5kKCIiK3UsbCksdC5yZWFkKCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJFIiK3UudG9TdHJpbmcoMTYpfXJldHVybiBhPXksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksZj1jLHMrKyxkPWwrKyxwPVtdLGEucmVhZChuZXcgVWludDhBcnJheSgxMDI0KSkudGhlbihmdW5jdGlvbiBlKHQpe3QuZG9uZT8odD1sKyssZi5hcHBlbmQoIiIrdCxuZXcgQmxvYihwKSksZi5hcHBlbmQoIiIrZCwnIiRvJyt0LnRvU3RyaW5nKDE2KSsnIicpLGYuYXBwZW5kKCIiK2QsIkMiKSwwPT0tLXMmJnIoZikpOihwLnB1c2godC52YWx1ZSksYS5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGUsbykpfSxvKSwiJHIiK2QudG9TdHJpbmcoMTYpfSh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YoZT10W2hdKSlyZXR1cm4gUz10LFI9ZS5jYWxsKHQpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLE89YyxzKyssdz1sKyssUz1TPT09UixSLm5leHQoKS50aGVuKGZ1bmN0aW9uIGUodCl7aWYodC5kb25lKXtpZih2b2lkIDA9PT10LnZhbHVlKU8uYXBwZW5kKCIiK3csIkMiKTtlbHNlIHRyeXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csIkMiK24pfWNhdGNoKGUpe28oZSk7cmV0dXJufTA9PS0tcyYmcihPKX1lbHNlIHRyeXt2YXIgdT1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csdSksUi5uZXh0KCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJCIrKFM/IngiOiJYIikrdy50b1N0cmluZygxNik7aWYoKGU9Yih0KSkhPT1nJiYobnVsbD09PWV8fG51bGwhPT1iKGUpKSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcigiT25seSBwbGFpbiBvYmplY3RzLCBhbmQgYSBmZXcgYnVpbHQtaW5zLCBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMuIENsYXNzZXMgb3IgbnVsbCBwcm90b3R5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiIkVCJ9cmV0dXJuIHR9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiJaIj09PXRbdC5sZW5ndGgtMV0mJnRoaXNbZV1pbnN0YW5jZW9mIERhdGU/IiREIit0OmU9IiQiPT09dFswXT8iJCIrdDp0O2lmKCJib29sZWFuIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiBOdW1iZXIuaXNGaW5pdGUodCk/MD09PXQmJi0xLzA9PTEvdD8iJC0wIjp0OjEvMD09PXQ/IiRJbmZpbml0eSI6LTEvMD09PXQ/IiQtSW5maW5pdHkiOiIkTmFOIjtpZih2b2lkIDA9PT10KXJldHVybiIkdW5kZWZpbmVkIjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7aWYodm9pZCAwIT09KFQ9bS5nZXQodCkpKXJldHVybiB2b2lkIDAhPT0oZT1mLmdldCh0KSl8fChlPUpTT04uc3RyaW5naWZ5KHtpZDpULmlkLGJvdW5kOlQuYm91bmR9LGkpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLFQ9bCsrLGMuc2V0KCIiK1QsZSksZT0iJGgiK1QudG9TdHJpbmcoMTYpLGYuc2V0KHQsZSkpLGU7aWYodm9pZCAwIT09biYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KFQ9Zi5nZXQodGhpcykpKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCI7dGhyb3cgRXJyb3IoIkNsaWVudCBGdW5jdGlvbnMgY2Fubm90IGJlIHBhc3NlZCBkaXJlY3RseSB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4iKX1pZigic3ltYm9sIj09dHlwZW9mIHQpe2lmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSlyZXR1cm4gbi5zZXQoVCsiOiIrZSx0KSwiJFQiO3Rocm93IEVycm9yKCJTeW1ib2xzIGNhbm5vdCBiZSBwYXNzZWQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24gd2l0aG91dCBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0LiBQYXNzIGEgVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IHRvIHRoZSBvcHRpb25zLiIpfWlmKCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4iJG4iK3QudG9TdHJpbmcoMTApO3Rocm93IEVycm9yKCJUeXBlICIrdHlwZW9mIHQrIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLiIpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYodD0iJCIrdC50b1N0cmluZygxNiksZi5zZXQoZSx0KSx2b2lkIDAhPT1uJiZuLnNldCh0LGUpKSxkPWUsSlNPTi5zdHJpbmdpZnkoZSxpKX12YXIgbD0xLHM9MCxjPW51bGwsZj1uZXcgV2Vha01hcCxkPWUsRT1hKGUsMCk7cmV0dXJuIG51bGw9PT1jP3IoRSk6KGMuc2V0KCIwIixFKSwwPT09cyYmcihjKSksZnVuY3Rpb24oKXswPHMmJihzPTAsbnVsbD09PWM/cihFKTpyKGMpKX19KGUsMCx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxuLHIpO2lmKHQmJnQuc2lnbmFsKXt2YXIgdT10LnNpZ25hbDtpZih1LmFib3J0ZWQpbyh1LnJlYXNvbik7ZWxzZXt2YXIgaT1mdW5jdGlvbigpe28odS5yZWFzb24pLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGkpfTt1LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKX19fSl9LG4ucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDkxNTk4LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0OTcwNil9LDc1MDQ1LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig5MTU5OCl9LDU5NDMwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByLG89e0FDVElPTl9ITVJfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBjfSxBQ1RJT05fTkFWSUdBVEU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sQUNUSU9OX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQUNUSU9OX1JFU1RPUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sQUNUSU9OX1NFUlZFUl9BQ1RJT046ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX1NFUlZFUl9QQVRDSDpmdW5jdGlvbigpe3JldHVybiBzfSxQcmVmZXRjaEtpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgdSBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHUse2VudW1lcmFibGU6ITAsZ2V0Om9bdV19KTtsZXQgaT0icmVmcmVzaCIsYT0ibmF2aWdhdGUiLGw9InJlc3RvcmUiLHM9InNlcnZlci1wYXRjaCIsYz0iaG1yLXJlZnJlc2giLGY9InNlcnZlci1hY3Rpb24iO3ZhciBkPSgocj17fSkuQVVUTz0iYXV0byIsci5GVUxMPSJmdWxsIixyKTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MTc2OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJ0aGVuImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJpc1RoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTQ4NzksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2Rpc3BhdGNoQXBwUm91dGVyQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVzZUFjdGlvblF1ZXVlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDkxNzY4KSxhPW51bGw7ZnVuY3Rpb24gbChlKXtpZihudWxsPT09YSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7YShlKX1mdW5jdGlvbiBzKGUpe2xldFt0LG5dPXUuZGVmYXVsdC51c2VTdGF0ZShlLnN0YXRlKTthPXQ9PmUuZGlzcGF0Y2godCxuKTtsZXQgcj0oMCx1LnVzZU1lbW8pKCgpPT50LFt0XSk7cmV0dXJuKDAsaS5pc1RoZW5hYmxlKShyKT8oMCx1LnVzZSkocik6cn0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMDkzMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY2FsbFNlcnZlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IHI9ZS5yKDc1MjAxKSxvPWUucig1OTQzMCksdT1lLnIoOTQ4NzkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4saSk9PnsoMCxyLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx1LmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpvLkFDVElPTl9TRVJWRVJfQUNUSU9OLGFjdGlvbklkOmUsYWN0aW9uQXJnczp0LHJlc29sdmU6bixyZWplY3Q6aX0pfSl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4OTU5NCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZFNvdXJjZU1hcFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/12051.b84be781bb90d457f1df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.195Z","timestamp":1785136429195,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/12051.b84be781bb90d457f1df.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-f5c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:47\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 58f2bfc11b7cebb289a6c1b9cb680d70\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3932,"size_decoded":2008,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3932), with no line terminators","md5":"923aec057d9cd07c2b7095d0f0623ab1","sha1":"56133c4d03d776c8b524b16f542979b74c9aabdd","sha256":"c485c2114f00991ad09dc545efb6038c9d6baba075a6b0061cd701a5db18564f","sha512":"5af06adfb2af9bd155bc54b0328570122ab87794daf957844689e7732085ff42a82e33065dc68e14d9a7e075e3f3872b91143d34c8921db369258920f7f9ffe7","ssdeep":"","tlshash":"f6812192b160f1babc6749395fe2b13831109c73c30254bafa51177a8dc1ffa0ae7255","first_seen":"2026-03-31T21:43:22.9655Z","last_seen":"2026-08-11T04:43:23.142418Z","times_seen":703,"resource_available":false,"data":"LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYXttYXJnaW46MCA2cHg7bWluLXdpZHRoOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5hY3Rpb25CdXR0b24tazUzdmV4UGE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYXttYXJnaW46NnB4IDB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaGlkZGVuVGl0bGUtazUzdmV4UGF7dmlzaWJpbGl0eTpoaWRkZW59LnBvcHVwRGlhbG9nLUIwMlVVVU4ze21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMjBweCk7bWF4LXdpZHRoOjQ4MHB4O3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpfS53cmFwLUIwMlVVVU4ze2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59Lm1haW4tQjAyVVVVTjN7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1pbnRlcmFjdGl2ZS1lbGVtZW50LXRleHQtbm9ybWFsKTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJsb2NrOjQwcHggNDBweDttYXJnaW4taW5saW5lOjQwcHggMDttaW4td2lkdGg6MH0ubWFpbi1CMDJVVVVOMy5zbWFsbC1CMDJVVVVOM3ttYXJnaW4tYmxvY2s6MjBweCAyMHB4O21hcmdpbi1pbmxpbmU6MjBweCAwfS50aXRsZS1CMDJVVVVOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjIwcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWFyZ2luLWJvdHRvbTo4cHg7d2lkdGg6Y2FsYygxMDAlIC0gOXB4KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRpdGxlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze3dpZHRoOmNhbGMoMTAwJSAtIDI5cHgpfS5jb250ZW50LUIwMlVVVU4ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWluLWhlaWdodDoxNDVweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21hcmdpbjowIC00MHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjhweCA0MHB4fUBtZWRpYSAobWF4LWhlaWdodDoyOTBweCl7LmNvbnRlbnQtQjAyVVVVTjN7bWluLWhlaWdodDphdXRvfX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuY29udGVudC1CMDJVVVVOM3tzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5jb250ZW50LUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbjowIC0yMHB4O3BhZGRpbmc6OHB4IDIwcHh9LmNvbnRlbnQtQjAyVVVVTjMuaHRtbC1CMDJVVVVOM3tkaXNwbGF5OmJsb2NrfS5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpLC5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LmZvb3Rlci1CMDJVVVVOM3tkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTZweH0uZm9vdGVyLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2xvc2UtQjAyVVVVTjN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOi0ycHggOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2xvc2UtQjAyVVVVTjM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LmNsb3NlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbi1pbmxpbmUtc3RhcnQ6LTIycHh9Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOM3ttYXJnaW4taW5saW5lLWVuZDo0MHB4fS5tYXJnaW5XaXRob3V0Q2xvc2VCdXR0b24tQjAyVVVVTjMuc21hbGwtQjAyVVVVTjN7bWFyZ2luLWlubGluZS1lbmQ6MjBweH0="}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/81072.2927a177231fdd0e24c1.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.260Z","timestamp":1785136429260,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/81072.2927a177231fdd0e24c1.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-40c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d733b3142f39db3c84b4cd27afb7caa2\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1036,"size_decoded":1218,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1036), with no line terminators","md5":"e625e6a9b3d1d0e7872454941e3a0f3c","sha1":"c4b93e2d6c31cccd6e1572e5faff07bd3456556c","sha256":"ff2fab41e51936266791aedf3104809dd2780906b7303dfdf954afe900eecaa2","sha512":"b6c94e5b14cef72a123c0b05f0efd06b022618632b6adfd3bda53ab30eb0b05b5bafc56a4dee63cec63f5606c2d69be7bbd4d52c7cfcba473b133495be1ac97a","ssdeep":"","tlshash":"0511872af08015a0b4bfcb384b14d3a9003190a29ea223ed77a0bcb18bc17b945d1008","first_seen":"2026-07-16T13:40:49.881902Z","last_seen":"2026-08-11T04:43:23.093684Z","times_seen":614,"resource_available":false,"data":"Lm1lbnVXcmFwLWxCSXhJd3R6e2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtYmFja2dyb3VuZCx2YXIoLS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kKSk7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246c3RhcnQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDB9Lm1lbnVXcmFwLWxCSXhJd3R6LmlzTWVhc3VyaW5nLWxCSXhJd3R6e29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVufS5tZW51V3JhcC1sQkl4SXd0ejpmb2N1c3tvdXRsaW5lOm5vbmV9LnNjcm9sbFdyYXAtbEJJeEl3dHp7aGVpZ2h0OjEwMCU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5zY3JvbGxXcmFwLWxCSXhJd3R6Lm1vbWVudHVtQmFzZWQtbEJJeEl3dHp7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFye2hlaWdodDo1cHg7d2lkdGg6NXB4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5zY3JvbGxXcmFwLWxCSXhJd3R6Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbFdyYXAtbEJJeEl3dHo6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lcntkaXNwbGF5Om5vbmV9Lm1lbnVCb3gtbEJJeEl3dHp7cGFkZGluZzo2cHggMH0uaXNIaWRkZW4tbEJJeEl3dHp7ZGlzcGxheTpub25lfQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/step.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.303Z","timestamp":1785136427303,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/images/step.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/32816.355d75b21ae4b534a849.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.394Z","timestamp":1785136428394,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/32816.355d75b21ae4b534a849.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-102a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6be36cab29b80f14712f752b2f84f95f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4138,"size_decoded":1890,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4138), with no line terminators","md5":"1769fde9875fdbb634439ca894f9dbe9","sha1":"44ac405e2cfa40ef07cbca4bf97d2226e51258d3","sha256":"8b2250108bfd0dcb2848b28cd1bf2fec55df68d3105b3bf87664cfd86cf2ff10","sha512":"b537406a03c65c8c9859d1e4cb17c37e062cc846b9e763763bbbfa0670ed74ffd1a3f571e5e7654a7b809c6810990a95babd6183fced394492ae1095b4193bcf","ssdeep":"48:D+GIP+GI2LrVLjVQqpz5Cw83JJMeFtQSphXivmRE0r/VC5WNHC5mNVd:DaRLBLpQqpVv0JKOTphXiuREIVweHwmZ","tlshash":"f5814858835c4dafbb2647826762fc582164e3feb2324b6c534924fd46b4d6d39332c5","first_seen":"2026-07-16T11:36:17.974176Z","last_seen":"2026-08-11T10:15:18.39512Z","times_seen":2536,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/43792.e1bd06112404f0901a66.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.423Z","timestamp":1785136428423,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/43792.e1bd06112404f0901a66.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 81447b3a4c84b2e7c43543acd806bdb8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4002,"size_decoded":1797,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4002), with no line terminators","md5":"132394741fdf9302124f840e6c3a925d","sha1":"59267f8b0edd10201baaabda8807c79d9b9c3642","sha256":"8157f6ce008ce1e225eb1af407cc0fa0cff8f6155386f2da7e90a74c37091048","sha512":"63359d8ac07c4cd882722bc630255d64b699f4f548c64e2558f6d95f25c6e75f0b5645fee034885862797dfedaf95df80c12f73ec2d41c159177c19470c40f6d","ssdeep":"","tlshash":"bd819cbcea50d8770d5fa63e0398d06c3994b213ee26ab57ffa0d10144d7be6419a70e","first_seen":"2026-07-22T16:00:00.457602Z","last_seen":"2026-07-28T06:17:53.444639Z","times_seen":386,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUk00Xzp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1STTRfOnZhcigtLWNvbG9yLXJpcGUtcmVkLWEyMDApOy0tXzItUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tXzMtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tXzQtUk00Xzp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1fNS1STTRfOnZhcigtLWNvbG9yLWlndWFuYS1ncmVlbi0zMDApOy0tXzYtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tNjAwKTstLV83LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tXzgtUk00Xzp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTkwMCk7LS1fOS1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMzAwKTstLV8xMC1STTRfOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLV8xMS1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tXzEyLVJNNF86dmFyKC0tY29sb3Itc2t5LWJsdWUtYTcwMCk7LS1fMTMtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTIwMCk7LS1fMTQtUk00Xzp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTQwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1STTRfOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEtUk00Xzp2YXIoLS1jb2xvci1yaXBlLXJlZC1hMjAwKTstLV8yLVJNNF86dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLV8zLVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLV80LVJNNF86dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tXzUtUk00Xzp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tMzAwKTstLV82LVJNNF86dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTYwMCk7LS1fNy1STTRfOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctNzAwKTstLV84LVJNNF86dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy05MDApOy0tXzktUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1fMTAtUk00Xzp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTcwMCk7LS1fMTEtUk00Xzp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLV8xMi1STTRfOnZhcigtLWNvbG9yLXNreS1ibHVlLWE3MDApOy0tXzEzLVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay0yMDApOy0tXzE0LVJNNF86dmFyKC0tY29sb3ItYmVycnktcGluay00MDApfS53cmFwLUdoRGpYekJ4e2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LndyYXAtR2hEalh6Qng6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlO2NvbnRlbnQ6bm9uZTtoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdXRsaW5lOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSBub25lIDJweDtvdXRsaW5lLW9mZnNldDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ud3JhcC1HaERqWHpCeDpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LndyYXAtR2hEalh6QnggLmlucHV0LUdoRGpYekJ4e2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsud3JhcC1HaERqWHpCeCAuaW5wdXQtR2hEalh6Qng6aG92ZXI6bm90KDpjaGVja2VkKSsuYm94LUdoRGpYekJ4IC5ob3ZlckRvdC1HaERqWHpCeHtkaXNwbGF5OmJsb2NrfX0uYm94LUdoRGpYekJ4e2hlaWdodDoxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uYm94LUdoRGpYekJ4LnJlZC1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMS1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5yZWQtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzItUk00Xyl9fS5ib3gtR2hEalh6QnguYmx1ZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5ibHVlLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV80LVJNNF8pfX0uYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4e2NvbG9yOnZhcigtLV81LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LmdyZWVuLUdoRGpYekJ4OmhvdmVye2NvbG9yOnZhcigtLV82LVJNNF8pfX0uYm94LUdoRGpYekJ4Lm9yYW5nZS1HaERqWHpCeHtjb2xvcjp2YXIoLS1fNy1STTRfKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJveC1HaERqWHpCeC5vcmFuZ2UtR2hEalh6Qng6aG92ZXJ7Y29sb3I6dmFyKC0tXzgtUk00Xyl9fS5ib3gtR2hEalh6QngucHVycGxlLUdoRGpYekJ4e2NvbG9yOnZhcigtLV85LVJNNF8pfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYm94LUdoRGpYekJ4LnB1cnBsZS1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTAtUk00Xyl9fS5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTEtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QnguY3lhbi1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTItUk00Xyl9fS5ib3gtR2hEalh6QngucGluay1HaERqWHpCeHtjb2xvcjp2YXIoLS1fMTMtUk00Xyl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5ib3gtR2hEalh6QngucGluay1HaERqWHpCeDpob3Zlcntjb2xvcjp2YXIoLS1fMTQtUk00Xyl9fS5ib3gtR2hEalh6QngubGFyZ2UtR2hEalh6Qnh7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ucGlja2VyRG90LUdoRGpYekJ4e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmhvdmVyRG90LUdoRGpYekJ4e2NvbG9yOnZhcigtLV8wLVJNNF8pO2Rpc3BsYXk6bm9uZTtvcGFjaXR5Oi41fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXlNSEM6dmFyKC0tY29sb3Itd2hpdGUpfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAteU1IQzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0ud3JhcHBlci1WbmVRVm9OdntwYWRkaW5nLWJsb2NrOjEwcHggMTBweDtwYWRkaW5nLWlubGluZTo2cHggMTBweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnZ7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteU1IQyk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052e2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDotMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxMnB4fS53cmFwcGVyLVZuZVFWb052IC5zZWxlY3Rvci1WbmVRVm9OdiAuYXJyb3dMZWZ0LVZuZVFWb052OmFmdGVye2JhY2tncm91bmQ6dmFyKC0tXzAteU1IQyk7Ym94LXNoYWRvdzowIDAgNnB4IDAgdmFyKC0tY29sb3Itb3RoZXItc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo5cHg7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7d2lkdGg6MTJweH0ud3JhcHBlci1WbmVRVm9OdiAuc2VsZWN0b3ItVm5lUVZvTnYgLmFycm93TGVmdC1WbmVRVm9OdjphZnRlcjpkaXIocnRsKXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LmNvbG9yU2VsZWN0QnV0dG9uLVZuZVFWb052e3BhZGRpbmc6NHB4fS5wb3B1cC1WbmVRVm9Odntwb3NpdGlvbjpmaXhlZDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt6LWluZGV4OjEwMDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/24478.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.711Z","timestamp":1785136428711,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/24478.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 5281\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 10 Aug 2023 04:10:01 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:32:58 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ad12f5c035cc80c127981051cbcc352e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85256\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ZThltxXwKHwLC8jOybnQEGwMahRc2ZzPoiVNcL0Ef4eZ6XX1tvVIcQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":5281,"size_decoded":5853,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ad12f5c035cc80c127981051cbcc352e","sha1":"41c31c90fc78394ce8114dc4c1df7ee9055220ed","sha256":"ec537de040a73db93b37350b1e6ec11f9d51f663c121ddc9fed6ad9b9f803eac","sha512":"0da5bbd7ba132fe249125efa243e4d05869fcc37b10ec398b844854b3b7f49f242736927998310587db25e3f34be4d7cfc0f67b73dc6702e977a290de7e14791","ssdeep":"96:Sx8GlMxymDWozd9jYO3n8WBxIdEpu0GKDU648UVhXncrbVJD1Dn:Sx88qDTzd90OX8WBxIdau0GKW8idncHh","tlshash":"1eb18e4e2ed2662ac2cc35f9e3d913387d003984f5946b1d313b6e966534623518ded6","first_seen":"2023-08-15T00:41:51Z","last_seen":"2026-08-11T04:47:30.046406Z","times_seen":1213,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/sell-arrow.7aa1b563870aa0a05e6a.svg","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.286Z","timestamp":1785136430286,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/sell-arrow.7aa1b563870aa0a05e6a.svg HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136430.1.1785136430..e10326a9-5e0a-4b24-bb1b-ef5e2ad69273..b8a217f6-bdbb-4762-8027-7add5bfbfb8e.1785136429729.1\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.568Z","timestamp":1785136427568,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/800e836146d6e7eb.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 4114783\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"800e836146d6e7eb.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"7b2a7348e5acf7f61cd01b2152c769a6\"\r\nlast-modified: Tue, 09 Jun 2026 16:12:41 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/800e836146d6e7eb.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dmlt9-1781021643910-30bb6f3b3b82\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=VDnOP%2FXkk58hBjygv7Vzdb8kNyuta1E0GJVERQun%2BlUl06oUgNMslCkib5jc%2B0R3vsV%2BqfPXuhy0bJ9pwJng3SgdRNRJpyMMSEvmWax25Ry7bwHImCuAyLT12bnA\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f05f018deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","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"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":19477,"size_decoded":7484,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (16974)","md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDI0NjAxLChlLHQsaSk9Pnt0LmV4cG9ydHM9ZS5yKDI4OTk1KX0sNzkyOTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoOTgxMzQpLGk9ZS5pKDI0NjAxKSxuPWUuaSg3NTIwMSkscz1lLmkoNzUxNTcpO2Z1bmN0aW9uIG8oe3RoZW1lOmUsY250OmksZ3JhcGg6byxwcmVmQ29pbklkOmx9KXtsZXRbYyxkXT0oMCxuLnVzZVN0YXRlKShbXSksW2gsZl09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOlN0cmluZyhpKX0pO2wmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGwpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZkKGUuZGF0YSksZS5jdXJyZW5jeSYmZihlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+cCghMSkpfSxbaSxsXSk7bGV0IGc9ImRhcmsiPT09ZSx4PWc/IiMxQjIwMzAiOiIjZmZmZmZmIix5PWc/IiNlNWU3ZWIiOiIjMWYyOTM3Iix1PWc/IiM5Y2EzYWYiOiIjNmI3MjgwIixiPWc/IiMzNzQxNTEiOiIjZTVlN2ViIixqPWc/IiMxZjI5MzciOiIjZjNmNGY2IixTPSIjMjJjNTVlIix2PSIjZWY0NDQ0IjtyZXR1cm4gbT8oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxwYWRkaW5nOjIwLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pOigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzLG92ZXJmbG93OiJhdXRvIixoZWlnaHQ6IjEwMCUifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzdHlsZSIse2NoaWxkcmVuOmAKICAgICAgICAuZnZ3LWhpZGUtc20geyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAuZnZ3LWhpZGUtc20geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcmFuayB7IHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcHJpY2UgeyB3aWR0aDogODBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAuZnZ3LXJvdyB7IHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgYH0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6Zz8iIzExMTgyNyI6IiNmOWZhZmIiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46IiMifSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Ik5hbWUifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcHJpY2UiLHN0eWxlOnt3aWR0aDoxMDAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJQcmljZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjoiTWFya2V0IENhcCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6OTAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJWb2x1bWUgMjRoIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnt3aWR0aDo3MCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46IjI0aCAlIn0pLG8mJigwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LWhpZGUtc20iLHN0eWxlOnt3aWR0aDo4MCx0ZXh0QWxpZ246InJpZ2h0IixwYWRkaW5nTGVmdDoxMn0sY2hpbGRyZW46IjdkIn0pXX0pLGMubWFwKGU9Pnt2YXIgaSxuO2xldCBsPWUucGVyY2VudF9jaGFuZ2VfMjRoPj0wO3JldHVybigwLHQuanN4cykoImEiLHtocmVmOmBodHRwczovL2NvaW5saWIuaW8keygwLHMuY29pblVybCkoZS5zeW1ib2wsZS5uYW1lKX1gLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxvbk1vdXNlRW50ZXI6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9aixvbk1vdXNlTGVhdmU6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46ZS5yYW5rfSksKDAsdC5qc3gpKCJpbWciLHtzcmM6ZS5pbWFnZSxhbHQ6ZS5uYW1lLHdpZHRoOjE4LGhlaWdodDoxOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLG1hcmdpblJpZ2h0OjZ9fSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NTAwLG1hcmdpblJpZ2h0OjR9LGNoaWxkcmVuOmUubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp1LGZvbnRTaXplOjExfSxjaGlsZHJlbjplLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LXByaWNlIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpbkxlZnQ6ImF1dG8iLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihpPWUucHJpY2VfdXNkKmgucmF0ZSxuPWguc3ltYm9sLGk+PTE/bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjEwMCx0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjExfSxjaGlsZHJlbjphKGUubWFya2V0X2NhcCpoLnJhdGUsaC5zeW1ib2wpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjkwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTF9LGNoaWxkcmVuOmEoZS52b2x1bWVfMjRoKmgucmF0ZSxoLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e3dpZHRoOjcwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo1MDAsY29sb3I6bD9TOnZ9LGNoaWxkcmVuOltsPyIrIjoiIixlLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSksbyYmKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjgwLHRleHRBbGlnbjoicmlnaHQiLHBhZGRpbmdMZWZ0OjEyfSxjaGlsZHJlbjooMCx0LmpzeCkocix7Y29pbjplLGNvbG9yOmw/Uzp2fSl9KV19LGUuaWQpfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiNHB4IDEycHgiLGZvbnRTaXplOjEwLGNvbG9yOnUsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOigwLHQuanN4KSgiYSIse2hyZWY6Imh0dHBzOi8vY29pbmxpYi5pbyIsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2NvbG9yOnUsdGV4dERlY29yYXRpb246Im5vbmUifSxjaGlsZHJlbjoiUG93ZXJlZCBieSBDb2lubGliIn0pfSldfSl9ZnVuY3Rpb24gcih7Y29pbjplLGNvbG9yOml9KXtsZXQgbixzPWUuc3BhcmtsaW5lXzdkJiZlLnNwYXJrbGluZV83ZC5sZW5ndGg+PTI/ZS5zcGFya2xpbmVfN2Q6bnVsbDtpZihzKW49cztlbHNle2xldCB0PWUucHJpY2VfdXNkLGk9dC8oMStlLnBlcmNlbnRfY2hhbmdlXzI0aC8xMDApO249W107Zm9yKGxldCBlPTA7ZTw9NjtlKyspe2xldCBzPWUvNjtuLnB1c2goaSsodC1pKSpzKy4wMSp0Kk1hdGguc2luKHMqTWF0aC5QSSoyKSl9fWxldCBvPU1hdGgubWluKC4uLm4pLHI9TWF0aC5tYXgoLi4ubiktb3x8MSxhPTcwLyhuLmxlbmd0aC0xKSxsPW4ubWFwKChlLHQpPT5gJHsodCphKS50b0ZpeGVkKDIpfSwkeygyNi0oZS1vKS9yKjI0KS50b0ZpeGVkKDIpfWApLGM9YE0gJHtsLmpvaW4oIiBMICIpfWAsZD1gJHtjfSBMIDcwLjAwLDI4IEwgMCwyOCBaYCxoPWBzcGFyay1ncmFkLSR7ZS5pZH1gO3JldHVybigwLHQuanN4cykoInN2ZyIse3dpZHRoOjcwLGhlaWdodDoyOCx2aWV3Qm94OiIwIDAgNzAgMjgiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRlZnMiLHtjaGlsZHJlbjooMCx0LmpzeHMpKCJsaW5lYXJHcmFkaWVudCIse2lkOmgseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6aSxzdG9wT3BhY2l0eToiMC4yNSJ9KSwoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjppLHN0b3BPcGFjaXR5OiIwIn0pXX0pfSksKDAsdC5qc3gpKCJwYXRoIix7ZDpkLGZpbGw6YHVybCgjJHtofSlgLHN0cm9rZToibm9uZSJ9KSwoMCx0LmpzeCkoInBhdGgiLHtkOmMsZmlsbDoibm9uZSIsc3Ryb2tlOmksc3Ryb2tlV2lkdGg6MSxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGwoe3RoZW1lOmUsY29pbklkOmkscHJlZkNvaW5JZDpzfSl7bGV0W28scl09KDAsbi51c2VTdGF0ZSkobnVsbCksW2EsbF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZCxoXT0oMCxuLnVzZVN0YXRlKShbXSksW2YsbV09KDAsbi51c2VTdGF0ZSkoNyksW3AsZ109KDAsbi51c2VTdGF0ZSkoITApLHg9KDAsbi51c2VSZWYpKG51bGwpLFt5LHVdPSgwLG4udXNlU3RhdGUpKG51bGwpOygwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7aT9lLnNldCgibGVnYWN5X2lkIixpKTplLnNldCgic3ltYm9sIiwiQlRDIikscyYmZS5zZXQoInByZWZfY29pbl9pZCIscyksZmV0Y2goYC9hcGkvdjEvd2lkZ2V0PyR7ZX1gKS50aGVuKGU9PmUuanNvbigpKS50aGVuKGU9PntlLmRhdGE/KHUoZS5kYXRhLnNsdWc/PyJiaXRjb2luIikscihlLmRhdGEpKTp1KCJiaXRjb2luIiksZS5jdXJyZW5jeSYmbChlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT51KCJiaXRjb2luIikpfSxbaSxzXSksKDAsbi51c2VFZmZlY3QpKCgpPT57eSYmKGcoITApLChhc3luYygpPT57bGV0IGU9YXdhaXQgZmV0Y2goYC9hcGkvdjEvY29pbnMvJHt5fS9jaGFydD9kYXlzPSR7Zn1gKS50aGVuKGU9PmUuanNvbigpKS5jYXRjaCgoKT0+bnVsbCk7ZT8uZGF0YT8ucHJpY2VzJiZoKGUuZGF0YS5wcmljZXMpLGcoITEpfSkoKSl9LFt5LGZdKSwoMCxuLnVzZUVmZmVjdCkoKCk9PntpZigheC5jdXJyZW50fHxkLmxlbmd0aDwyKXJldHVybjtsZXQgdD14LmN1cnJlbnQsaT10LmdldENvbnRleHQoIjJkIik7aWYoIWkpcmV0dXJuO2xldCBuPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LndpZHRoPXMud2lkdGgqbix0LmhlaWdodD1zLmhlaWdodCpuLGkuc2NhbGUobixuKTtsZXQgbz1zLndpZHRoLHI9cy5oZWlnaHQsbD0iZGFyayI9PT1lO2kuZmlsbFN0eWxlPWw/IiMxQjIwMzAiOiIjZmZmZmZmIixpLmZpbGxSZWN0KDAsMCxvLHIpO2xldCBoPW8tNjAtMTAsbT1yLTEwLTMwLHA9YS5yYXRlLGc9ZC5tYXAoZT0+ZVsxXSpwKSx5PU1hdGgubWluKC4uLmcpLHU9TWF0aC5tYXgoLi4uZyksYj11LXl8fDE7aS5zdHJva2VTdHlsZT1sPyIjMzc0MTUxIjoiI2U1ZTdlYiIsaS5saW5lV2lkdGg9LjU7Zm9yKGxldCBlPTA7ZTw9NDtlKyspe2xldCB0PTEwK20vNCplO2kuYmVnaW5QYXRoKCksaS5tb3ZlVG8oNjAsdCksaS5saW5lVG8oby0xMCx0KSxpLnN0cm9rZSgpO2xldCBuPXUtYi80KmU7aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkuZm9udD0iMTBweCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGkudGV4dEFsaWduPSJyaWdodCIsaS5maWxsVGV4dChjKG4sYS5zeW1ib2wpLDU1LHQrMyl9bGV0IGo9ZFswXVswXSxTPWRbZC5sZW5ndGgtMV1bMF07aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkudGV4dEFsaWduPSJjZW50ZXIiO2ZvcihsZXQgZT0wO2U8PTQ7ZSsrKXtsZXQgdD1qKyhTLWopLzQqZSxuPTYwK2gvNCplLHM9bmV3IERhdGUodCk7aS5maWxsVGV4dChmPD0xP3MudG9Mb2NhbGVUaW1lU3RyaW5nKCJlbiIse2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCJ9KTpzLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4iLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9KSxuLHItOCl9bGV0IHY9Z1tnLmxlbmd0aC0xXT49Z1swXTtpLnN0cm9rZVN0eWxlPXY/IiMyMmM1NWUiOiIjZWY0NDQ0IixpLmxpbmVXaWR0aD0yLGkuYmVnaW5QYXRoKCksZC5mb3JFYWNoKChbZV0sdCk9PntsZXQgbj02MCsoZS1qKS8oUy1qKSpoLHM9MTArKDEtKGdbdF0teSkvYikqbTswPT09dD9pLm1vdmVUbyhuLHMpOmkubGluZVRvKG4scyl9KSxpLnN0cm9rZSgpO2xldCBfPWkuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwxMCwwLDEwK20pO18uYWRkQ29sb3JTdG9wKDAsdj8icmdiYSgzNCwxOTcsOTQsMC4xNSkiOiJyZ2JhKDIzOSw2OCw2OCwwLjE1KSIpLF8uYWRkQ29sb3JTdG9wKDEsdj8icmdiYSgzNCwxOTcsOTQsMCkiOiJyZ2JhKDIzOSw2OCw2OCwwKSIpLGkuZmlsbFN0eWxlPV8saS5saW5lVG8oNjAraCwxMCttKSxpLmxpbmVUbyg2MCwxMCttKSxpLmNsb3NlUGF0aCgpLGkuZmlsbCgpfSxbZCxlLGFdKTtsZXQgYj0iZGFyayI9PT1lLGo9Yj8iI2U1ZTdlYiI6IiMxZjI5MzciLFM9Yj8iIzljYTNhZiI6IiM2YjcyODAiLHY9Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiO3JldHVybigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOmI/IiMxQjIwMzAiOiIjZmZmZmZmIixjb2xvcjpqLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbbyYmKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTBweCAxMnB4Iixib3JkZXJCb3R0b206YDFweCBzb2xpZCAke3Z9YCxnYXA6OH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOm8uaW1hZ2UsYWx0Om8ubmFtZSx3aWR0aDoyNCxoZWlnaHQ6MjQsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTV9LGNoaWxkcmVuOm8ubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjpTLGZvbnRTaXplOjEyfSxjaGlsZHJlbjpvLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOjE2fSxjaGlsZHJlbjpjKG8ucHJpY2VfdXNkKmEucmF0ZSxhLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6by5wZXJjZW50X2NoYW5nZV8yNGg+PTA/IiMyMmM1NWUiOiIjZWY0NDQ0In0sY2hpbGRyZW46W28ucGVyY2VudF9jaGFuZ2VfMjRoPj0wPyIrIjoiIixvLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSldfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjpbMSw3LDMwLDkwLDM2NV0ubWFwKGU9PigwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazooKT0+bShlKSxzdHlsZTp7cGFkZGluZzoiMnB4IDhweCIsZm9udFNpemU6MTEsZm9udFdlaWdodDpmPT09ZT82MDA6NDAwLGJhY2tncm91bmQ6Zj09PWU/Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiOiJ0cmFuc3BhcmVudCIsY29sb3I6Zj09PWU/ajpTLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIn0sY2hpbGRyZW46MT09PWU/IjI0SCI6Nz09PWU/IjdEIjozMD09PWU/IjFNIjo5MD09PWU/IjNNIjoiMVkifSxlKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmbGV4OjEscGFkZGluZzoiOHB4IDAiLG1pbkhlaWdodDowfSxjaGlsZHJlbjpwPygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDAlIixjb2xvcjpTLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZyBjaGFydC4uLiJ9KTooMCx0LmpzeCkoImNhbnZhcyIse3JlZjp4LHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19KX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjRweCAxMnB4Iixmb250U2l6ZToxMCxjb2xvcjpTLHRleHRBbGlnbjoicmlnaHQiLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjooMCx0LmpzeCkoImEiLHtocmVmOiJodHRwczovL2NvaW5saWIuaW8iLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHN0eWxlOntjb2xvcjpTLHRleHREZWNvcmF0aW9uOiJub25lIn0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQ29pbmxpYiJ9KX0pXX0pfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gZT49MT90K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTp0K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KX1mdW5jdGlvbiBkKHt0aGVtZTplLGNvaW5JZDppLHByZWZDb2luSWQ6c30pe3ZhciBvLHI7bGV0W2EsbF09KDAsbi51c2VTdGF0ZSkobnVsbCksW2MsZF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZixtXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztpP2Uuc2V0KCJsZWdhY3lfaWQiLGkpOmUuc2V0KCJzeW1ib2wiLCJCVEMiKSxzJiZlLnNldCgicHJlZl9jb2luX2lkIixzKSxmZXRjaChgL2FwaS92MS93aWRnZXQ/JHtlfWApLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmbChlLmRhdGEpLGUuY3VycmVuY3kmJmQoZS5jdXJyZW5jeSl9KS5jYXRjaCgoKT0+e30pLmZpbmFsbHkoKCk9Pm0oITEpKX0sW2ksc10pO2xldCBwPSJkYXJrIj09PWUsZz1wPyIjMUIyMDMwIjoiI2ZmZmZmZiIseD1wPyIjZTVlN2ViIjoiIzFmMjkzNyIseT1wPyIjOWNhM2FmIjoiIzZiNzI4MCIsdT0iIzIyYzU1ZSIsYj0iI2VmNDQ0NCI7aWYoZnx8IWEpcmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngscGFkZGluZzoxNixmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgaj1hLnBlcmNlbnRfY2hhbmdlXzI0aD49MDtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJpbWciLHtzcmM6YS5pbWFnZSxhbHQ6YS5uYW1lLHdpZHRoOjI4LGhlaWdodDoyOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUifX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjEuMn0sY2hpbGRyZW46YS5uYW1lfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2NvbG9yOnksZm9udFNpemU6MTB9LGNoaWxkcmVuOlthLnN5bWJvbCwiIMK3IFJhbmsgIyIsYS5yYW5rXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOnttYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MjAsbGluZUhlaWdodDoxLjJ9LGNoaWxkcmVuOihvPWEucHJpY2VfdXNkKmMucmF0ZSxyPWMuc3ltYm9sLG8+PTE/citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOmo/dTpifSxjaGlsZHJlbjpbaj8iKyI6IiIsYS5wZXJjZW50X2NoYW5nZV8yNGg/LnRvRml4ZWQoMiksIiUiXX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5LGZvbnRTaXplOjEwLG1hcmdpbkxlZnQ6M30sY2hpbGRyZW46IjI0aCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtwPyIjMzc0MTUxIjoiI2U1ZTdlYiJ9YCxwYWRkaW5nVG9wOjYsZm9udFNpemU6MTF9LGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2NvbG9yOnl9LGNoaWxkcmVuOiJNYXJrZXQgQ2FwIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjpoKGEubWFya2V0X2NhcCpjLnJhdGUsYy5zeW1ib2wpfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5fSxjaGlsZHJlbjoiVm9sdW1lIDI0aCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46aChhLnZvbHVtZV8yNGgqYy5yYXRlLGMuc3ltYm9sKX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSAxaCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfMWg/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzFoPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfMWg/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSA3ZCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzdkPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGYoe3RoZW1lOmV9KXtsZXRbaSxzXT0oMCxuLnVzZVN0YXRlKShbXSksW28scl09KDAsbi51c2VTdGF0ZSkoIkJUQyIpLFthLGxdPSgwLG4udXNlU3RhdGUpKCJVU0QiKSxbYyxkXT0oMCxuLnVzZVN0YXRlKSgiMSIpLFtoLGZdPSgwLG4udXNlU3RhdGUpKCIiKSxbcCxnXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57ZmV0Y2goIi9hcGkvdjEvd2lkZ2V0P3RvcD01MCIpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmcyhlLmRhdGEpfSkuY2F0Y2goKCk9Pnt9KS5maW5hbGx5KCgpPT5nKCExKSl9LFtdKTtsZXQgeD0oMCxuLnVzZUNhbGxiYWNrKSgoKT0+e2xldCBlPXBhcnNlRmxvYXQoYyl8fDA7aWYoIlVTRCI9PT1hKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1vKTt0JiZmKG0oZSp0LnByaWNlX3VzZCkpfWVsc2UgaWYoIlVTRCI9PT1vKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZ0LnByaWNlX3VzZD4wJiZmKG0oZS90LnByaWNlX3VzZCkpfWVsc2V7bGV0IHQ9aS5maW5kKGU9PmUuc3ltYm9sPT09byksbj1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZuJiZuLnByaWNlX3VzZD4wJiZmKG0oZSp0LnByaWNlX3VzZC9uLnByaWNlX3VzZCkpfX0sW2MsbyxhLGldKTsoMCxuLnVzZUVmZmVjdCkoKCk9PntpLmxlbmd0aD4wJiZ4KCl9LFtpLHhdKTtsZXQgeT0iZGFyayI9PT1lLHU9eT8iIzFCMjAzMCI6IiNmZmZmZmYiLGI9eT8iI2U1ZTdlYiI6IiMxZjI5MzciLGo9eT8iIzljYTNhZiI6IiM2YjcyODAiLFM9eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHY9eT8iIzExMTgyNyI6IiNmOWZhZmIiLF89eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHc9e3dpZHRoOiIxMDAlIixwYWRkaW5nOiI2cHggOHB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOnYsY29sb3I6Yixib3JkZXI6YDFweCBzb2xpZCAke1N9YCxib3JkZXJSYWRpdXM6NSxvdXRsaW5lOiJub25lIixhcHBlYXJhbmNlOiJhdXRvIn0saz17d2lkdGg6IjEwMCUiLHBhZGRpbmc6IjZweCA4cHgiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsYmFja2dyb3VuZDp2LGNvbG9yOmIsYm9yZGVyOmAxcHggc29saWQgJHtTfWAsYm9yZGVyUmFkaXVzOjUsb3V0bGluZToibm9uZSIsYm94U2l6aW5nOiJib3JkZXItYm94In07aWYocClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOnUsY29sb3I6YixwYWRkaW5nOjE2LGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pO2xldCBGPVt7c3ltYm9sOiJVU0QiLG5hbWU6IlVTIERvbGxhciJ9LC4uLmkubWFwKGU9Pih7c3ltYm9sOmUuc3ltYm9sLG5hbWU6ZS5uYW1lfSkpXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp1LGNvbG9yOmIsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTMsbWFyZ2luQm90dG9tOjEwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46IkNyeXB0b2N1cnJlbmN5IENvbnZlcnRlciJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7c3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixmb250U2l6ZToxMCxjb2xvcjpqLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjoiRnJvbSJ9KSwoMCx0LmpzeCkoInNlbGVjdCIse3ZhbHVlOm8sb25DaGFuZ2U6ZT0+cihlLnRhcmdldC52YWx1ZSksc3R5bGU6dyxjaGlsZHJlbjpGLm1hcChlPT4oMCx0LmpzeHMpKCJvcHRpb24iLHt2YWx1ZTplLnN5bWJvbCxjaGlsZHJlbjpbZS5zeW1ib2wsIiAtICIsZS5uYW1lXX0sYGZyb20tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImlucHV0Iix7dHlwZToibnVtYmVyIix2YWx1ZTpjLG9uQ2hhbmdlOmU9PmQoZS50YXJnZXQudmFsdWUpLHN0eWxlOnsuLi5rLG1hcmdpblRvcDo0fSxwbGFjZWhvbGRlcjoiQW1vdW50In0pXX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46KDAsdC5qc3gpKCJidXR0b24iLHtvbkNsaWNrOigpPT57cihhKSxsKG8pfSxzdHlsZTp7YmFja2dyb3VuZDpfLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUiLHdpZHRoOjI4LGhlaWdodDoyOCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGNvbG9yOmIsbGluZUhlaWdodDoiMjhweCJ9LGNoaWxkcmVuOiLih4UifSl9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse3N0eWxlOntkaXNwbGF5OiJibG9jayIsZm9udFNpemU6MTAsY29sb3I6aixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46IlRvIn0pLCgwLHQuanN4KSgic2VsZWN0Iix7dmFsdWU6YSxvbkNoYW5nZTplPT5sKGUudGFyZ2V0LnZhbHVlKSxzdHlsZTp3LGNoaWxkcmVuOkYubWFwKGU9PigwLHQuanN4cykoIm9wdGlvbiIse3ZhbHVlOmUuc3ltYm9sLGNoaWxkcmVuOltlLnN5bWJvbCwiIC0gIixlLm5hbWVdfSxgdG8tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOnsuLi5rLG1hcmdpblRvcDo0LG1pbkhlaWdodDoxNixiYWNrZ3JvdW5kOl99LGNoaWxkcmVuOmh8fCIwLjAwIn0pXX0pLCgwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazp4LHN0eWxlOnt3aWR0aDoiMTAwJSIscGFkZGluZzoiOHB4Iixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxiYWNrZ3JvdW5kOiIjM2I4MmY2Iixjb2xvcjoiI2ZmZiIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoiQ29udmVydCJ9KV19KX1mdW5jdGlvbiBtKGUpe3JldHVybiBlPj0xP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTplPj0uMDAxP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KTplLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo4fSl9ZnVuY3Rpb24gcCh7dGhlbWU6ZSxwcmVmQ29pbklkOmksaW52ZXJ0SG92ZXI6b30pe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKFtdKSxbbCxjXT0oMCxuLnVzZVN0YXRlKSh7Y29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0pLFtkLGhdPSgwLG4udXNlU3RhdGUpKCEwKSxmPSgwLG4udXNlUmVmKShudWxsKSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMSk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOiI1MCIsc3BhcmtsaW5lOiIwIn0pO2kmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGkpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZhKGUuZGF0YSksZS5jdXJyZW5jeSYmYyhlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+aCghMSkpfSxbaV0pO2xldCBnPSJkYXJrIj09PWUseD1nPyIjMUIyMDMwIjoiI2ZmZmZmZiIseT1nPyIjZTVlN2ViIjoiIzFmMjkzNyI7aWYoZClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxoZWlnaHQ6IjEwMCUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgdT1bLi4uciwuLi5yXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp4LGNvbG9yOnksZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciJ9LG9uTW91c2VFbnRlcjooKT0+cCghMCksb25Nb3VzZUxlYXZlOigpPT5wKCExKSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtyZWY6ZixzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MjQsd2hpdGVTcGFjZToibm93cmFwIixoZWlnaHQ6IjEwMCUiLHBhZGRpbmdMZWZ0OjEyLGFuaW1hdGlvbjooInllcyI9PT1vP206IW0pPyJ3aWRnZXQtbWFycXVlZSAxMjBzIGxpbmVhciBpbmZpbml0ZSI6Im5vbmUifSxjaGlsZHJlbjp1Lm1hcCgoZSxpKT0+e3ZhciBuLG87bGV0IHI9ZS5wZXJjZW50X2NoYW5nZV8yNGg+PTA7cmV0dXJuKDAsdC5qc3hzKSgiYSIse2hyZWY6YGh0dHBzOi8vY29pbmxpYi5pbyR7KDAscy5jb2luVXJsKShlLnN5bWJvbCxlLm5hbWUpfWAsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LGZvbnRTaXplOjEzLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOmUuaW1hZ2UsYWx0OmUubmFtZSx3aWR0aDoxNixoZWlnaHQ6MTYsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUuc3ltYm9sfSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihuPWUucHJpY2VfdXNkKmwucmF0ZSxvPWwuc3ltYm9sLG4+PTE/bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnI/IiMyMmM1NWUiOiIjZWY0NDQ0Iixmb250U2l6ZToxMn0sY2hpbGRyZW46W3I/IisiOiIiLGUucGVyY2VudF9jaGFuZ2VfMjRoPy50b0ZpeGVkKDIpLCIlIl19KV19LGAke2Uuc3ltYm9sfS0ke2l9YCl9KX0pLCgwLHQuanN4KSgic3R5bGUiLHtjaGlsZHJlbjpgCiAgICAgICAgQGtleWZyYW1lcyB3aWRnZXQtbWFycXVlZSB7CiAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KICAgICAgYH0pXX0pfWZ1bmN0aW9uIGcoe3R5cGU6ZSxwYXJhbXM6aX0pe2xldCBuLHM9aS50aGVtZT8/ImRhcmsiLHI9ImRhcmsiPT09cz8iIzFCMjAzMCI6IiNmZmZmZmYiO3N3aXRjaChlKXtjYXNlImZ1bGxfdjIiOm49KDAsdC5qc3gpKG8se3RoZW1lOnMsY250OnBhcnNlSW50KGkuY250Pz8iNiIsMTApLGdyYXBoOiJubyIhPT1pLmdyYXBoLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWR9KTticmVhaztjYXNlImNoYXJ0IjpuPSgwLHQuanN4KShsLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2Uic2luZ2xlX3YyIjpuPSgwLHQuanN4KShkLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2UiY29udmVydGVyIjpuPSgwLHQuanN4KShmLHt0aGVtZTpzfSk7YnJlYWs7Y2FzZSJob3Jpem9udGFsX3YyIjpuPSgwLHQuanN4KShwLHt0aGVtZTpzLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWQsaW52ZXJ0SG92ZXI6aS5pbnZlcnRfaG92ZXJ9KTticmVhaztkZWZhdWx0Om49KDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6MTYsZm9udFNpemU6MTMsZm9udEZhbWlseToic3lzdGVtLXVpLCBzYW5zLXNlcmlmIn0sY2hpbGRyZW46WyJVbmtub3duIHdpZGdldCB0eXBlOiAiLGVdfSl9cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpyLG1pbkhlaWdodDoiMTAwdmgifSxjaGlsZHJlbjpufSl9ZnVuY3Rpb24geCh7dHlwZTplfSl7bGV0IG49KDAsaS51c2VTZWFyY2hQYXJhbXMpKCkscz17fTtuLmZvckVhY2goKGUsdCk9PntzW3RdPWV9KTtsZXQgbz1lPz9zLnR5cGU/PyJmdWxsX3YyIjtyZXR1cm4oMCx0LmpzeCkoZyx7dHlwZTpvLHBhcmFtczpzfSl9ZS5zKFsiV2lkZ2V0Q2xpZW50IiwoKT0+eF0sNzkyOTQpfV0pOw=="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/51508.767219283c65f4d4ca6e.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.706Z","timestamp":1785136427706,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/51508.767219283c65f4d4ca6e.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b75-9e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:25 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a2d0a91d4d44cded25d544213f6847c1\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2529,"size_decoded":1497,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2529), with no line terminators","md5":"76e3b34ef660092cb6ebcda4b1e8a0b0","sha1":"d997b9296e92721e4cfa8c5cd062150dd5a72d76","sha256":"1f4abc998292aaf8b21eb2933273369f5d7611063f098e70b47fbd27258859c0","sha512":"91d3087923640eeca24866262f097a03a730ca9ecbcab63c5851539144aca3fc7b28c2b2a340a3318f5a5f4149e8f995999a8ec0680a94a7780ac64e2ce591a3","ssdeep":"","tlshash":"6651481fb3fb1d212c234b0047d56e432330e5a315e36aece810d1ae9eda9de39b1285","first_seen":"2026-04-15T09:47:56.501715Z","last_seen":"2026-08-11T10:15:18.366618Z","times_seen":6148,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":75,"timings":{"blocked":-1,"dns":33,"connect":2,"send":0,"wait":9,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/js/moment.js","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.785Z","timestamp":1785136427785,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/js/moment.js HTTP/1.1\r\nHost: binarymate.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://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=3,i=?0\r\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=bSvzW0bkAjOy24%2B9bUHjexlTiST7OwU%2BeQfPED%2Bwrr0zwr1K%2FMaHZ65%2BASgmtmgsdrYf8RDg9gv78lAWM%2F9pGG7wYGa1WvehYlJci8AV9M2YjAQcb4gXOO%2BtN1DaVkQmNQ%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-197d9\"\r\ncf-ray: a219d7f1bb390daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":104409,"size_decoded":27229,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"cd9f0b2d1b3e08b28f14cbb6d75217ee","sha1":"65395e3e55adc5e2953e03c8378faa5cd0e324de","sha256":"330b77f348bc97849800b9f3af7d1fe52fb6e145525ad494149d7a202c0c3cbf","sha512":"651e54d33e16ab0ca2fafcfb9c06ef8de815921286358f588e4652c92258e6a74bd86390f6679bf8d2e05b73f92793955e00f358d9fe062cb60f520ca1d7941d","ssdeep":"1536:GOTnbs7GfbZ7fjl2Ulweohewa8WBnXfVo2ESDTokYiMibJUjN:GOUqTZ7/OWBto2EfBjN","tlshash":"46a32d5a59e720224a6366384fdf5001ba38c523560ede04bc8da3d49f96d7c47bafec","first_seen":"2023-03-07T01:19:00Z","last_seen":"2026-08-10T18:26:39.744351Z","times_seen":417,"resource_available":true,"data":"Ly8hIG1vbWVudC5qcwovLyEgdmVyc2lvbiA6IDIuMTAuNgovLyEgYXV0aG9ycyA6IFRpbSBXb29kLCBJc2tyZW4gQ2hlcm5ldiwgTW9tZW50LmpzIGNvbnRyaWJ1dG9ycwovLyEgbGljZW5zZSA6IE1JVAovLyEgbW9tZW50anMuY29tCgooZnVuY3Rpb24gKGdsb2JhbCwgZmFjdG9yeSkgewogICAgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnID8gbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCkgOgogICAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKGZhY3RvcnkpIDoKICAgIGdsb2JhbC5tb21lbnQgPSBmYWN0b3J5KCkKfSh0aGlzLCBmdW5jdGlvbiAoKSB7ICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgaG9va0NhbGxiYWNrOwoKICAgIGZ1bmN0aW9uIHV0aWxzX2hvb2tzX19ob29rcyAoKSB7CiAgICAgICAgcmV0dXJuIGhvb2tDYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgfQoKICAgIC8vIFRoaXMgaXMgZG9uZSB0byByZWdpc3RlciB0aGUgbWV0aG9kIGNhbGxlZCB3aXRoIG1vbWVudCgpCiAgICAvLyB3aXRob3V0IGNyZWF0aW5nIGNpcmN1bGFyIGRlcGVuZGVuY2llcy4KICAgIGZ1bmN0aW9uIHNldEhvb2tDYWxsYmFjayAoY2FsbGJhY2spIHsKICAgICAgICBob29rQ2FsbGJhY2sgPSBjYWxsYmFjazsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0FycmF5KGlucHV0KSB7CiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChpbnB1dCkgPT09ICdbb2JqZWN0IEFycmF5XSc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNEYXRlKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIGlucHV0IGluc3RhbmNlb2YgRGF0ZSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBEYXRlXSc7CiAgICB9CgogICAgZnVuY3Rpb24gbWFwKGFyciwgZm4pIHsKICAgICAgICB2YXIgcmVzID0gW10sIGk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGFyci5sZW5ndGg7ICsraSkgewogICAgICAgICAgICByZXMucHVzaChmbihhcnJbaV0sIGkpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICBmdW5jdGlvbiBoYXNPd25Qcm9wKGEsIGIpIHsKICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsIGIpOwogICAgfQoKICAgIGZ1bmN0aW9uIGV4dGVuZChhLCBiKSB7CiAgICAgICAgZm9yICh2YXIgaSBpbiBiKSB7CiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKGIsIGkpKSB7CiAgICAgICAgICAgICAgICBhW2ldID0gYltpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKGhhc093blByb3AoYiwgJ3RvU3RyaW5nJykpIHsKICAgICAgICAgICAgYS50b1N0cmluZyA9IGIudG9TdHJpbmc7CiAgICAgICAgfQoKICAgICAgICBpZiAoaGFzT3duUHJvcChiLCAndmFsdWVPZicpKSB7CiAgICAgICAgICAgIGEudmFsdWVPZiA9IGIudmFsdWVPZjsKICAgICAgICB9CgogICAgICAgIHJldHVybiBhOwogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZV91dGNfX2NyZWF0ZVVUQyAoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QpIHsKICAgICAgICByZXR1cm4gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGUsIHN0cmljdCwgdHJ1ZSkudXRjKCk7CiAgICB9CgogICAgZnVuY3Rpb24gZGVmYXVsdFBhcnNpbmdGbGFncygpIHsKICAgICAgICAvLyBXZSBuZWVkIHRvIGRlZXAgY2xvbmUgdGhpcyBvYmplY3QuCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgZW1wdHkgICAgICAgICAgIDogZmFsc2UsCiAgICAgICAgICAgIHVudXNlZFRva2VucyAgICA6IFtdLAogICAgICAgICAgICB1bnVzZWRJbnB1dCAgICAgOiBbXSwKICAgICAgICAgICAgb3ZlcmZsb3cgICAgICAgIDogLTIsCiAgICAgICAgICAgIGNoYXJzTGVmdE92ZXIgICA6IDAsCiAgICAgICAgICAgIG51bGxJbnB1dCAgICAgICA6IGZhbHNlLAogICAgICAgICAgICBpbnZhbGlkTW9udGggICAgOiBudWxsLAogICAgICAgICAgICBpbnZhbGlkRm9ybWF0ICAgOiBmYWxzZSwKICAgICAgICAgICAgdXNlckludmFsaWRhdGVkIDogZmFsc2UsCiAgICAgICAgICAgIGlzbyAgICAgICAgICAgICA6IGZhbHNlCiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQYXJzaW5nRmxhZ3MobSkgewogICAgICAgIGlmIChtLl9wZiA9PSBudWxsKSB7CiAgICAgICAgICAgIG0uX3BmID0gZGVmYXVsdFBhcnNpbmdGbGFncygpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbS5fcGY7CiAgICB9CgogICAgZnVuY3Rpb24gdmFsaWRfX2lzVmFsaWQobSkgewogICAgICAgIGlmIChtLl9pc1ZhbGlkID09IG51bGwpIHsKICAgICAgICAgICAgdmFyIGZsYWdzID0gZ2V0UGFyc2luZ0ZsYWdzKG0pOwogICAgICAgICAgICBtLl9pc1ZhbGlkID0gIWlzTmFOKG0uX2QuZ2V0VGltZSgpKSAmJgogICAgICAgICAgICAgICAgZmxhZ3Mub3ZlcmZsb3cgPCAwICYmCiAgICAgICAgICAgICAgICAhZmxhZ3MuZW1wdHkgJiYKICAgICAgICAgICAgICAgICFmbGFncy5pbnZhbGlkTW9udGggJiYKICAgICAgICAgICAgICAgICFmbGFncy5pbnZhbGlkV2Vla2RheSAmJgogICAgICAgICAgICAgICAgIWZsYWdzLm51bGxJbnB1dCAmJgogICAgICAgICAgICAgICAgIWZsYWdzLmludmFsaWRGb3JtYXQgJiYKICAgICAgICAgICAgICAgICFmbGFncy51c2VySW52YWxpZGF0ZWQ7CgogICAgICAgICAgICBpZiAobS5fc3RyaWN0KSB7CiAgICAgICAgICAgICAgICBtLl9pc1ZhbGlkID0gbS5faXNWYWxpZCAmJgogICAgICAgICAgICAgICAgICAgIGZsYWdzLmNoYXJzTGVmdE92ZXIgPT09IDAgJiYKICAgICAgICAgICAgICAgICAgICBmbGFncy51bnVzZWRUb2tlbnMubGVuZ3RoID09PSAwICYmCiAgICAgICAgICAgICAgICAgICAgZmxhZ3MuYmlnSG91ciA9PT0gdW5kZWZpbmVkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBtLl9pc1ZhbGlkOwogICAgfQoKICAgIGZ1bmN0aW9uIHZhbGlkX19jcmVhdGVJbnZhbGlkIChmbGFncykgewogICAgICAgIHZhciBtID0gY3JlYXRlX3V0Y19fY3JlYXRlVVRDKE5hTik7CiAgICAgICAgaWYgKGZsYWdzICE9IG51bGwpIHsKICAgICAgICAgICAgZXh0ZW5kKGdldFBhcnNpbmdGbGFncyhtKSwgZmxhZ3MpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLnVzZXJJbnZhbGlkYXRlZCA9IHRydWU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbTsKICAgIH0KCiAgICB2YXIgbW9tZW50UHJvcGVydGllcyA9IHV0aWxzX2hvb2tzX19ob29rcy5tb21lbnRQcm9wZXJ0aWVzID0gW107CgogICAgZnVuY3Rpb24gY29weUNvbmZpZyh0bywgZnJvbSkgewogICAgICAgIHZhciBpLCBwcm9wLCB2YWw7CgogICAgICAgIGlmICh0eXBlb2YgZnJvbS5faXNBTW9tZW50T2JqZWN0ICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0by5faXNBTW9tZW50T2JqZWN0ID0gZnJvbS5faXNBTW9tZW50T2JqZWN0OwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX2kgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl9pID0gZnJvbS5faTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl9mICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0by5fZiA9IGZyb20uX2Y7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgZnJvbS5fbCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX2wgPSBmcm9tLl9sOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX3N0cmljdCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX3N0cmljdCA9IGZyb20uX3N0cmljdDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl90em0gIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl90em0gPSBmcm9tLl90em07CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgZnJvbS5faXNVVEMgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRvLl9pc1VUQyA9IGZyb20uX2lzVVRDOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX29mZnNldCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX29mZnNldCA9IGZyb20uX29mZnNldDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBmcm9tLl9wZiAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX3BmID0gZ2V0UGFyc2luZ0ZsYWdzKGZyb20pOwogICAgICAgIH0KICAgICAgICBpZiAodHlwZW9mIGZyb20uX2xvY2FsZSAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdG8uX2xvY2FsZSA9IGZyb20uX2xvY2FsZTsKICAgICAgICB9CgogICAgICAgIGlmIChtb21lbnRQcm9wZXJ0aWVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgZm9yIChpIGluIG1vbWVudFByb3BlcnRpZXMpIHsKICAgICAgICAgICAgICAgIHByb3AgPSBtb21lbnRQcm9wZXJ0aWVzW2ldOwogICAgICAgICAgICAgICAgdmFsID0gZnJvbVtwcm9wXTsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgIHRvW3Byb3BdID0gdmFsOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdG87CiAgICB9CgogICAgdmFyIHVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKCiAgICAvLyBNb21lbnQgcHJvdG90eXBlIG9iamVjdAogICAgZnVuY3Rpb24gTW9tZW50KGNvbmZpZykgewogICAgICAgIGNvcHlDb25maWcodGhpcywgY29uZmlnKTsKICAgICAgICB0aGlzLl9kID0gbmV3IERhdGUoY29uZmlnLl9kICE9IG51bGwgPyBjb25maWcuX2QuZ2V0VGltZSgpIDogTmFOKTsKICAgICAgICAvLyBQcmV2ZW50IGluZmluaXRlIGxvb3AgaW4gY2FzZSB1cGRhdGVPZmZzZXQgY3JlYXRlcyBuZXcgbW9tZW50CiAgICAgICAgLy8gb2JqZWN0cy4KICAgICAgICBpZiAodXBkYXRlSW5Qcm9ncmVzcyA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgdXBkYXRlSW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQodGhpcyk7CiAgICAgICAgICAgIHVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaXNNb21lbnQgKG9iaikgewogICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBNb21lbnQgfHwgKG9iaiAhPSBudWxsICYmIG9iai5faXNBTW9tZW50T2JqZWN0ICE9IG51bGwpOwogICAgfQoKICAgIGZ1bmN0aW9uIGFic0Zsb29yIChudW1iZXIpIHsKICAgICAgICBpZiAobnVtYmVyIDwgMCkgewogICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IobnVtYmVyKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gdG9JbnQoYXJndW1lbnRGb3JDb2VyY2lvbikgewogICAgICAgIHZhciBjb2VyY2VkTnVtYmVyID0gK2FyZ3VtZW50Rm9yQ29lcmNpb24sCiAgICAgICAgICAgIHZhbHVlID0gMDsKCiAgICAgICAgaWYgKGNvZXJjZWROdW1iZXIgIT09IDAgJiYgaXNGaW5pdGUoY29lcmNlZE51bWJlcikpIHsKICAgICAgICAgICAgdmFsdWUgPSBhYnNGbG9vcihjb2VyY2VkTnVtYmVyKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBjb21wYXJlQXJyYXlzKGFycmF5MSwgYXJyYXkyLCBkb250Q29udmVydCkgewogICAgICAgIHZhciBsZW4gPSBNYXRoLm1pbihhcnJheTEubGVuZ3RoLCBhcnJheTIubGVuZ3RoKSwKICAgICAgICAgICAgbGVuZ3RoRGlmZiA9IE1hdGguYWJzKGFycmF5MS5sZW5ndGggLSBhcnJheTIubGVuZ3RoKSwKICAgICAgICAgICAgZGlmZnMgPSAwLAogICAgICAgICAgICBpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgICAgICBpZiAoKGRvbnRDb252ZXJ0ICYmIGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB8fAogICAgICAgICAgICAgICAgKCFkb250Q29udmVydCAmJiB0b0ludChhcnJheTFbaV0pICE9PSB0b0ludChhcnJheTJbaV0pKSkgewogICAgICAgICAgICAgICAgZGlmZnMrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZGlmZnMgKyBsZW5ndGhEaWZmOwogICAgfQoKICAgIGZ1bmN0aW9uIExvY2FsZSgpIHsKICAgIH0KCiAgICB2YXIgbG9jYWxlcyA9IHt9OwogICAgdmFyIGdsb2JhbExvY2FsZTsKCiAgICBmdW5jdGlvbiBub3JtYWxpemVMb2NhbGUoa2V5KSB7CiAgICAgICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ18nLCAnLScpIDoga2V5OwogICAgfQoKICAgIC8vIHBpY2sgdGhlIGxvY2FsZSBmcm9tIHRoZSBhcnJheQogICAgLy8gdHJ5IFsnZW4tYXUnLCAnZW4tZ2InXSBhcyAnZW4tYXUnLCAnZW4tZ2InLCAnZW4nLCBhcyBpbiBtb3ZlIHRocm91Z2ggdGhlIGxpc3QgdHJ5aW5nIGVhY2gKICAgIC8vIHN1YnN0cmluZyBmcm9tIG1vc3Qgc3BlY2lmaWMgdG8gbGVhc3QsIGJ1dCBtb3ZlIHRvIHRoZSBuZXh0IGFycmF5IGl0ZW0gaWYgaXQncyBhIG1vcmUgc3BlY2lmaWMgdmFyaWFudCB0aGFuIHRoZSBjdXJyZW50IHJvb3QKICAgIGZ1bmN0aW9uIGNob29zZUxvY2FsZShuYW1lcykgewogICAgICAgIHZhciBpID0gMCwgaiwgbmV4dCwgbG9jYWxlLCBzcGxpdDsKCiAgICAgICAgd2hpbGUgKGkgPCBuYW1lcy5sZW5ndGgpIHsKICAgICAgICAgICAgc3BsaXQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaV0pLnNwbGl0KCctJyk7CiAgICAgICAgICAgIGogPSBzcGxpdC5sZW5ndGg7CiAgICAgICAgICAgIG5leHQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaSArIDFdKTsKICAgICAgICAgICAgbmV4dCA9IG5leHQgPyBuZXh0LnNwbGl0KCctJykgOiBudWxsOwogICAgICAgICAgICB3aGlsZSAoaiA+IDApIHsKICAgICAgICAgICAgICAgIGxvY2FsZSA9IGxvYWRMb2NhbGUoc3BsaXQuc2xpY2UoMCwgaikuam9pbignLScpKTsKICAgICAgICAgICAgICAgIGlmIChsb2NhbGUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKG5leHQgJiYgbmV4dC5sZW5ndGggPj0gaiAmJiBjb21wYXJlQXJyYXlzKHNwbGl0LCBuZXh0LCB0cnVlKSA+PSBqIC0gMSkgewogICAgICAgICAgICAgICAgICAgIC8vdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmUKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGotLTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvYWRMb2NhbGUobmFtZSkgewogICAgICAgIHZhciBvbGRMb2NhbGUgPSBudWxsOwogICAgICAgIC8vIFRPRE86IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIHJlZ2lzdGVyIGFuZCBsb2FkIGFsbCB0aGUgbG9jYWxlcyBpbiBOb2RlCiAgICAgICAgaWYgKCFsb2NhbGVzW25hbWVdICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmCiAgICAgICAgICAgICAgICBtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIG9sZExvY2FsZSA9IGdsb2JhbExvY2FsZS5fYWJicjsKICAgICAgICAgICAgICAgIHJlcXVpcmUoJy4vbG9jYWxlLycgKyBuYW1lKTsKICAgICAgICAgICAgICAgIC8vIGJlY2F1c2UgZGVmaW5lTG9jYWxlIGN1cnJlbnRseSBhbHNvIHNldHMgdGhlIGdsb2JhbCBsb2NhbGUsIHdlCiAgICAgICAgICAgICAgICAvLyB3YW50IHRvIHVuZG8gdGhhdCBmb3IgbGF6eSBsb2FkZWQgbG9jYWxlcwogICAgICAgICAgICAgICAgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZShvbGRMb2NhbGUpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7IH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07CiAgICB9CgogICAgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGxvYWQgbG9jYWxlIGFuZCB0aGVuIHNldCB0aGUgZ2xvYmFsIGxvY2FsZS4gIElmCiAgICAvLyBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCBpbiwgaXQgd2lsbCBzaW1wbHkgcmV0dXJuIHRoZSBjdXJyZW50IGdsb2JhbAogICAgLy8gbG9jYWxlIGtleS4KICAgIGZ1bmN0aW9uIGxvY2FsZV9sb2NhbGVzX19nZXRTZXRHbG9iYWxMb2NhbGUgKGtleSwgdmFsdWVzKSB7CiAgICAgICAgdmFyIGRhdGE7CiAgICAgICAgaWYgKGtleSkgewogICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlcyA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgIGRhdGEgPSBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGRhdGEpIHsKICAgICAgICAgICAgICAgIC8vIG1vbWVudC5kdXJhdGlvbi5fbG9jYWxlID0gbW9tZW50Ll9sb2NhbGUgPSBkYXRhOwogICAgICAgICAgICAgICAgZ2xvYmFsTG9jYWxlID0gZGF0YTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGdsb2JhbExvY2FsZS5fYWJicjsKICAgIH0KCiAgICBmdW5jdGlvbiBkZWZpbmVMb2NhbGUgKG5hbWUsIHZhbHVlcykgewogICAgICAgIGlmICh2YWx1ZXMgIT09IG51bGwpIHsKICAgICAgICAgICAgdmFsdWVzLmFiYnIgPSBuYW1lOwogICAgICAgICAgICBsb2NhbGVzW25hbWVdID0gbG9jYWxlc1tuYW1lXSB8fCBuZXcgTG9jYWxlKCk7CiAgICAgICAgICAgIGxvY2FsZXNbbmFtZV0uc2V0KHZhbHVlcyk7CgogICAgICAgICAgICAvLyBiYWNrd2FyZHMgY29tcGF0IGZvciBub3c6IGFsc28gc2V0IHRoZSBsb2NhbGUKICAgICAgICAgICAgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZShuYW1lKTsKCiAgICAgICAgICAgIHJldHVybiBsb2NhbGVzW25hbWVdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIHVzZWZ1bCBmb3IgdGVzdGluZwogICAgICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQogICAgfQoKICAgIC8vIHJldHVybnMgbG9jYWxlIGRhdGEKICAgIGZ1bmN0aW9uIGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUgKGtleSkgewogICAgICAgIHZhciBsb2NhbGU7CgogICAgICAgIGlmIChrZXkgJiYga2V5Ll9sb2NhbGUgJiYga2V5Ll9sb2NhbGUuX2FiYnIpIHsKICAgICAgICAgICAga2V5ID0ga2V5Ll9sb2NhbGUuX2FiYnI7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWtleSkgewogICAgICAgICAgICByZXR1cm4gZ2xvYmFsTG9jYWxlOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpc0FycmF5KGtleSkpIHsKICAgICAgICAgICAgLy9zaG9ydC1jaXJjdWl0IGV2ZXJ5dGhpbmcgZWxzZQogICAgICAgICAgICBsb2NhbGUgPSBsb2FkTG9jYWxlKGtleSk7CiAgICAgICAgICAgIGlmIChsb2NhbGUpIHsKICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAga2V5ID0gW2tleV07CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY2hvb3NlTG9jYWxlKGtleSk7CiAgICB9CgogICAgdmFyIGFsaWFzZXMgPSB7fTsKCiAgICBmdW5jdGlvbiBhZGRVbml0QWxpYXMgKHVuaXQsIHNob3J0aGFuZCkgewogICAgICAgIHZhciBsb3dlckNhc2UgPSB1bml0LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgYWxpYXNlc1tsb3dlckNhc2VdID0gYWxpYXNlc1tsb3dlckNhc2UgKyAncyddID0gYWxpYXNlc1tzaG9ydGhhbmRdID0gdW5pdDsKICAgIH0KCiAgICBmdW5jdGlvbiBub3JtYWxpemVVbml0cyh1bml0cykgewogICAgICAgIHJldHVybiB0eXBlb2YgdW5pdHMgPT09ICdzdHJpbmcnID8gYWxpYXNlc1t1bml0c10gfHwgYWxpYXNlc1t1bml0cy50b0xvd2VyQ2FzZSgpXSA6IHVuZGVmaW5lZDsKICAgIH0KCiAgICBmdW5jdGlvbiBub3JtYWxpemVPYmplY3RVbml0cyhpbnB1dE9iamVjdCkgewogICAgICAgIHZhciBub3JtYWxpemVkSW5wdXQgPSB7fSwKICAgICAgICAgICAgbm9ybWFsaXplZFByb3AsCiAgICAgICAgICAgIHByb3A7CgogICAgICAgIGZvciAocHJvcCBpbiBpbnB1dE9iamVjdCkgewogICAgICAgICAgICBpZiAoaGFzT3duUHJvcChpbnB1dE9iamVjdCwgcHJvcCkpIHsKICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRQcm9wID0gbm9ybWFsaXplVW5pdHMocHJvcCk7CiAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplZFByb3ApIHsKICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkSW5wdXRbbm9ybWFsaXplZFByb3BdID0gaW5wdXRPYmplY3RbcHJvcF07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBub3JtYWxpemVkSW5wdXQ7CiAgICB9CgogICAgZnVuY3Rpb24gbWFrZUdldFNldCAodW5pdCwga2VlcFRpbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICBnZXRfc2V0X19zZXQodGhpcywgdW5pdCwgdmFsdWUpOwogICAgICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLnVwZGF0ZU9mZnNldCh0aGlzLCBrZWVwVGltZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBnZXRfc2V0X19nZXQodGhpcywgdW5pdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIGdldF9zZXRfX2dldCAobW9tLCB1bml0KSB7CiAgICAgICAgcmV0dXJuIG1vbS5fZFsnZ2V0JyArIChtb20uX2lzVVRDID8gJ1VUQycgOiAnJykgKyB1bml0XSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldF9zZXRfX3NldCAobW9tLCB1bml0LCB2YWx1ZSkgewogICAgICAgIHJldHVybiBtb20uX2RbJ3NldCcgKyAobW9tLl9pc1VUQyA/ICdVVEMnIDogJycpICsgdW5pdF0odmFsdWUpOwogICAgfQoKICAgIC8vIE1PTUVOVFMKCiAgICBmdW5jdGlvbiBnZXRTZXQgKHVuaXRzLCB2YWx1ZSkgewogICAgICAgIHZhciB1bml0OwogICAgICAgIGlmICh0eXBlb2YgdW5pdHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIGZvciAodW5pdCBpbiB1bml0cykgewogICAgICAgICAgICAgICAgdGhpcy5zZXQodW5pdCwgdW5pdHNbdW5pdF0pOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpc1t1bml0c10gPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW3VuaXRzXSh2YWx1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gemVyb0ZpbGwobnVtYmVyLCB0YXJnZXRMZW5ndGgsIGZvcmNlU2lnbikgewogICAgICAgIHZhciBhYnNOdW1iZXIgPSAnJyArIE1hdGguYWJzKG51bWJlciksCiAgICAgICAgICAgIHplcm9zVG9GaWxsID0gdGFyZ2V0TGVuZ3RoIC0gYWJzTnVtYmVyLmxlbmd0aCwKICAgICAgICAgICAgc2lnbiA9IG51bWJlciA+PSAwOwogICAgICAgIHJldHVybiAoc2lnbiA/IChmb3JjZVNpZ24gPyAnKycgOiAnJykgOiAnLScpICsKICAgICAgICAgICAgTWF0aC5wb3coMTAsIE1hdGgubWF4KDAsIHplcm9zVG9GaWxsKSkudG9TdHJpbmcoKS5zdWJzdHIoMSkgKyBhYnNOdW1iZXI7CiAgICB9CgogICAgdmFyIGZvcm1hdHRpbmdUb2tlbnMgPSAvKFxbW15cW10qXF0pfChcXCk/KE1vfE1NP00/TT98RG98REREb3xERD9EP0Q/fGRkZD9kP3xkbz98d1tvfHddP3xXW298V10/fFF8WVlZWVlZfFlZWVlZfFlZWVl8WVl8Z2coZ2dnPyk/fEdHKEdHRz8pP3xlfEV8YXxBfGhoP3xISD98bW0/fHNzP3xTezEsOX18eHxYfHp6P3xaWj98LikvZzsKCiAgICB2YXIgbG9jYWxGb3JtYXR0aW5nVG9rZW5zID0gLyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2c7CgogICAgdmFyIGZvcm1hdEZ1bmN0aW9ucyA9IHt9OwoKICAgIHZhciBmb3JtYXRUb2tlbkZ1bmN0aW9ucyA9IHt9OwoKICAgIC8vIHRva2VuOiAgICAnTScKICAgIC8vIHBhZGRlZDogICBbJ01NJywgMl0KICAgIC8vIG9yZGluYWw6ICAnTW8nCiAgICAvLyBjYWxsYmFjazogZnVuY3Rpb24gKCkgeyB0aGlzLm1vbnRoKCkgKyAxIH0KICAgIGZ1bmN0aW9uIGFkZEZvcm1hdFRva2VuICh0b2tlbiwgcGFkZGVkLCBvcmRpbmFsLCBjYWxsYmFjaykgewogICAgICAgIHZhciBmdW5jID0gY2FsbGJhY2s7CiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgZnVuYyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW2NhbGxiYWNrXSgpOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBpZiAodG9rZW4pIHsKICAgICAgICAgICAgZm9ybWF0VG9rZW5GdW5jdGlvbnNbdG9rZW5dID0gZnVuYzsKICAgICAgICB9CiAgICAgICAgaWYgKHBhZGRlZCkgewogICAgICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9uc1twYWRkZWRbMF1dID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHplcm9GaWxsKGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgcGFkZGVkWzFdLCBwYWRkZWRbMl0pOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICBpZiAob3JkaW5hbCkgewogICAgICAgICAgICBmb3JtYXRUb2tlbkZ1bmN0aW9uc1tvcmRpbmFsXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgdG9rZW4pOwogICAgICAgICAgICB9OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGlucHV0KSB7CiAgICAgICAgaWYgKGlucHV0Lm1hdGNoKC9cW1tcc1xTXS8pKSB7CiAgICAgICAgICAgIHJldHVybiBpbnB1dC5yZXBsYWNlKC9eXFt8XF0kL2csICcnKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGlucHV0LnJlcGxhY2UoL1xcL2csICcnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYWtlRm9ybWF0RnVuY3Rpb24oZm9ybWF0KSB7CiAgICAgICAgdmFyIGFycmF5ID0gZm9ybWF0Lm1hdGNoKGZvcm1hdHRpbmdUb2tlbnMpLCBpLCBsZW5ndGg7CgogICAgICAgIGZvciAoaSA9IDAsIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV0pIHsKICAgICAgICAgICAgICAgIGFycmF5W2ldID0gZm9ybWF0VG9rZW5GdW5jdGlvbnNbYXJyYXlbaV1dOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYXJyYXlbaV0gPSByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGFycmF5W2ldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChtb20pIHsKICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIG91dHB1dCArPSBhcnJheVtpXSBpbnN0YW5jZW9mIEZ1bmN0aW9uID8gYXJyYXlbaV0uY2FsbChtb20sIGZvcm1hdCkgOiBhcnJheVtpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gb3V0cHV0OwogICAgICAgIH07CiAgICB9CgogICAgLy8gZm9ybWF0IGRhdGUgdXNpbmcgbmF0aXZlIGRhdGUgb2JqZWN0CiAgICBmdW5jdGlvbiBmb3JtYXRNb21lbnQobSwgZm9ybWF0KSB7CiAgICAgICAgaWYgKCFtLmlzVmFsaWQoKSkgewogICAgICAgICAgICByZXR1cm4gbS5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKTsKICAgICAgICB9CgogICAgICAgIGZvcm1hdCA9IGV4cGFuZEZvcm1hdChmb3JtYXQsIG0ubG9jYWxlRGF0YSgpKTsKICAgICAgICBmb3JtYXRGdW5jdGlvbnNbZm9ybWF0XSA9IGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdIHx8IG1ha2VGb3JtYXRGdW5jdGlvbihmb3JtYXQpOwoKICAgICAgICByZXR1cm4gZm9ybWF0RnVuY3Rpb25zW2Zvcm1hdF0obSk7CiAgICB9CgogICAgZnVuY3Rpb24gZXhwYW5kRm9ybWF0KGZvcm1hdCwgbG9jYWxlKSB7CiAgICAgICAgdmFyIGkgPSA1OwoKICAgICAgICBmdW5jdGlvbiByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMoaW5wdXQpIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5sb25nRGF0ZUZvcm1hdChpbnB1dCkgfHwgaW5wdXQ7CiAgICAgICAgfQoKICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgICAgICB3aGlsZSAoaSA+PSAwICYmIGxvY2FsRm9ybWF0dGluZ1Rva2Vucy50ZXN0KGZvcm1hdCkpIHsKICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UobG9jYWxGb3JtYXR0aW5nVG9rZW5zLCByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMpOwogICAgICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgICAgICAgICAgaSAtPSAxOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGZvcm1hdDsKICAgIH0KCiAgICB2YXIgbWF0Y2gxICAgICAgICAgPSAvXGQvOyAgICAgICAgICAgIC8vICAgICAgIDAgLSA5CiAgICB2YXIgbWF0Y2gyICAgICAgICAgPSAvXGRcZC87ICAgICAgICAgIC8vICAgICAgMDAgLSA5OQogICAgdmFyIG1hdGNoMyAgICAgICAgID0gL1xkezN9LzsgICAgICAgICAvLyAgICAgMDAwIC0gOTk5CiAgICB2YXIgbWF0Y2g0ICAgICAgICAgPSAvXGR7NH0vOyAgICAgICAgIC8vICAgIDAwMDAgLSA5OTk5CiAgICB2YXIgbWF0Y2g2ICAgICAgICAgPSAvWystXT9cZHs2fS87ICAgIC8vIC05OTk5OTkgLSA5OTk5OTkKICAgIHZhciBtYXRjaDF0bzIgICAgICA9IC9cZFxkPy87ICAgICAgICAgLy8gICAgICAgMCAtIDk5CiAgICB2YXIgbWF0Y2gxdG8zICAgICAgPSAvXGR7MSwzfS87ICAgICAgIC8vICAgICAgIDAgLSA5OTkKICAgIHZhciBtYXRjaDF0bzQgICAgICA9IC9cZHsxLDR9LzsgICAgICAgLy8gICAgICAgMCAtIDk5OTkKICAgIHZhciBtYXRjaDF0bzYgICAgICA9IC9bKy1dP1xkezEsNn0vOyAgLy8gLTk5OTk5OSAtIDk5OTk5OQoKICAgIHZhciBtYXRjaFVuc2lnbmVkICA9IC9cZCsvOyAgICAgICAgICAgLy8gICAgICAgMCAtIGluZgogICAgdmFyIG1hdGNoU2lnbmVkICAgID0gL1srLV0/XGQrLzsgICAgICAvLyAgICAtaW5mIC0gaW5mCgogICAgdmFyIG1hdGNoT2Zmc2V0ICAgID0gL1p8WystXVxkXGQ6P1xkXGQvZ2k7IC8vICswMDowMCAtMDA6MDAgKzAwMDAgLTAwMDAgb3IgWgoKICAgIHZhciBtYXRjaFRpbWVzdGFtcCA9IC9bKy1dP1xkKyhcLlxkezEsM30pPy87IC8vIDEyMzQ1Njc4OSAxMjM0NTY3ODkuMTIzCgogICAgLy8gYW55IHdvcmQgKG9yIHR3bykgY2hhcmFjdGVycyBvciBudW1iZXJzIGluY2x1ZGluZyB0d28vdGhyZWUgd29yZCBtb250aCBpbiBhcmFiaWMuCiAgICB2YXIgbWF0Y2hXb3JkID0gL1swLTldKlsnYS16XHUwMEEwLVx1MDVGRlx1MDcwMC1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZFRl0rfFtcdTA2MDAtXHUwNkZGXC9dKyhccyo/W1x1MDYwMC1cdTA2RkZdKyl7MSwyfS9pOwoKICAgIHZhciByZWdleGVzID0ge307CgogICAgZnVuY3Rpb24gaXNGdW5jdGlvbiAoc3RoKSB7CiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzIzMjUKICAgICAgICByZXR1cm4gdHlwZW9mIHN0aCA9PT0gJ2Z1bmN0aW9uJyAmJgogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoc3RoKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJzsKICAgIH0KCgogICAgZnVuY3Rpb24gYWRkUmVnZXhUb2tlbiAodG9rZW4sIHJlZ2V4LCBzdHJpY3RSZWdleCkgewogICAgICAgIHJlZ2V4ZXNbdG9rZW5dID0gaXNGdW5jdGlvbihyZWdleCkgPyByZWdleCA6IGZ1bmN0aW9uIChpc1N0cmljdCkgewogICAgICAgICAgICByZXR1cm4gKGlzU3RyaWN0ICYmIHN0cmljdFJlZ2V4KSA/IHN0cmljdFJlZ2V4IDogcmVnZXg7CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRQYXJzZVJlZ2V4Rm9yVG9rZW4gKHRva2VuLCBjb25maWcpIHsKICAgICAgICBpZiAoIWhhc093blByb3AocmVnZXhlcywgdG9rZW4pKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHVuZXNjYXBlRm9ybWF0KHRva2VuKSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oY29uZmlnLl9zdHJpY3QsIGNvbmZpZy5fbG9jYWxlKTsKICAgIH0KCiAgICAvLyBDb2RlIGZyb20gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNTYxNDkzL2lzLXRoZXJlLWEtcmVnZXhwLWVzY2FwZS1mdW5jdGlvbi1pbi1qYXZhc2NyaXB0CiAgICBmdW5jdGlvbiB1bmVzY2FwZUZvcm1hdChzKSB7CiAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgnXFwnLCAnJykucmVwbGFjZSgvXFwoXFspfFxcKFxdKXxcWyhbXlxdXFtdKilcXXxcXCguKS9nLCBmdW5jdGlvbiAobWF0Y2hlZCwgcDEsIHAyLCBwMywgcDQpIHsKICAgICAgICAgICAgcmV0dXJuIHAxIHx8IHAyIHx8IHAzIHx8IHA0OwogICAgICAgIH0pLnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCAnXFwkJicpOwogICAgfQoKICAgIHZhciB0b2tlbnMgPSB7fTsKCiAgICBmdW5jdGlvbiBhZGRQYXJzZVRva2VuICh0b2tlbiwgY2FsbGJhY2spIHsKICAgICAgICB2YXIgaSwgZnVuYyA9IGNhbGxiYWNrOwogICAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHRva2VuID0gW3Rva2VuXTsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgZnVuYyA9IGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICAgICAgICAgIGFycmF5W2NhbGxiYWNrXSA9IHRvSW50KGlucHV0KTsKICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRva2VuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHRva2Vuc1t0b2tlbltpXV0gPSBmdW5jOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBhZGRXZWVrUGFyc2VUb2tlbiAodG9rZW4sIGNhbGxiYWNrKSB7CiAgICAgICAgYWRkUGFyc2VUb2tlbih0b2tlbiwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnLCB0b2tlbikgewogICAgICAgICAgICBjb25maWcuX3cgPSBjb25maWcuX3cgfHwge307CiAgICAgICAgICAgIGNhbGxiYWNrKGlucHV0LCBjb25maWcuX3csIGNvbmZpZywgdG9rZW4pOwogICAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZFRpbWVUb0FycmF5RnJvbVRva2VuKHRva2VuLCBpbnB1dCwgY29uZmlnKSB7CiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwgJiYgaGFzT3duUHJvcCh0b2tlbnMsIHRva2VuKSkgewogICAgICAgICAgICB0b2tlbnNbdG9rZW5dKGlucHV0LCBjb25maWcuX2EsIGNvbmZpZywgdG9rZW4pOwogICAgICAgIH0KICAgIH0KCiAgICB2YXIgWUVBUiA9IDA7CiAgICB2YXIgTU9OVEggPSAxOwogICAgdmFyIERBVEUgPSAyOwogICAgdmFyIEhPVVIgPSAzOwogICAgdmFyIE1JTlVURSA9IDQ7CiAgICB2YXIgU0VDT05EID0gNTsKICAgIHZhciBNSUxMSVNFQ09ORCA9IDY7CgogICAgZnVuY3Rpb24gZGF5c0luTW9udGgoeWVhciwgbW9udGgpIHsKICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggKyAxLCAwKSkuZ2V0VVRDRGF0ZSgpOwogICAgfQoKICAgIC8vIEZPUk1BVFRJTkcKCiAgICBhZGRGb3JtYXRUb2tlbignTScsIFsnTU0nLCAyXSwgJ01vJywgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1vbnRoKCkgKyAxOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ01NTScsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcywgZm9ybWF0KTsKICAgIH0pOwoKICAgIGFkZEZvcm1hdFRva2VuKCdNTU1NJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkgewogICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tb250aHModGhpcywgZm9ybWF0KTsKICAgIH0pOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ21vbnRoJywgJ00nKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignTScsICAgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdNTScsICAgbWF0Y2gxdG8yLCBtYXRjaDIpOwogICAgYWRkUmVnZXhUb2tlbignTU1NJywgIG1hdGNoV29yZCk7CiAgICBhZGRSZWdleFRva2VuKCdNTU1NJywgbWF0Y2hXb3JkKTsKCiAgICBhZGRQYXJzZVRva2VuKFsnTScsICdNTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbTU9OVEhdID0gdG9JbnQoaW5wdXQpIC0gMTsKICAgIH0pOwoKICAgIGFkZFBhcnNlVG9rZW4oWydNTU0nLCAnTU1NTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcsIHRva2VuKSB7CiAgICAgICAgdmFyIG1vbnRoID0gY29uZmlnLl9sb2NhbGUubW9udGhzUGFyc2UoaW5wdXQsIHRva2VuLCBjb25maWcuX3N0cmljdCk7CiAgICAgICAgLy8gaWYgd2UgZGlkbid0IGZpbmQgYSBtb250aCBuYW1lLCBtYXJrIHRoZSBkYXRlIGFzIGludmFsaWQuCiAgICAgICAgaWYgKG1vbnRoICE9IG51bGwpIHsKICAgICAgICAgICAgYXJyYXlbTU9OVEhdID0gbW9udGg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZE1vbnRoID0gaW5wdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gTE9DQUxFUwoKICAgIHZhciBkZWZhdWx0TG9jYWxlTW9udGhzID0gJ0phbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXInLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVNb250aHMgKG0pIHsKICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzW20ubW9udGgoKV07CiAgICB9CgogICAgdmFyIGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCA9ICdKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYycuc3BsaXQoJ18nKTsKICAgIGZ1bmN0aW9uIGxvY2FsZU1vbnRoc1Nob3J0IChtKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0W20ubW9udGgoKV07CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlTW9udGhzUGFyc2UgKG1vbnRoTmFtZSwgZm9ybWF0LCBzdHJpY3QpIHsKICAgICAgICB2YXIgaSwgbW9tLCByZWdleDsKCiAgICAgICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkgewogICAgICAgICAgICB0aGlzLl9tb250aHNQYXJzZSA9IFtdOwogICAgICAgICAgICB0aGlzLl9sb25nTW9udGhzUGFyc2UgPSBbXTsKICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZSA9IFtdOwogICAgICAgIH0KCiAgICAgICAgZm9yIChpID0gMDsgaSA8IDEyOyBpKyspIHsKICAgICAgICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5CiAgICAgICAgICAgIG1vbSA9IGNyZWF0ZV91dGNfX2NyZWF0ZVVUQyhbMjAwMCwgaV0pOwogICAgICAgICAgICBpZiAoc3RyaWN0ICYmICF0aGlzLl9sb25nTW9udGhzUGFyc2VbaV0pIHsKICAgICAgICAgICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJywgJ2knKTsKICAgICAgICAgICAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKCdeJyArIHRoaXMubW9udGhzU2hvcnQobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJywgJ2knKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIXN0cmljdCAmJiAhdGhpcy5fbW9udGhzUGFyc2VbaV0pIHsKICAgICAgICAgICAgICAgIHJlZ2V4ID0gJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykgKyAnfF4nICsgdGhpcy5tb250aHNTaG9ydChtb20sICcnKTsKICAgICAgICAgICAgICAgIHRoaXMuX21vbnRoc1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHRlc3QgdGhlIHJlZ2V4CiAgICAgICAgICAgIGlmIChzdHJpY3QgJiYgZm9ybWF0ID09PSAnTU1NTScgJiYgdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldLnRlc3QobW9udGhOYW1lKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyaWN0ICYmIGZvcm1hdCA9PT0gJ01NTScgJiYgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fbW9udGhzUGFyc2VbaV0udGVzdChtb250aE5hbWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gc2V0TW9udGggKG1vbSwgdmFsdWUpIHsKICAgICAgICB2YXIgZGF5T2ZNb250aDsKCiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGlzIG91dCBvZiBoZXJlIQogICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHZhbHVlID0gbW9tLmxvY2FsZURhdGEoKS5tb250aHNQYXJzZSh2YWx1ZSk7CiAgICAgICAgICAgIC8vIFRPRE86IEFub3RoZXIgc2lsZW50IGZhaWx1cmU/CiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbW9tOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBkYXlPZk1vbnRoID0gTWF0aC5taW4obW9tLmRhdGUoKSwgZGF5c0luTW9udGgobW9tLnllYXIoKSwgdmFsdWUpKTsKICAgICAgICBtb20uX2RbJ3NldCcgKyAobW9tLl9pc1VUQyA/ICdVVEMnIDogJycpICsgJ01vbnRoJ10odmFsdWUsIGRheU9mTW9udGgpOwogICAgICAgIHJldHVybiBtb207CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0TW9udGggKHZhbHVlKSB7CiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHsKICAgICAgICAgICAgc2V0TW9udGgodGhpcywgdmFsdWUpOwogICAgICAgICAgICB1dGlsc19ob29rc19faG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIHRydWUpOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZ2V0X3NldF9fZ2V0KHRoaXMsICdNb250aCcpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBnZXREYXlzSW5Nb250aCAoKSB7CiAgICAgICAgcmV0dXJuIGRheXNJbk1vbnRoKHRoaXMueWVhcigpLCB0aGlzLm1vbnRoKCkpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3cgKG0pIHsKICAgICAgICB2YXIgb3ZlcmZsb3c7CiAgICAgICAgdmFyIGEgPSBtLl9hOwoKICAgICAgICBpZiAoYSAmJiBnZXRQYXJzaW5nRmxhZ3MobSkub3ZlcmZsb3cgPT09IC0yKSB7CiAgICAgICAgICAgIG92ZXJmbG93ID0KICAgICAgICAgICAgICAgIGFbTU9OVEhdICAgICAgIDwgMCB8fCBhW01PTlRIXSAgICAgICA+IDExICA/IE1PTlRIIDoKICAgICAgICAgICAgICAgIGFbREFURV0gICAgICAgIDwgMSB8fCBhW0RBVEVdICAgICAgICA+IGRheXNJbk1vbnRoKGFbWUVBUl0sIGFbTU9OVEhdKSA/IERBVEUgOgogICAgICAgICAgICAgICAgYVtIT1VSXSAgICAgICAgPCAwIHx8IGFbSE9VUl0gICAgICAgID4gMjQgfHwgKGFbSE9VUl0gPT09IDI0ICYmIChhW01JTlVURV0gIT09IDAgfHwgYVtTRUNPTkRdICE9PSAwIHx8IGFbTUlMTElTRUNPTkRdICE9PSAwKSkgPyBIT1VSIDoKICAgICAgICAgICAgICAgIGFbTUlOVVRFXSAgICAgIDwgMCB8fCBhW01JTlVURV0gICAgICA+IDU5ICA/IE1JTlVURSA6CiAgICAgICAgICAgICAgICBhW1NFQ09ORF0gICAgICA8IDAgfHwgYVtTRUNPTkRdICAgICAgPiA1OSAgPyBTRUNPTkQgOgogICAgICAgICAgICAgICAgYVtNSUxMSVNFQ09ORF0gPCAwIHx8IGFbTUlMTElTRUNPTkRdID4gOTk5ID8gTUlMTElTRUNPTkQgOgogICAgICAgICAgICAgICAgLTE7CgogICAgICAgICAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKG0pLl9vdmVyZmxvd0RheU9mWWVhciAmJiAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSkpIHsKICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gREFURTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLm92ZXJmbG93ID0gb3ZlcmZsb3c7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gbTsKICAgIH0KCiAgICBmdW5jdGlvbiB3YXJuKG1zZykgewogICAgICAgIGlmICh1dGlsc19ob29rc19faG9va3Muc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzID09PSBmYWxzZSAmJiB0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcgJiYgY29uc29sZS53YXJuKSB7CiAgICAgICAgICAgIGNvbnNvbGUud2FybignRGVwcmVjYXRpb24gd2FybmluZzogJyArIG1zZyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGRlcHJlY2F0ZShtc2csIGZuKSB7CiAgICAgICAgdmFyIGZpcnN0VGltZSA9IHRydWU7CgogICAgICAgIHJldHVybiBleHRlbmQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoZmlyc3RUaW1lKSB7CiAgICAgICAgICAgICAgICB3YXJuKG1zZyArICdcbicgKyAobmV3IEVycm9yKCkpLnN0YWNrKTsKICAgICAgICAgICAgICAgIGZpcnN0VGltZSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH0sIGZuKTsKICAgIH0KCiAgICB2YXIgZGVwcmVjYXRpb25zID0ge307CgogICAgZnVuY3Rpb24gZGVwcmVjYXRlU2ltcGxlKG5hbWUsIG1zZykgewogICAgICAgIGlmICghZGVwcmVjYXRpb25zW25hbWVdKSB7CiAgICAgICAgICAgIHdhcm4obXNnKTsKICAgICAgICAgICAgZGVwcmVjYXRpb25zW25hbWVdID0gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncyA9IGZhbHNlOwoKICAgIHZhciBmcm9tX3N0cmluZ19faXNvUmVnZXggPSAvXlxzKig/OlsrLV1cZHs2fXxcZHs0fSktKD86KFxkXGQtXGRcZCl8KFdcZFxkJCl8KFdcZFxkLVxkKXwoXGRcZFxkKSkoKFR8ICkoXGRcZCg6XGRcZCg6XGRcZChcLlxkKyk/KT8pPyk/KFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPyQvOwoKICAgIHZhciBpc29EYXRlcyA9IFsKICAgICAgICBbJ1lZWVlZWS1NTS1ERCcsIC9bKy1dXGR7Nn0tXGR7Mn0tXGR7Mn0vXSwKICAgICAgICBbJ1lZWVktTU0tREQnLCAvXGR7NH0tXGR7Mn0tXGR7Mn0vXSwKICAgICAgICBbJ0dHR0ctW1ddV1ctRScsIC9cZHs0fS1XXGR7Mn0tXGQvXSwKICAgICAgICBbJ0dHR0ctW1ddV1cnLCAvXGR7NH0tV1xkezJ9L10sCiAgICAgICAgWydZWVlZLURERCcsIC9cZHs0fS1cZHszfS9dCiAgICBdOwoKICAgIC8vIGlzbyB0aW1lIGZvcm1hdHMgYW5kIHJlZ2V4ZXMKICAgIHZhciBpc29UaW1lcyA9IFsKICAgICAgICBbJ0hIOm1tOnNzLlNTU1MnLCAvKFR8IClcZFxkOlxkXGQ6XGRcZFwuXGQrL10sCiAgICAgICAgWydISDptbTpzcycsIC8oVHwgKVxkXGQ6XGRcZDpcZFxkL10sCiAgICAgICAgWydISDptbScsIC8oVHwgKVxkXGQ6XGRcZC9dLAogICAgICAgIFsnSEgnLCAvKFR8IClcZFxkL10KICAgIF07CgogICAgdmFyIGFzcE5ldEpzb25SZWdleCA9IC9eXC8/RGF0ZVwoKFwtP1xkKykvaTsKCiAgICAvLyBkYXRlIGZyb20gaXNvIGZvcm1hdAogICAgZnVuY3Rpb24gY29uZmlnRnJvbUlTTyhjb25maWcpIHsKICAgICAgICB2YXIgaSwgbCwKICAgICAgICAgICAgc3RyaW5nID0gY29uZmlnLl9pLAogICAgICAgICAgICBtYXRjaCA9IGZyb21fc3RyaW5nX19pc29SZWdleC5leGVjKHN0cmluZyk7CgogICAgICAgIGlmIChtYXRjaCkgewogICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pc28gPSB0cnVlOwogICAgICAgICAgICBmb3IgKGkgPSAwLCBsID0gaXNvRGF0ZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAoaXNvRGF0ZXNbaV1bMV0uZXhlYyhzdHJpbmcpKSB7CiAgICAgICAgICAgICAgICAgICAgY29uZmlnLl9mID0gaXNvRGF0ZXNbaV1bMF07CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChpID0gMCwgbCA9IGlzb1RpbWVzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGlzb1RpbWVzW2ldWzFdLmV4ZWMoc3RyaW5nKSkgewogICAgICAgICAgICAgICAgICAgIC8vIG1hdGNoWzZdIHNob3VsZCBiZSAnVCcgb3Igc3BhY2UKICAgICAgICAgICAgICAgICAgICBjb25maWcuX2YgKz0gKG1hdGNoWzZdIHx8ICcgJykgKyBpc29UaW1lc1tpXVswXTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoc3RyaW5nLm1hdGNoKG1hdGNoT2Zmc2V0KSkgewogICAgICAgICAgICAgICAgY29uZmlnLl9mICs9ICdaJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KGNvbmZpZyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGRhdGUgZnJvbSBpc28gZm9ybWF0IG9yIGZhbGxiYWNrCiAgICBmdW5jdGlvbiBjb25maWdGcm9tU3RyaW5nKGNvbmZpZykgewogICAgICAgIHZhciBtYXRjaGVkID0gYXNwTmV0SnNvblJlZ2V4LmV4ZWMoY29uZmlnLl9pKTsKCiAgICAgICAgaWYgKG1hdGNoZWQgIT09IG51bGwpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK21hdGNoZWRbMV0pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBjb25maWdGcm9tSVNPKGNvbmZpZyk7CiAgICAgICAgaWYgKGNvbmZpZy5faXNWYWxpZCA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgZGVsZXRlIGNvbmZpZy5faXNWYWxpZDsKICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7CiAgICAgICAgfQogICAgfQoKICAgIHV0aWxzX2hvb2tzX19ob29rcy5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayA9IGRlcHJlY2F0ZSgKICAgICAgICAnbW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUuIFRoaXMgaXMgJyArCiAgICAgICAgJ2Rpc2NvdXJhZ2VkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgbWFqb3IgJyArCiAgICAgICAgJ3JlbGVhc2UuIFBsZWFzZSByZWZlciB0byAnICsKICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE0MDcgZm9yIG1vcmUgaW5mby4nLAogICAgICAgIGZ1bmN0aW9uIChjb25maWcpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoY29uZmlnLl9pICsgKGNvbmZpZy5fdXNlVVRDID8gJyBVVEMnIDogJycpKTsKICAgICAgICB9CiAgICApOwoKICAgIGZ1bmN0aW9uIGNyZWF0ZURhdGUgKHksIG0sIGQsIGgsIE0sIHMsIG1zKSB7CiAgICAgICAgLy9jYW4ndCBqdXN0IGFwcGx5KCkgdG8gY3JlYXRlIGEgZGF0ZToKICAgICAgICAvL2h0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTgxMzQ4L2luc3RhbnRpYXRpbmctYS1qYXZhc2NyaXB0LW9iamVjdC1ieS1jYWxsaW5nLXByb3RvdHlwZS1jb25zdHJ1Y3Rvci1hcHBseQogICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoeSwgbSwgZCwgaCwgTSwgcywgbXMpOwoKICAgICAgICAvL3RoZSBkYXRlIGNvbnN0cnVjdG9yIGRvZXNuJ3QgYWNjZXB0IHllYXJzIDwgMTk3MAogICAgICAgIGlmICh5IDwgMTk3MCkgewogICAgICAgICAgICBkYXRlLnNldEZ1bGxZZWFyKHkpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZGF0ZTsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVVVENEYXRlICh5KSB7CiAgICAgICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShudWxsLCBhcmd1bWVudHMpKTsKICAgICAgICBpZiAoeSA8IDE5NzApIHsKICAgICAgICAgICAgZGF0ZS5zZXRVVENGdWxsWWVhcih5KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGRhdGU7CiAgICB9CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWScsIDJdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMueWVhcigpICUgMTAwOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZJywgICA0XSwgICAgICAgMCwgJ3llYXInKTsKICAgIGFkZEZvcm1hdFRva2VuKDAsIFsnWVlZWVknLCAgNV0sICAgICAgIDAsICd5ZWFyJyk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1lZWVlZWScsIDYsIHRydWVdLCAwLCAneWVhcicpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ3llYXInLCAneScpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdZJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdZWScsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZWScsICBtYXRjaDF0bzYsIG1hdGNoNik7CiAgICBhZGRSZWdleFRva2VuKCdZWVlZWVknLCBtYXRjaDF0bzYsIG1hdGNoNik7CgogICAgYWRkUGFyc2VUb2tlbihbJ1lZWVlZJywgJ1lZWVlZWSddLCBZRUFSKTsKICAgIGFkZFBhcnNlVG9rZW4oJ1lZWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbWUVBUl0gPSBpbnB1dC5sZW5ndGggPT09IDIgPyB1dGlsc19ob29rc19faG9va3MucGFyc2VUd29EaWdpdFllYXIoaW5wdXQpIDogdG9JbnQoaW5wdXQpOwogICAgfSk7CiAgICBhZGRQYXJzZVRva2VuKCdZWScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtZRUFSXSA9IHV0aWxzX2hvb2tzX19ob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCk7CiAgICB9KTsKCiAgICAvLyBIRUxQRVJTCgogICAgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIoeWVhcikgPyAzNjYgOiAzNjU7CiAgICB9CgogICAgZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7CiAgICAgICAgcmV0dXJuICh5ZWFyICUgNCA9PT0gMCAmJiB5ZWFyICUgMTAwICE9PSAwKSB8fCB5ZWFyICUgNDAwID09PSAwOwogICAgfQoKICAgIC8vIEhPT0tTCgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnBhcnNlVHdvRGlnaXRZZWFyID0gZnVuY3Rpb24gKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIHRvSW50KGlucHV0KSArICh0b0ludChpbnB1dCkgPiA2OCA/IDE5MDAgOiAyMDAwKTsKICAgIH07CgogICAgLy8gTU9NRU5UUwoKICAgIHZhciBnZXRTZXRZZWFyID0gbWFrZUdldFNldCgnRnVsbFllYXInLCBmYWxzZSk7CgogICAgZnVuY3Rpb24gZ2V0SXNMZWFwWWVhciAoKSB7CiAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIodGhpcy55ZWFyKCkpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCd3JywgWyd3dycsIDJdLCAnd28nLCAnd2VlaycpOwogICAgYWRkRm9ybWF0VG9rZW4oJ1cnLCBbJ1dXJywgMl0sICdXbycsICdpc29XZWVrJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnd2VlaycsICd3Jyk7CiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWsnLCAnVycpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCd3JywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCd3dycsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ1cnLCAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ1dXJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKICAgIGFkZFdlZWtQYXJzZVRva2VuKFsndycsICd3dycsICdXJywgJ1dXJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikgewogICAgICAgIHdlZWtbdG9rZW4uc3Vic3RyKDAsIDEpXSA9IHRvSW50KGlucHV0KTsKICAgIH0pOwoKICAgIC8vIEhFTFBFUlMKCiAgICAvLyBmaXJzdERheU9mV2VlayAgICAgICAwID0gc3VuLCA2ID0gc2F0CiAgICAvLyAgICAgICAgICAgICAgICAgICAgICB0aGUgZGF5IG9mIHRoZSB3ZWVrIHRoYXQgc3RhcnRzIHRoZSB3ZWVrCiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAodXN1YWxseSBzdW5kYXkgb3IgbW9uZGF5KQogICAgLy8gZmlyc3REYXlPZldlZWtPZlllYXIgMCA9IHN1biwgNiA9IHNhdAogICAgLy8gICAgICAgICAgICAgICAgICAgICAgdGhlIGZpcnN0IHdlZWsgaXMgdGhlIHdlZWsgdGhhdCBjb250YWlucyB0aGUgZmlyc3QKICAgIC8vICAgICAgICAgICAgICAgICAgICAgIG9mIHRoaXMgZGF5IG9mIHRoZSB3ZWVrCiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAoZWcuIElTTyB3ZWVrcyB1c2UgdGh1cnNkYXkgKDQpKQogICAgZnVuY3Rpb24gd2Vla09mWWVhcihtb20sIGZpcnN0RGF5T2ZXZWVrLCBmaXJzdERheU9mV2Vla09mWWVhcikgewogICAgICAgIHZhciBlbmQgPSBmaXJzdERheU9mV2Vla09mWWVhciAtIGZpcnN0RGF5T2ZXZWVrLAogICAgICAgICAgICBkYXlzVG9EYXlPZldlZWsgPSBmaXJzdERheU9mV2Vla09mWWVhciAtIG1vbS5kYXkoKSwKICAgICAgICAgICAgYWRqdXN0ZWRNb21lbnQ7CgoKICAgICAgICBpZiAoZGF5c1RvRGF5T2ZXZWVrID4gZW5kKSB7CiAgICAgICAgICAgIGRheXNUb0RheU9mV2VlayAtPSA3OwogICAgICAgIH0KCiAgICAgICAgaWYgKGRheXNUb0RheU9mV2VlayA8IGVuZCAtIDcpIHsKICAgICAgICAgICAgZGF5c1RvRGF5T2ZXZWVrICs9IDc7CiAgICAgICAgfQoKICAgICAgICBhZGp1c3RlZE1vbWVudCA9IGxvY2FsX19jcmVhdGVMb2NhbChtb20pLmFkZChkYXlzVG9EYXlPZldlZWssICdkJyk7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgd2VlazogTWF0aC5jZWlsKGFkanVzdGVkTW9tZW50LmRheU9mWWVhcigpIC8gNyksCiAgICAgICAgICAgIHllYXI6IGFkanVzdGVkTW9tZW50LnllYXIoKQogICAgICAgIH07CiAgICB9CgogICAgLy8gTE9DQUxFUwoKICAgIGZ1bmN0aW9uIGxvY2FsZVdlZWsgKG1vbSkgewogICAgICAgIHJldHVybiB3ZWVrT2ZZZWFyKG1vbSwgdGhpcy5fd2Vlay5kb3csIHRoaXMuX3dlZWsuZG95KS53ZWVrOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2VlayA9IHsKICAgICAgICBkb3cgOiAwLCAvLyBTdW5kYXkgaXMgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay4KICAgICAgICBkb3kgOiA2ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiAxc3QgaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvY2FsZUZpcnN0RGF5T2ZXZWVrICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5fd2Vlay5kb3c7CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlRmlyc3REYXlPZlllYXIgKCkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrLmRveTsKICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0V2VlayAoaW5wdXQpIHsKICAgICAgICB2YXIgd2VlayA9IHRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFNldElTT1dlZWsgKGlucHV0KSB7CiAgICAgICAgdmFyIHdlZWsgPSB3ZWVrT2ZZZWFyKHRoaXMsIDEsIDQpLndlZWs7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdEREQnLCBbJ0REREQnLCAzXSwgJ0RERG8nLCAnZGF5T2ZZZWFyJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnZGF5T2ZZZWFyJywgJ0RERCcpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdEREQnLCAgbWF0Y2gxdG8zKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0REREQnLCBtYXRjaDMpOwogICAgYWRkUGFyc2VUb2tlbihbJ0RERCcsICdEREREJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fZGF5T2ZZZWFyID0gdG9JbnQoaW5wdXQpOwogICAgfSk7CgogICAgLy8gSEVMUEVSUwoKICAgIC8vaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlI0NhbGN1bGF0aW5nX2FfZGF0ZV9naXZlbl90aGVfeWVhci4yQ193ZWVrX251bWJlcl9hbmRfd2Vla2RheQogICAgZnVuY3Rpb24gZGF5T2ZZZWFyRnJvbVdlZWtzKHllYXIsIHdlZWssIHdlZWtkYXksIGZpcnN0RGF5T2ZXZWVrT2ZZZWFyLCBmaXJzdERheU9mV2VlaykgewogICAgICAgIHZhciB3ZWVrMUphbiA9IDYgKyBmaXJzdERheU9mV2VlayAtIGZpcnN0RGF5T2ZXZWVrT2ZZZWFyLCBqYW5YID0gY3JlYXRlVVRDRGF0ZSh5ZWFyLCAwLCAxICsgd2VlazFKYW4pLCBkID0gamFuWC5nZXRVVENEYXkoKSwgZGF5T2ZZZWFyOwogICAgICAgIGlmIChkIDwgZmlyc3REYXlPZldlZWspIHsKICAgICAgICAgICAgZCArPSA3OwogICAgICAgIH0KCiAgICAgICAgd2Vla2RheSA9IHdlZWtkYXkgIT0gbnVsbCA/IDEgKiB3ZWVrZGF5IDogZmlyc3REYXlPZldlZWs7CgogICAgICAgIGRheU9mWWVhciA9IDEgKyB3ZWVrMUphbiArIDcgKiAod2VlayAtIDEpIC0gZCArIHdlZWtkYXk7CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHllYXI6IGRheU9mWWVhciA+IDAgPyB5ZWFyIDogeWVhciAtIDEsCiAgICAgICAgICAgIGRheU9mWWVhcjogZGF5T2ZZZWFyID4gMCA/ICBkYXlPZlllYXIgOiBkYXlzSW5ZZWFyKHllYXIgLSAxKSArIGRheU9mWWVhcgogICAgICAgIH07CiAgICB9CgogICAgLy8gTU9NRU5UUwoKICAgIGZ1bmN0aW9uIGdldFNldERheU9mWWVhciAoaW5wdXQpIHsKICAgICAgICB2YXIgZGF5T2ZZZWFyID0gTWF0aC5yb3VuZCgodGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ2RheScpIC0gdGhpcy5jbG9uZSgpLnN0YXJ0T2YoJ3llYXInKSkgLyA4NjRlNSkgKyAxOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gZGF5T2ZZZWFyIDogdGhpcy5hZGQoKGlucHV0IC0gZGF5T2ZZZWFyKSwgJ2QnKTsKICAgIH0KCiAgICAvLyBQaWNrIHRoZSBmaXJzdCBkZWZpbmVkIG9mIHR3byBvciB0aHJlZSBhcmd1bWVudHMuCiAgICBmdW5jdGlvbiBkZWZhdWx0cyhhLCBiLCBjKSB7CiAgICAgICAgaWYgKGEgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gYTsKICAgICAgICB9CiAgICAgICAgaWYgKGIgIT0gbnVsbCkgewogICAgICAgICAgICByZXR1cm4gYjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGM7CiAgICB9CgogICAgZnVuY3Rpb24gY3VycmVudERhdGVBcnJheShjb25maWcpIHsKICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKICAgICAgICBpZiAoY29uZmlnLl91c2VVVEMpIHsKICAgICAgICAgICAgcmV0dXJuIFtub3cuZ2V0VVRDRnVsbFllYXIoKSwgbm93LmdldFVUQ01vbnRoKCksIG5vdy5nZXRVVENEYXRlKCldOwogICAgICAgIH0KICAgICAgICByZXR1cm4gW25vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9udGgoKSwgbm93LmdldERhdGUoKV07CiAgICB9CgogICAgLy8gY29udmVydCBhbiBhcnJheSB0byBhIGRhdGUuCiAgICAvLyB0aGUgYXJyYXkgc2hvdWxkIG1pcnJvciB0aGUgcGFyYW1ldGVycyBiZWxvdwogICAgLy8gbm90ZTogYWxsIHZhbHVlcyBwYXN0IHRoZSB5ZWFyIGFyZSBvcHRpb25hbCBhbmQgd2lsbCBkZWZhdWx0IHRvIHRoZSBsb3dlc3QgcG9zc2libGUgdmFsdWUuCiAgICAvLyBbeWVhciwgbW9udGgsIGRheSAsIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZF0KICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21BcnJheSAoY29uZmlnKSB7CiAgICAgICAgdmFyIGksIGRhdGUsIGlucHV0ID0gW10sIGN1cnJlbnREYXRlLCB5ZWFyVG9Vc2U7CgogICAgICAgIGlmIChjb25maWcuX2QpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgY3VycmVudERhdGUgPSBjdXJyZW50RGF0ZUFycmF5KGNvbmZpZyk7CgogICAgICAgIC8vY29tcHV0ZSBkYXkgb2YgdGhlIHllYXIgZnJvbSB3ZWVrcyBhbmQgd2Vla2RheXMKICAgICAgICBpZiAoY29uZmlnLl93ICYmIGNvbmZpZy5fYVtEQVRFXSA9PSBudWxsICYmIGNvbmZpZy5fYVtNT05USF0gPT0gbnVsbCkgewogICAgICAgICAgICBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKTsKICAgICAgICB9CgogICAgICAgIC8vaWYgdGhlIGRheSBvZiB0aGUgeWVhciBpcyBzZXQsIGZpZ3VyZSBvdXQgd2hhdCBpdCBpcwogICAgICAgIGlmIChjb25maWcuX2RheU9mWWVhcikgewogICAgICAgICAgICB5ZWFyVG9Vc2UgPSBkZWZhdWx0cyhjb25maWcuX2FbWUVBUl0sIGN1cnJlbnREYXRlW1lFQVJdKTsKCiAgICAgICAgICAgIGlmIChjb25maWcuX2RheU9mWWVhciA+IGRheXNJblllYXIoeWVhclRvVXNlKSkgewogICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuX292ZXJmbG93RGF5T2ZZZWFyID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZGF0ZSA9IGNyZWF0ZVVUQ0RhdGUoeWVhclRvVXNlLCAwLCBjb25maWcuX2RheU9mWWVhcik7CiAgICAgICAgICAgIGNvbmZpZy5fYVtNT05USF0gPSBkYXRlLmdldFVUQ01vbnRoKCk7CiAgICAgICAgICAgIGNvbmZpZy5fYVtEQVRFXSA9IGRhdGUuZ2V0VVRDRGF0ZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8gRGVmYXVsdCB0byBjdXJyZW50IGRhdGUuCiAgICAgICAgLy8gKiBpZiBubyB5ZWFyLCBtb250aCwgZGF5IG9mIG1vbnRoIGFyZSBnaXZlbiwgZGVmYXVsdCB0byB0b2RheQogICAgICAgIC8vICogaWYgZGF5IG9mIG1vbnRoIGlzIGdpdmVuLCBkZWZhdWx0IG1vbnRoIGFuZCB5ZWFyCiAgICAgICAgLy8gKiBpZiBtb250aCBpcyBnaXZlbiwgZGVmYXVsdCBvbmx5IHllYXIKICAgICAgICAvLyAqIGlmIHllYXIgaXMgZ2l2ZW4sIGRvbid0IGRlZmF1bHQgYW55dGhpbmcKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMyAmJiBjb25maWcuX2FbaV0gPT0gbnVsbDsgKytpKSB7CiAgICAgICAgICAgIGNvbmZpZy5fYVtpXSA9IGlucHV0W2ldID0gY3VycmVudERhdGVbaV07CiAgICAgICAgfQoKICAgICAgICAvLyBaZXJvIG91dCB3aGF0ZXZlciB3YXMgbm90IGRlZmF1bHRlZCwgaW5jbHVkaW5nIHRpbWUKICAgICAgICBmb3IgKDsgaSA8IDc7IGkrKykgewogICAgICAgICAgICBjb25maWcuX2FbaV0gPSBpbnB1dFtpXSA9IChjb25maWcuX2FbaV0gPT0gbnVsbCkgPyAoaSA9PT0gMiA/IDEgOiAwKSA6IGNvbmZpZy5fYVtpXTsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrIGZvciAyNDowMDowMC4wMDAKICAgICAgICBpZiAoY29uZmlnLl9hW0hPVVJdID09PSAyNCAmJgogICAgICAgICAgICAgICAgY29uZmlnLl9hW01JTlVURV0gPT09IDAgJiYKICAgICAgICAgICAgICAgIGNvbmZpZy5fYVtTRUNPTkRdID09PSAwICYmCiAgICAgICAgICAgICAgICBjb25maWcuX2FbTUlMTElTRUNPTkRdID09PSAwKSB7CiAgICAgICAgICAgIGNvbmZpZy5fbmV4dERheSA9IHRydWU7CiAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDA7CiAgICAgICAgfQoKICAgICAgICBjb25maWcuX2QgPSAoY29uZmlnLl91c2VVVEMgPyBjcmVhdGVVVENEYXRlIDogY3JlYXRlRGF0ZSkuYXBwbHkobnVsbCwgaW5wdXQpOwogICAgICAgIC8vIEFwcGx5IHRpbWV6b25lIG9mZnNldCBmcm9tIGlucHV0LiBUaGUgYWN0dWFsIHV0Y09mZnNldCBjYW4gYmUgY2hhbmdlZAogICAgICAgIC8vIHdpdGggcGFyc2Vab25lLgogICAgICAgIGlmIChjb25maWcuX3R6bSAhPSBudWxsKSB7CiAgICAgICAgICAgIGNvbmZpZy5fZC5zZXRVVENNaW51dGVzKGNvbmZpZy5fZC5nZXRVVENNaW51dGVzKCkgLSBjb25maWcuX3R6bSk7CiAgICAgICAgfQoKICAgICAgICBpZiAoY29uZmlnLl9uZXh0RGF5KSB7CiAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDI0OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKSB7CiAgICAgICAgdmFyIHcsIHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSwgdGVtcDsKCiAgICAgICAgdyA9IGNvbmZpZy5fdzsKICAgICAgICBpZiAody5HRyAhPSBudWxsIHx8IHcuVyAhPSBudWxsIHx8IHcuRSAhPSBudWxsKSB7CiAgICAgICAgICAgIGRvdyA9IDE7CiAgICAgICAgICAgIGRveSA9IDQ7CgogICAgICAgICAgICAvLyBUT0RPOiBXZSBuZWVkIHRvIHRha2UgdGhlIGN1cnJlbnQgaXNvV2Vla1llYXIsIGJ1dCB0aGF0IGRlcGVuZHMgb24KICAgICAgICAgICAgLy8gaG93IHdlIGludGVycHJldCBub3cgKGxvY2FsLCB1dGMsIGZpeGVkIG9mZnNldCkuIFNvIGNyZWF0ZQogICAgICAgICAgICAvLyBhIG5vdyB2ZXJzaW9uIG9mIGN1cnJlbnQgY29uZmlnICh0YWtlIGxvY2FsL3V0Yy9vZmZzZXQgZmxhZ3MsIGFuZAogICAgICAgICAgICAvLyBjcmVhdGUgbm93KS4KICAgICAgICAgICAgd2Vla1llYXIgPSBkZWZhdWx0cyh3LkdHLCBjb25maWcuX2FbWUVBUl0sIHdlZWtPZlllYXIobG9jYWxfX2NyZWF0ZUxvY2FsKCksIDEsIDQpLnllYXIpOwogICAgICAgICAgICB3ZWVrID0gZGVmYXVsdHMody5XLCAxKTsKICAgICAgICAgICAgd2Vla2RheSA9IGRlZmF1bHRzKHcuRSwgMSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZG93ID0gY29uZmlnLl9sb2NhbGUuX3dlZWsuZG93OwogICAgICAgICAgICBkb3kgPSBjb25maWcuX2xvY2FsZS5fd2Vlay5kb3k7CgogICAgICAgICAgICB3ZWVrWWVhciA9IGRlZmF1bHRzKHcuZ2csIGNvbmZpZy5fYVtZRUFSXSwgd2Vla09mWWVhcihsb2NhbF9fY3JlYXRlTG9jYWwoKSwgZG93LCBkb3kpLnllYXIpOwogICAgICAgICAgICB3ZWVrID0gZGVmYXVsdHMody53LCAxKTsKCiAgICAgICAgICAgIGlmICh3LmQgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgLy8gd2Vla2RheSAtLSBsb3cgZGF5IG51bWJlcnMgYXJlIGNvbnNpZGVyZWQgbmV4dCB3ZWVrCiAgICAgICAgICAgICAgICB3ZWVrZGF5ID0gdy5kOwogICAgICAgICAgICAgICAgaWYgKHdlZWtkYXkgPCBkb3cpIHsKICAgICAgICAgICAgICAgICAgICArK3dlZWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAody5lICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIC8vIGxvY2FsIHdlZWtkYXkgLS0gY291bnRpbmcgc3RhcnRzIGZyb20gYmVnaW5pbmcgb2Ygd2VlawogICAgICAgICAgICAgICAgd2Vla2RheSA9IHcuZSArIGRvdzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gYmVnaW5pbmcgb2Ygd2VlawogICAgICAgICAgICAgICAgd2Vla2RheSA9IGRvdzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB0ZW1wID0gZGF5T2ZZZWFyRnJvbVdlZWtzKHdlZWtZZWFyLCB3ZWVrLCB3ZWVrZGF5LCBkb3ksIGRvdyk7CgogICAgICAgIGNvbmZpZy5fYVtZRUFSXSA9IHRlbXAueWVhcjsKICAgICAgICBjb25maWcuX2RheU9mWWVhciA9IHRlbXAuZGF5T2ZZZWFyOwogICAgfQoKICAgIHV0aWxzX2hvb2tzX19ob29rcy5JU09fODYwMSA9IGZ1bmN0aW9uICgpIHt9OwoKICAgIC8vIGRhdGUgZnJvbSBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKSB7CiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGlzIHRvIGFub3RoZXIgcGFydCBvZiB0aGUgY3JlYXRpb24gZmxvdyB0byBwcmV2ZW50IGNpcmN1bGFyIGRlcHMKICAgICAgICBpZiAoY29uZmlnLl9mID09PSB1dGlsc19ob29rc19faG9va3MuSVNPXzg2MDEpIHsKICAgICAgICAgICAgY29uZmlnRnJvbUlTTyhjb25maWcpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBjb25maWcuX2EgPSBbXTsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IHRydWU7CgogICAgICAgIC8vIFRoaXMgYXJyYXkgaXMgdXNlZCB0byBtYWtlIGEgRGF0ZSwgZWl0aGVyIHdpdGggYG5ldyBEYXRlYCBvciBgRGF0ZS5VVENgCiAgICAgICAgdmFyIHN0cmluZyA9ICcnICsgY29uZmlnLl9pLAogICAgICAgICAgICBpLCBwYXJzZWRJbnB1dCwgdG9rZW5zLCB0b2tlbiwgc2tpcHBlZCwKICAgICAgICAgICAgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxlbmd0aCwKICAgICAgICAgICAgdG90YWxQYXJzZWRJbnB1dExlbmd0aCA9IDA7CgogICAgICAgIHRva2VucyA9IGV4cGFuZEZvcm1hdChjb25maWcuX2YsIGNvbmZpZy5fbG9jYWxlKS5tYXRjaChmb3JtYXR0aW5nVG9rZW5zKSB8fCBbXTsKCiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB0b2tlbiA9IHRva2Vuc1tpXTsKICAgICAgICAgICAgcGFyc2VkSW5wdXQgPSAoc3RyaW5nLm1hdGNoKGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbiwgY29uZmlnKSkgfHwgW10pWzBdOwogICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgICAgIHNraXBwZWQgPSBzdHJpbmcuc3Vic3RyKDAsIHN0cmluZy5pbmRleE9mKHBhcnNlZElucHV0KSk7CiAgICAgICAgICAgICAgICBpZiAoc2tpcHBlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkSW5wdXQucHVzaChza2lwcGVkKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZy5zbGljZShzdHJpbmcuaW5kZXhPZihwYXJzZWRJbnB1dCkgKyBwYXJzZWRJbnB1dC5sZW5ndGgpOwogICAgICAgICAgICAgICAgdG90YWxQYXJzZWRJbnB1dExlbmd0aCArPSBwYXJzZWRJbnB1dC5sZW5ndGg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gZG9uJ3QgcGFyc2UgaWYgaXQncyBub3QgYSBrbm93biB0b2tlbgogICAgICAgICAgICBpZiAoZm9ybWF0VG9rZW5GdW5jdGlvbnNbdG9rZW5dKSB7CiAgICAgICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW4sIHBhcnNlZElucHV0LCBjb25maWcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYgKGNvbmZpZy5fc3RyaWN0ICYmICFwYXJzZWRJbnB1dCkgewogICAgICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgcmVtYWluaW5nIHVucGFyc2VkIGlucHV0IGxlbmd0aCB0byB0aGUgc3RyaW5nCiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuY2hhcnNMZWZ0T3ZlciA9IHN0cmluZ0xlbmd0aCAtIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGg7CiAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZElucHV0LnB1c2goc3RyaW5nKTsKICAgICAgICB9CgogICAgICAgIC8vIGNsZWFyIF8xMmggZmxhZyBpZiBob3VyIGlzIDw9IDEyCiAgICAgICAgaWYgKGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPT09IHRydWUgJiYKICAgICAgICAgICAgICAgIGNvbmZpZy5fYVtIT1VSXSA8PSAxMiAmJgogICAgICAgICAgICAgICAgY29uZmlnLl9hW0hPVVJdID4gMCkgewogICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdW5kZWZpbmVkOwogICAgICAgIH0KICAgICAgICAvLyBoYW5kbGUgbWVyaWRpZW0KICAgICAgICBjb25maWcuX2FbSE9VUl0gPSBtZXJpZGllbUZpeFdyYXAoY29uZmlnLl9sb2NhbGUsIGNvbmZpZy5fYVtIT1VSXSwgY29uZmlnLl9tZXJpZGllbSk7CgogICAgICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpOwogICAgICAgIGNoZWNrT3ZlcmZsb3coY29uZmlnKTsKICAgIH0KCgogICAgZnVuY3Rpb24gbWVyaWRpZW1GaXhXcmFwIChsb2NhbGUsIGhvdXIsIG1lcmlkaWVtKSB7CiAgICAgICAgdmFyIGlzUG07CgogICAgICAgIGlmIChtZXJpZGllbSA9PSBudWxsKSB7CiAgICAgICAgICAgIC8vIG5vdGhpbmcgdG8gZG8KICAgICAgICAgICAgcmV0dXJuIGhvdXI7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhbGUubWVyaWRpZW1Ib3VyICE9IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsZS5tZXJpZGllbUhvdXIoaG91ciwgbWVyaWRpZW0pOwogICAgICAgIH0gZWxzZSBpZiAobG9jYWxlLmlzUE0gIT0gbnVsbCkgewogICAgICAgICAgICAvLyBGYWxsYmFjawogICAgICAgICAgICBpc1BtID0gbG9jYWxlLmlzUE0obWVyaWRpZW0pOwogICAgICAgICAgICBpZiAoaXNQbSAmJiBob3VyIDwgMTIpIHsKICAgICAgICAgICAgICAgIGhvdXIgKz0gMTI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFpc1BtICYmIGhvdXIgPT09IDEyKSB7CiAgICAgICAgICAgICAgICBob3VyID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gaG91cjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyB0aGlzIGlzIG5vdCBzdXBwb3NlZCB0byBoYXBwZW4KICAgICAgICAgICAgcmV0dXJuIGhvdXI7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpIHsKICAgICAgICB2YXIgdGVtcENvbmZpZywKICAgICAgICAgICAgYmVzdE1vbWVudCwKCiAgICAgICAgICAgIHNjb3JlVG9CZWF0LAogICAgICAgICAgICBpLAogICAgICAgICAgICBjdXJyZW50U2NvcmU7CgogICAgICAgIGlmIChjb25maWcuX2YubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmludmFsaWRGb3JtYXQgPSB0cnVlOwogICAgICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShOYU4pOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29uZmlnLl9mLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGN1cnJlbnRTY29yZSA9IDA7CiAgICAgICAgICAgIHRlbXBDb25maWcgPSBjb3B5Q29uZmlnKHt9LCBjb25maWcpOwogICAgICAgICAgICBpZiAoY29uZmlnLl91c2VVVEMgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGVtcENvbmZpZy5fdXNlVVRDID0gY29uZmlnLl91c2VVVEM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGVtcENvbmZpZy5fZiA9IGNvbmZpZy5fZltpXTsKICAgICAgICAgICAgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdCh0ZW1wQ29uZmlnKTsKCiAgICAgICAgICAgIGlmICghdmFsaWRfX2lzVmFsaWQodGVtcENvbmZpZykpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbnkgaW5wdXQgdGhhdCB3YXMgbm90IHBhcnNlZCBhZGQgYSBwZW5hbHR5IGZvciB0aGF0IGZvcm1hdAogICAgICAgICAgICBjdXJyZW50U2NvcmUgKz0gZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLmNoYXJzTGVmdE92ZXI7CgogICAgICAgICAgICAvL29yIHRva2VucwogICAgICAgICAgICBjdXJyZW50U2NvcmUgKz0gZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLnVudXNlZFRva2Vucy5sZW5ndGggKiAxMDsKCiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyh0ZW1wQ29uZmlnKS5zY29yZSA9IGN1cnJlbnRTY29yZTsKCiAgICAgICAgICAgIGlmIChzY29yZVRvQmVhdCA9PSBudWxsIHx8IGN1cnJlbnRTY29yZSA8IHNjb3JlVG9CZWF0KSB7CiAgICAgICAgICAgICAgICBzY29yZVRvQmVhdCA9IGN1cnJlbnRTY29yZTsKICAgICAgICAgICAgICAgIGJlc3RNb21lbnQgPSB0ZW1wQ29uZmlnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBleHRlbmQoY29uZmlnLCBiZXN0TW9tZW50IHx8IHRlbXBDb25maWcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKSB7CiAgICAgICAgaWYgKGNvbmZpZy5fZCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgaSA9IG5vcm1hbGl6ZU9iamVjdFVuaXRzKGNvbmZpZy5faSk7CiAgICAgICAgY29uZmlnLl9hID0gW2kueWVhciwgaS5tb250aCwgaS5kYXkgfHwgaS5kYXRlLCBpLmhvdXIsIGkubWludXRlLCBpLnNlY29uZCwgaS5taWxsaXNlY29uZF07CgogICAgICAgIGNvbmZpZ0Zyb21BcnJheShjb25maWcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNyZWF0ZUZyb21Db25maWcgKGNvbmZpZykgewogICAgICAgIHZhciByZXMgPSBuZXcgTW9tZW50KGNoZWNrT3ZlcmZsb3cocHJlcGFyZUNvbmZpZyhjb25maWcpKSk7CiAgICAgICAgaWYgKHJlcy5fbmV4dERheSkgewogICAgICAgICAgICAvLyBBZGRpbmcgaXMgc21hcnQgZW5vdWdoIGFyb3VuZCBEU1QKICAgICAgICAgICAgcmVzLmFkZCgxLCAnZCcpOwogICAgICAgICAgICByZXMuX25leHREYXkgPSB1bmRlZmluZWQ7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVzOwogICAgfQoKICAgIGZ1bmN0aW9uIHByZXBhcmVDb25maWcgKGNvbmZpZykgewogICAgICAgIHZhciBpbnB1dCA9IGNvbmZpZy5faSwKICAgICAgICAgICAgZm9ybWF0ID0gY29uZmlnLl9mOwoKICAgICAgICBjb25maWcuX2xvY2FsZSA9IGNvbmZpZy5fbG9jYWxlIHx8IGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUoY29uZmlnLl9sKTsKCiAgICAgICAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7CiAgICAgICAgICAgIHJldHVybiB2YWxpZF9fY3JlYXRlSW52YWxpZCh7bnVsbElucHV0OiB0cnVlfSk7CiAgICAgICAgfQoKICAgICAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykgewogICAgICAgICAgICBjb25maWcuX2kgPSBpbnB1dCA9IGNvbmZpZy5fbG9jYWxlLnByZXBhcnNlKGlucHV0KTsKICAgICAgICB9CgogICAgICAgIGlmIChpc01vbWVudChpbnB1dCkpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBNb21lbnQoY2hlY2tPdmVyZmxvdyhpbnB1dCkpOwogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShmb3JtYXQpKSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRBcnJheShjb25maWcpOwogICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0KSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGF0ZShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gaW5wdXQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY29uZmlnRnJvbUlucHV0KGNvbmZpZyk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gY29uZmlnOwogICAgfQoKICAgIGZ1bmN0aW9uIGNvbmZpZ0Zyb21JbnB1dChjb25maWcpIHsKICAgICAgICB2YXIgaW5wdXQgPSBjb25maWcuX2k7CiAgICAgICAgaWYgKGlucHV0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoKTsKICAgICAgICB9IGVsc2UgaWYgKGlzRGF0ZShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK2lucHV0KTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgY29uZmlnRnJvbVN0cmluZyhjb25maWcpOwogICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheShpbnB1dCkpIHsKICAgICAgICAgICAgY29uZmlnLl9hID0gbWFwKGlucHV0LnNsaWNlKDApLCBmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQob2JqLCAxMCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZihpbnB1dCkgPT09ICdvYmplY3QnKSB7CiAgICAgICAgICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZihpbnB1dCkgPT09ICdudW1iZXInKSB7CiAgICAgICAgICAgIC8vIGZyb20gbWlsbGlzZWNvbmRzCiAgICAgICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKGlucHV0KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB1dGlsc19ob29rc19faG9va3MuY3JlYXRlRnJvbUlucHV0RmFsbGJhY2soY29uZmlnKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gY3JlYXRlTG9jYWxPclVUQyAoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QsIGlzVVRDKSB7CiAgICAgICAgdmFyIGMgPSB7fTsKCiAgICAgICAgaWYgKHR5cGVvZihsb2NhbGUpID09PSAnYm9vbGVhbicpIHsKICAgICAgICAgICAgc3RyaWN0ID0gbG9jYWxlOwogICAgICAgICAgICBsb2NhbGUgPSB1bmRlZmluZWQ7CiAgICAgICAgfQogICAgICAgIC8vIG9iamVjdCBjb25zdHJ1Y3Rpb24gbXVzdCBiZSBkb25lIHRoaXMgd2F5LgogICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNDIzCiAgICAgICAgYy5faXNBTW9tZW50T2JqZWN0ID0gdHJ1ZTsKICAgICAgICBjLl91c2VVVEMgPSBjLl9pc1VUQyA9IGlzVVRDOwogICAgICAgIGMuX2wgPSBsb2NhbGU7CiAgICAgICAgYy5faSA9IGlucHV0OwogICAgICAgIGMuX2YgPSBmb3JtYXQ7CiAgICAgICAgYy5fc3RyaWN0ID0gc3RyaWN0OwoKICAgICAgICByZXR1cm4gY3JlYXRlRnJvbUNvbmZpZyhjKTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbF9fY3JlYXRlTG9jYWwgKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsT3JVVEMoaW5wdXQsIGZvcm1hdCwgbG9jYWxlLCBzdHJpY3QsIGZhbHNlKTsKICAgIH0KCiAgICB2YXIgcHJvdG90eXBlTWluID0gZGVwcmVjYXRlKAogICAgICAgICAnbW9tZW50KCkubWluIGlzIGRlcHJlY2F0ZWQsIHVzZSBtb21lbnQubWluIGluc3RlYWQuIGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8xNTQ4JywKICAgICAgICAgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgdmFyIG90aGVyID0gbG9jYWxfX2NyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgICByZXR1cm4gb3RoZXIgPCB0aGlzID8gdGhpcyA6IG90aGVyOwogICAgICAgICB9CiAgICAgKTsKCiAgICB2YXIgcHJvdG90eXBlTWF4ID0gZGVwcmVjYXRlKAogICAgICAgICdtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE1NDgnLAogICAgICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIG90aGVyID0gbG9jYWxfX2NyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgICAgIHJldHVybiBvdGhlciA+IHRoaXMgPyB0aGlzIDogb3RoZXI7CiAgICAgICAgfQogICAgKTsKCiAgICAvLyBQaWNrIGEgbW9tZW50IG0gZnJvbSBtb21lbnRzIHNvIHRoYXQgbVtmbl0ob3RoZXIpIGlzIHRydWUgZm9yIGFsbAogICAgLy8gb3RoZXIuIFRoaXMgcmVsaWVzIG9uIHRoZSBmdW5jdGlvbiBmbiB0byBiZSB0cmFuc2l0aXZlLgogICAgLy8KICAgIC8vIG1vbWVudHMgc2hvdWxkIGVpdGhlciBiZSBhbiBhcnJheSBvZiBtb21lbnQgb2JqZWN0cyBvciBhbiBhcnJheSwgd2hvc2UKICAgIC8vIGZpcnN0IGVsZW1lbnQgaXMgYW4gYXJyYXkgb2YgbW9tZW50IG9iamVjdHMuCiAgICBmdW5jdGlvbiBwaWNrQnkoZm4sIG1vbWVudHMpIHsKICAgICAgICB2YXIgcmVzLCBpOwogICAgICAgIGlmIChtb21lbnRzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KG1vbWVudHNbMF0pKSB7CiAgICAgICAgICAgIG1vbWVudHMgPSBtb21lbnRzWzBdOwogICAgICAgIH0KICAgICAgICBpZiAoIW1vbWVudHMubGVuZ3RoKSB7CiAgICAgICAgICAgIHJldHVybiBsb2NhbF9fY3JlYXRlTG9jYWwoKTsKICAgICAgICB9CiAgICAgICAgcmVzID0gbW9tZW50c1swXTsKICAgICAgICBmb3IgKGkgPSAxOyBpIDwgbW9tZW50cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICBpZiAoIW1vbWVudHNbaV0uaXNWYWxpZCgpIHx8IG1vbWVudHNbaV1bZm5dKHJlcykpIHsKICAgICAgICAgICAgICAgIHJlcyA9IG1vbWVudHNbaV07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICAvLyBUT0RPOiBVc2UgW10uc29ydCBpbnN0ZWFkPwogICAgZnVuY3Rpb24gbWluICgpIHsKICAgICAgICB2YXIgYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAwKTsKCiAgICAgICAgcmV0dXJuIHBpY2tCeSgnaXNCZWZvcmUnLCBhcmdzKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYXggKCkgewogICAgICAgIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwoKICAgICAgICByZXR1cm4gcGlja0J5KCdpc0FmdGVyJywgYXJncyk7CiAgICB9CgogICAgZnVuY3Rpb24gRHVyYXRpb24gKGR1cmF0aW9uKSB7CiAgICAgICAgdmFyIG5vcm1hbGl6ZWRJbnB1dCA9IG5vcm1hbGl6ZU9iamVjdFVuaXRzKGR1cmF0aW9uKSwKICAgICAgICAgICAgeWVhcnMgPSBub3JtYWxpemVkSW5wdXQueWVhciB8fCAwLAogICAgICAgICAgICBxdWFydGVycyA9IG5vcm1hbGl6ZWRJbnB1dC5xdWFydGVyIHx8IDAsCiAgICAgICAgICAgIG1vbnRocyA9IG5vcm1hbGl6ZWRJbnB1dC5tb250aCB8fCAwLAogICAgICAgICAgICB3ZWVrcyA9IG5vcm1hbGl6ZWRJbnB1dC53ZWVrIHx8IDAsCiAgICAgICAgICAgIGRheXMgPSBub3JtYWxpemVkSW5wdXQuZGF5IHx8IDAsCiAgICAgICAgICAgIGhvdXJzID0gbm9ybWFsaXplZElucHV0LmhvdXIgfHwgMCwKICAgICAgICAgICAgbWludXRlcyA9IG5vcm1hbGl6ZWRJbnB1dC5taW51dGUgfHwgMCwKICAgICAgICAgICAgc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5zZWNvbmQgfHwgMCwKICAgICAgICAgICAgbWlsbGlzZWNvbmRzID0gbm9ybWFsaXplZElucHV0Lm1pbGxpc2Vjb25kIHx8IDA7CgogICAgICAgIC8vIHJlcHJlc2VudGF0aW9uIGZvciBkYXRlQWRkUmVtb3ZlCiAgICAgICAgdGhpcy5fbWlsbGlzZWNvbmRzID0gK21pbGxpc2Vjb25kcyArCiAgICAgICAgICAgIHNlY29uZHMgKiAxZTMgKyAvLyAxMDAwCiAgICAgICAgICAgIG1pbnV0ZXMgKiA2ZTQgKyAvLyAxMDAwICogNjAKICAgICAgICAgICAgaG91cnMgKiAzNmU1OyAvLyAxMDAwICogNjAgKiA2MAogICAgICAgIC8vIEJlY2F1c2Ugb2YgZGF0ZUFkZFJlbW92ZSB0cmVhdHMgMjQgaG91cnMgYXMgZGlmZmVyZW50IGZyb20gYQogICAgICAgIC8vIGRheSB3aGVuIHdvcmtpbmcgYXJvdW5kIERTVCwgd2UgbmVlZCB0byBzdG9yZSB0aGVtIHNlcGFyYXRlbHkKICAgICAgICB0aGlzLl9kYXlzID0gK2RheXMgKwogICAgICAgICAgICB3ZWVrcyAqIDc7CiAgICAgICAgLy8gSXQgaXMgaW1wb3NzaWJsZSB0cmFuc2xhdGUgbW9udGhzIGludG8gZGF5cyB3aXRob3V0IGtub3dpbmcKICAgICAgICAvLyB3aGljaCBtb250aHMgeW91IGFyZSBhcmUgdGFsa2luZyBhYm91dCwgc28gd2UgaGF2ZSB0byBzdG9yZQogICAgICAgIC8vIGl0IHNlcGFyYXRlbHkuCiAgICAgICAgdGhpcy5fbW9udGhzID0gK21vbnRocyArCiAgICAgICAgICAgIHF1YXJ0ZXJzICogMyArCiAgICAgICAgICAgIHllYXJzICogMTI7CgogICAgICAgIHRoaXMuX2RhdGEgPSB7fTsKCiAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlX2xvY2FsZXNfX2dldExvY2FsZSgpOwoKICAgICAgICB0aGlzLl9idWJibGUoKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0R1cmF0aW9uIChvYmopIHsKICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRHVyYXRpb247CiAgICB9CgogICAgZnVuY3Rpb24gb2Zmc2V0ICh0b2tlbiwgc2VwYXJhdG9yKSB7CiAgICAgICAgYWRkRm9ybWF0VG9rZW4odG9rZW4sIDAsIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIG9mZnNldCA9IHRoaXMudXRjT2Zmc2V0KCk7CiAgICAgICAgICAgIHZhciBzaWduID0gJysnOwogICAgICAgICAgICBpZiAob2Zmc2V0IDwgMCkgewogICAgICAgICAgICAgICAgb2Zmc2V0ID0gLW9mZnNldDsKICAgICAgICAgICAgICAgIHNpZ24gPSAnLSc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyB6ZXJvRmlsbCh+fihvZmZzZXQgLyA2MCksIDIpICsgc2VwYXJhdG9yICsgemVyb0ZpbGwofn4ob2Zmc2V0KSAlIDYwLCAyKTsKICAgICAgICB9KTsKICAgIH0KCiAgICBvZmZzZXQoJ1onLCAnOicpOwogICAgb2Zmc2V0KCdaWicsICcnKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignWicsICBtYXRjaE9mZnNldCk7CiAgICBhZGRSZWdleFRva2VuKCdaWicsIG1hdGNoT2Zmc2V0KTsKICAgIGFkZFBhcnNlVG9rZW4oWydaJywgJ1paJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fdXNlVVRDID0gdHJ1ZTsKICAgICAgICBjb25maWcuX3R6bSA9IG9mZnNldEZyb21TdHJpbmcoaW5wdXQpOwogICAgfSk7CgogICAgLy8gSEVMUEVSUwoKICAgIC8vIHRpbWV6b25lIGNodW5rZXIKICAgIC8vICcrMTA6MDAnID4gWycxMCcsICAnMDAnXQogICAgLy8gJy0xNTMwJyAgPiBbJy0xNScsICczMCddCiAgICB2YXIgY2h1bmtPZmZzZXQgPSAvKFtcK1wtXXxcZFxkKS9naTsKCiAgICBmdW5jdGlvbiBvZmZzZXRGcm9tU3RyaW5nKHN0cmluZykgewogICAgICAgIHZhciBtYXRjaGVzID0gKChzdHJpbmcgfHwgJycpLm1hdGNoKG1hdGNoT2Zmc2V0KSB8fCBbXSk7CiAgICAgICAgdmFyIGNodW5rICAgPSBtYXRjaGVzW21hdGNoZXMubGVuZ3RoIC0gMV0gfHwgW107CiAgICAgICAgdmFyIHBhcnRzICAgPSAoY2h1bmsgKyAnJykubWF0Y2goY2h1bmtPZmZzZXQpIHx8IFsnLScsIDAsIDBdOwogICAgICAgIHZhciBtaW51dGVzID0gKyhwYXJ0c1sxXSAqIDYwKSArIHRvSW50KHBhcnRzWzJdKTsKCiAgICAgICAgcmV0dXJuIHBhcnRzWzBdID09PSAnKycgPyBtaW51dGVzIDogLW1pbnV0ZXM7CiAgICB9CgogICAgLy8gUmV0dXJuIGEgbW9tZW50IGZyb20gaW5wdXQsIHRoYXQgaXMgbG9jYWwvdXRjL3pvbmUgZXF1aXZhbGVudCB0byBtb2RlbC4KICAgIGZ1bmN0aW9uIGNsb25lV2l0aE9mZnNldChpbnB1dCwgbW9kZWwpIHsKICAgICAgICB2YXIgcmVzLCBkaWZmOwogICAgICAgIGlmIChtb2RlbC5faXNVVEMpIHsKICAgICAgICAgICAgcmVzID0gbW9kZWwuY2xvbmUoKTsKICAgICAgICAgICAgZGlmZiA9IChpc01vbWVudChpbnB1dCkgfHwgaXNEYXRlKGlucHV0KSA/ICtpbnB1dCA6ICtsb2NhbF9fY3JlYXRlTG9jYWwoaW5wdXQpKSAtICgrcmVzKTsKICAgICAgICAgICAgLy8gVXNlIGxvdy1sZXZlbCBhcGksIGJlY2F1c2UgdGhpcyBmbiBpcyBsb3ctbGV2ZWwgYXBpLgogICAgICAgICAgICByZXMuX2Quc2V0VGltZSgrcmVzLl9kICsgZGlmZik7CiAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQocmVzLCBmYWxzZSk7CiAgICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCkubG9jYWwoKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0RGF0ZU9mZnNldCAobSkgewogICAgICAgIC8vIE9uIEZpcmVmb3guMjQgRGF0ZSNnZXRUaW1lem9uZU9mZnNldCByZXR1cm5zIGEgZmxvYXRpbmcgcG9pbnQuCiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvcHVsbC8xODcxCiAgICAgICAgcmV0dXJuIC1NYXRoLnJvdW5kKG0uX2QuZ2V0VGltZXpvbmVPZmZzZXQoKSAvIDE1KSAqIDE1OwogICAgfQoKICAgIC8vIEhPT0tTCgogICAgLy8gVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciBhIG1vbWVudCBpcyBtdXRhdGVkLgogICAgLy8gSXQgaXMgaW50ZW5kZWQgdG8ga2VlcCB0aGUgb2Zmc2V0IGluIHN5bmMgd2l0aCB0aGUgdGltZXpvbmUuCiAgICB1dGlsc19ob29rc19faG9va3MudXBkYXRlT2Zmc2V0ID0gZnVuY3Rpb24gKCkge307CgogICAgLy8gTU9NRU5UUwoKICAgIC8vIGtlZXBMb2NhbFRpbWUgPSB0cnVlIG1lYW5zIG9ubHkgY2hhbmdlIHRoZSB0aW1lem9uZSwgd2l0aG91dAogICAgLy8gYWZmZWN0aW5nIHRoZSBsb2NhbCBob3VyLiBTbyA1OjMxOjI2ICswMzAwIC0tW3V0Y09mZnNldCgyLCB0cnVlKV0tLT4KICAgIC8vIDU6MzE6MjYgKzAyMDAgSXQgaXMgcG9zc2libGUgdGhhdCA1OjMxOjI2IGRvZXNuJ3QgZXhpc3Qgd2l0aCBvZmZzZXQKICAgIC8vICswMjAwLCBzbyB3ZSBhZGp1c3QgdGhlIHRpbWUgYXMgbmVlZGVkLCB0byBiZSB2YWxpZC4KICAgIC8vCiAgICAvLyBLZWVwaW5nIHRoZSB0aW1lIGFjdHVhbGx5IGFkZHMvc3VidHJhY3RzIChvbmUgaG91cikKICAgIC8vIGZyb20gdGhlIGFjdHVhbCByZXByZXNlbnRlZCB0aW1lLiBUaGF0IGlzIHdoeSB3ZSBjYWxsIHVwZGF0ZU9mZnNldAogICAgLy8gYSBzZWNvbmQgdGltZS4gSW4gY2FzZSBpdCB3YW50cyB1cyB0byBjaGFuZ2UgdGhlIG9mZnNldCBhZ2FpbgogICAgLy8gX2NoYW5nZUluUHJvZ3Jlc3MgPT0gdHJ1ZSBjYXNlLCB0aGVuIHdlIGhhdmUgdG8gYWRqdXN0LCBiZWNhdXNlCiAgICAvLyB0aGVyZSBpcyBubyBzdWNoIHRpbWUgaW4gdGhlIGdpdmVuIHRpbWV6b25lLgogICAgZnVuY3Rpb24gZ2V0U2V0T2Zmc2V0IChpbnB1dCwga2VlcExvY2FsVGltZSkgewogICAgICAgIHZhciBvZmZzZXQgPSB0aGlzLl9vZmZzZXQgfHwgMCwKICAgICAgICAgICAgbG9jYWxBZGp1c3Q7CiAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgIGlucHV0ID0gb2Zmc2V0RnJvbVN0cmluZyhpbnB1dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKE1hdGguYWJzKGlucHV0KSA8IDE2KSB7CiAgICAgICAgICAgICAgICBpbnB1dCA9IGlucHV0ICogNjA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1VUQyAmJiBrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgICAgICBsb2NhbEFkanVzdCA9IGdldERhdGVPZmZzZXQodGhpcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5fb2Zmc2V0ID0gaW5wdXQ7CiAgICAgICAgICAgIHRoaXMuX2lzVVRDID0gdHJ1ZTsKICAgICAgICAgICAgaWYgKGxvY2FsQWRqdXN0ICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIHRoaXMuYWRkKGxvY2FsQWRqdXN0LCAnbScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChvZmZzZXQgIT09IGlucHV0KSB7CiAgICAgICAgICAgICAgICBpZiAoIWtlZXBMb2NhbFRpbWUgfHwgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgICAgIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgY3JlYXRlX19jcmVhdGVEdXJhdGlvbihpbnB1dCAtIG9mZnNldCwgJ20nKSwgMSwgZmFsc2UpOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3MgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHV0aWxzX2hvb2tzX19ob29rcy51cGRhdGVPZmZzZXQodGhpcywgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcyA9IG51bGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lzVVRDID8gb2Zmc2V0IDogZ2V0RGF0ZU9mZnNldCh0aGlzKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0Wm9uZSAoaW5wdXQsIGtlZXBMb2NhbFRpbWUpIHsKICAgICAgICBpZiAoaW5wdXQgIT0gbnVsbCkgewogICAgICAgICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgaW5wdXQgPSAtaW5wdXQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KGlucHV0LCBrZWVwTG9jYWxUaW1lKTsKCiAgICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiAtdGhpcy51dGNPZmZzZXQoKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9VVEMgKGtlZXBMb2NhbFRpbWUpIHsKICAgICAgICByZXR1cm4gdGhpcy51dGNPZmZzZXQoMCwga2VlcExvY2FsVGltZSk7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9Mb2NhbCAoa2VlcExvY2FsVGltZSkgewogICAgICAgIGlmICh0aGlzLl9pc1VUQykgewogICAgICAgICAgICB0aGlzLnV0Y09mZnNldCgwLCBrZWVwTG9jYWxUaW1lKTsKICAgICAgICAgICAgdGhpcy5faXNVVEMgPSBmYWxzZTsKCiAgICAgICAgICAgIGlmIChrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgICAgICB0aGlzLnN1YnRyYWN0KGdldERhdGVPZmZzZXQodGhpcyksICdtJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0T2Zmc2V0VG9QYXJzZWRPZmZzZXQgKCkgewogICAgICAgIGlmICh0aGlzLl90em0pIHsKICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQodGhpcy5fdHptKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9pID09PSAnc3RyaW5nJykgewogICAgICAgICAgICB0aGlzLnV0Y09mZnNldChvZmZzZXRGcm9tU3RyaW5nKHRoaXMuX2kpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gaGFzQWxpZ25lZEhvdXJPZmZzZXQgKGlucHV0KSB7CiAgICAgICAgaW5wdXQgPSBpbnB1dCA/IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCkudXRjT2Zmc2V0KCkgOiAwOwoKICAgICAgICByZXR1cm4gKHRoaXMudXRjT2Zmc2V0KCkgLSBpbnB1dCkgJSA2MCA9PT0gMDsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0RheWxpZ2h0U2F2aW5nVGltZSAoKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICAgdGhpcy51dGNPZmZzZXQoKSA+IHRoaXMuY2xvbmUoKS5tb250aCgwKS51dGNPZmZzZXQoKSB8fAogICAgICAgICAgICB0aGlzLnV0Y09mZnNldCgpID4gdGhpcy5jbG9uZSgpLm1vbnRoKDUpLnV0Y09mZnNldCgpCiAgICAgICAgKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0RheWxpZ2h0U2F2aW5nVGltZVNoaWZ0ZWQgKCkgewogICAgICAgIGlmICh0eXBlb2YgdGhpcy5faXNEU1RTaGlmdGVkICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICByZXR1cm4gdGhpcy5faXNEU1RTaGlmdGVkOwogICAgICAgIH0KCiAgICAgICAgdmFyIGMgPSB7fTsKCiAgICAgICAgY29weUNvbmZpZyhjLCB0aGlzKTsKICAgICAgICBjID0gcHJlcGFyZUNvbmZpZyhjKTsKCiAgICAgICAgaWYgKGMuX2EpIHsKICAgICAgICAgICAgdmFyIG90aGVyID0gYy5faXNVVEMgPyBjcmVhdGVfdXRjX19jcmVhdGVVVEMoYy5fYSkgOiBsb2NhbF9fY3JlYXRlTG9jYWwoYy5fYSk7CiAgICAgICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IHRoaXMuaXNWYWxpZCgpICYmCiAgICAgICAgICAgICAgICBjb21wYXJlQXJyYXlzKGMuX2EsIG90aGVyLnRvQXJyYXkoKSkgPiAwOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0xvY2FsICgpIHsKICAgICAgICByZXR1cm4gIXRoaXMuX2lzVVRDOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzVXRjT2Zmc2V0ICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5faXNVVEM7CiAgICB9CgogICAgZnVuY3Rpb24gaXNVdGMgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyAmJiB0aGlzLl9vZmZzZXQgPT09IDA7CiAgICB9CgogICAgdmFyIGFzcE5ldFJlZ2V4ID0gLyhcLSk/KD86KFxkKilcLik/KFxkKylcOihcZCspKD86XDooXGQrKVwuPyhcZHszfSk/KT8vOwoKICAgIC8vIGZyb20gaHR0cDovL2RvY3MuY2xvc3VyZS1saWJyYXJ5Lmdvb2dsZWNvZGUuY29tL2dpdC9jbG9zdXJlX2dvb2dfZGF0ZV9kYXRlLmpzLnNvdXJjZS5odG1sCiAgICAvLyBzb21ld2hhdCBtb3JlIGluIGxpbmUgd2l0aCA0LjQuMy4yIDIwMDQgc3BlYywgYnV0IGFsbG93cyBkZWNpbWFsIGFueXdoZXJlCiAgICB2YXIgY3JlYXRlX19pc29SZWdleCA9IC9eKC0pP1AoPzooPzooWzAtOSwuXSopWSk/KD86KFswLTksLl0qKU0pPyg/OihbMC05LC5dKilEKT8oPzpUKD86KFswLTksLl0qKUgpPyg/OihbMC05LC5dKilNKT8oPzooWzAtOSwuXSopUyk/KT98KFswLTksLl0qKVcpJC87CgogICAgZnVuY3Rpb24gY3JlYXRlX19jcmVhdGVEdXJhdGlvbiAoaW5wdXQsIGtleSkgewogICAgICAgIHZhciBkdXJhdGlvbiA9IGlucHV0LAogICAgICAgICAgICAvLyBtYXRjaGluZyBhZ2FpbnN0IHJlZ2V4cCBpcyBleHBlbnNpdmUsIGRvIGl0IG9uIGRlbWFuZAogICAgICAgICAgICBtYXRjaCA9IG51bGwsCiAgICAgICAgICAgIHNpZ24sCiAgICAgICAgICAgIHJldCwKICAgICAgICAgICAgZGlmZlJlczsKCiAgICAgICAgaWYgKGlzRHVyYXRpb24oaW5wdXQpKSB7CiAgICAgICAgICAgIGR1cmF0aW9uID0gewogICAgICAgICAgICAgICAgbXMgOiBpbnB1dC5fbWlsbGlzZWNvbmRzLAogICAgICAgICAgICAgICAgZCAgOiBpbnB1dC5fZGF5cywKICAgICAgICAgICAgICAgIE0gIDogaW5wdXQuX21vbnRocwogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0ID09PSAnbnVtYmVyJykgewogICAgICAgICAgICBkdXJhdGlvbiA9IHt9OwogICAgICAgICAgICBpZiAoa2V5KSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbltrZXldID0gaW5wdXQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbi5taWxsaXNlY29uZHMgPSBpbnB1dDsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoISEobWF0Y2ggPSBhc3BOZXRSZWdleC5leGVjKGlucHV0KSkpIHsKICAgICAgICAgICAgc2lnbiA9IChtYXRjaFsxXSA9PT0gJy0nKSA/IC0xIDogMTsKICAgICAgICAgICAgZHVyYXRpb24gPSB7CiAgICAgICAgICAgICAgICB5ICA6IDAsCiAgICAgICAgICAgICAgICBkICA6IHRvSW50KG1hdGNoW0RBVEVdKSAgICAgICAgKiBzaWduLAogICAgICAgICAgICAgICAgaCAgOiB0b0ludChtYXRjaFtIT1VSXSkgICAgICAgICogc2lnbiwKICAgICAgICAgICAgICAgIG0gIDogdG9JbnQobWF0Y2hbTUlOVVRFXSkgICAgICAqIHNpZ24sCiAgICAgICAgICAgICAgICBzICA6IHRvSW50KG1hdGNoW1NFQ09ORF0pICAgICAgKiBzaWduLAogICAgICAgICAgICAgICAgbXMgOiB0b0ludChtYXRjaFtNSUxMSVNFQ09ORF0pICogc2lnbgogICAgICAgICAgICB9OwogICAgICAgIH0gZWxzZSBpZiAoISEobWF0Y2ggPSBjcmVhdGVfX2lzb1JlZ2V4LmV4ZWMoaW5wdXQpKSkgewogICAgICAgICAgICBzaWduID0gKG1hdGNoWzFdID09PSAnLScpID8gLTEgOiAxOwogICAgICAgICAgICBkdXJhdGlvbiA9IHsKICAgICAgICAgICAgICAgIHkgOiBwYXJzZUlzbyhtYXRjaFsyXSwgc2lnbiksCiAgICAgICAgICAgICAgICBNIDogcGFyc2VJc28obWF0Y2hbM10sIHNpZ24pLAogICAgICAgICAgICAgICAgZCA6IHBhcnNlSXNvKG1hdGNoWzRdLCBzaWduKSwKICAgICAgICAgICAgICAgIGggOiBwYXJzZUlzbyhtYXRjaFs1XSwgc2lnbiksCiAgICAgICAgICAgICAgICBtIDogcGFyc2VJc28obWF0Y2hbNl0sIHNpZ24pLAogICAgICAgICAgICAgICAgcyA6IHBhcnNlSXNvKG1hdGNoWzddLCBzaWduKSwKICAgICAgICAgICAgICAgIHcgOiBwYXJzZUlzbyhtYXRjaFs4XSwgc2lnbikKICAgICAgICAgICAgfTsKICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uID09IG51bGwpIHsvLyBjaGVja3MgZm9yIG51bGwgb3IgdW5kZWZpbmVkCiAgICAgICAgICAgIGR1cmF0aW9uID0ge307CiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZHVyYXRpb24gPT09ICdvYmplY3QnICYmICgnZnJvbScgaW4gZHVyYXRpb24gfHwgJ3RvJyBpbiBkdXJhdGlvbikpIHsKICAgICAgICAgICAgZGlmZlJlcyA9IG1vbWVudHNEaWZmZXJlbmNlKGxvY2FsX19jcmVhdGVMb2NhbChkdXJhdGlvbi5mcm9tKSwgbG9jYWxfX2NyZWF0ZUxvY2FsKGR1cmF0aW9uLnRvKSk7CgogICAgICAgICAgICBkdXJhdGlvbiA9IHt9OwogICAgICAgICAgICBkdXJhdGlvbi5tcyA9IGRpZmZSZXMubWlsbGlzZWNvbmRzOwogICAgICAgICAgICBkdXJhdGlvbi5NID0gZGlmZlJlcy5tb250aHM7CiAgICAgICAgfQoKICAgICAgICByZXQgPSBuZXcgRHVyYXRpb24oZHVyYXRpb24pOwoKICAgICAgICBpZiAoaXNEdXJhdGlvbihpbnB1dCkgJiYgaGFzT3duUHJvcChpbnB1dCwgJ19sb2NhbGUnKSkgewogICAgICAgICAgICByZXQuX2xvY2FsZSA9IGlucHV0Ll9sb2NhbGU7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmV0OwogICAgfQoKICAgIGNyZWF0ZV9fY3JlYXRlRHVyYXRpb24uZm4gPSBEdXJhdGlvbi5wcm90b3R5cGU7CgogICAgZnVuY3Rpb24gcGFyc2VJc28gKGlucCwgc2lnbikgewogICAgICAgIC8vIFdlJ2Qgbm9ybWFsbHkgdXNlIH5+aW5wIGZvciB0aGlzLCBidXQgdW5mb3J0dW5hdGVseSBpdCBhbHNvCiAgICAgICAgLy8gY29udmVydHMgZmxvYXRzIHRvIGludHMuCiAgICAgICAgLy8gaW5wIG1heSBiZSB1bmRlZmluZWQsIHNvIGNhcmVmdWwgY2FsbGluZyByZXBsYWNlIG9uIGl0LgogICAgICAgIHZhciByZXMgPSBpbnAgJiYgcGFyc2VGbG9hdChpbnAucmVwbGFjZSgnLCcsICcuJykpOwogICAgICAgIC8vIGFwcGx5IHNpZ24gd2hpbGUgd2UncmUgYXQgaXQKICAgICAgICByZXR1cm4gKGlzTmFOKHJlcykgPyAwIDogcmVzKSAqIHNpZ247CiAgICB9CgogICAgZnVuY3Rpb24gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcikgewogICAgICAgIHZhciByZXMgPSB7bWlsbGlzZWNvbmRzOiAwLCBtb250aHM6IDB9OwoKICAgICAgICByZXMubW9udGhzID0gb3RoZXIubW9udGgoKSAtIGJhc2UubW9udGgoKSArCiAgICAgICAgICAgIChvdGhlci55ZWFyKCkgLSBiYXNlLnllYXIoKSkgKiAxMjsKICAgICAgICBpZiAoYmFzZS5jbG9uZSgpLmFkZChyZXMubW9udGhzLCAnTScpLmlzQWZ0ZXIob3RoZXIpKSB7CiAgICAgICAgICAgIC0tcmVzLm1vbnRoczsKICAgICAgICB9CgogICAgICAgIHJlcy5taWxsaXNlY29uZHMgPSArb3RoZXIgLSArKGJhc2UuY2xvbmUoKS5hZGQocmVzLm1vbnRocywgJ00nKSk7CgogICAgICAgIHJldHVybiByZXM7CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpIHsKICAgICAgICB2YXIgcmVzOwogICAgICAgIG90aGVyID0gY2xvbmVXaXRoT2Zmc2V0KG90aGVyLCBiYXNlKTsKICAgICAgICBpZiAoYmFzZS5pc0JlZm9yZShvdGhlcikpIHsKICAgICAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShvdGhlciwgYmFzZSk7CiAgICAgICAgICAgIHJlcy5taWxsaXNlY29uZHMgPSAtcmVzLm1pbGxpc2Vjb25kczsKICAgICAgICAgICAgcmVzLm1vbnRocyA9IC1yZXMubW9udGhzOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICBmdW5jdGlvbiBjcmVhdGVBZGRlcihkaXJlY3Rpb24sIG5hbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbCwgcGVyaW9kKSB7CiAgICAgICAgICAgIHZhciBkdXIsIHRtcDsKICAgICAgICAgICAgLy9pbnZlcnQgdGhlIGFyZ3VtZW50cywgYnV0IGNvbXBsYWluIGFib3V0IGl0CiAgICAgICAgICAgIGlmIChwZXJpb2QgIT09IG51bGwgJiYgIWlzTmFOKCtwZXJpb2QpKSB7CiAgICAgICAgICAgICAgICBkZXByZWNhdGVTaW1wbGUobmFtZSwgJ21vbWVudCgpLicgKyBuYW1lICArICcocGVyaW9kLCBudW1iZXIpIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgbW9tZW50KCkuJyArIG5hbWUgKyAnKG51bWJlciwgcGVyaW9kKS4nKTsKICAgICAgICAgICAgICAgIHRtcCA9IHZhbDsgdmFsID0gcGVyaW9kOyBwZXJpb2QgPSB0bXA7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhbCA9IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnID8gK3ZhbCA6IHZhbDsKICAgICAgICAgICAgZHVyID0gY3JlYXRlX19jcmVhdGVEdXJhdGlvbih2YWwsIHBlcmlvZCk7CiAgICAgICAgICAgIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgZHVyLCBkaXJlY3Rpb24pOwogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIGFkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QgKG1vbSwgZHVyYXRpb24sIGlzQWRkaW5nLCB1cGRhdGVPZmZzZXQpIHsKICAgICAgICB2YXIgbWlsbGlzZWNvbmRzID0gZHVyYXRpb24uX21pbGxpc2Vjb25kcywKICAgICAgICAgICAgZGF5cyA9IGR1cmF0aW9uLl9kYXlzLAogICAgICAgICAgICBtb250aHMgPSBkdXJhdGlvbi5fbW9udGhzOwogICAgICAgIHVwZGF0ZU9mZnNldCA9IHVwZGF0ZU9mZnNldCA9PSBudWxsID8gdHJ1ZSA6IHVwZGF0ZU9mZnNldDsKCiAgICAgICAgaWYgKG1pbGxpc2Vjb25kcykgewogICAgICAgICAgICBtb20uX2Quc2V0VGltZSgrbW9tLl9kICsgbWlsbGlzZWNvbmRzICogaXNBZGRpbmcpOwogICAgICAgIH0KICAgICAgICBpZiAoZGF5cykgewogICAgICAgICAgICBnZXRfc2V0X19zZXQobW9tLCAnRGF0ZScsIGdldF9zZXRfX2dldChtb20sICdEYXRlJykgKyBkYXlzICogaXNBZGRpbmcpOwogICAgICAgIH0KICAgICAgICBpZiAobW9udGhzKSB7CiAgICAgICAgICAgIHNldE1vbnRoKG1vbSwgZ2V0X3NldF9fZ2V0KG1vbSwgJ01vbnRoJykgKyBtb250aHMgKiBpc0FkZGluZyk7CiAgICAgICAgfQogICAgICAgIGlmICh1cGRhdGVPZmZzZXQpIHsKICAgICAgICAgICAgdXRpbHNfaG9va3NfX2hvb2tzLnVwZGF0ZU9mZnNldChtb20sIGRheXMgfHwgbW9udGhzKTsKICAgICAgICB9CiAgICB9CgogICAgdmFyIGFkZF9zdWJ0cmFjdF9fYWRkICAgICAgPSBjcmVhdGVBZGRlcigxLCAnYWRkJyk7CiAgICB2YXIgYWRkX3N1YnRyYWN0X19zdWJ0cmFjdCA9IGNyZWF0ZUFkZGVyKC0xLCAnc3VidHJhY3QnKTsKCiAgICBmdW5jdGlvbiBtb21lbnRfY2FsZW5kYXJfX2NhbGVuZGFyICh0aW1lLCBmb3JtYXRzKSB7CiAgICAgICAgLy8gV2Ugd2FudCB0byBjb21wYXJlIHRoZSBzdGFydCBvZiB0b2RheSwgdnMgdGhpcy4KICAgICAgICAvLyBHZXR0aW5nIHN0YXJ0LW9mLXRvZGF5IGRlcGVuZHMgb24gd2hldGhlciB3ZSdyZSBsb2NhbC91dGMvb2Zmc2V0IG9yIG5vdC4KICAgICAgICB2YXIgbm93ID0gdGltZSB8fCBsb2NhbF9fY3JlYXRlTG9jYWwoKSwKICAgICAgICAgICAgc29kID0gY2xvbmVXaXRoT2Zmc2V0KG5vdywgdGhpcykuc3RhcnRPZignZGF5JyksCiAgICAgICAgICAgIGRpZmYgPSB0aGlzLmRpZmYoc29kLCAnZGF5cycsIHRydWUpLAogICAgICAgICAgICBmb3JtYXQgPSBkaWZmIDwgLTYgPyAnc2FtZUVsc2UnIDoKICAgICAgICAgICAgICAgIGRpZmYgPCAtMSA/ICdsYXN0V2VlaycgOgogICAgICAgICAgICAgICAgZGlmZiA8IDAgPyAnbGFzdERheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDEgPyAnc2FtZURheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDIgPyAnbmV4dERheScgOgogICAgICAgICAgICAgICAgZGlmZiA8IDcgPyAnbmV4dFdlZWsnIDogJ3NhbWVFbHNlJzsKICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXQoZm9ybWF0cyAmJiBmb3JtYXRzW2Zvcm1hdF0gfHwgdGhpcy5sb2NhbGVEYXRhKCkuY2FsZW5kYXIoZm9ybWF0LCB0aGlzLCBsb2NhbF9fY3JlYXRlTG9jYWwobm93KSkpOwogICAgfQoKICAgIGZ1bmN0aW9uIGNsb25lICgpIHsKICAgICAgICByZXR1cm4gbmV3IE1vbWVudCh0aGlzKTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0FmdGVyIChpbnB1dCwgdW5pdHMpIHsKICAgICAgICB2YXIgaW5wdXRNczsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHR5cGVvZiB1bml0cyAhPT0gJ3VuZGVmaW5lZCcgPyB1bml0cyA6ICdtaWxsaXNlY29uZCcpOwogICAgICAgIGlmICh1bml0cyA9PT0gJ21pbGxpc2Vjb25kJykgewogICAgICAgICAgICBpbnB1dCA9IGlzTW9tZW50KGlucHV0KSA/IGlucHV0IDogbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuICt0aGlzID4gK2lucHV0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0TXMgPSBpc01vbWVudChpbnB1dCkgPyAraW5wdXQgOiArbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuIGlucHV0TXMgPCArdGhpcy5jbG9uZSgpLnN0YXJ0T2YodW5pdHMpOwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBpc0JlZm9yZSAoaW5wdXQsIHVuaXRzKSB7CiAgICAgICAgdmFyIGlucHV0TXM7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh0eXBlb2YgdW5pdHMgIT09ICd1bmRlZmluZWQnID8gdW5pdHMgOiAnbWlsbGlzZWNvbmQnKTsKICAgICAgICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgaW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcyA8ICtpbnB1dDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpbnB1dE1zID0gaXNNb21lbnQoaW5wdXQpID8gK2lucHV0IDogK2xvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcy5jbG9uZSgpLmVuZE9mKHVuaXRzKSA8IGlucHV0TXM7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGlzQmV0d2VlbiAoZnJvbSwgdG8sIHVuaXRzKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNBZnRlcihmcm9tLCB1bml0cykgJiYgdGhpcy5pc0JlZm9yZSh0bywgdW5pdHMpOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzU2FtZSAoaW5wdXQsIHVuaXRzKSB7CiAgICAgICAgdmFyIGlucHV0TXM7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyB8fCAnbWlsbGlzZWNvbmQnKTsKICAgICAgICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgaW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGxvY2FsX19jcmVhdGVMb2NhbChpbnB1dCk7CiAgICAgICAgICAgIHJldHVybiArdGhpcyA9PT0gK2lucHV0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlucHV0TXMgPSArbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0KTsKICAgICAgICAgICAgcmV0dXJuICsodGhpcy5jbG9uZSgpLnN0YXJ0T2YodW5pdHMpKSA8PSBpbnB1dE1zICYmIGlucHV0TXMgPD0gKyh0aGlzLmNsb25lKCkuZW5kT2YodW5pdHMpKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZGlmZiAoaW5wdXQsIHVuaXRzLCBhc0Zsb2F0KSB7CiAgICAgICAgdmFyIHRoYXQgPSBjbG9uZVdpdGhPZmZzZXQoaW5wdXQsIHRoaXMpLAogICAgICAgICAgICB6b25lRGVsdGEgPSAodGhhdC51dGNPZmZzZXQoKSAtIHRoaXMudXRjT2Zmc2V0KCkpICogNmU0LAogICAgICAgICAgICBkZWx0YSwgb3V0cHV0OwoKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKCiAgICAgICAgaWYgKHVuaXRzID09PSAneWVhcicgfHwgdW5pdHMgPT09ICdtb250aCcgfHwgdW5pdHMgPT09ICdxdWFydGVyJykgewogICAgICAgICAgICBvdXRwdXQgPSBtb250aERpZmYodGhpcywgdGhhdCk7CiAgICAgICAgICAgIGlmICh1bml0cyA9PT0gJ3F1YXJ0ZXInKSB7CiAgICAgICAgICAgICAgICBvdXRwdXQgPSBvdXRwdXQgLyAzOwogICAgICAgICAgICB9IGVsc2UgaWYgKHVuaXRzID09PSAneWVhcicpIHsKICAgICAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dCAvIDEyOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZGVsdGEgPSB0aGlzIC0gdGhhdDsKICAgICAgICAgICAgb3V0cHV0ID0gdW5pdHMgPT09ICdzZWNvbmQnID8gZGVsdGEgLyAxZTMgOiAvLyAxMDAwCiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ21pbnV0ZScgPyBkZWx0YSAvIDZlNCA6IC8vIDEwMDAgKiA2MAogICAgICAgICAgICAgICAgdW5pdHMgPT09ICdob3VyJyA/IGRlbHRhIC8gMzZlNSA6IC8vIDEwMDAgKiA2MCAqIDYwCiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ2RheScgPyAoZGVsdGEgLSB6b25lRGVsdGEpIC8gODY0ZTUgOiAvLyAxMDAwICogNjAgKiA2MCAqIDI0LCBuZWdhdGUgZHN0CiAgICAgICAgICAgICAgICB1bml0cyA9PT0gJ3dlZWsnID8gKGRlbHRhIC0gem9uZURlbHRhKSAvIDYwNDhlNSA6IC8vIDEwMDAgKiA2MCAqIDYwICogMjQgKiA3LCBuZWdhdGUgZHN0CiAgICAgICAgICAgICAgICBkZWx0YTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFzRmxvYXQgPyBvdXRwdXQgOiBhYnNGbG9vcihvdXRwdXQpOwogICAgfQoKICAgIGZ1bmN0aW9uIG1vbnRoRGlmZiAoYSwgYikgewogICAgICAgIC8vIGRpZmZlcmVuY2UgaW4gbW9udGhzCiAgICAgICAgdmFyIHdob2xlTW9udGhEaWZmID0gKChiLnllYXIoKSAtIGEueWVhcigpKSAqIDEyKSArIChiLm1vbnRoKCkgLSBhLm1vbnRoKCkpLAogICAgICAgICAgICAvLyBiIGlzIGluIChhbmNob3IgLSAxIG1vbnRoLCBhbmNob3IgKyAxIG1vbnRoKQogICAgICAgICAgICBhbmNob3IgPSBhLmNsb25lKCkuYWRkKHdob2xlTW9udGhEaWZmLCAnbW9udGhzJyksCiAgICAgICAgICAgIGFuY2hvcjIsIGFkanVzdDsKCiAgICAgICAgaWYgKGIgLSBhbmNob3IgPCAwKSB7CiAgICAgICAgICAgIGFuY2hvcjIgPSBhLmNsb25lKCkuYWRkKHdob2xlTW9udGhEaWZmIC0gMSwgJ21vbnRocycpOwogICAgICAgICAgICAvLyBsaW5lYXIgYWNyb3NzIHRoZSBtb250aAogICAgICAgICAgICBhZGp1c3QgPSAoYiAtIGFuY2hvcikgLyAoYW5jaG9yIC0gYW5jaG9yMik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYW5jaG9yMiA9IGEuY2xvbmUoKS5hZGQod2hvbGVNb250aERpZmYgKyAxLCAnbW9udGhzJyk7CiAgICAgICAgICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoCiAgICAgICAgICAgIGFkanVzdCA9IChiIC0gYW5jaG9yKSAvIChhbmNob3IyIC0gYW5jaG9yKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiAtKHdob2xlTW9udGhEaWZmICsgYWRqdXN0KTsKICAgIH0KCiAgICB1dGlsc19ob29rc19faG9va3MuZGVmYXVsdEZvcm1hdCA9ICdZWVlZLU1NLUREVEhIOm1tOnNzWic7CgogICAgZnVuY3Rpb24gdG9TdHJpbmcgKCkgewogICAgICAgIHJldHVybiB0aGlzLmNsb25lKCkubG9jYWxlKCdlbicpLmZvcm1hdCgnZGRkIE1NTSBERCBZWVlZIEhIOm1tOnNzIFtHTVRdWlonKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtb21lbnRfZm9ybWF0X190b0lTT1N0cmluZyAoKSB7CiAgICAgICAgdmFyIG0gPSB0aGlzLmNsb25lKCkudXRjKCk7CiAgICAgICAgaWYgKDAgPCBtLnllYXIoKSAmJiBtLnllYXIoKSA8PSA5OTk5KSB7CiAgICAgICAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpIHsKICAgICAgICAgICAgICAgIC8vIG5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBpcyB+NTB4IGZhc3RlciwgdXNlIGl0IHdoZW4gd2UgY2FuCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b0RhdGUoKS50b0lTT1N0cmluZygpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE1vbWVudChtLCAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScpOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE1vbWVudChtLCAnWVlZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTW1pdJyk7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGZvcm1hdCAoaW5wdXRTdHJpbmcpIHsKICAgICAgICB2YXIgb3V0cHV0ID0gZm9ybWF0TW9tZW50KHRoaXMsIGlucHV0U3RyaW5nIHx8IHV0aWxzX2hvb2tzX19ob29rcy5kZWZhdWx0Rm9ybWF0KTsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkucG9zdGZvcm1hdChvdXRwdXQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGZyb20gKHRpbWUsIHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gY3JlYXRlX19jcmVhdGVEdXJhdGlvbih7dG86IHRoaXMsIGZyb206IHRpbWV9KS5sb2NhbGUodGhpcy5sb2NhbGUoKSkuaHVtYW5pemUoIXdpdGhvdXRTdWZmaXgpOwogICAgfQoKICAgIGZ1bmN0aW9uIGZyb21Ob3cgKHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICByZXR1cm4gdGhpcy5mcm9tKGxvY2FsX19jcmVhdGVMb2NhbCgpLCB3aXRob3V0U3VmZml4KTsKICAgIH0KCiAgICBmdW5jdGlvbiB0byAodGltZSwgd2l0aG91dFN1ZmZpeCkgewogICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uKHtmcm9tOiB0aGlzLCB0bzogdGltZX0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghd2l0aG91dFN1ZmZpeCk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9Ob3cgKHdpdGhvdXRTdWZmaXgpIHsKICAgICAgICByZXR1cm4gdGhpcy50byhsb2NhbF9fY3JlYXRlTG9jYWwoKSwgd2l0aG91dFN1ZmZpeCk7CiAgICB9CgogICAgZnVuY3Rpb24gbG9jYWxlIChrZXkpIHsKICAgICAgICB2YXIgbmV3TG9jYWxlRGF0YTsKCiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGUuX2FiYnI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbmV3TG9jYWxlRGF0YSA9IGxvY2FsZV9sb2NhbGVzX19nZXRMb2NhbGUoa2V5KTsKICAgICAgICAgICAgaWYgKG5ld0xvY2FsZURhdGEgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGhpcy5fbG9jYWxlID0gbmV3TG9jYWxlRGF0YTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICB9CiAgICB9CgogICAgdmFyIGxhbmcgPSBkZXByZWNhdGUoCiAgICAgICAgJ21vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuJywKICAgICAgICBmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlKGtleSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICApOwoKICAgIGZ1bmN0aW9uIGxvY2FsZURhdGEgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7CiAgICB9CgogICAgZnVuY3Rpb24gc3RhcnRPZiAodW5pdHMpIHsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgICAgICAvLyB0aGUgZm9sbG93aW5nIHN3aXRjaCBpbnRlbnRpb25hbGx5IG9taXRzIGJyZWFrIGtleXdvcmRzCiAgICAgICAgLy8gdG8gdXRpbGl6ZSBmYWxsaW5nIHRocm91Z2ggdGhlIGNhc2VzLgogICAgICAgIHN3aXRjaCAodW5pdHMpIHsKICAgICAgICBjYXNlICd5ZWFyJzoKICAgICAgICAgICAgdGhpcy5tb250aCgwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ3F1YXJ0ZXInOgogICAgICAgIGNhc2UgJ21vbnRoJzoKICAgICAgICAgICAgdGhpcy5kYXRlKDEpOwogICAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSAnd2Vlayc6CiAgICAgICAgY2FzZSAnaXNvV2Vlayc6CiAgICAgICAgY2FzZSAnZGF5JzoKICAgICAgICAgICAgdGhpcy5ob3VycygwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ2hvdXInOgogICAgICAgICAgICB0aGlzLm1pbnV0ZXMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdtaW51dGUnOgogICAgICAgICAgICB0aGlzLnNlY29uZHMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdzZWNvbmQnOgogICAgICAgICAgICB0aGlzLm1pbGxpc2Vjb25kcygwKTsKICAgICAgICB9CgogICAgICAgIC8vIHdlZWtzIGFyZSBhIHNwZWNpYWwgY2FzZQogICAgICAgIGlmICh1bml0cyA9PT0gJ3dlZWsnKSB7CiAgICAgICAgICAgIHRoaXMud2Vla2RheSgwKTsKICAgICAgICB9CiAgICAgICAgaWYgKHVuaXRzID09PSAnaXNvV2VlaycpIHsKICAgICAgICAgICAgdGhpcy5pc29XZWVrZGF5KDEpOwogICAgICAgIH0KCiAgICAgICAgLy8gcXVhcnRlcnMgYXJlIGFsc28gc3BlY2lhbAogICAgICAgIGlmICh1bml0cyA9PT0gJ3F1YXJ0ZXInKSB7CiAgICAgICAgICAgIHRoaXMubW9udGgoTWF0aC5mbG9vcih0aGlzLm1vbnRoKCkgLyAzKSAqIDMpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gZW5kT2YgKHVuaXRzKSB7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICAgICAgaWYgKHVuaXRzID09PSB1bmRlZmluZWQgfHwgdW5pdHMgPT09ICdtaWxsaXNlY29uZCcpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLnN0YXJ0T2YodW5pdHMpLmFkZCgxLCAodW5pdHMgPT09ICdpc29XZWVrJyA/ICd3ZWVrJyA6IHVuaXRzKSkuc3VidHJhY3QoMSwgJ21zJyk7CiAgICB9CgogICAgZnVuY3Rpb24gdG9fdHlwZV9fdmFsdWVPZiAoKSB7CiAgICAgICAgcmV0dXJuICt0aGlzLl9kIC0gKCh0aGlzLl9vZmZzZXQgfHwgMCkgKiA2MDAwMCk7CiAgICB9CgogICAgZnVuY3Rpb24gdW5peCAoKSB7CiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoK3RoaXMgLyAxMDAwKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b0RhdGUgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9vZmZzZXQgPyBuZXcgRGF0ZSgrdGhpcykgOiB0aGlzLl9kOwogICAgfQoKICAgIGZ1bmN0aW9uIHRvQXJyYXkgKCkgewogICAgICAgIHZhciBtID0gdGhpczsKICAgICAgICByZXR1cm4gW20ueWVhcigpLCBtLm1vbnRoKCksIG0uZGF0ZSgpLCBtLmhvdXIoKSwgbS5taW51dGUoKSwgbS5zZWNvbmQoKSwgbS5taWxsaXNlY29uZCgpXTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b09iamVjdCAoKSB7CiAgICAgICAgdmFyIG0gPSB0aGlzOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHllYXJzOiBtLnllYXIoKSwKICAgICAgICAgICAgbW9udGhzOiBtLm1vbnRoKCksCiAgICAgICAgICAgIGRhdGU6IG0uZGF0ZSgpLAogICAgICAgICAgICBob3VyczogbS5ob3VycygpLAogICAgICAgICAgICBtaW51dGVzOiBtLm1pbnV0ZXMoKSwKICAgICAgICAgICAgc2Vjb25kczogbS5zZWNvbmRzKCksCiAgICAgICAgICAgIG1pbGxpc2Vjb25kczogbS5taWxsaXNlY29uZHMoKQogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50X3ZhbGlkX19pc1ZhbGlkICgpIHsKICAgICAgICByZXR1cm4gdmFsaWRfX2lzVmFsaWQodGhpcyk7CiAgICB9CgogICAgZnVuY3Rpb24gcGFyc2luZ0ZsYWdzICgpIHsKICAgICAgICByZXR1cm4gZXh0ZW5kKHt9LCBnZXRQYXJzaW5nRmxhZ3ModGhpcykpOwogICAgfQoKICAgIGZ1bmN0aW9uIGludmFsaWRBdCAoKSB7CiAgICAgICAgcmV0dXJuIGdldFBhcnNpbmdGbGFncyh0aGlzKS5vdmVyZmxvdzsKICAgIH0KCiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ2dnJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy53ZWVrWWVhcigpICUgMTAwOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydHRycsIDJdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNvV2Vla1llYXIoKSAlIDEwMDsKICAgIH0pOwoKICAgIGZ1bmN0aW9uIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4gKHRva2VuLCBnZXR0ZXIpIHsKICAgICAgICBhZGRGb3JtYXRUb2tlbigwLCBbdG9rZW4sIHRva2VuLmxlbmd0aF0sIDAsIGdldHRlcik7CiAgICB9CgogICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZycsICAgICAnd2Vla1llYXInKTsKICAgIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ2dnZ2dnJywgICAgJ3dlZWtZZWFyJyk7CiAgICBhZGRXZWVrWWVhckZvcm1hdFRva2VuKCdHR0dHJywgICdpc29XZWVrWWVhcicpOwogICAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignR0dHR0cnLCAnaXNvV2Vla1llYXInKTsKCiAgICAvLyBBTElBU0VTCgogICAgYWRkVW5pdEFsaWFzKCd3ZWVrWWVhcicsICdnZycpOwogICAgYWRkVW5pdEFsaWFzKCdpc29XZWVrWWVhcicsICdHRycpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdHJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdnJywgICAgICBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdHRycsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdnZycsICAgICBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRSZWdleFRva2VuKCdHR0dHJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdnZ2dnJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CiAgICBhZGRSZWdleFRva2VuKCdHR0dHRycsICBtYXRjaDF0bzYsIG1hdGNoNik7CiAgICBhZGRSZWdleFRva2VuKCdnZ2dnZycsICBtYXRjaDF0bzYsIG1hdGNoNik7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydnZ2dnJywgJ2dnZ2dnJywgJ0dHR0cnLCAnR0dHR0cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrLCBjb25maWcsIHRva2VuKSB7CiAgICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMildID0gdG9JbnQoaW5wdXQpOwogICAgfSk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydnZycsICdHRyddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHsKICAgICAgICB3ZWVrW3Rva2VuXSA9IHV0aWxzX2hvb2tzX19ob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCk7CiAgICB9KTsKCiAgICAvLyBIRUxQRVJTCgogICAgZnVuY3Rpb24gd2Vla3NJblllYXIoeWVhciwgZG93LCBkb3kpIHsKICAgICAgICByZXR1cm4gd2Vla09mWWVhcihsb2NhbF9fY3JlYXRlTG9jYWwoW3llYXIsIDExLCAzMSArIGRvdyAtIGRveV0pLCBkb3csIGRveSkud2VlazsKICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIgKGlucHV0KSB7CiAgICAgICAgdmFyIHllYXIgPSB3ZWVrT2ZZZWFyKHRoaXMsIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdywgdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG95KS55ZWFyOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8geWVhciA6IHRoaXMuYWRkKChpbnB1dCAtIHllYXIpLCAneScpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFNldElTT1dlZWtZZWFyIChpbnB1dCkgewogICAgICAgIHZhciB5ZWFyID0gd2Vla09mWWVhcih0aGlzLCAxLCA0KS55ZWFyOwogICAgICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8geWVhciA6IHRoaXMuYWRkKChpbnB1dCAtIHllYXIpLCAneScpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldElTT1dlZWtzSW5ZZWFyICgpIHsKICAgICAgICByZXR1cm4gd2Vla3NJblllYXIodGhpcy55ZWFyKCksIDEsIDQpOwogICAgfQoKICAgIGZ1bmN0aW9uIGdldFdlZWtzSW5ZZWFyICgpIHsKICAgICAgICB2YXIgd2Vla0luZm8gPSB0aGlzLmxvY2FsZURhdGEoKS5fd2VlazsKICAgICAgICByZXR1cm4gd2Vla3NJblllYXIodGhpcy55ZWFyKCksIHdlZWtJbmZvLmRvdywgd2Vla0luZm8uZG95KTsKICAgIH0KCiAgICBhZGRGb3JtYXRUb2tlbignUScsIDAsIDAsICdxdWFydGVyJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygncXVhcnRlcicsICdRJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ1EnLCBtYXRjaDEpOwogICAgYWRkUGFyc2VUb2tlbignUScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtNT05USF0gPSAodG9JbnQoaW5wdXQpIC0gMSkgKiAzOwogICAgfSk7CgogICAgLy8gTU9NRU5UUwoKICAgIGZ1bmN0aW9uIGdldFNldFF1YXJ0ZXIgKGlucHV0KSB7CiAgICAgICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyBNYXRoLmNlaWwoKHRoaXMubW9udGgoKSArIDEpIC8gMykgOiB0aGlzLm1vbnRoKChpbnB1dCAtIDEpICogMyArIHRoaXMubW9udGgoKSAlIDMpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdEJywgWydERCcsIDJdLCAnRG8nLCAnZGF0ZScpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ2RhdGUnLCAnRCcpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdEJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdERCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0RvJywgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHsKICAgICAgICByZXR1cm4gaXNTdHJpY3QgPyBsb2NhbGUuX29yZGluYWxQYXJzZSA6IGxvY2FsZS5fb3JkaW5hbFBhcnNlTGVuaWVudDsKICAgIH0pOwoKICAgIGFkZFBhcnNlVG9rZW4oWydEJywgJ0REJ10sIERBVEUpOwogICAgYWRkUGFyc2VUb2tlbignRG8nLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgYXJyYXlbREFURV0gPSB0b0ludChpbnB1dC5tYXRjaChtYXRjaDF0bzIpWzBdLCAxMCk7CiAgICB9KTsKCiAgICAvLyBNT01FTlRTCgogICAgdmFyIGdldFNldERheU9mTW9udGggPSBtYWtlR2V0U2V0KCdEYXRlJywgdHJ1ZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2QnLCAwLCAnZG8nLCAnZGF5Jyk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkgewogICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c01pbih0aGlzLCBmb3JtYXQpOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkZCcsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNTaG9ydCh0aGlzLCBmb3JtYXQpOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ2RkZGQnLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7CiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsIGZvcm1hdCk7CiAgICB9KTsKCiAgICBhZGRGb3JtYXRUb2tlbignZScsIDAsIDAsICd3ZWVrZGF5Jyk7CiAgICBhZGRGb3JtYXRUb2tlbignRScsIDAsIDAsICdpc29XZWVrZGF5Jyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnZGF5JywgJ2QnKTsKICAgIGFkZFVuaXRBbGlhcygnd2Vla2RheScsICdlJyk7CiAgICBhZGRVbml0QWxpYXMoJ2lzb1dlZWtkYXknLCAnRScpOwoKICAgIC8vIFBBUlNJTkcKCiAgICBhZGRSZWdleFRva2VuKCdkJywgICAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2UnLCAgICBtYXRjaDF0bzIpOwogICAgYWRkUmVnZXhUb2tlbignRScsICAgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdkZCcsICAgbWF0Y2hXb3JkKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2RkZCcsICBtYXRjaFdvcmQpOwogICAgYWRkUmVnZXhUb2tlbignZGRkZCcsIG1hdGNoV29yZCk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydkZCcsICdkZGQnLCAnZGRkZCddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZykgewogICAgICAgIHZhciB3ZWVrZGF5ID0gY29uZmlnLl9sb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCk7CiAgICAgICAgLy8gaWYgd2UgZGlkbid0IGdldCBhIHdlZWtkYXkgbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkCiAgICAgICAgaWYgKHdlZWtkYXkgIT0gbnVsbCkgewogICAgICAgICAgICB3ZWVrLmQgPSB3ZWVrZGF5OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmludmFsaWRXZWVrZGF5ID0gaW5wdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgYWRkV2Vla1BhcnNlVG9rZW4oWydkJywgJ2UnLCAnRSddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHsKICAgICAgICB3ZWVrW3Rva2VuXSA9IHRvSW50KGlucHV0KTsKICAgIH0pOwoKICAgIC8vIEhFTFBFUlMKCiAgICBmdW5jdGlvbiBwYXJzZVdlZWtkYXkoaW5wdXQsIGxvY2FsZSkgewogICAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIHJldHVybiBpbnB1dDsKICAgICAgICB9CgogICAgICAgIGlmICghaXNOYU4oaW5wdXQpKSB7CiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChpbnB1dCwgMTApOwogICAgICAgIH0KCiAgICAgICAgaW5wdXQgPSBsb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCk7CiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgcmV0dXJuIGlucHV0OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgLy8gTE9DQUxFUwoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXMgPSAnU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXknLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5cyAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1ttLmRheSgpXTsKICAgIH0KCiAgICB2YXIgZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQgPSAnU3VuX01vbl9UdWVfV2VkX1RodV9GcmlfU2F0Jy5zcGxpdCgnXycpOwogICAgZnVuY3Rpb24gbG9jYWxlV2Vla2RheXNTaG9ydCAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0W20uZGF5KCldOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXNNaW4gPSAnU3VfTW9fVHVfV2VfVGhfRnJfU2EnLnNwbGl0KCdfJyk7CiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5c01pbiAobSkgewogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblttLmRheSgpXTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbGVXZWVrZGF5c1BhcnNlICh3ZWVrZGF5TmFtZSkgewogICAgICAgIHZhciBpLCBtb20sIHJlZ2V4OwoKICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlID0gdGhpcy5fd2Vla2RheXNQYXJzZSB8fCBbXTsKCiAgICAgICAgZm9yIChpID0gMDsgaSA8IDc7IGkrKykgewogICAgICAgICAgICAvLyBtYWtlIHRoZSByZWdleCBpZiB3ZSBkb24ndCBoYXZlIGl0IGFscmVhZHkKICAgICAgICAgICAgaWYgKCF0aGlzLl93ZWVrZGF5c1BhcnNlW2ldKSB7CiAgICAgICAgICAgICAgICBtb20gPSBsb2NhbF9fY3JlYXRlTG9jYWwoWzIwMDAsIDFdKS5kYXkoaSk7CiAgICAgICAgICAgICAgICByZWdleCA9ICdeJyArIHRoaXMud2Vla2RheXMobW9tLCAnJykgKyAnfF4nICsgdGhpcy53ZWVrZGF5c1Nob3J0KG1vbSwgJycpICsgJ3xeJyArIHRoaXMud2Vla2RheXNNaW4obW9tLCAnJyk7CiAgICAgICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlW2ldID0gbmV3IFJlZ0V4cChyZWdleC5yZXBsYWNlKCcuJywgJycpLCAnaScpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIHRlc3QgdGhlIHJlZ2V4CiAgICAgICAgICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlW2ldLnRlc3Qod2Vla2RheU5hbWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0U2V0RGF5T2ZXZWVrIChpbnB1dCkgewogICAgICAgIHZhciBkYXkgPSB0aGlzLl9pc1VUQyA/IHRoaXMuX2QuZ2V0VVRDRGF5KCkgOiB0aGlzLl9kLmdldERheSgpOwogICAgICAgIGlmIChpbnB1dCAhPSBudWxsKSB7CiAgICAgICAgICAgIGlucHV0ID0gcGFyc2VXZWVrZGF5KGlucHV0LCB0aGlzLmxvY2FsZURhdGEoKSk7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmFkZChpbnB1dCAtIGRheSwgJ2QnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gZGF5OwogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBnZXRTZXRMb2NhbGVEYXlPZldlZWsgKGlucHV0KSB7CiAgICAgICAgdmFyIHdlZWtkYXkgPSAodGhpcy5kYXkoKSArIDcgLSB0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3cpICUgNzsKICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHdlZWtkYXkgOiB0aGlzLmFkZChpbnB1dCAtIHdlZWtkYXksICdkJyk7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0U2V0SVNPRGF5T2ZXZWVrIChpbnB1dCkgewogICAgICAgIC8vIGJlaGF2ZXMgdGhlIHNhbWUgYXMgbW9tZW50I2RheSBleGNlcHQKICAgICAgICAvLyBhcyBhIGdldHRlciwgcmV0dXJucyA3IGluc3RlYWQgb2YgMCAoMS03IHJhbmdlIGluc3RlYWQgb2YgMC02KQogICAgICAgIC8vIGFzIGEgc2V0dGVyLCBzdW5kYXkgc2hvdWxkIGJlbG9uZyB0byB0aGUgcHJldmlvdXMgd2Vlay4KICAgICAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHRoaXMuZGF5KCkgfHwgNyA6IHRoaXMuZGF5KHRoaXMuZGF5KCkgJSA3ID8gaW5wdXQgOiBpbnB1dCAtIDcpOwogICAgfQoKICAgIGFkZEZvcm1hdFRva2VuKCdIJywgWydISCcsIDJdLCAwLCAnaG91cicpOwogICAgYWRkRm9ybWF0VG9rZW4oJ2gnLCBbJ2hoJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5ob3VycygpICUgMTIgfHwgMTI7CiAgICB9KTsKCiAgICBmdW5jdGlvbiBtZXJpZGllbSAodG9rZW4sIGxvd2VyY2FzZSkgewogICAgICAgIGFkZEZvcm1hdFRva2VuKHRva2VuLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tZXJpZGllbSh0aGlzLmhvdXJzKCksIHRoaXMubWludXRlcygpLCBsb3dlcmNhc2UpOwogICAgICAgIH0pOwogICAgfQoKICAgIG1lcmlkaWVtKCdhJywgdHJ1ZSk7CiAgICBtZXJpZGllbSgnQScsIGZhbHNlKTsKCiAgICAvLyBBTElBU0VTCgogICAgYWRkVW5pdEFsaWFzKCdob3VyJywgJ2gnKTsKCiAgICAvLyBQQVJTSU5HCgogICAgZnVuY3Rpb24gbWF0Y2hNZXJpZGllbSAoaXNTdHJpY3QsIGxvY2FsZSkgewogICAgICAgIHJldHVybiBsb2NhbGUuX21lcmlkaWVtUGFyc2U7CiAgICB9CgogICAgYWRkUmVnZXhUb2tlbignYScsICBtYXRjaE1lcmlkaWVtKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ0EnLCAgbWF0Y2hNZXJpZGllbSk7CiAgICBhZGRSZWdleFRva2VuKCdIJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdoJywgIG1hdGNoMXRvMik7CiAgICBhZGRSZWdleFRva2VuKCdISCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ2hoJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKICAgIGFkZFBhcnNlVG9rZW4oWydIJywgJ0hIJ10sIEhPVVIpOwogICAgYWRkUGFyc2VUb2tlbihbJ2EnLCAnQSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHsKICAgICAgICBjb25maWcuX2lzUG0gPSBjb25maWcuX2xvY2FsZS5pc1BNKGlucHV0KTsKICAgICAgICBjb25maWcuX21lcmlkaWVtID0gaW5wdXQ7CiAgICB9KTsKICAgIGFkZFBhcnNlVG9rZW4oWydoJywgJ2hoJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQpOwogICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPSB0cnVlOwogICAgfSk7CgogICAgLy8gTE9DQUxFUwoKICAgIGZ1bmN0aW9uIGxvY2FsZUlzUE0gKGlucHV0KSB7CiAgICAgICAgLy8gSUU4IFF1aXJrcyBNb2RlICYgSUU3IFN0YW5kYXJkcyBNb2RlIGRvIG5vdCBhbGxvdyBhY2Nlc3Npbmcgc3RyaW5ncyBsaWtlIGFycmF5cwogICAgICAgIC8vIFVzaW5nIGNoYXJBdCBzaG91bGQgYmUgbW9yZSBjb21wYXRpYmxlLgogICAgICAgIHJldHVybiAoKGlucHV0ICsgJycpLnRvTG93ZXJDYXNlKCkuY2hhckF0KDApID09PSAncCcpOwogICAgfQoKICAgIHZhciBkZWZhdWx0TG9jYWxlTWVyaWRpZW1QYXJzZSA9IC9bYXBdXC4/bT9cLj8vaTsKICAgIGZ1bmN0aW9uIGxvY2FsZU1lcmlkaWVtIChob3VycywgbWludXRlcywgaXNMb3dlcikgewogICAgICAgIGlmIChob3VycyA+IDExKSB7CiAgICAgICAgICAgIHJldHVybiBpc0xvd2VyID8gJ3BtJyA6ICdQTSc7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGlzTG93ZXIgPyAnYW0nIDogJ0FNJzsKICAgICAgICB9CiAgICB9CgoKICAgIC8vIE1PTUVOVFMKCiAgICAvLyBTZXR0aW5nIHRoZSBob3VyIHNob3VsZCBrZWVwIHRoZSB0aW1lLCBiZWNhdXNlIHRoZSB1c2VyIGV4cGxpY2l0bHkKICAgIC8vIHNwZWNpZmllZCB3aGljaCBob3VyIGhlIHdhbnRzLiBTbyB0cnlpbmcgdG8gbWFpbnRhaW4gdGhlIHNhbWUgaG91ciAoaW4KICAgIC8vIGEgbmV3IHRpbWV6b25lKSBtYWtlcyBzZW5zZS4gQWRkaW5nL3N1YnRyYWN0aW5nIGhvdXJzIGRvZXMgbm90IGZvbGxvdwogICAgLy8gdGhpcyBydWxlLgogICAgdmFyIGdldFNldEhvdXIgPSBtYWtlR2V0U2V0KCdIb3VycycsIHRydWUpOwoKICAgIGFkZEZvcm1hdFRva2VuKCdtJywgWydtbScsIDJdLCAwLCAnbWludXRlJyk7CgogICAgLy8gQUxJQVNFUwoKICAgIGFkZFVuaXRBbGlhcygnbWludXRlJywgJ20nKTsKCiAgICAvLyBQQVJTSU5HCgogICAgYWRkUmVnZXhUb2tlbignbScsICBtYXRjaDF0bzIpOwogICAgYWRkUmVnZXhUb2tlbignbW0nLCBtYXRjaDF0bzIsIG1hdGNoMik7CiAgICBhZGRQYXJzZVRva2VuKFsnbScsICdtbSddLCBNSU5VVEUpOwoKICAgIC8vIE1PTUVOVFMKCiAgICB2YXIgZ2V0U2V0TWludXRlID0gbWFrZUdldFNldCgnTWludXRlcycsIGZhbHNlKTsKCiAgICBhZGRGb3JtYXRUb2tlbigncycsIFsnc3MnLCAyXSwgMCwgJ3NlY29uZCcpOwoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ3NlY29uZCcsICdzJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ3MnLCAgbWF0Y2gxdG8yKTsKICAgIGFkZFJlZ2V4VG9rZW4oJ3NzJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwogICAgYWRkUGFyc2VUb2tlbihbJ3MnLCAnc3MnXSwgU0VDT05EKTsKCiAgICAvLyBNT01FTlRTCgogICAgdmFyIGdldFNldFNlY29uZCA9IG1ha2VHZXRTZXQoJ1NlY29uZHMnLCBmYWxzZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ1MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIH5+KHRoaXMubWlsbGlzZWNvbmQoKSAvIDEwMCk7CiAgICB9KTsKCiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gfn4odGhpcy5taWxsaXNlY29uZCgpIC8gMTApOwogICAgfSk7CgogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1MnLCAzXSwgMCwgJ21pbGxpc2Vjb25kJyk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1MnLCA0XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTUycsIDVdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1MnLCA2XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwOwogICAgfSk7CiAgICBhZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1MnLCA3XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1NTUycsIDhdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubWlsbGlzZWNvbmQoKSAqIDEwMDAwMDsKICAgIH0pOwogICAgYWRkRm9ybWF0VG9rZW4oMCwgWydTU1NTU1NTU1MnLCA5XSwgMCwgZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDAwOwogICAgfSk7CgoKICAgIC8vIEFMSUFTRVMKCiAgICBhZGRVbml0QWxpYXMoJ21pbGxpc2Vjb25kJywgJ21zJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ1MnLCAgICBtYXRjaDF0bzMsIG1hdGNoMSk7CiAgICBhZGRSZWdleFRva2VuKCdTUycsICAgbWF0Y2gxdG8zLCBtYXRjaDIpOwogICAgYWRkUmVnZXhUb2tlbignU1NTJywgIG1hdGNoMXRvMywgbWF0Y2gzKTsKCiAgICB2YXIgdG9rZW47CiAgICBmb3IgKHRva2VuID0gJ1NTU1MnOyB0b2tlbi5sZW5ndGggPD0gOTsgdG9rZW4gKz0gJ1MnKSB7CiAgICAgICAgYWRkUmVnZXhUb2tlbih0b2tlbiwgbWF0Y2hVbnNpZ25lZCk7CiAgICB9CgogICAgZnVuY3Rpb24gcGFyc2VNcyhpbnB1dCwgYXJyYXkpIHsKICAgICAgICBhcnJheVtNSUxMSVNFQ09ORF0gPSB0b0ludCgoJzAuJyArIGlucHV0KSAqIDEwMDApOwogICAgfQoKICAgIGZvciAodG9rZW4gPSAnUyc7IHRva2VuLmxlbmd0aCA8PSA5OyB0b2tlbiArPSAnUycpIHsKICAgICAgICBhZGRQYXJzZVRva2VuKHRva2VuLCBwYXJzZU1zKTsKICAgIH0KICAgIC8vIE1PTUVOVFMKCiAgICB2YXIgZ2V0U2V0TWlsbGlzZWNvbmQgPSBtYWtlR2V0U2V0KCdNaWxsaXNlY29uZHMnLCBmYWxzZSk7CgogICAgYWRkRm9ybWF0VG9rZW4oJ3onLCAgMCwgMCwgJ3pvbmVBYmJyJyk7CiAgICBhZGRGb3JtYXRUb2tlbignenonLCAwLCAwLCAnem9uZU5hbWUnKTsKCiAgICAvLyBNT01FTlRTCgogICAgZnVuY3Rpb24gZ2V0Wm9uZUFiYnIgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdVVEMnIDogJyc7CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0Wm9uZU5hbWUgKCkgewogICAgICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZScgOiAnJzsKICAgIH0KCiAgICB2YXIgbW9tZW50UHJvdG90eXBlX19wcm90byA9IE1vbWVudC5wcm90b3R5cGU7CgogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5hZGQgICAgICAgICAgPSBhZGRfc3VidHJhY3RfX2FkZDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uY2FsZW5kYXIgICAgID0gbW9tZW50X2NhbGVuZGFyX19jYWxlbmRhcjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uY2xvbmUgICAgICAgID0gY2xvbmU7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmRpZmYgICAgICAgICA9IGRpZmY7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmVuZE9mICAgICAgICA9IGVuZE9mOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5mb3JtYXQgICAgICAgPSBmb3JtYXQ7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmZyb20gICAgICAgICA9IGZyb207CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmZyb21Ob3cgICAgICA9IGZyb21Ob3c7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvICAgICAgICAgICA9IHRvOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by50b05vdyAgICAgICAgPSB0b05vdzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZ2V0ICAgICAgICAgID0gZ2V0U2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pbnZhbGlkQXQgICAgPSBpbnZhbGlkQXQ7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzQWZ0ZXIgICAgICA9IGlzQWZ0ZXI7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzQmVmb3JlICAgICA9IGlzQmVmb3JlOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0JldHdlZW4gICAgPSBpc0JldHdlZW47CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzU2FtZSAgICAgICA9IGlzU2FtZTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNWYWxpZCAgICAgID0gbW9tZW50X3ZhbGlkX19pc1ZhbGlkOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5sYW5nICAgICAgICAgPSBsYW5nOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5sb2NhbGUgICAgICAgPSBsb2NhbGU7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmxvY2FsZURhdGEgICA9IGxvY2FsZURhdGE7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLm1heCAgICAgICAgICA9IHByb3RvdHlwZU1heDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWluICAgICAgICAgID0gcHJvdG90eXBlTWluOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5wYXJzaW5nRmxhZ3MgPSBwYXJzaW5nRmxhZ3M7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnNldCAgICAgICAgICA9IGdldFNldDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uc3RhcnRPZiAgICAgID0gc3RhcnRPZjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uc3VidHJhY3QgICAgID0gYWRkX3N1YnRyYWN0X19zdWJ0cmFjdDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9BcnJheSAgICAgID0gdG9BcnJheTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9PYmplY3QgICAgID0gdG9PYmplY3Q7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvRGF0ZSAgICAgICA9IHRvRGF0ZTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udG9JU09TdHJpbmcgID0gbW9tZW50X2Zvcm1hdF9fdG9JU09TdHJpbmc7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnRvSlNPTiAgICAgICA9IG1vbWVudF9mb3JtYXRfX3RvSVNPU3RyaW5nOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by50b1N0cmluZyAgICAgPSB0b1N0cmluZzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udW5peCAgICAgICAgID0gdW5peDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udmFsdWVPZiAgICAgID0gdG9fdHlwZV9fdmFsdWVPZjsKCiAgICAvLyBZZWFyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnllYXIgICAgICAgPSBnZXRTZXRZZWFyOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0xlYXBZZWFyID0gZ2V0SXNMZWFwWWVhcjsKCiAgICAvLyBXZWVrIFllYXIKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2Vla1llYXIgICAgPSBnZXRTZXRXZWVrWWVhcjsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNvV2Vla1llYXIgPSBnZXRTZXRJU09XZWVrWWVhcjsKCiAgICAvLyBRdWFydGVyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnF1YXJ0ZXIgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnF1YXJ0ZXJzID0gZ2V0U2V0UXVhcnRlcjsKCiAgICAvLyBNb250aAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5tb250aCAgICAgICA9IGdldFNldE1vbnRoOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5kYXlzSW5Nb250aCA9IGdldERheXNJbk1vbnRoOwoKICAgIC8vIFdlZWsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2VlayAgICAgICAgICAgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLndlZWtzICAgICAgICA9IGdldFNldFdlZWs7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmlzb1dlZWsgICAgICAgID0gbW9tZW50UHJvdG90eXBlX19wcm90by5pc29XZWVrcyAgICAgPSBnZXRTZXRJU09XZWVrOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by53ZWVrc0luWWVhciAgICA9IGdldFdlZWtzSW5ZZWFyOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc29XZWVrc0luWWVhciA9IGdldElTT1dlZWtzSW5ZZWFyOwoKICAgIC8vIERheQogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5kYXRlICAgICAgID0gZ2V0U2V0RGF5T2ZNb250aDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5ICAgICAgICA9IG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5cyAgICAgICAgICAgICA9IGdldFNldERheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ud2Vla2RheSAgICA9IGdldFNldExvY2FsZURheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNvV2Vla2RheSA9IGdldFNldElTT0RheU9mV2VlazsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uZGF5T2ZZZWFyICA9IGdldFNldERheU9mWWVhcjsKCiAgICAvLyBIb3VyCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmhvdXIgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmhvdXJzID0gZ2V0U2V0SG91cjsKCiAgICAvLyBNaW51dGUKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWludXRlID0gbW9tZW50UHJvdG90eXBlX19wcm90by5taW51dGVzID0gZ2V0U2V0TWludXRlOwoKICAgIC8vIFNlY29uZAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5zZWNvbmQgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnNlY29uZHMgPSBnZXRTZXRTZWNvbmQ7CgogICAgLy8gTWlsbGlzZWNvbmQKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubWlsbGlzZWNvbmQgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvLm1pbGxpc2Vjb25kcyA9IGdldFNldE1pbGxpc2Vjb25kOwoKICAgIC8vIE9mZnNldAogICAgbW9tZW50UHJvdG90eXBlX19wcm90by51dGNPZmZzZXQgICAgICAgICAgICA9IGdldFNldE9mZnNldDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8udXRjICAgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb1VUQzsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubG9jYWwgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb0xvY2FsOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5wYXJzZVpvbmUgICAgICAgICAgICA9IHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5oYXNBbGlnbmVkSG91ck9mZnNldCA9IGhhc0FsaWduZWRIb3VyT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0RTVCAgICAgICAgICAgICAgICA9IGlzRGF5bGlnaHRTYXZpbmdUaW1lOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc0RTVFNoaWZ0ZWQgICAgICAgICA9IGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZDsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8uaXNMb2NhbCAgICAgICAgICAgICAgPSBpc0xvY2FsOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1V0Y09mZnNldCAgICAgICAgICA9IGlzVXRjT2Zmc2V0OwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1V0YyAgICAgICAgICAgICAgICA9IGlzVXRjOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by5pc1VUQyAgICAgICAgICAgICAgICA9IGlzVXRjOwoKICAgIC8vIFRpbWV6b25lCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnpvbmVBYmJyID0gZ2V0Wm9uZUFiYnI7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnpvbmVOYW1lID0gZ2V0Wm9uZU5hbWU7CgogICAgLy8gRGVwcmVjYXRpb25zCiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLmRhdGVzICA9IGRlcHJlY2F0ZSgnZGF0ZXMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIGRhdGUgaW5zdGVhZC4nLCBnZXRTZXREYXlPZk1vbnRoKTsKICAgIG1vbWVudFByb3RvdHlwZV9fcHJvdG8ubW9udGhzID0gZGVwcmVjYXRlKCdtb250aHMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbnRoIGluc3RlYWQnLCBnZXRTZXRNb250aCk7CiAgICBtb21lbnRQcm90b3R5cGVfX3Byb3RvLnllYXJzICA9IGRlcHJlY2F0ZSgneWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCcsIGdldFNldFllYXIpOwogICAgbW9tZW50UHJvdG90eXBlX19wcm90by56b25lICAgPSBkZXByZWNhdGUoJ21vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTc3OScsIGdldFNldFpvbmUpOwoKICAgIHZhciBtb21lbnRQcm90b3R5cGUgPSBtb21lbnRQcm90b3R5cGVfX3Byb3RvOwoKICAgIGZ1bmN0aW9uIG1vbWVudF9fY3JlYXRlVW5peCAoaW5wdXQpIHsKICAgICAgICByZXR1cm4gbG9jYWxfX2NyZWF0ZUxvY2FsKGlucHV0ICogMTAwMCk7CiAgICB9CgogICAgZnVuY3Rpb24gbW9tZW50X19jcmVhdGVJblpvbmUgKCkgewogICAgICAgIHJldHVybiBsb2NhbF9fY3JlYXRlTG9jYWwuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5wYXJzZVpvbmUoKTsKICAgIH0KCiAgICB2YXIgZGVmYXVsdENhbGVuZGFyID0gewogICAgICAgIHNhbWVEYXkgOiAnW1RvZGF5IGF0XSBMVCcsCiAgICAgICAgbmV4dERheSA6ICdbVG9tb3Jyb3cgYXRdIExUJywKICAgICAgICBuZXh0V2VlayA6ICdkZGRkIFthdF0gTFQnLAogICAgICAgIGxhc3REYXkgOiAnW1llc3RlcmRheSBhdF0gTFQnLAogICAgICAgIGxhc3RXZWVrIDogJ1tMYXN0XSBkZGRkIFthdF0gTFQnLAogICAgICAgIHNhbWVFbHNlIDogJ0wnCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvY2FsZV9jYWxlbmRhcl9fY2FsZW5kYXIgKGtleSwgbW9tLCBub3cpIHsKICAgICAgICB2YXIgb3V0cHV0ID0gdGhpcy5fY2FsZW5kYXJba2V5XTsKICAgICAgICByZXR1cm4gdHlwZW9mIG91dHB1dCA9PT0gJ2Z1bmN0aW9uJyA/IG91dHB1dC5jYWxsKG1vbSwgbm93KSA6IG91dHB1dDsKICAgIH0KCiAgICB2YXIgZGVmYXVsdExvbmdEYXRlRm9ybWF0ID0gewogICAgICAgIExUUyAgOiAnaDptbTpzcyBBJywKICAgICAgICBMVCAgIDogJ2g6bW0gQScsCiAgICAgICAgTCAgICA6ICdNTS9ERC9ZWVlZJywKICAgICAgICBMTCAgIDogJ01NTU0gRCwgWVlZWScsCiAgICAgICAgTExMICA6ICdNTU1NIEQsIFlZWVkgaDptbSBBJywKICAgICAgICBMTExMIDogJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEnCiAgICB9OwoKICAgIGZ1bmN0aW9uIGxvbmdEYXRlRm9ybWF0IChrZXkpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSwKICAgICAgICAgICAgZm9ybWF0VXBwZXIgPSB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXkudG9VcHBlckNhc2UoKV07CgogICAgICAgIGlmIChmb3JtYXQgfHwgIWZvcm1hdFVwcGVyKSB7CiAgICAgICAgICAgIHJldHVybiBmb3JtYXQ7CiAgICAgICAgfQoKICAgICAgICB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXldID0gZm9ybWF0VXBwZXIucmVwbGFjZSgvTU1NTXxNTXxERHxkZGRkL2csIGZ1bmN0aW9uICh2YWwpIHsKICAgICAgICAgICAgcmV0dXJuIHZhbC5zbGljZSgxKTsKICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleV07CiAgICB9CgogICAgdmFyIGRlZmF1bHRJbnZhbGlkRGF0ZSA9ICdJbnZhbGlkIGRhdGUnOwoKICAgIGZ1bmN0aW9uIGludmFsaWREYXRlICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5faW52YWxpZERhdGU7CiAgICB9CgogICAgdmFyIGRlZmF1bHRPcmRpbmFsID0gJyVkJzsKICAgIHZhciBkZWZhdWx0T3JkaW5hbFBhcnNlID0gL1xkezEsMn0vOwoKICAgIGZ1bmN0aW9uIG9yZGluYWwgKG51bWJlcikgewogICAgICAgIHJldHVybiB0aGlzLl9vcmRpbmFsLnJlcGxhY2UoJyVkJywgbnVtYmVyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwcmVQYXJzZVBvc3RGb3JtYXQgKHN0cmluZykgewogICAgICAgIHJldHVybiBzdHJpbmc7CiAgICB9CgogICAgdmFyIGRlZmF1bHRSZWxhdGl2ZVRpbWUgPSB7CiAgICAgICAgZnV0dXJlIDogJ2luICVzJywKICAgICAgICBwYXN0ICAgOiAnJXMgYWdvJywKICAgICAgICBzICA6ICdhIGZldyBzZWNvbmRzJywKICAgICAgICBtICA6ICdhIG1pbnV0ZScsCiAgICAgICAgbW0gOiAnJWQgbWludXRlcycsCiAgICAgICAgaCAgOiAnYW4gaG91cicsCiAgICAgICAgaGggOiAnJWQgaG91cnMnLAogICAgICAgIGQgIDogJ2EgZGF5JywKICAgICAgICBkZCA6ICclZCBkYXlzJywKICAgICAgICBNICA6ICdhIG1vbnRoJywKICAgICAgICBNTSA6ICclZCBtb250aHMnLAogICAgICAgIHkgIDogJ2EgeWVhcicsCiAgICAgICAgeXkgOiAnJWQgeWVhcnMnCiAgICB9OwoKICAgIGZ1bmN0aW9uIHJlbGF0aXZlX19yZWxhdGl2ZVRpbWUgKG51bWJlciwgd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSkgewogICAgICAgIHZhciBvdXRwdXQgPSB0aGlzLl9yZWxhdGl2ZVRpbWVbc3RyaW5nXTsKICAgICAgICByZXR1cm4gKHR5cGVvZiBvdXRwdXQgPT09ICdmdW5jdGlvbicpID8KICAgICAgICAgICAgb3V0cHV0KG51bWJlciwgd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSkgOgogICAgICAgICAgICBvdXRwdXQucmVwbGFjZSgvJWQvaSwgbnVtYmVyKTsKICAgIH0KCiAgICBmdW5jdGlvbiBwYXN0RnV0dXJlIChkaWZmLCBvdXRwdXQpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gdGhpcy5fcmVsYXRpdmVUaW1lW2RpZmYgPiAwID8gJ2Z1dHVyZScgOiAncGFzdCddOwogICAgICAgIHJldHVybiB0eXBlb2YgZm9ybWF0ID09PSAnZnVuY3Rpb24nID8gZm9ybWF0KG91dHB1dCkgOiBmb3JtYXQucmVwbGFjZSgvJXMvaSwgb3V0cHV0KTsKICAgIH0KCiAgICBmdW5jdGlvbiBsb2NhbGVfc2V0X19zZXQgKGNvbmZpZykgewogICAgICAgIHZhciBwcm9wLCBpOwogICAgICAgIGZvciAoaSBpbiBjb25maWcpIHsKICAgICAgICAgICAgcHJvcCA9IGNvbmZpZ1tpXTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICB0aGlzW2ldID0gcHJvcDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXNbJ18nICsgaV0gPSBwcm9wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIExlbmllbnQgb3JkaW5hbCBwYXJzaW5nIGFjY2VwdHMganVzdCBhIG51bWJlciBpbiBhZGRpdGlvbiB0bwogICAgICAgIC8vIG51bWJlciArIChwb3NzaWJseSkgc3R1ZmYgY29taW5nIGZyb20gX29yZGluYWxQYXJzZUxlbmllbnQuCiAgICAgICAgdGhpcy5fb3JkaW5hbFBhcnNlTGVuaWVudCA9IG5ldyBSZWdFeHAodGhpcy5fb3JkaW5hbFBhcnNlLnNvdXJjZSArICd8JyArICgvXGR7MSwyfS8pLnNvdXJjZSk7CiAgICB9CgogICAgdmFyIHByb3RvdHlwZV9fcHJvdG8gPSBMb2NhbGUucHJvdG90eXBlOwoKICAgIHByb3RvdHlwZV9fcHJvdG8uX2NhbGVuZGFyICAgICAgID0gZGVmYXVsdENhbGVuZGFyOwogICAgcHJvdG90eXBlX19wcm90by5jYWxlbmRhciAgICAgICAgPSBsb2NhbGVfY2FsZW5kYXJfX2NhbGVuZGFyOwogICAgcHJvdG90eXBlX19wcm90by5fbG9uZ0RhdGVGb3JtYXQgPSBkZWZhdWx0TG9uZ0RhdGVGb3JtYXQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLmxvbmdEYXRlRm9ybWF0ICA9IGxvbmdEYXRlRm9ybWF0OwogICAgcHJvdG90eXBlX19wcm90by5faW52YWxpZERhdGUgICAgPSBkZWZhdWx0SW52YWxpZERhdGU7CiAgICBwcm90b3R5cGVfX3Byb3RvLmludmFsaWREYXRlICAgICA9IGludmFsaWREYXRlOwogICAgcHJvdG90eXBlX19wcm90by5fb3JkaW5hbCAgICAgICAgPSBkZWZhdWx0T3JkaW5hbDsKICAgIHByb3RvdHlwZV9fcHJvdG8ub3JkaW5hbCAgICAgICAgID0gb3JkaW5hbDsKICAgIHByb3RvdHlwZV9fcHJvdG8uX29yZGluYWxQYXJzZSAgID0gZGVmYXVsdE9yZGluYWxQYXJzZTsKICAgIHByb3RvdHlwZV9fcHJvdG8ucHJlcGFyc2UgICAgICAgID0gcHJlUGFyc2VQb3N0Rm9ybWF0OwogICAgcHJvdG90eXBlX19wcm90by5wb3N0Zm9ybWF0ICAgICAgPSBwcmVQYXJzZVBvc3RGb3JtYXQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl9yZWxhdGl2ZVRpbWUgICA9IGRlZmF1bHRSZWxhdGl2ZVRpbWU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnJlbGF0aXZlVGltZSAgICA9IHJlbGF0aXZlX19yZWxhdGl2ZVRpbWU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnBhc3RGdXR1cmUgICAgICA9IHBhc3RGdXR1cmU7CiAgICBwcm90b3R5cGVfX3Byb3RvLnNldCAgICAgICAgICAgICA9IGxvY2FsZV9zZXRfX3NldDsKCiAgICAvLyBNb250aAogICAgcHJvdG90eXBlX19wcm90by5tb250aHMgICAgICAgPSAgICAgICAgbG9jYWxlTW9udGhzOwogICAgcHJvdG90eXBlX19wcm90by5fbW9udGhzICAgICAgPSBkZWZhdWx0TG9jYWxlTW9udGhzOwogICAgcHJvdG90eXBlX19wcm90by5tb250aHNTaG9ydCAgPSAgICAgICAgbG9jYWxlTW9udGhzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl9tb250aHNTaG9ydCA9IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydDsKICAgIHByb3RvdHlwZV9fcHJvdG8ubW9udGhzUGFyc2UgID0gICAgICAgIGxvY2FsZU1vbnRoc1BhcnNlOwoKICAgIC8vIFdlZWsKICAgIHByb3RvdHlwZV9fcHJvdG8ud2VlayA9IGxvY2FsZVdlZWs7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrID0gZGVmYXVsdExvY2FsZVdlZWs7CiAgICBwcm90b3R5cGVfX3Byb3RvLmZpcnN0RGF5T2ZZZWFyID0gbG9jYWxlRmlyc3REYXlPZlllYXI7CiAgICBwcm90b3R5cGVfX3Byb3RvLmZpcnN0RGF5T2ZXZWVrID0gbG9jYWxlRmlyc3REYXlPZldlZWs7CgogICAgLy8gRGF5IG9mIFdlZWsKICAgIHByb3RvdHlwZV9fcHJvdG8ud2Vla2RheXMgICAgICAgPSAgICAgICAgbG9jYWxlV2Vla2RheXM7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrZGF5cyAgICAgID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzOwogICAgcHJvdG90eXBlX19wcm90by53ZWVrZGF5c01pbiAgICA9ICAgICAgICBsb2NhbGVXZWVrZGF5c01pbjsKICAgIHByb3RvdHlwZV9fcHJvdG8uX3dlZWtkYXlzTWluICAgPSBkZWZhdWx0TG9jYWxlV2Vla2RheXNNaW47CiAgICBwcm90b3R5cGVfX3Byb3RvLndlZWtkYXlzU2hvcnQgID0gICAgICAgIGxvY2FsZVdlZWtkYXlzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLl93ZWVrZGF5c1Nob3J0ID0gZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQ7CiAgICBwcm90b3R5cGVfX3Byb3RvLndlZWtkYXlzUGFyc2UgID0gICAgICAgIGxvY2FsZVdlZWtkYXlzUGFyc2U7CgogICAgLy8gSG91cnMKICAgIHByb3RvdHlwZV9fcHJvdG8uaXNQTSA9IGxvY2FsZUlzUE07CiAgICBwcm90b3R5cGVfX3Byb3RvLl9tZXJpZGllbVBhcnNlID0gZGVmYXVsdExvY2FsZU1lcmlkaWVtUGFyc2U7CiAgICBwcm90b3R5cGVfX3Byb3RvLm1lcmlkaWVtID0gbG9jYWxlTWVyaWRpZW07CgogICAgZnVuY3Rpb24gbGlzdHNfX2dldCAoZm9ybWF0LCBpbmRleCwgZmllbGQsIHNldHRlcikgewogICAgICAgIHZhciBsb2NhbGUgPSBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKCk7CiAgICAgICAgdmFyIHV0YyA9IGNyZWF0ZV91dGNfX2NyZWF0ZVVUQygpLnNldChzZXR0ZXIsIGluZGV4KTsKICAgICAgICByZXR1cm4gbG9jYWxlW2ZpZWxkXSh1dGMsIGZvcm1hdCk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdCAoZm9ybWF0LCBpbmRleCwgZmllbGQsIGNvdW50LCBzZXR0ZXIpIHsKICAgICAgICBpZiAodHlwZW9mIGZvcm1hdCA9PT0gJ251bWJlcicpIHsKICAgICAgICAgICAgaW5kZXggPSBmb3JtYXQ7CiAgICAgICAgICAgIGZvcm1hdCA9IHVuZGVmaW5lZDsKICAgICAgICB9CgogICAgICAgIGZvcm1hdCA9IGZvcm1hdCB8fCAnJzsKCiAgICAgICAgaWYgKGluZGV4ICE9IG51bGwpIHsKICAgICAgICAgICAgcmV0dXJuIGxpc3RzX19nZXQoZm9ybWF0LCBpbmRleCwgZmllbGQsIHNldHRlcik7CiAgICAgICAgfQoKICAgICAgICB2YXIgaTsKICAgICAgICB2YXIgb3V0ID0gW107CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgICAgb3V0W2ldID0gbGlzdHNfX2dldChmb3JtYXQsIGksIGZpZWxkLCBzZXR0ZXIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gb3V0OwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3RzX19saXN0TW9udGhzIChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ21vbnRocycsIDEyLCAnbW9udGgnKTsKICAgIH0KCiAgICBmdW5jdGlvbiBsaXN0c19fbGlzdE1vbnRoc1Nob3J0IChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ21vbnRoc1Nob3J0JywgMTIsICdtb250aCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGxpc3RzX19saXN0V2Vla2RheXMgKGZvcm1hdCwgaW5kZXgpIHsKICAgICAgICByZXR1cm4gbGlzdChmb3JtYXQsIGluZGV4LCAnd2Vla2RheXMnLCA3LCAnZGF5Jyk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdHNfX2xpc3RXZWVrZGF5c1Nob3J0IChmb3JtYXQsIGluZGV4KSB7CiAgICAgICAgcmV0dXJuIGxpc3QoZm9ybWF0LCBpbmRleCwgJ3dlZWtkYXlzU2hvcnQnLCA3LCAnZGF5Jyk7CiAgICB9CgogICAgZnVuY3Rpb24gbGlzdHNfX2xpc3RXZWVrZGF5c01pbiAoZm9ybWF0LCBpbmRleCkgewogICAgICAgIHJldHVybiBsaXN0KGZvcm1hdCwgaW5kZXgsICd3ZWVrZGF5c01pbicsIDcsICdkYXknKTsKICAgIH0KCiAgICBsb2NhbGVfbG9jYWxlc19fZ2V0U2V0R2xvYmFsTG9jYWxlKCdlbicsIHsKICAgICAgICBvcmRpbmFsUGFyc2U6IC9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sCiAgICAgICAgb3JkaW5hbCA6IGZ1bmN0aW9uIChudW1iZXIpIHsKICAgICAgICAgICAgdmFyIGIgPSBudW1iZXIgJSAxMCwKICAgICAgICAgICAgICAgIG91dHB1dCA9ICh0b0ludChudW1iZXIgJSAxMDAgLyAxMCkgPT09IDEpID8gJ3RoJyA6CiAgICAgICAgICAgICAgICAoYiA9PT0gMSkgPyAnc3QnIDoKICAgICAgICAgICAgICAgIChiID09PSAyKSA/ICduZCcgOgogICAgICAgICAgICAgICAgKGIgPT09IDMpID8gJ3JkJyA6ICd0aCc7CiAgICAgICAgICAgIHJldHVybiBudW1iZXIgKyBvdXRwdXQ7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gU2lkZSBlZmZlY3QgaW1wb3J0cwogICAgdXRpbHNfaG9va3NfX2hvb2tzLmxhbmcgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb21lbnQubG9jYWxlIGluc3RlYWQuJywgbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZSk7CiAgICB1dGlsc19ob29rc19faG9va3MubGFuZ0RhdGEgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4nLCBsb2NhbGVfbG9jYWxlc19fZ2V0TG9jYWxlKTsKCiAgICB2YXIgbWF0aEFicyA9IE1hdGguYWJzOwoKICAgIGZ1bmN0aW9uIGR1cmF0aW9uX2Fic19fYWJzICgpIHsKICAgICAgICB2YXIgZGF0YSAgICAgICAgICAgPSB0aGlzLl9kYXRhOwoKICAgICAgICB0aGlzLl9taWxsaXNlY29uZHMgPSBtYXRoQWJzKHRoaXMuX21pbGxpc2Vjb25kcyk7CiAgICAgICAgdGhpcy5fZGF5cyAgICAgICAgID0gbWF0aEFicyh0aGlzLl9kYXlzKTsKICAgICAgICB0aGlzLl9tb250aHMgICAgICAgPSBtYXRoQWJzKHRoaXMuX21vbnRocyk7CgogICAgICAgIGRhdGEubWlsbGlzZWNvbmRzICA9IG1hdGhBYnMoZGF0YS5taWxsaXNlY29uZHMpOwogICAgICAgIGRhdGEuc2Vjb25kcyAgICAgICA9IG1hdGhBYnMoZGF0YS5zZWNvbmRzKTsKICAgICAgICBkYXRhLm1pbnV0ZXMgICAgICAgPSBtYXRoQWJzKGRhdGEubWludXRlcyk7CiAgICAgICAgZGF0YS5ob3VycyAgICAgICAgID0gbWF0aEFicyhkYXRhLmhvdXJzKTsKICAgICAgICBkYXRhLm1vbnRocyAgICAgICAgPSBtYXRoQWJzKGRhdGEubW9udGhzKTsKICAgICAgICBkYXRhLnllYXJzICAgICAgICAgPSBtYXRoQWJzKGRhdGEueWVhcnMpOwoKICAgICAgICByZXR1cm4gdGhpczsKICAgIH0KCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZFN1YnRyYWN0IChkdXJhdGlvbiwgaW5wdXQsIHZhbHVlLCBkaXJlY3Rpb24pIHsKICAgICAgICB2YXIgb3RoZXIgPSBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uKGlucHV0LCB2YWx1ZSk7CgogICAgICAgIGR1cmF0aW9uLl9taWxsaXNlY29uZHMgKz0gZGlyZWN0aW9uICogb3RoZXIuX21pbGxpc2Vjb25kczsKICAgICAgICBkdXJhdGlvbi5fZGF5cyAgICAgICAgICs9IGRpcmVjdGlvbiAqIG90aGVyLl9kYXlzOwogICAgICAgIGR1cmF0aW9uLl9tb250aHMgICAgICAgKz0gZGlyZWN0aW9uICogb3RoZXIuX21vbnRoczsKCiAgICAgICAgcmV0dXJuIGR1cmF0aW9uLl9idWJibGUoKTsKICAgIH0KCiAgICAvLyBzdXBwb3J0cyBvbmx5IDIuMC1zdHlsZSBhZGQoMSwgJ3MnKSBvciBhZGQoZHVyYXRpb24pCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZCAoaW5wdXQsIHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIGR1cmF0aW9uX2FkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgaW5wdXQsIHZhbHVlLCAxKTsKICAgIH0KCiAgICAvLyBzdXBwb3J0cyBvbmx5IDIuMC1zdHlsZSBzdWJ0cmFjdCgxLCAncycpIG9yIHN1YnRyYWN0KGR1cmF0aW9uKQogICAgZnVuY3Rpb24gZHVyYXRpb25fYWRkX3N1YnRyYWN0X19zdWJ0cmFjdCAoaW5wdXQsIHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIGR1cmF0aW9uX2FkZF9zdWJ0cmFjdF9fYWRkU3VidHJhY3QodGhpcywgaW5wdXQsIHZhbHVlLCAtMSk7CiAgICB9CgogICAgZnVuY3Rpb24gYWJzQ2VpbCAobnVtYmVyKSB7CiAgICAgICAgaWYgKG51bWJlciA8IDApIHsKICAgICAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IobnVtYmVyKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7CiAgICAgICAgfQogICAgfQoKICAgIGZ1bmN0aW9uIGJ1YmJsZSAoKSB7CiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHRoaXMuX21pbGxpc2Vjb25kczsKICAgICAgICB2YXIgZGF5cyAgICAgICAgID0gdGhpcy5fZGF5czsKICAgICAgICB2YXIgbW9udGhzICAgICAgID0gdGhpcy5fbW9udGhzOwogICAgICAgIHZhciBkYXRhICAgICAgICAgPSB0aGlzLl9kYXRhOwogICAgICAgIHZhciBzZWNvbmRzLCBtaW51dGVzLCBob3VycywgeWVhcnMsIG1vbnRoc0Zyb21EYXlzOwoKICAgICAgICAvLyBpZiB3ZSBoYXZlIGEgbWl4IG9mIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZXMsIGJ1YmJsZSBkb3duIGZpcnN0CiAgICAgICAgLy8gY2hlY2s6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb21lbnQvbW9tZW50L2lzc3Vlcy8yMTY2CiAgICAgICAgaWYgKCEoKG1pbGxpc2Vjb25kcyA+PSAwICYmIGRheXMgPj0gMCAmJiBtb250aHMgPj0gMCkgfHwKICAgICAgICAgICAgICAgIChtaWxsaXNlY29uZHMgPD0gMCAmJiBkYXlzIDw9IDAgJiYgbW9udGhzIDw9IDApKSkgewogICAgICAgICAgICBtaWxsaXNlY29uZHMgKz0gYWJzQ2VpbChtb250aHNUb0RheXMobW9udGhzKSArIGRheXMpICogODY0ZTU7CiAgICAgICAgICAgIGRheXMgPSAwOwogICAgICAgICAgICBtb250aHMgPSAwOwogICAgICAgIH0KCiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIGJ1YmJsZXMgdXAgdmFsdWVzLCBzZWUgdGhlIHRlc3RzIGZvcgogICAgICAgIC8vIGV4YW1wbGVzIG9mIHdoYXQgdGhhdCBtZWFucy4KICAgICAgICBkYXRhLm1pbGxpc2Vjb25kcyA9IG1pbGxpc2Vjb25kcyAlIDEwMDA7CgogICAgICAgIHNlY29uZHMgICAgICAgICAgID0gYWJzRmxvb3IobWlsbGlzZWNvbmRzIC8gMTAwMCk7CiAgICAgICAgZGF0YS5zZWNvbmRzICAgICAgPSBzZWNvbmRzICUgNjA7CgogICAgICAgIG1pbnV0ZXMgICAgICAgICAgID0gYWJzRmxvb3Ioc2Vjb25kcyAvIDYwKTsKICAgICAgICBkYXRhLm1pbnV0ZXMgICAgICA9IG1pbnV0ZXMgJSA2MDsKCiAgICAgICAgaG91cnMgICAgICAgICAgICAgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApOwogICAgICAgIGRhdGEuaG91cnMgICAgICAgID0gaG91cnMgJSAyNDsKCiAgICAgICAgZGF5cyArPSBhYnNGbG9vcihob3VycyAvIDI0KTsKCiAgICAgICAgLy8gY29udmVydCBkYXlzIHRvIG1vbnRocwogICAgICAgIG1vbnRoc0Zyb21EYXlzID0gYWJzRmxvb3IoZGF5c1RvTW9udGhzKGRheXMpKTsKICAgICAgICBtb250aHMgKz0gbW9udGhzRnJvbURheXM7CiAgICAgICAgZGF5cyAtPSBhYnNDZWlsKG1vbnRoc1RvRGF5cyhtb250aHNGcm9tRGF5cykpOwoKICAgICAgICAvLyAxMiBtb250aHMgLT4gMSB5ZWFyCiAgICAgICAgeWVhcnMgPSBhYnNGbG9vcihtb250aHMgLyAxMik7CiAgICAgICAgbW9udGhzICU9IDEyOwoKICAgICAgICBkYXRhLmRheXMgICA9IGRheXM7CiAgICAgICAgZGF0YS5tb250aHMgPSBtb250aHM7CiAgICAgICAgZGF0YS55ZWFycyAgPSB5ZWFyczsKCiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgZnVuY3Rpb24gZGF5c1RvTW9udGhzIChkYXlzKSB7CiAgICAgICAgLy8gNDAwIHllYXJzIGhhdmUgMTQ2MDk3IGRheXMgKHRha2luZyBpbnRvIGFjY291bnQgbGVhcCB5ZWFyIHJ1bGVzKQogICAgICAgIC8vIDQwMCB5ZWFycyBoYXZlIDEyIG1vbnRocyA9PT0gNDgwMAogICAgICAgIHJldHVybiBkYXlzICogNDgwMCAvIDE0NjA5NzsKICAgIH0KCiAgICBmdW5jdGlvbiBtb250aHNUb0RheXMgKG1vbnRocykgewogICAgICAgIC8vIHRoZSByZXZlcnNlIG9mIGRheXNUb01vbnRocwogICAgICAgIHJldHVybiBtb250aHMgKiAxNDYwOTcgLyA0ODAwOwogICAgfQoKICAgIGZ1bmN0aW9uIGFzICh1bml0cykgewogICAgICAgIHZhciBkYXlzOwogICAgICAgIHZhciBtb250aHM7CiAgICAgICAgdmFyIG1pbGxpc2Vjb25kcyA9IHRoaXMuX21pbGxpc2Vjb25kczsKCiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CgogICAgICAgIGlmICh1bml0cyA9PT0gJ21vbnRoJyB8fCB1bml0cyA9PT0gJ3llYXInKSB7CiAgICAgICAgICAgIGRheXMgICA9IHRoaXMuX2RheXMgICArIG1pbGxpc2Vjb25kcyAvIDg2NGU1OwogICAgICAgICAgICBtb250aHMgPSB0aGlzLl9tb250aHMgKyBkYXlzVG9Nb250aHMoZGF5cyk7CiAgICAgICAgICAgIHJldHVybiB1bml0cyA9PT0gJ21vbnRoJyA/IG1vbnRocyA6IG1vbnRocyAvIDEyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIGhhbmRsZSBtaWxsaXNlY29uZHMgc2VwYXJhdGVseSBiZWNhdXNlIG9mIGZsb2F0aW5nIHBvaW50IG1hdGggZXJyb3JzIChpc3N1ZSAjMTg2NykKICAgICAgICAgICAgZGF5cyA9IHRoaXMuX2RheXMgKyBNYXRoLnJvdW5kKG1vbnRoc1RvRGF5cyh0aGlzLl9tb250aHMpKTsKICAgICAgICAgICAgc3dpdGNoICh1bml0cykgewogICAgICAgICAgICAgICAgY2FzZSAnd2VlaycgICA6IHJldHVybiBkYXlzIC8gNyAgICAgKyBtaWxsaXNlY29uZHMgLyA2MDQ4ZTU7CiAgICAgICAgICAgICAgICBjYXNlICdkYXknICAgIDogcmV0dXJuIGRheXMgICAgICAgICArIG1pbGxpc2Vjb25kcyAvIDg2NGU1OwogICAgICAgICAgICAgICAgY2FzZSAnaG91cicgICA6IHJldHVybiBkYXlzICogMjQgICAgKyBtaWxsaXNlY29uZHMgLyAzNmU1OwogICAgICAgICAgICAgICAgY2FzZSAnbWludXRlJyA6IHJldHVybiBkYXlzICogMTQ0MCAgKyBtaWxsaXNlY29uZHMgLyA2ZTQ7CiAgICAgICAgICAgICAgICBjYXNlICdzZWNvbmQnIDogcmV0dXJuIGRheXMgKiA4NjQwMCArIG1pbGxpc2Vjb25kcyAvIDEwMDA7CiAgICAgICAgICAgICAgICAvLyBNYXRoLmZsb29yIHByZXZlbnRzIGZsb2F0aW5nIHBvaW50IG1hdGggZXJyb3JzIGhlcmUKICAgICAgICAgICAgICAgIGNhc2UgJ21pbGxpc2Vjb25kJzogcmV0dXJuIE1hdGguZmxvb3IoZGF5cyAqIDg2NGU1KSArIG1pbGxpc2Vjb25kczsKICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignVW5rbm93biB1bml0ICcgKyB1bml0cyk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLy8gVE9ETzogVXNlIHRoaXMuYXMoJ21zJyk/CiAgICBmdW5jdGlvbiBkdXJhdGlvbl9hc19fdmFsdWVPZiAoKSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgICAgdGhpcy5fbWlsbGlzZWNvbmRzICsKICAgICAgICAgICAgdGhpcy5fZGF5cyAqIDg2NGU1ICsKICAgICAgICAgICAgKHRoaXMuX21vbnRocyAlIDEyKSAqIDI1OTJlNiArCiAgICAgICAgICAgIHRvSW50KHRoaXMuX21vbnRocyAvIDEyKSAqIDMxNTM2ZTYKICAgICAgICApOwogICAgfQoKICAgIGZ1bmN0aW9uIG1ha2VBcyAoYWxpYXMpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5hcyhhbGlhcyk7CiAgICAgICAgfTsKICAgIH0KCiAgICB2YXIgYXNNaWxsaXNlY29uZHMgPSBtYWtlQXMoJ21zJyk7CiAgICB2YXIgYXNTZWNvbmRzICAgICAgPSBtYWtlQXMoJ3MnKTsKICAgIHZhciBhc01pbnV0ZXMgICAgICA9IG1ha2VBcygnbScpOwogICAgdmFyIGFzSG91cnMgICAgICAgID0gbWFrZUFzKCdoJyk7CiAgICB2YXIgYXNEYXlzICAgICAgICAgPSBtYWtlQXMoJ2QnKTsKICAgIHZhciBhc1dlZWtzICAgICAgICA9IG1ha2VBcygndycpOwogICAgdmFyIGFzTW9udGhzICAgICAgID0gbWFrZUFzKCdNJyk7CiAgICB2YXIgYXNZZWFycyAgICAgICAgPSBtYWtlQXMoJ3knKTsKCiAgICBmdW5jdGlvbiBkdXJhdGlvbl9nZXRfX2dldCAodW5pdHMpIHsKICAgICAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgICAgICByZXR1cm4gdGhpc1t1bml0cyArICdzJ10oKTsKICAgIH0KCiAgICBmdW5jdGlvbiBtYWtlR2V0dGVyKG5hbWUpIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVtuYW1lXTsKICAgICAgICB9OwogICAgfQoKICAgIHZhciBtaWxsaXNlY29uZHMgPSBtYWtlR2V0dGVyKCdtaWxsaXNlY29uZHMnKTsKICAgIHZhciBzZWNvbmRzICAgICAgPSBtYWtlR2V0dGVyKCdzZWNvbmRzJyk7CiAgICB2YXIgbWludXRlcyAgICAgID0gbWFrZUdldHRlcignbWludXRlcycpOwogICAgdmFyIGhvdXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ2hvdXJzJyk7CiAgICB2YXIgZGF5cyAgICAgICAgID0gbWFrZUdldHRlcignZGF5cycpOwogICAgdmFyIG1vbnRocyAgICAgICA9IG1ha2VHZXR0ZXIoJ21vbnRocycpOwogICAgdmFyIHllYXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ3llYXJzJyk7CgogICAgZnVuY3Rpb24gd2Vla3MgKCkgewogICAgICAgIHJldHVybiBhYnNGbG9vcih0aGlzLmRheXMoKSAvIDcpOwogICAgfQoKICAgIHZhciByb3VuZCA9IE1hdGgucm91bmQ7CiAgICB2YXIgdGhyZXNob2xkcyA9IHsKICAgICAgICBzOiA0NSwgIC8vIHNlY29uZHMgdG8gbWludXRlCiAgICAgICAgbTogNDUsICAvLyBtaW51dGVzIHRvIGhvdXIKICAgICAgICBoOiAyMiwgIC8vIGhvdXJzIHRvIGRheQogICAgICAgIGQ6IDI2LCAgLy8gZGF5cyB0byBtb250aAogICAgICAgIE06IDExICAgLy8gbW9udGhzIHRvIHllYXIKICAgIH07CgogICAgLy8gaGVscGVyIGZ1bmN0aW9uIGZvciBtb21lbnQuZm4uZnJvbSwgbW9tZW50LmZuLmZyb21Ob3csIGFuZCBtb21lbnQuZHVyYXRpb24uZm4uaHVtYW5pemUKICAgIGZ1bmN0aW9uIHN1YnN0aXR1dGVUaW1lQWdvKHN0cmluZywgbnVtYmVyLCB3aXRob3V0U3VmZml4LCBpc0Z1dHVyZSwgbG9jYWxlKSB7CiAgICAgICAgcmV0dXJuIGxvY2FsZS5yZWxhdGl2ZVRpbWUobnVtYmVyIHx8IDEsICEhd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSk7CiAgICB9CgogICAgZnVuY3Rpb24gZHVyYXRpb25faHVtYW5pemVfX3JlbGF0aXZlVGltZSAocG9zTmVnRHVyYXRpb24sIHdpdGhvdXRTdWZmaXgsIGxvY2FsZSkgewogICAgICAgIHZhciBkdXJhdGlvbiA9IGNyZWF0ZV9fY3JlYXRlRHVyYXRpb24ocG9zTmVnRHVyYXRpb24pLmFicygpOwogICAgICAgIHZhciBzZWNvbmRzICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdzJykpOwogICAgICAgIHZhciBtaW51dGVzICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdtJykpOwogICAgICAgIHZhciBob3VycyAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdoJykpOwogICAgICAgIHZhciBkYXlzICAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdkJykpOwogICAgICAgIHZhciBtb250aHMgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdNJykpOwogICAgICAgIHZhciB5ZWFycyAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCd5JykpOwoKICAgICAgICB2YXIgYSA9IHNlY29uZHMgPCB0aHJlc2hvbGRzLnMgJiYgWydzJywgc2Vjb25kc10gIHx8CiAgICAgICAgICAgICAgICBtaW51dGVzID09PSAxICAgICAgICAgICYmIFsnbSddICAgICAgICAgICB8fAogICAgICAgICAgICAgICAgbWludXRlcyA8IHRocmVzaG9sZHMubSAmJiBbJ21tJywgbWludXRlc10gfHwKICAgICAgICAgICAgICAgIGhvdXJzICAgPT09IDEgICAgICAgICAgJiYgWydoJ10gICAgICAgICAgIHx8CiAgICAgICAgICAgICAgICBob3VycyAgIDwgdGhyZXNob2xkcy5oICYmIFsnaGgnLCBob3Vyc10gICB8fAogICAgICAgICAgICAgICAgZGF5cyAgICA9PT0gMSAgICAgICAgICAmJiBbJ2QnXSAgICAgICAgICAgfHwKICAgICAgICAgICAgICAgIGRheXMgICAgPCB0aHJlc2hvbGRzLmQgJiYgWydkZCcsIGRheXNdICAgIHx8CiAgICAgICAgICAgICAgICBtb250aHMgID09PSAxICAgICAgICAgICYmIFsnTSddICAgICAgICAgICB8fAogICAgICAgICAgICAgICAgbW9udGhzICA8IHRocmVzaG9sZHMuTSAmJiBbJ01NJywgbW9udGhzXSAgfHwKICAgICAgICAgICAgICAgIHllYXJzICAgPT09IDEgICAgICAgICAgJiYgWyd5J10gICAgICAgICAgIHx8IFsneXknLCB5ZWFyc107CgogICAgICAgIGFbMl0gPSB3aXRob3V0U3VmZml4OwogICAgICAgIGFbM10gPSArcG9zTmVnRHVyYXRpb24gPiAwOwogICAgICAgIGFbNF0gPSBsb2NhbGU7CiAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGVUaW1lQWdvLmFwcGx5KG51bGwsIGEpOwogICAgfQoKICAgIC8vIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byBzZXQgYSB0aHJlc2hvbGQgZm9yIHJlbGF0aXZlIHRpbWUgc3RyaW5ncwogICAgZnVuY3Rpb24gZHVyYXRpb25faHVtYW5pemVfX2dldFNldFJlbGF0aXZlVGltZVRocmVzaG9sZCAodGhyZXNob2xkLCBsaW1pdCkgewogICAgICAgIGlmICh0aHJlc2hvbGRzW3RocmVzaG9sZF0gPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmIChsaW1pdCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGRzW3RocmVzaG9sZF07CiAgICAgICAgfQogICAgICAgIHRocmVzaG9sZHNbdGhyZXNob2xkXSA9IGxpbWl0OwogICAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIGZ1bmN0aW9uIGh1bWFuaXplICh3aXRoU3VmZml4KSB7CiAgICAgICAgdmFyIGxvY2FsZSA9IHRoaXMubG9jYWxlRGF0YSgpOwogICAgICAgIHZhciBvdXRwdXQgPSBkdXJhdGlvbl9odW1hbml6ZV9fcmVsYXRpdmVUaW1lKHRoaXMsICF3aXRoU3VmZml4LCBsb2NhbGUpOwoKICAgICAgICBpZiAod2l0aFN1ZmZpeCkgewogICAgICAgICAgICBvdXRwdXQgPSBsb2NhbGUucGFzdEZ1dHVyZSgrdGhpcywgb3V0cHV0KTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBsb2NhbGUucG9zdGZvcm1hdChvdXRwdXQpOwogICAgfQoKICAgIHZhciBpc29fc3RyaW5nX19hYnMgPSBNYXRoLmFiczsKCiAgICBmdW5jdGlvbiBpc29fc3RyaW5nX190b0lTT1N0cmluZygpIHsKICAgICAgICAvLyBmb3IgSVNPIHN0cmluZ3Mgd2UgZG8gbm90IHVzZSB0aGUgbm9ybWFsIGJ1YmJsaW5nIHJ1bGVzOgogICAgICAgIC8vICAqIG1pbGxpc2Vjb25kcyBidWJibGUgdXAgdW50aWwgdGhleSBiZWNvbWUgaG91cnMKICAgICAgICAvLyAgKiBkYXlzIGRvIG5vdCBidWJibGUgYXQgYWxsCiAgICAgICAgLy8gICogbW9udGhzIGJ1YmJsZSB1cCB1bnRpbCB0aGV5IGJlY29tZSB5ZWFycwogICAgICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB0aGVyZSBpcyBubyBjb250ZXh0LWZyZWUgY29udmVyc2lvbiBiZXR3ZWVuIGhvdXJzIGFuZCBkYXlzCiAgICAgICAgLy8gKHRoaW5rIG9mIGNsb2NrIGNoYW5nZXMpCiAgICAgICAgLy8gYW5kIGFsc28gbm90IGJldHdlZW4gZGF5cyBhbmQgbW9udGhzICgyOC0zMSBkYXlzIHBlciBtb250aCkKICAgICAgICB2YXIgc2Vjb25kcyA9IGlzb19zdHJpbmdfX2Ficyh0aGlzLl9taWxsaXNlY29uZHMpIC8gMTAwMDsKICAgICAgICB2YXIgZGF5cyAgICAgICAgID0gaXNvX3N0cmluZ19fYWJzKHRoaXMuX2RheXMpOwogICAgICAgIHZhciBtb250aHMgICAgICAgPSBpc29fc3RyaW5nX19hYnModGhpcy5fbW9udGhzKTsKICAgICAgICB2YXIgbWludXRlcywgaG91cnMsIHllYXJzOwoKICAgICAgICAvLyAzNjAwIHNlY29uZHMgLT4gNjAgbWludXRlcyAtPiAxIGhvdXIKICAgICAgICBtaW51dGVzICAgICAgICAgICA9IGFic0Zsb29yKHNlY29uZHMgLyA2MCk7CiAgICAgICAgaG91cnMgICAgICAgICAgICAgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApOwogICAgICAgIHNlY29uZHMgJT0gNjA7CiAgICAgICAgbWludXRlcyAlPSA2MDsKCiAgICAgICAgLy8gMTIgbW9udGhzIC0+IDEgeWVhcgogICAgICAgIHllYXJzICA9IGFic0Zsb29yKG1vbnRocyAvIDEyKTsKICAgICAgICBtb250aHMgJT0gMTI7CgoKICAgICAgICAvLyBpbnNwaXJlZCBieSBodHRwczovL2dpdGh1Yi5jb20vZG9yZGlsbGUvbW9tZW50LWlzb2R1cmF0aW9uL2Jsb2IvbWFzdGVyL21vbWVudC5pc29kdXJhdGlvbi5qcwogICAgICAgIHZhciBZID0geWVhcnM7CiAgICAgICAgdmFyIE0gPSBtb250aHM7CiAgICAgICAgdmFyIEQgPSBkYXlzOwogICAgICAgIHZhciBoID0gaG91cnM7CiAgICAgICAgdmFyIG0gPSBtaW51dGVzOwogICAgICAgIHZhciBzID0gc2Vjb25kczsKICAgICAgICB2YXIgdG90YWwgPSB0aGlzLmFzU2Vjb25kcygpOwoKICAgICAgICBpZiAoIXRvdGFsKSB7CiAgICAgICAgICAgIC8vIHRoaXMgaXMgdGhlIHNhbWUgYXMgQyMncyAoTm9kYSkgYW5kIHB5dGhvbiAoaXNvZGF0ZSkuLi4KICAgICAgICAgICAgLy8gYnV0IG5vdCBvdGhlciBKUyAoZ29vZy5kYXRlKQogICAgICAgICAgICByZXR1cm4gJ1AwRCc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gKHRvdGFsIDwgMCA/ICctJyA6ICcnKSArCiAgICAgICAgICAgICdQJyArCiAgICAgICAgICAgIChZID8gWSArICdZJyA6ICcnKSArCiAgICAgICAgICAgIChNID8gTSArICdNJyA6ICcnKSArCiAgICAgICAgICAgIChEID8gRCArICdEJyA6ICcnKSArCiAgICAgICAgICAgICgoaCB8fCBtIHx8IHMpID8gJ1QnIDogJycpICsKICAgICAgICAgICAgKGggPyBoICsgJ0gnIDogJycpICsKICAgICAgICAgICAgKG0gPyBtICsgJ00nIDogJycpICsKICAgICAgICAgICAgKHMgPyBzICsgJ1MnIDogJycpOwogICAgfQoKICAgIHZhciBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvID0gRHVyYXRpb24ucHJvdG90eXBlOwoKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYWJzICAgICAgICAgICAgPSBkdXJhdGlvbl9hYnNfX2FiczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYWRkICAgICAgICAgICAgPSBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX2FkZDsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uc3VidHJhY3QgICAgICAgPSBkdXJhdGlvbl9hZGRfc3VidHJhY3RfX3N1YnRyYWN0OwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hcyAgICAgICAgICAgICA9IGFzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hc01pbGxpc2Vjb25kcyA9IGFzTWlsbGlzZWNvbmRzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5hc1NlY29uZHMgICAgICA9IGFzU2Vjb25kczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNNaW51dGVzICAgICAgPSBhc01pbnV0ZXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmFzSG91cnMgICAgICAgID0gYXNIb3VyczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNEYXlzICAgICAgICAgPSBhc0RheXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmFzV2Vla3MgICAgICAgID0gYXNXZWVrczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNNb250aHMgICAgICAgPSBhc01vbnRoczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uYXNZZWFycyAgICAgICAgPSBhc1llYXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by52YWx1ZU9mICAgICAgICA9IGR1cmF0aW9uX2FzX192YWx1ZU9mOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5fYnViYmxlICAgICAgICA9IGJ1YmJsZTsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8uZ2V0ICAgICAgICAgICAgPSBkdXJhdGlvbl9nZXRfX2dldDsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubWlsbGlzZWNvbmRzICAgPSBtaWxsaXNlY29uZHM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLnNlY29uZHMgICAgICAgID0gc2Vjb25kczsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubWludXRlcyAgICAgICAgPSBtaW51dGVzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5ob3VycyAgICAgICAgICA9IGhvdXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5kYXlzICAgICAgICAgICA9IGRheXM7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLndlZWtzICAgICAgICAgID0gd2Vla3M7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLm1vbnRocyAgICAgICAgID0gbW9udGhzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by55ZWFycyAgICAgICAgICA9IHllYXJzOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5odW1hbml6ZSAgICAgICA9IGh1bWFuaXplOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0lTT1N0cmluZyAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b1N0cmluZyAgICAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0pTT04gICAgICAgICA9IGlzb19zdHJpbmdfX3RvSVNPU3RyaW5nOwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by5sb2NhbGUgICAgICAgICA9IGxvY2FsZTsKICAgIGR1cmF0aW9uX3Byb3RvdHlwZV9fcHJvdG8ubG9jYWxlRGF0YSAgICAgPSBsb2NhbGVEYXRhOwoKICAgIC8vIERlcHJlY2F0aW9ucwogICAgZHVyYXRpb25fcHJvdG90eXBlX19wcm90by50b0lzb1N0cmluZyA9IGRlcHJlY2F0ZSgndG9Jc29TdHJpbmcoKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRvSVNPU3RyaW5nKCkgaW5zdGVhZCAobm90aWNlIHRoZSBjYXBpdGFscyknLCBpc29fc3RyaW5nX190b0lTT1N0cmluZyk7CiAgICBkdXJhdGlvbl9wcm90b3R5cGVfX3Byb3RvLmxhbmcgPSBsYW5nOwoKICAgIC8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCiAgICBhZGRGb3JtYXRUb2tlbignWCcsIDAsIDAsICd1bml4Jyk7CiAgICBhZGRGb3JtYXRUb2tlbigneCcsIDAsIDAsICd2YWx1ZU9mJyk7CgogICAgLy8gUEFSU0lORwoKICAgIGFkZFJlZ2V4VG9rZW4oJ3gnLCBtYXRjaFNpZ25lZCk7CiAgICBhZGRSZWdleFRva2VuKCdYJywgbWF0Y2hUaW1lc3RhbXApOwogICAgYWRkUGFyc2VUb2tlbignWCcsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgICAgIGNvbmZpZy5fZCA9IG5ldyBEYXRlKHBhcnNlRmxvYXQoaW5wdXQsIDEwKSAqIDEwMDApOwogICAgfSk7CiAgICBhZGRQYXJzZVRva2VuKCd4JywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUodG9JbnQoaW5wdXQpKTsKICAgIH0pOwoKICAgIC8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCgogICAgdXRpbHNfaG9va3NfX2hvb2tzLnZlcnNpb24gPSAnMi4xMC42JzsKCiAgICBzZXRIb29rQ2FsbGJhY2sobG9jYWxfX2NyZWF0ZUxvY2FsKTsKCiAgICB1dGlsc19ob29rc19faG9va3MuZm4gICAgICAgICAgICAgICAgICAgID0gbW9tZW50UHJvdG90eXBlOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm1pbiAgICAgICAgICAgICAgICAgICA9IG1pbjsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5tYXggICAgICAgICAgICAgICAgICAgPSBtYXg7CiAgICB1dGlsc19ob29rc19faG9va3MudXRjICAgICAgICAgICAgICAgICAgID0gY3JlYXRlX3V0Y19fY3JlYXRlVVRDOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLnVuaXggICAgICAgICAgICAgICAgICA9IG1vbWVudF9fY3JlYXRlVW5peDsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5tb250aHMgICAgICAgICAgICAgICAgPSBsaXN0c19fbGlzdE1vbnRoczsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pc0RhdGUgICAgICAgICAgICAgICAgPSBpc0RhdGU7CiAgICB1dGlsc19ob29rc19faG9va3MubG9jYWxlICAgICAgICAgICAgICAgID0gbG9jYWxlX2xvY2FsZXNfX2dldFNldEdsb2JhbExvY2FsZTsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pbnZhbGlkICAgICAgICAgICAgICAgPSB2YWxpZF9fY3JlYXRlSW52YWxpZDsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5kdXJhdGlvbiAgICAgICAgICAgICAgPSBjcmVhdGVfX2NyZWF0ZUR1cmF0aW9uOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLmlzTW9tZW50ICAgICAgICAgICAgICA9IGlzTW9tZW50OwogICAgdXRpbHNfaG9va3NfX2hvb2tzLndlZWtkYXlzICAgICAgICAgICAgICA9IGxpc3RzX19saXN0V2Vla2RheXM7CiAgICB1dGlsc19ob29rc19faG9va3MucGFyc2Vab25lICAgICAgICAgICAgID0gbW9tZW50X19jcmVhdGVJblpvbmU7CiAgICB1dGlsc19ob29rc19faG9va3MubG9jYWxlRGF0YSAgICAgICAgICAgID0gbG9jYWxlX2xvY2FsZXNfX2dldExvY2FsZTsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5pc0R1cmF0aW9uICAgICAgICAgICAgPSBpc0R1cmF0aW9uOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm1vbnRoc1Nob3J0ICAgICAgICAgICA9IGxpc3RzX19saXN0TW9udGhzU2hvcnQ7CiAgICB1dGlsc19ob29rc19faG9va3Mud2Vla2RheXNNaW4gICAgICAgICAgID0gbGlzdHNfX2xpc3RXZWVrZGF5c01pbjsKICAgIHV0aWxzX2hvb2tzX19ob29rcy5kZWZpbmVMb2NhbGUgICAgICAgICAgPSBkZWZpbmVMb2NhbGU7CiAgICB1dGlsc19ob29rc19faG9va3Mud2Vla2RheXNTaG9ydCAgICAgICAgID0gbGlzdHNfX2xpc3RXZWVrZGF5c1Nob3J0OwogICAgdXRpbHNfaG9va3NfX2hvb2tzLm5vcm1hbGl6ZVVuaXRzICAgICAgICA9IG5vcm1hbGl6ZVVuaXRzOwogICAgdXRpbHNfaG9va3NfX2hvb2tzLnJlbGF0aXZlVGltZVRocmVzaG9sZCA9IGR1cmF0aW9uX2h1bWFuaXplX19nZXRTZXRSZWxhdGl2ZVRpbWVUaHJlc2hvbGQ7CgogICAgdmFyIF9tb21lbnQgPSB1dGlsc19ob29rc19faG9va3M7CgogICAgcmV0dXJuIF9tb21lbnQ7Cgp9KSk7"}},"time_used":100,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/13148.32cc01dc01751b91682c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.441Z","timestamp":1785136428441,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/13148.32cc01dc01751b91682c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"6a06d56c-12cc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 15 May 2026 08:12:28 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.53\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/15/2026 10:19:05\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 4389b1f6bbd1f104d1dce7dce61ae14a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4812,"size_decoded":2619,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3061)","md5":"9eb8a2729659cd900aee823198b62b43","sha1":"27c53602ca760b97d71eef345b01c1d537900aad","sha256":"3ac4b66b0a6823b837035a5dfdf7fe41b01ccf2a2ac115b143c12356080ebdac","sha512":"6c86fb2c2378e589f4353d32a048ae866196581fc0a8a7ed13c379eb47eab41fcbfc0ee44f3ffe77ff3800136be1da4fbfecfe3456524b96712a1e5cef42945f","ssdeep":"96:FRi/jMMHFeHojARuZi0DWss7UebYiWWD+WRdiaEBymSM0qRIv0nrWvW1HN6Fb0so:rEjMMlIeARmLWss77bJWWD+WRd8ymSM9","tlshash":"66a1e987b9c2f0a063d9aca5953b054ae23d6c1c711bf0e8e2e9d5d19c7b10b9112f36","first_seen":"2026-05-15T11:49:16.287975Z","last_seen":"2026-08-11T10:15:18.422102Z","times_seen":5333,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1831.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.661Z","timestamp":1785136428661,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1831.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2694\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:10:17 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:50 GMT\r\netag: \"6ad5509616a5fca9f389801052bea3fe\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 14611\r\nx-amz-cf-id: YVt44c1C0u8BaAHpU-nEvYa7fLxfzffgX0B_JXTRwcUuNaWgvWTb7A==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2694,"size_decoded":3203,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"6ad5509616a5fca9f389801052bea3fe","sha1":"5b53d204b7e6066409067fba9fce5202ff20e9d6","sha256":"6becc3abea448b67731610708852a70c3ceb99059b2dee98da3711dc0620218a","sha512":"18729e5d7521224c032a2a7f18c154b1d02905dda6a06dc3a1af5d876bc5f651b78699589772cd6158bc1bfa75aead83b084bca2b06539a3e4cc9b4a6d476ded","ssdeep":"","tlshash":"ed512be6a252222ac78335be8a25f1dbdf560afb123220858088c13aa40f750c98a573","first_seen":"2023-05-02T21:54:45Z","last_seen":"2026-08-11T04:47:30.062908Z","times_seen":20243,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/4642.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.668Z","timestamp":1785136428668,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4642.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 512\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:09:24 GMT\r\nlast-modified: Fri, 07 Mar 2025 07:10:13 GMT\r\netag: \"9461694e94919b8ea6de7e3db0f232b5\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 14665\r\nx-amz-cf-id: opC1Kmmi_5PWVMldIRiI8DIUPSD1PpqOg1A1TZNDqHmeY9mCXB0y6w==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":512,"size_decoded":1066,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"9461694e94919b8ea6de7e3db0f232b5","sha1":"e699eedd2c9bcc757317e9861642da43917fc8c2","sha256":"9b3cad62eacf47b257066fda4d3695d45582360164b8b0f1082f74cae3304517","sha512":"6f543ea38f0600ad22dc1e5b155d03df442a3474fc039cace36fc5467901e3634dc8f44da9b8d1a35eb97eabbb9b3a8d61b87052810d1e3a34a56c4abd1a371b","ssdeep":"","tlshash":"e8f005d3a3d216acd438033551ebc6326cc2082048d3d69089d7e57091cc3ac7ae1543","first_seen":"2025-05-17T13:51:35.296693Z","last_seen":"2026-08-11T04:47:30.110586Z","times_seen":1529,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABx0lEQVR4Xt3UwXHbMBQGYZSqElJCSnIJLikdJJYPnPEHyyH+R0EEd2YvWAAPPEitzeP3h393et+7PG+t/7DU+13L4OOP9pS8t/6hz/a9nQQfNtuX4UNe7VQcfhafzq31Q8/mrT0JB53dQ/HyVTwEL13NErfWX7iav1oBL1vVCC9Z3SE8fBV348GruAsPXc0f+dP6A1fz/o0PcfOQYk8Ve+BD3Dik2FPFHvgtbhpW7KliD+1ww7BiTxV76BcO+fMTe6rYC24YIsWeKvaCG4ZIsaeKveCGIVLsqWIv+Mkhv/+7Yk8Ve9FuIXYWzi3aLcTOwrlFu4XYWTi3aLcQK/ZUsRftFmLFnir2ot1CrNhTxV60W4gVe6rYi3YLsbNwbtFuIXYWzi3aLcTOwrlFu4VYsaeKvegnLkaKPVXsBTcMkWJPFXvBDUOk2FPFXnDDECn2VLEX/IJxWLGnij20ww3Dij1V7KHf4qYhxZ4q9sCHuHFIsaeKPfAhbryqP+Lmq7kLD13F3XjwKg7h4dWN8JJVjfGiVS3hZat5CF66iofi5Wf3KTjkrD4dB57FqTj81b4MHzLbU+CjZnlKfOTRLoMPr7o8ftD/nMI/fb1rr6o8l2IAAAAASUVORK5CYII="}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/7083.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.678Z","timestamp":1785136428678,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/7083.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 4286\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:00 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 01:55:24 GMT\r\ncache-control: max-age=86400\r\netag: \"24c244a9b134b0b20dc773ff3205ceff\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 19105\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 6WHIUEdjNJTYXg3aIRyC-X92E6u0FBMQCEYIsH_YlEwO-gni2XitlA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":4286,"size_decoded":4812,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"24c244a9b134b0b20dc773ff3205ceff","sha1":"4cc2e56268b05b16e8f83994d123b718dbd9aed2","sha256":"965d190fded64a36997b47c11a127aa66fdfa182642f24ba11d1271674142a74","sha512":"66e2c72c9479ae0c4a36f6d8a1a5074f2ffc484fd39bb7a19bd84def584071affe5dd95f960462a713b873042a18302ea921c319d9e177aec1cfbc8d99e87607","ssdeep":"96:qnaFq4eHDfniUwYKYmtTTbnTJXZiTvTYZb51oQpuz:qnaFq4eDfnIYmlTJZuet1puz","tlshash":"74917da5179858b86680474fdfe543cf4f932db31000552f2f90f59a6b38f7a5248cb8","first_seen":"2023-05-08T12:03:54Z","last_seen":"2026-08-11T04:47:30.067589Z","times_seen":1643,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUxpcaNpafnd6vfh7PnL4Pfv8ffG3vz7//nt8vjY5/nu9PrQ4/j19u7u7vfm7vjO4f3x9/ns8vfs8fru9PXc6PLR4evM4vTp7vry9vfs8u3Z4/fp8Pnz9+3n6/r1+Pjz9vry9vLZ5PnD2/fO4ffU5Pb28vjn7/jf7Prp8frz9/r19vnx9ffg6/DS4Pjd6vTc6f////jn7/v1+PfW5PPT4+XX3fr29/LS3/bA2fPR4vu74vfr7//2+u631/nz+fbp7f/0+f7z+f/x+P/4/P/0+/70+//m8/7w9/3p8v7v9v/t9v3l8v/r9f/s9P30+v3n8/3r9P7q9f/m9f3v9vz3+//y+fzk8f/s9/3y+P7o9P/k8v/1/P/v9vvs9P////vo8vru9P3p9Pzx9//3/Pzw+Pnr8//6/fvw9v34/P/o9fzr8v3n9PoCev/8//fx8/7k8f8Dfvrj8Prm8vj1+//k8/wDfv4Befny+Pni7fvl7vUAb/zy+vz+//72+/3u9vz3///u+v33+/AAcPjq8P/p9/rY6f3x//7i8OoGc/vc7P3t9P/U7OoAa//w/Pry/f/4///1//ju9/kGgPUAdPvo7/bM6//z/PGs1/v5+vzS5ed9ufX6/elorvju7/nt+v3j7t5uq/7e7u2/3fzG5Pzy9f/T5/j4+OiGv+MKc/v8//QHfPj//+cjgudcpvjT5//n8P/e8P3O4/Xt9fCVyuAUd+yby/bB5+aky/fT7//N6fHH5eItiPnZ9u8AZ/3v8/XN5+AefP/Z7NMXcfG33/re8PkAcegSe+Ct0PABdf3g9uyIw+UBb/TZ7uxSot0+jutxs/7p+vbg8uBlp+MAZPD19eE2jOys0/S+4u7h8P3q/tsSdffi+uBTnOK+1+NKl9lgoPTn9e+Ox9krfuk6kuJbofvk9uxFm+6i0N0GbPvW7OePvuouif/l/eeWx+3V5few3OF5sNiSts5flvHv8M83g9qDsMtFjNZ3q+DY4NSextROktwAYdu0y9Nsotuhwckqevm4aWsAAACadFJOUwAB/P3+K/4BAv39/f0H/ukZ6bf2hrj+XtDQXW2+F+p1hHn99tAUquv1XY+Mj9HNOwSPOviPKqpt+6r+gj34Lh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6HGF5lAAAMtklEQVRYw4xWe1BTdxa+QlkgIFW0itWqu7Wt1u4u6+72j52dndyYcHMJ3ETz8CJNiDExmRCyPEwuBnIhyUghGwkBFCS8igiER7UIyPASURER8Q2KLxzro1rfbafttt09N3S7u3ba3TOTe2cyv/Od7zu/87gI8iMLjoZHdNCq5ZFRc+fJHSvnLopcvjDI/2cw8r+NcY/+89tR89huN1er0TgcNGfXrtiVi1avif5/IODQnGVRXEVRnEPjYLGUYA5H6bZMPpbCWbRsjv/Az1hIMPLa8qUKq4Yll6sJq41HECghxUitx5OelhafOHf5a0hwyM+Fn7VsqYJgsbQkLzGRx0N5PC6bRHkoAUC0PCKQ7567eNZPkgD1f1mikLKMlMTK5lnZKJfN5rJR8EelKBjJkUdkxuyKDPqJTAQHI6vCUxxyQmKzQXAuj82DF+OIoioSniTJwfSBgZyVC5mzP/ZHkLcVJIuy6iQS3WaUx0XZAIH6jWRMRWpVHA6eHliT+zv/8RfSh8x+V6E1EjqdFTIHzNlgPDYTnuHgd1epMA4JJLbnvTkbmfVC/JDZSxQsrUS3xcZjHGfsewEcDkfKwTCMI8XgQqTyzIAdkbNnBb+Qv3cVLMomsUkkPEY8yjDgQWQeSkoxQIDQEB8Ta1X4e6LMgNw3/zuT0aCfRUl0VLiO4ELu2OgP6lVAQKVk4sNPrNRqcRyL/yBgxzv/eZvRyCoFS2mVEJIvAxUqNkFAGjCOiiLJLIoiITy40hhHDfFVNI4PDCQEhsYtREL+ncCg8AyjRGcjvNTTBS3qjCy0oaGe9PmocAoQMEwK4tWYVo3V1+NAQEw7SwMKAoJ+QAgJWZLCkuh0tvIG3dlnR1qqKCq8wfvltR5vtrGeQ2UBAxVHzFJ7tJxYMYY7aSceKwvdGBkS8i8BixW0ygZWXk+1fPJZp8KTQTaM1T16+m2d78JArlqMiYG6ODfQo47FMJrWOJ1xcTWhGxbPpCE4+I2lEpxrBQBJBkFlH/pHYwqhzO4cqrxc90WFz6hW4nIn7kRt6deyKBpzAgDt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"}},"time_used":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=converter\u0026theme=light","date":"2026-07-27T07:13:47.559Z","timestamp":1785136427559,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-18a9de512a1933ad.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=converter\u0026theme=light\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 2251814\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"turbopack-18a9de512a1933ad.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"ee874107586f9203ea70e460428f2bb3\"\r\nlast-modified: Tue, 30 Jun 2026 21:36:51 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/turbopack-18a9de512a1933ad.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::224xg-1782884613047-36a6958ca2eb\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=B2Gm%2Br%2BErtlS6PJVjJTyXbsfEbv8XHc1kkkq%2FWoAujfQjyHi7Z1IXjCVZ3dbBbtt1smmcefaCy60CJS%2BOw1mvN3aqr0mcx%2F1aMr5LfcoHVA7c64cSpwnTB30Sh8w\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f04ef88deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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":10707,"size_decoded":6494,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (6438)","md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIsInN0YXRpYy9jaHVua3MvOWRmM2I2N2I2MDYxZWE5ZS5qcyIsInN0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIsInN0YXRpYy9jaHVua3MvNDkxMTQxMGU1MTUzZjBkNy5qcyIsInN0YXRpYy9jaHVua3MvNDgxNWE3NTg2NTdkNGJhZS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk2MzM1XX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19DSFVOS19TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCBsPW8ucHJvdG90eXBlLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gdShlLHQscil7aS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gYShlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWModCksZVt0XT1yKSxyfWZ1bmN0aW9uIGMoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZihlLHQpe3UoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyYmdShlLHMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKXUoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP3UoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTp1KGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWwucz1mdW5jdGlvbihlLHQpe2xldCByLG47bnVsbCE9dD9uPShyPWEodGhpcy5jLHQpKS5leHBvcnRzOihyPXRoaXMubSxuPXRoaXMuZSksci5uYW1lc3BhY2VPYmplY3Q9bixmKG4sZSl9LGwuaj1mdW5jdGlvbihlLHQpe3ZhciByLG87bGV0IGwscyx1O251bGwhPXQ/cz0obD1hKHRoaXMuYyx0KSkuZXhwb3J0czoobD10aGlzLm0scz10aGlzLmUpO2xldCBjPShyPWwsbz1zLCh1PW4uZ2V0KHIpKXx8KG4uc2V0KHIsdT1bXSksci5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PW5ldyBQcm94eShvLHtnZXQoZSx0KXtpZihpLmNhbGwoZSx0KXx8ImRlZmF1bHQiPT09dHx8Il9fZXNNb2R1bGUiPT09dClyZXR1cm4gUmVmbGVjdC5nZXQoZSx0KTtmb3IobGV0IGUgb2YgdSl7bGV0IHI9UmVmbGVjdC5nZXQoZSx0KTtpZih2b2lkIDAhPT1yKXJldHVybiByfX0sb3duS2V5cyhlKXtsZXQgdD1SZWZsZWN0Lm93bktleXMoZSk7Zm9yKGxldCBlIG9mIHUpZm9yKGxldCByIG9mIFJlZmxlY3Qub3duS2V5cyhlKSkiZGVmYXVsdCI9PT1yfHx0LmluY2x1ZGVzKHIpfHx0LnB1c2gocik7cmV0dXJuIHR9fSkpLHUpOyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmMucHVzaChlKX0sbC52PWZ1bmN0aW9uKGUsdCl7KG51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPWV9LGwubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBwPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18saD1bbnVsbCxwKHt9KSxwKFtdKSxwKHApXTtmdW5jdGlvbiBkKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIWguaW5jbHVkZXModCk7dD1wKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGYodCxuKSx0fWZ1bmN0aW9uIG0oZSl7bGV0IHQ9QihlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZChyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBiKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiB5KCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fWwuaT1tLGwuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKG0uYmluZCh0aGlzKSl9LGwudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSxsLnI9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSx0aGlzLm0pLmV4cG9ydHN9LGwuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBPPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLGc9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLHc9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBDKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9bC5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmwscmVqZWN0OmkscHJvbWlzZTpzfT15KCksdT1PYmplY3QuYXNzaWduKHMse1tnXTpyLmV4cG9ydHMsW09dOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbZ109ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoTyBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbZ106e30sW09dOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3JbZ109ZSxDKHQpfSxlPT57clt3XT1lLEModCl9KSxyfX1yZXR1cm57W2ddOmUsW09dOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVt3XSl0aHJvdyBlW3ddO3JldHVybiBlW2ddfSkse3Byb21pc2U6bCxyZXNvbHZlOml9PXkoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmkocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW09dKHUpKSxzLnF1ZXVlQ291bnQ/bDpyKCl9LGZ1bmN0aW9uKGUpe2U/aSh1W3ddPWUpOmwodVtnXSksQyhuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uIGooZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSxsLlU9VSxsLno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LGwuZz1nbG9iYWxUaGlzO2xldCBSPW8ucHJvdG90eXBlO3ZhciBrLF89KChrPV98fHt9KVtrLlJ1bnRpbWU9MF09IlJ1bnRpbWUiLGtbay5QYXJlbnQ9MV09IlBhcmVudCIsa1trLlVwZGF0ZT0yXT0iVXBkYXRlIixrKTtsZXQgdj1uZXcgTWFwO2wuTT12O2xldCAkPW5ldyBNYXAsUD1uZXcgTWFwO2FzeW5jIGZ1bmN0aW9uIFMoZSx0LHIpe2xldCBuO2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gRShlLHQsSyhyKSk7bGV0IG89ci5pbmNsdWRlZHx8W10sbD1vLm1hcChlPT4hIXYuaGFzKGUpfHwkLmdldChlKSk7aWYobC5sZW5ndGg+MCYmbC5ldmVyeShlPT5lKSlyZXR1cm4gdm9pZCBhd2FpdCBQcm9taXNlLmFsbChsKTtsZXQgaT1yLm1vZHVsZUNodW5rc3x8W10scz1pLm1hcChlPT5QLmdldChlKSkuZmlsdGVyKGU9PmUpO2lmKHMubGVuZ3RoPjApe2lmKHMubGVuZ3RoPT09aS5sZW5ndGgpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwocyk7bGV0IHI9bmV3IFNldDtmb3IobGV0IGUgb2YgaSlQLmhhcyhlKXx8ci5hZGQoZSk7Zm9yKGxldCBuIG9mIHIpe2xldCByPUUoZSx0LEsobikpO1Auc2V0KG4scikscy5wdXNoKHIpfW49UHJvbWlzZS5hbGwocyl9ZWxzZXtmb3IobGV0IG8gb2Yobj1FKGUsdCxLKHIucGF0aCkpLGkpKVAuaGFzKG8pfHxQLnNldChvLG4pfWZvcihsZXQgZSBvZiBvKSQuaGFzKGUpfHwkLnNldChlLG4pO2F3YWl0IG59Ui5sPWZ1bmN0aW9uKGUpe3JldHVybiBTKDEsdGhpcy5tLmlkLGUpfTtsZXQgVD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxBPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUodCxyLG4pe2xldCBvPWUubG9hZENodW5rQ2FjaGVkKHQsbiksbD1BLmdldChvKTtpZih2b2lkIDA9PT1sKXtsZXQgZT1BLnNldC5iaW5kKEEsbyxUKTtsPW8udGhlbihlKS5jYXRjaChlPT57bGV0IG87c3dpdGNoKHQpe2Nhc2UgMDpvPWBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bz1gZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gRSgxLHRoaXMubS5pZCxlKX0sUi5SPWZ1bmN0aW9uKGUpe2xldCB0PXRoaXMucihlKTtyZXR1cm4gdD8uZGVmYXVsdD8/dH0sUi5QPWZ1bmN0aW9uKGUpe3JldHVybmAvUk9PVC8ke2U/PyIifWB9LFIuYj1mdW5jdGlvbihlKXtsZXQgdD1uZXcgQmxvYihbYHNlbGYuVFVSQk9QQUNLX1dPUktFUl9MT0NBVElPTiA9ICR7SlNPTi5zdHJpbmdpZnkobG9jYXRpb24ub3JpZ2luKX07CnNlbGYuVFVSQk9QQUNLX0NIVU5LX1NVRkZJWCA9ICR7SlNPTi5zdHJpbmdpZnkocil9OwpzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMgPSAke0pTT04uc3RyaW5naWZ5KGUucmV2ZXJzZSgpLm1hcChLKSxudWxsLDIpfTsKaW1wb3J0U2NyaXB0cyguLi5zZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMubWFwKGMgPT4gc2VsZi5UVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OICsgYykucmV2ZXJzZSgpKTtgXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pO3JldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKHQpfTtsZXQgeD0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sTj0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIE4udGVzdChlKX1sLnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseSgxLHRoaXMubS5pZCx0LHIsbil9LGwudT1mdW5jdGlvbih0LHIpe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseU1vZHVsZSgxLHRoaXMubS5pZCx0LHIpfTtsZXQgTD17fTtsLmM9TDtsZXQgQj0oZSx0KT0+e2xldCByPUxbZV07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybiByfXJldHVybiBxKGUsXy5QYXJlbnQsdC5pZCl9O2Z1bmN0aW9uIHEoZSx0LHIpe2xldCBuPXYuZ2V0KGUpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKGZ1bmN0aW9uKGUsdCxyKXtsZXQgbjtzd2l0Y2godCl7Y2FzZSAwOm49YGFzIGEgcnVudGltZSBlbnRyeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bj1gYmVjYXVzZSBpdCB3YXMgcmVxdWlyZWQgZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm49ImJlY2F1c2Ugb2YgYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1yZXR1cm5gTW9kdWxlICR7ZX0gd2FzIGluc3RhbnRpYXRlZCAke259LCBidXQgdGhlIG1vZHVsZSBmYWN0b3J5IGlzIG5vdCBhdmFpbGFibGUuYH0oZSx0LHIpKTtsZXQgbD1jKGUpLGk9bC5leHBvcnRzO0xbZV09bDtsZXQgcz1uZXcgbyhsLGkpO3RyeXtuKHMsbCxpKX1jYXRjaChlKXt0aHJvdyBsLmVycm9yPWUsZX1yZXR1cm4gbC5uYW1lc3BhY2VPYmplY3QmJmwuZXhwb3J0cyE9PWwubmFtZXNwYWNlT2JqZWN0JiZkKGwuZXhwb3J0cyxsLm5hbWVzcGFjZU9iamVjdCksbH1mdW5jdGlvbiBJKHIpe2xldCBuLG89ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCByPWRlY29kZVVSSUNvbXBvbmVudCgoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTP1RVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucG9wKCk6ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKS5yZXBsYWNlKC9bPyNdLiokLywiIikpO3JldHVybiByLnN0YXJ0c1dpdGgodCk/ci5zbGljZSh0Lmxlbmd0aCk6cn0oclswXSk7cmV0dXJuIDI9PT1yLmxlbmd0aD9uPXJbMV06KG49dm9pZCAwLCFmdW5jdGlvbihlLHQscixuKXtsZXQgbz0xO2Zvcig7bzxlLmxlbmd0aDspe2xldCB0PWVbb10sbj1vKzE7Zm9yKDtuPGUubGVuZ3RoJiYiZnVuY3Rpb24iIT10eXBlb2YgZVtuXTspbisrO2lmKG49PT1lLmxlbmd0aCl0aHJvdyBFcnJvcigibWFsZm9ybWVkIGNodW5rIGZvcm1hdCwgZXhwZWN0ZWQgYSBmYWN0b3J5IGZ1bmN0aW9uIik7aWYoIXIuaGFzKHQpKXtsZXQgbD1lW25dO2ZvcihPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KTtvPG47bysrKXQ9ZVtvXSxyLnNldCh0LGwpfW89bisxfX0ociwwLHYpKSxlLnJlZ2lzdGVyQ2h1bmsobyxuKX1sZXQgVz1uZXcgTWFwO2Z1bmN0aW9uIEgoZSl7bGV0IHQ9Vy5nZXQoZSk7aWYoIXQpe2xldCByLG47dD17cmVzb2x2ZWQ6ITEsbG9hZGluZ1N0YXJ0ZWQ6ITEscHJvbWlzZTpuZXcgUHJvbWlzZSgoZSx0KT0+e3I9ZSxuPXR9KSxyZXNvbHZlOigpPT57dC5yZXNvbHZlZD0hMCxyKCl9LHJlamVjdDpufSxXLnNldChlLHQpfXJldHVybiB0fWU9e2FzeW5jIHJlZ2lzdGVyQ2h1bmsoZSx0KXtpZihIKEsoZSkpLnJlc29sdmUoKSxudWxsIT10KXtmb3IobGV0IGUgb2YgdC5vdGhlckNodW5rcylIKEsoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwodC5vdGhlckNodW5rcy5tYXAodD0+UygwLGUsdCkpKSx0LnJ1bnRpbWVNb2R1bGVJZHMubGVuZ3RoPjApZm9yKGxldCByIG9mIHQucnVudGltZU1vZHVsZUlkcykhZnVuY3Rpb24oZSx0KXtsZXQgcj1MW3RdO2lmKHIpe2lmKHIuZXJyb3IpdGhyb3cgci5lcnJvcjtyZXR1cm59cSh0LF8uUnVudGltZSxlKX0oZSxyKX19LGxvYWRDaHVua0NhY2hlZDooZSx0KT0+KGZ1bmN0aW9uKGUsdCl7bGV0IHI9SCh0KTtpZihyLmxvYWRpbmdTdGFydGVkKXJldHVybiByLnByb21pc2U7aWYoZT09PV8uUnVudGltZSlyZXR1cm4gci5sb2FkaW5nU3RhcnRlZD0hMCxNKHQpJiZyLnJlc29sdmUoKSxyLnByb21pc2U7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGltcG9ydFNjcmlwdHMpaWYoTSh0KSk7ZWxzZSBpZih4LnRlc3QodCkpc2VsZi5UVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTLnB1c2godCksaW1wb3J0U2NyaXB0cyhUVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OK3QpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihNKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKHgudGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGw9ZmV0Y2goSyhyKSkse2luc3RhbmNlOml9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGwsbyk7cmV0dXJuIGkuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKEsocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEY9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6SX0sRi5mb3JFYWNoKEkpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9DUUNuSlhHMXJLWk0xazNReERpQjlpMVRtZjY2Iik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/17087.a5eaeb30f7d269f97b41.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.396Z","timestamp":1785136428396,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/17087.a5eaeb30f7d269f97b41.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-42b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: c1cecd0a1e2e6dd32f10d86bbbf15749\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1067,"size_decoded":1275,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1067), with no line terminators","md5":"aea2379787588b2971ae93e1d08d1a76","sha1":"53a871c666693bc64ceee27711d27c2da35b8e8c","sha256":"3f0a48597dbd15d013833ffec5807ed9172b4072ca308dd16df1be793bcb6f34","sha512":"596f5b4924bfab46ac651687876c9a32ee13e028d0057c8165ce38a28d0049e29f55a5ea96f247401e43f0a6f2a6c054ea0b6e8eadca7d7ba33b29c3145d0cf1","ssdeep":"","tlshash":"6a111f148180f63dbd23f22087a0578a3279745199976e9eed0de17141cfbf52ba5cdc","first_seen":"2026-07-16T20:48:56.383088Z","last_seen":"2026-08-11T04:47:30.085374Z","times_seen":624,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbEhsRzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWxIbEc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCl9LndyYXAtaWlpMTE4b057Ym90dG9tOjA7ZGlzcGxheTpmbGV4O2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt6LWluZGV4OjB9LndyYXAtaWlpMTE4b04ucG9zaXRpb25Cb3R0b20taWlpMTE4b057YWxpZ24taXRlbXM6ZmxleC1lbmR9LmJhY2tkcm9wLWlpaTExOG9Oe2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAtbEhsRyk7Ym90dG9tOjA7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6Ljc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmRyYXdlci1paWkxMThvTntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjZweCAwOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO3otaW5kZXg6MX0uZHJhd2VyLWlpaTExOG9OLnBvc2l0aW9uTGVmdC1paWkxMThvTnttYXJnaW4taW5saW5lLWVuZDo0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTttaW4td2lkdGg6MjYwcHh9LmRyYXdlci1paWkxMThvTi5wb3NpdGlvbkJvdHRvbS1paWkxMThvTntib3JkZXItc3RhcnQtZW5kLXJhZGl1czo2cHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czo2cHg7ZmxleC1iYXNpczoxMDAlO21hcmdpbi10b3A6dmFyKC0tZHJhd2VyLW1hcmdpbi10b3AtZGlzdGFuY2UsMTAwcHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gdmFyKC0tZHJhd2VyLW1pbi10b3AtZGlzdGFuY2UsIDEwMHB4KSk7b3ZlcmZsb3c6YXV0b30uZHJhd2VyLWlpaTExOG9OOmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/30200.71da076fb0197e4d5953.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.433Z","timestamp":1785136428433,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30200.71da076fb0197e4d5953.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 86\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b73-56\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ddcc05a22390c89f36937ae254c6b341\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":86,"size_decoded":870,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b02278d29b4e6fb9286fa4e3d93d2ce5","sha1":"0e3940c360032f59c0eb14248728f6b6d0c99cae","sha256":"6373ee883ff860f1955a9c73438e96ed35056eacf0fadb1c6ae58a57e31a5e34","sha512":"cf3ba4d72f48389a359a141bea634d0369e9ba9b4e796f108b6c71cd23e57123b60f7b390b1edba4debfc2e84ebd9bc8cefa9ab0ef5f5d70274f73ef0be4ac8c","ssdeep":"","tlshash":"ada012d2b4410450000501481120733bcab721c426940d0804c0bf2203464a19c78150","first_seen":"2026-01-13T13:30:16.848169Z","last_seen":"2026-08-11T04:47:30.188719Z","times_seen":2343,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/26118.3f4b0e5de045d6bd8295.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.315Z","timestamp":1785136429315,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/26118.3f4b0e5de045d6bd8295.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-f26e\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e40548a2cea9486092bbec3a12350edc\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":62062,"size_decoded":23231,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (7991)","md5":"1df37fb14b509991868640e93d196bed","sha1":"5f505db48850be97fd31188d307c0ca784a40dfa","sha256":"ed0d9ccffe67dd588b5c48ee432f2e2dd44b6cf6cfad2f9758b8301cd0d8520f","sha512":"912b321be9c0a010a1c7329216e9ab2c519ffc0ab565211c1eff82d6a9ad052dd9a608f210d4946ef10e20a2d65e45692b0f2ca44bdb5810354db30cd40ef97d","ssdeep":"768:iDUhaWDzyJMn6lh1lMAf0BokL0ZBWTvf4bAGUvS2w+Ntd87EKEV3GmXEKptPPFb4:iUnZVrXEKtql5suJ+m3SJaIKoCVmG","tlshash":"d1533b907354a29f53d3e1adc63d8496771a60b7b80f4a70b4eacee8116b47ff913908","first_seen":"2026-07-23T14:00:31.462637Z","last_seen":"2026-07-28T06:17:53.619977Z","times_seen":108,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNjExOF0sezk2OTYzMShlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlOiJmYXZvcml0ZS1Rd0tXU1VtYSIsaG92ZXJlZDoiaG92ZXJlZC1Rd0tXU1VtYSIsZGlzYWJsZWQ6ImRpc2FibGVkLVF3S1dTVW1hIixmb2N1c2VkOiJmb2N1c2VkLVF3S1dTVW1hIixhY3RpdmU6ImFjdGl2ZS1Rd0tXU1VtYSIsY2hlY2tlZDoiY2hlY2tlZC1Rd0tXU1VtYSJ9fSw5MjQ1MDcoZSl7ZS5leHBvcnRzPXsidGFibGV0LW5vcm1hbC1icmVha3BvaW50IjoiKG1heC13aWR0aDogNzY4cHgpIiwic21hbGwtaGVpZ2h0LWJyZWFrcG9pbnQiOiIobWF4LWhlaWdodDogMzYwcHgpIiwidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiOiIobWF4LXdpZHRoOiA0NDBweCkifX0sMzU0ODEyKGUpe2UuZXhwb3J0cz17aXRlbToiaXRlbS1mU2FUX0RFTSIsbGFiZWw6ImxhYmVsLWZTYVRfREVNIixsYWJlbFJvdzoibGFiZWxSb3ctZlNhVF9ERU0iLHRvb2xib3g6InRvb2xib3gtZlNhVF9ERU0ifX0sNzQwOTQzKGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tV01wS0tVQ3EiLGhvdmVyZWQ6ImhvdmVyZWQtV01wS0tVQ3EiLGRpc2FibGVkOiJkaXNhYmxlZC1XTXBLS1VDcSIsZm9jdXNlZDoiZm9jdXNlZC1XTXBLS1VDcSIsYWN0aXZlOiJhY3RpdmUtV01wS0tVQ3EiLGhpZGRlbjoiaGlkZGVuLVdNcEtLVUNxIn19LDEzMzY1NihlKXtlLmV4cG9ydHM9e2Zhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkOiJmYXZvcml0ZXNJY29uQnV0dG9uVG9nZ2xlZC1ZRlhWSk5FUSIscHJpbWFyeToicHJpbWFyeS1ZRlhWSk5FUSIsc2Vjb25kYXJ5OiJzZWNvbmRhcnktWUZYVkpORVEiLHRlcnRpYXJ5OiJ0ZXJ0aWFyeS1ZRlhWSk5FUSJ9fSw5OTM5OTUoZSl7ZS5leHBvcnRzPXtpY29uQnV0dG9uOiJpY29uQnV0dG9uLUhERFVZT0JJIixzcXVhcmU6InNxdWFyZS1IRERVWU9CSSIscm91bmQ6InJvdW5kLUhERFVZT0JJIixwcmltYXJ5OiJwcmltYXJ5LUhERFVZT0JJIixpY29uOiJpY29uLUhERFVZT0JJIixzZWNvbmRhcnk6InNlY29uZGFyeS1IRERVWU9CSSIsdGVydGlhcnk6InRlcnRpYXJ5LUhERFVZT0JJIiwicHJpbWFyeS1zcGVjaWFsIjoicHJpbWFyeS1zcGVjaWFsLUhERFVZT0JJIn19LDE0NTk4NShlKXtlLmV4cG9ydHM9e2Jsb2NrSWNvbjoiYmxvY2tJY29uLWd2T1FWaVY3In19LDk5NDI4KGUpe2UuZXhwb3J0cz17ZGl2aWRlcjoiZGl2aWRlci1aZF90cXVjRCIsbGluZToibGluZS1aZF90cXVjRCJ9fSw2MjU3MDkoZSl7ZS5leHBvcnRzPXtzbWFsbDoic21hbGwtdFdESUNUYXkiLG1lZGl1bToibWVkaXVtLXRXRElDVGF5IixsYXJnZToibGFyZ2UtdFdESUNUYXkiLHN3aXRjaFZpZXc6InN3aXRjaFZpZXctdFdESUNUYXkiLGNoZWNrZWQ6ImNoZWNrZWQtdFdESUNUYXkiLGRpc2FibGVkOiJkaXNhYmxlZC10V0RJQ1RheSIsdHJhY2s6InRyYWNrLXRXRElDVGF5Iix0aHVtYjoidGh1bWItdFdESUNUYXkifX0sNjg3NTQ3KGUpe2UuZXhwb3J0cz17c3dpdGNoZXI6InN3aXRjaGVyLWwzRHRLTHNMIixpbnB1dDoiaW5wdXQtbDNEdEtMc0wiLHRodW1iV3JhcHBlcjoidGh1bWJXcmFwcGVyLWwzRHRLTHNMIixkaXNhYmxlZDoiZGlzYWJsZWQtbDNEdEtMc0wiLGNoZWNrZWQ6ImNoZWNrZWQtbDNEdEtMc0wifX0sNTcwNDk4KGUpe2UuZXhwb3J0cz17YnV0dG9uOiJidXR0b24tR2F3cEIwcGYiLGFjdGl2ZToiYWN0aXZlLUdhd3BCMHBmIixmYXZvcml0ZToiZmF2b3JpdGUtR2F3cEIwcGYiLGZpbGxlZDoiZmlsbGVkLUdhd3BCMHBmIn19LDU1MzE0OShlKXtlLmV4cG9ydHM9e3dyYXBwZXI6IndyYXBwZXItSmE3SUdET2ciLGxhYmVsUm93OiJsYWJlbFJvdy1KYTdJR0RPZyIsbGFiZWw6ImxhYmVsLUphN0lHRE9nIixsYWJlbEhpbnQ6ImxhYmVsSGludC1KYTdJR0RPZyIsbGFiZWxPbjoibGFiZWxPbi1KYTdJR0RPZyJ9fSw3MzU0NjIoZSl7ZS5leHBvcnRzPXt3cmFwcGVyOiJ3cmFwcGVyLXE1NFR3eUNPIixob3ZlcmVkOiJob3ZlcmVkLXE1NFR3eUNPIixzd2l0Y2hXcmFwOiJzd2l0Y2hXcmFwLXE1NFR3eUNPIix3aXRoSWNvbjoid2l0aEljb24tcTU0VHd5Q08iLGxhYmVsUm93OiJsYWJlbFJvdy1xNTRUd3lDTyIsbGFiZWw6ImxhYmVsLXE1NFR3eUNPIixpY29uOiJpY29uLXE1NFR3eUNPIixsYWJlbF9kaXNhYmxlZDoibGFiZWxfZGlzYWJsZWQtcTU0VHd5Q08iLGxhYmVsSGludDoibGFiZWxIaW50LXE1NFR3eUNPIixsYWJlbE9uOiJsYWJlbE9uLXE1NFR3eUNPIixhY2Nlc3NpYmxlOiJhY2Nlc3NpYmxlLXE1NFR3eUNPIn19LDI3NzA3NihlKXtlLmV4cG9ydHM9e2J1dHRvbjoiYnV0dG9uLUhkS2hjVHllIixwcmVzc2VkOiJwcmVzc2VkLUhkS2hjVHllIixob3ZlcjoiaG92ZXItSGRLaGNUeWUiLGNsaWNrZWQ6ImNsaWNrZWQtSGRLaGNUeWUiLGlzSW50ZXJhY3RpdmU6ImlzSW50ZXJhY3RpdmUtSGRLaGNUeWUiLGFjY2Vzc2libGU6ImFjY2Vzc2libGUtSGRLaGNUeWUiLGlzR3JvdXBlZDoiaXNHcm91cGVkLUhkS2hjVHllIixpc0FjdGl2ZToiaXNBY3RpdmUtSGRLaGNUeWUiLGlzT3BlbmVkOiJpc09wZW5lZC1IZEtoY1R5ZSIsaXNEaXNhYmxlZDoiaXNEaXNhYmxlZC1IZEtoY1R5ZSIsdGV4dDoidGV4dC1IZEtoY1R5ZSIsaWNvbjoiaWNvbi1IZEtoY1R5ZSIsZW5kSWNvbjoiZW5kSWNvbi1IZEtoY1R5ZSJ9fSwyOTgwODYoZSl7ZS5leHBvcnRzPXtidXR0b246ImJ1dHRvbi1GRHRpRGJ5aiJ9fSw5MTM3NyhlKXtlLmV4cG9ydHM9e2FjdGlvbjoiYWN0aW9uLXltRnU5UUVEIixzaG93T25Ib3Zlcjoic2hvd09uSG92ZXIteW1GdTlRRUQifX0sNTI4MTAxKGUpe2UuZXhwb3J0cz17YmFkZ2VOZXc6ImJhZGdlTmV3LWFfU2FnWlFBIn19LDQyODA5NyhlKXtlLmV4cG9ydHM9e2Vtb2ppOiJlbW9qaS1Cc0VSR2NaMSIsY2xlYXJCdXR0b246ImNsZWFyQnV0dG9uLUJzRVJHY1oxIn19LDQwMjIzKGUpe2UuZXhwb3J0cz17d3JhcHBlcjoid3JhcHBlci1tejA4NjZNMiIsaG92ZXJlZDoiaG92ZXJlZC1tejA4NjZNMiJ9fSw2ODQ3MzcoZSx0LG4pewoidXNlIHN0cmljdCI7bi5kKHQse1JlbW92ZVRpdGxlVHlwZTooKT0+YSxyZW1vdmVUaXRsZXNNYXA6KCk9PnJ9KTt2YXIgYSxvPW4oNzgzMjU0KTshZnVuY3Rpb24oZSl7ZS5BZGQ9ImFkZCIsZS5SZW1vdmU9InJlbW92ZSJ9KGF8fChhPXt9KSk7Y29uc3Qgcj17W2EuQWRkXTpvLnQobnVsbCx2b2lkIDAsbig5OTUyOSkpLFthLlJlbW92ZV06by50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSl9fSwzNTcyNjIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVCdXR0b246KCk9PnV9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDY4NDczNykscz1uKDk1Mzc0KSxjPW4oNjk2NDMpLGQ9big4MjY5NzgpLG09big5Njk2MzEpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7Y2xhc3NOYW1lOnQsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLG9uQ2xpY2s6dSx0aXRsZTpoLC4uLnZ9PWUsW3AsZl09KDAscy51c2VBY3RpdmVEZXNjZW5kYW50KShudWxsKSxnPWg/PyhuP2wucmVtb3ZlVGl0bGVzTWFwW2wuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06bC5yZW1vdmVUaXRsZXNNYXBbbC5SZW1vdmVUaXRsZVR5cGUuQWRkXSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9cC5jdXJyZW50O2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZyYmZS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29tbW9uLXRvb2x0aXAtdXBkYXRlIikpfSksW2cscF0pLGEuY3JlYXRlRWxlbWVudChpLkljb24sey4uLnYsY2xhc3NOYW1lOnIoKShtLmZhdm9yaXRlLCJhcHBseS1jb21tb24tdG9vbHRpcCIsbiYmbS5jaGVja2VkLG8mJm0uYWN0aXZlLGYmJm0uZm9jdXNlZCx0KSxvbkNsaWNrOnUsaWNvbjpuP2M6ZCx0aXRsZTpnLGFyaWFMYWJlbDpnLHJlZjpwfSl9fSw5NTM3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHt1c2VBY3RpdmVEZXNjZW5kYW50OigpPT5yfSk7dmFyIGE9big3Nzk0NzQpLG89big3ODc4OTUpO2Z1bmN0aW9uIHIoZSx0PVtdKXtjb25zdFtuLHJdPSgwLGEudXNlU3RhdGUpKCExKSxpPSgwLG8udXNlRnVuY3Rpb25hbFJlZk9iamVjdCkoZSk7cmV0dXJuKDAsYS51c2VMYXlvdXRFZmZlY3QpKCgoKT0+e2NvbnN0IGU9aS5jdXJyZW50O2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PWU9Pntzd2l0Y2goZS50eXBlKXtjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIjpyKCEwKTticmVhaztjYXNlImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiOnIoITEpfX07cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtZm9jdXMiLHQpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYWN0aXZlLWRlc2NlbmRhbnQtYmx1ciIsdCksKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWZvY3VzIix0KSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFjdGl2ZS1kZXNjZW5kYW50LWJsdXIiLHQpfX0pLHQpLFtpLG5dfX0sNjA5NTI4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RpYWxvZ0JyZWFrcG9pbnRzOigpPT5vfSk7dmFyIGE9big5MjQ1MDcpO2NvbnN0IG89e1NtYWxsSGVpZ2h0OmFbInNtYWxsLWhlaWdodC1icmVha3BvaW50Il0sVGFibGV0U21hbGw6YVsidGFibGV0LXNtYWxsLWJyZWFrcG9pbnQiXSxUYWJsZXROb3JtYWw6YVsidGFibGV0LW5vcm1hbC1icmVha3BvaW50Il19fSwzOTE1MDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bXVsdGlsaW5lTGFiZWxXaXRoSWNvbkFuZFRvb2xib3hUaGVtZTooKT0+aX0pO3ZhciBhPW4oMzg3MjMxKSxvPW4oNDcwMjk1KSxyPW4oMzU0ODEyKTtjb25zdCBpPSgwLGEubWVyZ2VUaGVtZXMpKG8scil9LDU0NTQyMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtSZW1vdmVCdXR0b246KCk9Pm19KTt2YXIgYT1uKDc4MzI1NCksbz1uKDc3OTQ3NCkscj1uKDkxNDQ4NyksaT1uLm4ociksbD1uKDI3MzMxMCkscz1uKDk1Mzc0KSxjPW4oNDg5MDU5KSxkPW4oNzQwOTQzKTtmdW5jdGlvbiBtKGUpe2NvbnN0e2NsYXNzTmFtZTp0LGlzQWN0aXZlOnIsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aCxoaWRkZW46diwiZGF0YS1uYW1lIjpwPSJyZW1vdmUtYnV0dG9uIixpY29uOmYsLi4uZ309ZSxbdyxiXT0oMCxzLnVzZUFjdGl2ZURlc2NlbmRhbnQpKG51bGwpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQobC5JY29uLHsuLi5nLCJkYXRhLW5hbWUiOnAsY2xhc3NOYW1lOmkoKShkLmJ1dHRvbiwiYXBwbHktY29tbW9uLXRvb2x0aXAiLHImJmQuYWN0aXZlLHYmJmQuaGlkZGVuLGImJmQuZm9jdXNlZCx0KSxpY29uOmZ8fGMsb25DbGljazptLG9uTW91c2VEb3duOnUsdGl0bGU6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxhcmlhTGFiZWw6aD8/YS50KG51bGwsdm9pZCAwLG4oOTExMjYpKSxyZWY6d30pfX0sNzE5NzM3KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0Zhdm9yaXRlSWNvbkJ1dHRvbjooKT0+d30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oNzgzMjU0KSxsPW4oMzMyNjg3KSxzPW4oNzI5MjUwKSxjPW4oMzQ1MTE2KSxkPW4oNTk5NzUpLG09bi5uKGQpLHU9bigyMzA2ODYpLGg9bi5uKHUpLHY9bigxMzM2NTYpLHA9bi5uKHYpO2NvbnN0IGY9bSgpLGc9aCgpLHc9KDAsYS5mb3J3YXJkUmVmKSgoKGUsdCk9Pntjb25zdCBvPSgwLGEudXNlQ29udGV4dCkobC5JY29uQnV0dG9uVmFyaWFudENvbnRleHQpLHtpc0Zhdm9yaXRlOmQsb25DaGFuZ2VJc0Zhdm9yaXRlOm0sc2hhcGU6dSx2YXJpYW50Omg9by52YXJpYW50Pz8icHJpbWFyeSIsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJvbGU6YiwuLi55fT1lLEU9KDAsYy5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh5KTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KHMuVG9nZ2xlYWJsZUljb25CdXR0b24se3RvZ2dsZWRJY29uOmYsdW50b2dnbGVkSWNvbjpnLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpyKCkocCgpLmZhdm9yaXRlc0ljb25CdXR0b25Ub2dnbGVkLHAoKVtoXSksaXNUb2dnbGVkOmQsb25Ub2dnbGU6bSwKdW50b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oOTk1MjkpKSx0b2dnbGVkVGl0bGU6aS50KG51bGwsdm9pZCAwLG4oNjk0MjA5KSksc2hhcGU6dSx2YXJpYW50OmgsdGFiSW5kZXg6dixkYXRhUWFJZDp3LHJlZjp0LHJvbGU6YiwuLi5FfSl9KSl9LDIzNDYzNihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBhO24uZCh0LHtCYWRnZVNpemU6KCk9PmF9KSxmdW5jdGlvbihlKXtlLlhTbWFsbD0ieHNtYWxsIixlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UiLGUuWExhcmdlPSJ4bGFyZ2UifShhfHwoYT17fSkpfSwyNjQzMTgoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7Q2xpY2thYmxlSWNvbkJ1dHRvbjooKT0+bX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMzMyNjg3KSxsPW4oMjE3Mjc0KSxzPW4oMzQ1MTE2KSxjPW4oOTkzOTk1KSxkPW4ubihjKTtjb25zdCBtPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3Qgbj0oMCxhLnVzZUNvbnRleHQpKGkuSWNvbkJ1dHRvblZhcmlhbnRDb250ZXh0KS52YXJpYW50LHt0aXRsZTpvLG9uQ2xpY2s6Yyxjb2xvckNsYXNzTmFtZTptLGljb246dSx2YXJpYW50Omg9bj8/aS5ERUZBVUxUX0lDT05fQlVUVE9OX1ZBUklBTlQsc2hhcGU6dj0ic3F1YXJlIix0YWJJbmRleDpwLHJvbGU6ZixkYXRhUWFJZDpnLC4uLnd9PWUsYj0oMCxzLmZpbHRlckNoZWNrZWREYXRhUHJvcHMpKHcsZyk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7cmVmOnQsdGl0bGU6byx0eXBlOiJidXR0b24iLHJvbGU6ZiwiYXJpYS1sYWJlbCI6byxvbkNsaWNrOmMsdGFiSW5kZXg6cCxjbGFzc05hbWU6cigpKGQoKS5pY29uQnV0dG9uLGQoKVtoXSxkKClbdl0sbSwiYXBwbHktY29tbW9uLXRvb2x0aXAiKSwuLi5ifSxhLmNyZWF0ZUVsZW1lbnQobC5CbG9ja0ljb24se2ljb246dSxjbGFzc05hbWU6ZCgpLmljb24sImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSl9KSl9LDcyOTI1MChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb2dnbGVhYmxlSWNvbkJ1dHRvbjooKT0+aX0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oMjY0MzE4KSxyPW4oMzQ1MTE2KTtjb25zdCBpPSgwLGEuZm9yd2FyZFJlZikoKChlLHQpPT57Y29uc3R7b25Ub2dnbGU6bixpc1RvZ2dsZWQ6aSx0b2dnbGVkVGl0bGU6bCx0b2dnbGVkSWNvbjpzLHRvZ2dsZWRDb2xvckNsYXNzTmFtZTpjLHVudG9nZ2xlZFRpdGxlOmQsdW50b2dnbGVkSWNvbjptLHVudG9nZ2xlZENvbG9yQ2xhc3NOYW1lOnUsdmFyaWFudDpoLHNoYXBlOnYsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi53fT1lLGI9KDAsci5maWx0ZXJDaGVja2VkRGF0YVByb3BzKSh3KTtsZXQgeSxFLFQ7cmV0dXJuIGk/KFQ9bCx5PXMsRT1jKTooVD1kLHk9bSxFPXUpLGEuY3JlYXRlRWxlbWVudChvLkNsaWNrYWJsZUljb25CdXR0b24se3RpdGxlOlQsaWNvbjp5LG9uQ2xpY2s6KCk9Pm4oIWkpLGNvbG9yQ2xhc3NOYW1lOkUsdmFyaWFudDpoLHNoYXBlOnYscmVmOnQsZGF0YVFhSWQ6cCx0YWJJbmRleDpmLHJvbGU6ZywuLi5ifSl9KSl9LDIxNzI3NChlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtCbG9ja0ljb246KCk9PmN9KTt2YXIgYT1uKDkxNDQ4Nyksbz1uLm4oYSkscj1uKDc3OTQ3NCksaT1uKDk0ODQ1MCksbD1uKDE0NTk4NSkscz1uLm4obCk7Y29uc3QgYz1yLmZvcndhcmRSZWYoKChlLHQpPT57Y29uc3R7Y2xhc3NOYW1lOm4saWNvbjphLGFyaWFMYWJlbDpsLGFyaWFMYWJlbGxlZGJ5OmMsdGl0bGU6ZCwuLi5tfT1lLHU9bTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KGkuQ29tbW9uSWNvbix7Y2xhc3NOYW1lOm8oKShuLHMoKS5ibG9ja0ljb24pLHJlZjp0LGljb246YSxhcmlhTGFiZWw6bCxhcmlhTGFiZWxsZWRieTpjLHRpdGxlOmQsLi4udX0pfSkpfSw3MzI3MzEoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RGl2aWRlckxpc3RJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big5OTQyOCkscj1uLm4obyk7ZnVuY3Rpb24gaShlKXtjb25zdHtyb2xlOnR9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOnIoKS5kaXZpZGVyLHJvbGU6dH0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cigpLmxpbmV9KSl9fSwzMDgyMTYoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7U3dpdGNoVmlldzooKT0+Y30pO3ZhciBhLG89big3Nzk0NzQpLHI9big5MTQ0ODcpLGk9bi5uKHIpLGw9big2MjU3MDkpLHM9bi5uKGwpO2Z1bmN0aW9uIGMoZSl7Y29uc3R7c2l6ZTp0PSJzbWFsbCIsY2hlY2tlZDpuLGRpc2FibGVkOmF9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTppKCkocygpLnN3aXRjaFZpZXcscygpW3RdLGEmJnMoKS5kaXNhYmxlZCxuJiZzKCkuY2hlY2tlZCl9LG8uY3JlYXRlRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZTpzKCkudHJhY2t9KSxvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6cygpLnRodW1ifSkpfSFmdW5jdGlvbihlKXtlLlNtYWxsPSJzbWFsbCIsZS5NZWRpdW09Im1lZGl1bSIsZS5MYXJnZT0ibGFyZ2UifShhfHwoYT17fSkpfSwxMjgzMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtTd2l0Y2g6KCk9PnV9KTt2YXIgYSxvPW4oNzc5NDc0KSxyPW4oOTE0NDg3KSxpPW4ubihyKSxsPW4oMzA5OTIwKSxzPW4oMzA4MjE2KSxjPW4oMjM1NzI0KSxkPW4oNjg3NTQ3KSxtPW4ubihkKTtmdW5jdGlvbiB1KGUpe2NvbnN0IHQ9KDAsby51c2VDb250ZXh0KShsLkN1c3RvbUJlaGF2aW91ckNvbnRleHQpLHtzaXplOm4saW50ZW50OmE9ImRlZmF1bHQiLGNoZWNrZWQ6cixjbGFzc05hbWU6ZCxlbmFibGVBY3RpdmVTdGF0ZVN0eWxlczp1PXQuZW5hYmxlQWN0aXZlU3RhdGVTdHlsZXMsZGlzYWJsZWQ6aCxvbkNoYW5nZTp2LHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyx0YWJJbmRleDpiLHJvbGU6eT0ic3dpdGNoIixhcmlhRGlzYWJsZWQ6RSxyZWZlcmVuY2U6VCxhcmlhTGFiZWxsZWRCeTp4LGFyaWFMYWJlbDpJLC4uLkN9PWUKO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHtjbGFzc05hbWU6aSgpKGQsbSgpLnN3aXRjaGVyKX0sby5jcmVhdGVFbGVtZW50KCJpbnB1dCIsey4uLkMsdHlwZToiY2hlY2tib3giLGNsYXNzTmFtZTppKCkobSgpLmlucHV0LHUmJm0oKS5hY3RpdmVTdHlsZXNFbmFibGVkLHImJm0oKS5jaGVja2VkLGgmJm0oKS5kaXNhYmxlZCkscm9sZTp5LCJhcmlhLWNoZWNrZWQiOnIsY2hlY2tlZDpyLG9uS2V5RG93bjplPT57MTM9PT0oMCxjLmhhc2hGcm9tRXZlbnQpKGUpJiZlLmN1cnJlbnRUYXJnZXQ/LmNsaWNrKCl9LG9uQ2hhbmdlOnYsZGlzYWJsZWQ6aCwiYXJpYS1kaXNhYmxlZCI6RSx0YWJJbmRleDpiLHRpdGxlOnAsaWQ6ZixuYW1lOmcsdmFsdWU6dyxyZWY6VCwiYXJpYS1sYWJlbCI6SSwiYXJpYS1sYWJlbGxlZGJ5Ijp4fSksby5jcmVhdGVFbGVtZW50KCJzcGFuIix7Y2xhc3NOYW1lOmkoKShtKCkudGh1bWJXcmFwcGVyLG0oKVthXSl9LG8uY3JlYXRlRWxlbWVudChzLlN3aXRjaFZpZXcse2NoZWNrZWQ6cixzaXplOm4sZGlzYWJsZWQ6aH0pKSl9IWZ1bmN0aW9uKGUpe2UuRGVmYXVsdD0iZGVmYXVsdCIsZS5TZWxlY3Q9InNlbGVjdCJ9KGF8fChhPXt9KSl9LDY1OTM2NShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtiaW5kU2NyZWVuc2hvdDooKT0+aH0pO3ZhciBhPW4oMTg1MjcxKSxvPW4oNzc5NDc0KSxyPW4oMjIxODk2KSxpPW4oNTY5NjUyKSxsPW4oNzU0MjQ2KSxzPW4oODI2MTU2KSxjPW4oMzQ0MTAzKTtjb25zdCBkPW5ldyBzLkRhdGVUaW1lRm9ybWF0dGVyKHtkYXRlVGltZVNlcGFyYXRvcjoiXyIsdGltZUZvcm1hdDoiJWgtJW0tJXMifSksbT17dGFrZVNuYXBzaG90OmEudChudWxsLHZvaWQgMCxuKDIwNzM3MSkpfSx1PSgwLGkucmVnaXN0cnlDb250ZXh0VHlwZSkoKTtmdW5jdGlvbiBoKGUpe3ZhciB0O3JldHVybih0PWNsYXNzIGV4dGVuZHMgby5QdXJlQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KSx0aGlzLl9jbGllbnRTbmFwc2hvdD1hc3luYygpPT57Y29uc3QgZT10aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJ0V2lkZ2V0LnZhbHVlKCkubW9kZWwoKS5tYWluU2VyaWVzKCkuYWN0dWFsU3ltYm9sKCk7cmV0dXJue2NhbnZhczphd2FpdCB0aGlzLmNvbnRleHQuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmNsaWVudFNuYXBzaG90KCksbmFtZTpgJHsoMCxjLnNob3J0TmFtZSkoZSl9XyR7ZC5mb3JtYXRMb2NhbChuZXcgRGF0ZSl9YH19LHRoaXMuX3NlcnZlclNuYXBzaG90PWFzeW5jKCk9Pntjb25zdCBlPXRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24uYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKS5tb2RlbCgpLm1haW5TZXJpZXMoKS5hY3R1YWxTeW1ib2woKSx0PWF3YWl0IHRoaXMuY29udGV4dC5jaGFydFdpZGdldENvbGxlY3Rpb24udGFrZVNjcmVlbnNob3QoKSxuPSgwLGwuY29udmVydEltYWdlTmFtZVRvVXJsKSh0KTtyZXR1cm57c3ltYm9sOigwLGMuc2hvcnROYW1lKShlKSxpbWFnZVVybDpufX0sKDAsaS52YWxpZGF0ZVJlZ2lzdHJ5KSh0LHtjaGFydFdpZGdldENvbGxlY3Rpb246ci5hbnkuaXNSZXF1aXJlZH0pfXJlbmRlcigpe2NvbnN0e2NsYXNzTmFtZTp0LGlkOm59PXRoaXMucHJvcHM7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChlLHtpZDpuLGNsYXNzTmFtZTp0LHRvb2x0aXA6bS50YWtlU25hcHNob3Qsc2VydmVyU25hcHNob3Q6dGhpcy5fc2VydmVyU25hcHNob3QsY2xpZW50U25hcHNob3Q6dGhpcy5fY2xpZW50U25hcHNob3Qsc25hcHNob3RVcmw6dGhpcy5jb250ZXh0LnNuYXBzaG90VXJsfSl9fSkuY29udGV4dFR5cGU9dSx0fX0sODYxMTg4KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2ZvY3VzRmlyc3RNZW51SXRlbTooKT0+ZCxoYW5kbGVBY2Nlc3NpYmxlTWVudUZvY3VzOigpPT5zLGhhbmRsZUFjY2Vzc2libGVNZW51S2V5RG93bjooKT0+YyxxdWVyeU1lbnVFbGVtZW50czooKT0+aH0pO3ZhciBhPW4oOTgzNjE2KSxvPW4oMzI5NjY4KSxyPW4oMjM1NzI0KSxpPW4oNjgyMzgxKTtjb25zdCBsPVszNywzOSwzOCw0MF07ZnVuY3Rpb24gcyhlLHQpe2lmKCFlLnRhcmdldClyZXR1cm47Y29uc3Qgbj1lLnJlbGF0ZWRUYXJnZXQ/LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iik7aWYoZS5yZWxhdGVkVGFyZ2V0IT09dC5jdXJyZW50KXtjb25zdCBlPW4mJmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG4pO2lmKCFlfHxlIT09dC5jdXJyZW50KXJldHVybn1kKGUudGFyZ2V0KX1mdW5jdGlvbiBjKGUpe2lmKGUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47Y29uc3QgdD0oMCxyLmhhc2hGcm9tRXZlbnQpKGUpO2lmKCFsLmluY2x1ZGVzKHQpKXJldHVybjtjb25zdCBuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7aWYoIShkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKXJldHVybjtjb25zdCBpPWgoZS5jdXJyZW50VGFyZ2V0KS5zb3J0KGEubmF2aWdhdGlvbk9yZGVyQ29tcGFyYXRvcik7aWYoMD09PWkubGVuZ3RoKXJldHVybjtjb25zdCBzPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtcm9sZT0ibWVudWl0ZW0iXScpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXJvbGU9Im1lbnVpdGVtIl0nKTtpZighKHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuO2NvbnN0IGM9aS5pbmRleE9mKHMpO2lmKC0xPT09YylyZXR1cm47Y29uc3QgZD12KHMpLHA9ZC5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLGY9LTEhPT1wLGc9ZT0+e24mJigwLG8uYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkobiksKDAsby5iZWNvbWVNYWluRWxlbWVudCkoZSksZS5mb2N1cygpfTtzd2l0Y2goKDAsYS5tYXBLZXlDb2RlVG9EaXJlY3Rpb24pKHQpKXtjYXNlImlubGluZVByZXYiOmlmKCFkLmxlbmd0aClyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpLGcoMD09PXA/aVtjXTpmP20oZCxwLC0xKTpkW2QubGVuZ3RoLTFdKTticmVhaztjYXNlImlubGluZU5leHQiOgppZighZC5sZW5ndGgpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwPT09ZC5sZW5ndGgtMT9nKGlbY10pOmcoZj9tKGQscCwxKTpkWzBdKTticmVhaztjYXNlImJsb2NrUHJldiI6e2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0PW0oaSxjLC0xKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCk7YnJlYWt9Y2FzZSJibG9ja05leHQiOntlLnByZXZlbnREZWZhdWx0KCk7Y29uc3QgdD1tKGksYywxKTtpZihmKXtjb25zdCBlPXUodCxwKTtnKGV8fHQpO2JyZWFrfWcodCl9fX1mdW5jdGlvbiBkKGUpe2NvbnN0W3RdPWgoZSk7dCYmKCgwLG8uYmVjb21lTWFpbkVsZW1lbnQpKHQpLHQuZm9jdXMoKSl9ZnVuY3Rpb24gbShlLHQsbil7cmV0dXJuIGVbKHQrZS5sZW5ndGgrbiklZS5sZW5ndGhdfWZ1bmN0aW9uIHUoZSx0KXtjb25zdCBuPXYoZSk7cmV0dXJuIG4ubGVuZ3RoP25bKHQrbi5sZW5ndGgpJW4ubGVuZ3RoXTpudWxsfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1yb2xlPSJtZW51aXRlbSJdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIEFycmF5LmZyb20oZS5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9InRydWUiIGldKScpKS5maWx0ZXIoKDAsaS5jcmVhdGVTY29wZWRWaXNpYmxlRWxlbWVudEZpbHRlcikoZSkpfX0sNjE5MTA1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse01lbnVGYXZvcml0ZUJ1dHRvbjooKT0+ZH0pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oMTgyMzA4KSxsPW4oMzU3MjYyKSxzPW4oNjg0NzM3KSxjPW4oNTcwNDk4KTtmdW5jdGlvbiBkKGUpe2NvbnN0e29uQ2xpY2s6dCxpc0ZpbGxlZDpuLGlzQWN0aXZlOm8sY2xhc3NOYW1lOmQsY29sb3JUeXBlOm09ImxlZ2FjeSIsLi4udX09ZSxbaCx2XT0oMCxpLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCkscD1uP3MucmVtb3ZlVGl0bGVzTWFwW3MuUmVtb3ZlVGl0bGVUeXBlLlJlbW92ZV06cy5yZW1vdmVUaXRsZXNNYXBbcy5SZW1vdmVUaXRsZVR5cGUuQWRkXTtyZXR1cm4oMCxhLnVzZUxheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT1oLmN1cnJlbnQ7ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb21tb24tdG9vbHRpcC11cGRhdGUiKSl9KSxbcCxoXSksYS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHtyZWY6aCx0YWJJbmRleDp2LG9uQ2xpY2s6dCxjbGFzc05hbWU6cigpKGMuYnV0dG9uLG8mJmMuYWN0aXZlLGQsImFwcGx5LWNvbW1vbi10b29sdGlwIiksdHlwZToiYnV0dG9uIiwiYXJpYS1sYWJlbCI6cCwiZGF0YS10b29sdGlwIjpwLCJkYXRhLXFhLWlkIjoicHJlc2V0LW1lbnUtZmF2b3JpdGUtYnV0dG9uIn0sYS5jcmVhdGVFbGVtZW50KGwuRmF2b3JpdGVCdXR0b24sey4uLnUsaXNGaWxsZWQ6bixpc0FjdGl2ZTpvLHRpdGxlOiIiLGNsYXNzTmFtZTpyKCkoYy5mYXZvcml0ZSwibmV3Ij09PW0mJm4mJmMuZmlsbGVkLG8mJmMuYWN0aXZlKX0pKX19LDI1NTMyOShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRTooKT0+dSxNZW51SXRlbVN3aXRjaGVyOigpPT5ofSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigxMjgzMiksbD1uKDI3MzMxMCkscz1uKDIzNTcyNCksYz1uKDE4MjMwOCksZD1uKDM0NTExNiksbT1uKDczNTQ2Mik7Y29uc3QgdT1tO2Z1bmN0aW9uIGgoZSl7Y29uc3R7cm9sZTp0LGNoZWNrZWQ6bixvbkNoYW5nZTpvLGNsYXNzTmFtZTp1LGlkOmgsbGFiZWw6dixsYWJlbERlc2NyaXB0aW9uOnAscHJldmVudExhYmVsSGlnaGxpZ2h0OmYsdmFsdWU6ZyxyZWZlcmVuY2U6dyxzd2l0Y2hSZWZlcmVuY2U6Yix0aGVtZTp5PW0sZGlzYWJsZWQ6RSxzd2l0Y2hSb2xlOlQsaWNvbjp4fT1lLFtJLENdPSgwLGMudXNlUm92aW5nVGFiaW5kZXhFbGVtZW50KShudWxsKSxTPXIoKSh5LmxhYmVsLG4mJiFmJiZ5LmxhYmVsT24sRSYmbS5sYWJlbF9kaXNhYmxlZCksaz1yKCkodSx5LndyYXBwZXIsbiYmeS53cmFwcGVyV2l0aE9uTGFiZWwscCYmeS53cmFwcGVyV2l0aERlc2NyaXB0aW9uKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJsYWJlbCIse3JvbGU6dCxjbGFzc05hbWU6cigpKGsseCYmeS53aXRoSWNvbixtLmFjY2Vzc2libGUpLGh0bWxGb3I6aCxyZWY6dyxvbktleURvd246ZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQhPT1lLmN1cnJlbnRUYXJnZXQpcmV0dXJuO2NvbnN0IHQ9KDAscy5oYXNoRnJvbUV2ZW50KShlKTsxMyE9PXQmJjMyIT09dHx8KGUucHJldmVudERlZmF1bHQoKSxJLmN1cnJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmSS5jdXJyZW50LmNsaWNrKCkpfSx0YWJJbmRleDpDLCJkYXRhLXJvbGUiOiJtZW51aXRlbSIsImFyaWEtZGlzYWJsZWQiOkV8fHZvaWQgMCwiYXJpYS1zZWxlY3RlZCI6bn0sdm9pZCAwIT09eCYmYS5jcmVhdGVFbGVtZW50KGwuSWNvbix7Y2xhc3NOYW1lOnkuaWNvbixpY29uOnh9KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsUm93fSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpTfSx2KSxwJiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTp5LmxhYmVsSGludH0scCkpLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOm0uc3dpdGNoV3JhcH0sYS5jcmVhdGVFbGVtZW50KGkuU3dpdGNoLHtkaXNhYmxlZDpFLGNsYXNzTmFtZTp5LnN3aXRjaCxyZWZlcmVuY2U6ZnVuY3Rpb24oZSl7SShlKSxiPy4oZSl9LGNoZWNrZWQ6bixvbkNoYW5nZTpmdW5jdGlvbihlKXtjb25zdCB0PWUudGFyZ2V0LmNoZWNrZWQ7dm9pZCAwIT09byYmbyh0KX0sdmFsdWU6Zyx0YWJJbmRleDotMSxpZDpoLHJvbGU6VCxhcmlhRGlzYWJsZWQ6ITAsCi4uLigwLGQuZmlsdGVyRGF0YVByb3BzKShlKX0pKSl9fSwzNzQzMDQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7bWVudUl0ZW1Td2l0Y2hlck1vYmlsZVRoZW1lOigpPT5pfSk7dmFyIGE9bigzODcyMzEpLG89bigyNTUzMjkpLHI9big1NTMxNDkpO2NvbnN0IGk9KDAsYS5tZXJnZVRoZW1lcykoby5ERUZBVUxUX01FTlVfSVRFTV9TV0lUQ0hFUl9USEVNRSxyKX0sOTk1NzE5KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0RFRkFVTFRfVE9PTF9XSURHRVRfQlVUVE9OX1RIRU1FOigpPT5zLFRvb2xXaWRnZXRCdXR0b246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDI3NzA3Nik7Y29uc3Qgcz1sLGM9YS5mb3J3YXJkUmVmKCgoZSx0KT0+e2NvbnN0e3RhZzpuPSJkaXYiLGljb246byxlbmRJY29uOnMsaXNBY3RpdmU6Yyxpc09wZW5lZDpkLGlzRGlzYWJsZWQ6bSxpc0Rpc2FibGVkQXBwZWFyYW5jZTp1LGlzRGlzYWJsZUludGVyYWN0aW9uOmgsaXNHcm91cGVkOnYsaXNIb3ZlcmVkOnAsaXNDbGlja2VkOmYsb25DbGljazpnLHRleHQ6dyx0ZXh0QmVmb3JlSWNvbjpiLHRpdGxlOnksdGhlbWU6RT1sLGNsYXNzTmFtZTpULGZvcmNlSW50ZXJhY3RpdmU6eCwiZGF0YS1uYW1lIjpJLCJkYXRhLXRvb2x0aXAiOkMsdG9vbHRpcFBvc2l0aW9uOlMsY2hpbGRyZW46ayxpc1ByZXNzZWQ6XywuLi5NfT1lLE49cigpKFQsRS5idXR0b24seyJhcHBseS1jb21tb24tdG9vbHRpcCI6Qm9vbGVhbih5fHxDKSwiY29tbW9uLXRvb2x0aXAtdmVydGljYWwiOkJvb2xlYW4oQykmJiJ2ZXJ0aWNhbCI9PT1TLFtFLmlzQWN0aXZlXTpjLFtFLmlzT3BlbmVkXTpkLFtFLmlzSW50ZXJhY3RpdmVdOih4fHxCb29sZWFuKGcpKSYmIW0mJiF1LFtFLmlzRGlzYWJsZWRdOkJvb2xlYW4obXx8dSksW0UuaXNHcm91cGVkXTp2LFtFLmhvdmVyXTpwLFtFLmNsaWNrZWRdOmYsW0UucHJlc3NlZF06X30pLHo9byYmKCJzdHJpbmciPT10eXBlb2Ygbz9hLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtjbGFzc05hbWU6RS5pY29uLGljb246b30pOmEuY2xvbmVFbGVtZW50KG8se2NsYXNzTmFtZTpyKCkoRS5pY29uLG8ucHJvcHMuY2xhc3NOYW1lKX0pKTtyZXR1cm4iYnV0dG9uIj09PW4/YS5jcmVhdGVFbGVtZW50KCJidXR0b24iLHsuLi5NLHJlZjp0LHR5cGU6ImJ1dHRvbiIsY2xhc3NOYW1lOnIoKShOLEUuYWNjZXNzaWJsZSksZGlzYWJsZWQ6bSYmIXV8fGgsb25DbGljazpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxrKTphLmNyZWF0ZUVsZW1lbnQoImRpdiIsey4uLk0scmVmOnQsImRhdGEtcm9sZSI6ImJ1dHRvbiIsY2xhc3NOYW1lOk4sb25DbGljazptfHxoP3ZvaWQgMDpnLHRpdGxlOnksImRhdGEtbmFtZSI6SSwiZGF0YS10b29sdGlwIjpDfSxiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSx6LCFiJiZ3JiZhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkoImpzLWJ1dHRvbi10ZXh0IixFLnRleHQpfSx3KSxzJiZhLmNyZWF0ZUVsZW1lbnQoaS5JY29uLHtpY29uOnMsY2xhc3NOYW1lOmwuZW5kSWNvbn0pLGspfSkpfSw0MDg0MShlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtUb29sV2lkZ2V0SWNvbkJ1dHRvbjooKT0+c30pO3ZhciBhPW4oNzc5NDc0KSxvPW4oOTE0NDg3KSxyPW4ubihvKSxpPW4oOTk1NzE5KSxsPW4oMjk4MDg2KTtjb25zdCBzPWEuZm9yd2FyZFJlZigoZnVuY3Rpb24oZSx0KXtjb25zdHtjbGFzc05hbWU6bixpZDpvLC4uLnN9PWU7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChpLlRvb2xXaWRnZXRCdXR0b24se2lkOm8sImRhdGEtbmFtZSI6bywuLi5zLHJlZjp0LGNsYXNzTmFtZTpyKCkobixsLmJ1dHRvbil9KX0pKX0sMTAzMTYwKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0NvbnRleHRBY3Rpb246KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDk4ODA2OCksbD1uKDkxMzc3KTtjb25zdCBzPXtbaS5EQVRBX0lTX0NPTlRFWFRfQUNUSU9OXTohMH07ZnVuY3Rpb24gYyhlKXtjb25zdHtjaGlsZHJlbjp0LGNsYXNzTmFtZTpuLGhpZGVJZk5vSG92ZXI6bywuLi5pfT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoInNwYW4iLHsuLi5pLC4uLnMsY2xhc3NOYW1lOnIoKShsLmFjdGlvbixvJiZsLnNob3dPbkhvdmVyLG4pLG9uQ2xpY2s6ZT0+e2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpfX0sdCl9fSw5Nzk3NDIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RmF2b3JpdGVJY29uQnV0dG9uOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89big3MTk3MzcpLHI9bigxODIzMDgpO2Z1bmN0aW9uIGkoZSl7Y29uc3R7aXNGYXZvcml0ZTp0LG9uQ2xpY2s6bn09ZSxbaSxsXT0oMCxyLnVzZVJvdmluZ1RhYmluZGV4RWxlbWVudCkobnVsbCk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChvLkZhdm9yaXRlSWNvbkJ1dHRvbix7cmVmOmkscm9sZToiYnV0dG9uIix0YWJJbmRleDpsLGlzRmF2b3JpdGU6dCxvbkNoYW5nZUlzRmF2b3JpdGU6KCk9Pm4oKSwiZGF0YS1xYS1pZCI6InByZXNldC1tZW51LWZhdm9yaXRlLWJ1dHRvbiJ9KX19LDcyMzk4NihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtNZW51U3dpdGNoZXJJdGVtOigpPT5pfSk7dmFyIGE9big3Nzk0NzQpLG89bigzMDgyMTYpLHI9bigzMTMxMTApO2Z1bmN0aW9uIGkoZSl7Y29uc3R7dmFsdWU6dCwuLi5ufT1lO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoci5NZW51SXRlbSx7Li4ubixyaWdodFNsb3Q6YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJncmlkY2VsbCJ9LGEuY3JlYXRlRWxlbWVudChvLlN3aXRjaFZpZXcse2NoZWNrZWQ6dH0pKSxhcmlhQ2hlY2tlZDp0LApkb250Q2xvc2VQb3B1cDohMH0pfX0sNTU4MDc1KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2dlbmVyYXRlQ2hhcnRVcmw6KCk9Pm99KTt2YXIgYT1uKDExNzMxMyk7ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUuY2hhcnRJZD9gL2NoYXJ0LyR7ZS5jaGFydElkfS9gOiIvY2hhcnQvIixuPW5ldyBVUkwodCxsb2NhdGlvbi5ocmVmKTtyZXR1cm4gZS5zeW1ib2wmJm4uc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIixlLnN5bWJvbCksZS5pbnRlcnZhbCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJpbnRlcnZhbCIsZS5pbnRlcnZhbCksZS5zdHlsZSYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJzdHlsZSIsZS5zdHlsZSksKDAsYS51cmxXaXRoTW9iaWxlQXBwUGFyYW1zKShuLmhyZWYpfX0sOTA4MDM0KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse3VzZVJvd3NOYXZpZ2F0aW9uOigpPT5tfSk7dmFyIGE9big3Nzk0NzQpLG89bigxMzg2MzgpLHI9big5ODM2MTYpLGk9bigyMzU3MjQpLGw9bigzMjk2NjgpLHM9big2ODIzODEpLGM9big2MTYzMTEpO2NvbnN0IGQ9WzM3LDM5LDM4LDQwXTtmdW5jdGlvbiBtKGUpe2NvbnN0IHQ9KDAsYS51c2VSZWYpKG51bGwpO3JldHVybigwLGMudXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCkoKCgpPT57Y29uc3QgZT0oMCxvLmVuc3VyZU5vdE51bGwpKHQuY3VycmVudCksbj0oKT0+e2NvbnN0IG49KDAsci5xdWVyeVRhYmJhYmxlRWxlbWVudHMpKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKTtpZigwPT09bi5sZW5ndGh8fG5bMF0ucGFyZW50RWxlbWVudCYmIXYoblswXS5wYXJlbnRFbGVtZW50LCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpe2NvbnN0IGE9ZnVuY3Rpb24oZSl7Y29uc3Qgbj1oKGUpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxhPW4uZmluZCgoZT0+dihlLCgwLG8uZW5zdXJlTm90TnVsbCkodC5jdXJyZW50KSkpKTtpZighYSlyZXR1cm4gbnVsbDtjb25zdCBpPUFycmF5LmZyb20oYS5jaGlsZHJlbik7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBpWzBdfShlKTtpZihudWxsPT09YSlyZXR1cm47aWYoKDAsbC5iZWNvbWVNYWluRWxlbWVudCkoYSksbi5sZW5ndGg+MClmb3IoY29uc3QgZSBvZiBuKSgwLGwuYmVjb21lU2Vjb25kYXJ5RWxlbWVudCkoZSl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWJvYXJkLW5hdmlnYXRpb24tYWN0aXZhdGlvbiIsbiksbigpLCgpPT53aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5Ym9hcmQtbmF2aWdhdGlvbi1hY3RpdmF0aW9uIixuKX0pLFtdKSxbdCxmdW5jdGlvbih0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IG49KDAsaS5oYXNoRnJvbUV2ZW50KSh0KTtpZighZC5pbmNsdWRlcyhuKSlyZXR1cm47Y29uc3QgYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2lmKCEoYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSlyZXR1cm47Y29uc3Qgbz10LmN1cnJlbnRUYXJnZXQ7bGV0IGwsYztpZihlKXtjb25zdCBlPWEucGFyZW50RWxlbWVudDtsPWU/QXJyYXkuZnJvbShlLmNoaWxkcmVuKTpbXSxjPWwuaW5kZXhPZihhKX1lbHNlIGw9KG09byxBcnJheS5mcm9tKG0ucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOm5vdChbYXJpYS1kaXNhYmxlZD0idHJ1ZSIgaV0pJykpLmZpbHRlcigoMCxzLmNyZWF0ZVNjb3BlZFZpc2libGVFbGVtZW50RmlsdGVyKShtKSkpLnNvcnQoci5uYXZpZ2F0aW9uT3JkZXJDb21wYXJhdG9yKSxjPWwuaW5kZXhPZihhKTt2YXIgbTtpZigwPT09bC5sZW5ndGh8fC0xPT09YylyZXR1cm47Y29uc3Qgdj0oMCxyLm1hcEtleUNvZGVUb0RpcmVjdGlvbikobik7c3dpdGNoKHYpe2Nhc2UiaW5saW5lUHJldiI6aWYodC5wcmV2ZW50RGVmYXVsdCgpLCFlJiYwPT09YylicmVhaztwKHUobCxjLC0xKSk7YnJlYWs7Y2FzZSJpbmxpbmVOZXh0IjppZih0LnByZXZlbnREZWZhdWx0KCksIWUmJmM9PT1sLmxlbmd0aC0xKWJyZWFrO3AodShsLGMsMSkpO2JyZWFrO2Nhc2UiYmxvY2tQcmV2IjpjYXNlImJsb2NrTmV4dCI6KG49PntpZighZG9jdW1lbnQuYWN0aXZlRWxlbWVudClyZXR1cm47Y29uc3QgYT1oKG8pLHI9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O2lmKCFyKXJldHVybjtjb25zdCBpPUFycmF5LmZyb20oci5jaGlsZHJlbikuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtpZigtMT09PWkpcmV0dXJuO2NvbnN0IGw9YVsiYmxvY2tOZXh0Ij09PW4/YS5pbmRleE9mKHIpKzE6YS5pbmRleE9mKHIpLTFdO2lmKCFsKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3Qgcz1BcnJheS5mcm9tKGwuY2hpbGRyZW4pO3MubGVuZ3RoJiYoIWUmJmk8PXMubGVuZ3RoLTE/cChzW2ldKTpwKHNbMF0pKX0pKHYpfX1dfWZ1bmN0aW9uIHUoZSx0LG4pe3JldHVybiBlWyh0K2UubGVuZ3RoK24pJWUubGVuZ3RoXX1mdW5jdGlvbiBoKGUpe3JldHVybiBBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcm9sZT0icm93Il0nKSkuZmlsdGVyKCgwLHMuY3JlYXRlU2NvcGVkVmlzaWJsZUVsZW1lbnRGaWx0ZXIpKGUpKX1mdW5jdGlvbiB2KGUsdCl7Y29uc3Qgbj0oMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkub2Zmc2V0VG9wLGE9bisoMCxvLmVuc3VyZU5vdE51bGwpKGUucGFyZW50RWxlbWVudCkuY2xpZW50SGVpZ2h0LHI9dC5zY3JvbGxUb3AsaT1yK3QuY2xpZW50SGVpZ2h0O3JldHVybiBuPj1yJiZhPD1pfWZ1bmN0aW9uIHAoZSl7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmKDAsbC5iZWNvbWVTZWNvbmRhcnlFbGVtZW50KShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSwoMCxsLmJlY29tZU1haW5FbGVtZW50KShlKSxlLmZvY3VzKCl9fSw3MDM4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7QmFkZ2VOZXc6KCk9PmN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDU5MDQ4NiksbD1uKDIzNDYzNikscz1uKDUyODEwMSk7ZnVuY3Rpb24gYyhlKXtjb25zdHtzaXplOnQsY2xhc3NOYW1lOm59PWUKO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoaS5CYWRnZSx7c2l6ZTp0Pz9sLkJhZGdlU2l6ZS5YU21hbGwsY2xhc3NOYW1lOnIoKShzLmJhZGdlTmV3LG4pfSwiTkVXIil9fSw0Mjc3NzMoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RU1QVFlfRU1PSkk6KCk9PmF9KTtjb25zdCBhPSIifSwzMTUxNTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7ZW1vamlHcm91cHM6KCk9PkwsaXNTdXBwb3J0ZWRFbW9qaTooKT0+TSxsb2NhbGVDb21wYXJlRW1vamlUaXRsZXM6KCk9PnoscmVtb3ZlVW5hdmFpbGFibGVFbW9qaTooKT0+XyxzZXBhcmF0ZUVtb2ppOigpPT5OfSk7dmFyIGE9big3Nzk0NzQpLG89bigxODUyNzEpLHI9big2NjMwNDYpLGk9big2NDE1OTMpLGw9bigxMzg2MzgpLHM9bigyNzM3MzIpLGM9big4MTQ2NzApLGQ9big2MjA3ODEpLG09bigxNjExNzcpLHU9bigxODU2MDUpLGg9bigyMDI1MTEpLHY9big3NTA3NjkpLHA9big2OTQ1MzIpLGY9big5MDAzMTEpLGc9big1Njk3ODUpCjtjb25zdCB3PVsi8J+YgCIsIvCfmIMiLCLwn5iEIiwi8J+YgSIsIvCfmIYiLCLwn5iFIiwi8J+YgiIsIvCfpKMiLCLimLrvuI8iLCLwn5iKIiwi8J+YhyIsIvCfmYIiLCLwn5mDIiwi8J+YiSIsIvCfmIwiLCLwn5iNIiwi8J+lsCIsIvCfmJgiLCLwn5iXIiwi8J+YmSIsIvCfmJoiLCLwn5iLIiwi8J+YmyIsIvCfmJ0iLCLwn5icIiwi8J+kqiIsIvCfpKgiLCLwn6eQIiwi8J+kkyIsIvCfmI4iLCLwn6SpIiwi8J+lsyIsIvCfmI8iLCLwn5iSIiwi8J+YniIsIvCfmJQiLCLwn5ifIiwi8J+YlSIsIvCfmYEiLCLimLnvuI8iLCLwn5ijIiwi8J+YliIsIvCfmKsiLCLwn5ipIiwi8J+luiIsIvCfmKIiLCLwn5itIiwi8J+YpCIsIvCfmKAiLCLwn5ihIiwi8J+krCIsIvCfpK8iLCLwn5izIiwi8J+ltSIsIvCfpbYiLCLwn5ixIiwi8J+YqCIsIvCfmLAiLCLwn5ilIiwi8J+YkyIsIvCfpJciLCLwn6SUIiwi8J+krSIsIvCfpKsiLCLwn6SlIiwi8J+YtiIsIvCfmJAiLCLwn5iRIiwi8J+YrCIsIvCfmYQiLCLwn5ivIiwi8J+YpiIsIvCfmKciLCLwn5iuIiwi8J+YsiIsIvCfpbEiLCLwn5i0Iiwi8J+kpCIsIvCfmKoiLCLwn5i1Iiwi8J+kkCIsIvCfpbQiLCLwn6SiIiwi8J+kriIsIvCfpKciLCLwn5i3Iiwi8J+kkiIsIvCfpJUiLCLwn6SRIiwi8J+koCIsIvCfmIgiLCLwn5G/Iiwi8J+RuSIsIvCfkboiLCLwn6ShIiwi8J+SqSIsIvCfkbsiLCLwn5KAIiwi4pig77iPIiwi8J+RvSIsIvCfkb4iLCLwn6SWIiwi8J+OgyIsIvCfmLoiLCLwn5i4Iiwi8J+YuSIsIvCfmLsiLCLwn5i8Iiwi8J+YvSIsIvCfmYAiLCLwn5i/Iiwi8J+YviIsIvCfkYsiLCLwn6SaIiwi8J+WkCIsIuKciyIsIvCflpYiLCLwn5GMIiwi8J+kjyIsIuKcjO+4jyIsIvCfpJ4iLCLwn6SfIiwi8J+kmCIsIvCfpJkiLCLwn5GIIiwi8J+RiSIsIvCfkYYiLCLwn5aVIiwi8J+RhyIsIuKYne+4jyIsIvCfkY0iLCLwn5GOIiwi4pyKIiwi8J+RiiIsIvCfpJsiLCLwn6ScIiwi8J+RjyIsIvCfmYwiLCLwn5GQIiwi8J+ksiIsIvCfpJ0iLCLwn5mPIiwi4pyN77iPIiwi8J+ShSIsIvCfpLMiLCLwn5KqIiwi8J+mviIsIvCfprUiLCLwn6a/Iiwi8J+mtiIsIvCfkYIiLCLwn6a7Iiwi8J+RgyIsIvCfp6AiLCLwn6a3Iiwi8J+mtCIsIvCfkYAiLCLwn5GBIiwi8J+RhSIsIvCfkYQiLCLwn5KLIiwi8J+puCIsIvCfkbYiLCLwn6eSIiwi8J+RpiIsIvCfkaciLCLwn6eRIiwi8J+RsSIsIvCfkagiLCLwn6eUIiwi8J+RqOKAjfCfprAiLCLwn5Go4oCN8J+msSIsIvCfkajigI3wn6azIiwi8J+RqOKAjfCfprIiLCLwn5GpIiwi8J+RqeKAjfCfprAiLCLwn6eR4oCN8J+msCIsIvCfkanigI3wn6axIiwi8J+nkeKAjfCfprEiLCLwn5Gp4oCN8J+msyIsIvCfp5HigI3wn6azIiwi8J+RqeKAjfCfprIiLCLwn6eR4oCN8J+msiIsIvCfkbHigI3imYDvuI8iLCLwn5Gx4oCN4pmC77iPIiwi8J+nkyIsIvCfkbQiLCLwn5G1Iiwi8J+ZjSIsIvCfmY3igI3imYLvuI8iLCLwn5mN4oCN4pmA77iPIiwi8J+ZjiIsIvCfmY7igI3imYLvuI8iLCLwn5mO4oCN4pmA77iPIiwi8J+ZhSIsIvCfmYXigI3imYLvuI8iLCLwn5mF4oCN4pmA77iPIiwi8J+ZhiIsIvCfmYbigI3imYLvuI8iLCLwn5mG4oCN4pmA77iPIiwi8J+SgSIsIvCfkoHigI3imYLvuI8iLCLwn5KB4oCN4pmA77iPIiwi8J+ZiyIsIvCfmYvigI3imYLvuI8iLCLwn5mL4oCN4pmA77iPIiwi8J+njyIsIvCfp4/igI3imYLvuI8iLCLwn6eP4oCN4pmA77iPIiwi8J+ZhyIsIvCfmYfigI3imYLvuI8iLCLwn5mH4oCN4pmA77iPIiwi8J+kpiIsIvCfpKbigI3imYLvuI8iLCLwn6Sm4oCN4pmA77iPIiwi8J+ktyIsIvCfpLfigI3imYLvuI8iLCLwn6S34oCN4pmA77iPIiwi8J+nkeKAjeKale+4jyIsIvCfkajigI3impXvuI8iLCLwn5Gp4oCN4pqV77iPIiwi8J+nkeKAjfCfjpMiLCLwn5Go4oCN8J+OkyIsIvCfkanigI3wn46TIiwi8J+nkeKAjfCfj6siLCLwn5Go4oCN8J+PqyIsIvCfkanigI3wn4+rIiwi8J+nkeKAjeKalu+4jyIsIvCfkajigI3impbvuI8iLCLwn5Gp4oCN4pqW77iPIiwi8J+nkeKAjfCfjL4iLCLwn5Go4oCN8J+MviIsIvCfkanigI3wn4y+Iiwi8J+nkeKAjfCfjbMiLCLwn5Go4oCN8J+NsyIsIvCfkanigI3wn42zIiwi8J+nkeKAjfCflKciLCLwn5Go4oCN8J+UpyIsIvCfkanigI3wn5SnIiwi8J+nkeKAjfCfj60iLCLwn5Go4oCN8J+PrSIsIvCfkanigI3wn4+tIiwi8J+nkeKAjfCfkrwiLCLwn5Go4oCN8J+SvCIsIvCfkanigI3wn5K8Iiwi8J+nkeKAjfCflKwiLCLwn5Go4oCN8J+UrCIsIvCfkanigI3wn5SsIiwi8J+nkeKAjfCfkrsiLCLwn5Go4oCN8J+SuyIsIvCfkanigI3wn5K7Iiwi8J+nkeKAjfCfjqQiLCLwn5Go4oCN8J+OpCIsIvCfkanigI3wn46kIiwi8J+nkeKAjfCfjqgiLCLwn5Go4oCN8J+OqCIsIvCfkanigI3wn46oIiwi8J+nkeKAjeKciO+4jyIsIvCfkajigI3inIjvuI8iLCLwn5Gp4oCN4pyI77iPIiwi8J+nkeKAjfCfmoAiLCLwn5Go4oCN8J+agCIsIvCfkanigI3wn5qAIiwi8J+nkeKAjfCfmpIiLCLwn5Go4oCN8J+akiIsIvCfkanigI3wn5qSIiwi8J+RriIsIvCfka7igI3imYLvuI8iLCLwn5Gu4oCN4pmA77iPIiwi8J+VtSIsIvCflbXvuI/igI3imYLvuI8iLCLwn5W177iP4oCN4pmA77iPIiwi8J+SgiIsIvCfkoLigI3imYLvuI8iLCLwn5KC4oCN4pmA77iPIiwi8J+RtyIsIvCfkbfigI3imYLvuI8iLCLwn5G34oCN4pmA77iPIiwi8J+ktCIsIvCfkbgiLCLwn5GzIiwi8J+Rs+KAjeKZgu+4jyIsIvCfkbPigI3imYDvuI8iLCLwn5GyIiwi8J+nlSIsIvCfpLUiLCLwn5GwIiwi8J+ksCIsIvCfpLEiLCLwn5G8Iiwi8J+OhSIsIvCfpLYiLCLwn6a4Iiwi8J+muOKAjeKZgu+4jyIsIvCfprjigI3imYDvuI8iLCLwn6a5Iiwi8J+mueKAjeKZgu+4jyIsIvCfprnigI3imYDvuI8iLCLwn6eZIiwi8J+nmeKAjeKZgu+4jyIsIvCfp5nigI3imYDvuI8iLCLwn6eaIiwi8J+nmuKAjeKZgu+4jyIsIvCfp5rigI3imYDvuI8iLCLwn6ebIiwi8J+nm+KAjeKZgu+4jyIsIvCfp5vigI3imYDvuI8iLCLwn6ecIiwi8J+nnOKAjeKZgu+4jyIsIvCfp5zigI3imYDvuI8iLCLwn6edIiwi8J+nneKAjeKZgu+4jyIsIvCfp53igI3imYDvuI8iLCLwn6eeIiwi8J+nnuKAjeKZgu+4jyIsIvCfp57igI3imYDvuI8iLCLwn6efIiwi8J+nn+KAjeKZgu+4jyIsIvCfp5/igI3imYDvuI8iLCLwn5KGIiwi8J+ShuKAjeKZgu+4jyIsIvCfkobigI3imYDvuI8iLCLwn5KHIiwi8J+Sh+KAjeKZgu+4jyIsIvCfkofigI3imYDvuI8iLCLwn5q2Iiwi8J+atuKAjeKZgu+4jyIsIvCfmrbigI3imYDvuI8iLCLwn6eNIiwi8J+njeKAjeKZgu+4jyIsIvCfp43igI3imYDvuI8iLCLwn6eOIiwi8J+njuKAjeKZgu+4jyIsIvCfp47igI3imYDvuI8iLCLwn6eR4oCN8J+mryIsIvCfkajigI3wn6avIiwi8J+RqeKAjfCfpq8iLCLwn6eR4oCN8J+mvCIsIvCfkajigI3wn6a8Iiwi8J+RqeKAjfCfprwiLCLwn6eR4oCN8J+mvSIsIvCfkajigI3wn6a9Iiwi8J+RqeKAjfCfpr0iLCLwn4+DIiwi8J+Pg+KAjeKZgu+4jyIsIvCfj4PigI3imYDvuI8iLCLwn5KDIiwi8J+VuiIsIvCflbQiLCLwn5GvIiwi8J+Rr+KAjeKZgu+4jyIsIvCfka/igI3imYDvuI8iLCLwn6eWIiwi8J+nluKAjeKZgu+4jyIsIvCfp5bigI3imYDvuI8iLCLwn6eR4oCN8J+kneKAjfCfp5EiLCLwn5GtIiwi8J+RqyIsIvCfkawiLCLwn5KPIiwi8J+RqOKAjeKdpO+4j+KAjfCfkovigI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkovigI3wn5GpIiwi8J+SkSIsIvCfkajigI3inaTvuI/igI3wn5GoIiwi8J+RqeKAjeKdpO+4j+KAjfCfkakiLCLwn5GqIiwi8J+RqOKAjfCfkanigI3wn5GmIiwi8J+RqOKAjfCfkanigI3wn5GnIiwi8J+RqOKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5GmIiwi8J+RqOKAjfCfkajigI3wn5GnIiwi8J+RqOKAjfCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RqOKAjfCfkafigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5GmIiwi8J+RqeKAjfCfkanigI3wn5GnIiwi8J+RqeKAjfCfkanigI3wn5Gn4oCN8J+RpiIsIvCfkanigI3wn5Gp4oCN8J+RpuKAjfCfkaYiLCLwn5Gp4oCN8J+RqeKAjfCfkafigI3wn5GnIiwi8J+RqOKAjfCfkaYiLCLwn5Go4oCN8J+RpuKAjfCfkaYiLCLwn5Go4oCN8J+RpyIsIvCfkajigI3wn5Gn4oCN8J+RpiIsIvCfkajigI3wn5Gn4oCN8J+RpyIsIvCfkanigI3wn5GmIiwi8J+RqeKAjfCfkabigI3wn5GmIiwi8J+RqeKAjfCfkaciLCLwn5Gp4oCN8J+Rp+KAjfCfkaYiLCLwn5Gp4oCN8J+Rp+KAjfCfkaciLCLwn5ejIiwi8J+RpCIsIvCfkaUiLCLwn5GjIl0sYj1bIvCfkLYiLCLwn5CxIiwi8J+QrSIsIvCfkLkiLCLwn5CwIiwi8J+miiIsIvCfkLsiLCLwn5C8Iiwi8J+QqCIsIvCfkK8iLCLwn6aBIiwi8J+QriIsIvCfkLciLCLwn5C9Iiwi8J+QuCIsIvCfkLUiLCLwn5mIIiwi8J+ZiSIsIvCfmYoiLCLwn5CSIiwi8J+QlCIsIvCfkKciLCLwn5CmIiwi8J+QpCIsIvCfkKMiLCLwn5ClIiwi8J+mhiIsIvCfpoUiLCLwn6aJIiwi8J+mhyIsIvCfkLoiLCLwn5CXIiwi8J+QtCIsIvCfpoQiLCLwn5CdIiwi8J+QmyIsIvCfposiLCLwn5CMIiwi8J+QniIsIvCfkJwiLCLwn6afIiwi8J+mlyIsIvCflbciLCLwn5W4Iiwi8J+mgiIsIvCfkKIiLCLwn5CNIiwi8J+mjiIsIvCfppYiLCLwn6aVIiwi8J+QmSIsIvCfppEiLCLwn6aQIiwi8J+mniIsIvCfpoAiLCLwn5ChIiwi8J+QoCIsIvCfkJ8iLCLwn5CsIiwi8J+QsyIsIvCfkIsiLCLwn6aIIiwi8J+QiiIsIvCfkIUiLCLwn5CGIiwi8J+mkyIsIvCfpo0iLCLwn6anIiwi8J+QmCIsIvCfppsiLCLwn6aPIiwi8J+QqiIsIvCfkKsiLCLwn6aSIiwi8J+mmCIsIvCfkIMiLCLwn5CCIiwi8J+QhCIsIvCfkI4iLCLwn5CWIiwi8J+QjyIsIvCfkJEiLCLwn6aZIiwi8J+QkCIsIvCfpowiLCLwn5CVIiwi8J+QqSIsIvCfpq4iLCLwn5CV4oCN8J+muiIsIvCfkIgiLCLwn5CTIiwi8J+mgyIsIvCfppoiLCLwn6acIiwi8J+moiIsIvCfpqkiLCLwn5WKIiwi8J+QhyIsIvCfpp0iLCLwn6aoIiwi8J+moSIsIvCfpqYiLCLwn6alIiwi8J+QgSIsIvCfkIAiLCLwn5C/Iiwi8J+mlCIsIvCfkL4iLCLwn5CJIiwi8J+QsiIsIvCfjLUiLCLwn46EIiwi8J+MsiIsIvCfjLMiLCLwn4y0Iiwi8J+MsSIsIvCfjL8iLCLimJjvuI8iLCLwn42AIiwi8J+OjSIsIvCfjosiLCLwn42DIiwi8J+NgiIsIvCfjYEiLCLwn42EIiwi8J+QmiIsIvCfjL4iLCLwn5KQIiwi8J+MtyIsIvCfjLkiLCLwn6WAIiwi8J+MuiIsIvCfjLgiLCLwn4y8Iiwi8J+MuyIsIvCfjJ4iLCLwn4ydIiwi8J+MmyIsIvCfjJwiLCLwn4yaIiwi8J+MlSIsIvCfjJYiLCLwn4yXIiwi8J+MmCIsIvCfjJEiLCLwn4ySIiwi8J+MkyIsIvCfjJQiLCLwn4yZIiwi8J+MjiIsIvCfjI0iLCLwn4yPIiwi8J+qkCIsIvCfkqsiLCLirZDvuI8iLCLwn4yfIiwi4pyoIiwi4pqh77iPIiwi4piE77iPIiwi8J+SpSIsIvCflKUiLCLwn4yqIiwi8J+MiCIsIuKYgO+4jyIsIvCfjKQiLCLim4XvuI8iLCLwn4ylIiwi4piB77iPIiwi8J+MpiIsIvCfjKciLCLim4giLCLwn4ypIiwi8J+MqCIsIuKdhO+4jyIsIuKYg++4jyIsIuKbhO+4jyIsIvCfjKwiLCLwn5KoIiwi8J+SpyIsIvCfkqYiLCLimJTvuI8iLCLwn4yKIiwi8J+MqyJdLHk9WyLwn42PIiwi8J+NjiIsIvCfjZAiLCLwn42KIiwi8J+NiyIsIvCfjYwiLCLwn42JIiwi8J+NhyIsIvCfjZMiLCLwn42IIiwi8J+NkiIsIvCfjZEiLCLwn6WtIiwi8J+NjSIsIvCfpaUiLCLwn6WdIiwi8J+NhSIsIvCfjYYiLCLwn6WRIiwi8J+lpiIsIvCfpawiLCLwn6WSIiwi8J+MtiIsIvCfjL0iLCLwn6WVIiwi8J+nhCIsIvCfp4UiLCLwn6WUIiwi8J+NoCIsIvCfpZAiLCLwn6WvIiwi8J+NniIsIvCfpZYiLCLwn6WoIiwi8J+ngCIsIvCfpZoiLCLwn42zIiwi8J+niCIsIvCfpZ4iLCLwn6eHIiwi8J+lkyIsIvCfpakiLCLwn42XIiwi8J+NliIsIvCfjK0iLCLwn42UIiwi8J+NnyIsIvCfjZUiLCLwn6WqIiwi8J+lmSIsIvCfp4YiLCLwn4yuIiwi8J+MryIsIvCfpZciLCLwn6WYIiwi8J+lqyIsIvCfjZ0iLCLwn42cIiwi8J+NsiIsIvCfjZsiLCLwn42jIiwi8J+NsSIsIvCfpZ8iLCLwn6aqIiwi8J+NpCIsIvCfjZkiLCLwn42aIiwi8J+NmCIsIvCfjaUiLCLwn6WgIiwi8J+lriIsIvCfjaIiLCLwn42hIiwi8J+NpyIsIvCfjagiLCLwn42mIiwi8J+lpyIsIvCfp4EiLCLwn42wIiwi8J+OgiIsIvCfja4iLCLwn42tIiwi8J+NrCIsIvCfjasiLCLwn42/Iiwi8J+NqSIsIvCfjaoiLCLwn4ywIiwi8J+lnCIsIvCfja8iLCLwn6WbIiwi8J+NvCIsIuKYle+4jyIsIvCfjbUiLCLwn6eDIiwi8J+lpCIsIvCfjbYiLCLwn426Iiwi8J+NuyIsIvCfpYIiLCLwn423Iiwi8J+lgyIsIvCfjbgiLCLwn425Iiwi8J+niSIsIvCfjb4iLCLwn6eKIiwi8J+lhCIsIvCfjbQiLCLwn429Iiwi8J+loyIsIvCfpaEiLCLwn6WiIiwi8J+ngiJdLEU9WyLimr3vuI8iLCLwn4+AIiwi8J+PiCIsIuKavu+4jyIsIvCfpY4iLCLwn46+Iiwi8J+PkCIsIvCfj4kiLCLwn6WPIiwi8J+OsSIsIvCfqoAiLCLwn4+TIiwi8J+PuCIsIvCfj5IiLCLwn4+RIiwi8J+ljSIsIvCfj48iLCLwn6WFIiwi4puz77iPIiwi8J+qgSIsIvCfj7kiLCLwn46jIiwi8J+kvyIsIvCfpYoiLCLwn6WLIiwi8J+OvSIsIvCfm7kiLCLwn5u3Iiwi4pu4Iiwi8J+ljCIsIvCfjr8iLCLim7ciLCLwn4+CIiwi8J+qgiIsIvCfj4vvuI8iLCLwn4+L77iP4oCN4pmC77iPIiwi8J+Pi++4j+KAjeKZgO+4jyIsIvCfpLwiLCLwn6S84oCN4pmC77iPIiwi8J+kvOKAjeKZgO+4jyIsIvCfpLjigI3imYDvuI8iLCLwn6S4Iiwi8J+kuOKAjeKZgu+4jyIsIuKbue+4jyIsIuKbue+4j+KAjeKZgu+4jyIsIuKbue+4j+KAjeKZgO+4jyIsIvCfpLoiLCLwn6S+Iiwi8J+kvuKAjeKZgu+4jyIsIvCfpL7igI3imYDvuI8iLCLwn4+M77iPIiwi8J+PjO+4j+KAjeKZgu+4jyIsIvCfj4zvuI/igI3imYDvuI8iLCLwn4+HIiwi8J+nmCIsIvCfp5jigI3imYLvuI8iLCLwn6eY4oCN4pmA77iPIiwi8J+PhCIsIvCfj4TigI3imYLvuI8iLCLwn4+E4oCN4pmA77iPIiwi8J+PiiIsIvCfj4rigI3imYLvuI8iLCLwn4+K4oCN4pmA77iPIiwi8J+kvSIsIvCfpL3igI3imYLvuI8iLCLwn6S94oCN4pmA77iPIiwi8J+aoyIsIvCfmqPigI3imYLvuI8iLCLwn5qj4oCN4pmA77iPIiwi8J+nlyIsIvCfp5figI3imYLvuI8iLCLwn6eX4oCN4pmA77iPIiwi8J+atSIsIvCfmrXigI3imYLvuI8iLCLwn5q14oCN4pmA77iPIiwi8J+atCIsIvCfmrTigI3imYLvuI8iLCLwn5q04oCN4pmA77iPIiwi8J+PhiIsIvCfpYciLCLwn6WIIiwi8J+liSIsIvCfj4UiLCLwn46WIiwi8J+PtSIsIvCfjpciLCLwn46rIiwi8J+OnyIsIvCfjqoiLCLwn6S5Iiwi8J+kueKAjeKZgu+4jyIsIvCfpLnigI3imYDvuI8iLCLwn46tIiwi8J+OqCIsIvCfjqwiLCLwn46kIiwi8J+OpyIsIvCfjrwiLCLwn465Iiwi8J+lgSIsIvCfjrciLCLwn466Iiwi8J+OuCIsIvCfqpUiLCLwn467Iiwi8J+OsiIsIvCfjq8iLCLwn46zIiwi8J+OriIsIvCfjrAiLCLwn6epIl0sVD1bIvCfmpciLCLwn5qVIiwi8J+amSIsIvCfmowiLCLwn5qOIiwi8J+PjiIsIvCfmpMiLCLwn5qRIiwi8J+akiIsIvCfmpAiLCLwn5qaIiwi8J+amyIsIvCfmpwiLCLwn6avIiwi8J+mvSIsIvCfprwiLCLwn5u0Iiwi8J+asiIsIvCfm7UiLCLwn4+NIiwi8J+buiIsIvCfmqgiLCLwn5qUIiwi8J+ajSIsIvCfmpgiLCLwn5qWIiwi8J+aoSIsIvCfmqAiLCLwn5qfIiwi8J+agyIsIvCfmosiLCLwn5qeIiwi8J+anSIsIvCfmoQiLCLwn5qFIiwi8J+aiCIsIvCfmoIiLCLwn5qGIiwi8J+ahyIsIvCfmooiLCLwn5qJIiwi4pyI77iPIiwi8J+bqyIsIvCfm6wiLCLwn5upIiwi8J+SuiIsIvCfm7AiLCLwn5qAIiwi8J+buCIsIvCfmoEiLCLwn5u2Iiwi4pu177iPIiwi8J+apCIsIvCfm6UiLCLwn5uzIiwi4pu0Iiwi8J+aoiIsIuKak++4jyIsIuKbve+4jyIsIvCfmqciLCLwn5qmIiwi8J+apSIsIvCfmo8iLCLwn5e6Iiwi8J+XvyIsIvCfl70iLCLwn5e8Iiwi8J+PsCIsIvCfj68iLCLwn4+fIiwi8J+OoSIsIvCfjqIiLCLwn46gIiwi4puy77iPIiwi4puxIiwi8J+PliIsIvCfj50iLCLwn4+cIiwi8J+MiyIsIuKbsCIsIvCfj5QiLCLwn5e7Iiwi8J+PlSIsIuKbuu+4jyIsIvCfj6AiLCLwn4+hIiwi8J+PmCIsIvCfj5oiLCLwn4+XIiwi8J+PrSIsIvCfj6IiLCLwn4+sIiwi8J+PoyIsIvCfj6QiLCLwn4+lIiwi8J+PpiIsIvCfj6giLCLwn4+qIiwi8J+PqyIsIvCfj6kiLCLwn5KSIiwi8J+PmyIsIuKbqu+4jyIsIvCflYwiLCLwn5WNIiwi8J+blSIsIvCflYsiLCLim6kiLCLwn5ukIiwi8J+boyIsIvCfl74iLCLwn46RIiwi8J+PniIsIvCfjIUiLCLwn4yEIiwi8J+MoCIsIvCfjociLCLwn46GIiwi8J+MhyIsIvCfjIYiLCLwn4+ZIiwi8J+MgyIsIvCfjIwiLCLwn4yJIiwi8J+MgSJdLHg9WyLijJrvuI8iLCLwn5OxIiwi8J+TsiIsIvCfkrsiLCLijKjvuI8iLCLwn5alIiwi8J+WqCIsIvCflrEiLCLwn5ayIiwi8J+VuSIsIvCfl5wiLCLwn5K9Iiwi8J+SviIsIvCfkr8iLCLwn5OAIiwi8J+TvCIsIvCfk7ciLCLwn5O4Iiwi8J+TuSIsIvCfjqUiLCLwn5O9Iiwi8J+OniIsIvCfk54iLCLimI7vuI8iLCLwn5OfIiwi8J+ToCIsIvCfk7oiLCLwn5O7Iiwi8J+OmSIsIvCfjpoiLCLwn46bIiwi8J+nrSIsIuKPsSIsIuKPsiIsIuKPsCIsIvCflbAiLCLijJvvuI8iLCLij7MiLCLwn5OhIiwi8J+UiyIsIvCflIwiLCLwn5KhIiwi8J+UpiIsIvCfla8iLCLwn6qUIiwi8J+nryIsIvCfm6IiLCLwn5K4Iiwi8J+StSIsIvCfkrQiLCLwn5K2Iiwi8J+StyIsIvCfkrAiLCLwn5KzIiwi8J+SjiIsIuKalu+4jyIsIvCfp7AiLCLwn5SnIiwi8J+UqCIsIuKakiIsIvCfm6AiLCLim48iLCLwn5SpIiwi4pqZ77iPIiwi8J+nsSIsIuKbkyIsIvCfp7IiLCLwn5SrIiwi8J+SoyIsIvCfp6giLCLwn6qTIiwi8J+UqiIsIvCfl6EiLCLimpTvuI8iLCLwn5uhIiwi8J+arCIsIuKasO+4jyIsIuKase+4jyIsIvCfj7oiLCLwn5SuIiwi8J+TvyIsIvCfp78iLCLwn5KIIiwi4pqX77iPIiwi8J+UrSIsIvCflKwiLCLwn5WzIiwi8J+puSIsIvCfqboiLCLwn5KKIiwi8J+SiSIsIvCfp6wiLCLwn6agIiwi8J+nqyIsIvCfp6oiLCLwn4yhIiwi8J+nuSIsIvCfp7oiLCLwn6e7Iiwi8J+avSIsIvCfmrAiLCLwn5q/Iiwi8J+bgSIsIvCfm4AiLCLwn6e8Iiwi8J+qkiIsIvCfp70iLCLwn6e0Iiwi8J+bjiIsIvCflJEiLCLwn5edIiwi8J+aqiIsIvCfqpEiLCLwn5uLIiwi8J+bjyIsIvCfm4wiLCLwn6e4Iiwi8J+WvCIsIvCfm40iLCLwn5uSIiwi8J+OgSIsIvCfjogiLCLwn46PIiwi8J+OgCIsIvCfjooiLCLwn46JIiwi8J+OjiIsIvCfj64iLCLwn46QIiwi8J+npyIsIuKcie+4jyIsIvCfk6kiLCLwn5OoIiwi8J+TpyIsIvCfkowiLCLwn5OlIiwi8J+TpCIsIvCfk6YiLCLwn4+3Iiwi8J+TqiIsIvCfk6siLCLwn5OsIiwi8J+TrSIsIvCfk64iLCLwn5OvIiwi8J+TnCIsIvCfk4MiLCLwn5OEIiwi8J+TkSIsIvCfp74iLCLwn5OKIiwi8J+TiCIsIvCfk4kiLCLwn5eSIiwi8J+XkyIsIvCfk4YiLCLwn5OFIiwi8J+XkSIsIvCfk4ciLCLwn5eDIiwi8J+XsyIsIvCfl4QiLCLwn5OLIiwi8J+TgSIsIvCfk4IiLCLwn5eCIiwi8J+XniIsIvCfk7AiLCLwn5OTIiwi8J+TlCIsIvCfk5IiLCLwn5OVIiwi8J+TlyIsIvCfk5giLCLwn5OZIiwi8J+TmiIsIvCfk5YiLCLwn5SWIiwi8J+ntyIsIvCflJciLCLwn5OOIiwi8J+WhyIsIvCfk5AiLCLwn5OPIiwi8J+nriIsIvCfk4wiLCLwn5ONIiwi4pyC77iPIiwi8J+WiiIsIvCflosiLCLinJLvuI8iLCLwn5aMIiwi8J+WjSIsIvCfk50iLCLinI/vuI8iLCLwn5SNIiwi8J+UjiIsIvCflI8iLCLwn5SQIiwi8J+UkiIsIvCflJMiLCLwn6ezIiwi8J+MgiIsIuKYgu+4jyIsIvCfp7UiLCLwn6e2Iiwi8J+RkyIsIvCflbYiLCLwn6W9Iiwi8J+lvCIsIvCfproiLCLwn5GUIiwi8J+RlSIsIvCfkZYiLCLwn6ejIiwi8J+npCIsIvCfp6UiLCLwn6emIiwi8J+RlyIsIvCfkZgiLCLwn6W7Iiwi8J+psSIsIvCfqbIiLCLwn6mzIiwi8J+RmSIsIvCfkZoiLCLwn5GbIiwi8J+RnCIsIvCfkZ0iLCLwn46SIiwi8J+RniIsIvCfkZ8iLCLwn6W+Iiwi8J+lvyIsIvCfkaAiLCLwn5GhIiwi8J+psCIsIvCfkaIiLCLwn5GRIiwi8J+RkiIsIvCfjqkiLCLwn46TIiwi8J+noiIsIuKbkSIsIvCfkoQiLCLwn5KNIiwi8J+SvCJdLEk9WyLinaTvuI8iLCLwn6ehIiwi8J+SmyIsIvCfkpoiLCLwn5KZIiwi8J+SnCIsIvCflqQiLCLwn6SNIiwi8J+kjiIsIvCfkpQiLCLinaPvuI8iLCLwn5KVIiwi8J+SniIsIvCfkpMiLCLwn5KXIiwi8J+SliIsIvCfkpgiLCLwn5KdIiwi8J+SnyIsIuKYru+4jyIsIuKcne+4jyIsIuKYqu+4jyIsIvCflYkiLCLimLjvuI8iLCLinKHvuI8iLCLwn5SvIiwi8J+VjiIsIuKYr++4jyIsIuKYpu+4jyIsIvCfm5AiLCLim44iLCLimYjvuI8iLCLimYnvuI8iLCLimYrvuI8iLCLimYvvuI8iLCLimYzvuI8iLCLimY3vuI8iLCLimY7vuI8iLCLimY/vuI8iLCLimZDvuI8iLCLimZHvuI8iLCLimZLvuI8iLCLimZPvuI8iLCLwn4aUIiwi4pqb77iPIiwi8J+JkSIsIuKYou+4jyIsIuKYo++4jyIsIvCfk7QiLCLwn5OzIiwi8J+ItiIsIvCfiJrvuI8iLCLwn4i4Iiwi8J+IuiIsIvCfiLfvuI8iLCLinLTvuI8iLCLwn4aaIiwi8J+SriIsIvCfiZAiLCLjipnvuI8iLCLjipfvuI8iLCLwn4i0Iiwi8J+ItSIsIvCfiLkiLCLwn4iyIiwi8J+FsO+4jyIsIvCfhbHvuI8iLCLwn4aOIiwi8J+GkSIsIvCfhb7vuI8iLCLwn4aYIiwi4p2MIiwi4q2V77iPIiwi8J+bkSIsIuKblO+4jyIsIvCfk5siLCLwn5qrIiwi8J+SryIsIvCfkqIiLCLimajvuI8iLCLwn5q3Iiwi8J+aryIsIvCfmrMiLCLwn5qxIiwi8J+UniIsIvCfk7UiLCLwn5qtIiwi4p2X77iPIiwi4p2VIiwi4p2TIiwi4p2UIiwi4oC877iPIiwi4oGJ77iPIiwi8J+UhSIsIvCflIYiLCLjgL3vuI8iLCLimqDvuI8iLCLwn5q4Iiwi8J+UsSIsIuKanO+4jyIsIvCflLAiLCLimbvvuI8iLCLinIUiLCLwn4iv77iPIiwi8J+SuSIsIuKdh++4jyIsIuKcs++4jyIsIuKdjiIsIvCfjJAiLCLwn5KgIiwi4pOC77iPIiwi8J+MgCIsIvCfkqQiLCLwn4+nIiwi8J+aviIsIuKZv++4jyIsIvCfhb/vuI8iLCLwn4izIiwi8J+Igu+4jyIsIvCfm4IiLCLwn5uDIiwi8J+bhCIsIvCfm4UiLCLwn5q5Iiwi8J+auiIsIvCfmrwiLCLwn5q7Iiwi8J+ariIsIvCfjqYiLCLwn5O2Iiwi8J+IgSIsIvCflKMiLCLihLnvuI8iLCLwn5SkIiwi8J+UoSIsIvCflKAiLCLwn4aWIiwi8J+GlyIsIvCfhpkiLCLwn4aSIiwi8J+GlSIsIvCfhpMiLCIw77iP4oOjIiwiMe+4j+KDoyIsIjLvuI/ig6MiLCIz77iP4oOjIiwiNO+4j+KDoyIsIjXvuI/ig6MiLCI277iP4oOjIiwiN++4j+KDoyIsIjjvuI/ig6MiLCI577iP4oOjIiwi8J+UnyIsIvCflKIiLCIj77iP4oOjIiwiKu+4j+KDoyIsIuKPj++4jyIsIuKWtu+4jyIsIuKPuCIsIuKPryIsIuKPuSIsIuKPuiIsIuKPrSIsIuKPriIsIuKPqSIsIuKPqiIsIuKPqyIsIuKPrCIsIuKXgO+4jyIsIvCflLwiLCLwn5S9Iiwi4p6h77iPIiwi4qyF77iPIiwi4qyG77iPIiwi4qyH77iPIiwi4oaX77iPIiwi4oaY77iPIiwi4oaZ77iPIiwi4oaW77iPIiwi4oaV77iPIiwi4oaU77iPIiwi4oaq77iPIiwi4oap77iPIiwi4qS077iPIiwi4qS177iPIiwi8J+UgCIsIvCflIEiLCLwn5SCIiwi8J+UhCIsIvCflIMiLCLwn461Iiwi8J+OtiIsIuKelSIsIuKeliIsIuKelyIsIuKclu+4jyIsIuKZviIsIvCfkrIiLCLwn5KxIiwi4oSi77iPIiwiwqnvuI8iLCLCru+4jyIsIuOAsO+4jyIsIuKesCIsIuKevyIsIvCflJoiLCLwn5SZIiwi8J+UmyIsIvCflJ0iLCLwn5ScIiwi4pyU77iPIiwi4piR77iPIiwi8J+UmCIsIvCflLQiLCLwn5+gIiwi8J+foSIsIvCfn6IiLCLwn5S1Iiwi8J+foyIsIuKaq++4jyIsIuKaqu+4jyIsIvCfn6QiLCLwn5S6Iiwi8J+UuyIsIvCflLgiLCLwn5S5Iiwi8J+UtiIsIvCflLciLCLwn5SzIiwi8J+UsiIsIuKWqu+4jyIsIuKWq++4jyIsIuKXvu+4jyIsIuKXve+4jyIsIuKXvO+4jyIsIuKXu++4jyIsIvCfn6UiLCLwn5+nIiwi8J+fqCIsIvCfn6kiLCLwn5+mIiwi8J+fqiIsIuKsm++4jyIsIuKsnO+4jyIsIvCfn6siLCLwn5SIIiwi8J+UhyIsIvCflIkiLCLwn5SKIiwi8J+UlCIsIvCflJUiLCLwn5OjIiwi8J+ToiIsIvCfkYHigI3wn5eoIiwi8J+SrCIsIvCfkq0iLCLwn5evIiwi4pmg77iPIiwi4pmj77iPIiwi4pml77iPIiwi4pmm77iPIiwi8J+DjyIsIvCfjrQiLCLwn4CE77iPIiwi8J+VkCIsIvCflZEiLCLwn5WSIiwi8J+VkyIsIvCflZQiLCLwn5WVIiwi8J+VliIsIvCflZciLCLwn5WYIiwi8J+VmSIsIvCflZoiLCLwn5WbIiwi8J+VnCIsIvCflZ0iLCLwn5WeIiwi8J+VnyIsIvCflaAiLCLwn5WhIiwi8J+VoiIsIvCflaMiLCLwn5WkIiwi8J+VpSIsIvCflaYiLCLwn5WnIl0sQz1bIvCfj7PvuI8iLCLwn4+0Iiwi8J+PgSIsIvCfmqkiLCLwn4+z77iP4oCN8J+MiCIsIvCfj7TigI3imKDvuI8iLCLwn4em8J+HqyIsIvCfh6bwn4e9Iiwi8J+HpvCfh7EiLCLwn4ep8J+HvyIsIvCfh6bwn4e4Iiwi8J+HpvCfh6kiLCLwn4em8J+HtCIsIvCfh6bwn4euIiwi8J+HpvCfh7YiLCLwn4em8J+HrCIsIvCfh6bwn4e3Iiwi8J+HpvCfh7IiLCLwn4em8J+HvCIsIvCfh6bwn4e6Iiwi8J+HpvCfh7kiLCLwn4em8J+HvyIsIvCfh6fwn4e4Iiwi8J+Hp/Cfh60iLCLwn4en8J+HqSIsIvCfh6fwn4enIiwi8J+Hp/Cfh74iLCLwn4en8J+HqiIsIvCfh6fwn4e/Iiwi8J+Hp/Cfh68iLCLwn4en8J+HsiIsIvCfh6fwn4e5Iiwi8J+Hp/Cfh7QiLCLwn4en8J+HpiIsIvCfh6fwn4e8Iiwi8J+Hp/Cfh7ciLCLwn4eu8J+HtCIsIvCfh7vwn4esIiwi8J+Hp/Cfh7MiLCLwn4en8J+HrCIsIvCfh6fwn4erIiwi8J+Hp/Cfh64iLCLwn4ew8J+HrSIsIvCfh6jwn4eyIiwi8J+HqPCfh6YiLCLwn4eu8J+HqCIsIvCfh6jwn4e7Iiwi8J+Hp/Cfh7YiLCLwn4ew8J+HviIsIvCfh6jwn4erIiwi8J+HufCfh6kiLCLwn4eo8J+HsSIsIvCfh6jwn4ezIiwi8J+HqPCfh70iLCLwn4eo8J+HqCIsIvCfh6jwn4e0Iiwi8J+HsPCfh7IiLCLwn4eo8J+HrCIsIvCfh6jwn4epIiwi8J+HqPCfh7AiLCLwn4eo8J+HtyIsIvCfh6jwn4euIiwi8J+HrfCfh7ciLCLwn4eo8J+HuiIsIvCfh6jwn4e8Iiwi8J+HqPCfh74iLCLwn4eo8J+HvyIsIvCfh6nwn4ewIiwi8J+HqfCfh68iLCLwn4ep8J+HsiIsIvCfh6nwn4e0Iiwi8J+HqvCfh6giLCLwn4eq8J+HrCIsIvCfh7jwn4e7Iiwi8J+HrPCfh7YiLCLwn4eq8J+HtyIsIvCfh6rwn4eqIiwi8J+HqvCfh7kiLCLwn4eq8J+HuiIsIvCfh6vwn4ewIiwi8J+Hq/Cfh7QiLCLwn4er8J+HryIsIvCfh6vwn4euIiwi8J+Hq/Cfh7ciLCLwn4es8J+HqyIsIvCfh7Xwn4erIiwi8J+HufCfh6siLCLwn4es8J+HpiIsIvCfh6zwn4eyIiwi8J+HrPCfh6oiLCLwn4ep8J+HqiIsIvCfh6zwn4etIiwi8J+HrPCfh64iLCLwn4es8J+HtyIsIvCfh6zwn4exIiwi8J+HrPCfh6kiLCLwn4es8J+HtSIsIvCfh6zwn4e6Iiwi8J+HrPCfh7kiLCLwn4es8J+HrCIsIvCfh6zwn4ezIiwi8J+HrPCfh7wiLCLwn4es8J+HviIsIvCfh63wn4e5Iiwi8J+HrfCfh7MiLCLwn4et8J+HsCIsIvCfh63wn4e6Iiwi8J+HrvCfh7giLCLwn4eu8J+HsyIsIvCfh67wn4epIiwi8J+HrvCfh7ciLCLwn4eu8J+HtiIsIvCfh67wn4eqIiwi8J+HrvCfh7IiLCLwn4eu8J+HsSIsIvCfh67wn4e5Iiwi8J+Hr/Cfh7IiLCLwn4ev8J+HtSIsIvCfjowiLCLwn4ev8J+HqiIsIvCfh6/wn4e0Iiwi8J+HsPCfh78iLCLwn4ew8J+HqiIsIvCfh7Dwn4euIiwi8J+HvfCfh7AiLCLwn4ew8J+HvCIsIvCfh7Dwn4esIiwi8J+HsfCfh6YiLCLwn4ex8J+HuyIsIvCfh7Hwn4enIiwi8J+HsfCfh7giLCLwn4ex8J+HtyIsIvCfh7Hwn4e+Iiwi8J+HsfCfh64iLCLwn4ex8J+HuSIsIvCfh7Hwn4e6Iiwi8J+HsvCfh7QiLCLwn4ey8J+HsCIsIvCfh7Lwn4esIiwi8J+HsvCfh7wiLCLwn4ey8J+HviIsIvCfh7Lwn4e7Iiwi8J+HsvCfh7EiLCLwn4ey8J+HuSIsIvCfh7Lwn4etIiwi8J+HsvCfh7YiLCLwn4ey8J+HtyIsIvCfh7Lwn4e6Iiwi8J+HvvCfh7kiLCLwn4ey8J+HvSIsIvCfh6vwn4eyIiwi8J+HsvCfh6kiLCLwn4ey8J+HqCIsIvCfh7Lwn4ezIiwi8J+HsvCfh6oiLCLwn4ey8J+HuCIsIvCfh7Lwn4emIiwi8J+HsvCfh78iLCLwn4ey8J+HsiIsIvCfh7Pwn4emIiwi8J+Hs/Cfh7ciLCLwn4ez8J+HtSIsIvCfh7Pwn4exIiwi8J+Hs/Cfh6giLCLwn4ez8J+HvyIsIvCfh7Pwn4euIiwi8J+Hs/Cfh6oiLCLwn4ez8J+HrCIsIvCfh7Pwn4e6Iiwi8J+Hs/Cfh6siLCLwn4ew8J+HtSIsIvCfh7Lwn4e1Iiwi8J+Hs/Cfh7QiLCLwn4e08J+HsiIsIvCfh7Xwn4ewIiwi8J+HtfCfh7wiLCLwn4e18J+HuCIsIvCfh7Xwn4emIiwi8J+HtfCfh6wiLCLwn4e18J+HviIsIvCfh7Xwn4eqIiwi8J+HtfCfh60iLCLwn4e18J+HsyIsIvCfh7Xwn4exIiwi8J+HtfCfh7kiLCLwn4e18J+HtyIsIvCfh7bwn4emIiwi8J+Ht/Cfh6oiLCLwn4e38J+HtCIsIvCfh7fwn4e6Iiwi8J+Ht/Cfh7wiLCLwn4e88J+HuCIsIvCfh7jwn4eyIiwi8J+HuPCfh6YiLCLwn4e48J+HsyIsIvCfh7fwn4e4Iiwi8J+HuPCfh6giLCLwn4e48J+HsSIsIvCfh7jwn4esIiwi8J+HuPCfh70iLCLwn4e48J+HsCIsIvCfh7jwn4euIiwi8J+HrPCfh7giLCLwn4e48J+HpyIsIvCfh7jwn4e0Iiwi8J+Hv/Cfh6YiLCLwn4ew8J+HtyIsIvCfh7jwn4e4Iiwi8J+HqvCfh7giLCLwn4ex8J+HsCIsIvCfh6fwn4exIiwi8J+HuPCfh60iLCLwn4ew8J+HsyIsIvCfh7Hwn4eoIiwi8J+HtfCfh7IiLCLwn4e78J+HqCIsIvCfh7jwn4epIiwi8J+HuPCfh7ciLCLwn4e48J+HvyIsIvCfh7jwn4eqIiwi8J+HqPCfh60iLCLwn4e48J+HviIsIvCfh7nwn4e8Iiwi8J+HufCfh68iLCLwn4e58J+HvyIsIvCfh7nwn4etIiwi8J+HufCfh7EiLCLwn4e58J+HrCIsIvCfh7nwn4ewIiwi8J+HufCfh7QiLCLwn4e58J+HuSIsIvCfh7nwn4ezIiwi8J+HufCfh7ciLCLwn4e58J+HsiIsIvCfh7nwn4eoIiwi8J+HufCfh7siLCLwn4e78J+HriIsIvCfh7rwn4esIiwi8J+HuvCfh6YiLCLwn4em8J+HqiIsIvCfh6zwn4enIiwi8J+PtPOggafzoIGi86CBpfOgga7zoIGn86CBvyIsIvCfj7TzoIGn86CBovOggbPzoIGj86CBtPOggb8iLCLwn4+086CBp/OggaLzoIG386CBrPOggbPzoIG/Iiwi8J+HuvCfh7MiLCLwn4e68J+HuCIsIvCfh7rwn4e+Iiwi8J+HuvCfh78iLCLwn4e78J+HuiIsIvCfh7vwn4emIiwi8J+Hu/Cfh6oiLCLwn4e78J+HsyIsIvCfh7zwn4erIiwi8J+HqvCfh60iLCLwn4e+8J+HqiIsIvCfh7/wn4eyIiwi8J+Hv/Cfh7wiXSxTPVsuLi53LC4uLmIsLi4ueSwuLi5FLC4uLlQsLi4ueCwuLi5JLC4uLkNdLGs9bmV3IFNldChTKQo7ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5maWx0ZXIoKGU9PmsuaGFzKGUpKSl9ZnVuY3Rpb24gTShlKXtyZXR1cm4gay5oYXMoZSl9Y29uc3QgTj0oMCxyLmRlZmF1bHQpKChlPT57Y29uc3QgdD0oMCxpLmdldEZpcnN0U2VnbWVudE9yQ29kZVBvaW50U3RyaW5nKShlKSxuPW51bGwhPT10JiZNKHQpP3Q6IiI7cmV0dXJue2Vtb2ppOm4sZW1vamlMZXNzU3RyaW5nOmUucmVwbGFjZShuLCIiKX19KSk7ZnVuY3Rpb24geihlLHQsLi4ubil7Y29uc3QgYT1OKCgwLGwuZW5zdXJlTm90TnVsbCkoZSkpLmVtb2ppTGVzc1N0cmluZy50cmltKCksbz1OKCgwLGwuZW5zdXJlTm90TnVsbCkodCkpLmVtb2ppTGVzc1N0cmluZy50cmltKCk7cmV0dXJuIGE9PT1vP2UubG9jYWxlQ29tcGFyZSh0LC4uLm4pOmEubG9jYWxlQ29tcGFyZShvLC4uLm4pfWNvbnN0IEw9KCk9Plt7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig0NjU0NTYpKSxlbW9qaXM6W10sY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpjfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDMwNjA3MCkpLGVtb2ppczp3LGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246ZH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbig2Njg0NDkpKSxlbW9qaXM6Yixjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOm19KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oMTQ3NTAwKSksZW1vamlzOnksY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjp1fSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDU3NDcxNSkpLGVtb2ppczpFLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246aH0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxMjMxMzgpKSxlbW9qaXM6VCxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOnZ9KX0se3RpdGxlOm8udChudWxsLHtjb250ZXh0OiJlbW9qaV9ncm91cCJ9LG4oOTQzMzkzKSksZW1vamlzOngsY29udGVudDphLmNyZWF0ZUVsZW1lbnQocy5JY29uSXRlbSx7aWNvbjpwfSl9LHt0aXRsZTpvLnQobnVsbCx7Y29udGV4dDoiZW1vamlfZ3JvdXAifSxuKDI3NjYwOSkpLGVtb2ppczpJLGNvbnRlbnQ6YS5jcmVhdGVFbGVtZW50KHMuSWNvbkl0ZW0se2ljb246Zn0pfSx7dGl0bGU6by50KG51bGwse2NvbnRleHQ6ImVtb2ppX2dyb3VwIn0sbigxNzQxNzgpKSxlbW9qaXM6Qyxjb250ZW50OmEuY3JlYXRlRWxlbWVudChzLkljb25JdGVtLHtpY29uOmd9KX1dfSw0Mjg5MjQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7RW1vamlJdGVtOigpPT51fSk7dmFyIGE9big3Nzk0NzQpLG89big5MTQ0ODcpLHI9bi5uKG8pLGk9bigyNzMzMTApLGw9bigxODUyNzEpLHM9bigzMzMzMTIpLGM9big0Mjc3NzMpLGQ9big0MjgwOTcpLG09big4ODk1NDYpO2Z1bmN0aW9uIHUoZSl7Y29uc3R7ZW1vamk6dCxjbGFzc05hbWU6b309ZTtpZih0PT09Yy5FTVBUWV9FTU9KSSlyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7Y2xhc3NOYW1lOnIoKShvLGQuY2xlYXJCdXR0b24sImFwcGx5LWNvbW1vbi10b29sdGlwIiksaWNvbjptLHRpdGxlOmwudChudWxsLHZvaWQgMCxuKDc1NDM4MikpfSk7Y29uc3QgdT0oMCxzLmdldFR3ZW1vamlVcmwpKHQsInBuZyIpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImltZyIse2NsYXNzTmFtZTpyKCkobyxkLmVtb2ppKSxzcmM6dSxkZWNvZGluZzoiYXN5bmMiLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsYWx0OiIiLGRyYWdnYWJsZTohMSxvbkNvbnRleHRNZW51OmZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQuY2xvc2VzdCgiYSIpKXJldHVybjtlLnByZXZlbnREZWZhdWx0KCl9fSl9fSwyNzM3MzIoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7SWNvbkl0ZW06KCk9PnN9KTt2YXIgYT1uKDc3OTQ3NCksbz1uKDkxNDQ4Nykscj1uLm4obyksaT1uKDI3MzMxMCksbD1uKDQwMjIzKTtmdW5jdGlvbiBzKGUpe3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpyKCkobC53cmFwcGVyLGUuY2xhc3NOYW1lKX0sYS5jcmVhdGVFbGVtZW50KGkuSWNvbix7aWNvbjplLmljb259KSl9fSw0MzA4MTQoZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCx7YmFja2VuZDooKT0+cX0pO3ZhciBhPXt9O24ucihhKSxuLmQoYSx7ZmF2b3JTdGFuZGFyZFN0dWR5VGVtcGxhdGU6KCk9Pk8sZmF2b3JTdHVkeVRlbXBsYXRlOigpPT5BLGdldENoYXJ0czooKT0+eCxnZXRDaGFydHNDb3VudDooKT0+SSxnZXREcmF3aW5nVGVtcGxhdGVzOigpPT5XLGdldFN0YW5kYXJkU3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkgsZ2V0U3R1ZHlUZW1wbGF0ZUJ5SWQ6KCk9PkIsZ2V0U3R1ZHlUZW1wbGF0ZXNMaXN0OigpPT56LGludmFsaWRhdGVTdHVkeVRlbXBsYXRlc0xpc3Q6KCk9PkwsbG9hZERyYXdpbmdUZW1wbGF0ZTooKT0+Rixsb2FkTGF5b3V0OigpPT5DLG9wZW5MYXlvdXRMaW5rOigpPT5TLHJlbW92ZUNoYXJ0OigpPT5NLHJlbW92ZURyYXdpbmdUZW1wbGF0ZTooKT0+SyxyZW1vdmVTdHVkeVRlbXBsYXRlOigpPT5qLHJlbmFtZVN0dWR5VGVtcGxhdGU6KCk9PlAscmVwbGFjZVN0dWR5VGVtcGxhdGU6KCk9PlUsc2F2ZUNoYXJ0OigpPT5fLHNhdmVEcmF3aW5nVGVtcGxhdGU6KCk9PlIsc2F2ZVN0dWR5VGVtcGxhdGU6KCk9PkR9KTt2YXIgbz1uKDMwNDIyMSkscj1uKDU1ODA3NSksaT1uKDIyMTA2MSksbD1uKDc4MzU5Myk7Y29uc3Qgcz0oMCxpLmdldExvZ2dlcikoIkxpYi5Bc3luY0d6aXAiKTt2YXIgYzshZnVuY3Rpb24oZSl7ZVtlLkxvYWRpbmdUaW1lb3V0PTVlM109IkxvYWRpbmdUaW1lb3V0IixlW2UuUHJvY2Vzc2luZ1RpbWVvdXQ9M2U0XT0iUHJvY2Vzc2luZ1RpbWVvdXQiLGVbZS5Xb3JrZXJQb29sTWF4U2l6ZT0xXT0iV29ya2VyUG9vbE1heFNpemUiCn0oY3x8KGM9e30pKTtjb25zdCBkPVtdO2Z1bmN0aW9uIG0oZSl7bGV0IHQ7Y29uc3QgYT1uZXcgUHJvbWlzZSgoKGEsbyk9PntsZXQgcj1zZXRUaW1lb3V0KG8sNWUzLG5ldyBFcnJvcigiTG9hZGluZyB0aW1lZCBvdXQiKSk7dD1kLnBvcCgpfHxuZXcgbC5Xb3JrZXIobmV3IFVSTChuLnArbi51KDU5NjMwKSxuLmIpLHtuYW1lOiJBc3luYyBnemlwIHdvcmtlciJ9KSx0Lm9uZXJyb3I9byx0Lm9ubWVzc2FnZWVycm9yPW8sdC5vbm1lc3NhZ2U9ZT0+e2NsZWFyVGltZW91dChyKSwiZG9uZSI9PT1lLmRhdGEudHlwZT9hKGUuZGF0YS5wYXlsb2FkKTpyPXNldFRpbWVvdXQobywzZTQsbmV3IEVycm9yKCJQcm9jZXNzaW5nIHRpbWVkIG91dCIpKX0sdC5wb3N0TWVzc2FnZSh7dHlwZToiZG8iLHBheWxvYWQ6ZX0pfSkpO3JldHVybiBhLnRoZW4oKCgpPT57ZC5sZW5ndGg8MT8oZGVsZXRlIHQub25lcnJvcixkZWxldGUgdC5vbm1lc3NhZ2UsZGVsZXRlIHQub25tZXNzYWdlZXJyb3IsZC5wdXNoKHQpKTp0LnRlcm1pbmF0ZSgpfSksKGU9PntzLmxvZ0Vycm9yKGBXb3JrZXIgcmVxdWVzdCBmYWlsZWQ6ICR7ZS5tZXNzYWdlfWApLHQudGVybWluYXRlKCl9KSksYX12YXIgdT1uKDM4NDAxNyk7ZnVuY3Rpb24gaChlKXtpZihlLm9rKXJldHVybiBlLmpzb24oKTt0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfWZ1bmN0aW9uIHYoZSl7aWYoZS5vaylyZXR1cm4gZS5qc29uKCk7dGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX12YXIgcD1uKDExNzMxMyksZj1uKDc0ODkxMiksZz1uKDYwNTI1Nyksdz1uKDk3NDY2MyksYj1uKDY5NDM4OSk7Y2xhc3MgeSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksdGhpcy5zdGF0dXM9dD8uc3RhdHVzLHRoaXMuY29kZT10Py5jb2RlLHRoaXMucmVzcG9uc2U9dD8ucmVzcG9uc2V9fXZhciBFPW4oNTg5NzQ5KTtjb25zdCBUPSIvYXBpL3YxLyI7YXN5bmMgZnVuY3Rpb24geChlPW51bGwsdCl7Y29uc3Qgbj1uZXcgVVJMKCIvbXktY2hhcnRzLyIsd2luZG93LmxvY2F0aW9uLm9yaWdpbik7dm9pZCAwIT09dCYmbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJsaW1pdCIsdC50b1N0cmluZygpKTtjb25zdCBhPWF3YWl0KDAsdS5mZXRjaCkobi50b1N0cmluZygpLHttZXRob2Q6IkdFVCIsc2lnbmFsOmV9KTtpZighYS5vayl0aHJvdyBuZXcgRXJyb3IoIkdldHRpbmcgbXkgY2hhcnRzIHJlc3BvbnNlIHdhcyBub3QgT0siKTtyZXR1cm4gYS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gSSgpe2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvY291bnQvIik7aWYoIWUub2spdGhyb3cgZTtyZXR1cm4gZS5qc29uKCl9YXN5bmMgZnVuY3Rpb24gQyhlKXtjb25zdCB0PW5ldyBVUkwoYC9jaGFydC8ke2UudXJsfS9qc29uL2Asd2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT1hd2FpdCgwLHUuZmV0Y2gpKHQudG9TdHJpbmcoKSx7bWV0aG9kOiJHRVQiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTtpZighYS5vayl0aHJvdyBhO2xldCByO2NvbnN0IGk9YXdhaXQgYS5qc29uKCk7cmV0dXJuIHI9InVuZGVmaW5lZCIhPT1pLmNvbnRlbnQmJiJudWxsIiE9PWkuY29udGVudCYmaS5jb250ZW50P0pTT04ucGFyc2UoaS5jb250ZW50KTphd2FpdCBhc3luYyBmdW5jdGlvbigpe2NvbnN0IGU9KDAsZy5zdHVkeU1ldGFJbmZvUmVwb3NpdG9yeSkoKTthd2FpdCBlLnJlcXVlc3RNZXRhSW5mbygpO2NvbnN0W3Qse3ByZXBhcmVTdHVkeVByb3BlcnRpZXM6YX1dPWF3YWl0IFByb21pc2UuYWxsKFtlLmZpbmRCeUlkKHt0eXBlOiJqYXZhIixzdHVkeUlkOiJWb2x1bWVAdHYtYmFzaWNzdHVkaWVzIn0pLFByb21pc2UuYWxsKFtuLmUoMjE3ODQpLG4uZSgzMTAwMSksbi5lKDg2MTc4KSxuLmUoOTE5NDQpLG4uZSg5NzU1OCksbi5lKDY2OTg4KSxuLmUoOTcyNzIpLG4uZSg5MjcwKSxuLmUoODQyNjUpLG4uZSg1MzU1KSxuLmUoMTIyMjcpLG4uZSg1OTY0OSksbi5lKDQ3NTM4KV0pLnRoZW4obi5iaW5kKG4sNDM3NzQ5KSldKSxvPWEodCx7fSxudWxsLGUuc3R1ZHlWZXJzaW9uaW5nKCksW10pLHI9e21fcHJpY2VSYW5nZTpudWxsLG1faXNBdXRvU2NhbGU6ITAsbV9pc1BlcmNlbnRhZ2U6ITEsbV9pc0luZGV4ZWRUbzEwMDohMSxtX2lzTG9nOiExLG1faXNMb2NrU2NhbGU6ITEsbV9pc0ludmVydGVkOiExLG1fdG9wTWFyZ2luOi4xLG1fYm90dG9tTWFyZ2luOi4wOCxhbGlnbkxhYmVsczohMH07cmV0dXJue25hbWU6IiIsbGF5b3V0OiJzIixjaGFydHM6W3twYW5lczpbe21vZGU6Yi5QYW5lTW9kZS5SZWd1bGFyLHNvdXJjZXM6W3t0eXBlOiJNYWluU2VyaWVzIixpZDoiX3Nlcmllc0lkIix6b3JkZXI6MCxzdGF0ZTp7Li4uKG5ldyBmLlNlcmllc1Byb3BlcnRpZXNJbXBsKS5zdGF0ZSgpLHN0eWxlOjEsc3ltYm9sOiJOQVNEQVE6QUFQTCIsc2hvcnROYW1lOiJBQVBMIix0aW1lZnJhbWU6IiIsaW50ZXJ2YWw6IjFNIix1bml0SWQ6bnVsbCx0aW1lem9uZToiVVRDIixjdXJyZW5jeUlkOm51bGx9fSx7dHlwZToic3R1ZHlfVm9sdW1lIixpZDoibkFBTEdkIixzdGF0ZTpvLnN0YXRlKCksbWV0YUluZm86dC5zdGF0ZSgpfV0sbWFpblNvdXJjZUlkOiJfc2VyaWVzSWQiLHN0cmV0Y2hGYWN0b3I6MmUzLGxlZnRBeGlzZXNTdGF0ZTpbXSxyaWdodEF4aXNlc1N0YXRlOlt7c3RhdGU6e2lkOiJIOW8yemJaME5UakwiLC4uLnJ9LHNvdXJjZXM6WyJfc2VyaWVzSWQiXX1dLG92ZXJsYXlQcmljZVNjYWxlczp7bkFBTEdkOntpZDoiSDlvMnpiWjBOVGpMIiwuLi5yfX0scHJpY2VTY2FsZVJhdGlvOm51bGwsaXNDb2xsYXBzZWQ6ITEsaXNNYXhpbWl6ZWQ6ITF9XSx0aW1lU2NhbGU6e21fYmFyU3BhY2luZzo2LG1fcmlnaHRPZmZzZXQ6MTB9LGNoYXJ0UHJvcGVydGllczpuZXcgdy5EZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOiJjaGFydHByb3BlcnRpZXMifSkuc3RhdGUoKSx2ZXJzaW9uOjMsdGltZXpvbmU6IkV0Yy9VVEMiLHNob3VsZEJlU2F2ZWRFdmVuSWZIaWRkZW46ITEsbGlua2luZ0dyb3VwOm51bGwsbGluZVRvb2xzR3JvdXBzOntncm91cHM6W119LGNoYXJ0SWQ6IjEifV0sc3ltYm9sTG9jazowLAppbnRlcnZhbExvY2s6MCx0cmFja1RpbWVMb2NrOjAsZGF0ZVJhbmdlTG9jazowLGNyb3NzaGFpckxvY2s6MX19KCksImNvbnRlbnRfc3R1ZHlfbWV0YSJpbiBpJiYoMCxvLmRlZmF1bHQpKGkuY29udGVudF9zdHVkeV9tZXRhKSYmKHIuc3R1ZHlNZXRhSW5mb01hcD17Li4uci5zdHVkeU1ldGFJbmZvTWFwPz97fSwuLi5KU09OLnBhcnNlKGkuY29udGVudF9zdHVkeV9tZXRhKX0pLHtuYW1lOmkubmFtZSxjaGFydFdpZGdldENvbGxlY3Rpb25TdGF0ZTpyLHVpZDppLnVpZCxsYXN0TW9kaWZpZWQ6aS5sYXN0X21vZGlmaWVkLGlkOmkuaWQsZGVzY3JpcHRpb246aS5kZXNjcmlwdGlvbix1c2VybmFtZTppLnVzZXJuYW1lLGlzUHJpdmF0ZTppLmlzX3ByaXZhdGV9fWZ1bmN0aW9uIFMoZSx0KXtjb25zdCBuPSgwLHIuZ2VuZXJhdGVDaGFydFVybCkoe2NoYXJ0SWQ6ZS51cmx9KSxhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmhyZWY9biwhKDAscC5pc09uTW9iaWxlQXBwUGFnZSkoIm5ldyIpJiYvXlwvY2hhcnQoXC98JCkvLnRlc3QobG9jYXRpb24ucGF0aG5hbWUpJiYoYS50YXJnZXQ9dD8iX2JsYW5rIjoiX3NlbGYiLGEucmVsPSJub29wZW5lciIpLGEuY2xpY2soKX1hc3luYyBmdW5jdGlvbiBrKGUsdCl7bGV0IG4sYTt0cnl7W24sYV09YXdhaXQgUHJvbWlzZS5hbGwoW20oZS5jb250ZW50KSxlLnN0dWR5X21ldGFfaW5mb19tYXA/bShlLnN0dWR5X21ldGFfaW5mb19tYXApOlByb21pc2UucmVzb2x2ZShlLnN0dWR5X21ldGFfaW5mb19tYXApXSl9Y2F0Y2goZSl7fWNvbnN0IG89bmV3IEZvcm1EYXRhO3QudWlkJiZvLmFwcGVuZCgiaW1hZ2VfdXJsIix0LnVpZCk7Zm9yKGNvbnN0IHQgaW4gZSkiaWQiIT09dCYmKCJjb250ZW50Ij09PXQmJm4/by5hcHBlbmQodCxuZXcgQmxvYihbbl0se3R5cGU6ImFwcGxpY2F0aW9uL2d6aXAifSksImJsb2IuZ3oiKToic3R1ZHlfbWV0YV9pbmZvX21hcCI9PT10JiZhP28uYXBwZW5kKHQsbmV3IEJsb2IoW2FdLHt0eXBlOiJhcHBsaWNhdGlvbi9nemlwIn0pLCJibG9iLmd6Iik6by5hcHBlbmQodCxlW3RdKSk7dHJ5e2NvbnN0IGU9YXdhaXQoMCx1LmZldGNoKShUKyJjaGFydHMvc2F2ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpvfSk7aWYoIWUub2spe2NvbnN0e2RldGFpbDp0LGNvZGU6bn09YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJue307aWYoIShlLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKT8/IiIpLmluY2x1ZGVzKCJhcHBsaWNhdGlvbi9qc29uIikpcmV0dXJue307dHJ5e3JldHVybiBhd2FpdCBlLmpzb24oKX1jYXRjaChlKXtyZXR1cm57fX19KGUpO3Rocm93IG5ldyB5KHQ/P2Uuc3RhdHVzVGV4dD8/IlVua25vd24gZXJyb3IiLHtzdGF0dXM6ZS5zdGF0dXMsY29kZTpuLHJlc3BvbnNlOmV9KX1jb25zdCB0PWF3YWl0IGUuanNvbigpO3JldHVybntyZXN1bHQ6e2lkOnQuaWQsaW1hZ2VfdXJsOnQuaW1hZ2VfdXJsP3QuaW1hZ2VfdXJsOnZvaWQgMCxsYXN0TW9kaWZpZWQ6dC5sYXN0X21vZGlmaWVkfSxyZXNwb25zZTplfX1jYXRjaChlKXtsZXQgdD1lO3Rocm93IGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgeX0odCl8fCh0PW5ldyB5KCgwLEUuZXJyb3JUb1N0cmluZykodCkpKSx0fX1hc3luYyBmdW5jdGlvbiBfKGUsdCxuLGEsbyl7cmV0dXJuIGsoYSxvKX1mdW5jdGlvbiBNKGUpe3JldHVybigwLHUuZmV0Y2gpKFQrImNoYXJ0cy9kZWxldGUvIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe3VpZDpbZV19KSxoZWFkZXJzOm5ldyBIZWFkZXJzKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9KX0pLnRoZW4oKGU9PntpZighZS5vayl0aHJvdyBlO3JldHVybiBlLmpzb24oKX0pKS50aGVuKChlPT57aWYoZS5lcnJvcil0aHJvdyBlLmVycm9yfSkpfWxldCBOPW51bGw7ZnVuY3Rpb24geigpe3JldHVybiBudWxsPT09TiYmKE49KDAsdS5mZXRjaCkoIi9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oaCkudGhlbigoZT0+e2NvbnN0IHQ9ZS5jdXN0b218fFtdLG49ZS5zdGFuZGFyZHx8W10sYT1lLmZ1bmRhbWVudGFsc3x8W10sbz1uZXcgU2V0KFsuLi5uLC4uLmFdLm1hcCgoZT0+ZS5uYW1lKSkpLHI9dC5tYXAoKGU9Pih7Li4uZSxpc19kZWZhdWx0OiExLGlzX2Z1bmRhbWVudGFsOiExLGZhdm9yaXRlX2RhdGU6ZS5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGx9KSkpO2Zvcihjb25zdCBlIG9mIHIpby5kZWxldGUoZS5uYW1lKTtjb25zdCBpPW4uZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMSxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKSxsPWEuZmlsdGVyKChlPT5vLmhhcyhlLm5hbWUpKSkubWFwKChlPT4oey4uLmUsaXNfZGVmYXVsdDohMCxpc19mdW5kYW1lbnRhbDohMCxmYXZvcml0ZV9kYXRlOmUuZmF2b3JpdGVfZGF0ZT9uZXcgRGF0ZShlLmZhdm9yaXRlX2RhdGUpLmdldFRpbWUoKTpudWxsfSkpKTtyZXR1cm5bLi4uciwuLi5pLC4uLmxdfSkpKSxOfWZ1bmN0aW9uIEwoKXtOPW51bGx9ZnVuY3Rpb24gRChlKXtyZXR1cm4gdD17bmFtZTplLm5hbWUsY29udGVudDplLmNvbnRlbnQsbWV0YV9pbmZvOmUubWV0YV9pbmZvfHx7aW5kaWNhdG9yczpbXX19LCgwLHUuZmV0Y2gpKCIvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKChlPT57aWYoZS5vaylyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtyZXN1bHQ6ZX0pKSk7c3dpdGNoKGUuc3RhdHVzKXtjYXNlIDQwMzpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHsKZXJyb3I6ZS5jb2RlfSkpKTtjYXNlIDQyMjpyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+KHtlcnJvcjplLmNvZGUsaWQ6ZS5pZH0pKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIm5vdCBvayIpfX0pKTt2YXIgdH1mdW5jdGlvbiBBKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfS9mYXZvcml0ZWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOnQ/IlBPU1QiOiJERUxFVEUifSkudGhlbihoKX0pKGUsdCkudGhlbigoZT0+e24/LihlPy5mYXZvcml0ZV9kYXRlP25ldyBEYXRlKGUuZmF2b3JpdGVfZGF0ZSkuZ2V0VGltZSgpOm51bGwpfSkpfWZ1bmN0aW9uIE8oZSx0LG4peyhmdW5jdGlvbihlLHQpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy9zdGFuZGFyZC8ke2V9L2Zhdm9yaXRlYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6dD8iUE9TVCI6IkRFTEVURSJ9KS50aGVuKGgpfSkoZSx0KS50aGVuKChlPT57bj8uKGU/LmZhdm9yaXRlX2RhdGU/bmV3IERhdGUoZS5mYXZvcml0ZV9kYXRlKS5nZXRUaW1lKCk6bnVsbCl9KSl9ZnVuY3Rpb24gQihlKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX1gLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihoKX0oZSl9ZnVuY3Rpb24gSChlLHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvc3RhbmRhcmQvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGgpfShlKS50aGVuKHQpfWZ1bmN0aW9uIGooZSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybigwLHUuZmV0Y2gpKGAvYXBpL3YxL3N0dWR5LXRlbXBsYXRlcy8ke2V9YCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixtZXRob2Q6IkRFTEVURSJ9KS50aGVuKChlPT57aWYoIWUub2spdGhyb3cgbmV3IEVycm9yKCJub3Qgb2siKX0pKX0oZSl9ZnVuY3Rpb24gUChlLHQsbil7KGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDAsdS5mZXRjaCkoYC9hcGkvdjEvc3R1ZHktdGVtcGxhdGVzLyR7ZX0vcmVuYW1lL2Ase2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGgpfSkoZSx7bmFtZTp0fSkudGhlbihuKX1mdW5jdGlvbiBVKGUsdCxuKXsoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCx1LmZldGNoKShgL2FwaS92MS9zdHVkeS10ZW1wbGF0ZXMvJHtlfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOiJQVVQiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pLnRoZW4oaCl9KShlLHtuYW1lOnQubmFtZSxjb250ZW50OnQuY29udGVudCxtZXRhX2luZm86dC5tZXRhX2luZm98fHtpbmRpY2F0b3JzOltdfX0pLnRoZW4oKGU9Pm4oe3Jlc3VsdDplfSkpKX1mdW5jdGlvbiBXKGUpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4oMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGVzLyR7ZX0vYCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4odil9KGUpfWZ1bmN0aW9uIFIoZSx0LG4pe3JldHVybiBmdW5jdGlvbihlLHQsbil7Y29uc3QgYT1uZXcgRm9ybURhdGE7cmV0dXJuIGEuYXBwZW5kKCJuYW1lIix0KSxhLmFwcGVuZCgidG9vbCIsZSksYS5hcHBlbmQoImNvbnRlbnQiLG4pLCgwLHUuZmV0Y2gpKCIvc2F2ZS1kcmF3aW5nLXRlbXBsYXRlLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OmF9KS50aGVuKHYpfShlLHQsbil9ZnVuY3Rpb24gRihlLHQpe3JldHVybiBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQoMCx1LmZldGNoKShgL2RyYXdpbmctdGVtcGxhdGUvJHtlfS8/dGVtcGxhdGVOYW1lPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHQpfWAse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KSxhPWF3YWl0IHYobik7cmV0dXJuIEpTT04ucGFyc2UoYS5jb250ZW50KX0oZSx0KX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj1uZXcgRm9ybURhdGE7cmV0dXJuIG4uYXBwZW5kKCJuYW1lIix0KSxuLmFwcGVuZCgidG9vbCIsZSksKDAsdS5mZXRjaCkoIi9yZW1vdmUtZHJhd2luZy10ZW1wbGF0ZS8iLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpufSkudGhlbih2KX0oZSx0KX1jb25zdCBxPWF9LDMzMzMxMihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LHtnZXRUd2Vtb2ppVXJsOigpPT5vfSk7dmFyIGE9bigyNjA2MDMpO2Z1bmN0aW9uIG8oZSx0KXtsZXQgbj0iIjtyZXR1cm4gYS5kZWZhdWx0LnBhcnNlKGUsKGU9PihuPWEuZGVmYXVsdC5iYXNlKygic3ZnIj09PXQ/YHN2Zy8ke2V9LnN2Z2A6YDcyeDcyLyR7ZX0ucG5nYCksITEpKSksbn1hLmRlZmF1bHQuYmFzZT0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvdHdlbW9qaS8xMy4wLjEvIn0sMzA5ODM2KGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse2FkZFV0bVRvVXJsOigpPT5vfSk7dmFyIGE9big2MDE1ODcpO2Z1bmN0aW9uIG8oZSx0KXtpZighLyhbYS16QS1aMC05Li1dKnRyYWRpbmd2aWV3LmNvbSl8bG9jYWxob3N0Ly50ZXN0KGUpKXJldHVybiBlO2NvbnN0IG49KDAsYS5idWlsZFV0bVF1ZXJ5U3RyaW5nKSh0KTtpZigiIj09PW4pcmV0dXJuIGU7Y29uc3Qgbz1lLmluZGV4T2YoIj8iKSxyPWUuaW5kZXhPZigiIyIpLGk9LTEhPT1yO2lmKC0xIT09byYmKCFpfHxvPHIpKXtyZXR1cm5gJHtlLnNsaWNlKDAsbyl9PyR7aT9lLnNsaWNlKG8rMSxyKTplLnNsaWNlKG8rMSl9JiR7bn0ke2k/ZS5zbGljZShyKToiIn1gfWlmKGkpe3JldHVybmAke2Uuc2xpY2UoMCxyKX0/JHtufSR7ZS5zbGljZShyKX1gfXJldHVybmAke2V9PyR7bn1gfX0sNjAxNTg3KGUsdCxuKXsKInVzZSBzdHJpY3QiO24uZCh0LHtidWlsZFV0bVF1ZXJ5U3RyaW5nOigpPT5sLGJ1aWxkVXRtUXVlcnlTdHJpbmdGcm9tVXJsUGFyYW1zOigpPT5zLGZpbHRlclV0bUluZm86KCk9Pml9KTt2YXIgYT1uKDQ5MjY3Nyksbz1uKDY0MTU5Myk7Y29uc3Qgcj1bInV0bV9zb3VyY2UiLCJ1dG1fbWVkaXVtIiwidXRtX2NhbXBhaWduIl07ZnVuY3Rpb24gaShlKXtjb25zdCB0PXt9O3JldHVybiByLmZvckVhY2goKG49Pntjb25zdCBhPWVbbl07InN0cmluZyI9PXR5cGVvZiBhJiYiIiE9PWEmJih0W25dPSgwLG8uaHRtbEVzY2FwZSkoYSkpfSkpLHR9ZnVuY3Rpb24gbChlLHQ9ITEpe2NvbnN0IG49KDAsYS5jcmVhdGVVcmxQYXJhbXMpKGUpO3JldHVybiBuJiZ0PyI/IituOm59ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbChpKCgwLGEuZ2V0VXJsUGFyYW1zKSgpKSxlKX19LDY5NjQzKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSw4MjY5NzgoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSwzNDc5NzMoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTggOS41SDYuNWExIDEgMCAwIDAtMSAxdjExYTEgMSAwIDAgMCAxIDFoMTFhMSAxIDAgMCAwIDEtMVYyMG0tOC0xLjVoMTFhMSAxIDAgMCAwIDEtMXYtMTFhMSAxIDAgMCAwLTEtMWgtMTFhMSAxIDAgMCAwLTEgMXYxMWExIDEgMCAwIDAgMSAxeiIvPjwvc3ZnPid9LDQ4OTA1OShlKXtlLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNzA3IDlsNC42NDctNC42NDYtLjcwNy0uNzA4TDkgOC4yOTMgNC4zNTQgMy42NDZsLS43MDguNzA4TDguMjkzIDlsLTQuNjQ3IDQuNjQ2LjcwOC43MDhMOSA5LjcwN2w0LjY0NiA0LjY0Ny43MDgtLjcwN0w5LjcwNyA5eiIvPjwvc3ZnPid9LDU5OTc1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik05IDFsMi4zNSA0Ljc2IDUuMjYuNzctMy44IDMuNy45IDUuMjRMOSAxM2wtNC43IDIuNDcuOS01LjIzLTMuOC0zLjcxIDUuMjUtLjc3TDkgMXoiLz48L3N2Zz4nfSwyMzA2ODYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiPjxwYXRoIHN0cm9rZT0iY3VycmVudENvbG9yIiBkPSJNOSAyLjEzbDEuOTAzIDMuODU1LjExNi4yMzYuMjYuMDM4IDQuMjU1LjYxOC0zLjA3OSAzLjAwMS0uMTg4LjE4NC4wNDQuMjU5LjcyNyA0LjIzNy0zLjgwNS0yTDkgMTIuNDM0bC0uMjMzLjEyMi0zLjgwNSAyLjAwMS43MjctNC4yMzcuMDQ0LS4yNi0uMTg4LS4xODMtMy4wNzktMy4wMDEgNC4yNTUtLjYxOC4yNi0uMDM4LjExNi0uMjM2TDkgMi4xM3oiLz48L3N2Zz4nfSw4ODk1NDYoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTcuMzMyIDYuNTQ4IDIxLjQyIDIwLjcwNEE5Ljk2MiA5Ljk2MiAwIDAgMCAyNCAxNGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwYTkuOTYxIDkuOTYxIDAgMCAwLTYuNjY4IDIuNTQ4Wm0xMy4zODEgMTQuODY0TDYuNjIxIDcuMjUyQTkuOTYyIDkuOTYyIDAgMCAwIDQgMTRjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMCAyLjU4NCAwIDQuOTM4LS45OCA2LjcxMy0yLjU4OFpNNi4yNjMgNi4xODFBMTAuOTY3IDEwLjk2NyAwIDAgMSAxNCAzYzYuMDc1IDAgMTEgNC45MjUgMTEgMTEgMCAzLjAzNi0xLjIzIDUuNzg1LTMuMjE4IDcuNzc1QTEwLjk2NyAxMC45NjcgMCAwIDEgMTQgMjVDNy45MjUgMjUgMyAyMC4wNzUgMyAxNGMwLTMuMDU4IDEuMjQ5LTUuODI2IDMuMjYzLTcuODJaIi8+PC9zdmc+J30sNzk1OTg2KGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS4xMTggNmEuNS41IDAgMCAwLS40NDcuMjc2TDkuODA5IDhINS41QTEuNSAxLjUgMCAwIDAgNCA5LjV2MTBBMS41IDEuNSAwIDAgMCA1LjUgMjFoMTZhMS41IDEuNSAwIDAgMCAxLjUtMS41di0xMEExLjUgMS41IDAgMCAwIDIxLjUgOGgtNC4zMDlsLS44NjItMS43MjRBLjUuNSAwIDAgMCAxNS44ODIgNmgtNC43NjR6bS0xLjM0Mi0uMTdBMS41IDEuNSAwIDAgMSAxMS4xMTggNWg0Ljc2NGExLjUgMS41IDAgMCAxIDEuMzQyLjgzTDE3LjgwOSA3SDIxLjVBMi41IDIuNSAwIDAgMSAyNCA5LjV2MTBhMi41IDIuNSAwIDAgMS0yLjUgMi41aC0xNkEyLjUgMi41IDAgMCAxIDMgMTkuNXYtMTBBMi41IDIuNSAwIDAgMSA1LjUgN2gzLjY5MWwuNTg1LTEuMTd6Ii8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy41IDE4YTMuNSAzLjUgMCAxIDAgMC03IDMuNSAzLjUgMCAwIDAgMCA3em0wIDFhNC41IDQuNSAwIDEgMCAwLTkgNC41IDQuNSAwIDAgMCAwIDl6Ii8+PC9zdmc+J30sMjAyNTExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEzLjk4IDYuMDJMMTQuNSA2YzIuMTggMCA0LjE2LjggNS42NiAyLjE0bC01LjY2IDUuNjUtMi4zMS0yLjNhOC40MyA4LjQzIDAgMCAwIDEuNTUtMy42NCAxNC4wMSAxNC4wMSAwIDAgMCAuMjQtMS44M3ptLTEuMDEuMTJhOC40NSA4LjQ1IDAgMCAwLTQuMTMgMmwyLjY0IDIuNjNhNy41OSA3LjU5IDAgMCAwIDEuMjgtMy4xMmMuMTItLjU5LjE4LTEuMTIuMi0xLjUxem0tNC44MyAyLjdhOC40NSA4LjQ1IDAgMCAwLTIgNC4xM2MuMzktLjAzLjkyLS4xIDEuNTEtLjIxYTcuNTkgNy41OSAwIDAgMCAzLjEyLTEuMjhMOC4xNCA4Ljg0em0tMi4xMiA1LjE0YTguNDggOC40OCAwIDAgMCAyLjEyIDYuMThsNS42NS01LjY2LTIuMy0yLjMxYTguNDMgOC40MyAwIDAgMS0zLjY0IDEuNTUgMTQuMDMgMTQuMDMgMCAwIDEtMS44My4yNHptMi44MiA2Ljg4YTguNDYgOC40NiAwIDAgMCA1LjEzIDIuMTJ2LS4wN0E4Ljk1IDguOTUgMCAwIDEgMTYuMyAxN2wtMS44LTEuOC01LjY2IDUuNjV6TTE0Ljk3IDIzYzItLjEgMy44LS45IDUuMTktMi4xM0wxNyAxNy43MmE3Ljk0IDcuOTQgMCAwIDAtMi4wNCA1LjI3em01LjktMi44M2E4LjQ2IDguNDYgMCAwIDAgMi4xMS01LjEzaC0uMDJhMTAuNjIgMTAuNjIgMCAwIDAtNS4yIDJsMy4xIDMuMTN6bTIuMTItNi4xM2MtLjEtMi0uOS0zLjgtMi4xMy01LjE5bC01LjY1IDUuNjYgMS44MyAxLjgzYTExLjYgMTEuNiAwIDAgMSA1Ljk1LTIuM3pNMTQuNSA1QTkuNDYgOS40NiAwIDAgMCA1IDE0LjVjMCA1LjI4IDQuMjIgOS41IDkuNSA5LjVzOS41LTQuMjIgOS41LTkuNVMxOS43OCA1IDE0LjUgNXoiLz48L3N2Zz4nfSwxNjExNzcoZSl7CmUuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00LjU0IDMuMmwuNzgtLjU5IDUuNDkgNC41IDEuNDMgMS4wN2E1LjI4IDUuMjggMCAwIDEgMi4xOS0yLjMgOS4xOSA5LjE5IDAgMCAxIDEuODgtLjg1aC4wNGwuMDEtLjAxLjE0LjQ4LjQyLS4yOHYuMDFsLjAxLjAyYTMuMTQgMy4xNCAwIDAgMSAuMTYuMjZsLjM3LjcyYy4yLjQ1LjQgMS4wMi41IDEuNjRhMi4xMyAyLjEzIDAgMCAxIDEuODkuNDZsLjE4LjE2LjAzLjAyLjE4LjE2Yy4yMi4xNi40Mi4yNy44MS4yNWE1LjkgNS45IDAgMCAwIDIuMi0uODZsLjY2LS4zNi4wOS43NWE1Ljk4IDUuOTggMCAwIDEtMS43IDUuMSA2Ljg3IDYuODcgMCAwIDEtMS43IDEuMjMgMTkuOTcgMTkuOTcgMCAwIDEgLjQ4IDIuNDhjLjI1IDEuNzMuNDIgNC4wOC4wNiA2LjVBMS40NiAxLjQ2IDAgMCAxIDE5LjY4IDI1aC03LjcxYTEuNSAxLjUgMCAwIDEtMS40LTIuMDZsMS0yLjQ3Yy0uMTguMDItLjM3LjAzLS41OC4wM2EzIDMgMCAwIDEtMS41My0uNCA2Ljg0IDYuODQgMCAwIDEtMS42LjY0Yy0xLjA4LjI3LTIuNTUuMjktMy43Mi0uODlhNC4wNiA0LjA2IDAgMCAxLS45Ni0zIDUuMSA1LjEgMCAwIDEgMi0zLjc0IDk4LjUgOTguNSAwIDAgMCAyLjctMi4yNEw0LjU1IDMuMnpNMTYuNSA1LjVsLS4xNC0uNDguMzUtLjEuMi4zLS40MS4yOHptLTcuODcgNi4wNmE1Ny40OCA1Ny40OCAwIDAgMS0yLjE5IDEuODJsLjQ5LjI2Yy42NS4zNyAxLjQ4LjkgMS45NyAxLjU2YTUuNzggNS43OCAwIDAgMSAxLjE0IDQuMDdsLjA2LjAzYy4xOS4xLjQ5LjIuOS4yLjY4IDAgLjk1LS4xMSAxLjAzLS4xNnYtLjAzbC45Ny4xOWgtLjUuNXYuMDNhLjc1Ljc1IDAgMCAxLS4wMS4xLjc0Ljc0IDAgMCAxLS4wOS4yMWwtMS4zOSAzLjQ3YS41LjUgMCAwIDAgLjQ3LjY5aDcuNzFjLjI0IDAgLjQzLS4xNy40Ny0uMzhhMjIgMjIgMCAwIDAtLjA2LTYuMjIgMjQuNCAyNC40IDAgMCAwLS41Ni0yLjcxIDExLjM1IDExLjM1IDAgMCAwLS45NC0xLjUyIDcuMSA3LjEgMCAwIDAtMi4zMS0yLjIybC0uNjItLjMxLjQ5LS41QTMuMDMgMy4wMyAwIDAgMCAxNyA4LjZhMS4yIDEuMiAwIDAgMCAuMDEtLjFjMC0uNjUtLjIyLTEuMzMtLjQ2LTEuODYtLjEtLjIxLS4xOC0uNC0uMjYtLjU0YTguMDcgOC4wNyAwIDAgMC0xLjM0LjY0Yy0uOS41NC0xLjc0IDEuMzItMS45NSAyLjM2di4wM2wtLjAyLjAzTDEyLjUgOWwuNDcuMTZ2LjAyYTIuOTcgMi45NyAwIDAgMS0uMS4yNiA1LjkgNS45IDAgMCAxLS4zMS42MmMtLjI3LjQ2LS43IDEuMDctMS4zNCAxLjM5LS42My4zMS0xLjM4LjMtMS45LjIzYTUuODMgNS44MyAwIDAgMS0uNy0uMTJ6bTMuMjYtMi4zOUwxMC4yIDcuOWwtLjAyLS4wMUw2LjMgNC43bDIuNTcgNS44OGguMDFjLjE0LjA0LjM0LjA4LjU3LjExLjQ3LjA2Ljk3LjA1IDEuMzQtLjE0LjM2LS4xOC42OC0uNTcuOTEtLjk5LjA4LS4xNC4xNS0uMjcuMi0uMzl6bTguMzIgNC42OGE1LjQ3IDUuNDcgMCAwIDAgMS4zNy0xLjAyIDQuODggNC44OCAwIDAgMCAxLjQ2LTMuNTNjLS44LjM5LTEuNDEuNTgtMS45Mi42MS0uNy4wNS0xLjE0LS4xOC0xLjQ5LS40NWE1LjYgNS42IDAgMCAxLS4yMi0uMTlsLS4wMy0uMDMtLjE3LS4xM2ExLjQgMS40IDAgMCAwLS4zMy0uMjJjLS4xOC0uMDctLjQ0LS4xMi0uOTMgMGwtLjEuNGMtLjEuMy0uMjguNjktLjU4IDEuMDkuODcuNTkgMS42IDEuNDYgMi4xNCAyLjJhMTQuOTIgMTQuOTIgMCAwIDEgLjggMS4yN3pNOS4wNSAxOS4xOXYtLjA5YTQuNzggNC43OCAwIDAgMC0uOTYtMy4zIDUuNTYgNS41NiAwIDAgMC0xLjY1LTEuMjljLS4zLS4xNy0uNi0uMy0uOC0uNGwtLjA1LS4wM2E0LjA1IDQuMDUgMCAwIDAtMS40IDIuODIgMy4xIDMuMSAwIDAgMCAuNjYgMi4yNWMuODMuODIgMS44Ni44NCAyLjc4LjYyYTUuNzEgNS43MSAwIDAgMCAxLjQyLS41OHptNC4yNi01Ljg3Yy0uMy4yNC0uNzQuNTQtMS4xOC42Ni0uMzcuMS0uODEuMS0xLjEyLjA4YTYuOTUgNi45NSAwIDAgMS0uNTQtLjA2aC0uMDVsLjA4LS41LjA4LS41LjAzLjAxYTUuMDIgNS4wMiAwIDAgMCAxLjI2IDBjLjI0LS4wNi41NC0uMjUuODMtLjQ3YTYuMSA2LjEgMCAwIDAgLjQyLS4zN2wuMDItLjAyLjM2LjM1LjM1LjM2aC0uMDFsLS4wMy4wNGE2LjA5IDYuMDkgMCAwIDEtLjUuNDJ6TTYgMTdoMXYtMUg2djF6Ii8+PC9zdmc+J30sNTY5Nzg1KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZD0iTTcuNSAyNHYtNS41bTAgMHMyLjctMS4xIDQuNS0xYzIuMS4xMiAyLjkgMS44OCA1IDIgMS44LjEgNC41LTEgNC41LTF2LTZtLTE0IDZ2LTZtMCAwdi02czIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMXY2bS0xNCAwczIuNy0xLjEgNC41LTFjMi4xLjEyIDIuOSAxLjg4IDUgMiAxLjguMSA0LjUtMSA0LjUtMSIvPjwvc3ZnPid9LDE4NTYwNShlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuNSA4aDEuMzZsLS44NS0zLjM4Ljk4LS4yNC45IDMuNjJoNy42NGExLjM0IDEuMzQgMCAwIDEgLjIuMDJjLjEzLjAyLjMxLjA3LjUuMTYuMTguMDkuMzguMjQuNTMuNDYuMTUuMjQuMjQuNTIuMjQuODYgMCAuMzQtLjA5LjYyLS4yNC44NmExLjM4IDEuMzggMCAwIDEtLjc5LjU2TDIyIDI0LjU0bC0uMDMuNDZINi41Yy0xIDAtMS42NC0uNjgtMS45OS0xLjIzYTQuNCA0LjQgMCAwIDEtLjM4LS43OGwtLjAxLS4wNGMtLjEtLjAzLS4yMi0uMDctLjM0LS4xM2ExLjM2IDEuMzYgMCAwIDEtLjU0LS40NkExLjUxIDEuNTEgMCAwIDEgMyAyMS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDYuMS0uMDUuMi0uMDkuMjgtLjExYTYuNiA2LjYgMCAwIDEgLjk2LTIuMzRDNS45MiAxNi4zNSA3LjU2IDE1IDEwLjUgMTVjLjcyIDAgMS4zNi4wOCAxLjkzLjIybC0uNC00LjNhMS4zOCAxLjM4IDAgMCAxLS44LS41N0ExLjUxIDEuNTEgMCAwIDEgMTEgOS41YzAtLjM0LjA5LS42Mi4yNC0uODYuMTUtLjIyLjM1LS4zNy41NC0uNDZhMS43MyAxLjczIDAgMCAxIC43LS4xOGguMDJ2LjVWOHptLjk2IDcuNTdhNS43MyA1LjczIDAgMCAxIDIuNTIgMi4xNiA2Ljg2IDYuODYgMCAwIDEgLjk1IDIuMzQgMS4zOCAxLjM4IDAgMCAxIC44Mi41OGMuMTYuMjMuMjUuNTEuMjUuODUgMCAuMzQtLjA5LjYyLS4yNC44Ni0uMTUuMjItLjM1LjM3LS41NC40Ni0uMTIuMDYtLjI0LjEtLjM0LjEzbC0uMDEuMDRhNC40IDQuNCAwIDAgMS0uNTQgMS4wMWg0LjdsLjkzLTEzaC04LjkxbC40MSA0LjU3ek0xNC41IDloOGEuNzMuNzMgMCAwIDEgLjI4LjA3Yy4wNi4wNC4xMS4wOC4xNS4xMy4wMy4wNS4wNy4xNC4wNy4zIDAgLjE2LS4wNC4yNS0uMDcuM2EuMzguMzggMCAwIDEtLjE1LjEzLjczLjczIDAgMCAxLS4yNy4wN0gxMi41YS43My43MyAwIDAgMS0uMjgtLjA3LjM4LjM4IDAgMCAxLS4xNS0uMTMuNTIuNTIgMCAwIDEtLjA3LS4zYzAtLjE2LjA0LS4yNS4wNy0uMy4wNC0uMDUuMDktLjEuMTUtLjEzQS43My43MyAwIDAgMSAxMi41IDloMi4wMXptMS40IDExYTUuOCA1LjggMCAwIDAtLjc2LTEuNzNDMTQuNDEgMTcuMTUgMTMuMDYgMTYgMTAuNSAxNmMtMi41NiAwLTMuOTEgMS4xNS00LjY0IDIuMjdBNS44NiA1Ljg2IDAgMCAwIDUuMSAyMGgxMC43OHpNNC41IDIxYS43Mi43MiAwIDAgMC0uMjguMDcuMzguMzggMCAwIDAtLjE1LjEzLjUyLjUyIDAgMCAwLS4wNy4zYzAgLjE2LjA0LjI1LjA3LjMuMDQuMDUuMDkuMS4xNS4xM2EuNzMuNzMgMCAwIDAgLjI3LjA3SDE2LjVhLjcyLjcyIDAgMCAwIC4yOC0uMDcuMzguMzggMCAwIDAgLjE1LS4xMy41Mi41MiAwIDAgMCAuMDctLjMuNTIuNTIgMCAwIDAtLjA3LS4zLjM4LjM4IDAgMCAwLS4xNS0uMTMuNzMuNzMgMCAwIDAtLjI3LS4wN0g0LjV6bS43MyAybC4xMy4yM2MuMjguNDUuNjUuNzcgMS4xNC43N2g4Yy41IDAgLjg2LS4zMiAxLjE0LS43Ny4wNS0uMDcuMS0uMTUuMTMtLjIzSDUuMjN6TTExIDE3djFoLTF2LTFoMXptLTMgMWgxdjFIOHYtMXptNCAxdi0xaDF2MWgtMXoiLz48L3N2Zz4nfSw2OTQ1MzIoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTkuNSAyMUg5aC41em04IDBIMTdoLjV6bS02LTEwSDExdjFoLjV2LTF6bTQgMWguNXYtMWgtLjV2MXptMiA3LjVoLjUtLjV6bS4yOS0xLjU5QTcuOTcgNy45NyAwIDAgMCAyMSAxMS41aC0xYTYuOTcgNi45NyAwIDAgMS0yLjc5IDUuNTlsLjU4Ljgyek0yMSAxMS41QTcuNSA3LjUgMCAwIDAgMTMuNSA0djFhNi41IDYuNSAwIDAgMSA2LjUgNi41aDF6TTEzLjUgNEE3LjUgNy41IDAgMCAwIDYgMTEuNWgxQTYuNSA2LjUgMCAwIDEgMTMuNSA1VjR6TTYgMTEuNWE3Ljk4IDcuOTggMCAwIDAgMy4yMSA2LjQxbC41Ny0uODJBNi45OCA2Ljk4IDAgMCAxIDcgMTEuNUg2ek05IDIxYTEgMSAwIDAgMCAxIDF2LTFIOXptOCAxYTEgMSAwIDAgMCAxLTFoLTF2MXptLTYtLjVWMjNoMXYtMS41aC0xem0wIDEuNWExIDEgMCAwIDAgMSAxdi0xaC0xem0xIDFoM3YtMWgtM3Yxem0zIDBhMSAxIDAgMCAwIDEtMWgtMXYxem0xLTF2LTEuNWgtMVYyM2gxem0tMy0xMS41djZoMXYtNmgtMXpNOS41IDIwaDh2LTFoLTh2MXpNOSAxNy41djJoMXYtMkg5em0wIDJWMjFoMXYtMS41SDl6bTkgMS41di0xLjVoLTFWMjFoMXptMC0xLjV2LTJoLTF2Mmgxek05LjUgMThoNHYtMWgtNHYxem00IDBoNHYtMWgtNHYxem0tMi02aDJ2LTFoLTJ2MXptMiAwaDJ2LTFoLTJ2MXpNMTAgMjJoMS41di0xSDEwdjF6bTEuNSAwaDR2LTFoLTR2MXptNCAwSDE3di0xaC0xLjV2MXoiLz48L3N2Zz4nfSw4MTQ2NzAoZSl7ZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI4IDI4IiB3aWR0aD0iMjgiIGhlaWdodD0iMjgiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYgMTQuNUM2IDkuNzggOS43OCA2IDE0LjUgNmM0LjcyIDAgOC41IDMuNzggOC41IDguNSAwIDQuNzItMy43OCA4LjUtOC41IDguNUE4LjQ2IDguNDYgMCAwIDEgNiAxNC41ek0xNC41IDVBOS40NiA5LjQ2IDAgMCAwIDUgMTQuNWMwIDUuMjggNC4yMiA5LjUgOS41IDkuNXM5LjUtNC4yMiA5LjUtOS41UzE5Ljc4IDUgMTQuNSA1ek0xNCAxNlY5aDF2Nmg0djFoLTV6Ii8+PC9zdmc+J30sNjIwNzgxKGUpewplLmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjggMjgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNiAxNC41QzYgOS43OCA5Ljc4IDYgMTQuNSA2YzQuNzIgMCA4LjUgMy43OCA4LjUgOC41IDAgNC43Mi0zLjc4IDguNS04LjUgOC41QTguNDYgOC40NiAwIDAgMSA2IDE0LjV6TTE0LjUgNUE5LjQ2IDkuNDYgMCAwIDAgNSAxNC41YzAgNS4yOCA0LjIyIDkuNSA5LjUgOS41czkuNS00LjIyIDkuNS05LjVTMTkuNzggNSAxNC41IDV6TTEyIDEyYTEgMSAwIDEgMCAwIDIgMSAxIDAgMCAwIDAtMnptNCAxYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHptLTYgNGwtLjQzLjI2di4wMWwuMDMuMDNhMy41NSAzLjU1IDAgMCAwIC4zLjQgNS43IDUuNyAwIDAgMCA5LjIyIDAgNS40MiA1LjQyIDAgMCAwIC4yOC0uNGwuMDItLjAzdi0uMDFMMTkgMTdsLS40My0uMjZ2LjAyYTIuNDUgMi40NSAwIDAgMS0uMjQuMzJjLS4xNy4yMS0uNDMuNS0uNzguNzlhNC43MSA0LjcxIDAgMCAxLTYuODgtLjggNC4zMiA0LjMyIDAgMCAxLS4yMy0uMzFsLS4wMS0uMDJMMTAgMTd6Ii8+PC9zdmc+J30sOTAwMzExKGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTUuNiAxNS40M0E2LjE5IDYuMTkgMCAwIDEgMTQgNi4zNmE2LjE5IDYuMTkgMCAwIDEgOC40IDkuMDhsLS4wMy4wMi03LjMgNy4zMWExLjUgMS41IDAgMCAxLTIuMTMgMGwtNy4zLTcuMy0uMDMtLjAzbS43MS0uN3YtLjAxYTUuMTkgNS4xOSAwIDAgMSA3LjMzLTcuMzR2LjAxYy4yLjIuNTEuMTkuNyAwYTUuMTkgNS4xOSAwIDAgMSA3LjM0IDcuMzNsLS4wMy4wMi03LjMgNy4zMWEuNS41IDAgMCAxLS43MSAwbC03LjMtNy4zLS4wMy0uMDJ6Ii8+PC9zdmc+J30sNzUwNzY5KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yMi44NyA2LjQ0Yy4wOS0uNzgtLjUzLTEuNC0xLjMtMS4zMS0xLjQzLjE1LTMuNDMuNDgtNS40MiAxLjJhMTEuOCAxMS44IDAgMCAwLTUuMjMgMy40NEw5Ljg2IDExLjlsNi4yNCA2LjI0IDIuMTMtMS4wNmExMS44IDExLjggMCAwIDAgMy40NC01LjIzYy43Mi0xLjk5IDEuMDUtNCAxLjItNS40MXptLTQuOTMgMTEuOWwtMS43Mi44Ni0uMDQuMDJoLS4wNGwtMi4yLjY3di4wMWExOS42OCAxOS42OCAwIDAgMC0uMTMgMy4zM2MuMDEuMTQuMDguMjIuMTcuMjYuMDguMDQuMi4wNS4zMi0uMDNhMTguODMgMTguODMgMCAwIDAgMi43OS0yLjI2IDguMTggOC4xOCAwIDAgMCAuNDQtMS4xYy4xNi0uNTEuMzMtMS4xMi40MS0xLjc2em0tLjQ0IDMuMTZsLjM1LjM1LS4wMS4wMi0uMDUuMDVhMTYuODUgMTYuODUgMCAwIDEtLjgzLjc2Yy0uNTQuNDctMS4zIDEuMDgtMi4xIDEuNjFhMS4zIDEuMyAwIDAgMS0yLjA1LS45OCAxNi40NiAxNi40NiAwIDAgMSAuMDktMy4wOGwtLjE2LjA1YTEuNSAxLjUgMCAwIDEtMS41My0uMzZsLTMuMTMtMy4xM2MtLjQtLjQtLjU0LTEtLjM2LTEuNTNsLjA1LS4xNi0uMzYuMDRjLS43LjA2LTEuNjIuMTEtMi41NC4wNmExLjMgMS4zIDAgMCAxLTEuMTMtLjhjLS4xOC0uNDItLjEzLS45NC4xNy0xLjM1YTg3LjU1IDg3LjU1IDAgMCAxIDIuMTUtMi44bC4wNC0uMDR2LS4wMmwuNC4zMS0uMjItLjQ1LjAzLS4wMWE1LjkzIDUuOTMgMCAwIDEgLjM0LS4xNmMuMjMtLjEuNTUtLjIyLjk0LS4zNUE5Ljc3IDkuNzcgMCAwIDEgMTAuMjYgOWExMi45IDEyLjkgMCAwIDEgNS41NS0zLjYxYzIuMDktLjc2IDQuMTgtMS4xIDUuNjUtMS4yNiAxLjQxLS4xNSAyLjU2IDEgMi40IDIuNDFhMjQuMDQgMjQuMDQgMCAwIDEtMS4yNSA1LjY1QTEyLjkgMTIuOSAwIDAgMSAxOSAxNy43NGE5Ljc3IDkuNzcgMCAwIDEtLjg4IDMuNjEgOS4xOCA5LjE4IDAgMCAxLS4xNi4zNHYuMDNoLS4wMWwtLjQ1LS4yMnptMCAwbC40NS4yMi0uMDQuMDgtLjA2LjA1LS4zNS0uMzV6bS0xMS0xMWwtLjQtLjMxLjA4LS4wOS4xLS4wNS4yMi40NXptMy4xNi0uNDRhOS42MSA5LjYxIDAgMCAwLTIuODQuODRsLS4xMy4xNmExMDkuODMgMTA5LjgzIDAgMCAwLTEuOTcgMi41OC40LjQgMCAwIDAtLjA2LjM4Yy4wNC4xLjEyLjE3LjI3LjE4YTE2LjA1IDE2LjA1IDAgMCAwIDMuMTgtLjE1bC42Ni0yLjIuMDEtLjAzLjAyLS4wNC44Ni0xLjcyem01LjQgOC40NWwtNS41Ny01LjU2LS41MSAxLjctLjMxLjkyYS41LjUgMCAwIDAgLjEyLjUxbDMuMTMgMy4xM2EuNS41IDAgMCAwIC41LjEybC45Mi0uM2guMDJsMS43LS41MnptLTEwLjkxLjY0bDItMiAuNy43LTIgMi0uNy0uN3ptMCA0bDQtNCAuNy43LTQgNC0uNy0uN3ptNCAwbDItMiAuNy43LTIgMi0uNy0uN3pNMTYgMTAuNWExLjUgMS41IDAgMSAxIDMgMCAxLjUgMS41IDAgMCAxLTMgMHpNMTcuNSA4YTIuNSAyLjUgMCAxIDAgMCA1IDIuNSAyLjUgMCAwIDAgMC01eiIvPjwvc3ZnPid9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/46907.c5af8aa7b5082b1875a5.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.174Z","timestamp":1785136429174,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/46907.c5af8aa7b5082b1875a5.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-6bc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3b2fec9dcfe4e6d9322c02d3574ad1c1\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1724,"size_decoded":1396,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1724), with no line terminators","md5":"8212d60d44748bb18233778e23b8f7b2","sha1":"35debdd9067ec06aa3648e5d7a9cddde39873397","sha256":"cc31664050fc2b670129f7e7d1a11bda8d20efa47a713598bbb96d4da6e297ba","sha512":"3f0235fe9fb761707020a01990077cf65fd4d774216e7d49fe218ea8e4ffa73a0d3d662536e662eb978f3d790446e7ee75ab139468bc6a0371653a48512aa994","ssdeep":"","tlshash":"d931cc75936ad2387a770b376241558a3199f64773730239e680bda881e16ba3b333c4","first_seen":"2026-07-16T11:36:17.893966Z","last_seen":"2026-08-03T09:16:28.399983Z","times_seen":2410,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtQUVROTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLUFFUTk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LndyYXBwZXItaGN0MnlKdkt7Y29sb3I6dmFyKC0tXzAtQUVROSl9LmFuaW1hdGVkLWhjdDJ5SnZLe2FuaW1hdGlvbjoxcyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBhbHRlcm5hdGUgbm9uZSBydW5uaW5nO2FuaW1hdGlvbi1uYW1lOnB1bHNhdGlvbi1oY3QyeUp2S31Aa2V5ZnJhbWVzIHB1bHNhdGlvbi1oY3QyeUp2S3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNH19W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtX19ycTp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMS1fX3JxOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtX19ycTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8xLV9fcnE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmxvZ28tVkNOS3ViV3F7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9nby1WQ05LdWJXcTpub3QoaW1nKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLV9fcnEpfS5oaWRkZW4tVkNOS3ViV3F7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlfS54eGNlcHRpb25hbGx5c21hbGxkb25vdHVzZWJydjEwMjMtVkNOS3ViV3F7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEycHg7bGluZS1oZWlnaHQ6MTBweDttaW4td2lkdGg6MTJweDt3aWR0aDoxMnB4fS54eHhzbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTFweDtoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoxOHB4O3dpZHRoOjE4cHh9Lnh4c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjBweDt3aWR0aDoyMHB4fS54c21hbGwtVkNOS3ViV3F7Zm9udC1zaXplOjExcHg7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MTZweDttaW4td2lkdGg6MjRweDt3aWR0aDoyNHB4fS5zbWFsbC1WQ05LdWJXcXtmb250LXNpemU6MTRweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDoyOHB4O3dpZHRoOjI4cHh9Lm1lZGl1bS1WQ05LdWJXcXtmb250LXNpemU6MTZweDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxNnB4O21pbi13aWR0aDozNnB4O3dpZHRoOjM2cHh9LmxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToyNHB4O2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjMycHg7bWluLXdpZHRoOjQ4cHg7d2lkdGg6NDhweH0ueGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZTo0MHB4O2hlaWdodDo1NnB4O2xpbmUtaGVpZ2h0OjQwcHg7bWluLXdpZHRoOjU2cHg7d2lkdGg6NTZweH0ueHhsYXJnZS1WQ05LdWJXcXtmb250LXNpemU6ODBweDtoZWlnaHQ6MTEycHg7bGluZS1oZWlnaHQ6ODBweDttaW4td2lkdGg6MTEycHg7d2lkdGg6MTEycHh9Lnh4eGxhcmdlLVZDTkt1Yldxe2ZvbnQtc2l6ZToxNjBweDtoZWlnaHQ6MTY4cHg7bGluZS1oZWlnaHQ6MTYwcHg7bWluLXdpZHRoOjE2OHB4O3dpZHRoOjE2OHB4fS5za2VsZXRvbi1WQ05LdWJXcXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn0ubGV0dGVyLVZDTkt1Yldxe2NvbG9yOnZhcigtLV8wLV9fcnEpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMH0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/9270.32910635bb39c686f5be.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.404Z","timestamp":1785136429404,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/9270.32910635bb39c686f5be.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-25cb\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 60c358dc9860809535b399c6d7717adb\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9675,"size_decoded":4352,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"5539ff4455921fad5c1cbaab2a5f3bce","sha1":"1073b48b55f2cd1b7d3fa453240d3a291dfd463b","sha256":"1f30073c128d18667a732ed75caf7f398da1accffcaa0a3f31bf098b68158c7d","sha512":"0c43ed53a7646dae59e40f446fe718b9737fd8e7a496ec59d228934369a1e38d90c3b9dd61a21fe12001706bad97b7bcd580f3b48b18b5626df44fc3632dfbdd","ssdeep":"192:TdqLHSioSpIwtLAZ9ZZmQSUMesX4decPvT4L27UXn4Tmdl6eFU3KT0:ToHSioVwtLAZ9JS8s8eYvT4L27UXLMeK","tlshash":"83120a85b3643caa91da1ad479b1088793137994a02bcde8742c65ff299cc27743cb7d","first_seen":"2026-07-17T03:30:51.183942Z","last_seen":"2026-07-28T06:17:53.613421Z","times_seen":108,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTI3MF0sezEwNzg2OShlLHQsbyl7ZnVuY3Rpb24gcihlLHQpe2NvbnN0IG89ZS5iYWNrZ3JvdW5kVG9wQ29sb3IoKS52YWx1ZSgpLHI9ZS5iYWNrZ3JvdW5kQ29sb3IoKS52YWx1ZSgpLG49dC5tb2RlbCgpLnBhbmVzKCkuaW5kZXhPZih0KSxpPXQubW9kZWwoKS5tYWluUGFuZSgpO3JldHVybiBuPihpP3QubW9kZWwoKS5wYW5lcygpLmluZGV4T2YoaSk6MCk/cjpvfW8uZCh0LHtnZXRQYW5lV2lkZ2V0U2lkZUFyZWFCZ0NvbG9yOigpPT5yfSl9LDM3OTY1MihlLHQsbyl7by5kKHQse2NhbGN1bGF0ZUZvbnRTaXplOigpPT5oLGdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50czooKT0+bH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oNTkwODk0KSxpPW8oODIyNzI2KSxhPW8oOTI2MTQ5KSxzPW8oMTk4OTAxKTtmdW5jdGlvbiBsKGUsdCxvLHIpe2lmKGUuc2l6ZSlyZXR1cm4gZTtmb3IobGV0IG49ci5taW5BbGxvd2VkRm9udFNpemU7bjw9ci5tYXhBbGxvd2VkRm9udFNpemU7bisrKXtjb25zdCBhPW8uZ2V0KG4pPz9uZXcgaS5UZXh0V2lkdGhDYWNoZTtvLnNldChuLGEpLGUuc2V0KG4sZCh0LG4sYSxyLm1heFN5bWJvbHMpKX1yZXR1cm4gZX1mdW5jdGlvbiBkKGUsdCxvLHIpe2UuZm9udD0oMCxuLm1ha2VGb250KSh0LGEuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgaT1uZXcgTWFwO2ZvcihsZXQgdD0xO3Q8PXI7dCsrKWkuc2V0KHQsby5tZWFzdXJlVGV4dChlLG5ldyBBcnJheSh0KzEpLmpvaW4oIjAiKSkpO2NvbnN0IHM9by55TWlkQ29ycmVjdGlvbihlLCIwIiksbD1vLmdldE1ldHJpY3MoZSwiMCIpO3JldHVybnt3aWR0aHM6aSxhY3R1YWxGb250SGVpZ2h0OmwuZm9udEJvdW5kaW5nQm94RGVzY2VudCtsLmZvbnRCb3VuZGluZ0JveEFzY2VudCx5Q29ycmVjdGlvbjpzfX1mdW5jdGlvbiBoKGUsdCxvLG4saSxhKXtjb25zdCBkPWwoaSxvLG4sYSkse21heEFsbG93ZWRGb250U2l6ZTpoLG1pbkFsbG93ZWRGb250U2l6ZTpjLGZvbnRTaXplQ29lZmY6dSxob3J6Q2VsbE1pbk1hcmdpbjptLGhvcnpDZWxsTWFyZ2luc0NvZWZmOkN9PWE7bGV0IGY9aDtjb25zdCBfPWU9PmMrZTtmb3IoY29uc3QgbyBvZiBlKXtpZighZilicmVhaztjb25zdHtib3g6ZSxsYWJlbDpufT1vLGk9TWF0aC5mbG9vcihlLm1heC54LWUubWluLngpL3QuaG9yaXpvbnRhbFBpeGVsUmF0aW8sYT0oZS5tYXgueS1lLm1pbi55KS90LnZlcnRpY2FsUGl4ZWxSYXRpbyxsPU1hdGgucm91bmQoYSp1KTtpZihsPGMpe2Y9MDticmVha31mPmwmJihmPWwpO2NvbnN0IGg9XygoMCxzLmxvd2VyYm91bmRFeHQpKF8sbiwoKGUsdCk9Pnt2YXIgbyxuO3JldHVybihvPWUsbj10LCgwLHIuZW5zdXJlRGVmaW5lZCkoZC5nZXQobyk/LndpZHRocy5nZXQobi5sZW5ndGgpKSk8aS1NYXRoLm1heChtLDIqQypfKGUpKX0pLDAsZi1jKzEpKTtpZihoPGYrMSYmKGY9aC0xKSxmPGMpe2Y9MDticmVha319cmV0dXJuIGY/e2ZvbnRTaXplOmYseU1pZENvcnJlY3Rpb246KGc9ZiwoMCxyLmVuc3VyZURlZmluZWQpKGQuZ2V0KGcpPy55Q29ycmVjdGlvbikpfTpudWxsO3ZhciBnfX0sMjk0MzY0KGUsdCxvKXtvLmQodCx7cm93Qm94R2VuZXJhdG9yOigpPT5hfSk7dmFyIHI9byg3MzY1MzEpLG49byg2MzU2OTkpO2NvbnN0e2NlbGxIZWlnaHQ6aX09bi5jb25zdGFudHM7ZnVuY3Rpb24qYShlLHtiaXRtYXBTaXplOnt3aWR0aDp0fX0pe2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7KytvKXlpZWxkW28sKDAsci5ib3gpKCgwLHIucG9pbnQpKDAsbyppKSwoMCxyLnBvaW50KSh0LChvKzEpKmkpKV19fSw1ODg4NzAoZSx0LG8pe28uZCh0LHtTdW1tYXJ5UGFuZVZpZXc6KCk9Pnp9KTt2YXIgcj1vKDEzODYzOCksbj1vKDczNjUzMSksaT1vKDkyNjE0OSksYT1vKDEwNzg2OSkscz1vKDQyNTY1OSksbD1vKDU5MDg5NCksZD1vKDc4OTE5MCksaD1vKDM3OTY1MiksYz1vKDYzNTY5OSksdT1vKDE4NTI3MSksbT1vKDU3MzA1NCk7Y29uc3QgQz11LnQobnVsbCx7Y29udGV4dDoiY2hhcnQgd2l0aCBzdW1tYXJ5IHRhYmxlIn0sbyg4NzAwOSkpO2NsYXNzIGYgZXh0ZW5kcyBtLk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fZGF0YT1lfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7Y29uc3QgdD10aGlzLl9kYXRhO2lmKCF0KXJldHVybjtjb25zdCBvPXQuaXNEYXJrP2MuZGFya0NvbG9yczpjLmxpZ2h0Q29sb3JzLHI9ZS5jb250ZXh0O3IuZmlsbFN0eWxlPW8udGV4dENvbG9yLHIudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHIuZm9udD10LmZvbnQsci5maWxsVGV4dChDLGMuY29uc3RhbnRzLmxlZ2VuZExlZnRQYWRkaW5nLGUubWVkaWFTaXplLmhlaWdodC8yK3QueU1pZENvcnJlY3Rpb24pfX12YXIgXz1vKDc2ODMwNSksZz1vKDc2MykseD1vKDk3NjgxMyksdz1vKDkzNDMwNSksdj1vKDc4NjQzNikscD1vKDE1MTIxKSxNPW8oMjk0MzY0KSxTPW8oODIyNzI2KTtjbGFzcyBUIGV4dGVuZHMgdy5CaXRtYXBDb29yZGluYXRlc1BhbmVSZW5kZXJlcntjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl93aWR0aENhY2hlPW5ldyBTLlRleHRXaWR0aENhY2hlKDFlMyksdGhpcy5fZGF0YT1lPz9udWxsfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LmNvbHVtbnMubGVuZ3RoKXJldHVybiBudWxsO2Zvcihjb25zdFtyLG5db2YoMCxNLnJvd0JveEdlbmVyYXRvcikoby5jb2x1bW5zWzBdLnJvd3MsdCkpaWYoKDAsXy5wb2ludEluQm94KShlLG4pKXJldHVybiBuZXcgZy5IaXRUZXN0UmVzdWx0KGcuSGl0VGFyZ2V0LlJlZ3VsYXIse2FjdGl2ZUl0ZW06cixjdXJzb3JUeXBlOnguUGFuZUN1cnNvclR5cGUuRGVmYXVsdH0pO3JldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdCB0PXRoaXMuX2RhdGEKO2lmKCF0Py5jb2x1bW5zLmxlbmd0aClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzphfT1lLHM9dC5pc0Rhcms/Yy5kYXJrQ29sb3JzOmMubGlnaHRDb2xvcnMsZD1jLmNvbnN0YW50cy5jZWxsSGVpZ2h0LGg9TWF0aC5yb3VuZChkKm4pO28uZmlsbFN0eWxlPXMudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxsLm1ha2VGb250KSh0LmZvbnRTaXplLGkuQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSk7Y29uc3QgdT10LmNvbHVtbnMubGVuZ3RoLTE7aWYoKDAscC5kcmF3U2NhbGVkKShvLGEsbiwoKCk9Pnt0LmNvbHVtbnMuZm9yRWFjaCgoKGUscik9Pntjb25zdFtuLGldPVtlLmxlZnQsZS5yaWdodF0ubWFwKChlPT5NYXRoLnJvdW5kKGUvYSkpKSxzPWktbixsPXI9PT11O2Uucm93cy5mb3JFYWNoKCgoZSxyKT0+e2NvbnN0IGE9ZS50ZXh0LGg9ZS5iYWNrZ3JvdW5kQ29sb3I7aCYmKG8uc2F2ZSgpLG8uZmlsbFN0eWxlPWgsby5maWxsUmVjdChuLHIqZCxzLGQpLG8ucmVzdG9yZSgpKTt0aGlzLl93aWR0aENhY2hlLm1lYXN1cmVUZXh0KG8sYSk+cy0yKmMuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luP2wmJiF0LmN1dE9mZkxhc3RDb2x1bW4/KG8udGV4dEFsaWduPSJsZWZ0IixvLmZpbGxUZXh0KGEsbitjLmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbixyKmQrZC8yKSk6KG8uc2F2ZSgpLG8udGV4dEFsaWduPSJsZWZ0IixvLmJlZ2luUGF0aCgpLG8ucmVjdChuK2MuY29uc3RhbnRzLmhvcnpDZWxsTWluTWFyZ2luLHIqZCxzLTIqYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4sZCksby5jbGlwKCksby5maWxsVGV4dChhLG4rYy5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW4scipkK2QvMiksby5yZXN0b3JlKCkpOihvLnRleHRBbGlnbj0iY2VudGVyIixvLmZpbGxUZXh0KGEsKG4raSkvMixyKmQrZC8yK3QueU1pZENvcnJlY3Rpb24pKX0pKX0pKX0pKSxvLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IoYSkpLHZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPXMuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqaCxyLndpZHRoLGgpKSxvLnN0cm9rZVN0eWxlPXQudmVydEJvcmRlcnNDb2xvcix0LmNvbHVtbnMuZm9yRWFjaCgoZT0+eygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLmxlZnQsMCxyLmhlaWdodCl9KSksdC5jdXRPZmZMYXN0Q29sdW1uKXtjb25zdCBlPXQuY29sdW1uc1t0LmNvbHVtbnMubGVuZ3RoLTFdOygwLHYuZHJhd1ZlcnRpY2FsTGluZSkobyxlLnJpZ2h0LDAsci5oZWlnaHQpfXtjb25zdFt7cm93czp7bGVuZ3RoOmV9fV09dC5jb2x1bW5zO28uc3Ryb2tlU3R5bGU9dC5ob3J6Qm9yZGVyc0NvbG9yO2ZvcihsZXQgdD0xO3Q8PWU7Kyt0KSgwLHYuZHJhd0hvcml6b250YWxMaW5lKShvLHQqaCwwLHIud2lkdGgpfX19Y29uc3QgUj1uZXcgTWFwO2NsYXNzIHp7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9yZW5kZXJlcj1uZXcgZC5Db21wb3NpdGVSZW5kZXJlcix0aGlzLl9sZWdlbmRSZW5kZXJlcj1udWxsLHRoaXMuX3N1bW1hcnlSZW5kZXJlcj1uZXcgVCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXA9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX21vZGVsPXQsdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXM9KDAsci5lbnN1cmVOb3ROdWxsKShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksdGhpcy5fdGV4dFdpZHRoQ2FjaGVDYW52YXNDdHg9KDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhcy5nZXRDb250ZXh0KCIyZCIpKX11cGRhdGUoKXt0aGlzLl9pbnZhbGlkYXRlZD0hMH1yZW5kZXJlcihlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5fcmVuZGVyZXJ9bWFrZVN1cmVJc1VwZGF0ZWQoZSl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVSZW5kZXJlcihlKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSl9X3VwZGF0ZVJlbmRlcmVyKGUpe3RoaXMuX3JlbmRlcmVyLmNsZWFyKCk7Y29uc3QgdD10aGlzLl9nZXREYXRhU291cmNlRm9yU3VtbWFyeSgpO2lmKCF0KXJldHVybjtjb25zdCBvPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0KSksZD0oMCxhLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLG8pLHU9by5jb2xsYXBzZWQoKS52YWx1ZSgpJiYhby5tYXhpbWl6ZWQoKS52YWx1ZSgpLG09KDAscy5pc0NvbG9yRGFyaykoZCk7aWYodSl7Y29uc3QgZT0oMCxoLmdldFByZXBhcmVkVGV4dE1lYXN1cmVtZW50cykoUix0aGlzLl90ZXh0V2lkdGhDYWNoZUNhbnZhc0N0eCx0aGlzLl90ZXh0V2lkdGhDYWNoZXNNYXAsYy5jb25zdGFudHMpLHQ9e2lzRGFyazptLGZvbnQ6KDAsbC5tYWtlRm9udCkoYy5jb25zdGFudHMubGVnZW5kRm9udFNpemUsaS5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpKSx5TWlkQ29ycmVjdGlvbjplLmdldChjLmNvbnN0YW50cy5sZWdlbmRGb250U2l6ZSk/LnlDb3JyZWN0aW9uPz8wfTtyZXR1cm4gdGhpcy5fbGVnZW5kUmVuZGVyZXJ8fCh0aGlzLl9sZWdlbmRSZW5kZXJlcj1uZXcgZih0KSksdGhpcy5fbGVnZW5kUmVuZGVyZXIuc2V0RGF0YSh0KSx2b2lkIHRoaXMuX3JlbmRlcmVyLmFwcGVuZCh0aGlzLl9sZWdlbmRSZW5kZXJlcil9Y29uc3QgQz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5sb2dpY2FsUmFuZ2UoKTtpZighQylyZXR1cm47Y29uc3QgXz10aGlzLl9nZXRTdW1tYXJ5Q29sdW1uUmVuZGVyZXJEYXRhKGUsQyk7aWYobnVsbD09PV8pcmV0dXJuO2NvbnN0IGc9dGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLHg9ewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PXQ/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLGNvbHVtbnM6XyxjdXRPZmZMYXN0Q29sdW1uOnRoaXMuX2N1dE9mZkxhc3RDb2x1bW4oKSxpc0Rhcms6bSx2ZXJ0Qm9yZGVyc0NvbG9yOmcudmVydEdyaWRQcm9wZXJ0aWVzLmNoaWxkcygpLmNvbG9yLnZhbHVlKCksaG9yekJvcmRlcnNDb2xvcjpnLmhvcnpHcmlkUHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfSx3PSgwLGguY2FsY3VsYXRlRm9udFNpemUpKGZ1bmN0aW9uKihlLHQpe2ZvcihsZXQgbz0wO288ZS5jb2x1bW5zLmxlbmd0aC0xO28rKyl7Y29uc3Qgcj1lLmNvbHVtbnNbb107Zm9yKGxldCBlPTA7ZTxyLnJvd3MubGVuZ3RoO2UrKyl7Y29uc3Qgbz1yLnJvd3NbZV0saT1lKnQsYT0oZSsxKSp0O3lpZWxke2xhYmVsOm8udGV4dCxib3g6KDAsbi5ib3gpKCgwLG4ucG9pbnQpKHIubGVmdCxpKSwoMCxuLnBvaW50KShyLnJpZ2h0LGEpKX19fX0oeCxjLmNvbnN0YW50cy5jZWxsSGVpZ2h0KmUudmVydGljYWxQaXhlbFJhdGlvKSxlLHRoaXMuX3RleHRXaWR0aENhY2hlQ2FudmFzQ3R4LHRoaXMuX3RleHRXaWR0aENhY2hlc01hcCxSLGMuY29uc3RhbnRzKXx8e2ZvbnRTaXplOmMuY29uc3RhbnRzLm1pbkFsbG93ZWRGb250U2l6ZSx5TWlkQ29ycmVjdGlvbjowfTt0aGlzLl9zdW1tYXJ5UmVuZGVyZXIuc2V0RGF0YSh7Li4ueCwuLi53fSksdGhpcy5fcmVuZGVyZXIuYXBwZW5kKHRoaXMuX3N1bW1hcnlSZW5kZXJlcil9fX0sNzQ1NTY5KGUsdCxvKXtvLmQodCx7U3VtbWFyeVdpZGdldFNpZGVBcmVhVmlldzooKT0+eH0pO3ZhciByPW8oMTM4NjM4KSxuPW8oODIyNzI2KSxpPW8oNzY4MzA1KSxhPW8oNTkwODk0KSxzPW8oNzYzKSxsPW8oOTM0MzA1KSxkPW8oNzg2NDM2KSxoPW8oOTI2MTQ5KSxjPW8oMTUxMjEpLHU9byg2MzU2OTkpLG09bygyOTQzNjQpLEM9byg5NzY4MTMpO2NsYXNzIGYgZXh0ZW5kcyBsLkJpdG1hcENvb3JkaW5hdGVzUGFuZVJlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhPW51bGwsdGhpcy5fd2lkdGhDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSgxZTMpfXNldERhdGEoZSl7dGhpcy5fZGF0YT1lfWhpdFRlc3QoZSx0KXtjb25zdCBvPXRoaXMuX2RhdGE7aWYoIW8/LnJvd1RpdGxlcy5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGNvbnN0W3Isbl1vZigwLG0ucm93Qm94R2VuZXJhdG9yKShvLnJvd1RpdGxlcyx0KSlpZigoMCxpLnBvaW50SW5Cb3gpKGUsbikpcmV0dXJuIG5ldyBzLkhpdFRlc3RSZXN1bHQocy5IaXRUYXJnZXQuUmVndWxhcix7YWN0aXZlSXRlbTpyLGN1cnNvclR5cGU6Qy5QYW5lQ3Vyc29yVHlwZS5EZWZhdWx0fSk7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2NvbnN0IHQ9dGhpcy5fZGF0YTtpZihudWxsPT09dClyZXR1cm47Y29uc3R7Y29udGV4dDpvLGJpdG1hcFNpemU6cix2ZXJ0aWNhbFBpeGVsUmF0aW86bixob3Jpem9udGFsUGl4ZWxSYXRpbzppLG1lZGlhU2l6ZTpzfT1lLGw9dC5pc0Rhcms/dS5kYXJrQ29sb3JzOnUubGlnaHRDb2xvcnMsbT11LmNvbnN0YW50cy5jZWxsSGVpZ2h0LEM9TWF0aC5yb3VuZChtKm4pO3ZvaWQgMCE9PXQuaG92ZXJlZFJvdyYmKG8uZmlsbFN0eWxlPWwuaG92ZXJlZFJvd0NvbG9yLG8uZmlsbFJlY3QoMCx0LmhvdmVyZWRSb3cqQyxyLndpZHRoLEMpKSxvLnN0cm9rZVN0eWxlPXQuYm9yZGVyQ29sb3IsdC5yb3dUaXRsZXMuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBuPSh0KzEpKkM7KDAsZC5kcmF3SG9yaXpvbnRhbExpbmUpKG8sbiwwLHIud2lkdGgpfSkpLG8uZmlsbFN0eWxlPWwudGV4dENvbG9yLG8udGV4dEJhc2VsaW5lPSJtaWRkbGUiLG8uZm9udD0oMCxhLm1ha2VGb250KSh0LmZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksKDAsYy5kcmF3U2NhbGVkKShvLGksbiwoKCk9Pnt0LnJvd1RpdGxlcy5mb3JFYWNoKCgoZSxyKT0+e2xldCBuO2lmKCJyaWdodCI9PT10LmFsaWduKW49dS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW47ZWxzZXtjb25zdCB0PXRoaXMuX3dpZHRoQ2FjaGUubWVhc3VyZVRleHQobyxlKTtuPXMud2lkdGgtdC11LmNvbnN0YW50cy5ob3J6Q2VsbE1pbk1hcmdpbn1vLmZpbGxUZXh0KGUsbixyKm0rbS8yK3QueU1pZENvcnJlY3Rpb24pfSkpfSkpfX12YXIgXz1vKDQyNTY1OSksZz1vKDEwNzg2OSk7Y2xhc3MgeHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9yZW5kZXJlcj1uZXcgZix0aGlzLl93aWR0aHNDYWNoZT1uZXcgbi5UZXh0V2lkdGhDYWNoZSx0aGlzLl9tb2RlbD1lLHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpfWRlc3Ryb3koKXt0aGlzLl90ZXh0TWVhc3VyZUNhbnZhcy5yZW1vdmUoKX1yZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn11cGRhdGUoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCksdD10aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCksbz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLG49dGhpcy5fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKTtpZihlJiZvJiZuKXtjb25zdCBpPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZShuKSkscz0oMCxnLmdldFBhbmVXaWRnZXRTaWRlQXJlYUJnQ29sb3IpKHRoaXMuX21vZGVsLGkpLGw9KDAsXy5pc0NvbG9yRGFyaykocyksZD1vLnByaWNlU2NhbGVQb3NpdGlvbihlKTtpZigib3ZlcmxheSIhPT1kKXtjb25zdCBlPSgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fdGV4dE1lYXN1cmVDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSk7ZS5mb250PSgwLGEubWFrZUZvbnQpKHUuY29uc3RhbnRzLm1heEFsbG93ZWRGb250U2l6ZSxoLkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpLHRoaXMuX3JlbmRlcmVyLnNldERhdGEoewpob3ZlcmVkUm93OnRoaXMuX21vZGVsLmhvdmVyZWRTb3VyY2UoKT09PW4/dGhpcy5fbW9kZWwubGFzdEhpdHRlc3REYXRhKCk/LmFjdGl2ZUl0ZW06dm9pZCAwLHJvd1RpdGxlczp0aGlzLl92aXNpYmxlVGl0bGVzKCksYWxpZ246ZCxpc0Rhcms6bCxmb250U2l6ZTp1LmNvbnN0YW50cy5tYXhBbGxvd2VkRm9udFNpemUsYm9yZGVyQ29sb3I6dC5ob3J6R3JpZFByb3BlcnRpZXMuY2hpbGRzKCkuY29sb3IudmFsdWUoKSx5TWlkQ29ycmVjdGlvbjp0aGlzLl93aWR0aHNDYWNoZS55TWlkQ29ycmVjdGlvbihlLCJBQkMiKX0pfX19b3B0aW1hbFdpZHRoKCl7Y29uc3QgZT0oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RleHRNZWFzdXJlQ2FudmFzLmdldENvbnRleHQoIjJkIikpO3JldHVybiBlLmZvbnQ9KDAsYS5tYWtlRm9udCkodS5jb25zdGFudHMubWF4QWxsb3dlZEZvbnRTaXplLGguQ0hBUlRfRk9OVF9GQU1JTFlfV1YudmFsdWUoKSksdGhpcy5fdmlzaWJsZVRpdGxlcygpLnJlZHVjZSgoKHQsbyk9Pk1hdGgubWF4KHQsdGhpcy5fd2lkdGhzQ2FjaGUubWVhc3VyZVRleHQoZSxvKSkpLDApKzIqdS5jb25zdGFudHMuaG9yekNlbGxNaW5NYXJnaW59fX19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T07:13:39.373Z","timestamp":1785136419373,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: heavenwealth.org\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\ncache-control: private\r\ncontent-type: text/html; charset=utf-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\nx-aspnet-version: 4.0.30319\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 10308\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"jQuery:1.11.3","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":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"Microsoft ASP.NET:4.0.30319","description":"ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages.","website":"https://www.asp.net","common_platform_enumeration":"cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*","icon":"Microsoft ASP.NET.svg","categories":["Web frameworks"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]}],"data":{"size":51175,"size_decoded":10636,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (5309), with CRLF line terminators","md5":"b539aaea1f1baf72d25126a3a3002afe","sha1":"82c320a8aff4c84c4cbe1c9564ee06dc6c990ab4","sha256":"9d6196e1258c05e37c4b932f82041bb3723e8524f51b45032e5ab2357c452e23","sha512":"edbe47d5133f6d8c7c52daaf8aae2214a99de2cb3bc0ddd4c9d04e96f60b7f19bc4f6a67bf397cfa7eaf971ef989a1e7cfb647bcfacbea6145ba1b55ae8e8302","ssdeep":"768:p2B59/h0MCx8XnvdI9xumeGyFQRHLBXEXx:p2B59/h0MCYnvdI9xumGFQRHLG","tlshash":"0b33fa2451c5642346b79295aa21abdaffa18207cb07c60833fd2be76ff3c05cd27565","first_seen":"2026-07-27T04:30:37.028148Z","last_seen":"2026-07-27T11:13:26.184555Z","times_seen":5,"resource_available":false,"data":"DQoNCjwhRE9DVFlQRSBodG1sPg0KDQo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+DQo8aGVhZD48dGl0bGU+DQoJSGVhdmVud2VhbHRoDQo8L3RpdGxlPjxzdHlsZT46cm9vdHstLUFwcENvbG9yOiMwMzhkNzQ7LS1vQ29sb3I6cmdiYSgzLDE0MSwxMTYsMC4zNyk7LS13YkNvbG9yOiNmZmY7LS1kX0NvbG9yOiMwMjVFNEQ7LS1zaXRlVXJsOiJodHRwczovL2hlYXZlbndlYWx0aC5vcmcifTwvc3R5bGU+PG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiMwMzhkNzQiLz48bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLW5hdmJ1dHRvbi1jb2xvciIgY29udGVudD0iIzAzOGQ3NCIvPjxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIvPjxtZXRhIG5hbWU9ImFwcGxpY2F0aW9uLW5hbWUiIGNvbnRlbnQ9IkhlYXZlbndlYWx0aCIgLz48bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC10aXRsZSIgY29udGVudD0iSGVhdmVud2VhbHRoIiAvPjxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyIvPjxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUiIGNvbnRlbnQ9ImJsYWNrLXRyYW5zbHVjZW50Ii8+PG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2ltYWdlaW5kZXgsbm9hcmNoaXZlIj48bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iQml0Y29pbiwgSGVhdmVud2VhbHRoIEZpbmFuY2UsIEV0aGVyZXVtLCBJbnZlc3RtZW50LCBNaW5pbmcsIEJpdGNvaW4gTWluaW5nLCBFdGhlcmV1bSBNaW5pbmcsIFJlYWwgRXN0YXRlLCBDRkRzLCBSb2NrLCBTdGFibGUsIEhlYXZlbndlYWx0aCwgU3RvY2tzLCBFVEZzLCBDcnlwdG8sIEludmVzdCwgTWluaW5nLCBTdGFrZSwgU3Rha2luZywgUm9jayBGaW5hbmNlLCBUcm9uLCBJbmRpY2VzLCBNZXRhbCwgR29sZCwgU2lsdmVyLCBIZWF2ZW53ZWFsdGggRmluYW5jZSBFVEZzLCBIZWF2ZW53ZWFsdGggRmluYW5jZSBDcnlwdG8sIEhlYXZlbndlYWx0aCBGaW5hbmNlIFN0b2NrLCBNdXR1YWwgRnVuZHMsIEludmVzdG1lbnQgc2VydmljZXMsIEZpbmFuY2lhbCBwbGFubmluZywgV2VhbHRoIG1hbmFnZW1lbnQsIFBvcnRmb2xpbyBtYW5hZ2VtZW50LCBSZXRpcmVtZW50IHBsYW5uaW5nLCBTdG9jayBtYXJrZXQgaW52ZXN0bWVudHMsIFJlYWwgZXN0YXRlIGludmVzdG1lbnRzLCBDcnlwdG8gaW52ZXN0bWVudHMsIEVURiBpbnZlc3RtZW50cywgRmluYW5jaWFsIGFkdmlzb3JzLCBJbnZlc3RtZW50IHN0cmF0ZWdpZXMsIEhpZ2gteWllbGQgaW52ZXN0bWVudHMsIEFzc2V0IG1hbmFnZW1lbnQsIEludmVzdG1lbnQgcG9ydGZvbGlvcywgSW52ZXN0aW5nIGZvciBiZWdpbm5lcnMsIFBlcnNvbmFsIGZpbmFuY2UsIEZpbmFuY2lhbCBncm93dGgsIERpdmVyc2lmaWVkIGludmVzdG1lbnRzLCBJbnZlc3RtZW50IG9wcG9ydHVuaXRpZXMsIFJpc2sgbWFuYWdlbWVudCI+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IldpdGggYSBicm9hZCBtYXJrZXQga25vd2xlZGdlIGFuZCBiYWNrZ3JvdW5kLCB3ZSBvZmZlciBvdXIgY3VzdG9tZXJzIHRoZSBoaWdoZXN0IGxldmVsIG9mIHNlcnZpY2UgdGhhdCB0aGV5IGJlIGV4cGVjdGluZyBmcm9tIHVzLiBPdXIgdGVhbSBhaW0gdG8gbWFrZSBzdXJlIHRoYXQgd2UgYXJlIGF0dHJhY3RpbmcgbmV3IGludmVzdG1lbnRzIGZyb20gb3VyIHBvdGVudGlhbCBpbnZlc3RvcnMgZXZlcnlkYXkiPjxtZXRhIHByb3BlcnR5PSJvZzpkZXNjcmlwdGlvbiIgY29udGVudD0iV2l0aCBhIGJyb2FkIG1hcmtldCBrbm93bGVkZ2UgYW5kIGJhY2tncm91bmQsIHdlIG9mZmVyIG91ciBjdXN0b21lcnMgdGhlIGhpZ2hlc3QgbGV2ZWwgb2Ygc2VydmljZSB0aGF0IHRoZXkgYmUgZXhwZWN0aW5nIGZyb20gdXMuIE91ciB0ZWFtIGFpbSB0byBtYWtlIHN1cmUgdGhhdCB3ZSBhcmUgYXR0cmFjdGluZyBuZXcgaW52ZXN0bWVudHMgZnJvbSBvdXIgcG90ZW50aWFsIGludmVzdG9ycyBldmVyeWRheSI+PG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9oZWF2ZW53ZWFsdGgub3JnIj48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vaGVhdmVud2VhbHRoLm9yZy9pbWFnZXMvT3BlbkdyYXBoaWNzLnBuZyI+PG1ldGEgcHJvcGVydHk9Im9nOnRpdGxlIiBjb250ZW50PSJIZWF2ZW53ZWFsdGgiPjxtZXRhIHByb3BlcnR5PSJvZzp0eXBlIiBjb250ZW50PSJjcnlwdG9jdXJyZW5jeTppbnZlc3RtZW50cyI+PG1ldGEgaHR0cC1lcXVpdj0iQ2FjaGUtQ29udHJvbCIgY29udGVudD0ibm8tY2FjaGUsIG5vLXN0b3JlLCBtdXN0LXJldmFsaWRhdGUiIC8+PG1ldGEgaHR0cC1lcXVpdj0iUHJhZ21hIiBjb250ZW50PSJuby1jYWNoZSIgLz48bWV0YSBodHRwLWVxdWl2PSJFeHBpcmVzIiBjb250ZW50PSIwIiAvPg0KICA8bWV0YSBuYW1lPSJST0JPVFMiIGNvbnRlbnQ9Ik5PSU5ERVgsIE5PRk9MTE9XIj4NCjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4NCjx0aXRsZT5IZWF2ZW53ZWFsdGg8L3RpdGxlPg0KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiB0eXBlPSJpbWFnZS94LWljb24iIGhyZWY9ImltYWdlcy9mYXZpY29uLmljbyI+DQoNCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImFzc2V0cy9jc3Mvc3R5bGUuY3NzIj4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9ImFzc2V0cy9jc3MvYW5pbWF0ZS5jc3MiPg0KDQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJhc3NldHMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIj4NCjxzY3JpcHQgc3JjPSdhc3NldHMvanMvanF1ZXJ5LTEuMTEuMy5taW4uanMnPjwvc2NyaXB0Pg0KDQoNCg0KDQoNCjxzY3JpcHQgc3JjPSdhc3NldHMvanMvd293LmpzJz48L3NjcmlwdD4NCg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJhc3NldHMvanMvdGltZS5qcyI+PC9zY3JpcHQ+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJhc3NldHMvY3NzL2ZhcS5jc3MiPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iYXNzZXRzL2pzL2ZhcS5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iYXNzZXRzL2pzL2NhbGN1bGF0b3IuanMiPjwvc2NyaXB0Pg0KDQoNCg0KDQo8c3R5bGU+aW1nW3NyYyo9ImxvZ28ucG5nIl17d2lkdGg6MTg2cHh9I2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCAgKntjb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9I2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCBzZWxlY3QsI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCBvcHRpb257Y29sb3I6IzMzMyFpbXBvcnRhbnR9I2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudCBpbWd7ZGlzcGxheTpub25lIWltcG9ydGFudH08L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQoNCjxkaXYgaWQ9ImhlYWRlciI+DQogICAgPGRpdiBpZD0ic3ViX2hlYWRlciI+DQogICAgICAgIDxkaXYgY2xhc3M9ImxvZ28iPg0KICAgICAgICAgICAgPGEgaHJlZj0iIyI+PGltZyBzcmM9ImltYWdlcy9sb2dvLnBuZyI+PC9hPg0KICAgICAgICAgICAgDQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJfcmlnaHQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyX3JpZ2h0dXAiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lIj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgIDxwPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3NlcnZlci5wbmciPlNFUlZFUiBUSU1FIDogPHNwYW4gaWQ9ImRhdGVfdGltZSI+PC9zcGFuPiBHTVQ8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQoJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InR3b2J0biI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuX29uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJzaWduLXVwIj48aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9yZWcucG5nIj48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidG5fb25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxvZ2luIj48aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9sb2cucG5nIj48L2E+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyX2Rvd24iPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBFbWFpbCA6IGFkbWluQEhlYXZlbndlYWx0aC5vcmc8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRuX29uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jYXRpb25fIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jLXRleHRfIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgCQkJDQo8ZGl2IGlkPSJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiIGNsYXNzPSIiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQoKSB7DQogIG5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJ30sICdnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQnKTsNCn0NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Ij48L3NjcmlwdD4NCg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICANCg0KCQkJCQkJDQoNCg0KDQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6NjJweDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgb3ZlcmZsb3c6aGlkZGVuOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXI6IDFweCBzb2xpZCAjNTY2NjdGOyBib3JkZXItcmFkaXVzOiA0cHg7IHRleHQtYWxpZ246IHJpZ2h0OyBsaW5lLWhlaWdodDoxNHB4OyBibG9jay1zaXplOjYycHg7IGZvbnQtc2l6ZTogMTJweDsgYm94LXNpemluZzpjb250ZW50LWJveDsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IGJveC1zaGFkb3c6IGluc2V0IDAgLTIwcHggMCAwICM1NjY2N0Y7cGFkZGluZzoxcHg7cGFkZGluZzogMHB4OyBtYXJnaW46IDBweDsiPjxkaXYgc3R5bGU9ImhlaWdodDo0MHB4OyI+PGlmcmFtZSBzcmM9Imh0dHBzOi8vd2lkZ2V0LmNvaW5saWIuaW8vd2lkZ2V0P3R5cGU9aG9yaXpvbnRhbF92MiZ0aGVtZT1saWdodCZwcmVmX2NvaW5faWQ9MTUwNSZpbnZlcnRfaG92ZXI9IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIzNiIgc2Nyb2xsaW5nPSJhdXRvIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIiBmcmFtZWJvcmRlcj0iMCIgYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOjA7bWFyZ2luOjA7cGFkZGluZzowOyI+PC9pZnJhbWU+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6ICNGRkZGRkY7IGxpbmUtaGVpZ2h0OiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBmb250LXNpemU6IDExcHg7IGJveC1zaXppbmc6Y29udGVudC1ib3g7IG1hcmdpbjogNXB4IDZweCAxMHB4IDBweDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWY7Ij48L2Rpdj48L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KPGJyPg0KICAgIDxkaXYgaWQ9Im1lbnUiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMzgwICFpbXBvcnRhbnQiPg0KICAgICAgICA8ZGl2IGlkPSJzdWJfbWVudSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51Ij4NCiAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvIiBjbGFzcz0iaG92ZXIiPjxpIGNsYXNzPSJmYSBmYS1ob21lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBob21lPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJhYm91dCI+PGkgY2xhc3M9ImZhIGZhLXVuaXZlcnNpdHkiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IGFib3V0IHVzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9InJlcHJlc2VudGF0aXZlcyI+PGkgY2xhc3M9ImZhIGZhLXVzZXJzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBSZXByZXNlbnRhdGl2ZTwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmFxcyI+PGkgY2xhc3M9ImZhIGZhLXF1ZXN0aW9uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icnVsZXMiPjxpIGNsYXNzPSJmYSBmYS1nYXZlbCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gUnVsZXMgJiBBZ3JlZW1lbnQ8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImNvbnRhY3QiPjxpIGNsYXNzPSJmYSBmYS1oZWFkcGhvbmVzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBjb250YWN0IHVzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KDQo8IS0tPHNjcmlwdD4NCiAgICAgICAgU3dhbC5maXJlKHsNCiAgICAgICAgaWNvbjogJ2luZm8nLA0KICAgICAgICB0aXRsZTogJ0lNUE9SVEFOVCBOT1RJQ0UnLA0KICAgICAgICBodG1sOidCZWZvcmUgbWFraW5nIGEgZGVwb3NpdCB0byBhbnkgYWNjb3VudCBtZXNzYWdlIG91ciBjb21wYW55IHVzaW5nIHRoZSB3aGF0c2FwcCBpY29uIGJlbG93IHRvIGNvbmZpcm0gdGhhdCB5b3UgYXJlIHdpdGggdGhlIHJpZ2h0IGNvbXBhbnkgcGF5bWVudCBkZXRhaWxzIHRvIGF2b2lkIGJlaW5nIHNjYW1tZWQhJywNCiAgICAgICAgfSk8L3NjcmlwdD4tLT4NCjxkaXYgaWQ9InNsaWRlciI+DQogICAgPGRpdiBpZD0ic3ViX3NsaWRlciI+DQogICAgICAgIDxkaXYgY2xhc3M9InNsaWRlcl9sZWZ0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNsaWRfdGV4dCI+DQogICAgICAgICAgICAgICAgPGgxPkhlYXZlbndlYWx0aDsgWW91ciBvbmUtY3VzdG9tZXIgRm9yZXggVHJhZGluZyBGaXJtPC9oMT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2xpZF90ZXh0ZXIiPg0KICAgICAgICAgICAgICAgIDxwPldlbGNvbWUgdG8gdGhlIG9ubGluZSBob21lIG9mIEhlYXZlbndlYWx0aCBDb21wYW55LCBhIFVTIGJhc2VkIEZvcmV4IHRyYWRpbmcgZmlybS4gU2luY2Ugb3VyIGluY2VwdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgd2UgaGF2ZSBiZWVuIGRyaXZlbiBieSB0aGUgbm9ibGUgYWltIG9mIHByb3ZpZGluZyBvdXIgY2xpZW50cyB3aXRoIHZlcml0YWJsZSBwbGF0Zm9ybXMgb24gd2hpY2ggdGhleSBjYW4gbWFrZSBldmVuIG1vcmUgbW9uZXkgd2l0aCB0aGVpciBtb25leS4NCiAgICAgICAgICAgICAgICAgICAgVG8gYWNoaWV2ZSB0aGlzIG92ZXJyaWRpbmcgYW1iaXRpb24gb2Ygb3Vycywgd2Ugb2ZmZXIgYm90aCBGb3JleCB0cmFkaW5nIHBsYXRmb3JtcyB0byBzZXJ2ZSB0aGUgZGlmZmVyZW50IGZpbmFuY2lhbCBhbmQgaW52ZXN0aW5nIG5lZWRzIG9mIG91ciBjbGllbnRzLg0KICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJyZWdpc3Rlcl9kZXRhaWxzIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvdWsucG5nIi8+IFVTIFJFR0lTVFJBVElPTiBOVU1CRVIgOiBJTlRGRVJGRTgzNTU2OEw8L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3Ij4NCiAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+IC0tPg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBpZD0iX3BrdCIgYWN0aW9uPSIjIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl9ib3giPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl91cGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZ25pbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvc2kucG5nIj4gU0lHTiBJTjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVtYmVyaGgiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMDIxNjNBIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJzaWduLXVwIj48aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9yaS5wbmciPiBSZWdpc3RyYXRpb248L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWFsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbi1vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLXVzZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtdXNlciI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlVzZXJuYW1lIiBpZD0ndXNlcm5hbWUnIHZhbHVlPScnIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLW9uZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tdXNlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS11bmxvY2stYWx0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJQYXNzd29yZCIgaWQ9J3Bhc3N3b3JkJyB2YWx1ZT0nJyAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbHIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVtZW1iZXJfbG9naW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlbWVtYmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVjaGVjayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVtZW1iZXJfbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+UmVtZW1iZXIgTWU8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImJ1dHRvbiIgdmFsdWU9IkxvZyBpbiIgaWQ9ImJ0bl9tbG9naW4iIHN0eWxlPSJiYWNrZ3JvdW5kOiAjMDIyNTY0ICFpbXBvcnRhbnQ7IGhlaWdodDogNDBweDsgd2lkdGg6IDExMHB4OyBjb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogM3B4OyBib3JkZXI6IDJweCBzb2xpZCAjMDIyNTY0OyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDVweDsgbWFyZ2luLWxlZnQ6IDVweCIgLz4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8c2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidG5fbWxvZ2luIikub25jbGljayA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcm5hbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKS52YWx1ZS50cmltKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhc3N3b3JkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIikudmFsdWUudHJpbSgpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1c2VybmFtZSA9PT0gIiIgfHwgcGFzc3dvcmQgPT09ICIiKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGVydCgiQm90aCBVc2VybmFtZSBhbmQgUGFzc3dvcmQgZmllbGRzIG11c3QgYmUgZmlsbGVkLiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGxvZ2luP3VpZD0ke2VuY29kZVVSSUNvbXBvbmVudCh1c2VybmFtZSl9JnV0az0ke2VuY29kZVVSSUNvbXBvbmVudChwYXNzd29yZCl9YA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgICAgICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBpZD0iYWJvdXQiPg0KICAgIDxkaXYgaWQ9InN1Yi1hYm91dCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2JvcmRlciI+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9oZWFkIj4NCiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzAyMjU2NCI+QUJPVVQgVVM8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9kb3duIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2xlZnQiPg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2Fib3V0X2ltYWdlLnBuZyIgYWx0PSIiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9yaWdodCI+DQogICAgICAgICAgICAgICAgPHA+QmVpbmcgdGhlIGxhcmdlc3QgbWFya2V0IGluIHRoZSB3b3JsZCB3aXRoIGFuIGF2ZXJhZ2UgZGFpbHkgdHJhZGluZyB2b2x1bWUgb2YgYWJvdXQgJDcuMiB0cmlsbGlvbiwgdGhlIEZvcmV4IG1hcmtldCBwcmVzZW50cyBlbmRsZXNzIGluY29tZSBlYXJuaW5nIG9wcG9ydHVuaXRpZXMgZm9yIHNhdnZ5IGludmVzdG9ycw0KICAgICAgICAgICAgICAgICAgICB3aG8gYXJlIGFibGUgdG8gYnV5IGFuZCBzZWxsIHRoZSB3b3JsZMOi4oKs4oSicyBtYWpvciBjdXJyZW5jaWVzIDI0IGhvdXJzIGEgZGF5IHRocm91Z2hvdXQgTW9uZGF5IHRvIEZyaWRheS4gT3VyIEZvcmV4IHRyYWRpbmcgc2VydmljZXMgYXJlIGRlc2lnbmVkIHRvIGhlbHAgb3VyIGNsaWVudHMgbWFrZSB0aGUgbW9zdCBvZiB0aGlzIG9wcG9ydHVuaXR5Ljxicj48YnI+DQogICAgICAgICAgICAgICAgICAgIEJlY2F1c2UgdGhlIHdvcmxkIG9mIEZvcmV4IHRyYWRpbmcgY2FuIGJlIGNvbXBsaWNhdGVkIGZvciB0aGUgbmV3Y29tZXIsIG91ciB0ZWFtcyBvZiBleHBlcnRzIGhhdmUgaW5zdGFsbGVkIGEgdHJhZGVyIHBsYXRmb3JtIHRoYXQgaXMgZXh0cmVtZWx5IGVhc3kgdG8gdXNlLCBhbmQgdGhhdCBjYW4gYmUgdXNlZCB0byB0cmFkZSBmcm9tIGFueQ0KICAgICAgICAgICAgICAgICAgICBjb21wdXRlciwgb3BlcmF0aW5nIHN5c3RlbSBvciBicm93c2VyLiBUaGlzIHBsYXRmb3JtIGlzIHVuaXF1ZSBiZWNhdXNlIGl0IGFsbG93cyBhIG9uZS1jbGljayB0cmFkaW5nIG9wdGlvbiwgZ2l2ZXMgY2xpZW50cyBhY2Nlc3MgdG8gZnVsbCBhY2NvdW50IGhpc3RvcmllcywgYW5kIGdpdmVzIHNldmVyYWwgdGltZSBmcmFtZXMgdG8gY2hvb3NlIGZyb20uDQogICAgICAgICAgICAgICAgICAgIEFuZCBmb3IgdGhlIGNsaWVudCB3aG/DouKCrOKEomQgcmF0aGVyIHdlIGRvIHRoZSB0cmFkZXMgb24gdGhlaXIgYmVoYWxmLCB5b3UgYXJlIGluIGdvb2QgaGFuZHMuIE91ciBCaXRjb2luIG1pbmVycyBhcmUgd29ybGQtc2Vhc29uZWQgZXhwZXJ0cywgd2l0aCBpbmRpdmlkdWFsIHN1Y2Nlc3NmdWwgdHJhZGluZyBleHBlcmllbmNlcyBvZiBtb3JlIHRoYW4gdGVuIHllYXJzIGVhY2guDQoNCiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGEgaHJlZj0iYWJvdXQiIHN0eWxlPSJjb2xvcjogIzAyMjU2NCI+UkVBRCBNT1JFPC9hPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCjwhLS08ZGl2IGlkPSJ3b3JrcyI+DQogICAgPGRpdiBpZD0ic3ViX3dvcmtzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfZG93biI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiPi0tPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDwhLS08aWZyYW1lIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQzMHB4IiBzcmM9ImFzc2V0cy9pbWFnZXMvdmlkZW8ubXA0IiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj0iIj48L2lmcmFtZT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pi0tPg0KDQoNCg0KDQoNCg0KDQo8ZGl2IGlkPSJwbGFuIj4NCiAgICA8ZGl2IGlkPSJzdWJfcGxhbiI+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2hlYWQiPg0KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiAjMDIyNTY0Ij5JTlZFU1RNRU5UIFBMQU48L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhbGxfcGxhbiI+DQoNCg0KDQoNCg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWxsX3BsYW4iPg0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fb25lbmV3IiBzdHlsZT0ibWFyZ2luOjEwcHgiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fdGl0dGxlbmV3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHA+U2F2aW5nczwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXdfcGVyY2VudCI+DQogICAgICAgICAgICAgICAgICAgIDxoMj4zJTwvaDI+DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5faW1nX24iPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9wbGFuX2ltYWdlcy5wbmciPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT5BZnRlciA1IGRheXM8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBNaW4gLyBNYXggLSAkMTAwMDAgLyAkMzk5OTk8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjUlIFJlZmVycmFsPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT5FbmhhbmNlZCBTZWN1cml0eTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlcl9uZXdfcCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IDI0LzcgQ3VzdG9tZXIgQ2FyZTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fb25lbmV3IiBzdHlsZT0ibWFyZ2luOjEwcHgiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fdGl0dGxlbmV3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHA+UHJvbW88L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV3X3BlcmNlbnQiPg0KICAgICAgICAgICAgICAgICAgICA8aDI+MiU8L2gyPg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuX2ltZ19uIj4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvcGxhbl9pbWFnZXMucG5nIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlcl9uZXdfcCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+QWZ0ZXIgMSBkYXk8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiBNaW4gLyBNYXggLSAkMzAgLyAkMzAwPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT41JSBSZWZlcnJhbDwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlcl9uZXdfcCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+RW5oYW5jZWQgU2VjdXJpdHk8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiAyNC83IEN1c3RvbWVyIENhcmU8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuX29uZW5ldyIgc3R5bGU9Im1hcmdpbjoxMHB4Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFuX3RpdHRsZW5ldyI+DQogICAgICAgICAgICAgICAgICAgIDxwPlByb21vdGlvbiA8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV3X3BlcmNlbnQiPg0KICAgICAgICAgICAgICAgICAgICA8aDI+MSwwMDAlPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbl9pbWdfbiI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BsYW5faW1hZ2VzLnBuZyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPkFmdGVyIDEgZGF5PC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gTWluIC8gTWF4IC0gJDYwIC8gJDEyMDA8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjUlIFJlZmVycmFsPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT5FbmhhbmNlZCBTZWN1cml0eTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlcl9uZXdfcCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IDI0LzcgQ3VzdG9tZXIgQ2FyZTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICANCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fb25lbmV3IiBzdHlsZT0ibWFyZ2luOjEwcHgiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYW5fdGl0dGxlbmV3Ij4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q3J5cHRvL1N0b2NrcyBpbnZlc3RtZW50IDwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXdfcGVyY2VudCI+DQogICAgICAgICAgICAgICAgICAgIDxoMj41MDAlPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhbl9pbWdfbiI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BsYW5faW1hZ2VzLnBuZyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPkFmdGVyIDEgZGF5PC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gTWluIC8gTWF4IC0gJDI4MyAvICQ4NDc8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfbmV3X3AiPg0KICAgICAgICAgICAgICAgICAgICA8cD48aSBjbGFzcz0iZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPjUlIFJlZmVycmFsPC9wPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX25ld19wIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT5FbmhhbmNlZCBTZWN1cml0eTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlcl9uZXdfcCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IDI0LzcgQ3VzdG9tZXIgQ2FyZTwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICANCg0KDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCg0KDQo8ZGl2IGlkPSJhYm91dCI+DQogICAgPGRpdiBpZD0ic3ViLWFib3V0Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfYm9yZGVyIj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2hlYWQiPg0KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiAjMDIyNTY0Ij5UUkFESU5HIE9QUE9SVFVOSVRJRVM8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9kb3duIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvdDMucG5nIiBhbHQ9IiI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9yaWdodCI+DQogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iZi14Ym9sZCIgc3R5bGU9ImNvbG9yOmJsYWNrIj5EaXNjb3ZlciB0aG91c2FuZHMgb2YgdHJhZGluZyBhbmQgaW52ZXN0bWVudCBvcHBvcnR1bml0aWVzPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJzZXBlcmF0b3IiPg0KICAgICAgICAgICAgICAgICAgICA8cD5Ob3Qgb25seSBkbyB3ZSBwcm92aWRlIG91ciB0cmFkZXJzIHdpdGggZXhjZWxsZW50IHRyYWRpbmcgaW5zdHJ1bWVudHMsIGJ1dCB3ZSBhbHNvDQogICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IHRoZW0gd2l0aCB0aGUgYmVzdCB0b29sczogdm9sYXRpbGl0eSBhbGVydHMsIG1hcmtldCB1cGRhdGVzLCBzdG9jayBzY3JlZW5lcnMsIGNhbGVuZGFycyBhbmQgbmV3c2xldHRlcnMuDQogICAgICAgICAgICAgICAgICAgIDwvcD48YnI+PGJyPg0KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImYteGJvbGQiIHN0eWxlPSJjb2xvcjpibGFjayI+QWNjZXNzIHRoZSBmaW5hbmNpYWwgbWFya2V0cyBhbGwgaW4gb25lIHBsYWNlPC9oND4NCiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJzZXBlcmF0b3IiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9wbGF0Zm9ybS5wbmciIGFsdD0iIiBzdHlsZT0iZmxvYXQ6Y2VudGVyIiBjbGFzcz0iaW1nLXJlc3BvbnNpdmUiPjxicj4NCiAgICAgICAgICAgICAgICAgICAgPHA+QSBtdWx0aS1wbGF0Zm9ybSBsYXlvdXQsIHRlY2huaWNhbCBhbmFseXNpcywgaGlzdG9yaWNhbCBxdW90ZXMgYW5kIGJleW9uZC4NCiAgICAgICAgICAgICAgICAgICAgICAgIEV2ZXJ5dGhpbmcgeW91w6LigqzihKJyZSBsb29raW5nIGZvciBpbiBhIHBsYXRmb3JtIMOi4oKs4oCdIG9uIGFsbCBkZXZpY2Ugb2YgeW91ciBjaG9pY2UuPC9wPg0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0iY2hvb3NlIj4NCiAgICA8ZGl2IGlkPSJzdWJfY2hvb3NlIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfYm9yZGVyXyI+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9oZWFkIj4NCiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzAyMjU2NCI+V0hZIENIT09TRSBVUyA/PC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBpZD0ic3ViLWZlYXR1cmVzIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLWxlZnQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLW9uZSBmYWRlSW5MZWZ0ICB3b3cgYW5pbWF0ZWQiIGRhdGEtd293LWR1cmF0aW9uPSIxcyIgZGF0YS13b3ctZGVsYXk9IjAuM3MiIHN0eWxlPSJ2aXNpYmlsaXR5OiB2aXNpYmxlOyBhbmltYXRpb24tZHVyYXRpb246IDFzOyBhbmltYXRpb24tZGVsYXk6IDAuM3M7IGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZldHVyZXMtaW1hZ2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvcnJjLnBuZyI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZXRhdXJlcy10ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtaGVhZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IHN0eWxlPSJjb2xvcjogIzAyMjU2NCI+TGVnYWwgUmVnaXN0ZXJlZCBDb21wYW55IChVU0EpPC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1mZXR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsYXNzaWMgSGVhdmVud2VhbHRoIGlzIGFuIG9ubGluZSBGb3JleCBUcmFkaW5nIGludmVzdG1lbnQgY29tcGFueSB0aGF0IGhhcyBiZWVuIGxlZ2FsbHkgcmVnaXN0ZXJlZCBpbiB0aGUgVVNBLCB3aXRoIGEgc3Ryb25nIGJhc2UgaW4gVVNBLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1vbmUgZmFkZUluTGVmdCAgd293IGFuaW1hdGVkIiBkYXRhLXdvdy1kdXJhdGlvbj0iMXMiIGRhdGEtd293LWRlbGF5PSIwLjZzIiBzdHlsZT0idmlzaWJpbGl0eTogdmlzaWJsZTsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgYW5pbWF0aW9uLWRlbGF5OiAwLjZzOyBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZXR1cmVzLWltYWdlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NnYi5wbmciPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmV0YXVyZXMtdGV4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWhlYWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0iY29sb3I6ICMwMjI1NjQiPkhpZ2ggU2VjdXJpdHkgRVYgU1NMIChHcmVlbiBCYXIpPC9oNT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1mZXR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvbW9kbyBncmVlbiBhZGRyZXNzIGJhciBjb250YWlucyB0aGUgY29tcGFueSBuYW1lIGFuZCBwcm92aWRlcyBoaWdobHkgdmlzdWFsIGFzc3VyYW5jZSB0aGF0IHNpdGUgaXMgc2VjdXJlLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1vbmUgZmFkZUluTGVmdCAgd293IGFuaW1hdGVkIiBkYXRhLXdvdy1kdXJhdGlvbj0iMXMiIGRhdGEtd293LWRlbGF5PSIwLjlzIiBzdHlsZT0idmlzaWJpbGl0eTogdmlzaWJsZTsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgYW5pbWF0aW9uLWRlbGF5OiAwLjlzOyBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZXR1cmVzLWltYWdlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2dpcC5wbmciPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmV0YXVyZXMtdGV4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWhlYWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0iY29sb3I6ICMwMjI1NjQiPlByb2ZpdGFibGUgSW52ZXN0bWVudHMgUGxhbjwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZmV0dXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIHNldmVyYWwgb3B0aW9ucyB0byBlYXJuIGEgaGlnaCBST0kgb24geW91ciBkZXBvc2l0IHJlZ2FyZGxlc3Mgb2YgdGhlIGFtb3VudC4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSm9pbiB1cyBhbmQgc3RhcnQgd29yayB3aXRoIHByb2ZpdGFibGUgcGxhbnMuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yaWdodCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZXMtb25lIGZhZGVJblJpZ2h0ICB3b3cgYW5pbWF0ZWQiIGRhdGEtd293LWR1cmF0aW9uPSIxcyIgZGF0YS13b3ctZGVsYXk9IjAuM3MiIHN0eWxlPSJ2aXNpYmlsaXR5OiB2aXNpYmxlOyBhbmltYXRpb24tZHVyYXRpb246IDFzOyBhbmltYXRpb24tZGVsYXk6IDAuM3M7IGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZXR1cmVzLWltYWdlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3NkcC5wbmciPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmV0YXVyZXMtdGV4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWhlYWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0iY29sb3I6ICMwMjI1NjQiPkREb1MgUHJvdGVjdGVkIFNlcnZlcjwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZmV0dXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5PdXIgc2VydmVyIGlzIHByb3RlY3RlZCBieSBERG9TIGF0dGFja3MuIEFsbCBmdW5kIHRyYW5zYWN0aW9ucyB3aWxsIGJlIHNhZmUgYW5kIGFsbCBwZXJzb25hbCBkYXRhIHdpbGwgYmUgcmVtYWluZWQgc2FmZS48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZXMtb25lIGZhZGVJblJpZ2h0ICB3b3cgYW5pbWF0ZWQiIGRhdGEtd293LWR1cmF0aW9uPSIxcyIgZGF0YS13b3ctZGVsYXk9IjAuNnMiIHN0eWxlPSJ2aXNpYmlsaXR5OiB2aXNpYmxlOyBhbmltYXRpb24tZHVyYXRpb246IDFzOyBhbmltYXRpb24tZGVsYXk6IDAuNnM7IGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZXR1cmVzLWltYWdlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BtdC5wbmciPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmV0YXVyZXMtdGV4dCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWhlYWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0iY29sb3I6ICMwMjI1NjQiPlByb2Zlc3Npb25hbCBNYW5hZ2VtZW50IFRlYW08L2g1Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWZldHVyZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3VyIGZ1bmQgaXMgZnVsbHkgc3RhZmZlZCBieSB0cnVlIGludmVzdG1lbnQgcHJvZmVzc2lvbmFsIHdpdGggZXh0ZW5zaXZlIHNraWxscyBhbmQgaGlnaGVzdCBxdWFsaWZpY2F0aW9ucy4gPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLW9uZSBmYWRlSW5SaWdodCAgd293IGFuaW1hdGVkIiBkYXRhLXdvdy1kdXJhdGlvbj0iMXMiIGRhdGEtd293LWRlbGF5PSIwLjlzIiBzdHlsZT0idmlzaWJpbGl0eTogdmlzaWJsZTsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgYW5pbWF0aW9uLWRlbGF5OiAwLjlzOyBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmV0dXJlcy1pbWFnZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy90d3MucG5nIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZldGF1cmVzLXRleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgc3R5bGU9ImNvbG9yOiAjMDIyNTY0Ij4yNC83IEN1c3RvbWVyIExpdmUgU3VwcG9ydDwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtZmV0dXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSB3aWxsIHByb3ZpZGUgeW91IDI0Kjcgb25saW5lIHN1cHBvcnQuIFlvdSBjYW4gY29udGFjdCBvdXIgdmFsdWFibGUgc3RhZmYgYXQgYW55IHRpbWUgYnkgTWFpbCwgUGhvbmUgYW5kIGxpdmUgY2hhdCBzdXBwb3J0LiA8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCjxicj48YnI+PGJyPjxicj48YnI+PGJyPg0KDQoNCg0KPGJyPjxicj4NCjxkaXYgaWQ9ImNhbGN1bGF0b3IiPg0KICAgIDxkaXYgaWQ9InN1Yl9jYWxjdWxhdG9yIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2FsX2xlZnQiPg0KICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPSJjYWxfaGVhZCI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NhbC5wbmciLz4gUFJPRklUIENBTENVTEFUT1I8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsX2FsbCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC1vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0dGxlLWhlYWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNob29zZSBQbGFuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxzZWxlY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9ImNhbGNfcGxhbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjYiPlN0YXJ0ZXIgUGxhbjwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI3Ij5QcmVtaXVtIFBsYW48L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iOCI+U3RhbmRhcmQgUGxhbjwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSI5Ij5WaXAgUExhbjwvb3B0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWwtb25lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdHRsZS1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5FbnRlciBBbW91bnQ8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRudW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD0iaW52X2Ftb3VudCIgdHlwZT0idGV4dCIgdmFsdWU9IjEwMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC1vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsLWxlZnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC10aXR0bGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Ub3RhbCBSZXR1cm48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsZWFybiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGlkPSJ0b3RhbF9yZXR1cm4iPiQwMjU2NjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsLXRpdHRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlByb2ZpdCBQZXJjZW50PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGVhcm4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBpZD0iYXNzaWduX3BlciI+NzAlPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxfaGVhZCI+DQogICAgICAgICAgICAgICAgPHA+PGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvY2FsLnBuZyI+IENVUlJFTkNZIENBTENVTEFUT1I8L3A+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6MzM1cHg7IGJhY2tncm91bmQtY29sb3I6ICNGQUZBRkE7IG92ZXJmbG93OmhpZGRlbjsgYm94LXNpemluZzogYm9yZGVyLWJveDsgYm9yZGVyOiAxcHggc29saWQgIzU2NjY3RjsgYm9yZGVyLXJhZGl1czogNHB4OyB0ZXh0LWFsaWduOiByaWdodDsgbGluZS1oZWlnaHQ6MTRweDsgYmxvY2stc2l6ZTozMzVweDsgZm9udC1zaXplOiAxMnB4OyBmb250LWZlYXR1cmUtc2V0dGluZ3M6IG5vcm1hbDsgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgYm94LXNoYWRvdzogaW5zZXQgMCAtMjBweCAwIDAgIzU2NjY3RjttYXJnaW46IDA7d2lkdGg6IDU1MHB4O3BhZGRpbmc6MXB4O3BhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHg7Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MzE1cHg7IHBhZGRpbmc6MHB4OyBtYXJnaW46MHB4OyB3aWR0aDogNDQwcHg7Ij4NCiAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd2lkZ2V0LmNvaW5saWIuaW8vd2lkZ2V0P3R5cGU9Y29udmVydGVyJnRoZW1lPWxpZ2h0IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIzMTBweCIgc2Nyb2xsaW5nPSJhdXRvIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0PSIwIiBmcmFtZWJvcmRlcj0iMCIgYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOjA7bWFyZ2luOjA7cGFkZGluZzowOyI+PC9pZnJhbWU+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImxpdmVfc3RhdGUiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGl2ZV9oZWFkIj4NCiAgICAgICAgICAgICAgICA8cD5PVVIgTElWRSBTVEFUSVNUSUNTPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGxfbGl2ZSI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGl2ZV91cGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtb25lIGZhZGVJbiAgd293IGFuaW1hdGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLWljb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3N0LnBuZyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLXdvcmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkRlYyAxNXRoLCAyMDE3PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS10aXR0bGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSIiPlNUQVJURUQ8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLW9uZSBmYWRlSW4gIHdvdyBhbmltYXRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS1pY29uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9zdC5wbmciPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS13b3JrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD44MDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtdGl0dGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iIj5DT1VOVFJJRVMgUFJFU0VOVDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtb25lIGZhZGVJbiAgd293IGFuaW1hdGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLWljb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3RhLnBuZyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLXdvcmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjM3MDAwKzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtdGl0dGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iIj5UT1RBTCBBQ0NPVU5UUzwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXZlX3VwZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS1vbmUgZmFkZUluICB3b3cgYW5pbWF0ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtaWNvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvdGQucG5nIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtd29yayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ODQ3MzAwMDA8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLXRpdHRsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9IiI+VE9UQUwgREVQT1NJVDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtb25lIGZhZGVJbiAgd293IGFuaW1hdGVkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLWljb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3R3LnBuZyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRlLXdvcmsiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjQwOTAxMDAwMDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtdGl0dGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0iIj5UT1RBTCBXSVRIRFJBV0FMPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS1vbmUgZmFkZUluICB3b3cgYW5pbWF0ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtaWNvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvdGEucG5nIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdGUtd29yayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW4gPSAzMDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4ID0gNzAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgrbWF4IC0gK21pbikpICsgK21pbjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LndyaXRlKCIiICsgcmFuZG9tKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0ZS10aXR0bGUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSIiPlZJU0lUT1IgT05MSU5FPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCg0KDQoNCg0KDQo8ZGl2IGlkPSJwbGFuIj4NCiAgICA8ZGl2IGlkPSJzdWItYWJvdXQiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9ib3JkZXIiPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfaGVhZCI+DQogICAgICAgICAgICA8cCBzdHlsZT0iY29sb3I6ICMwMjI1NjQiPkRFTU88L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9kb3duIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvdDYucG5nIiBhbHQ9IiI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS00Ij4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9yaWdodCI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbG1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vYmluYXJ5bWF0ZS5jb20vZW4vdHluaS1wbGF0Zm9ybT9yPW51bGxwbGF0Zm9ybSIgY2xhc3M9Im1pbmktcGxhdGZvcm0iIHdpZHRoPSI3MDRweCIgZnJhbWVib3JkZXI9IjAiIGhlaWdodD0iNDA4cHgiPjwvaWZyYW1lPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0id29ya3MiPg0KICAgIDxkaXYgaWQ9InN1Yl93b3JrcyI+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9ib3JkZXJfdyI+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9oZWFkIj4NCiAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjogIzAyMjU2NCI+SE9XIElUIFdPUktTPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWxsX3dvcmsiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0id29ya19vbmUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtfaWNvbiI+DQogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL29wZW4ucG5nIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrX3RpdHRsZSI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxhIGhyZWY9InNpZ24tdXAiPk9QRU4gQU4gQUNDT1VOVDwvYT48L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93Ij4NCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9hcnJvdy5wbmciPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrX29uZSI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29ya19pY29uIj4NCiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvbG9naW4ucG5nIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrX3RpdHRsZSI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxhIGhyZWY9ImxvZ2luIj5MT0dJTiBBQ0NPVU5UPC9hPjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJyb3ciPg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2Fycm93LnBuZyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvcmtfb25lIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrX2ljb24iPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9kZXBvc2l0LnBuZyI+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id29ya190aXR0bGUiPg0KICAgICAgICAgICAgICAgICAgICA8cD48YSBocmVmPSJsb2dpbiI+TUFLRSBERVBPU0lUPC9hPjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJyb3ciPg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2Fycm93LnBuZyI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvcmtfb25lIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3JrX2ljb24iPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy93aXRoZHJhdy5wbmciPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtfdGl0dGxlIj4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGEgaHJlZj0ibG9naW4iPldJVEhEUkFXPC9hPjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0iY2FsY3VsYXRvciI+DQogICAgPGRpdiBpZD0ic3ViLWFib3V0Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfYm9yZGVyIj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2hlYWQiPg0KICAgICAgICAgICAgPHAgc3R5bGU9ImNvbG9yOiB3aGl0ZSI+TUFSS0VUIENIQVJUIDwvcD4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2Rvd24iPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsbWVudSI+DQoNCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idHJhZGluZ3ZpZXdfNzUxMDAiIHN0eWxlPSJoZWlnaHQ6NDUwcHg7d2lkdGg6MTAwJTsiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJhc3NldHMvanMvdHYuanMiPjwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICBuZXcgVHJhZGluZ1ZpZXcud2lkZ2V0KHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0b3NpemUiOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzeW1ib2wiOiAiQklURklORVg6QlRDVVNEIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJ2YWwiOiAiMSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWV6b25lIjogIkV0Yy9VVEMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGVtZSI6ICJkYXJrIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3R5bGUiOiAiMSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsZSI6ICJlbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvb2xiYXJfYmciOiAiI2YxZjNmNiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZV9wdWJsaXNoaW5nIjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsbG93X3N5bWJvbF9jaGFuZ2UiOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb250YWluZXJfaWQiOiAidHJhZGluZ3ZpZXdfNzUxMDAiDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCg0KDQoNCg0KDQo8ZGl2IGlkPSJ3b3JrcyI+DQogICAgPGRpdiBpZD0ic3ViX3dvcmtzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfZG93biI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxpZnJhbWUgd2lkdGg9IjEwMCUiIGhlaWdodD0iNDMwcHgiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdFpPU1FCUDk0NlEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj0iIj48L2lmcmFtZT4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCjxkaXYgaWQ9ImNhbGN1bGF0b3IiPg0KICAgIDxkaXYgaWQ9InN1Yi1hYm91dCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImFib3V0X2JvcmRlciI+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYm91dF9oZWFkIj4NCiAgICAgICAgICAgIA0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJvdXRfZG93biI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbG1lbnUiPg0KDQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXJfX3dpZGdldCI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImFzc2V0cy9leHRlcm5hbC1lbWJlZGRpbmcvZW1iZWQtd2lkZ2V0LXNjcmVlbmVyLmpzIiBhc3luYz0iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkdGgiOiAxMDAgJSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImhlaWdodCI6IDQ5MCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdENvbHVtbiI6ICJvdmVydmlldyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmVlbmVyX3R5cGUiOiAiY3J5cHRvX21rdCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3BsYXlDdXJyZW5jeSI6ICJVU0QiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb2xvclRoZW1lIjogImxpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxlIjogImVuIg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQoNCg0KDQoNCg0KDQoNCg0KPGRpdiBpZD0ibWFpbi1wYXltZW50Ij4NCiAgICA8ZGl2IGlkPSJzdWItcGF5bWVudCI+DQogICAgICAgIDxkaXYgY2xhc3M9InBheW1lbnQiPg0KICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgIDxsaT48aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9wZXJmZWN0LnBuZyI+PC9saT4NCiAgICAgICAgICAgICAgICA8bGk+PGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvYml0Y29pbi5wbmciPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BheWVlci5wbmciPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NvbW9kby5wbmciPjwvbGk+DQogICAgICAgICAgICAgICAgPGxpPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2Rkb3MucG5nIj48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQo8ZGl2IGlkPSJtYWluX2Zvb3RlciI+DQogICAgPGRpdiBpZD0ic3ViX2Zvb3RlciI+DQogICAgICAgIDxkaXYgY2xhc3M9InNpdGUtbGluayI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5rLWhlYWQiPg0KICAgICAgICAgICAgICAgIDxoNT5TaXRlIExpbms8L2g1Pg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2JvcmRlci5wbmciPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWRvd24iPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxpbmstb25lIj4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii8iPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IGhvbWU8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJhYm91dCI+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gYWJvdXQgdXM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJyZXByZXNlbnRhdGl2ZXMiPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IFJlcHJlc2VudGF0aXZlPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGluay1vbmUiPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmFxcyI+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gRkFRPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icnVsZXMiPjxpIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IFJ1bGVzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iY29udGFjdCI+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLWRvdWJsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT5jb250YWN0IHVzPC9hPjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InNpdGVfdHdvIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaGVhZCI+DQogICAgICAgICAgICAgICAgPGg1PkNPTlRBQ1QgSU5GTzwvaDU+DQogICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvYm9yZGVyYi5wbmciPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbHIiPjwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9fZG93biI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jYXRpb25mIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jaWNvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9sb2MucG5nIj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvY190ZXh0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjQ2NTEgV2VzdHBvcnQgRHIgTWVjaGFuaWNzYnVyZywgUEEsIDE3MDU1LTQ4NDMgVW5pdGVkIFN0YXRlczwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jYXRpb25mIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jaWNvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9tYWlsZi5wbmciPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9jX3RleHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHA+RS1tYWlsIDogYWRtaW5ASGVhdmVud2VhbHRoLm9yZzxicj48L3A+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJzaXRlX3RocmVlIj4NCiAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MHB4OyIgY2xhc3M9ImZvX2Rvd24iPg0KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvbG9nby5wbmciPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJjb2xvcjp3aGl0ZSI+DQogICAgICAgICAgICAgICAgICAgIEhlYXZlbndlYWx0aCBpcyBhIFVTQSBiYXNlZCBGb3JleCB0cmFkaW5nIGZpcm0sIHdlIG9mZmVyIGJvdGggRm9yZXggdHJhZGluZyBwbGF0Zm9ybXMgdG8gc2VydmUgdGhlIGRpZmZlcmVudCBmaW5hbmNpYWwgYW5kIGludmVzdGluZyBuZWVkcyBvZiBvdXIgY2xpZW50cy4uDQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICA8YnI+DQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KDQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGlkPSJmb290ZXJyIj4NCiAgICA8ZGl2IGlkPSJzdWJfZm9vdGVyciI+DQogICAgICAgIDxkaXYgY2xhc3M9InJlc2VydmVkIj4NCiAgICAgICAgICAgIDxwPkNvcHlyaWdodCAmY29weTsyMDI2IEFsbCByaWdodHMgcmVzZXJ2ZWQgfCBIZWF2ZW53ZWFsdGg8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYV9yaWdodCI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhX29uZSI+DQogICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IiMiPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2ZiLnBuZyI+PC9hPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhX29uZSI+DQogICAgICAgICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IiMiPjxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3RsLnBuZyI+PC9hPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KDQoNCjxzY3JpcHQ+DQogICAgJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgICAgICQoImJvZHkiKS5iaW5kKCJjdXQgY29weSBwYXN0ZSIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgfSkNCiAgICAgICAgJCgiYm9keSIpLm9uKCJjb250ZXh0bWVudSIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSk7DQogICAgfSkNCjwvc2NyaXB0Pg0KPHNjcmlwdD4NCiAgICAkKGRvY3VtZW50KS5rZXlkb3duKGZ1bmN0aW9uKGV2ZW50KSB7DQogICAgICAgIGlmIChldmVudC5rZXlDb2RlID09IDEyMykgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5Q29kZSA9PSA3Mykgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfSkNCiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIGV2ZW50ID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCkpDQo8L3NjcmlwdD4NCg0KDQoNCjxhIGhyZWY9IlxcdC5tZS9oZWF2ZW53ZWFsdGgiIHN0eWxlPSJib3R0b206MjFweDt0ZXh0LWRlY29yYXRpb246bm9uZTt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2NvbG9yOiM0ZGMyNDc7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NXB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnJnYmEoMCwwLDAsLjQpIDJweCAycHggNnB4O3RyYW5zaXRpb246YWxsIC41cyBlYXNlIDBzO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjAgbm9uZTtsZWZ0OjIzcHg7b3BhY2l0eToxO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTk5OTk5Ij48c3ZnIGlkPSJMaXZlbGxvXzEiIGRhdGEtbmFtZT0iTGl2ZWxsbyAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjQwIDI0MCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSIxMjAiIHkxPSIyNDAiIHgyPSIxMjAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMxZDkzZDIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMzOGIwZTMiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+VGVsZWdyYW1fbG9nbzwvdGl0bGU+PGNpcmNsZSBjeD0iMTIwIiBjeT0iMTIwIiByPSIxMjAiIGZpbGw9InVybCgjbGluZWFyLWdyYWRpZW50KSIvPjxwYXRoIGQ9Ik04MS4yMjksMTI4Ljc3MmwxNC4yMzcsMzkuNDA2czEuNzgsMy42ODcsMy42ODYsMy42ODcsMzAuMjU1LTI5LjQ5MiwzMC4yNTUtMjkuNDkybDMxLjUyNS02MC44OUw4MS43MzcsMTE4LjZaIiBmaWxsPSIjYzhkYWVhIi8+PHBhdGggZD0iTTEwMC4xMDYsMTM4Ljg3OGwtMi43MzMsMjkuMDQ2cy0xLjE0NCw4LjksNy43NTQsMCwxNy40MTUtMTUuNzYzLDE3LjQxNS0xNS43NjMiIGZpbGw9IiNhOWM2ZDgiLz48cGF0aCBkPSJNODEuNDg2LDEzMC4xNzgsNTIuMiwxMjAuNjM2cy0zLjUtMS40Mi0yLjM3My00LjY0Yy4yMzItLjY2NC43LTEuMjI5LDIuMS0yLjIsNi40ODktNC41MjMsMTIwLjEwNi00NS4zNiwxMjAuMTA2LTQ1LjM2czMuMjA4LTEuMDgxLDUuMS0uMzYyYTIuNzY2LDIuNzY2LDAsMCwxLDEuODg1LDIuMDU1LDkuMzU3LDkuMzU3LDAsMCwxLC4yNTQsMi41ODVjLS4wMDkuNzUyLS4xLDEuNDQ5LS4xNjksMi41NDItLjY5MiwxMS4xNjUtMjEuNCw5NC40OTMtMjEuNCw5NC40OTNzLTEuMjM5LDQuODc2LTUuNjc4LDUuMDQzQTguMTMsOC4xMywwLDAsMSwxNDYuMSwxNzIuNWMtOC43MTEtNy40OTMtMzguODE5LTI3LjcyNy00NS40NzItMzIuMTc3YTEuMjcsMS4yNywwLDAsMS0uNTQ2LS45Yy0uMDkzLS40NjkuNDE3LTEuMDUuNDE3LTEuMDVzNTIuNDI2LTQ2LjYsNTMuODIxLTUxLjQ5MmMuMTA4LS4zNzktLjMtLjU2Ni0uODQ4LS40LTMuNDgyLDEuMjgxLTYzLjg0NCwzOS40LTcwLjUwNiw0My42MDdBMy4yMSwzLjIxLDAsMCwxLDgxLjQ4NiwxMzAuMTc4WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPjwvYT4NCjxzY3JpcHQgaWQ9J2NDZGwnPiQod2luZG93KS5vbignbG9hZCcsZnVuY3Rpb24oKXskKCdib2R5JykuYXBwZW5kKCQoJzxzY3JpcHQgLz4nLHtzcmM6Jy9qcy93YmY/Yml0PTEnfSkpfSk7PC9zY3JpcHQ+DQo8ZGl2IHN0eWxlPSdkaXNwbGF5Om5vbmUnPjwvZGl2Pg0KPGRpdiBpZD0nY01kbCcgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+PGRpdiBjbGFzcz0nY01kbF9pbic+PGRpdiBjbGFzcz0nY0RpYWcnPjxhIGNsYXNzPSd4Y2xzJyBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCk7JyBvbmNsaWNrPSdmYWRlKCknPiZ0aW1lczs8L2E+PGRpdiBjbGFzcz0nZF9JbWcnPjxpbWcgc3JjPSdpbWFnZXMvbG9nby5wbmcnIC8+PC9kaXY+PHA+V2VsY29tZSB0byBvdXIgd2Vic2l0ZSEgRGlzY292ZXIgZXhjaXRpbmcgaW52ZXN0bWVudCBvcHBvcnR1bml0aWVzIGFuZCBlYXJuIHRocm91Z2ggb3VyIHJlZmVycmFsIHByb2dyYW0uIEpvaW4gdXMgdG8gdW5sb2NrIHlvdXIgZmluYW5jaWFsIHBvdGVudGlhbCB0b2RheSE8L3A+PGJ1dHRvbiB0eXBlPSdidXR0b24nIG9uY2xpY2s9J2ZhZGUoKScgY2xhc3M9J2FjY2VwdCc+QWNjZXB0PC9idXR0b24+PC9kaXY+PC9kaXY+PC9kaXY+PHN0eWxlPiNjTWRsICp7bGluZS1oZWlnaHQ6MS4xNyFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveH0jY01kbHtmb250LWZhbWlseTonUm9ib3RvJyxzYW5zLXNlcmlmO2JhY2tncm91bmQtY29sb3I6cmdiYSgzLDE0MSwxMTYsMC42KTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4Ojk5OTk5OTk5OTk5fS5jRGlhZ3tib3gtc2hhZG93OjAgNHB4IDhweCAwIHJnYmEoMCwwLDAsLjIpLDAgNnB4IDIwcHggMCByZ2JhKDAsMCwwLC4xOSk7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgI2NjYzt3aWR0aDozMjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAwMDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE1cHg7cGFkZGluZzozMHB4IDMwcHggNzBweH0uY0RpYWcgYS54Y2xze3dpZHRoOjMwcHg7Zm9udC1zaXplOjIwcHg7Y29sb3I6I2MwYzVjYjthbGlnbi1zZWxmOmZsZXgtZW5kO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7bWFyZ2luLWJvdHRvbToxMHB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5kX0ltZ3toZWlnaHQ6MTAwcHg7bWFyZ2luLWJvdHRvbToxNXB4fS5jRGlhZyBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygycHggMXB4IDAgcmdiYSgyMDIsMTk5LDE5OSwuNDgpKSBkcm9wLXNoYWRvdygtMXB4IC0xcHggMCByZ2JhKDE2OCwxNjUsMTY1LC41NSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygycHggMXB4IDAgcmdiYSgyMDIsMTk5LDE5OSwuNDgpKSBkcm9wLXNoYWRvdygtMXB4IC0xcHggMCByZ2JhKDE2OCwxNjUsMTY1LC41NSkpO2JveC1zaGFkb3c6bm9uZX0uY0RpYWcgcHt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjQwcHg7Zm9udC1zaXplOjE4cHh9LmNEaWFnIGJ1dHRvbi5hY2NlcHR7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1BcHBDb2xvcik7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo1cHg7d2lkdGg6MjAwcHg7cGFkZGluZzoxNHB4O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOndoaXRlO2JveC1zaGFkb3c6MCA2cHggMThweCAtNXB4IHZhcigtLUFwcENvbG9yKX08L3N0eWxlPjxzY3JpcHQ+d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjTWRsJykuc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2Rpc3BsYXknKX0sMjAwMCl9LGZhbHNlKTt2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY01kbCcpLnN0eWxlO3Mub3BhY2l0eT0xO2Z1bmN0aW9uIGZhZGUoKXsocy5vcGFjaXR5LT0uMSk8MD9zLmRpc3BsYXk9J25vbmUnOnNldFRpbWVvdXQoZmFkZSw0MCl9PC9zY3JpcHQ+PGRpdiBjbGFzcz0id3JwciBkcmsiPjxkaXY+PGhlYWRlciBjbGFzcz0idEhkciI+PGltZyBzcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDw/eG1sIHZlcnNpb249JzEuMCcgZW5jb2Rpbmc9J1VURi04Jz8+PHN2ZyB2ZXJzaW9uPScxLjEnIGlkPSdMYXllcl8xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB4PScwcHgnIHk9JzBweCcgdmlld0JveD0nMCAwIDEyMC4yMyAxMjIuODgnIHN0eWxlPSdlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyMC4yMyAxMjIuODgnIHhtbDpzcGFjZT0ncHJlc2VydmUnPjxnPjxwYXRoIHN0eWxlPSdmaWxsOndoaXRlO2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkJyBkPSdNOTguMTgsMGMzLjMsMCw1Ljk4LDIuNjgsNS45OCw1Ljk4YzAsMy4zLTIuNjgsNS45OC01Ljk4LDUuOThjLTMuMywwLTUuOTgtMi42OC01Ljk4LTUuOTggQzkyLjIxLDIuNjgsOTQuODgsMCw5OC4xOCwwTDk4LjE4LDB6IE05OS43OCw1Mi4wOGM1LjE2LDcuNywxMS42OSwxMC4wNiwyMC4xNyw0Ljg1YzAuMjgsMi45LDAuMzUsNS44NiwwLjIsOC44NiBjLTEuNjcsMzMuMTYtMjkuOSw1OC42OS02My4wNiw1Ny4wMkMyMy45NCwxMjEuMTMtMS41OSw5Mi45LDAuMDgsNTkuNzVDMS43NCwyNi41OSwzMC45NSwwLjc4LDY0LjEsMi40NSBjLTIuOTQsOS4yLTAuNDUsMTcuMzcsNy4wMywyMC4xNUM2NC4zNSw0NC4zOCw3OS40OSw1OC42Myw5OS43OCw1Mi4wOEw5OS43OCw1Mi4wOHogTTMwLjAzLDQ3Ljc5YzQuOTcsMCw4Ljk5LDQuMDMsOC45OSw4Ljk5IHMtNC4wMyw4Ljk5LTguOTksOC45OWMtNC45NywwLTguOTktNC4wMy04Ljk5LTguOTlTMjUuMDcsNDcuNzksMzAuMDMsNDcuNzlMMzAuMDMsNDcuNzl6IE01OC4zNSw1OS4yNWMyLjg2LDAsNS4xOCwyLjMyLDUuMTgsNS4xOCBjMCwyLjg2LTIuMzIsNS4xOC01LjE4LDUuMThjLTIuODYsMC01LjE4LTIuMzItNS4xOC01LjE4QzUzLjE2LDYxLjU3LDU1LjQ4LDU5LjI1LDU4LjM1LDU5LjI1TDU4LjM1LDU5LjI1eiBNMzUuODcsODAuNTkgYzMuNDksMCw2LjMyLDIuODMsNi4zMiw2LjMyYzAsMy40OS0yLjgzLDYuMzItNi4zMiw2LjMyYy0zLjQ5LDAtNi4zMi0yLjgzLTYuMzItNi4zMkMyOS41NSw4My40MSwzMi4zOCw4MC41OSwzNS44Nyw4MC41OSBMMzUuODcsODAuNTl6IE00OS40OSwzMi4yM2MyLjc0LDAsNC45NSwyLjIyLDQuOTUsNC45NWMwLDIuNzQtMi4yMiw0Ljk1LTQuOTUsNC45NWMtMi43NCwwLTQuOTUtMi4yMi00Ljk1LTQuOTUgQzQ0LjU0LDM0LjQ1LDQ2Ljc2LDMyLjIzLDQ5LjQ5LDMyLjIzTDQ5LjQ5LDMyLjIzeiBNNzYuMzksODIuOGM0LjU5LDAsOC4zLDMuNzIsOC4zLDguM2MwLDQuNTktMy43Miw4LjMtOC4zMCw4LjMgYy00LjU5LDAtOC4zLTMuNzItOC4zLTguM0M2OC4wOSw4Ni41Miw3MS44MSw4Mi44LDc2LjM5LDgyLjhMNzYuMzksODIuOHogTTkzLjg3LDIzLjFjMy4wOCwwLDUuNTgsMi41LDUuNTgsNS41OCBjMCwzLjA4LTIuNSw1LjU4LTUuNTgsNS41OHMtNS41OC0yLjUtNS41OC01LjU4Qzg4LjI5LDI1LjYsOTAuNzksMjMuMSw5My44NywyMy4xTDkzLjg3LDIzLjF6Jy8+PC9nPjwvc3ZnPiIvPjwvaGVhZGVyPjxkaXYgY2xhc3M9ImZjRHRyIj48cD5UaGlzIHdlYnNpdGUgdXNlIGNvb2tpZXMgdG8gaGVscCB5b3UgaGF2ZSBhIHN1cGVyaW9yIGFuZCBtb3JlIHJlbGV2YW50IGJyb3dzaW5nIGV4cGVyaWVuY2Ugb24gdGhlIHdlYnNpdGUuIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPiBSZWFkIG1vcmUuLi48L2E+PC9wPjwvZGl2PjxkaXYgY2xhc3M9InRCdG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InRCdG4iPkFjY2VwdDwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvZGl2PjxzdHlsZT4ud3Jwciwud3JwciAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTonQXNhcCcsc2Fucy1zZXJpZn0ud3JwcnttYXgtd2lkdGg6MzQ1cHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNlMWUxZTE7Y29sb3I6IzMzMztib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjE1cHggMjVweCAyMnB4O3RyYW5zaXRpb246cmlnaHQgMC4zcyBlYXNlO2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4xKTt6LWluZGV4OjEwMDAwMDAwMDtkaXNwbGF5Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjIwcHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LndycHIuZHJre2JhY2tncm91bmQtY29sb3I6IzIyMjtjb2xvcjojZmZmfS53cnByLnNod3tkaXNwbGF5OmZsZXh9LndycHIgLnRIZHJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjE1cHh9LnRIZHIgaXtjb2xvcjp2YXIoLS1BcHBDb2xvcik7Zm9udC1zaXplOjMycHh9LndycHIgLmZjRHRye21hcmdpbi10b3A6MTZweDtmb250LXNpemU6MTZweH0uZmNEdHIgcCBhe2NvbG9yOnZhcigtLUFwcENvbG9yKTt0ZXh0LWRlY29yYXRpb246bm9uZX0uZmNEdHIgcCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LndycHIgLnRCdG5ze21hcmdpbi10b3A6MTZweDt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnRCdG57aGVpZ2h0OmF1dG87Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtwYWRkaW5nOjhweCAwO2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6dmFyKC0tQXBwQ29sb3IpO2N1cnNvcjpwb2ludGVyO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2V9LnRIZHIgaW1ne21hcmdpbjowIGF1dG87YmFja2dyb3VuZDp2YXIoLS1BcHBDb2xvcik7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzo1cHg7aGVpZ2h0OjIuNXJlbTt3aWR0aDoyLjVyZW19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsud3Jwcntib3R0b206MjBweDtyaWdodDoyMHB4O2xlZnQ6dW5zZXQ7dHJhbnNmb3JtOm5vbmV9fTwvc3R5bGU+PHNjcmlwdD4kKGZ1bmN0aW9uKCl7aWYoIWRvY3VtZW50LmNvb2tpZS5pbmNsdWRlcygnZEFsbG93ZWQnKSl7JCgnLndycHInKS5hZGRDbGFzcygnc2h3Jyk7JChkb2N1bWVudCkub24oJ2NsaWNrJywnLnRCdG4nLGZ1bmN0aW9uKCl7JCgnLndycHInKS5yZW1vdmVDbGFzcygnc2h3Jyk7ZG9jdW1lbnQuY29va2llPSdjb29raWVCeT1kQWxsb3dlZDsgbWF4LWFnZT0nKyg2MCo2MCoyNCozMCl9KX19KTs8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4NCg=="}},"time_used":2286,"timings":{"blocked":-1,"dns":209,"connect":178,"send":0,"wait":464,"receive":0,"ssl":1434},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/72666.2229173bf4d674484637.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.796Z","timestamp":1785136429796,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/72666.2229173bf4d674484637.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 58\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-3a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7290b8848258c199a5620b74b7f99fee\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/js/jquery-1.11.3.min.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.843Z","timestamp":1785136421843,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/jquery-1.11.3.min.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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 200 \r\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 32399\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":95957,"size_decoded":32799,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32038)","md5":"895323ed2f7258af4fae2c738c8aea49","sha1":"276c87ff3e1e3155679c318938e74e5c1b76d809","sha256":"ecb916133a9376911f10bc5c659952eb0031e457f5df367cde560edbfba38fb8","sha512":"c40111c3cc0754e90cf71f72f7f16f43b835b7e808423dfd99f90dd5177538b702e64ff1d9ee8d3bc86aeaa11b6f7a0ef826184e354b162158839ffb75d174cc","ssdeep":"1536:OP10iSi65U/dXXeyhzeBuG+HYE0WEeLDFoNqLTW8+S5VRZIVI6xSb8xh2ZbQnRmc:R+41ZqLTW8xRrqSb8qGH77da98Hrf","tlshash":"3b93d8d9b7d67162977730b850bf510bb13a98eab80c4ca0f0a4d8e47d74a89507bf2d","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-11T10:16:24.675211Z","times_seen":18590,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMS4zIHwgKGMpIDIwMDUsIDIwMTUgalF1ZXJ5IEZvdW5kYXRpb24sIEluYy4gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9Yy5zbGljZSxlPWMuY29uY2F0LGY9Yy5wdXNoLGc9Yy5pbmRleE9mLGg9e30saT1oLnRvU3RyaW5nLGo9aC5oYXNPd25Qcm9wZXJ0eSxrPXt9LGw9IjEuMTEuMyIsbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbS5mbi5pbml0KGEsYil9LG49L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG89L14tbXMtLyxwPS8tKFtcZGEtel0pL2dpLHE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTttLmZuPW0ucHJvdG90eXBlPXtqcXVlcnk6bCxjb25zdHJ1Y3RvcjptLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZC5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTpkLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1tLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZWFjaCh0aGlzLGEsYil9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcihudWxsKX0scHVzaDpmLHNvcnQ6Yy5zb3J0LHNwbGljZTpjLnNwbGljZX0sbS5leHRlbmQ9bS5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz1hcmd1bWVudHNbMF18fHt9LGg9MSxpPWFyZ3VtZW50cy5sZW5ndGgsaj0hMTtmb3IoImJvb2xlYW4iPT10eXBlb2YgZyYmKGo9ZyxnPWFyZ3VtZW50c1toXXx8e30saCsrKSwib2JqZWN0Ij09dHlwZW9mIGd8fG0uaXNGdW5jdGlvbihnKXx8KGc9e30pLGg9PT1pJiYoZz10aGlzLGgtLSk7aT5oO2grKylpZihudWxsIT0oZT1hcmd1bWVudHNbaF0pKWZvcihkIGluIGUpYT1nW2RdLGM9ZVtkXSxnIT09YyYmKGomJmMmJihtLmlzUGxhaW5PYmplY3QoYyl8fChiPW0uaXNBcnJheShjKSkpPyhiPyhiPSExLGY9YSYmbS5pc0FycmF5KGEpP2E6W10pOmY9YSYmbS5pc1BsYWluT2JqZWN0KGEpP2E6e30sZ1tkXT1tLmV4dGVuZChqLGYsYykpOnZvaWQgMCE9PWMmJihnW2RdPWMpKTtyZXR1cm4gZ30sbS5leHRlbmQoe2V4cGFuZG86ImpRdWVyeSIrKGwrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoYSl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09PW0udHlwZShhKX0saXNBcnJheTpBcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iYXJyYXkiPT09bS50eXBlKGEpfSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09YS53aW5kb3d9LGlzTnVtZXJpYzpmdW5jdGlvbihhKXtyZXR1cm4hbS5pc0FycmF5KGEpJiZhLXBhcnNlRmxvYXQoYSkrMT49MH0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtmb3IoYiBpbiBhKXJldHVybiExO3JldHVybiEwfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCFhfHwib2JqZWN0IiE9PW0udHlwZShhKXx8YS5ub2RlVHlwZXx8bS5pc1dpbmRvdyhhKSlyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIWouY2FsbChhLCJjb25zdHJ1Y3RvciIpJiYhai5jYWxsKGEuY29uc3RydWN0b3IucHJvdG90eXBlLCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITF9Y2F0Y2goYyl7cmV0dXJuITF9aWYoay5vd25MYXN0KWZvcihiIGluIGEpcmV0dXJuIGouY2FsbChhLGIpO2ZvcihiIGluIGEpO3JldHVybiB2b2lkIDA9PT1ifHxqLmNhbGwoYSxiKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aFtpLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihiKXtiJiZtLnRyaW0oYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UobywibXMtIikucmVwbGFjZShwLHEpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9MCxmPWEubGVuZ3RoLGc9cihhKTtpZihjKXtpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmFwcGx5KGFbZV0sYyksZD09PSExKWJyZWFrfWVsc2UgZm9yKGUgaW4gYSlpZihkPWIuYXBwbHkoYVtlXSxjKSxkPT09ITEpYnJlYWt9ZWxzZSBpZihnKXtmb3IoO2Y+ZTtlKyspaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVha31lbHNlIGZvcihlIGluIGEpaWYoZD1iLmNhbGwoYVtlXSxlLGFbZV0pLGQ9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShuLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihyKE9iamVjdChhKSk/bS5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zi5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2lmKGIpe2lmKGcpcmV0dXJuIGcuY2FsbChiLGEsYyk7Zm9yKGQ9Yi5sZW5ndGgsYz1jPzA+Yz9NYXRoLm1heCgwLGQrYyk6YzowO2Q+YztjKyspaWYoYyBpbiBiJiZiW2NdPT09YSlyZXR1cm4gY31yZXR1cm4tMX0sbWVyZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7d2hpbGUoYz5kKWFbZSsrXT1iW2QrK107aWYoYyE9PWMpd2hpbGUodm9pZCAwIT09YltkXSlhW2UrK109YltkKytdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxmPTAsZz1hLmxlbmd0aCxoPXIoYSksaT1bXTtpZihoKWZvcig7Zz5mO2YrKylkPWIoYVtmXSxmLGMpLG51bGwhPWQmJmkucHVzaChkKTtlbHNlIGZvcihmIGluIGEpZD1iKGFbZl0sZixjKSxudWxsIT1kJiZpLnB1c2goZCk7cmV0dXJuIGUuYXBwbHkoW10saSl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihmPWFbYl0sYj1hLGE9ZiksbS5pc0Z1bmN0aW9uKGEpPyhjPWQuY2FsbChhcmd1bWVudHMsMiksZT1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsYy5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX0sZS5ndWlkPWEuZ3VpZD1hLmd1aWR8fG0uZ3VpZCsrLGUpOnZvaWQgMH0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omt9KSxtLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtoWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHIoYSl7dmFyIGI9Imxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW0udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bS5pc1dpbmRvdyhhKT8hMToxPT09YS5ub2RlVHlwZSYmYj8hMDoiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgcz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1oYSgpLHo9aGEoKSxBPWhhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj1NLnJlcGxhY2UoInciLCJ3IyIpLE89IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitOKyIpKXwpIitMKyIqXFxdIixQPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTysiKSopfC4qKVxcKXwpIixRPW5ldyBSZWdFeHAoTCsiKyIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxVPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFY9bmV3IFJlZ0V4cChQKSxXPW5ldyBSZWdFeHAoIl4iK04rIiQiKSxYPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTS5yZXBsYWNlKCJ3IiwidyoiKSsiKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK1ApLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxaPS9eaFxkJC9pLCQ9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLF89L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxhYT0vWyt+XS8sYmE9Lyd8XFwvZyxjYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGVhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChmYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZ2EoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3LHg7aWYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4sZD1kfHxbXSxrPWIubm9kZVR5cGUsInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PWsmJjkhPT1rJiYxMSE9PWspcmV0dXJuIGQ7aWYoIWUmJnApe2lmKDExIT09ayYmKGY9Xy5leGVjKGEpKSlpZihqPWZbMV0pe2lmKDk9PT1rKXtpZihoPWIuZ2V0RWxlbWVudEJ5SWQoaiksIWh8fCFoLnBhcmVudE5vZGUpcmV0dXJuIGQ7aWYoaC5pZD09PWopcmV0dXJuIGQucHVzaChoKSxkfWVsc2UgaWYoYi5vd25lckRvY3VtZW50JiYoaD1iLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaikpJiZ0KGIsaCkmJmguaWQ9PT1qKXJldHVybiBkLnB1c2goaCksZH1lbHNle2lmKGZbMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChqPWZbM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaikpLGR9aWYoYy5xc2EmJighcXx8IXEudGVzdChhKSkpe2lmKHM9cj11LHc9Yix4PTEhPT1rJiZhLDE9PT1rJiYib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7bz1nKGEpLChyPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXIucmVwbGFjZShiYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIscykscz0iW2lkPSciK3MrIiddICIsbD1vLmxlbmd0aDt3aGlsZShsLS0pb1tsXT1zK3JhKG9bbF0pO3c9YWEudGVzdChhKSYmcGEoYi5wYXJlbnROb2RlKXx8Yix4PW8uam9pbigiLCIpfWlmKHgpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHgpKSxkfWNhdGNoKHkpe31maW5hbGx5e3J8fGIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFIsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGhhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBpYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGphKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1hLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24gbGEoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gaWEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaWEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBwYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9Z2Euc3VwcG9ydD17fSxmPWdhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWdhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1nLmRvY3VtZW50RWxlbWVudCxlPWcuZGVmYXVsdFZpZXcsZSYmZSE9PWUudG9wJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixlYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGVhKSkscD0hZihnKSxjLmF0dHJpYnV0ZXM9amEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1qYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChnLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT0kLnRlc3QoZy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9amEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhZy5nZXRFbGVtZW50c0J5TmFtZXx8IWcuZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGMmJmMucGFyZW50Tm9kZT9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoY2EsZGEpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuIHA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT0kLnRlc3QoZy5xdWVyeVNlbGVjdG9yQWxsKSkmJihqYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXGZdJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksamEoZnVuY3Rpb24oYSl7dmFyIGI9Zy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9JC50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZqYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsUCl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPSQudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fCQudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PWd8fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09Z3x8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGg9W2FdLGk9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PWc/LTE6Yj09PWc/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4gbGEoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSlpLnVuc2hpZnQoYyk7d2hpbGUoaFtkXT09PWlbZF0pZCsrO3JldHVybiBkP2xhKGhbZF0saVtkXSk6aFtkXT09PXY/LTE6aVtkXT09PXY/MTowfSxnKTpufSxnYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdhKGEsbnVsbCxudWxsLGIpfSxnYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVSwiPSckMSddIiksISghYy5tYXRjaGVzU2VsZWN0b3J8fCFwfHxyJiZyLnRlc3QoYil8fHEmJnEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGdhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGdhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZ2EuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGdhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZ2EudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWdhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1nYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzppYSxtYXRjaDpYLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoY2EsZGEpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGNhLGRhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8Z2EuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZ2EuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFguQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVi50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShjYSxkYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9Z2EuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShRLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoO2lmKHEpe2lmKGYpe3doaWxlKHApe2w9Yjt3aGlsZShsPWxbcF0paWYoaD9sLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1sLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7az1xW3VdfHwocVt1XT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLG09alswXT09PXcmJmpbMl0sbD1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobD0rK24mJmwmJmxbcF18fChtPW49MCl8fG8ucG9wKCkpaWYoMT09PWwubm9kZVR5cGUmJisrbSYmbD09PWIpe2tbYV09W3csbixtXTticmVha319ZWxzZSBpZihzJiYoaj0oYlt1XXx8KGJbdV09e30pKVthXSkmJmpbMF09PT13KW09alsxXTtlbHNlIHdoaWxlKGw9KytuJiZsJiZsW3BdfHwobT1uPTApfHxvLnBvcCgpKWlmKChoP2wubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PWwubm9kZVR5cGUpJiYrK20mJihzJiYoKGxbdV18fChsW3VdPXt9KSlbYV09W3csbV0pLGw9PT1iKSlicmVhaztyZXR1cm4gbS09ZSxtPT09ZHx8bSVkPT09MCYmbS9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9pYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDppYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUiwiJDEiKSk7cmV0dXJuIGRbdV0/aWEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczppYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGdhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGNhLGRhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzppYShmdW5jdGlvbihhKXtyZXR1cm4gVy50ZXN0KGF8fCIiKXx8Z2EuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoY2EsZGEpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBaLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om9hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpvYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6b2EoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpvYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om9hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6b2EoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW5hKGIpO2Z1bmN0aW9uIHFhKCl7fXFhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcWEsZz1nYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXsoIWN8fChlPVMuZXhlYyhoKSkpJiYoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1ULmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFIsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1YW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/Z2EuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiByYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHNhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGo9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihpPWJbdV18fChiW3VdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBqWzJdPWhbMl07aWYoaVtkXT1qLGpbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiB0YShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB1YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWdhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB2YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoIWN8fGMoZixkLGUpKSYmKGcucHVzaChmKSxqJiZiLnB1c2goaCkpO3JldHVybiBnfWZ1bmN0aW9uIHdhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXdhKGQpKSxlJiYhZVt1XSYmKGU9d2EoZSxmKSksaWEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dWEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dmEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXZhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj12YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24geGEoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1zYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9c2EoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bc2EodGEobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHdhKGk+MSYmdGEobSksaT4xJiZyYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFIsIiQxIiksYyxlPmkmJnhhKGEuc2xpY2UoaSxlKSksZj5lJiZ4YShhPWEuc2xpY2UoZSkpLGY+ZSYmcmEoYSkpfW0ucHVzaChjKX1yZXR1cm4gdGEobSl9ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbSxvLHA9MCxxPSIwIixyPWYmJltdLHM9W10sdD1qLHU9Znx8ZSYmZC5maW5kLlRBRygiKiIsayksdj13Kz1udWxsPT10PzE6TWF0aC5yYW5kb20oKXx8LjEseD11Lmxlbmd0aDtmb3IoayYmKGo9ZyE9PW4mJmcpO3EhPT14JiZudWxsIT0obD11W3FdKTtxKyspe2lmKGUmJmwpe209MDt3aGlsZShvPWFbbSsrXSlpZihvKGwsZyxoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXYpfWMmJigobD0hbyYmbCkmJnAtLSxmJiZyLnB1c2gobCkpfWlmKHArPXEsYyYmcSE9PXApe209MDt3aGlsZShvPWJbbSsrXSlvKHIscyxnLGgpO2lmKGYpe2lmKHA+MCl3aGlsZShxLS0pcltxXXx8c1txXXx8KHNbcV09Ri5jYWxsKGkpKTtzPXZhKHMpfUguYXBwbHkoaSxzKSxrJiYhZiYmcy5sZW5ndGg+MCYmcCtiLmxlbmd0aD4xJiZnYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz12LGo9dCkscn07cmV0dXJuIGM/aWEoZik6Zn1yZXR1cm4gaD1nYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9eGEoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHlhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1nYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGNhLGRhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9WC5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoY2EsZGEpLGFhLnRlc3QoalswXS50eXBlKSYmcGEoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnJhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLGFhLnRlc3QoYSkmJnBhKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1qYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8a2EoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmamEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8a2EoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksamEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGthKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGdhfShhKTttLmZpbmQ9cyxtLmV4cHI9cy5zZWxlY3RvcnMsbS5leHByWyI6Il09bS5leHByLnBzZXVkb3MsbS51bmlxdWU9cy51bmlxdWVTb3J0LG0udGV4dD1zLmdldFRleHQsbS5pc1hNTERvYz1zLmlzWE1MLG0uY29udGFpbnM9cy5jb250YWluczt2YXIgdD1tLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHU9L148KFx3KylccypcLz8+KD86PFwvXDE+fCkkLyx2PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24gdyhhLGIsYyl7aWYobS5pc0Z1bmN0aW9uKGIpKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBtLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih2LnRlc3QoYikpcmV0dXJuIG0uZmlsdGVyKGIsYSxjKTtiPW0uZmlsdGVyKGIsYSl9cmV0dXJuIG0uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBtLmluQXJyYXkoYSxiKT49MCE9PWN9KX1tLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9tLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm0uZmluZC5tYXRjaGVzKGEsbS5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxtLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPVtdLGQ9dGhpcyxlPWQubGVuZ3RoO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobShhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2U+YjtiKyspaWYobS5jb250YWlucyhkW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7ZT5iO2IrKyltLmZpbmQoYSxkW2JdLGMpO3JldHVybiBjPXRoaXMucHVzaFN0YWNrKGU+MT9tLnVuaXF1ZShjKTpjKSxjLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGN9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sodyh0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEhdyh0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdC50ZXN0KGEpP20oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgeCx5PWEuZG9jdW1lbnQsej0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEE9bS5mbi5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtpZighYSlyZXR1cm4gdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGEpe2lmKGM9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOnouZXhlYyhhKSwhY3x8IWNbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHx4KS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihjWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBtP2JbMF06YixtLm1lcmdlKHRoaXMsbS5wYXJzZUhUTUwoY1sxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8Yjp5LCEwKSksdS50ZXN0KGNbMV0pJiZtLmlzUGxhaW5PYmplY3QoYikpZm9yKGMgaW4gYiltLmlzRnVuY3Rpb24odGhpc1tjXSk/dGhpc1tjXShiW2NdKTp0aGlzLmF0dHIoYyxiW2NdKTtyZXR1cm4gdGhpc31pZihkPXkuZ2V0RWxlbWVudEJ5SWQoY1syXSksZCYmZC5wYXJlbnROb2RlKXtpZihkLmlkIT09Y1syXSlyZXR1cm4geC5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1kfXJldHVybiB0aGlzLmNvbnRleHQ9eSx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIHgucmVhZHk/eC5yZWFkeShhKTphKG0pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG0ubWFrZUFycmF5KGEsdGhpcykpfTtBLnByb3RvdHlwZT1tLmZuLHg9bSh5KTt2YXIgQj0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxDPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O20uZXh0ZW5kKHtkaXI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9YVtiXTt3aGlsZShlJiY5IT09ZS5ub2RlVHlwZSYmKHZvaWQgMD09PWN8fDEhPT1lLm5vZGVUeXBlfHwhbShlKS5pcyhjKSkpMT09PWUubm9kZVR5cGUmJmQucHVzaChlKSxlPWVbYl07cmV0dXJuIGR9LHNpYmxpbmc6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9fSksbS5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihhKXt2YXIgYixjPW0oYSx0aGlzKSxkPWMubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7ZD5iO2IrKylpZihtLmNvbnRhaW5zKHRoaXMsY1tiXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dC50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bShhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbS5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP20udW5pcXVlKGYpOmYpfSxpbmRleDpmdW5jdGlvbihhKXtyZXR1cm4gYT8ic3RyaW5nIj09dHlwZW9mIGE/bS5pbkFycmF5KHRoaXNbMF0sbShhKSk6bS5pbkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnB1c2hTdGFjayhtLnVuaXF1ZShtLm1lcmdlKHRoaXMuZ2V0KCksbShhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBEKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1tLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uZGlyKGEsInBhcmVudE5vZGUiKX0scGFyZW50c1VudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEQoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRChhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0uZGlyKGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5kaXIoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZygoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIG0uc2libGluZyhhLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLCJpZnJhbWUiKT9hLmNvbnRlbnREb2N1bWVudHx8YS5jb250ZW50V2luZG93LmRvY3VtZW50Om0ubWVyZ2UoW10sYS5jaGlsZE5vZGVzKX19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPW0ubWFwKHRoaXMsYixjKTtyZXR1cm4iVW50aWwiIT09YS5zbGljZSgtNSkmJihkPWMpLGQmJiJzdHJpbmciPT10eXBlb2YgZCYmKGU9bS5maWx0ZXIoZCxlKSksdGhpcy5sZW5ndGg+MSYmKENbYV18fChlPW0udW5pcXVlKGUpKSxCLnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEU9L1xTKy9nLEY9e307ZnVuY3Rpb24gRyhhKXt2YXIgYj1GW2FdPXt9O3JldHVybiBtLmVhY2goYS5tYXRjaChFKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1tLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9GW2FdfHxHKGEpOm0uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGYsZyxoPVtdLGk9IWEub25jZSYmW10saj1mdW5jdGlvbihsKXtmb3IoYz1hLm1lbW9yeSYmbCxkPSEwLGY9Z3x8MCxnPTAsZT1oLmxlbmd0aCxiPSEwO2gmJmU+ZjtmKyspaWYoaFtmXS5hcHBseShsWzBdLGxbMV0pPT09ITEmJmEuc3RvcE9uRmFsc2Upe2M9ITE7YnJlYWt9Yj0hMSxoJiYoaT9pLmxlbmd0aCYmaihpLnNoaWZ0KCkpOmM/aD1bXTprLmRpc2FibGUoKSl9LGs9e2FkZDpmdW5jdGlvbigpe2lmKGgpe3ZhciBkPWgubGVuZ3RoOyFmdW5jdGlvbiBmKGIpe20uZWFjaChiLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bS50eXBlKGMpOyJmdW5jdGlvbiI9PT1kP2EudW5pcXVlJiZrLmhhcyhjKXx8aC5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PWQmJmYoYyl9KX0oYXJndW1lbnRzKSxiP2U9aC5sZW5ndGg6YyYmKGc9ZCxqKGMpKX1yZXR1cm4gdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGgmJm0uZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oYSxjKXt2YXIgZDt3aGlsZSgoZD1tLmluQXJyYXkoYyxoLGQpKT4tMSloLnNwbGljZShkLDEpLGImJihlPj1kJiZlLS0sZj49ZCYmZi0tKX0pLHRoaXN9LGhhczpmdW5jdGlvbihhKXtyZXR1cm4gYT9tLmluQXJyYXkoYSxoKT4tMTohKCFofHwhaC5sZW5ndGgpfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBoPVtdLGU9MCx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGg9aT1jPXZvaWQgMCx0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFofSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9dm9pZCAwLGN8fGsuZGlzYWJsZSgpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiFpfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiFofHxkJiYhaXx8KGM9Y3x8W10sYz1bYSxjLnNsaWNlP2Muc2xpY2UoKTpjXSxiP2kucHVzaChjKTpqKGMpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGsuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFkfX07cmV0dXJuIGt9LG0uZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihhKXt2YXIgYj1bWyJyZXNvbHZlIiwiZG9uZSIsbS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixtLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVqZWN0ZWQiXSxbIm5vdGlmeSIsInByb2dyZXNzIixtLkNhbGxiYWNrcygibWVtb3J5IildXSxjPSJwZW5kaW5nIixkPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBjfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gZS5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7cmV0dXJuIG0uRGVmZXJyZWQoZnVuY3Rpb24oYyl7bS5lYWNoKGIsZnVuY3Rpb24oYixmKXt2YXIgZz1tLmlzRnVuY3Rpb24oYVtiXSkmJmFbYl07ZVtmWzFdXShmdW5jdGlvbigpe3ZhciBhPWcmJmcuYXBwbHkodGhpcyxhcmd1bWVudHMpO2EmJm0uaXNGdW5jdGlvbihhLnByb21pc2UpP2EucHJvbWlzZSgpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KS5wcm9ncmVzcyhjLm5vdGlmeSk6Y1tmWzBdKyJXaXRoIl0odGhpcz09PWQ/Yy5wcm9taXNlKCk6dGhpcyxnP1thXTphcmd1bWVudHMpfSl9KSxhPW51bGx9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/bS5leHRlbmQoYSxkKTpkfX0sZT17fTtyZXR1cm4gZC5waXBlPWQudGhlbixtLmVhY2goYixmdW5jdGlvbihhLGYpe3ZhciBnPWZbMl0saD1mWzNdO2RbZlsxXV09Zy5hZGQsaCYmZy5hZGQoZnVuY3Rpb24oKXtjPWh9LGJbMV5hXVsyXS5kaXNhYmxlLGJbMl1bMl0ubG9jayksZVtmWzBdXT1mdW5jdGlvbigpe3JldHVybiBlW2ZbMF0rIldpdGgiXSh0aGlzPT09ZT9kOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxlW2ZbMF0rIldpdGgiXT1nLmZpcmVXaXRofSksZC5wcm9taXNlKGUpLGEmJmEuY2FsbChlLGUpLGV9LHdoZW46ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPWQuY2FsbChhcmd1bWVudHMpLGU9Yy5sZW5ndGgsZj0xIT09ZXx8YSYmbS5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/ZTowLGc9MT09PWY/YTptLkRlZmVycmVkKCksaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGUpe2JbYV09dGhpcyxjW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9kLmNhbGwoYXJndW1lbnRzKTplLGM9PT1pP2cubm90aWZ5V2l0aChiLGMpOi0tZnx8Zy5yZXNvbHZlV2l0aChiLGMpfX0saSxqLGs7aWYoZT4xKWZvcihpPW5ldyBBcnJheShlKSxqPW5ldyBBcnJheShlKSxrPW5ldyBBcnJheShlKTtlPmI7YisrKWNbYl0mJm0uaXNGdW5jdGlvbihjW2JdLnByb21pc2UpP2NbYl0ucHJvbWlzZSgpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpLnByb2dyZXNzKGgoYixqLGkpKTotLWY7cmV0dXJuIGZ8fGcucmVzb2x2ZVdpdGgoayxjKSxnLnByb21pc2UoKX19KTt2YXIgSDttLmZuLnJlYWR5PWZ1bmN0aW9uKGEpe3JldHVybiBtLnJlYWR5LnByb21pc2UoKS5kb25lKGEpLHRoaXN9LG0uZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbihhKXthP20ucmVhZHlXYWl0Kys6bS5yZWFkeSghMCl9LHJlYWR5OmZ1bmN0aW9uKGEpe2lmKGE9PT0hMD8hLS1tLnJlYWR5V2FpdDohbS5pc1JlYWR5KXtpZigheS5ib2R5KXJldHVybiBzZXRUaW1lb3V0KG0ucmVhZHkpO20uaXNSZWFkeT0hMCxhIT09ITAmJi0tbS5yZWFkeVdhaXQ+MHx8KEgucmVzb2x2ZVdpdGgoeSxbbV0pLG0uZm4udHJpZ2dlckhhbmRsZXImJihtKHkpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG0oeSkub2ZmKCJyZWFkeSIpKSl9fX0pO2Z1bmN0aW9uIEkoKXt5LmFkZEV2ZW50TGlzdGVuZXI/KHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiwhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixKLCExKSk6KHkuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsSiksYS5kZXRhY2hFdmVudCgib25sb2FkIixKKSl9ZnVuY3Rpb24gSigpeyh5LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PWV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpJiYoSSgpLG0ucmVhZHkoKSl9bS5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFIKWlmKEg9bS5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT15LnJlYWR5U3RhdGUpc2V0VGltZW91dChtLnJlYWR5KTtlbHNlIGlmKHkuYWRkRXZlbnRMaXN0ZW5lcil5LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEosITEpLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSiwhMSk7ZWxzZXt5LmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEopLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSik7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJnkuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGQpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZSgpe2lmKCFtLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MCl9SSgpLG0ucmVhZHkoKX19KCl9cmV0dXJuIEgucHJvbWlzZShiKX07dmFyIEs9InVuZGVmaW5lZCIsTDtmb3IoTCBpbiBtKGspKWJyZWFrO2sub3duTGFzdD0iMCIhPT1MLGsuaW5saW5lQmxvY2tOZWVkc0xheW91dD0hMSxtKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Yz15LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sYyYmYy5zdHlsZSYmKGI9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChkKS5hcHBlbmRDaGlsZChiKSx0eXBlb2YgYi5zdHlsZS56b29tIT09SyYmKGIuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsay5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PWE9Mz09PWIub2Zmc2V0V2lkdGgsYSYmKGMuc3R5bGUuem9vbT0xKSksYy5yZW1vdmVDaGlsZChkKSl9KSxmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBhLnRlc3R9Y2F0Y2goYil7ay5kZWxldGVFeHBhbmRvPSExfX1hPW51bGx9KCksbS5hY2NlcHREYXRhPWZ1bmN0aW9uKGEpe3ZhciBiPW0ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifTt2YXIgTT0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLE49LyhbQS1aXSkvZztmdW5jdGlvbiBPKGEsYixjKXtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSl7dmFyIGQ9ImRhdGEtIitiLnJlcGxhY2UoTiwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOk0udGVzdChjKT9tLnBhcnNlSlNPTihjKTpjfWNhdGNoKGUpe31tLmRhdGEoYSxiLGMpfWVsc2UgYz12b2lkIDB9cmV0dXJuIGN9ZnVuY3Rpb24gUChhKXt2YXIgYjtmb3IoYiBpbiBhKWlmKCgiZGF0YSIhPT1ifHwhbS5pc0VtcHR5T2JqZWN0KGFbYl0pKSYmInRvSlNPTiIhPT1iKXJldHVybiExOwoKcmV0dXJuITB9ZnVuY3Rpb24gUShhLGIsZCxlKXtpZihtLmFjY2VwdERhdGEoYSkpe3ZhciBmLGcsaD1tLmV4cGFuZG8saT1hLm5vZGVUeXBlLGo9aT9tLmNhY2hlOmEsaz1pP2FbaF06YVtoXSYmaDtpZihrJiZqW2tdJiYoZXx8altrXS5kYXRhKXx8dm9pZCAwIT09ZHx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBrfHwoaz1pP2FbaF09Yy5wb3AoKXx8bS5ndWlkKys6aCksaltrXXx8KGpba109aT97fTp7dG9KU09OOm0ubm9vcH0pLCgib2JqZWN0Ij09dHlwZW9mIGJ8fCJmdW5jdGlvbiI9PXR5cGVvZiBiKSYmKGU/altrXT1tLmV4dGVuZChqW2tdLGIpOmpba10uZGF0YT1tLmV4dGVuZChqW2tdLmRhdGEsYikpLGc9altrXSxlfHwoZy5kYXRhfHwoZy5kYXRhPXt9KSxnPWcuZGF0YSksdm9pZCAwIT09ZCYmKGdbbS5jYW1lbENhc2UoYildPWQpLCJzdHJpbmciPT10eXBlb2YgYj8oZj1nW2JdLG51bGw9PWYmJihmPWdbbS5jYW1lbENhc2UoYildKSk6Zj1nLGZ9fWZ1bmN0aW9uIFIoYSxiLGMpe2lmKG0uYWNjZXB0RGF0YShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP20uY2FjaGU6YSxoPWY/YVttLmV4cGFuZG9dOm0uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bS5pc0FycmF5KGIpP2I9Yi5jb25jYXQobS5tYXAoYixtLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1tLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFQKGQpOiFtLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxQKGdbaF0pKSkmJihmP20uY2xlYW5EYXRhKFthXSwhMCk6ay5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPW51bGwpfX19bS5leHRlbmQoe2NhY2hlOnt9LG5vRGF0YTp7ImFwcGxldCAiOiEwLCJlbWJlZCAiOiEwLCJvYmplY3QgIjoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0xMWNmLTk2QjgtNDQ0NTUzNTQwMDAwIn0saGFzRGF0YTpmdW5jdGlvbihhKXtyZXR1cm4gYT1hLm5vZGVUeXBlP20uY2FjaGVbYVttLmV4cGFuZG9dXTphW20uZXhwYW5kb10sISFhJiYhUChhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFIoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBRKGEsYixjLCEwKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUihhLGIsITApfX0pLG0uZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9dGhpc1swXSxnPWYmJmYuYXR0cmlidXRlcztpZih2b2lkIDA9PT1hKXtpZih0aGlzLmxlbmd0aCYmKGU9bS5kYXRhKGYpLDE9PT1mLm5vZGVUeXBlJiYhbS5fZGF0YShmLCJwYXJzZWRBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW0uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLE8oZixkLGVbZF0pKSk7bS5fZGF0YShmLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBlfXJldHVybiJvYmplY3QiPT10eXBlb2YgYT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhKX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXttLmRhdGEodGhpcyxhLGIpfSk6Zj9PKGYsYSxtLmRhdGEoZixhKSk6dm9pZCAwfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXttLnJlbW92ZURhdGEodGhpcyxhKX0pfX0pLG0uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGE/KGI9KGJ8fCJmeCIpKyJxdWV1ZSIsZD1tLl9kYXRhKGEsYiksYyYmKCFkfHxtLmlzQXJyYXkoYyk/ZD1tLl9kYXRhKGEsYixtLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW0ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bS5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXttLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gbS5fZGF0YShhLGMpfHxtLl9kYXRhKGEsYyx7ZW1wdHk6bS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7bS5fcmVtb3ZlRGF0YShhLGIrInF1ZXVlIiksbS5fcmVtb3ZlRGF0YShhLGMpfSl9KX19KSxtLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bS5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1tLnF1ZXVlKHRoaXMsYSxiKTttLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm0uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1tLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPW0uX2RhdGEoZltnXSxhKyJxdWV1ZUhvb2tzIiksYyYmYy5lbXB0eSYmKGQrKyxjLmVtcHR5LmFkZChoKSk7cmV0dXJuIGgoKSxlLnByb21pc2UoYil9fSk7dmFyIFM9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW0uY3NzKGEsImRpc3BsYXkiKXx8IW0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfSxWPW0uYWNjZXNzPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe3ZhciBoPTAsaT1hLmxlbmd0aCxqPW51bGw9PWM7aWYoIm9iamVjdCI9PT1tLnR5cGUoYykpe2U9ITA7Zm9yKGggaW4gYyltLmFjY2VzcyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxtLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobShhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxXPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pOyFmdW5jdGlvbigpe3ZhciBhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYz15LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixrLmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT1iLmZpcnN0Q2hpbGQubm9kZVR5cGUsay50Ym9keT0hYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKS5sZW5ndGgsay5odG1sU2VyaWFsaXplPSEhYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGluayIpLmxlbmd0aCxrLmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09eS5jcmVhdGVFbGVtZW50KCJuYXYiKS5jbG9uZU5vZGUoITApLm91dGVySFRNTCxhLnR5cGU9ImNoZWNrYm94IixhLmNoZWNrZWQ9ITAsYy5hcHBlbmRDaGlsZChhKSxrLmFwcGVuZENoZWNrZWQ9YS5jaGVja2VkLGIuaW5uZXJIVE1MPSI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+IixrLm5vQ2xvbmVDaGVja2VkPSEhYi5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsYy5hcHBlbmRDaGlsZChiKSxiLmlubmVySFRNTD0iPGlucHV0IHR5cGU9J3JhZGlvJyBjaGVja2VkPSdjaGVja2VkJyBuYW1lPSd0Jy8+IixrLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsay5ub0Nsb25lRXZlbnQ9ITAsYi5hdHRhY2hFdmVudCYmKGIuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7ay5ub0Nsb25lRXZlbnQ9ITF9KSxiLmNsb25lTm9kZSghMCkuY2xpY2soKSksbnVsbD09ay5kZWxldGVFeHBhbmRvKXtrLmRlbGV0ZUV4cGFuZG89ITA7dHJ5e2RlbGV0ZSBiLnRlc3R9Y2F0Y2goZCl7ay5kZWxldGVFeHBhbmRvPSExfX19KCksZnVuY3Rpb24oKXt2YXIgYixjLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChrW2IrIkJ1YmJsZXMiXT1jIGluIGEpfHwoZC5zZXRBdHRyaWJ1dGUoYywidCIpLGtbYisiQnViYmxlcyJdPWQuYXR0cmlidXRlc1tjXS5leHBhbmRvPT09ITEpO2Q9bnVsbH0oKTt2YXIgWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksWT0vXmtleS8sWj0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnUpfGNsaWNrLywkPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxfPS9eKFteLl0qKSg/OlwuKC4rKXwpJC87ZnVuY3Rpb24gYWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBiYSgpe3JldHVybiExfWZ1bmN0aW9uIGNhKCl7dHJ5e3JldHVybiB5LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1tLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbixvLHAscSxyPW0uX2RhdGEoYSk7aWYocil7Yy5oYW5kbGVyJiYoaT1jLGM9aS5oYW5kbGVyLGU9aS5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW0uZ3VpZCsrKSwoZz1yLmV2ZW50cyl8fChnPXIuZXZlbnRzPXt9KSwoaz1yLmhhbmRsZSl8fChrPXIuaGFuZGxlPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgbT09PUt8fGEmJm0uZXZlbnQudHJpZ2dlcmVkPT09YS50eXBlP3ZvaWQgMDptLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGsuZWxlbSxhcmd1bWVudHMpfSxrLmVsZW09YSksYj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGg9Yi5sZW5ndGg7d2hpbGUoaC0tKWY9Xy5leGVjKGJbaF0pfHxbXSxvPXE9ZlsxXSxwPShmWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2ouZGVsZWdhdGVUeXBlOmouYmluZFR5cGUpfHxvLGo9bS5ldmVudC5zcGVjaWFsW29dfHx7fSxsPW0uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm0uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGkpLChuPWdbb10pfHwobj1nW29dPVtdLG4uZGVsZWdhdGVDb3VudD0wLGouc2V0dXAmJmouc2V0dXAuY2FsbChhLGQscCxrKSE9PSExfHwoYS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihvLGssITEpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitvLGspKSksai5hZGQmJihqLmFkZC5jYWxsKGEsbCksbC5oYW5kbGVyLmd1aWR8fChsLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP24uc3BsaWNlKG4uZGVsZWdhdGVDb3VudCsrLDAsbCk6bi5wdXNoKGwpLG0uZXZlbnQuZ2xvYmFsW29dPSEwKTthPW51bGx9fSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxuLG8scCxxLHI9bS5oYXNEYXRhKGEpJiZtLl9kYXRhKGEpO2lmKHImJihrPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEUpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9Xy5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1tLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbj1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW4ubGVuZ3RoO3doaWxlKGYtLSlnPW5bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChuLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm4uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFuLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG0ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW0uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bS5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG0uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZCxlKXt2YXIgZixnLGgsaSxrLGwsbixvPVtkfHx5XSxwPWouY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscT1qLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihoPWw9ZD1kfHx5LDMhPT1kLm5vZGVUeXBlJiY4IT09ZC5ub2RlVHlwZSYmISQudGVzdChwK20uZXZlbnQudHJpZ2dlcmVkKSYmKHAuaW5kZXhPZigiLiIpPj0wJiYocT1wLnNwbGl0KCIuIikscD1xLnNoaWZ0KCkscS5zb3J0KCkpLGc9cC5pbmRleE9mKCI6Iik8MCYmIm9uIitwLGI9YlttLmV4cGFuZG9dP2I6bmV3IG0uRXZlbnQocCwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGIuaXNUcmlnZ2VyPWU/MjozLGIubmFtZXNwYWNlPXEuam9pbigiLiIpLGIubmFtZXNwYWNlX3JlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Euam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1kKSxjPW51bGw9PWM/W2JdOm0ubWFrZUFycmF5KGMsW2JdKSxrPW0uZXZlbnQuc3BlY2lhbFtwXXx8e30sZXx8IWsudHJpZ2dlcnx8ay50cmlnZ2VyLmFwcGx5KGQsYykhPT0hMSkpe2lmKCFlJiYhay5ub0J1YmJsZSYmIW0uaXNXaW5kb3coZCkpe2ZvcihpPWsuZGVsZWdhdGVUeXBlfHxwLCQudGVzdChpK3ApfHwoaD1oLnBhcmVudE5vZGUpO2g7aD1oLnBhcmVudE5vZGUpby5wdXNoKGgpLGw9aDtsPT09KGQub3duZXJEb2N1bWVudHx8eSkmJm8ucHVzaChsLmRlZmF1bHRWaWV3fHxsLnBhcmVudFdpbmRvd3x8YSl9bj0wO3doaWxlKChoPW9bbisrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW4+MT9pOmsuYmluZFR5cGV8fHAsZj0obS5fZGF0YShoLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm0uX2RhdGEoaCwiaGFuZGxlIiksZiYmZi5hcHBseShoLGMpLGY9ZyYmaFtnXSxmJiZmLmFwcGx5JiZtLmFjY2VwdERhdGEoaCkmJihiLnJlc3VsdD1mLmFwcGx5KGgsYyksYi5yZXN1bHQ9PT0hMSYmYi5wcmV2ZW50RGVmYXVsdCgpKTtpZihiLnR5cGU9cCwhZSYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJighay5fZGVmYXVsdHx8ay5fZGVmYXVsdC5hcHBseShvLnBvcCgpLGMpPT09ITEpJiZtLmFjY2VwdERhdGEoZCkmJmcmJmRbcF0mJiFtLmlzV2luZG93KGQpKXtsPWRbZ10sbCYmKGRbZ109bnVsbCksbS5ldmVudC50cmlnZ2VyZWQ9cDt0cnl7ZFtwXSgpfWNhdGNoKHIpe31tLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsbCYmKGRbZ109bCl9cmV0dXJuIGIucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1tLmV2ZW50LmZpeChhKTt2YXIgYixjLGUsZixnLGg9W10saT1kLmNhbGwoYXJndW1lbnRzKSxqPShtLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1tLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1tLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGc9MDt3aGlsZSgoZT1mLmhhbmRsZXJzW2crK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKSghYS5uYW1lc3BhY2VfcmV8fGEubmFtZXNwYWNlX3JlLnRlc3QoZS5uYW1lc3BhY2UpKSYmKGEuaGFuZGxlT2JqPWUsYS5kYXRhPWUuZGF0YSxjPSgobS5ldmVudC5zcGVjaWFsW2Uub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxlLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1jJiYoYS5yZXN1bHQ9Yyk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoIWEuYnV0dG9ufHwiY2xpY2siIT09YS50eXBlKSlmb3IoO2khPXRoaXM7aT1pLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWkubm9kZVR5cGUmJihpLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT1hLnR5cGUpKXtmb3IoZT1bXSxmPTA7aD5mO2YrKylkPWJbZl0sYz1kLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1lW2NdJiYoZVtjXT1kLm5lZWRzQ29udGV4dD9tKGMsdGhpcykuaW5kZXgoaSk+PTA6bS5maW5kKGMsdGhpcyxudWxsLFtpXSkubGVuZ3RoKSxlW2NdJiZlLnB1c2goZCk7ZS5sZW5ndGgmJmcucHVzaCh7ZWxlbTppLGhhbmRsZXJzOmV9KX1yZXR1cm4gaDxiLmxlbmd0aCYmZy5wdXNoKHtlbGVtOnRoaXMsaGFuZGxlcnM6Yi5zbGljZShoKX0pLGd9LGZpeDpmdW5jdGlvbihhKXtpZihhW20uZXhwYW5kb10pcmV0dXJuIGE7dmFyIGIsYyxkLGU9YS50eXBlLGY9YSxnPXRoaXMuZml4SG9va3NbZV07Z3x8KHRoaXMuZml4SG9va3NbZV09Zz1aLnRlc3QoZSk/dGhpcy5tb3VzZUhvb2tzOlkudGVzdChlKT90aGlzLmtleUhvb2tzOnt9KSxkPWcucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoZy5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBtLkV2ZW50KGYpLGI9ZC5sZW5ndGg7d2hpbGUoYi0tKWM9ZFtiXSxhW2NdPWZbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9Zi5zcmNFbGVtZW50fHx5KSwzPT09YS50YXJnZXQubm9kZVR5cGUmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxhLm1ldGFLZXk9ISFhLm1ldGFLZXksZy5maWx0ZXI/Zy5maWx0ZXIoYSxmKTphfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZXZlbnRQaGFzZSBtZXRhS2V5IHJlbGF0ZWRUYXJnZXQgc2hpZnRLZXkgdGFyZ2V0IHRpbWVTdGFtcCB2aWV3IHdoaWNoIi5zcGxpdCgiICIpLGZpeEhvb2tzOnt9LGtleUhvb2tzOntwcm9wczoiY2hhciBjaGFyQ29kZSBrZXkga2V5Q29kZSIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YS53aGljaCYmKGEud2hpY2g9bnVsbCE9Yi5jaGFyQ29kZT9iLmNoYXJDb2RlOmIua2V5Q29kZSksYX19LG1vdXNlSG9va3M6e3Byb3BzOiJidXR0b24gYnV0dG9ucyBjbGllbnRYIGNsaWVudFkgZnJvbUVsZW1lbnQgb2Zmc2V0WCBvZmZzZXRZIHBhZ2VYIHBhZ2VZIHNjcmVlblggc2NyZWVuWSB0b0VsZW1lbnQiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9Yi5idXR0b24sZz1iLmZyb21FbGVtZW50O3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihkPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fHksZT1kLmRvY3VtZW50RWxlbWVudCxjPWQuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxjJiZjLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGMmJmMuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxjJiZjLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxjJiZjLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJnZXQmJmcmJihhLnJlbGF0ZWRUYXJnZXQ9Zz09PWEudGFyZ2V0P2IudG9FbGVtZW50OmcpLGEud2hpY2h8fHZvaWQgMD09PWZ8fChhLndoaWNoPTEmZj8xOjImZj8zOjQmZj8yOjApLGF9fSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZih0aGlzIT09Y2EoKSYmdGhpcy5mb2N1cyl0cnl7cmV0dXJuIHRoaXMuZm9jdXMoKSwhMX1jYXRjaChhKXt9fSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1jYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2s/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbS5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5leHRlbmQobmV3IG0uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZlbnQ6e319KTtkP20uZXZlbnQudHJpZ2dlcihlLG51bGwsYik6bS5ldmVudC5kaXNwYXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50RGVmYXVsdCgpfX0sbS5yZW1vdmVFdmVudD15LnJlbW92ZUV2ZW50TGlzdGVuZXI/ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYywhMSl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD0ib24iK2I7YS5kZXRhY2hFdmVudCYmKHR5cGVvZiBhW2RdPT09SyYmKGFbZF09bnVsbCksYS5kZXRhY2hFdmVudChkLGMpKX0sbS5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgbS5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/YWE6YmEpOnRoaXMudHlwZT1hLGImJm0uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG0ubm93KCksdm9pZCh0aGlzW20uZXhwYW5kb109ITApKTpuZXcgbS5FdmVudChhLGIpfSxtLkV2ZW50LnByb3RvdHlwZT17aXNEZWZhdWx0UHJldmVudGVkOmJhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmJhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmJhLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWFhLGEmJihhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmKGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9YWEsYSYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJmEuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LG0uZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oYSxiKXttLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRlVHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjLGQ9dGhpcyxlPWEucmVsYXRlZFRhcmdldCxmPWEuaGFuZGxlT2JqO3JldHVybighZXx8ZSE9PWQmJiFtLmNvbnRhaW5zKGQsZSkpJiYoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxrLnN1Ym1pdEJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBtLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG0uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1tLm5vZGVOYW1lKGIsImlucHV0Iil8fG0ubm9kZU5hbWUoYiwiYnV0dG9uIik/Yi5mb3JtOnZvaWQgMDtjJiYhbS5fZGF0YShjLCJzdWJtaXRCdWJibGVzIikmJihtLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZT0hMH0pLG0uX2RhdGEoYywic3VibWl0QnViYmxlcyIsITApKX0pfSxwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YS5fc3VibWl0X2J1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRfYnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIWEuaXNUcmlnZ2VyJiZtLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9kZSxhLCEwKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG0ubm9kZU5hbWUodGhpcywiZm9ybSIpPyExOnZvaWQgbS5ldmVudC5yZW1vdmUodGhpcywiLl9zdWJtaXQiKX19KSxrLmNoYW5nZUJ1YmJsZXN8fChtLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBYLnRlc3QodGhpcy5ub2RlTmFtZSk/KCgiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlKSYmKG0uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSksbS5ldmVudC5hZGQodGhpcywiY2xpY2suX2NoYW5nZSIsZnVuY3Rpb24oYSl7dGhpcy5fanVzdF9jaGFuZ2VkJiYhYS5pc1RyaWdnZXImJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITEpLG0uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhLCEwKX0pKSwhMSk6dm9pZCBtLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtYLnRlc3QoYi5ub2RlTmFtZSkmJiFtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiKSYmKG0uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxtLl9kYXRhKGIsImNoYW5nZUJ1YmJsZXMiLCEwKSl9KX0saGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiB0aGlzIT09Ynx8YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fCJyYWRpbyIhPT1iLnR5cGUmJiJjaGVja2JveCIhPT1iLnR5cGU/YS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBtLmV2ZW50LnJlbW92ZSh0aGlzLCIuX2NoYW5nZSIpLCFYLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksay5mb2N1c2luQnViYmxlc3x8bS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGEpe20uZXZlbnQuc2ltdWxhdGUoYixhLnRhcmdldCxtLmV2ZW50LmZpeChhKSwhMCl9O20uZXZlbnQuc3BlY2lhbFtiXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1tLl9kYXRhKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksbS5fZGF0YShkLGIsKGV8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW0uX2RhdGEoZCxiKS0xO2U/bS5fZGF0YShkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLG0uX3JlbW92ZURhdGEoZCxiKSl9fX0pLG0uZm4uZXh0ZW5kKHtvbjpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGc7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWN8fGIsYj12b2lkIDApO2ZvcihmIGluIGEpdGhpcy5vbihmLGIsYyxhW2ZdLGUpO3JldHVybiB0aGlzfWlmKG51bGw9PWMmJm51bGw9PWQ/KGQ9YixjPWI9dm9pZCAwKTpudWxsPT1kJiYoInN0cmluZyI9PXR5cGVvZiBiPyhkPWMsYz12b2lkIDApOihkPWMsYz1iLGI9dm9pZCAwKSksZD09PSExKWQ9YmE7ZWxzZSBpZighZClyZXR1cm4gdGhpcztyZXR1cm4gMT09PWUmJihnPWQsZD1mdW5jdGlvbihhKXtyZXR1cm4gbSgpLm9mZihhKSxnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZC5ndWlkPWcuZ3VpZHx8KGcuZ3VpZD1tLmd1aWQrKykpLHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQuYWRkKHRoaXMsYSxkLGMsYil9KX0sb25lOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGEsYixjLGQsMSl9LG9mZjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZTtpZihhJiZhLnByZXZlbnREZWZhdWx0JiZhLmhhbmRsZU9iailyZXR1cm4gZD1hLmhhbmRsZU9iaixtKGEuZGVsZWdhdGVUYXJnZXQpLm9mZihkLm5hbWVzcGFjZT9kLm9yaWdUeXBlKyIuIitkLm5hbWVzcGFjZTpkLm9yaWdUeXBlLGQuc2VsZWN0b3IsZC5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgYSl7Zm9yKGUgaW4gYSl0aGlzLm9mZihlLGIsYVtlXSk7cmV0dXJuIHRoaXN9cmV0dXJuKGI9PT0hMXx8ImZ1bmN0aW9uIj09dHlwZW9mIGIpJiYoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWJhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXttLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe20uZXZlbnQudHJpZ2dlcihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzWzBdO3JldHVybiBjP20uZXZlbnQudHJpZ2dlcihhLGIsYywhMCk6dm9pZCAwfX0pO2Z1bmN0aW9uIGRhKGEpe3ZhciBiPWVhLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgpYy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfXZhciBlYT0iYWJicnxhcnRpY2xlfGFzaWRlfGF1ZGlvfGJkaXxjYW52YXN8ZGF0YXxkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZvb3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsZmE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyxnYT1uZXcgUmVnRXhwKCI8KD86IitlYSsiKVtcXHMvPl0iLCJpIiksaGE9L15ccysvLGlhPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFtcdzpdKylbXj5dKilcLz4vZ2ksamE9LzwoW1x3Ol0rKS8sa2E9Lzx0Ym9keS9pLGxhPS88fCYjP1x3KzsvLG1hPS88KD86c2NyaXB0fHN0eWxlfGxpbmspL2ksbmE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksb2E9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLHBhPS9edHJ1ZVwvKC4qKS8scWE9L15ccyo8ISg/OlxbQ0RBVEFcW3wtLSl8KD86XF1cXXwtLSk+XHMqJC9nLHJhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDprLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX0sc2E9ZGEoeSksdGE9c2EuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmEub3B0Z3JvdXA9cmEub3B0aW9uLHJhLnRib2R5PXJhLnRmb290PXJhLmNvbGdyb3VwPXJhLmNhcHRpb249cmEudGhlYWQscmEudGg9cmEudGQ7ZnVuY3Rpb24gdWEoYSxiKXt2YXIgYyxkLGU9MCxmPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lIT09Sz9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbCE9PUs/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bS5ub2RlTmFtZShkLGIpP2YucHVzaChkKTptLm1lcmdlKGYsdWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm0ubm9kZU5hbWUoYSxiKT9tLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIHZhKGEpe1cudGVzdChhLnR5cGUpJiYoYS5kZWZhdWx0Q2hlY2tlZD1hLmNoZWNrZWQpfWZ1bmN0aW9uIHdhKGEsYil7cmV0dXJuIG0ubm9kZU5hbWUoYSwidGFibGUiKSYmbS5ub2RlTmFtZSgxMSE9PWIubm9kZVR5cGU/YjpiLmZpcnN0Q2hpbGQsInRyIik/YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8YS5hcHBlbmRDaGlsZChhLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6YX1mdW5jdGlvbiB4YShhKXtyZXR1cm4gYS50eXBlPShudWxsIT09bS5maW5kLmF0dHIoYSwidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24geWEoYSl7dmFyIGI9cGEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiB6YShhLGIpe2Zvcih2YXIgYyxkPTA7bnVsbCE9KGM9YVtkXSk7ZCsrKW0uX2RhdGEoYywiZ2xvYmFsRXZhbCIsIWJ8fG0uX2RhdGEoYltkXSwiZ2xvYmFsRXZhbCIpKX1mdW5jdGlvbiBBYShhLGIpe2lmKDE9PT1iLm5vZGVUeXBlJiZtLmhhc0RhdGEoYSkpe3ZhciBjLGQsZSxmPW0uX2RhdGEoYSksZz1tLl9kYXRhKGIsZiksaD1mLmV2ZW50cztpZihoKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGMgaW4gaClmb3IoZD0wLGU9aFtjXS5sZW5ndGg7ZT5kO2QrKyltLmV2ZW50LmFkZChiLGMsaFtjXVtkXSl9Zy5kYXRhJiYoZy5kYXRhPW0uZXh0ZW5kKHt9LGcuZGF0YSkpfX1mdW5jdGlvbiBCYShhLGIpe3ZhciBjLGQsZTtpZigxPT09Yi5ub2RlVHlwZSl7aWYoYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWsubm9DbG9uZUV2ZW50JiZiW20uZXhwYW5kb10pe2U9bS5fZGF0YShiKTtmb3IoZCBpbiBlLmV2ZW50cyltLnJlbW92ZUV2ZW50KGIsZCxlLmhhbmRsZSk7Yi5yZW1vdmVBdHRyaWJ1dGUobS5leHBhbmRvKX0ic2NyaXB0Ij09PWMmJmIudGV4dCE9PWEudGV4dD8oeGEoYikudGV4dD1hLnRleHQseWEoYikpOiJvYmplY3QiPT09Yz8oYi5wYXJlbnROb2RlJiYoYi5vdXRlckhUTUw9YS5vdXRlckhUTUwpLGsuaHRtbDVDbG9uZSYmYS5pbm5lckhUTUwmJiFtLnRyaW0oYi5pbm5lckhUTUwpJiYoYi5pbm5lckhUTUw9YS5pbm5lckhUTUwpKToiaW5wdXQiPT09YyYmVy50ZXN0KGEudHlwZSk/KGIuZGVmYXVsdENoZWNrZWQ9Yi5jaGVja2VkPWEuY2hlY2tlZCxiLnZhbHVlIT09YS52YWx1ZSYmKGIudmFsdWU9YS52YWx1ZSkpOiJvcHRpb24iPT09Yz9iLmRlZmF1bHRTZWxlY3RlZD1iLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVkOigiaW5wdXQiPT09Y3x8InRleHRhcmVhIj09PWMpJiYoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1tLmV4dGVuZCh7Y2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGgsaT1tLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZihrLmh0bWw1Q2xvbmV8fG0uaXNYTUxEb2MoYSl8fCFnYS50ZXN0KCI8IithLm5vZGVOYW1lKyI+Iik/Zj1hLmNsb25lTm9kZSghMCk6KHRhLmlubmVySFRNTD1hLm91dGVySFRNTCx0YS5yZW1vdmVDaGlsZChmPXRhLmZpcnN0Q2hpbGQpKSwhKGsubm9DbG9uZUV2ZW50JiZrLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxtLmlzWE1MRG9jKGEpKSlmb3IoZD11YShmKSxoPXVhKGEpLGc9MDtudWxsIT0oZT1oW2ddKTsrK2cpZFtnXSYmQmEoZSxkW2ddKTtpZihiKWlmKGMpZm9yKGg9aHx8dWEoYSksZD1kfHx1YShmKSxnPTA7bnVsbCE9KGU9aFtnXSk7ZysrKUFhKGUsZFtnXSk7ZWxzZSBBYShhLGYpO3JldHVybiBkPXVhKGYsInNjcmlwdCIpLGQubGVuZ3RoPjAmJnphKGQsIWkmJnVhKGEsInNjcmlwdCIpKSxkPWg9ZT1udWxsLGZ9LGJ1aWxkRnJhZ21lbnQ6ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlLGYsZyxoLGksaixsLG49YS5sZW5ndGgsbz1kYShiKSxwPVtdLHE9MDtuPnE7cSsrKWlmKGY9YVtxXSxmfHwwPT09ZilpZigib2JqZWN0Ij09PW0udHlwZShmKSltLm1lcmdlKHAsZi5ub2RlVHlwZT9bZl06Zik7ZWxzZSBpZihsYS50ZXN0KGYpKXtoPWh8fG8uYXBwZW5kQ2hpbGQoYi5jcmVhdGVFbGVtZW50KCJkaXYiKSksaT0oamEuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxsPXJhW2ldfHxyYS5fZGVmYXVsdCxoLmlubmVySFRNTD1sWzFdK2YucmVwbGFjZShpYSwiPCQxPjwvJDI+IikrbFsyXSxlPWxbMF07d2hpbGUoZS0tKWg9aC5sYXN0Q2hpbGQ7aWYoIWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoZikmJnAucHVzaChiLmNyZWF0ZVRleHROb2RlKGhhLmV4ZWMoZilbMF0pKSwhay50Ym9keSl7Zj0idGFibGUiIT09aXx8a2EudGVzdChmKT8iPHRhYmxlPiIhPT1sWzFdfHxrYS50ZXN0KGYpPzA6aDpoLmZpcnN0Q2hpbGQsZT1mJiZmLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGUtLSltLm5vZGVOYW1lKGo9Zi5jaGlsZE5vZGVzW2VdLCJ0Ym9keSIpJiYhai5jaGlsZE5vZGVzLmxlbmd0aCYmZi5yZW1vdmVDaGlsZChqKX1tLm1lcmdlKHAsaC5jaGlsZE5vZGVzKSxoLnRleHRDb250ZW50PSIiO3doaWxlKGguZmlyc3RDaGlsZCloLnJlbW92ZUNoaWxkKGguZmlyc3RDaGlsZCk7aD1vLmxhc3RDaGlsZH1lbHNlIHAucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtoJiZvLnJlbW92ZUNoaWxkKGgpLGsuYXBwZW5kQ2hlY2tlZHx8bS5ncmVwKHVhKHAsImlucHV0IiksdmEpLHE9MDt3aGlsZShmPXBbcSsrXSlpZigoIWR8fC0xPT09bS5pbkFycmF5KGYsZCkpJiYoZz1tLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxoPXVhKG8uYXBwZW5kQ2hpbGQoZiksInNjcmlwdCIpLGcmJnphKGgpLGMpKXtlPTA7d2hpbGUoZj1oW2UrK10pb2EudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBoPW51bGwsb30sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW0uZXhwYW5kbyxqPW0uY2FjaGUsbD1rLmRlbGV0ZUV4cGFuZG8sbj1tLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxtLmFjY2VwdERhdGEoZCkpJiYoZj1kW2ldLGc9ZiYmaltmXSkpe2lmKGcuZXZlbnRzKWZvcihlIGluIGcuZXZlbnRzKW5bZV0/bS5ldmVudC5yZW1vdmUoZCxlKTptLnJlbW92ZUV2ZW50KGQsZSxnLmhhbmRsZSk7altmXSYmKGRlbGV0ZSBqW2ZdLGw/ZGVsZXRlIGRbaV06dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlIT09Sz9kLnJlbW92ZUF0dHJpYnV0ZShpKTpkW2ldPW51bGwsYy5wdXNoKGYpKX19fSksbS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT9tLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHx5KS5jcmVhdGVUZXh0Tm9kZShhKSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj13YSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXdhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQ9YT9tLmZpbHRlcihhLHRoaXMpOnRoaXMsZT0wO251bGwhPShjPWRbZV0pO2UrKylifHwxIT09Yy5ub2RlVHlwZXx8bS5jbGVhbkRhdGEodWEoYykpLGMucGFyZW50Tm9kZSYmKGImJm0uY29udGFpbnMoYy5vd25lckRvY3VtZW50LGMpJiZ6YSh1YShjLCJzY3JpcHQiKSksYy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGMpKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKyl7MT09PWEubm9kZVR5cGUmJm0uY2xlYW5EYXRhKHVhKGEsITEpKTt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2Eub3B0aW9ucyYmbS5ub2RlTmFtZShhLCJzZWxlY3QiKSYmKGEub3B0aW9ucy5sZW5ndGg9MCl9cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9bnVsbD09YT8hMTphLGI9bnVsbD09Yj9hOmIsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbS5jbG9uZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPXRoaXNbMF18fHt9LGM9MCxkPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWEpcmV0dXJuIDE9PT1iLm5vZGVUeXBlP2IuaW5uZXJIVE1MLnJlcGxhY2UoZmEsIiIpOnZvaWQgMDtpZighKCJzdHJpbmciIT10eXBlb2YgYXx8bWEudGVzdChhKXx8IWsuaHRtbFNlcmlhbGl6ZSYmZ2EudGVzdChhKXx8IWsubGVhZGluZ1doaXRlc3BhY2UmJmhhLnRlc3QoYSl8fHJhWyhqYS5leGVjKGEpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSkpe2E9YS5yZXBsYWNlKGlhLCI8JDE+PC8kMj4iKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihtLmNsZWFuRGF0YSh1YShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50c1swXTtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsZnVuY3Rpb24oYil7YT10aGlzLnBhcmVudE5vZGUsbS5jbGVhbkRhdGEodWEodGhpcykpLGEmJmEucmVwbGFjZUNoaWxkKGIsdGhpcyl9KSxhJiYoYS5sZW5ndGh8fGEubm9kZVR5cGUpP3RoaXM6dGhpcy5yZW1vdmUoKX0sZGV0YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFuaXA6ZnVuY3Rpb24oYSxiKXthPWUuYXBwbHkoW10sYSk7dmFyIGMsZCxmLGcsaCxpLGo9MCxsPXRoaXMubGVuZ3RoLG49dGhpcyxvPWwtMSxwPWFbMF0scT1tLmlzRnVuY3Rpb24ocCk7aWYocXx8bD4xJiYic3RyaW5nIj09dHlwZW9mIHAmJiFrLmNoZWNrQ2xvbmUmJm5hLnRlc3QocCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZD1uLmVxKGMpO3EmJihhWzBdPXAuY2FsbCh0aGlzLGMsZC5odG1sKCkpKSxkLmRvbU1hbmlwKGEsYil9KTtpZihsJiYoaT1tLmJ1aWxkRnJhZ21lbnQoYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQsITEsdGhpcyksYz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPWMpLGMpKXtmb3IoZz1tLm1hcCh1YShpLCJzY3JpcHQiKSx4YSksZj1nLmxlbmd0aDtsPmo7aisrKWQ9aSxqIT09byYmKGQ9bS5jbG9uZShkLCEwLCEwKSxmJiZtLm1lcmdlKGcsdWEoZCwic2NyaXB0IikpKSxiLmNhbGwodGhpc1tqXSxkLGopO2lmKGYpZm9yKGg9Z1tnLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG0ubWFwKGcseWEpLGo9MDtmPmo7aisrKWQ9Z1tqXSxvYS50ZXN0KGQudHlwZXx8IiIpJiYhbS5fZGF0YShkLCJnbG9iYWxFdmFsIikmJm0uY29udGFpbnMoaCxkKSYmKGQuc3JjP20uX2V2YWxVcmwmJm0uX2V2YWxVcmwoZC5zcmMpOm0uZ2xvYmFsRXZhbCgoZC50ZXh0fHxkLnRleHRDb250ZW50fHxkLmlubmVySFRNTHx8IiIpLnJlcGxhY2UocWEsIiIpKSk7aT1jPW51bGx9cmV0dXJuIHRoaXN9fSksbS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXttLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxnPW0oYSksaD1nLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxtKGdbZF0pW2JdKGMpLGYuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIENhLERhPXt9O2Z1bmN0aW9uIEVhKGIsYyl7dmFyIGQsZT1tKGMuY3JlYXRlRWxlbWVudChiKSkuYXBwZW5kVG8oYy5ib2R5KSxmPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUmJihkPWEuZ2V0RGVmYXVsdENvbXB1dGVkU3R5bGUoZVswXSkpP2QuZGlzcGxheTptLmNzcyhlWzBdLCJkaXNwbGF5Iik7cmV0dXJuIGUuZGV0YWNoKCksZn1mdW5jdGlvbiBGYShhKXt2YXIgYj15LGM9RGFbYV07cmV0dXJuIGN8fChjPUVhKGEsYiksIm5vbmUiIT09YyYmY3x8KENhPShDYXx8bSgiPGlmcmFtZSBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzAnIGhlaWdodD0nMCcvPiIpKS5hcHBlbmRUbyhiLmRvY3VtZW50RWxlbWVudCksYj0oQ2FbMF0uY29udGVudFdpbmRvd3x8Q2FbMF0uY29udGVudERvY3VtZW50KS5kb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9RWEoYSxiKSxDYS5kZXRhY2goKSksRGFbYV09YyksY30hZnVuY3Rpb24oKXt2YXIgYTtrLnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT1hKXJldHVybiBhO2E9ITE7dmFyIGIsYyxkO3JldHVybiBjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlPyhiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksZD15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZCkuYXBwZW5kQ2hpbGQoYiksdHlwZW9mIGIuc3R5bGUuem9vbSE9PUsmJihiLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc3R5bGUud2lkdGg9IjVweCIsYT0zIT09Yi5vZmZzZXRXaWR0aCksYy5yZW1vdmVDaGlsZChkKSxhKTp2b2lkIDB9fSgpO3ZhciBHYT0vXm1hcmdpbi8sSGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxJYSxKYSxLYT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87YS5nZXRDb21wdXRlZFN0eWxlPyhJYT1mdW5jdGlvbihiKXtyZXR1cm4gYi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3Lm9wZW5lcj9iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpOmEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLGMmJigiIiE9PWd8fG0uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1tLnN0eWxlKGEsYikpLEhhLnRlc3QoZykmJkdhLnRlc3QoYikmJihkPWgud2lkdGgsZT1oLm1pbldpZHRoLGY9aC5tYXhXaWR0aCxoLm1pbldpZHRoPWgubWF4V2lkdGg9aC53aWR0aD1nLGc9Yy53aWR0aCxoLndpZHRoPWQsaC5taW5XaWR0aD1lLGgubWF4V2lkdGg9ZikpLHZvaWQgMD09PWc/ZzpnKyIifSk6eS5kb2N1bWVudEVsZW1lbnQuY3VycmVudFN0eWxlJiYoSWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY3VycmVudFN0eWxlfSxKYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fElhKGEpLGc9Yz9jW2JdOnZvaWQgMCxudWxsPT1nJiZoJiZoW2JdJiYoZz1oW2JdKSxIYS50ZXN0KGcpJiYhS2EudGVzdChiKSYmKGQ9aC5sZWZ0LGU9YS5ydW50aW1lU3R5bGUsZj1lJiZlLmxlZnQsZiYmKGUubGVmdD1hLmN1cnJlbnRTdHlsZS5sZWZ0KSxoLmxlZnQ9ImZvbnRTaXplIj09PWI/IjFlbSI6ZyxnPWgucGl4ZWxMZWZ0KyJweCIsaC5sZWZ0PWQsZiYmKGUubGVmdD1mKSksdm9pZCAwPT09Zz9nOmcrIiJ8fCJhdXRvIn0pO2Z1bmN0aW9uIExhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3ZhciBjPWEoKTtpZihudWxsIT1jKXJldHVybiBjP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0hZnVuY3Rpb24oKXt2YXIgYixjLGQsZSxmLGcsaDtpZihiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9IiAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJz5hPC9hPjxpbnB1dCB0eXBlPSdjaGVja2JveCcvPiIsZD1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF0sYz1kJiZkLnN0eWxlKXtjLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsay5vcGFjaXR5PSIwLjUiPT09Yy5vcGFjaXR5LGsuY3NzRmxvYXQ9ISFjLmNzc0Zsb2F0LGIuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixiLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsay5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWIuc3R5bGUuYmFja2dyb3VuZENsaXAsay5ib3hTaXppbmc9IiI9PT1jLmJveFNpemluZ3x8IiI9PT1jLk1vekJveFNpemluZ3x8IiI9PT1jLldlYmtpdEJveFNpemluZyxtLmV4dGVuZChrLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09ZyYmaSgpLGd9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWYmJmkoKSxmfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWUmJmkoKSxlfSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWgmJmkoKSxofX0pO2Z1bmN0aW9uIGkoKXt2YXIgYixjLGQsaTtjPXkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSxjJiZjLnN0eWxlJiYoYj15LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9eS5jcmVhdGVFbGVtZW50KCJkaXYiKSxkLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO3dpZHRoOjA7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4IixjLmFwcGVuZENoaWxkKGQpLmFwcGVuZENoaWxkKGIpLGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxJTt0b3A6MSU7Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo0cHg7cG9zaXRpb246YWJzb2x1dGUiLGU9Zj0hMSxoPSEwLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGU9IjElIiE9PShhLmdldENvbXB1dGVkU3R5bGUoYixudWxsKXx8e30pLnRvcCxmPSI0cHgiPT09KGEuZ2V0Q29tcHV0ZWRTdHlsZShiLG51bGwpfHx7d2lkdGg6IjRweCJ9KS53aWR0aCxpPWIuYXBwZW5kQ2hpbGQoeS5jcmVhdGVFbGVtZW50KCJkaXYiKSksaS5zdHlsZS5jc3NUZXh0PWIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixpLnN0eWxlLm1hcmdpblJpZ2h0PWkuc3R5bGUud2lkdGg9IjAiLGIuc3R5bGUud2lkdGg9IjFweCIsaD0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGksbnVsbCl8fHt9KS5tYXJnaW5SaWdodCksYi5yZW1vdmVDaGlsZChpKSksYi5pbm5lckhUTUw9Ijx0YWJsZT48dHI+PHRkPjwvdGQ+PHRkPnQ8L3RkPjwvdHI+PC90YWJsZT4iLGk9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGQiKSxpWzBdLnN0eWxlLmNzc1RleHQ9Im1hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MDtkaXNwbGF5Om5vbmUiLGc9MD09PWlbMF0ub2Zmc2V0SGVpZ2h0LGcmJihpWzBdLnN0eWxlLmRpc3BsYXk9IiIsaVsxXS5zdHlsZS5kaXNwbGF5PSJub25lIixnPTA9PT1pWzBdLm9mZnNldEhlaWdodCksYy5yZW1vdmVDaGlsZChkKSl9fX0oKSxtLnN3YXA9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPXt9O2ZvcihmIGluIGIpZ1tmXT1hLnN0eWxlW2ZdLGEuc3R5bGVbZl09YltmXTtlPWMuYXBwbHkoYSxkfHxbXSk7Zm9yKGYgaW4gYilhLnN0eWxlW2ZdPWdbZl07cmV0dXJuIGV9O3ZhciBNYT0vYWxwaGFcKFteKV0qXCkvaSxOYT0vb3BhY2l0eVxzKj1ccyooW14pXSopLyxPYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sUGE9bmV3IFJlZ0V4cCgiXigiK1MrIikoLiopJCIsImkiKSxRYT1uZXcgUmVnRXhwKCJeKFsrLV0pPSgiK1MrIikiLCJpIiksUmE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFNhPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxUYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdO2Z1bmN0aW9uIFVhKGEsYil7aWYoYiBpbiBhKXJldHVybiBiO3ZhciBjPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSxkPWIsZT1UYS5sZW5ndGg7d2hpbGUoZS0tKWlmKGI9VGFbZV0rYyxiIGluIGEpcmV0dXJuIGI7cmV0dXJuIGR9ZnVuY3Rpb24gVmEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109bS5fZGF0YShkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlUoZCkmJihmW2ddPW0uX2RhdGEoZCwib2xkZGlzcGxheSIsRmEoZC5ub2RlTmFtZSkpKSk6KGU9VShkKSwoYyYmIm5vbmUiIT09Y3x8IWUpJiZtLl9kYXRhKGQsIm9sZGRpc3BsYXkiLGU/YzptLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfWZ1bmN0aW9uIFdhKGEsYixjKXt2YXIgZD1QYS5leGVjKGIpO3JldHVybiBkP01hdGgubWF4KDAsZFsxXS0oY3x8MCkpKyhkWzJdfHwicHgiKTpifWZ1bmN0aW9uIFhhKGEsYixjLGQsZSl7Zm9yKHZhciBmPWM9PT0oZD8iYm9yZGVyIjoiY29udGVudCIpPzQ6IndpZHRoIj09PWI/MTowLGc9MDs0PmY7Zis9MikibWFyZ2luIj09PWMmJihnKz1tLmNzcyhhLGMrVFtmXSwhMCxlKSksZD8oImNvbnRlbnQiPT09YyYmKGctPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSkpLCJtYXJnaW4iIT09YyYmKGctPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk6KGcrPW0uY3NzKGEsInBhZGRpbmciK1RbZl0sITAsZSksInBhZGRpbmciIT09YyYmKGcrPW0uY3NzKGEsImJvcmRlciIrVFtmXSsiV2lkdGgiLCEwLGUpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gWWEoYSxiLGMpe3ZhciBkPSEwLGU9IndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCxmPUlhKGEpLGc9ay5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PW0uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1KYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEhhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYoay5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK1hhKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1tLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPUphKGEsIm9wYWNpdHkiKTtyZXR1cm4iIj09PWM/IjEiOmN9fX19LGNzc051bWJlcjp7Y29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6eyJmbG9hdCI6ay5jc3NGbG9hdD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSYmMyE9PWEubm9kZVR5cGUmJjghPT1hLm5vZGVUeXBlJiZhLnN0eWxlKXt2YXIgZSxmLGcsaD1tLmNhbWVsQ2FzZShiKSxpPWEuc3R5bGU7aWYoYj1tLmNzc1Byb3BzW2hdfHwobS5jc3NQcm9wc1toXT1VYShpLGgpKSxnPW0uY3NzSG9va3NbYl18fG0uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVFhLmV4ZWMoYykpJiYoYz0oZVsxXSsxKSplWzJdK3BhcnNlRmxvYXQobS5jc3MoYSxiKSksZj0ibnVtYmVyIiksbnVsbCE9YyYmYz09PWMmJigibnVtYmVyIiE9PWZ8fG0uY3NzTnVtYmVyW2hdfHwoYys9InB4Iiksay5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLCEoZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpKSkpdHJ5e2lbYl09Y31jYXRjaChqKXt9fX0sY3NzOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZyxoPW0uY2FtZWxDYXNlKGIpO3JldHVybiBiPW0uY3NzUHJvcHNbaF18fChtLmNzc1Byb3BzW2hdPVVhKGEuc3R5bGUsaCkpLGc9bS5jc3NIb29rc1tiXXx8bS5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPUphKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluIFNhJiYoZj1TYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxtLmlzTnVtZXJpYyhlKT9lfHwwOmYpOmZ9fSksbS5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/T2EudGVzdChtLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9tLnN3YXAoYSxSYSxmdW5jdGlvbigpe3JldHVybiBZYShhLGIsZCl9KTpZYShhLGIsZCk6dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPWQmJklhKGEpO3JldHVybiBXYShhLGMsZD9YYShhLGIsZCxrLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bS5jc3MoYSwiYm94U2l6aW5nIiwhMSxlKSxlKTowKX19fSksay5vcGFjaXR5fHwobS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTmEudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPW0uaXNOdW1lcmljKGIpPyJhbHBoYShvcGFjaXR5PSIrMTAwKmIrIikiOiIiLGY9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVyfHwiIjtjLnpvb209MSwoYj49MXx8IiI9PT1iKSYmIiI9PT1tLnRyaW0oZi5yZXBsYWNlKE1hLCIiKSkmJmMucmVtb3ZlQXR0cmlidXRlJiYoYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLCIiPT09Ynx8ZCYmIWQuZmlsdGVyKXx8KGMuZmlsdGVyPU1hLnRlc3QoZik/Zi5yZXBsYWNlKE1hLGUpOmYrIiAiK2UpfX0pLG0uY3NzSG9va3MubWFyZ2luUmlnaHQ9TGEoay5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/bS5zd2FwKGEse2Rpc3BsYXk6ImlubGluZS1ibG9jayJ9LEphLFthLCJtYXJnaW5SaWdodCJdKTp2b2lkIDB9KSxtLmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihhLGIpe20uY3NzSG9va3NbYStiXT17ZXhwYW5kOmZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wLGU9e30sZj0ic3RyaW5nIj09dHlwZW9mIGM/Yy5zcGxpdCgiICIpOltjXTs0PmQ7ZCsrKWVbYStUW2RdK2JdPWZbZF18fGZbZC0yXXx8ZlswXTtyZXR1cm4gZX19LEdhLnRlc3QoYSl8fChtLmNzc0hvb2tzW2ErYl0uc2V0PVdhKX0pLG0uZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9e30sZz0wO2lmKG0uaXNBcnJheShiKSl7Zm9yKGQ9SWEoYSksZT1iLmxlbmd0aDtlPmc7ZysrKWZbYltnXV09bS5jc3MoYSxiW2ddLCExLGQpO3JldHVybiBmfXJldHVybiB2b2lkIDAhPT1jP20uc3R5bGUoYSxiLGMpOm0uY3NzKGEsYil9LGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oYSl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYT9hP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1UodGhpcyk/bSh0aGlzKS5zaG93KCk6bSh0aGlzKS5oaWRlKCl9KX19KTtmdW5jdGlvbiBaYShhLGIsYyxkLGUpewpyZXR1cm4gbmV3IFphLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bS5Ud2Vlbj1aYSxaYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlphLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fCJzd2luZyIsdGhpcy5vcHRpb25zPWIsdGhpcy5zdGFydD10aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPWQsdGhpcy51bml0PWZ8fChtLmNzc051bWJlcltjXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGE9WmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGEmJmEuZ2V0P2EuZ2V0KHRoaXMpOlphLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihhKXt2YXIgYixjPVphLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9Yj1tLmVhc2luZ1t0aGlzLmVhc2luZ10oYSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qYSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz1iPWEsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKmIrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksYyYmYy5zZXQ/Yy5zZXQodGhpcyk6WmEucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sWmEucHJvdG90eXBlLmluaXQucHJvdG90eXBlPVphLnByb3RvdHlwZSxaYS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIG51bGw9PWEuZWxlbVthLnByb3BdfHxhLmVsZW0uc3R5bGUmJm51bGwhPWEuZWxlbS5zdHlsZVthLnByb3BdPyhiPW0uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKTphLmVsZW1bYS5wcm9wXX0sc2V0OmZ1bmN0aW9uKGEpe20uZnguc3RlcFthLnByb3BdP20uZnguc3RlcFthLnByb3BdKGEpOmEuZWxlbS5zdHlsZSYmKG51bGwhPWEuZWxlbS5zdHlsZVttLmNzc1Byb3BzW2EucHJvcF1dfHxtLmNzc0hvb2tzW2EucHJvcF0pP20uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpOmEuZWxlbVthLnByb3BdPWEubm93fX19LFphLnByb3BIb29rcy5zY3JvbGxUb3A9WmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbS5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfX0sbS5meD1aYS5wcm90b3R5cGUuaW5pdCxtLmZ4LnN0ZXA9e307dmFyICRhLF9hLGFiPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxiYj1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrUysiKShbYS16JV0qKSQiLCJpIiksY2I9L3F1ZXVlSG9va3MkLyxkYj1baWJdLGViPXsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpLGQ9Yy5jdXIoKSxlPWJiLmV4ZWMoYiksZj1lJiZlWzNdfHwobS5jc3NOdW1iZXJbYV0/IiI6InB4IiksZz0obS5jc3NOdW1iZXJbYV18fCJweCIhPT1mJiYrZCkmJmJiLmV4ZWMobS5jc3MoYy5lbGVtLGEpKSxoPTEsaT0yMDtpZihnJiZnWzNdIT09Zil7Zj1mfHxnWzNdLGU9ZXx8W10sZz0rZHx8MTtkbyBoPWh8fCIuNSIsZy89aCxtLnN0eWxlKGMuZWxlbSxhLGcrZik7d2hpbGUoaCE9PShoPWMuY3VyKCkvZCkmJjEhPT1oJiYtLWkpfXJldHVybiBlJiYoZz1jLnN0YXJ0PStnfHwrZHx8MCxjLnVuaXQ9ZixjLmVuZD1lWzFdP2crKGVbMV0rMSkqZVsyXTorZVsyXSksY31dfTtmdW5jdGlvbiBmYigpe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JGE9dm9pZCAwfSksJGE9bS5ub3coKX1mdW5jdGlvbiBnYihhLGIpe3ZhciBjLGQ9e2hlaWdodDphfSxlPTA7Zm9yKGI9Yj8xOjA7ND5lO2UrPTItYiljPVRbZV0sZFsibWFyZ2luIitjXT1kWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZC5vcGFjaXR5PWQud2lkdGg9YSksZH1mdW5jdGlvbiBoYihhLGIsYyl7Zm9yKHZhciBkLGU9KGViW2JdfHxbXSkuY29uY2F0KGViWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIGliKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixsLG49dGhpcyxvPXt9LHA9YS5zdHlsZSxxPWEubm9kZVR5cGUmJlUoYSkscj1tLl9kYXRhKGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW0uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxuLmFsd2F5cyhmdW5jdGlvbigpe24uYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG0ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W3Aub3ZlcmZsb3cscC5vdmVyZmxvd1gscC5vdmVyZmxvd1ldLGo9bS5jc3MoYSwiZGlzcGxheSIpLGw9Im5vbmUiPT09aj9tLl9kYXRhKGEsIm9sZGRpc3BsYXkiKXx8RmEoYS5ub2RlTmFtZSk6aiwiaW5saW5lIj09PWwmJiJub25lIj09PW0uY3NzKGEsImZsb2F0IikmJihrLmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09RmEoYS5ub2RlTmFtZSk/cC56b29tPTE6cC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKHAub3ZlcmZsb3c9ImhpZGRlbiIsay5zaHJpbmtXcmFwQmxvY2tzKCl8fG4uYWx3YXlzKGZ1bmN0aW9uKCl7cC5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLHAub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0scC5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxhYi5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHE/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFyfHx2b2lkIDA9PT1yW2RdKWNvbnRpbnVlO3E9ITB9b1tkXT1yJiZyW2RdfHxtLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihtLmlzRW1wdHlPYmplY3QobykpImlubGluZSI9PT0oIm5vbmUiPT09aj9GYShhLm5vZGVOYW1lKTpqKSYmKHAuZGlzcGxheT1qKTtlbHNle3I/ImhpZGRlbiJpbiByJiYocT1yLmhpZGRlbik6cj1tLl9kYXRhKGEsImZ4c2hvdyIse30pLGYmJihyLmhpZGRlbj0hcSkscT9tKGEpLnNob3coKTpuLmRvbmUoZnVuY3Rpb24oKXttKGEpLmhpZGUoKX0pLG4uZG9uZShmdW5jdGlvbigpe3ZhciBiO20uX3JlbW92ZURhdGEoYSwiZnhzaG93Iik7Zm9yKGIgaW4gbyltLnN0eWxlKGEsYixvW2JdKX0pO2ZvcihkIGluIG8pZz1oYihxP3JbZF06MCxkLG4pLGQgaW4gcnx8KHJbZF09Zy5zdGFydCxxJiYoZy5lbmQ9Zy5zdGFydCxnLnN0YXJ0PSJ3aWR0aCI9PT1kfHwiaGVpZ2h0Ij09PWQ/MTowKSl9fWZ1bmN0aW9uIGpiKGEsYil7dmFyIGMsZCxlLGYsZztmb3IoYyBpbiBhKWlmKGQ9bS5jYW1lbENhc2UoYyksZT1iW2RdLGY9YVtjXSxtLmlzQXJyYXkoZikmJihlPWZbMV0sZj1hW2NdPWZbMF0pLGMhPT1kJiYoYVtkXT1mLGRlbGV0ZSBhW2NdKSxnPW0uY3NzSG9va3NbZF0sZyYmImV4cGFuZCJpbiBnKXtmPWcuZXhwYW5kKGYpLGRlbGV0ZSBhW2RdO2ZvcihjIGluIGYpYyBpbiBhfHwoYVtjXT1mW2NdLGJbY109ZSl9ZWxzZSBiW2RdPWV9ZnVuY3Rpb24ga2IoYSxiLGMpe3ZhciBkLGUsZj0wLGc9ZGIubGVuZ3RoLGg9bS5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9JGF8fGZiKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm0uZXh0ZW5kKHt9LGIpLG9wdHM6bS5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e319LGMpLG9yaWdpbmFsUHJvcGVydGllczpiLG9yaWdpbmFsT3B0aW9uczpjLHN0YXJ0VGltZTokYXx8ZmIoKSxkdXJhdGlvbjpjLmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihiLGMpe3ZhciBkPW0uVHdlZW4oYSxqLm9wdHMsYixjLGoub3B0cy5zcGVjaWFsRWFzaW5nW2JdfHxqLm9wdHMuZWFzaW5nKTtyZXR1cm4gai50d2VlbnMucHVzaChkKSxkfSxzdG9wOmZ1bmN0aW9uKGIpe3ZhciBjPTAsZD1iP2oudHdlZW5zLmxlbmd0aDowO2lmKGUpcmV0dXJuIHRoaXM7Zm9yKGU9ITA7ZD5jO2MrKylqLnR3ZWVuc1tjXS5ydW4oMSk7cmV0dXJuIGI/aC5yZXNvbHZlV2l0aChhLFtqLGJdKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKGpiKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1kYltmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIGQ7cmV0dXJuIG0ubWFwKGssaGIsaiksbS5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbS5meC50aW1lcihtLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1tLkFuaW1hdGlvbj1tLmV4dGVuZChrYix7dHdlZW5lcjpmdW5jdGlvbihhLGIpe20uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5zcGxpdCgiICIpO2Zvcih2YXIgYyxkPTAsZT1hLmxlbmd0aDtlPmQ7ZCsrKWM9YVtkXSxlYltjXT1lYltjXXx8W10sZWJbY10udW5zaGlmdChiKX0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9kYi51bnNoaWZ0KGEpOmRiLnB1c2goYSl9fSksbS5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP20uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bS5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFtLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW0uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBtLmZ4LnNwZWVkcz9tLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTptLmZ4LnNwZWVkcy5fZGVmYXVsdCwobnVsbD09ZC5xdWV1ZXx8ZC5xdWV1ZT09PSEwKSYmKGQucXVldWU9ImZ4IiksZC5vbGQ9ZC5jb21wbGV0ZSxkLmNvbXBsZXRlPWZ1bmN0aW9uKCl7bS5pc0Z1bmN0aW9uKGQub2xkKSYmZC5vbGQuY2FsbCh0aGlzKSxkLnF1ZXVlJiZtLmRlcXVldWUodGhpcyxkLnF1ZXVlKX0sZH0sbS5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoVSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTpifSxhLGMsZCl9LGFuaW1hdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bS5pc0VtcHR5T2JqZWN0KGEpLGY9bS5zcGVlZChiLGMsZCksZz1mdW5jdGlvbigpe3ZhciBiPWtiKHRoaXMsbS5leHRlbmQoe30sYSksZik7KGV8fG0uX2RhdGEodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1tLnRpbWVycyxnPW0uX2RhdGEodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmY2IudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTsoYnx8IWMpJiZtLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1tLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1tLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbS5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxtLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bS5mbltiXTttLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoZ2IoYiwhMCksYSxkLGUpfX0pLG0uZWFjaCh7c2xpZGVEb3duOmdiKCJzaG93Iiksc2xpZGVVcDpnYigiaGlkZSIpLHNsaWRlVG9nZ2xlOmdiKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bS5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxtLnRpbWVycz1bXSxtLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW0udGltZXJzLGM9MDtmb3IoJGE9bS5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxtLmZ4LnN0b3AoKSwkYT12b2lkIDB9LG0uZngudGltZXI9ZnVuY3Rpb24oYSl7bS50aW1lcnMucHVzaChhKSxhKCk/bS5meC5zdGFydCgpOm0udGltZXJzLnBvcCgpfSxtLmZ4LmludGVydmFsPTEzLG0uZnguc3RhcnQ9ZnVuY3Rpb24oKXtfYXx8KF9hPXNldEludGVydmFsKG0uZngudGljayxtLmZ4LmludGVydmFsKSl9LG0uZnguc3RvcD1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoX2EpLF9hPW51bGx9LG0uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG0uZm4uZGVsYXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1tLmZ4P20uZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwiZngiLHRoaXMucXVldWUoYixmdW5jdGlvbihiLGMpe3ZhciBkPXNldFRpbWVvdXQoYixhKTtjLnN0b3A9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZCl9fSl9LGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZTtiPXkuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxiLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixkPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxjPXkuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksZT1jLmFwcGVuZENoaWxkKHkuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLGE9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKVswXSxkLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGsuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWIuY2xhc3NOYW1lLGsuc3R5bGU9L3RvcC8udGVzdChkLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksay5ocmVmTm9ybWFsaXplZD0iL2EiPT09ZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSxrLmNoZWNrT249ISFhLnZhbHVlLGsub3B0U2VsZWN0ZWQ9ZS5zZWxlY3RlZCxrLmVuY3R5cGU9ISF5LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGMuZGlzYWJsZWQ9ITAsay5vcHREaXNhYmxlZD0hZS5kaXNhYmxlZCxhPXkuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxrLmlucHV0PSIiPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYS52YWx1ZT0idCIsYS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGsucmFkaW9WYWx1ZT0idCI9PT1hLnZhbHVlfSgpO3ZhciBsYj0vXHIvZzttLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bS5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG0odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjptLmlzQXJyYXkoZSkmJihlPW0ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW0udmFsSG9va3NbdGhpcy50eXBlXXx8bS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW0udmFsSG9va3NbZS50eXBlXXx8bS52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UobGIsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG0uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bS5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm0udHJpbShtLnRleHQoYSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZD1hLm9wdGlvbnMsZT1hLnNlbGVjdGVkSW5kZXgsZj0ic2VsZWN0LW9uZSI9PT1hLnR5cGV8fDA+ZSxnPWY/bnVsbDpbXSxoPWY/ZSsxOmQubGVuZ3RoLGk9MD5lP2g6Zj9lOjA7aD5pO2krKylpZihjPWRbaV0sISghYy5zZWxlY3RlZCYmaSE9PWV8fChrLm9wdERpc2FibGVkP2MuZGlzYWJsZWQ6bnVsbCE9PWMuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKXx8Yy5wYXJlbnROb2RlLmRpc2FibGVkJiZtLm5vZGVOYW1lKGMucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGI9bShjKS52YWwoKSxmKXJldHVybiBiO2cucHVzaChiKX1yZXR1cm4gZ30sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPWEub3B0aW9ucyxmPW0ubWFrZUFycmF5KGIpLGc9ZS5sZW5ndGg7d2hpbGUoZy0tKWlmKGQ9ZVtnXSxtLmluQXJyYXkobS52YWxIb29rcy5vcHRpb24uZ2V0KGQpLGYpPj0wKXRyeXtkLnNlbGVjdGVkPWM9ITB9Y2F0Y2goaCl7ZC5zY3JvbGxIZWlnaHR9ZWxzZSBkLnNlbGVjdGVkPSExO3JldHVybiBjfHwoYS5zZWxlY3RlZEluZGV4PS0xKSxlfX19fSksbS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLGZ1bmN0aW9uKCl7bS52YWxIb29rc1t0aGlzXT17c2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uaXNBcnJheShiKT9hLmNoZWNrZWQ9bS5pbkFycmF5KG0oYSkudmFsKCksYik+PTA6dm9pZCAwfX0say5jaGVja09ufHwobS52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PT1hLmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOmEudmFsdWV9KX0pO3ZhciBtYixuYixvYj1tLmV4cHIuYXR0ckhhbmRsZSxwYj0vXig/OmNoZWNrZWR8c2VsZWN0ZWQpJC9pLHFiPWsuZ2V0U2V0QXR0cmlidXRlLHJiPWsuaW5wdXQ7bS5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bS5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxtLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoYSYmMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gdHlwZW9mIGEuZ2V0QXR0cmlidXRlPT09Sz9tLnByb3AoYSxiLGMpOigxPT09ZiYmbS5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGQ9bS5hdHRySG9va3NbYl18fChtLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP25iOm1iKSksdm9pZCAwPT09Yz9kJiYiZ2V0ImluIGQmJm51bGwhPT0oZT1kLmdldChhLGIpKT9lOihlPW0uZmluZC5hdHRyKGEsYiksbnVsbD09ZT92b2lkIDA6ZSk6bnVsbCE9PWM/ZCYmInNldCJpbiBkJiZ2b2lkIDAhPT0oZT1kLnNldChhLGMsYikpP2U6KGEuc2V0QXR0cmlidXRlKGIsYysiIiksYyk6dm9pZCBtLnJlbW92ZUF0dHIoYSxiKSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRSk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1tLnByb3BGaXhbY118fGMsbS5leHByLm1hdGNoLmJvb2wudGVzdChjKT9yYiYmcWJ8fCFwYi50ZXN0KGMpP2FbZF09ITE6YVttLmNhbWVsQ2FzZSgiZGVmYXVsdC0iK2MpXT1hW2RdPSExOm0uYXR0cihhLGMsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHFiP2M6ZCl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWsucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm0ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19fSksbmI9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT0hMT9tLnJlbW92ZUF0dHIoYSxjKTpyYiYmcWJ8fCFwYi50ZXN0KGMpP2Euc2V0QXR0cmlidXRlKCFxYiYmbS5wcm9wRml4W2NdfHxjLGMpOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtjXT0hMCxjfX0sbS5lYWNoKG0uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9b2JbYl18fG0uZmluZC5hdHRyO29iW2JdPXJiJiZxYnx8IXBiLnRlc3QoYik/ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGY7cmV0dXJuIGR8fChmPW9iW2JdLG9iW2JdPWUsZT1udWxsIT1jKGEsYixkKT9iLnRvTG93ZXJDYXNlKCk6bnVsbCxvYltiXT1mKSxlfTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmFbbS5jYW1lbENhc2UoImRlZmF1bHQtIitiKV0/Yi50b0xvd2VyQ2FzZSgpOm51bGx9fSkscmImJnFifHwobS5hdHRySG9va3MudmFsdWU9e3NldDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIG0ubm9kZU5hbWUoYSwiaW5wdXQiKT92b2lkKGEuZGVmYXVsdFZhbHVlPWIpOm1iJiZtYi5zZXQoYSxiLGMpfX0pLHFifHwobWI9e3NldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGMpO3JldHVybiBkfHxhLnNldEF0dHJpYnV0ZU5vZGUoZD1hLm93bmVyRG9jdW1lbnQuY3JlYXRlQXR0cmlidXRlKGMpKSxkLnZhbHVlPWIrPSIiLCJ2YWx1ZSI9PT1jfHxiPT09YS5nZXRBdHRyaWJ1dGUoYyk/Yjp2b2lkIDB9fSxvYi5pZD1vYi5uYW1lPW9iLmNvb3Jkcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJiIiIT09ZC52YWx1ZT9kLnZhbHVlOm51bGx9LG0udmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmdldEF0dHJpYnV0ZU5vZGUoYik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP2MudmFsdWU6dm9pZCAwfSxzZXQ6bWIuc2V0fSxtLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e3NldDpmdW5jdGlvbihhLGIsYyl7bWIuc2V0KGEsIiI9PT1iPyExOmIsYyl9fSxtLmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7bS5hdHRySG9va3NbYl09e3NldDpmdW5jdGlvbihhLGMpe3JldHVybiIiPT09Yz8oYS5zZXRBdHRyaWJ1dGUoYiwiYXV0byIpLGMpOnZvaWQgMH19fSkpLGsuc3R5bGV8fChtLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLnN0eWxlLmNzc1RleHR8fHZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3R5bGUuY3NzVGV4dD1iKyIifX0pO3ZhciBzYj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvaSx0Yj0vXig/OmF8YXJlYSkkL2k7bS5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVih0aGlzLG0ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gYT1tLnByb3BGaXhbYV18fGEsdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbYV09dm9pZCAwLGRlbGV0ZSB0aGlzW2FdfWNhdGNoKGIpe319KX19KSxtLmV4dGVuZCh7cHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9LHByb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnPWEubm9kZVR5cGU7aWYoYSYmMyE9PWcmJjghPT1nJiYyIT09ZylyZXR1cm4gZj0xIT09Z3x8IW0uaXNYTUxEb2MoYSksZiYmKGI9bS5wcm9wRml4W2JdfHxiLGU9bS5wcm9wSG9va3NbYl0pLHZvaWQgMCE9PWM/ZSYmInNldCJpbiBlJiZ2b2lkIDAhPT0oZD1lLnNldChhLGMsYikpP2Q6YVtiXT1jOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6YVtiXX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW0uZmluZC5hdHRyKGEsInRhYmluZGV4Iik7cmV0dXJuIGI/cGFyc2VJbnQoYiwxMCk6c2IudGVzdChhLm5vZGVOYW1lKXx8dGIudGVzdChhLm5vZGVOYW1lKSYmYS5ocmVmPzA6LTF9fX19KSxrLmhyZWZOb3JtYWxpemVkfHxtLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXttLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxrLm9wdFNlbGVjdGVkfHwobS5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSxtLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLCJjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250ZW50RWRpdGFibGUiXSxmdW5jdGlvbigpe20ucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxrLmVuY3R5cGV8fChtLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKTt2YXIgdWI9L1tcdFxyXG5cZl0vZzttLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9InN0cmluZyI9PXR5cGVvZiBhJiZhO2lmKG0uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20odGhpcykuYWRkQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNsYXNzTmFtZSkpfSk7aWYoailmb3IoYj0oYXx8IiIpLm1hdGNoKEUpfHxbXTtpPmg7aCsrKWlmKGM9dGhpc1toXSxkPTE9PT1jLm5vZGVUeXBlJiYoYy5jbGFzc05hbWU/KCIgIitjLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKToiICIpKXtmPTA7d2hpbGUoZT1iW2YrK10pZC5pbmRleE9mKCIgIitlKyIgIik8MCYmKGQrPWUrIiAiKTtnPW0udHJpbShkKSxjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9MCxpPXRoaXMubGVuZ3RoLGo9MD09PWFyZ3VtZW50cy5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgYSYmYTtpZihtLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXttKHRoaXMpLnJlbW92ZUNsYXNzKGEuY2FsbCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGopZm9yKGI9KGF8fCIiKS5tYXRjaChFKXx8W107aT5oO2grKylpZihjPXRoaXNbaF0sZD0xPT09Yy5ub2RlVHlwZSYmKGMuY2xhc3NOYW1lPygiICIrYy5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKHViLCIgIik6IiIpKXtmPTA7d2hpbGUoZT1iW2YrK10pd2hpbGUoZC5pbmRleE9mKCIgIitlKyIgIik+PTApZD1kLnJlcGxhY2UoIiAiK2UrIiAiLCIgIik7Zz1hP20udHJpbShkKToiIixjLmNsYXNzTmFtZSE9PWcmJihjLmNsYXNzTmFtZT1nKX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6dGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihjKXttKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsdGhpcy5jbGFzc05hbWUsYiksYil9OmZ1bmN0aW9uKCl7aWYoInN0cmluZyI9PT1jKXt2YXIgYixkPTAsZT1tKHRoaXMpLGY9YS5tYXRjaChFKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZShjPT09S3x8ImJvb2xlYW4iPT09YykmJih0aGlzLmNsYXNzTmFtZSYmbS5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIix0aGlzLmNsYXNzTmFtZSksdGhpcy5jbGFzc05hbWU9dGhpcy5jbGFzc05hbWV8fGE9PT0hMT8iIjptLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7ZD5jO2MrKylpZigxPT09dGhpc1tjXS5ub2RlVHlwZSYmKCIgIit0aGlzW2NdLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UodWIsIiAiKS5pbmRleE9mKGIpPj0wKXJldHVybiEwO3JldHVybiExfX0pLG0uZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IGxvYWQgcmVzaXplIHNjcm9sbCB1bmxvYWQgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBlcnJvciBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50cmlnZ2VyKGIpfX0pLG0uZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoYSkubW91c2VsZWF2ZShifHxhKX0sYmluZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub24oYSxudWxsLGIsYyl9LHVuYmluZDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9mZihhLG51bGwsYil9LGRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLm9uKGIsYSxjLGQpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoYSwiKioiKTp0aGlzLm9mZihiLGF8fCIqKiIsYyl9fSk7dmFyIHZiPW0ubm93KCksd2I9L1w/Lyx4Yj0vKCwpfChcW3x7KXwofXxdKXwiKD86W14iXFxcclxuXXxcXFsiXFxcL2JmbnJ0XXxcXHVbXGRhLWZBLUZdezR9KSoiXHMqOj98dHJ1ZXxmYWxzZXxudWxsfC0/KD8hMFxkKVxkKyg/OlwuXGQrfCkoPzpbZUVdWystXT9cZCt8KS9nO20ucGFyc2VKU09OPWZ1bmN0aW9uKGIpe2lmKGEuSlNPTiYmYS5KU09OLnBhcnNlKXJldHVybiBhLkpTT04ucGFyc2UoYisiIik7dmFyIGMsZD1udWxsLGU9bS50cmltKGIrIiIpO3JldHVybiBlJiYhbS50cmltKGUucmVwbGFjZSh4YixmdW5jdGlvbihhLGIsZSxmKXtyZXR1cm4gYyYmYiYmKGQ9MCksMD09PWQ/YTooYz1lfHxiLGQrPSFmLSFlLCIiKX0pKT9GdW5jdGlvbigicmV0dXJuICIrZSkoKTptLmVycm9yKCJJbnZhbGlkIEpTT046ICIrYil9LG0ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGMsZDtpZighYnx8InN0cmluZyIhPXR5cGVvZiBiKXJldHVybiBudWxsO3RyeXthLkRPTVBhcnNlcj8oZD1uZXcgRE9NUGFyc2VyLGM9ZC5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKSk6KGM9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bS5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIHliLHpiLEFiPS8jLiokLyxCYj0vKFs/Jl0pXz1bXiZdKi8sQ2I9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxEYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxFYj0vXig/OkdFVHxIRUFEKSQvLEZiPS9eXC9cLy8sR2I9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sSGI9e30sSWI9e30sSmI9IiovIi5jb25jYXQoIioiKTt0cnl7emI9bG9jYXRpb24uaHJlZn1jYXRjaChLYil7emI9eS5jcmVhdGVFbGVtZW50KCJhIiksemIuaHJlZj0iIix6Yj16Yi5ocmVmfXliPUdiLmV4ZWMoemIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIExiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbXTtpZihtLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gTWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09SWI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxtLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBOYihhLGIpe3ZhciBjLGQsZT1tLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZtLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gT2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gUGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1tLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6emIsdHlwZToiR0VUIixpc0xvY2FsOkRiLnRlc3QoeWJbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SmIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L3htbC8saHRtbDovaHRtbC8sanNvbjovanNvbi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjptLnBhcnNlSlNPTiwidGV4dCB4bWwiOm0ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP05iKE5iKGEsbS5hamF4U2V0dGluZ3MpLGIpOk5iKG0uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOkxiKEhiKSxhamF4VHJhbnNwb3J0OkxiKEliKSxhamF4OmZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxiPWJ8fHt9O3ZhciBjLGQsZSxmLGcsaCxpLGosaz1tLmFqYXhTZXR1cCh7fSxiKSxsPWsuY29udGV4dHx8ayxuPWsuY29udGV4dCYmKGwubm9kZVR5cGV8fGwuanF1ZXJ5KT9tKGwpOm0uZXZlbnQsbz1tLkRlZmVycmVkKCkscD1tLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxxPWsuc3RhdHVzQ29kZXx8e30scj17fSxzPXt9LHQ9MCx1PSJjYW5jZWxlZCIsdj17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT10KXtpZighail7aj17fTt3aGlsZShiPUNiLmV4ZWMoZikpaltiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1qW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXQ/ZjpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB0fHwoYT1zW2NdPXNbY118fGEsclthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB0fHwoay5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj50KWZvcihiIGluIGEpcVtiXT1bcVtiXSxhW2JdXTtlbHNlIHYuYWx3YXlzKGFbdi5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dTtyZXR1cm4gaSYmaS5hYm9ydChiKSx4KDAsYiksdGhpc319O2lmKG8ucHJvbWlzZSh2KS5jb21wbGV0ZT1wLmFkZCx2LnN1Y2Nlc3M9di5kb25lLHYuZXJyb3I9di5mYWlsLGsudXJsPSgoYXx8ay51cmx8fHpiKSsiIikucmVwbGFjZShBYiwiIikucmVwbGFjZShGYix5YlsxXSsiLy8iKSxrLnR5cGU9Yi5tZXRob2R8fGIudHlwZXx8ay5tZXRob2R8fGsudHlwZSxrLmRhdGFUeXBlcz1tLnRyaW0oay5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm1hdGNoKEUpfHxbIiJdLG51bGw9PWsuY3Jvc3NEb21haW4mJihjPUdiLmV4ZWMoay51cmwudG9Mb3dlckNhc2UoKSksay5jcm9zc0RvbWFpbj0hKCFjfHxjWzFdPT09eWJbMV0mJmNbMl09PT15YlsyXSYmKGNbM118fCgiaHR0cDoiPT09Y1sxXT8iODAiOiI0NDMiKSk9PT0oeWJbM118fCgiaHR0cDoiPT09eWJbMV0/IjgwIjoiNDQzIikpKSksay5kYXRhJiZrLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGsuZGF0YSYmKGsuZGF0YT1tLnBhcmFtKGsuZGF0YSxrLnRyYWRpdGlvbmFsKSksTWIoSGIsayxiLHYpLDI9PT10KXJldHVybiB2O2g9bS5ldmVudCYmay5nbG9iYWwsaCYmMD09PW0uYWN0aXZlKysmJm0uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0Iiksay50eXBlPWsudHlwZS50b1VwcGVyQ2FzZSgpLGsuaGFzQ29udGVudD0hRWIudGVzdChrLnR5cGUpLGU9ay51cmwsay5oYXNDb250ZW50fHwoay5kYXRhJiYoZT1rLnVybCs9KHdiLnRlc3QoZSk/IiYiOiI/Iikray5kYXRhLGRlbGV0ZSBrLmRhdGEpLGsuY2FjaGU9PT0hMSYmKGsudXJsPUJiLnRlc3QoZSk/ZS5yZXBsYWNlKEJiLCIkMV89Iit2YisrKTplKyh3Yi50ZXN0KGUpPyImIjoiPyIpKyJfPSIrdmIrKykpLGsuaWZNb2RpZmllZCYmKG0ubGFzdE1vZGlmaWVkW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixtLmxhc3RNb2RpZmllZFtlXSksbS5ldGFnW2VdJiZ2LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG0uZXRhZ1tlXSkpLChrLmRhdGEmJmsuaGFzQ29udGVudCYmay5jb250ZW50VHlwZSE9PSExfHxiLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGsuY29udGVudFR5cGUpLHYuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixrLmRhdGFUeXBlc1swXSYmay5hY2NlcHRzW2suZGF0YVR5cGVzWzBdXT9rLmFjY2VwdHNbay5kYXRhVHlwZXNbMF1dKygiKiIhPT1rLmRhdGFUeXBlc1swXT8iLCAiK0piKyI7IHE9MC4wMSI6IiIpOmsuYWNjZXB0c1siKiJdKTtmb3IoZCBpbiBrLmhlYWRlcnMpdi5zZXRSZXF1ZXN0SGVhZGVyKGQsay5oZWFkZXJzW2RdKTtpZihrLmJlZm9yZVNlbmQmJihrLmJlZm9yZVNlbmQuY2FsbChsLHYsayk9PT0hMXx8Mj09PXQpKXJldHVybiB2LmFib3J0KCk7dT0iYWJvcnQiO2ZvcihkIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXZbZF0oa1tkXSk7aWYoaT1NYihJYixrLGIsdikpe3YucmVhZHlTdGF0ZT0xLGgmJm4udHJpZ2dlcigiYWpheFNlbmQiLFt2LGtdKSxrLmFzeW5jJiZrLnRpbWVvdXQ+MCYmKGc9c2V0VGltZW91dChmdW5jdGlvbigpe3YuYWJvcnQoInRpbWVvdXQiKX0say50aW1lb3V0KSk7dHJ5e3Q9MSxpLnNlbmQocix4KX1jYXRjaCh3KXtpZighKDI+dCkpdGhyb3cgdzt4KC0xLHcpfX1lbHNlIHgoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHgoYSxiLGMsZCl7dmFyIGoscixzLHUsdyx4PWI7MiE9PXQmJih0PTIsZyYmY2xlYXJUaW1lb3V0KGcpLGk9dm9pZCAwLGY9ZHx8IiIsdi5yZWFkeVN0YXRlPWE+MD80OjAsaj1hPj0yMDAmJjMwMD5hfHwzMDQ9PT1hLGMmJih1PU9iKGssdixjKSksdT1QYihrLHUsdixqKSxqPyhrLmlmTW9kaWZpZWQmJih3PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxhc3QtTW9kaWZpZWQiKSx3JiYobS5sYXN0TW9kaWZpZWRbZV09dyksdz12LmdldFJlc3BvbnNlSGVhZGVyKCJldGFnIiksdyYmKG0uZXRhZ1tlXT13KSksMjA0PT09YXx8IkhFQUQiPT09ay50eXBlP3g9Im5vY29udGVudCI6MzA0PT09YT94PSJub3Rtb2RpZmllZCI6KHg9dS5zdGF0ZSxyPXUuZGF0YSxzPXUuZXJyb3Isaj0hcykpOihzPXgsKGF8fCF4KSYmKHg9ImVycm9yIiwwPmEmJihhPTApKSksdi5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9KGJ8fHgpKyIiLGo/by5yZXNvbHZlV2l0aChsLFtyLHgsdl0pOm8ucmVqZWN0V2l0aChsLFt2LHgsc10pLHYuc3RhdHVzQ29kZShxKSxxPXZvaWQgMCxoJiZuLnRyaWdnZXIoaj8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt2LGssaj9yOnNdKSxwLmZpcmVXaXRoKGwsW3YseF0pLGgmJihuLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3Ysa10pLC0tbS5hY3RpdmV8fG0uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB2fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbS5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG0uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG0uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe21bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG0uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG0uYWpheCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0pfX0pLG0uX2V2YWxVcmw9ZnVuY3Rpb24oYSl7cmV0dXJuIG0uYWpheCh7dXJsOmEsdHlwZToiR0VUIixkYXRhVHlwZToic2NyaXB0Iixhc3luYzohMSxnbG9iYWw6ITEsInRocm93cyI6ITB9KX0sbS5mbi5leHRlbmQoe3dyYXBBbGw6ZnVuY3Rpb24oYSl7aWYobS5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bSh0aGlzKS53cmFwQWxsKGEuY2FsbCh0aGlzLGIpKX0pO2lmKHRoaXNbMF0pe3ZhciBiPW0oYSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKTt0aGlzWzBdLnBhcmVudE5vZGUmJmIuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLGIubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt3aGlsZShhLmZpcnN0Q2hpbGQmJjE9PT1hLmZpcnN0Q2hpbGQubm9kZVR5cGUpYT1hLmZpcnN0Q2hpbGQ7cmV0dXJuIGF9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKG0uaXNGdW5jdGlvbihhKT9mdW5jdGlvbihiKXttKHRoaXMpLndyYXBJbm5lcihhLmNhbGwodGhpcyxiKSl9OmZ1bmN0aW9uKCl7dmFyIGI9bSh0aGlzKSxjPWIuY29udGVudHMoKTtjLmxlbmd0aD9jLndyYXBBbGwoYSk6Yi5hcHBlbmQoYSl9KX0sd3JhcDpmdW5jdGlvbihhKXt2YXIgYj1tLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihjKXttKHRoaXMpLndyYXBBbGwoYj9hLmNhbGwodGhpcyxjKTphKX0pfSx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQoKS5lYWNoKGZ1bmN0aW9uKCl7bS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fG0odGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLG0uZXhwci5maWx0ZXJzLmhpZGRlbj1mdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXRXaWR0aDw9MCYmYS5vZmZzZXRIZWlnaHQ8PTB8fCFrLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpJiYibm9uZSI9PT0oYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxtLmNzcyhhLCJkaXNwbGF5IikpfSxtLmV4cHIuZmlsdGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFtLmV4cHIuZmlsdGVycy5oaWRkZW4oYSl9O3ZhciBRYj0vJTIwL2csUmI9L1xbXF0kLyxTYj0vXHI/XG4vZyxUYj0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksVWI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIFZiKGEsYixjLGQpe3ZhciBlO2lmKG0uaXNBcnJheShiKSltLmVhY2goYixmdW5jdGlvbihiLGUpe2N8fFJiLnRlc3QoYSk/ZChhLGUpOlZiKGErIlsiKygib2JqZWN0Ij09dHlwZW9mIGU/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoY3x8Im9iamVjdCIhPT1tLnR5cGUoYikpZChhLGIpO2Vsc2UgZm9yKGUgaW4gYilWYihhKyJbIitlKyJdIixiW2VdLGMsZCl9bS5wYXJhbT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1mdW5jdGlvbihhLGIpe2I9bS5pc0Z1bmN0aW9uKGIpP2IoKTpudWxsPT1iPyIiOmIsZFtkLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGEpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYil9O2lmKHZvaWQgMD09PWImJihiPW0uYWpheFNldHRpbmdzJiZtLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCksbS5pc0FycmF5KGEpfHxhLmpxdWVyeSYmIW0uaXNQbGFpbk9iamVjdChhKSltLmVhY2goYSxmdW5jdGlvbigpe2UodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IoYyBpbiBhKVZiKGMsYVtjXSxiLGUpO3JldHVybiBkLmpvaW4oIiYiKS5yZXBsYWNlKFFiLCIrIil9LG0uZm4uZXh0ZW5kKHtzZXJpYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gbS5wYXJhbSh0aGlzLnNlcmlhbGl6ZUFycmF5KCkpfSxzZXJpYWxpemVBcnJheTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPW0ucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiBhP20ubWFrZUFycmF5KGEpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgYT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIW0odGhpcykuaXMoIjpkaXNhYmxlZCIpJiZVYi50ZXN0KHRoaXMubm9kZU5hbWUpJiYhVGIudGVzdChhKSYmKHRoaXMuY2hlY2tlZHx8IVcudGVzdChhKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1tKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1jP251bGw6bS5pc0FycmF5KGMpP20ubWFwKGMsZnVuY3Rpb24oYSl7cmV0dXJue25hbWU6Yi5uYW1lLHZhbHVlOmEucmVwbGFjZShTYiwiXHJcbiIpfX0pOntuYW1lOmIubmFtZSx2YWx1ZTpjLnJlcGxhY2UoU2IsIlxyXG4iKX19KS5nZXQoKX19KSxtLmFqYXhTZXR0aW5ncy54aHI9dm9pZCAwIT09YS5BY3RpdmVYT2JqZWN0P2Z1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaXNMb2NhbCYmL14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmWmIoKXx8JGIoKX06WmI7dmFyIFdiPTAsWGI9e30sWWI9bS5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIFhiKVhiW2FdKHZvaWQgMCwhMCl9KSxrLmNvcnM9ISFZYiYmIndpdGhDcmVkZW50aWFscyJpbiBZYixZYj1rLmFqYXg9ISFZYixZYiYmbS5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGEpe2lmKCFhLmNyb3NzRG9tYWlufHxrLmNvcnMpe3ZhciBiO3JldHVybntzZW5kOmZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hLnhocigpLGc9KytXYjtpZihmLm9wZW4oYS50eXBlLGEudXJsLGEuYXN5bmMsYS51c2VybmFtZSxhLnBhc3N3b3JkKSxhLnhockZpZWxkcylmb3IoZSBpbiBhLnhockZpZWxkcylmW2VdPWEueGhyRmllbGRzW2VdO2EubWltZVR5cGUmJmYub3ZlcnJpZGVNaW1lVHlwZSYmZi5vdmVycmlkZU1pbWVUeXBlKGEubWltZVR5cGUpLGEuY3Jvc3NEb21haW58fGNbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGNbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZSBpbiBjKXZvaWQgMCE9PWNbZV0mJmYuc2V0UmVxdWVzdEhlYWRlcihlLGNbZV0rIiIpO2Yuc2VuZChhLmhhc0NvbnRlbnQmJmEuZGF0YXx8bnVsbCksYj1mdW5jdGlvbihjLGUpe3ZhciBoLGksajtpZihiJiYoZXx8ND09PWYucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIFhiW2ddLGI9dm9pZCAwLGYub25yZWFkeXN0YXRlY2hhbmdlPW0ubm9vcCxlKTQhPT1mLnJlYWR5U3RhdGUmJmYuYWJvcnQoKTtlbHNle2o9e30saD1mLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGYucmVzcG9uc2VUZXh0JiYoai50ZXh0PWYucmVzcG9uc2VUZXh0KTt0cnl7aT1mLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1ofHwhYS5pc0xvY2FsfHxhLmNyb3NzRG9tYWluPzEyMjM9PT1oJiYoaD0yMDQpOmg9ai50ZXh0PzIwMDo0MDR9aiYmZChoLGksaixmLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYS5hc3luYz80PT09Zi5yZWFkeVN0YXRlP3NldFRpbWVvdXQoYik6Zi5vbnJlYWR5c3RhdGVjaGFuZ2U9WGJbZ109YjpiKCl9LGFib3J0OmZ1bmN0aW9uKCl7YiYmYih2b2lkIDAsITApfX19fSk7ZnVuY3Rpb24gWmIoKXt0cnl7cmV0dXJuIG5ldyBhLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGIpe319ZnVuY3Rpb24gJGIoKXt0cnl7cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9Y2F0Y2goYil7fX1tLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6Lyg/OmphdmF8ZWNtYSlzY3JpcHQvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBtLmdsb2JhbEV2YWwoYSksYX19fSksbS5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG0uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPXkuaGVhZHx8bSgiaGVhZCIpWzBdfHx5LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihkLGUpe2I9eS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxlKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgX2I9W10sYWM9Lyg9KVw/KD89JnwkKXxcP1w/LzttLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9X2IucG9wKCl8fG0uZXhwYW5kbysiXyIrdmIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG0uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGFjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYhKGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmYWMudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW0uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGFjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPSh3Yi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bS5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXthW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssX2IucHVzaChlKSksZyYmbS5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbS5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fHk7dmFyIGQ9dS5leGVjKGEpLGU9IWMmJltdO3JldHVybiBkP1tiLmNyZWF0ZUVsZW1lbnQoZFsxXSldOihkPW0uYnVpbGRGcmFnbWVudChbYV0sYixlKSxlJiZlLmxlbmd0aCYmbShlKS5yZW1vdmUoKSxtLm1lcmdlKFtdLGQuY2hpbGROb2RlcykpfTt2YXIgYmM9bS5mbi5sb2FkO20uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZiYylyZXR1cm4gYmMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD49MCYmKGQ9bS50cmltKGEuc2xpY2UoaCxhLmxlbmd0aCkpLGE9YS5zbGljZSgwLGgpKSxtLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZj0iUE9TVCIpLGcubGVuZ3RoPjAmJm0uYWpheCh7dXJsOmEsdHlwZTpmLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2U9YXJndW1lbnRzLGcuaHRtbChkP20oIjxkaXY+IikuYXBwZW5kKG0ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuY29tcGxldGUoYyYmZnVuY3Rpb24oYSxiKXtnLmVhY2goYyxlfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KSx0aGlzfSxtLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihhLGIpe20uZm5bYl09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub24oYixhKX19KSxtLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihhKXtyZXR1cm4gbS5ncmVwKG0udGltZXJzLGZ1bmN0aW9uKGIpe3JldHVybiBhPT09Yi5lbGVtfSkubGVuZ3RofTt2YXIgY2M9YS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7ZnVuY3Rpb24gZGMoYSl7cmV0dXJuIG0uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1tLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW0uY3NzKGEsInBvc2l0aW9uIiksbD1tKGEpLG49e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1tLmNzcyhhLCJ0b3AiKSxpPW0uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZtLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbS5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLGgpKSxudWxsIT1iLnRvcCYmKG4udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG4ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG4pOmwuY3NzKG4pfX0sbS5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe20ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9e3RvcDowLGxlZnQ6MH0sZT10aGlzWzBdLGY9ZSYmZS5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbS5jb250YWlucyhiLGUpPyh0eXBlb2YgZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QhPT1LJiYoZD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxjPWRjKGYpLHt0b3A6ZC50b3ArKGMucGFnZVlPZmZzZXR8fGIuc2Nyb2xsVG9wKS0oYi5jbGllbnRUb3B8fDApLGxlZnQ6ZC5sZWZ0KyhjLnBhZ2VYT2Zmc2V0fHxiLnNjcm9sbExlZnQpLShiLmNsaWVudExlZnR8fDApfSk6ZH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgYSxiLGM9e3RvcDowLGxlZnQ6MH0sZD10aGlzWzBdO3JldHVybiJmaXhlZCI9PT1tLmNzcyhkLCJwb3NpdGlvbiIpP2I9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTooYT10aGlzLm9mZnNldFBhcmVudCgpLGI9dGhpcy5vZmZzZXQoKSxtLm5vZGVOYW1lKGFbMF0sImh0bWwiKXx8KGM9YS5vZmZzZXQoKSksYy50b3ArPW0uY3NzKGFbMF0sImJvcmRlclRvcFdpZHRoIiwhMCksYy5sZWZ0Kz1tLmNzcyhhWzBdLCJib3JkZXJMZWZ0V2lkdGgiLCEwKSkse3RvcDpiLnRvcC1jLnRvcC1tLmNzcyhkLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmIubGVmdC1jLmxlZnQtbS5jc3MoZCwibWFyZ2luTGVmdCIsITApfX19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjYzt3aGlsZShhJiYhbS5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bS5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxjY30pfX0pLG0uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO20uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFYodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9ZGMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bShmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bShmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbS5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bS5jc3NIb29rc1tiXT1MYShrLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1KYShhLGIpLEhhLnRlc3QoYyk/bShhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxtLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe20uZWFjaCh7cGFkZGluZzoiaW5uZXIiK2EsY29udGVudDpiLCIiOiJvdXRlciIrYX0sZnVuY3Rpb24oYyxkKXttLmZuW2RdPWZ1bmN0aW9uKGQsZSl7dmFyIGY9YXJndW1lbnRzLmxlbmd0aCYmKGN8fCJib29sZWFuIiE9dHlwZW9mIGQpLGc9Y3x8KGQ9PT0hMHx8ZT09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gVih0aGlzLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZTtyZXR1cm4gbS5pc1dpbmRvdyhiKT9iLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFsiY2xpZW50IithXTo5PT09Yi5ub2RlVHlwZT8oZT1iLmRvY3VtZW50RWxlbWVudCxNYXRoLm1heChiLmJvZHlbInNjcm9sbCIrYV0sZVsic2Nyb2xsIithXSxiLmJvZHlbIm9mZnNldCIrYV0sZVsib2Zmc2V0IithXSxlWyJjbGllbnQiK2FdKSk6dm9pZCAwPT09ZD9tLmNzcyhiLGMsZyk6bS5zdHlsZShiLGMsZCxnKX0sYixmP2Q6dm9pZCAwLGYsbnVsbCl9fSl9KSxtLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG0uZm4uYW5kU2VsZj1tLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KTt2YXIgZWM9YS5qUXVlcnksZmM9YS4kO3JldHVybiBtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW0mJihhLiQ9ZmMpLGImJmEualF1ZXJ5PT09bSYmKGEualF1ZXJ5PWVjKSxtfSx0eXBlb2YgYj09PUsmJihhLmpRdWVyeT1hLiQ9bSksbX0pOwo="}},"time_used":1075,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":897,"receive":178,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/71414.e345ed752d3a20d19467.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.272Z","timestamp":1785136429272,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/71414.e345ed752d3a20d19467.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-e5\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 7ed81d4016563dfb4d11b4360aa369e0\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":229,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"dba3b8b6e522981747aa88dbb55e965d","sha1":"5a76446063310fe075cf2a937154a1aea73f1679","sha256":"83032ab92bfa437e6220899f5aec9d57a35bc5811fbb395c19f27e069db50c01","sha512":"6bf4cbdf37126f5115df62c04af8d2348ad30107f48d0156b0c25c4327f7632d11d42e318171954fbec505ddba87a7b228597ec6d2229e5633ff36d5f4a5aba9","ssdeep":"","tlshash":"bed0a75af604b031786fa136d38da4df7504b94b5400ae779650c5c94051ad2b3d9b58","first_seen":"2026-07-17T03:30:51.226443Z","last_seen":"2026-08-11T04:43:23.188043Z","times_seen":275,"resource_available":false,"data":"LnRpdGxlLW5ma0dtN05He2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1zZWNvbmRhcnktdGV4dCkpO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi40cHg7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46NnB4IDA7cGFkZGluZzowIDEycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget.coinlib.io/widget?type=converter\u0026theme=light","fqdn":"widget.coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.277Z","timestamp":1785136427277,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=converter\u0026theme=light HTTP/1.1\r\nHost: widget.coinlib.io\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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\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/3 301 \r\ncontent-type: text/html; charset=UTF-8\r\nserver-timing: cfEdge;dur=1,cfOrigin;dur=0, cfExtPri\r\nlocation: https://coinlib.io/widget?type=converter\u0026theme=light\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zf5GQnSLj8A47xIJuNvRfQRh2enSkv6cJCWfvxpQks3cSd3M3YnHq9px71sIqsoNYECg%2B0gJYRSQILXjXM2%2FmnUeXOki8ZIo9Ot7LX%2BgsUrqiVBs9Tv7%2B6nfhvU%2F5xtDVQ6ebA%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a219d7ee9e838deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"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":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":null}},"time_used":15,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/footer.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.377Z","timestamp":1785136427377,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/images/footer.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.236Z","timestamp":1785136429236,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/30699.1386dfaa78e6e5f6c87c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-67c0\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6afb587c5e14dc7ad3b5220dab0e56cd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":26560,"size_decoded":11050,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"4a29e78f7139204a8e4159e22b4457d8","sha1":"c9a58310328ae1ad0d2e0fcca742938bc1a98b9b","sha256":"6f44e98c09d8a5d97d1a874f53c5b793b1a574f733d209dad573911990ed412c","sha512":"6e07063f10462d08f62ed60257251c3083cbcf72fb69a4621dab4b090fe83d73e91ba23664e96011a1171b08aa2cd94984dbb7095b4d752d2da0f749f195715f","ssdeep":"384:DuiNnqiEZQep9G6Q+4DygstN2KZZL3Rj41wA1ggfJYXQWbyvItjIVnZKbVtO:DjheJQ+4DwN2YYpiXXuejQyo","tlshash":"3ec286c9b6d1f0a552a36561803f214bf13a3a65349ed090d722e5e0bcb95ae8137f3e","first_seen":"2026-07-23T14:00:31.735168Z","last_seen":"2026-08-11T04:43:23.132915Z","times_seen":271,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMzA2OTldLHsxMzA2OTkodCxlLHIpe3IuZChlLHtjb25maWd1cmVTdG9yZTooKT0+QSxjcmVhdGVBY3Rpb246KCk9Pl8sY3JlYXRlQXN5bmNUaHVuazooKT0+VCxjcmVhdGVEcmFmdFNhZmVTZWxlY3RvcjooKT0+dyxjcmVhdGVTbGljZTooKT0+eCxpc0FueU9mOigpPT5xLGlzRnVsZmlsbGVkOigpPT5VLGlzUGVuZGluZzooKT0+Syxpc1JlamVjdGVkOigpPT5MfSk7dmFyIG49cigzMjcyMzkpLG89cigzNjQzNTApLGk9cig3ODc3MjQpO2lmKCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIHU9cig5NTM3NDkpO3ZhciBmLGE9KGY9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSl9LGYodCxlKX0sZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhlKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWYodCxlKSx0LnByb3RvdHlwZT1udWxsPT09ZT9PYmplY3QuY3JlYXRlKGUpOihyLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgcil9KSxjPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbixvLGksdT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpmKDApLHRocm93OmYoMSkscmV0dXJuOmYoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gZihpKXtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7dTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiB1LmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OnUubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9dS5vcHMucG9wKCksdS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPXUudHJ5cywobz1vLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKXx8NiE9PWlbMF0mJjIhPT1pWzBdKSl7dT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7dS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZ1LmxhYmVsPG9bMV0pe3UubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmdS5sYWJlbDxvWzJdKXt1LmxhYmVsPW9bMl0sdS5vcHMucHVzaChpKTticmVha31vWzJdJiZ1Lm9wcy5wb3AoKSx1LnRyeXMucG9wKCk7Y29udGludWV9aT1lLmNhbGwodCx1KX1jYXRjaCh0KXtpPVs2LHRdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxmXSl9fX0sbD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGgsbz10Lmxlbmd0aDtyPG47cisrLG8rKyl0W29dPWVbcl07cmV0dXJuIHR9LHM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMsZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyx2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMseT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGg9T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxiPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSBpbiB0P3ModCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpyfSk6dFtlXT1yfSxnPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGV8fChlPXt9KSl5LmNhbGwoZSxyKSYmYih0LHIsZVtyXSk7aWYodilmb3IodmFyIG49MCxvPXYoZSk7bjxvLmxlbmd0aDtuKyspe3I9b1tuXTtoLmNhbGwoZSxyKSYmYih0LHIsZVtyXSl9cmV0dXJuIHR9LG09ZnVuY3Rpb24odCxlKXtyZXR1cm4gcCh0LGQoZSkpfSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciByPW8uY3JlYXRlU2VsZWN0b3IuYXBwbHkodm9pZCAwLHQpO3JldHVybiBmdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbz0xO288YXJndW1lbnRzLmxlbmd0aDtvKyspZVtvLTFdPWFyZ3VtZW50c1tvXTtyZXR1cm4gci5hcHBseSh2b2lkIDAsbChbKDAsbi5pc0RyYWZ0KSh0KT8oMCxuLmN1cnJlbnQpKHQpOnRdLGUpKX19LE89InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9DT01QT1NFX18/d2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX0NPTVBPU0VfXzpmdW5jdGlvbigpe2lmKDAhPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiJvYmplY3QiPT10eXBlb2YgYXJndW1lbnRzWzBdP2kuY29tcG9zZTppLmNvbXBvc2UuYXBwbHkobnVsbCxhcmd1bWVudHMpfTsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Ll9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18mJndpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fO2Z1bmN0aW9uIGoodCl7CmlmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9dmFyIFA9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbz10LmFwcGx5KHRoaXMscil8fHRoaXM7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihvLGUucHJvdG90eXBlKSxvfXJldHVybiBhKGUsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiBlfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gdC5wcm90b3R5cGUuY29uY2F0LmFwcGx5KHRoaXMsZSl9LGUucHJvdG90eXBlLnByZXBlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10scj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyXT1hcmd1bWVudHNbcl07cmV0dXJuIDE9PT10Lmxlbmd0aCYmQXJyYXkuaXNBcnJheSh0WzBdKT9uZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0WzBdLmNvbmNhdCh0aGlzKSkpKTpuZXcoZS5iaW5kLmFwcGx5KGUsbChbdm9pZCAwXSx0LmNvbmNhdCh0aGlzKSkpKX0sZX0oQXJyYXkpO2Z1bmN0aW9uIEUoKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LnRodW5rLHI9dm9pZCAwPT09ZXx8ZSxuPSh0LmltbXV0YWJsZUNoZWNrLHQuc2VyaWFsaXphYmxlQ2hlY2ssbmV3IFApO3ImJigiYm9vbGVhbiI9PXR5cGVvZiByP24ucHVzaCh1LmRlZmF1bHQpOm4ucHVzaCh1LmRlZmF1bHQud2l0aEV4dHJhQXJndW1lbnQoci5leHRyYUFyZ3VtZW50KSkpOzA7cmV0dXJuIG59KHQpfX12YXIgUz0hL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopfHxudWxsO2Z1bmN0aW9uIEEodCl7dmFyIGUscj1FKCksbj10fHx7fSxvPW4ucmVkdWNlcix1PXZvaWQgMD09PW8/dm9pZCAwOm8sZj1uLm1pZGRsZXdhcmUsYT12b2lkIDA9PT1mP3IoKTpmLGM9bi5kZXZUb29scyxzPXZvaWQgMD09PWN8fGMscD1uLnByZWxvYWRlZFN0YXRlLGQ9dm9pZCAwPT09cD92b2lkIDA6cCx2PW4uZW5oYW5jZXJzLHk9dm9pZCAwPT09dj92b2lkIDA6djtpZigiZnVuY3Rpb24iPT10eXBlb2YgdSllPXU7ZWxzZXtpZighaih1KSl0aHJvdyBuZXcgRXJyb3IoJyJyZWR1Y2VyIiBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50LCBhbmQgbXVzdCBiZSBhIGZ1bmN0aW9uIG9yIGFuIG9iamVjdCBvZiBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGNvbWJpbmVSZWR1Y2VycycpO2U9KDAsaS5jb21iaW5lUmVkdWNlcnMpKHUpfXZhciBoPWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWgociksIVMmJiFBcnJheS5pc0FycmF5KGgpKSl0aHJvdyBuZXcgRXJyb3IoIndoZW4gdXNpbmcgYSBtaWRkbGV3YXJlIGJ1aWxkZXIgZnVuY3Rpb24sIGFuIGFycmF5IG9mIG1pZGRsZXdhcmUgbXVzdCBiZSByZXR1cm5lZCIpO2lmKCFTJiZoLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0fSkpKXRocm93IG5ldyBFcnJvcigiZWFjaCBtaWRkbGV3YXJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZVN0b3JlIG11c3QgYmUgYSBmdW5jdGlvbiIpO3ZhciBiPWkuYXBwbHlNaWRkbGV3YXJlLmFwcGx5KHZvaWQgMCxoKSxtPWkuY29tcG9zZTtzJiYobT1PKGcoe3RyYWNlOiFTfSwib2JqZWN0Ij09dHlwZW9mIHMmJnMpKSk7dmFyIHc9W2JdO0FycmF5LmlzQXJyYXkoeSk/dz1sKFtiXSx5KToiZnVuY3Rpb24iPT10eXBlb2YgeSYmKHc9eSh3KSk7dmFyIFA9bS5hcHBseSh2b2lkIDAsdyk7cmV0dXJuKDAsaS5jcmVhdGVTdG9yZSkoZSxkLFApfWZ1bmN0aW9uIF8odCxlKXtmdW5jdGlvbiByKCl7Zm9yKHZhciByPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXJbbl09YXJndW1lbnRzW25dO2lmKGUpe3ZhciBvPWUuYXBwbHkodm9pZCAwLHIpO2lmKCFvKXRocm93IG5ldyBFcnJvcigicHJlcGFyZUFjdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QiKTtyZXR1cm4gZyhnKHt0eXBlOnQscGF5bG9hZDpvLnBheWxvYWR9LCJtZXRhImluIG8mJnttZXRhOm8ubWV0YX0pLCJlcnJvciJpbiBvJiZ7ZXJyb3I6by5lcnJvcn0pfXJldHVybnt0eXBlOnQscGF5bG9hZDpyWzBdfX1yZXR1cm4gci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3R9LHIudHlwZT10LHIubWF0Y2g9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHlwZT09PXR9LHJ9ZnVuY3Rpb24gRCh0KXt2YXIgZSxyPXt9LG49W10sbz17YWRkQ2FzZTpmdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD90OnQudHlwZTtpZihuIGluIHIpdGhyb3cgbmV3IEVycm9yKCJhZGRDYXNlIGNhbm5vdCBiZSBjYWxsZWQgd2l0aCB0d28gcmVkdWNlcnMgZm9yIHRoZSBzYW1lIGFjdGlvbiB0eXBlIik7cmV0dXJuIHJbbl09ZSxvfSxhZGRNYXRjaGVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4ucHVzaCh7bWF0Y2hlcjp0LHJlZHVjZXI6ZX0pLG99LGFkZERlZmF1bHRDYXNlOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsb319O3JldHVybiB0KG8pLFtyLG4sZV19ZnVuY3Rpb24geCh0KXt2YXIgZT10Lm5hbWUscj10LmluaXRpYWxTdGF0ZTtpZighZSl0aHJvdyBuZXcgRXJyb3IoImBuYW1lYCBpcyBhIHJlcXVpcmVkIG9wdGlvbiBmb3IgY3JlYXRlU2xpY2UiKQo7dmFyIG89dC5yZWR1Y2Vyc3x8e30saT0iZnVuY3Rpb24iPT10eXBlb2YgdC5leHRyYVJlZHVjZXJzP0QodC5leHRyYVJlZHVjZXJzKTpbdC5leHRyYVJlZHVjZXJzXSx1PWlbMF0sZj12b2lkIDA9PT11P3t9OnUsYT1pWzFdLGM9dm9pZCAwPT09YT9bXTphLHM9aVsyXSxwPXZvaWQgMD09PXM/dm9pZCAwOnMsZD1PYmplY3Qua2V5cyhvKSx2PXt9LHk9e30saD17fTtkLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByLG4saT1vW3RdLHU9ZSsiLyIrdDsicmVkdWNlciJpbiBpPyhyPWkucmVkdWNlcixuPWkucHJlcGFyZSk6cj1pLHZbdF09cix5W3VdPXIsaFt0XT1uP18odSxuKTpfKHUpfSkpO3ZhciBiPWZ1bmN0aW9uKHQsZSxyLG8pe3ZvaWQgMD09PXImJihyPVtdKTt2YXIgaT0iZnVuY3Rpb24iPT10eXBlb2YgZT9EKGUpOltlLHIsb10sdT1pWzBdLGY9aVsxXSxhPWlbMl0sYz0oMCxuLmRlZmF1bHQpKHQsKGZ1bmN0aW9uKCl7fSkpO3JldHVybiBmdW5jdGlvbih0LGUpe3ZvaWQgMD09PXQmJih0PWMpO3ZhciByPWwoW3VbZS50eXBlXV0sZi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybigwLHQubWF0Y2hlcikoZSl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2VyfSkpKTtyZXR1cm4gMD09PXIuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hIXR9KSkubGVuZ3RoJiYocj1bYV0pLHIucmVkdWNlKChmdW5jdGlvbih0LHIpe2lmKHIpe3ZhciBvO2lmKCgwLG4uaXNEcmFmdCkodCkpcmV0dXJuIHZvaWQgMD09PShvPXIodCxlKSk/dDpvO2lmKCgwLG4uaXNEcmFmdGFibGUpKHQpKXJldHVybigwLG4uZGVmYXVsdCkodCwoZnVuY3Rpb24odCl7cmV0dXJuIHIodCxlKX0pKTtpZih2b2lkIDA9PT0obz1yKHQsZSkpKXtpZihudWxsPT09dClyZXR1cm4gdDt0aHJvdyBFcnJvcigiQSBjYXNlIHJlZHVjZXIgb24gYSBub24tZHJhZnRhYmxlIHZhbHVlIG11c3Qgbm90IHJldHVybiB1bmRlZmluZWQiKX1yZXR1cm4gb31yZXR1cm4gdH0pLHQpfX0ocixnKGcoe30sZikseSksYyxwKTtyZXR1cm57bmFtZTplLHJlZHVjZXI6YixhY3Rpb25zOmgsY2FzZVJlZHVjZXJzOnZ9fXZhciBrPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PTIxKTtmb3IodmFyIGU9IiIscj10O3ItLTspZSs9Ik1vZHVsZVN5bWJoYXNPd25Qci0wMTIzNDU2Nzg5QUJDREVGR0hOUlZmZ2N0aVV2el9LcVlUSmtMeHBaWElqUVciWzY0Kk1hdGgucmFuZG9tKCl8MF07cmV0dXJuIGV9LEk9L14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopP251bGw6WyJuYW1lIiwibWVzc2FnZSIsInN0YWNrIiwiY29kZSJdLFI9ZnVuY3Rpb24odCxlKXt0aGlzLnBheWxvYWQ9dCx0aGlzLm1ldGE9ZX0sTj1mdW5jdGlvbih0LGUpe3RoaXMucGF5bG9hZD10LHRoaXMubWV0YT1lfSxDPWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe2Zvcih2YXIgZT17fSxyPTAsbj1JO3I8bi5sZW5ndGg7cisrKXt2YXIgbz1uW3JdOyJzdHJpbmciPT10eXBlb2YgdFtvXSYmKGVbb109dFtvXSl9cmV0dXJuIGV9cmV0dXJue21lc3NhZ2U6U3RyaW5nKHQpfX07ZnVuY3Rpb24gVCh0LGUscil7dmFyIG49Xyh0KyIvZnVsZmlsbGVkIiwoZnVuY3Rpb24odCxlLHIsbil7cmV0dXJue3BheWxvYWQ6dCxtZXRhOm0oZyh7fSxufHx7fSkse2FyZzpyLHJlcXVlc3RJZDplLHJlcXVlc3RTdGF0dXM6ImZ1bGZpbGxlZCJ9KX19KSksbz1fKHQrIi9wZW5kaW5nIiwoZnVuY3Rpb24odCxlLHIpe3JldHVybntwYXlsb2FkOnZvaWQgMCxtZXRhOm0oZyh7fSxyfHx7fSkse2FyZzplLHJlcXVlc3RJZDp0LHJlcXVlc3RTdGF0dXM6InBlbmRpbmcifSl9fSkpLGk9Xyh0KyIvcmVqZWN0ZWQiLChmdW5jdGlvbih0LGUsbixvLGkpe3JldHVybntwYXlsb2FkOm8sZXJyb3I6KHImJnIuc2VyaWFsaXplRXJyb3J8fEMpKHR8fCJSZWplY3RlZCIpLG1ldGE6bShnKHt9LGl8fHt9KSx7YXJnOm4scmVxdWVzdElkOmUscmVqZWN0ZWRXaXRoVmFsdWU6ISFvLHJlcXVlc3RTdGF0dXM6InJlamVjdGVkIixhYm9ydGVkOiJBYm9ydEVycm9yIj09PShudWxsPT10P3ZvaWQgMDp0Lm5hbWUpLGNvbmRpdGlvbjoiQ29uZGl0aW9uRXJyb3IiPT09KG51bGw9PXQ/dm9pZCAwOnQubmFtZSl9KX19KSksdT0idW5kZWZpbmVkIiE9dHlwZW9mIEFib3J0Q29udHJvbGxlcj9BYm9ydENvbnRyb2xsZXI6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbigpe30sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbigpe3JldHVybiExfSxvbmFib3J0OmZ1bmN0aW9uKCl7fSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKCl7fX19cmV0dXJuIHQucHJvdG90eXBlLmFib3J0PWZ1bmN0aW9uKCl7MH0sdH0oKTtyZXR1cm4gT2JqZWN0LmFzc2lnbigoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGYsYSxsKXt2YXIgcyxwLGQ9KG51bGwhPShzPW51bGw9PXI/dm9pZCAwOnIuaWRHZW5lcmF0b3IpP3M6aykoKSx2PW5ldyB1LHk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZSh7bmFtZToiQWJvcnRFcnJvciIsbWVzc2FnZTpwfHwiQWJvcnRlZCJ9KX0pKX0pKSxoPSExO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuIHU9dGhpcyxzPW51bGwscD1mdW5jdGlvbigpe3ZhciB1LHMscDtyZXR1cm4gYyh0aGlzLChmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOmlmKGMudHJ5cy5wdXNoKFswLDIsLDNdKSxyJiZyLmNvbmRpdGlvbiYmITE9PT1yLmNvbmRpdGlvbih0LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSl0aHJvd3tuYW1lOiJDb25kaXRpb25FcnJvciIsbWVzc2FnZToiQWJvcnRlZCBkdWUgdG8gY29uZGl0aW9uIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZS4ifTtyZXR1cm4gaD0hMCxmKG8oZCx0LG51bGw9PSh1PW51bGw9PXI/dm9pZCAwOnIuZ2V0UGVuZGluZ01ldGEpP3ZvaWQgMDp1LmNhbGwocix7cmVxdWVzdElkOmQsYXJnOnR9LHtnZXRTdGF0ZTphLGV4dHJhOmx9KSkpLApbNCxQcm9taXNlLnJhY2UoW3ksUHJvbWlzZS5yZXNvbHZlKGUodCx7ZGlzcGF0Y2g6ZixnZXRTdGF0ZTphLGV4dHJhOmwscmVxdWVzdElkOmQsc2lnbmFsOnYuc2lnbmFsLHJlamVjdFdpdGhWYWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgUih0LGUpfSxmdWxmaWxsV2l0aFZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBOKHQsZSl9fSkpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUgaW5zdGFuY2VvZiBSKXRocm93IGU7cmV0dXJuIGUgaW5zdGFuY2VvZiBOP24oZS5wYXlsb2FkLGQsdCxlLm1ldGEpOm4oZSxkLHQpfSkpXSldO2Nhc2UgMTpyZXR1cm4gcz1jLnNlbnQoKSxbMywzXTtjYXNlIDI6cmV0dXJuIHA9Yy5zZW50KCkscz1wIGluc3RhbmNlb2YgUj9pKG51bGwsZCx0LHAucGF5bG9hZCxwLm1ldGEpOmkocCxkLHQpLFszLDNdO2Nhc2UgMzpyZXR1cm4gciYmIXIuZGlzcGF0Y2hDb25kaXRpb25SZWplY3Rpb24mJmkubWF0Y2gocykmJnMubWV0YS5jb25kaXRpb258fGYocyksWzIsc119fSkpfSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0KXt0cnl7byhwLm5leHQodCkpfWNhdGNoKHQpe2UodCl9fSxuPWZ1bmN0aW9uKHQpe3RyeXtvKHAudGhyb3codCkpfWNhdGNoKHQpe2UodCl9fSxvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/dChlLnZhbHVlKTpQcm9taXNlLnJlc29sdmUoZS52YWx1ZSkudGhlbihyLG4pfTtvKChwPXAuYXBwbHkodSxzKSkubmV4dCgpKX0pKTt2YXIgdSxzLHB9KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oYix7YWJvcnQ6ZnVuY3Rpb24odCl7aCYmKHA9dCx2LmFib3J0KCkpfSxyZXF1ZXN0SWQ6ZCxhcmc6dCx1bndyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gYi50aGVuKE0pfX0pfX0pLHtwZW5kaW5nOm8scmVqZWN0ZWQ6aSxmdWxmaWxsZWQ6bix0eXBlUHJlZml4OnR9KX1mdW5jdGlvbiBNKHQpe2lmKHQubWV0YSYmdC5tZXRhLnJlamVjdGVkV2l0aFZhbHVlKXRocm93IHQucGF5bG9hZDtpZih0LmVycm9yKXRocm93IHQuZXJyb3I7cmV0dXJuIHQucGF5bG9hZH12YXIgRj1mdW5jdGlvbih0LGUpe3JldHVybihyPXQpJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5tYXRjaD90Lm1hdGNoKGUpOnQoZSk7dmFyIHJ9O2Z1bmN0aW9uIHEoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBGKHQsZSl9KSl9fWZ1bmN0aW9uICQodCxlKXtpZighdHx8IXQubWV0YSlyZXR1cm4hMTt2YXIgcj0ic3RyaW5nIj09dHlwZW9mIHQubWV0YS5yZXF1ZXN0SWQsbj1lLmluZGV4T2YodC5tZXRhLnJlcXVlc3RTdGF0dXMpPi0xO3JldHVybiByJiZufWZ1bmN0aW9uIFcodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRbMF0mJiJwZW5kaW5nImluIHRbMF0mJiJmdWxmaWxsZWQiaW4gdFswXSYmInJlamVjdGVkImluIHRbMF19ZnVuY3Rpb24gSygpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXQubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiAkKHQsWyJwZW5kaW5nIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wZW5kaW5nfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06SygpKHRbMF0pfWZ1bmN0aW9uIEwoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsicmVqZWN0ZWQiXSl9OlcodCk/ZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlamVjdGVkfSkpO3JldHVybiBxLmFwcGx5KHZvaWQgMCxyKShlKX06TCgpKHRbMF0pfWZ1bmN0aW9uIFUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIDA9PT10Lmxlbmd0aD9mdW5jdGlvbih0KXtyZXR1cm4gJCh0LFsiZnVsZmlsbGVkIl0pfTpXKHQpP2Z1bmN0aW9uKGUpe3ZhciByPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5mdWxmaWxsZWR9KSk7cmV0dXJuIHEuYXBwbHkodm9pZCAwLHIpKGUpfTpVKCkodFswXSl9KDAsbi5lbmFibGVFUzUpKCl9LDMyNzIzOSh0LGUscil7ZnVuY3Rpb24gbih0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KGU+MT9lLTE6MCksbj0xO248ZTtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTt0aHJvdyBFcnJvcigiW0ltbWVyXSBtaW5pZmllZCBlcnJvciBucjogIit0KyhyLmxlbmd0aD8iICIrci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiInIit0KyInIn0pKS5qb2luKCIsIik6IiIpKyIuIEZpbmQgdGhlIGZ1bGwgZXJyb3IgYXQ6IGh0dHBzOi8vYml0Lmx5LzNjWEVLV2YiKX1mdW5jdGlvbiBvKHQpe3JldHVybiEhdCYmISF0W0ddfWZ1bmN0aW9uIGkodCl7cmV0dXJuISF0JiYoZnVuY3Rpb24odCl7aWYoIXR8fCJvYmplY3QiIT10eXBlb2YgdClyZXR1cm4hMTt2YXIgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIHI9T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4gcj09PU9iamVjdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHImJkZ1bmN0aW9uLnRvU3RyaW5nLmNhbGwocik9PT1KfSh0KXx8QXJyYXkuaXNBcnJheSh0KXx8ISF0W0JdfHwhIXQuY29uc3RydWN0b3JbQl18fGQodCl8fHYodCkpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIG8odCl8fG4oMjMsdCksdFtHXS50fWZ1bmN0aW9uIGYodCxlLHIpe3ZvaWQgMD09PXImJihyPSExKSwwPT09YSh0KT8ocj9PYmplY3Qua2V5czpIKSh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtyJiYic3ltYm9sIj09dHlwZW9mIG58fGUobix0W25dLHQpfSkpOnQuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtyZXR1cm4gZShuLHIsdCl9KSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT10W0ddCjtyZXR1cm4gZT9lLmk+Mz9lLmktNDplLmk6QXJyYXkuaXNBcnJheSh0KT8xOmQodCk/Mjp2KHQpPzM6MH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIDI9PT1hKHQpP3QuaGFzKGUpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gMj09PWEodCk/dC5nZXQoZSk6dFtlXX1mdW5jdGlvbiBzKHQsZSxyKXt2YXIgbj1hKHQpOzI9PT1uP3Quc2V0KGUscik6Mz09PW4/KHQuZGVsZXRlKGUpLHQuYWRkKHIpKTp0W2VdPXJ9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiB0PT09ZT8wIT09dHx8MS90PT0xL2U6dCE9dCYmZSE9ZX1mdW5jdGlvbiBkKHQpe3JldHVybiBVJiZ0IGluc3RhbmNlb2YgTWFwfWZ1bmN0aW9uIHYodCl7cmV0dXJuIHomJnQgaW5zdGFuY2VvZiBTZXR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5vfHx0LnR9ZnVuY3Rpb24gaCh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTt2YXIgZT1RKHQpO2RlbGV0ZSBlW0ddO2Zvcih2YXIgcj1IKGUpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIG89cltuXSxpPWVbb107ITE9PT1pLndyaXRhYmxlJiYoaS53cml0YWJsZT0hMCxpLmNvbmZpZ3VyYWJsZT0hMCksKGkuZ2V0fHxpLnNldCkmJihlW29dPXtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTppLmVudW1lcmFibGUsdmFsdWU6dFtvXX0pfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSxlKX1mdW5jdGlvbiBiKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSxtKHQpfHxvKHQpfHwhaSh0KXx8KGEodCk+MSYmKHQuc2V0PXQuYWRkPXQuY2xlYXI9dC5kZWxldGU9ZyksT2JqZWN0LmZyZWV6ZSh0KSxlJiZmKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIoZSwhMCl9KSwhMCkpLHR9ZnVuY3Rpb24gZygpe24oMil9ZnVuY3Rpb24gbSh0KXtyZXR1cm4gbnVsbD09dHx8Im9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl9ZnVuY3Rpb24gdyh0KXt2YXIgZT1ZW3RdO3JldHVybiBlfHxuKDE4LHQpLGV9ZnVuY3Rpb24gTyh0LGUpe1lbdF18fChZW3RdPWUpfWZ1bmN0aW9uIGooKXtyZXR1cm4gS31mdW5jdGlvbiBQKHQsZSl7ZSYmKHcoIlBhdGNoZXMiKSx0LnU9W10sdC5zPVtdLHQudj1lKX1mdW5jdGlvbiBFKHQpe1ModCksdC5wLmZvckVhY2goXyksdC5wPW51bGx9ZnVuY3Rpb24gUyh0KXt0PT09SyYmKEs9dC5sKX1mdW5jdGlvbiBBKHQpe3JldHVybiBLPXtwOltdLGw6SyxoOnQsbTohMCxfOjB9fWZ1bmN0aW9uIF8odCl7dmFyIGU9dFtHXTswPT09ZS5pfHwxPT09ZS5pP2UuaigpOmUuTz0hMH1mdW5jdGlvbiBEKHQsZSl7ZS5fPWUucC5sZW5ndGg7dmFyIHI9ZS5wWzBdLG89dm9pZCAwIT09dCYmdCE9PXI7cmV0dXJuIGUuaC5nfHx3KCJFUzUiKS5TKGUsdCxvKSxvPyhyW0ddLlAmJihFKGUpLG4oNCkpLGkodCkmJih0PXgoZSx0KSxlLmx8fEkoZSx0KSksZS51JiZ3KCJQYXRjaGVzIikuTShyW0ddLHQsZS51LGUucykpOnQ9eChlLHIsW10pLEUoZSksZS51JiZlLnYoZS51LGUucyksdCE9PVY/dDp2b2lkIDB9ZnVuY3Rpb24geCh0LGUscil7aWYobShlKSlyZXR1cm4gZTt2YXIgbj1lW0ddO2lmKCFuKXJldHVybiBmKGUsKGZ1bmN0aW9uKG8saSl7cmV0dXJuIGsodCxuLGUsbyxpLHIpfSksITApLGU7aWYobi5BIT09dClyZXR1cm4gZTtpZighbi5QKXJldHVybiBJKHQsbi50LCEwKSxuLnQ7aWYoIW4uSSl7bi5JPSEwLG4uQS5fLS07dmFyIG89ND09PW4uaXx8NT09PW4uaT9uLm89aChuLmspOm4ubztmKDM9PT1uLmk/bmV3IFNldChvKTpvLChmdW5jdGlvbihlLGkpe3JldHVybiBrKHQsbixvLGUsaSxyKX0pKSxJKHQsbywhMSksciYmdC51JiZ3KCJQYXRjaGVzIikuUihuLHIsdC51LHQucyl9cmV0dXJuIG4ub31mdW5jdGlvbiBrKHQsZSxyLG4sdSxmKXtpZihvKHUpKXt2YXIgYT14KHQsdSxmJiZlJiYzIT09ZS5pJiYhYyhlLkQsbik/Zi5jb25jYXQobik6dm9pZCAwKTtpZihzKHIsbixhKSwhbyhhKSlyZXR1cm47dC5tPSExfWlmKGkodSkmJiFtKHUpKXtpZighdC5oLkYmJnQuXzwxKXJldHVybjt4KHQsdSksZSYmZS5BLmx8fEkodCx1KX19ZnVuY3Rpb24gSSh0LGUscil7dm9pZCAwPT09ciYmKHI9ITEpLHQuaC5GJiZ0Lm0mJmIoZSxyKX1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9dFtHXTtyZXR1cm4ocj95KHIpOnQpW2VdfWZ1bmN0aW9uIE4odCxlKXtpZihlIGluIHQpZm9yKHZhciByPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyOyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO2lmKG4pcmV0dXJuIG47cj1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocil9fWZ1bmN0aW9uIEModCl7dC5QfHwodC5QPSEwLHQubCYmQyh0LmwpKX1mdW5jdGlvbiBUKHQpe3Qub3x8KHQubz1oKHQudCkpfWZ1bmN0aW9uIE0odCxlLHIpe3ZhciBuPWQoZSk/dygiTWFwU2V0IikuTihlLHIpOnYoZSk/dygiTWFwU2V0IikuVChlLHIpOnQuZz9mdW5jdGlvbih0LGUpe3ZhciByPUFycmF5LmlzQXJyYXkodCksbj17aTpyPzE6MCxBOmU/ZS5BOmooKSxQOiExLEk6ITEsRDp7fSxsOmUsdCxrOm51bGwsbzpudWxsLGo6bnVsbCxDOiExfSxvPW4saT1aO3ImJihvPVtuXSxpPXR0KTt2YXIgdT1Qcm94eS5yZXZvY2FibGUobyxpKSxmPXUucmV2b2tlLGE9dS5wcm94eTtyZXR1cm4gbi5rPWEsbi5qPWYsYX0oZSxyKTp3KCJFUzUiKS5KKGUscik7cmV0dXJuKHI/ci5BOmooKSkucC5wdXNoKG4pLG59ZnVuY3Rpb24gRih0KXtyZXR1cm4gbyh0KXx8bigyMix0KSxmdW5jdGlvbiB0KGUpe2lmKCFpKGUpKXJldHVybiBlO3ZhciByLG49ZVtHXSxvPWEoZSk7aWYobil7aWYoIW4uUCYmKG4uaTw0fHwhdygiRVM1IikuSyhuKSkpcmV0dXJuIG4udDtuLkk9ITAscj1xKGUsbyksbi5JPSExfWVsc2Ugcj1xKGUsbyk7cmV0dXJuIGYociwoZnVuY3Rpb24oZSxvKXtuJiZsKG4udCxlKT09PW98fHMocixlLHQobykpfSkpLDM9PT1vP25ldyBTZXQocik6cn0odCl9ZnVuY3Rpb24gcSh0LGUpe3N3aXRjaChlKXtjYXNlIDI6CnJldHVybiBuZXcgTWFwKHQpO2Nhc2UgMzpyZXR1cm4gQXJyYXkuZnJvbSh0KX1yZXR1cm4gaCh0KX1mdW5jdGlvbiAkKCl7ZnVuY3Rpb24gdCh0LGUpe3ZhciByPWlbdF07cmV0dXJuIHI/ci5lbnVtZXJhYmxlPWU6aVt0XT1yPXtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTplLGdldDpmdW5jdGlvbigpe3ZhciBlPXRoaXNbR107cmV0dXJuIFouZ2V0KGUsdCl9LHNldDpmdW5jdGlvbihlKXt2YXIgcj10aGlzW0ddO1ouc2V0KHIsdCxlKX19LHJ9ZnVuY3Rpb24gZSh0KXtmb3IodmFyIGU9dC5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIG89dFtlXVtHXTtpZighby5QKXN3aXRjaChvLmkpe2Nhc2UgNTpuKG8pJiZDKG8pO2JyZWFrO2Nhc2UgNDpyKG8pJiZDKG8pfX19ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dC50LHI9dC5rLG49SChyKSxvPW4ubGVuZ3RoLTE7bz49MDtvLS0pe3ZhciBpPW5bb107aWYoaSE9PUcpe3ZhciB1PWVbaV07aWYodm9pZCAwPT09dSYmIWMoZSxpKSlyZXR1cm4hMDt2YXIgZj1yW2ldLGE9ZiYmZltHXTtpZihhP2EudCE9PXU6IXAoZix1KSlyZXR1cm4hMH19dmFyIGw9ISFlW0ddO3JldHVybiBuLmxlbmd0aCE9PUgoZSkubGVuZ3RoKyhsPzA6MSl9ZnVuY3Rpb24gbih0KXt2YXIgZT10Lms7aWYoZS5sZW5ndGghPT10LnQubGVuZ3RoKXJldHVybiEwO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxlLmxlbmd0aC0xKTtyZXR1cm4hKCFyfHxyLmdldCl9dmFyIGk9e307TygiRVM1Iix7SjpmdW5jdGlvbihlLHIpe3ZhciBuPUFycmF5LmlzQXJyYXkoZSksbz1mdW5jdGlvbihlLHIpe2lmKGUpe2Zvcih2YXIgbj1BcnJheShyLmxlbmd0aCksbz0wO288ci5sZW5ndGg7bysrKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCIiK28sdChvLCEwKSk7cmV0dXJuIG59dmFyIGk9UShyKTtkZWxldGUgaVtHXTtmb3IodmFyIHU9SChpKSxmPTA7Zjx1Lmxlbmd0aDtmKyspe3ZhciBhPXVbZl07aVthXT10KGEsZXx8ISFpW2FdLmVudW1lcmFibGUpfXJldHVybiBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihyKSxpKX0obixlKSxpPXtpOm4/NTo0LEE6cj9yLkE6aigpLFA6ITEsSTohMSxEOnt9LGw6cix0OmUsazpvLG86bnVsbCxPOiExLEM6ITF9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobyxHLHt2YWx1ZTppLHdyaXRhYmxlOiEwfSksb30sUzpmdW5jdGlvbih0LHIsaSl7aT9vKHIpJiZyW0ddLkE9PT10JiZlKHQucCk6KHQudSYmZnVuY3Rpb24gdChlKXtpZihlJiYib2JqZWN0Ij09dHlwZW9mIGUpe3ZhciByPWVbR107aWYocil7dmFyIG89ci50LGk9ci5rLHU9ci5ELGE9ci5pO2lmKDQ9PT1hKWYoaSwoZnVuY3Rpb24oZSl7ZSE9PUcmJih2b2lkIDAhPT1vW2VdfHxjKG8sZSk/dVtlXXx8dChpW2VdKToodVtlXT0hMCxDKHIpKSl9KSksZihvLChmdW5jdGlvbih0KXt2b2lkIDAhPT1pW3RdfHxjKGksdCl8fCh1W3RdPSExLEMocikpfSkpO2Vsc2UgaWYoNT09PWEpe2lmKG4ocikmJihDKHIpLHUubGVuZ3RoPSEwKSxpLmxlbmd0aDxvLmxlbmd0aClmb3IodmFyIGw9aS5sZW5ndGg7bDxvLmxlbmd0aDtsKyspdVtsXT0hMTtlbHNlIGZvcih2YXIgcz1vLmxlbmd0aDtzPGkubGVuZ3RoO3MrKyl1W3NdPSEwO2Zvcih2YXIgcD1NYXRoLm1pbihpLmxlbmd0aCxvLmxlbmd0aCksZD0wO2Q8cDtkKyspdm9pZCAwPT09dVtkXSYmdChpW2RdKX19fX0odC5wWzBdKSxlKHQucCkpfSxLOmZ1bmN0aW9uKHQpe3JldHVybiA0PT09dC5pP3IodCk6bih0KX19KX1yLmQoZSx7Y3VycmVudDooKT0+RixkZWZhdWx0OigpPT5vdCxlbmFibGVFUzU6KCk9PiQsaXNEcmFmdDooKT0+byxpc0RyYWZ0YWJsZTooKT0+aSxvcmlnaW5hbDooKT0+dX0pO3ZhciBXLEssTD0idW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2woIngiKSxVPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLHo9InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQsWD0idW5kZWZpbmVkIiE9dHlwZW9mIFByb3h5JiZ2b2lkIDAhPT1Qcm94eS5yZXZvY2FibGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgUmVmbGVjdCxWPUw/U3ltYm9sLmZvcigiaW1tZXItbm90aGluZyIpOigoVz17fSlbImltbWVyLW5vdGhpbmciXT0hMCxXKSxCPUw/U3ltYm9sLmZvcigiaW1tZXItZHJhZnRhYmxlIik6Il9fJGltbWVyX2RyYWZ0YWJsZSIsRz1MP1N5bWJvbC5mb3IoImltbWVyLXN0YXRlIik6Il9fJGltbWVyX3N0YXRlIixKPSgidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLCIiK09iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3IpLEg9InVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0JiZSZWZsZWN0Lm93bktleXM/UmVmbGVjdC5vd25LZXlzOnZvaWQgMCE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsUT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7dmFyIGU9e307cmV0dXJuIEgodCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscil9KSksZX0sWT17fSxaPXtnZXQ6ZnVuY3Rpb24odCxlKXtpZihlPT09RylyZXR1cm4gdDt2YXIgcj15KHQpO2lmKCFjKHIsZSkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvPU4oZSxyKTtyZXR1cm4gbz8idmFsdWUiaW4gbz9vLnZhbHVlOm51bGw9PT0obj1vLmdldCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uY2FsbCh0LmspOnZvaWQgMH0odCxyLGUpO3ZhciBuPXJbZV07cmV0dXJuIHQuSXx8IWkobik/bjpuPT09Uih0LnQsZSk/KFQodCksdC5vW2VdPU0odC5BLmgsbix0KSk6bn0saGFzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW4geSh0KX0sb3duS2V5czpmdW5jdGlvbih0KXtyZXR1cm4gUmVmbGVjdC5vd25LZXlzKHkodCkpfSxzZXQ6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPU4oeSh0KSxlKQo7aWYobnVsbD09bj92b2lkIDA6bi5zZXQpcmV0dXJuIG4uc2V0LmNhbGwodC5rLHIpLCEwO2lmKCF0LlApe3ZhciBvPVIoeSh0KSxlKSxpPW51bGw9PW8/dm9pZCAwOm9bR107aWYoaSYmaS50PT09cilyZXR1cm4gdC5vW2VdPXIsdC5EW2VdPSExLCEwO2lmKHAocixvKSYmKHZvaWQgMCE9PXJ8fGModC50LGUpKSlyZXR1cm4hMDtUKHQpLEModCl9cmV0dXJuIHQub1tlXT09PXImJiJudW1iZXIiIT10eXBlb2YgciYmKHZvaWQgMCE9PXJ8fGUgaW4gdC5vKXx8KHQub1tlXT1yLHQuRFtlXT0hMCwhMCl9LGRlbGV0ZVByb3BlcnR5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMCE9PVIodC50LGUpfHxlIGluIHQudD8odC5EW2VdPSExLFQodCksQyh0KSk6ZGVsZXRlIHQuRFtlXSx0Lm8mJmRlbGV0ZSB0Lm9bZV0sITB9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LGUpe3ZhciByPXkodCksbj1SZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO3JldHVybiBuP3t3cml0YWJsZTohMCxjb25maWd1cmFibGU6MSE9PXQuaXx8Imxlbmd0aCIhPT1lLGVudW1lcmFibGU6bi5lbnVtZXJhYmxlLHZhbHVlOnJbZV19Om59LGRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7bigxMSl9LGdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC50KX0sc2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24oKXtuKDEyKX19LHR0PXt9O2YoWiwoZnVuY3Rpb24odCxlKXt0dFt0XT1mdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHNbMF09YXJndW1lbnRzWzBdWzBdLGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pKSx0dC5kZWxldGVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiBaLmRlbGV0ZVByb3BlcnR5LmNhbGwodGhpcyx0WzBdLGUpfSx0dC5zZXQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBaLnNldC5jYWxsKHRoaXMsdFswXSxlLHIsdFswXSl9O3ZhciBldD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dmFyIGU9dGhpczt0aGlzLmc9WCx0aGlzLkY9ITAsdGhpcy5wcm9kdWNlPWZ1bmN0aW9uKHQscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHIpe3ZhciB1PXI7cj10O3ZhciBmPWU7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9dSk7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGgsbz1BcnJheShuPjE/bi0xOjApLGk9MTtpPG47aSsrKW9baS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIGYucHJvZHVjZSh0LChmdW5jdGlvbih0KXt2YXIgbjtyZXR1cm4obj1yKS5jYWxsLmFwcGx5KG4sW2UsdF0uY29uY2F0KG8pKX0pKX19dmFyIGE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJm4oNiksdm9pZCAwIT09byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJm4oNyksaSh0KSl7dmFyIGM9QShlKSxsPU0oZSx0LHZvaWQgMCkscz0hMDt0cnl7YT1yKGwpLHM9ITF9ZmluYWxseXtzP0UoYyk6UyhjKX1yZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJmEgaW5zdGFuY2VvZiBQcm9taXNlP2EudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIFAoYyxvKSxEKHQsYyl9KSwoZnVuY3Rpb24odCl7dGhyb3cgRShjKSx0fSkpOihQKGMsbyksRChhLGMpKX1pZighdHx8Im9iamVjdCIhPXR5cGVvZiB0KXtpZigoYT1yKHQpKT09PVYpcmV0dXJuO3JldHVybiB2b2lkIDA9PT1hJiYoYT10KSxlLkYmJmIoYSwhMCksYX1uKDIxLHQpfSx0aGlzLnByb2R1Y2VXaXRoUGF0Y2hlcz1mdW5jdGlvbih0LHIpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKHIpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLG89QXJyYXkobj4xP24tMTowKSxpPTE7aTxuO2krKylvW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBlLnByb2R1Y2VXaXRoUGF0Y2hlcyhyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChvKSl9KSl9OltlLnByb2R1Y2UodCxyLChmdW5jdGlvbih0LGUpe249dCxvPWV9KSksbixvXTt2YXIgbixvfSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LnVzZVByb3hpZXMpJiZ0aGlzLnNldFVzZVByb3hpZXModC51c2VQcm94aWVzKSwiYm9vbGVhbiI9PXR5cGVvZihudWxsPT10P3ZvaWQgMDp0LmF1dG9GcmVlemUpJiZ0aGlzLnNldEF1dG9GcmVlemUodC5hdXRvRnJlZXplKX12YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5jcmVhdGVEcmFmdD1mdW5jdGlvbih0KXtpKHQpfHxuKDgpLG8odCkmJih0PUYodCkpO3ZhciBlPUEodGhpcykscj1NKHRoaXMsdCx2b2lkIDApO3JldHVybiByW0ddLkM9ITAsUyhlKSxyfSxlLmZpbmlzaERyYWZ0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHQmJnRbR10pLkE7cmV0dXJuIFAocixlKSxEKHZvaWQgMCxyKX0sZS5zZXRBdXRvRnJlZXplPWZ1bmN0aW9uKHQpe3RoaXMuRj10fSxlLnNldFVzZVByb3hpZXM9ZnVuY3Rpb24odCl7dCYmIVgmJm4oMjApLHRoaXMuZz10fSxlLmFwcGx5UGF0Y2hlcz1mdW5jdGlvbih0LGUpe3ZhciByO2ZvcihyPWUubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWVbcl07aWYoMD09PW4ucGF0aC5sZW5ndGgmJiJyZXBsYWNlIj09PW4ub3Ape3Q9bi52YWx1ZTticmVha319cj4tMSYmKGU9ZS5zbGljZShyKzEpKTt2YXIgaT13KCJQYXRjaGVzIikuJDtyZXR1cm4gbyh0KT9pKHQsZSk6dGhpcy5wcm9kdWNlKHQsKGZ1bmN0aW9uKHQpe3JldHVybiBpKHQsZSl9KSl9LHR9KCkscnQ9bmV3IGV0LG50PXJ0LnByb2R1Y2U7cnQucHJvZHVjZVdpdGhQYXRjaGVzLmJpbmQocnQpLHJ0LnNldEF1dG9GcmVlemUuYmluZChydCkscnQuc2V0VXNlUHJveGllcy5iaW5kKHJ0KSxydC5hcHBseVBhdGNoZXMuYmluZChydCkscnQuY3JlYXRlRHJhZnQuYmluZChydCkscnQuZmluaXNoRHJhZnQuYmluZChydCk7Y29uc3Qgb3Q9bnR9LDk1Mzc0OSh0LGUscil7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9ZS5kaXNwYXRjaCxuPWUuZ2V0U3RhdGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKHIsbix0KTplKG8pfX0KfX1yLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciBvPW4oKTtvLndpdGhFeHRyYUFyZ3VtZW50PW47Y29uc3QgaT0vXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaik/bnVsbDpvfSw3ODc3MjQodCxlLHIpe2lmKHIuZChlLHthcHBseU1pZGRsZXdhcmU6KCk9PnYsYmluZEFjdGlvbkNyZWF0b3JzOigpPT5wLGNvbWJpbmVSZWR1Y2VyczooKT0+bCxjb21wb3NlOigpPT5kLGNyZWF0ZVN0b3JlOigpPT5jfSksIS9eKDE5NTA4fDk0ODE5KSQvLnRlc3Qoci5qKSl2YXIgbj1yKDIyNDEwNyk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4iTWluaWZpZWQgUmVkdXggZXJyb3IgIyIrdCsiOyB2aXNpdCBodHRwczovL3JlZHV4LmpzLm9yZy9FcnJvcnM/Y29kZT0iK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzLiAifXZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5vYnNlcnZhYmxlfHwiQEBvYnNlcnZhYmxlIix1PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpfSxmPXtJTklUOiJAQHJlZHV4L0lOSVQiK3UoKSxSRVBMQUNFOiJAQHJlZHV4L1JFUExBQ0UiK3UoKSxQUk9CRV9VTktOT1dOX0FDVElPTjpmdW5jdGlvbigpe3JldHVybiJAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OIit1KCl9fTtmdW5jdGlvbiBhKHQpe2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBlPXQ7bnVsbCE9PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KT09PWV9ZnVuY3Rpb24gYyh0LGUscil7dmFyIG47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiByfHwiZnVuY3Rpb24iPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUmJnZvaWQgMD09PXImJihyPWUsZT12b2lkIDApLHZvaWQgMCE9PXIpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gcihjKSh0LGUpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgdT10LGw9ZSxzPVtdLHA9cyxkPSExO2Z1bmN0aW9uIHYoKXtwPT09cyYmKHA9cy5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoZCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGx9ZnVuY3Rpb24gaCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoZCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIGU9ITA7cmV0dXJuIHYoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihlKXtpZihkKXRocm93IG5ldyBFcnJvcihvKDYpKTtlPSExLHYoKTt2YXIgcj1wLmluZGV4T2YodCk7cC5zcGxpY2UociwxKSxzPW51bGx9fX1mdW5jdGlvbiBiKHQpe2lmKCFhKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGQpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtkPSEwLGw9dShsLHQpfWZpbmFsbHl7ZD0hMX1mb3IodmFyIGU9cz1wLHI9MDtyPGUubGVuZ3RoO3IrKyl7KDAsZVtyXSkoKX1yZXR1cm4gdH1yZXR1cm4gYih7dHlwZTpmLklOSVR9KSwobj17ZGlzcGF0Y2g6YixzdWJzY3JpYmU6aCxnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7dT10LGIoe3R5cGU6Zi5SRVBMQUNFfSl9fSlbaV09ZnVuY3Rpb24oKXt2YXIgdCxlPWg7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gcigpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIHIoKSx7dW5zdWJzY3JpYmU6ZShyKX19fSlbaV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBsKHQpe2Zvcih2YXIgZT1PYmplY3Qua2V5cyh0KSxyPXt9LG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYocltpXT10W2ldKX12YXIgdSxhPU9iamVjdC5rZXlzKHIpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9dFtlXTtpZih2b2lkIDA9PT1yKHZvaWQgMCx7dHlwZTpmLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PXIodm9pZCAwLHt0eXBlOmYuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KHIpfWNhdGNoKHQpe3U9dH1yZXR1cm4gZnVuY3Rpb24odCxlKXtpZih2b2lkIDA9PT10JiYodD17fSksdSl0aHJvdyB1O2Zvcih2YXIgbj0hMSxpPXt9LGY9MDtmPGEubGVuZ3RoO2YrKyl7dmFyIGM9YVtmXSxsPXJbY10scz10W2NdLHA9bChzLGUpO2lmKHZvaWQgMD09PXApe2UmJmUudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfWlbY109cCxuPW58fHAhPT1zfXJldHVybihuPW58fGEubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT9pOnR9fWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZSh0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fWZ1bmN0aW9uIHAodCxlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gcyh0LGUpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKG8oMTYpKTt2YXIgcj17fTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaSYmKHJbbl09cyhpLGUpKX1yZXR1cm4gcn1mdW5jdGlvbiBkKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl0KO3JldHVybiAwPT09ZS5sZW5ndGg/ZnVuY3Rpb24odCl7cmV0dXJuIHR9OjE9PT1lLmxlbmd0aD9lWzBdOmUucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KGUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0pKX1mdW5jdGlvbiB2KCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPXQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyksaT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihvKDE1KSl9LHU9e2dldFN0YXRlOnIuZ2V0U3RhdGUsZGlzcGF0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gaS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19LGY9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0KHUpfSkpO3JldHVybiBpPWQuYXBwbHkodm9pZCAwLGYpKHIuZGlzcGF0Y2gpLCgwLG4uZGVmYXVsdCkoKDAsbi5kZWZhdWx0KSh7fSxyKSx7fSx7ZGlzcGF0Y2g6aX0pfX19fSwxOTM3MSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoOTA4MTU0KTtmdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4oZT0oMCxuLmRlZmF1bHQpKGUpKWluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fX0sMjI0MTA3KHQsZSxyKXtpZihyLmQoZSx7ZGVmYXVsdDooKT0+aX0pLCEvXigxOTUwOHw5NDgxOSkkLy50ZXN0KHIuaikpdmFyIG49cigxOTM3MSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9vKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KDAsbi5kZWZhdWx0KSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6byhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH19LDg5MjYzOSh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pm99KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtmdW5jdGlvbiBvKHQsZSl7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciByPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1yKXt2YXIgbz1yLmNhbGwodCxlfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LGUscil7aWYoci5kKGUse2RlZmF1bHQ6KCk9Pml9KSwhL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBuPXIoMTI5NDc2KTtpZighL14oMTk1MDh8OTQ4MTkpJC8udGVzdChyLmopKXZhciBvPXIoODkyNjM5KTtmdW5jdGlvbiBpKHQpe3ZhciBlPSgwLG8uZGVmYXVsdCkodCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PSgwLG4uZGVmYXVsdCkoZSk/ZTplKyIifX0sMTI5NDc2KHQsZSxyKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfXIuZChlLHtkZWZhdWx0OigpPT5ufSl9fV0pOw=="}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.89618.e8db19d81376d486e288.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.254Z","timestamp":1785136429254,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.89618.e8db19d81376d486e288.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a267ddb-15f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 08 Jun 2026 08:31:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.55\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/08/2026 10:13:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d841bede2fb62f6684a4808e197762a9\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":351,"size_decoded":966,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (351), with no line terminators","md5":"846e435a133db84eb03e3413f477fb59","sha1":"4a30726e0dd97d7970d29e186394d5084ce62280","sha256":"dbfb0a54a4ac5aa54a0627d7183320ac1e11932f45a1b9b0fd3eb045d961c53f","sha512":"81cd04d2cc3522d75b2ac97f95540e5709fcf6db3becfaa513ba65a28ad252ed5e7242ef81861ea33e752ade52444aaaee1028e949b893e4207a076e31064b0c","ssdeep":"","tlshash":"bee0861fd071e9bc3f36864436619cd2b4a435d601f0c2c773c4ed40e0229ec1c4465c","first_seen":"2026-05-05T12:17:23.674052Z","last_seen":"2026-08-11T04:43:23.120972Z","times_seen":625,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTYxOF0sezQxNDAxOChlKXtlLmV4cG9ydHM9WyJDaGFydCBieSBUcmFkaW5nVmlldyJdfSwzMDA3ODgoZSl7ZS5leHBvcnRzPVsiQnkgVHJhZGluZ1ZpZXciXX0sNTE3NzIoZSl7ZS5leHBvcnRzPVsiYnkgVHJhZGluZ1ZpZXciXX0sNjE4MzU5KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkiXX0sNjMzOTA2KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkgVHJhZGluZ1ZpZXciXX0sMjk3OTQ4KGUpe2UuZXhwb3J0cz1bIntzeW1ib2x9IGZpbmFuY2lhbHMgYnkgVHJhZGluZ1ZpZXciXX19XSk7"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/arrow.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.069Z","timestamp":1785136422069,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/arrow.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 602\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":602,"size_decoded":942,"mime_type":"image/png","magic":"PNG image data, 60 x 43, 8-bit/color RGBA, non-interlaced","md5":"d53d9cd008330ab840c9fe4bc60a7f99","sha1":"9219d290490c113e43668162f622455c64ea3f3e","sha256":"3ada9823ccbb10588c6c268f06fcfaf466b16f342a5bed45517ca264260c203d","sha512":"72bdc907fab26cff901049704c892028d7a650816a0a9d8362fcb8f06f2dd1422a0d7da2469b4b1656f5c160df238da9c9073b39f518cc55d260f52386e5c27c","ssdeep":"","tlshash":"25f047e7f997adf6c4cf05f3832d14276dde42410211c1ec83429a525631bd164dcf82","first_seen":"2024-08-19T21:40:40.744253Z","last_seen":"2026-07-29T06:14:00.327507Z","times_seen":12,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAADwAAAArCAYAAAAkL+tRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAfxJREFUeNrkmjtLA0EUhW/CksZYKyoYNL7FR2FlKWihRMWopb0g9v4IsfcPKIKIYIKvX2DhFroiBDWCig/w0YmP8QzMwhI2kt1sMY8DH9vsDDmcycy9uxuLbS6SpMqCC3AexWSMESUTjOIkr/rBFmiMclKZDb+DLnAMGkwwHBPXDrADUrob9moIHESRtCqGudrAHkibYphrAOyCelMMk9jIjsImraJhrh6RdJMphslzZLWaYpirHWwHObJUN8zVBw4rTVoHwyQ2sIqSltnwZ8ikm/+7yQKroIY3FBKZ5b9lMGTSfPeeAYVyhpfEVRfxpPNgFFz7LekP0k886ZwoR7XctPzUKWrvlCmG3YZj35u07obd4iTn1t4W+zHBM8wyyn//sow13PJKRohR2oqzdau77o0M0QtYsb7MWNLPYBycmOD2CWS4WdKswiqX7BiwTTiW7kWydmktndR0g5oAp37Nw4aEpnm3xB/A94YYWwRzfmZdwwuSprQM1kIkO1W6jFWppRMB778VLaGt6hOPoEdPttwyLl3SqqsoioqK3iPHNUh2lgK8NFc54Qfxnz0LMkjVhO/AdFCzqibMkx0Bl2EGq5bwDZgMa1a1hN0Wz6lmElUSLoiux6l2IpkTdt+EPIpl7EQxqcwJ13o2KCeqSWU2fAXmKaIv8Vz9CTAAcs9eXswHj7gAAAAASUVORK5CYII="}},"time_used":4834,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4834,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.271Z","timestamp":1785136430271,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/study-pane-views.663c5d9b21dc5e618998.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/js/faq.js","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:41.848Z","timestamp":1785136421848,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/js/faq.js HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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 200 \r\ncache-control: max-age=31536000\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nvary: Accept-Encoding\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 574\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":2455,"size_decoded":972,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"535e39965130a930c1f50f8e77e879c9","sha1":"cb0da761fc3292c86b41f658e6023e115eb26cd5","sha256":"7116a51ede8836afce2dd83ee455070ef9fa2ad04d0c094c669c52f6fc9e9f80","sha512":"02d3ef70035897a7db9b672af0783305525603124c3ee37924cfef03dfc3531781eba68d335b8fbdfc76b584d26d2d53f0ab8bf62391eb253e59c451d513170c","ssdeep":"","tlshash":"f251ad4af2bcd2fa22ba357305b5698d3433ac46c5cf65daf878e0305a5507d6043abc","first_seen":"2023-03-07T15:53:01Z","last_seen":"2026-07-29T06:14:00.364798Z","times_seen":15,"resource_available":true,"data":"LyogZENvZGVzIEZyYW1ld29yazogKGMpIFRlbXBsYXRlQWNjZXNzICovCgooZnVuY3Rpb24gKCQpIHsKCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewoJCWRvQWNjb3JkaW9uKCk7Cgl9KTsKCWZ1bmN0aW9uIGRvQWNjb3JkaW9uKCkgewoJCXZhciBhY2NvcmRpb25zID0galF1ZXJ5KCcuZGNfYWNjb3JkaW9uMicpOwoJCWlmIChhY2NvcmRpb25zLmxlbmd0aCA8IDEpIHsKCQkJcmV0dXJuOwoJCX0KCQlhY2NvcmRpb25zLmVhY2goZnVuY3Rpb24gKCkgewoJCQl2YXIgc2VsZiA9IGpRdWVyeSh0aGlzKTsKCQkJdmFyIGhhbmRsZXJzID0gc2VsZi5jaGlsZHJlbignZHQnKTsKCQkJaGFuZGxlcnMuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkJdmFyIHNlbGYgPSBqUXVlcnkodGhpcyk7CgkJCQlzZWxmLmNoaWxkcmVuKCdkdC5jdXJyZW50JykucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKS5uZXh0KCkuc2xpZGVVcCgpOwoJCQkJc2VsZi50b2dnbGVDbGFzcygnY3VycmVudCcpOwoJCQkJc2VsZi5uZXh0KCdkZCcpLnNsaWRlVG9nZ2xlKCk7CgkJCX0pOwoJCX0pOwoJfQp9KGpRdWVyeSkpOwovLyA8IVtDREFUQVsKJChmdW5jdGlvbiAoKSB7CgkkKCcuZGNfdG9nZ2xlJykuYWRkQ2xhc3MoJ2RjX2hpZGUnKTsKCSQoJy5kY190b2dnbGUuZGNfc2hvdycpLnJlbW92ZUNsYXNzKCdkY19oaWRlJyk7CgkkKCcuZGNfdG9nZ2xlLmRjX3Nob3cnKS5jaGlsZHJlbignLmRjX3RvZ2dsZV9ib3gnKS5jc3MoewoJCSdkaXNwbGF5JzogJ2Jsb2NrJwoJfSk7CgkkKCdhLmRjX3RvZ2dsZV9saW5rJykuY2xpY2soZnVuY3Rpb24gKCkgewoJCSQodGhpcykucGFyZW50cygnLmRjX3RvZ2dsZScpLmNoaWxkcmVuKCcuZGNfdG9nZ2xlX2JveCcpLnNsaWRlVG9nZ2xlKCdmYXN0Jyk7CgkJaWYgKCQodGhpcykucGFyZW50cygnLmRjX3RvZ2dsZScpLmhhc0NsYXNzKCdkY19oaWRlJykpIHsKCQkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfdG9nZ2xlJykucmVtb3ZlQ2xhc3MoJ2RjX2hpZGUnKTsKCQkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfdG9nZ2xlJykuYWRkQ2xhc3MoJ2RjX3Nob3cnKTsKCQl9IGVsc2UgewoJCQkkKHRoaXMpLnBhcmVudHMoJy5kY190b2dnbGUnKS5hZGRDbGFzcygnZGNfaGlkZScpOwoJCQkkKHRoaXMpLnBhcmVudHMoJy5kY190b2dnbGUnKS5yZW1vdmVDbGFzcygnZGNfc2hvdycpOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9KTsKCSQoJy5kY19hY2NfYm94JykuYWRkQ2xhc3MoJ2RjX2hpZGUnKTsKCSQoJy5kY19hY2NfYm94LmRjX3Nob3cnKS5yZW1vdmVDbGFzcygnZGNfaGlkZScpOwoJJCgnLmRjX2FjY19ib3guZGNfc2hvdycpLmNoaWxkcmVuKCcuZGNfdG9nZ2xlX2JveCcpLmNzcyh7CgkJJ2Rpc3BsYXknOiAnYmxvY2snCgl9KTsKCSQoJ2EuZGNfYWNjX2xpbmsnKS5jbGljayhmdW5jdGlvbiAoKSB7CgkJaWYgKCQodGhpcykucGFyZW50cygnLmRjX2FjY19ib3gnKS5oYXNDbGFzcygnZGNfc2hvdycpKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfYWNjJykuY2hpbGRyZW4oJy5kY19zaG93JykuY2hpbGRyZW4oJy5kY190b2dnbGVfYm94Jykuc2xpZGVUb2dnbGUoJ2Zhc3QnKTsKCQkkKHRoaXMpLnBhcmVudHMoJy5kY19hY2MnKS5jaGlsZHJlbignLmRjX3Nob3cnKS5hZGRDbGFzcygnZGNfaGlkZScpOwoJCSQodGhpcykucGFyZW50cygnLmRjX2FjYycpLmNoaWxkcmVuKCcuZGNfc2hvdycpLnJlbW92ZUNsYXNzKCdkY19zaG93Jyk7CgkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfYWNjX2JveCcpLmNoaWxkcmVuKCcuZGNfdG9nZ2xlX2JveCcpLnNsaWRlVG9nZ2xlKCdmYXN0Jyk7CgkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfYWNjX2JveCcpLmFkZENsYXNzKCdkY19zaG93Jyk7CgkJJCh0aGlzKS5wYXJlbnRzKCcuZGNfYWNjX2JveCcpLnJlbW92ZUNsYXNzKCdkY19oaWRlJyk7CgkJcmV0dXJuIGZhbHNlOwoJfSk7Cn0pOwokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7CgkkKCcudG9nZ2xlQ29sbGFwc2UnKS5vbigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CgkJdmFyIHNlbGVjdG9yID0gIi4iICsgJCh0aGlzKS5hdHRyKCJyZWwiKTsKCQlpZiAoJCh0aGlzKS50ZXh0KCkgPT0gImV4cGFuZCBhbGwiKSB7CgkJCSQoc2VsZWN0b3IpLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJaWYgKCQodGhpcykuaGFzQ2xhc3MoImRjX2hpZGUiKSkgJCh0aGlzKS5maW5kKCJhLmRjX3RvZ2dsZV9saW5rIikuY2xpY2soKTsKCQkJfSk7CgkJCSQodGhpcykudGV4dCgic2hyaW5rIGFsbCIpCgkJfSBlbHNlIHsKCQkJJChzZWxlY3RvcikuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQlpZiAoJCh0aGlzKS5oYXNDbGFzcygiZGNfc2hvdyIpKSAkKHRoaXMpLmZpbmQoImEuZGNfdG9nZ2xlX2xpbmsiKS5jbGljaygpOwoJCQl9KTsKCQkJJCh0aGlzKS50ZXh0KCJleHBhbmQgYWxsIikKCQl9Cgl9KTsKfSk7Ci8vIF1dPg=="}},"time_used":535,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":535,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.258Z","timestamp":1785136429258,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/branding-source.83b7dbcf32c4ccb466bc.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-9984\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5116e5786d0543e85d165fd844fcab4d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":39300,"size_decoded":15763,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3429)","md5":"e07829b9c2f075e0d79539e09e8ef5c5","sha1":"c0ecb7b2378f8c8f6bb127ab7ce32a33f2867147","sha256":"de200e3269223b7eaed298c26e6c4f1aa89cfefab594c21c75d8fa254a074888","sha512":"6caeee99a9d13d9694e591f9382f08303b729630991f2a101d67c7c6e9ab1aa3679a35fe72b8511546c1ed034286f9ef93d5b2e8878aeb902fdbc675fef15d33","ssdeep":"768:35sPlyn1pNoHx1dy6DXt6MfuD92GrAhihIo0Z8Qa2L/aQmvYsYIlL7GL4EUdBkp4:KdFrbPfuD92G8mcZQ2L/BmRdBIJNWGHs","tlshash":"5103196ee220585d13c301b49c7f2957961b50e5350a4becb2bc9dee105e9dab633b3c","first_seen":"2026-07-23T14:00:31.655738Z","last_seen":"2026-07-28T06:17:53.414435Z","times_seen":119,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0OTg4M10sezc0NTgwOCh0KXt0LmV4cG9ydHM9e319LDIwNTYxMSh0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5zfSk7dmFyIG89aSgyMzIzNjQpO2Z1bmN0aW9uIHModCxlKXtjb25zdCBpPW5ldyBvLldhdGNoZWRWYWx1ZSh0KCkpLHM9e307ZS5mb3JFYWNoKChlPT5lLnN1YnNjcmliZShzLCgoKT0+e2kuc2V0VmFsdWUodCgpKX0pKSkpO3JldHVybiBpLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT5lLmZvckVhY2goKHQ9PnQudW5zdWJzY3JpYmVBbGwocykpKSkpfX0sNDkyNjc3KHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQucmVwbGFjZSgvXCsvZywiICIpKS5yZXBsYWNlKC88XC8/W14+XSsoPnwkKS9nLCIiKX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9LyhbXiY9XSspPT8oW14mXSopL2csaT17fTtpZighdClyZXR1cm4gaTtsZXQgcz1lLmV4ZWModCk7Zm9yKDtzOylpW28oc1sxXSldPW8oc1syXSkscz1lLmV4ZWModCk7cmV0dXJuIGl9ZnVuY3Rpb24gYSgpe3JldHVybiBzKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKX1mdW5jdGlvbiBuKCl7Y29uc3QgdD13aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdO3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgiIixkb2N1bWVudC50aXRsZSx0KX1mdW5jdGlvbiByKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IGkgaW4gdClpZih0Lmhhc093blByb3BlcnR5KGkpJiZudWxsIT10W2ldKXtjb25zdCBvPXRbaV0scz0ib2JqZWN0Ij09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6U3RyaW5nKG8pO2UucHVzaCh7a2V5OmkscGFpcjplbmNvZGVVUklDb21wb25lbnQoaSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChzKX0pfXJldHVybiBlLnNvcnQoKCh0LGUpPT50LmtleT5lLmtleT8xOnQua2V5PGUua2V5Py0xOjApKS5tYXAoKHQ9PnQucGFpcikpLmpvaW4oIiYiKX1pLmQoZSx7Y3JlYXRlVXJsUGFyYW1zOigpPT5yLGdldFVybFBhcmFtczooKT0+YSxyZW1vdmVIYXNoRnJvbVVybDooKT0+bn0pfSw1Mjg4NjQodCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbztpLmQoZSx7S25vd25BY3Rpb246KCk9Pm8sd2lkZ2V0U2hlcmlmZkFjdGlvbnM6KCk9PnN9KSxmdW5jdGlvbih0KXt0LkV4cGFuZD0iZXhwYW5kLWxvZ28iLHQuTGFyZ2VUcmFkZUxvZ289ImxhcmdlLXRyYWRlLWxvZ28ifShvfHwobz17fSkpO2NvbnN0IHM9bmV3IFNldChbby5FeHBhbmQsby5MYXJnZVRyYWRlTG9nb10pfSw0MDAxODEodCxlLGkpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBvKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoNzA2NDQpLGkuZSg5NTIwNyldKS50aGVuKGkuYmluZChpLDQ3NzE1MCkpO3JldHVybiB0KCl9aS5kKGUse2dldFRyYWNrZXI6KCk9Pm99KX0sOTA4NDU0KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2FkZEJyYW5kaW5nU291cmNlOigpPT5QdH0pO3ZhciBvPWkoOTUyOTAwKSxzPWkoMjA1NjExKSxhPWkoOTMwNTA2KSxuPWkoOTE4Nzc5KSxyPWkoNTQ3ODUxKSxoPWkoNzM2NTMxKSxsPWkoNzY4MzA1KSxkPWkoNTA1NTYpLGM9aSgxMzg2MzgpLGc9aSgxODUyNzEpLF89aSgzMTg5NzQpLG09aSg5MzAyMzEpLHU9aSg1OTYyNzIpLHc9aSg3NjMpLHA9aSgyMTg4MTQpLGY9aSg4NzM1NzMpLHY9aSgzNDI3OCkseD1pKDE1MTIxKSx5PWkoNDM5ODc5KSxiPWkoMzY0MTg4KSxBPWkoODM5NDEyKSxTPWkoNDAwMTgxKSxMPWkoNjAxNTg3KTthc3luYyBmdW5jdGlvbiBUKHQsZSl7Y29uc3QgaT1mdW5jdGlvbigpe2NvbnN0IHQ9d2luZG93LmluaXREYXRhLmhhc2hTZXR0aW5ncztpZihPYmplY3Qua2V5cyh0KS5sZW5ndGg+MClyZXR1cm4oMCxMLmZpbHRlclV0bUluZm8pKHQpO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5ocmVmKTtyZXR1cm57dXRtX2NhbXBhaWduOmUuZ2V0KCJ1dG1fY2FtcGFpZ24iKXx8dm9pZCAwLHV0bV9zb3VyY2U6ZS5nZXQoInV0bV9zb3VyY2UiKXx8dm9pZCAwfX0oKTsoYXdhaXQoMCxTLmdldFRyYWNrZXIpKCkpPy50cmFja1NlbGZEZXNjKCJpZ2x1OmNvbS50cmFkaW5ndmlldy93aWRnZXRfdHZfbGlua19jbGljay9qc29uc2NoZW1hLzEtMC0wIix7d2lkZ2V0X3R5cGU6ayhpKSxkb21haW46QyhpKSxsaW5rOnQsdGFyZ2V0X3R5cGU6ZX0pfWZ1bmN0aW9uIEModCl7Y29uc3QgZT1sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnM/LlswXXx8ZG9jdW1lbnQucmVmZXJyZXI7cmV0dXJuIHQudXRtX3NvdXJjZXx8ZnVuY3Rpb24odCl7dHJ5e3JldHVybiBuZXcgVVJMKHQpLmhvc3R9Y2F0Y2godCl7cmV0dXJuIiJ9fShlKX1mdW5jdGlvbiBrKHQpe2lmKHQudXRtX2NhbXBhaWduKXJldHVybiB0LnV0bV9jYW1wYWlnbjtjb25zdCBlPWxvY2F0aW9uLnBhdGhuYW1lO3JldHVybiBlLmluY2x1ZGVzKCJlbWJlZC13aWRnZXQiKT9lLnNwbGl0KCIvIilbMl06ZX12YXIgQj1pKDIyMTA2MSksUD1pKDM4NDAxNyksTT1pKDUyODg2NCk7Y29uc3QgVz13aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVHx8Imh0dHBzOi8vd2lkZ2V0LXNoZXJpZmYueHN0YWdpbmctd2lkZ2V0LnR2IixWPSgwLEIuZ2V0TG9nZ2VyKSgiV2lkZ2V0U2hlcmlmZi5XaWRnZXQiKTtsZXQgej1udWxsO2FzeW5jIGZ1bmN0aW9uIFooKXtyZXR1cm4gbnVsbD09PXomJih6PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3QgdD1mdW5jdGlvbigpe2lmKGRvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyYmZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aClyZXR1cm4gZG9jdW1lbnQubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zW2RvY3VtZW50LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGgtMV07dHJ5e3JldHVybiBuZXcgVVJMKGRvY3VtZW50LnJlZmVycmVyKS5vcmlnaW59Y2F0Y2godCl7CnJldHVybiBkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW58fG51bGx9fSgpO2lmKG51bGw9PT10KXJldHVybiBWLmxvZ1dhcm4oImFuY2VzdG9yT3JpZ2luIGlzIHVuZGVmaW5lZCIpLFByb21pc2UucmVzb2x2ZShbXSk7Y29uc3QgZT1uZXcgVVJMKCIvc2hlcmlmZi9hcGkvdjEvcnVsZXMvc2VhcmNoIixXKTtlLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm9yaWdpbiIsdCk7cmV0dXJuKGF3YWl0KDAsUC5mZXRjaCkoZS50b0pTT04oKSkudGhlbigodD0+e2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcigiR3VhcmQgcmVxdWVzdCBlcnJvciBvY2N1cmVkIik7cmV0dXJuIDIwND09PXQuc3RhdHVzP1Byb21pc2UucmVzb2x2ZSh7YWN0aW9uczpbXX0pOnQuanNvbigpfSkpLmNhdGNoKCh0PT4oVi5sb2dXYXJuKHQubWVzc2FnZSksUHJvbWlzZS5yZXNvbHZlKHthY3Rpb25zOltdfSkpKSkpLmFjdGlvbnMuZmlsdGVyKCh0PT5NLndpZGdldFNoZXJpZmZBY3Rpb25zLmhhcyh0KSkpfSgpKSxQcm9taXNlLnJlc29sdmUoeil9dmFyIEk9aSg0NzkzNCksSD1pKDc3NDUwNyksRj1pKDc4NjQzNiksTz1pKDgyMjcyNiksRD1pKDUxNTkyKSxSPWkoOTI2MTQ5KSxFPWkoOTc2ODEzKSxVPWkoNTk1ODAwKSxOPWkoMzkyMjIzKSwkPWkoODc3OTc5KSxqPWkoNzIxNjQ2KSxHPWkoMzMzMzE4KSxxPWkoNDIyNzExKSxLPWkoNTkyMTU1KTtpKDc0NTgwOCk7Y29uc3QgUT17Y3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1icmFuZCJdLGN1c3RvbUJyYW5kaW5nVGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS04NTAiXSxiYWNrZ3JvdW5kOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS03MDAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxzdGF0aWNUZXh0QmFja2dyb3VuZDooMCxmLmdlbmVyYXRlQ29sb3IpKGQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTgwMCJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3Itd2hpdGUiXSxwbGF0Zm9ybUJnQ29sb3I6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci1jb2xkLWdyYXktOTAwIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTIwMCJdfSxKPXtjdXN0b21CcmFuZGluZ1RyYWRpbmdWaWV3VGV4dDpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWJyYW5kIl0sY3VzdG9tQnJhbmRpbmdUZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTg1MCJdLGJhY2tncm91bmQ6ZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLHNoYWRvdzpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLWNvbGQtZ3JheS0xNTAiXSx0ZXh0OmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHN0YXRpY1RleHRCYWNrZ3JvdW5kOigwLGYuZ2VuZXJhdGVDb2xvcikoZC5jb2xvcnNQYWxldHRlWyJjb2xvci13aGl0ZSJdLDIwKSxsb2dvOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdLHBsYXRmb3JtQmdDb2xvcjpkLmNvbG9yc1BhbGV0dGVbImNvbG9yLXdoaXRlIl0scGxhdGZvcm1GZ0NvbG9yOmQuY29sb3JzUGFsZXR0ZVsiY29sb3ItY29sZC1ncmF5LTkwMCJdfTtmdW5jdGlvbiBZKHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvYmxhY2svZyxlLnBsYXRmb3JtQmdDb2xvcikucmVwbGFjZSgvbGlnaHRncmF5L2csZS5wbGF0Zm9ybUZnQ29sb3IpfWNvbnN0IFg9W1sibG9nby1saWdodCIsWSgkLEopXSxbImxvZ28tZGFyayIsWSgkLFEpXSxbInByby1iYWRnZS1saWdodCIsWShqLEopXSxbInByby1iYWRnZS1kYXJrIixZKGosUSldLFsidHJhZGluZ3ZpZXctbGlnaHQiLFkoRyxKKV0sWyJ0cmFkaW5ndmlldy1kYXJrIixZKEcsUSldLFsibG9nby1vbGQtc3R5bGUiLFVdLFsidHJhZGluZ3ZpZXctb2xkLXN0eWxlIixOXSxbImxvZ28tdHJhZGUtd2l0aCIscV0sWyJ0cmFkaW5ndmlldy10cmFkZS13aXRoIixLXV0sdHQ9bmV3IE1hcChYKSxldD0ic2l0ZV9icmFuZGluZyIsaXQ9IndpZGdldF9icmFuZGluZyIsb3Q9IndpZGdldF9yZWZlcnJhbF9icmFuZGluZyIsc3Q9IndpZGdldF9jdXN0b21fYnJhbmRpbmciLGF0PSJ3aWRnZXRfY3VzdG9tX25vX3Bvd2VyZWRfYnJhbmRpbmciLG50PSJmdW5kYW1lbnRhbF9icmFuZGluZyIscnQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9icmFuZGluZyIsaHQ9ImZ1bmRhbWVudGFsX2N1c3RvbV9ub19wb3dlcmVkX2JyYW5kaW5nIixsdD0ibGlicmFyeV9icmFuZGluZyIsZHQ9ImxpYnJhcnlfY3VzdG9tX2JyYW5kaW5nIixjdD0ibGlicmFyeV9jdXN0b21fbm9fcG93ZXJlZF9icmFuZGluZyIsZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImNocm9tZSIpPi0xJiYtMT09PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJlZGdlIiksX3Q9d2luZG93LnVybFBhcmFtc3x8e30sbXQ9d2luZG93LmluaXREYXRhfHx7fTtmdW5jdGlvbiB1dCh0KXtyZXR1cm4gX3RbdF18fG10Lmhhc2hTZXR0aW5nc1t0XXx8IiJ9KF90LnJlZmVycmFsX2lkfHxfdC5ub19yZWZlcnJhbF9pZCkmJigwLEEuZW5hYmxlKShfdC5yZWZlcnJhbF9pZHx8IiIsImFnZ3Jlc3NpdmUiKTtnLnQobnVsbCx2b2lkIDAsaSg0MTQwMTgpKSxnLnQobnVsbCx2b2lkIDAsaSg2MzM5MDYpKTtjb25zdCB3dD1nLnQobnVsbCx2b2lkIDAsaSgzMDA3ODgpKSxwdD1nLnQobnVsbCx2b2lkIDAsaSgyOTc5NDgpKSxmdD1nLnQobnVsbCx2b2lkIDAsaSg2MTgzNTkpKSsiICI7dmFyIHZ0OyFmdW5jdGlvbih0KXt0W3QuT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldD0wXT0iT2xkRm9udEFkZGl0aW9uYWxWZXJ0aWNhbE9mZnNldCIsdFt0Lk5ld0ZvbnRBZGRpdGlvbmFsVmVydGljYWxPZmZzZXQ9LjFdPSJOZXdGb250QWRkaXRpb25hbFZlcnRpY2FsT2Zmc2V0Iix0W3QuU3Ryb2tlV2lkdGg9NF09IlN0cm9rZVdpZHRoIiwKdFt0LlN0YXRpY0xvZ29Ib3Jpem9udGFsVGV4dE9mZnNldD01XT0iU3RhdGljTG9nb0hvcml6b250YWxUZXh0T2Zmc2V0Iix0W3QuVGV4dFdpZHRoQ29tcGVuc2F0aW9uPTJdPSJUZXh0V2lkdGhDb21wZW5zYXRpb24iLHRbdC5BZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dD01MDBdPSJBZGFwdGl2ZVdpZHRoVG9IaWRlVGV4dCIsdFt0LldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkPTQ4MF09IldpZHRoVG9IaWRlTG9nb0lmU21hbGxOb0Rpc3BsYXlFbmFibGVkIix0W3QuVGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTFdPSJUZXh0QWRkaXRpb25hbENyb3BXaWR0aCIsdFt0LkJhZGdlTG9nb01hcmdpbj0tMTFdPSJCYWRnZUxvZ29NYXJnaW4iLHRbdC5CYWRnZVRleHRNYXJnaW49LThdPSJCYWRnZVRleHRNYXJnaW4iLHRbdC5UZXh0QW5pbWF0ZWRBbHBoYVN0YXJ0PS4zXT0iVGV4dEFuaW1hdGVkQWxwaGFTdGFydCIsdFt0LlRleHRBbmltYXRlZEFscGhhRW5kPTFdPSJUZXh0QW5pbWF0ZWRBbHBoYUVuZCIsdFt0LkFuaW1hdGlvbkR1cmF0aW9uPTIwMF09IkFuaW1hdGlvbkR1cmF0aW9uIn0odnR8fCh2dD17fSkpO2NvbnN0IHh0PSgwLF8ub25XaWRnZXQpKCkseXQ9eHQ7Y2xhc3MgYnQgZXh0ZW5kcyB1LkN1c3RvbVNvdXJjZUJhc2V7Y29uc3RydWN0b3IodCxlLGkpe3N1cGVyKHQsZSksdGhpcy5fY2FudmFzV2lkdGg9MCx0aGlzLl9wYW5lSGVpZ2h0PTAsdGhpcy5fbGVmdD0xMyx0aGlzLl9ib3R0b209MzYsdGhpcy5fbGF5b3V0PWV0LHRoaXMuX25lZWRUb1Nob3c9ITAsdGhpcy5fc2hvd0JyYW5kaW5nPSExLHRoaXMuX2N1c3RvbUxvZ29TcmM9IiIsdGhpcy5fY3VzdG9tTG9nb0xpbms9IiIsdGhpcy5fdHJhZGluZ3ZpZXdMb2dvTGlua1RvUGF0aD0iIix0aGlzLl9jdWJpY0Jlemllcj1uZXcgcC5DdWJpY0JlemllciguNCwuMDEsLjIyLDEpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCx0aGlzLl9jbG9zZUFuaW1hdGlvbj1udWxsLHRoaXMuX3Bvd0J5PW51bGwsdGhpcy5fY3VzdG9tPW51bGwsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX21haW5TZXJpZXM9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLHRoaXMuX3Zpc2libGU9aSx0aGlzLl9zaG93Rm9yUHJvPSFlLm9uV2lkZ2V0KCk7Y29uc3Qgbz0oKT0+dGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpO3RoaXMuX3Zpc2libGUuc3Vic2NyaWJlKG8pLHRoaXMuX2Rhcms9ZS5kYXJrKCkuc3Bhd24oKSx0aGlzLl9kYXJrLnN1YnNjcmliZShvKSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2xlZnQ9OCx0aGlzLl9ib3R0b209NSk7Y29uc3Qgcz0oKT0+e3RoaXMuX25lZWRUb1Nob3c/dGhpcy5fc2hvd0JyYW5kaW5nPSEwOnRoaXMuX3Nob3dCcmFuZGluZz0hMX07dGhpcy5fcmVzaXplSGFuZGxlckRlbGF5ZWQ9KDAsci5kZWZhdWx0KShzLDIwMCkscygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX3Jlc2l6ZUhhbmRsZXJEZWxheWVkKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5faW5pdCgpOih0aGlzLl9tYWluU2VyaWVzLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpLG51bGwhPT10aGlzLl9tYWluU2VyaWVzLnN5bWJvbEluZm8oKSYmdGhpcy5faW5pdCgpKSx0aGlzLl9yZW5kZXJlcj17ZHJhdzp0aGlzLmRyYXcuYmluZCh0aGlzKSxoaXRUZXN0OnRoaXMuaGl0VGVzdC5iaW5kKHRoaXMpfSxlLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnN1YnNjcmliZSh0aGlzLHRoaXMuX2luaXQpfWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyRGVsYXllZCksdGhpcy5fbWFpblNlcmllcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9wb3dCeSYmdGhpcy5fcG93QnkuZGVzdHJveSgpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHdpbmRvdy5sb2dpblN0YXRlQ2hhbmdlLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3Zpc2libGUucmVsZWFzZSgpLHRoaXMuX2RhcmsuZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3llZD0hMH1wYW5lVmlld3ModCl7aWYod2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXlvdXQhPT1hdCYmdGhpcy5fbGF5b3V0IT09aHQpcmV0dXJuW107aWYoIXRoaXMuX3Zpc2libGUudmFsdWUoKSlyZXR1cm5bXTtpZih0aGlzLl9sYXlvdXQ9PT1ldCYmIXRoaXMuX3Nob3dGb3JQcm8mJndpbmRvdy51c2VyJiZ3aW5kb3cudXNlci5pc19wcm8pcmV0dXJuW107Y29uc3QgZT10aGlzLl9tb2RlbC5tYWluUGFuZSgpO2lmKCFlKXJldHVybltdO2NvbnN0IGk9KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibW92ZV9sb2dvX3RvX21haW5fcGFuZSIpO2xldCBvPSExO2lmKHQubWF4aW1pemVkKCkudmFsdWUoKSlvPSEwO2Vsc2UgaWYoaSlvPWUuY29sbGFwc2VkKCkudmFsdWUoKT90PT09dGhpcy5fbW9kZWwucGFuZXMoKS5maW5kKCh0PT4hdC5jb2xsYXBzZWQoKS52YWx1ZSgpKSk6dC5pc01haW5QYW5lKCkudmFsdWUoKTtlbHNlIGlmKHRoaXMuX21vZGVsLmxhc3RQYW5lKCkuY29sbGFwc2VkKCkudmFsdWUoKSl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXtjb25zdCBzPWVbaV07aWYoIXMuY29sbGFwc2VkKCkudmFsdWUoKSl7bz1zPT09dDticmVha319fWVsc2Ugbz10LmlzTGFzdCgpO3JldHVybiBvP1t7cmVuZGVyZXI6dGhpcy5yZW5kZXJlci5iaW5kKHRoaXMpfV06W119bGFiZWxQYW5lVmlld3ModCl7cmV0dXJuW119cHJpY2VBeGlzVmlld3ModCxlKXtyZXR1cm5bXX11cGRhdGVBbGxWaWV3cygpe311cGRhdGVWaWV3c0ZvclBhbmUodCl7fXByaWNlU2NhbGUoKXtyZXR1cm4gbnVsbH1yZW5kZXJlcih0KXtyZXR1cm4gdGhpcy5fcGFuZUhlaWdodD10Lm1lZGlhU2l6ZS5oZWlnaHQsdGhpcy5fY2FudmFzV2lkdGg9dC5tZWRpYVNpemUud2lkdGgsCnRoaXMuX3JlbmRlcmVyfWhhc0NvbnRleHRNZW51KCl7cmV0dXJuITF9b25DbGlja091dHNpZGUoKXt0aGlzLl9oYXNBbmltYXRpb24oKSYmdGhpcy5fc3RhcnRDbG9zZUFuaW1hdGlvbigpfWhpdFRlc3QodCl7aWYoIXRoaXMuX3Nob3dCcmFuZGluZ3x8KDAsbS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibG9nb193aXRob3V0X2xpbmsiKSlyZXR1cm4gbnVsbDtpZih0aGlzLl9wb3dCeSYmdGhpcy5fbGF5b3V0IT09YXQmJnRoaXMuX2xheW91dCE9PWh0JiYodGhpcy5fcG93QnkuaGl0VGVzdCh0KXx8dGhpcy5fY3VzdG9tJiZ0aGlzLl9jdXN0b20uaGl0VGVzdCh0KSkpe2NvbnN0IHQ9dGhpcy5fbGF5b3V0IT09ZXR8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJighd2luZG93LmlzX2F1dGhlbnRpY2F0ZWR8fCgwLEkuY2FuVXBncmFkZVBsYW4pKCkpO3JldHVybiBuZXcgdy5IaXRUZXN0UmVzdWx0KHcuSGl0VGFyZ2V0LkN1c3RvbSx7aGlkZUNyb3NzaGFpckxpbmVzT25Ib3ZlcjohMCxjdXJzb3JUeXBlOnQ/RS5QYW5lQ3Vyc29yVHlwZS5Qb2ludGVyOkUuUGFuZUN1cnNvclR5cGUuRGVmYXVsdCxjbGlja0hhbmRsZXI6KCk9Pnt0aGlzLl9vcGVuTGluaygpLHRoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuYWN0aXZlPSExKX0sdGFwSGFuZGxlcjooKT0+e3RoaXMuX2hhc0FuaW1hdGlvbigpP3RoaXMuX3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKTp0aGlzLl9vcGVuTGluaygpfSxtb3VzZUVudGVySGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMCksdGhpcy5faGFzQW5pbWF0aW9uKCkmJnRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpfSxtb3VzZUxlYXZlSGFuZGxlcjooKT0+e3RoaXMuX3Bvd0J5JiYodGhpcy5fcG93QnkuaG92ZXJlZD0hMSx0aGlzLl9wb3dCeS5hY3RpdmU9ITEpLHRoaXMuX2hhc0FuaW1hdGlvbigpJiZ0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCl9LG1vdXNlRG93bkhhbmRsZXI6KCk9Pnt0aGlzLl9wb3dCeSYmKHRoaXMuX3Bvd0J5LmFjdGl2ZT0hMCl9LG1vdXNlVXBIYW5kbGVyOigpPT57dGhpcy5fcG93QnkmJih0aGlzLl9wb3dCeS5hY3RpdmU9ITEpfX0pfXJldHVybiBudWxsfXR2VXJsKCl7Y29uc3QgdD1tdC5xdWVyeVNldHRpbmdzPy5sb2NhbGU/P210LmN1cnJlbnRMb2NhbGVJbmZvPy5sYW5ndWFnZSxlPSJodHRwczovLyIrKDAsYi5nZXRUVkhvc3RGcm9tTG9jYWxlKSh0fHwiZW4iKTtsZXQgaT1uZXcgVVJMKGUpO3tjb25zdCB0PXRoaXMuX21haW5TZXJpZXMucHJvU3ltYm9sKCksZT1tdC5jdXN0b21lcj8/bXQud2lkZ2V0RGVmYXVsdHM/LmN1c3RvbWVyO2lmKCgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fZm9yX3dpZGdldF9vd25lcnMiKSl7Y29uc3QgdD0oMCxBLnJlZmVyZW5jZVRvVHJhZGluZ1ZpZXcpKCksZT10LmluZGV4T2YoInV0bV9zb3VyY2UiKTstMSE9PWUmJihpPW5ldyBVUkwodC5zbGljZSgwLGUpKSl9ZWxzZSBpZihlKXtpZigidHdpdHRlciI9PT1lJiYiL3R3aXR0ZXItY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ3d3cudHdpdHRlci5jb20iKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9jYW1wYWlnbiIsInR3aXR0ZXItY2hhcnQiKSxpLnRvU3RyaW5nKCk7aWYoInRlbGVncmFtIj09PWUmJiIvdGVsZWdyYW0vY2hhcnQvIj09PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSlyZXR1cm4gaS5wYXRobmFtZT0iY2hhcnQiLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgic3ltYm9sIix0KSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9zb3VyY2UiLCJ0ZWxlZ3JhbS5vcmciKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLCJ0ZWxlZ3JhbS1taW5pLWFwcCIpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIiwidGVsZWdyYW0tbWluaS1hcHAtbG9nbyIpLGkudG9TdHJpbmcoKX1lbHNlIGkucGF0aG5hbWU9ImNoYXJ0IixpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInN5bWJvbCIsdCk7Y29uc3Qgbz11dCgidXRtX2NhbXBhaWduIik7aS5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ1dG1fc291cmNlIix1dCgidXRtX3NvdXJjZSIpKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV9tZWRpdW0iLHV0KCJ1dG1fbWVkaXVtIikpLGkuc2VhcmNoUGFyYW1zLmFwcGVuZCgidXRtX2NhbXBhaWduIixvP2Ake299LWxvZ29gOiIiKSxpLnNlYXJjaFBhcmFtcy5hcHBlbmQoInV0bV90ZXJtIix0KX1yZXR1cm4gaS50b1N0cmluZygpfWRyYXcodCxlKXtpZighdGhpcy5fc2hvd0JyYW5kaW5nKXJldHVybjtsZXQgaT0wO190LnV0bT0hMCwoMCx4LmRyYXdTY2FsZWQpKHQsZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyxlLnZlcnRpY2FsUGl4ZWxSYXRpbywoKCk9PntpZih0aGlzLl9wb3dCeSYmdGhpcy5fcG93Qnkuc2hvdyl7aT10aGlzLl9wb3dCeS5oZWlnaHQsdC5zYXZlKCk7Y29uc3Qgbz1uZXcgaC5Qb2ludCh0aGlzLl9sZWZ0LHRoaXMuX3BhbmVIZWlnaHQtdGhpcy5fYm90dG9tLWkpO3RoaXMuX3Bvd0J5LmRyYXcobyx0LGUsdGhpcy5fY2FudmFzV2lkdGgpLHQucmVzdG9yZSgpfWlmKHRoaXMuX2N1c3RvbSYmdGhpcy5fY3VzdG9tLnNob3cpe3Quc2F2ZSgpO2NvbnN0IG89bmV3IGguUG9pbnQodGhpcy5fbGVmdCx0aGlzLl9wYW5lSGVpZ2h0LXRoaXMuX2JvdHRvbS1pLXRoaXMuX2N1c3RvbS5oZWlnaHQpO3RoaXMuX2N1c3RvbS5kcmF3KG8sdCxlKSx0LnJlc3RvcmUoKX19KSl9X2luaXQoKXt0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IHQ9dGhpcy5fbWFpblNlcmllcy5zeW1ib2xJbmZvKCk7dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5LmRlc3Ryb3koKSx0aGlzLl9wb3dCeT1uZXcgQ3QodGhpcy5fbGF5b3V0LHQ/Lm5hbWV8fCIiLHRoaXMuX21vZGVsLCgoKT0+dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpKSksCnRoaXMuX2N1c3RvbT1uZXcga3QodGhpcy5fbGF5b3V0LHRoaXMuX2N1c3RvbUxvZ29TcmMsKCgpPT50aGlzLl9tb2RlbC5mdWxsVXBkYXRlKCkpKSx0aGlzLl9vcGVuQW5pbWF0aW9uPW51bGwsdGhpcy5fY2xvc2VBbmltYXRpb249bnVsbCwoMCxfLm9uV2lkZ2V0KSgpJiZaKCkudGhlbigodD0+e3QuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5MYXJnZVRyYWRlTG9nbykmJnRoaXMuX3Bvd0J5JiZ0aGlzLl9wb3dCeS5zaG93VHJhZGVXaXRoTG9nbyghMCksKHQuaW5jbHVkZXMoTS5Lbm93bkFjdGlvbi5FeHBhbmQpfHx0LmluY2x1ZGVzKE0uS25vd25BY3Rpb24uTGFyZ2VUcmFkZUxvZ28pKSYmKHRoaXMuX3N0YXJ0T3BlbkFuaW1hdGlvbigpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPXtzdG9wOigpPT57fSxjb21wbGV0ZWQ6KCk9PiExfSl9KSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKX1fY2hlY2tMYXlvdXQoKXtpZigoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSl7Y29uc3QgdD1tdC53aWRnZXREZWZhdWx0cy5sb2dvfHx7fSxlPSgwLG0uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImZ1bmRhbWVudGFsX3dpZGdldCIpO3RoaXMuX25lZWRUb1Nob3c9IXQud2hpdGVsYWJlbCx0LmltYWdlPyh0aGlzLl9jdXN0b21Mb2dvU3JjPSIvc3RhdGljL2ltYWdlcy93aWRnZXQtZW1iZWQtbG9nby8iK3QuaW1hZ2UsdC5ub19wb3dlcmVkX2J5P3RoaXMuX2xheW91dD1lP2h0OmF0OnRoaXMuX2xheW91dD1lP3J0OnN0KTpfdC5yZWZlcnJhbF9pZHx8X3Qubm9fcmVmZXJyYWxfaWQ/dGhpcy5fbGF5b3V0PW90OnRoaXMuX2xheW91dD1lP250Oml0fWVsc2UgdGhpcy5fbGF5b3V0PWV0fV9zdGFydE9wZW5BbmltYXRpb24oKXtpZihudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbilyZXR1cm47bnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uJiYodGhpcy5fY2xvc2VBbmltYXRpb24uc3RvcCgpLHRoaXMuX2Nsb3NlQW5pbWF0aW9uPW51bGwpO2NvbnN0IHQ9KDAsYy5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wb3dCeSkuYW5pbWF0aW9uU3RlcCgpO3RoaXMuX29wZW5BbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MSxkdXJhdGlvbjoyMDAqKDEtdCksZWFzaW5nOnRoaXMuX2N1YmljQmV6aWVyLmVhc2luZ0Z1bmMsb25TdGVwOnRoaXMuX2FuaW1hdGVkRHJhd1N0ZXAuYmluZCh0aGlzKX0pfV9zdGFydENsb3NlQW5pbWF0aW9uKCl7aWYobnVsbCE9PXRoaXMuX2Nsb3NlQW5pbWF0aW9uKXJldHVybjtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmKHRoaXMuX29wZW5BbmltYXRpb24uc3RvcCgpLHRoaXMuX29wZW5BbmltYXRpb249bnVsbCk7Y29uc3QgdD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRpb25TdGVwKCk7dGhpcy5fY2xvc2VBbmltYXRpb249KDAsdi5kb0FuaW1hdGUpKHtmcm9tOnQsdG86MCxkdXJhdGlvbjoyMDAqdCxlYXNpbmc6dGhpcy5fY3ViaWNCZXppZXIuZWFzaW5nRnVuYyxvblN0ZXA6dGhpcy5fYW5pbWF0ZWREcmF3U3RlcC5iaW5kKHRoaXMpfSl9X2FuaW1hdGVkRHJhd1N0ZXAodCxlKXsoMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Bvd0J5KS5hbmltYXRlZERyYXdTdGVwKGUpLHRoaXMuX21vZGVsLmxpZ2h0VXBkYXRlKCl9X2hhc0FuaW1hdGlvbigpe3JldHVybiBudWxsIT09dGhpcy5fcG93QnkmJnRoaXMuX3Bvd0J5Lmhhc0FuaW1hdGlvbigpfV9vcGVuR29Qcm8oKXt3aW5kb3cucnVuT3JTaWduSW4oKGFzeW5jKCk9PntpZighKDAsSS5jYW5VcGdyYWRlUGxhbikoKSlyZXR1cm47Y29uc3R7b3BlbkdvUHJvOnR9PWF3YWl0IFByb21pc2UuYWxsKFtpLmUoMzk4MyksaS5lKDMzMjIxKSxpLmUoMTc5OTEpLGkuZSgyMjU0NyldKS50aGVuKGkuYmluZChpLDUxNzk5MSkpO3RoaXMuX2Rlc3Ryb3llZHx8dCh7Z29wcm9Tb3VyY2U6ImJyYWRpbmcifSwoKCk9Pnt9KSl9KSx7c291cmNlOiJicmFuZGluZyJ9KX1fb3BlbkxpbmsoKXtpZigoMCxfLmlzU3ltcGhvbnlFbWJlZCkoKSlyZXR1cm4hMTtpZih0aGlzLl9sYXlvdXQ9PT1ldClyZXR1cm4gdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpfHx0aGlzLl9vcGVuR29Qcm8oKSwhMTsoMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKSYmVCh0aGlzLnR2VXJsKCksImNvcHlyaWdodCIpO3JldHVybigwLGMuZW5zdXJlTm90TnVsbCkod2luZG93Lm9wZW4odGhpcy50dlVybCgpLCJfYmxhbmsiKSkub3BlbmVyPW51bGwsITB9X3RvZ2dsZU9wZW5BbmltYXRlZE9yT3BlbkxpbmsoKXtudWxsIT09dGhpcy5fb3BlbkFuaW1hdGlvbiYmdGhpcy5fb3BlbkFuaW1hdGlvbi5jb21wbGV0ZWQoKT90aGlzLl9vcGVuTGluaygpfHx0aGlzLl9zdGFydENsb3NlQW5pbWF0aW9uKCk6dGhpcy5fc3RhcnRPcGVuQW5pbWF0aW9uKCl9fWxldCBBdD17fSxTdD17fTtmdW5jdGlvbiBMdCh0LGUsaSxvLHMpe2NvbnN0IGE9eXQ/U3Q6QXQsbj1bZSx5dCYmaSxzJiYidHJhZGVXaXRoIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi0iKSxyPWFbbl07aWYodm9pZCAwIT09cilyZXR1cm4gcjtjb25zdFtoLGwsZF09ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpP1sibG9nby10cmFkZS13aXRoIiwidHJhZGluZ3ZpZXctdHJhZGUtd2l0aCJdOlt5dD8ibG9nby1vbGQtc3R5bGUiOmBsb2dvLSR7dH1gLHl0PyJ0cmFkaW5ndmlldy1vbGQtc3R5bGUiOmB0cmFkaW5ndmlldy0ke3R9YCx5dHx8IWU/dm9pZCAwOmBwcm8tYmFkZ2UtJHt0fWBdfShlLG8scyksZz10PT55dD90LnJlcGxhY2UoL2ZpbGw9IiNbXGRhLWZdezZ9Ii9naSxgZmlsbD0iJHtpfSJgKTp0LF89e2xvZ29JbWFnZTp0KGcoKDAsYy5lbnN1cmVEZWZpbmVkKSh0dC5nZXQoaCkpKSksdGV4dEltYWdlOnQoZygoMCxjLmVuc3VyZURlZmluZWQpKHR0LmdldChsKSkpKSxwcm9CYWRnZUltYWdlOmQ/dChnKCgwLGMuZW5zdXJlRGVmaW5lZCkodHQuZ2V0KGQpKSkpOnZvaWQgMH07cmV0dXJuIGFbbl09XyxffWNsYXNzIFR0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdG9wTGVmdFBvaW50PW51bGwsdGhpcy5faGl0VGVzdEhlaWdodD1udWxsfWhpdFRlc3QodCl7CmNvbnN0IGU9dGhpcy5fZ2V0SGl0VGVzdEJveCgpO2lmKGUpcmV0dXJuKDAsbC5wb2ludEluQm94KSh0LGUpfV9nZXRIaXRUZXN0Qm94KCl7Y29uc3QgdD10aGlzLl90b3BMZWZ0UG9pbnQ7aWYodCl7Y29uc3R7eDplLHk6aX09dDtyZXR1cm4oMCxoLmJveCkodCxuZXcgaC5Qb2ludChlK3RoaXMud2lkdGgsaSsodGhpcy5faGl0VGVzdEhlaWdodD8/dGhpcy5oZWlnaHQpKSl9fX1jbGFzcyBDdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpLG8pe3N1cGVyKCksdGhpcy5zaG93PSEwLHRoaXMuaG92ZXJlZD0hMSx0aGlzLmFjdGl2ZT0hMSx0aGlzLl9uZWVkRGlzcGxheUltYWdlPSExLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0xLHRoaXMuX3RleHRBZGRpdGlvbmFsQ3JvcFdpZHRoPTAsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQ9MSx0aGlzLl9iYWRnZURhdGE9e2xvZ29NYXJnaW46MCx0ZXh0TWFyZ2luOjAsd2lkdGg6MH0sdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITEsdGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMSx0aGlzLl90eHQ9IlRyYWRpbmdWaWV3Iix0aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGg9MCx0aGlzLl9sb2dvV2lkdGg9MCx0aGlzLl90ZXh0V2lkdGhDYWNoZT1uZXcgTy5UZXh0V2lkdGhDYWNoZSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpOYU4sdmVydGljYWxQaXhlbFJhdGlvOk5hTn0sdGhpcy5fbW9kZWw9aSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zeW1ib2w9ZSx0aGlzLl9zaG93VHJhZGVXaXRoTG9nbz0hMSx0aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZz0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzaG93X2FuaW1hdGVkX2xvZ28iKXx8dD09PWl0LHRoaXMuX2Fsd2F5c01heGltaXplZD0oMCxtLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJsb2dvX2Fsd2F5c19tYXhpbWl6ZWQiKXx8dGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYhXy5DaGVja01vYmlsZS5hbnkoKXx8IV8uQ2hlY2tNb2JpbGUuYW55KCkmJiF0aGlzLl9tb2RlbC5vbldpZGdldCgpJiYoIXdpbmRvdy51c2VyfHwhd2luZG93LnVzZXIuaXNfcHJvKSx0aGlzLl9mb250U2l6ZT10aGlzLl9zaG93QW5pbWF0ZWRCcmFuZGluZ3x8dGhpcy5fbGF5b3V0PT09b3Q/MTE6MTQsdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmd8fHRoaXMuX2xheW91dCE9PXN0JiZ0aGlzLl9sYXlvdXQhPT1ydHx8KHRoaXMuX2ZvbnRTaXplPTEyKSx0aGlzLl9zaXplQ29uc3RhbnRzPWZ1bmN0aW9uKHQpe3tpZih4dClyZXR1cm57YnJhbmRDaXJjbGVTaXplOjMyLHRleHRBc0ltYWdlV2lkdGhDb21wZW5zYXRpb246MixsZWZ0T2Zmc2V0OjEsYm90dG9tT2Zmc2V0Oi0yMCxsb2dvTGVmdE9mZnNldDoxLGxvZ29UZXh0T2Zmc2V0OjR9O2NvbnN0IGU9e2JyYW5kQ2lyY2xlU2l6ZTo0OCx0ZXh0QXNJbWFnZVdpZHRoQ29tcGVuc2F0aW9uOjAsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNCxsb2dvTGVmdE9mZnNldDo4LGxvZ29UZXh0T2Zmc2V0OjF9O3JldHVybiB0P18uQ2hlY2tNb2JpbGUuYW55KCk/ey4uLmUsbGVmdE9mZnNldDotMjEsYm90dG9tT2Zmc2V0Oi0yMH06ey4uLmUsbGVmdE9mZnNldDotMTcsYm90dG9tT2Zmc2V0Oi0xNn06ZX19KHRoaXMuX21vZGVsLmlzU25hcHNob3QoKSksdGhpcy53aWR0aD10aGlzLl9taW5pbWl6ZWRBbmltYXRpb25XaWR0aCgpLHRoaXMuX2FuaW1hdGVkV2lkdGg9dGhpcy53aWR0aCx0aGlzLmhlaWdodD10aGlzLl9mb250U2l6ZSsyLHRoaXMuX3JlcXVlc3RSZXBhaW50PW8sdGhpcy5faW5pdCgpLHRoaXMuX2NoZWNrRm9udExvYWRlZCgpLHRoaXMuX3JlY2FsY3VsYXRlTWV0cmljcygpfWRlc3Ryb3koKXt0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5vbkNoYXJ0VGhlbWVMb2FkZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKX1oYXNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5fc2hvd0FuaW1hdGVkQnJhbmRpbmcmJiF0aGlzLl9hbHdheXNNYXhpbWl6ZWR9YW5pbWF0aW9uU3RlcCgpe2NvbnN0IHQ9dGhpcy5fbWluaW1pemVkQW5pbWF0aW9uV2lkdGgoKSxlPXRoaXMuX21heGltaXplZEFuaW1hdGlvbldpZHRoKCk7cmV0dXJuKHRoaXMuX2FuaW1hdGVkV2lkdGgtdCkvKGUtdCl9YW5pbWF0ZWREcmF3U3RlcCh0KXtjb25zdCBlPXRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2FuaW1hdGVkV2lkdGg9ZSt0KihpLWUpLHRoaXMuX3RleHRBbmltYXRlZEFscGhhPXRoaXMuX3RleHRBbmltYXRlZEFscGhhU3RhcnQrdCoodGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFFbmQtdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydCl9ZHJhdyh0LGUsaSxvKXtjb25zdHticmFuZENpcmNsZVNpemU6cyxsb2dvTGVmdE9mZnNldDphLGxlZnRPZmZzZXQ6bixib3R0b21PZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0aGlzLl9uZWVkRGlzcGxheUltYWdlJiYodD1uZXcgaC5Qb2ludCh0Lngrbix0LnktcikpLHRoaXMuX3RvcExlZnRQb2ludD10LGUudHJhbnNsYXRlKHQueCx0LnkpO2NvbnN0e2hvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmR9PWk7KDAsRC5lcXVhbFBpeGVsUmF0aW9zKShpLHRoaXMuX3BpeGVsUmF0aW8pfHwodGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9waXhlbFJhdGlvPXtob3Jpem9udGFsUGl4ZWxSYXRpbzpsLHZlcnRpY2FsUGl4ZWxSYXRpbzpkfSk7Y29uc3QgYz10aGlzLl9jb2xvcnM7aWYodGhpcy5fc2hvd1RyYWRlV2l0aExvZ28pe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdUcmFkZVdpdGhMb2dvKGUsdCxpKX1lbHNlIGlmKHRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKXsKY29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTt0aGlzLndpZHRoPXRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fZHJhd0xvZ28oZSx0LHRoaXMuX2FuaW1hdGVkV2lkdGgsdGhpcy5fYW5pbWF0ZWRXaWR0aCx0aGlzLl9hbmltYXRlZFdpZHRoPih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0LmxvZ29JbWFnZS52aWV3Qm94KCkud2lkdGgrdGhpcy5fc2l6ZUNvbnN0YW50cy5sb2dvVGV4dE9mZnNldCt0aGlzLl9iYWRnZURhdGEubG9nb01hcmdpbit0aGlzLl9iYWRnZURhdGEud2lkdGgrdGhpcy5fYmFkZ2VEYXRhLnRleHRNYXJnaW4pKX19ZWxzZSBpZih0aGlzLl9sYXlvdXQ9PT1zdHx8dGhpcy5fbGF5b3V0PT09cnQpe2UuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCk7Y29uc3QgdD1lLm1lYXN1cmVUZXh0KHRoaXMuX3R4dCkud2lkdGgrMjt0aGlzLndpZHRoPXQrZS5tZWFzdXJlVGV4dCgiVHJhZGluZ1ZpZXciKS53aWR0aCsyLGUuc2F2ZSgpLGUuZ2xvYmFsQWxwaGE9LjcsZS5maWxsU3R5bGU9dGhpcy5fY29sb3JzLmN1c3RvbUJyYW5kaW5nVGV4dCxlLmZpbGxUZXh0KHRoaXMuX3R4dCwwLDEyKSxlLmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuY3VzdG9tQnJhbmRpbmdUcmFkaW5nVmlld1RleHQsZS5maWxsVGV4dCgiVHJhZGluZ1ZpZXciLHQsMTIpLGUucmVzdG9yZSgpfWVsc2UgaWYodGhpcy5fbGF5b3V0PT09b3Qpe2NvbnN0IHQ9dGhpcy5fZ2V0TG9nb0ltYWdlKGMubG9nbyksaT10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpO3RoaXMuX2RyYXdMb2dvKGUsdCxpLGksITApfWVsc2UgaWYodGhpcy5fbmVlZERpc3BsYXlJbWFnZSl7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UoYy5sb2dvKTtlLnNhdmUoKSx5dCYmdGhpcy5fZHJhd0JnQ2lyY2xlKGUscy8yKTtjb25zdHt3aWR0aDppLGhlaWdodDpvfT10LmxvZ29JbWFnZS52aWV3Qm94KCksbj1uZXcgaC5Qb2ludChNYXRoLnJvdW5kKChzLWkpLzIpLTErYSxNYXRoLmZsb29yKChzLW8pLzIpKzEpO3RoaXMuX2RyYXdMb2dvSW1hZ2UoZSxuLHQubG9nb0ltYWdlKTtjb25zdCByPSEwO3ImJihlLnRyYW5zbGF0ZShzKzUsTWF0aC5yb3VuZCh0aGlzLl9mb250U2l6ZSooInB4IEV1Y2xpZENpcmN1bGFyIj09PXRoaXMuX2dldEZvbnRGYW1pbHkoKT8uMTowKSkpLHRoaXMuX2RyYXdUZXh0U3Ryb2tlKGUpLHRoaXMuX2RyYXdUZXh0RmlsbChlKSksZS5yZXN0b3JlKCksdGhpcy53aWR0aD1zLHImJih0aGlzLndpZHRoKz10aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25UZXh0V2lkdGgpfWVsc2V7Y29uc3QgdD0hMDt0JiYoZS5zYXZlKCksZS50cmFuc2xhdGUoZ3Q/LS41OjAsLS41KSx0aGlzLl9kcmF3VGV4dFN0cm9rZShlKSx0aGlzLl9kcmF3VGV4dEZpbGwoZSksZS5yZXN0b3JlKCkpLHQmJih0aGlzLndpZHRoPXRoaXMuX21heGltaXplZEFuaW1hdGlvblRleHRXaWR0aCl9fXNob3dUcmFkZVdpdGhMb2dvKHQpe3RoaXMuX3Nob3dUcmFkZVdpdGhMb2dvPXR9X21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl7cmV0dXJuKHl0P3RoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplOnRoaXMuX2xvZ29XaWR0aCkrdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4rdGhpcy5fYmFkZ2VEYXRhLndpZHRofV9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpe3JldHVybih5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpK3RoaXMuX3NpemVDb25zdGFudHMubG9nb1RleHRPZmZzZXQrdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoK3RoaXMuX2JhZGdlRGF0YS53aWR0aCt0aGlzLl9iYWRnZURhdGEudGV4dE1hcmdpbn1fZHJhd1RyYWRlV2l0aExvZ28odCxlLGkpe3t0LnNhdmUoKSx0aGlzLl9kcmF3RmlsbFJlY3RXaXRoUm91bmRlZENvcm5lcih0LC01LDEsMTQxLDM4LDgsNyk7Y29uc3R7d2lkdGg6byxoZWlnaHQ6c309ZS5sb2dvSW1hZ2Uudmlld0JveCgpLGE9bmV3IGguUG9pbnQoTWF0aC5yb3VuZChvLzIpLTE5LE1hdGguZmxvb3Iocy8yKS0xMik7dGhpcy5fZHJhd0xvZ29JbWFnZSh0LGEsZS5sb2dvSW1hZ2UpO2NvbnN0IG49bmV3IGguUG9pbnQoYS54K28sYS55KTt0aGlzLl9kcmF3SW1hZ2VDcm9wV2lkdGgodCxuLGUudGV4dEltYWdlLGkpLHRoaXMud2lkdGg9bytNYXRoLm1pbihlLnRleHRJbWFnZS52aWV3Qm94KCkud2lkdGgsaSksdC5yZXN0b3JlKCl9fV9kcmF3TG9nbyh0LGUsaSxvLHMpe2NvbnN0e2JyYW5kQ2lyY2xlU2l6ZTphLGxvZ29MZWZ0T2Zmc2V0Om4sbG9nb1RleHRPZmZzZXQ6cn09dGhpcy5fc2l6ZUNvbnN0YW50czt0LnNhdmUoKSx5dCYmdGhpcy5fZHJhd0ZpbGxSZWN0V2l0aFJvdW5kZWRDb3JuZXIodCwtLjUsMCxpLGEsYS8yKTtjb25zdHtsb2dvSW1hZ2U6bCx0ZXh0SW1hZ2U6ZCxwcm9CYWRnZUltYWdlOmN9PWUse3dpZHRoOmcsaGVpZ2h0Ol99PWwudmlld0JveCgpLG09bmV3IGguUG9pbnQoTWF0aC5yb3VuZCgoYS1nKS8yKS0xK24sTWF0aC5mbG9vcigoYS1fKS8yKSsxKTtpZihzKXtjb25zdCBlPW5ldyBoLlBvaW50KG0ueCtnK3IsbS55KSxpPXQuZ2xvYmFsQWxwaGE7dC5nbG9iYWxBbHBoYSo9dGhpcy5fdGV4dEFuaW1hdGVkQWxwaGE7Y29uc3Qgcz1vLSh5dD90aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZTp0aGlzLl9sb2dvV2lkdGgpLXItdGhpcy5fYmFkZ2VEYXRhLmxvZ29NYXJnaW4tdGhpcy5fYmFkZ2VEYXRhLndpZHRoO3RoaXMuX2RyYXdJbWFnZUNyb3BXaWR0aCh0LGUsZCxzKSx0Lmdsb2JhbEFscGhhPWl9aWYoYyl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6aX09Yy52aWV3Qm94KCk7Yy5yZW5kZXIodCx7dGFyZ2V0Vmlld0JveDp7eDptLngrdGhpcy53aWR0aC1lLHk6TWF0aC5mbG9vcigoYS1pKS8yKSsxLHdpZHRoOmUsaGVpZ2h0Oml9fSl9dGhpcy5fZHJhd0xvZ29JbWFnZSh0LG0sbCksdC5yZXN0b3JlKCl9X2luaXQoKXtTdD17fSxBdD17fSx0aGlzLl9jaGVja0xheW91dCgpLHRoaXMuc2hvdyYmKHRoaXMuX3VwZGF0ZUNvbG9ycygpLHRoaXMuX3VwZGF0ZUhlaWdodCgpLAp0aGlzLl9tb2RlbC5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkuYmFja2dyb3VuZC5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVDb2xvcnMpLHRoaXMuX21vZGVsLm9uQ2hhcnRUaGVtZUxvYWRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUNvbG9ycykpfV91cGRhdGVIZWlnaHQoKXtpZih0aGlzLl9uZWVkRGlzcGxheUltYWdlKWlmKHl0KXRoaXMuaGVpZ2h0PXRoaXMuX3NpemVDb25zdGFudHMuYnJhbmRDaXJjbGVTaXplO2Vsc2V7Y29uc3QgdD10aGlzLl9nZXRMb2dvSW1hZ2UodGhpcy5fY29sb3JzLmxvZ28pO2lmKG51bGwhPT10KXtjb25zdCBlPXQubG9nb0ltYWdlLnZpZXdCb3goKS5oZWlnaHQ7dGhpcy5oZWlnaHQ9TWF0aC5tYXgoZSx0LnRleHRJbWFnZS52aWV3Qm94KCkuaGVpZ2h0KSx0aGlzLl9oaXRUZXN0SGVpZ2h0PWV9fWVsc2UgdGhpcy5oZWlnaHQ9dGhpcy5fZm9udFNpemUrMn1fY2hlY2tGb250TG9hZGVkKCl7aWYoIXRoaXMuX3Nob3dBbmltYXRlZEJyYW5kaW5nJiZkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMuY2hlY2smJmRvY3VtZW50LmZvbnRzLmxvYWQpe2RvY3VtZW50LmZvbnRzLmNoZWNrKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCk/dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMDpkb2N1bWVudC5mb250cy5sb2FkKGAke3RoaXMuX2ZvbnRTaXplfXB4IEV1Y2xpZENpcmN1bGFyYCx0aGlzLl90eHQpLnRoZW4oKCgpPT57dGhpcy5fZXVjbGlkRm9udEF2YWlsYWJsZT0hMCx0aGlzLl9yZWNhbGN1bGF0ZU1ldHJpY3MoKSx0aGlzLl9yZXF1ZXN0UmVwYWludCgpfSkpfX1fZ2V0Rm9udEZhbWlseSgpe3JldHVybiB0aGlzLl9ldWNsaWRGb250QXZhaWxhYmxlPyJweCBFdWNsaWRDaXJjdWxhciI6YHB4ICR7Ui5DSEFSVF9GT05UX0ZBTUlMWV9XVi52YWx1ZSgpfWB9X3JlY2FsY3VsYXRlTWV0cmljcygpe2NvbnN0IHQ9KDAseC5jcmVhdGVEaXNjb25uZWN0ZWRDYW52YXMpKGRvY3VtZW50LCgwLG4uc2l6ZSkoe3dpZHRoOjAsaGVpZ2h0OjB9KSksZT0oMCx4LmdldFByZXNjYWxlZENvbnRleHQyRCkodCk7ZS5mb250PXRoaXMuX2ZvbnRTaXplK3RoaXMuX2dldEZvbnRGYW1pbHkoKTtjb25zdCBpPXRoaXMuX25lZWREaXNwbGF5SW1hZ2U/dGhpcy5fZ2V0TG9nb0ltYWdlKHRoaXMuX2NvbG9ycy5sb2dvKTpudWxsO2xldCBvPWk/aS50ZXh0SW1hZ2Uudmlld0JveCgpLndpZHRoK3RoaXMuX3NpemVDb25zdGFudHMudGV4dEFzSW1hZ2VXaWR0aENvbXBlbnNhdGlvbjpNYXRoLmNlaWwoZS5tZWFzdXJlVGV4dCh0aGlzLl90eHQpLndpZHRoKSsyKzg7byUyPT0wJiYobys9MSksdGhpcy5fbWF4aW1pemVkQW5pbWF0aW9uVGV4dFdpZHRoPW8sdGhpcy5fdGV4dFdpZHRoQ2FjaGUucmVzZXQoKSx0aGlzLl9sb2dvV2lkdGg9aT8ubG9nb0ltYWdlLnZpZXdCb3goKS53aWR0aD8/MCx0aGlzLl9hbmltYXRlZFdpZHRoPXRoaXMuX2Fsd2F5c01heGltaXplZD90aGlzLl9tYXhpbWl6ZWRBbmltYXRpb25XaWR0aCgpOnRoaXMuX21pbmltaXplZEFuaW1hdGlvbldpZHRoKCl9X3VwZGF0ZUNvbG9ycygpe3RoaXMuX2NvbG9ycz10aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT9ROkp9X2dldExvZ29JbWFnZSh0KXtyZXR1cm4gTHQoeS5zdmdSZW5kZXJlcix0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8iZGFyayI6ImxpZ2h0Iix0LCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJkJvb2xlYW4od2luZG93LnVzZXI/LmlzX2V4cGVydCkmJndpbmRvdy51c2VyPy5kZWNsYXJlZF9zdGF0dXM9PT1ILlVzZXJTdGF0dXMuUHJvLHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvKX1fY2hlY2tMYXlvdXQoKXtzd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OmNhc2Ugb3Q6Y2FzZSBzdDpjYXNlIG50OmNhc2UgcnQ6Y2FzZSBkdDpjYXNlIGx0OmNhc2UgZXQ6dGhpcy5zaG93PSEwO2JyZWFrO2Nhc2UgYXQ6Y2FzZSBodDpjYXNlIGN0OnRoaXMuc2hvdz0hMX1zd2l0Y2godGhpcy5fbGF5b3V0KXtjYXNlIGl0OnRoaXMuX25lZWREaXNwbGF5SW1hZ2U9ITAsdGhpcy5fdHh0PXd0O2JyZWFrO2Nhc2UgbnQ6dGhpcy5fdHh0PXB0LmZvcm1hdCh7c3ltYm9sOnRoaXMuX3N5bWJvbH0pO2JyZWFrO2Nhc2Ugb3Q6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDticmVhaztjYXNlIHN0OmNhc2UgcnQ6dGhpcy5fdHh0PWZ0O2JyZWFrO2Nhc2UgZXQ6dGhpcy5fbmVlZERpc3BsYXlJbWFnZT0hMDtjb25zdCB0PXRoaXMuX2dldExvZ29JbWFnZSgiIikucHJvQmFkZ2VJbWFnZTt0JiYhdGhpcy5fbW9kZWwuaXNTbmFwc2hvdCgpJiYodGhpcy5fYmFkZ2VEYXRhPXtsb2dvTWFyZ2luOi0xMSx0ZXh0TWFyZ2luOi04LHdpZHRoOnQudmlld0JveCgpLndpZHRofSksdGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb249ITAsdGhpcy5fdGV4dEFkZGl0aW9uYWxDcm9wV2lkdGg9MTEsdGhpcy5fdGV4dEFuaW1hdGVkQWxwaGFTdGFydD0uMyx0aGlzLl90ZXh0QW5pbWF0ZWRBbHBoYUVuZD0xfX1fZHJhd1RleHRTdHJva2UodCl7dC5zYXZlKCksdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC50ZXh0QWxpZ249InN0YXJ0Iix0LmZvbnQ9dGhpcy5fZm9udFNpemUrdGhpcy5fZ2V0Rm9udEZhbWlseSgpLHQuc3Ryb2tlU3R5bGU9dGhpcy5fY29sb3JzLnN0YXRpY1RleHRCYWNrZ3JvdW5kLHQubGluZVdpZHRoPTQsdC5saW5lSm9pbj0icm91bmQiLHQuc3Ryb2tlVGV4dCh0aGlzLl90eHQsMCx0aGlzLl9zaXplQ29uc3RhbnRzLmJyYW5kQ2lyY2xlU2l6ZS8yK3RoaXMuX3RleHRXaWR0aENhY2hlLnlNaWRDb3JyZWN0aW9uKHQsdGhpcy5fdHh0KSksdC5yZXN0b3JlKCl9X2RyYXdUZXh0RmlsbCh0KXt0LnNhdmUoKSx0LnRleHRCYXNlbGluZT0ibWlkZGxlIix0LnRleHRBbGlnbj0ic3RhcnQiLHQuZm9udD10aGlzLl9mb250U2l6ZSt0aGlzLl9nZXRGb250RmFtaWx5KCksdC5maWxsU3R5bGU9dGhpcy5fY29sb3JzLnRleHQsCnQuZmlsbFRleHQodGhpcy5fdHh0LDAsdGhpcy5fc2l6ZUNvbnN0YW50cy5icmFuZENpcmNsZVNpemUvMit0aGlzLl90ZXh0V2lkdGhDYWNoZS55TWlkQ29ycmVjdGlvbih0LHRoaXMuX3R4dCkpLHQucmVzdG9yZSgpfV9kcmF3SW1hZ2VDcm9wV2lkdGgodCxlLGksbyl7dC5zYXZlKCk7Y29uc3R7bG9nb01hcmdpbjpzLHRleHRNYXJnaW46YX09dGhpcy5fYmFkZ2VEYXRhO3QuYmVnaW5QYXRoKCk7Y29uc3R7d2lkdGg6bixoZWlnaHQ6cn09aS52aWV3Qm94KCk7dC5yZWN0KGUueC10aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxlLnksbyt0aGlzLl90ZXh0QWRkaXRpb25hbENyb3BXaWR0aCxyKSx0LmNsaXAoKSxpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueC0odGhpcy5faW52ZXJ0VGV4dENyb3BEaXJlY3Rpb24/bi1vLXMrYTowKSx5OmUueSx3aWR0aDpuLGhlaWdodDpyfX0pLHQucmVzdG9yZSgpfV9kcmF3QmdDaXJjbGUodCxlKXtjb25zdCBpPTIqTWF0aC5QSTt0LnNhdmUoKSx0LmJlZ2luUGF0aCgpLHQuZmlsbFN0eWxlPXRoaXMuX2NvbG9ycy5zaGFkb3csdC5hcmMoZSxlLGUrMSwwLGkpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksdC5iZWdpblBhdGgoKSx0LmZpbGxTdHlsZT10aGlzLl9jb2xvcnMuYmFja2dyb3VuZCx0LmFyYyhlLGUsZSwwLGksITEpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X2RyYXdGaWxsUmVjdFdpdGhSb3VuZGVkQ29ybmVyKHQsZSxpLG8scyxhLG4pe3Quc2F2ZSgpLCgwLEYuZHJhd1JvdW5kUmVjdCkodCxlLTEsaS0xLG8rMixzKzIsYSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCksdC5zYXZlKCksKDAsRi5kcmF3Um91bmRSZWN0KSh0LGUsaSxvLHMsbj8/YSksdC5maWxsU3R5bGU9dGhpcy5fYmFja2dyb3VuZEZpbGxTdHlsZSgpLHQuZmlsbCgpLHQuY2xvc2VQYXRoKCksdC5yZXN0b3JlKCl9X3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5hY3RpdmU/dGhpcy5fbW9kZWwuZGFyaygpLnZhbHVlKCk/InJnYmEoNTQsIDU4LCA2OSkiOiJyZ2JhKDIyNCwgMjI3LCAyMzUpIjp0aGlzLl9tb2RlbC5kYXJrKCkudmFsdWUoKT8icmdiKDQyLCA0NiwgNTcpIjoicmdiKDI0MCwgMjQzLCAyNTApIn1fYmFja2dyb3VuZFNoYWRvd0ZpbGxTdHlsZSgpe3JldHVybiB0aGlzLl9zaG93VHJhZGVXaXRoTG9nbyYmKHRoaXMuYWN0aXZlfHx0aGlzLmhvdmVyZWQpP3RoaXMuX3RyYWRlV2l0aExvZ29CYWNrZ3JvdW5kQ29sb3IoKTp0aGlzLl9jb2xvcnMuc2hhZG93fV9iYWNrZ3JvdW5kRmlsbFN0eWxlKCl7cmV0dXJuIHRoaXMuX3Nob3dUcmFkZVdpdGhMb2dvJiYodGhpcy5hY3RpdmV8fHRoaXMuaG92ZXJlZCk/dGhpcy5fdHJhZGVXaXRoTG9nb0JhY2tncm91bmRDb2xvcigpOnRoaXMuX2NvbG9ycy5iYWNrZ3JvdW5kfV9kcmF3TG9nb0ltYWdlKHQsZSxpKXt5dHx8KHRoaXMuX3RvcExlZnRQb2ludD0oMCxjLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvcExlZnRQb2ludCkuYWRkKGUpKTtjb25zdHt3aWR0aDpvLGhlaWdodDpzfT1pLnZpZXdCb3goKTtpLnJlbmRlcih0LHt0YXJnZXRWaWV3Qm94Ont4OmUueCx5OmUueSx3aWR0aDpvLGhlaWdodDpzfX0pfX1jbGFzcyBrdCBleHRlbmRzIFR0e2NvbnN0cnVjdG9yKHQsZSxpKXtzdXBlcigpLHRoaXMuc2hvdz0hMSx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLl9yZWFkeT0hMSx0aGlzLl9sYXlvdXQ9dCx0aGlzLl9zcmM9ZSx0aGlzLl9vblJlYWR5Q2FsbGJhY2s9aSx0aGlzLl9jaGVja0xheW91dCgpO2NvbnN0IG89bmV3IEltYWdlO3RoaXMuX2ltZz1vLHRoaXMuc2hvdyYmKG8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCgpPT57dGhpcy53aWR0aD1NYXRoLnJvdW5kKG8ud2lkdGgpLHRoaXMuaGVpZ2h0PU1hdGgucm91bmQoby5oZWlnaHQpLHRoaXMuX3JlYWR5PSEwLHRoaXMuX29uUmVhZHlDYWxsYmFjayYmdGhpcy5fb25SZWFkeUNhbGxiYWNrKCl9KSksby5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixvLnNyYz10aGlzLl9zcmMpfWRyYXcodCxlLGkpe3RoaXMuX3RvcExlZnRQb2ludD10LHRoaXMuX3JlYWR5JiYoZS50cmFuc2xhdGUodC54LHQueSksZS5kcmF3SW1hZ2UodGhpcy5faW1nLC0uNSwtLjUsdGhpcy53aWR0aCx0aGlzLmhlaWdodCkpfV9jaGVja0xheW91dCgpe3N3aXRjaCh0aGlzLl9sYXlvdXQpe2Nhc2Ugc3Q6Y2FzZSBhdDpjYXNlIHJ0OmNhc2UgaHQ6Y2FzZSBkdDpjYXNlIGN0OnRoaXMuc2hvdz0hMDticmVhaztjYXNlIGV0OmNhc2UgaXQ6Y2FzZSBvdDpjYXNlIG50OmNhc2UgbHQ6dGhpcy5zaG93PSExfX19Y29uc3QgQnQ9e3M6MCwiMmgiOjAsIjJ2IjoxLCIzaCI6MCwiM3YiOjIsIjNzIjowLCIzciI6MSwiMi0xIjoxLCIxLTIiOjEsNDoxLCI0diI6MywiNGgiOjAsIjRzIjowLCI0cy1sIjowLCIxLTMiOjEsIjMtMSI6MywiMi0yLWwiOjAsIjItMi1yIjoxLCIyLTIiOjMsIjEtNCI6MSwiNWgiOjAsIjV2IjowLCI1cyI6MCwiNXMtbCI6MCwiMi0zIjoyLCIzLTIiOjMsIjQtMSI6NCwiMi0zLWwiOjAsIjItMy1yIjoyLDY6MSwiNmgiOjAsIjZ2IjowLCI2YyI6NCwiMi00IjoyLCI0LTIiOjQsIjQtMyI6NCwiN2giOjAsIjdzIjowLDg6MSwiOGMiOjYsIjhoIjowLCI4diI6MCwiOXMiOjYsIjUtNCI6NSwiOWgiOjAsIjl2IjowLCIxMGM1IjoxLCIxMGgiOjAsIjEwdiI6MCwiMTJjNiI6MSwiMTJjNCI6MywiMTJoIjowLCIxNGM3IjoxLCIxNmM4IjoxLCIxNmM0IjozfTtmdW5jdGlvbiBQdCh0KXtjb25zdCBlPWZ1bmN0aW9uKHQsZSxpLGEpe2xldCBuPTA7Y29uc3Qgcj0oMCxzLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+KytuKSxbaSxhXSk7cmV0dXJuKDAsby5jb21iaW5lKSgoKGUsaSk9PnQoKVtCdFtlXV0/P251bGwpLGUud2Vha1JlZmVyZW5jZSgpLHIub3duZXJzaGlwKCkpCn0odC5nZXRBbGwuYmluZCh0KSx0LmxheW91dCx0LmNoYXJ0c1N3YXBwZWQoKSx0LmNoYXJ0V2lkZ2V0Q3JlYXRlZCgpKTt0LmFkZEN1c3RvbVNvdXJjZSgiYnJhbmRpbmciLCgoaSxzKT0+e2NvbnN0IGE9KDAsby5jb21iaW5lKSgoKHQsZSk9Pntjb25zdCBpPXQ/P2U7cmV0dXJuIG51bGwhPT1pJiZpLmhhc01vZGVsKCkmJmkubW9kZWwoKS5tb2RlbCgpPT09c30pLHQubWF4aW1pemVkQ2hhcnRXaWRnZXQoKS53ZWFrUmVmZXJlbmNlKCksZS5vd25lcnNoaXAoKSk7cmV0dXJuIG5ldyBidChpLHMsYS5vd25lcnNoaXAoKSl9KSxhLkN1c3RvbVNvdXJjZUxheWVyLlRvcG1vc3QpfX0sODM5NDEyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2VuYWJsZTooKT0+cixyZWZlcmVuY2VUb1RyYWRpbmdWaWV3OigpPT5ofSk7dmFyIG89aSgzODY5MzEpLHM9aSg2MDE1ODcpLGE9aSg5MzAyMzEpO2xldCBuO2Z1bmN0aW9uIHIodCxlKXtuPXQsZT1lfHwiYWdncmVzc2l2ZSIsKDAsYS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpLCgwLGEuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInJlZmVycmFsX3Byb2dyYW1fcG9saWN5XyIrZSksKDAsby50cmFja0V2ZW50KSgiUmVmZXJyYWwgcHJvZ3JhbSBlbmFibGVkIixlKX1mdW5jdGlvbiBoKCl7Y29uc3QgdD0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIjtyZXR1cm4gbj90KyI/YWZmX2lkPSIrbisiJiIrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITEpOnQrKDAscy5idWlsZFV0bVF1ZXJ5U3RyaW5nRnJvbVVybFBhcmFtcykoITApfX0sMzE5ODcyKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldExvY2FsaXplZERvbWFpbjooKT0+cyxnZXRMb2NhbGl6ZWREb21haW5Vcmw6KCk9PmF9KTtjb25zdCBvPXthcl9BRToiYXIiLGRlX0RFOiJkZSIsZW46Ind3dyIsZXM6ImVzIixjYV9FUzoiZXMiLGZhX0lSOiJ3d3ciLGZyOiJmciIsaGVfSUw6ImlsIixpZDoiaWQiLGluOiJpbiIsaXQ6Iml0IixqYToianAiLGtyOiJrciIsbXNfTVk6Im15IixwbDoicGwiLGJyOiJiciIscnU6InJ1Iixzdl9TRToic2UiLHRoX1RIOiJ0aCIsdHI6InRyIix1azoidWsiLHZpX1ZOOiJ2biIsemhfQ046ImNuIix6aF9UVzoidHcifTtmdW5jdGlvbiBzKHQpe3JldHVybiBvW3RdfHwid3d3In1mdW5jdGlvbiBhKHQsZSl7Y29uc3QgaT1zKGUpLG89dC50b1N0cmluZygpLGE9YCR7dC5wYXRobmFtZX0ke3Quc2VhcmNofSR7dC5oYXNofWAsbj0vXmh0dHBzOlwvXC8oW1x3LV0rKVwueHN0YWdpbmcoLXdpZGdldCk/XC50di87cmV0dXJuL15odHRwczpcL1wvKChcdyotKT8oYmV0YXxiZXRhMCkpXC50cmFkaW5ndmlld1wuY29tLy50ZXN0KG8pPyJ3d3ciPT09aT9gaHR0cHM6Ly9iZXRhLnRyYWRpbmd2aWV3LmNvbSR7YX1gOmBodHRwczovLyR7aX0tYmV0YS50cmFkaW5ndmlldy5jb20ke2F9YDpuLnRlc3Qobyk/by5yZXBsYWNlKG4sImh0dHBzOi8vJDEueHN0YWdpbmcudHYiKTovXC9sb2NhbGhvc3QvLnRlc3Qobyk/bzovXmh0dHBzOlwvXC8oXHcrXC4pP3RyYWRpbmd2aWV3XC5jb20vLnRlc3Qobyk/YGh0dHBzOi8vJHtpfS50cmFkaW5ndmlldy5jb20ke2F9YDpvfX0sMzY0MTg4KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2dldFRWSG9zdEZyb21Mb2NhbGU6KCk9PnN9KTt2YXIgbz1pKDMxOTg3Mik7ZnVuY3Rpb24gcyh0KXtyZXR1cm4oMCxvLmdldExvY2FsaXplZERvbWFpbikodCkrIi50cmFkaW5ndmlldy5jb20ifX0sNjAxNTg3KHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUse2J1aWxkVXRtUXVlcnlTdHJpbmc6KCk9PnIsYnVpbGRVdG1RdWVyeVN0cmluZ0Zyb21VcmxQYXJhbXM6KCk9PmgsZmlsdGVyVXRtSW5mbzooKT0+bn0pO3ZhciBvPWkoNDkyNjc3KSxzPWkoNjQxNTkzKTtjb25zdCBhPVsidXRtX3NvdXJjZSIsInV0bV9tZWRpdW0iLCJ1dG1fY2FtcGFpZ24iXTtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgoaT0+e2NvbnN0IG89dFtpXTsic3RyaW5nIj09dHlwZW9mIG8mJiIiIT09byYmKGVbaV09KDAscy5odG1sRXNjYXBlKShvKSl9KSksZX1mdW5jdGlvbiByKHQsZT0hMSl7Y29uc3QgaT0oMCxvLmNyZWF0ZVVybFBhcmFtcykodCk7cmV0dXJuIGkmJmU/Ij8iK2k6aX1mdW5jdGlvbiBoKHQpe3JldHVybiByKG4oKDAsby5nZXRVcmxQYXJhbXMpKCkpLHQpfX0sNTk1ODAwKHQpe3QuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAxOSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE5Ij48cGF0aCBmaWxsPSIjMTMxNzIyIiBkPSJNOSA0SDB2NGg1djdoNFY0Wm04IDExaC01bDQuNS0xMWg1TDE3IDE1Wm0tNS03YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNFoiLz48L3N2Zz4nfSw4Nzc5NzkodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM1IDE5IiB3aWR0aD0iMzUiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMCAwaDE2djFhNC45OCA0Ljk4IDAgMCAxIDYuOS44N0wyMy42NSAwaDExLjNsLTcuNiAxOUg2di05SDBWMFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik0xNCAySDJ2Nmg2djloNlYyWk0yNiAxN2gtN2w2LTE1aDdsLTYgMTVaTTE5IDhhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2WiIvPjwvc3ZnPid9LDcyMTY0Nih0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwIDE5IiB3aWR0aD0iNTAiIGhlaWdodD0iMTkiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTAuNjUgMGgzOS4zbC03LjYgMTlILjA1TDYgNGgzLjA1bDEuNi00WiIvPjxwYXRoIGZpbGw9ImxpZ2h0Z3JheSIgZD0ibTYgMTcgNi0xNWgzNWwtNiAxNUg2WiIvPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNMTkuMTUgNS45YzEuNDQgMCAyLjQ5IDEuMDQgMi40OSAyLjM5cy0xLjA1IDIuMzktMi40OSAyLjM5aC0uOTFWMTNoLTEuNDVWNS45aDIuMzZabS0uMDIgMy40MmMuNjYgMCAxLjEtLjQ1IDEuMS0xLjAzIDAtLjU4LS40NC0xLjAzLTEuMS0xLjAzaC0uODl2Mi4wNmguODlaTTIzLjQgMTNWNS45aDIuNzJjMS4zMyAwIDIuMTguOTIgMi4xOCAyLjEgMCAuOTUtLjUyIDEuNTUtMS40NiAxLjg1TDI5LjM5IDEzaC0xLjc1bC0yLjQzLTIuOTloLS4zNlYxM0gyMy40Wm0xLjQ1LTQuMjNoMS4xYy41NCAwIC45LS4yOS45LS43NyAwLS40OS0uMzYtLjc3LS45LS43N2gtMS4xdjEuNTRabTEyLjUuNjhhMy42NyAzLjY3IDAgMSAxLTcuMzQgMCAzLjY3IDMuNjcgMCAwIDEgNy4zNCAwWm0tNS44OCAwYzAgMS4yNC45NyAyLjI3IDIuMiAyLjI3YTIuMjQgMi4yNCAwIDAgMCAyLjIyLTIuMjdjMC0xLjI0LS45Ny0yLjI3LTIuMjEtMi4yN2EyLjI0IDIuMjQgMCAwIDAtMi4yMSAyLjI3WiIvPjwvc3ZnPid9LDM5MjIyMyh0KXt0LmV4cG9ydHM9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgODkgMTkiIHdpZHRoPSI4OSIgaGVpZ2h0PSIxOSI+PHBhdGggZmlsbD0iIzEzMTcyMiIgZD0iTTY3LjI1IDQuOWMwIC43My0uNiAxLjMyLTEuMzcgMS4zMi0uNzMgMC0xLjM2LS41OS0xLjM2LTEuMzEgMC0uNzIuNjMtMS4zMSAxLjM2LTEuMzEuNzYgMCAxLjM3LjU5IDEuMzcgMS4zWk02Ni45OCAxNWgtMi4yVjYuOTZoMi4yVjE1Wk0zMy41MiA2LjI0Yy43NyAwIDEuMzctLjU5IDEuMzctMS4zIDAtLjczLS42LTEuMzItMS4zNy0xLjMyLS43MyAwLTEuMzUuNTktMS4zNSAxLjMxIDAgLjcyLjYyIDEuMzEgMS4zNSAxLjMxWk0zMi4zOSAxNWgyLjJWNi45NmgtMi4yVjE1Wk01LjE1IDE1aC0yLjJWNi4yMkgwdi0yLjJoOC4xdjIuMkg1LjE1VjE1Wk0xMC4zIDE1bC0yLjIuMDFWNi45NmgyLjJ2MS4zOWMuMjctLjc0IDEtMS4zIDEuODYtMS4zaC4wM2MuMjIgMCAuNDQgMCAuNy4wN3YyLjFjLS4zNC0uMS0uNjItLjE1LS45OC0uMTUtMSAwLTEuNi43NC0xLjYgMS45OVYxNVpNMzguMjcgMTVoLTIuMlY2Ljk3bDIuMi0uMDF2LjczYy40My0uNiAxLjEzLS44OSAyLjE0LS44OSAxLjg5IDAgMy4wMSAxLjMzIDMuMDEgMy4yOFYxNWgtMi4ydi00LjM2YzAtMS4wOS0uNDItMS45Ni0xLjMtMS45Ni0xIDAtMS42NS42OC0xLjY1IDIuMTNWMTVaTTU5LjQ3IDE1bDQuNTctMTAuOTloLTIuNThsLTIuOTQgNy43My0zLjMyLTcuNzNoLTIuNTdMNTcuMjYgMTVoMi4yMVpNODYuNDUgMTVoLTIuMTZsLTEuNDgtNC41NEw4MS4zMyAxNWgtMi4xNWwtMi42My04LjA0aDIuMzFsMS41IDUuMTggMS42LTUuMThoMS42N2wxLjYyIDUuMTggMS40OC01LjE4aDIuMzNMODYuNDUgMTVaTTE2Ljg3IDE1LjIzYzEuMTIgMCAxLjktLjU2IDIuMjctMS4wOHYuOWgyLjJ2LTguMWgtMi4ydi45MmEyLjc4IDIuNzggMCAwIDAtMi4yNy0xLjA5Yy0yLjE1IDAtMy44IDEuOTQtMy44IDQuMjMgMCAyLjI4IDEuNjUgNC4yMiAzLjggNC4yMlptLjQ3LTIuMDJjLTEuMjMgMC0yLjA0LS45Mi0yLjA0LTIuMiAwLTEuMjguOC0yLjIgMi4wNC0yLjIgMS4yMyAwIDIuMDQuOTIgMi4wNCAyLjIgMCAxLjI4LS44MSAyLjItMi4wNCAyLjJaTTI4LjcgMTQuMTVhMi43OCAyLjc4IDAgMCAxLTIuMjYgMS4wOGMtMi4xNiAwLTMuOC0xLjk0LTMuOC00LjIyIDAtMi4yOSAxLjY0LTQuMjMgMy44LTQuMjMgMS4xMSAwIDEuOS41NyAyLjI3IDEuMDlWNC4wMmgyLjJ2MTEuMDNoLTIuMnYtLjlaTTI0Ljg4IDExYzAgMS4yOC44IDIuMiAyLjA0IDIuMiAxLjIzIDAgMi4wNC0uOTIgMi4wNC0yLjIgMC0xLjI4LS44MS0yLjItMi4wNC0yLjJzLTIuMDQuOTItMi4wNCAyLjJaTTQ4Ljc1IDE4LjZjMi40NyAwIDQuMjUtMS4yNiA0LjI1LTQuMThWNi45NmgtMi4yMXYuOWEyLjY1IDIuNjUgMCAwIDAtMi4yNS0xLjA4Yy0yLjEzIDAtMy44MyAxLjgxLTMuODMgNC4xIDAgMi4yNiAxLjcgNC4xNyAzLjgzIDQuMTdhMi44IDIuOCAwIDAgMCAyLjI1LTEuMTZ2LjU1YzAgMS4zLS43NiAyLjIyLTIuMDggMi4yMi0uOSAwLTEuODEtLjMxLTIuNTItMWwtMS4yMiAxLjY0Yy45My45IDIuMzcgMS4zIDMuNzggMS4zWm0uMjYtNS42NWEyLjAyIDIuMDIgMCAwIDEtMi4wNi0yLjA3YzAtMS4yNS45NC0yLjA4IDIuMDUtMi4wOCAxLjEyIDAgMi4wNi44MyAyLjA2IDIuMDggMCAxLjIzLS45NCAyLjA3LTIuMDUgMi4wN1pNNzYuMzkgMTMuMzhhNC40IDQuNCAwIDAgMS0zLjc2IDEuODFjLTIuNDEgMC00LjI5LTEuNjctNC4yOS00LjIyIDAtMi40IDEuOC00LjIzIDQuMjYtNC4yMyAyLjEyIDAgMy45OCAxLjM0IDMuOTggMy45OHYuMTJjMCAuMTkuMDEuNDQtLjAzLjcySDcwLjVjLjEzIDEuMDggMS4wOSAxLjYgMi4xNiAxLjZhMi40IDIuNCAwIDAgMCAyLjA5LTEuMDFsMS42NSAxLjIzWm0tMy44Ni00LjhjLS44MiAwLTEuNzQuNDEtMS45NSAxLjRoMy43OGMtLjE5LS45Ny0xLTEuNC0xLjgzLTEuNFoiLz48L3N2Zz4nfSwzMzMzMTgodCl7CnQuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMSAxMjYgMjQiIHdpZHRoPSIxMjYiIGhlaWdodD0iMjQiPjxwYXRoIGZpbGw9ImJsYWNrIiBkPSJNNzYgMTMuOHYzLjM0YzAgMi40LS43NCA0LjQyLTIuMjggNS44YTguMDIgOC4wMiAwIDAgMS01LjUgMS44OGMtMi4yMSAwLTQuNzUtLjYzLTYuNS0yLjMybC0xLjI3LTEuMjIuOTUtMS4yOEgzOS42NEE2Ljc3IDYuNzcgMCAwIDEgMzMgMTguMTRWMjBoLTYuMzZjLS41Mi4xNS0xLjEuMjQtMS43Mi4yNC0zLjUyIDAtNi4xMy0yLjU4LTYuOTItNS43MlYyMEg0VjhIMFYxaDE1djRoM3YuMTZjLjE3LS4wMi4zNS0uMDMuNTItLjAzaC4wOGMuMyAwIC44MyAwIDEuNDUuMTdsMS40LjRhNi43IDYuNyAwIDAgMSA1LjItLjdIMzN2MS44NmE2Ljc3IDYuNzcgMCAwIDEgNi0yVjFoNi41OWEzLjg4IDMuODggMCAwIDEgMS45NS0uNTNBMy44MiAzLjgyIDAgMCAxIDUxLjMzIDVsMy44LS4wMWMuNTctLjE1IDEuMTctLjIxIDEuNzgtLjIxYTUuODggNS44OCAwIDAgMSA1LjI2IDNBNy4wMSA3LjAxIDAgMCAxIDY5LjcgNWgyLjVsLTEuNzQtNGg3Ljg3bDMuMDcgNy4xN0w4NC4xMiAxaDUuMzhjLjYtLjM2IDEuMjktLjU2IDItLjU2YTMuODIgMy44MiAwIDAgMSAzLjg3IDMuNzdBMy43IDMuNyAwIDAgMSA5NSA1LjgzdjEuMThhNy43NiA3Ljc2IDAgMCAxIDUuNjMtMi4zYy45IDAgMS44LjEzIDIuNjYuNDNsLS4wNC0uMTRoNy40bC42IDIuMDcuNjMtMi4wN2g1LjIxbC42NSAyLjA3LjU5LTIuMDdoNy40MmwtNC44NCAxNWgtNS44NGwtLjU2LTEuNzItLjU1IDEuNzJoLTUuODRsLS45Mi0yLjgzYTggOCAwIDAgMS02LjUyIDMuMDJBNy45MiA3LjkyIDAgMCAxIDk1IDE3LjkyVjIwaC03di05LjEyTDg0LjM1IDIwSDc4LjdMNzYgMTMuOFoiLz48cGF0aCBmaWxsPSJsaWdodGdyYXkiIGQ9Ik05My4zNyA0LjIxYzAgLjk5LS44MyAxLjc4LTEuODcgMS43OC0xIDAtMS44NC0uOC0xLjg0LTEuNzhzLjg1LTEuNzcgMS44NC0xLjc3YzEuMDQgMCAxLjg3LjggMS44NyAxLjc3Wk05MyAxOGgtM1Y3aDN2MTFaTTQ3LjU0IDYuMDJjMS4wNCAwIDEuODctLjggMS44Ny0xLjc3IDAtLjk5LS44My0xLjc4LTEuODctMS43OC0xIDAtMS44NC44LTEuODQgMS43OHMuODUgMS43NyAxLjg0IDEuNzdaTTQ2IDE4aDNWN2gtM3YxMVpNOSAxOEg2VjZIMlYzaDExdjNIOXYxMlpNMTYgMThsLTMgLjAyVjdoM3YxLjg5Yy4zNi0xIDEuMzQtMS43NiAyLjUzLTEuNzZoLjAzYy4zIDAgLjYgMCAuOTQuMXYyLjg0YTQgNCAwIDAgMC0xLjMxLS4yYy0xLjM4IDAtMi4xOSAxLTIuMTkgMi43VjE4Wk01NCAxOGgtM1Y3LjAxTDU0IDd2MWMuNTctLjgyIDEuNTMtMS4yMSAyLjktMS4yMSAyLjU3IDAgNC4xIDEuOCA0LjEgNC40NVYxOGgtM3YtNmMwLTEuNDctLjU2LTIuNjYtMS43Ny0yLjY2LTEuMzYgMC0yLjIzLjkzLTIuMjMgMi44OVYxOFpNODMgMThsNi0xNWgtMy41bC00IDEwLjVMNzcgM2gtMy41TDgwIDE4aDNaTTExOS40NSAxOGgtMi45M2wtMi4wMi02LjI1LTIgNi4yNWgtMi45M0wxMDYgN2gzLjE0bDIuMDUgNy4wNEwxMTMuMzYgN2gyLjI2bDIuMiA3LjA0TDExOS44MyA3SDEyM2wtMy41NSAxMVpNMjQuOTIgMTguMjRjMS41MiAwIDIuNTctLjc3IDMuMDgtMS40N1YxOGgzVjdoLTN2MS4yM2EzLjc4IDMuNzggMCAwIDAtMy4wOC0xLjQ3Yy0yLjkzIDAtNS4xNyAyLjY0LTUuMTcgNS43NHMyLjI0IDUuNzQgNS4xNyA1Ljc0Wm0uNjQtMi43NWMtMS42OCAwLTIuNzgtMS4yNS0yLjc4LTIuOTkgMC0xLjc0IDEuMS0zIDIuNzgtMyAxLjY3IDAgMi43NyAxLjI2IDIuNzcgM3MtMS4xIDMtMi43NyAzWk00MSAxNi43N2MtLjUuNy0xLjU2IDEuNDctMy4wOCAxLjQ3LTIuOTMgMC01LjE3LTIuNjQtNS4xNy01Ljc0czIuMjQtNS43NCA1LjE3LTUuNzRjMS41MiAwIDIuNTcuNzcgMy4wOCAxLjQ3VjNoM3YxNWgtM3YtMS4yM1ptLTUuMjItNC4yN2MwIDEuNzQgMS4xIDMgMi43OCAzIDEuNjcgMCAyLjc3LTEuMjYgMi43Ny0zcy0xLjEtMy0yLjc3LTNjLTEuNjggMC0yLjc4IDEuMjYtMi43OCAzWk02OC4yMyAyMi44MmMzLjM2IDAgNS43Ny0xLjcyIDUuNzctNS42OFY3aC0zdjEuMjNhMy42IDMuNiAwIDAgMC0zLjA2LTEuNDdjLTIuODggMC01LjIgMi40Ni01LjIgNS41NiAwIDMuMDggMi4zMiA1LjY4IDUuMiA1LjY4QTMuOCAzLjggMCAwIDAgNzEgMTYuNDJ2Ljc0YzAgMS43Ni0xLjA0IDMuMDItMi44MiAzLjAyYTQuODQgNC44NCAwIDAgMS0zLjQzLTEuMzdsLTEuNjUgMi4yNWMxLjI1IDEuMiAzLjIxIDEuNzYgNS4xMyAxLjc2Wm0uMzUtNy42OGEyLjc1IDIuNzUgMCAwIDEtMi44LTIuODJjMC0xLjY5IDEuMjgtMi44MSAyLjgtMi44MSAxLjUyIDAgMi44IDEuMTIgMi44IDIuODFhMi43NSAyLjc1IDAgMCAxLTIuOCAyLjgyWk0xMDUuNzggMTUuNzJhNS45NiA1Ljk2IDAgMCAxLTUuMSAyLjQ3Yy0zLjI4IDAtNS44My0yLjI3LTUuODMtNS43NGE1LjYyIDUuNjIgMCAwIDEgNS43OC01Ljc1YzIuODkgMCA1LjQyIDEuODMgNS40MiA1LjQyYTYuMDEgNi4wMSAwIDAgMS0uMDQgMS4xM2gtOC4yNGMuMTggMS40NyAxLjQ4IDIuMTkgMi45MyAyLjE5IDEuMzkgMCAyLjMzLS42MiAyLjg0LTEuMzlsMi4yNCAxLjY3Wm0tNS4yMy02LjUzYy0xLjEzIDAtMi4zOC41Ny0yLjY3IDEuOTFoNS4xNWMtLjI2LTEuMzItMS4zNi0xLjkxLTIuNDgtMS45MVoiLz48L3N2Zz4nfSw0MjI3MTEodCl7dC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwIDMyIiB3aWR0aD0iNDAiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiMxMzE3MjIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTYgMjVIOVYxNEgyVjdoMTR2MThaTTM3LjUgNyAzMCAyNWgtOGw3LjUtMThoOFpNMjIgMTVhNCA0IDAgMSAwIDAtOCA0IDQgMCAwIDAgMCA4WiIvPjwvc3ZnPid9LDU5MjE1NSh0KXsKdC5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDg5IDMyIiB3aWR0aD0iODkiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiPjxnIGZpbGw9IiMxMzE3MjIiIGNsaXAtcGF0aD0idXJsKCNhKSI+PHBhdGggZD0iTTcuNDg1IDI1Ljk0N0g5LjR2LTcuNTA1aDIuNTA2di0xLjgxSDUuMDA1djEuODFoMi40OHY3LjUwNVpNMTEuOTEgMjUuOTQ3aDEuNzk3di0zLjEzNmMwLTEuMDg5LjU2NC0xLjc0NSAxLjQxNy0xLjc0NS4zMDIgMCAuNTM4LjA1My44MTMuMTQ1di0xLjgyNGEyLjAxMSAyLjAxMSAwIDAgMC0uNjAzLS4wNzljLS43MzUgMC0xLjQwNC40ODYtMS42MjcgMS4xMjl2LTEuMDVoLTEuNzk4djYuNTZaTTE5LjM4OCAyNi4wOTJjLjkwNSAwIDEuNTg3LS40NiAxLjg4OS0uODh2LjczNWgxLjc5OHYtNi41NmgtMS43OTh2LjczNWMtLjMwMi0uNDItLjk4NC0uODgtMS44OS0uODgtMS43NDUgMC0zLjA4MyAxLjU3NS0zLjA4MyAzLjQyNSAwIDEuODUgMS4zMzggMy40MjUgMy4wODQgMy40MjVabS4zOC0xLjY0Yy0uOTk3IDAtMS42NTMtLjc0OC0xLjY1My0xLjc4NSAwLTEuMDM2LjY1Ni0xLjc4NCAxLjY1My0xLjc4NHMxLjY1My43NDggMS42NTMgMS43ODRjMCAxLjAzNy0uNjU2IDEuNzg1LTEuNjUzIDEuNzg1Wk0yNy4zNTQgMjYuMDkyYy45MDYgMCAxLjU4OC0uNDYgMS44OS0uODh2LjczNWgxLjc5N3YtOS44NGgtMS43OTd2NC4wMTVjLS4zMDItLjQyLS45ODQtLjg4LTEuODktLjg4LTEuNzQ1IDAtMy4wODMgMS41NzUtMy4wODMgMy40MjUgMCAxLjg1IDEuMzM4IDMuNDI1IDMuMDgzIDMuNDI1Wm0uMzgtMS42NGMtLjk5NiAwLTEuNjUyLS43NDgtMS42NTItMS43ODUgMC0xLjAzNi42NTYtMS43ODQgMS42NTMtMS43ODRzMS42NTMuNzQ4IDEuNjUzIDEuNzg0YzAgMS4wMzctLjY1NiAxLjc4NS0xLjY1MyAxLjc4NVpNMzMuNTUgMTguMzExYy42NDMgMCAxLjE1NS0uNTEyIDEuMTU1LTEuMTQyIDAtLjYzLS41MTItMS4xNDEtMS4xNTUtMS4xNDFhMS4xNSAxLjE1IDAgMCAwLTEuMTQyIDEuMTQyYzAgLjYzLjUyNSAxLjE0MSAxLjE0MiAxLjE0MVptLS44OTIgNy42MzZoMS43OTd2LTYuNTZoLTEuNzk3djYuNTZaTTM2LjA1IDI1Ljk0N2gxLjc5OHYtMy4yMDFjMC0xLjI2LjYxNy0xLjg2MyAxLjQ1Ni0xLjg2My43NDggMCAxLjE1NS41NzcgMS4xNTUgMS41MjJ2My41NDJoMS43OTd2LTMuODQ0YzAtMS43MDYtLjk0NC0yLjg2LTIuNTMyLTIuODYtLjg1MyAwLTEuNTIyLjM2Ny0xLjg3Ni44OTJ2LS43NDhIMzYuMDV2Ni41NlpNNDYuODMgMjQuMjQyYy0uOTA0IDAtMS42NjYtLjY4My0xLjY2Ni0xLjY4IDAtMS4wMS43NjEtMS42OCAxLjY2Ny0xLjY4LjkwNSAwIDEuNjY2LjY3IDEuNjY2IDEuNjggMCAuOTk3LS43NiAxLjY4LTEuNjY2IDEuNjhabS0uMjEgNC41NzljMi4wMDggMCAzLjUzLTEuMDI0IDMuNTMtMy4zODV2LTYuMDVoLTEuNzk3di43MzZjLS4zNTQtLjUxMi0xLjA2My0uODgtMS45MDMtLjg4LTEuNzE5IDAtMy4wOTYgMS40Ny0zLjA5NiAzLjMyIDAgMS44MzcgMS4zNzcgMy4zMDcgMy4wOTYgMy4zMDcuODQgMCAxLjU0OS0uMzggMS45MDMtLjg2NnYuNDQ2YzAgMS4wNS0uNjk2IDEuNzk3LTEuNzU4IDEuNzk3LS43MzUgMC0xLjQ3LS4yNDktMi4wNDctLjgxM2wtLjk4NCAxLjMzOGMuNzQ4LjcyMiAxLjkxNSAxLjA1IDMuMDU3IDEuMDVaTTUzLjk1MSAyNS45NDdoMS42OTNsMy44NTctOS4zMTZoLTIuMWwtMi41OTcgNi40Ny0yLjYzNy02LjQ3aC0yLjA2bDMuODQ0IDkuMzE2Wk02MS4xNSAxOC4zMTFjLjY0NCAwIDEuMTU1LS41MTIgMS4xNTUtMS4xNDIgMC0uNjMtLjUxMS0xLjE0MS0xLjE1NC0xLjE0MWExLjE1IDEuMTUgMCAwIDAtMS4xNDIgMS4xNDJjMCAuNjMuNTI1IDEuMTQxIDEuMTQyIDEuMTQxWm0tLjg5MiA3LjYzNmgxLjc5OHYtNi41NmgtMS43OTh2Ni41NlpNNjYuNzA4IDI2LjA5MmMxLjM3OCAwIDIuNDI3LS41NzggMy4wNDQtMS40N2wtMS4zMzgtLjk5N2MtLjMwMi40Ni0uODY2LjgyNy0xLjY5My44MjctLjg2NiAwLTEuNjQtLjQ4Ni0xLjc0NS0xLjM2NWg0LjkwN2MuMDQtLjI3Ni4wMjYtLjQ2LjAyNi0uNjE3IDAtMi4xMzgtMS41MDgtMy4yMjctMy4yMjctMy4yMjctMS45OTUgMC0zLjQ1MSAxLjQ4Mi0zLjQ1MSAzLjQyNCAwIDIuMDczIDEuNTIyIDMuNDI1IDMuNDc3IDMuNDI1Wm0tMS42NjYtNC4yMjVjLjE3LS44LjkxOC0xLjE0MiAxLjU4Ny0xLjE0Mi42NyAwIDEuMzI1LjM1NCAxLjQ4MyAxLjE0MmgtMy4wN1pNNzYuNjQ0IDI1Ljk0N2gxLjc4NGwyLjE2NS02LjU2aC0xLjkyOGwtMS4yMzQgNC4xOTktMS4zMzgtNC4yaC0xLjM3OGwtMS4zMjUgNC4yLTEuMjQ2LTQuMmgtMS45MTZsMi4xNzggNi41NjFoMS43ODRsMS4yMi0zLjcyNiAxLjIzNCAzLjcyNlpNNi45MjQgMTJWNi44ODZINS4xNjJ2LS45NThoNC41MzN2Ljk1OGgtMS43N1YxMmgtMVptMy4zMyAwVjUuOTI4aDIuMTljMS4xMjkgMCAxLjgzOS43MjcgMS44MzkgMS43MjcgMCAuODU2LS41MDUgMS40MTItMS4zNzcgMS42MTdMMTUuMTY0IDEyaC0xLjIzMmwtMi4yMjQtMi42NjhoLS40NTNWMTJoLTFabTEuMDAxLTMuNTRoMS4wN2MuNTkgMCAuOTU3LS4yODMuOTU3LS44MDUgMC0uNTIxLS4zNjgtLjgwNC0uOTU4LS44MDRoLTEuMDY5VjguNDZabTMuNDYgMy41NCAyLjY1MS02LjA3MmguODcyTDIwLjg5IDEyaC0xLjA0NGwtLjY5Mi0xLjU5aC0yLjcyTDE1Ljc1IDEyaC0xLjAzNVptMi4xMDQtMi40OGgxLjk1bC0uOTc1LTIuMjUtLjk3NSAyLjI1Wm00LjUxIDIuNDhWNS45MjhoMS44NjVjMS44MDUgMCAzLjE4MiAxLjMxNyAzLjE4MiAzLjAzNlMyNC45OTkgMTIgMjMuMTk0IDEySDIxLjMzWm0xLjAwMi0uOTMyaC44NjNjMS4zIDAgMi4xNjQtLjkxNSAyLjE2NC0yLjEwNHMtLjg2NC0yLjEwNC0yLjE2NC0yLjEwNGgtLjg2M3Y0LjIwOFptNC44MDQuOTMyVjUuOTI4aDMuNjUydi45NThoLTIuNjUydjEuNTU2aDIuMTM4VjkuNGgtMi4xMzh2MS42NDJoMi42NTJWMTJoLTMuNjUyWm0xMi4wMjMtMy4wMzZhMy4xMjQgMy4xMjQgMCAwIDEtMy4xMzggMy4xMzkgMy4xMiAzLjEyIDAgMCAxLTMuMTM5LTMuMTQgMy4xMiAzLjEyIDAgMCAxIDMuMTM5LTMuMTM4IDMuMTI0IDMuMTI0IDAgMCAxIDMuMTM4IDMuMTM5Wm0tNS4yNjggMGMwIDEuMjA2LjkyNCAyLjE3MiAyLjEzIDIuMTcyIDEuMTk3IDAgMi4xMi0uOTY2IDIuMTItMi4xNzIgMC0xLjIwNi0uOTIzLTIuMTcyLTIuMTItMi4xNzItMS4yMDYgMC0yLjEzLjk2Ni0yLjEzIDIuMTcyWk00NS4yMDggMTJoLS44NzJsLTMuNDIxLTQuMzdWMTJoLTFWNS45MjhoLjg3MmwzLjQxMiA0LjM1M1Y1LjkyOGgxLjAxVjEyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoODl2MzJIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nCn19XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3552.4c5535183b7a0330a89d.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.748Z","timestamp":1785136427748,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3552.4c5535183b7a0330a89d.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2fa2\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:37\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 3219b6360bd600d01e6670f8c3438903\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":12194,"size_decoded":4814,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3071)","md5":"8cb7d12d58618d9e9433db7cf169e678","sha1":"dd2e2830dd9f4f8c3e4000fb90c94712f7315f67","sha256":"e54bba4bdf7867aec664fc0c023a4e77650464bb7e2e1a2d80ef75500363cd92","sha512":"9c9ce4a19d03df706a0fb6495901a15dd961b87797e48e43669a130ec51d4d3788fcd9e251dd54f1560134509553e5c7a1cc17249ad1f6f562d104b6b10d9a66","ssdeep":"192:ETCSGJXJ6h4GX8tWKEN7Nbj61RO2g6OQLgwF8TEz5XnC/x6/v60KjBHAH4yiFbBw:EmSGehtqWNN7Nbj61ROQLRF8TkVNjaAj","tlshash":"ab42b53d719358a8666780e980390b7ba6283980a58741bcfb78dccf46cddd46277f38","first_seen":"2026-07-22T11:33:41.980937Z","last_seen":"2026-07-28T07:05:00.655129Z","times_seen":1853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"binarymate.com/assets/landing/platform-tiny/css/responsive.css","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.774Z","timestamp":1785136427774,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/responsive.css HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Tue, 23 May 2017 15:08:16 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HZQWkOjwqNAhaW8MezD64gGEsFTXsSzA2Sz%2BIkLVGV1OtyVs6ESnJBDkeGBCqHlRsqLFekveqAHcQSmVu0xQ1qnzVyf3hxLlktA0fI%2FEJvhf92XGcSW1w0Ym5ERij7dcgg%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"59245060-504\"\r\ncf-ray: a219d7f1ab360daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":1284,"size_decoded":1162,"mime_type":"text/css","magic":"ASCII text","md5":"ca82ea1ddeb43e3dfc4e544a02fbadac","sha1":"6da2214bdd356db846f2a479ef5eeb2700af598c","sha256":"21ebf6b68199ec17b495212de87d4275c1d11947f30edd0abd23dd8cbe8a136d","sha512":"588f1d010ab4718d0a46f16b36667e649cc4a40c51f320a8cd17233302c3275970111e126b82ae5d301357c9fbb94aeff77efa77f059696f1ffcb2c1a5cfa03b","ssdeep":"","tlshash":"a821fc8bdda312493c5da175df7b735a6138c003a34ecc987e6ce1958f0b596c8a0bc9","first_seen":"2023-05-30T11:35:28Z","last_seen":"2026-08-10T18:26:39.5489Z","times_seen":104,"resource_available":false,"data":"QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCl7CgogICAgLm1pbmktY2hhcnQtYnRuLWNvbnQsIC5tYy1sb2dvIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAubWMtdGFibGUsIC5jaGFydC1wYWRkaW5nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAubWMtdGFibGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICB9CgogICAgLm1jLXRhYmxlLXRkIHsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBmbGV4OiAxOwogICAgfQoKICAgIC5ibG9jay1jaGFydHMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgLm1pbmktY2hhcnQtYnRuLWNvbnR7CiAgICAgICAgd2lkdGg6IDMwJTsKICAgIH0KICAgICNjaGFydC1tIHsKICAgICAgICAvKm1pbi13aWR0aDogMzEycHg7Ki8KICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgfQogICAgLmNoYXJ0LXBhZGRpbmcgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgIHdpZHRoOiA3MCU7CiAgICAgICAgd2lkdGg6IGNhbGMoNzAlIC0gMTBweCk7CiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDAgMDsKICAgIH0KICAgIC5taW5pLWNoYXJ0LWJ0bi1jb250IHsKICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgIH0KCiAgICAjcmFkaW8gbGFiZWwgewogICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICB9CiAgICAubWMtbG9nbyBmb3JtewogICAgICAgIC8qd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyovCiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICB9CiAgICAubWMtYnRuIHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KICAgIC5tYy1idG4gewogICAgICAgIHBhZGRpbmc6NXB4IDE1cHggIWltcG9ydGFudDsKICAgICAgICBoZWlnaHQ6IDUycHg7CiAgICB9CiAgICAuYmxvY2stY2hhcnRzIC5vbmUtY2hhcnQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICAubWluaS1jaGFydC1sZWdlbmQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZsb2F0OiBub25lOwogICAgfQogICAgLmRlYWwtZmluaXNoLXBvcHVwIC5yaWdodC1mb290IHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgd2lkdGg6IDMwJTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgICB9CiAgICAuZGVhbC1maW5pc2gtcG9wdXAgLnJpZ2h0LWZvb3Qgc3BhbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgfQp9"}},"time_used":100,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":100,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/5184.0fb4574cacec16f6365d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.185Z","timestamp":1785136429185,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/5184.0fb4574cacec16f6365d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-15fc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 355c71aa83fef2123a8b11c79f0b9851\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5628,"size_decoded":2039,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5628), with no line terminators","md5":"d7588c0ef38ed29f77c4285858768089","sha1":"1b0f8982c149f743f7af67d6a43e5bbcb09a698d","sha256":"09e34aab9f0ab1c517da25dd9e6a703968584d31fa0d044e61e48e60b623b691","sha512":"b072070b0ef82141c4d509c12596a605d3a427c3846b30a521d776f92a143f39e56b0d8eb974dfb0d88ab28bdf7413ad92d069ef724fecfb75ef30963cd73953","ssdeep":"48:LKn0fdtTAnnRpxyy+QPoL39OYuNyFejYkdY9Ik9s+1eyv68oc94XcW3te8nnfBvr:LKiTAVyKP+uNyApXcapnnfB/D5F","tlshash":"bbc1c343b5d0bc347f1266d86bf821adb6c0adb1e80321dab475b83588c1bfb54a1e65","first_seen":"2026-07-16T13:40:49.878413Z","last_seen":"2026-08-11T04:43:23.041249Z","times_seen":386,"resource_available":false,"data":"LmJhZGdlLXg0VVZaYWJNey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1iYWRnZS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWJhZGdlLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXhzbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMikpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7LS11aS1saWItc2l6ZS1kZWYteGxhcmdlOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA2KSkpOy0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctcmlnaHQ6dmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1ob3IpOy0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqOHB4KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzJweCk7LS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtaGVpZ2h0LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodCkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXMpO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxN3B4KTtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjcwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3MDApO2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSouNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSouMDJlbSArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKi4wNWVtICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSouMDJlbSk7cGFkZGluZy1ibG9jazowIDA7cGFkZGluZy1pbmxpbmU6dmFyKC0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWxlZnQpKSB2YXIoLS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLXJpZ2h0KSk7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtY29sb3ItYmFja2dyb3VuZCkpO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXdyYXA6bm93cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmFkZ2UteDRVVlphYk0uaGFzQ2hpbGRyZW4teDRVVlphYk17LS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWhvcjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5iYWRnZS14NFVWWmFiTTpub3QoLmhhc0NoaWxkcmVuLXg0VVZaYWJNKXstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yOjA7d2lkdGg6dmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1oZWlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXthLmJhZGdlLXg0VVZaYWJNOmhvdmVyLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTpob3ZlcnstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YmFja2dyb3VuZDp2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWhvdmVyLHZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQpKSl9fWEuYmFkZ2UteDRVVlphYk06YWN0aXZlLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTphY3RpdmV7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLXVpLWxpYi1iYWRnZS1iYWNrZ3JvdW5kLHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWFjdGl2ZSx2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50LWFjdGl2ZSkpKX0uYmFkZ2UteDRVVlphYk17b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJhZGdlLXg0VVZaYWJNOmZvY3Vze291dGxpbmU6bm9uZX0uYmFkZ2UteDRVVlphYk06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhZGdlLXg0VVZaYWJNOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5iYWRnZS14NFVWWmFiTTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5iYWRnZS14NFVWWmFiTTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJhZGdlLXg0VVZaYWJNOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5iYWRnZS14NFVWWmFiTTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLWJhZGdlLWZvY3VzLW91dGxpbmUtcmFkaXVzLCB2YXIoLS11aS1saWItYmFkZ2UtYm9yZGVyLXJhZGl1cykpICsgNHB4KX0uY29udGVudC14NFVWWmFiTXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjRweCk7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNsb3QteDRVVlphYk17LS11aS1saWItYmFkZ2Utc2xvdC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2Utc2xvdC1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOnZhcigtLXVpLWxpYi1iYWRnZS1zbG90LXNpemUpfS54c21hbGwteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjJ9LnNtYWxsLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTozfS5tZWRpdW0teDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjR9LmxhcmdlLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTo1fS54bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjZ9Lnh4bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjd9"}},"time_used":1,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/67799.e2495691cea17b3a81c2.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.263Z","timestamp":1785136429263,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/67799.e2495691cea17b3a81c2.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dd4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f3cbad1e2682f023cbc5536249eaffec\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":7636,"size_decoded":2594,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (7636), with no line terminators","md5":"6098916a464733489420c06d4d157550","sha1":"3d922ecff9adfcac8b445b191abbbc96b8187051","sha256":"caeccc97bab3aa41bfb78157071643ae404f0ea6519d21a900a8d95d046e1e85","sha512":"da35876591ab0f26295aaa719b5305a8d64e2aeae102349f2e39f0db10964fa882cf4f4dcb4da145ab36fe83e84994e75dd61286e48abf8b54556caab7355962","ssdeep":"192:2QoSuITjVqGw07dUQdX+D3TQ3oimJmp9+9IianQm:cvCmJiTL","tlshash":"c9f124c621c49f7a7ce345afa674a2ec6348dd38f93309d7b621ae6480c16b5027492e","first_seen":"2026-07-17T14:15:58.312947Z","last_seen":"2026-08-11T04:43:23.150167Z","times_seen":305,"resource_available":false,"data":"LmJhY2tncm91bmQtTlFvbTVJOFp7YWxpZ24taXRlbXM6c3RyZXRjaDtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlO3otaW5kZXg6MTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQ6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkOjF9fS5tZWRpdW0tTlFvbTVJOFp7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSozMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNDBweCl9LmxhcmdlLU5Rb201SThae21pbi1oZWlnaHQ6NDBweH0uZGlzYWJsZWQtTlFvbTVJOFp7b3BhY2l0eTouNX0uYmFja2dyb3VuZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLWJhY2tncm91bmRDb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlKSl9Lm9wZW4tTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6aG92ZXJ7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3JIb3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpKX19LnNlbGVjdGVkLU5Rb201SThaLC5zZWxlY3RlZC1OUW9tNUk4Wi5vcGVuLU5Rb201SThaey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnNlbGVjdGVkLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yU2VsZWN0ZWQsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpKX19LmJhY2tncm91bmQtTlFvbTVJOFo6bm90KC5kaXNhYmxlZC1OUW9tNUk4Wik6bm90KC5zZWxlY3RlZC1OUW9tNUk4Wik6YWN0aXZley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tYmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9yQWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCkpfS5uZXV0cmFsLU5Rb201SThaLmJhY2tncm91bmQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10ZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCkpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zZWNvbmRhcnlUZXh0Q29sb3IsdmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpKX0ubmV1dHJhbC1OUW9tNUk4Wi5zZWxlY3RlZC1OUW9tNUk4WnstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXByaW1hcnktY29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKTstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2Vjb25kYXJ5VGV4dENvbG9yU2VsZWN0ZWQsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvclNlbGVjdGVkLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKSl9LmRhbmdlci1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaLC5kYW5nZXItTlFvbTVJOFouc2VsZWN0ZWQtTlFvbTVJOFp7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1wcmltYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpOy0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXIpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsubmV1dHJhbC1OUW9tNUk4Wi5iYWNrZ3JvdW5kLU5Rb201SThaOm5vdCguZGlzYWJsZWQtTlFvbTVJOFopOm5vdCguc2VsZWN0ZWQtTlFvbTVJOFopOmhvdmVyey0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tdGV4dENvbG9ySG92ZXIsdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSkpfX0uYnV0dG9uLVhOVWl2VG91e2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tcHJpbWFyeS1jb2xvcik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MTtmb250LWZhbWlseTppbmhlcml0O21pbi13aWR0aDowO3BhZGRpbmc6MDtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjJweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjZweCkgY2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMnB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqNnB4KTtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KSBjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxMnB4KTt0ZXh0LWFsaWduOnN0YXJ0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5idXR0b24tWE5VaXZUb3U6YWZ0ZXJ7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KX0uYnV0dG9uLVhOVWl2VG91OmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NnB4fS5idXR0b24tWE5VaXZUb3V7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYnV0dG9uLVhOVWl2VG91OmFmdGVye2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3dpZHRoOjEwMCV9LmJ1dHRvbi1YTlVpdlRvdTphZnRlciwuYnV0dG9uLVhOVWl2VG91OmJlZm9yZXtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmJ1dHRvbi1YTlVpdlRvdTpiZWZvcmV7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO2luc2V0LWlubGluZS1zdGFydDoycHg7dG9wOjJweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxlOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5idXR0b24tWE5VaXZUb3U6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTpiZWZvcmV7ZGlzcGxheTpub25lfS5idXR0b24tWE5VaXZUb3U6Zm9jdXN7LS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1mb2N1c2VkOjF9LmJ1dHRvbi1YTlVpdlRvdTpmb2N1cy12aXNpYmxley0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlOjF9YS5idXR0b24tWE5VaXZUb3V7Y3Vyc29yOnBvaW50ZXJ9LmhvdGtleS1YYzZTaHBDcXtjb2xvcjp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0taG90a2V5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSl9LmhvdGtleS1YYzZTaHBDcTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1pbmxpbmUtZW5kOjRweH0ucmlnaHQtQ0dkakthOVl7YWxpZ24tc2VsZjpzdHJldGNoO2NvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNlY29uZGFyeS1jb2xvcik7cG9zaXRpb246cmVsYXRpdmV9LnJpZ2h0LUNHZGpLYTlZOmhhcyhbZGF0YS1pcy1wb3BvdmVyLWNvbnRleHQtYWN0aW9uXSl7bWFyZ2luLWlubGluZS1lbmQ6LTJweH0uY2hpbGQtQ0dkakthOVl7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDtnYXA6NHB4O2hlaWdodDoyOHB4O3BhZGRpbmctYmxvY2s6M3B4IDNweDtwYWRkaW5nLWlubGluZToyNHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6Y2FsYyg1MCUqdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoLTUwJSp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSkpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmVsbGlwc2lzLURhelI4NVZBe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ud2l0aEdhcHMtRGF6Ujg1VkF7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtnYXA6NnB4fS5taWRkbGUtRnR3d1JyN3V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweH0uaGFzTm9FbmRTbG90LUZ0d3dScjd1e3BhZGRpbmctaW5saW5lLWVuZDo0cHh9LnRpdGxlLUZ0d3dScjd1ey0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoxOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE0cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoxNnB4KTstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjE4cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyNHB4KX0uZGVzY3JpcHRpb24tRnR3d1JyN3UsLnRpdGxlLUZ0d3dScjd1e2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0uZGVzY3JpcHRpb24tRnR3d1JyN3V7Y29sb3I6dmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0tc2Vjb25kYXJ5LWNvbG9yKTstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxMnB4Oy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MTZweH0uaGFzRGVzY3JpcHRpb24tRnR3d1JyN3UsLmhhc1RpdGxlLUZ0d3dScjd1e2ZsZXg6MX0uaGFzVGl0bGUtRnR3d1JyN3UuaGFzRGVzY3JpcHRpb24tRnR3d1JyN3V7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo0cHgpfS5oYXNUaXRsZS1GdHd3UnI3dTpub3QoLmhhc0Rlc2NyaXB0aW9uLUZ0d3dScjd1KXtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo1cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoycHgpO3BhZGRpbmctdG9wOmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjVweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjJweCl9LmJ1dHRvbkNvbnRlbnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLXdpZHRoOjB9LmxlZnQtVlg0a3BSOWl7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWxlZnRTbG90SXRlbXNOdW1iZXIpLDI4cHgpO2hlaWdodDoyOHB4O2p1c3RpZnktaXRlbXM6Y2VudGVyfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.845Z","timestamp":1785136429845,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/18512.a3bcdc71c68601b7dbfc.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-480d\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: e7d66e74c751b4f83770519096000565\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"heavenwealth.org/assets/images/tl.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.085Z","timestamp":1785136422085,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/tl.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 16626\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":16626,"size_decoded":16968,"mime_type":"image/png","magic":"PNG image data, 33 x 34, 8-bit/color RGBA, non-interlaced","md5":"9e774d89a4114c6a020d4635bfc00e82","sha1":"fd5bb2ccada3f4e0392b9e423e605ddfcc6d1e13","sha256":"33b32f47e9d49956292ee328cc8d9e150fc306a11a7e0ce937e555ffa133a8f7","sha512":"48953536c27c2c2e0c36c3dd01a68588c90a4f3f57f914c85fc3701defc6c36486f7cc6f3e5de591ccbf68874e71d86749351aacc046286e1d7e8fa2230c00b1","ssdeep":"96:OSakEWRzxNXALtsc5i2vZbozy14tf4MTDskPDpYul:OSaktla9ZMzyCd+ul","tlshash":"ee72e968fdf27194a99de53129e435448c7702c3d882bd407bcd5c676f00baaac6f293","first_seen":"2025-12-03T04:46:43.774579Z","last_seen":"2026-07-29T06:14:00.349012Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACEAAAAiCAYAAADRcLDBAAAACXBIWXMAAAsTAAALEwEAmpwYAAA57GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwNjcgNzkuMTU3NzQ3LCAyMDE1LzAzLzMwLTIzOjQwOjQyICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTctMDYtMTJUMTQ6MjM6MTArMDY6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNy0wNi0xMlQxNDoyNzowNSswNjowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTctMDYtMTJUMTQ6Mjc6MDUrMDY6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6YWQ3ZGRhODItMWZkYi1lNDQ3LWJkNGEtMmEwODgyMTJlYTc0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTMyYzgwMGYtNGY0OC0xMWU3LThlYzktYTkxNGU1NmY5OGM5PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6YzIyZTIyNjMtY2FjMS0yOTQzLTk5YzAtMWM2NjE2NzllYjE4PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmMyMmUyMjYzLWNhYzEtMjk0My05OWMwLTFjNjYxNjc5ZWIxODwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0wNi0xMlQxNDoyMzoxMCswNjowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphZDdkZGE4Mi0xZmRiLWU0NDctYmQ0YS0yYTA4ODIxMmVhNzQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMDYtMTJUMTQ6Mjc6MDUrMDY6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzM8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PqgrA4gAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABoBJREFUeNq0mGtsHFcVx393dmbX+7DX+7Ad14sdv1K3ttOU0kRtv+SBhJq2Ca0ACfGJVi1IqKoQgiJRUChFKAhVRUKIRwH1S0GtAooClVpVpRFNoxK7BNrg0KztZG3H8WvX7Hhf87p82F3X7s7G61QcabWzM/fe85//Pfd/zlkhpaRBU4BPAfsr34NAB+ADSsACcAkYB04D5wC7oZWllFt9QlLKx6WU43J79g8p5dellC1b+RBbMHEE+CEwAvCfTIEL6TwXM3nm1kqslixMR6IpglafSlfIx65WPyOxIEMRf3WNCeC7wIl6TuqB8AHHgScA3l/JcWo6w+m51Ua3jns6WzjaF2N3PFi99UvgG0CuERAB4PcVFvjNvxd4+dISN2oP9sd4bLgTIQB4Dfg8kL0eCB/wEnBkKW/wg7FZPsjkbxiAlCCR9LY0cWxfD51BL8DrwIPA2saI32g/rgL41ttXbhiAIyFvOSAgoHq4rJd48sw0czkD4NPAc/WYOAz8BeBrbyaZzJbKr7It55KCJQl5Fe7uDHO0p4WMIfn+uRm8iiAR8vGLAwOoigD4AvDyRiaCwLMAz/9rjqmssS0AliNZM228HoX7dkb42f5BnhyOsDvaRMin4VTWml0r8esL16rTfgJEANTKjS8DN4/Nr3Li8iqNCpjpSAzbYUfQy6FEK4d3Rulu9pHNrJA1JPFAiGypABuWOzm1wh3tIfZ2NHcDXwV+pFaAPArwyvRKQ84NW2I6Dl0hH/f2RLi/N0qsSQNg/upVDNOkp6cHgJzp4Hxk/qnpNHs7mgEeBp5VgduBUYAzizkUobhHOmDYDo6EXRE/h3uiHPpEmBavuj4mlUpRKBQYHBxcv5e37Bpmzy3ovLecYzQeHADuUoGDgPjTxXkUxVMzQUoo2g5CwK2RAJ/tj7E/EcarKJukf2pqirW1NYaHh1E2PMtbDm6b+346z2hZyA6plWTEu0s6IKhuoFNx7vMI7u5s4YHeKPt2NOOpqE7VbNtmcnKSbDbL8PAwqqpuep43bYQLiAsrOaAN4E4V2AVwNWdUQJSj3SMEB7rCfG4wzmgs6B4bhkEymUTXdYaGhvD7/TVj8paDELUwFgtm9bJbBdoBsoYDeLAcyU1BL9/b281Aq79ucBYKBSYnJ9F1nf7+fsLhsOu4vOW4MrFmrmf5iFqRagwpQZQ3Q1MEMb9WF4Cu6ySTSYrFIolEgvb29rpj86ZdV1sq5lUAA0CrUKYpgit6iYdf/4Dnzs9xMb1ZujOZDMlkklKpRDweJ5FIXPc4F20HxYWKDbFlqsAi0NHiVShLO6iKYM20OZFc5pXLGW5rC/JQf5x+pUAqlcJxHEKhEL29va77vVHGi7ZEuGxIUPNUL1cVIAnQGfDWIA1qHgTw92s63zl7mXcmZ1AFeL1eBgYGak6Cm6IWLRs3nO0fbndKAcYAbo0G3KseAX5VQSJYsRQUJIFAANsyMU1zy5xSZqLWbvnQ37gK/BVgtK0ZJ5lGEYqruEggbQsUIdBUlZyuc/z8NaTq5WhflDvammveuGSXc4sbEyOxdRBvqBUmJnZ3hG+5M+5nPF0/g65YAoSgpcnL39ImpxeLOE6BM/NZhlr93N8b5UCiFb+qrDNhyVom9sSD3N4WArgCnFEAE/gtwAO98fr1voC0CZqqsWzCi1dyaIogqCloimAik+f4+CxfeeMSL0wsMJ8zmMwWKViyJniP9MWqly8A+WpREwbeBfp+fn6GU6lsTQ6xJLSpDk8PaLyU1nj1WoGAR9RN79EmDYmkaMlNR/TenghP7OkCmAduA5aqmea/wDcBHt3dxU1BrysTphSczQreWi7h97gfzTI7HvKWTdHarBFxv8YjwzuqP78NLLkVus8Dj6SyBZ56Z4bFvPGRY1suxUoOrgJ0PYv4VJ65ayf94SaAPwBfrFdth4CTwMFUtsjTY7PM6sXNAuRSHW9l7X6NY/t66CsDOAvcB2Su13eEgT8CBw3b4VcXFvhzgxWXm32mO8JjIzuqCvk2cBRYbqQDawZ+Wqk9Obegc3I6zdiC3rDzPW0hHuqPVcs4gBeBx4F0o21g1b4EPAPsBPjnco73VnJMpPMsFUx0w8aW5dqj2euhza9xcyTASCzAJ8s6AJACjgG/+zhdeZuU8ikp5cVtduWXpJTHpJQdH7cr32h+4B7gQKUk7K70DVpF8NLATOX/iTeBt4CGWrjtgPi/2f8GADSheFrTb1zTAAAAAElFTkSuQmCC"}},"time_used":5130,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5130,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"172.67.152.30","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:47.596Z","timestamp":1785136427596,"http_version":"HTTP/3","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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/d71b99267b066b9b.js HTTP/1.1\r\nHost: coinlib.io\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://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\naccess-control-allow-origin: *\r\nage: 2265043\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"d71b99267b066b9b.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\netag: W/\"8ab91e90961bd7e4d7c2d7514a37ecf6\"\r\nlast-modified: Mon, 25 May 2026 18:12:21 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/d71b99267b066b9b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::z8pn9-1779843301298-e28dad7012c9\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ufTS7xLv1PQsOnm4nuhbXBSM1BAhPjOi%2BMpwEP9FZronGmlPUuCSl0nRR3XPDvVWFBPeuAFFFYA%2FlCaJPSd1KQQVa332EsvHg2DqrVdXim9nPUZRTM8krQCf05VD\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a219d7f07f1a8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"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"]},{"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"]}],"data":{"size":27443,"size_decoded":11045,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (27443), with no line terminators","md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-11T04:47:30.134319Z","times_seen":2156,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LDcyODQsZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7Zm9yKHZhciBlLHIsbz0wLHQ9IiIsbD1hcmd1bWVudHMubGVuZ3RoO288bDtvKyspKGU9YXJndW1lbnRzW29dKSYmKHI9ZnVuY3Rpb24gZShyKXt2YXIgbyx0LGw9IiI7aWYoInN0cmluZyI9PXR5cGVvZiByfHwibnVtYmVyIj09dHlwZW9mIHIpbCs9cjtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgcilpZihBcnJheS5pc0FycmF5KHIpKXt2YXIgbj1yLmxlbmd0aDtmb3Iobz0wO288bjtvKyspcltvXSYmKHQ9ZShyW29dKSkmJihsJiYobCs9IiAiKSxsKz10KX1lbHNlIGZvcih0IGluIHIpclt0XSYmKGwmJihsKz0iICIpLGwrPXQpO3JldHVybiBsfShlKSkmJih0JiYodCs9IiAiKSx0Kz1yKTtyZXR1cm4gdH1lLnMoWyJjbHN4IiwoKT0+cl0sNzI4NCk7bGV0IG89KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSx0PVtdLGw9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCB0PWVbcl0sbj1vLm5leHRQYXJ0LmdldCh0KTtpZihuKXtsZXQgbz1sKGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IGE9by52YWxpZGF0b3JzO2lmKG51bGw9PT1hKXJldHVybjtsZXQgcz0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPWFbZV07aWYoci52YWxpZGF0b3IocykpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbj0oZSxyKT0+e2xldCB0PW8oKTtmb3IobGV0IG8gaW4gZSlhKGVbb10sdCxvLHIpO3JldHVybiB0fSxhPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/aShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/YyhlLHIsbyx0KTpkKGUscixvLHQpfSxpPShlLHIsbyk9PnsoIiI9PT1lP3I6bShyLGUpKS5jbGFzc0dyb3VwSWQ9b30sYz0oZSxyLG8sdCk9PntwKGUpP2EoZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxuPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspe2xldFtuLHNdPWxbZV07YShzLG0ocixuKSxvLHQpfX0sbT0oZSxyKT0+e2xldCB0PWUsbD1yLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgcj1sW2VdLG49dC5uZXh0UGFydC5nZXQocik7bnx8KG49bygpLHQubmV4dFBhcnQuc2V0KHIsbikpLHQ9bn1yZXR1cm4gdH0scD1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixiPVtdLHU9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLGY9L1xzKy8sZz1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWcoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGg9W10saz1lPT57bGV0IHI9cj0+cltlXXx8aDtyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LHc9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2kseD0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx5PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHY9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx6PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyxqPS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8sQz0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sTj1lPT55LnRlc3QoZSksST1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxVPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLCQ9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZJKGUuc2xpY2UoMCwtMSkpLE89ZT0+di50ZXN0KGUpLFM9KCk9PiEwLFc9ZT0+ei50ZXN0KGUpJiYhai50ZXN0KGUpLEY9KCk9PiExLFA9ZT0+Qy50ZXN0KGUpLFQ9ZT0+Ry50ZXN0KGUpLE09ZT0+IVIoZSkmJiFIKGUpLEE9ZT0+ZXIoZSxlbixGKSxSPWU9PncudGVzdChlKSxEPWU9PmVyKGUsZWEsVykscT1lPT5lcihlLGVzLEkpLEI9ZT0+ZXIoZSxlYyxTKSxFPWU9PmVyKGUsZWksRiksSz1lPT5lcihlLGV0LEYpLF89ZT0+ZXIoZSxlbCxUKSxMPWU9PmVyKGUsZWQsUCksSD1lPT54LnRlc3QoZSksSj1lPT5lbyhlLGVhKSxRPWU9PmVvKGUsZWkpLFY9ZT0+ZW8oZSxldCksWD1lPT5lbyhlLGVuKSxZPWU9PmVvKGUsZWwpLFo9ZT0+ZW8oZSxlZCwhMCksZWU9ZT0+ZW8oZSxlYywhMCksZXI9KGUscixvKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byh0WzJdKSl9LGVvPShlLHIsbz0hMSk9PntsZXQgdD14LmV4ZWMoZSk7cmV0dXJuISF0JiYodFsxXT9yKHRbMV0pOm8pfSxldD1lPT4icG9zaXRpb24iPT09ZXx8InBlcmNlbnRhZ2UiPT09ZSxlbD1lPT4iaW1hZ2UiPT09ZXx8InVybCI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZXx8InNpemUiPT09ZXx8ImJnLXNpemUiPT09ZSxlYT1lPT4ibGVuZ3RoIj09PWUsZXM9ZT0+Im51bWJlciI9PT1lLGVpPWU9PiJmYW1pbHktbmFtZSI9PT1lLGVjPWU9PiJudW1iZXIiPT09ZXx8IndlaWdodCI9PT1lLGVkPWU9PiJzaGFkb3ciPT09ZSxlbT0oKGUsLi4ucik9PntsZXQgbyxhLHMsaSxjPWU9PntsZXQgcj1hKGUpO2lmKHIpcmV0dXJuIHI7bGV0IHQ9KChlLHIpPT57bGV0e3BhcnNlQ2xhc3NOYW1lOm8sZ2V0Q2xhc3NHcm91cElkOnQsZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOmwsc29ydE1vZGlmaWVyczpufT1yLGE9W10scz1lLnRyaW0oKS5zcGxpdChmKSxpPSIiO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS09MSl7bGV0IHI9c1tlXSx7aXNFeHRlcm5hbDpjLG1vZGlmaWVyczpkLGhhc0ltcG9ydGFudE1vZGlmaWVyOm0sYmFzZUNsYXNzTmFtZTpwLG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb246Yn09byhyKTtpZihjKXtpPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSk7Y29udGludWV9bGV0IHU9ISFiLGY9dCh1P3Auc3Vic3RyaW5nKDAsYik6cCk7aWYoIWYpe2lmKCF1fHwhKGY9dChwKSkpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX11PSExfWxldCBnPTA9PT1kLmxlbmd0aD8iIjoxPT09ZC5sZW5ndGg/ZFswXTpuKGQpLmpvaW4oIjoiKSxoPW0/ZysiISI6ZyxrPWgrZjtpZihhLmluZGV4T2Yoayk+LTEpY29udGludWU7YS5wdXNoKGspO2xldCB3PWwoZix1KTtmb3IobGV0IGU9MDtlPHcubGVuZ3RoOysrZSl7bGV0IHI9d1tlXTthLnB1c2goaCtyKX1pPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSl9cmV0dXJuIGl9KShlLG8pO3JldHVybiBzKGUsdCksdH07cmV0dXJuIGk9ZD0+e3ZhciBtO2xldCBwO3JldHVybiBhPShvPXtjYWNoZTooZT0+e2lmKGU8MSlyZXR1cm57Z2V0OigpPT52b2lkIDAsc2V0OigpPT57fX07bGV0IHI9MCxvPU9iamVjdC5jcmVhdGUobnVsbCksdD1PYmplY3QuY3JlYXRlKG51bGwpLGw9KGwsbik9PntvW2xdPW4sKytyPmUmJihyPTAsdD1vLG89T2JqZWN0LmNyZWF0ZShudWxsKSl9O3JldHVybntnZXQoZSl7bGV0IHI9b1tlXTtyZXR1cm4gdm9pZCAwIT09cj9yOnZvaWQgMCE9PShyPXRbZV0pPyhsKGUscikscik6dm9pZCAwfSxzZXQoZSxyKXtlIGluIG8/b1tlXT1yOmwoZSxyKX19fSkoKG09ci5yZWR1Y2UoKGUscik9PnIoZSksZSgpKSkuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTooZT0+e2xldHtwcmVmaXg6cixleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpvfT1lLHQ9ZT0+e2xldCByLG89W10sdD0wLGw9MCxuPTAsYT1lLmxlbmd0aDtmb3IobGV0IHM9MDtzPGE7cysrKXtsZXQgYT1lW3NdO2lmKDA9PT10JiYwPT09bCl7aWYoIjoiPT09YSl7by5wdXNoKGUuc2xpY2UobixzKSksbj1zKzE7Y29udGludWV9aWYoIi8iPT09YSl7cj1zO2NvbnRpbnVlfX0iWyI9PT1hP3QrKzoiXSI9PT1hP3QtLToiKCI9PT1hP2wrKzoiKSI9PT1hJiZsLS19bGV0IHM9MD09PW8ubGVuZ3RoP2U6ZS5zbGljZShuKSxpPXMsYz0hMTtyZXR1cm4gcy5lbmRzV2l0aCgiISIpPyhpPXMuc2xpY2UoMCwtMSksYz0hMCk6cy5zdGFydHNXaXRoKCIhIikmJihpPXMuc2xpY2UoMSksYz0hMCksdShvLGMsaSxyJiZyPm4/ci1uOnZvaWQgMCl9O2lmKHIpe2xldCBlPXIrIjoiLG89dDt0PXI9PnIuc3RhcnRzV2l0aChlKT9vKHIuc2xpY2UoZS5sZW5ndGgpKTp1KGIsITEscix2b2lkIDAsITApfWlmKG8pe2xldCBlPXQ7dD1yPT5vKHtjbGFzc05hbWU6cixwYXJzZUNsYXNzTmFtZTplfSl9cmV0dXJuIHR9KShtKSxzb3J0TW9kaWZpZXJzOihwPW5ldyBNYXAsbS5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChlLHIpPT57cC5zZXQoZSwxZTYrcil9KSxlPT57bGV0IHI9W10sbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IGw9ZVt0XSxuPSJbIj09PWxbMF0sYT1wLmhhcyhsKTtufHxhPyhvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pLG89W10pLHIucHVzaChsKSk6by5wdXNoKGwpfXJldHVybiBvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pKSxyfSksLi4uKGU9PntsZXQgcj0oZT0+e2xldHt0aGVtZTpyLGNsYXNzR3JvdXBzOm99PWU7cmV0dXJuIG4obyxyKX0pKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOm8sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOmF9PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDplPT57aWYoZS5zdGFydHNXaXRoKCJbIikmJmUuZW5kc1dpdGgoIl0iKSl7dmFyIG87bGV0IHIsdCxsO3JldHVybiAtMT09PShvPWUpLnNsaWNlKDEsLTEpLmluZGV4T2YoIjoiKT92b2lkIDA6KHQ9KHI9by5zbGljZSgxLC0xKSkuaW5kZXhPZigiOiIpLChsPXIuc2xpY2UoMCx0KSk/ImFyYml0cmFyeS4uIitsOnZvaWQgMCl9bGV0IHQ9ZS5zcGxpdCgiLSIpLG49KygiIj09PXRbMF0mJnQubGVuZ3RoPjEpO3JldHVybiBsKHQsbixyKX0sZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOihlLHIpPT57aWYocil7bGV0IHI9YVtlXSxsPW9bZV07aWYocil7aWYobCl7bGV0IGU9QXJyYXkobC5sZW5ndGgrci5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8bC5sZW5ndGg7cisrKWVbcl09bFtyXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyllW2wubGVuZ3RoK29dPXJbb107cmV0dXJuIGV9cmV0dXJuIHJ9cmV0dXJuIGx8fHR9cmV0dXJuIG9bZV18fHR9fX0pKG0pfSkuY2FjaGUuZ2V0LHM9by5jYWNoZS5zZXQsaT1jLGMoZCl9LCguLi5lKT0+aSgoKC4uLmUpPT57bGV0IHIsbyx0PTAsbD0iIjtmb3IoO3Q8ZS5sZW5ndGg7KShyPWVbdCsrXSkmJihvPWcocikpJiYobCYmKGwrPSIgIiksbCs9byk7cmV0dXJuIGx9KSguLi5lKSl9KSgoKT0+e2xldCBlPWsoImNvbG9yIikscj1rKCJmb250Iiksbz1rKCJ0ZXh0IiksdD1rKCJmb250LXdlaWdodCIpLGw9aygidHJhY2tpbmciKSxuPWsoImxlYWRpbmciKSxhPWsoImJyZWFrcG9pbnQiKSxzPWsoImNvbnRhaW5lciIpLGk9aygic3BhY2luZyIpLGM9aygicmFkaXVzIiksZD1rKCJzaGFkb3ciKSxtPWsoImluc2V0LXNoYWRvdyIpLHA9aygidGV4dC1zaGFkb3ciKSxiPWsoImRyb3Atc2hhZG93IiksdT1rKCJibHVyIiksZj1rKCJwZXJzcGVjdGl2ZSIpLGc9aygiYXNwZWN0IiksaD1rKCJlYXNlIiksdz1rKCJhbmltYXRlIikseD0oKT0+WyJhdXRvIiwiYXZvaWQiLCJhbGwiLCJhdm9pZC1wYWdlIiwicGFnZSIsImxlZnQiLCJyaWdodCIsImNvbHVtbiJdLHk9KCk9PlsiY2VudGVyIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wLWxlZnQiLCJsZWZ0LXRvcCIsInRvcC1yaWdodCIsInJpZ2h0LXRvcCIsImJvdHRvbS1yaWdodCIsInJpZ2h0LWJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdC1ib3R0b20iXSx2PSgpPT5bLi4ueSgpLEgsUl0sej0oKT0+WyJhdXRvIiwiaGlkZGVuIiwiY2xpcCIsInZpc2libGUiLCJzY3JvbGwiXSxqPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLEM9KCk9PltILFIsaV0sRz0oKT0+W04sImZ1bGwiLCJhdXRvIiwuLi5DKCldLFc9KCk9PltVLCJub25lIiwic3ViZ3JpZCIsSCxSXSxGPSgpPT5bImF1dG8iLHtzcGFuOlsiZnVsbCIsVSxILFJdfSxVLEgsUl0sUD0oKT0+W1UsImF1dG8iLEgsUl0sVD0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgsUl0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5DKCldLGVsPSgpPT5bTiwiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkMoKV0sZW49KCk9PltOLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVhPSgpPT5bTiwic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVzPSgpPT5bZSxILFJdLGVpPSgpPT5bLi4ueSgpLFYsSyx7cG9zaXRpb246W0gsUl19XSxlYz0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVkPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFgsQSx7c2l6ZTpbSCxSXX1dLGVtPSgpPT5bJCxKLERdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixjLEgsUl0sZWI9KCk9PlsiIixJLEosRF0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bSSwkLFYsS10sZWg9KCk9PlsiIiwibm9uZSIsdSxILFJdLGVrPSgpPT5bIm5vbmUiLEksSCxSXSxldz0oKT0+WyJub25lIixJLEgsUl0sZXg9KCk9PltJLEgsUl0sZXk9KCk9PltOLCJmdWxsIiwuLi5DKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbT10sYnJlYWtwb2ludDpbT10sY29sb3I6W1NdLGNvbnRhaW5lcjpbT10sImRyb3Atc2hhZG93IjpbT10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbTV0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltPXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbT10sc2hhZG93OltPXSxzcGFjaW5nOlsicHgiLEldLHRleHQ6W09dLCJ0ZXh0LXNoYWRvdyI6W09dLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixOLFIsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltJLFIsSCxzXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpHKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6RygpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOkcoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOkcoKSxzdGFydDpHKCl9XSxlbmQ6W3siaW5zZXQtZSI6RygpLGVuZDpHKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjpHKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjpHKCl9XSx0b3A6W3t0b3A6RygpfV0scmlnaHQ6W3tyaWdodDpHKCl9XSxib3R0b206W3tib3R0b206RygpfV0sbGVmdDpbe2xlZnQ6RygpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltVLCJhdXRvIixILFJdfV0sYmFzaXM6W3tiYXNpczpbTiwiZnVsbCIsImF1dG8iLHMsLi4uQygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W0ksTiwiYXV0byIsImluaXRpYWwiLCJub25lIixSXX1dLGdyb3c6W3tncm93OlsiIixJLEgsUl19XSxzaHJpbms6W3tzaHJpbms6WyIiLEksSCxSXX1dLG9yZGVyOlt7b3JkZXI6W1UsImZpcnN0IiwibGFzdCIsIm5vbmUiLEgsUl19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOlcoKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpGKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlAoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpQKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOlcoKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpGKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlAoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpQKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6VCgpfV0sImF1dG8tcm93cyI6W3siYXV0by1yb3dzIjpUKCl9XSxnYXA6W3tnYXA6QygpfV0sImdhcC14IjpbeyJnYXAteCI6QygpfV0sImdhcC15IjpbeyJnYXAteSI6QygpfV0sImp1c3RpZnktY29udGVudCI6W3tqdXN0aWZ5OlsuLi5lcigpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LWl0ZW1zIjpbeyJqdXN0aWZ5LWl0ZW1zIjpbLi4uZW8oKSwibm9ybWFsIl19XSwianVzdGlmeS1zZWxmIjpbeyJqdXN0aWZ5LXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5lcigpXX1dLCJhbGlnbi1pdGVtcyI6W3tpdGVtczpbLi4uZW8oKSx7YmFzZWxpbmU6WyIiLCJsYXN0Il19XX1dLCJhbGlnbi1zZWxmIjpbe3NlbGY6WyJhdXRvIiwuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOmVyKCl9XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbLi4uZW8oKSwiYmFzZWxpbmUiXX1dLCJwbGFjZS1zZWxmIjpbeyJwbGFjZS1zZWxmIjpbImF1dG8iLC4uLmVvKCldfV0scDpbe3A6QygpfV0scHg6W3tweDpDKCl9XSxweTpbe3B5OkMoKX1dLHBzOlt7cHM6QygpfV0scGU6W3twZTpDKCl9XSxwYnM6W3twYnM6QygpfV0scGJlOlt7cGJlOkMoKX1dLHB0Olt7cHQ6QygpfV0scHI6W3twcjpDKCl9XSxwYjpbe3BiOkMoKX1dLHBsOlt7cGw6QygpfV0sbTpbe206ZXQoKX1dLG14Olt7bXg6ZXQoKX1dLG15Olt7bXk6ZXQoKX1dLG1zOlt7bXM6ZXQoKX1dLG1lOlt7bWU6ZXQoKX1dLG1iczpbe21iczpldCgpfV0sbWJlOlt7bWJlOmV0KCl9XSxtdDpbe210OmV0KCl9XSxtcjpbe21yOmV0KCl9XSxtYjpbe21iOmV0KCl9XSxtbDpbe21sOmV0KCl9XSwic3BhY2UteCI6W3sic3BhY2UteCI6QygpfV0sInNwYWNlLXgtcmV2ZXJzZSI6WyJzcGFjZS14LXJldmVyc2UiXSwic3BhY2UteSI6W3sic3BhY2UteSI6QygpfV0sInNwYWNlLXktcmV2ZXJzZSI6WyJzcGFjZS15LXJldmVyc2UiXSxzaXplOlt7c2l6ZTplbCgpfV0sImlubGluZS1zaXplIjpbe2lubGluZTpbImF1dG8iLC4uLmVuKCldfV0sIm1pbi1pbmxpbmUtc2l6ZSI6W3sibWluLWlubGluZSI6WyJhdXRvIiwuLi5lbigpXX1dLCJtYXgtaW5saW5lLXNpemUiOlt7Im1heC1pbmxpbmUiOlsibm9uZSIsLi4uZW4oKV19XSwiYmxvY2stc2l6ZSI6W3tibG9jazpbImF1dG8iLC4uLmVhKCldfV0sIm1pbi1ibG9jay1zaXplIjpbeyJtaW4tYmxvY2siOlsiYXV0byIsLi4uZWEoKV19XSwibWF4LWJsb2NrLXNpemUiOlt7Im1heC1ibG9jayI6WyJub25lIiwuLi5lYSgpXX1dLHc6W3t3OltzLCJzY3JlZW4iLC4uLmVsKCldfV0sIm1pbi13IjpbeyJtaW4tdyI6W3MsInNjcmVlbiIsIm5vbmUiLC4uLmVsKCldfV0sIm1heC13IjpbeyJtYXgtdyI6W3MsInNjcmVlbiIsIm5vbmUiLCJwcm9zZSIse3NjcmVlbjpbYV19LC4uLmVsKCldfV0saDpbe2g6WyJzY3JlZW4iLCJsaCIsLi4uZWwoKV19XSwibWluLWgiOlt7Im1pbi1oIjpbInNjcmVlbiIsImxoIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LWgiOlt7Im1heC1oIjpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLG8sSixEXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250Olt0LGVlLEJdfV0sImZvbnQtc3RyZXRjaCI6W3siZm9udC1zdHJldGNoIjpbInVsdHJhLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWktY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaS1leHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmEtZXhwYW5kZWQiLCJ1bHRyYS1leHBhbmRlZCIsJCxSXX1dLCJmb250LWZhbWlseSI6W3tmb250OltRLEUscl19XSwiZm9udC1mZWF0dXJlcyI6W3siZm9udC1mZWF0dXJlcyI6W1JdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOltsLEgsUl19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6W0ksIm5vbmUiLEgscV19XSxsZWFkaW5nOlt7bGVhZGluZzpbbiwuLi5DKCldfV0sImxpc3QtaW1hZ2UiOlt7Imxpc3QtaW1hZ2UiOlsibm9uZSIsSCxSXX1dLCJsaXN0LXN0eWxlLXBvc2l0aW9uIjpbe2xpc3Q6WyJpbnNpZGUiLCJvdXRzaWRlIl19XSwibGlzdC1zdHlsZS10eXBlIjpbe2xpc3Q6WyJkaXNjIiwiZGVjaW1hbCIsIm5vbmUiLEgsUl19XSwidGV4dC1hbGlnbm1lbnQiOlt7dGV4dDpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImp1c3RpZnkiLCJzdGFydCIsImVuZCJdfV0sInBsYWNlaG9sZGVyLWNvbG9yIjpbe3BsYWNlaG9sZGVyOmVzKCl9XSwidGV4dC1jb2xvciI6W3t0ZXh0OmVzKCl9XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5ldSgpLCJ3YXZ5Il19XSwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyI6W3tkZWNvcmF0aW9uOltJLCJmcm9tLWZvbnQiLCJhdXRvIixILERdfV0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6W3tkZWNvcmF0aW9uOmVzKCl9XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6W0ksImF1dG8iLEgsUl19XSwidGV4dC10cmFuc2Zvcm0iOlsidXBwZXJjYXNlIiwibG93ZXJjYXNlIiwiY2FwaXRhbGl6ZSIsIm5vcm1hbC1jYXNlIl0sInRleHQtb3ZlcmZsb3ciOlsidHJ1bmNhdGUiLCJ0ZXh0LWVsbGlwc2lzIiwidGV4dC1jbGlwIl0sInRleHQtd3JhcCI6W3t0ZXh0Olsid3JhcCIsIm5vd3JhcCIsImJhbGFuY2UiLCJwcmV0dHkiXX1dLGluZGVudDpbe2luZGVudDpDKCl9XSwidmVydGljYWwtYWxpZ24iOlt7YWxpZ246WyJiYXNlbGluZSIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSIsInRleHQtdG9wIiwidGV4dC1ib3R0b20iLCJzdWIiLCJzdXBlciIsSCxSXX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0sd3JhcDpbe3dyYXA6WyJicmVhay13b3JkIiwiYW55d2hlcmUiLCJub3JtYWwiXX1dLGh5cGhlbnM6W3toeXBoZW5zOlsibm9uZSIsIm1hbnVhbCIsImF1dG8iXX1dLGNvbnRlbnQ6W3tjb250ZW50Olsibm9uZSIsSCxSXX1dLCJiZy1hdHRhY2htZW50Ijpbe2JnOlsiZml4ZWQiLCJsb2NhbCIsInNjcm9sbCJdfV0sImJnLWNsaXAiOlt7ImJnLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJ0ZXh0Il19XSwiYmctb3JpZ2luIjpbeyJiZy1vcmlnaW4iOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiXX1dLCJiZy1wb3NpdGlvbiI6W3tiZzplaSgpfV0sImJnLXJlcGVhdCI6W3tiZzplYygpfV0sImJnLXNpemUiOlt7Ymc6ZWQoKX1dLCJiZy1pbWFnZSI6W3tiZzpbIm5vbmUiLHtsaW5lYXI6W3t0bzpbInQiLCJ0ciIsInIiLCJiciIsImIiLCJibCIsImwiLCJ0bCJdfSxVLEgsUl0scmFkaWFsOlsiIixILFJdLGNvbmljOltVLEgsUl19LFksX119XSwiYmctY29sb3IiOlt7Ymc6ZXMoKX1dLCJncmFkaWVudC1mcm9tLXBvcyI6W3tmcm9tOmVtKCl9XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6ZW0oKX1dLCJncmFkaWVudC10by1wb3MiOlt7dG86ZW0oKX1dLCJncmFkaWVudC1mcm9tIjpbe2Zyb206ZXMoKX1dLCJncmFkaWVudC12aWEiOlt7dmlhOmVzKCl9XSwiZ3JhZGllbnQtdG8iOlt7dG86ZXMoKX1dLHJvdW5kZWQ6W3tyb3VuZGVkOmVwKCl9XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOmVwKCl9XSwicm91bmRlZC1lIjpbeyJyb3VuZGVkLWUiOmVwKCl9XSwicm91bmRlZC10IjpbeyJyb3VuZGVkLXQiOmVwKCl9XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOmVwKCl9XSwicm91bmRlZC1iIjpbeyJyb3VuZGVkLWIiOmVwKCl9XSwicm91bmRlZC1sIjpbeyJyb3VuZGVkLWwiOmVwKCl9XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6ZXAoKX1dLCJyb3VuZGVkLXNlIjpbeyJyb3VuZGVkLXNlIjplcCgpfV0sInJvdW5kZWQtZWUiOlt7InJvdW5kZWQtZWUiOmVwKCl9XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6ZXAoKX1dLCJyb3VuZGVkLXRsIjpbeyJyb3VuZGVkLXRsIjplcCgpfV0sInJvdW5kZWQtdHIiOlt7InJvdW5kZWQtdHIiOmVwKCl9XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6ZXAoKX1dLCJyb3VuZGVkLWJsIjpbeyJyb3VuZGVkLWJsIjplcCgpfV0sImJvcmRlci13Ijpbe2JvcmRlcjplYigpfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjplYigpfV0sImJvcmRlci13LXkiOlt7ImJvcmRlci15IjplYigpfV0sImJvcmRlci13LXMiOlt7ImJvcmRlci1zIjplYigpfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjplYigpfV0sImJvcmRlci13LWJzIjpbeyJib3JkZXItYnMiOmViKCl9XSwiYm9yZGVyLXctYmUiOlt7ImJvcmRlci1iZSI6ZWIoKX1dLCJib3JkZXItdy10IjpbeyJib3JkZXItdCI6ZWIoKX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6ZWIoKX1dLCJib3JkZXItdy1iIjpbeyJib3JkZXItYiI6ZWIoKX1dLCJib3JkZXItdy1sIjpbeyJib3JkZXItbCI6ZWIoKX1dLCJkaXZpZGUteCI6W3siZGl2aWRlLXgiOmViKCl9XSwiZGl2aWRlLXgtcmV2ZXJzZSI6WyJkaXZpZGUteC1yZXZlcnNlIl0sImRpdmlkZS15IjpbeyJkaXZpZGUteSI6ZWIoKX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiYm9yZGVyLXN0eWxlIjpbe2JvcmRlcjpbLi4uZXUoKSwiaGlkZGVuIiwibm9uZSJdfV0sImRpdmlkZS1zdHlsZSI6W3tkaXZpZGU6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJib3JkZXItY29sb3IiOlt7Ym9yZGVyOmVzKCl9XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjplcygpfV0sImJvcmRlci1jb2xvci15IjpbeyJib3JkZXIteSI6ZXMoKX1dLCJib3JkZXItY29sb3ItcyI6W3siYm9yZGVyLXMiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjplcygpfV0sImJvcmRlci1jb2xvci1icyI6W3siYm9yZGVyLWJzIjplcygpfV0sImJvcmRlci1jb2xvci1iZSI6W3siYm9yZGVyLWJlIjplcygpfV0sImJvcmRlci1jb2xvci10IjpbeyJib3JkZXItdCI6ZXMoKX1dLCJib3JkZXItY29sb3ItciI6W3siYm9yZGVyLXIiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjplcygpfV0sImJvcmRlci1jb2xvci1sIjpbeyJib3JkZXItbCI6ZXMoKX1dLCJkaXZpZGUtY29sb3IiOlt7ZGl2aWRlOmVzKCl9XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsuLi5ldSgpLCJub25lIiwiaGlkZGVuIl19XSwib3V0bGluZS1vZmZzZXQiOlt7Im91dGxpbmUtb2Zmc2V0IjpbSSxILFJdfV0sIm91dGxpbmUtdyI6W3tvdXRsaW5lOlsiIixJLEosRF19XSwib3V0bGluZS1jb2xvciI6W3tvdXRsaW5lOmVzKCl9XSxzaGFkb3c6W3tzaGFkb3c6WyIiLCJub25lIixkLFosTF19XSwic2hhZG93LWNvbG9yIjpbe3NoYWRvdzplcygpfV0sImluc2V0LXNoYWRvdyI6W3siaW5zZXQtc2hhZG93IjpbIm5vbmUiLG0sWixMXX1dLCJpbnNldC1zaGFkb3ctY29sb3IiOlt7Imluc2V0LXNoYWRvdyI6ZXMoKX1dLCJyaW5nLXciOlt7cmluZzplYigpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzplcygpfV0sInJpbmctb2Zmc2V0LXciOlt7InJpbmctb2Zmc2V0IjpbSSxEXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOmVzKCl9XSwiaW5zZXQtcmluZy13IjpbeyJpbnNldC1yaW5nIjplYigpfV0sImluc2V0LXJpbmctY29sb3IiOlt7Imluc2V0LXJpbmciOmVzKCl9XSwidGV4dC1zaGFkb3ciOlt7InRleHQtc2hhZG93IjpbIm5vbmUiLHAsWixMXX1dLCJ0ZXh0LXNoYWRvdy1jb2xvciI6W3sidGV4dC1zaGFkb3ciOmVzKCl9XSxvcGFjaXR5Olt7b3BhY2l0eTpbSSxILFJdfV0sIm1peC1ibGVuZCI6W3sibWl4LWJsZW5kIjpbLi4uZWYoKSwicGx1cy1kYXJrZXIiLCJwbHVzLWxpZ2h0ZXIiXX1dLCJiZy1ibGVuZCI6W3siYmctYmxlbmQiOmVmKCl9XSwibWFzay1jbGlwIjpbeyJtYXNrLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJmaWxsIiwic3Ryb2tlIiwidmlldyJdfSwibWFzay1uby1jbGlwIl0sIm1hc2stY29tcG9zaXRlIjpbe21hc2s6WyJhZGQiLCJzdWJ0cmFjdCIsImludGVyc2VjdCIsImV4Y2x1ZGUiXX1dLCJtYXNrLWltYWdlLWxpbmVhci1wb3MiOlt7Im1hc2stbGluZWFyIjpbSV19XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MiOlt7Im1hc2stbGluZWFyLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItdG8tcG9zIjpbeyJtYXNrLWxpbmVhci10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yIjpbeyJtYXNrLWxpbmVhci10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1wb3MiOlt7Im1hc2stdC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtdC10by1wb3MiOlt7Im1hc2stdC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1jb2xvciI6W3sibWFzay10LWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS10LXRvLWNvbG9yIjpbeyJtYXNrLXQtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yLWZyb20tcG9zIjpbeyJtYXNrLXItZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXItdG8tcG9zIjpbeyJtYXNrLXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yLWZyb20tY29sb3IiOlt7Im1hc2stci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2Utci10by1jb2xvciI6W3sibWFzay1yLXRvIjplcygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLXBvcyI6W3sibWFzay1iLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1iLXRvLXBvcyI6W3sibWFzay1iLXRvIjplZygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLWNvbG9yIjpbeyJtYXNrLWItZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLWItdG8tY29sb3IiOlt7Im1hc2stYi10byI6ZXMoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1wb3MiOlt7Im1hc2stbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbC10by1wb3MiOlt7Im1hc2stbC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1jb2xvciI6W3sibWFzay1sLWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS1sLXRvLWNvbG9yIjpbeyJtYXNrLWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS14LWZyb20tcG9zIjpbeyJtYXNrLXgtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXgtdG8tcG9zIjpbeyJtYXNrLXgtdG8iOmVnKCl9XSwibWFzay1pbWFnZS14LWZyb20tY29sb3IiOlt7Im1hc2steC1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UteC10by1jb2xvciI6W3sibWFzay14LXRvIjplcygpfV0sIm1hc2staW1hZ2UteS1mcm9tLXBvcyI6W3sibWFzay15LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS15LXRvLXBvcyI6W3sibWFzay15LXRvIjplZygpfV0sIm1hc2staW1hZ2UteS1mcm9tLWNvbG9yIjpbeyJtYXNrLXktZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXktdG8tY29sb3IiOlt7Im1hc2steS10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbCI6W3sibWFzay1yYWRpYWwiOltILFJdfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tcG9zIjpbeyJtYXNrLXJhZGlhbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXRvLXBvcyI6W3sibWFzay1yYWRpYWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtZnJvbS1jb2xvciI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1jb2xvciI6W3sibWFzay1yYWRpYWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtc2hhcGUiOlt7Im1hc2stcmFkaWFsIjpbImNpcmNsZSIsImVsbGlwc2UiXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1zaXplIjpbeyJtYXNrLXJhZGlhbCI6W3tjbG9zZXN0Olsic2lkZSIsImNvcm5lciJdLGZhcnRoZXN0Olsic2lkZSIsImNvcm5lciJdfV19XSwibWFzay1pbWFnZS1yYWRpYWwtcG9zIjpbeyJtYXNrLXJhZGlhbC1hdCI6eSgpfV0sIm1hc2staW1hZ2UtY29uaWMtcG9zIjpbeyJtYXNrLWNvbmljIjpbSV19XSwibWFzay1pbWFnZS1jb25pYy1mcm9tLXBvcyI6W3sibWFzay1jb25pYy1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tcG9zIjpbeyJtYXNrLWNvbmljLXRvIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1jb2xvciI6W3sibWFzay1jb25pYy1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tY29sb3IiOlt7Im1hc2stY29uaWMtdG8iOmVzKCl9XSwibWFzay1tb2RlIjpbe21hc2s6WyJhbHBoYSIsImx1bWluYW5jZSIsIm1hdGNoIl19XSwibWFzay1vcmlnaW4iOlt7Im1hc2stb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX1dLCJtYXNrLXBvc2l0aW9uIjpbe21hc2s6ZWkoKX1dLCJtYXNrLXJlcGVhdCI6W3ttYXNrOmVjKCl9XSwibWFzay1zaXplIjpbe21hc2s6ZWQoKX1dLCJtYXNrLXR5cGUiOlt7Im1hc2stdHlwZSI6WyJhbHBoYSIsImx1bWluYW5jZSJdfV0sIm1hc2staW1hZ2UiOlt7bWFzazpbIm5vbmUiLEgsUl19XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIixILFJdfV0sYmx1cjpbe2JsdXI6ZWgoKX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltJLEgsUl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltJLEgsUl19XSwiZHJvcC1zaGFkb3ciOlt7ImRyb3Atc2hhZG93IjpbIiIsIm5vbmUiLGIsWixMXX1dLCJkcm9wLXNoYWRvdy1jb2xvciI6W3siZHJvcC1zaGFkb3ciOmVzKCl9XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6WyIiLEksSCxSXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbSSxILFJdfV0saW52ZXJ0Olt7aW52ZXJ0OlsiIixJLEgsUl19XSxzYXR1cmF0ZTpbe3NhdHVyYXRlOltJLEgsUl19XSxzZXBpYTpbe3NlcGlhOlsiIixJLEgsUl19XSwiYmFja2Ryb3AtZmlsdGVyIjpbeyJiYWNrZHJvcC1maWx0ZXIiOlsiIiwibm9uZSIsSCxSXX1dLCJiYWNrZHJvcC1ibHVyIjpbeyJiYWNrZHJvcC1ibHVyIjplaCgpfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltJLEgsUl19XSwiYmFja2Ryb3AtY29udHJhc3QiOlt7ImJhY2tkcm9wLWNvbnRyYXN0IjpbSSxILFJdfV0sImJhY2tkcm9wLWdyYXlzY2FsZSI6W3siYmFja2Ryb3AtZ3JheXNjYWxlIjpbIiIsSSxILFJdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOltJLEgsUl19XSwiYmFja2Ryb3AtaW52ZXJ0IjpbeyJiYWNrZHJvcC1pbnZlcnQiOlsiIixJLEgsUl19XSwiYmFja2Ryb3Atb3BhY2l0eSI6W3siYmFja2Ryb3Atb3BhY2l0eSI6W0ksSCxSXX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOltJLEgsUl19XSwiYmFja2Ryb3Atc2VwaWEiOlt7ImJhY2tkcm9wLXNlcGlhIjpbIiIsSSxILFJdfV0sImJvcmRlci1jb2xsYXBzZSI6W3tib3JkZXI6WyJjb2xsYXBzZSIsInNlcGFyYXRlIl19XSwiYm9yZGVyLXNwYWNpbmciOlt7ImJvcmRlci1zcGFjaW5nIjpDKCl9XSwiYm9yZGVyLXNwYWNpbmcteCI6W3siYm9yZGVyLXNwYWNpbmcteCI6QygpfV0sImJvcmRlci1zcGFjaW5nLXkiOlt7ImJvcmRlci1zcGFjaW5nLXkiOkMoKX1dLCJ0YWJsZS1sYXlvdXQiOlt7dGFibGU6WyJhdXRvIiwiZml4ZWQiXX1dLGNhcHRpb246W3tjYXB0aW9uOlsidG9wIiwiYm90dG9tIl19XSx0cmFuc2l0aW9uOlt7dHJhbnNpdGlvbjpbIiIsImFsbCIsImNvbG9ycyIsIm9wYWNpdHkiLCJzaGFkb3ciLCJ0cmFuc2Zvcm0iLCJub25lIixILFJdfV0sInRyYW5zaXRpb24tYmVoYXZpb3IiOlt7dHJhbnNpdGlvbjpbIm5vcm1hbCIsImRpc2NyZXRlIl19XSxkdXJhdGlvbjpbe2R1cmF0aW9uOltJLCJpbml0aWFsIixILFJdfV0sZWFzZTpbe2Vhc2U6WyJsaW5lYXIiLCJpbml0aWFsIixoLEgsUl19XSxkZWxheTpbe2RlbGF5OltJLEgsUl19XSxhbmltYXRlOlt7YW5pbWF0ZTpbIm5vbmUiLHcsSCxSXX1dLGJhY2tmYWNlOlt7YmFja2ZhY2U6WyJoaWRkZW4iLCJ2aXNpYmxlIl19XSxwZXJzcGVjdGl2ZTpbe3BlcnNwZWN0aXZlOltmLEgsUl19XSwicGVyc3BlY3RpdmUtb3JpZ2luIjpbeyJwZXJzcGVjdGl2ZS1vcmlnaW4iOnYoKX1dLHJvdGF0ZTpbe3JvdGF0ZTplaygpfV0sInJvdGF0ZS14IjpbeyJyb3RhdGUteCI6ZWsoKX1dLCJyb3RhdGUteSI6W3sicm90YXRlLXkiOmVrKCl9XSwicm90YXRlLXoiOlt7InJvdGF0ZS16IjplaygpfV0sc2NhbGU6W3tzY2FsZTpldygpfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOmV3KCl9XSwic2NhbGUteSI6W3sic2NhbGUteSI6ZXcoKX1dLCJzY2FsZS16IjpbeyJzY2FsZS16IjpldygpfV0sInNjYWxlLTNkIjpbInNjYWxlLTNkIl0sc2tldzpbe3NrZXc6ZXgoKX1dLCJza2V3LXgiOlt7InNrZXcteCI6ZXgoKX1dLCJza2V3LXkiOlt7InNrZXcteSI6ZXgoKX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbSCxSLCIiLCJub25lIiwiZ3B1IiwiY3B1Il19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46digpfV0sInRyYW5zZm9ybS1zdHlsZSI6W3t0cmFuc2Zvcm06WyIzZCIsImZsYXQiXX1dLHRyYW5zbGF0ZTpbe3RyYW5zbGF0ZTpleSgpfV0sInRyYW5zbGF0ZS14IjpbeyJ0cmFuc2xhdGUteCI6ZXkoKX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOmV5KCl9XSwidHJhbnNsYXRlLXoiOlt7InRyYW5zbGF0ZS16IjpleSgpfV0sInRyYW5zbGF0ZS1ub25lIjpbInRyYW5zbGF0ZS1ub25lIl0sYWNjZW50Olt7YWNjZW50OmVzKCl9XSxhcHBlYXJhbmNlOlt7YXBwZWFyYW5jZTpbIm5vbmUiLCJhdXRvIl19XSwiY2FyZXQtY29sb3IiOlt7Y2FyZXQ6ZXMoKX1dLCJjb2xvci1zY2hlbWUiOlt7c2NoZW1lOlsibm9ybWFsIiwiZGFyayIsImxpZ2h0IiwibGlnaHQtZGFyayIsIm9ubHktZGFyayIsIm9ubHktbGlnaHQiXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsSCxSXX1dLCJmaWVsZC1zaXppbmciOlt7ImZpZWxkLXNpemluZyI6WyJmaXhlZCIsImNvbnRlbnQiXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsiYXV0byIsIm5vbmUiXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCIiLCJ5IiwieCJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpDKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkMoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6QygpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpDKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkMoKX1dLCJzY3JvbGwtbWJzIjpbeyJzY3JvbGwtbWJzIjpDKCl9XSwic2Nyb2xsLW1iZSI6W3sic2Nyb2xsLW1iZSI6QygpfV0sInNjcm9sbC1tdCI6W3sic2Nyb2xsLW10IjpDKCl9XSwic2Nyb2xsLW1yIjpbeyJzY3JvbGwtbXIiOkMoKX1dLCJzY3JvbGwtbWIiOlt7InNjcm9sbC1tYiI6QygpfV0sInNjcm9sbC1tbCI6W3sic2Nyb2xsLW1sIjpDKCl9XSwic2Nyb2xsLXAiOlt7InNjcm9sbC1wIjpDKCl9XSwic2Nyb2xsLXB4IjpbeyJzY3JvbGwtcHgiOkMoKX1dLCJzY3JvbGwtcHkiOlt7InNjcm9sbC1weSI6QygpfV0sInNjcm9sbC1wcyI6W3sic2Nyb2xsLXBzIjpDKCl9XSwic2Nyb2xsLXBlIjpbeyJzY3JvbGwtcGUiOkMoKX1dLCJzY3JvbGwtcGJzIjpbeyJzY3JvbGwtcGJzIjpDKCl9XSwic2Nyb2xsLXBiZSI6W3sic2Nyb2xsLXBiZSI6QygpfV0sInNjcm9sbC1wdCI6W3sic2Nyb2xsLXB0IjpDKCl9XSwic2Nyb2xsLXByIjpbeyJzY3JvbGwtcHIiOkMoKX1dLCJzY3JvbGwtcGIiOlt7InNjcm9sbC1wYiI6QygpfV0sInNjcm9sbC1wbCI6W3sic2Nyb2xsLXBsIjpDKCl9XSwic25hcC1hbGlnbiI6W3tzbmFwOlsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJhbGlnbi1ub25lIl19XSwic25hcC1zdG9wIjpbe3NuYXA6WyJub3JtYWwiLCJhbHdheXMiXX1dLCJzbmFwLXR5cGUiOlt7c25hcDpbIm5vbmUiLCJ4IiwieSIsImJvdGgiXX1dLCJzbmFwLXN0cmljdG5lc3MiOlt7c25hcDpbIm1hbmRhdG9yeSIsInByb3hpbWl0eSJdfV0sdG91Y2g6W3t0b3VjaDpbImF1dG8iLCJub25lIiwibWFuaXB1bGF0aW9uIl19XSwidG91Y2gteCI6W3sidG91Y2gtcGFuIjpbIngiLCJsZWZ0IiwicmlnaHQiXX1dLCJ0b3VjaC15IjpbeyJ0b3VjaC1wYW4iOlsieSIsInVwIiwiZG93biJdfV0sInRvdWNoLXB6IjpbInRvdWNoLXBpbmNoLXpvb20iXSxzZWxlY3Q6W3tzZWxlY3Q6WyJub25lIiwidGV4dCIsImFsbCIsImF1dG8iXX1dLCJ3aWxsLWNoYW5nZSI6W3sid2lsbC1jaGFuZ2UiOlsiYXV0byIsInNjcm9sbCIsImNvbnRlbnRzIiwidHJhbnNmb3JtIixILFJdfV0sZmlsbDpbe2ZpbGw6WyJub25lIiwuLi5lcygpXX1dLCJzdHJva2UtdyI6W3tzdHJva2U6W0ksSixELHFdfV0sc3Ryb2tlOlt7c3Ryb2tlOlsibm9uZSIsLi4uZXMoKV19XSwiZm9yY2VkLWNvbG9yLWFkanVzdCI6W3siZm9yY2VkLWNvbG9yLWFkanVzdCI6WyJhdXRvIiwibm9uZSJdfV19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6e292ZXJmbG93Olsib3ZlcmZsb3cteCIsIm92ZXJmbG93LXkiXSxvdmVyc2Nyb2xsOlsib3ZlcnNjcm9sbC14Iiwib3ZlcnNjcm9sbC15Il0saW5zZXQ6WyJpbnNldC14IiwiaW5zZXQteSIsImluc2V0LWJzIiwiaW5zZXQtYmUiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicGJzIiwicGJlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtYnMiLCJtYmUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy14IiwiYm9yZGVyLXcteSIsImJvcmRlci13LXMiLCJib3JkZXItdy1lIiwiYm9yZGVyLXctYnMiLCJib3JkZXItdy1iZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3IteCIsImJvcmRlci1jb2xvci15IiwiYm9yZGVyLWNvbG9yLXMiLCJib3JkZXItY29sb3ItZSIsImJvcmRlci1jb2xvci1icyIsImJvcmRlci1jb2xvci1iZSIsImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItYiIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci14IjpbImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXkiOlsiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItYiJdLHRyYW5zbGF0ZTpbInRyYW5zbGF0ZS14IiwidHJhbnNsYXRlLXkiLCJ0cmFuc2xhdGUtbm9uZSJdLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLXoiXSwic2Nyb2xsLW0iOlsic2Nyb2xsLW14Iiwic2Nyb2xsLW15Iiwic2Nyb2xsLW1zIiwic2Nyb2xsLW1lIiwic2Nyb2xsLW1icyIsInNjcm9sbC1tYmUiLCJzY3JvbGwtbXQiLCJzY3JvbGwtbXIiLCJzY3JvbGwtbWIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW14IjpbInNjcm9sbC1tciIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXkiOlsic2Nyb2xsLW10Iiwic2Nyb2xsLW1iIl0sInNjcm9sbC1wIjpbInNjcm9sbC1weCIsInNjcm9sbC1weSIsInNjcm9sbC1wcyIsInNjcm9sbC1wZSIsInNjcm9sbC1wYnMiLCJzY3JvbGwtcGJlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX0sb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6WyIqIiwiKioiLCJhZnRlciIsImJhY2tkcm9wIiwiYmVmb3JlIiwiZGV0YWlscy1jb250ZW50IiwiZmlsZSIsImZpcnN0LWxldHRlciIsImZpcnN0LWxpbmUiLCJtYXJrZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGlvbiJdfX0pO2Z1bmN0aW9uIGVwKC4uLmUpe3JldHVybiBlbShyKGUpKX1mdW5jdGlvbiBlYihlLHIpe3JldHVybmAvY29pbi8ke2UudG9VcHBlckNhc2UoKX0vJHtlbmNvZGVVUklDb21wb25lbnQoci50cmltKCkucmVwbGFjZSgvXHMrL2csIi0iKSl9YH1sZXQgZXU9bmV3IFNldChbImNvaW5saWIuaW8iLCJ3d3cuY29pbmxpYi5pbyIsImNvaW5saWIudmVyY2VsLmFwcCJdKTtmdW5jdGlvbiBlZihlKXtpZighZXx8ZS5zdGFydHNXaXRoKCIvIil8fGUuc3RhcnRzV2l0aCgiIyIpKXJldHVybiExO2lmKC9eKG1haWx0b3x0ZWwpOi9pLnRlc3QoZSkpcmV0dXJuITA7dHJ5e2xldCByPW5ldyBVUkwoZSk7cmV0dXJuIWV1LmhhcyhyLmhvc3RuYW1lKX1jYXRjaHtyZXR1cm4hMX19bGV0IGVnPW5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtub3RhdGlvbjoiY29tcGFjdCIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTtmdW5jdGlvbiBlaChlKXtyZXR1cm4gZWcuZm9ybWF0KGUpfWZ1bmN0aW9uIGVrKGUscj0idXNkIil7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnIudG9VcHBlckNhc2UoKSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZTwxPzY6ZTwxMDA/NDoyfSkuZm9ybWF0KGUpfWZ1bmN0aW9uIGV3KGUpe3JldHVybmAke2U+PTA/IisiOiIifSR7ZS50b0ZpeGVkKDIpfSVgfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLVVTIikuZm9ybWF0KGUpfWUucyhbImNuIiwoKT0+ZXAsImNvaW5VcmwiLCgpPT5lYiwiZm9ybWF0Q29tcGFjdCIsKCk9PmVoLCJmb3JtYXROdW1iZXIiLCgpPT5leCwiZm9ybWF0UGVyY2VudGFnZSIsKCk9PmV3LCJmb3JtYXRQcmljZSIsKCk9PmVrLCJpc0V4dGVybmFsVXJsIiwoKT0+ZWZdLDc1MTU3KX1dKTs="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99527.15c5c25d27a56a0df772.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.712Z","timestamp":1785136427712,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99527.15c5c25d27a56a0df772.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-19360\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:20\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: d36e46d0687c6a722130fd233d81c47d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":103264,"size_decoded":14015,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3ae28448cb02ee3491028f82c9e212b5","sha1":"840f868063e33818424634685f83f5dc9c54fd85","sha256":"6d8af262e85da3952f96074c40841361fe81de28292a6654a4b6a5c8c0d9a1b6","sha512":"615657ad93d0166da77c83a566e60f1d4002b7a4a1c811227c935f2a4ea91b16e01893aba5c708e2a1b40c39c6e773c08d99e62560bcc1c8df301a3b9f1b3821","ssdeep":"768:ywlwokCcAfM0x/2bcVtmUK6ogvY0FGhgiU4vWQs/WQ2das9:oIVtmUK6ouY0FGhgi1vjs/WQ2day","tlshash":"dea335bcf95192bb5e9b587f4398f6697648f943fd066f86bf00c00020c6ee710e5a5a","first_seen":"2026-04-20T12:30:34.890238Z","last_seen":"2026-08-11T10:15:18.40934Z","times_seen":6417,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/63160.2a3a21185fbcc7079dae.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.759Z","timestamp":1785136427759,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/63160.2a3a21185fbcc7079dae.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-6c55\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:25\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 185e13d86703b36684f7ecc7744bb0b7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":27733,"size_decoded":8684,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"cfb4ec7bf74cebe56275390e404eea0f","sha1":"4252ecbde693198d544ad5f483339e8527626b7d","sha256":"6c3a092a58a55249537be71395c07358a4ff94120d96468eb32669c2405dbe89","sha512":"502ad261df8d3d31d8decf44c403084f175783156886850f601a8404bfedddb9baeedf09aae6727cc4d18f8b3d1d59e554cc357a494b93754a34a68a9f7eafda","ssdeep":"768:OdGn8wXtPTrG8Pz8ZQXllEu7x1zR2tDZTrQGikOjULp/BS53dCo15V1:OrtI","tlshash":"3cc2945631977136aba2c64644350703e33635683a4b699cf73cface6b1ec42913ea3d","first_seen":"2026-07-23T13:54:09.047216Z","last_seen":"2026-07-31T06:34:35.4362Z","times_seen":457,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNjMxNjBdLHs2NDI3MTkodCxlLHMpe3MuZChlLHtCYXJCdWlsZGVyQmFzZTooKT0+byxTZXNzaW9uSW5mbzooKT0+YX0pO3ZhciByPXMoNzAwODA5KSxuPXMoMjk1MTQpLGk9cyg1NTk2OSk7Y2xhc3MgYXtjb25zdHJ1Y3Rvcih0LGUscyxyKXt0aGlzLmluaXQodCxlLHMsciksdGhpcy5fc3RhdGU9e3RpbWV6b25lOnQsc3BlYzplLGhvbGlkYXlzOnMsY29ycmVjdGlvbnM6cn19aW5pdCh0LGUscyxuKXt0aGlzLnRpbWV6b25lPSgwLHIuZ2V0X3RpbWV6b25lKSh0KSx0aGlzLnNwZWM9bmV3IGkuU2Vzc2lvbnNTcGVjKHQsZSxzLG4pfXN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfXN0YXRpYyBmcm9tU3RhdGUodCl7cmV0dXJuIG5ldyBhKHQudGltZXpvbmUsdC5zcGVjLHQuaG9saWRheXMsdC5jb3JyZWN0aW9ucyl9c3RhdGljIHdyYXAodCl7Y29uc3QgZT1uZXcgYSgiRXRjL1VUQyIsIjI0eDciKTtyZXR1cm4gZS5zcGVjPXQsZX1zdGF0aWMgY3JlYXRlKHQsZSxzLHIpe3JldHVybiBuZXcgYSh0LGUscyxyKX19Y2xhc3Mgb3thbGlnblRpbWUodCl7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmluZGV4T2ZCYXIodCk7cmV0dXJuIGU9PT1uLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJih0aGlzLm1vdmVUbyh0KSxlPXRoaXMuaW5kZXhPZkJhcih0KSksZTwwP05hTjp0aGlzLnN0YXJ0T2ZCYXIoZSl9fX0sNzcxNzk1KHQsZSxzKXtpZihzLmQoZSx7Z2V0UGVyaW9kc0JldHdlZW5EYXRlczooKT0+dixuZXdCYXJCdWlsZGVyOigpPT53fSksL14oNzk3OTV8OTQzODkpJC8udGVzdChzLmopKXZhciByPXMoNzAwODA5KTt2YXIgbj1zKDI1NDY3Myk7aWYoIS9eKDc5Nzk1fDk0Mzg5KSQvLnRlc3Qocy5qKSlyPXMoNzAwODA5KTt2YXIgaT1zKDY0MDc0NCksYT1zKDY0MjcxOSksbz1zKDI5NTE0KSxkPXMoMzQxMDM2KTtjbGFzcyBfe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZXh0ZW5kZWRTdGFydE1zPXQsdGhpcy5fZXh0ZW5kZWRFbmRNcz1lfWluZGV4T2ZCYXIodCxlKXtyZXR1cm4gdGhpcy5fZXh0ZW5kZWRTdGFydE1zPnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046ZS5zZXNzaW9uU3RhcnRNcz50PzA6ZS5zZXNzaW9uRW5kTXM8PXQ/dGhpcy5fZXh0ZW5kZWRFbmRNczw9dD9vLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT046ZS5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpOmUuZ2V0SW5kZXhPZkJhcihlLmJhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQsZSl7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXM7Y29uc3Qgcz1lLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIGUuc2Vzc2lvbkVuZE1zPD1zP3RoaXMuX2V4dGVuZGVkRW5kTXM6c31wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2V4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe3JldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KX19Y2xhc3MgZntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pbnRlcnZhbHM9dH1pbmRleE9mQmFyKHQsZSl7aWYodGhpcy5fZmlyc3RJbnRlcnZhbCgpLmV4dGVuZGVkU3RhcnRNcz50KXJldHVybiBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjtjb25zdCBzPXRoaXMuX25lYXJlc3RJbnRlcnZhbCh0KTtyZXR1cm4gbnVsbD09PXM/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOnMuZXh0ZW5kZWRTdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6cy5zdGFydE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5zdGFydE1zKTpzLmVuZE1zPnQ/ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk6ZS5nZXRJbmRleE9mQmFyKGUuYmFyc1N0YXJ0TXMscy5lbmRNcy0xKX1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9ZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpLHI9dGhpcy5fbmVhcmVzdEludGVydmFsKHMpO3JldHVybiBudWxsPT09cj90aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zOnIuZW5kTXM8PXM/ci5leHRlbmRlZEVuZE1zOnN9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zfXN0YXJ0T2ZCYXIodCxlKXtyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCl9X25lYXJlc3RJbnRlcnZhbCh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5leHRlbmRlZEVuZE1zPnQpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2ZpcnN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzWzBdfV9sYXN0SW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5faW50ZXJ2YWxzW3RoaXMuX2ludGVydmFscy5sZW5ndGgtMV19fWNsYXNzIFN7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKGUuc2Vzc2lvblN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHQpK3MuaW5kZXhPZmZzZXR9ZW5kT2ZCYXIodCxlKXtpZih0PT09by5TZXNzaW9uU3RhZ2UuTEFTVF9TRVNTSU9OX0VORClyZXR1cm4gZS5zZXNzaW9uRW5kTXM7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldEVuZE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj1lLmdldEVuZE9mQmFyKHMuYmFyc1N0YXJ0TXMsdC1zLmluZGV4T2Zmc2V0KQo7cmV0dXJuIHI+cy5lbmRNcz9yPmUuc2Vzc2lvbkVuZE1zP2Uuc2Vzc2lvbkVuZE1zOnMubGFzdEJhckVuZE1zOnJ9cG9zdFNlc3Npb25TdGFydE9mQmFyKHQpe3JldHVybiB0LnNlc3Npb25FbmRNc31zdGFydE9mQmFyKHQsZSl7Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpO2lmKG51bGw9PT1zKXJldHVybiBlLmdldFN0YXJ0T2ZCYXIoZS5iYXJzU3RhcnRNcyx0KTtjb25zdCByPXQtcy5pbmRleE9mZnNldDtyZXR1cm4gMD09PXI/cy5maXJzdEJhclN0YXJ0TXM6ZS5nZXRTdGFydE9mQmFyKHMuYmFyc1N0YXJ0TXMscil9X25lYXJlc3RJbnRlcnZhbEJ5VGltZSh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9pbnRlcnZhbHMpaWYoZS5lbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9fWNsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5faW50ZXJ2YWxzPXR9aW5kZXhPZkJhcih0LGUpe2lmKHRoaXMuX2ZpcnN0SW50ZXJ2YWwoKS5leHRlbmRlZFN0YXJ0TXM+dClyZXR1cm4gby5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT047Y29uc3Qgcz10aGlzLl9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCk7cmV0dXJuIG51bGw9PT1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpzLmV4dGVuZGVkU3RhcnRNcz50fHxzLnN0YXJ0TXM+dD9zLmluZGV4T2Zmc2V0OnMuZW5kTXM+dD9lLmdldEluZGV4T2ZCYXIocy5iYXJzU3RhcnRNcyx0KStzLmluZGV4T2Zmc2V0OmUuZ2V0SW5kZXhPZkJhcihzLmJhcnNTdGFydE1zLHMuZW5kTXMtMSkrcy5pbmRleE9mZnNldH1lbmRPZkJhcih0LGUpe2lmKHQ9PT1vLlNlc3Npb25TdGFnZS5MQVNUX1NFU1NJT05fRU5EKXJldHVybiB0aGlzLl9sYXN0SW50ZXJ2YWwoKS5leHRlbmRlZEVuZE1zO2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRFbmRPZkJhcihlLmJhcnNTdGFydE1zLHQpO2NvbnN0IHI9ZS5nZXRFbmRPZkJhcihzLmJhcnNTdGFydE1zLHQtcy5pbmRleE9mZnNldCk7cmV0dXJuIHI9PT1zLmVuZE1zfHxyPmUuc2Vzc2lvbkVuZE1zP3MuZXh0ZW5kZWRFbmRNczpyPnMuZW5kTXM/cy5sYXN0QmFyRW5kTXM6cn1wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodCl7cmV0dXJuIHRoaXMuX2xhc3RJbnRlcnZhbCgpLmV4dGVuZGVkRW5kTXN9c3RhcnRPZkJhcih0LGUpe2NvbnN0IHM9dGhpcy5fbmVhcmVzdEludGVydmFsQnlJbmRleCh0KTtpZihudWxsPT09cylyZXR1cm4gZS5nZXRTdGFydE9mQmFyKGUuYmFyc1N0YXJ0TXMsdCk7Y29uc3Qgcj10LXMuaW5kZXhPZmZzZXQ7cmV0dXJuIDA9PT1yP3MuZmlyc3RCYXJTdGFydE1zOmUuZ2V0U3RhcnRPZkJhcihzLmJhcnNTdGFydE1zLHIpfV9uZWFyZXN0SW50ZXJ2YWxCeVRpbWUodCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5faW50ZXJ2YWxzKWlmKGUuZXh0ZW5kZWRFbmRNcz50KXJldHVybiBlO3JldHVybiBudWxsfV9uZWFyZXN0SW50ZXJ2YWxCeUluZGV4KHQpe2ZvcihsZXQgZT10aGlzLl9pbnRlcnZhbHMubGVuZ3RoLTE7ZT49MDtlLS0pe2NvbnN0IHM9dGhpcy5faW50ZXJ2YWxzW2VdO2lmKHMuaW5kZXhPZmZzZXQ8PXQpcmV0dXJuIHN9cmV0dXJuIG51bGx9X2xhc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbdGhpcy5faW50ZXJ2YWxzLmxlbmd0aC0xXX1fZmlyc3RJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pbnRlcnZhbHNbMF19fWNsYXNzIGggZXh0ZW5kcyBhLkJhckJ1aWxkZXJCYXNle2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uU3RhcnRNcz0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9zZXNzaW9uRW5kTXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyc1N0YXJ0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fdHJhZGluZ0RheU1pZG5pZ2h0TXM9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sdGhpcy5fcGVyaW9kU2VjPXQsdGhpcy5fc2Vzc2lvbj1lfWdldCBzZXNzaW9uU3RhcnRNcygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3RhcnRNc31nZXQgc2Vzc2lvbkVuZE1zKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNc31nZXQgYmFyc1N0YXJ0TXMoKXtyZXR1cm4gdGhpcy5fYmFyc1N0YXJ0TXN9aXNJblNlc3Npb25CcmVhayh0KXtmb3IoY29uc3QgZSBvZiB0aGlzLl9zZXNzaW9uQnJlYWtzKXtpZih0PGUuYnJlYWtTdGFydE1zKXJldHVybiExO2lmKHQ8ZS5icmVha0VuZE1zKXJldHVybiEwfXJldHVybiExfWFsaWduVGltZUlmUG9zc2libGUodCl7Y29uc3QgZT10aGlzLmFsaWduVGltZSh0KTtyZXR1cm4gaXNOYU4oZSk/dDplfWluZGV4T2ZCYXIodCl7cmV0dXJuIG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yP3RoaXMuX2JhckNhbGN1bGF0b3IuaW5kZXhPZkJhcih0LHRoaXMpOnQ8dGhpcy5fc2Vzc2lvblN0YXJ0TXM/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fc2Vzc2lvbkVuZE1zP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjp0aGlzLmdldEluZGV4T2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCl9c3RhcnRPZkJhcih0KXtzd2l0Y2godCl7Y2FzZSBvLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTjpyZXR1cm4gdGhpcy5fZ2V0UHJldlNlc3Npb24oKTtjYXNlIG8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5wb3N0U2Vzc2lvblN0YXJ0T2ZCYXIodGhpcyk6dGhpcy5fc2Vzc2lvbkVuZE1zO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OOnQ9dGhpcy5pbmRleE9mTGFzdEJhckluU2Vzc2lvbigpO2JyZWFrO2Nhc2Ugby5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVDpjYXNlIDA6cmV0dXJuIHRoaXMuX3Nlc3Npb25TdGFydE1zfQpyZXR1cm4gbnVsbCE9PXRoaXMuX2JhckNhbGN1bGF0b3I/dGhpcy5fYmFyQ2FsY3VsYXRvci5zdGFydE9mQmFyKHQsdGhpcyk6dGhpcy5nZXRTdGFydE9mQmFyKHRoaXMuX2JhcnNTdGFydE1zLHQpfWVuZE9mQmFyKHQpe2lmKG51bGwhPT10aGlzLl9iYXJDYWxjdWxhdG9yKXJldHVybiB0aGlzLl9iYXJDYWxjdWxhdG9yLmVuZE9mQmFyKHQsdGhpcyk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpcmV0dXJuIHRoaXMuX3Nlc3Npb25FbmRNcztpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbmRleCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtjb25zdCBlPXRoaXMuZ2V0RW5kT2ZCYXIodGhpcy5fYmFyc1N0YXJ0TXMsdCk7cmV0dXJuIE1hdGgubWluKGUsdGhpcy5fc2Vzc2lvbkVuZE1zKX1pc0xhc3RCYXIodCxlKXtjb25zdCBzPXRoaXMuZW5kT2ZCYXIodCk7cmV0dXJuIGU+PSh0aGlzLl9wZXJpb2RTZWM+PTYwP3MtNmU0OnMtMWUzKX1tb3ZlVG8odCl7Y29uc3QgZT10aGlzLl9zZXNzaW9uLnRpbWV6b25lLHM9KDAsci51dGNfdG9fY2FsKShlLHQpLG49dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9FbnRyeVN0YXJ0RXh0ZW5kZWQocykuZW50cnk7aWYodGhpcy5fYmFyQ2FsY3VsYXRvcj1udWxsLHRoaXMuX3Nlc3Npb25CcmVha3M9W10sKDAsZC5pc1VuaWZpZWRFbnRyeSkobikpe2NvbnN0IHQ9bi5zdGFydE9mZnNldCgpLHI9bi5nZXRVbmlmaWVkRW50cmllcygpWzBdLmdldEVudHJ5KCk7dGhpcy5fc2V0VXBCYXNlRnJvbUVudHJ5V2l0aE1pZG5pZ2h0KHIscyx0LGUpLHRoaXMuX3NldFVwRnJvbVVuaWZpZWQobixzLGUpfWVsc2UgaWYoKDAsZC5pc1VuaWZpZWRTaGlmdGVkRW50cnkpKG4pKXtjb25zdCB0PW4uc3RhcnRPZmZzZXQoKSxyPW4uZ2V0VW5pZmllZEVudHJpZXMoKVswXS5nZXRFbnRyeSgpO3RoaXMuX3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodChyLHMsdCxlKSx0aGlzLl9zZXRVcEZyb21VbmlmaWVkU2hpZnRlZChuLHMsZSl9ZWxzZSB0aGlzLl9zZXRVcEJhc2VGcm9tRW50cnkobixzLGUpLCgwLGQuaXNFeHRlbmRlZEVudHJ5KShuKSYmdGhpcy5fc2V0VXBGcm9tRXh0ZW5kZWQobil9aW5kZXhPZkxhc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25FbmRNcy0xKX1pbmRleE9mRmlyc3RCYXJJblNlc3Npb24oKXtyZXR1cm4gdGhpcy5pbmRleE9mQmFyKHRoaXMuX3Nlc3Npb25TdGFydE1zKX1tb3ZlTmV4dCgpe3RoaXMubW92ZVRvKHRoaXMuX3Nlc3Npb25FbmRNcyl9Z2V0SW5kZXhPZkJhcih0LGUpe3JldHVybigwLGkudG9JbnQpKCgwLHIudGltZV9zZWNvbmRzX2RpZmYpKGUsdCkvdGhpcy5fcGVyaW9kU2VjKX1nZXRTdGFydE9mQmFyKHQsZSl7cmV0dXJuIHQrKDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyplKX1nZXRFbmRPZkJhcih0LGUpe3JldHVybiB0KygwLHIudGltZV9zZWNvbmRzKSh0aGlzLl9wZXJpb2RTZWMqKGUrMSkpfXN0YXRpYyBtaW51dGVzKHQsZSl7cmV0dXJuIG5ldyBoKDYwKnQsZSl9c3RhdGljIHNlY29uZHModCxlKXtyZXR1cm4gbmV3IGgodCxlKX1fZ2V0UHJldlNlc3Npb24oKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uLnRpbWV6b25lLHRoaXMuX3Nlc3Npb25TdGFydE1zLTEpLGU9dGhpcy5fc2Vzc2lvbi5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb24udGltZXpvbmUsZSl9X3NldFVwQmFzZUZyb21FbnRyeVdpdGhNaWRuaWdodCh0LGUscyxuKXtsZXQgaT1udWxsLGE9dDtmb3IoOzspaWYoKDAsZC5pc09mZnNldEVudHJ5KShhKSlpPWEsYT1hLmdldEVudHJ5KCk7ZWxzZXtpZighKDAsZC5pc0V4dGVuZGVkRW50cnkpKGEpKWJyZWFrO2E9YS5nZXRFbnRyeSgpfWNvbnN0IG89YSxfPSgwLHIuY2FsX3RvX3V0YykobixlKTt0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcz1fLTYwKnMqMWUzLHRoaXMuX3Nlc3Npb25TdGFydE1zPXRoaXMuX29mZnNldFRvTXMoby5zdGFydE9mZnNldCgpKTtjb25zdCBmPSgwLHIudXRjX3RvX2NhbCkobix0aGlzLl9zZXNzaW9uU3RhcnRNcyk7KDAsci5hZGRfbWludXRlcykoZixvLmxlbmd0aCgpKSx0aGlzLl9zZXNzaW9uRW5kTXM9KDAsci5jYWxfdG9fdXRjKShuLGYpLHRoaXMuX2JhcnNTdGFydE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLG51bGwhPT1pJiZ0aGlzLl9zZXRVcEZyb21PZmZzZXQoaSl9X3NldFVwQmFzZUZyb21FbnRyeSh0LGUscyl7bGV0IG49bnVsbCxpPXQ7Zm9yKDs7KWlmKCgwLGQuaXNPZmZzZXRFbnRyeSkoaSkpbj1pLGk9aS5nZXRFbnRyeSgpO2Vsc2V7aWYoISgwLGQuaXNFeHRlbmRlZEVudHJ5KShpKSlicmVhaztpPWkuZ2V0RW50cnkoKX1jb25zdCBhPWk7dGhpcy5fc2Vzc2lvblN0YXJ0TXM9KDAsci5jYWxfdG9fdXRjKShzLGUpLHRoaXMuX3RyYWRpbmdEYXlNaWRuaWdodE1zPXRoaXMuX3Nlc3Npb25TdGFydE1zLTYwKmEuc3RhcnRPZmZzZXQoKSoxZTM7Y29uc3Qgbz0oMCxyLnV0Y190b19jYWwpKHMsdGhpcy5fc2Vzc2lvblN0YXJ0TXMpOygwLHIuYWRkX21pbnV0ZXMpKG8sYS5sZW5ndGgoKSksdGhpcy5fc2Vzc2lvbkVuZE1zPSgwLHIuY2FsX3RvX3V0YykocyxvKSx0aGlzLl9iYXJzU3RhcnRNcz10aGlzLl9zZXNzaW9uU3RhcnRNcyxudWxsIT09biYmdGhpcy5fc2V0VXBGcm9tT2Zmc2V0KG4pfV9vZmZzZXRUb01zKHQpe3JldHVybiB0aGlzLl90cmFkaW5nRGF5TWlkbmlnaHRNcys2MCp0KjFlM31fc2V0VXBGcm9tT2Zmc2V0KHQpe2NvbnN0IGU9NjAqdC5zdGFydE9mZnNldCgpLHM9NjAqdC5iYXJzT2Zmc2V0KCk7dGhpcy5fYmFyc1N0YXJ0TXM9dGhpcy5fc2Vzc2lvblN0YXJ0TXMtMWUzKihlLXMpfV9zZXRVcEZyb21FeHRlbmRlZCh0KXt0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBfKHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLHRoaXMuX29mZnNldFRvTXModC5leHRlbmRlZEVuZE9mZnNldCgpKSl9X3NldFVwRnJvbVVuaWZpZWQodCxlLHMpewpjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGYodGhpcy5fdG9FeHRlbmRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b0V4dGVuZGVkU2Vzc2lvbkJyZWFrcyhyKSk6dGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3Mocil9X3NldFVwRnJvbVVuaWZpZWRTaGlmdGVkKHQsZSxzKXtjb25zdCByPXQuZ2V0VW5pZmllZEVudHJpZXMoKSxuPXJbci5sZW5ndGgtMV07dGhpcy5fc2Vzc2lvbkVuZE1zPXRoaXMuX29mZnNldFRvTXMobi5lbmRPZmZzZXQoKSksdC5oYXNFeHRlbmRlZEVudHJ5KCk/KHRoaXMuX2JhckNhbGN1bGF0b3I9bmV3IGwodGhpcy5fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHMocikpLHRoaXMuX3Nlc3Npb25CcmVha3M9dGhpcy5fdG9FeHRlbmRlZFNlc3Npb25CcmVha3MocikpOih0aGlzLl9iYXJDYWxjdWxhdG9yPW5ldyBTKHRoaXMuX3RvU2hpZnRlZEludGVydmFscyhyKSksdGhpcy5fc2Vzc2lvbkJyZWFrcz10aGlzLl90b1Nlc3Npb25CcmVha3MocikpfV90b1Nlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5lbmRPZmZzZXQoKSksYnJlYWtFbmRNczp0aGlzLl9vZmZzZXRUb01zKG4uc3RhcnRPZmZzZXQoKSl9KX1yZXR1cm4gZX1fdG9FeHRlbmRlZFNlc3Npb25CcmVha3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoO3MrKyl7Y29uc3Qgcj10W3MtMV0sbj10W3NdO2UucHVzaCh7YnJlYWtTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoci5leHRlbmRlZEVuZE9mZnNldCgpKSxicmVha0VuZE1zOnRoaXMuX29mZnNldFRvTXMobi5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgcyBvZiB0KWUucHVzaCh7c3RhcnRNczp0aGlzLl9vZmZzZXRUb01zKHMuc3RhcnRPZmZzZXQoKSksZW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmVuZE9mZnNldCgpKSxleHRlbmRlZFN0YXJ0TXM6dGhpcy5fb2Zmc2V0VG9NcyhzLmV4dGVuZGVkU3RhcnRPZmZzZXQoKSksZXh0ZW5kZWRFbmRNczp0aGlzLl9vZmZzZXRUb01zKHMuZXh0ZW5kZWRFbmRPZmZzZXQoKSl9KTtyZXR1cm4gZX1fdG9TaGlmdGVkRXh0ZW5kZWRJbnRlcnZhbHModCl7Y29uc3QgZT1bXSxzPXRoaXMuX3RvU2hpZnRlZEludGVydmFscyh0KTtmb3IobGV0IHI9MDtyPHMubGVuZ3RoO3IrKyl7Y29uc3Qgbj1zW3JdLGk9dFtyXTtlLnB1c2goey4uLm4sZXh0ZW5kZWRTdGFydE1zOnRoaXMuX29mZnNldFRvTXMoaS5leHRlbmRlZFN0YXJ0T2Zmc2V0KCkpLGV4dGVuZGVkRW5kTXM6dGhpcy5fb2Zmc2V0VG9NcyhpLmV4dGVuZGVkRW5kT2Zmc2V0KCkpfSl9cmV0dXJuIGV9X3RvU2hpZnRlZEludGVydmFscyh0KXtsZXQgZSxzLG4sYSxvPXRoaXMuX2JhcnNTdGFydE1zLGQ9MCxfPTAsZj0wO2NvbnN0IFM9KDAsci50aW1lX3NlY29uZHMpKHRoaXMuX3BlcmlvZFNlYyk7bGV0IGw9ITEsaD0wLHU9MDtjb25zdCBjPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cisrKXtjb25zdCBnPXRbcl07ZT10aGlzLl9vZmZzZXRUb01zKGcuc3RhcnRPZmZzZXQoKSkscz10aGlzLl9vZmZzZXRUb01zKGcuZW5kT2Zmc2V0KCkpLHI+MCYmKG89ZS1mLGQrPV8pO2NvbnN0IE89cy1vO189KDAsaS50b0ludCkoTy9TKSxmPU8lUyxuPWw/aDplLGw9Zj4wLGw/KHU8cyYmKGg9cy1mLHU9dGhpcy5fY2FsY3VsYXRlVGhyb3VnaEJhckVuZChTLWYscisxLHQpKSxhPXUpOmE9cyxjLnB1c2goe3N0YXJ0TXM6ZSxlbmRNczpzLGJhcnNTdGFydE1zOm8sZmlyc3RCYXJTdGFydE1zOm4sbGFzdEJhckVuZE1zOmEsaW5kZXhPZmZzZXQ6ZH0pfXJldHVybiBjfV9jYWxjdWxhdGVUaHJvdWdoQmFyRW5kKHQsZSxzKXtmb3IobGV0IHI9ZTtyPHMubGVuZ3RoO3IrKyl7Y29uc3QgZT1zW3JdLG49NjAqZS5sZW5ndGgoKSoxZTM7aWYoISh0Pm4pKXJldHVybiB0aGlzLl9vZmZzZXRUb01zKGUuc3RhcnRPZmZzZXQoKSkrdDt0LT1ufXJldHVybiB0aGlzLl9zZXNzaW9uRW5kTXN9fXZhciB1PXMoMTM4NjM4KSxjPXMoMzA4MjEpO2NvbnN0IGc9KDAsci5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIik7ZnVuY3Rpb24gTyh0LGUscyl7Y29uc3Qgbj0oMCxyLmNsb25lKShlKSxpPXQuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMobiwxKTtpPjEmJigwLHIuYWRkX2RhdGUpKG4saS0xKTtjb25zdCBhPXQubGVmdEJvcmRlck9mRGFpbHlCYXIobik7aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2FsY3VsYXRlIGxlZnQgYm9yZGVyIG9mIGRhaWx5IGJhciIpO3JldHVybigwLHIuY2FsX3RvX3V0YykocyxhLCEwKX1jbGFzcyBFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5mcm9tPXQsdGhpcy50bz1lfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5mcm9tLnRvU3RyaW5nKCl9IC0gJHt0aGlzLnRvLnRvU3RyaW5nKCl9YH19Y2xhc3MgQiBleHRlbmRzIGEuQmFyQnVpbGRlckJhc2V7Y29uc3RydWN0b3IodCxlLHMscixuPSExKXtzdXBlcigpLHRoaXMuX3BlcmlvZFN0YXJ0PS1OdW1iZXIuTUFYX1ZBTFVFLHRoaXMuX3BlcmlvZEVuZD0tTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9LU51bWJlci5NQVhfVkFMVUUsdGhpcy5fcGVyaW9kU3RhcnREYXk9bmV3IGMuQnVzaW5lc3NEYXkoMCwwLDApLHRoaXMuX3BlcmlvZEVuZERheT1uZXcgYy5CdXNpbmVzc0RheSgwLDAsMCksdGhpcy5fcGVyaW9kPXMsdGhpcy5fc2Vzc2lvblRndD10LHRoaXMuX2J1aWxkZXI9cix0aGlzLl91c2VCdXNpbmVzc0RheXM9bixuPygoMCwKdS5hc3NlcnQpKG51bGw9PT1lLCJ1c2VCdXNpbmVzc0RheXMgYW5kIHNlc3Npb25TcmMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHMiKSx0aGlzLl9zZXNzaW9uU3JjPW5ldyBhLlNlc3Npb25JbmZvKCJFdGMvVVRDIiwiMjR4NyIpKTp0aGlzLl9zZXNzaW9uU3JjPWV8fHR9YnVpbGRlcigpe3JldHVybiB0aGlzLl9idWlsZGVyfWFsaWduVGltZUlmUG9zc2libGUodCl7cmV0dXJuIHRoaXMudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KHQpfXRyYWRpbmdEYXlUb1Nlc3Npb25TdGFydCh0KXtyZXR1cm4gdGhpcy5tb3ZlVG8odCksdGhpcy5zdGFydE9mQmFyKDApfWluZGV4T2ZCYXIodCl7aWYodGhpcy5fdXNlQnVzaW5lc3NEYXlzKXtjb25zdCBlPWMuQnVzaW5lc3NEYXkuZnJvbUNhbGVuZGFyKCgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uU3JjLnRpbWV6b25lLHQpKTtyZXR1cm4gZS5iZWZvcmUodGhpcy5fcGVyaW9kU3RhcnREYXkpP28uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OOnRoaXMuX3BlcmlvZEVuZERheS5iZWZvcmUoZSk/by5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OOjB9cmV0dXJuIHQ8dGhpcy5fcGVyaW9kU3RhcnQ/by5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT046dD49dGhpcy5fcGVyaW9kRW5kP28uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTjowfXN0YXJ0T2ZCYXIodCl7aWYodD09PW8uU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKXtjb25zdCB0PSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHRoaXMuX3BlcmlvZFN0YXJ0LTEpLGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLmFsaWduVG9OZWFyZXN0U2Vzc2lvbkVuZCh0LC0xKTtyZXR1cm4oMCxyLmNhbF90b191dGMpKHRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZSktMX1yZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTnx8dD4wP3RoaXMuX3BlcmlvZEVuZDp0PT09by5TZXNzaW9uU3RhZ2UuTEFTVEJBUl9TRVNTSU9OP3RoaXMuX3BlcmlvZExhc3RCYXJTdGFydDp0aGlzLl9wZXJpb2RTdGFydH1tb3ZlVG8odCl7bGV0IGU9KDAsci5nZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXMpKHRoaXMuX3Nlc3Npb25TcmMudGltZXpvbmUsdCk7ZT10aGlzLl9zZXNzaW9uU3JjLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkoZSk7Y29uc3Qgcz0oMCxyLmdldF95ZWFyKShlKSxuPXRoaXMuX2luZGV4T2ZQZXJpb2RJblllYXIoZSksaT1uK3RoaXMuX3BlcmlvZCxhPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYyxvPXRoaXMuX3Nlc3Npb25UZ3QudGltZXpvbmUsZD10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKTt0aGlzLl9wZXJpb2RTdGFydD1PKGEsZCxvKTtjb25zdCBfPWEuYnVzaW5lc3NEYXlzVG9DYWxlbmRhckRheXMoZCwxKTtfPjEmJigwLHIuYWRkX2RhdGUpKGQsXy0xKSx0aGlzLl9wZXJpb2RTdGFydERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihkKTtsZXQgZj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QoaSxzKTt0aGlzLl9wZXJpb2RFbmQ9TyhhLGYsbyk7Y29uc3QgUz0oMCxyLmNsb25lKShmKTtmb3IoKDAsci5hZGRfZGF0ZSkoUywtMSk7YS5pc0NhbFdlZWtFbmQoUyk7KSgwLHIuYWRkX2RhdGUpKFMsLTEpO3RoaXMuX3BlcmlvZEVuZERheT1jLkJ1c2luZXNzRGF5LmZyb21DYWxlbmRhcihTKSwoMCxyLmFkZF9kYXRlKShmLC0xKSxmPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcz0oMCxyLmNsb25lKShlKTtmb3IoO3QuaXNDYWxXZWVrRW5kKHMpOykoMCxyLmFkZF9kYXRlKShzLC0xKTtyZXR1cm4gc30odGhpcy5fc2Vzc2lvblRndC5zcGVjLGYpLHRoaXMuX3BlcmlvZExhc3RCYXJTdGFydD1PKGEsZixvKSwodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PHRoaXMuX3BlcmlvZFN0YXJ0fHx0aGlzLl9wZXJpb2RMYXN0QmFyU3RhcnQ9PT10aGlzLl9wZXJpb2RFbmQpJiYodGhpcy5fcGVyaW9kTGFzdEJhclN0YXJ0PXRoaXMuX3BlcmlvZFN0YXJ0KX1lbmRPZkJhcih0KXtyZXR1cm4gdD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQ/dGhpcy5fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKG8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpLmdldFRpbWUoKSsxZTM6KCgwLHUuYXNzZXJ0KSgwPT09dCksdGhpcy5fcGVyaW9kRW5kKX1pc0xhc3RCYXIodCxlKXtpZigwIT09dCl0aHJvdyBuZXcgRXJyb3IoImluZGV4IHNob3VsZCBiZSAwIik7cmV0dXJuIGU+PXRoaXMuX3BlcmlvZExhc3RCYXJTdGFydH1tb3ZlQmFyc0ZvcndhcmQodCxlKXsoMCx1LmFzc2VydCkoZT4wKTtjb25zdCBzPSgwLHIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKSh0aGlzLl9zZXNzaW9uVGd0LnRpbWV6b25lLHQpO2xldCBuPXRoaXMuX3Nlc3Npb25UZ3Quc3BlYy5jb3JyZWN0VHJhZGluZ0RheShzKTtmb3IobGV0IHQ9MDt0PGU7dCsrKXtjb25zdCB0PXRoaXMuX3BlcmlvZCt0aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2Qobik7bj10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QodCwoMCxyLmdldF95ZWFyKShuKSksbj10aGlzLl9zZXNzaW9uVGd0LnNwZWMuY29ycmVjdFRyYWRpbmdEYXkobil9cmV0dXJuIHRoaXMubW92ZVRvKCgwLHIuY2FsX3RvX3V0YykodGhpcy5fc2Vzc2lvblRndC50aW1lem9uZSxuKSksdGhpcy5zdGFydE9mQmFyKDApfWN1cnJlbnRSYW5nZSgpe3JldHVybiBuZXcgRSh0aGlzLl9wZXJpb2RTdGFydERheSx0aGlzLl9wZXJpb2RFbmREYXkpfWluZGV4T2ZCYXJJblllYXIodCl7Y29uc3QgZT0oMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykodGhpcy5fc2Vzc2lvblNyYy50aW1lem9uZSx0KSxzPSgwLHIuZ2V0X3llYXIpKGUpLG49dGhpcy5fYnVpbGRlci5pbmRleE9mUGVyaW9kKGUpLGE9dGhpcy5fc2Vzc2lvblRndC50aW1lem9uZTtsZXQgbz10aGlzLl9idWlsZGVyLnN0YXJ0T2ZQZXJpb2QobixzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSk7cmV0dXJuIG89KDAsCnIuZ2V0X2NhbF9mcm9tX3VuaXhfdGltZXN0YW1wX21zKShnLGQpLHM8KDAsci5nZXRfeWVhcikobyk/KG89dGhpcy5fYnVpbGRlci5zdGFydE9mUGVyaW9kKG4tMSxzKSxkPU8odGhpcy5fc2Vzc2lvblRndC5zcGVjLG8sYSkse2luZGV4OihuLTEpL3RoaXMuX3BlcmlvZCx0aW1lOmR9KTp7aW5kZXg6KDAsaS50b0ludCkobi90aGlzLl9wZXJpb2QpLHRpbWU6ZH19c2Vzc2lvblNyYygpe3JldHVybiB0aGlzLl9zZXNzaW9uU3JjfXNlc3Npb25UZ3QoKXtyZXR1cm4gdGhpcy5fc2Vzc2lvblRndH1zdGF0aWMgZGF5cyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBwKGUpLCExKX1zdGF0aWMgd2Vla3ModCxlLHMpe3JldHVybiBuZXcgQihlLHMsdCxuZXcgTihlKSwhMSl9c3RhdGljIG1vbnRocyh0LGUscyl7cmV0dXJuIG5ldyBCKGUscyx0LG5ldyBiKGUpLCExKX1zdGF0aWMgZGF5c0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IHAoZSksITApfXN0YXRpYyB3ZWVrc0Zyb21CdXNpbmVzc0RheXModCxlKXtyZXR1cm4gbmV3IEIoZSxudWxsLHQsbmV3IE4oZSksITApfXN0YXRpYyBtb250aHNGcm9tQnVzaW5lc3NEYXlzKHQsZSl7cmV0dXJuIG5ldyBCKGUsbnVsbCx0LG5ldyBiKGUpLCEwKX1fZ2V0Wm9uZWREYXRlVGltZU9mQm9yZGVyKHQpeygwLHUuYXNzZXJ0KSh0PT09by5TZXNzaW9uU3RhZ2UuRklSU1RfU0VTU0lPTl9TVEFSVHx8dD09PW8uU2Vzc2lvblN0YWdlLkxBU1RfU0VTU0lPTl9FTkQpO2NvbnN0IGU9dGhpcy5fc2Vzc2lvblRndC5zcGVjLnRpbWV6b25lT2JqKCk7aWYodD09PW8uU2Vzc2lvblN0YWdlLkZJUlNUX1NFU1NJT05fU1RBUlQpe2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS5mcm9tLnRvQ2FsZW5kYXIoZSk7cmV0dXJuKDAsdS5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXNzaW9uVGd0LnNwZWMuYm9yZGVyc09mRGFpbHlCYXIodCkpLmZyb219e2NvbnN0IHQ9dGhpcy5jdXJyZW50UmFuZ2UoKS50by50b0NhbGVuZGFyKGUpO3JldHVybigwLHUuZW5zdXJlTm90TnVsbCkodGhpcy5fc2Vzc2lvblRndC5zcGVjLmJvcmRlcnNPZkRhaWx5QmFyKHQpKS50b319X2luZGV4T2ZQZXJpb2RJblllYXIodCl7Y29uc3QgZT10aGlzLl9idWlsZGVyLmluZGV4T2ZQZXJpb2QodCk7bGV0IHM9KDAsaS50b0ludCkoZS90aGlzLl9wZXJpb2QpKnRoaXMuX3BlcmlvZDtyZXR1cm4tMT09PWUmJihzPS10aGlzLl9wZXJpb2QpLHN9fWZ1bmN0aW9uIEkodCxlKXtjb25zdCBzPXQuZ2V0V2Vla0luZGV4KGUpLG49KDAsci5nZXRfZGF5X29mX3dlZWspKGUpLXQuZ2V0RW50cmllc0ZvcldlZWsocykuZmlyc3REYXlPZldlZWsoKTtyZXR1cm4gbjwwP24rNzpufWZ1bmN0aW9uIHgodCxlKXtjb25zdCBzPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0xO2xldCBuPUkodCxlKS1zJTc7cmV0dXJuIDA9PT1uPygwLGkudG9JbnQpKHMvNyk6KG4+PTAmJihuLT03KSwoMCxpLnRvSW50KSgobitzKS83KSl9Y2xhc3MgeXtpbmRleE9mUGVyaW9kKHQpe3JldHVybigwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KS0xfXN0YXJ0T2ZQZXJpb2QodCxlKXtjb25zdCBzPSgwLHIuZGF5c19wZXJfeWVhcikoZSk7cmV0dXJuKDAsci5nZXRfY2FsKShnLGUsci5KQU5VQVJZLDErTWF0aC5taW4odCxzKSl9fWNsYXNzIE0gZXh0ZW5kcyB5e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fc2Vzc2lvbnNTcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtyZXR1cm4gc3VwZXIuaW5kZXhPZlBlcmlvZCh0KS1mdW5jdGlvbih0LGUpe2NvbnN0IHM9eCh0LGUpLG49KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKGUpLHIuSkFOVUFSWSwxKTsoMCxyLmFkZF9kYXRlKShuLDcqcyk7Y29uc3QgaT1zKnQud2Vla0VuZHNDb3VudEZvclNpbmdsZVNlc3Npb24oKSt0LmhvbGlkYXlzRnJvbVllYXJTdGFydChuKSxhPSgwLHIuZ2V0X2RheV9vZl95ZWFyKShlKS0oMCxyLmdldF9kYXlfb2ZfeWVhcikobik7cmV0dXJuIGkrYS10LmNhbGVuZGFyRGF5c1RvQnVzaW5lc3NEYXlzKG4sYSl9KHRoaXMuX3Nlc3Npb25zU3BlYyx0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz03LXRoaXMuX3Nlc3Npb25zU3BlYy53ZWVrRW5kc0NvdW50Rm9yU2luZ2xlU2Vzc2lvbigpLG49TWF0aC5tYXgoMCxNYXRoLnRydW5jKHQvcyktMSksaT0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksYT0oMCxyLmRheXNfcGVyX3llYXIpKGUpO2lmKCgwLHIuYWRkX2RhdGUpKGksNypuKSwodC09cypuLXRoaXMuX3Nlc3Npb25zU3BlYy5ob2xpZGF5c0Zyb21ZZWFyU3RhcnQoaSkpPjApe2NvbnN0IGU9dGhpcy5fc2Vzc2lvbnNTcGVjLmJ1c2luZXNzRGF5c1RvQ2FsZW5kYXJEYXlzKGksdCk7KDAsci5hZGRfZGF0ZSkoaSxlKX1sZXQgbz0oMCxyLmdldF9kYXlfb2ZfeWVhcikoaSktMTtyZXR1cm4gZTwoMCxyLmdldF95ZWFyKShpKSYmKG8rPWEpLHN1cGVyLnN0YXJ0T2ZQZXJpb2QobyxlKX19Y2xhc3MgbSBleHRlbmRzIHl7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9zZXNzaW9uc1NwZWM9dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiBzdXBlci5pbmRleE9mUGVyaW9kKHQpLXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSk7KDAsci5hZGRfZGF0ZSkocyx0KTtjb25zdCBuPXRoaXMuX3Nlc3Npb25zU3BlYy5kYXlzT2ZmRnJvbVllYXJTdGFydChzKTsoMCxyLmFkZF9kYXRlKShzLG4pO2NvbnN0IGk9dGhpcy5fc2Vzc2lvbnNTcGVjLmRheXNPZmZGcm9tWWVhclN0YXJ0KHMpLW47aWYoaT4wKXtjb25zdCB0PXRoaXMuX3Nlc3Npb25zU3BlYy5idXNpbmVzc0RheXNUb0NhbGVuZGFyRGF5cyhzLGkpOygwLHIuYWRkX2RhdGUpKHMsdCl9bGV0IGE9KDAsci5nZXRfZGF5X29mX3llYXIpKHMpLTE7aWYoZTwoMCxyLmdldF95ZWFyKShzKSl7YSs9KDAsci5kYXlzX3Blcl95ZWFyKShlKX1yZXR1cm4gc3VwZXIuc3RhcnRPZlBlcmlvZChhLGUpfX1jbGFzcyBwe2NvbnN0cnVjdG9yKHQpewp0aGlzLl9idWlsZGVyPW51bGwsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5pbmRleE9mUGVyaW9kKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtyZXR1cm4gdGhpcy5fZ2V0QnVpbGRlcigpLnN0YXJ0T2ZQZXJpb2QodCxlKX1fZ2V0QnVpbGRlcigpe3JldHVybiBudWxsIT09dGhpcy5fYnVpbGRlciYmdGhpcy5faW5pdGlhbGl6ZWR8fCh0aGlzLl9zZXNzaW9uLnNwZWMuaGFzV2Vla0VuZHMoKT90aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgbSh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBNKHRoaXMuX3Nlc3Npb24uc3BlYyk6dGhpcy5fYnVpbGRlcj10aGlzLl9zZXNzaW9uLnNwZWMuaGFzSGlzdG9yeUNvcnJlY3Rpb25zKCk/bmV3IG0odGhpcy5fc2Vzc2lvbi5zcGVjKTpuZXcgeSx0aGlzLl9pbml0aWFsaXplZD0hMCksdGhpcy5fYnVpbGRlcn19Y2xhc3MgVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9zcGVjPXR9aW5kZXhPZlBlcmlvZCh0KXtsZXQgZT14KHRoaXMuX3NwZWMsdCk7cmV0dXJuIDA9PT1lJiZ0LmdldFRpbWUoKTx0aGlzLnN0YXJ0T2ZQZXJpb2QoMCwoMCxyLmdldF95ZWFyKSh0KSkuZ2V0VGltZSgpJiYoZT0tMSksZX1zdGFydE9mUGVyaW9kKHQsZSl7aWYodDwwKXtlLS07Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkRFQ0VNQkVSLDMxLDIzLDU5LDU5KSxuPXRoaXMuaW5kZXhPZlBlcmlvZChzKSxpPS0xKnQsYT1NYXRoLnRydW5jKG4vaSkqaTtyZXR1cm4gdGhpcy5zdGFydE9mUGVyaW9kKGEsZSl9Y29uc3Qgcz0oMCxyLmdldF9jYWwpKGcsZSxyLkpBTlVBUlksMSksbj1JKHRoaXMuX3NwZWMscyksaT0wPT09bj83KnQ6NyoodCsxKS1uO3JldHVybiBpPigwLHIuZGF5c19wZXJfeWVhcikoKDAsci5nZXRfeWVhcikocykpP3RoaXMuc3RhcnRPZlBlcmlvZCgwLGUrMSk6KCgwLHIuYWRkX2RhdGUpKHMsaSkscyl9fWNsYXNzIGt7Y29uc3RydWN0b3IodCl7dGhpcy5feWVhclN0YXJ0RGF0YUhhc2g9bmV3IE1hcCx0aGlzLl9zcGVjPXR9c3RhcnRPZlBlcmlvZCh0LGUpe2lmKHQ8MCl7ZS0tO2NvbnN0IHM9KDAsci5nZXRfY2FsKShnLGUsci5ERUNFTUJFUiwzMSwyMyw1OSw1OSksbj10aGlzLmluZGV4T2ZQZXJpb2QocyksaT0tMSp0LGE9TWF0aC50cnVuYyhuL2kpKmk7cmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZChhLGUpfWNvbnN0IHM9dGhpcy5fc3BlYy5nZXRXZWVrSW5kaWNlc1dpdGhBZGRpdGlvbmFsV2Vla0JhcnMoZSksbj10aGlzLl9nZXRTdGFydE9mWWVhckRhdGEoZSxzKSxpPXRoaXMuX21vdmVUb1dlZWtJbmRleEFjY291bnRpbmdBZGRpdGlvbmFsKG4uZmlyc3RXZWVrSW5kZXgscyx0KSxhPTcqKGktbi5maXJzdFdlZWtJbmRleCk7bGV0IG89KDAsci5jbG9uZSkoKDAsdS5lbnN1cmVOb3ROdWxsKShuLnN0YXJ0T2ZGaXJzdEJhckluWWVhcikpO2lmKCgwLHIuYWRkX2RhdGUpKG8sYSksKDAsci5nZXRfeWVhcikobyk+ZSl7Y29uc3QgdD1lKzEscz10aGlzLl9zcGVjLmdldFdlZWtJbmRpY2VzV2l0aEFkZGl0aW9uYWxXZWVrQmFycyh0KSxyPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSh0LHMpO2lmKG8uZ2V0VGltZSgpPj0oMCx1LmVuc3VyZU5vdE51bGwpKHIuc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuIHRoaXMuc3RhcnRPZlBlcmlvZCgwLHQpfXJldHVybiBvPXRoaXMuX2NhbGN1bGF0ZUJhcldlZWtTdGFydChvLHMsaSx0KSxvfWluZGV4T2ZQZXJpb2QodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldFdlZWtJbmRleCh0KSxzPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGljZXNXaXRoQWRkaXRpb25hbFdlZWtCYXJzKCgwLHIuZ2V0X3llYXIpKHQpKSxuPXRoaXMuX2dldFN0YXJ0T2ZZZWFyRGF0YSgoMCxyLmdldF95ZWFyKSh0KSxzKTtpZih0LmdldFRpbWUoKTwoMCx1LmVuc3VyZU5vdE51bGwpKG4uc3RhcnRPZkZpcnN0QmFySW5ZZWFyKS5nZXRUaW1lKCkpcmV0dXJuLTE7aWYoMD09PWUmJmsuaXNPbkZpcnN0Q2FsZW5kYXJXZWVrT2ZZZWFyKHQpfHwwIT09ZSYmZT09PW4uZmlyc3RXZWVrSW5kZXgpcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUxhc3RXZWVrKHQsZSxzLG4uZmlyc3RXZWVrYmFyc0NvdW50KS0xO2xldCBpPXRoaXMuX251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KTtyZXR1cm4gaSs9bi5maXJzdFdlZWtiYXJzQ291bnQtbi5mdWxsV2Vla3NBZGp1c3RtZW50LGkrPXRoaXMuX2NhbGN1bGF0ZVdlZWtzV2l0aEV4dHJhQmFyKGUscyxuLmZpcnN0V2Vla0luZGV4KSxpKz10aGlzLl9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxrLmZ1bGxXZWVrT2ZBZGRpdGlvbmFsQmFyc0NvdW50KS0xLGl9c3RhdGljIGlzT25GaXJzdENhbGVuZGFyV2Vla09mWWVhcih0KXtpZigoMCxyLmdldF9kYXlfb2ZfeWVhcikodCk+ci5MQVNUX0RBWV9PRl9XRUVLKXJldHVybiExO2NvbnN0IGU9KDAsci5nZXRfY2FsKShnLCgwLHIuZ2V0X3llYXIpKHQpLHIuSkFOVUFSWSwxLDAsMCkscz0oMCxyLmNsb25lKShlKTtyZXR1cm4oMCxyLmFkZF9kYXRlKShzLHIuTEFTVF9EQVlfT0ZfV0VFSy0oMCxyLmdldF9kYXlfb2Zfd2VlaykoZSkpLHQuZ2V0VGltZSgpPHMuZ2V0VGltZSgpfV9tb3ZlVG9XZWVrSW5kZXhBY2NvdW50aW5nQWRkaXRpb25hbCh0LGUscyl7bGV0IHI9dCtzO2Zvcihjb25zdCBzIG9mIGUpaWYoIShzLndlZWtJbmRleDx0KSl7aWYocy53ZWVrSW5kZXg+PXIpYnJlYWs7ci0tfXJldHVybiByfV9jYWxjdWxhdGVCYXJXZWVrU3RhcnQodCxlLHMsbil7Y29uc3QgaT10aGlzLl9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKGUscyk7aWYobnVsbD09PWkpe2NvbnN0IGU9dGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhzKS5maXJzdERheU9mV2VlaygpLSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxuPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKG4sZSksbn1jb25zdCBhPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoaS5lbnRyeUluZGV4KQo7aWYodGhpcy5pbmRleE9mUGVyaW9kKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk9PT1uKXJldHVybigwLHIuY2xvbmUpKCgwLHUuZW5zdXJlTm90TnVsbCkoYS5nZXRTdGFydERheSgpKSk7Y29uc3Qgbz10aGlzLl9zcGVjLmdldEhpc3RvcnlCeUluZGV4KGkuZW50cnlJbmRleC0xKS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS0oMCxyLmdldF9kYXlfb2Zfd2VlaykodCksZD0oMCxyLmNsb25lKSh0KTtyZXR1cm4oMCxyLmFkZF9kYXRlKShkLG8pLGR9X251bWJlck9mQ2FsZW5kYXJXZWVrcyh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl95ZWFyKSh0KSxzPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KTtyZXR1cm4gTWF0aC50cnVuYygoZS1zKS83KX1fZ2V0U3RhcnRPZlllYXJEYXRhKHQsZSl7bGV0IHM9dGhpcy5feWVhclN0YXJ0RGF0YUhhc2guZ2V0KHQpO2lmKHZvaWQgMCE9PXMpcmV0dXJuIHM7bGV0IG49KDAsci5nZXRfY2FsKShnLHQsci5KQU5VQVJZLDEsMCwwKSxpPXRoaXMuX3NwZWMuZ2V0V2Vla0luZGV4KG4pLGE9MDtmb3IoKDAsci5nZXRfZGF5X29mX3dlZWspKG4pPT09ci5GSVJTVF9EQVlfT0ZfV0VFSyYmKGE9MSkscz10aGlzLl9nZXRZZWFyU3RhcnREYXRhRnJvbVdlZWsoZSxpLG4pO251bGw9PT1zLnN0YXJ0T2ZGaXJzdEJhckluWWVhcjspaSsrLGErKyxuPXRoaXMuX21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydChuKSxzPXRoaXMuX2dldFllYXJTdGFydERhdGFGcm9tV2VlayhlLGksbik7cmV0dXJuIHMuZnVsbFdlZWtzQWRqdXN0bWVudD1hLHRoaXMuX3llYXJTdGFydERhdGFIYXNoLnNldCh0LHMpLHN9X21vdmVUb05leHRDYWxlbmRhcldlZWtTdGFydCh0KXtjb25zdCBlPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxzPSgwLHIuY2xvbmUpKHQpO3JldHVybigwLHIuYWRkX2RhdGUpKHMsci5MQVNUX0RBWV9PRl9XRUVLLWUrMSksc31fZ2V0WWVhclN0YXJ0RGF0YUZyb21XZWVrKHQsZSxzKXtjb25zdCBuPSgwLHIuZ2V0X2RheV9vZl93ZWVrKShzKTtsZXQgaT1udWxsLGE9MDtjb25zdCBvPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHModCxlKTtpZihudWxsIT09byl7bGV0IHQ9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleChvLmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbjtpZih0Pj0wKWk9KDAsci5jbG9uZSkocyksKDAsci5hZGRfZGF0ZSkoaSx0KSxhPTI7ZWxzZXtjb25zdCBlPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgoby5lbnRyeUluZGV4KTt0PWUuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktbix0Pj0wJiYoaT1lLmdldFN0YXJ0RGF5KCksaSYmKGk9KDAsci5jbG9uZSkoaSkpLGE9MSl9fWVsc2V7Y29uc3QgdD10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKGUpLG89dC5maXJzdERheU9mV2VlaygpLW47bz49MCYmKHRoaXMuX2hhc1dvcmtpbmdEYXlzKHQpfHx0aGlzLl9oYXNXb3JraW5nRGF5c05leHRXZWVrKGUrMSkpJiYoaT0oMCxyLmNsb25lKShzKSwoMCxyLmFkZF9kYXRlKShpLG8pLGE9MSl9cmV0dXJue3N0YXJ0T2ZGaXJzdEJhckluWWVhcjppLGZpcnN0V2Vla0luZGV4OmUsZmlyc3RXZWVrYmFyc0NvdW50OmEsZnVsbFdlZWtzQWRqdXN0bWVudDowfX1faGFzV29ya2luZ0RheXModCl7aWYoMD09PXQuZW50cmllc0J5RGF5KCkuc2l6ZSlyZXR1cm4hMTtmb3IobGV0IGU9dC5maXJzdERheU9mV2VlaygpO2U8PXIuTEFTVF9EQVlfT0ZfV0VFSztlKyspaWYodm9pZCAwIT09dC5lbnRyaWVzQnlEYXkoKS5nZXQoZSkpcmV0dXJuITA7cmV0dXJuITF9X2hhc1dvcmtpbmdEYXlzTmV4dFdlZWsodCl7Y29uc3QgZT10aGlzLl9zcGVjLmdldEVudHJpZXNGb3JXZWVrKHQpO2ZvcihsZXQgdD0xO3Q8ZS5maXJzdERheU9mV2VlaygpO3QrKylpZih2b2lkIDAhPT1lLmVudHJpZXNCeURheSgpLmdldCh0KSlyZXR1cm4hMDtyZXR1cm4hMX1fY2FsY3VsYXRlV2Vla3NXaXRoRXh0cmFCYXIodCxlLHMpe2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgZSl7aWYobi53ZWVrSW5kZXg+PXQpYnJlYWs7bi53ZWVrSW5kZXg+cyYmcisrfXJldHVybiByfV9jYWxjdWxhdGVMYXN0V2Vlayh0LGUscyxuKXtjb25zdCBpPSgwLHIuZ2V0X2RheV9vZl93ZWVrKSh0KSxhPXRoaXMuX2dldEluZGV4T2ZXZWVrV2l0aEV4dHJhQmFySWZFeGlzdHMocyxlKTtpZihudWxsPT09YSl7cmV0dXJuIGktdGhpcy5fc3BlYy5nZXRFbnRyaWVzRm9yV2VlayhlKS5maXJzdERheU9mV2VlaygpPj0wPzE6MH1jb25zdCBvPXRoaXMuX3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyhhLGkpO3JldHVybiBvPT09ay5Jc0luTmV3U2Vzc2lvbj9uOm89PT1rLklzSW5NaWRTZXNzaW9uP24tMTowfV9nZXRJbmRleE9mV2Vla1dpdGhFeHRyYUJhcklmRXhpc3RzKHQsZSl7Zm9yKGNvbnN0IHMgb2YgdCl7aWYocy53ZWVrSW5kZXg9PT1lKXJldHVybiBzO2lmKHMud2Vla0luZGV4PmUpYnJlYWt9cmV0dXJuIG51bGx9X3Bvc2l0aW9uSW5zaWRlV2Vla1dpdGhTZXZlcmFsQmFycyh0LGUpe2xldCBzPXRoaXMuX3NwZWMuZ2V0SGlzdG9yeUJ5SW5kZXgodC5lbnRyeUluZGV4KS5nZXRFbnRyaWVzKCkuZmlyc3REYXlPZldlZWsoKS1lO2lmKHM8PTApcmV0dXJuIGsuSXNJbk5ld1Nlc3Npb247cmV0dXJuIHM9dGhpcy5fc3BlYy5nZXRIaXN0b3J5QnlJbmRleCh0LmVudHJ5SW5kZXgtMSkuZ2V0RW50cmllcygpLmZpcnN0RGF5T2ZXZWVrKCktZSxzPD0wP2suSXNJbk1pZFNlc3Npb246ay5Jc0JlZm9yZUFueVNlc3Npb259fWsuSXNCZWZvcmVBbnlTZXNzaW9uPS0xLGsuSXNJbk1pZFNlc3Npb249MCxrLklzSW5OZXdTZXNzaW9uPTEsay5mdWxsV2Vla09mQWRkaXRpb25hbEJhcnNDb3VudD0yO2NsYXNzIE57Y29uc3RydWN0b3IodCl7dGhpcy5fYnVpbGRlcj1udWxsLHRoaXMuX3Nlc3Npb249dH1pbmRleE9mUGVyaW9kKHQpe3JldHVybiB0aGlzLl9nZXRCdWlsZGVyKCkuaW5kZXhPZlBlcmlvZCh0KX1zdGFydE9mUGVyaW9kKHQsZSl7cmV0dXJuIHRoaXMuX2dldEJ1aWxkZXIoKS5zdGFydE9mUGVyaW9kKHQsZSkKfV9nZXRCdWlsZGVyKCl7cmV0dXJuIG51bGw9PXRoaXMuX2J1aWxkZXImJih0aGlzLl9idWlsZGVyPXRoaXMuX3Nlc3Npb24uc3BlYy5oYXNIaXN0b3J5Q29ycmVjdGlvbnMoKT9uZXcgayh0aGlzLl9zZXNzaW9uLnNwZWMpOm5ldyBUKHRoaXMuX3Nlc3Npb24uc3BlYykpLHRoaXMuX2J1aWxkZXJ9fWNsYXNzIGJ7Y29uc3RydWN0b3IodCl7dGhpcy5fc2Vzc2lvbj10fWluZGV4T2ZQZXJpb2QodCl7cmV0dXJuKDAsci5nZXRfbW9udGgpKHQpfXN0YXJ0T2ZQZXJpb2QodCxlKXtpZih0PDApe2NvbnN0IHM9KDAsaS50b0ludCkoKDExLXQpLzEyKTtlLT1zLHQrPTEyKnN9ZWxzZSB0PnIuREVDRU1CRVImJihlKyssdD1yLkpBTlVBUlkpO3JldHVybigwLHIuZ2V0X2NhbCkoZyxlLHQsMSl9fXZhciBELFc7ZnVuY3Rpb24gdyh0LGUscyxyPSExKXtjb25zdCBpPW4uSW50ZXJ2YWwucGFyc2UodCksYT1pLm11bHRpcGxpZXIoKTtyZXR1cm4gaS5pc01pbnV0ZXMoKT9oLm1pbnV0ZXMoYSxlKTppLmlzU2Vjb25kcygpP2guc2Vjb25kcyhhLGUpOmkuaXNUaWNrcygpP25ldyBoKDEsZSk6aS5pc1JhbmdlKCk/bmV3IGgoNjAqYSxlKTpuZXcgQihlLHM/P251bGwsYSxmdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIG4uUmVzb2x1dGlvbktpbmQuRGF5czpyZXR1cm4gbmV3IHAoZSk7Y2FzZSBuLlJlc29sdXRpb25LaW5kLldlZWtzOnJldHVybiBuZXcgTihlKTtjYXNlIG4uUmVzb2x1dGlvbktpbmQuTW9udGhzOnJldHVybiBuZXcgYihlKX10aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZHdtIHJlc29sdXRpb246ICR7dH1gKX0oaS5raW5kKCksZSkscil9ZnVuY3Rpb24gdih0LGUscyxpLG8sZCxfKXtjb25zdCBmPW4uSW50ZXJ2YWwucGFyc2UobytpKTtpZihmLmlzTW9udGhzKCkpe2NvbnN0IHQ9bmV3IERhdGUoZCksZT1uZXcgRGF0ZShfKTtsZXQgcz0xMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSk7cmV0dXJuIHMrPWUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCksTWF0aC5jZWlsKHMvZi5tdWx0aXBsaWVyKCkpfWNvbnN0IFM9bmV3IGEuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLHQsZSxzKSxsPWYuaW5NaWxsaXNlY29uZHMoKTtsZXQgaDtpZihmLmlzRFdNKCkpaD04NjRlNTtlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7aD02MCpTLnNwZWMuZ2V0RW50cmllc0ZvcldlZWsodCkubWF4VHJhZGluZ0RheUxlbmd0aCgpKjFlM31sZXQgdT0wO2lmKGYuaXNXZWVrcygpKXU9NztlbHNle2NvbnN0IHQ9Uy5zcGVjLmdldFdlZWtJbmRleCgoMCxyLmdldF9jYWxfZnJvbV91bml4X3RpbWVzdGFtcF9tcykoUy50aW1lem9uZSxfKSk7dT03LVMuc3BlYy5nZXRFbnRyaWVzRm9yV2Vlayh0KS53ZWVrRW5kc0NvdW50KCl9Y29uc3QgYz1fLWQsZz1oL2wsTz11Kmc7bGV0IEU9Yy84NjRlNSpnO0U+PU8mJihFPWMvNjA0OGU1Kk8pO3JldHVybiBFJTE8PU51bWJlci5FUFNJTE9OKk1hdGguY2VpbChFKT9NYXRoLnJvdW5kKEUpOk1hdGguY2VpbChFKX0hZnVuY3Rpb24odCl7dFt0LkFsaWduVG9GaXJzdERheT0wXT0iQWxpZ25Ub0ZpcnN0RGF5Iix0W3QuQWxpZ25Ub0Nsb3Nlc3REYXk9MV09IkFsaWduVG9DbG9zZXN0RGF5In0oRHx8KEQ9e30pKSxmdW5jdGlvbih0KXt0W3QuRD04NjRlNV09IkQiLHRbdC5XPTYwNDhlNV09IlcifShXfHwoVz17fSkpfSwyOTUxNCh0LGUscyl7dmFyIHI7cy5kKGUse1Nlc3Npb25TdGFnZTooKT0+cn0pLGZ1bmN0aW9uKHQpe3RbdC5QUkVfU0VTU0lPTj0tMV09IlBSRV9TRVNTSU9OIix0W3QuUE9TVF9TRVNTSU9OPS0yXT0iUE9TVF9TRVNTSU9OIix0W3QuTEFTVEJBUl9TRVNTSU9OPS0zXT0iTEFTVEJBUl9TRVNTSU9OIix0W3QuTEFTVF9TRVNTSU9OX0VORD0tNF09IkxBU1RfU0VTU0lPTl9FTkQiLHRbdC5GSVJTVF9TRVNTSU9OX1NUQVJUPS01XT0iRklSU1RfU0VTU0lPTl9TVEFSVCJ9KHJ8fChyPXt9KSl9LDc1OTI5OCh0LGUscyl7cy5kKGUse2V4dHJhcG9sYXRlQmFyc0Zyb250QnlDb3VudDooKT0+aSxleHRyYXBvbGF0ZUJhcnNGcm9udFRvVGltZTooKT0+bn0pO3ZhciByPXMoMjk1MTQpO2Z1bmN0aW9uIG4odCxlLHMscixpPSExKXtpZihlPnMpe2NvbnN0IGE9bih0LHMsZSxyLGkpO3JldHVybiBhLmNvdW50PS1hLmNvdW50LGF9cmV0dXJuIGEodCxlLDEsKCh0LGUpPT5lPnN8fDAhPT1yJiZ0PnIpLGkpfWZ1bmN0aW9uIGkodCxlLHMscj0hMSl7Y29uc3Qgbj1zPDA/LTE6MTtyZXR1cm4gYSh0LGUsbiwoKHQsZSk9PnQ+PXMqbikscil9ZnVuY3Rpb24gYSh0LGUscyxuLGkpe2xldCBhPTAsbz1lO3QubW92ZVRvKG8pO2xldCBkPTAsXz1OdW1iZXIuTUFYX1ZBTFVFLGY9ITEsUz1lO2NvbnN0IGw9W107bGV0IGg9ITE7Zm9yKDshbihhLG8pOyl7aWYoZD4xNSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTAgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtjb25zdCBuPXQuaW5kZXhPZkJhcihvKTtpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKDApLHQubW92ZVRvKG8pLGg9ITA7ZWxzZSBpZihuPT09ci5TZXNzaW9uU3RhZ2UuUFJFX1NFU1NJT04mJi0xPT09cylvPXQuc3RhcnRPZkJhcihyLlNlc3Npb25TdGFnZS5QUkVfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNlIGlmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJjE9PT1zKW89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBPU1RfU0VTU0lPTiksdC5tb3ZlVG8obyksaD0hMDtlbHNle2lmKG49PT1yLlNlc3Npb25TdGFnZS5QT1NUX1NFU1NJT04mJi0xPT09cyl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTIgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTt7Y29uc3QgdT10LnN0YXJ0T2ZCYXIobik7aWYodT5lJiZzPjAmJihofHwwIT09bil8fGU+dSYmczwwKXtpZihmJiZfPT09dSl0aHJvdyBuZXcgRXJyb3IoIkludGVybmFsIGVycm9yIDB4MTEgd2hpbGUgZXh0cmFwb2xhdGluZy4iKTtmPSEwLF89dSxkPTAsCmErKyxTPXUsaSYmbC5wdXNoKFMpfWlmKDE9PT1zKXtvPXQuZW5kT2ZCYXIobik7Y29uc3QgZT10LnN0YXJ0T2ZCYXIoci5TZXNzaW9uU3RhZ2UuUE9TVF9TRVNTSU9OKTtvPT09ZSYmKHQubW92ZVRvKGUpLG89dC5zdGFydE9mQmFyKDApLGg9ITApfWVsc2UgMD09PW4/KG89dC5zdGFydE9mQmFyKHIuU2Vzc2lvblN0YWdlLlBSRV9TRVNTSU9OKSx0Lm1vdmVUbyhvKSk6bz10LnN0YXJ0T2ZCYXIobi0xKX19ZCsrfXJldHVybnt0aW1lOlMsdGltZXM6bCxjb3VudDphfX19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.405Z","timestamp":1785136428405,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 5e84324c09c99485c808b73400948255\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-08-11T04:47:30.07821Z","times_seen":566,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/36166.7637be1cf2514504ac79.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.458Z","timestamp":1785136428458,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/36166.7637be1cf2514504ac79.js HTTP/1.1\r\nHost: www.tradingview-widget.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://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-52e1\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:20:17\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: f7993a8945c89abc98bd517b8d3b89a8\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":21217,"size_decoded":9572,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3063)","md5":"51776a5fc46a025b06d1b20c444a8934","sha1":"ded406bfe93dcf4112270cd3f1634b7bec2da0cf","sha256":"6619f156d8b0192fb34d6c756bf0bda361c55a6a2d79c9fe1117d9a83ad626df","sha512":"1a8c2a8de6868dcf9765cf86c13f9a9f50c87cc022a6142c3a48a4e8da04589a6c06376ccb2928de274dd64f5558784b2a5f2c5c13617c7c40ea38359ab819ad","ssdeep":"384:Ew9WKLri/jpKfQVAFzMnNReRhrt3bkiRWXxKziTObRcRbF:Ew9WKa9K4Gz4fejx1RWszhbe9F","tlshash":"8492b5c8b1e1f0e556e768a0807f444bf13a7d19349e9060a3a2d4d678b46dec07bf6e","first_seen":"2026-07-25T03:24:57.421925Z","last_seen":"2026-07-28T04:58:41.961336Z","times_seen":316,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNjE2Niw4MDcwNl0sezcxMjc0NSh0LHIsZSl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLHU9MWU2LGk9MWU2LGM9IltiaWcuanNdICIsZj1jKyJJbnZhbGlkICIscz1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPWMrIkRpdmlzaW9uIGJ5IHplcm8iLHA9e30saD12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiB5KHQscixlLG4pe3ZhciBvPXQuYztpZihlPT09aCYmKGU9dC5jb25zdHJ1Y3Rvci5STSksMCE9PWUmJjEhPT1lJiYyIT09ZSYmMyE9PWUpdGhyb3cgRXJyb3IoYSk7aWYocjwxKW49Mz09PWUmJihufHwhIW9bMF0pfHwwPT09ciYmKDE9PT1lJiZvWzBdPj01fHwyPT09ZSYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09aCkpKSxvLmxlbmd0aD0xLG4/KHQuZT10LmUtcisxLG9bMF09MSk6b1swXT10LmU9MDtlbHNlIGlmKHI8by5sZW5ndGgpe2lmKG49MT09PWUmJm9bcl0+PTV8fDI9PT1lJiYob1tyXT41fHw1PT09b1tyXSYmKG58fG9bcisxXSE9PWh8fDEmb1tyLTFdKSl8fDM9PT1lJiYobnx8ISFvWzBdKSxvLmxlbmd0aD1yLS0sbilmb3IoOysrb1tyXT45OylvW3JdPTAsci0tfHwoKyt0LmUsby51bnNoaWZ0KDEpKTtmb3Iocj1vLmxlbmd0aDshb1stLXJdOylvLnBvcCgpfXJldHVybiB0fWZ1bmN0aW9uIHYodCxyLGUpe3ZhciBuPXQuZSxvPXQuYy5qb2luKCIiKSx1PW8ubGVuZ3RoO2lmKHIpbz1vLmNoYXJBdCgwKSsodT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+dSlmb3Iobi09dTtuLS07KW8rPSIwIjtlbHNlIG48dSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIHU+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiB0LnM8MCYmZT8iLSIrbzpvfXAuYWJzPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHQucz0xLHR9LHAuY21wPWZ1bmN0aW9uKHQpe3ZhciByLGU9dGhpcyxuPWUuYyxvPSh0PW5ldyBlLmNvbnN0cnVjdG9yKHQpKS5jLHU9ZS5zLGk9dC5zLGM9ZS5lLGY9dC5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT91Om9bMF0/LWk6MDtpZih1IT1pKXJldHVybiB1O2lmKHI9dTwwLGMhPWYpcmV0dXJuIGM+Zl5yPzE6LTE7Zm9yKGk9KGM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9jOmYsdT0tMTsrK3U8aTspaWYoblt1XSE9b1t1XSlyZXR1cm4gblt1XT5vW3VdXnI/MTotMTtyZXR1cm4gYz09Zj8wOmM+Zl5yPzE6LTF9LHAuZGl2PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1yLmNvbnN0cnVjdG9yLG49ci5jLG89KHQ9bmV3IGUodCkpLmMsaT1yLnM9PXQucz8xOi0xLGM9ZS5EUDtpZihjIT09fn5jfHxjPDB8fGM+dSl0aHJvdyBFcnJvcihzKTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gdC5zPWksdC5jPVt0LmU9MF0sdDt2YXIgZixhLHAsZCx2LHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxnPW4ubGVuZ3RoLG09bi5zbGljZSgwLGYpLEU9bS5sZW5ndGgsXz10LFM9Xy5jPVtdLE89MCxqPWMrKF8uZT1yLmUtdC5lKSsxO2ZvcihfLnM9aSxpPWo8MD8wOmosdy51bnNoaWZ0KDApO0UrKzxmOyltLnB1c2goMCk7ZG97Zm9yKHA9MDtwPDEwO3ArKyl7aWYoZiE9KEU9bS5sZW5ndGgpKWQ9Zj5FPzE6LTE7ZWxzZSBmb3Iodj0tMSxkPTA7Kyt2PGY7KWlmKG9bdl0hPW1bdl0pe2Q9b1t2XT5tW3ZdPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPUU9PWY/bzp3O0U7KXtpZihtWy0tRV08YVtFXSl7Zm9yKHY9RTt2JiYhbVstLXZdOyltW3ZdPTk7LS1tW3ZdLG1bRV0rPTEwfW1bRV0tPWFbRV19Zm9yKDshbVswXTspbS5zaGlmdCgpfVNbTysrXT1kP3A6KytwLG1bMF0mJmQ/bVtFXT1uW2JdfHwwOm09W25bYl1dfXdoaWxlKChiKys8Z3x8bVswXSE9PWgpJiZpLS0pO3JldHVybiBTWzBdfHwxPT1PfHwoUy5zaGlmdCgpLF8uZS0tLGotLSksTz5qJiZ5KF8saixlLlJNLG1bMF0hPT1oKSxffSxwLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LHAuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPjB9LHAuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT4tMX0scC5sdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8MH0scC5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPDF9LHAubWludXM9cC5zdWI9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG8sdT10aGlzLGk9dS5jb25zdHJ1Y3RvcixjPXUucyxmPSh0PW5ldyBpKHQpKS5zO2lmKGMhPWYpcmV0dXJuIHQucz0tZix1LnBsdXModCk7dmFyIHM9dS5jLnNsaWNlKCksYT11LmUsbD10LmMscD10LmU7aWYoIXNbMF18fCFsWzBdKXJldHVybiBsWzBdP3Qucz0tZjpzWzBdP3Q9bmV3IGkodSk6dC5zPTEsdDtpZihjPWEtcCl7Zm9yKChvPWM8MCk/KGM9LWMsbj1zKToocD1hLG49bCksbi5yZXZlcnNlKCksZj1jO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKGU9KChvPXMubGVuZ3RoPGwubGVuZ3RoKT9zOmwpLmxlbmd0aCxjPWY9MDtmPGU7ZisrKWlmKHNbZl0hPWxbZl0pe289c1tmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXMscz1sLGw9bix0LnM9LXQucyksKGY9KGU9bC5sZW5ndGgpLShyPXMubGVuZ3RoKSk+MClmb3IoO2YtLTspc1tyKytdPTA7Zm9yKGY9cjtlPmM7KXtpZihzWy0tZV08bFtlXSl7Zm9yKHI9ZTtyJiYhc1stLXJdOylzW3JdPTk7LS1zW3JdLHNbZV0rPTEwfXNbZV0tPWxbZV19Zm9yKDswPT09c1stLWZdOylzLnBvcCgpO2Zvcig7MD09PXNbMF07KXMuc2hpZnQoKSwtLXA7cmV0dXJuIHNbMF18fCh0LnM9MSxzPVtwPTBdKSx0LmM9cyx0LmU9cCx0fSxwLm1vZD1mdW5jdGlvbih0KXsKdmFyIHIsZT10aGlzLG49ZS5jb25zdHJ1Y3RvcixvPWUucyx1PSh0PW5ldyBuKHQpKS5zO2lmKCF0LmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIGUucz10LnM9MSxyPTE9PXQuY21wKGUpLGUucz1vLHQucz11LHI/bmV3IG4oZSk6KG89bi5EUCx1PW4uUk0sbi5EUD1uLlJNPTAsZT1lLmRpdih0KSxuLkRQPW8sbi5STT11LHRoaXMubWludXMoZS50aW1lcyh0KSkpfSxwLnBsdXM9cC5hZGQ9ZnVuY3Rpb24odCl7dmFyIHIsZSxuLG89dGhpcyx1PW8uY29uc3RydWN0b3I7aWYodD1uZXcgdSh0KSxvLnMhPXQucylyZXR1cm4gdC5zPS10LnMsby5taW51cyh0KTt2YXIgaT1vLmUsYz1vLmMsZj10LmUscz10LmM7aWYoIWNbMF18fCFzWzBdKXJldHVybiBzWzBdfHwoY1swXT90PW5ldyB1KG8pOnQucz1vLnMpLHQ7aWYoYz1jLnNsaWNlKCkscj1pLWYpe2ZvcihyPjA/KGY9aSxuPXMpOihyPS1yLG49Yyksbi5yZXZlcnNlKCk7ci0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKGMubGVuZ3RoLXMubGVuZ3RoPDAmJihuPXMscz1jLGM9bikscj1zLmxlbmd0aCxlPTA7cjtjW3JdJT0xMCllPShjWy0tcl09Y1tyXStzW3JdK2UpLzEwfDA7Zm9yKGUmJihjLnVuc2hpZnQoZSksKytmKSxyPWMubGVuZ3RoOzA9PT1jWy0tcl07KWMucG9wKCk7cmV0dXJuIHQuYz1jLHQuZT1mLHR9LHAucG93PWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsZT1uZXcgci5jb25zdHJ1Y3RvcigiMSIpLG49ZSxvPXQ8MDtpZih0IT09fn50fHx0PC0xZTZ8fHQ+aSl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYodD0tdCk7MSZ0JiYobj1uLnRpbWVzKHIpKSx0Pj49MTspcj1yLnRpbWVzKHIpO3JldHVybiBvP2UuZGl2KG4pOm59LHAucHJlYz1mdW5jdGlvbih0LHIpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiB5KG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHQscil9LHAucm91bmQ9ZnVuY3Rpb24odCxyKXtpZih0PT09aCl0PTA7ZWxzZSBpZih0IT09fn50fHx0PC11fHx0PnUpdGhyb3cgRXJyb3Iocyk7cmV0dXJuIHkobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyksdCt0aGlzLmUrMSxyKX0scC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHQscixlLG49dGhpcyxvPW4uY29uc3RydWN0b3IsdT1uLnMsaT1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYodTwwKXRocm93IEVycm9yKGMrIk5vIHNxdWFyZSByb290Iik7MD09PSh1PU1hdGguc3FydChuKyIiKSl8fHU9PT0xLzA/KChyPW4uYy5qb2luKCIiKSkubGVuZ3RoK2kmMXx8KHIrPSIwIiksaT0oKGkrMSkvMnwwKS0oaTwwfHwxJmkpLHQ9bmV3IG8oKCh1PU1hdGguc3FydChyKSk9PTEvMD8iNWUiOih1PXUudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLHUuaW5kZXhPZigiZSIpKzEpKStpKSk6dD1uZXcgbyh1KyIiKSxpPXQuZSsoby5EUCs9NCk7ZG97ZT10LHQ9Zi50aW1lcyhlLnBsdXMobi5kaXYoZSkpKX13aGlsZShlLmMuc2xpY2UoMCxpKS5qb2luKCIiKSE9PXQuYy5zbGljZSgwLGkpLmpvaW4oIiIpKTtyZXR1cm4geSh0LChvLkRQLT00KSt0LmUrMSxvLlJNKX0scC50aW1lcz1wLm11bD1mdW5jdGlvbih0KXt2YXIgcixlPXRoaXMsbj1lLmNvbnN0cnVjdG9yLG89ZS5jLHU9KHQ9bmV3IG4odCkpLmMsaT1vLmxlbmd0aCxjPXUubGVuZ3RoLGY9ZS5lLHM9dC5lO2lmKHQucz1lLnM9PXQucz8xOi0xLCFvWzBdfHwhdVswXSlyZXR1cm4gdC5jPVt0LmU9MF0sdDtmb3IodC5lPWYrcyxpPGMmJihyPW8sbz11LHU9cixzPWksaT1jLGM9cykscj1uZXcgQXJyYXkocz1pK2MpO3MtLTspcltzXT0wO2ZvcihmPWM7Zi0tOyl7Zm9yKGM9MCxzPWkrZjtzPmY7KWM9cltzXSt1W2ZdKm9bcy1mLTFdK2MscltzLS1dPWMlMTAsYz1jLzEwfDA7cltzXT1jfWZvcihjPysrdC5lOnIuc2hpZnQoKSxmPXIubGVuZ3RoOyFyWy0tZl07KXIucG9wKCk7cmV0dXJuIHQuYz1yLHR9LHAudG9FeHBvbmVudGlhbD1mdW5jdGlvbih0LHIpe3ZhciBlPXRoaXMsbj1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MHx8dD51KXRocm93IEVycm9yKHMpO2ZvcihlPXkobmV3IGUuY29uc3RydWN0b3IoZSksKyt0LHIpO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMCwhIW4pfSxwLnRvRml4ZWQ9ZnVuY3Rpb24odCxyKXt2YXIgZT10aGlzLG49ZS5jWzBdO2lmKHQhPT1oKXtpZih0IT09fn50fHx0PDB8fHQ+dSl0aHJvdyBFcnJvcihzKTtmb3IodD10KyhlPXkobmV3IGUuY29uc3RydWN0b3IoZSksdCtlLmUrMSxyKSkuZSsxO2UuYy5sZW5ndGg8dDspZS5jLnB1c2goMCl9cmV0dXJuIHYoZSwhMSwhIW4pfSxwLnRvSlNPTj1wLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuY29uc3RydWN0b3I7cmV0dXJuIHYodCx0LmU8PXIuTkV8fHQuZT49ci5QRSwhIXQuY1swXSl9LHAudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodih0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEodC50b1N0cmluZygpKSl0aHJvdyBFcnJvcihjKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiB0fSxwLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHQscil7dmFyIGU9dGhpcyxuPWUuY29uc3RydWN0b3Isbz1lLmNbMF07aWYodCE9PWgpe2lmKHQhPT1+fnR8fHQ8MXx8dD51KXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2ZvcihlPXkobmV3IG4oZSksdCxyKTtlLmMubGVuZ3RoPHQ7KWUuYy5wdXNoKDApfXJldHVybiB2KGUsdDw9ZS5lfHxlLmU8PW4uTkV8fGUuZT49bi5QRSwhIW8pfSxwLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5jb25zdHJ1Y3RvcjtpZighMD09PXIuc3RyaWN0KXRocm93IEVycm9yKGMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiB2KHQsdC5lPD1yLk5FfHx0LmU+PXIuUEUsITApfSxvPWZ1bmN0aW9uIHQoKXtmdW5jdGlvbiByKGUpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgcikpcmV0dXJuIGU9PT1oP3QoKTpuZXcgcihlKTtpZihlIGluc3RhbmNlb2YgciluLnM9ZS5zLG4uZT1lLmUsCm4uYz1lLmMuc2xpY2UoKTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgZSl7aWYoITA9PT1yLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7ZT0wPT09ZSYmMS9lPDA/Ii0wIjpTdHJpbmcoZSl9IWZ1bmN0aW9uKHQscil7dmFyIGUsbixvO2lmKCFkLnRlc3QocikpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7dC5zPSItIj09ci5jaGFyQXQoMCk/KHI9ci5zbGljZSgxKSwtMSk6MSwoZT1yLmluZGV4T2YoIi4iKSk+LTEmJihyPXIucmVwbGFjZSgiLiIsIiIpKTsobj1yLnNlYXJjaCgvZS9pKSk+MD8oZTwwJiYoZT1uKSxlKz0rci5zbGljZShuKzEpLHI9ci5zdWJzdHJpbmcoMCxuKSk6ZTwwJiYoZT1yLmxlbmd0aCk7Zm9yKG89ci5sZW5ndGgsbj0wO248byYmIjAiPT1yLmNoYXJBdChuKTspKytuO2lmKG49PW8pdC5jPVt0LmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1yLmNoYXJBdCgtLW8pOyk7Zm9yKHQuZT1lLW4tMSx0LmM9W10sZT0wO248PW87KXQuY1tlKytdPStyLmNoYXJBdChuKyspfX0obixlKX1uLmNvbnN0cnVjdG9yPXJ9cmV0dXJuIHIucHJvdG90eXBlPXAsci5EUD0yMCxyLlJNPTEsci5ORT0tNyxyLlBFPTIxLHIuc3RyaWN0PWZhbHNlLHIucm91bmREb3duPTAsci5yb3VuZEhhbGZVcD0xLHIucm91bmRIYWxmRXZlbj0yLHIucm91bmRVcD0zLHJ9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChyLGUscix0KSl8fCh0LmV4cG9ydHM9bil9KCl9LDkxNDQ4Nyh0LHIpe3ZhciBlOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0PVtdLHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt2YXIgZT1hcmd1bWVudHNbcl07aWYoZSl7dmFyIHU9dHlwZW9mIGU7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpdC5wdXNoKGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGgpe3ZhciBpPW8uYXBwbHkobnVsbCxlKTtpJiZ0LnB1c2goaSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBjIGluIGUpbi5jYWxsKGUsYykmJmVbY10mJnQucHVzaChjKX19cmV0dXJuIHQuam9pbigiICIpfXQuZXhwb3J0cz8oby5kZWZhdWx0PW8sdC5leHBvcnRzPW8pOnZvaWQgMD09PShlPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHIsW10pKXx8KHQuZXhwb3J0cz1lKX0oKX0sMTg1MjcxKHQscixlKXsidXNlIHN0cmljdCI7ZS5yKHIpLGUuZChyLHt0OigpPT5uLnQsd2l0aFRyYW5zbGF0aW9uQ29udGV4dDooKT0+b30pO2UoODI5MTgwKTt2YXIgbj1lKDc4MzI1NCk7ZnVuY3Rpb24gbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX0sOTYzMDk4KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2dldElzb0xhbmd1YWdlQ29kZUZyb21MYW5ndWFnZTooKT0+b30pO2NvbnN0IG49e2FyX0FFOiJhciIsYnI6InB0IixkZV9ERToiZGUiLGNhX0VTOiJjYSIsaGVfSUw6ImhlIixpZF9JRDoiaWQiLGluOiJlbiIsa3I6ImtvIixtc19NWToibXMiLHN2X1NFOiJzdiIsdGhfVEg6InRoIix1azoiZW4iLHZpX1ZOOiJ2aSIsemhfQ046InpoLUhhbnMiLHpoX1RXOiJ6aC1IYW50Iix6aDoiemgtSGFucyIsaHVfSFU6Imh1LUhVIn07ZnVuY3Rpb24gbyh0KXtyZXR1cm4gblt0XXx8dH19LDEyMjc0OSh0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iiksbj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxvPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksdT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksZj1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0Iikscz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxwPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxoPVN5bWJvbC5pdGVyYXRvcjt2YXIgZD17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0seT1PYmplY3QuYXNzaWduLHY9e307ZnVuY3Rpb24gdyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfWZ1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gZyh0LHIsZSl7dGhpcy5wcm9wcz10LHRoaXMuY29udGV4dD1yLHRoaXMucmVmcz12LHRoaXMudXBkYXRlcj1lfHxkfXcucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdy5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCxyKXtpZigib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT10KXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsdCxyLCJzZXRTdGF0ZSIpfSx3LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsdCwiZm9yY2VVcGRhdGUiKX0sYi5wcm90b3R5cGU9dy5wcm90b3R5cGU7dmFyIG09Zy5wcm90b3R5cGU9bmV3IGI7bS5jb25zdHJ1Y3Rvcj1nLHkobSx3LnByb3RvdHlwZSksbS5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgRT1BcnJheS5pc0FycmF5LF89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxTPXtjdXJyZW50Om51bGx9LE89e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBqKHQscixuKXt2YXIgbyx1PXt9LGk9bnVsbCxjPW51bGwKO2lmKG51bGwhPXIpZm9yKG8gaW4gdm9pZCAwIT09ci5yZWYmJihjPXIucmVmKSx2b2lkIDAhPT1yLmtleSYmKGk9IiIrci5rZXkpLHIpXy5jYWxsKHIsbykmJiFPLmhhc093blByb3BlcnR5KG8pJiYodVtvXT1yW29dKTt2YXIgZj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWYpdS5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxmKXtmb3IodmFyIHM9QXJyYXkoZiksYT0wO2E8ZjthKyspc1thXT1hcmd1bWVudHNbYSsyXTt1LmNoaWxkcmVuPXN9aWYodCYmdC5kZWZhdWx0UHJvcHMpZm9yKG8gaW4gZj10LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT11W29dJiYodVtvXT1mW29dKTtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQsa2V5OmkscmVmOmMscHJvcHM6dSxfb3duZXI6Uy5jdXJyZW50fX1mdW5jdGlvbiBQKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJnQuJCR0eXBlb2Y9PT1lfXZhciBSPS9cLysvZztmdW5jdGlvbiBrKHQscil7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmbnVsbCE9dC5rZXk/ZnVuY3Rpb24odCl7dmFyIHI9eyI9IjoiPTAiLCI6IjoiPTIifTtyZXR1cm4iJCIrdC5yZXBsYWNlKC9bPTpdL2csKGZ1bmN0aW9uKHQpe3JldHVybiByW3RdfSkpfSgiIit0LmtleSk6ci50b1N0cmluZygzNil9ZnVuY3Rpb24geCh0LHIsbyx1LGkpe3ZhciBjPXR5cGVvZiB0OyJ1bmRlZmluZWQiIT09YyYmImJvb2xlYW4iIT09Y3x8KHQ9bnVsbCk7dmFyIGY9ITE7aWYobnVsbD09PXQpZj0hMDtlbHNlIHN3aXRjaChjKXtjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmY9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIGU6Y2FzZSBuOmY9ITB9fWlmKGYpcmV0dXJuIGk9aShmPXQpLHQ9IiI9PT11PyIuIitrKGYsMCk6dSxFKGkpPyhvPSIiLG51bGwhPXQmJihvPXQucmVwbGFjZShSLCIkJi8iKSsiLyIpLHgoaSxyLG8sIiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpKTpudWxsIT1pJiYoUChpKSYmKGk9ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6ZSx0eXBlOnQudHlwZSxrZXk6cixyZWY6dC5yZWYscHJvcHM6dC5wcm9wcyxfb3duZXI6dC5fb3duZXJ9fShpLG8rKCFpLmtleXx8ZiYmZi5rZXk9PT1pLmtleT8iIjooIiIraS5rZXkpLnJlcGxhY2UoUiwiJCYvIikrIi8iKSt0KSksci5wdXNoKGkpKSwxO2lmKGY9MCx1PSIiPT09dT8iLiI6dSsiOiIsRSh0KSlmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGE9dStrKGM9dFtzXSxzKTtmKz14KGMscixvLGEsaSl9ZWxzZSBpZihhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8Im9iamVjdCIhPXR5cGVvZiB0P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKHQ9aCYmdFtoXXx8dFsiQEBpdGVyYXRvciJdKT90Om51bGx9KHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhKWZvcih0PWEuY2FsbCh0KSxzPTA7IShjPXQubmV4dCgpKS5kb25lOylmKz14KGM9Yy52YWx1ZSxyLG8sYT11K2soYyxzKyspLGkpO2Vsc2UgaWYoIm9iamVjdCI9PT1jKXRocm93IHI9U3RyaW5nKHQpLEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09cj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpyKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBmfWZ1bmN0aW9uIE4odCxyLGUpe2lmKG51bGw9PXQpcmV0dXJuIHQ7dmFyIG49W10sbz0wO3JldHVybiB4KHQsbiwiIiwiIiwoZnVuY3Rpb24odCl7cmV0dXJuIHIuY2FsbChlLHQsbysrKX0pKSxufWZ1bmN0aW9uIEModCl7aWYoLTE9PT10Ll9zdGF0dXMpe3ZhciByPXQuX3Jlc3VsdDsocj1yKCkpLnRoZW4oKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTEsdC5fcmVzdWx0PXIpfSksKGZ1bmN0aW9uKHIpezAhPT10Ll9zdGF0dXMmJi0xIT09dC5fc3RhdHVzfHwodC5fc3RhdHVzPTIsdC5fcmVzdWx0PXIpfSkpLC0xPT09dC5fc3RhdHVzJiYodC5fc3RhdHVzPTAsdC5fcmVzdWx0PXIpfWlmKDE9PT10Ll9zdGF0dXMpcmV0dXJuIHQuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IHQuX3Jlc3VsdH12YXIgQT17Y3VycmVudDpudWxsfSxJPXt0cmFuc2l0aW9uOm51bGx9LCQ9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6QSxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzpJLFJlYWN0Q3VycmVudE93bmVyOlN9O3IuQ2hpbGRyZW49e21hcDpOLGZvckVhY2g6ZnVuY3Rpb24odCxyLGUpe04odCwoZnVuY3Rpb24oKXtyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLGUpfSxjb3VudDpmdW5jdGlvbih0KXt2YXIgcj0wO3JldHVybiBOKHQsKGZ1bmN0aW9uKCl7cisrfSkpLHJ9LHRvQXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIE4odCwoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKHQpe2lmKCFQKHQpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gdH19LHIuQ29tcG9uZW50PXcsci5GcmFnbWVudD1vLHIuUHJvZmlsZXI9aSxyLlB1cmVDb21wb25lbnQ9ZyxyLlN0cmljdE1vZGU9dSxyLlN1c3BlbnNlPWEsci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHIuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKHQscixuKXtpZihudWxsPT10KXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK3QrIi4iKTt2YXIgbz15KHt9LHQucHJvcHMpLHU9dC5rZXksaT10LnJlZixjPXQuX293bmVyO2lmKG51bGwhPXIpe2lmKHZvaWQgMCE9PXIucmVmJiYoaT1yLnJlZixjPVMuY3VycmVudCksdm9pZCAwIT09ci5rZXkmJih1PSIiK3Iua2V5KSwKdC50eXBlJiZ0LnR5cGUuZGVmYXVsdFByb3BzKXZhciBmPXQudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHMgaW4gcilfLmNhbGwocixzKSYmIU8uaGFzT3duUHJvcGVydHkocykmJihvW3NdPXZvaWQgMD09PXJbc10mJnZvaWQgMCE9PWY/ZltzXTpyW3NdKX12YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpby5jaGlsZHJlbj1uO2Vsc2UgaWYoMTxzKXtmPUFycmF5KHMpO2Zvcih2YXIgYT0wO2E8czthKyspZlthXT1hcmd1bWVudHNbYSsyXTtvLmNoaWxkcmVuPWZ9cmV0dXJueyQkdHlwZW9mOmUsdHlwZTp0LnR5cGUsa2V5OnUscmVmOmkscHJvcHM6byxfb3duZXI6Y319LHIuY3JlYXRlQ29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4odD17JCR0eXBlb2Y6ZixfY3VycmVudFZhbHVlOnQsX2N1cnJlbnRWYWx1ZTI6dCxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6YyxfY29udGV4dDp0fSx0LkNvbnN1bWVyPXR9LHIuY3JlYXRlRWxlbWVudD1qLHIuY3JlYXRlRmFjdG9yeT1mdW5jdGlvbih0KXt2YXIgcj1qLmJpbmQobnVsbCx0KTtyZXR1cm4gci50eXBlPXQscn0sci5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sci5mb3J3YXJkUmVmPWZ1bmN0aW9uKHQpe3JldHVybnskJHR5cGVvZjpzLHJlbmRlcjp0fX0sci5pc1ZhbGlkRWxlbWVudD1QLHIubGF6eT1mdW5jdGlvbih0KXtyZXR1cm57JCR0eXBlb2Y6cCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OnR9LF9pbml0OkN9fSxyLm1lbW89ZnVuY3Rpb24odCxyKXtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOnQsY29tcGFyZTp2b2lkIDA9PT1yP251bGw6cn19LHIuc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKHQpe3ZhciByPUkudHJhbnNpdGlvbjtJLnRyYW5zaXRpb249e307dHJ5e3QoKX1maW5hbGx5e0kudHJhbnNpdGlvbj1yfX0sci51bnN0YWJsZV9hY3Q9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiYWN0KC4uLikgaXMgbm90IHN1cHBvcnRlZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcyBvZiBSZWFjdC4iKX0sci51c2VDYWxsYmFjaz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlQ2FsbGJhY2sodCxyKX0sci51c2VDb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlQ29udGV4dCh0KX0sci51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxyLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEEuY3VycmVudC51c2VEZWZlcnJlZFZhbHVlKHQpfSxyLnVzZUVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlRWZmZWN0KHQscil9LHIudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZUlkKCl9LHIudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbih0LHIsZSl7cmV0dXJuIEEuY3VycmVudC51c2VJbXBlcmF0aXZlSGFuZGxlKHQscixlKX0sci51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24odCxyKXtyZXR1cm4gQS5jdXJyZW50LnVzZUluc2VydGlvbkVmZmVjdCh0LHIpfSxyLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTGF5b3V0RWZmZWN0KHQscil9LHIudXNlTWVtbz1mdW5jdGlvbih0LHIpe3JldHVybiBBLmN1cnJlbnQudXNlTWVtbyh0LHIpfSxyLnVzZVJlZHVjZXI9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlUmVkdWNlcih0LHIsZSl9LHIudXNlUmVmPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlUmVmKHQpfSxyLnVzZVN0YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBBLmN1cnJlbnQudXNlU3RhdGUodCl9LHIudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24odCxyLGUpe3JldHVybiBBLmN1cnJlbnQudXNlU3luY0V4dGVybmFsU3RvcmUodCxyLGUpfSxyLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5jdXJyZW50LnVzZVRyYW5zaXRpb24oKX0sci52ZXJzaW9uPSIxOC4yLjAifSw5NTM3NDkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgZT1yLmRpc3BhdGNoLG49ci5nZXRTdGF0ZTtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBvP28oZSxuLHQpOnIobyl9fX19ZS5kKHIse2RlZmF1bHQ6KCk9PnV9KTt2YXIgbz1uKCk7by53aXRoRXh0cmFBcmd1bWVudD1uO2NvbnN0IHU9b30sNzg3NzI0KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2FwcGx5TWlkZGxld2FyZTooKT0+cCxjb21iaW5lUmVkdWNlcnM6KCk9PmEsY29tcG9zZTooKT0+bCxjcmVhdGVTdG9yZTooKT0+c30pO3ZhciBuPWUoMjI0MTA3KTtmdW5jdGlvbiBvKHQpe3JldHVybiJNaW5pZmllZCBSZWR1eCBlcnJvciAjIit0KyI7IHZpc2l0IGh0dHBzOi8vcmVkdXguanMub3JnL0Vycm9ycz9jb2RlPSIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMuICJ9dmFyIHU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiLGk9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIil9LGM9e0lOSVQ6IkBAcmVkdXgvSU5JVCIraSgpLFJFUExBQ0U6IkBAcmVkdXgvUkVQTEFDRSIraSgpLFBST0JFX1VOS05PV05fQUNUSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIkBAcmVkdXgvUFJPQkVfVU5LTk9XTl9BQ1RJT04iK2koKX19O2Z1bmN0aW9uIGYodCl7aWYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIHI9dDtudWxsIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpOylyPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpPT09cn1mdW5jdGlvbiBzKHQscixlKXt2YXIgbgo7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJiJmdW5jdGlvbiI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1szXSl0aHJvdyBuZXcgRXJyb3IobygwKSk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHImJnZvaWQgMD09PWUmJihlPXIscj12b2lkIDApLHZvaWQgMCE9PWUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcihvKDEpKTtyZXR1cm4gZShzKSh0LHIpfWlmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDIpKTt2YXIgaT10LGE9cixsPVtdLHA9bCxoPSExO2Z1bmN0aW9uIGQoKXtwPT09bCYmKHA9bC5zbGljZSgpKX1mdW5jdGlvbiB5KCl7aWYoaCl0aHJvdyBuZXcgRXJyb3IobygzKSk7cmV0dXJuIGF9ZnVuY3Rpb24gdih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3Iobyg0KSk7aWYoaCl0aHJvdyBuZXcgRXJyb3Iobyg1KSk7dmFyIHI9ITA7cmV0dXJuIGQoKSxwLnB1c2godCksZnVuY3Rpb24oKXtpZihyKXtpZihoKXRocm93IG5ldyBFcnJvcihvKDYpKTtyPSExLGQoKTt2YXIgZT1wLmluZGV4T2YodCk7cC5zcGxpY2UoZSwxKSxsPW51bGx9fX1mdW5jdGlvbiB3KHQpe2lmKCFmKHQpKXRocm93IG5ldyBFcnJvcihvKDcpKTtpZih2b2lkIDA9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKG8oOCkpO2lmKGgpdGhyb3cgbmV3IEVycm9yKG8oOSkpO3RyeXtoPSEwLGE9aShhLHQpfWZpbmFsbHl7aD0hMX1mb3IodmFyIHI9bD1wLGU9MDtlPHIubGVuZ3RoO2UrKyl7KDAscltlXSkoKX1yZXR1cm4gdH1yZXR1cm4gdyh7dHlwZTpjLklOSVR9KSwobj17ZGlzcGF0Y2g6dyxzdWJzY3JpYmU6dixnZXRTdGF0ZTp5LHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcihvKDEwKSk7aT10LHcoe3R5cGU6Yy5SRVBMQUNFfSl9fSlbdV09ZnVuY3Rpb24oKXt2YXIgdCxyPXY7cmV0dXJuKHQ9e3N1YnNjcmliZTpmdW5jdGlvbih0KXtpZigib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXRocm93IG5ldyBFcnJvcihvKDExKSk7ZnVuY3Rpb24gZSgpe3QubmV4dCYmdC5uZXh0KHkoKSl9cmV0dXJuIGUoKSx7dW5zdWJzY3JpYmU6cihlKX19fSlbdV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdH0sbn1mdW5jdGlvbiBhKHQpe2Zvcih2YXIgcj1PYmplY3Qua2V5cyh0KSxlPXt9LG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHU9cltuXTswLCJmdW5jdGlvbiI9PXR5cGVvZiB0W3VdJiYoZVt1XT10W3VdKX12YXIgaSxmPU9iamVjdC5rZXlzKGUpO3RyeXshZnVuY3Rpb24odCl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIGU9dFtyXTtpZih2b2lkIDA9PT1lKHZvaWQgMCx7dHlwZTpjLklOSVR9KSl0aHJvdyBuZXcgRXJyb3IobygxMikpO2lmKHZvaWQgMD09PWUodm9pZCAwLHt0eXBlOmMuUFJPQkVfVU5LTk9XTl9BQ1RJT04oKX0pKXRocm93IG5ldyBFcnJvcihvKDEzKSl9KSl9KGUpfWNhdGNoKHQpe2k9dH1yZXR1cm4gZnVuY3Rpb24odCxyKXtpZih2b2lkIDA9PT10JiYodD17fSksaSl0aHJvdyBpO2Zvcih2YXIgbj0hMSx1PXt9LGM9MDtjPGYubGVuZ3RoO2MrKyl7dmFyIHM9ZltjXSxhPWVbc10sbD10W3NdLHA9YShsLHIpO2lmKHZvaWQgMD09PXApe3ImJnIudHlwZTt0aHJvdyBuZXcgRXJyb3IobygxNCkpfXVbc109cCxuPW58fHAhPT1sfXJldHVybihuPW58fGYubGVuZ3RoIT09T2JqZWN0LmtleXModCkubGVuZ3RoKT91OnR9fWZ1bmN0aW9uIGwoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheSh0KSxlPTA7ZTx0O2UrKylyW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gMD09PXIubGVuZ3RoP2Z1bmN0aW9uKHQpe3JldHVybiB0fToxPT09ci5sZW5ndGg/clswXTpyLnJlZHVjZSgoZnVuY3Rpb24odCxyKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdChyLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19KSl9ZnVuY3Rpb24gcCgpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9bmV3IEFycmF5KHQpLGU9MDtlPHQ7ZSsrKXJbZV09YXJndW1lbnRzW2VdO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpLHU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IobygxNSkpfSxpPXtnZXRTdGF0ZTplLmdldFN0YXRlLGRpc3BhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIHUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fSxjPXIubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdChpKX0pKTtyZXR1cm4gdT1sLmFwcGx5KHZvaWQgMCxjKShlLmRpc3BhdGNoKSwoMCxuLmRlZmF1bHQpKCgwLG4uZGVmYXVsdCkoe30sZSkse30se2Rpc3BhdGNoOnV9KX19fX0sMzY0MzUwKHQscixlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LHIpe3JldHVybiB0PT09cn1lLmQocix7Y3JlYXRlU2VsZWN0b3I6KCk9Pm99KTt2YXIgbz1mdW5jdGlvbih0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxlPUFycmF5KHI+MT9yLTE6MCksbj0xO248cjtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHIpLG89MDtvPHI7bysrKW5bb109YXJndW1lbnRzW29dO3ZhciB1PTAsaT1uLnBvcCgpLGM9ZnVuY3Rpb24odCl7dmFyIHI9QXJyYXkuaXNBcnJheSh0WzBdKT90WzBdOnQ7aWYoIXIuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fSkpKXt2YXIgZT1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fSkpLmpvaW4oIiwgIik7dGhyb3cgbmV3IEVycm9yKCJTZWxlY3RvciBjcmVhdG9ycyBleHBlY3QgYWxsIGlucHV0LXNlbGVjdG9ycyB0byBiZSBmdW5jdGlvbnMsIGluc3RlYWQgcmVjZWl2ZWQgdGhlIGZvbGxvd2luZyB0eXBlczogWyIrZSsiXSIpfXJldHVybiByfShuKSxmPXQuYXBwbHkodm9pZCAwLFtmdW5jdGlvbigpe3JldHVybiB1KyssaS5hcHBseShudWxsLGFyZ3VtZW50cykKfV0uY29uY2F0KGUpKSxzPXQoKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLHI9Yy5sZW5ndGgsZT0wO2U8cjtlKyspdC5wdXNoKGNbZV0uYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gZi5hcHBseShudWxsLHQpfSkpO3JldHVybiBzLnJlc3VsdEZ1bmM9aSxzLmRlcGVuZGVuY2llcz1jLHMucmVjb21wdXRhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdX0scy5yZXNldFJlY29tcHV0YXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHU9MH0sc319KChmdW5jdGlvbih0KXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bixlPW51bGwsbz1udWxsO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LHIsZSl7aWYobnVsbD09PXJ8fG51bGw9PT1lfHxyLmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbj1yLmxlbmd0aCxvPTA7bzxuO28rKylpZighdChyW29dLGVbb10pKXJldHVybiExO3JldHVybiEwfShyLGUsYXJndW1lbnRzKXx8KG89dC5hcHBseShudWxsLGFyZ3VtZW50cykpLGU9YXJndW1lbnRzLG99fSkpfSwxOTM3MSh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT5vfSk7dmFyIG49ZSg5MDgxNTQpO2Z1bmN0aW9uIG8odCxyLGUpe3JldHVybihyPSgwLG4uZGVmYXVsdCkocikpaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHt2YWx1ZTplLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtyXT1lLHR9fSwyMjQxMDcodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+dX0pO3ZhciBuPWUoMTkzNzEpO2Z1bmN0aW9uIG8odCxyKXt2YXIgZT1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO3ImJihuPW4uZmlsdGVyKChmdW5jdGlvbihyKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHIpLmVudW1lcmFibGV9KSkpLGUucHVzaC5hcHBseShlLG4pfXJldHVybiBlfWZ1bmN0aW9uIHUodCl7Zm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl7dmFyIGU9bnVsbCE9YXJndW1lbnRzW3JdP2FyZ3VtZW50c1tyXTp7fTtyJTI/byhPYmplY3QoZSksITApLmZvckVhY2goKGZ1bmN0aW9uKHIpeygwLG4uZGVmYXVsdCkodCxyLGVbcl0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZSkpOm8oT2JqZWN0KGUpKS5mb3JFYWNoKChmdW5jdGlvbihyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxyKSl9KSl9cmV0dXJuIHR9fSw4OTI2MzkodCxyLGUpeyJ1c2Ugc3RyaWN0IjtlLmQocix7ZGVmYXVsdDooKT0+b30pO3ZhciBuPWUoMTI5NDc2KTtmdW5jdGlvbiBvKHQscil7aWYoIm9iamVjdCIhPSgwLG4uZGVmYXVsdCkodCl8fCF0KXJldHVybiB0O3ZhciBlPXRbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1lKXt2YXIgbz1lLmNhbGwodCxyfHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT0oMCxuLmRlZmF1bHQpKG8pKXJldHVybiBvO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09cj9TdHJpbmc6TnVtYmVyKSh0KX19LDkwODE1NCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSgxMjk0NzYpLG89ZSg4OTI2MzkpO2Z1bmN0aW9uIHUodCl7dmFyIHI9KDAsby5kZWZhdWx0KSh0LCJzdHJpbmciKTtyZXR1cm4ic3ltYm9sIj09KDAsbi5kZWZhdWx0KShyKT9yOnIrIiJ9fSwxMjk0NzYodCxyLGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSxuKHQpfWUuZChyLHtkZWZhdWx0OigpPT5ufSl9LDgzOTQyNih0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtkZWZhdWx0OigpPT51fSk7dmFyIG49ZSg2OTIzNjkpO2NvbnN0IG89ZnVuY3Rpb24odCxyKXt2YXIgZTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZ1bmN0aW9uIik7cmV0dXJuIHQ9KDAsbi5kZWZhdWx0KSh0KSxmdW5jdGlvbigpe3JldHVybi0tdD4wJiYoZT1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdDw9MSYmKHI9dm9pZCAwKSxlfX07Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gbygyLHQpfX0sNjkyMzY5KHQscixlKXsidXNlIHN0cmljdCI7ZS5kKHIse2RlZmF1bHQ6KCk9Pml9KTt2YXIgbj1lKDQwNjQ0OSksbz0xLzA7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4gdD8odD0oMCxuLmRlZmF1bHQpKHQpKT09PW98fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH07Y29uc3QgaT1mdW5jdGlvbih0KXt2YXIgcj11KHQpLGU9ciUxO3JldHVybiByPT1yP2U/ci1lOnI6MH19LDg1Njc3MCh0LHIsZSl7InVzZSBzdHJpY3QiO2UuZChyLHtuYW5vaWQ6KCk9Pm59KTtsZXQgbj0odD0yMSk9PmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpLnJlZHVjZSgoKHQscik9PnQrPShyJj02Myk8MzY/ci50b1N0cmluZygzNik6cjw2Mj8oci0yNikudG9TdHJpbmcoMzYpLnRvVXBwZXJDYXNlKCk6cj42Mj8iLSI6Il8iKSwiIil9fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.288Z","timestamp":1785136429288,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/70656.ce4fb4dfd959eefc84c7.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-9de\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 2b4b87228465e767e53a8221bd53c22f\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2526,"size_decoded":1471,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2526), with no line terminators","md5":"b42a9e7d525b085dd6a8b47f0de67234","sha1":"3f0eec62020fc6a548ca79f106d4977314a8c1fe","sha256":"9dcf914fe1e67e14d06fe012bbdf425fcf085e0e703d42d1f360e3b840a4fc8c","sha512":"c899b211a18c733fd09e7fe54459d19a86b71efb75553f219188672793ad1aba396df2fb87b1e4fafb0dedd93bd4341004cdeb0a9a6339c3183e5a08237c2e3f","ssdeep":"","tlshash":"b8513c88f161b43f2e4f71290318c16c73267591ef820bb9f826f5d401d6feba6a6715","first_seen":"2026-07-20T16:56:18.412108Z","last_seen":"2026-08-11T04:43:23.270619Z","times_seen":244,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTcwMCk7LS1fMS1nNy1yOiMwMDAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTgwMCk7LS1fMS1nNy1yOiMwMDAwfS5mYXZvcml0ZS1Rd0tXU1VtYXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MDtoZWlnaHQ6MjJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O3dpZHRoOjIycHh9LmZhdm9yaXRlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mYXZvcml0ZS1Rd0tXU1VtYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9fS5mYXZvcml0ZS1Rd0tXU1VtYS5kaXNhYmxlZC1Rd0tXU1VtYSwuZmF2b3JpdGUtUXdLV1NVbWEuZGlzYWJsZWQtUXdLV1NVbWE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhdm9yaXRlLVF3S1dTVW1hLmRpc2FibGVkLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX19LmZhdm9yaXRlLVF3S1dTVW1he291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYXZvcml0ZS1Rd0tXU1VtYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhdm9yaXRlLVF3S1dTVW1hOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5mYXZvcml0ZS1Rd0tXU1VtYTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uZmF2b3JpdGUtUXdLV1NVbWEuZm9jdXNlZC1Rd0tXU1VtYTphZnRlcntkaXNwbGF5OmJsb2NrfS5mYXZvcml0ZS1Rd0tXU1VtYS5hY3RpdmUtUXdLV1NVbWF7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKX0uZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hLmFjdGl2ZS1Rd0tXU1VtYTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpKX19LmZhdm9yaXRlLVF3S1dTVW1hLmNoZWNrZWQtUXdLV1NVbWF7Y29sb3I6dmFyKC0tXzAtZzctcil9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/87673.afd101bd973de435fe4a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.837Z","timestamp":1785136429837,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/87673.afd101bd973de435fe4a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58aaad-2ee9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:55:57 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 15e137ba5723b78c6d2702a542888210\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/52509.40659470e51b065d5139.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.853Z","timestamp":1785136429853,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/52509.40659470e51b065d5139.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-c6e6\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:30\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a92ead977cce5a8a5e7e79e2a3f3d74b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/45277.ec6e36193d139c5c5f7b.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.270Z","timestamp":1785136430270,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/45277.ec6e36193d139c5c5f7b.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.025Z","timestamp":1785136422025,"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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit HTTP/1.1\r\nHost: translate.google.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://heavenwealth.org/\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\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 07:13:42 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":2819,"size_decoded":1538,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1654)","md5":"70f9b6af4febd375243ce72fd0e529e7","sha1":"f6647afd27cd8d881659b76f049b5a4668a8afe7","sha256":"ed101174351023654d15c8c55d55eda1428f530dfd7e8b5702a365e60b348aa2","sha512":"1ac5fff4cf29bc440318cccfa1f3c0873b57c5fd26b00a00152c478f24dc9981f3f3b6b2b679c9e66699727d1449851b2776f49f8f883453c9e7cc2d465b86b0","ssdeep":"","tlshash":"815112965872e0dac8436c29dfef913961444037ac25ece57e9cd903ffb060ea64d9d4","first_seen":"2026-07-27T07:02:08.580154Z","last_seen":"2026-07-27T07:46:25.277985Z","times_seen":18,"resource_available":true,"data":"CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgIGlmKCF3aW5kb3dbJ19EdW1wRXhjZXB0aW9uJ10pIHsKICAgICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgICB0aHJvdyBlOwogICAgICAgIH07CiAgICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICAgIH0KCiAgICAgIHZhciBfZ2V0Q2FsbGJhY2tGdW5jdGlvbiA9IGZ1bmN0aW9uKG5hbWUpIHsKICAgICAgICB2YXIgc2VnbWVudHMgPSBuYW1lLnNwbGl0KCcuJyk7CiAgICAgICAgdmFyIHcgPSB3aW5kb3c7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWdtZW50cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgaWYgKCEodyA9IHdbc2VnbWVudHNbaV1dKSkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHc7CiAgICAgIH07CgogICAgICB2YXIgX2xvYWRDc3MgPSBmdW5jdGlvbih1cmwpIHsKICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKICAgICAgICBsaW5rLnR5cGUgPSAndGV4dC9jc3MnOwogICAgICAgIGxpbmsucmVsID0gJ3N0eWxlc2hlZXQnOwogICAgICAgIGxpbmsuY2hhcnNldCA9ICdVVEYtOCc7CiAgICAgICAgbGluay5ocmVmID0gdXJsOwogICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7CiAgICAgIH07CgogICAgICB2YXIgX2xvYWRKcyA9IGZ1bmN0aW9uKHVybCkgewogICAgICAgIHZhciBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOwogICAgICAgIHNjcmlwdC5jaGFyc2V0ID0gJ1VURi04JzsKICAgICAgICBzY3JpcHQuc3JjID0gdXJsOwogICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKICAgICAgfTsKCiAgICAgIC8vIENyZWF0ZSBhIGZ1bmN0aW9uIHNvIHZhcmlhYmxlcyBkbyBub3QgbGVhayBpbnRvIHRoZSBnbG9iYWwgc2NvcGUKICAgICAgdmFyIGluaXRQcm90b0Zsb3cgPSBmdW5jdGlvbigpIHsKICB2YXIgY29uZmlnUHJvdG8gPSBKU09OLnBhcnNlKCdceDViXHgyMm5vXHgyMixceDIyZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXRceDIyLFx4NWIwLDEsMCxceDViXHgyMmVzX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmVuX2phXHgyMixceDIyZW5fZXNceDIyLFx4MjJkZV9lblx4MjJceDVkLG51bGwsXHg1YjAsMywxMDAsXHg1Ylx4MjJlbl9oaVx4MjIsXHgyMmhpX2VuXHgyMixceDIyZW5fZXNceDIyLFx4MjJlc19lblx4MjIsXHgyMmVuX2RlXHgyMixceDIyZGVfZW5ceDIyLFx4MjJlbl96aFx4MjIsXHgyMmVuX2phXHgyMixceDIyZW5fYXJceDIyLFx4MjJlbl9pZFx4MjJceDVkXHg1ZCwwLDEsMFx4NWQsXHgyMlx4MjIsXHgyMlx4MjIsXHgyMnByb2RceDIyLFx4MjJJTkZPXHgyMixudWxsLFx4MjI0OTU4NzEuNjA5ODU2MTM5XHgyMixceDIydHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXHgyMixceDIydHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tXHgyMixudWxsLFx4MjJ0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb21ceDIyLFx4MjJodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tcXHUwMDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVxcdTAwM2RCSUFBQndcL2RcXHUwMDNkMFwvcnNcXHUwMDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVxcdTAwM2RlbF9tYWluX2Nzc1x4MjIsXHgyMnRyYW5zbGF0ZS1wYS5nb29nbGVhcGlzLmNvbVwvdjFcL3N1cHBvcnRlZExhbmd1YWdlc1x4MjIsXHgyMnRyYW5zbGF0ZS5nb29nbGUuY29tXHgyMiwwLG51bGwsbnVsbCxudWxsLFx4MjJodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tcXHUwMDNkdHJhbnNsYXRlX2h0dHAudHIubm8uc2Nyblk2UTJfeXcuT1wvYW1cXHUwMDNkQklBQUJ3XC9kXFx1MDAzZDFcL2VkXFx1MDAzZDFcL3JzXFx1MDAzZEFOOFNQZnExS2xVRnFlaUZ2Qk11ZGR1ekd0YjM5UVdYdXdcL21cXHUwMDNkZWxfbWFpblx4MjIsXHgyMlRFXzIwMjYwNzIyXHgyMlx4NWQnKTsgd2luZG93Wydnb29nbGUnXSA9IHdpbmRvd1snZ29vZ2xlJ10gfHwge307IHdpbmRvd1snZ29vZ2xlJ11bJ3RyYW5zbGF0ZSddID0gd2luZG93Wydnb29nbGUnXVsndHJhbnNsYXRlJ10gfHwge307IHdpbmRvd1snZ29vZ2xlJ11bJ3RyYW5zbGF0ZSddWydfcHJvdG9Db25maWcnXSA9IGNvbmZpZ1Byb3RvO19sb2FkQ3NzKCdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2NzcycpOyBfbG9hZEpzKCdodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIubm8uc2Nyblk2UTJfeXcuT1wvYW1ceDNkQklBQUJ3XC9kXHgzZDFcL2VkXHgzZDFcL3JzXHgzZEFOOFNQZnExS2xVRnFlaUZ2Qk11ZGR1ekd0YjM5UVdYdXdcL21ceDNkZWxfbWFpbicpOwogICAgICB9OwoKICAgICAgaW5pdFByb3RvRmxvdygpOwogICAgfSkoKTsKICA="}},"time_used":91,"timings":{"blocked":-1,"dns":4,"connect":15,"send":0,"wait":38,"receive":0,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/40835.76a1c7923a2c986be9ac.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.268Z","timestamp":1785136429268,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/40835.76a1c7923a2c986be9ac.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-100f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 40ffaf5e81092f5a25b47a18f126af6c\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":4111,"size_decoded":2063,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (4111), with no line terminators","md5":"a6563141742b204a9593bab5b080de7e","sha1":"3f4c1b48e6a44190e1cc78662a5a045968b7f2c0","sha256":"953092909e4c16b8c1cf3e6aeb8c74f01719e08a67a32f223f4407bc30f28b48","sha512":"2093d4a5d1abb74ca9f78354930c29852daa55f3ed0089aba395758d6061f85d41310f06215e141e409b8e5533f6be5dc824ba5bcc72d9a84da0d022feda2f99","ssdeep":"96:ohOKQtBEBWcXTn0kPO+zjGHq41qiDis3nXi:ohOjkBWcXT0km+zjGD1qiDis3Xi","tlshash":"fe81df9772d06e75bd5259adbaac61ac7384dc35ed6300c7b120be3688c53fa0570c2d","first_seen":"2026-07-17T14:15:58.392302Z","last_seen":"2026-08-11T04:43:23.106749Z","times_seen":299,"resource_available":false,"data":"LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1iYWNrZ3JvdW5kQ29sb3IsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSkpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O3BhZGRpbmc6MDt0ZXh0LWFsaWduOnN0YXJ0O3dpZHRoOjEwMCV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCl9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9LmN1c3RvbUxpc3RJdGVtLTlROUZIeXJuOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6NHB4fS5jdXN0b21MaXN0SXRlbS05UTlGSHlybntvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46Zm9jdXN7b3V0bGluZTpub25lfS5jdXN0b21MaXN0SXRlbS05UTlGSHlybjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uY3VzdG9tTGlzdEl0ZW0tOVE5Rkh5cm46YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jbGlja2FibGUtOVE5Rkh5cm46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tYmFja2dyb3VuZENvbG9ySG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KSl9fS53cmFwcGVyLUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXB9LnByaW1hcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS10aXRsZVRleHRDb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkKSk7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSo2cHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSo4cHgpO21pbi1oZWlnaHQ6NDBweDtwYWRkaW5nLWJsb2NrOjhweCA4cHg7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMTBweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjEycHggKyB2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzTW9iaWxlLCAwKSoyMHB4KTtyb3ctZ2FwOjJweDstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemU6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqMyArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjQpOy0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLXNpemUsMykpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTtmb250LXNpemU6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoxNnB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwKTtsaW5lLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjI0cHgpfS5zZWNvbmRhcnlUaXRsZVdyYXBwZXItS1VpdHN0cEp7Y29sb3I6dmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXRpdGxlU2Vjb25kYXJ5VGV4dENvbG9yLHZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKSk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtyb3ctZ2FwOjA7dGV4dC1hbGlnbjpzdGFydDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjExcHg7Y29sdW1uLWdhcDo2cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOi40cHg7bWluLWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSoyNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMzJweCk7cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc0Rlc2t0b3AsIDEpKjhweCArIHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjE2cHgpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uc2Vjb25kYXJ5VGl0bGVXcmFwcGVyLUtVaXRzdHBKIC50aXRsZS1LVWl0c3RwSnttaW4taGVpZ2h0OmNhbGModmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTZweCk7cGFkZGluZzpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNNb2JpbGUsIDApKjRweCkgMH0uY29udGVudC1LVWl0c3RwSnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlfS5sZWZ0LUtVaXRzdHBKe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6NHB4O3dpZHRoOjI4cHh9LndpdGhMZWZ0U2xvdC1LVWl0c3RwSntwYWRkaW5nLWJvdHRvbTo2cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqNHB4ICsgdmFyKC0tdWktbGliLWluLWxpc3RJdGVtLXNpemVJc01vYmlsZSwgMCkqMTJweCk7cGFkZGluZy10b3A6NnB4fS50aXRsZS1LVWl0c3RwSntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNwYWNlLUtVaXRzdHBKe2ZsZXg6MX0uaWNvbi1LVWl0c3RwSntkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItaW4tbGlzdEl0ZW0tc2l6ZUlzRGVza3RvcCwgMSkqLTFweCk7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1pbi1saXN0SXRlbS1zaXplSXNEZXNrdG9wLCAxKSotMXB4KTt3aWR0aDoxOHB4fQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:14:01.015Z","timestamp":1785136441015,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"POST /element/log?format=json\u0026hasfast=true\u0026authuser=0 HTTP/1.1\r\nHost: translate.googleapis.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://heavenwealth.org/\r\nX-Goog-AuthUser: 0\r\nContent-Encoding: gzip\r\nContent-Type: application/binary\r\nContent-Length: 284\r\nOrigin: https://heavenwealth.org\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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":403,"data":"\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003ÝTÍnÃ \f~\u0017Î´Å\u0004Jè-M¶ (B*J\"!Rµ¬öô,­MÕÖÛ6dYØ|ø\u0007\u001b+\u0005Ø¿8÷c¦\u001eC3L´Ö\u0018r\u0001X)\u00109lË2\"\u0005ýæ*zÌÓa5òC~A Å\u003e®Q°ñéjôT¬ö\u0015/W¸ÛÓr%\u000b Ï(2É\bT5êB8wMgÍÅúWk\\èÖÃ©½V B\u0012P'ùE2¾5¡\u001füè±£7X¢\u0011\u0005d\\Wfez_\u00018g|yÌ\u0026{dDQüYH@¶$\u003cª0\u0007\u0010\u003c~Á\u0018t8\u0019v\u0026ØÝÑ´¶q94ahzßÞ¸þÍ\u001eR\u0016K»r.}8ÖiÍ[ôË\b!÷ë\u0004i\u001aLc ¥$õ;øÚý\u0004\u0000\u0000"}},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://heavenwealth.org\r\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 07:14:01 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":131,"size_decoded":577,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-08-11T11:50:15.518664Z","times_seen":586698,"resource_available":false,"data":"WyItMSIsbnVsbCxbW1siQU5EUk9JRF9CQUNLVVAiLDBdLFsiQkFUVEVSWV9TVEFUUyIsMF0sWyJTTUFSVF9TRVRVUCIsMF0sWyJUUk9OIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHsiMTc1MjM3Mzc1IjpbMTAwMDBdfV0="}},"time_used":38,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1x4gaVc.ttf","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.336Z","timestamp":1785136427336,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1x4gaVc.ttf HTTP/1.1\r\nHost: heavenwealth.org\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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/assets/css/css.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"binarymate.com/assets/landing/platform-tiny/css/font-awesome.min.css","fqdn":"binarymate.com","domain":"binarymate.com","tld":"com"},"ip":{"addr":"104.21.14.234","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://binarymate.com/en/tyni-platform?r=nullplatform","date":"2026-07-27T07:13:47.778Z","timestamp":1785136427778,"http_version":"HTTP/3","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":"binarymate.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sun, 14 Jun 2026 17:48:17 GMT","end":"Sat, 12 Sep 2026 18:48:16 GMT"},"fingerprint":{"sha1":"26:CD:F2:69:FE:7F:C6:01:56:78:36:8F:A3:D6:FB:30:04:43:72:C0","sha256":"84:94:E9:41:71:FF:C7:FC:0D:D1:FE:9F:61:E9:EB:27:62:B3:01:D9:AA:F6:35:FB:C6:FA:4A:CE:9B:16:0B:7E"}}},"request":{"raw":"GET /assets/landing/platform-tiny/css/font-awesome.min.css HTTP/1.1\r\nHost: binarymate.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://binarymate.com/en/tyni-platform?r=nullplatform\r\nCookie: laravel_session=QOapURnxPwdKtv1kk6RBBcYLYE5jdSNNTQzRTBDt\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/3 200 \r\npriority: u=2,i=?0\r\ncontent-type: text/css\r\ndate: Mon, 27 Jul 2026 07:13:47 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Thu, 12 May 2016 06:50:27 GMT\r\nserver: cloudflare\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qButa2ww30biPu3t3QsDJph2dvD0NwVJuWmpf3vxBUFNj6JAMA8wbCjhJnVOt2kqZ3r3J%2FWES1mc2R5zLzPrkLT3A5HTPIhT0CcHGR2poB5Y7EXwlC61bNRIgsFo17b%2F%2BA%3D%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\netag: W/\"573427b3-7056\"\r\ncf-ray: a219d7f1ab370daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":28758,"size_decoded":7524,"mime_type":"text/css","magic":"ASCII text, with very long lines (28596)","md5":"295235b28b6e649d99539a9d32b95d30","sha1":"da07571f53188bbea0acd96d774ac38b8f4e0e42","sha256":"362ae4d51c05c9c741214bb98169e3b1b8a502fe09a380a93fa8b2c566e67e9a","sha512":"cadf26ff8bd82bf10612e50c790726cb647953a2f9b44af42e67b4e75441d10d6e1966b12fb28bd4ad8c2c03c2035c40ec9ef86174514f0180dd527531e5983b","ssdeep":"384:2u5yWeTUKW+KlkJ5de2UYmydfwYUas8l8yQ/8dw3E:Zlr+Klk3YlKfwYUf8l8yQ/eh","tlshash":"68d240e8e54c01d66731c48bff81b36862b6fb3dd5814d99f01f690c29d22a522c5fba","first_seen":"2023-04-07T16:36:39Z","last_seen":"2026-08-10T18:26:39.677905Z","times_seen":341,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC42LjEgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC42LjEnKTtzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjYuMScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjYuMScpIGZvcm1hdCgnd29mZjInKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNi4xJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNi4xJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjYuMSNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlcjpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OiJcZjFkMCJ9LmZhLWdlOmJlZm9yZSwuZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWdpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQyIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLC5mYS15Yy1zcXVhcmU6YmVmb3JlLC5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDoiXGYxZDQifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OiJcZjFkNiJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ4In0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDoiXGYxZDkifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OiJcZjFkYiJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGYxZGMifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDoiXGYxZTMifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDoiXGYxZTUifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OiJcZjFlNiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjFlOCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWU5In0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYxZWIifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZjFlZSJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxmMWYwIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxZjEifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDoiXGYxZjIifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OiJcZjFmMyJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZjQifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWY1In0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjYifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWY3In0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY4In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWZjIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjFmZSJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDoiXGYyMDIifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjIwMyJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMjA0In0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OiJcZjIwNSJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYnVzOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjA4In0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OiJcZjIwYSJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDoiXGYyMGMifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9LmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZXtjb250ZW50OiJcZjIwZSJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS1tb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIxYyJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uZmEtaW50ZXJzZXg6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjI1In0uZmEtdmVudXMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLXZlbnVzLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjI4In0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZXtjb250ZW50OiJcZjIzMCJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS11c2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM0In0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS1ob3RlbDpiZWZvcmUsLmZhLWJlZDpiZWZvcmV7Y29udGVudDoiXGYyMzYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEteWM6YmVmb3JlLC5mYS15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjNiIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGYyM2MifS5mYS1vcGVuY2FydDpiZWZvcmV7Y29udGVudDoiXGYyM2QifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtYmF0dGVyeS00OmJlZm9yZSwuZmEtYmF0dGVyeS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZjI0MCJ9LmZhLWJhdHRlcnktMzpiZWZvcmUsLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjQxIn0uZmEtYmF0dGVyeS0yOmJlZm9yZSwuZmEtYmF0dGVyeS1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI0MiJ9LmZhLWJhdHRlcnktMTpiZWZvcmUsLmZhLWJhdHRlcnktcXVhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYyNDMifS5mYS1iYXR0ZXJ5LTA6YmVmb3JlLC5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjI0NCJ9LmZhLW1vdXNlLXBvaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ1In0uZmEtaS1jdXJzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ2In0uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0NyJ9LmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0OCJ9LmZhLXN0aWNreS1ub3RlOmJlZm9yZXtjb250ZW50OiJcZjI0OSJ9LmZhLXN0aWNreS1ub3RlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjRhIn0uZmEtY2MtamNiOmJlZm9yZXtjb250ZW50OiJcZjI0YiJ9LmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZXtjb250ZW50OiJcZjI0YyJ9LmZhLWNsb25lOmJlZm9yZXtjb250ZW50OiJcZjI0ZCJ9LmZhLWJhbGFuY2Utc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjRlIn0uZmEtaG91cmdsYXNzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjUwIn0uZmEtaG91cmdsYXNzLTE6YmVmb3JlLC5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUxIn0uZmEtaG91cmdsYXNzLTI6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNTIifS5mYS1ob3VyZ2xhc3MtMzpiZWZvcmUsLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjUzIn0uZmEtaG91cmdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjI1NCJ9LmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSwuZmEtaGFuZC1yb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU1In0uZmEtaGFuZC1zdG9wLW86YmVmb3JlLC5mYS1oYW5kLXBhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU2In0uZmEtaGFuZC1zY2lzc29ycy1vOmJlZm9yZXtjb250ZW50OiJcZjI1NyJ9LmZhLWhhbmQtbGl6YXJkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjU4In0uZmEtaGFuZC1zcG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjI1OSJ9LmZhLWhhbmQtcG9pbnRlci1vOmJlZm9yZXtjb250ZW50OiJcZjI1YSJ9LmZhLWhhbmQtcGVhY2UtbzpiZWZvcmV7Y29udGVudDoiXGYyNWIifS5mYS10cmFkZW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMjVjIn0uZmEtcmVnaXN0ZXJlZDpiZWZvcmV7Y29udGVudDoiXGYyNWQifS5mYS1jcmVhdGl2ZS1jb21tb25zOmJlZm9yZXtjb250ZW50OiJcZjI1ZSJ9LmZhLWdnOmJlZm9yZXtjb250ZW50OiJcZjI2MCJ9LmZhLWdnLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyNjEifS5mYS10cmlwYWR2aXNvcjpiZWZvcmV7Y29udGVudDoiXGYyNjIifS5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZXtjb250ZW50OiJcZjI2MyJ9LmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjI2NCJ9LmZhLWdldC1wb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjY1In0uZmEtd2lraXBlZGlhLXc6YmVmb3Jle2NvbnRlbnQ6IlxmMjY2In0uZmEtc2FmYXJpOmJlZm9yZXtjb250ZW50OiJcZjI2NyJ9LmZhLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGYyNjgifS5mYS1maXJlZm94OmJlZm9yZXtjb250ZW50OiJcZjI2OSJ9LmZhLW9wZXJhOmJlZm9yZXtjb250ZW50OiJcZjI2YSJ9LmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZjI2YiJ9LmZhLXR2OmJlZm9yZSwuZmEtdGVsZXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGYyNmMifS5mYS1jb250YW86YmVmb3Jle2NvbnRlbnQ6IlxmMjZkIn0uZmEtNTAwcHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjZlIn0uZmEtYW1hem9uOmJlZm9yZXtjb250ZW50OiJcZjI3MCJ9LmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzEifS5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MiJ9LmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjczIn0uZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNzQifS5mYS1pbmR1c3RyeTpiZWZvcmV7Y29udGVudDoiXGYyNzUifS5mYS1tYXAtcGluOmJlZm9yZXtjb250ZW50OiJcZjI3NiJ9LmZhLW1hcC1zaWduczpiZWZvcmV7Y29udGVudDoiXGYyNzcifS5mYS1tYXAtbzpiZWZvcmV7Y29udGVudDoiXGYyNzgifS5mYS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjc5In0uZmEtY29tbWVudGluZzpiZWZvcmV7Y29udGVudDoiXGYyN2EifS5mYS1jb21tZW50aW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjdiIn0uZmEtaG91eno6YmVmb3Jle2NvbnRlbnQ6IlxmMjdjIn0uZmEtdmltZW86YmVmb3Jle2NvbnRlbnQ6IlxmMjdkIn0uZmEtYmxhY2stdGllOmJlZm9yZXtjb250ZW50OiJcZjI3ZSJ9LmZhLWZvbnRpY29uczpiZWZvcmV7Y29udGVudDoiXGYyODAifS5mYS1yZWRkaXQtYWxpZW46YmVmb3Jle2NvbnRlbnQ6IlxmMjgxIn0uZmEtZWRnZTpiZWZvcmV7Y29udGVudDoiXGYyODIifS5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjgzIn0uZmEtY29kaWVwaWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg0In0uZmEtbW9keDpiZWZvcmV7Y29udGVudDoiXGYyODUifS5mYS1mb3J0LWF3ZXNvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjg2In0uZmEtdXNiOmJlZm9yZXtjb250ZW50OiJcZjI4NyJ9LmZhLXByb2R1Y3QtaHVudDpiZWZvcmV7Y29udGVudDoiXGYyODgifS5mYS1taXhjbG91ZDpiZWZvcmV7Y29udGVudDoiXGYyODkifS5mYS1zY3JpYmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjhhIn0uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4YiJ9LmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI4YyJ9LmZhLXN0b3AtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4ZCJ9LmZhLXN0b3AtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjhlIn0uZmEtc2hvcHBpbmctYmFnOmJlZm9yZXtjb250ZW50OiJcZjI5MCJ9LmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGYyOTEifS5mYS1oYXNodGFnOmJlZm9yZXtjb250ZW50OiJcZjI5MiJ9LmZhLWJsdWV0b290aDpiZWZvcmV7Y29udGVudDoiXGYyOTMifS5mYS1ibHVldG9vdGgtYjpiZWZvcmV7Y29udGVudDoiXGYyOTQifS5mYS1wZXJjZW50OmJlZm9yZXtjb250ZW50OiJcZjI5NSJ9LmZhLWdpdGxhYjpiZWZvcmV7Y29udGVudDoiXGYyOTYifS5mYS13cGJlZ2lubmVyOmJlZm9yZXtjb250ZW50OiJcZjI5NyJ9LmZhLXdwZm9ybXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjk4In0uZmEtZW52aXJhOmJlZm9yZXtjb250ZW50OiJcZjI5OSJ9LmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjlhIn0uZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjliIn0uZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjljIn0uZmEtYmxpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjlkIn0uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjllIn0uZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmEwIn0uZmEtYnJhaWxsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3Jle2NvbnRlbnQ6IlxmMmEyIn0uZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsLmZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZXtjb250ZW50OiJcZjJhMyJ9LmZhLWRlYWZuZXNzOmJlZm9yZSwuZmEtaGFyZC1vZi1oZWFyaW5nOmJlZm9yZSwuZmEtZGVhZjpiZWZvcmV7Y29udGVudDoiXGYyYTQifS5mYS1nbGlkZTpiZWZvcmV7Y29udGVudDoiXGYyYTUifS5mYS1nbGlkZS1nOmJlZm9yZXtjb250ZW50OiJcZjJhNiJ9LmZhLXNpZ25pbmc6YmVmb3JlLC5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9LmZhLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uZmEtdmlhZGVvOmJlZm9yZXtjb250ZW50OiJcZjJhOSJ9LmZhLXZpYWRlby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFhIn0uZmEtc25hcGNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmFiIn0uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmFjIn0uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhZCJ9LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjB9LnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwuc3Itb25seS1mb2N1c2FibGU6Zm9jdXN7cG9zaXRpb246c3RhdGljO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtjbGlwOmF1dG99"}},"time_used":101,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":99,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"binarymate.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/44031.2691fc2c3468293bfd16.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.422Z","timestamp":1785136428422,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/44031.2691fc2c3468293bfd16.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1ff-90\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:17:35 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:26\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b90ae0fb565b69a1564a190a523ad80d\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":144,"size_decoded":886,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"669466b98876123099594e1a8ff0556e","sha1":"f7b7d85273ef4a6de745e7d1977d6eaeb4e25f41","sha256":"634134c6e0cfe9953231051ead0975df8ee84bfbd6df8222218fdea0f1b04497","sha512":"ecd87db6f1f0eb9c5d7b76d4b2a7f4dbff140856b0addb002e166951b7c534f59c42c8acf7638bb7b769ecbb39022454b989196dfe7b376e759e63163119856f","ssdeep":"","tlshash":"48c02b8871c0302aba0f312ac33cc55830301940ec001f6a992de4f288c0fda13e2f39","first_seen":"2026-07-23T14:00:31.42266Z","last_seen":"2026-07-28T06:17:53.407807Z","times_seen":381,"resource_available":false,"data":"LnNlcGFyYXRvci1LSHR5TVRZR3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtZGl2aWRlci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yKSk7aGVpZ2h0OjFweDttYXJnaW46NnB4IDB9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1975.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.652Z","timestamp":1785136428652,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1975.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 686\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 02 Sep 2025 10:45:46 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 06:00:00 GMT\r\ncache-control: public, max-age=86400\r\netag: \"c0a4d73d0d9cd1d396e0c5e41d1b91b4\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 4429\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: bmlFeeTXjSS899FnwmUieDeoFWqkflLswbaflbSwuHZrnCYT0N1bXQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":686,"size_decoded":1256,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"c0a4d73d0d9cd1d396e0c5e41d1b91b4","sha1":"aab369900cddbdb59108c4d1f6d6c1f249d4a2f6","sha256":"8bbcb500ccd5e389ab9d84bf228d0813da46ade54ce6592cd9e8cb86635cfe9d","sha512":"9c4fe111c72a0a7b8ec61c8d4341db40dd9ff8fb32416144c80170316d9a784458447ef3172b0391e326acb4066203c9f3cb85cb436295b2c26c57c6f141a51a","ssdeep":"","tlshash":"9101440748af7bc09f8b0713a31af5a024d333144ea5974a606acd3a3b74a24424eb36","first_seen":"2025-08-31T20:43:13.109147Z","last_seen":"2026-08-11T04:47:30.185312Z","times_seen":1578,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACdUlEQVR4Xt3bPVIbURBFYTIrZAleCpFR6B3ZO2MpLMEZE2IpkEv+WlTPT0/PSKfqJDC3+74iGEE9np425PA6fJ716w/Pt9ePP5fDX+tzD4mHVp9/GDxopvm7xYNN1Xl3w6n8m4dZ4Lvzd8vzz8/nGwco0V27w8Jr6d7NsWCX9mjn8GP4Zal2Tx3s1UIosrH2Ww0X7037luGivWv/2Rxq3+fdLvv8cGNgncfh5d+e4/A9fL/QqyONwwHVuu+Cz1XrvpsYqtRdX2GuUncFDFTojrE4p0J3BAws8jj8dv5UzjPC3AU6P2Bgrs5divPn6tyAgak6rxr3TdV5AQNjdc7auH+szgkYSL16n3cz5/ODMwIGMs13Y59M8wEDmea7sU+m+YCBTPPd2CfTfMBApvlu7JNpPmAg03w39sk0HzCQab4b+2SaDxjINN+NfTLNBwxkmu/GPpnmAwYyzXdjn0zzAQOZ5ruxT6b5gIFM893YJ9N8wECm+W7sk2k+YCDTfDf2yTQfMJBpvhv7ZJoPGMg03419Ms0HDGSa78Y+meYDBjLNd2OfTPMBA5nmu7FPpvmAgdRt/yT2EvokOiNgYKzOWRv3j9U5AQNTdV417puq8wIG5urcpTh/rs4NGFhkwf2d6ntIzg8YqNAdY3FOhe4IGKjUXV9hrlJ33cRQte678NU1+irdl+KAUv+/IjP5fT7FqyNN5zTg3YF343F48zyzCcN3rv3LcNHetO9quHhr7ddC9f2dWRbcQ1pMKNWkPTbHgmvp3t1h4SrP/47jrt1yqPz8UPk+7yYcZqLOu1s8WKb5h8GDqs8/JB767Pk3QZ97ePbwU/8LaXkIU/qPRM8AAAAASUVORK5CYII="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/37263.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.658Z","timestamp":1785136428658,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/37263.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 883\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 01:05:15 GMT\r\nlast-modified: Wed, 05 Nov 2025 15:32:22 GMT\r\netag: \"a60b84a23311e94dc9543f6771260fa7\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 22114\r\nx-amz-cf-id: 88ExVI6yEp8rpi5kJwuIELoXvo23bwSQCRxKHgW_-iqmbk1Wh1lC0w==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":883,"size_decoded":1437,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"a60b84a23311e94dc9543f6771260fa7","sha1":"e03b7af49201253d5e48542bfb0798ba71081069","sha256":"5eca3513dd3837f14f06e5603655876ac742f3f3663a99d27f6c10e22fdb9945","sha512":"54ae626d5b2b00c62327adbf6b8dded0e541e922c355df193ea5ae6866b93b000aee91962ca0537b5646708c09e1b3af53342cbd6258bb4492d99065ec4a4f64","ssdeep":"","tlshash":"8d11e6e3ebd044a2327574c2b7293d22691388be6d9333ccb0449fb301b9328da8e480","first_seen":"2026-03-04T08:47:10.827995Z","last_seen":"2026-08-11T04:47:30.083594Z","times_seen":1529,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADOklEQVR4XtWbsW5TQRBFI5CoKSkJJTUlEuIHQHwAAr4AeioKWuiwqcKf5CtS09BbgCXKJWvpWevjmd2Z3X3P6ysdKRrvzNw7SkEUcnGxoP6GVbDAvrNUCFf3GayWOIvzhxXN94b7hhGNzg33n0w0tjT0s5ho5NTQ36zi8lGgz+76F1YPuXQ0okf67iIuquXunXsHX0+wxj4v9N8kDq8hDSsF1mqv3z09mmWFOarEoR5ywbS6VEvrXpjHpW1Yv+dAD1IALVipxs+sbMP3N8xlFodZ0UJINa0u1fiZFeYyiUOsSEZLNa0u1fiZFebLis0eLh89EI2WajVwdwnmVMVGC9HQzc/Pu69HPQJzimKThdSQ5wi9oJ8czHugP2H1lg05UgOpodwRaL4X9KbxO3z7wNx78XEOaXla044wJ/Sowdx78aEGF6fL09qoR2DunfhIIxdmepPW4hH47sWrJ0dzpV4vnJWD+c0HkBaWal5zKZwj8fHTy6O+Es3hGUyrcUYt3NsSfsJ1AOlbWQrMWk+4tyV8xHUALifSO87oRY/wka4H4BHYPyLN4aXP2Ds6zQeQPmf/yDQdQDsC+0em+QDSEdg/Ml0OwCOwf2S6HeDcgk80H4Cfs3d0mg9w7kfodoD0HftHpssBeAT2j0y3A5xb8AnTASIMq8G+0Wn+eUCCvaPS/afBJY7w7PnjbjtcB4gwZAn2t8L5rTvcB/i1+XJkoARn1MK5PXbsD+A5Apdb4RwrnKPBvhIH4T0HiHB5DZwZqfkOK83UYP7bA6yv+SgHl48CfSpcM/9OwsMsXN4b7x7602DuvfjQAk30xrqHvnIw94H42ALNtCDNK+2hnxzMeyTvr8gnaKoWbV6pbiFmY15RbLRCUzQrIb2ValKd+0swZ1ZstkJzuQC5ulSrCT3BfEVtwtfqv/igWSmAFqxUqznCpvYvTjjIA81KAbRguRr3WGAulzjMixRCq2l1zvTAPFXiUC/Tf5WJSMFyR+AsD8zRJA5vQQs7kR6sFvrvIi4ZFfruqs3AfzUSvdHvbOLyU0N/i+j2n5Y/aGRptmF9RV+Li6aWgj5OLhqcC+4dUjTdCuefnRioBPvn0n82a2XLrkAq2gAAAABJRU5ErkJggg=="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/89558.981a34b19b41fad92b88.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.279Z","timestamp":1785136429279,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/89558.981a34b19b41fad92b88.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b76-c3\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:26 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 898184a759c31cab2354c65bbbb88dcd\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":195,"size_decoded":932,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"410a8b9d87cc2ecdb1762f6faf3cc95a","sha1":"6fa79aed8ba671c381c159a6cf58ecd4afaddd28","sha256":"6c42b7faa9d27cd5c4519b25964d772df0a712b26fad344745281fbae47e5f37","sha512":"b423d86dd53668cab2b9d0e14f3f341f1ecfaf51807bef6e904ae841cb69e6389178811eaeeac75cf57bf6a1c261318322a7886855a12a5c5fd11906a1ec09ff","ssdeep":"","tlshash":"78d012fa0423ae153a337e2b4a6d674246c5cad3c1065add8e203a7557cf99208d06d6","first_seen":"2024-11-30T11:35:58.666665Z","last_seen":"2026-08-11T04:43:23.069172Z","times_seen":1258,"resource_available":false,"data":"LmVtb2ppLUJzRVJHY1oxe2Rpc3BsYXk6YmxvY2t9LmNsZWFyQnV0dG9uLUJzRVJHY1oxe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbGVhckJ1dHRvbi1Cc0VSR2NaMSwuZW1vamktQnNFUkdjWjF7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/strong-sell-arrow.ac0c55593f3b0a84d4da.svg","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:50.284Z","timestamp":1785136430284,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/strong-sell-arrow.ac0c55593f3b0a84d4da.svg HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/static/bundles/embed/31396.dada17abc4adbf073139.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: _sp_ses.6222=*; _sp_id.6222=.1785136430.1.1785136430..e10326a9-5e0a-4b24-bb1b-ef5e2ad69273..b8a217f6-bdbb-4762-8027-7add5bfbfb8e.1785136429729.1\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/49518.081f9637b94ee62a6e6f.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.708Z","timestamp":1785136427708,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/49518.081f9637b94ee62a6e6f.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-14e9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 91061205579d114dd7655d0edbb9a779\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5353,"size_decoded":1929,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5353), with no line terminators","md5":"d7a9f60b8ae2b7f3ca613c9e5b32c1be","sha1":"96edacc2eaf0e2cf90be1c863bcdf71fce951db7","sha256":"62105e79933d1412be7816bc118e665a99e90c3d846b5e3282d35372ec43018a","sha512":"be8a4d2d71a8547c7dd2aa502370f205f86911c5def4816629a2da7cd82f3786e92dd78ecc49e89a9af136891ed67fb875ef4fcddcc07ccc31b5f51d430f4da3","ssdeep":"48:DVGIKVGI0GIKZGIpGIoVGIRGIqGIuGIjVGI0QVGIZGITZGI0LGI06GIHGI8GI/G7:D81CWQbawWxrGn5W+orw57Ur6Mpk98","tlshash":"12b1f676e8201aa675ba5a192380fad45034d022bf219ffff3c568168dcf1c6789381d","first_seen":"2026-03-24T10:46:27.490841Z","last_seen":"2026-08-11T04:47:30.201628Z","times_seen":1946,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":65,"timings":{"blocked":-1,"dns":23,"connect":2,"send":0,"wait":9,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/84265.4c6d8f772d538f528598.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.409Z","timestamp":1785136429409,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/84265.4c6d8f772d538f528598.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a9-3ec9\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:09 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:28\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: fe1e6d67c3fa2fdf78e4eaacfaec2bdd\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":16073,"size_decoded":6405,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"aaa159536c7d981785f51eb8ba67db93","sha1":"5784ebe9400e2e22025fd79e968d64297da6cd0a","sha256":"ef93d4903275fc451f34833321771914711245c75400304160edb454f5cea2f6","sha512":"8251e335dab75314acec8c4fb0be5d55dcb1ba3f7875695b4234c7c902ce169087b041112ff620a936d0113202ccb19fb57930b21765a24faa342177cd37e569","ssdeep":"384:FrWj47HRZhjkj+bEvcxXXws4gNwVb86wxR2ViPzhvUel2HOU2s6nSSf05r:FBHRZhYjIHP4gNwVYXxR2QP9vUel2Hth","tlshash":"5972c624f2b4ac666bb352ed4ef543835d9c4c82de5109befaa908cf195c5083379b39","first_seen":"2026-07-23T14:00:31.621457Z","last_seen":"2026-07-28T06:17:53.448224Z","times_seen":85,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbODQyNjVdLHs5OTAwNjAoZSx0LHMpe2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm57c3RhcnQ6TWF0aC5taW4oZS5zdGFydCx0LnN0YXJ0KSxlbmQ6TWF0aC5tYXgoZS5lbmQsdC5lbmQpfX1mdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDA9PT1lP2U6QXJyYXkuZnJvbShlKX1zLmQodCx7YXJyYXlGcm9tU2V0OigpPT5yLG1lcmdlVHBvUHJpY2VSYW5nZXM6KCk9Pml9KX0sNjg0MjY1KGUsdCxzKXt2YXIgaTtzLmQodCx7VHBvU3R1ZHlCYXNlOigpPT5VLGV4dGVuZGluZ0lucHV0SWRzOigpPT5FfSksZnVuY3Rpb24oZSl7ZVtlLlYxPTFdPSJWMSIsZVtlLlYyPTJdPSJWMiJ9KGl8fChpPXt9KSk7dmFyIHI9cygzMDQyMjEpLG89cygxMzg2MzgpLGE9cyg5NTI5MDApLGw9cygyMjEwNjEpLG49cygxNDUzODEpLGM9cygxODUyNzEpLGQ9cyg1NzA2MDMpLHU9cyg3NjUxNzMpLHA9cygyMDU2MTEpLGg9cyg5NDM5NSksbT1zKDE5NzI3MiksZz1zKDc2ODI5MiksXz1zKDc5ODM4KSxTPXMoMTI4OTk4KSx3PXMoNTA3NjA0KTtjb25zdHtjb2xvckNvbGRHcmF5MjAwOnksY29sb3JDb2xkR3JheTkwMDpQLGNvbG9yRGVlcEJsdWVBMjAwOlQsY29sb3JEZWVwQmx1ZUE3MDA6Yixjb2xvckdyYXBlc1B1cnBsZUEyMDBBbHBoYTE1OkEsY29sb3JTa3lCbHVlNDAwQWxwaGE1MDp2LGNvbG9yU2t5Qmx1ZTQwMEFscGhhNzU6Q309dy5jb2xvcnMsUj17cG9jOltQLHldLHBvb3JIaWdoOltiLFRdLHBvb3JMb3c6W2IsVF0sc2luZ2xlcHJpbnRzOltBLEFdLHZhaDpbUCx5XSx2YWw6W1AseV0sdmFsdWVzOltQLHldLHZwVmFoOltQLHldLHZwVmFsOltQLHldLHZwUG9jOltQLHldLHZvbHVtZUNvbG9yOlt2LHZdLHZhbHVlQXJlYUNvbG9yOltDLENdfTtsZXQgZj1udWxsO3ZhciBNPXMoOTg0Mzc2KSxWPXMoNDAzODE3KSxrPXMoOTkwMDYwKSx4PXMoNTg4ODcwKSxJPXMoODc0NjApLEI9cyg1NDIxOTIpO2NsYXNzIE8gZXh0ZW5kcyB4LlN1bW1hcnlQYW5lVmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCl9X2N1dE9mZkxhc3RDb2x1bW4oKXtyZXR1cm4hMX1fZ2V0RGF0YVNvdXJjZUZvclN1bW1hcnkoKXtyZXR1cm4gdGhpcy5fbW9kZWwuZGF0YVNvdXJjZUZvcklkKEIudHBvU3VtbWFyeURhdGFTb3VyY2VJZCl9X2dldFN1bW1hcnlDb2x1bW5SZW5kZXJlckRhdGEoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCksaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxyPXRoaXMuX3N0dWR5LG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKSxhPW8uc3VtbWFyeS5jaGlsZHMoKS5pbmZvQmxvY2tzLmNoaWxkcygpLGw9by5sZXZlbHMuY2hpbGRzKCkuaW5pdGlhbEJhbGFuY2VSYW5nZS5jaGlsZHMoKSxuPW5ldyBNLlZvbHVtZUZvcm1hdHRlcixjPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5mb3JtYXR0ZXIoKSxkPWU9PmMuZm9ybWF0KGUpLHU9bmV3IFYuTG9naWNhbFJhbmdlKHQubGVmdCgpLTUsdC5yaWdodCgpKzUpLHA9W10saD0uNSppLmJhclNwYWNpbmcoKTtmb3IoY29uc3RbdCxvXW9mIHMudHBvcygpKXtjb25zdCBjPXMudHBvU3VtbWFyeUluZm8oKS5nZXQodCk7QXJyYXkuZnJvbShvKS5zb3J0KCgoZSx0KT0+ZS5maXJzdEJhclRpbWUtdC5maXJzdEJhclRpbWUpKS5mb3JFYWNoKChvPT57aWYoIXUuY29udGFpbnMoby5maXJzdEJhclRpbWUpJiYhdS5jb250YWlucyhvLmxhc3RCYXJUaW1lKSlyZXR1cm47Y29uc3QgbT1BcnJheS5mcm9tKGM/LmdldChvLmlkKT8/W10pLGc9bVttLmxlbmd0aC0xXTtpZighZylyZXR1cm47Y29uc3R7aW5pdGlhbEJhbGFuY2VIaWdoOl8saW5pdGlhbEJhbGFuY2VMb3c6Uyxpbml0aWFsQmFsYW5jZVJhbmdlOnd9PWEseT17dmFoUHJpY2U6ZChnLnZhaFByaWNlKSx2YWxQcmljZTpkKGcudmFsUHJpY2UpLHBvY1ByaWNlOmQoZy5wb2NQcmljZSl9LFA9Xy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCksVD1TLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSxiPXcuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpO2lmKFB8fFR8fGIpe2NvbnN0IGU9KDAsay5hcnJheUZyb21TZXQpKHMudHBvQmxvY2tTZXRzKCkuZ2V0KHQpPy5nZXQoby5pZCkpO2lmKHZvaWQgMCE9PWUpe2NvbnN0IHQ9ci5jYWxjdWxhdGVJbml0aWFsQmFsYW5jZVByaWNlUmFuZ2UoZSxvLnByaWNlUmFuZ2UsbCk7eS5pbml0aWFsQmFsYW5jZUhpZ2g9dD9kKHQuZW5kKToi4oCUIix5LmluaXRpYWxCYWxhbmNlTG93PXQ/ZCh0LnN0YXJ0KToi4oCUIix5LmluaXRpYWxCYWxhbmNlUmFuZ2U9dD9kKHQuZW5kLXQuc3RhcnQpOiLigJQifX15LnJvdGF0aW9uRmFjdG9yPWcucm90YXRpb25GYWN0b3IudG9TdHJpbmcoKSx5LmhsUmFuZ2U9ZChnLmhsUmFuZ2UpLHkudmFSYW5nZT1kKGcudmFSYW5nZSkseS50b3RhbFZvbHVtZT1uLmZvcm1hdChnLnRvdGFsVm9sdW1lKSx5LnRwb0NvdW50VG90YWw9Zy50cG9Db3VudFRvdGFsLnRvU3RyaW5nKCkseS50cG9Db3VudEFib3ZlUG9jPWcudHBvQ291bnRBYm92ZVBvYy50b1N0cmluZygpLHkudHBvQ291bnRCZWxvd1BvYz1nLnRwb0NvdW50QmVsb3dQb2MudG9TdHJpbmcoKTtjb25zdCBBPUkudHBvUm93VGl0bGVzLm1hcCgoZT0+ZS5wcm9wTmFtZSkpLmZpbHRlcigoZT0+YVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9Pih7dGV4dDp5W2VdfSkpKSx2PWkuaW5kZXhUb0Nvb3JkaW5hdGUoby5maXJzdEJhclRpbWUpLWgsQz1NYXRoLnJvdW5kKHYqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyksUj1pLmluZGV4VG9Db29yZGluYXRlKG8ubGFzdEJhclRpbWUpK2gsZj1NYXRoLnJvdW5kKFIqZS5ob3Jpem9udGFsUGl4ZWxSYXRpbyk7cC5wdXNoKHtsZWZ0OkMscmlnaHQ6Zixyb3dzOkF9KX0pKX1yZXR1cm4gcH19dmFyIE49cyg3NDU1NjkpO2NsYXNzIEYgZXh0ZW5kcyBOLlN1bW1hcnlXaWRnZXRTaWRlQXJlYVZpZXd7X2dldERhdGFTb3VyY2VGb3JTdW1tYXJ5KCl7CnJldHVybiB0aGlzLl9tb2RlbC5kYXRhU291cmNlRm9ySWQoQi50cG9TdW1tYXJ5RGF0YVNvdXJjZUlkKX1fdmlzaWJsZVRpdGxlcygpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS50cG9TdHlsZS5jaGlsZHMoKS5zdW1tYXJ5LmNoaWxkcygpLmluZm9CbG9ja3MuY2hpbGRzKCk7cmV0dXJuIEkudHBvUm93VGl0bGVzLmZpbHRlcigodD0+ZVt0LnByb3BOYW1lXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpKS5tYXAoKGU9PmUudHJhbnNsYXRlZFN0cmluZy50cmFuc2xhdGVkVGV4dCgpKSl9fXZhciBELEw9cyg2MzQ4Nik7IWZ1bmN0aW9uKGUpe2VbZS5IaXN0c0NvdW50PTgwXT0iSGlzdHNDb3VudCIsZVtlLlRpY2tzUGVyUm93TWluVmFsdWU9MV09IlRpY2tzUGVyUm93TWluVmFsdWUiLGVbZS5UaWNrc1BlclJvd01heFZhbHVlPTFlNl09IlRpY2tzUGVyUm93TWF4VmFsdWUiLGVbZS5CYXJzRGVwdGhGb3JUaWNrcGVyUm93PTMwMF09IkJhcnNEZXB0aEZvclRpY2twZXJSb3ciLGVbZS5yZXRyeVRpY2tzUGVyUm93Q29lZmY9MS40XT0icmV0cnlUaWNrc1BlclJvd0NvZWZmIixlW2UubWF4VGlja3NQZXJSb3dSZXRyaWVzPTEwXT0ibWF4VGlja3NQZXJSb3dSZXRyaWVzIixlW2UubWF4VGlja3NJblByaWNlUmFuZ2U9MWUzXT0ibWF4VGlja3NJblByaWNlUmFuZ2UiLGVbZS50aWNrc1BlclJvd1JvdW5kRmFjdG9yPTVdPSJ0aWNrc1BlclJvd1JvdW5kRmFjdG9yIn0oRHx8KEQ9e30pKTtjb25zdCAkPVsiZXh0ZW5kUG9vckxvdyIsImV4dGVuZFBvb3JIaWdoIiwiZXh0ZW5kUE9DIiwiZXh0ZW5kVHBvVmFoIiwiZXh0ZW5kVHBvVmFsIiwiZXh0ZW5kU2luZ2xlcHJpbnRzIl0sRT1bLi4uJCwiZXh0ZW5kVm9sdW1lUG9jIiwiZXh0ZW5kVm9sdW1lVmFoIiwiZXh0ZW5kVm9sdW1lVmFsIl0sSD0oMCxsLmdldExvZ2dlcikoIkNoYXJ0LlRwb1N0dWR5QmFzZSIpO2NsYXNzIHogZXh0ZW5kcyB1LlVuZG9Db21tYW5ke2NvbnN0cnVjdG9yKGUsdCxpLHIpe3N1cGVyKG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiLGMudChudWxsLHZvaWQgMCxzKDQyOTczMykpKSksdGhpcy5fbW9kZWw9ZSx0aGlzLl9pZD10LHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1pLHRoaXMuX2tleUZpbHRlcj1yfXJlZG8oKXtjb25zdCBlPXN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpO09iamVjdC5rZXlzKGUpLmZpbHRlcih0aGlzLl9rZXlGaWx0ZXIpLmZvckVhY2goKHQ9PntkZWxldGUgZVt0XX0pKSx0aGlzLl9zdHVkeSgpLnNldFNwbGl0c0FuZE1lcmdlcyhlKX11bmRvKCl7dGhpcy5fc3R1ZHkoKS5zZXRTcGxpdHNBbmRNZXJnZXModGhpcy5fc3BsaXRzQW5kTWVyZ2VzKX1fc3R1ZHkoKXtyZXR1cm4oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLmRhdGFTb3VyY2VGb3JJZCh0aGlzLl9pZCkpfX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHQ8ZX1jbGFzcyBVIGV4dGVuZHMgbS5TdHVkeXtjb25zdHJ1Y3RvcihlLHQscyxpLHIsbyxsLG49eil7RS5mb3JFYWNoKChlPT50LnJlbW92ZUV4Y2x1ZGVkS2V5KGBpbnB1dHMuJHtlfWAsMSkpKSxzdXBlcihlLHQscyxpLHIsbyksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc3BsaXRzQW5kTWVyZ2VzPXt9LHRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyPTAsdGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1udWxsLHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZD1lPT57ZSYmKHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKSl9LHRoaXMuX3N1bW1hcnlQYW5lVmlldz1uZXcgTyh0aGlzLGUpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldz1uZXcgRihlKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9KDAsYS5jb21iaW5lKSgoZT0+Xy5zZXJpZXNSZWFkeVN0YXR1c2VzLmhhcyhlLnNlcmllc1N0YXR1cykpLGUubWFpblNlcmllcygpLmNvbXBvc2l0ZVN0YXR1c1ZXKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jaGFydFN0eWxlTW9kZT0hIWwsbCYmdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigiIiksdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3I9bix0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2NrcyIpfHx0LmNoaWxkcygpLnN0eWxlcy5hZGRDaGlsZCgic3BsaXRCeUJsb2NrcyIsbmV3IGcuUHJvcGVydHkoITEpKSx0LmNoaWxkcygpLnN0eWxlcy5oYXNDaGlsZCgic3BsaXRCeUJsb2Nrc01vZGUiKXx8dC5jaGlsZHMoKS5zdHlsZXMuYWRkQ2hpbGQoInNwbGl0QnlCbG9ja3NNb2RlIixuZXcgZy5Qcm9wZXJ0eSgwKSksdC5zZXRUaGVtZWRDb2xvcnMoZnVuY3Rpb24oKXtpZighZil7Y29uc3QgZT0iZ3JhcGhpY3MudHBvTGV2ZWxzLnRwbyIsdD0iZ3JhcGhpY3MudHBvVm9sdW1lUm93cy50cG8iO2Y9W3twYXRoOmAke2V9LnRwb1BvYy5jb2xvcmAsY29sb3JzOlIucG9jfSx7cGF0aDpgJHtlfS50cG9Qb29ySGlnaC5jb2xvcmAsY29sb3JzOlIucG9vckhpZ2h9LHtwYXRoOmAke2V9LnRwb1Bvb3JMb3cuY29sb3JgLGNvbG9yczpSLnBvb3JMb3d9LHtwYXRoOmAke2V9LnRwb1NpbmdsZXByaW50cy5jb2xvcmAsY29sb3JzOlIuc2luZ2xlcHJpbnRzfSx7cGF0aDpgJHtlfS50cG9WYWguY29sb3JgLGNvbG9yczpSLnZhaH0se3BhdGg6YCR7ZX0udHBvVmFsLmNvbG9yYCxjb2xvcnM6Ui52YWx9LHtwYXRoOmAke2V9LnZvbHVtZVZhaC5jb2xvcmAsY29sb3JzOlIudnBWYWh9LHtwYXRoOmAke2V9LnZvbHVtZVZhbC5jb2xvcmAsY29sb3JzOlIudnBWYWx9LHtwYXRoOmAke2V9LnZvbHVtZVBvYy5jb2xvcmAsY29sb3JzOlIudnBQb2N9LHtwYXRoOmAke3R9LnZhbHVlc0NvbG9yYCxjb2xvcnM6Ui52YWx1ZXN9LHtwYXRoOmAke3R9LmNvbG9ycy5ub25WYWAsY29sb3JzOlIudm9sdW1lQ29sb3J9LHtwYXRoOmAke3R9LmNvbG9ycy52YWAsY29sb3JzOlIudmFsdWVBcmVhQ29sb3J9XX0KcmV0dXJuIGZ9KCkpO2NvbnN0IGM9ZS5tYWluU2VyaWVzKCksZD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtjLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcyksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpO2NvbnN0IHU9ZC5tZXJnZVBvaW50czt0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUodS52YWx1ZSgpKSx0aGlzLl9zcGxpdHNBbmRNZXJnZXNJbnB1dHNEZXBzKCkuZm9yRWFjaCgoZT0+e2RbZV0/LnN1YnNjcmliZSh0aGlzLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMpfSkpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZD0oMCxwLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbnMpKCgoKT0+dGhpcy5fYXJlVFBPUGxvdHNFeHRlbmRlZCgpKSwkLm1hcCgoZT0+ZFtlXSkpLmZpbHRlcihCb29sZWFuKSksdS5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPXUudmFsdWUoKT8/IltdIjsiW10iPT09ZT90aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKTp0aGlzLl91cGRhdGVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoZSl9KSk7Y29uc3QgaD0oKT0+e3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT1udWxsLHRoaXMuX3RyeUNhbGN1bGF0ZVRpY2tQZXJSb3coKX0sbT0oKT0+e2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpOyJBdXRvIj09PWUucm93U2l6ZS52YWx1ZSgpJiZlLnRpY2tzUGVyUm93LnNldFZhbHVlKE5hTiksdGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPW51bGwsdGhpcy5fc2VyaWVzQ29tcGxldGVkLnVuc3Vic2NyaWJlKHRoaXMuX29uU2VyaWVzQ29tcGxldGVkQ2hhbmdlZCksdGhpcy5fc2VyaWVzQ29tcGxldGVkLnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQse29uY2U6ITB9KSx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcj0wfTtkLnJvd1NpemUuc3Vic2NyaWJlKHRoaXMsaCksdGhpcy5wcm9wZXJ0aWVzKCkub25SZXN0b3JlRmFjdG9yeURlZmF1bHRzKCkuc3Vic2NyaWJlKHRoaXMsaCksYy5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e2NvbnN0IGU9Yy5zeW1ib2xJbmZvKCk/LnByb19uYW1lPz9udWxsO3RoaXMuX2xhc3RSZXNvbHZlZFByb05hbWUhPT1lJiYodGhpcy5fbGFzdFJlc29sdmVkUHJvTmFtZT1lLG0oKSl9KSksYy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnN1YnNjcmliZSh0aGlzLG0pLGMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyxtKSx0aGlzLl90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCksdGhpcy5fcHJvcGVydGllcy5hZGRFeGNsdWRlZEtleSgiaW5wdXRzLm1lcmdlUG9pbnRzIiwxKX1zdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT1zdXBlci5zdGF0ZUZvckFsZXJ0KCksdD0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2FsZXJ0TWV0YUluZm8oKSkscz10aGlzLl9jaGFydFN0eWxlTW9kZSYmbi5zdHVkeUlkc0hpZGVJbnB1dHNNb2RlLmhhcygoMCxMLmV4dHJhY3RTdHVkeUlkKSh0LmZ1bGxJZCkpO3JldHVybnsuLi5lLHRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxzLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKGguVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxzLCExLCEwKX19YWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWR8fCh0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9KDAsYS5jb21iaW5lKSgoKGUsdCk9PnQmJmUpLHN1cGVyLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zcGF3bk93bmVyc2hpcCgpLHRoaXMuX2V4dGVuZGVkSW5wdXRzRW5hYmxlZC5zcGF3bk93bmVyc2hpcCgpKSksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkfWRlc3Ryb3koKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTt0aGlzLl9zZXJpZXNDb21wbGV0ZWQudW5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkKSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQuZGVzdHJveSgpLGUuc3ltYm9sUmVzb2x2ZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wudW5zdWJzY3JpYmVBbGwodGhpcyksZS5vbkludGVydmFsQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX3dpZGdldFNpZGVBcmVhVmlldy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkJiYodGhpcy5fYWxlcnRDcmVhdGlvbkF2YWlsYWJsZUNvbWJpbmVkLmRlc3Ryb3koKSx0aGlzLl9hbGVydENyZWF0aW9uQXZhaWxhYmxlQ29tYmluZWQ9dm9pZCAwKSx0aGlzLl9leHRlbmRlZElucHV0c0VuYWJsZWQuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX11cGRhdGVBbGxWaWV3cyhlKXtzdXBlci51cGRhdGVBbGxWaWV3cyhlKSx0aGlzLl9zdW1tYXJ5UGFuZVZpZXcudXBkYXRlKCksdGhpcy5fd2lkZ2V0U2lkZUFyZWFWaWV3LnVwZGF0ZSgpfXByZWZlcnJlZFpPcmRlcigpe3JldHVybiAwfXN0YXRlQ3VzdG9tRmllbGRzKCl7cmV0dXJue2F1dG9UaWNrUGVyUm93RGF0YTp0aGlzLl9hdXRvVGlja1BlclJvd0RhdGE/P3ZvaWQgMCxzcGxpdHNBbmRNZXJnZXM6dGhpcy5fc3BsaXRzQW5kTWVyZ2VzfX1yZXN0b3JlU3RhdGVDdXN0b21GaWVsZHMoZSl7dGhpcy5fYXV0b1RpY2tQZXJSb3dEYXRhPWUuYXV0b1RpY2tQZXJSb3dEYXRhPz9udWxsLHRoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLnNwbGl0c0FuZE1lcmdlcz8/e30sdGhpcy5fYXBwbHlTcGxpdEFuZE1lcmdlcygpfXJlc2V0QWxsU3BsaXRzQW5kTWVyZ2VzKCl7CmNvbnN0IGU9dGhpcy5fbW9kZWwudW5kb01vZGVsKCksdD1uZXcgdGhpcy5fcmVzZXRBbGxTcGxpdHNVbmRvQ29tbWFuZEN0b3IodGhpcy5fbW9kZWwsdGhpcy5pZCgpLHN0cnVjdHVyZWRDbG9uZSh0aGlzLl9zcGxpdHNBbmRNZXJnZXMpLHRoaXMuX3Jlc2V0U3BsaXRzQW5kTWVyZ2VzS2V5RmlsdGVyLmJpbmQodGhpcykpO2UudW5kb0hpc3RvcnkoKS5wdXNoVW5kb0NvbW1hbmQodCl9c2V0U3BsaXRzQW5kTWVyZ2VzKGUpe3RoaXMuX3NwbGl0c0FuZE1lcmdlcz1lLHRoaXMuX2FwcGx5U3BsaXRBbmRNZXJnZXMoKX1zcGxpdEJsb2NrKGUpe3RoaXMuX2FwcGVuZE1lcmdlU3BsaXRBY3Rpb24oZSwic3BsaXQiLG5ldyBkLlRyYW5zbGF0ZWRTdHJpbmcoIlRQTyBzcGxpdCBibG9jayIsYy50KG51bGwsdm9pZCAwLHMoNjE5NjA5KSkpKX1tZXJnZVByb2ZpbGUoZSl7dGhpcy5fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLCJtZXJnZSIsbmV3IGQuVHJhbnNsYXRlZFN0cmluZygiVFBPIG1lcmdlIGJsb2NrIixjLnQobnVsbCx2b2lkIDAscyg4NzA0MDkpKSkpfWNhbGN1bGF0ZUluaXRpYWxCYWxhbmNlUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXMubGV2ZWxzLnZhbHVlKCksbz1LLmJpbmQobnVsbCxyKTtmb3IoY29uc3QgcyBvZiBlKXtjb25zdCBlPXtzdGFydDpzLnJvd0luZGV4KnQsZW5kOihzLnJvd0luZGV4KzEpKnR9O3MuYmxvY2tzLnNvbWUobykmJihpPW51bGw9PT1pP2U6KDAsay5tZXJnZVRwb1ByaWNlUmFuZ2VzKShpLGUpKX1yZXR1cm4gaX1wYW5lVmlld3MoZSl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP2UhPT10aGlzLl9tb2RlbC5tYWluUGFuZSgpP1t0aGlzLl9zdW1tYXJ5UGFuZVZpZXddOnRoaXMuX3BhbmVWaWV3czpzdXBlci5wYW5lVmlld3MoZSl9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCl7cmV0dXJuIG51bGx9Y2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcigpe3JldHVybiBudWxsfXdpZGdldFNpZGVBcmVhVmlld3MoZSl7Y29uc3QgdD10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0IHM9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZighcylyZXR1cm4gbnVsbDtjb25zdCBpPXMucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiB0aGlzLl9jaGFydFN0eWxlTW9kZSYmZT09PWk/W3RoaXMuX3dpZGdldFNpZGVBcmVhVmlld106bnVsbH1wcmljZVNjYWxlKCl7cmV0dXJuIHRoaXMuX2NoYXJ0U3R5bGVNb2RlP3RoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5wcmljZVNjYWxlKCk6c3VwZXIucHJpY2VTY2FsZSgpfWRhdGFVcGRhdGVkKCl7cmV0dXJuIHRoaXMuX2RhdGFVcGRhdGVkfV9yZXNldFNwbGl0c0FuZE1lcmdlc0tleUZpbHRlcihlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSxzPXQucHJvU3ltYm9sKCksaT10aGlzLl9jaGFydFN0eWxlTW9kZXx8KDAsUy5pc1RpbWVCYXNlZFN0eWxlKSh0LnN0eWxlKCkpPyJjb21tb24iOnQuc3R5bGUoKSxyPWUuc3BsaXQoIjsiKTtyZXR1cm4gclswXT09PXMmJnJbMV09PT1pfV9zcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoKXtyZXR1cm4gdGhpcy5fc3BsaXRzQW5kTWVyZ2VzW3RoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNLZXkoMildPz90aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgxKV0/P251bGx9X3VwZGF0ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlKXt0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleSgyKV09ZSx0aGlzLl9yZW1vdmVTcGxpdHNBbmRNZXJnZXNBY3Rpb25zVmFsdWUoMSl9X3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZShlPTIpe2RlbGV0ZSB0aGlzLl9zcGxpdHNBbmRNZXJnZXNbdGhpcy5fc3BsaXRzQW5kTWVyZ2VzQWN0aW9uc0tleShlKV0sMj09PWUmJnRoaXMuX3JlbW92ZVNwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgxKX1fYXBpSW5wdXRzKCl7Y29uc3R7cm93U2l6ZTplLC4uLnR9PXN1cGVyLl9hcGlJbnB1dHMoKTtyZXR1cm4gdH1fYWxsSW5wdXRzQXJlVmFsaWQoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS50aWNrc1BlclJvdy52YWx1ZSgpO3JldHVybiFpc05hTihlKSYmc3VwZXIuX2FsbElucHV0c0FyZVZhbGlkKCl9X2F1dG9Sb3dTaXplTW9kZUVuYWJsZWQoKXtyZXR1cm4iQXV0byI9PT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucm93U2l6ZS52YWx1ZSgpfV90cnlDYWxjdWxhdGVUaWNrUGVyUm93KCl7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiYoZT10aGlzLl9hdXRvVGlja1BlclJvd0RhdGEsdD10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCksbnVsbD09PWV8fGUuc3ltYm9sIT09dC5zeW1ib2x8fGUuaW50ZXJ2YWwhPT10LmludGVydmFsKSl7dGhpcy5fY2FsY3VsYXRlVGlja1BlclJvdygpP3RoaXMuX2F1dG9UaWNrUGVyUm93RGF0YT10aGlzLl9jdXJyZW50QXV0b1RpY2tQZXJSb3dEYXRhKCk6KHRoaXMuX3Nlcmllc0NvbXBsZXRlZC51bnN1YnNjcmliZSh0aGlzLl9vblNlcmllc0NvbXBsZXRlZENoYW5nZWQpLHRoaXMuX3Nlcmllc0NvbXBsZXRlZC5zdWJzY3JpYmUodGhpcy5fb25TZXJpZXNDb21wbGV0ZWRDaGFuZ2VkLHtvbmNlOiEwfSkpfXZhciBlLHR9X2NhbGN1bGF0ZVRpY2tQZXJSb3coKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0PWUuc3ltYm9sSW5mbygpLHM9ZS5kYXRhKCkuYmFycygpO2lmKCFzLnNpemUoKXx8IXQpcmV0dXJuITE7Y29uc3QgaT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWkpcmV0dXJuITE7Y29uc3Qgcj1zLnJhbmdlQ291bnRiYWNrKGkubGFzdEJhcigpLDMwMCksYT1yLm1pbk1heE9uUmFuZ2VDYWNoZWQoKDAsby5lbnN1cmVOb3ROdWxsKShyLmZpcnN0SW5kZXgoKSksKDAsby5lbnN1cmVOb3ROdWxsKShyLmxhc3RJbmRleCgpKSxbewpuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSk7aWYobnVsbD09PWEpcmV0dXJuITE7Y29uc3QgbD10Lm1pbm1vdi90LnByaWNlc2NhbGUsbj0oYS5tYXgtYS5taW4pL2wsYz1NYXRoLm1heChuLzgwLG4vMWUzKSxkPU1hdGgucG93KDEuNCx0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcikqYys1KnRoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyLHU9TWF0aC5mbG9vcihNYXRoLmxvZzEwKGMpKSxwPTUqTWF0aC5tYXgoMSxNYXRoLnBvdygxMCx1LTEpKSxoPU1hdGgucm91bmQoZC9wKSpwLG09TWF0aC5taW4oMWU2LE1hdGgubWF4KDEsaCkpO3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkudGlja3NQZXJSb3cuc2V0VmFsdWUobSksSC5sb2dJbmZvKGBBdXRvY2FsY3VsYXRlIFRpY2tzUGVyUm93LlxuXHRcdFx0c3ltYm9sOiAke3RoaXMuX3Nlcmllcy5zeW1ib2woKX1cblx0XHRcdGludGVydmFsOiAke3RoaXMuX3Nlcmllcy5pbnRlcnZhbCgpfVxuXHRcdFx0bWluVGljazogJHtsfVxuXHRcdFx0aGlnaDogJHthLm1heH1cblx0XHRcdGxvdzogJHthLm1pbn1cblx0XHRcdGhpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyOiAke3RoaXMuX2hpc3RvZ3JhbUlzVG9vTGFyZ2VDb3VudGVyfVxuXHRcdFx0cmVzdWx0OiAke219YCksITB9X2N1cnJlbnRBdXRvVGlja1BlclJvd0RhdGEoKXtjb25zdCBlPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKTtyZXR1cm57c3ltYm9sOmUuZ2V0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6ZS5pbnRlcnZhbCgpfX1fb25TdHVkeUVycm9yKGUpe2NvbnN0IHQ9KDAsci5kZWZhdWx0KShlKT9lOmUuZXJyb3I7aWYodGhpcy5fYXV0b1Jvd1NpemVNb2RlRW5hYmxlZCgpJiZ0LnN0YXJ0c1dpdGgoIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UiKSl7aWYoKyt0aGlzLl9oaXN0b2dyYW1Jc1Rvb0xhcmdlQ291bnRlcjwxMClyZXR1cm4gSC5sb2dJbmZvKCJSZWNhbGN1bGF0ZSB0aWNrc1BlclJvdyB3aXRoIG11bHRpcGxpY2F0b3IiKSx2b2lkIHRoaXMuX2NhbGN1bGF0ZVRpY2tQZXJSb3coKTtILmxvZ1dhcm4oIlJlY2FsY3VsYXRpbmcgdGlja3NQZXJSb3cgbGltaXQgaGFzIGJlZW4gZXhjZWVkZWQiKX1zdXBlci5fb25TdHVkeUVycm9yKGUpfV9vblN0dWR5Q29tcGxldGVkKGUpe0gubG9nSW5mbygiUmVzZXQgaGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXIgYmVjYXVzZSBvZiBjb21wbGV0ZSBtZXNzYWdlIiksdGhpcy5faGlzdG9ncmFtSXNUb29MYXJnZUNvdW50ZXI9MCxzdXBlci5fb25TdHVkeUNvbXBsZXRlZChlKX1fYXBwZW5kTWVyZ2VTcGxpdEFjdGlvbihlLHQscyl7Y29uc3QgaT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5tZXJnZVBvaW50cy52YWx1ZSgpLHI9IiI9PT1pfHxudWxsPT09aT9bXTpKU09OLnBhcnNlKGkpO3IucHVzaCh7YWN0aW9uOnQsdGltZTplfSksdGhpcy5fbW9kZWwudW5kb01vZGVsKCkuc2V0UHJvcGVydHkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubWVyZ2VQb2ludHMsSlNPTi5zdHJpbmdpZnkocikscyl9X2FwcGx5U3BsaXRBbmRNZXJnZXMoKXtjb25zdCBlPXRoaXMuX3NwbGl0c0FuZE1lcmdlc0FjdGlvbnNWYWx1ZSgpPz8iW10iO3RoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLm1lcmdlUG9pbnRzLnNldFZhbHVlKGUpfV9hcmVUUE9QbG90c0V4dGVuZGVkKCl7Y29uc3QgZT10aGlzLl9hcGlJbnB1dHMoKTtyZXR1cm4gJC5zb21lKCh0PT5lW3RdKSl9fX0sODc0NjAoZSx0LHMpe3MuZCh0LHt0cG9Sb3dUaXRsZXM6KCk9Pnd9KTt2YXIgaT1zKDc4MzI1NCkscj1zKDU3MDYwMyk7Y29uc3Qgbz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBoaWdoLWxvdyByYW5nZSJ9LHMoOTMxNDg4KSksYT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCB2YWx1ZSBhcmVhIHJhbmdlIn0scyg1MDUwMTApKSxsPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgVm9sdW1lIGFyZWEgaGlnaCJ9LHMoODY5MjgzKSksbj1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFZvbHVtZSBhcmVhIGxvdyJ9LHMoOTI4NjY1KSksYz1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlLCBhYmJyIFBvaW50IG9mIGNvbnRyb2wifSxzKDk0OTYxNykpLGQ9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoNzI5MjAzKSksdT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg4NTYwMjgpKSxwPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUifSxzKDI2ODg5MSkpLGg9aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSJ9LHMoMTEyNzQ4KSksbT1pLnQobnVsbCx7Y29udGV4dDoiVFBPIFN1bW1hcnkgcm93IHRpdGxlIn0scyg0Mjg3MjMpKSxnPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIEhpZ2gifSxzKDI3NjEzNykpLF89aS50KG51bGwse2NvbnRleHQ6IlRQTyBTdW1tYXJ5IHJvdyB0aXRsZSwgYWJiciBJbml0aWFsIEJhbGFuY2UgTG93In0scygxNDgzMzUpKSxTPWkudChudWxsLHtjb250ZXh0OiJUUE8gU3VtbWFyeSByb3cgdGl0bGUsIGFiYnIgSW5pdGlhbCBCYWxhbmNlIFJhbmdlIn0scyg1MTQ3NjIpKSx3PVt7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJITCBSYW5nZSIsbykscHJvcE5hbWU6ImhsUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQSByYW5nZSIsYSkscHJvcE5hbWU6InZhUmFuZ2UifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJWQUgiLGwpLHByb3BOYW1lOiJ2YWhQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlZBTCIsbiksCnByb3BOYW1lOiJ2YWxQcmljZSJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlBPQyIsYykscHJvcE5hbWU6InBvY1ByaWNlIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVG90YWwgdm9sdW1lIixkKSxwcm9wTmFtZToidG90YWxWb2x1bWUifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUb3RhbCBUUE8iLHUpLHByb3BOYW1lOiJ0cG9Db3VudFRvdGFsIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiVFBPIEFib3ZlIFBPQyIscCkscHJvcE5hbWU6InRwb0NvdW50QWJvdmVQb2MifSx7dHJhbnNsYXRlZFN0cmluZzpuZXcgci5UcmFuc2xhdGVkU3RyaW5nKCJUUE8gQmVsb3cgUE9DIixoKSxwcm9wTmFtZToidHBvQ291bnRCZWxvd1BvYyJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIlJvdGF0aW9uIGZhY3RvciIsbSkscHJvcE5hbWU6InJvdGF0aW9uRmFjdG9yIn0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgaGlnaCIsZykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlSGlnaCJ9LHt0cmFuc2xhdGVkU3RyaW5nOm5ldyByLlRyYW5zbGF0ZWRTdHJpbmcoIklCIGxvdyIsXykscHJvcE5hbWU6ImluaXRpYWxCYWxhbmNlTG93In0se3RyYW5zbGF0ZWRTdHJpbmc6bmV3IHIuVHJhbnNsYXRlZFN0cmluZygiSUIgcmFuZ2UiLFMpLHByb3BOYW1lOiJpbml0aWFsQmFsYW5jZVJhbmdlIn1dfX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/plan.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.296Z","timestamp":1785136427296,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/plan.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/assets/css/style.css\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:46 GMT\r\ncontent-length: 486897\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"image/png","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/34678.4a992aa150d8eda5f29c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.742Z","timestamp":1785136427742,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/34678.4a992aa150d8eda5f29c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a61b1a8-2773\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 23 Jul 2026 06:16:08 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/23/2026 10:17:24\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: acd673df12a6cb62ea9375077c231f9b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":10099,"size_decoded":5459,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3068)","md5":"64083c0234bda2342afde952ad595ff1","sha1":"9de336bb851649fef34561583d096a3859314ba7","sha256":"c466ce31a3b07b166d26cf6a472c415df8a148dce9df6e232151349a72e1d8fc","sha512":"a269c9660021311bb08ba6849fe621cd4162f40400e6946e2623373ecbc7e741a5ef06b7b05041d0f49c0350603fbe5e6fa62ea47a82a5fcaef9a6270014c765","ssdeep":"192:AJfFriQ107DuXc1MatsfICpyxjb9yQaAKM2pRZPu+uFRMVIMLC:AJfFrF46cTmxygQaM2pRZP6FuqMLC","tlshash":"5622b68832f1f0e643e368e440ab0406f139690a544eb5a4e396e2d36d75fc5c1bbfe6","first_seen":"2026-07-23T13:54:09.149892Z","last_seen":"2026-08-11T04:45:48.800904Z","times_seen":533,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNDY3OF0sezcxMjc0NShyLGUsdCl7dmFyIG47IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBvLGk9MWU2LGM9MWU2LHM9IltiaWcuanNdICIsZj1zKyJJbnZhbGlkICIsdT1mKyJkZWNpbWFsIHBsYWNlcyIsYT1mKyJyb3VuZGluZyBtb2RlIixsPXMrIkRpdmlzaW9uIGJ5IHplcm8iLGg9e30sdj12b2lkIDAsZD0vXi0/KFxkKyhcLlxkKik/fFwuXGQrKShlWystXT9cZCspPyQvaTtmdW5jdGlvbiBwKHIsZSx0LG4pe3ZhciBvPXIuYztpZih0PT09diYmKHQ9ci5jb25zdHJ1Y3Rvci5STSksMCE9PXQmJjEhPT10JiYyIT09dCYmMyE9PXQpdGhyb3cgRXJyb3IoYSk7aWYoZTwxKW49Mz09PXQmJihufHwhIW9bMF0pfHwwPT09ZSYmKDE9PT10JiZvWzBdPj01fHwyPT09dCYmKG9bMF0+NXx8NT09PW9bMF0mJihufHxvWzFdIT09dikpKSxvLmxlbmd0aD0xLG4/KHIuZT1yLmUtZSsxLG9bMF09MSk6b1swXT1yLmU9MDtlbHNlIGlmKGU8by5sZW5ndGgpe2lmKG49MT09PXQmJm9bZV0+PTV8fDI9PT10JiYob1tlXT41fHw1PT09b1tlXSYmKG58fG9bZSsxXSE9PXZ8fDEmb1tlLTFdKSl8fDM9PT10JiYobnx8ISFvWzBdKSxvLmxlbmd0aD1lLS0sbilmb3IoOysrb1tlXT45OylvW2VdPTAsZS0tfHwoKytyLmUsby51bnNoaWZ0KDEpKTtmb3IoZT1vLmxlbmd0aDshb1stLWVdOylvLnBvcCgpfXJldHVybiByfWZ1bmN0aW9uIGcocixlLHQpe3ZhciBuPXIuZSxvPXIuYy5qb2luKCIiKSxpPW8ubGVuZ3RoO2lmKGUpbz1vLmNoYXJBdCgwKSsoaT4xPyIuIitvLnNsaWNlKDEpOiIiKSsobjwwPyJlIjoiZSsiKStuO2Vsc2UgaWYobjwwKXtmb3IoOysrbjspbz0iMCIrbztvPSIwLiIrb31lbHNlIGlmKG4+MClpZigrK24+aSlmb3Iobi09aTtuLS07KW8rPSIwIjtlbHNlIG48aSYmKG89by5zbGljZSgwLG4pKyIuIitvLnNsaWNlKG4pKTtlbHNlIGk+MSYmKG89by5jaGFyQXQoMCkrIi4iK28uc2xpY2UoMSkpO3JldHVybiByLnM8MCYmdD8iLSIrbzpvfWguYWJzPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIHIucz0xLHJ9LGguY21wPWZ1bmN0aW9uKHIpe3ZhciBlLHQ9dGhpcyxuPXQuYyxvPShyPW5ldyB0LmNvbnN0cnVjdG9yKHIpKS5jLGk9dC5zLGM9ci5zLHM9dC5lLGY9ci5lO2lmKCFuWzBdfHwhb1swXSlyZXR1cm4gblswXT9pOm9bMF0/LWM6MDtpZihpIT1jKXJldHVybiBpO2lmKGU9aTwwLHMhPWYpcmV0dXJuIHM+Zl5lPzE6LTE7Zm9yKGM9KHM9bi5sZW5ndGgpPChmPW8ubGVuZ3RoKT9zOmYsaT0tMTsrK2k8YzspaWYobltpXSE9b1tpXSlyZXR1cm4gbltpXT5vW2ldXmU/MTotMTtyZXR1cm4gcz09Zj8wOnM+Zl5lPzE6LTF9LGguZGl2PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1lLmNvbnN0cnVjdG9yLG49ZS5jLG89KHI9bmV3IHQocikpLmMsYz1lLnM9PXIucz8xOi0xLHM9dC5EUDtpZihzIT09fn5zfHxzPDB8fHM+aSl0aHJvdyBFcnJvcih1KTtpZighb1swXSl0aHJvdyBFcnJvcihsKTtpZighblswXSlyZXR1cm4gci5zPWMsci5jPVtyLmU9MF0scjt2YXIgZixhLGgsZCxnLHc9by5zbGljZSgpLGI9Zj1vLmxlbmd0aCxtPW4ubGVuZ3RoLEU9bi5zbGljZSgwLGYpLGo9RS5sZW5ndGgseT1yLFA9eS5jPVtdLE89MCxrPXMrKHkuZT1lLmUtci5lKSsxO2Zvcih5LnM9YyxjPWs8MD8wOmssdy51bnNoaWZ0KDApO2orKzxmOylFLnB1c2goMCk7ZG97Zm9yKGg9MDtoPDEwO2grKyl7aWYoZiE9KGo9RS5sZW5ndGgpKWQ9Zj5qPzE6LTE7ZWxzZSBmb3IoZz0tMSxkPTA7KytnPGY7KWlmKG9bZ10hPUVbZ10pe2Q9b1tnXT5FW2ddPzE6LTE7YnJlYWt9aWYoIShkPDApKWJyZWFrO2ZvcihhPWo9PWY/bzp3O2o7KXtpZihFWy0tal08YVtqXSl7Zm9yKGc9ajtnJiYhRVstLWddOylFW2ddPTk7LS1FW2ddLEVbal0rPTEwfUVbal0tPWFbal19Zm9yKDshRVswXTspRS5zaGlmdCgpfVBbTysrXT1kP2g6KytoLEVbMF0mJmQ/RVtqXT1uW2JdfHwwOkU9W25bYl1dfXdoaWxlKChiKys8bXx8RVswXSE9PXYpJiZjLS0pO3JldHVybiBQWzBdfHwxPT1PfHwoUC5zaGlmdCgpLHkuZS0tLGstLSksTz5rJiZwKHksayx0LlJNLEVbMF0hPT12KSx5fSxoLmVxPWZ1bmN0aW9uKHIpe3JldHVybiAwPT09dGhpcy5jbXAocil9LGguZ3Q9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPjB9LGguZ3RlPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmNtcChyKT4tMX0saC5sdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5jbXAocik8MH0saC5sdGU9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMuY21wKHIpPDF9LGgubWludXM9aC5zdWI9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG8saT10aGlzLGM9aS5jb25zdHJ1Y3RvcixzPWkucyxmPShyPW5ldyBjKHIpKS5zO2lmKHMhPWYpcmV0dXJuIHIucz0tZixpLnBsdXMocik7dmFyIHU9aS5jLnNsaWNlKCksYT1pLmUsbD1yLmMsaD1yLmU7aWYoIXVbMF18fCFsWzBdKXJldHVybiBsWzBdP3Iucz0tZjp1WzBdP3I9bmV3IGMoaSk6ci5zPTEscjtpZihzPWEtaCl7Zm9yKChvPXM8MCk/KHM9LXMsbj11KTooaD1hLG49bCksbi5yZXZlcnNlKCksZj1zO2YtLTspbi5wdXNoKDApO24ucmV2ZXJzZSgpfWVsc2UgZm9yKHQ9KChvPXUubGVuZ3RoPGwubGVuZ3RoKT91OmwpLmxlbmd0aCxzPWY9MDtmPHQ7ZisrKWlmKHVbZl0hPWxbZl0pe289dVtmXTxsW2ZdO2JyZWFrfWlmKG8mJihuPXUsdT1sLGw9bixyLnM9LXIucyksKGY9KHQ9bC5sZW5ndGgpLShlPXUubGVuZ3RoKSk+MClmb3IoO2YtLTspdVtlKytdPTA7Zm9yKGY9ZTt0PnM7KXtpZih1Wy0tdF08bFt0XSl7Zm9yKGU9dDtlJiYhdVstLWVdOyl1W2VdPTk7LS11W2VdLHVbdF0rPTEwfXVbdF0tPWxbdF19Zm9yKDswPT09dVstLWZdOyl1LnBvcCgpO2Zvcig7MD09PXVbMF07KXUuc2hpZnQoKSwtLWg7cmV0dXJuIHVbMF18fChyLnM9MSx1PVtoPTBdKSxyLmM9dSxyLmU9aCxyfSxoLm1vZD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5zLGk9KHI9bmV3IG4ocikpLnMKO2lmKCFyLmNbMF0pdGhyb3cgRXJyb3IobCk7cmV0dXJuIHQucz1yLnM9MSxlPTE9PXIuY21wKHQpLHQucz1vLHIucz1pLGU/bmV3IG4odCk6KG89bi5EUCxpPW4uUk0sbi5EUD1uLlJNPTAsdD10LmRpdihyKSxuLkRQPW8sbi5STT1pLHRoaXMubWludXModC50aW1lcyhyKSkpfSxoLnBsdXM9aC5hZGQ9ZnVuY3Rpb24ocil7dmFyIGUsdCxuLG89dGhpcyxpPW8uY29uc3RydWN0b3I7aWYocj1uZXcgaShyKSxvLnMhPXIucylyZXR1cm4gci5zPS1yLnMsby5taW51cyhyKTt2YXIgYz1vLmUscz1vLmMsZj1yLmUsdT1yLmM7aWYoIXNbMF18fCF1WzBdKXJldHVybiB1WzBdfHwoc1swXT9yPW5ldyBpKG8pOnIucz1vLnMpLHI7aWYocz1zLnNsaWNlKCksZT1jLWYpe2ZvcihlPjA/KGY9YyxuPXUpOihlPS1lLG49cyksbi5yZXZlcnNlKCk7ZS0tOyluLnB1c2goMCk7bi5yZXZlcnNlKCl9Zm9yKHMubGVuZ3RoLXUubGVuZ3RoPDAmJihuPXUsdT1zLHM9biksZT11Lmxlbmd0aCx0PTA7ZTtzW2VdJT0xMCl0PShzWy0tZV09c1tlXSt1W2VdK3QpLzEwfDA7Zm9yKHQmJihzLnVuc2hpZnQodCksKytmKSxlPXMubGVuZ3RoOzA9PT1zWy0tZV07KXMucG9wKCk7cmV0dXJuIHIuYz1zLHIuZT1mLHJ9LGgucG93PWZ1bmN0aW9uKHIpe3ZhciBlPXRoaXMsdD1uZXcgZS5jb25zdHJ1Y3RvcigiMSIpLG49dCxvPXI8MDtpZihyIT09fn5yfHxyPC0xZTZ8fHI+Yyl0aHJvdyBFcnJvcihmKyJleHBvbmVudCIpO2ZvcihvJiYocj0tcik7MSZyJiYobj1uLnRpbWVzKGUpKSxyPj49MTspZT1lLnRpbWVzKGUpO3JldHVybiBvP3QuZGl2KG4pOm59LGgucHJlYz1mdW5jdGlvbihyLGUpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO3JldHVybiBwKG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMpLHIsZSl9LGgucm91bmQ9ZnVuY3Rpb24ocixlKXtpZihyPT09dilyPTA7ZWxzZSBpZihyIT09fn5yfHxyPC1pfHxyPmkpdGhyb3cgRXJyb3IodSk7cmV0dXJuIHAobmV3IHRoaXMuY29uc3RydWN0b3IodGhpcykscit0aGlzLmUrMSxlKX0saC5zcXJ0PWZ1bmN0aW9uKCl7dmFyIHIsZSx0LG49dGhpcyxvPW4uY29uc3RydWN0b3IsaT1uLnMsYz1uLmUsZj1uZXcgbygiMC41Iik7aWYoIW4uY1swXSlyZXR1cm4gbmV3IG8obik7aWYoaTwwKXRocm93IEVycm9yKHMrIk5vIHNxdWFyZSByb290Iik7MD09PShpPU1hdGguc3FydChuKyIiKSl8fGk9PT0xLzA/KChlPW4uYy5qb2luKCIiKSkubGVuZ3RoK2MmMXx8KGUrPSIwIiksYz0oKGMrMSkvMnwwKS0oYzwwfHwxJmMpLHI9bmV3IG8oKChpPU1hdGguc3FydChlKSk9PTEvMD8iNWUiOihpPWkudG9FeHBvbmVudGlhbCgpKS5zbGljZSgwLGkuaW5kZXhPZigiZSIpKzEpKStjKSk6cj1uZXcgbyhpKyIiKSxjPXIuZSsoby5EUCs9NCk7ZG97dD1yLHI9Zi50aW1lcyh0LnBsdXMobi5kaXYodCkpKX13aGlsZSh0LmMuc2xpY2UoMCxjKS5qb2luKCIiKSE9PXIuYy5zbGljZSgwLGMpLmpvaW4oIiIpKTtyZXR1cm4gcChyLChvLkRQLT00KStyLmUrMSxvLlJNKX0saC50aW1lcz1oLm11bD1mdW5jdGlvbihyKXt2YXIgZSx0PXRoaXMsbj10LmNvbnN0cnVjdG9yLG89dC5jLGk9KHI9bmV3IG4ocikpLmMsYz1vLmxlbmd0aCxzPWkubGVuZ3RoLGY9dC5lLHU9ci5lO2lmKHIucz10LnM9PXIucz8xOi0xLCFvWzBdfHwhaVswXSlyZXR1cm4gci5jPVtyLmU9MF0scjtmb3Ioci5lPWYrdSxjPHMmJihlPW8sbz1pLGk9ZSx1PWMsYz1zLHM9dSksZT1uZXcgQXJyYXkodT1jK3MpO3UtLTspZVt1XT0wO2ZvcihmPXM7Zi0tOyl7Zm9yKHM9MCx1PWMrZjt1PmY7KXM9ZVt1XStpW2ZdKm9bdS1mLTFdK3MsZVt1LS1dPXMlMTAscz1zLzEwfDA7ZVt1XT1zfWZvcihzPysrci5lOmUuc2hpZnQoKSxmPWUubGVuZ3RoOyFlWy0tZl07KWUucG9wKCk7cmV0dXJuIHIuYz1lLHJ9LGgudG9FeHBvbmVudGlhbD1mdW5jdGlvbihyLGUpe3ZhciB0PXRoaXMsbj10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MHx8cj5pKXRocm93IEVycm9yKHUpO2Zvcih0PXAobmV3IHQuY29uc3RydWN0b3IodCksKytyLGUpO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMCwhIW4pfSxoLnRvRml4ZWQ9ZnVuY3Rpb24ocixlKXt2YXIgdD10aGlzLG49dC5jWzBdO2lmKHIhPT12KXtpZihyIT09fn5yfHxyPDB8fHI+aSl0aHJvdyBFcnJvcih1KTtmb3Iocj1yKyh0PXAobmV3IHQuY29uc3RydWN0b3IodCkscit0LmUrMSxlKSkuZSsxO3QuYy5sZW5ndGg8cjspdC5jLnB1c2goMCl9cmV0dXJuIGcodCwhMSwhIW4pfSxoLnRvSlNPTj1oLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxlPXIuY29uc3RydWN0b3I7cmV0dXJuIGcocixyLmU8PWUuTkV8fHIuZT49ZS5QRSwhIXIuY1swXSl9LGgudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgcj1OdW1iZXIoZyh0aGlzLCEwLCEwKSk7aWYoITA9PT10aGlzLmNvbnN0cnVjdG9yLnN0cmljdCYmIXRoaXMuZXEoci50b1N0cmluZygpKSl0aHJvdyBFcnJvcihzKyJJbXByZWNpc2UgY29udmVyc2lvbiIpO3JldHVybiByfSxoLnRvUHJlY2lzaW9uPWZ1bmN0aW9uKHIsZSl7dmFyIHQ9dGhpcyxuPXQuY29uc3RydWN0b3Isbz10LmNbMF07aWYociE9PXYpe2lmKHIhPT1+fnJ8fHI8MXx8cj5pKXRocm93IEVycm9yKGYrInByZWNpc2lvbiIpO2Zvcih0PXAobmV3IG4odCkscixlKTt0LmMubGVuZ3RoPHI7KXQuYy5wdXNoKDApfXJldHVybiBnKHQscjw9dC5lfHx0LmU8PW4uTkV8fHQuZT49bi5QRSwhIW8pfSxoLnZhbHVlT2Y9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLGU9ci5jb25zdHJ1Y3RvcjtpZighMD09PWUuc3RyaWN0KXRocm93IEVycm9yKHMrInZhbHVlT2YgZGlzYWxsb3dlZCIpO3JldHVybiBnKHIsci5lPD1lLk5FfHxyLmU+PWUuUEUsITApfSxvPWZ1bmN0aW9uIHIoKXtmdW5jdGlvbiBlKHQpe3ZhciBuPXRoaXM7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQ9PT12P3IoKTpuZXcgZSh0KTtpZih0IGluc3RhbmNlb2YgZSluLnM9dC5zLG4uZT10LmUsbi5jPXQuYy5zbGljZSgpO2Vsc2V7aWYoInN0cmluZyIhPXR5cGVvZiB0KXsKaWYoITA9PT1lLnN0cmljdCl0aHJvdyBUeXBlRXJyb3IoZisibnVtYmVyIik7dD0wPT09dCYmMS90PDA/Ii0wIjpTdHJpbmcodCl9IWZ1bmN0aW9uKHIsZSl7dmFyIHQsbixvO2lmKCFkLnRlc3QoZSkpdGhyb3cgRXJyb3IoZisibnVtYmVyIik7ci5zPSItIj09ZS5jaGFyQXQoMCk/KGU9ZS5zbGljZSgxKSwtMSk6MSwodD1lLmluZGV4T2YoIi4iKSk+LTEmJihlPWUucmVwbGFjZSgiLiIsIiIpKTsobj1lLnNlYXJjaCgvZS9pKSk+MD8odDwwJiYodD1uKSx0Kz0rZS5zbGljZShuKzEpLGU9ZS5zdWJzdHJpbmcoMCxuKSk6dDwwJiYodD1lLmxlbmd0aCk7Zm9yKG89ZS5sZW5ndGgsbj0wO248byYmIjAiPT1lLmNoYXJBdChuKTspKytuO2lmKG49PW8pci5jPVtyLmU9MF07ZWxzZXtmb3IoO28+MCYmIjAiPT1lLmNoYXJBdCgtLW8pOyk7Zm9yKHIuZT10LW4tMSxyLmM9W10sdD0wO248PW87KXIuY1t0KytdPStlLmNoYXJBdChuKyspfX0obix0KX1uLmNvbnN0cnVjdG9yPWV9cmV0dXJuIGUucHJvdG90eXBlPWgsZS5EUD0yMCxlLlJNPTEsZS5ORT0tNyxlLlBFPTIxLGUuc3RyaWN0PWZhbHNlLGUucm91bmREb3duPTAsZS5yb3VuZEhhbGZVcD0xLGUucm91bmRIYWxmRXZlbj0yLGUucm91bmRVcD0zLGV9KCksby5kZWZhdWx0PW8uQmlnPW8sdm9pZCAwPT09KG49ZnVuY3Rpb24oKXtyZXR1cm4gb30uY2FsbChlLHQsZSxyKSl8fChyLmV4cG9ydHM9bil9KCl9LDg3Mjg4MShyLGUsdCl7InVzZSBzdHJpY3QiO3QuZChlLHtkZWZhdWx0OigpPT5OfSk7dmFyIG49dCg4ODY1MTQpLG89dCgyNjkzNjYpO2NvbnN0IGk9ZnVuY3Rpb24ocixlKXtmb3IodmFyIHQ9LTEsbj1udWxsPT1yPzA6ci5sZW5ndGg7Kyt0PG47KWlmKGUoclt0XSx0LHIpKXJldHVybiEwO3JldHVybiExfTt2YXIgYz10KDcxMjgwMSk7Y29uc3Qgcz1mdW5jdGlvbihyLGUsdCxuLHMsZil7dmFyIHU9MSZ0LGE9ci5sZW5ndGgsbD1lLmxlbmd0aDtpZihhIT1sJiYhKHUmJmw+YSkpcmV0dXJuITE7dmFyIGg9Zi5nZXQociksdj1mLmdldChlKTtpZihoJiZ2KXJldHVybiBoPT1lJiZ2PT1yO3ZhciBkPS0xLHA9ITAsZz0yJnQ/bmV3IG8uZGVmYXVsdDp2b2lkIDA7Zm9yKGYuc2V0KHIsZSksZi5zZXQoZSxyKTsrK2Q8YTspe3ZhciB3PXJbZF0sYj1lW2RdO2lmKG4pdmFyIG09dT9uKGIsdyxkLGUscixmKTpuKHcsYixkLHIsZSxmKTtpZih2b2lkIDAhPT1tKXtpZihtKWNvbnRpbnVlO3A9ITE7YnJlYWt9aWYoZyl7aWYoIWkoZSwoZnVuY3Rpb24ocixlKXtpZighKDAsYy5kZWZhdWx0KShnLGUpJiYodz09PXJ8fHModyxyLHQsbixmKSkpcmV0dXJuIGcucHVzaChlKX0pKSl7cD0hMTticmVha319ZWxzZSBpZih3IT09YiYmIXModyxiLHQsbixmKSl7cD0hMTticmVha319cmV0dXJuIGYuZGVsZXRlKHIpLGYuZGVsZXRlKGUpLHB9O3ZhciBmPXQoODcyOTk5KSx1PXQoODY1MzMwKSxhPXQoOTEwNzc4KTtjb25zdCBsPWZ1bmN0aW9uKHIpe3ZhciBlPS0xLHQ9QXJyYXkoci5zaXplKTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihyLG4pe3RbKytlXT1bbixyXX0pKSx0fTt2YXIgaD10KDk3MjAxNyksdj1mLmRlZmF1bHQ/Zi5kZWZhdWx0LnByb3RvdHlwZTp2b2lkIDAsZD12P3YudmFsdWVPZjp2b2lkIDA7Y29uc3QgcD1mdW5jdGlvbihyLGUsdCxuLG8saSxjKXtzd2l0Y2godCl7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6aWYoci5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHIuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3I9ci5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4hKHIuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHwhaShuZXcgdS5kZWZhdWx0KHIpLG5ldyB1LmRlZmF1bHQoZSkpKTtjYXNlIltvYmplY3QgQm9vbGVhbl0iOmNhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IE51bWJlcl0iOnJldHVybigwLGEuZGVmYXVsdCkoK3IsK2UpO2Nhc2UiW29iamVjdCBFcnJvcl0iOnJldHVybiByLm5hbWU9PWUubmFtZSYmci5tZXNzYWdlPT1lLm1lc3NhZ2U7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4gcj09ZSsiIjtjYXNlIltvYmplY3QgTWFwXSI6dmFyIGY9bDtjYXNlIltvYmplY3QgU2V0XSI6dmFyIHY9MSZuO2lmKGZ8fChmPWguZGVmYXVsdCksci5zaXplIT1lLnNpemUmJiF2KXJldHVybiExO3ZhciBwPWMuZ2V0KHIpO2lmKHApcmV0dXJuIHA9PWU7bnw9MixjLnNldChyLGUpO3ZhciBnPXMoZihyKSxmKGUpLG4sbyxpLGMpO3JldHVybiBjLmRlbGV0ZShyKSxnO2Nhc2UiW29iamVjdCBTeW1ib2xdIjppZihkKXJldHVybiBkLmNhbGwocik9PWQuY2FsbChlKX1yZXR1cm4hMX07dmFyIGc9dCg4MDYyNDApLHc9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBiPWZ1bmN0aW9uKHIsZSx0LG4sbyxpKXt2YXIgYz0xJnQscz0oMCxnLmRlZmF1bHQpKHIpLGY9cy5sZW5ndGg7aWYoZiE9KDAsZy5kZWZhdWx0KShlKS5sZW5ndGgmJiFjKXJldHVybiExO2Zvcih2YXIgdT1mO3UtLTspe3ZhciBhPXNbdV07aWYoIShjP2EgaW4gZTp3LmNhbGwoZSxhKSkpcmV0dXJuITF9dmFyIGw9aS5nZXQociksaD1pLmdldChlKTtpZihsJiZoKXJldHVybiBsPT1lJiZoPT1yO3ZhciB2PSEwO2kuc2V0KHIsZSksaS5zZXQoZSxyKTtmb3IodmFyIGQ9YzsrK3U8Zjspe3ZhciBwPXJbYT1zW3VdXSxiPWVbYV07aWYobil2YXIgbT1jP24oYixwLGEsZSxyLGkpOm4ocCxiLGEscixlLGkpO2lmKCEodm9pZCAwPT09bT9wPT09Ynx8byhwLGIsdCxuLGkpOm0pKXt2PSExO2JyZWFrfWR8fChkPSJjb25zdHJ1Y3RvciI9PWEpfWlmKHYmJiFkKXt2YXIgRT1yLmNvbnN0cnVjdG9yLGo9ZS5jb25zdHJ1Y3RvcjtFPT1qfHwhKCJjb25zdHJ1Y3RvciJpbiByKXx8ISgiY29uc3RydWN0b3IiaW4gZSl8fCJmdW5jdGlvbiI9PXR5cGVvZiBFJiZFIGluc3RhbmNlb2YgRSYmImZ1bmN0aW9uIj09dHlwZW9mIGomJmogaW5zdGFuY2VvZiBqfHwodj0hMSl9cmV0dXJuIGkuZGVsZXRlKHIpLGkuZGVsZXRlKGUpLHZ9Cjt2YXIgbT10KDk2OTc4NSksRT10KDI5NTYzNSksaj10KDY1OTAxOCkseT10KDE2NTI2NyksUD0iW29iamVjdCBBcmd1bWVudHNdIixPPSJbb2JqZWN0IEFycmF5XSIsaz0iW29iamVjdCBPYmplY3RdIixBPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Y29uc3QgRD1mdW5jdGlvbihyLGUsdCxvLGksYyl7dmFyIGY9KDAsRS5kZWZhdWx0KShyKSx1PSgwLEUuZGVmYXVsdCkoZSksYT1mP086KDAsbS5kZWZhdWx0KShyKSxsPXU/TzooMCxtLmRlZmF1bHQpKGUpLGg9KGE9YT09UD9rOmEpPT1rLHY9KGw9bD09UD9rOmwpPT1rLGQ9YT09bDtpZihkJiYoMCxqLmRlZmF1bHQpKHIpKXtpZighKDAsai5kZWZhdWx0KShlKSlyZXR1cm4hMTtmPSEwLGg9ITF9aWYoZCYmIWgpcmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGZ8fCgwLHkuZGVmYXVsdCkocik/cyhyLGUsdCxvLGksYyk6cChyLGUsYSx0LG8saSxjKTtpZighKDEmdCkpe3ZhciBnPWgmJkEuY2FsbChyLCJfX3dyYXBwZWRfXyIpLHc9diYmQS5jYWxsKGUsIl9fd3JhcHBlZF9fIik7aWYoZ3x8dyl7dmFyIEQ9Zz9yLnZhbHVlKCk6cixNPXc/ZS52YWx1ZSgpOmU7cmV0dXJuIGN8fChjPW5ldyBuLmRlZmF1bHQpLGkoRCxNLHQsbyxjKX19cmV0dXJuISFkJiYoY3x8KGM9bmV3IG4uZGVmYXVsdCksYihyLGUsdCxvLGksYykpfTt2YXIgTT10KDM2MDYyMCk7Y29uc3QgTj1mdW5jdGlvbiByKGUsdCxuLG8saSl7cmV0dXJuIGU9PT10fHwobnVsbD09ZXx8bnVsbD09dHx8ISgwLE0uZGVmYXVsdCkoZSkmJiEoMCxNLmRlZmF1bHQpKHQpP2UhPWUmJnQhPXQ6RChlLHQsbixvLHIsaSkpfX0sMTY3NTAyKHIsZSx0KXsidXNlIHN0cmljdCI7dC5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgbj10KDg3Mjg4MSk7Y29uc3Qgbz1mdW5jdGlvbihyLGUpe3JldHVybigwLG4uZGVmYXVsdCkocixlKX19fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/48652.9487148ca973a8ce4caa.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.866Z","timestamp":1785136429866,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/48652.9487148ca973a8ce4caa.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/80639.93402c009a27b4660c7b.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.256Z","timestamp":1785136429256,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/80639.93402c009a27b4660c7b.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b73-8b\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:23 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:42\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 73e083a855869a28b4db470cd5715878\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":139,"size_decoded":920,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"2faeea5bc235cb9ea4b573fb2a53b0d1","sha1":"c7e2a2b388edcf4bec4dce73bcfdd08d44b612a9","sha256":"8d1688c131c79f862e429de6507fa33049831254957d7218d945cee5cfc55e00","sha512":"6d47c18f801752be93b3f3c2c844704bfccaa800c25ece5507725d97e2a1bde8e419ef5029eb7670612b44ed976b6a25c0f4d4908b0476ad5cf3f5cae5e92cef","ssdeep":"","tlshash":"43c02b4c812ec441c8d70e42f4cce7041cdb1023006e460b820e0c284cfb4760b10f3c","first_seen":"2023-04-17T07:26:30Z","last_seen":"2026-08-11T04:43:23.062648Z","times_seen":1364,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpFdWNsaWRDaXJjdWxhcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3JjOnVybChFdWNsaWRDaXJjdWxhci5iZThmODYyZGI0OGMyOTc2MDA5Zi53b2ZmMikgZm9ybWF0KCJ3b2ZmMiIpfQ=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/bitcoin.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.076Z","timestamp":1785136422076,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/bitcoin.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 10449\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":10449,"size_decoded":10791,"mime_type":"image/png","magic":"PNG image data, 178 x 127, 8-bit/color RGBA, non-interlaced","md5":"7e3a3b65ea56e95fa5e4585dd0a193cb","sha1":"3dbffca840c81f07daa1a036223f1a0585c91cc7","sha256":"a4775d5d73a370731ed46df180d755d8b9616cf5c283be89b5abba1be2562c94","sha512":"d498333c97e281670dc5b2fe284c360c12da0d39402d7fab963224e23a8878c011d0df865417a614205c068ee4a5307c37e76639be676465a18a785d0a1a2dd3","ssdeep":"192:15g52eSyKk91vnXpq72fTPobS9FlqGrIFdlCrQP2keFdSCAvlpJ0r5U:gQeSyLvnXQC76UiG00QP2nxUcr5U","tlshash":"f922bfb15bbe9ec4248ee96f8c254ee0fd89fded906637902b1633250a1e4102798623","first_seen":"2025-12-03T04:46:43.775971Z","last_seen":"2026-07-29T06:14:00.452202Z","times_seen":12,"resource_available":false,"data":"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"}},"time_used":5005,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5005,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.737Z","timestamp":1785136427737,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/99827.d3976dc0c5cfa2c2140e.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-15b86\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 555a5930977307564f7cdd2157143e2a\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":88966,"size_decoded":33770,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3072)","md5":"0af33a0629a4a15d05b8d21be003c0eb","sha1":"d61ed97048a72976c85785513a62b5e8590fb75a","sha256":"4dbdbd0c38d1d6468cbd0ec6b02411faaeffeddfc87c7b638be2e1263931cd14","sha512":"4350a5eab085a85477d149b1a91edb41a808bb070818e9d43e5e1147e4c71a0a5c3438616ab61efb6497365cb84e1f518343afd20431bb8612ba9f7a2165f814","ssdeep":"1536:wjugPsJO3KbxBvr1tBzoxvAgVIvrKfu2DNzmR5axsx5Eng/vc2JZu4+ej3aNOtHm:k0yKlvh/Z+839HMY74qBs","tlshash":"149309ddb2c5b06257e731b910af650ab237249d680d8440f139e8f6bc74b4aa13be7d","first_seen":"2026-05-05T10:36:04.846561Z","last_seen":"2026-08-11T04:47:30.056543Z","times_seen":2770,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5OTgyN10sezE5OTgyNyhlKXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsbj13aW5kb3cubmF2aWdhdG9yLHI9d2luZG93LmxvY2F0aW9uLGk9ZnVuY3Rpb24oKXt2YXIgZSxyLGksbyxhPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG5ldyBhLmZuLmluaXQodCxuLGUpfSxzPXdpbmRvdy5qUXVlcnksbD13aW5kb3cuJCx1PS9eKD86W14jPF0qKDxbXHdcV10rPilbXj5dKiR8IyhbXHdcLV0qKSQpLyxjPS9eXHMrLyxmPS9ccyskLyxkPS9ePChcdyspXHMqXC8/Pig/OjxcL1wxPik/JC8scD0vXltcXSw6e31cc10qJC8saD0vXFwoPzpbIlxcXC9iZm5ydF18dVswLTlhLWZBLUZdezR9KS9nLG09LyJbXiJcXFxuXHJdKiJ8dHJ1ZXxmYWxzZXxudWxsfC0/XGQrKD86XC5cZCopPyg/OltlRV1bK1wtXT9cZCspPy9nLGc9Lyg/Ol58OnwsKSg/OlxzKlxbKSsvZyx2PS8od2Via2l0KVsgXC9dKFtcdy5dKykvLHk9LyhvcGVyYSkoPzouKnZlcnNpb24pP1sgXC9dKFtcdy5dKykvLGI9Lyhtc2llKSAoW1x3Ll0rKS8seD0vKG1vemlsbGEpKD86Lio/IHJ2OihbXHcuXSspKT8vLHc9Ly0oW2Etel18WzAtOV0pL2dpLFQ9L14tbXMtLyxOPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrIiIpLnRvVXBwZXJDYXNlKCl9LEM9bi51c2VyQWdlbnQsUz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGs9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxFPUFycmF5LnByb3RvdHlwZS5wdXNoLEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLEQ9U3RyaW5nLnByb3RvdHlwZS50cmltLEw9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsRj17fTtmdW5jdGlvbiBqKCl7aWYoIWEuaXNSZWFkeSl7dHJ5e3QuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dChqLDEpfWEucmVhZHkoKX19cmV0dXJuIGEuZm49YS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmEsaW5pdDpmdW5jdGlvbihlLG4scil7dmFyIGksbyxzLGw7aWYoIWUpcmV0dXJuIHRoaXM7aWYoZS5ub2RlVHlwZSlyZXR1cm4gdGhpcy5jb250ZXh0PXRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXM7aWYoImJvZHkiPT09ZSYmIW4mJnQuYm9keSlyZXR1cm4gdGhpcy5jb250ZXh0PXQsdGhpc1swXT10LmJvZHksdGhpcy5zZWxlY3Rvcj1lLHRoaXMubGVuZ3RoPTEsdGhpcztpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEoaT0iPCI9PT1lLmNoYXJBdCgwKSYmIj4iPT09ZS5jaGFyQXQoZS5sZW5ndGgtMSkmJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06dS5leGVjKGUpKXx8IWlbMV0mJm4pcmV0dXJuIW58fG4uanF1ZXJ5PyhufHxyKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IobikuZmluZChlKTtpZihpWzFdKXJldHVybiBsPShuPW4gaW5zdGFuY2VvZiBhP25bMF06bik/bi5vd25lckRvY3VtZW50fHxuOnQsKHM9ZC5leGVjKGUpKT9hLmlzUGxhaW5PYmplY3Qobik/KGU9W3QuY3JlYXRlRWxlbWVudChzWzFdKV0sYS5mbi5hdHRyLmNhbGwoZSxuLCEwKSk6ZT1bbC5jcmVhdGVFbGVtZW50KHNbMV0pXTplPSgocz1hLmJ1aWxkRnJhZ21lbnQoW2lbMV1dLFtsXSkpLmNhY2hlYWJsZT9hLmNsb25lKHMuZnJhZ21lbnQpOnMuZnJhZ21lbnQpLmNoaWxkTm9kZXMsYS5tZXJnZSh0aGlzLGUpO2lmKChvPXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSkpJiZvLnBhcmVudE5vZGUpe2lmKG8uaWQhPT1pWzJdKXJldHVybiByLmZpbmQoZSk7dGhpcy5sZW5ndGg9MSx0aGlzWzBdPW99cmV0dXJuIHRoaXMuY29udGV4dD10LHRoaXMuc2VsZWN0b3I9ZSx0aGlzfXJldHVybiBhLmlzRnVuY3Rpb24oZSk/ci5yZWFkeShlKToodm9pZCAwIT09ZS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9ZS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9ZS5jb250ZXh0KSxhLm1ha2VBcnJheShlLHRoaXMpKX0sc2VsZWN0b3I6IiIsanF1ZXJ5OiIxLjcuMiIsbGVuZ3RoOjAsc2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aH0sdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBBLmNhbGwodGhpcywwKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3RoaXMudG9BcnJheSgpOmU8MD90aGlzW3RoaXMubGVuZ3RoK2VdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlLHQsbil7dmFyIHI9dGhpcy5jb25zdHJ1Y3RvcigpO3JldHVybiBhLmlzQXJyYXkoZSk/RS5hcHBseShyLGUpOmEubWVyZ2UocixlKSxyLnByZXZPYmplY3Q9dGhpcyxyLmNvbnRleHQ9dGhpcy5jb250ZXh0LCJmaW5kIj09PXQ/ci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyh0aGlzLnNlbGVjdG9yPyIgIjoiIikrbjp0JiYoci5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yKyIuIit0KyIoIituKyIpIikscn0sZWFjaDpmdW5jdGlvbihlLHQpe3JldHVybiBhLmVhY2godGhpcyxlLHQpfSxyZWFkeTpmdW5jdGlvbihlKXtyZXR1cm4gYS5iaW5kUmVhZHkoKSxpLmFkZChlKSx0aGlzfSxlcTpmdW5jdGlvbihlKXtyZXR1cm4tMT09PShlPStlKT90aGlzLnNsaWNlKGUpOnRoaXMuc2xpY2UoZSxlKzEpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhBLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYS5tYXAodGhpcywoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5jYWxsKHQsbix0KX0pKSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IobnVsbCl9LHB1c2g6RSxzb3J0OltdLnNvcnQsc3BsaWNlOltdLnNwbGljZX0sYS5mbi5pbml0LnByb3RvdHlwZT1hLmZuLGEuZXh0ZW5kPWEuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLHM9YXJndW1lbnRzWzBdfHx7fSxsPTEsdT1hcmd1bWVudHMubGVuZ3RoLGM9ITEKO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBzJiYoYz1zLHM9YXJndW1lbnRzWzFdfHx7fSxsPTIpLCJvYmplY3QiPT10eXBlb2Ygc3x8YS5pc0Z1bmN0aW9uKHMpfHwocz17fSksdT09PWwmJihzPXRoaXMsLS1sKTtsPHU7bCsrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tsXSkpZm9yKHQgaW4gZSluPXNbdF0scyE9PShyPWVbdF0pJiYoYyYmciYmKGEuaXNQbGFpbk9iamVjdChyKXx8KGk9YS5pc0FycmF5KHIpKSk/KGk/KGk9ITEsbz1uJiZhLmlzQXJyYXkobik/bjpbXSk6bz1uJiZhLmlzUGxhaW5PYmplY3Qobik/bjp7fSxzW3RdPWEuZXh0ZW5kKGMsbyxyKSk6dm9pZCAwIT09ciYmKHNbdF09cikpO3JldHVybiBzfSxhLmV4dGVuZCh7bm9Db25mbGljdDpmdW5jdGlvbihlKXtyZXR1cm4gd2luZG93LiQ9PT1hJiYod2luZG93LiQ9bCksZSYmd2luZG93LmpRdWVyeT09PWEmJih3aW5kb3cualF1ZXJ5PXMpLGF9LGlzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGUpe2U/YS5yZWFkeVdhaXQrKzphLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oZSl7aWYoITA9PT1lJiYhIC0tYS5yZWFkeVdhaXR8fCEwIT09ZSYmIWEuaXNSZWFkeSl7aWYoIXQuYm9keSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKGEuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYS5yZWFkeVdhaXQ+MClyZXR1cm47aS5maXJlV2l0aCh0LFthXSksYS5mbi50cmlnZ2VyJiZhKHQpLnRyaWdnZXIoInJlYWR5Iikub2ZmKCJyZWFkeSIpfX0sYmluZFJlYWR5OmZ1bmN0aW9uKCl7aWYoIWkpe2lmKGk9YS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksImNvbXBsZXRlIj09PXQucmVhZHlTdGF0ZSlyZXR1cm4gc2V0VGltZW91dChhLnJlYWR5LDEpO2lmKHQuYWRkRXZlbnRMaXN0ZW5lcil0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG8sITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixhLnJlYWR5LCExKTtlbHNlIGlmKHQuYXR0YWNoRXZlbnQpe3QuYXR0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEucmVhZHkpO3ZhciBlPSExO3RyeXtlPW51bGw9PXdpbmRvdy5mcmFtZUVsZW1lbnR9Y2F0Y2goZSl7fXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsJiZlJiZqKCl9fX0saXNGdW5jdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT09YS50eXBlKGUpfSxpc0FycmF5OkFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJhcnJheSI9PT1hLnR5cGUoZSl9LGlzV2luZG93OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT1lLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/U3RyaW5nKGUpOkZbUy5jYWxsKGUpXXx8Im9iamVjdCJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oZSl7aWYoIWV8fCJvYmplY3QiIT09YS50eXBlKGUpfHxlLm5vZGVUeXBlfHxhLmlzV2luZG93KGUpKXJldHVybiExO3RyeXtpZihlLmNvbnN0cnVjdG9yJiYhay5jYWxsKGUsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX12YXIgdDtmb3IodCBpbiBlKTtyZXR1cm4gdm9pZCAwPT09dHx8ay5jYWxsKGUsdCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0scGFyc2VKU09OOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmZT8oZT1hLnRyaW0oZSksd2luZG93LkpTT04mJndpbmRvdy5KU09OLnBhcnNlP3dpbmRvdy5KU09OLnBhcnNlKGUpOnAudGVzdChlLnJlcGxhY2UoaCwiQCIpLnJlcGxhY2UobSwiXSIpLnJlcGxhY2UoZywiIikpP25ldyBGdW5jdGlvbigicmV0dXJuICIrZSkoKTp2b2lkIGEuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKSk6bnVsbH0scGFyc2VYTUw6ZnVuY3Rpb24oZSl7aWYoInN0cmluZyIhPXR5cGVvZiBlfHwhZSlyZXR1cm4gbnVsbDt2YXIgdDt0cnl7d2luZG93LkRPTVBhcnNlcj90PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKTooKHQ9bmV3IEFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSkuYXN5bmM9ImZhbHNlIix0LmxvYWRYTUwoZSkpfWNhdGNoKGUpe3Q9dm9pZCAwfXJldHVybiB0JiZ0LmRvY3VtZW50RWxlbWVudCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxhLmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fSxub29wOmZ1bmN0aW9uKCl7fSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe30sY2FtZWxDYXNlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoVCwibXMtIikucmVwbGFjZSh3LE4pfSxub2RlTmFtZTpmdW5jdGlvbihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk9PT10LnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9MCxvPWUubGVuZ3RoLHM9dm9pZCAwPT09b3x8YS5pc0Z1bmN0aW9uKGUpO2lmKG4paWYocyl7Zm9yKHIgaW4gZSlpZighMT09PXQuYXBwbHkoZVtyXSxuKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuYXBwbHkoZVtpKytdLG4pOyk7ZWxzZSBpZihzKXtmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVha31lbHNlIGZvcig7aTxvJiYhMSE9PXQuY2FsbChlW2ldLGksZVtpKytdKTspO3JldHVybiBlfSx0cmltOkQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/IiI6RC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplLnRvU3RyaW5nKCkucmVwbGFjZShjLCIiKS5yZXBsYWNlKGYsIiIpfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtpZihudWxsIT1lKXt2YXIgcj1hLnR5cGUoZSkKO251bGw9PWUubGVuZ3RofHwic3RyaW5nIj09PXJ8fCJmdW5jdGlvbiI9PT1yfHwicmVnZXhwIj09PXJ8fGEuaXNXaW5kb3coZSk/RS5jYWxsKG4sZSk6YS5tZXJnZShuLGUpfXJldHVybiBufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih0KXtpZihMKXJldHVybiBMLmNhbGwodCxlLG4pO2ZvcihyPXQubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxyK24pOm46MDtuPHI7bisrKWlmKG4gaW4gdCYmdFtuXT09PWUpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO2lmKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpZm9yKHZhciBpPXQubGVuZ3RoO3I8aTtyKyspZVtuKytdPXRbcl07ZWxzZSBmb3IoO3ZvaWQgMCE9PXRbcl07KWVbbisrXT10W3IrK107cmV0dXJuIGUubGVuZ3RoPW4sZX0sZ3JlcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9W107bj0hIW47Zm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4hPT0hIXQoZVtpXSxpKSYmci5wdXNoKGVbaV0pO3JldHVybiByfSxtYXA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1bXSxzPTAsbD1lLmxlbmd0aDtpZihlIGluc3RhbmNlb2YgYXx8dm9pZCAwIT09bCYmIm51bWJlciI9PXR5cGVvZiBsJiYobD4wJiZlWzBdJiZlW2wtMV18fDA9PT1sfHxhLmlzQXJyYXkoZSkpKWZvcig7czxsO3MrKyludWxsIT0ocj10KGVbc10scyxuKSkmJihvW28ubGVuZ3RoXT1yKTtlbHNlIGZvcihpIGluIGUpbnVsbCE9KHI9dChlW2ldLGksbikpJiYob1tvLmxlbmd0aF09cik7cmV0dXJuIG8uY29uY2F0LmFwcGx5KFtdLG8pfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPWVbdF07dD1lLGU9bn1pZihhLmlzRnVuY3Rpb24oZSkpe3ZhciByPUEuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBlLmFwcGx5KHQsci5jb25jYXQoQS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxpLmd1aWR8fGEuZ3VpZCsrLGl9fSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4scixpLG8scyl7dmFyIGwsdT1udWxsPT1uLGM9MCxmPWUubGVuZ3RoO2lmKG4mJiJvYmplY3QiPT10eXBlb2Ygbil7Zm9yKGMgaW4gbilhLmFjY2VzcyhlLHQsYyxuW2NdLDEsbyxyKTtpPTF9ZWxzZSBpZih2b2lkIDAhPT1yKXtpZihsPXZvaWQgMD09PXMmJmEuaXNGdW5jdGlvbihyKSx1JiYobD8obD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoYShlKSxuKX0pOih0LmNhbGwoZSxyKSx0PW51bGwpKSx0KWZvcig7YzxmO2MrKyl0KGVbY10sbixsP3IuY2FsbChlW2NdLGMsdChlW2NdLG4pKTpyLHMpO2k9MX1yZXR1cm4gaT9lOnU/dC5jYWxsKGUpOmY/dChlWzBdLG4pOm99LG5vdzpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx1YU1hdGNoOmZ1bmN0aW9uKGUpe2U9ZS50b0xvd2VyQ2FzZSgpO3ZhciB0PXYuZXhlYyhlKXx8eS5leGVjKGUpfHxiLmV4ZWMoZSl8fGUuaW5kZXhPZigiY29tcGF0aWJsZSIpPDAmJnguZXhlYyhlKXx8W107cmV0dXJue2Jyb3dzZXI6dFsxXXx8IiIsdmVyc2lvbjp0WzJdfHwiMCJ9fSxzdWI6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsbil7cmV0dXJuIG5ldyBlLmZuLmluaXQodCxuKX1hLmV4dGVuZCghMCxlLHRoaXMpLGUuc3VwZXJjbGFzcz10aGlzLGUuZm49ZS5wcm90b3R5cGU9dGhpcygpLGUuZm4uY29uc3RydWN0b3I9ZSxlLnN1Yj10aGlzLnN1YixlLmZuLmluaXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gciYmciBpbnN0YW5jZW9mIGEmJiEociBpbnN0YW5jZW9mIGUpJiYocj1lKHIpKSxhLmZuLmluaXQuY2FsbCh0aGlzLHQscixuKX0sZS5mbi5pbml0LnByb3RvdHlwZT1lLmZuO3ZhciBuPWUodCk7cmV0dXJuIGV9LGJyb3dzZXI6e319KSxhLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7RlsiW29iamVjdCAiK3QrIl0iXT10LnRvTG93ZXJDYXNlKCl9KSksKHI9YS51YU1hdGNoKEMpKS5icm93c2VyJiYoYS5icm93c2VyW3IuYnJvd3Nlcl09ITAsYS5icm93c2VyLnZlcnNpb249ci52ZXJzaW9uKSxhLmJyb3dzZXIud2Via2l0JiYoYS5icm93c2VyLnNhZmFyaT0hMCksL1xTLy50ZXN0KCLCoCIpJiYoYz0vXltcc1x4QTBdKy8sZj0vW1xzXHhBMF0rJC8pLGU9YSh0KSx0LmFkZEV2ZW50TGlzdGVuZXI/bz1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsbywhMSksYS5yZWFkeSgpfTp0LmF0dGFjaEV2ZW50JiYobz1mdW5jdGlvbigpeyJjb21wbGV0ZSI9PT10LnJlYWR5U3RhdGUmJih0LmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGEucmVhZHkoKSl9KSxhfSgpLG89e307aS5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1lP29bZV18fGZ1bmN0aW9uKGUpe3ZhciB0LG4scj1vW2VdPXt9O2Zvcih0PTAsbj0oZT1lLnNwbGl0KC9ccysvKSkubGVuZ3RoO3Q8bjt0KyspcltlW3RdXT0hMDtyZXR1cm4gcn0oZSk6e307dmFyIHQsbixyLGEscyxsLHU9W10sYz1bXSxmPWZ1bmN0aW9uKHQpe3ZhciBuLHIsbyxhO2ZvcihuPTAscj10Lmxlbmd0aDtuPHI7bisrKW89dFtuXSwiYXJyYXkiPT09KGE9aS50eXBlKG8pKT9mKG8pOiJmdW5jdGlvbiI9PT1hJiYoZS51bmlxdWUmJnAuaGFzKG8pfHx1LnB1c2gobykpfSxkPWZ1bmN0aW9uKGksbyl7Zm9yKG89b3x8W10sdD0hZS5tZW1vcnl8fFtpLG9dLG49ITAscj0hMCxsPWF8fDAsYT0wLHM9dS5sZW5ndGg7dSYmbDxzO2wrKylpZighMT09PXVbbF0uYXBwbHkoaSxvKSYmZS5zdG9wT25GYWxzZSl7dD0hMDticmVha31yPSExLHUmJihlLm9uY2U/ITA9PT10P3AuZGlzYWJsZSgpOnU9W106YyYmYy5sZW5ndGgmJih0PWMuc2hpZnQoKSxwLmZpcmVXaXRoKHRbMF0sdFsxXSkpKX0scD17YWRkOmZ1bmN0aW9uKCl7aWYodSl7dmFyIGU9dS5sZW5ndGg7Zihhcmd1bWVudHMpLHI/cz11Lmxlbmd0aDp0JiYhMCE9PXQmJihhPWUsZCh0WzBdLHRbMV0pKX1yZXR1cm4gdGhpc30sCnJlbW92ZTpmdW5jdGlvbigpe2lmKHUpZm9yKHZhciB0PWFyZ3VtZW50cyxuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWZvcih2YXIgbz0wO288dS5sZW5ndGgmJih0W25dIT09dVtvXXx8KHImJm88PXMmJihzLS0sbzw9bCYmbC0tKSx1LnNwbGljZShvLS0sMSksIWUudW5pcXVlKSk7bysrKTtyZXR1cm4gdGhpc30saGFzOmZ1bmN0aW9uKGUpe2lmKHUpZm9yKHZhciB0PTAsbj11Lmxlbmd0aDt0PG47dCsrKWlmKGU9PT11W3RdKXJldHVybiEwO3JldHVybiExfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiB1PVtdLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdT1jPXQ9dm9pZCAwLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXV9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYz12b2lkIDAsdCYmITAhPT10fHxwLmRpc2FibGUoKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sZmlyZVdpdGg6ZnVuY3Rpb24obixpKXtyZXR1cm4gYyYmKHI/ZS5vbmNlfHxjLnB1c2goW24saV0pOmUub25jZSYmdHx8ZChuLGkpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFufX07cmV0dXJuIHB9O3ZhciBhPVtdLnNsaWNlO2kuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgdCxuPWkuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLHI9aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksbz1pLkNhbGxiYWNrcygibWVtb3J5IiksYT0icGVuZGluZyIscz17cmVzb2x2ZTpuLHJlamVjdDpyLG5vdGlmeTpvfSxsPXtkb25lOm4uYWRkLGZhaWw6ci5hZGQscHJvZ3Jlc3M6by5hZGQsc3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNvbHZlZDpuLmZpcmVkLGlzUmVqZWN0ZWQ6ci5maXJlZCx0aGVuOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdS5kb25lKGUpLmZhaWwodCkucHJvZ3Jlc3MobiksdGhpc30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZG9uZS5hcHBseSh1LGFyZ3VtZW50cykuZmFpbC5hcHBseSh1LGFyZ3VtZW50cyksdGhpc30scGlwZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuRGVmZXJyZWQoKGZ1bmN0aW9uKHIpe2kuZWFjaCh7ZG9uZTpbZSwicmVzb2x2ZSJdLGZhaWw6W3QsInJlamVjdCJdLHByb2dyZXNzOltuLCJub3RpZnkiXX0sKGZ1bmN0aW9uKGUsdCl7dmFyIG4sbz10WzBdLGE9dFsxXTtpLmlzRnVuY3Rpb24obyk/dVtlXSgoZnVuY3Rpb24oKXsobj1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkmJmkuaXNGdW5jdGlvbihuLnByb21pc2UpP24ucHJvbWlzZSgpLnRoZW4oci5yZXNvbHZlLHIucmVqZWN0LHIubm90aWZ5KTpyW2ErIldpdGgiXSh0aGlzPT09dT9yOnRoaXMsW25dKX0pKTp1W2VdKHJbYV0pfSkpfSkpLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihlKXtpZihudWxsPT1lKWU9bDtlbHNlIGZvcih2YXIgdCBpbiBsKWVbdF09bFt0XTtyZXR1cm4gZX19LHU9bC5wcm9taXNlKHt9KTtmb3IodCBpbiBzKXVbdF09c1t0XS5maXJlLHVbdCsiV2l0aCJdPXNbdF0uZmlyZVdpdGg7cmV0dXJuIHUuZG9uZSgoZnVuY3Rpb24oKXthPSJyZXNvbHZlZCJ9KSxyLmRpc2FibGUsby5sb2NrKS5mYWlsKChmdW5jdGlvbigpe2E9InJlamVjdGVkIn0pLG4uZGlzYWJsZSxvLmxvY2spLGUmJmUuY2FsbCh1LHUpLHV9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YS5jYWxsKGFyZ3VtZW50cywwKSxuPTAscj10Lmxlbmd0aCxvPW5ldyBBcnJheShyKSxzPXIsbD1yPD0xJiZlJiZpLmlzRnVuY3Rpb24oZS5wcm9taXNlKT9lOmkuRGVmZXJyZWQoKSx1PWwucHJvbWlzZSgpO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RbZV09YXJndW1lbnRzLmxlbmd0aD4xP2EuY2FsbChhcmd1bWVudHMsMCk6biwtLXN8fGwucmVzb2x2ZVdpdGgobCx0KX19ZnVuY3Rpb24gZihlKXtyZXR1cm4gZnVuY3Rpb24odCl7b1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/YS5jYWxsKGFyZ3VtZW50cywwKTp0LGwubm90aWZ5V2l0aCh1LG8pfX1pZihyPjEpe2Zvcig7bjxyO24rKyl0W25dJiZ0W25dLnByb21pc2UmJmkuaXNGdW5jdGlvbih0W25dLnByb21pc2UpP3Rbbl0ucHJvbWlzZSgpLnRoZW4oYyhuKSxsLnJlamVjdCxmKG4pKTotLXM7c3x8bC5yZXNvbHZlV2l0aChsLHQpfWVsc2UgbCE9PWUmJmwucmVzb2x2ZVdpdGgobCxyP1tlXTpbXSk7cmV0dXJuIHV9fSksaS5zdXBwb3J0PXtsZWFkaW5nV2hpdGVzcGFjZTohMCx0Ym9keTohMCxodG1sU2VyaWFsaXplOiEwLHN0eWxlOiEwLGhyZWZOb3JtYWxpemVkOiEwLG9wYWNpdHk6ITAsY3NzRmxvYXQ6ITAsY2hlY2tPbjohMCxvcHRTZWxlY3RlZDohMCxnZXRTZXRBdHRyaWJ1dGU6ITAsZW5jdHlwZTohMCxodG1sNUNsb25lOiEwLHN1Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczohMSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05lZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5SaWdodDohMCxwaXhlbE1hcmdpbjohMCxib3hNb2RlbDohMCxub0Nsb25lQ2hlY2tlZDohMCxvcHREaXNhYmxlZDohMCxyYWRpb1ZhbHVlOiEwLGNoZWNrQ2xvbmU6ITAsYXBwZW5kQ2hlY2tlZDohMCxhamF4OiEwLGNvcnM6ITAscmVsaWFibGVIaWRkZW5PZmZzZXRzOiEwLGRvZXNOb3RBZGRCb3JkZXI6ITAsZG9lc0FkZEJvcmRlckZvclRhYmxlQW5kQ2VsbHM6ITEsZml4ZWRQb3NpdGlvbjohMCxzdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGU6ITEsZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQ6ITB9O3ZhciBzPS9eKD86XHsuKlx9fFxbLipcXSkkLyxsPS8oW0EtWl0pL2c7ZnVuY3Rpb24gdShlLHQsbil7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpe3ZhciByPSJkYXRhLSIrdC5yZXBsYWNlKGwsIi0kMSIpLnRvTG93ZXJDYXNlKCk7aWYoInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5ewpuPSJ0cnVlIj09PW58fCJmYWxzZSIhPT1uJiYoIm51bGwiPT09bj9udWxsOmkuaXNOdW1lcmljKG4pPytuOnMudGVzdChuKT9pLnBhcnNlSlNPTihuKTpuKX1jYXRjaChlKXt9aS5kYXRhKGUsdCxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0IGluIGUpaWYoKCJkYXRhIiE9PXR8fCFpLmlzRW1wdHlPYmplY3QoZVt0XSkpJiYidG9KU09OIiE9PXQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9dCsiZGVmZXIiLG89dCsicXVldWUiLGE9dCsibWFyayIscz1pLl9kYXRhKGUscik7IXN8fCJxdWV1ZSIhPT1uJiZpLl9kYXRhKGUsbyl8fCJtYXJrIiE9PW4mJmkuX2RhdGEoZSxhKXx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXtpLl9kYXRhKGUsbyl8fGkuX2RhdGEoZSxhKXx8KGkucmVtb3ZlRGF0YShlLHIsITApLHMuZmlyZSgpKX0pLDApfWkuZXh0ZW5kKHtjYWNoZTp7fSx1dWlkOjAsZXhwYW5kbzoialF1ZXJ5IisoaS5mbi5qcXVlcnkrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksbm9EYXRhOntlbWJlZDohMCxvYmplY3Q6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIsYXBwbGV0OiEwfSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5ub2RlVHlwZT9pLmNhY2hlW2VbaS5leHBhbmRvXV06ZVtpLmV4cGFuZG9dKSYmIWMoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4scil7aWYoaS5hY2NlcHREYXRhKGUpKXt2YXIgbyxhLHMsbD1pLmV4cGFuZG8sdT0ic3RyaW5nIj09dHlwZW9mIHQsYz1lLm5vZGVUeXBlLGY9Yz9pLmNhY2hlOmUsZD1jP2VbbF06ZVtsXSYmbCxwPSJldmVudHMiPT09dDtpZihkJiZmW2RdJiYocHx8cnx8ZltkXS5kYXRhKXx8IXV8fHZvaWQgMCE9PW4pcmV0dXJuIGR8fChjP2VbbF09ZD0rK2kudXVpZDpkPWwpLGZbZF18fChmW2RdPXt9LGN8fChmW2RdLnRvSlNPTj1pLm5vb3ApKSwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwocj9mW2RdPWkuZXh0ZW5kKGZbZF0sdCk6ZltkXS5kYXRhPWkuZXh0ZW5kKGZbZF0uZGF0YSx0KSksbz1hPWZbZF0scnx8KGEuZGF0YXx8KGEuZGF0YT17fSksYT1hLmRhdGEpLHZvaWQgMCE9PW4mJihhW2kuY2FtZWxDYXNlKHQpXT1uKSxwJiYhYVt0XT9vLmV2ZW50czoodT9udWxsPT0ocz1hW3RdKSYmKHM9YVtpLmNhbWVsQ2FzZSh0KV0pOnM9YSxzKX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0LG4pe2lmKGkuYWNjZXB0RGF0YShlKSl7dmFyIHIsbyxhLHM9aS5leHBhbmRvLGw9ZS5ub2RlVHlwZSx1PWw/aS5jYWNoZTplLGY9bD9lW3NdOnM7aWYodVtmXSl7aWYodCYmKHI9bj91W2ZdOnVbZl0uZGF0YSkpe2kuaXNBcnJheSh0KXx8KHQ9dCBpbiByfHwodD1pLmNhbWVsQ2FzZSh0KSlpbiByP1t0XTp0LnNwbGl0KCIgIikpO2ZvcihvPTAsYT10Lmxlbmd0aDtvPGE7bysrKWRlbGV0ZSByW3Rbb11dO2lmKCEobj9jOmkuaXNFbXB0eU9iamVjdCkocikpcmV0dXJufShufHwoZGVsZXRlIHVbZl0uZGF0YSxjKHVbZl0pKSkmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kb3x8IXUuc2V0SW50ZXJ2YWw/ZGVsZXRlIHVbZl06dVtmXT1udWxsLGwmJihpLnN1cHBvcnQuZGVsZXRlRXhwYW5kbz9kZWxldGUgZVtzXTplLnJlbW92ZUF0dHJpYnV0ZT9lLnJlbW92ZUF0dHJpYnV0ZShzKTplW3NdPW51bGwpKX19fSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGF0YShlLHQsbiwhMCl9LGFjY2VwdERhdGE6ZnVuY3Rpb24oZSl7aWYoZS5ub2RlTmFtZSl7dmFyIHQ9aS5ub0RhdGFbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZih0KXJldHVybiEoITA9PT10fHxlLmdldEF0dHJpYnV0ZSgiY2xhc3NpZCIpIT09dCl9cmV0dXJuITB9fSksaS5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG8sYSxzLGw9dGhpc1swXSxjPTAsZj1udWxsO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoZj1pLmRhdGEobCksMT09PWwubm9kZVR5cGUmJiFpLl9kYXRhKGwsInBhcnNlZEF0dHJzIikpKXtmb3Iocz0obz1sLmF0dHJpYnV0ZXMpLmxlbmd0aDtjPHM7YysrKTA9PT0oYT1vW2NdLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihhPWkuY2FtZWxDYXNlKGEuc3Vic3RyaW5nKDUpKSx1KGwsYSxmW2FdKSk7aS5fZGF0YShsLCJwYXJzZWRBdHRycyIsITApfXJldHVybiBmfXJldHVybiJvYmplY3QiPT10eXBlb2YgZT90aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kYXRhKHRoaXMsZSl9KSk6KChuPWUuc3BsaXQoIi4iLDIpKVsxXT1uWzFdPyIuIituWzFdOiIiLHI9blsxXSsiISIsaS5hY2Nlc3ModGhpcywoZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCAwPT09KGY9dGhpcy50cmlnZ2VySGFuZGxlcigiZ2V0RGF0YSIrcixbblswXV0pKSYmbCYmKGY9aS5kYXRhKGwsZSksZj11KGwsZSxmKSksdm9pZCAwPT09ZiYmblsxXT90aGlzLmRhdGEoblswXSk6ZjtuWzFdPXQsdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBvPWkodGhpcyk7by50cmlnZ2VySGFuZGxlcigic2V0RGF0YSIrcixuKSxpLmRhdGEodGhpcyxlLHQpLG8udHJpZ2dlckhhbmRsZXIoImNoYW5nZURhdGEiK3Isbil9KSl9KSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITEpKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlRGF0YSh0aGlzLGUpfSkpfX0pLGkuZXh0ZW5kKHtfbWFyazpmdW5jdGlvbihlLHQpe2UmJih0PSh0fHwiZngiKSsibWFyayIsaS5fZGF0YShlLHQsKGkuX2RhdGEoZSx0KXx8MCkrMSkpfSxfdW5tYXJrOmZ1bmN0aW9uKGUsdCxuKXtpZighMCE9PWUmJihuPXQsdD1lLGU9ITEpLHQpe3ZhciByPShuPW58fCJmeCIpKyJtYXJrIixvPWU/MDooaS5fZGF0YSh0LHIpfHwxKS0xO28/aS5fZGF0YSh0LHIsbyk6KGkucmVtb3ZlRGF0YSh0LHIsITApLGYodCxuLCJtYXJrIikpfX0scXVldWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1pLl9kYXRhKGUsdCksCm4mJighcnx8aS5pc0FycmF5KG4pP3I9aS5fZGF0YShlLHQsaS5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49aS5xdWV1ZShlLHQpLHI9bi5zaGlmdCgpLG89e307ImlucHJvZ3Jlc3MiPT09ciYmKHI9bi5zaGlmdCgpKSxyJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGkuX2RhdGEoZSx0KyIucnVuIixvKSxyLmNhbGwoZSwoZnVuY3Rpb24oKXtpLmRlcXVldWUoZSx0KX0pLG8pKSxuLmxlbmd0aHx8KGkucmVtb3ZlRGF0YShlLHQrInF1ZXVlICIrdCsiLnJ1biIsITApLGYoZSx0LCJxdWV1ZSIpKX19KSxpLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPSJmeCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/aS5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5xdWV1ZSh0aGlzLGUsdCk7ImZ4Ij09PWUmJiJpbnByb2dyZXNzIiE9PW5bMF0mJmkuZGVxdWV1ZSh0aGlzLGUpfSkpfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5kZXF1ZXVlKHRoaXMsZSl9KSl9LGRlbGF5OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9aS5meCYmaS5meC5zcGVlZHNbZV18fGUsdD10fHwiZngiLHRoaXMucXVldWUodCwoZnVuY3Rpb24odCxuKXt2YXIgcj1zZXRUaW1lb3V0KHQsZSk7bi5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpfX0pKX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpeyJzdHJpbmciIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3ZhciBuLHI9aS5EZWZlcnJlZCgpLG89dGhpcyxhPW8ubGVuZ3RoLHM9MSxsPWUrImRlZmVyIix1PWUrInF1ZXVlIixjPWUrIm1hcmsiO2Z1bmN0aW9uIGYoKXstLXN8fHIucmVzb2x2ZVdpdGgobyxbb10pfWZvcig7YS0tOykobj1pLmRhdGEob1thXSxsLHZvaWQgMCwhMCl8fChpLmRhdGEob1thXSx1LHZvaWQgMCwhMCl8fGkuZGF0YShvW2FdLGMsdm9pZCAwLCEwKSkmJmkuZGF0YShvW2FdLGwsaS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksITApKSYmKHMrKyxuLmFkZChmKSk7cmV0dXJuIGYoKSxyLnByb21pc2UodCl9fSk7dmFyIGQscCxoLG09L1tcblx0XHJdL2csZz0vXHMrLyx2PS9cci9nLHk9L14oPzpidXR0b258aW5wdXQpJC9pLGI9L14oPzpidXR0b258aW5wdXR8b2JqZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2kseD0vXmEoPzpyZWEpPyQvaSx3PS9eKD86YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLFQ9aS5zdXBwb3J0LmdldFNldEF0dHJpYnV0ZTtpLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLGkuYXR0cixlLHQsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kucmVtb3ZlQXR0cih0aGlzLGUpfSkpfSxwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsaS5wcm9wLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVQcm9wOmZ1bmN0aW9uKGUpe3JldHVybiBlPWkucHJvcEZpeFtlXXx8ZSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dHJ5e3RoaXNbZV09dm9pZCAwLGRlbGV0ZSB0aGlzW2VdfWNhdGNoKGUpe319KSl9LGFkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGUpZm9yKHQ9ZS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSlpZihvLmNsYXNzTmFtZXx8MSE9PXQubGVuZ3RoKXtmb3IoYT0iICIrby5jbGFzc05hbWUrIiAiLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspfmEuaW5kZXhPZigiICIrdFtzXSsiICIpfHwoYSs9dFtzXSsiICIpO28uY2xhc3NOYW1lPWkudHJpbShhKX1lbHNlIG8uY2xhc3NOYW1lPWU7cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvLGEscyxsO2lmKGkuaXNGdW5jdGlvbihlKSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsdGhpcy5jbGFzc05hbWUpKX0pKTtpZihlJiYic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWUpZm9yKHQ9KGV8fCIiKS5zcGxpdChnKSxuPTAscj10aGlzLmxlbmd0aDtuPHI7bisrKWlmKDE9PT0obz10aGlzW25dKS5ub2RlVHlwZSYmby5jbGFzc05hbWUpaWYoZSl7Zm9yKGE9KCIgIitvLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLHM9MCxsPXQubGVuZ3RoO3M8bDtzKyspYT1hLnJlcGxhY2UoIiAiK3Rbc10rIiAiLCIgIik7by5jbGFzc05hbWU9aS50cmltKGEpfWVsc2Ugby5jbGFzc05hbWU9IiI7cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj0iYm9vbGVhbiI9PXR5cGVvZiB0O3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLnRvZ2dsZUNsYXNzKGUuY2FsbCh0aGlzLG4sdGhpcy5jbGFzc05hbWUsdCksdCl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe2lmKCJzdHJpbmciPT09bilmb3IodmFyIG8sYT0wLHM9aSh0aGlzKSxsPXQsdT1lLnNwbGl0KGcpO289dVthKytdOylsPXI/bDohcy5oYXNDbGFzcyhvKSwKc1tsPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0obyk7ZWxzZSJ1bmRlZmluZWQiIT09biYmImJvb2xlYW4iIT09bnx8KHRoaXMuY2xhc3NOYW1lJiZpLl9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNsYXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8ITE9PT1lPyIiOmkuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIil9KSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0iICIrZSsiICIsbj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylpZigxPT09dGhpc1tuXS5ub2RlVHlwZSYmKCIgIit0aGlzW25dLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobSwiICIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9LHZhbDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz10aGlzWzBdO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPWkuaXNGdW5jdGlvbihlKSx0aGlzLmVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9aSh0aGlzKTsxPT09dGhpcy5ub2RlVHlwZSYmKG51bGw9PShvPXI/ZS5jYWxsKHRoaXMsbixhLnZhbCgpKTplKT9vPSIiOiJudW1iZXIiPT10eXBlb2Ygbz9vKz0iIjppLmlzQXJyYXkobykmJihvPWkubWFwKG8sKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIiJ9KSkpLCh0PWkudmFsSG9va3NbdGhpcy50eXBlXXx8aS52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLG8sInZhbHVlIil8fCh0aGlzLnZhbHVlPW8pKX0pKSk6bz8odD1pLnZhbEhvb2tzW28udHlwZV18fGkudmFsSG9va3Nbby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJiJnZXQiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQobywidmFsdWUiKSk/bjoic3RyaW5nIj09dHlwZW9mKG49by52YWx1ZSk/bi5yZXBsYWNlKHYsIiIpOm4/PyIiOnZvaWQgMH19KSxpLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUuYXR0cmlidXRlcy52YWx1ZTtyZXR1cm4hdHx8dC5zcGVjaWZpZWQ/ZS52YWx1ZTplLnRleHR9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbyxhPWUuc2VsZWN0ZWRJbmRleCxzPVtdLGw9ZS5vcHRpb25zLHU9InNlbGVjdC1vbmUiPT09ZS50eXBlO2lmKGE8MClyZXR1cm4gbnVsbDtmb3Iobj11P2E6MCxyPXU/YSsxOmwubGVuZ3RoO248cjtuKyspaWYoKG89bFtuXSkuc2VsZWN0ZWQmJihpLnN1cHBvcnQub3B0RGlzYWJsZWQ/IW8uZGlzYWJsZWQ6bnVsbD09PW8uZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpKSYmKCFvLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFpLm5vZGVOYW1lKG8ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKHQ9aShvKS52YWwoKSx1KXJldHVybiB0O3MucHVzaCh0KX1yZXR1cm4gdSYmIXMubGVuZ3RoJiZsLmxlbmd0aD9pKGxbYV0pLnZhbCgpOnN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWkubWFrZUFycmF5KHQpO3JldHVybiBpKGUpLmZpbmQoIm9wdGlvbiIpLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1pLmluQXJyYXkoaSh0aGlzKS52YWwoKSxuKT49MH0pKSxuLmxlbmd0aHx8KGUuc2VsZWN0ZWRJbmRleD0tMSksbn19fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDohMCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0sYXR0cjpmdW5jdGlvbihlLHQsbixyKXt2YXIgbyxhLHMsbD1lLm5vZGVUeXBlO2lmKGUmJjMhPT1sJiY4IT09bCYmMiE9PWwpcmV0dXJuIHImJnQgaW4gaS5hdHRyRm4/aShlKVt0XShuKTp2b2lkIDA9PT1lLmdldEF0dHJpYnV0ZT9pLnByb3AoZSx0LG4pOigocz0xIT09bHx8IWkuaXNYTUxEb2MoZSkpJiYodD10LnRvTG93ZXJDYXNlKCksYT1pLmF0dHJIb29rc1t0XXx8KHcudGVzdCh0KT9wOmQpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgaS5yZW1vdmVBdHRyKGUsdCk6YSYmInNldCJpbiBhJiZzJiZ2b2lkIDAhPT0obz1hLnNldChlLG4sdCkpP286KGUuc2V0QXR0cmlidXRlKHQsIiIrbiksbik6YSYmImdldCJpbiBhJiZzJiZudWxsIT09KG89YS5nZXQoZSx0KSk/bzpudWxsPT09KG89ZS5nZXRBdHRyaWJ1dGUodCkpP3ZvaWQgMDpvKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHMsbD0wO2lmKHQmJjE9PT1lLm5vZGVUeXBlKWZvcihhPShyPXQudG9Mb3dlckNhc2UoKS5zcGxpdChnKSkubGVuZ3RoO2w8YTtsKyspKG89cltsXSkmJihuPWkucHJvcEZpeFtvXXx8bywocz13LnRlc3QobykpfHxpLmF0dHIoZSxvLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShUP286bikscyYmbiBpbiBlJiYoZVtuXT0hMSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKHkudGVzdChlLm5vZGVOYW1lKSYmZS5wYXJlbnROb2RlKWkuZXJyb3IoInR5cGUgcHJvcGVydHkgY2FuJ3QgYmUgY2hhbmdlZCIpO2Vsc2UgaWYoIWkuc3VwcG9ydC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmaS5ub2RlTmFtZShlLCJpbnB1dCIpKXt2YXIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19fSx2YWx1ZTp7Z2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIik/ZC5nZXQoZSx0KTp0IGluIGU/ZS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKGQmJmkubm9kZU5hbWUoZSwiYnV0dG9uIikpcmV0dXJuIGQuc2V0KGUsdCxuKTtlLnZhbHVlPXR9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFkb25seToicmVhZE9ubHkiLGZvcjoiaHRtbEZvciIsY2xhc3M6ImNsYXNzTmFtZSIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixyb3dzcGFuOiJyb3dTcGFuIixjb2xzcGFuOiJjb2xTcGFuIix1c2VtYXA6InVzZU1hcCIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixjb250ZW50ZWRpdGFibGU6ImNvbnRlbnRFZGl0YWJsZSJ9LHByb3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG8sYT1lLm5vZGVUeXBlCjtpZihlJiYzIT09YSYmOCE9PWEmJjIhPT1hKXJldHVybigxIT09YXx8IWkuaXNYTUxEb2MoZSkpJiYodD1pLnByb3BGaXhbdF18fHQsbz1pLnByb3BIb29rc1t0XSksdm9pZCAwIT09bj9vJiYic2V0ImluIG8mJnZvaWQgMCE9PShyPW8uc2V0KGUsbix0KSk/cjplW3RdPW46byYmImdldCJpbiBvJiZudWxsIT09KHI9by5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGVOb2RlKCJ0YWJpbmRleCIpO3JldHVybiB0JiZ0LnNwZWNpZmllZD9wYXJzZUludCh0LnZhbHVlLDEwKTpiLnRlc3QoZS5ub2RlTmFtZSl8fHgudGVzdChlLm5vZGVOYW1lKSYmZS5ocmVmPzA6dm9pZCAwfX19fSksaS5hdHRySG9va3MudGFiaW5kZXg9aS5wcm9wSG9va3MudGFiSW5kZXgscD17Z2V0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnByb3AoZSx0KTtyZXR1cm4hMD09PXJ8fCJib29sZWFuIiE9dHlwZW9mIHImJihuPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJiExIT09bi5ub2RlVmFsdWU/dC50b0xvd2VyQ2FzZSgpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4hMT09PXQ/aS5yZW1vdmVBdHRyKGUsbik6KChyPWkucHJvcEZpeFtuXXx8bilpbiBlJiYoZVtyXT0hMCksZS5zZXRBdHRyaWJ1dGUobixuLnRvTG93ZXJDYXNlKCkpKSxufX0sVHx8KGg9e25hbWU6ITAsaWQ6ITAsY29vcmRzOiEwfSxkPWkudmFsSG9va3MuYnV0dG9uPXtnZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4obj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiYoaFt0XT8iIiE9PW4ubm9kZVZhbHVlOm4uc3BlY2lmaWVkKT9uLm5vZGVWYWx1ZTp2b2lkIDB9LHNldDpmdW5jdGlvbihlLG4scil7dmFyIGk9ZS5nZXRBdHRyaWJ1dGVOb2RlKHIpO3JldHVybiBpfHwoaT10LmNyZWF0ZUF0dHJpYnV0ZShyKSxlLnNldEF0dHJpYnV0ZU5vZGUoaSkpLGkubm9kZVZhbHVlPW4rIiJ9fSxpLmF0dHJIb29rcy50YWJpbmRleC5zZXQ9ZC5zZXQsaS5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSwoZnVuY3Rpb24oZSx0KXtpLmF0dHJIb29rc1t0XT1pLmV4dGVuZChpLmF0dHJIb29rc1t0XSx7c2V0OmZ1bmN0aW9uKGUsbil7aWYoIiI9PT1uKXJldHVybiBlLnNldEF0dHJpYnV0ZSh0LCJhdXRvIiksbn19KX0pKSxpLmF0dHJIb29rcy5jb250ZW50ZWRpdGFibGU9e2dldDpkLmdldCxzZXQ6ZnVuY3Rpb24oZSx0LG4peyIiPT09dCYmKHQ9ImZhbHNlIiksZC5zZXQoZSx0LG4pfX0pLGkuc3VwcG9ydC5ocmVmTm9ybWFsaXplZHx8aS5lYWNoKFsiaHJlZiIsInNyYyIsIndpZHRoIiwiaGVpZ2h0Il0sKGZ1bmN0aW9uKGUsdCl7aS5hdHRySG9va3NbdF09aS5leHRlbmQoaS5hdHRySG9va3NbdF0se2dldDpmdW5jdGlvbihlKXt2YXIgbj1lLmdldEF0dHJpYnV0ZSh0LDIpO3JldHVybiBudWxsPT09bj92b2lkIDA6bn19KX0pKSxpLnN1cHBvcnQuc3R5bGV8fChpLmF0dHJIb29rcy5zdHlsZT17Z2V0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0eWxlLmNzc1RleHQudG9Mb3dlckNhc2UoKXx8dm9pZCAwfSxzZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5zdHlsZS5jc3NUZXh0PSIiK3R9fSksaS5zdXBwb3J0Lm9wdFNlbGVjdGVkfHwoaS5wcm9wSG9va3Muc2VsZWN0ZWQ9aS5leHRlbmQoaS5wcm9wSG9va3Muc2VsZWN0ZWQse2dldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH19KSksaS5zdXBwb3J0LmVuY3R5cGV8fChpLnByb3BGaXguZW5jdHlwZT0iZW5jb2RpbmciKSxpLnN1cHBvcnQuY2hlY2tPbnx8aS5lYWNoKFsicmFkaW8iLCJjaGVja2JveCJdLChmdW5jdGlvbigpe2kudmFsSG9va3NbdGhpc109e2dldDpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX19fSkpLGkuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSwoZnVuY3Rpb24oKXtpLnZhbEhvb2tzW3RoaXNdPWkuZXh0ZW5kKGkudmFsSG9va3NbdGhpc10se3NldDpmdW5jdGlvbihlLHQpe2lmKGkuaXNBcnJheSh0KSlyZXR1cm4gZS5jaGVja2VkPWkuaW5BcnJheShpKGUpLnZhbCgpLHQpPj0wfX0pfSkpO3ZhciBOPS9eKD86dGV4dGFyZWF8aW5wdXR8c2VsZWN0KSQvaSxDPS9eKFteXC5dKik/KD86XC4oLispKT8kLyxTPS8oPzpefFxzKWhvdmVyKFwuXFMrKT9cYi8saz0vXmtleS8sRT0vXig/Om1vdXNlfGNvbnRleHRtZW51KXxjbGljay8sQT0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sRD0vXihcdyopKD86IyhbXHdcLV0rKSk/KD86XC4oW1x3XC1dKykpPyQvLEw9ZnVuY3Rpb24oZSl7dmFyIHQ9RC5leGVjKGUpO3JldHVybiB0JiYodFsxXT0odFsxXXx8IiIpLnRvTG93ZXJDYXNlKCksdFszXT10WzNdJiZuZXcgUmVnRXhwKCIoPzpefFxccykiK3RbM10rIig/Olxcc3wkKSIpKSx0fSxGPWZ1bmN0aW9uKGUpe3JldHVybiBpLmV2ZW50LnNwZWNpYWwuaG92ZXI/ZTplLnJlcGxhY2UoUywibW91c2VlbnRlciQxIG1vdXNlbGVhdmUkMSIpfTtmdW5jdGlvbiBqKCl7cmV0dXJuITF9ZnVuY3Rpb24gXygpe3JldHVybiEwfWkuZXZlbnQ9e2FkZDpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGc7aWYoMyE9PWUubm9kZVR5cGUmJjghPT1lLm5vZGVUeXBlJiZ0JiZuJiYoYT1pLl9kYXRhKGUpKSl7Zm9yKG4uaGFuZGxlciYmKG49KGg9bikuaGFuZGxlcixvPWguc2VsZWN0b3IpLG4uZ3VpZHx8KG4uZ3VpZD1pLmd1aWQrKyksKGw9YS5ldmVudHMpfHwoYS5ldmVudHM9bD17fSksKHM9YS5oYW5kbGUpfHwoYS5oYW5kbGU9cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09aXx8ZSYmaS5ldmVudC50cmlnZ2VyZWQ9PT1lLnR5cGU/dm9pZCAwOmkuZXZlbnQuZGlzcGF0Y2guYXBwbHkocy5lbGVtLGFyZ3VtZW50cyl9LHMuZWxlbT1lKSx0PWkudHJpbShGKHQpKS5zcGxpdCgiICIpLHU9MDt1PHQubGVuZ3RoO3UrKylmPShjPUMuZXhlYyh0W3VdKXx8W10pWzFdLApkPShjWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KG8/Zy5kZWxlZ2F0ZVR5cGU6Zy5iaW5kVHlwZSl8fGYsZz1pLmV2ZW50LnNwZWNpYWxbZl18fHt9LHA9aS5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTpjWzFdLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6byxxdWljazpvJiZMKG8pLG5hbWVzcGFjZTpkLmpvaW4oIi4iKX0saCksKG09bFtmXSl8fCgobT1sW2ZdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZy5zZXR1cCYmITEhPT1nLnNldHVwLmNhbGwoZSxyLGQscyl8fChlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKGYscywhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib24iK2YscykpKSxnLmFkZCYmKGcuYWRkLmNhbGwoZSxwKSxwLmhhbmRsZXIuZ3VpZHx8KHAuaGFuZGxlci5ndWlkPW4uZ3VpZCkpLG8/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxwKTptLnB1c2gocCksaS5ldmVudC5nbG9iYWxbZl09ITA7ZT1udWxsfX0sZ2xvYmFsOnt9LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLG8pe3ZhciBhLHMsbCx1LGMsZixkLHAsaCxtLGcsdix5PWkuaGFzRGF0YShlKSYmaS5fZGF0YShlKTtpZih5JiYocD15LmV2ZW50cykpe2Zvcih0PWkudHJpbShGKHR8fCIiKSkuc3BsaXQoIiAiKSxhPTA7YTx0Lmxlbmd0aDthKyspaWYobD11PShzPUMuZXhlYyh0W2FdKXx8W10pWzFdLGM9c1syXSxsKXtmb3IoaD1pLmV2ZW50LnNwZWNpYWxbbF18fHt9LGY9KGc9cFtsPShyP2guZGVsZWdhdGVUeXBlOmguYmluZFR5cGUpfHxsXXx8W10pLmxlbmd0aCxjPWM/bmV3IFJlZ0V4cCgiKF58XFwuKSIrYy5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGQ9MDtkPGcubGVuZ3RoO2QrKyl2PWdbZF0sIW8mJnUhPT12Lm9yaWdUeXBlfHxuJiZuLmd1aWQhPT12Lmd1aWR8fGMmJiFjLnRlc3Qodi5uYW1lc3BhY2UpfHxyJiZyIT09di5zZWxlY3RvciYmKCIqKiIhPT1yfHwhdi5zZWxlY3Rvcil8fChnLnNwbGljZShkLS0sMSksdi5zZWxlY3RvciYmZy5kZWxlZ2F0ZUNvdW50LS0saC5yZW1vdmUmJmgucmVtb3ZlLmNhbGwoZSx2KSk7MD09PWcubGVuZ3RoJiZmIT09Zy5sZW5ndGgmJihoLnRlYXJkb3duJiYhMSE9PWgudGVhcmRvd24uY2FsbChlLGMpfHxpLnJlbW92ZUV2ZW50KGUsbCx5LmhhbmRsZSksZGVsZXRlIHBbbF0pfWVsc2UgZm9yKGwgaW4gcClpLmV2ZW50LnJlbW92ZShlLGwrdFthXSxuLHIsITApO2kuaXNFbXB0eU9iamVjdChwKSYmKChtPXkuaGFuZGxlKSYmKG0uZWxlbT1udWxsKSxpLnJlbW92ZURhdGEoZSxbImV2ZW50cyIsImhhbmRsZSJdLCEwKSl9fSxjdXN0b21FdmVudDp7Z2V0RGF0YTohMCxzZXREYXRhOiEwLGNoYW5nZURhdGE6ITB9LHRyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7aWYoIW58fDMhPT1uLm5vZGVUeXBlJiY4IT09bi5ub2RlVHlwZSl7dmFyIG8sYSxzLGwsdSxjLGYsZCxwLGgsbT1lLnR5cGV8fGUsZz1bXTtpZighQS50ZXN0KG0raS5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIhIik+PTAmJihtPW0uc2xpY2UoMCwtMSksYT0hMCksbS5pbmRleE9mKCIuIik+PTAmJihnPW0uc3BsaXQoIi4iKSxtPWcuc2hpZnQoKSxnLnNvcnQoKSksbiYmIWkuZXZlbnQuY3VzdG9tRXZlbnRbbV18fGkuZXZlbnQuZ2xvYmFsW21dKSlpZigoZT0ib2JqZWN0Ij09dHlwZW9mIGU/ZVtpLmV4cGFuZG9dP2U6bmV3IGkuRXZlbnQobSxlKTpuZXcgaS5FdmVudChtKSkudHlwZT1tLGUuaXNUcmlnZ2VyPSEwLGUuZXhjbHVzaXZlPWEsZS5uYW1lc3BhY2U9Zy5qb2luKCIuIiksZS5uYW1lc3BhY2VfcmU9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrZy5qb2luKCJcXC4oPzouKlxcLik/IikrIihcXC58JCkiKTpudWxsLGM9bS5pbmRleE9mKCI6Iik8MD8ib24iK206IiIsbil7aWYoZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksKHQ9bnVsbCE9dD9pLm1ha2VBcnJheSh0KTpbXSkudW5zaGlmdChlKSwhKGY9aS5ldmVudC5zcGVjaWFsW21dfHx7fSkudHJpZ2dlcnx8ITEhPT1mLnRyaWdnZXIuYXBwbHkobix0KSl7aWYocD1bW24sZi5iaW5kVHlwZXx8bV1dLCFyJiYhZi5ub0J1YmJsZSYmIWkuaXNXaW5kb3cobikpe2ZvcihoPWYuZGVsZWdhdGVUeXBlfHxtLGw9QS50ZXN0KGgrbSk/bjpuLnBhcmVudE5vZGUsdT1udWxsO2w7bD1sLnBhcmVudE5vZGUpcC5wdXNoKFtsLGhdKSx1PWw7dSYmdT09PW4ub3duZXJEb2N1bWVudCYmcC5wdXNoKFt1LmRlZmF1bHRWaWV3fHx1LnBhcmVudFdpbmRvd3x8d2luZG93LGhdKX1mb3Iocz0wO3M8cC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7cysrKWw9cFtzXVswXSxlLnR5cGU9cFtzXVsxXSwoZD0oaS5fZGF0YShsLCJldmVudHMiKXx8e30pW2UudHlwZV0mJmkuX2RhdGEobCwiaGFuZGxlIikpJiZkLmFwcGx5KGwsdCksKGQ9YyYmbFtjXSkmJmkuYWNjZXB0RGF0YShsKSYmITE9PT1kLmFwcGx5KGwsdCkmJmUucHJldmVudERlZmF1bHQoKTtyZXR1cm4gZS50eXBlPW0scnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5fZGVmYXVsdCYmITEhPT1mLl9kZWZhdWx0LmFwcGx5KG4ub3duZXJEb2N1bWVudCx0KXx8ImNsaWNrIj09PW0mJmkubm9kZU5hbWUobiwiYSIpfHwhaS5hY2NlcHREYXRhKG4pfHxjJiZuW21dJiYoImZvY3VzIiE9PW0mJiJibHVyIiE9PW18fDAhPT1lLnRhcmdldC5vZmZzZXRXaWR0aCkmJiFpLmlzV2luZG93KG4pJiYoKHU9bltjXSkmJihuW2NdPW51bGwpLGkuZXZlbnQudHJpZ2dlcmVkPW0sblttXSgpLGkuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYobltjXT11KSksZS5yZXN1bHR9fWVsc2UgZm9yKHMgaW4gbz1pLmNhY2hlKW9bc10uZXZlbnRzJiZvW3NdLmV2ZW50c1ttXSYmaS5ldmVudC50cmlnZ2VyKGUsdCxvW3NdLmhhbmRsZS5lbGVtLCEwKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe2U9aS5ldmVudC5maXgoZXx8d2luZG93LmV2ZW50KQo7dmFyIHQsbixyLG8sYSxzLGwsdSxjLGYsZD0oaS5fZGF0YSh0aGlzLCJldmVudHMiKXx8e30pW2UudHlwZV18fFtdLHA9ZC5kZWxlZ2F0ZUNvdW50LGg9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCksbT0hZS5leGNsdXNpdmUmJiFlLm5hbWVzcGFjZSxnPWkuZXZlbnQuc3BlY2lhbFtlLnR5cGVdfHx7fSx2PVtdO2lmKGhbMF09ZSxlLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWcucHJlRGlzcGF0Y2h8fCExIT09Zy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsZSkpe2lmKHAmJighZS5idXR0b258fCJjbGljayIhPT1lLnR5cGUpKWZvcigobz1pKHRoaXMpKS5jb250ZXh0PXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWUudGFyZ2V0O3IhPXRoaXM7cj1yLnBhcmVudE5vZGV8fHRoaXMpaWYoITAhPT1yLmRpc2FibGVkKXtmb3Iocz17fSx1PVtdLG9bMF09cix0PTA7dDxwO3QrKyl2b2lkIDA9PT1zW2Y9KGM9ZFt0XSkuc2VsZWN0b3JdJiYoc1tmXT1jLnF1aWNrPyh5PXIsYj1jLnF1aWNrLHg9dm9pZCAwLHg9eS5hdHRyaWJ1dGVzfHx7fSwoIWJbMV18fHkubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJbMV0pJiYoIWJbMl18fCh4LmlkfHx7fSkudmFsdWU9PT1iWzJdKSYmKCFiWzNdfHxiWzNdLnRlc3QoKHguY2xhc3N8fHt9KS52YWx1ZSkpKTpvLmlzKGYpKSxzW2ZdJiZ1LnB1c2goYyk7dS5sZW5ndGgmJnYucHVzaCh7ZWxlbTpyLG1hdGNoZXM6dX0pfXZhciB5LGIseDtmb3IoZC5sZW5ndGg+cCYmdi5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKHApfSksdD0wO3Q8di5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7dCsrKWZvcihsPXZbdF0sZS5jdXJyZW50VGFyZ2V0PWwuZWxlbSxuPTA7bjxsLm1hdGNoZXMubGVuZ3RoJiYhZS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpO24rKyljPWwubWF0Y2hlc1tuXSwobXx8IWUubmFtZXNwYWNlJiYhYy5uYW1lc3BhY2V8fGUubmFtZXNwYWNlX3JlJiZlLm5hbWVzcGFjZV9yZS50ZXN0KGMubmFtZXNwYWNlKSkmJihlLmRhdGE9Yy5kYXRhLGUuaGFuZGxlT2JqPWMsdm9pZCAwIT09KGE9KChpLmV2ZW50LnNwZWNpYWxbYy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGMuaGFuZGxlcikuYXBwbHkobC5lbGVtLGgpKSYmKGUucmVzdWx0PWEsITE9PT1hJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCkpKSk7cmV0dXJuIGcucG9zdERpc3BhdGNoJiZnLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsZSksZS5yZXN1bHR9fSxwcm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWUud2hpY2gmJihlLndoaWNoPW51bGwhPXQuY2hhckNvZGU/dC5jaGFyQ29kZTp0LmtleUNvZGUpLGV9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihlLG4pe3ZhciByLGksbyxhPW4uYnV0dG9uLHM9bi5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09ZS5wYWdlWCYmbnVsbCE9bi5jbGllbnRYJiYoaT0ocj1lLnRhcmdldC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQsbz1yLmJvZHksZS5wYWdlWD1uLmNsaWVudFgrKGkmJmkuc2Nyb2xsTGVmdHx8byYmby5zY3JvbGxMZWZ0fHwwKS0oaSYmaS5jbGllbnRMZWZ0fHxvJiZvLmNsaWVudExlZnR8fDApLGUucGFnZVk9bi5jbGllbnRZKyhpJiZpLnNjcm9sbFRvcHx8byYmby5zY3JvbGxUb3B8fDApLShpJiZpLmNsaWVudFRvcHx8byYmby5jbGllbnRUb3B8fDApKSwhZS5yZWxhdGVkVGFyZ2V0JiZzJiYoZS5yZWxhdGVkVGFyZ2V0PXM9PT1lLnRhcmdldD9uLnRvRWxlbWVudDpzKSxlLndoaWNofHx2b2lkIDA9PT1hfHwoZS53aGljaD0xJmE/MToyJmE/Mzo0JmE/MjowKSxlfX0sZml4OmZ1bmN0aW9uKGUpe2lmKGVbaS5leHBhbmRvXSlyZXR1cm4gZTt2YXIgbixyLG89ZSxhPWkuZXZlbnQuZml4SG9va3NbZS50eXBlXXx8e30scz1hLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGEucHJvcHMpOnRoaXMucHJvcHM7Zm9yKGU9aS5FdmVudChvKSxuPXMubGVuZ3RoO247KWVbcj1zWy0tbl1dPW9bcl07cmV0dXJuIGUudGFyZ2V0fHwoZS50YXJnZXQ9by5zcmNFbGVtZW50fHx0KSwzPT09ZS50YXJnZXQubm9kZVR5cGUmJihlLnRhcmdldD1lLnRhcmdldC5wYXJlbnROb2RlKSx2b2lkIDA9PT1lLm1ldGFLZXkmJihlLm1ldGFLZXk9ZS5jdHJsS2V5KSxhLmZpbHRlcj9hLmZpbHRlcihlLG8pOmV9LHNwZWNpYWw6e3JlYWR5OntzZXR1cDppLmJpbmRSZWFkeX0sbG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOntkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOntkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sYmVmb3JldW5sb2FkOntzZXR1cDpmdW5jdGlvbihlLHQsbil7aS5pc1dpbmRvdyh0aGlzKSYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bil9LHRlYXJkb3duOmZ1bmN0aW9uKGUsdCl7dGhpcy5vbmJlZm9yZXVubG9hZD09PXQmJih0aGlzLm9uYmVmb3JldW5sb2FkPW51bGwpfX19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBvPWkuZXh0ZW5kKG5ldyBpLkV2ZW50LG4se3R5cGU6ZSxpc1NpbXVsYXRlZDohMCxvcmlnaW5hbEV2ZW50Ont9fSk7cj9pLmV2ZW50LnRyaWdnZXIobyxudWxsLHQpOmkuZXZlbnQuZGlzcGF0Y2guY2FsbCh0LG8pLG8uaXNEZWZhdWx0UHJldmVudGVkKCkmJm4ucHJldmVudERlZmF1bHQoKX19LGkuZXZlbnQuaGFuZGxlPWkuZXZlbnQuZGlzcGF0Y2gsCmkucmVtb3ZlRXZlbnQ9dC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sITEpfTpmdW5jdGlvbihlLHQsbil7ZS5kZXRhY2hFdmVudCYmZS5kZXRhY2hFdmVudCgib24iK3Qsbil9LGkuRXZlbnQ9ZnVuY3Rpb24oZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBpLkV2ZW50KSlyZXR1cm4gbmV3IGkuRXZlbnQoZSx0KTtlJiZlLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1lLHRoaXMudHlwZT1lLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9ZS5kZWZhdWx0UHJldmVudGVkfHwhMT09PWUucmV0dXJuVmFsdWV8fGUuZ2V0UHJldmVudERlZmF1bHQmJmUuZ2V0UHJldmVudERlZmF1bHQoKT9fOmopOnRoaXMudHlwZT1lLHQmJmkuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fGkubm93KCksdGhpc1tpLmV4cGFuZG9dPSEwfSxpLkV2ZW50LnByb3RvdHlwZT17cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1fO3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDtlJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Xzt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uJiZlLnN0b3BQcm9wYWdhdGlvbigpLGUuY2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1fLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpqLGlzUHJvcGFnYXRpb25TdG9wcGVkOmosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6an0saS5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0sKGZ1bmN0aW9uKGUsdCl7aS5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPWUucmVsYXRlZFRhcmdldCxvPWUuaGFuZGxlT2JqO28uc2VsZWN0b3I7cmV0dXJuIHImJihyPT09dGhpc3x8aS5jb250YWlucyh0aGlzLHIpKXx8KGUudHlwZT1vLm9yaWdUeXBlLG49by5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9dCksbn19fSkpLGkuc3VwcG9ydC5zdWJtaXRCdWJibGVzfHwoaS5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtpZihpLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtpLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLChmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxuPWkubm9kZU5hbWUodCwiaW5wdXQiKXx8aS5ub2RlTmFtZSh0LCJidXR0b24iKT90LmZvcm06dm9pZCAwO24mJiFuLl9zdWJtaXRfYXR0YWNoZWQmJihpLmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsKGZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGU9ITB9KSksbi5fc3VibWl0X2F0dGFjaGVkPSEwKX0pKX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe2UuX3N1Ym1pdF9idWJibGUmJihkZWxldGUgZS5fc3VibWl0X2J1YmJsZSx0aGlzLnBhcmVudE5vZGUmJiFlLmlzVHJpZ2dlciYmaS5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsZSwhMCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKGkubm9kZU5hbWUodGhpcywiZm9ybSIpKXJldHVybiExO2kuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaS5zdXBwb3J0LmNoYW5nZUJ1YmJsZXN8fChpLmV2ZW50LnNwZWNpYWwuY2hhbmdlPXtzZXR1cDpmdW5jdGlvbigpe2lmKE4udGVzdCh0aGlzLm5vZGVOYW1lKSlyZXR1cm4iY2hlY2tib3giIT09dGhpcy50eXBlJiYicmFkaW8iIT09dGhpcy50eXBlfHwoaS5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsKGZ1bmN0aW9uKGUpeyJjaGVja2VkIj09PWUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0X2NoYW5nZWQ9ITApfSkpLGkuZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9jaGFuZ2UiLChmdW5jdGlvbihlKXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFlLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3RfY2hhbmdlZD0hMSxpLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsZSwhMCkpfSkpKSwhMTtpLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7Ti50ZXN0KHQubm9kZU5hbWUpJiYhdC5fY2hhbmdlX2F0dGFjaGVkJiYoaS5ldmVudC5hZGQodCwiY2hhbmdlLl9jaGFuZ2UiLChmdW5jdGlvbihlKXshdGhpcy5wYXJlbnROb2RlfHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8aS5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsZSwhMCl9KSksdC5fY2hhbmdlX2F0dGFjaGVkPSEwKX0pKX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHRoaXMhPT10fHxlLmlzU2ltdWxhdGVkfHxlLmlzVHJpZ2dlcnx8InJhZGlvIiE9PXQudHlwZSYmImNoZWNrYm94IiE9PXQudHlwZSlyZXR1cm4gZS5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIGkuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksTi50ZXN0KHRoaXMubm9kZU5hbWUpfX0pLGkuc3VwcG9ydC5mb2N1c2luQnViYmxlc3x8aS5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSwoZnVuY3Rpb24oZSxuKXt2YXIgcj0wLG89ZnVuY3Rpb24oZSl7aS5ldmVudC5zaW11bGF0ZShuLGUudGFyZ2V0LGkuZXZlbnQuZml4KGUpLCEwKX07aS5ldmVudC5zcGVjaWFsW25dPXtzZXR1cDpmdW5jdGlvbigpezA9PXIrKyYmdC5hZGRFdmVudExpc3RlbmVyKGUsbywhMCl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7CjA9PS0tciYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbywhMCl9fX0pKSxpLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scixvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7Zm9yKHMgaW4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPW58fHQsdD12b2lkIDApLGUpdGhpcy5vbihzLHQsbixlW3NdLG8pO3JldHVybiB0aGlzfWlmKG51bGw9PW4mJm51bGw9PXI/KHI9dCxuPXQ9dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiB0PyhyPW4sbj12b2lkIDApOihyPW4sbj10LHQ9dm9pZCAwKSksITE9PT1yKXI9ajtlbHNlIGlmKCFyKXJldHVybiB0aGlzO3JldHVybiAxPT09byYmKGE9cixyPWZ1bmN0aW9uKGUpe3JldHVybiBpKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPWkuZ3VpZCsrKSksdGhpcy5lYWNoKChmdW5jdGlvbigpe2kuZXZlbnQuYWRkKHRoaXMsZSxyLG4sdCl9KSl9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbihlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXt2YXIgcj1lLmhhbmRsZU9iajtyZXR1cm4gaShlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpc31pZigib2JqZWN0Ij09dHlwZW9mIGUpe2Zvcih2YXIgbyBpbiBlKXRoaXMub2ZmKG8sdCxlW29dKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPWopLHRoaXMuZWFjaCgoZnVuY3Rpb24oKXtpLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pKX0sYmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGxpdmU6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpKHRoaXMuY29udGV4dCkub24oZSx0aGlzLnNlbGVjdG9yLHQsbiksdGhpc30sZGllOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodGhpcy5jb250ZXh0KS5vZmYoZSx0aGlzLnNlbGVjdG9yfHwiKioiLHQpLHRoaXN9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmKHQsZSxuKX0sdHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7aS5ldmVudC50cmlnZ2VyKGUsdCx0aGlzKX0pKX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXtpZih0aGlzWzBdKXJldHVybiBpLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXNbMF0sITApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLG49ZS5ndWlkfHxpLmd1aWQrKyxyPTAsbz1mdW5jdGlvbihuKXt2YXIgbz0oaS5fZGF0YSh0aGlzLCJsYXN0VG9nZ2xlIitlLmd1aWQpfHwwKSVyO3JldHVybiBpLl9kYXRhKHRoaXMsImxhc3RUb2dnbGUiK2UuZ3VpZCxvKzEpLG4ucHJldmVudERlZmF1bHQoKSx0W29dLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8ITF9O2ZvcihvLmd1aWQ9bjtyPHQubGVuZ3RoOyl0W3IrK10uZ3VpZD1uO3JldHVybiB0aGlzLmNsaWNrKG8pfSxob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSxpLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksKGZ1bmN0aW9uKGUsdCl7aS5mblt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1uJiYobj1lLGU9bnVsbCksYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfSxpLmF0dHJGbiYmKGkuYXR0ckZuW3RdPSEwKSxrLnRlc3QodCkmJihpLmV2ZW50LmZpeEhvb2tzW3RdPWkuZXZlbnQua2V5SG9va3MpLEUudGVzdCh0KSYmKGkuZXZlbnQuZml4SG9va3NbdF09aS5ldmVudC5tb3VzZUhvb2tzKX0pKSxmdW5jdGlvbigpe3ZhciBlPS8oKD86XCgoPzpcKFteKCldK1wpfFteKCldKykrXCl8XFsoPzpcW1teXFtcXV0qXF18WyciXVteJyJdKlsnIl18W15cW1xdJyJdKykrXF18XFwufFteID4rfiwoXFtcXF0rKSt8Wz4rfl0pKFxzKixccyopPygoPzoufFxyfFxuKSopL2csbj0ic2l6Y2FjaGUiKyhNYXRoLnJhbmRvbSgpKyIiKS5yZXBsYWNlKCIuIiwiIikscj0wLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSExLHM9ITAsbD0vXFwvZyx1PS9cclxuL2csYz0vXFcvO1swLDBdLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIHM9ITEsMH0pKTt2YXIgZj1mdW5jdGlvbihuLHIsaSxhKXtpPWl8fFtdO3ZhciBzPXI9cnx8dDtpZigxIT09ci5ub2RlVHlwZSYmOSE9PXIubm9kZVR5cGUpcmV0dXJuW107aWYoIW58fCJzdHJpbmciIT10eXBlb2YgbilyZXR1cm4gaTt2YXIgbCx1LGMsZCxtLGcsdix5LGI9ITAsdz1mLmlzWE1MKHIpLFQ9W10sQz1uO2Rve2lmKGUuZXhlYygiIiksKGw9ZS5leGVjKEMpKSYmKEM9bFszXSxULnB1c2gobFsxXSksbFsyXSkpe2Q9bFszXTticmVha319d2hpbGUobCk7aWYoVC5sZW5ndGg+MSYmaC5leGVjKG4pKWlmKDI9PT1ULmxlbmd0aCYmcC5yZWxhdGl2ZVtUWzBdXSl1PU4oVFswXStUWzFdLHIsYSk7ZWxzZSBmb3IodT1wLnJlbGF0aXZlW1RbMF1dP1tyXTpmKFQuc2hpZnQoKSxyKTtULmxlbmd0aDspbj1ULnNoaWZ0KCkscC5yZWxhdGl2ZVtuXSYmKG4rPVQuc2hpZnQoKSksCnU9TihuLHUsYSk7ZWxzZSBpZighYSYmVC5sZW5ndGg+MSYmOT09PXIubm9kZVR5cGUmJiF3JiZwLm1hdGNoLklELnRlc3QoVFswXSkmJiFwLm1hdGNoLklELnRlc3QoVFtULmxlbmd0aC0xXSkmJihyPShtPWYuZmluZChULnNoaWZ0KCkscix3KSkuZXhwcj9mLmZpbHRlcihtLmV4cHIsbS5zZXQpWzBdOm0uc2V0WzBdKSxyKWZvcih1PShtPWE/e2V4cHI6VC5wb3AoKSxzZXQ6eChhKX06Zi5maW5kKFQucG9wKCksMSE9PVQubGVuZ3RofHwifiIhPT1UWzBdJiYiKyIhPT1UWzBdfHwhci5wYXJlbnROb2RlP3I6ci5wYXJlbnROb2RlLHcpKS5leHByP2YuZmlsdGVyKG0uZXhwcixtLnNldCk6bS5zZXQsVC5sZW5ndGg+MD9jPXgodSk6Yj0hMTtULmxlbmd0aDspdj1nPVQucG9wKCkscC5yZWxhdGl2ZVtnXT92PVQucG9wKCk6Zz0iIixudWxsPT12JiYodj1yKSxwLnJlbGF0aXZlW2ddKGMsdix3KTtlbHNlIGM9VD1bXTtpZihjfHwoYz11KSxjfHxmLmVycm9yKGd8fG4pLCJbb2JqZWN0IEFycmF5XSI9PT1vLmNhbGwoYykpaWYoYilpZihyJiYxPT09ci5ub2RlVHlwZSlmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJighMD09PWNbeV18fDE9PT1jW3ldLm5vZGVUeXBlJiZmLmNvbnRhaW5zKHIsY1t5XSkpJiZpLnB1c2godVt5XSk7ZWxzZSBmb3IoeT0wO251bGwhPWNbeV07eSsrKWNbeV0mJjE9PT1jW3ldLm5vZGVUeXBlJiZpLnB1c2godVt5XSk7ZWxzZSBpLnB1c2guYXBwbHkoaSxjKTtlbHNlIHgoYyxpKTtyZXR1cm4gZCYmKGYoZCxzLGksYSksZi51bmlxdWVTb3J0KGkpKSxpfTtmLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7aWYodiYmKGE9cyxlLnNvcnQodiksYSkpZm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspZVt0XT09PWVbdC0xXSYmZS5zcGxpY2UodC0tLDEpO3JldHVybiBlfSxmLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZihlLG51bGwsbnVsbCx0KX0sZi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZih0LG51bGwsbnVsbCxbZV0pLmxlbmd0aD4wfSxmLmZpbmQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdTtpZighZSlyZXR1cm5bXTtmb3IoaT0wLG89cC5vcmRlci5sZW5ndGg7aTxvO2krKylpZihzPXAub3JkZXJbaV0sKGE9cC5sZWZ0TWF0Y2hbc10uZXhlYyhlKSkmJih1PWFbMV0sYS5zcGxpY2UoMSwxKSwiXFwiIT09dS5zdWJzdHIodS5sZW5ndGgtMSkmJihhWzFdPShhWzFdfHwiIikucmVwbGFjZShsLCIiKSxudWxsIT0ocj1wLmZpbmRbc10oYSx0LG4pKSkpKXtlPWUucmVwbGFjZShwLm1hdGNoW3NdLCIiKTticmVha31yZXR1cm4gcnx8KHI9dm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pLHtzZXQ6cixleHByOmV9fSxmLmZpbHRlcj1mdW5jdGlvbihlLHQsbixyKXtmb3IodmFyIGksbyxhLHMsbCx1LGMsZCxoLG09ZSxnPVtdLHY9dCx5PXQmJnRbMF0mJmYuaXNYTUwodFswXSk7ZSYmdC5sZW5ndGg7KXtmb3IoYSBpbiBwLmZpbHRlcilpZihudWxsIT0oaT1wLmxlZnRNYXRjaFthXS5leGVjKGUpKSYmaVsyXSl7aWYodT1wLmZpbHRlclthXSxjPWlbMV0sbz0hMSxpLnNwbGljZSgxLDEpLCJcXCI9PT1jLnN1YnN0cihjLmxlbmd0aC0xKSljb250aW51ZTtpZih2PT09ZyYmKGc9W10pLHAucHJlRmlsdGVyW2FdKWlmKGk9cC5wcmVGaWx0ZXJbYV0oaSx2LG4sZyxyLHkpKXtpZighMD09PWkpY29udGludWV9ZWxzZSBvPXM9ITA7aWYoaSlmb3IoZD0wO251bGwhPShsPXZbZF0pO2QrKylsJiYoaD1yXihzPXUobCxpLGQsdikpLG4mJm51bGwhPXM/aD9vPSEwOnZbZF09ITE6aCYmKGcucHVzaChsKSxvPSEwKSk7aWYodm9pZCAwIT09cyl7aWYobnx8KHY9ZyksZT1lLnJlcGxhY2UocC5tYXRjaFthXSwiIiksIW8pcmV0dXJuW107YnJlYWt9fWlmKGU9PT1tKXtpZihudWxsIT1vKWJyZWFrO2YuZXJyb3IoZSl9bT1lfXJldHVybiB2fSxmLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX07dmFyIGQ9Zi5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG4scj1lLm5vZGVUeXBlLGk9IiI7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgZS50ZXh0Q29udGVudClyZXR1cm4gZS50ZXh0Q29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUuaW5uZXJUZXh0KXJldHVybiBlLmlubmVyVGV4dC5yZXBsYWNlKHUsIiIpO2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpKz1kKGUpfWVsc2UgaWYoMz09PXJ8fDQ9PT1yKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIGZvcih0PTA7bj1lW3RdO3QrKyk4IT09bi5ub2RlVHlwZSYmKGkrPWQobikpO3JldHVybiBpfSxwPWYuc2VsZWN0b3JzPXtvcmRlcjpbIklEIiwiTkFNRSIsIlRBRyJdLG1hdGNoOntJRDovIygoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sQ0xBU1M6L1wuKCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspLyxOQU1FOi9cW25hbWU9WyciXSooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylbJyJdKlxdLyxBVFRSOi9cW1xzKigoPzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKVxzKig/OihcUz89KVxzKig/OihbJyJdKSguKj8pXDN8KCM/KD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKil8KXwpXHMqXF0vLFRBRzovXigoPzpbXHdcdTAwYzAtXHVGRkZGXCpcLV18XFwuKSspLyxDSElMRDovOihvbmx5fG50aHxsYXN0fGZpcnN0KS1jaGlsZCg/OlwoXHMqKGV2ZW58b2RkfCg/OlsrXC1dP1xkK3woPzpbK1wtXT9cZCopP25ccyooPzpbK1wtXVxzKlxkKyk/KSlccypcKSk/LyxQT1M6LzoobnRofGVxfGd0fGx0fGZpcnN0fGxhc3R8ZXZlbnxvZGQpKD86XCgoXGQqKVwpKT8oPz1bXlwtXXwkKS8sUFNFVURPOi86KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspKD86XCgoWyciXT8pKCg/OlwoW15cKV0rXCl8W15cKFwpXSopKylcMlwpKT8vfSxsZWZ0TWF0Y2g6e30sYXR0ck1hcDp7Y2xhc3M6ImNsYXNzTmFtZSIsZm9yOiJodG1sRm9yIn0sYXR0ckhhbmRsZTp7CmhyZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJocmVmIil9LHR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil9fSxyZWxhdGl2ZTp7IisiOmZ1bmN0aW9uKGUsdCl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LHI9biYmIWMudGVzdCh0KSxpPW4mJiFyO3ImJih0PXQudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBvLGE9MCxzPWUubGVuZ3RoO2E8czthKyspaWYobz1lW2FdKXtmb3IoOyhvPW8ucHJldmlvdXNTaWJsaW5nKSYmMSE9PW8ubm9kZVR5cGU7KTtlW2FdPWl8fG8mJm8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXQ/b3x8ITE6bz09PXR9aSYmZi5maWx0ZXIodCxlLCEwKX0sIj4iOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0ic3RyaW5nIj09dHlwZW9mIHQsaT0wLG89ZS5sZW5ndGg7aWYociYmIWMudGVzdCh0KSl7Zm9yKHQ9dC50b0xvd2VyQ2FzZSgpO2k8bztpKyspaWYobj1lW2ldKXt2YXIgYT1uLnBhcmVudE5vZGU7ZVtpXT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10JiZhfX1lbHNle2Zvcig7aTxvO2krKykobj1lW2ldKSYmKGVbaV09cj9uLnBhcmVudE5vZGU6bi5wYXJlbnROb2RlPT09dCk7ciYmZi5maWx0ZXIodCxlLCEwKX19LCIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicGFyZW50Tm9kZSIsdCxvLGUsaSxuKX0sIn4iOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaSxvPXIrKyxhPVQ7InN0cmluZyIhPXR5cGVvZiB0fHxjLnRlc3QodCl8fChpPXQ9dC50b0xvd2VyQ2FzZSgpLGE9dyksYSgicHJldmlvdXNTaWJsaW5nIix0LG8sZSxpLG4pfX0sZmluZDp7SUQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudEJ5SWQmJiFuKXt2YXIgcj10LmdldEVsZW1lbnRCeUlkKGVbMV0pO3JldHVybiByJiZyLnBhcmVudE5vZGU/W3JdOltdfX0sTkFNRTpmdW5jdGlvbihlLHQpe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeU5hbWUpe2Zvcih2YXIgbj1bXSxyPXQuZ2V0RWxlbWVudHNCeU5hbWUoZVsxXSksaT0wLG89ci5sZW5ndGg7aTxvO2krKylyW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09ZVsxXSYmbi5wdXNoKHJbaV0pO3JldHVybiAwPT09bi5sZW5ndGg/bnVsbDpufX0sVEFHOmZ1bmN0aW9uKGUsdCl7aWYodm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVuY3Rpb24oZSx0LG4scixpLG8pe2lmKGU9IiAiK2VbMV0ucmVwbGFjZShsLCIiKSsiICIsbylyZXR1cm4gZTtmb3IodmFyIGEscz0wO251bGwhPShhPXRbc10pO3MrKylhJiYoaV4oYS5jbGFzc05hbWUmJigiICIrYS5jbGFzc05hbWUrIiAiKS5yZXBsYWNlKC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihlKT49MCk/bnx8ci5wdXNoKGEpOm4mJih0W3NdPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIil9LFRBRzpmdW5jdGlvbihlLHQpe3JldHVybiBlWzFdLnJlcGxhY2UobCwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7aWYoIm50aCI9PT1lWzFdKXtlWzJdfHxmLmVycm9yKGVbMF0pLGVbMl09ZVsyXS5yZXBsYWNlKC9eXCt8XHMqL2csIiIpO3ZhciB0PS8oLT8pKFxkKikoPzpuKFsrXC1dP1xkKikpPy8uZXhlYygoImV2ZW4iPT09ZVsyXT8iMm4iOiJvZGQiPT09ZVsyXSYmIjJuKzEiKXx8IS9cRC8udGVzdChlWzJdKSYmIjBuKyIrZVsyXXx8ZVsyXSk7ZVsyXT10WzFdKyh0WzJdfHwxKS0wLGVbM109dFszXS0wfWVsc2UgZVsyXSYmZi5lcnJvcihlWzBdKTtyZXR1cm4gZVswXT1yKyssZX0sQVRUUjpmdW5jdGlvbihlLHQsbixyLGksbyl7dmFyIGE9ZVsxXT1lWzFdLnJlcGxhY2UobCwiIik7cmV0dXJuIW8mJnAuYXR0ck1hcFthXSYmKGVbMV09cC5hdHRyTWFwW2FdKSxlWzRdPShlWzRdfHxlWzVdfHwiIikucmVwbGFjZShsLCIiKSwifj0iPT09ZVsyXSYmKGVbNF09IiAiK2VbNF0rIiAiKSxlfSxQU0VVRE86ZnVuY3Rpb24odCxuLHIsaSxvKXtpZigibm90Ij09PXRbMV0pe2lmKCEoKGUuZXhlYyh0WzNdKXx8IiIpLmxlbmd0aD4xfHwvXlx3Ly50ZXN0KHRbM10pKSl7dmFyIGE9Zi5maWx0ZXIodFszXSxuLHIsITBebyk7cmV0dXJuIHJ8fGkucHVzaC5hcHBseShpLGEpLCExfXRbM109Zih0WzNdLG51bGwsbnVsbCxuKX1lbHNlIGlmKHAubWF0Y2guUE9TLnRlc3QodFswXSl8fHAubWF0Y2guQ0hJTEQudGVzdCh0WzBdKSlyZXR1cm4hMDtyZXR1cm4gdH0sUE9TOmZ1bmN0aW9uKGUpe3JldHVybiBlLnVuc2hpZnQoITApLGV9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGUpe3JldHVybiExPT09ZS5kaXNhYmxlZCYmImhpZGRlbiIhPT1lLnR5cGV9LGRpc2FibGVkOmZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZH0sY2hlY2tlZDpmdW5jdGlvbihlKXtyZXR1cm4hMD09PWUuY2hlY2tlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuISFlLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGUpe3JldHVybiFlLmZpcnN0Q2hpbGR9LGhhczpmdW5jdGlvbihlLHQsbil7cmV0dXJuISFmKG5bM10sZSkubGVuZ3RofSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL2hcZC9pLnRlc3QoZS5ub2RlTmFtZSl9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSxuPWUudHlwZTtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1uJiYodD09PW58fG51bGw9PT10KX0scmFkaW86ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInJhZGlvIj09PWUudHlwZX0sY2hlY2tib3g6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImNoZWNrYm94Ij09PWUudHlwZQp9LGZpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmImZpbGUiPT09ZS50eXBlfSxwYXNzd29yZDpmdW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYicGFzc3dvcmQiPT09ZS50eXBlfSxzdWJtaXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmInN1Ym1pdCI9PT1lLnR5cGV9LGltYWdlOmZ1bmN0aW9uKGUpe3JldHVybiJpbnB1dCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJpbWFnZSI9PT1lLnR5cGV9LHJlc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJiJyZXNldCI9PT1lLnR5cGV9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChlLm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1lLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIDA9PT10fSxsYXN0OmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0PT09ci5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTB9LG9kZDpmdW5jdGlvbihlLHQpe3JldHVybiB0JTI9PTF9LGx0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdDxuWzNdLTB9LGd0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdD5uWzNdLTB9LG50aDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG5bM10tMD09PXR9LGVxOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gblszXS0wPT09dH19LGZpbHRlcjp7UFNFVURPOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPXRbMV0sbz1wLmZpbHRlcnNbaV07aWYobylyZXR1cm4gbyhlLG4sdCxyKTtpZigiY29udGFpbnMiPT09aSlyZXR1cm4oZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHR8fGQoW2VdKXx8IiIpLmluZGV4T2YodFszXSk+PTA7aWYoIm5vdCI9PT1pKXtmb3IodmFyIGE9dFszXSxzPTAsbD1hLmxlbmd0aDtzPGw7cysrKWlmKGFbc109PT1lKXJldHVybiExO3JldHVybiEwfWYuZXJyb3IoaSl9LENISUxEOmZ1bmN0aW9uKGUsdCl7dmFyIHIsaSxvLGEscyxsLHU9dFsxXSxjPWU7c3dpdGNoKHUpe2Nhc2Uib25seSI6Y2FzZSJmaXJzdCI6Zm9yKDtjPWMucHJldmlvdXNTaWJsaW5nOylpZigxPT09Yy5ub2RlVHlwZSlyZXR1cm4hMTtpZigiZmlyc3QiPT09dSlyZXR1cm4hMDtjPWU7Y2FzZSJsYXN0Ijpmb3IoO2M9Yy5uZXh0U2libGluZzspaWYoMT09PWMubm9kZVR5cGUpcmV0dXJuITE7cmV0dXJuITA7Y2FzZSJudGgiOmlmKHI9dFsyXSxpPXRbM10sMT09PXImJjA9PT1pKXJldHVybiEwO2lmKG89dFswXSwoYT1lLnBhcmVudE5vZGUpJiYoYVtuXSE9PW98fCFlLm5vZGVJbmRleCkpe2ZvcihzPTAsYz1hLmZpcnN0Q2hpbGQ7YztjPWMubmV4dFNpYmxpbmcpMT09PWMubm9kZVR5cGUmJihjLm5vZGVJbmRleD0rK3MpO2Fbbl09b31yZXR1cm4gbD1lLm5vZGVJbmRleC1pLDA9PT1yPzA9PT1sOmwlcj09MCYmbC9yPj0wfX0sSUQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMT09PWUubm9kZVR5cGUmJmUuZ2V0QXR0cmlidXRlKCJpZCIpPT09dH0sVEFHOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIioiPT09dCYmMT09PWUubm9kZVR5cGV8fCEhZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dH0sQ0xBU1M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4oIiAiKyhlLmNsYXNzTmFtZXx8ZS5nZXRBdHRyaWJ1dGUoImNsYXNzIikpKyIgIikuaW5kZXhPZih0KT4tMX0sQVRUUjpmdW5jdGlvbihlLHQpe3ZhciBuPXRbMV0scj1mLmF0dHI/Zi5hdHRyKGUsbik6cC5hdHRySGFuZGxlW25dP3AuYXR0ckhhbmRsZVtuXShlKTpudWxsIT1lW25dP2Vbbl06ZS5nZXRBdHRyaWJ1dGUobiksaT1yKyIiLG89dFsyXSxhPXRbNF07cmV0dXJuIG51bGw9PXI/IiE9Ij09PW86IW8mJmYuYXR0cj9udWxsIT1yOiI9Ij09PW8/aT09PWE6Iio9Ij09PW8/aS5pbmRleE9mKGEpPj0wOiJ+PSI9PT1vPygiICIraSsiICIpLmluZGV4T2YoYSk+PTA6YT8iIT0iPT09bz9pIT09YToiXj0iPT09bz8wPT09aS5pbmRleE9mKGEpOiIkPSI9PT1vP2kuc3Vic3RyKGkubGVuZ3RoLWEubGVuZ3RoKT09PWE6Inw9Ij09PW8mJihpPT09YXx8aS5zdWJzdHIoMCxhLmxlbmd0aCsxKT09PWErIi0iKTppJiYhMSE9PXJ9LFBPUzpmdW5jdGlvbihlLHQsbixyKXt2YXIgaT10WzJdLG89cC5zZXRGaWx0ZXJzW2ldO2lmKG8pcmV0dXJuIG8oZSxuLHQscil9fX0saD1wLm1hdGNoLlBPUyxtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIlxcIisodC0wKzEpfTtmb3IodmFyIGcgaW4gcC5tYXRjaClwLm1hdGNoW2ddPW5ldyBSZWdFeHAocC5tYXRjaFtnXS5zb3VyY2UrLyg/IVteXFtdKlxdKSg/IVteXChdKlwpKS8uc291cmNlKSxwLmxlZnRNYXRjaFtnXT1uZXcgUmVnRXhwKC8oXig/Oi58XHJ8XG4pKj8pLy5zb3VyY2UrcC5tYXRjaFtnXS5zb3VyY2UucmVwbGFjZSgvXFwoXGQrKS9nLG0pKTtwLm1hdGNoLmdsb2JhbFBPUz1oO3ZhciB2LHksYix4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwwKSx0Pyh0LnB1c2guYXBwbHkodCxlKSx0KTplfTt0cnl7QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodC5kb2N1bWVudEVsZW1lbnQuY2hpbGROb2RlcywwKVswXS5ub2RlVHlwZX1jYXRjaChlKXt4PWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPXR8fFtdCjtpZigiW29iamVjdCBBcnJheV0iPT09by5jYWxsKGUpKUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHIsZSk7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKWZvcih2YXIgaT1lLmxlbmd0aDtuPGk7bisrKXIucHVzaChlW25dKTtlbHNlIGZvcig7ZVtuXTtuKyspci5wdXNoKGVbbl0pO3JldHVybiByfX1mdW5jdGlvbiB3KGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMSE9PXUubm9kZVR5cGV8fGF8fCh1W25dPXIsdS5zaXpzZXQ9cyksdS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09dCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX1mdW5jdGlvbiBUKGUsdCxyLGksbyxhKXtmb3IodmFyIHM9MCxsPWkubGVuZ3RoO3M8bDtzKyspe3ZhciB1PWlbc107aWYodSl7dmFyIGM9ITE7Zm9yKHU9dVtlXTt1Oyl7aWYodVtuXT09PXIpe2M9aVt1LnNpenNldF07YnJlYWt9aWYoMT09PXUubm9kZVR5cGUpaWYoYXx8KHVbbl09cix1LnNpenNldD1zKSwic3RyaW5nIiE9dHlwZW9mIHQpe2lmKHU9PT10KXtjPSEwO2JyZWFrfX1lbHNlIGlmKGYuZmlsdGVyKHQsW3VdKS5sZW5ndGg+MCl7Yz11O2JyZWFrfXU9dVtlXX1pW3NdPWN9fX10LmRvY3VtZW50RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj92PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10PyhhPSEwLDApOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/NCZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPy0xOjE6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj8tMToxfToodj1mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBhPSEwLDA7aWYoZS5zb3VyY2VJbmRleCYmdC5zb3VyY2VJbmRleClyZXR1cm4gZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O3ZhciBuLHIsaT1bXSxvPVtdLHM9ZS5wYXJlbnROb2RlLGw9dC5wYXJlbnROb2RlLHU9cztpZihzPT09bClyZXR1cm4geShlLHQpO2lmKCFzKXJldHVybi0xO2lmKCFsKXJldHVybiAxO2Zvcig7dTspaS51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO2Zvcih1PWw7dTspby51bnNoaWZ0KHUpLHU9dS5wYXJlbnROb2RlO249aS5sZW5ndGgscj1vLmxlbmd0aDtmb3IodmFyIGM9MDtjPG4mJmM8cjtjKyspaWYoaVtjXSE9PW9bY10pcmV0dXJuIHkoaVtjXSxvW2NdKTtyZXR1cm4gYz09PW4/eShlLG9bY10sLTEpOnkoaVtjXSx0LDEpfSx5PWZ1bmN0aW9uKGUsdCxuKXtpZihlPT09dClyZXR1cm4gbjtmb3IodmFyIHI9ZS5uZXh0U2libGluZztyOyl7aWYocj09PXQpcmV0dXJuLTE7cj1yLm5leHRTaWJsaW5nfXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCkscj10LmRvY3VtZW50RWxlbWVudDtlLmlubmVySFRNTD0iPGEgbmFtZT0nIituKyInLz4iLHIuaW5zZXJ0QmVmb3JlKGUsci5maXJzdENoaWxkKSx0LmdldEVsZW1lbnRCeUlkKG4pJiYocC5maW5kLklEPWZ1bmN0aW9uKGUsdCxuKXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiYhbil7dmFyIHI9dC5nZXRFbGVtZW50QnlJZChlWzFdKTtyZXR1cm4gcj9yLmlkPT09ZVsxXXx8dm9pZCAwIT09ci5nZXRBdHRyaWJ1dGVOb2RlJiZyLmdldEF0dHJpYnV0ZU5vZGUoImlkIikubm9kZVZhbHVlPT09ZVsxXT9bcl06dm9pZCAwOltdfX0scC5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj12b2lkIDAhPT1lLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gMT09PWUubm9kZVR5cGUmJm4mJm4ubm9kZVZhbHVlPT09dH0pLHIucmVtb3ZlQ2hpbGQoZSkscj1lPW51bGx9KCksKGI9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYXBwZW5kQ2hpbGQodC5jcmVhdGVDb21tZW50KCIiKSksYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aD4wJiYocC5maW5kLlRBRz1mdW5jdGlvbihlLHQpe3ZhciBuPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoZVsxXSk7aWYoIioiPT09ZVsxXSl7Zm9yKHZhciByPVtdLGk9MDtuW2ldO2krKykxPT09bltpXS5ub2RlVHlwZSYmci5wdXNoKG5baV0pO249cn1yZXR1cm4gbn0pLGIuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IixiLmZpcnN0Q2hpbGQmJnZvaWQgMCE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUmJiIjIiE9PWIuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKSYmKHAuYXR0ckhhbmRsZS5ocmVmPWZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaHJlZiIsMil9KSxiPW51bGwsdC5xdWVyeVNlbGVjdG9yQWxsJiZmdW5jdGlvbigpe3ZhciBlPWYsbj10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG4uaW5uZXJIVE1MPSI8cCBjbGFzcz0nVEVTVCc+PC9wPiIsIW4ucXVlcnlTZWxlY3RvckFsbHx8MCE9PW4ucXVlcnlTZWxlY3RvckFsbCgiLlRFU1QiKS5sZW5ndGgpe2Zvcih2YXIgciBpbiBmPWZ1bmN0aW9uKG4scixpLG8pe2lmKHI9cnx8dCwhbyYmIWYuaXNYTUwocikpe3ZhciBhPS9eKFx3KyQpfF5cLihbXHdcLV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKG4pO2lmKGEmJigxPT09ci5ub2RlVHlwZXx8OT09PXIubm9kZVR5cGUpKXtpZihhWzFdKXJldHVybiB4KHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUobiksaSk7aWYoYVsyXSYmcC5maW5kLkNMQVNTJiZyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHgoci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGFbMl0pLGkpfWlmKDk9PT1yLm5vZGVUeXBlKXtpZigiYm9keSI9PT1uJiZyLmJvZHkpcmV0dXJuIHgoW3IuYm9keV0saSk7aWYoYSYmYVszXSl7dmFyIHM9ci5nZXRFbGVtZW50QnlJZChhWzNdKTtpZighc3x8IXMucGFyZW50Tm9kZSlyZXR1cm4geChbXSxpKTtpZihzLmlkPT09YVszXSlyZXR1cm4geChbc10saSl9dHJ5e3JldHVybiB4KHIucXVlcnlTZWxlY3RvckFsbChuKSxpKX1jYXRjaChlKXt9Cn1lbHNlIGlmKDE9PT1yLm5vZGVUeXBlJiYib2JqZWN0IiE9PXIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGw9cix1PXIuZ2V0QXR0cmlidXRlKCJpZCIpLGM9dXx8Il9fc2l6emxlX18iLGQ9ci5wYXJlbnROb2RlLGg9L15ccypbK35dLy50ZXN0KG4pO3U/Yz1jLnJlcGxhY2UoLycvZywiXFwkJiIpOnIuc2V0QXR0cmlidXRlKCJpZCIsYyksaCYmZCYmKHI9ci5wYXJlbnROb2RlKTt0cnl7aWYoIWh8fGQpcmV0dXJuIHgoci5xdWVyeVNlbGVjdG9yQWxsKCJbaWQ9JyIrYysiJ10gIituKSxpKX1jYXRjaChlKXt9ZmluYWxseXt1fHxsLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBlKG4scixpLG8pfSxlKWZbcl09ZVtyXTtuPW51bGx9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5kb2N1bWVudEVsZW1lbnQsbj1lLm1hdGNoZXNTZWxlY3Rvcnx8ZS5tb3pNYXRjaGVzU2VsZWN0b3J8fGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxlLm1zTWF0Y2hlc1NlbGVjdG9yO2lmKG4pe3ZhciByPSFuLmNhbGwodC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiZGl2IiksaT0hMTt0cnl7bi5jYWxsKHQuZG9jdW1lbnRFbGVtZW50LCJbdGVzdCE9JyddOnNpenpsZSIpfWNhdGNoKGUpe2k9ITB9Zi5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZih0PXQucmVwbGFjZSgvXD1ccyooW14nIlxdXSopXHMqXF0vZywiPSckMSddIiksIWYuaXNYTUwoZSkpdHJ5e2lmKGl8fCFwLm1hdGNoLlBTRVVETy50ZXN0KHQpJiYhLyE9Ly50ZXN0KHQpKXt2YXIgbz1uLmNhbGwoZSx0KTtpZihvfHwhcnx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBvfX1jYXRjaChlKXt9cmV0dXJuIGYodCxudWxsLG51bGwsW2VdKS5sZW5ndGg+MH19fSgpLGZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmlubmVySFRNTD0iPGRpdiBjbGFzcz0ndGVzdCBlJz48L2Rpdj48ZGl2IGNsYXNzPSd0ZXN0Jz48L2Rpdj4iLGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmMCE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKGUubGFzdENoaWxkLmNsYXNzTmFtZT0iZSIsMSE9PWUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZSIpLmxlbmd0aCYmKHAub3JkZXIuc3BsaWNlKDEsMCwiQ0xBU1MiKSxwLmZpbmQuQ0xBU1M9ZnVuY3Rpb24oZSx0LG4pe2lmKHZvaWQgMCE9PXQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmIW4pcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlWzFdKX0sZT1udWxsKSl9KCksdC5kb2N1bWVudEVsZW1lbnQuY29udGFpbnM/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiBlIT09dCYmKCFlLmNvbnRhaW5zfHxlLmNvbnRhaW5zKHQpKX06dC5kb2N1bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/Zi5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybiEhKDE2JmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCkpfTpmLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LGYuaXNYTUw9ZnVuY3Rpb24oZSl7dmFyIHQ9KGU/ZS5vd25lckRvY3VtZW50fHxlOjApLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9O3ZhciBOPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaT1bXSxvPSIiLGE9dC5ub2RlVHlwZT9bdF06dDtyPXAubWF0Y2guUFNFVURPLmV4ZWMoZSk7KW8rPXJbMF0sZT1lLnJlcGxhY2UocC5tYXRjaC5QU0VVRE8sIiIpO2U9cC5yZWxhdGl2ZVtlXT9lKyIqIjplO2Zvcih2YXIgcz0wLGw9YS5sZW5ndGg7czxsO3MrKylmKGUsYVtzXSxpLG4pO3JldHVybiBmLmZpbHRlcihvLGkpfTtmLmF0dHI9aS5hdHRyLGYuc2VsZWN0b3JzLmF0dHJNYXA9e30saS5maW5kPWYsaS5leHByPWYuc2VsZWN0b3JzLGkuZXhwclsiOiJdPWkuZXhwci5maWx0ZXJzLGkudW5pcXVlPWYudW5pcXVlU29ydCxpLnRleHQ9Zi5nZXRUZXh0LGkuaXNYTUxEb2M9Zi5pc1hNTCxpLmNvbnRhaW5zPWYuY29udGFpbnN9KCk7dmFyIE09L1VudGlsJC8sTz0vXig/OnBhcmVudHN8cHJldlVudGlsfHByZXZBbGwpLyxIPS8sLyxQPS9eLlteOiNcW1wuLF0qJC8scT1BcnJheS5wcm90b3R5cGUuc2xpY2UsQj1pLmV4cHIubWF0Y2guZ2xvYmFsUE9TLFc9e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07ZnVuY3Rpb24gSShlKXtyZXR1cm4hZXx8IWUucGFyZW50Tm9kZXx8MTE9PT1lLnBhcmVudE5vZGUubm9kZVR5cGV9ZnVuY3Rpb24gJChlLHQsbil7aWYodD10fHwwLGkuaXNGdW5jdGlvbih0KSlyZXR1cm4gaS5ncmVwKGUsKGZ1bmN0aW9uKGUscil7cmV0dXJuISF0LmNhbGwoZSxyLGUpPT09bn0pKTtpZih0Lm5vZGVUeXBlKXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT09PXQ9PT1ufSkpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIHI9aS5ncmVwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKTtpZihQLnRlc3QodCkpcmV0dXJuIGkuZmlsdGVyKHQsciwhbik7dD1pLmZpbHRlcih0LHIpfXJldHVybiBpLmdyZXAoZSwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gaS5pbkFycmF5KGUsdCk+PTA9PT1ufSkpfWZ1bmN0aW9uIFIoZSl7dmFyIHQ9WC5zcGxpdCgifCIpLG49ZS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7dC5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudCh0LnBvcCgpKTtyZXR1cm4gbn1pLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIGkoZSkuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWlmKGkuY29udGFpbnMoclt0XSx0aGlzKSlyZXR1cm4hMH0pKTt2YXIgbyxhLHMsbD10aGlzLnB1c2hTdGFjaygiIiwiZmluZCIsZSk7Zm9yKHQ9MCxuPXRoaXMubGVuZ3RoO3Q8bjt0KyspaWYobz1sLmxlbmd0aCxpLmZpbmQoZSx0aGlzW3RdLGwpLHQ+MClmb3IoYT1vO2E8bC5sZW5ndGg7YSsrKWZvcihzPTA7czxvO3MrKylpZihsW3NdPT09bFthXSl7bC5zcGxpY2UoYS0tLDEpCjticmVha31yZXR1cm4gbH0saGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWkoZSk7cmV0dXJuIHRoaXMuZmlsdGVyKChmdW5jdGlvbigpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZihpLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0dXJuITB9KSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soJCh0aGlzLGUsITEpLCJub3QiLGUpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKCQodGhpcyxlLCEwKSwiZmlsdGVyIixlKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYoInN0cmluZyI9PXR5cGVvZiBlP0IudGVzdChlKT9pKGUsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBdKT49MDppLmZpbHRlcihlLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGUpLmxlbmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsbz1bXSxhPXRoaXNbMF07aWYoaS5pc0FycmF5KGUpKXtmb3IodmFyIHM9MTthJiZhLm93bmVyRG9jdW1lbnQmJmEhPT10Oyl7Zm9yKG49MDtuPGUubGVuZ3RoO24rKylpKGEpLmlzKGVbbl0pJiZvLnB1c2goe3NlbGVjdG9yOmVbbl0sZWxlbTphLGxldmVsOnN9KTthPWEucGFyZW50Tm9kZSxzKyt9cmV0dXJuIG99dmFyIGw9Qi50ZXN0KGUpfHwic3RyaW5nIiE9dHlwZW9mIGU/aShlLHR8fHRoaXMuY29udGV4dCk6MDtmb3Iobj0wLHI9dGhpcy5sZW5ndGg7bjxyO24rKylmb3IoYT10aGlzW25dO2E7KXtpZihsP2wuaW5kZXgoYSk+LTE6aS5maW5kLm1hdGNoZXNTZWxlY3RvcihhLGUpKXtvLnB1c2goYSk7YnJlYWt9aWYoIShhPWEucGFyZW50Tm9kZSl8fCFhLm93bmVyRG9jdW1lbnR8fGE9PT10fHwxMT09PWEubm9kZVR5cGUpYnJlYWt9cmV0dXJuIG89by5sZW5ndGg+MT9pLnVuaXF1ZShvKTpvLHRoaXMucHVzaFN0YWNrKG8sImNsb3Nlc3QiLGUpfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9mIGU/aS5pbkFycmF5KHRoaXNbMF0saShlKSk6aS5pbkFycmF5KGUuanF1ZXJ5P2VbMF06ZSx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIGU/aShlLHQpOmkubWFrZUFycmF5KGUmJmUubm9kZVR5cGU/W2VdOmUpLHI9aS5tZXJnZSh0aGlzLmdldCgpLG4pO3JldHVybiB0aGlzLnB1c2hTdGFjayhJKG5bMF0pfHxJKHJbMF0pP3I6aS51bmlxdWUocikpfSxhbmRTZWxmOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWRkKHRoaXMucHJldk9iamVjdCl9fSksaS5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBpLmRpcihlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBpLm50aChlLDIsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubnRoKGUsMiwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsIm5leHRTaWJsaW5nIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBpLmRpcihlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZGlyKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBpLnNpYmxpbmcoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGkubm9kZU5hbWUoZSwiaWZyYW1lIik/ZS5jb250ZW50RG9jdW1lbnR8fGUuY29udGVudFdpbmRvdy5kb2N1bWVudDppLm1ha2VBcnJheShlLmNoaWxkTm9kZXMpfX0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBvPWkubWFwKHRoaXMsdCxuKTtyZXR1cm4gTS50ZXN0KGUpfHwocj1uKSxyJiYic3RyaW5nIj09dHlwZW9mIHImJihvPWkuZmlsdGVyKHIsbykpLG89dGhpcy5sZW5ndGg+MSYmIVdbZV0/aS51bmlxdWUobyk6bywodGhpcy5sZW5ndGg+MXx8SC50ZXN0KHIpKSYmTy50ZXN0KGUpJiYobz1vLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobyxlLHEuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSkpLGkuZXh0ZW5kKHtmaWx0ZXI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIikiKSwxPT09dC5sZW5ndGg/aS5maW5kLm1hdGNoZXNTZWxlY3Rvcih0WzBdLGUpP1t0WzBdXTpbXTppLmZpbmQubWF0Y2hlcyhlLHQpfSxkaXI6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxvPWVbdF07byYmOSE9PW8ubm9kZVR5cGUmJih2b2lkIDA9PT1ufHwxIT09by5ub2RlVHlwZXx8IWkobykuaXMobikpOykxPT09by5ub2RlVHlwZSYmci5wdXNoKG8pLG89b1t0XTtyZXR1cm4gcn0sbnRoOmZ1bmN0aW9uKGUsdCxuLHIpe3Q9dHx8MTtmb3IodmFyIGk9MDtlJiYoMSE9PWUubm9kZVR5cGV8fCsraSE9PXQpO2U9ZVtuXSk7cmV0dXJuIGV9LHNpYmxpbmc6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpMT09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59fSkKO3ZhciBYPSJhYmJyfGFydGljbGV8YXNpZGV8YXVkaW98YmRpfGNhbnZhc3xkYXRhfGRhdGFsaXN0fGRldGFpbHN8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFya3xtZXRlcnxuYXZ8b3V0cHV0fHByb2dyZXNzfHNlY3Rpb258c3VtbWFyeXx0aW1lfHZpZGVvIix6PS8galF1ZXJ5XGQrPSIoPzpcZCt8bnVsbCkiL2csVj0vXlxzKy8sVT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6XSspW14+XSopXC8+L2dpLFk9LzwoW1x3Ol0rKS8sSj0vPHRib2R5L2ksRz0vPHwmIz9cdys7LyxLPS88KD86c2NyaXB0fHN0eWxlKS9pLFE9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9wdGlvbnxzdHlsZSkvaSxaPW5ldyBSZWdFeHAoIjwoPzoiK1grIilbXFxzLz5dIiwiaSIpLGVlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLHRlPS9cLyhqYXZhfGVjbWEpc2NyaXB0L2ksbmU9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0scmU9Uih0KTtmdW5jdGlvbiBpZShlLHQpe2lmKDE9PT10Lm5vZGVUeXBlJiZpLmhhc0RhdGEoZSkpe3ZhciBuLHIsbyxhPWkuX2RhdGEoZSkscz1pLl9kYXRhKHQsYSksbD1hLmV2ZW50cztpZihsKWZvcihuIGluIGRlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fSxsKWZvcihyPTAsbz1sW25dLmxlbmd0aDtyPG87cisrKWkuZXZlbnQuYWRkKHQsbixsW25dW3JdKTtzLmRhdGEmJihzLmRhdGE9aS5leHRlbmQoe30scy5kYXRhKSl9fWZ1bmN0aW9uIG9lKGUsdCl7dmFyIG47MT09PXQubm9kZVR5cGUmJih0LmNsZWFyQXR0cmlidXRlcyYmdC5jbGVhckF0dHJpYnV0ZXMoKSx0Lm1lcmdlQXR0cmlidXRlcyYmdC5tZXJnZUF0dHJpYnV0ZXMoZSksIm9iamVjdCI9PT0obj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpP3Qub3V0ZXJIVE1MPWUub3V0ZXJIVE1MOiJpbnB1dCIhPT1ufHwiY2hlY2tib3giIT09ZS50eXBlJiYicmFkaW8iIT09ZS50eXBlPyJvcHRpb24iPT09bj90LnNlbGVjdGVkPWUuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCI9PT1ufHwidGV4dGFyZWEiPT09bj90LmRlZmF1bHRWYWx1ZT1lLmRlZmF1bHRWYWx1ZToic2NyaXB0Ij09PW4mJnQudGV4dCE9PWUudGV4dCYmKHQudGV4dD1lLnRleHQpOihlLmNoZWNrZWQmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZD1lLmNoZWNrZWQpLHQudmFsdWUhPT1lLnZhbHVlJiYodC52YWx1ZT1lLnZhbHVlKSksdC5yZW1vdmVBdHRyaWJ1dGUoaS5leHBhbmRvKSx0LnJlbW92ZUF0dHJpYnV0ZSgiX3N1Ym1pdF9hdHRhY2hlZCIpLHQucmVtb3ZlQXR0cmlidXRlKCJfY2hhbmdlX2F0dGFjaGVkIikpfWZ1bmN0aW9uIGFlKGUpe3JldHVybiB2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp2b2lkIDAhPT1lLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKCIqIik6W119ZnVuY3Rpb24gc2UoZSl7ImNoZWNrYm94IiE9PWUudHlwZSYmInJhZGlvIiE9PWUudHlwZXx8KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkKX1mdW5jdGlvbiBsZShlKXt2YXIgdD0oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PXQ/c2UoZSk6InNjcmlwdCIhPT10JiZ2b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZpLmdyZXAoZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxzZSl9bmUub3B0Z3JvdXA9bmUub3B0aW9uLG5lLnRib2R5PW5lLnRmb290PW5lLmNvbGdyb3VwPW5lLmNhcHRpb249bmUudGhlYWQsbmUudGg9bmUudGQsaS5zdXBwb3J0Lmh0bWxTZXJpYWxpemV8fChuZS5fZGVmYXVsdD1bMSwiZGl2PGRpdj4iLCI8L2Rpdj4iXSksaS5mbi5leHRlbmQoe3RleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2kudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fHQpLmNyZWF0ZVRleHROb2RlKGUpKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sd3JhcEFsbDpmdW5jdGlvbihlKXtpZihpLmlzRnVuY3Rpb24oZSkpcmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aSh0aGlzKS53cmFwQWxsKGUuY2FsbCh0aGlzLHQpKX0pKTtpZih0aGlzWzBdKXt2YXIgdD1pKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcztlLmZpcnN0Q2hpbGQmJjE9PT1lLmZpcnN0Q2hpbGQubm9kZVR5cGU7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfSkpLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXtpKHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KSk6dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWkodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSkpfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWkuaXNGdW5jdGlvbihlKTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihuKXtpKHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pKX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaCgoZnVuY3Rpb24oKXsKaS5ub2RlTmFtZSh0aGlzLCJib2R5Iil8fGkodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pKS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLChmdW5jdGlvbihlKXsxPT09dGhpcy5ub2RlVHlwZSYmdGhpcy5hcHBlbmRDaGlsZChlKX0pKX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMCwoZnVuY3Rpb24oZSl7MT09PXRoaXMubm9kZVR5cGUmJnRoaXMuaW5zZXJ0QmVmb3JlKGUsdGhpcy5maXJzdENoaWxkKX0pKX0sYmVmb3JlOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPWkuY2xlYW4oYXJndW1lbnRzKTtyZXR1cm4gZS5wdXNoLmFwcGx5KGUsdGhpcy50b0FycmF5KCkpLHRoaXMucHVzaFN0YWNrKGUsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYodGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlwKGFyZ3VtZW50cywhMSwoZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSkpO2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBlPXRoaXMucHVzaFN0YWNrKHRoaXMsImFmdGVyIixhcmd1bWVudHMpO3JldHVybiBlLnB1c2guYXBwbHkoZSxpLmNsZWFuKGFyZ3VtZW50cykpLGV9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scj0wO251bGwhPShuPXRoaXNbcl0pO3IrKyllJiYhaS5maWx0ZXIoZSxbbl0pLmxlbmd0aHx8KHR8fDEhPT1uLm5vZGVUeXBlfHwoaS5jbGVhbkRhdGEobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpKSxpLmNsZWFuRGF0YShbbl0pKSxuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKSk7cmV0dXJuIHRoaXN9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspZm9yKDE9PT1lLm5vZGVUeXBlJiZpLmNsZWFuRGF0YShlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPWU/PyExLHQ9dD8/ZSx0aGlzLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5jbG9uZSh0aGlzLGUsdCl9KSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGkuYWNjZXNzKHRoaXMsKGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUpcmV0dXJuIDE9PT10Lm5vZGVUeXBlP3QuaW5uZXJIVE1MLnJlcGxhY2UoeiwiIik6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFLLnRlc3QoZSkmJihpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFWLnRlc3QoZSkpJiYhbmVbKFkuZXhlYyhlKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9ZS5yZXBsYWNlKFUsIjwkMT48LyQyPiIpO3RyeXtmb3IoO248cjtuKyspMT09PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKGkuY2xlYW5EYXRhKHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0pLG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT9pLmlzRnVuY3Rpb24oZSk/dGhpcy5lYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pKHRoaXMpLHI9bi5odG1sKCk7bi5yZXBsYWNlV2l0aChlLmNhbGwodGhpcyx0LHIpKX0pKTooInN0cmluZyIhPXR5cGVvZiBlJiYoZT1pKGUpLmRldGFjaCgpKSx0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5uZXh0U2libGluZyxuPXRoaXMucGFyZW50Tm9kZTtpKHRoaXMpLnJlbW92ZSgpLHQ/aSh0KS5iZWZvcmUoZSk6aShuKS5hcHBlbmQoZSl9KSkpOnRoaXMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKGkoaS5pc0Z1bmN0aW9uKGUpP2UoKTplKSwicmVwbGFjZVdpdGgiLGUpOnRoaXN9LGRldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZW1vdmUoZSwhMCl9LGRvbU1hbmlwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGEscyxsLHU9ZVswXSxjPVtdO2lmKCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmMz09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmZWUudGVzdCh1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2kodGhpcykuZG9tTWFuaXAoZSx0LG4sITApfSkpO2lmKGkuaXNGdW5jdGlvbih1KSlyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihyKXt2YXIgbz1pKHRoaXMpO2VbMF09dS5jYWxsKHRoaXMscix0P28uaHRtbCgpOnZvaWQgMCksby5kb21NYW5pcChlLHQsbil9KSk7aWYodGhpc1swXSl7aWYocz11JiZ1LnBhcmVudE5vZGUsbz0xPT09KGE9KHI9aS5zdXBwb3J0LnBhcmVudE5vZGUmJnMmJjExPT09cy5ub2RlVHlwZSYmcy5jaGlsZE5vZGVzLmxlbmd0aD09PXRoaXMubGVuZ3RoP3tmcmFnbWVudDpzfTppLmJ1aWxkRnJhZ21lbnQoZSx0aGlzLGMpKS5mcmFnbWVudCkuY2hpbGROb2Rlcy5sZW5ndGg/YT1hLmZpcnN0Q2hpbGQ6YS5maXJzdENoaWxkKXt0PXQmJmkubm9kZU5hbWUobywidHIiKTtmb3IodmFyIGY9MCxkPXRoaXMubGVuZ3RoLHA9ZC0xO2Y8ZDtmKyspbi5jYWxsKHQ/KGw9dGhpc1tmXSxpLm5vZGVOYW1lKGwsInRhYmxlIik/bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXXx8bC5hcHBlbmRDaGlsZChsLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGJvZHkiKSk6bCk6dGhpc1tmXSxyLmNhY2hlYWJsZXx8ZD4xJiZmPHA/aS5jbG9uZShhLCEwLCEwKTphKX1jLmxlbmd0aCYmaS5lYWNoKGMsKGZ1bmN0aW9uKGUsdCl7dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSl9CnJldHVybiB0aGlzfX0pLGkuYnVpbGRGcmFnbWVudD1mdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGwsdT1lWzBdO3JldHVybiBuJiZuWzBdJiYobD1uWzBdLm93bmVyRG9jdW1lbnR8fG5bMF0pLGwuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8KGw9dCksISgxPT09ZS5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgdSYmdS5sZW5ndGg8NTEyJiZsPT09dCYmIjwiPT09dS5jaGFyQXQoMCkpfHxRLnRlc3QodSl8fCFpLnN1cHBvcnQuY2hlY2tDbG9uZSYmZWUudGVzdCh1KXx8IWkuc3VwcG9ydC5odG1sNUNsb25lJiZaLnRlc3QodSl8fChhPSEwLChzPWkuZnJhZ21lbnRzW3VdKSYmMSE9PXMmJihvPXMpKSxvfHwobz1sLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxpLmNsZWFuKGUsbCxvLHIpKSxhJiYoaS5mcmFnbWVudHNbdV09cz9vOjEpLHtmcmFnbWVudDpvLGNhY2hlYWJsZTphfX0saS5mcmFnbWVudHM9e30saS5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5mbltlXT1mdW5jdGlvbihuKXt2YXIgcj1bXSxvPWkobiksYT0xPT09dGhpcy5sZW5ndGgmJnRoaXNbMF0ucGFyZW50Tm9kZTtpZihhJiYxMT09PWEubm9kZVR5cGUmJjE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiYxPT09by5sZW5ndGgpcmV0dXJuIG9bdF0odGhpc1swXSksdGhpcztmb3IodmFyIHM9MCxsPW8ubGVuZ3RoO3M8bDtzKyspe3ZhciB1PShzPjA/dGhpcy5jbG9uZSghMCk6dGhpcykuZ2V0KCk7aShvW3NdKVt0XSh1KSxyPXIuY29uY2F0KHUpfXJldHVybiB0aGlzLnB1c2hTdGFjayhyLGUsby5zZWxlY3Rvcil9fSkpLGkuZXh0ZW5kKHtjbG9uZTpmdW5jdGlvbihlLG4scil7dmFyIG8sYSxzLGw9aS5zdXBwb3J0Lmh0bWw1Q2xvbmV8fGkuaXNYTUxEb2MoZSl8fCFaLnRlc3QoIjwiK2Uubm9kZU5hbWUrIj4iKT9lLmNsb25lTm9kZSghMCk6ZnVuY3Rpb24oZSl7dmFyIG49dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gcmUuYXBwZW5kQ2hpbGQobiksbi5pbm5lckhUTUw9ZS5vdXRlckhUTUwsbi5maXJzdENoaWxkfShlKTtpZighKGkuc3VwcG9ydC5ub0Nsb25lRXZlbnQmJmkuc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8aS5pc1hNTERvYyhlKSkpZm9yKG9lKGUsbCksbz1hZShlKSxhPWFlKGwpLHM9MDtvW3NdOysrcylhW3NdJiZvZShvW3NdLGFbc10pO2lmKG4mJihpZShlLGwpLHIpKWZvcihvPWFlKGUpLGE9YWUobCkscz0wO29bc107KytzKWllKG9bc10sYVtzXSk7cmV0dXJuIG89YT1udWxsLGx9LGNsZWFuOmZ1bmN0aW9uKGUsbixyLG8pe3ZhciBhLHMsbCx1PVtdO3ZvaWQgMD09PShuPW58fHQpLmNyZWF0ZUVsZW1lbnQmJihuPW4ub3duZXJEb2N1bWVudHx8blswXSYmblswXS5vd25lckRvY3VtZW50fHx0KTtmb3IodmFyIGMsZj0wO251bGwhPShjPWVbZl0pO2YrKylpZigibnVtYmVyIj09dHlwZW9mIGMmJihjKz0iIiksYyl7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKEcudGVzdChjKSl7Yz1jLnJlcGxhY2UoVSwiPCQxPjwvJDI+Iik7dmFyIGQscD0oWS5leGVjKGMpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpLGg9bmVbcF18fG5lLl9kZWZhdWx0LG09aFswXSxnPW4uY3JlYXRlRWxlbWVudCgiZGl2Iiksdj1yZS5jaGlsZE5vZGVzO2ZvcihuPT09dD9yZS5hcHBlbmRDaGlsZChnKTpSKG4pLmFwcGVuZENoaWxkKGcpLGcuaW5uZXJIVE1MPWhbMV0rYytoWzJdO20tLTspZz1nLmxhc3RDaGlsZDtpZighaS5zdXBwb3J0LnRib2R5KXt2YXIgeT1KLnRlc3QoYyksYj0idGFibGUiIT09cHx8eT8iPHRhYmxlPiIhPT1oWzFdfHx5P1tdOmcuY2hpbGROb2RlczpnLmZpcnN0Q2hpbGQmJmcuZmlyc3RDaGlsZC5jaGlsZE5vZGVzO2ZvcihsPWIubGVuZ3RoLTE7bD49MDstLWwpaS5ub2RlTmFtZShiW2xdLCJ0Ym9keSIpJiYhYltsXS5jaGlsZE5vZGVzLmxlbmd0aCYmYltsXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJbbF0pfSFpLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2UmJlYudGVzdChjKSYmZy5pbnNlcnRCZWZvcmUobi5jcmVhdGVUZXh0Tm9kZShWLmV4ZWMoYylbMF0pLGcuZmlyc3RDaGlsZCksYz1nLmNoaWxkTm9kZXMsZyYmKGcucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChnKSx2Lmxlbmd0aD4wJiYoZD12W3YubGVuZ3RoLTFdKSYmZC5wYXJlbnROb2RlJiZkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpfWVsc2UgYz1uLmNyZWF0ZVRleHROb2RlKGMpO3ZhciB4O2lmKCFpLnN1cHBvcnQuYXBwZW5kQ2hlY2tlZClpZihjWzBdJiYibnVtYmVyIj09dHlwZW9mKHg9Yy5sZW5ndGgpKWZvcihsPTA7bDx4O2wrKylsZShjW2xdKTtlbHNlIGxlKGMpO2Mubm9kZVR5cGU/dS5wdXNoKGMpOnU9aS5tZXJnZSh1LGMpfWlmKHIpZm9yKGE9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZXx8dGUudGVzdChlLnR5cGUpfSxmPTA7dVtmXTtmKyspaWYocz11W2ZdLG8mJmkubm9kZU5hbWUocywic2NyaXB0IikmJighcy50eXBlfHx0ZS50ZXN0KHMudHlwZSkpKW8ucHVzaChzLnBhcmVudE5vZGU/cy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHMpOnMpO2Vsc2V7aWYoMT09PXMubm9kZVR5cGUpe3ZhciB3PWkuZ3JlcChzLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhKTt1LnNwbGljZS5hcHBseSh1LFtmKzEsMF0uY29uY2F0KHcpKX1yLmFwcGVuZENoaWxkKHMpfXJldHVybiB1fSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixvPWkuY2FjaGUsYT1pLmV2ZW50LnNwZWNpYWwscz1pLnN1cHBvcnQuZGVsZXRlRXhwYW5kbyxsPTA7bnVsbCE9KHI9ZVtsXSk7bCsrKWlmKCghci5ub2RlTmFtZXx8IWkubm9EYXRhW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYobj1yW2kuZXhwYW5kb10pKXtpZigodD1vW25dKSYmdC5ldmVudHMpe2Zvcih2YXIgdSBpbiB0LmV2ZW50cylhW3VdP2kuZXZlbnQucmVtb3ZlKHIsdSk6aS5yZW1vdmVFdmVudChyLHUsdC5oYW5kbGUpCjt0LmhhbmRsZSYmKHQuaGFuZGxlLmVsZW09bnVsbCl9cz9kZWxldGUgcltpLmV4cGFuZG9dOnIucmVtb3ZlQXR0cmlidXRlJiZyLnJlbW92ZUF0dHJpYnV0ZShpLmV4cGFuZG8pLGRlbGV0ZSBvW25dfX19KTt2YXIgdWUsY2UsZmUsZGU9L2FscGhhXChbXildKlwpL2kscGU9L29wYWNpdHk9KFteKV0qKS8saGU9LyhbQS1aXXxebXMpL2csbWU9L15bXC0rXT8oPzpcZCpcLik/XGQrJC9pLGdlPS9eLT8oPzpcZCpcLik/XGQrKD8hcHgpW15cZFxzXSskL2ksdmU9L14oW1wtK10pPShbXC0rLlxkZV0rKS8seWU9L15tYXJnaW4vLGJlPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSx4ZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdO2Z1bmN0aW9uIHdlKGUsdCxuKXt2YXIgcj0id2lkdGgiPT09dD9lLm9mZnNldFdpZHRoOmUub2Zmc2V0SGVpZ2h0LG89IndpZHRoIj09PXQ/MTowO2lmKHI+MCl7aWYoImJvcmRlciIhPT1uKWZvcig7bzw0O28rPTIpbnx8KHItPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCksIm1hcmdpbiI9PT1uP3IrPXBhcnNlRmxvYXQoaS5jc3MoZSxuK3hlW29dKSl8fDA6ci09cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MDtyZXR1cm4gcisicHgifWlmKCgocj11ZShlLHQpKTwwfHxudWxsPT1yKSYmKHI9ZS5zdHlsZVt0XSksZ2UudGVzdChyKSlyZXR1cm4gcjtpZihyPXBhcnNlRmxvYXQocil8fDAsbilmb3IoO288NDtvKz0yKXIrPXBhcnNlRmxvYXQoaS5jc3MoZSwicGFkZGluZyIreGVbb10pKXx8MCwicGFkZGluZyIhPT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLCJib3JkZXIiK3hlW29dKyJXaWR0aCIpKXx8MCksIm1hcmdpbiI9PT1uJiYocis9cGFyc2VGbG9hdChpLmNzcyhlLG4reGVbb10pKXx8MCk7cmV0dXJuIHIrInB4In1pLmZuLmNzcz1mdW5jdGlvbihlLHQpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMCE9PW4/aS5zdHlsZShlLHQsbik6aS5jc3MoZSx0KX0pLGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfSxpLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPXVlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59cmV0dXJuIGUuc3R5bGUub3BhY2l0eX19fSxjc3NOdW1iZXI6e2ZpbGxPcGFjaXR5OiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ZmxvYXQ6aS5zdXBwb3J0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBvLGEscz1pLmNhbWVsQ2FzZSh0KSxsPWUuc3R5bGUsdT1pLmNzc0hvb2tzW3NdO2lmKHQ9aS5jc3NQcm9wc1tzXXx8cyx2b2lkIDA9PT1uKXJldHVybiB1JiYiZ2V0ImluIHUmJnZvaWQgMCE9PShvPXUuZ2V0KGUsITEscikpP286bFt0XTtpZighKCJzdHJpbmciPT09KGE9dHlwZW9mIG4pJiYobz12ZS5leGVjKG4pKSYmKG49KyhvWzFdKzEpKitvWzJdK3BhcnNlRmxvYXQoaS5jc3MoZSx0KSksYT0ibnVtYmVyIiksbnVsbD09bnx8Im51bWJlciI9PT1hJiZpc05hTihuKXx8KCJudW1iZXIiIT09YXx8aS5jc3NOdW1iZXJbc118fChuKz0icHgiKSx1JiYic2V0ImluIHUmJnZvaWQgMD09PShuPXUuc2V0KGUsbikpKSkpdHJ5e2xbdF09bn1jYXRjaChlKXt9fX0sY3NzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvO3JldHVybiB0PWkuY2FtZWxDYXNlKHQpLG89aS5jc3NIb29rc1t0XSwiY3NzRmxvYXQiPT09KHQ9aS5jc3NQcm9wc1t0XXx8dCkmJih0PSJmbG9hdCIpLG8mJiJnZXQiaW4gbyYmdm9pZCAwIT09KHI9by5nZXQoZSwhMCxuKSk/cjp1ZT91ZShlLHQpOnZvaWQgMH0sc3dhcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXTtmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn19KSxpLmN1ckNTUz1pLmNzcyx0LmRlZmF1bHRWaWV3JiZ0LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbyxhLHM9ZS5zdHlsZTtyZXR1cm4gdD10LnJlcGxhY2UoaGUsIi0kMSIpLnRvTG93ZXJDYXNlKCksKHI9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSYmKG89ci5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCkpJiYoIiIhPT0obj1vLmdldFByb3BlcnR5VmFsdWUodCkpfHxpLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZSl8fChuPWkuc3R5bGUoZSx0KSkpLCFpLnN1cHBvcnQucGl4ZWxNYXJnaW4mJm8mJnllLnRlc3QodCkmJmdlLnRlc3QobikmJihhPXMud2lkdGgscy53aWR0aD1uLG49by53aWR0aCxzLndpZHRoPWEpLG59KSx0LmRvY3VtZW50RWxlbWVudC5jdXJyZW50U3R5bGUmJihmZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvPWUuY3VycmVudFN0eWxlJiZlLmN1cnJlbnRTdHlsZVt0XSxhPWUuc3R5bGU7cmV0dXJuIG51bGw9PW8mJmEmJihpPWFbdF0pJiYobz1pKSxnZS50ZXN0KG8pJiYobj1hLmxlZnQsKHI9ZS5ydW50aW1lU3R5bGUmJmUucnVudGltZVN0eWxlLmxlZnQpJiYoZS5ydW50aW1lU3R5bGUubGVmdD1lLmN1cnJlbnRTdHlsZS5sZWZ0KSxhLmxlZnQ9ImZvbnRTaXplIj09PXQ/IjFlbSI6byxvPWEucGl4ZWxMZWZ0KyJweCIsYS5sZWZ0PW4sciYmKGUucnVudGltZVN0eWxlLmxlZnQ9cikpLCIiPT09bz8iYXV0byI6b30pLHVlPWNlfHxmZSxpLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLChmdW5jdGlvbihlLHQpe2kuY3NzSG9va3NbdF09e2dldDpmdW5jdGlvbihlLG4scil7aWYobilyZXR1cm4gMCE9PWUub2Zmc2V0V2lkdGg/d2UoZSx0LHIpOmkuc3dhcChlLGJlLChmdW5jdGlvbigpe3JldHVybiB3ZShlLHQscil9KSl9LHNldDpmdW5jdGlvbihlLHQpewpyZXR1cm4gbWUudGVzdCh0KT90KyJweCI6dH19fSkpLGkuc3VwcG9ydC5vcGFjaXR5fHwoaS5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGUudGVzdCgodCYmZS5jdXJyZW50U3R5bGU/ZS5jdXJyZW50U3R5bGUuZmlsdGVyOmUuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDArIiI6dD8iMSI6IiJ9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuPWUuc3R5bGUscj1lLmN1cnJlbnRTdHlsZSxvPWkuaXNOdW1lcmljKHQpPyJhbHBoYShvcGFjaXR5PSIrMTAwKnQrIikiOiIiLGE9ciYmci5maWx0ZXJ8fG4uZmlsdGVyfHwiIjtuLnpvb209MSx0Pj0xJiYiIj09PWkudHJpbShhLnJlcGxhY2UoZGUsIiIpKSYmKG4ucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKSxyJiYhci5maWx0ZXIpfHwobi5maWx0ZXI9ZGUudGVzdChhKT9hLnJlcGxhY2UoZGUsbyk6YSsiICIrbyl9fSksaSgoZnVuY3Rpb24oKXtpLnN1cHBvcnQucmVsaWFibGVNYXJnaW5SaWdodHx8KGkuY3NzSG9va3MubWFyZ2luUmlnaHQ9e2dldDpmdW5jdGlvbihlLHQpe3JldHVybiBpLnN3YXAoZSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sKGZ1bmN0aW9uKCl7cmV0dXJuIHQ/dWUoZSwibWFyZ2luLXJpZ2h0Iik6ZS5zdHlsZS5tYXJnaW5SaWdodH0pKX19KX0pKSxpLmV4cHImJmkuZXhwci5maWx0ZXJzJiYoaS5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0V2lkdGgsbj1lLm9mZnNldEhlaWdodDtyZXR1cm4gMD09PXQmJjA9PT1ufHwhaS5zdXBwb3J0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cyYmIm5vbmUiPT09KGUuc3R5bGUmJmUuc3R5bGUuZGlzcGxheXx8aS5jc3MoZSwiZGlzcGxheSIpKX0saS5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4haS5leHByLmZpbHRlcnMuaGlkZGVuKGUpfSksaS5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sKGZ1bmN0aW9uKGUsdCl7aS5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7dmFyIHIsaT0ic3RyaW5nIj09dHlwZW9mIG4/bi5zcGxpdCgiICIpOltuXSxvPXt9O2ZvcihyPTA7cjw0O3IrKylvW2UreGVbcl0rdF09aVtyXXx8aVtyLTJdfHxpWzBdO3JldHVybiBvfX19KSk7dmFyIFRlLE5lLENlPS8lMjAvZyxTZT0vXFtcXSQvLGtlPS9ccj9cbi9nLEVlPS8jLiokLyxBZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLERlPS9eKD86Y29sb3J8ZGF0ZXxkYXRldGltZXxkYXRldGltZS1sb2NhbHxlbWFpbHxoaWRkZW58bW9udGh8bnVtYmVyfHBhc3N3b3JkfHJhbmdlfHNlYXJjaHx0ZWx8dGV4dHx0aW1lfHVybHx3ZWVrKSQvaSxMZT0vXig/OkdFVHxIRUFEKSQvLEZlPS9eXC9cLy8samU9L1w/LyxfZT0vPHNjcmlwdFxiW148XSooPzooPyE8XC9zY3JpcHQ+KTxbXjxdKikqPFwvc2NyaXB0Pi9naSxNZT0vXig/OnNlbGVjdHx0ZXh0YXJlYSkvaSxPZT0vXHMrLyxIZT0vKFs/Jl0pXz1bXiZdKi8sUGU9L14oW1x3XCtcLlwtXSs6KSg/OlwvXC8oW15cLz8jOl0qKSg/OjooXGQrKSk/KT8vLHFlPWkuZm4ubG9hZCxCZT17fSxXZT17fSxJZT1bIiovIl0rWyIqIl07dHJ5e1RlPXIuaHJlZn1jYXRjaChlKXsoVGU9dC5jcmVhdGVFbGVtZW50KCJhIikpLmhyZWY9IiIsVGU9VGUuaHJlZn1mdW5jdGlvbiAkZShlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZigic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iKiIpLGkuaXNGdW5jdGlvbihuKSlmb3IodmFyIHIsbyxhPXQudG9Mb3dlckNhc2UoKS5zcGxpdChPZSkscz0wLGw9YS5sZW5ndGg7czxsO3MrKylyPWFbc10sKG89L15cKy8udGVzdChyKSkmJihyPXIuc3Vic3RyKDEpfHwiKiIpLChlW3JdPWVbcl18fFtdKVtvPyJ1bnNoaWZ0IjoicHVzaCJdKG4pfX1mdW5jdGlvbiBSZShlLHQsbixyLGksbyl7KG89b3x8e30pW2k9aXx8dC5kYXRhVHlwZXNbMF1dPSEwO2Zvcih2YXIgYSxzPWVbaV0sbD0wLHU9cz9zLmxlbmd0aDowLGM9ZT09PUJlO2w8dSYmKGN8fCFhKTtsKyspInN0cmluZyI9PXR5cGVvZihhPXNbbF0odCxuLHIpKSYmKCFjfHxvW2FdP2E9dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGEpLGE9UmUoZSx0LG4scixhLG8pKSk7cmV0dXJuIWMmJmF8fG9bIioiXXx8KGE9UmUoZSx0LG4sciwiKiIsbykpLGF9ZnVuY3Rpb24gWGUoZSx0KXt2YXIgbixyLG89aS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChvW25dP2U6cnx8KHI9e30pKVtuXT10W25dKTtyJiZpLmV4dGVuZCghMCxlLHIpfWZ1bmN0aW9uIHplKGUsdCxuLHIpe2lmKGkuaXNBcnJheSh0KSlpLmVhY2godCwoZnVuY3Rpb24odCxpKXtufHxTZS50ZXN0KGUpP3IoZSxpKTp6ZShlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpP3Q6IiIpKyJdIixpLG4scil9KSk7ZWxzZSBpZihufHwib2JqZWN0IiE9PWkudHlwZSh0KSlyKGUsdCk7ZWxzZSBmb3IodmFyIG8gaW4gdCl6ZShlKyJbIitvKyJdIix0W29dLG4scil9TmU9UGUuZXhlYyhUZS50b0xvd2VyQ2FzZSgpKXx8W10saS5mbi5leHRlbmQoe2xvYWQ6ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSYmcWUpcmV0dXJuIHFlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9ZS5pbmRleE9mKCIgIik7aWYocj49MCl7dmFyIG89ZS5zbGljZShyLGUubGVuZ3RoKTtlPWUuc2xpY2UoMCxyKX12YXIgYT0iR0VUIjt0JiYoaS5pc0Z1bmN0aW9uKHQpPyhuPXQsdD12b2lkIDApOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9aS5wYXJhbSh0LGkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxhPSJQT1NUIikpO3ZhciBzPXRoaXM7cmV0dXJuIGkuYWpheCh7dXJsOmUsdHlwZTphLGRhdGFUeXBlOiJodG1sIixkYXRhOnQsY29tcGxldGU6ZnVuY3Rpb24oZSx0LHIpe3I9ZS5yZXNwb25zZVRleHQsZS5pc1Jlc29sdmVkKCkmJihlLmRvbmUoKGZ1bmN0aW9uKGUpe3I9ZX0pKSxzLmh0bWwobz9pKCI8ZGl2PiIpLmFwcGVuZChyLnJlcGxhY2UoX2UsIiIpKS5maW5kKG8pOnIpKSwKbiYmcy5lYWNoKG4sW3IsdCxlXSl9fSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGkucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudHM/aS5tYWtlQXJyYXkodGhpcy5lbGVtZW50cyk6dGhpc30pKS5maWx0ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlzLmNoZWNrZWR8fE1lLnRlc3QodGhpcy5ub2RlTmFtZSl8fERlLnRlc3QodGhpcy50eXBlKSl9KSkubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuPWkodGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/bnVsbDppLmlzQXJyYXkobik/aS5tYXAobiwoZnVuY3Rpb24oZSxuKXtyZXR1cm57bmFtZTp0Lm5hbWUsdmFsdWU6ZS5yZXBsYWNlKGtlLCJcclxuIil9fSkpOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa2UsIlxyXG4iKX19KSkuZ2V0KCl9fSksaS5lYWNoKCJhamF4U3RhcnQgYWpheFN0b3AgYWpheENvbXBsZXRlIGFqYXhFcnJvciBhamF4U3VjY2VzcyBhamF4U2VuZCIuc3BsaXQoIiAiKSwoZnVuY3Rpb24oZSx0KXtpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSkpLGkuZWFjaChbImdldCIsInBvc3QiXSwoZnVuY3Rpb24oZSx0KXtpW3RdPWZ1bmN0aW9uKGUsbixyLG8pe3JldHVybiBpLmlzRnVuY3Rpb24obikmJihvPW98fHIscj1uLG49dm9pZCAwKSxpLmFqYXgoe3R5cGU6dCx1cmw6ZSxkYXRhOm4sc3VjY2VzczpyLGRhdGFUeXBlOm99KX19KSksaS5leHRlbmQoe2dldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiBpLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGkuZ2V0KGUsdCxuLCJqc29uIil9LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P1hlKGUsaS5hamF4U2V0dGluZ3MpOih0PWUsZT1pLmFqYXhTZXR0aW5ncyksWGUoZSx0KSxlfSxhamF4U2V0dGluZ3M6e3VybDpUZSxpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFnZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChOZVsxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCIscHJvY2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4iLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOkllfSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6d2luZG93LlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjppLnBhcnNlSlNPTiwidGV4dCB4bWwiOmkucGFyc2VYTUx9LGZsYXRPcHRpb25zOntjb250ZXh0OiEwLHVybDohMH19LGFqYXhQcmVmaWx0ZXI6JGUoQmUpLGFqYXhUcmFuc3BvcnQ6JGUoV2UpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4scixvLGEscyxsLHUsYyxmPWkuYWpheFNldHVwKHt9LHQpLGQ9Zi5jb250ZXh0fHxmLHA9ZCE9PWYmJihkLm5vZGVUeXBlfHxkIGluc3RhbmNlb2YgaSk/aShkKTppLmV2ZW50LGg9aS5EZWZlcnJlZCgpLG09aS5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksZz1mLnN0YXR1c0NvZGV8fHt9LHY9e30seT17fSxiPTAseD17cmVhZHlTdGF0ZTowLHNldFJlcXVlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtpZighYil7dmFyIG49ZS50b0xvd2VyQ2FzZSgpO2U9eVtuXT15W25dfHxlLHZbZV09dH1yZXR1cm4gdGhpc30sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP3I6bnVsbH0sZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoMj09PWIpe2lmKCFvKWZvcihvPXt9O3Q9QWUuZXhlYyhyKTspb1t0WzFdLnRvTG93ZXJDYXNlKCldPXRbMl07dD1vW2UudG9Mb3dlckNhc2UoKV19cmV0dXJuIHZvaWQgMD09PXQ/bnVsbDp0fSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBifHwoZi5taW1lVHlwZT1lKSx0aGlzfSxhYm9ydDpmdW5jdGlvbihlKXtyZXR1cm4gZT1lfHwiYWJvcnQiLGEmJmEuYWJvcnQoZSksdygwLGUpLHRoaXN9fTtmdW5jdGlvbiB3KGUsdCxvLGwpe2lmKDIhPT1iKXtiPTIscyYmY2xlYXJUaW1lb3V0KHMpLGE9dm9pZCAwLHI9bHx8IiIseC5yZWFkeVN0YXRlPWU+MD80OjA7dmFyIGMsdix5LHcsVCxOPXQsQz1vP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsbD1lLmRhdGFUeXBlcyx1PWUucmVzcG9uc2VGaWVsZHM7Zm9yKGkgaW4gdSlpIGluIG4mJih0W3VbaV1dPW5baV0pO2Zvcig7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXtsLnVuc2hpZnQoaSk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIWxbMF18fGUuY29udmVydGVyc1tpKyIgIitsWzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119KGYseCxvKTp2b2lkIDA7aWYoZT49MjAwJiZlPDMwMHx8MzA0PT09ZSlpZihmLmlmTW9kaWZpZWQmJigodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoaS5sYXN0TW9kaWZpZWRbbl09dyksKFQ9eC5nZXRSZXNwb25zZUhlYWRlcigiRXRhZyIpKSYmKGkuZXRhZ1tuXT1UKSksMzA0PT09ZSlOPSJub3Rtb2RpZmllZCIsYz0hMDtlbHNlIHRyeXt2PWZ1bmN0aW9uKGUsdCl7CmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpO3ZhciBuLHIsbyxhLHMsbCx1LGMsZj1lLmRhdGFUeXBlcyxkPXt9LHA9Zi5sZW5ndGgsaD1mWzBdO2ZvcihuPTE7bjxwO24rKyl7aWYoMT09PW4pZm9yKHIgaW4gZS5jb252ZXJ0ZXJzKSJzdHJpbmciPT10eXBlb2YgciYmKGRbci50b0xvd2VyQ2FzZSgpXT1lLmNvbnZlcnRlcnNbcl0pO2lmKGE9aCwiKiI9PT0oaD1mW25dKSloPWE7ZWxzZSBpZigiKiIhPT1hJiZhIT09aCl7aWYoIShsPWRbcz1hKyIgIitoXXx8ZFsiKiAiK2hdKSlmb3IodSBpbiBjPXZvaWQgMCxkKWlmKCgobz11LnNwbGl0KCIgIikpWzBdPT09YXx8IioiPT09b1swXSkmJihjPWRbb1sxXSsiICIraF0pKXshMD09PSh1PWRbdV0pP2w9YzohMD09PWMmJihsPXUpO2JyZWFrfWx8fGN8fGkuZXJyb3IoIk5vIGNvbnZlcnNpb24gZnJvbSAiK3MucmVwbGFjZSgiICIsIiB0byAiKSksITAhPT1sJiYodD1sP2wodCk6Yyh1KHQpKSl9fXJldHVybiB0fShmLEMpLE49InN1Y2Nlc3MiLGM9ITB9Y2F0Y2goZSl7Tj0icGFyc2VyZXJyb3IiLHk9ZX1lbHNlIHk9TixOJiYhZXx8KE49ImVycm9yIixlPDAmJihlPTApKTt4LnN0YXR1cz1lLHguc3RhdHVzVGV4dD0iIisodHx8TiksYz9oLnJlc29sdmVXaXRoKGQsW3YsTix4XSk6aC5yZWplY3RXaXRoKGQsW3gsTix5XSkseC5zdGF0dXNDb2RlKGcpLGc9dm9pZCAwLHUmJnAudHJpZ2dlcigiYWpheCIrKGM/IlN1Y2Nlc3MiOiJFcnJvciIpLFt4LGYsYz92OnldKSxtLmZpcmVXaXRoKGQsW3gsTl0pLHUmJihwLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsZl0pLC0taS5hY3RpdmV8fGkuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSl9fWlmKGgucHJvbWlzZSh4KSx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLHguY29tcGxldGU9bS5hZGQseC5zdGF0dXNDb2RlPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYjwyKWZvcih0IGluIGUpZ1t0XT1bZ1t0XSxlW3RdXTtlbHNlIHQ9ZVt4LnN0YXR1c10seC50aGVuKHQsdCk7cmV0dXJuIHRoaXN9LGYudXJsPSgoZXx8Zi51cmwpKyIiKS5yZXBsYWNlKEVlLCIiKS5yZXBsYWNlKEZlLE5lWzFdKyIvLyIpLGYuZGF0YVR5cGVzPWkudHJpbShmLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkuc3BsaXQoT2UpLG51bGw9PWYuY3Jvc3NEb21haW4mJihsPVBlLmV4ZWMoZi51cmwudG9Mb3dlckNhc2UoKSksZi5jcm9zc0RvbWFpbj0hKCFsfHxsWzFdPT1OZVsxXSYmbFsyXT09TmVbMl0mJihsWzNdfHwoImh0dHA6Ij09PWxbMV0/ODA6NDQzKSk9PShOZVszXXx8KCJodHRwOiI9PT1OZVsxXT84MDo0NDMpKSkpLGYuZGF0YSYmZi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBmLmRhdGEmJihmLmRhdGE9aS5wYXJhbShmLmRhdGEsZi50cmFkaXRpb25hbCkpLFJlKEJlLGYsdCx4KSwyPT09YilyZXR1cm4hMTtpZih1PWYuZ2xvYmFsLGYudHlwZT1mLnR5cGUudG9VcHBlckNhc2UoKSxmLmhhc0NvbnRlbnQ9IUxlLnRlc3QoZi50eXBlKSx1JiYwPT1pLmFjdGl2ZSsrJiZpLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLCFmLmhhc0NvbnRlbnQmJihmLmRhdGEmJihmLnVybCs9KGplLnRlc3QoZi51cmwpPyImIjoiPyIpK2YuZGF0YSxkZWxldGUgZi5kYXRhKSxuPWYudXJsLCExPT09Zi5jYWNoZSkpe3ZhciBUPWkubm93KCksTj1mLnVybC5yZXBsYWNlKEhlLCIkMV89IitUKTtmLnVybD1OKyhOPT09Zi51cmw/KGplLnRlc3QoZi51cmwpPyImIjoiPyIpKyJfPSIrVDoiIil9Zm9yKGMgaW4oZi5kYXRhJiZmLmhhc0NvbnRlbnQmJiExIT09Zi5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJnguc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixmLmNvbnRlbnRUeXBlKSxmLmlmTW9kaWZpZWQmJihuPW58fGYudXJsLGkubGFzdE1vZGlmaWVkW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixpLmxhc3RNb2RpZmllZFtuXSksaS5ldGFnW25dJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGkuZXRhZ1tuXSkpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixmLmRhdGFUeXBlc1swXSYmZi5hY2NlcHRzW2YuZGF0YVR5cGVzWzBdXT9mLmFjY2VwdHNbZi5kYXRhVHlwZXNbMF1dKygiKiIhPT1mLmRhdGFUeXBlc1swXT8iLCAiK0llKyI7IHE9MC4wMSI6IiIpOmYuYWNjZXB0c1siKiJdKSxmLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGMsZi5oZWFkZXJzW2NdKTtpZihmLmJlZm9yZVNlbmQmJighMT09PWYuYmVmb3JlU2VuZC5jYWxsKGQseCxmKXx8Mj09PWIpKXJldHVybiB4LmFib3J0KCksITE7Zm9yKGMgaW57c3VjY2VzczoxLGVycm9yOjEsY29tcGxldGU6MX0peFtjXShmW2NdKTtpZihhPVJlKFdlLGYsdCx4KSl7eC5yZWFkeVN0YXRlPTEsdSYmcC50cmlnZ2VyKCJhamF4U2VuZCIsW3gsZl0pLGYuYXN5bmMmJmYudGltZW91dD4wJiYocz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3guYWJvcnQoInRpbWVvdXQiKX0pLGYudGltZW91dCkpO3RyeXtiPTEsYS5zZW5kKHYsdyl9Y2F0Y2goZSl7aWYoIShiPDIpKXRocm93IGU7dygtMSxlKX19ZWxzZSB3KC0xLCJObyBUcmFuc3BvcnQiKTtyZXR1cm4geH0scGFyYW06ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPWZ1bmN0aW9uKGUsdCl7dD1pLmlzRnVuY3Rpb24odCk/dCgpOnQsbltuLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQodCl9O2lmKHZvaWQgMD09PXQmJih0PWkuYWpheFNldHRpbmdzLnRyYWRpdGlvbmFsKSxpLmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhaS5pc1BsYWluT2JqZWN0KGUpKWkuZWFjaChlLChmdW5jdGlvbigpe3IodGhpcy5uYW1lLHRoaXMudmFsdWUpfSkpO2Vsc2UgZm9yKHZhciBvIGluIGUpemUobyxlW29dLHQscik7cmV0dXJuIG4uam9pbigiJiIpLnJlcGxhY2UoQ2UsIisiKX19KSxpLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2YXIgVmUsVWUsWWU9ISF3aW5kb3cuQWN0aXZlWE9iamVjdCYmZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gVmUpVmVbZV0oMCwxKX0sSmU9MAo7ZnVuY3Rpb24gR2UoKXt0cnl7cmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX1pLmFqYXhTZXR0aW5ncy54aHI9d2luZG93LkFjdGl2ZVhPYmplY3Q/ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5pc0xvY2FsJiZHZSgpfHxmdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MSFRUUCIpfWNhdGNoKGUpe319KCl9OkdlLFVlPWkuYWpheFNldHRpbmdzLnhocigpLGkuZXh0ZW5kKGkuc3VwcG9ydCx7YWpheDohIVVlLGNvcnM6ISFVZSYmIndpdGhDcmVkZW50aWFscyJpbiBVZX0pLGkuc3VwcG9ydC5hamF4JiZpLmFqYXhUcmFuc3BvcnQoKGZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlLmNyb3NzRG9tYWlufHxpLnN1cHBvcnQuY29ycylyZXR1cm57c2VuZDpmdW5jdGlvbihuLHIpe3ZhciBvLGEscz1lLnhocigpO2lmKGUudXNlcm5hbWU/cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jLGUudXNlcm5hbWUsZS5wYXNzd29yZCk6cy5vcGVuKGUudHlwZSxlLnVybCxlLmFzeW5jKSxlLnhockZpZWxkcylmb3IoYSBpbiBlLnhockZpZWxkcylzW2FdPWUueGhyRmllbGRzW2FdO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fG5bIlgtUmVxdWVzdGVkLVdpdGgiXXx8KG5bIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTt0cnl7Zm9yKGEgaW4gbilzLnNldFJlcXVlc3RIZWFkZXIoYSxuW2FdKX1jYXRjaChlKXt9cy5zZW5kKGUuaGFzQ29udGVudCYmZS5kYXRhfHxudWxsKSx0PWZ1bmN0aW9uKG4sYSl7dmFyIGwsdSxjLGYsZDt0cnl7aWYodCYmKGF8fDQ9PT1zLnJlYWR5U3RhdGUpKWlmKHQ9dm9pZCAwLG8mJihzLm9ucmVhZHlzdGF0ZWNoYW5nZT1pLm5vb3AsWWUmJmRlbGV0ZSBWZVtvXSksYSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXtsPXMuc3RhdHVzLGM9cy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxmPXt9LChkPXMucmVzcG9uc2VYTUwpJiZkLmRvY3VtZW50RWxlbWVudCYmKGYueG1sPWQpO3RyeXtmLnRleHQ9cy5yZXNwb25zZVRleHR9Y2F0Y2gobil7fXRyeXt1PXMuc3RhdHVzVGV4dH1jYXRjaChlKXt1PSIifWx8fCFlLmlzTG9jYWx8fGUuY3Jvc3NEb21haW4/MTIyMz09PWwmJihsPTIwNCk6bD1mLnRleHQ/MjAwOjQwNH19Y2F0Y2goZSl7YXx8cigtMSxlKX1mJiZyKGwsdSxmLGMpfSxlLmFzeW5jJiY0IT09cy5yZWFkeVN0YXRlPyhvPSsrSmUsWWUmJihWZXx8KFZlPXt9LGkod2luZG93KS51bmxvYWQoWWUpKSxWZVtvXT10KSxzLm9ucmVhZHlzdGF0ZWNoYW5nZT10KTp0KCl9LGFib3J0OmZ1bmN0aW9uKCl7dCYmdCgwLDEpfX19KSk7dmFyIEtlLFFlLFplLGV0LHR0PXt9LG50PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxydD0vXihbK1wtXT0pPyhbXGQrLlwtXSspKFthLXolXSopJC9pLGl0PVtbImhlaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIl0sWyJ3aWR0aCIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sWyJvcGFjaXR5Il1dO2Z1bmN0aW9uIG90KCl7cmV0dXJuIHNldFRpbWVvdXQoYXQsMCksZXQ9aS5ub3coKX1mdW5jdGlvbiBhdCgpe2V0PXZvaWQgMH1mdW5jdGlvbiBzdChlLHQpe3ZhciBuPXt9O3JldHVybiBpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0LnNsaWNlKDAsdCkpLChmdW5jdGlvbigpe25bdGhpc109ZX0pKSxufWZ1bmN0aW9uIGx0KGUpe2lmKCF0dFtlXSl7dmFyIG49dC5ib2R5LHI9aSgiPCIrZSsiPiIpLmFwcGVuZFRvKG4pLG89ci5jc3MoImRpc3BsYXkiKTtyLnJlbW92ZSgpLCJub25lIiE9PW8mJiIiIT09b3x8KEtlfHwoKEtlPXQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIikpLmZyYW1lQm9yZGVyPUtlLndpZHRoPUtlLmhlaWdodD0wKSxuLmFwcGVuZENoaWxkKEtlKSxRZSYmS2UuY3JlYXRlRWxlbWVudHx8KChRZT0oS2UuY29udGVudFdpbmRvd3x8S2UuY29udGVudERvY3VtZW50KS5kb2N1bWVudCkud3JpdGUoKGkuc3VwcG9ydC5ib3hNb2RlbD8iPCFkb2N0eXBlIGh0bWw+IjoiIikrIjxodG1sPjxib2R5PiIpLFFlLmNsb3NlKCkpLHI9UWUuY3JlYXRlRWxlbWVudChlKSxRZS5ib2R5LmFwcGVuZENoaWxkKHIpLG89aS5jc3MociwiZGlzcGxheSIpLG4ucmVtb3ZlQ2hpbGQoS2UpKSx0dFtlXT1vfXJldHVybiB0dFtlXX1pLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbihlLHQsbil7dmFyIHIsbztpZihlfHwwPT09ZSlyZXR1cm4gdGhpcy5hbmltYXRlKHN0KCJzaG93IiwzKSxlLHQsbik7Zm9yKHZhciBhPTAscz10aGlzLmxlbmd0aDthPHM7YSsrKShyPXRoaXNbYV0pLnN0eWxlJiYobz1yLnN0eWxlLmRpc3BsYXksaS5fZGF0YShyLCJvbGRkaXNwbGF5Iil8fCJub25lIiE9PW98fChvPXIuc3R5bGUuZGlzcGxheT0iIiksKCIiPT09byYmIm5vbmUiPT09aS5jc3MociwiZGlzcGxheSIpfHwhaS5jb250YWlucyhyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHIpKSYmaS5fZGF0YShyLCJvbGRkaXNwbGF5IixsdChyLm5vZGVOYW1lKSkpO2ZvcihhPTA7YTxzO2ErKykocj10aGlzW2FdKS5zdHlsZSYmKCIiIT09KG89ci5zdHlsZS5kaXNwbGF5KSYmIm5vbmUiIT09b3x8KHIuc3R5bGUuZGlzcGxheT1pLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8IiIpKTtyZXR1cm4gdGhpc30saGlkZTpmdW5jdGlvbihlLHQsbil7aWYoZXx8MD09PWUpcmV0dXJuIHRoaXMuYW5pbWF0ZShzdCgiaGlkZSIsMyksZSx0LG4pO2Zvcih2YXIgcixvLGE9MCxzPXRoaXMubGVuZ3RoO2E8czthKyspKHI9dGhpc1thXSkuc3R5bGUmJigibm9uZSI9PT0obz1pLmNzcyhyLCJkaXNwbGF5IikpfHxpLl9kYXRhKHIsIm9sZGRpc3BsYXkiKXx8aS5fZGF0YShyLCJvbGRkaXNwbGF5IixvKSk7Zm9yKGE9MDthPHM7YSsrKXRoaXNbYV0uc3R5bGUmJih0aGlzW2FdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtyZXR1cm4gdGhpc30sX3RvZ2dsZTppLmZuLnRvZ2dsZSwKdG9nZ2xlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0iYm9vbGVhbiI9PXR5cGVvZiBlO3JldHVybiBpLmlzRnVuY3Rpb24oZSkmJmkuaXNGdW5jdGlvbih0KT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOm51bGw9PWV8fHI/dGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXI/ZTppKHRoaXMpLmlzKCI6aGlkZGVuIik7aSh0aGlzKVt0PyJzaG93IjoiaGlkZSJdKCl9KSk6dGhpcy5hbmltYXRlKHN0KCJ0b2dnbGUiLDMpLGUsdCxuKSx0aGlzfSxmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMuZmlsdGVyKCI6aGlkZGVuIikuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIG89aS5zcGVlZCh0LG4scik7aWYoaS5pc0VtcHR5T2JqZWN0KGUpKXJldHVybiB0aGlzLmVhY2goby5jb21wbGV0ZSxbITFdKTtmdW5jdGlvbiBhKCl7ITE9PT1vLnF1ZXVlJiZpLl9tYXJrKHRoaXMpO3ZhciB0LG4scixhLHMsbCx1LGMsZixkLHAsaD1pLmV4dGVuZCh7fSxvKSxtPTE9PT10aGlzLm5vZGVUeXBlLGc9bSYmaSh0aGlzKS5pcygiOmhpZGRlbiIpO2ZvcihyIGluIGguYW5pbWF0ZWRQcm9wZXJ0aWVzPXt9LGUpaWYociE9PSh0PWkuY2FtZWxDYXNlKHIpKSYmKGVbdF09ZVtyXSxkZWxldGUgZVtyXSksKHM9aS5jc3NIb29rc1t0XSkmJiJleHBhbmQiaW4gcylmb3IociBpbiBsPXMuZXhwYW5kKGVbdF0pLGRlbGV0ZSBlW3RdLGwpciBpbiBlfHwoZVtyXT1sW3JdKTtmb3IodCBpbiBlKXtpZihuPWVbdF0saS5pc0FycmF5KG4pPyhoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1uWzFdLG49ZVt0XT1uWzBdKTpoLmFuaW1hdGVkUHJvcGVydGllc1t0XT1oLnNwZWNpYWxFYXNpbmcmJmguc3BlY2lhbEVhc2luZ1t0XXx8aC5lYXNpbmd8fCJzd2luZyIsImhpZGUiPT09biYmZ3x8InNob3ciPT09biYmIWcpcmV0dXJuIGguY29tcGxldGUuY2FsbCh0aGlzKTshbXx8ImhlaWdodCIhPT10JiYid2lkdGgiIT09dHx8KGgub3ZlcmZsb3c9W3RoaXMuc3R5bGUub3ZlcmZsb3csdGhpcy5zdHlsZS5vdmVyZmxvd1gsdGhpcy5zdHlsZS5vdmVyZmxvd1ldLCJpbmxpbmUiPT09aS5jc3ModGhpcywiZGlzcGxheSIpJiYibm9uZSI9PT1pLmNzcyh0aGlzLCJmbG9hdCIpJiYoaS5zdXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXQmJiJpbmxpbmUiIT09bHQodGhpcy5ub2RlTmFtZSk/dGhpcy5zdHlsZS56b29tPTE6dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSl9Zm9yKHIgaW4gbnVsbCE9aC5vdmVyZmxvdyYmKHRoaXMuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpLGUpYT1uZXcgaS5meCh0aGlzLGgsciksbj1lW3JdLG50LnRlc3Qobik/KHA9aS5fZGF0YSh0aGlzLCJ0b2dnbGUiK3IpfHwoInRvZ2dsZSI9PT1uP2c/InNob3ciOiJoaWRlIjowKSk/KGkuX2RhdGEodGhpcywidG9nZ2xlIityLCJzaG93Ij09PXA/ImhpZGUiOiJzaG93IiksYVtwXSgpKTphW25dKCk6KHU9cnQuZXhlYyhuKSxjPWEuY3VyKCksdT8oZj1wYXJzZUZsb2F0KHVbMl0pLCJweCIhPT0oZD11WzNdfHwoaS5jc3NOdW1iZXJbcl0/IiI6InB4IikpJiYoaS5zdHlsZSh0aGlzLHIsKGZ8fDEpK2QpLGM9KGZ8fDEpL2EuY3VyKCkqYyxpLnN0eWxlKHRoaXMscixjK2QpKSx1WzFdJiYoZj0oIi09Ij09PXVbMV0/LTE6MSkqZitjKSxhLmN1c3RvbShjLGYsZCkpOmEuY3VzdG9tKGMsbiwiIikpO3JldHVybiEwfXJldHVybiBlPWkuZXh0ZW5kKHt9LGUpLCExPT09by5xdWV1ZT90aGlzLmVhY2goYSk6dGhpcy5xdWV1ZShvLnF1ZXVlLGEpfSxzdG9wOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiYhMSE9PWUmJnRoaXMucXVldWUoZXx8ImZ4IixbXSksdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciB0LHI9ITEsbz1pLnRpbWVycyxhPWkuX2RhdGEodGhpcyk7ZnVuY3Rpb24gcyhlLHQscil7dmFyIG89dFtyXTtpLnJlbW92ZURhdGEoZSxyLCEwKSxvLnN0b3Aobil9aWYobnx8aS5fdW5tYXJrKCEwLHRoaXMpLG51bGw9PWUpZm9yKHQgaW4gYSlhW3RdJiZhW3RdLnN0b3AmJnQuaW5kZXhPZigiLnJ1biIpPT09dC5sZW5ndGgtNCYmcyh0aGlzLGEsdCk7ZWxzZSBhW3Q9ZSsiLnJ1biJdJiZhW3RdLnN0b3AmJnModGhpcyxhLHQpO2Zvcih0PW8ubGVuZ3RoO3QtLTspb1t0XS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1t0XS5xdWV1ZSE9PWV8fChuP29bdF0oITApOm9bdF0uc2F2ZVN0YXRlKCkscj0hMCxvLnNwbGljZSh0LDEpKTtuJiZyfHxpLmRlcXVldWUodGhpcyxlKX0pKX19KSxpLmVhY2goe3NsaWRlRG93bjpzdCgic2hvdyIsMSksc2xpZGVVcDpzdCgiaGlkZSIsMSksc2xpZGVUb2dnbGU6c3QoInRvZ2dsZSIsMSksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSwoZnVuY3Rpb24oZSx0KXtpLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pKSxpLmV4dGVuZCh7c3BlZWQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10eXBlb2YgZT9pLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fGkuaXNGdW5jdGlvbihlKSYmZSxkdXJhdGlvbjplLGVhc2luZzpuJiZ0fHx0JiYhaS5pc0Z1bmN0aW9uKHQpJiZ0fTtyZXR1cm4gci5kdXJhdGlvbj1pLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2Ygci5kdXJhdGlvbj9yLmR1cmF0aW9uOnIuZHVyYXRpb24gaW4gaS5meC5zcGVlZHM/aS5meC5zcGVlZHNbci5kdXJhdGlvbl06aS5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ci5xdWV1ZSYmITAhPT1yLnF1ZXVlfHwoci5xdWV1ZT0iZngiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oZSl7aS5pc0Z1bmN0aW9uKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlP2kuZGVxdWV1ZSh0aGlzLHIucXVldWUpOiExIT09ZSYmaS5fdW5tYXJrKHRoaXMpfSxyfSxlYXNpbmc6ewpsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi1NYXRoLmNvcyhlKk1hdGguUEkpLzIrLjV9fSx0aW1lcnM6W10sZng6ZnVuY3Rpb24oZSx0LG4pe3RoaXMub3B0aW9ucz10LHRoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHQub3JpZz10Lm9yaWd8fHt9fX0pLGkuZngucHJvdG90eXBlPXt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksKGkuZnguc3RlcFt0aGlzLnByb3BdfHxpLmZ4LnN0ZXAuX2RlZmF1bHQpKHRoaXMpfSxjdXI6ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLmVsZW1bdGhpcy5wcm9wXSYmKCF0aGlzLmVsZW0uc3R5bGV8fG51bGw9PXRoaXMuZWxlbS5zdHlsZVt0aGlzLnByb3BdKSlyZXR1cm4gdGhpcy5lbGVtW3RoaXMucHJvcF07dmFyIGUsdD1pLmNzcyh0aGlzLmVsZW0sdGhpcy5wcm9wKTtyZXR1cm4gaXNOYU4oZT1wYXJzZUZsb2F0KHQpKT90JiYiYXV0byIhPT10P3Q6MDplfSxjdXN0b206ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMsbz1pLmZ4O2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHIuc3RlcChlKX10aGlzLnN0YXJ0VGltZT1ldHx8b3QoKSx0aGlzLmVuZD10LHRoaXMubm93PXRoaXMuc3RhcnQ9ZSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PW58fHRoaXMudW5pdHx8KGkuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksYS5xdWV1ZT10aGlzLm9wdGlvbnMucXVldWUsYS5lbGVtPXRoaXMuZWxlbSxhLnNhdmVTdGF0ZT1mdW5jdGlvbigpe3ZvaWQgMD09PWkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCkmJihyLm9wdGlvbnMuaGlkZT9pLl9kYXRhKHIuZWxlbSwiZnhzaG93IityLnByb3Asci5zdGFydCk6ci5vcHRpb25zLnNob3cmJmkuX2RhdGEoci5lbGVtLCJmeHNob3ciK3IucHJvcCxyLmVuZCkpfSxhKCkmJmkudGltZXJzLnB1c2goYSkmJiFaZSYmKFplPXNldEludGVydmFsKG8udGljayxvLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgZT1pLl9kYXRhKHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmlnW3RoaXMucHJvcF09ZXx8aS5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlzLm9wdGlvbnMuc2hvdz0hMCx2b2lkIDAhPT1lP3RoaXMuY3VzdG9tKHRoaXMuY3VyKCksZSk6dGhpcy5jdXN0b20oIndpZHRoIj09PXRoaXMucHJvcHx8ImhlaWdodCI9PT10aGlzLnByb3A/MTowLHRoaXMuY3VyKCkpLGkodGhpcy5lbGVtKS5zaG93KCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMub3JpZ1t0aGlzLnByb3BdPWkuX2RhdGEodGhpcy5lbGVtLCJmeHNob3ciK3RoaXMucHJvcCl8fGkuc3R5bGUodGhpcy5lbGVtLHRoaXMucHJvcCksdGhpcy5vcHRpb25zLmhpZGU9ITAsdGhpcy5jdXN0b20odGhpcy5jdXIoKSwwKX0sc3RlcDpmdW5jdGlvbihlKXt2YXIgdCxuLHIsbz1ldHx8b3QoKSxhPSEwLHM9dGhpcy5lbGVtLGw9dGhpcy5vcHRpb25zO2lmKGV8fG8+PWwuZHVyYXRpb24rdGhpcy5zdGFydFRpbWUpe2Zvcih0IGluIHRoaXMubm93PXRoaXMuZW5kLHRoaXMucG9zPXRoaXMuc3RhdGU9MSx0aGlzLnVwZGF0ZSgpLGwuYW5pbWF0ZWRQcm9wZXJ0aWVzW3RoaXMucHJvcF09ITAsbC5hbmltYXRlZFByb3BlcnRpZXMpITAhPT1sLmFuaW1hdGVkUHJvcGVydGllc1t0XSYmKGE9ITEpO2lmKGEpe2lmKG51bGw9PWwub3ZlcmZsb3d8fGkuc3VwcG9ydC5zaHJpbmtXcmFwQmxvY2tzfHxpLmVhY2goWyIiLCJYIiwiWSJdLChmdW5jdGlvbihlLHQpe3Muc3R5bGVbIm92ZXJmbG93Iit0XT1sLm92ZXJmbG93W2VdfSkpLGwuaGlkZSYmaShzKS5oaWRlKCksbC5oaWRlfHxsLnNob3cpZm9yKHQgaW4gbC5hbmltYXRlZFByb3BlcnRpZXMpaS5zdHlsZShzLHQsbC5vcmlnW3RdKSxpLnJlbW92ZURhdGEocywiZnhzaG93Iit0LCEwKSxpLnJlbW92ZURhdGEocywidG9nZ2xlIit0LCEwKTsocj1sLmNvbXBsZXRlKSYmKGwuY29tcGxldGU9ITEsci5jYWxsKHMpKX1yZXR1cm4hMX1yZXR1cm4gbC5kdXJhdGlvbj09MS8wP3RoaXMubm93PW86KG49by10aGlzLnN0YXJ0VGltZSx0aGlzLnN0YXRlPW4vbC5kdXJhdGlvbix0aGlzLnBvcz1pLmVhc2luZ1tsLmFuaW1hdGVkUHJvcGVydGllc1t0aGlzLnByb3BdXSh0aGlzLnN0YXRlLG4sMCwxLGwuZHVyYXRpb24pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zKSx0aGlzLnVwZGF0ZSgpLCEwfX0saS5leHRlbmQoaS5meCx7dGljazpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PWkudGltZXJzLG49MDtuPHQubGVuZ3RoO24rKykoZT10W25dKSgpfHx0W25dIT09ZXx8dC5zcGxpY2Uobi0tLDEpO3QubGVuZ3RofHxpLmZ4LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwoWmUpLFplPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLCJvcGFjaXR5IixlLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe2UuZWxlbS5zdHlsZSYmbnVsbCE9ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtLnN0eWxlW2UucHJvcF09ZS5ub3crZS51bml0OmUuZWxlbVtlLnByb3BdPWUubm93fX19KSxpLmVhY2goaXQuY29uY2F0LmFwcGx5KFtdLGl0KSwoZnVuY3Rpb24oZSx0KXt0LmluZGV4T2YoIm1hcmdpbiIpJiYoaS5meC5zdGVwW3RdPWZ1bmN0aW9uKGUpe2kuc3R5bGUoZS5lbGVtLHQsTWF0aC5tYXgoMCxlLm5vdykrZS51bml0KX0pfSkpLGkuZXhwciYmaS5leHByLmZpbHRlcnMmJihpLmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gaS5ncmVwKGkudGltZXJzLChmdW5jdGlvbih0KXtyZXR1cm4gZT09PXQuZWxlbX0pKS5sZW5ndGh9KTt2YXIgdXQsY3Q9L150KD86YWJsZXxkfGgpJC9pLGZ0PS9eKD86Ym9keXxodG1sKSQvaTtmdW5jdGlvbiBkdChlKXsKcmV0dXJuIGkuaXNXaW5kb3coZSk/ZTo5PT09ZS5ub2RlVHlwZSYmKGUuZGVmYXVsdFZpZXd8fGUucGFyZW50V2luZG93KX11dD0iZ2V0Qm91bmRpbmdDbGllbnRSZWN0ImluIHQuZG9jdW1lbnRFbGVtZW50P2Z1bmN0aW9uKGUsdCxuLHIpe3RyeXtyPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZSl7fWlmKCFyfHwhaS5jb250YWlucyhuLGUpKXJldHVybiByP3t0b3A6ci50b3AsbGVmdDpyLmxlZnR9Ont0b3A6MCxsZWZ0OjB9O3ZhciBvPXQuYm9keSxhPWR0KHQpLHM9bi5jbGllbnRUb3B8fG8uY2xpZW50VG9wfHwwLGw9bi5jbGllbnRMZWZ0fHxvLmNsaWVudExlZnR8fDAsdT1hLnBhZ2VZT2Zmc2V0fHxpLnN1cHBvcnQuYm94TW9kZWwmJm4uc2Nyb2xsVG9wfHxvLnNjcm9sbFRvcCxjPWEucGFnZVhPZmZzZXR8fGkuc3VwcG9ydC5ib3hNb2RlbCYmbi5zY3JvbGxMZWZ0fHxvLnNjcm9sbExlZnQ7cmV0dXJue3RvcDpyLnRvcCt1LXMsbGVmdDpyLmxlZnQrYy1sfX06ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixvPWUub2Zmc2V0UGFyZW50LGE9dC5ib2R5LHM9dC5kZWZhdWx0VmlldyxsPXM/cy5nZXRDb21wdXRlZFN0eWxlKGUsbnVsbCk6ZS5jdXJyZW50U3R5bGUsdT1lLm9mZnNldFRvcCxjPWUub2Zmc2V0TGVmdDsoZT1lLnBhcmVudE5vZGUpJiZlIT09YSYmZSE9PW4mJighaS5zdXBwb3J0LmZpeGVkUG9zaXRpb258fCJmaXhlZCIhPT1sLnBvc2l0aW9uKTspcj1zP3MuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLHUtPWUuc2Nyb2xsVG9wLGMtPWUuc2Nyb2xsTGVmdCxlPT09byYmKHUrPWUub2Zmc2V0VG9wLGMrPWUub2Zmc2V0TGVmdCwhaS5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXJ8fGkuc3VwcG9ydC5kb2VzQWRkQm9yZGVyRm9yVGFibGVBbmRDZWxscyYmY3QudGVzdChlLm5vZGVOYW1lKXx8KHUrPXBhcnNlRmxvYXQoci5ib3JkZXJUb3BXaWR0aCl8fDAsYys9cGFyc2VGbG9hdChyLmJvcmRlckxlZnRXaWR0aCl8fDApLG89ZS5vZmZzZXRQYXJlbnQpLGkuc3VwcG9ydC5zdWJ0cmFjdHNCb3JkZXJGb3JPdmVyZmxvd05vdFZpc2libGUmJiJ2aXNpYmxlIiE9PXIub3ZlcmZsb3cmJih1Kz1wYXJzZUZsb2F0KHIuYm9yZGVyVG9wV2lkdGgpfHwwLGMrPXBhcnNlRmxvYXQoci5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxsPXI7cmV0dXJuInJlbGF0aXZlIiE9PWwucG9zaXRpb24mJiJzdGF0aWMiIT09bC5wb3NpdGlvbnx8KHUrPWEub2Zmc2V0VG9wLGMrPWEub2Zmc2V0TGVmdCksaS5zdXBwb3J0LmZpeGVkUG9zaXRpb24mJiJmaXhlZCI9PT1sLnBvc2l0aW9uJiYodSs9TWF0aC5tYXgobi5zY3JvbGxUb3AsYS5zY3JvbGxUb3ApLGMrPU1hdGgubWF4KG4uc2Nyb2xsTGVmdCxhLnNjcm9sbExlZnQpKSx7dG9wOnUsbGVmdDpjfX0saS5mbi5vZmZzZXQ9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09ZT90aGlzOnRoaXMuZWFjaCgoZnVuY3Rpb24odCl7aS5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pKTt2YXIgdD10aGlzWzBdLG49dCYmdC5vd25lckRvY3VtZW50O3JldHVybiBuP3Q9PT1uLmJvZHk/aS5vZmZzZXQuYm9keU9mZnNldCh0KTp1dCh0LG4sbi5kb2N1bWVudEVsZW1lbnQpOm51bGx9LGkub2Zmc2V0PXtib2R5T2Zmc2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0VG9wLG49ZS5vZmZzZXRMZWZ0O3JldHVybiBpLnN1cHBvcnQuZG9lc05vdEluY2x1ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJih0Kz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpblRvcCIpKXx8MCxuKz1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDApLHt0b3A6dCxsZWZ0Om59fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkuY3NzKGUsInBvc2l0aW9uIik7InN0YXRpYyI9PT1yJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgbyxhLHM9aShlKSxsPXMub2Zmc2V0KCksdT1pLmNzcyhlLCJ0b3AiKSxjPWkuY3NzKGUsImxlZnQiKSxmPXt9LGQ9e307KCJhYnNvbHV0ZSI9PT1yfHwiZml4ZWQiPT09cikmJmkuaW5BcnJheSgiYXV0byIsW3UsY10pPi0xPyhvPShkPXMucG9zaXRpb24oKSkudG9wLGE9ZC5sZWZ0KToobz1wYXJzZUZsb2F0KHUpfHwwLGE9cGFyc2VGbG9hdChjKXx8MCksaS5pc0Z1bmN0aW9uKHQpJiYodD10LmNhbGwoZSxuLGwpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLWwudG9wK28pLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtbC5sZWZ0K2EpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpOnMuY3NzKGYpfX0saS5mbi5leHRlbmQoe3Bvc2l0aW9uOmZ1bmN0aW9uKCl7aWYoIXRoaXNbMF0pcmV0dXJuIG51bGw7dmFyIGU9dGhpc1swXSx0PXRoaXMub2Zmc2V0UGFyZW50KCksbj10aGlzLm9mZnNldCgpLHI9ZnQudGVzdCh0WzBdLm5vZGVOYW1lKT97dG9wOjAsbGVmdDowfTp0Lm9mZnNldCgpO3JldHVybiBuLnRvcC09cGFyc2VGbG9hdChpLmNzcyhlLCJtYXJnaW5Ub3AiKSl8fDAsbi5sZWZ0LT1wYXJzZUZsb2F0KGkuY3NzKGUsIm1hcmdpbkxlZnQiKSl8fDAsci50b3ArPXBhcnNlRmxvYXQoaS5jc3ModFswXSwiYm9yZGVyVG9wV2lkdGgiKSl8fDAsci5sZWZ0Kz1wYXJzZUZsb2F0KGkuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIpKXx8MCx7dG9wOm4udG9wLXIudG9wLGxlZnQ6bi5sZWZ0LXIubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnR8fHQuYm9keTtlJiYhZnQudGVzdChlLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1pLmNzcyhlLCJwb3NpdGlvbiIpOyllPWUub2Zmc2V0UGFyZW50O3JldHVybiBlfSkpfX0pLGkuZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSwoZnVuY3Rpb24oZSx0KXt2YXIgbj0vWS8udGVzdCh0KTtpLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHIsbyl7dmFyIGE9ZHQoZSkKO2lmKHZvaWQgMD09PW8pcmV0dXJuIGE/dCBpbiBhP2FbdF06aS5zdXBwb3J0LmJveE1vZGVsJiZhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtyXXx8YS5kb2N1bWVudC5ib2R5W3JdOmVbcl07YT9hLnNjcm9sbFRvKG4/aShhKS5zY3JvbGxMZWZ0KCk6byxuP286aShhKS5zY3JvbGxUb3AoKSk6ZVtyXT1vfSksZSxyLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGkuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LChmdW5jdGlvbihlLHQpe3ZhciBuPSJjbGllbnQiK2Uscj0ic2Nyb2xsIitlLG89Im9mZnNldCIrZTtpLmZuWyJpbm5lciIrZV09ZnVuY3Rpb24oKXt2YXIgZT10aGlzWzBdO3JldHVybiBlP2Uuc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhlLHQsInBhZGRpbmciKSk6dGhpc1t0XSgpOm51bGx9LGkuZm5bIm91dGVyIitlXT1mdW5jdGlvbihlKXt2YXIgbj10aGlzWzBdO3JldHVybiBuP24uc3R5bGU/cGFyc2VGbG9hdChpLmNzcyhuLHQsZT8ibWFyZ2luIjoiYm9yZGVyIikpOnRoaXNbdF0oKTpudWxsfSxpLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBpLmFjY2Vzcyh0aGlzLChmdW5jdGlvbihlLHQsYSl7dmFyIHMsbCx1LGM7cmV0dXJuIGkuaXNXaW5kb3coZSk/KGw9KHM9ZS5kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50W25dLGkuc3VwcG9ydC5ib3hNb2RlbCYmbHx8cy5ib2R5JiZzLmJvZHlbbl18fGwpOjk9PT1lLm5vZGVUeXBlPyhzPWUuZG9jdW1lbnRFbGVtZW50KVtuXT49c1tyXT9zW25dOk1hdGgubWF4KGUuYm9keVtyXSxzW3JdLGUuYm9keVtvXSxzW29dKTp2b2lkIDA9PT1hPyh1PWkuY3NzKGUsdCksYz1wYXJzZUZsb2F0KHUpLGkuaXNOdW1lcmljKGMpP2M6dSk6dm9pZCBpKGUpLmNzcyh0LGEpfSksdCxlLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSkpLGUuZXhwb3J0cz13aW5kb3cualF1ZXJ5PXdpbmRvdy4kPWl9fV0pOw=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.734Z","timestamp":1785136428734,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/hip3-disclaimer.4f3e3bf9c345c3f3e07a.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:48 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a435fca-602\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 30 Jun 2026 06:18:50 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/30/2026 11:55:10\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: aba7b941504f484bb8c769765b9da53a\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1538,"size_decoded":1517,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (1538), with no line terminators","md5":"ca16eedb4932efab6658de430f67af2a","sha1":"fce9eb628927ab71953c562e3a65fe13ca72be21","sha256":"14234f0a1c16909a4af2c7348f8265146e98794a1c52017555b2d96561ba5459","sha512":"40ed5707b4aab15ea10be9fe2d32430f9597821ea08af6d9bdfbaa33010702af2e601fdfc65223136d87284c27acb6ee7fdb3f1897206295648d507f3a43b779","ssdeep":"","tlshash":"bb31125030b2245c20ac9bea967b6637860091547645e33cb3ee3cec479de1cbeb167b","first_seen":"2026-06-30T14:35:40.516552Z","last_seen":"2026-07-28T06:17:53.441118Z","times_seen":328,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTk3OV0sezM2MzY1MyhlLHMsbyl7by5kKHMse0hpcDNEaXNjbGFpbWVyOigpPT5hfSk7dmFyIHQ9byg1OTY3MDYpLGw9byg5NTY0MzcpLG49byg5MzA1NjYpO2Z1bmN0aW9uIGkoZSl7bnVsbCE9PWUmJigwLHQuaXNIaXAzU3ltYm9sKShlLnR5cGVzcGVjcykmJihCb29sZWFuKG4uZ2V0Qm9vbCgiaGlwMy5kaXNjbGFpbWVyQWNjZXB0ZWQiKSl8fFByb21pc2UuYWxsKFtvLmUoODcwMDcpLG8uZSg0NjYwKSxvLmUoNDE1MjQpXSkudGhlbihvLmJpbmQobywzMTkwMTEpKS50aGVuKChlPT5lLnNob3dIaXAzRGlzY2xhaW1lckRpYWxvZyh7b25BY2NlcHQ6KCk9Pm4uc2V0VmFsdWUoImhpcDMuZGlzY2xhaW1lckFjY2VwdGVkIiwhMCx7Zm9yY2VGbHVzaDohMH0pfSkpKSl9Y2xhc3MgYXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zPVtdLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbCx0aGlzLl9vbk1vZGVsQ2hhbmdlZD1lPT57dGhpcy5fZGV0YWNoRnJvbU1vZGVsKCksdGhpcy5fYXR0YWNoZWRNb2RlbD1lLG51bGwhPT1lJiYoZS5tb2RlbCgpLmRhdGFTb3VyY2VDb2xsZWN0aW9uQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9zeW5jU3ltYm9sSW5mb1NwYXducygpKX0sdGhpcy5fc3luY1N5bWJvbEluZm9TcGF3bnM9KCk9PntpZih0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLG51bGw9PT10aGlzLl9hdHRhY2hlZE1vZGVsKXJldHVybjtjb25zdCBlPXRoaXMuX2F0dGFjaGVkTW9kZWwubW9kZWwoKSxzPW5ldyBTZXQoW2UubWFpblNlcmllcygpLC4uLmUuZGF0YVNvdXJjZXMoKS5maWx0ZXIobC5pc0NvbXBhcmVPck92ZXJsYXlTdHVkeSldKTtmb3IoY29uc3QgZSBvZiBzKXtjb25zdCBzPWUuc3ltYm9sSW5mb1dWKCkuc3Bhd25Pd25lcnNoaXAoKTtzLnN1YnNjcmliZShpKSx0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLnB1c2gocyl9fSx0aGlzLl9tb2RlbFdWPWUsdGhpcy5fbW9kZWxXVi5zdWJzY3JpYmUodGhpcy5fb25Nb2RlbENoYW5nZWQse2NhbGxXaXRoTGFzdDohMH0pfWRlc3Ryb3koKXt0aGlzLl9tb2RlbFdWLnVuc3Vic2NyaWJlKHRoaXMuX29uTW9kZWxDaGFuZ2VkKSx0aGlzLl9kZXRhY2hGcm9tTW9kZWwoKSx0aGlzLl9tb2RlbFdWLnJlbGVhc2UoKX1fZGV0YWNoRnJvbU1vZGVsKCl7dGhpcy5fYXR0YWNoZWRNb2RlbD8ubW9kZWwoKS5kYXRhU291cmNlQ29sbGVjdGlvbkNoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX3N5bmNTeW1ib2xJbmZvU3Bhd25zKSx0aGlzLl9yZWxlYXNlU3ltYm9sSW5mb1NwYXducygpLHRoaXMuX2F0dGFjaGVkTW9kZWw9bnVsbH1fcmVsZWFzZVN5bWJvbEluZm9TcGF3bnMoKXt0aGlzLl9zeW1ib2xJbmZvU3Bhd25zLmZvckVhY2goKGU9PmUucmVsZWFzZSgpKSksdGhpcy5fc3ltYm9sSW5mb1NwYXducy5sZW5ndGg9MH19fX1dKTs="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/93421.95381f8e004d0d2fa8cf.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.269Z","timestamp":1785136429269,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/93421.95381f8e004d0d2fa8cf.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a58ab11-1dc\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: a1a5e6be5d70f89d9ebc83dc4a69a585\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":476,"size_decoded":971,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (476), with no line terminators","md5":"37bae040f1b0c84be3c545c1c2303cd1","sha1":"4d4cca3a184846ae3b3aa7cacecbc00873e0f411","sha256":"d021bcce768a1fe978903b5a9ff7b2120d90ea6df9ef981ace4d7edc9904ab6e","sha512":"a722c067825d0bfc7bb3e24a0bd456d26d0abff0921bee7e68e4a4a0e8a3d44340c2674fe3aa8a445ab5bc9d5de47a7c827600a20ca4edb6a83709dded14d6f7","ssdeep":"","tlshash":"06f0e99652ccbf337da011a7e2d2421b5388bc24fe2a658d9affd91a05d527050b9846","first_seen":"2026-07-17T14:15:58.317943Z","last_seen":"2026-08-11T04:43:23.187295Z","times_seen":298,"resource_available":false,"data":"LmNvbnRleHRBY3Rpb25zLXVCSmhqVVY4e2Rpc3BsYXk6ZmxleH0uaGlkZUlmTm9Ib3Zlci11QkpoalVWOHstLXVpLWxpYi1wcml2YXRlLWxpc3RJdGVtLWlzLWhvdmVyZWQtb3ItZm9jdXNlZDptaW4oMSx2YXIoLS11aS1saWItcHJpdmF0ZS1saXN0SXRlbS1pcy1ob3ZlcmVkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtZm9jdXNlZC12aXNpYmxlLDApKX1AbWVkaWEgbm90IChhbnktcG9pbnRlcjpjb2Fyc2Upey5oaWRlSWZOb0hvdmVyLXVCSmhqVVY4e29wYWNpdHk6bWluKDEsdmFyKC0tdWktbGliLXByaXZhdGUtbGlzdEl0ZW0taXMtaG92ZXJlZC1vci1mb2N1c2VkLDApICsgdmFyKC0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGUsMCkpfX0uc29tZUNvbnRleHRBY3Rpb25Gb2N1c2VkLXVCSmhqVVY4ey0tdWktbGliLXByaXZhdGUtY29udGV4dEFjdGlvbi1mb3JjZVZpc2libGU6MX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:47.766Z","timestamp":1785136427766,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/embed_advanced_chart.6d07e4fd8e3f2785cf25.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:47 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a632877-4b09f\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Fri, 24 Jul 2026 08:55:19 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/24/2026 10:31:23\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0e54c4de4fbbdf94dea2e296b59ab2fa\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":307359,"size_decoded":95622,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (3070)","md5":"ff08c213214941a305e07e2e0aecf577","sha1":"cdefa4d26a111dfe184184912992dfdcfb77f002","sha256":"484233793afe63cd2f9df537c6819b1489f21625d4d0ee9ed41ad56b71117b59","sha512":"c787b5e2bdf2f3a3eb2d122f888029d3317c0a1366c56e6cd295c5e8cbb2a4ca7cb624ef86de5ce26f6f5ca73b2ec98c925506b5e39cd6c8e42424ca470e7ab1","ssdeep":"6144:eetdrmSRezirtVcbkZ0PVvoxvNvyc4441G8/BSGTees55hok0Otik21pcV:eetdrts+0PNofvB41G8/BSGieKhCOtiQ","tlshash":"68645d91b2957ca663e740e6947a0103a72918c67802536cf7bc8dce270dd8d7276fbe","first_seen":"2026-07-24T11:36:47.992194Z","last_seen":"2026-07-28T06:17:53.368675Z","times_seen":205,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjk2NSw3NzAzOCw4MDkzOSw4NTQzNF0sezY2ODI5NihlKXtlLmV4cG9ydHM9e319LDg2MDU0OChlKXtlLmV4cG9ydHM9eyJjc3MtdmFsdWUtc21hbGwtc2l6ZSI6IjE4cHgiLCJjc3MtdmFsdWUtbWVkaXVtLXNpemUiOiIyMnB4IiwiY3NzLXZhbHVlLWxhcmdlLXNpemUiOiIyOHB4IiwiY3NzLXZhbHVlLWJvcmRlci1yYWRpdXMtc21hbGwtc2l6ZSI6IjlweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zaXplIjoiMTFweCIsImNzcy12YWx1ZS1ib3JkZXItcmFkaXVzLWxhcmdlLXNpemUiOiI4cHgiLHN0YXR1c2VzV3JhcDoic3RhdHVzZXNXcmFwLVVSSWpFQjk4IixzbWFsbDoic21hbGwtVVJJakVCOTgiLG1lZGl1bToibWVkaXVtLVVSSWpFQjk4IixsYXJnZToibGFyZ2UtVVJJakVCOTgiLGJsaW5raW5nOiJibGlua2luZy1VUklqRUI5OCIsc3RhdHVzSXRlbToic3RhdHVzSXRlbS1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbiI6ImJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3BlbjoibWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ2xvc2U6Im1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4IixtYXJrZXRTdGF0dXNQcmU6Im1hcmtldFN0YXR1c1ByZS1VUklqRUI5OCIsbWFya2V0U3RhdHVzUG9zdDoibWFya2V0U3RhdHVzUG9zdC1VUklqRUI5OCIsbWFya2V0U3RhdHVzT3Zlcm5pZ2h0OiJtYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTgiLG1hcmtldFN0YXR1c0hvbGlkYXk6Im1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTgiLG1hcmtldFN0YXR1c0RlbGlzdGVkOiJtYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzRXhwaXJlZDoibWFya2V0U3RhdHVzRXhwaXJlZC1VUklqRUI5OCIsbWFya2V0U3RhdHVzQ3VzdG9tOiJtYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTgiLGludmFsaWRTeW1ib2w6ImludmFsaWRTeW1ib2wtVVJJakVCOTgiLGFjdGl2ZVN0cmF0ZWd5OiJhY3RpdmVTdHJhdGVneS1VUklqRUI5OCIsYWxlcnQ6ImFsZXJ0LVVSSWpFQjk4IixhbGVydEl0ZW1zQ29udGFpbmVyOiJhbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4IixhbGVydEl0ZW06ImFsZXJ0SXRlbS1VUklqRUI5OCIscmVwbGF5TW9kZUF1dG9QbGF5OiJyZXBsYXlNb2RlQXV0b1BsYXktVVJJakVCOTgiLHJlcGxheU1vZGVQYXVzZToicmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4IixyZXBsYXlNb2RlUG9pbnRTZWxlY3Q6InJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5OCIsImJsaW5raW5nLWFuaW1hdGlvbi1jdXN0b20iOiJibGlua2luZy1hbmltYXRpb24tY3VzdG9tLVVSSWpFQjk4Iixub3RBY2N1cmF0ZToibm90QWNjdXJhdGUtVVJJakVCOTgiLG9wZW5lZEluUGluZUVkaXRvcjoib3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4IixvcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvcjoib3BlbmVkSW5EZXRhY2hlZFBpbmVFZGl0b3ItVVJJakVCOTgiLGRlbGF5OiJkZWxheS1VUklqRUI5OCIsZW9kOiJlb2QtVVJJakVCOTgiLGRhdGFQcm9ibGVtSGlnaDoiZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4IixkYXRhUHJvYmxlbUxvdzoiZGF0YVByb2JsZW1Mb3ctVVJJakVCOTgiLGhhc0Vycm9yOiJoYXNFcnJvci1VUklqRUI5OCIsdXBkYXRlQXZhaWxhYmxlOiJ1cGRhdGVBdmFpbGFibGUtVVJJakVCOTgifX0sMTE0MDY4KGUpe2UuZXhwb3J0cz17ImNvbW1vbi10b29sdGlwIjoiY29tbW9uLXRvb2x0aXAtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0taGlkZGVuIjoiY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsIjoiY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZmFydGhlciI6ImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsIjoiY29tbW9uLXRvb2x0aXAtLXZlcnRpY2FsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXAtZmFydGhlciI6ImNvbW1vbi10b29sdGlwLWZhcnRoZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCI6ImNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHkiOiJjb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIjoiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tYnV0dG9ucyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2J1dHRvbiI6ImNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkIjoiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ciOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUiOiJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVmb3JlIjoiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciI6ImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleS1FSkJEOTZ6WCIsCiJjb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZSI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpZHRoX25hcnJvdyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZyI6ImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1wYWRkaW5nLUVKQkQ5NnpYIiwiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jayI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9faG90a2V5LWJsb2NrLS1kaXZpZGVyIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlci1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dCI6ImNvbW1vbi10b29sdGlwX19ob3RrZXktdGV4dC1FSkJEOTZ6WCIsImNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uIjoiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1idXR0b24tRUpCRDk2elgiLCJjb21tb24tdG9vbHRpcF9fcGx1cy1zaWduIjoiY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WCJ9fSwxMjQzMjcoZSl7ZS5leHBvcnRzPXt9fSwzMjA0MDMoZSx0KXsidXNlIHN0cmljdCI7dmFyIHMsaT0hKCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LmRvY3VtZW50fHwhd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO2Z1bmN0aW9uIG4oKXtpZihzKXJldHVybiBzO2lmKCFpfHwhd2luZG93LmRvY3VtZW50LmJvZHkpcmV0dXJuImluZGV0ZXJtaW5hdGUiO3ZhciBlPXdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiQUJDRCIpKSxlLmRpcj0icnRsIixlLnN0eWxlLmZvbnRTaXplPSIxNHB4IixlLnN0eWxlLndpZHRoPSI0cHgiLGUuc3R5bGUuaGVpZ2h0PSIxcHgiLGUuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixlLnN0eWxlLnRvcD0iLTEwMDBweCIsZS5zdHlsZS5vdmVyZmxvdz0ic2Nyb2xsIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHM9InJldmVyc2UiLGUuc2Nyb2xsTGVmdD4wP3M9ImRlZmF1bHQiOihlLnNjcm9sbExlZnQ9MSwwPT09ZS5zY3JvbGxMZWZ0JiYocz0ibmVnYXRpdmUiKSksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKSxzfXQuZGV0ZWN0U2Nyb2xsVHlwZT1uLHQuZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQ9ZnVuY3Rpb24oZSx0KXt2YXIgcz1lLnNjcm9sbExlZnQ7aWYoInJ0bCIhPT10KXJldHVybiBzO3ZhciBpPW4oKTtpZigiaW5kZXRlcm1pbmF0ZSI9PT1pKXJldHVybiBOdW1iZXIuTmFOO3N3aXRjaChpKXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoK3M7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoLXN9cmV0dXJuIHN9fSw0NDM3NzYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzKDEyNDMyNykscyg5MjY0MTUpLHMoMjc3MDI5KSxzKDIyMjk4NikscygzMTQxMzMpO3ZhciBpPXMoMzE4OTc0KSxuPShzKDQyOTY2KSxzKDgyOTE4MCkscyg3MjI1NzEpLHMoMjg0NDg0KSxzKDU2OTgxOSkscyg1NjkzOTgpLHMoOTMyMzY1KSxzKDg0Mjk4Mykscyg5MzA1NjYpKSxyPShzKDIzMzM5OSkscygxMzg2MzgpKSxvPXMoOTMwMjMxKTsoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1c2VfbG9jYWxzdG9yYWdlX2Zvcl9zZXR0aW5ncyIpJiZuLnN5bmModm9pZCAwKTt2YXIgYT1zKDc5NDgxMiksbD1zKDc4MzI1NCksdT1zKDk4ODc3NiksYz1zKDI4NjQxMyksZD1zKDk1MTQ2OSksaD1zKDY4Mjc3OSkscD1zKDIyNTI5OCksbT1zKDM0NDEwMyksXz1zLm4obSksZz1zKDkwNjU5MykseT1zLm4oZyksZj1zKDE1OTUxMyksdj1zKDEyODk5OCksYj1zKDI1NDY3MyksUz1zKDQ2NTEzNyk7ZnVuY3Rpb24gdygpe3JldHVybiBQcm9taXNlLmFsbChbcy5lKDk4MTExKSxzLmUoMjA1OTApLHMuZSg5MzA2NildKS50aGVuKHMuYmluZChzLDM4MTg1MCkpfXZhciBQPXMoMjMyMzY0KTtjbGFzcyBUe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2lzRmlyc3RTaG93PSEwLHRoaXMuX2RpYWxvZ1Byb21pc2U9bnVsbCx0aGlzLl9kaWFsb2c9bnVsbH12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2liaWxpdHkucmVhZG9ubHkoKX1zaG93KGUsdCxzKXt0aGlzLl9pc0ZpcnN0U2hvdyYmKHRoaXMuX2lzRmlyc3RTaG93PSExLHRoaXMuX29uRmlyc3RTaG93KCkpO2NvbnN0IGk9QXJyYXkuaXNBcnJheShlKT9lOltdLG49QXJyYXkuaXNBcnJheShlKT92b2lkIDA6ZTtudWxsPT09dGhpcy5fZGlhbG9nJiZ0aGlzLl9yZXF1ZXN0RGlhbG9nKGksdCxzLG4pLHRoaXMuX2RpYWxvZz8ub3BlbihpLHZvaWQgMCx0LHMsbil9aGlkZSgpe3RoaXMuX2RpYWxvZz8uaGlkZSgpfWdldERpYWxvZygpe3JldHVybiB0aGlzLl9kaWFsb2d9cmVzZXRBbGxQYWdlcygpe3RoaXMuX2RpYWxvZz8ucmVzZXRBbGxTdHVkaWVzKCl9X29uRmlyc3RTaG93KCl7fV9vbkRpYWxvZ0hpZGRlbigpe31fcmVxdWVzdERpYWxvZyhlLHQscyxpKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RpYWxvZ1Byb21pc2UmJih0aGlzLl9kaWFsb2dQcm9taXNlPXRoaXMuX2NyZWF0ZURpYWxvZygpLnRoZW4oKG49Pnt0aGlzLl9kaWFsb2c9bix0aGlzLl9kaWFsb2cudmlzaWJsZSgpLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Zpc2liaWxpdHkuc2V0VmFsdWUoZSksZXx8dGhpcy5fb25EaWFsb2dIaWRkZW4oKX0pKSx0aGlzLl9kaWFsb2cub3BlbihlLHZvaWQgMCx0LHMsaSl9KSkpLHRoaXMuX2RpYWxvZ1Byb21pc2V9fWNsYXNzIEMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2U9ZSx0aGlzLl9vcHRpb25zPXR9YXN5bmMgX2NyZWF0ZURpYWxvZygpewpyZXR1cm4gbmV3KChhd2FpdCBQcm9taXNlLmFsbChbcy5lKDU5ODI5KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDk0OCkscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDcyNjY2KSxzLmUoMTAzODUpLHMuZSg1MjA2NSkscy5lKDY2MDUpLHMuZSgzMjE3Nikscy5lKDcxNDgyKSxzLmUoODg2NDEpLHMuZSg3MDY1Nikscy5lKDM5MTYpLHMuZSg2ODk2NCkscy5lKDQyNzIxKSxzLmUoMTc3NTEpLHMuZSgyOTMxNSkscy5lKDE0NjU3KSxzLmUoNTExODQpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoMTY5NDkpXSkudGhlbihzLmJpbmQocyw4ODUyMTgpKSkuU3R1ZHlUZWNobmljYWxzU2VhcmNoRGlhbG9nKSh0aGlzLl9pbnNlcnRTdHVkeVNlcnZpY2UsdGhpcy5fb3B0aW9ucyl9fXZhciBFPXMoNjAxODQxKSxJPXMoNjc4Mjg1KSxMPXMoMzY4MTEwKSxNPXMoNDczMzE4KSxEPXMoODY3ODMxKTthc3luYyBmdW5jdGlvbiB4KGUsdCxzLGkpe2NvbnN0IG49ZS5tb2RlbCgpLm1vZGVsKCkuaW5zZXJ0U3R1ZHlTdHViKHQscyxpKTtyZXR1cm4gbi5zZXRTdGF0dXMoe3R5cGU6RC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZyxzdGFydFRpbWU6RGF0ZS5ub3coKX0pLG59Y2xhc3MgUntjb25zdHJ1Y3RvcihlKXt0aGlzLl9jaGFydFdpZGdldENvbGxlY3Rpb249ZX1hc3luYyBpbnNlcnRTdHVkeShlKXtjb25zdCB0PXRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFydFdpZGdldC52YWx1ZSgpO2lmKCF0KXJldHVybiBudWxsO2NvbnN0e2Rlc2NyaXB0b3I6cyxpbnNlcnRpb25JbmZvOmkscGFyZW50SWRzOm49W10sc3ltYm9sOnIsb25JbnNlcnRTdGFydDpvfT1lLGE9aS5zdHViVGl0bGU/PyIiLGw9YXdhaXQoMCxNLndhaXRGb3JNb2RlbCkodCk7aWYoaS5pc0Z1bmRhbWVudGFsKXtjb25zdCBlPXZvaWQgMCE9PXI/ZnVuY3Rpb24oZSl7cmV0dXJuKHQscyxpKT0+e2NvbnN0IG49e30scj1pLnN5bWJvbElucHV0SWQoKTtyZXR1cm4gciYmKG5bcl09ZSkse2lucHV0czpuLHBhcmVudFNvdXJjZXM6W119fX0ocik6dm9pZCAwLG49YXdhaXQgeCh0LGEsITEscyksbD1hd2FpdCB0LnJlcGxhY2VTdHViQnlTdHVkeShuLHMsW10saSxlLG8pO3JldHVybiBsPy5tZXRhSW5mbygpPz9udWxsfWNvbnN0IHU9bi5tYXAoKGU9PmwuZ2V0U3R1ZHlCeUlkKGUpKSkuZmlsdGVyKEUubm90TnVsbCk7aWYodm9pZCAwIT09aS5pc092ZXJsYXkmJiJwaW5lIj09PXMudHlwZSl7Y29uc3QgZT1hd2FpdCB4KHQsYSxpLmlzT3ZlcmxheSxzKSxuPWF3YWl0IHQucmVwbGFjZVN0dWJCeVN0dWR5KGUscyx1LGksdm9pZCAwLG8pO3JldHVybiBuPy5tZXRhSW5mbygpPz9udWxsfWlmKCJqYXZhIj09PXMudHlwZSl7Y29uc3QgZT0oMCxMLnRyeUZpbmRTdHVkeUxpbmVUb29sTmFtZUJ5U3R1ZHlJZCkocy5zdHVkeUlkKTtpZihudWxsIT09ZSlyZXR1cm4gYXdhaXQoMCxMLmluaXRMaW5lVG9vbCkoZSksSS50b29sLnNldFZhbHVlKGUpLG51bGx9Y29uc3QgYz1hd2FpdCB0Lmluc2VydFN0dWR5KHMsdSxpLHZvaWQgMCxvKTtyZXR1cm4gYz8ubWV0YUluZm8oKT8/bnVsbH1nZXRTdHVkeU9uU3R1ZHlDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0Q2hpbGRTdHVkeUNvdW50ZXIoKT8/MH1nZXRGdW5kYW1lbnRhbFN0dWRpZXNDb3VudGVyKCl7cmV0dXJuIHRoaXMuX2NoYXJ0V2lkZ2V0Q29sbGVjdGlvbi5hY3RpdmVDaGFyV2lkZ2V0TW9kZWwoKS52YWx1ZSgpPy5tb2RlbCgpLmNoYXJ0QXBpKCkuZ2V0RnVuZGFtZW50YWxDb3VudGVyKCk/PzB9Z2V0U3R1ZGllc0NvdW50ZXIoKXtyZXR1cm4gdGhpcy5fY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFjdGl2ZUNoYXJXaWRnZXRNb2RlbCgpLnZhbHVlKCk/Lm1vZGVsKCkuY2hhcnRBcGkoKS5nZXRTdHVkeUNvdW50ZXIoKT8/MH19dmFyIGs9cyg3NTk5NzApLFY9cyg2NjUxODcpLEE9cygyMDA2NjYpLEY9cyg3Mzg0NTgpLEI9cygzMDg4MTApLE89cygxOTYwNDkpLE49cyg4MDI1ODYpO2NvbnN0IFc9ezg6W0IudGltZUZyYW1lcy55dGQsQi50aW1lRnJhbWVzWyIxMm0iXSxCLnRpbWVGcmFtZXNbIjYwbSJdLEIudGltZUZyYW1lcy5hbGxdLDM6W0IudGltZUZyYW1lc1siMWQiXSxCLnRpbWVGcmFtZXNbIjVkIl0sQi50aW1lRnJhbWVzWyIxbSJdLEIudGltZUZyYW1lc1siM20iXSxCLnRpbWVGcmFtZXNbIjZtIl0sQi50aW1lRnJhbWVzLnl0ZCxCLnRpbWVGcmFtZXNbIjEybSJdLEIudGltZUZyYW1lc1siNjBtIl0sQi50aW1lRnJhbWVzLmFsbF19LFU9bmV3IE1hcChbWyIxRCIsKDAsTi5nZXRGcm9tRm9yRGF5KSgxKV0sWyI1RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg1KV0sWyI3RCIsKDAsTi5nZXRGcm9tRm9yRGF5KSg3KV0sWyIxTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgxKV0sWyIzTSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSgzKV0sWyI2TSIsKDAsTi5nZXRGcm9tRm9yTW9udGhzQWdvKSg2KV0sWyIxMk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgxKV0sWyIyNE0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgyKV0sWyIzNk0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSgzKV0sWyI2ME0iLCgwLE4uZ2V0RnJvbUZvclllYXJzQWdvKSg1KV0sWyJZVEQiLCgwLE4uZ2V0U3RhcnRPZlRoZVllYXIpKCldLFsiTEFTVFNFU1NJT04iLCgwLE4uZ2V0RnJvbUZvckRheSkoMSldLFsiQUxMIiwtMS8wXV0pO2Z1bmN0aW9uIHooZSx0LHM9LTEvMCl7bGV0IGk7bnVsbCE9PWU/aT0oV1szXXx8W10pLmZpbHRlcigodD0+bnVsbD09PSgwLE8uZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQudGFyZ2V0UmVzb2x1dGlvbikpKTooOT09PXQmJih0PTMpLDY9PT10JiYodD04KSxpPVdbdF18fFtdKTtjb25zdCBuPVtdO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtjb25zdCB0PWlbZV07aWYobi5wdXNoKHQpLCgwLApyLmVuc3VyZURlZmluZWQpKFUuZ2V0KHQudmFsdWUudmFsdWUpKTxzKWJyZWFrfXJldHVybiBuLmxlbmd0aCYmIkFMTCIhPT1uW24ubGVuZ3RoLTFdLnZhbHVlLnZhbHVlJiYobltuLmxlbmd0aC0xXT17Li4ubltuLmxlbmd0aC0xXSx0ZXh0OkIudGltZUZyYW1lcy5hbGwudGV4dCx2YWx1ZTp7Li4ubltuLmxlbmd0aC0xXS52YWx1ZSx2YWx1ZTpCLnRpbWVGcmFtZXMuYWxsLnZhbHVlLnZhbHVlfX0pLG59ZnVuY3Rpb24gSChlLHQscyl7Y29uc3QgaT17bmFtZTplLGZyYW1lRWxlbWVudElkOnQsZGF0YTpzfTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKGksIioiKX1mdW5jdGlvbiBqKGUsdCl7ZnVuY3Rpb24gcyhzKXtzLmRhdGEmJnMuZGF0YS5uYW1lJiZzLmRhdGEubmFtZT09PWUmJnQocy5kYXRhLmRhdGEpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscywhMSl9fXZhciAkLHE7ZnVuY3Rpb24gSyhlKXtyZXR1cm4ic2Vla2luZ2FscGhhIj09PWV8fCJzbWFydGxhYi1jdXN0b20iPT09ZT9Qcm9taXNlLmFsbChbcy5lKDk0MjQ0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDQ2NzU2KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoMzQxNyldKS50aGVuKHMuYmluZChzLDM0MTcpKToiY21lIj09PWU/UHJvbWlzZS5hbGwoW3MuZSgxMjA4MCkscy5lKDg0MzA2KSxzLmUoNDY5MDcpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSg4NjQyMykscy5lKDM3NTEzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDkzNDIxKSxzLmUoNzg2NTIpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDcwNjU2KSxzLmUoNzE5MDEpLHMuZSg4MTI0Nykscy5lKDkwOTYwKSxzLmUoMjM2NjkpLHMuZSg4MTEwNykscy5lKDQyMzAxKSxzLmUoNjc5MjUpLHMuZSgzMjg1Nykscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg0MjAzMykscy5lKDg2OTk3KSxzLmUoOTg1MDkpLHMuZSgyNzY2NSkscy5lKDMyNDI3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDk5MzA5KSxzLmUoNjk2OTcpLHMuZSg1MzI5Nykscy5lKDM4MDg2KSxzLmUoMjYxMTgpLHMuZSg1ODA4KSxzLmUoNTAwNzcpXSkudGhlbihzLmJpbmQocywxNTAwNzcpKTpQcm9taXNlLmFsbChbcy5lKDk5MTI0KSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg1NjI1Mikscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSg5NjU4Nykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzA2NTYpLHMuZSg3MTkwMSkscy5lKDgxMjQ3KSxzLmUoOTA5NjApLHMuZSgyMzY2OSkscy5lKDgxMTA3KSxzLmUoNDIzMDEpLHMuZSg2NzkyNSkscy5lKDMyODU3KSxzLmUoMzUzNDIpLHMuZSgyMzI1NCkscy5lKDQyMDMzKSxzLmUoODY5OTcpLHMuZSg5ODUwOSkscy5lKDI3NjY1KSxzLmUoMzI0MjcpLHMuZSg2NzY4NSkscy5lKDMyMzg3KSxzLmUoMjM3NDMpLHMuZSg5OTMwOSkscy5lKDY5Njk3KSxzLmUoNTMyOTcpLHMuZSgzODA4Nikscy5lKDI2MTE4KSxzLmUoNTgwOCkscy5lKDM5MTY2KV0pLnRoZW4ocy5iaW5kKHMsOTM5MTY2KSl9IWZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlNldFN5bWJvbD0ic2V0LXN5bWJvbCIsZS5TZXRJbnRlcnZhbD0ic2V0LWludGVydmFsIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfSgkfHwoJD17fSkpLGZ1bmN0aW9uKGUpe2xldCB0OyFmdW5jdGlvbihlKXtlLlN5bWJvbENsaWNrPSJ0di13aWRnZXQtc3ltYm9sLWNsaWNrIixlLldpZGdldExvYWQ9InR2LXdpZGdldC1sb2FkIixlLldpZGdldFJlYWR5PSJ0di13aWRnZXQtcmVhZHkiLGUuUmVzaXplSWZyYW1lPSJ0di13aWRnZXQtcmVzaXplLWlmcmFtZSIsZS5Ob0RhdGE9InR2LXdpZGdldC1uby1kYXRhIn0odD1lLk5hbWVzfHwoZS5OYW1lcz17fSkpfShxfHwocT17fSkpO3ZhciBZPXMoMTg1MjcxKSxHPXMoODYwNDQyKSxKPXMoMjM1NzI0KQo7Y29uc3QgWD1bIkxpbmVUb29sVHJlbmRMaW5lIiwiTGluZVRvb2xSYXkiLCJMaW5lVG9vbEluZm9MaW5lIiwiTGluZVRvb2xFeHRlbmRlZCIsIkxpbmVUb29sUmVncmVzc2lvblRyZW5kIiwiTGluZVRvb2xSb3RhdGVkUmVjdGFuZ2xlIiwiTGluZVRvb2xQYXJhbGxlbENoYW5uZWwiLCJMaW5lVG9vbEZsYXRCb3R0b20iLCJMaW5lVG9vbERpc2pvaW50QW5nbGUiLCJMaW5lVG9vbFBpdGNoZm9yayIsIkxpbmVUb29sU2NoaWZmUGl0Y2hmb3JrIiwiTGluZVRvb2xTY2hpZmZQaXRjaGZvcmsyIiwiTGluZVRvb2xJbnNpZGVQaXRjaGZvcmsiLCJMaW5lVG9vbFZlcnRMaW5lIiwiTGluZVRvb2xDcm9zc0xpbmUiLCJMaW5lVG9vbEhvcnpMaW5lIiwiTGluZVRvb2xIb3J6UmF5IiwiTGluZVRvb2xUcmVuZEFuZ2xlIl07ZnVuY3Rpb24gUShlLHQ9ITEsYT0hMSl7aWYoISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBvcHVwX2hpbnRzIikpcmV0dXJuKCk9Pnt9O2NvbnN0IGw9ZS5nZXRDb250YWluZXIoKTtsZXQgdT1udWxsLGM9bnVsbCxkPW51bGw7cmV0dXJuIEkudG9vbC5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wuc3Vic2NyaWJlKG51bGwscCksSS5maW5pc2hlZExpbmVUb29sLnN1YnNjcmliZShudWxsLG0pLGUubGF5b3V0U2l6ZXNDaGFuZ2VkKCkuc3Vic2NyaWJlKF8pLHR8fGkuQ2hlY2tNb2JpbGUuYW55KCl8fCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKXx8KGQ9ZnVuY3Rpb24oZSx0KXtsZXQgcz0hMTtjb25zdCBpPW49PntuPyhzJiZ0KG4pLGUub25ab29tKCkudW5zdWJzY3JpYmUobnVsbCxpKSk6c3x8KHQobikscz0hMCl9O3JldHVybiBlLm9uWm9vbSgpLnN1YnNjcmliZShudWxsLGkpLCgpPT5lLm9uWm9vbSgpLnVuc3Vic2NyaWJlKG51bGwsaSl9KGUsKGZ1bmN0aW9uKGUpe2lmKCF5KCJoaW50LnN0YXJ0Rm9jdXNlZFpvb20iKSlyZXR1cm47aWYoZSljJiYoZD1udWxsLGYoImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpKTtlbHNle2coWS50KG51bGwsdm9pZCAwLHMoNDc1Mjk5KSkuZm9ybWF0KHtrZXk6KDAsSi5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShKLk1vZGlmaWVycy5Nb2QsITEpfSksImhpbnQuc3RhcnRGb2N1c2VkWm9vbSIpfX0pKSksKCk9PntJLnRvb2wudW5zdWJzY3JpYmUoaCksSS5jcmVhdGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxwKSxJLmZpbmlzaGVkTGluZVRvb2wudW5zdWJzY3JpYmUobnVsbCxtKSxlLmxheW91dFNpemVzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKF8pLGQ/LigpfTtmdW5jdGlvbiBoKCl7Y29uc3QgdD1JLnRvb2wudmFsdWUoKSxuPWkuQ2hlY2tNb2JpbGUuYW55KCk7aWYodT8uaGlkZSgpLCFuJiYoMCxJLnRvb2xJc0RlbW9uc3RyYXRpb24pKHQpJiZ5KCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpKXtyZXR1cm4gdm9pZCBnKFkudChudWxsLHZvaWQgMCxzKDU4MjMwMykpLmZvcm1hdCh7a2V5OigwLEouaHVtYW5SZWFkYWJsZU1vZGlmaWVycykoSi5Nb2RpZmllcnMuQWx0LCExKX0pLCJoaW50LmRlbW9uc3RyYXRpb25DdXJzb3JTZWxlY3RlZCIpfWlmKGEmJm4mJihyPXQsWC5pbmNsdWRlcyhyKSkpcmV0dXJuIHZvaWQgYXN5bmMgZnVuY3Rpb24odCl7e2NvbnN0IGk9KCk9PigwLEkucmVzZXRUb0N1cnNvcikoITApO2lmKHUpdS5zaG93KHQsaSk7ZWxzZXtjb25zdCBuPWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMjcxNzQpLHMuZSg1MTg0KSxzLmUoNTE4Nikscy5lKDMyMzg3KSxzLmUoMjE3NjYpXSkudGhlbihzLmJpbmQocywzNTIzNzYpKTt1PW5ldyBuLkRyYXdpbmdIaW50c1JlbmRlcmVyKGUpLHQ9PT1JLnRvb2wudmFsdWUoKSYmdS5zaG93KHQsaSl9fX0odCk7dmFyIHI7aWYoIkxpbmVUb29sVGV4dEFic29sdXRlIj09PXQmJnkoImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpKXJldHVybiB2b2lkIGcoWS50KG51bGwsdm9pZCAwLHMoOTQ0NzA4KSksImhpbnQuYW5jaG9yZWRUZXh0V2lsbEJlUmVtb3ZlZCIpO2lmKCF5KCJoaW50LnRvdWNoUGFpbnRpbmciKSlyZXR1cm47Y29uc3Qgbz0oMCxHLmlzTGluZVRvb2xEcmF3V2l0aG91dFBvaW50cykodCk7ISgwLEcuaXNTdHVkeUxpbmVUb29sTmFtZSkodCl8fCJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI9PT10fHxvfHxuPygwLEcuaXNMaW5lVG9vbE5hbWUpKHQpJiYhKDAsRy5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKSh0KSYmIW8mJm4/ZyhZLnQobnVsbCx2b2lkIDAscyg3MzA5MzUpKSwiaGludC50b3VjaFBhaW50aW5nIik6YyYmYy5oaWRlKCk6ZyhZLnQobnVsbCx2b2lkIDAscygxNjE1MjgpKSwiaGludC50b3VjaFBhaW50aW5nIil9ZnVuY3Rpb24gcCgpe2NvbnN0IGU9SS50b29sLnZhbHVlKCk7IkxpbmVUb29sUGF0aCI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKT9nKFkudChudWxsLHZvaWQgMCxzKDY0MTE2MSkpLCJoaW50LmZpbmlzaEJ1aWxkUGF0aEJ5RGJsQ2xpY2siKToiTGluZVRvb2xQb2x5bGluZSI9PT1lJiZ5KCJoaW50LmZpbmlzaEJ1aWxkUG9seWxpbmVCeURibENsaWNrIikmJmcoWS50KG51bGwsdm9pZCAwLHMoNTgwOTg1KSksImhpbnQuZmluaXNoQnVpbGRQb2x5bGluZUJ5RGJsQ2xpY2siKX1mdW5jdGlvbiBtKCl7aWYoYyl7Y29uc3QgZT1JLnRvb2wudmFsdWUoKTsiTGluZVRvb2xQYXRoIj09PWU/ZigiaGludC5maW5pc2hCdWlsZFBhdGhCeURibENsaWNrIik6IkxpbmVUb29sUG9seWxpbmUiPT09ZSYmZigiaGludC5maW5pc2hCdWlsZFBvbHlsaW5lQnlEYmxDbGljayIpfX1mdW5jdGlvbiBfKCl7aWYoIXkoImhpbnQuc3RhcnRSZXNpemluZ0NoYXJ0SW5MYXlvdXQiKSlyZXR1cm47ZyhpLkNoZWNrTW9iaWxlLmFueSgpP1kudChudWxsLHZvaWQgMCxzKDEzNzE0OSkpOlkudChudWxsLHZvaWQgMCxzKDI5NjQ3MSkpLCJoaW50LnN0YXJ0UmVzaXppbmdDaGFydEluTGF5b3V0Iil9ZnVuY3Rpb24gZyhlLHQpe2lmKGMpYy5zaG93KGUsZi5iaW5kKG51bGwsdCkpO2Vsc2V7Y29uc3QgaT1JLnRvb2wudmFsdWUoKQo7UHJvbWlzZS5hbGwoW3MuZSgxMzQ5Mikscy5lKDQxODExKSxzLmUoMzIzODcpLHMuZSg3NzU4OCldKS50aGVuKHMuYmluZChzLDEyNDAxNikpLnRoZW4oKHM9PntjPW5ldyBzLkNoYXJ0RXZlbnRIaW50UmVuZGVyZXIobCksaT09PUkudG9vbC52YWx1ZSgpJiZjLnNob3coZSxmLmJpbmQobnVsbCx0KSl9KSl9fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIUJvb2xlYW4obi5nZXRCb29sKGUpKX1mdW5jdGlvbiBmKGUpe24uc2V0VmFsdWUoZSwhMCx7Zm9yY2VGbHVzaDohMH0pLCgwLHIuZW5zdXJlTm90TnVsbCkoYykuZGVzdHJveSgpLG51bGwhPT1kJiZkKCksYz1udWxsfX12YXIgWj1zKDE3OTc3MSk7ZnVuY3Rpb24gZWUoZSx0KXtjb25zdCBpPVkudChudWxsLHZvaWQgMCxzKDIyMjkpKS5mb3JtYXQoe2Vtb2ppOiLwn5GNIn0pLG49WS50KG51bGwsdm9pZCAwLHMoMzg4NzcwKSkuZm9ybWF0KHtlbW9qaToi8J+RjSJ9KSxvPVkudChudWxsLHZvaWQgMCxzKDgzNDgyMikpLmZvcm1hdCh7ZW1vamk6IvCfkY0ifSk7Wi5vbigib25TZXJ2ZXJTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShpKSksbnVsbCksWi5vbigib25DbGllbnRTY3JlZW5zaG90Q29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShuKSksbnVsbCksWi5vbigib25TZXJ2ZXJTY3JlZW5zaG90RW1iZWRDb2RlQ29waWVkVG9DbGlwYm9hcmQiLCgoKT0+dShvKSksbnVsbCk7bGV0IGE9bnVsbDtjb25zdCBsPWUuZ2V0Q29udGFpbmVyKCk7ZnVuY3Rpb24gdShlKXthP2Euc2hvdyhlKTpQcm9taXNlLmFsbChbcy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NDA1NCkscy5lKDI0NjAzKSxzLmUoMzIzODcpLHMuZSg0MzE4MCldKS50aGVuKHMuYmluZChzLDQwMTY3MSkpLnRoZW4oKHM9PnthfHwoYT1uZXcgcy5DaGFydFNjcmVlbnNob3RIaW50UmVuZGVyZXIoKDAsci5lbnN1cmVOb3ROdWxsKShsKSx7Ym90dG9tUGFkZGluZzp0LnNlcmllc0NvbnRyb2xCYXJFbmFibGVkfSksYS5zaG93KGUpKX0pKX19dmFyIHRlPXMoNzA1MDEyKSxzZT1zKDUwODc0Nyk7Y2xhc3MgaWV7Y29uc3RydWN0b3IoZT1bXSl7dGhpcy5fbGlzdD17aWQ6IkRFRkFVTFRfU0lOR0xFX1dBVENITElTVCIsdHlwZToiY3VzdG9tIixuYW1lOmwudChudWxsLHZvaWQgMCxzKDM5Nzc4OCkpLGRlc2NyaXB0aW9uOm51bGwsc3ltYm9sczpbLi4uZV0sc2hhcmVkOiExLHBlcnNpc3RlZFN0YXRlOm51bGx9fWdldEN1c3RvbVdhdGNoTGlzdHMoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFt0aGlzLl9saXN0XSl9Z2V0U3ltYm9scyhlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9Y3JlYXRlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cHV0V2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVtb3ZlV2F0Y2hMaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9cmVuYW1lV2F0Y2hMaXN0KGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9Wy4uLnRdLFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0LnN5bWJvbHMpfWFkZFN5bWJvbHMoZSx0KXtyZXR1cm4gdGhpcy5fbGlzdC5zeW1ib2xzLnB1c2goLi4udCksUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3Quc3ltYm9scyl9cmVtb3ZlU3ltYm9scyhlLHQpe3JldHVybiB0aGlzLl9saXN0LnN5bWJvbHM9dGhpcy5fbGlzdC5zeW1ib2xzLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKSxQcm9taXNlLnJlc29sdmUodGhpcy5fbGlzdC5zeW1ib2xzKX1zZXRBY3RpdmUoZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9saXN0KX1nZXRBY3RpdmUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2xpc3QpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1nZXRDdXN0b21XYXRjaGxpc3QoZSl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9fXZhciBuZT1zKDE1MDE1MCkscmU9cyg5NDgzODApO2NvbnN0IG9lPW5ldyByZS5EZWxlZ2F0ZSxhZT1uZXcgcmUuRGVsZWdhdGUsbGU9bmV3IHJlLkRlbGVnYXRlLHVlPW5ldyByZS5EZWxlZ2F0ZSxjZT1uZXcgcmUuRGVsZWdhdGU7dmFyIGRlPXMoNTgwNTI2KSxoZT1zKDYyMTIwKTtjbGFzcyBwZXtjb25zdHJ1Y3RvcihlPVtdLHQ9bil7aWYodGhpcy5fbGlzdHM9e30sdGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5PSJ3aWRnZXRiYXIud2lkZ2V0LndhdGNobGlzdCIsKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidHJhZGluZ190ZXJtaW5hbCIpJiYodGhpcy5fYWN0aXZlTGlzdFNldHRpbmdzS2V5Kz0idGVybWluYWwiKSx0aGlzLl9zZXR0aW5ncz10LHRoaXMuX3NldHRpbmdzLm9uU3luYy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVMaXN0cyksdGhpcy5fdXBkYXRlTGlzdHMoKSwwPT09T2JqZWN0LmtleXModGhpcy5fbGlzdHMpLmxlbmd0aCl7Y29uc3QgdD10aGlzLl9jcmVhdGVMaXN0KHt0aXRsZTp0aGlzLl9waWNrVGl0bGUoKSxzeW1ib2xzOlsuLi5lXX0sITApO3RoaXMuc2V0QWN0aXZlKHtpZDp0LmlkLHR5cGU6ImN1c3RvbSJ9KX19ZGVzdHJveSgpe3RoaXMuX3NldHRpbmdzLm9uU3luYy51bnN1YnNjcmliZUFsbCh0aGlzKX1nZXRDdXN0b21XYXRjaExpc3RzKCl7dGhpcy5fdXBkYXRlTGlzdHMoKTtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9saXN0cykuZm9yRWFjaCgodD0+e2NvbnN0IHM9dGhpcy5fZ2V0TGlzdCh0KTtzJiZlLnB1c2godGhpcy5fdG9TeW1ib2xMaXN0KHMpKX0pKSxQcm9taXNlLnJlc29sdmUoZSl9Y3JlYXRlV2F0Y2hMaXN0KGUpe2NvbnN0IHQ9ISgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndhdGNobGlzdF9jcm9zc190YWJfc3luYyIpLHM9dGhpcy5fY3JlYXRlTGlzdCh7aWQ6ZS5pZCx0aXRsZTplLm5hbWV8fHRoaXMuX3BpY2tUaXRsZSgpLApzeW1ib2xzOmUuc3ltYm9sc3x8W119LHQpO3JldHVybiBsZS5maXJlKHMuaWQsWy4uLnMuc3ltYm9sc10pLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QocykpfXB1dFdhdGNoTGlzdChlKXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0IHQ9dGhpcy5fZ2V0TGlzdChlLmlkKSxzPXQ/LnRpdGxlLGk9ZS5uYW1lLG49e2lkOmUuaWQsc3ltYm9sczooMCxkZS5yZW1vdGVTeW1ib2xzRm9ybUxvY2FsU3RhdGUpKGUuaWQsZS5zeW1ib2xzKSx0aXRsZTplLm5hbWV9O3JldHVybiB0aGlzLnNhdmVMaXN0KG4pLHZvaWQgMCE9PXMmJnMhPT1pJiZjZS5maXJlKGUuaWQscyxpKSxudWxsIT09dD9vZS5maXJlKGUuaWQpOmxlLmZpcmUoZS5pZCxlLnN5bWJvbHMpLFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QobikpfXJlbW92ZVdhdGNoTGlzdChlKXtjb25zdHtpZDp0fT1lO3JldHVybiB0aGlzLl9zZXR0aW5ncy5yZW1vdmUoYHNhdmVkd2F0Y2guJHt0fWAse2ZvcmNlRmx1c2g6ITB9KSxkZWxldGUgdGhpcy5fbGlzdHNbdF0sdWUuZmlyZSh0KSxQcm9taXNlLnJlc29sdmUoKX1yZW5hbWVXYXRjaExpc3QoZSx0KXt0aGlzLl91cGRhdGVMaXN0cygpO2NvbnN0e25hbWU6c309ZTtlLm5hbWU9dDtjb25zdCBpPXRoaXMuX2dldExpc3QoZS5pZCk7cmV0dXJuIHRoaXMuc2F2ZUxpc3Qoe2lkOmUuaWQsc3ltYm9sczppP2kuc3ltYm9sczplLnN5bWJvbHMsdGl0bGU6dH0pLGNlLmZpcmUoZS5pZCxzLHQpLFByb21pc2UucmVzb2x2ZShudWxsKX1yZXBsYWNlU3ltYm9scyhlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0TGlzdChlLmlkKTtyZXR1cm4gbnVsbD09PXN8fChzLnN5bWJvbHM9KDAsZGUucmVtb3RlU3ltYm9sc0Zvcm1Mb2NhbFN0YXRlKShlLmlkLHQpLGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5kZWxldGUoZS5pZCksdGhpcy5zYXZlTGlzdChzKSxvZS5maXJlKGUuaWQpKSxQcm9taXNlLnJlc29sdmUobnVsbCl9YWRkU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO3JldHVybiBudWxsPT09cz9Qcm9taXNlLnJlc29sdmUoW10pOihzLnN5bWJvbHMucHVzaCguLi50KSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKSl9cmVtb3ZlU3ltYm9scyhlLHQpe2lmKGhlLnBlbmRpbmdPcGVuU2VwYXJhdG9ycy5oYXMoZS5pZCkpe2NvbnN0IHQ9KDAsZGUuZ2V0TG9jYWxMaXN0U3ltYm9scykoZS5pZCk7cmV0dXJuIHRoaXMucmVwbGFjZVN5bWJvbHMoZSx0KS50aGVuKCgoKT0+Wy4uLnRdKSl9Y29uc3Qgcz10aGlzLl9nZXRMaXN0KGUuaWQpO2lmKG51bGw9PT1zKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGk9bmV3IFNldCh0KTtyZXR1cm4gcy5zeW1ib2xzPXMuc3ltYm9scy5maWx0ZXIoKGU9PiFpLmhhcyhlKSYmIWkuaGFzKCgwLGRlLnNlcGFyYXRvclJlbW90ZVJlcHJlc2VudGF0aW9uKShlLCExKSkpKSx0aGlzLnNhdmVMaXN0KHMpLG9lLmZpcmUoZS5pZCksUHJvbWlzZS5yZXNvbHZlKFsuLi5zLnN5bWJvbHNdKX1zZXRBY3RpdmUoZSl7cmV0dXJuIHRoaXMuX3NldHRpbmdzLnNldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSxlLmlkKSxhZS5maXJlKCksUHJvbWlzZS5yZXNvbHZlKG51bGwpfWdldEFjdGl2ZSgpe2NvbnN0IGU9dGhpcy5fZ2V0QWN0aXZlKCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl90b1N5bWJvbExpc3QoZSkpfWNoYW5nZURlc2NyaXB0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKCJub3QgaW1wbGVtZW50ZWQiKX1yZW5hbWVTZXBhcmF0b3IoZSx0LHMpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgaT10aGlzLl9nZXRMaXN0KGUpO2lmKG51bGw9PT1pKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7Y29uc3R7b2xkU2VwYXJhdG9yOm4sbmV3U2VwYXJhdG9yOnJ9PSgwLGRlLnJlbW90ZVJlbmFtZVNlcGFyYXRvcnMpKGUsdCxzKSxvPWkuc3ltYm9scy5pbmRleE9mKG4pO3JldHVybi0xPT09b3x8KGkuc3ltYm9sc1tvXT1yLHRoaXMuc2F2ZUxpc3QoaSksb2UuZmlyZShlKSksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXNhdmVMaXN0KGUsdD0hMSl7Y29uc3Qgcz17c3ltYm9sczplLnN5bWJvbHMsdGl0bGU6U3RyaW5nKGUudGl0bGUpfTt0aGlzLl9zZXR0aW5ncy5zZXRKU09OKGBzYXZlZHdhdGNoLiR7ZS5pZH1gLHMse2ZvcmNlRmx1c2g6ITAsc2tpcENyb3NzV2luZG93RXZlbnQ6dH0pLHRoaXMuX2xpc3RzW2UuaWRdPXN9Z2V0Q3VzdG9tV2F0Y2hsaXN0KGUpe3Rocm93IG5ldyBFcnJvcigibm90IGltcGxlbWVudGVkIil9X2NyZWF0ZUxpc3QoZSx0PSExKXtjb25zdCBzPXtpZDplLmlkPz8oMCxuZS5yYW5kb21IYXNoKSgpLHN5bWJvbHM6ZS5zeW1ib2xzLHRpdGxlOmUudGl0bGV9O3JldHVybiB0aGlzLnNhdmVMaXN0KHMsdCksc31fZ2V0TGlzdChlKXtpZih0aGlzLl91cGRhdGVMaXN0cygpLHRoaXMuX2xpc3RzLmhhc093blByb3BlcnR5KGUpKXtjb25zdCB0PXRoaXMuX2xpc3RzW2VdO3JldHVybntpZDplLHN5bWJvbHM6dC5zeW1ib2xzLnNsaWNlKCksdGl0bGU6dC50aXRsZX19cmV0dXJuIG51bGx9X3RvU3ltYm9sTGlzdChlKXtjb25zdHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfT0oMCxkZS5sb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9scykoZS5zeW1ib2xzKTtyZXR1cm57dHlwZToiY3VzdG9tIixpZDplLmlkLG5hbWU6ZS50aXRsZSxkZXNjcmlwdGlvbjpudWxsLHN5bWJvbHM6dCxzaGFyZWQ6ITEsY29sbGFwc2VkU2VwYXJhdG9yczpzLHBlcnNpc3RlZFN0YXRlOm51bGx9fV91cGRhdGVMaXN0cygpe3RoaXMuX2xpc3RzPXt9O3RoaXMuX3NldHRpbmdzLmtleXMoKS5mb3JFYWNoKChlPT57Y29uc3QgdD0vXnNhdmVkd2F0Y2hcLiguKikkLy5leGVjKGUpO2lmKCF0KXJldHVybgo7Y29uc3Qgcz10WzFdLGk9dGhpcy5fc2V0dGluZ3MuZ2V0SlNPTihlLG51bGwpO2kmJihpLnN5bWJvbHN8fChpLnN5bWJvbHM9W10pLHRoaXMuX2xpc3RzW3NdPWkpfSkpfV9nZXRBY3RpdmUoKXtjb25zdCBlPXRoaXMuX3NldHRpbmdzLmdldFZhbHVlKHRoaXMuX2FjdGl2ZUxpc3RTZXR0aW5nc0tleSksW3Qsc109T2JqZWN0LmVudHJpZXModGhpcy5fbGlzdHMpWzBdLGk9e2lkOnQsLi4uc307cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuX2dldExpc3QoZSl8fGl9X3BpY2tUaXRsZSgpe3RoaXMuX3VwZGF0ZUxpc3RzKCk7Y29uc3QgZT1PYmplY3Qua2V5cyh0aGlzLl9saXN0cykubWFwKChlPT50aGlzLl9saXN0c1tlXS50aXRsZSkpO2ZvcihsZXQgdD0xOzt0Kyspe2NvbnN0IGk9bC50KG51bGwsdm9pZCAwLHMoMzk3Nzg4KSkrKHQ+MT9gICgke3R9KWA6IiIpO2lmKC0xPT09ZS5pbmRleE9mKGkpKXJldHVybiBpfX19dmFyIG1lPXMoOTU4NTAwKTtjbGFzcyBfZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9kb2N1bWVudD1lLHRoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZTtjb25zdCB0PSgpPT57Y29uc3QgZT1bImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsc2NyZWVuRWxlbWVudCIsIm1vekZ1bGxTY3JlZW5FbGVtZW50IiwibXNGdWxsc2NyZWVuRWxlbWVudCJdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBzPWVbdF07aWYocyBpbiB0aGlzLl9kb2N1bWVudCl7dGhpcy5pc0Z1bGxzY3JlZW4uc2V0VmFsdWUoISF0aGlzLl9kb2N1bWVudFtzXSk7YnJlYWt9fX07dCgpO2Zvcihjb25zdCBzIG9mWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSllLmFkZEV2ZW50TGlzdGVuZXIocyx0LCExKX1lbnRlcigpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcihjb25zdCB0IG9mWyJyZXF1ZXN0RnVsbHNjcmVlbiIsIm1velJlcXVlc3RGdWxsU2NyZWVuIiwid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iLCJtc1JlcXVlc3RGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMCl9ZXhpdCgpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQ7Zm9yKGNvbnN0IHQgb2ZbImV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1vekV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtc0V4aXRGdWxsc2NyZWVuIl0paWYoImZ1bmN0aW9uIj09dHlwZW9mIGVbdF0pe2VbdF0oKTticmVha310aGlzLmlzRnVsbHNjcmVlbi5zZXRWYWx1ZSghMSl9fWNsYXNzIGdle2NvbnN0cnVjdG9yKGUpe3RoaXMuaXNGdWxsc2NyZWVuPW5ldyBQLldhdGNoZWRWYWx1ZSx0aGlzLl9oYW5kbGVFeGl0PWU9PnsyNyE9PSgwLEouaGFzaEZyb21FdmVudCkoZSl8fGUuZGVmYXVsdFByZXZlbnRlZHx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLmV4aXQoKSl9LHRoaXMuX2VsZW1lbnQ9ZX1lbnRlcigpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCEwKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuU2hvdyIpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9ZXhpdCgpe3RoaXMuaXNGdWxsc2NyZWVuLnNldFZhbHVlKCExKSxaLmVtaXQoIm9uSW50ZXJuYWxGdWxsc2NyZWVuSGlkZSIpLHRoaXMuX2VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlRXhpdCl9fXZhciB5ZSxmZT1zKDMxNzQ2MiksdmU9cygxMTczMTMpOyFmdW5jdGlvbihlKXtlLlF1aXJrcz0icXVpcmtzIixlLlZpc3VhbD0idmlzdWFsIn0oeWV8fCh5ZT17fSkpO2Z1bmN0aW9uIGJlKGUsdCl7bGV0IHM9MDtmb3IoY29uc3R7bWluOmksbWF4Om59b2YgdCl7aWYoZTxpfHxuPGkpY29udGludWU7Y29uc3QgdD1NYXRoLm1pbihlLG4pO2lmKHM9TWF0aC5tYXgocyx0KSxlPT09cylicmVha31yZXR1cm4gc31mdW5jdGlvbiBTZShlKXtjb25zdCB0PVtdO2lmKHZvaWQgMD09PWUpcmV0dXJuW107QXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKTtmb3IoY29uc3QgcyBvZiBlKXtsZXQgZSxpO2lzRmluaXRlKHMpP2U9aT1OdW1iZXIocyk6KGU9K3MubWluLGk9K3MubWF4KSwoZTwwfHxpc05hTihlKSkmJihlPTApLGlzTmFOKGkpJiYoaT0xLzApLGU8PWkmJmk+MCYmdC5wdXNoKHttaW46ZSxtYXg6aX0pfXJldHVybiB0LnNvcnQoKChlLHQpPT5lLm1pbi10Lm1pbnx8ZS5tYXgtdC5tYXgpKSx0fWZ1bmN0aW9uIHdlKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9ZS5sZW5ndGg7cy0tOyl7aWYoZVtzXS5taW4hPT10W3NdLm1pbilyZXR1cm4hMTtpZihlW3NdLm1heCE9PXRbc10ubWF4KXJldHVybiExfXJldHVybiEwfXZhciBQZT1zKDY1NzI0NSk7Y29uc3QgVGU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgibm9fbWluX2NoYXJ0X3dpZHRoIik7dmFyIENlOyFmdW5jdGlvbihlKXtlW2UuTWluQ2hhcnRIZWlnaHQ9MzAwXT0iTWluQ2hhcnRIZWlnaHQiLGVbZS5NaW5DaGFydFdpZHRoPTMwMF09Ik1pbkNoYXJ0V2lkdGgiLGVbZS5EZWZhdWx0T2Zmc2V0PTRdPSJEZWZhdWx0T2Zmc2V0IixlW2UuVGhpbk9mZnNldD0xXT0iVGhpbk9mZnNldCIsZVtlLlRvcFRvb2xiYXJNYXJnaW49MF09IlRvcFRvb2xiYXJNYXJnaW4ifShDZXx8KENlPXt9KSk7Y29uc3QgRWU9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiYnlwYXNzX2NoYXJ0X2hlaWdodF9jaGVjayIpO2Z1bmN0aW9uIEllKGUpe2NvbnN0IHQ9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2lkZV90b29sYmFyX2luX2Z1bGxzY3JlZW5fbW9kZSIpLHM9KDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2luX2Z1bGxzY3JlZW5fbW9kZSIpO3JldHVybiJjZW50ZXIiPT09ZXx8ImxlZnQiPT09ZSYmdHx8InRvcCI9PT1lJiZzfHwiYW5hbHlzaXMiPT09ZX0KY29uc3QgTGU9Wy4uLnoobnVsbCwzKV07TGUuc3BsaWNlKDcsMCxCLnRpbWVGcmFtZXNbIjI0bSJdKTt2YXIgTWU9cyg2MzI0NDQpLERlPXMoMjI3ODI1KSx4ZT1zKDYzOTExMyk7Y29uc3QgUmU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07dmFyIGtlPXMoNDMzNzM1KSxWZT1zKDQwMDE4MSk7dmFyIEFlPXMoODkwODM1KSxGZT1zKDk1MjkwMCksQmU9cyg3ODQ1MTMpO2NsYXNzIE9le2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdmlld3M9bmV3IE1hcCx0aGlzLl92aWV3UmVxdWVzdElkPW51bGwsdGhpcy5fZ2V0Q29udGV4dD1lLHRoaXMuX29uVmlld0NoYW5nZWQ9dH1oYXNWaWV3KGUpe3JldHVybiB0aGlzLl92aWV3cy5oYXMoZSl9cmVnaXN0ZXJWaWV3KGUsdCl7dGhpcy5fdmlld3Muc2V0KGUsdCl9c2hvd1ZpZXcoZSx0KXtpZihudWxsPT09ZSlyZXR1cm4gdm9pZCB0aGlzLl9vblZpZXdDaGFuZ2VkKG51bGwpOygwLHIuYXNzZXJ0KSh0aGlzLmhhc1ZpZXcoZSksYEFuYWx5c2lzIHZpZXcgd2l0aCBhIG5hbWUgIiR7ZX0iIGlzIG5vdCByZWdpc3RlcmVkIWApO2NvbnN0IHM9dGhpcy5fdmlld1JlcXVlc3RJZD0oMCxuZS5yYW5kb21IYXNoKSgpOygwLHIuZW5zdXJlKSh0aGlzLl92aWV3cy5nZXQoZSkpKHQpLnRoZW4oKHQ9PntpZih0aGlzLl92aWV3UmVxdWVzdElkIT09cylyZXR1cm47Y29uc3QgaT10aGlzLl9nZXRDb250ZXh0KGUpO3Quc2V0Q29udGV4dChpKSx0aGlzLl9vblZpZXdDaGFuZ2VkKGUpLHQuc2V0Q2xvc2VBY3Rpb24oKCgpPT57dGhpcy5fb25WaWV3Q2hhbmdlZChudWxsKX0pKSx0LnNob3coKX0pKX19dmFyIE5lPXMoMjk2MjYyKTtjbGFzcyBXZSBleHRlbmRzIE5lLkRpYWxvZ1JlbmRlcmVye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kaWFsb2c9bnVsbCx0aGlzLl9yZXF1ZXN0SWQ9bnVsbCx0aGlzLl9zdWJzY3JpYmU9ZT0+e3RoaXMuX3NldFZpc2liaWxpdHkoZSl9fWFzeW5jIHNob3coZSl7Y29uc3QgdD10aGlzLl9yZXF1ZXN0SWQ9KDAsbmUucmFuZG9tSGFzaCkoKSxzPWF3YWl0IHRoaXMucHJlcGFyZShlKTt0PT09dGhpcy5fcmVxdWVzdElkJiZzLnNob3coKX1oaWRlKCl7dGhpcy5fZGlhbG9nPy5oaWRlKCl9cHJlcGFyZShlKXtyZXR1cm4gdGhpcy5fbG9hZChlKX1hc3luYyBfbG9hZChlKXtjb25zdCB0PWF3YWl0IHRoaXMuX3JlbmRlcmVyKCk7cmV0dXJuIHRoaXMuX2RpYWxvZz8uaGlkZSgpLHRoaXMuX2RpYWxvZz8udmlzaWJsZSgpLnVuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nPW5ldyB0KGUpLHRoaXMuX2RpYWxvZy52aXNpYmxlKCkuc3Vic2NyaWJlKHRoaXMuX3N1YnNjcmliZSksdGhpcy5fZGlhbG9nfX1sZXQgVWU7Y2xhc3MgemUgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gVWU/Pz1uZXcgemUsVWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7Q2hhcnRUYWJsZVZpZXdEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDIwMzM3KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoOTM0MTYpLHMuZSg2NTcpLHMuZSg2MDcwKSxzLmUoNzY2NSkscy5lKDUyOTIwKSxzLmUoNjI2MDApLHMuZSg3NTIxNykscy5lKDk4Njk2KSxzLmUoNzQ2MzYpLHMuZSg3MTk5MSkscy5lKDQ5OTk3KSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoMzY5MzgpLHMuZSg2NzkzMCkscy5lKDQ2NjUwKV0pLnRoZW4ocy5iaW5kKHMsNDA2MTgzKSk7cmV0dXJuIGV9fXZhciBIZT1zKDMwODM4OCksamU9cyg3MzEwOTEpLCRlPXMoMzUzODEpO2xldCBxZSxLZSxZZSxHZSxKZSxYZSxRZTtjbGFzcyBaZSBleHRlbmRzIFdle2FzeW5jIHByZXBhcmUoZSl7Y29uc3QgdD1lPy5zeW1ib2w/ZS5zeW1ib2w6cC5saW5raW5nLnByb1N5bWJvbC52YWx1ZSgpO2lmKGU/LnNuYXBzaG90KXtjb25zdHtzbmFwc2hvdDpzfT1lO3JldHVybiBzdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0LC4uLnMsZXhjaGFuZ2U6cy5saXN0ZWRfZXhjaGFuZ2V9KX17Y29uc3QgaT1hc3luYygpPT57Y29uc3R7c25hcHNob3RlcjplfT1hd2FpdCBzLmUoNzExODUpLnRoZW4ocy5iaW5kKHMsMzIwNTUpKTtyZXR1cm4gZSgpLmdldFNuYXBzaG90KHQsbmV3IFNldCgkZS5URUNITklDQUxTX1FTX0ZJRUxEUykpfSxbLG5dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLl9yZW5kZXJlcigpLGkoKV0pO3JldHVybiJlcnJvciI9PT1uLnN0YXR1cz9zdXBlci5wcmVwYXJlKHsuLi5lLHN5bWJvbDp0fSk6c3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dCwuLi5uLnZhbHVlcyxleGNoYW5nZTpuLnZhbHVlcy5saXN0ZWRfZXhjaGFuZ2V9KX19YXN5bmMgY2FuQmVTaG93bihlKXtjb25zdCB0PWV8fHAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtpZighdClyZXR1cm4hMTtjb25zdCBpPW5ldyBTZXQoWy4uLiRlLlRFQ0hOSUNBTFNfUVNfRklFTERTLCJkZXNjcmlwdGlvbiJdKSxuPWF3YWl0KGFzeW5jKCk9Pntjb25zdHtzbmFwc2hvdGVyOmV9PWF3YWl0IHMuZSg3NDM0MSkudGhlbihzLmJpbmQocywzMjA1NSkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7aWYoImVycm9yIj09PW4uc3RhdHVzKXJldHVybiExO2NvbnN0e3ZhbHVlczp7dHlwZTpyLGxpc3RlZF9leGNoYW5nZTpvLGRlc2NyaXB0aW9uOmF9fT1uO2lmKCFqZS5TWU1CT0xfVFlQRV9CTEFDS19MSVNULmhhcyhyKSl0cnl7Y29uc3QgZT1hd2FpdCgwLApIZS5nZXRTeW1ib2xEYXRhKShudWxsLHQsWyJSZWNvbW1lbmQuQWxsIl0pO3JldHVybiBCb29sZWFuKGUmJjAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJmEmJm8mJnIpfWNhdGNoKGUpe3JldHVybiExfXJldHVybiExfXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBxZXx8KHFlPW5ldyBaZSkscWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7VGVjaG5pY2Fsc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDAxNTcpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoOTE4NTUpLHMuZSg2MDcwKSxzLmUoNTgwNTEpLHMuZSgzNzc2Nykscy5lKDI2MTAwKSxzLmUoOWUzKSxzLmUoMzY5ODYpLHMuZSgyNzA4NSkscy5lKDg2MDg3KSxzLmUoMzIzODcpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzQ5NjIpXSkudGhlbihzLmJpbmQocywxOTUwNTApKTtyZXR1cm4gZX19Y2xhc3MgZXQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gS2V8fChLZT1uZXcgZXQpLEtlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZpbmFuY2lhbHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU0ODYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDM3NzQ2KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDEwMzg1KSxzLmUoNTIwNjUpLHMuZSg0NzYzMikscy5lKDY2MDUpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoODg2NDEpLHMuZSg0MDg2Nykscy5lKDUwODAwKSxzLmUoNzY2NSkscy5lKDI3MzM3KSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDc2MzI5KSxzLmUoMzkxNikscy5lKDY4OTY0KSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoMjU1NjIpLHMuZSgyOTM0OCkscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSgyODkzNikscy5lKDE4Njc0KSxzLmUoMTI1MjcpLHMuZSgyNTExKSxzLmUoODA3NjEpLHMuZSgxNTM4Mykscy5lKDQwOTAyKSxzLmUoMTI0MTIpLHMuZSgzMjM4Nykscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzkzNSkscy5lKDM5NjA2KSxzLmUoMjg4NjQpLHMuZSgzNzI1OSkscy5lKDE5MjYxKSxzLmUoMjU0ODIpLHMuZSg3NjI3NCldKS50aGVuKHMuYmluZChzLDI4ODUyMikpO3JldHVybiBlfX1jbGFzcyB0dCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBZZXx8KFllPW5ldyB0dCksWWV9YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U2Vhc29uYWxzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg2MTk1MCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSgzNTc5NCkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NjYwKSxzLmUoMjE1ODEpLHMuZSgxODQ0Mikscy5lKDU2MDMpLHMuZSgxNDY0MCkscy5lKDYxNDEzKSxzLmUoMTYzOTkpLHMuZSg0NTI0Mikscy5lKDU5ODMwKSxzLmUoODQyMjQpLHMuZSg0MzkxOSkscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDcwOTU3KSxzLmUoMzg0NDkpXSkudGhlbihzLmJpbmQocyw5NDc3OTMpKTtyZXR1cm4gZX19Y2xhc3Mgc3QgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gR2V8fChHZT1uZXcgc3QpLEdlfWFzeW5jIF9yZW5kZXJlcigpewpjb25zdHtBbmFseXNpc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ5MjYpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDU2MjUyKSxzLmUoODM0ODgpLHMuZSgxOTU5NSkscy5lKDE5Nzg3KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg3MTQxNCkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoOTE4NTUpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDE5NTEzKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDIwMjcxKSxzLmUoNDcwOTIpLHMuZSg1NjAzKSxzLmUoNzYzMjkpLHMuZSgzOTE2KSxzLmUoMjEyNDUpLHMuZSgyNTU2Mikscy5lKDgwNzgyKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDI5MzQ4KSxzLmUoNzM4Nykscy5lKDg4Mzg1KSxzLmUoMTc4NjUpLHMuZSg0NzAyMSkscy5lKDYzMDMzKSxzLmUoMTg2NzQpLHMuZSgxMjUyNykscy5lKDYzNzIzKSxzLmUoMTQ2OTcpLHMuZSg1MDc0Mykscy5lKDcwMjU1KSxzLmUoODE4MTgpLHMuZSg0MDkwMikscy5lKDc4MTgyKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDQ0NzgwKSxzLmUoMjM3NDMpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoNzc1NzgpLHMuZSg4MzE1NCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgzNzEwNikscy5lKDI4ODY0KSxzLmUoMTkyNjEpLHMuZSg3Njc1NSkscy5lKDk5OTM2KSxzLmUoMTUxNjApXSkudGhlbihzLmJpbmQocyw5MTE3MykpO3JldHVybiBlfX1jbGFzcyBpdCBleHRlbmRzIFdle2FzeW5jIGNhbkJlU2hvd24oZSl7Y29uc3QgdD1lfHxwLmxpbmtpbmcucHJvU3ltYm9sLnZhbHVlKCksaT1uZXcgU2V0KFsicmVjb21tZW5kYXRpb25fbWFyayIsInByb19uYW1lIl0pLG49YXdhaXQoYXN5bmMoKT0+e2NvbnN0e3NuYXBzaG90ZXI6ZX09YXdhaXQgcy5lKDY1NjQ2KS50aGVuKHMuYmluZChzLDgwNDI4OCkpO3JldHVybiBlKCkuZ2V0U25hcHNob3QodCxpKX0pKCk7cmV0dXJuISgiZXJyb3IiPT09bi5zdGF0dXN8fCFuLnZhbHVlcy5yZWNvbW1lbmRhdGlvbl9tYXJrKX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gSmV8fChKZT1uZXcgaXQpLEplfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0ZvcmVjYXN0RGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg5ODM4Mykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDk4MDg0KSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSg0MzMyNSkscy5lKDE0NjI1KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSgzMjE3Nikscy5lKDYwNzApLHMuZSg5NzQ0KSxzLmUoMzc3NjcpLHMuZSgxOTUxMykscy5lKDMwMzczKSxzLmUoMTg0NDIpLHMuZSg0NzA5Mikscy5lKDM5MTYpLHMuZSgyMTI0NSkscy5lKDI1NTYyKSxzLmUoMjYxMDApLHMuZSg5ZTMpLHMuZSgxNzg2NSkscy5lKDE4Njc0KSxzLmUoNzM5NjApLHMuZSg4MDc2MSkscy5lKDg3NzIxKSxzLmUoMzIzODcpLHMuZSg0NDc4MCkscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDgzOTM1KSxzLmUoMzk2MDYpLHMuZSgyODg2NCkscy5lKDI1NDgyKSxzLmUoNzQ1MjMpXSkudGhlbihzLmJpbmQocyw3NTMxMjgpKTtyZXR1cm4gZX19Y2xhc3MgbnQgZXh0ZW5kcyBXZXtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gWGV8fChYZT1uZXcgbnQpLFhlfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Rlcml2YXRpdmVzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgzMzE3Nikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDEyMzg1KSxzLmUoOTQ5NDgpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMjQ1ODEpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDMyNzQ4KSxzLmUoMTY3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoMjEyNDUpLHMuZSg1Njg5KSxzLmUoODA3ODIpLHMuZSg1NzI1NCkscy5lKDczODcpLHMuZSgxMjUyNykscy5lKDUwNzQzKSxzLmUoOTYzNTIpLHMuZSgxNTM4Mykscy5lKDU4MDQzKSxzLmUoMzIzODcpLHMuZSg3ODMxMikscy5lKDY2MjM1KSxzLmUoODMxNTQpLHMuZSg3Njc1NSkscy5lKDk0ODIyKV0pLnRoZW4ocy5iaW5kKHMsNzE4NzY0KSk7cmV0dXJuIGV9fWNsYXNzIHJ0IGV4dGVuZHMgV2V7c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIFFlfHwoUWU9bmV3IHJ0KSxRZX1hc3luYyBfcmVuZGVyZXIoKXsKY29uc3R7T3B0aW9uc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTQ1KSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDMyODE2KSxzLmUoNTE4NCkscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDY3Nzk5KSxzLmUoMTE0NjEpLHMuZSgyNDU4MSkscy5lKDk2NTg3KSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDg2NDIzKSxzLmUoMzc1MTMpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDQwODM1KSxzLmUoOTgwODQpLHMuZSg5MzQyMSkscy5lKDc4NjUyKSxzLmUoNDk1ODgpLHMuZSg0NzYzMikscy5lKDc0MzgxKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDQzMzI1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDY1Nykscy5lKDU3MzAwKSxzLmUoMTY3Nikscy5lKDkxODU1KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDgzMDQxKSxzLmUoNTE2ODIpLHMuZSgyMDIpLHMuZSg5NzY2MCkscy5lKDMzMTIwKSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDYwODIpLHMuZSgxODQ0Mikscy5lKDQ3MDkyKSxzLmUoMjc3MzYpLHMuZSg5MDMzMCkscy5lKDI1Njk4KSxzLmUoMjMzMSkscy5lKDY4NTc5KSxzLmUoNDc1NTEpLHMuZSg0NzU3OSkscy5lKDg3NjczKSxzLmUoMjAwODUpLHMuZSg0NzQ1Nykscy5lKDMyMzg3KSxzLmUoNzgzMTIpLHMuZSg0NDc4MCkscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDcyMTEpLHMuZSg1NzA5Mykscy5lKDY3ODUzKSxzLmUoNDg2NTIpLHMuZSgyODQ0Mikscy5lKDM0OTU0KV0pLnRoZW4ocy5iaW5kKHMsNTI4NTY2KSk7cmV0dXJuIGV9fXZhciBvdD1zKDgzOTQyNik7Y2xhc3MgYXQgZXh0ZW5kcyBXZXtwcmVwYXJlKGUpe2NvbnN0IHQ9ZT8uc3ltYm9sP2Uuc3ltYm9sOnAubGlua2luZy5wcm9TeW1ib2wudmFsdWUoKTtyZXR1cm4gc3VwZXIucHJlcGFyZSh7Li4uZSxzeW1ib2w6dH0pfWFzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0Vjb25vbXlJbmRpY2F0b3JEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDEyNjYzKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgyNzUxNykscy5lKDM3NTEzKSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDcwODE1KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoMTU1MjYpLHMuZSg5MzQxNikscy5lKDY1Nykscy5lKDUyNjgwKSxzLmUoNjA3MCkscy5lKDk0MDU0KSxzLmUoMzk3ODYpLHMuZSg1NTMzNikscy5lKDE4NDQyKSxzLmUoMTQ2NDApLHMuZSg4MDc4Mikscy5lKDY5ODA5KSxzLmUoNDUyNDIpLHMuZSg4MTgxOCkscy5lKDk2MzUyKSxzLmUoMjU4OTUpLHMuZSg4NDIyNCkscy5lKDI0NjAzKSxzLmUoMjc2OTYpLHMuZSgzMjM4Nykscy5lKDc4MzEyKSxzLmUoNDQ3ODApLHMuZSgyMzc0Mykscy5lKDY2MjM1KSxzLmUoNzIxMSkscy5lKDcwOTU3KSxzLmUoMTAzMjIpLHMuZSgxMTMwNCldKS50aGVuKHMuYmluZChzLDM0NTY4MCkpO3JldHVybiBlfX1jb25zdCBsdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBhdCkpO2NsYXNzIHV0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7U3RvY2tCb25kc0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMTE1MjYpLHMuZSg0MjUzNSkscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoNzExOTApLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoNjQ4OSldKS50aGVuKHMuYmluZChzLDc2MDgzOSkpO3JldHVybiBlfX1jb25zdCBjdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB1dCkpO2NsYXNzIGR0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0RvY3VtZW50c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNjk4MTIpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1MTg0KSxzLmUoODM0ODgpLHMuZSg2Nzc5OSkscy5lKDExNDYxKSxzLmUoMjQ1ODEpLHMuZSg5NjU4Nykscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSgxNTUyNikscy5lKDcxNDE0KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoMTk1MTMpLHMuZSg3MTUyOCkscy5lKDU1MzM2KSxzLmUoOTIzOTMpLHMuZSgyNjU5Mikscy5lKDYzMTAwKSxzLmUoMzIzODcpLHMuZSgyMzc0Mykscy5lKDQyMjg4KSxzLmUoNjYyMzUpLHMuZSg3NzU3OCkscy5lKDg5NDYpLHMuZSg1ODQxOCldKS50aGVuKHMuYmluZChzLDUyNjY4MikpO3JldHVybiBlfX1jb25zdCBodD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyBkdCkpO2NsYXNzIHB0IGV4dGVuZHMgV2V7YXN5bmMgX3JlbmRlcmVyKCl7Y29uc3R7TmV3c0RpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNDY4MzEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSgyNzUxNykscy5lKDk1MDQpLHMuZSg3MjY2Nikscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoMzI3NDgpLHMuZSg5MTg1NSkscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDk3NDQpLHMuZSg1ODA1MSkscy5lKDQ1MzY4KSxzLmUoMjAyNzEpLHMuZSg1MTg4MCkscy5lKDE4NDcyKSxzLmUoMjU4MDkpLHMuZSgxNzY5Mykscy5lKDgyMjcxKSxzLmUoMjI0NjQpLHMuZSg3NjY2NCkscy5lKDQ5MjkpLHMuZSg3MTM1MCkscy5lKDMyMzg3KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDk3NjQ3KSxzLmUoMjE0MjYpLHMuZSgxNTM5NCkscy5lKDQ3NTc3KV0pLnRoZW4ocy5iaW5kKHMsOTgyNDc0KSk7cmV0dXJuIGV9fWNvbnN0IG10PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IHB0KSk7Y2xhc3MgX3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtFdGZzRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSgxMTUyNikscy5lKDIxMDgwKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgzNzc0Nikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMzYyMjIpLHMuZSgyOTUzNikscy5lKDk0MjMyKSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDgzNDg4KSxzLmUoMTk1OTUpLHMuZSgxOTc4Nykscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg4NTc5KSxzLmUoOTUwNCkscy5lKDE3MDg3KSxzLmUoNzI2NjYpLHMuZSg5ODA4NCkscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg1MDIyMSkscy5lKDMzNTE1KSxzLmUoMTQ2MjUpLHMuZSg2NTcpLHMuZSg1MjY4MCkscy5lKDkxODU1KSxzLmUoMTIwNTEpLHMuZSgzMjE3Nikscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDU4MDUxKSxzLmUoNzE0ODIpLHMuZSg1MjA5NSkscy5lKDQ0MDMxKSxzLmUoMjE1ODEpLHMuZSg4OTA0NCkscy5lKDQzNzkyKSxzLmUoNzg0MDQpLHMuZSg1NjAzKSxzLmUoNjE0MTMpLHMuZSg1NzI1NCkscy5lKDE2Mzk5KSxzLmUoMzA3ODkpLHMuZSg3MDI4MCkscy5lKDMyMzg3KSxzLmUoMzA2OTkpLHMuZSg0MjI4OCkscy5lKDY2MjM1KSxzLmUoMTQ4ODkpLHMuZSg0MjIxMikscy5lKDY4NzI1KSxzLmUoODAyMDcpLHMuZSg4MzE1NCkscy5lKDYxNDk1KSxzLmUoMTk3NzYpLHMuZSg4MjA4KV0pLnRoZW4ocy5iaW5kKHMsNjY4NDgwKSk7cmV0dXJuIGV9fWNvbnN0IGd0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IF90KSk7Y2xhc3MgeXQgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtGb3J3YXJkQ3VydmVEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDE0OTkxKSxzLmUoMjkyOTYpLHMuZSg2MDA2Mikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMjM4NSkscy5lKDk0OTQ4KSxzLmUoMjk1MzYpLHMuZSgzMjgxNikscy5lKDU2MjUyKSxzLmUoMTEyMTgpLHMuZSgyNzUxNykscy5lKDk4MDg0KSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNDM2NDQpLHMuZSg2MDcwKSxzLmUoMzAzNzMpLHMuZSgyMTU4MSkscy5lKDU2MDMpLHMuZSg1Njg5KSxzLmUoNjE0MTMpLHMuZSg5OTk0NCkscy5lKDUzMjI4KSxzLmUoMzIzODcpLHMuZSg2NjIzNSkscy5lKDgzMTU0KSxzLmUoODUxMDgpLHMuZSg2ODUxOSldKS50aGVuKHMuYmluZChzLDgzMjM0NSkpO3JldHVybiBlfX1jb25zdCBmdD0oMCxvdC5kZWZhdWx0KSgoKCk9Pm5ldyB5dCkpO2xldCB2dDtjbGFzcyBidCBleHRlbmRzIFdle3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB2dHx8KHZ0PW5ldyBidCksdnR9YXN5bmMgX3JlbmRlcmVyKCl7CmNvbnN0e0JvbmRZaWVsZEN1cnZlRGlhbG9nUmVuZGVyZXI6ZX09YXdhaXQgUHJvbWlzZS5hbGwoW3MuZSg1NDkwNCkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg5NDk0OCkscy5lKDI5NTM2KSxzLmUoMzI4MTYpLHMuZSg1NjI1Mikscy5lKDExMjE4KSxzLmUoMjc1MTcpLHMuZSg5ODA4NCkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDY1Nykscy5lKDQzNjQ0KSxzLmUoNjA3MCkscy5lKDMwMzczKSxzLmUoMjE1ODEpLHMuZSg1NjAzKSxzLmUoNTY4OSkscy5lKDYxNDEzKSxzLmUoOTk5NDQpLHMuZSg2OTE4NSkscy5lKDMyMzg3KSxzLmUoNjYyMzUpLHMuZSg4MzE1NCkscy5lKDg1MTA4KSxzLmUoMzcyMTMpXSkudGhlbihzLmJpbmQocyw0OTU3MTYpKTtyZXR1cm4gZX19Y2xhc3MgU3QgZXh0ZW5kcyBXZXthc3luYyBfcmVuZGVyZXIoKXtjb25zdHtDb250cmFjdHNEaWFsb2dSZW5kZXJlcjplfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDExNTI2KSxzLmUoMzkzNykscy5lKDg0MzA2KSxzLmUoMjkyOTYpLHMuZSg1MjM5Nikscy5lKDYwMDYyKSxzLmUoNDY5MDcpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDM2MjIyKSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDMyODE2KSxzLmUoNTYyNTIpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoMTk3ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODU3OSkscy5lKDk1MDQpLHMuZSgxNzA4Nykscy5lKDcyNjY2KSxzLmUoOTgwODQpLHMuZSg0OTU4OCkscy5lKDQ3NjMyKSxzLmUoNTAyMjEpLHMuZSgzMzUxNSkscy5lKDE0NjI1KSxzLmUoNjU3KSxzLmUoNTI2ODApLHMuZSg5MTg1NSkscy5lKDEyMDUxKSxzLmUoMzIxNzYpLHMuZSg0MzY0NCkscy5lKDYwNzApLHMuZSg1ODA1MSkscy5lKDcxNDgyKSxzLmUoNTIwOTUpLHMuZSg0NDAzMSkscy5lKDIxNTgxKSxzLmUoODkwNDQpLHMuZSg0Mzc5Mikscy5lKDc4NDA0KSxzLmUoNTYwMykscy5lKDYxNDEzKSxzLmUoNTcyNTQpLHMuZSgxNjM5OSkscy5lKDMwNzg5KSxzLmUoODc0OTgpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDE0ODg5KSxzLmUoNDIyMTIpLHMuZSg2ODcyNSkscy5lKDgwMjA3KSxzLmUoODMxNTQpLHMuZSg2MTQ5NSkscy5lKDE5Nzc2KSxzLmUoMzQ1NTUpXSkudGhlbihzLmJpbmQocyw3MDYwNTMpKTtyZXR1cm4gZX19Y29uc3Qgd3Q9KDAsb3QuZGVmYXVsdCkoKCgpPT5uZXcgU3QpKTtjbGFzcyBQdCBleHRlbmRzIFdle2FzeW5jIF9yZW5kZXJlcigpe2NvbnN0e0NvbW11bml0eURpYWxvZ1JlbmRlcmVyOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoMzcwOTEpLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTIzODUpLHMuZSg4MTA3Mikscy5lKDk0OTQ4KSxzLmUoMjM2MjQpLHMuZSgzNjIyMikscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSgzMjgxNikscy5lKDUxODQpLHMuZSg4MzQ4OCkscy5lKDE5NTk1KSxzLmUoNjc3OTkpLHMuZSgxMTQ2MSkscy5lKDI0NTgxKSxzLmUoOTY1ODcpLHMuZSgxMTIxOCkscy5lKDI3NTE3KSxzLmUoODY0MjMpLHMuZSgzNzUxMykscy5lKDk1MDQpLHMuZSg0MDgzNSkscy5lKDk4MDg0KSxzLmUoOTM0MjEpLHMuZSg3ODY1Mikscy5lKDQ5NTg4KSxzLmUoNDc2MzIpLHMuZSg3NDM4MSkscy5lKDUwMjIxKSxzLmUoMzM1MTUpLHMuZSgxNDYyNSkscy5lKDE1NTI2KSxzLmUoNzE0MTQpLHMuZSg2NTcpLHMuZSg1NzMwMCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSgzMjc0OCkscy5lKDE2NzYpLHMuZSg2MDcwKSxzLmUoOTc0NCkscy5lKDgzMDQxKSxzLmUoNzE0ODIpLHMuZSgzNzc2Nykscy5lKDE5NTEzKSxzLmUoOTc2NjApLHMuZSg3MTUyOCkscy5lKDk0MDU0KSxzLmUoNDUzNjgpLHMuZSg0NDc3KSxzLmUoNTUzMzYpLHMuZSg3NjY1KSxzLmUoOTIzOTMpLHMuZSgxODQ0Mikscy5lKDkxNjc4KSxzLmUoNjk3NDcpLHMuZSgzODg2OCkscy5lKDE2NDIxKSxzLmUoMTQ2NDApLHMuZSg0MDQyKSxzLmUoMjIxNDQpLHMuZSg4MzUyOSkscy5lKDU5ODMwKSxzLmUoNTk0MzcpLHMuZSg3MDc1Nikscy5lKDc0NTYpLHMuZSg2Mjg5Mikscy5lKDI2NTkyKSxzLmUoNzQyMzMpLHMuZSg3MTk5MSkscy5lKDEyNjY2KSxzLmUoNjg2ODYpLHMuZSgzMjM4Nykscy5lKDgxODY4KSxzLmUoNDMyMykscy5lKDIzNzQzKSxzLmUoNDIyODgpLHMuZSg2NjIzNSkscy5lKDc3NTc4KSxzLmUoODk0Nikscy5lKDMwNDIxKSxzLmUoMjk4NDQpLHMuZSg5NjA3OCkscy5lKDk0MDg1KV0pLnRoZW4ocy5iaW5kKHMsNDU0OTM2KSk7cmV0dXJuIGV9fWNvbnN0IFR0PSgwLG90LmRlZmF1bHQpKCgoKT0+bmV3IFB0KSk7dmFyIEN0PXMoODczNzk0KSxFdD1zKDQzMzUzNCk7cyg2NjgyOTYpO2NvbnN0IEl0PXdpbmRvdy5pbml0RGF0YSxMdD13aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsTXQ9ZnVuY3Rpb24oZSx0PVtdLHMpe3JldHVybiBmdW5jdGlvbihlLHQscyxpPVtdLG4pe2NvbnN0IHI9cy5zbGljZSgxKSxvPWRlY29kZVVSSUNvbXBvbmVudChyKTtsZXQgYT17fTt0cnl7IiIhPT1vJiYoYT1KU09OLnBhcnNlKG8pLHZvaWQgMCE9PW4mJm4oZSxhKSxPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChlPT57KFJlW2VdfHxpLmluY2x1ZGVzKGUpKSYmZGVsZXRlIGFbZV19KSkpfWNhdGNoKGUpe2E9e30sY29uc29sZS53YXJuKCJIYXNoIHBhcmFtcyBwYXJzaW5nIGVycm9yISBIYXNoIHBhcmFtcyBpZ25vcmVkLiIpfWNvbnN0IGw9dC5zbGljZSgxKSx1PXQuaW5jbHVkZXMoIiUiKT9kZWNvZGVVUklDb21wb25lbnQobCk6dCxjPW5ldyBVUkxTZWFyY2hQYXJhbXModSk7bGV0IGQ9e307dHJ5e2MuZm9yRWFjaCgoKGUsdCk9PntpLmluY2x1ZGVzKHQpfHwoZFt0XT1lKX0pKSx2b2lkIDAhPT1uJiZuKGUsZCl9Y2F0Y2goZSl7ZD17fSwKY29uc29sZS53YXJuKCJTZWFyY2ggcXVlcnkgcGFyYW1zIHBhcnNpbmcgZXJyb3IhIFNlYXJjaCBxdWVyeSBwYXJhbXMgaWdub3JlZC4iKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxlLGEsZCl9KGUsbG9jYXRpb24uc2VhcmNoLGxvY2F0aW9uLmhhc2gsdCxzKX0oTHQpO3RyeXshYXN5bmMgZnVuY3Rpb24oZSl7TWF0aC5yYW5kb20oKT4uMDA1fHwoYXdhaXQoMCxWZS5nZXRUcmFja2VyKSgpKT8udHJhY2tTZWxmRGVzYygiaWdsdTpjb20udHJhZGluZ3ZpZXcvd2lkZ2V0X2xvYWRfbWV0YV9pbmZvL2pzb25zY2hlbWEvMS0wLTAiLGUpfSh7d2lkZ2V0X2lkOiJhZHZhbmNlZC1jaGFydCIsc3ltYm9sczpKU09OLnN0cmluZ2lmeShbTXQuc3ltYm9sXSksY3VzdG9tZXI6TXQuY3VzdG9tZXJ9KX1jYXRjaHt9Y29uc3QgRHQ9dm9pZCAwIT09TXQuZXh0ZW5kZWRfaG91cnM/YXMoTXQuZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOnZvaWQgMCE9PUx0LmRlZl9leHRlbmRlZF9ob3Vycz9hcyhMdC5kZWZfZXh0ZW5kZWRfaG91cnMpPyJleHRlbmRlZCI6InJlZ3VsYXIiOkx0LmRlZl9zZXNzaW9uX2lkO2NvbnN0IHh0PUx0LmN1c3RvbWVyLFJ0PUx0LmN1c3RvbWVyUmVhZGFibGVOYW1lLGt0PU10LnJhbmdlfHxMdC5kZWZfcmFuZ2UsVnQ9YXMoTXQud2l0aGRhdGVyYW5nZXM/P0x0LmRlZl93aXRoZGF0ZXJhbmdlcyksQXQ9YXMoTXQuc2F2ZV9pbWFnZT8/SXQuZGVmX3NhdmVfaW1hZ2UsITApO2xldCBGdDsodm9pZCAwPT09TXQuYWxsb3dfc3ltYm9sX2NoYW5nZT9hcyhMdC5kZWZfaGlkZV9zeW1ib2xfZWRpdCk6IWFzKE10LmFsbG93X3N5bWJvbF9jaGFuZ2UpKSYmKCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zeW1ib2xfc2VhcmNoIiwhMSksKDAsby5zZXRFbmFibGVkKSgiZGlzYWJsZV9sZWdlbmRfaW5wbGFjZV9zeW1ib2xfY2hhbmdlIiwhMCksKDAsby5zZXRFbmFibGVkKSgic3ltYm9sX3NlYXJjaF9ob3Rfa2V5IiwhMSkpLCgwLG8uc2V0RW5hYmxlZCkoImhlYWRlcl9zY3JlZW5zaG90IixCb29sZWFuKEF0KSksImJvdmVzcGEiPT09eHQmJigoMCxvLmRpc2FibGUpKCJoZWFkZXJfc2V0dGluZ3MiKSxGdD1be3N5bWJvbDoiSUJPViIsdGl0bGU6IkJvdmVzcGEgSW5kZXgifSx7c3ltYm9sOiJJQlhYIix0aXRsZToiQnJhemlsIDEwMCBJbmRleCJ9LHtzeW1ib2w6IklCWEwiLHRpdGxlOiJCcmF6aWwgNTAgSW5kZXgifSx7c3ltYm9sOiJJQlJBIix0aXRsZToiQnJhemlsIEJyb2FkLUJhc2VkIEluZGV4In0se3N5bWJvbDoiSUdDWCIsdGl0bGU6IlNwZWNpYWwgQ29ycG9yYXRlIEdvdmVybmFuY2UgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJVEFHIix0aXRsZToiU3BlY2lhbCBUYWctQWxvbmcgU3RvY2sgSW5kZXgifSx7c3ltYm9sOiJJR05NIix0aXRsZToiTm92byBNZXJjYWRvIENvcnBvcmF0ZSBHb3Zlcm5hbmNlIEVxdWl0eSBJbmRleCJ9XSksd2luZG93LnBybz1uZXcgYy5Qcm8od2luZG93LnNob3BDb25mKTtsZXQgQnQ9TXQuc3ltYm9sfHxMdC5kZWZfc3ltYm9sfHwoMCxoLmdldERlZmF1bHRTeW1ib2wpKCk7ImNtZSI9PT1NdC5zeW1ib2xvZ3kmJihCdD0oZT0+e2NvbnN0IHQ9bmV3KF8oKS5TeW1ib2xUb2tlbikoZSk7aWYoIXQucm9vdCgpKXJldHVybiBlO2NvbnN0IHM9ZC5DTUVUb1RWU3ltYm9sb2d5QWRhcHRlci5jb252ZXJ0U3ltYm9sRGF0YVRvVFYodC5yb290KCksdC5leGNoYW5nZSgpLE10LnZlbnVlPz8iIik7cmV0dXJuIm9rIiE9PXMuc3RhdHVzP2U6KHMuZGF0YS5zeW1ib2wmJnQucm9vdChzLmRhdGEuc3ltYm9sKSxzLmRhdGEuZXhjaGFuZ2UmJnQuZXhjaGFuZ2Uocy5kYXRhLmV4Y2hhbmdlKSx0LnRvU3RyaW5nKCkpfSkoQnQpKTtjb25zdCBPdD15KCkocGFyZW50KSxOdD1bXTtsZXQgV3QsVXQ9W107aWYoTXQud2F0Y2hsaXN0JiYoVXQ9KEFycmF5LmlzQXJyYXkoTXQud2F0Y2hsaXN0KT9NdC53YXRjaGxpc3Q6TXQud2F0Y2hsaXN0LnNwbGl0KC9ceDFmLykpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoQm9vbGVhbikpLFV0Lmxlbmd0aHx8TXQuZWRpdGFibGV3YXRjaGxpc3Qpe2NvbnN0IGU9e3R5cGU6IndhdGNobGlzdCIscHJvcGVydGllczp7bGlzdDpVdH19O2UucmVhZG9ubHk9IU10LmVkaXRhYmxld2F0Y2hsaXN0LE10LmVkaXRhYmxld2F0Y2hsaXN0PyhlLmRhdGE9e2hpZGVUaXRsZUJ1dHRvbjohMH0sZS5zZXR0aW5nc0tleT0ib253aWRnZXQud2F0Y2hsaXN0IixlLnVuQXV0aEVkaXRhYmxlPSEwLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IHBlKGUpOygwLHRlLnJlZ2lzdGVyU2VydmljZSkoc2UuU1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0UsdCl9KFV0KSk6ZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgaWUoZSk7KDAsdGUucmVnaXN0ZXJTZXJ2aWNlKShzZS5TWU1CT0xfTElTVF9SRVBPU0lUT1JZX0JBQ0tFTkRfU0VSVklDRSx0KX0oVXQpLE50LnB1c2goZSl9YXMoTXQuZGV0YWlscykmJk50LnB1c2goe3R5cGU6ImRldGFpbCJ9KSx2b2lkIDAhPT1NdC53aWRnZXRiYXJfd2lkdGgmJihXdD0rTXQud2lkZ2V0YmFyX3dpZHRoKSwoIVd0fHwhaXNGaW5pdGUoV3QpfHxXdDwyMDApJiYoV3Q9MjAwKTtjb25zdCB6dD1OdC5sZW5ndGg/W3tuYW1lOiJiYXNlIix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg3MTYwNjYpKSxpY29uOkN0LHdpZGdldHM6TnQubWFwKChlPT5lKSl9XTpbXTtNdC5ob3RsaXN0JiZ6dC5wdXNoKHtuYW1lOiJob3RsaXN0Iix0aXRsZTpsLnQobnVsbCx2b2lkIDAscyg4MjEyNDgpKSxpY29uOkV0LHdpZGdldHM6W3t0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoidm9sdW1lX2dhaW5lcnMifX19LHt0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfZ2FpbmVycyJ9fX0sewp0eXBlOiJob3RsaXN0Iixwcm9wZXJ0aWVzOntleGNoYW5nZUJ5TG9jYWxlOntkZWZhdWx0OndpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRS5lbn0sZ3JvdXBCeUxvY2FsZTp7ZGVmYXVsdDoicGVyY2VudF9jaGFuZ2VfbG9vc2VycyJ9fX1dfSk7Y29uc3QgSHQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQ9ZT0+eyJ2aXN1YWwiPT09dGhpcy5fdmlld3BvcnRUeXBlJiZ0aGlzLl93aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLGAke2V9cHhgLCJpbXBvcnRhbnQiKX0sdGhpcy5fd2luZG93PWUsdGhpcy5fZnVsbHNjcmVlbkFwaT10P25ldyBnZShlLmRvY3VtZW50LmJvZHkpOm5ldyBfZShlLmRvY3VtZW50KSx0aGlzLl92aWV3cG9ydFR5cGU9aS5DaGVja01vYmlsZS5pT1MoKSYmISgwLHZlLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55IikmJnRoaXMuX3dpbmRvdy52aXN1YWxWaWV3cG9ydD8idmlzdWFsIjoicXVpcmtzIiwidmlzdWFsIj09PXRoaXMuX3ZpZXdwb3J0VHlwZT90aGlzLl92aWV3cG9ydD0oMCxyLmVuc3VyZSkodGhpcy5fd2luZG93LnZpc3VhbFZpZXdwb3J0KTp0aGlzLl92aWV3cG9ydD10aGlzLl93aW5kb3c7Y29uc3Qgcz10aGlzLl9sYXlvdXRTaXplU2Vuc29yPXRoaXMuX3dpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmlkPSJsYXlvdXQtc2l6ZS1zZW5zb3IiLHMuc3R5bGUucG9zaXRpb249ImZpeGVkIixzLnN0eWxlLnRvcD0iMCIscy5zdHlsZS5sZWZ0PSIwIixzLnN0eWxlLnJpZ2h0PSIwIixzLnN0eWxlLmJvdHRvbT0iMCIscy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixzLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faW5pdEZ1bGxzY3JlZW4oKX1hbGxvY2F0ZSgpe3RoaXMuZnJlZSgpO2NvbnN0IGU9dGhpcy5fd2luZG93LmRvY3VtZW50LHQ9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTGlzdC5hZGQoImpzLXJvb3RyZXNpemVyX19jb250ZW50cyIpLHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIix0LnN0eWxlLndpZHRoPSIxMDAlIix0LnN0eWxlLmhlaWdodD0iMTAwJSIsZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdCksZS5ib2R5Lmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJiZWdpbiIsdGhpcy5fbGF5b3V0U2l6ZVNlbnNvciksdGhpcy5fdmlzaWJpbGl0eUFwaT1uZXcgZmUuVmlzaWJpbGl0eUFwaSh0aGlzLl93aW5kb3cuZG9jdW1lbnQpO2NvbnN0IHM9e2FsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbmFibGU6bmV3IFAuV2F0Y2hlZFZhbHVlKCEwKSxjb250YWluZXI6bmV3IFAuV2F0Y2hlZFZhbHVlKHQpLHdpZHRoOm5ldyBQLldhdGNoZWRWYWx1ZSxoZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsV2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGF2YWlsSGVpZ2h0Om5ldyBQLldhdGNoZWRWYWx1ZSx2aXNpYmxlOnRoaXMuX3Zpc2liaWxpdHlBcGkuaXNWaXNpYmxlLGZ1bGxzY3JlZW46dGhpcy5fZnVsbHNjcmVlbkFwaS5pc0Z1bGxzY3JlZW4scmVtb3ZlOigpPT57cy5hbGl2ZS5zZXRWYWx1ZSghMSl9LGF0dGFjaDooKT0+e3MuYWxpdmUuc2V0VmFsdWUoITEpLHRoaXMuX3dpbmRvdy5jbG9zZSgpfSxyZXF1ZXN0RnVsbHNjcmVlbjooKT0+e3RoaXMuX3JlcXVlc3RGdWxsc2NyZWVuKCl9LGV4aXRGdWxsc2NyZWVuOigpPT57dGhpcy5fZXhpdEZ1bGxzY3JlZW4oKX19O3JldHVybiBzLmFsaXZlLnN1YnNjcmliZSgoZT0+e2V8fHMhPT10aGlzLl9hcmVhfHx0aGlzLmZyZWUoKX0pKSx0aGlzLl9hcmVhPXMsdGhpcy5fcmVzaXplSGFuZGxlcj0oKT0+e2NvbnN0IGU9dGhpcy5fd2lkdGgocyl8fDgwMCx0PXRoaXMuX2hlaWdodChzKXx8NjAwO3MuYXZhaWxIZWlnaHQuc2V0VmFsdWUodCkscy5hdmFpbFdpZHRoLnNldFZhbHVlKGUpLHMuaGVpZ2h0LnNldFZhbHVlKHQpLHMud2lkdGguc2V0VmFsdWUoZSl9LHRoaXMuX2FyZWEuaGVpZ2h0LnN1YnNjcmliZSh0aGlzLl91cGRhdGVEb2N1bWVudEhlaWdodCx7Y2FsbFdpdGhMYXN0OiEwfSksdGhpcy5fcmVzaXplSGFuZGxlcigpLHRoaXMuX3ZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fcmVzaXplSGFuZGxlciksbmV3IG1lLlJlc2l6ZXJEZXRhY2hlclN0YXRlKHMpLmJyaWRnZSgpfWZyZWUoKXtpZih0aGlzLl9yZXNpemVIYW5kbGVyJiYodGhpcy5fdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9yZXNpemVIYW5kbGVyKSx0aGlzLl9yZXNpemVIYW5kbGVyPXZvaWQgMCksdGhpcy5fdmlzaWJpbGl0eUFwaSYmKHRoaXMuX3Zpc2liaWxpdHlBcGkuZGVzdHJveSgpLHRoaXMuX3Zpc2liaWxpdHlBcGk9dm9pZCAwKSx0aGlzLl9hcmVhKXtjb25zdCBlPXRoaXMuX2FyZWE7dGhpcy5fYXJlYT12b2lkIDAsZS5oZWlnaHQudW5zdWJzY3JpYmUodGhpcy5fdXBkYXRlRG9jdW1lbnRIZWlnaHQpLGUuYWxpdmUuc2V0VmFsdWUoITEpO2NvbnN0IHQ9ZS5jb250YWluZXIudmFsdWUoKSxzPXQ/LnBhcmVudEVsZW1lbnQ7cyYmKHMucmVtb3ZlQ2hpbGQodCkscy5yZW1vdmVDaGlsZCh0aGlzLl9sYXlvdXRTaXplU2Vuc29yKSl9fV9oZWlnaHQoZSl7aWYoInZpc3VhbCI9PT10aGlzLl92aWV3cG9ydFR5cGUpcmV0dXJuIHRoaXMuX2xheW91dFNpemVTZW5zb3IuY2xpZW50SGVpZ2h0O3JldHVybiBlLmNvbnRhaW5lci52YWx1ZSgpLmNsaWVudEhlaWdodH1fd2lkdGgoZSl7cmV0dXJuIGUuY29udGFpbmVyLnZhbHVlKCkuY2xpZW50V2lkdGh9X3JlcXVlc3RGdWxsc2NyZWVuKCl7dGhpcy5fZnVsbHNjcmVlbkFwaS5lbnRlcigpfV9leGl0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuZXhpdCgpfV9pbml0RnVsbHNjcmVlbigpe3RoaXMuX2Z1bGxzY3JlZW5BcGkuaXNGdWxsc2NyZWVuLnN1YnNjcmliZSgoZT0+e3RoaXMuX3Jlc2l6ZUhhbmRsZXImJnRoaXMuX3Jlc2l6ZUhhbmRsZXIoKX0pKX19KHdpbmRvdyksanQ9bmV3IGNsYXNzewpjb25zdHJ1Y3RvcihlKXt0aGlzLl9wcm9jZXNzVmlzaWJpbGl0eT1lPT57Y29uc3QgdD1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiB0aGlzLmFmZmVjdHNMYXlvdXQoZS5uYW1lKT8odCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLCExKSwhMCk6KHQmJnQuY2xhc3NMaXN0LnRvZ2dsZSgianMtaGlkZGVuIiwhMCksITEpfSx0aGlzLl9zZXRXaWR0aD0oZSx0LHMpPT57bGV0IGk9czt0aGlzLl9mdWxsc2NyZWVuQXJlYSE9PWUubmFtZSYmKGUuYXZhaWxXaWR0aC5zZXRWYWx1ZShzKSxlLmNhbk5lZ290aWF0ZS53aWR0aCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy53aWR0aCkpKSx0fHwoaT0wKTtjb25zdCBuPWUuY29udGFpbmVyLnZhbHVlKCk7cmV0dXJuIG4mJnQmJihuLnN0eWxlLndpZHRoPWkrInB4IiksZS53aWR0aC5zZXRWYWx1ZShpKSxpfSx0aGlzLl9zZXRIZWlnaHQ9KGUsdCxzKT0+e2xldCBpPXM7dGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lLm5hbWUmJihlLmF2YWlsSGVpZ2h0LnNldFZhbHVlKHMpLGUuY2FuTmVnb3RpYXRlLmhlaWdodCYmKGk9YmUocyxlLm5lZ290aWF0aW9ucy5oZWlnaHQpKSksdHx8KGk9MCk7Y29uc3Qgbj1lLmNvbnRhaW5lci52YWx1ZSgpO3JldHVybiBuJiZ0JiYobi5zdHlsZS5oZWlnaHQ9aSsicHgiKSxlLmhlaWdodC5zZXRWYWx1ZShpKSxpfTtjb25zdCB0PWUuY29udGFpbmVyLnZhbHVlKCk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJicmlkZ2UuY29udGFpbmVyLnZhbHVlKCkgbXVzdCBiZSBhbiBlbGVtZW50Iik7dGhpcy5fY29udGFpbmVyPXQsdGhpcy5fYXZhaWxhYmxlQXJlYXM9WyJsZWZ0IiwidHJhZGluZ3BhbmVsIiwicmlnaHQiLCJ0b3AiLCJib3R0b20iLCJjZW50ZXIiLCJ0b3BsZWZ0IiwiZXh0cmF0b3AiLCJhbmFseXNpcyJdLHRoaXMuX2FyZWFzPXt9LHRoaXMuX2JyaWRnZT1lLHRoaXMuX3dpZHRoPWUud2lkdGgsdGhpcy5faGVpZ2h0PWUuaGVpZ2h0LHRoaXMuX3dpZHRoLnN1YnNjcmliZSgoKCk9PnRoaXMucmVjYWxjdWxhdGUoKSkpLHRoaXMuX2hlaWdodC5zdWJzY3JpYmUoKCgpPT50aGlzLnJlY2FsY3VsYXRlKCkpKSx0aGlzLl9icmlkZ2UudmlzaWJsZS5zdWJzY3JpYmUoKCgpPT50aGlzLl91cGRhdGVWaXNpYmlsaXR5KCkpKSx0aGlzLl9icmlkZ2UuZnVsbHNjcmVlbi5zdWJzY3JpYmUoKCgpPT50aGlzLl9vblBhcmVudEZ1bGxzY3JlZW5DaGFuZ2UoKSkpLHRoaXMucmVjYWxjdWxhdGUoKX1hbGxvY2F0ZShlKXtjb25zdCB0PWUmJmUuYXJlYU5hbWU7aWYoLTE9PT10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biBvcHRpb25zLmFyZWFOYW1lIik7dGhpcy5mcmVlKHQpO2NvbnN0IHM9dGhpcy5fY3JlYXRlRE9NKHQpLGk9e25hbWU6dCxjYW5OZWdvdGlhdGU6e3dpZHRoOiJsZWZ0Ij09PXR8fCJyaWdodCI9PT10fHwidHJhZGluZ3BhbmVsIj09PXR8fCJ0b3BsZWZ0Ij09PXQsaGVpZ2h0OiJ0b3AiPT09dHx8ImJvdHRvbSI9PT10fHwidG9wbGVmdCI9PT10fHwiZXh0cmF0b3AiPT09dH0sbmVnb3RpYXRpb25zOnt3aWR0aDpbXSxoZWlnaHQ6W119LHJlbW92ZTooKT0+e2Zvcihjb25zdCBlIGluIHRoaXMuX2FyZWFzKXRoaXMuX2FyZWFzW2VdPT09aSYmdGhpcy5mcmVlKGUpfSxuZWdvdGlhdGVXaWR0aDplPT57aWYoIWkuY2FuTmVnb3RpYXRlLndpZHRoKXJldHVybjtjb25zdCB0PVNlKGUpO3dlKGkubmVnb3RpYXRpb25zLndpZHRoLHQpfHwoaS5uZWdvdGlhdGlvbnMud2lkdGg9dCx0aGlzLnJlY2FsY3VsYXRlKCkpfSxuZWdvdGlhdGVIZWlnaHQ6ZT0+e2lmKCFpLmNhbk5lZ290aWF0ZS5oZWlnaHQpcmV0dXJuO2NvbnN0IHQ9U2UoZSk7d2UoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0LHQpfHwoaS5uZWdvdGlhdGlvbnMuaGVpZ2h0PXQsdGhpcy5yZWNhbGN1bGF0ZSgpKX0scmVxdWVzdEZ1bGxzY3JlZW46KCk9Pnt0aGlzLl9mdWxsc2NyZWVuQXJlYXx8KCJyaWdodCIhPT10JiYiY2VudGVyIiE9PXR8fCh0aGlzLl9mdWxsc2NyZWVuQXJlYT10KSwiY2VudGVyIj09PXQmJnRoaXMuX2JyaWRnZS5yZXF1ZXN0RnVsbHNjcmVlbigpLHRoaXMuX3VwZGF0ZUZ1bGxzY3JlZW4oKSl9LGV4aXRGdWxsc2NyZWVuOigpPT57dD09PXRoaXMuX2Z1bGxzY3JlZW5BcmVhJiYodGhpcy5fZnVsbHNjcmVlbkFyZWE9dm9pZCAwLCJjZW50ZXIiPT09dCYmdGhpcy5fYnJpZGdlLmV4aXRGdWxsc2NyZWVuKCksdGhpcy5fdXBkYXRlRnVsbHNjcmVlbigpKX0sd2lkdGg6bmV3IFAuV2F0Y2hlZFZhbHVlLGhlaWdodDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxXaWR0aDpuZXcgUC5XYXRjaGVkVmFsdWUsYXZhaWxIZWlnaHQ6bmV3IFAuV2F0Y2hlZFZhbHVlLGFsaXZlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksY29udGFpbmVyOm5ldyBQLldhdGNoZWRWYWx1ZShzKSx2aXNpYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSghMCksZnVsbHNjcmVlbjpuZXcgUC5XYXRjaGVkVmFsdWUoITEpLGZ1bGxzY3JlZW5hYmxlOm5ldyBQLldhdGNoZWRWYWx1ZSgicmlnaHQiPT09dHx8ImNlbnRlciI9PT10KSxyZFN0YXRlOm5ldyBtZS5SZXNpemVyRGV0YWNoZXJTdGF0ZX07cmV0dXJuIGkucmRTdGF0ZS5wdXNoT3duZXIoaSksdGhpcy5fYXJlYXNbdF09aSxpLnJkU3RhdGUub3duZXIuc3Vic2NyaWJlKChlPT57Y29uc3Qgcz1pLmNvbnRhaW5lci52YWx1ZSgpO2lmKGUhPT1pKXMmJihzLmlubmVySFRNTD0iIixzLnBhcmVudEVsZW1lbnQmJnMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChzKSk7ZWxzZXtsZXQgZT1udWxsO2ZvcihsZXQgcz10aGlzLl9hdmFpbGFibGVBcmVhcy5pbmRleE9mKHQpO3MtLTspe2NvbnN0IHQ9dGhpcy5fYXZhaWxhYmxlQXJlYXNbc107aWYodGhpcy5hZmZlY3RzTGF5b3V0KHQpKXtlPXRoaXMuX2FyZWFzW3RdLmNvbnRhaW5lci52YWx1ZSgpO2JyZWFrfX1zJiYoZSYmcy5wYXJlbnRFbGVtZW50P3MuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCJhZnRlcmVuZCIsZSk6dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHMpKX10aGlzLnJlY2FsY3VsYXRlKCl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksCmkucmRTdGF0ZS5icmlkZ2UoKX1mcmVlKGUpe2NvbnN0IHQ9dGhpcy5fYXJlYXNbZV07aWYoIXQpcmV0dXJuO3RoaXMuX2FyZWFzW2VdPXZvaWQgMDtjb25zdCBzPXQuY29udGFpbmVyLnZhbHVlKCk7cyYmcy5wYXJlbnRFbGVtZW50JiZzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQocyksdC5hbGl2ZS5zZXRWYWx1ZSghMSl9cmVjYWxjdWxhdGUoKXtjb25zdCBlPXt9O3RoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuPWU7Y29uc3QgdD10aGlzLl9hcmVhcy50b3BsZWZ0LHM9dGhpcy5fYXJlYXMubGVmdCxpPXRoaXMuX2FyZWFzLnRyYWRpbmdwYW5lbCxuPXRoaXMuX2FyZWFzLnJpZ2h0LHI9dGhpcy5fYXJlYXMudG9wLG89dGhpcy5fYXJlYXMuYm90dG9tLGE9dGhpcy5fYXJlYXMuY2VudGVyLGw9dGhpcy5fYXJlYXMuZXh0cmF0b3AsdT10aGlzLl9hcmVhcy5hbmFseXNpcyxjPXRoaXMuX3dpZHRoLnZhbHVlKCksZD10aGlzLl9oZWlnaHQudmFsdWUoKTtsZXQgaD0wLHA9MCxtPTAsXz0wLGc9MCx5PTAsZj0wLHY9MDtpZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJmwpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkobCk7dj10aGlzLl9zZXRIZWlnaHQobCxlLGQpLHRoaXMuX3NldFdpZHRoKGwsZSxjKX1pZihlPT09dGhpcy5fcmVjYWxjU2luZ2xlUnVuVG9rZW4mJnQpe2NvbnN0IGU9dGhpcy5fcHJvY2Vzc1Zpc2liaWxpdHkodCk7Zj10aGlzLl9zZXRIZWlnaHQodCxlLGQpLHk9dGhpcy5fc2V0V2lkdGgodCxlLGMpO2NvbnN0IHM9dC5jb250YWluZXIudmFsdWUoKTtlJiZzJiYocy5zdHlsZS50b3A9disicHgiKX1sZXQgYj0wO2lmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcil7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShyKSx0PXIuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD15KyJweCIsdC5zdHlsZS50b3A9disicHgiKTtjb25zdCBzPWMteTt0aGlzLl9zZXRXaWR0aChyLGUscyksaD10aGlzLl9zZXRIZWlnaHQocixlLGQpLGgmJihiPTEpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmcyl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eShzKSx0PU1hdGgubWF4KGYsaCk7bT10aGlzLl9zZXRXaWR0aChzLGUsYyksbSYmKG0rPTQpLG0mJjE9PT1iJiYoYj00KTtjb25zdCBpPXMuY29udGFpbmVyLnZhbHVlKCk7ZSYmaSYmKGkuc3R5bGUudG9wPXQrditiKyJweCIpLHRoaXMuX3NldEhlaWdodChzLGUsZC10LXYtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZpKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGkpO2xldCB0PWMtbTtUZXx8KHQtPTMwMCksZz10aGlzLl9zZXRXaWR0aChpLGUsdCksZyYmMT09PWImJihiPTQpLHRoaXMuX3NldEhlaWdodChpLGUsZC12LWgtYil9aWYoZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZuKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG4pO2xldCB0PWMtbS1nO1RlfHwodC09MzAwKSxfPXRoaXMuX3NldFdpZHRoKG4sZSx0KSxfJiYxPT09YiYmKGI9NCksdGhpcy5fc2V0SGVpZ2h0KG4sZSxkLXYtaC1iKTtjb25zdCBzPW4uY29udGFpbmVyLnZhbHVlKCk7ZSYmcyYmKHMuc3R5bGUudG9wPWgrditiKyJweCIpfWNvbnN0IFM9ZytfLHc9Uz80OjA7bGV0IFA9MCxUPWMtbS1nLV8tdztjb25zdCBDPUJvb2xlYW4oZ3x8IVMpO2lmKCFfJiZnJiYoVCs9NCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZvKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KG8pLHQ9by5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSksdGhpcy5fc2V0V2lkdGgobyxlLFQpO2NvbnN0IHM9ZC12O1A9TWF0aC5taW4oMzAwLHMtMCk7Y29uc3QgaT10aGlzLl9zZXRIZWlnaHQobyxlLHMtMCk7cD0wPT09aT8wOmkrNH1jb25zdCBFPUJvb2xlYW4oaCYmKG18fFMpKTtpZih0aGlzLl9jb250YWluZXIuY2xhc3NMaXN0LnRvZ2dsZSgibGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyIsRSksUGUuc2V0TmV3QmxhY2tDb2xvciYmdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoImJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIiwhMCksZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZhKXtjb25zdCBlPXRoaXMuX3Byb2Nlc3NWaXNpYmlsaXR5KGEpLHQ9YS5jb250YWluZXIudmFsdWUoKTtlJiZ0JiYodC5zdHlsZS5sZWZ0PW0rInB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsIXB8fCFtKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIixDfHwhcCksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLWxlZnQtcmFkaXVzIixCb29sZWFuKCFtJiZTKSksdC5jbGFzc0xpc3QudG9nZ2xlKCJuby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyIsQykpLHRoaXMuX3NldFdpZHRoKGEsZSxUKTtjb25zdCBzPWQtaC1wLXYtYjt0aGlzLl9zZXRIZWlnaHQoYSxlLE1hdGgubWF4KHMsUCkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmdSl7Y29uc3QgZT10aGlzLl9wcm9jZXNzVmlzaWJpbGl0eSh1KSx0PXUuY29udGFpbmVyLnZhbHVlKCk7ZSYmdCYmKHQuc3R5bGUubGVmdD0iMHB4Iix0LnN0eWxlLnRvcD1oK3YrYisicHgiLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsITApLHQuY2xhc3NMaXN0LnRvZ2dsZSgibm8tYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLEN8fCFwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCEwKSx0LmNsYXNzTGlzdC50b2dnbGUoIm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIixDKSk7Y29uc3Qgcz1jLV8tdwo7dGhpcy5fc2V0V2lkdGgodSxlLHMpO2NvbnN0IGk9ZC1oLXYtYjt0aGlzLl9zZXRIZWlnaHQodSxlLGkpfWlmKGU9PT10aGlzLl9yZWNhbGNTaW5nbGVSdW5Ub2tlbiYmaSYmdGhpcy5hZmZlY3RzTGF5b3V0KCJ0cmFkaW5ncGFuZWwiKSl7Y29uc3QgZT1pLmNvbnRhaW5lci52YWx1ZSgpO2UmJihlLnN0eWxlLnJpZ2h0PWcmJl8/YCR7Xys0fXB4YDpgJHtffXB4YCxlLnN0eWxlLnRvcD12K2grYisicHgiLGUuc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXM9RSYmXz8iNHB4IjoiMHB4Iil9ZT09PXRoaXMuX3JlY2FsY1NpbmdsZVJ1blRva2VuJiZ0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCl9YWZmZWN0c0xheW91dChlKXtjb25zdCB0PXRoaXMuX2FyZWFzW2VdO2lmKCF0KXJldHVybiExO2lmKHQucmRTdGF0ZS5vd25lci52YWx1ZSgpIT09dClyZXR1cm4hMTtpZih0aGlzLl9mdWxsc2NyZWVuQXJlYSYmdGhpcy5fZnVsbHNjcmVlbkFyZWEhPT1lKXJldHVybiBJZShlKTtpZih0aGlzLl93aWR0aC52YWx1ZSgpPD01Njd8fHRoaXMuX2hlaWdodC52YWx1ZSgpPD00NDUmJiFFZSl7aWYoIVsiY2VudGVyIiwidG9wIiwibGVmdCIsInRvcGxlZnQiLCJleHRyYXRvcCIsImFuYWx5c2lzIl0uaW5jbHVkZXMoZSkpcmV0dXJuITF9cmV0dXJuITB9X3VwZGF0ZVZpc2liaWxpdHkoKXtjb25zdCBlPXRoaXMuX2JyaWRnZS52aXNpYmxlLnZhbHVlKCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9hdmFpbGFibGVBcmVhcy5sZW5ndGg7dCsrKXtjb25zdCBzPXRoaXMuX2F2YWlsYWJsZUFyZWFzW3RdLGk9dGhpcy5fYXJlYXNbc107aSYmKGUmJnRoaXMuYWZmZWN0c0xheW91dChzKT9pLnZpc2libGUuc2V0VmFsdWUoITApOmkudmlzaWJsZS5zZXRWYWx1ZSghMSkpfX1fb25QYXJlbnRGdWxsc2NyZWVuQ2hhbmdlKCl7dGhpcy5fYnJpZGdlLmZ1bGxzY3JlZW4udmFsdWUoKXx8KHRoaXMuX2Z1bGxzY3JlZW5BcmVhPXZvaWQgMCx0aGlzLl91cGRhdGVGdWxsc2NyZWVuKCkpfV91cGRhdGVGdWxsc2NyZWVuKCl7Y29uc3QgZT12b2lkIDAhPT10aGlzLl9mdWxsc2NyZWVuQXJlYTtmb3IobGV0IHQ9MDt0PHRoaXMuX2F2YWlsYWJsZUFyZWFzLmxlbmd0aDt0Kyspe2NvbnN0IHM9dGhpcy5fYXZhaWxhYmxlQXJlYXNbdF0saT10aGlzLl9hcmVhc1tzXTtpZighaSljb250aW51ZTtpZihzPT09dGhpcy5fZnVsbHNjcmVlbkFyZWEpe2kuZnVsbHNjcmVlbi5zZXRWYWx1ZSghMCk7Y29udGludWV9aS5mdWxsc2NyZWVuLnNldFZhbHVlKCExKTtjb25zdCBuPWkuY29udGFpbmVyLnZhbHVlKCk7biYmbi5jbGFzc0xpc3QudG9nZ2xlKCJqcy1oaWRkZW4iLGUmJiFJZShzKSl9dGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpLHRoaXMucmVjYWxjdWxhdGUoKX1fY3JlYXRlRE9NKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZCgibGF5b3V0X19hcmVhLS0iK2UpLHQuc3R5bGUucG9zaXRpb249ImFic29sdXRlIiwidHJhZGluZ3BhbmVsIj09PWUmJih0LnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPSI0cHgiKSwiYm90dG9tIj09PWU/dC5zdHlsZS5ib3R0b209IjAiOnQuc3R5bGUudG9wPSIwIiwicmlnaHQiPT09ZXx8InRyYWRpbmdwYW5lbCI9PT1lP3Quc3R5bGUucmlnaHQ9IjAiOnQuc3R5bGUubGVmdD0iMCIsdH19KEh0LmFsbG9jYXRlKCkpLCR0PWFzKE10LmhpZGVfdG9wX3Rvb2xiYXIpP251bGw6anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJ0b3AifSkscXQ9dm9pZCAwPT09TXQuaGlkZV9zaWRlX3Rvb2xiYXJ8fCtNdC5oaWRlX3NpZGVfdG9vbGJhcj9udWxsOmp0LmFsbG9jYXRlKHthcmVhTmFtZToibGVmdCJ9KSxLdD1qdC5hbGxvY2F0ZSh7YXJlYU5hbWU6ImNlbnRlciJ9KSxZdD16dC5sZW5ndGg/anQuYWxsb2NhdGUoe2FyZWFOYW1lOiJyaWdodCJ9KTpudWxsLEd0PW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eT1uZXcgUC5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX2FuYWx5c2lzVmlld1NldD1uZXcgT2UoKGU9Pih7bGF5b3V0OnRoaXMscm9vdDp0aGlzLl9hbmFseXNpc0FyZWEuY29udGFpbmVyLnZhbHVlKCksaGVhZGVyOiJ3b3Jrc3BhY2UifSkpLChlPT5CZS5hY3R1YWxDb250ZW50LnNldFZhbHVlKGUpKSksdGhpcy5fY2hhcnRSZXNpemVyPWUsdGhpcy5fYW5hbHlzaXNBcmVhPXRoaXMuX2NoYXJ0UmVzaXplci5hbGxvY2F0ZSh7YXJlYU5hbWU6ImFuYWx5c2lzIn0pLHRoaXMuX2NhblNob3dGbG9hdGluZ1Rvb2xiYXJzPSgwLEZlLmNvbWJpbmUpKChlPT5udWxsPT09ZSksQmUuYWN0dWFsQ29udGVudC53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzQXJlYS5jb250YWluZXIudmFsdWUoKS5zdHlsZS5kaXNwbGF5PWU/ImdyaWQiOiJub25lIn0pLHtjYWxsV2l0aExhc3Q6ITB9KSxCZS5hY3R1YWxDb250ZW50LnN1YnNjcmliZSgoZT0+e3RoaXMuX2FuYWx5c2lzUGFuZWxWaXNpYmlsaXR5LnNldFZhbHVlKG51bGwhPT1lKX0pLHtjYWxsV2l0aExhc3Q6ITB9KX1hbmFseXNpc1BhbmVsVmlzaWJsZSgpe3JldHVybiB0aGlzLl9hbmFseXNpc1BhbmVsVmlzaWJpbGl0eX1jYW5TaG93RmxvYXRpbmdUb29sYmFycygpe3JldHVybiB0aGlzLl9jYW5TaG93RmxvYXRpbmdUb29sYmFyc31yZWdpc3RlckFuYWx5c2lzVmlldyhlLHQpe3RoaXMuX2FuYWx5c2lzVmlld1NldC5yZWdpc3RlclZpZXcoZSx0KX1oYXNBbmFseXNpc1ZpZXcoZSl7cmV0dXJuIHRoaXMuX2FuYWx5c2lzVmlld1NldC5oYXNWaWV3KGUpfXNob3dBbmFseXNpc1ZpZXcoZSx0KXt0aGlzLl9hbmFseXNpc1ZpZXdTZXQuc2hvd1ZpZXcoZSx0KX19KGp0KTtpZihmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZmluYW5jaWFscyIsKGFzeW5jIGU9PmV0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInRlY2huaWNhbHMiLChhc3luYyBlPT5aZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSwKZS5yZWdpc3RlckFuYWx5c2lzVmlldygic2Vhc29uYWxzIiwoYXN5bmMgZT0+dHQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiYW5hbHlzaXMiLChhc3luYyBlPT5zdC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJmb3JlY2FzdCIsKGFzeW5jIGU9Pml0LmdldEluc3RhbmNlKCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm9wdGlvbnMiLChhc3luYyBlPT5ydC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJlY29ub215LWluZGljYXRvcnMiLChhc3luYyBlPT5sdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJib25kcyIsKGFzeW5jIGU9PmN0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImRvY3VtZW50cyIsKGFzeW5jIGU9Pmh0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoIm5ld3MiLChhc3luYyBlPT5tdCgpLnByZXBhcmUoZSkpKSxlLnJlZ2lzdGVyQW5hbHlzaXNWaWV3KCJldGZzIiwoYXN5bmMgZT0+Z3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZm9yd2FyZC1jdXJ2ZSIsKGFzeW5jIGU9PmZ0KCkucHJlcGFyZShlKSkpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoInlpZWxkLWN1cnZlIiwoYXN5bmMgZT0+YnQuZ2V0SW5zdGFuY2UoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29udHJhY3RzIiwoYXN5bmMgZT0+d3QoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiY29tbXVuaXR5IiwoYXN5bmMgZT0+VHQoKS5wcmVwYXJlKGUpKSksZS5yZWdpc3RlckFuYWx5c2lzVmlldygiZGVyaXZhdGl2ZXMiLChhc3luYyBlPT5udC5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0pKGUpLGUucmVnaXN0ZXJBbmFseXNpc1ZpZXcoImNoYXJ0LXRhYmxlLXZpZXciLChhc3luYyBlPT56ZS5nZXRJbnN0YW5jZSgpLnByZXBhcmUoZSkpKX0oR3QpLEFlLmN1cnJlbnRMYXlvdXQuc2V0VmFsdWUoR3QpLCgwLHhlLnNldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3QpKE10LnN1cHBvcnRfaG9zdD8/IiIpLGt0KXtjb25zdCBlPShKdD1rdCxMZS5maW5kKChlPT5lLnZhbHVlLnZhbHVlPT09SnQpKSk7ZSYmKE10LnJhbmdlPWt0LE10LmludGVydmFsPWUudGFyZ2V0UmVzb2x1dGlvbil9dmFyIEp0O2xldCBYdCxRdDtYdD12b2lkIDA9PT1NdC5pbnRlcnZhbD92b2lkIDA9PT1NdC5zdHlsZT9MdC5kZWZfaW50ZXJ2YWw/PyIxIjooMCxTLmdldERlZmF1bHRSZXNvbHV0aW9uKSgoMCx2LmlzUmFuZ2VTdHlsZSkocGFyc2VJbnQoTXQuc3R5bGUpKSk6TXQuaW50ZXJ2YWwsUXQ9dm9pZCAwPT09TXQuc3R5bGU/dm9pZCAwPT09TXQuaW50ZXJ2YWw/THQuZGVmX3N0eWxlPz8xOigwLHYuZ2V0RGVmYXVsdFN0eWxlKShiLkludGVydmFsLmlzUmFuZ2UoTXQuaW50ZXJ2YWwpKTpwYXJzZUludChNdC5zdHlsZSk7Y29uc3QgWnQ9d2luZG93LmNoYXJ0V2lkZ2V0Q29sbGVjdGlvbj1uZXcgdS5DaGFydFdpZGdldENvbGxlY3Rpb24oe3Jlc2l6ZXJCcmlkZ2U6S3QscGFkZGluZzo1LGVkZ2U6TnVtYmVyKE10LnBhZGRpbmcpfHwwLHB1Ymxpc2hlZENoYXJ0c0VuYWJsZWQ6ITEsc2F2ZUNoYXJ0RW5hYmxlZDohMSxleHRlcm5hbFNlcnZpY2VzOnt0cmFkaW5nOnt0cmFkZWRDb250ZXh0TGlua2luZzpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ1ByZWZlcmVuY2VzU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCksdHJhZGluZ0ZlYXR1cmVGbGFnc1NlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHNlbGxCdXlCdXR0b25zVmlzaWJpbGl0eVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdCcm9rZXJTZXJ2aWNlOm5ldyBQLldhdGNoZWRWYWx1ZShudWxsKSx0cmFkaW5nQ2hhcnRDb250ZXh0TWVudVNlcnZpY2U6bmV3IFAuV2F0Y2hlZFZhbHVlKG51bGwpLHRyYWRpbmdQbGFjZU9yZGVyU2VydmljZTpuZXcgUC5XYXRjaGVkVmFsdWUobnVsbCl9fSx3aWRnZXRPcHRpb25zOntvbldpZGdldDohMCx1c2VVc2VyQ2hhcnRQcmVmZXJlbmNlczohYXMoTXQuZG9Ob3RTdG9yZVNldHRpbmdzLCExKSxhZGRUb1dhdGNobGlzdEVuYWJsZWQ6ITEscHJvcGVydHlQYWdlc0VuYWJsZWQ6ITEsY2hhcnRFdmVudHNFbmFibGVkOiExLG5ld3NOb3RpZmljYXRpb25zRW5hYmxlZDohMSxlc2RFbmFibGVkOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImVzZG9ud2lkZ2V0Iiksc291cmNlU3RhdHVzZXNXaWRnZXQ6e2Vycm9yU29sdXRpb246ITF9LG1hcmtldFN0YXR1c1dpZGdldEVuYWJsZWQ6ITAsY2hhcnRXYXJuaW5nV2lkZ2V0OntzdWJzY3JpcHRpb25GdWxsSW5mbzohMX0sd2lkZ2V0Q3VzdG9tZXI6eHQsY3VzdG9tZXJSZWFkYWJsZU5hbWU6UnQsaGlkZUlkZWFzOiEwLGNvbnRyb2xCYXJFbmFibGVkOiEwLGFkZFZvbHVtZTohYXMoTXQuaGlkZV92b2x1bWUpLG11dGVTZXNzaW9uRXJyb3JzOiEoMCxvLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJyZWZlcnJhbF9wcm9ncmFtX2Zvcl93aWRnZXRfb3duZXJzIiksZGVmU3ltYm9sOkJ0LGRlZkludGVydmFsOlh0LGRlZlN0eWxlOlF0LGRlZlNlc3Npb25JZDpEdCx0aW1lem9uZTpNdC50aW1lem9uZXx8THQuZGVmX3RpbWV6b25lLGRlZlRpbWVmcmFtZTprdCxpc0RyYXdpbmdUb29sYmFyVmlzaWJsZTprLmlzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlLHdhdGVybWFya0VuYWJsZWQ6ITAscGFuZUNvbnRleHRNZW51RW5hYmxlZDohMSxjb21wYXJlU3ltYm9sczpGdCx0aW1lU2NhbGVXaWRnZXQ6e2NvbnRleHRNZW51RW5hYmxlZDohMSx0aW1lem9uZU1lbnVFbmFibGVkOiExfSx0aW1lU2NhbGU6e3ByZXNlcnZlQmFyU3BhY2luZzohMCxsb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplOiExfSxsZWdlbmRXaWRnZXRFbmFibGVkOiFhcyhNdC5oaWRlX2xlZ2VuZCksbGVnZW5kV2lkZ2V0Ontjb250ZXh0TWVudTp7c2V0dGluZ3M6ITEsZnVuZGFtZW50YWxzOiExLApzaG93T3Blbk1hcmtldFN0YXR1czohMH19LGdvVG9EYXRlRW5hYmxlZDohMSxoYW5kbGVTY3JvbGw6e3ZlcnRUb3VjaERyYWc6YXMoTXQudmVydHRvdWNoZHJhZyksaG9yelRvdWNoRHJhZzphcyhNdC5ob3J6dG91Y2hkcmFnLCEwKX0saGFuZGxlU2NhbGU6e21vdXNlV2hlZWw6ImludmVzdG9wZWRpYSIhPT14dCYmImV1cmV4IiE9PXh0fSxjdXJyZW5jeUNvbnZlcnNpb25FbmFibGVkOiEwLHVuaXRDb252ZXJzaW9uRW5hYmxlZDohMH0sc2VyaWVzQ29udHJvbEJhckVuYWJsZWQ6ISFWdCxzZXJpZXNDb250cm9sQmFyOnt0aW1lRnJhbWVzV2lkZ2V0RW5hYmxlZDohMCx0aW1lRnJhbWVzV2lkZ2V0Ontnb1RvRGF0ZUVuYWJsZWQ6ITEsYXZhaWxhYmxlVGltZUZyYW1lczp6fSx0aW1lV2lkZ2V0RW5hYmxlZDohMCx0aW1lV2lkZ2V0Ont0aW1lem9uZU1lbnVFbmFibGVkOiExfSxhZGp1c3RGb3JEaXZpZGVuZHNCdXR0b25FbmFibGVkOiEwLHNlc3Npb25JZEJ1dHRvbkVuYWJsZWQ6Qm9vbGVhbihEdCksYmFja0FkanVzdG1lbnRCdXR0b25FbmFibGVkOiExLHNldHRsZW1lbnRBc0Nsb3NlQnV0dG9uRW5hYmxlZDohMSxwZXJjZW50YWdlU2NhbGVCdXR0b25FbmFibGVkOiExLGxvZ1NjYWxlQnV0dG9uRW5hYmxlZDohMSxhdXRvU2NhbGVCdXR0b25FbmFibGVkOiExLGxheW91dEZ1bGxzY3JlZW5CdXR0b25FbmFibGVkOiEwLG1vYmlsZUNoYW5nZUxheW91dEVuYWJsZWQ6ITF9LG1vYmlsZUZvcmNlQ2hhcnRNYXhpbWl6ZUVuYWJsZWQ6ITF9KTtsZXQgZXM9ITE7WnQub25BYm91dFRvQmVEZXN0cm95ZWQuc3Vic2NyaWJlKG51bGwsKCgpPT57ZXM9ITB9KSwhMCksTXQuc3R1ZGllc19vdmVycmlkZXMmJlp0LmFwcGx5U3R1ZGllc092ZXJyaWRlcyhKU09OLnBhcnNlKE10LnN0dWRpZXNfb3ZlcnJpZGVzKSksUHJvbWlzZS5hbGwoW3MuZSg4OTYxOCkscy5lKDgwNjM5KSxzLmUoNDk4ODMpXSkudGhlbihzLmJpbmQocyw5MDg0NTQpKS50aGVuKChlPT57ZS5hZGRCcmFuZGluZ1NvdXJjZShadCl9KSk7Y29uc3QgdHM9WnQuYWN0aXZlQ2hhcnRXaWRnZXQudmFsdWUoKTtpZih3aW5kb3cuY2hhcnRXaWRnZXQ9dHMsIVp0LnJlYWRPbmx5KCkpe2NvbnN0IGU9bmV3IFIoWnQpO3dpbmRvdy5zdHVkeU1hcmtldD1uZXcgQyhlLHtvbldpZGdldDohMH0pfWxldCBzcztpZihwLmxpbmtpbmcuYmluZFRvQ2hhcnRXaWRnZXRDb2xsZWN0aW9uKFp0KSxIKHEuTmFtZXMuV2lkZ2V0TG9hZCxNdC5mcmFtZUVsZW1lbnRJZHx8bnVsbCx2b2lkIDApLE10LnRoZW1lKXtjb25zdCBlPU10LnRoZW1lLnRvTG93ZXJDYXNlKCk7aWYoVi50aGVtZXNbZV0peygwLEEuc2V0VGhlbWUpKGUpO2NvbnN0IHQ9Vi5nZXRTdGRUaGVtZShlKTt0JiZ0LmNvbnRlbnQmJihzcz10LmNvbnRlbnQsTXQuc3R5bGUmJihzcy5tYWluU291cmNlUHJvcGVydGllcy5zdHlsZT1wYXJzZUludChNdC5zdHlsZSkpLCgwLGEuYXBwbHlEZWZhdWx0c092ZXJyaWRlcykoc3Mse21haW5TZXJpZXNQcm9wZXJ0aWVzOiJtYWluU291cmNlUHJvcGVydGllcyJ9LCEwKSl9fWxldCBpcz0hMSxucz0hMTtmdW5jdGlvbiBycyhlKXtyZXR1cm4oMCxNZS5pc1BpbmVJZFN0cmluZykoZSk/e3R5cGU6InBpbmUiLHBpbmVJZDplfTp7dHlwZToiamF2YSIsc3R1ZHlJZDplfX1mdW5jdGlvbiBvcygpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5sb2FkaW5nLWluZGljYXRvciIpLmZvckVhY2goKGU9PntlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJihlLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX0pKX1mdW5jdGlvbiBhcyhlLHQ9ITEpe3JldHVybiExPT09ZXx8ITA9PT1lP2U6IjEiPT09ZXx8MT09PWV8fCJ0cnVlIj09PWV8fCIwIiE9PWUmJjAhPT1lJiYiZmFsc2UiIT09ZSYmdH10cy53aXRoTW9kZWwobnVsbCwoZnVuY3Rpb24oKXtjb25zdCBlPXRzLm1vZGVsKCkubWFpblNlcmllcygpO3RzLmFwcGx5T3ZlcnJpZGVzKHsibWFpblNlcmllc1Byb3BlcnRpZXMuc2hvd0NvdW50ZG93biI6ITF9KSxzcyYmdHMubW9kZWwoKS5tb2RlbCgpLnJlc3RvcmVUaGVtZShzcywhMSksTXQuYmFja2dyb3VuZENvbG9yJiZ0cy5hcHBseU92ZXJyaWRlcyh7InBhbmVQcm9wZXJ0aWVzLmJhY2tncm91bmQiOk10LmJhY2tncm91bmRDb2xvciwicGFuZVByb3BlcnRpZXMuYmFja2dyb3VuZFR5cGUiOkRlLkNvbG9yVHlwZS5Tb2xpZH0pLE10LmdyaWRDb2xvciYmdHMuYXBwbHlPdmVycmlkZXMoeyJwYW5lUHJvcGVydGllcy52ZXJ0R3JpZFByb3BlcnRpZXMuY29sb3IiOk10LmdyaWRDb2xvciwicGFuZVByb3BlcnRpZXMuaG9yekdyaWRQcm9wZXJ0aWVzLmNvbG9yIjpNdC5ncmlkQ29sb3J9KSxhc3luYyBmdW5jdGlvbihlKXtpZighZSlyZXR1cm47dHJ5e2NvbnN0IHQ9InN0cmluZyI9PXR5cGVvZiBlP0pTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGUpKTplO2lmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9dHMubW9kZWwoKS5tb2RlbCgpLm1haW5TZXJpZXMoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3QgaT10W2VdO2lmKGkuc3ltYm9sJiZpLnBvc2l0aW9uJiZrZS5Db21wYXJlT3B0aW9uW2kucG9zaXRpb25dKXN3aXRjaChpLnBvc2l0aW9uKXtjYXNlIlNhbWVTY2FsZSI6dHMuYWRkQ29tcGFyZUFzT3ZlcmxheShpLnN5bWJvbCwhMSxzLmlzWWllbGQoKSk7YnJlYWs7Y2FzZSJOZXdQcmljZVNjYWxlIjp0cy5hZGRPdmVybGF5U3R1ZHkoaS5zeW1ib2wsITApO2JyZWFrO2Nhc2UiTmV3UGFuZSI6dHMuYWRkT3ZlcmxheVN0dWR5KGkuc3ltYm9sLCExKX19fWNhdGNoKGUpe3JldHVybn19KE10LmNvbXBhcmVTeW1ib2xzKSxlLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZShlLCgoKT0+eyFmdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybjtjb25zdCBzPWUubW9kZWwoKS5tb2RlbCgpLGk9eHQ/MjA6NTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpKTtlLnNsaWNlKDAsaSkuZm9yRWFjaCgoZT0+e2NvbnN0IHQ9cy5jcmVhdGVTdHVkeUluc2VydGVyKHJzKGUuaWQpKQo7dC5zZXRGb3JjZU92ZXJsYXkoZS5vdmVybGF5KSx0Lmluc2VydCgoKCk9PlByb21pc2UucmVzb2x2ZSh7aW5wdXRzOmUuaW5wdXRzLHBhcmVudFNvdXJjZXM6W119KSkpfSkpfWNhdGNoKGUpeygoQXJyYXkuaXNBcnJheSh0KT90OnQuc3BsaXQoL1x4MWYvKSl8fFtdKS5zbGljZSgwLGkpLmZvckVhY2goKGU9PntzLmNyZWF0ZVN0dWR5SW5zZXJ0ZXIocnMoZSkpLmluc2VydCgpfSkpfX0od2luZG93LmNoYXJ0V2lkZ2V0LE10LnN0dWRpZXMpfSksITApLGUuZGF0YUV2ZW50cygpLmNvbXBsZXRlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3NzJiZvcygpLFEmJiFpcyYmKFEoWnQsITApLGlzPSEwKSxlZSYmIW5zJiYoZWUoWnQse3Nlcmllc0NvbnRyb2xCYXJFbmFibGVkOiEhVnR9KSxucz0hMCl9KSksZS5kYXRhRXZlbnRzKCkuc3ltYm9sRXJyb3IoKS5zdWJzY3JpYmUobnVsbCwoKCk9PntIKHEuTmFtZXMuTm9EYXRhLE10LmZyYW1lRWxlbWVudElkfHxudWxsLHZvaWQgMCl9KSl9KSkscXQmJihhc3luYygpPT57CmNvbnN0W2UsdCx7RHJhd2luZ1Rvb2xiYXI6aX0se0xpbmVUb29sUHJvcGVydGllc1dpZGdldDpufV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDc3OTQ3NCwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoNTQ4NTIpLHMuZSg4NDMwNikscy5lKDQ2OTA3KSxzLmUoMjAzNTQpLHMuZSgxMzQ5Mikscy5lKDEyMzg1KSxzLmUoODEwNzIpLHMuZSg5NDk0OCkscy5lKDIzNjI0KSxzLmUoMjk1MzYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSg2Nzc5OSkscy5lKDI0NTgxKSxzLmUoODY0MjMpLHMuZSg0MDgzNSkscy5lKDE3MDg3KSxzLmUoNzg2NTIpLHMuZSg3MDgxNSkscy5lKDcxNDE0KSxzLmUoNTI2ODApLHMuZSgzNTc5NCkscy5lKDg5MjA0KSxzLmUoODk1NTgpLHMuZSgxMDM2Nikscy5lKDY5ODYxKSxzLmUoMjAyKSxzLmUoNzI1MTIpLHMuZSg1NTAxMSkscy5lKDE1NjM0KSxzLmUoNzUzMDQpLHMuZSg1MjA5NSkscy5lKDcwNjU2KSxzLmUoNDQwMzEpLHMuZSg3MTkwMSkscy5lKDQwOTE0KSxzLmUoODEyNDcpLHMuZSgyMzY2OSkscy5lKDM4NDc5KSxzLmUoMjA1NjQpLHMuZSg2NzkyNSkscy5lKDM1MzQyKSxzLmUoMjMyNTQpLHMuZSg2NjQ3KSxzLmUoODY5OTcpLHMuZSg3OTI3KSxzLmUoNzk3OTEpLHMuZSgzNTA3Mykscy5lKDUwMzE2KSxzLmUoMzUzOTkpLHMuZSgzMjM4Nykscy5lKDgwOTE1KSxzLmUoMTg1MTIpLHMuZSgzNTM5MCkscy5lKDM4MDg2KSxzLmUoNzYwMzMpLHMuZSgyNjExOCkscy5lKDIwMzMxKSxzLmUoNDI5MzQpXSkudGhlbihzLmJpbmQocyw1OTM5MjcpKSxQcm9taXNlLmFsbChbcy5lKDU0ODUyKSxzLmUoODQzMDYpLHMuZSg0NjkwNykscy5lKDIwMzU0KSxzLmUoMTM0OTIpLHMuZSgxMjM4NSkscy5lKDgxMDcyKSxzLmUoOTQ5NDgpLHMuZSgyMzYyNCkscy5lKDI5NTM2KSxzLmUoOTQyMzIpLHMuZSg1MTg0KSxzLmUoNjc3OTkpLHMuZSgyNDU4MSkscy5lKDg2NDIzKSxzLmUoNDA4MzUpLHMuZSgxNzA4Nykscy5lKDc4NjUyKSxzLmUoNzA4MTUpLHMuZSg3MTQxNCkscy5lKDUyNjgwKSxzLmUoMzU3OTQpLHMuZSg4OTIwNCkscy5lKDg5NTU4KSxzLmUoMTAzNjYpLHMuZSg2OTg2MSkscy5lKDIwMikscy5lKDcyNTEyKSxzLmUoNTUwMTEpLHMuZSgxNTYzNCkscy5lKDc1MzA0KSxzLmUoNTIwOTUpLHMuZSg3MDY1Nikscy5lKDQ0MDMxKSxzLmUoNzE5MDEpLHMuZSg0MDkxNCkscy5lKDgxMjQ3KSxzLmUoMjM2NjkpLHMuZSgzODQ3OSkscy5lKDIwNTY0KSxzLmUoNjc5MjUpLHMuZSgzNTM0Mikscy5lKDIzMjU0KSxzLmUoNjY0Nykscy5lKDg2OTk3KSxzLmUoNzkyNykscy5lKDc5NzkxKSxzLmUoMzUwNzMpLHMuZSg1MDMxNikscy5lKDM1Mzk5KSxzLmUoMzIzODcpLHMuZSg4MDkxNSkscy5lKDE4NTEyKSxzLmUoMzUzOTApLHMuZSgzODA4Nikscy5lKDc2MDMzKSxzLmUoMjYxMTgpLHMuZSgyMDMzMSkscy5lKDQyOTM0KV0pLnRoZW4ocy5iaW5kKHMsMjQ3MjEyKSldKTtlc3x8KHQucmVuZGVyKGUuY3JlYXRlRWxlbWVudChpLHtjaGFydFdpZGdldENvbGxlY3Rpb246WnQscmVzaXplckJyaWRnZTpxdCxzY3JlZW5zaG90QnV0dG9uOiJjbWUiPT09eHR9KSxxdC5jb250YWluZXIudmFsdWUoKSksd2luZG93LmxpbmVUb29sUHJvcGVydGllc1Rvb2xiYXI9bmV3IG4oWnQpKX0pKCksJHQmJihhc3luYygpPT57CmNvbnN0W2UsdCxpLHtIZWFkZXJUb29sYmFyOm59XT1hd2FpdCBQcm9taXNlLmFsbChbSyh4dCksUHJvbWlzZS5hbGwoW3MuZSgxNjE5Mykscy5lKDUwMzE2KSxzLmUoODM2NzUpLHMuZSgzMjM4Nykscy5lKDQzOTI2KV0pLnRoZW4ocy50LmJpbmQocyw3Nzk0NzQsMTkpKSxQcm9taXNlLmFsbChbcy5lKDE2MTkzKSxzLmUoNTAzMTYpLHMuZSg4MzY3NSkscy5lKDMyMzg3KSxzLmUoNDM5MjYpXSkudGhlbihzLnQuYmluZChzLDEyOTM2NSwxOSkpLFByb21pc2UuYWxsKFtzLmUoMTYxOTMpLHMuZSg1MDMxNikscy5lKDgzNjc1KSxzLmUoMzIzODcpLHMuZSg0MzkyNildKS50aGVuKHMuYmluZChzLDUyMzgwMSkpXSkscj1hd2FpdCBlLmdldFRvb2xTZXQoKSxvPUYubW9iaWxldG91Y2g/WyJmdWxsIl06dm9pZCAwO2kucmVuZGVyKHQuY3JlYXRlRWxlbWVudChuLHt0b29sczpyLGNoYXJ0QXBpSW5zdGFuY2U6d2luZG93LkNoYXJ0QXBpSW5zdGFuY2UsYXZhaWxhYmxlVGltZUZyYW1lczp6LGNoYXJ0V2lkZ2V0Q29sbGVjdGlvbjpadCxpZGVhczohMSxyZXNpemVyQnJpZGdlOiR0LHBvcHVwQnV0dG9uOmFzKE10LnNob3dfcG9wdXBfYnV0dG9uKSxzdHVkeU1hcmtldDp3aW5kb3cuc3R1ZHlNYXJrZXQsd2luZG93TWVzc2FnZVNlcnZpY2U6T3QsaXNGdW5kYW1lbnRhbDohMSxhbGxvd2VkTW9kZXM6b30pLCR0LmNvbnRhaW5lci52YWx1ZSgpKX0pKCksWXQmJihhc3luYygpPT57Y29uc3Rbe1dpZGdldEJhcjplfSx7Y29uZmlndXJhdGlvbjp0fV09YXdhaXQgUHJvbWlzZS5hbGwoW1Byb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDUyMDYyMSkpLFByb21pc2UuYWxsKFtzLmUoOTU1NSkscy5lKDI5Mjk2KSxzLmUoNjAwNjIpLHMuZSg5NTA0KSxzLmUoNTUwMTEpLHMuZSg3NTMwNCkscy5lKDc5NzkxKSxzLmUoODU1MTEpLHMuZSgzMjM4Nykscy5lKDMwNjk5KSxzLmUoODE3NTApLHMuZSg1NjM4MildKS50aGVuKHMuYmluZChzLDM2OTI3MSkpXSk7enQuZm9yRWFjaCgoZT0+e2Uud2lkZ2V0cz1lLndpZGdldHM/LmZpbHRlcigoZT0+ISh2b2lkIDAhPT1lLmlzRW5hYmxlZCYmIWUuaXNFbmFibGVkKSkpfSkpO3dpbmRvdy53aWRnZXRiYXI9bmV3IGUoe3Jlc2l6ZXJCcmlkZ2U6WXQsYWZmZWN0c0xheW91dDooKT0+anQuYWZmZWN0c0xheW91dCgicmlnaHQiKSxyZWFkb25seTohMCxzdGF0ZTp7d2lkdGg6V3QscGFnZXM6enR9LHNob3dDbG9zZUJ1dHRvbjohMCxjb25maWd1cmF0aW9uOigpPT50KHtjaGFydEFwaUluc3RhbmNlOndpbmRvdy5DaGFydEFwaUluc3RhbmNlfSksbW9kZWxzOigpPT5bXX0pfSkoKSx0cy5vbkRpc2Nvbm5lY3RlZCgpLnN1YnNjcmliZShudWxsLChlPT57dmFyIHQ7b3MoKSxlJiYodD0oKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmRpc2Nvbm5lY3QoKSxzZXRUaW1lb3V0KCgoKT0+e3dpbmRvdy5DaGFydEFwaUluc3RhbmNlLmNvbm5lY3QoKSx0cy5yZWNvbm5lY3QoKX0pLDUwMCl9LHcoKS50aGVuKChlPT5lLnNob3dDcml0aWNhbEVycm9yTWVzc2FnZSh0KSkpKX0pKSx0cy5vblJlY29ubmVjdEJhaWxvdXQoKS5zdWJzY3JpYmUobnVsbCwoKCk9Pnt2YXIgZTtlPSgpPT57c2V0VGltZW91dCgoKCk9Pnt3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5jb25uZWN0KCl9KSwwKX0sdygpLnRoZW4oKHQ9PnQuc2hvd0Rpc2Nvbm5lY3RlZE1lc3NhZ2UoZSkpKX0pKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudHYtY29udGVudCIpLmZvckVhY2goKGU9PntlLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwoZT0+e2UudGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCYmZS50YXJnZXQubWF0Y2hlcygiaW5wdXQsIHRleHRhcmVhIil8fGUucHJldmVudERlZmF1bHQoKX0pKX0pKSxNdC53aG90cmFkZXMmJigwLG8uc2V0RW5hYmxlZCkoIndob3RyYWRlc19hdXRoX29ubHkiLCEwKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubG9hZGluZy1pbmRpY2F0b3IiKS5mb3JFYWNoKChlPT57ZS5yZW1vdmUoKX0pKSwoKCk9PntsZXQgZTtjb25zdCB0PXQ9Pnt2b2lkIDAhPT1lJiYoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikudW5zdWJzY3JpYmUoIndpZGdldFF1b3RlTGlzdGVuZXIiLGUpLGU9dCwoMCxmLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSgic2ltcGxlIikuc3Vic2NyaWJlKCJ3aWRnZXRRdW90ZUxpc3RlbmVyIix0LChlPT57Y29uc3QgdD1lLnZhbHVlcyxzPVsiY2hhbmdlIiwiY2hhbmdlX3BlcmNlbnQiLCJsYXN0X3ByaWNlIiwib3JpZ2luYWxfbmFtZSIsInNob3J0X25hbWUiLCJleGNoYW5nZSIsImRlc2NyaXB0aW9uIiwidm9sdW1lIl0saT17fTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl7Y29uc3Qgbj1zW2VdO2lmKCF0Lmhhc093blByb3BlcnR5KG4pKXJldHVybjtpW25dPXRbbl19aS52b2x1bWU9MWUxMDA9PT10LnZvbHVtZT92b2lkIDA6dC52b2x1bWUsT3QucG9zdChwYXJlbnQsInF1b3RlVXBkYXRlIixpKX0pKX07dHMud2l0aE1vZGVsKG51bGwsKCgpPT57Y29uc3QgZT10cy5tb2RlbCgpLm1haW5TZXJpZXMoKTtlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zeW1ib2wuc3Vic2NyaWJlKGUsKGU9Pnt0KGUudmFsdWUoKSksInRlbGVncmFtIj09PXh0JiZPdC5wb3N0KHBhcmVudCwic3ltYm9sQ2hhbmdlZCIsZS52YWx1ZSgpKX0pKX0pKSxPdC5vbigicXVvdGVTdWJzY3JpYmUiLCgoKT0+e2NvbnN0IGU9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpO3QoZSl9KSksT3Qub24oImltYWdlQ2FudmFzIiwoKGUsdCk9PntadC5jbGllbnRTbmFwc2hvdCgpLnRoZW4oKGU9Pnt0cnl7dCh7ZGF0YVVybDplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksd2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9KX1jYXRjaHt0KCl9fSkpLmNhdGNoKCgoKT0+e3QoKX0pKX0pKSwKT3Qub24oInN5bWJvbEluZm8iLCgoZSx0KT0+e2NvbnN0IHM9KDAsci5lbnN1cmVOb3ROdWxsKSh0cy5tb2RlbCgpLm1haW5TZXJpZXMoKS5zeW1ib2xJbmZvKCkpLGk9dHMubW9kZWwoKS5tYWluU2VyaWVzKCkucHJvcGVydGllcygpLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dCh7bmFtZTpzLm5hbWUsZXhjaGFuZ2U6cy5leGNoYW5nZSxkZXNjcmlwdGlvbjpzLmRlc2NyaXB0aW9uLHR5cGU6cy50eXBlLGludGVydmFsOml9KX0pKSxPdC5vbigid2lkZ2V0UmVhZHkiLCgoZSx0KT0+e3RzLndpdGhNb2RlbChudWxsLCgoKT0+e2xldCBlO3RzLm1vZGVsKCkubWFpblNlcmllcygpLnN5bWJvbEluZm8oKT90KCk6KGU9KCk9Pnt0KCksdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmUobnVsbCxlKX0sdHMubW9kZWwoKS5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkuc3Vic2NyaWJlKG51bGwsZSkpfSkpfSkpLGooJC5OYW1lcy5TZXRTeW1ib2wsKGU9PntlJiZlLnN5bWJvbCYmWnQuc2V0U3ltYm9sKGUuc3ltYm9sKX0pKSxqKCQuTmFtZXMuU2V0SW50ZXJ2YWwsKGU9PntlJiZlLmludGVydmFsJiZadC5zZXRSZXNvbHV0aW9uKGUuaW50ZXJ2YWwpfSkpfSkoKSx3aW5kb3cuYXBwbHlTdHVkaWVzT3ZlcnJpZGVzPWU9PntlJiZ3aW5kb3cuY2hhcnRXaWRnZXRDb2xsZWN0aW9uLmFwcGx5U3R1ZGllc092ZXJyaWRlcyhlKX19LDkzMDIzMShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkaXNhYmxlOigpPT51LGlzRmVhdHVyZXNldEVuYWJsZWQ6KCk9PmEsc2V0RW5hYmxlZDooKT0+bH0pO3ZhciBpPXMoNjM1MTgpO2NvbnN0IG49bmV3IE1hcCxyPW5ldyBNYXAsbz1uZXcgU2V0O2Z1bmN0aW9uIGEoZSl7Y29uc3QgdD1uLmdldChlKTtpZih2b2lkIDAhPT10KXJldHVybiB0O2NvbnN0IHM9ci5nZXQoZSk7cmV0dXJuISFzJiZzLnNvbWUoYSl9ZnVuY3Rpb24gbChlLHQpe24uc2V0KFN0cmluZyhlKSxCb29sZWFuKHQpKX1mdW5jdGlvbiB1KGUpe2woZSwhMSl9IWZ1bmN0aW9uKCl7Zm9yKGNvbnN0W2UsdF1vZiBPYmplY3QuZW50cmllcyhpKSlpZihvLmFkZChlKSwic3Vic2V0cyJpbiB0KWZvcihjb25zdCBzIG9mIHQuc3Vic2V0cyl7by5hZGQocyk7bGV0IHQ9ci5nZXQocyk7dm9pZCAwPT09dCYmKHQ9W10sci5zZXQocyx0KSksdC5wdXNoKGUpfX0oKSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMmJkFycmF5LmlzQXJyYXkoX19pbml0aWFsRGlzYWJsZWRGZWF0dXJlc2V0cykmJl9faW5pdGlhbERpc2FibGVkRmVhdHVyZXNldHMuZm9yRWFjaCh1KSwib2JqZWN0Ij09dHlwZW9mIF9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyYmQXJyYXkuaXNBcnJheShfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMpJiZfX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bChlLCEwKX0pKX0sNzkyNjEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldEZyZXNoSW5pdERhdGE6KCk9PnUsZ2V0SW5pdERhdGE6KCk9PmwsdXBkYXRlSW5pdERhdGE6KCk9PmF9KTt2YXIgaT1zKDEzODYzOCk7Y29uc3Qgbj0oMCxzKDIyMTA2MSkuZ2V0TG9nZ2VyKSgiQ29tbW9uLkluaXREYXRhIikscj13aW5kb3cuaW5pdERhdGF8fHt9O2Z1bmN0aW9uIG8oKXshZnVuY3Rpb24oKXtjb25zdCBlPXdpbmRvdztlLmluaXREYXRhJiZlLmluaXREYXRhIT09ciYmKE9iamVjdC5hc3NpZ24ocixlLmluaXREYXRhKSxlLmluaXREYXRhPXIpfSgpO2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL3Bycy5pbml0LWRhdGEranNvbiJdJyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IHM9ZVt0XTt0cnl7Y29uc3QgZT1KU09OLnBhcnNlKCgwLGkuZW5zdXJlTm90TnVsbCkocy50ZXh0Q29udGVudCkpO09iamVjdC5hc3NpZ24ocixlKX1jYXRjaChlKXtuLmxvZ1dhcm4oYEZhaWxlZCB0byBwYXJzZSBpbml0RGF0YSBlbGVtZW50LiAke2V9YCl9ZmluYWxseXsoMCxpLmVuc3VyZU5vdE51bGwpKHMucGFyZW50Tm9kZSkucmVtb3ZlQ2hpbGQocyl9fWNvbnN0IHQ9ci5jb250ZW50O3QmJnIuc3R1ZHlfbWV0YV9pbmZvX21hcCYmKHQuc3R1ZHlNZXRhSW5mb01hcD17Li4udC5zdHVkeU1ldGFJbmZvTWFwLC4uLnIuc3R1ZHlfbWV0YV9pbmZvX21hcH0pfWZ1bmN0aW9uIGEoKXtvKCl9ZnVuY3Rpb24gbCgpe3JldHVybiByfWZ1bmN0aW9uIHUoKXtyZXR1cm4gbygpLHJ9fSwyNjk1MzEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Q2hhbm5lbE11bHRpcGxleGVyOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3NwZWNpYWxIYW5kbGVycz17fX1vbihlLHQpe2NvbnN0IHM9dGhpcy5faXNTcGVjaWFsQ2hhbm5lbChlKT90aGlzLl9zcGVjaWFsSGFuZGxlcnM6dGhpcy5faGFuZGxlcnM7c1tlXXx8KHNbZV09W10pLHNbZV0ucHVzaCh0KX1vZmYoZSx0KXtjb25zdCBzPXRoaXMuX2lzU3BlY2lhbENoYW5uZWwoZSk/dGhpcy5fc3BlY2lhbEhhbmRsZXJzOnRoaXMuX2hhbmRsZXJzO2lmKCEoZSBpbiBzKSlyZXR1cm47aWYodm9pZCAwPT09dClyZXR1cm4gdm9pZCBkZWxldGUgc1tlXTtjb25zdCBpPXNbZV0uaW5kZXhPZih0KTtpPj0wJiZzW2VdLnNwbGljZShpLDEpfWVtaXQoZSx0LHMsaSl7dGhpcy5faGFuZGxlcnNbc10mJnRoaXMuX2hhbmRsZXJzW3NdLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpO2Zvcihjb25zdCBuIG9mIE9iamVjdC5rZXlzKHRoaXMuX3NwZWNpYWxIYW5kbGVycykpe2NvbnN0IHI9Il4iK24ucmVwbGFjZSgvXCovZywiLio/IikrIiQiO25ldyBSZWdFeHAocikudGVzdChzKSYmdGhpcy5fc3BlY2lhbEhhbmRsZXJzW25dLmZvckVhY2goKG49PntuKGUsdCxzLGkpfSkpfX1faXNTcGVjaWFsQ2hhbm5lbChlKXtyZXR1cm4vXCovLnRlc3QoZSl9fX0sNjE1NzY5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse011bHRpcGxleGVyU3RhdGU6KCk9Pmx9KQo7dmFyIGk9cyg5NDgzODApLG49cygxNTAxNTApLHI9cyg3Njg3NjApLG89cygxNTI2OTkpLGE9cyg4NDg4NTUpO2NsYXNzIGx7Y29uc3RydWN0b3IoKXt0aGlzLl9pZD0oMCxuLmd1aWQpKCksdGhpcy5fc3RhdGU9e1t0aGlzLl9pZF06e319LHRoaXMuX3hFdmVudFByZWZpeD0ibXVsdGlwbGV4ZXItc3RhdGUtIix0aGlzLl94RXZlbnRDcmVhdGVUYWI9dGhpcy5feEV2ZW50UHJlZml4KyJjcmVhdGUtbmV3LXRhYiIsdGhpcy5feEV2ZW50U2hhcmVTdGF0ZT10aGlzLl94RXZlbnRQcmVmaXgrInNoYXJlLXN0YXRlIix0aGlzLl9sb2NrTmFtZT0idGFiX2Rlc3RydWN0aW9uIix0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlPW5ldyBpLkRlbGVnYXRlLHRoaXMuX2NyZWF0ZWRMb2Nrcz17fSx0aGlzLl9sb2NrRW5hYmxlZD0oMCxhLndlYkxvY2tFbmFibGVkKSgpLHRoaXMuX2xvY2tQcm9taXNlPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX2xvY2tDcmVhdGVkPSgwLHIuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLHRoaXMuX29uVGFiQ3JlYXRlQ2I9bnVsbCx0aGlzLl9vblRhYkNyZWF0ZT1lPT57dGhpcy5fb25UYWJDcmVhdGVDYiYmdGhpcy5fb25UYWJDcmVhdGVDYigpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zdGF0ZVt0XT17fSx0aGlzLl9zaGFyZVN0YXRlKCksdGhpcy5fcmVxdWVzdFRhYlJlbW92ZUxvY2sodCl9LHRoaXMuX3NoYXJlU3RhdGU9YXN5bmMoKT0+e2F3YWl0IHRoaXMuX2xvY2tDcmVhdGVkLnByb21pc2U7Y29uc3QgZT1KU09OLnN0cmluZ2lmeShbdGhpcy5faWQsdGhpcy5fc3RhdGVbdGhpcy5faWRdXSk7by5UVlhXaW5kb3dFdmVudHMuZW1pdCh0aGlzLl94RXZlbnRTaGFyZVN0YXRlLGUpfSx0aGlzLl9yZXF1ZXN0VGFiUmVtb3ZlTG9jaz1lPT57IXRoaXMuX2NyZWF0ZWRMb2Nrc1tlXSYmdGhpcy5fbG9ja0VuYWJsZWQmJih0aGlzLl9jcmVhdGVkTG9ja3NbZV09MSxuYXZpZ2F0b3IubG9ja3MucmVxdWVzdChgJHt0aGlzLl9sb2NrTmFtZX1fJHtlfWAsKGFzeW5jKCk9Pntjb25zdCB0PXRoaXMuX3N0YXRlW2VdfHx7fTt0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx7fSx0LCJhZGQiKSx0aGlzLl9jb21wYXJlVGFiU3RhdGUoZSx0LHt9LCJyZW1vdmUiKSxkZWxldGUgdGhpcy5fc3RhdGVbZV0sZGVsZXRlIHRoaXMuX2NyZWF0ZWRMb2Nrc1tlXX0pKSl9LHRoaXMuX29uU2hhcmVTdGF0ZUZyb21PdGhlcj1lPT57Y29uc3RbdCxzXT1KU09OLnBhcnNlKGUpLGk9dGhpcy5fc3RhdGVbdF18fHt9O3RoaXMuX2NvbXBhcmVUYWJTdGF0ZSh0LHMsaSwiYWRkIiksdGhpcy5fY29tcGFyZVRhYlN0YXRlKHQsaSxzLCJyZW1vdmUiKSx0aGlzLl9zdGF0ZVt0XT1zLHRoaXMuX3JlcXVlc3RUYWJSZW1vdmVMb2NrKHQpfSx0aGlzLl9yZW1vdmVDaGFubmVsPShlLHQpPT57ZGVsZXRlIHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXVt0XSx0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihlLHQpfHx0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLmZpcmUoInJlbW92ZSIsZSx0KTswPT09T2JqZWN0LmtleXModGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdKS5sZW5ndGgmJmRlbGV0ZSB0aGlzLl9zdGF0ZVt0aGlzLl9pZF1bZV19LG8uVFZYV2luZG93RXZlbnRzLm9uKHRoaXMuX3hFdmVudENyZWF0ZVRhYix0aGlzLl9vblRhYkNyZWF0ZSksby5UVlhXaW5kb3dFdmVudHMub24odGhpcy5feEV2ZW50U2hhcmVTdGF0ZSx0aGlzLl9vblNoYXJlU3RhdGVGcm9tT3RoZXIpLHRoaXMuX2xvY2tFbmFibGVkP25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGAke3RoaXMuX2xvY2tOYW1lfV8ke3RoaXMuX2lkfWAsKGFzeW5jKCk9PihvLlRWWFdpbmRvd0V2ZW50cy5lbWl0KHRoaXMuX3hFdmVudENyZWF0ZVRhYixKU09OLnN0cmluZ2lmeSh0aGlzLl9pZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgoKT0+dGhpcy5fbG9ja1Byb21pc2UucmVzb2x2ZSgpKSksdGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpLHRoaXMuX2xvY2tQcm9taXNlLnByb21pc2UpKSk6dGhpcy5fbG9ja0NyZWF0ZWQucmVzb2x2ZSgpfWFkZENoYW5uZWwoZSx0KXt0aGlzLl9pc05vdEVtcHR5KGUsdCk/dGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdKys6KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXXx8KHRoaXMuX3N0YXRlW3RoaXMuX2lkXVtlXT17fSksdGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdPTEpLHRoaXMuX2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCl8fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZSgiYWRkIixlLHQpLHRoaXMuX3NoYXJlU3RhdGUoKX1yZW1vdmVDaGFubmVsKGUsdCl7dGhpcy5faXNFeGlzdChlLHQpJiYodGhpcy5fc3RhdGVbdGhpcy5faWRdW2VdW3RdLS0sdGhpcy5faXNOb3RFbXB0eShlLHQpfHx0aGlzLl9yZW1vdmVDaGFubmVsKGUsdCksdGhpcy5fc2hhcmVTdGF0ZSgpKX1jb2xsZWN0UHVzaFN0cmVhbUNoYW5uZWxzKGUpe2NvbnN0IHQ9bmV3IFNldDtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLmZvckVhY2goKHM9Pntjb25zdCBpPXRoaXMuX3N0YXRlW3NdW2VdO3RoaXMuX3N0YXRlW3NdW2VdJiZPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT50LmFkZChlKSkpfSkpLEFycmF5LmZyb20odCl9b25TdGF0ZUNoYW5nZShlKXt0aGlzLl9zdGF0ZUNoYW5nZURlbGVnYXRlLnN1YnNjcmliZShudWxsLGUpfW9mZlN0YXRlQ2hhbmdlKGUpe3RoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUudW5zdWJzY3JpYmUobnVsbCxlKX1vblRhYkNyZWF0ZShlKXt0aGlzLl9vblRhYkNyZWF0ZUNiPWV9X2lzRXhpc3QoZSx0LHM9dGhpcy5faWQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9zdGF0ZVtzXSYmdm9pZCAwIT09dGhpcy5fc3RhdGVbc11bZV0mJnZvaWQgMCE9PXRoaXMuX3N0YXRlW3NdW2VdW3RdfV9pc05vdEVtcHR5KGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gdGhpcy5faXNFeGlzdChlLHQscykmJnRoaXMuX3N0YXRlW3NdW2VdW3RdPjB9X2NvbXBhcmVUYWJTdGF0ZShlLHQscyxpKXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Ck9iamVjdC5rZXlzKHRbbl0pLmZvckVhY2goKHQ9Pnt0aGlzLl9pc0xpc3RlbkJ5QW5vdGhlclRhYihuLHQsZSl8fHNbbl0mJnNbbl1bdF18fHRoaXMuX3N0YXRlQ2hhbmdlRGVsZWdhdGUuZmlyZShpLG4sdCl9KSl9KSl9X2lzTGlzdGVuQnlBbm90aGVyVGFiKGUsdCxzPXRoaXMuX2lkKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fc3RhdGUpLnNvbWUoKGk9PmkhPT1zJiZ0aGlzLl9pc05vdEVtcHR5KGUsdCxpKSkpfX19LDIyNDQwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQdXNoU3RyZWFtOigpPT5fLFRyYW5zcG9ydFR5cGU6KCk9Pm0sbG9nZ2VyU3Vic3lzdGVtSWQ6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDIyMTA2MSkscj1zKDgwOTk5Myksbz1zKDYzMjY4NiksYT1zKDI5NTYyNik7Y29uc3QgbD0oMCxuLmdldExvZ2dlcikoIlBlcnNpc3RlbnRXZWJzb2NrZXRUcmFuc3BvcnQiKTtjbGFzcyB1IGV4dGVuZHMgYS5QZXJzaXN0ZW50VHJhbnNwb3J0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSxsLHQpfXNlbmRNZXNzYWdlKGUpe3RoaXMuX2Nvbm5lY3Rpb25TdGF0dXMudmFsdWUoKT09PW8uQ29ubmVjdGlvblN0YXR1cy5PcGVuP3RoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQuc2VuZChlKTpsLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgzIik6bC5sb2dXYXJuKCJBdHRlbXB0IHRvIHNlbmQgbWVzc2FnZSBidXQgY29ubmVjdGlvbiBpcyBub3Qgb3BlbmVkIil9X2NyZWF0ZU5hdGl2ZVRyYW5zcG9ydChlKXtjb25zdCB0PW5ldyBXZWJTb2NrZXQoZSx0aGlzLl9jb25uZWN0aW9uT3B0aW9ucz8ucHJvdG9jb2xzKTtyZXR1cm4gdC5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5fc29ja2V0RXJyb3JIYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5fc29ja2V0TWVzc2FnZUhhbmRsZXIpLHR9X2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKXtpZihudWxsPT09dGhpcy5fc29ja2V0KXJldHVybjt0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuX3NvY2tldEVycm9ySGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlIix0aGlzLl9zb2NrZXRDbG9zZUhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJvcGVuIix0aGlzLl9zb2NrZXRPcGVuSGFuZGxlciksdGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0aGlzLl9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpO2NvbnN0IGU9dGhpcy5fc29ja2V0O3RoaXMuX3NvY2tldD1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUoby5Db25uZWN0aW9uU3RhdHVzLkNsb3NlZCksZS5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNMT1NFRCYmZS5jbG9zZSgpfX12YXIgYz1zKDE1Njg1MCk7Y2xhc3MgZHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9pc1dvcmtpbmc9ITEsdGhpcy5fb25SZXNvbHZlPSgpPT57dGhpcy5fcXVldWUubGVuZ3RoPjAmJnRoaXMuX2NyZWF0ZVByb21pc2UodGhpcy5fcXVldWVbMF0pfSx0aGlzLl9sb2dnZXI9ZX1lbnF1ZXVlKGUpe3RoaXMuX2xvZ2dlci5sb2dOb3JtYWwoYEFkZGluZyBjaGFubmVsIGluIHN0YWNrLiBRdWV1ZSBzaXplOiAke3RoaXMuX3F1ZXVlLmxlbmd0aH1gKSx0aGlzLl9pc1dvcmtpbmd8fHRoaXMuX2NyZWF0ZVByb21pc2UoZSksdGhpcy5fcXVldWUucHVzaChlKX1fY3JlYXRlUHJvbWlzZShlKXt0aGlzLl9pc1dvcmtpbmc9ITAsdGhpcy5fd3JhcChlKS50aGVuKHRoaXMuX29uUmVzb2x2ZSl9X3dyYXAoZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57ZSgpLmNhdGNoKChlPT50aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBFcnJvciB3aGVuIHRyeWluZyBoYW5kbGluZyBjaGFubmVsOiAke2UubWVzc2FnZX1gKSkpLmZpbmFsbHkoKCgpPT57dGhpcy5faXNXb3JraW5nPSExLHRoaXMuX3F1ZXVlLnNoaWZ0KCksdCgpfSkpfSkpfX1jb25zdCBoPSJQdXNoU3RyZWFtIixwPSgwLG4uZ2V0TG9nZ2VyKShoKTt2YXIgbTshZnVuY3Rpb24oZSl7ZVtlLkV2ZW50U291cmNlPTBdPSJFdmVudFNvdXJjZSIsZVtlLldlYlNvY2tldD0xXT0iV2ViU29ja2V0In0obXx8KG09e30pKTtjbGFzcyBfe2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fY2hhbm5lbHM9W10sdGhpcy5fcXVldWU9bmV3IGQocCksdGhpcy5fdHJhbnNwb3J0PXQudHJhbnNwb3J0VHlwZT09PW0uRXZlbnRTb3VyY2U/bmV3IHIuUGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0KHRoaXMuX29uUHVzaFN0cmVhbU1lc3NhZ2UuYmluZCh0aGlzKSk6bmV3IHUodGhpcy5fb25QdXNoU3RyZWFtTWVzc2FnZS5iaW5kKHRoaXMpLHRoaXMuX29uUHVzaFN0cmVhbUNsb3NlLmJpbmQodGhpcykpLHRoaXMuX3NldHRpbmdzPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZX1hZGRDaGFubmVsKGUpe3RoaXMuX3F1ZXVlLmVucXVldWUoKCgpPT50aGlzLl9hZGRDaGFubmVsKGUpKSl9cmVtb3ZlQ2hhbm5lbChlKXt0aGlzLl9xdWV1ZS5lbnF1ZXVlKCgoKT0+dGhpcy5fcmVtb3ZlQ2hhbm5lbChlKSkpfWdldENoYW5uZWxzKCl7cmV0dXJuIHRoaXMuX2NoYW5uZWxzfWhhc0NoYW5uZWwoZSl7cmV0dXJuLTEhPT10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpfWNvbm5lY3Rpb25TdGF0dXMoKXtyZXR1cm4gdGhpcy5fdHJhbnNwb3J0LmNvbm5lY3Rpb25TdGF0dXMoKX1yZWNvbm5lY3RFdmVudCgpe3JldHVybiB0aGlzLl90cmFuc3BvcnQuc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudCgpfWNvbm5lY3QoKXsoMCxpLmFzc2VydCkoMCE9PXRoaXMuX2NoYW5uZWxzLmxlbmd0aCwiVGhlcmUgaXMgbm8gY2hhbm5lbHMiKSx0aGlzLl90cmFuc3BvcnQuY29ubmVjdCgpfWRpc2Nvbm5lY3QoKXsKdGhpcy5fdHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1nZXRMb2dzKGUpe3JldHVybigwLG4uZ2V0UmF3TG9nSGlzdG9yeSkoZSxoKX1hc3luYyBfYWRkQ2hhbm5lbChlKXsoMCxpLmFzc2VydCkoIXRoaXMuaGFzQ2hhbm5lbChlKSxgQ2hhbm5lbCB3aXRoIG5hbWUgJHtlfSBoYXMgYWxyZWFkeSBiZWVuIHN1YnNjcmliZWRgKSxwLmxvZ05vcm1hbChgQWRkaW5nIGNoYW5uZWwgJHtlfWApLHRoaXMuX2NoYW5uZWxzLnB1c2goZSk7Y29uc3R7bWF4U2l6ZTp0fT10aGlzLl9zZXR0aW5ncztyZXR1cm4gdm9pZCAwIT09dCYmdGhpcy5fY2hhbm5lbHMubGVuZ3RoPnQmJih0aGlzLl9jaGFubmVscz10aGlzLl9jaGFubmVscy5zbGljZSh0aGlzLl9jaGFubmVscy5sZW5ndGgtdCkpLHRoaXMuX3RyYW5zcG9ydC5zZXRVcmwodGhpcy5fZ2VuZXJhdGVVcmwoKSl9YXN5bmMgX3JlbW92ZUNoYW5uZWwoZSl7Y29uc3QgdD10aGlzLl9jaGFubmVscy5pbmRleE9mKGUpO3JldHVybigwLGkuYXNzZXJ0KSgtMSE9PXQsYFRoZXJlIGlzIG5vIGNoYW5uZWwgd2l0aCBuYW1lICR7ZX1gKSxwLmxvZ05vcm1hbChgUmVtb3ZpbmcgY2hhbm5lbCAke2V9YCksdGhpcy5fY2hhbm5lbHMuc3BsaWNlKHQsMSksdGhpcy5fdHJhbnNwb3J0LnNldFVybCh0aGlzLl9nZW5lcmF0ZVVybCgpKX1fb25QdXNoU3RyZWFtTWVzc2FnZShlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJXcm9uZyBtZXNzYWdlIHR5cGUsIGV4cGVjdGVkIHN0cmluZyIpO2NvbnN0IHQ9SlNPTi5wYXJzZShlKTt0aGlzLl9zZXR0aW5ncy50ZWxlbWV0cnlFbmFibGVkKCkmJnRoaXMuX2hhbmRsZUJhc2ljVGVsZW1ldHJ5KHQpO2NvbnN0IHM9dC5pZCxpPXQuY2hhbm5lbDstMj09PXM/cC5sb2dXYXJuKCJSZWNlaXZlZCB1bmV4cGVjdGVkIG1lc3NhZ2U6IGFib3V0IHJlbW92ZWQgdGhlIGNoYW5uZWwiKTpzPjAmJihwLmxvZ0RlYnVnKGBSZWNlaXZlZCBtZXNzYWdlOiBpZD0iJHtzfSIgY2hhbm5lbD0iJHtpfSJgKSx0aGlzLl9tZXNzYWdlSGFuZGxlcih0LnRleHQscyxpKSl9X2hhbmRsZUJhc2ljVGVsZW1ldHJ5KGUpe3RyeXtjb25zdCB0PSJ0cmFkaW5nIixzPWUudGV4dC5jb250ZW50Ll90cyxpPWUudGV4dC5jb250ZW50Ll9ydHMsbj1EYXRlLm5vdygpO2lmKHMpe2NvbnN0IGU9bi1zO2U+MCYmZTwzNmU1JiYoYy50ZWxlbWV0cnkuc2VuZFJlcG9ydCh0LCJzZXJ2aWNlMmNsaWVudF90aW1lIix7dmFsdWU6ZX0pLGkmJmMudGVsZW1ldHJ5LnNlbmRSZXBvcnQodCwibmdpbngyY2xpZW50X3RpbWUiLHt2YWx1ZTpuLWl9KSl9fWNhdGNoKGUpe319X29uUHVzaFN0cmVhbUNsb3NlKGUpezEwMDU9PT1lLmNvZGUmJmMudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydCgid2Vic29ja2V0X2NvZGVfMTAwNSIpfV9nZW5lcmF0ZVVybCgpe2NvbnN0IGU9dGhpcy5fY2hhbm5lbHMuam9pbigiLyIpO3JldHVybiBwLmxvZ05vcm1hbChgR2VuZXJhdGUgcHVzaHN0cmVhbSB1cmwgLSAke2V9YCksYCR7dGhpcy5fc2V0dGluZ3MudXJsfS8ke3RoaXMuX3NldHRpbmdzLnVybFBhdGh9LyR7ZX1gfX19LDg0ODg1NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt3ZWJMb2NrRW5hYmxlZDooKT0+bn0pO3ZhciBpPXMoNzM4NDU4KTtmdW5jdGlvbiBuKCl7cmV0dXJuIWkuaXNJT1MmJiFpLmlzSVBhZCYmdm9pZCAwIT09bmF2aWdhdG9yLmxvY2tzfX0sOTMwNTY2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtkZWZhdWx0OigpPT5KLGdldEJvb2w6KCk9PlYsZ2V0RmxvYXQ6KCk9PkEsZ2V0SW50OigpPT5GLGdldEpTT046KCk9PlIsZ2V0VmFsdWU6KCk9Pngsa2V5czooKT0+TixrZXlzTWFzazooKT0+Vyxsb2FkZWQ6KCk9PkssbG9hZGVkTW9kZWw6KCk9Plksb25TeW5jOigpPT5qLHJlbW92ZTooKT0+ayxzZXRKU09OOigpPT5PLHNldFNldHRpbmdzQWRhcHRlcjooKT0+cSxzZXRWYWx1ZTooKT0+QixzeW5jOigpPT4kfSk7dmFyIGk9cyg5NDgzODApLG49cygyMjEwNjEpLHI9cyg1NDA1NzgpLG89cyg5MzAyMzEpLGE9cyg1NjkzOTgpLGw9cyg5MDk3OTgpLHU9cygzNzcyMjYpLGM9cygzODQwMTcpLGQ9cygxNTI2OTkpLGg9cyg5MzIzNjUpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IHA9WyJzLnRyYWRpbmd2aWV3LmNvbSIsImJldGFjZG4udHJhZGluZ3ZpZXcuY29tIl0sbT0oKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgidXNlX2xvY2Fsc3RvcmFnZV9mb3Jfc2V0dGluZ3MiKSwibG9jYWwiPT09d2luZG93LmVudmlyb25tZW50PzVlMzoxMmU0KSxfPSgwLHUub25XaWRnZXQpKCk/InRyYWRpbmd2aWV3LXdpZGdldCI6InRyYWRpbmd2aWV3IixnPV8rIi4iO2xldCB5LGYsdixiPSExLFM9bnVsbCx3PXt9LFA9W107Y29uc3QgVD1bL153aWRnZXRiYXJcLndpZGdldFwud2F0Y2hsaXN0LisvLC8uK3F1aWNrcyQvLC9ed2lkZ2V0YmFyXC5sYXlvdXQtc2V0dGluZ3MkLywvXkNoYXJ0U2lkZVRvb2xiYXJXaWRnZXRcLnZpc2libGUkLywvXm9ud2lkZ2V0XC53YXRjaGxpc3QkLywvXmNoYXJ0XC5mYXZvcml0ZURyYXdpbmdzJC8sL15jaGFydFwuZmF2b3JpdGVEcmF3aW5nc1Bvc2l0aW9uJC8sL15jaGFydFwuZmF2b3JpdGVMaWJyYXJ5SW5kaWNhdG9ycyQvLC9ebG9hZENoYXJ0RGlhbG9nLmZhdm9yaXRlcyQvLC9eQ2hhcnRGYXZvcml0ZURyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlLywvXnRyYWRpbmdcLmNoYXJ0XC5wcm90ZXJ0eSQvLC9edHJhZGluZ19mbG9hdGluZ190b29sYmFyXC5wb3NpdGlvbiQvLC9edHJhZGluZ1wub3JkZXJXaWRnZXRNb2RlXC4vLC9ec3ltYm9sV2F0ZXJtYXJrJC8sL15waW5lcmVmZXJlbmNlXC5zaXplJC8sL15waW5lcmVmZXJlbmNlXC5wb3NpdGlvbiQvLC9eaGludFwuKy8sL15DaGFydERyYXdpbmdUb29sYmFyV2lkZ2V0XC52aXNpYmxlL107Y29uc3QgQz0oKT0+IShTfHx3aW5kb3cuaXNfYXV0aGVudGljYXRlZCksRT1lPT5nK2UsST0oMCxuLmdldExvZ2dlcikoIkxpYi5UVlNldHRpbmdzIiksTD1lPT57aWYoYnx8dilyZXR1cm47aWYoKDAsCmEuaXNGZWF0dXJlRW5hYmxlZCkoImRpc2FibGVfc2F2ZV9zZXR0aW5ncyIpKXJldHVybiB2b2lkIEk/LmxvZ1dhcm4oIlNldHRpbmdzIGZsYXNoaW5nIGhhcyBiZWVuIHNraXBwZWQgYmVjYXVzZSBvZiBkaXNhYmxlX3NhdmVfc2V0dGluZ3MgZmVhdHVyZXRvZ2dsZSIpO2lmKCgwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoIndpZGdldCIpKXJldHVybjtpZihDKCkpcmV0dXJuO2lmKDA9PT1QLmxlbmd0aClyZXR1cm47Y29uc3QgdD1QO1A9W107Y29uc3Qgcz17fTtmb3IobGV0IGU9dC5sZW5ndGg7ZS0tOyl7Y29uc3QgaT10W2VdO3NbaV09d1tpXT8/bnVsbH1jb25zdCBpPW5ldyBGb3JtRGF0YTtpLmFwcGVuZCgiZGVsdGEiLEpTT04uc3RyaW5naWZ5KHMpKSxlJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL3NhdmVzZXR0aW5ncy8iLGkpOigwLGMuZmV0Y2gpKCIvc2F2ZXNldHRpbmdzLyIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGJvZHk6aX0pLnRoZW4oKHM9PntpZihzLm9rfHwoUD1QLmNvbmNhdCh0KSksWzQyOSw1MDNdLmluY2x1ZGVzKHMuc3RhdHVzKSl7Y29uc3QgdD0xZTMqKyhzLmhlYWRlcnMuZ2V0KCJyZXRyeS1hZnRlciIpfHwwKXx8M2U1O3Y9c2V0VGltZW91dCgoKCk9Pnt2PXZvaWQgMCxMKGUpfSksdCl9fSkpLmNhdGNoKCgoKT0+e1A9UC5jb25jYXQodCl9KSl9LE09KCk9Pnt5PXZvaWQgMCxQLmxlbmd0aCYmTCgpfSxEPShlLHQ9e30pPT57aWYoUyludWxsPT13W2VdP1MucmVtb3ZlVmFsdWUoZSk6Uy5zZXRWYWx1ZShlLHdbZV0pO2Vsc2UgaWYoQygpKXRyeXtudWxsPT13W2VdP2guVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShFKGUpKTpoLlRWTG9jYWxTdG9yYWdlLnNldEl0ZW0oRShlKSx3W2VdKX1jYXRjaChlKXt9ZWxzZSBQLnB1c2goZSkseXx8KHk9c2V0VGltZW91dChNLG0pKTt0LnNraXBDcm9zc1dpbmRvd0V2ZW50fHxkLlRWWFdpbmRvd0V2ZW50cy5lbWl0KCJzZXR0aW5ncyIsSlNPTi5zdHJpbmdpZnkoe2tleTplLHZhbHVlOndbZV19KSl9O2Z1bmN0aW9uIHgoZSx0KXtjb25zdCBzPXdbZV07cmV0dXJuIHM/P3R9ZnVuY3Rpb24gUihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O3RyeXtyZXR1cm4gSlNPTi5wYXJzZShzKX1jYXRjaChzKXtyZXR1cm4gayhlKSx0fX1mdW5jdGlvbiBrKGUsdD17fSl7cmV0dXJuIG51bGwhPXdbZV0mJihkZWxldGUgd1tlXSxEKGUpKSx0LmZvcmNlRmx1c2gmJkwoKSxHfWZ1bmN0aW9uIFYoZSx0KXtjb25zdCBzPXgoZSk7cmV0dXJuIG51bGw9PXM/dDohKCFzfHwiZmFsc2UiPT09c3x8MD09K3MpfWZ1bmN0aW9uIEEoZSx0KXtjb25zdCBzPXgoZSk7aWYobnVsbD09cylyZXR1cm4gdDtjb25zdCBpPXBhcnNlRmxvYXQocyk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGZsb2F0IChrZXk6ICInK2UrJyIpJyk7cmV0dXJuIGl9ZnVuY3Rpb24gRihlLHQpe2NvbnN0IHM9eChlKTtpZihudWxsPT1zKXJldHVybiB0O2NvbnN0IGk9cGFyc2VJbnQocywxMCk7aWYoIWlzRmluaXRlKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyInK3MrJyIgaXMgbm90IGludCAoa2V5OiAiJytlKyciKScpO3JldHVybiBpfWZ1bmN0aW9uIEIoZSx0LHM9e30pe2NvbnN0IGk9IiIrdDtyZXR1cm4gd1tlXSE9PWkmJih3W2VdPWksRChlLHMpKSxzLmZvcmNlRmx1c2gmJiFmJiYoZj1zZXRUaW1lb3V0KCgoKT0+e2Y9dm9pZCAwLEwoKX0pLDEwKSksR31mdW5jdGlvbiBPKGUsdCxzKXtyZXR1cm4gQihlLEpTT04uc3RyaW5naWZ5KHQpLHMpLEd9ZnVuY3Rpb24gTigpe3JldHVybiBPYmplY3Qua2V5cyh3KX1mdW5jdGlvbiBXKGUpe2NvbnN0IHQ9TigpLHM9W10saT1uZXcgUmVnRXhwKCJeIisoMCxyLnJlZ0V4cEVzY2FwZSkoZSkucmVwbGFjZSgvXFxcKlxcXCovZ2ksIi4rIikucmVwbGFjZSgvXFxcKi9naSwiW14uXSsiKSsiJCIsImdpIik7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0paS50ZXN0KHRbZV0pJiZzLnB1c2godFtlXSksaS5sYXN0SW5kZXg9MDtyZXR1cm4gc31kLlRWWFdpbmRvd0V2ZW50cy5vbigic2V0dGluZ3MiLChlPT57Y29uc3QgdD1KU09OLnBhcnNlKGUpO251bGw9PXQudmFsdWU/ZGVsZXRlIHdbdC5rZXldOndbdC5rZXldPXQudmFsdWV9KSk7Y29uc3QgVT1lPT57Zm9yKGxldCB0PTA7dDxULmxlbmd0aDsrK3QpaWYoVFt0XS5leGVjKGUpKXJldHVybiEwO3JldHVybiExfSx6PWU9PmUuc3Vic3RyaW5nKDAsZy5sZW5ndGgpPT09ZyxIPWU9Pnt3PXt9O2NvbnN0IHQ9MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aDt0fHwoZT0+e09iamVjdC5rZXlzKGUpLmZvckVhY2goKHQ9Pnt3W3RdPWVbdF0rIiJ9KSl9KShlKSwoZT0+e2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO3MmJnoocykmJihlJiZCKHMuc3Vic3RyaW5nKGcubGVuZ3RoKSxoLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpLGguVFZMb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShzKSl9fSkodCl9LGo9bmV3IGkuRGVsZWdhdGU7ZnVuY3Rpb24gJChlKXtudWxsIT09ZT8oUz9IKFMuaW5pdGlhbFNldHRpbmdzfHx7fSk6QygpPygoKCk9PntpZighKDAsdS5vbldpZGdldCkoKXx8IXAuaW5jbHVkZXMod2luZG93LmxvY2F0aW9uLmhvc3QpKXJldHVybjtjb25zdCBlPSJ0cmFkaW5ndmlldy4iO2ZvcihsZXQgdD1oLlRWTG9jYWxTdG9yYWdlLmxlbmd0aDt0LS07KXtjb25zdCBzPWguVFZMb2NhbFN0b3JhZ2Uua2V5KHQpO2lmKDA9PT1zLmluZGV4T2YoZSkpe2NvbnN0IHQ9cy5yZXBsYWNlKGUsXysiLiIpO2guVFZMb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGguVFZMb2NhbFN0b3JhZ2UuZ2V0SXRlbShzKSksaC5UVkxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHMpfX19KSgpLCgoKT0+e3c9e307Y29uc3QgZT0hKDAsby5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2F2ZV9jaGFydF9wcm9wZXJ0aWVzX3RvX2xvY2FsX3N0b3JhZ2UiKTtmb3IobGV0IHQ9aC5UVkxvY2FsU3RvcmFnZS5sZW5ndGg7dC0tOyl7CmNvbnN0IHM9aC5UVkxvY2FsU3RvcmFnZS5rZXkodCk7aWYoIXN8fCF6KHMpKWNvbnRpbnVlO2NvbnN0IGk9cy5zdWJzdHJpbmcoZy5sZW5ndGgpO2UmJiFVKGkpfHwod1tpXT1oLlRWTG9jYWxTdG9yYWdlLmdldEl0ZW0ocykpfX0pKCkpOkgoZXx8e30pLGouZmlyZSgpKTpiPSEwfWZ1bmN0aW9uIHEoZSl7Uz1lfWNvbnN0IEs9ITEsWT0hMSxHPXtsb2FkZWQ6Syxsb2FkZWRNb2RlbDpZLGdldFZhbHVlOngsZ2V0SlNPTjpSLGdldEJvb2w6VixnZXRGbG9hdDpBLGdldEludDpGLHNldFZhbHVlOkIsc2V0SlNPTjpPLHJlbW92ZTprLGtleXM6TixrZXlzTWFzazpXLHN5bmM6JCxvblN5bmM6aixzZXRTZXR0aW5nc0FkYXB0ZXI6cX0sSj1HO3dpbmRvdy5UVlNldHRpbmdzPUcsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCgpPT57ImhpZGRlbiIhPT1kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJiEwIT09ZG9jdW1lbnQuaGlkZGVufHxMKCl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKCk9PntMKCEwKX0pKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwoKCk9PntMKCEwKX0pKSxsLmZsdXNoRGVsZWdhdGUuc3Vic2NyaWJlKG51bGwsKCgpPT57TCgpfSkpLHNldFRpbWVvdXQoKGFzeW5jKCk9Pntjb25zdHtjbGVhck9sZFNldHRpbmdzOmV9PWF3YWl0IHMuZSgzNTk4MCkudGhlbihzLmJpbmQocyw3NTQxODUpKTtlKCl9KSwzZTQpfSw3MDA4MDkoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7REVDRU1CRVI6KCk9PlMsRklSU1RfREFZX09GX1dFRUs6KCk9PnAsRlJJREFZOigpPT5kLEpBTlVBUlk6KCk9Pl8sSlVMWTooKT0+ZixMQVNUX0RBWV9PRl9XRUVLOigpPT5tLE1BUkNIOigpPT5nLE1BWTooKT0+eSxNT05EQVk6KCk9PmEsTk9WRU1CRVI6KCk9PmIsU0FUVVJEQVk6KCk9PmgsU0VQVEVNQkVSOigpPT52LFNVTkRBWTooKT0+byxUSFVSU0RBWTooKT0+YyxUVUVTREFZOigpPT5sLFdFRE5FU0RBWTooKT0+dSxhZGRfZGF0ZTooKT0+QSxhZGRfbWludXRlczooKT0+RixjYWxfdG9fdXRjOigpPT5HLGNsb25lOigpPT5PLGRheXNfcGVyX3llYXI6KCk9PlcsZ2V0X2NhbDooKT0+cSxnZXRfY2FsX2Zyb21fdW5peF90aW1lc3RhbXBfbXM6KCk9PkssZ2V0X2NhbF91dGM6KCk9PlksZ2V0X2RheV9vZl9tb250aDooKT0+TSxnZXRfZGF5X29mX3dlZWs6KCk9PkQsZ2V0X2RheV9vZl95ZWFyOigpPT54LGdldF9kYXlzX2luX21vbnRoOigpPT5OLGdldF9ob3VyczooKT0+SSxnZXRfbWludXRlczooKT0+TCxnZXRfbWludXRlc19mcm9tX21pZG5pZ2h0OigpPT5SLGdldF9taW51dGVzX3dpdGhfaG91cnM6KCk9PmssZ2V0X21vbnRoOigpPT5FLGdldF90aW1lem9uZTooKT0+SixnZXRfeWVhcjooKT0+Qyxpc19sZWFwX3llYXI6KCk9PlUsbWlsbGlzZWNvbmRzUGVyRGF5OigpPT5ULG1pbnV0ZXNQZXJEYXk6KCk9PncsbWludXRlc1BlcldlZWs6KCk9PlAsc2V0X2htczooKT0+VixzZXRfc2Vjb25kczooKT0+Qix0aW1lX3NlY29uZHM6KCk9PnosdGltZV9zZWNvbmRzX2RpZmY6KCk9PkgsdXRjX3RvX2NhbDooKT0+aix1dGNfdG9fY2FsX3RzOigpPT4kfSk7dmFyIGk9cyg3MTIxODEpO2NvbnN0IG49ezA6MCwxOjMxLDI6NTksMzo5MCw0OjEyMCw1OjE1MSw2OjE4MSw3OjIxMiw4OjI0Myw5OjI3MywxMDozMDQsMTE6MzM0fTtjbGFzcyBye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludmFsaWQ9ITEsdGhpcy5fbmFtZT1lO2xldCB0PWkudHpEYXRhPy5bZV0/P251bGw7IXQmJlgmJih0PVguaW5zdGFuY2UoKS5nZXRUaW1lem9uZURhdGEoZSkpLHR8fCh0PXt0aW1lOltdLG9mZnNldDpbXX0sdGhpcy5faW52YWxpZD0hMCksdC50aW1lLmxlbmd0aCE9PXQub2Zmc2V0Lmxlbmd0aCYmKHQ9e3RpbWU6W10sb2Zmc2V0OltdfSx0aGlzLl9pbnZhbGlkPSEwKTtjb25zdCBzPXQ7aWYoIXMudGltZV91dGMpe2NvbnN0IGU9dC50aW1lLGk9dC5vZmZzZXQsbj1lLmxlbmd0aCxyPW5ldyBBcnJheShuKTtmb3IobGV0IHQ9MDt0PG47dCsrKWVbdF0qPTFlMyxpW3RdKj0xZTMsclt0XT1lW3RdLWlbdF07cy50aW1lX3V0Yz1yfXRoaXMudHo9c31vZmZzZXRfdXRjKGUpe3JldHVybiByLm9mZnNldCh0aGlzLnR6LnRpbWVfdXRjLHRoaXMudHoub2Zmc2V0LGUpfW9mZnNldF9sb2MoZSl7cmV0dXJuIHIub2Zmc2V0KHRoaXMudHoudGltZSx0aGlzLnR6Lm9mZnNldCxlKX1uYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9aXNfdmFsaWQoKXtyZXR1cm4hdGhpcy5faW52YWxpZH1jb3JyZWN0aW9uX2xvYyhlKXtjb25zdCB0PXRoaXMudHoudGltZSxzPXRoaXMudHoub2Zmc2V0LGk9USh0LGUpO2lmKGk8MSlyZXR1cm4gMDtjb25zdCBuPXNbaV0tc1tpLTFdO2lmKG4+MCl7aWYoZS10W2ktMV08PW4pcmV0dXJuIG59cmV0dXJuIDB9c3RhdGljIG9mZnNldChlLHQscyl7Y29uc3QgaT1RKGUscyk7cmV0dXJuLTE9PT1pPzA6dFtpXX19Y29uc3Qgbz0xLGE9MixsPTMsdT00LGM9NSxkPTYsaD03LHA9byxtPWgsXz0wLGc9Mix5PTQsZj02LHY9OCxiPTEwLFM9MTEsdz0xNDQwLFA9MTAwODAsVD04NjRlNTtmdW5jdGlvbiBDKGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCl9ZnVuY3Rpb24gRShlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUuZ2V0VVRDSG91cnMoKX1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmdldFVUQ01pbnV0ZXMoKX1mdW5jdGlvbiBNKGUpe3JldHVybiBlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBEKGUpe3JldHVybiBlLmdldFVUQ0RheSgpKzF9ZnVuY3Rpb24geChlKXtjb25zdCB0PWUuZ2V0VVRDTW9udGgoKTtsZXQgcz1uW3RdO3JldHVybiB0Pl8rMSYmVShlLmdldFVUQ0Z1bGxZZWFyKCkpJiYocys9MSkscytlLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBSKGUpe3JldHVybiA2MCpJKGUpK0woZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gUihlKX1mdW5jdGlvbiBWKGUsdCxzLGksbixyKXtlLnNldFVUQ0hvdXJzKHQpLGUuc2V0VVRDTWludXRlcyhzKSxlLnNldFVUQ1NlY29uZHMoaSksZS5zZXRVVENNaWxsaXNlY29uZHMobiksCnZvaWQgMCE9PXImJmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmdldFRpbWUoKSxpPXQuY29ycmVjdGlvbl9sb2Mocyk7ZS5zZXRUaW1lKHMraSl9KGUscil9ZnVuY3Rpb24gQShlLHQpe2Uuc2V0VGltZShlLmdldFRpbWUoKSt0KlQpfWZ1bmN0aW9uIEYoZSx0KXtlLnNldFRpbWUoZS5nZXRUaW1lKCkrNjAqdCoxZTMpfWZ1bmN0aW9uIEIoZSx0KXtjb25zdCBzPTg2NDAwLGk9dCVzPDA/LTE6MCxuPU1hdGgudHJ1bmModC9zKStpLHI9dC1uKnMsbz1NYXRoLnRydW5jKHIvMzYwMCksYT1NYXRoLnRydW5jKHIlMzYwMC82MCk7VihlLG8sYSxyLTM2MDAqby02MCphLDApLEEoZSxuKX1mdW5jdGlvbiBPKGUpe3JldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSl9ZnVuY3Rpb24gTihlLHQpe2xldCBzO3N3aXRjaChlKXtjYXNlIDA6Y2FzZSAyOmNhc2UgNDpjYXNlIDY6Y2FzZSA3OmNhc2UgOTpjYXNlIDExOnM9MzE7YnJlYWs7Y2FzZSAxOnM9MjgsVSh0KSYmcysrO2JyZWFrO2RlZmF1bHQ6cz0zMH1yZXR1cm4gc31mdW5jdGlvbiBXKGUpe3JldHVybiBVKGUpPzM2NjozNjV9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZSU0PT0wJiYoZSUxMDAhPTB8fGUlNDAwPT0wKX1mdW5jdGlvbiB6KGUpe3JldHVybiAxZTMqZX1mdW5jdGlvbiBIKGUsdCl7cmV0dXJuIGVlKGUpLWVlKHQpfWZ1bmN0aW9uIGooZSx0KXtyZXR1cm4gbmV3IERhdGUoJChlLHQpKX1mdW5jdGlvbiAkKGUsdCl7cmV0dXJuIHQrZS5vZmZzZXRfdXRjKHQpfWZ1bmN0aW9uIHEoZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1uZXcgRGF0ZShEYXRlLlVUQyh0LHMsaSxufHwwLHJ8fDAsb3x8MCkpLGw9ZS5vZmZzZXRfdXRjKCthKTtyZXR1cm4gbmV3IERhdGUoYS52YWx1ZU9mKCktbCl9ZnVuY3Rpb24gSyhlLHQpe3JldHVybiBuZXcgRGF0ZSh0K2Uub2Zmc2V0X3V0Yyh0KSl9ZnVuY3Rpb24gWShlLHQscyxpPTAsbj0wLHI9MCl7cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKGUsdCxzLGksbixyKSl9ZnVuY3Rpb24gRyhlLHQscyl7bGV0IGk9dC5nZXRUaW1lKCk7cyYmKGkrPWUuY29ycmVjdGlvbl9sb2MoaSkpO3JldHVybiBpLWUub2Zmc2V0X2xvYyhpKX1mdW5jdGlvbiBKKGUpe3JldHVybiBuZXcgcihlKX1sZXQgWDtmdW5jdGlvbiBRKGUsdCl7Y29uc3Qgcz1lLmxlbmd0aDtpZigwPT09cylyZXR1cm4tMTtpZihpc05hTih0KSl0aHJvdyBFcnJvcigiS2V5IGlzIE5hTiIpO2xldCBpPTAsbj1zLTEscj1aKChpK24pLzIpO2Zvcig7Oyl7aWYoZVtyXT50KXtpZihuPXItMSxuPGkpcmV0dXJuIHJ9ZWxzZSBpZihpPXIrMSxuPGkpcmV0dXJuIHI8cy0xP3IrMTotMTtyPVooKGkrbikvMil9fWZ1bmN0aW9uIFooZSl7cmV0dXJuIE1hdGgudHJ1bmMoZSl9ZnVuY3Rpb24gZWUoZSl7cmV0dXJuIGU8MD9aKGUvMWUzKS0oZSUxZTMhPTA/MTowKTpaKGUvMWUzKX19LDc3OTM4OShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25Hcm91cDooKT0+bn0pO3ZhciBpPXMoOTkyODAzKTtjbGFzcyBue2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWN0aW9ucz1uZXcgTWFwLHRoaXMuX21hbmFnZXI9ZSx0aGlzLm9yZGVyPXQ/Lm9yZGVyPz8wLHRoaXMubW9kYWw9ISghdHx8IXQubW9kYWwpLHQmJih0aGlzLmRlc2M9dC5kZXNjKSx0JiZ0LmlzRGlzYWJsZWQ/ImZ1bmN0aW9uIj09dHlwZW9mIHQuaXNEaXNhYmxlZD90aGlzLmlzRGlzYWJsZWQ9dC5pc0Rpc2FibGVkOnRoaXMuaXNEaXNhYmxlZD0oKT0+ITA6dGhpcy5pc0Rpc2FibGVkPSgpPT4hMSx0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyR3JvdXAodGhpcyl9YWRkKGUpe2xldCB0PXRoaXMuX2FjdGlvbnMuZ2V0KGUuaG90a2V5KTt0fHwodD1bXSx0aGlzLl9hY3Rpb25zLnNldChlLmhvdGtleSx0KSk7Y29uc3Qgcz1uZXcgaS5BY3Rpb24odGhpcyxlKTtyZXR1cm4gdC5wdXNoKHMpLHN9cmVtb3ZlKGUpe2NvbnN0IHQ9dGhpcy5fYWN0aW9ucy5nZXQoZS5ob3RrZXkpO2lmKCF0KXJldHVybjtjb25zdCBzPXQuZmluZEluZGV4KCh0PT50PT09ZSkpO3M+PTAmJigxPT09dC5sZW5ndGg/dGhpcy5fYWN0aW9ucy5kZWxldGUoZS5ob3RrZXkpOnQuc3BsaWNlKHMsMSkpfWhhbmRsZUhvdGtleShlLHQpe2NvbnN0IHM9dGhpcy5fYWN0aW9ucy5nZXQoZSk7aWYoIXMpcmV0dXJuITE7Zm9yKGNvbnN0IGkgb2YgcylpZigoIWkuZWxlbWVudHx8dC50YXJnZXQmJmkuZWxlbWVudC5jb250YWlucyh0LnRhcmdldCkpJiYhaS5pc0Rpc2FibGVkKHQpKXJldHVybiB0LnJlcGVhdCYmIWkuaXNSZXBlYXRBY2NlcHRlZHx8KGkuaGFuZGxlcih0KSx0aGlzLl9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSkpLHQucHJldmVudERlZmF1bHQoKSwhMDtyZXR1cm4hMX1wcm9tb3RlKCl7dGhpcy5fbWFuYWdlci5wcm9tb3RlR3JvdXAodGhpcyl9ZGVzdHJveSgpe2Zvcihjb25zdFssZV1vZiB0aGlzLl9hY3Rpb25zKWZvcihjb25zdCB0IG9mIGUpdC5kZXN0cm95KCk7dGhpcy5fYWN0aW9ucy5jbGVhcigpLHRoaXMuX21hbmFnZXIudW5yZWdpc3Rlckdyb3VwKHRoaXMpfXN0YXRpYyBzZXRNYXRjaGVkSG90a2V5SGFuZGxlcihlKXtuLl9tYXRjaGVkSG90a2V5SGFuZGxlcj1lfV9jYWxsTWF0Y2hlZEhvdGtleUhhbmRsZXIoZSl7bi5fbWF0Y2hlZEhvdGtleUhhbmRsZXImJm4uX21hdGNoZWRIb3RrZXlIYW5kbGVyKGUpfX19LDI5MTM0MShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtBY3Rpb25NYW5hZ2VyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cygyMzU3MjQpLHI9cyg3MjEzNjkpLG89cyg2OTYyMDgpO2NsYXNzIGEgZXh0ZW5kcyBpLldhdGNoZWRWYWx1ZXtzZXRWYWx1ZShlLHQpe2NvbnN0IHM9dGhpcy52YWx1ZSgpOyh0fHx2b2lkIDA9PT1zfHxzLmNvZGUhPT1lLmNvZGV8fHMubW9kaWZpZXJzIT09ZS5tb2RpZmllcnMpJiZzdXBlci5zZXRWYWx1ZShlKX19Y2xhc3MgbHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2dyb3Vwcz1bXSx0aGlzLl9wcmVzc2VkS2V5cz1uZXcgaS5XYXRjaGVkVmFsdWUoMCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlPW5ldyBhKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgwKSksCnRoaXMuX2tleURvd25MaXN0ZW5lcj1lPT57aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybjtjb25zdCB0PSgwLG4uaGFzaEZyb21FdmVudCkoZSk7aWYodGhpcy5fcHJlc3NlZEtleXMuc2V0VmFsdWUodCksdGhpcy5fa2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlLnNldFZhbHVlKG5ldyBvLktleWJvYXJkUHJlc3NlZEtleXNTdGF0ZSgoMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSksZS5jb2RlKSksISgwLHIuaXNOYXRpdmVVSUludGVyYWN0aW9uKSh0LGUudGFyZ2V0KSlmb3IobGV0IHM9dGhpcy5fZ3JvdXBzLmxlbmd0aDtzLS0gPjA7KXtjb25zdCBpPXRoaXMuX2dyb3Vwc1tzXTtpZighaS5pc0Rpc2FibGVkKCkpe2lmKGkuaGFuZGxlSG90a2V5KHQsZSkpcmV0dXJuO2lmKGkubW9kYWwpcmV0dXJufX19LHRoaXMuX2tleVVwTGlzdGVuZXI9ZT0+e2NvbnN0IHQ9KDAsbi5oYXNoRnJvbUV2ZW50KShlKTt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSh0KSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCgwLG4ubW9kaWZpZXJzRnJvbUV2ZW50KShlKSwiIikpfSx0aGlzLl9ibHVyRXZlbnQ9KCk9Pnt0aGlzLl9wcmVzc2VkS2V5cy5zZXRWYWx1ZSgwKSx0aGlzLl9rZXlib2FyZFByZXNzZWRLZXlzU3RhdGUuc2V0VmFsdWUobmV3IG8uS2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKDAsIiIpKX0sdGhpcy5fbW91c2VFdmVudD1lPT57Y29uc3QgdD0oMCxuLm1vZGlmaWVyc0Zyb21FdmVudCkoZSkscz0yNTUmKHRoaXMuX3ByZXNzZWRLZXlzLnZhbHVlKCk/PzApO3RoaXMuX3ByZXNzZWRLZXlzLnNldFZhbHVlKHR8cyl9fWxpc3RlbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX11bmxpc3RlbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleURvd25MaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5fa2V5VXBMaXN0ZW5lciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ibHVyRXZlbnQpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9tb3VzZUV2ZW50KX1yZWdpc3Rlckdyb3VwKGUpe3RoaXMuX2dyb3Vwcy5wdXNoKGUpLHRoaXMuc29ydEdyb3VwcygpfXVucmVnaXN0ZXJHcm91cChlKXtmb3IobGV0IHQ9dGhpcy5fZ3JvdXBzLmxlbmd0aDt0LS07KXRoaXMuX2dyb3Vwc1t0XT09PWUmJnRoaXMuX2dyb3Vwcy5zcGxpY2UodCwxKX1wcm9tb3RlR3JvdXAoZSl7Y29uc3QgdD10aGlzLl9nZXRNb2RhbE9yZGVyRXBvY2goKSxzPXUoZSx0KTtsZXQgaT10aGlzLl9ncm91cHMuZmluZEluZGV4KChlPT51KGUsdCk9PT1zKSksbj0wO2Zvcig7aTx0aGlzLl9ncm91cHMubGVuZ3RoJiZ1KHRoaXMuX2dyb3Vwc1tpXSx0KT09PXM7KXtjb25zdCByPXRoaXMuX2dyb3Vwc1tpXTtyPT09ZT9uPTE6dShyLHQpPT09cyYmKHRoaXMuX2dyb3Vwc1tpLW5dPXIpLGkrK310aGlzLl9ncm91cHNbaS1uXT1lfXByZXNzZWRLZXlzKCl7cmV0dXJuIHRoaXMuX3ByZXNzZWRLZXlzLnJlYWRvbmx5KCl9a2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlKCl7cmV0dXJuIHRoaXMuX2tleWJvYXJkUHJlc3NlZEtleXNTdGF0ZS5yZWFkb25seSgpfXNvcnRHcm91cHMoKXtjb25zdCBlPXRoaXMuX2dldE1vZGFsT3JkZXJFcG9jaCgpO3RoaXMuX2dyb3Vwcy5zb3J0KCgodCxzKT0+dShzLGUpLXUodCxlKSkpfV9nZXRNaW5PcmRlcigpe3JldHVybiB0aGlzLl9ncm91cHMucmVkdWNlKCgoZSx0KT0+TWF0aC5taW4oZSx0Lm9yZGVyKSksMCl9X2dldE1vZGFsT3JkZXJFcG9jaCgpe3JldHVybi0yKihNYXRoLmFicyh0aGlzLl9nZXRNaW5PcmRlcigpKS0xKX19ZnVuY3Rpb24gdShlLHQpe3JldHVybiBlLm9yZGVyKyhlLm1vZGFsP3Q6MCl9fSw5OTI4MDMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7QWN0aW9uOigpPT5pfSk7Y2xhc3MgaXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuX2dyb3VwPWU7Y29uc3R7aG90a2V5OnMsaGFuZGxlcjppLGRlc2M6bixpc0Rpc2FibGVkOnIsZWxlbWVudDpvPW51bGwsaXNSZXBlYXRBY2NlcHRlZDphPSExfT10O3RoaXMuaG90a2V5PXMsdGhpcy5oYW5kbGVyPWksdGhpcy5kZXNjPW4sdGhpcy5lbGVtZW50PW8sdGhpcy5pc1JlcGVhdEFjY2VwdGVkPWEsdGhpcy5pc0Rpc2FibGVkPXI/ImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ITA6KCk9PiExfWRlc3Ryb3koKXt0aGlzLl9ncm91cCYmKHRoaXMuX2dyb3VwLnJlbW92ZSh0aGlzKSx0aGlzLl9ncm91cD1udWxsKX19fSw2OTYyMDgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7S2V5Ym9hcmRQcmVzc2VkS2V5c1N0YXRlOigpPT5ufSk7dmFyIGk9cygyMzU3MjQpO2NsYXNzIG57Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1vZGlmaWVycz1lLHRoaXMuY29kZT10fWFsdE9yT3B0aW9uQ29kZSgpe3JldHVybiJBbHRMZWZ0Ij09PXRoaXMuY29kZXx8IkFsdFJpZ2h0Ij09PXRoaXMuY29kZX1jb250cm9sT3JNZXRhQ29kZSgpe3JldHVybiBpLmlzTWFjS2V5Ym9hcmQ/Ik1ldGFMZWZ0Ij09PXRoaXMuY29kZXx8Ik1ldGFSaWdodCI9PT10aGlzLmNvZGV8fCJPU0xlZnQiPT09dGhpcy5jb2RlfHwiT1NSaWdodCI9PT10aGlzLmNvZGU6IkNvbnRyb2xMZWZ0Ij09PXRoaXMuY29kZXx8IkNvbnRyb2xSaWdodCI9PT10aGlzLmNvZGV9fX0sNjY1MTQ1KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGk7cy5kKHQse01lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlVzZUxhc3RTZXNzaW9uPTBdPSJVc2VMYXN0U2Vzc2lvbiIsZVtlLlVzZTFEPTFdPSJVc2UxRCIsZVtlLlVzZUxhc3RTZXNzaW9uQW5kMUQ9Ml09IlVzZUxhc3RTZXNzaW9uQW5kMUQifShpfHwoaT17fSkpfSwKODAyNTg2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldERheVJlc29sdXRpb25UaW1lRnJhbWVPcHRpb25zOigpPT5jLGdldEZyb21Gb3JEYXk6KCk9PmEsZ2V0RnJvbUZvck1vbnRoc0FnbzooKT0+cixnZXRGcm9tRm9yWWVhcnNBZ286KCk9Pm8sZ2V0TWVkaXVtVGltZUZyYW1lT3B0aW9uczooKT0+ZCxnZXRNaW5pVGltZUZyYW1lT3B0aW9uczooKT0+dSxnZXRTdGFydE9mVGhlWWVhcjooKT0+bH0pO3ZhciBpPXMoNjY1MTQ1KSxuPXMoNjkzNTAwKTtmdW5jdGlvbiByKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0TW9udGgodC5nZXRNb250aCgpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBvKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLWUpLE1hdGgudHJ1bmModC52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiBhKGUpe2NvbnN0IHQ9bmV3IERhdGU7cmV0dXJuIHQuc2V0RGF0ZSh0LmdldERhdGUoKS1lKSxNYXRoLnRydW5jKHQudmFsdWVPZigpLzFlMyl9ZnVuY3Rpb24gbCgpe3JldHVybiBNYXRoLnRydW5jKG5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSwwLDEpLnZhbHVlT2YoKS8xZTMpfWZ1bmN0aW9uIHUoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjEybSJdLGZyb206bygxKX0sey4uLnRbIjYwbSJdLHRhcmdldFJlc29sdXRpb246IjFNIixmcm9tOm8oNSl9LHsuLi50LmFsbH1dfWZ1bmN0aW9uIGMoZSl7Y29uc3QgdD0oMCxuLmdldFRpbWVGcmFtZXMpKCk7cmV0dXJuW3suLi50W2U/Imxhc3RzZXNzaW9uIjoiMWQiXX0sey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cigzKX0sey4uLnRbIjZtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMUQiLGZyb206cig2KX0sey4uLnQueXRkLHRhcmdldFJlc29sdXRpb246IjFEIixmcm9tOnIoNil9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9XX1mdW5jdGlvbiBkKGUpe2NvbnN0IHQ9KDAsbi5nZXRUaW1lRnJhbWVzKSgpLHM9W107cmV0dXJuIGUhPT1pLk1lZGl1bVRpbWVGcmFtZU9wdGlvbnNNb2RlLlVzZTFEJiZzLnB1c2goey4uLnQubGFzdHNlc3Npb259KSxlIT09aS5NZWRpdW1UaW1lRnJhbWVPcHRpb25zTW9kZS5Vc2VMYXN0U2Vzc2lvbiYmcy5wdXNoKHsuLi50WyIxZCJdfSksWy4uLnMsey4uLnRbIjFtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiNjAiLGZyb206cigxKX0sey4uLnRbIjNtIl0sdGFyZ2V0UmVzb2x1dGlvbjoiMTIwIixmcm9tOnIoMyl9LHsuLi50WyIxMm0iXSxmcm9tOm8oMSl9LHsuLi50WyI2MG0iXSx0YXJnZXRSZXNvbHV0aW9uOiIxVyIsZnJvbTpvKDUpfSx7Li4udC5hbGx9XX19LDY5MzUwMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRUaW1lRnJhbWVzOigpPT5yfSk7dmFyIGk9cyg3ODMyNTQpLG49cygyMTU3MzApO2Z1bmN0aW9uIHIoZSl7cmV0dXJueyIxZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTM4MTAwKSksdmFsdWU6e3ZhbHVlOiIxRCIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMUQiXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9LCI1ZCI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoODI4NTUpKSx2YWx1ZTp7dmFsdWU6IjVEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1RCJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjUiKSxkZXNjcmlwdGlvbjooMCxuLmRheXNTdHJpbmdMaXRlcmFsKSg1KX0sIjF3Ijp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg0OTIxMzUpKSx2YWx1ZTp7dmFsdWU6IjdEIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyI1VyJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjE1IiksZGVzY3JpcHRpb246KDAsbi53ZWVrc1N0cmluZ0xpdGVyYWwpKDEpfSwiMW0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgzMjczMykpLHZhbHVlOnt2YWx1ZToiMU0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjFNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMzAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDEpfSwiM20iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDgxOTA3OCkpLHZhbHVlOnt2YWx1ZToiM00iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjNNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiNjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDMpfSwiNm0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDY4MDc2KSksdmFsdWU6e3ZhbHVlOiI2TSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxMjAiKSxkZXNjcmlwdGlvbjooMCxuLm1vbnRoc1N0cmluZ0xpdGVyYWwpKDYpfSwiMTJtIjp7dGV4dDppLnQobnVsbCx2b2lkIDAscyg3NzAzMDMpKSx2YWx1ZTp7dmFsdWU6IjEyTSIsdHlwZToicGVyaW9kLWJhY2sifSx0YXJnZXRSZXNvbHV0aW9uOmU/LlsiMTJNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMSl9LCIyNG0iOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzNDc3NykpLHZhbHVlOnt2YWx1ZToiMjRNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIyNE0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgyKX0sIjM2bSI6ewp0ZXh0OmkudChudWxsLHZvaWQgMCxzKDI3MjA5OCkpLHZhbHVlOnt2YWx1ZToiMzZNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIzNk0iXT8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxVyIpLGRlc2NyaXB0aW9uOigwLG4ueWVhcnNTdHJpbmdMaXRlcmFsKSgzKX0sIjYwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDQ2NTYwKSksdmFsdWU6e3ZhbHVlOiI2ME0iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5bIjYwTSJdPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFXIiksZGVzY3JpcHRpb246KDAsbi55ZWFyc1N0cmluZ0xpdGVyYWwpKDUpfSwiMTIwbSI6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoOTk1MDY2KSksdmFsdWU6e3ZhbHVlOiIxMjBNIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uWyIxMjBNIl0/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMU0iKSxkZXNjcmlwdGlvbjooMCxuLnllYXJzU3RyaW5nTGl0ZXJhbCkoMTApfSx5dGQ6e3RleHQ6aS50KG51bGwsdm9pZCAwLHMoNDIyMzY5KSksdmFsdWU6e3ZhbHVlOiJZVEQiLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5ZVEQ/PygwLG4uc3RyaW5nQXNSZXNvbHV0aW9uKSgiMUQiKSxkZXNjcmlwdGlvbjppLnQobnVsbCx2b2lkIDAscyg0ODU0MjApKX0sYWxsOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDIzMzY5MCkpLHZhbHVlOnt2YWx1ZToiQUxMIix0eXBlOiJwZXJpb2QtYmFjayJ9LHRhcmdldFJlc29sdXRpb246ZT8uQUxMPz8oMCxuLnN0cmluZ0FzUmVzb2x1dGlvbikoIjFNIil9LGxhc3RzZXNzaW9uOnt0ZXh0OmkudChudWxsLHZvaWQgMCxzKDkzODEwMCkpLHZhbHVlOnt2YWx1ZToiTEFTVFNFU1NJT04iLHR5cGU6InBlcmlvZC1iYWNrIn0sdGFyZ2V0UmVzb2x1dGlvbjplPy5MQVNUU0VTU0lPTj8/KDAsbi5zdHJpbmdBc1Jlc29sdXRpb24pKCIxIiksZGVzY3JpcHRpb246KDAsbi5kYXlzU3RyaW5nTGl0ZXJhbCkoMSl9fX19LDIxNTczMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXlzU3RyaW5nTGl0ZXJhbDooKT0+byxob3Vyc1N0cmluZ0xpdGVyYWw6KCk9PnIsbWludXRlc1N0cmluZ0xpdGVyYWw6KCk9Pm4sbW9udGhzU3RyaW5nTGl0ZXJhbDooKT0+bCxzdHJpbmdBc1Jlc29sdXRpb246KCk9PmMsd2Vla3NTdHJpbmdMaXRlcmFsOigpPT5hLHllYXJzU3RyaW5nTGl0ZXJhbDooKT0+dX0pO3ZhciBpPXMoNzgzMjU0KTtjb25zdCBuPWU9PmkudChudWxsLHtwbHVyYWw6IntzdHJ9IG1pbnV0ZXMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNDM5MCkpLHI9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gaG91cnMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoMjEwNTc0KSksbz1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBkYXlzIixjb3VudDplLHJlcGxhY2U6e3N0cjpgJHtlfWB9fSxzKDEwMzAzMCkpLGE9ZT0+aS50KG51bGwse3BsdXJhbDoie3N0cn0gd2Vla3MiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjQ0NjI1KSksbD1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSBtb250aHMiLGNvdW50OmUscmVwbGFjZTp7c3RyOmAke2V9YH19LHMoNjk0NjE3KSksdT1lPT5pLnQobnVsbCx7cGx1cmFsOiJ7c3RyfSB5ZWFycyIsY291bnQ6ZSxyZXBsYWNlOntzdHI6YCR7ZX1gfX0scygyMTY0MDIpKSxjPWU9PmV9LDMwODgxMChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHt0aW1lRnJhbWVzOigpPT5pfSk7Y29uc3QgaT0oMCxzKDY5MzUwMCkuZ2V0VGltZUZyYW1lcykoKX0sODQ0MzAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2Zvcm1hdFN5bWJvbEFuZFJlc29sdXRpb246KCk9PmkuZm9ybWF0U3ltYm9sQW5kUmVzb2x1dGlvbixmb3JtYXRTeW1ib2xTdHJpbmc6KCk9PmkuZm9ybWF0U3ltYm9sU3RyaW5nLGZvcm1hdFdhdGNobGlzdFRpdGxlOigpPT5uLmZvcm1hdFdhdGNobGlzdFRpdGxlfSk7cygxNjI1OCk7dmFyIGk9cygyNjExNTQpLG49cyg0ODUxNzkpfSw5NjI3MzcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Zm9ybWF0U3R1ZHlFcnJvcjooKT0+cix0cmllc1RyYW5zbGF0ZUVycm9yOigpPT5ufSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGEuZ2V0KGUpfHxlfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuZm9ybWF0KHtib2xkSGlnaGxpZ2h0U3RhcnQ6IjxiPiIsYm9sZEhpZ2hsaWdodEVuZDoiPC9iPiJ9KX0KY29uc3Qgbz1bWyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iLGkudChudWxsLHZvaWQgMCxzKDI5OTE4OCkpXSxbIlRoZSBkYXRhIHZlbmRvciBkb2Vzbid0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLiIsaS50KG51bGwsdm9pZCAwLHMoODIzMTY2KSldLFsnSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIGluY3JlYXNlICJSb3cgU2l6ZSIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg2NjA2MDkpKV0sWyJIaXN0b2dyYW0gaXMgdG9vIGxhcmdlLCBwbGVhc2UgcmVkdWNlICdSb3cgU2l6ZScgaW5wdXQuIixpLnQobnVsbCx2b2lkIDAscygzMzMwOSkpXSxbJ0hpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSAiVGlja3MgUGVyIFJvdyIgaW5wdXQuJyxpLnQobnVsbCx2b2lkIDAscyg0NjkyMCkpXSxbIlRoaXMgc2NyaXB0IGlzIGludml0ZS1vbmx5LiBUbyByZXF1ZXN0IGFjY2VzcywgcGxlYXNlIGNvbnRhY3QgaXRzIGF1dGhvci4iLGkudChudWxsLHZvaWQgMCxzKDQ4NzY5NSkpXSxbIlZvbHVtZSBQcm9maWxlIGluZGljYXRvciBhdmFpbGFibGUgb25seSBvbiBvdXIgdXBncmFkZWQgcGxhbnMuIixpLnQobnVsbCx2b2lkIDAscygzMzI1ODcpKV0sWyJWT0xVTUVfQklTVF9NSVhFRCIsaS50KG51bGwsdm9pZCAwLHMoNDk3NjQyKSldLFsiUnVudGltZSBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNzMwNjM4KSldLFsiQWNjZXNzIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg1NDIyKSldLFsiVXNlci1kZWZpbmVkIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg0MjA0NDkpKV0sWyJDb21waWxhdGlvbiBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNjk3ODgxKSldLFsiTWV0cmljIGVycm9yIixpLnQobnVsbCx2b2lkIDAscyg3ODkyOTEpKV0sWyJVcGdyYWRlIHRvIHVubG9jayBmb3JlY2FzdCBtZXRyaWNzIixpLnQobnVsbCx2b2lkIDAscyg5MjM5MTIpKV0sWyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiIsaS50KG51bGwsdm9pZCAwLHMoMTc3ODU0KSldLFsiVGhlcmUncyBubyBkYXRhIGZvciB5b3VyIHNlbGVjdGVkIHBlcmlvZCBhbmQgY2hhcnQgdGltZWZyYW1lLiIsaS50KG51bGwsdm9pZCAwLHMoNzEyMTg2KSldLFsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iLGkudChudWxsLHZvaWQgMCxzKDE4MjAyMCkpXSxbIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIixpLnQobnVsbCx2b2lkIDAscyg5MzI4KSldLFsiY2hlY2sgc3R1ZHkgdW5leHBlY3RlZCBlcnJvciIsaS50KG51bGwsdm9pZCAwLHMoNDAwMzIwKSldLFsiVG8gY2FsY3VsYXRlIHRoZSBWV0FQIGluZGljYXRvciwgbW9yZSBkYXRhIGlzIG5lZWRlZC4gWm9vbSBvdXQgb3Igc2Nyb2xsIGxlZnQgdG8gbG9hZCBtb3JlIGhpc3RvcmljYWwgZGF0YS4iLGkudChudWxsLHZvaWQgMCxzKDc1MzAyNCkpXSxbIlZXQVAgaXMgd2FpdGluZyBmb3IgbW9yZSBkYXRhIixpLnQobnVsbCx2b2lkIDAscygzNjQ3MzYpKV0sWyJUaGUgYmFyIG1hZ25pZmllciBpcyBvbmx5IGF2YWlsYWJsZSB0byB0aGUgUHJlbWl1bSBwbGFuIG9yIGhpZ2hlci4iLGkudChudWxsLHZvaWQgMCxzKDI4MDYyKSldLFsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIixpLnQobnVsbCx2b2lkIDAscygxMjMyMTkpKV1dLGE9bmV3IE1hcChvKX0sMjQ2ODkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7cmV0dXJuIFByb21pc2UuYWxsKFtzLmUoMjc4MjApLHMuZSg4NDMwNikscy5lKDI5Mjk2KSxzLmUoNTIzOTYpLHMuZSg2MDA2Mikscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg0MDQyKSxzLmUoMjU1NTQpLHMuZSg5OTQ0OCkscy5lKDMyMzg3KSxzLmUoMzk2MDkpLHMuZSg5MTA3KV0pLnRoZW4ocy5iaW5kKHMsNTg3MzU0KSl9cy5kKHQse2ltcG9ydFBvcHVwUmVuZGVyOigpPT5pfSl9LDE0NzgwNShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+YSxnZXRQdWJsaWNhdGlvblR5cGU6KCk9Pm4uZ2V0UHVibGljYXRpb25UeXBlLG9wZW5QdWJsaWNhdGlvblZpZXdQb3B1cDooKT0+dSxwcmVsb2FkUHVibGljYXRpb25WaWV3UG9wdXA6KCk9Pmx9KTt2YXIgaT1zKDI0Njg5KSxuPXMoNjg2NTEzKTtsZXQgcj0hMTthc3luYyBmdW5jdGlvbiBvKCl7cmV0dXJuIHI9ITAsUHJvbWlzZS5hbGwoW3MuZSgzNDI4NCkscy5lKDEyMzg1KSxzLmUoMzMxMCkscy5lKDMzNjcpLHMuZSg2NjQ3MildKS50aGVuKHMuYmluZChzLDQzNTM4MCkpfWFzeW5jIGZ1bmN0aW9uIGEoKXtpZighcilyZXR1cm47Y29uc3QgZT1hd2FpdCBvKCk7YXdhaXQgZS5jbG9zZUN1cnJlbnRQdWJsaWNhdGlvblZpZXdQb3B1cCgpfWFzeW5jIGZ1bmN0aW9uIGwoZSl7bygpLCgwLGkuaW1wb3J0UG9wdXBSZW5kZXIpKCksKDAsbi5pbXBvcnRFbnRyeUNvbXBvbmVudCkoZSl9YXN5bmMgZnVuY3Rpb24gdShlKXtyZXR1cm4oYXdhaXQgbygpKS5vcGVuUHVibGljYXRpb25WaWV3UG9wdXAoZSl9fSwyMTYxMShlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSl7aWYobnVsbCE9ZSYmImJvb2xlYW4iIT10eXBlb2YgZSYmIWlzTmFOKE51bWJlcihlKSkpcmV0dXJuIE51bWJlcihlKX1mdW5jdGlvbiBuKGUpe2lmKG51bGwhPWUmJiJudW1iZXIiIT10eXBlb2YgZSYmImJvb2xlYW4iIT10eXBlb2YgZSlyZXR1cm4gU3RyaW5nKGUpfXMuZCh0LHsKdG9OdW1iZXJPclVuZGVmaW5lZDooKT0+aSx0b1N0cmluZ09yVW5kZWZpbmVkOigpPT5ufSl9LDMyNjA0OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtCYWRSZXF1ZXN0RXJyb3JSZXNwb25zZTooKT0+bn0pO3ZhciBpPXMoMTMzODc0KTtjbGFzcyBuIGV4dGVuZHMgaS5FcnJvclJlc3BvbnNle2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iQmFkUmVxdWVzdEVycm9yIixlLmVycm9yP3RoaXMubWVzc2FnZT1lLmVycm9yOnRoaXMubWVzc2FnZT0idW5rbm93biBlcnJvciJ9fX0sMTMzODc0KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0Vycm9yUmVzcG9uc2U6KCk9Pml9KTtjbGFzcyBpe2NvbnN0cnVjdG9yKGUpe3RoaXMuX3N0YXR1cz1lLnN0YXR1cyx0aGlzLl9zdGF0dXNUZXh0PWUuc3RhdHVzVGV4dHx8IiJ9Z2V0SW5mbygpe3JldHVybntuYW1lOnRoaXMubmFtZSxzdGF0dXM6dGhpcy5fc3RhdHVzLHN0YXR1c1RleHQ6dGhpcy5fc3RhdHVzVGV4dCxtZXNzYWdlOnRoaXMubWVzc2FnZX19fX0sMzA4Mzg4KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2dldFN5bWJvbERhdGE6KCk9Pmx9KTt2YXIgaT1zKDM4NDAxNyksbj1zKDIxNjA3OSkscj1zKDMyNjA0OCksbz1zKDE1ODc2MyksYT1zKDc3MDgyNSk7ZnVuY3Rpb24gbChlLHQscyxsLHU9ITAsYz0hMSl7Y29uc3QgZD1zLmpvaW4oIiwiKSxoPSgwLG4uZ2V0U3ltYm9sRGF0YVVybCkodCxkLGwsdSxjKSxwPXtzaWduYWw6ZSxtZXRob2Q6IkdFVCIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiJ9fTtyZXR1cm4oMCxpLmZldGNoKShoLHAse2xvZ09uRXJyb3JTdGF0dXM6ITF9KS50aGVuKChlPT57aWYoNDAwPT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoZT0+e2NvbnN0IGk9ZS5lcnJtc2c7dGhyb3cgbmV3IHIuQmFkUmVxdWVzdEVycm9yUmVzcG9uc2Uoe3N0YXR1czp0LHN0YXR1c1RleHQ6cyxlcnJvcjppfSl9KSl9aWYoNDA0PT09ZS5zdGF0dXMpe2NvbnN0e3N0YXR1czp0LHN0YXR1c1RleHQ6c309ZTtyZXR1cm4gZS5qc29uKCkudGhlbigoaT0+e2lmKCJzeW1ib2xfbm90X2V4aXN0cyI9PT1pLmNvZGUpe2NvbnN0IGU9aS5lcnJtc2c7dGhyb3cgbmV3IGEuU3ltYm9sRG9lc05vdEV4aXN0RXJyb3JSZXNwb25zZSh7c3RhdHVzOnQsc3RhdHVzVGV4dDpzLGVycm9yOmV9KX10aHJvdyBuZXcgby5IdHRwRXJyb3JSZXNwb25zZShlKX0pKX1pZihlLm9rKXJldHVybiBlLmpzb24oKS50aGVuKChlPT5lKSk7dGhyb3cgbmV3IG8uSHR0cEVycm9yUmVzcG9uc2UoZSl9KSl9fSwxNTg3NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7SHR0cEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9Ikh0dHBFcnJvclJlc3BvbnNlIix0aGlzLl9zdGF0dXM+PTIwMCYmdGhpcy5fc3RhdHVzPDMwMD90aGlzLm1lc3NhZ2U9YEh0dHAgZmFpbHVyZSBkdXJpbmcgcGFyc2luZyBmb3IgJHtlLnVybHx8Iih1bmtub3duIHVybCkifWA6dGhpcy5tZXNzYWdlPWBIdHRwIGZhaWx1cmUgcmVzcG9uc2UgZm9yICR7ZS51cmx8fCIodW5rbm93biB1cmwpIn06ICR7ZS5zdGF0dXN9ICR7ZS5zdGF0dXNUZXh0fWB9fX0sNzcwODI1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1N5bWJvbERvZXNOb3RFeGlzdEVycm9yUmVzcG9uc2U6KCk9Pm59KTt2YXIgaT1zKDEzMzg3NCk7Y2xhc3MgbiBleHRlbmRzIGkuRXJyb3JSZXNwb25zZXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9IlN5bWJvbERvZXNOb3RFeGlzdEVycm9yIix0aGlzLm1lc3NhZ2U9ZS5lcnJvcnx8InN5bWJvbCBkb2VzIG5vdCBleGlzdCJ9fX0sMjE2MDc5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSgpe3JldHVybiB3aW5kb3cuU0NSRUVORVJfSE9TVHx8Imh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20ifWZ1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkoKTtyZXR1cm4gdD9gJHtzfS8ke3R9L2A6MT09PWUubGVuZ3RoP2Ake3N9LyR7ZVswXX0vYDpgJHtzfS9nbG9iYWwvYH1mdW5jdGlvbiByKGUsdCxzLG4scil7Y29uc3Qgbz1pKCksYT17c3ltYm9sOmUsZmllbGRzOnR9O24mJihhLm5vXzQwND0idHJ1ZSIpLHImJihhLnByaWNlX2NvbnZlcnNpb249ImRpc2FibGVkIikscyYmKGFbImxhYmVsLXByb2R1Y3QiXT1zKTtjb25zdCBsPW5ldyBVUkwoYCR7b30vc3ltYm9sYCk7cmV0dXJuIE9iamVjdC5rZXlzKGEpLmZvckVhY2goKGU9PntsLnNlYXJjaFBhcmFtcy5hcHBlbmQoZSxhW2VdKX0pKSxsLnRvU3RyaW5nKCl9ZnVuY3Rpb24gbyhlLHQpe3JldHVybmAke2koKX0vZW51bT9pZD0ke2V9Jmxhbmc9JHt0fHx3aW5kb3cubGFuZ3VhZ2V8fCJlbiJ9YH1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuYCR7aSgpfS9lbnVtL29yZGVyZWQ/aWQ9JHtlfSZsYW5nPSR7dHx8d2luZG93Lmxhbmd1YWdlfHwiZW4ifWB9cy5kKHQse2dldEJhY2tlbmRVcmw6KCk9Pm4sZ2V0RW51bU9yZGVyZWRSZWdpc3RyeVVybDooKT0+YSxnZXRFbnVtUmVnaXN0cnlVcmw6KCk9Pm8sZ2V0U3ltYm9sRGF0YVVybDooKT0+cn0pfSw2NDEwMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2NyZWF0ZU5vdGljZURpYWxvZzooKT0+bixzaG93Tm90aWNlRGlhbG9nOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2FzeW5jIGZ1bmN0aW9uIG4oZSl7cmV0dXJuKGF3YWl0IFByb21pc2UuYWxsKFtzLmUoODcyMzgpLHMuZSg1NDY4MSkscy5lKDMxODM3KSxzLmUoMjA5NzEpLHMuZSg0OTUxOCkscy5lKDc1MzA0KSxzLmUoMzgwMDIpLHMuZSg3MDM2NCkscy5lKDg5MTk1KSxzLmUoNzUwNCkscy5lKDQ2NjAwKSxzLmUoMTA3MDQpXSkudGhlbihzLmJpbmQocywyMzU3MikpKS5jcmVhdGVEaWFsb2coe3dpZHRoOjQwMCxkZXN0cm95T25DbG9zZTohMCx0aXRsZTppLnQobnVsbCx2b2lkIDAscyg1NjE2MDApKSwKY29udGVudDppLnQobnVsbCx2b2lkIDAscyg3MjM2MykpLGNvbnRlbnRXcmFwVGVtcGxhdGU6JzxkaXYgY2xhc3M9InR2LWRpYWxvZ19fc2VjdGlvbiB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+PGRpdiBjbGFzcz0idHYtdGV4dCI+PHA+PC9wPjwvZGl2PjwvZGl2PicsYWN0aW9uc1dyYXBUZW1wbGF0ZTonPGRpdiBjbGFzcz0idHYtZGlhbG9nX19zZWN0aW9uIHR2LWRpYWxvZ19fc2VjdGlvbi0tYWN0aW9ucyB0di1kaWFsb2dfX3NlY3Rpb24tLW5vLWJvcmRlciI+JyxhY3Rpb25zOlt7bmFtZToib2siLHR5cGU6InByaW1hcnkiLHRleHQ6aS50KG51bGwsdm9pZCAwLHMoMjA4MDc4KSksbWV0aG9kOiJjbG9zZSIsa2V5OlsxMywzMl19XSwuLi5lfSl9ZnVuY3Rpb24gcihlKXtuKGUpLnRoZW4oKGU9PmUub3BlbigpKSl9fSw1MDg3NDcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX0xJU1RfUkVQT1NJVE9SWV9CQUNLRU5EX1NFUlZJQ0U6KCk9Pml9KTtjb25zdCBpPSgwLHMoNDczMDY4KS5jcmVhdGVTZXJ2aWNlRGVzY3JpcHRvcikoIlN5bWJvbExpc3RSZXBvc2l0b3J5QmFja2VuZCIpfSw1ODA1MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0TG9jYWxMaXN0U3ltYm9sczooKT0+aCxsb2NhbENvbGxhcHNlU3RhdGVGcm9tUmVtb3RlU3ltYm9sczooKT0+bCxyZW1vdGVSZW5hbWVTZXBhcmF0b3JzOigpPT5jLHJlbW90ZVN5bWJvbHNGb3JtTG9jYWxTdGF0ZTooKT0+dSxzZXBhcmF0b3JSZW1vdGVSZXByZXNlbnRhdGlvbjooKT0+ZH0pO3ZhciBpPXMoMTM4NjM4KSxuPXMoOTAxMDIyKSxyPXMoNzA1MDEyKSxvPXMoOTIyMjQ4KTtjb25zdCBhPW5ldyBSZWdFeHAoYF4ke24uU0VQQVJBVE9SX1BSRUZJWH0o4oGkKT8oLispJGApO2Z1bmN0aW9uIGwoZSl7Y29uc3QgdD1bXSxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdFssaSxyXT1lLm1hdGNoKGEpfHxbXTtpZihyKXtjb25zdCBlPWAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3J9YDtpJiZzLnB1c2goZSksdC5wdXNoKGUpfWVsc2UgdC5wdXNoKGUpfSkpLHtzeW1ib2xzOnQsY29sbGFwc2VkU2VwYXJhdG9yczpzfX1mdW5jdGlvbiB1KGUsdCl7Y29uc3Qgcz1tKGUpO3JldHVybiB0Lm1hcCgoZT0+cz8uaGFzT3duUHJvcGVydHkoZSk/ZChlLHNbZV0pOmUpKX1mdW5jdGlvbiBjKGUsdCxzKXtjb25zdCBpPW0oZSk7aWYoaT8uaGFzT3duUHJvcGVydHkocykpe2NvbnN0IGU9aVtzXTtyZXR1cm57b2xkU2VwYXJhdG9yOmQodCxlKSxuZXdTZXBhcmF0b3I6ZChzLGUpfX1yZXR1cm57b2xkU2VwYXJhdG9yOnQsbmV3U2VwYXJhdG9yOnN9fWZ1bmN0aW9uIGQoZSx0KXtjb25zdCBzPWUucmVwbGFjZShuLlNFUEFSQVRPUl9QUkVGSVgsIiIpLnJlcGxhY2UoIuKBpCIsIiIpO3JldHVybmAke24uU0VQQVJBVE9SX1BSRUZJWH0ke3Q/IuKBpCI6IiJ9JHtzfWB9ZnVuY3Rpb24gaChlKXtjb25zdCB0PXAoKTtyZXR1cm4oMCxpLmVuc3VyZURlZmluZWQpKHQubWFya2VkTGlzdHM/Lmxpc3RzLmJ5Q29sb3JbZV0/LnN5bWJvbHN8fHQuY3VzdG9tTGlzdHMubGlzdHMuYnlJZFtlXT8uc3ltYm9scyl9ZnVuY3Rpb24gcCgpe3JldHVybigwLHIuc2VydmljZSkoby5TWU1CT0xfTElTVF9TRVJWSUNFKS5zdG9yZS5nZXRTdGF0ZSgpfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIHAoKS5jb2xsYXBzZWRTZXBhcmF0b3JzW2VdfX0sNjIxMjAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cGVuZGluZ09wZW5TZXBhcmF0b3JzOigpPT5pfSk7Y29uc3QgaT1uZXcgU2V0fSw0MzM3MzUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse0NvbXBhcmVPcHRpb246KCk9Pml9KSxmdW5jdGlvbihlKXtlW2UuU2FtZVBjdFNjYWxlPTBdPSJTYW1lUGN0U2NhbGUiLGVbZS5OZXdQcmljZVNjYWxlPTFdPSJOZXdQcmljZVNjYWxlIixlW2UuTmV3UGFuZT0yXT0iTmV3UGFuZSIsZVtlLlNhbWVTY2FsZT0zXT0iU2FtZVNjYWxlIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlLlN5bWJvbFNlYXJjaD0ic3ltYm9sU2VhcmNoIixlLldhdGNobGlzdD0id2F0Y2hsaXN0IixlLkV4Y2hhbmdlPSJleGNoYW5nZSIsZS5Db21wYXJlPSJjb21wYXJlIixlLk9wdGlvbnM9Im9wdGlvbnMifShufHwobj17fSkpLGZ1bmN0aW9uKGUpe2UuRml4ZWQ9ImZpeGVkIixlLkF1dG89ImF1dG8ifShyfHwocj17fSkpfSwzNTM4MShlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtURUNITklDQUxTX1FTX0ZJRUxEUzooKT0+bixURUNITklDQUxTX1NDUkVFTkVSX0NPTFVNTlM6KCk9PnUscmVxdWlyZWRNQUNvbHVtbnM6KCk9PmEscmVxdWlyZWRPc2NDb2x1bW5zOigpPT5vLHJlcXVpcmVkUGl2b3RzQ29sdW1uczooKT0+bCxyZXF1aXJlZFJlY29tbWVuZENvbHVtbnM6KCk9PnJ9KSxmdW5jdGlvbihlKXtlLlR5cGU9InR5cGUiLGUuTGlzdGVkRXhjaGFuZ2U9Imxpc3RlZF9leGNoYW5nZSIsZS5QcmljZXNjYWxlPSJwcmljZXNjYWxlIixlLlR5cGVzcGVjcz0idHlwZXNwZWNzIixlLlByb05hbWU9InByb19uYW1lIixlLlNob3J0TmFtZT0ic2hvcnRfbmFtZSJ9KGl8fChpPXt9KSkKO2NvbnN0IG49WyJ0eXBlIiwibGlzdGVkX2V4Y2hhbmdlIiwicHJpY2VzY2FsZSIsInR5cGVzcGVjcyIsInByb19uYW1lIiwic2hvcnRfbmFtZSJdLHI9WyJSZWNvbW1lbmQuT3RoZXIiLCJSZWNvbW1lbmQuQWxsIiwiUmVjb21tZW5kLk1BIl0sbz1bIlJTSSIsIlN0b2NoLksiLCJDQ0kyMCIsIkFEWCIsIkFPIiwiTW9tIiwiTUFDRC5tYWNkIiwiU3RvY2guUlNJLksiLCJXLlIiLCJCQlBvd2VyIiwiVU8iXSxhPVsiRU1BMTAiLCJTTUExMCIsIkVNQTIwIiwiU01BMjAiLCJFTUEzMCIsIlNNQTMwIiwiRU1BNTAiLCJTTUE1MCIsIkVNQTEwMCIsIlNNQTEwMCIsIkVNQTIwMCIsIlNNQTIwMCIsIkljaGltb2t1LkJMaW5lIiwiVldNQSIsIkh1bGxNQTkiXSxsPVsiUGl2b3QuTS5DbGFzc2ljLlIzIiwiUGl2b3QuTS5DbGFzc2ljLlIyIiwiUGl2b3QuTS5DbGFzc2ljLlIxIiwiUGl2b3QuTS5DbGFzc2ljLk1pZGRsZSIsIlBpdm90Lk0uQ2xhc3NpYy5TMSIsIlBpdm90Lk0uQ2xhc3NpYy5TMiIsIlBpdm90Lk0uQ2xhc3NpYy5TMyIsIlBpdm90Lk0uRmlib25hY2NpLlIzIiwiUGl2b3QuTS5GaWJvbmFjY2kuUjIiLCJQaXZvdC5NLkZpYm9uYWNjaS5SMSIsIlBpdm90Lk0uRmlib25hY2NpLk1pZGRsZSIsIlBpdm90Lk0uRmlib25hY2NpLlMxIiwiUGl2b3QuTS5GaWJvbmFjY2kuUzIiLCJQaXZvdC5NLkZpYm9uYWNjaS5TMyIsIlBpdm90Lk0uQ2FtYXJpbGxhLlIzIiwiUGl2b3QuTS5DYW1hcmlsbGEuUjIiLCJQaXZvdC5NLkNhbWFyaWxsYS5SMSIsIlBpdm90Lk0uQ2FtYXJpbGxhLk1pZGRsZSIsIlBpdm90Lk0uQ2FtYXJpbGxhLlMxIiwiUGl2b3QuTS5DYW1hcmlsbGEuUzIiLCJQaXZvdC5NLkNhbWFyaWxsYS5TMyIsIlBpdm90Lk0uV29vZGllLlIzIiwiUGl2b3QuTS5Xb29kaWUuUjIiLCJQaXZvdC5NLldvb2RpZS5SMSIsIlBpdm90Lk0uV29vZGllLk1pZGRsZSIsIlBpdm90Lk0uV29vZGllLlMxIiwiUGl2b3QuTS5Xb29kaWUuUzIiLCJQaXZvdC5NLldvb2RpZS5TMyIsIlBpdm90Lk0uRGVtYXJrLlIxIiwiUGl2b3QuTS5EZW1hcmsuTWlkZGxlIiwiUGl2b3QuTS5EZW1hcmsuUzEiXSx1PVsuLi5yLC4uLm8sLi4uYSwuLi5sXX0sNzU5OTcwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzRHJhd2luZ1Rvb2xiYXJWaXNpYmxlOigpPT5sfSk7dmFyIGk9cyg5MzA1NjYpLG49cyg5MzAyMzEpLHI9cygyMzIzNjQpO2NvbnN0IG89ISgwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImhpZGVfbGVmdF90b29sYmFyX2J5X2RlZmF1bHQiKSxhPWkuZ2V0Qm9vbCgiQ2hhcnREcmF3aW5nVG9vbGJhcldpZGdldC52aXNpYmxlIixvKSxsPW5ldyByLldhdGNoZWRWYWx1ZShhKX0sODkwODM1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2N1cnJlbnRMYXlvdXQ6KCk9Pml9KTtjb25zdCBpPW5ldyhzKDIzMjM2NCkuV2F0Y2hlZFZhbHVlKShudWxsKX0sMTk4OTAxKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhbGN1bGF0ZU1pbk1heDooKT0+Qyxjb2xsZWN0QWxsUGF0aHM6KCk9Pk0sY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHM6KCk9PmIsZmluZEZpcnN0OigpPT5mLGluZGV4T2Y6KCk9PnYsaW50ZXJzZWN0OigpPT5fLGpvaW46KCk9PmcsbG93ZXJib3VuZDooKT0+bCxsb3dlcmJvdW5kRXh0OigpPT5hLG1hcEVudHJpZXNHZW5lcmF0b3I6KCk9PncsbWluTWF4OigpPT5ULG1vdmVBZnRlcjooKT0+cCxtb3ZlQmVmb3JlOigpPT5tLG1vdmVUb0hlYWQ6KCk9PmgsbmVzdGVkTWFwR2VuZXJhdG9yOigpPT5QLHJlbW92ZUVtcHR5T2JqZWN0c0Zyb21SZWNvcmRJbnBsYWNlOigpPT5JLHJlbW92ZUl0ZW1Gcm9tQXJyYXk6KCk9PnkscmV2ZXJ0UmVjb3JkOigpPT5ELHN1YnRyYWN0OigpPT5kLHN1bTooKT0+Uyx1cHBlcmJvdW5kOigpPT5jfSk7dmFyIGk9cygxNDQ1NTUpLG49cyg4ODAxMTUpLHI9cygxMzg2MzgpO2Z1bmN0aW9uIG8oZSx0KXtyZXR1cm4gZTx0fWZ1bmN0aW9uIGEoZSx0LHMsaSxuKXtsZXQgcj1uLWk7Zm9yKDswPHI7KXtjb25zdCBuPXI+PjEsbz1pK247cyhlKG8pLHQpPyhpPW8rMSxyLT1uKzEpOnI9bn1yZXR1cm4gaX1mdW5jdGlvbiBsKGUsdCxzLGk9MCxuPWUubGVuZ3RoKXtyZXR1cm4gYSgodD0+ZVt0XSksdCxzLGksbil9ZnVuY3Rpb24gdShlLHQscz0wLGk9ZS5sZW5ndGgpe3JldHVybiBsKGUsdCxvLHMsaSl9ZnVuY3Rpb24gYyhlLHQscyxpPTAsbj1lLmxlbmd0aCl7bGV0IHI9bi1pO2Zvcig7MDxyOyl7Y29uc3Qgbj1yPj4xLG89aStuO3ModCxlW29dKT9yPW46KGk9bysxLHItPW4rMSl9cmV0dXJuIGl9ZnVuY3Rpb24gZChlLHQpe3JldHVybiBlLmZpbHRlcigoZT0+IXQuaW5jbHVkZXMoZSkpKX1mdW5jdGlvbiBoKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7cmV0dXJuIHM8MD9lLnNsaWNlKCk6W3RdLmNvbmNhdChlLnNsaWNlKDAscykpLmNvbmNhdChlLnNsaWNlKHMrMSkpfWZ1bmN0aW9uIHAoZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPGUubGVuZ3RoLTE/dShvLHMrMSk6bi5sZW5ndGgsbi5zcGxpY2UocywwLC4uLnIpLHtuZXdJdGVtczpuLG1vdmVkSXRlbXNTdGFydEluZGV4OnN9fWZ1bmN0aW9uIG0oZSx0LHMpe2NvbnN0IGk9bmV3IFNldCh0KSxuPVtdLHI9W10sbz1bXTtyZXR1cm4gZS5mb3JFYWNoKCgoZSx0KT0+e2kuaGFzKGUpP3IucHVzaChlKToobi5wdXNoKGUpLG8ucHVzaCh0KSl9KSkscz1zPD1lLmxlbmd0aC0xP3UobyxzKTpuLmxlbmd0aCxuLnNwbGljZShzLDAsLi4ucikse25ld0l0ZW1zOm4sbW92ZWRJdGVtc1N0YXJ0SW5kZXg6c319ZnVuY3Rpb24gXyhlLHQpe2NvbnN0IHM9bmV3IFNldDtyZXR1cm4gZS5mb3JFYWNoKChlPT57dC5oYXMoZSkmJnMuYWRkKGUpfSkpLHN9ZnVuY3Rpb24gZyhlLHQpe2NvbnN0IHM9bmV3IFNldChlKTtyZXR1cm4gdC5mb3JFYWNoKChlPT5zLmFkZChlKSkpLHN9ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9ZS5pbmRleE9mKHQpOygwLApyLmFzc2VydCkoLTEhPT1zLCJJdGVtIGlzIG5vdCBmb3VuZCIpLGUuc3BsaWNlKHMsMSl9ZnVuY3Rpb24gZihlLHQpe2Zvcihjb25zdCBzIG9mIGUpaWYodChzKSlyZXR1cm4gcztyZXR1cm4gbnVsbH1mdW5jdGlvbiB2KGUsdCl7Zm9yKGxldCBzPTA7czxlLmxlbmd0aDtzKyspaWYodChlW3NdKSlyZXR1cm4gcztyZXR1cm4tMX1mdW5jdGlvbiBiKGUsdCl7aWYoZS5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoOysrcylpZihlW3NdLmlkKCkhPT10W3NdLmlkKCkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUyhlKXtyZXR1cm4gZS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApfWZ1bmN0aW9uKncoZSl7Zm9yKGNvbnN0W3Qsc11vZiBlKXlpZWxkW3Qsc119ZnVuY3Rpb24qUChlLHQpe2Zvcihjb25zdFtzLGldb2YgZSlpZih2b2lkIDA9PT10KWZvcihjb25zdFssZV1vZiBpKXlpZWxkW3MsZV07ZWxzZXtjb25zdCBlPWkuZ2V0KHQpO3ZvaWQgMCE9PWUmJih5aWVsZFtzLGVdKX19ZnVuY3Rpb24gVChlKXtyZXR1cm5bTWF0aC5taW4oLi4uZSksTWF0aC5tYXgoLi4uZSldfWZ1bmN0aW9uIEMoZSx0KXtyZXR1cm4gVChlLm1hcCh0KSl9ZnVuY3Rpb24gRShlKXtmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtLSlBcnJheS5pc0FycmF5KGVbdF0pPyhFKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpOigwLG4uZGVmYXVsdCkoZVt0XSkmJihJKGVbdF0pLCgwLGkuZGVmYXVsdCkoZVt0XSkmJmUuc3BsaWNlKHQsMSkpfWZ1bmN0aW9uIEkoZSl7Y29uc3QgdD1PYmplY3Qua2V5cyhlKTtmb3IoY29uc3QgcyBvZiB0KUFycmF5LmlzQXJyYXkoZVtzXSk/KEUoZVtzXSksKDAsaS5kZWZhdWx0KShlW3NdKSYmZGVsZXRlIGVbc10pOigwLG4uZGVmYXVsdCkoZVtzXSkmJihJKGVbc10pLCgwLGkuZGVmYXVsdCkoZVtzXSkmJmRlbGV0ZSBlW3NdKTtyZXR1cm4gZX1mdW5jdGlvbiBMKGUsdCxzKXtjb25zdCBpPU9iamVjdC5rZXlzKGUpO2Zvcihjb25zdCByIG9mIGkpe2NvbnN0IGk9dD9gJHt0fS4ke3J9YDpyOygwLG4uZGVmYXVsdCkoZVtyXSk/TChlW3JdLGkscyk6cy5wdXNoKGkpfX1mdW5jdGlvbiBNKGUpe2NvbnN0IHQ9W107cmV0dXJuIEwoZSwiIix0KSx0fWZ1bmN0aW9uIEQoZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLnJlZHVjZSgoKGUsW3Qsc10pPT4oZVtzXT10LGUpKSx7fSl9fSw4MTUzNTQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldCB0PWU7Y29uc3Qgcz0oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLHQmJnQoKX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLHMpLCgpPT57dD1udWxsfX1zLmQodCx7Y2FsbFdoZW5PbmxpbmU6KCk9Pml9KX0sMTE1MjkzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2RldGVjdEF1dG9EaXJlY3Rpb246KCk9PncsZm9yY2VMVFJTdHI6KCk9PnAsZm9yY2VMVFJTdHJTc3I6KCk9Pm0sZm9yY2VSVExNYXJrc1N0cjooKT0+ZCxmb3JjZVJUTFN0cjooKT0+ZyxnZXRMVFJTY3JvbGxMZWZ0OigpPT55LGdldExUUlNjcm9sbExlZnRPZmZzZXQ6KCk9PmYsaXNSdGw6KCk9Pm8sc2V0RG9jdW1lbnREaXJHZXR0ZXI6KCk9PnIsc3RhcnRXaXRoTFRSOigpPT5oLHN0cmlwTFRSTWFya3M6KCk9PmMsc3RyaXBMVFJTdHJTc3I6KCk9Pl99KTt2YXIgaT1zKDMyMDQwMyk7bGV0IG49KCk9Pm51bGw7ZnVuY3Rpb24gcihlKXtuPWV9Y29uc3Qgbz0oKT0+InJ0bCI9PT1mdW5jdGlvbigpe2NvbnN0IGU9bigpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiRG9jdW1lbnQgZGlyZWN0aW9uIGdldHRlciBpcyBub3Qgc2V0LCBjYWxsIHNldERvY3VtZW50RGlyR2V0dGVyIHRvIHNldCBpdCIpO3JldHVybiBlfSgpLGE9IuKAqiIsbD0i4oCsIix1PW5ldyBSZWdFeHAoIuKAjnzigI984oCqfOKAq3zigKwiLCJnIik7ZnVuY3Rpb24gYyhlKXtyZXR1cm4iIiE9PWUmJm8oKSYmbnVsbCE9ZT9lLnJlcGxhY2UodSwiIik6ZX1mdW5jdGlvbiBkKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI8iK2UrIuKAjiI6ZX1mdW5jdGlvbiBoKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigI4iK2U6ZX1mdW5jdGlvbiBwKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lP2ErZStsOmV9ZnVuY3Rpb24gbShlKXtyZXR1cm4gYStlK2x9ZnVuY3Rpb24gXyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKGEpJiZlLmVuZHNXaXRoKGwpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnKGUpe3JldHVybiIiIT09ZSYmbygpJiZudWxsIT1lPyLigKsiK2UrbDplfWZ1bmN0aW9uIHkoZSl7cmV0dXJuKDAsaS5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCkoZSwicnRsIil9ZnVuY3Rpb24gZihlLHQpe2NvbnN0IHM9KDAsaS5kZXRlY3RTY3JvbGxUeXBlKSgpO2lmKCJpbmRldGVybWluYXRlIj09PXMpcmV0dXJuIDA7c3dpdGNoKHMpe2Nhc2UibmVnYXRpdmUiOnQ9ZS5jbGllbnRXaWR0aC1lLnNjcm9sbFdpZHRoK3Q7YnJlYWs7Y2FzZSJyZXZlcnNlIjp0PWUuc2Nyb2xsV2lkdGgtZS5jbGllbnRXaWR0aC10fXJldHVybiB0fXZhciB2OyFmdW5jdGlvbihlKXtlLkxUUj0ibHRyIixlLlJUTD0icnRsIixlLlVOS05PV049IiJ9KHZ8fCh2PXt9KSk7Y29uc3QgYj0vW15cdTAwMDAtXHUwMDQwXHUwMDVCLVx1MDA2MFx1MDA3Qi1cdTAwQkZcdTAwRDdcdTAwRjdcdTAyQjktXHUwMkZGXHUyMDAwLVx1MjAwRVx1MjAxMC1cdTIwMjlcdTIwMkNcdTIwMkYtXHUyQkZGXS8sUz0vW1x1MDU5MC1cdTA3RkZcdTIwMEZcdTIwMkJcdTIwMkVcdUZCMUQtXHVGREZEXHVGRTcwLVx1RkVGQ10vO2Z1bmN0aW9uIHcoZSl7Y29uc3QgdD1iLmV4ZWMoZSk7cmV0dXJuIHQ/Uy50ZXN0KHRbMF0pPyJydGwiOiJsdHIiOiIifX0sNzA1MDEyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2hhc1NlcnZpY2U6KCk9PnUscmVnaXN0ZXJTZXJ2aWNlOigpPT5hLHNlcnZpY2U6KCk9PmMsdW5yZWdpc3RlclNlcnZpY2U6KCk9Pmwsd2FpdFNlcnZpY2VSZWdpc3RlcmVkOigpPT5kfSk7dmFyIGk9cyg3Njg3NjApLG49cygyMzIzNjQpCjtjb25zdCByPXt9LG89bmV3IE1hcDtmdW5jdGlvbiBhKGUsdCl7aWYodShlKSl0aHJvdyBuZXcgRXJyb3IoIlNlcnZpY2UgYWxyZWFkeSByZWdpc3RlcmVkIik7aChlKS5zZXRWYWx1ZSh0KTtjb25zdCBzPW8uZ2V0KGUpO3ZvaWQgMCE9PXMmJihvLmRlbGV0ZShlKSxzLnJlc29sdmUodCkpfWZ1bmN0aW9uIGwoZSl7aWYoIXUoZSkpdGhyb3cgbmV3IEVycm9yKCJTZXJ2aWNlIG5vdCBmb3VuZCIpO2goZSkuc2V0VmFsdWUobnVsbCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbnVsbCE9PWgoZSkudmFsdWUoKX1mdW5jdGlvbiBjKGUpe2NvbnN0IHQ9aChlKS52YWx1ZSgpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcigiU2VydmljZUxvY2F0b3I6IFNlcnZpY2UgIitlKyIgbm90IGZvdW5kIik7cmV0dXJuIHR9ZnVuY3Rpb24gZChlKXtpZih1KGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYyhlKSk7bGV0IHQ9by5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgwLGkuY3JlYXRlRGVmZXJyZWRQcm9taXNlKSgpLG8uc2V0KGUsdCkpLHQucHJvbWlzZX1mdW5jdGlvbiBoKGUpe2xldCB0PXJbZV07cmV0dXJuIHR8fCh0PW5ldyBuLldhdGNoZWRWYWx1ZShudWxsKSxyW2VdPXQpLHR9fSw0OTExNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7YXZhaWxhYmxlRGF0ZUZvcm1hdHM6KCk9PmIsZGF0ZUZvcm1hdEZ1bmN0aW9uczooKT0+ZixkZWZhdWx0RGF0ZUZvcm1hdDooKT0+dyxnZXREYXRlRm9ybWF0V2l0aFdlZWtkYXk6KCk9PnYseXl5eTooKT0+eX0pO3ZhciBpPXMoNzgzMjU0KSxuPXMoODIyNDMxKSxyPXMoODU2MzI0KTtjb25zdCBvPXsxOigpPT5pLnQobnVsbCx2b2lkIDAscyg2NTczNzQpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg2MTczNDEpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygxMDMzMDUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscyg1MjY3ODUpKSw1OigpPT5pLnQobnVsbCx7Y29udGV4dDoic2hvcnQifSxzKDczNDc1MCkpLDY6KCk9PmkudChudWxsLHZvaWQgMCxzKDg3NzQ1KSksNzooKT0+aS50KG51bGwsdm9pZCAwLHMoMTgzOTU5KSksODooKT0+aS50KG51bGwsdm9pZCAwLHMoOTM3NjIpKSw5OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzg0NjkpKSwxMDooKT0+aS50KG51bGwsdm9pZCAwLHMoNzI4MzM3KSksMTE6KCk9PmkudChudWxsLHZvaWQgMCxzKDY0NjU0NSkpLDEyOigpPT5pLnQobnVsbCx2b2lkIDAscyg3NjkwMzYpKX0sYT17MTooKT0+aS50KG51bGwsdm9pZCAwLHMoODk3NjcpKSwyOigpPT5pLnQobnVsbCx2b2lkIDAscyg5NDg5MjMpKSwzOigpPT5pLnQobnVsbCx2b2lkIDAscygzNjc5MzUpKSw0OigpPT5pLnQobnVsbCx2b2lkIDAscygxNzU1MDcpKX0sbD0oZSx0KT0+KHQ/ZS5nZXRNb250aCgpOmUuZ2V0VVRDTW9udGgoKSkrMSx1PShlLHQpPT50P2UuZ2V0RGF0ZSgpOmUuZ2V0VVRDRGF0ZSgpLGM9KGUsdCk9PnQ/ZS5nZXRGdWxsWWVhcigpOmUuZ2V0VVRDRnVsbFllYXIoKSxkPShlLHQpPT5lLnRvTG9jYWxlRGF0ZVN0cmluZygoMCxyLmdldExhbmd1YWdlKSgpPygwLHIubWFwTGFuZ3VhZ2VDb2RlKSgoMCxyLmdldExhbmd1YWdlKSgpKTp2b2lkIDAse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZToibG9jYWwiPT09dD92b2lkIDA6dH0pLGg9KGUsdCk9PmFbKChlLHQpPT5NYXRoLmZsb29yKChsKGUsdCktMSkvMykrMSkoZSx0KV0oKSxwPShlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMiksbT0oZSx0KT0+b1tsKGUsdCldKCksXz0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykobChlLHQpLDIpLGc9KGUsdCk9PigwLG4ubnVtYmVyVG9TdHJpbmdXaXRoTGVhZGluZ1plcm8pKGMoZSx0KSUxMDAsMikseT0oZSx0KT0+KDAsbi5udW1iZXJUb1N0cmluZ1dpdGhMZWFkaW5nWmVybykoYyhlLHQpLDQpLGY9eyJxcSAneXkiOihlLHQpPT5gJHtoKGUsdCl9ICcke2coZSx0KX1gLCJxcSB5eXl5IjooZSx0KT0+YCR7aChlLHQpfSAke3koZSx0KX1gLCJkZCBNTU0gJ3l5IjooZSx0KT0+YCR7cChlLHQpfSAke20oZSx0KX0gJyR7ZyhlLHQpfWAsIk1NTSAneXkiOihlLHQpPT5gJHttKGUsdCl9ICcke2coZSx0KX1gLCJNTU0gZGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7cChlLHQpfSwgJHt5KGUsdCl9YCwiTU1NIGQsIHl5eXkiOihlLHQpPT5gJHttKGUsdCl9ICR7KChlLHQpPT4oMCxuLm51bWJlclRvU3RyaW5nV2l0aExlYWRpbmdaZXJvKSh1KGUsdCksMCkpKGUsdCl9LCAke3koZSx0KX1gLCJNTU0geXl5eSI6KGUsdCk9PmAke20oZSx0KX0gJHt5KGUsdCl9YCwiTU1NIGRkIjooZSx0KT0+YCR7bShlLHQpfSAke3AoZSx0KX1gLCJkZCBNTU0iOihlLHQpPT5gJHtwKGUsdCl9ICR7bShlLHQpfWAsInl5eXktTU0tZGQiOihlLHQpPT5gJHt5KGUsdCl9LSR7XyhlLHQpfS0ke3AoZSx0KX1gLCJ5eS1NTS1kZCI6KGUsdCk9PmAke2coZSx0KX0tJHtfKGUsdCl9LSR7cChlLHQpfWAsInl5L01NL2RkIjooZSx0KT0+YCR7ZyhlLHQpfS8ke18oZSx0KX0vJHtwKGUsdCl9YCwieXl5eS9NTS9kZCI6KGUsdCk9PmAke3koZSx0KX0vJHtfKGUsdCl9LyR7cChlLHQpfWAsImRkLU1NLXl5eXkiOihlLHQpPT5gJHtwKGUsdCl9LSR7XyhlLHQpfS0ke3koZSx0KX1gLCJkZC1NTS15eSI6KGUsdCk9PmAke3AoZSx0KX0tJHtfKGUsdCl9LSR7ZyhlLHQpfWAsImRkL01NL3l5IjooZSx0KT0+YCR7cChlLHQpfS8ke18oZSx0KX0vJHtnKGUsdCl9YCwiZGQvTU0veXl5eSI6KGUsdCk9PmAke3AoZSx0KX0vJHtfKGUsdCl9LyR7eShlLHQpfWAsIk1NL2RkL3l5IjooZSx0KT0+YCR7XyhlLHQpfS8ke3AoZSx0KX0vJHtnKGUsdCl9YCwiTU0vZGQveXl5eSI6KGUsdCk9PmAke18oZSx0KX0vJHtwKGUsdCl9LyR7eShlLHQpfWB9O2Z1bmN0aW9uIHYoZSx0KXtyZXR1cm4iamEiPT09KDAsci5nZXRMYW5ndWFnZSkoKT8ocyxpKT0+YCR7ZltlXShzLGkpfSAoJHtkKHMsdCl9KWA6KHMsaSk9PmAke2Qocyx0KX0gJHtmW2VdKHMsaSl9YH0KY29uc3QgYj1PYmplY3Qua2V5cyhmKSxTPVsiamEiLCJrbyIsInpoIiwiemhfVFciXSx3PSgpPT5TLmluY2x1ZGVzKCgwLHIuZ2V0TGFuZ3VhZ2UpKCkpPyJ5eXl5LU1NLWRkIjoiZGQgTU1NICd5eSJ9LDYzMjY4NihlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtDb25uZWN0aW9uU3RhdHVzOigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLkNsb3NlZD0wXT0iQ2xvc2VkIixlW2UuQ29ubmVjdGluZz0xXT0iQ29ubmVjdGluZyIsZVtlLk9wZW49Ml09Ik9wZW4ifShpfHwoaT17fSkpfSw4MDk5OTMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudEV2ZW50U291cmNlVHJhbnNwb3J0OigpPT5hfSk7dmFyIGk9cygyMjEwNjEpLG49cyg2MzI2ODYpLHI9cygyOTU2MjYpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJQZXJzaXN0ZW50V2Vic29ja2V0VHJhbnNwb3J0Iik7Y2xhc3MgYSBleHRlbmRzIHIuUGVyc2lzdGVudFRyYW5zcG9ydHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLG8pLHRoaXMuX3NwZWNpYWxpemVkRXJyb3JIYW5kbGVyQm91bmQ9dGhpcy5fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIuYmluZCh0aGlzKX1fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KGUpe2NvbnN0IHQ9bmV3IEV2ZW50U291cmNlKGUse3dpdGhDcmVkZW50aWFsczohMH0pO3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm9wZW4iLHRoaXMuX3NvY2tldE9wZW5IYW5kbGVyKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX3NvY2tldE1lc3NhZ2VIYW5kbGVyKSx0fV9kaXNjb25uZWN0VHJhbnNwb3J0KCl7aWYobnVsbD09PXRoaXMuX3NvY2tldClyZXR1cm47dGhpcy5fc29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzLl9zcGVjaWFsaXplZEVycm9ySGFuZGxlckJvdW5kKSx0aGlzLl9zb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3BlbiIsdGhpcy5fc29ja2V0T3BlbkhhbmRsZXIpLHRoaXMuX3NvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlciksdGhpcy5fcmVtb3ZlT25PZmZsaW5lTGlzdGVuZXIoKTtjb25zdCBlPXRoaXMuX3NvY2tldDt0aGlzLl9zb2NrZXQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKG4uQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLGUucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5DTE9TRUQmJmUuY2xvc2UoKX1fc3BlY2lhbGl6ZWRFcnJvckhhbmRsZXIoZSl7ZS5ldmVudFBoYXNlPT09RXZlbnRTb3VyY2UuQ0xPU0VEP3RoaXMuX3NvY2tldENsb3NlSGFuZGxlcihlKTp0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXIoKX19fSwyOTU2MjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGVyc2lzdGVudFRyYW5zcG9ydDooKT0+dX0pO3ZhciBpLG49cyg4MTUzNTQpLHI9cygyMzIzNjQpLG89cyg5NDgzODApLGE9cygyMTQ5ODcpLGw9cyg2MzI2ODYpOyFmdW5jdGlvbihlKXtlW2UuTm9ybWFsPTMwMF09Ik5vcm1hbCIsZVtlLlRvb01hbnlSZWNvbm5lY3RzPTVlM109IlRvb01hbnlSZWNvbm5lY3RzIn0oaXx8KGk9e30pKTtjbGFzcyB1e2NvbnN0cnVjdG9yKGUsdCxzKXt0aGlzLl91cmw9IiIsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsLHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXM9bmV3IHIuV2F0Y2hlZFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLHRoaXMuX3NvY2tldENsb3NlSGFuZGxlcj10aGlzLl9vbkNsb3NlQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRFcnJvckhhbmRsZXI9dGhpcy5fb25FcnJvckNhbGxiYWNrLmJpbmQodGhpcyksdGhpcy5fc29ja2V0T3BlbkhhbmRsZXI9dGhpcy5fb25PcGVuQ2FsbGJhY2suYmluZCh0aGlzKSx0aGlzLl9zb2NrZXRNZXNzYWdlSGFuZGxlcj10aGlzLl9vbk1lc3NhZ2VDYWxsYmFjay5iaW5kKHRoaXMpLHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZT1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9zaG91bGRSZWNvbm5lY3Q9ITAsdGhpcy5fbWF4UmVjb25uZWN0Q291bnQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW51bGwsdGhpcy5fdHJ5UmVjb25uZWN0PSgpPT57aWYodGhpcy5fZGlzY29ubmVjdCgpLHRoaXMuX3Nob3VsZFJlY29ubmVjdCl7Y29uc3QgZT10aGlzLl9nZXRSZWNvbm5lY3RUaW1lb3V0KCk7dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgU2xlZXBpbmcgc29tZSB0aW1lIGJlZm9yZSByZWNvbm5lY3QgJHtlfW1zYCksdGhpcy5fcmVjb25uZWN0VGltZW91dElkPXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0SW1wbC5iaW5kKHRoaXMpLGUpfWVsc2UgdGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiU2tpcCByZWNvbm5lY3RpbmcgYmVjYXVzZSBvZiBzaG91bGRSZWNvbm5lY3Qgc3RhdGUiKX0sdGhpcy5fb25PZmZsaW5lSGFuZGxlcj0oKT0+e3RoaXMuX3JlbW92ZU9uT2ZmbGluZUxpc3RlbmVyKCksdGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb2ZmbGluZSAtIHRyeWluZyB0byByZWNvbm5lY3QiKSx0aGlzLl90cnlSZWNvbm5lY3QoKX0sdGhpcy5fbG9nZ2VyPXQsdGhpcy5fbWVzc2FnZUhhbmRsZXI9ZSx0aGlzLl9jbG9zZUhhbmRsZXI9cyx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIiwoKCk9Pnt0LmxvZ05vcm1hbCgiVW5sb2FkIGV2ZW50IGNvbWVzIC0gZGlzY29ubmVjdGluZyB3aXRob3V0IHJlY29ubmVjdCBhZnRlciB0aGF0Li4uIiksdGhpcy5fc2hvdWxkUmVjb25uZWN0PSExLHRoaXMuX2Rpc2Nvbm5lY3QoKX0pLCExKX1zZXRVcmwoZSx0KXtpZih0aGlzLl91cmw9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKQo7Y29uc3Qgcz10aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkO3JldHVybiBzJiZ0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fdXJsPWUsdGhpcy5fY29ubmVjdGlvbk9wdGlvbnM9dCxzP3RoaXMuY29ubmVjdCgpOlByb21pc2UucmVzb2x2ZSgpfXVybCgpe3JldHVybiB0aGlzLl91cmx9Y29ubmVjdCgpe3JldHVybiB0aGlzLl9jb25uZWN0SW1wbCgpfXNldE1heFJlY29ubmVjdENvdW50KGUpe3RoaXMuX21heFJlY29ubmVjdENvdW50PWV9Y29ubmVjdGlvblN0YXR1cygpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnJlYWRvbmx5KCl9ZGlzY29ubmVjdCgpe3RoaXMuX3Nob3VsZFJlY29ubmVjdD0hMSx0aGlzLl9kaXNjb25uZWN0KCl9bWF4UmVjb25uZWN0UmVhY2hlZEV2ZW50KCl7cmV0dXJuIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfXN1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnQoKXtyZXR1cm4gdGhpcy5fc3VjY2Vzc1JlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlfWFzeW5jIF9wcmVwYXJlUGFyYW1zRm9yQ29ubmVjdGlvbihlKXt9X2Rpc2Nvbm5lY3QoKXt0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpLHRoaXMuX2Nvbm5lY3RBYm9ydENvbnRyb2xsZXI9bnVsbCxjbGVhclRpbWVvdXQodGhpcy5fcmVjb25uZWN0VGltZW91dElkKSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0SWQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkP3RoaXMuX3NvY2tldD8odGhpcy5fbG9nZ2VyLmxvZ05vcm1hbChgQ2xvc2luZyBjb25uZWN0aW9uIHRvOiAke3RoaXMuX3NvY2tldC51cmx9LCBjdXJyZW50U3RhdHVzOiAke2wuQ29ubmVjdGlvblN0YXR1c1t0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCldfWApLHRoaXMuX2Rpc2Nvbm5lY3RUcmFuc3BvcnQoKSk6dGhpcy5fbG9nZ2VyLmxvZ05vcm1hbCgiRGlzY29ubmVjdGluZyB3aXRob3V0IHNvY2tldCAtIHByb2JhYmx5IHdpdGhpbiBwcmVwYXJpbmcsIGl0IHNob3VsZCBiZSBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgYWJvcnRpbmciKTp0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJBdHRlbXB0IHRvIGNsb3NlIGNvbm5lY3Rpb24gYnV0IGl0IGlzIGNsb3NlZCBhbHJlYWR5Iil9X29uRXJyb3JDYWxsYmFjaygpe3RoaXMuX2xvZ2dlci5sb2dJbmZvKCJDb25uZWN0aW9uIGlzIGNsb3NlZCBieSBlcnJvciIpLHRoaXMuX3RyeVJlY29ubmVjdCgpfV9vbkNsb3NlQ2FsbGJhY2soZSl7dGhpcy5fbG9nZ2VyLmxvZ0luZm8oYENvbm5lY3Rpb24gaXMgY2xvc2VkIC0gY29kZT0ke2UuY29kZX0gbXNnPSR7ZS5yZWFzb259YCksdGhpcy5fY2xvc2VIYW5kbGVyPy4oZSksdGhpcy5fdHJ5UmVjb25uZWN0KCl9X3RyeVJlY29ubmVjdEltcGwoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX21heFJlY29ubmVjdENvdW50JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD09PXRoaXMuX21heFJlY29ubmVjdENvdW50Pyh0aGlzLl9sb2dnZXIubG9nV2FybigiTWF4aW11bSBhdHRlbXB0cyB0byByZWNvbm5lY3QgdG8gd2Vic29ja2V0IHJlYWNoZWQiKSx2b2lkIHRoaXMuX21heFJlY29ubmVjdFJlYWNoZWRFdmVudERlbGVnYXRlLmZpcmUoKSk6KHRoaXMuX3JlY29ubmVjdENvdW50Kz0xLHRoaXMuX2xvZ2dlci5sb2dJbmZvKGBSZWNvbm5lY3RpbmcgY291bnQ6ICR7dGhpcy5fcmVjb25uZWN0Q291bnR9YCksbmF2aWdhdG9yLm9uTGluZT8odGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzOiBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHZvaWQgdGhpcy5jb25uZWN0KCkpOih0aGlzLl9sb2dnZXIubG9nSW5mbygiTmV0d29yayBzdGF0dXM6IG9mZmxpbmUgLSB3YWl0IHVudGlsIG9ubGluZSIpLHZvaWQodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49KDAsbi5jYWxsV2hlbk9ubGluZSkoKCgpPT57dGhpcy5fbG9nZ2VyLmxvZ0luZm8oIk5ldHdvcmsgc3RhdHVzIGNoYW5nZWQgdG8gb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLmNvbm5lY3QoKX0pKSkpKX1fb25PcGVuQ2FsbGJhY2soKXt0aGlzLl9sb2dnZXIubG9nTm9ybWFsKCJDb25uZWN0aW9uIG9wZW5lZCIpLHRoaXMuX3JlY29ubmVjdENvdW50PjAmJnRoaXMuX3N1Y2Nlc3NSZWNvbm5lY3RSZWFjaGVkRXZlbnREZWxlZ2F0ZS5maXJlKCksdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5PcGVuKX1fb25NZXNzYWdlQ2FsbGJhY2soZSl7dGhpcy5fbWVzc2FnZUhhbmRsZXIoZS5kYXRhKX1fZ2V0UmVjb25uZWN0VGltZW91dCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudDw1PzMwMDo1ZTN9X3NldE9uT2ZmbGluZUxpc3RlbmVyKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuX29uT2ZmbGluZUhhbmRsZXIpfV9yZW1vdmVPbk9mZmxpbmVMaXN0ZW5lcigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIix0aGlzLl9vbk9mZmxpbmVIYW5kbGVyKX1hc3luYyBfY29ubmVjdEltcGwoKXtpZih0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnZhbHVlKCkhPT1sLkNvbm5lY3Rpb25TdGF0dXMuQ2xvc2VkKXJldHVybiB2b2lkIHRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoIkF0dGVtcHQgdG8gb3BlbiBjb25uZWN0aW9uIGJ1dCBpdCBpcyBub3QgY2xvc2VkIik7dGhpcy5fc29ja2V0JiYodGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKCJTb21ldGhpbmcgd2VudCB3cm9uZyAtIGNvZGUgMHgyIiksdGhpcy5kaXNjb25uZWN0KCkpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuJiYodGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1udWxsKSx0aGlzLl9sb2dnZXIubG9nTm9ybWFsKGBDb25uZWN0aW5nIHRvICR7dGhpcy5fdXJsfWApLHRoaXMuX3Nob3VsZFJlY29ubmVjdD0hMCx0aGlzLl9jb25uZWN0QWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIKO2NvbnN0IGU9dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlci5zaWduYWw7dHJ5e2lmKHRoaXMuX2Nvbm5lY3Rpb25TdGF0dXMuc2V0VmFsdWUobC5Db25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpLGF3YWl0IHRoaXMuX3ByZXBhcmVQYXJhbXNGb3JDb25uZWN0aW9uKGUpLGUuYWJvcnRlZCl0aHJvdygwLGEuY3JlYXRlQWJvcnRFcnJvcikoKTt0aGlzLl9zb2NrZXQ9dGhpcy5fY3JlYXRlTmF0aXZlVHJhbnNwb3J0KHRoaXMuX3VybCksdGhpcy5fc2V0T25PZmZsaW5lTGlzdGVuZXIoKX1jYXRjaChlKXt0aGlzLl9jb25uZWN0aW9uU3RhdHVzLnNldFZhbHVlKGwuQ29ubmVjdGlvblN0YXR1cy5DbG9zZWQpLCgwLGEuc2tpcEFib3J0RXJyb3IpKGUpfWZpbmFsbHl7dGhpcy5fY29ubmVjdEFib3J0Q29udHJvbGxlcj1udWxsfX19fSw5MDEwMjIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U0VQQVJBVE9SX1BSRUZJWDooKT0+aSxpc1NlcGFyYXRvckl0ZW06KCk9Pm59KTtjb25zdCBpPSIjIyMiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aChpKX19LDY0MTU5MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJJbldvcmQ6KCk9Pm0sZGVjb2RlSFRNTEVudGl0aWVzOigpPT51LGVuY29kZUhUTUxFbnRpdGllczooKT0+YyxnZXRGaXJzdFNlZ21lbnRPckNvZGVQb2ludFN0cmluZzooKT0+XyxodG1sRXNjYXBlOigpPT5kLHJlbW92ZVNwYWNlczooKT0+cCxyZW1vdmVUYWdzOigpPT5ofSk7Y29uc3QgaT0vWzwiJyY+XS9nLG49ZT0+YCYjJHtlLmNoYXJDb2RlQXQoMCl9O2Ascj17IiZsdDsiOiI8IiwiJmd0OyI6Ij4iLCImcXVvdDsiOiciJywiJmFwb3M7IjoiJyIsIiZhbXA7IjoiJiIsIiYjNjA7IjoiPCIsIiYjNjI7IjoiPiIsIiYjMzQ7IjonIicsIiYjMzk7IjoiJyIsIiYjMDM5OyI6IiciLCImIzM4OyI6IiYifSxvPU9iamVjdC5hc3NpZ24oe30sLi4uT2JqZWN0LmVudHJpZXMocikubWFwKCgoW2UsdF0pPT4oe1t0XTplfSkpKSksYT1uZXcgUmVnRXhwKE9iamVjdC5rZXlzKHIpLmpvaW4oInwiKSwiZyIpLGw9bmV3IFJlZ0V4cChPYmplY3Qua2V5cyhvKS5qb2luKCJ8IiksImciKTtmdW5jdGlvbiB1KGUpe3JldHVybiBlLnJlcGxhY2UoYSwoZT0+cltlXXx8ZSkpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUucmVwbGFjZShsLChlPT5vW2VdfHxlKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gZS5yZXBsYWNlKGksbil9ZnVuY3Rpb24gaChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwiIil9ZnVuY3Rpb24gcChlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9ccysvZywiIil9ZnVuY3Rpb24gbShlPSIiKXtyZXR1cm4gZS5yZXBsYWNlKC9cYlx3L2csKGU9PmUudG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIF8oZSl7Y29uc3QgdD1JbnRsLlNlZ21lbnRlcjtpZih0KXtjb25zdCBzPW5ldyB0KHZvaWQgMCx7Z3JhbnVsYXJpdHk6ImdyYXBoZW1lIn0pLFt7c2VnbWVudDppfT17c2VnbWVudDpudWxsfV09cy5zZWdtZW50KGUpO3JldHVybiBpPy50b1VwcGVyQ2FzZSgpPz9udWxsfXtjb25zdCB0PWUuY29kZVBvaW50QXQoMCk7cmV0dXJuIHQ/U3RyaW5nLmZyb21Db2RlUG9pbnQodCkudG9VcHBlckNhc2UoKTpudWxsfX19LDExMTk1MyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtERUZBVUxUX0FESlVTVE1FTlQ6KCk9PnIsREVGQVVMVF9TRVNTSU9OOigpPT5uLERFRkFVTFRfU0VUVExFTUVOVF9BU19DTE9TRTooKT0+byxjb21wYXJlU3ltYm9sczooKT0+YixkZWNvZGVFeHRlbmRlZFN5bWJvbDooKT0+ZyxlbmNvZGVFeHRlbmRlZFN5bWJvbDooKT0+YSxlbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWw6KCk9PnAsZXh0cmFjdEV4dGVuZGVkU3ltYm9sOigpPT5mLGdldEV4dGVuZGVkU3ltYm9sOigpPT5fLGlzRW5jb2RlZEV4dGVuZGVkU3ltYm9sOigpPT5tLGlzUmVwbGF5U3ltYm9sOigpPT5oLGlzU3R1ZHlTeW1ib2w6KCk9PmMscmVwbGFjZUV4dGVuZGVkU3ltYm9sOigpPT5TLHN5bWJvbFdpdGhvdXRQcmVmaXg6KCk9PncsdW53cmFwU2ltcGxlU3ltYm9sOigpPT55fSk7dmFyIGk9cyg2MDE4NDEpO2NvbnN0IG49InJlZ3VsYXIiLHI9InNwbGl0cyIsbz0hMDtmdW5jdGlvbiBhKGUpe3JldHVybiI9IitKU09OLnN0cmluZ2lmeShsKGUpKX1mdW5jdGlvbiBsKGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5zb3J0KCkucmVkdWNlKCgodCxzKT0+KCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGVbc10pP3Rbc109bChlW3NdKTp0W3NdPWVbc10sdCkpLHt9KX1mdW5jdGlvbiB1KGUpe3JldHVybigwLGkuaXNTdHJpbmcpKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIXUoZSkmJiJpbnB1dHMiaW4gZX1mdW5jdGlvbiBkKGUpe3JldHVybiF1KGUpJiYicmVwbGF5ImluIGV9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZChlKXx8ZnVuY3Rpb24oZSl7cmV0dXJuIXUoZSkmJmQoZS5zeW1ib2wpfShlKX1mdW5jdGlvbiBwKGUpe3JldHVybiBjKGUpfHxoKGUpfHxlLnNlc3Npb258fGUuYWRqdXN0bWVudHx8ZVsiY3VycmVuY3ktaWQiXXx8ZVsidW5pdC1pZCJdfHxlLm1ldHJpYz9hKGUpOmUuc3ltYm9sfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIj0iPT09ZVswXX1mdW5jdGlvbiBfKGUpe3JldHVybiB1KGUpP2coZSk6ZX1mdW5jdGlvbiBnKGUpe2lmKCFtKGUpKXJldHVybntzeW1ib2w6ZX07dHJ5e3JldHVybiBKU09OLnBhcnNlKGUuc2xpY2UoMSkpfWNhdGNoKHQpe3JldHVybntzeW1ib2w6ZX19fWZ1bmN0aW9uIHkoZSl7cmV0dXJuIHUoZSk/ZTp5KGUuc3ltYm9sKX1mdW5jdGlvbiBmKGUpe2lmKHUoZSkpcmV0dXJue3N5bWJvbDplfTtsZXQgdD1lO2Zvcig7IXUodC5zeW1ib2wpOyl0PXQuc3ltYm9sO3JldHVybiB0fWNvbnN0IHY9WyJzeW1ib2wiLCJzZXNzaW9uIiwidW5pdC1pZCIsImN1cnJlbmN5LWlkIiwibWV0cmljIiwiYWRqdXN0bWVudCIsImJhY2thZGp1c3RtZW50Iiwic2V0dGxlbWVudC1hcy1jbG9zZSJdO2Z1bmN0aW9uIGIoZSx0KXtyZXR1cm4gdi5ldmVyeSgocz0+ZVtzXT09PXRbc10pKX0KZnVuY3Rpb24gUyhlLHQpe2xldCBzPWU7Zm9yKDshdShzLnN5bWJvbCk7KXM9cy5zeW1ib2w7cy5zeW1ib2w9dH1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnNwbGl0KCI6Iikuc2xpY2UoLTEpLnBvcCgpPz9lfX0sMzY3OTQ2KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtpZih2b2lkIDA9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9ZS5tYXRjaCgvKGRlbGF5ZWRfc3RyZWFtaW5nKV8oXGQrKS8pO3JldHVybiBudWxsPT09dD9udWxsOnttb2RlOnRbMV0saW50ZXJ2YWw6cGFyc2VJbnQodFsyXSl9fWZ1bmN0aW9uIG4oZSl7Y29uc3QgdD1pKGUudXBkYXRlX21vZGUpO3JldHVybiBudWxsPT09dHx8KGUudXBkYXRlX21vZGU9dC5tb2RlLGUudXBkYXRlX21vZGVfc2Vjb25kcz10LmludGVydmFsKSxlfXMuZCh0LHtub3JtYWxpemVVcGRhdGVNb2RlOigpPT5uLHBhcnNlVXBkYXRlTW9kZTooKT0+aX0pfSwzNTYzODAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0VG9vbHRpcERhdGE6KCk9Pm4sc2V0VG9vbHRpcERhdGE6KCk9PnJ9KTtjb25zdCBpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4oZSx0KXtjb25zdCBzPWkuZ2V0KGUpO3JldHVybiBzIGluc3RhbmNlb2YgRnVuY3Rpb24/cyh0KTpzJiZzW3RdfWZ1bmN0aW9uIHIoZSx0LHMpe2lmKHMgaW5zdGFuY2VvZiBGdW5jdGlvbilyZXR1cm4gdm9pZCBpLnNldChlLHMpO2NvbnN0IG49aS5nZXQoZSkscj12b2lkIDA9PT1ufHxuIGluc3RhbmNlb2YgRnVuY3Rpb24/e306bjtyW3RdPXMsaS5zZXQoZSxyKX19LDQ5MDM3OChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXREYXRhRnJvbVRhcmdldDooKT0+XyxnZXRUb29sdGlwOigpPT5nLGhpZGVUb29sdGlwOigpPT52LHNldFN0eWxlOigpPT55LHNob3dUb29sdGlwOigpPT5mLHVwZGF0ZVRvb2x0aXBUZXh0RnJvbVRhcmdldDooKT0+bX0pO3ZhciBpLG49cygxMzg2MzgpLHI9cyg0NDM1NTcpLG89cyg5NjkxNjgpLGE9KHMoODI5MTgwKSxzKDUxODc1KSksbD1zKDY0MDc0NCksdT1zKDMxODk3NCksYz1zKDY4NjY1MCksZD1zKDM1NjM4MCksaD1zKDM0NTE1MSkscD1zKDExNDA2OCk7ZnVuY3Rpb24gbShlKXtjb25zdCB0PWUuaGFzQXR0cmlidXRlKCJkYXRhLXRvb2x0aXAiKT9lLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwIik6ZS5nZXRBdHRyaWJ1dGUoInRpdGxlIik7cmV0dXJuIHQmJigoMCxkLnNldFRvb2x0aXBEYXRhKShlLCJ0ZXh0Iix0KSxlLnJlbW92ZUF0dHJpYnV0ZSgidGl0bGUiKSksKDAsZC5nZXRUb29sdGlwRGF0YSkoZSwidGV4dCIpfHwiIn1mdW5jdGlvbiBfKGUpe2NvbnN0IHQ9bShlKSxzPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT17aDpzLmhlaWdodCx3OnMud2lkdGgseDpzLmxlZnQseTpzLnRvcH0sbj1lLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2xvci10aGVtZSIpfHwiIixyPWUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1odG1sIiksbz1wYXJzZUludChlLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWRlbGF5Iil8fCIiKSxhPXBhcnNlSW50KGUuZ2V0QXR0cmlidXRlKCJkYXRhLXRvb2x0aXAtZGVib3VuY2UiKXx8IiIpO2xldCBsPXt0eXBlOiJub25lIn07cmV0dXJuIHQmJihsPXt0eXBlOnI/Imh0bWwiOiJ0ZXh0IixkYXRhOnR9KSx7YWJvdmU6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWFib3ZlIiksYmVsb3c6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLWJlbG93Iiksb3RsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC1vdGwiKSxvdHI6ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbW1vbi10b29sdGlwLW90ciIpLHZlcnRpY2FsOmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21tb24tdG9vbHRpcC12ZXJ0aWNhbCIpLGhvdGtleTplLmdldEF0dHJpYnV0ZSgiZGF0YS10b29sdGlwLWhvdGtleSIpLG5hcnJvdzplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtbmFycm93Iiksd2lkZTplLmNsYXNzTGlzdC5jb250YWlucygiY29tbW9uLXRvb2x0aXAtd2lkZSIpLGNvbG9yVGhlbWU6bix0b29sdGlwRGVsYXk6byx0b29sdGlwRGVib3VuY2U6YSxyZWN0OmksY29udGVudDpsLHRhcmdldDplfX1mdW5jdGlvbiBnKGUpe2NvbnN0IHQ9KDAsbi5lbnN1cmVOb3ROdWxsKShUKS5jbG9uZU5vZGUoITApLHM9SSh0KSx7Y29udGVudDppfT1lO3N3aXRjaChpLnR5cGUpe2Nhc2UiZWxlbWVudCI6cy5pbm5lckhUTUw9IiIscy5hcHBlbmRDaGlsZChpLmRhdGEpO2JyZWFrO2Nhc2UiaHRtbCI6cy5pbm5lckhUTUw9aS5kYXRhO2JyZWFrO2Nhc2UidGV4dCI6aWYoZS5ob3RrZXkpe2NvbnN0IGU9KDAsbi5lbnN1cmVOb3ROdWxsKShFKS5jbG9uZU5vZGUoITApO2UuaW5uZXJUZXh0PWkuZGF0YSxzLmFwcGVuZENoaWxkKGUpfWVsc2Ugcy5pbm5lclRleHQ9aS5kYXRhfWlmKGUuaG90a2V5KXtjb25zdCB0PSJub25lIiE9PWkudHlwZSxyPSgwLG4uZW5zdXJlTm90TnVsbCkoQykuY2xvbmVOb2RlKCEwKSxvPSgwLGguaG90S2V5RGVzZXJpYWxpemUpKGUuaG90a2V5KSxhPW8ua2V5cy5tYXAoKGU9PmA8c3BhbiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LWJ1dHRvbiJdfSI+JHtlfTwvc3Bhbj5gKSk7ci5pbm5lckhUTUw9ZnVuY3Rpb24oZSx0KXtjb25zdCBzPS97XGR9fHtob3RrZXlfXGR9L2dpO3JldHVybiBlLnJlcGxhY2UocywoZT0+e2NvbnN0IHM9TnVtYmVyKGUubWF0Y2goL1xkLykpO3JldHVybiB0W3NdfSkpfShvLnRleHQsYSkucmVwbGFjZSgvXHNcK1xzL2csYDxzcGFuIGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19wbHVzLXNpZ24iXX0iPis8L3NwYW4+YCkscy5jbGFzc0xpc3QuYWRkKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aXRoLWhvdGtleSJdKSx0JiZyLmNsYXNzTGlzdC5hZGQocFsiY29tbW9uLXRvb2x0aXBfX2hvdGtleS1ibG9jay0tZGl2aWRlciJdKSxzLmFwcGVuZENoaWxkKHIpfXJldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixhLnByZXZlbnREZWZhdWx0KSx0fWZ1bmN0aW9uIHkoZSx0KXsKY29uc3Qgcz10LnJlY3Q7aWYoIXMpcmV0dXJuOygwLGMuc2V0VG9vbHRpcENvbG9yVGhlbWUpKGUsdC5jb2xvclRoZW1lfHwiZGVmYXVsdCIpO2NvbnN0IGk9SShlKSxuPWUucXVlcnlTZWxlY3RvcihgLiR7cFsiY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXIiXX1gKTt0LmFkZENsYXNzJiZlLmNsYXNzTGlzdC5hZGQodC5hZGRDbGFzcyksdC5hZGRCb2R5Q2xhc3MmJmkuY2xhc3NMaXN0LmFkZCh0LmFkZEJvZHlDbGFzcyksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF93aWRlIl0sQm9vbGVhbih0LndpZGUpKSxpLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLXBhZGRpbmciXSxCb29sZWFuKHQubm9QYWRkaW5nKSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ciXSxCb29sZWFuKHQubmFycm93KSksaS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zIl0sITApLGkuc3R5bGUubGVmdD1iKDApLGkuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoKyhCb29sZWFuKHQubm9QYWRkaW5nKT8wOjIpKTtjb25zdCByPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgsYT11LkNoZWNrTW9iaWxlLmlPUygpfHx1LkNoZWNrTW9iaWxlLkFuZHJvaWQoKXx8KDAsdS5zdXBwb3J0VG91Y2gpKCkmJigwLHUuaXNNYWMpKCk/d2luZG93LmlubmVySGVpZ2h0OmRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LGQ9dC52ZXJ0aWNhbCxoPXQuZXh0ZW5kTWFyZ2lufHxkJiZzLnc8MjB8fCFkJiZzLmg8MjA7ZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS1mYXJ0aGVyIl0saCksZS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwLS12ZXJ0aWNhbCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taG9yaXpvbnRhbCJdLCFkKTtjb25zdCBtPWZ1bmN0aW9uKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyIl19YCl9KGUpLF89ZS5vZmZzZXRIZWlnaHQ7aWYoZCl7Y29uc3QgdT0xMCxjPWEtMTAsZD0xMixoPXUrZCxnPWMtZCx5PSgwLGwuY2xhbXApKHMueStzLmgvMixoLGcpLV8vMixmPXkrXztlLnN0eWxlLmxlZnQ9YihzLngrcy53KSxlLnN0eWxlLnRvcD1iKHkpLHk8dT9pLnN0eWxlLnRvcD1uLnN0eWxlLnRvcD1iKHUteSk6Zj5jJiYoaS5zdHlsZS50b3A9bi5zdHlsZS50b3A9YihjLWYpKTtjb25zdHtyaWdodDp2fT0oZS5xdWVyeVNlbGVjdG9yKCI6bGFzdC1jaGlsZCIpfHxpKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPXYrMTA+cjtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLFMpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFTKTtsZXQgdz1TPyJhZnRlciI6ImJlZm9yZSI7KDAsby5pc1J0bCkoKT8odz10Lm90cj8iYWZ0ZXIiOncsdz10Lm90bD8iYmVmb3JlIjp3KToodz10Lm90cj8iYmVmb3JlIjp3LHc9dC5vdGw/ImFmdGVyIjp3KSxtLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZSJdLCJiZWZvcmUiPT09dyksbS5jbGFzc0xpc3QudG9nZ2xlKHBbImNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlciJdLCJhZnRlciI9PT13KSwiYWZ0ZXIiPT09dyYmKGUuc3R5bGUubGVmdD0iYXV0byIsZS5zdHlsZS5yaWdodD1iKHItcy54KSl9ZWxzZXtjb25zdCBvPXMueC0oaS5vZmZzZXRXaWR0aC1zLncpLzIsbD1yLWUub2Zmc2V0V2lkdGgtMjA8PTA/KHItZS5vZmZzZXRXaWR0aCkvMjoxMCx1PXItbC1lLm9mZnNldFdpZHRoLGM9TWF0aC5tYXgobCxNYXRoLm1pbihvLHUpKTtlLnN0eWxlLmxlZnQ9YihjKTtjb25zdCBkPXU8bztlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZCJdLGQpLGUuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbCJdLCFkKTtjb25zdCBoPWZ1bmN0aW9uKGUsdCxzLGkpe2lmKGUuYWJvdmUpcmV0dXJuIEwodCxpKT8iYWJvdmUiOiJiZWxvdyI7aWYoZS5iZWxvdylyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe3JldHVybiBzLnkrcy5oK3QrMTA8ZX0odCxzLGkpPyJiZWxvdyI6ImFib3ZlIjtyZXR1cm4gTChzLGkpPyJhYm92ZSI6ImJlbG93In0odCxhLF8scyk7ImFib3ZlIj09PWg/ZS5zdHlsZS5ib3R0b209YihhLXMueSk6ZS5zdHlsZS50b3A9YihzLnkrcy5oKSxtLmNsYXNzTGlzdC5hZGQoImFib3ZlIj09PWg/cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFib3ZlIl06cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93Il0pO2NvbnN0e2xlZnQ6Z309aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtsZXQgeT1NYXRoLnRydW5jKHMueCtzLncvMi0oZytpLmNsaWVudFdpZHRoLzIpKTtlLnN0eWxlLmxlZnQ9YihjK3kpLGUuc3R5bGUud2lkdGg9YihpLmNsaWVudFdpZHRoK24uY2xpZW50V2lkdGgpLHk9ZD9NYXRoLm1heCgwLHkpOk1hdGgubWluKDAseSksbi5zdHlsZS5sZWZ0PWIoLXkpLGkuc3R5bGUubGVmdD1iKC15KX19ZnVuY3Rpb24gZihlKXtlLmNsYXNzTGlzdC50b2dnbGUocFsiY29tbW9uLXRvb2x0aXAtLWhpZGRlbiJdLCExKX1mdW5jdGlvbiB2KGUpe2UuY2xhc3NMaXN0LnRvZ2dsZShwWyJjb21tb24tdG9vbHRpcC0taGlkZGVuIl0sITApfWZ1bmN0aW9uIGIoZSl7cmV0dXJuYCR7TWF0aC5mbG9vcihlKX1weGB9IWZ1bmN0aW9uKGUpe2VbZS5WaWV3cG9ydFBhZGRpbmc9MTBdPSJWaWV3cG9ydFBhZGRpbmcifShpfHwoaT17fSkpCjtjb25zdCBTPWBcblx0PGRpdiBpZD0iY29tbW9uLXRvb2x0aXAtd3JhcHBlciIgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXAiXX0iPlxuXHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXIiXX0iID5cblx0XHRcdDxkaXYgY2xhc3M9IiR7cFsiY29tbW9uLXRvb2x0aXBfX2JvZHkiXX0ganMtdG9vbHRpcC1ib2R5Ij48L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyIl19Ij48L2Rpdj5cblx0PC9kaXY+XG5gLHc9YFxuXHQ8ZGl2IGNsYXNzPSIke3BbImNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2siXX0iPjwvZGl2PlxuYCxQPWBcblx0PGRpdiBjbGFzcz0iJHtwWyJjb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQiXX0iPjwvZGl2PlxuYCxUPSgwLHIucGFyc2VIdG1sRWxlbWVudCkoUyksQz0oMCxyLnBhcnNlSHRtbEVsZW1lbnQpKHcpLEU9KDAsci5wYXJzZUh0bWxFbGVtZW50KShQKTtmdW5jdGlvbiBJKGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoYC4ke3BbImNvbW1vbi10b29sdGlwX19ib2R5Il19YCl9ZnVuY3Rpb24gTChlLHQpe3JldHVybiAxMCtlPHQueX19LDE2Nzg5NihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtlbXB0eTooKT0+byxzZXRUb29sdGlwOigpPT5hfSk7Y29uc3QgaT0idG9vbHRpcC1yb290LWVsZW1lbnQiO2xldCBuO2Z1bmN0aW9uIHIoKXtjb25zdCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGkpO2U/bj1lOihuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG4uaWQ9aSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG4pKX1mdW5jdGlvbiBvKCl7biYmKG4uaW5uZXJIVE1MPSIiKX1mdW5jdGlvbiBhKGUpe28oKSxufHxyKCksbi5hcHBlbmRDaGlsZChlKX0iaW50ZXJhY3RpdmUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9yKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscil9LDY1ODk5NShlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjbGVhclNjaGVkdWxlOigpPT5vLHNjaGVkdWxlSGlkZTooKT0+bCxzY2hlZHVsZVJlbW92ZTooKT0+YSxzY2hlZHVsZVJlbmRlcjooKT0+dX0pO2xldCBpPTAsbj0wLHI9MDtmdW5jdGlvbiBvKCl7Y2xlYXJUaW1lb3V0KGkpLGNsZWFyVGltZW91dChuKSxjbGVhclRpbWVvdXQocil9ZnVuY3Rpb24gYShlLHQpe3I9c2V0VGltZW91dChlLHQpfWZ1bmN0aW9uIGwoZSx0KXtuPXNldFRpbWVvdXQoZSx0KX1mdW5jdGlvbiB1KGUsdCl7aT1zZXRUaW1lb3V0KGUsdCl9fSw2ODY2NTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0VG9vbHRpcENvbG9yVGhlbWU6KCk9PnJ9KTtjb25zdCBpPXtkZWZhdWx0OiIiLHdoaXRlOiJ0aGVtZS13aGl0ZSIsY2hhcnQ6InRoZW1lLWNoYXJ0IixuZXdzOiJ0aGVtZS1uZXdzIiwicm91bmQtc2hhZG93IjoidGhlbWUtcm91bmQtc2hhZG93In0sbj1PYmplY3Qua2V5cyhpKTtmdW5jdGlvbiByKGUsdCl7Y29uc3Qgcz1uLmluY2x1ZGVzKHQpP2lbdF06IiI7ZS5jbGFzc0xpc3QucmVtb3ZlKC4uLm4ubWFwKChlPT5pW2VdKSkuZmlsdGVyKChlPT4hIWUpKSkscyYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKHMpJiZlLmNsYXNzTGlzdC5hZGQocyl9fSw3MzEwOTEoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U1lNQk9MX1RZUEVfQkxBQ0tfTElTVDooKT0+aX0pO2NvbnN0IGk9bmV3IFNldChbInNwcmVhZCIsImVjb25vbWljIl0pfSw0NzkzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjYW5VcGdyYWRlUGxhbjooKT0+aCxlbmFibGVkOigpPT51LGdldENvbmZpZzooKT0+ZCxnZXRQcm9kdWN0RmVhdHVyZXNDb25maWc6KCk9PmMsZ2V0UHJvZHVjdElkOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpLG49cyg1MDI1ODcpLHI9cygxMjc3MTEpLG89cygzMTg5NzQpLGE9cygyMTIyMjkpO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9d2luZG93LnVzZXI7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy51c2VyJiYodD13aW5kb3cudXNlciksZSYmKHQ9ZSk7bGV0IHM9dD8ucHJvX3BsYW58fCJmcmVlIjtyZXR1cm4iZnJlZSIhPT1zJiYhKDAsYS5pc1RyaWFsUHJvZHVjdCkocyl8fChzPSgwLGEuZ2V0UHJvZHVjdEZvclRyaWFsKShzKSksc31mdW5jdGlvbiB1KGUsdCxzKXtsZXQgaT13aW5kb3cudXNlcjtzJiYoaT1zKTtjb25zdCBuPWQoZSx0LGkpO2lmKCFuKXJldHVybiExO2lmKG4uZGlzYWJsZV9vbl90cmlhbCYmKCFpfHxpLmlzX3RyaWFsKSlyZXR1cm4hMTtjb25zdCByPW4uZGlzYWJsZV9vbl9saXRlX3BsYW47aWYociYmaS5pc19saXRlX3BsYW4pe2lmKCJhbGwiPT09cilyZXR1cm4hMTtpZigiZXhjbHVkZV9tb2JpbGUiPT09ciYmIW8uQ2hlY2tNb2JpbGUuYW55KCkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gYyhlKXtjb25zdCB0PW5bZV07cmV0dXJuIHQ/dC5leHRlbmRzP09iamVjdC5hc3NpZ24oe30sYyh0LmV4dGVuZHMpLHQpOnQ6bnVsbH1mdW5jdGlvbiBkKGUsdCxzKXtsZXQgaT1jKHR8fChsKHMpPz8iIikpO2lmKCFpKXJldHVybiBudWxsO2NvbnN0IG49d2luZG93LlRyYWRpbmdWaWV3Py53aWRnZXRDdXN0b21lcjtyZXR1cm4gbiYmcltuXSYmKGk9T2JqZWN0LmFzc2lnbih7fSxpLHJbbl0pKSxpJiZpW2VdfHxudWxsfWZ1bmN0aW9uIGgoKXtjb25zdCBlPWQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiKT8ubGltaXQ/PzAsdD0oMCxpLmVuc3VyZURlZmluZWQpKHdpbmRvdy5wcm8pLHM9dC5nZXRQcm9kdWN0c0J5VHlwZSh0LlBST0RVQ1RfVFlQRVMucHJvX3BsYW4pO2Zvcihjb25zdCB0IG9mIHMpaWYoKGQoIkJBQ0tFTkRfQ09OTkVDVElPTlMiLCgwLGkuZW5zdXJlRGVmaW5lZCkodC5pZCkpPy5saW1pdD8/MCk+ZSlyZXR1cm4hMDtyZXR1cm4hMX19LDYzMTYzNChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRGcmVzaEluaXREYXRhOigpPT5vLGdldEluaXREYXRhOigpPT5yLHVwZGF0ZUluaXREYXRhOigpPT5ufSk7dmFyIGk9cyg3OTI2MTIpO2Z1bmN0aW9uIG4oKXsoMCxpLnVwZGF0ZUluaXREYXRhKSgpfQpmdW5jdGlvbiByKCl7cmV0dXJuKDAsaS5nZXRJbml0RGF0YSkoKX1mdW5jdGlvbiBvKCl7cmV0dXJuKDAsaS5nZXRGcmVzaEluaXREYXRhKSgpfX0sNjMyNDQ0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZT09PW4oZSl9ZnVuY3Rpb24gbihlKXtjb25zdCB0PWUuaW5kZXhPZigiJCIpLHM9ZS5pbmRleE9mKCJAIik7cmV0dXJuIHQ8MCYmcz49MD9udWxsOmUuc3Vic3RyaW5nKE1hdGgubWF4KHQrMSwwKSxzPj0wP3M6ZS5sZW5ndGgpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiUFVCOyIpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiVVNFUjsiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIlNURDsiKX1mdW5jdGlvbiBsKGUpe3JldHVybiBlLmluY2x1ZGVzKCJDYW5kbGVzdGljayUxUGF0dGVybiUxIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJFREdSXyIpfXMuZCh0LHtleHRyYWN0UGluZUlkOigpPT5uLGlzQ2FuZGxlU3RpY2tJZDooKT0+bCxpc0N1c3RvbVBpbmVJZDooKT0+byxpc0VkZ3JQaW5lSWQ6KCk9PnUsaXNQaW5lSWRTdHJpbmc6KCk9PmksaXNQdWJsaXNoZWRQaW5lSWQ6KCk9PnIsaXNTdGFuZGFyZFBpbmVJZDooKT0+YX0pfSw5MzE1OTIoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7UGluZUtpbmQ6KCk9Pm4uUGluZUtpbmQsU2V2ZXJpdHk6KCk9PmkuU2V2ZXJpdHksaXNTY3JpcHRMaWJyYXJ5OigpPT5vLGlzU2NyaXB0U3RyYXRlZ3k6KCk9PnJ9KTt2YXIgaT1zKDYxMjMxKSxuPXMoMTY0MTU2KTtmdW5jdGlvbiByKGUpe3JldHVybiBlLmtpbmQ9PT1uLlBpbmVLaW5kLlN0cmF0ZWd5fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUua2luZD09PW4uUGluZUtpbmQuTGlicmFyeX19LDM2ODMxMihlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtQaW5lS2luZDooKT0+ZC5QaW5lS2luZCxjb252ZXJ0U2NyaXB0OigpPT52LGRlbGV0ZVBpbmU6KCk9PkQsZ2V0TGFzdFZlcnNpb246KCk9PmssZ2V0UGluZUZhY2FkZVVybDooKT0+by5nZXRQaW5lRmFjYWRlVXJsLGdldFBpbmVTb3VyY2VDb2RlOigpPT5JLGdldFZlcnNpb25zOigpPT5SLGlzQXV0aFRvR2V0UGluZVNvdXJjZUNvZGU6KCk9PkUsaXNBdXRoVG9Xcml0ZVBpbmVTY3JpcHQ6KCk9PkMsaXNTY3JpcHRMaWJyYXJ5OigpPT5kLmlzU2NyaXB0TGlicmFyeSxpc1NjcmlwdFN0cmF0ZWd5OigpPT5kLmlzU2NyaXB0U3RyYXRlZ3kscGFyc2VTY3JpcHRUaXRsZUFzeW5jOigpPT5ULHJlbmFtZVBpbmU6KCk9PngscmVuYW1lVmVyc2lvbjooKT0+VixyZXF1ZXN0QnVpbHRpblNjcmlwdHM6KCk9Pk0scmVxdWVzdFVzZXJTY3JpcHRzOigpPT5MLHNhdmVOZXc6KCk9Pncsc2F2ZU5ld0RyYWZ0OigpPT5TLHNhdmVOZXh0OigpPT5QLHNhdmVOZXh0RHJhZnQ6KCk9PmIsdHJhbnNsYXRlU2NyaXB0QXN5bmM6KCk9PmYsdHJhbnNsYXRlU2NyaXB0QXN5bmMyOigpPT55fSk7dmFyIGk9cygyMjEwNjEpLG49cygzODY5MzEpLHI9cyg0MDY4OTIpLG89cygzNzEwNyksYT1zKDYzMjQ0NCksbD1zKDU3Nzk5NiksdT1zKDY3MTAxOSksYz1zKDY5NzcwNSksZD1zKDkzMTU5Mik7cyg1NjM2MjQpO2NvbnN0IGg9KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeS5WZXJzaW9uaW5nIikscD1uZXcgci5SZXF1ZXN0Q2FjaGUsbT1uZXcgci5SZXF1ZXN0Q2FjaGUsXz1uZXcgci5TaW5nbGVSZXF1ZXN0Q2FjaGU7KDAsby5hcHBseUdsb2JhbFNjcmlwdExpc3RlbmVycykocCxtLF8pO2NvbnN0IGc9e307ZnVuY3Rpb24geShlLHQpe2NvbnN0IHM9YCR7ZX0tJHt0fWA7bGV0IGk9Z1tzXTtyZXR1cm4gaXx8KGk9YXN5bmMgZnVuY3Rpb24oZSx0KXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpO3RyeXtjb25zdCBzPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOmB0cmFuc2xhdGUvJHtlfS8ke3R9YH0pLGk9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKHMpOygwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYzIiLGkubWV0YUluZm8pO3JldHVybit0PDAmJihwLmRlbGV0ZShlKSxtLmRlbGV0ZShlKSxfLmNsZWFyKCksKDAsby5vbkxlZ2FjeVNjcmlwdFByb2NlZWQpKGkubWV0YUluZm8pKSxpfWNhdGNoKGUpe3Rocm93IGV9fShlLHQpLmNhdGNoKChlPT57dGhyb3cgZGVsZXRlIGdbc10sZX0pKSxnW3NdPWkpLGl9YXN5bmMgZnVuY3Rpb24gZihlLHQscz17fSxpPSExKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnRyYW5zbGF0ZVNjcmlwdCIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmB0cmFuc2xhdGVfc291cmNlLyR7dH1gLHVybFBhcmFtczp7aXNfcGluZV9leDppfSxkYXRhOntzb3VyY2U6ZSxpbnB1dHM6SlNPTi5zdHJpbmdpZnkocyl9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVUcmFuc2xhdGVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS50cmFuc2xhdGVTY3JpcHRBc3luYyIsdC5tZXRhSW5mbyksdH0pKX1mdW5jdGlvbiB2KGUsdCl7cmV0dXJuKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6ImNvbnZlcnQiLGRhdGE6e3NvdXJjZTplLHZlcnNpb25fdG86U3RyaW5nKHQpfX0pLnRoZW4oKGU9PntpZihlLnJlYXNvbjI/LmVycm9ycz8ubGVuZ3RoKXRocm93IGUucmVhc29uMjtpZihlLnJlYXNvbil0aHJvdyBlLnJlYXNvbjtyZXR1cm4oMCxvLmhhbmRsZVJlc3VsdCkoZSl9KSl9ZnVuY3Rpb24gYihlLHQscyxpPSExKXtpZigoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLnNhdmVOZXh0RHJhZnQiKSwhdClyZXR1cm4gUHJvbWlzZS5yZWplY3QobC5FTVBUWV9TT1VSQ0VfQ09ERSk7KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMCk7Y29uc3Qgcj0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0X2RyYWZ0LyR7ZX1gLAp1cmxQYXJhbXM6e2FsbG93X2NyZWF0ZV9uZXc6aX0sZGF0YTp7c291cmNlOnR9fSkudGhlbigoZT0+e2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5leHREcmFmdCIsdC5tZXRhSW5mbyksdH0pKTtyZXR1cm4gci5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKSxyfWZ1bmN0aW9uIFMoZSl7cmV0dXJuKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3RHJhZnQiKSxlPygwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOiJzYXZlL25ld19kcmFmdCIsdXJsUGFyYW1zOnthbGxvd191c2VfZXhpc3RpbmdfZHJhZnQ6ITB9LGRhdGE6e3NvdXJjZTplfX0pLnRoZW4oKGU9Pntjb25zdCB0PSgwLG8uaGFuZGxlU2F2ZVJlc3VsdCkoZSk7cmV0dXJuKDAsYy5sb2dQaW5lTWV0YUluZm9Jc3N1ZXMpKCJQaW5lLnNhdmVOZXdEcmFmdCIsdC5tZXRhSW5mbyksdH0pKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiB3KHtzY3JpcHRTb3VyY2U6ZSxzY3JpcHROYW1lOnQsYWxsb3dPdmVyd3JpdGU6cyxjdXJyZW50VmVyc2lvbjppfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV3IiksIWUpcmV0dXJuIFByb21pc2UucmVqZWN0KGwuRU1QVFlfU09VUkNFX0NPREUpO2NvbnN0IHI9e25hbWU6dH07cmV0dXJuIHMmJihyLmFsbG93X292ZXJ3cml0ZT0hMCksKDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InNhdmUvbmV3Iix1cmxQYXJhbXM6cixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT57Xy5jbGVhcigpO2NvbnN0IHQ9KDAsby5oYW5kbGVTYXZlUmVzdWx0KShlKTtyZXR1cm4oMCxjLmxvZ1BpbmVNZXRhSW5mb0lzc3VlcykoIlBpbmUuc2F2ZU5ldyIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxpLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKX1mdW5jdGlvbiBQKHtzY3JpcHRJZFBhcnQ6ZSxzY3JpcHRTb3VyY2U6dCxjdXJyU2NyaXB0VmVyc2lvbjpzLGlzTGVnYWN5U2NyaXB0Omksc2NyaXB0TmFtZTpyfSl7aWYoKDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5zYXZlTmV4dCIpLCF0KXJldHVybiBQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKTtjb25zdCBhPXthbGxvd19jcmVhdGVfbmV3Oml9LGQ9e3NvdXJjZTp0fTtyZXR1cm4gdm9pZCAwIT09ciYmKGEubmFtZT1yKSwoMCxvLm9uTW9kaWZ5U2NyaXB0QWN0aXZlQ2hhbmdlZCkoZSxzLCEwKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgc2F2ZS9uZXh0LyR7ZX1gLHVybFBhcmFtczphLGRhdGE6ZH0pLnRoZW4oKGU9PntfLmNsZWFyKCk7Y29uc3QgdD0oMCxvLmhhbmRsZVNhdmVSZXN1bHQpKGUpO3JldHVybigwLGMubG9nUGluZU1ldGFJbmZvSXNzdWVzKSgiUGluZS5zYXZlTmV4dCIsdC5tZXRhSW5mbyksKDAsby5vbk1vZGlmeVNjcmlwdCkodC5tZXRhSW5mbyxzLCF0LnN1Y2Nlc3MsdC5jb21waWxlRXJyb3JzLmVycm9ycyksdH0pKS5maW5hbGx5KCgoKT0+KDAsby5vbk1vZGlmeVNjcmlwdEFjdGl2ZUNoYW5nZWQpKGUscywhMSkpKX1mdW5jdGlvbiBUKGUpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucGFyc2VTY3JpcHRUaXRsZSIpLGU/KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHttZXRob2Q6IlBPU1QiLHVybFBhdGg6InBhcnNlX3RpdGxlIixkYXRhOntzb3VyY2U6ZX19KS50aGVuKChlPT4oMCxvLmhhbmRsZVJlc3VsdCkoZSkpKTpQcm9taXNlLnJlamVjdChsLkVNUFRZX1NPVVJDRV9DT0RFKX1mdW5jdGlvbiBDKGUpe2lmKCgwLGEuaXNDdXN0b21QaW5lSWQpKGUpKXJldHVybiBQcm9taXNlLnJlc29sdmUoITApO2NvbnN0IHQ9bS5nZXQoZSk7aWYodClyZXR1cm4gdDsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmlzQXV0aFRvV3JpdGVQaW5lU2NyaXB0Iik7Y29uc3Qgcz0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fd3JpdGUvJHtlfWB9KTtyZXR1cm4gbS5zZXQoZSxzKSxzfWZ1bmN0aW9uIEUoZSx0KXtjb25zdCBzPXAuZ2V0KGUpO2lmKHMpcmV0dXJuIHM7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5pc0F1dGhUb0dldFBpbmVTb3VyY2VDb2RlIik7Y29uc3QgaT0oMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGlzX2F1dGhfdG9fZ2V0LyR7ZX0vJHt0fWB9KTtyZXR1cm4gcC5zZXQoZSxpKSxpfWZ1bmN0aW9uIEkoZSx0LHMpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIuZ2V0UGluZVNvdXJjZUNvZGUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe3VybFBhdGg6YGdldC8ke2V9LyR7dH1gLHVybFBhcmFtczp7bm9fNHh4OnN9fSl9ZnVuY3Rpb24gTCgpe2lmKCgwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdFVzZXJTY3JpcHRzIiksIXdpbmRvdy5pc19hdXRoZW50aWNhdGVkKXJldHVybiBQcm9taXNlLnJlc29sdmUoW10pO2NvbnN0IGU9Xy5nZXQoKTtpZihlKXJldHVybiBlO2NvbnN0IHQ9KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic2F2ZWQifX0pO3JldHVybiBfLnJlc2V0KHQpLHR9YXN5bmMgZnVuY3Rpb24gTSgpeygwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVxdWVzdEJ1aWx0aW5TY3JpcHRzIik7dHJ5e2gubG9nTm9ybWFsKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMiKTtjb25zdCBlPWF3YWl0KDAsdS5waW5lRmFjYWRlRmV0Y2gpKHt1cmxQYXRoOiJsaXN0Iix1cmxQYXJhbXM6e2ZpbHRlcjoic3RhbmRhcmQifX0pO3JldHVybiBoLmxvZ05vcm1hbCgiUmVxdWVzdCBidWlsdC1pbiBzY3JpcHRzIGZpbmlzaGVkIiksZX1jYXRjaChlKXsKdGhyb3cgaC5sb2dXYXJuKCJSZXF1ZXN0IGJ1aWx0LWluIHNjcmlwdHMgZmluaXNoZWQgd2l0aCBmYWlsIiksZX19ZnVuY3Rpb24gRChlKXtyZXR1cm4oMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmRlbGV0ZVBpbmUiKSwoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUE9TVCIsdXJsUGF0aDpgZGVsZXRlLyR7ZX1gfSkudGhlbigodD0+KHAuZGVsZXRlKGUpLG0uZGVsZXRlKGUpLF8uY2xlYXIoKSwoMCxvLm9uRGVsZXRlU2NyaXB0KShlKSx0KSkpfWZ1bmN0aW9uIHgoZSx0LHM9ITEpe3JldHVybigwLG4udHJhY2tFdmVudCkoIlBpbmUiLCJTY3JpcHRMaWIucmVuYW1lUGluZSIpLCgwLHUucGluZUZhY2FkZUZldGNoKSh7bWV0aG9kOiJQT1NUIix1cmxQYXRoOmByZW5hbWUvJHt0fWAsdXJsUGFyYW1zOntuYW1lOmUsZm9yY2U6c319KS50aGVuKChzPT4oXy5jbGVhcigpLCgwLG8ub25SZW5hbWVTY3JpcHQpKHQsZSkscykpKX1hc3luYyBmdW5jdGlvbiBSKGUsdCl7KDAsbi50cmFja0V2ZW50KSgiUGluZSIsIlNjcmlwdExpYi5nZXRWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9YCx1cmxQYXJhbXM6e2xpbWl0OnQ/U3RyaW5nKHQpOnZvaWQgMH19KX1jYXRjaChlKXtyZXR1cm4gaC5sb2dXYXJuKCJSZXF1ZXN0IHNjcmlwdCB2ZXJzaW9ucyBmaW5pc2hlZCB3aXRoIGZhaWwiKSxbXX19YXN5bmMgZnVuY3Rpb24gayhlKXsoMCxuLnRyYWNrRXZlbnQpKCJQaW5lIiwiU2NyaXB0TGliLmdldExhc3RWZXJzaW9ucyIpO3RyeXtoLmxvZ05vcm1hbCgiUmVxdWVzdCB0aGUgbGFzdCBzY3JpcHQgdmVyc2lvbnMiKTtyZXR1cm4oYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiR0VUIix1cmxQYXRoOmB2ZXJzaW9ucy8ke2V9L2xhc3RgfSkpWzBdPz9udWxsfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlcXVlc3Qgc2NyaXB0IHZlcnNpb25zIGZpbmlzaGVkIHdpdGggZmFpbCIpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFYoZSx0LHMpe3RyeXtoLmxvZ05vcm1hbChgUmVuYW1lIHNjcmlwdCB2ZXJzaW9uICR7dH1gKTtyZXR1cm4gYXdhaXQoMCx1LnBpbmVGYWNhZGVGZXRjaCkoe21ldGhvZDoiUFVUIix1cmxQYXRoOmBuYW1lLyR7ZX0vJHt0fWAsdXJsUGFyYW1zOntuYW1lOnM/PyIifX0pfWNhdGNoKGUpe3JldHVybiBoLmxvZ1dhcm4oIlJlbmFtZSBzY3JpcHQgdmVyc2lvbiBmaW5pc2hlZCB3aXRoIGZhaWwiKSxudWxsfX19LDkwNjU5MyhlLHQscyl7InVzZSBzdHJpY3QiO2NvbnN0e2lzRmVhdHVyZXNldEVuYWJsZWQ6aX09cyg5MzAyMzEpO3dpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O3ZhciBuLHIsbyxhLGwsdSxjLGQ9KHI9T2JqZWN0LmNyZWF0ZShudWxsKSxvPU9iamVjdC5jcmVhdGUobnVsbCksYT1PYmplY3QuY3JlYXRlKG51bGwpLGw9MCx1PTAsYz0iVHJhZGluZ1ZpZXciLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGZ1bmN0aW9uKGUpe3ZhciB0O3RyeXt0PUpTT04ucGFyc2UoZS5kYXRhKSxpKCJjaGFydGluZ19saWJyYXJ5X2RlYnVnX21vZGUiKSYmY29uc29sZS5sb2coYCR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfSBQb3N0TWVzc2FnZTogaW5jb21pbmcgbWVzc2FnZTogYCtKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7cmV0dXJufWlmKHQmJnQucHJvdmlkZXImJnQucHJvdmlkZXI9PT1jKWlmKCJnZXQiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oZSl7dmFyIHM9e2lkOnQuaWQsdHlwZToib24iLG5hbWU6dC5uYW1lLGNsaWVudF9pZDp0LmNsaWVudF9pZCxkYXRhOmUscHJvdmlkZXI6Y307bi5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSkpfSkpfWVsc2UgaWYoIm9uIj09PXQudHlwZSlyW3QuY2xpZW50X2lkXSYmclt0LmNsaWVudF9pZF1bdC5pZF0mJihyW3QuY2xpZW50X2lkXVt0LmlkXS5jYWxsKHQsdC5kYXRhKSxkZWxldGUgclt0LmNsaWVudF9pZF1bdC5pZF0pO2Vsc2UgaWYoInBvc3QiPT09dC50eXBlKXtpZighb1t0Lm5hbWVdKXJldHVybjtvW3QubmFtZV0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY2FsbCh0LHQuZGF0YSwoZnVuY3Rpb24oKXt9KSl9KSl9fSkpLGZ1bmN0aW9uKGUsdCl7clt0XT1PYmplY3QuY3JlYXRlKG51bGwpLGFbdF09ZSxuPWU7dmFyIHM9IiI7cmV0dXJue29uOmZ1bmN0aW9uKGUsdCxzKXtvW2VdJiZzfHwob1tlXT1bXSksb1tlXS5wdXNoKHQpfSxnZXQ6ZnVuY3Rpb24oZSxzLGkpe3ZhciBuPXtpZDpsKyssdHlwZToiZ2V0IixuYW1lOmUsY2xpZW50X2lkOnQsZGF0YTpzLHByb3ZpZGVyOmN9O3JbdF1bbi5pZF09aSxhW3RdLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KG4pLCIqIil9LHBvc3Q6ZnVuY3Rpb24oZSx0LGkpe3ZhciBuPXtpZDp1KyssdHlwZToicG9zdCIsbmFtZTp0LGNsaWVudF9pZDpzLGRhdGE6aSxwcm92aWRlcjpjfTtlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5wb3N0TWVzc2FnZSYmZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShuKSwiKiIpfSxzZXRDbGllbnRJZDpmdW5jdGlvbihlKXtzPWV9fX0pO2UuZXhwb3J0cz1kfSw0MDAxODEoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijthc3luYyBmdW5jdGlvbiBpKCl7Y29uc3R7Z2V0VHJhY2tlckluc3RhbmNlOmV9PWF3YWl0IFByb21pc2UuYWxsKFtzLmUoNzA2NDQpLHMuZSg5NTIwNyldKS50aGVuKHMuYmluZChzLDQ3NzE1MCkpO3JldHVybiBlKCl9cy5kKHQse2dldFRyYWNrZXI6KCk9Pml9KX0sMTU2ODI5KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdm9pZCAwIT09ZSYmZS5pbmNsdWRlcygiY3J5cHRvIil9ZnVuY3Rpb24gbihlLHQpewpyZXR1cm4ic3RvY2siPT09ZSYmdC5pbmNsdWRlcygicmlnaHQiKXx8InJpZ2h0Ij09PWV9ZnVuY3Rpb24gcihlLHQpe3JldHVybiBvKGUsdCl8fCJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJmdW5kIikmJnQuaW5jbHVkZXMoImV0ZiIpfHwic3RydWN0dXJlZCI9PT1lJiZ0LmluY2x1ZGVzKCJldG4iKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygibXV0dWFsIil9KGUsdCl8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImV0ZiIpfWZ1bmN0aW9uIGEoZSl7cmV0dXJuImJvbmQiPT09ZX1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiY29ycG9yYXRlIil9ZnVuY3Rpb24gdShlKXtyZXR1cm4iZWNvbm9taWMiPT09ZX1mdW5jdGlvbiBjKGUpe3JldHVybiJvcHRpb24iPT09ZX1mdW5jdGlvbiBkKGUpe3JldHVybiJkZXgiPT09ZT8uY2VudHJhbGl6YXRpb259ZnVuY3Rpb24gaChlKXtyZXR1cm4ic3ByZWFkIj09PWV9ZnVuY3Rpb24gcChlKXtyZXR1cm4iZnV0dXJlcyI9PT1lfWZ1bmN0aW9uIG0oZSl7cmV0dXJuImZvcmV4Ij09PWV9ZnVuY3Rpb24gXyhlLHQscyl7cmV0dXJuIGkodCkmJiJzcG90Ij09PWUmJiJVU0QiPT09c31mdW5jdGlvbiBnKGUsdCl7cmV0dXJuInNwb3QiPT09ZSYmdC5pbmNsdWRlcygiY3J5cHRvYXNzZXQiKX1mdW5jdGlvbiB5KGUsdCl7cmV0dXJuIEJvb2xlYW4oImJvbmQiPT09ZSYmdC5pbmNsdWRlcygiZ292ZXJubWVudCIpJiZ0LmluY2x1ZGVzKCJiZW5jaG1hcmsiKSl9ZnVuY3Rpb24gZihlLHQpe3JldHVybiBCb29sZWFuKCJib25kIj09PWUmJnQuaW5jbHVkZXMoImdvdmVybm1lbnQiKSYmIXQuaW5jbHVkZXMoImJlbmNobWFyayIpKX1mdW5jdGlvbiB2KGUpe3JldHVybiBCb29sZWFuKGUudHlwZXNwZWNzPy5pbmNsdWRlcygieWllbGQiKSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiJzdG9jayI9PT1lJiZ0LmluY2x1ZGVzKCJjb21tb24iKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoInByZWZlcnJlZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiZm9yd2FyZCIpfHwic3RvY2siPT09ZSYmdC5pbmNsdWRlcygiYm9udXMiKXx8InN0b2NrIj09PWUmJnQuaW5jbHVkZXMoImNmZCIpfHwiZnVuZCI9PT1lJiZ0LmluY2x1ZGVzKCJ1bml0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInRydXN0Iil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoInJlaXQiKXx8ImZ1bmQiPT09ZSYmdC5pbmNsdWRlcygiZXRuIil8fCJmdW5kIj09PWUmJnQuaW5jbHVkZXMoImNsb3NlZGVuZCIpfHwiYm9uZCI9PT1lJiZ0LmluY2x1ZGVzKCJjb252ZXJ0aWJsZSIpfHwiZHIiPT09ZXx8IndhcnJhbnQiPT09ZXx8InN0cnVjdHVyZWQiPT09ZSYmIXQuaW5jbHVkZXMoImV0biIpfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU/LmluY2x1ZGVzKCJkaXNjb250aW51ZWQiKT8/ITF9ZnVuY3Rpb24gdyhlLHQ9W10pe3JldHVybiBiKGUsdCkmJnQuaW5jbHVkZXMoInByZS1pcG8iKX1zLmQodCx7aGFzQ3J5cHRvVHlwZXNwZWM6KCk9PmksaXNCb25kOigpPT5hLGlzQ29ycG9yYXRlQm9uZDooKT0+bCxpc0NyeXB0b1Nwb3RVc2Q6KCk9Pl8saXNDcnlwdG9hc3NldFNwb3Q6KCk9PmcsaXNEZXg6KCk9PmQsaXNFY29ub21pY1N5bWJvbDooKT0+dSxpc0V0ZjooKT0+cixpc0ZvcmV4U3ltYm9sOigpPT5tLGlzRnVuZEV0ZjooKT0+byxpc0Z1dHVyZXM6KCk9PnAsaXNHb3Zlcm5tZW50QmVuY2htYXJrQm9uZDooKT0+eSxpc0dvdmVybm1lbnRPbmx5Qm9uZDooKT0+Zixpc09wdGlvbjooKT0+Yyxpc1ByZUlwbzooKT0+dyxpc1JpZ2h0OigpPT5uLGlzU3ByZWFkOigpPT5oLGlzU3RvY2tzU3ltYm9sOigpPT5iLGlzU3ltYm9sRGVsaXN0ZWQ6KCk9PlMsaXNZaWVsZDooKT0+dn0pfSw3Mjg1NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtkYXJrVGhlbWU6KCk9PnUsZ2V0U3RkQ2hhcnRUaGVtZTooKT0+ZCxnZXRTdGRUaGVtZU5hbWVzOigpPT5jLGxpZ2h0VGhlbWU6KCk9PmwsdHJhbnNsYXRlVGhlbWVOYW1lOigpPT5ofSk7dmFyIGk9cygxODUyNzEpLG49cyg2MDE4NDEpLHI9cyg3MTY3NjgpLG89cyg5ODQ0MjYpLGE9cyg4MTA0MSk7bGV0IGw9KDAsbi5jbG9uZSkoci5saWdodCksdT0oMCxuLmNsb25lKShvLmRhcmspO2Z1bmN0aW9uIGMoKXtyZXR1cm5bYS5TdGRUaGVtZS5MaWdodCxhLlN0ZFRoZW1lLkRhcmtdfWZ1bmN0aW9uIGQoZSl7cmV0dXJuKDAsbi5jbG9uZSkoZT09PWEuU3RkVGhlbWUuTGlnaHQ/bDplPT09YS5TdGRUaGVtZS5EYXJrP3U6dm9pZCAwKX1mdW5jdGlvbiBoKGUpe3JldHVybntbYS5TdGRUaGVtZS5MaWdodF06aS50KG51bGwse2NvbnRleHQ6ImNvbG9yVGhlbWVOYW1lIn0scygyNDcxNjcpKSxbYS5TdGRUaGVtZS5EYXJrXTppLnQobnVsbCx7Y29udGV4dDoiY29sb3JUaGVtZU5hbWUifSxzKDk0NTM2MikpfVtlXXx8ZX19LDc4NDUxMyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHthY3R1YWxDb250ZW50OigpPT5yfSk7dmFyIGksbj1zKDIzMjM2NCk7IWZ1bmN0aW9uKGUpe2UuRmluYW5jaWFscz0iZmluYW5jaWFscyIsZS5Eb2N1bWVudHM9ImRvY3VtZW50cyIsZS5OZXdzPSJuZXdzIixlLklkZWFzPSJpZGVhcyIsZS5TZWFzb25hbHM9InNlYXNvbmFscyIsZS5BbmFseXNpcz0iYW5hbHlzaXMiLGUuVGVjaG5pY2Fscz0idGVjaG5pY2FscyIsZS5Gb3JlY2FzdD0iZm9yZWNhc3QiLGUuRm9yd2FyZEN1cnZlPSJmb3J3YXJkLWN1cnZlIixlLkNvbnRyYWN0cz0iY29udHJhY3RzIixlLllpZWxkQ3VydmU9InlpZWxkLWN1cnZlIixlLkVjb25vbXlJbmRpY2F0b3JzPSJlY29ub215LWluZGljYXRvcnMiLGUuT3B0aW9ucz0ib3B0aW9ucyIsZS5Cb25kcz0iYm9uZHMiLGUuRXRmcz0iZXRmcyIsZS5DaGFydFRhYmxlVmlldz0iY2hhcnQtdGFibGUtdmlldyIsZS5Db21tdW5pdHk9ImNvbW11bml0eSIsZS5EZXJpdmF0aXZlcz0iZGVyaXZhdGl2ZXMifShpfHwoaT17fSkpO2NvbnN0IHI9bmV3IG4uV2F0Y2hlZFZhbHVlKG51bGwpfSw3NDQ1MzQoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7CmdldEhpZGVPcHRpb25zOigpPT5kLGdldFNhdmVkSGlkZU1vZGU6KCk9Pm0sdG9nZ2xlSGlkZU1vZGU6KCk9PnAsdG9nZ2xlSGlkZU9wdGlvbnM6KCk9Pmh9KTt2YXIgaT1zKDEzODYzOCksbj1zKDQxMTQwNykscj1zKDE4NTI3MSksbz1zKDkzMDU2NiksYT1zKDY3ODI4NSksbD1zKDg0NDM0NCk7bGV0IHU9bnVsbDtmdW5jdGlvbiBjKGUsdCl7bGV0IHM9ITE7cmV0dXJuKCk9PntpZihzKXJldHVybjtzPSEwO2NvbnN0IG49bSgpLHI9ZnVuY3Rpb24oZSl7aWYoImFsbCI9PT1lKXJldHVybiBfKCk7Y29uc3QgdD0oMCxpLmVuc3VyZURlZmluZWQpKGQoKS5nZXQoZSkpLHM9KDAsaS5lbnN1cmVEZWZpbmVkKSh0LmdldEJveGVkVmFsdWUpKCkudmFsdWUoKTtyZXR1cm4gdC5pbnZlcnRlZD8hczpzfShlKTtpZigiYWxsIj09PW58fG49PT1lKXtpZigiYWxsIj09PW4pZm9yKGNvbnN0IGUgb2YoMCxpLmVuc3VyZU5vdE51bGwpKHUpLnZhbHVlcygpKWUhPT10JiZlLmdldEJveGVkVmFsdWUmJmUuZ2V0Qm94ZWRWYWx1ZSgpLnNldFZhbHVlKGUuaW52ZXJ0ZWQ/IXI6cik7bC5oaWRlU3RhdGVDaGFuZ2UuZmlyZSh7aGlkZU1vZGU6bixpc0FjdGl2ZTpyfSl9cz0hMX19ZnVuY3Rpb24gZCgpe2lmKG51bGwhPT11KXJldHVybiB1O2NvbnN0IGU9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDE1NzIxMCkpLGRhdGFOYW1lOiJoaWRlLWRyYXdpbmctdG9vbHMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg2NDkzNzMpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg4MDk5MzkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsRHJhd2luZ3MpKCksdHJhY2tMYWJlbDoiaGlkZSBkcmF3aW5ncyJ9LHQ9e2xhYmVsOnIudChudWxsLHZvaWQgMCxzKDgwNzg4MCkpLGRhdGFOYW1lOiJoaWRlLWluZGljYXRvcnMiLHRvb2x0aXA6e2FjdGl2ZTpyLnQobnVsbCx2b2lkIDAscygyMDYzNzkpKSxpbmFjdGl2ZTpyLnQobnVsbCx2b2lkIDAscyg1MzkzNDkpKX0sZ2V0Qm94ZWRWYWx1ZTooKT0+KDAsYS5oaWRlQWxsSW5kaWNhdG9ycykoKSx0cmFja0xhYmVsOiJoaWRlIGluZGljYXRvcnMifTt1PW5ldyBNYXAoW1siZHJhd2luZ3MiLGVdLFsiaW5kaWNhdG9ycyIsdF1dKSwoMCxhLmhpZGVBbGxEcmF3aW5ncykoKS5zdWJzY3JpYmUobnVsbCxjKCJkcmF3aW5ncyIsZSkpLCgwLGEuaGlkZUFsbEluZGljYXRvcnMpKCkuc3Vic2NyaWJlKG51bGwsYygiaW5kaWNhdG9ycyIsdCkpO2NvbnN0IGk9KDAsbi50cmFkaW5nU2VydmljZSkoKTtpZihpKXtjb25zdCBlPXtsYWJlbDpyLnQobnVsbCx2b2lkIDAscyg3NjI5ODgpKSxkYXRhTmFtZToiaGlkZS1wb3NpdGlvbnMtYW5kLW9yZGVycyIsdG9vbHRpcDp7YWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDc3NjA2MykpLGluYWN0aXZlOnIudChudWxsLHZvaWQgMCxzKDg0NjQxMykpfSxnZXRCb3hlZFZhbHVlOigpPT5pLnNob3dUcmFkZWRTb3VyY2VzLGludmVydGVkOiEwLHRyYWNrTGFiZWw6ImhpZGUgcG9zaXRpb25zIn07dS5zZXQoInBvc2l0aW9ucyIsZSksaS5zaG93VHJhZGVkU291cmNlcy5zdWJzY3JpYmUoYygicG9zaXRpb25zIixlKSl9Y29uc3Qgbz17bGFiZWw6ci50KG51bGwsdm9pZCAwLHMoODI0OTkzKSksZGF0YU5hbWU6ImhpZGUtYWxsIix0b29sdGlwOnthY3RpdmU6aT9yLnQobnVsbCx2b2lkIDAscyg0MjA2MjQpKTpyLnQobnVsbCx2b2lkIDAscyg4MTg3NjMpKSxpbmFjdGl2ZTppP3IudChudWxsLHZvaWQgMCxzKDg2NjMzMCkpOnIudChudWxsLHZvaWQgMCxzKDgwMDM0OSkpfSx0cmFja0xhYmVsOiJoaWRlIGFsbCJ9O3JldHVybiB1LnNldCgiYWxsIixvKSx1fWZ1bmN0aW9uIGgoZSl7ZygoKHQscyxpKT0+e2NvbnN0IG49aS5nZXRCb3hlZFZhbHVlPy4oKTtuJiZuLnNldFZhbHVlKGkuaW52ZXJ0ZWQ/IWU6ZSl9KSl9ZnVuY3Rpb24gcChlKXtlP28uc2V0VmFsdWUoIkNoYXJ0VG9vbHNIaWRlTW9kZSIsZSk6ZT1tKCk7Y29uc3QgdD1fKCk7bGV0IHM9IXQ7cmV0dXJuImFsbCI9PT1lPyhnKCgoZSx0LGkpPT57ZS5zZXRWYWx1ZShpLmludmVydGVkPyFzOnMpfSkpLGwuaGlkZVN0YXRlQ2hhbmdlLmZpcmUoe2hpZGVNb2RlOmUsaXNBY3RpdmU6c30pLHMpOihnKCgoaSxuLHIpPT57Y29uc3Qgbz1yLmludmVydGVkO2lmKG49PT1lKXtjb25zdCBlPXQ/IW86IWkudmFsdWUoKTtpLnNldFZhbHVlKGUpLHM9bz8hZTplfWVsc2UgaS5zZXRWYWx1ZShCb29sZWFuKG8pKX0pKSxsLmhpZGVTdGF0ZUNoYW5nZS5maXJlKHtoaWRlTW9kZTplLGlzQWN0aXZlOnN9KSxzKX1mdW5jdGlvbiBtKCl7Y29uc3QgZT1vLmdldFZhbHVlKCJDaGFydFRvb2xzSGlkZU1vZGUiLCJkcmF3aW5ncyIpO3JldHVybiBkKCkuaGFzKGUpP2U6ImRyYXdpbmdzIn1mdW5jdGlvbiBfKCl7bGV0IGU9ITA7cmV0dXJuIGcoKCh0LHMsaSk9Pntjb25zdCBuPXQudmFsdWUoKTtlPWUmJihpLmludmVydGVkPyFuOm4pfSkpLGV9ZnVuY3Rpb24gZyhlKXtkKCkuZm9yRWFjaCgoKHQscyk9Pntjb25zdCBpPXQuZ2V0Qm94ZWRWYWx1ZT8uKCk7aSYmZShpLHMsdCl9KSl9fSw4OTkyMzUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Z2V0Q2hhcnRUaW1lem9uZU9mZnNldE1zOigpPT5yLGdldENoYXJ0VGltZXpvbmVPZmZzZXRTZWM6KCk9Pm8sZ2V0VGltZXpvbmVOYW1lOigpPT5ufSk7dmFyIGk9cyg3MDA4MDkpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1lLm1vZGVsKCkudGltZXpvbmUoKTtpZigiZXhjaGFuZ2UiIT09dClyZXR1cm4gdDtjb25zdCBzPWUubW9kZWwoKS5tYWluU2VyaWVzKCkuc3ltYm9sSW5mbygpO3JldHVybiBzPy50aW1lem9uZX1mdW5jdGlvbiByKGUsdCl7aWYodm9pZCAwPT09dClyZXR1cm4gMDtyZXR1cm4oMCxpLmdldF90aW1lem9uZSkodCkub2Zmc2V0X3V0YyhlKX1mdW5jdGlvbiBvKGUsdCl7cmV0dXJuIHIoMWUzKmUsdCkvMWUzfX0sMTUzNTgyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2NhblNob3dOZXdTeW1ib2xTZWFyY2g6KCk9PmwsZ2V0Q3VycmVudExvY2FsZUluZm9Db3VudHJ5OigpPT51LGlzTW9iaWxlOigpPT5vLGlzUGxhdGZvcm1Nb2JpbGU6KCk9PmF9KQo7dmFyIGk9cygxMTczMTMpLG49cyg5MzAyMzEpLHI9cygzMTg5NzQpO2Z1bmN0aW9uIG8oKXtjb25zdCBlPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA2MDJweCkgYW5kIChtaW4taGVpZ2h0OiA0NDVweCkiKS5tYXRjaGVzO3JldHVybiByLkNoZWNrTW9iaWxlLmFueSgpJiYhZX1mdW5jdGlvbiBhKCl7cmV0dXJuISgwLGkuaXNPbk1vYmlsZUFwcFBhZ2UpKCJhbnkiKSYmbygpfWZ1bmN0aW9uIGwoKXtyZXR1cm4hKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgid2lkZ2V0IikmJiEoMCxpLmlzT25Nb2JpbGVBcHBQYWdlKSgiYW55Iil9ZnVuY3Rpb24gdSgpe3JldHVybiB3aW5kb3cuaW5pdERhdGE/LmN1cnJlbnRMb2NhbGVJbmZvPy5mbGFnLnRvVXBwZXJDYXNlKCl9fSw0MDA0MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtnZXRDaGFydFdpZGdldEFwaVRpbWVDb252ZXJ0ZXI6KCk9Pmx9KTt2YXIgaT1zKDEzODYzOCksbj1zKDkzMDIzMSkscj1zKDcwNjg4NCk7Y29uc3Qgbz0oMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJlbmRfb2ZfcGVyaW9kX3RpbWVzY2FsZV9tYXJrcyIpLGE9KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgic2Vjb25kYXJ5X3Nlcmllc19leHRlbmRfdGltZV9zY2FsZSIpO2Z1bmN0aW9uIGwoZSx0LHMpe3JldHVybiBuZXcgYyhmdW5jdGlvbihlLHQpe2NvbnN0IHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSt0LnNlc3Npb24rdC50aW1lem9uZSsodC5jb3JyZWN0aW9uc3x8IiIpKyh0LnNlc3Npb25faG9saWRheXN8fCIiKX0oZSx0KTtsZXQgaT11LmdldChzKTt2b2lkIDA9PT1pJiYoaT0oMCxyLmNyZWF0ZUR3bUFsaWduZXIpKGUsdCksdS5zZXQocyxpKSk7cmV0dXJuIGl9KGUsdCkscyl9Y29uc3QgdT1uZXcgTWFwO2NsYXNzIGN7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9kd21BbGlnbmVyPWUsdGhpcy5fY2hhcnRNb2RlbD10fWNvbnZlcnRQdWJsaWNUaW1lVG9JbnRlcm5hbFRpbWUoZSl7cmV0dXJuIG51bGwhPT10aGlzLl9kd21BbGlnbmVyP3RoaXMuX2R3bUFsaWduZXIudGltZVRvU2Vzc2lvblN0YXJ0KDFlMyplKS8xZTM6ZX1jb252ZXJ0SW50ZXJuYWxUaW1lVG9QdWJsaWNUaW1lKGUpe3JldHVybiBudWxsIT09dGhpcy5fZHdtQWxpZ25lcj90aGlzLl9kd21BbGlnbmVyLnRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheSgxZTMqZSkvMWUzOmV9Y29udmVydFRpbWVQb2ludEluZGV4VG9QdWJsaWNUaW1lKGUpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC50aW1lU2NhbGUoKTtpZih0LmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtsZXQgcz1vP2Z1bmN0aW9uKGUsdCl7Y29uc3Qgcz1lLmluZGV4VG9Vc2VyVGltZSh0KTtpZihudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4gcy5nZXRUaW1lKCkvMWUzfSh0LGUpOnRoaXMuY29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSk7aWYobnVsbCE9PXMpe2NvbnN0IHQ9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuYmFycygpLGk9dC5jb250YWlucyhlKSxuPXQuZmlyc3RJbmRleCgpLHI9dC5sYXN0SW5kZXgoKTshaSYmKG51bGwhPT1uJiZudWxsIT09ciYmbjw9ZSYmZTw9cikmJmF8fChzPXRoaXMuY29udmVydEludGVybmFsVGltZVRvUHVibGljVGltZShzKSl9cmV0dXJuIHN9Y29udmVydFRpbWVQb2ludEluZGV4VG9JbnRlcm5hbFRpbWUoZSl7Y29uc3QgdD10aGlzLl9jaGFydE1vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpKXJldHVybiBudWxsO2NvbnN0IHM9dC5wb2ludHMoKSx7Zmlyc3RJbmRleDpuLGxhc3RJbmRleDpyfT0oMCxpLmVuc3VyZU5vdE51bGwpKHMucmFuZ2UoKS52YWx1ZSgpKTtsZXQgbz1udWxsO2lmKG48PWUmJmU8PXIpbz1zLnZhbHVlQXQoZSk7ZWxzZSBpZihlPnIpe2NvbnN0IHM9dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkuc3luY01vZGVsKCk7aWYobnVsbCE9PXMpe2NvbnN0IG49KDAsaS5lbnN1cmVOb3ROdWxsKSh0LmluZGV4VG9UaW1lUG9pbnQocikpO289cy5wcm9qZWN0VGltZShuLGUtcil9fXJldHVybiBudWxsIT09byYmTnVtYmVyLmlzRmluaXRlKG8pP286bnVsbH19fSw0NzMzMTgoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7d2FpdEZvck1vZGVsOigpPT5pfSk7Y29uc3QgaT1lPT5uZXcgUHJvbWlzZSgodD0+e2Uud2l0aE1vZGVsKG51bGwsKCgpPT57dChlLm1vZGVsKCkubW9kZWwoKSl9KSl9KSl9LDI3NzI1NyhlLHQscyl7InVzZSBzdHJpY3QiO3ZhciBpO3MuZCh0LHtNb3VzZUV2ZW50SGFuZGxlckRlbGF5OigpPT5pfSksZnVuY3Rpb24oZSl7ZVtlLlJlc2V0Q2xpY2s9NTAwXT0iUmVzZXRDbGljayIsZVtlLkxvbmdUYXA9MzMzXT0iTG9uZ1RhcCIsZVtlLlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzPTUwMF09IlByZXZlbnRGaXJlc1RvdWNoRXZlbnRzIn0oaXx8KGk9e30pKX0sNjYzNChlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7TW91c2VFdmVudEhhbmRsZXI6KCk9PmYsTW91c2VFdmVudEhhbmRsZXJEZWxheTooKT0+aS5Nb3VzZUV2ZW50SGFuZGxlckRlbGF5LGRlZmF1bHRQcmV2ZW50ZWRIYW5kbGVyOigpPT5nLGdldENsaWNrUG9zaXRpb246KCk9Pm0saWdub3JlQ2xpY2tPclRhcE9uRGJsQ2xpY2tPckRibFRhcEhhbmRsZXJzOigpPT55LGlzVG91Y2hNb3VzZUV2ZW50OigpPT5ffSk7dmFyIGk9cygyNzcyNTcpLG49cyg4Mzk0MjYpLHI9cygxMzg2MzgpLG89cyg2MDE4NDEpLGE9cygzMTg5NzQpLGw9cyg1ODI0NzYpLHU9cyg2NzAyMTQpO2xldCBjPTI7Y29uc3QgZD1hLmlzU2FmYXJpPyJjbGljayI6ImF1eGNsaWNrIjt2YXIgaDshZnVuY3Rpb24oZSl7ZVtlLkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2U9NV09IkNhbmNlbENsaWNrTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5DYW5jZWxUYXBNYW5oYXR0YW5EaXN0YW5jZT01XT0iQ2FuY2VsVGFwTWFuaGF0dGFuRGlzdGFuY2UiLGVbZS5Eb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlPTVdPSJEb3VibGVDbGlja01hbmhhdHRhbkRpc3RhbmNlIixlW2UuRG91YmxlVGFwTWFuaGF0dGFuRGlzdGFuY2U9MzBdPSJEb3VibGVUYXBNYW5oYXR0YW5EaXN0YW5jZSIKfShofHwoaD17fSkpO2NvbnN0IHA9e3RyZWF0VmVydFRvdWNoRHJhZ0FzUGFnZVNjcm9sbDohMSx0cmVhdEhvcnpUb3VjaERyYWdBc1BhZ2VTY3JvbGw6ITEsaWdub3JlQ2xpY2tBbmRUYXBPbkRibENsaWNrT3JEYmxUYXA6ITF9O2Z1bmN0aW9uIG0oZSl7aWYoXyhlKSlyZXR1cm57eDplLmNsaWVudFgseTplLmNsaWVudFl9O2lmKCJ0b3VjaGVzImluKHQ9ZSkmJnZvaWQgMCE9PXQudG91Y2hlcyl7aWYoMT09PWUudG91Y2hlcy5sZW5ndGgpe2NvbnN0IHQ9KDAsci5lbnN1cmVOb3ROdWxsKShlLnRhcmdldCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1lLnRvdWNoZXNbMF07cmV0dXJue3g6cy5jbGllbnRYLXQubGVmdCx5OnMuY2xpZW50WS10LnRvcH19cmV0dXJuIG51bGx9dmFyIHQ7cmV0dXJue3g6ZS5vZmZzZXRYLHk6ZS5vZmZzZXRZfX1mdW5jdGlvbiBfKGUpe3JldHVybiJpc1RvdWNoImluIGUmJiJzdHlsdXMiaW4gZX1mdW5jdGlvbiBnKGUpe3JldHVybiB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGUodCl9fWZ1bmN0aW9uIHkoZSx0KXtsZXQgcz0hMTtyZXR1cm57Y2xpY2tPclRhcDooLi4uaSk9Pnt0Py4oKT9lLmNsaWNrT3JUYXAoLi4uaSk6KHM9ITEsc2V0VGltZW91dCgoKCk9PiFzJiZlLmNsaWNrT3JUYXAoLi4uaSkpLDUwMSkpfSxkb3VibGVDbGlja09yRG91YmxlVGFwOiguLi50KT0+e3M9ITAsZS5kb3VibGVDbGlja09yRG91YmxlVGFwPy4oLi4udCl9fX1jbGFzcyBme2NvbnN0cnVjdG9yKGUsdCxzKXtpZih0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9bnVsbCx0aGlzLl9jbGlja1Bvc2l0aW9uPXt4Ok51bWJlci5ORUdBVElWRV9JTkZJTklUWSx5Ok51bWJlci5QT1NJVElWRV9JTkZJTklUWX0sdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9LHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl9sb25nVGFwQWN0aXZlPSExLHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPW51bGwsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwsdGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cz1udWxsLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsLHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX3BpbmNoUHJldmVudGVkPSExLHRoaXMuX3ByZXZlbnRUb3VjaERyYWdQcm9jZXNzPSExLHRoaXMuX21vdXNlUHJlc3NlZD0hMSx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcD0wLHRoaXMuX2FjdGl2ZVRvdWNoSWQ9bnVsbCx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwPWU9Pnt0aGlzLl9tb3VzZVVwSGFuZGxlcihlKX0sdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaz1lPT57aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSl7Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7aWYoKyt0aGlzLl90YXBDb3VudCx0aGlzLl90YXBUaW1lb3V0SWQmJnRoaXMuX3RhcENvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fdGFwUG9zaXRpb24pO3M8MzAmJiF0aGlzLl9jYW5jZWxUYXAmJnRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHQsdGhpcy5faGFuZGxlcnMuZG91YmxlVGFwRXZlbnQpLHRoaXMuX3Jlc2V0VGFwVGltZW91dCgpfX1lbHNle2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKCsrdGhpcy5fY2xpY2tDb3VudCx0aGlzLl9jbGlja1RpbWVvdXRJZCYmdGhpcy5fY2xpY2tDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTpzfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLHRoaXMuX2NsaWNrUG9zaXRpb24pO3M8NSYmIXRoaXMuX2NhbmNlbENsaWNrJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlRG91YmxlQ2xpY2tFdmVudCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX19fSx0aGlzLl90YXJnZXQ9ZSx0aGlzLl9vcHRpb25zPSgwLG8ubWVyZ2UpKCgwLG8uY2xvbmUpKHApLHN8fHt9KSx0aGlzLl9vcHRpb25zLmlnbm9yZUNsaWNrQW5kVGFwT25EYmxDbGlja09yRGJsVGFwKXtpZih0Lm1vdXNlQ2xpY2tFdmVudCYmdC5tb3VzZURvdWJsZUNsaWNrRXZlbnQpe2NvbnN0IGU9eSh7Y2xpY2tPclRhcDp0Lm1vdXNlQ2xpY2tFdmVudC5iaW5kKHQpLGRvdWJsZUNsaWNrT3JEb3VibGVUYXA6dC5tb3VzZURvdWJsZUNsaWNrRXZlbnQuYmluZCh0KX0pO3QubW91c2VDbGlja0V2ZW50PWUuY2xpY2tPclRhcCx0Lm1vdXNlRG91YmxlQ2xpY2tFdmVudD1lLmRvdWJsZUNsaWNrT3JEb3VibGVUYXB9aWYodC50YXBFdmVudCYmdC5kb3VibGVUYXBFdmVudCl7Y29uc3QgZT15KHtjbGlja09yVGFwOnQudGFwRXZlbnQuYmluZCh0KSxkb3VibGVDbGlja09yRG91YmxlVGFwOnQuZG91YmxlVGFwRXZlbnQuYmluZCh0KX0pO3QudGFwRXZlbnQ9ZS5jbGlja09yVGFwLHQuZG91YmxlVGFwRXZlbnQ9ZS5kb3VibGVDbGlja09yRG91YmxlVGFwfX10aGlzLl9oYW5kbGVycz10LHRoaXMuX2luaXQoKX1kZXN0cm95KCl7bnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZU1vdXNlRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHMoKSwKdGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlTW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlT3V0c2lkZVRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJih0aGlzLl91bnN1YnNjcmliZU1vdXNlbW92ZSgpLHRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMoKSx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cz1udWxsKSxudWxsIT09dGhpcy5fdW5zdWJzY3JpYmVNb2JpbGVTYWZhcmlFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlTW9iaWxlU2FmYXJpRXZlbnRzPW51bGwpLG51bGwhPT10aGlzLl91bnN1YnNjcmliZVBpbmNoRXZlbnRzJiYodGhpcy5fdW5zdWJzY3JpYmVQaW5jaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9bnVsbCksbnVsbCE9PXRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlVGFyZ2V0RWxlbWVudEV2ZW50cz1udWxsKSx0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKX1fbW91c2VFbnRlckhhbmRsZXIoZSl7dGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCk7Y29uc3QgdD10aGlzLl9tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyk7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmU9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0KX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZUVudGVyRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3Jlc2V0Q2xpY2tUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX2NsaWNrVGltZW91dElkJiZjbGVhclRpbWVvdXQodGhpcy5fY2xpY2tUaW1lb3V0SWQpLHRoaXMuX2NsaWNrQ291bnQ9MCx0aGlzLl9jbGlja1RpbWVvdXRJZD1udWxsLHRoaXMuX2NsaWNrUG9zaXRpb249e3g6TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfX1fcmVzZXRUYXBUaW1lb3V0KCl7bnVsbCE9PXRoaXMuX3RhcFRpbWVvdXRJZCYmY2xlYXJUaW1lb3V0KHRoaXMuX3RhcFRpbWVvdXRJZCksdGhpcy5fdGFwQ291bnQ9MCx0aGlzLl90YXBUaW1lb3V0SWQ9bnVsbCx0aGlzLl90YXBQb3NpdGlvbj17eDpOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkseTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFl9fV9tb3VzZU1vdmVIYW5kbGVyKGUpe2lmKHRoaXMuX21vdXNlUHJlc3NlZHx8bnVsbCE9PXRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pcmV0dXJuO2lmKHRoaXMuX2ZpcmVzVG91Y2hFdmVudHMoZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VNb3ZlRXZlbnQpLHRoaXMuX2FjY2VwdE1vdXNlTGVhdmU9ITB9X3RvdWNoTW92ZUhhbmRsZXIoZSl7Y29uc3QgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQpcmV0dXJuO2lmKHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksbnVsbCE9PXRoaXMuX3BpbmNoSW5mbylyZXR1cm47aWYodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3MpcmV0dXJuO3RoaXMuX3BpbmNoUHJldmVudGVkPSEwO2NvbnN0IHM9dGhpcy5fdG91Y2hNb3VzZU1vdmVXaXRoRG93bkluZm8oYih0KSwoMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb24pKSx7eE9mZnNldDppLHlPZmZzZXQ6bixtYW5oYXR0YW5EaXN0YW5jZTpvfT1zO2lmKHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2V8fCEobzw1KSl7aWYoIXRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2Upe2NvbnN0IGU9LjUqaSx0PXRoaXMuX29wdGlvbnMuc2hvdWxkQWxsb3dUb3VjaERyYWc/LigpPz8hMSxzPW4+PWUmJighdGhpcy5fb3B0aW9ucy50cmVhdFZlcnRUb3VjaERyYWdBc1BhZ2VTY3JvbGx8fHQpLHI9ZT5uJiYoIXRoaXMuX29wdGlvbnMudHJlYXRIb3J6VG91Y2hEcmFnQXNQYWdlU2Nyb2xsfHx0KTtzfHxyfHwodGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3M9ITApLHRoaXMuX3RvdWNoTW92ZUV4Y2VlZGVkTWFuaGF0dGFuRGlzdGFuY2U9ITAsdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1pZighdGhpcy5fcHJldmVudFRvdWNoRHJhZ1Byb2Nlc3Mpe2NvbnN0IHM9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUsdCk7dGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQocyx0aGlzLl9oYW5kbGVycy50b3VjaE1vdmVFdmVudCksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX1fbW91c2VNb3ZlV2l0aERvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKGUpLCgwLApyLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb24pKSx7bWFuaGF0dGFuRGlzdGFuY2U6c309dDtpZihzPj01JiYodGhpcy5fY2FuY2VsQ2xpY2s9ITAsdGhpcy5fcmVzZXRDbGlja1RpbWVvdXQoKSksdGhpcy5fY2FuY2VsQ2xpY2spe2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMucHJlc3NlZE1vdXNlTW92ZUV2ZW50KX19X3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGUsdCl7Y29uc3Qgcz1NYXRoLmFicyh0LngtZS54KSxpPU1hdGguYWJzKHQueS1lLnkpO3JldHVybnt4T2Zmc2V0OnMseU9mZnNldDppLG1hbmhhdHRhbkRpc3RhbmNlOnMraX19X3RvdWNoRW5kSGFuZGxlcihlKXtsZXQgdD1QKGUuY2hhbmdlZFRvdWNoZXMsKDAsci5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hY3RpdmVUb3VjaElkKSk7aWYobnVsbD09PXQmJjA9PT1lLnRvdWNoZXMubGVuZ3RoJiYodD1lLmNoYW5nZWRUb3VjaGVzWzBdKSxudWxsPT09dClyZXR1cm47dGhpcy5fYWN0aXZlVG91Y2hJZD1udWxsLHRoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX3RvdWNoTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cyYmKHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzKCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHM9bnVsbCk7Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSx0KTtpZih0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoRW5kRXZlbnQpLCsrdGhpcy5fdGFwQ291bnQsdGhpcy5fdGFwVGltZW91dElkJiZ0aGlzLl90YXBDb3VudD4xKXtjb25zdHttYW5oYXR0YW5EaXN0YW5jZTplfT10aGlzLl90b3VjaE1vdXNlTW92ZVdpdGhEb3duSW5mbyhiKHQpLHRoaXMuX3RhcFBvc2l0aW9uKTtlPDMwJiYhdGhpcy5fY2FuY2VsVGFwJiZ0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLmRvdWJsZVRhcEV2ZW50KSx0aGlzLl9yZXNldFRhcFRpbWVvdXQoKX1lbHNlIHRoaXMuX2NhbmNlbFRhcHx8KHRoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMudGFwRXZlbnQpLHRoaXMuX2hhbmRsZXJzLnRhcEV2ZW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSk7MD09PXRoaXMuX3RhcENvdW50JiYoMCxsLnByZXZlbnREZWZhdWx0KShlKSwwPT09ZS50b3VjaGVzLmxlbmd0aCYmdGhpcy5fbG9uZ1RhcEFjdGl2ZSYmKHRoaXMuX2xvbmdUYXBBY3RpdmU9ITEsKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSkpfV90b3VjaENhbmNlbEhhbmRsZXIoZSl7dGhpcy5fdG91Y2hFbmRIYW5kbGVyKGUpfV9tb3VzZVVwSGFuZGxlcihlKXtpZigwIT09ZS5idXR0b24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO2lmKHRoaXMuX21vdXNlTW92ZVN0YXJ0UG9zaXRpb249bnVsbCx0aGlzLl9tb3VzZVByZXNzZWQ9ITEsdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpLGEuaXNGRil7dGhpcy5fdGFyZ2V0Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKX1pZighdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlpZih0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0LHRoaXMuX2hhbmRsZXJzLm1vdXNlVXBFdmVudCksKyt0aGlzLl9jbGlja0NvdW50LHRoaXMuX2NsaWNrVGltZW91dElkJiZ0aGlzLl9jbGlja0NvdW50PjEpe2NvbnN0e21hbmhhdHRhbkRpc3RhbmNlOnN9PXRoaXMuX3RvdWNoTW91c2VNb3ZlV2l0aERvd25JbmZvKGIoZSksdGhpcy5fY2xpY2tQb3NpdGlvbik7czw1JiYhdGhpcy5fY2FuY2VsQ2xpY2smJnRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VEb3VibGVDbGlja0V2ZW50KSx0aGlzLl9yZXNldENsaWNrVGltZW91dCgpfWVsc2UgdGhpcy5fY2FuY2VsQ2xpY2t8fHRoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VDbGlja0V2ZW50KX1fY2xlYXJMb25nVGFwVGltZW91dCgpe251bGwhPT10aGlzLl9sb25nVGFwVGltZW91dElkJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9bnVsbCl9X3RvdWNoU3RhcnRIYW5kbGVyKGUpe2lmKG51bGwhPT10aGlzLl9hY3RpdmVUb3VjaElkKXJldHVybiB0aGlzLl9jbGVhckxvbmdUYXBUaW1lb3V0KCksdm9pZCB0aGlzLl9yZXNldFRhcFRpbWVvdXQoKTtjb25zdCB0PWUuY2hhbmdlZFRvdWNoZXNbMF07dGhpcy5fYWN0aXZlVG91Y2hJZD10LmlkZW50aWZpZXIsdGhpcy5fbGFzdFRvdWNoRXZlbnRUaW1lU3RhbXA9dyhlKTtjb25zdCBzPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt0aGlzLl9jYW5jZWxUYXA9ITEsdGhpcy5fdG91Y2hNb3ZlRXhjZWVkZWRNYW5oYXR0YW5EaXN0YW5jZT0hMSx0aGlzLl9wcmV2ZW50VG91Y2hEcmFnUHJvY2Vzcz0hMSx0aGlzLl90b3VjaE1vdmVTdGFydFBvc2l0aW9uPWIodCksdGhpcy5fdW5zdWJzY3JpYmVSb290VG91Y2hFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RUb3VjaEV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPW51bGwpO3tjb25zdCB0PXRoaXMuX3RvdWNoTW92ZUhhbmRsZXIuYmluZCh0aGlzKSxpPXRoaXMuX3RvdWNoRW5kSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3Vuc3Vic2NyaWJlUm9vdFRvdWNoRXZlbnRzPSgpPT57cy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHQpLHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGkpfSxzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCx7cGFzc2l2ZTohMX0pLApzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixpLHtwYXNzaXZlOiExfSksdGhpcy5fY2xlYXJMb25nVGFwVGltZW91dCgpLHRoaXMuX2xvbmdUYXBUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9sb25nVGFwSGFuZGxlci5iaW5kKHRoaXMsZSksMzMzKX1jb25zdCBpPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KGksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydEV2ZW50KSx0aGlzLl90YXBUaW1lb3V0SWR8fCh0aGlzLl90YXBDb3VudD0wLHRoaXMuX3RhcFRpbWVvdXRJZD1zZXRUaW1lb3V0KHRoaXMuX3Jlc2V0VGFwVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fdGFwUG9zaXRpb249Yih0KSl9X3doZWVsQ2xpY2tIYW5kbGVyKGUpe2lmKDEhPT1lLmJ1dHRvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy53aGVlbENsaWNrRXZlbnQpfV9tb3VzZURvd25IYW5kbGVyKGUpe2lmKDAhPT1lLmJ1dHRvbilyZXR1cm47Y29uc3QgdD10aGlzLl90YXJnZXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7YS5pc0ZGJiZ0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX29uRmlyZWZveE91dHNpZGVNb3VzZVVwKSx0aGlzLl9jYW5jZWxDbGljaz0hMSx0aGlzLl9tb3VzZU1vdmVTdGFydFBvc2l0aW9uPWIoZSksdGhpcy5fdW5zdWJzY3JpYmVSb290TW91c2VFdmVudHMmJih0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cygpLHRoaXMuX3Vuc3Vic2NyaWJlUm9vdE1vdXNlRXZlbnRzPW51bGwpO3tjb25zdCBlPXRoaXMuX21vdXNlTW92ZVdpdGhEb3duSGFuZGxlci5iaW5kKHRoaXMpLHM9dGhpcy5fbW91c2VVcEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl91bnN1YnNjcmliZVJvb3RNb3VzZUV2ZW50cz0oKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHMpfSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZSksdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixzKX1pZih0aGlzLl9tb3VzZVByZXNzZWQ9ITAsdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3Qgcz10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQocyx0aGlzLl9oYW5kbGVycy5tb3VzZURvd25FdmVudCksdGhpcy5fY2xpY2tUaW1lb3V0SWR8fCh0aGlzLl9jbGlja0NvdW50PTAsdGhpcy5fY2xpY2tUaW1lb3V0SWQ9c2V0VGltZW91dCh0aGlzLl9yZXNldENsaWNrVGltZW91dC5iaW5kKHRoaXMpLDUwMCksdGhpcy5fY2xpY2tQb3NpdGlvbj1iKGUpKX1faW5pdCgpe2NvbnN0IGU9dGhpcy5fbW91c2VFbnRlckhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZSk7Y29uc3QgdD10aGlzLl90b3VjaENhbmNlbEhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLHQpO3tjb25zdCBlPXRoaXMuX3RhcmdldC5vd25lckRvY3VtZW50LHQ9ZT0+IWUudGFyZ2V0fHwhdGhpcy5fdGFyZ2V0LmNvbnRhaW5zKGUudGFyZ2V0KSxzPWU9PntpZighdChlKSlyZXR1cm47Y29uc3Qgcz1lLmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuX2xhc3RUb3VjaEV2ZW50VGltZVN0YW1wPXcoZSksdGhpcy5fcHJvY2Vzc1RvdWNoRXZlbnQodGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUscyksdGhpcy5faGFuZGxlcnMudG91Y2hTdGFydE91dHNpZGVFdmVudCl9LGk9ZT0+e3QoZSkmJiF0aGlzLl9maXJlc1RvdWNoRXZlbnRzKGUpJiZ0aGlzLl9wcm9jZXNzTW91c2VFdmVudCh0aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSksdGhpcy5faGFuZGxlcnMubW91c2VEb3duT3V0c2lkZUV2ZW50KX07dGhpcy5fdW5zdWJzY3JpYmVPdXRzaWRlVG91Y2hFdmVudHM9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHMpfSx0aGlzLl91bnN1YnNjcmliZU91dHNpZGVNb3VzZUV2ZW50cz0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixpKX0sZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGkpLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIscyx7cGFzc2l2ZTohMH0pfWEuQ2hlY2tNb2JpbGUuaU9TKCkmJih0aGlzLl91bnN1YnNjcmliZU1vYmlsZVNhZmFyaUV2ZW50cz0oKT0+e3RoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljayl9LHRoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsdGhpcy5fb25Nb2JpbGVTYWZhcmlEb3VibGVDbGljaykpO2NvbnN0IHM9dGhpcy5fbW91c2VMZWF2ZUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIscyk7Y29uc3QgaT10aGlzLl9jb250ZXh0TWVudUhhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGkpO2NvbnN0IG49dGhpcy5fdG91Y2hTdGFydEhhbmRsZXIuYmluZCh0aGlzKTtsZXQgcjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbix7cGFzc2l2ZTohMH0pLGEuaXNDaHJvbWUmJihyPWU9PntpZigxPT09ZS5idXR0b24pcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSwhMX0sdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIscikpO2NvbnN0IG89dGhpcy5fbW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpO3RoaXMuX3RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pO2NvbnN0IGw9dGhpcy5fd2hlZWxDbGlja0hhbmRsZXIuYmluZCh0aGlzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihkLGwpO2NvbnN0IHU9KCk9Pnt9Cjt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix1LHtwYXNzaXZlOiExfSksdGhpcy5fdW5zdWJzY3JpYmVUYXJnZXRFbGVtZW50RXZlbnRzPSgpPT57dGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHMpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsaSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4pLHImJnRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHIpLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLG8pLHRoaXMuX3RhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGQsbCksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdSl9LHRoaXMuX2luaXRQaW5jaCgpfV9pbml0UGluY2goKXtpZih2b2lkIDA9PT10aGlzLl9oYW5kbGVycy5waW5jaFN0YXJ0RXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQmJnZvaWQgMD09PXRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQpcmV0dXJuO2NvbnN0IGU9ZT0+dGhpcy5fY2hlY2tQaW5jaFN0YXRlKGUudG91Y2hlcyk7dGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGUse3Bhc3NpdmU6ITB9KTtjb25zdCB0PWU9PntpZihudWxsPT09dGhpcy5fcGluY2hJbmZvKXJldHVybjtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpLHM9UChlLnRvdWNoZXMsdGhpcy5fcGluY2hJbmZvLnNlY29uZFRvdWNoSWQpO2lmKHQmJnMmJnZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoRXZlbnQpe2NvbnN0e3N0YXJ0UGluY2hEaXN0YW5jZTppLHN0YXJ0UGluY2hNaWRkbGVQb2ludDpufT10aGlzLl9waW5jaEluZm8scj1TKHQscykvaSxvPXYodGhpcy5fdGFyZ2V0KTt0aGlzLl9oYW5kbGVycy5waW5jaEV2ZW50KG4se3g6dC5jbGllbnRYLW8ubGVmdCx5OnQuY2xpZW50WS1vLnRvcH0se3g6cy5jbGllbnRYLW8ubGVmdCx5OnMuY2xpZW50WS1vLnRvcH0sciksKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0LHtwYXNzaXZlOiExfSk7Y29uc3Qgcz1lPT50aGlzLl9jaGVja1BpbmNoU3RhdGUoZS50b3VjaGVzKTt0aGlzLl90YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHMpLHRoaXMuX3Vuc3Vic2NyaWJlUGluY2hFdmVudHM9KCk9Pnt0aGlzLl90YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZSksdGhpcy5fdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdCksdGhpcy5fdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixzKX19X2NoZWNrUGluY2hTdGF0ZShlKXsxPT09ZS5sZW5ndGgmJih0aGlzLl9waW5jaFByZXZlbnRlZD0hMSksMiE9PWUubGVuZ3RofHx0aGlzLl9waW5jaFByZXZlbnRlZHx8dGhpcy5fbG9uZ1RhcEFjdGl2ZT90aGlzLl9zdG9wUGluY2goKTp0aGlzLl9zdGFydFBpbmNoKGUpfV9zdGFydFBpbmNoKGUpe2lmKHZvaWQgMCE9PXRoaXMuX2hhbmRsZXJzLnBpbmNoU3RhcnRFdmVudCYmbnVsbD09PXRoaXMuX3BpbmNoSW5mbyl7Y29uc3QgdD12KHRoaXMuX3RhcmdldCk7bGV0IHMsaTtlWzBdLmlkZW50aWZpZXI9PT10aGlzLl9hY3RpdmVUb3VjaElkPyhzPWVbMF0saT1lWzFdKToocz1lWzFdLGk9ZVswXSk7Y29uc3Qgbj17eDpzLmNsaWVudFgtdC5sZWZ0LHk6cy5jbGllbnRZLXQudG9wfSxyPXt4OmkuY2xpZW50WC10LmxlZnQseTppLmNsaWVudFktdC50b3B9LG89e3g6KG4ueCtyLngpLzIseToobi55K3IueSkvMn07dGhpcy5faGFuZGxlcnMucGluY2hTdGFydEV2ZW50KG8sbixyLHtib3RoUG9pbnRzT25UYXJnZXRFbGVtZW50OnRoaXMuX3RhcmdldC5jb250YWlucyhpLnRhcmdldCl9KSYmKHRoaXMuX3BpbmNoSW5mbz17c3RhcnRQaW5jaERpc3RhbmNlOlMocyxpKSxzdGFydFBpbmNoTWlkZGxlUG9pbnQ6byxzZWNvbmRUb3VjaElkOmkuaWRlbnRpZmllcn0pfXRoaXMuX2NsZWFyTG9uZ1RhcFRpbWVvdXQoKX1fc3RvcFBpbmNoKCl7bnVsbCE9PXRoaXMuX3BpbmNoSW5mbyYmKHRoaXMuX3BpbmNoSW5mbz1udWxsLHRoaXMuX2hhbmRsZXJzLnBpbmNoRW5kRXZlbnQ/LigpKX1fbW91c2VMZWF2ZUhhbmRsZXIoZSl7aWYodGhpcy5fdW5zdWJzY3JpYmVNb3VzZW1vdmUmJnRoaXMuX3Vuc3Vic2NyaWJlTW91c2Vtb3ZlKCksdGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47aWYoIXRoaXMuX2FjY2VwdE1vdXNlTGVhdmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fbWFrZUNvbXBhdEV2ZW50KGUpO3RoaXMuX3Byb2Nlc3NNb3VzZUV2ZW50KHQsdGhpcy5faGFuZGxlcnMubW91c2VMZWF2ZUV2ZW50KSx0aGlzLl9hY2NlcHRNb3VzZUxlYXZlPSFhLkNoZWNrTW9iaWxlLmlPUygpfV9sb25nVGFwSGFuZGxlcihlKXtjb25zdCB0PVAoZS50b3VjaGVzLCgwLHIuZW5zdXJlTm90TnVsbCkodGhpcy5fYWN0aXZlVG91Y2hJZCkpO2lmKG51bGw9PT10KXJldHVybjtjb25zdCBzPXRoaXMuX21ha2VDb21wYXRFdmVudChlLHQpO3RoaXMuX3Byb2Nlc3NUb3VjaEV2ZW50KHMsdGhpcy5faGFuZGxlcnMubG9uZ1RhcEV2ZW50KSx0aGlzLl9wcm9jZXNzVG91Y2hFdmVudChzLHRoaXMuX2hhbmRsZXJzLnRvdWNoQ29udGV4dE1lbnVFdmVudCksdGhpcy5fY2FuY2VsVGFwPSEwLHRoaXMuX2xvbmdUYXBBY3RpdmU9ITB9X2NvbnRleHRNZW51SGFuZGxlcihlKXtpZigoMCxsLnByZXZlbnREZWZhdWx0KShlKSxudWxsIT09dGhpcy5fdG91Y2hNb3ZlU3RhcnRQb3NpdGlvbilyZXR1cm47aWYodGhpcy5fZmlyZXNUb3VjaEV2ZW50cyhlKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tYWtlQ29tcGF0RXZlbnQoZSk7dGhpcy5fcHJvY2Vzc01vdXNlRXZlbnQodCx0aGlzLl9oYW5kbGVycy5jb250ZXh0TWVudUV2ZW50KSx0aGlzLl9jYW5jZWxDbGljaz0hMH1fZmlyZXNUb3VjaEV2ZW50cyhlKXsKcmV0dXJuIGUuc291cmNlQ2FwYWJpbGl0aWVzJiZ2b2lkIDAhPT1lLnNvdXJjZUNhcGFiaWxpdGllcy5maXJlc1RvdWNoRXZlbnRzP2Uuc291cmNlQ2FwYWJpbGl0aWVzLmZpcmVzVG91Y2hFdmVudHM6dyhlKTx0aGlzLl9sYXN0VG91Y2hFdmVudFRpbWVTdGFtcCs1MDB9X3Byb2Nlc3NUb3VjaEV2ZW50KGUsdCl7KDAsdS5zZXRMYXN0TW91c2VPclRvdWNoRXZlbnRJbmZvKShlKSx0JiZ0LmNhbGwodGhpcy5faGFuZGxlcnMsZSl9X3Byb2Nlc3NNb3VzZUV2ZW50KGUsdCl7d2luZG93LlRWRCYmKCJtb3VzZWVudGVyIj09PWUuc3JjVHlwZXx8Im1vdXNlbW92ZSI9PT1lLnNyY1R5cGUpJiZjPjA/Yy0tOigibW91c2VsZWF2ZSIhPT1lLnNyY1R5cGUmJigwLHUuc2V0TGFzdE1vdXNlT3JUb3VjaEV2ZW50SW5mbykoZSksdCYmdC5jYWxsKHRoaXMuX2hhbmRsZXJzLGUpKX1fbWFrZUNvbXBhdEV2ZW50KGUsdCl7Y29uc3Qgcz10fHxlLGk9dD92b2lkIDA6ZS5idXR0b25zLHI9KDAsbi5kZWZhdWx0KSgoKCk9PnRoaXMuX3RhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH0pKTtyZXR1cm57Y2xpZW50WDpzLmNsaWVudFgsY2xpZW50WTpzLmNsaWVudFkscGFnZVg6cy5wYWdlWCxwYWdlWTpzLnBhZ2VZLHNjcmVlblg6cy5zY3JlZW5YLHNjcmVlblk6cy5zY3JlZW5ZLGdldCBsb2NhbFgoKXtyZXR1cm4gcy5jbGllbnRYLXIoKS5sZWZ0fSxnZXQgbG9jYWxZKCl7cmV0dXJuIHMuY2xpZW50WS1yKCkudG9wfSxjdHJsS2V5OmUuY3RybEtleSxhbHRLZXk6ZS5hbHRLZXksc2hpZnRLZXk6ZS5zaGlmdEtleSxtZXRhS2V5OmUubWV0YUtleSxidXR0b25zOmksaXNUb3VjaDohZS50eXBlLnN0YXJ0c1dpdGgoIm1vdXNlIikmJiJjb250ZXh0bWVudSIhPT1lLnR5cGUmJiJjbGljayIhPT1lLnR5cGUsc3R5bHVzOiJzdHlsdXMiPT09dD8udG91Y2hUeXBlLHNyY1R5cGU6ZS50eXBlLHRhcmdldDpzLnRhcmdldCx2aWV3OmUudmlldyxwcmV2ZW50RGVmYXVsdDooKT0+eyJ0b3VjaHN0YXJ0IiE9PWUudHlwZSYmKDAsbC5wcmV2ZW50RGVmYXVsdCkoZSl9fX19ZnVuY3Rpb24gdihlKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKXx8e2xlZnQ6MCx0b3A6MH19ZnVuY3Rpb24gYihlKXtyZXR1cm57eDplLnBhZ2VYLHk6ZS5wYWdlWX19ZnVuY3Rpb24gUyhlLHQpe2NvbnN0IHM9ZS5jbGllbnRYLXQuY2xpZW50WCxpPWUuY2xpZW50WS10LmNsaWVudFk7cmV0dXJuIE1hdGguc3FydChzKnMraSppKX1mdW5jdGlvbiB3KGUpe3JldHVybiBlLnRpbWVTdGFtcHx8cGVyZm9ybWFuY2Uubm93KCl9ZnVuY3Rpb24gUChlLHQpe2ZvcihsZXQgcz0wO3M8ZS5sZW5ndGg7KytzKWlmKGVbc10uaWRlbnRpZmllcj09PXQpcmV0dXJuIGVbc107cmV0dXJuIG51bGx9fSw3NDU5OTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLnIodCkscy5kKHQse2FkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleTooKT0+byxzaG93QWRkU3ltYm9sRGlhbG9nOigpPT5hfSk7dmFyIGk9cyg2MjE5MjYpLG49cyg4MjQ0NzgpLHI9cygxNzk3NzEpO2NvbnN0IG89ImFkZFN5bWJvbERpYWxvZ0hhc09wZW5lZEtleSI7ZnVuY3Rpb24gYShlKXsoMCxpLnJ1bk9yU2lnbmluV2l0aEZlYXR1cmUpKCgoKT0+eygwLG4uc2hvd1dhdGNoTGlzdHNEaWFsb2cpKHthZGRTeW1ib2xzOmUsb25PcGVuOmx9KX0pLHtmZWF0dXJlOiJ3YXRjaExpc3QiLHNvdXJjZToiYWRkIHN5bWJvbCB0byB3YXRjaGxpc3QifSl9ZnVuY3Rpb24gbCgpe3IuZW1pdChvKX19LDcwNjg4NChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjcmVhdGVEd21BbGlnbmVyOigpPT5kLGNyZWF0ZVRpbWVUb0JhclRpbWVBbGlnbmVyOigpPT5ofSk7dmFyIGk9cyg3MDA4MDkpLG49cygyNTQ2NzMpLHI9cyg2NDI3MTkpLG89cyg3NzE3OTUpO2NvbnN0IGE9bmV3IHIuU2Vzc2lvbkluZm8oIkV0Yy9VVEMiLCIwMDAwLTAwMDA6MTIzNDU2NyIpO3ZhciBsPXMoOTMwMjMxKTtmdW5jdGlvbiB1KCl7cmV0dXJuISgwLGwuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcmVzb2x1dGlvbl9yZWJ1aWxkIil9Y29uc3QgYz1uZXcgTWFwO2Z1bmN0aW9uIGQoZSx0KXtjb25zdCBzPXUoKSxsPWAke3N9fCR7ZX18JHt0LnRpbWV6b25lfXwke3Quc2Vzc2lvbn18JHt0LnNlc3Npb25faG9saWRheXM/PyIifXwke3QuY29ycmVjdGlvbnM/PyIifWA7bGV0IGQ9Yy5nZXQobCk7cmV0dXJuIHZvaWQgMD09PWQmJihkPWZ1bmN0aW9uKGUsdCxzKXtpZighZXx8IW4uSW50ZXJ2YWwuaXNEV00odCkpcmV0dXJuIG51bGw7Y29uc3QgbD1uZXcgci5TZXNzaW9uSW5mbyhzLnRpbWV6b25lLHMuc2Vzc2lvbixzLnNlc3Npb25faG9saWRheXMscy5jb3JyZWN0aW9ucyksdT0oMCxvLm5ld0JhckJ1aWxkZXIpKHQsbCxhKTtyZXR1cm57dGltZVRvU2Vzc2lvblN0YXJ0OmU9PnUudHJhZGluZ0RheVRvU2Vzc2lvblN0YXJ0KGUpLHRpbWVUb0V4Y2hhbmdlVHJhZGluZ0RheTplPT57Y29uc3QgdD0oMCxpLnV0Y190b19jYWwpKGwudGltZXpvbmUsZSkscz1sLnNwZWMuY29ycmVjdFRyYWRpbmdEYXkodCk7cmV0dXJuKDAsaS5zZXRfaG1zKShzLDAsMCwwLDAsKDAsaS5nZXRfdGltZXpvbmUpKCJFdGMvVVRDIikpLHMuZ2V0VGltZSgpfX19KHMsZSx0KSxjLnNldChsLGQpKSxkfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMpe2lmKCFlKXJldHVybiBlPT5lO2NvbnN0IGk9bmV3IHIuU2Vzc2lvbkluZm8ocy50aW1lem9uZSxzLnNlc3Npb24scy5zZXNzaW9uX2hvbGlkYXlzLHMuY29ycmVjdGlvbnMpLG49KDAsby5uZXdCYXJCdWlsZGVyKSh0LGksaSwhMSk7cmV0dXJuIGU9Pm4uYWxpZ25UaW1lSWZQb3NzaWJsZShlKX0odSgpLGUsdCl9fSw5NzQ2NjMoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7RGVmYXVsdFByb3BlcnR5OigpPT5OLGFsbG93U2F2aW5nRGVmYXVsdHM6KCk9Pk0sY2xlYW5VcFN0YXRlS2V5czooKT0+RSxjcmVhdGVEZWZhdWx0c1N0YXRlOigpPT5JLGV4dHJhY3RBbGxQcm9wZXJ0aWVzS2V5czooKT0+RCxleHRyYWN0U3RhdGU6KCk9PlIsZXh0cmFjdFRoZW1lZENvbG9yczooKT0+a30pCjt2YXIgaT1zKDIwMzY4MSksbj1zKDc0MDE2Mikscj1zKDkxNzM3MSksbz1zKDU1NDcxOCksYT1zKDEwNTk3MCksbD1zKDg2NDAzNiksdT1zKDE2NzUwMiksYz1zKDE0NDU1NSksZD1zKDg4MDExNSksaD1zKDMwNDIyMSkscD1zKDEzODYzOCksbT1zKDEzNDY3KSxfPXMoMjIxMDYxKSxnPXMoNDI1NjU5KSx5PXMoODEwNDEpLGY9cygyMDA2NjYpLHY9cyg0NTM5NjgpLGI9cyg5NDgzODApLFM9cyg5MjUyODIpLHc9cygxMDk0MjkpLFA9KHMoNzk0ODEyKSxzKDc2ODI5MikpO2NvbnN0IFQ9KDAsXy5nZXRMb2dnZXIpKCJUaGVtZWREZWZhdWx0cyIpO2Z1bmN0aW9uIEMoZSl7cmV0dXJuIGUudmFsdWUoKT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodH1mdW5jdGlvbiBFKGUsdCxzKXtmb3IoY29uc3QgaSBvZiB0KWlmKCgwLHIuZGVmYXVsdCkoZSxpKSxzKXtjb25zdCB0PWkuc3BsaXQoIi4iKTtmb3IodC5wb3AoKTt0Lmxlbmd0aDspe2NvbnN0IHM9KDAsby5kZWZhdWx0KShlLHQpO2lmKCEoMCxkLmRlZmF1bHQpKHMpfHwwIT09T2JqZWN0LmtleXMocykubGVuZ3RoKWJyZWFrOygwLHIuZGVmYXVsdCkoZSx0KSx0LnBvcCgpfX19ZnVuY3Rpb24gSShlLHQscyl7dC5zdGFydHNXaXRoKCJzdHVkeV8iKSYmVC5sb2dFcnJvcigiY3JlYXRlRGVmYXVsdHNTdGF0ZTogc2hvdWxkIG5vdCBjYWxsIHRoaXMgZm9yIHN0dWRpZXMiKTtjb25zdCByPXt9LG89KDAsaS5kZWZhdWx0KSgoZT93LmRlZmF1bHRzOncuZmFjdG9yeURlZmF1bHRzKSh0KSk7cmV0dXJuIEUobyxzKSwoMCxuLmRlZmF1bHQpKHIsbykscn1sZXQgTD0hMTtmdW5jdGlvbiBNKGUpe0w9ZX1mdW5jdGlvbiBEKGUsdCl7Y29uc3Qgcz1PYmplY3Qua2V5cyhlKSxpPVtdO3JldHVybiBzLmZvckVhY2goKHM9Pntjb25zdCBuPWVbc107aWYoKDAsZC5kZWZhdWx0KShuKSl7RChuKS5mb3JFYWNoKChlPT5pLnB1c2goYCR7c30uJHtlfWApKSl9ZWxzZSB0Py5oYXMocyl8fGkucHVzaChzKX0pKSxpfWZ1bmN0aW9uIHgoZSx0LHM9IiIpe2lmKDE9PT10Lmxlbmd0aCYmIioiPT09dFswXSlyZXR1cm4gZTtjb25zdCBpPXt9O2Zvcihjb25zdCBuIG9mIHQpe2NvbnN0IHI9bi5zcGxpdCgiLiIpLG89clswXSxhPWVbb10sbD0iIj09PXM/bzpgJHtzfS4ke299YDtpZihlLmhhc093blByb3BlcnR5KG8pKWlmKHIubGVuZ3RoPjEpe2lmKCEoMCxkLmRlZmF1bHQpKGEpKXtULmxvZ0Vycm9yKGBwYXRoICR7bH0gbXVzdCBiZSBhbiBvYmplY3QsIGJ1dCBpdCBpcyBhIHByaW1pdGl2ZWApO2NvbnRpbnVlfXtjb25zdCBlPXQuZmlsdGVyKChlPT5lLnN0YXJ0c1dpdGgoYCR7b30uYCkpKS5tYXAoKGU9PmUuc3BsaXQoIi4iKS5zbGljZSgxKS5qb2luKCIuIikpKTtpW29dPXgoYSxlLGwpfX1lbHNle2lmKCgwLGQuZGVmYXVsdCkoYSkpe1QubG9nRXJyb3IoYHBhdGggJHtsfSBtdXN0IGJlIGEgcHJpbWl0aXZlLCBidXQgaXQgaXMgYW4gb2JqZWN0YCk7Y29udGludWV9aVtvXT1hfX1yZXR1cm4gaX1mdW5jdGlvbiBSKGUsdCxzKXtpZighZSlyZXR1cm57fTtsZXQgaT1lO3JldHVybiB0JiYoaT14KGUsdCkpLHMmJkUoaSxzLCEwKSxpfWZ1bmN0aW9uIGsoZSx0KXtjb25zdCBzPUQoZSksaT1bXTtmb3IoY29uc3QgbiBvZiBzKXtjb25zdCBzPSgwLG8uZGVmYXVsdCkoZSxuKSxyPSgwLG8uZGVmYXVsdCkodCxuKTsoMCxwLmFzc2VydCkodm9pZCAwIT09cyxgTGlnaHQgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksKDAscC5hc3NlcnQpKHZvaWQgMCE9PXIsYERhcmsgdGhlbWUgdmFsdWUgZm9yICR7bn0gaXMgdW5kZWZpbmVkYCksaS5wdXNoKHtwYXRoOm4sY29sb3JzOltzLHJdfSl9cmV0dXJuIGl9ZnVuY3Rpb24gVihlLHQpe2UuaW5jbHVkZXModCl8fGUucHVzaCh0KX1mdW5jdGlvbiBBKGUsdCl7Y29uc3Qgcz1lLmluZGV4T2YodCk7LTEhPT1zJiZlLnNwbGljZShzLDEpfWZ1bmN0aW9uIEYoZSx0KXtjb25zdCBzPSgwLGwuZGVmYXVsdCkoZSwoKGUscyxpKT0+e2lmKHZvaWQgMD09PXRbaV0pcmV0dXJuIGU7aWYoISgwLHUuZGVmYXVsdCkocyx0W2ldKSlpZigoMCxkLmRlZmF1bHQpKHMpJiYoMCxkLmRlZmF1bHQpKHRbaV0pKXtjb25zdCBuPUYocyx0W2ldKTt2b2lkIDAhPT1uJiYoZVtpXT1uKX1lbHNlIGVbaV09cztyZXR1cm4gZX0pLHt9KTtyZXR1cm4oMCxjLmRlZmF1bHQpKHMpP3ZvaWQgMDpzfWZ1bmN0aW9uIEIoZSl7cmV0dXJuIGU9PT15LlN0ZFRoZW1lLkRhcms/MTowfWZ1bmN0aW9uIE8oZSx0KXtpZihlPT09dClyZXR1cm4hMDtpZih0eXBlb2YgZSE9dHlwZW9mIHQpcmV0dXJuITE7aWYoISgwLGguZGVmYXVsdCkoZSl8fCEoMCxoLmRlZmF1bHQpKHQpKXJldHVybiExO2NvbnN0IHM9KDAsbS50cnlQYXJzZVJnYmEpKGUpLGk9KDAsbS50cnlQYXJzZVJnYmEpKHQpO3JldHVybiEoIXN8fCFpKSYmISEoMCxnLmNvbG9yc0FyZUNsb3NlRW5vdWdoKShlLHQpfWNsYXNzIE4gZXh0ZW5kcyBQLlByb3BlcnR5e2NvbnN0cnVjdG9yKGUpe2NvbnN0e2RlZmF1bHROYW1lOnQsbm9uVGhlbWVkRGVmYXVsdHNLZXlzOnMsdGhlbWVkRGVmYXVsdHNLZXlzOmksZXhjbHVkZWREZWZhdWx0c0tleXM6cj1bXSx0aGVtZWRDb2xvcnM6byxyZXBsYWNlVGhlbWVkQ29sb3JzT25UaGVtZUNoYW5nZTphPSExLGFsbFN0YXRlS2V5czpsLGV4Y2x1ZGVkU3RhdGVLZXlzOnU9W10sZXhjbHVkZWRUZW1wbGF0ZUtleXM6Yz1bXSxzdGF0ZTpkLHVzZVVzZXJQcmVmZXJlbmNlczpoPSEwLHNhdmVOb25EZWZhdWx0VXNlclByZWZlcmVuY2VzT25seTptPSExLGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6Xz0hMSxhbHdheXNTYXZlRGVmYXVsdEtleXM6Zz1bInZlcnNpb24iXSxzYXZlRGVmYXVsdHNDb25zdW1lcjpQPXcuc2F2ZURlZmF1bHRzLGZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyOlQ9KCk9PkkoITEsdCxbXSksc2NoZW1hOkU9KDAsUy5jcmVhdGVQcm9wZXJ0eVNjaGVtYSkoVCgpKSx0aGVtZTpMPWYud2F0Y2hlZFRoZW1lLnNwYXduT3duZXJzaGlwKCl9PWU7c3VwZXIodm9pZCAwLEUpLHRoaXMuX3RoZW1lZENvbG9ycz1bXSwKdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50PW5ldyBiLkRlbGVnYXRlLHRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlPSExLHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzPSExLHRoaXMuX2RlZmF1bHROYW1lPXQsdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzPWgsdGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5PW0sdGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cz1fLHRoaXMuX3NhdmVEZWZhdWx0c0NvbnN1bWVyPVAsdGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI9VCx0aGlzLl9hbGxTdGF0ZUtleXM9bCx0aGlzLl9leGNsdWRlZFN0YXRlS2V5cz11LHRoaXMuX25vblRoZW1lZERlZmF1bHRzS2V5cz1zLHRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cz1pLHRoaXMuX2FsbERlZmF1bHRzS2V5cz1zfHxpP1suLi5zPz9bXSwuLi5pPz9bXV06dm9pZCAwLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPXIsdGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXM9Yyx0aGlzLl90aGVtZWRDb2xvcnM9byx0aGlzLl9hbHdheXNTYXZlRGVmYXVsdEtleXM9ZywoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsRGVmYXVsdHNLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMubGVuZ3RoLCJEZWZhdWx0cyBrZXlzIGFuZCBleGNsdWRlZCBkZWZhdWx0cyBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSwoMCxwLmFzc2VydCkodm9pZCAwPT09dGhpcy5fYWxsU3RhdGVLZXlzfHwwPT09dGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMubGVuZ3RoLCJTdGF0ZSBrZXlzIGFuZCBleGNsdWRlZCBzdGF0ZSBrZXlzIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUiKSx0aGlzLl90aGVtZT1MO2NvbnN0IE09Qyh0aGlzLl90aGVtZSk7dGhpcy5tZXJnZSgoMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c0ZvclRoZW1lKCgwLHYuaXNTdGRUaGVtZU5hbWUpKE0pP006eS5TdGRUaGVtZS5MaWdodCksdGhpcy5fdXNlclNldHRpbmdzKCksUihkLGwsdSkpKSxvJiZhJiZ0aGlzLnNldFRoZW1lZENvbG9ycyhvKSx0aGlzLl9yZXN0b3JlRmFjdG9yeURlZmF1bHRzRXZlbnQ9bmV3IGIuRGVsZWdhdGV9ZGVzdHJveSgpe3RoaXMuX3RoZW1lPy5yZWxlYXNlKCksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU/LigpLHN1cGVyLmRlc3Ryb3koKX1hcHBseVRlbXBsYXRlKGUsdCl7dGhpcy5tZXJnZUFuZEZpcmUoUigoMCxuLmRlZmF1bHQpKCgwLGkuZGVmYXVsdCkodCksZSksdGhpcy5fYWxsU3RhdGVLZXlzLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKSl9cHJlZmVyZW5jZXMoKXtyZXR1cm4gUih0aGlzLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0aGlzLl9hbGxEZWZhdWx0c0tleXMpfXRlbXBsYXRlKCl7cmV0dXJuIFIodGhpcy5zdGF0ZSh2b2lkIDAsNCksdm9pZCAwLHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzKX1tZXJnZVByZWZlcmVuY2VzKGUpe3RoaXMubWVyZ2VBbmRGaXJlKFIoZSx0aGlzLl9hbGxEZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpKX1hZGRFeGNsdWRlZEtleShlLHQpezEmdCYmVih0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyxlKSwyJnQmJlYodGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsZSksNCZ0JiZWKHRoaXMuX2V4Y2x1ZGVkVGVtcGxhdGVLZXlzLGUpfXJlbW92ZUV4Y2x1ZGVkS2V5KGUsdCl7MSZ0JiZBKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzLGUpLDImdCYmQSh0aGlzLl9leGNsdWRlZFN0YXRlS2V5cyxlKX1yZXN0b3JlRmFjdG9yeURlZmF1bHRzKCl7Y29uc3QgZT10aGlzLmZhY3RvcnlEZWZhdWx0cygpO0UoZSx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyksdGhpcy5tZXJnZUFuZEZpcmUoZSksdGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfIikmJiF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV9WYlBGaXhlZCIpfHx0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcih0aGlzLl9kZWZhdWx0TmFtZSksdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50LmZpcmUoKX1vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fcmVzdG9yZUZhY3RvcnlEZWZhdWx0c0V2ZW50fXNhdmVEZWZhdWx0cygpe2lmKCF0aGlzLl91c2VVc2VyUHJlZmVyZW5jZXN8fHRoaXMuX2ZvcmJpZFNhdmluZ0RlZmF1bHRzKXJldHVybjtsZXQgZTtpZih0aGlzLl9zYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHkpe2NvbnN0IHQ9dGhpcy5zdGF0ZSh0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cykscz10aGlzLmZhY3RvcnlEZWZhdWx0cygpO2lmKGU9RihSKHQsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzKSxSKHMsdGhpcy5fbm9uVGhlbWVkRGVmYXVsdHNLZXlzLHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSksdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLmxlbmd0aCl7Y29uc3Qgcz1SKHQsdGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzKTtlPWU/P3t9LCgwLG4uZGVmYXVsdCkoZSxzKX1jb25zdCBpPXRoaXMudGhlbWVEZWZhdWx0cyhDKHRoaXMuX3RoZW1lKSkscj10aGlzLnRoZW1lU3RhdGUoKSxvPUYocixpKTsoMCxjLmRlZmF1bHQpKG8pfHwoZT1lPz97fSwoMCxuLmRlZmF1bHQpKGUscikpfWVsc2UgZT10aGlzLnByZWZlcmVuY2VzKCk7dGhpcy5fc2F2ZURlZmF1bHRzQ29uc3VtZXIodGhpcy5fZGVmYXVsdE5hbWUsZSl9dGhlbWVEZWZhdWx0cyhlKXtpZih0aGlzLl90aGVtZWRDb2xvcnMpcmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz17fSxpPUIodCk7Zm9yKGNvbnN0e3BhdGg6dCxjb2xvcnM6bn1vZiBlKSgwLGEuZGVmYXVsdCkocyx0LG5baV0pO3JldHVybiBzfSh0aGlzLl90aGVtZWRDb2xvcnMsZT09PXkuU3RkVGhlbWUuRGFyaz95LlN0ZFRoZW1lLkRhcms6eS5TdGRUaGVtZS5MaWdodCk7cmV0dXJuIFIodGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIoKSx0aGlzLl90aGVtZWREZWZhdWx0c0tleXMsdGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMpfQpmYWN0b3J5RGVmYXVsdHMoKXtyZXR1cm4gdGhpcy5fZmFjdG9yeURlZmF1bHRzRm9yVGhlbWUoQyh0aGlzLl90aGVtZSkpfXRoZW1lU3RhdGUoKXtjb25zdCBlPXN1cGVyLnN0YXRlKHRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzKSx0PXRoaXMuX3RoZW1lZENvbG9ycztyZXR1cm4gUihlLHQ/dC5tYXAoKGU9PmUucGF0aCkpOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyl9YWxsVGhlbWVQcm9wZXJ0aWVzQXJlRGVmYXVsdChlKXsoMCxwLmFzc2VydCkoISF0aGlzLl90aGVtZWRDb2xvcnMsIlRoaXMgbWV0aG9kIHNob3VsZCBub3QgYmUgY2FsbGVkIGlmIHRoZW1lZCBjb2xvcnMgYXJlIG5vdCBzZXQiKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHM9W10pe2Zvcihjb25zdCBpIG9mIHMpe2NvbnN0IHM9aS5wYXRoO2lmKCFPKCgwLG8uZGVmYXVsdCkoZSxzKSwoMCxvLmRlZmF1bHQpKHQscykpKXJldHVybiExfXJldHVybiEwfSh0aGlzLnRoZW1lU3RhdGUoKSx0aGlzLnRoZW1lRGVmYXVsdHMoZSksdGhpcy5fdGhlbWVkQ29sb3JzKX1jbG9uZShlKXtyZXR1cm4gbmV3IE4odGhpcy5fb3B0aW9ucygpKX1zZXRUaGVtZWRDb2xvcnMoZSl7aWYodGhpcy5fdGhlbWVkQ29sb3JzPWUsdm9pZCAwPT09dGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWUpe2NvbnN0IGU9KCk9Pnt0aGlzLl91cGRhdGVUaGVtZWRDb2xvcnMoITEpfTt0aGlzLl90aGVtZS5zdWJzY3JpYmUoZSksdGhpcy5fdW5zdWJzY3JpYmVXYXRjaGVkVGhlbWU9KCk9PnRoaXMuX3RoZW1lLnVuc3Vic2NyaWJlKGUpfXRoaXMuX3VwZGF0ZVRoZW1lZENvbG9ycyghMCl9YXBwbHlEZWZhdWx0VGhlbWVkUHJvcGVydGllcyhlKXt0aGlzLl90aGVtZWRDb2xvcnMmJnRoaXMubWVyZ2VBbmRGaXJlKHRoaXMudGhlbWVEZWZhdWx0cyhlKSl9c3RhdGUoZSx0KXtyZXR1cm4gUihzdXBlci5zdGF0ZShbLi4udGhpcy5fZXhjbHVkZWRTdGF0ZUtleXMsLi4uZT8/W11dLHQpLHRoaXMuX2FsbFN0YXRlS2V5cyl9ZnVsbFN0YXRlKCl7cmV0dXJuIHN1cGVyLnN0YXRlKCl9X3VwZGF0ZVRoZW1lZENvbG9ycyhlKXtpZighdGhpcy5fdGhlbWVkQ29sb3JzKXJldHVybjtjb25zdCB0PUModGhpcy5fdGhlbWUpLHM9dD09PXkuU3RkVGhlbWUuTGlnaHQ/eS5TdGRUaGVtZS5EYXJrOnkuU3RkVGhlbWUuTGlnaHQ7Zm9yKGNvbnN0IGkgb2YgdGhpcy5fdGhlbWVkQ29sb3JzKXtjb25zdCBuPSgwLHAuZW5zdXJlRGVmaW5lZCkodGhpcy5jaGlsZEJ5UGF0aChpLnBhdGgpKSxyPWkuY29sb3JzW0IocyldOygiIj09PW4udmFsdWUoKXx8IWUmJk8obi52YWx1ZSgpLHIpKSYmbi5zZXRWYWx1ZShpLmNvbG9yc1tCKHQpXSl9fV91c2VyU2V0dGluZ3MoKXtpZighdGhpcy5fdXNlVXNlclByZWZlcmVuY2VzKXJldHVybjtjb25zdCBlPUkoITAsdGhpcy5fZGVmYXVsdE5hbWUsW10pO2lmKCFlKXJldHVybjtyZXR1cm4gUigoMCxTLmV4dHJhY3RTdGF0ZVdpdGhTY2hlbWEpKGUsdGhpcy5fc2NoZW1hLDEpLHRoaXMuX2FsbERlZmF1bHRzS2V5cyx0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyl9X29wdGlvbnMoKXtyZXR1cm57ZGVmYXVsdE5hbWU6dGhpcy5fZGVmYXVsdE5hbWUsZmFjdG9yeURlZmF1bHRzU3VwcGxpZXI6dGhpcy5fZmFjdG9yeURlZmF1bHRzU3VwcGxpZXIsc3RhdGU6dGhpcy5zdGF0ZSgpLG5vblRoZW1lZERlZmF1bHRzS2V5czp0aGlzLl9ub25UaGVtZWREZWZhdWx0c0tleXMsdGhlbWVkRGVmYXVsdHNLZXlzOnRoaXMuX3RoZW1lZERlZmF1bHRzS2V5cyxleGNsdWRlZERlZmF1bHRzS2V5czp0aGlzLl9leGNsdWRlZERlZmF1bHRzS2V5cyx0aGVtZWRDb2xvcnM6dGhpcy5fdGhlbWVkQ29sb3JzLHJlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlOnRoaXMuX3JlcGxhY2VUaGVtZWRDb2xvcnNPblRoZW1lQ2hhbmdlLGFsbFN0YXRlS2V5czp0aGlzLl9hbGxTdGF0ZUtleXMsZXhjbHVkZWRTdGF0ZUtleXM6dGhpcy5fZXhjbHVkZWREZWZhdWx0c0tleXMsZXhjbHVkZWRUZW1wbGF0ZUtleXM6dGhpcy5fZXhjbHVkZWRUZW1wbGF0ZUtleXMsdXNlVXNlclByZWZlcmVuY2VzOnRoaXMuX3VzZVVzZXJQcmVmZXJlbmNlcyxzYXZlTm9uRGVmYXVsdFVzZXJQcmVmZXJlbmNlc09ubHk6dGhpcy5fc2F2ZU5vbkRlZmF1bHRVc2VyUHJlZmVyZW5jZXNPbmx5LGlnbm9yZUFsbG93U2F2aW5nRGVmYXVsdHM6dGhpcy5faWdub3JlQWxsb3dTYXZpbmdEZWZhdWx0cyxzYXZlRGVmYXVsdHNDb25zdW1lcjp0aGlzLl9zYXZlRGVmYXVsdHNDb25zdW1lcixhbHdheXNTYXZlRGVmYXVsdEtleXM6dGhpcy5fYWx3YXlzU2F2ZURlZmF1bHRLZXlzLHRoZW1lOnRoaXMuX3RoZW1lLnNwYXduT3duZXJzaGlwKCl9fV9jaGlsZENoYW5nZWQoZSx0KXtzdXBlci5fY2hpbGRDaGFuZ2VkKGUsdCksdGhpcy5fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHModCkmJnRoaXMuc2F2ZURlZmF1bHRzKCl9X2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSl7dGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITAsc3VwZXIuX2ZpcmVNZXJnZUFuZEZpcmVDaGFuZ2VkUHJvcHMoZSksdGhpcy5fZm9yYmlkU2F2aW5nRGVmYXVsdHM9ITEsZS5zb21lKChlPT50aGlzLl9wcm9wZXJ0eUFmZmVjdHNEZWZhdWx0cyhlLnBhdGhUb1Jvb3RQcm9wZXJ0eSgpKSkpJiZ0aGlzLnNhdmVEZWZhdWx0cygpfV9mYWN0b3J5RGVmYXVsdHNGb3JUaGVtZShlKXtyZXR1cm4oMCxuLmRlZmF1bHQpKHRoaXMuX2ZhY3RvcnlEZWZhdWx0c1N1cHBsaWVyKCksdGhpcy50aGVtZURlZmF1bHRzKGUpKX1fcHJvcGVydHlBZmZlY3RzRGVmYXVsdHMoZSl7CnJldHVybih0aGlzLl9pZ25vcmVBbGxvd1NhdmluZ0RlZmF1bHRzfHxMKSYmIXRoaXMuX2RlZmF1bHROYW1lLnN0YXJ0c1dpdGgoInJlcGxheVN0dWR5U3RyYXRlZ3kiKSYmKCF0aGlzLl9kZWZhdWx0TmFtZS5zdGFydHNXaXRoKCJzdHVkeV8iKXx8dGhpcy5fZGVmYXVsdE5hbWUuc3RhcnRzV2l0aCgic3R1ZHlfVmJQRml4ZWQiKSkmJih0aGlzLl9hbGxEZWZhdWx0c0tleXMmJnRoaXMuX2FsbERlZmF1bHRzS2V5cy5pbmNsdWRlcyhlKXx8IXRoaXMuX2FsbERlZmF1bHRzS2V5cyYmIXRoaXMuX2V4Y2x1ZGVkRGVmYXVsdHNLZXlzPy5pbmNsdWRlcyhlKSkmJigwLFAuaXNQcmltaXRpdmVUeXBlKSh0aGlzLmNoaWxkQnlQYXRoKGUpPy52YWx1ZSgpKX19fSwxMDk0MjkoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXJ7Y2xvbmU6aSxtZXJnZTpufT1zKDYwMTg0MSkscj1zKDkzMDUwNikuUGxEaXNwbGF5O2NvbnN0e2dldFN0ZENoYXJ0VGhlbWU6b309cyg3Mjg1NCkse0RFRkFVTFRfVEhFTUU6YX09cyg2NjUxODcpLGw9cyg1MDc2MDQpLmNvbG9yczt2YXIgdT1zKDkzMDUwNikuVHJhZGVkR3JvdXBIb3Jpem9udGFsQWxpZ25tZW50LGM9cygxNjgyNTgpLlNUVURZUExPVERJU1BMQVlUQVJHRVQsZD1zKDQ2NTc3NyksaD1zKDIyNjQ3NykuUHJpY2VBeGlzTGFzdFZhbHVlTW9kZSxwPXMoNDkyMzgxKS5NYWduZXRNb2RlLG09cygyMjc4MjUpLkNvbG9yVHlwZTtjb25zdCBfPXMoMzk4ODk5KS5ERUZBVUxUX0xJTkVfVE9PTF9MSU5FX1dJRFRIO3ZhciBnPXMoOTYxODMxKS5zZXNzaW9uc1ByZWZlcmVuY2VzRGVmYXVsdCx5PXMoNzA5NDYpLmF4aXNMYWJlbEJhY2tncm91bmRDb2xvcixmPXMoNTE4Nzk1KS5tYWluU2VyaWVzUHJvcGVydGllcztjb25zdHtkZWZhdWx0c0FzSXM6dixhcHBseURlZmF1bHRzT3ZlcnJpZGVzOmIsYXBwbHlEZWZhdWx0T3ZlcnJpZGVzVG9MaW5ldG9vbHM6U309cyg3OTQ4MTIpLHtMSU5FU1RZTEVfU09MSUQ6dyxMSU5FU1RZTEVfRE9UVEVEOlAsTElORVNUWUxFX0RBU0hFRDpUfT1zKDI2MDY5KSx7Y29sb3JXaGl0ZTpDLGNvbG9yVHZCbHVlNTAwOkUsY29sb3JUdkJsdWU1MDBBbHBoYTMwOkksY29sb3JUdkJsdWU1MDBBbHBoYTI1OkwsY29sb3JUdkJsdWU1MDBBbHBoYTIwOk0sY29sb3JEZWVwQmx1ZTUwMDpELGNvbG9yU2t5Qmx1ZTUwMDp4LGNvbG9yUmlwZVJlZDUwMDpSLGNvbG9yUmlwZVJlZDUwMEFscGhhMzA6ayxjb2xvclJpcGVSZWQ1MDBBbHBoYTIwOlYsY29sb3JHcmFwZXNQdXJwbGU1MDBBbHBoYTA6QSxjb2xvckdyYXBlc1B1cnBsZTUwMEFscGhhNzA6Rixjb2xvckJlcnJ5UGluazUwMDpCLGNvbG9yTWludHlHcmVlbjUwMDpPLGNvbG9ySWd1YW5hR3JlZW41MDA6Tixjb2xvclRhbk9yYW5nZTUwMDpXLGNvbG9yQ29sZEdyYXkxNTA6VSxjb2xvckNvbGRHcmF5NTAwOnosY29sb3JDb2xkR3JheTkwMDpILGNvbG9yQ29sZEdyYXk3NTA6an09bDt2YXIgJD1mdW5jdGlvbihlKXt2YXIgdD1mdW5jdGlvbihlLHQscyxpKXtjb25zdCBuPXtjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzfTtyZXR1cm4gaSYmKG4udGV4dD0iIiksbn0scz1mdW5jdGlvbihlLHQscyxpLG4pe3JldHVybntjb2VmZjplLGNvbG9yOnQsdmlzaWJsZTpzLGxpbmVzdHlsZTp2b2lkIDA9PT1pP3c6aSxsaW5ld2lkdGg6dm9pZCAwPT09bj9fOm59fTtpZih2b2lkIDA9PT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyl7dmFyIHY7c3dpdGNoKHdpbmRvdy5sb2NhbGUpe2Nhc2UiYXJfQUUiOnY9IkFzaWEvRHViYWkiO2JyZWFrO2Nhc2UiYXUiOnY9IkF1c3RyYWxpYS9TeWRuZXkiO2JyZWFrO2Nhc2UiYnIiOnY9IkFtZXJpY2EvU2FvX1BhdWxvIjticmVhaztjYXNlImNhIjp2PSJBbWVyaWNhL1Rvcm9udG8iO2JyZWFrO2Nhc2UiZGVfREUiOmNhc2UiaXQiOnY9IkV1cm9wZS9CZXJsaW4iO2JyZWFrO2Nhc2UiZXMiOnY9IkV1cm9wZS9NYWRyaWQiO2JyZWFrO2Nhc2UiaGVfSUwiOmNhc2UidHIiOnY9IkV1cm9wZS9BdGhlbnMiO2JyZWFrO2Nhc2UiaHVfSFUiOmNhc2UicGwiOnY9IkV1cm9wZS9XYXJzYXciO2JyZWFrO2Nhc2UiaWQiOmNhc2UidGhfVEgiOmNhc2UidmlfVk4iOnY9IkFzaWEvQmFuZ2tvayI7YnJlYWs7Y2FzZSJpbiI6dj0iQXNpYS9Lb2xrYXRhIjticmVhaztjYXNlImphIjpjYXNlImtyIjp2PSJBc2lhL1Rva3lvIjticmVhaztjYXNlIm1zX01ZIjp2PSJBc2lhL1NpbmdhcG9yZSI7YnJlYWs7Y2FzZSJydSI6dj0iRXVyb3BlL01vc2NvdyI7YnJlYWs7Y2FzZSJ1ayI6dj0iRXVyb3BlL0xvbmRvbiI7YnJlYWs7Y2FzZSJ6aF9DTiI6Y2FzZSJ6aF9UVyI6dj0iQXNpYS9TaGFuZ2hhaSI7YnJlYWs7ZGVmYXVsdDp2PSJFdGMvVVRDIn1jb25zdCBlPW8oYSk7VHJhZGluZ1ZpZXcuZGVmYXVsdFByb3BlcnRpZXM9e2NoYXJ0cHJvcGVydGllczpuKHt0aW1lem9uZTp2LHByaWNlU2NhbGVTZWxlY3Rpb25TdHJhdGVneU5hbWU6ImF1dG8iLGluYWN0aXZpdHlHYXBzOiExLHBhbmVQcm9wZXJ0aWVzOntiYWNrZ3JvdW5kVHlwZTptLlNvbGlkLHZlcnRHcmlkUHJvcGVydGllczp7c3R5bGU6UCx2aXNpYmxlOiEwfSxob3J6R3JpZFByb3BlcnRpZXM6e3N0eWxlOlAsdmlzaWJsZTohMH0sY3Jvc3NIYWlyUHJvcGVydGllczp7c3R5bGU6VCx0cmFuc3BhcmVuY3k6MCx3aWR0aDoxfSx0b3BNYXJnaW46MTAsYm90dG9tTWFyZ2luOjgsYXhpc1Byb3BlcnRpZXM6e2F1dG9TY2FsZTohMCxhdXRvU2NhbGVEaXNhYmxlZDohMSxsb2NrU2NhbGU6ITEscGVyY2VudGFnZTohMSxwZXJjZW50YWdlRGlzYWJsZWQ6ITEsaW5kZXhlZFRvMTAwOiExLGxvZzohMSxsb2dEaXNhYmxlZDohMSxhbGlnbkxhYmVsczohMCxpc0ludmVydGVkOiExfSxsZWdlbmRQcm9wZXJ0aWVzOntzaG93U3R1ZHlBcmd1bWVudHM6ITAsc2hvd1N0dWR5VGl0bGVzOiEwLHNob3dTdHVkeVZhbHVlczohMCxzaG93U2VyaWVzVGl0bGU6ITAsc2hvd1Nlcmllc09ITEM6ITAsc2hvd0xlZ2VuZDohMCxzaG93TGFzdERheUNoYW5nZTohMSxzaG93QmFyQ2hhbmdlOiEwLHNob3dWb2x1bWU6ITEsc2hvd0JhY2tncm91bmQ6ITAsc2hvd1ByaWNlU291cmNlOiEwLApiYWNrZ3JvdW5kVHJhbnNwYXJlbmN5OjUwLHNob3dMb2dvOiEwLHNob3dUcmFkaW5nQnV0dG9uczohMCxzaG93VHJhZGluZ0J1dHRvbnNNb2JpbGU6ITAsc2hvd1Nlcmllc0xlZ2VuZENsb3NlT25Nb2JpbGU6ITAsYmFyQ2hhbmdlVXBDb2xvcjpPLGJhckNoYW5nZURvd25Db2xvcjpSLHVzZUJhckNoYW5nZUN1c3RvbUNvbG9yczohMX0sc2VwYXJhdG9yQ29sb3I6VX0sc2NhbGVzUHJvcGVydGllczp7Zm9udFNpemU6MTIsc2NhbGVTZXJpZXNPbmx5OiExLHNob3dTZXJpZXNMYXN0VmFsdWU6ITAsc2VyaWVzTGFzdFZhbHVlTW9kZTpoLkxhc3RWYWx1ZUFjY29yZGluZ1RvU2NhbGUsc2hvd1Nlcmllc1ByZXZDbG9zZVZhbHVlOiExLHNob3dTdHVkeUxhc3RWYWx1ZTohMCxzaG93U3ltYm9sTGFiZWxzOiExLHNob3dTdHVkeVBsb3RMYWJlbHM6ITEsc2hvd0JpZEFza0xhYmVsczohMSxzaG93UHJlUG9zdE1hcmtldFByaWNlTGFiZWw6ITAsc2hvd0Z1bmRhbWVudGFsTmFtZUxhYmVsOiExLHNob3dGdW5kYW1lbnRhbExhc3RWYWx1ZTohMCxiYXJTcGFjaW5nOmQuREVGQVVMVF9CQVJfU1BBQ0lORyxheGlzSGlnaGxpZ2h0Q29sb3I6TCxheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckNvbW1vbjp5LmNvbW1vbixheGlzTGluZVRvb2xMYWJlbEJhY2tncm91bmRDb2xvckFjdGl2ZTp5LmFjdGl2ZSxzaG93UHJpY2VTY2FsZUNyb3NzaGFpckxhYmVsOiEwLHNob3dUaW1lU2NhbGVDcm9zc2hhaXJMYWJlbDohMCxjcm9zc2hhaXJMYWJlbEJnQ29sb3JMaWdodDpILGNyb3NzaGFpckxhYmVsQmdDb2xvckRhcms6aixzYXZlTGVmdEVkZ2U6ITF9LG1haW5TZXJpZXNQcm9wZXJ0aWVzOm4oZixlLmNvbnRlbnQubWFpblNvdXJjZVByb3BlcnRpZXMpLGNoYXJ0RXZlbnRzU291cmNlUHJvcGVydGllczp7dmlzaWJsZTohMCxmdXR1cmVPbmx5OiEwLGJyZWFrczp7Y29sb3I6IiM1NTU1NTUiLHZpc2libGU6ITEsc3R5bGU6VCx3aWR0aDoxfX0sdHJhZGluZ1Byb3BlcnRpZXM6e3Nob3dQb3NpdGlvbnM6ITAscG9zaXRpb25QTDp7dmlzaWJpbGl0eTohMCxkaXNwbGF5OnIuTW9uZXl9LGJyYWNrZXRzUEw6e3Zpc2liaWxpdHk6ITAsZGlzcGxheTpyLk1vbmV5fSxwb3NpdGlvbkFuZEJyYWNrZXRzUEw6ITAsc2hvd1Byb2plY3RNYXJrZXRPcmRlcjohMCxzaG93T3JkZXJzOiEwLHNob3dFeGVjdXRpb25zOiEwLHNob3dFeGVjdXRpb25zTGFiZWxzOiExLHNob3dSZXZlcnNlOiEwLGhvcml6b250YWxBbGlnbm1lbnQ6dS5SaWdodCxleHRlbmRMZWZ0OiEwLGxpbmVMZW5ndGg6NSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6d30sdm9sdW1lUGFuZVNpemU6ImxhcmdlIn0sZS5jb250ZW50LmNoYXJ0UHJvcGVydGllcyksc2Vzc2lvbnM6bihnLGUuY29udGVudC5zZXNzaW9ucyksZHJhd2luZ3M6e21hZ25ldDohMSxtYWduZXRTbmFwc1RvSW5kaWNhdG9yczohMSxtYWduZXRNb2RlOnAuV2Vha01hZ25ldCxzdGF5SW5EcmF3aW5nTW9kZTohMSxkcmF3T25BbGxDaGFydHM6ITAsZHJhd09uQWxsQ2hhcnRzTW9kZToxfSxsaW5ldG9vbGV4ZWN1dGlvbjp7ZGlyZWN0aW9uOiJidXkiLGFycm93SGVpZ2h0OjgsYXJyb3dTcGFjaW5nOjEsYXJyb3dCdXlDb2xvcjoiIzQwOTRlOCIsYXJyb3dTZWxsQ29sb3I6IiNlNzU2NTYiLHRleHQ6IiIsdGV4dENvbG9yOmwuY29sb3JCbGFjayx0ZXh0VHJhbnNwYXJlbmN5OjAsZm9udEZhbWlseToiVmVyZGFuYSIsZm9udFNpemU6MTAsZm9udEJvbGQ6ITEsZm9udEl0YWxpYzohMSx0b29sdGlwOiIifSxsaW5ldG9vbGJhbGxvb246e2NvbG9yOkMsYmFja2dyb3VuZENvbG9yOkYsYm9yZGVyQ29sb3I6QSxmb250c2l6ZToxNCx0cmFuc3BhcmVuY3k6MzB9LGxpbmV0b29sY29tbWVudDp7Y29sb3I6QyxiYWNrZ3JvdW5kQ29sb3I6RSxib3JkZXJDb2xvcjpFLGZvbnRzaXplOjE2LHRyYW5zcGFyZW5jeTowfSxsaW5ldG9vbGVsbGlwc2U6e2NvbG9yOlIsZmlsbEJhY2tncm91bmQ6ITAsYmFja2dyb3VuZENvbG9yOlYsdHJhbnNwYXJlbmN5OjUwLGxpbmV3aWR0aDpfLHRleHRDb2xvcjpSLGZvbnRTaXplOjE0LGJvbGQ6ITEsaXRhbGljOiExfSxsaW5ldG9vbHBhcmFsbGVsY2hhbm5lbDp7bGluZWNvbG9yOkUsbGluZXdpZHRoOl8sbGluZXN0eWxlOncsZXh0ZW5kTGVmdDohMSxleHRlbmRSaWdodDohMSxmaWxsQmFja2dyb3VuZDohMCxiYWNrZ3JvdW5kQ29sb3I6TSx0cmFuc3BhcmVuY3k6MjAsc2hvd01pZGxpbmU6ITAsbWlkbGluZWNvbG9yOkUsbWlkbGluZXdpZHRoOjEsbWlkbGluZXN0eWxlOlQsbGFiZWxWaXNpYmxlOiExLGxhYmVsSG9yekFsaWduOiJsZWZ0IixsYWJlbFZlcnRBbGlnbjoiYm90dG9tIixsYWJlbFRleHRDb2xvcjpFLGxhYmVsRm9udFNpemU6MTQsbGFiZWxCb2xkOiExLGxhYmVsSXRhbGljOiExfSxsaW5ldG9vbGZpYnNwZWVkcmVzaXN0YW5jZWZhbjp7ZmlsbEJhY2tncm91bmQ6ITAsdHJhbnNwYXJlbmN5OjgwLGdyaWQ6e2NvbG9yOiJyZ2JhKDIxLCA1NiwgMTUzLCAwLjgpIixsaW5ld2lkdGg6MSxsaW5lc3R5bGU6dyx2aXNpYmxlOiEwfSxsaW5ld2lkdGg6XyxsaW5lc3R5bGU6dyxzaG93VG9wTGFiZWxzOiEwLHNob3dCb3R0b21MYWJlbHM6ITAsc2hvd0xlZnRMYWJlbHM6ITAsc2hvd1JpZ2h0TGFiZWxzOiEwLHJldmVyc2U6ITEsaGxldmVsMTp0KDAseiwhMCksaGxldmVsMjp0KC4yNSxXLCEwKSxobGV2ZWwzOnQoLjM4Mix4LCEwKSxobGV2ZWw0OnQoLjUsTiwhMCksaGxldmVsNTp0KC42MTgsTywhMCksaGxldmVsNjp0KC43NSxFLCEwKSxobGV2ZWw3OnQoMSx6LCEwKSx2bGV2ZWwxOnQoMCx6LCEwKSx2bGV2ZWwyOnQoLjI1LFcsITApLHZsZXZlbDM6dCguMzgyLHgsITApLHZsZXZlbDQ6dCguNSxOLCEwKSx2bGV2ZWw1OnQoLjYxOCxPLCEwKSx2bGV2ZWw2OnQoLjc1LEUsITApLHZsZXZlbDc6dCgxLHosITApfSxsaW5ldG9vbGZpYndlZGdlOntzaG93Q29lZmZzOiEwLGZpbGxCYWNrZ3JvdW5kOiEwLHRyYW5zcGFyZW5jeTo4MCx0cmVuZGxpbmU6e3Zpc2libGU6ITAsY29sb3I6IiM4MDgwODAiLGxpbmV3aWR0aDpfLGxpbmVzdHlsZTp3fSxsZXZlbDE6cyguMjM2LFIsITApLApsZXZlbDI6cyguMzgyLFcsITApLGxldmVsMzpzKC41LE4sITApLGxldmVsNDpzKC42MTgsTywhMCksbGV2ZWw1OnMoLjc4Nix4LCEwKSxsZXZlbDY6cygxLHosITApLGxldmVsNzpzKDEuNjE4LEUsITEpLGxldmVsODpzKDIuNjE4LFIsITEpLGxldmVsOTpzKDMuNjE4LEQsITEpLGxldmVsMTA6cyg0LjIzNixCLCExKSxsZXZlbDExOnMoNC42MTgsQiwhMSl9LGxpbmV0b29sZmlic3BlZWRyZXNpc3RhbmNlYXJjczp7c2hvd0NvZWZmczohMCxmaWxsQmFja2dyb3VuZDohMCx0cmFuc3BhcmVuY3k6ODAsZnVsbENpcmNsZXM6ITEsdHJlbmRsaW5lOnt2aXNpYmxlOiEwLGNvbG9yOnosbGluZXdpZHRoOl8sbGluZXN0eWxlOlR9LGxldmVsMTpzKC4yMzYsUiwhMCksbGV2ZWwyOnMoLjM4MixXLCEwKSxsZXZlbDM6cyguNSxPLCEwKSxsZXZlbDQ6cyguNjE4LE4sITApLGxldmVsNTpzKC43ODYseCwhMCksbGV2ZWw2OnMoMSx6LCEwKSxsZXZlbDc6cygxLjYxOCxFLCEwKSxsZXZlbDg6cygyLjYxOCxCLCEwKSxsZXZlbDk6cygzLjYxOCxFLCEwKSxsZXZlbDEwOnMoNC4yMzYsQiwhMCksbGV2ZWwxMTpzKDQuNjE4LFIsITApfSxsaW5ldG9vbHJlZ3Jlc3Npb250cmVuZDp7bGluZXdpZHRoOjEsbGluZXN0eWxlOncsc3R5bGVzOnt1cExpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sZG93bkxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6SSxsaW5lc3R5bGU6dyxsaW5ld2lkdGg6X30sYmFzZUxpbmU6e2Rpc3BsYXk6Yy5BbGwsY29sb3I6ayxsaW5lc3R5bGU6VCxsaW5ld2lkdGg6MX0sZXh0ZW5kTGluZXM6ITEsc2hvd1BlYXJzb25zOiEwLHRyYW5zcGFyZW5jeTo3MH19fSxiKFRyYWRpbmdWaWV3LmRlZmF1bHRQcm9wZXJ0aWVzLmNoYXJ0cHJvcGVydGllcyksUygpfWZvcih2YXIgJD1lLnNwbGl0KCIuIikscT1UcmFkaW5nVmlldy5kZWZhdWx0UHJvcGVydGllcyxLPTA7SzwkLmxlbmd0aDtLKyspcSYmKHE9cVskW0tdXSk7cmV0dXJuIG51bGwhPXE/aShxKTp7fX07ZnVuY3Rpb24gcShlKXtyZXR1cm4gdihlLCQpfVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0cz1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQ/VFZTZXR0aW5ncy5yZW1vdmUoZSk6VFZTZXR0aW5ncy5zZXRKU09OKGUsdCl9LFRyYWRpbmdWaWV3LmZhY3RvcnlEZWZhdWx0cz0kLHdpbmRvdy5kZWZhdWx0cz1xLHQuZGVmYXVsdHM9cSx0LmZhY3RvcnlEZWZhdWx0cz0kLHQuc2F2ZURlZmF1bHRzPVRyYWRpbmdWaWV3LnNhdmVEZWZhdWx0c30sNDY4NTM4KGUsdCxzKXsidXNlIHN0cmljdCI7dmFyIGksbjtzLmQodCx7RHJhd2luZ1N5bmNNb2RlOigpPT5pLFNlbGVjdFBvaW50TW9kZTooKT0+bn0pLGZ1bmN0aW9uKGUpe2VbZS5MYXlvdXQ9MV09IkxheW91dCIsZVtlLkdsb2JhbD0yXT0iR2xvYmFsIn0oaXx8KGk9e30pKSxmdW5jdGlvbihlKXtlW2UuTm9uZT0wXT0iTm9uZSIsZVtlLlJlcGxheT0xXT0iUmVwbGF5IixlW2UuU3R1ZHk9Ml09IlN0dWR5In0obnx8KG49e30pKX0sNjc4Mjg1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHtEcmF3aW5nU3luY01vZGU6KCk9PmkuRHJhd2luZ1N5bmNNb2RlLFNlbGVjdFBvaW50TW9kZTooKT0+aS5TZWxlY3RQb2ludE1vZGUsYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlOigpPT5aLGFsaWduVG80NURlZ3JlZXM6KCk9Pk1lLGJhclRpbWVzVW5kZXJDdXJzb3I6KCk9PnRlLGJlZW5TZXRMaW5lVG9vbExhc3RQb2ludDooKT0+VyxjYW5jZWxMaW5lVG9vbDooKT0+b2UsY2FuY2VsbGVkTGluZVRvb2w6KCk9Pk4sY2hhbmdlTGluZVN0eWxlOigpPT5nZSxjaGFuZ2VMaW5lVG9vbDooKT0+aGUsY2hhbmdlZExpbmVTdHlsZTooKT0+RyxjaGFuZ2VkTGluZVRvb2w6KCk9PiQsY29udGludWVMaW5lVG9vbDooKT0+cmUsY29udGludWVkTGluZVRvb2w6KCk9Pk8sY29waWVkTGluZVRvb2w6KCk9PkosY29weUxpbmVUb29sOigpPT55ZSxjcmVhdGVMaW5lVG9vbDooKT0+bmUsY3JlYXRlZExpbmVUb29sOigpPT5CLGNyb3NzaGFpckxvY2s6KCk9PkksY3Vyc29yVG9vbDooKT0+UixkcmF3T25BbGxDaGFydHM6KCk9PkRlLGRyYXdPbkFsbENoYXJ0c01vZGU6KCk9PnhlLGVtb2ppVG9vbDooKT0+RCxmaW5pc2hDaGFuZ2luZ0xpbmVUb29sOigpPT5wZSxmaW5pc2hMaW5lVG9vbDooKT0+X2UsZmluaXNoTW92aW5nTGluZVRvb2w6KCk9PmNlLGZpbmlzaGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+cSxmaW5pc2hlZExpbmVUb29sOigpPT5ZLGZpbmlzaGVkTW92aW5nTGluZVRvb2w6KCk9PkgsaGlkZUFsbERyYXdpbmdzOigpPT5DZSxoaWRlQWxsSW5kaWNhdG9yczooKT0+RWUsaGlkZU1hcmtzT25CYXJzOigpPT5MZSxpY29uVG9vbDooKT0+TSxpbml0OigpPT53ZSxpc0RpcmVjdGlvbmFsTW92ZW1lbnRBY3RpdmU6KCk9PkYsaXNTdHVkeUVkaXRpbmdOb3c6KCk9PmVlLGlzVG9vbENyZWF0aW5nTm93OigpPT5rLGlzVG9vbEVkaXRpbmdOb3c6KCk9PlYsaXNUb29sTW92aW5nTm93OigpPT5BLGxvY2tEcmF3aW5nczooKT0+SWUsbW92ZUxpbmVUb29sOigpPT51ZSxtb3ZlZExpbmVUb29sOigpPT56LHByb3BlcnRpZXM6KCk9PlRlLHJlbW92ZUxpbmVUb29sOigpPT5tZSxyZW1vdmVkTGluZVRvb2w6KCk9PksscmVzZXRUb0N1cnNvcjooKT0+dixyZXN0b3JlTGluZVRvb2w6KCk9PmZlLHJlc3RvcmVMaW5lVG9vbFN0YXRlOigpPT52ZSxyZXN0b3JlZExpbmVUb29sOigpPT5YLHJlc3RvcmVkTGluZVRvb2xTdGF0ZTooKT0+USxydW5PbkRyYXdpbmdTdGF0ZVJlYWR5OigpPT5QZSxzZXRMaW5lVG9vbExhc3RQb2ludDooKT0+YWUsc3RhcnRDaGFuZ2luZ0xpbmVUb29sOigpPT5kZSxzdGFydE1vdmluZ0xpbmVUb29sOigpPT5sZSxzdGFydGVkQ2hhbmdpbmdMaW5lVG9vbDooKT0+aixzdGFydGVkTW92aW5nTGluZVRvb2w6KCk9PlUsc3RpY2tlclRvb2w6KCk9PngsdG9vbDooKT0+TCx0b29sSXNDdXJzb3I6KCk9Pl8sdG9vbElzRGVtb25zdHJhdGlvbjooKT0+eSx0b29sSXNFcmFzZXI6KCk9PmcsdG9vbElzTWVhc3VyZTooKT0+Zix0cnlTZWxlY3RMaW5lVG9vbDooKT0+Yn0pCjt2YXIgaT1zKDQ2ODUzOCksbj1zKDEzODYzOCkscj1zKDM3ODA4KSxvPXMoOTc0NjYzKSxhPXMoMjMyMzY0KSxsPXMoNDAyMDQ1KSx1PXMoOTQ4MzgwKSxjPXMoOTMwNTY2KSxkPXMoMTc5NzcxKSxoPXMoMzg2OTMxKSxwPXMoNTU2NjUxKTtjb25zdCBtPW5ldyBTZXQoWyJjdXJzb3IiLCJhcnJvdyIsImRvdCIsInBlcmZvcm1hbmNlIiwiZGVtb25zdHJhdGlvbiJdKTtmdW5jdGlvbiBfKGUpe3JldHVybiBtLmhhcyhlKX1mdW5jdGlvbiBnKGUpe3JldHVybiJlcmFzZXIiPT09ZX1mdW5jdGlvbiB5KGUpe3JldHVybiJkZW1vbnN0cmF0aW9uIj09PWV9ZnVuY3Rpb24gZihlKXtyZXR1cm4ibWVhc3VyZSI9PT1lfWZ1bmN0aW9uIHYoZT0hMSl7aWYoIWUmJlMpe2lmKFMuY2hpbGRzKCkuc3RheUluRHJhd2luZ01vZGUudmFsdWUoKSlyZXR1cm59TC5zZXRWYWx1ZShSLnZhbHVlKCkpfWZ1bmN0aW9uIGIoZSl7cmV0dXJuISEoMCxwLmVuc3VyZURyYXdpbmdTZWxlY3RBbGxvd2VkKShlKSYmKEwuc2V0VmFsdWUoZSksITApfWxldCBTPW51bGwsdz1udWxsLFA9bnVsbCxUPW51bGwsQz1udWxsLEU9bnVsbDtjb25zdCBJPW5ldyBsLldhdGNoZWRPYmplY3QobnVsbCksTD1uZXcgYS5XYXRjaGVkVmFsdWUsTT1uZXcgYS5XYXRjaGVkVmFsdWUsRD1uZXcgYS5XYXRjaGVkVmFsdWUseD1uZXcgYS5XYXRjaGVkVmFsdWUsUj1uZXcgYS5XYXRjaGVkVmFsdWUsaz1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLFY9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSxBPW5ldyBhLldhdGNoZWRWYWx1ZSghMSksRj1uZXcgYS5XYXRjaGVkVmFsdWUoITEpLEI9bmV3IHUuRGVsZWdhdGUsTz1uZXcgdS5EZWxlZ2F0ZSxOPW5ldyB1LkRlbGVnYXRlLFc9bmV3IHUuRGVsZWdhdGUsVT1uZXcgdS5EZWxlZ2F0ZSx6PW5ldyB1LkRlbGVnYXRlLEg9bmV3IHUuRGVsZWdhdGUsaj1uZXcgdS5EZWxlZ2F0ZSwkPW5ldyB1LkRlbGVnYXRlLHE9bmV3IHUuRGVsZWdhdGUsSz1uZXcgdS5EZWxlZ2F0ZSxZPW5ldyB1LkRlbGVnYXRlLEc9bmV3IHUuRGVsZWdhdGUsSj1uZXcgdS5EZWxlZ2F0ZSxYPW5ldyB1LkRlbGVnYXRlLFE9bmV3IHUuRGVsZWdhdGUsWj1uZXcgYS5XYXRjaGVkVmFsdWUoaS5TZWxlY3RQb2ludE1vZGUuTm9uZSksZWU9bmV3IGEuV2F0Y2hlZFZhbHVlKCExKSx0ZT1uZXcgTWFwO2Z1bmN0aW9uIHNlKGUsdCl7Y29uc3Qgcz10fHx7dmFsdWU6ITF9O3JldHVybiB0PT57cy52YWx1ZXx8KHMudmFsdWU9ITAsZS5maXJlKHQpLHMudmFsdWU9ITEpfX1jb25zdCBpZT17dmFsdWU6ITF9LG5lPXNlKEIsaWUpLHJlPXNlKE8saWUpLG9lPXNlKE4saWUpLGFlPXNlKFcsaWUpLGxlPXNlKFUpLHVlPXNlKHopLGNlPXNlKEgpLGRlPXNlKGopLGhlPXNlKCQpLHBlPXNlKHEpLG1lPXNlKEspLF9lPXNlKFkpLGdlPXNlKEcsaWUpLHllPXNlKEosaWUpLGZlPXNlKFgpLHZlPXNlKFEpO2xldCBiZT0hMSxTZT1bXTtmdW5jdGlvbiB3ZSgpe2lmKGJlKXJldHVybjtjb25zdCBlPWMuZ2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLCJjdXJzb3IiKTtMLnNldFZhbHVlKF8oZSk/ZToiY3Vyc29yIiksTC5zdWJzY3JpYmUoKGU9PntfKGUpP1Iuc2V0VmFsdWUoZSk6ZyhlKSYmKDAsaC50cmFja0V2ZW50KSgiQ2hhcnQgY3Vyc29ycyIsZSl9KSx7Y2FsbFdpdGhMYXN0OiEwfSksUi5zdWJzY3JpYmUoKGU9PnsoMCxoLnRyYWNrRXZlbnQpKCJDaGFydCBjdXJzb3JzIixlKSxlJiYicGVyZm9ybWFuY2UiIT09ZSYmIXkoZSkmJmMuc2V0VmFsdWUoImNoYXJ0LmN1cnNvclByZWZlcmVuY2UiLGUpfSkpLFM9bmV3IG8uRGVmYXVsdFByb3BlcnR5KHtkZWZhdWx0TmFtZToiZHJhd2luZ3MifSksdz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksUD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksVD0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksQz0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghYy5nZXRCb29sKCJCYXJzTWFya3NDb250YWluZXIudmlzaWJpbGUiLCEwKSksRT0oMCxyLmNyZWF0ZVByaW1pdGl2ZVByb3BlcnR5KSghMSksTC5zdWJzY3JpYmUoKGU9PnsoMCxkLmVtaXQpKCJvblNlbGVjdGVkTGluZVRvb2xDaGFuZ2VkIil9KSksYmU9ITAsU2UuZm9yRWFjaCgoZT0+ZSgpKSksU2U9W119ZnVuY3Rpb24gUGUoZSl7YmU/ZSgpOlNlLnB1c2goZSl9ZnVuY3Rpb24gVGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFMpfWZ1bmN0aW9uIENlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKSh3KX1mdW5jdGlvbiBFZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoUCl9ZnVuY3Rpb24gSWUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKFQpfWZ1bmN0aW9uIExlKCl7cmV0dXJuKDAsbi5lbnN1cmVOb3ROdWxsKShDKX1mdW5jdGlvbiBNZSgpe3JldHVybigwLG4uZW5zdXJlTm90TnVsbCkoRSl9ZnVuY3Rpb24gRGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHN9ZnVuY3Rpb24geGUoKXtyZXR1cm4gVGUoKS5jaGlsZHMoKS5kcmF3T25BbGxDaGFydHNNb2RlfX0sOTQzOTUoZSx0LHMpeyJ1c2Ugc3RyaWN0Ijt2YXIgaSxuLHI7cy5kKHQse1RpdGxlRGlzcGxheVRhcmdldDooKT0+cn0pLGZ1bmN0aW9uKGUpe2VbZS5BZnRlck1haW5TZXJpZXM9MF09IkFmdGVyTWFpblNlcmllcyJ9KGl8fChpPXt9KSksZnVuY3Rpb24oZSl7ZVtlLklkbGU9MF09IklkbGUiLGVbZS5Qcm9jZXNzaW5nPTFdPSJQcm9jZXNzaW5nIixlW2UuQWN0aXZlPTJdPSJBY3RpdmUiLGVbZS5TdG9wcGVkPTNdPSJTdG9wcGVkIn0obnx8KG49e30pKSxmdW5jdGlvbihlKXtlW2UuRGF0YVdpbmRvdz0xXT0iRGF0YVdpbmRvdyIsZVtlLlN0YXR1c0xpbmU9Ml09IlN0YXR1c0xpbmUiLGVbZS5BbGVydHM9M109IkFsZXJ0cyJ9KHJ8fChyPXt9KSl9LDIxNDc1MChlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtDb2xsZWN0aWJsZUNvbG9yUHJvcGVydHlEaXJlY3RXcmFwcGVyOigpPT5hLENvbGxlY3RpYmxlQ29sb3JQcm9wZXJ0eVVuZG9XcmFwcGVyOigpPT5vfSk7dmFyIGk9cygxMzg2MzgpLG49cyg3NjgyOTIpCjtjbGFzcyByIGV4dGVuZHMgbi5Qcm9wZXJ0eXtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuX2xpc3RlbmVyc01hcHBlcnM9W10sdGhpcy5faXNQcm9jZXNzPSExLHRoaXMuX2Jhc2VQcm9wZXJ0eT1lfWRlc3Ryb3koKXt0aGlzLl9iYXNlUHJvcGVydHkuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX12YWx1ZSgpe2NvbnN0IGU9dGhpcy5fYmFzZVByb3BlcnR5LnZhbHVlKCk7cmV0dXJuIm1peGVkIj09PWU/IiI6ZX12aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2Jhc2VQcm9wZXJ0eS52aXNpYmxlKCl9c2V0VmFsdWUoZSl7dGhpcy5faXNQcm9jZXNzPSEwLHRoaXMuX2Jhc2VQcm9wZXJ0eS5zZXRWYWx1ZSgiIj09PWU/Im1peGVkIjplLHZvaWQgMCx7YXBwbHlWYWx1ZTp0aGlzLl9hcHBseVZhbHVlLmJpbmQodGhpcyl9KSx0aGlzLl9pc1Byb2Nlc3M9ITEsdGhpcy5fbGlzdGVuZXJzTWFwcGVycy5mb3JFYWNoKChlPT57ZS5tZXRob2QuY2FsbChlLm9iaix0aGlzLCIiKX0pKX1zdWJzY3JpYmUoZSx0KXtjb25zdCBzPXM9Pnt0aGlzLl9pc1Byb2Nlc3N8fHQuY2FsbChlLHRoaXMsIiIpfSxpPXtvYmo6ZSxtZXRob2Q6dCxjYWxsYmFjazpzfTt0aGlzLl9saXN0ZW5lcnNNYXBwZXJzLnB1c2goaSksdGhpcy5fYmFzZVByb3BlcnR5LnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlKGUsdCl7Y29uc3Qgcz0oMCxpLmVuc3VyZURlZmluZWQpKHRoaXMuX2xpc3RlbmVyc01hcHBlcnMuZmluZCgocz0+cy5vYmo9PT1lJiZzLm1ldGhvZD09PXQpKT8uY2FsbGJhY2spO3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZShlLHMpfXVuc3Vic2NyaWJlQWxsKGUpe3RoaXMuX2Jhc2VQcm9wZXJ0eS51bnN1YnNjcmliZUFsbChlKX19Y2xhc3MgbyBleHRlbmRzIHJ7Y29uc3RydWN0b3IoZSx0LHMpe3N1cGVyKGUpLHRoaXMuX3Byb3BlcnR5QXBwbGllcj10LHRoaXMuX3VuZG9UZXh0PXN9X2FwcGx5VmFsdWUoZSx0KXt0aGlzLl9wcm9wZXJ0eUFwcGxpZXIuc2V0UHJvcGVydHkoZSx0LHRoaXMuX3VuZG9UZXh0KX19Y2xhc3MgYSBleHRlbmRzIHJ7X2FwcGx5VmFsdWUoZSx0KXtlLnNldFZhbHVlKHQpfX19LDg4MTkyKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse2lzTGluZVRvb2w6KCk9PnIsaXNTdHVkeUxpbmVUb29sOigpPT5vfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg4NjA0NDIpO2Z1bmN0aW9uIHIoZSl7cmV0dXJuKDAsaS5pc09iamVjdCkoZSkmJiJpc0xpbmVUb29sImluIGUmJmUuaXNMaW5lVG9vbH1mdW5jdGlvbiBvKGUpe3JldHVybiByKGUpJiYoMCxuLmlzU3R1ZHlMaW5lVG9vbE5hbWUpKGUudG9vbG5hbWUpfX0sNzA3OTYzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse0xpbmVUb29sQ29sbGVjdGVkUHJvcGVydHk6KCk9PnUsTGluZVRvb2xDb2xvcnNQcm9wZXJ0eTooKT0+ZCxMaW5lVG9vbFdpZHRoc1Byb3BlcnR5OigpPT5jLE11bHRpcGxlTGluZUNvbG9yc1Byb3BlcnR5OigpPT5tLE11bHRpcGxlTGluZVdpZHRoc1Byb3BlcnR5OigpPT5wfSk7dmFyIGk9cygyMjEwNjEpLG49cygxMzEyOTQpLHI9cyg2MzY5MTIpO2NvbnN0IG89KDAsaS5nZXRMb2dnZXIpKCJDaGFydC5MaW5lVG9vbENvbGxlY3RlZFByb3BlcnR5Iik7Y2xhc3MgYXthcHBseVZhbHVlKGUsdCl7ZS5zZXRWYWx1ZSh0KX19Y2xhc3MgbCBleHRlbmRzIHIuUHJvcGVydHlCYXNle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9wcm9wZXJ0aWVzPWUsZS5mb3JFYWNoKCgoZSx0KT0+ZS5zdWJzY3JpYmUodGhpcywoKGUscyk9Pnt0aGlzLl9saXN0ZW5lcnMuZmlyZSh0aGlzLGAke3R9LiR7c31gKX0pKSkpLHRoaXMuX3Nob3dJZlByb3BlcnR5PXR9dmlzaWJsZSgpe3JldHVybiF0aGlzLl9zaG93SWZQcm9wZXJ0eXx8dGhpcy5fc2hvd0lmUHJvcGVydHk/LnZhbHVlKCl9dmFsdWUoKXtpZigwPT09dGhpcy5fcHJvcGVydGllcy5sZW5ndGgpcmV0dXJuIG8ubG9nRXJyb3IoIkluY29ycmVjdCBjYWxsLCBzaG91bGQgbm90IHJlcXVlc3QgdmFsdWUgb2YgMCBwcm9wZXJ0aWVzIiksIm1peGVkIjtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXNbMF0udmFsdWUoKTtyZXR1cm4gMT09PXRoaXMuX3Byb3BlcnRpZXMubGVuZ3RofHx0aGlzLl9wcm9wZXJ0aWVzLmV2ZXJ5KCh0PT50LnZhbHVlKCk9PT1lKSk/ZToibWl4ZWQifXNldFZhbHVlU2lsZW50bHkoZSl7Im1peGVkIiE9PWUmJnRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgodD0+dC5zZXRWYWx1ZVNpbGVudGx5KGUpKSl9aGFzQ2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGh9Y2hpbGRDb3VudCgpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzLmxlbmd0aH1jaGlsZE5hbWVzKCl7cmV0dXJuIHRoaXMuX3Byb3BlcnRpZXMubWFwKCgoZSx0KT0+dC50b1N0cmluZygpKSl9Y2hpbGQoZSl7Y29uc3QgdD1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4odCkmJnQ+PTAmJnQ8dGhpcy5fcHJvcGVydGllcy5sZW5ndGg/dGhpcy5fcHJvcGVydGllc1t0XTp2b2lkIDB9ZGVzdHJveSgpe3RoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgoZT0+ZS51bnN1YnNjcmliZUFsbCh0aGlzKSkpLHRoaXMuX2xpc3RlbmVycy5kZXN0cm95KCl9c3RvcmVTdGF0ZUlmVW5kZWZpbmVkKCl7cmV0dXJuITB9d2Vha1JlZmVyZW5jZSgpe3JldHVybigwLG4ud2Vha1JlZmVyZW5jZSkodGhpcyl9b3duZXJzaGlwKCl7cmV0dXJuKDAsbi5vd25lcnNoaXApKHRoaXMpfX1jbGFzcyB1IGV4dGVuZHMgbHtzZXRWYWx1ZShlLHQscyl7aWYoIm1peGVkIj09PWUpcmV0dXJuO2NvbnN0IGk9cz8/bmV3IGE7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT5pLmFwcGx5VmFsdWUodCxlKSkpfX1jbGFzcyBjIGV4dGVuZHMgdXt9Y2xhc3MgZCBleHRlbmRzIHV7Zmlyc3RDb2xvcigpe3JldHVybiB0aGlzLl9wcm9wZXJ0aWVzWzBdLnZhbHVlKCl9fWNsYXNzIGggZXh0ZW5kcyBse3NldFZhbHVlKGUsdCxzKXtpZigibWl4ZWQiPT09ZSlyZXR1cm47Y29uc3QgaT1zPz9uZXcgYQo7dGhpcy5fcHJvcGVydGllcy5mb3JFYWNoKCh0PT50LnNldFZhbHVlKGUsdm9pZCAwLGkpKSl9fWNsYXNzIHAgZXh0ZW5kcyBoe31jbGFzcyBtIGV4dGVuZHMgaHt9fSw1MjkxNjUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7bGluZVRvb2xzU3R1ZHlJZHM6KCk9Pml9KTtjb25zdCBpPXtMaW5lVG9vbEFuY2hvcmVkVldBUDoiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xSZWdyZXNzaW9uVHJlbmQ6IlJlZ3Jlc3Npb25UcmVuZEB0di1iYXNpY3N0dWRpZXMiLExpbmVUb29sRml4ZWRSYW5nZVZvbHVtZVByb2ZpbGU6IlZiUEZpeGVkQHR2LWJhc2ljc3R1ZGllcyIsTGluZVRvb2xWYlBGaXhlZDoiVmJQRml4ZWRAdHYtdm9sdW1lYnlwcmljZSJ9O3tjb25zdCBlPXtMaW5lVG9vbEFuY2hvcmVkVm9sdW1lUHJvZmlsZToiVmJQQW5jaG9yZWRAdHYtYmFzaWNzdHVkaWVzIn07Zm9yKGNvbnN0W3Qsc11vZiBPYmplY3QuZW50cmllcyhlKSlpW3RdPXN9fSwzNjgxMTAoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7Y2xvbmVMaW5lVG9vbDooKT0+TyxjcmVhdGVMaW5lVG9vbDooKT0+TCxjcmVhdGVMaW5lVG9vbFByb3BlcnRpZXM6KCk9PkQsY3JlYXRlU3R1ZHlMaW5lVG9vbFByb3BlcnRpZXM6KCk9PngsZW5zdXJlQWxsTGluZVRvb2xzTG9hZGVkRm9yTGF5b3V0OigpPT5FLGluaXRBbGxMaW5lVG9vbHNGcm9tQ29udGVudDooKT0+SSxpbml0TGluZVRvb2w6KCk9PncsaXNCcnVzaEJhc2VkTGluZVRvb2w6KCk9PmssaXNFZGl0YWJsZVRleHRMaW5lVG9vbDooKT0+Rixpc0xpbmVUb29sOigpPT5mLmlzTGluZVRvb2wsaXNUcmFkaW5nOigpPT5WLHByZXBhcmVMaW5lVG9vbFByb3BlcnRpZXNCeU93bmVyU291cmNlOigpPT5NLHNldE5ld1Rvb2xQcm9wZXJ0aWVzOigpPT5iLHN1cHBvcnRzUGhhbnRvbU1vZGU6KCk9PlIsdHJ5RmluZFN0dWR5TGluZVRvb2xOYW1lQnlTdHVkeUlkOigpPT5CLHVuc2V0TmV3VG9vbFByb3BlcnRpZXM6KCk9PlN9KTt2YXIgaT1zKDg4MDExNSksbj1zKDEzODYzOCkscj1zKDczNjUzMSksbz1zKDIyMTA2MSksYT1zKDQ3NzMpLGw9cyg2OTE3OTUpLHU9cyg2Nzc5NTgpLGM9cygxMjg5OTgpLGQ9cyg4NjA0NDIpLGg9cyg1MjkxNjUpLHA9cyg0NTY4NjIpLG09cyg4NTYxOTYpLF89cygzNTUxMjMpLGc9cygzMjk2NjYpLHk9cyg2MDU4NzcpLGY9cyg4ODE5Mik7bGV0IHY9bnVsbDtmdW5jdGlvbiBiKGUsdCxzKXtyZXR1cm4gbnVsbCE9PXYmJnYudG9vbD09PWUmJnYudG9vbERhdGE9PT10fHwoUyghMCksdj17cHJvcGVydGllczpEKHMuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSxlLCFzLnJlYWRPbmx5KCkpLHRvb2w6ZSx0b29sRGF0YTp0fSksdi5wcm9wZXJ0aWVzfWZ1bmN0aW9uIFMoZSl7ZSYmdj8ucHJvcGVydGllcy5kZXN0cm95KCksdj1udWxsfWFzeW5jIGZ1bmN0aW9uIHcoZSl7YXdhaXQoMCxnLmxvYWRNZXRhSW5mb0ZvckxpbmV0b29sSWZSZXF1aXJlZCkoZSk7Y29uc3QgdD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTsoMCxnLmlzTGluZVRvb2xMb2FkZWQpKHQpfHwoMCxkLmlzTGluZVRvb2xOYW1lKSh0KSYmYXdhaXQoMCxnLmxvYWRMaW5lVG9vbCkodCl9ZnVuY3Rpb24gUChlLHQpe2NvbnN0IHM9ImNoYXJ0cyJpbiBlP2UuY2hhcnRzOltlXTtmb3IoY29uc3QgZSBvZiBzKXtmb3IoY29uc3QgcyBvZiBlLnBhbmVzKWZvcihjb25zdCBlIG9mIHMuc291cmNlcyl0KCgwLHkuZ2V0TGluZVRvb2xUeXBlRnJvbVN0YXRlKShlKSk7ZS5saW5lVG9vbHNHcm91cHM/Lmdyb3Vwcy5mb3JFYWNoKChlPT57ZS50b29scy5mb3JFYWNoKChlPT50KGUpKSl9KSl9fWNsYXNzIFQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBGYWlsZWQgdG8gbG9hZCBsaW5lIHRvb2w6ICR7ZX1gKSx0aGlzLm5hbWU9IkxpbmVUb29sTG9hZEVycm9yIix0aGlzLnRvb2xOYW1lPWUsdGhpcy5vcmlnaW5hbEVycm9yPXR9fWNvbnN0IEM9KDAsby5nZXRMb2dnZXIpKCJMaW5lVG9vbHNTeW5jaHJvbml6ZXIiKTthc3luYyBmdW5jdGlvbiBFKGUpe2NvbnN0IHQ9bmV3IFNldCxzPWU9PnsoMCxnLmlzQXN5bmNHZW5lcmljTGluZVRvb2xOYW1lKShlKSYmdC5hZGQoZSl9O2Zvcihjb25zdCB0IG9mIGUpUCh0LHMpO2NvbnN0IGk9Wy4uLnRdLG49KGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChpLm1hcCgoZT0+KDAsZy5lbnN1cmVMaW5lVG9vbExvYWRlZCkoZSkuY2F0Y2goKHQ9Pnt0aHJvdyBuZXcgVChlLHQpfSkpKSkpKS5maWx0ZXIoKGU9PiJyZWplY3RlZCI9PT1lLnN0YXR1cykpO24ubGVuZ3RoPjAmJm4uZm9yRWFjaCgoZT0+e2NvbnN0IHQ9ZS5yZWFzb247Qy5sb2dFcnJvcihgRmFpbGVkIHRvIGxvYWQgbGluZSB0b29sOiAke3QudG9vbE5hbWV9YCl9KSl9YXN5bmMgZnVuY3Rpb24gSShlKXtpZighZSlyZXR1cm47Y29uc3QgdD1uZXcgU2V0O1AoZSwoZT0+eygwLGQuaXNMaW5lVG9vbE5hbWUpKGUpJiZ0LmFkZChlKX0pKSxhd2FpdCBQcm9taXNlLmFsbChBcnJheS5mcm9tKHQpLm1hcCgoZT0+dyhlKSkpKX1mdW5jdGlvbiBMKGUsdCxzLGkscixvLGEpeygwLG4uYXNzZXJ0KSgoMCxkLmlzTGluZVRvb2xOYW1lKShlKSwiVW5rbm93biBsaW5lIHRvb2w6ICIrZSk7Y29uc3QgbD0oMCxnLmFzTGluZVRvb2xOYW1lKShlKTtsZXQgdTtpZigoMCxuLmFzc2VydCkoKDAsZy5pc0xpbmVUb29sTG9hZGVkKShsKSxgTGluZSB0b29sICR7bH0gaXMgbm90IGxvYWRlZGApLHJ8fHN8fG51bGw9PT12fHx2LnRvb2whPT1lfHwocz12LnByb3BlcnRpZXMsUyghMSkpLCgwLGcuaXNBc3luY1N0dWR5TGluZVRvb2xOYW1lKShsKSl7dT1uZXcoKDAsZy5nZXRMb2FkZWRMaW5lVG9vbCkobCkpKHQscywoMCxuLmVuc3VyZURlZmluZWQpKGkpLHIsbyl9ZWxzZXt1PW5ldygoMCxnLmdldExvYWRlZExpbmVUb29sKShsKSkodCxzLHIsbyl9cmV0dXJuIHUudG9vbG5hbWU9ZSxTKCEwKSx2b2lkIDAhPT1hJiYoMCxtLnNob3VsZEFmZmVjdFVzZXIpKCJEcmF3aW5nQ3JlYXRpb25zIixfLnNwYXJzZVVzZXJzVHJhY2tpbmdDb2VmZmljaWVudCkmJigwLApwLnRyYWNrQ2hhcnREcmF3aW5nQ3JlYXRpb24pKGUsYSksdX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHQuc3ltYm9sU291cmNlKCkpLGk9cy5zeW1ib2xJbmZvKCkscj10LmN1cnJlbmN5T3JpZ2luU291cmNlKCkudmFsdWUoKSxvPXQudW5pdE9yaWdpblNvdXJjZSgpLnZhbHVlKCksYT1pPygwLGMuZXh0cmFjdExpbmVUb29sU3ltYm9sRnJvbVN5bWJvbEluZm8pKGkscy5zeW1ib2woKSk6cy5zeW1ib2woKTtlLmNoaWxkcygpLnN5bWJvbC5zZXRWYWx1ZShhKSxzLm1vZGVsKCkuY3VycmVuY3lDb252ZXJzaW9uRW5hYmxlZCgpJiZyLmlzQ29udmVydGVkVG9PdGhlckN1cnJlbmN5KCkmJmUuY2hpbGRzKCkuY3VycmVuY3lJZC5zZXRWYWx1ZShyLmN1cnJlbmN5KCkpLHMubW9kZWwoKS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSYmby5pc0NvbnZlcnRlZFRvT3RoZXJVbml0KCkmJmUuY2hpbGRzKCkudW5pdElkLnNldFZhbHVlKG8udW5pdCgpKSxzLm1vZGVsKCkubWV0cmljQ29udmVyc2lvbkVuYWJsZWQoKSYmZS5jaGlsZHMoKS5tZXRyaWNJZC5zZXRWYWx1ZShzLm1vZGVsKCkubWFpblNlcmllcygpLm1ldHJpYygpPz8icHJpY2UiKSxlLmNoaWxkcygpLnN5bWJvbFN0YXRlVmVyc2lvbi5zZXRWYWx1ZSgyKSxlLmNoaWxkcygpLnpPcmRlclZlcnNpb24uc2V0VmFsdWUoMil9ZnVuY3Rpb24gRChlLHQscyxpKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkodCksYCR7dH0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHI9KDAsZy5hc0xpbmVUb29sTmFtZSkodCk7aWYoKDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkociksYExpbmUgdG9vbCAke3J9IGlzIG5vdCBsb2FkZWRgKSwoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkocikpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHIpLmNyZWF0ZVByb3BlcnRpZXMoZSxpKX1yZXR1cm4oMCxnLmdldExvYWRlZExpbmVUb29sKShyKS5jcmVhdGVQcm9wZXJ0aWVzKGUsaSxzKX1mdW5jdGlvbiB4KGUsdCxzLGkscixvKXsoMCxuLmFzc2VydCkoKDAsZC5pc1N0dWR5TGluZVRvb2xOYW1lKSh0KSxgJHt0fSBzaG91bGQgYmUgbmFtZSBvZiB0aGUgc3R1ZHkgbGluZSB0b29sYCk7Y29uc3QgYT0oMCxnLmFzTGluZVRvb2xOYW1lKSh0KTtpZigoMCxnLmlzQXN5bmNTdHVkeUxpbmVUb29sTmFtZSkoYSkpe3JldHVybigwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKGEpLmNyZWF0ZVByb3BlcnRpZXNGcm9tU3R1ZHlNZXRhSW5mb0FuZFN0YXRlKHMsaSxyLG8sZSl9dGhyb3cgbmV3IEVycm9yKGBQcm9wZXJ0eSBjcmVhdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIHN0dWR5IGxpbmUgdG9vbCAke3R9YCl9ZnVuY3Rpb24gUihlKXsoMCxuLmFzc2VydCkoKDAsZC5pc0xpbmVUb29sTmFtZSkoZSksYCR7ZX0gc2hvdWxkIGJlIG5hbWUgb2YgdGhlIGxpbmUgdG9vbGApO2NvbnN0IHQ9KDAsZy5hc0xpbmVUb29sTmFtZSkoZSk7KDAsbi5hc3NlcnQpKCgwLGcuaXNMaW5lVG9vbExvYWRlZCkodCksYExpbmUgdG9vbCAke3R9IGlzIG5vdCBsb2FkZWRgKTtjb25zdCBzPSgwLGcuZ2V0TG9hZGVkTGluZVRvb2wpKHQpO3JldHVybiB2b2lkIDAhPT1zJiZCb29sZWFuKHMuc3VwcG9ydFBoYW50b21Nb2RlKX1mdW5jdGlvbiBrKGUpe3JldHVybiBlIGluc3RhbmNlb2YgbC5MaW5lRGF0YVNvdXJjZSYmKDAsZC5pc0xpbmVEcmF3bldpdGhQcmVzc2VkQnV0dG9uKShlLnRvb2xuYW1lKX1mdW5jdGlvbiBWKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdS5MaW5lVG9vbFRyYWRpbmd9Y29uc3QgQT1bImVkaXRhYmxlVGV4dFN0eWxlIiwiZWRpdGFibGVUZXh0IiwiZWRpdGFibGVUZXh0UHJvcGVydGllcyJdO2Z1bmN0aW9uIEYoZSl7cmV0dXJuKDAsaS5kZWZhdWx0KShlKSYmQS5ldmVyeSgodD0+dCBpbiBlKSl9ZnVuY3Rpb24gQihlKXtsZXQgdD1udWxsO3JldHVybiBlPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZD90PSJMaW5lVG9vbFJlZ3Jlc3Npb25UcmVuZCI6ZT09PWgubGluZVRvb2xzU3R1ZHlJZHMuTGluZVRvb2xWYlBGaXhlZD90PSJMaW5lVG9vbFZiUEZpeGVkIjplPT09aC5saW5lVG9vbHNTdHVkeUlkcy5MaW5lVG9vbEZpeGVkUmFuZ2VWb2x1bWVQcm9maWxlJiYodD0iTGluZVRvb2xGaXhlZFJhbmdlVm9sdW1lUHJvZmlsZSIpLHR9ZnVuY3Rpb24gTyhlLHQscyxpLG8pe2NvbnN0IGw9dC50b29sbmFtZSx1PXQucHJvcGVydGllcygpLnN0YXRlKCk7dS5pbnRlcnZhbHNWaXNpYmlsaXRpZXM9KDAsYS5tZXJnZUludGVydmFsVmlzaWJpbGl0aWVzRGVmYXVsdHMpKHU/LmludGVydmFsc1Zpc2liaWxpdGllcyk7Y29uc3QgYz1EKGUuYmFja2dyb3VuZFRoZW1lKCkuc3Bhd25Pd25lcnNoaXAoKSx0LnRvb2xuYW1lLCFlLnJlYWRPbmx5KCksdSk7Yy5jaGlsZHMoKS52aXNpYmxlLnNldFZhbHVlKCEwKTtjb25zdCBkPSgwLG4uZW5zdXJlTm90TnVsbCkodC5vd25lclNvdXJjZSgpKSxoPUwobCxlLGMsbnVsbCx2b2lkIDAsdm9pZCAwLG8pO3ZvaWQgMCE9PWkmJmguc2V0SWQoaSksaC5zdXBwb3J0c1RhcmdldFNpZ25hdHVyZSgpJiZudWxsIT09ZC5zaWduYXR1cmUoKS52YWx1ZSgpP2guc2V0VGFyZ2V0U2lnbmF0dXJlKGQuc2lnbmF0dXJlKCkudmFsdWUoKSk6aC5zZXRPd25lclNvdXJjZShkKSxoLnRvb2xuYW1lPWw7Y29uc3QgcD1oLmNsb25lUG9zaXRpb25PZmZzZXQoKTtpZih0LmlzRml4ZWQoKSl7Y29uc3QgZT0oMCxuLmVuc3VyZURlZmluZWQpKHQuZml4ZWRQb2ludCgpKSxpPXM/ZS5hZGQobmV3IHIuUG9pbnQocC54Q29vcmRPZmZzZXQscC55Q29vcmRPZmZzZXQpKTplO2guYWRkRml4ZWRQb2ludChpKX1jb25zdCBtPXQubm9ybWFsaXplZFBvaW50cygpLF89cz9mdW5jdGlvbihlLHQscyl7Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHQucHJpY2VTY2FsZSgpKSxyPSgwLG4uZW5zdXJlTm90TnVsbCkodC5maXJzdFZhbHVlKCkpO3JldHVybiBlLm1hcCgoZT0+ewpjb25zdCB0PWUucHJpY2Usbj1pLnByaWNlVG9Db29yZGluYXRlKHQscikrcy55Q29vcmRPZmZzZXQsbz1pLmNvb3JkaW5hdGVUb1ByaWNlKG4sciksYT1lLmludGVydmFsO3JldHVybnt0aW1lX3Q6ZS50aW1lX3QscHJpY2U6byxvZmZzZXQ6ZS5vZmZzZXQrcy5iYXJPZmZzZXQsaW50ZXJ2YWw6YX19KSl9KG0sZCxwKTptLGc9dC5wb2ludHMoKTtyZXR1cm4gaC5yZXN0b3JlUG9pbnRzKF8sZyksaC5jbG9uZURhdGEmJmguY2xvbmVEYXRhKHQpLGgucmVjYWxjdWxhdGVTdGF0ZUJ5RGF0YSYmaC5yZWNhbGN1bGF0ZVN0YXRlQnlEYXRhKCksaH19LDgyODg1NyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHttYWduZXRFbmFibGVkOigpPT5nLG1hZ25ldE1vZGU6KCk9PnksbWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PmYsc2V0SXNNYWduZXRFbmFibGVkOigpPT52LHNldE1hZ25ldE1vZGU6KCk9PmIsc2V0TWFnbmV0U25hcHNUb0luZGljYXRvcnM6KCk9PlN9KTt2YXIgaT1zKDIzMjM2NCksbj1zKDk3NDY2Mykscj1zKDQ5MjM4MSksbz1zKDY3ODI4NSksYT1zKDg2MDQ0MiksbD1zKDQ2NDgzNSk7Y29uc3QgdT1uZXcgaS5XYXRjaGVkVmFsdWUoITEpLGM9bmV3IGkuV2F0Y2hlZFZhbHVlKHIuTWFnbmV0TW9kZS5XZWFrTWFnbmV0KSxkPW5ldyBpLldhdGNoZWRWYWx1ZSghMSksaD0oMCxsLm1vZGlmaWVyUHJlc3NlZCkoKSxwPSgwLGwuc2hpZnRQcmVzc2VkKSgpO2Z1bmN0aW9uIG0oKXtjb25zdCBlPWgudmFsdWUoKTtpZihwLnZhbHVlKCkmJihvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8by5pc1Rvb2xDcmVhdGluZ05vdy52YWx1ZSgpKSlyZXR1cm4gdm9pZCB1LnNldFZhbHVlKCExKTtsZXQgdCxzO2lmKG8uYWN0aXZlUG9pbnRTZWxlY3Rpb25Nb2RlLnZhbHVlKCk9PT1vLlNlbGVjdFBvaW50TW9kZS5SZXBsYXkpdD1zPSExO2Vsc2V7Y29uc3QgaT1vLnRvb2wudmFsdWUoKSxuPW8uaXNTdHVkeUVkaXRpbmdOb3cudmFsdWUoKXx8by5hY3RpdmVQb2ludFNlbGVjdGlvbk1vZGUudmFsdWUoKT09PW8uU2VsZWN0UG9pbnRNb2RlLlN0dWR5O3Q9ZSYmKCgwLGEuaXNMaW5lVG9vbE5hbWUpKGkpfHxvLmlzVG9vbEVkaXRpbmdOb3cudmFsdWUoKXx8KDAsby50b29sSXNNZWFzdXJlKShpKXx8bikscz0oMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnZhbHVlKCl9Yy5zZXRWYWx1ZSghcyYmdD9yLk1hZ25ldE1vZGUuU3Ryb25nTWFnbmV0OigwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnZhbHVlKCkpLHUuc2V0VmFsdWUodD8hczpzKX1mdW5jdGlvbiBfKCl7ZC5zZXRWYWx1ZSgoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMudmFsdWUoKSl9ZnVuY3Rpb24gZygpe3JldHVybiB1fWZ1bmN0aW9uIHkoKXtyZXR1cm4gY31mdW5jdGlvbiBmKCl7cmV0dXJuIGR9ZnVuY3Rpb24gdihlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnNldFZhbHVlKGUpLCgwLG4uYWxsb3dTYXZpbmdEZWZhdWx0cykoITEpfWZ1bmN0aW9uIGIoZSl7KDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMCksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldE1vZGUuc2V0VmFsdWUoZSksKDAsby5wcm9wZXJ0aWVzKSgpLmNoaWxkcygpLm1hZ25ldC5zZXRWYWx1ZSghMCksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9ZnVuY3Rpb24gUyhlKXsoMCxuLmFsbG93U2F2aW5nRGVmYXVsdHMpKCEwKSwoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0U25hcHNUb0luZGljYXRvcnMuc2V0VmFsdWUoZSksKDAsbi5hbGxvd1NhdmluZ0RlZmF1bHRzKSghMSl9KDAsby5ydW5PbkRyYXdpbmdTdGF0ZVJlYWR5KSgoKCk9PnsoMCxvLnByb3BlcnRpZXMpKCkuY2hpbGRzKCkubWFnbmV0LnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRNb2RlLnN1YnNjcmliZShudWxsLG0pLCgwLG8ucHJvcGVydGllcykoKS5jaGlsZHMoKS5tYWduZXRTbmFwc1RvSW5kaWNhdG9ycy5zdWJzY3JpYmUobnVsbCxfKSxoLnN1YnNjcmliZShtKSxwLnN1YnNjcmliZShtKSxvLnRvb2wuc3Vic2NyaWJlKG0pLG8uaXNUb29sRWRpdGluZ05vdy5zdWJzY3JpYmUobSksbSgpLF8oKX0pKX0sNjk5NTUwKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1F1b3Rlc1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygyMzIzNjQpLG49cyg0MDIwNDUpLHI9cygxNTk1MTMpLG89cyg5NDgzODApLGE9cygxNTAxNTApO2NsYXNzIGx7Y29uc3RydWN0b3IoZT0iZnVsbCIsdCl7dGhpcy5fcXVvdGVzPW5ldyBuLldhdGNoZWRPYmplY3QobnVsbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVTZXNzaW9uQ2xpZW50SWQ9IiIsdGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzVXBkYXRlPW5ldyBvLkRlbGVnYXRlLHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZD1uZXcgby5EZWxlZ2F0ZSx0aGlzLl9jb21wbGV0ZWQ9bmV3IGkuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9tdWx0aXBsZXhlclR5cGU9ZSx0aGlzLl9oaWJlcm5hdGVkPXQsdGhpcy5faGliZXJuYXRlZD8uc3Vic2NyaWJlKChlPT57ZT90aGlzLnBhdXNlKCk6dGhpcy5yZXN1bWUoKX0pKX1zZXRRdW90ZXNTZXNzaW9uU3ltYm9sKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCE9PWUmJih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2w9bnVsbCx0aGlzLl9xdW90ZVNlc3Npb25DbGllbnRJZHx8KHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkPSJzZXJpZXMtIisoMCxhLmd1aWQpKCkpLHRoaXMuX3Vuc3Vic2NyaWJlUXVvdGVTZXNzaW9uKCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPWUsdGhpcy5fcXVvdGVTeW1ib2xDaGFuZ2VkLmZpcmUoKSxlJiZ0aGlzLl9zdWJzY3JpYmVRdW90ZVNlc3Npb24oZSkpfXN5bWJvbCgpe3JldHVybiB0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2x9cXVvdGVzVXBkYXRlKCl7cmV0dXJuIHRoaXMuX3F1b3Rlc1VwZGF0ZX0KcXVvdGVTeW1ib2xDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3F1b3RlU3ltYm9sQ2hhbmdlZH1xdW90ZXMoKXtyZXR1cm4gdGhpcy5fcXVvdGVzLnJlYWRvbmx5KCl9Y29tcGxldGVkKCl7cmV0dXJuIHRoaXMuX2NvbXBsZXRlZC5yZWFkb25seSgpfWFzeW5jIHF1b3Rlc1NuYXBzaG90KGUpe3JldHVybigwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKS5zbmFwc2hvdChlKX1pc1BhdXNlZCgpe3JldHVybiBudWxsIT09dGhpcy5fcGF1c2VkUXVvdGVTZXNzaW9uU3ltYm9sfXBhdXNlKCl7bnVsbD09PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD10aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wsdGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSl9cmVzdW1lKCl7bnVsbCE9PXRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbCYmKHRoaXMuX3N1YnNjcmliZVF1b3RlU2Vzc2lvbih0aGlzLl9wYXVzZWRRdW90ZVNlc3Npb25TeW1ib2wpLHRoaXMuX3BhdXNlZFF1b3RlU2Vzc2lvblN5bWJvbD1udWxsKX1kZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKSx0aGlzLl9oaWJlcm5hdGVkPy5yZWxlYXNlKCl9X29uVXBkYXRlKGUsdCl7dGhpcy5fcXVvdGVzLnNldFZhbHVlKGU/LnZhbHVlcz8/bnVsbCksdCYmdC52YWx1ZXMmJnRoaXMuX3F1b3Rlc1VwZGF0ZS5maXJlKGUsdCksdm9pZCAwIT09ZS5jb21wbGV0ZSYmdGhpcy5fY29tcGxldGVkLnNldFZhbHVlKCEwKX1fc3Vic2NyaWJlUXVvdGVTZXNzaW9uKGUpe3RoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbD1lLCgwLHIuZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKHRoaXMuX211bHRpcGxleGVyVHlwZSkuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCx0aGlzLl9vblVwZGF0ZS5iaW5kKHRoaXMpKX1fdW5zdWJzY3JpYmVRdW90ZVNlc3Npb24oKXt0aGlzLl9xdW90ZVNlc3Npb25TeW1ib2wmJigoMCxyLmdldFF1b3RlU2Vzc2lvbkluc3RhbmNlKSh0aGlzLl9tdWx0aXBsZXhlclR5cGUpLnVuc3Vic2NyaWJlKHRoaXMuX3F1b3RlU2Vzc2lvbkNsaWVudElkLHRoaXMuX3F1b3RlU2Vzc2lvblN5bWJvbCksdGhpcy5fcXVvdGVTZXNzaW9uU3ltYm9sPW51bGwsdGhpcy5fcXVvdGVzLnNldFZhbHVlKG51bGwpLHRoaXMuX2NvbXBsZXRlZC5zZXRWYWx1ZSghMSkpfX19LDQ2NTEzNyhlLHQscyl7InVzZSBzdHJpY3QiO3MuZCh0LHtjb21wYXJlUmVzb2x1dGlvbnM6KCk9Pm0uY29tcGFyZVJlc29sdXRpb25zLGNvbnZlcnRSZXNvbHV0aW9uc0Zyb21TZXR0aW5nczooKT0+SSxmb3JtYXREaXJlY3Rpb25hbFJlc29sdXRpb246KCk9PkIsZ2V0QXBwbGljYWJsZUludGVydmFsRm9yRnJlcXVlbmN5OigpPT5tLmdldEFwcGxpY2FibGVJbnRlcnZhbEZvckZyZXF1ZW5jeSxnZXREZWZhdWx0UmVzb2x1dGlvbjooKT0+dyxnZXRNYXhSZXNvbHV0aW9uVmFsdWU6KCk9PkUsZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZTooKT0+UCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbjooKT0+RCxnZXRUcmFuc2xhdGVkUmVzb2x1dGlvbk1vZGVsOigpPT54LGludGVydmFsSXNTdXBwb3J0ZWQ6KCk9PkYsaXNBdmFpbGFibGU6KCk9PmIsaXNJbnRlcnZhbEVuYWJsZWQ6KCk9PkEsaXNSZXNvbHV0aW9uTXVsdGlwbGllclZhbGlkOigpPT5ULGlzU2Vjb25kc0VuYWJsZWQ6KCk9PmssbWVyZ2VSZXNvbHV0aW9uczooKT0+TCxub3JtYWxpemVJbnRlcnZhbFN0cmluZzooKT0+dixzZXRMYXN0VXNlZFJlc29sdXRpb246KCk9PlMsc29ydFJlc29sdXRpb25zOigpPT5NfSk7dmFyIGk9cyg2MDE4NDEpLG49cyg5MzAyMzEpLHI9cygxODUyNzEpLG89cygyNTQ2NzMpLGE9cygxMjg5OTgpLGw9cyg5MzA1NjYpLHU9cyg1NjkzOTgpLGM9cygyMjUyOTgpLGQ9cygxNzY4NTEpLGg9cyg5NjkxNjgpLHA9cyg2MTk5OTIpLG09cyg3MDg1OSk7Y29uc3QgXz1bMSw1LDEwLDE1LDMwLDQ1XSxnPVsxLDEwLDEwMCwxZTNdLHk9KDAsdS5pc0ZlYXR1cmVFbmFibGVkKSgiY3VzdG9tX3RpY2tzIik7dmFyIGY7ZnVuY3Rpb24gdihlKXtyZXR1cm4gby5JbnRlcnZhbC5wYXJzZShlKS52YWx1ZSgpfWZ1bmN0aW9uIGIoZSl7Y29uc3QgdD1vLkludGVydmFsLnBhcnNlKGUpO2lmKHQuaXNSYW5nZSgpKXJldHVybiBjLmxpbmtpbmcucmFuZ2UudmFsdWUoKTtpZighKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmdC5pc1RpY2tzKCkpcmV0dXJuITE7Y29uc3Qgcz10LnZhbHVlKCksaT1jLmxpbmtpbmcuZGF0YUZyZXF1ZW5jeVJlc29sdXRpb24udmFsdWUoKTtpZih2b2lkIDAhPT1pJiYoMCxtLmNvbXBhcmVSZXNvbHV0aW9ucykocyxpKTwwKXJldHVybiExO2NvbnN0IG49Yy5saW5raW5nLnN1cHBvcnRlZFJlc29sdXRpb25zLnZhbHVlKCk7cmV0dXJuIHZvaWQgMCE9PW4/dm9pZCAwIT09bi5maW5kKChlPT52KGUpPT09cykpOnQuaXNUaWNrcygpP0Jvb2xlYW4oYy5saW5raW5nLnRpY2tzLnZhbHVlKCkpOnQuaXNJbnRyYWRheSgpP0Jvb2xlYW4oYy5saW5raW5nLmludHJhZGF5LnZhbHVlKCkpOnQuaXNEV00oKX1mdW5jdGlvbiBTKGUpe28uSW50ZXJ2YWwuaXNWYWxpZChlKSYmKG8uSW50ZXJ2YWwuaXNSYW5nZShlKT9sLnNldFZhbHVlKCJjaGFydC5sYXN0VXNlZFJhbmdlUmVzb2x1dGlvbiIsZSk6bC5zZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIixlKSl9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZT8iMTAwUiI6IjFEIn1mdW5jdGlvbiBQKGUsdCxzKXtjb25zdCBpPWEuaXNSYW5nZVN0eWxlKGUpLG49by5JbnRlcnZhbC5pc1JhbmdlKHQpO3JldHVybiFpJiZuP2Z1bmN0aW9uKGUpe2NvbnN0IHQ9bC5nZXRWYWx1ZSgiY2hhcnQubGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1RpbWVCYXNlZCh0KSlyZXR1cm4gdDtsZXQgcz0iMUQiO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9by5JbnRlcnZhbC5wYXJzZSh0KTtpZihlLmlzVGltZUJhc2VkKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpCjtpZigiMUQiPT09dClyZXR1cm4gdDtzPXR9fXJldHVybiBzfShzKTppJiYhbj9mdW5jdGlvbihlKXtjb25zdCB0PWwuZ2V0VmFsdWUoImNoYXJ0Lmxhc3RVc2VkUmFuZ2VSZXNvbHV0aW9uIik7aWYodm9pZCAwIT09dCYmby5JbnRlcnZhbC5pc1JhbmdlKHQpKXJldHVybiB0O2xldCBzPSIxMDBSIjtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPW8uSW50ZXJ2YWwucGFyc2UodCk7aWYoZS5pc1JhbmdlKCkpe2NvbnN0IHQ9ZS52YWx1ZSgpO2lmKCIxMDBSIj09PXQpcmV0dXJuIHQ7cz10fX1yZXR1cm4gc30ocyk6dH1mdW5jdGlvbiBUKGUpe2NvbnN0e2ludGVydmFsOnQsZ3VpUmVzb2x1dGlvbktpbmQ6c309by5JbnRlcnZhbC5wYXJzZUV4dChlKTtpZighdC5pc1ZhbGlkKCkpcmV0dXJuITE7Y29uc3QgaT10Lm11bHRpcGxpZXIoKTtpZihzPT09by5SZXNvbHV0aW9uS2luZC5TZWNvbmRzKXJldHVybiBfLmluY2x1ZGVzKGkpO2lmKCgwLHAuaXNUaWNrc0VuYWJsZWQpKCkmJnM9PT1vLlJlc29sdXRpb25LaW5kLlRpY2tzKXJldHVybiEheXx8Zy5pbmNsdWRlcyhpKTtyZXR1cm4ocz09PW8uU3BlY2lhbFJlc29sdXRpb25LaW5kLkhvdXJzP2kvNjA6aSk8PUMocyl9ZnVuY3Rpb24gQyhlKXtjb25zdCB0PW0ubWF4UmVzb2x1dGlvblZhbHVlc1tlXTtyZXR1cm4gTnVtYmVyLmlzTmFOKHQpPzE6dH1mdW5jdGlvbiBFKGUpe3JldHVybiBDKG8uSW50ZXJ2YWwucGFyc2VFeHQoZSkuZ3VpUmVzb2x1dGlvbktpbmQpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZTpPYmplY3Qua2V5cyhlKS5tYXAoby5JbnRlcnZhbC5ub3JtYWxpemUpLmZpbHRlcihpLm5vdE51bGwpfWZ1bmN0aW9uIEwoLi4uZSl7bGV0IHQ9W10uY29uY2F0KC4uLmUpO3JldHVybiB0PSgwLGQudW5pcSkodC5maWx0ZXIoVCkubWFwKHYpKSxNKHQpfWZ1bmN0aW9uIE0oZSl7cmV0dXJuIGUuc29ydChtLmNvbXBhcmVSZXNvbHV0aW9ucyl9ZnVuY3Rpb24gRChlKXtjb25zdHttdWx0aXBsaWVyOnQsc2hvcnRLaW5kOnN9PXgoZSk7cmV0dXJuYCR7dH0ke3N9YH1mdW5jdGlvbiB4KGUsdCl7Y29uc3Qgcz1vLkludGVydmFsLnBhcnNlKGUpO2xldCBpPXMubXVsdGlwbGllcigpLG49cy5raW5kKCk7aWYoIXMuaXNWYWxpZCgpKXtpZih0KXJldHVybiBudWxsO3Rocm93IG5ldyBUeXBlRXJyb3IoYENhbid0IHRyYW5zbGF0ZSBpbnZhbGlkIGludGVydmFsOiAke2V9YCl9cmV0dXJuIHMuaXNNaW51dGVIb3VycygpJiYoaT1NYXRoLmZsb29yKGkvNjApLG49by5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnMpLHttdWx0aXBsaWVyOmkudG9TdHJpbmcoKSxzaG9ydEtpbmQ6UihuKSxoaW50OmAke2l9ICR7UihuLGkpfWAsbWF5T21pdE11bHRpcGxpZXI6cy5pc0RXTSgpJiYxPT09aSxtYXlPbWl0U2hvcnRLaW5kOnMuaXNNaW51dGVzKCkmJiFzLmlzTWludXRlSG91cnMoKX19ZnVuY3Rpb24gUihlLHQpe2lmKCF0KXJldHVybntbby5SZXNvbHV0aW9uS2luZC5JbnZhbGlkXToiIixbby5SZXNvbHV0aW9uS2luZC5UaWNrc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyMTgwMzYpKSxbby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDM5MDgwOSkpLFtvLlJlc29sdXRpb25LaW5kLk1pbnV0ZXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoNjE4NCkpLFtvLlNwZWNpYWxSZXNvbHV0aW9uS2luZC5Ib3Vyc106ci50KG51bGwse2NvbnRleHQ6ImludGVydmFsX3Nob3J0In0scygyNDA3MykpLFtvLlJlc29sdXRpb25LaW5kLkRheXNdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMTkxNDMyKSksW28uUmVzb2x1dGlvbktpbmQuV2Vla3NdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMzIzNTcwKSksW28uUmVzb2x1dGlvbktpbmQuTW9udGhzXTpyLnQobnVsbCx7Y29udGV4dDoiaW50ZXJ2YWxfc2hvcnQifSxzKDg4OTEwKSksW28uUmVzb2x1dGlvbktpbmQuUmFuZ2VdOnIudChudWxsLHtjb250ZXh0OiJpbnRlcnZhbF9zaG9ydCJ9LHMoMjgxMTA3KSl9W2VdO3N3aXRjaChlKXtjYXNlIG8uUmVzb2x1dGlvbktpbmQuVGlja3M6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6InRpY2tzIixjb3VudDp0fSxzKDUwNjQ0NykpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5EYXlzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJkYXlzIixjb3VudDp0fSxzKDc0MzAwMikpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5XZWVrczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoid2Vla3MiLGNvdW50OnR9LHMoMzg4MTA1KSk7Y2FzZSBvLlJlc29sdXRpb25LaW5kLk1vbnRoczpyZXR1cm4gci50KG51bGwse3BsdXJhbDoibW9udGhzIixjb3VudDp0fSxzKDMyMzQ4NSkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5TZWNvbmRzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJzZWNvbmRzIixjb3VudDp0fSxzKDY2NTUzMCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5NaW51dGVzOnJldHVybiByLnQobnVsbCx7cGx1cmFsOiJtaW51dGVzIixjb3VudDp0fSxzKDExMzY0MikpO2Nhc2Ugby5TcGVjaWFsUmVzb2x1dGlvbktpbmQuSG91cnM6cmV0dXJuIHIudChudWxsLHtwbHVyYWw6ImhvdXJzIixjb3VudDp0fSxzKDQxOTExNCkpO2Nhc2Ugby5SZXNvbHV0aW9uS2luZC5SYW5nZTpyZXR1cm4gci50KG51bGwse3BsdXJhbDoicmFuZ2VzIixjb3VudDp0fSxzKDYxNjQ5KSk7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gaygpe3JldHVybiEwfWZ1bmN0aW9uIFYoZSl7cmV0dXJuISghKDAscC5pc1RpY2tzRW5hYmxlZCkoKSYmZS5pc1RpY2tzKCkpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIFYoby5JbnRlcnZhbC5wYXJzZShlKSl9ZnVuY3Rpb24gRihlKXtpZigoMCxuLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbGxvd19zdXBwb3J0ZWRfcmVzb2x1dGlvbnNfc2V0X29ubHkiKSl7Y29uc3QgdD1vLkludGVydmFsLm5vcm1hbGl6ZShlKTtyZXR1cm4gbnVsbCE9PXQmJmIodCl9e2NvbnN0IHQ9by5JbnRlcnZhbC5wYXJzZShlKQo7aWYoIXQuaXNWYWxpZCgpfHwhVih0KSlyZXR1cm4hMTtpZighKDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY3VzdG9tX3Jlc29sdXRpb25zIikpe2NvbnN0IHQ9by5JbnRlcnZhbC5ub3JtYWxpemUoZSkscz13aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZS5kZWZhdWx0UmVzb2x1dGlvbnMoKS5maWx0ZXIoQSk7aWYoIXR8fC0xPT09cy5pbmRleE9mKHQpKXJldHVybiExfWNvbnN0IHM9Yy5saW5raW5nLmRhdGFGcmVxdWVuY3lSZXNvbHV0aW9uLnZhbHVlKCk7aWYodm9pZCAwIT09cyYmKDAsbS5nZXRBcHBsaWNhYmxlSW50ZXJ2YWxGb3JGcmVxdWVuY3kpKHMsdC52YWx1ZSgpKSE9PXQudmFsdWUoKSlyZXR1cm4hMTtpZih0LmlzUmFuZ2UoKSlyZXR1cm4gYy5saW5raW5nLnJhbmdlLnZhbHVlKCk7aWYodC5pc1RpY2tzKCkpcmV0dXJuIGMubGlua2luZy50aWNrcy52YWx1ZSgpO2lmKHQuaXNJbnRyYWRheSgpKXJldHVybiBjLmxpbmtpbmcuaW50cmFkYXkudmFsdWUoKTt7Y29uc3QgZT1jLmxpbmtpbmcuc3VwcG9ydGVkUmVzb2x1dGlvbnMudmFsdWUoKTtyZXR1cm4hZXx8ZS5pbmNsdWRlcyh0LnZhbHVlKCkpfX19ZnVuY3Rpb24gQihlKXtyZXR1cm4oMCxoLmlzUnRsKSgpPyIgIisoMCxoLmZvcmNlUlRMU3RyKSgiICwiK2UpOiIsICIrZX0hZnVuY3Rpb24oZSl7ZS5DdXN0b21Vc2VyUmVzb2x1dGlvbnNLZXk9IkludGVydmFsV2lkZ2V0LmludGVydmFscyIsZS5MYXN0VXNlZFJhbmdlUmVzb2x1dGlvbktleT0iY2hhcnQubGFzdFVzZWRSYW5nZVJlc29sdXRpb24iLGUuTGFzdFVzZWRUaW1lQmFzZWRSZXNvbHV0aW9uS2V5PSJjaGFydC5sYXN0VXNlZFRpbWVCYXNlZFJlc29sdXRpb24iLGUuRGVmYXVsdFJhbmdlUmVzb2x1dGlvbj0iMTAwUiIsZS5EZWZhdWx0VGltZUJhc2VkUmVzb2x1dGlvbj0iMUQifShmfHwoZj17fSkpfSw2MzY5NjYoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7U2VyaWVzOigpPT52dH0pO3ZhciBpPXMoMTY3NTAyKSxuPXMoMTM4NjM4KSxyPXMoMjMyMzY0KSxvPXMoOTUyOTAwKSxhPXMoNjAxODQxKSxsPXMoOTQ4MzgwKSx1PXMoMjIxMDYxKSxjPXMoMjU0NjczKSxkPXMoODU3MTUxKSxoPXMoOTM2MzI2KSxwPXMoMTIxNDc5KSxtPXMoMzg2OTMxKSxfPXMoMTc5NzcxKSxnPXMoOTMwMjMxKSx5PXMoNzY4NzYwKSxmPXMoNTQyMzQ5KSx2PXMoOTMwNTA2KSxiPXMoNjE5MTY1KSxTPXMoNjM1NTA5KSx3PXMoNzY4MjkyKSxQPXMoMTI4OTk4KSxUPXMoMzE0OTE0KSxDPXMoNjgyODIyKSxFPXMoNzU1NjI3KSxJPXMoNzk4MzgpLEw9cygyNTc4MSksTT1zKDYyNjc1NiksRD1zKDU0NjU3NSkseD1zKDE1Mjc2NiksUj1zKDM3Njc5Nyksaz1zKDYwOTA0MSksVj1zKDgyNzY5OCksQT1zKDY5OTU1MCksRj1zKDM1NzIxOSksQj1zKDY0NTI4NSksTz1zKDU2OTg0NiksTj1zKDk0NzM4MiksVz1zKDE1Njg1MCksVT1zKDY4MzkwMiksej1zKDE3MjMwNCksSD1zKDQ4Mzc4Myksaj1zKDkxMTQzMCksJD1zKDQ5MDM5OSkscT1zKDY1NTU4NCksSz1zKDY4NTU1NSksWT1zKDI5MzQ0NyksRz1zKDg5MTQ0MSksSj1zKDU2OTM5OCksWD1zKDIyNjkzNyksUT1zKDI3NTc0MiksWj1zKDk3Mzk3KSxlZT1zKDY4MjgwNiksdGU9cyg3MzkzNjMpLHNlPXMoNDE3MjkpLGllPXMoNDk5Njk1KSxuZT1zKDk2OTQpLHJlPXMoODY2OTUwKSxvZT1zKDM3NjY0NSksYWU9cygzMjI0NjApLGxlPXMoODUzMjQ1KSx1ZT1zKDIzNDg2NiksY2U9cyg4OTQ2OTcpLGRlPXMoMjA2NTcwKSxoZT1zKDQwNzc5OSkscGU9cyg2MTU2NzMpLG1lPXMoMjM0OTMyKSxfZT1zKDQ5MDQ0NiksZ2U9cyg0Njg3NzQpLHllPXMoODM3MjAzKSxmZT1zKDk2NjQwNCksdmU9cyg0NjUxMzcpLGJlPXMoMzQ3MDQyKSxTZT1zKDgwNjgxOCksd2U9cygxNTc4NTMpLFBlPXMoMTY4NzcxKSxUZT1zKDM2MDIzOCksQ2U9cyg3NDgyMTApLEVlPXMoNTQ5NjEzKSxJZT1zKDEzMDkxNSksTGU9cygzMTg5NzQpLE1lPXMoMzExNjE5KSxEZT1zKDI3MzE4NykseGU9cygzMjA2NjUpLFJlPXMoNjMyNTM1KSxrZT1zKDIyODI1MSksVmU9cyg3MzQ0NzkpLEFlPXMoNjU2NDA5KSxGZT1zKDY5Nzc5OSksQmU9cyg2NTkyOTEpLE9lPXMoMTk2MDQ5KSxOZT1zKDIxNzAxNiksV2U9cyg5ODE4NTMpLFVlPXMoMzY0NzgyKSx6ZT1zKDM1ODA4OCksSGU9cyg0NTk2NzMpLGplPXMoNDE2MzUpLCRlPXMoOTU2NDM3KSxxZT0ocygyNTAzMzQpLHMoMTU2ODI5KSksS2U9cyg2OTk2NjgpLFllPXMoNzA0NTcyKSxHZT1zKDg2NjczMSksSmU9cyg4Njc4MzEpLFhlPXMoMjQxOTU2KSxRZT1zKDE4OTgwMCksWmU9cygyMjc4MjUpLGV0PXMoNzkzODYyKSx0dD1zKDQ4OTAzMSksc3Q9cyg5NjkxNjgpLGl0PXMoMjA1NjIyKSxudD1zKDcyMzUyNSk7Y29uc3QgcnQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicHJpY2Vfc2NhbGVfYWx3YXlzX2xhc3RfYmFyX3ZhbHVlIiksb3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGlzcGxheV9kYXRhX21vZGUiKSxhdD0hKDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9zZXJpZXNfbGVnZW5kX2l0ZW0iKSxsdD0oMCxnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3ByaWNlX3NjYWxlX2dsb2JhbF9sYXN0X2Jhcl92YWx1ZSIpLHV0PSgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoIm5vX2JhcnNfc3RhdHVzIiksY3Q9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRpbmdfbGlicmFyeV9kZWJ1Z19tb2RlIiksZHQ9KDAsZy5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiY2hhcnRfc3R5bGVfaGlsb19sYXN0X3ByaWNlIiksaHQ9KDAsdS5nZXRMb2dnZXIpKCJDaGFydC5TZXJpZXMiKSxwdD1QZS5sYXN0RGF5Q2hhbmdlQXZhaWxhYmxlJiZMZS5DaGVja01vYmlsZS5hbnkoKXx8UGUuYWx3YXlzU2hvd0xhc3RQcmljZUFuZExhc3REYXlDaGFuZ2U7bGV0IG10PSExO2NvbnN0IF90PXtjb3VudGRvd25FbmFibGVkOiEwLGxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWQ6ITB9O2Z1bmN0aW9uIGd0KGUsdCxzKXtyZXR1cm4gdm9pZCAwPT09dD9udWxsOmAke2V9PSR7dH0gKCR7cz8iY2hhbmdlZCI6InVuY2hhbmdlZCJ9KWB9ZnVuY3Rpb24geXQoZSl7CmNvbnN0IHQ9ZS5zdGF0ZSgpO3JldHVybiB0LmRhdGEuZm9yRWFjaCgoZT0+ZS52YWx1ZS5zcGxpY2UoNywxKSkpLHR9ZnVuY3Rpb24gZnQoZSl7Y29uc3R7c2VyaWVzU3RhdHVzOnQsYWRkaXRpb25hbFN0dWR5U3RhdHVzOnN9PWU7aWYoSS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKHQpKXJldHVybiAyO2lmKHMpe2lmKDQhPT10JiZzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuRXJyb3IpcmV0dXJuIDEzO2lmKEkuc2VyaWVzUmVhZHlTdGF0dXNlcy5oYXModCkmJihzLnR5cGU9PT1KZS5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ3x8cy50eXBlPT09SmUuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZCkpcmV0dXJuIDJ9cmV0dXJuIHR9Y2xhc3MgdnQgZXh0ZW5kcyBmLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQsdSxkKXtzdXBlcihlLCJfc2VyaWVzSWQiKSx0aGlzLmlzU2VyaWVzPSEwLHRoaXMucmVxdWVzdGluZ1N0eWxlSXNOb3RTdXBwb3J0ZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5yZXF1ZXN0aW5nU3R5bGVTdXBwb3J0UmVjb3ZlcmVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhbmVWaWV3PW51bGwsdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1udWxsLHRoaXMuX3dhdGVybGluZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZ290b0RhdGVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlU3RlcD1udWxsLHRoaXMuX3N5bWJvbEluZm89bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2lzUHJlUG9zdE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KCExKSx0aGlzLl9pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHk9bmV3IHcuUHJvcGVydHkoITApLHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eSghMCksdGhpcy5faGlnaExvd1ByaWNlQ2FjaGU9bmV3IE1hcCx0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZT1uZXcgTWFwLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bnVsbCx0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblJlc3RhcnRlZD1uZXcgbC5EZWxlZ2F0ZSx0aGlzLl9vblN0YXR1c0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5faW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlc3Npb25JZENoYW5nZWQ9bmV3IGwuRGVsZWdhdGUsdGhpcy5fcmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlPSEwLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3PW5ldyBtZS5MYXN0UHJpY2VDaXJjbGVQYW5lVmlldyh0aGlzKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fZGF0YVBvd2VyZWRCeT1udWxsLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZT1uZXcgci5XYXRjaGVkVmFsdWUoITEpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc3luY01vZGVsPW51bGwsdGhpcy5fZGF0YT1udWxsLHRoaXMuX2xhc3RDb21wbGV0ZUZsYWdzPW51bGwsdGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5fcXVvdGVzTGFzdFNwbGl0cz1uZXcgci5XYXRjaGVkVmFsdWUobnVsbCksdGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHM9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2xhc3RTcGxpdHM9KDAsby5jb21iaW5lKSgoKGUsdCk9PnR8fGUpLHRoaXMuX3F1b3Rlc0xhc3RTcGxpdHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX292ZXJyaWRkZW5MYXN0U3BsaXRzLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fYm94U2l6ZVZhbHVlPW5ldyByLldhdGNoZWRWYWx1ZSx0aGlzLl9iYXNlPTEwMCx0aGlzLl9wb2ludFZhbHVlPTEsdGhpcy5fZm9ybWF0dGluZ0RlcHM9bnVsbCx0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPW5ldyBFLlByaWNlRm9ybWF0dGVyKHtwcmljZVNjYWxlOnRoaXMuX2Jhc2V9KSx0aGlzLl9mb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXI9bmV3IEUuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dGhpcy5fYmFzZX0pLHRoaXMuX2lnbm9yZU1pbk1vdmVQcmljZVN0ZXA9bnVsbCx0aGlzLl9sYXN0QmFyQ2xvc2VUaW1lPW51bGwsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZD10aGlzLl9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZC5iaW5kKHRoaXMpLHRoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzPSExLHRoaXMuX3JlYWxpZ25MaW5lVG9vbHNCb3VuZD10aGlzLl9yZWFsaWduTGluZVRvb2xzLmJpbmQodGhpcyksdGhpcy5fdGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkPSExLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZT0hMSx0aGlzLl9jdXJyZW50U2Vzc2lvbj0ib3V0X29mX3Nlc3Npb24iLHRoaXMuX29uU3R5bGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29ic29sZXRlWk9yZGVyPTAsdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVlc9bmV3IHIuV2F0Y2hlZFZhbHVlKCExKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsLHRoaXMuX3ByZWNvbXB1dGVkQmFyU3R5bGVzPW5ldyBXZWFrTWFwLHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ITEsdGhpcy5fZ290b0RhdGVSZXN1bHRDbGVhcmVkPSExLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3PW51bGwsdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsLHRoaXMuX3BlbmRpbmdUaW1lUmFuZ2U9bnVsbCx0aGlzLl9yZXBsYXlTdWJzY3JpYmVyPW5ldyByLldhdGNoZWRWYWx1ZShudWxsKSwKdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9bnVsbCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXk9bmV3IGwuRGVsZWdhdGUsdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkPW5ldyBsLkRlbGVnYXRlLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fc3RhdHVzPW5ldyByLldhdGNoZWRWYWx1ZSh7c2VyaWVzU3RhdHVzOjB9KSx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWw9IiIsdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGU9bmV3IHIuV2F0Y2hlZFZhbHVlKG51bGwpLHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPW51bGwsdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQ9KDAseS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCksdGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPW51bGwsdGhpcy5fc3R1ZHlCaW5kaW5ncz1udWxsLHRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wPW5ldyBaLkdyYWRpZW50Q29sb3JDYWNoZSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbCx0aGlzLl9zeW1ib2xTb3VyY2VXVj1uZXcgci5XYXRjaGVkVmFsdWUodGhpcyksdGhpcy5fY3VycmVuY3lPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VuaXRPcmlnaW5Tb3VyY2U9bmV3IHIuV2F0Y2hlZFZhbHVlKHRoaXMpLHRoaXMuX3VwZGF0ZVRpbWVTY2FsZVRpbWVQb2ludFdlaWdodHM9KCk9Pnt0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5zZXRUaW1lUG9pbnRXZWlnaHRzKDE5PT09dGhpcy5zdHlsZSgpP3RoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0czpudWxsKX07Y29uc3QgaD10LmNoaWxkcygpLHA9aC5pbnRlcnZhbDt0aGlzLl9pbnRlcnZhbE9iaj1uZXcgci5XYXRjaGVkVmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSxwLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faW50ZXJ2YWxPYmouc2V0VmFsdWUoYy5JbnRlcnZhbC5wYXJzZShwLnZhbHVlKCkpKSkpLHRoaXMuX3Nlcmllc1N0YXR1cz0oMCxvLmNvbWJpbmUpKGZ0LHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M9bmV3IEcuU2VyaWVzU3R1ZGllc0JpbmRpbmdzKHRoaXMpLHRoaXMuX3N0dWR5QmluZGluZ3Mub25TdGF0dXNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsKCgpPT57Y29uc3QgZT10aGlzLnN0YXR1cygpLHQ9dGhpcy5fc3RhdHVzLnZhbHVlKCkscz10aGlzLl9zdHVkeUJpbmRpbmdzPy5zdGF0dXMoKTtzPy50eXBlIT09SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfHx0aGlzLmlzRmFpbGVkKCl8fCh0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9KDAsSmUuY29udmVydFN0dWR5U3RhdHVzVG9TdHJpbmcpKHMpKSx0aGlzLl91cGRhdGVTdGF0dXMoey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLGFkZGl0aW9uYWxTdHVkeVN0YXR1czpzfSksdGhpcy5zdGF0dXMoKSE9PWUmJih0aGlzLl9zdGF0dXNWaWV3LnVwZGF0ZSgpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSksKDAsaS5kZWZhdWx0KSh0LHRoaXMuX3N0YXR1cyl8fHRoaXMuX29uU3RhdHVzQ2hhbmdlZC5maXJlKCl9KSksdGhpcy5fc2VyaWVzU291cmNlPW5ldyB5ZS5TZXJpZXNEYXRhU291cmNlKGUuY2hhcnRBcGkoKSwicyIsZCk7Y29uc3QgXz10aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpO18uc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblN5bWJvbFJlc29sdmVkKSxfLnN5bWJvbEVycm9yKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TeW1ib2xFcnJvciksXy5zZXJpZXNUaW1lRnJhbWUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc1RpbWVGcmFtZSksXy5zZXJpZXNFcnJvcigpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzRXJyb3IpLF8ubG9hZGluZygpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2VyaWVzTG9hZGluZyksXy5jb21wbGV0ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0NvbXBsZXRlZCksXy5kYXRhVXBkYXRlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRGF0YVVwZGF0ZWQpLF8uYmFyUmVjZWl2ZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkJhclJlY2VpdmVkKSxfLnVuc3VwcG9ydGVkUmVzb2x1dGlvblJlcXVlc3RlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVW5zdXBwb3J0ZWRSZXNvbHV0aW9uUmVxdWVzdGVkKSxfLmNsZWFyZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNlcmllc0RhdGFDbGVhcmVkKSx0aGlzLl9xdW90ZXNQcm92aWRlcj1uZXcgQS5RdW90ZXNQcm92aWRlcih2b2lkIDAsZS5jb2xsYXBzZWQoKS5zcGF3bk93bmVyc2hpcCgpKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblF1b3Rlc1VwZGF0ZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYmluZFRvU2VyaWVzUHJvcGVydGllcyh0KSx0aGlzLl9wcm9wZXJ0aWVzPXQsaC5jdXJyZW5jeUlkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKSxoLnVuaXRJZC5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblVuaXRDaGFuZ2VkKSxoLm1ldHJpY0lkLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uTWV0cmljQ2hhbmdlZCksaC50aW1lZnJhbWUuc3Vic2NyaWJlKHRoaXMsdGhpcy5jaGFuZ2VUaW1lRnJhbWUpLHQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Qcm9wZXJ0aWVzQ2hhbmdlZCksdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eT1uZXcgdy5Qcm9wZXJ0eShoLnNlc3Npb25JZC52YWx1ZSgpKSxoLnNlc3Npb25JZC5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3VwZGF0ZVNlc3Npb25JZFByb3h5UHJvcGVydHkoKSkpLAp0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZWQpLHRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5PW5ldyB3LlByb3BlcnR5LHRoaXMuX3JlY2FsY1N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5KCksaC5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSksdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT5lLmxpZ2h0VXBkYXRlKCkpKSx0aGlzLl9vcHRpb25zPSgwLGEubWVyZ2UpKCgwLGEuY2xvbmUpKF90KSx1KSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1oLnN0eWxlLnZhbHVlKCksdGhpcy5fcHJpY2VBeGlzVmlldz1uZXcgRi5TZXJpZXNQcmljZUF4aXNWaWV3KHRoaXMsZSx7YWx3YXlzU2hvd0dsb2JhbExhc3Q6IWx0LHNob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSk7bGV0IGY9bnVsbDtydHx8bHR8fChmPW5ldyBGLlNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlLHt2aXNpYmxlT25IaXN0b3J5T25seTohMCxzaG93U3ltYm9sTGFiZWw6ITEsc2hvd0NvdW50ZG93bjohMSxhbHdheXNTaG93R2xvYmFsTGFzdDohMSx1c2VTb2xpZEJvZHlDb2xvcjohMX0pKSx0aGlzLl9wcmljZUxpbmVQcmljZUF4aXNWaWV3PW5ldyBuZS5TZXJpZXNQcmljZUxpbmVBeGlzVmlldyh0aGlzKSx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3M9W3RoaXMuX3ByaWNlTGluZVByaWNlQXhpc1ZpZXddLHRoaXMuX3Byb2plY3Rpb25QcmljZUF4aXNWaWV3PW5ldyByZS5Qcm9qZWN0aW9uU2VyaWVzUHJpY2VBeGlzVmlldyh0aGlzLGUse3Nob3dDb3VudGRvd246dS5jb3VudGRvd25FbmFibGVkfSksdGhpcy5fcHJpY2VBeGlzVmlld3M9W3RoaXMuX3ByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXddLG51bGwhPT1mJiZ0aGlzLl9wcmljZUF4aXNWaWV3cy5wdXNoKGYpLHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXc9bmV3IHRlLlByZXZDbG9zZVNlcmllc1ByaWNlQXhpc1ZpZXcodGhpcyxlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy51bnNoaWZ0KHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLHRoaXMuX3ByZXZDbG9zZVByaWNlTGluZVZpZXc9bmV3IHNlLlNlcmllc1ByZXZDbG9zZVByaWNlTGluZVBhbmVWaWV3KHRoaXMpLHRoaXMuX3BhbmVQcmljZUF4aXNWaWV3PW5ldyBvZS5QYW5lUHJpY2VBeGlzVmlldyh0aGlzLl9wcmljZUF4aXNWaWV3LHRoaXMsZSksdGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXc9bnVsbCE9PWY/bmV3IG9lLlBhbmVQcmljZUF4aXNWaWV3KGYsdGhpcyxlKTpudWxsLHRoaXMuX3Byb2plY3Rpb25QYW5lUHJpY2VBeGlzVmlldz1uZXcgb2UuUGFuZVByaWNlQXhpc1ZpZXcodGhpcy5fcHJvamVjdGlvblByaWNlQXhpc1ZpZXcsdGhpcyxlKSx0aGlzLl9sYWJlbFBhbmVWaWV3cz1bdGhpcy5fcGFuZVByaWNlQXhpc1ZpZXcsdGhpcy5fcHJvamVjdGlvblBhbmVQcmljZUF4aXNWaWV3XSxudWxsIT09dGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcmJnRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2godGhpcy5faGlzdG9yeVByaWNlUGFuZVByaWNlQXhpc1ZpZXcpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3M9W10sdGhpcy5fYXZlcmFnZVBhbmVWaWV3cz1bXSx0aGlzLl9jcmVhdGVIaWdoTG93QXZnVmlld3MoKSx0aGlzLl9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKSxoLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKSx0aGlzLl91cGRhdGVMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUoKSxoLm1pblRpY2suc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQpLHRoaXMuX2RhdGFXaW5kb3dWaWV3PW5ldyBnZS5TZXJpZXNEYXRhV2luZG93Vmlldyh0aGlzLGUpLHRoaXMuX2xlZ2VuZFZpZXc9bmV3IE0uU2VyaWVzTGVnZW5kVmlldyh0aGlzLGUpLHRoaXMuX3N0YXR1c1ZpZXc9bmV3IEwuU2VyaWVzU3RhdHVzVmlldyh0aGlzLGguc3RhdHVzVmlld1N0eWxlKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW5ldyBldC5TZXJpZXNDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoZSksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWw9bmV3IEQuTWFya2V0U3RhdHVzTW9kZWwodGhpcy5fcXVvdGVzUHJvdmlkZXIpLHRoaXMuX2RhdGFVcGRhdGVkTW9kZU1vZGVsPW90P25ldyBrLkRhdGFVcGRhdGVkTW9kZU1vZGVsKHRoaXMuX3N5bWJvbEluZm8uc3Bhd24oKS5vd25lcnNoaXAoKSx0aGlzLl9zZXJpZXNTdGF0dXMuc3Bhd24oKS5vd25lcnNoaXAoKSwoMCxYZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M/LnJ0X3VwZGF0ZV9wZXJpb2QpLF8uY29tcGxldGVkKCkpLm93bmVyc2hpcCgpKTpudWxsLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWw9bmV3IFYuRGF0YVByb2JsZW1Nb2RlbCh0aGlzLl9xdW90ZXNQcm92aWRlcix0aGlzLl9zeW1ib2xJbmZvLnNwYXduKCkub3duZXJzaGlwKCkpLGguYmFja0FkanVzdG1lbnQuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5yZXN0YXJ0KCl9KSksaC5zZXR0bGVtZW50QXNDbG9zZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmlzRFdNKCkmJnRoaXMuaXNTdGFydGVkKCkmJnRoaXMucmVzdGFydCgpfSkpLHRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSx0aGlzLl9pbnRlcnZhbENoYW5nZWQuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9jaGVja0NoYXJ0U3R5bGUoKSkpLCgwLApnLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ3aWRnZXQiKXx8UHJvbWlzZS5hbGwoW3MuZSg3MzExKSxzLmUoODQzMDYpLHMuZSgyOTI5Nikscy5lKDUyMzk2KSxzLmUoNjAwNjIpLHMuZSgyMDM1NCkscy5lKDEzNDkyKSxzLmUoMzc3NDYpLHMuZSg5NDIzMikscy5lKDUxODQpLHMuZSgxMjA1MSkscy5lKDM4MjYyKSxzLmUoNzQyNzMpLHMuZSgzMjM4Nykscy5lKDM5NjA5KSxzLmUoOTE4MzMpXSkudGhlbihzLmJpbmQocywzMDA4MjgpKS50aGVuKChlPT57dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXc9bmV3IGUuRW5kT2ZEYXRhTG9sbGlwb3BQYW5lVmlldyh0aGlzKX0pKSx0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9hbGlhc1N5bWJvbEluZm89KDAsTy5jcmVhdGVBbGlhc1N5bWJvbEluZm9XVikodGhpcy5fc3ltYm9sSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCkpLHRoaXMuX2FsaWFzU3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksJC5hbGVydHNBdmFpbGFibGUmJnRoaXMuX3N5bWJvbFJlc29sdmluZ0FjdGl2ZS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSwhKDAsSi5pc0ZlYXR1cmVFbmFibGVkKSgiZGVsYXlfc3RhdHVzX29uX2xhc3RfYmFyIil8fHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8dGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKGU9PntpZigoMCxQLmdldFN5bWJvbERlbGF5U2Vjb25kcykoZSk+MCl7aWYodGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldylyZXR1cm47dGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1uZXcgWC5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDI3MjkyKSxzLmUoMTI0NDgpXSkudGhlbihzLmJpbmQocywxMDA4MjApKS50aGVuKCgoe0RlbGF5U3RhdHVzUGFuZVZpZXc6ZX0pPT5uZXcgZSh0aGlzKSkpLChlPT57ZS5kZXN0cm95KCksdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz1udWxsfSkpfWVsc2UgdGhpcy5fZGVsYXlTdGF0dXNQYW5lVmlldz8uZGVzdHJveSgpfSkpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJ2aXNpYmxlIiwxKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZEV4Y2x1ZGVkS2V5KCJjdXJyZW5jeUlkIiwxKSx0aGlzLl9mdXR1cmVCYXJzUGFuZVZpZXc9bnVsbCx0aGlzLl9wcmljZUxpbmVWaWV3PW51bGwsdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz1uZXcgR2UuU2VyaWVzSG9yaXpvbnRhbEJhc2VMaW5lUGFuZVZpZXcodGhpcyk7Zm9yKGNvbnN0WyxlXW9mIE9iamVjdC5lbnRyaWVzKEkuU1RZTEVfU0hPUlRfTkFNRVMpKXRoaXMuX3Byb3BlcnRpZXMuY2hpbGQoYCR7ZX1TdHlsZWApPy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCkpKTtjb25zdCB2PWgucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCk7di5ib3hTaXplLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDQpKSksdi53aWNrcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLHYuc291cmNlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg0KSkpLGgucGJTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkubGIuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNykpKTtjb25zdCBiPWgua2FnaVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtiLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg1KSkpLGIuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSksYi5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDUpKSk7Y29uc3QgUz1oLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKTtTLmJveFNpemUuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLl9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoNikpKSxTLnJldmVyc2FsQW1vdW50LnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zb3VyY2VzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5zdHlsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcyg2KSkpLFMuYXRyTGVuZ3RoLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5wZXJjZW50YWdlTFRQLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksUy5vbmVTdGVwQmFja0J1aWxkaW5nLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5fcmVzdGFydElmU3R5bGVNYXRjaGVzKDYpKSksaC5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5waGFudG9tQmFycy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX3Jlc3RhcnRJZlN0eWxlTWF0Y2hlcygxMSkpKSx0aGlzLl9pc0RXTVByb3BlcnR5PW5ldyB3LlByb3BlcnR5KHRoaXMuaXNEV00oKSksCnRoaXMuX29uUmVzdGFydGVkLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5faXNEV01Qcm9wZXJ0eS5zZXRWYWx1ZSh0aGlzLmlzRFdNKCkpKSksaC5kaXZpZGVuZHNBZGp1c3RtZW50Py5zdWJzY3JpYmUodGhpcywoKCk9Pntjb25zdCBlPSgwLG4uZW5zdXJlRGVmaW5lZCkoaC5kaXZpZGVuZHNBZGp1c3RtZW50KS52YWx1ZSgpOygwLG0udHJhY2tFdmVudCkoIkRpdmlkZW5kcyBhZGp1c3QiLCEwPT09ZT8iT24iOiJPZmYiKSx0aGlzLnJlc3RhcnQoKX0pKSx0aGlzLl9kYXRhUG93ZXJlZEJ5PW51bGwsaC5zaG93Q291bnRkb3duLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQpLHRoaXMuX29uU2hvd0NvdW50ZG93bkNoYW5nZWQoaC5zaG93Q291bnRkb3duKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLGgubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmxpbmVXaXRoTWFya2Vyc1N0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguYXJlYVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKSxoLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGguY29sdW1uU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLGgudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2Uuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdXBkYXRlQmFyRnVuY3Rpb24pLHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5faXNJblJlcGxheT0oMCxvLmNvbWJpbmUpKChlPT5udWxsIT09ZSksdGhpcy5fcmVwbGF5U3Vic2NyaWJlci53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fbGVnZW5kVmFsdWVzUHJvdmlkZXI9bmV3IGxlLlNlcmllc0xlZ2VuZFZhbHVlc1Byb3ZpZGVyKHRoaXMsdGhpcy5tb2RlbCgpKSx0aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcj1uZXcgaXQuU2VyaWVzVGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcj1uZXcgUWUuU2VyaWVzVmFsdWVzUHJvdmlkZXIodGhpcyx0aGlzLm1vZGVsKCkpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBRZS5TZXJpZXNWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcj1uZXcgdWUuU2VyaWVzQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5faXNVbml0T3JpZ2luLnNldFZhbHVlKCEwKTtjb25zdCBUPSgpPT57Y29uc3QgdD10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCkscz0oMCxQLnN5bWJvbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSk7bnVsbCE9PXQmJm51bGwhPT1zP3RoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZSh7dW5pdE9yaWdpbk5hbWU6dGhpcy5wcm9TeW1ib2woKSxjb252ZXJ0aWJsZUdyb3VwczooMCxudC51bml0Q29udmVydGlibGVHcm91cHMpKHQscyx0aGlzLl9hdmFpbGFibGVVbml0cy52YWx1ZSgpKSxpc0NvbnZlcnRlZFRvT3RoZXJVbml0OigwLFAuaXNDb252ZXJ0ZWRUb090aGVyVW5pdCkodCxlLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvcmlnaW5hbFVuaXQ6KDAsUC5zeW1ib2xPcmlnaW5hbFVuaXQpKHQsZS51bml0Q29udmVyc2lvbkVuYWJsZWQoKSksY3VycmVudFVuaXQ6c30pOnRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKX07dGhpcy5fYXZhaWxhYmxlVW5pdHM9ZS5hdmFpbGFibGVVbml0cygpLnNwYXduKCksdGhpcy5fc3ltYm9sSW5mby5zdWJzY3JpYmUoKCgpPT57Y29uc3QgZT10aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCksdD0oMCxQLnN5bWJvbEN1cnJlbmN5KShlKTtudWxsIT09ZSYmbnVsbCE9PXQ/dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7b3JpZ2luYWxDdXJyZW5jeTooMCxQLnN5bWJvbE9yaWdpbmFsQ3VycmVuY3kpKGUpLGN1cnJlbnRDdXJyZW5jeTp0LGJhc2VDdXJyZW5jeTooMCxQLnN5bWJvbEJhc2VDdXJyZW5jeSkoZSksaXNDdXJyZW5jeUNvbnZlcnRpYmxlOigwLFAuc3ltYm9sQ3VycmVuY3lDb252ZXJ0aWJsZSkoZSksaXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6KDAsUC5pc0NvbnZlcnRlZFRvT3RoZXJDdXJyZW5jeSkoZSksY3VycmVuY3lPcmlnaW5OYW1lOnRoaXMucHJvU3ltYm9sKCl9KTp0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnNldFZhbHVlKG51bGwpfSkpLHRoaXMuX3N5bWJvbEluZm8uc3Vic2NyaWJlKFQpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLnN1YnNjcmliZShUKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSwoMCxRLmdldFBlcnNpc3RlbnRMb2dnZXIpKCk/LmFkZFBlcnNpc3RlbnRMb2dFbnRyeShgU2V0IHNlcmllcyBJZCB0byAke2V9YCx1LkxPR0xFVkVMLklORk8sImNoYXJ0LnNlcmllcyIpfXN1cHBvcnRzQ29uZmxhdGVkQ2h1bmtzKCl7cmV0dXJuITB9Y29uZmxhdGVkQ2h1bmtzKGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLmNvbmZsYXRlZENodW5rcyhlLHQpfXNlcmllc0Vycm9yTWVzc2FnZSgpe2NvbnN0e3Nlcmllc1N0YXR1czplLGFkZGl0aW9uYWxTdHVkeVN0YXR1czp0fT10aGlzLl9zdGF0dXMudmFsdWUoKQo7cmV0dXJuIHRoaXMuaXNGYWlsZWQoKT90aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U6SS5zZXJpZXNMb2FkaW5nU3RhdHVzZXMuaGFzKGUpP251bGw6dD8udHlwZT09PUplLlN0dWR5U3RhdHVzVHlwZS5FcnJvcj8oMCxKZS5jb252ZXJ0U3R1ZHlTdGF0dXNUb1N0cmluZykoe3R5cGU6SmUuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246dC5lcnJvckRlc2NyaXB0aW9ufSwhMCk6bnVsbH1kZXN0cm95KCl7dGhpcy5fbGFzdFNwbGl0cy5kZXN0cm95KCksdGhpcy5fc2VyaWVzU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9xdW90ZXNQcm92aWRlci5xdW90ZXNVcGRhdGUoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9xdW90ZXNQcm92aWRlci5kZXN0cm95KCksdGhpcy5jbGVhckdvdG9EYXRlUmVzdWx0KCksdGhpcy5fbGVnZW5kVmlldy5kZXN0cm95KCksdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy5kZXN0cm95KCksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuZGVzdHJveSgpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8ucmVsZWFzZSgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmRlc3Ryb3koKSx0aGlzLl9kYXRhVXBkYXRlZE1vZGVNb2RlbD8uZGVzdHJveSgpLHRoaXMuX2RhdGFQcm9ibGVtTW9kZWwuZGVzdHJveSgpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmRlc3Ryb3koKSx0aGlzLl9wYW5lVmlldyYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSYmdGhpcy5fcGFuZVZpZXcuZGVzdHJveSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5kZXN0cm95KCksdGhpcy5fcXVvdGVzUHJvdmlkZXIucXVvdGVzVXBkYXRlKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZUNoYW5nZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl91bnN1YnNjcmliZVJlc3RhcnRUb1Nlc3Npb25JZENoYW5nZSgpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZGVzdHJveSgpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5kZXN0cm95KCksdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucmVzb2x2ZSgpLHRoaXMuX3Byb3BlcnRpZXMuZGVzdHJveSgpLHRoaXMuX2lzSW5SZXBsYXkuZGVzdHJveSgpLHRoaXMuX2F2YWlsYWJsZVVuaXRzLmRlc3Ryb3koKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUudW5zdWJzY3JpYmUodGhpcy5fcmVhbGlnbkxpbmVUb29sc0JvdW5kKSwkLmFsZXJ0c0F2YWlsYWJsZSYmdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnVuc3Vic2NyaWJlKHRoaXMuX3VwZGF0ZUFsZXJ0Q3JlYXRpb25BdmFpbGFibGVCb3VuZCksdGhpcy5faW50ZXJ2YWxDaGFuZ2VkLmRlc3Ryb3koKSxudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKSxzdXBlci5kZXN0cm95KCl9YmFyQ29sb3Jlcigpe2lmKHRoaXMuX2JhckNvbG9yZXJDYWNoZSlyZXR1cm4gdGhpcy5fYmFyQ29sb3JlckNhY2hlO2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lcygpO2ZvcihsZXQgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKXtjb25zdCBpPXRbc10uZGF0YVNvdXJjZXMoKS5maWx0ZXIoJGUuaXNTdHVkeSkuZmlsdGVyKChlPT5lLmhhc0JhckNvbG9yZXIoKSYmIWUuaXNTb3VyY2VIaWRkZW4oKSkpLnNvcnQoKChlLHQpPT5lLnpvcmRlcigpLXQuem9yZGVyKCkpKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKGlbdF0uYmFyQ29sb3JlcigpKTtudWxsPT09ZT9lPXM6ZS5wdXNoQmFja0JhckNvbG9yZXIocyl9fXJldHVybiBudWxsPT09ZT9lPW5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpOmUucHVzaEJhY2tCYXJDb2xvcmVyKG5ldyBqZS5TZXJpZXNCYXJDb2xvcmVyKHRoaXMpKSx0aGlzLl9iYXJDb2xvcmVyQ2FjaGU9ZSxlfWNyZWF0ZVBhbmVWaWV3KCl7dGhpcy5fcGFuZVZpZXc9bnVsbCx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW51bGwsdGhpcy5fd2F0ZXJsaW5lVmlldz1udWxsLHRoaXMuX3ByaWNlTGluZVZpZXc9dGhpcy5oYXNDbG9zZVByaWNlKCk/bmV3IGJlLlNlcmllc1ByaWNlTGluZVBhbmVWaWV3KHRoaXMpOm51bGw7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlLnZhbHVlKCk7c3dpdGNoKGUpe2Nhc2UgMDp0aGlzLl9wYW5lVmlldz1uZXcgRGUuU2VyaWVzQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTc6Y2FzZSAxOTpjYXNlIDE6dGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsLDE9PT1lfHwxOT09PWU/MTouMik7YnJlYWs7Y2FzZSAyOmNhc2UgMTg6Y2FzZSAxNDpjYXNlIDE1OnRoaXMuX3BhbmVWaWV3PW5ldyBSZS5TZXJpZXNMaW5lUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAzOnRoaXMuX3BhbmVWaWV3PW5ldyBrZS5TZXJpZXNBcmVhUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSAxNjp0aGlzLl9wYW5lVmlldz1uZXcgVmUuU2VyaWVzSExDQXJlYVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgODp0aGlzLl9wYW5lVmlldz1uZXcgQWUuU2VyaWVzSGVpa2VuQXNoaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgOTp0aGlzLl9wYW5lVmlldz1uZXcgRmUuU2VyaWVzSG9sbG93Q2FuZGxlc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgMTM6dGhpcy5fcGFuZVZpZXc9bmV3IE1lLlNlcmllc0NvbHVtbnNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDEwOnt0aGlzLl9wYW5lVmlldz1uZXcgQmUuU2VyaWVzQmFzZWxpbmVQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKQo7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmJhc2VsaW5lU3R5bGUuY2hpbGRzKCk7dGhpcy5fd2F0ZXJsaW5lVmlldz1uZXcgU2UuU2VyaWVzV2F0ZXJsaW5lUGFuZVZpZXcoe3BhbmVIZWlnaHQ6KCk9PnRoaXMucHJpY2VTY2FsZSgpLmhlaWdodCgpLGNvbG9yOigpPT5lLmJhc2VsaW5lQ29sb3IudmFsdWUoKSxiYXNlTGV2ZWxQZXJjZW50YWdlOigpPT5lLmJhc2VMZXZlbFBlcmNlbnRhZ2UudmFsdWUoKX0pO2JyZWFrfWNhc2UgMTI6dGhpcy5fcGFuZVZpZXc9bmV3IHdlLlNlcmllc0hpTG9QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDIxOnRoaXMuX3BhbmVWaWV3PW5ldyB0dC5TZXJpZXNITENCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9c3dpdGNoKGUpe2Nhc2UgNDp0aGlzLl9wYW5lVmlldz1uZXcgVGUuU2VyaWVzUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBUZS5TZXJpZXNQcm9qZWN0aW9uUmVua29QYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKTticmVhaztjYXNlIDc6dGhpcy5fcGFuZVZpZXc9bmV3IENlLlNlcmllc1ByaWNlQnJlYWtQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBDZS5TZXJpZXNQcm9qZWN0aW9uUHJpY2VCcmVha1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpO2JyZWFrO2Nhc2UgNTp0aGlzLl9wYW5lVmlldz1uZXcgRWUuU2VyaWVzS2FnaVBhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpLHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXc9bmV3IEVlLlNlcmllc1Byb2plY3Rpb25LYWdpUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCk7YnJlYWs7Y2FzZSA2OnRoaXMuX3BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQbkZQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBJZS5TZXJpZXNQcm9qZWN0aW9uUG5GUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCl9aWYoMTE9PT1lJiYodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmJhclN0eWxlLnZhbHVlKCk9PT1LZS5SYW5nZUJhclN0eWxlLkJhcnM/KHRoaXMuX3BhbmVWaWV3PW5ldyBEZS5TZXJpZXNCYXJzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz1uZXcgaWUuU2VyaWVzUHJvamVjdGlvblJhbmdlQmFyc1BhbmVWaWV3KHRoaXMsdGhpcy5fbW9kZWwpKToodGhpcy5fcGFuZVZpZXc9bmV3IHhlLlNlcmllc0NhbmRsZXNQYW5lVmlldyh0aGlzLHRoaXMuX21vZGVsKSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3PW5ldyBpZS5TZXJpZXNQcm9qZWN0aW9uUmFuZ2VDYW5kbGVzUGFuZVZpZXcodGhpcyx0aGlzLl9tb2RlbCkpKSwyMD09PWUmJih0aGlzLl9wYW5lVmlldz1ZLkVtcHR5UGFuZVZpZXcuaW5zdGFuY2UoKSksbnVsbD09PXRoaXMuX3BhbmVWaWV3KXRocm93IEVycm9yKCJVbmtub3duIGNoYXJ0IHN0eWxlIGFzc2lnbmVkOiAiK2UpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc316b3JkZXIoKXtyZXR1cm4gMH1xdW90ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9xdW90ZXNQcm92aWRlcn1jdXJyZW50U2Vzc2lvbigpe3JldHVybiB0aGlzLl9jdXJyZW50U2Vzc2lvbn1zeW5jTW9kZWwoKXtpZighdGhpcy5fc3luY01vZGVsKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpLHQ9dGhpcy5pbnRlcnZhbCgpO2lmKCFlfHwhdClyZXR1cm4gbnVsbDt0aGlzLl9zeW5jTW9kZWw9bmV3IFIuU3luY01vZGVsKGUsdCl9cmV0dXJuIHRoaXMuX3N5bmNNb2RlbH1sYWJlbFBhbmVWaWV3cygpe3JldHVybiB0aGlzLl9sYWJlbFBhbmVWaWV3c310b3BQYW5lVmlld3MoKXtjb25zdCBlPVtdO2lmKG51bGwhPT10aGlzLl9nb3RvRGF0ZVZpZXcmJmUucHVzaCh0aGlzLl9nb3RvRGF0ZVZpZXcpLHRoaXMuX2xhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSl7Y29uc3QgdD10aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldzt0LmFuaW1hdGlvbkFjdGl2ZSgpJiZzZXRUaW1lb3V0KCgoKT0+dGhpcy5fbW9kZWwuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKSksMCksdC5pbnZhbGlkYXRlU3RhZ2UoKSxlLnB1c2godCl9cmV0dXJuIDAhPT1lLmxlbmd0aD9lOm51bGx9cGFuZVZpZXdzKGUpe2lmKCF0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJiF0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmUoKSlyZXR1cm4gbnVsbDtjb25zdCB0PWU9PT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLHM9dD9bKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9iYXNlSG9yaXpvbnRhbExpbmVWaWV3KSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3BhbmVWaWV3KV06W107aWYocy5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3M/LnBhbmVWaWV3cyhlKT8/W10pLHQpe2lmKDE3IT09dGhpcy5zdHlsZSgpJiZ0aGlzLl9kZWxheVN0YXR1c1BhbmVWaWV3KXtjb25zdCBlPXRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXcuZ2V0KCk7ZSYmKGUuc2V0QmFyc1Byb3ZpZGVyKHRoaXMuX3Byb2plY3Rpb25CYXJzUGFuZVZpZXcpLHMucHVzaChlKSl9dGhpcy5fZW5kT2ZEYXRhUGFuZVZpZXcmJnMucHVzaCh0aGlzLl9lbmRPZkRhdGFQYW5lVmlldyksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3KSx0aGlzLl9wcm9qZWN0aW9uQmFyc1BhbmVWaWV3JiZzLnB1c2godGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldyksbnVsbCE9PXRoaXMuX3dhdGVybGluZVZpZXcmJnMucHVzaCh0aGlzLl93YXRlcmxpbmVWaWV3KSxzLnB1c2goKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3KSksbnVsbCE9PXRoaXMuX3ByaWNlTGluZVZpZXcmJnMucHVzaCh0aGlzLl9wcmljZUxpbmVWaWV3KSwKd2luZG93LlRyYWRpbmdWaWV3LnByaW50aW5nJiZ0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmUmJih0aGlzLl9saW5lU3R5bGVMYXN0UHJpY2VDaXJjbGVQYW5lVmlldy5zdG9wQW5pbWF0aW9uKCkscy5wdXNoKHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3KSkscy5wdXNoKC4uLnRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MpLHMucHVzaCguLi50aGlzLl9hdmVyYWdlUGFuZVZpZXdzKX1yZXR1cm4gc313aWRnZXRTaWRlQXJlYVZpZXdzKGUpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy53aWRnZXRTaWRlQXJlYVZpZXdzKGUpPz9udWxsfXByaWNlQXhpc1ZpZXdzKGUsdCl7cmV0dXJuIGUuZmluZFRhcmdldFByaWNlQXhpc1ZpZXdzKHRoaXMsdCx0aGlzLl9wcmljZUF4aXNWaWV3cyx0aGlzLl9wcmljZUxpbmVBeGlzVmlld3MpfWNsZWFySGlnaExvd1ByaWNlQ2FjaGUoKXt0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5jbGVhcigpfWNsZWFyQXZlcmFnZVByaWNlQ2FjaGUoKXt0aGlzLl9hdmVyYWdlUHJpY2VDYWNoZS5jbGVhcigpfXByaWNlU2NhbGUoKXtyZXR1cm4oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByaWNlU2NhbGUpfXNldFByaWNlU2NhbGUoZSl7dGhpcy5fcHJpY2VTY2FsZSE9PWUmJih0aGlzLl9wcmljZVNjYWxlQWJvdXRUb0JlQ2hhbmdlZC5maXJlKCksdGhpcy5fcHJpY2VTY2FsZT1lLHRoaXMuX3Byb3BlcnRpZXMucmVtb3ZlUHJvcGVydHkoInByaWNlQXhpc1Byb3BlcnRpZXMiKSx0aGlzLl9wcm9wZXJ0aWVzLmFkZENoaWxkKCJwcmljZUF4aXNQcm9wZXJ0aWVzIixlLnByb3BlcnRpZXMoKSksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5wcmljZUF4aXNQcm9wZXJ0aWVzLmZpcmVDaGFuZ2VkKCksKDAsXy5lbWl0KSgic2VyaWVzX2V2ZW50IiwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpLHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkLmZpcmUoZSkpfXByaWNlU2NhbGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVDaGFuZ2VkfXByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3ByaWNlU2NhbGVBYm91dFRvQmVDaGFuZ2VkfWFwcGx5UHJlZmVyZW5jZXMoZSl7Y29uc3QgdD0oMCxhLmNsb25lKShlKTt0aGlzLnByaWNlU2NhbGUoKS5zZXRNb2RlKHthdXRvU2NhbGU6dC5wcmljZUF4aXNQcm9wZXJ0aWVzLmF1dG9TY2FsZSxwZXJjZW50YWdlOnQucHJpY2VBeGlzUHJvcGVydGllcy5wZXJjZW50YWdlLGxvZzp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9nLGxvY2tTY2FsZTp0LnByaWNlQXhpc1Byb3BlcnRpZXMubG9ja1NjYWxlfSksdGhpcy5zZXRDaGFydFN0eWxlV2l0aEludGVydmFsSWZOZWVkZWQodC5zdHlsZSk7Y29uc3R7c3R5bGU6cyxpbnRlcnZhbDppLC4uLm59PXQ7dGhpcy5fcHJvcGVydGllcy5tZXJnZVByZWZlcmVuY2VzKG4pLHRoaXMuX3Byb3BlcnRpZXMuc2F2ZURlZmF1bHRzKCksdGhpcy5jcmVhdGVQYW5lVmlldygpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCl9ZGlzY29ubmVjdCgpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnN0b3AoKSx0aGlzLl9zZXJpZXNTb3VyY2Uuc3RvcCgpLHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fdXBkYXRlU3RhdHVzKHsuLi50aGlzLl9zdGF0dXMudmFsdWUoKSxzZXJpZXNTdGF0dXM6MH0pfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl9aXNDb21wbGV0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQ29tcGxldGVkfXJlc3RhcnQoZSl7aWYoNT09PXRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cylyZXR1cm47bGV0IHQ9bnVsbDt0aGlzLl9wZW5kaW5nVGltZVJhbmdlJiYodD10aGlzLl9wZW5kaW5nVGltZVJhbmdlLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3Nlcmllc1NvdXJjZS5zZXRUaW1lZnJhbWUodCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsKSk7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCksaT0oMCxwLmdldFNlcnZlckludGVydmFsKShzKSxuPXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpO3RoaXMuX3Nlcmllc1NvdXJjZS5jYW5Nb2RpZnlTZXJpZXMobixpKT8odGhpcy5fc2VyaWVzTG9hZGVkPSExLHRoaXMuX3Nlcmllc0NvbXBsZXRlZD0hMSx0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuX29uUmVzdGFydGVkLmZpcmUoKSx0aGlzLl9zZXRTdGF0dXMoMSksdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSxjLkludGVydmFsLmlzRXF1YWwocyx0aGlzLl9wcmV2UmVxdWVzdGVkSW50ZXJ2YWwpfHx0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQocyksZXx8dGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCkscyksdGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUodCksdGhpcy5fZGF0YT1udWxsLHRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNSZXN0YXJ0KSx0aGlzLl9zZXJpZXNTb3VyY2UubW9kaWZ5U2VyaWVzKG4saSx0KSx0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10aGlzLmludGVydmFsKCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1udWxsLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpKTp0aGlzLl9zZXJpZXNTb3VyY2UuaXNTdGFydGVkKCl8fCh0aGlzLl91cGRhdGVTeW1ib2xJbmZvKG51bGwpLHRoaXMuX3Nlcmllc1NvdXJjZS5zdGFydCgpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RhcnQoKSl9aXNTeW1ib2xJbnZhbGlkKCl7cmV0dXJuIDQ9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXN9CmdldFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCgpKX1nZXRBbGVydFN5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLmFjdHVhbFN5bWJvbCgpLCEwLCEwKSl9Z2V0QWxlcnRQcm9TeW1ib2xTdHJpbmcoKXtyZXR1cm4oMCxoZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QodGhpcy5wcm9TeW1ib2woKSwhMCwhMCkpfWdldFF1b3Rlc1N5bWJvbFN0cmluZygpe3JldHVybigwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtza2lwTWV0cmljOiEwfSkpfWludmFsaWRhdGVCYXJTdHlsZXNDYWNoZShlKXtodC5sb2dEZWJ1ZygiSW52YWxpZGF0ZSBzdHlsZSBjYWNoZSBzdGFydGluZyBmcm9tICIrZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5iYXJzKCksZSksdGhpcy5fY2xlYXJTdHlsZVBsb3QodGhpcy5uc0JhcnMoKSl9aXNMb2FkaW5nKCl7cmV0dXJuIEkuc2VyaWVzTG9hZGluZ1N0YXR1c2VzLmhhcyh0aGlzLnN0YXR1c1dWKCkudmFsdWUoKSl9aXNGYWlsZWQoKXtjb25zdCBlPXRoaXMuc3RhdHVzKCk7cmV0dXJuIDEyPT09ZXx8ND09PWV8fDEwPT09ZXx8MTQ9PT1lfHwxMz09PWV9aXNTdGF0dXNFcnJvcigpe3JldHVybiAxMj09PXRoaXMuc3RhdHVzKCl9dW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy5fdW5zdXBwb3J0ZWRSZXNvbHV0aW9uU3RhdGUucmVhZG9ubHkoKX1hY3R1YWxTeW1ib2woKXtyZXR1cm4oMCxQLmFjdHVhbFN5bWJvbCkodGhpcy5zeW1ib2xJbmZvKCksdGhpcy5zeW1ib2woKSl9cHJvU3ltYm9sKCl7cmV0dXJuKDAsUC5wcm9TeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpLHRoaXMuc3ltYm9sKCkpfW9uU3R5bGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXN0eWxlKCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9c2V0U3R5bGUoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3N0eWxlOmV9KX1pc1JhbmdlQmFzZWRTdHlsZSgpe3JldHVybigwLFAuaXNSYW5nZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSl9c3ltYm9sU2FtZUFzQ3VycmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2woKT09PWV8fCgwLGRlLnN5bWJvbFNhbWVBc0N1cnJlbnQpKGUsdGhpcy5zeW1ib2xJbmZvKCkpfXN5bWJvbFNhbWVBc1Jlc29sdmVkKGUpe3JldHVybiB0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/dGhpcy5zeW1ib2xTYW1lQXNDdXJyZW50KGUpOnRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKX1zdGF0dXMoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzLnZhbHVlKCl9c3RhdHVzV1YoKXtyZXR1cm4gdGhpcy5fc2VyaWVzU3RhdHVzfWNvbXBvc2l0ZVN0YXR1c1ZXKCl7cmV0dXJuIHRoaXMuX3N0YXR1c31zeW1ib2woKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCl9c3ltYm9sT3JBbGlhcygpe2NvbnN0IGU9dGhpcy5zeW1ib2woKSx0PXRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5nZXRBbGlhc0J5UHJvTmFtZShlKTtyZXR1cm4gdD8uYWxpYXNOYW1lPz9lfXN5bWJvbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sfXNlcmllc1NvdXJjZSgpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2V9c3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9zeW1ib2xJbmZvLnZhbHVlKCl9YWxpYXNTeW1ib2xJbmZvKCl7cmV0dXJuKHRoaXMuX2FsaWFzU3ltYm9sSW5mbz8/dGhpcy5fc3ltYm9sSW5mbykudmFsdWUoKX1zeW1ib2xJbmZvV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW5mby5yZWFkb25seSgpfWxhc3RTcGxpdHMoKXtyZXR1cm4gdGhpcy5fbGFzdFNwbGl0c31vdmVycmlkZUxhc3RTcGxpdHMoZSl7dGhpcy5fb3ZlcnJpZGRlbkxhc3RTcGxpdHMuc2V0VmFsdWUoZSl9c3ltYm9sUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKX1zeW1ib2xSZXNvbHZpbmdBY3RpdmUoKXtyZXR1cm4gdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlfXN5bWJvbEhpYmVybmF0ZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzQWx3YXlzRmFsc2VIaWJlcm5hdGVkVld9Z2V0U3ltYm9sTmFtZSgpe3JldHVybiB0aGlzLnN5bWJvbEluZm8oKT8ubmFtZT8/IiJ9Zmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5maXJzdEJhcigpO3JldHVybiBudWxsPT09ZT9udWxsOnRoaXMuX2JhckZ1bmN0aW9uKGUsMCl9Zmlyc3RCYXIoKXtjb25zdCBlPXRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmZpcnN0QmFyKCkscz10aGlzLmRhdGEoKS5zZWFyY2godCxoLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCk7cmV0dXJuIG51bGwhPT1zP3MudmFsdWU6bnVsbH1mb3JtYXR0ZXIoZT0hMCl7cmV0dXJuIGU/dGhpcy5fZm9ybWF0dGVyOnRoaXMuX2lnbm9yZU1pbk1vdmVGb3JtYXR0ZXJ9ZGVmYXVsdEZvcm1hdHRlcigpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyfXByaWNlU3RlcChlPSEwKXtyZXR1cm4gZT90aGlzLl9wcmljZVN0ZXA6dGhpcy5faWdub3JlTWluTW92ZVByaWNlU3RlcH1iYXJzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmJhcnMoKX1uc0JhcnMoKXtyZXR1cm4gdGhpcy5kYXRhKCkubnNCYXJzKCl9aW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKX1zZXRJbnRlcnZhbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7aW50ZXJ2YWw6ZX0pfWludGVydmFsT2JqKCl7CnJldHVybiB0aGlzLl9pbnRlcnZhbE9iai5yZWFkb25seSgpfXByZXZDbG9zZSgpe2NvbnN0IGU9dGhpcy5wcmljZVNjYWxlKCk7aWYoZS5pc0VtcHR5KCl8fHRoaXMuZGF0YSgpLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMucXVvdGVzKCkscz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsPT09dHx8bnVsbD09PXMpcmV0dXJuIG51bGw7Y29uc3QgaT10LnByZXZfY2xvc2VfcHJpY2U7cmV0dXJuIHZvaWQgMD09PWk/bnVsbDp7Y29vcmRpbmF0ZTplLnByaWNlVG9Db29yZGluYXRlKGkscyksZm9ybWF0dGVkUHJpY2VQZXJjZW50YWdlOmUuZm9ybWF0UHJpY2VQZXJjZW50YWdlKGkscyx7c2lnblBvc2l0aXZlOiEwfSksZm9ybWF0dGVkUHJpY2VBYnNvbHV0ZTplLmZvcm1hdFByaWNlQWJzb2x1dGUoaSksZm9ybWF0dGVkUHJpY2VJbmRleGVkVG8xMDA6ZS5mb3JtYXRQcmljZUluZGV4ZWRUbzEwMChpLHMpfX1wcmljZUxpbmVDb2xvcihlKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJpY2VMaW5lQ29sb3IudmFsdWUoKXx8ZX1oYXNDbG9zZVByaWNlKCl7cmV0dXJuIGR0fHwxMiE9PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlLnZhbHVlKCl9bGFzdFZhbHVlRGF0YShlLHQscyl7Y29uc3QgaT17bm9EYXRhOiEwfSxuPXRoaXMucHJpY2VTY2FsZSgpO2lmKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG4uaXNFbXB0eSgpfHx0aGlzLmRhdGEoKS5pc0VtcHR5KCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLm1vZGVsKCkudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCk7aWYobnVsbD09PXJ8fG51bGw9PT1vKXJldHVybiBpO2xldCBhLGw7aWYodCl7Y29uc3QgZT10aGlzLmRhdGEoKS5iYXJzKCkubGFzdCgpO2lmKG51bGw9PT1lKXJldHVybiBpO2E9ZS52YWx1ZSxsPWUuaW5kZXh9ZWxzZXtjb25zdCBlPXRoaXMuZGF0YSgpLmJhcnMoKS5zZWFyY2goci5sYXN0QmFyKCksaC5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYobnVsbD09PWUpcmV0dXJuIGk7YT1lLnZhbHVlLGw9ZS5pbmRleH1jb25zdCB1PSh2b2lkIDAhPT1lP2FbZV06dGhpcy5fYmFyRnVuY3Rpb24oYSwyKSk/P05hTixjPXRoaXMuYmFyQ29sb3JlcigpLmJhclN0eWxlKGwsITEpLGQ9bi5wcmljZVRvQ29vcmRpbmF0ZSh1LG8pLHA9ey4uLm4uZ2V0Rm9ybWF0dGVkVmFsdWVzKHUsbywhMCksbm9EYXRhOiExLGNvbG9yOmMuYmFyQ29sb3IsY29vcmRpbmF0ZTpkLGluZGV4Omx9O3JldHVybiBzJiYocC5wcmljZT11KSxwfWlzRFdNKCl7cmV0dXJuIHRoaXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLmlzRFdNKCl9aXNQdWxzZSgpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7cmV0dXJuIG51bGwhPT1lJiYoZS5yZXNvbHV0aW9ucz8/W10pLmxlbmd0aD4wfWRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YT8/dGhpcy5fc2VyaWVzU291cmNlLmRhdGEoKX1jbGVhckRhdGEoKXsoMCxuLmFzc2VydCkobnVsbD09PXRoaXMuX2RhdGEsIkNhbm5vdCBjbGVhciBsb2FkZWQgZGF0YSIpLHRoaXMuX3N0dWR5QmluZGluZ3M/LmNsZWFyRGF0YSgpLHRoaXMuX3Nlcmllc1NvdXJjZS5jbGVhckRhdGEoKX1uZWFyZXN0RGF0YShlLHQpe3JldHVybiB0aGlzLmRhdGEoKS5zZWFyY2goZSx0KT8/dm9pZCAwfW5lYXJlc3RJbmRleChlLHQpe3JldHVybiB0aGlzLm5lYXJlc3REYXRhKGUsdCk/LmluZGV4fW5lYXJlc3RWYWx1ZShlLHQscyl7Y29uc3QgaT10aGlzLm5lYXJlc3REYXRhKGUscyk7cmV0dXJuIGk/LnZhbHVlW3RdPz92b2lkIDB9b25TeW1ib2xJbnRlcnZhbENoYW5nZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sSW50ZXJ2YWxDaGFuZ2VkfW9uSW50ZXJ2YWxDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX2ludGVydmFsQ2hhbmdlZH1vblN0YXR1c0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fb25TdGF0dXNDaGFuZ2VkfW9uUmVzdGFydGVkKCl7cmV0dXJuIHRoaXMuX29uUmVzdGFydGVkfWZpeExhc3RCYXIoZSl7aWYoIXRoaXMuX2Z1dHVyZUJhcnNQYW5lVmlldyl7Y29uc3QgdD10aGlzLmJhcnMoKS5sYXN0SW5kZXgoKTt0JiYodGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3PW5ldyBqLkZ1dHVyZUJhcnNQYW5lVmlldyh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCksdGhpcyx0LGUpKX19cmVxdWVzdE1vcmVEYXRhKGUpe2lmKCFJLnNlcmllc1JlYWR5U3RhdHVzZXMuaGFzKHRoaXMuX3N0YXR1cy52YWx1ZSgpLnNlcmllc1N0YXR1cykpcmV0dXJuO2lmKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmlzRW1wdHkoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuO2lmKDA9PT10aGlzLmJhcnMoKS5zaXplKCkpcmV0dXJuO2NvbnN0IHM9dC5sYXN0QmFyKCktKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmRhdGEoKS5sYXN0KCkpLmluZGV4O2lmKHRoaXMuX3ByZWRpY3RCYXJzPHMmJih0aGlzLl9wcmVkaWN0QmFycz1zLHRoaXMuX3Nlcmllc1NvdXJjZS5yZXF1ZXN0TW9yZVRpY2ttYXJrcyhzKSksIXRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZSlyZXR1cm47Y29uc3QgaT0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSkscj1lfHxNYXRoLm1heChpLXQuZmlyc3RCYXIoKSxpLSh0aGlzLl9zdHVkeUJpbmRpbmdzPy5yZXF1ZXN0TW9yZURhdGFJbmRleCgpPz9pKSk7aWYocjw9MClyZXR1cm47aWYoIU51bWJlci5pc0Zpbml0ZShyKSlyZXR1cm4gdm9pZCBodC5sb2dXYXJuKCJyZXF1ZXN0TW9yZURhdGE6IGludmFsaWQgYmFyIGNvdW50OiAiK3IrIiwgdmlzaWJsZSBiYXJzOiBbIit0LmZpcnN0QmFyKCkrIiwgIit0Lmxhc3RCYXIoKSsiXSwgbGFzdCBpbmRleDogIisoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgrIiwgcHJlZGljdGVkIGJhcnM6ICIrdGhpcy5fcHJlZGljdEJhcnMrIiwgcmVxdWlyZWQgYmFyczoiK2UpO3RoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZT0hMQo7Y29uc3Qgbz10aGlzLl9jb2xvck9uUHJldkJhcigpPzI6MDt0aGlzLl9zZXJpZXNTb3VyY2UucmVxdWVzdE1vcmVEYXRhKHIrbyksdGhpcy5fc2V0U3RhdHVzKDIpfWlzTmVlZFJlc3RhcnQoZSl7cmV0dXJuIDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJih2b2lkIDA9PT1lJiYoZT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpKSwoMCxQLnN0eWxlQ2hhbmdlUmVxdWlyZXNSZXN0YXJ0KSh0aGlzLl9wcmV2Q2hhcnRTdHlsZSxlKSl9aXNTdHlsZVN1cHBvcnRlZChlKXtyZXR1cm4hdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKXx8KDAsUC5pc1N0eWxlU3VwcG9ydGVkRm9yUmVwbGF5KShlKX1zZXNzaW9uSWQoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnZhbHVlKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9zZXNzaW9uSWRDaGFuZ2VkfXByaWNlUmFuZ2UoZSl7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlO2lmKHRoaXMuZGF0YSgpLmlzRW1wdHkoKXx8IXQpcmV0dXJuIG51bGw7Y29uc3R7c3RhcnRUaW1lUG9pbnQ6cyxlbmRUaW1lUG9pbnQ6aX09ZTtpZih0LmlzTG9ja1NjYWxlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwubWFpblNlcmllc1NjYWxlUmF0aW8oKTtpZihudWxsIT09ZSl7Y29uc3Qgcz10LmludGVybmFsSGVpZ2h0KCkvKHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCkvZSkscj0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuZGF0YSgpLnNlYXJjaChpLGguUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKS52YWx1ZSxvPSgoMCxuLmVuc3VyZSkoclsyXSkrKDAsbi5lbnN1cmUpKHJbM10pKS8yO3JldHVybiBuZXcgUy5QcmljZVJhbmdlKG8tLjUqcyxvKy41KnMpfX1jb25zdCByPXRoaXMucHJpY2VTb3VyY2UoKTtsZXQgbyxhLGw7aWYobnVsbCE9PXI/KG89dGhpcy5kYXRhKCkuYmFycygpLm1pbk1heE9uUmFuZ2VDYWNoZWQocyxpLFt7bmFtZTpyLG9mZnNldDowfV0pLGE9dGhpcy5kYXRhKCkubnNCYXJzKCkubWluTWF4T25SYW5nZUNhY2hlZChzLGksW3tuYW1lOnIsb2Zmc2V0OjB9XSkpOihvPXRoaXMuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHMsaSxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKSxhPXRoaXMuZGF0YSgpLm5zQmFycygpLm1pbk1heE9uUmFuZ2UocyxpLFt7bmFtZToibG93IixvZmZzZXQ6MH0se25hbWU6ImhpZ2giLG9mZnNldDowfV0pKSxvPSgwLGQubWVyZ2VNaW5NYXgpKG8sYSksbnVsbD09PW8pbD1uZXcgUy5QcmljZVJhbmdlKC0uNSwuNSk7ZWxzZSBpZihvLm1pbj09PW8ubWF4KXtjb25zdCBlPTUvKHRoaXMuc3ltYm9sSW5mbygpPy5wcmljZXNjYWxlPz8xMDApO2w9bmV3IFMuUHJpY2VSYW5nZShvLm1pbi1lLG8ubWF4K2UpfWVsc2UgbD1uZXcgUy5QcmljZVJhbmdlKG8ubWluLG8ubWF4KTtyZXR1cm4gdC5pc0xvZygpP25ldyBTLlByaWNlUmFuZ2UodC5wcmljZVRvTG9naWNhbChsLm1pblZhbHVlKCkpLHQucHJpY2VUb0xvZ2ljYWwobC5tYXhWYWx1ZSgpKSk6bH1hdXRvU2NhbGVJbmZvKGUpe2xldCB0PXtyYW5nZTp0aGlzLnByaWNlUmFuZ2Uoey4uLmUsc2NhbGVTZXJpZXNPbmx5OiEwfSksdG9wUGl4ZWxNYXJnaW46dGhpcy5fcGFuZVZpZXc/LnRvcFBpeGVsTWFyZ2luPy4oKSxib3R0b21QaXhlbE1hcmdpbjp0aGlzLl9wYW5lVmlldz8uYm90dG9tUGl4ZWxNYXJnaW4/LigpfTtpZighZS5zY2FsZVNlcmllc09ubHkpe2NvbnN0IHM9dGhpcy5fbW9kZWwuYWxsU3R1ZGllcygpLmZpbHRlcigoZT0+ZS5pc1Zpc2libGUoKSkpLGk9KGUsdCk9PnZvaWQgMD09PWU/dDp2b2lkIDA9PT10P2U6TWF0aC5tYXgoZSx0KSxuPXMubWFwKCh0PT50LmF1dG9TY2FsZUluZm8oey4uLmUsZm9yY2VPdmVybGF5T25seTohMH0pKSk7dGhpcy5fc3R1ZHlCaW5kaW5ncyYmbi5wdXNoKC4uLnRoaXMuX3N0dWR5QmluZGluZ3MuYXV0b1NjYWxlSW5mb3MoZSkpO2NvbnN0IHI9KGUsdCk9Pih7cmFuZ2U6ZS5yYW5nZT90LnJhbmdlP2UucmFuZ2UubWVyZ2UodC5yYW5nZSk6ZS5yYW5nZTp0LnJhbmdlLHRvcFBpeGVsTWFyZ2luOmkoZS50b3BQaXhlbE1hcmdpbix0LnRvcFBpeGVsTWFyZ2luKSxib3R0b21QaXhlbE1hcmdpbjppKGUuYm90dG9tUGl4ZWxNYXJnaW4sdC5ib3R0b21QaXhlbE1hcmdpbil9KTt0PW4ucmVkdWNlKHIsdCl9cmV0dXJuIHR9b25DaGFydFN0eWxlQ2hhbmdlZCgpe2lmKHRoaXMuX3VwZGF0ZUJhckZ1bmN0aW9uKCksdGhpcy5pc05lZWRSZXN0YXJ0KCkpe3RoaXMuZGF0YSgpLmNsZWFyKCk7Y29uc3QgZT0oMCxQLmlzU3R5bGVTdXBwb3J0ZWRGb3JSZXBsYXkpKHRoaXMuc3R5bGUoKSk7dGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSYmIWUmJnRoaXMuX3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKSx0aGlzLl9zYXZlTGVmdEVkZ2VJZlJlcXVpcmVkKCExKXx8dGhpcy5tb2RlbCgpLnRpbWVTY2FsZSgpLnNjcm9sbFRvUmVhbHRpbWUoITEpLHRoaXMucmVzdGFydChlKX1jb25zdCBlPXRoaXMucHJvcGVydGllcygpO3RoaXMuX3ByZXZDaGFydFN0eWxlIT09ZS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpJiZ0aGlzLl9zdHVkeUJpbmRpbmdzPy5zeW5jU3R1ZHkodGhpcy5zdHlsZSgpKSx0aGlzLl9wcmV2Q2hhcnRTdHlsZT1lLmNoaWxkcygpLnN0eWxlLnZhbHVlKCksdGhpcy5fb25TdHlsZUNoYW5nZWQuZmlyZShlLmNoaWxkcygpLnN0eWxlLnZhbHVlKCkpLHRoaXMuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI/Lm9yaWdpbmFsU3R5bGUhPT10aGlzLnN0eWxlKCkmJih0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKSx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9c2V0Q2hhcnRTdHlsZVdpdGhJbnRlcnZhbElmTmVlZGVkKGUsdCl7Y29uc3Qgcz10aGlzLmludGVydmFsKCksaT10Pz8oMCwKdmUuZ2V0UmVzb2x1dGlvbkJ5Q2hhcnRTdHlsZSkoZSxzLHRoaXMuX21vZGVsLmRlZmF1bHRSZXNvbHV0aW9ucygpKSxuPWMuSW50ZXJ2YWwuaXNFcXVhbChpLHMpO3RoaXMuc2V0U3ltYm9sUGFyYW1zKHtpbnRlcnZhbDpuP3ZvaWQgMDppLHN0eWxlOmV9KX1nZXRJbnB1dHNQcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiBlPy5jaGlsZHMoKS5pbnB1dHM/P25ldyB3LlByb3BlcnR5fWdldElucHV0c0luZm9Qcm9wZXJ0aWVzKCl7Y29uc3QgZT10aGlzLl9zdHVkeUJpbmRpbmdzPy5nZXRJbnB1dHNJbmZvUHJvcGVydGllcygpO2lmKGUpcmV0dXJuIGU7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkKGAke3RoaXMuZ2V0U3R5bGVTaG9ydE5hbWUoKX1TdHlsZWApO3JldHVybiB0Py5jaGlsZHMoKS5pbnB1dEluZm8/P25ldyB3LlByb3BlcnR5fWdldFNvdXJjZUljb24oKXtyZXR1cm57dHlwZToibG9hZFN2ZyIsc3ZnSWQ6YHNlcmllcy4ke3RoaXMuc3R5bGUoKX1gfX1vblNvdXJjZUljb25DaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uU3R5bGVDaGFuZ2VkfXB1cmdlU3ltYm9sSW5mbygpe3RoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUobnVsbCksdGhpcy5fcXVvdGVzTGFzdFNwbGl0cy5zZXRWYWx1ZShudWxsKX1pZEZvckFsZXJ0KCl7cmV0dXJuKDAsVS5nZXRTZXJpZXNJZEZvckFsZXJ0KSh0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksdGhpcy5pbnRlcnZhbCgpKX1oYXNTdGF0ZUZvckFsZXJ0KCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gc3VwZXIuaGFzU3RhdGVGb3JBbGVydCgpJiYhKDAsUC5pc0Vjb25vbWljU3ltYm9sKShlKSYmISgwLFAuaXNNZXRyaWNBY3RpdmUpKGUpfXN0YXRlRm9yQWxlcnQoKXtjb25zdCBlPXRoaXMuaWRGb3JBbGVydCgpLHQ9ei5Gb3JtYXR0ZXJzU2VyaWFsaXplci5zZXJpYWxpemUodGhpcy5fZm9ybWF0dGVyKTtsZXQgcztjb25zdCBpPXRoaXMuaXNEV00oKT9DLlN1YnNlc3Npb25JZC5SZWd1bGFyOnRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkscj10aGlzLnN5bWJvbEluZm8oKTtpZihyJiZyLnN1YnNlc3Npb25zJiZyLnN1YnNlc3Npb25zLmxlbmd0aD4xKXtjb25zdCBlPXIuc3Vic2Vzc2lvbnM/LmZpbmQoKGU9PmUuaWQ9PT1pKSk7ZSYmKHM9KDAsSC50cmFuc2xhdGVTZXNzaW9uRXh0ZW5kZWREZXNjcmlwdGlvbikoZS5kZXNjcmlwdGlvbixyLnR5cGUpKX1jb25zdCBvPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3JldHVybntpZDplLHR5cGU6Ik1haW5TZXJpZXMiLGFjdHVhbFN5bWJvbDp0aGlzLmFjdHVhbFN5bWJvbCgpLHN5bWJvbFN0cmluZzp0aGlzLmdldEFsZXJ0U3ltYm9sU3RyaW5nKCksaW50ZXJ2YWw6dGhpcy5pbnRlcnZhbCgpLHN0eWxlOm8uc3R5bGUudmFsdWUoKSxzdHlsZUlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpLHNlc3Npb25JZDppLHNlc3Npb25EZXNjcmlwdGlvbjpzLGRpdmlkZW5kc0FkanVzdG1lbnQ6KDAsbi5lbnN1cmVEZWZpbmVkKShvLmRpdmlkZW5kc0FkanVzdG1lbnQpLnZhbHVlKCksYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50LGlzU3ByZWFkOnRoaXMuaXNTcHJlYWQoKSxmb3JtYXR0ZXI6dH19YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuc3RhdGVGb3JBbGVydCgpfXN0eWxlU3R1ZHlJbmZvcygpe2xldCBlPXtoYVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoOCwhMCkpfSxyZW5rb1N0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNCwhMCkpfSxwYlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNywhMCkpfSxrYWdpU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSg1LCEwKSl9LHBuZlN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoNiwhMCkpfSxyYW5nZVN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTEsITApKX19O3JldHVybiBlPXsuLi5lLHZvbEZvb3RwcmludFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMTcsITApKX0sdHBvU3R5bGU6e3N0dWR5SWQ6KDAsbi5lbnN1cmVOb3ROdWxsKSgoMCxQLmNoYXJ0U3R5bGVTdHVkeUlkKSgxOCwhMCx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnRwb1N0eWxlLmNoaWxkcygpLmlucHV0cy5zdGF0ZSgpKSl9LHN2cFN0eWxlOntzdHVkeUlkOigwLG4uZW5zdXJlTm90TnVsbCkoKDAsUC5jaGFydFN0eWxlU3R1ZHlJZCkoMjAsITApKX19LGV9ZGF0YUV2ZW50cygpe3JldHVybiB0aGlzLl9zZXJpZXNTb3VyY2UuZGF0YUV2ZW50cygpfWlzU3ByZWFkKCl7cmV0dXJuInNwcmVhZCI9PT10aGlzLnN5bWJvbEluZm8oKT8udHlwZX1pc1lpZWxkKCl7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKTtyZXR1cm4gbnVsbCE9PWUmJigwLHFlLmlzWWllbGQpKGUpfWRpdmlkZW5kc0FkanVzdG1lbnRQcm9wZXJ0eSgpe3JldHVybigwLG4uZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5kaXZpZGVuZHNBZGp1c3RtZW50KX1zZXNzaW9uSWRQcm94eVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25JZFByb3h5UHJvcGVydHl9c3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXtyZXR1cm4gdGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHl9c2V0VGV4dFNvdXJjZUlzQWx3YXlzVGlja2VyUmVzdHJpY3Rpb25FbmFibGVkKGUpe3RoaXMuX3RleHRTb3VyY2VJc0Fsd2F5c1RpY2tlclJlc3RyaWN0aW9uRW5hYmxlZD1lLAp0aGlzLl9yZWNhbGNTeW1ib2xUZXh0U291cmNlUHJveHlQcm9wZXJ0eSgpfWlzRFdNUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNEV01Qcm9wZXJ0eX1pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eSgpe3JldHVybiB0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eX1pc092ZXJuaWdodE1hcmtldFByaWNlc0F2YWlsYWJsZVByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzT3Zlcm5pZ2h0TWFya2V0UHJpY2VzQXZhaWxhYmxlUHJvcGVydHl9aXNTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl7cmV0dXJuIHRoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eX1pc0JhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5faXNCYWNrQWRqdXN0bWVudEZvcmJpZGRlblByb3BlcnR5fWdldFN0eWxlU2hvcnROYW1lKCl7Y29uc3QgZT10aGlzLnN0eWxlKCksdD1JLlNUWUxFX1NIT1JUX05BTUVTW2VdO3JldHVybigwLG4uYXNzZXJ0KSghIXQsYE1pc3NlZCBzaG9ydCBuYW1lIGZvciBzdHlsZSAke2V9YCksdH1pbnZhbGlkYXRlQmFyQ29sb3JlckNhY2hlKCl7dGhpcy5fYmFyQ29sb3JlckNhY2hlPW51bGwsdGhpcy5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKX1wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5KCl7cmV0dXJuIHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXl9b25UaW1lRnJhbWVBcHBsaWVkKCl7cmV0dXJuIHRoaXMuX29uVGltZUZyYW1lQXBwbGllZH1vbkluUmVwbGF5U3RhdGVDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWR9b25SZXBsYXlNb2RpZmllZCgpe3JldHVybiB0aGlzLl9vblJlcGxheVN1YnNjcmliZXJTZXJpZXNNb2RpZmllZH1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31jaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8uY2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3Py4oKT8/dGhpcy5fZmxvYXRpbmdUb29sdGlwVmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIGF0P3RoaXMuX3N0YXR1c1ZpZXc6bnVsbH1sZWdlbmRWaWV3KCl7cmV0dXJuIHRoaXMuX2xlZ2VuZFZpZXd9bWFya2V0U3RhdHVzTW9kZWwoKXtyZXR1cm4gdGhpcy5fbWFya2V0U3RhdHVzTW9kZWx9aXNNYWluU2VyaWVzKCl7cmV0dXJuITB9ZGF0YVVwZGF0ZWRNb2RlTW9kZWwoKXtyZXR1cm4gdGhpcy5fZGF0YVVwZGF0ZWRNb2RlTW9kZWx9ZGF0YVByb2JsZW1Nb2RlbCgpe3JldHVybiB0aGlzLl9kYXRhUHJvYmxlbU1vZGVsfXNldERlZmF1bHRUaW1lZnJhbWUoZSl7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZT1lfWxvYWREYXRhVG8oZSl7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmludGVydmFsLnZhbHVlKCk7dGhpcy5fb25UaW1lRnJhbWVBcHBsaWVkLmZpcmUoZSksdGhpcy5fc2VyaWVzU291cmNlLm1vZGlmeVNlcmllcyh0aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSwoMCxwLmdldFNlcnZlckludGVydmFsKSh0KSxlKX1pc0luUmVwbGF5KCl7cmV0dXJuIHRoaXMuX2lzSW5SZXBsYXl9cXVvdGVzKCl7cmV0dXJuIHRoaXMuZGF0YSgpLmlzRW1wdHkoKT9udWxsOnRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnF1b3RlcygpLnZhbHVlKCl9YmFzZSgpe3JldHVybiB0aGlzLl9iYXNlfXBvaW50VmFsdWUoKXtyZXR1cm4gdGhpcy5fcG9pbnRWYWx1ZX1iYXJDbG9zZVRpbWUoKXtyZXR1cm4gdGhpcy5fbGFzdEJhckNsb3NlVGltZX1wcmljZVNvdXJjZSgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO3N3aXRjaCh0LnN0eWxlLnZhbHVlKCkpe2Nhc2UgMjplPXQubGluZVN0eWxlLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCk7YnJlYWs7Y2FzZSAxODplPXQudHBvU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDE0OmU9dC5saW5lV2l0aE1hcmtlcnNTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTU6ZT10LnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDM6ZT10LmFyZWFTdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpO2JyZWFrO2Nhc2UgMTA6ZT10LmJhc2VsaW5lU3R5bGUuY2hpbGRzKCkucHJpY2VTb3VyY2UudmFsdWUoKTticmVhaztjYXNlIDEzOmU9dC5jb2x1bW5TdHlsZS5jaGlsZHMoKS5wcmljZVNvdXJjZS52YWx1ZSgpfXJldHVybiBlfWxpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wKGUpe2xldCB0O3N3aXRjaCh0aGlzLnN0eWxlKCkpe2Nhc2UgMjp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLmxpbmVTdHlsZS5jaGlsZHMoKTticmVhaztjYXNlIDE0OnQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubGluZVdpdGhNYXJrZXJzU3R5bGUuY2hpbGRzKCk7YnJlYWs7Y2FzZSAxNTp0PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnN0ZXBsaW5lU3R5bGUuY2hpbGRzKCk7YnJlYWs7ZGVmYXVsdDp0PW51bGx9cmV0dXJuIHQ/dC5jb2xvclR5cGU/LnZhbHVlKCk9PT1aZS5Db2xvclR5cGUuU29saWQ/dC5jb2xvci52YWx1ZSgpOnRoaXMuX2xpbmVDb2xvckF0WVBlcmNlbnRGcm9tVG9wLmdyYWRpZW50Q29sb3IoKDAsbi5lbnN1cmVEZWZpbmVkKSh0LmdyYWRpZW50U3RhcnRDb2xvcikudmFsdWUoKSwoMCxuLmVuc3VyZURlZmluZWQpKHQuZ3JhZGllbnRFbmRDb2xvcikudmFsdWUoKSxlKTpudWxsfXVwZGF0ZUFsbFZpZXdzKGUpe3RoaXMuX3N0dWR5QmluZGluZ3M/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2RlbGF5U3RhdHVzUGFuZVZpZXc/LmdldCgpPy51cGRhdGUoZSksImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9wYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2RhdGFXaW5kb3dWaWV3LnVwZGF0ZSgpLHRoaXMuX2xlZ2VuZFZpZXcudXBkYXRlKCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldy51cGRhdGUoZSksdGhpcy5fYXZlcmFnZVBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2hpZ2hMb3dBdmdQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9sYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZnV0dXJlQmFyc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJvamVjdGlvbkJhcnNQYW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX3dhdGVybGluZVZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmV2Q2xvc2VQcmljZUxpbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fcHJpY2VMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX2dvdG9EYXRlVmlldz8udXBkYXRlKGUpLHRoaXMuX2VuZE9mRGF0YVBhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5fYmFzZUhvcml6b250YWxMaW5lVmlldz8udXBkYXRlKGUpLHRoaXMuX21vZGVsLmFjdGl2ZVN0cmF0ZWd5U291cmNlKCkudmFsdWUoKT8udXBkYXRlQWxsVmlld3MoZSksdGhpcy5fbW9kZWwucmVwbGF5U3R1ZHlTdHJhdGVneSgpLnZhbHVlKCk/LnVwZGF0ZUFsbFZpZXdzKGUpLHRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZShlKSl9c3R5bGVTdHVkeUluZm8oZSl7cmV0dXJuIHRoaXMuc3R5bGVTdHVkeUluZm9zKClbZV19YmFyRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFyRnVuY3Rpb259cHJlY29tcHV0ZWRCYXJTdHlsZShlKXtyZXR1cm4gdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZ2V0KGUpfXNldFByZWNvbXB1dGVkQmFyU3R5bGUoZSx0KXt0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcy5zZXQoZSx0KX1zeW1ib2xQYXJhbXMoKXtyZXR1cm4oMCxkZS5zeW1ib2xQYXJhbXMpKHRoaXMpfWNvbXBhcmVTeW1ib2xQYXJhbXMoZSl7cmV0dXJuKDAsZGUuY29tcGFyZVN5bWJvbFBhcmFtcykodGhpcyxlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpfXNldFN5bWJvbFBhcmFtcyhlKXtjb25zdHtzeW1ib2w6dCxjdXJyZW5jeTpzLHVuaXQ6aSxtZXRyaWM6cixzdHlsZTpvLGludGVydmFsOmEsc2Vzc2lvbjpsfT1lLHtzeW1ib2xDaGFuZ2VkOnUsaW50ZXJ2YWxDaGFuZ2VkOmMsY3VycmVuY3lDaGFuZ2VkOmQsdW5pdENoYW5nZWQ6aCxtZXRyaWNDaGFuZ2VkOnAsc3R5bGVDaGFuZ2VkOm0sc2Vzc2lvbkNoYW5nZWQ6X309dGhpcy5jb21wYXJlU3ltYm9sUGFyYW1zKGUpLGc9W2d0KCJzeW1ib2wiLHQsdSksZ3QoImludGVydmFsIixhLGMpLGd0KCJjdXJyZW5jeSIscyxkKSxndCgidW5pdCIsaSxoKSxndCgibWV0cmljIixyLHApLGd0KCJzdHlsZSIsbyxtKSxndCgic2Vzc2lvbiIsbCxfKV0uZmlsdGVyKChlPT5udWxsIT09ZSkpLmpvaW4oIjsgIik7aHQubG9nSW5mbyhgQXBwbHlpbmcgc2VyaWVzIHN5bWJvbCBwYXJhbXM6ICR7Z31gKTtjb25zdCB5PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpO3ZvaWQgMCE9PXQmJnkuc3ltYm9sLnNldFZhbHVlKHQpLHZvaWQgMCE9PXMmJnkuY3VycmVuY3lJZC5zZXRWYWx1ZShzKSx2b2lkIDAhPT1pJiZ5LnVuaXRJZC5zZXRWYWx1ZShpKSx2b2lkIDAhPT1yJiZwJiYoeS5tZXRyaWNJZC5zZXRWYWx1ZShyKSxudWxsIT09ciYmKDAsUC5zZXRMYXN0VXNlZE1ldHJpYykocikpLGMmJnkuaW50ZXJ2YWwuc2V0VmFsdWUoKDAsbi5lbnN1cmVEZWZpbmVkKShhKSksdm9pZCAwIT09byYmbSYmeS5zdHlsZS5zZXRWYWx1ZShvKTtsZXQgZj0hMTt2b2lkIDAhPT1sJiZfJiYoeS5zZXNzaW9uSWQuc2V0VmFsdWUobCksZj0hdGhpcy5pc0RXTSgpKSxtJiYoZnx8PXRoaXMuaXNOZWVkUmVzdGFydCgpLHRoaXMub25DaGFydFN0eWxlQ2hhbmdlZCgpKTtsZXQgdj1Qcm9taXNlLnJlc29sdmUoKTtyZXR1cm4hZiYmKHV8fGN8fGR8fGh8fHApJiYodj10aGlzLl9hcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoe3N5bWJvbENoYW5nZWQ6dSxjdXJyZW5jeUNoYW5nZWQ6ZCx1bml0Q2hhbmdlZDpoLG1ldHJpY0NoYW5nZWQ6cCxpbnRlcnZhbENoYW5nZWQ6YyxzdHlsZUNoYW5nZWQ6bX0pKSwodXx8ZHx8aHx8cCkmJnRoaXMubW9kZWwoKS5jaGVja0xpbmVUb29sQW5kR3JvdXBTZWxlY3Rpb24oKSx2fXNldFN5bWJvbChlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7c3ltYm9sOmV9KX1jdXJyZW5jeSgpe3JldHVybiB0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5jdXJyZW5jeUlkLnZhbHVlKCl8fG51bGx9c2V0Q3VycmVuY3koZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe2N1cnJlbmN5OmV9KX1jdXJyZW5jeU9yaWdpblNvdXJjZSgpe3JldHVybiB0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZS5yZWFkb25seSgpfXNldE1ldHJpYyhlKXt0aGlzLnNldFN5bWJvbFBhcmFtcyh7bWV0cmljOmV9KX11bml0KCl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnVuaXRJZC52YWx1ZSgpfHxudWxsfXNldFVuaXQoZSl7dGhpcy5zZXRTeW1ib2xQYXJhbXMoe3VuaXQ6ZX0pfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZS5yZWFkb25seSgpfW1lYXN1cmVVbml0SWQoKXtyZXR1cm4gdGhpcy5zeW1ib2xJbmZvKCk/Lm1ldHJpY3M/bnVsbDooMCxQLm1lYXN1cmVVbml0SWQpKHRoaXMuc3ltYm9sSW5mbygpKX1tZXRyaWMoKXtyZXR1cm4gdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkubWV0cmljSWQudmFsdWUoKXx8bnVsbH12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlKT8udmFsdWVbdF0/P251bGx9c3ltYm9sU291cmNlKCl7cmV0dXJuIHRoaXN9c3ltYm9sU291cmNlV1YoKXtyZXR1cm4gdGhpcy5fc3ltYm9sU291cmNlV1YucmVhZG9ubHkoKX1iYXJzUHJvdmlkZXIoKXtyZXR1cm4gdGhpc310aXRsZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUaXRsZShlKX1uYW1lKCl7CnJldHVybiB0aGlzLnN5bWJvbFRpdGxlKFllLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lKX1zeW1ib2xUaXRsZShlLHQscyl7bGV0IGk9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3ltYm9sLnZhbHVlKCk7Y29uc3Qgbj10aGlzLmFsaWFzU3ltYm9sSW5mbygpO2lmKG51bGwhPT1uJiYoaT0oMCxQLnN5bWJvbFRpdGxlKShuLHQpKSxzKXJldHVybiBpO2xldCByPSgwLHBlLnRyYW5zbGF0ZWRJbnRlcnZhbFN0cmluZykodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW50ZXJ2YWwudmFsdWUoKSk7cmV0dXJuIGU9PT1ZZS5UaXRsZURpc3BsYXlUYXJnZXQuRGF0YVdpbmRvdyYmKHI9KDAsc3QuZm9yY2VSVExTdHIpKHIpKSxgJHtpfSwgJHtyfWB9c2V0T2Jzb2xldGVaT3JkZXIoZSl7dGhpcy5fb2Jzb2xldGVaT3JkZXI9ZX1vYnNvbGV0ZVpPcmRlcigpe3JldHVybiB0aGlzLl9vYnNvbGV0ZVpPcmRlcn12YWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl92YWx1ZXNQcm92aWRlcn1sZWdlbmRWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy5sZWdlbmRWYWx1ZXNQcm92aWRlcigpPz90aGlzLl9sZWdlbmRWYWx1ZXNQcm92aWRlcn10YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpe3JldHVybiB0aGlzLl9zdHVkeUJpbmRpbmdzPy50YWJsZVZpZXdWYWx1ZXNQcm92aWRlcigpPz90aGlzLl90YWJsZVZpZXdWYWx1ZXNQcm92aWRlcn1kYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uZGF0YVdpbmRvd1ZhbHVlc1Byb3ZpZGVyKCk/P3RoaXMuX2RhdGFXaW5kb3dWYWx1ZXNQcm92aWRlcn1jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCl7cmV0dXJuIHRoaXMuX3N0dWR5QmluZGluZ3M/LmFjdGl2ZVN0dWR5KCk/LmNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKT8/dGhpcy5fY2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcn1zdGF0dXNQcm92aWRlcihlKXtyZXR1cm4gbmV3IGNlLlNlcmllc1N0YXR1c1Byb3ZpZGVyKHRoaXMsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLGUpfW1vdmVJdGVtKGUsdCxzKXtpZigxMD09PXRoaXMuc3R5bGUoKSYmMD09PXQpe2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCkscz10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5iYXNlbGluZVN0eWxlLGk9dC5oZWlnaHQoKSxuPTEwMC1lLnkvaSoxMDAscj1uPDA/MDpNYXRoLnJvdW5kKDEwKm4pLzEwO3MuY2hpbGRzKCkuYmFzZUxldmVsUGVyY2VudGFnZS5zZXRWYWx1ZShNYXRoLm1heChNYXRoLm1pbihyLDEwMCksMCkpfX1yZXJlcXVlc3REYXRhKCl7dGhpcy5fYXBwbHlTeW1ib2xQYXJhbXNDaGFuZ2VzKHtmb3JjZTohMH0pfXN3aXRjaFRvUmVwbGF5KGUsdCxzKXt0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnNldFZhbHVlKGUpLHRoaXMuX2lzUmVwbGF5UmVzb2x1dGlvbkF2YWlsYWJsZUZvclVzZXI9dCx0aGlzLl9vbkluUmVwbGF5U3RhdGVDaGFuZ2VkLmZpcmUoKSxlLm9uU2VyaWVzTW9kaWZpZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuX29uUmVwbGF5U3Vic2NyaWJlclNlcmllc01vZGlmaWVkLmZpcmUoKSkpLGUubW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnRlcnZhbC52YWx1ZSgpLHMpLHRoaXMucmVyZXF1ZXN0RGF0YSgpfXN3aXRjaFRvUmVhbHRpbWUoKXt0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpJiYodGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpLHRoaXMucmVyZXF1ZXN0RGF0YSgpKX1hc3luYyBjYW5DaGFuZ2VSZXNvbHV0aW9uKGUpe3tpZighdGhpcy5pc0luUmVwbGF5KCkudmFsdWUoKSlyZXR1cm4hMDtjb25zdCB0PSJjaGFuZ2VSZXNvbHV0aW9uIjtpZighKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShlKSlyZXR1cm4gdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDMsdCksITE7Y29uc3Qgcz0oMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSksaT1hd2FpdCBzLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyh0aGlzLmdldFN5bWJvbFN0cmluZygpLGUpO3JldHVybiBpLnJlc3x8dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpIT09c3x8dGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsdCksaS5yZXN9fWFzeW5jIGNhbkNoYW5nZVN5bWJvbChlKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJue3Jlc3VsdDohMH07Y29uc3QgdD10aGlzLl9nZXRFeHRlbmRlZFN5bWJvbE9iamVjdCh7b3ZlcnJpZGRlblN5bWJvbDplfSk7ZGVsZXRlIHRbImN1cnJlbmN5LWlkIl0sZGVsZXRlIHRbInVuaXQtaWQiXTtjb25zdCBzPSgwLGhlLmVuY29kZUV4dGVuZGVkU3ltYm9sT3JHZXRTaW1wbGVTeW1ib2xTdHJpbmcpKHQpLGk9ImNoYW5nZVN5bWJvbCI7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHI9KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkpO3RoaXMuX21vZGVsLmNoYXJ0QXBpKCkucmVzb2x2ZVN5bWJvbCgoMCxCLm1ha2VOZXh0U3ltYm9sSWQpKCkscywobz0+e2lmKHRoaXMuX3JlcGxheVN1YnNjcmliZXIudmFsdWUoKSE9PXImJnQobmV3IEVycm9yKCJSZXBsYXkgc3Vic2NyaWJlciBjaGFuZ2VkIikpLCJzeW1ib2xfZXJyb3IiPT09by5tZXRob2QpdGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDAsaSksZSh7cmVzdWx0OiExLHJlYXNvbjowfSk7ZWxzZSBpZihvLnBhcmFtc1sxXS5pc19yZXBsYXlhYmxlKXtjb25zdCBvPXRoaXMuaW50ZXJ2YWwoKTsoMCwKbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKShvKT9yLmNhbkNoYW5nZVN5bWJvbFBhcmFtcyhzLG8pLnRoZW4oKHM9Pih0aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCkhPT1yJiZ0KG5ldyBFcnJvcigiUmVwbGF5IHN1YnNjcmliZXIgY2hhbmdlZCIpKSxzLnJlcz9lKHtyZXN1bHQ6ITB9KToodGhpcy5fcGFyYW1zTm90QXBwbGljYWJsZUZvclJlcGxheS5maXJlKDIsaSksZSh7cmVzdWx0OiExLHJlYXNvbjoyfSkpKSkpOih0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMyxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjN9KSl9ZWxzZSB0aGlzLl9wYXJhbXNOb3RBcHBsaWNhYmxlRm9yUmVwbGF5LmZpcmUoMSxpKSxlKHtyZXN1bHQ6ITEscmVhc29uOjF9KX0pKX0pKX19cmVxdWVzdE1vcmVEYXRhQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuX3JlcXVlc3RNb3JlRGF0YUF2YWlsYWJsZX1zZXJpZXNMb2FkZWQoKXtyZXR1cm4gdGhpcy5fc2VyaWVzTG9hZGVkfWVuZE9mRGF0YSgpe3JldHVybiB2b2lkIDAhPT10aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWR9ZW5kT2ZEYXRhVHlwZSgpe3JldHVybiB0aGlzLl9sYXN0Q29tcGxldGVGbGFncz8uZGF0YV9jb21wbGV0ZWQ/P251bGx9ZGF0YVBvd2VyZWRCeSgpe3JldHVybiB0aGlzLl9kYXRhUG93ZXJlZEJ5fWJveFNpemVWYWx1ZSgpe3JldHVybiB0aGlzLl9ib3hTaXplVmFsdWV9aXNVc2VyRGVsZXRhYmxlKCl7cmV0dXJuITF9Y2hhbmdlVGltZUZyYW1lKCl7KDAsbS50cmFja0V2ZW50KSgiR1VJIiwiQ2hhbmdlIHRpbWVmcmFtZSIpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9c3RhdGUoZSl7Y29uc3QgdD10aGlzLm9ic29sZXRlWk9yZGVyKCk7bGV0IHM9e3R5cGU6Ik1haW5TZXJpZXMiLGlkOnRoaXMuaWQoKSx6b3JkZXI6dCwuLi50aGlzLnN0eWxlU3R1ZHlJbmZvcygpLGZvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLHN0dWR5QmluZGluZ3M6dGhpcy5fc3R1ZHlCaW5kaW5ncz8uc3RhdGUoISFlKX07Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSh2b2lkIDAsMik7aWYoaS5zeW1ib2w9KDAsUC5zeW1ib2xUb1NhdmVJblN0YXRlKSh0aGlzLnN5bWJvbEluZm8oKT8/dGhpcy5fbW9kZWwuY2hhcnRBcGkoKS5sYXN0U3ltYm9sUmVzb2x2ZUluZm8oaS5zeW1ib2wpLGkuc3ltYm9sKSx0aGlzLl9tb2RlbC51bml0Q29udmVyc2lvbkVuYWJsZWQoKXx8KGkudW5pdElkPW51bGwpLHMuc3RhdGU9aSxlKXtsZXQgZT10aGlzLmJhcnMoKTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApO251bGwhPT10JiYoZT1lLnJhbmdlKHQuZmlyc3RCYXIoKSx0Lmxhc3RCYXIoKSkpLHM9ey4uLnMsYmFyczp5dChlKSxuc0JhcnM6eXQodGhpcy5uc0JhcnMoKSksc3ltYm9sSW5mbzp0aGlzLnN5bWJvbEluZm8oKSxydFByaWNlOnRoaXMuZGF0YSgpLmxhc3RQcm9qZWN0aW9uUHJpY2UsYm94U2l6ZTp0aGlzLmRhdGEoKS5ib3hTaXplLHJldmVyc2FsQW1vdW50OnRoaXMuZGF0YSgpLnJldmVyc2FsQW1vdW50fX1yZXR1cm4gc31yZXN0b3JlU3RhdGUoZSx0LHMpe3QmJnRoaXMuX3NldFN0YXR1cyg1KSwhdGhpcy5fbW9kZWwudW5pdENvbnZlcnNpb25FbmFibGVkKCkmJmUuc3RhdGUmJmRlbGV0ZSBlLnN0YXRlLnVuaXRJZCxlLnN0YXRlJiZjLkludGVydmFsLmlzUmFuZ2UoZS5zdGF0ZS5pbnRlcnZhbCkmJihlLnN0YXRlLnN0eWxlPTExKTtjb25zdCBpPWUuc3RhdGU7aWYodm9pZCAwIT09aSl7Y29uc3QgZT1pLnN0eWxlLHQ9Sy5jaGFydFN0eWxlUGVybWlzc2lvbnMuZ2V0KGUpO3QmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJihpLnN0eWxlPTIsKDAscS5ydW5PckdvUHJvV2l0aG91dFN5bmMpKCgoKT0+e2kuc3R5bGU9ZX0pLHQuZmVhdHVyZSx7ZmVhdHVyZTp0LmZlYXR1cmVOYW1lfSkpfWlmKHRoaXMuX3Byb3BlcnRpZXMubWVyZ2VBbmRGaXJlKGUuc3RhdGUpLG51bGwhPT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm1ldHJpY0lkLnZhbHVlKCl8fHN8fHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkubWV0cmljSWQuc2V0VmFsdWUoInByaWNlIiksdGhpcy5fcHJldkNoYXJ0U3R5bGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSx0aGlzLmNyZWF0ZVBhbmVWaWV3KCksdCl7Y29uc3QgdD1lO3RoaXMucmVzdG9yZURhdGEodC5iYXJzLHQubnNCYXJzLHQuc3ltYm9sSW5mbyx0LnJ0UHJpY2UsdC5ib3hTaXplLHQucmV2ZXJzYWxBbW91bnQpfWUuZm9ybWF0dGluZ0RlcHMmJih0aGlzLl9mb3JtYXR0aW5nRGVwcz1lLmZvcm1hdHRpbmdEZXBzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCkpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnJlc3RvcmVTdGF0ZShlLnN0dWR5QmluZGluZ3M/P3t9LHQpLHRoaXMuX3N0dWR5QmluZGluZ3M/LnN5bmNTdHVkeSh0aGlzLnN0eWxlKCkpfXJlc3RvcmVEYXRhKGUsdCxzLGksbixyKXt0aGlzLl91cGRhdGVTdGF0dXMoe3Nlcmllc1N0YXR1czo1fSksdGhpcy5fZGF0YT1uZXcgYi5TZXJpZXNEYXRhLHRoaXMuX2RhdGEuYmFycygpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9kYXRhLm5zQmFycygpLnJlc3RvcmVTdGF0ZSh0KSx0aGlzLl91cGRhdGVTeW1ib2xJbmZvKHMpLHRoaXMuX2RhdGEubGFzdFByb2plY3Rpb25QcmljZT1pLHRoaXMuX2RhdGEuYm94U2l6ZT1uO2NvbnN0IG89dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7bnx8KDY9PT1vLnN0eWxlLnZhbHVlKCk/dGhpcy5fZGF0YS5ib3hTaXplPW8ucG5mU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLmJveFNpemUudmFsdWUoKTo0PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5ib3hTaXplPW8ucmVua29TdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuYm94U2l6ZS52YWx1ZSgpKSksdGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1yLApyfHw1PT09by5zdHlsZS52YWx1ZSgpJiYodGhpcy5fZGF0YS5yZXZlcnNhbEFtb3VudD1vLmthZ2lTdHlsZS5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkucmV2ZXJzYWxBbW91bnQudmFsdWUoKSl9YXN5bmMgc2V0R290b0RhdGVSZXN1bHQoZSx0KXt0aGlzLl9nb3RvRGF0ZVJlc3VsdENsZWFyZWQ9ITE7Y29uc3QgaT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDU1MzgpLHMuZSg4ODM1OCldKS50aGVuKHMuYmluZChzLDcwOTA2NykpO3RoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZHx8KHRoaXMuX2dvdG9EYXRlVmlldz1uZXcgaS5Hb3RvRGF0ZVZpZXcodGhpcyxlLHQpLHRoaXMuX2dvdG9EYXRlVmlldy5kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKHRoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIpLHRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzKSl9Y2xlYXJHb3RvRGF0ZVJlc3VsdCgpe3RoaXMuX2dvdG9EYXRlVmlldz1udWxsLHRoaXMuX2dvdG9EYXRlUmVzdWx0Q2xlYXJlZD0hMH1kb05vdFNob3dMYXN0QXZhaWxhYmxlQmFyKGUpe3RoaXMuX2RvTm90U2hvd0xhc3RBdmFpbGFibGVCYXI9ZSx0aGlzLl9nb3RvRGF0ZVZpZXc/LmRvTm90U2hvd0xhc3RBdmFpbGFibGVCYXIoZSl9ZGF0YVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5kYXRhRXZlbnRzKCkuZGF0YVVwZGF0ZWQoKX1tb3ZlRGF0YShlKXtjb25zdCB0PXRoaXMuX3Nlcmllc1NvdXJjZS5tb3ZlRGF0YShlKTtudWxsIT09dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzJiZ0aGlzLl92b2x1bWVQb2ludFdlaWdodHMubW92ZURhdGEoZSksdGhpcy5fc3R1ZHlCaW5kaW5ncz8ubW92ZURhdGEoZSksdC50aGVuKCgoKT0+e3RoaXMuX2lzRGVzdHJveWVkfHx0aGlzLmJhcnMoKS5pc0VtcHR5KCl8fHRoaXMuX29uSW5kZXhEaWZmc0FwcGxpZWQoZSl9KSl9YXN5bmMgc2VyaWVzQ3JlYXRlZCgpe2NvbnN0IGU9dGhpcy5fc2VyaWVzU291cmNlLmluc3RhbmNlSWQoKTtpZihudWxsIT09ZSlyZXR1cm4gZTtjb25zdCB0PWF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fZGVmZXJyZWREZXN0cm95ZWQucHJvbWlzZS50aGVuKCgoKT0+e30pKSx0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCk/UHJvbWlzZS5yZXNvbHZlKG51bGwpOm5ldyBQcm9taXNlKChlPT57dGhpcy5kYXRhRXZlbnRzKCkuY3JlYXRlZCgpLnN1YnNjcmliZSh0aGlzLGUsITApfSkpXSk7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNlcmllcyBoYXMgYmVlbiBkZXN0cm95ZWQiKTtyZXR1cm4gdH1hY3RpdmVTdHVkeUJpbmRpbmcoKXtyZXR1cm4gdGhpcy5fc3R1ZHlCaW5kaW5ncz8uYWN0aXZlU3R1ZHkoKT8/bnVsbH1jb250ZXh0TWVudVN0YXROYW1lKCl7cmV0dXJuIlNlcmllc0NvbnRleHRNZW51In1fdXBkYXRlQmFyRnVuY3Rpb24oKXt0aGlzLl9iYXJGdW5jdGlvbj0oMCxIZS5iYXJGdW5jdGlvbkJ5U3R5bGUpKHRoaXMuc3R5bGUoKSx0aGlzLnByaWNlU291cmNlKCkpfV91cGRhdGVTZXNzaW9uSWRQcm94eVByb3BlcnR5KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zZXNzaW9uSWQudmFsdWUoKTtsZXQgcz10O2lmKGUpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7bnVsbCE9PWUmJihzPWUuc3Vic2Vzc2lvbl9pZHx8dCl9dGhpcy5faWdub3JlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eUNoYW5nZXM9ITAsdGhpcy5fc2Vzc2lvbklkUHJveHlQcm9wZXJ0eS5zZXRWYWx1ZShzKSx0aGlzLl9pZ25vcmVTZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlcz0hMX1fb25TZXNzaW9uSWRQcm94eVByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX2lnbm9yZVNlc3Npb25JZFByb3h5UHJvcGVydHlDaGFuZ2VzfHx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNlc3Npb25JZC5zZXRWYWx1ZSh0aGlzLl9zZXNzaW9uSWRQcm94eVByb3BlcnR5LnZhbHVlKCkpLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbFJlc29sdmVkKGUpe3RoaXMuX3Nlcmllc0Vycm9yTWVzc2FnZT1udWxsLHRoaXMuX3VwZGF0ZVN5bWJvbEluZm8oZSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX21vZGVsLm9uV2lkZ2V0KCl8fCgoMCxtLnRyYWNrRXZlbnQpKCJTeW1ib2wiLGUubGlzdGVkX2V4Y2hhbmdlLGUubmFtZSksKDAsbS50cmFja0V2ZW50KSgiU3ltYm9sIFR5cGUiLGUudHlwZSxlLmxpc3RlZF9leGNoYW5nZSkpO2NvbnN0IHQ9ZS5taW5tb3YvZS5wcmljZXNjYWxlLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCk7ND09PXMuc3R5bGUudmFsdWUoKSYmcy5yZW5rb1N0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnJlbmtvU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtib3hTaXplOnR9KTo2PT09cy5zdHlsZS52YWx1ZSgpJiZzLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5ib3hTaXplLnZhbHVlKCk8dD9zLnBuZlN0eWxlLmNoaWxkcygpLmlucHV0cy5tZXJnZSh7Ym94U2l6ZTp0fSk6NT09PXMuc3R5bGUudmFsdWUoKSYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLnJldmVyc2FsQW1vdW50LnZhbHVlKCk8dCYmcy5rYWdpU3R5bGUuY2hpbGRzKCkuaW5wdXRzLm1lcmdlKHtyZXZlcnNhbEFtb3VudDp0fSksdGhpcy5fY2hlY2tDaGFydFN0eWxlKCksdGhpcy5fZm9ybWF0dGluZ0RlcHM9e2Zvcm1hdDplLmZvcm1hdCxwcmljZXNjYWxlOmUucHJpY2VzY2FsZSxtaW5tb3Y6ZS5taW5tb3YsZnJhY3Rpb25hbDplLmZyYWN0aW9uYWwsbWlubW92ZTI6ZS5taW5tb3ZlMix2YXJpYWJsZV90aWNrX3NpemU6ZS52YXJpYWJsZV90aWNrX3NpemV9LHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpfV9vblN5bWJvbEVycm9yKGUpe3RoaXMuX3NldFN0YXR1cyg0KSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnNob3J0TmFtZS5zZXRWYWx1ZSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN5bWJvbC52YWx1ZSgpKSx0aGlzLl9tb2RlbC5jbGVhckFsbFN0dWRpZXMoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLApmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKCJzeW1ib2xfZXJyb3IiLHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKGUsITEpKSx0aGlzLl9zeW1ib2xSZXNvbHZpbmdBY3RpdmUuc2V0VmFsdWUoITEpfV9zZW5kVGVsZW1ldHJ5Q291bnRlcihlLHQpe3ZvaWQgMD09PXQmJih0PXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkpO2NvbnN0IHM9T2JqZWN0LmFzc2lnbih7Y291bnQ6MX0se2FkZGl0aW9uYWw6dH0pO1cudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YShlLHQpe3Q9dm9pZCAwPT09dHx8dDtjb25zdCBzPXtzeW1ib2w6dGhpcy5hY3R1YWxTeW1ib2woKX07cmV0dXJuIHQmJihzLnJlc29sdXRpb249dGhpcy5pbnRlcnZhbCgpKSx2b2lkIDAhPT1lJiYocy5yZWFzb249ZSksc31fb25TZXJpZXNUaW1lRnJhbWUoZSx0LHMsaSxuKXtjb25zdCByPSgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKHRoaXMuc3R5bGUoKSk/ZSsuNTplO2xldCBvPXQ7aWYodm9pZCAwPT09biludWxsIT09cyYmInBlcmlvZC1iYWNrIiE9PXMudHlwZXx8KG8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKSk7ZWxzZSBpZihuLmFwcGx5RGVmYXVsdFJpZ2h0TWFyZ2luKW8rPXRoaXMuX21vZGVsLnN0dWR5QXdhcmVEZWZhdWx0UmlnaHRPZmZzZXQoKTtlbHNlIGlmKG4ucGVyY2VudFJpZ2h0TWFyZ2luKXtjb25zdCBlPXQtcisxLHM9TWF0aC5tYXgoMCxNYXRoLm1pbiguOTksbi5wZXJjZW50UmlnaHRNYXJnaW4vMTAwKSk7bys9cyplLygxLXMpfXRoaXMuX21vZGVsLnNldFRpbWVWaWV3cG9ydChyLG8pfV9vblNlcmllc0Vycm9yKGUpe2xldCB0PWUuZXJyb3I7Y29uc3Qgcz1lLmN0eDtpZihzKXtjb25zdCBlPXt9O09iamVjdC5rZXlzKHMpLmZvckVhY2goKHQ9PntlW3RdPXNbdF0udG9TdHJpbmcoKX0pKSx0PXQuZm9ybWF0KGUpfWN0JiZodC5sb2dOb3JtYWwoIkVycm9yIHJlYXNvbjogIit0KSx0aGlzLl9zZXJpZXNFcnJvck1lc3NhZ2U9dDtjb25zdCBpPSgwLE5lLmRldGVybWluZVNlcmllc0Vycm9yU3RhdHVzKSh7aGFzRGV0YWlsZWRFcnJvck1hcHBpbmc6ITAsZXJyb3JNZXNzYWdlOnQsbm9CYXJzU3RhdHVzQXZhaWxhYmxlOnV0LGhhc1N5bWJvbEluZm86ISF0aGlzLnN5bWJvbEluZm8oKX0pO3RoaXMuX3NldFN0YXR1cyhpKSx0aGlzLl9zZXJpZXNMb2FkZWQ9ITAsdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIoInNlcmllc19lcnJvciIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEodCkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblNlcmllc0xvYWRpbmcoZSl7dGhpcy5fc2V0U3RhdHVzKDIpfV9vbkRhdGFVcGRhdGVkKGUsdCxzLGkscil7dCYmciYmdGhpcy5fY29sb3JPblByZXZCYXIoKSYmdGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHIudmFsdWUpO2NvbnN0IG89dGhpcy5zeW1ib2xJbmZvKCk7aWYoaSYmbyl7bGV0IGU9MCx0PTA7aWYoKDAsUC5oYXNWb2x1bWUpKG8pKWZvcihjb25zdCBzIG9mIHRoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCkpe2NvbnN0IGk9cy52YWx1ZVs1XTswIT09aSYmKGUrPWksdCs9MSl9dGhpcy5fdm9sdW1lUG9pbnRXZWlnaHRzPXQ+MD9uZXcgZWUuVm9sdW1lQmFzZWRUaW1lUG9pbnRXZWlnaHRzKGUvdCk6bnVsbCx0aGlzLl91cGRhdGVUaW1lU2NhbGVUaW1lUG9pbnRXZWlnaHRzKCl9aWYobnVsbCE9PXRoaXMuX3ZvbHVtZVBvaW50V2VpZ2h0cyl7Y29uc3QgZT10P3RoaXMuYmFycygpLmZ1bGxSYW5nZUl0ZXJhdG9yKCk6cz90aGlzLmJhcnMoKS5yYW5nZUl0ZXJhdG9yKHMuaW5kZXgsKDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLmJhcnMoKS5sYXN0SW5kZXgoKSkpOm51bGw7aWYobnVsbCE9PWUpZm9yKGNvbnN0IHQgb2YgZSl0aGlzLl92b2x1bWVQb2ludFdlaWdodHMuc2V0Vm9sdW1lKHQuaW5kZXgsdC52YWx1ZVs1XSl9dD90aGlzLl9yZXF1ZXN0TW9yZURhdGFBdmFpbGFibGU9ITA6dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLl9zZXJpZXNMb2FkZWQmJnRoaXMuX2xpbmVTdHlsZUxhc3RQcmljZUNpcmNsZVBhbmVWaWV3LnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbGFzdEJhckNsb3NlVGltZT1lJiZlLmNsb3NlVGltZXx8bnVsbCx0aGlzLl9ib3hTaXplVmFsdWUuc2V0VmFsdWUodGhpcy5kYXRhKCkuYm94U2l6ZSksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKTtjb25zdCBhPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSxsPXRoaXMuYmFycygpLmxhc3RJbmRleCgpO251bGwhPT1hJiZudWxsIT09bD90aGlzLl9kYXRhUmFuZ2VVcGRhdGVkLmZpcmUoe3R5cGU6InBhcnRpYWwiLHN0YXJ0SW5kZXg6cz8uaW5kZXg/P2EsZW5kSW5kZXg6dD9yPy5pbmRleD8/bDpsfSk6dGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pLHRoaXMuY2xlYXJBdmVyYWdlUHJpY2VDYWNoZSgpLHRoaXMuY2xlYXJIaWdoTG93UHJpY2VDYWNoZSgpO2NvbnN0IHU9dGhpcy5tb2RlbCgpLGM9KDAsbi5lbnN1cmVOb3ROdWxsKSh1LnBhbmVGb3JTb3VyY2UodGhpcykpO3UucmVjYWxjdWxhdGVQYW5lKGMsKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCkscmVhbHRpbWU6IXQsZmlyc3RVcGRhdGVkVGltZVBvaW50SW5kZXg6cz8uaW5kZXg/P3ZvaWQgMH0pKSx1LnVwZGF0ZVNvdXJjZSh0aGlzKX1fcGxvdHNEYXRhUmFuZ2UoKXtjb25zdCBlPXRoaXMuYmFycygpLmZpcnN0SW5kZXgoKSx0PXRoaXMuYmFycygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1fc2V0U3RhdHVzKGUpe2NvbnN0IHQ9ey4uLnRoaXMuX3N0YXR1cy52YWx1ZSgpLHNlcmllc1N0YXR1czplfTt0aGlzLl91cGRhdGVTdGF0dXModCksdGhpcy5fc3RhdHVzVmlldy51cGRhdGUoKSwKdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9vblN0YXR1c0NoYW5nZWQuZmlyZSgpfV9vbkJhclJlY2VpdmVkKGUpe3RoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5EYXRhVXBkYXRlKX1fb25VbnN1cHBvcnRlZFJlc29sdXRpb25SZXF1ZXN0ZWQoKXtjb25zdCBlPSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKSk7dGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPWUucmVhc29uLHRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKGUpLHRoaXMuX3NldFN0YXR1cygxNCksdGhpcy5fc2VyaWVzTG9hZGVkPSEwLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fbW9kZWwudGltZVNjYWxlKCkucG9pbnRzKCkuY2xlYXIoKSx0aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fZ2V0U3RhdGVGb3JVbnN1cHBvcnRlZFJlc29sdXRpb24oKXtjb25zdCBlPXRoaXMuc3ltYm9sSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9KDAsT2UuZ2V0UmVzb2x1dGlvblVuc3VwcG9ydGVkUmVhc29uKShlLHQpO2lmKG51bGw9PT1zKXJldHVybiBudWxsO2NvbnN0IGk9ITA7cmV0dXJuKDAsVWUuYnVpbGRVbnN1cHBvcnRlZFJlc29sdXRpb25TdGF0ZSkoe3N5bWJvbEluZm86ZSxyZXNvbHV0aW9uOnQscmVhc29uOnMsaGFzUmVzb2x1dGlvblBvbGljeTppLGlzSW50ZXJuYWxEYXRhRmVlZDohMCxkZWZhdWx0UmVzb2x1dGlvbnM6dGhpcy5fbW9kZWwuZGVmYXVsdFJlc29sdXRpb25zKCksaXNBdXRoZW50aWNhdGVkOiEhd2luZG93LmlzX2F1dGhlbnRpY2F0ZWQsaXNQcm86ISF3aW5kb3cudXNlcj8uaXNfcHJvfSl9X3JlY3JlYXRlRm9ybWF0dGVyKCl7e2NvbnN0IGU9KDAsemUuY3JlYXRlU2VyaWVzRm9ybWF0dGVycykoe2Zvcm1hdHRpbmdEZXBzOnRoaXMuX2Zvcm1hdHRpbmdEZXBzLGFsaWFzRm9ybWF0dGluZ0RlcHM6dGhpcy5hbGlhc1N5bWJvbEluZm8oKSxzeW1ib2xGb3JtYXR0aW5nRGVwczp0aGlzLnN5bWJvbEluZm8oKSxtaW5UaWNrOnRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLm1pblRpY2sudmFsdWUoKX0pO3RoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9ZS5kZWZhdWx0Rm9ybWF0dGVyLHRoaXMuX2Zvcm1hdHRlcj1lLmZvcm1hdHRlcix0aGlzLl9pZ25vcmVNaW5Nb3ZlRm9ybWF0dGVyPWUuaWdub3JlTWluTW92ZUZvcm1hdHRlcn10aGlzLl9wcmljZVNjYWxlPy51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKX1fcmVjcmVhdGVQcmljZVN0ZXAoKXtjb25zdHtwcmljZVN0ZXA6ZSxpZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwOnR9PSgwLHplLmNhbGN1bGF0ZVByaWNlU3RlcHMpKHRoaXMuc3ltYm9sSW5mbygpKTt0aGlzLl9pZ25vcmVNaW5Nb3ZlUHJpY2VTdGVwPXQsdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX3JlY3JlYXRlUHJpY2VTdGVwKCl9X29uUXVvdGVzVXBkYXRlKGUsdCl7e2NvbnN0IHM9dm9pZCAwIT09dC52YWx1ZXMuY2hhbmdlfHx2b2lkIDAhPT10LnZhbHVlcy5jaGFuZ2VfcGVyY2VudDtzJiZwdCYmdGhpcy5fbGVnZW5kVmlldy51cGRhdGUoKTtjb25zdCBpPXZvaWQgMCE9PXQudmFsdWVzLnByZXZfY2xvc2VfcHJpY2U7aSYmKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fcHJldkNsb3NlUHJpY2VMaW5lVmlldykudXBkYXRlKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwoMCxuLmVuc3VyZU5vdE51bGwpKHRoaXMuX3ByZXZDbG9zZVByaWNlQXhpc1ZpZXcpLnVwZGF0ZSgoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSkpLChzfHxpKSYmdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSx0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKGUudmFsdWVzLmxhc3Rfc3BsaXRzPz9udWxsKX12b2lkIDAhPT1lLnZhbHVlcy5jdXJyZW50X3Nlc3Npb24mJmUudmFsdWVzLmN1cnJlbnRfc2Vzc2lvbiE9PXRoaXMuX2N1cnJlbnRTZXNzaW9uJiYodGhpcy5fY3VycmVudFNlc3Npb249ZS52YWx1ZXMuY3VycmVudF9zZXNzaW9uLHRoaXMuX3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpKX1fdXBkYXRlSXNOb25SZWd1bGFyTWFya2V0UHJpY2VzRm9yYmlkZGVuUHJvcGVydGllcygpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7e2NvbnN0IHQ9KDAsUC5zeW1ib2xIYXNQcmVPclBvc3RNYXJrZXQpKGUpJiYodGhpcy5pc0RXTSgpfHwhIWUmJigwLFAuaXNSZWd1bGFyU2Vzc2lvbklkKSh0aGlzLnNlc3Npb25JZFByb3h5UHJvcGVydHkoKS52YWx1ZSgpLGUpKTt0aGlzLl9pc1ByZVBvc3RNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX17Y29uc3QgdD0hdGhpcy5pc0RXTSgpJiYoMCxKLmlzRmVhdHVyZUVuYWJsZWQpKCJzdXBwb3J0X292ZXJuaWdodF9zZXNzaW9uIikmJigwLFAuc3ltYm9sSGFzTmlnaHRNYXJrZXQpKGUpJiYhIWUmJiEoMCxQLmlzU3RvY2syNGhTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCkpJiYhKDAsUC5pc1JlZ3VsYXJTZXNzaW9uSWQpKHRoaXMuc2Vzc2lvbklkUHJveHlQcm9wZXJ0eSgpLnZhbHVlKCksZSk7dGhpcy5faXNPdmVybmlnaHRNYXJrZXRQcmljZXNBdmFpbGFibGVQcm9wZXJ0eS5zZXRWYWx1ZSh0KX19X3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKXtjb25zdCBlPXRoaXMuaXNEV00oKSYmQm9vbGVhbih0aGlzLnN5bWJvbEluZm8oKT8uaGFzX3NldHRsZW1lbnQpO3RoaXMuX2lzU2V0dGxlbWVudEFzQ2xvc2VGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKXsKY29uc3QgZT1Cb29sZWFuKHRoaXMuc3ltYm9sSW5mbygpPy5oYXNfYmFja2FkanVzdG1lbnQpO3RoaXMuX2lzQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eS5zZXRWYWx1ZSghZSl9X3JlbW92ZVJlcGxheVN1YnNjcmliZXIoKXt7aWYoIXRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3RoaXMuX3JlcGxheVN1YnNjcmliZXIuc2V0VmFsdWUobnVsbCksdGhpcy5faXNSZXBsYXlSZXNvbHV0aW9uQXZhaWxhYmxlRm9yVXNlcj1udWxsLHRoaXMuX29uSW5SZXBsYXlTdGF0ZUNoYW5nZWQuZmlyZSgpLGU/Lm9uU2VyaWVzTW9kaWZpZWQoKS51bnN1YnNjcmliZUFsbCh0aGlzKSxlPy5kZXN0cm95KCl9fV9nZXRTeW1ib2xGb3JBcGkoKXtyZXR1cm4gdGhpcy5zeW1ib2woKX1fZ2V0U3ltYm9sT2JqZWN0KGUsdCxzKXtjb25zdCBpPXRoaXMuX2dldEV4dGVuZGVkU3ltYm9sT2JqZWN0KHtvdmVycmlkZGVuU3ltYm9sOmUsc2tpcFNhdmVkTWV0cmljOnMsZG9Ob3RBZGRVbnN1cHBvcnRlZE9uQ3VycmVudFN5bWJvbEZpZWxkczp0fSksbj10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZS52YWx1ZSgpO2lmKEkuU1lNQk9MX1NUUklOR19EQVRBLmhhc093blByb3BlcnR5KG4pJiYhSS5jaGFydFN0eWxlc1dpdGhBdHRhY2hlZFN0dWRpZXMuaW5jbHVkZXMobikpe3JldHVybntzeW1ib2w6aSx0eXBlOnRoaXMuc3R5bGVTdHVkeUluZm8odGhpcy5nZXRTdHlsZVNob3J0TmFtZSgpKyJTdHlsZSIpLnN0dWR5SWQrIiEiLGlucHV0czp0aGlzLmdldElucHV0c1Byb3BlcnRpZXMoKS5zdGF0ZSgpfX1yZXR1cm4gaX1fZ2V0RXh0ZW5kZWRTeW1ib2xPYmplY3QoZT17fSl7Y29uc3R7b3ZlcnJpZGRlblN5bWJvbDp0LHNraXBNZXRyaWM6cyxza2lwU2F2ZWRNZXRyaWM6aSxkb05vdEFkZFVuc3VwcG9ydGVkT25DdXJyZW50U3ltYm9sRmllbGRzOnJ9PWUsbz17c3ltYm9sOnQ/P3RoaXMuX2dldFN5bWJvbEZvckFwaSgpfSxhPXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLGw9dGhpcy5jdXJyZW5jeSgpO251bGwhPT1sJiYob1siY3VycmVuY3ktaWQiXT1sKTtjb25zdCB1PXRoaXMudW5pdCgpO2lmKHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpJiZudWxsIT09dSYmKG9bInVuaXQtaWQiXT11KSx0aGlzLl9tb2RlbC5tZXRyaWNDb252ZXJzaW9uRW5hYmxlZCgpJiYhcyl7bGV0IGU9dGhpcy5tZXRyaWMoKTtpfHxudWxsIT09ZXx8bnVsbCE9PXRoaXMuc3ltYm9sSW5mbygpfHwoZT0oMCxQLmdldExhc3RVc2VkTWV0cmljKSgpKSxudWxsIT09ZSYmKG8ubWV0cmljPWUpfXRoaXMuaXNEV00oKXx8KG8uc2Vzc2lvbj1hLnNlc3Npb25JZC52YWx1ZSgpKTt7Y29uc3QgZT10aGlzLnN5bWJvbEluZm8oKSx0PWU/LmFsbG93ZWRfYWRqdXN0bWVudD8/Im5vbmUiLHM9ImFueSI9PT10fHwiZGl2aWRlbmRzIj09PXQsaT0iYW55Ij09PXR8fCJzcGxpdHMiPT09dDtyP2E/LmRpdmlkZW5kc0FkanVzdG1lbnQ/LnZhbHVlKCkmJnM/by5hZGp1c3RtZW50PSJkaXZpZGVuZHMiOmkmJihvLmFkanVzdG1lbnQ9InNwbGl0cyIpOm8uYWRqdXN0bWVudD0oMCxuLmVuc3VyZURlZmluZWQpKGEuZGl2aWRlbmRzQWRqdXN0bWVudCkudmFsdWUoKT8iZGl2aWRlbmRzIjoic3BsaXRzIiwhYS5iYWNrQWRqdXN0bWVudC52YWx1ZSgpfHxyJiYhZT8uaGFzX2JhY2thZGp1c3RtZW50fHwoby5iYWNrYWRqdXN0bWVudD0iZGVmYXVsdCIpLGEuc2V0dGxlbWVudEFzQ2xvc2UudmFsdWUoKXx8ciYmIWU/Lmhhc19zZXR0bGVtZW50fHwob1sic2V0dGxlbWVudC1hcy1jbG9zZSJdPSExKX1yZXR1cm4gb31fY2hlY2tDaGFydFN0eWxlKCl7Y29uc3QgZT10aGlzLnN0eWxlKCk7KDAsUC5pc0Nsb3NlQmFzZWRTeW1ib2wpKHRoaXMuc3ltYm9sSW5mbygpKXx8dGhpcy5pbnRlcnZhbE9iaigpLnZhbHVlKCkuaXMxVGljaygpPygwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KToiaGxjIj09PXRoaXMuc3ltYm9sSW5mbygpPy52aXNpYmxlX3Bsb3RzX3NldD8oMCxQLmlzSExDQmFzZWRTdHlsZSkoZSl8fCgwLFAuaXNTaW5nbGVWYWx1ZUJhc2VkU3R5bGUpKGUpfHwodGhpcy5yZXF1ZXN0aW5nU3R5bGVJc05vdFN1cHBvcnRlZC5maXJlKCksdGhpcy5fc3R5bGVUb1JlY292ZXI9e2NvcnJlY3RlZFN0eWxlOnRoaXMuc3R5bGUoKSxvcmlnaW5hbFN0eWxlOmV9KTpudWxsIT09dGhpcy5fc3R5bGVUb1JlY292ZXImJih0aGlzLnJlcXVlc3RpbmdTdHlsZVN1cHBvcnRSZWNvdmVyZWQuZmlyZSh0aGlzLl9zdHlsZVRvUmVjb3Zlci5vcmlnaW5hbFN0eWxlKSx0aGlzLl9zdHlsZVRvUmVjb3Zlcj1udWxsKX1fdXBkYXRlU3ltYm9sSW5mbyhlKXtpZihlKXtjb25zdCB0PXRoaXMuX2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpLHM9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxuPSgwLFAuc3ltYm9sQ3VycmVuY3kpKGUpLHI9KDAsUC5zeW1ib2xVbml0KShlLHRoaXMuX21vZGVsLnVuaXRDb252ZXJzaW9uRW5hYmxlZCgpKSxvPSgwLFAuc3ltYm9sTWV0cmljKShlLHRoaXMuX21vZGVsLm1ldHJpY0NvbnZlcnNpb25FbmFibGVkKCkpOyJhbHdheXNPZmYiPT09KDAseC5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKXx8bj09PXMuY3VycmVuY3lJZC52YWx1ZSgpJiZyPT09cy51bml0SWQudmFsdWUoKXx8dGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpO2NvbnN0IGE9biE9PXMuY3VycmVuY3lJZC52YWx1ZSgpLGw9ciE9PXMudW5pdElkLnZhbHVlKCksdT1vIT09cy5tZXRyaWNJZC52YWx1ZSgpO3MuY3VycmVuY3lJZC5zZXRWYWx1ZVNpbGVudGx5KG4pLHMudW5pdElkLnNldFZhbHVlU2lsZW50bHkocikscy5tZXRyaWNJZC5zZXRWYWx1ZVNpbGVudGx5KG8pLHRoaXMuX3N5bWJvbEluZm8uc2V0VmFsdWUoZSksCnMuc2hvcnROYW1lLnNldFZhbHVlKGUubmFtZSk7Y29uc3QgYz0oMCxULmV4dHJhY3RTeW1ib2xOYW1lRnJvbVN5bWJvbEluZm8pKGUsdGhpcy5zeW1ib2woKSk7YyYmcy5zeW1ib2wuc2V0VmFsdWUoYyksYSYmcy5jdXJyZW5jeUlkLmZpcmVDaGFuZ2VkKCksbCYmcy51bml0SWQuZmlyZUNoYW5nZWQoKSx1JiZzLm1ldHJpY0lkLmZpcmVDaGFuZ2VkKCk7Y29uc3QgZD10aGlzLl9nZXRSZXNvbHZpbmdTeW1ib2xPYmplY3QoKSxoPXRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2woKTsoMCxpLmRlZmF1bHQpKHQsaCkmJiEoMCxpLmRlZmF1bHQpKGQsaCkmJnRoaXMuX3Nlcmllc1NvdXJjZS51cGRhdGVFeHRTeW1ib2woZCksdGhpcy5fdXBkYXRlU2Vzc2lvbklkUHJveHlQcm9wZXJ0eSghMCl9ZWxzZSB0aGlzLl9zeW1ib2xJbmZvLnNldFZhbHVlKG51bGwpO2NvbnN0IHQ9dGhpcy5hbGlhc1N5bWJvbEluZm8oKTt0aGlzLl9iYXNlPXQ/dC5wcmljZXNjYWxlL3QubWlubW92OjEwMCx0aGlzLl9wb2ludFZhbHVlPWUmJmUucG9pbnR2YWx1ZXx8MTtjb25zdCBzPXRoaXMuZ2V0UXVvdGVzU3ltYm9sU3RyaW5nKCk7cyE9PXRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnN5bWJvbCgpJiZ0aGlzLl9xdW90ZXNMYXN0U3BsaXRzLnNldFZhbHVlKG51bGwpLHRoaXMuX3F1b3Rlc1Byb3ZpZGVyLnNldFF1b3Rlc1Nlc3Npb25TeW1ib2wocyksdGhpcy5fbWFya2V0U3RhdHVzTW9kZWwuc2V0U3ltYm9sSW5mbyhlKSxlJiZ0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLHRoaXMuX3N0YXR1c1ZpZXcudXBkYXRlKCksdGhpcy5wcmljZVNjYWxlKCkudXBkYXRlRm9ybWF0dGVyKCksdGhpcy5fc3ltYm9sUmVzb2x2aW5nQWN0aXZlLnNldFZhbHVlKCFlKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fZGF0YVBvd2VyZWRCeT0oMCxOLmdldERhdGFWZW5kb3JTdHJpbmcpKGUpLHRoaXMuX3VwZGF0ZUJhY2tBZGp1c3RtZW50Rm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl91cGRhdGVTZXR0bGVtZW50QXNDbG9zZUZvcmJpZGRlblByb3BlcnR5KCl9X2NyZWF0ZUhpZ2hMb3dBdmdWaWV3cygpe2NvbnN0IGU9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaGlnaExvd0F2Z1ByaWNlLHQ9dGhpcy5fZ2V0SGlnaExvd1ByaWNlLmJpbmQodGhpcykscz0oMCxhZS5jcmVhdGVIaWdoTG93Vmlld3MpKHRoaXMuX21vZGVsLHRoaXMsZSx0KTt0aGlzLl9oaWdoTG93QXZnUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lVmlld3MpLHRoaXMuX2xhYmVsUGFuZVZpZXdzLnB1c2goLi4ucy5wYW5lUHJpY2VBeGlzVmlld3MpLHRoaXMuX3ByaWNlQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUF4aXNWaWV3cyksdGhpcy5fcHJpY2VMaW5lQXhpc1ZpZXdzLnB1c2goLi4ucy5wcmljZUxpbmVBeGlzVmlld3MpfV9jcmVhdGVBdmVyYWdlVmlld3MoKXt9X2dldEhpZ2hMb3dQcmljZShlKXtpZighdGhpcy5faGlnaExvd1ByaWNlQ2FjaGUuaGFzKGUpKXtjb25zdCBlPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWZ1bmN0aW9uKGUsdCxzKXtyZXR1cm4gZS5taW5NYXhPblJhbmdlQ2FjaGVkKHQscyxbe25hbWU6ImxvdyIsb2Zmc2V0OjB9LHtuYW1lOiJoaWdoIixvZmZzZXQ6MH1dKX0odGhpcy5fbW9kZWwubWFpblNlcmllcygpLmJhcnMoKSxlLmZpcnN0QmFyKCksZS5sYXN0QmFyKCkpO2lmKG51bGw9PT10KXJldHVybiBudWxsO3RoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLnNldCgxLHQubWluKSx0aGlzLl9oaWdoTG93UHJpY2VDYWNoZS5zZXQoMCx0Lm1heCl9cmV0dXJuIHRoaXMuX2hpZ2hMb3dQcmljZUNhY2hlLmdldChlKX1fZ2V0QXZlcmFnZVByaWNlKGUpe3JldHVybiBudWxsfV91cGRhdGVDb21wbGV0ZVN0YXR1c01vZGUoZSl7c3dpdGNoKGU9InB1bHNlZCI9PT1lPyJkZWxheWVkIjplKXtjYXNlInN0cmVhbWluZyI6dGhpcy5fc2V0U3RhdHVzKDMpO2JyZWFrO2Nhc2UiZW5kb2ZkYXkiOnRoaXMuX3NldFN0YXR1cyg2KTticmVhaztjYXNlImRlbGF5ZWQiOnRoaXMuX3NldFN0YXR1cyg4KTticmVhaztjYXNlInJlcGxheSI6dGhpcy5fc2V0U3RhdHVzKDExKX1lLm1hdGNoKC9kZWxheWVkX3N0cmVhbWluZy8pJiZ0aGlzLl9zZXRTdGF0dXMoOSl9X29uU2VyaWVzQ29tcGxldGVkKGUpe2lmKDE0PT09dGhpcy5fc3RhdHVzLnZhbHVlKCkuc2VyaWVzU3RhdHVzKXJldHVybjt0aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic2VyaWVzX2xvYWRlZCIsdGhpcy5fZ2V0VGVsZW1ldHJ5QWRkaXRpb25hbERhdGEoKSksdGhpcy5fc2VyaWVzRXJyb3JNZXNzYWdlPW51bGwsdGhpcy5fdXBkYXRlQ29tcGxldGVTdGF0dXNNb2RlKGUudXBkYXRlTW9kZSksdGhpcy5fbGFzdENvbXBsZXRlRmxhZ3M9ZS5mbGFncz8/bnVsbDtjb25zdCB0PSgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKSk7dC5yZWNhbGN1bGF0ZVByaWNlU2NhbGUodGhpcy5wcmljZVNjYWxlKCksKDAsZmUuc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpO2NvbnN0IGk9X2UuSW52YWxpZGF0aW9uTWFzay5mdWxsKCk7aWYobnVsbCE9PXRoaXMuX21vZGVsLmFwcGxpZWRUaW1lRnJhbWUoKS52YWx1ZSgpJiZpLmxvY2tWaXNpYmxlVGltZVJhbmdlT25SZXNpemUoKSx0aGlzLl9tb2RlbC5pbnZhbGlkYXRlKGkpLCF0aGlzLnByaWNlU2NhbGUoKS5pc0xvY2tTY2FsZSgpfHx0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuaXNFbXB0eSgpfHx0aGlzLl9zZXJpZXNMb2FkZWR8fCh0aGlzLm1vZGVsKCkudGltZVNjYWxlKCkuY29ycmVjdE9mZnNldCgpLHRoaXMubW9kZWwoKS50aW1lU2NhbGUoKS5jb3JyZWN0QmFyU3BhY2luZygpLHRoaXMubW9kZWwoKS5yZXNldFByaWNlU2NhbGUodCx0aGlzLnByaWNlU2NhbGUoKSkpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMCx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITAsCnRoaXMubW9kZWwoKS5yZWNhbGNWaXNpYmxlUmFuZ2VTdHVkaWVzKHYuUmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllc1JlYXNvbi5TZXJpZXNDb21wbGV0ZWQpLHRoaXMubW9kZWwoKS5yZWNhbGNTdHVkeUJhc2VkTGluZVRvb2xzKCksIW10KXttdD0hMDsoMCxzKDc2MDA5OCkudHJhY2tUaW1pbmcpKCJDaGFydCIsIlRpbWUgdG8gc2VyaWVzIix3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkpfWlmKHRoaXMucmVxdWVzdE1vcmVEYXRhKCksbnVsbCE9PXRoaXMuX3NhdmVkTGVmdEVkZ2UmJjIhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpe2NvbnN0IGU9MWUzKnRoaXMuX3NhdmVkTGVmdEVkZ2UsdD10aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZTtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuX21vZGVsLnN5bmNUaW1lV2l0aE1vZGVsKCgwLG4uZW5zdXJlTm90TnVsbCkodGhpcy5zeW5jTW9kZWwoKSkuc3luY1NvdXJjZVRhcmdldCgpLGUse3RhcmdldFBvaW50QWxpZ25tZW50OiJsZWZ0IixhbGlnbklmVGFyZ2V0UG9pbnRJc1Zpc2libGU6ITAsYXV0b3NjYWxlQWZ0ZXJTY3JvbGw6ITF9KS50aGVuKCgoKT0+e3Q/LnJlc29sdmUoKX0pKS5jYXRjaCgoKCk9Pnt9KSl9KSwwKSx0aGlzLl9zYXZlZExlZnRFZGdlPW51bGwsdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2U9bnVsbH10aGlzLl9lbmFibGVQcmljZVJhbmdlUmVhZHkoKX1fb25TZXJpZXNEYXRhQ2xlYXJlZCgpe3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbm90aWZ5SW50ZXJ2YWxDaGFuZ2VkKGUpe2NvbnN0IHQ9e3RpbWVmcmFtZTp0aGlzLl9wZW5kaW5nVGltZVJhbmdlPz92b2lkIDB9O3RoaXMuX2ludGVydmFsQ2hhbmdlZC5maXJlKGUsdCksdGhpcy5fcGVuZGluZ1RpbWVSYW5nZT10LnRpbWVmcmFtZT8/bnVsbH1fb25DdXJyZW5jeUNoYW5nZWQoKXt0aGlzLl9jdXJyZW5jeUNoYW5nZWQuZmlyZSgpfV9vblVuaXRDaGFuZ2VkKCl7dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfV9vbk1ldHJpY0NoYW5nZWQoKXt0aGlzLl9tZXRyaWNDaGFuZ2VkLmZpcmUoKX1fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZChlLHQ9bnVsbCl7aWYodGhpcy5fc2F2ZWRMZWZ0RWRnZT1udWxsLCF0JiYhZSYmdGhpcy5fbW9kZWwucHJvcGVydGllcygpLmNoaWxkcygpLnNjYWxlc1Byb3BlcnRpZXMuY2hpbGRzKCkuc2F2ZUxlZnRFZGdlLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCk7aWYoIWUuaXNFbXB0eSgpKXtsZXQgdD1lLnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKT8uZmlyc3RCYXIoKTtpZih2b2lkIDAhPT10KXtjb25zdCBzPXRoaXMuX3Nlcmllc1NvdXJjZS5kYXRhKCk/LmJhcnMoKS5maXJzdCgpO3JldHVybiBudWxsIT1zJiYodD1NYXRoLm1heCh0LHMuaW5kZXgpKSx0aGlzLl9zYXZlZExlZnRFZGdlPWUuaW5kZXhUb1RpbWVQb2ludCh0KSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZT0oMCx5LmNyZWF0ZURlZmVycmVkUHJvbWlzZSkoKSwhMH19fXJldHVybiExfWFzeW5jIF9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoZSx0KXtpZih0aGlzLmlzSW5SZXBsYXkoKS52YWx1ZSgpKXtjb25zdCBzPSgpPT50aGlzLl9yZW1vdmVSZXBsYXlTdWJzY3JpYmVyKCk7ZSYmKGMuSW50ZXJ2YWwuaXNSYW5nZSh0KT9zKCk6KDAsbi5lbnN1cmVOb3ROdWxsKSh0aGlzLl9pc1JlcGxheVJlc29sdXRpb25BdmFpbGFibGVGb3JVc2VyKSh0KT9hd2FpdCB0aGlzLmNhbkNoYW5nZVJlc29sdXRpb24odCl8fHMoKToocygpLHRoaXMuX3BhcmFtc05vdEFwcGxpY2FibGVGb3JSZXBsYXkuZmlyZSgzLCJjaGFuZ2VSZXNvbHV0aW9uIikpKX19YXN5bmMgX2FwcGx5U3ltYm9sUGFyYW1zQ2hhbmdlcyhlKXt0aGlzLl9sYXN0Q29tcGxldGVGbGFncz1udWxsLHRoaXMuY2xlYXJHb3RvRGF0ZVJlc3VsdCgpO2NvbnN0IHQ9dGhpcy5pbnRlcnZhbCgpLHM9dGhpcy5jdXJyZW5jeSgpLGk9dGhpcy51bml0KCksbj10aGlzLm1ldHJpYygpO2MuSW50ZXJ2YWwuaXNSYW5nZSh0KSYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5yYW5nZVN0eWxlLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKS5yYW5nZS5zZXRWYWx1ZShjLkludGVydmFsLnBhcnNlKHQpLm11bHRpcGxpZXIoKSk7Y29uc3R7c3ltYm9sQ2hhbmdlZDpyLGludGVydmFsQ2hhbmdlZDpvLGN1cnJlbmN5Q2hhbmdlZDphLHVuaXRDaGFuZ2VkOmwsbWV0cmljQ2hhbmdlZDp1LGZvcmNlOmR9PWUsaD1vJiZjLkludGVydmFsLnBhcnNlKHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbCkuaXNEV00oKSE9PWMuSW50ZXJ2YWwucGFyc2UodCkuaXNEV00oKTtpZigobnVsbCE9PXMmJmF8fG51bGwhPT1pJiZsfHxudWxsIT09biYmdSkmJnRoaXMuaXNJblJlcGxheSgpLnZhbHVlKCkpe2NvbnN0IGU9dGhpcy5zeW1ib2xJbmZvKCk7KG51bGw9PT1lfHxudWxsIT09cyYmZS5vcmlnaW5hbF9jdXJyZW5jeV9pZCE9PXN8fG51bGwhPT1pJiZlLm9yaWdpbmFsX3VuaXRfaWQhPT1pKSYmdGhpcy5fcmVtb3ZlUmVwbGF5U3Vic2NyaWJlcigpfWlmKHRoaXMuX3N5bmNNb2RlbD1udWxsLHRoaXMuX3ByZXZSZXF1ZXN0ZWRJbnRlcnZhbD10LDUhPT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMmJighdGhpcy5fc2VyaWVzU291cmNlLmlzU3RhcnRlZCgpfHxyfHxhfHxsfHx1fHxoKSYmdGhpcy5fdXBkYXRlU3ltYm9sSW5mbyhudWxsKSx0aGlzLl9wcm9jZXNzUmVwbGF5T25BcHBseVN5bWJvbFBhcmFtc0NoYW5nZXMoISFvLHQpLDU9PT10aGlzLl9zdGF0dXMudmFsdWUoKS5zZXJpZXNTdGF0dXMpcmV0dXJuIHZvaWQgdGhpcy5fcmVhbGlnbkxpbmVUb29scygpO3RoaXMuX3NldFN0YXR1cygxKSx0aGlzLl91cGRhdGVJc05vblJlZ3VsYXJNYXJrZXRQcmljZXNGb3JiaWRkZW5Qcm9wZXJ0aWVzKCksdGhpcy5fdXBkYXRlQmFja0FkanVzdG1lbnRGb3JiaWRkZW5Qcm9wZXJ0eSgpLHRoaXMuX3VwZGF0ZVNldHRsZW1lbnRBc0Nsb3NlRm9yYmlkZGVuUHJvcGVydHkoKSx0aGlzLl9zeW1ib2xJbnRlcnZhbENoYW5nZWQuZmlyZSgpLApvJiZ0aGlzLl9ub3RpZnlJbnRlcnZhbENoYW5nZWQodCksdGhpcy5fb25SZXN0YXJ0ZWQuZmlyZSgpLHRoaXMuX3Nlcmllc0xvYWRlZD0hMSx0aGlzLl9zZXJpZXNDb21wbGV0ZWQ9ITEsdGhpcy5fbGluZVN0eWxlTGFzdFByaWNlQ2lyY2xlUGFuZVZpZXcuc3RvcEFuaW1hdGlvbigpO2xldCBtPW51bGw7dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSYmKG09dGhpcy5fcGVuZGluZ1RpbWVSYW5nZSx0aGlzLl9wZW5kaW5nVGltZVJhbmdlPW51bGwpLHRoaXMuX29uVGltZUZyYW1lQXBwbGllZC5maXJlKG0pLHRoaXMuX29uQmVmb3JlTW9kaWZ5U2VyaWVzKHRoaXMuZ2V0U3ltYm9sU3RyaW5nKCksdCk7Y29uc3QgXz10aGlzLl9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSkmJnRoaXMuX3Zpc2libGVCYXJzQ291bnQoKXx8bnVsbDt0aGlzLm1vZGVsKCkucmVjYWxjVmlzaWJsZVJhbmdlU3R1ZGllcyh2LlJlY2FsY1Zpc2libGVSYW5nZVN0dWRpZXNSZWFzb24uU2VyaWVzUmVzdGFydCksdGhpcy5fc2F2ZUxlZnRFZGdlSWZSZXF1aXJlZCghIXIsbSksdGhpcy5fZGF0YT1udWxsLHRoaXMuX3Nlcmllc1NvdXJjZS5tb2RpZnlTZXJpZXModGhpcy5fZ2V0UmVzb2x2aW5nU3ltYm9sT2JqZWN0KCksKDAscC5nZXRTZXJ2ZXJJbnRlcnZhbCkodCksbSxkLF8pLHRoaXMuX3Nlcmllc1NvdXJjZS5pc1N0YXJ0ZWQoKXx8KHRoaXMuX3ByZWRpY3RCYXJzPTAsdGhpcy5fc2VyaWVzU291cmNlLnN0YXJ0KCkpLChyfHxhfHxsKSYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxmZS5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwubGlnaHRVcGRhdGUoKSx0aGlzLl9wZW5kaW5nU2Nyb2xsVG9MZWZ0RWRnZSYmYXdhaXQgdGhpcy5fcGVuZGluZ1Njcm9sbFRvTGVmdEVkZ2UucHJvbWlzZX1fcmVhbGlnbkxpbmVUb29scygpe3RoaXMubW9kZWwoKS5yZWFsaWduTGluZVRvb2xzKCl9YXN5bmMgX29uQmVmb3JlTW9kaWZ5U2VyaWVzKGUsdCl7Y29uc3Qgcz10aGlzLl9yZXBsYXlTdWJzY3JpYmVyLnZhbHVlKCk7cz8ubW9kaWZ5U2VyaWVzKGUsdCl9X2dldFJlc29sdmluZ1N5bWJvbE9iamVjdCgpe2xldCBlPXRoaXMuX2dldFN5bWJvbE9iamVjdCh0aGlzLl9zeW1ib2xGb3JSZXNvbHZlKCkpO2NvbnN0IHQ9dGhpcy5fcmVwbGF5U3Vic2NyaWJlci52YWx1ZSgpO3JldHVybiB0JiYoZT10LmdlbmVyYXRlUmVwbGF5U3ltYm9sKGUpKSxlfV9vblNlc3Npb25JZFByb3BlcnR5Q2hhbmdlZCgpe3RoaXMuX3Nlc3Npb25JZENoYW5nZWQuZmlyZSgpLHRoaXMuaXNEV00oKXx8KHRoaXMuX3NhdmVMZWZ0RWRnZUlmUmVxdWlyZWQoITEpLHRoaXMucmVzdGFydCghMCksdGhpcy5fdXBkYXRlTGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlKCkpLHRoaXMuX3N5bmNNb2RlbD1udWxsfV9zdWJzY3JpYmVSZXN0YXJ0VG9TZXNzaW9uSWRDaGFuZ2UoKXt0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zZXNzaW9uSWQuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3Vuc3Vic2NyaWJlUmVzdGFydFRvU2Vzc2lvbklkQ2hhbmdlKCl7dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc2Vzc2lvbklkLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRQcm9wZXJ0eUNoYW5nZWRCb3VuZCl9X3VwZGF0ZUxhc3RQcmljZUFuaW1hdGlvbkFjdGl2ZSgpe2lmKCF0aGlzLl9vcHRpb25zLmxhc3RQcmljZUFuaW1hdGlvbkVuYWJsZWR8fCgwLGcuaXNGZWF0dXJlc2V0RW5hYmxlZCkoImRpc2FibGVfcHVsc2VfYW5pbWF0aW9uIikpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlLHQ9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkscz10aGlzLnN5bWJvbEluZm8oKTt0aGlzLl9sYXN0UHJpY2VBbmltYXRpb25BY3RpdmU9KDAsV2UuaXNMYXN0UHJpY2VBbmltYXRpb25BY3RpdmUpKHtzdHlsZTp0LnN0eWxlLnZhbHVlKCksdmlzaWJsZTp0LnZpc2libGUudmFsdWUoKSxpc1NuYXBzaG90OnRoaXMuX21vZGVsLmlzU25hcHNob3QoKSxoYXNTeW1ib2xJbmZvOiEhcyxpc1JlZ3VsYXJTZXNzaW9uOiFzfHwoMCxQLmlzUmVndWxhclNlc3Npb25JZCkodGhpcy5zZXNzaW9uSWRQcm94eVByb3BlcnR5KCkudmFsdWUoKSxzKSxpc0RXTTp0aGlzLmlzRFdNKCksY3VycmVudFNlc3Npb246dGhpcy5jdXJyZW50U2Vzc2lvbigpfSksdGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZlIT09dGhpcy5fbGFzdFByaWNlQW5pbWF0aW9uQWN0aXZlJiZ0aGlzLm1vZGVsKCkuaW52YWxpZGF0ZShfZS5JbnZhbGlkYXRpb25NYXNrLmN1cnNvcigpKX1fb25Qcm9wZXJ0aWVzQ2hhbmdlZChlKXtjb25zdCB0PXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYoZT09PXQuc3ltYm9sfHxlPT09dC5pbnRlcnZhbHx8ZT09PXQudGltZWZyYW1lKXJldHVybjtjb25zdCBzPXRoaXMuX2lkLnZhbHVlKCk7dGhpcy5fdGFnc0NoYW5nZWQuZmlyZSgpLHRoaXMuY3JlYXRlUGFuZVZpZXcoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLGZlLnNvdXJjZUNoYW5nZUV2ZW50KShzKSksdGhpcy5tb2RlbCgpLnVwZGF0ZVNvdXJjZSh0aGlzKSwoMCxfLmVtaXQpKCJzZXJpZXNfcHJvcGVydGllc19jaGFuZ2VkIixzKX1fcmVjYWxjU3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKXt0aGlzLl90ZXh0U291cmNlSXNBbHdheXNUaWNrZXJSZXN0cmljdGlvbkVuYWJsZWQ/dGhpcy5fc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkuc2V0VmFsdWUoInRpY2tlciIpOnRoaXMuX3N5bWJvbFRleHRTb3VyY2VQcm94eVByb3BlcnR5LnNldFZhbHVlKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudmFsdWUoKSl9X2NsZWFyU3R5bGVQbG90KGUsdCl7aWYoMD09PWUuc2l6ZSgpKXJldHVybjtpZih2b2lkIDA9PT10JiZlIT09dGhpcy5uc0JhcnMoKSlyZXR1cm4gdm9pZCh0aGlzLl9wcmVjb21wdXRlZEJhclN0eWxlcz1uZXcgV2Vha01hcCkKO2NvbnN0IHM9dD8/KDAsbi5lbnN1cmVOb3ROdWxsKShlLmZpcnN0SW5kZXgoKSksaT0oMCxuLmVuc3VyZU5vdE51bGwpKGUubGFzdEluZGV4KCkpKzE7ZS5yYW5nZShzLGkpLmVhY2goKChlLHQpPT4odGhpcy5fcHJlY29tcHV0ZWRCYXJTdHlsZXMuZGVsZXRlKHQpLCExKSkpfV92aXNpYmxlQmFyc0NvdW50KCl7Y29uc3QgZT10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7cmV0dXJuIGU/LmNvdW50KCl9X3N5bWJvbEZvclJlc29sdmUoKXtjb25zdCBlPXRoaXMuc3ltYm9sKCk7cmV0dXJuIHRoaXMuX3Nlcmllc1NvdXJjZS5zeW1ib2xTYW1lQXNSZXNvbHZlZChlKT90aGlzLl9zZXJpZXNTb3VyY2UucmVzb2x2ZWRTeW1ib2woKT8/ZTplfV9zaG91bGREZWZpbmVOdW1iZXJPZkJhcnNGb3JNb2RpZnlTZXJpZXMoZSl7cmV0dXJuITF9X29uU2hvd0NvdW50ZG93bkNoYW5nZWQoZSl7ZS52YWx1ZSgpP3RoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyPXRoaXMuX21vZGVsLnNldEludGVydmFsKCgoKT0+e3RoaXMuX3ByaWNlQXhpc1ZpZXcudXBkYXRlQ291bnRkb3duPy4oKSx0aGlzLl9wcm9qZWN0aW9uUHJpY2VBeGlzVmlldy51cGRhdGVDb3VudGRvd24/LigpfSksNTAwKTpudWxsIT09dGhpcy5fY291bnRkb3duVXBkYXRlVGltZXImJih0aGlzLl9tb2RlbC5jbGVhckludGVydmFsKHRoaXMuX2NvdW50ZG93blVwZGF0ZVRpbWVyKSx0aGlzLl9jb3VudGRvd25VcGRhdGVUaW1lcj1udWxsKX1fb25Gb3JtYXR0ZXJQcm9wc0NoYW5nZWQoKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcigpLHRoaXMuX21vZGVsLmZ1bGxVcGRhdGUoKX1fdXBkYXRlU3RhdHVzKGUpezE0IT09ZS5zZXJpZXNTdGF0dXMmJnRoaXMuX3Vuc3VwcG9ydGVkUmVzb2x1dGlvblN0YXRlLnNldFZhbHVlKG51bGwpLHRoaXMuX3N0YXR1cy5zZXRWYWx1ZShlKX1fd2FzQ29tcGxldGVkQmVmb3JlKCl7cmV0dXJuIHRoaXMuaXNDb21wbGV0ZWQoKSYmKHRoaXMuX3N0dWR5QmluZGluZ3M/Lndhc0NvbXBsZXRlZEJlZm9yZSgpPz8hMCl9X2NvbG9yT25QcmV2QmFyKCl7Y29uc3QgZT1uZXcgTWFwKFtbMSwiY2FuZGxlU3R5bGUiXSxbMCwiYmFyU3R5bGUiXSxbMTksInZvbENhbmRsZXNTdHlsZSJdLFs4LCJoYVN0eWxlIl0sWzEzLCJjb2x1bW5TdHlsZSJdXSk7ZS5zZXQoMTcsInZvbEZvb3RwcmludFN0eWxlIik7Y29uc3QgdD1lLmdldCh0aGlzLnN0eWxlKCkpO3JldHVybiEhdCYmdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKVt0XS5jaGlsZHMoKS5iYXJDb2xvcnNPblByZXZDbG9zZS52YWx1ZSgpfV9yZXN0YXJ0SWZTdHlsZU1hdGNoZXMoZSl7dGhpcy5zdHlsZSgpPT09ZSYmdGhpcy5yZXN0YXJ0KCl9fX0sODM3MjAzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1Nlcmllc0RhdGFTb3VyY2U6KCk9PmkuU2VyaWVzRGF0YVNvdXJjZX0pO3ZhciBpPXMoOTM1MjQwKSxuPXMoMTExOTUzKSxyPXMoODU2NTYpLG89cyg5MzAyMzEpO2kuU2VyaWVzRGF0YVNvdXJjZS5zZXROb25TZXJpZXNEYXRhVW5wYWNrZXIoci51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCksaS5TZXJpZXNEYXRhU291cmNlLnNldFN5bWJvbEVuY29kZXIobi5lbmNvZGVFeHRlbmRlZFN5bWJvbFN0cnVjdHVyYWwpLGkuU2VyaWVzRGF0YVNvdXJjZS5zZXRFeHRyYWN0U3ltYm9sRmVhdHVyZXNldHMoe3BheUF0dGVudGlvblRvVGlja2VyTm90U3ltYm9sOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInBheV9hdHRlbnRpb25fdG9fdGlja2VyX25vdF9zeW1ib2wiKSxjaGFydGluZ0xpYnJhcnlTaW5nbGVTeW1ib2xSZXF1ZXN0OigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoImNoYXJ0aW5nX2xpYnJhcnlfc2luZ2xlX3N5bWJvbF9yZXF1ZXN0IiksdXNlVGlja2VyT25TeW1ib2xJbmZvVXBkYXRlOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVzZV90aWNrZXJfb25fc3ltYm9sX2luZm9fdXBkYXRlIiksdXBwZXJjYXNlSW5zdHJ1bWVudE5hbWVzOigwLG8uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInVwcGVyY2FzZV9pbnN0cnVtZW50X25hbWVzIil9KX0sNDM3NzQ5KGUsdCxzKXsidXNlIHN0cmljdCI7cy5yKHQpLHMuZCh0LHthcHBseURlZmF1bHRDb2xvcnNUb1Byb3BzU3RhdGU6KCk9PngsYmxhY2tsaXN0ZWRQcm9wZXJ0aWVzOigpPT5rLHByZXBhcmVTdHVkeVByb3BlcnRpZXM6KCk9PlIscHJlcGFyZVN0dWR5UHJvcGVydGllc0ZvckxvYWRDaGFydDooKT0+VCxwcmVwYXJlU3R1ZHlQcm9wc1N0YXRlRm9yTG9hZENoYXJ0OigpPT5DLHN0dWR5R2VuZXJhbFByb3BzU3RhdGU6KCk9Pkksc3R1ZHlQcm9wc0V4Y2x1ZGVEZWZhdWx0c0tleXM6KCk9PlZ9KTt2YXIgaT1zKDc0MDE2Miksbj1zKDYwMTg0MSkscj1zKDIyMTA2MSksbz1zKDc5MTQyNyksYT1zKDUwNTU2KSxsPXMoMjYwNjkpLHU9cyg1MDk1NDQpLGM9cyg5NTA1NTQpLGQ9cyg4NzUzMDEpLGg9cygzNjQ0NjYpLHA9cygxNjgyNTgpLG09cyg4NzExOTQpLF89cyg1NTQ5MDQpO2NvbnN0IGc9KDAsci5nZXRMb2dnZXIpKCJDaGFydC5TdHVkeSIpLHk9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksZj0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKSx2PSgwLGEuZ2V0SGV4Q29sb3JCeU5hbWUpKCJjb2xvci10di1ibHVlLTUwMCIpLGI9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUz0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItY29sZC1ncmF5LTUwMCIpLHc9KDAsYS5nZXRIZXhDb2xvckJ5TmFtZSkoImNvbG9yLXR2LWJsdWUtNTAwIiksUD0oMCxhLmdldEhleENvbG9yQnlOYW1lKSgiY29sb3ItdHYtYmx1ZS01MDAiKTtmdW5jdGlvbiBUKGUsdCxzLGksbixyKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHMsaSxuLHIsbyl7Y29uc3QgYT1DKGUsdCxzLGkscik7cmV0dXJuIEEodHx8ZSxuLGEsbywhMCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxuLHIpfWZ1bmN0aW9uIEMoZSx0LHMscixhKXsKZS52ZXJzaW9uJiZzLnZlcnNpb24mJmUudmVyc2lvbiE9PXMudmVyc2lvbiYmZy5sb2dXYXJuKCJTZXJpYWxpemVkIG1ldGFJbmZvIHZlcnNpb24gIitlLnZlcnNpb24rIiBpcyBub3QgZXF1YWwgdG8gdGhlIHNhdmVkIHN0YXRlIHZlcnNpb24gIitzLnZlcnNpb24pO2NvbnN0IGw9dHx8ZSxjPSgwLG4uY2xvbmUpKGwuZGVmYXVsdHMpPz97fSxkPW8uU3R1ZHlNZXRhSW5mby5nZXRTdHVkeVByb3BlcnR5Um9vdE5hbWUobCksaD1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpO2xldCBwPUkoKTtyZXR1cm4oMCxpLmRlZmF1bHQpKHAsRShlKSksdCYmKDAsaS5kZWZhdWx0KShwLEUodCkpLCgwLGkuZGVmYXVsdCkocCwoMCxuLmNsb25lKShlLmRlZmF1bHRzKSksKDAsaS5kZWZhdWx0KShwLGMpLCgwLGkuZGVmYXVsdCkocCwoMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShkKSksKDAsaS5kZWZhdWx0KShwLCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKGgpKSwoMCxpLmRlZmF1bHQpKHAsTChsLHIsZCkpLCgwLGkuZGVmYXVsdCkocCxMKGUscixoKSksdCYmbnVsbCE9dC5fc2VydmVyTWV0YUluZm9WZXJzaW9uJiZudWxsIT1lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24mJnQuaXNQaW5lKCkmJmUuaXNQaW5lKCkmJnQuX3NlcnZlck1ldGFJbmZvVmVyc2lvbj5lLl9zZXJ2ZXJNZXRhSW5mb1ZlcnNpb24/KDAsXy5tZXJnZVNlcmlhbGl6ZWRTdGF0ZVJlbWFwcGluZ0lucHV0c0J5TmFtZSkocCxzLGUsdCk6KDAsaS5kZWZhdWx0KShwLHMpLHgocCxsKSxwPXIudXBkYXRlU3R1ZHlTdGF0ZShwLGUsdCksdm9pZCAwIT09YSYmdCYmKHA9YShzLHAsZSx0KSksby5TdHVkeU1ldGFJbmZvLnZlcnNpb25PZihsKT49MSYmKDAsaS5kZWZhdWx0KShwLE0oYyxwKSkscH1mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9e307aWYoZS5wbG90cylmb3IobGV0IHM9MDtzPGUucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT1lLnBsb3RzW3NdLHI9aS5pZDtpZigoMCxwLmlzQ29sb3JlclBsb3QpKGkpKWNvbnRpbnVlO2NvbnN0IG89e2Rpc3BsYXk6cC5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbCxjb2xvcjp5LGxpbmVzdHlsZTpsLkxJTkVTVFlMRV9TT0xJRCxsaW5ld2lkdGg6MixwbG90dHlwZTpwLkxpbmVTdHVkeVBsb3RTdHlsZS5MaW5lLHRyYWNrUHJpY2U6ITF9OygwLHAuaXNCYXJDb2xvcmVyUGxvdCkoaSkmJihvLnRyYW5zcGFyZW5jeT0wKSxvLnBsb3R0eXBlPWkudHlwZSxvLnRpdGxlPXIsdFtyXT0oMCxuLmNsb25lKShvKX1yZXR1cm57c3R5bGVzOnR9fWZ1bmN0aW9uIEkoKXtjb25zdCBlPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykoInN0dWR5IikpO3JldHVybiBlLmludGVydmFsc1Zpc2liaWxpdGllcz0oMCxuLmNsb25lKShkLmludGVydmFsc1Zpc2liaWxpdGllc0RlZmF1bHRzKSxlfWZ1bmN0aW9uIEwoZSx0LHMpe2xldCBpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlEZWZhdWx0cykocyx0KSk7cmV0dXJuIk92ZXJsYXkiIT09ZS5zaG9ydElkJiYiQ29tcGFyZSIhPT1lLnNob3J0SWR8fChpLmN1cnJlbmN5SWQ9bnVsbCxpLnVuaXRJZD1udWxsKSxlLmlzVFZTY3JpcHQmJmUuVFZTY3JpcHRTb3VyY2VDb2RlIT09aS5UVlNjcmlwdFNvdXJjZUNvZGUmJihpPSgwLG4uY2xvbmUpKCgwLHUuc3R1ZHlGYWN0b3J5RGVmYXVsdHMpKHMpKSksaX1mdW5jdGlvbiBNKGUsdCl7Y29uc3Qgcz17fTtyZXR1cm4gYy5TdHVkeVZlcnNpb25pbmcubWVyZ2VJbnB1dHNPYmpQYXJ0KHMsZS5pbnB1dHM/P3t9KSxjLlN0dWR5VmVyc2lvbmluZy5tZXJnZUlucHV0c09ialBhcnQocyx0LmlucHV0cykse2lucHV0czpzfX1mdW5jdGlvbiBEKGUsdCxzLHIpe2lmKG8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk8MSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgZnVuY3Rpb24gY2Fubm90IHdvcmsgd2l0aCBtZXRhaW5mbyBvZiB0aGUgb2xkIGZvcm1hdCB2ZXJzaW9uLiBSZXF1aXJlZCBmb3JtYXQgdmVyc2lvbiA+PSAxIik7Y29uc3QgYT1vLlN0dWR5TWV0YUluZm8uZ2V0U3R1ZHlQcm9wZXJ0eVJvb3ROYW1lKGUpLGw9KDAsbi5jbG9uZSkoZS5kZWZhdWx0cyksYz0oMCx1LnN0dWR5RmFjdG9yeURlZmF1bHRzKShhKSxkPUkoKTtpZigoMCxpLmRlZmF1bHQpKGQsRShlKSksKDAsaS5kZWZhdWx0KShkLGwpLCgwLGkuZGVmYXVsdCkoZCxjKSwoMCxpLmRlZmF1bHQpKGQsTChlLHIsYSkpLCgwLGkuZGVmYXVsdCkoZCx0KSwoMCxpLmRlZmF1bHQpKGQsTShsLGQpKSx4KGQsZSksbnVsbCE9PXMpe2NvbnN0IHQ9cy5tb2RlbCgpLnN0dWRpZXNDb2xvclJvdGF0b3JGYWN0b3J5KCkuZ2V0Q29sb3JSb3RhdG9yKGUpO251bGwhPT10JiYoIk92ZXJsYXlAdHYtYmFzaWNzdHVkaWVzIj09PWUuaWQ/ZC5saW5lU3R5bGUuY29sb3I9dC5nZXRDb2xvcihkLmxpbmVTdHlsZS5jb2xvcixjLmxpbmVTdHlsZS5jb2xvcj09PWQubGluZVN0eWxlLmNvbG9yKTooMCxpLmRlZmF1bHQpKGQsZnVuY3Rpb24oZSx0KXtmb3IoY29uc3QgcyBvZiBPYmplY3Qua2V5cyhlLnN0eWxlcykpe2NvbnN0IGk9ZS5zdHlsZXNbc107aWYoKDAsbi5pc09iamVjdCkoaSkmJiJjb2xvciJpbiBpKXtjb25zdCBlPWkuY29sb3I7aS5jb2xvcj10LmdldENvbG9yKGUpfX1yZXR1cm4gZX0oZCx0KSkpfXJldHVybiByLnVwZGF0ZVN0dWR5SW5wdXRzSWZOZWVkZWQoZCxkLnZlcnNpb24/P2UudmVyc2lvbixlKSxkfWZ1bmN0aW9uIHgoZSx0KXtpZih0LnBsb3RzJiZlLnN0eWxlcylmb3IobGV0IHM9MDtzPHQucGxvdHMubGVuZ3RoO3MrKyl7Y29uc3QgaT10LnBsb3RzW3NdLG49aS5pZDtpZigoMCxwLmlzTGluZVBsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJm51bGw9PT10LmNvbG9yJiYodC5jb2xvcj15KX1lbHNlIGlmKCgwLHAuaXNTaGFwZXNQbG90KShpKSl7Y29uc3QgdD1lLnN0eWxlc1tuXTt0JiYobnVsbD09PXQuY29sb3ImJih0LmNvbG9yPWYpLG51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPWIpKX1lbHNlIGlmKCgwLHAuaXNDaGFyc1Bsb3QpKGkpKXtjb25zdCB0PWUuc3R5bGVzW25dO3QmJihudWxsPT09dC5jb2xvciYmKHQuY29sb3I9dyksCm51bGw9PT10LnRleHRDb2xvciYmKHQudGV4dENvbG9yPVApKX1lbHNlIGlmKCgwLHAuaXNPaGxjUGxvdCkoaSkpe2NvbnN0IHQ9ZS5vaGxjUGxvdHM/LltpLnRhcmdldF07dCYmbnVsbD09PXQuY29sb3ImJih0LmNvbG9yPXYpfX1pZihlLmJhbmRzKWZvcihsZXQgdD0wO3Q8ZS5iYW5kcy5sZW5ndGg7Kyt0KXtjb25zdCBzPWUuYmFuZHNbdF07bnVsbD09PXMuY29sb3ImJihzLmNvbG9yPVMpfX1mdW5jdGlvbiBSKGUsdCxzLGkscil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxzLGkscixhKXtjb25zdCBsPUQoZSx0LHMsaSksdT1vLlN0dWR5TWV0YUluZm8uZ2V0U291cmNlSW5wdXRJZHMoZSk7cmV0dXJuIHUuZm9yRWFjaCgoKGUsdCk9Pntjb25zdCBzPWwuaW5wdXRzW2VdO3Q8YS5sZW5ndGg/bC5pbnB1dHNbZV09YCR7YVt0XS5pZCgpfSQwYDooMCxuLmlzU3RyaW5nKShzKSYmcy5pbmNsdWRlcygiJCIpJiYobC5pbnB1dHNbZV09ImNsb3NlIil9KSksQShlLHIsbCl9KGUsdCxzLGksby5TdHVkeU1ldGFJbmZvLmdldFN0dWR5UHJvcGVydHlSb290TmFtZShlKSxyKX1jb25zdCBrPVsiaWQiLCJkZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2xvY2FsaXplZCIsInNob3J0RGVzY3JpcHRpb24iLCJfbWV0YWluZm9WZXJzaW9uIiwiaXNfcHJpY2Vfc3R1ZHkiLCJpc19oaWRkZW5fc3R1ZHkiLCJwcmljZVNjYWxlIiwiZnVsbElkIiwic2hvcnRJZCIsInNjcmlwdElkUGFydCIsInBhY2thZ2VJZCIsInByb2R1Y3RJZCIsImlzVFZTY3JpcHRTdHViIiwiZGVmYXVsdHMiLCJzeW1ib2xTb3VyY2UiLCJoaXN0b3J5Q2FsY3VsYXRpb25NYXlDaGFuZ2UiLCJmb3JtYXQiLCJsaW5rZWRUb1NlcmllcyIsImlzVFZMaWJyYXJ5IiwiZG9jcyIsImV4cG9ydHMiLCJleHBvcnRUeXBlcyIsImV4dHJhIiwidXNlc1ByaXZhdGVMaWIiLCJmaW5hbmNpYWxQZXJpb2QiLCJncm91cGluZ0tleSIsInBpbmUiLCJpc1JHQiIsImlzVFZTY3JpcHQiLCJUVlNjcmlwdE1ldGFJbmZvRXhwcnMiLCJ1c2VQbG90c1pPcmRlciIsImlzVFZTY3JpcHRTdHJhdGVneSIsIlRWU2NyaXB0U291cmNlQ29kZSIsImxvb2thaGVhZEZ1dHVyZURhdGEiLCJoYXNBbGVydEZ1bmN0aW9uIiwiZGVmYXVsdFN0cmF0ZWd5QWxlcnRNZXNzYWdlIiwidGFncyIsImNhbkJlQ2hpbGQiLCJjYW5Ob3RCZUNoaWxkIiwiX3NlcnZlck1ldGFJbmZvVmVyc2lvbiIsIndhcm5pbmdzIl07ZnVuY3Rpb24gVihlKXtjb25zdCB0PVsidmlzaWJsZSIsInByZWNpc2lvbiIsIm1pblRpY2siLCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLCJpbnB1dHMuZmlyc3RfdmlzaWJsZV9iYXJfdGltZSIsImlucHV0cy5sYXN0X3Zpc2libGVfYmFyX3RpbWUiLCJpbnB1dHMuc3Vic2NyaWJlUmVhbHRpbWUiXTtmb3IobGV0IHM9MDtzPGUuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IGk9ZS5pbnB1dHNbc107aS5pc0hpZGRlbiYmKHQucHVzaChgaW5wdXRzLiR7c31gKSx0LnB1c2goYGlucHV0cy4ke2kuaWR9YCkpfXJldHVybiB0fWZ1bmN0aW9uIEEoZSx0LHMsaSxuKXtmb3IoY29uc3QgZSBvZiBrKWRlbGV0ZSBzW2VdO2NvbnN0IHI9bmV3IG0uU3R1ZHlEZWZhdWx0UHJvcGVydHkoe2RlZmF1bHROYW1lOnQsc3RhdGU6cyxleGNsdWRlZERlZmF1bHRzS2V5czpWKGUpLGV4Y2x1ZGVkU3RhdGVLZXlzOlsidmVyc2lvbiJdLHRoZW1lOml9KTtyLnJlbW92ZVByb3BlcnR5KCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiKSxyLmFkZENoaWxkKCJpbnRlcnZhbHNWaXNpYmlsaXRpZXMiLG5ldyBoLkludGVydmFsc1Zpc2liaWxpdGllc1Byb3BlcnR5KHMmJnMuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSksIlBpdm90UG9pbnRzU3RhbmRhcmRAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWQmJiJQaXZvdFBvaW50c0hpZ2hMb3dAdHYtYmFzaWNzdHVkaWVzIiE9PWUuaWR8fCFyLmhhc0NoaWxkKCJmb250Iil8fHIucmVtb3ZlUHJvcGVydHkoImZvbnQiKTtjb25zdCBhPW8uU3R1ZHlNZXRhSW5mby52ZXJzaW9uT2YoZSk7cmV0dXJuIHIuaGFzQ2hpbGQoInZlcnNpb24iKT9yLmNoaWxkcygpLnZlcnNpb24/LnNldFZhbHVlKGEpOnIuYWRkUHJvcGVydHkoInZlcnNpb24iLGEpLGUuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiYhbiYmci5hZGRQcm9wZXJ0eSgicGF0Y2hNZXRhSW5mb0RlZmF1bHRzIiwhMCkscn19LDg3MjM0MyhlLHQscyl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkoZSx0PSJzaGlmdCIscyl7cmV0dXJue3N0dWR5Q29uc3RydWN0b3JBc3luY0dldHRlcjplLGNvbG9yUm90YXRpb25Nb2RlOnQsY29sb3JSb3RhdGlvbkNvbXBhcmF0b3I6c319cy5kKHQse2FkZFN0dWR5SW5mb1RvTWFwOigpPT5yLGNyZWF0ZVN0dWR5SW5mbzooKT0+aSxnZXRTdHVkeUNsYXNzTmFtZTooKT0+YSxnZXRTdHVkeUluZm9CeU5hbWU6KCk9Pm99KTtjb25zdCBuPW5ldyBNYXA7ZnVuY3Rpb24gcihlLHQpe24uc2V0KGUsdCl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbi5nZXQoZSl9ZnVuY3Rpb24gYShlKXtmb3IoY29uc3RbdCxzXW9mIG4uZW50cmllcygpKWlmKHMuc3R1ZHlDb25zdHJ1Y3Rvcj09PWUpcmV0dXJuIHQ7cmV0dXJuIG51bGx9fSw2MDUyNTcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7ZW1wdHlQaW5lSWQ6KCk9Pl8uZW1wdHlQaW5lSWQsaXNTdHVkeURlc2NyaXB0b3I6KCk9Pl8uaXNTdHVkeURlc2NyaXB0b3Isc3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnk6KCk9PnZ9KTt2YXIgaT1zKDgzOTQyNiksbj1zKDE4NTI3MSkscj1zKDEzODYzOCksbz1zKDIyMTA2MSksYT1zKDc5MTQyNyksbD1zKDI3NDM5OSksdT1zKDg3NDMwNiksYz1zKDk1MDU1NCksZD1zKDM2MjI4OSksaD1zKDM2ODMxMikscD1zKDMwOTM2MCksbT1zKDc2ODc2MCksXz1zKDQ2MDM2MCk7Y29uc3QgZz0oMCxvLmdldExvZ2dlcikoIkNoYXJ0LlN0dWRpZXMuU3R1ZHlNZXRhSW5mb1JlcG9zaXRvcnkiLHtjb2xvcjoiIzYwNiJ9KTtjbGFzcyB5e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2lzUmVhZHk9ITEsdGhpcy5fc3R1ZHlWZXJzaW9uaW5nPW51bGwsdGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZT1udWxsLAp0aGlzLl9qYXZhU3R1ZGllc01ldGFJbmZvPVtdLHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlPVtdLHRoaXMuX2NvbXBpbGVFcnJvcnM9bmV3IFdlYWtNYXAsdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnM9W10sdGhpcy5fY2hhcnRBcGk9ZX1hc3luYyByZXF1ZXN0TWV0YUluZm8oKXtpZihudWxsPT09dGhpcy5fcmF3U3R1ZGllc01ldGFJbmZvRGVmZXJyZWRQcm9taXNlKXt0aGlzLl9yYXdTdHVkaWVzTWV0YUluZm9EZWZlcnJlZFByb21pc2U9KDAsbS5jcmVhdGVEZWZlcnJlZFByb21pc2UpKCk7Y29uc3QgZT1hd2FpdCB0aGlzLl9jaGFydEFwaS5yZXF1ZXN0TWV0YWRhdGEoKSx0PWUucGFyYW1zWzFdLm1ldGFpbmZvLnNsaWNlKCk7e2NvbnN0IHM9ZS5wYXJhbXNbMV0ubWlncmF0aW9ucy5zbGljZSgpO3RoaXMuX3Byb2Nlc3NTaXRlTWV0YUluZm8odCxzKX10aGlzLl9zdHVkeVZlcnNpb25pbmc9bmV3IGMuU3R1ZHlWZXJzaW9uaW5nKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sdGhpcy5fc3R1ZGllc01pZ3JhdGlvbnMpLHRoaXMuX3JlcXVlc3RGaW5pc2hlZCgpLHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5yZXNvbHZlKHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbyl9cmV0dXJuIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mb0RlZmVycmVkUHJvbWlzZS5wcm9taXNlfWFzeW5jIGZpbmRCeUlkKGUpe3RoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCk7Y29uc3QgdD10aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKTtpZihudWxsIT09dCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JzLmdldCh0KTtyZXR1cm4gZT9Qcm9taXNlLnJlamVjdChlKTpQcm9taXNlLnJlc29sdmUodCl9cmV0dXJuInBpbmUiPT09ZS50eXBlP3RoaXMuX2NvbXBpbGVQaW5lKGUpOlByb21pc2UucmVqZWN0KGB1bmV4cGVjdGVkIHN0dWR5IGlkPSR7ZS5zdHVkeUlkfSB3aXRoIHR5cGU9JHtlLnR5cGV9YCl9ZmluZEJ5SWRTeW5jKGUpe3JldHVybiB0aGlzLl9maW5kU3R1ZHlNZXRhSW5mbyhlKX1pc1JlYWR5KCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl9YXN5bmMgZmluZEFsbEphdmFTdHVkaWVzKCl7cmV0dXJuIHRoaXMuX2lzUmVhZHl8fGF3YWl0IHRoaXMucmVxdWVzdE1ldGFJbmZvKCksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mb31zdHVkeVZlcnNpb25pbmcoKXtyZXR1cm4oMCxyLmVuc3VyZU5vdE51bGwpKHRoaXMuX3N0dWR5VmVyc2lvbmluZyl9Z2V0SW50ZXJuYWxNZXRhSW5mb0FycmF5KCl7cmV0dXJuIHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm99YWRkUGluZU1ldGFJbmZvKGUsdCl7Y29uc3Qgcz1mKHRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLGUpO3JldHVybiB0JiYoIUFycmF5LmlzQXJyYXkodCl8fHQubGVuZ3RoPjApJiYodD1BcnJheS5pc0FycmF5KHQpP25ldyBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCh7d2FybmluZ3M6W10sZXJyb3JzOnR9LGUpOnQsdGhpcy5fY29tcGlsZUVycm9ycy5zZXQocyx0KSksc31hc3luYyBnZXRMYXRlc3RNZXRhSW5mb0ZvclBpbmVTdHVkeShlLHQpe2NvbnN0IHM9YXdhaXQoMCxoLnJlcXVlc3RVc2VyU2NyaXB0cykoKTtsZXQgaTtpZihzKXtjb25zdCBuPXMuZmluZCgodD0+dC5zY3JpcHRJZFBhcnQ9PT1lKSk7aWYobil7Y29uc3QgZT11LlZlcnNpb24ucGFyc2UodCkscz11LlZlcnNpb24ucGFyc2Uobi52ZXJzaW9uKTtlLmlzTGVzcyhzKSYmKGk9bi52ZXJzaW9uKX19aWYodm9pZCAwIT09aSl7Y29uc3QgdD17dHlwZToicGluZSIscGluZUlkOmUscGluZVZlcnNpb246aX07cmV0dXJuIHRoaXMuZmluZEJ5SWQodCl9cmV0dXJuIG51bGx9X3Byb2Nlc3NNaWdyYXRpb25zKGUpe3RoaXMuX3N0dWRpZXNNaWdyYXRpb25zPVtdO2ZvcihsZXQgdD0wO2UmJnQ8ZS5sZW5ndGg7dCsrKXRoaXMuX3N0dWRpZXNNaWdyYXRpb25zLnB1c2goZVt0XSl9X3Byb2Nlc3NTaXRlTWV0YUluZm8oZSx0KXtmb3IoY29uc3QgdCBvZiBlKWMuU3R1ZHlWZXJzaW9uaW5nLnZlcmlmeUlucHV0c01heFZhbHVlKHQpLChpPXQpLmRlc2NyaXB0aW9uX2xvY2FsaXplZD1uLnQoaS5kZXNjcmlwdGlvbix7Y29udGV4dDoic3R1ZHkifSxzKDg4NDY5MykpO3ZhciBpO3RoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbz1lLHRoaXMuX3Byb2Nlc3NNaWdyYXRpb25zKHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuX3Jhd1N0dWRpZXNNZXRhSW5mbylmKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8sZSk7KDAsZC5vdmVycmlkZVN0dWR5RGVmYXVsdHMpKHRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8pfV9wcm9jZXNzTGlicmFyeU1ldGFJbmZvKGUpe31fcmVxdWVzdEZpbmlzaGVkKCl7dGhpcy5faXNSZWFkeT0hMH1fZmluZFN0dWR5TWV0YUluZm8oZSl7cmV0dXJuImphdmEiPT09ZS50eXBlPygoMCxyLmFzc2VydCkoMCE9PXRoaXMuX2phdmFTdHVkaWVzTWV0YUluZm8ubGVuZ3RoLCJKYXZhIHN0dWRpZXMgbWV0YWluZm8gc2hvdWxkIGJlIGRlZmluZSBoZXJlIiksdGhpcy5famF2YVN0dWRpZXNNZXRhSW5mby5maW5kKCh0PT50LmlkPT09ZS5zdHVkeUlkKSl8fG51bGwpOnRoaXMuX3BpbmVNZXRhSW5mb0NhY2hlLmZpbmQoKHQ9PnQuc2NyaXB0SWRQYXJ0PT09ZS5waW5lSWQmJih2b2lkIDA9PT1lLnBpbmVWZXJzaW9ufHwoMCxyLmVuc3VyZURlZmluZWQpKHQucGluZSkudmVyc2lvbj09PWUucGluZVZlcnNpb24pKSl8fG51bGx9X2NvbXBpbGVQaW5lKGUpe2cubG9nTm9ybWFsKGBDb21waWxpbmcgJHtlLnBpbmVJZH0gc2NyaXB0YCk7Y29uc3QgdD0oMCxoLnRyYW5zbGF0ZVNjcmlwdEFzeW5jMikoZS5waW5lSWQsZS5waW5lVmVyc2lvbnx8Imxhc3QiKS50aGVuKCgoe21ldGFJbmZvOnQsY29tcGlsZUVycm9yczpzfSk9PihnLmxvZ05vcm1hbChgQ29tcGlsaW5nICR7ZS5waW5lSWR9IGlzIHN1Y2Nlc3NmdWxgKSx0aGlzLmFkZFBpbmVNZXRhSW5mbygoMCxyLmVuc3VyZURlZmluZWQpKHQpLHMuZXJyb3JzKSkpKTtyZXR1cm4gdC5jYXRjaCgodD0+e3QgaW5zdGFuY2VvZiBwLlBpbmVDb21waWxlRmFpbEVycm9ySW1wbCYmdGhpcy5hZGRQaW5lTWV0YUluZm8odC5tZXRhSW5mbyx0KSwKZy5sb2dOb3JtYWwoYENvbXBpbGluZyAke2UucGluZUlkfSBpcyBmYWlsZWRgKX0pKSx0fX1mdW5jdGlvbiBmKGUsdCl7Y29uc3Qgcz1uZXcgYS5TdHVkeU1ldGFJbmZvKHQpLnN0YXRlKCk7KDAsbC5taWdyYXRlTWV0YUluZm9BbmRQcm9wU3RhdGUpKHMpO2NvbnN0IGk9bmV3IGEuU3R1ZHlNZXRhSW5mbyhzKTtsZXQgbj0hMDtjb25zdCByPWUuZmluZEluZGV4KChlPT5lLmlkPT09aS5pZCkpO2lmKC0xPT09cillLnB1c2goaSk7ZWxzZXtjb25zdCB0PWVbcl0scz12b2lkIDAhPT10LnBpbmU/dS5WZXJzaW9uLnBhcnNlKHQucGluZS52ZXJzaW9uKTpudWxsLG89dm9pZCAwIT09aS5waW5lP3UuVmVyc2lvbi5wYXJzZShpLnBpbmUudmVyc2lvbik6bnVsbDtudWxsPT09b3x8bnVsbD09PXN8fG8uaXNHcmVhdGVyT3JFcXVhbChzKT8oKDAsZC5yZW1vdmVTdHVkeURlZmF1bHRzKSh0KSxlW3JdPWkpOm49ITF9cmV0dXJuIG4mJigwLGQuY3JlYXRlU3R1ZHlEZWZhdWx0cykoaSksaX1jb25zdCB2PSgwLGkuZGVmYXVsdCkoKCgpPT5uZXcgeSh3aW5kb3cuQ2hhcnRBcGlJbnN0YW5jZSkpKX0sODIyNzI2KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse1RleHRXaWR0aENhY2hlOigpPT5yLGdldE1pblRleHRNZXRyaWNzOigpPT5ufSk7dmFyIGk9cyg1MTcyOTMpO2Z1bmN0aW9uIG4oZSl7cmV0dXJue3dpZHRoOmUud2lkdGgsYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveEFzY2VudCxhY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ6ZS5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQsZm9udEJvdW5kaW5nQm94QXNjZW50OmUuZm9udEJvdW5kaW5nQm94QXNjZW50LGZvbnRCb3VuZGluZ0JveERlc2NlbnQ6ZS5mb250Qm91bmRpbmdCb3hEZXNjZW50fX1jbGFzcyBye2NvbnN0cnVjdG9yKGU9MTUwKXt0aGlzLl9mb250U3R5bGU9IiIsdGhpcy5fY2FjaGU9bmV3IGkuQ2lyY3VsYXJDYWNoZUJ1ZmZlcihlLDEuNSl9cmVzZXQoKXt0aGlzLl9jYWNoZS5jbGVhcigpfW1lYXN1cmVUZXh0KGUsdCxzKXtsZXQgaT10O3JldHVybiBzPy5tb25vJiYoaT10LnJlcGxhY2UoL1xkL2csIjAiKSksdGhpcy5nZXRNZXRyaWNzKGUsaSkud2lkdGh9eU1pZENvcnJlY3Rpb24oZSx0KXtjb25zdCBzPXRoaXMuZ2V0TWV0cmljcyhlLHQpO3JldHVybiB2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94QXNjZW50JiZ2b2lkIDAhPT1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudD8ocy5hY3R1YWxCb3VuZGluZ0JveEFzY2VudC1zLmFjdHVhbEJvdW5kaW5nQm94RGVzY2VudCkvMjowfWdldE1ldHJpY3MoZSx0KXtlLmZvbnQhPT10aGlzLl9mb250U3R5bGUmJih0aGlzLnJlc2V0KCksdGhpcy5fZm9udFN0eWxlPWUuZm9udCk7Y29uc3Qgcz10aGlzLl9jYWNoZS5nZXQodCk7aWYodm9pZCAwIT09cylyZXR1cm4gcztjb25zdCBpPWUudGV4dEJhc2VsaW5lO2UudGV4dEJhc2VsaW5lPSJtaWRkbGUiO2NvbnN0IHI9bihlLm1lYXN1cmVUZXh0KHQpKTtyZXR1cm4gZS50ZXh0QmFzZWxpbmU9aSwwPT09ci53aWR0aCYmdC5sZW5ndGh8fHRoaXMuX2NhY2hlLnNldCh0LHIpLHJ9fX0sNjM5MTEzKGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse3NldFN1cHBvcnRQb3J0YWxQcm9ibGVtc0hvc3Q6KCk9Pm4sc3VwcG9ydFBvcnRhbFByb2JsZW1zSG9zdDooKT0+aX0pO2xldCBpPSIiO2Z1bmN0aW9uIG4oZSl7aT1lfX0sNzcwNzU1KGUsdCxzKXsidXNlIHN0cmljdCI7cy5kKHQse29wZW5QYXl3YWxsOigpPT5vfSk7dmFyIGk9cyg5MzAyMzEpLG49cyg5OTk2NDApLHI9cyg0Mzg1MzkpO3MoMzAwMjg2KTthc3luYyBmdW5jdGlvbiBvKGUsdD17fSl7aWYobi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaXNIaWRkZW5GZWF0dXJlKGUuZmVhdHVyZSkpcmV0dXJuIHZvaWQgbi5wYXl3YWxsTW9iaWxlSW50ZXJjZXB0b3IuaW52b2tlKGUuZmVhdHVyZSk7aWYoKDAsaS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgicmVmZXJyYWxfcHJvZ3JhbV9mb3Jfd2lkZ2V0X293bmVycyIpKXJldHVybigwLHIuc2hvd0dvVG9UcmFkaW5nVmlld1JlZmVycmFsRGlhbG9nKSh7ZmVhdHVyZTplLmZlYXR1cmV9KTtjb25zdHtwYXl3YWxsczpvfT1hd2FpdCBQcm9taXNlLmFsbChbcy5lKDg0NjkzKSxzLmUoNDk2ODQpLHMuZSgyOTI5Nikscy5lKDYwMDYyKSxzLmUoMjAzNTQpLHMuZSg1MTg0KSxzLmUoMTEyMTgpLHMuZSg3MjY2Nikscy5lKDMyNjMyKSxzLmUoNTA2MjIpLHMuZSgzMzIyMSkscy5lKDU5MzUwKSxzLmUoMzMyMykscy5lKDM4MjYyKSxzLmUoODc0NzQpLHMuZSgzMjM4Nykscy5lKDc1NDg5KSxzLmUoNjg3NDEpLHMuZSg3MDU5MCkscy5lKDg2MDAxKV0pLnRoZW4ocy5iaW5kKHMsODE3ODE2KSk7by5vcGVuKGUsdCl9fSw2NTcyNDUoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7c2V0TmV3QmxhY2tDb2xvcjooKT0+aX0pO2NvbnN0IGk9KDAscyg1NjkzOTgpLmlzRmVhdHVyZUVuYWJsZWQpKCJzZXRfbmV3X2JsYWNrX2NvbG9yIil9LDk1MTQ2OShlKXsidXNlIHN0cmljdCI7dmFyIHQ9e30scz17WENCVDoiQ0JPVCIsWE5ZTToiTllNRVgiLFhDTUU6IkNNRSIsWENFQzoiQ09NRVgifTt0LmNvbnZlcnRTeW1ib2xEYXRhVG9UVj1mdW5jdGlvbihlLHQsaSl7cmV0dXJuIGk9Mj09PWl8fCJmbG9vciI9PT1pfHwicGl0Ij09PWk/IlBJVCI6IkdCWCIsdCYmc1t0XT97c3RhdHVzOiJvayIsZGF0YTp7c3ltYm9sOmUsZXhjaGFuZ2U6c1t0XSsiXyIraX19OntzdGF0dXM6ImVycm9yIixkYXRhOiJFeGNoYW5nZSBgIit0KyJgIGlzIG5vdCBzdXBwb3J0ZWQifX0sZS5leHBvcnRzPXR9LDUyODM5NihlLHQscyl7InVzZSBzdHJpY3QiO3Mucih0KSxzLmQodCx7Z2V0VHJhbnNsYXRlZFN5bWJvbERlc2NyaXB0aW9uOigpPT5yfSk7dmFyIGk9cygxODUyNzEpO2Z1bmN0aW9uIG4oZSl7Y29uc3QgdD1gIyR7ZX0tc3ltYm9sLWRlc2NyaXB0aW9uYCxuPWkudCh0LHZvaWQgMCxzKDI1ODY2NykpO3JldHVybiBuPT09dD9udWxsOm59ZnVuY3Rpb24gcihlKXtpZih2b2lkIDAhPT1lLnByb19uYW1lKXtjb25zdCB0PW4oZS5wcm9fbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHQKO2lmKHZvaWQgMCE9PWUuc2hvcnRfbmFtZSl7Y29uc3QgdD1uKGUuc2hvcnRfbmFtZSk7aWYobnVsbCE9PXQpcmV0dXJuIHR9fXJldHVybiJlbiIhPT1lLmxhbmd1YWdlJiZ2b2lkIDAhPT1lLmxvY2FsX2Rlc2NyaXB0aW9uJiZlLmxhbmd1YWdlPT09d2luZG93Lmxhbmd1YWdlfHwiZW4iPT09ZS5sYW5ndWFnZSYmdm9pZCAwIT09ZS5sb2NhbF9kZXNjcmlwdGlvbiYmZS5sYW5ndWFnZT09PXdpbmRvdy5sYW5ndWFnZT9lLmxvY2FsX2Rlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb258fCIifX0sNzQ5ODE0KGUsdCxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3R8fCh0PXt9KSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9e2NtcDp0fSk7dmFyIHM9dC5zcGFjZXx8IiI7Im51bWJlciI9PXR5cGVvZiBzJiYocz1BcnJheShzKzEpLmpvaW4oIiAiKSk7dmFyIGksbz0iYm9vbGVhbiI9PXR5cGVvZiB0LmN5Y2xlcyYmdC5jeWNsZXMsYT10LnJlcGxhY2VyfHxmdW5jdGlvbihlLHQpe3JldHVybiB0fSxsPXQuY21wJiYoaT10LmNtcCxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxzKXt2YXIgbj17a2V5OnQsdmFsdWU6ZVt0XX0scj17a2V5OnMsdmFsdWU6ZVtzXX07cmV0dXJuIGkobixyKX19KSx1PVtdO3JldHVybiBmdW5jdGlvbiBlKHQsaSxjLGQpe3ZhciBoPXM/IlxuIituZXcgQXJyYXkoZCsxKS5qb2luKHMpOiIiLHA9cz8iOiAiOiI6IjtpZihjJiZjLnRvSlNPTiYmImZ1bmN0aW9uIj09dHlwZW9mIGMudG9KU09OJiYoYz1jLnRvSlNPTigpKSx2b2lkIDAhPT0oYz1hLmNhbGwodCxpLGMpKSl7aWYoIm9iamVjdCIhPXR5cGVvZiBjfHxudWxsPT09YylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoYyk7aWYobihjKSl7Zm9yKHZhciBtPVtdLF89MDtfPGMubGVuZ3RoO18rKyl7dmFyIGc9ZShjLF8sY1tfXSxkKzEpfHxKU09OLnN0cmluZ2lmeShudWxsKTttLnB1c2goaCtzK2cpfXJldHVybiJbIittLmpvaW4oIiwiKStoKyJdIn1pZigtMSE9PXUuaW5kZXhPZihjKSl7aWYobylyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX11LnB1c2goYyk7dmFyIHk9cihjKS5zb3J0KGwmJmwoYykpO2ZvcihtPVtdLF89MDtfPHkubGVuZ3RoO18rKyl7dmFyIGY9ZShjLGk9eVtfXSxjW2ldLGQrMSk7aWYoZil7dmFyIHY9SlNPTi5zdHJpbmdpZnkoaSkrcCtmO20ucHVzaChoK3Mrdil9fXJldHVybiB1LnNwbGljZSh1LmluZGV4T2YoYyksMSksInsiK20uam9pbigiLCIpK2grIn0ifX0oeyIiOmV9LCIiLGUsMCl9cy5kKHQse3NvcnRlZFN0cmluZ2lmeTooKT0+aX0pO3ZhciBuPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKGUpfSxyPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fHxmdW5jdGlvbigpe3JldHVybiEwfSxzPVtdO2Zvcih2YXIgaSBpbiBlKXQuY2FsbChlLGkpJiZzLnB1c2goaSk7cmV0dXJuIHN9fSwxMTM1NjcoZSx0LHMpeyJ1c2Ugc3RyaWN0IjtzLmQodCx7cHJlcGFyZUN1cnJlbmN5Rm9yRGlzcGxheTooKT0+cixwcmVwYXJlQ3VycmVuY3lWYWx1ZTooKT0+bn0pO3ZhciBpPXMoMTg1MjcxKTtmdW5jdGlvbiBuKGUpe2xldCB0PVtdO2NvbnN0IG49ZnVuY3Rpb24oZSl7c3dpdGNoKGUpe2Nhc2UiUENUIjpjYXNlIlBDVFBBUiI6cmV0dXJuIiUiO2Nhc2UiUENUR0RQIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDU1ODQxMikpO2Nhc2UiREVHQyI6cmV0dXJuIuKEgyI7ZGVmYXVsdDpyZXR1cm4gZX19KGUuY3VycmVuY3lfY29kZXx8ZS52YWx1ZV91bml0X2lkfHwiIik7c3dpdGNoKGUubWVhc3VyZSl7Y2FzZSJwcmljZSI6Y2FzZSJ1bml0Ijp0PVtuLGUudW5pdF9pZF07YnJlYWs7ZGVmYXVsdDp0PVtuXX1yZXR1cm4gdC5maWx0ZXIoQm9vbGVhbikuam9pbigi4oCJL+KAiSIpfWZ1bmN0aW9uIHIoZSx0KXtyZXR1cm4iJSI9PT10JiZ2b2lkIDAhPT1lP3t2YWx1ZTpgJHtlfSVgLGN1cnJlbmN5OnZvaWQgMH06e3ZhbHVlOmUsY3VycmVuY3k6dHx8dm9pZCAwfX19LDQzMzUzNChlKXsKZS5leHBvcnRzPSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0IDQ0IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMjkuNDggMTUuMzJjLS4xNi0uMTQtLjQtLjA3LS40OC4xM2E2LjA1IDYuMDUgMCAwIDEtMi4zOCAzLjEzIDYuMTYgNi4xNiAwIDAgMS0uOC40MmMtLjA2LjAzLS4xNC0uMDMtLjEzLS4xYTE5LjQ1IDE5LjQ1IDAgMCAwIC4wOC0uOXYtLjFjLjM4LTUuOTEtMi40My05LjEzLTQuNTktMTAuNDFhNy40IDcuNCAwIDAgMC0uNzktLjRjLS4xLS4wNS0uMjEuMTMtLjIuMjRhNS43IDUuNyAwIDAgMS0uMDQuNzN2LjAxYy0uMjcgMi40OS0yLjIyIDQuMjktNC4yMSA2LjE0LTEuNjMgMS41LTMuMjkgMy4wNS00LjExIDUuMDJhMTAuNDggMTAuNDggMCAwIDAtLjgzIDQuMDZBMTAuOSAxMC45IDAgMCAwIDIwLjE3IDM0Yy45NS0uNTkgMS4zNC0xLjgyIDEuMzMtMy4wNCAwLS4zNS0uMDQtLjctLjExLTEuMDMuMjggMCAuNjguMTQgMS4wNy40MUEzLjM2IDMuMzYgMCAwIDEgMjMuODMgMzQgMTAuODkgMTAuODkgMCAwIDAgMzMgMjMuMjljMC0zLjE1LTEuMzYtNS45OC0zLjUyLTcuOTdabS00LjU2IDE3LjRjNC4xLTEuMjMgNy4wOC01IDcuMDgtOS40MyAwLTIuNS0uOTQtNC43OC0yLjUtNi41MmE2LjQzIDYuNDMgMCAwIDEtMy4yNyAzLjE0bS0xLjMgMTIuODFhNC4zIDQuMyAwIDAgMC0yLjItMy4zOWMtLjQtLjIzLS44OC0uNC0xLjM0LS40aC0xLjIybC4yNCAxLjJjLjEzLjYyLjEyIDEuMy0uMDMgMS44Ni0uMS40MS0uMjcuNzMtLjQ4Ljk0QTkuOSA5LjkgMCAwIDEgMTIgMjMuM2MwLTEuMy4yNy0yLjUzLjc1LTMuNjcuNDItMSAxLjEtMS45MSAxLjk1LTIuODEuNi0uNjQgMS4yMy0xLjIzIDEuOS0xLjg0bC44Ny0uODJjMS41Ny0xLjUgMy4yLTMuMjIgMy42MS01LjU0IDEuOSAxLjM0IDQuMjkgNC40NCAzLjYxIDEwLjE2LS4wOS43OC43IDEuNTIgMS41NSAxLjE0Ii8+PC9zdmc+J30sODczNzk0KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0NCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0yOCAxNkgxNnYxaDEydi0xWk0yOCAyMEgxNnYxaDEydi0xWk0xNiAyNGgxMnYxSDE2di0xWiIvPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJtMjIgMzAtMTAgNFYxMmExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MjJsLTEwLTRabS05IDIuNTJWMTJoMTh2MjAuNTJsLTktMy42LTkgMy42WiIvPjwvc3ZnPid9LDgwOTQzNihlKXsidXNlIHN0cmljdCIKO2UuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImR1ciI6IjM1MG1zIiwiZHVyLWZhc3QiOiI2MG1zIiwiZWFzZS1pbi1saWtlIjoiY3ViaWMtYmV6aWVyKDAuMzMsIDAsIDAuMTEsIDEpIiwiZWFzZS1vdXQtbGlrZSI6ImN1YmljLWJlemllcigwLjg5LCAwLCAwLjY3LCAxKSIsInNpemUtZmVlZC1pdGVtLXdpZHRoIjoiNDgwcHgiLCJzaXplLWZlZWQtaGlkZW50IjoiMjBweCIsInNpemUtZmVlZC12aWRlbnQiOiIyMHB4Iiwic2l6ZS1iYXNlLWluZGVudCI6IjRweCIsInNpemUtbGF5b3V0LXNtYWxsLWhvcnpwYWRkaW5nIjoiMTJweCIsInNpemUtbGF5b3V0LWhvcnpwYWRkaW5nIjoiMjBweCIsInNpemUtZHJhd2luZ3MtdG9vbGJhci1pdGVtLWhlaWdodCI6IjM4cHgiLCJzaXplLWhlYWRlci1saW5raW5kZW50IjoiMTVweCIsInNpemUtaGVhZGVyLWhlaWdodCI6IjY0cHgiLCJzaXplLW5hdi1oZWFkZXItaGVpZ2h0IjoiNThweCIsInNpemUtc3RpY2t5LXN5bWJvbC1oZWFkZXItaGVpZ2h0IjoiNjRweCIsInNpemUtZGlhbG9nLWZpeGVkLWhlYWRlci1oZWlnaHQiOiI3MnB4Iiwic2l6ZS1zaXRlLXdpZGdldC1wYWRkaW5nIjoiMjBweCIsInNpemUtc2l0ZS13aWRnZXQtcGFkZGluZy10YWJsZXQiOiIxMnB4Iiwic2l6ZS1jb2xsYXBzZS10YWJzLWhlaWdodCI6IjU2cHgiLCJzaXplLW5vLXNjcm9sbC1jaG9pY2VyLWhlaWdodCI6IjU2cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1pbmRlbnQiOiI0cHgiLCJzaXplLW1haW4tY2hhcnQtYXJlYS1yYWRpdXMiOiIwIiwic2l6ZS1zZWFyY2hiYXItaGVpZ2h0IjoiODBweCIsInNpemUtc2VhcmNoYmFyLWhlaWdodC10YWJsZXQiOiI1NHB4Iiwic2l6ZS1zZWFyY2hiYXItYnRuLXdpZHRoLXRhYmxldCI6IjY2cHgiLCJzaXplLWNvbnRlbnQtdG9wLXZpbmRlbnQiOiI0OHB4Iiwic2l6ZS1sYXlvdXQtd2lkdGgiOiIxMDIwcHgiLCJzaXplLWxheW91dC13aWR0aC13aWRlIjoiMTUyMHB4Iiwic2l6ZS1jaGVja2JveC1zaWRlIjoiMThweCIsInNpemUtY2hlY2tib3gtY2xpY2stZXhwYW5kIjoiMTBweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLXhzbWFsbCI6IjE5cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0LS1zbWFsbCI6IjI3cHgiLCJzaXplLWNvbnRyb2wtaW5wdXQtaGVpZ2h0IjoiMzRweCIsInNpemUtY29udHJvbC1pbnB1dC1oZWlnaHQtLWxhcmdlIjoiNDhweCIsInNpemUtY29udHJvbC1pbnB1dC1wYWRkaW5nLWhvcnoiOiIxMnB4Iiwic2l6ZS10YWJzLWhvcnotaW5kZW50IjoiMTZweCIsInNpemUtYXZhdGFyLWJvcmRlci1yYWRpdXMiOiIzcHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZyI6IjI1cHgiLCJzaXplLWNoYXJ0LXZpZXctc3BhY2luZy10YWJsZXQiOiIyMHB4IiwicmFkaXVzLWVtYmVkLXdpZGdldC13cmFwcGVyIjoiM3B4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE2cHgtbGluZS1oZWlnaHQiOiIyNHB4IiwidHlwb2dyYXBoeS1wbGF0Zm9ybS1yZWd1bGFyLTE4cHgtbGluZS1oZWlnaHQiOiIyOHB4IiwibWVkaWEtbm90ZWJvb2siOiJhbGwgYW5kIChtYXgtd2lkdGg6IDE1MzBweCkiLCJtZWRpYS10YWJsZXQiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDEwMTlweCkiLCJtZWRpYS1waG9uZSI6ImFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIiwibWVkaWEtcGhvbmUtdmVydGljYWwiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSIsIm1lZGlhLWV4dHJlbWUtdGhpbiI6ImFsbCBhbmQgKG1heC13aWR0aDogMzI5cHgpIiwibWVkaWEtc2hvdy1kcmF3ZXIiOiJhbGwgYW5kIChtYXgtd2lkdGg6IDU2N3B4KSIsIm1lZGlhLW1mLWxlZ2FjeS1waG9uZS12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMzMwcHgpIiwibWVkaWEtbWYtbGVnYWN5LXBob25lIjoiYWxsIGFuZCAobWluLXdpZHRoOiA0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktbm90ZWJvb2siOiJhbGwgYW5kIChtaW4td2lkdGg6IDEwMjBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcC1tZWRpdW0iOiJhbGwgYW5kIChtaW4td2lkdGg6IDE0ODBweCkiLCJtZWRpYS1tZi1sZWdhY3ktZGVza3RvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTUzMXB4KSIsIm1lZGlhLW1mLXBob25lLXZlcnRpY2FsIjoiYWxsIGFuZCAobWluLXdpZHRoOiAzMjBweCkiLCJtZWRpYS1tZi1waG9uZS1sYW5kc2NhcGUiOiJhbGwgYW5kIChtaW4td2lkdGg6IDU2OHB4KSIsIm1lZGlhLW1mLXRhYmxldC12ZXJ0aWNhbCI6ImFsbCBhbmQgKG1pbi13aWR0aDogNzY4cHgpIiwibWVkaWEtbWYtdGFibGV0LWxhbmRzY2FwZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSIsIm1lZGlhLW1mLWxhcHRvcCI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIiwibWVkaWEtbWYtZGVza3RvcC1sYXJnZSI6ImFsbCBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSIsIm1lZGlhLW1mLWRlc2t0b3AtZXh0cmEtbGFyZ2UiOiJhbGwgYW5kIChtaW4td2lkdGg6IDI1NjBweCkiLCJjb250YWluZXItdGFibGV0IjoiKG1heC13aWR0aDogMTAxOXB4KSIsImNvbnRhaW5lci1waG9uZSI6IihtYXgtd2lkdGg6IDc2N3B4KSIsImNvbnRhaW5lci1waG9uZS12ZXJ0aWNhbCI6IihtYXgtd2lkdGg6IDQ3OXB4KSIsImNvbnRhaW5lci1tZi1waG9uZS12ZXJ0aWNhbCI6IihtaW4td2lkdGg6IDMwMHB4KSIsImNvbnRhaW5lci1tZi1waG9uZS1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA1NDhweCkiLCJjb250YWluZXItbWYtdGFibGV0LXZlcnRpY2FsIjoiKG1pbi13aWR0aDogNzAycHgpIiwiY29udGFpbmVyLW1mLXRhYmxldC1sYW5kc2NhcGUiOiIobWluLXdpZHRoOiA5NThweCkiLCJjb250YWluZXItbWYtbGFwdG9wIjoiKG1pbi13aWR0aDogMTIxNHB4KSIsImNvbnRhaW5lci1tZi1kZXNrdG9wLW1lZGl1bSI6IihtaW4td2lkdGg6IDEzNzRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1sYXJnZSI6IihtaW4td2lkdGg6IDE4NTRweCkiLCJjb250YWluZXItbWYtZGVza3RvcC1leHRyYS1sYXJnZSI6IihtaW4td2lkdGg6IDI0OTRweCkiLCJtZWRpYS1sYXB0b3AiOiJhbGwgYW5kIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkiLCJtZWRpYS1sYXB0b3AtYW5kLWRlc2t0b3AtbWVkaXVtIjoiYWxsIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIiwibWVkaWEtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWluLWRldmljZS13aWR0aDogMzc1cHgpIGFuZCAobWF4LWRldmljZS1oZWlnaHQ6IDgxMnB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIiwibWVkaWEtcGhvbmUtbGFuZHNjYXBlIjoiYWxsIGFuZCAobWF4LWhlaWdodDogNDQwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLCJtZWRpYS13aWRnZXRiYXItYnJlYWtwb2ludCI6ImFsbCBhbmQgKG1heC13aWR0aDogMTA2NHB4KSIsInotaW5kZXgtY29udGVudC1wYWdlIjoxLCJ6LWluZGV4LWNoYXJ0LWxlZ2VuZCI6Niwiei1pbmRleC1jaGFydC1yaWdodC1jb3JuZXItY29udHJvbHMiOjcsInotaW5kZXgtbG9hZGluZy1zY3JlZW4iOjgsInotaW5kZXgtZHJvcGRvd24iOjk5LCJ6LWluZGV4LXRvb2xiYXItcG9wdXAtbWVudSI6MTAwLCJ6LWluZGV4LXRvb2x0aXAiOjEwMDAsInotaW5kZXgtdXNlci1saW5rLXBvcHVwIjo5MDAsInotaW5kZXgtc3RpY2t5LXNlYXJjaC1iYXIiOjEwMSwiei1pbmRleC1yZXNpemFibGUtZHJhd2VyIjo4MDAsInotaW5kZXgtZnVsbHNjcmVlbiI6MTAyLCJkaXNhYmxlZC1zdGF0ZS1vcGFjaXR5IjowLjUsInNpemUtZ2FwLW1pbmltdW0iOiIyMHB4Iiwic2l6ZS1nYXAtbWVkaXVtIjoiNDBweCIsInNpemUtZ2FwLW1heGltdW0iOiIxMDBweCJ9JykKfX0sZT0+e2UuTygwLFs3NzAzOF0sKCgpPT57Wzg0NjkzLDg4OTk3LDMwNjk5LDQ2MjE3LDY2OTMzLDcxMzE5XS5tYXAoZS5FKX0pLDUpO2UuTygwLFs1ODY2Nyw2MjM1MSw5NTExNCwzOTA1LDU0NjgxLDMxODM3LDUxNTA4LDQ5NTE4LDMyNjMyLDg0MDgsOTk1MjcsMTE0MDksMzAyMDAsNTI4NDIsODg5MDYsMTM4MDksODU1MTAsMzM3MzUsMTMxNDgsNDkyNjUsOTk4MjcsNTYyNTgsNTM2MjcsMzQ2NzgsNDQ5MTEsNjU4NjIsNTEwMzEsMzU1Miw5NDgyNSwxMjE4MSw2OTM0LDk1MjQ0LDU1OTY5LDkzNDI2LDYzMTYwLDk3NDcyLDU5NDY1XSwoKCk9PntyZXR1cm4gdD00NDM3NzYsZShlLnM9dCk7dmFyIHR9KSk7ZS5PKCl9XSk7"}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/tZOSQBP946Q","date":"2026-07-27T07:13:48.268Z","timestamp":1785136428268,"http_version":"HTTP/3","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":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.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\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 363401\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-11T11:54:29.376868Z","times_seen":961682,"resource_available":false,"data":"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"}},"time_used":40,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/2.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.665Z","timestamp":1785136428665,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/2.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2456\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:33:54 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:37:49 GMT\r\ncache-control: max-age=86400\r\netag: \"bdaeb947a2eb31bae0a170559df9013c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 9360\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 4wRUOuvL21DEBiCVQrWV9paOc-Rp-Gb6XDFz_NAVVwQSuFRw20SlMA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2456,"size_decoded":2981,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"bdaeb947a2eb31bae0a170559df9013c","sha1":"7fc8496c9bf51eea98dc9060262f87a792a24a43","sha256":"3225172adc122cc7f8f09fbcc94757061330651a485f17091f41726767f7ea3f","sha512":"710a1ac11f6fdb3915479bf6b9eccf34f4dedd8f30e6bed5275f52d1ec634a754b252e385eb9cd388a5a69c64aaf5818c13cb783090ae68a8696af067cb67341","ssdeep":"","tlshash":"9e512b90d3f3d98a7d930935f8b27a34cfda87da97098523ea834854e279442cd24943","first_seen":"2023-05-02T21:54:45Z","last_seen":"2026-08-11T04:47:30.16778Z","times_seen":19796,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/3897.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.684Z","timestamp":1785136428684,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3897.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 431\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 25 Jan 2022 23:26:38 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:05 GMT\r\netag: \"7b13f300b044436260728185583927b9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 86264\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: glETZf4qRQlPL-HReujKwwe9rwNqj8rYTKcoFPDjNdYRJKFIwcB-yw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":431,"size_decoded":926,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"7b13f300b044436260728185583927b9","sha1":"d62b14a8548ea890dbd1a7d940ae3c3d7c413841","sha256":"f5885d09e88c56b64a53c6814e145398f404d87bf8e7e1e8684e723c9ba14164","sha512":"6ee41031c1f78cb0da61687c6c4c531e64ba06b23ed6da339bbc99a706851c9060be7799132f1a9e20e2e5b241582d881dd79ba39a5409fdd7b6876c23b457af","ssdeep":"","tlshash":"d4e05cb9be567e1fd76d25ebe3798074b4366604c81512fc14c48024b240531b984d0e","first_seen":"2025-05-17T13:51:35.328372Z","last_seen":"2026-08-11T04:47:30.020519Z","times_seen":1497,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABdklEQVR4XuXOMYpFUQzD0Lv/Rb/5vQWTqEjlwGkEhrz33l85hDYIbRDaILRBaIPQBqENQhuENghtENogtEFog7BiL/cTe7kXEFbs5X5iL/cCwoq93E/s5V5AWLGX+4m93AsIK/ZyP7GXewFhxV7uJ/ZyLyCs2Mv9xF7uBYQVe7mf2Mu9gLBiL/cTe7kXEFbs5X5iL/cCwoq93E/s5V5AWLGX+4m93AsIJ77vy5//vdwfQjhhL/eHEE7Yy/0hhBP2cn8I4YS93B9COGEv94cQTtjL/SGEE/ZyfwjhhL3cH0I4YS/3hxBO2Mv9IYQT9nJ/CGHFXu4n9nIvIKzYy/3EXu4FhBV7uZ/Yy72AsGIv9xN7uRcQVuzlfmIv9wLCir3cT+zlXkBYsZf7ib3cCwgr9nI/sZd7AWHFXu4n9nIvIKzYy/3EXu4FhBV7uZ/Yy72AsGIv9xN7uRcQ2iC0QWiD0AahDUIbhDYIbRDaILRBaIPQBqENQpUf4B5Y9kWIRxEAAAAASUVORK5CYII="}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/60062.495444a7fac173fb28cd.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.169Z","timestamp":1785136429169,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/60062.495444a7fac173fb28cd.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 87\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"6a58ab11-57\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Thu, 16 Jul 2026 09:57:37 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/16/2026 11:03:29\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 6b664b0bc82ef379e4cccd29eefd385a\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":87,"size_decoded":871,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"274893b786bd12b8da5e090fb307e32b","sha1":"21255ee94ceb3d1a0ee22982cf407e6e567093b4","sha256":"b86cb37cc4b27818ca22cc6d1618b286d3a8e8b04fbfea6a2f2d42101e5db23e","sha512":"b1c9690086309a24a4d9044af4b2936d25346e6cd8a6a8d3bc6831f844f1a44b08405dbeef9999998f66be34b01476894d9b38aa7933d3f6da6f3d8b207d266a","ssdeep":"","tlshash":"4eb012e13c1063344322806a444043ede1a4014825000e524431fc22cc1d80e363d518","first_seen":"2026-07-17T03:30:51.160472Z","last_seen":"2026-08-11T04:43:23.072785Z","times_seen":289,"resource_available":false,"data":"LnNjYWxhYmxlSWNvbi1jajFiQVNmNywuc2NhbGFibGVJY29uLWNqMWJBU2Y3IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.16193.ba075f895c6ed057c11c.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.319Z","timestamp":1785136429319,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.16193.ba075f895c6ed057c11c.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b72-154\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9ee534d99171ea43656fceb5c7abad29\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":340,"size_decoded":1001,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (340), with no line terminators","md5":"5ffc24a684cc802b7c100f2bd550db9f","sha1":"b566199860bd35dadee744f2ca93987c9fd7d81d","sha256":"c54bf8e5790bf29f7fdee0e7434ac170011edad6053be09f6b60d44ad7568e06","sha512":"f810b69576133f10a55ec59fee0e46a450731cbf26f01155ab1f66b2ed4b100bbef9e4d74b9d95d2032a5c84713b3dfc85f01c946ce927039e4c4c5645b70994","ssdeep":"","tlshash":"c5e0c203e160f8a17e7ade043b508de630f4b08114f2d0ceb3282f51c017c352810b6c","first_seen":"2026-05-05T12:17:23.646279Z","last_seen":"2026-08-11T04:43:23.095228Z","times_seen":500,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxNjE5M10sezMxNzI5KGUpe2UuZXhwb3J0cz1bImRheXMiXX0sODAwMDA5KGUpe2UuZXhwb3J0cz1bImhvdXJzIl19LDU1NDY1MShlKXtlLmV4cG9ydHM9WyJtb250aHMiXX0sMzQzNzU3KGUpe2UuZXhwb3J0cz1bIm1pbnV0ZXMiXX0sOTczMzQ3KGUpe2UuZXhwb3J0cz1bInJhbmdlIl19LDU0ODM3NChlKXtlLmV4cG9ydHM9WyJ3ZWVrcyJdfSwzNjkxMjkoZSl7ZS5leHBvcnRzPVsidGlja3MiXX0sNTQwOTEwKGUpe2UuZXhwb3J0cz1bIlZpZXcgT25seSBNb2RlIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/97272.3bfbfc8daabca040cf73.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.401Z","timestamp":1785136429401,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/97272.3bfbfc8daabca040cf73.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608293-2388c\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:42:59 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 9e1878d5c43dcbe3a4513c7b3ea676f7\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":145548,"size_decoded":44654,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3072)","md5":"8c50864d30ec134dd6dbf5614f6b0993","sha1":"e6f4e061c6b41ee25122eea9292ee1060bcbf290","sha256":"781e57f4504c7b485e77c0196c82978e6e2b63b503428b039f1ea86e3d3d8c6b","sha512":"4fa1d6e1afa37a9a925a9205354516db356d3db9d7d48297be0d7d04a262559ee656baf6c62318da568ad9c4278b2022f50b58265cfae5ed55c87373ef41a88c","ssdeep":"3072:AmXiQrx9XT2QQFJGUY/yORpn9VNpvNV7lzQQ3+EsCfEbNxYtyphoG:xlT2QQFJ1QVpn9VzvNV7lzQQ3kC8rSsz","tlshash":"d2e3e69272a5749683b901d54cf44503ab4d1c8bb84a888cf2bc1cef561de5d32befb9","first_seen":"2026-07-22T16:00:00.509283Z","last_seen":"2026-07-28T06:17:53.365018Z","times_seen":88,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbOTcyNzJdLHsxNDUzODEoZSx0LHMpe3MuZCh0LHtleHRyYWN0VGl0bGVQYXJ0czooKT0+YSxzdHVkeUlkc0hpZGVJbnB1dHNNb2RlOigpPT5ufSk7dmFyIGkscj1zKDYzNDg2KTshZnVuY3Rpb24oZSl7ZVtlLkFsd2F5cz0wXT0iQWx3YXlzIixlW2UuQ2hhcnRTdHlsZT0xXT0iQ2hhcnRTdHlsZSJ9KGl8fChpPXt9KSk7Y29uc3Qgbj1uZXcgTWFwKFtbIlZvbHVtZUB0di1iYXNpY3N0dWRpZXMiLDBdLFsiQW5jaG9yZWRWV0FQQHR2LWJhc2ljc3R1ZGllcyIsMF0sWyJGb290cHJpbnRAdHYtdm9sdW1lYnlwcmljZSIsMF0sWyJUUE9QZXJpb2RpY0B0di12b2x1bWVieXByaWNlIiwxXSxbIlRQT1Nlc3Npb25zQHR2LXZvbHVtZWJ5cHJpY2UiLDFdXSk7ZnVuY3Rpb24gYSh7dGl0bGU6ZSxzdHVkeUlkOnQsaGFzSW5wdXRzOnMsZGVzY3JpcHRpb246aSx3aXRoTWFpblNlcmllc0NoYXJ0U3R5bGU6YSxpc0Z1bmRhbWVudGFsU3R1ZHk6b30pe2lmKCFzKXJldHVybltlXTtsZXQgbDtpP2w9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHQsIiIpLnRyaW0oKXx8dm9pZCAwfShlLGkpOltpLGxdPWZ1bmN0aW9uKGUpe2lmKCIpIiE9PWVbZS5sZW5ndGgtMV0pcmV0dXJuW2VdO2xldCB0PTA7Zm9yKGxldCBzPWUubGVuZ3RoLTE7cz49MDtzLS0paWYoIikiPT09ZVtzXSl0Kys7ZWxzZSBpZigiKCI9PT1lW3NdJiYodC0tLDA9PT10JiZzPjEmJiIgIj09PWVbcy0xXSkpcmV0dXJuW2Uuc2xpY2UoMCxzLTEpLGUuc2xpY2UocyldO3JldHVybltlXX0oZSk7Y29uc3QgaD1mdW5jdGlvbihlLHQpe3JldHVybiB0PzA6bi5nZXQoZSl9KCgwLHIuZXh0cmFjdFN0dWR5SWQpKHQpLG8pO3JldHVybiFsfHwoMD09PWh8fDE9PT1oJiZhKT9baV06W2ksbF19fSwyMDU2MTEoZSx0LHMpe3MuZCh0LHtjcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zOigpPT5yfSk7dmFyIGk9cygyMzIzNjQpO2Z1bmN0aW9uIHIoZSx0KXtjb25zdCBzPW5ldyBpLldhdGNoZWRWYWx1ZShlKCkpLHI9e307dC5mb3JFYWNoKCh0PT50LnN1YnNjcmliZShyLCgoKT0+e3Muc2V0VmFsdWUoZSgpKX0pKSkpO3JldHVybiBzLnJlYWRvbmx5KCkuc3Bhd24oKCgpPT50LmZvckVhY2goKGU9PmUudW5zdWJzY3JpYmVBbGwocikpKSkpfX0sOTUzNjYwKGUpe2NvbnN0IHQ9NTUyOTYscz0xMjc5OTUsaT0xMjc5OTkscj1bNzc2LDIzNTksMjM1OSwyMzY3LDIzNjcsMjk4NCwzMDA3LDMwMjEsMzYzMywzNjM1LDM2NDgsMzY1Nyw0MzUyLDQ0NDksNDUyMF07ZnVuY3Rpb24gbihlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJzdHJpbmcgY2Fubm90IGJlIHVuZGVmaW5lZCBvciBudWxsIik7Y29uc3QgdD1bXTtsZXQgcz0wLGk9MDtmb3IoO3M8ZS5sZW5ndGg7KWkrPWEocytpLGUpLHUoZVtzK2ldKSYmaSsrLGwoZVtzK2ldKSYmaSsrLGgoZVtzK2ldKSYmaSsrLGMoZVtzK2ldKT9pKys6KHQucHVzaChlLnN1YnN0cmluZyhzLHMraSkpLHMrPWksaT0wKTtyZXR1cm4gdH1mdW5jdGlvbiBhKGUscil7Y29uc3Qgbj1yW2VdO2lmKCFmdW5jdGlvbihlKXtyZXR1cm4gZSYmcChlWzBdLmNoYXJDb2RlQXQoMCksdCw1NjMxOSl9KG4pfHxlPT09ci5sZW5ndGgtMSlyZXR1cm4gMTtjb25zdCBhPW4rcltlKzFdO2xldCBsPXIuc3Vic3RyaW5nKGUrMixlKzUpO3JldHVybiBvKGEpJiZvKGwpfHxmdW5jdGlvbihlKXtyZXR1cm4gcChkKGUpLHMsaSl9KGwpPzQ6Mn1mdW5jdGlvbiBvKGUpe3JldHVybiBwKGQoZSksMTI3NDYyLDEyNzQ4Nyl9ZnVuY3Rpb24gbChlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJnAoZS5jaGFyQ29kZUF0KDApLDY1MDI0LDY1MDM5KX1mdW5jdGlvbiBoKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmcChlLmNoYXJDb2RlQXQoMCksODQwMCw4NDQ3KX1mdW5jdGlvbiB1KGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmLTEhPT1yLmluZGV4T2YoZS5jaGFyQ29kZUF0KDApKX1mdW5jdGlvbiBjKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmODIwNT09PWUuY2hhckNvZGVBdCgwKX1mdW5jdGlvbiBkKGUpe3JldHVybihlLmNoYXJDb2RlQXQoMCktdDw8MTApKyhlLmNoYXJDb2RlQXQoMSktNTYzMjApKzY1NTM2fWZ1bmN0aW9uIHAoZSx0LHMpe3JldHVybiBlPj10JiZlPD1zfWUuZXhwb3J0cz1uLGUuZXhwb3J0cy5zdWJzdHI9ZnVuY3Rpb24oZSx0LHMpe2NvbnN0IGk9bihlKTtpZih2b2lkIDA9PT10KXJldHVybiBlO2lmKHQ+PWkubGVuZ3RoKXJldHVybiIiO2NvbnN0IHI9aS5sZW5ndGgtdDtsZXQgYT10Kyh2b2lkIDA9PT1zP3I6cyk7cmV0dXJuIGE+dCtyJiYoYT12b2lkIDApLGkuc2xpY2UodCxhKS5qb2luKCIiKX19LDUyMDM2MyhlLHQscyl7cy5kKHQse1N0dWR5QmFzZVdpbmRvd1ZpZXc6KCk9Pm59KTt2YXIgaT1zKDc3OTUxNikscj1zKDk0Mzk1KTtjbGFzcyBuIGV4dGVuZHMgaS5EYXRhV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3ZhbHVlUHJvdmlkZXI9dGhpcy5fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KSx0aGlzLl9pdGVtcz10aGlzLl92YWx1ZVByb3ZpZGVyLmdldEl0ZW1zKCkubWFwKChlPT5uZXcgaS5EYXRhV2luZG93SXRlbShlLmlkLGUudGl0bGUsIiIpKSl9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2ludmFsaWRhdGVkJiYodGhpcy5fdXBkYXRlSW1wbCgpLHRoaXMuX2ludmFsaWRhdGVkPSExKSx0aGlzLl9pdGVtc31zdHVkeSgpe3JldHVybiB0aGlzLl9zdHVkeX1fdXBkYXRlSW1wbCgpe3RoaXMuX2hlYWRlcj10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93KSx0aGlzLl90aXRsZT10aGlzLl9zdHVkeS50aXRsZShyLlRpdGxlRGlzcGxheVRhcmdldC5EYXRhV2luZG93LCExKQo7Y29uc3QgZT10aGlzLl92YWx1ZVByb3ZpZGVyLmdldFZhbHVlcyh0aGlzLl9jdXJyZW50SW5kZXgoKSk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IHM9ZVt0XSxpPXRoaXMuX2l0ZW1zW3RdO2kuc2V0VmFsdWUocy52YWx1ZSksaS5zZXRWaXNpYmxlKHMudmlzaWJsZSksaS5zZXRDb2xvcihzLmNvbG9yKSxpLnNldFRpdGxlKHMudGl0bGUpfX1fY3VycmVudEluZGV4KCl7Y29uc3QgZT10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfX19LDg3MzYzKGUsdCxzKXtzLmQodCx7U3R1ZHlDaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyOigpPT5hfSk7dmFyIGk9cygzMDk4MzcpLHI9cygxNjU1MCksbj1zKDE2ODI1OCk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscyl7dGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX2hoaXN0QmFzZWRTdHVkeT0hIWUubWV0YUluZm8oKS5ncmFwaGljcy5oaGlzdHMsdGhpcy5fdmFsdWVzUHJvdmlkZXI9dGhpcy5faGhpc3RCYXNlZFN0dWR5P25ldyByLkhIaXN0QmFzZWRWYWx1ZXNQcm92aWRlcihlLHQscyk6bmV3IGkuU3R1ZHlWYWx1ZXNQcm92aWRlcihlLHQscyl9Z2V0SXRlbXMoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXIuZ2V0SXRlbXMoKX1nZXRWYWx1ZXMoZSl7Y29uc3QgdD10aGlzLl92YWx1ZXNQcm92aWRlci5nZXRWYWx1ZXMoZSkscz1lPT50aGlzLl9zdHVkeS5pc1Bsb3RWaXNpYmxlQXQoZSxuLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSl8fHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdChlLG4uU3R1ZHlQbG90RGlzcGxheVRhcmdldC5QYW5lKTtmb3IoY29uc3QgZSBvZiB0KWUudmlzaWJsZT1lLnZpc2libGUmJih0aGlzLl9oaGlzdEJhc2VkU3R1ZHl8fHMoZS5pZCkpO3JldHVybiB0fX19LDE0MTM1MChlLHQscyl7cy5kKHQse1N0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3OigpPT5hfSk7dmFyIGk9cygxMzg2MzgpLHI9cyg2MDE4NDEpLG49cyg5NDM5NSk7Y2xhc3MgYXtjb25zdHJ1Y3RvcihlLHQscz0hMSl7dGhpcy5faXRlbXM9W10sdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc3R1ZHk9ZSx0aGlzLl9tb2RlbD10LHRoaXMuX3Nob3dBbGxQbG90c1RpdGxlPXN9ZGVzdHJveSgpe31pdGVtcygpe3JldHVybiB0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSksdGhpcy5faXRlbXN9dXBkYXRlKGUpe3RoaXMuX2ludmFsaWRhdGVkPSEwfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5jaGFydEZsb2F0aW5nVG9vbHRpcFZhbHVlc1Byb3ZpZGVyKCksdD10aGlzLl9tb2RlbC5jcm9zc2hhaXJTb3VyY2UoKS5hcHBsaWVkSW5kZXgoKSxzPSgwLGkuZW5zdXJlTm90TnVsbCkoZSkuZ2V0VmFsdWVzKHQpLGE9dGhpcy5fc3R1ZHkudGl0bGVJblBhcnRzKG4uVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpLG89YVswXTtsZXQgbD0iIjtpZihhLmxlbmd0aD4xKXtjb25zdCBlPWFbMV07ZS5sZW5ndGg+MCYmKGw9ZS5qb2luKCIgIikpfXRoaXMuX2l0ZW1zPXMuZmlsdGVyKHIubm90VW5kZWZpbmVkKS5maWx0ZXIoKGU9PmUudmlzaWJsZSkpLm1hcCgoKGUsdCk9Pih7dGl0bGVUZXh0OnRoaXMuX3Nob3dBbGxQbG90c1RpdGxlP2UudGl0bGU6MD09PXQ/bzoiIix0aXRsZUlucHV0czp0aGlzLl9zaG93QWxsUGxvdHNUaXRsZT8iIjowPT09dD9sOiIiLHZhbHVlOmUudmFsdWUsdmFsdWVDb2xvcjplLmNvbG9yfSkpKX19fSw1MzY3MTAoZSx0LHMpe3MuZCh0LHtTdHVkeURhdGFXaW5kb3dWaWV3OigpPT5ufSk7dmFyIGk9cyg1MjAzNjMpLHI9cyg2MzE0MDQpO2NsYXNzIG4gZXh0ZW5kcyBpLlN0dWR5QmFzZVdpbmRvd1ZpZXd7Y2FuU2hvd0l0ZW1zKCl7Y29uc3QgZT10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KTtyZXR1cm4hIWU/Lm1heGltaXplZCgpLnZhbHVlKCl8fHRoaXMuX21vZGVsLnBhbmVzKCkuZXZlcnkoKGU9PiFlLm1heGltaXplZCgpLnZhbHVlKCkpKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IHIuU3R1ZHlEYXRhV2luZG93VmFsdWVzUHJvdmlkZXIoZSx0KX19fSwyNzU4NDkoZSx0LHMpe3MuZCh0LHtTdHVkeVN0YXR1c1Byb3ZpZGVyOigpPT5sfSk7dmFyIGk9cygxODUyNzEpLHI9cyg4Njc4MzEpLG49cyg2MzI0NDQpLGE9cygzMTQyNyk7Y29uc3Qgbz1pLnQobnVsbCx2b2lkIDAscygxNTU4NSkpO2NsYXNzIGwgZXh0ZW5kcyBhLlN0dWR5U3RhdHVzUHJvdmlkZXJCYXNle3NvdXJjZVN0YXR1c1RleHQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZTtpZihlLnN0YXR1cygpLnR5cGU9PT1yLlN0dWR5U3RhdHVzVHlwZS5FcnJvcil7Y29uc3QgdD1lLm1ldGFJbmZvKCkscz0oMCxuLmV4dHJhY3RQaW5lSWQpKHQuZnVsbElkKTtpZih0LnNjcmlwdElkUGFydCYmKDAsbi5pc0VkZ3JQaW5lSWQpKHQuc2NyaXB0SWRQYXJ0KXx8cyYmKDAsbi5pc0VkZ3JQaW5lSWQpKHMpKXJldHVybiBvfXJldHVybiBzdXBlci5zb3VyY2VTdGF0dXNUZXh0KCl9fX0sNTcyMjUoZSx0LHMpe3MuZCh0LHtidWlsZFRyZWVGb3JTdHVkeTooKT0+byxidWlsZFR1cm5hcm91bmQ6KCk9PmEsY2FuQnVpbGRUdXJuYXJvdW5kOigpPT5sfSk7dmFyIGk9cygxMzg2MzgpO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gZS5zdHVkeUlkLmxvY2FsZUNvbXBhcmUodC5zdHVkeUlkKX1mdW5jdGlvbiBuKGUpe2NvbnN0IHQ9bmV3IFNldCxzPVtdO3JldHVybiBlLmZvckVhY2goKGU9Pnt0LmhhcyhlLnN0dWR5SWQpfHwodC5hZGQoZS5zdHVkeUlkKSxzLnB1c2goZSkpfSkpLHN9ZnVuY3Rpb24gYShlLHQpe2xldCBzPXQudHVybmFyb3VuZCxpPVt0XTtmb3IoO2kubGVuZ3RoPjA7KXtsZXQgZT1bXTtjb25zdCB0PVtdO2kuZm9yRWFjaCgocz0+e2NvbnN0IGk9bihzLnNvdXJjZVN0dWRpZXMpLnNvcnQocik7aWYoaS5sZW5ndGg+MCl7ZT1lLmNvbmNhdChpKTtjb25zdCBzPWkubWFwKChlPT5lLnR1cm5hcm91bmQpKS5qb2luKCJfIik7dC5wdXNoKHMpfQp9KSksdC5sZW5ndGgmJihzPXQuam9pbigiXyIpKyJfIitzKSxpPWV9cmV0dXJuIGUrIl8iK3N9ZnVuY3Rpb24gbyhlKXtjb25zdCB0PWUubW9kZWwoKS5tYWluU2VyaWVzKCk7cmV0dXJue3N0dWR5SWQ6KDAsaS5lbnN1cmVOb3ROdWxsKShlLnNvdXJjZUlkKCkpLHR1cm5hcm91bmQ6ZS50dXJuYXJvdW5kKCksc291cmNlU3R1ZGllczplLnBhcmVudFNvdXJjZXMoKS5maWx0ZXIoKGU9PmUhPT10KSkubWFwKChlPT5vKGUpKSl9fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIG51bGwhPT1lLnNvdXJjZUlkKCkmJmUucGFyZW50U291cmNlcygpLmV2ZXJ5KChlPT5sKGUpKSl9fSwxOTcyNzIoZSx0LHMpe3MuZCh0LHtTdHVkeTooKT0+VXMsZW1wdHlQcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbzooKT0+d3N9KTt2YXIgaT1zKDU0Nzg1MSkscj1zKDE2NzUwMiksbj1zKDIwMzY4MSksYT1zKDc0MDE2Miksbz1zKDE0NDU1NSksbD1zKDkyMDQ3NSksaD1zKDEzODYzOCksdT1zKDYwMTg0MSksYz1zKDIyMTA2MSksZD1zKDY0MTU5MykscD1zKDE5ODkwMSksXz1zKDk1MjkwMCksZj1zKDIzMjM2NCksbT1zKDQwMjA0NSkseT1zKDk0ODM4MCksZz1zKDg1NzE1MSksUz1zKDkzNjMyNiksYj1zKDk2MDQ2NCksdj1zKDc5MTQyNyksUD1zKDE0NTM4MSksST1zKDkzMDIzMSksdz1zKDEwMDU5NSksQz1zLm4odyk7dmFyIFY9cygxODUyNzEpLHg9cyg4NTY1Nik7dmFyIEE9cyg4NzIzNDMpLFI9cyg0MDc4MTQpO3ZhciBNPXMoMTcyMzA0KSxUPXMoMjQxMyksRD1zKDYzNDg2KSxGPXMoNDk3Njc5KSxPPXMoNzcwNzU1KSxOPXMoNDg3ODIwKTtjbGFzcyBre2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fYWxlcnRzPW5ldyBtLldhdGNoZWRPYmplY3QoW10pLHRoaXMuX2FsZXJ0U2VyaWVzSWQ9dCx0aGlzLl9hbGVydHNDb2xsZWN0aW9uPWUuYWxlcnRzQ29sbGVjdGlvbigpLnNwYXduKCksdGhpcy5fYWxlcnRzQ29sbGVjdGlvbi5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRzTGlzdC5iaW5kKHRoaXMpLHtjYWxsV2l0aExhc3Q6ITB9KSx0aGlzLl9hbGVydFNlcmllc0lkLnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydHMuYmluZCh0aGlzKSx7Y2FsbFdpdGhMYXN0OiEwfSl9ZGVzdHJveSgpe3RoaXMuX2FsZXJ0c0NvbGxlY3Rpb24uZGVzdHJveSgpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fYWxlcnRTZXJpZXNJZC5yZWxlYXNlKCl9YWxlcnRzKCl7cmV0dXJuIHRoaXMuX2FsZXJ0cy5yZWFkb25seSgpfV91cGRhdGVBbGVydHNMaXN0KGUpe2lmKHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz8uKCksdGhpcy5fZGVzdHJveUFsZXJ0c0xpc3RTdWJzY3JpcHRpb25zPXZvaWQgMCxlKXtjb25zdCB0PXRoaXMuX3VwZGF0ZUFsZXJ0cy5iaW5kKHRoaXMpO2UuYWxlcnRzKCkuc3Vic2NyaWJlKHQpLHRoaXMuX2Rlc3Ryb3lBbGVydHNMaXN0U3Vic2NyaXB0aW9ucz0oKT0+ZS5hbGVydHMoKS51bnN1YnNjcmliZSh0KX10aGlzLl91cGRhdGVBbGVydHMoKX1fdXBkYXRlQWxlcnRzKCl7Y29uc3QgZT10aGlzLl9hbGVydHNDb2xsZWN0aW9uLnZhbHVlKCksdD10aGlzLl9hbGVydFNlcmllc0lkLnZhbHVlKCk7aWYoIWV8fCF0KXJldHVybiB2b2lkIHRoaXMuX2FsZXJ0cy5zZXRWYWx1ZShbXSk7Y29uc3Qgcz1lLmFsZXJ0cygpLnZhbHVlKCkuZmlsdGVyKChlPT5lLmFjdGl2ZSgpLnZhbHVlKCkmJmUuY2FuVXNlSW5TdHVkeVNvdXJjZU1vZGVsKHQpKSkubWFwKChlPT4oe3RpdGxlOmUuZGVzY3JpcHRpb24oKSxjYW5EaXNwbGF5T25TdGF0dXNWaWV3OigpPT5lLmlzQWxlcnRQcmVzZW50T25UYXJnZXQoTi5BbGVydENoYXJ0RGlzcGxheVRhcmdldC5TdGF0dXNWaWV3KX0pKSk7dGhpcy5fYWxlcnRzLnNldFZhbHVlKHMpfX12YXIgQj1zKDg4OTUxNSksRT1zKDIyNjkzNyksTD1zKDg3MzU3MyksSD1zKDQxNDczNCksVT1zKDU0MjM0OSksVz1zKDcwNDU3MiksRz1zKDk1NjQzNyksaj1zKDYzNTUwOSksej1zKDczMjA4MCksJD1zKDM4ODM2NyksSz1zKDIxODc2NSkscT1zKDUyMDM2MyksSj1zKDk2NjQwNCksWT1zKDkyODY2OSksWj1zKDE2ODI1OCk7Y2xhc3MgWCBleHRlbmRzIHEuU3R1ZHlCYXNlV2luZG93Vmlld3tjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCksdGhpcy5fc2hvd1N0dWR5VmFsdWVzPXQucHJvcGVydGllcygpLmNoaWxkcygpLnBhbmVQcm9wZXJ0aWVzLmNoaWxkcygpLmxlZ2VuZFByb3BlcnRpZXMuY2hpbGRzKCkuc2hvd1N0dWR5VmFsdWVzLHRoaXMuX3Nob3dTdHVkeVZhbHVlcy5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMudXBkYXRlKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKGUuaWQoKSkpKSk7Y29uc3Qgcz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCk7cy5jaGlsZHMoKS5zaG93TGVnZW5kVmFsdWVzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoZS5pZCgpKSkpKTtjb25zdCBpPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscj1uZXcgU2V0O2kuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYoci5oYXMoaSkpcmV0dXJuO3IuYWRkKGkpLHMuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfWVsc2UoMCxaLmlzUGxvdFN1cHBvcnREaXNwbGF5KSh0KSYmcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdC5pZF0/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KShlLmlkKCkpKSkpfSkpfWFyZVZhbHVlc1Zpc2libGUoKXtyZXR1cm4gdGhpcy5fc2hvd1N0dWR5VmFsdWVzLnZhbHVlKCl9YWRkaXRpb25hbCgpe3JldHVybiBudWxsfWRlc3Ryb3koKXt0aGlzLl9zaG93U3R1ZHlWYWx1ZXMudW5zdWJzY3JpYmVBbGwodGhpcyk7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkKO2UuY2hpbGRzKCkuc2hvd0xlZ2VuZFZhbHVlcy51bnN1YnNjcmliZUFsbCh0aGlzKTtjb25zdCB0PXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMscz1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e2lmKCgwLFouaXNPaGxjUGxvdCkodCkpe2NvbnN0IGk9dC50YXJnZXQ7aWYocy5oYXMoaSkpcmV0dXJuO3MuYWRkKGkpLGUuY2hpbGRzKCkub2hsY1Bsb3RzLmNoaWxkcygpW2ldLmNoaWxkcygpLmRpc3BsYXkudW5zdWJzY3JpYmVBbGwodGhpcyl9ZWxzZSgwLFouaXNQbG90U3VwcG9ydERpc3BsYXkpKHQpJiZlLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0LmlkXT8uY2hpbGRzKCkuZGlzcGxheS51bnN1YnNjcmliZUFsbCh0aGlzKX0pKX1fY3JlYXRlVmFsdWVzUHJvdmlkZXIoZSx0KXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcihlLHQpfX12YXIgUT1zKDY3ODI4NSksZWU9cyg5MzI2OTMpLHRlPXMoNDA3Nzk5KSxzZT1zKDY0NTI4NSksaWU9cyg3OTE1MjEpLHJlPXMoMjc1ODQ5KSxuZT1zKDg3MzYzKSxhZT1zKDQ3NzM4OCk7Y2xhc3Mgb2V7Y29uc3RydWN0b3IoZSx0LHM9ITEpe3RoaXMucHJpY2U9dCx0aGlzLmluZGV4PWUsdGhpcy51c2VNYWluU2VyaWVzRm9yUHJpY2VSYW5nZT1zfX12YXIgbGU9cygyOTM0MTgpO2Z1bmN0aW9uIGhlKGUsdCxzLGkpe2lmKGUueTE9PT1lLnkyKXJldHVybiBmdW5jdGlvbihlLHQscyl7cmV0dXJuKDAsaC5hc3NlcnQpKGUueTE9PT1lLnkyKSwoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS54MSxlLngyLGUuZXh0ZW5kLHQscyk/W25ldyBvZSh0LGUueTEsITEpLG5ldyBvZShzLGUueTIsITEpXTpbXX0oZSxzLGkpO2NvbnN0IHI9W107cmV0dXJuIG51bGwhPT1lLngxJiZyLnB1c2gobmV3IG9lKGUueDEsZS55MSwhMSkpLG51bGwhPT1lLngyJiZyLnB1c2gobmV3IG9lKGUueDIsZS55MiwhMSkpLHJ9ZnVuY3Rpb24gdWUoZSx0LHMsaSl7cmV0dXJuIGUucG9pbnRzLmZpbHRlcigoZT0+ZS54Pj1zJiZlLng8PWkpKS5tYXAoKGU9Pm5ldyBvZShlLngsZS55LCExKSkpfWZ1bmN0aW9uIGNlKGUsdCxzLGkpe3JldHVybigwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShlLmxlZnQsZS5yaWdodCxlLmV4dGVuZCxzLGkpP1tuZXcgb2UocyxlLnRvcCwhMSksbmV3IG9lKGksZS5ib3R0b20sITEpXTpbXX12YXIgZGU9cyg1NDg1NjApO2Z1bmN0aW9uIHBlKGUsdCxzLGkpe2xldCByO2NvbnN0IG49ZS55bG9jIT09ZGUuRHdnTGFiZWxZbG9jLlByaWNlJiZlLnlsb2MhPT1kZS5Ed2dMYWJlbFlsb2MuQXV0bztpZihuKXtjb25zdCBzPWUueWxvYz09PWRlLkR3Z0xhYmVsWWxvYy5BYm92ZUJhcj8yOjMsaT10LnZhbHVlQXQoZS54KTtudWxsIT09aSYmKHI9aVtzXSl9ZWxzZSByPWUueTtyZXR1cm4gbnVsbD09cj9udWxsOltuZXcgb2UoZS54LHIsbildfXZhciBfZT1zKDE3OTY3NCk7ZnVuY3Rpb24gZmUoZSx0LHMsaSxyLG4pe2lmKCEoMCxsZS5kb2VzSXRlbUFmZmVjdFZpc2libGVSYW5nZSkoZS5maXJzdEJhclRpbWUsZS5sYXN0QmFyVGltZSxfZS5Ed2dFeHRlbmQuTm9uZSxzLGkpKXJldHVybltdO2xldCBhPTEvMCxvPS0xLzA7Zm9yKGNvbnN0W3Qsc11vZiByLnRwb0Jsb2NrU2V0cygpKWlmKG49PT10KWZvcihjb25zdCB0IG9mIHMuZ2V0KGUuaWQpfHxbXSlhPU1hdGgubWluKGEsdC5yb3dJbmRleCplLnByaWNlUmFuZ2UpLG89TWF0aC5tYXgobywodC5yb3dJbmRleCsxKSplLnByaWNlUmFuZ2UpO3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYSk/W25ldyBvZShzLG8sITEpLG5ldyBvZShpLGEsITEpXTpbXX1jbGFzcyBtZXtjb25zdHJ1Y3RvcihlLHQscyxpLHIpe3RoaXMuX21hcEdldHRlcj1lLHRoaXMuX3N0dWR5PXQsdGhpcy5fYmFycz10LnNlcmllcygpLmJhcnMoKSx0aGlzLl92aXNpYmlsaXR5R2V0dGVyPXMsdGhpcy5fZ2V0UG9pbnRzPWksdGhpcy5fZ2V0TWFyZ2lucz1yfWdyb3VwUHJpY2VSYW5nZShlLHQscyl7bGV0IGk9bnVsbDtjb25zdCByPXRoaXMuX3N0dWR5LmdyYXBoaWNzKCk7Zm9yKGNvbnN0W24sYV1vZiB0aGlzLl9tYXBHZXR0ZXIocykpaWYodGhpcy5fdmlzaWJpbGl0eUdldHRlcihuKSlmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBhPXRoaXMuX2dldFBvaW50cyhzLHRoaXMuX2JhcnMsZSx0LHIsbik7aWYobnVsbD09PWEpY29udGludWU7bGV0IG89MS8wLGw9LTEvMCxoPSExLHU9ITEsYz0hMTtmb3IoY29uc3QgcyBvZiBhKXtjb25zdCBpPXMuaW5kZXg8PXQscj1zLmluZGV4Pj1lO2g9aHx8aSx1PXV8fHIsYz1jfHxpJiZyO2xldCBuPXMucHJpY2UsYT1zLnByaWNlO2lmKHMudXNlTWFpblNlcmllc0ZvclByaWNlUmFuZ2Upe2NvbnN0IGU9dGhpcy5fYmFycy52YWx1ZUF0KHMuaW5kZXgpO2lmKG51bGw9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9ZVsyXTtpZihudWxsPT10KWNvbnRpbnVlO2NvbnN0IGk9ZVszXTtpZihudWxsPT1pKWNvbnRpbnVlO249aSxhPXR9bjxvJiYobz1uKSxhPmwmJihsPWEpfWlmKCEoY3x8aCYmdSkpY29udGludWU7Y29uc3QgZD1uZXcgai5QcmljZVJhbmdlKG8sbCk7aT1udWxsPT09aT9kOmkubWVyZ2UoZCl9cmV0dXJuIGl9Zmlyc3RWYWx1ZShlLHQpe2xldCBzPTEvMCxpPTEvMCxyPS0xLzAsbj0xLzAsYT0xLzAsbz0xLzA7Y29uc3QgbD10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtoLHVdb2YgdGhpcy5fbWFwR2V0dGVyKCExKSlpZih0aGlzLl92aXNpYmlsaXR5R2V0dGVyKGgpKWZvcihjb25zdCBjIG9mIHUpe2NvbnN0IHU9dGhpcy5fZ2V0UG9pbnRzKGMsdGhpcy5fYmFycyxlLHQsbCxoKTtpZihudWxsIT09dSlmb3IoY29uc3QgbCBvZiB1KXtjb25zdCBoPWwuaW5kZXg7aD49ZSYmaDw9dCYmaDxzPyhzPWgsaT1sLnByaWNlKTpoPGUmJmg+cj8ocj1oLG49bC5wcmljZSk6aD50JiZoPGEmJihhPWgsbz1sLnByaWNlKX19cmV0dXJue2ZpcnN0VmlzaWJsZTpzPT09MS8wP251bGw6bmV3IG9lKHMsaSksbGVmdENsb3Nlc3Q6cj09PS0xLzA/bnVsbDpuZXcgb2UocixuKSxyaWdodENsb3Nlc3Q6YT09PTEvMD9udWxsOm5ldyBvZShhLG8pfX1ncm91cFBpeGVsTWFyZ2lucyhlLHQscyl7CmlmKCF0aGlzLl9nZXRNYXJnaW5zKXJldHVybiB5ZSgpO2NvbnN0IGk9eWUoKTtpZihudWxsPT09dGhpcy5fc3R1ZHkucHJpY2VTY2FsZSgpKXJldHVybiBpO2lmKG51bGw9PT10aGlzLl9zdHVkeS5maXJzdFZhbHVlKCkpcmV0dXJuIGk7Y29uc3Qgcj10aGlzLl9zdHVkeS5ncmFwaGljcygpO2Zvcihjb25zdFtuLGFdb2YgdGhpcy5fbWFwR2V0dGVyKHMpKWlmKHRoaXMuX3Zpc2liaWxpdHlHZXR0ZXIobikpZm9yKGNvbnN0IHMgb2YgYSl7Y29uc3QgYT10aGlzLl9nZXRQb2ludHMocyx0aGlzLl9iYXJzLGUsdCxyLG4pO2lmKG51bGw9PT1hKWNvbnRpbnVlO2lmKDA9PT1hLmZpbHRlcigocz0+e2NvbnN0IGk9cy5pbmRleDtyZXR1cm4gaT49ZSYmaTw9dH0pKS5sZW5ndGgpY29udGludWU7Y29uc3Qgbz10aGlzLl9nZXRNYXJnaW5zKHMsdGhpcy5fYmFycyk7aS5ib3R0b21QaXhlbE1hcmdpbj1NYXRoLm1heChpLmJvdHRvbVBpeGVsTWFyZ2luLG8uYm90dG9tUGl4ZWxNYXJnaW4pLGkudG9wUGl4ZWxNYXJnaW49TWF0aC5tYXgoaS50b3BQaXhlbE1hcmdpbixvLnRvcFBpeGVsTWFyZ2luKX1yZXR1cm4gaX19Y29uc3QgeWU9KCk9Pih7Ym90dG9tUGl4ZWxNYXJnaW46MCx0b3BQaXhlbE1hcmdpbjowfSk7ZnVuY3Rpb24gZ2UoZSl7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKGUucHJvcGVydGllcygpLmNoaWxkcygpLmdyYXBoaWNzKS5jaGlsZHMoKTtyZXR1cm5bbmV3IG1lKCgoKT0+KDAscC5tYXBFbnRyaWVzR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkudHBvcygpKSksZSwoZT0+e2NvbnN0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0LnRwb0Jsb2NrU2V0cykuY2hpbGRzKClbZV0uY2hpbGRzKCk7cmV0dXJuIHMuc2hvd0xldHRlcnMudmFsdWUoKXx8cy5zaG93QmxvY2tzLnZhbHVlKCl8fCgwLGguZW5zdXJlRGVmaW5lZCkodC50cG9Wb2x1bWVSb3dzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCl9KSxmZSx5ZSksbmV3IG1lKCh0PT4oMCxwLm5lc3RlZE1hcEdlbmVyYXRvcikoZS5ncmFwaGljcygpLmR3Z2xhYmVscygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnbGFiZWxzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLHBlLGFlLmNhbGN1bGF0ZUR3Z0xhYmVsc01hcmdpbnMuYmluZChudWxsLGUpKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdnbGluZXMoKSx0KSksZSwoZT0+KDAsaC5lbnN1cmVEZWZpbmVkKSh0LmR3Z2xpbmVzKS5jaGlsZHMoKVtlXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpLGhlLHllKSxuZXcgbWUoKHQ9PigwLHAubmVzdGVkTWFwR2VuZXJhdG9yKShlLmdyYXBoaWNzKCkuZHdncG9seWxpbmVzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dwb2x5bGluZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksdWUseWUpLG5ldyBtZSgodD0+KDAscC5uZXN0ZWRNYXBHZW5lcmF0b3IpKGUuZ3JhcGhpY3MoKS5kd2dib3hlcygpLHQpKSxlLChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHQuZHdnYm94ZXMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksY2UseWUpLG5ldyBtZSgodD0+ZnVuY3Rpb24qKGUsdCl7Y29uc3Qgcz1lLmR3Z2xpbmVzKCksaT1lLmR3Z2xpbmVmaWxscygpLHI9bmV3IE1hcDtzLmZvckVhY2goKGU9PntpZih2b2lkIDA9PT10KWUuZm9yRWFjaCgoZT0+e2U/LmZvckVhY2goKGU9PntyLnNldChlLmlkLGUpfSkpfSkpO2Vsc2V7Y29uc3Qgcz1lLmdldCh0KTtzPy5mb3JFYWNoKChlPT57ci5zZXQoZS5pZCxlKX0pKX19KSk7Zm9yKGNvbnN0W2UsdF1vZiBpKXtjb25zdCBzPUFycmF5LmZyb20odCkuZmlsdGVyKChlPT5yLmhhcyhlLmxpbmUxKSkpO3MubGVuZ3RoJiYoeWllbGRbZSxuZXcgU2V0KHMpXSl9fShlLmdyYXBoaWNzKCksdCkpLGUsKGU9PigwLGguZW5zdXJlRGVmaW5lZCkodC5kd2dsaW5lZmlsbHMpLmNoaWxkcygpW2VdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSksKCh0LHMsaSxyKT0+e2NvbnN0IG49bmV3IE1hcDtmb3IoY29uc3RbLHRdb2YgZS5ncmFwaGljcygpLmR3Z2xpbmVzKCkpZm9yKGNvbnN0WyxlXW9mIHQpZm9yKGNvbnN0IHQgb2YgZSluLnNldCh0LmlkLHQpO3JldHVybiBmdW5jdGlvbihlLHQscyxpLHIpe2NvbnN0IG49ZS5nZXQodC5saW5lMSksYT1lLmdldCh0LmxpbmUyKTtyZXR1cm4gdm9pZCAwIT09biYmdm9pZCAwIT09YSYmKCgwLGxlLmRvZXNJdGVtQWZmZWN0VmlzaWJsZVJhbmdlKShuLngxLG4ueDIsbi5leHRlbmQsaSxyKXx8KDAsbGUuZG9lc0l0ZW1BZmZlY3RWaXNpYmxlUmFuZ2UpKGEueDEsYS54MixhLmV4dGVuZCxpLHIpKT9bbmV3IG9lKGksbi55MSwhMSksbmV3IG9lKHIsbi55MiwhMSksbmV3IG9lKGksYS55MSwhMSksbmV3IG9lKHIsYS55MiwhMSldOltdfShuLHQsMCxpLHIpfSkseWUpXX1mdW5jdGlvbiBTZShlLHQscyl7cmV0dXJuIG51bGw9PT10P2U6bnVsbD09PWU/dDplLmluZGV4PHQuaW5kZXg/cz90OmU6cz9lOnR9Y2xhc3MgYmV7Y29uc3RydWN0b3IoKXt0aGlzLmZpcnN0VmlzaWJsZT1udWxsLHRoaXMubGVmdENsb3Nlc3Q9bnVsbCx0aGlzLnJpZ2h0Q2xvc2VzdD1udWxsfWltcHJvdmUoZSl7dGhpcy5maXJzdFZpc2libGU9U2UodGhpcy5maXJzdFZpc2libGUsZS5maXJzdFZpc2libGUsITApLHRoaXMubGVmdENsb3Nlc3Q9U2UodGhpcy5sZWZ0Q2xvc2VzdCxlLmxlZnRDbG9zZXN0LCEwKSx0aGlzLnJpZ2h0Q2xvc2VzdD1TZSh0aGlzLnJpZ2h0Q2xvc2VzdCxlLnJpZ2h0Q2xvc2VzdCwhMSl9YmVzdFByaWNlKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpcnN0VmlzaWJsZT90aGlzLmZpcnN0VmlzaWJsZS5wcmljZTpudWxsIT09dGhpcy5sZWZ0Q2xvc2VzdD90aGlzLmxlZnRDbG9zZXN0LnByaWNlOm51bGwhPT10aGlzLnJpZ2h0Q2xvc2VzdD90aGlzLnJpZ2h0Q2xvc2VzdC5wcmljZTpudWxsfX0KdmFyIHZlPXMoMTU2ODUwKSxQZT1zKDYzMjQ0NCksSWU9cyg0OTAzOTkpLHdlPXMoMTQzODA4KSxDZT1zKDk0MzEzMCksVmU9cyg3MjkxNjMpLHhlPXMoNzQxNjkwKSxBZT1zKDMxNDgwNiksUmU9cygyNDE5NTYpLE1lPXMoMjA1NjExKSxUZT1zKDU3MjI1KSxEZT1zKDYyODA2KSxGZT1zKDc4OTE5MCksT2U9cyg5MzQzMDUpO2NsYXNzIE5lIGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtyZXR1cm4gbnVsbH1fZHJhd0ltcGwoZSl7fV9kcmF3QmFja2dyb3VuZEltcGwoZSl7Y29uc3R7Y29udGV4dDp0LGhvcml6b250YWxQaXhlbFJhdGlvOnMsYml0bWFwU2l6ZTppfT1lLHI9dGhpcy5fZGF0YTtmb3IobGV0IGU9MDtlPHIuaXRlbXMubGVuZ3RoOysrZSl7Y29uc3Qgbj1yLml0ZW1zW2VdO2lmKG51bGw9PW4uY29sb3IpY29udGludWU7dC5maWxsU3R5bGU9bi5jb2xvcjtjb25zdCBhPU1hdGgucm91bmQobi5sZWZ0KnMpKzEsbz1NYXRoLnJvdW5kKG4ucmlnaHQqcyk7dC5maWxsUmVjdChhLDAsby1hKzEsaS5oZWlnaHQpfX19dmFyIGtlPXMoNjU1NTY5KSxCZT1zKDg0MDc3MSk7Y2xhc3MgRWUgZXh0ZW5kcyBCZS5TdHVkeUZvcmNlT3ZlcmxheVBsb3RWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKHQscyxpKSx0aGlzLl9pdGVtcz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3N0dWR5PWU7Y29uc3Qgcj10aGlzLl9zdHVkeS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXtjb25zdCB0PXJbZV07dC5pZD09PXRoaXMuX3Bsb3ROYW1lJiYodGhpcy5fcGxvdEluZGV4PWUsKDAsaC5hc3NlcnQpKCgwLFouaXNCZ0NvbG9yZXJQbG90KSh0KSwiUGxvdCAnIit0aGlzLl9wbG90TmFtZSsiJyBpcyBub3QgYSBiYWNrZ3JvdW5kIGNvbG9yZXIhIikpfXRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpfWl0ZW1zKCl7cmV0dXJuIHRoaXMuX2l0ZW1zfXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1yZW5kZXJlcigpe2lmKCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkmWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpIT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpcmV0dXJuIG51bGw7aWYoIXRoaXMuX3NjYWxlc1JlYWR5KCkpcmV0dXJuIG51bGw7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e2l0ZW1zOnRoaXMuX2l0ZW1zfSx0PW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gdC5hcHBlbmQobmV3IE5lKGUpKSx0fV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIWUuaXNFbXB0eSgpJiZudWxsIT09dCYmIXQuaXNFbXB0eSgpfV9nZXRUcmFuc3BWYWx1ZSgpe2NvbnN0IGU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXSkuY2hpbGRzKCk7bGV0IHQ9MDtyZXR1cm4gZS50cmFuc3BhcmVuY3kmJih0PWUudHJhbnNwYXJlbmN5LnZhbHVlKCksdD0oMCx1LmlzTnVtYmVyKSh0KT90OjQwKSx0fV91cGRhdGVJbXBsKCl7dGhpcy5faXRlbXM9W10sKDAsaC5hc3NlcnQpKHRoaXMuX3NjYWxlc1JlYWR5KCksIlNjYWxlcyBtdXN0IGJlIHJlYWR5ISIpO2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1lKXJldHVybjtjb25zdCB0PXRoaXMuX2dldFRyYW5zcFZhbHVlKCk7bGV0IHM9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUuZmlyc3RCYXIoKSxTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RSaWdodCkpLGk9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zZXJpZXMubmVhcmVzdEluZGV4KGUubGFzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdExlZnQpKTtjb25zdCByPXRoaXMuX3N0dWR5Lm9mZnNldCh0aGlzLl9wbG90TmFtZSk7cj4wPyhzLT1yLGkrPXIpOihzKz1yLGktPXIpO2NvbnN0IG49dGhpcy5fc3R1ZHkuZ2V0TWluRmlyc3RCYXJJbmRleEZvclBsb3QodGhpcy5fcGxvdE5hbWUpO2lmKG4+aSlyZXR1cm47cz1NYXRoLm1heChuLHMpO2NvbnN0IGE9dGhpcy5fc3R1ZHkuZGF0YSgpO2Zvcihjb25zdCBlIG9mIGEucmFuZ2VJdGVyYXRvcihzLGkpKXtsZXQgcz1lLmluZGV4O2NvbnN0IGk9ZS52YWx1ZTtzKz1yO2NvbnN0IG49e3RpbWVQb2ludEluZGV4Ok1hdGguZmxvb3IocyksbGVmdDpOYU4sY2VudGVyOk5hTixyaWdodDpOYU59O2xldCBhPSgwLHUuaXNOdW1iZXIpKHQpP3Q6NTA7YT1NYXRoLm1pbihhLDEwMCksYT1NYXRoLm1heChhLDApO2NvbnN0IG89dGhpcy5fY29sb3JQcm92aWRlci5nZXRQbG90UG9pbnRTdHlsZShpKTt2b2lkIDAhPT1vLmNvbG9yc1sxXSYmKG4uY29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKSgoMCxoLmVuc3VyZURlZmluZWQpKG8uY29sb3JzWzFdKSxhKSksdGhpcy5faXRlbXMucHVzaChuKX10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5maWxsQmFyQm9yZGVycyh0aGlzLl9pdGVtcyl9fQp2YXIgTGU9cygyODQ4MzEpLEhlPXMoNTkwNDIzKSxVZT1zKDM3MDYyMiksV2U9cyg1ODk1MTEpLEdlPXMoNjE5MTY1KSxqZT1zKDI1MDQ2NyksemU9cyg2NDA3NDQpLCRlPXMoMTQzOTMyKSxLZT1zKDk3MDQzNCkscWU9cyg2NTE5NjYpLEplPXMoMzMwODYxKSxZZT1zKDMwMjQ2OSksWmU9cyg3NDc0NjUpLFhlPXMoNTQ0MjQzKSxRZT1zKDE2ODQ4NyksZXQ9cyg0MDc1ODQpLHR0PXMoMTE4NzUyKSxzdD1zKDM2MzMyNiksaXQ9cygzMDMyNzApO2NvbnN0IHJ0PW5ldyBNYXA7cnQuc2V0KCJQYW5lUmVuZGVyZXJBcnJvd1VwIixxZS5QYW5lUmVuZGVyZXJBcnJvd1VwKSxydC5zZXQoIlBhbmVSZW5kZXJlckFycm93RG93biIscWUuUGFuZVJlbmRlcmVyQXJyb3dEb3duKSxydC5zZXQoIlBhbmVSZW5kZXJlckNpcmNsZVNoYXBlIixKZS5QYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJDcm9zc1NoYXBlIixZZS5QYW5lUmVuZGVyZXJDcm9zc1NoYXBlKSxydC5zZXQoIlBhbmVSZW5kZXJlckRpYW1vbmQiLFplLlBhbmVSZW5kZXJlckRpYW1vbmQpLHJ0LnNldCgiUGFuZVJlbmRlcmVyRmxhZ1NoYXBlIixYZS5QYW5lUmVuZGVyZXJGbGFnU2hhcGUpLHJ0LnNldCgiUGFuZVJlbmRlcmVyTGFiZWxVcCIsUWUuUGFuZVJlbmRlcmVyTGFiZWxVcCkscnQuc2V0KCJQYW5lUmVuZGVyZXJMYWJlbERvd24iLFFlLlBhbmVSZW5kZXJlckxhYmVsRG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJTcXVhcmUiLGV0LlBhbmVSZW5kZXJlclNxdWFyZSkscnQuc2V0KCJQYW5lUmVuZGVyZXJUcmlhbmdsZUFwZXhVcCIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4VXApLHJ0LnNldCgiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIsdHQuUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93bikscnQuc2V0KCJQYW5lUmVuZGVyZXJYQ3Jvc3MiLHN0LlBhbmVSZW5kZXJlclhDcm9zcyk7Y2xhc3MgbnQgZXh0ZW5kcyBpdC5TdHVkeVBhbmVWaWV3SW5wbGFjZVVwZGF0YWJsZXtjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fcmVuZGVyZXI9bnVsbCx0aGlzLl9zaGFwZXNSZW5kZXJlcj1udWxsLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW51bGwsdGhpcy5faXNNYXJrZXJzRW5hYmxlZD0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzb3VyY2Vfc2VsZWN0aW9uX21hcmtlcnMiKSx0aGlzLl9zdHVkeT1lO2NvbnN0IHI9ZS5tZXRhSW5mbygpLnBsb3RzO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0uaWQ9PT10aGlzLl9wbG90TmFtZSl7dGhpcy5fcGxvdEluZGV4PWU7YnJlYWt9dGhpcy5fcGxvdFN0eWxlSW5mbz0oMCxoLmVuc3VyZURlZmluZWQpKGUubWV0YUluZm8oKS5zdHlsZXM/Llt0aGlzLl9wbG90TmFtZV0pLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsa2UuY3JlYXRlU3R1ZHlQbG90Q29sb3JQcm92aWRlcikoZS5tZXRhSW5mbygpLGUucHJvcGVydGllcygpLGkpLHRoaXMuX3NlbGVjdGlvbkluZGV4ZXI9bmV3ICRlLlNlbGVjdGlvbkluZGV4ZXMocy50aW1lU2NhbGUoKSl9aXRlbXMoKXtyZXR1cm4gdGhpcy5faXRlbXN9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faXNQbG90VmlzaWJsZSgpJiZ0aGlzLl9zY2FsZXNSZWFkeSgpPyh0aGlzLl9tYWtlU3VyZVJlbmRlcmVySXNWYWxpZCgpLHRoaXMuX3JlbmRlcmVyKTpudWxsfV9pc1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxqZS5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpfV9zY2FsZXNSZWFkeSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwudGltZVNjYWxlKCksdD10aGlzLl9wcmljZVNjYWxlKCk7cmV0dXJuIG51bGwhPT10JiYhZS5pc0VtcHR5KCkmJiF0LmlzRW1wdHkoKX1fdXBkYXRlSW1wbEZ1bGwoZSl7aWYodGhpcy5fZGF0YUludmFsaWRhdGVkPy5jbGVhckRhdGEmJih0aGlzLl9pdGVtcz1bXSx0aGlzLl9yZW5kZXJlcj1udWxsKSwhdGhpcy5fc2NhbGVzUmVhZHkoKSlyZXR1cm4hMTtjb25zdCB0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLHM9dGhpcy5fcHJpY2VTY2FsZSgpLGk9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PWl8fG51bGw9PT1zKXJldHVybiExO2NvbnN0IHI9dGhpcy5fc3R1ZHkucGxvdHMoKS5wbG90dGFibGVSYW5nZSghMSk7aWYoMD09PXIuc2l6ZSgpKXJldHVybiExO2NvbnN0IG49dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSxhPXRoaXMuX3N0dWR5LmZpcnN0VmFsdWUodm9pZCAwLHRoaXMuaXNGb3JjZU92ZXJsYXkoKSk7aWYobnVsbD09PWEpcmV0dXJuITE7dGhpcy5fdXBkYXRlQWRkaXRpb25hbFByaWNlcyhzLGEpO2NvbnN0e2hpUGxvdDpvLGxvUGxvdDpsfT10aGlzLl9oaUxvUGxvdHMoKSx1PXRoaXMuX3ByZWFsbG9jYXRlSXRlbXMociwoKGUsdCk9PnRoaXMuX2NyZWF0ZUl0ZW0oZSx0Pz9udWxsLG8sbCxuKSkpO2xldCBjPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KSxkPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgoaS5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09Y3x8dm9pZCAwPT09ZClyZXR1cm4hMTtuPjA/KGMtPW4sZCs9bik6KGMrPW4sZC09bik7Y29uc3QgXz10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYoXz5kKXJldHVybiEwO2M9TWF0aC5tYXgoXyxjKTtjb25zdCBmPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksbT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSx5PW0uY29sb3IudmFsdWUoKSxnPW0udGV4dENvbG9yP20udGV4dENvbG9yLnZhbHVlKCk6dm9pZCAwLGI9eSx2PXksUD12b2lkIDA9PT1nP3ZvaWQgMDpnLEk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9wbG90SW5kZXgpLHc9KDAsS2UuY3JlYXRlRW1wdHlTdHlsZSkoKSxDPXU/PygwLApoLmVuc3VyZU5vdE51bGwpKHIuZmlyc3RJbmRleCgpKSxWPXIucmFuZ2VJdGVyYXRvcihDLCgwLGguZW5zdXJlTm90TnVsbCkoci5sYXN0SW5kZXgoKSkrMSk7bGV0IHg9KDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyxDK24sKChlLHQpPT5lLnRpbWVQb2ludEluZGV4PHQpKTtmb3IoY29uc3QgZSBvZiBWKXtjb25zdCB0PWUudmFsdWUscz10W0krMV07aWYobnVsbD09cyl7eCsrO2NvbnRpbnVlfWNvbnN0IGk9dGhpcy5faXRlbXNbeF07aWYoIWlzTmFOKGkucHJpY2UpKXtpZih0aGlzLl9jb2xvclByb3ZpZGVyLmlzQ29sb3JEZWZpbmVkKCkpe2kuc3R5bGU9e2NvbG9yOmIsYm9yZGVyQ29sb3I6dix0ZXh0Q29sb3I6UH07Y29uc3QgZT10aGlzLl9jb2xvclByb3ZpZGVyLmdldFBsb3RQb2ludFN0eWxlKHQsdyk7dGhpcy5fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShpLGUsZil9fXgrK31yZXR1cm4gdGhpcy5fdXBkYXRlSW1wbExpZ2h0KCksITB9X2ZpbGxJdGVtV2l0aFBvaW50U3R5bGUoZSx0LHMpe2NvbnN0IGk9KDAsaC5lbnN1cmVEZWZpbmVkKShlLnN0eWxlKTtpZih2b2lkIDAhPT10LmNvbG9yc1swXSl7aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKCgwLGguZW5zdXJlRGVmaW5lZCkodC5jb2xvcnNbMF0pLHMpO2NvbnN0IGU9cz45P3MtMTA6MDtpLmJvcmRlckNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoaS5jb2xvcixlKX12b2lkIDAhPT10LmNvbG9yc1syXSYmKGkudGV4dENvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1syXSkscykpfV91cGRhdGVSZW5kZXJlcihlLHQpe3RoaXMuX21ha2VTdXJlUmVuZGVyZXJJc1ZhbGlkKCk7Y29uc3Qgcz10aGlzLl9tb2RlbC50aW1lU2NhbGUoKSxpPXt9LHI9dGhpcy5fZ2V0VHJhbnNwVmFsdWUoKSxuPXMuYmFyU3BhY2luZygpLGE9dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQobiksbz10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxsPW8ubG9jYXRpb24udmFsdWUoKSxoPXRoaXMuX2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGwsYSthLzIpO2kuYmFyU3BhY2luZz1uLGkuaXRlbXM9dGhpcy5faXRlbXMsaS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKG8uY29sb3IudmFsdWUoKSxyKSxpLmhlaWdodD1hLGkudmVydE9mZnNldD1oLGkudmlzaWJsZUl0ZW1zUmFuZ2U9e3N0YXJ0SXRlbUluZGV4OmUsZW5kSXRlbUluZGV4OnR9O2NvbnN0IHU9by5wbG90dHlwZS52YWx1ZSgpLGM9VWUucGxvdFNoYXBlc0RhdGFbdV0sZD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7YyYmKHRoaXMuX3NoYXBlc1JlbmRlcmVyP3RoaXMuX3NoYXBlc1JlbmRlcmVyLnNldERhdGEoaSk6KHRoaXMuX3NoYXBlc1JlbmRlcmVyPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKGMucGFuZVJlbmRlcmVyQ2xhc3MsaSksZC5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJih0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9aCxkLmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpKSx0aGlzLl9yZW5kZXJlcj1kfV9jcmVhdGVSZW5kZXJlcihlLHQpe2NvbnN0IHM9cnQuZ2V0KGUpO3JldHVybiBuZXcoKDAsaC5lbnN1cmVEZWZpbmVkKShzKSkodCl9X2dldFNlcmllc1ZhbChlLHQpe2NvbnN0IHM9KDAsR2UuYmFyRnVuY3Rpb24pKGUpLGk9dGhpcy5fc2VyaWVzLmRhdGEoKS52YWx1ZUF0KHQpO3JldHVybiBudWxsPT09aT9udWxsOnMoaSl9X2dldFRyYW5zcFZhbHVlKCl7bGV0IGU9MDtjb25zdCB0PXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKTt0LnRyYW5zcGFyZW5jeSYmKGU9dC50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApO2NvbnN0IHM9dC5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO3JldHVybiBzLnRyYW5zcGFyZW5jeSYmKGU9cy50cmFuc3BhcmVuY3kudmFsdWUoKSxlPSgwLHUuaXNOdW1iZXIpKGUpP2U6NTApLCgwLHplLmNsYW1wKShlLDAsMTAwKX1fY3JlYXRlSXRlbShlLHQscyxpLHIpe2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxhPXtwcmljZTpOYU4sdGltZVBvaW50SW5kZXg6ZStyfTtpZigobnVsbD09PXR8fDA9PT10KSYmbiE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBhO2lmKG51bGw9PXQpcmV0dXJuIGE7bGV0IG89TmFOO3N3aXRjaChuKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxzLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOntjb25zdCB0PXRoaXMuX2dldExvY2F0aW9uUHJpY2UoZSxpLHIpO2lmKG51bGw9PT10KXJldHVybiBhO289dDticmVha31jYXNlIGIuTWFya0xvY2F0aW9uLkFic29sdXRlOm89KDAsaC5lbnN1cmVOb3ROdWxsKSh0KTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLlRvcDpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpvPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZTogIituKX1yZXR1cm57eTpOYU4scHJpY2U6byx0aW1lUG9pbnRJbmRleDplK3J9fV9kZXBlbmRzT25TZXJpZXNEYXRhKCl7Y29uc3QgZT10aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGVzLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKS5sb2NhdGlvbi52YWx1ZSgpO3JldHVybiBlPT09Yi5NYXJrTG9jYXRpb24uQWJvdmVCYXJ8fGU9PT1iLk1hcmtMb2NhdGlvbi5CZWxvd0Jhcn1fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKXtjb25zdCB0PWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PXQpcmV0dXJuIG51bGwKO2NvbnN0IHM9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKTtpZigwPT09dCYmcyE9PWIuTWFya0xvY2F0aW9uLkFic29sdXRlKXJldHVybiBudWxsO2NvbnN0IGk9dGhpcy5fc3R1ZHkub2Zmc2V0KHRoaXMuX3Bsb3ROYW1lKSx7aGlQbG90OnIsbG9QbG90Om59PXRoaXMuX2hpTG9QbG90cygpO3N3aXRjaChzKXtjYXNlIGIuTWFya0xvY2F0aW9uLkFib3ZlQmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgscixpKTtjYXNlIGIuTWFya0xvY2F0aW9uLkJlbG93QmFyOnJldHVybiB0aGlzLl9nZXRMb2NhdGlvblByaWNlKGUuaW5kZXgsbixpKX1yZXR1cm4gc3VwZXIuX2dldFZhbHVlRm9yVXBkYXRpbmcoZSl9X2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXMoZSx0LHMsaSl7dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuZmlsbEJhckJvcmRlcnModGhpcy5faXRlbXMpO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxuPWUuaGVpZ2h0KCkqZS50b3BNYXJnaW4oKSxhPWUuaGVpZ2h0KCkqKDEtZS5ib3R0b21NYXJnaW4oKSksbz1lLmlzSW52ZXJ0ZWQoKSxsPW8/YTpuLGg9bz9uOmEsdT1lPT57Zm9yKGxldCB0PXM7dDxpO3QrKylpc05hTih0aGlzLl9pdGVtc1t0XS5wcmljZSl8fCh0aGlzLl9pdGVtc1t0XS55PWUpfTtzd2l0Y2gocil7Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6dShsKTticmVhaztjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTp1KGgpO2JyZWFrO2RlZmF1bHQ6ZS5maWxsWUNvb3JkaW5hdGVzKHRoaXMuX2l0ZW1zLHQse3N0YXJ0SXRlbUluZGV4OnMsZW5kSXRlbUluZGV4Oml9KX19X2NhbGN1bGF0ZVZlcnRpY2FsT2Zmc2V0KGUsdCl7bGV0IHM9MDtzd2l0Y2goZSl7Y2FzZSBiLk1hcmtMb2NhdGlvbi5BYm92ZUJhcjpjYXNlIGIuTWFya0xvY2F0aW9uLkJvdHRvbTpzPS10O2JyZWFrO2Nhc2UgYi5NYXJrTG9jYXRpb24uQmVsb3dCYXI6Y2FzZSBiLk1hcmtMb2NhdGlvbi5Ub3A6cz10fXJldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fcHJpY2VTY2FsZSgpKS5pc0ludmVydGVkKCkmJihzKj0tMSksc31fY2FsY3VsYXRlU2hhcGVIZWlnaHQoZSx0KXtsZXQgcz1lO3N3aXRjaCh0KXtjYXNlIFdlLlBsb3RTeW1ib2xTaXplLlRpbnk6cz0uMyplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuU21hbGw6cz0uNiplO2JyZWFrO2Nhc2UgV2UuUGxvdFN5bWJvbFNpemUuTm9ybWFsOnM9ZTticmVhaztjYXNlIFdlLlBsb3RTeW1ib2xTaXplLkxhcmdlOnM9MS41KmU7YnJlYWs7Y2FzZSBXZS5QbG90U3ltYm9sU2l6ZS5IdWdlOnM9MiplfXJldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4wJiYocz10KSxzfV9oaUxvUGxvdHMoKXtsZXQgZSx0O2xldCBzPW51bGw7c3dpdGNoKHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3R5bGUudmFsdWUoKSl7Y2FzZSAyOnM9ImxpbmVTdHlsZSI7YnJlYWs7Y2FzZSAxNDpzPSJsaW5lV2l0aE1hcmtlcnNTdHlsZSI7YnJlYWs7Y2FzZSAxNTpzPSJzdGVwbGluZVN0eWxlIjticmVhaztjYXNlIDM6cz0iYXJlYVN0eWxlIn1yZXR1cm4gcz8oZT10aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpW3NdLmNoaWxkcygpLnByaWNlU291cmNlLnZhbHVlKCksdD1lKTooZT0iaGlnaCIsdD0ibG93Iikse2hpUGxvdDplLGxvUGxvdDp0fX1fZ2V0TG9jYXRpb25QcmljZShlLHQscyl7Y29uc3QgaT1NYXRoLm1pbihlK3MsKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuZGF0YSgpLmxhc3QoKSkuaW5kZXgpO3JldHVybiB0aGlzLl9nZXRTZXJpZXNWYWwodCxpKX19Y2xhc3MgYXQgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscj17fSxuPXRoaXMuX2dldFRyYW5zcFZhbHVlKCksYT1pLmJhclNwYWNpbmcoKTtsZXQgbztvPXRoaXMuX3Bsb3RTdHlsZUluZm8uc2l6ZT90aGlzLl9jYWxjdWxhdGVTaGFwZUhlaWdodCgyNSx0aGlzLl9wbG90U3R5bGVJbmZvLnNpemUpOk1hdGgucm91bmQoYS8yKSxvPU1hdGgubWF4KG8sMSk7Y29uc3QgbD1zLmxvY2F0aW9uLnZhbHVlKCksaD0oMCxMLmdlbmVyYXRlQ29sb3IpKHMuY29sb3IudmFsdWUoKSxuKSx1PW4+MTk/bi0xMDowLGM9dGhpcy5fY2FsY3VsYXRlVmVydGljYWxPZmZzZXQobCxNYXRoLnJvdW5kKDEuNSpvKSk7ci5iYXJTcGFjaW5nPWEsci5pdGVtcz10aGlzLml0ZW1zKCksci5jb2xvcj1oLHIuYm9yZGVyQ29sb3I9KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9yLnZhbHVlKCksdSksci5oZWlnaHQ9byxyLnZlcnRPZmZzZXQ9YyxyLnZpc2libGVJdGVtc1JhbmdlPXtzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fTtjb25zdCBkPXMucGxvdHR5cGUudmFsdWUoKSxwPVVlLnBsb3RTaGFwZXNEYXRhW2RdLF89dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0O2lmKHZvaWQgMCE9PV8mJiIiIT09Xy50cmltKCkpe2xldCBlPV8ucmVwbGFjZSgvXFxuL2dtLCJcbiIpO2U9KDAsTGUuY2xlYW5CdXRBbXBlcnNhbmQpKGUsITApLHIudGV4dD1lLHIuZm9udFNpemU9MTI7Y29uc3QgdD1zLnRleHRDb2xvcj9zLnRleHRDb2xvci52YWx1ZSgpOnZvaWQgMDtyLnRleHRDb2xvcj10PygwLEwuZ2VuZXJhdGVDb2xvcikodCxuKTpofWlmKHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9zaGFwZXNSZW5kZXJlciYmdGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpdGhpcy5fc2hhcGVzUmVuZGVyZXIuc2V0RGF0YShyKSwKdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSkmJnRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhPyh0aGlzLl9zZWxlY3Rpb25EYXRhLnZlcnRPZmZzZXQ9Yyx0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKHRoaXMuX3NlbGVjdGlvbkRhdGEpKTp0aGlzLl9zZWxlY3Rpb25SZW5kZXJlci5zZXREYXRhKG51bGwpO2Vsc2V7Y29uc3QgZT1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7dGhpcy5fc2hhcGVzUmVuZGVyZXI9c3VwZXIuX2NyZWF0ZVJlbmRlcmVyKHAucGFuZVJlbmRlcmVyQ2xhc3MsciksZS5hcHBlbmQodGhpcy5fc2hhcGVzUmVuZGVyZXIpLHRoaXMuX3NlbGVjdGlvblJlbmRlcmVyPW5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhPz92b2lkIDApLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhP3RoaXMuX3NlbGVjdGlvbkRhdGEudmVydE9mZnNldD1jOnRoaXMuX3NlbGVjdGlvblJlbmRlcmVyLnNldERhdGEobnVsbCksZS5hcHBlbmQodGhpcy5fc2VsZWN0aW9uUmVuZGVyZXIpLHRoaXMuX3JlbmRlcmVyPWV9fX12YXIgb3QsbHQ9cyg5NTM2NjApLGh0PXMubihsdCksdXQ9cyg3MzY1MzEpLGN0PXMoNTkwODk0KSxkdD1zKDg3NDEzNSkscHQ9cyg3NjMpLF90PXMoNjA0MjE0KSxmdD1zKDgyMjcyNiksbXQ9cyg5MjYxNDkpLHl0PXMoMTUxMjEpOyFmdW5jdGlvbihlKXtlW2UuU2ltcGxpZmllZFBhaW50aW5nTWF4Rm9udFNpemU9NF09IlNpbXBsaWZpZWRQYWludGluZ01heEZvbnRTaXplIn0ob3R8fChvdD17fSkpO2NsYXNzIGd0IGV4dGVuZHMgZHQuUGFuZVJlbmRlcmVyQWJzdHJhY3RTaGFwZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKG51bGwsdCksdGhpcy5fdGV4dFdpZHRoQ2FjaGU9bmV3IGZ0LlRleHRXaWR0aENhY2hlLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0wLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHk9dm9pZCAwLHRoaXMuX2NoPSIiLG51bGwhPT1lJiZ0aGlzLnNldERhdGEoZSl9c2V0RGF0YShlKXtzdXBlci5zZXREYXRhKGUpLHRoaXMuX2ZvbnRTaXplRW5zdXJlZD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2hlaWdodCksdGhpcy5fY3VzdG9tRm9udEZhbWlseT1lLmZvbnRGYW1pbHk7Y29uc3QgdD1lLmNoYXIuc2xpY2UoMCw0MCk7dGhpcy5fY2g9aHQoKSh0KVswXXx8IiAifWhpdFRlc3QoZSl7Y29uc3QgdD0oMCxfdC5pbnRlcmFjdGlvblRvbGVyYW5jZSkoKS5zZXJpZXMrdGhpcy5fZm9udFNpemVFbnN1cmVkLzI7Zm9yKGNvbnN0IHMgb2YgdGhpcy5faXRlbXMpe2lmKG5ldyB1dC5Qb2ludChzLmNlbnRlcixzLnkrcy52ZXJ0T2Zmc2V0KS5zdWJ0cmFjdChlKS5sZW5ndGgoKTw9dClyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SXRlbVNoYXBlKGUsdCl7Y29uc3Qgcz10LmNlbnRlcixpPXQudmVydE9mZnNldD4wPzE6LTEscj1NYXRoLnRydW5jKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC82KSxuPXQueSt0LnZlcnRPZmZzZXQtaSpNYXRoLnJvdW5kKHRoaXMuX2ZvbnRTaXplRW5zdXJlZC8yKSsoaT4wP3I6LXRoaXMuX2ZvbnRTaXplRW5zdXJlZCk7bGV0IGE7YT10LnN0eWxlJiZ2b2lkIDAhPT10LnN0eWxlLmNvbG9yP3Quc3R5bGUuY29sb3I6dGhpcy5fY29sb3I7Y29uc3R7Y29udGV4dDpvLGhvcml6b250YWxQaXhlbFJhdGlvOmwsdmVydGljYWxQaXhlbFJhdGlvOmh9PWUsdT0oMCxjdC5tYWtlRm9udCkodGhpcy5fZm9udFNpemVFbnN1cmVkLHRoaXMuX2N1c3RvbUZvbnRGYW1pbHl8fG10LkNIQVJUX0ZPTlRfRkFNSUxZX1dWLnZhbHVlKCkpO28uZm9udCE9PXUmJihvLmZvbnQ9dSk7Y29uc3QgYz10aGlzLl90ZXh0V2lkdGhDYWNoZS5tZWFzdXJlVGV4dChvLHRoaXMuX2NoKTtpZih0aGlzLl9mb250U2l6ZUVuc3VyZWQ8PTQvbCl7by5zYXZlKCk7Y29uc3QgZT1NYXRoLm1heCgxLE1hdGguZmxvb3IobCkpO2xldCBpPU1hdGgubWF4KDEsTWF0aC5mbG9vcihjKmwpKTtpJTIhPWUlMiYmKGkrPWk+MT8tMToxKTtjb25zdCByPU1hdGgucm91bmQobipoKSsodC52ZXJ0T2Zmc2V0Pj0wPzA6LWkpO3JldHVybiBvLmZpbGxTdHlsZT1hLG8uZmlsbFJlY3QoTWF0aC5yb3VuZChzKmwpKyhsJTI/LjU6MCktaS8yLHIsaSxpKSx2b2lkIG8ucmVzdG9yZSgpfSgwLHl0LmRyYXdTY2FsZWQpKG8sbCxoLCgoKT0+e28uZmlsbFN0eWxlPWEsby50ZXh0QWxpZ249ImNlbnRlciIsby50ZXh0QmFzZWxpbmU9InRvcCIsby5maWxsVGV4dCh0aGlzLl9jaCxzLG4pfSkpfV9zdGFydFBhdGgoZSx0LHMpe31fZW5kUGF0aChlKXt9fWNsYXNzIFN0IGV4dGVuZHMgbnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2NoYXJSZW5kZXJlcj1uZXcgZ3QobnVsbCl9X3VwZGF0ZVJlbmRlcmVyKGUsdCl7Y29uc3Qgcz10aGlzLl9nZXRUcmFuc3BWYWx1ZSgpLGk9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpO2xldCByO2NvbnN0IG49dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCk7cj10aGlzLl9wbG90U3R5bGVJbmZvLnNpemU/dGhpcy5fY2FsY3VsYXRlU2hhcGVIZWlnaHQoNTAsdGhpcy5fcGxvdFN0eWxlSW5mby5zaXplKTpNYXRoLnJvdW5kKGkpO2NvbnN0IGE9bi5sb2NhdGlvbi52YWx1ZSgpLG89KDAsTC5nZW5lcmF0ZUNvbG9yKShuLmNvbG9yLnZhbHVlKCkscyksbD10aGlzLl9jYWxjdWxhdGVWZXJ0aWNhbE9mZnNldChhLHIpLHU9e2l0ZW1zOnRoaXMuaXRlbXMoKSxiYXJTcGFjaW5nOmksY2hhcjooMCxoLmVuc3VyZURlZmluZWQpKG4uY2hhcj8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5jaGFyKSxoZWlnaHQ6cix2ZXJ0T2Zmc2V0OmwsY29sb3I6byx2aXNpYmxlSXRlbXNSYW5nZTp7c3RhcnRJdGVtSW5kZXg6ZSxlbmRJdGVtSW5kZXg6dH19LGM9dGhpcy5fcGxvdFN0eWxlSW5mby50ZXh0CjtpZih2b2lkIDAhPT1jJiYiIiE9PWMudHJpbSgpKXtsZXQgZT1jLnJlcGxhY2UoL1xcbi9nbSwiXG4iKTtlPSgwLExlLmNsZWFuQnV0QW1wZXJzYW5kKShlLCEwKSx1LnRleHQ9ZSx1LmZvbnRTaXplPTEyO2NvbnN0IHQ9bi50ZXh0Q29sb3I/bi50ZXh0Q29sb3IudmFsdWUoKTp2b2lkIDA7dS50ZXh0Q29sb3I9dD8oMCxMLmdlbmVyYXRlQ29sb3IpKHQscyk6b310aGlzLl9jaGFyUmVuZGVyZXIuc2V0RGF0YSh1KTtjb25zdCBkPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtkLmFwcGVuZCh0aGlzLl9jaGFyUmVuZGVyZXIpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJm51bGwhPT10aGlzLl9zZWxlY3Rpb25EYXRhJiYodGhpcy5fc2VsZWN0aW9uRGF0YS52ZXJ0T2Zmc2V0PWwsZC5hcHBlbmQobmV3IEhlLlNlbGVjdGlvblJlbmRlcmVyKHRoaXMuX3NlbGVjdGlvbkRhdGEpKSksdGhpcy5fcmVuZGVyZXI9ZH19dmFyIGJ0PXMoMTM0NjcpO2NsYXNzIHZ0e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3RoaXMubGVmdD1OYU4sdGhpcy5jZW50ZXI9TmFOLHRoaXMucmlnaHQ9TmFOLHRoaXMueT1OYU4sdGhpcy5oZWlnaHQ9TmFOLHRoaXMudGltZVBvaW50SW5kZXg9ZSx0aGlzLnByaWNlPXQsdGhpcy5vcmlnSGVpZ2h0PXMsdGhpcy5pc1VwPWksdGhpcy5zdHlsZT17fX19ZnVuY3Rpb24gUHQoZSl7cmV0dXJuIE1hdGgucm91bmQoZS80KX1mdW5jdGlvbiBJdChlKXtyZXR1cm4gTWF0aC5yb3VuZChlLzIpfWNsYXNzIHd0IGV4dGVuZHMgT2UuQml0bWFwQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLl9kYXRhPWV9aGl0VGVzdChlKXtjb25zdCB0PXRoaXMuX2RhdGEscz1JdCh0LmJhclNwYWNpbmcpLGk9TWF0aC5yb3VuZChzLzIpLHI9TWF0aC5yb3VuZChzKSxuPVB0KHQuYmFyU3BhY2luZyksYT10LnZpc2libGVJdGVtc1JhbmdlPy5zdGFydEl0ZW1JbmRleD8/MCxvPXQudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/dC5pdGVtcy5sZW5ndGg7aWYoYT49bylyZXR1cm4gbnVsbDtmb3IoY29uc3QgcyBvZiB0Lml0ZW1zLnNsaWNlKGEsbykpe2lmKCFzKWNvbnRpbnVlO2lmKCFOdW1iZXIuaXNGaW5pdGUocy5jZW50ZXIpfHwhTnVtYmVyLmlzRmluaXRlKHMueSkpY29udGludWU7Y29uc3QgdD1NYXRoLmFicyhzLmhlaWdodCksYT1zLmlzVXA/LTE6MSxvPXQrcixsPXMueS1hKm4saD1sLWEqbyx1PXMuY2VudGVyLWksYz1zLmNlbnRlcitpO2lmKHU8ZS54JiZlLng8YyYmKHMuaXNVcD9sPGUueSYmZS55PGg6aDxlLnkmJmUueTxsKSlyZXR1cm4gbmV3IHB0LkhpdFRlc3RSZXN1bHQocHQuSGl0VGFyZ2V0LlJlZ3VsYXIpfXJldHVybiBudWxsfV9kcmF3SW1wbChlKXtjb25zdHtob3Jpem9udGFsUGl4ZWxSYXRpbzp0LHZlcnRpY2FsUGl4ZWxSYXRpbzpzLGNvbnRleHQ6aX09ZSxyPXRoaXMuX2RhdGEsbj1JdChyLmJhclNwYWNpbmcpLGE9UHQoci5iYXJTcGFjaW5nKSxvPW48NCxsPU1hdGgubWF4KG4vMiwxKSxoPSgwLHplLmNlaWxlZEV2ZW4pKG4qdCksdT1oLzIsYz1NYXRoLnJvdW5kKG4qcyk7aS5saW5lQ2FwPSJidXR0IixpLmxpbmVXaWR0aD1NYXRoLm1heCgxLE1hdGguZmxvb3IodCkpO2NvbnN0IGQ9aS5saW5lV2lkdGglMj8uNTowLHA9ci52aXNpYmxlSXRlbXNSYW5nZT8uc3RhcnRJdGVtSW5kZXg/PzAsXz1yLnZpc2libGVJdGVtc1JhbmdlPy5lbmRJdGVtSW5kZXg/P3IuaXRlbXMubGVuZ3RoO2lmKCEocD49XykpZm9yKGNvbnN0IGUgb2Ygci5pdGVtcy5zbGljZShwLF8pKXtpZighTnVtYmVyLmlzRmluaXRlKGUuY2VudGVyKXx8IU51bWJlci5pc0Zpbml0ZShlLnkpKWNvbnRpbnVlO2NvbnN0IG49ZS5pc1VwPy0xOjEscD1NYXRoLnJvdW5kKE1hdGguYWJzKGUuaGVpZ2h0KSpzKSxfPU1hdGgucm91bmQoZS5jZW50ZXIqdCkrZCxmPU1hdGgucm91bmQoKGUueS1uKmEpKnMpK2Q7aS5iZWdpblBhdGgoKSxpLnRyYW5zbGF0ZShfLGYpO2NvbnN0IG09KGUuc3R5bGUmJmUuc3R5bGUuY29sb3IpPz8oZS5pc1VwP3IuY29sb3J1cDpyLmNvbG9yZG93bik7bz8oaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygtdSwtdSpuKSxpLm1vdmVUbygwLDApLGkubGluZVRvKHUsLXUqbiksaS5tb3ZlVG8oMCwwKSxpLmxpbmVUbygwLC1wKm4pLGkubW92ZVRvKC11LC1wKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lV2lkdGg9bCxpLnN0cm9rZVN0eWxlPW0saS5zdHJva2UoKSk6KGkubW92ZVRvKDAsMCkscDxjPyhpLmxpbmVUbyhoLC1wKm4pLGkubGluZVRvKC1oLC1wKm4pKTooaS5saW5lVG8oaCwtYypuKSxpLmxpbmVUbyh1LC1jKm4pLGkubGluZVRvKHUsLXAqbiksaS5saW5lVG8oLXUsLXAqbiksaS5saW5lVG8oLXUsLWMqbiksaS5saW5lVG8oLWgsLWMqbikpLGkubGluZVRvKDAsMCksaS5zdHJva2VTdHlsZT1lLmlzVXA/ci5jb2xvckJvcmRlclVwOnIuY29sb3JCb3JkZXJEb3duLGkuc3Ryb2tlKCksaS5maWxsU3R5bGU9bSxpLmZpbGwoKSksaS50cmFuc2xhdGUoLV8sLWYpfX19Y2xhc3MgQ3QgZXh0ZW5kcyBudHtfdXBkYXRlUmVuZGVyZXIoZSx0KXtjb25zdCBzPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLGk9KDAsemUuY2xhbXApKHRoaXMuX2dldFRyYW5zcFZhbHVlKCksMCwxMDApLHI9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkuYmFyU3BhY2luZygpLG49KDAsTC5nZW5lcmF0ZUNvbG9yKShzLmNvbG9ydXAudmFsdWUoKSxpKSxhPSgwLEwuZ2VuZXJhdGVDb2xvcikocy5jb2xvcmRvd24udmFsdWUoKSxpKSxvPSgwLGJ0LnBhcnNlUmdiYSkobiksbD1vPzEwMCooMS1vWzNdKTowLGg9KDAsYnQucGFyc2VSZ2JhKShhKSx1PWg/MTAwKigxLWhbM10pOjAsYz17aXRlbXM6dGhpcy5faXRlbXMsYmFyU3BhY2luZzpyLGNvbG9ydXA6bixjb2xvcmRvd246YSxjb2xvckJvcmRlclVwOigwLEwuZ2VuZXJhdGVDb2xvcikoIiMwMDAwMDAiLGwpLGNvbG9yQm9yZGVyRG93bjooMCxMLmdlbmVyYXRlQ29sb3IpKCIjMDAwMDAwIix1KSxtaW5IZWlnaHQ6dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQsCnZpc2libGVJdGVtc1JhbmdlOntzdGFydEl0ZW1JbmRleDplLGVuZEl0ZW1JbmRleDp0fX07dGhpcy5fdXBkYXRlSXRlbXNIZWlnaHRzKGMpO2NvbnN0IGQ9bmV3IEZlLkNvbXBvc2l0ZVJlbmRlcmVyO2QuYXBwZW5kKG5ldyB3dChjKSksdGhpcy5faXNNYXJrZXJzRW5hYmxlZCYmbnVsbCE9PXRoaXMuX3NlbGVjdGlvbkRhdGEmJmQuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih7Li4udGhpcy5fc2VsZWN0aW9uRGF0YSxiYXJTcGFjaW5nOnIsd2l0aE91dGxpbmU6ITF9KSksdGhpcy5fcmVuZGVyZXI9ZH1fZmlsbEl0ZW1XaXRoUG9pbnRTdHlsZShlLHQscyl7Y29uc3QgaT0oMCxoLmVuc3VyZURlZmluZWQpKGUuc3R5bGUpO2UuaXNVcD92b2lkIDAhPT10LmNvbG9yc1s1XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s1XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9ydXAudmFsdWUoKSxzKTp2b2lkIDAhPT10LmNvbG9yc1s2XT9pLmNvbG9yPSgwLEwuZ2VuZXJhdGVDb2xvcikoKDAsaC5lbnN1cmVEZWZpbmVkKSh0LmNvbG9yc1s2XSkscyk6aS5jb2xvcj0oMCxMLmdlbmVyYXRlQ29sb3IpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLmNvbG9yZG93bi52YWx1ZSgpLHMpfV9nZXRWYWx1ZUZvclVwZGF0aW5nKGUpe2NvbnN0IHQ9ZS52YWx1ZVt0aGlzLl9wbG90SW5kZXgrMV07aWYoIXQpcmV0dXJuIG51bGw7Y29uc3Qgcz1lLmluZGV4LGk9dD4wLHtoaVBsb3Q6cixsb1Bsb3Q6bn09dGhpcy5faGlMb1Bsb3RzKCksYT10aGlzLl9zdHVkeS5vZmZzZXQodGhpcy5fcGxvdE5hbWUpLG89TWF0aC5taW4ocythLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KTtpZihpKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChuLG8pO2lmKG51bGwhPT1lKXJldHVybiBlfWVsc2V7Y29uc3QgZT10aGlzLl9nZXRTZXJpZXNWYWwocixvKTtpZihudWxsIT09ZSlyZXR1cm4gZX1yZXR1cm4gbnVsbH1fdXBkYXRlSXRlbShlLHQpe2NvbnN0IHM9dGhpcy5fZ2V0VmFsdWVGb3JVcGRhdGluZyhlKSxpPWUudmFsdWVbdGhpcy5fcGxvdEluZGV4KzFdPjA7cmV0dXJuIHRoaXMuX2l0ZW1zW3RdLnByaWNlPXM/P05hTix0aGlzLl9pdGVtc1t0XS5pc1VwPWksdCsxfV9jcmVhdGVJdGVtKGUsdCxzLGkscil7Y29uc3Qgbj17Y2VudGVyOk5hTixvcmlnSGVpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDplK3IsaXNVcDohMCxoZWlnaHQ6TmFOLHByaWNlOk5hTixsZWZ0Ok5hTixyaWdodDpOYU4seTpOYU59O2lmKCF0KXJldHVybiBuO2NvbnN0IGE9TWF0aC5taW4oZStyLCgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmRhdGEoKS5sYXN0KCkpLmluZGV4KSxvPXQ+MDtsZXQgbDtpZihvKXtjb25zdCBlPXRoaXMuX2dldFNlcmllc1ZhbChpLGEpO2lmKG51bGw9PT1lKXJldHVybiBuO2w9ZX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0U2VyaWVzVmFsKHMsYSk7aWYobnVsbD09PWUpcmV0dXJuIG47bD1lfXJldHVybiBuZXcgdnQoZStyLGwsdCxvKX1fZGVwZW5kc09uU2VyaWVzRGF0YSgpe3JldHVybiEwfV9jb252ZXJ0SXRlbXNUb0Nvb3JkaW5hdGVzKGUsdCxzLGkpe3RoaXMuX2NvbnZlcnRJdGVtc1RvQ29vcmRpbmF0ZXNJbXBsKGUsdCxzLGkpfV9jcmVhdGVTZWxlY3Rpb25EYXRhUG9pbnQoZSx0LHMsaSl7Y29uc3Qgcj10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCksbj1QdChyKSxhPWZ1bmN0aW9uKGUpe3JldHVybiBJdChlKX0ociksbz1zdXBlci5fY3JlYXRlU2VsZWN0aW9uRGF0YVBvaW50KGUsdCxzLGkpLGw9dGhpcy5faXRlbXNbKDAscC5sb3dlcmJvdW5kKSh0aGlzLl9pdGVtcyx0LCgoZSx0KT0+ZS50aW1lUG9pbnRJbmRleDx0KSldO2lmKCFsKXJldHVybiBvO2NvbnN0IGg9bC5pc1VwPzE6LTE7cmV0dXJuey4uLm8scG9pbnQ6by5wb2ludC5hZGQoKDAsdXQucG9pbnQpKDAsaCoobithKSkpfX1fdXBkYXRlSXRlbXNIZWlnaHRzKGUpe2NvbnN0IHQ9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKTtsZXQgcz1NYXRoLmFicygoMCxoLmVuc3VyZURlZmluZWQpKHRbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpLm1pbkhlaWdodD8udmFsdWUoKT8/dGhpcy5fcGxvdFN0eWxlSW5mby5taW5IZWlnaHQpKSxpPU1hdGguYWJzKCgwLGguZW5zdXJlRGVmaW5lZCkodFt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCkubWF4SGVpZ2h0Py52YWx1ZSgpPz90aGlzLl9wbG90U3R5bGVJbmZvLm1heEhlaWdodCkpO2lmKHM+aSl7Y29uc3QgZT1zO3M9aSxpPWV9Y29uc3Qgcj10aGlzLl9pdGVtcyxuPWUudmlzaWJsZUl0ZW1zUmFuZ2U/LnN0YXJ0SXRlbUluZGV4Pz8wLGE9KGUudmlzaWJsZUl0ZW1zUmFuZ2U/LmVuZEl0ZW1JbmRleD8/ci5sZW5ndGgpLTE7bGV0IG89MDtmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLHM9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTtzPm8mJihvPXMpfWNvbnN0IGw9KGktcykvbztmb3IobGV0IGU9bjtlPD1hO2UrKyl7Y29uc3QgdD1yW2VdLGk9TWF0aC5hYnModC5vcmlnSGVpZ2h0KTt0LmhlaWdodD1pKmwrc319fXZhciBWdD1zKDM0ODUxOCkseHQ9cyg1NDQ4NjQpO2NsYXNzIEF0IGV4dGVuZHMgQmUuU3R1ZHlGb3JjZU92ZXJsYXlQbG90Vmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcih0LHMsaSksdGhpcy5fYmFycz1bXSx0aGlzLl9pbnZhbGlkYXRlZD0hMSx0aGlzLl9pc01hcmtlcnNFbmFibGVkPSgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNvdXJjZV9zZWxlY3Rpb25fbWFya2VycyIpLHRoaXMuX3NlbGVjdGlvbkRhdGE9bnVsbCx0aGlzLl9vaGxjUGxvdEluZGV4ZXM9bmV3IE1hcCx0aGlzLl9zdHVkeT1lLHRoaXMuX2NvbG9yUHJvdmlkZXI9KDAsCmtlLmNyZWF0ZVN0dWR5UGxvdENvbG9yUHJvdmlkZXIpKGUubWV0YUluZm8oKSxlLnByb3BlcnRpZXMoKSxpKSx0aGlzLl9zZWxlY3Rpb25JbmRleGVyPW5ldyAkZS5TZWxlY3Rpb25JbmRleGVzKHMudGltZVNjYWxlKCkpO2NvbnN0IHI9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90cztmb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7Y29uc3QgdD1yW2VdOyJ0YXJnZXQiaW4gdCYmKHQudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUmJigoMCxaLmlzT2hsY09wZW5QbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgxLGUpLCgwLFouaXNPaGxjSGlnaFBsb3QpKHQpJiZ0aGlzLl9vaGxjUGxvdEluZGV4ZXMuc2V0KDIsZSksKDAsWi5pc09obGNMb3dQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCgzLGUpLCgwLFouaXNPaGxjQ2xvc2VQbG90KSh0KSYmdGhpcy5fb2hsY1Bsb3RJbmRleGVzLnNldCg0LGUpKSl9fXVwZGF0ZShlKXsiaG92ZXItY2hhbmdlIiE9PWUudHlwZSYmKHRoaXMuX2ludmFsaWRhdGVkPSEwKX1pdGVtcygpe3JldHVybiB0aGlzLl9iYXJzfWlzUGxvdEhpZ2hsaWdodGVkKCl7aWYoIXRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fcGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFycy5sZW5ndGg9MDtjb25zdCBlPXRoaXMuX3ByaWNlU2NhbGUoKSx0PXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpO2lmKHQuaXNFbXB0eSgpfHxudWxsPT09ZXx8ZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IHM9dC52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXMpcmV0dXJuO2xldCBpPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5maXJzdEJhcigpLFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0KTtjb25zdCByPXRoaXMuX3Nlcmllcy5uZWFyZXN0SW5kZXgocy5sYXN0QmFyKCksUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCk7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09cilyZXR1cm47Y29uc3Qgbj10aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdCh0aGlzLl9wbG90TmFtZSk7aWYobj5yKXJldHVybjtpPU1hdGgubWF4KG4saSk7Y29uc3QgYT10aGlzLl9zdHVkeS5kYXRhKCksbz10aGlzLl9zdHVkeS5maXJzdFZhbHVlKHZvaWQgMCx0aGlzLmlzRm9yY2VPdmVybGF5KCkpO2lmKG51bGw9PT1vKXJldHVybjtjb25zdCBsPWEucmFuZ2VJdGVyYXRvcihpLHIpLHU9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zdHVkeS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2hsY1Bsb3RzKS5jaGlsZHMoKVt0aGlzLl9wbG90TmFtZV0uY2hpbGRzKCksYz1uZXcgTWFwLGQ9KGUsdCk9Pntjb25zdCBzPWUrIkAiK3Q7aWYoIWMuaGFzKHMpKXtjb25zdCBpPSgwLEwuZ2VuZXJhdGVDb2xvcikoZSx0KTtyZXR1cm4gYy5zZXQocyxpKSxpfXJldHVybiBjLmdldChzKX0scD0oMCxLZS5jcmVhdGVFbXB0eVN0eWxlKSgpO2Zvcihjb25zdCBlIG9mIGwpe2xldCB0PWUuaW5kZXg7Y29uc3Qgcz1lLnZhbHVlO3Q9TWF0aC5mbG9vcih0KTtsZXQgaT0hMDtjb25zdCByPW5ldyBNYXA7Zm9yKGxldCBlPTE7ZTw9NDsrK2Upe2NvbnN0IHQ9dGhpcy5fb2hsY1Bsb3RJbmRleGVzLmdldChlKTtpZih2b2lkIDA9PT10KXtpPSExO2JyZWFrfWNvbnN0IG49c1t0KzFdO2lmKG51bGw9PW4pe2k9ITE7YnJlYWt9ci5zZXQoZSxuKX1pZighaSljb250aW51ZTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMSkpLGE9KDAsaC5lbnN1cmVEZWZpbmVkKShyLmdldCg0KSksbz0oMCxoLmVuc3VyZURlZmluZWQpKHIuZ2V0KDIpKSxsPSgwLGguZW5zdXJlRGVmaW5lZCkoci5nZXQoMykpLGM9TWF0aC5tYXgobixvLGwsYSksXz1NYXRoLm1pbihuLG8sbCxhKTtsZXQgZj0oMCxoLmVuc3VyZURlZmluZWQpKGQodS5jb2xvci52YWx1ZSgpLDApKTtjb25zdCBtPXRoaXMuX2NvbG9yUHJvdmlkZXIuZ2V0UGxvdFBvaW50U3R5bGUocyxwKTt2b2lkIDAhPT1tLmNvbG9yc1swXSYmKGY9KDAsaC5lbnN1cmVEZWZpbmVkKShtLmNvbG9yc1swXSkpO2NvbnN0IHk9e29wZW46bixoaWdoOmMsbG93Ol8sY2xvc2U6YSxjb2xvcjpmLHdpY2tDb2xvcjptLmNvbG9yc1s0XSxib3JkZXJDb2xvcjptLmNvbG9yc1szXSxob2xsb3c6bnVsbCxjZW50ZXI6TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTix0aW1lUG9pbnRJbmRleDpNYXRoLnJvdW5kKHQpfTt0aGlzLl9iYXJzLnB1c2goeSl9ZS5iYXJQcmljZXNUb0Nvb3JkaW5hdGVzKHRoaXMuX2JhcnMsbyksdC5maWxsQmFyQm9yZGVycyh0aGlzLl9iYXJzKSx0aGlzLl9jcmVhdGVTZWxlY3Rpb24obyx0KX1fY3JlYXRlU2VsZWN0aW9uKGUsdCl7Y29uc3Qgcz10aGlzLl9wcmljZVNjYWxlKCk7aWYobnVsbD09PXMpcmV0dXJuO2lmKHRoaXMuX3NlbGVjdGlvbkRhdGE9e3BvaW50czpbXSxiZ0NvbG9yczpbXSx2aXNpYmxlOiEwLGhpdHRlc3RSZXN1bHQ6eHQuSGl0VGFyZ2V0LlJlZ3VsYXIsYmFyU3BhY2luZzp0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5iYXJTcGFjaW5nKCl9LCF0aGlzLmlzUGxvdEhpZ2hsaWdodGVkKCkmJighdGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzLl9zdHVkeSl8fHRoaXMuX3N0dWR5Lmhhc0hpZ2hsaWdodGVkUGxvdHMoKSkpcmV0dXJuIHZvaWQgdGhpcy5fc2VsZWN0aW9uSW5kZXhlci5jbGVhcigpO2NvbnN0IGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX3N0dWR5KSkuaGVpZ2h0KCkscj0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX29obGNQbG90SW5kZXhlcy5nZXQoNCkpLG49dGhpcy5fc2VsZWN0aW9uSW5kZXhlci5pbmRleGVzKCk7Zm9yKGxldCBhPTA7YTxuLmxlbmd0aDthKyspewpjb25zdCBvPW5bYV0sbD10aGlzLl9zdHVkeS5kYXRhKCkudmFsdWVBdChvKTtpZihudWxsPT09bCljb250aW51ZTtjb25zdCBoPWxbcisxXTtpZihudWxsPT1oKWNvbnRpbnVlO2NvbnN0IHU9dC5pbmRleFRvQ29vcmRpbmF0ZShNYXRoLmZsb29yKG8pKSxjPXMucHJpY2VUb0Nvb3JkaW5hdGUoaCxlKTt0aGlzLl9zZWxlY3Rpb25EYXRhLnBvaW50cy5wdXNoKHtwb2ludDpuZXcgdXQuUG9pbnQodSxjKX0pLHRoaXMuX3NlbGVjdGlvbkRhdGEuYmdDb2xvcnMucHVzaCh0aGlzLl9tb2RlbC5iYWNrZ3JvdW5kQ29sb3JBdFlQZXJjZW50RnJvbVRvcChjL2kpKX19X2lzT0hMQ1Bsb3RWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSl9fWNsYXNzIFJ0IGV4dGVuZHMgQXR7cmVuZGVyZXIoKXtpZighdGhpcy5faXNPSExDUGxvdFZpc2libGUoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgZT17YmFyczp0aGlzLl9iYXJzLGRvbnREcmF3T3Blbjp0aGlzLl9zZXJpZXMucHJvcGVydGllcygpLmNoaWxkcygpLmJhclN0eWxlLmNoaWxkcygpLmRvbnREcmF3T3Blbi52YWx1ZSgpLHRoaW5CYXJzOnRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFyU3R5bGUuY2hpbGRzKCkudGhpbkJhcnMudmFsdWUoKX0sdD1uZXcgRmUuQ29tcG9zaXRlUmVuZGVyZXI7cmV0dXJuIHQuYXBwZW5kKG5ldyBWdC5QYW5lUmVuZGVyZXJCYXJzKGUpKSx0aGlzLl9pc01hcmtlcnNFbmFibGVkJiZ0aGlzLl9zZWxlY3Rpb25EYXRhJiZ0LmFwcGVuZChuZXcgSGUuU2VsZWN0aW9uUmVuZGVyZXIodGhpcy5fc2VsZWN0aW9uRGF0YSkpLHR9fXZhciBNdD1zKDY4OTA4MCk7Y2xhc3MgVHQgZXh0ZW5kcyBBdHtyZW5kZXJlcigpe2lmKCF0aGlzLl9pc09ITENQbG90VmlzaWJsZSgpKXJldHVybiBudWxsO2NvbnN0IGU9dGhpcy5fcHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDt0aGlzLl9pbnZhbGlkYXRlZCYmKHRoaXMuX3VwZGF0ZUltcGwoKSx0aGlzLl9pbnZhbGlkYXRlZD0hMSk7Y29uc3QgdD0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vaGxjUGxvdHMpLmNoaWxkcygpW3RoaXMuX3Bsb3ROYW1lXS5jaGlsZHMoKSxzPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmJhclNwYWNpbmcoKSxpPXtiYXJzOnRoaXMuX2JhcnMsYmFyU3BhY2luZzpzLHdpY2tWaXNpYmxlOnQuZHJhd1dpY2sudmFsdWUoKSxib2R5VmlzaWJsZTohMCxib3JkZXJWaXNpYmxlOnQuZHJhd0JvcmRlci52YWx1ZSgpLGJhcldpZHRoOigwLF90Lm9wdGltYWxCYXJXaWR0aCkocyksYm9yZGVyQ29sb3I6dC5ib3JkZXJDb2xvci52YWx1ZSgpLHdpY2tDb2xvcjp0LndpY2tDb2xvci52YWx1ZSgpLGlzUHJpY2VTY2FsZUludmVydGVkOmUuaXNJbnZlcnRlZCgpfSxyPW5ldyBGZS5Db21wb3NpdGVSZW5kZXJlcjtyZXR1cm4gci5hcHBlbmQobmV3IE10LlBhbmVSZW5kZXJlckNhbmRsZXMoaSkpLHRoaXMuX2lzTWFya2Vyc0VuYWJsZWQmJnRoaXMuX3NlbGVjdGlvbkRhdGEmJnIuYXBwZW5kKG5ldyBIZS5TZWxlY3Rpb25SZW5kZXJlcih0aGlzLl9zZWxlY3Rpb25EYXRhKSkscn19dmFyIER0PXMoMzc2NjQ1KSxGdD1zKDMxNTY1NCksT3Q9cyg3NDM0NyksTnQ9cygyNjA2OSk7Y2xhc3Mga3QgZXh0ZW5kcyBPdC5Ib3Jpem9udGFsTGluZVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmxpbmVzdHlsZT1OdC5MSU5FU1RZTEVfRE9UVEVELHRoaXMuX3N0dWR5PWUsdGhpcy5fcGxvdE5hbWU9dH1fdXBkYXRlSW1wbCgpe3RoaXMuX2xpbmVSZW5kZXJlckRhdGEudmlzaWJsZT0hMTtjb25zdCBlPXRoaXMuX3N0dWR5LnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbdGhpcy5fcGxvdE5hbWVdLmNoaWxkcygpO2lmKCFlLnRyYWNrUHJpY2UudmFsdWUoKXx8IXRoaXMuX3N0dWR5LmlzUGxvdFZpc2libGVBdCh0aGlzLl9wbG90TmFtZSxaLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuUGFuZSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc3R1ZHkubGFzdFZhbHVlRGF0YSh0aGlzLl9wbG90TmFtZSwhMCk7dC5ub0RhdGF8fCh0aGlzLl9saW5lUmVuZGVyZXJEYXRhLnZpc2libGU9ITAsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS55PXQuY29vcmRpbmF0ZSx0aGlzLl9saW5lUmVuZGVyZXJEYXRhLmNvbG9yPXQuY29sb3IsdGhpcy5fbGluZVJlbmRlcmVyRGF0YS5saW5ld2lkdGg9ZS5saW5ld2lkdGgudmFsdWUoKSl9fXZhciBCdD1zKDE2Njk4OCksRXQ9cygyNTQ3MzEpLEx0PXMoODc3MjE3KSxIdD1zKDk5NTI0MCk7Y29uc3QgVXQ9e3R5cGU6MCxjb2xvcjoidHJhbnNwYXJlbnQifTtjbGFzcyBXdCBleHRlbmRzIEx0LkFic3RyYWN0RmlsbGVkQXJlYVBhbmVWaWV3e2NvbnN0cnVjdG9yKGUsdCxzLGkpe3N1cGVyKGUsdCxzKSx0aGlzLl9wYWxldHRlc0luZm89e30sdGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9bnVsbCx0aGlzLl9yZ2JhRnJvbUludGVnZXI9KDAsRXQucmdiYUZyb21JbnRlZ2VyQ2FjaGVkKSgpO2NvbnN0IHI9dGhpcy5fc291cmNlLm1ldGFJbmZvKCk7dGhpcy5faXNSR0I9Qm9vbGVhbihyLmlzUkdCKSx0aGlzLl9pc0hsaW5lRmlsbD0iaGxpbmVfaGxpbmUiPT09cy50eXBlLCgwLGguYXNzZXJ0KSh0aGlzLl9pc0hsaW5lRmlsbHx8InBsb3RfcGxvdCI9PT1zLnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIitzLnR5cGUpLHRoaXMuX2lzSGxpbmVGaWxsJiZ0aGlzLl9pbml0QmFuZEluZGV4ZXMocy5vYmpBSWQscy5vYmpCSWQpLHRoaXMuX2ZpbGxNZXRhSW5mbz1zLHRoaXMuX2ZpbGxTdHlsZVByb3BzPWksdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1pLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09aS5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXsKY29sb3IxOnMudG9wQ29sb3IsY29sb3IyOnMuYm90dG9tQ29sb3IsdmFsdWUxOnMudG9wVmFsdWUsdmFsdWUyOnMuYm90dG9tVmFsdWV9LHRoaXMuX2hhc0FsbEdyYWRpZW50UmVxdWlyZWRQcm9wcz10aGlzLl9ncmFkaWVudEZpbGxUeXBlJiYodm9pZCAwIT09dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjF8fGkuaGFzQ2hpbGQoInRvcENvbG9yIil8fHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUuY29sb3IyfHxpLmhhc0NoaWxkKCJib3R0b21Db2xvciIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxfHxpLmhhc0NoaWxkKCJ0b3BWYWx1ZSIpKSYmKHZvaWQgMCE9PXRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUyfHxpLmhhc0NoaWxkKCJib3R0b21WYWx1ZSIpKTtjb25zdCBuPSgpPT50aGlzLl9jb2xvclBsb3RJbmRleD10aGlzLl9jb2xvclBsb3RJbmRleD8/e3R5cGU6MX07Zm9yKGxldCB0PTA7dDxyLnBsb3RzLmxlbmd0aDsrK3Qpe2NvbnN0IGk9ci5wbG90c1t0XTtpZigoKDAsWi5pc0NvbG9yZXJQbG90KShpKXx8KDAsWi5pc0RhdGFQbG90KShpKSkmJmkudGFyZ2V0PT09cy5pZCl7aWYoKDAsWi5pc0NvbG9yZXJQbG90KShpKSl7bGV0IHM7dm9pZCAwIT09aS50YXJnZXRGaWVsZD8idG9wQ29sb3IiPT09aS50YXJnZXRGaWVsZD8obigpLmNvbG9ySW5kZXhPclJnYmExPXQscz0iY29sb3IxIik6ImJvdHRvbUNvbG9yIj09PWkudGFyZ2V0RmllbGQmJihuKCkuY29sb3JJbmRleE9yUmdiYTI9dCxzPSJjb2xvcjIiKTp0aGlzLl9jb2xvclBsb3RJbmRleD17dHlwZTowLGNvbG9ySW5kZXhPclJnYmE6dH0sKDAsWi5pc1BhbGV0dGVDb2xvcmVyUGxvdCkoaSkmJih0aGlzLl9wYWxldHRlc0luZm9bcz8/ImNvbG9yIl09e21hcDooMCxoLmVuc3VyZURlZmluZWQpKCgwLGguZW5zdXJlRGVmaW5lZCkoci5wYWxldHRlcylbaS5wYWxldHRlXT8udmFsVG9JbmRleCksdmFsdWVzOmUucHJvcGVydGllcygpLnBhbGV0dGVzW2kucGFsZXR0ZV0uY29sb3JzfSl9ZWxzZSgwLFouaXNEYXRhUGxvdCkoaSkmJigidG9wVmFsdWUiPT09aS50YXJnZXRGaWVsZD9uKCkudmFsdWVJbmRleDE9dDoiYm90dG9tVmFsdWUiPT09aS50YXJnZXRGaWVsZCYmKG4oKS52YWx1ZUluZGV4Mj10KSk7aWYoMD09PXRoaXMuX2NvbG9yUGxvdEluZGV4Py50eXBlKWJyZWFrfX19dXBkYXRlKGUpe3N1cGVyLnVwZGF0ZShlKSx0aGlzLl9ncmFkaWVudFByb3BzU3RhdGVDYWNoZT1udWxsfWlzRm9yY2VPdmVybGF5KCl7cmV0dXJuISF0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkodGhpcy5fcGxvdEFJZCgpKX1fZmlyc3RWYWx1ZSgpe2NvbnN0IGU9dGhpcy5pc0ZvcmNlT3ZlcmxheSgpO3JldHVybiB0aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSh2b2lkIDAsZSl9X21pbkZpcnN0QmFySW5kZXgoKXtyZXR1cm4gdGhpcy5fc291cmNlLmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KHRoaXMuX2ZpbGxNZXRhSW5mby5pZCl9X2dldENvbG9yQnlQbG90VmFsdWUoZSl7aWYoMD09PWUudHlwZSl7bGV0IHQ7aWYobnVsbD09ZS5jb2xvckluZGV4T3JSZ2JhKXJldHVybiBudWxsO2lmKHRoaXMuX2lzUkdCKXQ9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYSk7ZWxzZXtjb25zdCBzPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcGFsZXR0ZXNJbmZvLmNvbG9yKSxpPSgwLGguZW5zdXJlRGVmaW5lZCkocy5tYXBbZS5jb2xvckluZGV4T3JSZ2JhXSk7dD1zLnZhbHVlc1tpXT8uY2hpbGRzKCkuY29sb3IudmFsdWUoKX1yZXR1cm57dHlwZTowLGNvbG9yOnR9fWNvbnN0IHQ9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtsZXQgcyxpO2lmKHRoaXMuX2lzUkdCKW51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEmJihzPXRoaXMuX3JnYmFGcm9tSW50ZWdlcihlLmNvbG9ySW5kZXhPclJnYmExKSksbnVsbCE9ZS5jb2xvckluZGV4T3JSZ2JhMiYmKGk9dGhpcy5fcmdiYUZyb21JbnRlZ2VyKGUuY29sb3JJbmRleE9yUmdiYTIpKTtlbHNle2lmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTEpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IxKTtzPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMV0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfWlmKG51bGwhPWUuY29sb3JJbmRleE9yUmdiYTIpe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wYWxldHRlc0luZm8uY29sb3IyKTtpPXQudmFsdWVzWygwLGguZW5zdXJlRGVmaW5lZCkodC5tYXBbZS5jb2xvckluZGV4T3JSZ2JhMl0pXS5jaGlsZHMoKS5jb2xvci52YWx1ZSgpfX1jb25zdCByPWUudmFsdWUxPz90LnZhbHVlMSxuPWUudmFsdWUyPz90LnZhbHVlMjtyZXR1cm4gcz1zPz90LmNvbG9yMSxpPWk/P3QuY29sb3IyLHZvaWQgMD09PXJ8fHZvaWQgMD09PW58fHZvaWQgMD09PXMmJnZvaWQgMD09PWk/bnVsbDp7dHlwZToxLGNvbG9yMTpzLGNvbG9yMjppLHZhbHVlMTpyLHZhbHVlMjpuLGNvb3JkaW5hdGUxOk5hTixjb29yZGluYXRlMjpOYU59fV9wbG90QUlkKCl7cmV0dXJuIHRoaXMuX2ZpbGxNZXRhSW5mby5vYmpBSWR9X3Bsb3RCSWQoKXtyZXR1cm4gdGhpcy5fZmlsbE1ldGFJbmZvLm9iakJJZH1fY29tbW9uQ29sb3IoKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpO2lmKHRoaXMuX2dyYWRpZW50RmlsbFR5cGUpe2lmKCF0aGlzLl9oYXNBbGxHcmFkaWVudFJlcXVpcmVkUHJvcHMpcmV0dXJuIFV0O2NvbnN0IGU9dGhpcy5fZ3JhZGllbnRDb2xvclByb3BzU3RhdGUoKTtyZXR1cm57dHlwZToxLGNvbG9yMTplLmNvbG9yMSxjb2xvcjI6ZS5jb2xvcjIsdmFsdWUxOmUudmFsdWUxLHZhbHVlMjplLnZhbHVlMixjb29yZGluYXRlMTpOYU4sY29vcmRpbmF0ZTI6TmFOfX1yZXR1cm57dHlwZTowLGNvbG9yOmUuY29sb3IudmFsdWUoKX19X3RyYW5zcGFyZW5jeSgpewpyZXR1cm4gdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudHJhbnNwYXJlbmN5Py52YWx1ZSgpPz8wfV92aXNpYmxlKCl7cmV0dXJuIHRoaXMuX2ZpbGxTdHlsZVByb3BzLmNoaWxkcygpLnZpc2libGUudmFsdWUoKX1fcHJpY2VTY2FsZSgpe3JldHVybiB0aGlzLmlzRm9yY2VPdmVybGF5KCk/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpfV9jcmVhdGVBcmVhQmFja2dyb3VuZEl0ZW0oKXtyZXR1cm4gdGhpcy5faXNIbGluZUZpbGw/bmV3IEh0LkFyZWFCYWNrZ3JvdW5kSXRlbSghMSwhMSk6c3VwZXIuX2NyZWF0ZUFyZWFCYWNrZ3JvdW5kSXRlbSgpfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7Y29uc3Qgcz10aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcztpZih2b2lkIDAhPT1zKWZvcihsZXQgaT0wO2k8cy5sZW5ndGg7KytpKXtjb25zdCByPXNbaV07bnVsbCE9PXRoaXMuX2JhbmRBS2V5fHxyLmlkIT09ZT9udWxsPT09dGhpcy5fYmFuZEJLZXkmJnIuaWQ9PT10JiYodGhpcy5fYmFuZEJLZXk9aSk6dGhpcy5fYmFuZEFLZXk9aX19X2dyYWRpZW50Q29sb3JQcm9wc1N0YXRlKCl7aWYobnVsbD09PXRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlKXtjb25zdCBlPXRoaXMuX2ZpbGxTdHlsZVByb3BzLnN0YXRlKCk7dGhpcy5fZ3JhZGllbnRQcm9wc1N0YXRlQ2FjaGU9e2NvbG9yMTp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLmNvbG9yMT8/ZS50b3BDb2xvcixjb2xvcjI6dGhpcy5fZ3JhZGllbnRTdGF0aWNTdGF0ZS5jb2xvcjI/P2UuYm90dG9tQ29sb3IsdmFsdWUxOnRoaXMuX2dyYWRpZW50U3RhdGljU3RhdGUudmFsdWUxPz9lLnRvcFZhbHVlLHZhbHVlMjp0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLnZhbHVlMj8/ZS5ib3R0b21WYWx1ZX19cmV0dXJuIHRoaXMuX2dyYWRpZW50UHJvcHNTdGF0ZUNhY2hlfX12YXIgR3Q9cyg1MzY3MTApLGp0PXMoMTQxMzUwKSx6dD1zKDY1MDQ4MCk7Y2xhc3MgJHR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9saW5lUmVuZGVyZXI9bmV3IHp0Lkhvcml6b250YWxMaW5lUmVuZGVyZXIsdGhpcy5fc291cmNlPXQsdGhpcy5fcG9pbnRzPVtuZXcgdXQuUG9pbnQoLTEsLTEpXSx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9wcm9wZXJ0aWVzPWV9dXBkYXRlKGUpeyJob3Zlci1jaGFuZ2UiIT09ZS50eXBlJiYodGhpcy5faW52YWxpZGF0ZWQ9ITApfXJlbmRlcmVyKCl7dGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpO2NvbnN0IGU9e3k6dGhpcy5fcG9pbnRzWzBdLnksY29sb3I6dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5jb2xvci52YWx1ZSgpLGxpbmV3aWR0aDp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmV3aWR0aC52YWx1ZSgpLGxpbmVzdHlsZTp0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmxpbmVzdHlsZS52YWx1ZSgpfTtyZXR1cm4gdGhpcy5fbGluZVJlbmRlcmVyLnNldERhdGEoZSksdGhpcy5fbGluZVJlbmRlcmVyfV91cGRhdGVJbXBsKCl7Y29uc3QgZT10aGlzLl9zb3VyY2UucHJpY2VTY2FsZSgpO2lmKCFlfHxlLmlzRW1wdHkoKSlyZXR1cm4gdm9pZCh0aGlzLl9wb2ludHNbMF09bmV3IHV0LlBvaW50KC0xLC0xKSk7Y29uc3QgdD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnZhbHVlLnZhbHVlKCkscz10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpLGk9KDAsdS5pc051bWJlcikodCkmJm51bGwhPT1zP2UucHJpY2VUb0Nvb3JkaW5hdGUodCxzKTpOYU47dGhpcy5fcG9pbnRzWzBdPW5ldyB1dC5Qb2ludCgtMSxpKX19dmFyIEt0PXMoNTczMDU0KTtjbGFzcyBxdCBleHRlbmRzIEt0Lk1lZGlhQ29vcmRpbmF0ZXNQYW5lUmVuZGVyZXJ7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX2RhdGE9bnVsbCx0aGlzLl9kYXRhPW51bGx9c2V0RGF0YShlPW51bGwpe3RoaXMuX2RhdGE9ZX1oaXRUZXN0KCl7cmV0dXJuIG51bGx9X2RyYXdJbXBsKGUpe2lmKG51bGw9PT10aGlzLl9kYXRhfHwwPT09dGhpcy5fZGF0YS5wb2ludHMubGVuZ3RoKXJldHVybjtjb25zdCB0PWUuY29udGV4dCxzPWUubWVkaWFTaXplLndpZHRoO2lmKHRoaXMuX2RhdGEuZ3JhZGllbnQpe2NvbnN0IGU9dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLHRoaXMuX2RhdGEuY29vcmRpbmF0ZTEsMCx0aGlzLl9kYXRhLmNvb3JkaW5hdGUyKTtlLmFkZENvbG9yU3RvcCgwLHRoaXMuX2RhdGEuYmFja0NvbG9yMT8/InRyYW5zcGFyZW50IiksZS5hZGRDb2xvclN0b3AoMSx0aGlzLl9kYXRhLmJhY2tDb2xvcjI/PyJ0cmFuc3BhcmVudCIpLHQuZmlsbFN0eWxlPWV9ZWxzZSB0LmZpbGxTdHlsZT10aGlzLl9kYXRhLmJhY2tjb2xvcjtjb25zdCBpPU1hdGgubWluKHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKSxyPU1hdGgubWF4KHRoaXMuX2RhdGEucG9pbnRzWzBdLHRoaXMuX2RhdGEucG9pbnRzWzFdKTt0LmZpbGxSZWN0KDAsaSxzLHItaSl9fWNsYXNzIEp0e2NvbnN0cnVjdG9yKGUpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9pbnZhbGlkYXRlZD0hMCx0aGlzLl9zb3VyY2U9ZX11cGRhdGUoZSl7ImhvdmVyLWNoYW5nZSIhPT1lLnR5cGUmJih0aGlzLl9pbnZhbGlkYXRlZD0hMCl9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7dGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKTtjb25zdCBlPXRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksdD1lLmJhbmRzO2lmKHQuY2hpbGRDb3VudCgpPDIpcmV0dXJuO2NvbnN0IHM9ZS5iYW5kc0JhY2tncm91bmQ7aWYoIXM/LmNoaWxkcygpLmZpbGxCYWNrZ3JvdW5kLnZhbHVlKCkpcmV0dXJuCjtjb25zdCBpPXRbMF0uY2hpbGRzKCkscj10WzFdLmNoaWxkcygpLG49dGhpcy5fc291cmNlLnByaWNlU2NhbGUoKSxhPXRoaXMuX3NvdXJjZS5maXJzdFZhbHVlKCk7aWYoIW58fG4uaXNFbXB0eSgpfHxudWxsPT09YSlyZXR1cm47Y29uc3Qgbz1bbi5wcmljZVRvQ29vcmRpbmF0ZShpLnZhbHVlLnZhbHVlKCksYSksbi5wcmljZVRvQ29vcmRpbmF0ZShyLnZhbHVlLnZhbHVlKCksYSldLGw9KDAsaC5lbnN1cmVEZWZpbmVkKShlLmJhbmRzQmFja2dyb3VuZCkuY2hpbGRzKCksdT0oMCx6ZS5jbGFtcCkobC50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO3RoaXMuX2JhbmRCZ1JlbmRlcmVyLnNldERhdGEoe2dyYWRpZW50OiExLHBvaW50czpvLGJhY2tjb2xvcjooMCxMLmdlbmVyYXRlQ29sb3IpKGwuYmFja2dyb3VuZENvbG9yLnZhbHVlKCksdSl9KX19Y2xhc3MgWXR7Y29uc3RydWN0b3IoZSx0LHMpe3RoaXMuX2JhbmRCZ1JlbmRlcmVyPW5ldyBxdCx0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGwsdGhpcy5faW52YWxpZGF0ZWQ9ITAsdGhpcy5fc291cmNlPWUsKDAsaC5hc3NlcnQpKCJobGluZV9obGluZSI9PT10LnR5cGUsIldyb25nIGZpbGxlZEFyZWEgdHlwZTogIit0LnR5cGUpLHRoaXMuX2luaXRCYW5kSW5kZXhlcyh0Lm9iakFJZCx0Lm9iakJJZCksdGhpcy5fZmlsbFN0eWxlUHJvcHM9cyx0aGlzLl9iYW5kQmdSZW5kZXJlcj1uZXcgcXQsdGhpcy5fZ3JhZGllbnRGaWxsVHlwZT1zLmhhc0NoaWxkKCJmaWxsVHlwZSIpJiYiZ3JhZGllbnQiPT09cy5jaGlsZHMoKS5maWxsVHlwZT8udmFsdWUoKSx0aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlPXtjb2xvcjE6dC50b3BDb2xvcixjb2xvcjI6dC5ib3R0b21Db2xvcix2YWx1ZTE6dC50b3BWYWx1ZSx2YWx1ZTI6dC5ib3R0b21WYWx1ZX19dXBkYXRlKCl7dGhpcy5faW52YWxpZGF0ZWQ9ITB9cmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZWQmJih0aGlzLl91cGRhdGVJbXBsKCksdGhpcy5faW52YWxpZGF0ZWQ9ITEpLHRoaXMuX2JhbmRCZ1JlbmRlcmVyfV91cGRhdGVJbXBsKCl7aWYodGhpcy5fYmFuZEJnUmVuZGVyZXIuc2V0RGF0YShudWxsKSwhdGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybjtpZihudWxsPT09dGhpcy5fYmFuZEFLZXl8fG51bGw9PT10aGlzLl9iYW5kQktleSlyZXR1cm47Y29uc3QgZT0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3NvdXJjZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuYmFuZHMpLHQ9ZS5jaGlsZHMoKVt0aGlzLl9iYW5kQUtleV0uY2hpbGRzKCkscz1lLmNoaWxkcygpW3RoaXMuX2JhbmRCS2V5XS5jaGlsZHMoKSxpPXRoaXMuX3NvdXJjZS5wcmljZVNjYWxlKCkscj10aGlzLl9zb3VyY2UuZmlyc3RWYWx1ZSgpO2lmKCFpfHxpLmlzRW1wdHkoKXx8bnVsbD09PXIpcmV0dXJuO2NvbnN0IG49W2kucHJpY2VUb0Nvb3JkaW5hdGUodC52YWx1ZS52YWx1ZSgpLHIpLGkucHJpY2VUb0Nvb3JkaW5hdGUocy52YWx1ZS52YWx1ZSgpLHIpXSxhPSgwLHplLmNsYW1wKSh0aGlzLl9maWxsU3R5bGVQcm9wcy5jaGlsZHMoKS50cmFuc3BhcmVuY3k/LnZhbHVlKCk/PzAsMCwxMDApO2xldCBvO2NvbnN0IGw9dGhpcy5fZmlsbFN0eWxlUHJvcHMuY2hpbGRzKCk7aWYodGhpcy5fZ3JhZGllbnRGaWxsVHlwZSl7Y29uc3QgZT10aGlzLl9ncmFkaWVudFN0YXRpY1N0YXRlLHQ9bCxzPWUudmFsdWUxPz90LnRvcFZhbHVlPy52YWx1ZSgpLGg9ZS52YWx1ZTI/P3QuYm90dG9tVmFsdWU/LnZhbHVlKCk7aWYodm9pZCAwPT09c3x8dm9pZCAwPT09aClyZXR1cm47Y29uc3QgdT1lLmNvbG9yMT8/dC50b3BDb2xvcj8udmFsdWUoKSxjPWUuY29sb3IyPz90LmJvdHRvbUNvbG9yPy52YWx1ZSgpO2lmKHZvaWQgMD09PXUmJnZvaWQgMD09PWMpcmV0dXJuO289e2dyYWRpZW50OiEwLHBvaW50czpuLGJhY2tDb2xvcjE6dSYmKDAsTC5nZW5lcmF0ZUNvbG9yKSh1LGEpLGJhY2tDb2xvcjI6YyYmKDAsTC5nZW5lcmF0ZUNvbG9yKShjLGEpLGNvb3JkaW5hdGUxOmkucHJpY2VUb0Nvb3JkaW5hdGUocyxyKSxjb29yZGluYXRlMjppLnByaWNlVG9Db29yZGluYXRlKGgscil9fWVsc2Ugbz17Z3JhZGllbnQ6ITEscG9pbnRzOm4sYmFja2NvbG9yOigwLEwuZ2VuZXJhdGVDb2xvcikobC5jb2xvci52YWx1ZSgpLGEpfTt0aGlzLl9iYW5kQmdSZW5kZXJlci5zZXREYXRhKG8pfV9pbml0QmFuZEluZGV4ZXMoZSx0KXt0aGlzLl9iYW5kQUtleT1udWxsLHRoaXMuX2JhbmRCS2V5PW51bGw7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9zb3VyY2UubWV0YUluZm8oKS5iYW5kcykuZm9yRWFjaCgoKHMsaSk9PntudWxsPT09dGhpcy5fYmFuZEFLZXkmJnMuaWQ9PT1lJiYodGhpcy5fYmFuZEFLZXk9aSksbnVsbD09PXRoaXMuX2JhbmRCS2V5JiZzLmlkPT09dCYmKHRoaXMuX2JhbmRCS2V5PWkpfSkpfX12YXIgWnQ9cyg4Njc4MzEpLFh0PXMoNDc3MyksUXQ9cyg3NjgyOTIpLGVzPXMoNDkwNDQ2KSx0cz1zKDEyODk5OCksc3M9cygxNTI3NjYpLGlzPXMoNjgwMTI2KTtjbGFzcyBycyBleHRlbmRzIGlzLlN0dWR5UHJpY2VBeGlzVmlld3tpc1Bsb3RIaWdobGlnaHRlZCgpe2lmKCF0aGlzLl9zb3VyY2UuaGFzSGlnaGxpZ2h0ZWRQbG90cygpKXJldHVybiExO2NvbnN0IGU9dGhpcy5fc291cmNlLm1ldGFJbmZvKCkucGxvdHMuZmlsdGVyKChlPT4idGFyZ2V0ImluIGUmJmUudGFyZ2V0PT09dGhpcy5fZGF0YT8ucGxvdE5hbWUpKTtyZXR1cm4gQm9vbGVhbihlLmZpbmQoKGU9PigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuaGlnaGxpZ2h0ZWRQbG90SW5mbygpKS5wbG90SWQ9PT1lLmlkKSkpfX12YXIgbnM9cyg5Njk0KSxhcz1zKDQ4MzE2MCk7Y2xhc3Mgb3MgZXh0ZW5kcyBhcy5BYnN0cmFjdEJhckNvbG9yZXJ7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuX3JnYmFGcm9tSW50ZWdlcj0oMCxFdC5yZ2JhRnJvbUludGVnZXJDYWNoZWQpKCksdGhpcy5fc3R1ZHk9ZSx0aGlzLl9wbG90SW5kZXg9dH1hcHBseUJhclN0eWxlKGUsdCxzLGkpe2lmKHQpcmV0dXJuIHMKO2NvbnN0IHI9dGhpcy5fc3R1ZHkucHJvcGVydGllcygpLmNoaWxkcygpO2lmKCFyLnZpc2libGUudmFsdWUoKSlyZXR1cm4gcztjb25zdCBuPXRoaXMuX3N0dWR5Lm1ldGFJbmZvKCksYT10aGlzLl9zdHVkeS5kYXRhKCk7aWYoIWF8fDA9PT1hLnNpemUoKSlyZXR1cm4gcztjb25zdCBvPW4ucGxvdHNbdGhpcy5fcGxvdEluZGV4XSxsPXRoaXMuX2dldE9mZnNldCgpO2lmKHRoaXMuX3N0dWR5LmdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KG8uaWQpPmUrbClyZXR1cm4gcztpZihyLnN0eWxlcy5jaGlsZHMoKVtvLmlkXS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4gcztjb25zdCB1PWEudmFsdWVBdChlLWwpO2lmKG51bGw9PT11KXJldHVybiBzO2xldCBjPXVbdGhpcy5fcGxvdEluZGV4KzFdO2lmKG51bGw9PWMpcmV0dXJuIHM7aWYoYz1NYXRoLnJvdW5kKGMpLG4uaXNSR0Ipcy5iYXJDb2xvcj10aGlzLl9yZ2JhRnJvbUludGVnZXIoYykscy51cENvbG9yPXMuYmFyQ29sb3Iscy5kb3duQ29sb3I9cy5iYXJDb2xvcjtlbHNle2NvbnN0IGU9bi5wbG90c1t0aGlzLl9wbG90SW5kZXhdO2lmKCJwYWxldHRlImluIGUpe2NvbnN0IHQ9ZS5wYWxldHRlLGk9ci5wYWxldHRlcy5jaGlsZHMoKVt0XSxhPSgwLGguZW5zdXJlRGVmaW5lZCkobi5wYWxldHRlcz8uW3RdKSxvPWEudmFsVG9JbmRleD8oMCxoLmVuc3VyZURlZmluZWQpKGEudmFsVG9JbmRleFtjXSk6YyxsPWkuY2hpbGRzKCkuY29sb3JzLmNoaWxkcygpW29dLmNoaWxkcygpLmNvbG9yLnZhbHVlKCk7cy5iYXJDb2xvcj1sLHMudXBDb2xvcj1sLHMuZG93bkNvbG9yPWx9fXJldHVybiBzfWZpcnN0Q29sb3JlZEJhcihlKXtsZXQgdD1lO2Zvcihjb25zdCBzIG9mIHRoaXMuX2JhY2tDb2xvcmVycyl0PU1hdGgubWluKHQscy5maXJzdENvbG9yZWRCYXIoZSk/PzEvMCk7Y29uc3Qgcz10aGlzLl9nZXRPZmZzZXQoKTt0PU1hdGgubWluKHQsZStzKTtjb25zdCBpPXRoaXMuX2dldEJhcnMoKS5maXJzdEluZGV4KCkscj1NYXRoLm1heCh0LGk/Py0xLzApLG49dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiBNYXRoLm1heCh0aGlzLl9zdHVkeS5nZXRNaW5GaXJzdEJhckluZGV4Rm9yUGxvdChuLmlkKSxyKX1fZ2V0QmFycygpe3JldHVybiB0aGlzLl9zdHVkeS5zZXJpZXMoKS5iYXJzKCl9X2dldE9mZnNldCgpe2NvbnN0IGU9dGhpcy5fc3R1ZHkubWV0YUluZm8oKS5wbG90c1t0aGlzLl9wbG90SW5kZXhdO3JldHVybiB0aGlzLl9zdHVkeS5vZmZzZXQoZS5pZCl9fXZhciBscz1zKDE3OTc3MSksaHM9cygzMDk4MzcpLHVzPXMoNzU1NjI3KSxjcz1zKDUwNDQzMSk7Y2xhc3MgZHMgZXh0ZW5kcyBEdC5QYW5lUHJpY2VBeGlzVmlld3tjb25zdHJ1Y3RvcihlLHQscyxpKXtzdXBlcihlLHQscyksdGhpcy5fZGF0YVNvdXJjZT10LHRoaXMuX2lzRm9yY2VPdmVybGF5PXQubWV0YUluZm8oKS5pc1Bsb3RGb3JjZU92ZXJsYXkoaSl9X3Bvc2l0aW9uKCl7Y29uc3QgZT10aGlzLl9pc0ZvcmNlT3ZlcmxheT90aGlzLl9jaGFydE1vZGVsLm1haW5QYW5lKCk6dGhpcy5fY2hhcnRNb2RlbC5wYW5lRm9yU291cmNlKHRoaXMuX2RhdGFTb3VyY2UpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy5faXNGb3JjZU92ZXJsYXk/dGhpcy5fY2hhcnRNb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnRoaXMuX2RhdGFTb3VyY2UucHJpY2VTY2FsZSgpO2lmKG51bGw9PT10KXJldHVybiBudWxsO2xldCBzPWUucHJpY2VTY2FsZVBvc2l0aW9uKHQpO3JldHVybiJvdmVybGF5Ij09PXMmJihzPWUucHJpY2VTY2FsZVBvc2l0aW9uKGUuZGVmYXVsdFByaWNlU2NhbGUoKSkpLCJvdmVybGF5Ij09PXM/bnVsbDpzfX12YXIgcHM9cygyMzMyNDcpLF9zPXMoNDM3NzQ5KSxmcz1zKDQxMzY2KSxtcz1zKDMxNjY1NSkseXM9cyg3NzU4NjkpLGdzPXMoODM1Mjc4KTtjb25zdCBTcz0oMCxjLmdldExvZ2dlcikoIkNoYXJ0LlN0dWR5IiksYnM9Vi50KG51bGwse2NvbnRleHQ6InN0dWR5IHN0YXR1cyBkZXNjcmlwdGlvbiJ9LHMoOTI5MDY2KSksdnM9L14oW15cJF0rKVwkXGQrJC87dmFyIFBzLElzO2Z1bmN0aW9uIHdzKCl7cmV0dXJue2ZpZWxkczpbXSx1c2VNYWluU2VyaWVzUmFuZ2U6ITEsYmFzZVZhbHVlTWluTWF4Om51bGx9fSFmdW5jdGlvbihlKXtlLlBhbmVWaWV3cz0ic3R1ZHktcGFuZS12aWV3cyJ9KFBzfHwoUHM9e30pKSxmdW5jdGlvbihlKXtlW2UuRGVmYXVsdFByaWNlU2NhbGU9MTAwXT0iRGVmYXVsdFByaWNlU2NhbGUifShJc3x8KElzPXt9KSk7Y29uc3QgQ3M9e3N5bWJvbHNGb3JEaXNwbGF5OiExLHN5bWJvbHNGb3JDaGFydEFwaTohMCxza2lwSGlkZGVuSW5wdXRzOiExLHNraXBGYWtlSW5wdXRzOiExLHNraXBCb29sZWFuSW5wdXRzOiExLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czpbXSxub0V4Y2hhbmdlczohMSxub1Jlc29sdXRpb246ITEsa2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiExLHNraXBDb2xvcklucHV0czohMSxza2lwVGltZUlucHV0czohMSxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czohMSxza2lwVGV4dGFyZWFJbnB1dHM6ITEscHJpY2VJbnB1dHNGb3JEaXNwbGF5OiExfSxWcz17c3ltYm9sc0ZvckRpc3BsYXk6ITEsc3ltYm9sc0ZvckNoYXJ0QXBpOiEwLHNraXBIaWRkZW5JbnB1dHM6ITAsc2tpcEZha2VJbnB1dHM6ITEsc2tpcEJvb2xlYW5JbnB1dHM6ITEsc2tpcHBlZEdyb3VwczpbXSxza2lwcGVkSW5wdXRzOltdLG5vRXhjaGFuZ2VzOiExLG5vUmVzb2x1dGlvbjohMSxrZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk6ITEsc2tpcENvbG9ySW5wdXRzOiExLHNraXBUaW1lSW5wdXRzOiExLHNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzOiExLHNraXBUZXh0YXJlYUlucHV0czohMSxwcmljZUlucHV0c0ZvckRpc3BsYXk6ITEsZmFrZUlucHV0c0ZvckRpc3BsYXk6ITEsZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGU6ITEsb25seUF0b21WYWx1ZXM6ITB9LHhzPSgwLApJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJzdHVkeV9zeW1ib2xfdGlja2VyX2Rlc2NyaXB0aW9uIiksQXM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGlkZV9tYWluX3Nlcmllc19zeW1ib2xfZnJvbV9pbmRpY2F0b3JfbGVnZW5kIiksUnM9KDAsSS5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiZGF0YXNvdXJjZV9jb3B5cGFzdGUiKSxNcz0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJoaWRlX3VucmVzb2x2ZWRfc3ltYm9sc19pbl9sZWdlbmQiKTtmdW5jdGlvbiBUcyhlLHQpe2NvbnN0IHM9ZS5wbG90c1t0XTtpZighc3x8ISgwLFouaXNPaGxjUGxvdCkocykpcmV0dXJuITE7Y29uc3QgaT1zLnRhcmdldCxyPWUuZGVmYXVsdHMuc3R5bGVzJiZlLmRlZmF1bHRzLnN0eWxlc1tpXSxuPWUuZGVmYXVsdHMub2hsY1Bsb3RzJiZlLmRlZmF1bHRzLm9obGNQbG90c1tpXSxhPWUub2hsY1Bsb3RzJiZlLm9obGNQbG90c1tpXTtyZXR1cm4gciYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShyKXx8biYmKDAsWi5pc09obGNQbG90U3R5bGVCYXJzKShuKXx8ISFhJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUJhcnMpKGEpfWZ1bmN0aW9uIERzKGUsdCl7Y29uc3Qgcz1lLnBsb3RzW3RdO2lmKCFzfHwhKDAsWi5pc09obGNQbG90KShzKSlyZXR1cm4hMTtjb25zdCBpPXMudGFyZ2V0LHI9ZS5kZWZhdWx0cy5zdHlsZXMmJmUuZGVmYXVsdHMuc3R5bGVzW2ldLG49ZS5kZWZhdWx0cy5vaGxjUGxvdHMmJmUuZGVmYXVsdHMub2hsY1Bsb3RzW2ldLGE9ZS5vaGxjUGxvdHMmJmUub2hsY1Bsb3RzW2ldO3JldHVybiByJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKHIpfHxuJiYoMCxaLmlzT2hsY1Bsb3RTdHlsZUNhbmRsZXMpKG4pfHwhIWEmJigwLFouaXNPaGxjUGxvdFN0eWxlQ2FuZGxlcykoYSl9ZnVuY3Rpb24gRnMoZSx0KXsoMCxoLmFzc2VydCkodm9pZCAwIT09ZSwiek9yZGVyIG11c3QgYmUgZGVmaW5lZCIpLCgwLGguYXNzZXJ0KSghdC5oYXMoZSksInpPcmRlciBtdXN0IGJlIHVuaXF1ZSIpfWZ1bmN0aW9uIE9zKGUpe2lmKCFlLm1ldGFJbmZvKXJldHVybjtjb25zdCB0PWUubWV0YUluZm8uc2NyaXB0SWRQYXJ0O2lmKCF0KXJldHVybjtjb25zdCBzPShpPUMoKSh0KSxidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuZXcgVWludDhBcnJheShpKSkpKTt2YXIgaTtjb25zdCByPWUubWV0YUluZm87ci5pZD0oci5pZHx8IiIpLnJlcGxhY2UodCxzKSxyLmZ1bGxJZD0oci5mdWxsSWR8fCIiKS5yZXBsYWNlKHQscyksci5uYW1lPShyLm5hbWV8fCIiKS5yZXBsYWNlKHQscyksci5zaG9ydElkPShyLnNob3J0SWR8fCIiKS5yZXBsYWNlKHQscyksci5zY3JpcHRJZFBhcnQ9KHIuc2NyaXB0SWRQYXJ0fHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUmJihlLnN0YXRlLmlkPShlLnN0YXRlLmlkfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUubmFtZT0oZS5zdGF0ZS5uYW1lfHwiIikucmVwbGFjZSh0LHMpLGUuc3RhdGUuc2NyaXB0SWRQYXJ0PShlLnN0YXRlLnNjcmlwdElkUGFydHx8IiIpLnJlcGxhY2UodCxzKSl9ZnVuY3Rpb24gTnMoZSx0KXtyZXR1cm4gZS5wbG90cy5zb21lKChlPT4oKDAsWi5pc0NvbG9yZXJQbG90KShlKXx8KDAsWi5pc0RhdGFQbG90KShlKSkmJmUudGFyZ2V0PT09dCkpfWZ1bmN0aW9uIGtzKGUsdCxzKXtsZXQgaT0wLHI9MDtyZXR1cm4gZS5pbnB1dHMuZmlsdGVyKChlPT4ic291cmNlIj09PWUudHlwZSkpLmZvckVhY2goKGU9PnsoMCxEZS5nZXRJbnB1dFZhbHVlKShzW2UuaWRdKS5pbmNsdWRlcygiJCIpJiZpKyssKDAsRGUuZ2V0SW5wdXRWYWx1ZSkodFtlLmlkXSkuaW5jbHVkZXMoIiQiKSYmcisrfSkpLE1hdGguc2lnbihyKS1NYXRoLnNpZ24oaSl9ZnVuY3Rpb24gQnMoZSl7Y29uc3QgdD0oMCxfLmNvbWJpbmUpKChlPT5lLm1hcCgoZT0+QnMoZS5wYXJlbnRTb3VyY2VzVlcoKS53ZWFrUmVmZXJlbmNlKCkpKSkpLGUpO3JldHVybigwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT5BcnJheS5mcm9tKG5ldyBTZXQodC5jb25jYXQoZS5mbGF0KDIwKSkpKSksdC5vd25lcnNoaXAoKSxlKS5vd25lcnNoaXAoKX1mdW5jdGlvbiBFcyhlKXtyZXR1cm4iaW5oZXJpdCI9PT1lLnR5cGUmJihlLnR5cGU9InByaWNlIiksZX1mdW5jdGlvbiBMcyhlLHQscyxpKXtpZihudWxsIT09dClzd2l0Y2goZS50eXBlKXtjYXNlImluaGVyaXQiOmNhc2UicHJpY2UiOnJldHVybiBuZXcgdXMuUHJpY2VGb3JtYXR0ZXIoe3ByaWNlU2NhbGU6dH0pO2Nhc2Uidm9sdW1lIjpyZXR1cm4oMCxwcy5nZXRWb2x1bWVGb3JtYXR0ZXIpKE1hdGgubG9nMTAodCkpO2Nhc2UicGVyY2VudCI6cmV0dXJuKDAscHMuZ2V0UGVyY2VudGFnZUZvcm1hdHRlcikoTWF0aC5sb2cxMCh0KSl9aWYoImluaGVyaXQiPT09ZS50eXBlKXJldHVybiBudWxsO2NvbnN0IHI9KDAsdS5pc051bWJlcikoZS5wcmVjaXNpb24pP01hdGgucG93KDEwLGUucHJlY2lzaW9uKTp2b2lkIDA7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmljZSI6cmV0dXJuIG5ldyB1cy5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTpyfSk7Y2FzZSJ2b2x1bWUiOntsZXQgdD1lLnByZWNpc2lvbjtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9cyYmKDAsdS5pc051bWJlcikocy52b2x1bWVfcHJlY2lzaW9uKT9zLnZvbHVtZV9wcmVjaXNpb246MCksKDAscHMuZ2V0Vm9sdW1lRm9ybWF0dGVyKSh0KX1jYXNlInBlcmNlbnQiOnJldHVybigwLHBzLmdldFBlcmNlbnRhZ2VGb3JtYXR0ZXIpKHZvaWQgMD09PXI/dm9pZCAwOk1hdGgubG9nMTAocikpO2RlZmF1bHQ6cmV0dXJuIFNzLmxvZ1dhcm4oYFVuc3VwcG9ydGVkIGZvcm1hdCB0eXBlOiAke2UudHlwZX1gKSxudWxsfX1jb25zdCBIcz1uZXcgU2V0KERlLnJhbmdlRGVwZW5kZW50U3R1ZHlJbnB1dE5hbWVzTGlzdCk7Y2xhc3MgVXMgZXh0ZW5kcyBVLlByaWNlRGF0YVNvdXJjZXtjb25zdHJ1Y3RvcihlLHQscyxyLG4sYSxvKXtzdXBlcihlKSx0aGlzLl9vblN0YXJ0PW5ldyB5LkRlbGVnYXRlLHRoaXMuX3Jlc3RhcnRpbmc9ITEsdGhpcy5fcGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M9W10sCnRoaXMuX2xlZ2VuZFZpZXc9bnVsbCx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3PW51bGwsdGhpcy5fcHJpY2VBeGlzVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3M9W10sdGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlPVtdLHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9LHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3M9W10sdGhpcy5fbGFiZWxQYW5lVmlld3M9W10sdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M9W10sdGhpcy5fY3VycmVuY3lJbnB1dFByb3BlcnR5PW51bGwsdGhpcy5fdW5pdElucHV0UHJvcGVydHk9bnVsbCx0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShudWxsKSx0aGlzLl9vd25GaXJzdFZhbHVlPW51bGwsdGhpcy5fZm9ybWF0dGVyPW51bGwsdGhpcy5fZGVmYXVsdEZvcm1hdHRlcj1udWxsLHRoaXMuX2RhdGFVcGRhdGVkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eT1udWxsLHRoaXMuX3BpbmVTb3VyY2VDb2RlTW9kZWw9bnVsbCx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW51bGwsdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlPW5ldyB5LkRlbGVnYXRlLHRoaXMuX3N5bWJvbHNSZXNvbHZlZD1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VkPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2lucHV0c0FuY2hvcnNQYW5lVmlldz1udWxsLHRoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bnVsbCx0aGlzLl9pbnB1dHNUaW1lQXhpc1BhbmVWaWV3cz1bXSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3M9W10sdGhpcy5fc291cmNlcz1uZXcgbS5XYXRjaGVkT2JqZWN0KFtdLHAuY29tcGFyZVR3b0NvbGxlY3Rpb25zQnlJZHMpLHRoaXMuX3N0YXR1cz1uZXcgZi5XYXRjaGVkVmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pLHRoaXMuX2NvbXBpbGVBY3RpdmVTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXM9bmV3IG0uV2F0Y2hlZE9iamVjdChudWxsKSx0aGlzLl93YXNDb21wbGV0ZWRCZWZvcmU9ITEsdGhpcy5faXNTdGFydGVkPSExLHRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkPSExLHRoaXMuX3RpdGxlU3RyQ2FjaGU9e30sdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGU9e30sdGhpcy5fc3BsaXRUaXRsZUNhY2hlPXt9LHRoaXMuX2lucHV0c0luUGFydHNDYWNoZT17fSx0aGlzLl9jaGlsZHJlbj1bXSx0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPVtdLHRoaXMuX3NlcnZlclBsb3RPZmZzZXRzPW5ldyBtLldhdGNoZWRPYmplY3Qoe30pLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX3N0dWR5TW9kaWZpZWQ9ITEsdGhpcy5fdGFnc0NoYW5nZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fdHVybmFyb3VuZD0ic3QwIix0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHM9bmV3IE1hcCx0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2U9bmV3IHkuRGVsZWdhdGUsdGhpcy5fY2hpbGRTdHVkeUJ5UmViaW5kPW5ldyB5LkRlbGVnYXRlLHRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fSx0aGlzLl9zdGFydE1vdmluZ1BvaW50PW51bGwsdGhpcy5fcHJvY2Vzc0hpYmVybmF0ZUJvdW5kPXRoaXMucHJvY2Vzc0hpYmVybmF0ZS5iaW5kKHRoaXMsMSksdGhpcy5fbWF4T2Zmc2V0PW5ldyBmLldhdGNoZWRWYWx1ZSgwKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9bnVsbCx0aGlzLl9ncmFwaGljc1ZpZXdzUmVhZHk9ITEsdGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1udWxsLHRoaXMuX3R1cm5hcm91bmRDb3VudGVyPTAsdGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQ9bmV3IHkuRGVsZWdhdGUsdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWw9bnVsbCx0aGlzLl9wbG90Rm9ybWF0dGVycz1uZXcgTWFwLHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT1uZXcgZi5XYXRjaGVkVmFsdWUoITEpLnNwYXduKCksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcz1uZXcgeS5EZWxlZ2F0ZSx0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcj17fSx0aGlzLl9jYWxjdWxhdGlvblRpbWU9bmV3IGYuV2F0Y2hlZFZhbHVlKDApLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRDYWNoZT1udWxsLHRoaXMuX2lkRm9yQWxlcnRXVj1uZXcgZi5XYXRjaGVkVmFsdWUoIiIpLHRoaXMuX2NoYXJ0QXBpPWUuY2hhcnRBcGkoKSx0aGlzLl9wcm9wZXJ0aWVzPXQsdGhpcy5fb3JpZ2luYWxNZXRhSW5mbz1uLHRoaXMuX21ldGFJbmZvPW5ldyBmLldhdGNoZWRWYWx1ZShyKSx0aGlzLl9zdHVkeU5hbWU9KDAsXy5jb21iaW5lKSgoZT0+ZS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvPygwLHYuZ2V0U3R1ZHlJZFdpdGhWZXJzaW9uKShlKTp0aGlzLl9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKSksdGhpcy5fbWV0YUluZm8ud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9jb21wb3VuZFN0YXR1cz0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT5lPz90Pz9zKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3N0YXR1cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX2hpZGVNYXRjaGVzPXIuaW5wdXRzLmZpbHRlcigoZT0+ZS5oaWRlV2hlblBsb3RzSGlkZGVuKSkubWFwKChlPT4oe2lkOmUuaWQsCnBsb3RJZHM6ZS5oaWRlV2hlblBsb3RzSGlkZGVufHxbXX0pKSksdGhpcy5fc2VyaWVzPXRoaXMuX21vZGVsLm1haW5TZXJpZXMoKSx0aGlzLl9zZXJpZXMub25JbnRlcnZhbENoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9jYWxjSXNBY3R1YWxJbnRlcnZhbCksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS5zdWJzY3JpYmUodGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZUJvdW5kKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eT0oMCx4ZS5jb21iaW5lUHJvcGVydHkpKCgoZSx0KT0+ZSYmdCksZS5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucGFuZVByb3BlcnRpZXMuY2hpbGRzKCkubGVnZW5kUHJvcGVydGllcy5jaGlsZHMoKS5zaG93U3R1ZHlBcmd1bWVudHMud2Vha1JlZmVyZW5jZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuc2hvd0xlZ2VuZElucHV0cy53ZWFrUmVmZXJlbmNlKCkpLHRoaXMuX21vZGVsLnN5bWJvbEFsaWFzU2VydmljZSgpPy5vbkFsaWFzQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLCgoKT0+e3RoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfSkpLGUuY29sbGFwc2VkKCkuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksdGhpcy5fc291cmNlcy5zZXRWYWx1ZShzKSxmdW5jdGlvbihlLHQscyl7Zm9yKGNvbnN0IGkgb2YgZS5pbnB1dHMpe2lmKCF2LlN0dWR5TWV0YUluZm8uaXNTb3VyY2VJbnB1dChpKSljb250aW51ZTtjb25zdCBlPXMuY2hpbGRzKCkuaW5wdXRzJiZzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVtpLmlkXTtpZihlKXtjb25zdCBzPWUudmFsdWUoKSxpPXZzLmV4ZWMocyk7aWYoMj09PWk/Lmxlbmd0aCYmIntwaWR9Ij09PWlbMV0pe2NvbnN0IGk9cy5yZXBsYWNlKC9eW15cJF0rLyx0KTtlLnNldFZhbHVlKGkpfX19fShyLHNbMF0/LmlkKCksdCkscy5mb3JFYWNoKChlPT57ZS5zZXRDaGlsZCh0aGlzKX0pKSxbdGhpcy5fc2VyaWVzLC4uLnNdLmZvckVhY2goKGU9PntlLmN1cnJlbmN5Q2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlQ3VycmVuY3lDaGFuZ2VkKSxlLnVuaXRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VVbml0Q2hhbmdlZCksZS5tZXRyaWNDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VNZXRyaWNDaGFuZ2VkKSxlLnByaWNlUmFuZ2VSZWFkeUNoYW5nZWQoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZVByaWNlUmFuZ2VSZWFkeUNoYW5nZWQpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCksZS5wcmljZVN0ZXBDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25Tb3VyY2VQcmljZVN0ZXBDaGFuZ2VkKX0pKSx4cyYmdGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5zdGF0dXNWaWV3U3R5bGUuY2hpbGRzKCkuc3ltYm9sVGV4dFNvdXJjZS5zdWJzY3JpYmUodGhpcywoKCk9Pnt0aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKX0pKTtjb25zdCBsPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7Zm9yKGNvbnN0IGUgb2Ygdi5TdHVkeU1ldGFJbmZvLmdldFNvdXJjZUlucHV0SWRzKHIpKWwuaW5wdXRzLmNoaWxkcygpW2VdPy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblNvdXJjZUlucHV0Q2hhbmdlZCk7dGhpcy5fcGxvdE9mZnNldHM9KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkpPT4oaS5wbG90cz8/W10pLnJlZHVjZSgoKGkscik9Pntjb25zdCBuPXIuaWQsYT0oZVtuXT8/MCkrKHM/LmNoaWxkcygpW25dPy5jaGlsZHMoKS52YWwudmFsdWUoKT8/MCkrKHQ/PzApO3JldHVybiBpW25dPWEsaX0pLHt9KSksdGhpcy5fc2VydmVyUGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLCgwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT50aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/LmNoaWxkcygpLnZhbC52YWx1ZSgpKSx0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5vZmZzZXQ/P25ldyB5LkRlbGVnYXRlKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cyksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkub2Zmc2V0cz8/bmV3IHkuRGVsZWdhdGUpLm93bmVyc2hpcCgpLHRoaXMuX21ldGFJbmZvLndlYWtSZWZlcmVuY2UoKSksdGhpcy5fcHJvcGVydGllcy5zdWJzY3JpYmUodGhpcyx0aGlzLl9vblByb3BlcnRpZXNDaGFuZ2VkKSxsLnZpc2libGUuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLGwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMucHJvY2Vzc0hpYmVybmF0ZSgpKSksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMuc3Vic2NyaWJlKHRoaXMsdGhpcy5fY2FsY0lzQWN0dWFsSW50ZXJ2YWwpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSx2b2lkIDAhPT1sLm9mZnNldHMmJmwub2Zmc2V0cy5zdWJzY3JpYmUodGhpcyx0aGlzLl91cGRhdGVNYXhPZmZzZXRWYWx1ZSksdm9pZCAwIT09bC5vZmZzZXQmJmwub2Zmc2V0LnN1YnNjcmliZSh0aGlzLHRoaXMuX3VwZGF0ZU1heE9mZnNldFZhbHVlKSxRLmhpZGVBbGxJbmRpY2F0b3JzKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpO2ZvcihsZXQgZT0wO2U8ci5wbG90cy5sZW5ndGg7ZSsrKXtjb25zdCB0PXIucGxvdHNbZV0scz10LmlkLGk9bC5zdHlsZXMuY2hpbGRzKClbc10sbj0oMCxaLmlzQmFyQ29sb3JlclBsb3QpKHQpO2kmJiFpLmhhc0NoaWxkKCJkaXNwbGF5IikmJmkubWVyZ2Uoe2Rpc3BsYXk6Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LkFsbH0pLGk/LmNoaWxkcygpLmRpc3BsYXkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5wcm9jZXNzSGliZXJuYXRlKCksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLApuJiZ0aGlzLl9zZXJpZXMuaW52YWxpZGF0ZUJhckNvbG9yZXJDYWNoZSgpfSkpfWZvcihjb25zdCBlIG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3MpKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIuZ3JhcGhpY3NbZV0pKXtjb25zdCBzPWwuZ3JhcGhpY3MuY2hpbGRzKClbZV0/LmNoaWxkcygpW3RdO3MmJnMuY2hpbGRzKCkudmlzaWJsZSYmKDAsaC5lbnN1cmVEZWZpbmVkKShzLmNoaWxkcygpLnZpc2libGUpLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5wcm9jZXNzSGliZXJuYXRlKCkpKX10aGlzLl9pc0FjdHVhbEludGVydmFsPSgwLFh0LmlzQWN0dWFsSW50ZXJ2YWwpKHRoaXMuX3Nlcmllcy5pbnRlcnZhbE9iaigpLnZhbHVlKCksbC5pbnRlcnZhbHNWaXNpYmlsaXRpZXMpLHRoaXMuX2luaXRpYWxpemVTdHVkeUlucHV0c1BhbmVWaWV3cygpLHRoaXMuX2hhbmRsZXI9ZT0+dGhpcy5fb25EYXRhKGUpLHRoaXMuX3ZhbHVlc1Byb3ZpZGVyPW5ldyBocy5TdHVkeVZhbHVlc1Byb3ZpZGVyKHRoaXMsZSksdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXI9bmV3IGZzLlN0dWR5VGFibGVWaWV3VmFsdWVzUHJvdmlkZXIodGhpcyxlKSx0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM9Z2UodGhpcyksdGhpcy5fZ3JhcGhpY3M9bmV3IEsuTGl2ZVN0dWR5R3JhcGhpY3Moci5ncmFwaGljcyksdGhpcy5fc2lnbmxlUGVyZm9ybWFuY2VWYWx1ZT0oMCxNZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb25zKSgoKCk9PkFycmF5LmZyb20oKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5wZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkpWzBdPz9udWxsKSxbKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9ncmFwaGljcy5vYnNlcnZhYmxlUGVyZm9ybWFuY2UoKS5nZXQoInBlcmZvcm1hbmNlIikpLmNoYW5nZWQoKSwoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX2dyYXBoaWNzLm9ic2VydmFibGVQZXJmb3JtYW5jZSgpLmdldCgicGVyZm9ybWFuY2UiKSkuY2xlYXJlZCgpXSksdGhpcy5fY2hhcnRBcGk9ZS5jaGFydEFwaSgpLHRoaXMuX2ludmFsaWRhdGVMYXN0Tm9uRW1wdHlQbG90Um93Q2FjaGUoKSx0aGlzLl9kYXRhPW5ldyBnLlBsb3RMaXN0KCgwLGNzLnN0dWR5UGxvdEZ1bmN0aW9uTWFwKShyKSxjcy5zdHVkeUVtcHR5UGxvdFZhbHVlUHJlZGljYXRlKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKHRoaXMuX3Nlcmllcy5zeW1ib2xJbmZvKCkpLGwucHJlY2lzaW9uLnN1YnNjcmliZSh0aGlzLHRoaXMuX29uRm9ybWF0dGVyUHJvcHNDaGFuZ2VkKSx0aGlzLl9tZXRhSW5mby5zdWJzY3JpYmUoKCgpPT50aGlzLl9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpKSksdGhpcy5fc2hvd1N0dWR5QXJndW1lbnRzUHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT50aGlzLmludmFsaWRhdGVUaXRsZUNhY2hlKCEwKSkpLGwuaW5wdXRzLnN1YnNjcmliZSh0aGlzLCgoKT0+dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCkpKSwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJ1cGRhdGVfc3R1ZHlfZm9ybWF0dGVyX29uX3N5bWJvbF9yZXNvbHZlIikmJmUubWFpblNlcmllcygpLmRhdGFFdmVudHMoKS5zeW1ib2xSZXNvbHZlZCgpLnN1YnNjcmliZSh0aGlzLHRoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKSxlLm1haW5TZXJpZXMoKS5kYXRhRXZlbnRzKCkuc3ltYm9sUmVzb2x2ZWQoKS5zdWJzY3JpYmUodGhpcywoKCk9PnRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoITApKSk7Y29uc3QgdT1uZXcgU2V0O2lmKHRoaXMuX3NpbXBsZVBsb3RzQ291bnQ9ci5wbG90cy5maWx0ZXIoKChlLHQpPT57aWYoKDAsWi5pc0xpbmVQbG90KShlKSlyZXR1cm4hMDtpZigoMCxaLmlzT2hsY1Bsb3QpKGUpKXtjb25zdCB0PWUudGFyZ2V0O3JldHVybiF1Lmhhcyh0KSYmKHUuYWRkKHQpLCEwKX1yZXR1cm4hMX0pKS5sZW5ndGgsdGhpcy5oYXNCYXJDb2xvcmVyKCkmJmwudmlzaWJsZS5zdWJzY3JpYmUodGhpcywoKCk9PmUubWFpblNlcmllcygpLmludmFsaWRhdGVCYXJTdHlsZXNDYWNoZSkpLHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsPW51bGwsdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKSxyLmlucHV0cy5zb21lKChlPT5Icy5oYXMoZS5pZCkpKSl7dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz1lLnZpc2libGVSYW5nZVN0dWRpZXNJbnB1dHMoKS5zcGF3bigpO2NvbnN0IHQ9dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cy52YWx1ZSgpO2xldCBzPW51bGwhPT10O3RoaXMuX3Zpc2libGVUaW1lUmFuZ2VJbnB1dHMuc3Vic2NyaWJlKChlPT57Y29uc3QgdD0oKT0+e3RoaXMuX29uVmlzaWJsZVRpbWVSYW5nZUlucHV0c0NoYW5nZWQoZSkscyE9PShudWxsIT09ZSkmJihzPW51bGwhPT1lLCFzfHx0aGlzLl9yZXN0YXJ0aW5nfHx0aGlzLmlzU3RhcnRlZCgpfHx0aGlzLnN0YXJ0KCEwKSl9O3RoaXMuX3N0YXR1c0NoYW5nZWQudW5zdWJzY3JpYmVBbGwodGhpcy5fc3RhdHVzQ2hhbmdlc1N1YnNjcmliZXIpLHRoaXMuX3N0YXR1cy52YWx1ZSgpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZz90aGlzLl9zdGF0dXNDaGFuZ2VkLnN1YnNjcmliZSh0aGlzLl9zdGF0dXNDaGFuZ2VzU3Vic2NyaWJlcix0LCEwKTp0KCl9KSksdCYmdGhpcy5fdXBkYXRlVmlzaWJsZVRpbWVSYW5nZUlucHV0cyh0LCExKX0oMCxDZS5pc0NvdW50ZWRVc2VyU2NyaXB0KShyKSYmKHRoaXMuX3Nob3dQaW5lVmVyc2lvbkluU3RhdHVzTGluZT0oMCxfLmNvbWJpbmUpKChlPT4oMCxDZS51c2VyU2NyaXB0VmVyc2lvbnNDb3VudCkoci5zY3JpcHRJZFBhcnQpPjEpLCgwLENlLnVzZXJTY3JpcHRzT25MYXlvdXQpKCkud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zaG93UGluZVZlcnNpb25JblN0YXR1c0xpbmUuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSxlLnVwZGF0ZVNvdXJjZSh0aGlzKX0pKSksdGhpcy5fcHJvcGVydGllcy5zZXROYW1lSW5Pd25lcigoMCwKbXMucHJvcGVydHlQYXRoRm9yU291cmNlKSh0aGlzKSksbyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKTtjb25zdCBjPUJzKHRoaXMucGFyZW50U291cmNlc1ZXKCkud2Vha1JlZmVyZW5jZSgpKTtpZih0aGlzLl9hbGxPd25lclNvdXJjZXM9KDAsXy5jb21iaW5lKSgoKGUsdCk9PmUpLGMsKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMub3duZXJTb3VyY2UoKSksdGhpcy5vd25lclNvdXJjZUNoYW5nZWQoKSkub3duZXJzaGlwKCkpLHRoaXMuX2F2YWlsYWJsZUN1cnJlbmNpZXM9ZS5hdmFpbGFibGVDdXJyZW5jaWVzKCkuc3Bhd24oKSx0aGlzLl9jdXJyZW5jeU9yaWdpblNvdXJjZT0oMCxfLmNvbWJpbmUpKCgoZSx0KT0+ZT90aGlzOnQpLHRoaXMuX2lzQ3VycmVuY3lPcmlnaW4ud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9hdmFpbGFibGVVbml0cz1lLmF2YWlsYWJsZVVuaXRzKCkuc3Bhd24oKSx0aGlzLl91bml0T3JpZ2luU291cmNlPSgwLF8uY29tYmluZSkoKChlLHQpPT5lP3RoaXM6dCksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSwoMCxfLmFjY3VtdWxhdGUpKChlPT5lWzBdKSwoMCxfLmNvbWJpbmUpKCgoKT0+W3RoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKS51bml0T3JpZ2luU291cmNlKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpKSx0aGlzLl9zeW1ib2xTb3VyY2U9KDAsXy5jb21iaW5lKSgoKCk9PnRoaXMuX2dldFN5bWJvbFNvdXJjZSgpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSx0aGlzLl9zeW1ib2xTb3VyY2VTeW1ib2xJbmZvPSgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKGU9PltlLnN5bWJvbEluZm9XVigpLndlYWtSZWZlcmVuY2UoKV0pLHRoaXMuX3N5bWJvbFNvdXJjZS53ZWFrUmVmZXJlbmNlKCkpLndlYWtSZWZlcmVuY2UoKSksIWEmJnIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzJiZyLmRlZmF1bHRzLmlucHV0cyl7Y29uc3QgZT10aGlzLmlucHV0cygpO2Zvcihjb25zdCB0IG9mIHIuaW5wdXRzKXQuaXNIaWRkZW58fCgwLERlLmlzU3R1ZHlJbnB1dERlcGVuZHNPbkNoYXJ0KSh0KXx8ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0hPT1lW3QuaWRdJiYodGhpcy5fZGVmZXJyZWRQaW5lUGF0Y2hQcm9wcz0hMCx0aGlzLl9vbGRTdHVkeUlucHV0cz10aGlzLl9vbGRTdHVkeUlucHV0cz8/dGhpcy5fcHJlcGFyZUlucHV0cyhWcyksdGhpcy5fb2xkU3R1ZHlJbnB1dHNbdC5pZF09ci5kZWZhdWx0cy5pbnB1dHNbdC5pZF0pfWlmKHIuVFZTY3JpcHRNZXRhSW5mb0V4cHJzKXt0aGlzLl9wcmV2aW91c1BhdGNoTWFwPXt9O2NvbnN0IGU9ci5UVlNjcmlwdE1ldGFJbmZvRXhwcnMucGF0Y2hNYXB8fHt9LHQ9bmV3IHYuU3R1ZHlNZXRhSW5mbyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnN0YXRlKCksdGhpcy5fbWV0YUluZm8udmFsdWUoKS51c2VWZXJzaW9uRnJvbU1ldGFJbmZvKTsoMCxGLml0ZXJhdGVBbmRQYXRjaE9iamVjdHNCeU1hcCkoW3RoaXMuX3Byb3BlcnRpZXMsdC5kZWZhdWx0cyx0XSxlLCgoZSx0LHMpPT57Y29uc3QgaT1lWzBdLHI9ZVsxXSxuPWVbMl07cj8uaGFzT3duUHJvcGVydHkodCk/KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1pW3RdLnZhbHVlKCk6KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcmV2aW91c1BhdGNoTWFwKVtzXT1uW3RdfSkpLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpfXtjb25zdCB0PSgwLF8uY29tYmluZSkoKGU9PmUubWFwKChlPT4oMCxHLmlzU3R1ZHkpKGUpPygwLFJlLmNyZWF0ZVdWRnJvbUdldHRlckFuZFN1YnNjcmlwdGlvbikoKCgpPT5lLmlucHV0cygpKSxlLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5pbnB1dHMpLm93bmVyc2hpcCgpOm5ldyBmLldhdGNoZWRWYWx1ZSgwKS5vd25lcnNoaXAoKSkpKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKSxzPSgwLF8uYWNjdW11bGF0ZSkoKChlLHQpPT4odD8/MCkrMSksdC5vd25lcnNoaXAoKSkscj0oMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT4ocz8/MCkrMSksKDAsUmUuY3JlYXRlV1ZGcm9tR2V0dGVyQW5kU3Vic2NyaXB0aW9uKSgoKCk9PnRoaXMuZm9ybWF0dGVyKCkpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpKS5vd25lcnNoaXAoKSwoMCxSZS5jcmVhdGVXVkZyb21HZXR0ZXJBbmRTdWJzY3JpcHRpb24pKCgoKT0+dGhpcy5pbnB1dHMoKSksdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzKS5vd25lcnNoaXAoKSk7dGhpcy5fYWxlcnRTdGF0ZVZlcnNpb249KDAsXy5jb21iaW5lKSgoKGUsdCxzLGkscik9PihyPz8wKSsxKSx0aGlzLl9tZXRhSW5mby53ZWFrUmVmZXJlbmNlKCksdGhpcy5fcGxvdE9mZnNldHMud2Vha1JlZmVyZW5jZSgpLHMub3duZXJzaGlwKCksci5vd25lcnNoaXAoKSk7Y29uc3Qgbj0oMCxpLmRlZmF1bHQpKCgoKT0+dGhpcy5faWRGb3JBbGVydFdWLnNldFZhbHVlKHRoaXMuaWRGb3JBbGVydCgpKSksNTAwKTt0aGlzLl9hbGVydFN0YXRlVmVyc2lvbi5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RhdGVGb3JBbGVydENhY2hlPW51bGwsdGhpcy5faWRGb3JBbGVydENhY2hlPW51bGwsbigpfSkpLG4oKSx0aGlzLl9hbGVydFNvdXJjZU1vZGVsPW5ldyBrKGUsdGhpcy5faWRGb3JBbGVydFdWLndlYWtSZWZlcmVuY2UoKSk7Y29uc3QgYT0oKT0+e3RoaXMuX3NpZ25hdHVyZS5zZXRWYWx1ZSgoMCxWZS5zdHVkeVNpZ25hdHVyZSkodGhpcy5tZXRhSW5mbygpLnNjcmlwdElkUGFydCx0aGlzLm1ldGFJbmZvKCkuaW5wdXRzLHRoaXMuaW5wdXRzKHtvbmx5QXRvbVZhbHVlczohMCwKYXNPYmplY3Q6ITB9KSkpfTt0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5zdWJzY3JpYmUodGhpcyxhKSxhKCl9dGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS5zdWJzY3JpYmUodGhpcyx0aGlzLl9oYW5kbGVSZXN0b3JpbmdGYWN0b3J5RGVmYXVsdHMpLHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT10aGlzLl9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkmJih0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnNldFZhbHVlKCEwKSx0aGlzLl9jdXJyZW5jeUlucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fY3VycmVuY3lDaGFuZ2VkLmZpcmUoKX0pKSksdGhpcy5fdW5pdElucHV0UHJvcGVydHk9dGhpcy5fZ2V0VW5pdElucHV0UHJvcGVydHkoKSx0aGlzLl91bml0SW5wdXRQcm9wZXJ0eSYmKHRoaXMuX2lzVW5pdE9yaWdpbi5zZXRWYWx1ZSghMCksdGhpcy5fdW5pdElucHV0UHJvcGVydHkuc3Vic2NyaWJlKHRoaXMsKCgpPT57dGhpcy5fdW5pdENoYW5nZWQuZmlyZSgpfSkpKSx0aGlzLl9pbml0Q3VycmVuY3lNZXRhRGF0YSgpLHRoaXMuX2luaXRVbml0TWV0YURhdGEoKTtjb25zdCBkPSgpPT5lLnJlYWxpZ25MaW5lVG9vbHModGhpcyk7dGhpcy5faXNDdXJyZW5jeU9yaWdpbi5zdWJzY3JpYmUoZCksdGhpcy5faXNVbml0T3JpZ2luLnN1YnNjcmliZShkKSx0aGlzLl9jdXJyZW5jeU1ldGFEYXRhLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9pc0N1cnJlbmN5T3JpZ2luLnZhbHVlKCkmJmUucmVhbGlnbkxpbmVUb29scyh0aGlzKX0pKSx0aGlzLl91bml0TWV0YURhdGEuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2lzVW5pdE9yaWdpbi52YWx1ZSgpJiZlLnJlYWxpZ25MaW5lVG9vbHModGhpcyl9KSl9ZGVzdHJveSgpe3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU/LmRlc3Ryb3koKSx0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWQuZmlyZSgpLG51bGwhPT10aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbCYmKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsLmRlc3Ryb3koKSx0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1udWxsKSx0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS51bnN1YnNjcmliZUFsbCh0aGlzKSx0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuZGF0YUV2ZW50cygpLnN5bWJvbFJlc29sdmVkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/Lm9uQWxpYXNDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyk7dGhpcy5wYXJlbnRTb3VyY2VzKCkuZm9yRWFjaCgoZT0+e2UuY3VycmVuY3lDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksZS51bml0Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUubWV0cmljQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VSYW5nZVJlYWR5Q2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpLGUucHJpY2VTdGVwQ2hhbmdlZCgpLnVuc3Vic2NyaWJlQWxsKHRoaXMpfSkpLHRoaXMuX3Nlcmllcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuc3RhdHVzVmlld1N0eWxlLmNoaWxkcygpLnN5bWJvbFRleHRTb3VyY2UudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLm9uSW50ZXJ2YWxDaGFuZ2VkKCkudW5zdWJzY3JpYmVBbGwodGhpcyksdGhpcy5fc2VyaWVzLmFsZXJ0Q3JlYXRpb25BdmFpbGFibGUoKS51bnN1YnNjcmliZSh0aGlzLl91cGRhdGVBbGVydENyZWF0aW9uQXZhaWxhYmxlQm91bmQpLHRoaXMuZm9ybWF0dGVyQ2hhbmdlZCgpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSksUS5oaWRlQWxsSW5kaWNhdG9ycygpLnVuc3Vic2NyaWJlKHRoaXMsdGhpcy5fdmlzaWJsZUNoYW5nZWQpLHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnVuc3Vic2NyaWJlKHRoaXMuX3Byb2Nlc3NIaWJlcm5hdGVCb3VuZCksbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmdGhpcy5fY3VycmVuY3lTb3VyY2VTeW1ib2xJbnB1dFByb3BlcnR5LnVuc3Vic2NyaWJlQWxsKHRoaXMpLHRoaXMuX2xlZ2VuZFZpZXc/LmRlc3Ryb3koKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3Py5kZXN0cm95KCksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD8uZ2V0KCk/LmRlc3Ryb3koKSx0aGlzLl92aXNpYmxlVGltZVJhbmdlSW5wdXRzPy5kZXN0cm95KCksdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLmRlc3Ryb3koKSx0aGlzLl9hbGVydFN0YXRlVmVyc2lvbj8uZGVzdHJveSgpLHRoaXMuX2FsZXJ0U291cmNlTW9kZWw/LmRlc3Ryb3koKSx0aGlzLl9tZXRhSW5mby5kZXN0cm95KCksdGhpcy5fc3R1ZHlOYW1lLmRlc3Ryb3koKSx0aGlzLl9hbGxPd25lclNvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3NvdXJjZXMuZGVzdHJveSgpLHRoaXMuX3N5bWJvbFNvdXJjZS5kZXN0cm95KCksdGhpcy5fc3ltYm9sU291cmNlU3ltYm9sSW5mby5kZXN0cm95KCksdGhpcy5fc3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLmRlc3Ryb3koKSx0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuZGVzdHJveSgpLHRoaXMuX3Bsb3RPZmZzZXRzLmRlc3Ryb3koKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5kZXN0cm95KCksdGhpcy5fcHJvcGVydGllcy5vblJlc3RvcmVGYWN0b3J5RGVmYXVsdHMoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cyksdGhpcy5fcHJvcGVydGllcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlQ3VycmVuY2llcy5kZXN0cm95KCksdGhpcy5fYXZhaWxhYmxlVW5pdHMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX1zZXRJZChlKXtzdXBlci5zZXRJZChlKSx0aGlzLl9wcm9wZXJ0aWVzLnNldE5hbWVJbk93bmVyKCgwLG1zLnByb3BlcnR5UGF0aEZvclNvdXJjZSkodGhpcykpfXByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc30KcHJvcGVydGllc1BhdGNoZWQoKXtyZXR1cm4gdGhpcy5fcHJvcGVydGllc1BhdGNoZWR9aXNEcmFnZ2FibGUoKXtyZXR1cm4hdGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31sb2dzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3MubG9ncyYmdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzPygwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fZ3JhcGhpY3Mub2JzZXJ2YWJsZUxvZ3MoKS5nZXQoImxvZ3MiKSk6bnVsbH1sb2dMZXZlbE1hc2soKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fbG9nX2xldmVsLnZhbHVlKCk7aWYoISgwLHUuaXNOdW1iZXIpKGUpfHxlPDB8fGU+Nyl0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIG9mIGxvZyBsZXZlbCBpcyB1bmV4cGVjdGVkLCBjdXJyZW50IHZhbHVlIGlzICR7ZX0sIGJ1dCBleHBlY3RlZCB2YWx1ZXMgZnJvbSAwIHRvIDdgKTtyZXR1cm57ZXJyb3I6Qm9vbGVhbigxJmUpLHdhcm5pbmc6Qm9vbGVhbigyJmUpLGluZm86Qm9vbGVhbig0JmUpfX1zZXRMb2dMZXZlbE1hc2soZSl7Y29uc3QgdD0oTnVtYmVyKGUuZXJyb3IpJiYxKXwoTnVtYmVyKGUud2FybmluZykmJjIpfChOdW1iZXIoZS5pbmZvKSYmNCk7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19sb2dfbGV2ZWwuc2V0VmFsdWUodCl9cGVyZm9ybWFuY2UoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzP3RoaXMuX3NpZ25sZVBlcmZvcm1hbmNlVmFsdWU6bmV3IGYuV2F0Y2hlZFZhbHVlKG51bGwpfXByb2ZpbGluZ0VuYWJsZWQoKXtyZXR1cm4hIXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpLl9fcHJvZmlsZT8udmFsdWUoKX1lbmFibGVQcm9maWxpbmcoZSl7dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKCkuX19wcm9maWxlPy5zZXRWYWx1ZShlKX1vbkFib3V0VG9CZURlc3Ryb3llZCgpe3JldHVybiB0aGlzLl9hYm91dFRvQmVEZXN0cm95ZWR9cHJpY2VTY2FsZShlKXtyZXR1cm4gZT90aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpOnN1cGVyLnByaWNlU2NhbGUoKX1sYXN0VmFsdWVEYXRhKGUsdCxzKXtjb25zdCBpPXtub0RhdGE6ITB9LHI9dGhpcy5tZXRhSW5mbygpLmlzUGxvdEZvcmNlT3ZlcmxheShlKSxuPXI/dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTp0aGlzLnByaWNlU2NhbGUoKTtpZih0aGlzLl9tb2RlbC50aW1lU2NhbGUoKS5pc0VtcHR5KCl8fG51bGw9PT1ufHxuLmlzRW1wdHkoKXx8dGhpcy5kYXRhKCkuaXNFbXB0eSgpKXJldHVybiBpO2NvbnN0IGE9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpLG89dGhpcy5maXJzdFZhbHVlKCEwLHIpO2lmKG51bGw9PT1hfHxudWxsPT09bylyZXR1cm4gaTtpZighdGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpcmV0dXJuIGk7Y29uc3QgbD10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcyxoPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2hsY1Bsb3RzO2xldCBjLGQ7aWYobCYmbC5jaGlsZHMoKVtlXSYmKGM9bC5jaGlsZHMoKVtlXSksaCYmaC5jaGlsZHMoKVtlXSYmKGM9aC5jaGlsZHMoKVtlXSksIWN8fGMuY2hpbGRzKCkuZGlzcGxheS52YWx1ZSgpPT09Wi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0Lk5vbmUpcmV0dXJuIGk7Y29uc3QgcD10aGlzLm1ldGFJbmZvKCkucGxvdHM7Zm9yKGQ9MDtkPHAubGVuZ3RoO2QrKyl7Y29uc3QgdD1wW2RdO2lmKHQuaWQ9PT1lfHwoMCxaLmlzT2hsY0Nsb3NlUGxvdCkodCkmJnQudGFyZ2V0PT09ZSlicmVha31jb25zdCBfPWQrMSxmPXRoaXMub2Zmc2V0KGUpLG09dGhpcy5uZWFyZXN0SW5kZXgoYS5sYXN0QmFyKCktZixTLlBsb3RSb3dTZWFyY2hNb2RlLk5lYXJlc3RMZWZ0LF8pO2lmKHZvaWQgMD09PW0pcmV0dXJuIGk7Y29uc3QgeT10aGlzLl9sYXN0Tm9uRW1wdHlQbG90Um93KF8pLGc9bnVsbCE9PXkmJmEuY29udGFpbnMoeS5pbmRleCksYj1udWxsIT09eT95LnZhbHVlOm51bGwsdj10fHxnP2I6dGhpcy5kYXRhKCkudmFsdWVBdChtKTtpZighdnx8ISgwLHUuaXNOdW1iZXIpKHZbX10pKXJldHVybiBpO2NvbnN0IFA9dltfXSxJPXRoaXMuX3ZhbHVlc1Byb3ZpZGVyLmdldFBsb3RDb2xvcihkLHYpLHc9bi5wcmljZVRvQ29vcmRpbmF0ZShQLG8pLEM9dGhpcy5wbG90Rm9ybWF0dGVyKGUpLmZvcm1hdChQKSxWPXsuLi5uLmdldEZvcm1hdHRlZFZhbHVlcyhQLG8sdm9pZCAwLEMpLG5vRGF0YTohMSxjb2xvcjpJLGNvb3JkaW5hdGU6d307cmV0dXJuIHMmJihWLnByaWNlPVApLFZ9aXNGYWlsZWQoKXtyZXR1cm4gdGhpcy5zdGF0dXMoKS50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yfWlzTG9hZGluZygpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuTG9hZGluZ31pc0NvbXBsZXRlZCgpe3JldHVybiB0aGlzLnN0YXR1cygpLnR5cGU9PT1adC5TdHVkeVN0YXR1c1R5cGUuQ29tcGxldGVkfWlzU3ltYm9sSW52YWxpZCgpe2NvbnN0IGU9dGhpcy5fc3RhdHVzLnZhbHVlKCk7cmV0dXJuIGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS5lcnJvckRlc2NyaXB0aW9uLmVycm9yPT09YnN9c2VyaWVzKCl7cmV0dXJuIHRoaXMuX3Nlcmllc31tb2RlbCgpe3JldHVybiB0aGlzLl9tb2RlbH1zdGF0ZShlLHQpe2NvbnN0IHM9KDAsaC5lbnN1cmVOb3ROdWxsKSgoMCxBLmdldFN0dWR5Q2xhc3NOYW1lKSh0aGlzLmNvbnN0cnVjdG9yKSksaT10aGlzLm1ldGFJbmZvKCkscj10aGlzLnByb3BlcnRpZXMoKS5zdGF0ZSgpLG49e3R5cGU6cyxpZDp0aGlzLmlkKCksc3RhdGU6cix6b3JkZXI6dGhpcy56b3JkZXIoKSxvd25GaXJzdFZhbHVlOnRoaXMuaXNWaXNpYmxlKCk/bnVsbDp0aGlzLl9vd25GaXJzdFZhbHVlLG1ldGFJbmZvOnRoaXMuX29yaWdpbmFsTWV0YUluZm8uc3RhdGUoKX0sYT0oMCwKbC5kZWZhdWx0KShuLm1ldGFJbmZvLHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7KDAsby5kZWZhdWx0KShhKXx8KG4ubWV0YUluZm9QYXRjaD1hKTtjb25zdCB1PXRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PmUuaWQoKSkpO2lmKHUubGVuZ3RoJiYobi5wYXJlbnRTb3VyY2VzPXUpLGUpe2xldCBlPXRoaXMuZGF0YSgpO2NvbnN0IHQ9dGhpcy5fbW9kZWwudGltZVNjYWxlKCkscz10aGlzLl9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSk7bnVsbCE9PXMmJihlPWUucmFuZ2Uocy5maXJzdEJhcigpLHMubGFzdEJhcigpKSksbi5kYXRhPWUuc3RhdGUoKSxuLmRhdGEuc3ltYm9scz10aGlzLl9yZXNvbHZlZFN5bWJvbHMsbi5kYXRhLmdyYXBoaWNzPSgwLEsuc2F2ZVN0dWR5R3JhcGhpY3MpKHRoaXMuZ3JhcGhpY3MoKSx0LnZpc2libGVCYXJzU3RyaWN0UmFuZ2UoKSksbi5kYXRhLnBsb3RPZmZzZXRzPXRoaXMuX3NlcnZlclBsb3RPZmZzZXRzLnZhbHVlKCl9dGhpcy5vd25lclNvdXJjZSgpJiYobi5vd25lclNvdXJjZT10aGlzLm93bmVyU291cmNlKCk/LmlkKCkpO2ZvcihsZXQgZT0wO2U8aS5pbnB1dHMubGVuZ3RoO2UrKylpZigiYmFyX3RpbWUiPT09aS5pbnB1dHNbZV0udHlwZSl7Y29uc3QgdD1pLmlucHV0c1tlXS5pZCxzPW4uc3RhdGUuaW5wdXRzW3RdO2lmKHM8MCl7Y29uc3QgZT10aGlzLl9yaWdodE9mZnNldFRvVW5peFRpbWUoLXMpO24uc3RhdGUuaW5wdXRzW3RdPWUmJmU+PTA/ZTowfX1pZihuLnN0YXRlPy5pbnB1dHMpe2NvbnN0IGU9bi5tZXRhSW5mby5pbnB1dHMuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO2UmJmRlbGV0ZSBuLnN0YXRlLmlucHV0c1tlLmlkXSxkZWxldGUgbi5zdGF0ZS5pbnB1dHMuX19sb2dfbGV2ZWwsZGVsZXRlIG4uc3RhdGUuaW5wdXRzLl9fcHJvZmlsZX1jb25zdCBjPXRoaXMuc3RhdGVDdXN0b21GaWVsZHMoKTt2YXIgZDtyZXR1cm4gYyYmKG4uY3VzdG9tRmllbGRzPWMpLHQmJihkPW4pLm1ldGFJbmZvJiZkLm1ldGFJbmZvLnNjcmlwdElkUGFydCYmZC5tZXRhSW5mby5zY3JpcHRJZFBhcnQuc3RhcnRzV2l0aCgiVVNFUjsiKSYmKE9zKGQpLGZ1bmN0aW9uKGUpe2NvbnN0IHQ9KGUubWV0YUluZm8mJmUubWV0YUluZm8uaW5wdXRzfHxbXSkuZmluZCgoZT0+IklMU2NyaXB0Ij09PWUubmFtZSkpO3QmJih0LmRlZnZhbD0iIixlLnN0YXRlJiZlLnN0YXRlLmlucHV0cyYmKGUuc3RhdGUuaW5wdXRzW3QuaWRdPSIiKSxlLm1ldGFJbmZvLmRlZmF1bHRzLmlucHV0cyYmKGUubWV0YUluZm8uZGVmYXVsdHMuaW5wdXRzW3QuaWRdPSIiKSl9KGQpKSxufXN0YXRlQ3VzdG9tRmllbGRzKCl7Y29uc3QgZT10aGlzLl9jb21waWxlRXJyb3JTdGF0dXMudmFsdWUoKTtpZihlKXJldHVybntjb21waWxlRXJyb3JEZXNjcmlwdGlvbjplLmVycm9yRGVzY3JpcHRpb259fXJlc3RvcmVTdGF0ZUN1c3RvbUZpZWxkcyhlKXtjb25zdCB0PWUuY29tcGlsZUVycm9yRGVzY3JpcHRpb247dCYmdGhpcy5zZXRFcnJvckNvbXBpbGF0aW9uKFsoMCxoLmVuc3VyZURlZmluZWQpKHQuZWRpdG9yRXJyb3IpXSl9cmVzdG9yZURhdGEoZSl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLnJlc3RvcmVTdGF0ZShlKSx0aGlzLl9yZXNvbHZlZFN5bWJvbHM9ZS5zeW1ib2xzPz97fSx0aGlzLl9ncmFwaGljcz1lLmdyYXBoaWNzPygwLEsubG9hZFN0dWR5R3JhcGhpY3MpKGUuZ3JhcGhpY3MpOigwLEsuZW1wdHlTdHVkeUdyYXBoaWNzKSgpLHRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlLnBsb3RPZmZzZXRzPz97fSksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9LCEwKX1oYXNTdGF0ZUZvckFsZXJ0KCl7cmV0dXJuIEllLmFsZXJ0c0F2YWlsYWJsZSYmIXRoaXMuaXNGYWlsZWQoKSYmIXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaXNUVkxpYnJhcnkmJnRoaXMuX3Nlcmllcy5hbGVydENyZWF0aW9uQXZhaWxhYmxlKCkudmFsdWUoKSYmKHRoaXMuX2hhc0FsZXJ0Q29uZGl0aW9ucygpfHx0aGlzLl9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl8fHRoaXMuX2hhc0FsZXJ0RnVuY3Rpb24oKSl9c3RhdGVGb3JBbGVydCgpe2lmKHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZSlyZXR1cm4gdGhpcy5fc3RhdGVGb3JBbGVydENhY2hlO2NvbnN0IGU9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9hbGVydE1ldGFJbmZvKCkpLHQ9dGhpcy5fcGxvdHNGb3JBbGVydCgpLHM9dGhpcy5fY29sbGVjdERlcHNGb3JBbGVydCgpLGk9cy5pZEZvckFsZXJ0LHI9cy5zdHVkeURlcGVuZGVuY2llcyxuPXMuaW5wdXRzRm9yQWxlcnQsYT10aGlzLl9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCksbz1QLnN0dWR5SWRzSGlkZUlucHV0c01vZGUuaGFzKCgwLEQuZXh0cmFjdFN0dWR5SWQpKGUuZnVsbElkKSksbD17aWQ6aSx0eXBlOigwLGguZW5zdXJlTm90TnVsbCkoKDAsQS5nZXRTdHVkeUNsYXNzTmFtZSkodGhpcy5jb25zdHJ1Y3RvcikpLHRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMSx7fSxvLCExLCEwKSxzaG9ydFRpdGxlOnRoaXMuX3RpdGxlKFcuVGl0bGVEaXNwbGF5VGFyZ2V0LkFsZXJ0cywhMCx7fSxvLCExLCEwKSxzaG9ydERlc2NyaXB0aW9uOigwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShlLnNob3J0RGVzY3JpcHRpb258fCJTdHVkeSIpLGZ1bGxJZDplLmZ1bGxJZCxpc1RWU2NyaXB0OkJvb2xlYW4oZS5pc1RWU2NyaXB0KSxoYXNBbGVydEZ1bmN0aW9uOkJvb2xlYW4oZS5oYXNBbGVydEZ1bmN0aW9uKSxwbG90czp0LGlucHV0czpuLGFsZXJ0czplLmFsZXJ0cyxzY3JpcHRJZFBhcnQ6ZS5zY3JpcHRJZFBhcnQsc2NyaXB0VmVyc2lvbjplLnBpbmU/ZS5waW5lLnZlcnNpb246Ii0xIixzdHVkeURlcGVuZGVuY2llczpyLGZvcm1hdHRlcjphLGlzRnVuZGFtZW50YWxTdHVkeTplLmlzRnVuZGFtZW50YWxTdHVkeX0sdT1lLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZQo7cmV0dXJuIHUmJihsLmRlZmF1bHRTdHJhdGVneUFsZXJ0TWVzc2FnZT0oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodSkpLHRoaXMuX3N0YXRlRm9yQWxlcnRDYWNoZT1sLGx9YXN5bmMgc3RhdGVGb3JBbGVydEFzeW5jKCl7cmV0dXJuIHRoaXMuX2FsZXJ0TWV0YUluZm8oKXx8YXdhaXQgdGhpcy5fYXdhaXRGb3JNZXRhSW5mbygpLHRoaXMuc3RhdGVGb3JBbGVydCgpfWlkRm9yQWxlcnQoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2lkRm9yQWxlcnRDYWNoZSYmKHRoaXMuX2lkRm9yQWxlcnRDYWNoZT10aGlzLl9jb2xsZWN0RGVwc0ZvckFsZXJ0KCkuaWRGb3JBbGVydCksdGhpcy5faWRGb3JBbGVydENhY2hlfWhhc0JhckNvbG9yZXIoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5zb21lKFouaXNCYXJDb2xvcmVyUGxvdCl9YmFyQ29sb3Jlcigpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cztsZXQgdD1udWxsO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PTA7cy0tKWlmKCgwLFouaXNCYXJDb2xvcmVyUGxvdCkoZVtzXSkpe2NvbnN0IGU9bmV3IG9zKHRoaXMscyk7bnVsbD09PXQ/dD1lOnQucHVzaEJhY2tCYXJDb2xvcmVyKGUpfXJldHVybiB0fWlzU2F2ZWRJblN0dWR5VGVtcGxhdGVzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLmV2ZXJ5KChlPT4iYmFyX3RpbWUiIT09ZS50eXBlKSl9cmVzdGFydChlKXt0aGlzLl9yZXN0YXJ0aW5nPSEwLHRoaXMuY2xlYXJEYXRhKCksKGV8fCgwLEkuaXNGZWF0dXJlc2V0RW5hYmxlZCkoInN0b3Bfc3R1ZHlfb25fcmVzdGFydCIpKSYmdGhpcy5zdG9wKCksc2V0VGltZW91dCh0aGlzLnN0YXJ0LmJpbmQodGhpcyksMCl9c3RvcChlLHQpe2lmKCEwPT09ZSYmdGhpcy5fY2hpbGRyZW4pZm9yKGNvbnN0IGUgb2YgdGhpcy5fY2hpbGRyZW4pZS5zdG9wKCEwKTt0aGlzLl9zdG9wU3R1ZHlPblNlcnZlcigpLHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fdW5zdWJzY3JpYmVUb1Nlc3Npb25JZCgpLHRoaXMucmVjYWxjdWxhdGUoKX1kaXNjb25uZWN0KCl7dGhpcy5faXNTdGFydGVkPSExLHRoaXMuX21vZGVsLmlzU25hcHNob3QoKXx8KHRoaXMuX3Jlc29sdmVkU3ltYm9scz17fSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0PXt9KX1zb3VyY2VJZCgpe3JldHVybiB0aGlzLl9pZC52YWx1ZSgpfXBhcmVudFNvdXJjZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpfXBhcmVudFNvdXJjZXNWVygpe3JldHVybiB0aGlzLl9zb3VyY2VzfXN5bWJvbFNvdXJjZSgpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UudmFsdWUoKX1zeW1ib2xTb3VyY2VXVigpe3JldHVybiB0aGlzLl9zeW1ib2xTb3VyY2UucmVhZG9ubHkoKX12YWx1ZUF0KGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sU291cmNlKCkudmFsdWVBdChlLHQpfWJhcnNQcm92aWRlcigpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuYmFyc1Byb3ZpZGVyKCl9b3duZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy5pc0NoaWxkU3R1ZHkoKT90aGlzLl9zb3VyY2VzLnZhbHVlKClbMF06c3VwZXIub3duZXJTb3VyY2UoKX1pc0NoaWxkU3R1ZHkoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpLmxlbmd0aD4wfWhhc0NoaWxkcmVuKCl7cmV0dXJuIHRoaXMuX2NoaWxkcmVuLmxlbmd0aD4wfWlzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9pc1N0YXJ0ZWR9aXNSZXN0YXJ0aW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3RhcnRpbmd9aXNBY3R1YWxJbnRlcnZhbCgpe3JldHVybiB0aGlzLl9pc0FjdHVhbEludGVydmFsfW9uSXNBY3R1YWxJbnRlcnZhbENoYW5nZSgpe3JldHVybiB0aGlzLl9vbklzQWN0dWFsSW50ZXJ2YWxDaGFuZ2V9aXNWaXNpYmxlKCl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpO2lmKHRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCl8fCFlLnZpc2libGUudmFsdWUoKXx8IXRoaXMuaXNBY3R1YWxJbnRlcnZhbCgpKXJldHVybiExO2NvbnN0IHQ9dGhpcy5tZXRhSW5mbygpO2lmKHQucGxvdHMubGVuZ3RoPjApZm9yKGxldCBzPTA7czx0LnBsb3RzLmxlbmd0aDtzKyspe2NvbnN0IGk9dC5wbG90c1tzXS5pZCxyPWUuc3R5bGVzLmNoaWxkcygpW2ldO2lmKHZvaWQgMD09PXIpY29udGludWU7aWYoci5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSlyZXR1cm4hMH1pZih0LmJhbmRzKWZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKWlmKGUuYmFuZHMuY2hpbGRzKClbc10uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpKXJldHVybiEwO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3MpKWZvcihjb25zdCBpIG9mIE9iamVjdC5rZXlzKHQuZ3JhcGhpY3Nbc10pKXtjb25zdCB0PWUuZ3JhcGhpY3MuY2hpbGRzKClbc10/LmNoaWxkcygpW2ldO2lmKHZvaWQgMCE9PXQmJih0LmNoaWxkKCJ2aXNpYmxlIik/LnZhbHVlKCk/PzEpKXJldHVybiEwfWlmKHQuZmlsbGVkQXJlYXMpZm9yKGxldCBzPTA7czx0LmZpbGxlZEFyZWFzLmxlbmd0aDtzKyspaWYoZS5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW3QuZmlsbGVkQXJlYXNbc10uaWRdLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSlyZXR1cm4hMDtyZXR1cm4hKCF0LmlzVFZTY3JpcHRTdHJhdGVneSYmIXQuaGFzQWxlcnRGdW5jdGlvbil9YXN5bmMgc3RhcnQoZSx0LHMpe2NvbnN0IGk9dGhpcy5fbW9kZWwubWFpblNlcmllcygpO2F3YWl0IGkuc2VyaWVzQ3JlYXRlZCgpLGF3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maWx0ZXIoKGU9PmUuaXNIaWJlcm5hdGVkKCkpKS5tYXAoKGU9PmUuc3RhcnQoKSkpKTtjb25zdCByPSEodGhpcy5pc0hpYmVybmF0aW9uQWxsb3dlZCgpJiYhdGhpcy5pc1Zpc2libGUoKSl8fCEwPT09dDtpZih0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyKXRyeXthd2FpdCB0aGlzLl9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKSxhd2FpdCB0aGlzLl9zdGFydEFmdGVyU3ltYm9sc1Jlc29sdmVkKGUsdCkKfWNhdGNoKGUpe2NvbnN0IHQ9YEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gc3RhcnQgZmFpbGVkLCAke2V9YDtTcy5sb2dFcnJvcih0KSx0aGlzLl9yZXN0YXJ0aW5nPSExLCJUb29NYW55U3R1ZGllcyI9PT1lPy5jYXVzZSYmKDAsQi5zaG93VG9vTWFueVN0dWRpZXNOb3RpY2UpKHRoaXMuX2NoYXJ0QXBpLmdldFN0dWR5Q291bnRlcigpKX1yfHx2b2lkIDAhPT10aGlzLl9pbnB1dHN8fCh0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCkpfXJlcGxhY2VEYXRhKGUsdCxzKXt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5kYXRhKCkucmVtb3ZlKGUrMSksdGhpcy5kYXRhKCkuYWRkVGFpbChzLHQpfWlucHV0cyhlKXtjb25zdCB0PSgwLGEuZGVmYXVsdCkoKDAsdS5jbG9uZSkoQ3MpLGV8fHt9KTt0LnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYodC5rZWVwT3B0aW9uYWxTeW1ib2xzRW1wdHk9ITApO3JldHVybiB0aGlzLl9idWlsZElucHV0cyh0KX1kYXRhKCl7cmV0dXJuIHRoaXMuX2RhdGF9bW92ZURhdGEoZSl7dGhpcy5fb25nb2luZ0RhdGFVcGRhdGU9dGhpcy5fb25nb2luZ0RhdGFVcGRhdGUudGhlbigoKCk9Pnt0aGlzLl9pbnZhbGlkYXRlTGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlKCksdGhpcy5fbW92ZURhdGEoZSksdGhpcy5kYXRhKCkuaXNFbXB0eSgpfHx0aGlzLl9vbkluZGV4RGlmZnNBcHBsaWVkKGUpfSkpfXBsb3RzKCl7cmV0dXJuIHRoaXMuZGF0YSgpfW1ldGFJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCl9b3JpZ2luYWxNZXRhSW5mbygpe3JldHVybiB0aGlzLl9vcmlnaW5hbE1ldGFJbmZvfXN0YXR1cygpe3JldHVybiB0aGlzLl9jb21wb3VuZFN0YXR1cy52YWx1ZSgpfW5hbWUoZSl7Y29uc3QgdD10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIGU/dC5zaG9ydERlc2NyaXB0aW9uPygwLGQuZGVjb2RlSFRNTEVudGl0aWVzKSh0LnNob3J0RGVzY3JpcHRpb24pOiJTdHVkeSI6dC5kZXNjcmlwdGlvbj8oMCxkLmRlY29kZUhUTUxFbnRpdGllcykodC5kZXNjcmlwdGlvbik6IlN0dWR5In10aXRsZShlLHQscyxpLHIsbil7aT12b2lkIDA9PT1pPyF0aGlzLl9zaG93U3R1ZHlBcmd1bWVudHNQcm9wZXJ0eS52YWx1ZSgpOmk7Y29uc3QgYT1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyLG5dKTtpZih0aGlzLl90aXRsZVN0ckNhY2hlW2FdKXJldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdO2lmKHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlW2FdKXJldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHModGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbYV0pO2NvbnN0IG89dGhpcy5fdGl0bGUoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl90aXRsZVN0ckNhY2hlW2FdPW8sb310aXRsZUluUGFydHMoZSx0LHMsaSxyKXtpPXZvaWQgMD09PWk/IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCk6aTtjb25zdCBuPUpTT04uc3RyaW5naWZ5KFtlLHQscyxpLHJdKTtpZih0aGlzLl90aXRsZUluUGFydHNDYWNoZVtuXSlyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl07Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyKTtyZXR1cm4gdGhpcy5fdGl0bGVJblBhcnRzQ2FjaGVbbl09YSxhfWdldFNwbGl0VGl0bGUoZSl7Y29uc3QgdD1gZ2V0U3BsaXRUaXRsZToke2U/PyExfWAscz10aGlzLl9zcGxpdFRpdGxlQ2FjaGVbdF07aWYocylyZXR1cm4gcztjb25zdCBpPXRoaXMuX2dldFNwbGl0VGl0bGUoZSk7cmV0dXJuIHRoaXMuX3NwbGl0VGl0bGVDYWNoZVt0XT1pLGl9aW5wdXRzSW5QYXJ0cyhlLHQ9ITAscyxpLHIpe2NvbnN0IG49IXRoaXMuX3Nob3dTdHVkeUFyZ3VtZW50c1Byb3BlcnR5LnZhbHVlKCksYT0oMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpLG89biYmYTtpZihuJiYhYSYmZT09PVcuVGl0bGVEaXNwbGF5VGFyZ2V0LlN0YXR1c0xpbmUpcmV0dXJuIG51bGw7Y29uc3QgbD1KU09OLnN0cmluZ2lmeShbZSx0LHMsaSxyXSk7aWYodGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdKXJldHVybiB0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGVbbF07Y29uc3QgYz1bXSxkPXRoaXMubWV0YUluZm8oKSxwPXRoaXMuX3RpdGxlSW5wdXRzKCgwLHlzLnRvSW5wdXREaXNwbGF5RmxhZ3MpKGUpLGksITApLF89ZC5pbnB1dHMuZmlsdGVyKChlPT5wLmhhc093blByb3BlcnR5KGUuaWQpJiYoIW98fCJzeW1ib2wiPT09ZS50eXBlfHxlPy5pc0Fsd2F5c1Nob3duSW5MZWdlbmQpKSkubWFwKChlPT57bGV0IHQ9cFtlLmlkXTtpZigic3ltYm9sIj09PWUudHlwZSl7Y29uc3Qgcz10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChlLmlkKT8udmFsdWUoKTtpZihzKXtjb25zdCBlPXRoaXMuX3Jlc29sdmVkU3ltYm9sc0J5SW5wdXRbc107ZSYmKHQ9dGhpcy5fbW9kZWwuc3ltYm9sQWxpYXNTZXJ2aWNlKCk/LmdldEFsaWFzQnlQcm9OYW1lKGUucHJvX25hbWUpPy5hbGlhc05hbWU/P3QpfX1yZXR1cm57bWV0YTplLHZhbHVlOnR9fSkpLGY9e307aWYoXy5sZW5ndGg+MCl7aWYodGhpcy5pc0NoaWxkU3R1ZHkoKSlmb3IobGV0IHM9MDtzPGQuaW5wdXRzLmxlbmd0aDsrK3Mpe2NvbnN0IG49ZC5pbnB1dHNbc107aWYoIXYuU3R1ZHlNZXRhSW5mby5pc1NvdXJjZUlucHV0KG4pKWNvbnRpbnVlO2NvbnN0IGE9bi5pZCxvPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoYSkpLnZhbHVlKCk7aWYoby5pbmRleE9mKCIkIik+PTApe2NvbnN0IHM9dGhpcy5wYXJlbnRTb3VyY2VGb3JJbnB1dChvKTtpZihzIGluc3RhbmNlb2YgVXMpe2NvbnN0IG49cy5tZXRhSW5mbygpLGE9cy50aXRsZShlLHQse30sITAsaSxyKTtpZigxPT09bi5wbG90cy5sZW5ndGgpZltvXT1hO2Vsc2V7Y29uc3QgZT1vLnNwbGl0KCIkIilbMV0sdD1uLnBsb3RzW3BhcnNlSW50KGUpXT8uaWQscz1uLnN0eWxlcyYmbi5zdHlsZXNbdF0saT1zJiZzLnRpdGxlfHx0O2Zbb109YSsiOuKAiSIraX19fX0KXy5mb3JFYWNoKCgoe21ldGE6ZSx2YWx1ZTp0fSk9PntsZXQgaTtpPSJ0aW1lIj09PWUudHlwZT9uZXcgRGF0ZSh0KS50b0lTT1N0cmluZygpOigwLHUuaXNOdW1iZXIpKHQpPygwLHBzLmdldE51bWVyaWNGb3JtYXR0ZXIpKCkuZm9ybWF0KHQpOmYmJmZbdC50b1N0cmluZygpXXx8dC50b1N0cmluZygpLHMmJnNbaS50b1N0cmluZygpXSYmKGk9c1tpLnRvU3RyaW5nKCldKSxjLnB1c2goe3RpdGxlOigwLGdzLmdldFRyYW5zbGF0ZWRJbnB1dFRpdGxlKShlLm5hbWUpLHZhbHVlOml9KX0pKX1yZXR1cm4gdGhpcy5faW5wdXRzSW5QYXJ0c0NhY2hlW2xdPWMsY31pbnZhbGlkYXRlVGl0bGVDYWNoZShlKXtpZih0aGlzLl90aXRsZVN0ckNhY2hlPXt9LHRoaXMuX3RpdGxlSW5QYXJ0c0NhY2hlPXt9LHRoaXMuX3NwbGl0VGl0bGVDYWNoZT17fSx0aGlzLl9pbnB1dHNJblBhcnRzQ2FjaGU9e30sITA9PT1lJiZ0aGlzLl9jaGlsZHJlbilmb3IobGV0IHQ9MDt0PHRoaXMuX2NoaWxkcmVuLmxlbmd0aDsrK3QpdGhpcy5fY2hpbGRyZW5bdF0uaW52YWxpZGF0ZVRpdGxlQ2FjaGUoZSl9Z3JhcGhpY3MoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3N9Z3JhcGhpY3NJbmZvKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuZ3JhcGhpY3N9cHJpY2VMYWJlbFRleHQoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dC5zdHlsZXMsaT10Lm9obGNQbG90cztsZXQgcjtzJiZzW2VdJiYocj1zW2VdKSxpJiZpW2VdJiYocj1pW2VdKTtjb25zdCBuPSgwLGguZW5zdXJlRGVmaW5lZCkocikudGl0bGU7bGV0IGE7cmV0dXJuIGE9MSE9PXRoaXMuX3NpbXBsZVBsb3RzQ291bnR8fCgwLFouaXNQbG90VGl0bGVEZWZpbmVkKShuKT90LmlzX3ByaWNlX3N0dWR5JiZuIT09dC5zaG9ydERlc2NyaXB0aW9uPyIiPT09bj90LnNob3J0RGVzY3JpcHRpb246dC5zaG9ydERlc2NyaXB0aW9uKyI6IituOm46dC5zaG9ydERlc2NyaXB0aW9uLCgwLGQuZGVjb2RlSFRNTEVudGl0aWVzKShhKX1zZXRPd25GaXJzdFZhbHVlKGUpe3RoaXMuX293bkZpcnN0VmFsdWU9ZX1maXJzdFZhbHVlKGUsdCl7aWYodClyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKTtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7aWYoIXRoaXMuaXNDaGlsZFN0dWR5KCkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyI9PT1zLmlkfHwhcy5pc19wcmljZV9zdHVkeSl7Y29uc3QgdD10aGlzLl9tb2RlbC50aW1lU2NhbGUoKS52aXNpYmxlQmFyc1N0cmljdFJhbmdlKCk7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKTtpZighaS52aXNpYmxlLnZhbHVlKCl8fCF0aGlzLmlzQWN0dWFsSW50ZXJ2YWwoKXx8bnVsbCE9PXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQpcmV0dXJuIHRoaXMuX293bkZpcnN0VmFsdWU7Y29uc3Qgcj10LmZpcnN0QmFyKCksbj10Lmxhc3RCYXIoKTtsZXQgYT10aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHM/ZnVuY3Rpb24oZSx0KXtjb25zdCBzPWUubW9kZWwoKS50aW1lU2NhbGUoKTtpZihzLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtjb25zdCBpPXMudmlzaWJsZUJhcnNTdHJpY3RSYW5nZSgpO2lmKG51bGw9PT1pKXJldHVybiBudWxsO2NvbnN0IHI9aS5maXJzdEJhcigpLG49aS5sYXN0QmFyKCksYT1uZXcgYmU7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1lLmZpcnN0VmFsdWUocixuKTthLmltcHJvdmUodCl9cmV0dXJuIGEuYmVzdFByaWNlKCl9KHRoaXMsdGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzKTpudWxsO2lmKG51bGw9PT1hKXtjb25zdCB0PW5ldyBTZXQsbz1zLmZpbGxlZEFyZWFzfHxbXTtmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3Qgcz1vW2VdO2kuZmlsbGVkQXJlYXNTdHlsZS5jaGlsZHMoKVtzLmlkXS5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkmJih0LmFkZChzLm9iakFJZCksdC5hZGQocy5vYmpCSWQpKX1jb25zdCBsPXMucGxvdHN8fFtdLHU9W10sYz1bXTtmb3IobGV0IGU9MDtlPGwubGVuZ3RoOysrZSl7Y29uc3Qgcj1sW2VdLG49ci5pZDtpZigoMCxaLmlzQ29sb3JlclBsb3QpKHIpfHxzLmlzUGxvdEZvcmNlT3ZlcmxheShuKSljb250aW51ZTtpZigoMCxoLmVuc3VyZURlZmluZWQpKGkuc3R5bGVzLmNoaWxkcygpW25dKS5jaGlsZHMoKS5kaXNwbGF5LnZhbHVlKCkhPT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZXx8dC5oYXMobikpe2lmKCgwLFouaXNMaW5lUGxvdCkocikpe2NvbnN0IHQ9aS5zdHlsZXMuY2hpbGRzKClbbl0uY2hpbGRzKCkucGxvdHR5cGUudmFsdWUoKTsoMCxaLmRvZXNMaW5lUGxvdFN0eWxlU3VwcG9ydEZpbGxCcmVha3MpKHQpJiZjLnB1c2goZSl9dS5wdXNoKGUpfX1pZihjLmxlbmd0aCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmxvZ2ljYWxSYW5nZSgpKSxzPU1hdGguZmxvb3IodC5sZWZ0KCkpO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtjb25zdCBpPWNbdF0scj10aGlzLl9nZXRGaXJzdFZhbEZvclBsb3RUaGF0U3VwcG9ydEZpbGxCcmVha3MoaSxzKTtpZighKG51bGw9PT1yfHxlJiZNYXRoLmFicyhyKTwxZS0xMCkpe2E9cjticmVha319fWlmKG51bGw9PT1hJiYwIT09dS5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgdGhpcy5kYXRhKCkucmFuZ2VJdGVyYXRvcihyLG4pKXtjb25zdCBzPXQudmFsdWU7Zm9yKGxldCB0PTA7dDx1Lmxlbmd0aDsrK3Qpe2NvbnN0IGk9c1t1W3RdKzFdO2lmKCEobnVsbD09aXx8ZSYmTWF0aC5hYnMoaSk8MWUtMTApKXthPWk7YnJlYWt9fWlmKG51bGwhPT1hKWJyZWFrfX1yZXR1cm4gdGhpcy5fb3duRmlyc3RWYWx1ZT1hLG51bGwhPT1hP2E6dGhpcy5fYmFuZHNGaXJzdFZhbHVlKGUpfWlmKHRoaXMuaXNDaGlsZFN0dWR5KCkpe2NvbnN0IGU9dGhpcy5fZ2V0Tm9uUHJpY2VQYXJlbnQoKTtpZihlJiZ0aGlzLnByaWNlU2NhbGUoKT09PWUucHJpY2VTY2FsZSgpKXJldHVybiBudWxsIT09ZS5fb3duRmlyc3RWYWx1ZT9lLl9vd25GaXJzdFZhbHVlOmUuZmlyc3RWYWx1ZSgpfQpyZXR1cm4gdGhpcy5fc2VyaWVzLmZpcnN0VmFsdWUoKX1kZXNpcmVkUHJpY2VTY2FsZVBvc2l0aW9uKCl7aWYodGhpcy5tZXRhSW5mbygpLmlzVFZTY3JpcHRTdHViKXJldHVybiJvdmVybGF5IjtpZih0aGlzLm1ldGFJbmZvKCkubGlua2VkVG9TZXJpZXMpcmV0dXJuImFzLXNlcmllcyI7c3dpdGNoKHRoaXMubWV0YUluZm8oKS5wcmljZVNjYWxlKXtjYXNlIDE6cmV0dXJuImxlZnQiO2Nhc2UgMDpyZXR1cm4icmlnaHQiO2Nhc2UgMjpyZXR1cm4ib3ZlcmxheSI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19b2Zmc2V0KGUpe3JldHVybiB0aGlzLl9wbG90T2Zmc2V0cy52YWx1ZSgpPy5bZV0/PzB9dGFncygpe2NvbnN0IGU9dGhpcy5fbWV0YUluZm8udmFsdWUoKTtyZXR1cm4hZS5kZXNjcmlwdGlvbnx8ZS5pc1RWU2NyaXB0U3R1Ynx8ZS5pc19oaWRkZW5fc3R1ZHl8fGUuaXNUVlNjcmlwdCYmInR2LXNjcmlwdGluZyI9PT1lLnByb2R1Y3RJZD9bXTpbZS5kZXNjcmlwdGlvbl19Y29waWFibGUoKXtyZXR1cm4gUnMmJiF0aGlzLmlzQ2hpbGRTdHVkeSgpfXNldFByaWNlU2NhbGUoZSl7c3VwZXIuc2V0UHJpY2VTY2FsZShlKSwoMCxscy5lbWl0KSgic3R1ZHlfZXZlbnQiLHRoaXMuaWQoKSwicHJpY2Vfc2NhbGVfY2hhbmdlZCIpfXByaWNlUmFuZ2UoZSl7bGV0IHQ9bnVsbDtjb25zdCBzPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkse3N0YXJ0VGltZVBvaW50OmksZW5kVGltZVBvaW50OnJ9PWUsbj10aGlzLl9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSk7bGV0IGE9dGhpcy5kYXRhKCkubWluTWF4T25SYW5nZUNhY2hlZChpLHIsbi5maWVsZHMpO2lmKGE9KDAsZy5tZXJnZU1pbk1heCkobi5iYXNlVmFsdWVNaW5NYXgsYSksbi51c2VNYWluU2VyaWVzUmFuZ2Upe2NvbnN0IGU9W3tuYW1lOiJsb3ciLG9mZnNldDowfSx7bmFtZToiaGlnaCIsb2Zmc2V0OjB9XSx0PXRoaXMuc2VyaWVzKCkuZGF0YSgpLmJhcnMoKS5taW5NYXhPblJhbmdlQ2FjaGVkKGkscixlKTthPSgwLGcubWVyZ2VNaW5NYXgpKGEsdCl9aWYobnVsbCE9PWEmJih0PW5ldyBqLlByaWNlUmFuZ2UoYS5taW4sYS5tYXgpKSxzLmJhbmRzJiZlLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSlmb3IobGV0IGU9MDtlPHMuYmFuZHMubGVuZ3RoO2UrKyl7Y29uc3Qgcz0oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuYmFuZHMuY2hpbGRzKClbZV0pLmNoaWxkcygpO2lmKHMudmlzaWJsZS52YWx1ZSgpKXtjb25zdCBlPXMudmFsdWUudmFsdWUoKTtpZighKDAsdS5pc051bWJlcikoZSkpY29udGludWU7dD90LmFwcGx5KGUsZSk6dD1uZXcgai5QcmljZVJhbmdlKGUsZSl9fWlmKHRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcyl7Y29uc3Qgcz10aGlzLnByaWNlU2NhbGUoKT09PXRoaXMuX3Nlcmllcy5wcmljZVNjYWxlKCk/dm9pZCAwOnRoaXMucHJpY2VTY2FsZSgpIT09ZS50YXJnZXRQcmljZVNjYWxlLG49ZnVuY3Rpb24oZSx0LHMsaSl7bGV0IHI9bnVsbDtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPW4uZ3JvdXBQcmljZVJhbmdlKHQscyxpKTtudWxsIT09ZSYmKHI9bnVsbD09PXI/ZTpyLm1lcmdlKGUpKX1yZXR1cm4gcn0odGhpcy5fZ3JhcGhpY3NQcmljZVJhbmdlR3JvdXBzLGksciwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk7biYmKHQ9dD90Lm1lcmdlKG4pOm4pfXJldHVybiB0aGlzLl9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UodCxlKX1hdXRvU2NhbGVJbmZvKGUpe2NvbnN0IHQ9dGhpcy5wcmljZVJhbmdlKGUpLHM9dGhpcy5wcmljZVNjYWxlKCk9PT10aGlzLl9zZXJpZXMucHJpY2VTY2FsZSgpP3ZvaWQgMDp0aGlzLnByaWNlU2NhbGUoKSE9PWUudGFyZ2V0UHJpY2VTY2FsZSxpPXRoaXMuX2dyYXBoaWNzUHJpY2VSYW5nZUdyb3Vwcz9mdW5jdGlvbihlLHQscyxpKXtjb25zdCByPXllKCk7Zm9yKGNvbnN0IG4gb2YgZSl7Y29uc3QgZT1uLmdyb3VwUGl4ZWxNYXJnaW5zKHQscyxpKTtyLmJvdHRvbVBpeGVsTWFyZ2luPU1hdGgubWF4KHIuYm90dG9tUGl4ZWxNYXJnaW4sZS5ib3R0b21QaXhlbE1hcmdpbiksci50b3BQaXhlbE1hcmdpbj1NYXRoLm1heChyLnRvcFBpeGVsTWFyZ2luLGUudG9wUGl4ZWxNYXJnaW4pfXJldHVybiByfSh0aGlzLl9ncmFwaGljc1ByaWNlUmFuZ2VHcm91cHMsZS5zdGFydFRpbWVQb2ludCxlLmVuZFRpbWVQb2ludCwhIWUuZm9yY2VPdmVybGF5T25seXx8cyk6e3RvcFBpeGVsTWFyZ2luOjAsYm90dG9tUGl4ZWxNYXJnaW46MH07cmV0dXJue3JhbmdlOnQsdG9wUGl4ZWxNYXJnaW46aS50b3BQaXhlbE1hcmdpbixib3R0b21QaXhlbE1hcmdpbjppLmJvdHRvbVBpeGVsTWFyZ2lufX1mb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX2Zvcm1hdHRlcj8/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmZvcm1hdHRlcighMSl9ZGVmYXVsdEZvcm1hdHRlcigpe2NvbnN0IGU9dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpO3JldHVybiB0aGlzLl9kZWZhdWx0Rm9ybWF0dGVyPz9lLmRlZmF1bHRGb3JtYXR0ZXI/LigpPz9lLmZvcm1hdHRlcigpfXBsb3RGb3JtYXR0ZXIoZSl7cmV0dXJuIHRoaXMuX3Bsb3RGb3JtYXR0ZXJzLmdldChlKT8/dGhpcy5mb3JtYXR0ZXIoKX1pc011bHRpUGFuZUF2YWlsYWJsZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmhhc0ZvcmNlT3ZlcmxheVBsb3RzKCl8fCgwLEguaGFzRm9yY2VPdmVybGF5UHJpbWl0aXZlcykodGhpcy5fbWV0YUluZm8udmFsdWUoKSl9aXNNdWx0aVBhbmVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaGFzRm9yY2VPdmVybGF5UGxvdHMoKX11cGRhdGVBbGxWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcykscz10aGlzLl9tb2RlbC5tYWluUGFuZSgpLGk9InZpZXdwb3J0LWNoYW5nZSI9PT1lLnR5cGUmJmUucGFuZSYmZS5wYW5lIT09czsidmlld3BvcnQtY2hhbmdlIj09PWUudHlwZSYmZS5wYW5lJiZlLnBhbmUhPT10fHwodGhpcy5fcGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksCnRoaXMuX2xhYmVsUGFuZVZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSksdGhpcy5fZGF0YVdpbmRvd1ZpZXc/LnVwZGF0ZShlKSx0aGlzLl9sZWdlbmRWaWV3Py51cGRhdGUoZSksdGhpcy5fc3RhdHVzVmlldz8udXBkYXRlKGUpLHRoaXMuX2Zsb2F0aW5nVG9vbHRpcFZpZXc/LnVwZGF0ZShlKSx0aGlzLl9wcmljZUF4aXNWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX3ByaWNlTGluZXNBeGlzVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNMaW5lc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3Py51cGRhdGUoZSksdGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSksaXx8KHRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MuZm9yRWFjaCgodD0+dC51cGRhdGUoZSkpKSx0aGlzLl9mb3JjZU92ZXJsYXlMYWJlbFBhbmVWaWV3cy5mb3JFYWNoKCh0PT50LnVwZGF0ZShlKSkpLHRoaXMuX2ZvcmNlT3ZlcmxheVByaWNlQXhpc1ZpZXdzLmZvckVhY2goKHQ9PnQudXBkYXRlKGUpKSkpLCJkYXRhLXNvdXJjZS1jaGFuZ2UiPT09ZS50eXBlJiZlLnNvdXJjZUlkPT09dGhpcy5pZCgpJiZlLmNsZWFyRGF0YSYmdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZT0+ZS51cGRhdGVBbGxWaWV3cyh7dHlwZToiZGF0YS1zb3VyY2UtY2hhbmdlIixzb3VyY2VJZDplLmlkKCksY2xlYXJEYXRhOiEwfSkpKX1yZW1vdmVCeVJlbW92ZUFsbFN0dWRpZXMoKXtyZXR1cm4hMH1zdHVkeU5hbWUoKXtyZXR1cm4gdGhpcy5fc3R1ZHlOYW1lfW5lYXJlc3RJbmRleChlLHQscyl7cmV0dXJuIHRoaXMuZGF0YSgpLnNlYXJjaChlLHQscyk/LmluZGV4fWdldE1pbkZpcnN0QmFySW5kZXhGb3JQbG90KGUpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKSxzPXRoaXMuX21ldGFJbmZvLGk9dC5zdHlsZXMuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz90LmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbZV0/LmNoaWxkKCJzaG93TGFzdCIpPy52YWx1ZSgpPz9zLnZhbHVlKCkuc3R5bGVzPy5bZV0/LnNob3dMYXN0Pz90Lm9obGNQbG90cy5jaGlsZHMoKVtlXT8uY2hpbGQoInNob3dMYXN0Iik/LnZhbHVlKCk/P3MudmFsdWUoKS5vaGxjUGxvdHM/LltlXT8uc2hvd0xhc3Q/P251bGw7aWYobnVsbD09PWkpcmV0dXJuLTEvMDtjb25zdCByPXRoaXMuZGF0YSgpLmxhc3RJbmRleCgpO3JldHVybiBudWxsPT09cj8tMS8wOnItaSsxfWd1aVBsb3ROYW1lKGUsdCl7Y29uc3Qgcz10aGlzLl9tZXRhSW5mby52YWx1ZSgpLGk9cy5wbG90cy5maW5kKChlPT5lLmlkPT09dCkpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHI9KDAsWi5pc09obGNQbG90KShpKT9zLm9obGNQbG90cz8uW2kudGFyZ2V0XT8udGl0bGU6cy5zdHlsZXM/Llt0XT8udGl0bGU7cmV0dXJuIHI/KDAsZC5kZWNvZGVIVE1MRW50aXRpZXMpKHIpOnRoaXMudGl0bGUoZSl9cmV0dXJuIHRoaXMudGl0bGUoZSl9Y2hpbGRTdHVkeUJ5UmViaW5kKCl7cmV0dXJuIHRoaXMuX2NoaWxkU3R1ZHlCeVJlYmluZH1pc1BpbmUoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5pc1BpbmUoKX1pc1N0YW5kYXJkUGluZSgpe3JldHVybiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlzU3RhbmRhcmRQaW5lKCl9aXNMaW5rZWRUb1Nlcmllcygpe3JldHVybiEwPT09dGhpcy5fbWV0YUluZm8udmFsdWUoKS5saW5rZWRUb1Nlcmllc31wcmVmZXJyZWRaT3JkZXIoKXtyZXR1cm4hMT09PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmVoaW5kX2NoYXJ0PzA6bnVsbH1kZWZhdWx0UGxvdElkRm9yQWxlcnQoKXtyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cz8uWzBdPy5pZD8/bnVsbH1yZXNvbHZlZFN5bWJvbEluZm9CeVN5bWJvbChlKXtyZXR1cm4gdGhpcy5fcmVzb2x2ZWRTeW1ib2xzJiZlJiZ0aGlzLl9yZXNvbHZlZFN5bWJvbHNbdGhpcy5fZ2V0U3ltYm9sRm9yUmVzb2x2ZShlKV18fG51bGx9aGFzUGVuZGluZ1VucmVzb2x2ZWRTeW1ib2xzKCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdSZXNvbHZlU3ltYm9scy5zaXplPjB9aGFzU3ltYm9sSW5wdXRzKCl7cmV0dXJuIHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuaW5wdXRzLnNvbWUoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSl9Y3VycmVuY3koKXtjb25zdCBlPXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKTtpZihlKXJldHVybigwLHRzLnN5bWJvbEN1cnJlbmN5KShlKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKTtyZXR1cm4gQm9vbGVhbih0KSYmdC5pc19wcmljZV9zdHVkeT90aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuY3VycmVuY3lNZXRhZGF0YSgpLnZhbHVlKCk/LmN1cnJlbnRDdXJyZW5jeT8/bnVsbDpudWxsfWN1cnJlbmN5T3JpZ2luU291cmNlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbmN5T3JpZ2luU291cmNlfWN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe3JldHVybiB0aGlzLl9jdXJyZW5jeVVuaXRTb3VyY2VTeW1ib2xJbmZvLnZhbHVlKCk/P3RoaXMuc3ltYm9sU291cmNlKCk/LnN5bWJvbEluZm8oKT8/bnVsbH11bml0KCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCk7cmV0dXJuIEJvb2xlYW4oZSkmJmUuaXNfcHJpY2Vfc3R1ZHk/dGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnVuaXQoKTpudWxsfXVuaXRPcmlnaW5Tb3VyY2UoKXtyZXR1cm4gdGhpcy5fdW5pdE9yaWdpblNvdXJjZX1jYW5PdmVycmlkZU1pblRpY2soKXtyZXR1cm4hMX1kYXRhV2luZG93Vmlldygpe3JldHVybiB0aGlzLl9kYXRhV2luZG93Vmlld31zdGF0dXNWaWV3KCl7cmV0dXJuIHRoaXMuX3N0YXR1c1ZpZXd9bGVnZW5kVmlldygpe3JldHVybiB0aGlzLl9sZWdlbmRWaWV3fWNoYXJ0RmxvYXRpbmdUb29sdGlwVmlldygpe3JldHVybiB0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fXBpbmVTb3VyY2VDb2RlTW9kZWwoKXsKcmV0dXJuIHRoaXMubWV0YUluZm8oKS5waW5lPyh0aGlzLl9waW5lU291cmNlQ29kZU1vZGVsfHwodGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbD1uZXcgRS5Bc3luY1Jlc291cmNlV3JhcHBlcihQcm9taXNlLmFsbChbcy5lKDQyMDk2KSxzLmUoMjQxMDgpXSkudGhlbihzLmJpbmQocyw4MzQzNjgpKS50aGVuKChlPT50aGlzLl9pc0Rlc3Ryb3llZD9udWxsOm5ldyBlLlBpbmVTb3VyY2VDb2RlTW9kZWwodGhpcykpKSwoZT0+e2U/LmRlc3Ryb3koKX0pKSksdGhpcy5fcGluZVNvdXJjZUNvZGVNb2RlbC5wcm9taXNlKCkpOlByb21pc2UucmVzb2x2ZShudWxsKX1hbGVydFNvdXJjZU1vZGVsKCl7cmV0dXJuIHRoaXMuX2FsZXJ0U291cmNlTW9kZWx9aW5wdXRzRm9yQWxlcnRTdGF0ZSgpe3JldHVybiB0aGlzLmlucHV0cyh7Zm9yY2VUcmVhdFNvdXJjZUlucHV0c0FzRmFrZTohMH0pfXNlc3Npb25JZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkKCl9c2Vzc2lvbklkQ2hhbmdlZCgpe3JldHVybiB0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkuc2Vzc2lvbklkQ2hhbmdlZCgpfWdldFN5bWJvbFN0cmluZyhlLHQpe3JldHVybiIiPT09ZT8iIjooMCx0ZS5lbmNvZGVFeHRlbmRlZFN5bWJvbE9yR2V0U2ltcGxlU3ltYm9sU3RyaW5nKSh0aGlzLl9nZXRTeW1ib2xPYmplY3QoZSx0KSl9b25TdGF0dXNDaGFuZ2VkKCl7cmV0dXJuIHRoaXMuX3N0YXR1c0NoYW5nZWR9b25EYXRhVXBkYXRlZCgpe3JldHVybiB0aGlzLl9kYXRhVXBkYXRlZH1zeW1ib2xzUmVzb2x2ZWQoKXtyZXR1cm4gdGhpcy5fc3ltYm9sc1Jlc29sdmVkfW9uSGliZXJuYXRpb25TdGF0ZUNoYW5nZSgpe3JldHVybiB0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2V9dmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdmFsdWVzUHJvdmlkZXJ9bGVnZW5kVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IFkuU3R1ZHlMZWdlbmRWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9dGFibGVWaWV3VmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5fdGFibGVWaWV3VmFsdWVzUHJvdmlkZXJ9c3RhdHVzUHJvdmlkZXIoZSl7cmV0dXJuIG5ldyByZS5TdHVkeVN0YXR1c1Byb3ZpZGVyKHRoaXMpfWNoYXJ0RmxvYXRpbmdUb29sdGlwVmFsdWVzUHJvdmlkZXIoKXtyZXR1cm4gbmV3IG5lLlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWYWx1ZXNQcm92aWRlcih0aGlzLHRoaXMubW9kZWwoKSl9Y29ycmVjdFNjYWxlTWFyZ2lucyhlKXtpZigiVm9sdW1lIj09PXRoaXMubWV0YUluZm8oKS5zaG9ydElkKXtjb25zdCB0PXRoaXMubW9kZWwoKS5wYW5lRm9yU291cmNlKHRoaXMpO3JldHVybiBudWxsIT09dCYmdC5pc092ZXJsYXkodGhpcykmJnQuY29udGFpbnNNYWluU2VyaWVzKCk/e3RvcDouNzUsYm90dG9tOjB9Ont0b3A6ZS50b3AsYm90dG9tOjB9fXJldHVybiBlfWNhbkJlSGlkZGVuQnlHbG9iYWxGbGFnKCl7cmV0dXJuITB9aXNTb3VyY2VIaWRkZW4oKXtyZXR1cm4hdGhpcy5pc1Zpc2libGUoKXx8dGhpcy5jYW5CZUhpZGRlbkJ5R2xvYmFsRmxhZygpJiZRLmhpZGVBbGxJbmRpY2F0b3JzKCkudmFsdWUoKX13YXNDb21wbGV0ZWRCZWZvcmUoKXtyZXR1cm4gdGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlfXBhbmVWaWV3cyhlKXtjb25zdCB0PXRoaXMuX21vZGVsLm1haW5QYW5lKCk7aWYodGhpcy5pc1NvdXJjZUhpZGRlbigpKXJldHVybiBudWxsO2lmKCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gZSE9PXQ/bnVsbDp0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzO2NvbnN0IHM9W10saT10aGlzLl9wYW5lVmlld3MuZmluZCgoZT0+e3JldHVybiB0PWUsKDAsdS5pc09iamVjdCkodCkmJiJpc1Bsb3RIaWdobGlnaHRlZCJpbiB0JiZlLmlzUGxvdEhpZ2hsaWdodGVkKCk7dmFyIHR9KSk/P251bGw7cmV0dXJuIXRoaXMuX3N0YXJ0TW92aW5nUG9pbnQmJnRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZSYmcy5wdXNoKC4uLnRoaXMuX3BhbmVWaWV3cy5maWx0ZXIoKGU9PiFlLmlzRm9yY2VPdmVybGF5Py4oKSYmZSE9PWkpKSksdGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyYmKHRoaXMuX3N0YXJ0TW92aW5nUG9pbnR8fHRoaXMuX21vZGVsLnNlbGVjdGlvbigpLmlzU2VsZWN0ZWQodGhpcykpJiZzLnB1c2godGhpcy5faW5wdXRzTGluZXNQYW5lVmlldyksdGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3JiZzLnB1c2godGhpcy5faW5wdXRzQW5jaG9yc1BhbmVWaWV3KSxlPT09dCYmcy5wdXNoKC4uLnRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MpLGkmJnMucHVzaChpKSxzfWxhYmVsUGFuZVZpZXdzKGUpe2NvbnN0IHQ9dGhpcy5fbW9kZWwubWFpblBhbmUoKTtpZih0aGlzLmlzU291cmNlSGlkZGVuKCl8fCFlLmhhc1ByaWNlRGF0YVNvdXJjZSh0aGlzKSlyZXR1cm4gdGhpcy5fbWV0YUluZm8udmFsdWUoKS5oYXNGb3JjZU92ZXJsYXlQbG90cygpP2UhPT10P251bGw6dGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3M6bnVsbDtjb25zdCBzPVsuLi50aGlzLl9sYWJlbFBhbmVWaWV3c107cmV0dXJuIGU9PT10JiZzLnB1c2goLi4udGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MpLHN9dGltZUF4aXNWaWV3cygpe3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpP3RoaXMuX2lucHV0c1RpbWVBeGlzUGFuZVZpZXdzOm51bGx9cHJpY2VBeGlzVmlld3MoZSx0KXtpZih0IT09dGhpcy5wcmljZVNjYWxlKCkmJnQ9PT10aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkucHJpY2VTY2FsZSgpJiYhZS5oYXNEYXRhU291cmNlKHRoaXMpKXJldHVybiB0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cztjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkub2xkU2hvd0xhc3RWYWx1ZTtpZihzJiYhcy52YWx1ZSgpKXJldHVybiBudWxsO2xldCBpPXRoaXMuX3ByaWNlQXhpc1ZpZXdzLnNsaWNlKCkKO3JldHVybiB0aGlzLl9tb2RlbC5zZWxlY3Rpb24oKS5pc1NlbGVjdGVkKHRoaXMpJiYoaT1pLmNvbmNhdCh0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MpKSx0PT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKSYmKGk9aS5jb25jYXQodGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MpKSxlLmZpbmRUYXJnZXRQcmljZUF4aXNWaWV3cyh0aGlzLHQsaSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzKX1tb3ZhYmxlKCl7cmV0dXJuIG51bGwhPT10aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXd9c3RhcnRNb3ZpbmcoZSx0LHMsaSl7dGhpcy5fc3RhcnRNb3ZpbmdQb2ludD1lfW1vdmUoZSx0LHMsaSl7aWYodm9pZCAwIT09ZS5sb2dpY2FsJiZudWxsIT09dGhpcy5fc3RhcnRNb3ZpbmdQb2ludCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3Qgcz10O3RoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMF0pLHRoaXMuX3VwZGF0ZUlucHV0VmFsdWUoZS5sb2dpY2FsLHNbMV0pfWVsc2UgdGhpcy5fdXBkYXRlSW5wdXRWYWx1ZShlLmxvZ2ljYWwsdCk7dGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX19ZW5kTW92aW5nKGUsdCl7cmV0dXJuIHRoaXMuX3N0YXJ0TW92aW5nUG9pbnQ9bnVsbCx7aW5kZXhlc0NoYW5nZWQ6ITEscHJpY2VzQ2hhbmdlZDohMX19Y2xlYXJEYXRhKCl7dGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlPXRoaXMuX29uZ29pbmdEYXRhVXBkYXRlLnRoZW4oKCgpPT57dGhpcy5fY2xlYXJEYXRhKCksdGhpcy5fZ3JhcGhpY3MgaW5zdGFuY2VvZiBLLkxpdmVTdHVkeUdyYXBoaWNzJiZ0aGlzLl9ncmFwaGljcz8uY2xlYXIoKSx0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZSh7fSl9KSksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHtzb3VyY2VJZDp0aGlzLmlkKCksY2xlYXJEYXRhOiEwfSkpfWNvbnZlcnRZQ29vcmRpbmF0ZVRvUHJpY2VGb3JNb3ZpbmcoZSx0KXtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO2lmKCF0fHwhc3x8cy5pc0VtcHR5KCkpcmV0dXJuIG51bGw7Y29uc3QgaT10LmZpcnN0VmFsdWUoKTtyZXR1cm4gbnVsbD09PWk/bnVsbDpzLmNvb3JkaW5hdGVUb1ByaWNlKGUsaSl9cHJvY2Vzc0hpYmVybmF0ZShlKXtjb25zdCB0PXRoaXMuaXNWaXNpYmxlKCk7aWYoIXRoaXMuaXNTdGFydGVkKCkmJnQmJih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+e2UucHJvY2Vzc0hpYmVybmF0ZSgpfSkpLHRoaXMuc3RhcnQodm9pZCAwLHZvaWQgMCxlKSx0aGlzLl9vbkhpYmVybmF0aW9uU3RhdGVDaGFuZ2UuZmlyZSghMSkpLHRoaXMuaXNIaWJlcm5hdGlvbkFsbG93ZWQoKSYmdGhpcy5pc1N0YXJ0ZWQoKSYmIXQpe2Zvcihjb25zdCBlIG9mIHRoaXMuX2NoaWxkcmVuKWUucHJvY2Vzc0hpYmVybmF0ZSgpO3RoaXMuc3RvcCh2b2lkIDAsZSksdGhpcy5fb25IaWJlcm5hdGlvblN0YXRlQ2hhbmdlLmZpcmUoITApfX1pc0hpYmVybmF0aW9uQWxsb3dlZCgpe3JldHVybighdGhpcy5tZXRhSW5mbygpLmhpc3RvcnlDYWxjdWxhdGlvbk1heUNoYW5nZXx8IXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSkmJighdGhpcy5oYXNDaGlsZHJlbigpfHwhIXRoaXMuX21vZGVsLmNvbGxhcHNlZCgpLnZhbHVlKCkmJnRoaXMuX2NoaWxkcmVuLmV2ZXJ5KChlPT5lLmlzSGliZXJuYXRpb25BbGxvd2VkKCkpKSl9aXNQbG90VmlzaWJsZUF0KGUsdCl7bGV0IHM7Y29uc3QgaT10aGlzLm1ldGFJbmZvKCkucGxvdHMuZmluZCgodD0+dC5pZD09PWUpKTtpZihzPXZvaWQgMCE9PWk/KDAsWi5pc09obGNQbG90KShpKT90aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLm9obGNQbG90cy5jaGlsZHMoKVtpLnRhcmdldF06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbZV06dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5vaGxjUGxvdHMuY2hpbGRzKClbZV0sdm9pZCAwPT09cyl0aHJvdyBuZXcgRXJyb3IoYFN0dWR5IGRvZXMgbm90IGNvbnRhaW4gJHtlfSBwbG90YCk7Y29uc3Qgcj1zLmNoaWxkcygpLmRpc3BsYXkudmFsdWUoKTtyZXR1cm4gbnVsbCE9PXImJigwLHouaXNQbG90VmlzaWJsZSkocix0KX1yZWNhbGN1bGF0ZSgpe2NvbnN0IGU9dGhpcy5fbW9kZWwucGFuZUZvclNvdXJjZSh0aGlzKTt0aGlzLl9tb2RlbC5yZWNhbGN1bGF0ZVBhbmUoZSwoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9bWF4T2Zmc2V0KCl7cmV0dXJuIHRoaXMuX21heE9mZnNldH1vblN0YXJ0KCl7cmV0dXJuIHRoaXMuX29uU3RhcnR9b25QYXJlbnRTb3VyY2VzQ2hhbmdlcygpe3JldHVybiB0aGlzLl9vblBhcmVudFNvdXJjZXNDaGFuZ2VzfWlzSGliZXJuYXRlZCgpe3JldHVybiF0aGlzLmlzVmlzaWJsZSgpJiYhdGhpcy5pc1N0YXJ0ZWQoKX1ncmFwaGljc1ZpZXdzUmVhZHkoKXtyZXR1cm4gdGhpcy5fZ3JhcGhpY3NWaWV3c1JlYWR5fXNldExvYWRpbmdDb21waWxhdGlvbkFjdGl2ZShlKXt0aGlzLl9jb21waWxlQWN0aXZlU3RhdHVzLnNldFZhbHVlKGU/e3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9Om51bGwpLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfXNldEVycm9yQ29tcGlsYXRpb24oZSl7e2NvbnN0IHQ9KDAsUGUuZXh0cmFjdFBpbmVJZCkodGhpcy5fbWV0YUluZm8udmFsdWUoKS5pZCkKO2lmKG51bGw9PT1lfHwwPT09ZS5sZW5ndGh8fG51bGw9PT10KXJldHVybiB0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUobnVsbCksdm9pZCB0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pO2NvbnN0IHM9ZVswXTt0aGlzLl9jb21waWxlRXJyb3JTdGF0dXMuc2V0VmFsdWUoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnMubWVzc2FnZSxlZGl0b3JFcnJvcjp7Li4ucyxpZDp0fSx0aXRsZToiQ29tcGlsYXRpb24gZXJyb3IifX0pLHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5fc3RhdHVzQ2hhbmdlZC5maXJlKHRoaXMuc3RhdHVzKCkpfX1oYXNDb21waWxlRXJyb3IoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2NvbXBpbGVFcnJvclN0YXR1cy52YWx1ZSgpfXR1cm5hcm91bmQoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX3R1cm5hcm91bmQ7Y29uc3QgdD10aGlzLl9zZXJpZXMuc2VyaWVzU291cmNlKCkudHVybmFyb3VuZCgpLHM9KDAsVGUuYnVpbGRUcmVlRm9yU3R1ZHkpKHRoaXMpO3JldHVybigwLFRlLmJ1aWxkVHVybmFyb3VuZCkodCxzKX1jYW5IYXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5fY2FuSGF2ZUNoaWxkcmVuPXRoaXMuX2NhbkhhdmVDaGlsZHJlbj8/di5TdHVkeU1ldGFJbmZvLmNhbkhhdmVDaGlsZHJlbih0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9jYW5IYXZlQ2hpbGRyZW59c2V0Q2hpbGQoZSl7LTE9PT10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpJiZ0aGlzLl9jaGlsZHJlbi5wdXNoKGUpfXVuc2V0Q2hpbGQoZSl7Y29uc3QgdD10aGlzLl9jaGlsZHJlbi5pbmRleE9mKGUpO350JiZ0aGlzLl9jaGlsZHJlbi5zcGxpY2UodCwxKX1jaGlsZHJlbigpe3JldHVybiB0aGlzLl9jaGlsZHJlbn1nZXRBbGxDaGlsZHJlbigpe2NvbnN0IGU9dGhpcy5fY2hpbGRyZW4uc2xpY2UoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoOysrdCl7Y29uc3Qgcz1lW3RdLmdldEFsbENoaWxkcmVuKCk7Zm9yKGxldCB0PTA7dDxzLmxlbmd0aDsrK3QpfmUuaW5kZXhPZihzW3RdKXx8ZS5wdXNoKHNbdF0pfXJldHVybiBlfXBhcmVudFNvdXJjZUZvcklucHV0KGUpe2lmKGUuaW5jbHVkZXMoIiQiKSl7Y29uc3QgdD1lLnNwbGl0KCIkIilbMF07cmV0dXJuIHRoaXMuX3NvdXJjZXMudmFsdWUoKS5maW5kKChlPT5lLmlkKCk9PT10KSk/P251bGx9cmV0dXJuIHRoaXMuX3Nlcmllc31wcmljZVN0ZXAoKXtyZXR1cm4gdGhpcy5fcHJpY2VTdGVwfHx0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkucHJpY2VTdGVwKCExKX1yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl7dGhpcy5fcmVjcmVhdGVQcmljZUZvcm1hdHRpbmdEZXBlbmRlbmNpZXMoKX1zZXRPd25lclNvdXJjZShlKXtzdXBlci5zZXRPd25lclNvdXJjZShlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpfW9uVGFnc0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5fdGFnc0NoYW5nZWR9aGFzSGlnaGxpZ2h0ZWRQbG90cygpe3JldHVybigwLCQuaGlnaGxpZ2h0Q29udGFpbnNTb3VyY2UpKHRoaXMuX21vZGVsLmhpZ2hsaWdodGVkUGxvdEluZm8oKSx0aGlzLmlkKCkpfWdldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWwoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsP3RoaXMuX2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpLnRoZW4oKGU9Pm51bGw9PT1lfHx0aGlzLl9pc0Rlc3Ryb3llZD9udWxsOihudWxsPT09dGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwmJih0aGlzLl9kZWZpbml0aW9uc1ZpZXdNb2RlbD1uZXcgZSh0aGlzLl9tb2RlbC51bmRvTW9kZWwoKSx0aGlzKSksdGhpcy5fZGVmaW5pdGlvbnNWaWV3TW9kZWwpKSk6UHJvbWlzZS5yZXNvbHZlKHRoaXMuX2RlZmluaXRpb25zVmlld01vZGVsKX1jYWxjdWxhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5fY2FsY3VsYXRpb25UaW1lLnJlYWRvbmx5KCl9Y29udGV4dE1lbnVTdGF0TmFtZSgpe3JldHVybiJJbmRpY2F0b3JDb250ZXh0TWVudSJ9bWV0YUluZm9XVigpe3JldHVybiB0aGlzLl9tZXRhSW5mby5yZWFkb25seSgpfWFzeW5jIHBhdGNoUHJvcGVydGllc0FmdGVyUmVzZXREZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5pbnB1dHMoKTtpZihPYmplY3Qua2V5cyhlKS5zb21lKChlPT4oMCxEZS5pc1N0dWR5SW5wdXREZXBlbmRzT25DaGFydCkoe2lkOmV9KSkpKXt0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyLmFib3J0KCksdGhpcy5fYWJvcnRSZXNldFBhdGNoUHJvcHNDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3QgdD1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSk7dGhpcy5fcHJldmlvdXNQYXRjaE1hcD17fSx0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkPW5ldyBQcm9taXNlKChhc3luYyBzPT57YXdhaXQoMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHQsZSx0aGlzLl9hYm9ydFJlc2V0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuc2lnbmFsLHRoaXMuX3ByZXZpb3VzUGF0Y2hNYXAsITApLHRoaXMuX21ldGFJbmZvLnNldFZhbHVlKHQpLHMoKX0pKX19X2dldFByb3BlcnR5RGVmaW5pdGlvbnNWaWV3TW9kZWxDbGFzcygpe3JldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCl9X2FsZXJ0TWV0YUluZm8oKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpfV9jcmVhdGVTdHVkeU9uU2VydmVyKCl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuITE7dGhpcy5faXNTdGFydGVkPSEwLHRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKTtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5faW5wdXRzKTtsZXQgdAo7aWYodD10aGlzLl9jaGFydEFwaS5jcmVhdGVTdHVkeSh0aGlzLnNvdXJjZUlkKCksdGhpcy5fdHVybmFyb3VuZCwoMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuX3Nlcmllcy5zZXJpZXNTb3VyY2UoKS5pbnN0YW5jZUlkKCkpLHRoaXMuX3N0dWR5TmFtZS52YWx1ZSgpLGUsdGhpcy5faGFuZGxlcix0aGlzLl9zdHVkeVNwZWMoKSksIXQpcmV0dXJuIHRoaXMuX2lzU3RhcnRlZD0hMSx0O2lmKHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuX2lkLnZhbHVlKCl9YCksdm9pZCAwPT09dGhpcy5fb2xkU3R1ZHlJbnB1dHMpe2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7T2JqZWN0LmtleXMoZSkuc29tZSgoZT0+KDAsRGUuaXNTdHVkeUlucHV0RGVwZW5kc09uQ2hhcnQpKHtpZDplfSkpKXx8KHRoaXMuX29sZFN0dWR5SW5wdXRzPWUpfXJldHVybiB0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzJiYhdGhpcy5fcmVzdGFydGluZyYmdGhpcy5fcGluZVBhdGNoUHJvcHMoKSwhMH1fc3RvcFN0dWR5T25TZXJ2ZXIoKXt0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLmlzU3RhcnRlZCgpJiYodGhpcy5fY2hhcnRBcGkucmVtb3ZlU3R1ZHkodGhpcy5zb3VyY2VJZCgpKSx0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZH0pKSxwZXJmb3JtYW5jZS5jbGVhck1hcmtzKGBjYWxjdWxhdGVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCksdGhpcy5faXNTdGFydGVkPSExfV9tb2RpZnlTdHVkeU9uU2VydmVyKGUsdCl7dGhpcy5fY2hhcnRBcGkubW9kaWZ5U3R1ZHkodGhpcy5zb3VyY2VJZCgpLHRoaXMuX3R1cm5hcm91bmQsZSx0aGlzLl9oYW5kbGVyLHQpLHBlcmZvcm1hbmNlLm1hcmsoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKX1fc2VuZE5vdGlmeUNvbW1hbmQoZSx0KXt0aGlzLl9jaGFydEFwaS5ub3RpZnlTdHVkeSh0aGlzLnNvdXJjZUlkKCksZSx0KX1fdHJhbnNmb3JtRGF0YShlKXt9X3Bsb3RzRGF0YVJhbmdlKCl7Y29uc3QgZT10aGlzLnBsb3RzKCkuZmlyc3RJbmRleCgpLHQ9dGhpcy5wbG90cygpLmxhc3RJbmRleCgpO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/W2UsdF06bnVsbH1faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpe3RoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZT17fX1fY29sbGVjdERlcHNGb3JBbGVydCgpe2NvbnN0IGU9W3RoaXMsLi4udGhpcy5fYWxsT3duZXJTb3VyY2VzLnZhbHVlKCkuZmlsdGVyKChlPT5lIGluc3RhbmNlb2YgVXMpKV07cmV0dXJuKDAsVC5jb2xsZWN0RGVwc0ZvckFsZXJ0KShlKX1fYWxsSW5wdXRzQXJlVmFsaWQoKXtpZihudWxsPT09dGhpcy5fdmlzaWJsZVRpbWVSYW5nZUlucHV0cz8udmFsdWUoKSlyZXR1cm4hMTtmb3IoY29uc3QgZSBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cylpZigiYmFyX3RpbWUiPT09ZS50eXBlKXtjb25zdCB0PWUuaWQ7aWYobnVsbD09dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGRzKClbdF0udmFsdWUoKSlyZXR1cm4hMX1yZXR1cm4hMH1hc3luYyBfc3RhcnRBZnRlclN5bWJvbHNSZXNvbHZlZChlLHQpe2F3YWl0IFByb21pc2UuYWxsKHRoaXMuX3NvdXJjZXMudmFsdWUoKS5tYXAoKGU9PiFlLmlzU3RhcnRlZCgpfHxlLmlzUmVzdGFydGluZygpP25ldyBQcm9taXNlKCh0PT57ZS5vblN0YXJ0KCkuc3Vic2NyaWJlKHRoaXMsdCwhMCl9KSk6UHJvbWlzZS5yZXNvbHZlKCkpKSksdGhpcy5pc1N0YXJ0ZWQoKSYmIXRoaXMuX3Jlc3RhcnRpbmd8fCh0aGlzLl9yZXN0YXJ0aW5nPSExLHRoaXMuX2FsbElucHV0c0FyZVZhbGlkKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNUVlNjcmlwdFN0dWImJih0aGlzLl9pbnB1dHM9dGhpcy5fYXBpSW5wdXRzKCksdGhpcy5fY3JlYXRlU3R1ZHlPblNlcnZlcigpJiYodGhpcy5fc3Vic2NyaWJlVG9TZXNzaW9uSWQoKSx0aGlzLl9vblN0YXJ0LmZpcmUoKSwhMD09PWUmJnRoaXMuX2NoaWxkcmVuJiZhd2FpdCB0aGlzLl9jaGlsZHJlbi5tYXAoKGU9PmUuc3RhcnQoITAsdCkpKSkpKX1hc3luYyBfY2hhbmdlSW5wdXRzSW1wbChlLHQpe2NvbnN0IHM9dGhpcy5fY2FsY1NvdXJjZXMoKSxpPXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscj1rcyhpLGUsdCksbj0oKT0+e2Zvcihjb25zdCBzIG9mIGkuaW5wdXRzKXtpZigic291cmNlIiE9PXMudHlwZSljb250aW51ZTtjb25zdCBpPWVbcy5pZF0udixyPXRbcy5pZF0udjtpZihpIT09cil7KDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZChzLmlkKSkuc2V0VmFsdWUocil9fX07aWYodGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZyPjAmJiF0aGlzLl9jaGFydEFwaS5jYW5DcmVhdGVTdHVkeSh0aGlzLl9zdHVkeVNwZWMoITApLCEwKS5zdWNjZXNzKXtjb25zdCBlPXdpbmRvdy51c2VyLnByb19wbGFuLHQ9InByb19wcmVtaXVtX2V4cGVydCI9PT1lfHwicHJvX3ByZW1pdW1fZXhwZXJ0X3RyaWFsIj09PWU7cmV0dXJuKDAsTy5vcGVuUGF5d2FsbCkoe2ZlYXR1cmU6InN0dWR5T25TdHVkeSIsaXNNYXhQbGFuOnR9KSx2b2lkIG4oKX10aGlzLl9pbnB1dHM9ZTtsZXQgYT0hMTtjb25zdCBvPU9iamVjdC52YWx1ZXMoRGUuUmFuZ2VEZXBlbmRlbnRTdHVkeUlucHV0TmFtZXMpO2Zvcihjb25zdCBzIG9mIE9iamVjdC5rZXlzKGUpKWlmKEpTT04uc3RyaW5naWZ5KGVbc10pIT09SlNPTi5zdHJpbmdpZnkodFtzXSkmJiFvLmluY2x1ZGVzKHMpKXthPSEwO2JyZWFrfXRoaXMuX2luY3JlbWVudFR1cm5hcm91bmQoKSxhJiZ0aGlzLmRpc2FibGVQcmljZVJhbmdlUmVhZHkoKTt0cnl7YXdhaXQgdGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhzLHIsITApLHRoaXMuX21vZGlmeVN0dWR5T25TZXJ2ZXIoZSxyKSx0aGlzLl9zdHVkeU1vZGlmaWVkPSEwfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFcnJvciBhcHBseWluZyBwYXJlbnQgc291cmNlczogJHtlfWApLG4oKX0KdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpfV9nZXRTeW1ib2xTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLnN5bWJvbFNvdXJjZSgpfV9nZXRDdXJyZW5jeUlucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fZ2V0VW5pdElucHV0UHJvcGVydHkoKXtyZXR1cm4gbnVsbH1fY3JlYXRlUHJpY2VBeGlzVmlldyhlKXtjb25zdCB0PXRoaXMubWV0YUluZm8oKS5wbG90cy5maW5kKCh0PT4idGFyZ2V0ImluIHQmJnQudGFyZ2V0PT09ZSkpO3JldHVybiB2b2lkIDAhPT10JiYoMCxaLmlzT2hsY1Bsb3QpKHQpP25ldyBycyh0aGlzLHtwbG90TmFtZTplfSk6bmV3IGlzLlN0dWR5UHJpY2VBeGlzVmlldyh0aGlzLHtwbG90TmFtZTplfSl9X2NyZWF0ZVByaWNlTGluZUF4aXNWaWV3KGUpe3JldHVybiBuZXcgbnMuU3R1ZHlQcmljZUxpbmVBeGlzVmlldyh0aGlzLGUpfV9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhlKXtyZXR1cm4gbmV3IEZ0LlN0dWR5UGxvdFBhbmVWaWV3KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLGUpfV9jcmVhdGVWaWV3cygpe3RoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZT1bXSx0aGlzLl9mb3JjZU92ZXJsYXlQcmljZUF4aXNWaWV3cz1bXSx0aGlzLl9wcmljZUxpbmVzQXhpc1ZpZXdzPVtdLHRoaXMuX3BhbmVWaWV3cz1bXSx0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzPVtdLHRoaXMuX2xhYmVsUGFuZVZpZXdzPVtdLHRoaXMuX2ZvcmNlT3ZlcmxheUxhYmVsUGFuZVZpZXdzPVtdO2NvbnN0IGU9bmV3IFNldCx0PXRoaXMubWV0YUluZm8oKSxzPUJvb2xlYW4odC51c2VQbG90c1pPcmRlciksaT1uZXcgTWFwLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKTtpZihyLmZpbGxlZEFyZWFzU3R5bGUmJnQuZmlsbGVkQXJlYXMpZm9yKGxldCBlPTA7ZTx0LmZpbGxlZEFyZWFzLmxlbmd0aDsrK2Upe2NvbnN0IG49dC5maWxsZWRBcmVhc1tlXSxhPSgwLGguZW5zdXJlRGVmaW5lZCkoci5maWxsZWRBcmVhc1N0eWxlLmNoaWxkcygpW24uaWRdKSxvPU5zKHQsbi5pZCk7bGV0IGw7aWYoInBsb3RfcGxvdCI9PT1uLnR5cGV8fG8/bD1uZXcgV3QodGhpcyx0aGlzLm1vZGVsKCksbixhKToiaGxpbmVfaGxpbmUiPT09bi50eXBlP2w9bmV3IFl0KHRoaXMsbixhKTpTcy5sb2dXYXJuKCJVbnN1cHBvcnRlZCBmaWxsZWRBcmVhIHR5cGU6ICIrbi50eXBlKSx2b2lkIDAhPT1sKXtsZXQgZT0hMTtpZigicGxvdF9wbG90Ij09PW4udHlwZSYmKGU9dC5pc1Bsb3RGb3JjZU92ZXJsYXkobi5vYmpBSWQpKSxlKXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3MucHVzaChsKTtlbHNle2NvbnN0IGU9cz8oMCxoLmVuc3VyZURlZmluZWQpKG4uem9yZGVyKTppLnNpemU7RnMoZSxpKSxpLnNldChlLHtwYW5lVmlld3M6W2xdfSl9fX17bGV0IHI9LTFlNTtmb3IobGV0IG49MDtuPHQucGxvdHMubGVuZ3RoO24rKyl7Y29uc3QgYT10LnBsb3RzW25dO2xldCBvLGwsdSxjLGQscD10LmlzUGxvdEZvcmNlT3ZlcmxheShhLmlkKTtpZigoMCxaLmlzTm9uVmlzdWFsUGxvdCkoYSkpY29udGludWU7bGV0IF89YS5pZCxmPXQuc3R5bGVzO2NvbnN0IG09KDAsWi5pc0JnQ29sb3JlclBsb3QpKGEpO2lmKG0pbz1uZXcgRWUodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzU2hhcGVzUGxvdCkoYSkpbz1uZXcgYXQodGhpcyx0aGlzLl9zZXJpZXMsdGhpcy5fbW9kZWwsXyk7ZWxzZSBpZigoMCxaLmlzQ2hhcnNQbG90KShhKSlvPW5ldyBTdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNBcnJvd3NQbG90KShhKSlvPW5ldyBDdCh0aGlzLHRoaXMuX3Nlcmllcyx0aGlzLl9tb2RlbCxfKTtlbHNlIGlmKCgwLFouaXNPaGxjUGxvdCkoYSkpe2NvbnN0IHM9YS50YXJnZXQ7aWYoZS5oYXMocykpY29udGludWU7aWYocD10LmlzUGxvdEZvcmNlT3ZlcmxheShzKSxlLmFkZChzKSxUcyh0LG4pKW89bmV3IFJ0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpO2Vsc2V7aWYoIURzKHQsbikpe1NzLmxvZ0Vycm9yKGBwbG90ICR7YS5pZH0gbG9va3MgdG8gYmUgaW52YWxpZGApO2NvbnRpbnVlfW89bmV3IFR0KHRoaXMsdGhpcy5fc2VyaWVzLHRoaXMuX21vZGVsLHMpfWM9dGhpcy5fY3JlYXRlUHJpY2VBeGlzVmlldyhzKSx1PW5ldyBEdC5QYW5lUHJpY2VBeGlzVmlldyhjLHRoaXMsdGhpcy5fbW9kZWwpLF89cyxmPXQub2hsY1Bsb3RzfWVsc2UoMCxaLmlzRGF0YVBsb3QpKGEpfHwoYz10aGlzLl9jcmVhdGVQcmljZUF4aXNWaWV3KF8pLGQ9dGhpcy5fY3JlYXRlUHJpY2VMaW5lQXhpc1ZpZXcoXyksbz10aGlzLl9jcmVhdGVTdHVkeVBsb3RQYW5lVmlldyhfKSx0aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLnN0eWxlcy5jaGlsZHMoKVtfXT8uY2hpbGQoInRyYWNrUHJpY2UiKT8udmFsdWUoKSYmKGw9bmV3IGt0KHRoaXMsXykpLHU9bmV3IGRzKGMsdGhpcyx0aGlzLl9tb2RlbCxfKSk7Y29uc3QgeT1zP20/cisrOigwLGguZW5zdXJlRGVmaW5lZCkoZj8uW19dPy56b3JkZXIpOmkuc2l6ZTtpZihGcyh5LGkpLHApYyYmdGhpcy5fZm9yY2VPdmVybGF5UHJpY2VBeGlzVmlld3MucHVzaChjKSxvJiZ0aGlzLl9mb3JjZU92ZXJsYXlzUGFuZVZpZXdzLnB1c2gobyksdSYmdGhpcy5fZm9yY2VPdmVybGF5TGFiZWxQYW5lVmlld3MucHVzaCh1KTtlbHNle2NvbnN0IGU9e3BhbmVWaWV3czp2b2lkIDAhPT1vP1tvXTpbXSxsYWJlbFZpZXc6dSxwcmljZUF4aXNWaWV3OmMscHJpY2VMaW5lQXhpc1ZpZXc6ZH07dm9pZCAwIT09bCYmZS5wYW5lVmlld3MucHVzaChsKSxpLnNldCh5LGUpfX19KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuYmFuZHM/P1tdKS5mb3JFYWNoKCgoZSx0KT0+e2NvbnN0IG49ci5iYW5kcy5jaGlsZHMoKVt0XTtpZihuJiZuLmNoaWxkcygpLnZpc2libGUudmFsdWUoKSl7Y29uc3QgdD1uZXcgJHQobix0aGlzKSxyPXM/KDAsaC5lbnN1cmVEZWZpbmVkKShlLnpvcmRlcik6aS5zaXplO0ZzKHIsaSksaS5zZXQocix7cGFuZVZpZXdzOlt0XX0pfX0pKSxyLmJhbmRzQmFja2dyb3VuZCYmKCgwLApoLmFzc2VydCkoIXMsIid1c2VQbG90c1pPcmRlcicgZmxhZyBkb2VzIG5vdCBzdXBwb3J0ZWQiKSxpLnNldChpLnNpemUse3BhbmVWaWV3czpbbmV3IEp0KHRoaXMpXX0pKTtjb25zdCBuPXRoaXMuX3BhbmVWaWV3cyxhPXRoaXMuX2ZvcmNlT3ZlcmxheXNQYW5lVmlld3M7dGhpcy5fY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MoKS50aGVuKChlPT57Zm9yKGxldCB0PTA7dDxlLnJlZ3VsYXJQYW5lVmlld3MubGVuZ3RoO3QrKyluLnB1c2goZS5yZWd1bGFyUGFuZVZpZXdzW3RdKTtmb3IobGV0IHQ9MDt0PGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzLmxlbmd0aDt0KyspYS5wdXNoKGUuZm9yY2VPdmVybGF5UGFuZVZpZXdzW3RdKTt0aGlzLl9tb2RlbC5saWdodFVwZGF0ZSgpLHRoaXMuX2dyYXBoaWNzVmlld3NSZWFkeT0hMH0pKSxyLmFyZWFCYWNrZ3JvdW5kJiYoKDAsaC5hc3NlcnQpKCFzLCIndXNlUGxvdHNaT3JkZXInIGZsYWcgZG9lcyBub3Qgc3VwcG9ydGVkIiksaS5zZXQoaS5zaXplLHtwYW5lVmlld3M6W25ldyBCdC5BcmVhQmFja2dyb3VuZFBhbmVWaWV3KHRoaXMsdGhpcy5tb2RlbCgpKV19KSk7Y29uc3Qgbz1BcnJheS5mcm9tKGkua2V5cygpKS5zb3J0KCgoZSx0KT0+ZS10KSk7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IHQ9KDAsaC5lbnN1cmVEZWZpbmVkKShpLmdldChvW2VdKSk7dGhpcy5fcGFuZVZpZXdzLnB1c2goLi4udC5wYW5lVmlld3MpLHQubGFiZWxWaWV3JiZ0aGlzLl9sYWJlbFBhbmVWaWV3cy5wdXNoKHQubGFiZWxWaWV3KSx0LnByaWNlQXhpc1ZpZXcmJnRoaXMuX3ByaWNlQXhpc1ZpZXdzQmFzZS5wdXNoKHQucHJpY2VBeGlzVmlldyksdC5wcmljZUxpbmVBeGlzVmlldyYmdGhpcy5fcHJpY2VMaW5lc0F4aXNWaWV3cy5wdXNoKHQucHJpY2VMaW5lQXhpc1ZpZXcpfXRoaXMuX2RhdGFXaW5kb3dWaWV3fHwodGhpcy5fZGF0YVdpbmRvd1ZpZXc9bmV3IEd0LlN0dWR5RGF0YVdpbmRvd1ZpZXcodGhpcyx0aGlzLl9tb2RlbCkpLHRoaXMuX2xlZ2VuZFZpZXd8fCh0aGlzLl9sZWdlbmRWaWV3PW5ldyBYKHRoaXMsdGhpcy5fbW9kZWwpKSx0aGlzLl9zdGF0dXNWaWV3fHwodGhpcy5fc3RhdHVzVmlldz1uZXcgZWUuU3R1ZHlTdGF0dXNWaWV3KHRoaXMpKSx0aGlzLl9mbG9hdGluZ1Rvb2x0aXBWaWV3fHwodGhpcy5fZmxvYXRpbmdUb29sdGlwVmlldz10aGlzLl9jcmVhdGVkQ2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KCkpLHRoaXMuX2NvbmNhdFByaWNlQXhpc1ZpZXdzKCl9X2NyZWF0ZWRDaGFydEZsb2F0aW5nVG9vbHRpcFZpZXcoKXtyZXR1cm4gbmV3IGp0LlN0dWR5Q2hhcnRGbG9hdGluZ1Rvb2x0aXBWaWV3KHRoaXMsdGhpcy5fbW9kZWwpfV9vbkRhdGEoZSl7c3dpdGNoKGUubWV0aG9kKXtjYXNlInN0dWR5X2xvYWRpbmciOnRoaXMuX29uU3R1ZHlMb2FkaW5nKGUudGltZSk7YnJlYWs7Y2FzZSJzdHVkeV9lcnJvciI6dGhpcy5fb25TdHVkeUVycm9yKGUucGFyYW1zWzJdKTticmVhaztjYXNlInN0dWR5X2NvbXBsZXRlZCI6aWYoIXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtc1sxXSkpcmV0dXJuO3RoaXMuX29uU3R1ZHlDb21wbGV0ZWQoZS50aW1lKTticmVhaztjYXNlImRhdGFfdXBkYXRlIjppZihlLnBhcmFtcy5jdXN0b21JZCE9PXRoaXMuc291cmNlSWQoKXx8IXRoaXMuX2NoZWNrVHVybmFyb3VuZChlLnBhcmFtcy50dXJuYXJvdW5kKSlyZXR1cm47KDAsaC5hc3NlcnQpKCEhZS5wYXJhbXMubm9uc2VyaWVzLCJkYXRhLnBhcmFtcy5ub25zZXJpZXMgaXMgbWlzc2luZyIpLHRoaXMuX29uRGF0YVVwZGF0ZShlLnBhcmFtcy5wbG90cywoMCxoLmVuc3VyZURlZmluZWQpKGUucGFyYW1zLm5vbnNlcmllcyksZS5wYXJhbXMubGFzdEJhcik7YnJlYWs7Y2FzZSJjbGVhcl9kYXRhIjp0aGlzLl9jaGVja1R1cm5hcm91bmQoZS5wYXJhbXMudHVybmFyb3VuZCkmJnRoaXMuY2xlYXJEYXRhKCl9fV9nZXRUZWxlbWV0cnlPYmplY3ROYW1lKCl7cmV0dXJuInN0dWR5In1fb25EYXRhVXBkYXRlZChlLHQscyxpKXtpZih0aGlzLmhhc0JhckNvbG9yZXIoKSYmZS5sZW5ndGg+MCl7Y29uc3QgdD0oMCxoLmVuc3VyZU5vdE51bGwpKHRoaXMuYmFyQ29sb3JlcigpKS5maXJzdENvbG9yZWRCYXIoZVswXS5pbmRleCk7bnVsbCE9PXQmJnRoaXMuX21vZGVsLm1haW5TZXJpZXMoKS5pbnZhbGlkYXRlQmFyU3R5bGVzQ2FjaGUodCl9bnVsbCE9PXQmJnRoaXMuX3Bvc3RQcm9jZXNzR3JhcGhpY3MoKTtjb25zdCByPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7aWYodGhpcy5fbW9kZWwucmVjYWxjdWxhdGVQYW5lKHIsKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxmaXJzdFVwZGF0ZWRUaW1lUG9pbnRJbmRleDppPz92b2lkIDAsbm9uU2VyaWVzT25seTowPT09ZS5sZW5ndGh9KSksdGhpcy5fdXBkYXRlU291cmNlcygpLGUubGVuZ3RoKXtjb25zdCB0PWVbZS5sZW5ndGgtMV0uaW5kZXgscz1lWzBdLmluZGV4O3RoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToicGFydGlhbCIsc3RhcnRJbmRleDpzLGVuZEluZGV4OnR9KX1lbHNlIHRoaXMuZGF0YSgpLmlzRW1wdHkoKSYmdGhpcy5fZGF0YVJhbmdlVXBkYXRlZC5maXJlKHt0eXBlOiJmdWxsIn0pfV90aXRsZUlucHV0cyhlLHQscyl7cmV0dXJuIHRoaXMuaW5wdXRzKHRoaXMuX3RpdGxlSW5wdXRzT3B0aW9ucyhlLHQscykpfV90aXRsZUlucHV0c09wdGlvbnMoZSx0LHMpe3JldHVybntzeW1ib2xzRm9yRGlzcGxheTohMCxza2lwSGlkZGVuSW5wdXRzOiEwLHNraXBGYWtlSW5wdXRzOiExLGZha2VJbnB1dHNGb3JEaXNwbGF5OiEwLGFzT2JqZWN0OiEwLHNraXBwZWRHcm91cHM6W10sc2tpcHBlZElucHV0czp0aGlzLl9za2lwcGVkVGl0bGVJbnB1dHMoKSxub0V4Y2hhbmdlczp0LG5vUmVzb2x1dGlvbjpzLHByaWNlSW5wdXRzRm9yRGlzcGxheTohMCxza2lwT3B0aW9uYWxFbXB0eVN5bWJvbElucHV0czpBcyxkaXNwbGF5TWFzazplfX1fcG9zdFByb2Nlc3NHcmFwaGljcygpewp0aGlzLl9ncmFwaGljc1ByaWNlQXhpc1ZpZXdzPXRoaXMuX2NyZWF0ZUdyYXBoaWNzUHJpY2VBeGlzVmlld3MoKSx0aGlzLl9jb25jYXRQcmljZUF4aXNWaWV3cygpfWFzeW5jIF9jcmVhdGVHcmFwaGljc1BhbmVWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQYW5lVmlld3MpKHRoaXMsdGhpcy5tb2RlbCgpKX1fY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cygpe3JldHVybigwLEsuY3JlYXRlR3JhcGhpY3NQcmljZUF4aXNWaWV3cykodGhpcyl9X3N1YnNjcmliZVRvU2Vzc2lvbklkKCl7IXRoaXMuX2lzU3Vic2NyaWJlZFRvU2Vzc2lvbklkJiZ0aGlzLmhhc1N5bWJvbElucHV0cygpJiYodGhpcy5zZXNzaW9uSWRDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5fb25TZXNzaW9uSWRDaGFuZ2VkKSx0aGlzLl9pc1N1YnNjcmliZWRUb1Nlc3Npb25JZD0hMCl9X3JlY3JlYXRlRm9ybWF0dGVyKGUpe2xldCB0PWU7aWYodCl7Y29uc3QgZT10aGlzLl9tb2RlbC5zeW1ib2xBbGlhc1NlcnZpY2UoKT8uZ2V0QWxpYXNCeVByb05hbWUodC5wcm9fbmFtZSk7ZSYmKHQ9KDAsbi5kZWZhdWx0KSh0KSwoMCxhLmRlZmF1bHQpKHQsZS5mb3JtYXR0aW5nT3B0aW9ucz8/e30pKX10aGlzLl9yZWNyZWF0ZVBsb3RzRm9ybWF0dGVycyh0KSx0aGlzLl9mb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRm9ybWF0dGVyKHQpLHRoaXMuX2RlZmF1bHRGb3JtYXR0ZXI9dGhpcy5fdHJ5Q3JlYXRlRGVmYXVsdEZvcm1hdHRlcih0KSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKTtjb25zdCBzPXRoaXMucHJpY2VTY2FsZSgpO251bGwhPT1zJiZzLnVwZGF0ZUZvcm1hdHRlcigpLHRoaXMuZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKChlPT57ZS5yZWNyZWF0ZVByaWNlRm9ybWF0dGVyKCl9KSksdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpfV9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcyhlKXt0aGlzLl9yZWNyZWF0ZUZvcm1hdHRlcihlKSx0aGlzLl9yZWNyZWF0ZVByaWNlU3RlcCgpfV90aXRsZShlLHQscyxpLHIsbil7Y29uc3QgYT10aGlzLl90aXRsZUluUGFydHMoZSx0LHMsaSxyLG4pO3JldHVybiB0aGlzLl9qb2luVGl0bGVzUGFydHMoYSl9X2dldFNwbGl0VGl0bGUoZSl7dGhyb3cgbmV3IEVycm9yKCJnZXRTcGxpdFRpdGxlIGlzIG9ubHkgZGVmaW5lZCBmb3Igc3ltYm9sIHNvdXJjZXMgKGNvbXBhcmUvb3ZlcmxheSBzdHVkaWVzKSIpfV9wb3N0UHJvY2Vzc1ByaWNlUmFuZ2UoZSx0KXtpZihlJiZlLm1pblZhbHVlKCk9PT1lLm1heFZhbHVlKCkmJiF0aGlzLm1ldGFJbmZvKCkuaXNfcHJpY2Vfc3R1ZHkpe2NvbnN0IHQ9LjAwNSplLm1pblZhbHVlKCk7ZT1uZXcgai5QcmljZVJhbmdlKGUubWluVmFsdWUoKS10LGUubWF4VmFsdWUoKSt0KX1jb25zdCBzPXQudGFyZ2V0UHJpY2VTY2FsZTtyZXR1cm4gcyYmcy5pc0xvZygpJiZlP25ldyBqLlByaWNlUmFuZ2Uocy5wcmljZVRvTG9naWNhbChlLm1pblZhbHVlKCkpLHMucHJpY2VUb0xvZ2ljYWwoZS5tYXhWYWx1ZSgpKSk6ZX1fdGl0bGVJblBhcnRzKGUsdD0hMCxpLHIsbixhKXtjb25zdCBvPVtWLnQodGhpcy5uYW1lKHQpLHtjb250ZXh0OiJzdHVkeSJ9LHMoODg0NjkzKSldO2xldCBsPVtdO2lmKCFyfHwoMCxJLmlzRmVhdHVyZXNldEVuYWJsZWQpKCJhbHdheXNfc2hvd19zdHVkeV9zeW1ib2xfaW5wdXRfdmFsdWVzX2luX2xlZ2VuZCIpKXtjb25zdCBzPXRoaXMuX2dldE1URlJlc29sdXRpb25JbnB1dFRpdGxlKCk7bnVsbCE9PXMmJnMubGVuZ3RoPjAmJm8ucHVzaChzKTtsPSh0aGlzLmlucHV0c0luUGFydHMoZSx0LGksbixhKT8/W10pLm1hcCgoZT0+ZS52YWx1ZSkpfXJldHVybiBlPT09Vy5UaXRsZURpc3BsYXlUYXJnZXQuU3RhdHVzTGluZSYmdGhpcy5fc2hvd1BpbmVWZXJzaW9uSW5TdGF0dXNMaW5lLnZhbHVlKCkmJm8ucHVzaCgoMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkucGluZSkudmVyc2lvbiksW28uam9pbigiIMK3ICIpLGxdfV9zZXJpZXNEYXRhUmFuZ2VUb1NhdmUoZSl7cmV0dXJuIHRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLnZpc2libGVFeHRlbmRlZERhdGFSYW5nZShlLDApfV9nZXRTeW1ib2xGb3JSZXNvbHZlKGUpe3JldHVybiB0aGlzLmdldFN5bWJvbFN0cmluZyh0aGlzLl9nZXRTeW1ib2xGb3JBcGkoZSkpfV9nZXRTeW1ib2xGb3JBcGkoZSl7cmV0dXJuIGV9X2dldFN5bWJvbE9iamVjdChlLHQpe2NvbnN0IHM9e3N5bWJvbDplfSxpPXRoaXMuY3VycmVuY3koKTtyZXR1cm4gbnVsbCE9PXRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eSYmbnVsbCE9PXRoaXMuX2N1cnJlbmN5VW5pdFNvdXJjZVN5bWJvbEluZm8udmFsdWUoKSYmdGhpcy5fZ2V0U3ltYm9sRm9yQXBpKHRoaXMuX2N1cnJlbmN5U291cmNlU3ltYm9sSW5wdXRQcm9wZXJ0eS52YWx1ZSgpKT09PWUmJihzWyJjdXJyZW5jeS1pZCJdPWkpLHMuc2Vzc2lvbj10aGlzLnNlc3Npb25JZCgpLHN9X29uU3ltYm9sUmVzb2x2ZWQoZSx0LHMpe3tjb25zdCBlPSgwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fbW9kZWwuYWxlcnRzV2F0Y2hlcigpKTtlLnN5bmNTb3VyY2VBbGVydExhYmVscyh0aGlzKTtjb25zdCB0PXRoaXMuZ2V0QWxsQ2hpbGRyZW4oKTtmb3IoY29uc3QgcyBvZiB0KWUuc3luY1NvdXJjZUFsZXJ0TGFiZWxzKHMpfXRoaXMuX29uQ3VycmVuY3lNYXlDaGFuZ2UoKX1fb25TeW1ib2xSZXNvbHZpbmdTdGFydChlLHQpe31fb25TeW1ib2xFcnJvcigpe31fc2V0U3RhdHVzKGUsdCl7Y29uc3Qgcz10aGlzLmlzRmFpbGVkKCk7dGhpcy5fc3RhdHVzLnNldFZhbHVlKGUpLGUudHlwZT09PVp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWQ/dGhpcy5fd2FzQ29tcGxldGVkQmVmb3JlPSEwOmUudHlwZSE9PVp0LlN0dWR5U3RhdHVzVHlwZS5FcnJvciYmZS50eXBlIT09WnQuU3R1ZHlTdGF0dXNUeXBlLlVuZGVmaW5lZHx8KHRoaXMuX3dhc0NvbXBsZXRlZEJlZm9yZT0hMSksdHx8KHRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSwKdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLHRoaXMuX3N0YXR1c0NoYW5nZWQuZmlyZSh0aGlzLnN0YXR1cygpKSkscyE9PXRoaXMuaXNGYWlsZWQoKSYmdGhpcy5fdXBkYXRlQWxlcnRDcmVhdGlvbkF2YWlsYWJsZSgpfV9vblByb3BlcnRpZXNDaGFuZ2VkKCl7dGhpcy5fcmVzdGFydGluZ3x8KHRoaXMuX2lucHV0cz90aGlzLl90cnlDaGFuZ2VJbnB1dHMoKTp0aGlzLl9jaGFydEFwaSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnJlc3RhcnQoKSk7Y29uc3QgZT10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2UuaXNUVlNjcmlwdCYmZS5UVlNjcmlwdE1ldGFJbmZvRXhwcnMmJiF0aGlzLl9tb2RlbC5pc1NuYXBzaG90KCkmJih0aGlzLl9yZXN0YXJ0aW5nP3RoaXMuX2RlZmVycmVkUGluZVBhdGNoUHJvcHM9ITA6dGhpcy5fcGluZVBhdGNoUHJvcHMoKSksdGhpcy5fcmVjcmVhdGVQYW5lVmlld3MoKSwoMCxscy5lbWl0KSgic3R1ZHlfcHJvcGVydGllc19jaGFuZ2VkIix0aGlzLl9pZC52YWx1ZSgpKX1fbGFzdE5vbkVtcHR5UGxvdFJvdyhlKXtpZighKDAsdS5pc0ludGVnZXIpKGUpKXJldHVybiBTcy5sb2dEZWJ1ZygiX2xhc3ROb25FbXB0eVBsb3RSb3c6IGluY29ycmVjdCBwbG90SW5kZXgiKSxudWxsO2xldCB0PXRoaXMuX2xhc3ROb25FbXB0eVBsb3RSb3dDYWNoZVtlXT8/bnVsbDtpZihudWxsIT09dClyZXR1cm4gdDtyZXR1cm4gdD10aGlzLmRhdGEoKS5maW5kTGFzdCgoKHQscyk9PnZvaWQgMCE9PXNbZV0pLDFlMyksbnVsbD09PXQ/bnVsbDoodGhpcy5fbGFzdE5vbkVtcHR5UGxvdFJvd0NhY2hlW2VdPXQsdCl9X29uQ3VycmVuY3lDaGFuZ2VkKCl7ImFsd2F5c09mZiIhPT0oMCxzcy5jdXJyZW5jeVVuaXRNZXRyaWNWaXNpYmlsaXR5UHJvcGVydHkpKCkudmFsdWUoKSYmdGhpcy5fbW9kZWwuZnVsbFVwZGF0ZSgpLHRoaXMuaXNTdGFydGVkKCkmJnRoaXMuX3RyeUNoYW5nZUlucHV0cygpLHRoaXMuX2N1cnJlbmN5Q2hhbmdlZC5maXJlKCl9X2FwaUlucHV0cygpe3JldHVybiB0aGlzLmlucHV0cyh7a2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5OiEwfSl9YXN5bmMgX3RyeUNoYW5nZUlucHV0cygpe2NvbnN0IGU9dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpLHQ9dGhpcy5fYWxsSW5wdXRzQXJlVmFsaWQoKSxzPSgwLGguZW5zdXJlRGVmaW5lZCkoKDAsdS5jbG9uZSkodGhpcy5faW5wdXRzKSksaT10aGlzLl9hcGlJbnB1dHMoKSxyPUpTT04uc3RyaW5naWZ5KGkpLG49ciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2lucHV0cyk7aWYoZSYmdCl0cnl7aWYoYXdhaXQgdGhpcy5fYWxsU3ltYm9sc0FyZVJlc29sdmVkKCksciE9PUpTT04uc3RyaW5naWZ5KHRoaXMuX2FwaUlucHV0cygpKSlyZXR1cm4gdGhpcy5fdHJ5Q2hhbmdlSW5wdXRzKCk7aWYodGhpcy5faXNTdG9wcGVkKCkpcmV0dXJuIHZvaWQobiYmdGhpcy5kaXNhYmxlUHJpY2VSYW5nZVJlYWR5KCkpO24mJihhd2FpdCB0aGlzLl9jaGFuZ2VJbnB1dHNJbXBsKGksKDAsaC5lbnN1cmVEZWZpbmVkKSgoMCx1LmNsb25lKSh0aGlzLl9pbnB1dHMpKSksKDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLm1vZGVsKCkuYWxlcnRzV2F0Y2hlcigpKS5zeW5jU291cmNlQWxlcnRMYWJlbHModGhpcykpfWNhdGNoKGUpe1NzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IF90cnlDaGFuZ2VJbnB1dHM6IGNhbm5vdCBtb2RpZnkgc3R1ZHksICR7ZX1gKX1lbHNlIGlmKGUmJiF0JiZ0aGlzLnN0b3AoITApLCFlJiZ0JiZ0aGlzLnN0YXJ0KCEwKSxuKXtjb25zdCBlPXRoaXMuX2NhbGNTb3VyY2VzKCksdD1rcyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLGkscyk7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITApLHRoaXMuX2lucHV0cz1pfXRoaXMuX3RhZ3NDaGFuZ2VkLmZpcmUoKX1fb25DdXJyZW5jeU1heUNoYW5nZSgpe2lmKG51bGwhPT10aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHkpe2NvbnN0IGU9dGhpcy5jdXJyZW5jeSgpO3RoaXMuX3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpLGUhPT10aGlzLmN1cnJlbmN5KCkmJnRoaXMuX29uQ3VycmVuY3lDaGFuZ2VkKCl9fV9maWxsUHJlY2FsY3VsYXRlZEF1dG9zY2FsZUluZm8oZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpLHM9dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCksaT1uZXcgU2V0LHI9dC5maWxsZWRBcmVhc3x8W107Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKyspe2NvbnN0IHQ9cltlXTtzLmZpbGxlZEFyZWFzU3R5bGUuY2hpbGRzKClbdC5pZF0uY2hpbGRzKCkudmlzaWJsZS52YWx1ZSgpJiYoaS5hZGQodC5vYmpBSWQpLGkuYWRkKHQub2JqQklkKSl9cmV0dXJuIHQucGxvdHMuZmlsdGVyKChlPT4hKDAsWi5pc1Bsb3RXaXRoVGVjaG5pY2FsVmFsdWVzKShlKSkpLmZpbHRlcigocz0+dC5pc1Bsb3RGb3JjZU92ZXJsYXkocy5pZCk/ZS50YXJnZXRQcmljZVNjYWxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnByaWNlU2NhbGUoKTplLnRhcmdldFByaWNlU2NhbGU9PT10aGlzLnByaWNlU2NhbGUoKSYmIWUuZm9yY2VPdmVybGF5T25seSkpLmZpbHRlcigoZT0+aS5oYXMoZS5pZCl8fHRoaXMuaXNQbG90VmlzaWJsZUF0KGUuaWQsWi5TdHVkeVBsb3REaXNwbGF5VGFyZ2V0LlBhbmUpKSkucmVkdWNlKCgodCxzKT0+dGhpcy5fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscykpLHtmaWVsZHM6W10sdXNlTWFpblNlcmllc1JhbmdlOiExLGJhc2VWYWx1ZU1pbk1heDpudWxsfSl9X2ZpcnN0U291cmNlT3JTZXJpZXMoKXtyZXR1cm4gdGhpcy5fc291cmNlcy52YWx1ZSgpWzBdPz90aGlzLl9zZXJpZXN9X3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKXtyZXR1cm4hMX1fdHJ5Q3JlYXRlRm9ybWF0dGVyKGUpe2NvbnN0IHQ9dm9pZCAwPT09ZT90aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKTplCjtyZXR1cm4gTHModGhpcy5fbWV0YUluZm8udmFsdWUoKS5mb3JtYXQsdGhpcy5fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpLHQsdGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpfV90cnlDcmVhdGVEZWZhdWx0Rm9ybWF0dGVyKGUpe3JldHVybiB0aGlzLl90cnlDcmVhdGVGb3JtYXR0ZXIoZSl9X21lcmdlRGF0YShlKXtyZXR1cm4gdGhpcy5faW52YWxpZGF0ZUxhc3ROb25FbXB0eVBsb3RSb3dDYWNoZSgpLHRoaXMuZGF0YSgpLm1lcmdlKGUpfV9za2lwcGVkVGl0bGVJbnB1dHMoKXtyZXR1cm4gdGhpcy5faGlkZU1hdGNoZXMuZmlsdGVyKChlPT5lLnBsb3RJZHMuZXZlcnkoKGU9PnRoaXMuX2dldFBsb3REaXNwbGF5VmFsdWUoZSk9PT1aLlN0dWR5UGxvdERpc3BsYXlUYXJnZXQuTm9uZSkpKSkubWFwKChlPT5lLmlkKSl9X2dldFBsb3REaXNwbGF5VmFsdWUoZSl7cmV0dXJuIHRoaXMucHJvcGVydGllcygpPy5jaGlsZHMoKT8uc3R5bGVzPy5jaGlsZHMoKT8uW2VdPy5jaGlsZHMoKT8uZGlzcGxheT8udmFsdWUoKX1fb25TdHVkeUVycm9yKGUpe3BlcmZvcm1hbmNlLmNsZWFyTWFya3MoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKSx0aGlzLl9oYW5kbGVTdHVkeUVycm9yKHRoaXMuX2NyZWF0ZVN0dWR5RXJyb3IoZSkpLHRoaXMuX2VuYWJsZVByaWNlUmFuZ2VSZWFkeSgpfV9vblN0dWR5Q29tcGxldGVkKGUpe2lmKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYGNhbGN1bGF0ZV9zdHVkeV8ke3RoaXMuc291cmNlSWQoKX1gKS5sZW5ndGgpe3RyeXtjb25zdCBlPXBlcmZvcm1hbmNlLm1lYXN1cmUoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCxgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApO3RoaXMuX2NhbGN1bGF0aW9uVGltZS5zZXRWYWx1ZShlLmR1cmF0aW9uKX1jYXRjaChlKXtTcy5sb2dFcnJvcigiRXJyb3IgZHVyaW5nIG1lYXN1cmluZyBzdHVkeSBjYWxjdWxhdGlvbiB0aW1lIil9cGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhgY2FsY3VsYXRlX3N0dWR5XyR7dGhpcy5zb3VyY2VJZCgpfWApLHBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoYG1lYXN1cmVfc3R1ZHlfJHt0aGlzLnNvdXJjZUlkKCl9YCl9dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSksdGhpcy5fc2VuZFRlbGVtZXRyeUNvdW50ZXIodGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpKyJfbG9hZGVkIiksdGhpcy5fc2V0U3RhdHVzKHt0eXBlOlp0LlN0dWR5U3RhdHVzVHlwZS5Db21wbGV0ZWR9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSk7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpO3RoaXMuX21vZGVsLnJlY2FsY3VsYXRlUGFuZSh0LCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuX3VwZGF0ZVNvdXJjZXMoKTtjb25zdCBzPWVzLkludmFsaWRhdGlvbk1hc2suZnVsbCgpO251bGwhPT10aGlzLl9tb2RlbC5hcHBsaWVkVGltZUZyYW1lKCkudmFsdWUoKSYmcy5sb2NrVmlzaWJsZVRpbWVSYW5nZU9uUmVzaXplKCksdGhpcy5fbW9kZWwuaW52YWxpZGF0ZShzKX1fY2xlYXJEYXRhKCl7dGhpcy5fZGF0YS5jbGVhcigpLHRoaXMuX2RhdGFSYW5nZVVwZGF0ZWQuZmlyZSh7dHlwZToiZnVsbCJ9KX1fbW92ZURhdGEoZSl7dGhpcy5kYXRhKCkubW92ZShlKX1fZGVmYXVsdEVycm9yVGl0bGUoKXtyZXR1cm4iUnVudGltZSBlcnJvciJ9X2hhbmRsZVJlc3RvcmluZ0ZhY3RvcnlEZWZhdWx0cygpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllcy5zdGF0ZSgpOygwLF9zLmFwcGx5RGVmYXVsdENvbG9yc1RvUHJvcHNTdGF0ZSkoZSx0aGlzLl9tZXRhSW5mby52YWx1ZSgpKSx0aGlzLl9wcm9wZXJ0aWVzLm1lcmdlKGUpfV9pbml0Q3VycmVuY3lNZXRhRGF0YSgpeygwLF8uY29tYmluZSkoKChlLHQscyk9Pntjb25zdCBpPXRoaXMuY3VycmVuY3koKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUobnVsbCk7aWYoIWV8fG51bGw9PT1zKXJldHVybiB2b2lkIHRoaXMuX2N1cnJlbmN5TWV0YURhdGEuc2V0VmFsdWUocyk7Y29uc3Qgcj1zLm9yaWdpbmFsQ3VycmVuY3k7dGhpcy5fY3VycmVuY3lNZXRhRGF0YS5zZXRWYWx1ZSh7aXNDb252ZXJ0ZWRUb090aGVyQ3VycmVuY3k6aSE9PXIsb3JpZ2luYWxDdXJyZW5jeTpyLGN1cnJlbnRDdXJyZW5jeTppLGlzQ3VycmVuY3lDb252ZXJ0aWJsZTohMCxiYXNlQ3VycmVuY3k6bnVsbCxjdXJyZW5jeU9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNDdXJyZW5jeU9yaWdpbi53ZWFrUmVmZXJlbmNlKCksdGhpcy5fY29tcG91bmRTdGF0dXMud2Vha1JlZmVyZW5jZSgpLCgwLF8uYWNjdW11bGF0ZSkoKGU9PmVbMF0pLCgwLF8uY29tYmluZSkoKCgpPT5bdGhpcy5fZmlyc3RTb3VyY2VPclNlcmllcygpLmN1cnJlbmN5TWV0YWRhdGEoKS53ZWFrUmVmZXJlbmNlKCldKSx0aGlzLl9hbGxPd25lclNvdXJjZXMud2Vha1JlZmVyZW5jZSgpKS5vd25lcnNoaXAoKSkub3duZXJzaGlwKCksKDAsQWUuY3JlYXRlV1ZGcm9tUHJvcGVydHkpKHRoaXMuX2N1cnJlbmN5SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2luaXRVbml0TWV0YURhdGEoKXsoMCxfLmNvbWJpbmUpKCgoZSx0LHMpPT57Y29uc3QgaT10aGlzLnVuaXQoKTtpZihudWxsPT09aXx8dC50eXBlPT09WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yKXJldHVybiB2b2lkIHRoaXMuX3VuaXRNZXRhRGF0YS5zZXRWYWx1ZShudWxsKTtpZighZXx8bnVsbD09PXMpcmV0dXJuIHZvaWQgdGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHMpO2NvbnN0IHI9cy5vcmlnaW5hbFVuaXQ7dGhpcy5fdW5pdE1ldGFEYXRhLnNldFZhbHVlKHsKaXNDb252ZXJ0ZWRUb090aGVyVW5pdDppIT09cixjdXJyZW50VW5pdDppLG9yaWdpbmFsVW5pdDpyLGNvbnZlcnRpYmxlR3JvdXBzOnMuY29udmVydGlibGVHcm91cHMsdW5pdE9yaWdpbk5hbWU6dGhpcy50aXRsZShXLlRpdGxlRGlzcGxheVRhcmdldC5TdGF0dXNMaW5lLCEwKX0pfSksdGhpcy5faXNVbml0T3JpZ2luLndlYWtSZWZlcmVuY2UoKSx0aGlzLl9jb21wb3VuZFN0YXR1cy53ZWFrUmVmZXJlbmNlKCksKDAsXy5hY2N1bXVsYXRlKSgoZT0+ZVswXSksKDAsXy5jb21iaW5lKSgoKCk9Plt0aGlzLl9maXJzdFNvdXJjZU9yU2VyaWVzKCkudW5pdE1ldGFkYXRhKCkud2Vha1JlZmVyZW5jZSgpXSksdGhpcy5fYWxsT3duZXJTb3VyY2VzLndlYWtSZWZlcmVuY2UoKSkub3duZXJzaGlwKCkpLm93bmVyc2hpcCgpLCgwLEFlLmNyZWF0ZVdWRnJvbVByb3BlcnR5KSh0aGlzLl91bml0SW5wdXRQcm9wZXJ0eT8/bmV3IFF0LlByb3BlcnR5KG51bGwpKS5vd25lcnNoaXAoKSl9X2NyZWF0ZVN0dWR5RXJyb3IoZSl7bGV0IHQ7cmV0dXJuIHQ9KDAsdS5pc1N0cmluZykoZSk/e2Vycm9yOnRoaXMuX2dldFN0dWR5RXJyb3JUZXh0KGUpLHRpdGxlOmUuaW5jbHVkZXMoInN0dWR5X25vdF9hdXRoIik/IkFjY2VzcyBlcnJvciI6dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX06ey4uLmUsdGl0bGU6ZS50aXRsZT8/dGhpcy5fZGVmYXVsdEVycm9yVGl0bGUoKX0sKDAsWnQuY3JlYXRlU3R1ZHlFcnJvcikodCx0aGlzLnN5bWJvbFNvdXJjZSgpLnN5bWJvbEluZm8oKT8uZXhjaGFuZ2UpfV9pbmNyZW1lbnRUdXJuYXJvdW5kKCl7dGhpcy5fdHVybmFyb3VuZD0ic3QiKyArK3RoaXMuX3R1cm5hcm91bmRDb3VudGVyfV9jaGVja1R1cm5hcm91bmQoZSl7cmV0dXJuIGU9PT10aGlzLl90dXJuYXJvdW5kfHxlPT09dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnNlcmllc1NvdXJjZSgpLnR1cm5hcm91bmQoKXx8ZT09PXRoaXMudHVybmFyb3VuZCghMCl9X3VwZGF0ZU1heE9mZnNldFZhbHVlKCl7bGV0IGU9LTEvMDtmb3IoY29uc3QgdCBvZiB0aGlzLl9tZXRhSW5mby52YWx1ZSgpLnBsb3RzKWU9TWF0aC5tYXgodGhpcy5vZmZzZXQodC5pZCksZSk7dGhpcy5fbWF4T2Zmc2V0LnNldFZhbHVlKGUpfV9yaWdodE9mZnNldFRvVW5peFRpbWUoZSl7aWYodGhpcy5fc2VyaWVzLmJhcnMoKS5zaXplKCk+PWUpe2NvbnN0IHQ9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXJpZXMuYmFycygpLmxhc3RJbmRleCgpKS1lO3JldHVybigwLGguZW5zdXJlTm90TnVsbCkodGhpcy5fc2VyaWVzLmJhcnMoKS52YWx1ZUF0KHQpKVswXX1yZXR1cm4gbnVsbH1fY29uY2F0UHJpY2VBeGlzVmlld3MoKXt0aGlzLl9wcmljZUF4aXNWaWV3cz1bLi4udGhpcy5fcHJpY2VBeGlzVmlld3NCYXNlLC4uLnRoaXMuX2dyYXBoaWNzUHJpY2VBeGlzVmlld3NdfV9vblN0dWR5TG9hZGluZyhlKXt0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkxvYWRpbmcsc3RhcnRUaW1lOkRhdGUubm93KCl9KSx0aGlzLl9zdGF0dXNWaWV3Py51cGRhdGUoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkodGhpcy5pZCgpKSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpfV9oYW5kbGVTdHVkeUVycm9yKGUpe3RoaXMuY2xlYXJEYXRhKCksdGhpcy5fc2V0U3RhdHVzKGUpO3tjb25zdCB0PSgwLFp0LmNvbnZlcnRTdHVkeVN0YXR1c1RvU3RyaW5nKShlKSxzPXRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCksaT10LmluZGV4T2YoIkNvbW1hbmQgaW5mbyIpO3MucmVhc29uPWk+PTA/dC5zbGljZSgwLGkpLnRyaW0oKTp0O2lmKCEvc3R1ZHkgaW4gZXJyb3Igc3RhdGV8dGhlIGRhdGEgdmVuZG9yIGRvZXNuXCd0IHByb3ZpZGUgdm9sdW1lIGRhdGEgZm9yIHRoaXMgc3ltYm9sLnxlcnJvciBpbiBzZXJpZXN8dW5zdXBwb3J0ZWQgcmVzb2x1dGlvbi9naS50ZXN0KHMucmVhc29uPy50b0xvd2VyQ2FzZSgpPz8iIikpe2NvbnN0IGU9dGhpcy5fZ2V0VGVsZW1ldHJ5T2JqZWN0TmFtZSgpO3RoaXMuX3NlbmRUZWxlbWV0cnlDb3VudGVyKGUrIl9lcnJvciIscyl9fXRoaXMuX3N0YXR1c1ZpZXc/LnVwZGF0ZSgoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKSx0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyl9X3VwZGF0ZVNvdXJjZXMoKXt0aGlzLl9tb2RlbC51cGRhdGVTb3VyY2UodGhpcyksdGhpcy5oYXNCYXJDb2xvcmVyKCkmJnRoaXMuX21vZGVsLnVwZGF0ZVNvdXJjZSh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkpfV91bnN1YnNjcmliZVRvU2Vzc2lvbklkKCl7dGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQmJih0aGlzLnNlc3Npb25JZENoYW5nZWQoKS51bnN1YnNjcmliZSh0aGlzLHRoaXMuX29uU2Vzc2lvbklkQ2hhbmdlZCksdGhpcy5faXNTdWJzY3JpYmVkVG9TZXNzaW9uSWQ9ITEpfV9vblNlc3Npb25JZENoYW5nZWQoKXt0aGlzLnJlc3RhcnQoITApfV9yZWNyZWF0ZVByaWNlU3RlcCgpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLl9wcmljZVNjYWxlQnlQcm9wZXJ0aWVzKCk/P3RoaXMuX3ByaWNlU2NhbGVCeU1ldGFJbmZvKCk7bnVsbCE9PXQmJihlPTEvdCksdGhpcy5fcHJpY2VTdGVwIT09ZSYmKHRoaXMuX3ByaWNlU3RlcD1lLHRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpKX1fcmVjcmVhdGVQbG90c0Zvcm1hdHRlcnMoZSl7dGhpcy5fcGxvdEZvcm1hdHRlcnMuY2xlYXIoKTtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCkscz10LmZvcm1hdCxpPXRoaXMuX3ByaWNlU2NhbGVCeVByb3BlcnRpZXMoKSxyPXZvaWQgMD09PWU/dGhpcy5zeW1ib2xTb3VyY2UoKS5zeW1ib2xJbmZvKCk6ZTtmb3IoY29uc3RbZSxuXW9mIE9iamVjdC5lbnRyaWVzKHQub2hsY1Bsb3RzPz97fSkpaWYobj8uZm9ybWF0KXtjb25zdCB0PUxzKEVzKHsuLi5zLC4uLm4/LmZvcm1hdH0pLGkscix0aGlzLnByb3BlcnRpZXMoKS5jaGlsZHMoKS5wcmVjaXNpb24udmFsdWUoKSk7dCYmdGhpcy5fcGxvdEZvcm1hdHRlcnMuc2V0KGUsdCl9CmZvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModC5zdHlsZXM/P3t9KSlpZihuPy5mb3JtYXQpe2NvbnN0IHQ9THMoRXMoey4uLnMsLi4ubj8uZm9ybWF0fSksaSxyLHRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZSx0KX1mb3IoY29uc3QgZSBvZiB0LnBsb3RzKWlmKCgwLFouaXNPaGxjUGxvdCkoZSkpe2NvbnN0IHQ9dGhpcy5fcGxvdEZvcm1hdHRlcnMuZ2V0KGUudGFyZ2V0KTt0JiZ0aGlzLl9wbG90Rm9ybWF0dGVycy5zZXQoZS5pZCx0KX19X2pvaW5UaXRsZXNQYXJ0cyhlKXtjb25zdCB0PWVbMV0/ZVsxXS5qb2luKCIsICIpOiIiO3JldHVybiBlWzBdKyh0Lmxlbmd0aD4wPyIgKCIrdCsiKSI6IiIpfV9nZXRNVEZSZXNvbHV0aW9uSW5wdXRUaXRsZSgpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpO2ZvcihsZXQgdD0wO3Q8ZS5pbnB1dHMubGVuZ3RoO3QrKyl7Y29uc3Qgcz1lLmlucHV0c1t0XTtpZigicmVzb2x1dGlvbiI9PT1zLnR5cGUmJnMuaXNNVEZSZXNvbHV0aW9uKXJldHVybigwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQocy5pZCkpLnZhbHVlKCl9cmV0dXJuIG51bGx9X29uRGF0YVVwZGF0ZShlLHQscyl7dGhpcy5fc3R1ZHlNb2RpZmllZCYmKHRoaXMuY2xlYXJEYXRhKCksdGhpcy5fc3R1ZHlNb2RpZmllZD0hMSk7Y29uc3QgaT0ocj10LmQsKDAseC51bnBhY2tOb25TZXJpZXNEYXRhQ29tcHJlc3NlZCkocikpO3ZhciByO3JldHVybiB0aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZT10aGlzLl9vbmdvaW5nRGF0YVVwZGF0ZS50aGVuKCgoKT0+aSksKCgpPT5pKSkudGhlbih0aGlzLl9vbkRhdGFVbnBhY2tlZC5iaW5kKHRoaXMsZSx0LmluZGV4ZXMscykpLHRoaXMuX29uZ29pbmdEYXRhVXBkYXRlfV9hbGxTeW1ib2xzQXJlUmVzb2x2ZWQoKXtjb25zdCBlPXRoaXMuX2lucHV0U3ltYm9scygpLHQ9W107bGV0IHM9ITE7Zm9yKGNvbnN0IGkgb2YgZSl7Y29uc3QgZT10aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGkpO2lmKCIiIT09ZSlpZih0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV0pcz0hMDtlbHNle2NvbnN0IHM9dGhpcy5fcmVzb2x2ZVN5bWJvbChlLGkpO3QucHVzaChzKX19aWYoMD09PXQubGVuZ3RoKXtjb25zdCBlPVByb21pc2UucmVzb2x2ZSgpO3JldHVybiBzP2UudGhlbigoKCk9PnRoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCkpKTplfXJldHVybiBQcm9taXNlLmFsbCh0KS5jYXRjaCgoZT0+KHRoaXMuX2lucHV0U3ltYm9scygpLmluY2x1ZGVzKGUpJiZ0aGlzLnN0b3AoITApLHRoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuRXJyb3IsZXJyb3JEZXNjcmlwdGlvbjp7ZXJyb3I6YnN9fSksdGhpcy5fbW9kZWwudXBkYXRlU291cmNlKHRoaXMpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHN5bWJvbCwgIitlKSkpKS50aGVuKCgoKT0+e3RoaXMuX3N5bWJvbHNSZXNvbHZlZC5maXJlKCksdGhpcy5fcmVjaGVja0xpbmVUb29sc0FjdHVhbGl0eSgpfSkpfV9yZXNvbHZlU3ltYm9sKGUsdCl7aWYoIiI9PT1lKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTtsZXQgcz10aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZ2V0KGUpO3JldHVybiB2b2lkIDAhPT1zfHwocz1uZXcgUHJvbWlzZSgoKHMsaSk9Pnt0aGlzLl9vblN5bWJvbFJlc29sdmluZ1N0YXJ0KGUsdCksdGhpcy5fY2hhcnRBcGkucmVzb2x2ZVN5bWJvbCgoMCxzZS5tYWtlTmV4dFN5bWJvbElkKSgpLGUsKHI9PntpZih0aGlzLl9pc0Rlc3Ryb3llZClpKCJTdHVkeSBpcyBkZXN0cm95ZWQiKTtlbHNlIHN3aXRjaCh0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuZGVsZXRlKGUpLHIubWV0aG9kKXtjYXNlInN5bWJvbF9yZXNvbHZlZCI6e3RoaXMuX3NldFN0YXR1cyh7dHlwZTpadC5TdHVkeVN0YXR1c1R5cGUuVW5kZWZpbmVkfSk7Y29uc3QgaT1yLnBhcmFtc1sxXTt0aGlzLl9yZXNvbHZlZFN5bWJvbHNbZV09aSx0aGlzLl9yZXNvbHZlZFN5bWJvbHNCeUlucHV0W3RdPWksdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSghMCksdGhpcy5fb25TeW1ib2xSZXNvbHZlZChlLHQsaSkscygpO2JyZWFrfWNhc2Uic3ltYm9sX2Vycm9yIjppZih0aGlzLl9zZXRTdGF0dXMoe3R5cGU6WnQuU3R1ZHlTdGF0dXNUeXBlLkVycm9yLGVycm9yRGVzY3JpcHRpb246e2Vycm9yOnIucGFyYW1zWzFdfX0pLHRoaXMuX29uU3ltYm9sRXJyb3IoKSxyLnBhcmFtc1sxXT09PWllLnBlcm1pc3Npb25EZW5pZWQmJnIucGFyYW1zWzJdKXtpZihyLnBhcmFtc1syXSE9PWllLlN5bWJvbEVycm9yUGVybWlzc2lvbkRlbmllZFJlYXNvbi5TeW1ib2wpcmV0dXJuIHZvaWQgdGhpcy5fcmVzb2x2ZVN5bWJvbChyLnBhcmFtc1syXSx0KS50aGVuKHMpO2lmKHIucGFyYW1zWzNdKXJldHVybiB2b2lkIHRoaXMuX3Jlc29sdmVTeW1ib2woci5wYXJhbXNbM10sdCkudGhlbihzKX10aGlzLl9zZW5kVGVsZW1ldHJ5Q291bnRlcigic3ltYm9sX2Vycm9yIixPYmplY3QuYXNzaWduKHRoaXMuX2dldFRlbGVtZXRyeUFkZGl0aW9uYWxEYXRhKCkse3N5bWJvbDplLHJlYXNvbjpyLnBhcmFtc1sxXX0pKSxpKHQpfX0pKX0pKSx0aGlzLl9wZW5kaW5nUmVzb2x2ZVN5bWJvbHMuc2V0KGUscykpLHN9X3JlY2hlY2tMaW5lVG9vbHNBY3R1YWxpdHkoKXtjb25zdCBlPXRoaXMuX21vZGVsLnBhbmVGb3JTb3VyY2UodGhpcyk7bnVsbCE9PWUmJmUuc291cmNlc0J5R3JvdXAoKS5saW5lU291cmNlc0ZvckFsbFN5bWJvbHMoKS5mb3JFYWNoKChlPT57ZS5vd25lclNvdXJjZSgpPT09dGhpcyYmZS5jYWxjSXNBY3R1YWxTeW1ib2woKX0pKX1fc2VuZFRlbGVtZXRyeUNvdW50ZXIoZSx0KXt2b2lkIDA9PT10JiYodD10aGlzLl9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpKTtjb25zdCBzPXtjb3VudDoxLGFkZGl0aW9uYWw6dH07dmUudGVsZW1ldHJ5LnNlbmRDaGFydFJlcG9ydChlLHMpfV9nZXRUZWxlbWV0cnlBZGRpdGlvbmFsRGF0YSgpe2xldCBlPSIiO2NvbnN0IHQ9dGhpcy5fbWV0YUluZm8udmFsdWUoKQo7cmV0dXJuIHQucGluZSYmdC5waW5lLnZlcnNpb24mJnQuc2hvcnRJZC5pbmRleE9mKCJVU0VSIik+PTAmJihlPSJfdiIrdC5waW5lLnZlcnNpb24pLHtzeW1ib2w6dGhpcy5zZXJpZXMoKS5hY3R1YWxTeW1ib2woKSxyZXNvbHV0aW9uOnRoaXMuc2VyaWVzKCkuaW50ZXJ2YWwoKSxzdHVkeTp0LnNob3J0SWQrZX19X29uU291cmNlRm9ybWF0dGVyQ2hhbmdlZCgpe251bGw9PT10aGlzLl9mb3JtYXR0ZXImJihudWxsIT09dGhpcy5fcHJpY2VTY2FsZSYmdGhpcy5fcHJpY2VTY2FsZS51cGRhdGVGb3JtYXR0ZXIoKSx0aGlzLl9mb3JtYXR0ZXJDaGFuZ2VkLmZpcmUoKSl9X29uU291cmNlUHJpY2VTdGVwQ2hhbmdlZCgpe251bGw9PT10aGlzLl9wcmljZVN0ZXAmJnRoaXMuX3ByaWNlU3RlcENoYW5nZWQuZmlyZSgpfV9iYW5kc0ZpcnN0VmFsdWUoZSl7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCF0LmJhbmRzKXJldHVybiBudWxsO2ZvcihsZXQgcz0wO3M8dC5iYW5kcy5sZW5ndGg7cysrKXtjb25zdCB0PSgwLGguZW5zdXJlRGVmaW5lZCkodGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5iYW5kcykuY2hpbGRzKClbc107aWYodC5jaGlsZHMoKS52aXNpYmxlLnZhbHVlKCkpe2NvbnN0IHM9dC5jaGlsZHMoKS52YWx1ZS52YWx1ZSgpO2lmKGUmJjA9PT1zKWNvbnRpbnVlO2lmKG51bGwhPT1zKXJldHVybiBzfX1yZXR1cm4gbnVsbH1fcHJlcGFyZUlucHV0cyhlKXsoMCxoLmFzc2VydCkoISFlLCJvcHRpb25zIG5vdCBzZXQiKTtjb25zdCB0PXRoaXMubWV0YUluZm8oKSxzPXt9LGk9ZS5hbGxvd2VkSW5wdXRUeXBlcz9uZXcgU2V0KGUuYWxsb3dlZElucHV0VHlwZXMpOm51bGwscj0hKCFlLmFzT2JqZWN0fHwhZS51c2VOYW1lQW5kR3JvdXBBc0tleSk7Zm9yKGxldCBuPTA7bjx0LmlucHV0cy5sZW5ndGg7bisrKXtjb25zdCBhPXQuaW5wdXRzW25dO2lmKG51bGwhPT1pJiYhaS5oYXMoYS50eXBlKSljb250aW51ZTtpZihhLmlzRmFrZSYmZS5za2lwRmFrZUlucHV0cyljb250aW51ZTtpZihhLmlzTVRGUmVzb2x1dGlvbiYmZS5ub1Jlc29sdXRpb24pY29udGludWU7aWYodm9pZCAwIT09ZS5kaXNwbGF5TWFzayYmISgoMCxoLmVuc3VyZURlZmluZWQpKGEuZGlzcGxheSkmZS5kaXNwbGF5TWFzaykpY29udGludWU7aWYoZS5za2lwSGlkZGVuSW5wdXRzJiYoIWUuZG9Ob3RTa2lwSGlkZGVuV2l0aE1pZ3JhdGV8fCFhLm1pZ3JhdGUpKXtsZXQgdD0hMTtzd2l0Y2goYS50eXBlKXtjYXNlImJvb2wiOnQ9ZS5za2lwQm9vbGVhbklucHV0czticmVhaztjYXNlImNvbG9yIjp0PWUuc2tpcENvbG9ySW5wdXRzO2JyZWFrO2Nhc2UidGltZSI6dD1lLnNraXBUaW1lSW5wdXRzO2JyZWFrO2Nhc2UidGV4dF9hcmVhIjp0PWUuc2tpcFRleHRhcmVhSW5wdXRzO2JyZWFrO2RlZmF1bHQ6dD1Cb29sZWFuKGEuaXNIaWRkZW4pfWlmKHQpY29udGludWV9aWYodm9pZCAwIT09YS5ncm91cElkJiYtMSE9PWUuc2tpcHBlZEdyb3Vwcy5pbmRleE9mKGEuZ3JvdXBJZCkpY29udGludWU7aWYoLTEhPT1lLnNraXBwZWRJbnB1dHMuaW5kZXhPZihhLmlkKSljb250aW51ZTtjb25zdCBvPXRoaXMuX3ByZXBhcmVJbnB1dChhLGUpO2lmKCJzeW1ib2wiPT09YS50eXBlJiZlLnNraXBPcHRpb25hbEVtcHR5U3ltYm9sSW5wdXRzJiYiIj09PW8pY29udGludWU7bGV0IGw7ciYmKGw9KDAsUi5nZXRTdHVkeUlucHV0TmFtZSkoYSksdm9pZCAwIT09bCYmbCBpbiBzJiYobD12b2lkIDApKSxzW2x8fGEuaWRdPSgwLHUuY2xvbmUpKG8pfXJldHVybiBzfV9wcmVwYXJlSW5wdXRWYWx1ZShlLHQpe2NvbnN0IHM9ZS5pZCxpPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCk7aWYodC52YWx1ZXNBc0lzRnJvbVByb3BlcnRpZXMpcmV0dXJuIGkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7Y29uc3Qgcj10aGlzLl9tZXRhSW5mby52YWx1ZSgpO2lmKCJzeW1ib2wiPT09ZS50eXBlKXtjb25zdCByPXQmJnQuc3ltYm9sc0ZvckRpc3BsYXksbj1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO2xldCBhPXI/bjp0aGlzLl9nZXRTeW1ib2xGb3JBcGkobiksbz10aGlzLl9yZXNvbHZlZFN5bWJvbHM/Llt0aGlzLl9nZXRTeW1ib2xGb3JSZXNvbHZlKGEpXT8/bnVsbDtpZigiIj09PWEmJmUub3B0aW9uYWwpe2lmKHQmJnQua2VlcE9wdGlvbmFsU3ltYm9sc0VtcHR5KXJldHVybiBhO2E9dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbCgpLG89dGhpcy5fbW9kZWwubWFpblNlcmllcygpLnN5bWJvbEluZm8oKX1pZihyKWlmKG8paWYoeHMpe3N3aXRjaCh0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuc3ltYm9sVGV4dFNvdXJjZVByb3h5UHJvcGVydHkoKS52YWx1ZSgpKXtjYXNlImRlc2NyaXB0aW9uIjphPW8uZGVzY3JpcHRpb247YnJlYWs7Y2FzZSJ0aWNrZXItYW5kLWRlc2NyaXB0aW9uIjphPWAke28ubmFtZX0sICR7by5kZXNjcmlwdGlvbn1gO2JyZWFrO2Nhc2UidGlja2VyIjphPW8ubmFtZX19ZWxzZSBhPSgwLHRzLnN5bWJvbFRpdGxlKShvLHQubm9FeGNoYW5nZXMpO2Vsc2UgTXMmJihhPSIiKTtlbHNlIG8mJihhPW8udGlja2VyfHxvLmZ1bGxfbmFtZSksIXRoaXMuaXNQaW5lKCkmJnQmJnQuc3ltYm9sc0ZvckNoYXJ0QXBpJiYoYT10aGlzLmdldFN5bWJvbFN0cmluZyhhKSk7cmV0dXJuIGF9aWYoImJhcl90aW1lIj09PWUudHlwZSl7bGV0IGU9aS5pbnB1dHMuY2hpbGRzKClbc10udmFsdWUoKTtpZihlPDApe2NvbnN0IHQ9dGhpcy5fcmlnaHRPZmZzZXRUb1VuaXhUaW1lKC1lKTtlPXQmJnQ+PTA/dDplfXJldHVybiBlfWlmKHIuaXNUVlNjcmlwdHx8ci5waW5lKXtpZigidGV4dCI9PT1zKXJldHVybiByLmRlZmF1bHRzLmlucHV0cz8udGV4dD8/IiI7aWYoInBpbmVJZCI9PT1zKXJldHVybiByLnNjcmlwdElkUGFydDtpZigicGluZVZlcnNpb24iPT09cylyZXR1cm4gci5waW5lP3IucGluZS52ZXJzaW9uOiItMSI7aWYoImNvbG9yIj09PWUudHlwZSYmci5pc1JHQil7Y29uc3QgZT1pLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpO3JldHVybigwLEwuY29sb3JUb0ludGVnZXIpKGUpfWlmKCJwcmljZSI9PT1lLnR5cGUpewpjb25zdCBlPWkuaW5wdXRzLmNoaWxkcygpW3NdLnZhbHVlKCk7cmV0dXJuIHQucHJpY2VJbnB1dHNGb3JEaXNwbGF5P3RoaXMuZm9ybWF0dGVyKCkuZm9ybWF0KGUpOmV9fXJldHVybiBpLmlucHV0cy5jaGlsZHMoKVtzXS52YWx1ZSgpfV9nZXRTdHVkeUlkV2l0aExhdGVzdFZlcnNpb24oKXtyZXR1cm4gdi5TdHVkeU1ldGFJbmZvLmdldFN0dWR5SWRXaXRoTGF0ZXN0VmVyc2lvbih0aGlzLm1ldGFJbmZvKCkpfV9kZWJ1Z0lkKCl7Y29uc3QgZT1bXTtlLnB1c2godGhpcy5faWQudmFsdWUoKSk7Y29uc3QgdD10aGlzLl9tZXRhSW5mby52YWx1ZSgpO3JldHVybiBlLnB1c2godC5mdWxsSWQpLGUucHVzaCh0LmRlc2NyaXB0aW9uKSxKU09OLnN0cmluZ2lmeSh7c3R1ZHk6ZX0pfV9oYXNBdmFpbGFibGVBbGVydFBsb3RzKCl7aWYobnVsbD09PXRoaXMuX2FsZXJ0TWV0YUluZm8oKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5zdGF0ZUZvckFsZXJ0KCkucGxvdHMubGVuZ3RoPjB9X2hhc0FsZXJ0Q29uZGl0aW9ucygpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO2lmKG51bGw9PT1lKXJldHVybiExO2lmKGUucGxvdHMuc29tZShaLmlzQWxlcnRDb25kaXRpb25QbG90KSlyZXR1cm4hMDtjb25zdCB0PXRoaXMuc3RhdGVGb3JBbGVydCgpO3JldHVybiBCb29sZWFuKHQuYWxlcnRzJiZ0LmFsZXJ0cy5jb25kaXRpb25zKX1faGFzQWxlcnRGdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5fYWxlcnRNZXRhSW5mbygpO3JldHVybiBCb29sZWFuKG51bGwhPT1lJiZlLmhhc0FsZXJ0RnVuY3Rpb24pfWFzeW5jIF91cGRhdGVQYXJlbnRTb3VyY2VzKGUsdCxzKXtpZih0aGlzLl9zb3VyY2VzLnZhbHVlKCkuZm9yRWFjaCgoZT0+ZS51bnNldENoaWxkKHRoaXMpKSkscyYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoKGU9PmUuaXNTdGFydGVkKCk/UHJvbWlzZS5yZXNvbHZlKCk6ZS5zdGFydCghMSwhMCkpKSksZS5mb3JFYWNoKChlPT5lLnNldENoaWxkKHRoaXMpKSksdGhpcy5fc2V0U291cmNlcyhlKSx0aGlzLl9yZWNyZWF0ZVByaWNlRm9ybWF0dGluZ0RlcGVuZGVuY2llcygpLDAhPT10JiZ0aGlzLl9zb3VyY2VzLnZhbHVlKCkubGVuZ3RoPD0xKXtjb25zdCBlPXRoaXMuX2ZpcnN0U291cmNlT3JTZXJpZXMoKSx0PXRoaXMuX3ByaWNlU2NhbGUscz0oMCxoLmVuc3VyZU5vdE51bGwpKGUucHJpY2VTY2FsZSgpKTtpZih0IT09cyl7Y29uc3QgdD10aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKHRoaXMpLGk9KDAsaC5lbnN1cmVOb3ROdWxsKSh0aGlzLl9tb2RlbC5wYW5lRm9yU291cmNlKGUpKTt0PT09aSYmaS5tb3ZlKHRoaXMscywhMCl9fX1fY2FsY1NvdXJjZXMoKXtjb25zdCBlPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLnN0YXRlKCk7cmV0dXJuIHYuU3R1ZHlNZXRhSW5mby5nZXRTb3VyY2VJZHNCeUlucHV0cyh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyxlKS5tYXAoKGU9PntpZigiaGlnaCI9PT1lfHwib3BlbiI9PT1lfHwibG93Ij09PWV8fCJjbG9zZSI9PT1lfHwiaGwyIj09PWV8fCJvaGwzIj09PWV8fCJvaGxjNCI9PT1lKXJldHVybiBudWxsO3JldHVybiB0aGlzLl9tb2RlbC5hbGxTdHVkaWVzKCkuZmluZCgodD0+dC5jYW5IYXZlQ2hpbGRyZW4oKSYmdC5pZCgpPT09ZSkpPz9udWxsfSkpLmZpbHRlcih1Lm5vdE51bGwpfV9pc1N0b3BwZWQoKXtyZXR1cm4hdGhpcy5pc1N0YXJ0ZWQoKX1fb25EYXRhVW5wYWNrZWQoZSx0LHMsaSl7aWYodGhpcy5faXNEZXN0cm95ZWQpcmV0dXJuOyJub2NoYW5nZSIhPT10JiZ0aGlzLl9wcm9jZXNzUGxvdE9mZnNldHMoaSksdGhpcy5fdHJhbnNmb3JtRGF0YShlKTtjb25zdCByPXRoaXMuX21lcmdlRGF0YShlKTtudWxsIT09aSYmKGkuaW5kZXhlc19yZXBsYWNlPygoMCxoLmFzc2VydCkoIm5vY2hhbmdlIiE9PXQpLHRoaXMuX2dyYXBoaWNzLnJlcGxhY2VJbmRleGVzVG8odCkpOigibm9jaGFuZ2UiIT09dCYmdGhpcy5fZ3JhcGhpY3MucmVwbGFjZUluZGV4ZXNUbyh0KSx2b2lkIDAhPT1pLmdyYXBoaWNzQ21kcyYmdGhpcy5fZ3JhcGhpY3MucHJvY2Vzc0NvbW1hbmRzKGkuZ3JhcGhpY3NDbWRzKSkpLHRoaXMuX29uRGF0YVVwZGF0ZWQoZSxpLHQsciYmci5pbmRleCksdGhpcy5wcmljZVJhbmdlUmVhZHkoKXx8dGhpcy5fZW5hYmxlUHJpY2VSYW5nZVJlYWR5KCksdGhpcy5fZGF0YVVwZGF0ZWQuZmlyZSgpfV9wcm9jZXNzUGxvdE9mZnNldHMoZSl7aWYoZSYmZS5pbmRleGVzX3JlcGxhY2UpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKTt0aGlzLl9zZXJ2ZXJQbG90T2Zmc2V0cy5zZXRWYWx1ZShlJiZlLm9mZnNldHN8fHt9KSwoMCxyLmRlZmF1bHQpKHQsdGhpcy5fc2VydmVyUGxvdE9mZnNldHMudmFsdWUoKSl8fHRoaXMudXBkYXRlQWxsVmlld3MoKDAsSi5zb3VyY2VDaGFuZ2VFdmVudCkoe3NvdXJjZUlkOnRoaXMuaWQoKSxjbGVhckRhdGE6ITB9KSksdGhpcy5fdXBkYXRlTWF4T2Zmc2V0VmFsdWUoKX1fYXBwbHlQbG90VG9QcmVjYWxjdWxhdGVkQXV0b3NjYWxlSW5mbyhlLHQscyl7Y29uc3QgaT1zLmlkLHI9dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5zdHlsZXMuY2hpbGRzKClbaV0sbj0oMCxaLmlzU2hhcGVzUGxvdCkocyl8fCgwLFouaXNDaGFyc1Bsb3QpKHMpO3QudXNlTWFpblNlcmllc1JhbmdlPXQudXNlTWFpblNlcmllc1JhbmdlfHwoMCxaLmlzQXJyb3dzUGxvdCkocyk7bGV0IGE9KDAsWi5pc0xpbmVQbG90KShzKXx8KDAsWi5pc09obGNQbG90KShzKTtpZihuKXtjb25zdCBlPSgwLGguZW5zdXJlRGVmaW5lZCkocikuY2hpbGRzKCkubG9jYXRpb24udmFsdWUoKSxzPVtiLk1hcmtMb2NhdGlvbi5BYnNvbHV0ZSxiLk1hcmtMb2NhdGlvbi5Ub3AsYi5NYXJrTG9jYXRpb24uQm90dG9tXS5pbmRleE9mKGUpPDA7dC51c2VNYWluU2VyaWVzUmFuZ2U9dC51c2VNYWluU2VyaWVzUmFuZ2V8fG4mJnMsYT1hfHxlPT09Yi5NYXJrTG9jYXRpb24uQWJzb2x1dGV9aWYoIWEpcmV0dXJuIHQ7Y29uc3Qgbz17bmFtZTppLG9mZnNldDp0aGlzLm9mZnNldChpKX0sbD1yLmNoaWxkcygpLnBsb3R0eXBlLnZhbHVlKCkKO2lmKCgwLFouZG9lc0xpbmVQbG90U3R5bGVTdXBwb3J0RmlsbEJyZWFrcykobCkpe2NvbnN0IGk9dGhpcy5fbWV0YUluZm8udmFsdWUoKS5wbG90cy5pbmRleE9mKHMpLHI9dGhpcy5fZ2V0TWluTWF4Rm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhpLGwsZSk7dC5iYXNlVmFsdWVNaW5NYXg9KDAsZy5tZXJnZU1pbk1heCkodC5iYXNlVmFsdWVNaW5NYXgscil9aWYoIXRoaXMuX3NraXBIaXN0b2dyYW1CYXNlT25BdXRvU2NhbGUoKSYmW1ouTGluZVN0dWR5UGxvdFN0eWxlLkhpc3RvZ3JhbSxaLkxpbmVTdHVkeVBsb3RTdHlsZS5Db2x1bW5zLFouTGluZVN0dWR5UGxvdFN0eWxlLkFyZWFdLmluZGV4T2YobCk+PTApe2NvbnN0IHM9KHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3R5bGVzPz97fSk/LltpXT8uaGlzdG9ncmFtQmFzZTtpZih2b2lkIDA9PT1zKXJldHVybiB0O2NvbnN0e3N0YXJ0VGltZVBvaW50OnIsZW5kVGltZVBvaW50Om59PWUsYT10aGlzLmRhdGEoKS5taW5NYXhPblJhbmdlQ2FjaGVkKHIsbixbb10pO3JldHVybigwLHUuaXNOdW1iZXIpKHMpJiZudWxsIT09YSYmKHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LHttaW46cyxtYXg6c30pLHQuYmFzZVZhbHVlTWluTWF4PSgwLGcubWVyZ2VNaW5NYXgpKHQuYmFzZVZhbHVlTWluTWF4LGEpKSx0fXJldHVybiB0LmZpZWxkcy5wdXNoKG8pLHR9X2dldEZpcnN0VmFsRm9yUGxvdFRoYXRTdXBwb3J0RmlsbEJyZWFrcyhlLHQpe2NvbnN0IHM9dGhpcy5kYXRhKCkucGxvdHRhYmxlUmFuZ2UoKSxpPWUrMSxyPXMuc2VhcmNoKHQsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxpKTtpZihyKXtpZihzLnNlYXJjaCh0LFMuUGxvdFJvd1NlYXJjaE1vZGUuTmVhcmVzdFJpZ2h0LGkpKXJldHVybiByLnZhbHVlW2ldfXJldHVybiBudWxsfV9nZXRNaW5NYXhGb3JQbG90VGhhdFN1cHBvcnRGaWxsQnJlYWtzKGUsdCxzKXtjb25zdCBpPXRoaXMuZGF0YSgpLnBsb3R0YWJsZVJhbmdlKCkscj1lKzEsbj10PT09Wi5MaW5lU3R1ZHlQbG90U3R5bGUuU3RlcExpbmV8fHQ9PT1aLkxpbmVTdHVkeVBsb3RTdHlsZS5TdGVwTGluZVdpdGhEaWFtb25kcyxhPWU9Pntjb25zdCB0PWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0TGVmdCxyKTtpZih0KXtjb25zdCBzPWkuc2VhcmNoKGUsUy5QbG90Um93U2VhcmNoTW9kZS5OZWFyZXN0UmlnaHQscik7aWYocyl7Y29uc3QgZT10LnZhbHVlW3JdO2lmKG4pcmV0dXJue21pbjplLG1heDplfTt7Y29uc3QgdD1zLnZhbHVlW3JdO3JldHVybnttaW46TWF0aC5taW4oZSx0KSxtYXg6TWF0aC5tYXgoZSx0KX19fX1yZXR1cm4gbnVsbH0sbz1NYXRoLmZsb29yKHMubG9naWNTdGFydFBvaW50KSxsPU1hdGguY2VpbChzLmxvZ2ljRW5kUG9pbnQpLGg9YShvKSx1PWEobCk7cmV0dXJuKDAsZy5tZXJnZU1pbk1heCkoaCx1KX1hc3luYyBfb25Tb3VyY2VJbnB1dENoYW5nZWQoKXtpZighdGhpcy5pc1N0YXJ0ZWQoKSl7Y29uc3QgZT10aGlzLl9jYWxjU291cmNlcygpO3tjb25zdCB0PTE9PT1lLmxlbmd0aCYmZVswXSE9PXRoaXMuX3NvdXJjZXMudmFsdWUoKVswXT8xOjA7dGhpcy5fdXBkYXRlUGFyZW50U291cmNlcyhlLHQsITEpfX19X2J1aWxkSW5wdXRzKGUpeygwLGguYXNzZXJ0KSghIWUsIm9wdGlvbnMgbm90IHNldCIpO2xldCB0PXt9O3RyeXt0PXRoaXMuX3ByZXBhcmVJbnB1dHMoZSl9Y2F0Y2goZSl7U3MubG9nV2FybigiRmFpbGVkIHRvIHByZXBhcmUgc3R1ZHkgaW5wdXRzOiAiK2UpfWlmKGUuYXNPYmplY3Qpe2NvbnN0IGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKHM9PntudWxsIT10W3NdJiYoZVtzXT10W3NdKX0pKSxlfXtjb25zdCBlPVtdO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChzPT57bnVsbCE9dFtzXSYmZS5wdXNoKHRbc10pfSkpLGV9fV9wcmVwYXJlSW5wdXQoZSx0KXtjb25zdCBzPXRoaXMuX3ByZXBhcmVJbnB1dFZhbHVlKGUsdCk7cmV0dXJuIShlLmlzRmFrZXx8dC5mb3JjZVRyZWF0U291cmNlSW5wdXRzQXNGYWtlJiYic291cmNlIj09PWUudHlwZSl8fHQuZmFrZUlucHV0c0ZvckRpc3BsYXl8fHQub25seUF0b21WYWx1ZXM/czp0aGlzLl9jcmVhdGVFeHRlbmRlZElucHV0KHMsZS50eXBlKX1fY3JlYXRlRXh0ZW5kZWRJbnB1dChlLHQpe3JldHVybnt2OmUsZjohMCx0fX1fcGxvdHNGb3JBbGVydCgpe3JldHVybigwLFQucGxvdHNGb3JBbGVydCkodGhpcy5tZXRhSW5mbygpLHRoaXMub2Zmc2V0LmJpbmQodGhpcykpfV9mb3JtYXR0ZXJTdGF0ZUZvckFsZXJ0KCl7dHJ5e2NvbnN0IGU9dGhpcy5mb3JtYXR0ZXIoKTtyZXR1cm4gTS5Gb3JtYXR0ZXJzU2VyaWFsaXplci5pc1NlcmlhbGl6YWJsZShlKT9NLkZvcm1hdHRlcnNTZXJpYWxpemVyLnNlcmlhbGl6ZShlKTpudWxsfWNhdGNoe3JldHVybiBudWxsfX1fY2FsY0lzQWN0dWFsSW50ZXJ2YWwoKXtjb25zdCBlPXRoaXMuX2lzQWN0dWFsSW50ZXJ2YWw7dGhpcy5faXNBY3R1YWxJbnRlcnZhbD0oMCxYdC5pc0FjdHVhbEludGVydmFsKSh0aGlzLl9zZXJpZXMuaW50ZXJ2YWxPYmooKS52YWx1ZSgpLHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW50ZXJ2YWxzVmlzaWJpbGl0aWVzKSxlIT09dGhpcy5faXNBY3R1YWxJbnRlcnZhbCYmKHRoaXMuX29uSXNBY3R1YWxJbnRlcnZhbENoYW5nZS5maXJlKCksdGhpcy5fdmlzaWJsZUNoYW5nZWQoKSx0aGlzLnByb2Nlc3NIaWJlcm5hdGUoKSl9X3Zpc2libGVDaGFuZ2VkKCl7dGhpcy5fc2VyaWVzLmludmFsaWRhdGVCYXJDb2xvcmVyQ2FjaGUoKX1fZ2V0Tm9uUHJpY2VQYXJlbnQoKXtjb25zdCBlPXRoaXMuX3NvdXJjZXMudmFsdWUoKTtmb3IoY29uc3QgdCBvZiBlKWlmKHQgaW5zdGFuY2VvZiBVcyl7Y29uc3QgZT10Lm1ldGFJbmZvKCk7cmV0dXJuIGUuaXNfcHJpY2Vfc3R1ZHkmJiJDb21wYXJlQHR2LWJhc2ljc3R1ZGllcyIhPT1lLmlkP3QuX2dldE5vblByaWNlUGFyZW50KCk6dH1yZXR1cm4gbnVsbH1fdXBkYXRlSW5wdXRWYWx1ZShlLHQpewpjb25zdCBzPXRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkcygpO2lmKHNbdC5pZF0paWYoInByaWNlIj09PXQudHlwZSlzW3QuaWRdLnNldFZhbHVlKGUucHJpY2UpO2Vsc2UgaWYoInRpbWUiPT09dC50eXBlKXtjb25zdCBpPXRoaXMuX21vZGVsLnRpbWVTY2FsZSgpLmluZGV4VG9UaW1lUG9pbnQoZS5pbmRleCk7bnVsbCE9PWkmJnNbdC5pZF0uc2V0VmFsdWUoMWUzKmkpfX1faW5pdGlhbGl6ZVN0dWR5SW5wdXRzUGFuZVZpZXdzKCl7Y29uc3QgZT0oMCxEZS5lZGl0YWJsZVN0dWR5SW5wdXRzKSh0aGlzLl9tZXRhSW5mby52YWx1ZSgpLmlucHV0cyk7aWYoMD09PWUubGVuZ3RoKXJldHVybjtjb25zdCB0PXtjb252ZXJ0UHJpY2VUb0Nvb3JkaW5hdGU6ZT0+e2NvbnN0IHQ9dGhpcy5wcmljZVNjYWxlKCk7aWYobnVsbCE9PXQmJiF0LmlzRW1wdHkoKSl7Y29uc3Qgcz10aGlzLmZpcnN0VmFsdWUoKTtpZihudWxsIT09cylyZXR1cm4gdC5wcmljZVRvQ29vcmRpbmF0ZShlLHMpfXJldHVybiBudWxsfSxmb3JtYXRQcmljZTplPT57Y29uc3QgdD10aGlzLnByaWNlU2NhbGUoKTtpZihudWxsIT09dCYmIXQuaXNFbXB0eSgpKXtjb25zdCBzPXRoaXMuZmlyc3RWYWx1ZSgpO2lmKG51bGwhPT1zKXJldHVybiB0LmZvcm1hdFByaWNlKGUscyl9cmV0dXJuIiJ9LGdldElucHV0VmFsdWU6ZT0+dGhpcy5fcHJvcGVydGllcy5jaGlsZHMoKS5pbnB1dHMuY2hpbGQoZSk/LnZhbHVlKCk/P251bGwsaXNTZWxlY3RlZDooKT0+dGhpcy5fbW9kZWwuc2VsZWN0aW9uKCkuaXNTZWxlY3RlZCh0aGlzKSxpc0hvdmVyZWQ6KCk9PnRoaXM9PT10aGlzLl9tb2RlbC5ob3ZlcmVkU291cmNlKCl9O1Byb21pc2UuYWxsKFtzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsODUyMjQ2KSkscy5lKDczMjM0KS50aGVuKHMuYmluZChzLDcyNDAwNykpLHMuZSg3MzIzNCkudGhlbihzLmJpbmQocyw1MTgwMjApKSxzLmUoNzMyMzQpLnRoZW4ocy5iaW5kKHMsNzY4OTg2KSldKS50aGVuKChzPT57Y29uc3RbaSxyLG4sYV09czt0aGlzLl9pbnB1dHNBbmNob3JzUGFuZVZpZXc9bmV3IGkuU3R1ZHlJbnB1dHNBbmNob3JzUGFuZVZpZXcoZSx0aGlzLl9tb2RlbCx0KTtjb25zdCBvPWUuZmlsdGVyKChlPT4hQXJyYXkuaXNBcnJheShlKSkpO3RoaXMuX2lucHV0c0xpbmVzUGFuZVZpZXc9bmV3IHIuU3R1ZHlJbnB1dHNMaW5lc1BhbmVWaWV3KG8sdGhpcy5fbW9kZWwsdCk7bGV0IGw9ITE7ZS5mb3JFYWNoKChlPT57aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgcz0idGltZSI9PT1lWzBdLnR5cGU/ZVswXTplWzFdLGk9InByaWNlIj09PWVbMF0udHlwZT9lWzBdOmVbMV07dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhzLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpLHRoaXMuX2lucHV0c1ByaWNlQXhpc1BhbmVWaWV3cy5wdXNoKG5ldyBhLlN0dWR5SW5wdXRQcmljZUF4aXNQYW5lVmlldyhpLHQpKSxsPSEwfWVsc2UidGltZSI9PT1lLnR5cGU/dGhpcy5faW5wdXRzVGltZUF4aXNQYW5lVmlld3MucHVzaChuZXcgbi5TdHVkeUlucHV0VGltZUF4aXNQYW5lVmlldyhlLHRoaXMuX21vZGVsLHQuZ2V0SW5wdXRWYWx1ZSkpOih0aGlzLl9pbnB1dHNQcmljZUF4aXNQYW5lVmlld3MucHVzaChuZXcgYS5TdHVkeUlucHV0UHJpY2VBeGlzUGFuZVZpZXcoZSx0KSksbD0hMCl9KSksbCYmdGhpcy5mb3JtYXR0ZXJDaGFuZ2VkKCkuc3Vic2NyaWJlKHRoaXMsdGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSl9KSl9X3VwZGF0ZUN1cnJlbmN5U291cmNlU3ltYm9sSW5mbygpe31faW5pdGlhbGl6ZUN1cnJlbmN5U291cmNlKCl7Y29uc3QgZT10aGlzLm1ldGFJbmZvKCksdD0ic3ltYm9sSW5wdXRTeW1ib2xTb3VyY2UiPT09ZS5zeW1ib2xTb3VyY2U/LnR5cGUmJmUuc3ltYm9sU291cmNlPy5pbnB1dElkLHM9ZS5pbnB1dHMuZmluZCgoZT0+ZS5pZD09PXQpKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJzeW1ib2wiPT09cz8udHlwZSYmZS5pc19wcmljZV9zdHVkeSl7Y29uc3QgZT10aGlzLl9wcm9wZXJ0aWVzLmNoaWxkcygpLmlucHV0cy5jaGlsZHMoKVt0XTt2b2lkIDAhPT1lJiYoZS5zdWJzY3JpYmUodGhpcyx0aGlzLl9vbkN1cnJlbmN5TWF5Q2hhbmdlKSx0aGlzLl9jdXJyZW5jeVNvdXJjZVN5bWJvbElucHV0UHJvcGVydHk9ZSl9fV9yZWNyZWF0ZVBhbmVWaWV3cygpe3RoaXMuaGFzQmFyQ29sb3JlcigpJiZ0aGlzLl9tb2RlbC5tYWluU2VyaWVzKCkuaW52YWxpZGF0ZUJhclN0eWxlc0NhY2hlKCksdGhpcy5fY3JlYXRlVmlld3MoKSx0aGlzLnJlY2FsY3VsYXRlKCksdGhpcy51cGRhdGVBbGxWaWV3cygoMCxKLnNvdXJjZUNoYW5nZUV2ZW50KSh0aGlzLmlkKCkpKX1hc3luYyBfcGluZVBhdGNoUHJvcHMoKXt0aGlzLl9kZWZlcnJlZFBpbmVQYXRjaFByb3BzPSExO2NvbnN0IGU9dGhpcy5fcHJlcGFyZUlucHV0cyhWcyk7dGhpcy5fYXJlU3R1ZHlJbnB1dHNNb2RpZmllZChlKSYmKHRoaXMuX2Fib3J0UGF0Y2hQcm9wc0NvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLl9wcm9wZXJ0aWVzUGF0Y2hlZD1uZXcgUHJvbWlzZSgoYXN5bmMgdD0+e3RyeXthd2FpdCB0aGlzLl9yZXNldFByb3BlcnRpZXNQYXRjaGVkfWNhdGNoKGUpe3JldHVybiB2b2lkIFNzLmxvZ0Vycm9yKGBFUlJPUjogJHt0aGlzLl9kZWJ1Z0lkKCl9IHBpbmUgaW5wdXRzIHBhdGNoaW5nIGFmdGVyIHJlc2V0IHRvIGRlZmF1bHRzIGZhaWxlZCwgcmVhc29uOiAke2V9YCl9dGhpcy5fYWJvcnRQYXRjaFByb3BzQ29udHJvbGxlcj1uZXcgQWJvcnRDb250cm9sbGVyLHRoaXMuX29sZFN0dWR5SW5wdXRzPWU7Y29uc3Qgcz1uZXcgdi5TdHVkeU1ldGFJbmZvKHRoaXMuX21ldGFJbmZvLnZhbHVlKCkuc3RhdGUoKSksaT0oMCxGLnBhdGNoUHJvcGVydGllc0FzeW5jKSh0aGlzLl9wcm9wZXJ0aWVzLHMsZSx0aGlzLl9hYm9ydFBhdGNoUHJvcHNDb250cm9sbGVyLnNpZ25hbCx0aGlzLl9wcmV2aW91c1BhdGNoTWFwKSxyPXRoaXMuX2FsbFN5bWJvbHNBcmVSZXNvbHZlZCgpCjthd2FpdCBQcm9taXNlLmFsbChbaSxyXSkudGhlbigoKCk9Pnt0aGlzLl9tZXRhSW5mby5zZXRWYWx1ZShzKSx0aGlzLl9pc0Rlc3Ryb3llZHx8KHQoKSx0aGlzLl9jcmVhdGVWaWV3cygpLHRoaXMucmVjYWxjdWxhdGUoKSx0aGlzLnVwZGF0ZUFsbFZpZXdzKCgwLEouc291cmNlQ2hhbmdlRXZlbnQpKHRoaXMuaWQoKSkpLHRoaXMuaW52YWxpZGF0ZVRpdGxlQ2FjaGUoKSl9KSkuY2F0Y2goKGU9Pnt0KCksU3MubG9nRXJyb3IoYEVSUk9SOiAke3RoaXMuX2RlYnVnSWQoKX0gcGluZSBpbnB1dHMgcGF0Y2hpbmcgZmFpbGVkLCByZWFzb246ICR7ZX1gKX0pKX0pKSl9X2FyZVN0dWR5SW5wdXRzTW9kaWZpZWQoZSl7aWYoMD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aClyZXR1cm4hMTtpZih2b2lkIDA9PT10aGlzLl9vbGRTdHVkeUlucHV0cylyZXR1cm4hMDtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX29sZFN0dWR5SW5wdXRzKTsoMCxoLmFzc2VydCkodC5sZW5ndGg9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGgsImtleXMgcXVhbnRpdHkgc2hvdWxkIGJlIGVxdWFsIik7Zm9yKGNvbnN0IHMgb2YgdClpZigoMCxoLmFzc2VydCkoZS5oYXNPd25Qcm9wZXJ0eShzKSxga2V5ICcke3N9JyBzaG91bGQgZXhpc3QgaW4gc3R1ZHkgaW5wdXRzYCksKDAsaC5lbnN1cmVEZWZpbmVkKSh0aGlzLl9vbGRTdHVkeUlucHV0cylbc10hPT1lW3NdKXJldHVybiEwO3JldHVybiExfV9vblZpc2libGVUaW1lUmFuZ2VJbnB1dHNDaGFuZ2VkKGUpe251bGwhPT1lP3RoaXMuX3VwZGF0ZVZpc2libGVUaW1lUmFuZ2VJbnB1dHMoZSk6dGhpcy5pc1N0YXJ0ZWQoKSYmdGhpcy5fY2hhcnRBcGkuaXNDb25uZWN0ZWQoKS52YWx1ZSgpJiZ0aGlzLnN0b3AoITApfV91cGRhdGVWaXNpYmxlVGltZVJhbmdlSW5wdXRzKGUsdD0hMCl7Y29uc3Qgcz17Zmlyc3RfdmlzaWJsZV9iYXJfdGltZTplLmZpcnN0VmlzaWJsZUJhclRpbWUsbGFzdF92aXNpYmxlX2Jhcl90aW1lOmUubGFzdFZpc2libGVCYXJUaW1lLHN1YnNjcmliZVJlYWx0aW1lOmUuc3Vic2NyaWJlUmVhbHRpbWV9LGk9dGhpcy5tZXRhSW5mbygpLmlucHV0cyxyPVtdO2Zvcihjb25zdCBlIG9mIGkpcy5oYXNPd25Qcm9wZXJ0eShlLmlkKSYmci5wdXNoKGUuaWQpO2NvbnN0IG49dGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkuaW5wdXRzO2Zvcihjb25zdCBlIG9mIHIpbi5jaGlsZHMoKVtlXS5zZXRWYWx1ZVNpbGVudGx5KHNbZV0pO3QmJnIubGVuZ3RoPjAmJm4uZmlyZUNoYW5nZWQoKX1fZ2V0U3R1ZHlFcnJvclRleHQoZSl7c3dpdGNoKGUubWF0Y2goL15zdHVkeV9ub3RfYXV0aDooLiopP0AuKi8pPy5bMV0pe2Nhc2UiU2NyaXB0IjpjYXNlIlN0cmF0ZWd5U2NyaXB0IjpyZXR1cm4iVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiI7Y2FzZSJWYlBTZXNzaW9ucyI6Y2FzZSJWYlBQZXJpb2RpYyI6Y2FzZSJWYlBWaXNpYmxlIjpyZXR1cm4iVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4ifXJldHVybiBlLnNwbGl0KCI6IiwyKVswXX1fcHJpY2VTY2FsZUJ5UHJvcGVydGllcygpe2lmKCJkZWZhdWx0Ij09PXRoaXMucHJvcGVydGllcygpLmNoaWxkcygpLnByZWNpc2lvbi52YWx1ZSgpKXJldHVybiBudWxsO2NvbnN0IGU9cGFyc2VJbnQodGhpcy5wcm9wZXJ0aWVzKCkuY2hpbGRzKCkucHJlY2lzaW9uLnZhbHVlKCkpO3JldHVybiBpc0Zpbml0ZShlKT9NYXRoLnBvdygxMCxlKTpudWxsfV9wcmljZVNjYWxlQnlNZXRhSW5mbygpe2NvbnN0IGU9dGhpcy5tZXRhSW5mbygpLmZvcm1hdCx0PSJpbmhlcml0IiE9PWUudHlwZT9lLnByZWNpc2lvbjp2b2lkIDAscz0oMCx1LmlzTnVtYmVyKSh0KT9NYXRoLnBvdygxMCx0KTp2b2lkIDA7aWYoInByaWNlIj09PWUudHlwZXx8InBlcmNlbnQiPT09ZS50eXBlKXJldHVybiBzfHwxMDA7aWYoInZvbHVtZSI9PT1lLnR5cGUpe2lmKHZvaWQgMD09PWUucHJlY2lzaW9uKXtjb25zdCBlPXRoaXMuc2VyaWVzKCkuc3ltYm9sSW5mbygpO2lmKG51bGwhPT1lJiYoMCx1LmlzTnVtYmVyKShlLnZvbHVtZV9wcmVjaXNpb24pKXJldHVybiBNYXRoLnBvdygxMCxlLnZvbHVtZV9wcmVjaXNpb24pfXJldHVybiAxfXJldHVybiJpbmhlcml0Ij09PWUudHlwZXx8U3MubG9nV2FybigiVW5zdXBwb3J0ZWQgZm9ybWF0IHR5cGU6ICIrZS50eXBlKSxudWxsfV9pbnB1dFN5bWJvbHMoKXtyZXR1cm4gdGhpcy5tZXRhSW5mbygpLmlucHV0cy5maWx0ZXIoKGU9PiJzeW1ib2wiPT09ZS50eXBlKSkubWFwKChlPT4oMCxoLmVuc3VyZURlZmluZWQpKHRoaXMuX3Byb3BlcnRpZXMuY2hpbGRzKCkuaW5wdXRzLmNoaWxkKGUuaWQpKS52YWx1ZSgpKSl9X3N0dWR5U3BlYyhlKXtjb25zdCB0PXRoaXMuX21ldGFJbmZvLnZhbHVlKCk7cmV0dXJue2lkOnQuaWQsY2hpbGQ6ZT8/dGhpcy5pc0NoaWxkU3R1ZHkoKSxmdW5kYW1lbnRhbDooMCx3ZS5pc0Z1bmRhbWVudGFsU3R1ZHlNZXRhSW5mbykodCksZm9yZWNhc3Q6KDAsd2UuaXNGb3JlY2FzdFN0dWR5TWV0YUluZm8pKHQpLHN0dWJUaXRsZTp0LmRlc2NyaXB0aW9ufHx0LnNob3J0RGVzY3JpcHRpb259fV9vbkZvcm1hdHRlclByb3BzQ2hhbmdlZCgpe3RoaXMuX3JlY3JlYXRlUHJpY2VGb3JtYXR0aW5nRGVwZW5kZW5jaWVzKCl9X3NldFNvdXJjZXMoZSl7dGhpcy5pbnZhbGlkYXRlVGl0bGVDYWNoZSgpLHRoaXMuX3NvdXJjZXMuc2V0VmFsdWUoZSksdGhpcy5fb25QYXJlbnRTb3VyY2VzQ2hhbmdlcy5maXJlKCl9YXN5bmMgX2F3YWl0Rm9yTWV0YUluZm8oKXtjb25zdCBlPXtyZXNvbHZlcjooKT0+e319LHQ9KCk9PmUucmVzb2x2ZXIoKTt0cnl7YXdhaXQgUHJvbWlzZS5yYWNlKFtuZXcgUHJvbWlzZSgoKGUsdCk9PntzZXRUaW1lb3V0KCgoKT0+dChuZXcgRXJyb3IoIlRpbWVvdXQiKSkpLDNlMyl9KSksbmV3IFByb21pc2UoKHM9PntlLnJlc29sdmVyPXMsdGhpcy5tZXRhSW5mb1dWKCkuc3Vic2NyaWJlKHQpfSkpXSl9Y2F0Y2goZSl7dGhyb3cgZX1maW5hbGx5ewp0aGlzLm1ldGFJbmZvV1YoKS51bnN1YnNjcmliZSh0KX19fX0sMzcwNjIyKGUsdCxzKXtzLmQodCx7cGxvdFNoYXBlc0RhdGE6KCk9PnJ9KTt2YXIgaT1zKDE4NTI3MSk7Y29uc3Qgcj17c2hhcGVfYXJyb3dfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg3MDQ0NTgpKSxpZDoic2hhcGVfYXJyb3dfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckFycm93RG93biIscGluZU5hbWU6InNoYXBlLmFycm93ZG93biIsaWNvbjoiYXJyb3dfZG93biJ9LHNoYXBlX2Fycm93X3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDYyMDYxKSksaWQ6InNoYXBlX2Fycm93X3VwIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQXJyb3dVcCIscGluZU5hbWU6InNoYXBlLmFycm93dXAiLGljb246ImFycm93X3VwIn0sc2hhcGVfY2lyY2xlOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDc5NDQwOCkpLGlkOiJzaGFwZV9jaXJjbGUiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJDaXJjbGVTaGFwZSIscGluZU5hbWU6InNoYXBlLmNpcmNsZSIsaWNvbjoiY2lyY2xlIn0sc2hhcGVfY3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoNDg4MTgwKSksaWQ6InNoYXBlX2Nyb3NzIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyQ3Jvc3NTaGFwZSIscGluZU5hbWU6InNoYXBlLmNyb3NzIixpY29uOiJjcm9zcyJ9LHNoYXBlX2RpYW1vbmQ6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoMjgxMjQ4KSksaWQ6InNoYXBlX2RpYW1vbmQiLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJEaWFtb25kIixwaW5lTmFtZToic2hhcGUuZGlhbW9uZCIsaWNvbjoiZGlhbW9uZCJ9LHNoYXBlX2ZsYWc6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoOTcxNTI3KSksaWQ6InNoYXBlX2ZsYWciLHBhbmVSZW5kZXJlckNsYXNzOiJQYW5lUmVuZGVyZXJGbGFnU2hhcGUiLHBpbmVOYW1lOiJzaGFwZS5mbGFnIixpY29uOiJmbGFnIn0sc2hhcGVfbGFiZWxfZG93bjp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscygyNjI0NTgpKSxpZDoic2hhcGVfbGFiZWxfZG93biIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsRG93biIscGluZU5hbWU6InNoYXBlLmxhYmVsZG93biIsaWNvbjoibGFiZWxfZG93biJ9LHNoYXBlX2xhYmVsX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ2NDE1NykpLGlkOiJzaGFwZV9sYWJlbF91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlckxhYmVsVXAiLHBpbmVOYW1lOiJzaGFwZS5sYWJlbHVwIixpY29uOiJsYWJlbF91cCJ9LHNoYXBlX3NxdWFyZTp7Z3VpTmFtZTppLnQobnVsbCx2b2lkIDAscyg5MTYyMTUpKSxpZDoic2hhcGVfc3F1YXJlIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyU3F1YXJlIixwaW5lTmFtZToic2hhcGUuc3F1YXJlIixpY29uOiJzcXVhcmUifSxzaGFwZV90cmlhbmdsZV9kb3duOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDQ3MTc0NSkpLGlkOiJzaGFwZV90cmlhbmdsZV9kb3duIixwYW5lUmVuZGVyZXJDbGFzczoiUGFuZVJlbmRlcmVyVHJpYW5nbGVBcGV4RG93biIscGluZU5hbWU6InNoYXBlLnRyaWFuZ2xlZG93biIsaWNvbjoidHJpYW5nbGVfZG93biJ9LHNoYXBlX3RyaWFuZ2xlX3VwOntndWlOYW1lOmkudChudWxsLHZvaWQgMCxzKDM5OTY4OCkpLGlkOiJzaGFwZV90cmlhbmdsZV91cCIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclRyaWFuZ2xlQXBleFVwIixwaW5lTmFtZToic2hhcGUudHJpYW5nbGV1cCIsaWNvbjoidHJpYW5nbGVfdXAifSxzaGFwZV94Y3Jvc3M6e2d1aU5hbWU6aS50KG51bGwsdm9pZCAwLHMoODEwMjIyKSksaWQ6InNoYXBlX3hjcm9zcyIscGFuZVJlbmRlcmVyQ2xhc3M6IlBhbmVSZW5kZXJlclhDcm9zcyIscGluZU5hbWU6InNoYXBlLnhjcm9zcyIsaWNvbjoieF9jcm9zcyJ9fX0sOTIwNDc1KGUsdCxzKXtzLmQodCx7ZGVmYXVsdDooKT0+bH0pO2NvbnN0IGk9ZT0+ZSBpbnN0YW5jZW9mIERhdGUscj1lPT5udWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUsbj0oZSwuLi50KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsLi4udCksYT1lPT5yKGUpJiYoZT0+MD09PU9iamVjdC5rZXlzKGUpLmxlbmd0aCkoZSksbz0oZSx0KT0+e2lmKGU9PT10KXJldHVybnt9O2lmKCFyKGUpfHwhcih0KSlyZXR1cm4gdDtjb25zdCBzPU9iamVjdC5rZXlzKGUpLnJlZHVjZSgoKGUscyk9PihuKHQscyl8fChlW3NdPXZvaWQgMCksZSkpLE9iamVjdC5jcmVhdGUobnVsbCkpO3JldHVybiBpKGUpfHxpKHQpP2UudmFsdWVPZigpPT10LnZhbHVlT2YoKT97fTp0Ok9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKHMscik9PntpZighbihlLHIpKXJldHVybiBzW3JdPXRbcl0scztjb25zdCBsPW8oZVtyXSx0W3JdKTtyZXR1cm4hYShsKXx8aShsKXx8IWEoZVtyXSkmJmEodFtyXSk/KHNbcl09bCxzKTpzfSkscyl9LGw9b319XSk7"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/border.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.080Z","timestamp":1785136422080,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/border.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 255\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]},{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]}],"data":{"size":255,"size_decoded":595,"mime_type":"image/png","magic":"PNG image data, 396 x 8, 8-bit/color RGBA, non-interlaced","md5":"9e07dfa9877ef9240c5712e55f008ab2","sha1":"fd69e94a6ee1a5247255947932197f56a5a1e292","sha256":"ea536236a4ce9aa3ca8170328c47a7ce85976bc77e69f894090fdb238f33a698","sha512":"d86a83320a4d0391a38bc52f33e0090aa4ff9ede7d18b65a973e0564abf661f7df5d2ad016cd3f04f2b449b4df5eae20b595df3d1991bee6c3566a8ab5616337","ssdeep":"","tlshash":"f7d095c1e66d58d8d0330af310851c01e4db039f583043d590d548b695b0f1844d8781","first_seen":"2025-12-03T04:46:43.779201Z","last_seen":"2026-07-29T06:14:00.332806Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAYwAAAAICAYAAADqb8gwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKFJREFUeNrs2kEKwjAQBdC2BPHKgq206mW8kHuP4cKagQlk5wF8DwaSWWYz/E7Hfd8HAHi8nu041brl+VzrE4fiiQDoxLBYap3y/q61xdAo3UQB4L+NmSjmrjdnwrhKGAA09y5Z9IljrXWMgWGJAcDP9FEyggBAzIMla8pefI6KHcY2+ksKgJA77bb0vmR7HdrS2xMB0GmJ4pD3LXvDV4ABALQUITp8XufLAAAAAElFTkSuQmCC"}},"time_used":5134,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5134,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/images/comodo.png","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"208.98.35.105","port":443,"asn":46844,"as":"SHARKTECH","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:42.078Z","timestamp":1785136422078,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"heavenwealth.org","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 23 Jul 2026 04:16:44 GMT","end":"Wed, 21 Oct 2026 04:16:43 GMT"},"fingerprint":{"sha1":"1A:59:61:FF:EC:31:32:B0:77:C9:9D:1D:52:6D:BC:CB:75:62:60:D2","sha256":"A1:FE:18:37:42:F1:82:6B:69:36:CF:E2:AA:6F:54:DC:D5:12:DA:8D:87:CE:6C:FF:AE:71:12:5D:28:18:FB:0B"}}},"request":{"raw":"GET /assets/images/comodo.png HTTP/1.1\r\nHost: heavenwealth.org\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://heavenwealth.org/\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\ncache-control: max-age=31536000\r\ncontent-type: image/png\r\nlast-modified: Wed, 30 Jun 2021 18:27:56 GMT\r\naccept-ranges: bytes\r\netag: \"01e59a5dd6dd71:0\"\r\nserver: Microsoft-IIS/10.0\r\naccess-control-allow-origin: *\r\nx-ua-compatible: IE=Edge,chrome=1\r\ndate: Mon, 27 Jul 2026 07:13:41 GMT\r\ncontent-length: 12606\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"IIS:10.0","description":"Internet Information Services (IIS) is an extensible web server software created by Microsoft for use with the Windows NT family.","website":"https://www.iis.net","common_platform_enumeration":"cpe:2.3:a:microsoft:internet_information_server:*:*:*:*:*:*:*:*","icon":"Microsoft.svg","categories":["Web servers"]},{"name":"Windows Server","description":"Windows Server is a brand name for a group of server operating systems.","website":"https://microsoft.com/windowsserver","common_platform_enumeration":"","icon":"WindowsServer.png","categories":["Operating systems"]}],"data":{"size":12606,"size_decoded":12948,"mime_type":"image/png","magic":"PNG image data, 178 x 127, 8-bit/color RGBA, non-interlaced","md5":"07f7c8be3b697ac8dce210b38d6e5bc9","sha1":"2124d64290c71207c34f12d21c72cbd621f709f0","sha256":"c7e2268ac2ccefceb079b430c50995b561d5012ce027183ae2b7adac49755504","sha512":"d67ad15e9ebb0468db85e006fd5b3bac1236eae00c3fd6b930fed33518d8de5c736a94161162e26852a4169227a55979bdb4b77a74c6bce44e6fec93497a2460","ssdeep":"192:1bmHDA2C8fhTVFWdybdxaGZu1ZoI2VXHy4rhlUKfBRaGqg79e:9mE2XVVw8bdxaGZS2w4d2KbavMU","tlshash":"6042d1616da1921df31a10f847c6e51e4fed2bf401a2b33f6b3a8a08c5c4e1ce028e04","first_seen":"2025-12-03T04:46:43.727593Z","last_seen":"2026-07-29T06:14:00.439634Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":5136,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5136,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1958.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.644Z","timestamp":1785136428644,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1958.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2699\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:52 GMT\r\netag: \"739797800c1ad83ba9a3cdddb9824693\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nvary: Origin\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nage: 13197\r\nx-amz-cf-id: olNLNVtN0TCA3W1vqQyOyrDOpZRgI_vKe8KLJUDyNfN4hs7D3THemw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2699,"size_decoded":3208,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"739797800c1ad83ba9a3cdddb9824693","sha1":"8fa44745cb0a87a781317153ffebcca127e4c498","sha256":"6de001279f8561ebcd5da21d426f25f0f554b5f665638e84b33876a079c56c52","sha512":"25ec9a6e68a3024e7054c566336ca457a8116c6d29c5b2a901c98ef4d1f14c0adeb8ef16f56bd8d2e07466ee81c0146adc992289efce6a9fa8c2796edd4c0fe8","ssdeep":"","tlshash":"a7511a5335d2fada77c981c3f942215cc720d62d4306a2e7b535078feb06861dba520b","first_seen":"2023-05-17T08:55:45Z","last_seen":"2026-08-11T04:47:30.154421Z","times_seen":3386,"resource_available":false,"data":"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"}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/36341.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.686Z","timestamp":1785136428686,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/36341.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2140\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 25 Apr 2025 06:46:12 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:51:25 GMT\r\netag: \"8305fed86a2e2e09d8372e143ede512e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 12144\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: SuiutVnyy9ys8O5ixxRU4cFF9PkildIecWmItNkywawawOEPgUuYYQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":2140,"size_decoded":2674,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8305fed86a2e2e09d8372e143ede512e","sha1":"6eb7a928467cc34b354b0dcfdab2a5d802162677","sha256":"3b34f8a08b1b5170133d59cf6a13370ddfe19aa8fcfd262dc6577c40a9a85502","sha512":"e6d028ae347fbaedc5f8bb022e87bdf2221fe600a0c4f9c6956f097e394a9e82272501135ac42b2f20c02641ab14fb2c53a2646cc70ecf30236e26ad02f1aebd","ssdeep":"","tlshash":"754109e5a87b96a1d9af6468b8278849bfdf04a0d9f3725d2e068405492e601a300dc7","first_seen":"2025-09-24T03:26:09.454336Z","last_seen":"2026-08-11T04:47:30.112436Z","times_seen":1499,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAII0lEQVR4Xt2bz29VRRTH+RNI4JWutISFccFCd0Y3mmBitAJrW1xpgmg0EZdAF0ZCFEFUkAVp4fXJj4Jt17Q2ComRGDHvvSYkBKsrV6Yb+vvHdc6cOTNnzsy9797X19cnk3wzc3/NzPfTc859LY9t29rUdu7c+VGpVJpVShpoFu6Vz//vmjJyJmKuWZ2R83dsi2y+pZLrdUTr6enZLje62eru7u6R+2h7UxuZkhvbAg3KfbWlRTaypZL727RWam1xa7U2t1iqBT6MLNpR6urqOiH33ZKmJr8vF+tg3Zf731BTE85EFul0zUgfTbVSi37y98a/Tuamx7QeGz2391l7Hc+Na90b/yZ4vkltLBIgnyKT5tZk5RQaro+qftT0DgLdd7j/gAfmcZ3G48mDyUvBvEW0a9eu5j5Wl5qs9of79ydz9R9QyvQcmNbHNEYYIHoGwBAcMC4jhQSg5Ho5VfztEJmkoX4bO2fNz09TbwCYno7/+bVin+NQ0LyLFAnjwURzESH9ZTb5cB7N1W9p0/PQGwDQ22iAc2zcu+9F+yxC4RD8aJknECxS5Pp5JH1Gm7pxUD7YSGiai0DgWMMxAAgOPdu77yUHyEsZkUYcjIEh95FDU9Jv0CIPZWphGszd9AAs2EhwIgh4zQGgtAlShkmf43DYsdxPI0m/XoPfsOQDWULjThzGgoXh9ySaw4sOmzYAzBxroXENyUsTPJb7yhL85ip92yZvztICGNamTa8Fxh0IhECAHJTRi8fsPDZieP3gosigSPAiw6WJ3F+WpG/b5I1pejh5UZkZMaZHkvkajOkYhQBcZBAYgLBn99N2Ln1OREcsdWyEWFgogjE5fDLYZ5qkb93kTWl6r683WdRmR2y/YAFwED4QDobmGv/ueLJo08aPGB1NWXBYumAk3Er6Dr4a7DdN0n9uAIv1G8nSNJi+wQDccEA4DD0m825Mczko7D5rWp2vMRASgAXBj11xbSRp/qy8IU0AgAvMAxAwTyIYCAThEJCHExftXDI6OCQLxZi3vZGLGF9yvxk6ywHIi1E9mrgQAFjUkSAlAbhoeZN9AApTxwnrCkTBiC60kCoOCEEiCK7/sZlaIC+kaal+XRl2WtIArlvj+jhFlDI0F4DgKcSjJ5QfHYEMFCq8ct9pagoACsz6YwuGTPNj04NRmqt8+mMGJhY10BvRWF/n5n0oTQEw/2ITXJT6ffS0NrpsjSvpKEC5qGC9AUQAYEzzAYAlbYiih9cRBEKps6hT4KYHB0GwKGGv4qnKZ8H+Y9K/Kpfy/XOVMnsNVaceAFxT5lAcRgwMiM93pL/Xj5hAHIYAYhQHgGO5/xTN5g7/ZWV8WRmFfql21cjA4GAYHDe+rg3LObFmuIjBdDK1hMOxEeSA6EiwtcMHA5JrpSk3ADCMEK5q2WNjnI8JiE4XNX40cT6YT8/JosSLmkj0LE0TDAbJHLs3kYsauVaacgMg49Y8A+IiwhcBkXNx2bShqLFjAcCAwWgw0UHXWXRQL9dJU24AK9r09wYC9Ep1B8UDY/TnxLfBPFInj77tosaIIgejwKWRHVuZFIIxRYiRXCdN+QEoswRBj0nC9FIVIT2/95lgjjSd/MRB8NLIpJJXeDkUExG2ZrCxXCNN+QGAcfrJM8lzR/rfCJ7NKyqyuk+Bga9hPxJ4xFAtkXOnqSCAigWhVcf+/MC7wf3NCiLn/tgXCaYTGOd1hb2FbFRwQA6EnDdNuQE8qcr9QegJ1Wzuj8I/lweS1dpwslIdVn1Fa6WGY+iP9L0ePFNEe3Y/lfz7y6Wgxrg3T4bM65jGPw1/Gswfk/1XI3khTava/LDrLRDsAYR8ppH273sBa4uqJ8vVijLh6gwVWTfGtxCN4S3kw0BYco00Ff5tcLVW1mbXjFar5QBKEQhYVONCEKLoMiixN9CmA4A0sOYBhgYAUBAM9CsGinxWCkDxFCLjeJyldCCgP8Y+D9ZKEweQ+09ia8okCY0bVeGciQrVnzraHzxLovThKYTR44wSCA5kVb92CYIPg1JHrpUh9ycxA0HeEJU2Xr3iIGjjbgzXCIZ8FuSixaWOjhobETwyGIi6AaHv92FxyfXS5JkvAuDQwVeUOQUAIJAAAB+bqJDPQsFD0wyCl0Jx+anCxwyK6ou8iaR/3eRNabpTPhFAWCcItr+SXBh4x3vOTxNfVFewR/GxB4RFDaqSzNw+F+wzTdK3bfLGLK1rAJeNeDQADOwBFN3/1+2vGBzWAwBTTG1dsccIxRVbA4+ZX9NpEk+3NEnftm1XTd6cpfXa5WTdQkA5MFdUIXzL3htGih9Bsq5YIJHzXgRVw1TLUsOv2MoHGmmtOqQVgFDy74tEiwThjdE0QaDiqns6VytmHiT9Bq3UxPd/1w0AhODGdB0iQQLCaOAwHJzVGCgLwcAp+JM3GpR+oy3yYEMhBIoGlH8tTJdQCALAkFxUMCjqnFw/j6TPzCYfzqO/b3+ZJLU0AEOmZgypexCGFRwbUfpwINw8L6xFJP01bDt27Mj96ZDrg77XlIHB5H3V0zkLgMtCoPpB1xwAC8QU1v4DLwfr5ZT/qS9vy/urcpYOqU0nCghAAUGEJBKGEBVW0J3y8WDOIlIeBqSvQq3Uoq/K3i0f80AQDBxTj+O7GzTNtLGvylLr6uqaiUze0YI9Sx8baqUWRUKb1JqfvGyQT5HFOkqb/n8Om307tEnNVftmWmTxLZXcX1uaWnhIbmQLNCX31fZW9Cu2rVDmV163ssmNtlpyvY5tpQJ/aM2h9hW3zWqd+t/n/wOSeqlJiqYVqwAAAABJRU5ErkJggg=="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/35794.0a273bafc5de50a0d21d.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.276Z","timestamp":1785136429276,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/35794.0a273bafc5de50a0d21d.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a608300-929\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 22 Jul 2026 08:44:48 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/22/2026 11:01:21\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: ec1a7958a45a8a88574808aedbaa3585\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":2345,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (2345), with no line terminators","md5":"070dbbdaf81468918cc345dc05f9a381","sha1":"2ab8968ccfc58991cdc8860741aecf9533393e0f","sha256":"8782990aacf2d956262c5608c1f9f9be2c54e5b100e7e1fd85521c2424944d72","sha512":"c162784e77aaebd46d2c606d8ec9f965be7c21092d5143c64badbc4cc2b380589455fd4eb60cdd25a9cff11dceab520faac1d1753d1b999596c4c462a0fa0e43","ssdeep":"","tlshash":"e7418bafa148d8b0fe116198b3dd638db6e5ec70a90a05cdb633b839cce17f15d50158","first_seen":"2026-07-22T16:00:00.426214Z","last_seen":"2026-08-11T04:47:30.07821Z","times_seen":566,"resource_available":false,"data":"LnNtYWxsLXRXRElDVGF5ey0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplOjN9Lm1lZGl1bS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo0fS5sYXJnZS10V0RJQ1RheXstLXVpLWxpYi1wcml2YXRlLXN3aXRjaFZpZXctc2l6ZTo1fS5zd2l0Y2hWaWV3LXRXRElDVGF5ey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1zd2l0Y2hWaWV3LXNpemUsdmFyKC0tdWktbGliLXByaXZhdGUtc3dpdGNoVmlldy1zaXplLDQpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTstLXN3aXRjaC1oZWlnaHQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozNHB4KTtoZWlnaHQ6dmFyKC0tc3dpdGNoLWhlaWdodCk7LS1zd2l0Y2gtd2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjM4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo1NHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2NHB4KTt3aWR0aDp2YXIoLS1zd2l0Y2gtd2lkdGgpOy0tc3dpdGNoLXBhZGRpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNXB4KTstLXN3aXRjaC10aHVtYjpjYWxjKHZhcigtLXN3aXRjaC1oZWlnaHQpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKjIpOy0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwpOy0tc3dpdGNoLWNvbG9yOnZhcigtLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yLHZhcigtLWRlZmF1bHQtY29sb3IpKX0uc3dpdGNoVmlldy10V0RJQ1RheS5jaGVja2VkLXRXRElDVGF5ey0tZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCl9LmRpc2FibGVkLXRXRElDVGF5e29wYWNpdHk6LjV9LnRyYWNrLXRXRElDVGF5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItY29sb3I6dmFyKC0tc3dpdGNoLWNvbG9yKTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0udGh1bWItdFdESUNUYXl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OnZhcigtLXN3aXRjaC10aHVtYik7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1zd2l0Y2gtcGFkZGluZyksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXM7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7d2lkdGg6dmFyKC0tc3dpdGNoLXRodW1iKX0udGh1bWItdFdESUNUYXk6ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC1wYWRkaW5nKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0uY2hlY2tlZC10V0RJQ1RheSAudGh1bWItdFdESUNUYXl7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSx2YXIoLS1zd2l0Y2gtcGFkZGluZykpfS5jaGVja2VkLXRXRElDVGF5IC50aHVtYi10V0RJQ1RheTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKGNhbGMoKHZhcigtLXN3aXRjaC13aWR0aCkgLSB2YXIoLS1zd2l0Y2gtdGh1bWIpIC0gdmFyKC0tc3dpdGNoLXBhZGRpbmcpKSotMSksdmFyKC0tc3dpdGNoLXBhZGRpbmcpKX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/33515.85004481e4ae6624a985.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.810Z","timestamp":1785136429810,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /static/bundles/embed/33515.85004481e4ae6624a985.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-244\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:43\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 075530eea242231b302ed6d4583ed9e7\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"s2.coinmarketcap.com/static/img/coins/64x64/3408.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.640Z","timestamp":1785136428640,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3408.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2357\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 06 Feb 2026 07:18:54 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:43:02 GMT\r\ncache-control: public, max-age=86400\r\netag: \"e745bf550d209084227adac42e9ec7df\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 12647\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: QsTx0urWzBgeFBqe55R4N70HQfkbfXoMEHVLWkao1vIYqWZcWrBzpQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2357,"size_decoded":2929,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"e745bf550d209084227adac42e9ec7df","sha1":"d335544c68c51d8ae72314406109b7cd06b5668d","sha256":"6f2390c4bf94ba36584793958432d5069f2bec31dfa7cb9b93c0c76cf965a901","sha512":"cf24459f5841a89b0ac17a689b0b5fe241a66b117d0abc94c95502e1664e0e25011d41f249c3645173a122622ad17bad5f1f9558785155184a6fde91920e58b7","ssdeep":"","tlshash":"12413a80ab21b72a88210d32530a056fe5b7ec49c711b6a5a97a3c117a9bbef149315f","first_seen":"2026-02-08T21:55:57.588725Z","last_seen":"2026-08-11T04:47:30.170036Z","times_seen":1699,"resource_available":false,"data":"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"}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"heavenwealth.org/assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf","fqdn":"heavenwealth.org","domain":"heavenwealth.org","tld":"org"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://heavenwealth.org/","date":"2026-07-27T07:13:47.331Z","timestamp":1785136427331,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /assets/css/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf HTTP/1.1\r\nHost: heavenwealth.org\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: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://heavenwealth.org/assets/css/css.css\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":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"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":"www.tradingview-widget.com/static/bundles/embed/39070.55cbc7a1da963b3829b3.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.390Z","timestamp":1785136428390,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/39070.55cbc7a1da963b3829b3.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 20\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: \"69f98b72-14\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:22\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 33068e358bb779a32d078210bf5c885f\r\ncdn-cache: 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":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":20,"size_decoded":804,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"8c361f5f3e81eca6f243f991934acfb8","sha1":"cca2cc0145571af645e93a0eea492681a68d4db1","sha256":"b7db039e8731af6abd4fe1cad1c082f9a54cac9bfae4de52cac6cbb64431ff06","sha512":"94498523c2221fd084df6e33d95e80c4f0dcc1054ff64a84c7c5309491e66301e34045b6df7d5247854e2893bf8e3fd6ca8b22f2e40daebcad83853dec330ad8","ssdeep":"","tlshash":"757000020028200280800800222000000003023a2a880000a80080200802aa08a0a00a","first_seen":"2026-01-06T10:31:31.715579Z","last_seen":"2026-08-11T10:15:18.425148Z","times_seen":8058,"resource_available":false,"data":"OmZvY3Vze291dGxpbmU6bm9uZX0="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/3905.682e89ef2dc4c70423c6.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.tradingview-widget.com/embed-widget/screener/#%7B%22width%22%3A1100%2C%22height%22%3A523%2C%22defaultColumn%22%3A%22overview%22%2C%22defaultScreen%22%3A%22general%22%2C%22market%22%3A%22forex%22%2C%22showToolbar%22%3Atrue%2C%22isTransparent%22%3Afalse%2C%22enableScrolling%22%3Atrue%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22forexscreener%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:48.404Z","timestamp":1785136428404,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/3905.682e89ef2dc4c70423c6.css HTTP/1.1\r\nHost: www.tradingview-widget.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\nReferer: https://www.tradingview-widget.com/embed-widget/screener/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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 07:13:48 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b71-23c4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:21 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:40\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 8bdad71226462f3335978c2de4a98fe9\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":9156,"size_decoded":2693,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (9156), with no line terminators","md5":"585b0debea11681772c2af93fac32f6f","sha1":"239ef62778933c4ffbb2003ad1da3ab7f1c412e6","sha256":"7a6f9ce2286878bf4b28af0ff0922e443fe7fd6f6289968222d35cacb1fd8f85","sha512":"f37cf7f51a2fb42cf0f1822ddea62c13673cc6ac0dd4e9ec40de3f0387a5fc680d4eeec0d9d2b81cbc71136e743b6e8692b20d29e16cd72a6c83c741eea6239e","ssdeep":"192:aB56ZYifpWjOHpRSvoAyGGoCARk3NPmHHZ+DG4x8:ayXsh","tlshash":"6612cf5bf5e30baa2f63e1255a2d7b48516773062887a5f5ee42f3e045caec216036cc","first_seen":"2026-03-24T10:38:42.78469Z","last_seen":"2026-08-11T10:15:18.365471Z","times_seen":7413,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5176.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.43","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T07:13:48.677Z","timestamp":1785136428677,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5176.png HTTP/1.1\r\nHost: s2.coinmarketcap.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\nReferer: https://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 746\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 28 Jul 2023 07:43:45 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 06:36:38 GMT\r\netag: \"5b97c0a26ca9707d0aade8420216c659\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 2231\r\nvia: 1.1 4118da051b044af6aef02765a0bd4fe4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 72PkstCER99RyuCcNHbY7Hj7RbX-m0tnFzAQs5vhJLwHoXyukNqNWw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":746,"size_decoded":1278,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"5b97c0a26ca9707d0aade8420216c659","sha1":"00bd79b81ba15abe30772de87262fb62b704b954","sha256":"acf372af35817cf300680492e46a0788ba2b0afd14c62cd7a033c85b6f015e73","sha512":"9536a33d35ffcc11aba99ddd8b2be7a950015e2a62d017b0d6da2e62959f7d85bf3ddabefb749755e0133012019b75ae76a1a052c62faeb3dd73af3d0166e9d6","ssdeep":"","tlshash":"620165da57f155bed619c4839e084597106e1fc4826d24c992189dc4e470abc2b485da","first_seen":"2024-01-09T05:16:20Z","last_seen":"2026-08-11T04:47:30.089136Z","times_seen":1520,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACsUlEQVR4Xu2ay0ocQRSGfQQfIY+QR/AxguPCTfY+RNbJ2lUWrkUyIWQTCASyEWFAjeDGXBBDUBAhEhDBzBF6sL/prsupi9VjffAtdLrqnP/MdE/P6NJSpVKpVCrOHIxHdyX77cPqc/YcjcnO+jILlij7jgYLFewlew/mcDx621GoWNl/MCwwBJlBDTcejO/XVpjFm4N3o8ncxgOSebzhhkOUmZzhRiZzw/omJzsvnjGblelVf4MbmcwN69tkPivcwGZuWN/m/nj0hhl74WIXc8P6LjJnJ9rb3dywvqP2O8SORU6efH3l5OWvL8zSgsf3yfquMm+L/fHqOhfE9s/xNjO34PEpZO4ZPDCFJQxATnNmzxJeLGEAYiu89sJnUs7TvxdHzOeN7BFyzvcpp/tsAHxQ6+3NNftPwvGnjbnaGpvwn/mAj0cfX7K/bIS+MqZ3u9+Dn30TN9fn9+e86xoeezrZtJ5Goa+GqAOQwHy8yz44gC6vfu95rzEZfA0Q+DubffiG0ax56OwiGDIE4d/Vj7nfm5SmRXl5i83PPud0c0epHUArfAMPcpHw8dgSzQCYuwUPtmlDnmG5mHGdzZ+7r60XQIHrbDLvHJrPAxIwN5pnvnXzY0IzhEbbp70Q5B2A9Vx1Dt8gf2PjJiHKS1qeNXmrNCEDPDvcur/B4h5a1X8vjD0EMfeHIXX4h3DTEHMOgDmC4OZacw2A/UeBRTTmGAD7jgqL+Zp6AOw3OqFfnqQcQOdXXalgcVdTDYD9ZYFNuJhiAOwrK2zGpnyBwe/4Q77vZz+PApvKJft4VNhcalm/CNhkKlm3KNhsbFmvSNh0LFmnaNh8qNx/EDCEVu47KBjGV+43SFT/azhdw30Gjc//GsuxXL8QuAxhYcM3MDDl8QsJQz+p8A1POnylUqlUCuE/+/pKU82qDO4AAAAASUVORK5CYII="}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/98696.e10ceecfd44535d6ea1a.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.216Z","timestamp":1785136429216,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/98696.e10ceecfd44535d6ea1a.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a323ca6-140a\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Wed, 17 Jun 2026 06:20:22 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/17/2026 11:15:48\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: b8a2444d800c0d7fcaaeabc0519355ad\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":5130,"size_decoded":2055,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (5130), with no line terminators","md5":"14ba6ef799217e3cf6c0f723627f96dc","sha1":"56a2abca6a545fb6f28a7e66508fea511db30c47","sha256":"6db5f60c32ec213410cd578b53e2878efcddc6fc01da1bc3a11fa465d4702c63","sha512":"df91da3cdf87cd7cf1cfc3abd0b1101ac8328f973e85853b5eb5d12caddcd8bce1f4e2eb279848a377f5126ff637ac6131f20b60dcc3a6d247bca2145fe32ac2","ssdeep":"96:ONadZaAWAo8APlUdGRzg0oszVpO79JSjpHzbfKaMvPd92bCJIdWJak:ON8Zfro1PlUdGRzg0osz+79JalzbVulr","tlshash":"43b1329ceb94a27b7c2ba43c1318e32d4e45be42dd621bf6bd3d610149c3be261e6744","first_seen":"2026-06-18T02:55:32.293865Z","last_seen":"2026-07-28T06:17:53.477053Z","times_seen":310,"resource_available":false,"data":"LmhhbGFsU3RhdHVzLW5QVTM5cndVe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktc3VjY2Vzcy1leHRyYS1ib2xkKX0uaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5oYWxhbFN0YXR1cy1uUFUzOXJ3VTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1B7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudHZDYWxjdWxhdGVkUGFpci1TM3pjY0lfUDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3Zvd3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmhrZXhDb21tZW50LWVidU5Tdm93OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5kZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV86YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9LmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQXtjb2xvcjp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKX0ubGV0SXRTbm93U3RhdHVzLUR0MzBidlVBOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLU9ZaFg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMS1PWWhYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PWWhYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzEtT1loWDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS53cmFwU3RhY2tUcmFjZS1xcTJqU3I5T3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Ok1lbmxvLFVidW50dSBNb25vLENvbnNvbGFzLHNvdXJjZS1jb2RlLXBybyxtb25vc3BhY2U7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjRweDtyb3ctZ2FwOjEycHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ud3JhcFN0YWNrVHJhY2UtcXEyalNyOU86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zdGFja1RyYWNlTGluZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMC1PWWhYKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmZ1bmN0aW9uTmFtZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMS1PWWhYKX0uYmFySW5kZXgtcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmluZm8tcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpfS5oaWRlRW1wdHktcXEyalNyOU86ZW1wdHl7ZGlzcGxheTpub25lfS5lZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTN7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXl6SzY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC15eks2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS53cmFwcGVyLVBndUFyTEZme2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MTAwJTtyb3ctZ2FwOjhweH0ud3JhcEVycm9yLVBndUFyTEZme2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzIGVhc2V9LndyYXBFcnJvci1QZ3VBckxGZi5jbGlja2VkQW5pbS1QZ3VBckxGZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXl6SzYpfS5lcnJvclRleHQtUGd1QXJMRmZ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ud3JhcFN0YWNrVHJhY2UtUGd1QXJMRmZ7bWFyZ2luLXRvcDoxMnB4fS5kZXNjcmlwdGlvbi1qZW5OVnNfQ3ttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tdG9wOjRweH0ubW9kZS1qZW5OVnNfQ3thbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4O2hlaWdodDozMHB4fS5hY3Rpb25zLWplbk5Wc19De2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LmFjdGlvbnMtamVuTlZzX0MgYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4tYm90dG9tOjB9LmxpbmstamVuTlZzX0MsLmxpbmstamVuTlZzX0M6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saW5rLWplbk5Wc19DOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0ubGluay1qZW5OVnNfQzphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0ubGluay1qZW5OVnNfQzpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLWplbk5Wc19DOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0ubGluay1qZW5OVnNfQzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstamVuTlZzX0M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19"}},"time_used":4,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":4,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/41506.4e481cfe3d7dcc9113df.css","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.544Z","timestamp":1785136429544,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/41506.4e481cfe3d7dcc9113df.css HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: text/css; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\ncontent-encoding: zstd\r\netag: \"6a5dbd8a-ec4\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Mon, 20 Jul 2026 06:17:46 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.58\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 07/20/2026 11:21:55\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 0b942e343152e1c05450b7286347032b\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":3780,"size_decoded":1592,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (3780), with no line terminators","md5":"4fd46403ac7bdbbc945dafd84cf4cce7","sha1":"abd6547add65404e86c3af3ac24c2ff5b5e7465f","sha256":"d33a476bc76a1595c539524ddbb7c6e4bb5974d727ad3e30d51b941ce9bfc37b","sha512":"be32a0f9edfb7b21dae05b1d39bd71d5006ea92cbb25311c97915ec20eff60262d1c54a6ac1ca2077ce8cd870276676515361a5ca95413c92e49d0d9ae313e8f","ssdeep":"","tlshash":"407125fcea9078342d876dadda1eb73519c8f45797836eabb509a08040e96de10f350e","first_seen":"2026-07-20T16:56:18.315644Z","last_seen":"2026-07-28T06:17:53.541712Z","times_seen":90,"resource_available":false,"data":"LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRley0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtY29sb3IpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjFweCAwO3dpZHRoOjIwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmljZVNjYWxlTW9kZUJ1dHRvbi1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZSl9LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyKTtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWNvbG9yKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZC1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhe2Rpc3BsYXk6ZmxleDtmbGV4OjEgMTtwYWRkaW5nOjRweH0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhOmZpcnN0LWNoaWxke2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nLWlubGluZS1lbmQ6MnB4fS5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWE6bGFzdC1jaGlsZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoycHh9LmNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfS5jaGFydC13aWRnZXRfX2JvdHRvbS0tdGhlbWVkLWRhcmsgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9"}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.tradingview-widget.com/static/bundles/embed/en.40528.289cbeb8632c78beb058.js","fqdn":"www.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.558Z","timestamp":1785136429558,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview-widget.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 17 Feb 2026 00:00:00 GMT","end":"Sat, 20 Mar 2027 23:59:59 GMT"},"fingerprint":{"sha1":"23:87:1E:8E:DF:2E:DF:50:A8:DD:45:10:C1:4B:01:C9:B2:61:AA:8B","sha256":"42:09:59:71:96:C1:0E:B9:2F:9D:82:A3:0D:A5:B1:21:6A:76:72:A7:8B:19:14:80:BD:DA:CB:13:D1:7E:57:3F"}}},"request":{"raw":"GET /static/bundles/embed/en.40528.289cbeb8632c78beb058.js HTTP/1.1\r\nHost: www.tradingview-widget.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://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://s.tradingview.com/\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 07:13:49 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 2118568\r\ncdn-requestcountrycode: NO\r\nvary: Accept-Encoding, Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: max-age=315360000\r\netag: W/\"69f98b70-271\"\r\nexpires: Thu, 31 Dec 2037 23:55:55 GMT\r\nlast-modified: Tue, 05 May 2026 06:17:20 GMT\r\nx-content-type-options: nosniff\r\nreferrer-policy: origin-when-cross-origin\r\ncontent-security-policy: default-src 'none'\r\ncdn-proxyver: 1.51\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 05/05/2026 10:16:50\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: da020dd1f34fd957cc8f6892e89534dc\r\ncdn-cache: HIT\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":625,"size_decoded":1094,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (625), with no line terminators","md5":"9cc57475f4bc0e83551677f01ccb8326","sha1":"7788d2091a21e10ce4b20002d0875d298f78abdf","sha256":"aa7b0b72c05e6c30b63168c1ba891445e1f0b8805b81cb23935b9223f1388695","sha512":"441f0b713c7694da019960f7436a51911c9fed2b5b0175690d67e8ed7cee4263fa6e48b0b551d23792bf6a38cae5f76b7a06562338a3c793337c2d3eaaa09765","ssdeep":"","tlshash":"34f0a233c10959303f15639473c566518169714fe39280575123b1e053c3ca8e4ceedd","first_seen":"2026-05-05T12:17:23.734679Z","last_seen":"2026-08-11T04:43:23.134764Z","times_seen":502,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s0MDUyOF0sezE0MzQxMihlKXtlLmV4cG9ydHM9WyJOb3QgYXBwbGljYWJsZSJdfSw0ODc3NjMoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQgaXMgZ29pbmcgdG8gYmUgYSBmaXZlIG1pbnV0ZSBjaGFydCkuIE9yIG51bWJlciBwbHVzIGxldHRlciBmb3IgSCAoSG91cmx5KSwgRCAoRGFpbHkpLCBXIChXZWVrbHkpLCBNIChNb250aGx5KSBpbnRlcnZhbHMgKGkuZS4gRCBvciAySCkiXX0sMjEyMDUoZSl7ZS5leHBvcnRzPVsiVHlwZSB0aGUgaW50ZXJ2YWwgbnVtYmVyIGZvciBtaW51dGUgY2hhcnRzIChpLmUuIDUgaWYgaXQncyBnb2luZyB0byBiZSBhIGZpdmUgbWludXRlIGNoYXJ0KS4gT3IgbnVtYmVyIHBsdXMgbGV0dGVyIGZvciBvdGhlciBpbnRlcnZhbHM6IFMgZm9yIDEgc2Vjb25kIGNoYXJ0ICgxNVMgZm9yIDE1IHNlY29uZCBjaGFydCwgZXRjLiksIEggKEhvdXJseSksIEQgKERhaWx5KSwgVyAoV2Vla2x5KSwgTSAoTW9udGhseSkgaW50ZXJ2YWxzIChpLmUuIEQgb3IgMkgpIl19fV0pOw=="}},"time_used":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s3.tradingview.com/conversions_en.json","fqdn":"s3.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"194.242.11.186","port":443,"asn":34989,"as":"ServeTheWorld AS","country":"Norway","country_code":"NO"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=en#%7B%22symbol%22%3A%22BITFINEX%3ABTCUSD%22%2C%22frameElementId%22%3A%22tradingview_0780a%22%2C%22interval%22%3A%221%22%2C%22allow_symbol_change%22%3A%221%22%2C%22save_image%22%3A%221%22%2C%22studies%22%3A%22%5B%5D%22%2C%22theme%22%3A%22dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Etc%2FUTC%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22heavenwealth.org%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BITFINEX%3ABTCUSD%22%2C%22page-uri%22%3A%22heavenwealth.org%2F%22%7D","date":"2026-07-27T07:13:49.587Z","timestamp":1785136429587,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.tradingview.com","organization":""},"issuer":{"commonName":"DigiCert Global G2 TLS RSA SHA256 2020 CA1","organization":"DigiCert Inc"},"validity":{"start":"Tue, 21 Oct 2025 00:00:00 GMT","end":"Tue, 17 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"C4:FE:64:00:30:2A:CD:16:30:95:7E:E1:70:D1:31:3A:D6:33:3A:CC","sha256":"87:D2:67:7D:3E:02:F0:3B:58:BD:38:17:DA:FE:73:C0:CA:25:F9:58:CC:11:14:E0:3A:6E:C3:58:84:9E:BF:52"}}},"request":{"raw":"GET /conversions_en.json HTTP/1.1\r\nHost: s3.tradingview.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://s.tradingview.com/\r\nOrigin: https://s.tradingview.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-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 07:13:49 GMT\r\ncontent-type: application/json\r\nserver: BunnyCDN-NO1-830\r\ncdn-pullzone: 1837468\r\ncdn-requestcountrycode: NO\r\nvary: Origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: GET\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-max-age: 3000\r\ncache-control: public, max-age=300\r\ncontent-encoding: zstd\r\netag: \"515bac03f6b5494f4a2d397393953729\"\r\nlast-modified: Mon, 15 Jun 2026 15:45:26 GMT\r\nx-amz-id-2: AcTEzbgJj5UVjviOBerPMHl9CcyGFkXAB50eHmkW2BDfGgX4Yc7TglEScD4yMvyRQ/R65eYs1cIAtqsKtJeZ+qBUqkJPY/pt\r\nx-amz-request-id: X29DMBVXVHJYXCJD\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: Yn7olbYD7o6TYkLq4b0mzbwmM.NLtydg\r\ncdn-proxyver: 1.57\r\ncdn-requestpullcode: 200\r\ncdn-requestpullsuccess: True\r\ncdn-edgestorageid: 830\r\ncdn-cachedat: 06/15/2026 15:54:58\r\ncdn-status: 200\r\ncdn-requesttime: 0\r\ncdn-requestid: 832c14afa65ba546977af0e74ecb930e\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":32165,"size_decoded":7567,"mime_type":"application/json","magic":"JSON text data","md5":"c35fd928c50e8b2349e85132fa6f8286","sha1":"49b62853a99436088ce7d39b040dd57bb927544d","sha256":"ad70a372c2fb1521db79bec862591a3a359a6bcd2ebdd99235fa781df4830cb2","sha512":"1932532c69fa69b4a039070fcc8ef701e2411e0a55db2ff6691f28e1a85f907276924eb7a64ed86c180321be77bbca6b21729dc6b322d41e5143354536492d94","ssdeep":"192:VRw3A1ugr/uPIbl9oucdDYjUl5On5AIEZK0kLt707iY35IZCCxuUupPj8T+1JQAh:VREA//CIudDYjB5AXZWt7zY6ZCNphjT3","tlshash":"e8e243181e49fa249b9ad3e35cbbdc28e4bc0309c9a5c9cd4db387b9028c3d5e552977","first_seen":"2026-06-15T23:45:30.057746Z","last_seen":"2026-08-11T04:43:23.258223Z","times_seen":348,"resource_available":false,"data":"ewoiY3VycmVuY2llcyI6IFsKeyJpZCI6IkFFRCIsImNvZGUiOiJBRUQiLCJkZXNjcmlwdGlvbiI6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIERpcmhhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BRSJ9LAp7ImlkIjoiQUZOIiwiY29kZSI6IkFGTiIsImRlc2NyaXB0aW9uIjoiQWZnaGFuIEFmZ2hhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQUYifSwKeyJpZCI6IkFMTCIsImNvZGUiOiJBTEwiLCJkZXNjcmlwdGlvbiI6IkFsYmFuaWFuIExlayIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTCJ9LAp7ImlkIjoiQU1EIiwiY29kZSI6IkFNRCIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gRHJhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTSJ9LAp7ImlkIjoiQU9BIiwiY29kZSI6IkFPQSIsImRlc2NyaXB0aW9uIjoiQW5nb2xhbiBLd2FuemEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQU8ifSwKeyJpZCI6IkFSUyIsImNvZGUiOiJBUlMiLCJkZXNjcmlwdGlvbiI6IkFyZ2VudGluZSBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FSIn0sCnsiaWQiOiJBVUQiLCJjb2RlIjoiQVVEIiwiZGVzY3JpcHRpb24iOiJBdXN0cmFsaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVSJ9LAp7ImlkIjoiQVdHIiwiY29kZSI6IkFXRyIsImRlc2NyaXB0aW9uIjoiQXJ1YmFuIEZsb3JpbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVyJ9LAp7ImlkIjoiQVpOIiwiY29kZSI6IkFaTiIsImRlc2NyaXB0aW9uIjoiQXplcmJhaWphbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQVoifSwKeyJpZCI6IkJBTSIsImNvZGUiOiJCQU0iLCJkZXNjcmlwdGlvbiI6IkJvc25pYS1IZXJ6ZWdvdmluYSBDb252ZXJ0aWJsZSBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JBIn0sCnsiaWQiOiJCQkQiLCJjb2RlIjoiQkJEIiwiZGVzY3JpcHRpb24iOiJCYXJiYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JCIn0sCnsiaWQiOiJCRFQiLCJjb2RlIjoiQkRUIiwiZGVzY3JpcHRpb24iOiJCYW5nbGFkZXNoaSBUYWthIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JEIn0sCnsiaWQiOiJCR04iLCJjb2RlIjoiQkdOIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gTGV2Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JHIn0sCnsiaWQiOiJCSEQiLCJjb2RlIjoiQkhEIiwiZGVzY3JpcHRpb24iOiJCYWhyYWluaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CSCJ9LAp7ImlkIjoiQklGIiwiY29kZSI6IkJJRiIsImRlc2NyaXB0aW9uIjoiQnVydW5kaWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JJIn0sCnsiaWQiOiJCTUQiLCJjb2RlIjoiQk1EIiwiZGVzY3JpcHRpb24iOiJCZXJtdWRhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk0ifSwKeyJpZCI6IkJORCIsImNvZGUiOiJCTkQiLCJkZXNjcmlwdGlvbiI6IkJydW5laSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk4ifSwKeyJpZCI6IkJPQiIsImNvZGUiOiJCT0IiLCJkZXNjcmlwdGlvbiI6IkJvbGl2aWFuIEJvbGl2aWFubyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CTyJ9LAp7ImlkIjoiQlJMIiwiY29kZSI6IkJSTCIsImRlc2NyaXB0aW9uIjoiQnJhemlsaWFuIFJlYWwiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQlIifSwKeyJpZCI6IkJTRCIsImNvZGUiOiJCU0QiLCJkZXNjcmlwdGlvbiI6IkJhaGFtaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CUyJ9LAp7ImlkIjoiQlROIiwiY29kZSI6IkJUTiIsImRlc2NyaXB0aW9uIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JUIn0sCnsiaWQiOiJCV1AiLCJjb2RlIjoiQldQIiwiZGVzY3JpcHRpb24iOiJCb3Rzd2FuYW4gUHVsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CVyJ9LAp7ImlkIjoiQllOIiwiY29kZSI6IkJZTiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiBSdWJsZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWSJ9LAp7ImlkIjoiQlpEIiwiY29kZSI6IkJaRCIsImRlc2NyaXB0aW9uIjoiQmVsaXplIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWiJ9LAp7ImlkIjoiQ0FEIiwiY29kZSI6IkNBRCIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NBIn0sCnsiaWQiOiJDREYiLCJjb2RlIjoiQ0RGIiwiZGVzY3JpcHRpb24iOiJDb25nb2xlc2UgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0QifSwKeyJpZCI6IkNIRiIsImNvZGUiOiJDSEYiLCJkZXNjcmlwdGlvbiI6IlN3aXNzIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NIIn0sCnsiaWQiOiJDTEYiLCJjb2RlIjoiQ0xGIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFVuaXQgb2YgQWNjb3VudCAoVUYpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NMIn0sCnsiaWQiOiJDTFAiLCJjb2RlIjoiQ0xQIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0wifSwKeyJpZCI6IkNOWSIsImNvZGUiOiJDTlkiLCJkZXNjcmlwdGlvbiI6IkNoaW5lc2UgWXVhbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DTiJ9LAp7ImlkIjoiQ09QIiwiY29kZSI6IkNPUCIsImRlc2NyaXB0aW9uIjoiQ29sb21iaWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ08ifSwKeyJpZCI6IkNSQyIsImNvZGUiOiJDUkMiLCJkZXNjcmlwdGlvbiI6IkNvc3RhIFJpY2FuIENvbMOzbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DUiJ9LAp7ImlkIjoiQ1VQIiwiY29kZSI6IkNVUCIsImRlc2NyaXB0aW9uIjoiQ3ViYW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVSJ9LAp7ImlkIjoiQ1ZFIiwiY29kZSI6IkNWRSIsImRlc2NyaXB0aW9uIjoiQ2FwZSBWZXJkZWFuIEVzY3VkbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DViJ9LAp7ImlkIjoiQ1pLIiwiY29kZSI6IkNaSyIsImRlc2NyaXB0aW9uIjoiQ3plY2ggS29ydW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NaIn0sCnsiaWQiOiJESkYiLCJjb2RlIjoiREpGIiwiZGVzY3JpcHRpb24iOiJEamlib3V0aWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RKIn0sCnsiaWQiOiJES0siLCJjb2RlIjoiREtLIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggS3JvbmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvREsifSwKeyJpZCI6IkRPUCIsImNvZGUiOiJET1AiLCJkZXNjcmlwdGlvbiI6IkRvbWluaWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RPIn0sCnsiaWQiOiJEWkQiLCJjb2RlIjoiRFpEIiwiZGVzY3JpcHRpb24iOiJBbGdlcmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9EWiJ9LAp7ImlkIjoiRUdQIiwiY29kZSI6IkVHUCIsImRlc2NyaXB0aW9uIjoiRWd5cHRpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRUcifSwKeyJpZCI6IkVSTiIsImNvZGUiOiJFUk4iLCJkZXNjcmlwdGlvbiI6IkVyaXRyZWFuIE5ha2ZhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0VSIn0sCnsiaWQiOiJFVEIiLCJjb2RlIjoiRVRCIiwiZGVzY3JpcHRpb24iOiJFdGhpb3BpYW4gQmlyciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVCJ9LAp7ImlkIjoiRVVSIiwiY29kZSI6IkVVUiIsImRlc2NyaXB0aW9uIjoiRXVybyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVSJ9LAp7ImlkIjoiRkpEIiwiY29kZSI6IkZKRCIsImRlc2NyaXB0aW9uIjoiRmlqaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GSiJ9LAp7ImlkIjoiR0JQIiwiY29kZSI6IkdCUCIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HQiJ9LAp7ImlkIjoiR0VMIiwiY29kZSI6IkdFTCIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gTGFyaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HRSJ9LAp7ImlkIjoiR0hTIiwiY29kZSI6IkdIUyIsImRlc2NyaXB0aW9uIjoiR2hhbmFpYW4gQ2VkaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HSCJ9LAp7ImlkIjoiR0lQIiwiY29kZSI6IkdJUCIsImRlc2NyaXB0aW9uIjoiR2licmFsdGFyIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dJIn0sCnsiaWQiOiJHTUQiLCJjb2RlIjoiR01EIiwiZGVzY3JpcHRpb24iOiJHYW1iaWFuIERhbGFzaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTSJ9LAp7ImlkIjoiR05GIiwiY29kZSI6IkdORiIsImRlc2NyaXB0aW9uIjoiR3VpbmVhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTiJ9LAp7ImlkIjoiR1RRIiwiY29kZSI6IkdUUSIsImRlc2NyaXB0aW9uIjoiR3VhdGVtYWxhbiBRdWV0emFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dUIn0sCnsiaWQiOiJHWUQiLCJjb2RlIjoiR1lEIiwiZGVzY3JpcHRpb24iOiJHdXlhbmFlc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dZIn0sCnsiaWQiOiJIS0QiLCJjb2RlIjoiSEtEIiwiZGVzY3JpcHRpb24iOiJIb25nIEtvbmcgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hLIn0sCnsiaWQiOiJITkwiLCJjb2RlIjoiSE5MIiwiZGVzY3JpcHRpb24iOiJIb25kdXJhbiBMZW1waXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hOIn0sCnsiaWQiOiJIVEciLCJjb2RlIjoiSFRHIiwiZGVzY3JpcHRpb24iOiJIYWl0aWFuIEdvdXJkZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVCJ9LAp7ImlkIjoiSFVGIiwiY29kZSI6IkhVRiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIEZvcmludCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVSJ9LAp7ImlkIjoiSURSIiwiY29kZSI6IklEUiIsImRlc2NyaXB0aW9uIjoiSW5kb25lc2lhbiBSdXBpYWgiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSUQifSwKeyJpZCI6IklMUyIsImNvZGUiOiJJTFMiLCJkZXNjcmlwdGlvbiI6IklzcmFlbGkgTmV3IFNoZWtlbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiSU5SIiwiY29kZSI6IklOUiIsImRlc2NyaXB0aW9uIjoiSW5kaWFuIFJ1cGVlIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lOIn0sCnsiaWQiOiJJUUQiLCJjb2RlIjoiSVFEIiwiZGVzY3JpcHRpb24iOiJJcmFxaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JUSJ9LAp7ImlkIjoiSVJSIiwiY29kZSI6IklSUiIsImRlc2NyaXB0aW9uIjoiSXJhbmlhbiBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lSIn0sCnsiaWQiOiJJU0siLCJjb2RlIjoiSVNLIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgS3LDs25hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lTIn0sCnsiaWQiOiJKTUQiLCJjb2RlIjoiSk1EIiwiZGVzY3JpcHRpb24iOiJKYW1haWNhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSk0ifSwKeyJpZCI6IkpPRCIsImNvZGUiOiJKT0QiLCJkZXNjcmlwdGlvbiI6IkpvcmRhbmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9KTyJ9LAp7ImlkIjoiSlBZIiwiY29kZSI6IkpQWSIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgWWVuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0pQIn0sCnsiaWQiOiJLRVMiLCJjb2RlIjoiS0VTIiwiZGVzY3JpcHRpb24iOiJLZW55YW4gU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS0UifSwKeyJpZCI6IktHUyIsImNvZGUiOiJLR1MiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5c3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0tHIn0sCnsiaWQiOiJLSFIiLCJjb2RlIjoiS0hSIiwiZGVzY3JpcHRpb24iOiJDYW1ib2RpYW4gUmllbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LSCJ9LAp7ImlkIjoiS01GIiwiY29kZSI6IktNRiIsImRlc2NyaXB0aW9uIjoiQ29tb3JpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS00ifSwKeyJpZCI6IktQVyIsImNvZGUiOiJLUFciLCJkZXNjcmlwdGlvbiI6Ik5vcnRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1AifSwKeyJpZCI6IktSVyIsImNvZGUiOiJLUlciLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1IifSwKeyJpZCI6IktXRCIsImNvZGUiOiJLV0QiLCJkZXNjcmlwdGlvbiI6Ikt1d2FpdGkgRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IktZRCIsImNvZGUiOiJLWUQiLCJkZXNjcmlwdGlvbiI6IkNheW1hbiBJc2xhbmRzIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LWSJ9LAp7ImlkIjoiS1pUIiwiY29kZSI6IktaVCIsImRlc2NyaXB0aW9uIjoiS2F6YWtoc3RhbmkgVGVuZ2UiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1oifSwKeyJpZCI6IkxBSyIsImNvZGUiOiJMQUsiLCJkZXNjcmlwdGlvbiI6Ikxhb3RpYW4gS2lwIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xBIn0sCnsiaWQiOiJMQlAiLCJjb2RlIjoiTEJQIiwiZGVzY3JpcHRpb24iOiJMZWJhbmVzZSBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MQiJ9LAp7ImlkIjoiTEtSIiwiY29kZSI6IkxLUiIsImRlc2NyaXB0aW9uIjoiU3JpIExhbmthbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MSyJ9LAp7ImlkIjoiTFJEIiwiY29kZSI6IkxSRCIsImRlc2NyaXB0aW9uIjoiTGliZXJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xSIn0sCnsiaWQiOiJMU0wiLCJjb2RlIjoiTFNMIiwiZGVzY3JpcHRpb24iOiJMZXNvdGhvIExvdGkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFMifSwKeyJpZCI6IkxZRCIsImNvZGUiOiJMWUQiLCJkZXNjcmlwdGlvbiI6IkxpYnlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MWSJ9LAp7ImlkIjoiTUFEIiwiY29kZSI6Ik1BRCIsImRlc2NyaXB0aW9uIjoiTW9yb2NjYW4gRGlyaGFtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01BIn0sCnsiaWQiOiJNREwiLCJjb2RlIjoiTURMIiwiZGVzY3JpcHRpb24iOiJNb2xkb3ZhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTUQifSwKeyJpZCI6Ik1HQSIsImNvZGUiOiJNR0EiLCJkZXNjcmlwdGlvbiI6Ik1hbGFnYXN5IEFyaWFyeSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NRyJ9LAp7ImlkIjoiTUtEIiwiY29kZSI6Ik1LRCIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiBEZW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NSyJ9LAp7ImlkIjoiTU1LIiwiY29kZSI6Ik1NSyIsImRlc2NyaXB0aW9uIjoiTXlhbm1hciBLeWF0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01NIn0sCnsiaWQiOiJNTlQiLCJjb2RlIjoiTU5UIiwiZGVzY3JpcHRpb24iOiJNb25nb2xpYW4gVHVncmlrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01OIn0sCnsiaWQiOiJNT1AiLCJjb2RlIjoiTU9QIiwiZGVzY3JpcHRpb24iOiJNYWNhbmVzZSBQYXRhY2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTU8ifSwKeyJpZCI6Ik1SVSIsImNvZGUiOiJNUlUiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGFuaWFuIG91Z3VpeWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVIifSwKeyJpZCI6Ik1VUiIsImNvZGUiOiJNVVIiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGlhbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVSJ9LAp7ImlkIjoiTVZSIiwiY29kZSI6Ik1WUiIsImRlc2NyaXB0aW9uIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVYifSwKeyJpZCI6Ik1XSyIsImNvZGUiOiJNV0siLCJkZXNjcmlwdGlvbiI6Ik1hbGF3aWFuIEt3YWNoYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVyJ9LAp7ImlkIjoiTVhOIiwiY29kZSI6Ik1YTiIsImRlc2NyaXB0aW9uIjoiTWV4aWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01YIn0sCnsiaWQiOiJNWFYiLCJjb2RlIjoiTVhWIiwiZGVzY3JpcHRpb24iOiJNZXhpY2FuIEludmVzdG1lbnQgVW5pdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWCJ9LAp7ImlkIjoiTVlSIiwiY29kZSI6Ik1ZUiIsImRlc2NyaXB0aW9uIjoiTWFsYXlzaWFuIFJpbmdnaXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVkifSwKeyJpZCI6Ik1aTiIsImNvZGUiOiJNWk4iLCJkZXNjcmlwdGlvbiI6Ik1vemFtYmljYW4gTWV0aWNhbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWiJ9LAp7ImlkIjoiTkFEIiwiY29kZSI6Ik5BRCIsImRlc2NyaXB0aW9uIjoiTmFtaWJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05BIn0sCnsiaWQiOiJOR04iLCJjb2RlIjoiTkdOIiwiZGVzY3JpcHRpb24iOiJOaWdlcmlhbiBOYWlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9ORyJ9LAp7ImlkIjoiTklPIiwiY29kZSI6Ik5JTyIsImRlc2NyaXB0aW9uIjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OSSJ9LAp7ImlkIjoiTk9LIiwiY29kZSI6Ik5PSyIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIEtyb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05PIn0sCnsiaWQiOiJOUFIiLCJjb2RlIjoiTlBSIiwiZGVzY3JpcHRpb24iOiJOZXBhbGVzZSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OUCJ9LAp7ImlkIjoiTlpEIiwiY29kZSI6Ik5aRCIsImRlc2NyaXB0aW9uIjoiTmV3IFplYWxhbmQgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05aIn0sCnsiaWQiOiJPTVIiLCJjb2RlIjoiT01SIiwiZGVzY3JpcHRpb24iOiJPbWFuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L09NIn0sCnsiaWQiOiJQQUIiLCJjb2RlIjoiUEFCIiwiZGVzY3JpcHRpb24iOiJQYW5hbWFuaWFuIEJhbGJvYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QQSJ9LAp7ImlkIjoiUEVOIiwiY29kZSI6IlBFTiIsImRlc2NyaXB0aW9uIjoiUGVydXZpYW4gU29sIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BFIn0sCnsiaWQiOiJQR0siLCJjb2RlIjoiUEdLIiwiZGVzY3JpcHRpb24iOiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BHIn0sCnsiaWQiOiJQSFAiLCJjb2RlIjoiUEhQIiwiZGVzY3JpcHRpb24iOiJQaGlsaXBwaW5lIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEgifSwKeyJpZCI6IlBLUiIsImNvZGUiOiJQS1IiLCJkZXNjcmlwdGlvbiI6IlBha2lzdGFuaSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QSyJ9LAp7ImlkIjoiUExOIiwiY29kZSI6IlBMTiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIFpsb3R5Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BMIn0sCnsiaWQiOiJQWUciLCJjb2RlIjoiUFlHIiwiZGVzY3JpcHRpb24iOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUFkifSwKeyJpZCI6IlFBUiIsImNvZGUiOiJRQVIiLCJkZXNjcmlwdGlvbiI6IlFhdGFyaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1FBIn0sCnsiaWQiOiJST04iLCJjb2RlIjoiUk9OIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUk8ifSwKeyJpZCI6IlJTRCIsImNvZGUiOiJSU0QiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlMifSwKeyJpZCI6IlJVQiIsImNvZGUiOiJSVUIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gUnVibGUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlUifSwKeyJpZCI6IlJXRiIsImNvZGUiOiJSV0YiLCJkZXNjcmlwdGlvbiI6IlJ3YW5kYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlcifSwKeyJpZCI6IlNBUiIsImNvZGUiOiJTQVIiLCJkZXNjcmlwdGlvbiI6IlNhdWRpIFJpeWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NBIn0sCnsiaWQiOiJTQkQiLCJjb2RlIjoiU0JEIiwiZGVzY3JpcHRpb24iOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NCIn0sCnsiaWQiOiJTQ1IiLCJjb2RlIjoiU0NSIiwiZGVzY3JpcHRpb24iOiJTZXljaGVsbG9pcyBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TQyJ9LAp7ImlkIjoiU0RHIiwiY29kZSI6IlNERyIsImRlc2NyaXB0aW9uIjoiU3VkYW5lc2UgUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0QifSwKeyJpZCI6IlNFSyIsImNvZGUiOiJTRUsiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggS3JvbmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0UifSwKeyJpZCI6IlNHRCIsImNvZGUiOiJTR0QiLCJkZXNjcmlwdGlvbiI6IlNpbmdhcG9yZSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0cifSwKeyJpZCI6IlNMTCIsImNvZGUiOiJTTEwiLCJkZXNjcmlwdGlvbiI6IlNpZXJyYSBMZW9uZWFuIExlb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NMIn0sCnsiaWQiOiJTT1MiLCJjb2RlIjoiU09TIiwiZGVzY3JpcHRpb24iOiJTb21hbGkgU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU08ifSwKeyJpZCI6IlNSRCIsImNvZGUiOiJTUkQiLCJkZXNjcmlwdGlvbiI6IlN1cmluYW1lc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NSIn0sCnsiaWQiOiJTVE4iLCJjb2RlIjoiU1ROIiwiZGVzY3JpcHRpb24iOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUgZG9icmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1QifSwKeyJpZCI6IlNWQyIsImNvZGUiOiJTVkMiLCJkZXNjcmlwdGlvbiI6IlNhbHZhZG9yYW4gQ29sw7NuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NWIn0sCnsiaWQiOiJTWVAiLCJjb2RlIjoiU1lQIiwiZGVzY3JpcHRpb24iOiJTeXJpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1kifSwKeyJpZCI6IlNaTCIsImNvZGUiOiJTWkwiLCJkZXNjcmlwdGlvbiI6IlN3YXppIExpbGFuZ2VuaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TWiJ9LAp7ImlkIjoiVEhCIiwiY29kZSI6IlRIQiIsImRlc2NyaXB0aW9uIjoiVGhhaSBCYWh0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RIIn0sCnsiaWQiOiJUSlMiLCJjb2RlIjoiVEpTIiwiZGVzY3JpcHRpb24iOiJUYWppa2lzdGFuaSBTb21vbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVEoifSwKeyJpZCI6IlRNVCIsImNvZGUiOiJUTVQiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW5pc3RhbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE0ifSwKeyJpZCI6IlRORCIsImNvZGUiOiJUTkQiLCJkZXNjcmlwdGlvbiI6IlR1bmlzaWFuIERpbmFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ROIn0sCnsiaWQiOiJUT1AiLCJjb2RlIjoiVE9QIiwiZGVzY3JpcHRpb24iOiJUb25nYW4gUGHKu2FuZ2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE8ifSwKeyJpZCI6IlRSWSIsImNvZGUiOiJUUlkiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggTGlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UUiJ9LAp7ImlkIjoiVFREIiwiY29kZSI6IlRURCIsImRlc2NyaXB0aW9uIjoiVHJpbmlkYWQgJiBUb2JhZ28gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RUIn0sCnsiaWQiOiJUV0QiLCJjb2RlIjoiVFdEIiwiZGVzY3JpcHRpb24iOiJOZXcgVGFpd2FuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UVyJ9LAp7ImlkIjoiVFpTIiwiY29kZSI6IlRaUyIsImRlc2NyaXB0aW9uIjoiVGFuemFuaWFuIFNoaWxsaW5nIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RaIn0sCnsiaWQiOiJVQUgiLCJjb2RlIjoiVUFIIiwiZGVzY3JpcHRpb24iOiJVa3JhaW5pYW4gSHJ5dm5pYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VQSJ9LAp7ImlkIjoiVUdYIiwiY29kZSI6IlVHWCIsImRlc2NyaXB0aW9uIjoiVWdhbmRhbiBTaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VRyJ9LAp7ImlkIjoiVVNEIiwiY29kZSI6IlVTRCIsImRlc2NyaXB0aW9uIjoiVVMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJVWVUiLCJjb2RlIjoiVVlVIiwiZGVzY3JpcHRpb24iOiJVcnVndWF5YW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VWSJ9LAp7ImlkIjoiVVpTIiwiY29kZSI6IlVaUyIsImRlc2NyaXB0aW9uIjoiVXpiZWtpc3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VaIn0sCnsiaWQiOiJWRVMiLCJjb2RlIjoiVkVTIiwiZGVzY3JpcHRpb24iOiJTb3ZlcmVpZ24gYm9sw612YXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVkUifSwKeyJpZCI6IlZORCIsImNvZGUiOiJWTkQiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UgRG9uZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9WTiJ9LAp7ImlkIjoiVlVWIiwiY29kZSI6IlZVViIsImRlc2NyaXB0aW9uIjoiVmFudWF0dSBWYXR1Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ZVIn0sCnsiaWQiOiJXU1QiLCJjb2RlIjoiV1NUIiwiZGVzY3JpcHRpb24iOiJTYW1vYW4gVGFsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9XUyJ9LAp7ImlkIjoiWEFGIiwiY29kZSI6IlhBRiIsImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBBZnJpY2FuIENGQSBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DRiJ9LAp7ImlkIjoiWENEIiwiY29kZSI6IlhDRCIsImRlc2NyaXB0aW9uIjoiRWFzdCBDYXJpYmJlYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FHIn0sCnsiaWQiOiJYQ0ciLCJjb2RlIjoiWENHIiwiZGVzY3JpcHRpb24iOiJDYXJpYmJlYW4gZ3VpbGRlciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVyJ9LAp7ImlkIjoiWERSIiwiY29kZSI6IlhEUiIsImRlc2NyaXB0aW9uIjoiU0RSIChTcGVjaWFsIERyYXdpbmcgUmlnaHQpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJYT0YiLCJjb2RlIjoiWE9GIiwiZGVzY3JpcHRpb24iOiJXZXN0IEFmcmljYW4gQ0ZBIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JKIn0sCnsiaWQiOiJYUEYiLCJjb2RlIjoiWFBGIiwiZGVzY3JpcHRpb24iOiJDRlAgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEYifSwKeyJpZCI6IlhUVkFUUyIsImNvZGUiOiJBVFMiLCJkZXNjcmlwdGlvbiI6IkF1c3RyaWFuIFNjaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVCJ9LAp7ImlkIjoiWFRWQkVGIiwiY29kZSI6IkJFRiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CRSJ9LAp7ImlkIjoiWFRWQzFJTkNIIiwiY29kZSI6IjFJTkNIIiwiZGVzY3JpcHRpb24iOiIxaW5jaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQzFJTkNIIn0sCnsiaWQiOiJYVFZDQUFWRSIsImNvZGUiOiJBQVZFIiwiZGVzY3JpcHRpb24iOiJBYXZlIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUFWRSJ9LAp7ImlkIjoiWFRWQ0FEQSIsImNvZGUiOiJBREEiLCJkZXNjcmlwdGlvbiI6IkNhcmRhbm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNBREEifSwKeyJpZCI6IlhUVkNBTEdPIiwiY29kZSI6IkFMR08iLCJkZXNjcmlwdGlvbiI6IkFsZ29yYW5kIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUxHTyJ9LAp7ImlkIjoiWFRWQ0FOS1IiLCJjb2RlIjoiQU5LUiIsImRlc2NyaXB0aW9uIjoiQW5rciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FOS1IifSwKeyJpZCI6IlhUVkNBVE9NIiwiY29kZSI6IkFUT00iLCJkZXNjcmlwdGlvbiI6IkNvc21vcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FUT00ifSwKeyJpZCI6IlhUVkNBVkFYIiwiY29kZSI6IkFWQVgiLCJkZXNjcmlwdGlvbiI6IkF2YWxhbmNoZSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FWQVgifSwKeyJpZCI6IlhUVkNBWFMiLCJjb2RlIjoiQVhTIiwiZGVzY3JpcHRpb24iOiJBeGllIEluZmluaXR5Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQVhTIn0sCnsiaWQiOiJYVFZDQkFUIiwiY29kZSI6IkJBVCIsImRlc2NyaXB0aW9uIjoiQmFzaWMgQXR0ZW50aW9uIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkFUIn0sCnsiaWQiOiJYVFZDQkNIIiwiY29kZSI6IkJDSCIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBDYXNoIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkNIIn0sCnsiaWQiOiJYVFZDQk5CIiwiY29kZSI6IkJOQiIsImRlc2NyaXB0aW9uIjoiQk5CIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5CIn0sCnsiaWQiOiJYVFZDQk5UIiwiY29kZSI6IkJOVCIsImRlc2NyaXB0aW9uIjoiQmFuY29yIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5UIn0sCnsiaWQiOiJYVFZDQlNWIiwiY29kZSI6IkJTViIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBTViIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0JTViJ9LAp7ImlkIjoiWFRWQ0JUQyIsImNvZGUiOiJCVEMiLCJkZXNjcmlwdGlvbiI6IkJpdGNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNCVEMifSwKeyJpZCI6IlhUVkNDQUtFIiwiY29kZSI6IkNBS0UiLCJkZXNjcmlwdGlvbiI6IlBhbmNha2VTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0FLRSJ9LAp7ImlkIjoiWFRWQ0NLQiIsImNvZGUiOiJDS0IiLCJkZXNjcmlwdGlvbiI6Ik5lcnZvcyBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0tCIn0sCnsiaWQiOiJYVFZDQ09NUCIsImNvZGUiOiJDT01QIiwiZGVzY3JpcHRpb24iOiJDb21wb3VuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0NPTVAifSwKeyJpZCI6IlhUVkNDT1RJIiwiY29kZSI6IkNPVEkiLCJkZXNjcmlwdGlvbiI6IkNPVEkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNDT1RJIn0sCnsiaWQiOiJYVFZDQ1JWIiwiY29kZSI6IkNSViIsImRlc2NyaXB0aW9uIjoiQ3VydmUgREFPIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ1JWIn0sCnsiaWQiOiJYVFZDREFJIiwiY29kZSI6IkRBSSIsImRlc2NyaXB0aW9uIjoiRGFpIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDREFJIn0sCnsiaWQiOiJYVFZDRE9HRSIsImNvZGUiOiJET0dFIiwiZGVzY3JpcHRpb24iOiJEb2dlY29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPR0UifSwKeyJpZCI6IlhUVkNET1QiLCJjb2RlIjoiRE9UIiwiZGVzY3JpcHRpb24iOiJQb2xrYWRvdCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPVCJ9LAp7ImlkIjoiWFRWQ0RZRFgiLCJjb2RlIjoiRVRIRFlEWCIsImRlc2NyaXB0aW9uIjoiZFlkWCAoZXRoRFlEWCkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNEWURYIn0sCnsiaWQiOiJYVFZDRUdMRCIsImNvZGUiOiJFR0xEIiwiZGVzY3JpcHRpb24iOiJNdWx0aXZlcnNYIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRUdMRCJ9LAp7ImlkIjoiWFRWQ0VPUyIsImNvZGUiOiJFT1MiLCJkZXNjcmlwdGlvbiI6IkVPUyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VPUyJ9LAp7ImlkIjoiWFRWQ0VUQyIsImNvZGUiOiJFVEMiLCJkZXNjcmlwdGlvbiI6IkV0aGVyZXVtIENsYXNzaWMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNFVEMifSwKeyJpZCI6IlhUVkNFVEgiLCJjb2RlIjoiRVRIIiwiZGVzY3JpcHRpb24iOiJFdGhlcmV1bSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VUSCJ9LAp7ImlkIjoiWFRWQ0ZJTCIsImNvZGUiOiJGSUwiLCJkZXNjcmlwdGlvbiI6IkZpbGVjb2luIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRklMIn0sCnsiaWQiOiJYVFZDRlRNIiwiY29kZSI6IkZUTSIsImRlc2NyaXB0aW9uIjoiRmFudG9tIChNaWdyYXRlZCB0byBTb25pYykiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVE0ifSwKeyJpZCI6IlhUVkNGVFQiLCJjb2RlIjoiRlRUIiwiZGVzY3JpcHRpb24iOiJGVFggVG9rZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVFQifSwKeyJpZCI6IlhUVkNHTk8iLCJjb2RlIjoiR05PIiwiZGVzY3JpcHRpb24iOiJHbm9zaXMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNHTk8ifSwKeyJpZCI6IlhUVkNHUkFNIiwiY29kZSI6IkdSQU0iLCJkZXNjcmlwdGlvbiI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDR1JBTSJ9LAp7ImlkIjoiWFRWQ0dSVCIsImNvZGUiOiJHUlQiLCJkZXNjcmlwdGlvbiI6IlRoZSBHcmFwaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0dSQVBIIn0sCnsiaWQiOiJYVFZDSEJBUiIsImNvZGUiOiJIQkFSIiwiZGVzY3JpcHRpb24iOiJIZWRlcmEiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNIQkFSIn0sCnsiaWQiOiJYVFZDSE5UIiwiY29kZSI6IkhOVCIsImRlc2NyaXB0aW9uIjoiSGVsaXVtIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSE5UIn0sCnsiaWQiOiJYVFZDSE9UIiwiY29kZSI6IkhPVCIsImRlc2NyaXB0aW9uIjoiSG9sbyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0hPVCJ9LAp7ImlkIjoiWFRWQ0lDUCIsImNvZGUiOiJJQ1AiLCJkZXNjcmlwdGlvbiI6IkludGVybmV0IENvbXB1dGVyIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSUNQIn0sCnsiaWQiOiJYVFZDSU9UQSIsImNvZGUiOiJJT1RBIiwiZGVzY3JpcHRpb24iOiJJT1RBIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSU9UQSJ9LAp7ImlkIjoiWFRWQ0tBUyIsImNvZGUiOiJLQVMiLCJkZXNjcmlwdGlvbiI6Ikthc3BhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FTIn0sCnsiaWQiOiJYVFZDS0FWQSIsImNvZGUiOiJLQVZBIiwiZGVzY3JpcHRpb24iOiJLYXZhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FWQSJ9LAp7ImlkIjoiWFRWQ0tFRVAiLCJjb2RlIjoiS0VFUCIsImRlc2NyaXB0aW9uIjoiS2VlcCBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0VFUCJ9LAp7ImlkIjoiWFRWQ0tOQyIsImNvZGUiOiJLTkMiLCJkZXNjcmlwdGlvbiI6Ikt5YmVyIE5ldHdvcmsgQ3J5c3RhbCB2MiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0tOQyJ9LAp7ImlkIjoiWFRWQ0xFTyIsImNvZGUiOiJMRU8iLCJkZXNjcmlwdGlvbiI6IlVOVVMgU0VEIExFTyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0xFTyJ9LAp7ImlkIjoiWFRWQ0xJTksiLCJjb2RlIjoiTElOSyIsImRlc2NyaXB0aW9uIjoiQ2hhaW5saW5rIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTElOSyJ9LAp7ImlkIjoiWFRWQ0xSQyIsImNvZGUiOiJMUkMiLCJkZXNjcmlwdGlvbiI6Ikxvb3ByaW5nIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTFJDIn0sCnsiaWQiOiJYVFZDTFRDIiwiY29kZSI6IkxUQyIsImRlc2NyaXB0aW9uIjoiTGl0ZWNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNMVEMifSwKeyJpZCI6IlhUVkNNQU5BIiwiY29kZSI6Ik1BTkEiLCJkZXNjcmlwdGlvbiI6IkRlY2VudHJhbGFuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BTkEifSwKeyJpZCI6IlhUVkNNQVRJQyIsImNvZGUiOiJNQVRJQyIsImRlc2NyaXB0aW9uIjoiUG9seWdvbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BVElDIn0sCnsiaWQiOiJYVFZDTUtSIiwiY29kZSI6Ik1LUiIsImRlc2NyaXB0aW9uIjoiTWFrZXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNNS1IifSwKeyJpZCI6IlhUVkNORUFSIiwiY29kZSI6Ik5FQVIiLCJkZXNjcmlwdGlvbiI6Ik5FQVIgUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNORUFSIn0sCnsiaWQiOiJYVFZDTkgiLCJjb2RlIjoiQ05IIiwiZGVzY3JpcHRpb24iOiJDaGluZXNlIHl1YW4gb2Zmc2hvcmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ04ifSwKeyJpZCI6IlhUVkNPQ0VBTiIsImNvZGUiOiJPQ0VBTiIsImRlc2NyaXB0aW9uIjoiT2NlYW4gUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPQ0VBTiJ9LAp7ImlkIjoiWFRWQ09ORSIsImNvZGUiOiJPTkUiLCJkZXNjcmlwdGlvbiI6Ikhhcm1vbnkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPTkUifSwKeyJpZCI6IlhUVkNQRVJQIiwiY29kZSI6IlBFUlAiLCJkZXNjcmlwdGlvbiI6IlBlcnBldHVhbCBQcm90b2NvbCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1BFUlAifSwKeyJpZCI6IlhUVkNSRU4iLCJjb2RlIjoiUkVOIiwiZGVzY3JpcHRpb24iOiJSZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNSRU4ifSwKeyJpZCI6IlhUVkNSRVEiLCJjb2RlIjoiUkVRIiwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUkVRIn0sCnsiaWQiOiJYVFZDUk9TRSIsImNvZGUiOiJST1NFIiwiZGVzY3JpcHRpb24iOiJPYXNpcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JPU0UifSwKeyJpZCI6IlhUVkNSU1IiLCJjb2RlIjoiUlNSIiwiZGVzY3JpcHRpb24iOiJSZXNlcnZlIFJpZ2h0cyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JTUiJ9LAp7ImlkIjoiWFRWQ1JVTkUiLCJjb2RlIjoiUlVORSIsImRlc2NyaXB0aW9uIjoiVEhPUkNoYWluIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUlVORSJ9LAp7ImlkIjoiWFRWQ1NBTkQiLCJjb2RlIjoiU0FORCIsImRlc2NyaXB0aW9uIjoiVGhlIFNhbmRib3giLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQU5EIn0sCnsiaWQiOiJYVFZDU0NSVCIsImNvZGUiOiJTQ1JUIiwiZGVzY3JpcHRpb24iOiJTZWNyZXQiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQ1JUIn0sCnsiaWQiOiJYVFZDU0hJQiIsImNvZGUiOiJTSElCIiwiZGVzY3JpcHRpb24iOiJTaGliYSBJbnUiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTSElCIn0sCnsiaWQiOiJYVFZDU05YIiwiY29kZSI6IlNOWCIsImRlc2NyaXB0aW9uIjoiU3ludGhldGl4Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU05YIn0sCnsiaWQiOiJYVFZDU09MIiwiY29kZSI6IlNPTCIsImRlc2NyaXB0aW9uIjoiU29sYW5hIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU09MIn0sCnsiaWQiOiJYVFZDU1JNIiwiY29kZSI6IlNSTSIsImRlc2NyaXB0aW9uIjoiU2VydW0iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTUk0ifSwKeyJpZCI6IlhUVkNTVVNISSIsImNvZGUiOiJTVVNISSIsImRlc2NyaXB0aW9uIjoiU3VzaGlTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU1VTSEkifSwKeyJpZCI6IlhUVkNTWFAiLCJjb2RlIjoiU1hQIiwiZGVzY3JpcHRpb24iOiJTb2xhciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1NYUCJ9LAp7ImlkIjoiWFRWQ1RIRVRBIiwiY29kZSI6IlRIRVRBIiwiZGVzY3JpcHRpb24iOiJUaGV0YSBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVEhFVEEifSwKeyJpZCI6IlhUVkNUTE9TIiwiY29kZSI6IlRMT1MiLCJkZXNjcmlwdGlvbiI6IlRlbG9zIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVExPUyJ9LAp7ImlkIjoiWFRWQ1RPTiIsImNvZGUiOiJUT04iLCJkZXNjcmlwdGlvbiI6IlRvbmNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNUT04ifSwKeyJpZCI6IlhUVkNUUlgiLCJjb2RlIjoiVFJYIiwiZGVzY3JpcHRpb24iOiJUUk9OIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVFJYIn0sCnsiaWQiOiJYVFZDVU1BIiwiY29kZSI6IlVNQSIsImRlc2NyaXB0aW9uIjoiVU1BIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVU1BIn0sCnsiaWQiOiJYVFZDVU5JIiwiY29kZSI6IlVOSSIsImRlc2NyaXB0aW9uIjoiVW5pc3dhcCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VOSSJ9LAp7ImlkIjoiWFRWQ1VTREMiLCJjb2RlIjoiVVNEQyIsImRlc2NyaXB0aW9uIjoiVVNEQyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VTREMifSwKeyJpZCI6IlhUVkNVU0RUIiwiY29kZSI6IlVTRFQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBVU0R0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVVNEVCJ9LAp7ImlkIjoiWFRWQ1ZFVCIsImNvZGUiOiJWRVQiLCJkZXNjcmlwdGlvbiI6IlZlQ2hhaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNWRVQifSwKeyJpZCI6IlhUVkNXQlRDIiwiY29kZSI6IldCVEMiLCJkZXNjcmlwdGlvbiI6IldyYXBwZWQgQml0Y29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1dCVEMifSwKeyJpZCI6IlhUVkNYQVVUIiwiY29kZSI6IlhBVVQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBHb2xkIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWEFVVCJ9LAp7ImlkIjoiWFRWQ1hMTSIsImNvZGUiOiJYTE0iLCJkZXNjcmlwdGlvbiI6IlN0ZWxsYXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTE0ifSwKeyJpZCI6IlhUVkNYTVIiLCJjb2RlIjoiWE1SIiwiZGVzY3JpcHRpb24iOiJNb25lcm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTVIifSwKeyJpZCI6IlhUVkNYUlAiLCJjb2RlIjoiWFJQIiwiZGVzY3JpcHRpb24iOiJYUlAiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYUlAifSwKeyJpZCI6IlhUVkNYVFoiLCJjb2RlIjoiWFRaIiwiZGVzY3JpcHRpb24iOiJUZXpvcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1hUWiJ9LAp7ImlkIjoiWFRWQ1lGSSIsImNvZGUiOiJZRkkiLCJkZXNjcmlwdGlvbiI6IlllYXJuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWUZJIn0sCnsiaWQiOiJYVFZDWlJYIiwiY29kZSI6IlpSWCIsImRlc2NyaXB0aW9uIjoiMHggUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNaUlgifSwKeyJpZCI6IlhUVkRFTSIsImNvZGUiOiJERU0iLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RFIn0sCnsiaWQiOiJYVFZFU1AiLCJjb2RlIjoiRVNQIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIFBlc2V0YSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FUyJ9LAp7ImlkIjoiWFRWRklNIiwiY29kZSI6IkZJTSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCBNYXJra2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRkkifSwKeyJpZCI6IlhUVkZSRiIsImNvZGUiOiJGUkYiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GUiJ9LAp7ImlkIjoiWFRWR0JYIiwiY29kZSI6IkdCWCIsImRlc2NyaXB0aW9uIjoiUGVuY2Ugc3RlcmxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR0IifSwKeyJpZCI6IlhUVkdSRCIsImNvZGUiOiJHUkQiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIERyYWNobWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR1IifSwKeyJpZCI6IlhUVklFUCIsImNvZGUiOiJJRVAiLCJkZXNjcmlwdGlvbiI6IklyaXNoIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lFIn0sCnsiaWQiOiJYVFZJTEEiLCJjb2RlIjoiSUxBIiwiZGVzY3JpcHRpb24iOiJJc3JhZWxpIGFnb3JvdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiWFRWSVRMIiwiY29kZSI6IklUTCIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiBMaXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lUIn0sCnsiaWQiOiJYVFZLV0YiLCJjb2RlIjoiS1dGIiwiZGVzY3JpcHRpb24iOiJLdXdhaXRpIGZpbHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IlhUVkxVRiIsImNvZGUiOiJMVUYiLCJkZXNjcmlwdGlvbiI6Ikx1eGVtYm91cmdpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFUifSwKeyJpZCI6IlhUVk5MRyIsImNvZGUiOiJOTEciLCJkZXNjcmlwdGlvbiI6IkR1dGNoIEd1aWxkZXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTkwifSwKeyJpZCI6IlhUVlBURSIsImNvZGUiOiJQVEUiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgRXNjdWRvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BUIn0sCnsiaWQiOiJYVFZTSVQiLCJjb2RlIjoiU0lUIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gVG9sYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0kifSwKeyJpZCI6IlhUVlVTWCIsImNvZGUiOiJVU1giLCJkZXNjcmlwdGlvbiI6IlUuUy4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVVMifSwKeyJpZCI6IlhUVlpBQyIsImNvZGUiOiJaQUMiLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEFmcmljYW4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IllFUiIsImNvZGUiOiJZRVIiLCJkZXNjcmlwdGlvbiI6IlllbWVuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1lFIn0sCnsiaWQiOiJaQVIiLCJjb2RlIjoiWkFSIiwiZGVzY3JpcHRpb24iOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IlpNVyIsImNvZGUiOiJaTVciLCJkZXNjcmlwdGlvbiI6IlphbWJpYW4gS3dhY2hhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1pNIn0KXSwKInVuaXRzIjogWwp7ImlkIjoiMTAwS0dNIiwibmFtZSI6IjEwMGtnIiwiZGVzY3JpcHRpb24iOiIxMDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjEwS0dNIiwibmFtZSI6IjEwa2ciLCJkZXNjcmlwdGlvbiI6IjEwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiIyMEtHTSIsIm5hbWUiOiIyMGtnIiwiZGVzY3JpcHRpb24iOiIyMCBraWxvZ3JhbXMiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiNDBLR00iLCJuYW1lIjoiNDBrZyIsImRlc2NyaXB0aW9uIjoiNDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjYwS0dNIiwibmFtZSI6IjYwa2ciLCJkZXNjcmlwdGlvbiI6IjYwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUFoiLCJuYW1lIjoiYXBveiIsImRlc2NyaXB0aW9uIjoidHJveSBvdW5jZSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUlJPQkEiLCJuYW1lIjoiYXJyb2JhIiwiZGVzY3JpcHRpb24iOiJhcnJvYmEiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiQkxEIiwibmFtZSI6IkJMRCIsImRlc2NyaXB0aW9uIjoiZHJ5IGJhcnJlbCAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQkxMIiwibmFtZSI6IkJMTCIsImRlc2NyaXB0aW9uIjoiYmFycmVsIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJCTExQREFZIiwibmFtZSI6IkJMTC9kYXkiLCJkZXNjcmlwdGlvbiI6ImJhcnJlbCBwZXIgZGF5IiwidHlwZSI6ImJsbHBlcmRheSJ9LAp7ImlkIjoiQlJUIiwibmFtZSI6IkJSVCIsImRlc2NyaXB0aW9uIjoiYmlydGggcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ0aG91c2FuZHBlb3BsZSJ9LAp7ImlkIjoiQlRVIiwibmFtZSI6IkJ0dSIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCB0aGVybWFsIHVuaXQiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJCVUEiLCJuYW1lIjoiQlVBIiwiZGVzY3JpcHRpb24iOiJidXNoZWwgKFVTKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkJVSSIsIm5hbWUiOiJCVUkiLCJkZXNjcmlwdGlvbiI6ImJ1c2hlbCAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQ0FQIiwibmFtZSI6IkNBUCIsImRlc2NyaXB0aW9uIjoiY29tcGFueSBhbmQgcGVyc29uIiwidHlwZSI6ImNvbXBhbnlhbmRwZXJzb24ifSwKeyJpZCI6IkNBU0VTIiwibmFtZSI6IkNhc2VzLzEwMDAwIiwiZGVzY3JpcHRpb24iOiJjYXNlcyBwZXIgMTAwMDAgcGVvcGxlIiwidHlwZSI6ImNhc2VzcGVyMTAwMDAifSwKeyJpZCI6IkNNUE5ZIiwibmFtZSI6IkNNUE5ZIiwiZGVzY3JpcHRpb24iOiJjb21wYW55IiwidHlwZSI6ImNvbXBhbnkifSwKeyJpZCI6IkNNUSIsIm5hbWUiOiJjbTMiLCJkZXNjcmlwdGlvbiI6ImNtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkNOVFJUIiwibmFtZSI6ImNvbnRyYWN0IiwiZGVzY3JpcHRpb24iOiJjb250cmFjdCIsInR5cGUiOiJjb250cmFjdCJ9LAp7ImlkIjoiQ1JMIiwibmFtZSI6IkNSTCIsImRlc2NyaXB0aW9uIjoiY2FybG9hZCIsInR5cGUiOiJjYXJsb2FkIn0sCnsiaWQiOiJDV0EiLCJuYW1lIjoiQ1dBIiwiZGVzY3JpcHRpb24iOiJodW5kcmVkd2VpZ2h0IFVTIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IkNXSSIsIm5hbWUiOiJDV0kiLCJkZXNjcmlwdGlvbiI6Imh1bmRyZWR3ZWlnaHQgVUsiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFHIiwibmFtZSI6ImRhZyIsImRlc2NyaXB0aW9uIjoiZGVjYWdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFZIiwibmFtZSI6ImRheSIsImRlc2NyaXB0aW9uIjoiZGF5IiwidHlwZSI6InRpbWUifSwKeyJpZCI6IkRFR0MiLCJuYW1lIjoiREVHQyIsImRlc2NyaXB0aW9uIjoiZGVncmVlcyBDZWxzaXVzIiwidHlwZSI6InRlbXBlcmF0dXJlIn0sCnsiaWQiOiJET1oiLCJuYW1lIjoiRE9aIiwiZGVzY3JpcHRpb24iOiJkb3plbiIsInR5cGUiOiJkb3plbiJ9LAp7ImlkIjoiRVVBIiwibmFtZSI6IkVVQSIsImRlc2NyaXB0aW9uIjoiRVUgYWxsb3dhbmNlIiwidHlwZSI6ImFsbG93YW5jZSJ9LAp7ImlkIjoiRlRRIiwibmFtZSI6ImZ0MyIsImRlc2NyaXB0aW9uIjoiZnQzIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR0pPIiwibmFtZSI6ImdKIiwiZGVzY3JpcHRpb24iOiJnaWdham91bGUiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJHTEQiLCJuYW1lIjoiR0xEIiwiZGVzY3JpcHRpb24iOiJkcnkgZ2FsbG9uIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJHTEkiLCJuYW1lIjoiR0xJIiwiZGVzY3JpcHRpb24iOiJnYWxsb24gKFVLKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkdMTCIsIm5hbWUiOiJHTEwiLCJkZXNjcmlwdGlvbiI6ImdhbGxvbiAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR1JNIiwibmFtZSI6ImciLCJkZXNjcmlwdGlvbiI6ImdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiR1dIIiwibmFtZSI6IkdXaCIsImRlc2NyaXB0aW9uIjoiZ2lnYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IkhJUkUiLCJuYW1lIjoiSGlyZSIsImRlc2NyaXB0aW9uIjoiaGlyZSIsInR5cGUiOiJoaXJlIn0sCnsiaWQiOiJITFQiLCJuYW1lIjoiaGwiLCJkZXNjcmlwdGlvbiI6ImhlY3RvbGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJIT1VSIiwibmFtZSI6ImhvdXIiLCJkZXNjcmlwdGlvbiI6ImhvdXIiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiSFMiLCJuYW1lIjoiSG91c2UiLCJkZXNjcmlwdGlvbiI6ImhvdXNlIiwidHlwZSI6ImhvdXNlIn0sCnsiaWQiOiJIU0giLCJuYW1lIjoiSFNIIiwiZGVzY3JpcHRpb24iOiJob3VzZWhvbGQiLCJ0eXBlIjoiaG91c2Vob2xkIn0sCnsiaWQiOiJIU0kiLCJuYW1lIjoiSFNJIiwiZGVzY3JpcHRpb24iOiJob3VzaW5nIGludmVudG9yeSIsInR5cGUiOiJob3VzaW5naW52ZW50b3J5In0sCnsiaWQiOiJJTkQiLCJuYW1lIjoiSU5EIiwiZGVzY3JpcHRpb24iOiJpbmRpY2F0b3IiLCJ0eXBlIjoiaW5kaWNhdG9yIn0sCnsiaWQiOiJJUCIsIm5hbWUiOiJJUCIsImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyIsInR5cGUiOiJpcCJ9LAp7ImlkIjoiSkJPIiwibmFtZSI6IkpCTyIsImRlc2NyaXB0aW9uIjoiam9iIG9wZW5pbmciLCJ0eXBlIjoiam9ib3BlbmluZyJ9LAp7ImlkIjoiSkxDIiwibmFtZSI6IkpMQyIsImRlc2NyaXB0aW9uIjoiam9ibGVzcyBjbGFpbSIsInR5cGUiOiJqb2JsZXNzY2xhaW0ifSwKeyJpZCI6IkpPVSIsIm5hbWUiOiJKIiwiZGVzY3JpcHRpb24iOiJqb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktCUFMiLCJuYW1lIjoia2JwcyIsImRlc2NyaXB0aW9uIjoia2lsb2JpdCBwZXIgc2Vjb25kIiwidHlwZSI6Im5ldHdvcmtiYW5kd2l0aCJ9LAp7ImlkIjoiS0dNIiwibmFtZSI6ImtnIiwiZGVzY3JpcHRpb24iOiJraWxvZ3JhbSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJLSk8iLCJuYW1lIjoia0oiLCJkZXNjcmlwdGlvbiI6ImtpbG9qb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktXSCIsIm5hbWUiOiJrV2giLCJkZXNjcmlwdGlvbiI6ImtpbG93YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJMQUQiLCJuYW1lIjoiTEFEIiwiZGVzY3JpcHRpb24iOiJsYXlvZmYgYW5kIGRpc2NoYXJnZSIsInR5cGUiOiJsYXlvZmZhbmRkaXNjaGFyZ2UifSwKeyJpZCI6IkxCUiIsIm5hbWUiOiJsYiIsImRlc2NyaXB0aW9uIjoicG91bmQiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiTFROIiwibmFtZSI6Imx0IiwiZGVzY3JpcHRpb24iOiJsb25nIHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJMVFIiLCJuYW1lIjoibCIsImRlc2NyaXB0aW9uIjoibGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNQSIsIm5hbWUiOiJtb3J0Z2FnZSBhcGwuIiwiZGVzY3JpcHRpb24iOiJtb3J0Z2FnZSBhcHBsaWNhdGlvbiIsInR5cGUiOiJtb3J0Z2FnZWFwcGxpY2F0aW9uIn0sCnsiaWQiOiJNQkYiLCJuYW1lIjoiTUJGIiwiZGVzY3JpcHRpb24iOiIxMDAwIGJvYXJkIGZlZXQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNTUJUVSIsIm5hbWUiOiJNTUJ0dSIsImRlc2NyaXB0aW9uIjoibWlsbGlvbiBCcml0aXNoIHRoZXJtYWwgdW5pdCIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1NVFIiLCJuYW1lIjoiTWlsbGltZXRlciIsImRlc2NyaXB0aW9uIjoibWlsbGltZXRlciIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik1PTlRIIiwibmFtZSI6Im1vbnRoIiwiZGVzY3JpcHRpb24iOiJtb250aCIsInR5cGUiOiJ0aW1lIn0sCnsiaWQiOiJNVCIsIm5hbWUiOiJNVCIsImRlc2NyaXB0aW9uIjoibWV0cmljIHRvbm5lIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik1USyIsIm5hbWUiOiJtMiIsImRlc2NyaXB0aW9uIjoibTIiLCJ0eXBlIjoiYXJlYSJ9LAp7ImlkIjoiTVRRIiwibmFtZSI6Im0zIiwiZGVzY3JpcHRpb24iOiJtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6Ik1XRCIsIm5hbWUiOiJNV2QiLCJkZXNjcmlwdGlvbiI6Im1lZ2F3YXR0IGRheSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1XSCIsIm5hbWUiOiLQnFdoIiwiZGVzY3JpcHRpb24iOiJtZWdhd2F0dCBob3VyIiwidHlwZSI6ImVuZXJneSJ9LAp7ImlkIjoiTkJMIiwibmFtZSI6Ik5CTCIsImRlc2NyaXB0aW9uIjoibmV0IGJhbGFuY2UiLCJ0eXBlIjoibmV0YmFsYW5jZSJ9LAp7ImlkIjoiTk1JIiwibmFtZSI6Ik5NSSIsImRlc2NyaXB0aW9uIjoibmF1dGljYWwgbWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik9OWiIsIm5hbWUiOiJPTloiLCJkZXNjcmlwdGlvbiI6Im91bmNlIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik9aQSIsIm5hbWUiOiJPWkEiLCJkZXNjcmlwdGlvbiI6ImZsdWlkIG91bmNlIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJPWkkiLCJuYW1lIjoiT1pJIiwiZGVzY3JpcHRpb24iOiJmbHVpZCBvdW5jZSAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiUEFZUk9MTCIsIm5hbWUiOiJQYXlyb2xsIiwiZGVzY3JpcHRpb24iOiJwYXlyb2xsIiwidHlwZSI6InBheXJvbGwifSwKeyJpZCI6IlBDVCIsIm5hbWUiOiIlIiwiZGVzY3JpcHRpb24iOiJwZXJjZW50IiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVERZIiwibmFtZSI6IkRpc2NvdW50IHlpZWxkLCAlIiwiZGVzY3JpcHRpb24iOiJkaXNjb3VudCB5aWVsZCIsInR5cGUiOiJwZXJjZW50In0sCnsiaWQiOiJQQ1RHRFAiLCJuYW1lIjoiJSBvZiBHRFAiLCJkZXNjcmlwdGlvbiI6InBlcmNlbnQgb2YgR0RQIiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVFBBUiIsIm5hbWUiOiIlIG9mIHBhciIsImRlc2NyaXB0aW9uIjoicGVyY2VudCBvZiBwYXIiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUENUWVRNIiwibmFtZSI6IllUTSwgJSIsImRlc2NyaXB0aW9uIjoieWllbGQgdG8gbWF0dXJpdHkiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUEhUUCIsIm5hbWUiOiJQSFRQIiwiZGVzY3JpcHRpb24iOiJwZXIgMTAwIDAwMCBwZW9wbGUiLCJ0eXBlIjoicGVyMTAwMDAwcGVvcGxlIn0sCnsiaWQiOiJQTVAiLCJuYW1lIjoiUE1QIiwiZGVzY3JpcHRpb24iOiJwZXIgb25lIG1pbGxpb24gcGVvcGxlIiwidHlwZSI6InBlcm9uZW1pbGxpb25wZW9wbGUifSwKeyJpZCI6IlBPSU5UIiwibmFtZSI6InBvaW50IiwiZGVzY3JpcHRpb24iOiJwb2ludCIsInR5cGUiOiJwb2ludCJ9LAp7ImlkIjoiUFBMIiwibmFtZSI6IlBQTCIsImRlc2NyaXB0aW9uIjoicGVvcGxlIiwidHlwZSI6InBlb3BsZSJ9LAp7ImlkIjoiUFNOIiwibmFtZSI6IlBTTiIsImRlc2NyaXB0aW9uIjoicGVyc29uIiwidHlwZSI6InBlcnNvbiJ9LAp7ImlkIjoiUFRQIiwibmFtZSI6IlBUUCIsImRlc2NyaXB0aW9uIjoicGVyIDEwMDAgcGVvcGxlIiwidHlwZSI6InBlcjEwMDBwZW9wbGUifSwKeyJpZCI6IlJBVElPIiwibmFtZSI6IlJhdGlvIiwiZGVzY3JpcHRpb24iOiJyYXRpbyIsInR5cGUiOiJyYXRpbyJ9LAp7ImlkIjoiUlBNSSIsIm5hbWUiOiJSUE1JIiwiZGVzY3JpcHRpb24iOiJyZXZlbnVlIHBhc3NlbmdlciBtaWxlIiwidHlwZSI6InJldmVudWVwYXNzZW5nZXJtaWxlIn0sCnsiaWQiOiJTRVAiLCJuYW1lIjoiU0VQIiwiZGVzY3JpcHRpb24iOiJzZXBhcmFpb24iLCJ0eXBlIjoic2VwYXJhdGlvbiJ9LAp7ImlkIjoiU0hBUkUiLCJuYW1lIjoic2hhcmUiLCJkZXNjcmlwdGlvbiI6InNoYXJlIiwidHlwZSI6InNoYXJlIn0sCnsiaWQiOiJTTUkiLCJuYW1lIjoiTWlsZSIsImRlc2NyaXB0aW9uIjoibWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6IlNUTiIsIm5hbWUiOiJTVE4iLCJkZXNjcmlwdGlvbiI6InNob3J0IHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJUQ00iLCJuYW1lIjoidGNtIiwiZGVzY3JpcHRpb24iOiJ0aG91c2FuZCBjdWJpYyBtZXRyZXMiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJURlIiLCJuYW1lIjoiVEZSIiwiZGVzY3JpcHRpb24iOiJ0b3RhbCBmZXJ0aWxpdHkgcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ3b21hbiJ9LAp7ImlkIjoiVElWIiwibmFtZSI6IlRJViIsImRlc2NyaXB0aW9uIjoiU0lQUkkgVElWIiwidHlwZSI6InNpcHJpdGl2In0sCnsiaWQiOiJUTkUiLCJuYW1lIjoidCIsImRlc2NyaXB0aW9uIjoidG9ubmUiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiVFdIIiwibmFtZSI6IlRXaCIsImRlc2NyaXB0aW9uIjoidGVyYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IlRoR0IiLCJuYW1lIjoidGhhaWdvbGRiYWh0IiwiZGVzY3JpcHRpb24iOiJ0aGFpIGdvbGQgYmFodCIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJVS0EiLCJuYW1lIjoiVUtBIiwiZGVzY3JpcHRpb24iOiJVSyBhbGxvd2FuY2UiLCJ0eXBlIjoiYWxsb3dhbmNlIn0sCnsiaWQiOiJVTklUIiwibmFtZSI6InVuaXQiLCJkZXNjcmlwdGlvbiI6InVuaXQiLCJ0eXBlIjoidW5pdCJ9LAp7ImlkIjoiVkNOQ1kiLCJuYW1lIjoiVkNOQ1kiLCJkZXNjcmlwdGlvbiI6ImpvYiB2YWNhbmNpZXMiLCJ0eXBlIjoidmFjYW5jeSJ9LAp7ImlkIjoiV0NEIiwibmFtZSI6ImNvcmQiLCJkZXNjcmlwdGlvbiI6IkNvcmQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJXRUVLIiwibmFtZSI6IndlZWsiLCJkZXNjcmlwdGlvbiI6IndlZWsiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiV0hSIiwibmFtZSI6IldoIiwiZGVzY3JpcHRpb24iOiJ3YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJZRUFSIiwibmFtZSI6InllYXIiLCJkZXNjcmlwdGlvbiI6InllYXIiLCJ0eXBlIjoidGltZSJ9Cl0KfQo="}},"time_used":35,"timings":{"blocked":-1,"dns":14,"connect":12,"send":0,"wait":2,"receive":-1,"ssl":7},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
